2 1 3 4 7 11 18 29 47 76 123 199 322 521 843 1364 2207 3571 5778 9349 15127 24476 39603 64079 103682 167761 271443 439204 710647 1149851 1860498 3010349 4870847 7881196 12752043 20633239 33385282 54018521 87403803 141422324 228826127 370248451 599074578 969323029 1568397607 2537720636 4106118243 6643838879 10749957122 17393796001 28143753123 45537549124 73681302247 119218851371 192900153618 312119004989 505019158607 817138163596 1322157322203 2139295485799 3461452808002 5600748293801 9062201101803 14662949395604 23725150497407 38388099893011 62113250390418 100501350283429 162614600673847 263115950957276 425730551631123 688846502588399 1114577054219522 1803423556807921 2918000611027443 4721424167835364 7639424778862807 12360848946698171 20000273725560978 32361122672259149 52361396397820127 84722519070079276 137083915467899403 221806434537978679 358890350005878082 580696784543856761 939587134549734843 1520283919093591604 2459871053643326447 3980154972736918051 6440026026380244498 10420180999117162549 16860207025497407047 27280388024614569596 44140595050111976643 71420983074726546239 115561578124838522882 186982561199565069121 302544139324403592003 489526700523968661124 792070839848372253127 1281597540372340914251 2073668380220713167378 3355265920593054081629 5428934300813767249007 8784200221406821330636 14213134522220588579643 22997334743627409910279 37210469265847998489922 60207804009475408400201 97418273275323406890123 157626077284798815290324 255044350560122222180447 412670427844921037470771 667714778405043259651218 1080385206249964297121989 1748099984655007556773207 2828485190904971853895196 4576585175559979410668403 7405070366464951264563599 11981655542024930675232002 19386725908489881939795601 31368381450514812615027603 50755107359004694554823204 82123488809519507169850807 132878596168524201724674011 215002084978043708894524818 347880681146567910619198829 562882766124611619513723647 910763447271179530132922476 1473646213395791149646646123 2384409660666970679779568599 3858055874062761829426214722 6242465534729732509205783321 10100521408792494338631998043 16342986943522226847837781364 26443508352314721186469779407 42786495295836948034307560771 69230003648151669220777340178 112016498943988617255084900949 181246502592140286475862241127 293263001536128903730947142076 474509504128269190206809383203 767772505664398093937756525279 1242282009792667284144565908482 2010054515457065378082322433761 3252336525249732662226888342243 5262391040706798040309210776004 8514727565956530702536099118247 13777118606663328742845309894251 22291846172619859445381409012498 36068964779283188188226718906749 58360810951903047633608127919247 94429775731186235821834846825996 152790586683089283455442974745243 247220362414275519277277821571239 400010949097364802732720796316482 647231311511640322009998617887721 1047242260609005124742719414204203 1694473572120645446752718032091924 2741715832729650571495437446296127 4436189404850296018248155478388051 7177905237579946589743592924684178 11614094642430242607991748403072229 18791999880010189197735341327756407 30406094522440431805727089730828636 49198094402450621003462431058585043 79604188924891052809189520789413679 128802283327341673812651951847998722 208406472252232726621841472637412401 337208755579574400434493424485411123 545615227831807127056334897122823524 882823983411381527490828321608234647 1428439211243188654547163218731058171 2311263194654570182037991540339292818 3739702405897758836585154759070350989 6050965600552329018623146299409643807 9790668006450087855208301058479994796 15841633607002416873831447357889638603 25632301613452504729039748416369633399 41473935220454921602871195774259272002 67106236833907426331910944190628905401 108580172054362347934782139964888177403 175686408888269774266693084155517082804 284266580942632122201475224120405260207 459952989830901896468168308275922343011 744219570773534018669643532396327603218 1204172560604435915137811840672249946229 1948392131377969933807455373068577549447 3152564691982405848945267213740827495676 5100956823360375782752722586809405045123 8253521515342781631697989800550232540799 13354478338703157414450712387359637585922 21607999854045939046148702187909870126721 34962478192749096460599414575269507712643 56570478046795035506748116763179377839364 91532956239544131967347531338448885552007 148103434286339167474095648101628263391371 239636390525883299441443179440077148943378 387739824812222466915538827541705412334749 627376215338105766356982006981782561278127 1015116040150328233272520834523487973612876 1642492255488433999629502841505270534891003 2657608295638762232902023676028758508503879 4300100551127196232531526517534029043394882 6957708846765958465433550193562787551898761 11257809397893154697965076711096816595293643 18215518244659113163398626904659604147192404 29473327642552267861363703615756420742486047 47688845887211381024762330520416024889678451 77162173529763648886126034136172445632164498 124851019416975029910888364656588470521842949 202013192946738678797014398792760916154007447 326864212363713708707902763449349386675850396 528877405310452387504917162242110302829857843 855741617674166096212819925691459689505708239 1384619022984618483717737087933569992335566082 2240360640658784579930557013625029681841274321 3624979663643403063648294101558599674176840403 5865340304302187643578851115183629356018114724 9490319967945590707227145216742229030194955127 15355660272247778350805996331925858386213069851 24845980240193369058033141548668087416408024978 40201640512441147408839137880593945802621094829 65047620752634516466872279429262033219029119807 105249261265075663875711417309855979021650214636 170296882017710180342583696739118012240679334443 275546143282785844218295114048973991262329549079 445843025300496024560878810788092003503008883522 721389168583281868779173924837065994765338432601 1167232193883777893340052735625157998268347316123 1888621362467059762119226660462223993033685748724 3055853556350837655459279396087381991302033064847 4944474918817897417578506056549605984335718813571 8000328475168735073037785452636987975637751878418 12944803393986632490616291509186593959973470691989 20945131869155367563654076961823581935611222570407 33889935263142000054270368471010175895584693262396 54835067132297367617924445432833757831195915832803 88725002395439367672194813903843933726780609095199 143560069527736735290119259336677691557976524928002 232285071923176102962314073240521625284757134023201 375845141450912838252433332577199316842733658951203 608130213374088941214747405817720942127490792974404 983975354825001779467180738394920258970224451925607 1592105568199090720681928144212641201097715244900011 2576080923024092500149108882607561460067939696825618 4168186491223183220831037026820202661165654941725629 6744267414247275720980145909427764121233594638551247 10912453905470458941811182936247966782399249580276876 17656721319717734662791328845675730903632844218828123 28569175225188193604602511781923697686032093799104999 46225896544905928267393840627599428589664938017933122 74795071770094121871996352409523126275697031817038121 121020968315000050139390193037122554865361969834971243 195816040085094172011386545446645681141059001652009364 316837008400094222150776738483768236006420971486980607 512653048485188394162163283930413917147479973138989971 829490056885282616312940022414182153153900944625970578 1342143105370471010475103306344596070301380917764960549 2171633162255753626788043328758778223455281862390931127 3513776267626224637263146635103374293756662780155891676 5685409429881978264051189963862152517211944642546822803 9199185697508202901314336598965526810968607422702714479 14884595127390181165365526562827679328180552065249537282 24083780824898384066679863161793206139149159487952251761 38968375952288565232045389724620885467329711553201789043 63052156777186949298725252886414091606478871041154040804 102020532729475514530770642611034977073808582594355829847 165072689506662463829495895497449068680287453635509870651 267093222236137978360266538108484045754096036229865700498 432165911742800442189762433605933114434383489865375571149 699259133978938420550028971714417160188479526095241271647 1131425045721738862739791405320350274622863015960616842796 1830684179700677283289820377034767434811342542055858114443 2962109225422416146029611782355117709434205558016474957239 4792793405123093429319432159389885144245548100072333071682 7754902630545509575349043941745002853679753658088808028921 12547696035668603004668476101134887997925301758161141100603 20302598666214112580017520042879890851605055416249949129524 32850294701882715584685996144014778849530357174411090230127 53152893368096828164703516186894669701135412590661039359651 86003188069979543749389512330909448550665769765072129589778 139156081438076371914093028517804118251801182355733168949429 225159269508055915663482540848713566802466952120805298539207 364315350946132287577575569366517685054268134476538467488636 589474620454188203241058110215231251856735086597343766027843 953789971400320490818633679581748936911003221073882233516479 1543264591854508694059691789796980188767738307671225999544322 2497054563254829184878325469378729125678741528745108233060801 4040319155109337878938017259175709314446479836416334232605123 6537373718364167063816342728554438440125221365161442465665924 10577692873473504942754359987730147754571701201577776698271047 17115066591837672006570702716284586194696922566739219163936971 27692759465311176949325062704014733949268623768316995862208018 44807826057148848955895765420299320143965546335056215026144989 72500585522460025905220828124314054093234170103373210888353007 117308411579608874861116593544613374237199716438429425914497996 189808997102068900766337421668927428330433886541802636802851003 307117408681677775627454015213540802567633602980232062717348999 496926405783746676393791436882468230898067489522034699520200002 804043814465424452021245452096009033465701092502266762237549001 1300970220249171128415036888978477264363768582024301461757749003 2105014034714595580436282341074486297829469674526568223995298004 3405984254963766708851319230052963562193238256550869685753047007 5510998289678362289287601571127449860022707931077437909748345011 8916982544642128998138920801180413422215946187628307595501392018 14427980834320491287426522372307863282238654118705745505249737029 23344963378962620285565443173488276704454600306334053100751129047 37772944213283111572991965545796139986693254425039798606000866076 61117907592245731858557408719284416691147854731373851706751995123 98890851805528843431549374265080556677841109156413650312752861199 160008759397774575290106782984364973368988963887787502019504856322 258899611203303418721656157249445530046830073044201152332257717521 418908370601077994011762940233810503415819036931988654351762573843 677807981804381412733419097483256033462649109976189806684020291364 1096716352405459406745182037717066536878468146908178461035782865207 1774524334209840819478601135200322570341117256884368267719803156571 2871240686615300226223783172917389107219585403792546728755586021778 4645765020825141045702384308117711677560702660676914996475389178349 7517005707440441271926167481035100784780288064469461725230975200127 12162770728265582317628551789152812462340990725146376721706364378476 19679776435706023589554719270187913247121278789615838446937339578603 31842547163971605907183271059340725709462269514762215168643703957079 51522323599677629496737990329528638956583548304378053615581043535682 83364870763649235403921261388869364666045817819140268784224747492761 134887194363326864900659251718398003622629366123518322399805791028443 218252065126976100304580513107267368288675183942658591184030538521204 353139259490302965205239764825665371911304550066176913583836329549647 571391324617279065509820277932932740199979734008835504767866868070851 924530584107582030715060042758598112111284284075012418351703197620498 1495921908724861096224880320691530852311264018083847923119570065691349 2420452492832443126939940363450128964422548302158860341471273263311847 3916374401557304223164820684141659816733812320242708264590843329003196 6336826894389747350104761047591788781156360622401568606062116592315043 10253201295947051573269581731733448597890172942644276870652959921318239 16590028190336798923374342779325237379046533565045845476715076513633282 26843229486283850496643924511058685976936706507690122347368036434951521 43433257676620649420018267290383923355983240072735967824083112948584803 70276487162904499916662191801442609332919946580426090171451149383536324 113709744839525149336680459091826532688903186653162057995534262332121127 183986232002429649253342650893269142021823133233588148166985411715657451 297695976841954798590023109985095674710726319886750206162519674047778578 481682208844384447843365760878364816732549453120338354329505085763436029 779378185686339246433388870863460491443275773007088560492024759811214607 1261060394530723694276754631741825308175825226127426914821529845574650636 2040438580217062940710143502605285799619100999134515475313554605385865243 3301498974747786634986898134347111107794926225261942390135084450960515879 5341937554964849575697041636952396907414027224396457865448639056346381122 8643436529712636210683939771299508015208953449658400255583723507306897001 13985374084677485786380981408251904922622980674054858121032362563653278123 22628810614390121997064921179551412937831934123713258376616086070960175124 36614184699067607783445902587803317860454914797768116497648448634613453247 59242995313457729780510823767354730798286848921481374874264534705573628371 95857180012525337563956726355158048658741763719249491371912983340187081618 155100175325983067344467550122512779457028612640730866246177518045760709989 250957355338508404908424276477670828115770376359980357618090501385947791607 406057530664491472252891826600183607572798989000711223864268019431708501596 657014886002999877161316103077854435688569365360691581482358520817656293203 1063072416667491349414207929678038043261368354361402805346626540249364794799 1720087302670491226575524032755892478949937719722094386828985061067021088002 2783159719337982575989731962433930522211306074083497192175611601316385882801 4503247022008473802565255995189823001161243793805591579004596662383406970803 7286406741346456378554987957623753523372549867889088771180208263699792853604 11789653763354930181120243952813576524533793661694680350184804926083199824407 19076060504701386559675231910437330047906343529583769121365013189782992678011 30865714268056316740795475863250906572440137191278449471549818115866192502418 49941774772757703300470707773688236620346480720862218592914831305649185180429 80807489040814020041266183636939143192786617912140668064464649421515377682847 130749263813571723341736891410627379813133098633002886657379480727164562863276 211556752854385743383003075047566523005919716545143554721844130148679940546123 342306016667957466724739966458193902819052815178146441379223610875844503409399 553862769522343210107743041505760425824972531723289996101067741024524443955522 896168786190300676832483007963954328644025346901436437480291351900368947364921 1450031555712643886940226049469714754468997878624726433581359092924893391320443 2346200341902944563772709057433669083113023225526162871061650444825262338685364 3796231897615588450712935106903383837582021104150889304643009537750155730005807 6142432239518533014485644164337052920695044329677052175704659982575418068691171 9938664137134121465198579271240436758277065433827941480347669520325573798696978 16081096376652654479684223435577489678972109763504993656052329502900991867388149 26019760513786775944882802706817926437249175197332935136399999023226565666085127 42100856890439430424567026142395416116221284960837928792452328526127557533473276 68120617404226206369449828849213342553470460158170863928852327549354123199558403 110221474294665636794016854991608758669691745119008792721304656075481680733031679 178342091698891843163466683840822101223162205277179656650156983624835803932590082 288563565993557479957483538832430859892853950396188449371461639700317484665621761 466905657692449323120950222673252961116016155673368106021618623325153288598211843 755469223686006803078433761505683821008870106069556555393080263025470773263833604 1222374881378456126199383984178936782124886261742924661414698886350624061862045447 1977844105064462929277817745684620603133756367812481216807779149376094835125879051 3200218986442919055477201729863557385258642629555405878222478035726718896987924498 5178063091507381984755019475548177988392398997367887095030257185102813732113803549 8378282077950301040232221205411735373651041626923292973252735220829532629101728047 13556345169457683024987240680959913362043440624291180068282992405932346361215531596 21934627247407984065219461886371648735694482251214473041535727626761878990317259643 35490972416865667090206702567331562097737922875505653109818720032694225351532791239 57425599664273651155426164453703210833432405126720126151354447659456104341850050882 92916572081139318245632867021034772931170328002225779261173167692150329693382842121 150342171745412969401059031474737983764602733128945905412527615351606434035232893003 243258743826552287646691898495772756695773061131171684673700783043756763728615735124 393600915571965257047750929970510740460375794260117590086228398395363197763848628127 636859659398517544694442828466283497156148855391289274759929181439119961492464363251 1030460574970482801742193758436794237616524649651406864846157579834483159256312991378 1667320234369000346436636586903077734772673505042696139606086761273603120748777354629 2697780809339483148178830345339871972389198154694103004452244341108086280005090346007 4365101043708483494615466932242949707161871659736799144058331102381689400753867700636 7062881853047966642794297277582821679551069814430902148510575443489775680758958046643 11427982896756450137409764209825771386712941474167701292568906545871465081512825747279 18490864749804416780204061487408593066264011288598603441079481989361240762271783793922 29918847646560866917613825697234364452976952762766304733648388535232705843784609541201 48409712396365283697817887184642957519240964051364908174727870524593946606056393335123 78328560042926150615431712881877321972217916814131212908376259059826652449841002876324 126738272439291434313249600066520279491458880865496121083104129584420599055897396211447 205066832482217584928681312948397601463676797679627333991480388644247251505738399087771 331805104921509019241930913014917880955135678545123455074584518228667850561635795299218 536871937403726604170612225963315482418812476224750789066064906872915102067374194386989 868677042325235623412543138978233363373948154769874244140649425101582952629009989686207 1405548979728962227583155364941548845792760630994625033206714331974498054696384184073196 2274226022054197850995698503919782209166708785764499277347363757076081007325394173759403 3679775001783160078578853868861331054959469416759124310554078089050579062021778357832599 5954001023837357929574552372781113264126178202523623587901441846126660069347172531592002 9633776025620518008153406241642444319085647619282747898455519935177239131368950889424601 15587777049457875937727958614423557583211825821806371486356961781303899200716123421016603 25221553075078393945881364856066001902297473441089119384812481716481138332085074310441204 40809330124536269883609323470489559485509299262895490871169443497785037532801197731457807 66030883199614663829490688326555561387806772703984610255981925214266175864886272041899011 106840213324150933713100011797045120873316071966880101127151368712051213397687469773356818 172871096523765597542590700123600682261122844670864711383133293926317389262573741815255829 279711309847916531255690711920645803134438916637744812510284662638368602660261211588612647 452582406371682128798281412044246485395561761308609523893417956564685991922834953403868476 732293716219598660053972123964892288530000677946354336403702619203054594583096164992481123 1184876122591280788852253536009138773925562439254963860297120575767740586505931118396349599 1917169838810879448906225659974031062455563117201318196700823194970795181089027283388830722 3102045961402160237758479195983169836381125556456282056997943770738535767594958401785180321 5019215800213039686664704855957200898836688673657600253698766965709330948683985685174011043 8121261761615199924423184051940370735217814230113882310696710736447866716278944086959191364 13140477561828239611087888907897571634054502903771482564395477702157197664962929772133202407 21261739323443439535511072959837942369272317133885364875092188438605064381241873859092393771 34402216885271679146598961867735514003326820037656847439487666140762262046204803631225596178 55663956208715118682110034827573456372599137171542212314579854579367326427446677490317989949 90066173093986797828708996695308970375925957209199059754067520720129588473651481121543586127 145730129302701916510819031522882426748525094380741272068647375299496914901098158611861576076 235796302396688714339528028218191397124451051589940331822714896019626503374749639733405162203 381526431699390630850347059741073823872976145970681603891362271319123418275847798345266738279 617322734096079345189875087959265220997427197560621935714077167338749921650597438078671900482 998849165795469976040222147700339044870403343531303539605439438657873339926445236423938638761 1616171899891549321230097235659604265867830541091925475319516605996623261577042674502610539243 2615021065687019297270319383359943310738233884623229014924956044654496601503487910926549178004 4231192965578568618500416619019547576606064425715154490244472650651119863080530585429159717247 6846214031265587915770736002379490887344298310338383505169428695305616464584018496355708895251 11077406996844156534271152621399038463950362736053537995413901345956736327664549081784868612498 17923621028109744450041888623778529351294661046391921500583330041262352792248567578140577507749 29001028024953900984313041245177567815245023782445459495997231387219089119913116659925446120247 46924649053063645434354929868956097166539684828837380996580561428481441912161684238066023627996 75925677078017546418667971114133664981784708611282840492577792815700531032074800897991469748243 122850326131081191853022900983089762148324393440120221489158354244181972944236485136057493376239 198776003209098738271690872097223427130109102051403061981736147059882503976311286034048963124482 321626329340179930124713773080313189278433495491523283470894501304064476920547771170106456500721 520402332549278668396404645177536616408542597542926345452630648363946980896859057204155419625203 842028661889458598521118418257849805686976093034449628923525149668011457817406828374261876125924 1362430994438737266917523063435386422095518690577375974376155798031958438714265885578417295751127 2204459656328195865438641481693236227782494783611825603299680947699969896531672713952679171877051 3566890650766933132356164545128622649878013474189201577675836745731928335245938599531096467628178 5771350307095128997794806026821858877660508257801027180975517693431898231777611313483775639505229 9338240957862062130150970571950481527538521731990228758651354439163826567023549913014872107133407 15109591264957191127945776598772340405199029989791255939626872132595724798801161226498647746638636 24447832222819253258096747170722821932737551721781484698278226571759551365824711139513519853772043 39557423487776444386042523769495162337936581711572740637905098704355276164625872366012167600410679 64005255710595697644139270940217984270674133433354225336183325276114827530450583505525687454182722 103562679198372142030181794709713146608610715144926965974088423980470103695076455871537855054593401 167567934908967839674321065649931130879284848578281191310271749256584931225527039377063542508776123 271130614107339981704502860359644277487895563723208157284360173237055034920603495248601397563369524 438698549016307821378823926009575408367180412301489348594631922493639966146130534625664940072145647 709829163123647803083326786369219685855075976024697505878992095730695001066734029874266337635515171 1148527712139955624462150712378795094222256388326186854473624018224334967212864564499931277707660818 1858356875263603427545477498748014780077332364350884360352616113955029968279598594374197615343175989 3006884587403559052007628211126809874299588752677071214826240132179364935492463158874128893050836807 4865241462667162479553105709874824654376921117027955575178856246134394903772061753248326508394012796 7872126050070721531560733921001634528676509869705026790005096378313759839264524912122455401444849603 12737367512737884011113839630876459183053430986732982365183952624448154743036586665370781909838862399 20609493562808605542674573551878093711729940856438009155189049002761914582301111577493237311283712002 33346861075546489553788413182754552894783371843170991520373001627210069325337698242864019221122574401 53956354638355095096462986734632646606513312699609000675562050629971983907638809820357256532406286403 87303215713901584650251399917387199501296684542779992195935052257182053232976508063221275753528860804 141259570352256679746714386652019846107809997242388992871497102887154037140615317883578532285935147207 228562786066158264396965786569407045609106681785168985067432155144336090373591825946799808039464008011 369822356418414944143680173221426891716916679027557977938929258031490127514207143830378340325399155218 598385142484573208540645959790833937326023360812726963006361413175826217887798969777178148364863163229 968207498902988152684326133012260829042940039840284940945290671207316345402006113607556488690262318447 1566592641387561361224972092803094766368963400653011903951652084383142563289805083384734637055125481676 2534800140290549513909298225815355595411903440493296844896942755590458908691811196992291125745387800123 4101392781678110875134270318618450361780866841146308748848594839973601471981616280377025762800513281799 6636192921968660389043568544433805957192770281639605593745537595564060380673427477369316888545901081922 10737585703646771264177838863052256318973637122785914342594132435537661852655043757746342651346414363721 17373778625615431653221407407486062276166407404425519936339670031101722233328471235115659539892315445643 28111364329262202917399246270538318595140044527211434278933802466639384085983514992862002191238729809364 45485142954877634570620653678024380871306451931636954215273472497741106319311986227977661731131045255007 73596507284139837488019899948562699466446496458848388494207274964380490405295501220839663922369775064371 119081650239017472058640553626587080337752948390485342709480747462121596724607487448817325653500820319378 192678157523157309546660453575149779804199444849333731203688022426502087129902988669656989575870595383749 311759807762174781605301007201736860141952393239819073913168769888623683854510476118474315229371415703127 504437965285332091151961460776886639946151838089152805116856792315125770984413464788131304805242011086876 816197773047506872757262467978623500088104231328971879030025562203749454838923940906605620034613426790003 1320635738332838963909223928755510140034256069418124684146882354518875225823337405694736924839855437876879 2136833511380345836666486396734133640122360300747096563176907916722624680662261346601342544874468864666882 3457469249713184800575710325489643780156616370165221247323790271241499906485598752296079469714324302543761 5594302761093530637242196722223777420278976670912317810500698187964124587147860098897422014588793167210643 9051772010806715437817907047713421200435593041077539057824488459205624493633458851193501484303117469754404 14646074771900246075060103769937198620714569711989856868325186647169749080781318950090923498891910636965047 23697846782706961512878010817650619821150162753067395926149675106375373574414777801284424983195028106719451 38343921554607207587938114587587818441864732465057252794474861753545122655196096751375348482086938743684498 62041768337314169100816125405238438263014895218124648720624536859920496229610874552659773465281966850403949 100385689891921376688754239992826256704879627683181901515099398613465618884806971304035121947368905594088447 162427458229235545789570365398064694967894522901306550235723935473386115114417845856694895412650872444492396 262813148121156922478324605390890951672774150584488451750823334086851733999224817160730017360019778038580843 425240606350392468267894970788955646640668673485795001986547269560237849113642663017424912772670650483073239 688053754471549390746219576179846598313442824070283453737370603647089583112867480178154930132690428521654082 1113294360821941859014114546968802244954111497556078455723917873207327432226510143195579842905361079004727321 1801348115293491249760334123148648843267554321626361909461288476854417015339377623373734773038051507526381403 2914642476115433108774448670117451088221665819182440365185206350061744447565887766569314615943412586531108724 4715990591408924358534782793266099931489220140808802274646494826916161462905265389943049388981464094057490127 7630633067524357467309231463383551019710885959991242639831701176977905910471153156512364004924876680588598851 12346623658933281825844014256649650951200106100800044914478196003894067373376418546455413393906340774646088978 19977256726457639293153245720033201970910992060791287554309897180871973283847571702967777398831217455234687829 32323880385390921118997259976682852922111098161591332468788093184766040657223990249423190792737558229880776807 52301137111848560412150505696716054893022090222382620023097990365638013941071561952390968191568775685115464636 84625017497239481531147765673398907815133188383973952491886083550404054598295552201814158984306333914996241443 136926154609088041943298271370114962708155278606356572514984073916042068539367114154205127175875109600111706079 221551172106327523474446037043513870523288466990330525006870157466446123137662666356019286160181443515107947522 358477326715415565417744308413628833231443745596687097521854231382488191677029780510224413336056553115219653601 580028498821743088892190345457142703754732212587017622528724388848934314814692446866243699496237996630327601123 938505825537158654309934653870771536986175958183704720050578620231422506491722227376468112832294549745547254724 1518534324358901743202124999327914240740908170770722342579303009080356821306414674242711812328532546375874855847 2457040149896060397512059653198685777727084128954427062629881629311779327798136901619179925160827096121422110571 3975574474254962140714184652526600018467992299725149405209184638392136149104551575861891737489359642497296966418 6432614624151022538226244305725285796195076428679576467839066267703915476902688477481071662650186738618719076989 10408189098405984678940428958251885814663068728404725873048250906096051626007240053342963400139546381116016043407 16840803722557007217166673263977171610858145157084302340887317173799967102909928530824035062789733119734735120396 27248992820962991896107102222229057425521213885489028213935568079896018728917168584166998462929279500850751163803 44089796543519999113273775486206229036379359042573330554822885253695985831827097114991033525719012620585486284199 71338789364482991009380877708435286461900572928062358768758453333592004560744265699158031988648292121436237448002 115428585908002990122654653194641515498279931970635689323581338587287990392571362814149065514367304742021723732201 186767375272485981132035530903076801960180504898698048092339791920879994953315628513307097503015596863457961180203 302195961180488971254690184097718317458460436869333737415921130508167985345886991327456163017382901605479684912404 488963336452974952386725715000795119418640941768031785508260922429047980299202619840763260520398498468937646092607 791159297633463923641415899098513436877101378637365522924182052937215965645089611168219423537781400074417331005011 1280122634086438876028141614099308556295742320405397308432442975366263945944292231008982684058179898543354977097618 2071281931719902799669557513197821993172843699042762831356625028303479911589381842177202107595961298617772308102629 3351404565806341675697699127297130549468586019448160139789068003669743857533674073186184791654141197161127285200247 5422686497526244475367256640494952542641429718490922971145693031973223769123055915363386899250102495778899593302876 8774091063332586151064955767792083092110015737939083110934761035642967626656729988549571690904243692940026878503123 14196777560858830626432212408287035634751445456430006082080454067616191395779785903912958590154346188718926471805999 22970868624191416777497168176079118726861461194369089193015215103259159022436515892462530281058589881658953350309122 37167646185050247403929380584366154361612906650799095275095669170875350418216301796375488871212936070377879822115121 60138514809241664181426548760445273088474367845168184468110884274134509440652817688838019152271525952036833172424243 97306160994291911585355929344811427450087274495967279743206553445009859858869119485213508023484462022414712994539364 157444675803533575766782478105256700538561642341135464211317437719144369299521937174051527175755987974451546166963607 254750836797825487352138407450068127988648916837102743954523991164154229158391056659265035199240449996866259161502971 412195512601359063118920885555324828527210559178238208165841428883298598457912993833316562374996437971317805328466578 666946349399184550471059293005392956515859476015340952120365420047452827616304050492581597574236887968184064489969549 1079141862000543613589980178560717785043070035193579160286206848930751426074217044325898159949233325939501869818436127 1746088211399728164061039471566110741558929511208920112406572268978204253690521094818479757523470213907685934308405676 2825230073400271777651019650126828526601999546402499272692779117908955679764738139144377917472703539847187804126841803 4571318284799999941712059121692939268160929057611419385099351386887159933455259233962857674996173753754873738435247479 7396548358200271719363078771819767794762928604013918657792130504796115613219997373107235592468877293602061542562089282 11967866643000271661075137893512707062923857661625338042891481891683275546675256607070093267465051047356935280997336761 19364415001200543380438216665332474857686786265639256700683612396479391159895253980177328859933928340958996823559426043 31332281644200815041513354558845181920610643927264594743575094288162666706570510587247422127398979388315932104556762804 50696696645401358421951571224177656778297430192903851444258706684642057866465764567424750987332907729274928928116188847 82028978289602173463464925783022838698908074120168446187833800972804724573036275154672173114731887117590861032672951651 132725674935003531885416497007200495477205504313072297632092507657446782439502039722096924102064794846865789960789140498 214754653224605705348881422790223334176113578433240743819926308630251507012538314876769097216796681964456650993462092149 347480328159609237234297919797423829653319082746313041452018816287698289452040354598866021318861476811322440954251232647 562234981384214942583179342587647163829432661179553785271945124917949796464578669475635118535658158775779091947713324796 909715309543824179817477262385070993482751743925866826723963941205648085916619024074501139854519635587101532901964557443 1471950290928039122400656604972718157312184405105420611995909066123597882381197693550136258390177794362880624849677882239 2381665600471863302218133867357789150794936149031287438719873007329245968297816717624637398244697429949982157751642439682 3853615891399902424618790472330507308107120554136708050715782073452843850679014411174773656634875224312862782601320321921 6235281491871765726836924339688296458902056703167995489435655080782089818976831128799411054879572654262844940352962761603 10088897383271668151455714812018803767009177257304703540151437154234933669655845539974184711514447878575707722954283083524 16324178875143433878292639151707100225911233960472699029587092235017023488632676668773595766394020532838552663307245845127 26413076258415102029748353963725903992920411217777402569738529389251957158288522208747780477908468411414260386261528928651 42737255133558535908040993115433004218831645178250101599325621624268980646921198877521376244302488944252813049568774773778 69150331391973637937789347079158908211752056396027504169064151013520937805209721086269156722210957355667073435830303702429 111887586525532173845830340194591912430583701574277605768389772637789918452130919963790532966513446299919886485399078476207 181037917917505811783619687273750820642335757970305109937453923651310856257340641050059689688724403655586959921229382178636 292925504443037985629450027468342733072919459544582715705843696289100774709471561013850222655237849955506846406628460654843 473963422360543797413069714742093553715255217514887825643297619940411630966812202063909912343962253611093806327857842833479 766888926803581783042519742210436286788174677059470541349141316229512405676283763077760134999200103566600652734486303488322 1240852349164125580455589456952529840503429894574358366992438936169924036643095965141670047343162357177694459062344146321801 2007741275967707363498109199162966127291604571633828908341580252399436442319379728219430182342362460744295111796830449810123 3248593625131832943953698656115495967795034466208187275334019188569360478962475693361100229685524817921989570859174596131924 5256334901099540307451807855278462095086639037842016183675599440968796921281855421580530412027887278666284682656005045942047 8504928526231373251405506511393958062881673504050203459009618629538157400244331114941630641713412096588274253515179642073971 13761263427330913558857314366672420157968312541892219642685218070506954321526186536522161053741299375254558936171184688016018 22266191953562286810262820878066378220849986045942423101694836700045111721770517651463791695454711471842833189686364330089989 36027455380893200369120135244738798378818298587834642744380054770552066043296704187985952749196010847097392125857549018106007 58293647334455487179382956122805176599668284633777065846074891470597177765067221839449744444650722318940225315543913348195996 94321102715348687548503091367543974978486583221611708590454946241149243808363926027435697193846733166037617441401462366302003 152614750049804174727886047490349151578154867855388774436529837711746421573431147866885441638497455484977842756945375714497999 246935852765152862276389138857893126556641451077000483026984783952895665381795073894321138832344188651015460198346838080800002 399550602814957037004275186348242278134796318932389257463514621664642086955226221761206580470841644135993302955292213795298001 646486455580109899280664325206135404691437770009389740490499405617537752337021295655527719303185832787008763153639051876098003 1046037058395066936284939511554377682826234088941778997954014027282179839292247517416734299774027476923002066108931265671396004 1692523513975176835565603836760513087517671858951168738444513432899717591629268813072262019077213309710010829262570317547494007 2738560572370243771850543348314890770343905947892947736398527460181897430921516330488996318851240786633012895371501583218890011 4431084086345420607416147185075403857861577806844116474843040893081615022550785143561258337928454096343023724634071900766384018 7169644658715664379266690533390294628205483754737064211241568353263512453472301474050254656779694882976036620005573483985274029 11600728745061084986682837718465698486067061561581180686084609246345127476023086617611512994708148979319060344639645384751658047 18770373403776749365949528251855993114272545316318244897326177599608639929495388091661767651487843862295096964645218868736932076 30371102148837834352632365970321691600339606877899425583410786845953767405518474709273280646195992841614157309284864253488590123 49141475552614583718581894222177684714612152194217670480736964445562407335013862800935048297683836703909254273930083122225522199 79512577701452418071214260192499376314951759072117096064147751291516174740532337510208328943879829545523411583214947375714112322 128654053254067001789796154414677061029563911266334766544884715737078582075546200311143377241563666249432665857145030497939634521 208166630955519419861010414607176437344515670338451862609032467028594756816078537821351706185443495794956077440359977873653746843 336820684209586421650806569021853498374079581604786629153917182765673338891624738132495083427007162044388743297505008371593381364 544987315165105841511816983629029935718595251943238491762949649794268095707703275953846789612450657839344820737864986245247128207 881807999374692263162623552650883434092674833548025120916866832559941434599328014086341873039457819883733564035369994616840509571 1426795314539798104674440536279913369811270085491263612679816482354209530307031290040188662651908477723078384773234980862087637778 2308603313914490367837064088930796803903944919039288733596683314914150964906359304126530535691366297606811948808604975478928147349 3735398628454288472511504625210710173715215004530552346276499797268360495213390594166719198343274775329890333581839956341015785127 6044001942368778840348568714141506977619159923569841079873183112182511460119749898293249734034641072936702282390444931819943932476 9779400570823067312860073339352217151334374928100393426149682909450871955333140492459968932377915848266592615972284888160959717603 15823402513191846153208642053493724128953534851670234506022866021633383415452890390753218666412556921203294898362729819980903650079 25602803084014913466068715392845941280287909779770627932172548931084255370786030883213187598790472769469887514335014708141863367682 41426205597206759619277357446339665409241444631440862438195414952717638786238921273966406265203029690673182412697744528122767017761 67029008681221673085346072839185606689529354411211490370367963883801894157024952157179593863993502460143069927032759236264630385443 108455214278428432704623430285525272098770799042652352808563378836519532943263873431146000129196532150816252339730503764387397403204 175484222959650105789969503124710878788300153453863843178931342720321427100288825588325593993190034610959322266763263000652027788647 283939437238078538494592933410236150887070952496516195987494721556840960043552699019471594122386566761775574606493766765039425191851 459423660197728644284562436534947029675371105950380039166426064277162387143841524607797188115576601372734896873257029765691452980498 743363097435807182779155369945183180562442058446896235153920785834003347187394223627268782237963168134510471479750796530730878172349 1202786757633535827063717806480130210237813164397276274320346850111165734331235748235065970353539769507245368353007826296422331152847 1946149855069343009842873176425313390800255222844172509474267635945169081518629971862334752591502937641755839832758622827153209325196 3148936612702878836906590982905443601038068387241448783794614486056334815849865720097400722945042707149001208185766449123575540478043 5095086467772221846749464159330756991838323610085621293268882122001503897368495691959735475536545644790757048018525071950728749803239 8244023080475100683656055142236200592876391997327070077063496608057838713218361412057136198481588351939758256204291521074304290281282 13339109548247322530405519301566957584714715607412691370332378730059342610586857104016871674018133996730515304222816593025033040084521 21583132628722423214061574443803158177591107604739761447395875338117181323805218516074007872499722348670273560427108114099337330365803 34922242176969745744467093745370115762305823212152452817728254068176523934392075620090879546517856345400788864649924707124370370450324 56505374805692168958528668189173273939896930816892214265124129406293705258197294136164887419017578694071062425077032821223707700816127 91427616982661914702995761934543389702202754029044667082852383474470229192589369756255766965535435039471851289726957528348078071266451 147932991788354083661524430123716663642099684845936881347976512880763934450786663892420654384553013733542913714803990349571785772082578 239360608771015998364520192058260053344302438874981548430828896355234163643376033648676421350088448773014765004530947877919863843349029 387293600559370082026044622181976716986402123720918429778805409235998098094162697541097075734641462506557678719334938227491649615431607 626654209330386080390564814240236770330704562595899978209634305591232261737538731189773497084729911279572443723865886105411513458780636 1013947809889756162416609436422213487317106686316818407988439714827230359831701428730870572819371373786130122443200824332903163074212243 1640602019220142242807174250662450257647811248912718386198074020418462621569240159920644069904101285065702566167066710438314676532992879 2654549829109898405223783687084663744964917935229536794186513735245692981400941588651514642723472658851832688610267534771217839607205122 4295151848330040648030957937747114002612729184142255180384587755664155602970181748572158712627573943917535254777334245209532516140198001 6949701677439939053254741624831777747577647119371791974571101490909848584371123337223673355351046602769367943387601779980750355747403123 11244853525769979701285699562578891750190376303514047154955689246574004187341305085795832067978620546686903198164936025190282871887601124 18194555203209918754540441187410669497768023422885839129526790737483852771712428423019505423329667149456271141552537805171033227635004247 29439408728979898455826140749989561247958399726399886284482479984057856959053733508815337491308287696143174339717473830361316099522605371 47633963932189817210366581937400230745726423149285725414009270721541709730766161931834842914637954845599445481270011635532349327157609618 77073372661169715666192722687389791993684822875685611698491750705599566689819895440650180405946242541742619820987485465893665426680214989 124707336593359532876559304624790022739411246024971337112501021427141276420586057372485023320584197387342065302257497101426014753837824607 201780709254529248542752027312179814733096068900656948810992772132740843110405952813135203726530439929084685123244982567319680180518039596 326488045847888781419311331936969837472507314925628285923493793559882119530992010185620227047114637316426750425502479668745694934355864203 528268755102418029962063359249149652205603383826285234734486565692622962641397962998755430773645077245511435548747462236065375114873903799 854756800950306811381374691186119489678110698751913520657980359252505082172389973184375657820759714561938185974249941904811070049229768002 1383025556052724841343438050435269141883714082578198755392466924945128044813787936183131088594404791807449621522997404140876445164103671801 2237782357003031652724812741621388631561824781330112276050447284197633126986177909367506746415164506369387807497247346045687515213333439803 3620807913055756494068250792056657773445538863908311031442914209142761171799965845550637835009569298176837429020244750186563960377437111604 5858590270058788146793063533678046405007363645238423307493361493340394298786143754918144581424733804546225236517492096232251475590770551407 9479398183114544640861314325734704178452902509146734338936275702483155470586109600468782416434303102723062665537736846418815435968207663011 15337988453173332787654377859412750583460266154385157646429637195823549769372253355386926997859036907269287902055228942651066911558978214418 24817386636287877428515692185147454761913168663531891985365912898306705239958362955855709414293340009992350567592965789069882347527185877429 40155375089461210216170070044560205345373434817917049631795550094130255009330616311242636412152376917261638469648194731720949259086164091847 64972761725749087644685762229707660107286603481448941617161462992436960249288979267098345826445716927253989037241160520790831606613349969276 105128136815210297860855832274267865452660038299365991248957013086567215258619595578340982238598093844515627506889355252511780865699514061123 170100898540959385505541594503975525559946641780814932866118476079004175507908574845439328065043810771769616544130515773302612472312864030399 275229035356169683366397426778243391012606680080180924115075489165571390766528170423780310303641904616285244051019871025814393338012378091522 445329933897129068871939021282218916572553321860995856981193965244575566274436745269219638368685715388054860595150386799117005810325242121921 720558969253298752238336448060462307585160001941176781096269454410146957040964915692999948672327620004340104646170257824931399148337620213443 1165888903150427821110275469342681224157713323802172638077463419654722523315401660962219587041013335392394965241320644624048404958662862335364 1886447872403726573348611917403143531742873325743349419173732874064869480356366576655219535713340955396735069887490902448979804107000482548807 3052336775554154394458887386745824755900586649545522057251196293719592003671768237617439122754354290789130035128811547073028209065663344884171 4938784647957880967807499304148968287643459975288871476424929167784461484028134814272658658467695246185865105016302449522008013172663827432978 7991121423512035362266386690894793043544046624834393533676125461504053487699903051890097781222049536974995140145113996595036222238327172317149 12929906071469916330073885995043761331187506600123265010101054629288514971728037866162756439689744783160860245161416446117044235410990999750127 20921027494981951692340272685938554374731553224957658543777180090792568459427940918052854220911794320135855385306530442712080457649318172067276 33850933566451868022414158680982315705919059825080923553878234720081083431155978784215610660601539103296715630467946888829124693060309171817403 54771961061433819714754431366920870080650613050038582097655414810873651890583919702268464881513333423432571015774477331541205150709627343884679 88622894627885687737168590047903185786569672875119505651533649530954735321739898486484075542114872526729286646242424220370329843769936515702082 143394855689319507451923021414824055867220285925158087749189064341828387212323818188752540423628205950161857662016901551911534994479563859586761 232017750317205195189091611462727241653789958800277593400722713872783122534063716675236615965743078476891144308259325772281864838249500375288843 375412606006524702641014632877551297521010244725435681149911778214611509746387534863989156389371284427053001970276227324193399832729064234875604 607430356323729897830106244340278539174800203525713274550634492087394632280451251539225772355114362903944146278535553096475264670978564610164447 982842962330254600471120877217829836695810448251148955700546270302006142026838786403214928744485647330997148248811780420668664503707628845040051 1590273318653984498301227121558108375870610651776862230251180762389400774307290037942440701099600010234941294527347333517143929174686193455204498 2573116280984239098772347998775938212566421100028011185951727032691406916334128824345655629844085657565938442776159113937812593678393822300244549 4163389599638223597073575120334046588437031751804873416202907795080807690641418862288096330943685667800879737303506447454956522853080015755449047 6736505880622462695845923119109984801003452851832884602154634827772214606975547686633751960787771325366818180079665561392769116531473838055693596 10899895480260686292919498239444031389440484603637758018357542622853022297616966548921848291731456993167697917383172008847725639384553853811142643 17636401360883148988765421358554016190443937455470642620512177450625236904592514235555600252519228318534516097462837570240494755916027691866836239 28536296841143835281684919597998047579884422059108400638869720073478259202209480784477448544250685311702214014846009579088220395300581545677978882 46172698202026984270450340956552063770328359514579043259381897524103496106801995020033048796769913630236730112308847149328715151216609237544815121 74708995043170819552135260554550111350212781573687443898251617597581755309011475804510497341020598941938944127154856728416935546517190783222794003 120881693245197803822585601511102175120541141088266487157633515121685251415813470824543546137790512572175674239463703877745650697733800020767609124 195590688288368623374720862065652286470753922661953931055885132719267006724824946629054043478811111514114618366618560606162586244250990803990403127 316472381533566427197306463576754461591295063750220418213518647840952258140638417453597589616601624086290292606082264483908236941984790824758012251 512063069821935050572027325642406748062048986412174349269403780560219264865463364082651633095412735600404910972700825090070823186235781628748415378 828535451355501477769333789219161209653344050162394767482922428401171523006101781536249222712014359686695203578783089573979060128220572453506427629 1340598521177436528341361114861567957715393036574569116752326208961390787871565145618900855807427095287100114551483914664049883314456354082254843007 2169133972532938006110694904080729167368737086736963884235248637362562310877666927155150078519441454973795318130267004238028943442676926535761270636 3509732493710374534452056018942297125084130123311533000987574846323953098749232072774050934326868550260895432681750918902078826757133280618016113643 5678866466243312540562750923023026292452867210048496885222823483686515409626898999929201012846310005234690750812017923140107770199810207153777384279 9188598959953687075014806941965323417536997333360029886210398330010468508376131072703251947173178555495586183493768842042186596956943487771793497922 14867465426196999615577557864988349709989864543408526771433221813696983918003030072632452960019488560730276934305786765182294367156753694925570882201 24056064386150686690592364806953673127526861876768556657643620143707452426379161145335704907192667116225863117799555607224480964113697182697364380123 38923529812347686306169922671942022837516726420177083429076841957404436344382191217968157867212155676956140052105342372406775331270450877622935262324 62979594198498372996762287478895695965043588296945640086720462101111888770761352363303862774404822793182003169904897979631256295384148060320299642447 101903124010846059302932210150837718802560314717122723515797304058516325115143543581272020641616978470138143222010240352038031626654598937943234904771 164882718209344432299694497629733414767603903014068363602517766159628213885904895944575883416021801263320146391915138331669287922038746998263534547218 266785842220190491602626707780571133570164217731191087118315070218144539001048439525847904057638779733458289613925378683707319548693345936206769451989 431668560429534923902321205410304548337768120745259450720832836377772752886953335470423787473660580996778436005840517015376607470732092934470303999207 698454402649725415504947913190875681907932338476450537839147906595917291888001774996271691531299360730236725619765895699083927019425438870677073451196 1130122963079260339407269118601180230245700459221709988559980742973690044774955110466695479004959941727015161625606412714460534490157531805147377450403 1828577365728985754912217031792055912153632797698160526399128649569607336662956885462967170536259302457251887245372308413544461509582970675824450901599 2958700328808246094319486150393236142399333256919870514959109392543297381437911995929662649541219244184267048870978721128004995999740502480971828352002 4787277694537231849231703182185292054552966054618031041358238042112904718100868881392629820077478546641518936116351029541549457509323473156796279253601 7745978023345477943551189332578528196952299311537901556317347434656202099538780877322292469618697790825785984987329750669554453509063975637768107605603 12533255717882709792782892514763820251505265366155932597675585476769106817639649758714922289696176337467304921103680780211103911018387448794564386859204 20279233741228187736334081847342348448457564677693834153992932911425308917178430636037214759314874128293090906091010530880658364527451424432332494464807 32812489459110897529116974362106168699962830043849766751668518388194415734818080394752137049011050465760395827194691311091762275545838873226896881324011 53091723200339085265451056209448517148420394721543600905661451299619724651996511030789351808325924594053486733285701841972420640073290297659229375788818 85904212659449982794568030571554685848383224765393367657329969687814140386814591425541488857336975059813882560480393153064182915619129170886126257112829 138995935859789068060019086781003202996803619486936968562991420987433865038811102456330840665662899653867369293766094995036603555692419468545355632901647 224900148519239050854587117352557888845186844252330336220321390675248005425625693881872329522999874713681251854246488148100786471311548639431481890014476 363896084379028118914606204133561091841990463739267304783312811662681870464436796338203170188662774367548621148012583143137390027003968107976837522916123 588796232898267169769193321486118980687177307991597641003634202337929875890062490220075499711662649081229873002259071291238176498315516747408319412930599 952692317277295288683799525619680072529167771730864945786947014000611746354499286558278669900325423448778494150271654434375566525319484855385156935846722 1541488550175562458452992847105799053216345079722462586790581216338541622244561776778354169611988072530008367152530725725613743023635001602793476348777321 2494180867452857747136792372725479125745512851453327532577528230339153368599061063336632839512313495978786861302802380159989309548954486458178633284624043 4035669417628420205589785219831278178961857931175790119368109446677694990843622840114987009124301568508795228455333105885603052572589488060972109633401364 6529850285081277952726577592556757304707370782629117651945637677016848359442683903451619848636615064487582089758135486045592362121543974519150742918025407 10565519702709698158316362812388035483669228713804907771313747123694543350286306743566606857760916632996377318213468591931195414694133462580122852551426771 17095369987790976111042940404944792788376599496434025423259384800711391709728990647018226706397531697483959407971604077976787776815677437099273595469452178 27660889690500674269359303217332828272045828210238933194573131924405935060015297390584833564158448330480336726185072669907983191509810899679396448020878949 44756259678291650380402243622277621060422427706672958617832516725117326769744288037603060270555980027964296134156676747884770968325488336778670043490331127 72417149368792324649761546839610449332468255916911891812405648649523261829759585428187893834714428358444632860341749417792754159835299236458066491511210076 117173409047083975030163790461888070392890683623584850430238165374640588599503873465790954105270408386408928994498426165677525128160787573236736535001541203 189590558415876299679925337301498519725358939540496742242643814024163850429263458893978847939984836744853561854840175583470279287996086809694803026512751279 306763967462960274710089127763386590118249623164081592672881979398804439028767332359769802045255245131262490849338601749147804416156874382931539561514292482 496354525878836574390014465064885109843608562704578334915525793422968289458030791253748649985240081876116052704178777332618083704152961192626342588027043761 803118493341796849100103592828271699961858185868659927588407772821772728486798123613518452030495327007378543553517379081765888120309835575557882149541336243 1299473019220633423490118057893156809805466748573238262503933566244741017944828914867267102015735408883494596257696156414383971824462796768184224737568380004 2102591512562430272590221650721428509767324934441898190092341339066513746431627038480785554046230735890873139811213535496149859944772632343742106887109716247 3402064531783063696080339708614585319572791683015136452596274905311254764376455953348052656061966144774367736068909691910533831769235429111926331624678096251 5504656044345493968670561359336013829340116617457034642688616244377768510808082991828838210108196880665240875880123227406683691714008061455668438511787812498 8906720576128557664750901067950599148912908300472171095284891149689023275184538945176890866170163025439608611949032919317217523483243490567594770136465908749 14411376620474051633421462427286612978253024917929205737973507394066791785992621937005729076278359906104849487829156146723901215197251552023263208648253721247 23318097196602609298172363495237212127165933218401376833258398543755815061177160882182619942448522931544458099778189066041118738680495042590857978784719629996 37729473817076660931593825922523825105418958136330582571231905937822606847169782819188349018726882837649307587607345212765019953877746594614121187432973351243 61047571013679270229766189417761037232584891354731959404490304481578421908346943701370968961175405769193765687385534278806138692558241637204979166217692981239 98777044830755931161360015340284862338003849491062541975722210419401028755516726520559317979902288606843073274992879491571158646435988231819100353650666332482 159824615844435201391126204758045899570588740845794501380212514900979450663863670221930286941077694376036838962378413770377297338994229869024079519868359313721 258601660675191132552486220098330761908592590336857043355934725320380479419380396742489604920979982982879912237371293261948455985430218100843179873519025646203 418426276519626333943612424856376661479181331182651544736147240221359930083244066964419891862057677358916751199749707032325753324424447969867259393387384959924 677027937194817466496098644954707423387773921519508588092081965541740409502624463706909496783037660341796663437121000294274209309854666070710439266906410606127 1095454213714443800439711069811084084866955252702160132828229205763100339585868530671329388645095337700713414636870707326599962634279114040577698660293795566051 1772482150909261266935809714765791508254729174221668720920311171304840749088492994378238885428132998042510078073991707620874171944133780111288137927200206172178 2867936364623705067375520784576875593121684426923828853748540377067941088674361525049568274073228335743223492710862414947474134578412894151865836587494001738229 4640418515532966334311330499342667101376413601145497574668851548372781837762854519427807159501361333785733570784854122568348306522546674263153974514694207910407 7508354880156671401686851283919542694498098028069326428417391925440722926437216044477375433574589669528957063495716537515822441100959568415019811102188209648636 12148773395689637735998181783262209795874511629214824003086243473813504764200070563905182593075951003314690634280570660084170747623506242678173785616882417559043 19657128275846309137685033067181752490372609657284150431503635399254227690637286608382558026650540672843647697776287197599993188724465811093193596719070627207679 31805901671535946873683214850443962286247121286498974434589878873067732454837357172287740619726491676158338332056857857684163936347972053771367382335953044766722 51463029947382256011368247917625714776619730943783124866093514272321960145474643780670298646377032349001986029833145055284157125072437864864560979055023671974401 83268931618918202885051462768069677062866852230282099300683393145389692600312000952958039266103524025160324361890002912968321061420409918635928361390976716741123 134731961566300458896419710685695391839486583174065224166776907417711652745786644733628337912480556374162310391723147968252478186492847783500489340446000388715524 218000893185218661781471173453765068902353435404347323467460300563101345346098645686586377178584080399322634753613150881220799247913257702136417701836977105456647 352732854751519120677890884139460460741840018578412547634237207980812998091885290420214715091064636773484945145336298849473277434406105485636907042282977494172171 570733747936737782459362057593225529644193453982759871101697508543914343437983936106801092269648717172807579898949449730694076682319363187773324744119954599628818 923466602688256903137252941732685990386033472561172418735934716524727341529869226527015807360713353946292525044285748580167354116725468673410231786402932093800989 1494200350624994685596614999325911520030226926543932289837632225068641684967853162633816899630362071119100104943235198310861430799044831861183556530522886693429807 2417666953313251588733867941058597510416260399105104708573566941593369026497722389160832706991075425065392629987520946891028784915770300534593788316925818787230796 3911867303938246274330482940384509030446487325649036998411199166662010711465575551794649606621437496184492734930756145201890215714815132395777344847448705480660603 6329534257251497863064350881443106540862747724754141706984766108255379737963297940955482313612512921249885364918277092092919000630585432930371133164374524267891399 10241401561189744137394833821827615571309235050403178705395965274917390449428873492750131920233950417434378099849033237294809216345400565326148478011823229748552002 16570935818441242000459184703270722112171982775157320412380731383172770187392171433705614233846463338684263464767310329387728216975985998256519611176197754016443401 26812337379630986137854018525098337683481217825560499117776696658090160636821044926455746154080413756118641564616343566682537433321386563582668089188020983764995403 43383273198072228138313203228369059795653200600717819530157428041262930824213216360161360387926877094802905029383653896070265650297372561839187700364218737781438804 70195610577703214276167221753467397479134418426278318647934124699353091461034261286617106542007290850921546593999997462752803083618759125421855789552239721546434207 113578883775775442414480424981836457274787619026996138178091552740616022285247477646778466929934167945724451623383651358823068733916131687261043489916458459327873011 183774494353478656690647646735303854753922037453274456826025677439969113746281738933395573471941458796645998217383648821575871817534890812682899279468698180874307218 297353378129254099105128071717140312028709656480270595004117230180585136031529216580174040401875626742370449840767300180398940551451022499943942769385156640202180229 481127872482732755795775718452444166782631693933545051830142907620554249777810955513569613873817085539016448058150949001974812368985913312626842048853854821076487447 778481250611986854900903790169584478811341350413815646834260137801139385809340172093743654275692712281386897898918249182373752920436935812570784818239011461278667676 1259609123094719610696679508622028645593973044347360698664403045421693635587151127607313268149509797820403345957069198184348565289422849125197626867092866282355155123 2038090373706706465597583298791613124405314394761176345498663183222833021396491299701056922425202510101790243855987447366722318209859784937768411685331877743633822799 3297699496801426076294262807413641769999287439108537044163066228644526656983642427308370190574712307922193589813056645551070883499282634062966038552424744025988977922 5335789870508132541891846106205254894404601833869713389661729411867359678380133727009427112999914818023983833669044092917793201709142419000734450237756621769622800721 8633489367309558618186108913618896664403889272978250433824795640511886335363776154317797303574627125946177423482100738468864085208425053063700488790181365795611778643 13969279237817691160077955019824151558808491106847963823486525052379246013743909881327224416574541943970161257151144831386657286917567472064434939027937987565234579364 22602768605127249778264063933443048223212380379826214257311320692891132349107686035645021720149169069916338680633245569855521372125992525128135427818119353360846358007 36572047842944940938342018953267199782020871486674178080797845745270378362851595916972246136723711013886499937784390401242178659043559997192570366846057340926080937371 59174816448072190716606082886710248005233251866500392338109166438161510711959281952617267856872880083802838618417635971097700031169552522320705794664176694286927295378 95746864291017131654948101839977447787254123353174570418907012183431889074810877869589513993596591097689338556202026372339878690213112519513276161510234035213008232749 154921680739089322371554184726687695792487375219674962757016178621593399786770159822206781850469471181492177174619662343437578721382665041833981956174410729499935528127 250668545030106454026502286566665143579741498572849533175923190805025288861581037691796295844066062279181515730821688715777457411595777561347258117684644764712943760876 405590225769195776398056471293352839372228873792524495932939369426618688648351197514003077694535533460673692905441351059215036132978442603181240073859055494212879289003 656258770799302230424558757860017982951970372365374029108862560231643977509932235205799373538601595739855208636263039774992493544574220164528498191543700258925823049879 1061848996568498006822615229153370822324199246157898525041801929658262666158283432719802451233137129200528901541704390834207529677552662767709738265402755753138702338882 1718107767367800237247173987013388805276169618523272554150664489889906643668215667925601824771738724940384110177967430609200023222126882932238236456946456012064525388761 2779956763936298244069789216166759627600368864681171079192466419548169309826499100645404276004875854140913011719671821443407552899679545699947974722349211765203227727643 4498064531304098481316963203180148432876538483204443633343130909438075953494714768571006100776614579081297121897639252052607576121806428632186211179295667777267753116404 7278021295240396725386752419346908060476907347885614712535597328986245263321213869216410376781490433222210133617311073496015129021485974332134185901644879542470980844047 11776085826544495206703715622527056493353445831090058345878728238424321216815928637787416477558105012303507255514950325548622705143292402964320397080940547319738733960451 19054107121784891932090468041873964553830353178975673058414325567410566480137142507003826854339595445525717389132261399044637834164778377296454582982585426862209714804498 30830192948329387138794183664401021047183799010065731404293053805834887696953071144791243331897700457829224644647211724593260539308070780260774980063525974181948448764949 49884300070114279070884651706274985601014152189041404462707379373245454177090213651795070186237295903354942033779473123637898373472849157557229563046111401044158163569447 80714493018443666209678835370676006648197951199107135867000433179080341874043284796586313518134996361184166678426684848231158912780919937818004543109637375226106612334396 130598793088557945280563487076950992249212103388148540329707812552325796051133498448381383704372292264539108712206157971869057286253769095375234106155748776270264775903843 211313286107001611490242322447626998897410054587255676196708245731406137925176783244967697222507288625723275390632842820100216199034689033193238649265386151496371388238239 341912079195559556770805809524577991146622157975404216526416058283731933976310281693349080926879580890262384102839000791969273485288458128568472755421134927766636164142082 553225365302561168261048131972204990044032212562659892723124304015138071901487064938316778149386869515985659493471843612069489684323147161761711404686521079263007552380321 895137444498120725031853941496782981190654370538064109249540362298870005877797346631665859076266450406248043596310844404038763169611605290330184160107656007029643716522403 1448362809800681893292902073468987971234686583100724001972664666314008077779284411569982637225653319922233703089782688016108252853934752452091895564794177086292651268902724 2343500254298802618324756014965770952425340953638788111222205028612878083657081758201648496301919770328481746686093532420147016023546357742422079724901833093322294985425127 3791863064099484511617658088434758923660027536739512113194869694926886161436366169771631133527573090250715449775876220436255268877481110194513975289696010179614946254327851 6135363318398287129942414103400529876085368490378300224417074723539764245093447927973279629829492860579197196461969752856402284901027467936936055014597843272937241239752978 9927226382497771641560072191835288799745396027117812337611944418466650406529814097744910763357065950829912646237845973292657553778508578131450030304293853452552187494080829 16062589700896058771502486295235818675830764517496112562029019142006414651623262025718190393186558811409109842699815726149059838679536046068386085318891696725489428733833807 25989816083393830413062558487071107475576160544613924899640963560473065058153076123463101156543624762239022488937661699441717392458044624199836115623185550178041616227914636 42052405784289889184565044782306926151406925062110037461669982702479479709776338149181291549730183573648132331637477425590777231137580670268222200942077246903531044961748443 68042221867683719597627603269378033626983085606723962361310946262952544767929414272644392706273808335887154820575139125032494623595625294468058316565262797081572661189663079 110094627651973608782192648051684959778390010668833999822980928965432024477705752421825684256003991909535287152212616550623271854733205964736280517507340043985103706151411522 178136849519657328379820251321062993405373096275557962184291875228384569245635166694470076962277800245422441972787755675655766478328831259204338834072602841066676367341074601 288231477171630937162012899372747953183763106944391962007272804193816593723340919116295761218281792154957729125000372226279038333062037223940619351579942885051780073492486123 466368326691288265541833150693810946589136203219949924191564679422201162968976085810765838180559592400380171097788127901934804811390868483144958185652545726118456440833560724 754599803862919202703846050066558899772899310164341886198837483616017756692317004927061599398841384555337900222788500128213843144452905707085577537232488611170236514326046847 1220968130554207468245679200760369846362035513384291810390402163038218919661293090737827437579400976955718071320576628030148647955843774190230535722885034337288692955159607571 1975567934417126670949525250826928746134934823548633696589239646654236676353610095664889036978242361511055971543365128158362491100296679897316113260117522948458929469485654418 3196536064971334139195204451587298592496970336932925506979641809692455596014903186402716474557643338466774042863941756188511139056140454087546648983002557285747622424645261989 5172103999388460810144729702414227338631905160481559203568881456346692272368513282067605511535885699977830014407306884346873630156437133984862762243120080234206551894130916407 8368640064359794949339934154001525931128875497414484710548523266039147868383416468470321986093529038444604057271248640535384769212577588072409411226122637519954174318776178396 13540744063748255759484663856415753269760780657896043914117404722385840140751929750537927497629414738422434071678555524882258399369014722057272173469242717754160726212907094803 21909384128108050708824598010417279200889656155310528624665927988424988009135346219008249483722943776867038128949804165417643168581592310129681584695365355274114900531683273199 35450128191856306468309261866833032470650436813206572538783332710810828149887275969546176981352358515289472200628359690299901567950607032186953758164608073028275626744590368002 57359512319964357177133859877250311671540092968517101163449260699235816159022622188554426465075302292156510329578163855717544736532199342316635342859973428302390527276273641201 92809640511820663645443121744083344142190529781723673702232593410046644308909898158100603446427660807445982530206523546017446304482806374503589101024581501330666154020864009203 150169152831785020822576981621333655813730622750240774865681854109282460467932520346655029911502963099602492859784687401734991041015005716820224443884554929633056681297137650404 242978793343605684468020103365416999955921152531964448567914447519329104776842418504755633357930623907048475389991210947752437345497812091323813544909136430963722835318001659607 393147946175390705290597084986750655769651775282205223433596301628611565244774938851410663269433587006650968249775898349487428386512817808144037988793691360596779516615139310011 636126739518996389758617188352167655725572927814169672001510749147940670021617357356166296627364210913699443639767109297239865732010629899467851533702827791560502351933140969618 1029274685694387095049214273338918311495224703096374895435107050776552235266392296207576959896797797920350411889543007646727294118523447707611889522496519152157281868548280279629 1665401425213383484807831461691085967220797630910544567436617799924492905288009653563743256524162008834049855529310116943967159850534077607079741056199346943717784220481421249247 2694676110907770579857045735030004278716022334006919462871724850701045140554401949771320216420959806754400267418853124590694453969057525314691630578695866095875066089029701528876 4360077536121154064664877196721090245936819964917464030308342650625538045842411603335063472945121815588450122948163241534661613819591602921771371634895213039592850309511122778123 7054753647028924644521922931751094524652842298924383493180067501326583186396813553106383689366081622342850390367016366125356067788649128236463002213591079135467916398540824306999 11414831183150078709186800128472184770589662263841847523488410151952121232239225156441447162311203437931300513315179607660017681608240731158234373848486292175060766708051947085122 18469584830179003353708723060223279295242504562766231016668477653278704418636038709547830851677285060274150903682195973785373749396889859394697376062077371310528683106592771392121 29884416013329082062895523188695464065832166826608078540156887805230825650875263865989278013988488498205451416997375581445391431005130590552931749910563663485589449814644718477243 48354000843508085416604246248918743361074671389374309556825365458509530069511302575537108865665773558479602320679571555230765180402020449947629125972641034796118132921237489869364 78238416856837167479499769437614207426906838215982388096982253263740355720386566441526386879654262056685053737676947136676156611407151040500560875883204698281707582735882208346607 126592417700345252896104015686532950787981509605356697653807618722249885789897869017063495745320035615164656058356518691906921791809171490448190001855845733077825715657119698215971 204830834557182420375603785124147158214888347821339085750789871985990241510284435458589882624974297671849709796033465828583078403216322530948750877739050431359533298393001906562578 331423252257527673271707800810680109002869857426695783404597490708240127300182304475653378370294333287014365854389984520490000195025494021396940879594896164437359014050121604778549 536254086814710093647311585934827267217758205248034869155387362694230368810466739934243260995268630958864075650423450349073078598241816552345691757333946595796892312443123511341127 867677339072237766919019386745507376220628062674730652559984853402470496110649044409896639365562964245878441504813434869563078793267310573742632636928842760234251326493245116119676 1403931425886947860566330972680334643438386267922765521715372216096700864921115784344139900360831595204742517155236885218636157391509127126088324394262789356031143638936368627460803 2271608764959185627485350359425842019659014330597496174275357069499171361031764828754036539726394559450620958660050320088199236184776437699830957031191632116265394965429613743580479 3675540190846133488051681332106176663097400598520261695990729285595872225952880613098176440087226154655363475815287205306835393576285564825919281425454421472296538604365982371041282 5947148955805319115537031691532018682756414929117757870266086355095043586984645441852212979813620714105984434475337525395034629761062002525750238456646053588561933569795596114621761 9622689146651452603588713023638195345853815527638019566256815640690915812937526054950389419900846868761347910290624730701870023337347567351669519882100475060858472174161578485663043 15569838102456771719125744715170214028610230456755777436522901995785959399922171496802602399714467582867332344765962256096904653098409569877419758338746528649420405743957174600284804 25192527249108224322714457738808409374464045984393797002779717636476875212859697551752991819615314451628680255056586986798774676435757137229089278220847003710278877918118753085947847 40762365351564996041840202453978623403074276441149574439302619632262834612781869048555594219329782034496012599822549242895679329534166707106509036559593532359699283662075927686232651 65954892600673220364554660192787032777538322425543371442082337268739709825641566600308586038945096486124692854879136229694454005969923844335598314780440536069978161580194680772180498 106717257952238216406394862646765656180612598866692945881384956901002544438423435648864180258274878520620705454701685472590133335504090551442107351340034068429677445242270608458413149 172672150552911436770949522839552688958150921292236317323467294169742254264065002249172766297219975006745398309580821702284587341474014395777705666120474604499655606822465289230593647 279389408505149653177344385486318345138763520158929263204852251070744798702488437898036946555494853527366103764282507174874720676978104947219813017460508672929333052064735897689006796 452061559058061089948293908325871034096914441451165580528319545240487052966553440147209712852714828534111502073863328877159308018452119342997518683580983277428988658887201186919600443 731450967563210743125638293812189379235677961610094843733171796311231851669041878045246659408209682061477605838145836052034028695430224290217331701041491950358321710951937084608607239 1183512526621271833073932202138060413332592403061260424261491341551718904635595318192456372260924510595589107912009164929193336713882343633214850384622475227787310369839138271528207682 1914963494184482576199570495950249792568270364671355267994663137862950756304637196237703031669134192657066713750155000981227365409312567923432182085663967178145632080791075356136814921 3098476020805754409273502698088310205900862767732615692256154479414669660940232514430159403930058703252655821662164165910420702123194911556647032470286442405932942450630213627665022603 5013439514990236985473073194038559998469133132403970960250817617277620417244869710667862435599192895909722535412319166891648067532507479480079214555950409584078574531421288983801837524 8111915535795991394746575892126870204369995900136586652506972096692290078185102225098021839529251599162378357074483332802068769655702391036726247026236851990011516982051502611466860127 13125355050786228380219649086165430202839129032540557612757789713969910495429971935765884275128444495072100892486802499693716837188209870516805461582187261574090091513472791595268697651 21237270586582219774966224978292300407209124932677144265264761810662200573615074160863906114657696094234479249561285832495785606843912261553531708608424113564101608495524294206735557778 34362625637368448155185874064457730610048253965217701878022551524632111069045046096629790389786140589306580142048088332189502444032122132070337170190611375138191700008997085802004255429 55599896223950667930152099042750031017257378897894846143287313335294311642660120257493696504443836683541059391609374164685288050876034393623868878799035488702293308504521380008739813207 89962521861319116085337973107207761627305632863112548021309864859926422711705166354123486894229977272847639533657462496874790494908156525694206048989646863840485008513518465810744068636 145562418085269784015490072149957792644563011761007394164597178195220734354365286611617183398673813956388698925266836661560078545784190919318074927788682352542778317018039845819483881843 235524939946588900100828045257165554271868644624119942185907043055147157066070452965740670292903791229236338458924299158434869040692347445012280976778329216383263325531558311630227950479 381087358031858684116318117407123346916431656385127336350504221250367891420435739577357853691577605185625037384191135819994947586476538364330355904567011568926041642549598157449711832322 616612297978447584217146162664288901188300301009247278536411264305515048486506192543098523984481396414861375843115434978429816627168885809342636881345340785309304968081156469079939782801 997699656010306268333464280071412248104731957394374614886915485555882939906941932120456377676059001600486413227306570798424764213645424173672992785912352354235346610630754626529651615123 1614311953988753852550610442735701149293032258403621893423326749861397988393448124663554901660540398015347789070422005776854580840814309983015629667257693139544651578711911095609591397924 2612011609999060120884074722807113397397764215797996508310242235417280928300390056784011279336599399615834202297728576575279345054459734156688622453170045493779998189342665722139243013047 4226323563987813973434685165542814546690796474201618401733568985278678916693838181447566180997139797631181991368150582352133925895274044139704252120427738633324649768054576817748834410971 6838335173986874094318759888349927944088560689999614910043811220695959844994228238231577460333739197247016193665879158927413270949733778296392874573597784127104647957397242539888077424018 11064658737974688067753445053892742490779357164201233311777380205974638761688066419679143641330878994878198185034029741279547196845007822436097126694025522760429297725451819357636911834989 17902993911961562162072204942242670434867917854200848221821191426670598606682294657910721101664618192125214378699908900206960467794741600732490001267623306887533945682849061897524989259007 28967652649936250229825649996135412925647275018402081533598571632645237368370361077589864742995497187003412563733938641486507664639749423168587127961648829647963243408300881255161901093996 46870646561897812391897854938378083360515192872602929755419763059315835975052655735500585844660115379128626942433847541693468132434491023901077129229272136535497189091149943152686890353003 75838299211834062621723504934513496286162467891005011289018334691961073343423016813090450587655612566132039506167786183179975797074240447069664257190920966183460432499450824407848791446999 122708945773731875013621359872891579646677660763607941044438097751276909318475672548591036432315727945260666448601633724873443929508731470970741386420193102718957621590600767560535681800002 198547244985565937635344864807405075932840128654612952333456432443237982661898689361681487019971340511392705954769419908053419726582971918040405643611114068902418054090051591968384473247001 321256190759297812648966224680296655579517789418220893377894530194514891980374361910272523452287068456653372403371053632926863656091703389011147030031307171621375675680652359528920155047003 519803435744863750284311089487701731512357918072833845711350962637752874642273051271954010472258408968046078358140473540980283382674675307051552673642421240523793729770703951497304628294004 841059626504161562933277314167998387091875707491054739089245492832267766622647413182226533924545477424699450761511527173907147038766378696062699703673728412145169405451356311026224783341007 1360863062249025313217588403655700118604233625563888584800596455470020641264920464454180544396803886392745529119652000714887430421441054003114252377316149652668963135222060262523529411635011 2201922688753186876150865717823698505696109333054943323889841948302288407887567877636407078321349363817444979881163527888794577460207432699176952080989878064814132540673416573549754194976018 3562785751002212189368454121479398624300342958618831908690438403772309049152488342090587622718153250210190509000815528603682007881648486702291204458306027717483095675895476836073283606611029 5764708439755399065519319839303097129996452291673775232580280352074597457040056219726994701039502614027635488881979056492476585341855919401468156539295905782297228216568893409623037801587047 9327494190757611254887773960782495754296795250292607141270718755846906506192544561817582323757655864237825997882794585096158593223504406103759360997601933499780323892464370245696321408198076 15092202630513010320407093800085592884293247541966382373850999107921503963232600781544577024797158478265461486764773641588635178565360325505227517536897839282077552109033263655319359209785123 24419696821270621575294867760868088638590042792258989515121717863768410469425145343362159348554814342503287484647568226684793771788864731608986878534499772781857876001497633901015680617983199 39511899451783631895701961560953681522883290334225371888972716971689914432657746124906736373351972820768748971412341868273428950354225057114214396071397612063935428110530897556335039827768322 63931596273054253470996829321821770161473333126484361404094434835458324902082891468268895721906787163272036456059910094958222722143089788723201274605897384845793304112028531457350720445751521 103443495724837885366698790882775451684356623460709733293067151807148239334740637593175632095258759984040785427472251963231651672497314845837415670677294996909728732222559429013685760273519843 167375091997892138837695620204597221845829956587194094697161586642606564236823529061444527817165547147312821883532162058189874394640404634560616945283192381755522036334587960471036480719271364 270818587722730024204394411087372673530186580047903827990228738449754803571564166654620159912424307131353607311004414021421526067137719480398032615960487378665250768557147389484722240992791207 438193679720622163042090031291969895376016536635097922687390325092361367808387695716064687729589854278666429194536576079611400461778124114958649561243679760420772804891735349955758721712062571 709012267443352187246484442379342568906203116683001750677619063542116171379951862370684847642014161410020036505540990101032926528915843595356682177204167139086023573448882739440480962704853778 1147205947163974350288574473671312464282219653318099673365009388634477539188339558086749535371604015688686465700077566180644326990693967710315331738447846899506796378340618089396239684416916349 1856218214607326537535058916050655033188422770001101424042628452176593710568291420457434383013618177098706502205618556281677253519609811305672013915652014038592819951789500828836720647121770127 3003424161771300887823633389721967497470642423319201097407637840811071249756630978544183918385222192787392967905696122462321580510303779015987345654099860938099616330130118918232960331538686476 4859642376378627425358692305772622530659065193320302521450266292987664960324922399001618301398840369886099470111314678743998834029913590321659359569751874976692436281919619747069680978660456603 7863066538149928313182325695494590028129707616639503618857904133798736210081553377545802219784062562673492438017010801206320414540217369337646705223851735914792052612049738665302641310199143079 12722708914528555738541018001267212558788772809959806140308170426786401170406475776547420521182902932559591908128325479950319248570130959659306064793603610891484488893969358412372322288859599682 20585775452678484051723343696761802586918480426599309759166074560585137380488029154093222740966965495233084346145336281156639663110348328996952770017455346806276541506019097077674963599058742761 33308484367207039790264361698029015145707253236559115899474244987371538550894504930640643262149868427792676254273661761106958911680479288656258834811058957697761030399988455490047285887918342443 53894259819885523841987705394790817732625733663158425658640319547956675931382534084733866003116833923025760600418998042263598574790827617653211604828514304504037571906007552567722249486977085204 87202744187092563632252067092819832878332986899717541558114564535328214482277039015374509265266702350818436854692659803370557486471306906309470439639573262201798602305996008057769535374895427647 141097004006978087474239772487610650610958720562875967216754884083284890413659573100108375268383536273844197455111657845634156061262134523962682044468087566705836174212003560625491784861872512851 228299748194070651106491839580430483489291707462593508774869448618613104895936612115482884533650238624662634309804317649004713547733441430272152484107660828907634776517999568683261320236767940498 369396752201048738580731612068041134100250428025469475991624332701897995309596185215591259802033774898506831764915975494638869608995575954234834528575748395613470950730003129308753105098640453349 597696500395119389687223451648471617589542135488062984766493781320511100205532797331074144335684013523169466074720293143643583156729017384506987012683409224521105727248002697992014425335408393847 967093252596168128267955063716512751689792563513532460758118114022409095515128982546665404137717788421676297839636268638282452765724593338741821541259157620134576677978005827300767530434048847196 1564789752991287517955178515364984369279334699001595445524611895342920195720661779877739548473401801944845763914356561781926035922453610723248808553942566844655682405226008525292781955769457241043 2531883005587455646223133579081497120969127262515127906282730009365329291235790762424404952611119590366522061753992830420208488688178204061990630095201724464790259083204014352593549486203506088239 4096672758578743164178312094446481490248461961516723351807341904708249486956452542302144501084521392311367825668349392202134524610631814785239438649144291309445941488430022877886331441972963329282 6628555764166198810401445673527978611217589224031851258090071914073578778192243304726549453695640982677889887422342222622343013298810018847230068744346015774236200571634037230479880928176469417521 10725228522744941974579757767974460101466051185548574609897413818781828265148695847028693954780162374989257713090691614824477537909441833632469507393490307083682142060064060108366212370149432746803 17353784286911140784981203441502438712683640409580425867987485732855407043340939151755243408475803357667147600513033837446820551208251852479699576137836322857918342631698097338846093298325902164324 28079012809656082759560961209476898814149691595129000477884899551637235308489634998783937363255965732656405313603725452271298089117693686112169083531326629941600484691762157447212305668475334911127 45432797096567223544542164650979337526833332004709426345872385284492642351830574150539180771731769090323552914116759289718118640325945538591868659669162952799518827323460254786058398966801237075451 73511809906223306304103125860456236340983023599838426823757284836129877660320209149323118134987734822979958227720484741989416729443639224704037743200489582741119312015222412233270704635276571986578 118944607002790529848645290511435573867816355604547853169629670120622520012150783299862298906719503913303511141837244031707535369769584763295906402869652535540638139338682667019329103602077809062029 192456416909013836152748416371891810208799379204386279993386954956752397672470992449185417041707238736283469369557728773696952099213223987999944146070142118281757451353905079252599808237354381048607 311401023911804366001393706883327384076615734808934133163016625077374917684621775749047715948426742649586980511394972805404487468982808751295850548939794653822395590692587746271928911839432190110636 503857440820818202154142123255219194285415114013320413156403580034127315357092768198233132990133981385870449880952701579101439568196032739295794695009936772104153042046492825524528720076786571159243 815258464732622568155535830138546578362030848822254546319420205111502233041714543947280848938560724035457430392347674384505927037178841490591645243949731425926548632739080571796457631916218761269879 1319115905553440770309677953393765772647445962835574959475823785145629548398807312145513981928694705421327880273300375963607366605374874229887439938959668198030701674785573397320986351993005332429122 2134374370286063338465213783532312351009476811657829505795243990257131781440521856092794830867255429456785310665648050348113293642553715720479085182909399623957250307524653969117443983909224093699001 3453490275839504108774891736926078123656922774493404465271067775402761329839329168238308812795950134878113190938948426311720660247928589950366525121869067821987951982310227366438430335902229426128123 5587864646125567447240105520458390474666399586151233971066311765659893111279851024331103643663205564334898501604596476659833953890482305670845610304778467445945202289834881335555874319811453519827124 9041354921965071556014997257384468598323322360644638436337379541062654441119180192569412456459155699213011692543544902971554614138410895621212135426647535267933154272145108701994304655713682945955247 14629219568090639003255102777842859072989721946795872407403691306722547552399031216900516100122361263547910194148141379631388568028893201292057745731426002713878356561979990037550178975525136465782371 23670574490055710559270100035227327671313044307440510843741070847785201993518211409469928556581516962760921886691686282602943182167304096913269881158073537981811510834125098739544483631238819411737618 38299794058146349562525202813070186744302766254236383251144762154507749545917242626370444656703878226308832080839827662234331750196197298205327626889499540695689867396105088777094662606763955877519989 61970368548202060121795302848297514415615810561676894094885833002292951539435454035840373213285395189069753967531513944837274932363501395118597508047573078677501378230230187516639146238002775289257607 100270162606348409684320505661367701159918576815913277346030595156800701085352696662210817869989273415378586048371341607071606682559698693323925134937072619373191245626335276293733808844766731166777596 162240531154550469806115808509665215575534387377590171440916428159093652624788150698051191083274668604448340015902855551908881614923200088442522642984645698050692623856565463810372955082769506456035203 262510693760898879490436314171032916735452964193503448786947023315894353710140847360262008953263942019826926064274197158980488297482898781766447777921718317423883869482900740104106763927536237622812799 424751224915449349296552122680698132310987351571093620227863451474988006334928998058313200036538610624275266080177052710889369912406098870208970420906364015474576493339466203914479719010305744078848002 687261918676348228786988436851731049046440315764597069014810474790882360045069845418575208989802552644102192144451249869869858209888997651975418198828082332898460362822366944018586482937841981701660801 1112013143591797578083540559532429181357427667335690689242673926265870366379998843476888409026341163268377458224628302580759228122295096522184388619734446348373036856161833147933066201948147725780508803 1799275062268145806870528996384160230403867983100287758257484401056752726425068688895463618016143715912479650369079552450629086332184094174159806818562528681271497218984200091951652684885989707482169604 2911288205859943384954069555916589411761295650435978447500158327322623092805067532372352027042484879180857108593707855031388314454479190696344195438296975029644534075146033239884718886834137433262678407 4710563268128089191824598552300749642165163633536266205757642728379375819230136221267815645058628595093336758962787407482017400786663284870504002256859503710916031294130233331836371571720127140744848011 7621851473988032576778668108217339053926459283972244653257801055701998912035203753640167672101113474274193867556495262513405715241142475566848197695156478740560565369276266571721090458554264574007526418 12332414742116121768603266660518088696091622917508510859015443784081374731265339974907983317159742069367530626519282669995423116027805760437352199952015982451476596663406499903557462030274391714752374429 19954266216104154345381934768735427750018082201480755512273244839783373643300543728548150989260855543641724494075777932508828831268948236004200397647172461192037162032682766475278552488828656288759900847 32286680958220276113985201429253516446109705118989266371288688623864748374565883703456134306420597613009255120595060602504251947296753996441552597599188443643513758696089266378836014519103048003512275276 52240947174324430459367136197988944196127787320470021883561933463648122017866427432004285295681453156650979614670838535013080778565702232445752995246360904835550920728772032854114567007931704292272176123 84527628132544706573352337627242460642237492439459288254850622087512870392432311135460419602102050769660234735265899137517332725862456228887305592845549348479064679424861299232950581527034752295784451399 136768575306869137032719473825231404838365279759929310138412555551160992410298738567464704897783503926311214349936737672530413504428158461333058588091910253314615600153633332087065148534966456588056627522 221296203439413843606071811452473865480602772199388598393263177638673862802731049702925124499885554695971449085202636810047746230290614690220364180937459601793680279578494631320015730062001208883841078921 358064778746282980638791285277705270318968051959317908531675733189834855213029788270389829397669058622282663435139374482578159734718773151553422769029369855108295879732127963407080878596967665471897706443 579360982185696824244863096730179135799570824158706506924938910828508718015760837973314953897554613318254112520342011292625905965009387841773786949966829456901976159310622594727096608658968874355738785364 937425760931979804883654382007884406118538876118024415456614644018343573228790626243704783295223671940536775955481385775204065699728160993327209718996199312010272039042750558134177487255936539827636491807 1516786743117676629128517478738063541918109700276730922381553554846852291244551464217019737192778285258790888475823397067829971664737548835100996668963028768912248198353373152861274095914905414183375277171 2454212504049656434012171860745947948036648576394755337838168198865195864473342090460724520488001957199327664431304782843034037364465709828428206387959228080922520237396123710995451583170841954011011768978 3970999247167333063140689339484011489954758276671486260219721753712048155717893554677744257680780242458118552907128179910864009029203258663529203056922256849834768435749496863856725679085747368194387046149 6425211751216989497152861200229959437991406853066241598057889952577244020191235645138468778168782199657446217338432962753898046393668968491957409444881484930757288673145620574852177262256589322205398815127 10396210998384322560293550539713970927946165129737727858277611706289292175909129199816213035849562442115564770245561142664762055422872227155486612501803741780592057108895117438708902941342336690399785861276 16821422749601312057446411739943930365937571982803969456335501658866536196100364844954681814018344641773010987583994105418660101816541195647444021946685226711349345782040738013561080203598926012605184676403 27217633747985634617739962279657901293883737112541697314613113365155828372009494044770894849867907083888575757829555248083422157239413422802930634448488968491941402890935855452269983144941262703004970537679 44039056497586946675186374019601831659821309095345666770948615024022364568109858889725576663886251725661586745413549353502082259055954618450374656395174195203290748672976593465831063348540188715610155214082 71256690245572581292926336299259732953705046207887364085561728389178192940119352934496471513754158809550162503243104601585504416295368041253305290843663163695232151563912448918101046493481451418615125751761 115295746743159527968112710318861564613526355303233030856510343413200557508229211824222048177640410535211749248656653955087586675351322659703679947238837358898522900236889042383932109842021640134225280965843 186552436988732109261039046618121297567231401511120394942072071802378750448348564758718519691394569344761911751899758556673091091646690700956985238082500522593755051800801491302033156335503091552840406717604 301848183731891637229151756936982862180757756814353425798582415215579307956577776582940567869034979879973661000556412511760677766998013360660665185321337881492277952037690533685965266177524731687065687683447 488400620720623746490190803555104159747989158325473820740654487017958058404926341341659087560429549224735572752456171068433768858644704061617650423403838404086033003838492024987998422513027823239906094401051 790248804452515383719342560492087021928746915139827246539236902233537366361504117924599655429464529104709233753012583580194446625642717422278315608725176285578310955876182558673963688690552554926971782084498 1278649425173139130209533364047191181676736073465301067279891389251495424766430459266258742989894078329444806505468754648628215484287421483895966032129014689664343959714674583661962111203580378166877876485549 2068898229625654513928875924539278203605482988605128313819128291485032791127934577190858398419358607434154040258481338228822662109930138906174281640854190975242654915590857142335925799894132933093849658570047 3347547654798793644138409288586469385282219062070429381099019680736528215894365036457117141409252685763598846763950092877450877594217560390070247672983205664906998875305531725997887911097713311260727535055596 5416445884424448158067285213125747588887702050675557694918147972221561007022299613647975539828611293197752887022431431106273539704147699296244529313837396640149653790896388868333813710991846244354577193625643 8763993539223241802205694501712216974169921112745987076017167652958089222916664650105092681237863978961351733786381523983724417298365259686314776986820602305056652666201920594331701622089559555615304728681239 14180439423647689960272979714837964563057623163421544770935315625179650229938964263753068221066475272159104620808812955089997957002512958982559306300657998945206306457098309462665515333081405799969881922306882 22944432962870931762478674216550181537227544276167531846952483278137739452855628913858160902304339251120456354595194479073722374300878218668874083287478601250262959123300230056997216955170965355585186650988121 37124872386518621722751653931388146100285167439589076617887798903317389682794593177611229123370814523279560975404007434163720331303391177651433389588136600195469265580398539519662732288252371155555068573295003 60069305349389553485230328147938327637512711715756608464840282181455129135650222091469390025675153774400017329999201913237442705604269396320307472875615201445732224703698769576659949243423336511140255224283124 97194177735908175207981982079326473737797879155345685082728081084772518818444815269080619149045968297679578305403209347401163036907660573971740862463751801641201490284097309096322681531675707666695323797578127 157263483085297728693212310227264801375310590871102293547568363266227647954095037360550009174721122072079595635402411260638605742511929970292048335339367003086933714987796078672982630775099044177835579021861251 254457660821205903901194292306591275113108470026447978630296444351000166772539852629630628323767090369759173940805620608039768779419590544263789197803118804728135205271893387769305312306774751844530902819439378 411721143906503632594406602533856076488419060897550272177864807617227814726634889990180637498488212441838769576208031868678374521931520514555837533142485807815068920259689466442287943081873796022366481841300629 666178804727709536495600894840447351601527530923998250808161251968227981499174742619811265822255302811597943517013652476718143301351111058819626730945604612543204125531582854211593255388648547866897384660740007 1077899948634213169090007497374303428089946591821548522986026059585455796225809632609991903320743515253436713093221684345396517823282631573375464264088090420358273045791272320653881198470522343889263866502040636 1744078753361922705585608392214750779691474122745546773794187311553683777724984375229803169142998818065034656610235336822114661124633742632195090995033695032901477171322855174865474453859170891756161251162780643 2821978701996135874675615889589054207781420714567095296780213371139139573950794007839795072463742333318471369703457021167511178947916374205570555259121785453259750217114127495519355652329693235645425117664821279 4566057455358058580261224281803804987472894837312642070574400682692823351675778383069598241606741151383506026313692357989625840072550116837765646254155480486161227388436982670384830106188864127401586368827601922 7388036157354194454936840171392859195254315551879737367354614053831962925626572390909393314070483484701977396017149379157137019020466491043336201513277265939420977605551110165904185758518557363047011486492423201 11954093612712253035198064453196664182727210389192379437929014736524786277302350773978991555677224636085483422330841737146762859093016607881101847767432746425582204993988092836289015864707421490448597855320025123 19342129770066447490134904624589523377981525941072116805283628790356749202928923164888384869747708120787460818347991116303899878113483098924438049280710012365003182599539203002193201623225978853495609341812448324 31296223382778700525332969077786187560708736330264496243212643526881535480231273938867376425424932756872944240678832853450662737206499706805539897048142758790585387593527295838482217487933400343944207197132473447 50638353152845148015467873702375710938690262271336613048496272317238284683160197103755761295172640877660405059026823969754562615319982805729977946328852771155588570193066498840675419111159379197439816538944921771 81934576535623848540800842780161898499398998601601109291708915844119820163391471042623137720597573634533349299705656823205225352526482512535517843376995529946173957786593794679157636599092779541384023736077395218 132572929688468996556268716482537609438089260872937722340205188161358104846551668146378899015770214512193754358732480792959787967846465318265495789705848301101762527979660293519833055710252158738823840275022316989 214507506224092845097069559262699507937488259474538831631914104005477925009943139189002036736367788146727103658438137616165013320372947830801013633082843831047936485766254088198990692309344938280207864011099712207 347080435912561841653338275745237117375577520347476553972119292166836029856494807335380935752138002658920858017170618409124801288219413149066509422788692132149699013745914381718823748019597097019031704286122029196 561587942136654686750407835007936625313065779822015385604033396172313954866437946524382972488505790805647961675608756025289814608592360979867523055871535963197635499512168469917814440328942035299239568297221741403 908668378049216528403746110753173742688643300169491939576152688339149984722932753859763908240643793464568819692779374434414615896811774128934032478660228095347334513258082851636638188348539132318271272583343770599 1470256320185871215154153945761110368001709079991507325180186084511463939589370700384146880729149584270216781368388130459704430505404135108801555534531764058544970012770251321554452628677481167617510840880565512002 2378924698235087743557900056514284110690352380160999264756338772850613924312303454243910788969793377734785601061167504894119046402215909237735588013191992153892304526028334173191090817026020299935782113463909282601 3849181018420958958712054002275394478692061460152506589936524857362077863901674154628057669698942962005002382429555635353823476907620044346537143547723756212437274538798585494745543445703501467553292954344474794603 6228105716656046702269954058789678589382413840313505854692863630212691788213977608871968458668736339739787983490723140247942523309835953584272731560915748366329579064826919667936634262729521767489075067808384077204 10077286735077005660982008061065073068074475300466012444629388487574769652115651763500026128367679301744790365920278775601766000217455997930809875108639504578766853603625505162682177708433023235042368022152858871807 16305392451733052363251962119854751657456889140779518299322252117787461440329629372371994587036415641484578349411001915849708523527291951515082606669555252945096432668452424830618811971162545002531443089961242949011 26382679186810058024233970180919824725531364441245530743951640605362231092445281135872020715404094943229368715331280691451474523744747949445892481778194757523863286272077929993300989679595568237573811112114101820818 42688071638543110387485932300774576382988253582025049043273892723149692532774910508244015302440510584713947064742282607301183047272039900960975088447750010468959718940530354823919801650758113240105254202075344769829 69070750825353168411719902481694401108519618023270579787225533328511923625220191644116036017844605527943315780073563298752657571016787850406867570225944767992823005212608284817220791330353681477679065314189446590647 111758822463896278799205834782468977491507871605295628830499426051661616157995102152360051320285116112657262844815845906053840618288827751367842658673694778461782724153138639641140592981111794717784319516264791360476 180829573289249447210925737264163378600027489628566208617724959380173539783215293796476087338129721640600578624889409204806498189305615601774710228899639546454605729365746924458361384311465476195463384830454237951123 292588395753145726010131572046632356091535361233861837448224385431835155941210395948836138658414837753257841469705255110860338807594443353142552887573334324916388453518885564099501977292577270913247704346719029311599 473417969042395173221057309310795734691562850862428046065949344812008695724425689745312225996544559393858420094594664315666836996900058954917263116472973871370994182884632488557863361604042747108711089177173267262722 766006364795540899231188881357428090783098212096289883514173730243843851665636085694148364654959397147116261564299919426527175804494502308059816004046308196287382636403518052657365338896620018021958793523892296574321 1239424333837936072452246190668223825474661062958717929580123075055852547390061775439460590651503956540974681658894583742194012801394561262977079120519282067658376819288150541215228700500662765130669882701065563837043 2005430698633476971683435072025651916257759275055007813094296805299696399055697861133608955306463353688090943223194503168721188605889063571036895124565590263945759455691668593872594039397282783152628676224957860411364 3244855032471413044135681262693875741732420338013725742674419880355548946445759636573069545957967310229065624882089086910915201407283624834013974245084872331604136274979819135087822739897945548283298558926023424248407 5250285731104890015819116334719527657990179613068733555768716685655245345501457497706678501264430663917156568105283590079636390013172688405050869369650462595549895730671487728960416779295228331435927235150981284659771 8495140763576303059954797597413403399722599951082459298443136566010794291947217134279748047222397974146222192987372676990551591420456313239064843614735334927154032005651306864048239519193173879719225794077004708908178 13745426494681193075773913932132931057712779564151192854211853251666039637448674631986426548486828638063378761092656267070187981433629001644115712984385797522703927736322794593008656298488402211155153029227985993567949 22240567258257496135728711529546334457435379515233652152654989817676833929395891766266174595709226612209600954080028944060739572854085314883180556599121132449857959741974101457056895817681576090874378823304990702476127 35985993752938689211502625461679265515148159079384845006866843069342873566844566398252601144196055250272979715172685211130927554287714316527296269583506929972561887478296896050065552116169978302029531852532976696044076 58226561011196185347231336991225599972583538594618497159521832887019707496240458164518775739905281862482580669252714155191667127141799631410476826182628062422419847220270997507122447933851554392903910675837967398520203 94212554764134874558733962452904865487731697674003342166388675956362581063085024562771376884101337112755560384425399366322594681429513947937773095766134992394981734698567893557188000050021532694933442528370944094564279 152439115775331059905965299444130465460315236268621839325910508843382288559325482727290152624006618975238141053678113521514261808571313579348249921948763054817401581918838891064310447983873087087837353204208911493084482 246651670539465934464699261897035330948046933942625181492299184799744869622410507290061529508107956087993701438103512887836856490000827527286023017714898047212383316617406784621498448033894619782770795732579855587648761 399090786314796994370664561341165796408362170211247020818209693643127158181735990017351682132114575063231842491781626409351118298572141106634272939663661102029784898536245675685808896017767706870608148936788767080733243 645742456854262928835363823238201127356409104153872202310508878442872027804146497307413211640222531151225543929885139297187974788572968633920295957378559149242168215153652460307307344051662326653378944669368622668382004 1044833243169059923206028384579366923764771274365119223128718572085999185985882487324764893772337106214457386421666765706539093087145109740554568897042220251271953113689898135993116240069430033523987093606157389749115247 1690575700023322852041392207817568051121180378518991425439227450528871213790028984632178105412559637365682930351551905003727067875718078374474864854420779400514121328843550596300423584121092360177366038275526012417497251 2735408943192382775247420592396934974885951652884110648567946022614870399775911471956942999184896743580140316773218670710266160962863188115029433751462999651786074442533448732293539824190522393701353131881683402166612498 4425984643215705627288812800214503026007132031403102074007173473143741613565940456589121104597456380945823247124770575713993228838581266489504298605883779052300195771376999328593963408311614753878719170157209414584109749 7161393586408088402536233392611438000893083684287212722575119495758612013341851928546064103782353124525963563897989246424259389801444454604533732357346778704086270213910448060887503232502137147580072302038892816750722247 11587378229623794029825046192825941026900215715690314796582292968902353626907792385135185208379809505471786811022759822138252618640025721094038030963230557756386465985287447389481466640813751901458791472196102231334831996 18748771816031882432361279585437379027793299399977527519157412464660965640249644313681249312162162629997750374920749068562512008441470175698571763320577336460472736199197895450368969873315889049038863774234995048085554243 30336150045655676462186325778263320054693515115667842315739705433563319267157436698816434520541972135469537185943508890700764627081495896792609794283807894216859202184485342839850436514129640950497655246431097279420386239 49084921861687558894547605363700699082486814515645369834897117898224284907407081012497683832704134765467287560864257959263276635522966072491181557604385230677331938383683238290219406387445529999536519020666092327505940482 79421071907343235356733931141964019137180329631313212150636823331787604174564517711314118353246106900936824746807766849964041262604461969283791351888193124894191140568168581130069842901575170950034174267097189606926326721 128505993769030794251281536505664718219667144146958581985533941230011889081971598723811802185950241666404112307672024809227317898127428041774972909492578355571523078951851819420289249289020700949570693287763281934432267203 207927065676374029608015467647628737356847473778271794136170764561799493256536116435125920539196348567340937054479791659191359160731890011058764261380771480465714219520020400550359092190595871899604867554860471541358593924 336433059445404823859297004153293455576514617925230376121704705791811382338507715158937722725146590233745049362151816468418677058859318052833737170873349836037237298471872219970648341479616572849175560842623753475790861127 544360125121778853467312471800922192933362091703502170257875470353610875595043831594063643264342938801085986416631608127610036219591208063892501432254121316502951517991892620521007433670212444748780428397484225017149455051 880793184567183677326609475954215648509876709628732546379580176145422257933551546753001365989489529034831035778783424596028713278450526116726238603127471152540188816463764840491655775149829017597955989240107978492940316178 1425153309688962530793921947755137841443238801332234716637455646499033133528595378347065009253832467835917022195415032723638749498041734180618740035381592469043140334455657461012663208820041462346736417637592203510089771229 2305946494256146208120531423709353489953115510960967263017035822644455391462146925100066375243321996870748057974198457319667462776492260297344978638509063621583329150919422301504318983969870479944692406877700182003030087407 3731099803945108738914453371464491331396354312293201979654491469143488524990742303447131384497154464706665080169613490043306212274533994477963718673890656090626469485375079762516982192789911942291428824515292385513119858636 6037046298201254947034984795173844821349469823254169242671527291787943916452889228547197759740476461577413138143811947362973675051026254775308697312399719712209798636294502064021301176759782422236121231392992567516149946043 9768146102146363685949438166638336152745824135547371222326018760931432441443631531994329144237630926284078218313425437406279887325560249253272415986290375802836268121669581826538283369549694364527550055908284953029269804679 15805192400347618632984422961812180974095293958801540464997546052719376357896520760541526903978107387861491356457237384769253562376586504028581113298690095515046066757964083890559584546309476786763671287301277520545419750722 25573338502493982318933861128450517126841118094348911687323564813650808799340152292535856048215738314145569574770662822175533449702146753281853529284980471317882334879633665717097867915859171151291221343209562473574689555401 41378530902841600951918284090262698100936412053150452152321110866370185157236673053077382952193845702007060931227900206944787012078733257310434642583670566832928401637597749607657452462168647938054892630510839994120109306123 66951869405335583270852145218713215227777530147499363839644675680020993956576825345613239000409584016152630505998563029120320461780880010592288171868651038150810736517231415324755320378027819089346113973720402467694798861524 108330400308177184222770429308975913328713942200649815991965786546391179113813498398690621952603429718159691437226463236065107473859613267902722814452321604983739138154829164932412772840196467027401006604231242461814908167647 175282269713512767493622574527689128556491472348149179831610462226412173070390323744303860953013013734312321943225026265185427935640493278495010986320972643134549874672060580257168093218224286116747120577951644929509707029171 283612670021689951716393003836665041885205414548798995823576248772803352184203822142994482905616443452472013380451489501250535409500106546397733800773294248118289012826889745189580866058420753144148127182182887391324615196818 458894939735202719210015578364354170441696886896948175655186710999215525254594145887298343858629457186784335323676515766435963345140599824892744787094266891252838887498950325446748959276645039260895247760134532320834322225989 742507609756892670926408582201019212326902301445747171478762959772018877438797968030292826764245900639256348704128005267686498754640706371290478587867561139371127900325840070636329825335065792405043374942317419712158937422807 1201402549492095390136424160565373382768599188342695347133949670771234402693392113917591170622875357826040684027804521034122462099781306196183223374961828030623966787824790396083078784611710831665938622702451952032993259648796 1943910159248988061062832742766392595095501489788442518612712630543253280132190081947883997387121258465297032731932526301808960854422012567473701962829389169995094688150630466719408609946776624070981997644769371745152197071603 3145312708741083451199256903331765977864100678131137865746662301314487682825582195865475168009996616291337716759737047335931422954203318763656925337791217200619061475975420862802487394558487455736920620347221323778145456720399 5089222867990071512262089646098158572959602167919580384359374931857740962957772277813359165397117874756634749491669573637740383808625331331130627300620606370614156164126051329521896004505264079807902617991990695523297653792002 8234535576731154963461346549429924550823702846050718250106037233172228645783354473678834333407114491047972466251406620973671806762828650094787552638411823571233217640101472192324383399063751535544823238339212019301443110512401 13323758444721226475723436195528083123783305013970298634465412165029969608741126751492193498804232365804607215743076194611412190571453981425918179939032429941847373804227523521846279403569015615352725856331202714824740764304403 21558294021452381439184782744958007674607007860021016884571449398202198254524481225171027832211346856852579681994482815585083997334282631520705732577444253513080591444328995714170662802632767150897549094670414734126183874816804 34882052466173607914908218940486090798390312873991315519036861563232167863265607976663221331015579222657186897737559010196496187905736612946623912516476683454927965248556519236016942206201782766250274951001617448950924639121207 56440346487625989354093001685444098472997320734012332403608310961434366117790089201834249163226926079509766579732041825781580185240019244467329645093920936968008556692885514950187605008834549917147824045672032183077108513938011 91322398953799597269001220625930189271387633608003647922645172524666533981055697178497470494242505302166953477469600835978076373145755857413953557610397620422936521941442034186204547215036332683398098996673649632028033153059218 147762745441425586623094222311374287744384954342015980326253483486100900098845786380331719657469431381676720057201642661759656558385775101881283202704318557390945078634327549136392152223870882600545923042345681815105141666997229 239085144395225183892095442937304477015772587950019628248898656010767434079901483558829190151711936683843673534671243497737732931531530959295236760314716177813881600575769583322596699438907215283944022039019331447133174820056447 386847889836650770515189665248678764760157542292035608575152139496868334178747269939160909809181368065520393591872886159497389489917306061176519963019034735204826679210097132458988851662778097884489945081365013262238316487053676 625933034231875954407285108185983241775930130242055236824050795507635768258648753497990099960893304749364067126544129657235122421448837020471756723333750913018708279785866715781585551101685313168433967120384344709371491307110123 1012780924068526724922474773434662006536087672534090845399202935004504102437396023437151009770074672814884460718417015816732511911366143081648276686352785648223534958995963848240574402764463411052923912201749357971609807794163799 1638713958300402679329759881620645248312017802776146082223253730512139870696044776935141109730967977564248527844961145473967634332814980102120033409686536561242243238781830564022159953866148724221357879322133702680981299101273922 2651494882368929404252234655055307254848105475310236927622456665516643973133440800372292119501042650379132988563378161290700146244181123183768310096039322209465778197777794412262734356630612135274281791523883060652591106895437721 4290208840669332083581994536675952503160123278086383009845710396028783843829485577307433229232010627943381516408339306764667780576996103285888343505725858770708021436559624976284894310496760859495639670846016763333572405996711643 6941703723038261487834229191731259758008228753396619937468167061545427816962926377679725348733053278322514504971717468055367926821177226469656653601765180980173799634337419388547628667127372994769921462369899823986163512892149364 11231912563707593571416223728407212261168352031483002947313877457574211660792411954987158577965063906265896021380056774820035707398173329755544997107491039750881821070897044364832522977624133854265561133215916587319735918888861007 18173616286745855059250452920138472019176580784879622884782044519119639477755338332666883926698117184588410526351774242875403634219350556225201650709256220731055620705234463753380151644751506849035482595585816411305899431781010371 29405528850453448630666676648545684280344932816362625832095921976693851138547750287654042504663181090854306547731831017695439341617523885980746647816747260481937441776131508118212674622375640703301043728801732998625635350669871378 47579145137199303689917129568684156299521513601242248716877966495813490616303088620320926431361298275442717074083605260570842975836874442205948298526003481212993062481365971871592826267127147552336526324387549409931534782450881749 76984673987652752320583806217229840579866446417604874548973888472507341754850838907974968936024479366297023621815436278266282317454398328186694946342750741694930504257497479989805500889502788255637570053189282408557170133120753127 124563819124852056010500935785913996879387960018847123265851854968320832371153927528295895367385777641739740695899041538837125293291272770392643244868754222907923566738863451861398327156629935807974096377576831818488704915571634876 201548493112504808331084742003143837459254406436451997814825743440828174126004766436270864303410257008036764317714477817103407610745671098579338191211504964602854070996360931851203828046132724063611666430766114227045875048692388003 326112312237356864341585677789057834338642366455299121080677598409149006497158693964566759670796034649776505013613519355940532904036943868971981436080259187510777637735224383712602155202762659871585762808342946045534579964264022879 527660805349861672672670419792201671797896772891751118895503341849977180623163460400837623974206291657813269331327997173043940514782614967551319627291764152113631708731585315563805983248895383935197429239109060272580455012956410882 853773117587218537014256097581259506136539139347050239976180940259126187120322154365404383645002326307589774344941516528984473418819558836523301063372023339624409346466809699276408138451658043806783192047452006318115034977220433761 1381433922937080209686926517373461177934435912238801358871684282109103367743485614766242007619208617965403043676269513702028413933602173804074620690663787491738041055198395014840214121700553427741980621286561066590695489990176844643 2235207040524298746701182614954720684070975051585851598847865222368229554863807769131646391264210944272992818021211030231012887352421732640597921754035810831362450401665204714116622260152211471548763813334013072908810524967397278404 3616640963461378956388109132328181862005410963824652957719549504477332922607293383897888398883419562238395861697480543933041301286023906444672542444699598323100491456863599728956836381852764899290744434620574139499506014957574123047 5851848003985677703089291747282902546076386015410504556567414726845562477471101153029534790147630506511388679718691574164054188638445639085270464198735409154462941858528804443073458642004976370839508247954587212408316539924971401451 9468488967447056659477400879611084408081796979235157514286964231322895400078394536927423189031050068749784541416172118097095489924469545529943006643435007477563433315392404172030295023857741270130252682575161351907822554882545524498 15320336971432734362566692626893986954158182994645662070854378958168457877549495689956957979178680575261173221134863692261149678562915184615213470842170416632026375173921208615103753665862717640969760930529748564316139094807516925949 24788825938879791022044093506505071362239979973880819585141343189491353277627890226884381168209730644010957762551035810358245168487384730145156477485605424109589808489313612787134048689720458911100013613104909916223961649690062450447 40109162910312525384610786133399058316398162968526481655995722147659811155177385916841339147388411219272130983685899502619394847050299914760369948327775840741616183663234821402237802355583176552069774543634658480540100744497579376396 64897988849192316406654879639904129678638142942407301241137065337151164432805276143725720315598141863283088746236935312977640015537684644905526425813381264851205992152548434189371851045303635463169788156739568396764062394187641826843 105007151759504841791265665773303187995036305910933782897132787484810975587982662060567059462986553082555219729922834815597034862587984559665896374141157105592822175815783255591609653400886812015239562700374226877304163138685221203239 169905140608697158197920545413207317673674448853341084138269852821962140020787938204292779778584694945838308476159770128574674878125669204571422799954538370444028167968331689780981504446190447478409350857113795274068225532872863030082 274912292368201999989186211186510505668710754764274867035402640306773115608770600264859839241571248028393528206082604944171709740713653764237319174095695476036850343784114945372591157847077259493648913557488022151372388671558084233321 444817432976899158187106756599717823342385203617615951173672493128735255629558538469152619020155942974231836682242375072746384618839322968808741974050233846480878511752446635153572662293267706972058264414601817425440614204430947263403 719729725345101158176292967786228329011095958381890818209075133435508371238329138734012458261727191002625364888324980016918094359552976733046061148145929322517728855536561580526163820140344966465707177972089839576813002875989031496724 1164547158322000316363399724385946152353481161999506769382747626564243626867887677203165077281883133976857201570567355089664478978392299701854803122196163168998607367289008215679736482433612673437765442386691657002253617080419978760127 1884276883667101474539692692172174481364577120381397587591822759999751998106216815937177535543610324979482566458892335106582573337945276434900864270342092491516336222825569796205900302573957639903472620358781496579066619956409010256851 3048824041989101790903092416558120633718058282380904356974570386563995624974104493140342612825493458956339768029459690196247052316337576136755667392538255660514943590114578011885636785007570313341238062745473153581320237036828989016978 4933100925656203265442785108730295115082635402762301944566393146563747623080321309077520148369103783935822334488352025302829625654282852571656531662880348152031279812940147808091537087581527953244710683104254650160386856993237999273829 7981924967645305056345877525288415748800693685143206301540963533127743248054425802217862761194597242892162102517811715499076677970620428708412199055418603812546223403054725819977173872589098266585948745849727803741707094030066988290807 12915025893301508321788662634018710863883329087905508246107356679691490871134747111295382909563701026827984437006163740801906303624903281280068730718298951964577503215994873628068710960170626219830659428953982453902093951023304987564636 20896950860946813378134540159307126612684022773048714547648320212819234119189172913513245670758298269720146539523975456300982981595523709988480929773717555777123726619049599448045884832759724486416608174803710257643801045053371975855443 33811976754248321699923202793325837476567351860954222793755676892510724990323920024808628580321999296548130976530139197102889285220426991268549660492016507741701229835044473076114595792930350706247267603757692711545894996076676963420079 54708927615195135078057742952632964089251374634002937341403997105329959109513092938321874251080297566268277516054114653403872266815950701257030590265734063518824956454094072524160480625690075192663875778561402969189696041130048939275522 88520904369443456777980945745958801565818726494957160135159673997840684099837012963130502831402296862816408492584253850506761552036377692525580250757750571260526186289138545600275076418620425898911143382319095680735591037206725902695601 143229831984638591856038688698591765655070101128960097476563671103170643209350105901452377082482594429084686008638368503910633818852328393782610841023484634779351142743232618124435557044310501091575019160880498649925287078336774841971123 231750736354082048634019634444550567220888827623917257611723345101011327309187118864582879913884891291901094501222622354417395370888706086308191091781235206039877329032371163724710633462930926990486162543199594330660878115543500744666724 374980568338720640490058323143142332875958928752877355088287016204181970518537224766035256996367485720985780509860990858328029189741034480090801932804719840819228471775603781849146190507241428082061181704080092980586165193880275586637847 606731304692802689124077957587692900096847756376794612700010361305193297827724343630618136910252377012886875011083613212745424560629740566398993024585955046859105800807974945573856823970172355072547344247279687311247043309423776331304571 981711873031523329614136280730835232972806685129671967788297377509375268346261568396653393906619862733872655520944604071073453750370775046489794957390674887678334272583578727423003014477413783154608525951359780291833208503304051917942418 1588443177724326018738214238318528133069654441506466580488307738814568566173985912027271530816872239746759530532028217283818878311000515612888787981976629934537440073391553672996859838447586138227155870198639467603080251812727828249246989 2570155050755849348352350519049363366042461126636138548276605116323943834520247480423924924723492102480632186052972821354892332061371290659378582939367304822215774345975132400419862852924999921381764396149999247894913460316031880167189407 4158598228480175367090564757367891499112115568142605128764912855138512400694233392451196455540364342227391716585001038638711210372371806272267370921343934756753214419366686073416722691372586059608920266348638715497993712128759708416436396 6728753279236024715442915276417254865154576694778743677041517971462456235214480872875121380263856444708023902637973859993603542433743096931645953860711239578968988765341818473836585544297585980990684662498637963392907172444791588583625803 10887351507716200082533480033785146364266692262921348805806430826600968635908714265326317835804220786935415619222974898632314752806114903203913324782055174335722203184708504547253308235670172040599604928847276678890900884573551297000062199 17616104786952224797976395310202401229421268957700092482847948798063424871123195138201439216068077231643439521860948758625918295239858000135559278642766413914691191950050323021089893779967758021590289591345914642283808057018342885583688002 28503456294668424880509875343987547593687961220621441288654379624664393507031909403527757051872298018578855141083923657258233048045972903339472603424821588250413395134758827568343202015637930062189894520193191321174708941591894182583750201 46119561081620649678486270654189948823109230178321533771502328422727818378155104541729196267940375250222294662944872415884151343285830903475031882067588002165104587084809150589433095795605688083780184111539105963458516998610237068167438203 74623017376289074558996145998177496416797191398942975060156708047392211885187013945256953319812673268801149804028796073142384391331803806814504485492409590415517982219567978157776297811243618145970078631732297284633225940202131250751188404 120742578457909724237482416652367445239906421577264508831659036470120030263342118486986149587753048519023444466973668489026535734617634710289536367559997592580622569304377128747209393606849306229750262743271403248091742938812368318918626607 195365595834198798796478562650544941656703612976207483891815744517512242148529132432243102907565721787824594271002464562168920125949438517104040853052407182996140551523945106904985691418092924375720341375003700532724968879014499569669815011 316108174292108523033960979302912386896610034553471992723474780987632272411871250919229252495318770306848038737976133051195455860567073227393577220612404775576763120828322235652195085024942230605470604118275103780816711817826867888588441618 511473770126307321830439541953457328553313647529679476615290525505144514560400383351472355402884492094672633008978597613364375986516511744497618073664811958572903672352267342557180776443035154981190945493278804313541680696841367458258256629 827581944418415844864400521256369715449923682083151469338765306492776786972271634270701607898203262401520671746954730664559831847083584971891195294277216734149666793180589578209375861467977385586661549611553908094358392514668235346846698247 1339055714544723166694840063209827044003237329612830945954055831997921301532672017622173963301087754496193304755933328277924207833600096716388813367942028692722570465532856920766556637911012540567852495104832712407900073211509602805104954876 2166637658963139011559240584466196759453161011695982415292821138490698088504943651892875571199291016897713976502888058942484039680683681688280008662219245426872237258713446498975932499378989926154514044716386620502258465726177838151951653123 3505693373507862178254080647676023803456398341308813361246876970488619390037615669515049534500378771393907281258821387220408247514283778404668822030161274119594807724246303419742489137290002466722366539821219332910158538937687440957056607999 5672331032471001189813321232142220562909559353004795776539698108979317478542559321407925105699669788291621257761709446162892287194967460092948830692380519546467044982959749918718421636668992392876880584537605953412417004663865279109008261122 9178024405978863368067401879818244366365957694313609137786575079467936868580174990922974640200048559685528539020530833383300534709251238497617652722541793666061852707206053338460910773958994859599247124358825286322575543601552720066064869121 14850355438449864557880723111960464929275517047318404914326273188447254347122734312330899745899718347977149796782240279546192821904218698590566483414922313212528897690165803257179332410627987252476127708896431239734992548265417999175073130243 24028379844428727925948124991778709295641474741632014052112848267915191215702909303253874386099766907662678335802771112929493356613469937088184136137464106878590750397371856595640243184586982112075374833255256526057568091866970719241137999364 38878735282878592483828848103739174224916991788950418966439121456362445562825643615584774131999485255639828132585011392475686178517688635678750619552386420091119648087537659852819575595214969364551502542151687765792560640132388718416211129607 62907115127307320409776973095517883520558466530582433018551969724277636778528552918838648518099252163302506468387782505405179535131158572766934755689850526969710398484909516448459818779801951476626877375406944291850128731999359437657349128971 101785850410185912893605821199257057745475458319532851984991091180640082341354196534423422650098737418942334600972793897880865713648847208445685375242236947060830046572447176301279394375016920841178379917558632057642689372131748156073560258578 164692965537493233303382794294774941266033924850115285003543060904917719119882749453262071168197989582244841069360576403286045248780005781212620130932087474030540445057356692749739213154818872317805257292965576349492818104131107593730909387549 266478815947679146196988615494031999011509383169648136988534152085557801461236945987685493818296727001187175670333370301166910962428852989658305506174324421091370491629803869051018607529835793158983637210524208407135507476262855749804469646127 431171781485172379500371409788806940277543308019763421992077212990475520581119695440947564986494716583432016739693946704452956211208858770870925637106411895121910936687160561800757820684654665476788894503489784756628325580393963343535379033676 697650597432851525697360025282838939289052691189411558980611365076033322042356641428633058804791443584619192410027317005619867173637711760529231143280736316213281428316964430851776428214490458635772531714013993163763833056656819093339848679803 1128822378918023905197731435071645879566595999209174980972688578066508842623476336869580623791286160168051209149721263710072823384846570531400156780387148211335192365004124992652534248899145124112561426217503777920392158637050782436875227713479 1826472976350875430895091460354484818855648690398586539953299943142542164665832978298213682596077603752670401559748580715692690558484282291929387923667884527548473793321089423504310677113635582748333957931517771084155991693707601530215076393282 2955295355268899336092822895426130698422244689607761520925988521209051007289309315167794306387363763920721610709469844425765513943330852823329544704055032738883666158325214416156844926012780706860895384149021549004548150330758383967090304106761 4781768331619774766987914355780615517277893380006348060879288464351593171955142293466007988983441367673392012269218425141458204501815135115258932627722917266432139951646303839661155603126416289609229342080539320088704142024465985497305380500043 7737063686888674103080737251206746215700138069614109581805276985560644179244451608633802295370805131594113622978688269567223718445145987938588477331777950005315806109971518255818000529139196996470124726229560869093252292355224369464395684606804 12518832018508448870068651606987361732978031449620457642684565449912237351199593902099810284354246499267505635247906694708681922946961123053847409959500867271747946061617822095479156132265613286079354068310100189181956434379690354961701065106847 20255895705397122973149388858194107948678169519234567224489842435472881530444045510733612579725051630861619258226594964275905641392107110992435887291278817277063752171589340351297156661404810282549478794539661058275208726734914724426096749713651 32774727723905571843218040465181469681656200968855024867174407885385118881643639412833422864079298130129124893474501658984587564339068234046283297250779684548811698233207162446776312793670423568628832862849761247457165161114605079387797814820498 53030623429302694816367429323375577630334370488089592091664250320858000412087684923567035443804349760990744151701096623260493205731175345038719184542058501825875450404796502798073469455075233851178311657389422305732373887849519803813894564534149 85805351153208266659585469788557047311990571456944616958838658206243119293731324336400458307883647891119869045175598282245080770070243579085002481792838186374687148638003665244849782248745657419807144520239183553189539048964124883201692379354647 138835974582510961475952899111932624942324941945034209050502908527101119705819009259967493751687997652110613196876694905505573975801418924123721666334896688200562599042800168042923251703820891270985456177628605858921912936813644687015586943888796 224641325735719228135538368900489672254315513401978826009341566733344238999550333596367952059571645543230482242052293187750654745871662503208724148127734874575249747680803833287773033952566548690792600697867789412111451985777769570217279323243443 363477300318230189611491268012422297196640455347013035059844475260445358705369342856335445811259643195341095438928988093256228721673081427332445814462631562775812346723604001330696285656387439961778056875496395271033364922591414257232866267132239 588118626053949417747029636912911969450955968748991861069186041993789597704919676452703397870831288738571577680981281281006883467544743930541169962590366437351062094404407834618469319608953988652570657573364184683144816908369183827450145590375682 951595926372179607358520904925334266647596424096004896129030517254234956410289019309038843682090931933912673119910269374263112189217825357873615777052998000126874441128011835949165605265341428614348714448860579954178181830960598084683011857507921 1539714552426129025105550541838246236098552392844996757198216559248024554115208695761742241552922220672484250800891550655269995656762569288414785739643364437477936535532419670567634924874295417266919372022224764637322998739329781912133157447883603 2491310478798308632464071446763580502746148816941001653327247076502259510525497715070781085235013152606396923920801820029533107845980394646288401516696362437604810976660431506516800530139636845881268086471085344591501180570290379996816169305391524 4031025031224437657569621988601826738844701209785998410525463635750284064640706410832523326787935373278881174721693370684803103502742963934703187256339726875082747512192851177084435455013932263148187458493310109228824179309620161908949326753275127 6522335510022746290033693435365407241590850026727000063852710712252543575166204125903304412022948525885278098642495190714336211348723358580991588773036089312687558488853282683601235985153569109029455544964395453820325359879910541905765496058666651 10553360541247183947603315423967233980435551236512998474378174348002827639806910536735827738810883899164159273364188561399139314851466322515694776029375816187770306001046133860685671440167501372177643003457705563049149539189530703814714822811941778 17075696051269930237637008859332641222026401263239998538230885060255371214973114662639132150833832425049437372006683752113475526200189681096686364802411905500457864489899416544286907425321070481207098548422101016869474899069441245720480318870608429 27629056592517114185240324283299875202461952499752997012609059408258198854780025199374959889644716324213596645370872313512614841051656003612381140831787721688228170490945550404972578865488571853384741551879806579918624438258971949535195141682550207 44704752643787044422877333142632516424488353762992995550839944468513570069753139862014092040478548749263034017377556065626090367251845684709067505634199627188686034980844966949259486290809642334591840100301907596788099337328413195255675460553158636 72333809236304158608117657425932391626950306262745992563449003876771768924533165061389051930123265073476630662748428379138705208303501688321448646465987348876914205471790517354232065156298214187976581652181714176706723775587385144790870602235708843 117038561880091203030994990568564908051438660025738988114288948345285338994286304923403143970601813822739664680125984444764795575555347373030516152100186976065600240452635484303491551447107856522568421752483621773494823112915798340046546062788867479 189372371116395361639112647994497299678388966288484980677737952222057107918819469984792195900725078896216295342874412823903500783858849061351964798566174324942514445924426001657723616603406070710545003404665335950201546888503183484837416665024576322 306410932996486564670107638563062207729827626314223968792026900567342446913105774908195339871326892718955960023000397268668296359414196434382480950666361301008114686377061485961215168050513927233113425157148957723696370001418981824883962727813443801 495783304112881926309220286557559507408216592602708949469764852789399554831925244892987535772051971615172255365874810092571797143273045495734445749232535625950629132301487487618938784653919997943658428561814293673897916889922165309721379392838020123 802194237109368490979327925120621715138044218916932918261791753356742001745031019801182875643378864334128215388875207361240093502687241930116926699898896926958743818678548973580153952704433925176771853718963251397594286891341147134605342120651463924 1297977541222250417288548211678181222546260811519641867731556606146141556576956264694170411415430835949300470754750017453811890645960287425851372449131432552909372950980036461199092737358353923120430282280777545071492203781263312444326721513489484047 2100171778331618908267876136798802937684305030436574785993348359502883558321987284495353287058809700283428686143625224815051984148647529355968299149030329479868116769658585434779246690062787848297202135999740796469086490672604459578932063634140947971 3398149319553869325556424348476984160230565841956216653724904965649025114898943549189523698474240536232729156898375242268863874794607816781819671598161762032777489720638621895978339427421141771417632418280518341540578694453867772023258785147630432018 5498321097885488233824300485275787097914870872392791439718253325151908673220930833684876985533050236516157843042000467083915858943255346137787970747192091512645606490297207330757586117483929619714834554280259138009665185126472231602190848781771379989 8896470417439357559380724833752771258145436714349008093443158290800933788119874382874400684007290772748886999940375709352779733737863162919607642345353853545423096210935829226735925544905071391132466972560777479550243879580340003625449633929401812007 14394791515324845793205025319028558356060307586741799533161411615952842461340805216559277669540341009265044842982376176436695592681118509057395613092545945058068702701233036557493511662389001010847301526841036617559909064706812235227640482711173191996 23291261932764203352585750152781329614205744301090807626604569906753776249460679599433678353547631782013931842922751885789475326418981671977003255437899798603491798912168865784229437207294072401979768499401814097110152944287152238853090116640575004003 37686053448089049145790775471809887970266051887832607159765981522706618710801484815992956023087972791278976685905128062226170919100100181034398868530445743661560501613401902341722948869683073412827070026242850714670062008993964474080730599351748195999 60977315380853252498376525624591217584471796188923414786370551429460394960262164415426634376635604573292908528827879948015646245519081853011402123968345542265052300525570768125952386076977145814806838525644664811780214953281116712933820715992323200002 98663368828942301644167301096401105554737848076756021946136532952167013671063649231419590399723577364571885214733008010241817164619182034045800992498791285926612802138972670467675334946660219227633908551887515526450276962275081187014551315344071396001 159640684209795554142543826720992323139209644265679436732507084381627408631325813646846224776359181937864793743560887958257463410138263887057203116467136828191665102664543438593627721023637365042440747077532180338230491915556197899948372031336394596003 258304053038737855786711127817393428693947492342435458678643617333794422302389462878265815176082759302436678958293895968499280574757445921103004108965928114118277904803516109061303055970297584270074655629419695864680768877831279086962923346680465992004 417944737248533409929254954538385751833157136608114895411150701715421830933715276525112039952441941240301472701854783926756743984895709808160207225433064942309943007468059547654930776993934949312515402706951876202911260793387476986911295378016860588007 676248790287271265715966082355779180527104628950550354089794319049216253236104739403377855128524700542738151660148679895256024559653155729263211334398993056428220912271575656716233832964232533582590058336371572067592029671218756073874218724697326580011 1094193527535804675645221036894164932360261765558665249500945020764638084169820015928489895080966641783039624362003463822012768544548865537423418559832057998738163919739635204371164609958167482895105461043323448270503290464606233060785514102714187168018 1770442317823075941361187119249944112887366394509215603590739339813854337405924755331867750209491342325777776022152143717268793104202021266686629894231051055166384832011210861087398442922400016477695519379695020338095320135824989134659732827411513748029 2864635845358880617006408156144109045247628160067880853091684360578492421575744771260357645290457984108817400384155607539281561648750886804110048454063109053904548751750846065458563052880567499372800980423018468608598610600431222195445246930125700916047 4635078163181956558367595275394053158134994554577096456682423700392346758981669526592225395499949326434595176406307751256550354752952908070796678348294160109070933583762056926545961495802967515850496499802713488946693930736256211330104979757537214664076 7499714008540837175374003431538162203382622714644977309774108060970839180557414297852583040790407310543412576790463358795831916401703794874906726802357269162975482335512902992004524548683535015223297480225731957555292541336687433525550226687662915580123 12134792171722793733741598706932215361517617269222073766456531761363185939539083824444808436290356636978007753196771110052382271154656702945703405150651429272046415919274959918550486044486502531073793980028445446501986472072943644855655206445200130244199 19634506180263630909115602138470377564900239983867051076230639822334025120096498122297391477080763947521420329987234468848214187556360497820610131953008698435021898254787862910555010593170037546297091460254177404057279013409631078381205433132863045824322 31769298351986424642857200845402592926417857253089124842687171583697211059635581946742199913371120584499428083184005578900596458711017200766313537103660127707068314174062822829105496637656540077370885440282622850559265485482574723236860639578063176068521 51403804532250055551972802983872970491318097236956175918917811406031236179732080069039591390451884532020848413171240047748810646267377698586923669056668826142090212428850685739660507230826577623667976900536800254616544498892205801618066072710926221892843 83173102884236480194830003829275563417735954490045300761604982989728447239367662015781791303823005116520276496355245626649407104978394899353237206160328953849158526602913508568766003868483117701038862340819423105175809984374780524854926712288989397961364 134576907416486535746802806813148533909054051727001476680522794395759683419099742084821382694274889648541124909526485674398217751245772597940160875216997779991248739031764194308426511099309695324706839241356223359792354483266986326472992784999915619854207 217750010300723015941632810642424097326790006217046777442127777385488130658467404100603173998097894765061401405881731301047624856224167497293398081377326733840407265634677702877192514967792813025745701582175646464968164467641766851327919497288905017815571 352326917717209551688435617455572631235844057944048254122650571781247814077567146185424556692372784413602526315408216975445842607469940095233558956594324513831656004666441897185619026067102508350452540823531869824760518950908753177800912282288820637669778 570076928017932567630068428097996728562634064161095031564778349166735944736034550286027730690470679178663927721289948276493467463694107592526957037971651247672063270301119600062811541034895321376198242405707516289728683418550520029128831779577725655485349 922403845735142119318504045553569359798478122105143285687428920947983758813601696471452287382843463592266454036698165251939310071164047687760515994565975761503719274967561497248430567101997829726650783229239386114489202369459273206929744061866546293155127 1492480773753074686948572473651566088361112186266238317252207270114719703549636246757480018073314142770930381757988113528432777534858155280287473032537627009175782545268681097311242108136893151102849025634946902404217885788009793236058575841444271948640476 2414884619488216806267076519205135448159590308371381602939636191062703462363237943228932305456157606363196835794686278780372087606022202968047989027103602770679501820236242594559672675238890980829499808864186288518707088157469066442988319903310818241795603 3907365393241291493215648992856701536520702494637619920191843461177423165912874189986412323529471749134127217552674392308804865140880358248335462059641229779855284365504923691870914783375784131932348834499133190922924973945478859679046895744755090190436079 6322250012729508299482725512061836984680292803009001523131479652240126628276112133215344628985629355497324053347360671089176952746902561216383451086744832550534786185741166286430587458614675112761848643363319479441632062102947926122035215648065908432231682 10229615405970799792698374504918538521200995297646621443323323113417549794188986323201756952515101104631451270900035063397981817887782919464718913146386062330390070551246089978301502241990459244694197477862452670364557036048426785801082111392820998622667761 16551865418700308092181100016980375505881288100655622966454802765657676422465098456417101581500730460128775324247395734487158770634685480681102364233130894880924856736987256264732089700605134357456046121225772149806189098151374711923117327040886907054899443 26781480824671107884879474521898914027082283398302244409778125879075226216654084779618858534015831564760226595147430797885140588522468400145821277379516957211314927288233346243033591942595593602150243599088224820170746134199801497724199438433707905677567204 43333346243371415977060574538879289532963571498957867376232928644732902639119183236035960115516562024889001919394826532372299359157153880826923641612647852092239784025220602507765681643200727959606289720313996969976935232351176209647316765474594812732466647 70114827068042523861940049060778203560045854897260111786011054523808128855773268015654818649532393589649228514542257330257439947679622280972744918992164809303554711313453948750799273585796321561756533319402221790147681366550977707371516203908302718410033851 113448173311413939839000623599657493093009426396217979162243983168541031494892451251690778765048955614538230433937083862629739306836776161799668560604812661395794495338674551258564955228997049521362823039716218760124616598902153917018832969382897531142500498 183563000379456463700940672660435696653055281293478090948255037692349160350665719267345597414581349204187458948479341192887179254516398442772413479596977470699349206652128500009364228814793371083119356359118440550272297965453131624390349173291200249552534349 297011173690870403539941296260093189746064707689696070110499020860890191845558170519036376179630304818725689382416425055516918561353174604572082040201790132095143701990803051267929184043790420604482179398834659310396914564355285541409182142674097780695034847 480574174070326867240881968920528886399119988983174161058754058553239352196223889786381973594211654022913148330895766248404097815869573047344495519798767602794492908642931551277293412858583791687601535757953099860669212529808417165799531315965298030247569196 777585347761197270780823265180622076145184696672870231169253079414129544041782060305418349773841958841638837713312191303921016377222747651916577560000557734889636610633734602545222596902374212292083715156787759171066127094163702707208713458639395810942604043 1258159521831524138021705234101150962544304685656044392228007137967368896238005950091800323368053612864551986044207957552325114193092320699261073079799325337684129519276666153822516009760958003979685250914740859031735339623972119873008244774604693841190173239 2035744869592721408802528499281773038689489382328914623397260217381498440279788010397218673141895571706190823757520148856246130570315068351177650639799883072573766129910400756367738606663332216271768966071528618202801466718135822580216958233244089652132777282 3293904391424245546824233733382924001233794067984959015625267355348867336517793960489018996509949184570742809801728106408571244763407389050438723719599208410257895649187066910190254616424290220251454216986269477234536806342107942453225203007848783493322950521 5329649261016966955626762232664697039923283450313873639022527572730365776797581970886237669651844756276933633559248255264817375333722457401616374359399091482831661779097467666557993223087622436523223183057798095437338273060243765033442161241092873145455727803 8623553652441212502450995966047621041157077518298832654647794928079233113315375931375256666161793940847676443360976361673388620097129846452055098078998299893089557428284534576748247839511912656774677400044067572671875079402351707486667364248941656638778678324 13953202913458179458077758198712318081080360968612706293670322500809598890112957902261494335813638697124610076920224616938205995430852303853671472438397391375921219207382002243306241062599535093297900583101865668109213352462595472520109525490034529784234406127 22576756565899391960528754164759939122237438486911538948318117428888832003428333833636751001975432637972286520281200978611594615527982150305726570517395691269010776635666536820054488902111447750072577983145933240781088431864947180006776889738976186423013084451 36529959479357571418606512363472257203317799455524245241988439929698430893541291735898245337789071335096896597201425595549800610958834454159398042955793082644931995843048539063360729964710982843370478566247798908890301784327542652526886415229010716207247490578 59106716045256963379135266528232196325555237942435784190306557358587262896969625569534996339764503973069183117482626574161395226486816604465124613473188773913942772478715075883415218866822430593443056549393732149671390216192489832533663304967986902630260575029 95636675524614534797741778891704453528873037397960029432294997288285693790510917305433241677553575308166079714684052169711195837445651058624522656428981856558874768321763614946775948831533413436813535115641531058561692000520032485060549720196997618837508065607 154743391569871498176877045419936649854428275340395813622601554646872956687480542874968238017318079281235262832166678743872591063932467663089647269902170630472817540800478690830191167698355844030256591665035263208233082216712522317594213025164984521467768640636 250380067094486032974618824311641103383301312738355843054896551935158650477991460180401479694871654589401342546850730913583786901378118721714169926331152487031692309122242305776967116529889257467070126780676794266794774217232554802654762745361982140305276706243 405123458664357531151495869731577753237729588078751656677498106582031607165472003055369717712189733870636605379017409657456377965310586384803817196233323117504509849922720996607158284228245101497326718445712057475027856433945077120248975770526966661773045346879 655503525758843564126114694043218856621030900817107499732394658517190257643463463235771197407061388460037947925868140571040164866688705106517987122564475604536202159044963302384125400758134358964396845226388851741822630651177631922903738515888948802078322053122 1060626984423201095277610563774796609858760488895859156409892765099221864808935466291140915119251122330674553304885550228496542831999291491321804318797798722040712008967684298991283684986379460461723563672100909216850487085122709043152714286415915463851367400001 1716130510182044659403725257818015466479791389712966656142287423616412122452398929526912112526312510790712501230753690799536707698687996597839791441362274326576914168012647601375409085744513819426120408898489760958673117736300340966056452802304864265929689453123 2776757494605245754681335821592812076338551878608825812552180188715633987261334395818053027645563633121387054535639241028033250530687288089161595760160073048617626176980331900366692770730893279887843972570590670175523604821423050009209167088720779729781056853124 4492888004787290414085061079410827542818343268321792468694467612332046109713733325344965140171876143912099555766392931827569958229375284687001387201522347375194540344992979501742101856475407099313964381469080431134196722557723390975265619891025643995710746306247 7269645499392536168766396901003639619156895146930618281246647801047680096975067721163018167817439777033486610302032172855603208760062572776162982961682420423812166521973311402108794627206300379201808354039671101309720327379146440984474786979746423725491803159371 11762533504179826582851457980414467161975238415252410749941115413379726206688801046507983307989315920945586166068425104683173166989437857463164370163204767799006706866966290903850896483681707478515772735508751532443917049936869831959740406870772067721202549465618 19032179003572362751617854881418106781132133562183029031187763214427406303663868767671001475806755697979072776370457277538776375749500430239327353124887188222818873388939602305959691110888007857717581089548422633753637377316016272944215193850518491446694352624989 30794712507752189334469312861832573943107371977435439781128878627807132510352669814178984783796071618924658942438882382221949542738938287702491723288091956021825580255905893209810587594569715336233353825057174166197554427252886104903955600721290559167896902090607 49826891511324552086087167743250680724239505539618468812316641842234538814016538581849986259602827316903731718809339659760725918488438717941819076412979144244644453644845495515770278705457723193950934914605596799951191804568902377848170794571809050614591254715596 80621604019076741420556480605083254667346877517053908593445520470041671324369208396028971043398898935828390661248222041982675461227377005644310799701071100266470033900751388725580866300027438530184288739662770966148746231821788482752126395293099609782488156806203 130448495530401293506643648348333935391586383056672377405762162312276210138385746977878957303001726252732122380057561701743401379715815723586129876114050244511114487545596884241351145005485161724135223654268367766099938036390690860600297189864908660397079411521799 211070099549478034927200128953417190058933260573726285999207682782317881462754955373907928346400625188560513041305783743726076840943192729230440675815121344777584521446348272966932011305512600254319512393931138732248684268212479343352423585158008270179567568328002 341518595079879328433843777301751125450519643630398663404969845094594091601140702351786885649402351441292635421363345445469478220659008452816570551929171589288699008991945157208283156310997761978454736048199506498348622304603170203952720775022916930576646979849801 552588694629357363361043906255168315509452904204124949404177527876911973063895657725694813995802976629853148462669129189195555061602201182047011227744292934066283530438293430175215167616510362232774248442130645230597306572815649547305144360180925200756214548177803 894107289709236691794887683556919440959972547834523612809147372971506064665036360077481699645205328071145783884032474634665033282261209634863581779673464523354982539430238587383498323927508124211228984490330151728945928877418819751257865135203842131332861528027604 1446695984338594055155931589812087756469425452038648562213324900848418037728932017803176513641008304700998932346701603823860588343863410816910593007417757457421266069868532017558713491544018486444003232932460796959543235450234469298563009495384767332089076076205407 2340803274047830746950819273369007197429397999873172175022472273819924102393968377880658213286213632772144716230734078458525621626124620451774174787091221980776248609298770604942211815471526610655232217422790948688489164327653289049820874630588609463421937604233011 3787499258386424802106750863181094953898823451911820737235797174668342140122900395683834726927221937473143648577435682282386209969988031268684767794508979438197514679167302622500925307015545097099235450355251745648032399777887758348383884125973376795511013680438418 6128302532434255549057570136550102151328221451784992912258269448488266242516868773564492940213435570245288364808169760740911831596112651720458942581600201418973763288466073227443137122487071707754467667778042694336521564105541047398204758756561986258932951284671429 9915801790820680351164320999731197105227044903696813649494066623156608382639769169248327667140657507718432013385605443023298041566100682989143710376109180857171277967633375849944062429502616804853703118133294439984553963883428805746588642882535363054443964965109847 16044104323254935900221891136281299256555266355481806561752336071644874625156637942812820607354093077963720378193775203764209873162213334709602652957709382276145041256099449077387199551989688512608170785911337134321075527988969853144793401639097349313376916249781276 25959906114075616251386212136012496361782311259178620211246402694801483007796407112061148274494750585682152391579380646787507914728314017698746363333818563133316319223732824927331261981492305317461873904044631574305629491872398658891382044521632712367820881214891123 42004010437330552151608103272293795618337577614660426772998738766446357632953045054873968881848843663645872769773155850551717787890527352408349016291527945409461360479832274004718461533481993830070044689955968708626705019861368512036175446160730061681197797464672399 67963916551406168402994315408306291980119888873839046984245141461247840640749452166935117156343594249328025161352536497339225702618841370107095379625346508542777679703565098932049723514974299147531918594000600282932334511733767170927557490682362774049018678679563522 109967926988736720554602418680600087598457466488499473757243880227694198273702497221809086038192437912973897931125692347890943490509368722515444395916874453952239040183397372936768185048456292977601963283956568991559039531595135682963732936843092835730216476144235921 177931843540142888957596734088906379578577355362338520741489021688942038914451949388744203194536032162301923092478228845230169193128210092622539775542220962495016719886962471868817908563430592125133881877957169274491374043328902853891290427525455609779235154823799443 287899770528879609512199152769506467177034821850837994498732901916636237188154446610553289232728470075275821023603921193121112683637578815137984171459095416447255760070359844805586093611886885102735845161913738266050413574924038536855023364368548445509451630968035364 465831614069022498469795886858412846755612177213176515240221923605578276102606395999297492427264502237577744116082150038351281876765788907760523947001316378942272479957322316674404002175317477227869727039870907540541787618252941390746313791894004055288686785791834807 753731384597902107981995039627919313932646999064014509738954825522214513290760842609850781659992972312853565139686071231472394560403367722898508118460411795389528240027682161479990095787204362330605572201784645806592201193176979927601337156262552500798138416759870171 1219562998666924606451790926486332160688259176277191024979176749127792789393367238609148274087257474550431309255768221269823676437169156630659032065461728174331800719985004478154394097962521839558475299241655553347133988811429921318347650948156556556086825202551704978 1973294383264826714433785966114251474620906175341205534718131574650007302684128081218999055747250446863284874395454292501296070997572524353557540183922139969721328960012686639634384193749726201889080871443440199153726190004606901245948988104419109056884963619311575149 3192857381931751320885576892600583635309165351618396559697308323777800092077495319828147329834507921413716183651222513771119747434741680984216572249383868144053129679997691117788778291712248041447556170685095752500860178816036822564296639052575665612971788821863280127 5166151765196578035319362858714835109930071526959602094415439898427807394761623401047146385581758368277001058046676806272415818432314205337774112433306008113774458640010377757423162485461974243336637042128535951654586368820643723810245627156994774669856752441174855276 8359009147128329356204939751315418745239236878577998654112748222205607486839118720875293715416266289690717241697899320043535565867055886321990684682689876257827588320008068875211940777174222284784193212813631704155446547636680546374542266209570440282828541263038135403 13525160912324907391524302610030253855169308405537600748528188120633414881600742121922440100998024657967718299744576126315951384299370091659764797115995884371602046960018446632635103262636196528120830254942167655810032916457324270184787893366565214952685293704212990679 21884170059453236747729242361345672600408545284115599402640936342839022368439860842797733816414290947658435541442475446359486950166425977981755481798685760629429635280026515507847044039810418812905023467755799359965479464094004816559330159576135655235513834967251126082 35409330971778144139253544971375926455577853689653200151169124463472437250040602964720173917412315605626153841187051572675438334465796069641520278914681645001031682240044962140482147302446615341025853722697967015775512380551329086744118052942700870188199128671464116761 57293501031231380886982787332721599055986398973768799553810060806311459618480463807517907733826606553284589382629527019034925284632222047623275760713367405630461317520071477648329191342257034153930877190453766375740991844645333903303448212518836525423712963638715242843 92702832003009525026236332304097525511564252663421999704979185269783896868521066772238081651238922158910743223816578591710363619098018117264796039628049050631492999760116439788811338644703649494956730913151733391516504225196662990047566265461537395611912092310179359604 149996333034240905913219119636819124567550651637190799258789246076095356487001530579755989385065528712195332606446105610745288903730240164888071800341416456261954317280187917437140529986960683648887608103605499767257496069841996893351014477980373921035625055948894602447 242699165037250430939455451940916650079114904300612798963768431345879253355522597351994071036304450871106075830262684202455652522828258282152867839969465506893447317040304357225951868631664333143844339016757233158774000295038659883398580743441911316647537148259073962051 392695498071491336852674571577735774646665555937803598222557677421974609842524127931750060421369979583301408436708789813200941426558498447040939640310881963155401634320492274663092398618625016792731947120362732926031496364880656776749595221422285237683162204207968564498 635394663108741767792130023518652424725780460238416397186326108767853863198046725283744131457674430454407484266971474015656593949386756729193807480280347470048848951360796631889044267250289349936576286137119966084805496659919316660148175964864196554330699352467042526549 1028090161180233104644804595096388199372446016176219995408883786189828473040570853215494191879044410037708892703680263828857535375945255176234747120591229433204250585681288906552136665868914366729308233257482699010836993024799973436897771186286481792013861556675011091047 1663484824288974872436934618615040624098226476414636392595209894957682336238617578499238323336718840492116376970651737844514129325332011905428554600871576903253099537042085538441180933119203716665884519394602665095642489684719290097045947151150678346344560909142053617596 2691574985469207977081739213711428823470672492590856388004093681147510809279188431714732515215763250529825269674332001673371664701277267081663301721462806336457350122723374444993317598988118083395192752652085364106479482709519263533943718337437160138358422465817064708643 4355059809758182849518673832326469447568898969005492780599303576105193145517806010213970838552482091021941646644983739517885794026609278987091856322334383239710449659765459983434498532107321800061077272046688029202121972394238553630989665488587838484702983374959118326239 7046634795227390826600413046037898271039571461596349168603397257252703954796994441928703353768245341551766916319315741191257458727886546068755158043797189576167799782488834428427816131095439883456270024698773393308601455103757817164933383826024998623061405840776183034882 11401694604985573676119086878364367718608470430601841949202700833357897100314800452142674192320727432573708562964299480709143252754495825055847014366131572815878249442254294411862314663202761683517347296745461422510723427497996370795923049314612837107764389215735301361121 18448329400212964502719499924402265989648041892198191117806098090610601055111794894071377546088972774125475479283615221900400711482382371124602172409928762392046049224743128840290130794298201566973617321444234815819324882601754187960856433140637835730825795056511484396003 29850024005198538178838586802766633708256512322800033067008798923968498155426595346214051738409700206699184042247914702609543964236878196180449186776060335207924298666997423252152445457500963250490964618189696238330048310099750558756779482455250672838590184272246785757124 48298353405411502681558086727168899697904554214998224184814897014579099210538390240285429284498672980824659521531529924509944675719260567305051359185989097599970347891740552092442576251799164817464581939633931054149373192701504746717635915595888508569415979328758270153127 78148377410610040860396673529935533406161066537798257251823695938547597365964985586499481022908373187523843563779444627119488639956138763485500545962049432807894646558737975344595021709300128067955546557823627292479421502801255305474415398051139181408006163601005055910251 126446730816021543541954760257104433104065620752796481436638592953126696576503375826784910307407046168348503085310974551629433315675399330790551905148038530407864994450478527437037597961099292885420128497457558346628794695502760052192051313647027689977422142929763326063378 204595108226631584402351433787039966510226687290594738688462288891674293942468361413284391330315419355872346649090419178748921955631538094276052451110087963215759641009216502781632619670399420953375675055281185639108216198304015357666466711698166871385428306530768381973629 331041839042653127944306194044144399614292308043391220125100881844800990518971737240069301637722465524220849734401393730378355271306937425066604356258126493623624635459695030218670217631498713838795803552738743985737010893806775409858518025345194561362850449460531708037007 535636947269284712346657627831184366124518995333985958813563170736475284461440098653353692968037884880093196383491812909127277226938475519342656807368214456839384276468911533000302837301898134792171478608019929624845227092110790767524984737043361432748278755991300090010636 866678786311937840290963821875328765738811303377377178938664052581276274980411835893422994605760350404314046117893206639505632498245412944409261163626340950463008911928606563218973054933396848630967282160758673610582237985917566177383502762388555994111129205451831798047643 1402315733581222552637621449706513131863330298711363137752227223317751559441851934546776687573798235284407242501385019548632909725183888463751917970994555407302393188397518096219275892235294983423138760768778603235427465078028356944908487499431917426859407961443131888058279 2268994519893160392928585271581841897602141602088740316690891275899027834422263770440199682179558585688721288619278226188138542223429301408161179134620896357765402100326124659438248947168691832054106042929537276846009703063945923122291990261820473420970537166894963686105922 3671310253474382945566206721288355029465471900800103454443118499216779393864115704986976369753356820973128531120663245736771451948613189871913097105615451765067795288723642755657524839403986815477244803698315880081437168141974280067200477761252390847829945128338095574164201 5940304773367543338494791992870196927067613502888843771134009775115807228286379475427176051932915406661849819739941471924909994172042491280074276240236348122833197389049767415095773786572678647531350846627853156927446871205920203189492468023072864268800482295233059260270123 9611615026841926284060998714158551956533085403688947225577128274332586622150495180414152421686272227634978350860604717661681446120655681151987373345851799887900992677773410170753298625976665463008595650326169037008884039347894483256692945784325255116630427423571154834434324 15551919800209469622555790707028748883600698906577790996711138049448393850436874655841328473619187634296828170600546189586591440292698172432061649586088148010734190066823177585849072412549344110539946496954022193936330910553814686446185413807398119385430909718804214094704447 25163534827051395906616789421187300840133784310266738222288266323780980472587369836255480895305459861931806521461150907248272886413353853584049022931939947898635182744596587756602371038526009573548542147280191230945214949901709169702878359591723374502061337142375368929138771 40715454627260865529172580128216049723734483216844529218999404373229374323024244492096809368924647496228634692061697096834864326706052026016110672518028095909369372811419765342451443451075353684088488644234213424881545860455523856149063773399121493887492246861179583023843218 65878989454312261435789369549403350563868267527111267441287670697010354795611614328352290264230107358160441213522848004083137213119405879600159695449968043808004555556016353099053814489601363257637030791514404655826760810357233025851942132990844868389553584003554951952981989 106594444081573126964961949677619400287602750743955796660287075070239729118635858820449099633154754854389075905584545100918001539825457905616270367967996139717373928367436118441505257940676716941725519435748618080708306670812756882001005906389966362277045830864734534976825207 172473433535885388400751319227022750851471018271067064101574745767250083914247473148801389897384862212549517119107393105001138752944863785216430063417964183525378483923452471540559072430278080199362550227263022736535067481169989907852948039380811230666599414868289486929807196 279067877617458515365713268904642151139073769015022860761861820837489813032883331969250489530539617066938593024691938205919140292770321690832700431385960323242752412290888589982064330370954797141088069663011640817243374151982746789853953945770777592943645245733024021906632403 451541311153343903766464588131664901990544787286089924863436566604739896947130805118051879427924479279488110143799331310920279045715185476049130494803924506768130896214341061522623402801232877340450619890274663553778441633152736697706901985151588823610244660601313508836439599 730609188770802419132177857036307053129618556301112785625298387442229709980014137087302368958464096346426703168491269516839419338485507166881830926189884830010883308505229651504687733172187674481538689553286304371021815785135483487560855930922366416553889906334337530743072002 1182150499924146322898642445167971955120163343587202710488734954046969606927144942205354248386388575625914813312290600827759698384200692642930961420993809336779014204719570713027311135973420551821989309443560967924800257418288220185267757916073955240164134566935651039579511601 1912759688694948742030820302204279008249781899888315496114033341489199316907159079292656617344852671972341516480781870344599117722686199809812792347183694166789897513224800364531998869145608226303527998996847272295822073203423703672828613846996321656718024473269988570322583603 3094910188619095064929462747372250963369945243475518206602768295536168923834304021498010865731241247598256329793072471172358816106886892452743753768177503503568911717944371077559310005119028778125517308440408240220622330621711923858096371763070276896882159040205639609902095204 5007669877314043806960283049576529971619727143363833702716801637025368240741463100790667483076093919570597846273854341516957933829573092262556546115361197670358809231169171442091308874264637004429045307437255512516444403825135627530924985610066598553600183513475628180224678807 8102580065933138871889745796948780934989672386839351909319569932561537164575767122288678348807335167168854176066926812689316749936459984715300299883538701173927720949113542519650618879383665782554562615877663752737066734446847551389021357373136875450482342553681267790126774011 13110249943247182678850028846525310906609399530203185612036371569586905405317230223079345831883429086739452022340781154206274683766033076977856845998899898844286530180282713961741927753648302786983607923314919265253511138271983178919946342983203474004082526067156895970351452818 21212830009180321550739774643474091841599071917042537521355941502148442569892997345368024180690764253908306198407707966895591433702493061693157145882438600018214251129396256481392546633031968569538170539192583017990577872718830730308967700356340349454564868620838163760478226829 34323079952427504229589803489999402748208471447245723133392313071735347975210227568447370012574193340647758220748489121101866117468526138671013991881338498862500781309678970443134474386680271356521778462507502283244089010990813909228914043339543823458647394687995059730829679647 55535909961607825780329578133473494589807543364288260654748254573883790545103224913815394193264957594556064419156197087997457551171019200364171137763777098880715032439075226924527021019712239926059949001700085301234666883709644639537881743695884172913212263308833223491307906476 89858989914035330009919381623472897338016014811533983788140567645619138520313452482262764205839150935203822639904686209099323668639545339035185129645115597743215813748754197367661495406392511282581727464207587584478755894700458548766795787035427996371859657996828283222137586123 145394899875643155790248959756946391927823558175822244442888822219502929065416677396078158399104108529759887059060883297096781219810564539399356267408892696623930846187829424292188516426104751208641676465907672885713422778410103188304677530731312169285071921305661506713445492599 235253889789678485800168341380419289265839572987356228231029389865122067585730129878340922604943259464963709698965569506196104888450109878434541397054008294367146659936583621659850011832497262491223403930115260470192178673110561737071473317766740165656931579302489789935583078722 380648789665321641590417301137365681193663131163178472673918212084624996651146807274419081004047367994723596758026452803292886108260674417833897664462900990991077506124413045952038528258602013699865080396022933355905601451520664925376150848498052334942003500608151296649028571321 615902679455000127390585642517784970459502704150534700904947601949747064236876937152760003608990627459687306456992022309488990996710784296268439061516909285358224166060996667611888540091099276191088484326138193826097780124631226662447624166264792500598935079910641086584611650043 996551469120321768981002943655150651653165835313713173578865814034372060888023744427179084613037995454410903215018475112781877104971458714102336725979810276349301672185409713563927068349701289890953564722161127182003381576151891587823775014762844835540938580518792383233640221364 1612454148575321896371588586172935622112668539464247874483813415984119125124900681579939088222028622914098209672010497422270868101682243010370775787496719561707525838246406381175815608440800566082042049048299321008101161700783118250271399181027637336139873660429433469818251871407 2609005617695643665352591529828086273765834374777961048062679230018491186012924426007118172835066618368509112887028972535052745206653701724473112513476529838056827510431816094739742676790501855972995613770460448190104543276935009838095174195790482171680812240948225853051892092771 4221459766270965561724180116001021895878502914242208922546492646002610311137825107587057261057095241282607322559039469957323613308335944734843888300973249399764353348678222475915558285231302422055037662818759769198205704977718128088366573376818119507820685901377659322870143964178 6830465383966609227076771645829108169644337289020169970609171876021101497150749533594175433892161859651116435446068442492376358514989646459317000814449779237821180859110038570655300962021804278028033276589220217388310248254653137926461747572608601679501498142325885175922036056949 11051925150237574788800951761830130065522840203262378893155664522023711808288574641181232694949257100933723758005107912449699971823325591194160889115423028637585534207788261046570859247253106700083070939407979986586515953232371266014828320949426721187322184043703544498792180021127 17882390534204184015877723407659238235167177492282548863764836398044813305439324174775408128841418960584840193451176354942076330338315237653477889929872807875406715066898299617226160209274910978111104215997200203974826201487024403941290068522035322866823682186029429674714216078076 28934315684441758804678675169489368300690017695544927756920500920068525113727898815956640823790676061518563951456284267391776302161640828847638779045295836512992249274686560663797019456528017678194175155405180190561342154719395669956118389471462044054145866229732974173506396099203 46816706218645942820556398577148606535857195187827476620685337318113338419167222990732048952632095022103404144907460622333852632499956066501116668975168644388398964341584860281023179665802928656305279371402380394536168356206420073897408457993497366920969548415762403848220612177279 75751021903087701625235073746637974836547212883372404377605838238181863532895121806688689776422771083621968096363744889725628934661596895348755448020464480901391213616271420944820199122330946334499454526807560585097510510925815743853526847464959410975115414645495378021727008276482 122567728121733644445791472323786581372404408071199880998291175556295201952062344797420738729054866105725372241271205512059481567161552961849872116995633125289790177957856281225843378788133874990804733898209940979633678867132235817750935305458456777896084963061257781869947620453761 198318750024821346071026546070424556208951620954572285375897013794477065484957466604109428505477637189347340337634950401785110501823149857198627565016097606191181391574127702170663577910464821325304188425017501564731189378058051561604462152923416188871200377706753159891674628730243 320886478146554990516818018394211137581356029025772166374188189350772267437019811401530167234532503295072712578906155913844592068984702819048499682011730731480971569531983983396506956698598696316108922323227442544364868245190287379355397458381872966767285340768010941761622249184004 519205228171376336587844564464635693790307649980344451750085203145249332921977278005639595740010140484420052916541106315629702570807852676247127247027828337672152961106111685567170534609063517641413110748244944109096057623248338940959859611305289155638485718474764101653296877914247 840091706317931327104662582858846831371663679006116618124273392496021600358997089407169762974542643779492765495447262229474294639792555495295626929039559069153124530638095668963677491307662213957522033071472386653460925868438626320315257069687162122405771059242775043414919127098251 1359296934489307663692507147323482525161971328986461069874358595641270933280974367412809358714552784263912818411988368545103997210600408171542754176067387406825277491744207354530848025916725731598935143819717330762556983491686965261275116680992451278044256777717539145068216005012498 2199388640807238990797169730182329356533635007992577687998631988137292533639971456819979121689095428043405583907435630774578291850392963666838381105106946475978402022382303023494525517224387945556457176891189717416017909360125591581590373750679613400450027836960314188483135132110749 3558685575296546654489676877505811881695606336979038757872990583778563466920945824232788480403648212307318402319423999319682289060993371838381135281174333882803679514126510378025373543141113677155392320710907048178574892851812556842865490431672064678494284614677853333551351137123247 5758074216103785645286846607688141238229241344971616445871622571915856000560917281052767602092743640350723986226859630094260580911386335505219516386281280358782081536508813401519899060365501622711849497602096765594592802211938148424455864182351678078944312451638167522034486269233996 9316759791400332299776523485193953119924847681950655203744613155694419467481863105285556082496391852658042388546283629413942869972379707343600651667455614241585761050635323779545272603506615299867241818313003813773167695063750705267321354614023742757438597066316020855585837406357243 15074834007504117945063370092882094358154089026922271649616235727610275468042780386338323684589135493008766374773143259508203450883766042848820168053736894600367842587144137181065171663872116922579091315915100579367760497275688853691777218796375420836382909517954188377620323675591239 24391593798904450244839893578076047478078936708872926853360848883304694935524643491623879767085527345666808763319426888922146320856145750192420819721192508841953603637779460960610444267378732222446333134228104393140928192339439558959098573410399163593821506584270209233206161081948482 39466427806408568189903263670958141836233025735795198502977084610914970403567423877962203451674662838675575138092570148430349771739911793041240987774929403442321446224923598141675615931250849145025424450143204972508688689615128412650875792206774584430204416102224397610826484757539721 63858021605313018434743157249034189314311962444668125356337933494219665339092067369586083218760190184342383901411997037352496092596057543233661807496121912284275049862703059102286060198629581367471757584371309365649616881954567971609974365617173748024025922686494606844032645839488203 103324449411721586624646420919992331150544988180463323859315018105134635742659491247548286670434853023017959039504567185782845864335969336274902795271051315726596496087626657243961676129880430512497182034514514338158305571569696384260850157823948332454230338788719004454859130597027924 167182471017034605059389578169026520464856950625131449215652951599354301081751558617134369889195043207360342940916564223135341956932026879508564602767173228010871545950329716346247736328510011879968939618885823703807922453524264355870824523441122080478256261475213611298891776436516127 270506920428756191684035999089018851615401938805594773074967969704488936824411049864682656559629896230378301980421131408918187821267996215783467398038224543737468042037956373590209412458390442392466121653400338041966228025093960740131674681265070412932486600263932615753750907033544051 437689391445790796743425577258045372080258889430726222290620921303843237906162608481817026448824939437738644921337695632053529778200023095292032000805397771748339587988286089936457148786900454272435061272286161745774150478618225096002499204706192493410742861739146227052642683470060178 708196311874546988427461576347064223695660828236320995365588891008332174730573658346499683008454835668116946901758827040971717599468019311075499398843622315485807630026242463526666561245290896664901182925686499787740378503712185836134173885971262906343229462003078842806393590503604229 1145885703320337785170887153605109595775919717667047217656209812312175412636736266828316709457279775105855591823096522673025247377668042406367531399649020087234147218014528553463123710032191350937336244197972661533514528982330410932136673090677455399753972323742225069859036273973664407 1854082015194884773598348729952173819471580545903368213021798703320507587367309925174816392465734610773972538724855349713996964977136061717443030798492642402719954848040771016989790271277482247602237427123659161321254907486042596768270846976648718306097201785745303912665429864477268636 2999967718515222558769235883557283415247500263570415430678008515632683000004046192003133101923014385879828130547951872387022212354804104123810562198141662489954102066055299570452913981309673598539573671321631822854769436468373007700407520067326173705851174109487528982524466138450933043 4854049733710107332367584613509457234719080809473783643699807218953190587371356117177949494388748996653800669272807222101019177331940165841253592996634304892674056914096070587442704252587155846141811098445290984176024343954415604468678367043974892011948375895232832895189896002928201679 7854017452225329891136820497066740649966581073044199074377815734585873587375402309181082596311763382533628799820759094488041389686744269965064155194775967382628158980151370157895618233896829444681384769766922807030793780422788612169085887111301065717799550004720361877714362141379134722 12708067185935437223504405110576197884685661882517982718077622953539064174746758426359032090700512379187429469093566316589060567018684435806317748191410272275302215894247440745338322486483985290823195868212213791206818124377204216637764254155275957729747925899953194772904258144307336401 20562084638160767114641225607642938534652242955562181792455438688124937762122160735540114687012275761721058268914325411077101956705428705771381903386186239657930374874398810903233940720380814735504580637979136598237611904799992828806850141266577023447547475904673556650618620285686471123 33270151824096204338145630718219136419337904838080164510533061641664001936868919161899146777712788140908487738007891727666162523724113141577699651577596511933232590768646251648572263206864800026327776506191350389444430029177197045444614395421852981177295401804626751423522878429993807524 53832236462256971452786856325862074953990147793642346302988500329788939698991079897439261464725063902629546006922217138743264480429541847349081554963782751591162965643045062551806203927245614761832357144170486987682041933977189874251464536688430004624842877709300308074141498715680278647 87102388286353175790932487044081211373328052631722510813521561971452941635859999059338408242437852043538033744930108866409427004153654988926781206541379263524395556411691314200378467134110414788160133650361837377126471963154386919696078932110282985802138279513927059497664377145674086171 140934624748610147243719343369943286327318200425364857116510062301241881334851078956777669707162915946167579751852326005152691484583196836275862761505162015115558522054736376752184671061356029549992490794532324364808513897131576793947543468798712990426981157223227367571805875861354364818 228037013034963323034651830414024497700646253057087367930031624272694822970711078016116077949600767989705613496782434871562118488736851825202643968046541278639954078466427690952563138195466444338152624444894161741934985860285963713643622400908995976229119436737154427069470253007028450989 368971637783573470278371173783967784027964453482452225046541686573936704305562156972893747656763683935873193248634760876714809973320048661478506729551703293755512600521164067704747809256822473888145115239426486106743499757417540507591165869707708966656100593960381794641276128868382815807 597008650818536793313023004197992281728610706539539592976573310846631527276273234989009825606364451925578806745417195748276928462056900486681150697598244572395466678987591758657310947452288918226297739684320647848678485617703504221234788270616704942885220030697536221710746381875411266796 965980288602110263591394177981960065756575160021991818023114997420568231581835391961903573263128135861451999994051956624991738435376949148159657427149947866150979279508755826362058756709111392114442854923747133955421985375121044728825954140324413909541320624657918016352022510743794082603 1562988939420647056904417182179952347485185866561531410999688308267199758858108626950913398869492587787030806739469152373268666897433849634840808124748192438546445958496347585019369704161400310340740594608067781804100470992824548950060742410941118852426540655355454238062768892619205349399 2528969228022757320495811360161912413241761026583523229022803305687767990439944018912816972132620723648482806733521108998260405332810798783000465551898140304697425238005103411381428460870511702455183449531814915759522456367945593678886696551265532761967861280013372254414791403362999432002 4091958167443404377400228542341864760726946893145054640022491613954967749298052645863730371002113311435513613472990261371529072230244648417841273676646332743243871196501450996400798165031912012795924044139882697563622927360770142628947438962206651614394401935368826492477560295982204781401 6620927395466161697896039902503777173968707919728577869045294919642735739737996664776547343134734035083996420206511370369789477563055447200841739228544473047941296434506554407782226625902423715251107493671697613323145383728715736307834135513472184376362263215382198746892351699345204213403 10712885562909566075296268444845641934695654812873632509067786533597703489036049310640277714136847346519510033679501631741318549793300095618683012905190805791185167631008005404183024790934335728047031537811580310886768311089485878936781574475678835990756665150751025239369911995327408994804 17333812958375727773192308347349419108664362732602210378113081453240439228774045975416825057271581381603506453886013002111108027356355542819524752133735278839126464065514559811965251416836759443298139031483277924209913694818201615244615709989151020367118928366133223986262263694672613208207 28046698521285293848488576792195061043360017545475842887180867986838142717810095286057102771408428728123016487565514633852426577149655638438207765038926084630311631696522565216148276207771095171345170569294858235096682005907687494181397284464829856357875593516884249225632175690000022203011 45380511479661021621680885139544480152024380278078053265293949440078581946584141261473927828680010109726522941451527635963534604506011181257732517172661363469438095762037125028113527624607854614643309600778136159306595700725889109426012994453980876724994521883017473211894439384672635411218 73427210000946315470169461931739541195384397823553896152474817426916724664394236547531030600088438837849539429017042269815961181655666819695940282211587448099749727458559690244261803832378949785988480170072994394403277706633576603607410278918810733082870115399901722437526615074672657614229 118807721480607337091850347071284021347408778101631949417768766866995306610978377809004958428768448947576062370468569905779495786161678000953672799384248811569187823220596815272375331456986804400631789770851130553709873407359465713033423273372791609807864637282919195649421054459345293025447 192234931481553652562019809003023562542793175925185845570243584293912031275372614356535989028856887785425601799485612175595456967817344820649613081595836259668937550679156505516637135289365754186620269940924124948113151113993042316640833552291602342890734752682820918086947669534017950639676 311042652962160989653870156074307583890201954026817794988012351160907337886350992165540947457625336733001664169954182081374952753979022821603285880980085071238125373899753320789012466746352558587252059711775255501823024521352508029674256825664393952698599389965740113736368723993363243665123 503277584443714642215889965077331146432995129952003640558255935454819369161723606522076936486482224518427265969439794256970409721796367642252898962575921330907062924578909826305649602035718312773872329652699380449936175635345550346315090377955996295589334142648561031823316393527381194304799 814320237405875631869760121151638730323197083978821435546268286615726707048074598687617883944107561251428930139393976338345362475775390463856184843556006402145188298478663147094662068782070871361124389364474635951759200156698058375989347203620390248287933532614301145559685117520744437969922 1317597821849590274085650086228969876756192213930825076104524222070546076209798205209694820430589785769856196108833770595315772197571758106109083806131927733052251223057572973400311670817789184134996719017174016401695375792043608722304437581576386543877267675262862177383001511048125632274721 2131918059255465905955410207380608607079389297909646511650792508686272783257872803897312704374697347021285126248227746933661134673347148569965268649687934135197439521536236120494973739599860055496121108381648652353454575948741667098293784785196776792165201207877163322942686628568870070244643 3449515881105056180041060293609578483835581511840471587755316730756818859467671009107007524805287132791141322357061517528976906870918906676074352455819861868249690744593809093895285410417649239631117827398822668755149951740785275820598222366773163336042468883140025500325688139616995702519364 5581433940360522085996470500990187090914970809750118099406109239443091642725543813004320229179984479812426448605289264462638041544266055246039621105507796003447130266130045214390259150017509295127238935780471321108604527689526942918892007151969940128207670091017188823268374768185865772764007 9030949821465578266037530794599765574750552321590589687161425970199910502193214822111327753985271612603567770962350781991614948415184961922113973561327657871696821010723854308285544560435158534758356763179293989863754479430312218739490229518743103464250138974157214323594062907802861475283371 14612383761826100352034001295589952665665523131340707786567535209643002144918758635115647983165256092415994219567640046454252989959451017168153594666835453875143951276853899522675803710452667829885595698959765310972359007119839161658382236670713043592457809065174403146862437675988727248047378 23643333583291678618071532090189718240416075452931297473728961179842912647111973457226975737150527705019561990529990828445867938374635979090267568228163111746840772287577753830961348270887826364643952462139059300836113486550151380397872466189456147056707948039331617470456500583791588723330749 38255717345117778970105533385779670906081598584272005260296496389485914792030732092342623720315783797435556210097630874900120928334086996258421162894998565621984723564431653353637151981340494194529548161098824611808472493669990542056254702860169190649165757104506020617318938259780315971378127 61899050928409457588177065475969389146497674037203302734025457569328827439142705549569599457466311502455118200627621703345988866708722975348688731123161677368825495852009407184598500252228320559173500623237883912644585980220141922454127169049625337705873705143837638087775438843571904694708876 100154768273527236558282598861749060052579272621475307994321953958814742231173437641912223177782095299890674410725252578246109795042809971607109894018160242990810219416441060538235652233568814753703048784336708524453058473890132464510381871909794528355039462248343658705094377103352220666087003 162053819201936694146459664337718449199076946658678610728347411528143569670316143191481822635248406802345792611352874281592098661751532946955798625141321920359635715268450467722834152485797135312876549407574592437097644454110274386964509040959419866060913167392181296792869815946924125360795879 262208587475463930704742263199467509251656219280153918722669365486958311901489580833394045813030502102236467022078126859838208456794342918562908519159482163350445934684891528261069804719365950066579598191911300961550702928000406851474890912869214394415952629640524955497964193050276346026882882 424262406677400624851201927537185958450733165938832529451016777015101881571805724024875868448278908904582259633431001141430307118545875865518707144300804083710081649953341995983903957205163085379456147599485893398648347382110681238439399953828634260476865797032706252290834008997200471387678761 686470994152864555555944190736653467702389385218986448173686142502060193473295304858269914261309411006818726655509128001268515575340218784081615663460286247060527584638233524244973761924529035446035745791397194360199050310111088089914290866697848654892818426673231207788798202047476817414561643 1110733400830265180407146118273839426153122551157818977624702919517162075045101028883145782709588319911400986288940129142698822693886094649600322807761090330770609234591575520228877719129692120825491893390883087758847397692221769328353690820526482915369684223705937460079632211044677288802240404 1797204394983129735963090309010492893855511936376805425798389062019222268518396333741415696970897730918219712944449257143967338269226313433681938471221376577831136819229809044473851481054221156271527639182280282119046448002332857418267981687224331570262502650379168667868430413092154106216802047 2907937795813394916370236427284332320008634487534624403423091981536384343563497362624561479680486050829620699233389386286666160963112408083282261278982466908601746053821384564702729200183913277097019532573163369877893845694554626746621672507750814485632186874085106127948062624136831395019042451 4705142190796524652333326736294825213864146423911429829221481043555606612081893696365977176651383781747840412177838643430633499232338721516964199750203843486432882873051193609176580681238134433368547171755443651996940293696887484164889654194975146055894689524464274795816493037228985501235844498 7613079986609919568703563163579157533872780911446054232644573025091990955645391058990538656331869832577461111411228029717299660195451129600246461029186310395034628926872578173879309881422047710465566704328607021874834139391442110911511326702725960541526876398549380923764555661365816896254886949 12318222177406444221036889899873982747736927335357484061866054068647597567727284755356515832983253614325301523589066673147933159427789851117210660779390153881467511799923771783055890562660182143834113876084050673871774433088329595076400980897701106597421565923013655719581048698594802397490731447 19931302164016363789740453063453140281609708246803538294510627093739588523372675814347054489315123446902762635000294702865232819623240980717457121808576464276502140726796349956935200444082229854299680580412657695746608572479771705987912307600427067138948442321563036643345604359960619293745618396 32249524341422808010777342963327123029346635582161022356376681162387186091099960569703570322298377061228064158589361376013165979051030831834667782587966618157969652526720121739991091006742411998133794456496708369618383005568101301064313288498128173736370008244576692362926653058555421691236349843 52180826505439171800517796026780263310956343828964560650887308256126774614472636384050624811613500508130826793589656078878398798674271812552124904396543082434471793253516471696926291450824641852433475036909366065364991578047873007052225596098555240875318450566139729006272257418516040984981968239 84430350846861979811295138990107386340302979411125583007263989418513960705572596953754195133911877569358890952179017454891564777725302644386792686984509700592441445780236593436917382457567053850567269493406074434983374583615974308116538884596683414611688458810716421369198910477071462676218318082 136611177352301151611812935016887649651259323240090143658151297674640735320045233337804819945525378077489717745768673533769963576399574456938917591381052783026913239033753065133843673908391695703000744530315440500348366161663847315168764480695238655487006909376856150375471167895587503661200286321 221041528199163131423108074006995035991562302651215726665415287093154696025617830291559015079437255646848608697947690988661528354124877101325710278365562483619354684813989658570761056365958749553568014023721514935331740745279821623285303365291922070098695368187572571744670078372658966337418604403 357652705551464283034921009023882685642821625891305870323566584767795431345663063629363835024962633724338326443716364522431491930524451558264627869746615266646267923847742723704604730274350445256568758554036955435680106906943668938454067845987160725585702277564428722120141246268246469998618890724 578694233750627414458029083030877721634383928542521596988981871860950127371280893920922850104399889371186935141664055511093020284649328659590338148112177750265622608661732382275365786640309194810136772577758470371011847652223490561739371211279082795684397645752001293864811324640905436336037495127 936346939302091697492950092054760407277205554433827467312548456628745558716943957550286685129362523095525261585380420033524512215173780217854966017858793016911890532509475105979970516914659640066705531131795425806691954559167159500193439057266243521270099923316430015984952570909151906334656385851 1515041173052719111950979175085638128911589482976349064301530328489695686088224851471209535233762412466712196727044475544617532499823108877445304165970970767177513141171207488255336303554968834876842303709553896177703802211390650061932810268545326316954497569068431309849763895550057342670693880978 2451388112354810809443929267140398536188795037410176531614078785118441244805168809021496220363124935562237458312424895578142044714996889095300270183829763784089403673680682594235306820469628474943547834841349321984395756770557809562126249325811569838224597492384861325834716466459209249005350266829 3966429285407529921394908442226036665100384520386525595915609113608136930893393660492705755596887348028949655039469371122759577214819997972745574349800734551266916814851890082490643124024597309820390138550903218162099558981948459624059059594356896155179095061453292635684480362009266591676044147807 6417817397762340730838837709366435201289179557796702127529687898726578175698562469514201975960012283591187113351894266700901621929816887068045844533630498335356320488532572676725949944494225784763937973392252540146495315752506269186185308920168465993403692553838153961519196828468475840681394414636 10384246683169870652233746151592471866389564078183227723445297012334715106591956130006907731556899631620136768391363637823661199144636885040791418883431232886623237303384462759216593068518823094584328111943155758308594874734454728810244368514525362148582787615291446597203677190477742432357438562443 16802064080932211383072583860958907067678743635979929850974984911061293282290518599521109707516911915211323881743257904524562821074453772108837263417061731221979557791917035435942543013013048879348266085335408298455090190486960997996429677434693828141986480169129600558722874018946218273038832977079 27186310764102082035306330012551378934068307714163157574420281923396008388882474729528017439073811546831460650134621542348224020219090657149628682300492964108602795095301498195159136081531871973932594197278564056763685065221415726806674045949219190290569267784421047155926551209423960705396271539522 43988374845034293418378913873510286001747051350143087425395266834457301671172993329049127146590723462042784531877879446872786841293544429258465945717554695330582352887218533631101679094544920853280860282613972355218775255708376724803103723383913018432555747953550647714649425228370178978435104516601 71174685609136375453685243886061664935815359064306244999815548757853310060055468058577144585664535008874245182012500989221010861512635086408094628018047659439185147982520031826260815176076792827213454479892536411982460320929792451609777769333132208723125015737971694870575976437794139683831376056123 115163060454170668872064157759571950937562410414449332425210815592310611731228461387626271732255258470917029713890380436093797702806179515666560573735602354769767500869738565457362494270621713680494314762506508767201235576638169176412881492717045227155680763691522342585225401666164318662266480572724 186337746063307044325749401645633615873377769478755577425026364350163921791283929446203416317919793479791274895902881425314808564318814602074655201753650014208952648852258597283623309446698506507707769242399045179183695897567961628022659262050177435878805779429494037455801378103958458346097856628847 301500806517477713197813559405205566810940179893204909850237179942474533522512390833829688050175051950708304609793261861408606267124994117741215775489252368978720149721997162740985803717320220188202084004905553946384931474206130804435540754767222663034486543121016380041026779770122777008364337201571 487838552580784757523562961050839182684317949371960487275263544292638455313796320280033104368094845430499579505696143286723414831443808719815870977242902383187672798574255760024609113164018726695909853247304599125568627371774092432458200016817400098913292322550510417496828157874081235354462193830418 789339359098262470721376520456044749495258129265165397125500724235112988836308711113862792418269897381207884115489405148132021098568802837557086752732154752166392948296252922765594916881338946884111937252210153071953558845980223236893740771584622761947778865671526797537854937644204012362826531031989 1277177911679047228244939481506883932179576078637125884400764268527751444150105031393895896786364742811707463621185548434855435930012611557372957729975057135354065746870508682790204030045357673580021790499514752197522186217754315669351940788402022860861071188222037215034683095518285247717288724862407 2066517270777309698966316001962928681674834207902291281526264992762864432986413742507758689204634640192915347736674953582987457028581414394930044482707211887520458695166761605555798946926696620464133727751724905269475745063734538906245681559986645622808850053893564012572538033162489260080115255894396 3343695182456356927211255483469812613854410286539417165927029261290615877136518773901654585990999383004622811357860502017842892958594025952303002212682269022874524442037270288346002976972054294044155518251239657466997931281488854575597622348388668483669921242115601227607221128680774507797403980756803 5410212453233666626177571485432741295529244494441708447453294254053480310122932516409413275195634023197538159094535455600830349987175440347233046695389480910394983137204031893901801923898750914508289246002964562736473676345223393481843303908375314106478771296009165240179759161843263767877519236651199 8753907635690023553388826968902553909383654780981125613380323515344096187259451290311067861186633406202160970452395957618673242945769466299536048908071749933269507579241302182247804900870805208552444764254204220203471607626712248057440926256763982590148692538124766467786980290524038275674923217408002 14164120088923690179566398454335295204912899275422834060833617769397576497382383806720481136382267429399699129546931413219503592932944906646769095603461230843664490716445334076149606824769556123060734010257168782939945283971935641539284230165139296696627463834133931707966739452367302043552442454059201 22918027724613713732955225423237849114296554056403959674213941284741672684641835097031548997568900835601860099999327370838176835878714372946305144511532980776933998295686636258397411725640361331613178774511373003143416891598647889596725156421903279286776156372258698175753719742891340319227365671467203 37082147813537403912521623877573144319209453331826793735047559054139249182024218903752030133951168265001559229546258784057680428811659279593074240114994211620598489012131970334547018550409917454673912784768541786083362175570583531136009386587042575983403620206392629883720459195258642362779808125526404 60000175538151117645476849300810993433506007388230753409261500338880921866666054000783579131520069100603419329545586154895857264690373652539379384626527192397532487307818606592944430276050278786287091559279914789226779067169231420732734543008945855270179776578651328059474178938149982682007173796993607 97082323351688521557998473178384137752715460720057547144309059393020171048690272904535609265471237365604978559091844938953537693502032932132453624741521404018130976319950576927491448826460196240961004344048456575310141242739814951868743929595988431253583396785043957943194638133408625044786981922520011 157082498889839639203475322479195131186221468108288300553570559731901092915356326905319188396991306466208397888637431093849394958192406584671833009368048596415663463627769183520435879102510475027248095903328371364536920309909046372601478472604934286523763173363695286002668817071558607726794155719513618 254164822241528160761473795657579268938936928828345847697879619124921263964046599809854797662462543831813376447729276032802932651694439516804286634109570000433794439947719760447927327928970671268209100247376827939847061552648861324470222402200922717777346570148739243945863455204967232771581137642033629 411247321131367799964949118136774400125158396936634148251450178856822356879402926715173986059453850298021774336366707126652327609886846101476119643477618596849457903575488943968363207031481146295457196150705199304383981862557907697071700874805857004301109743512434529948532272276525840498375293361547247 665412143372895960726422913794353669064095325764979995949329797981743620843449526525028783721916394129835150784095983159455260261581285618280406277587188597283252343523208704416290534960451817563666296398082027244231043415206769021541923277006779722078456313661173773894395727481493073269956431003580876 1076659464504263760691372031931128069189253722701614144200779976838565977722852453240202769781370244427856925120462690286107587871468131719756525921064807194132710247098697648384653741991932963859123492548787226548615025277764676718613624151812636726379566057173608303842927999758018913768331724365128123 1742071607877159721417794945725481738253349048466594140150109774820309598566301979765231553503286638557692075904558673445562848133049417338036932198651995791415962590621906352800944276952384781422789788946869253792846068692971445740155547428819416448458022370834782077737323727239511987038288155368708999 2818731072381423482109166977656609807442602771168208284350889751658875576289154433005434323284656882985549001025021363731670436004517549057793458119716802985548672837720604001185598018944317745281913281495656480341461093970736122458769171580632053174837588428008390381580251726997530900806619879733837122 4560802680258583203526961923382091545695951819634802424500999526479185174855456412770665876787943521543241076929580037177233284137566966395830390318368798776964635428342510353986542295896702526704703070442525734134307162663707568198924719009451469623295610798843172459317575454237042887844908035102546121 7379533752640006685636128901038701353138554590803010708851889278138060751144610845776100200072600404528790077954601400908903720142084515453623848438085601762513308266063114355172140314841020271986616351938182214475768256634443690657693890590083522798133199226851562840897827181234573788651527914836383243 11940336432898589889163090824420792898834506410437813133352888804617245926000067258546766076860543926072031154884181438086137004279651481849454238756454400539477943694405624709158682610737722798691319422380707948610075419298151258856618609599534992421428810025694735300215402635471616676496435949938929364 19319870185538596574799219725459494251973061001240823842204778082755306677144678104322866276933144330600821232838782838995040724421735997303078087194540002301991251960468739064330822925578743070677935774318890163085843675932594949514312500189618515219562009252546298141113229816706190465147963864775312607 31260206618437186463962310549880287150807567411678636975557666887372552603144745362869632353793688256672852387722964277081177728701387479152532325950994402841469195654874363773489505536316465869369255196699598111695919095230746208370931109789153507640990819278241033441328632452177807141644399814714241971 50580076803975783038761530275339781402780628412919460817762444970127859280289423467192498630726832587273673620561747116076218453123123476455610413145534405143460447615343102837820328461895208940047190971018488274781762771163341157885243609978772022860552828530787331582441862268883997606792363679489554578 81840283422412969502723840825220068553588195824598097793320111857500411883434168830062130984520520843946526008284711393157396181824510955608142739096528807984929643270217466611309833998211674809416446167718086386477681866394087366256174719767925530501543647809028365023770494721061804748436763494203796549 132420360226388752541485371100559849956368824237517558611082556827628271163723592297254629615247353431220199628846458509233614634947634432063753152242063213128390090885560569449130162460106883749463637138736574661259444637557428524141418329746697553362096476339815696606212356989945802355229127173693351127 214260643648801722044209211925779918509957020062115656404402668685128683047157761127316760599767874275166725637131169902391010816772145387671895891338592021113319734155778036060439996458318558558880083306454661047737126503951515890397593049514623083863640124148844061629982851711007607103665890667897147676 346681003875190474585694583026339768466325844299633215015485225512756954210881353424571390215015227706386925265977628411624625451719779819735649043580655234241709825041338605509570158918425442308343720445191235708996571141508944414539011379261320637225736600488659758236195208700953409458895017841590498803 560941647523992196629903794952119686976282864361748871419887894197885637258039114551888150814783101981553650903108798314015636268491925207407544934919247255355029559197116641570010155376744000867223803751645896756733697645460460304936604428775943721089376724637503819866178060411961016562560908509487646479 907622651399182671215598377978459455442608708661382086435373119710642591468920467976459541029798329687940576169086426725640261720211705027143193978499902489596739384238455247079580314295169443175567524196837132465730268786969404719475615808037264358315113325126163578102373269112914426021455926351078145282 1468564298923174867845502172930579142418891573023130957855261013908528228726959582528347691844581431669494227072195225039655897988703630234550738913419149744951768943435571888649590469671913444042791327948483029222463966432429865024412220236813208079404490049763667397968551329524875442584016834860565791761 2376186950322357539061100550909038597861500281684513044290634133619170820195880050504807232874379761357434803241281651765296159708915335261693932891919052234548508327674027135729170783967082887218358852145320161688194235219399269743887836044850472437719603374889830976070924598637789868605472761211643937043 3844751249245532406906602723839617740280391854707644002145895147527699048922839633033154924718961193026929030313476876804952057697618965496244671805338201979500277271109599024378761253638996331261150180093803190910658201651829134768300056281663680517124093424653498374039475928162665311189489596072209728804 6220938199567889945967703274748656338141892136392157046436529281146869869118719683537962157593340954384363833554758528570248217406534300757938604697257254214048785598783626160107932037606079218479509032239123352598852436871228404512187892326514152954843696799543329350110400526800455179794962357283853665847 10065689448813422352874305998588274078422283991099801048582424428674568918041559316571117082312302147411292863868235405375200275104153266254183276502595456193549062869893225184486693291245075549740659212332926543509510638523057539280487948608177833471967790224196827724149876454963120490984451953356063394651 16286627648381312298842009273336930416564176127491958095018953709821438787160279000109079239905643101795656697422993933945448492510687567012121881199852710407597848468676851344594625328851154768220168244572049896108363075394285943792675840934691986426811487023740157074260276981763575670779414310639917060498 26352317097194734651716315271925204494986460118591759143601378138496007705201838316680196322217945249206949561291229339320648767614840833266305157702448166601146911338570076529081318620096230317960827456904976439617873713917343483073163789542869819898779277247936984798410153436726696161763866263995980455149 42638944745576046950558324545262134911550636246083717238620331848317446492362117316789275562123588351002606258714223273266097260125528400278427038902300877008744759807246927873675943948947385086180995701477026335726236789311629426865839630477561806325590764271677141872670430418490271832543280574635897515647 68991261842770781602274639817187339406537096364675476382221709986813454197563955633469471884341533600209555820005452612586746027740369233544732196604749043609891671145817004402757262569043615404141823158382002775344110503228972909939003420020431626224370041519614126671080583855216967994307146838631877970796 111630206588346828552832964362449474318087732610759193620842041835130900689926072950258747446465121951212162078719675885852843287865897633823159235507049920618636430953063932276433206517991000490322818859859029111070347292540602336804843050497993432549960805791291268543751014273707239826850427413267775486443 180621468431117610155107604179636813724624828975434670003063751821944354887490028583728219330806655551421717898725128498439589315606266867367891432111798964228528102098880936679190469087034615894464642018241031886414457795769575246743846470518425058774330847310905395214831598128924207821157574251899653457239 292251675019464438707940568542086288042712561586193863623905793657075255577416101533986966777271777502633879977444804384292432603472164501191050667618848884847164533051944868955623675605025616384787460878100060997484805088310177583548689521016418491324291653102196663758582612402631447648008001665167428943682 472873143450582048863048172721723101767337390561628533626969545479019610464906130117715186108078433054055597876169932882732021919078431368558942099730647849075692635150825805634814144692060232279252102896341092883899262884079752830292535991534843550098622500413102058973414210531555655469165575917067082400921 765124818470046487570988741263809389810049952147822397250875339136094866042322231651702152885350210556689477853614737267024454522550595869749992767349496733922857168202770674590437820297085848664039563774441153881384067972389930413841225512551262041422914153515298722731996822934187103117173577582234511344603 1237997961920628536434036913985532491577387342709450930877844884615114476507228361769417338993428643610745075729784670149756476441629027238308934867080144582998549803353596480225251964989146080943291666670782246765283330856469683244133761504086105591521536653928400781705411033465742758586339153499301593745524 2003122780390675024005025655249341881387437294857273328128720223751209342549550593421119491878778854167434553583399407416780930964179623108058927634429641316921406971556367154815689785286231929607331230445223400646667398828859613657974987016637367632944450807443699504437407856399929861703512731081536105090127 3241120742311303560439062569234874372964824637566724259006565108366323819056778955190536830872207497778179629313184077566537407405808650346367862501509785899919956774909963635040941750275378010550622897116005647411950729685329296902108748520723473224465987461372100286142818889865672620289851884580837698835651 5244243522701978584444088224484216254352261932423997587135285332117533161606329548611656322750986351945614182896583484983318338369988273454426790135939427216841363746466330789856631535561609940157954127561229048058618128514188910560083735537360840857410438268815799790580226746265602481993364615662373803925778 8485364265013282144883150793719090627317086569990721846141850440483856980663108503802193153623193849723793812209767562549855745775796923800794652637449213116761320521376294424897573285836987950708577024677234695470568858199518207462192484058084314081876425730187900076723045636131275102283216500243211502761429 13729607787715260729327239018203306881669348502414719433277135772601390142269438052413849476374180201669407995106351047533174084145785197255221442773388640333602684267842625214754204821398597890866531152238463743529186986713707118022276219595445154939286863999003699867303272382396877584276581115905585306687207 22214972052728542874210389811922397508986435072405441279418986213085247122932546556216042629997374051393201807316118610083029829921582121056016095410837853450364004789218919639651778107235585841575108176915698438999755844913225325484468703653529469021163289729191599944026318018528152686559797616148796809448636 35944579840443803603537628830125704390655783574820160712696121985686637265201984608629892106371554253062609802422469657616203914067367318311237538184226493783966689057061544854405982928634183732441639329154162182528942831626932443506744923248974623960450153728195299811329590400925030270836378732054382116135843 58159551893172346477748018642048101899642218647225601992115108198771884388134531164845934736368928304455811609738588267699233743988949439367253633595064347234330693846280464494057761035869769574016747506069860621528698676540157768991213626902504092981613443457386899755355908419453182957396176348203178925584479 94104131733616150081285647472173806290298002222045762704811230184458521653336515773475826842740482557518421412161057925315437658056316757678491171779290841018297382903342009348463743964503953306458386835224022804057641508167090212497958550151478716942063597185582199566685498820378213228232555080257561041720322 152263683626788496559033666114221908189940220869271364696926338383230406041471046938321761579109410861974233021899646193014671402045266197045744805374355188252628076749622473842521505000373722880475134341293883425586340184707247981489172177053982809923677040642969099322041407239831396185628731428460739967304801 246367815360404646640319313586395714480238223091317127401737568567688927694807562711797588421849893419492654434060704118330109060101582954724235977153646029270925459652964483190985248964877676186933521176517906229643981692874338193987130727205461526865740637828551298888726906060209609413861286508718301009025123 398631498987193143199352979700617622670178443960588492098663906950919333736278609650119350000959304281466887455960350311344780462146849151769980782528001217523553536402586957033506753965251399067408655517811789655230321877581586175476302904259444336789417678471520398210768313300041005599490017937179040976329924 644999314347597789839672293287013337150416667051905619500401475518608261431086172361916938422809197700959541890021054429674889522248432106494216759681647246794478996055551440224492002930129075254342176694329695884874303570455924369463433631464905863655158316300071697099495219360250615013351304445897341985355047 1043630813334790933039025272987630959820595111012494111599065382469527595167364782012036288423768501982426429345981404741019669984395281258264197542209648464318032532458138397257998756895380474321750832212141485540104625448037510544939736535724350200444575994771592095310263532660291620612841322383076382961684971 1688630127682388722878697566274644296971011778064399731099466857988135856598450954373953226846577699683385971236002459170694559506643713364758414301891295711112511528513689837482490759825509549576093008906471181424978929018493434914403170167189256064099734311071663792409758752020542235626192626828973724947040018 2732260941017179655917722839262275256791606889076893842698532240457663451765815736385989515270346201665812400581983863911714229491038994623022611844100944175430544060971828234740489516720890023897843841118612666965083554466530945459342906702913606264544310305843255887720022284680833856239033949212050107908724989 4420891068699568378796420405536919553762618667141293573797999098445799308364266690759942742116923901349198371817986323082408788997682707987781026145992239886543055589485518072222980276546399573473936850025083848390062483485024380373746076870102862328644044616914919680129781036701376091865226576041023832855765007 7153152009716748034714143244799194810554225556218187416496531338903462760130082427145932257387270103015010772399970186994123018488721702610803637990093184061973599650457346306963469793267289597371780691143696515355146037951555325833088983573016468593188354922758175567849803321382209948104260525253073940764489996 11574043078416316413510563650336114364316844223359480990294530437349262068494349117905874999504194004364209144217956510076531807486404410598584664136085423948516655239942864379186450069813689170845717541168780363745208521436579706206835060443119330921832399539673095247979584358083586039969487101294097773620255003 18727195088133064448224706895135309174871069779577668406791061776252724828624431545051807256891464107379219916617926697070654825975126113209388302126178608010490254890400210686149919863080978768217498232312476879100354559388135032039924044016135799515020754462431270815829387679465795988073747626547171714384744999 30301238166549380861735270545471423539187914002937149397085592213601986897118780662957682256395658111743429060835883207147186633461530523807972966262264031959006910130343075065336369932894667939063215773481257242845563080824714738246759104459255130436853154002104366063808972037549382028043234727841269488005000002 49028433254682445309959977440606732714058983782514817803876653989854711725743212208009489513287122219122648977453809904217841459436656637017361268388442639969497165020743285751486289795975646707280714005793734121945917640212849770286683148475390929951873908464535636879638359717015178016116982354388441202389745001 79329671421231826171695247986078156253246897785451967200962246203456698622861992870967171769682780330866078038289693111365028092898187160825334234650706671928504075151086360816822659728870314646343929779274991364791480721037564508533442252934646060388727062466640002943447331754564560044160217082229710690394745003 128358104675914271481655225426684888967305881567966785004838900193311410348605205078976661282969902549988727015743503015582869552334843797842695503039149311898001240171829646568308949524845961353624643785068725486737398361250414278820125401410036990340600970931175639823085691471579738060277199436618151892784490004 207687776097146097653350473412763045220552779353418752205801146396768108971467197949943833052652682880854805054033196126947897645233030958668029737689855983826505315322916007385131609253716275999968573564343716851528879082287978787353567654344683050729328033397815642766533023226144298104437416518847862583179235007 336045880773060369135005698839447934187858660921385537210640046590079519320072403028920494335622585430843532069776699142530767197567874756510725240729005295724506555494745653953440558778562237353593217349412442338266277443538393066173693055754720041069929004328991282589618714697724036164714615955466014475963725011 543733656870206466788356172252210979408411440274804289416441192986847628291539600978864327388275268311698337123809895269478664842800905715178754978418861279551011870817661661338572168032278513353561790913756159189795156525826371853527260710099403091799257037726806925356151737923868334269152032474313877059142960018 879779537643266835923361871091658913596270101196189826627081239576927147611612004007784821723897853742541869193586594412009432040368780471689480219147866575275518426312407315292012726810840750707155008263168601528061433969364764919700953765854123132869186042055798207945770452621592370433866648429779891535106685029 1423513194513473302711718043343869893004681541470994116043522432563774775903151604986649149112173122054240206317396489681488096883169686186868235197566727854826530297130068976630584894843119264060716799176924760717856590495191136773228214475953526224668443079782605133301922190545460704703018680904093768594249645047 2303292732156740138635079914435528806600951642667183942670603672140701923514763608994433970836070975796782075510983084093497528923538466658557715416714594430102048723442476291922597621653960014767871807440093362245918024464555901692929168241807649357537629121838403341247692643167053075136885329333873660129356330076 3726805926670213441346797957779398699605633184138178058714126104704476699417915213981083119948244097851022281828379573774985625806708152845425950614281322284928579020572545268553182516497079278828588606617018122963774614959747038466157382717761175582206072201621008474549614833712513779839904010237967428723605975123 6030098658826953579981877872214927506206584826805362001384729776845178622932678822975517090784315073647804357339362657868483154730246619503983666030995916715030627744015021560475780138151039293596460414057111485209692639424302940159086550959568824939743701323459411815797307476879566854976789339571841088852962305199 9756904585497167021328675829994326205812218010943540060098855881549655322350594036956600210732559171498826639167742231643468780536954772349409616645277238999959206764587566829028962654648118572425049020674129608173467254384049978625243933677330000521949773525080420290346922310592080634816693349809808517576568280322 15787003244324120601310553702209253712018802837748902061483585658394833945283272859932117301516874245146630996507104889511951935267201391853393282676273155714989834508602588389504742792799157866021509434731241093383159893808352918784330484636898825461693474848539832106144229787471647489793482689381649606429530585521 25543907829821287622639229532203579917831020848692442121582441539944489267633866896888717512249433416645457635674847121155420715804156164202802899321550394714949041273190155218533705447447276438446558455405370701556627148192402897409574418314228825983643248373620252396491152098063728124610176039191458124006098865843 41330911074145408223949783234412833629849823686441344183066027198339323212917139756820834813766307661792088632181952010667372651071357556056196181997823550429938875781792743608038448240246434304468067890136611794939787042000755816193904902951127651445336723222160084502635381885535375614403658728573107730435629451364 66874818903966695846589012766616413547680844535133786304648468738283812480551006653709552326015741078437546267856799131822793366875513720258999081319373945144887917054982898826572153687693710742914626345541982496496414190193158713603479321265356477428979971595780336899126533983599103739013834767764565854441728317207 108205729978112104070538796001029247177530668221575130487714495936623135693468146410530387139782048740229634900038751142490166017946871276315195263317197495574826792836775642434610601927940145047382694235678594291436201232193914529797384224216484128874316694817940421401761915869134479353417493496337673584877357768571 175080548882078799917127808767645660725211512756708916792362964674906948174019153064239939465797789818667181167895550274312959384822384996574194344636571440719714709891758541261182755615633855790297320581220576787932615422387073243400863545481840606303296666413720758300888449852733583092431328264102239439319086085778 283286278860190903987666604768674907902742180978284047280077460611530083867487299474770326605579838558896816067934301416803125402769256272889389607953768936294541502728534183695793357543574000837680014816899171079368816654580987773198247769698324735177613361231661179702650365721868062445848821760439913024196443854349 458366827742269703904794413536320568627953693734992964072440425286437032041506452539010266071377628377563997235829851691116084787591641269463583952590340377014256212620292724956976113159207856627977335398119747867301432076968061016599111315180165341480910027645381938003538815574601645538280150024542152463515529940127 741653106602460607892461018304995476530695874713277011352517885897967115908993752013780592676957466936460813303764153107919210190360897542352973560544109313308797715348826908652769470702781857465657350215018918946670248731549048789797359084878490076658523388877043117706189181296469707984128971784982065487711973794476 1200019934344730311797255431841316045158649568448269975424958311184404147950500204552790858748335095314024810539594004799035294977952538811816557513134449690323053927969119633609745583861989714093634685613138666813971680808517109806396470400058655418139433416522425055709727996871071353522409121809524217951227503734603 1941673040947190919689716450146311521689345443161546986777476197082371263859493956566571451425292562250485623843358157906954505168313436354169531073678559003631851643317946542262515054564771571559292035828157585760641929540066158596193829484937145494797956805399468173415917178167541061506538093594506283438939477529079 3141692975291921231486971881987627566847995011609816962202434508266775411809994161119362310173627657564510434382952162705989800146265975165986088586813008693954905571287066175872260638426761285652926721441296252574613610348583268402590299884995800912937390221921893229125645175038612415028947215404030501390166981263682 5083366016239112151176688332133939088537340454771363948979910705349146675669488117685933761598920219814996058226310320612944305314579411520155619660491567697586757214605012718134775692991532857212218757269453838335255539888649426998784129369932946407735347027321361402541562353206153476535485308998536784829106458792761 8225058991531033382663660214121566655385335466381180911182345213615922087479482278805296071772547877379506492609262483318934105460845386686141708247304576391541662785892078894007036331418294142865145478710750090909869150237232695401374429254928747320672737249243254631667207528244765891564432524402567286219273440056443 13308425007770145533840348546255505743922675921152544860162255918965068763148970396491229833371468097194502550835572803931878410775424798206297327907796144089128420000497091612141812024409827000077364235980203929245124690125882122400158558624861693728408084276564616034208769881450919368099917833401104071048379898849204 21533483999301178916504008760377072399308011387533725771344601132580990850628452675296525905144015974574009043444835287250812516236270184892439036155100720480670082786389170506148848355828121142942509714690954020154993840363114817801532987879790441049080821525807870665875977409695685259664350357803671357267653338905647 34841909007071324450344357306632578143230687308686270631506857051546059613777423071787755738515484071768511594280408091182690927011694983098736364062896864569798502786886262118290660380237948143019873950671157949400118530488996940201691546504652134777488905802372486700084747291146604627764268191204775428316033237754851 56375393006372503366848366067009650542538698696219996402851458184127050464405875747084281643659500046342520637725243378433503443247965167991175400217997585050468585573275432624439508736066069285962383665362111969555112370852111758003224534384442575826569727328180357365960724700842289887428618549008446785583686576660498 91217302013443827817192723373642228685769386004906267034358315235673110078183298818872037382174984118111032232005651469616194370259660151089911764280894449620267088360161694742730169116304017428982257616033269918955230901341108698204916080889094710604058633130552844066045471991988894515192886740213222213899719814415349 147592695019816331184041089440651879228308084701126263437209773419800160542589174565956319025834484164453552869730894848049697813507625319081087164498892034670735673933437127367169677852370086714944641281395381888510343272193220456208140615273537286430628360458733201432006196692831184402621505289221668999483406391075847 238809997033260159001233812814294107914077470706032530471568088655473270620772473384828356408009468282564585101736546317665892183767285470170998928779786484291002762293598822109899846968674104143926898897428651807465574173534329154413056696162631997034686993589286045498051668684820078917814392029434891213383126205491196 386402692053076490185274902254945987142385555407158793908777862075273431163361647950784675433843952447018137971467441165715589997274910789252086093278678518961738436227035949477069524821044190858871540178824033695975917445727549610621197311436169283465315354048019246930057865377651263320435897318656560212866532596567043 625212689086336649186508715069240095056463026113191324380345950730746701784134121335613031841853420729582723073203987483381482181042196259423085022058465003252741198520634771586969371789718295002798439076252685503441491619261878765034254007598801280500002347637305292428109534062471342238250289348091451426249658802058239 1011615381139413139371783617324186082198848581520350118289123812806020132947495769286397707275697373176600861044671428649097072178317107048675171115337143522214479634747670721064038896610762485861669979255076719199417409064989428375655451319034970563965317701685324539358167399440122605558686186666748011639116191398625282 1636828070225749788558292332393426177255311607633541442669469763536766834731629890622010739117550793906183584117875416132478554359359303308098256137395608525467220833268305492651008268400480780864468418331329404702858900684251307140689705326633771844465320049322629831786276933502593947796936476014839463065365850200683521 2648443451365162927930075949717612259454160189153891560958593576342786967679125659908408446393248167082784445162546844781575626537676410356773427252732752047681700468015976213715047165011243266726138397586406123902276309749240735516345156645668742408430637751007954371144444332942716553355622662681587474704482041599308803 4285271521590912716488368282111038436709471796787433003628063339879553802410755550530419185510798960988968029280422260914054180897035713664871683390128360573148921301284281706366055433411724047590606815917735528605135210433492042657034861972302514252895957800330584202930721266445310501152559138696426937769847891799992324 6933714972956075644418444231828650696163631985941324564586656916222340770089881210438827631904047128071752474442969105695629807434712124021645110642861112620830621769300257920081102598422967314316745213504141652507411520182732778173380018617971256661326595551338538574075165599388027054508181801378014412474329933399301127 11218986494546988360906812513939689132873103782728757568214720256101894572500636760969246817414846089060720503723391366609683988331747837686516794032989473193979543070584539626447158031834691361907352029421877181112546730616224820830414880590273770914222553351669122777005886865833337555660740940074441350244177825199293451 18152701467503064005325256745768339829036735768670082132801377172324235342590517971408074449318893217132472978166360472305313795766459961708161904675850585814810164839884797546528260630257658676224097242926018833619958250798957599003794899208245027575549148903007661351081052465221364610168922741452455762718507758598594578 29371687962050052366232069259708028961909839551398839701016097428426129915091154732377321266733739306193193481889751838914997784098207799394678698708840059008789707910469337172975418662092350038131449272347896014732504981415182419834209779798518798489771702254676784128086939331054702165829663681526897112962685583797888029 47524389429553116371557326005476368790946575320068921833817474600750365257681672703785395716052632523325666460056112311220311579864667761102840603384690644823599872750354134719503679292350008714355546515273914848352463232214140018838004679006763826065320851157684445479167991796276066775998586422979352875681193342396482607 76896077391603168737789395265184397752856414871467761534833572029176495172772827436162716982786371829518859941945864150135309363962875560497519302093530703832389580660823471892479097954442358752486995787621810863084968213629322438672214458805282624555092553412361229607254931127330768941828250104506249988643878926194370636 124420466821156285109346721270660766543802990191536683368651046629926860430454500139948112698839004352844526402001976461355620943827543321600359905478221348655989453411177606611982777246792367466842542302895725711437431445843462457510219137812046450620413404570045675086422922923606835717826836527485602864325072268590853243 201316544212759453847136116535845164296659405063004444903484618659103355603227327576110829681625376182363386343947840611490930307790418882097879207571752052488379034072001078504461875201234726219329538090517536574522399659472784896182433596617329075175505957982406904693677854050937604659655086631991852852968951194785223879 325737011033915738956482837806505930840462395254541128272135665289030216033681827716058942380464380535207912745949817072846551251617962203698239113049973401144368487483178685116444652448027093686172080393413262285959831105316247353692652734429375525795919362552452579780100776974544440377481923159477455717294023463376077122 527053555246675192803618954342351095137121800317545573175620283948133571636909155292169772062089756717571299089897657684337481559408381085796118320621725453632747521555179763620906527649261819905501618483930798860482230764789032249875086331046704600971425320534859484473778631025482045037137009791469308570262974658161301001 852790566280590931760101792148857025977584195572086701447755949237163787670590983008228714442554137252779211835847474757184032811026343289494357433671698854777116009038358448737351180097288913591673698877344061146442061870105279603567739065476080126767344683087312064253879408000026485414618932950946764287556998121537378123 1379844121527266124563720746491208121114705995889632274623376233185297359307500138300398486504643893970350510925745132441521514370434724375290475754293424308409863530593538212358257707746550733497175317361274860006924292634894311853442825396522784727738770003622171548727658039025508530451755942742416072857819972779698679124 2232634687807857056323822538640065147092290191461718976071132182422461146978091121308627200947198031223129722761592607198705547181461067664784833187965123163186979539631896661095608887843839647088849016238618921153366354504999591457010564461998864854506114686709483612981537447025535015866374875693362837145376970901236057247 3612478809335123180887543285131273268206996187351351250694508415607758506285591259609025687451841925193480233687337739640227061551895792040075308942258547471596843070225434873453866595590390380586024333599893781160290647139893903310453389858521649582244884690331655161709195486051043546318130818435778910003196943680934736371 5845113497142980237211365823771338415299286378813070226765640598030219653263682380917652888399039956416609956448930346838932608733356859704860142130223670634783822609857331534549475483434230027674873349838512702313657001644893494767463954320520514436750999377041138774690732933076578562184505694129141747148573914582170793618 9457592306478103418098909108902611683506282566164421477460149013637978159549273640526678575850881881610090190136268086479159670285252651744935451072482218106380665680082766408003342079024620408260897683438406483473947648784787398077917344179042164018995884067372793936399928419127622108502636512564920657151770858263105529989 15302705803621083655310274932673950098805568944977491704225789611668197812812956021444331464249921838026700146585198433318092279018609511449795593202705888741164488289940097942552817562458850435935771033276919185787604650429680892845381298499562678455746883444413932711090661352204200670687142206694062404300344772845276323607 24760298110099187073409184041576561782311851511141913181685938625306175972362229661971010040100803719636790336721466519797251949303862163194731044275188106847545153970022864350556159641483470844196668716715325669261552299214468290923298642678604842474742767511786726647490589771331822779189778719258983061452115631108381853596 40063003913720270728719458974250511881117420456119404885911728236974373785175185683415341504350725557663490483306664953115344228322471674644526637477893995588709642259962962293108977203942321280132439749992244855049156949644149183768679941178167520930489650956200659358581251123536023449876920925953045465752460403953658177203 64823302023819457802128643015827073663429271967261318067597666862280549757537415345386351544451529277300280820028131472912596177626333837839257681753082102436254796229985826643665136845425792124329108466707570524310709248858617474691978583856772363405232418467987386006071840894867846229066699645212028527204576035062040030799 104886305937539728530848101990077585544546692423380722953509395099254923542712601028801693048802254834963771303334796426027940405948805512483784319230976098024964438489948788936774114049368113404461548216699815379359866198502766658460658525034939884335722069424188045364653092018403869678943620571165073992957036439015698208002 169709607961359186332976745005904659207975964390642041021107061961535473300250016374188044593253784112264052123362927898940536583575139350323042000984058200461219234719934615580439250894793905528790656683407385903670575447361384133152637108891712247740954487892175431370724932913271715908010320216377102520161612474077738238801 274595913898898914863824846995982244752522656814022763974616457060790396842962617402989737642056038947227823426697724324968476989523944862806826320215034298486183673209883404517213364944162018933252204900107201283030441645864150791613295633926652132076676557316363476735378024931675585586953940787542176513118648913093436446803 444305521860258101196801592001886903960498621204664804995723519022325870143212633777177782235309823059491875550060652223909013573099084213129868321199092498947402907929818020097652615838955924462042861583514587186701017093225534924765932742818364379817631045208538908106102957844947301494964261003919279033280261387171174685604 718901435759157016060626438997869148713021278018687568970339976083116266986175251180167519877365862006719698976758376548877490562623029075936694641414126797433586581139701424614865980783117943395295066483621788469731458739089685716379228376745016511894307602524902384841480982776622887081918201791461455546398910300264611132407 1163206957619415117257428030999756052673519899223352373966063495105442137129387884957345302112675685066211574526819028772786504135722113289066562962613219296380989489069519444712518596622073867857337928067136375656432475832315220641145161119563380891711938647733441292947583940621570188576882462795380734579679171687435785818011 1882108393378572133318054469997625201386541177242039942936403471188558404115563136137512821990041547072931273503577405321663994698345142365003257604027346093814576070209220869327384577405191811252632994550758164126163934571404906357524389496308397403606246250258343677789064923398193075658800664586842190126078081987700396950418 3045315350997987250575482500997381254060061076465392316902466966294000541244951021094858124102717232139142848030396434094450498834067255654069820566640565390195565559278740314039903174027265679109970922617894539782596410403720126998669550615871778295318184897991784970736648864019763264235683127382222924705757253675136182768429 4927423744376559383893536970995006455446602253707432259838870437482558945360514157232370946092758779212074121533973839416114493532412398019073078170667911484010141629487961183367287751432457490362603917168652703908760344975125033356193940112180175698924431148250128648525713787417956339894483791969065114831835335662836579718847 7972739095374546634469019471992387709506663330172824576741337403776559486605465178327229070195476011351216969564370273510564992366479653673142898737308476874205707188766701497407190925459723169472574839786547243691356755378845160354863490728051953994242616046241913619262362651437719604130166919351288039537592589337972762487276 12900162839751106018362556442987394164953265583880256836580207841259118431965979335559600016288234790563291091098344112926679485898892051692215976907976388358215848818254662680774478676892180659835178756955199947600117100353970193711057430840232129693167047194492042267788076438855675944024650711320353154369427925000809342206123 20872901935125652652831575914979781874459928914053081413321545245035677918571444513886829086483710801914508060662714386437244478265371705365358875645284865232421556007021364178181669602351903829307753596741747191291473855732815354065920921568284083687409663240733955887050439090293395548154817630671641193907020514338782104693399 33773064774876758671194132357967176039413194497933338249901753086294796350537423849446429102771945592477799151761058499363923964164263757057574852553261253590637404825276026858956148279244084489142932353696947138891590956086785547776978352408516213380576710435225998154838515529149071492179468341991994348276448439339591446899522 54645966710002411324025708272946957913873123411986419663223298331330474269108868363333258189255656394392307212423772885801168442429635462422933728198546118823058960832297391037137817881595988318450685950438694330183064811819600901842899273976800297067986373675959954041888954619442467040334285972663635542183468953678373551592921 88419031484879169995219840630914133953286317909919757913125051417625270619646292212779687292027601986870106364184831385165092406593899219480508580751807372413696365657573417896093966160840072807593618304135641469074655767906386449619877626385316510448563084111185952196727470148591538532513754314655629890459917393017964998492443 143064998194881581319245548903861091867159441321906177576348349748955744888755160576112945481283258381262413576608604270966260849023534681903442308950353491236755326489870808933231784042436061126044304254574335799257720579725987351462776900362116807516549457787145906238616424768034005572848040287319265432643386346696338550085364 231484029679760751314465389534775225820445759231825935489473401166581015508401452788892632773310860368132519940793435656131353255617433901383950889702160863650451692147444226829325750203276133933637922558709977268332376347632373801082654526747433317965112541898331858435343894916625544105361794601974895323103303739714303548577807 374549027874642332633710938438636317687605200553732113065821750915536760397156613365005578254594118749394933517402039927097614104640968583287393198652514354887207018637315035762557534245712195059682226813284313067590096927358361152545431427109550125481661999685477764673960319684659549678209834889294160755746690086410642098663171 606033057554403083948176327973411543508050959785558048555295152082117775905558066153898211027904979117527453458195475583228967360258402484671344088354675218537658710784759262591883284448988328993320149371994290335922473274990734953628085953856983443446774541583809623109304214601285093783571629491269056078849993826124945647240978 980582085429045416581887266412047861195656160339290161621116902997654536302714679518903789282499097866922386975597515510326581464899371067958737287007189573424865729422074298354440818694700524053002376185278603403512570202349096106173517380966533568928436541269287387783264534285944643461781464380563216834596683912535587745904149 1586615142983448500530063594385459404703707120124848210176412055079772312208272745672802000310404076984449840433792991093555548825157773552630081375361864791962524440206833560946324103143688853046322525557272893739435043477339831059801603334823517012375211082853097010892568748887229737245353093871832272913446677738660533393145127 2567197228412493917111950860797507265899363280464138371797528958077426848510987425191705789592903174851372227409390506603882130290057144620588818662369054365387390169628907859300764921838389377099324901742551497142947613679688927165975120715790050581303647624122384398675833283173174380707134558252395489748043361651196121139049276 4153812371395942417642014455182966670603070400588986581973941013157199160719260170864507789903307251835822067843183497697437679115214918173218900037730919157349914609835741420247089024982078230145647427299824390882382657157028758225776724050613567593678858706975481409568402032060404117952487652124227762661490039389856654532194403 6721009599808436334753965315980473936502433681053124953771469971234626009230247596056213579496210426687194295252574004301319809405272062793807718700099973522737304779464649279547853946820467607244972329042375888025330270836717685391751844766403618174982506331097865808244235315233578498659622210376623252409533401041052775671243679 10874821971204378752395979771163440607105504081642111535745410984391825169949507766920721369399517678523016363095757501998757488520486980967026618737830892680087219389300390699794942971802545837390619756342200278907712927993746443617528568817017185768661365038073347217812637347293982616612109862500851015071023440430909430203438082 17595831571012815087149945087143914543607937762695236489516880955626451179179755362976934948895728105210210658348331506300077297925759043760834337437930866202824524168765039979342796918623013444635592085384576166933043198830464129009280413583420803943643871369171213026056872662527561115271732072877474267480556841471962205874681761 28470653542217193839545924858307355150713441844337348025262291940018276349129263129897656318295245783733227021444089008298834786446246024727860956175761758882911743558065430679137739890425559282026211841726776445840756126824210572626808982400437989712305236407244560243869510009821543731883841935378325282551580281902871636078119843 46066485113230008926695869945451269694321379607032584514779172895644727528309018492874591267190973888943437679792420514598912084372005068488695293613692625085736267726830470658480536809048572726661803927111352612773799325654674701636089395983858793655949107776415773269926382672349104847155574008255799550032137123374833841952801604 74537138655447202766241794803758624845034821451369932540041464835663003877438281622772247585486219672676664701236509522897746870818251093216556249789454383968648011284895901337618276699474132008688015768838129058614555452478885274262898378384296783368254344183660333513795892682170648579039415943634124832583717405277705478030921447 120603623768677211692937664749209894539356201058402517054820637731307731405747300115646838852677193561620102381028930037496658955190256161705251543403147009054384279011726371996098813508522704735349819695949481671388354778133559975898987774368155577024203451960076106783722275354519753426194989951889924382615854528652539319983723051 195140762424124414459179459552968519384391022509772449594862102566970735283185581738419086438163413234296767082265439560394405826008507254921807793192601393023032290296622273333717090207996836744037835464787610730002910230612445250161886152752452360392457796143736440297518168036690402005234405895524049215199571933930244798014644498 315744386192801626152117124302178413923747223568174966649682740298278466688932881854065925290840606795916869463294369597891064781198763416627059336595748402077416569308348645329815903716519541479387655160737092401391265008746005226060873927120607937416661248103812547081240443391210155431429395847413973597815426462582784117998367549 510885148616926040611296583855146933308138246077947416244544842865249201972118463592485011729004020030213636545559809158285470607207270671548867129788349795100448859604970918663532993924516378223425490625524703131394175239358450476222760079873060297809119044247548987378758611427900557436663801742938022813014998396513028916013012047 826629534809727666763413708157325347231885469646122382894227583163527668661051345446550937019844626826130506008854178756176535388406034088175926466384098197177865428913319563993348897641035919702813145786261795532785440248104455702283634006993668235225780292351361534459999054819110712868093197590351996410830424859095813034011379596 1337514683426653707374710292012472280540023715724069799138772426028776870633169809039035948748848646856344142554413987914462005995613304759724793596172447992278314288518290482656881891565552297926238636411786498664179615487462906178506394086866728533034899336598910521838757666247011270304756999333290019223845423255608841950024391643 2164144218236381374138124000169797627771909185370192182033000009192304539294221154485586885768693273682474648563268166670638541384019338847900720062556546189456179717431610046650230789206588217629051782198048294196965055735567361880790028093860396768260679628950272056298756721066121983172850196923642015634675848114704654984035771239 3501658901663035081512834292182269908311932901094261981171772435221081409927390963524622834517541920538818791117682154585100547379632643607625513658728994181734494005949900529307112680772140515555290418609834792861144671223030268059296422180727125301295578965549182578137514387313133253477607196256932034858521271370313496934060162882 5665803119899416455650958292352067536083842086464454163204772444413385949221612118010209720286235194221293439680950321255739088763651982455526233721285540371190673723381510575957343469978728733184342200807883087058109726958597629940086450274587522069556258594499454634436271108379255236650457393180574050493197119485018151918095934121 9167462021562451537163792584534337444395774987558716144376544879634467359149003081534832554803777114760112230798632475840839636143284626063151747380014534552925167729331411105264456150750869248739632619417717879919254398181627897999382872455314647370851837560048637212573785495692388490128064589437506085351718390855331648852156097003 14833265141461867992814750876886404980479617074023170307581317324047853308370615199545042275090012308981405670479582797096578724906936608518677981101300074924115841452712921681221799620729597981923974820225600966977364125140225527939469322729902169440408096154548091847010056604071643726778521982618080135844915510340349800770252031124 24000727163024319529978543461420742424875392061581886451957862203682320667519618281079874829893789423741517901278215272937418361050221234581829728481314609477041009182044332786486255771480467230663607439643318846896618523321853425938852195185216816811259933714596729059583842099764032216906586572055586221196633901195681449622408128127 38833992304486187522793294338307147405355009135605056759539179527730173975890233480624917104983801732722923571757798070033997085957157843100507709582614684401156850634757254467708055392210065212587582259868919813873982648462078953878321517915118986251668029869144820906593898703835675943685108554673666357041549411536031250392660159251 62834719467510507052771837799727889830230401197186943211497041731412494643409851761704791934877591156464441473036013342971415447007379077682337438063929293878197859816801587254194311163690532443251189699512238660770601171783932379817173713100335803062927963583741549966177740803599708160591695126729252578238183312731712700015068287378 101668711771996694575565132138035037235585410332791999971036221259142668619300085242329709039861392889187365044793811413005412532964536920782845147646543978279354710451558841721902366555900597655838771959381158474644583820246011333695495231015454789314595993452886370872771639507435384104276803681402918935279732724267743950407728446629 164503431239507201628336969937762927065815811529978943182533262990555163262709937004034500974738984045651806517829824755976827979971915998465182585710473272157552570268360428976096677719591130099089961658893397135415184992029943713512668944115790592377523957036627920838949380311035092264868498808132171513517916036999456650422796734007 266172143011503896203902102075797964301401221862770943153569484249697831882010022246364210014600376934839171562623636168982240512936452919248027733357017250436907280719919270697999044275491727754928733618274555610059768812275955047208164175131245381692119950489514291711721019818470476369145302489535090448797648761267200600830525180636 430675574251011097832239072013560891367217033392749886336102747240252995144719959250398710989339360980490978080453460924959068492908368917713210319067490522594459850988279699674095721995082857854018695277167952745474953804305898760720833119247035974069643907526142212550670400129505568634013801297667261962315564798266657251253321914643 696847717262514994036141174089358855668618255255520829489672231489950827026729981496762921003939737915330149643077097093941309005844821836961238052424507773031367131708198970372094766270574585608947428895442508355534722616581853807928997294378281355761763858015656504262391419947976045003159103787202352411113213559533857852083847095279 1127523291513526091868380246102919747035835288648270715825774978730203822171449940747161631993279098895821127723530558018900377498753190754674448371491998295625826982696478670046190488265657443462966124172610461101009676420887752568649830413625317329831407765541798716813061820077481613637172905084869614373428778357800515103337169009922 1824371008776041085904521420192278602704453543903791545315447210220154649198179922243924552997218836811151277366607655112841686504598012591635686423916506068657194114404677640418285254536232029071913553068052969456544399037469606376578827708003598685593171623557455221075453240025457658640332008872071966784541991917334372955421016105201 2951894300289567177772901666295198349740288832552062261141222188950358471369629862991086184990497935706972405090138213131742064003351203346310134795408504364283021097101156310464475742801889472534879677240663430557554075458357358945228658121628916015424579389099253937888515060102939272277504913956941581157970770275134888058758185115123 4776265309065608263677423086487476952444742376455853806456669399170513120567809785235010737987716772518123682456745868244583750507949215937945821219325010432940215211505833950882760997338121501606793230308716400014098474495826965321807485829632514701017751012656709158963968300128396930917836922829013547942512762192469261014179201220324 7728159609355175441450324752782675302185031209007916067597891588120871591937439648226096922978214708225096087546884081376325814511300419284255956014733514797223236308606990261347236740140010974141672907549379830571652549954184324267036143951261430716442330401755963096852483360231336203195341836785955129100483532467604149072937386335447 12504424918420783705127747839270152254629773585463769874054560987291384712505249433461107660965931480743219770003629949620909565019249635222201777234058525230163451520112824212229997737478132475748466137858096230585751024450011289588843629780893945417460081414412672255816451660359733134113178759614968677042996294660073410087116587555771 20232584527775959146578072592052827556814804794471685941652452575412256304442689081687204583944146188968315857550514030997235379530550054506457733248792040027386687828719814473577234477618143449890139045407476061157403574404195613855879773732155376133902411816168635352668935020591069337308520596400923806143479827127677559160053973891218 32737009446196742851705820431322979811444578379935455815707013562703641016947938515148312244910077669711535627554143980618144944549799689728659510482850565257550139348832638685807232215096275925638605183265572291743154598854206903444723403513049321551362493230581307608485386680950802471421699356015892483186476121787750969247170561446989 52969593973972701998283893023375807368259383174407141757359466138115897321390627596835516828854223858679851485104658011615380324080349744235117243731642605284936827177552453159384466692714419375528744228673048352900558173258402517300603177245204697685264905046749942961154321701541871808730219952416816289329955948915428528407224535338207 85706603420169444849989713454698787179703961554342597573066479700819538338338566111983829073764301528391387112658801992233525268630149433963776754214493170542486966526385091845191698907810695301167349411938620644643712772112609420745326580758254019236627398277331250569639708382492674280151919308432708772516432070703179497654395096785196 138676197394142146848273606478074594547963344728749739330425945838935435659729193708819345902618525387071238597763460003848905592710499178198893997946135775827423793703937545004576165600525114676696093640611668997544270945371011938045929758003458716921892303324081193530794030084034546088882139260849525061846388019618608026061619632123403 224382800814311591698263319932773381727667306283092336903492425539754973998067759820803174976382826915462625710422261996082430861340648612162670752160628946369910760230322636849767864508335809977863443052550289642187983717483621358791256338761712736158519701601412444100433738466527220369034058569282233834362820090321787523716014728908599 363058998208453738546536926410847976275630651011842076233918371378690409657796953529622520879001352302533864308185721999931336454051147790361564750106764722197334553934260181854344030108860924654559536693161958639732254662854633296837186096765171453080412004925493637631227768550561766457916197830131758896209208109940395549777634361032002 587441799022765330244800246343621358003297957294934413137410796918445383655864713350425695855384179217996490018607983996013767315391796402524235502267393668567245314164582818704111894617196734632422979745712248281920238380338254655628442435526884189238931706526906081731661507017088986826950256399413992730572028200262183073493649089940601 950500797231219068791337172754469334278928608306776489371329168297135793313661666880048216734385531520530354326793705995945103769442944192885800252374158390764579868098843000558455924726057659286982516438874206921652493043192887952465628532292055642319343711452399719362889275567650753284866454229545751626781236310202578623271283450972603 1537942596253984399036137419098090692282226565601710902508739965215581176969526380230473912589769710738526844345401689991958871084834740595410035754641552059331825182263425819262567819343254393919405496184586455203572731423531142608094070967818939831558275417979305801094550782584739740111816710628959744357353264510464761696764932540913204 2488443393485203467827474591852560026561155173908487391880069133512716970283188047110522129324155242259057198672195395987903974854277684788295836007015710450096405050362268819821023744069312053206388012623460662125225224466724030560559699500110995473877619129431705520457440058152390493396683164858505495984134500820667340320036215991885807 4026385989739187866863612010950650718843381739510198294388809098728298147252714427340996041913924952997584043017597085979862845939112425383705871761657262509428230232625694639083591563412566447125793508808047117328797955890255173168653770467929935305435894547411011321551990840737130233508499875487465240341487765331132102016801148532799011 6514829383224391334691086602803210745404536913418685686268878232241015117535902474451518171238080195256641241689792481967766820793390110172001707768672972959524635282987963458904615307481878500332181521431507779454023180356979203729213469968040930779313513676842716842009430898889520726905183040345970736325622266151799442336837364524684818 10541215372963579201554698613753861464247918652928883980657687330969313264788616901792514213152005148254225284707389567947629666732502535555707579530330235468952865515613658097988206870894444947457975030239554896782821136247234376897867240435970866084749408224253728163561421739626650960413682915833435976667110031482931544353638513057483829 17056044756187970536245785216557072209652455566347569666926565563210328382324519376244032384390085343510866526397182049915396487525892645727709287299003208428477500798601621556892822178376323447790156551671062676236844316604213580627080710404011796864062921901096445005570852638516171687318865956179406712992732297634730986690475877582168647 27597260129151549737800483830310933673900374219276453647584252894179641647113136278036546597542090491765091811104571617863026154258395181283416866829333443897430366314215279654881029049270768395248131581910617573019665452851447957524947950839982662948812330125350173169132274378142822647732548872012842689659842329117662531044114390639652476 44653304885339520274046269046868005883552829785624023314510818457389970029437655654280578981932175835275958337501753667778422641784287827011126154128336652325907867112816901211773851227647091843038288133581680249256509769455661538152028661243994459812875252026446618174703127016658994335051414828192249402652574626752393517734590268221821123 72250565014491070011846752877178939557453204004900476962095071351569611676550791932317125579474266327041050148606325285641448796042683008294543020957670096223338233427032180866654880276917860238286419715492297822276175222307109495676976612083977122761687582151796791343835401394801816982783963700205092092312416955870056048778704658861473599 116903869899830590285893021924046945441006033790524500276605889808959581705988447586597704561406442162317008486108078953419871437826970835305669175086006748549246100539849082078428731504564952081324707849073978071532684991762771033829005273327971582574562834178243409518538528411460811317835378528397341494964991582622449566513294927083294722 189154434914321660297739774801225884998459237795424977238700961160529193382539239518914830140880708489358058634714404239061320233869653843600212196043676844772584333966881262945083611781482812319611127564566275893808860214069880529505981885411948705336250416330040200862373929806262628300619342228602433587277408538492505615291999585944768321 306058304814152250583632796725272830439465271585949477515306850969488775088527687105512534702287150651675067120822483192481191671696624678905881371129683593321830434506730345023512343286047764400935835413640253965341545205832651563334987158739920287910813250508283610380912458217723439618454720756999775082242400121114955181805294513028063043 495212739728473910881372571526498715437924509381374454754007812130017968471066926624427364843167859141033125755536887431542511905566278522506093567173360438094414768473611607968595955067530576720546962978206529859150405419902532092840969044151868993247063666838323811243286388023986067919074062985602208669519808659607460797097294098972831364 801271044542626161465005368251771545877389780967323932269314663099506743559594613729939899545455009792708192876359370624023703577262903201411974938303044031416245202980341952992108298353578341121482798391846783824491950625735183656175956202891789281157876917346607421624198846241709507537528783742601983751762208780722415978902588612000894407 1296483784271100072346377939778270261315314290348698387023322475229524712030661540354367264388622868933741318631896258055566215482829181723918068505476404469510659971453953560960704253421108917842029761370053313683642356045637715749016925247043658274404940584184931232867485234265695575456602846728204192421282017440329876775999882710973725771 2097754828813726233811383308030041807192704071316022319292637138329031455590256154084307163934077878726449511508255628679589919060092084925330043443779448500926905174434295513952812551774687258963512559761900097508134306671372899405192881449935447555562817501531538654491684080507405082994131630470806176173044226221052292754902471322974620178 3394238613084826306157761247808312068508018361664720706315959613558556167620917694438674428322700747660190830140151886735156134542921266649248111949255852970437565145888249074913516805195796176805542321131953411191776662717010615154209806696979105829967758085716469887359169314773100658450734477199010368594326243661382169530902354033948345949 5491993441898552539969144555838353875700722432980743025608596751887587623211173848522981592256778626386640341648407515414746053603013351574578155393035301471364470320322544588866329356970483435769054880893853508699910969388383514559402688146914553385530575587248008541850853395280505741444866107669816544767370469882434462285804825356922966127 8886232054983378846126905803646665944208740794645463731924556365446143790832091542961656020579479374046831171788559402149902188145934618223826267342291154441802035466210793663779846162166279612574597202025806919891687632105394129713612494843893659215498333672964478429210022710053606399895600584868826913361696713543816631816707179390871312076 14378225496881931386096050359485019819909463227626206757533153117333731414043265391484637612836258000433471513436966917564648241748947969798404422735326455913166505786533338252646175519136763048343652082919660428591598601493777644273015182990808212601028909260212486971060876105334112141340466692538643458129067183426251094102512004747794278203 23264457551865310232222956163131685764118204022271670489457709482779875204875356934446293633415737374480302685225526319714550429894882588022230690077617610354968541252744131916426021681303042660918249284945467348483286233599171773986627677834701871816527242933176965400270898815387718541236067277407470371490763896970067725919219184138665590279 37642683048747241618319006522616705584027667249897877246990862600113606618918622325930931246251995374913774198662493237279198671643830557820635112812944066268135047039277470169072197200439805709261901367865127777074884835092949418259642860825510084417556152193389452371331774920721830682576533969946113829619831080396318820021731188886459868482 60907140600612551850541962685748391348145871272169547736448572082893481823793979260377224879667732749394076883888019556993749101538713145842865802890561676623103588292021602085498218881742848370180150652810595125558171068692121192246270538660211956234083395126566417771602673736109549223812601247353584201110594977366386545940950373025125458761 98549823649359793468860969208365096932173538522067424983439434683007088442712601586308156125919728124307851082550512794272947773182543703663500915703505742891238635331299072254570416082182654079442052020675722902633055903785070610505913399485722040651639547319955870142934448656831379906389135217299698030730426057762705365962681561911585327243 159456964249972345319402931894113488280319409794236972719888006765900570266506580846685381005587460873701927966438532351266696874721256849506366718594067419514342223623320674340068634963925502449622202673486318028191226972477191802752183938145933996885722942446522287914537122392940929130201736464653282231841021035129091911903631934936710786004 258006787899332138788263901102478585212492948316304397703327441448907658709219182432993537131507188998009779048989045145539644647903800553169867634297573162405580858954619746594639051046108156529064254694162040930824282876262262413258097337631656037537362489766478158057471571049772309036590871681952980262571447092891797277866313496848296113247 417463752149304484107666832996592073492812358110541370423215448214808228975725763279678918137094649871711707015427577496806341522625057402676234352891640581919923082577940420934707686010033658978686457367648358959015509848739454216010281275777590034423085432213000445972008693442713238166792608146606262494412468128020889189769945431785006899251 675470540048636622895930734099070658705305306426845768126542889663715887684944945712672455268601838869721486064416622642345986170528857955846101987189213744325503941532560167529346737056141815507750712061810399889839792725001716629268378613409246071960447921979478604029480264492485547203383479828559242756983915220912686467636258928633303012498 1092934292197941107003597567095662732198117664537387138549758337878524116660670708992351373405696488741433193079844200139152327693153915358522336340080854326245427024110500588464054423066175474486437169429458758848855302573741170845278659889186836106383533354192479050001488957935198785370176087975165505251396383348933575657406204360418309911749 1768404832246577729899528301194733390903422970964232906676301227542240004345615654705023828674298327611154679144260822781498313863682773314368438327270068070570930965643060755993401160122317289994187881491269158738695095298742887474547038502596082178343981276171957654030969222427684332573559567803724748008380298569846262125042463289051612924247 2861339124444518836903125868290396123101540635501620045226059565420764121006286363697375202079994816352587872224105022920650641556836688672890774667350922396816357989753561344457455583188492764480625050920727917587550397872484058319825698391782918284727514630364436704032458180362883117943735655778890253259776681918779837782448667649469922835996 4629743956691096566802654169485129514004963606465852951902360792963004125351902018402399030754293143963742551368365845702148955420519461987259212994620990467387288955396622100450856743310810054474812932411997076326245493171226945794372736894379000463071495906536394358063427402790567450517295223582615001268156980488626099907491130938521535760243 7491083081135615403705780037775525637106504241967472997128420358383768246358188382099774232834287960316330423592470868622799596977356150660149987661971912864203646945150183444908312326499302818955437983332724993913795891043711004114198435286161918747799010536900831062095885583153450568461030879361505254527933662407405937689939798587991458596239 12120827037826711970508434207260655151111467848433325949030781151346772371710090400502173263588581104280072974960836714324948552397875612647409200656592903331590935900546805545359169069810112873430250915744722070240041384214937949908571172180540919210870506443437225420159312985944018018978326102944120255796090642896032037597430929526512994356482 19611910118962327374214214245036180788217972090400798946159201509730540618068278782601947496422869064596403398553307582947748149375231763307559188318564816195794582845696988990267481396309415692385688899077447064153837275258648954022769607466702837958669516980338056482255198569097468587439356982305625510324024305303437975287370728114504452952721 31732737156789039344722648452296835939329439938834124895189982661077312989778369183104120760011450168876476373514144297272696701773107375954968388975157719527385518746243794535626650466119528565815939814822169134393878659473586903931340779647243757169540023423775281902414511555041486606417683085249745766120114948199470012884801657641017447309203 51344647275751366718936862697333016727547412029234923841349184170807853607846647965706068256434319233472879772067451880220444851148339139262527577293722535723180101591940783525894131862428944258201628713899616198547715934732235857954110387113946595128209540404113338384669710124138955193857040067555371276444139253502907988172172385755521900261924 83077384432540406063659511149629852666876851968069048736539166831885166597625017148810189016445769402349356145581596177493141552921446515217495966268880255250565620338184578061520782328548472824017568528721785332941594594205822761885451166761190352297749563827888620287084221679180441800274723152805117042564254201702378001056974043396539347571127 134422031708291772782596373846962869394424263997303972577888351002693020205471665114516257272880088635822235917649048057713586404069785654480023543562602790973745721930125361587414914190977417082219197242621401531489310528938058619839561553875136947425959104232001958671753931803319396994131763220360488319008393455205285989229146429152061247833051 217499416140832178846255884996592722061301115965373021314427517834578186803096682263326446289325858038171592063230644235206727956991232169697519509831483046224311342268309939648935696519525889906236765771343186864430905123143881381725012720636327299723708668059890578958838153482499838794406486373165605361572647656907663990286120472548600595404178 351921447849123951628852258843555591455725379962676993892315868837271207008568347377842703562205946673993827980879692292920314361061017824177543053394085837198057064198435301236350610710503306988455963013964588395920215652081940001564574274511464247149667772291892537630592085285819235788538249593526093680581041112112949979515266901700661843237229 569420863989956130475108143840148313517026495928050015206743386671849393811665029641169149851531804712165420044110336528127042318052249993875062563225568883422368406466745240885286307230029196894692728785307775260351120775225821383289586995147791546873376440351783116589430238768319074582944735966691699042153688769020613969801387374249262438641407 921342311839080082103960402683703904972751875890727009099059255509120600820233377019011853413737751386159248024990028821047356679113267818052605616619654720620425470665180542121636917940532503883148691799272363656271336427307761384854161269659255794023044212643675654220022324054138310371482985560217792722734729881133563949316654275949924281878636 1490763175829036212579068546523852218489778371818777024305802642180969994631898406660181003265269556098324668069100365349174398997165517811927668179845223604042793877131925783006923225170561700777841420584580138916622457202533582768143748264807047340896420652995458770809452562822457384954427721526909491764888418650154177919118041650199186720520043 2412105487668116294683028949207556123462530247709504033404861897690090595452131783679192856679007307484483916094090394170221755676278785629980273796464878324663219347797106325128560143111094204660990112383852502572893793629841344152997909534466303134919464865639134425029474886876595695325910707087127284487623148531287741868434695926149111002398679 3902868663497152507262097495731408341952308619528281057710664539871060590084030190339373859944276863582808584163190759519396154673444303441907941976310101928706013224929032108135483368281655905438831532968432641489516250832374926921141657799273350475815885518634593195838927449699053080280338428614036776252511567181441919787552737576348297722918722 6314974151165268801945126444938964465414838867237785091115526437561151185536161974018566716623284171067292500257281153689617910349723089071888215772774980253369232572726138433264043511392750110099821645352285144062410044462216271074139567333739653610735350384273727620868402336575648775606249135701164060740134715712729661655987433502497408725317401 10217842814662421309207223940670372807367147486766066148826190977432211775620192164357940576567561034650101084420471913209014065023167392513796157749085082182075245797655170541399526879674406015538653178320717785551926295294591197995281225133013004086551235902908320816707329786274701855886587564315200836992646282894171581443540171078845706448236123 16532816965827690111152350385609337272781986354003851239941717414993362961156354138376507293190845205717393584677753066898631975372890481585684373521860062435444478370381308974663570391067156125638474823673002929614336339756807469069420792466752657697286586287182048437575732122850350631492836700016364897732780998606901243099527604581343115173553524 26750659780490111420359574326279710080149133840769917388767908392425574736776546302734447869758406240367494669098224980107646040396057874099480531270945144617519724168036479516063097270741562141177128001993720715166262635051398667064702017599765661783837822190090369254283061909125052487379424264331565734725427281501072824543067775660188821621789647 43283476746317801531511924711889047352931120194773768628709625807418937697932900441110955162949251446084888253775978047006278015768948355685164904792805207052964202538417788490726667661808718266815602825666723644780598974808206136134122810066518319481124408477272417691858794031975403118872260964347930632458208280107974067642595380241531936795343171 70034136526807912951871499038168757433080254035543686017477534199844512434709446743845403032707657686452382922874203027113924056165006229784645436063750351670483926706454268006789764932550280407992730827660444359946861609859604803198824827666283981264962230667362786946141855941100455606251685228679496367183635561609046892185663155901720758417132818 113317613273125714483383423750057804786011374230317454646187160007263450132642347184956358195656909132537271176650181074120202071933954585469810340856555558723448129244872056497516432594358998674808333653327168004727460584667810939332947637732802300746086639144635204638000649973075858725123946193027426999641843841717020959828258536143252695212475989 183351749799933627435254922788226562219091628265861140663664694207107962567351793928801761228364566818989654099524384101234126128098960815254455776920305910393932055951326324504306197526909279082801064480987612364674322194527415742531772465399086282011048869811997991584142505914176314331375631421706923366825479403326067852013921692044973453629608807 296669363073059341918638346538284367005103002496178595309851854214371412699994141113758119424021475951526925276174565175354328200032915400724266117776861469117380185196198381001822630121268277757609398134314780369401782779195226681864720103131888582757135508956633196222143155887252173056499577614734350366467323245043088811842180228188226148842084796 480021112872992969353893269326510929224194630762039735973516548421479375267345935042559880652386042770516579375698949276588454328131876215978721894697167379511312241147524705506128827648177556840410462615302392734076104973722642424396492568530974864768184378768631187806285661801428487387875209036441273733292802648369156663856101920233199602471693603 776690475946052311272531615864795296229297633258218331283368402635850787967340076156318000076407518722043504651873514451942782528164791616702988012474028848628692426343723086507951457769445834598019860749617173103477887752917869106261212671662863447525319887725264384028428817688680660444374786651175624099760125893412245475698282148421425751313778399 1256711588819045280626424885191306225453492264020258067256884951057330163234686011198877880728793561492560084027572463728531236856296667832681709907171196228140004667491247792014080285417623391438430323364919565837553992726640511530657705240193838312293504266493895571834714479490109147832249995687616897833052928541781402139554384068654625353785472002 2033402064765097591898956501056101521682789897278476398540253353693180951202026087355195880805201080214603588679445978180474019384461459449384697919645225076768697093834970878522031743187069226036450184114536738941031880479558380636918917911856701759818824154219159955863143297178789808276624782338792521932813054435193647615252666217076051105099250401 3290113653584142872525381386247407747136282161298734465797138304750511114436712098554073761533994641707163672707018441909005256240758127282066407826816421304908701761326218670536112028604692617474880507479456304778585873206198892167576623152050540072112328420713055527697857776668898956108874778026409419765865982976975049754807050285730676458884722403 5323515718349240464424337887303509268819072058577210864337391658443692065638738185909269642339195721921767261386464420089479275625219586731451105746461646381677398855161189549058143771791761843511330691593993043719617753685757272804495541063907241831931152574932215483561001073847688764385499560365201941698679037412168697370059716502806727563983972804 8613629371933383336949719273550917015955354219875945330134529963194203180075450284463343403873190363628930934093482861998484531865977714013517513573278067686586100616487408219594255800396454460986211199073449348498203626891956164972072164215957781904043480995645271011258858850516587720494374338391611361464545020389143747124866766788537404022868695207 13937145090282623801374057160854426284774426278453156194471921621637895245714188470372613046212386085550698195479947282087963807491197300744968619319739714068263499471648597768652399572188216304497541890667442392217821380577713437776567705279865023735974633570577486494819859924364276484879873898756813303163224057801312444494926483291344131586852668011 22550774462216007138323776434405343300729780498329101524606451584832098425789638754835956450085576449179629129573430144086448339357175014758486132893017781754849600088136005988246655372584670765483753089740891740716025007469669602748639869495822805640018114566222757506078718774880864205374248237148424664627769078190456191619793250079881535609721363218 36487919552498630939697833595259769585504206776782257719078373206469993671503827225208569496297962534730327325053377426174412146848372315503454752212757495823113099559784603756899054944772887069981294980408334132933846388047383040525207574775687829375992748136800244000898578699245140690254122135905237967790993135991768636114719733371225667196574031229 59038694014714638078021610029665112886233987275111359243684824791302092097293465980044525946383538983909956454626807570260860486205547330261940885105775277577962699647920609745145710317357557835465048070149225873649871395517052643273847444271510635016010862703023001506977297474126004895628370373053662632418762214182224827734512983451107202806295394447 95526613567213269017719443624924882471738194051893616962763197997772085768797293205253095442681501518640283779680184996435272633053919645765395637318532773401075799207705213502044765262130444905446343050557560006583717783564435683799055019047198464392003610839823245507875876173371145585882492508958900600209755350173993463849232716822332870002869425676 154565307581927907095741053654589995357972181327004976206448022789074177866090759185297621389065040502550240234306992566696133119259466976027336522424308050979038498855625823247190475579488002740911391120706785880233589179081488327072902463318709099408014473542846247014853173647497150481510862882012563232628517564356218291583745700273440072809164820123 250091921149141176113460497279514877829710375378898593169211220786846263634888052390550716831746542021190524013987177563131405752313386621792732159742840824380114298063331036749235240841618447646357734171264345886817306962645924010871957482365907563800018084382669492522729049820868296067393355390971463832838272914530211755432978417095772942812034245799 404657228731069083209201550934104873187682556705903569375659243575920441500978811575848338220811582523740764248294170129827538871572853597820068682167148875359152796918956859996425716421106450387269125291971131767050896141727412337944859945684616663208032557925515739537582223468365446548904218272984027065466790478886430047016724117369213015621199065922 654749149880210259322662048213619751017392932084802162544870464362766705135866863966399055052558124544931288262281347692958944623886240219612800841909989699739267094982287896745660957262724898033626859463235477653868203104373336348816817428050524227008050642308185232060311273289233742616297573663955490898305063393416641802449702534464985958433233311721 1059406378611279342531863599147724624205075488790705731920529707938687146636845675542247393273369707068672052510575517822786483495459093817432869524077138575098419891901244756742086673683831348420895984755206609420919099246100748686761677373735140890216083200233700971597893496757599189165201791936939517963771853872303071849466426651834198974054432377643 1714155528491489601854525647361344375222468420875507894465400172301453851772712539508646448325927831613603340772856865515745428119345334037045670365987128274837686986883532653487747630946556246454522844218442087074787302350474085035578494801785665117224133842541886203658204770046832931781499365600895008862076917265719713651916129186299184932487665689364 2773561907102768944386389246509068999427543909666213626385929880240140998409558215050893841599297538682275393283432383338531911614804427854478539890064266849936106878784777410229834304630387594875418828973648696495706401596574833722340172175520806007440217042775587175256098266804432120946701157537834526825848771138022785501382555838133383906542098067007 4487717435594258546240914893870413374650012330541721520851330052541594850182270754559540289925225370295878734056289248854277339734149761891524210256051395124773793865668310063717581935576943841329941673192090783570493703947048918757918666977306471124664350885317473378914303036851265052728200523138729535687925688403742499153298685024432568839029763756371 7261279342697027490627304140379482374077556240207935147237259932781735848591828969610434131524522908978154127339721632192809251348954189746002750146115661974709900744453087473947416240207331436205360502165739480066200105543623752480258839152827277132104567928093060554170401303655697173674901680676564062513774459541765284654681240862565952745571861823378 11748996778291286036868219034249895748727568570749656668088589985323330698774099724169974421449748279274032861396010881047086591083103951637526960402167057099483694610121397537664998175784275277535302175357830263636693809490672671238177506130133748256768918813410533933084704340506962226403102203815293598201700147945507783807979925886998521584601625579749 19010276120988313527495523174629378122805124810957591815325849918105066547365928693780408552974271188252186988735732513239895842432058141383529710548282719074193595354574485011612414415991606713740662677523569743702893915034296423718436345282961025388873486741503594487255105644162659400078003884491857660715474607487273068462661166749564474330173487403127 30759272899279599564363742208879273871532693381707248483414439903428397246140028417950382974424019467526219850131743394286982433515162093021056670950449776173677289964695882549277412591775881991275964852881400007339587724524969094956613851413094773645642405554914128420339809984669621626481106088307151258917174755432780852270641092636562995914775112982876 49769549020267913091859265383508651994337818192664840298740289821533463793505957111730791527398290655778406838867475907526878275947220234404586381498732495247870885319270367560889827007767488705016627530404969751042481639559265518675050196696055799034515892296417722907594915628832281026559109972799008919632649362920053920733302259386127470244948600386003 80528821919547512656223007592387925865870511574372088782154729724961861039645985529681174501822310123304626688999219301813860709462382327425643052449182271421548175283966250110167239599543370696292592383286369758382069364084234613631664048109150572680158297851331851327934725613501902653040216061106160178549824118352834773003943352022690466159723713368879 130298370939815425748082272975896577860208329767036929080895019546495324833151942641411966029220600779083033527866695209340738985409602561830229433947914766669419060603236617671057066607310859401309219913691339509424551003643500132306714244805206371714674190147749574235529641242334183679599326033905169098182473481272888693737245611408817936404672313754882 210827192859362938404305280568284503726078841341409017863049749271457185872797928171093140531042910902387660216865914511154599694871984889255872486397097038090967235887202867781224306206854230097601812296977709267806620367727734745938378292914356944394832487999081425563464366855836086332639542095011329276732297599625723466741188963431508402564396027123761 341125563799178364152387553544181081586287171108445946943944768817952510705949870812505106560263511681470693744732609720495338680281587451086101920345011804760386296490439485452281372814165089498911032210669048777231171371371234878245092537719563316109506678146830999798994008098170270012238868128916498374914771080898612160478434574840326338969068340878643 551952756658541302556692834112465585312366012449854964806994518089409696578747798983598247091306422583858353961598524231649938375153572340341974406742108842851353532377642353233505679021019319596512844507646758045037791739098969624183470830633920260504339166145912425362458374954006356344878410223927827651647068680524335627219623538271834741533464368002404 893078320457719666709080387656646666898653183558300911750939286907362207284697669796103353651569934265329047706331133952145277055435159791428076327087120647611739828868081838685787051835184409095423876718315806822268963110470204502428563368353483576613845844292743425161452383052176626357117278352844326026561839761422947787698058113112161080502532708881047 1445031077116260969265773221769112252211019196008155876557933804996771903863445468779701600742876356849187401667929658183795215430588732131770050733829229490463093361245724191919292730856203728691936721225962564867306754849569174126612034198987403837118185010438655850523910758006182982701995688576772153678208908441947283414917681651383995822035997076883451 2338109397573980635974853609425758919109672379566456788308873091904134111148143138575804954394446291114516449374260792135940492486023891923198127060916350138074833190113806030605079782691388137787360597944278371689575717960039378629040597567340887413732030854731399275685363141058359609059112966929616479704770748203370231202615739764496156902538529785764498 3783140474690241605240626831194871171320691575574612664866806896900906015011588607355506555137322647963703851042190450319735707916612624054968177794745579628537926551359530222524372513547591866479297319170240936556882472809608552755652631766328291250850215865170055126209273899064542591761108655506388633382979656645317514617533421415880152724574526862647949 6121249872264222241215480440620630090430363955141069453175679988805040126159731745931311509531768939078220300416451242455676200402636515978166304855661929766612759741473336253129452296238980004266657917114519308246458190769647931384693229333669178664582246719901454401894637040122902200820221622436005113087750404848687745820149161180376309627113056648412447 9904390346954463846456107271815501261751055530715682118042486885705946141171320353286818064669091587041924151458641692775411908319249140033134482650407509395150686292832866475653824809786571870745955236284760244803340663579256484140345861099997469915432462585071509528103910939187444792581330277942393746470730061494005260437682582596256462351687583511060396 16025640219218686087671587712436131352181419485856751571218166874510986267331052099218129574200860526120144451875092935231088108721885656011300787506069439161763446034306202728783277106025551875012613153399279553049798854348904415525039090433666648580014709304972963929998547979310346993401551900378398859558480466342693006257831743776632771978800640159472843 25930030566173149934127694984251632613932475016572433689260653760216932408502372452504947638869952113162068603333734628006500017041134796044435270156476948556914132327139069204437101915812123745758568389684039797853139517928160899665384951533664118495447171890044473458102458918497791785982882178320792606029210527836698266695514326372889234330488223670533239 41955670785391836021799282696687763966113894502429185260478820634727918675833424551723077213070812639282213055208827563237588125763020452055736057662546387718677578361445271933220379021837675620771181543083319350902938372277065315190424041967330767075461881195017437388101006897808138779384434078699191465587690994179391272953346070149522006309288863830006082 67885701351564985955926977680939396580046369519001618949739474394944851084335797004228024851940764752444281658542562191244088142804155248100171327819023336275591710688584341137657480937649799366529749932767359148756077890205226214855808993500994885570909053085061910846203465816305930565367316257019984071616901522016089539648860396522411240639777087500539321 109841372136956821977726260377627160546160264021430804210218295029672769760169221555951102065011577391726494713751389754481676268567175700155907385481569723994269289050029613070877859959487474987300931475850678499659016262482291530046233035468325652646370934280079348234304472714114069344751750335719175537204592516195480812602206466671933246949065951330545403 177727073488521807933653238058566557126206633540432423159957769424617620844505018560179126916952342144170776372293951945725764411371330948256078713300593060269860999738613954208535340897137274353830681408618037648415094152687517744902042028969320538217279987365141259080507938530419999910119066592739159608821494038211570352251066863194344487588843038831084724 287568445625478629911379498436193717672366897561863227370176064454290390604674240116130228981963919535897271086045341700207440679938506648411986098782162784264130288788643567279413200856624749341131612884468716148074110415169809274948275064437646190863650921645220607314812411244534069254870816928458335146026086554407051164853273329866277734537908990161630127 465295519114000437845032736494760274798573531102295650530133833878908011449179258676309355898916261680068047458339293645933205091309837596668064812082755844533991288527257521487948541753762023694962294293086753796489204567857327019850317093406966729080930909010361866395320349774954069164989883521197494754847580592618621517104340193060622222126752028992714851 752863964739479067756412234930953992470940428664158877900309898333198402053853498792439584880880181215965318544384635346140645771248344245080050910864918628798121577315901088767361742610386773036093907177555469944563314983027136294798592157844612919944581830655582473710132761019488138419860700449655829900873667147025672681957613522926899956664661019154344978 1218159483853479505601444971425714267269513959766454528430443732212106413503032757468748940779796442896033366002723928992073850862558181841748115722947674473332112865843158610255310284364148796731056201470642223741052519550884463314648909251251579649025512739665944340105453110794442207584850583970853324655721247739644294199061953715987522178791413048147059829 1971023448592958573357857206356668259740454388430613406330753630545304815556886256261188525660676624111998684547108564338214496633806526086828166633812593102130234443159059699022672026974535569767150108648197693685615834533911599609447501409096192568970094570321526813815585871813930346004711284420509154556594914886669966881019567238914422135456074067301404807 3189182932446438078959302177782382527009968348197067934761197362757411229059919013729937466440473067008032050549832493330288347496364707928576282356760267575462347309002218309277982311338684366498206310118839917426668354084796062924096410660347772217995607309987471153921038982608372553589561868391362479212316162626314261080081520954901944314247487115448464636 5160206381039396652317159384139050786750422736627681341091950993302716044616805269991125992101149691120030735096941057668502844130171234015404448990572860677592581752161278008300654338313219936265356418767037611112284188618707662533543912069443964786965701880308997967736624854422302899594273152811871633768911077512984227961101088193816366449703561182749869443 8349389313485834731276461561921433313760391084824749275853148356060127273676724283721063458541622758128062785646773550998791191626535941943980731347333128253054929061163496317578636649651904302763562728885877528538952542703503725457640322729791737004961309190296469121657663837030675453183835021203234112981227240139298489041182609148718310763951048298198334079 13509595694525231383593620946060484100510813821452430616945099349362843318293529553712189450642772449248093520743714608667294035756707175959385180337905988930647510813324774325879290987965124239028919147652915139651236731322211387991184234799235701791927011070605467089394288691452978352778108174015105746750138317652282717002283697342534677213654609480948203522 21858985008011066114870082507981917414271204906277179892798247705422970591970253837433252909184395207376156306390488159666085227383243117903365911685239117183702439874488270643457927637617028541792481876538792668190189274025715113448824557529027438796888320260901936211051952528483653805961943195218339859731365557791581206043466306491252987977605657779146537601 35368580702536297498463703454042401514782018727729610509743347054785813910263783391145442359827167656624249827134202768333379263139950293862751092023145106114349950687813044969337218625582152780821401024191707807841426005347926501440008792328263140588815331331507403300446241219936632158740051369233445606481503875443863923045750003833787665191260267260094741123 57227565710547363613333785962024318929053223634006790402541594760208784502234037228578695269011562864000406133524690927999464490523193411766117003708384223298052390562301315612795146263199181322613882900730500476031615279373641614888833349857290579385703651592409339511498193748420285964701994564451785466212869433235445129089216310325040653168865925039241278724 92596146413083661111797489416066720443835242361736400912284941814994598412497820619724137628838730520624655960658893696332843753663143705628868095731529329412402341250114360582132364888781334103435283924922208283873041284721568116328842142185553719974518982923916742811944434968356918123442045933685231072694373308679309052134966314158828318360126192299336019847 149823712123631024725131275378091039372888465995743191314826536575203382914731857848302832897850293384625062094183584624332308244186337117394985099439913552710454731812415676194927511151980515426049166825652708759904656564095209731217675492042844299360222634516326082323442628716777204088144040498137016538907242741914754181224182624483868971528992117338577298571 242419858536714685836928764794157759816723708357479592227111478390197981327229678468026970526689023905249718054842478320665151997849480823023853195171442882122857073062530036777059876040761849529484450750574917043777697848816777847546517634228398019334741617440242825135387063685134122211586086431822247611601616050594063233359148938642697289889118309637913318418 392243570660345710562060040172248799189612174353222783541938014965401364241961536316329803424539317289874780149026062944997460242035817940418838294611356434833311804874945712971987387192742364955533617576227625803682354412911987578764193126271242318694964251956568907458829692401911326299730126929959264150508858792508817414583331563126566261418110426976490616989 634663429197060396398988804966406559006335882710702375769049493355599345569191214784356773951228341195124498203868541265662612239885298763442691489782799316956168877937475749749047263233504214485018068326802542847460052261728765426310710760499640338029705869396811732594216756087045448511316213361781511762110474843102880647942480501769263551307228736614403935407 1026906999857406106961048845138655358195948057063925159310987508321000709811152751100686577375767658484999278352894604210660072481921116703861529784394155751789480682812421462721034650426246579440551685903030168651142406674640753005074903886770882656724670121353380640053046448488956774811046340291740775912619333635611698062525812064895829812725339163590894552396 1661570429054466503360037650105061917202283939774627535080037001676600055380343965885043351326995999680123776556763145476322684721806415467304221274176955068745649560749897212470081913659750793925569754229832711498602458936369518431385614647270522994754375990750192372647263204576002223322362553653522287674729808478714578710468292566665093364032567900205298487803 2688477428911872610321086495243717275398231996838552694391024509997600765191496716985729928702763658165123054909657749686982757203727532171165751058571110820535130243562318675191116564085997373366121440132862880149744865611010271436460518534041405651479046112103573012700309653064958998133408893945263063587349142114326276772994104631560923176757907063796193040199 4350047857966339113681124145348779192600515936613180229471061511674200820571840682870773280029759657845246831466420895163305441925533947638469972332748065889280779804312215887661198477745748167291691194362695591648347324547379789867846133181311928646233422102853765385347572857640961221455771447598785351262078950593040855483462397198226016540790474964001491528002 7038525286878211724002210640592496467998747933451732923862086021671801585763337399856503208732523316010369886376078644850288199129261479809635723391319176709815910047874534562852315041831745540657812634495558471798092190158390061304306651715353334297712468214957338398047882510705920219589180341544048414849428092707367132256456501829786939717548382027797684568201 11388573144844550837683334785941275660599263870064913153333147533346002406335178082727276488762282973855616717842499540013593641054795427448105695724067242599096689852186750450513513519577493707949503828858254063446439514705769851172152784896665262943945890317811103783395455368346881441044951789142833766111507043300407987739918899028012956258338856991799176096203 18427098431722762561685545426533772128598011803516646077195233555017803992098515482583779697494806289865986604218578184863881840184056907257741419115386419308912599900061285013365828561409239248607316463353812535244531704864159912476459436612018597241658358532768442181443337879052801660634132130686882180960935136007775119996375400857799895975887239019596860664404 29815671576567313399368880212475047789197275673581559230528381088363806398433693565311056186257089263721603322061077724877475481238852334705847114839453661908009289752248035463879342080986732956556820292212066598690971219569929763648612221508683860185604248850579545964838793247399683101679083919829715947072442179308183107736294299885812852234226096011396036760607 48242770008290075961054425639008819917795287477098205307723614643381610390532209047894835883751895553587589926279655909741357321422909241963588533954840081216921889652309320477245170642395972205164136755565879133935502924434089676125071658120702457427262607383347988146282131126452484762313216050516598128033377315315958227732669700743612748210113335030992897425011 78058441584857389360423305851483867706992563150679764538251995731745416788965902613205892070008984817309193248340733634618832802661761576669435648794293743124931179404557355941124512723382705161720957047777945732626474144004019439773683879629386317612866856233927534111120924373852167863992299970346314075105819494624141335468964000629425600444339431042388934185618 126301211593147465321477731490492687624787850627777969845975610375127027179498111661100727953760880370896783174620389544360190124084670818633024182749133824341853069056866676418369683365778677366885093803343824866561977068438109115898755537750088775040129463617275522257403055500304652626305516020862912203139196809940099563201633701373038348654452766073381831610629 204359653178004854681901037341976555331780413778457734384227606106872443968464014274306620023769865188205976422961123178979022926746432395302459831543427567466784248461424032359494196089161382528606050851121770599188451212442128555672439417379475092652996319851203056368523979874156820490297815991209226278245016304564240898670597702002463949098792197115770765796247 330660864771152320003378768832469242956568264406235704230203216481999471147962125935407347977530745559102759597581512723339213050831103213935484014292561391808637317518290708777863879454940059895491144654465595465750428280880237671571194955129563867693125783468478578625927035374461473116603332012072138481384213114504340461872231403375502297753244963189152597406876 535020517949157174685279806174445798288348678184693438614430822588871915116426140209713968001300610747308736020542635902318235977577535609237943845835988959275421565979714741137358075544101442424097195505587366064938879493322366227243634372509038960346122103319681634994451015248618293606901148003281364759629229419068581360542829105377966246852037160304923363203123 865681382720309494688658575006915041244916942590929142844634039070871386264388266145121315978831356306411495618124148625657449028408638823173427860128550351084058883498005449915221954999041502319588340160052961530689307774202603898814829327638602828039247886788160213620378050623079766723504480015353503241013442533572921822415060508753468544605282123494075960609999 1400701900669466669373938381181360839533265620775622581459064861659743301380814406354835283980131967053720231638666784527975685005986174432411371705964539310359480449477720191052580030543142944743685535665640327595628187267524970126058463700147641788385369990107841848614829065871698060330405628018634868000642671952641503182957889614131434791457319283798999323813122 2266383283389776164062596956188275880778182563366551724303698900730614687645202672499956599958963323360131727256790933153633134034394813255584799566093089661443539332975725640967801985542184447063273875825693289126317495041727574024873293027786244616424617876896002062235207116494777827053910108033988371241656114486214425005372950122884903336062601407293075284423121 3667085184059242833436535337369636720311448184142174305762763762390357989026017078854791883939095290413851958895457717681608819040380987687996171272057628971803019782453445832020382016085327391806959411491333616721945682309252544150931756727933886404809987867003843910850036182366475887384315736052623239242298786438855928188330839737016338127519920691092074608236243 5933468467449018997499132293557912601089630747508726030066462663120972676671219751354748483898058613773983686152248650835241953074775800943580970838150718633246559115429171472988184001627511838870233287317026905848263177350980118175805049755720131021234605743899845973085243298861253714438225844086611610483954900925070353193703789859901241463582522098385149892659364 9600553651508261830935667630927549321401078931650900335829226425511330665697236830209540367837153904187835645047706368516850772115156788631577142110208347605049578897882617305008566017712839230677192698808360522570208859660232662326736806483654017426044593610903689883935279481227729601822541580139234849726253687363926281382034629596917579591102442789477224500895607 15534022118957280828434799924485461922490709679159626365895689088632303342368456581564288851735212517961819331199955019352092725189932589575158112948359066238296138013311788777996750019340351069547425986125387428418472037011212780502541856239374148447279199354803535857020522780088983316260767424225846460210208588288996634575738419456818821054684964887862374393554971 25134575770465542659370467555413011243891788610810526701724915514143634008065693411773829219572366422149654976247661387868943497305089378206735255058567413843345716911194406083005316037053190300224618684933747950988680896671445442829278662723028165873323792965707225740955802261316712918083309004365081309936462275652922915957773049053736400645787407677339598894450578 40668597889422823487805267479898473166382498289970153067620604602775937350434149993338118071307578940111474307447616407221036222495021967781893368006926480081641854924506194861002066056393541369772044671059135379407152933682658223331820518962402314320602992320510761597976325041405696234344076428590927770146670863941919550533511468510555221700472372565201973288005549 65803173659888366147175735035311484410274286900780679769345520116919571358499843405111947290879945362261129283695277795089979719800111345988628623065493893924987571835700600944007382093446731669996663355992883330395833830354103666161099181685430480193926785286217987338932127302722409152427385432956009080083133139594842466491284517564291622346259780242541572182456127 106471771549311189634981002515209957576656785190750832836966124719695508708933993398450065362187524302372603591142894202311015942295133313770521991072420374006629426760206795805009448149840273039768708027052018709802986764036761889492919700647832794514529777606728748936908452344128105386771461861546936850229804003536762017024795986074846844046732152807743545470461676 172274945209199555782156737550521441986931072091531512606311644836615080067433836803562012653067469664633732874838171997400995662095244659759150614137914267931616998595907396749016830243287004709765371383044902040198820594390865555654018882333263274708456562892946736275840579646850514539198847294502945930312937143131604483516080503639138466392991933050285117652917803 278746716758510745417137740065731399563587857282282345443277769556310588776367830202012078015254993967006336465981066199712011604390377973529672605210334641938246425356114192554026278393127277749534079410096920750001807358427627445146938582981096069222986340499675485212749031990978619925970309156049882780542741146668366500540876489713985310439724085858028663123379479 451021661967710301199294477616252841550518929373813858049589414392925668843801667005574090668322463631640069340819238197113007266485622633288823219348248909869863423952021589303043108636414282459299450793141822790200627952818493000800957465314359343931442903392622221488589611637829134465169156450552828710855678289799970984056956993353123776832716018908313780776297282 729768378726221046616432217681984241114106786656096203492867183949236257620169497207586168683577457598646405806800304396825018870876000606818495824558583551808109849308135781857069387029541560208833530203238743540202435311246120445947896048295455413154429243892297706701338643628807754391139465606602711491398419436468337484597833483067109087272440104766342443899676761 1180790040693931347815726695298237082664625716029910061542456598342161926463971164213160259351899921230286475147619542593938026137361623240107319043906832461677973273260157371160112495665955842668132980996380566330403063264064613446748853513609814757085872147284919928189928255266636888856308622057155540202254097726268308468654790476420232864105156123674656224675974043 1910558419420152394432158912980221323778732502686006265035323782291398184084140661420746428035477378828932880954419846990763045008237623846925814868465416013486083122568293153017181882695497402876966511199619309870605498575310733892696749561905270170240301391177217634891266898895444643247448087663758251693652517162736645953252623959487341951377596228440998668575650804 3091348460114083742247885608278458406443358218715916326577780380633560110548111825633906687387377300059219356102039389584701071145599247087033133912372248475164056395828450524177294378361453245545099492195999876201008561839375347339445603075515084927326173538462137563081195154162081532103756709720913791895906614889004954421907414435907574815482752352115654893251624847 5001906879534236136680044521258679730222090721401922591613104162924958294632252487054653115422854678888152237056459236575464116153836870933958948780837664488650139518396743677194476261056950648422066003395619186071614060414686081232142352637420355097566474929639355197972462053057526175351204797384672043589559132051741600375160038395394916766860348580556653561827275651 8093255339648319878927930129537138136665448940117838918190884543558518405180364312688559802810231978947371593158498626160165187299436118020992082693209912963814195914225194201371770639418403893967165495591619062272622622254061428571587955712935440024892648468101492761053657207219607707454961507105585835485465746940746554797067452831302491582343100932672308455078900498 13095162219182556015607974650795817866887539661519761509803988706483476699812616799743212918233086657835523830214957862735629303453272988954951031474047577452464335432621937878566246900475354542389231498987238248344236682668747509803730308350355795122459123397740847959026119260277133882806166304490257879075024878992488155172227491226697408349203449513228962016906176149 21188417558830875894535904780332956003552988601637600427994873250041995104992981112431772721043318636782895423373456488895794490752709106975943114167257490416278531346847132079938017539893758436356396994578857310616859304922808938375318264063291235147351771865842340720079776467496741590261127811595843714560490625933234709969294944057999899931546550445901270471985076647 34283579778013431910143879431128773870440528263157361937798861956525471804805597912174985639276405294618419253588414351631423794205982095930894145641305067868742866779469069958504264440369112978745628493566095558961095987591556448179048572413647030269810895263583188679105895727773875473067294116086101593635515504925722865141522435284697308280749999959130232488891252796 55471997336844307804679784211461729873993516864794962365793735206567466909798579024606758360319723931401314676961870840527218284958691202906837259808562558285021398126316202038442281980262871415102025488144952869577955292514365386554366836476938265417162667129425529399185672195270617063328421927681945308196006130858957575110817379342697208212296550405031502960876329443 89755577114857739714823663642590503744434045127952324303592597163092938714604176936781743999596129226019733930550285192158642079164673298837731405449867626153764264905785271996946546420631984393847653981711048428539051280105921834733415408890585295686973562393008718078291567923044492536395716043768046901831521635784680440252339814627394516493046550364161735449767582239 145227574451702047519503447854052233618427561992747286669386332369660405624402755961388502359915853157421048607512156032685860364123364501744568665258430184438785663032101474035388828400894855808949679469856001298117006572620287221287782245367523561104136229522434247477477240118315109599724137971449992210027527766643638015363157193970091724705343100769193238410643911682 234983151566559787234327111496642737362861607120699610972978929532753344339006932898170246359511982383440782538062441224844502443288037800582300070708297810592549927937886746032335374821526840202797333451567049726656057852726209056021197654258108856791109791915442965555768808041359602136119854015218039111859049402428318455615497008597486241198389651133354973860411493921 380210726018261834753830559350694970981289169113446897642365261902413749963409688859558748719427835540861831145574597257530362807411402302326868735966727995031335590969988220067724203222421696011747012921423051024773064425346496277308979899625632417895246021437877213033246048159674711735843991986668031321886577169071956470978654202567577965903732751902548212271055405603 615193877584821621988157670847337708344150776234146508615344191435167094302416621757728995078939817924302613683637038482374865250699440102909168806675025805623885518907874966100059578043948536214544346372990100751429122278072705333330177553883741274686355813353320178589014856201034313871963846001886070433745626571500274926594151211165064207102122403035903186131466899524 995404603603083456741988230198032679325439945347593406257709453337580844265826310617287743798367653465164444829211635739905228058110842405236037542641753800655221109877863186167783781266370232226291359294413151776202186703419201610639157453509373692581601834791197391622260904360709025607807837988554101755632203740572231397572805413732642173005855154938451398402522305127 1610598481187905078730145901045370387669590721581739914873053644772747938568242932375016738877307471389467058512848674222280093308810282508145206349316779606279106628785738152267843359310318768440835705667403252527631308981491906943969335007393114967267957648144517570211275760561743339479771683990440172189377830312072506324166956624897706380107977557974354584533989204651 2606003084790988535472134131243403066995030666929333321130763098110328782834069242992304482675675124854631503342060309962185321366921124913381243891958533406934327738663601338435627140576689000667127064961816404303833495684911108554608492460902488659849559482935714961833536664922452365087579521978994273945010034052644737721739762038630348553113832712912805982936511509778 4216601565978893614202280032288773454664621388511073236003816742883076721402312175367321221552982596244098561854908984184465414675731407421526450241275313013213434367449339490703470499887007769107962770629219656831464804666403015498577827468295603627117517131080232532044812425484195704567351205969434446134387864364717244045906718663528054933221810270887160567470500714429 6822604650769882149674414163532176521659652055440406557134579840993405504236381418359625704228657721098730065196969294146650736042652532334907694133233846420147762106112940829139097640463696769775089835591036061135298300351314124053186319929198092286967076614015947493878349090406648069654930727948428720079397898417361981767646480702158403486335642983799966550407012224207 11039206216748775763876694195820949976324273443951479793138396583876482225638693593726946925781640317342828627051878278331116150718383939756434144374509159433361196473562280319842568140350704538883052606220255717966763105017717139551764147397493695914084593745096180025923161515890843774222281933917863166213785762782079225813553199365686458419557453254687127117877512938636 17861810867518657913551108359353126497983925499391886350272976424869887729875075012086572630010298038441558692248847572477766886761036472091341838507743005853508958579675221148981665780814401308658142441811291779102061405369031263604950467326691788201051670359112127519801510606297491843877212661866291886293183661199441207581199680067844861905893096238487093668284525162843 28901017084267433677427802555174076474308198943343366143411373008746369955513768605813519555791938355784387319300725850808883037479420411847775982882252165286870155053237501468824233921165105847541195048031547497068824510386748403156714614724185484115136264104208307545724672122188335618099494595784155052506969423981520433394752879433531320325450549493174220786162038101479 46762827951786091590978910914527202972292124442735252493684349433616257685388843617900092185802236394225946011549573423286649924240456883939117821389995171140379113632912722617805899701979507156199337489842839276170885915755779666761665082050877272316187934463320435065526182728485827461976707257650446938800153085180961640975952559501376182231343645731661314454446563264322 75663845036053525268406713469701279446600323386078618637095722442362627640902612223713611741594174750010333330850299274095532961719877295786893804272247336427249268686150224086630133623144613003740532537874386773239710426142528069918379696775062756431324198567528742611250854850674163080076201853434601991307122509162482074370705438934907502556794195224835535240608601365801 122426672987839616859385624384228482418892447828813871130780071875978885326291455841613703927396411144236279342399872697382182885960334179726011625662242507567628382319062946704436033325124120159939870027717226049410596341898307736680044778825940028747512133030849177676777037579159990542052909111085048930107275594343443715346657998436283684788137840956496849695055164630123 198090518023893142127792337853929761865492771214892489767875794318341512967194068065327315668990585894246612673250171971477715847680211475512905429934489843994877651005213170791066166948268733163680402565591612822650306768040835806598424475601002785178836331598377920288027892429834153622129110964519650921414398103505925789717363437371191187344932036181332384935663765995924 320517191011732758987177962238158244284385219043706360898655866194320398293485523906941019596386997038482892015650044668859898733640545655238917055596732351562506033324276117495502200273392853323620272593308838872060903109939143543278469254426942813926348464629227097964804930008994144164182020075604699851521673697849369505064021435807474872133069877137829234630718930626047 518607709035625901114970300092088006149877990258598850666531660512661911260679591972268335265377582932729504688900216640337614581320757130751822485531222195557383684329489288286568367221661586487300675158900451694711209877979979349876893730027945599105184796227605018252832822438828297786311131040124350772936071801355295294781384873178666059478001913319161619566382696621971 839124900047358660102148262330246250434263209302305211565187526706982309554165115879209354861764579971212396704550261309197513314961302785990739541127954547119889717653765405782070567495054439810920947752209290566772112987919122893155362984454888413031533260856832116217637752447822441950493151115729050624457745499204664799845406308986140931611071790456990854197101627248018 1357732609082984561217118562422334256584141199560904062231719187219644220814844707851477690127142162903941901393450477949535127896282059916742562026659176742677273401983254694068638934716716026298221622911109742261483322865899102243032256714482834012136718057084437134470470574886650739736804282155853401397393817300559960094626791182164806991089073703776152473763484323869989 2196857509130343221319266824752580507018404408863209273796906713926626530369009823730687044988906742875154298098000739258732641211243362702733301567787131289797163119637020099850709502211770466109142570663319032828255435853818225136187619698937722425168251317941269250688108327334473181687297433271582452021851562799764624894472197491150947922700145494233143327960585951118007 3554590118213327782536385387174914763602545608424113336028625901146270751183854531582164735116048905779096199491451217208267769107525422619475863594446308032474436521620274793919348436928486492407364193574428775089738758719717327379219876413420556437304969375025706385158578902221123921424101715427435853419245380100324584989098988673315754913789219198009295801724070274987996 5751447627343671003855652211927495270620950017287322609825532615072897281552864355312851780104955648654250497589451956467000410318768785322209165162233439322271599641257294893770057939140256958516506764237747807917994194573535552515407496112358278862473220692966975635846687229555597103111399148699018305441096942900089209883571186164466702836489364692242439129684656226106003 9306037745556998786392037599102410034223495625711435945854158516219168032736718886895016515221004554433346697080903173675268179426294207941685028756679747354746036162877569687689406376068743450923870957812176583007732953293252879894627372525778835299778190067992682021005266131776721024535500864126454158860342323000413794872670174837782457750278583890251734931408726501093999 15057485372900669790247689811029905304844445642998758555679691131292065314289583242207868295325960203087597194670355130142268589745062993263894193918913186677017635804134864581459464315209000409440377722049924390925727147866788432410034868638137114162251410760959657656851953361332318127646900012825472464301439265900503004756241361002249160586767948582494174061093382727200002 24363523118457668576639727410132315339067941268710194501533849647511233347026302129102884810546964757520943891751258303817536769171357201205579222675592934031763671967012434269148870691277743860364248679862100973933460101160041312304662241163915949462029600828952339677857219493109039152182400876951926623161781588900916799628911535840031618337046532472745908992502109228294001 39421008491358338366887417221162220643912386911708953057213540778803298661315885371310753105872924960608541086421613433959805358916420194469473416594506120708781307771147298850608335006486744269804626401912025364859187249026829744714697109802053063624281011589911997334709172854441357279829300889777399087463220854801419804385152896842280778923814481055240083053595491955494003 63784531609816006943527144631294535982980328180419147558747390426314532008342187500413637916419889718129484978172871737777342128087777395675052639270099054740544979738159733119757205697764488130168875081774126338792647350186871057019359350965969013086310612418864337012566392347550396432011701766729325710625002443702336604014064432682312397260861013527985992046097601183788004 103205540101174345310414561852456756626892715092128100615960931205117830669658072871724391022292814678738026064594485171737147487004197590144526055864605175449326287509307031970365540704251232399973501483686151703651834599213700801734056460768022076710591624008776334347275565201991753711841002656506724798088223298503756408399217329524593176184675494583226075099693093139282007 166990071710990352253941706483751292609873043272547248174708321631432362678000260372138028938712704396867511042767356909514489615091974985819578695134704230189871267247466765090122746402015720530142376565460278042444481949400571858753415811733991089796902236427640671359841957549542150143852704423236050508713225742206093012413281762206905573445536508111212067145790694323070011 270195611812164697564356268336208049236765758364675348790669252836550193347658333243862419961005519075605537107361842081251637102096172575964104750999309405639197554756773797060488287106266952930115878049146429746096316548614272660487472272502013166507493860436417005707117522751533903855693707079742775306801449040709849420812499091731498749630212002694438142245483787462352018 437185683523155049818297974819959341846638801637222596965377574467982556025658593616000448899718223472473048150129198990766126717188147561783683446134013635829068822004240562150611033508282673460258254614606707788540798498014844519240888084236004256304396096864057677066959480301076053999546411502978825815514674782915942433225780853938404323075748510805650209391274481785422029 707381295335319747382654243156167391083404560001897945756046827304532749373316926859862868860723742548078585257491041072017763819284320137747788197133323041468266376761014359211099320614549626390374132663753137534637115046629117179728360356738017422811889957300474682774077003052609957855240118582721601122316123823625791854038279945669903072705960513500088351636758269247774047 1144566978858474797200952217976126732930043361639120542721424401772515305398975520475863317760441966020551633407620240062783890536472467699531471643267336677297335198765254921361710354122832299850632387278359845323177913544643961698969248440974021679116286054164532359841036483353686011854786530085700426937830798606541734287264060799608307395781709024305738561028032751033196076 1851948274193794544583606461132294124013447921641018488477471229077048054772292447335726186621165708568630218665111281134801654355756787837279259840400659718765601575526269280572809674737381926241006519942112982857815028591273078878697608797712039101928176011465007042615113486406295969710026648668422028060146922430167526141302340745278210468487669537805826912664791020280970123 2996515253052269341784558679108420856943491283280139031198895630849563360171267967811589504381607674589181852072731521197585544892229255536810731483667996396062936774291524201934520028860214226091638907220472828180992942135917040577666857238686060781044462065629539402456149969759981981564813178754122454997977721036709260428566401544886517864269378562111565473692823771314166199 4848463527246063886368165140240714980956939204921157519676366859926611414943560415147315691002773383157812070737842802332387199247986043374089991324068656114828538349817793482507329703597596152332645427162585811038807970727190119456364466036398099882972638077094546445071263456166277951274839827422544483058124643466876786569868742290164728332757048099917392386357614791595136322 7844978780298333228152723819349135837900430488201296550875262490776174775114828382958905195384381057746993922810574323529972744140215298910900722807736652510891475124109317684441849732457810378424284334383058639219800912863107160034031323275084160664017100142724085847527413425926259932839653006176666938056102364503586046998435143835051246197026426662028957860050438562909302521 12693442307544397114520888959589850818857369693122454070551629350702786190058388798106220886387154440904805993548417125862359943388201342284990714131805308625720013473927111166949179436055406530756929761545644450258608883590297279490395789311482260546989738219818632292598676882092537884114492833599211421114227007970462833568303886125215974529783474761946350246408053354504438843 20538421087842730342673612778938986656757800181323750621426891841478960965173217181065126081771535498651799916358991449392332687528416641195891436939541961136611488598036428851391029168513216909181214095928703089478409796453404439524427112586566421211006838362542718140126090308018797816954145839775878359170329372474048880566739029960267220726809901423975308106458491917413741364 33231863395387127457194501738528837475615169874446204691978521192181747155231605979171346968158689939556605909907408575254692630916617983480882151071347269762331502071963540018340208604568623439938143857474347539737018680043701719014822901898048681757996576582361350432724767190111335701068638673375089780284556380444511714135042916085483195256593376185921658352866545271918180207 53770284483229857799868114517467824132372970055769955313405413033660708120404823160236473049930225438208405826266400024647025318445034624676773588010889230898942990669999968869731237773081840349119357953403050629215428476497106158539250014484615102969003414944904068572850857498130133518022784513150968139454885752918560594701781946045750415983403277609896966459325037189331921571 87002147878616985257062616255996661607988139930216160005383934225842455275636429139407820018088915377765011736173808599901717949361652608157655739082236500661274492741963508888071446377650463789057501810877398168952447156540807877554072916382663784726999991527265419005575624688241469219091423186526057919739442133363072308836824862131233611239996653795818624812191582461250101778 140772432361846843056930730773464485740361109985986115318789347259503163396041252299644293068019140815973417562440208624548743267806687232834429327093125731560217483411963477757802684150732304138176859764280448798167875633037914036093322930867278887696003406472169487578426482186371602737114207699677026059194327886281632903538606808176984027223399931405715591271516619650582023349 227774580240463828313993347029461147348349249916202275324173281485345618671677681439052113086108056193738429298614017224450461217168339840992085066175362232221491976153926986645874130528382767927234361575157846967120322789578721913647395847249942672423003397999434906584002106874613071956205630886203083978933770019644705212375431670308217638463396585201534216083708202111832125127 368547012602310671370924077802925633088710359902188390642962628744848782067718933738696406154127197009711846861054225848999204484975027073826514393268487963781709459565890464403676814679115072065411221339438295765288198422616635949740718778117221560119006804471604394162428589060984674693319838585880110038128097905926338115914038478485201665686796516607249807355224821762414148476 596321592842774499684917424832386780437059609818390665967135910230194400739396615177748519240235253203450276159668243073449665702143366914818599459443850196003201435719817451049550945207497839992645582914596142732408521212195357863388114625367164232542010202471039300746430695935597746649525469472083194017061867925571043328289470148793419304150193101808784023438933023874246273603 964868605445085171055841502635312413525769969720579056610098538975043182807115548916444925394362450213162123020722468922448870187118393988645113852712338159784910895285707915453227759886612912058056804254034438497696719634811993813128833403484385792661017006942643694908859284996582421342845308057963304055189965831497381444203508627278620969836989618416033830794157845636660422079 1561190198287859670740758927467699193962829579538969722577234449205237583546512164094193444634597703416612399180390711995898535889261760903463713312156188355788112331005525366502778705094110752050702387168630581230105240847007351676516948028851550025203027209413682995655289980932180167992370777530046498072251833757068424772492978776072040273987182720224817854233090869510906695682 2526058803732944841796600430103011607488599549259548779187332988180280766353627713010638370028960153629774522201113180918347406076380154892108827164868526515573023226291233281956006464980723664108759191422665019727801960481819345489645781432335935817864044216356326690564149265928762589335216085588009802127441799588565806216696487403350661243824172338640851685027248715147567117761 4087249002020804512537359357570710801451429128798518501764567437385518349900139877104831814663557857046386921381503892914245941965641915795572540477024714871361135557296758648458785170074834416159461578591295600957907201328826697166162729461187485843067071425770009686219439246860942757327586863118056300199693633345634230989189466179422701517811355058865669539260339584658473813443 6613307805753749354333959787673722408940028678058067280951900425565799116253767590115470184692518010676161443582617073832593348042022070687681367641893241386934158783587991930414791635055558080268220770013960620685709161810646042655808510893523421660931115642126336376783588512789705346662802948706066102327135432934200037205885953582773362761635527397506521224287588299806040931204 10700556807774553866871319145244433210391457806856585782716467862951317466153907467220301999356075867722548364964120966746839290007663986483253908118917956258295294340884750578873576805130392496427682348605256221643616363139472739821971240354710907503998187067896346063003027759650648103990389811824122402526829066279834268195075419762196064279446882456372190763547927884464514744647 17313864613528303221205278932918155619331486484914653063668368288517116582407675057335772184048593878398709808546738040579432638049686057170935275760811197645229453124472742509288368440185950576695903118619216842329325524950118782477779751248234329164929302710022682439786616272440353450653192760530188504853964499214034305400961373344969427041082409853878711987835516184270555675851 28014421421302857088076598078162588829722944291771238846384836151468434048561582524556074183404669746121258173510859007326271928057350043654189183879729153903524747465357493088161945245316343073123585467224473063972941888089591522299750991602945236668927489777919028502789644032091001554643582572354310907380793565493868573596036793107165491320529292310250902751383444068735070420498 45328286034831160309281877011080744449054430776685891910053204439985550630969257581891846367453263624519967982057597047905704566107036100825124459640540351548754200589830235597450313685502293649819488585843689906302267413039710304777530742851179565833856792487941710942576260304531355005296775332884499412234758064707902878996998166452134918361611702164129614739218960253005626096349 73342707456134017397358475089243333278777375068457130756438040591453984679530840106447920550857933370641226155568456055231976494164386144479313643520269505452278948055187728685612258930818636722943074053068162970275209301129301827077281734454124802502784282265860739445365904336622356559940357905238810319615551630201771452593034959559300409682140994474380517490602404321740696516847 118670993490965177706640352100324077727831805845143022666491245031439535310500097688339766918311196995161194137626053103137681060271422245304438103160809857001033148645017964283062572616320930372762562638911852876577476714169012131854812477305304368336641074753802450387942164641153711565237133238123309731850309694909674331590033126011435328043752696638510132229821364574746322613196 192013700947099195103998827189567411006609180913600153422929285622893519990030937794787687469169130365802420293194509158369657554435808389783751746681079362453312096700205692968674831547139567095705636691980015846852686015298313958932094211759429170839425357019663189833308068977776068125177491143362120051465861325111445784183068085570735737725893691112890649720423768896487019130043 310684694438064372810639179289891488734440986758743176089420530654333055300531035483127454387480327360963614430820562261507338614707230635088189849841889219454345245345223657251737404163460497468468199330891868723430162729467326090786906689064733539176066431773465640221250233618929779690414624381485429783316171020021120115773101211582171065769646387751400781950245133471233341743239 502698395385163567914638006479458899741050167672343329512349816277226575290561973277915141856649457726766034724015071419876996169143039024871941596522968581907657342045429350220412235710600064564173836022871884570282848744765640049719000900824162710015491788793128830054558302596705847815592115524847549834782032345132565899956169297152906803495540078864291431670668902367720360873282 813383089823227940725277185769350388475491154431086505601770346931559630591093008761042596244129785087729649154835633681384334783850269659960131446364857801362002587390653007472149639874060562032642035353763753293713011474232966140505907589888896249191558220566594470275808536215635627506006739906332979618098203365153686015729270508735077869265186466615692213620914035838953702616521 1316081485208391508639915192248809288216541322103429835114120163208786205881654982038957738100779242814495683878850705101261330952993308684832073042887826383269659929436082357692561875584660626596815871376635637863995860218998606190224908490713058959207050009359723300330366838812341475321598855431180529452880235710286251915685439805887984672760726545479983645291582938206674063489803 2129464575031619449365192378018159676692032476534516340715890510140345836472747990800000334344909027902225333033686338782645665736843578344792204489252684184631662516826735365164711515458721188629457906730399391157708871693231572330730816080601955208398608229926317770606175375027977102827605595337513509070978439075439937931414710314623062542025913012095675858912496974045627766106324 3445546060240010958005107570266968964908573798637946175830010673349132042354402972838958072445688270716721016912537043883906996689836887029624277532140510567901322446262817722857273391043381815226273778107035029021704731912230178520955724571315014167605658239286041070936542213840318578149204450768694038523858674785726189847100150120511047214786639557575659504204079912252301829596127 5575010635271630407370299948285128641600606275172462516545901183489477878827150963638958406790597298618946349946223382666552662426680465374416482021393194752532984963089553088021984906502103003855731684837434420179413603605461750851686540651916969376004266469212358841542717588868295680976810046106207547594837113861166127778514860435134109756812552569671335363116576886297929595702451 9020556695511641365375407518552097606509180073810408692375911856838609921181553936477916479236285569335667366858760426550459659116517352404040759553533705320434307409352370810879258297545484819082005462944469449201118335517691929372642265223231983543609924708498399912479259802708614259126014496874901586118695788646892317625615010555645156971599192127246994867320656798550231425298578 14595567330783271772745707466837226248109786348982871208921813040328087800008704900116874886026882867954613716804983809217012321543197817778457241574926900072967292372441923898901243204047587822937737147781903869380531939123153680224328805875148952919614191177710758754021977391576909940102824542981109133713532902508058445404129870990779266728411744696918330230437233684848161021001029 23616124026294913138121114985389323854618966422793279901297724897166697721190258836594791365263168437290281083663744235767471980659715170182498001128460605393401599781794294709780501501593072642019742610726373318581650274640845609596971071098380936463224115886209158666501237194285524199228839039856010719832228691154950763029744881546424423700010936824165325097757890483398392446299607 38211691357078184910866822452226550102728752771776151110219537937494785521198963736711666251290051305244894800468728044984484302202912987960955242703387505466368892154236218608681744705640660464957479758508277187962182213763999289821299876973529889382838307063919917420523214585862434139331663582837119853545761593663009208433874752537203690428422681521083655328195124168246553467300636 61827815383373098048987937437615873957347719194569431011517262834661483242389222573306457616553219742535175884132472280751956282862628158143453243831848110859770491936030513318462246207233733106977222369234650506543832488404844899418270948071910825846062422950129076087024451780147958338560502622693130573377990284817959971463619634083628114128433618345248980425953014651644945913600243 100039506740451282959854759889842424060076471966345582121736800772156268763588186310018123867843271047780070684601200325736440585065541146104408486535235616326139384090266731927143990912874393571934702127742927694506014702168844189239570825045440715228900730014048993507547666366010392477892166205530250426923751878480969179897494386620831804556856299866332635754148138819891499380900879 161867322123824381008842697327458298017424191160915013133254063606817752005977408883324581484396490790315246568733672606488396867928169304247861730367083727185909876026297245245606237120108126678911924496977578201049847190573689088657841773117351541074963152964178069594572118146158350816452668828223381000301742163298929151361114020704459918685289918211581616180101153471536445294501122 261906828864275663968697457217300722077500663127260595254990864378974020769565595193342705352239761838095317253334872932224837452993710450352270216902319343512049260116563977172750228032982520250846626624720505895555861892742533277897412598162792256303863882978227063102119784512168743294344835033753631427225494041779898331258608407325291723242146218077914251934249292291427944675402001 423774150988100044977540154544759020094924854288175608388244927985791772775543004076667286836636252628410563822068545538713234320921879754600131947269403070697959136142861222418356465153090646929758551121698084096605709083316222366555254371280143797378827035942405132696691902658327094110797503861977012427527236205078827482619722428029751641927436136289495868114350445762964389969903123 685680979852375708946237611762059742172425517415436203643235792364765793545108599270009992188876014466505881075403418470938071773915590204952402164171722414210008396259425199591106693186073167180605177746418589992161570976058755644452666969442936053682690918920632195798811687170495837405142338895730643854752730246858725813878330835355043365169582354367410120048599738054392334645305124 1109455130840475753923777766306818762267350371703611812031480720350557566320651603346677279025512267094916444897471964009651306094837469959552534111441125484907967532402286422009463158339163814110363728868116674088767280059374978011007921340723079851061517954863037328495503589828822931515939842757707656282279966451937553296498053263384795007097018490656905988162950183817356724615208247 1795136110692851462870015378068878504439775889119048015674716512715323359865760202616687271214388281561422325972875382480589377868753060164504936275612847899117975928661711621600569851525236981290968906614535264080928851035433733655460588310166015904744208873783669524294315276999318768921082181653438300137032696698796279110376384098739838372266600845024316108211549921871749059260513371 2904591241533327216793793144375697266707126260822659827706197233065880926186411805963364550239900548656338770870347346490240683963590530124057470387053973384025943461063998043610033009864400795401332635482651938169696131094808711666468509650889095755805726828646706852789818866828141700437022024411145956419312663150733832406874437362124633379363619335681222096374500105689105783875721618 4699727352226178679663808522444575771146902149941707843380913745781204286052172008580051821454288830217761096843222728970830061832343590288562406662666821283143919389725709665210602861389637776692301542097187202250624982130242445321929097961055111660549935702430376377084134143827460469358104206064584256556345359849530111517250821460864471751630220180705538204586050027560854843136234989 7604318593759505896457601666820273037854028410764367671087110978847085212238583814543416371694189378874099867713570075461070745795934120412619877049720794667169862850789707708820635871254038572093634177579839140420321113225051156988397607611944207416355662531077083229873953010655602169795126230475730212975658023000263943924125258822989105130993839516386760300960550133249960627011956607 12304045945985684576121410189264848809000930560706075514468024724628289498290755823123468193148478209091860964556792804431900807628277710701182283712387615950313782240515417374031238732643676348785935719677026342670946095355293602310326705572999319076905598233507459606958087154483062639153230436540314469532003382849794055441376080283853576882624059697092298505546600160810815470148191596 19908364539745190472579011856085121846854958971470443185555135703475374710529339637666884564842667587965960832270362879892971553424211831113802160762108410617483645091305125082851874603897714920879569897256865483091267208580344759298724313184943526493261260764584542836832040165138664808948356667016044682507661405850057999365501339106842682013617899213479058806507150294060776097160148203 32212410485730875048700422045349970655855889532176518700023160428103664208820095460790352757991145797057821796827155684324872361052489541814984444474496026567797427331820542456883113336541391269665505616933891825762213303935638361609051018757942845570166858998092002443790127319621727448101587103556359152039664788699852054806877419390696258896241958910571357312053750454871591567308339799 52120775025476065521279433901435092502710848503646961885578296131579038919349435098457237322833813385023782629097518564217843914476701372928786605236604437185281072423125667539734987940439106190545075514190757308853480512515983120907775331942886372063428119762676545280622167484760392257049943770572403834547326194549910054172378758497538940909859858124050416118560900748932367664468488002 84333185511206940569979855946785063158566738035823480585601456559682703128169530559247590080824959182081604425924674248542716275529190914743771049711100463753078499754946209996618101276980497460210581131124649134615693816451621482516826350700829217633594978760768547724412294804382119705151530874128762986586990983249762108979256177888235199806101817034621773430614651203803959231776827801 136453960536683006091259289848220155661277586539470442471179752691261742047518965657704827403658772567105387055022192812760560190005892287672557654947704900938359572178071877536353089217419603650755656645315406443469174328967604603424601682643715589697023098523445093005034462289142511962201474644701166821134317177799672163151634936385774140715961675158672189549175551952736326896245315803 220787146047889946661239145795005218819844324575293923056781209250944445175688496216952417484483731749186991480946867061303276465535083202416328704658805364691438071933018087532971190494400101110966237776440055578084868145419226085941428033344544807330618077284213640729446757093524631667353005518829929807721308161049434272130891114274009340522063492193293962979790203156540286128022143604 357241106584572952752498435643225374481121911114764365527960961942206187223207461874657244888142504316292378535969059874063836655540975490088886359606510265629797644111089965069324279711819704761721894421755462021554042474386830689366029715988260397027641175807658733734481219382667143629554480163531096628855625338849106435282526050659783481238025167351966152528965755109276613024267459407 578028252632462899413737581438230593300966235690058288584742171193150632398895958091609662372626236065479370016915926935367113121076058692505215064265315630321235716044108052602295470206219805872688132198195517599638910619806056775307457749332805204358259253091872374463927976476191775296907485682361026436576933499898540707413417164933792821760088659545260115508755958265816899152289603011 935269359217035852166236017081455967782088146804822654112703133135356819622103419966266907260768740381771748552884986809430949776617034182594101423871825895951033360155198017671619749918039510634410026619950979621192953094192887464673487465321065601385900428899531108198409195858858918926461965845892123065432558838747647142695943215593576302998113826897226268037721713375093512176557062418 1513297611849498751579973598519686561083054382494880942697445304328507452020999378057876569633394976447251118569800913744798062897693092875099316488137141526272269076199306070273915220124259316507098158818146497220831863713998944239980945214653870805744159681991403482662337172335050694223369451528253149502009492338646187850109360380527369124758202486442486383546477671640910411328846665429 2448566971066534603746209615601142528865142529299703596810148437463864271643102798024143476894163716829022867122685900554229012674310127057693417912008967422223302436354504087945534970042298827141508185438097476842024816808191831704654432679974936407130060110890934590860746368193909613149831417374145272567442051177393834992805303596120945427756316313339712651584199385016003923505403727847 3961864582916033355326183214120829089948196911794584539507593741792371723664102176082020046527558693276273985692486814299027075572003219932792734400146108948495571512553810158219450190166558143648606344256243974062856680522190775944635377894628807212874219792882338073523083540528960307373200868902398422069451543516040022842914663976648314552514518799782199035130677056656914334834250393276 6410431553982567959072392829721971618813339441094288136317742179256235995307204974106163523421722410105296852815172714853256088246313346990486152312155076370718873948908314246164985160208856970790114529694341450904881497330382607649289810574603743620004279903773272664383829908722869920523032286276543694636893594693433857835719967572769259980270835113121911686714876441672918258339654121123 10372296136898601314398576043842800708761536352888872675825335921048607718971307150188183569949281103381570838507659529152283163818316566923278886712301185319214445461462124404384435350375415114438720873950585424967738177852573383593925188469232550832878499696655610737906913449251830227896233155178942116706345138209473880678634631549417574532785353912904110721845553498329832593173904514399 16782727690881169273470968873564772327574875793983160812143078100304843714278512124294347093371003513486867691322832244005539252064629913913765039024456261689933319410370438650549420510584272085228835403644926875872619675182955991243214999043836294452882779600428883402290743357974700148419265441455485811343238732902907738514354599122186834513056189026026022408560429940002750851513558635522 27155023827779770587869544917407573036336412146872033487968414021353451433249819274482530663320284616868438529830491773157822415882946480837043925736757447009147764871832563054933855860959687199667556277595512300840357853035529374837140187513068845285761279297084494140197656807226530376315498596634427928049583871112381619192989230671604409045841542938930133130405983438332583444687463149921 43937751518660939861340513790972345363911287940855194300111492121658295147528331398776877756691288130355306221153324017163361667947576394750808964761213708699081084282203001705483276371543959284896391681240439176712977528218485366080355186556905139738644058897513377542488400165201230524734764038089913739392822604015289357707343829793791243558897731964956155538966413378335334296201021785443 71092775346440710449210058708379918400247700087727227788079906143011746580778150673259408420011572747223744750983815790321184083830522875587852890497971155708228849154035564760417132232503646484563947958835951477553335381254014740917495374069973985024405338194597871682686056972427760901050262634724341667442406475127670976900333060465395652604739274903886288669372396816667917740888484935364 115030526865101650310550572499352263764158988028582422088191398264670041728306482072036286176702860877579050972137139807484545751778099270338661855259184864407309933436238566465900408604047605769460339640076390654266312909472500106997850560626879124763049397092111249225174457137628991425785026672814255406835229079142960334607676890259186896163637006868842444208338810195003252037089506720807 186123302211542360759760631207732182164406688116309649876271304407681788309084632745295694596714433624802795723120955597805729835608622145926514745757156020115538782590274131226317540836551252254024287598912342131819648290726514847915345934696853109787454735286709120907860514110056752326835289307538597074277635554270631311508009950724582548768376281772728732877711207011671169777977991656171 301153829076644011070311203707084445928565676144892071964462702672351830037391114817331980773417294502381846695258095405290275587386721416265176601016340884522848716026512697692217949440598858023484627238988732786085961200199014954913196495323732234550504132378820370133034971247685743752620315980352852481112864633413591646115686840983769444932013288641571177086050017206674421815067498376978 487277131288186371830071834914816628092972364261201721840734007080033618346475747562627675370131728127184642418379051003096005422995343562191691346773496904638387498616786828918535490277150110277508914837901074917905609490925529802828542430020585344337958867665529491040895485357742496079455605287891449555390500187684222957623696791708351993700389570414299909963761224218345591593045490033149 788430960364830382900383038621901074021538040406093793805196709752385448383866862379959656143549022629566489113637146408386281010382064978456867947789837789161236214643299526610753439717748968300993542076889807703991570691124544757741738925344317578888463000044349861173930456605428239832075921268244302036503364821097814603739383632692121438632402859055871087049811241425020013408112988410127 1275708091653016754730454873536717702114510404667295515645930716832419066730342609942587331513680750756751131532016197411482286433377408540648559294563334693799623713260086355529288929994899078578502456914790882621897180182050074560570281355364902923226421867709879352214825941963170735911531526556135751591893865008782037561363080424400473432332792429470170997013572465643365605001158478443276 2064139052017847137630837912158618776136048445073389309451127426584804515114209472322546987657229773386317620645653343819868567443759473519105427242353172482960859927903385882140042369712648046879495998991680690325888750873174619318312020280709220502114884867754229213388756398568598975743607447824380053628397229829879852165102464057092594870965195288526042084063383707068385618409271466853403 3339847143670863892361292785695336478250558849740684825097058143417223581844552082265134319170910524143068752177669541231350853877136882059753986536916507176760483641163472237669331299707547125457998455906471572947785931055224693878882301636074123425341306735464108565603582340531769711655138974380515805220291094838661889726465544481493068303297987717996213081076956172711751223410429945296679 5403986195688711029992130697853955254386607294814074134548185570002028096958761554587681306828140297529386372823322885051219421320896355578859413779269679659721343569066858119809373669420195172337494454898152263273674681928399313197194321916783343927456191603218337778992338739100368687398746422204895858848688324668541741891568008538585663174263183006522255165140339879780136841819701412150082 8743833339359574922353423483549291732637166144554758959645243713419251678803313636852815625999050821672455125000992426282570275198033237638613400316186186836481827210230330357478704969127742297795492910804623836221460612983624007076076623552857467352797498338682446344595921079632138399053885396585411664068979419507203631618033553020078731477561170724518468246217296052491888065230131357446761 14147819535048285952345554181403246987023773439368833094193429283421279775762075191440496932827191119201841497824315311333789696518929593217472814095455866496203170779297188477288078638547937470132987365702776099495135294912023320273270945469640811280253689941900784123588259818732507086452631818790307522917667744175745373509601561558664394651824353731040723411357635932272024907049832769596843 22891652874407860874698977664952538719660939583923592053838672996840531454565388828293312558826241940874296622825307737616359971716962830856086214411642053332684997989527518834766783607675679767928480276507399935716595907895647327349347569022498278633051188280583230468184180898364645485506517215375719186986647163682949005127635114578743126129385524455559191657574931984763912972279964127043604 37039472409456146827044531846355785706684713023292425148032102280261811230327464019733809491653433060076138120649623048950149668235892424073559028507097919828888168768824707312054862246223617238061467642210176035211731202807670647622618514492139089913304878222484014591772440717097152571959149034166026709904314907858694378637236676137407520781209878186599915068932567917035937879329796896640447 59931125283864007701743509511308324426345652607216017201870775277102342684892852848027122050479675000950434743474930786566509639952855254929645242918739973161573166758352226146821645853899297005989947918717575970928327110703317974971966083514637368546356066503067245059956621615461798057465666249541745896890962071541643383764871790716150646910595402642159106726507499901799850851609761023684051 96970597693320154528788041357664110133030365630508442349902877557364153915220316867760931542133108061026572864124553835516659308188747679003204271425837892990461335527176933458876508100122914244051415560927752006140058313510988622594584598006776458459660944725551259651729062332558950629424815283707772606795276979400337762402108466853558167691805280828759021795440067818835788730939557920324498 156901722977184162230531550868972434559376018237724459551773652834466496600113169715788053592612783061977007607599484622083168948141602933932849514344577866152034502285529159605698153954022211250041363479645327977068385424214306597566550681521413827006017011228618504711685683948020748686890481533249518503686239050941981146166980257569708814602400683470918128521947567720635639582549318944008549 253872320670504316759319592226636544692406383868232901901676530391830650515333486583548985134745891123003580471724038457599828256330350612936053785770415759142495837812706093064574662054145125494092779040573079983208443737725295220161135279528190285465677955954169764363414746280579699316315296816957291110481516030342318908569088724423266982294205964299677150317387635539471428313488876864333047 410774043647688478989851143095608979251782402105957361453450183226297147115446656299337038727358674184980588079323523079682997204471953546868903300114993625294530340098235252670272816008167336744134142520218407960276829161939601817727685961049604112471694967182788269075100430228600448003205778350206809614167755081284300054736068981992975796896606647770595278839335203260107067896038195808341596 664646364318192795749170735322245523944188785974190263355126713618127797630780142882886023862104565307984168551047561537282825460802304159804957085885409384437026177910941345734847478062312462238226921560791487943485272899664897037888821240577794397937372923136958033438515176509180147319521075167164100724649271111626618963305157706416242779190812612070272429156722838799578496209527072672674643 1075420407965881274739021878417854503195971188080147624808576896844424944746226799182223062589463239492964756630371084616965822665274257706673860386000403009731556518009176598405120294070479798982361064081009895903762102061604498855616507201627398510409067890319746302513615606737780595322726853517370910338817026192910919018041226688409218576087419259840867707996058042059685564105565268481016239 1740066772284074070488192613740100027140159974054337888163703610462552742377006942065109086451567804800948925181418646154248648126076561866478817471885812394168582695920117944139967772132792261220587985641801383847247374961269395893505328442205192908346440813456704335952130783246960742642247928684535011063466297304537537981346384394825461355278231871911140137152780880859264060315092341153690882 2815487180249955345227214492157954530336131162134485512972280507306977687123233741247332149041031044293913681811789730771214470791350819573152677857886215403900139213929294542545088066203272060202949049722811279751009477022873894749121835643832591418755508703776450638465746389984741337964974782201905921402283323497448456999387611083234679931365651131752007845148838922918949624420657609634707121 4555553952534029415715407105898054557476291136188823401135984117769530429500240683312441235492598849094862606993208376925463118917427381439631495329772027798068721909849412486685055838336064321423537035364612663598256851984143290642627164086037784327101949517233154974417877173231702080607222710886440932465749620801985994980733995478060141286643883003663147982301619803778213684735749950788398003 7371041132783984760942621598056009087812422298323308914108264625076508116623474424559773384533629893388776288804998107696677589708778201012784173187658243201968861123778707029230143904539336381626486085087423943349266329007017185391748999729870375745857458221009605612883623563216443418572197493088346853868032944299434451980121606561294821218009534135415155827450458726697163309156407560423105124 11926595085318014176658028703954063645288713434512132315244248742846038546123715107872214620026228742483638895798206484622140708626205582452415668517430271000037583033628119515915199742875400703050023120452036606947523180991160476034376163815908160072959407738242760587301500736448145499179420203974787786333782565101420446960855602039354962504653417139078303809752078530475376993892157511211503127 19297636218101998937600650302010072733101135732835441229352513367922546662747189532431988004559858635872415184603204592318818298334983783465199841705088514202006444157406826545145343647414737084676509205539460550296789509998177661426125163545778535818816865959252366200185124299664588917751617697063134640201815509400854898940977208600649783722662951274493459637202537257172540303048565071634608251 31224231303420013114258679005964136378389849167347573544596762110768585208870904640304202624586087378356054080401411076940959006961189365917615510222518785202044027191034946061060543390290137787726532325991497157244312690989338137460501327361686695891776273697495126787486625036112734416931037901037922426535598074502275345901832810640004746227316368413571763446954615787647917296940722582846111378 50521867521522012051859329307974209111490984900183014773949275478691131871618094172736190629145946014228469265004615669259777305296173149382815351927607299404050471348441772606205887037704874872403041531530957707541102200987515798886626490907465231710593139656747492987671749335777323334682655598101057066737413583903130244842810019240654529949979319688065223084157153044820457599989287654480719629 81746098824942025166118008313938345489880834067530588318546037589459717080488998813040393253732033392584523345406026746200736312257362515300430862150126084606094498539476718667266430427995012660129573857522454864785414891976853936347127818269151927602369413354242619775158374371890057751613693499138979493273011658405405590744642829880659276177295688101636986531111768832468374896930010237326831007 132267966346464037217977337621912554601371818967713603092495313068150848952107092985776583882877979406812992610410642415460513617553535664683246214077733384010144969887918491273472317465699887532532615389053412572326517092964369735233754309176617159312962553010990112762830123707667381086296349097240036560010425242308535835587452849121313806127275007789702209615268921877288832496919297891807550636 214014065171406062384095345935850900091252653035244191411041350657610566032596091798816977136610012799397515955816669161661249929810898179983677076227859468616239468427395209940738747893694900192662189246575867437111931984941223671580882127445769086915331966365232732537988498079557438837910042596379016053283436900713941426332095679001973082304570695891339196146380690709757207393849308129134381643 346282031517870099602072683557763454692624472002957794503536663725761414984703184784593561019487992206210508566227311577121763547364433844666923290305592852626384438315313701214211065359394787725194804635629280009438449077905593406814636436622386246228294519376222845300818621787224819924206391693619052613293862143022477261919548528123286888431845703681041405761649612587046039890768606020941932279 560296096689276161986168029493614354783877125038201985914578014383371981017299276583410538156098005005608024522043980738783013477175332024650600366533452321242623906742708911154949813253089687917856993882205147446550381062846817078395518564068155333143626485741455577838807119866782258762116434289998068666577299043736418688251644207125259970736416399572380601908030303296803247284617914150076313922 906578128207146261588240713051377809476501597041159780418114678109133396002002461368004099175585997211818533088271292315904777024539765869317523656839045173869008345058022612369160878612484475643051798517834427455988830140752410485210155000690541579371921005117678423139625741654007078686322825983617121279871161186758895950171192735248546859168262103253422007669679915883849287175386520171018246201 1466874224896422423574408742544992164260378722079361766332692692492505377019301737951414637331684002217426557610315273054687790501715097893968124023372497495111632251800731523524110691865574163560908792400039574902539211203599227563605673564758696912515547490859134000978432861520789337448439260273615189946448460230495314638422836942373806829904678502825802609577710219180652534460004434321094560123 2373452353103568685162649455596369973736880319120521546750807370601638773021304199319418736507269999429245090698586565370592567526254863763285647680211542668980640596858754135893271570478058639203960590917874002358528041344351638048815828565449238491887468495976812424118058603174796416134762086257232311226319621417254210588594029677622353689072940606079224617247390135064501821635390954492112806324 3840326577999991108737058198141362137997259041199883313083500063094144150040605937270833373838954001646671648308901838425280358027969961657253771703584040164092272848659485659417382262343632802764869383317913577261067252547950865612421502130207935404403015986835946425096491464695585753583201346530847501172768081647749525227016866619996160518977619108905027226825100354245154356095395388813207366447 6213778931103559793899707653737732111734139360320404859834307433695782923061910136590252110346224001075916739007488403795872925554224825420539419383795582833072913445518239795310653832821691441968829974235787579619595293892302503661237330695657173896290484482812758849214550067870382169717963432788079812399087703065003735815610896297618514208050559714984251844072490489309656177730786343305320172771 10054105509103550902636765851879094249731398401520288172917807496789927073102516073861085484185178002722588387316390242221153283582194787077793191087379622997165186294177725454728036095165324244733699357553701156880662546440253369273658832825865109300693500469648705274311041532565967923301164779318927313571855784712753261042627762917614674727028178823889279070897590843554810533826181732118527539218 16267884440207110696536473505616826361465537761840693032752114930485709996164426210451337594531402003798505126323878646017026209136419612498332610471175205830238099739695965250038689927987015686702529331789488736500257840332555872934896163521522283196983984952461464123525591600436350093019128212107007125970943487777756996858238659215233188935078738538873530914970081332864466711556968075423847711989 26321989949310661599173239357495920611196936163360981205669922427275637069266942284312423078716580006521093513640268888238179492718614399576125801558554828827403286033873690704766726023152339931436228689343189893380920386772809242208554996347387392497677485422110169397836633133002318016320292991425934439542799272490510257900866422132847863662106917362762809985867672176419277245383149807542375251207 42589874389517772295709712863112746972662473925201674238422037357761347065431368494763760673247982010319598639964147534255205701855034012074458412029730034657641385773569655954805415951139355618138758021132678629881178227105365115143451159868909675694661470374571633521362224733438668109339421203532941565513742760268267254759105081348081052597185655901636340900837753509283743956940117882966222963196 68911864338828433894882952220608667583859410088562655444091959785036984134698310779076183751964562016840692153604416422493385194573648411650584213588284863485044671807443346659572141974291695549574986710475868523262098613878174357352006156216297068192338955796681802919198857866440986125659714194958876005056542032758777512659971503480928916259292573264399150886705425685703021202323267690508598214403 111501738728346206190592665083721414556521884013764329682513997142798331200129679273839944425212544027160290793568563956748590896428682423725042625618014898142686057581013002614377557925431051167713744731608547153143276840983539472495457316085206743887000426171253436440561082599879654234999135398491817570570284793027044767419076584829009968856478229166035491787543179194986765159263385573474821177599 180413603067174640085475617304330082140381294102326985126605956927835315334827990052916128177177106044000982947172980379241976091002330835375626839206299761627730729388456349273949699899722746717288731442084415676405375454861713829847463472301503812079339381967935239359759940466320640360658849593450693575626826825785822280079048088309938885115770802430434642674248604880689786361586653263983419392002 291915341795520846276068282388051496696903178116091314809119954070633646534957669326756072602389650071161273740741544335990566987431013259100669464824314659770416786969469351888327257825153797885002476173692962829548652295845253302342920788386710555966339808139188675800321023066200294595657984991942511146197111618812867047498124673138948853972249031596470134461791784075676551520850038837458240569601 472328944862695486361543899692381578837284472218418299935725910998468961869785659379672200779566756115162256687914524715232543078433344094476296304030614421398147516357925701162276957724876544602291207615777378505954027750706967132190384260688214368045679190107123915160080963532520934956316834585393204721823938444598689327577172761448887739088019834026904777136040388956366337882436692101441659961603 764244286658216332637612182080433075534187650334509614744845865069102608404743328706428273381956406186323530428656069051223110065864357353576965768854929081168564303327395053050604215550030342487293683789470341335502680046552220434533305049074924924012018998246312590960401986598721229551974819577335715868021050063411556375075297434587836593060268865623374911597832173032042889403286730938899900531204 1236573231520911818999156081772814654371472122552927914680571776067571570274528988086100474161523162301485787116570593766455653144297701448053262072885543502566711819685320754212881173274906887089584891405247719841456707797259187566723689309763139292057698188353436506120482950131242164508291654162728920589844988508010245702652470196036724332148288699650279688733872561988409227285723423040341560492807 2000817518179128151636768263853247729905659772887437529425417641136674178679272316792528747543479568487809317545226662817678763210162058801630227841740472583735276123012715807263485388824937229576878575194718061176959387843811408001256994358838064216069717186599749097080884936729963394060266473740064636457866038571421802077727767630624560925208557565273654600331704735020452116689010153979241461024011 3237390749700039970635924345626062384277131895440365444105989417204245748953801304878629221705002730789295104661797256584134416354459760249683489914626016086301987942698036561476366562099844116666463466599965781018416095641070595567980683668601203508127415374953185603201367886861205558568558127902793557047711027079432047780380237826661285257356846264923934289065577297008861343974733577019583021516818 5238208267879168122272692609479310114182791668327802973531407058340919927633073621671157969248482299277104422207023919401813179564621819051313717756366488670037264065710752368739851950924781346243342041794683842195375483484882003569237678027439267724197132561552934700282252823591168952628824601642858193505577065650853849858108005457285846182565403830197588889397282032029313460663743730998824482540829 8475599017579208092908616955105372498459923563768168417637396475545165676586874926549787190953485030066399526868821175985947595919081579300997207670992504756339252008408788930216218513024625462909805508394649623213791579125952599137218361696040471232324547936506120303483620710452374511197382729545651750553288092730285897638488243283947131439922250095121523178462859329038174804638477308018407504057647 13713807285458376215181309564584682612642715232095971391168803533886085604219948548220945160201967329343503949075845095387760775483703398352310925427358993426376516074119541298956070463949406809153147550189333465409167062610834602706456039723479738956521680498059055003765873534043543463826207331188509944058865158381139747496596248741232977622487653925319112067860141361067488265302221039017231986598476 22189406303037584308089926519690055111102638795864139808806200009431251280806823474770732351155452359409903475944666271373708371402784977653308133098351498182715768082528330229172288976974032272062953058583983088622958641736787201843674401419520210188846228434565175307249494244495917975023590060734161694612153251111425645135084492025180109062409904020440635246323000690105663069940698347035639490656123 35903213588495960523271236084274737723745354027960111199975003543317336885026772022991677511357419688753407425020511366761469146886488376005619058525710491609092284156647871528128359440923439081216100608773316554032125704347621804550130441142999949145367908932624230311015367778539461438849797391922671638671018409492565392631680740766413086684897557945759747314183142051173151335242919386052871477254599 58092619891533544831361162603964792834847992823824251008781203552748588165833595497762409862512872048163310900965177638135177518289273353658927191624061989791808052239176201757300648417897471353279053667357299642655084346084409006393804842562520159334214137367189405618264862023035379413873387452656833333283171660603991037766765232791593195747307461966200382560506142741278814405183617733088510967910722 93995833480029505354632398688239530558593346851784362208756207096065925050860367520754087373870291736916718325985689004896646665175761729664546250149772481400900336395824073285429007858820910434495154276130616196687210050432030810943935283705520108479582046299813635929280229801574840852723184844579504971954190070096556430398445973558006282432205019911960129874689284792451965740426537119141382445165321 152088453371563050185993561292204323393441339675608613217537410648814513216693963018516497236383163785080029226950866643031824183465035083323473441773834471192708388635000275042729656276718381787774207943487915839342294396516439817337740126268040267813796183667003041547545091824610220266596572297236338305237361730700547468165211206349599478179512481878160512435195427533730780145610154852229893413076043 246084286851592555540625959980443853952034686527392975426293617744880438267554330539270584610253455521996747552936555647928470848640796812988019691923606952593608725030824348328158664135539292222269362219618532036029504446948470628281675409973560376293378229966816677476825321626185061119319757141815843277191551800797103898563657179907605760611717501790120642309884712326182745886036691971371275858241364 398172740223155605726619521272648177345476026203001588643831028393694951484248293557787081846636619307076776779887422290960295032105831896311493133697441423786317113665824623370888320412257674010043570163106447875371798843464910445619415536241600644107174413633819719024370413450795281385916329439052181582428913531497651366728868386257205238791229983668281154745080139859913526031646846823601169271317407 644257027074748161267245481253092031297510712730394564070124646138575389751802624097057666456890074829073524332823977938888765880746628709299512825621048376379925838696648971699046984547796966232312932382724979911401303290413381073901090946215161020400552643600636396501195735076980342505236086580868024859620465332294755265292525566164810999402947485458401797054964852186096271917683538794972445129558771 1042429767297903766993865002525740208642986738933396152713955674532270341236050917654844748303526694136150301112711400229849060912852460605611005959318489800166242952362473595069935304960054640242356502545831427786773102133878291519520506482456761664507727057234456115525566148527775623891152416019920206442049378863792406632021393952422016238194177469126682951800044992046009797949330385618573614400876178 1686686794372651928261110483778832239940497451663790716784080320670845730987853541751902414760416768965223825445535378168737826793599089314910518784939538176546168791059122566768982289507851606474669434928556407698174405424291672593421597428671922684908279700835092512026761883604755966396388502600788231301669844196087161897313919518586827237597124954585084748855009844232106069867013924413546059530434949 2729116561670555695254975486304572448583484190597186869498035995203116072223904459406747163063943463101374126558246778398586887706451549920521524744258027976712411743421596161838917594467906246717025937474387835484947507558169964112942103911128684349416006758069548627552328032132531590287540918620708437743719223059879568529335313471008843475791302423711767700655054836278115867816344310032119673931311127 4415803356043207623516085970083404688523981642260977586282116315873961803211758001158649577824360232066597952003782156567324714500050639235432043529197566153258580534480718728607899883975757853191695372402944243183121912982461636706363701339800607034324286458904641139579089915737287556683929421221496669045389067255966730426649232989595670713388427378296852449510064680510221937683358234445665733461746076 7144919917713763318771061456387977137107465832858164455780152311077077875435662460565396740888303695167972078562028934965911602206502189155953568273455594129970992277902314890446817478443664099908721309877332078668069420540631600819305805250929291383740293216974189767131417947869819146971470339842205106789108290315846298955984546460604514189179729802008620150165119516788337805499702544477785407393057203 11560723273756970942287147426471381825631447475119142042062268626951039678647420461724046318712663927234570030565811091533236316706552828391385611802653160283229572812383033619054717362419421953100416682280276321851191333523093237525669506590729898418064579675878830906710507863607106703655399761063701775834497357571813029382633779450200184902568157180305472599675184197298559743183060778923451140854803279 18705643191470734261058208882859358962738913307977306497842420938028117554083082922289443059600967622402542109127840026499147918913055017547339180076108754413200565090285348509501534840863086053009137992157608400519260754063724838344975311841659189801804872892853020673841925811476925850626870100905906882623605647887659328338618325910804699091747886982314092749840303714086897548682763323401236548247860482 30266366465227705203345356309330740788370360783096448539904689564979157232730503384013489378313631549637112139693651118032384235619607845938724791878761914696430137902668382128556252203282508006109554674437884722370452087586818075870644818432389088219869452568731851580552433675084032554282269861969608658458103005459472357721252105361004883994316044162619565349515487911385457291865824102324687689102663761 48972009656698439464403565192190099751109274091073755037747110503007274786813586306302932437914599172039654248821491144531532154532662863486063971954870669109630702992953730638057787044145594059118692666595493122889712841650542914215620130274048278021674325461584872254394359486560958404909139962875515541081708653347131686059870431271809583086063931144933658099355791625472354840548587425725924237350524243 79238376121926144667748921501520840539479634874170203577651800067986432019544089690316421816228230721676766388515142262563916390152270709424788763833632583806060840895622112766614039247428102065228247341033377845260164929237360990086264948706437366241543778030316723834946793161644990959191409824845124199539811658806604043781122536632814467080379975307553223448871279536857812132414411528050611926453188004 128210385778624584132152486693710940290588908965243958615398910570993706806357675996619354254142829893716420637336633407095448544684933572910852735788503252915691543888575843404671826291573696124346940007628870968149877770887903904301885078980485644263218103491901596089341152648205949364100549787720639740621520312153735729840992967904624050166443906452486881548227071162330166972962998953776536163803712247 207448761900550728799901408195231780830068543839414162193050710638980138825901765686935776070371060615393187025851775669659364934837204282335641499622135836721752384784197956171285865539001798189575187348662248813410042700125264894388150027686923010504761881522218319924287945809850940323291959612565763940161331970960339773622115504537438517246823881760040104997098350699187979105377410481827148090256900251 335659147679175312932053894888942721120657452804658120808449621209973845632259441683555130324513890509109607663188409076754813479522137855246494235410639089637443928672773799575957691830575494313922127356291119781559920471013168798690035106667408654767979985014119916013629098458056889687392509400286403680782852283114075503463108472442062567413267788212526986545325421861518146078340409435603684254060612498 543107909579726041731955303084174501950725996644072283001500331848953984458161207370490906394884951124502794689040184746414178414359342137582135735032774926359196313456971755747243557369577292503497314704953368594969963171138433693078185134354331665272741866536338235937917044267907830010684469012852167620944184254074415277085223976979501084660091669972567091542423772560706125183717819917430832344317512749 878767057258901354664009197973117223071383449448730403809949953058927830090420649054046036719398841633612402352228593823168991893881479992828629970443414015996640242129745555323201249200152786817419442061244488376529883642151602491768220241021740320040721851550458151951546142725964719698076978413138571301727036537188490780548332449421563652073359458185094078087749194422224271262058229353034516598378125247 1421874966838627396395964501057291725022109446092802686811450284907881814548581856424536943114283792758115197041268778569583170308240822130410765705476188942355836555586717311070444806569730079320916756766197856971499846813290036184846405375376071985313463718086796387889463186993872549708761447425990738922671220791262906057633556426401064736733451128157661169630172966982930396445776049270465348942695637996 2300642024097528751059973699030408948093492895541533090621400237966809644639002505478582979833682634391727599393497372392752162202122302123239395675919602958352476797716462866393646055769882866138336198827442345348029730455441638676614625616397812305354185569637254539841009329719837269406838425839129310224398257328451396838181888875822628388806810586342755247717922161405154667707834278623499865541073763243 3722516990936156147455938200087700673115602341634335777432850522874691459187584361903119922947966427149842796434766150962335332510363124253650161381395791900708313353303180177464090862339612945459252955593640202319529577268731674861461030991773884290667649287724050927730472516713709819115599873265120049147069478119714302895815445302223693125540261714500416417348095128388085064153610327893965214483769401239 6023159015033684898515911899118109621209095237175868868054250760841501103826586867381702902781649061541570395828263523355087494712485426376889557057315394859060790151019643043857736918109495811597589154421082547667559307724173313538075656608171696596021834857361305467571481846433547088522438299104249359371467735448165699733997334178046321514347072300843171665066017289793239731861444606517465080024843164482 9745676005969841045971850099205810294324697578810204645487101283716192563014171229284822825729615488691413192263029674317422827222848550630539718438711186759769103504322823221321827780449108757056842110014722749987088884992904988399536687599945580886689484145085356395301954363147256907638038172369369408518537213567880002629812779480270014639887334015343588082414112418181324796015054934411430294508612565721 15768835021003525944487761998323919915533792815986073513541352044557693666840758096666525728511264550232983588091293197672510321935333977007429275496026581618829893655342466265179564698558604568654431264435805297654648192717078301937612344208117277482711319002446661862873436209580803996160476471473618767890004949016045702363810113658316336154234406316186759747480129707974564527876499540928895374533455730203 25514511026973366990459612097529730209858490394796278159028453328273886229854929325951348554240880038924396780354322871989933149158182527637968993934737768378598997159665289486501392479007713325711273374450528047641737077709983290337149031808062858369400803147532018258175390572728060903798514643842988176408542162583925704993622893138586350794121740331530347829894242126155889323891554475340325669042068295924 41283346047976892934947374095853650125392283210782351672569805372831579896695687422617874282752144589157380368445616069662443471093516504645398269430764349997428890815007755751680957177566317894365704638886333345296385270427061592274761376016180135852112122149978680121048826782308864899958991115316606944298547111599971407357433006796902686948356146647717107577374371834130453851768054016269221043575524026127 66797857074950259925406986193383380335250773605578629831598258701105466126550616748569222836993024628081777148799938941652376620251699032283367263365502118376027887974673045238182349656574031220076978013336861392938122348137044882611910407824242994221512925297510698379224217355036925803757505759159595120707089274183897112351055899935489037742477886979247455407268613960286343175659608491609546712617592322051 108081203122927152860354360289237030460643056816360981504168064073937046023246304171187097119745169217239157517245555011314820091345215536928765532796266468373456778789680800989863306834140349114442682652223194738234507618564106474886671783840423130073625047447489378500273044137345790703716496874476202065005636385783868519708488906732391724690834033626964562984642985794416797027427662507878767756193116348178 174879060197877412785761346482620410795893830421939611335766322775042512149796920919756319956738193845320934666045493952967196711596914569212132796161768586749484666764353846228045656490714380334519660665560056131172629966701151357498582191664666124295137972745000076879497261492382716507474002633635797185712725659967765632059544806667880762433311920606212018391911599754703140203087270999488314468810708670229 282960263320804565646115706771857441256536887238300592839934386848979558173043225090943417076483363062560092183291048964282016802942130106140898328958035055122941445554034647217908963324854729448962343317783250869407137585265257832385253975505089254368763020192489455379770305629728507211190499508111999250718362045751634151768033713400272487124145954233176581376554585549119937230514933507367082225003825018407 457839323518681978431877053254477852052430717660240204175700709624022070322840146010699737033221556907881026849336542917249213514539044675353031125119803641872426112318388493445954619815569109783482003983343307000579767551966409189883836167169755378663900992937489532259267567122111223718664502141747796436431087705719399783827578520068153249557457874839388599768466185303823077433602204506855396693814533688636 740799586839486544077992760026335293308967604898540797015635096473001628495883371101643154109704919970441119032627591881531230317481174781493929454077838696995367557872423140663863583140423839232444347301126557869986905137231667022269090142674844633032664013129978987639037872751839730929855001649859795687149449751471033935595612233468425736681603829072565181145020770852943014664117138014222478918818358707043 1198638910358168522509869813280813145361398322558781001191335806097023698818723517112342891142926476878322145881964134798780443832020219456846960579197642338867793670190811634109818202955992949015926351284469864870566672689198076212152926309844600011696565006067468519898305439873950954648519503791607592123580537457190433719423190753536578986239061703911953780913486956156766092097719342521077875612632892395679 1939438497197655066587862573307148438670365927457321798206970902570025327314606888213986045252631396848763264914591726680311674149501394238340890033275481035863161228063234774773681786096416788248370698585596422740553577826429743234422016452519444644729229019197447507537343312625790685578374505441467387810729987208661467655018802987005004722920665532984518962058507727009709106761836480535300354531451251102722 3138077407555823589097732386587961584031764250016102799398306708667049026133330405326328936395557873727085410796555861479092117981521613695187850612473123374730954898254046408883499989052409737264297049870066287611120250515627819446574942762364044656425794025264916027435648752499741640226894009233074979934310524665851901374441993740541583709159727236896472742971994683166475198859555823056378230144084143498401 5077515904753478655685594959895110022702130177473424597605277611237074353447937293540314981648189270575848675711147588159403792131023007933528740645748604410594116126317281183657181775148826525512667748455662710351673828342057562680996959214883489301155023044462363534972992065125532325805268514674542367745040511874513369029460796727546588432080392769880991705030502410176184305621392303591678584675535394601123 8215593312309302244783327346483071606733894427489527397003584319904123379581267698866643918043747144302934086507703449638495910112544621628716591258221727785325071024571327592540681764201236262776964798325728997962794078857685382127571901977247533957580817069727279562408640817625273966032162523907617347679351036540365270403902790468088172141240120006777464448002497093342659504480948126648056814819619538099524 13293109217062780900468922306378181629436024604962951994608861931141197733029204992406958899691936414878782762218851037797899702243567629562245331903970332195919187150888608776197863539350062788289632546781391708314467907199742944808568861192131023258735840114189643097381632882750806291837431038582159715424391548414878639433363587195634760573320512776658456153032999503518843810102340430239735399495154932700647 21508702529372083145252249652861253236169919032452479391612446251045321112610472691273602817735683559181716848726554487436395612356112251190961923162192059981244258175459936368738545303551299051066597345107120706277261986057428326936140763169378557216316657183916922659790273700376080257869593562489777063103742584955243909837266377663722932714560632783435920601035496596861503314583288556887792214314774470800171 34801811746434864045721171959239434865605943637415431386221308182186518845639677683680561717427619974060499610945405525234295314599679880753207255066162392177163445326348545144936408842901361839356229891888512414591729893257171271744709624361509580475052497298106565757171906583126886549707024601071936778528134133370122549270629964859357693287881145560094376754068496100380347124685628987127527613809929403500818 56310514275806947190973421612100688101775862669867910777833754433231839958250150374954164535163303533242216459671960012670690926955792131944169178228354452158407703501808481513674954146452660890422827236995633120868991879314599598680850387530888137691369154482023488416962180283502966807576618163561713841631876718325366459107896342523080626002441778343530297355103992697241850439268917544015319828124703874300989 91112326022241811236694593571340122967381806307283342164055062615418358803889828058634726252590923507302716070617365537904986241555472012697376433294516844335571148828157026658611362989354022729779057128884145535460721772571770870425560011892397718166421651780130054174134086866629853357283642764633650620160010851695489008378526307382438319290322923903624674109172488797622197563954546531142847441934633277801807 147422840298048758427668015183440811069157668977151252941888817048650198762139978433588890787754227040544932530289325550575677168511264144641545611522871296493978852329965508172286317135806683620201884365879778656329713651886370469106410399423285855857790806262153542591096267150132820164860260928195364461791887570020855467486422649905518945292764702247154971464276481494864048003223464075158167270059337152102796 238535166320290569664362608754780934036539475284434595105943879664068557566029806492223617040345150547847648600906691088480663410066736157338922044817388140829550001158122534830897680125160706349980941494763924191790435424458141339531970411315683574024212458042283596765230354016762673522143903692829015081951898421716344475864948957287957264583087626150779645573448970292486245567178010606301014711993970429904603 385958006618339328092030623938221745105697144261585848047832696712718756328169784925812507828099377588392581131196016639056340578578000301980467656340259437323528853488088043003183997260967389970182825860643702848120149076344511808638380810738969429882003264304437139356326621166895493687004164621024379543743785991737199943351371607193476209875852328397934617037725451787350293570401474681459181982053307582007399 624493172938629897756393232693002679142236619546020443153776576376787313894199591418036124868444528136240229732102707727537003988644736459319389701157647578153078854646210577834081677386128096320163767355407627039910584500802653148170351222054653003906215722346720736121556975183658167209148068313853394625695684413453544419216320564481433474458939954548714262611174422079836539137579485287760196694047278011912002 1010451179556969225848423856631224424247933763807606291201609273089506070222369376343848632696543905724632810863298724366593344567222736761299857357497907015476607708134298620837265674647095486290346593216051329888030733577147164956808732032793622433788218986651157875477883596350553660896152232934877774169439470405190744362567692171674909684334792282946648879648899873867186832707980959969219378676100585593919401 1634944352495599123604817089324227103390170383353626734355385849466293384116568967761884757564988433860873040595401432094130348555867473220619247058655554593629686562780509198671347352033223582610510360571458956927941318077949818104979083254848275437694434708997878611599440571534211828105300301248731168795135154818644288781784012736156343158793732237495363142260074295947023371845560445256979575370147863605831403 2645395532052568349453240945955451527638104147161233025556995122555799454338938344105733390261532339585505851458700156460723693123090209981919104416153461609106294270914807819508613026680319068900856953787510286815972051655096983061787815287641897871482653695649036487077324167884765489001452534183608942964574625223835033144351704907831252843128524520442012021908974169814210204553541405226198954046248449199750804 4280339884548167473058058035279678631028274530514859759912380972022092838455507311867618147826520773446378892054101588554854041678957683202538351474809016202735980833695317018179960378713542651511367314358969243743913369733046801166766898542490173309177088404646915098676764739418977317106752835432340111759709780042479321926135717643987596001922256757937375164169048465761233576399101850483178529416396312805582207 6925735416600735822511298981235130158666378677676092785469376094577892292794445655973351538088053113031884743512801745015577734802047893184457455890962477811842275104610124837688573405393861720412224268146479530559885421388143784228554713830132071180659742100295951585754088907303742806108205369615949054724284405266314355070487422551818848845050781278379387186078022635575443780952643255709377483462644762005333011 11206075301148903295569357016514808789694653208190952545381757066599985131249952967840969685914573886478263635566903333570431776481005576386995807365771494014578255938305441855868533784107404371923591582505448774303798791121190585395321612372622244489836830504942866684430853646722720123214958205048289166483994185308793676996623140195806444846973038036316762350247071101336677357351745106192556012879041074810915218 18131810717749639118080655997749938948361031885867045330851133161177877424044398623814321224002626999510148379079705078586009511283053469571453263256733971826420531042915566693557107189501266092335815850651928304863684212509334369623876326202754315670496572605238818270184942554026462929323163574664238221208278590575108032067110562747625293692023819314696149536325093736912121138304388361901933496341685836816248229 29337886018898542413650013014264747738055685094057997876232890227777862555294351591655290909917200885988412014646608412156441287764059045958449070622505465840998786981221008549425640973608670464259407433157377079167483003630524955019197938575376560160333403110181684954615796200749183052538121779712527387692272775883901709063733702943431738538996857351012911886572164838248798495656133468094489509220726911627163447 47469696736648181531730669012014686686416716979925043207084023388955739979338750215469612133919827885498560393726313490742450799047112515529902333879239437667419318024136575242982748163109936556595223283809305384031167216139859324643074264778130875830829975715420503224800738754775645981861285354376765608900551366459009741130844265691057032231020676665709061422897258575160919633960521829996423005562412748443411676 76807582755546723945380682026279434424472402073983041083316913616733602534633101807124903043837028771486972408372921902898892086811171561488351404501744903508418105005357583792408389136718607020854630716966682463198650219770384279662272203353507435991163378825602188179416534955524829034399407134089292996592824142342911450194577968634488770770017534016721973309469423413409718129616655298090912514783139660070575123 124277279492194905477111351038294121110889119053908084290400937005689342513971852022594515177756856656985532802099235393641342885858284077018253738380984341175837423029494159035391137299828543577449854000775987847229817435910243604305346468131638311821993354541022691404217273710300475016260692488466058605493375508801921191325422234325545803001038210682431034732366681988570637763577177128087335520345552408513986799 201084862247741629422492033064573555535361521127891125373717850622422945048604953829719418221593885428472505210472157296540234972669455638506605142882729244684255528034851742827799526436547150598304484717742670310428467655680627883967618671485145747813156733366624879583633808665825304050660099622555351602086199651144832641520000202960034573771055744699153008041836105401980355893193832426178248035128692068584561922 325362141739936534899603384102867676646250640181799209664118787628112287562576805852313933399350742085458038012571392690181577858527739715524858881263713585860092951064345901863190663736375694175754338718518658157658285091590871488272965139616784059635150087907647570987851082376125779066920792111021410207579575159946753832845422437285580376772093955381584042774202787390550993656771009554265583555474244477098548721 526447003987678164322095417167441232181612161309690335037836638250535232611181759682033351620944627513930543223043549986721812831197195354031464024146442830544348479099197644690990190172922844774058823436261328468086752747271499372240583811101929807448306821274272450571484891041951083117580891733576761809665774811091586474365422640245614950543149700080737050816038892792531349549964841980443831590602936545683110643 851809145727614699221698801270308908827862801491489544701955425878647520173758565534347285020295369599388581235614942676903390689724935069556322905410156416404441430163543546554180853909298538949813162154779986625745037838862370860513548950718713867083456909181920021559335973418076862184501683844598172017245349971038340307210845077531195327315243655462321093590241680183082343206735851534709415146077181022781659364 1378256149715292863543794218437750141009474962801179879739792064129182752784940325216380636641239997113319124458658492663625203520922130423587786929556599246948789909262741191245171044082221383723871985591041315093831790586133870232754132761820643674531763730456192472130820864460027945302082575578174933826911124782129926781576267717776810277858393355543058144406280572975613692756700693515153246736680117568464770007 2230065295442907562765493019708059049837337764292669424441747490007830272958698890750727921661535366712707705694273435340528594210647065493144109834966755663353231339426284737799351897991519922673685147745821301719576828424996241093267681712539357541615220639638112493690156837878104807486584259422773105844156474753168267088787112795308005605173637011005379237996522253158696035963436545049862661882757298591246429371 3608321445158200426309287238145809190846812727093849304181539554137013025743639215967108558302775363826026830152931928004153797731569195916731896764523354910302021248689025929044522942073741306397557133336862616813408619011130111326021814474360001216146984370094304965820977702338132752788666835000948039671067599535298193870363380513084815883032030366548437382402802826134309728720137238565015908619437416159711199378 5838386740601107989074780257853868240684150491386518728623287044144843298702338106717836479964310730538734535847205363344682391942216261409876006599490110573655252588115310666843874840065261229071242281082683918532985447436126352419289496186899358757762205009732417459511134540216237560275251094423721145515224074288466460959150493308392821488205667377553816620399325079293005764683573783614878570502194714750957628749 9446708185759308415384067495999677431530963218480368032804826598281856324445977322684945038267086094364761366000137291348836189673785457326607903364013465483957273836804336595888397782139002535468799414419546535346394066447256463745311310661259359973909189379826722425332112242554370313063917929424669185186291673823764654829513873821477637371237697744102254002802127905427315493403711022179894479121632130910668828127 15285094926360416404458847753853545672215113709866886761428113642426699623148315429402781518231396824903495901847342654693518581616001718736483909963503576057612526424919647262732272622204263764540041695502230453879379513883382816164600806848158718731671394389559139884843246782770607873339169023848390330701515748112231115788664367129870458859443365121656070623201452984720321258087284805794773049623826845661626456876 24731803112119724819842915249853223103746076928347254794232940240708555947594292752087726556498482919268257267847479946042354771289787176063091813327517041541569800261723983858620670404343266300008841109921776989225773580330639279909912117509418078705580583769385862310175359025324978186403086953273059515887807421935995770618178240951348096230681062865758324626003580890147636751490995827974667528745458976572295285003 40016898038480141224301763003706768775961190638214141555661053883135255570742608181490508074729879744171753169694822600735873352905788894799575723291020617599182326686643631121352943026547530064548882805424007443105153094214022096074512924357576797437251978158945002195018605808095586059742255977121449846589323170048226886406842608081218555090124427987414395249205033874867958009578280633769440578369285822233921741879 64748701150599866044144678253559991879707267566561396349893994123843811518336900933578234631228362663440010437542302546778228124195576070862667536618537659140752126948367614979973613430890796364557723915345784432330926674544661375984425041866994876142832561928330864505193964833420564246145342930394509362477130591984222657025020849032566651320805490853172719875208614765015594761069276461744108107114744798806217026882 104765599189080007268446441257266760655668458204775537905555048006979067089079509115068742705958242407611763607237125147514101477101364965662243259909558276739934453635011246101326556457438326429106606720769791875436079768758683472058937966224571673580084540087275866700212570641516150305887598907515959209066453762032449543431863457113785206410929918840587115124413648639883552770647557095513548685484030621040138768761 169514300339679873312591119510826752535375725771336934255449042130822878607416410048646977337186605071051774044779427694292329601296941036524910796528095935880686580583378861081300169888329122793664330636115576307767006443303344848043363008091566549722917102015606731205406535474936714552032941837910468571543584354016672200456884306146351857731735409693759834999622263404899147531716833557257656792598775419846355795643 274279899528759880581037560768093513191044183976112472161004090137801945696495919163715720043144847478663537652016552841806431078398306002187154056437654212620621034218390107182626726345767449222770937356885368183203086212062028320102300974316138223303001642102882597905619106116452864857920540745426427780610038116049121743888747763260137064142665328534346950124035912044782700302364390652771205478082806040886494564404 443794199868439753893628680278920265726419909747449406416453132268624824303912329212362697380331452549715311696795980536098760679695247038712064852965750148501307614801768968263926896234096572016435267993000944490970092655365373168145663982407704773025918744118489329111025641591389579409953482583336896352153622470065793944345632069406488921874400738228106785123658175449681847834081224210028862270681581460732850360047 718074099397199634474666241047013778917464093723561878577457222406426770000408248376078417423476300028378849348812533377905191758093553040899218909403404361121928649020159075446553622579864021239206205349886312674173178867427401488247964956723842996328920386221371927016644747707842444267874023328763324132763660586114915688234379832666625986017066066762453735247694087494464548136445614862800067748764387501619344924451 1161868299265639388368294921325934044643884003471011284993910354675051594304320577588441114803807752578094161045608513914003952437788800079611283762369154509623236263821928043710480518813960593255641473342887257165143271522792774656393628939131547769354839130339861256127670389299232023677827505912100220484917283056180709632580011902073114907891466804990560520371352262944146395970526839072828930019445968962352195284498 1879942398662839022842961162372947823561348097194573163571367577081478364304728825964519532227284052606473010394421047291909144195882353120510502671772558870745164912842087119157034141393824614494847678692773569839316450390220176144641593895855390765683759516561233183144315137007074467945701529240863544617680943642295625320814391734739740893908532871753014255619046350438610944106972453935628997768210356463971540208949 3041810697928478411211256083698881868205232100665584448565277931756529958609049403552960647031091805184567171440029561205913096633671153200121786434141713380368401176664015162867514660207785207750489152035660827004459721913012950801035222834986938535038598646901094439271985526306306491623529035152963765102598226698476334953394403636812855801799999676743574775990398613382757340077499293008457927787656325426323735493447 4921753096591317434054217246071829691766580197860157612136645508838008322913778229517480179258375857791040181834450608497822240829553506320632289105914272251113566089506102282024548801601609822245336830728434396843776172303233126945676816730842329300722358163462327622416300663313380959569230564393827309720279170340771960274208795371552596695708532548496589031609444963821368284184471746944086925555866681890295275702396 7963563794519795845265473329770711559971812298525742060701923440594538281522827633070440826289467662975607353274480169703735337463224659520754075540055985631481967266170117444892063461809395029995825982764095223848235894216246077746712039565829267835760956810363422061688286189619687451192759599546791074822877397039248295227603199008365452497508532225240163807599843577204125624261971039952544853343523007316619011195843 12885316891111113279319690575842541251738392496385899672838568949432546604436605862587921005547843520766647535108930778201557578292778165841386364645970257882595533355676219726916612263411004852241162813492529620692012066519479204692388856296671597136483314973825749684104586852933068410761990163940618384543156567380020255501811994379918049193217064773736752839209288541025493908446442786896631778899389689206914286898239 20848880685630909124585163905613252811710204794911641733540492390027084885959433495658361831837311183742254888383410947905292915756002825362140440186026243514077500621846337171808675725220399882236988796256624844540247960735725282439100895862500864972244271784189171745792873042552755861954749763487409459366033964419268550729415193388283501690725596998976916646809132118229619532708413826849176632242912696523533298094082 33734197576742022403904854481455794063448597291297541406379061339459631490396039358246282837385154704508902423492341726106850494048780991203526804831996501396673033977522556898725287988631404734478151609749154465232260027255204487131489752159172462108727586758014921429897459895485824272716739927428027843909190531799288806231227187768201550883942661772713669486018420659255113441154856613745808411142302385730447584992321 54583078262372931528490018387069046875158802086209183139919553729486716376355472853904644669222465888251157311875752674012143409804783816565667245018022744910750534599368894070533963713851804616715140406005779309772507987990929769570590648021673327080971858542204093175690332938038580134671489690915437303275224496218557356960642381156485052574668258771690586132827552777484732973863270440594985043385215082253980883086403 88317275839114953932394872868524840938607399377506724546298615068946347866751512212150927506607620592760059735368094400118993903853564807769194049850019246307423568576891450969259251702483209351193292015754933775004768015246134256702080400180845789189699445300219014605587792833524404407388229618343465147184415028017846163191869568924686603458610920544404255618845973436739846415018127054340793454527517467984428468078724 142900354101487885460884891255593887813766201463715907686218168798433064243106985066055572175830086481011217047243847074131137313658348624334861294868041991218174103176260345039793215416335013967908432421760713084777276003237064026272671048202519116270671303842423107781278125771562984542059719309258902450459639524236403520152511950081171656033279179316094841751673526214224579388881397494935778497912732550238409351165127 231217629940602839393279764124118728752373600841222632232516783867379412109858497278206499682437707073771276782611941474250131217511913432104055344718061237525597671753151796009052467118818223319101724437515646859782044018483198282974751448383364905460370749142642122386865918605087388949447948927602367597644054552254249683344381519005858259491890099860499097370519499650964425803899524549276571952440250018222837819243851 374117984042090724854164655379712616566139802304938539918734952665812476352965482344262071858267793554782493829855788548381268531170262056438916639586103228743771774929412141048845682535153237287010156859276359944559320021720262309247422496585884021731042052985065230168144044376650373491507668236861270048103694076490653203496893469087029915525169279176593939122193025865189005192780922044212350450352982568461247170408978 605335613982693564247444419503831345318513403146161172151251736533191888462823979622468571540705500628553770612467730022631399748682175488542971984304164466269369446682563937057898149653971460606111881296792006804341364040203460592222173944969248927191412802127707352555009962981737762440955617164463637645747748628744902886841274988092888175017059379037093036492712525516153430996680446593488922402793232586684084989652829 979453598024784289101609074883543961884653205451099712069986689199004364815789461966730643398973294183336264442323518571012668279852437544981888623890267695013141221611976078106743832189124697893122038156068366748900684061923722901469596441555132948922454855112772582723154007358388135932463285401324907693851442705235556090338168457179918090542228658213686975614905551381342436189461368637701272853146215155145332160061807 1584789212007477853349053494387375307203166608597260884221238425732196253278613441589199214939678794811890035054791248593644068028534613033524860608194432161282510668294540015164641981843096158499233919452860373553242048102127183493691770386524381876113867657240479935278163970340125898373418902565788545339599191333980458977179443445272806265559288037250780012107618076897495867186141815231190195255939447741829417149714636 2564242810032262142450662569270919269087819814048360596291225114931200618094402903555929858338652088995226299497114767164656736308387050578506749232084699856295651889906516093271385814032220856392355957608928740302142732164050906395161366828079514825036322512353252518001317977698514034305882187967113453033450634039216015067517611902452724356101516695464466987722523628278838303375603183868891468109085662896974749309776443 4149032022039739995799716063658294576290986422645621480512463540663396871373016345145129073278330883807116334551906015758300804336921663612031609840279132017578162558201056108436027795875317014891589877061789113855384780266178089888853137214603896701150190169593732453279481948038639932679301090532901998373049825373196474044697055347725530621660804732715246999830141705176334170561744999100081663365025110638804166459491079 6713274832072002138250378632929213845378806236693982076803688655594597489467419248701058931616982972802342634049020782922957540645308714190538359072363831873873814448107572201707413609907537871283945834670717854157527512430228996284014504042683411526186512681946984971280799925737153966985183278500015451406500459412412489112214667250178254977762321428179713987552665333455172473937348182968973131474110773535778915769267522 10862306854111742134050094696587508421669792659339603557316152196257994360840435593846188004895313856609458968600926798681258344982230377802569968912642963891451977006308628310143441405782854886175535711732506968012912292696407086172867641257287308227336702851540717424560281873775793899664484369032917449779550284785608963156911722597903785599423126160894960987382807038631506644499093182069054794839135884174583082228758601 17575581686183744272300473329516722267048598896033585634119840851852591850307854842547246936512296829411801602649947581604215885627539091993108327985006795765325791454416200511850855015690392757459481546403224822170439805126636082456882145299970719753523215533487702395841081799512947866649667647532932901186050744198021452269126389848082040577185447589074674974935472372086679118436441365038027926313246657710361997998026123 28437888540295486406350568026104230688718391555373189191435993048110586211148290436393434941407610686021260571250874380285474230609769469795678296897649759656777768460724828821994296421473247643635017258135731790183352097823043168629749786557258027980859918385028419820401363673288741766314152016565850350965601028983630415426038112445985826176608573749969635962318279410718185762935534547107082721152382541884945080226784724 46013470226479230678651041355620952955766990451406774825555833899963178061456145278940681877919907515433062173900821961889690116237308561788786624882656555422103559915141029333845151437163640401094498804538956612353791902949679251086631931857228747734383133918516122216242445472801689632963819664098783252151651773181651867695164502294067866753794021339044310937253751782804864881371975912145110647465629199595307078224810847 74451358766774717085001609381725183644485382006779964016991826948073764272604435715334116819327518201454322745151696342175164346847078031584464921780306315078881328375865858155839447858636888044729516062674688402537144000772722419716381718414486775715243052303544542036643809146090431399277971680664633603117252802165282283121202614740053692930402595089013946899572031193523050644307510459252193368618011741480252158451595571 120464828993253947763652650737346136600252372458186738842547660848036942334060580994274798697247425716887384919052518304064854463084386593373251546662962870500984888291006887489684599295800528445824014867213645014890935903722401670803013650271715523449626186222060664252886254618892121032241791344763416855268904575346934150816367117034121559684196616428058257836825782976327915525679486371397304016083640941075559236676406418 194916187760028664848654260119071320244737754464966702859539487796110706606665016709608915516574943918341707664204214646240018809931464624957716468443269185579866216666872745645524047154437416490553530929888333417428079904495124090519395368686202299164869238525605206289530063764982552431519763025428050458386157377512216433937569731774175252614599211517072204736397814169850966169986996830649497384701652682555811395128001989 315381016753282612612306910856417456844990126923153441702087148644147648940725597703883714213822369635229092583256732950304873273015851218330968015106232056080851104957879633135208646450237944936377545797101978432319015808217525761322409018957917822614495424747665870542416318383874673463761554370191467313655061952859150584753936848808296812298795827945130462573223597146178881695666483202046801400785293623631370631804408407 510297204513311277460961170975488777089727881388120144561626636440258355547390614413492629730397313553570800247460947596544892082947315843288684483549501241660717321624752378780732693604675361426931076726990311849747095712712649851841804387644120121779364663273271076831946382148857225895281317395619517772041219330371367018691506580582472064913395039462202667309621411316029847865653480032696298785486946306187182026932410396 825678221266593890073268081831906233934718008311273586263713785084406004488116212117376343944219683188799892830717680546849765355963167061619652498655733297741568426582632011915941340054913306363308622524092290282066111520930175613164213406602037944393860088020936947374362700532731899359042871765810985085696281283230517603445443429390768877212190867407333129882845008462208729561319963234743100186272239929818552658736818803 1335975425779905167534229252807395011024445889699393730825340421524664360035506826530868973674616996742370693078178628143394657438910482904908336982205234539402285748207384390696674033659588667790239699251082602131813207233642825465006017794246158066173224751294208024206309082681589125254324189161430502857737500613601884622136950009973240942125585906869535797192466419778238577426973443267439398971759186236005734685669229199 2161653647046499057607497334639301244959163898010667317089054206609070364523623038648245317618836679931170585908896308690244422794873649966527989480860967837143854174790016402612615373714501974153548321775174892413879318754573001078170231200848196010567084839315144971580671783214321024613367060927241487943433781896832402225582393439364009819337776774276868927075311428240447306988293406502182499158031426165824287344406048002 3497629072826404225141726587446696255983609787710061047914394628133734724559129865179114291293453676673541278987074936833639080233784132871436326463066202376546139922997400793309289407374090641943788021026257494545692525988215826543176248995094354076740309590609352995786980865895910149867691250088671990801171282510434286847719343449337250761463362681146404724267777848018685884415266849769621898129790612401830022030075277201 5659282719872903282749223922085997500942773685720728365003448834742805089082752903827359608912290356604711864895971245523883503028657782837964315943927170213689994097787417195921904781088592616097336342801432386959571844742788827621346480195942550087307394429924497967367652649110231174481058311015913478744605064407266689073301736888701260580801139455423273651343089276259133191403560256271804397287822038567654309374481325203 9156911792699307507890950509532693756926383473430789412917843462876539813641882769006473900205744033278253143883046182357522583262441915709400642406993372590236134020784817989231194188462683258041124363827689881505264370731004654164522729191036904164047704020533850963154633515006141324348749561104585469545776346917700975921021080338038511342264502136569678375610867124277819075818827106041426295417612650969484331404556602404 14816194512572210790640174431618691257869157159151517777921292297619344902724635672833833509118034389882965008779017427881406086291099698547364958350920542803926128118572235185153098969551275874138460706629122268464836215473793481785869209386979454251355098450458348930522286164116372498829807872120498948290381411324967664994322817226739771923065641591992952026953956400536952267222387362313230692705434689537138640779037927607 23973106305271518298531124941151385014795540632582307190839135760495884716366518441840307409323778423161218152662063610238928669553541614256765600757913915394162262139357053174384293158013959132179585070456812149970100586204798135950391938578016358415402802470992199893676919679122513823178557433225084417836157758242668640915343897564778283265330143728562630402564823524814771343041214468354656988123047340506622972183594530011 38789300817843729089171299372770076272664697791733824968760428058115229619091154114674140918441812813044183161441081038120334755844641312804130559108834458198088390257929288359537392127565235006318045777085934418434936801678591617736261147964995812666757900921450548824199205843238886322008365305345583366126539169567636305909666714791518055188395785320555582429518779925351723610263601830667887680828482030043761612962632457618 62762407123115247387702424313921461287460238424316132159599563818611114335457672556514448327765591236205401314103144648359263425398182927060896159866748373592250652397286341533921685285579194138497630847542746568405037387883389753686653086543012171082160703392442748717876125522361400145186922738570667783962696927810304946825010612356296338453725929049118212832083603450166494953304816299022544668951529370550384585146226987629 101551707940958976476873723686691537560124936216049957128359991876726343954548826671188589246207404049249584475544225686479598181242824239865026718975582831790339042655215629893459077413144429144815676624628680986839974189561981371422914234508007983748918604313893297542075331365600286467195288043916251150089236097377941252734677327147814393642121714369673795261602383375518218563568418129690432349780011400594146198108859445247 164314115064074223864576148000612998847585174640366089287959555695337458290006499227703037573972995285454985789647370334838861606641007166925922878842331205382589695052501971427380762698723623283313307472171427555245011577445371125109567321051020154831079307706336046259951456887961686612382210782486918934051933025188246199559687939504110732095847643418792008093685986825684713516873234428712977018731540771144530783255086432876 265865823005033200341449871687304536407710110856416046416319547572063802244555325898891626820180399334704570265191596021318459787883831406790949597817914037172928737707717601320839840111868052428128984096800108542084985767007352496532481555559028138579997912020229343802026788253561973079577498826403170084141169122566187452294365266651925125737969357788465803355288370201202932080441652558403409368511552171738676981363945878123 430179938069107424206026019687917535255295285496782135704279103267401260534561825126594664394153394620159556054838966356157321394524838573716872476660245242555518432760219572748220602810591675711442291568971536097329997344452723621642048876610048293411077219726565390061978245141523659691959709608890089018193102147754433651854053206156035857833817001207257811448974357026887645597314886987116386387243092942883207764619032310999 696045761074140624547475891375222071663005396353198182120598650839465062779117151025486291214333793954864126320030562377475781182408669980507822074478159279728447170467937174069060442922459728139571275665771644639414983111460076118174530432169076431991075131746794733864005033395085632771537208435293259102334271270320621104148418472807960983571786358995723614804262727228090577677756539545519795755754645114621884745982978189122 1126225699143248048753501911063139606918300681849980317824877754106866323313678976152080955608487188575023682374869528733633102576933508554224694551138404522283965603228156746817281045733051403851013567234743180736744980455912799739816579308779124725402152351473360123925983278536609292463496918044183348120527373418075054756002471678963996841405603360202981426253237084254978223275071426532636182142997738057505092510602010500121 1822271460217388673300977802438361678581306078203178499945476404946331386092796127177567246822820982529887808694900091111108883759342178534732516625616563802012412773696093920886341488655511131990584842900514825376159963567372875857991109740948201157393227483220154857789988311931694925235034126479476607222861644688395675860150890151771957824977389719198705041057499811483068800952827966078155977898752383172126977256584988689243 2948497159360636722054479713501501285499606760053158817770354159053197709406475103329648202431308171104911491069769619844741986336275687088957211176754968324296378376924250667703622534388562535841598410135258006112904944023285675597807689049727325882795379834693514981715971590468304217698531044523659955343389018106470730616153361830735954666382993079401686467310736895738047024227899392610792160041750121229632069767186999189364 4770768619578025395355457515939862964080912838256337317715830563999529095499271230507215449254129153634799299764669710955850870095617865623689727802371532126308791150620344588589964023044073667832183253035772831489064907590658551455798798790675527040188607317913669839505959902399999142933565171003136562566250662794866406476304251982507912491360382798600391508368236707221115825180727358688948137940502504401759047023771987878607 7719265778938662117409937229441364249580519598309496135486184723052726804905746333836863651685437324739710790834439330800592856431893552712646938979126500450605169527544595256293586557432636203673781663171030837601969851613944227053606487840402852922983987152607184821221931492868303360632096215526796517909639680901337137092457613813243867157743375878002077975678973602959162849408626751299740297982252625631391116790958987067971 12490034398516687512765394745381227213661432436565833453202015287052255900405017564344079100939566478374510090599109041756443726527511418336336666781498032576913960678164939844883550580476709871505964916206803669091034759204602778509405286631078379963172594470520854660727891395268302503565661386529933080475890343696203543568761865795751779649103758676602469484047210310180278674589354109988688435922755130033150163814730974946578 20209300177455349630175331974822591463241952034875329588688200010104982705310763898180942752625003803114220881433548372557036582959404971048983605760624533027519130205709535101177137137909346075179746579377834506693004610818547005563011774471481232886156581623128039481949822888136605864197757602056729598385530024597540680661219479608995646806847134554604547459726183913139441523997980861288428733905007755664541280605689962014549 32699334575972037142940726720203818676903384471441163041890215297157238605715781462525021853564570281488730972032657414313480309486916389385320272542122565604433090883874474946060687718386055946685711495584638175784039370023149784072417061102559612849329176093648894142677714283404908367763418988586662678861420368293744224229981345404747426455950893231207016943773394223319720198587334971277117169827762885697691444420420936961127 52908634753427386773116058695026410140145336506316492630578415307262221311026545360705964606189574084602951853466205786870516892446321360434303878302747098631952221089584010047237824856295402021865458074962472682477043980841696789635428835574040845735485757716776933624627537171541514231961176590643392277246950392891284904891200825013743073262798027785811564403499578136459161722585315832565545903732770641362232725026110898975676 85607969329399423916056785415230228817048720977757655672468630604419459916742326823230986459754144366091682825498863201183997201933237749819624150844869664236385311973458484993298512574681457968551169570547110858261083350864846573707845896676600458584814933810425827767305251454946422599724595579230054956108370761185029129121182170418490499718748921017018581347272972359778881921172650803842663073560533527059924169446531835936803 138516604082826810689172844110256638957194057484074148303047045911681681227768872183936951065943718450694634678965068988054514094379559110253928029147616762868337533063042495040536337430976859990416627645509583540738127331706543363343274732250641304320300691527202761391932788626487936831685772169873447233355321154076314034012382995432233572981546948802830145750772550496238043643757966636408208977293304168422156894472642734912479 224124573412226234605229629525486867774242778461831803975515676516101141144511199007167937525697862816786317504463932189238511296312796860073552179992486427104722845036500980033834850005658317958967797216056694398999210682571389937051120628927241762905115625337628589159238040081434359431410367749103502189463691915261343163133565165850724072700295869819848727098045522856016925564930617440250872050853837695482081063919174570849282 362641177495053045294402473635743506731436835945905952278562722427782822372280071191104888591641581267480952183429001177293025390692355970327480209140103189973060378099543475074371187436635177949384424861566277939737338014277933300394395361177883067225416316864831350551170828707922296263096139918976949422819013069337657197145948161282957645681842818622678872848818073352254969208688584076659081028147141863904237958391817305761761 586765750907279279899632103161230374505679614407737756254078398943883963516791270198272826117339444084267269687892933366531536687005152830401032389132589617077783223136044455108206037442293495908352222077622972338736548696849323237445515990105124830130531942202459939710408868789356655694506507668080451612282704984599000360279513327133681718382138688442527599946863596208271894773619201516909953079000979559386319022310991876611043 949406928402332325194034576796973881237116450353643708532641121371666785889071341389377714708981025351748221871321934543824562077697508800728512598272692807050843601235587930182577224878928673857736646939189250278473886711127256537839911351283007897355948259067291290261579697497278951957602647587057401035101718053936657557425461488416639364063981507065206472795681669560526863982307785593569034107148121423290556980702809182372804 1536172679309611605093666679958204255742796064761381464786719520315550749405862611587650540826320469436015491559214867910356098764702661631129544987405282424128626824371632385290783262321222169766088869016812222617210435407976579775285427341388132727486480201269751229971988566286635607652109155255137852647384423038535657917704974815550321082446120195507734072742545265768798758755926987110478987186149100982676876003013801058983847 2485579607711943930287701256755178136979912515115025173319360641687217535294933952977028255535301494787763713430536802454180660842400170431858057585677975231179470425607220315473360487200150843623825515956001472895684322119103836313125338692671140624842428460337042520233568263783914559609711802842195253682486141092472315475130436303966960446510101702572940545538226935329325622738234772704048021293297222405967432983716610241356651 4021752287021555535381367936713382392722708579876406638106080162002768284700796564564678796361621964223779204989751670364536759607102832062987602573083257655308097249978852700764143749521373013389914384972813695512894757527080416088410766034059273352328908661606793750205556830070550167261820958097333106329870564131007973392835411119517281528956221898080674618280772201098124381494161759814527008479446323388644308986730411300340498 6507331894733499465669069193468560529702621094991431811425440803689985819995730517541707051896923459011542918420288472818717420449503002494845660158761232886487567675586073016237504236721523857013739900928815168408579079646184252401536104726730413977171337121943836270439125093854464726871532760939528360012356705223480288867965847423484241975466323600653615163818999136427450004232396532518575029772743545794611741970447021541697149 10529084181755055001050437130181942922425329674867838449531520965692754104696527082106385848258545423235322123410040143183254180056605834557833262731844490541795664925564925717001647986242896870403654285901628863921473837173264668489946870760789687329500245783550630020644681923925014894133353719036861466342227269354488262260801258543001523504422545498734289782099771337525574385726558292333102038252189869183256050957177432842037647 17036416076488554466719506323650503452127950769859270260956961769382739924692257599648092900155468882246865041830328616001971600506108837052678922890605723428283232601150998733239152222964420727417394186830444032330052916819448920891482975487520101306671582905494466291083807017779479621004886479976389826354583974577968551128767105966485765479888869099387904945918770473953024389958954824851677068024933414977867792927624454383734796 27565500258243609467769943453832446374553280444727108710488482735075494029388784681754478748414014305482187165240368759185225780562714671610512185622450213970078897526715924450240800209207317597821048472732072896251526753992713589381429846248309788636171828689045096311728488941704494515138240199013251292696811243932456813389568364509487288984311414598122194728018541811478598775685513117184779106277123284161123843884801887225772443 44601916334732163934489449777482949826681231214586378971445444504458233954081042281402571648569483187729052207070697375187197381068823508663191108513055937398362130127866923183479952432171738325238442659562516928581579670812162510272912821735829889942843411594539562602812295959483974136143126678989641119051395218510425364518335470475973054464200283697510099673937312285431623165644467942036456174302056699138991636812426341609507239 72167416592975773402259393231315396201234511659313487681933927239533727983469826963157050396983497493211239372311066134372423161631538180273703294135506151368441027654582847633720752641379055923059491132294589824833106424804876099654342667984139678579015240283584658914540784901188468651281366878002892411748206462442882177907903834985460343448511698295632294401955854096910221941329981059221235280579179983300115480697228228835279682 116769332927707937336748843008798346027915742873899866653379371743991961937550869244559622045552980680940291579381763509559620542700361688936894402648562088766803157782449770817200705073550794248297933791857106753414686095617038609927255489719969568521858651878124221517353080860672442787424493556992533530799601680953307542426239305461433397912711981993142394075893166382341845106974449001257691454881236682439107117509654570444786921 188936749520683710739008236240113742229150254533213354335313298983525689921020696207716672442536478174151530951692829643932043704331899869210597696784068240135244185437032618450921457714929850171357424924151696578247792520421914709581598157704109247100873892161708880431893865761860911438705860434995425942547808143396189720334143140446893741361223680288774688477849020479252067048304430060478926735460416665739222598206882799280066603 305706082448391648075757079248912088257065997407113220988692670727517651858571565452276294488089458855091822531074593153491664247032261558147492099432630328902047343219482389268122162788480644419655358716008803331662478616038953319508853647424078815622732544039833101949246946622533354226130353991987959473347409824349497262760382445908327139273935662281917082553742186861593912155278879061736618190341653348178329715716537369724853524 494642831969075358814765315489025830486216251940326575324005969711043341779592261659992966930625937029243353482767422797423707951364161427358089796216698569037291528656515007719043620503410494591012783640160499909910271136460868029090451805128188062723606436201541982381140812384394265664836214426983385415895217967745686983094525586355220880635159342570691771031591207340845979203583309122215544925802070013917552313923420169004920127 800348914417467006890522394737937918743282249347439796312698640438560993638163827112269261418715395884335176013842015950915372198396422985505581895649328897939338871875997396987165783291891139010668142356169303241572749752499821348599305452552266878346338980241375084330387759006927619890966568418971344889242627792095184245854908032263548019909095004852608853585333394202439891358862188183952163116143723362095882029639957538729773651 1294991746386542365705287710226963749229498501287766371636704610149604335417756088772262228349341332913578529496609438748339080149760584412863671691866027466976630400532512404706209403795301633601680925996329803151483020888960689377689757257680454941069945416442917066711528571391321885555802782845954730305137845759840871228949433618618768900544254347423300624616924601543285870562445497306167708041945793376013434343563377707734693778 2095340660804009372595810104964901667972780750635206167949403250588165329055919915884531489768056728797913705510451454699254452348157007398369253587515356364915969272408509801693375187087192772612349068352499106393055770641460510726289062710232721819416284396684292151041916330398249505446769351264926075194380473551936055474804341650882316920453349352275909478202257995745725761921307685490119871158089516738109316373203335246464467429 3390332407190551738301097815191865417202279251922972539586107860737769664473676004656793718117398061711492235007060893447593532497917591811232925279381383831892599672941022206399584590882494406214029994348828909544538791530421200103978819967913176760486229813127209217753444901789571391002572134110880805499518319311776926703753775269501085820997603699699210102819182597289011632483753182796287579200035310114122750716766712954199161207 5485673067994561110896907920156767085175060002558178707535511111325934993529595920541325207885454790509405940517512348146847984846074599209602178866896740196808568945349532008092959777969687178826379062701328015937594562171881710830267882678145898579902514209811501368795361232187820896449341485375806880693898792863712982178558116920383402741450953051975119581021440593034737394405060868286407450358124826852232067089970048200663628636 8876005475185112849198005735348632502377339254481151247121618972063704658003271925198118926002852852220898175524573241594441517343992191020835104146278124028701168618290554214492544368852181585040409057050156925482133353702302910934246702646059075340388744022938710586548806133977392287451913619486687686193417112175489908882311892189884488562448556751674329683840623190323749026888814051082695029558160136966354817806736761154862789843 14361678543179673960094913655505399587552399257039329954657130083389639651532867845739444133888307642730304116042085589741289502190066790230437283013174864225509737563640086222585504146821868763866788119751484941419727915874184621764514585324204973920291258232750211955344167366165213183901255104862494566887315905039202891060870009110267891303899509803649449264862063783358486421293874919369102479916284963818586884896706809355526418479 23237684018364786809292919390854032089929738511520481201778749055453344309536139770937563059891160494951202291566658831335731019534058981251272387159452988254210906181930640437078048515674050348907197176801641866901861269576487532698761287970264049260680002255688922541892973500142605471353168724349182253080733017214692799943181901300152379866348066555323778948702686973682235448182688970451797509474445100784941702703443570510389208322 37599362561544460769387833046359431677482137768559811156435879138842983961069007616677007193779468137681506407608744421077020521724125771481709670172627852479720643745570726659663552662495919112773985296553126808321589185450672154463275873294469023180971260488439134497237140866307818655254423829211676819968048922253895691004051910410420271170247576358973228213564750757040721869476563889820899989390730064603528587600150379865915626801 60837046579909247578680752437213463767411876280080292358214628194296328270605147387614570253670628632632708699175403252412751541258184752732982057332080840733931549927501367096741601178169969461681182473354768675223450455027159687162037161264733072441651262744128057039130114366450424126607592553560859073048781939468588490947233811710572651036595642914297007162267437730722957317659252860272697498865175165388470290303593950376304835123 98436409141453708348068585483572895444894014048640103514650507333139312231674155004291577447450096770314215106784147673489772062982310524214691727504708693213652193673072093756405153840665888574455167769907895483545039640477831841625313034559202095622622523232567191536367255232758242781862016382772535893016830861722484181951285722120992922206843219273270235375832188487763679187135816750093597488255905229991998877903744330242220461924 159273455721362955926749337920786359212305890328720395872865135527435640502279302391906147701120725402946923805959550925902523604240495276947673784836789533947583743600573460853146755018835858036136350243262664158768490095504991528787350195823935168064273785976695248575497369599208666908469608936333394966065612801191072672898519533831565573243438862187567242538099626218486636504795069610366294987121080395380469168207338280618525297047 257709864862816664274817923404359254657199904377360499387515642860574952733953457396197725148570822173261138912743698599392295667222805801162365512341498227161235937273645554609551908859501746610591518013170559642313529735982823370412663230383137263686896309209262440111864624831966909690331625319105930859082443662913556854849805255952558495450282081460837477913931814706250315691930886360459892475376985625372468046111082610860745758971 416983320584179620201567261325145613869505794706080895260380778388010593236232759788103872849691547576208062718703249525294819271463301078110039297178287761108819680874219015462698663878337604646727868256433223801082019831487814899200013426207072431751170095185957688687361994431175576598801234255439325825148056464104629527748324789784124068693720943648404720452031440924736952196725955970826187462498066020752937214318420891479271056018 674693185446996284476385184729504868526705699083441394647896421248585545970186217184301597998262369749469201631446948124687114938686106879272404809519785988270055618147864570072250572737839351257319386269603783443395549567470638269612676656590209695438066404395220128799226619263142486289132859574545256684230500127018186382598130045736682564144003025109242198365963255630987267888656842331286079937875051646125405260429503502340016814989 1091676506031175904677952446054650482396211493789522289908277199636596139206418976972405470847953917325677264350150197649981934210149407957382444106698073749378875299022083585534949236616176955904047254526037007244477569398958453168812690082797282127189236499581177817486588613694318062887934093829984582509378556591122815910346454835520806632837723968757646918817994696555724220085382798302112267400373117666878342474747924393819287871007 1766369691478172189154337630784155350922917192872963684556173620885181685176605194156707068846216287075146465981597145774669049148835514836654848916217859737648930917169948155607199809354016307161366640795640790687873118966429091438425366739387491822627302903976397946285815232957460549177066953404529839193609056718141002292944584881257489196981726993866889117183957952186711487974039640633398347338248169313003747735177427896159304685996 2858046197509348093832290076838805833319128686662485974464450820521777824383024171129112539694170204400823730331747343424650983358984922794037293022915933487027806216192031741142149045970193263065413895321677797932350688365387544607238056822184773949816539403557575763772403846651778612065001047234514421702987613309263818203291039716778295829819450962624536036001952648742435708059422438935510614738621286979882090209925352289978592557003 4624415888987520282986627707622961184242045879535449659020624441406959509559629365285819608540386491475970196313344489199320032507820437630692141939133793224676737133361979896749348855324209570226780536117318588620223807331816636045663423561572265772443842307533973710058219079609239161242068000639044260896596670027404820496235624598035785026801177956491425153185910600929147196033462079568908962076869456292885837945102780186137897242999 7482462086496868376818917784461767017561174566197935633485075261928737333942653536414932148234556695876793926645091832623971015866805360424729434962049726711704543349554011637891497901294402833292194431438996386552574495697204180652901480383757039722260381711091549473830622926261017773307069047873558682599584283336668638699526664314814080856620628919115961189187863249671582904092884518504419576815490743272767928155028132476116489800002 12106877975484388659805545492084728201803220445733385292505699703335696843502282901700751756774943187352764122958436321823291048374625798055421576901183519936381280482915991534640846756618612403518974967556314975172798303029020816698564903945329305494704224018625523183888842005870256934549137048512602943496180953364073459195762288912849865883421806875607386342373773850600730100126346598073328538892360199565653766100130912662254387043001 19589340061981257036624463276546495219364395011931320925990774965264434177444936438115683905009499883229558049603528154447262064241431158480151011863233246648085823832470003172532344657913015236811169398995311361725372798726224997351466384329086345216964605729717072657719464932131274707856206096386161626095765236700742097895288953227663946740042435794723347531561637100272313004219231116577748115707850942838421694255159045138370876843003 31696218037465645696430008768631223421167615457664706218496474668600131020947219339816435661784443070582322172561964476270553112616056956535572588764416766584467104315385994707173191414531627640330144366551626336898171101755245814050031288274415650711668829748342595841608306938001531642405343144898764569591946190064815557091051242140513812623464242670330733873935410950873043104345577714651076654600211142404075460355289957800625263886004 51285558099446902733054472045177718640532010469596027144487249633864565198392155777932119566793942953811880222165492630717815176857488115015723600627650013232552928147855997879705536072444642877141313765546937698623543900481470811401497672603501995928633435478059668499327771870132806350261549241284926195687711426765557654986340195368177759363506678465054081405497048051145356108564808831228824770308062085242497154610449002938996140729007 82981776136912548429484480813808942061699625927260733362983724302464696219339375117748555228578386024394202394727457106988368289473545071551296189392066779817020032463241992586878727486976270517471458132098564035521715002236716625451528960877917646640302265226402264340936078808134337992666892386183690765279657616830373212077391437508691571986970921135384815279432459002018399212910386545879901424908273227646572614965738960739621404615011 134267334236359451162538952858986660702231636396856760507470973936329261417731530895680674795372328978206082616892949737706183466331033186567019790019716793049572960611097990466584263559420913394612771897645501734145258902718187436853026633481419642568935700704461932840263850678267144342928441627468616960967369043595930867063731632876869331350477599600438896684929507053163755321475195377108726195216335312889069769576187963678617545344018 217249110373271999592023433672795602763931262324117493870454698238793957637070906013429230023950715002600285011620406844694551755804578258118315979411783572866592993074339983053462991046397183912084230029744065769666973904954904062304555594359337289209237965930864197181199929486401482335595334013652307726247026660426304079141123070385560903337448520735823711964361966055182154534385581922988627620124608540535642384541926924418238949959029 351516444609631450754562386531782263466162898720974254377925672175123219054802436909109904819323043980806367628513356582400735222135611444685335769431500365916165953685437973520047254605818097306697001927389567503812232807673091499157582227840756931778173666635326130021463780164668626678523775641120924687214395704022234946204854703262430234687926120336262608649291473108345909855860777300097353815340943853424712154118114888096856495303047 568765554982903450346585820204577866230094161045091748248380370413917176691873342922539134843273758983406652640133763427095286977940189702803651748843283938782758946759777956573510245652215281218781231957133633273479206712627995561462137822200094220987411632566190327202663709651070109014119109654773232413461422364448539025345977773647991138025374641072086320613653439163528064390246359223085981435465552393960354538660041812515095445262076 920281999592534901101148206736360129696257059766066002626306042589040395746675779831649039662596802964213020268647120009496022200075801147488987518274784304698924900445215930093557500258033378525478233884523200777291439520301087060619720050040851152765585299201516457224127489815738735692642885295894157100675818068470773971550832476910421372713300761408348929262944912271873974246107136523183335250806496247385066692778156700611951940565123 1489047554575438351447734026940937995926351220811157750874686413002957572438549122754188174505870561947619672908780883436591309178015990850292639267118068243481683847204993886667067745910248659744259465841656834050770646232929082622081857872240945373752996931767706784426791199466808844706761994950667389514137240432919312996896810250558412510738675402480435249876598351435402038636353495746269316686272048641345421231438198513127047385827199 2409329554167973252548882233677298125622608280577223753500992455591997968185224902585837214168467364911832693177428003446087331378091791997781626785392852548180608747650209816760625246168282038269737699726180034828062085753230169682701577922281796526518582230969223241650918689282547580399404880246561546614813058501390086968447642727468833883451976163888784179139543263707276012882460632269452651937078544888730487924216355213738999326392322 3898377108743411603996616260618236121548959501388381504375678868594955540623774025340025388674337926859452366086208886882678640556107782848074266052510920791662292594855203703427692992078530698013997165567836868878832731986159252304783435794522741900271579162736930026077709888749356425106166875197228936128950298934309399965344452978027246394190651566369219429016141615142678051518814128015721968623350593530075909155654553726866046712219521 6307706662911384856545498494295534247171567781965605257876671324186953508808998927925862602842805291771285059263636890328765971934199574845855892837903773339842901342505413520188318238246812736283734865294016903706894817739389421987485013716804538426790161393706153267728628578031904005505571755443790482743763357435699486933792095705496080277642627730258003608155684878849954064401274760285174620560429138418806397079870908940605046038611843 10206083771654796460542114754913770368720527283353986762252350192781909049432772953265887991517143218630737425349845777211444612490307357693930158890414694131505193937360617223616011230325343434297732030861853772585727549725548674292268449511327280327061740556443083293806338466781260430611738630641019418872713656370008886899136548683523326671833279296627223037171826493992632115920088888300896589183779731948882306235525462667471092750831364 16513790434566181317087613249209304615892095065319592020129021516968862558241771881191750594359948510402022484613482667540210584424506932539786051728318467471348095279866030743804329468572156170581466896155870676292622367464938096279753463228131818753851901950149236561534967044813164436117310386084809901616477013805708373832928644389019406949475907026885226645327511372842586180321363648586071209744208870367688703315396371608076138789443207 26719874206220977777629728004123074984612622348673578782381371709750771607674544834457638585877091729032759909963328444751655196914814290233716210618733161602853289217226647967420340698897499604879198927017724448878349917190486770572021912739459099080913642506592319855341305511594424866729049016725829320489190670175717260732065193072542733621309186323512449682499337866835218296241452536886967798927988602316571009550921834275547231540274571 43233664640787159094717341253332379600504717413993170802510393226719634165916316715649389180237040239434782394576811112291865781339321222773502262347051629074201384497092678711224670167469655775460665823173595125170972284655424866851775375967590917834765544456741556416876272556407589302846359402810639222105667683981425634564993837461562140570785093350397676327826849239677804476562816185473039008672197472684259712866318205883623370329717778 69953538847008136872347069257455454585117339762666749584891764936470405773590861550107027766114131968467542304540139557043520978254135513007218472965784790677054673714319326678645010866367155380339864750191319574049322201845911637423797288707050016915679186963333876272217578068002014169575408419536468542594858354157142895297059030534104874192094279673910126010326187106513022772804268722360006807600186075000830722417240040159170601869992349 113187203487795295967064410510787834185622057176659920387402158163190039939507178265756416946351172207902324699116950669335386759593456735780720735312836419751256058211412005389869681033836811155800530573364914699220294486501336504275572664674640934750444731420075432689093850624409603472421767822347107764700526038138568529862052867995667014762879373024307802338153036346190827249367084907833045816272383547685090435283558246042793972199710127 183140742334803432839411479768243288770739396939326669972293923099660445713098039815863444712465304176369867003657090226378907737847592248787939208278621210428310731925731332068514691900203966536140395323556234273269616688347248141699369953381690951666123918383409308961311428692411617641997176241883576307295384392295711425159111898529771888954973652698217928348479223452703850022171353630193052623872569622685921157700798286201964574069702476 296327945822598728806475890279031122956361454115986590359696081262850485652605218081619861658816476384272191702774040895714294497441048984568659943591457630179566790137143337458384372934040777691940925896921148972489911174848584645974942618056331886416568649803484741650405279316821221114418944064230684071995910430434279955021164766525438903717853025722525730686632259798894677271538438538026098440144953170371011592984356532244758546269412603 479468688157402161645887370047274411727100851055313260331990004362510931365703257897483306371281780560642058706431131122093202235288641233356599151870078840607877522062874669526899064834244744228081321220477383245759527863195832787674312571438022838082692568186894050611716708009232838756416120306114260379291294822729991380180276665055210792672826678420743659035111483251598527293709792168219151064017522793056932750685154818446723120339115079 775796633980000890452363260326305534683462305171299850691686085625361417018308475979103168030098256944914250409205172017807496732729690217925259095461536470787444312200018006985283437768285521920022247117398532218249439038044417433649255189494354724499261217990378792262121987326054059870835064370344944451287205253164271335201441431580649696390679704143269389721743743050493204565248230706245249504162475963427944343669511350691481666608527682 1255265322137403052098250630373579946410563156226613111023676089987872348384011733876586474401380037505556309115636303139900698968018331451281858247331615311395321834262892676512182502602530266148103568337875915464008966901240250221323567760932377562581953786177272842873838695335286898627251184676459204830578500075894262715381718096635860489063506382564013048756855226302091731858958022874464400568179998756484877094354666169138204786947642761 2031061956117403942550613890699885481094025461397912961715362175613233765402320209855689642431478294450470559524841475157708195700748021669207117342793151782182766146462910683497465940370815788068125815455274447682258405939284667654972822950426732287081215004167651635135960682661340958498086249046804149281865705329058534050583159528216510185454186086707282438478598969352584936424206253580709650072342474719912821438024177519829686453556170443 3286327278254806994648864521073465427504588617624526072739038265601106113786331943732276116832858331956026868640477778297608894668766353120488975590124767093578087980725803360009648442973346054216229383793150363146267372840524917876296390711359109849663168790344924478009799377996627857125337433723263354112444205404952796765964877624852370674517692469271295487235454195654676668283164276455174050640522473476397698532378843688967891240503813204 5317389234372210937199478411773350908598614079022439034454400441214339879188652153587965759264336626406497428165319253455317090369514374789696092932917918875760854127188714043507114383344161842284355199248424810828525778779809585531269213661785842136744383794512576113145760060657968815623423682770067503394309910734011330816548037153068880859971878555978577925714053165007261604707370530035883700712864948196310519970403021208797577694059983647 8603716512627017931848342932846816336103202696646965107193438706815445992974984097320241876097194958362524296805797031752925985038280727910185068523042685969338942107914517403516762826317507896500584583041575173974793151620334503407565604373144951986407552584857500591155559438654596672748761116493330857506754116138964127582512914777921251534489571025249873412949507360661938272990534806491057751353387421672708218502781864897765468934563796851 13921105746999228869047821344620167244701816775669404141647839148029785872163636250908207635361531584769021724971116285208243075407795102699881161455960604845099796235103231447023877209661669738784939782289999984803318930400144088938834818034930794123151936379370076704301319499312565488372184799263398360901064026872975458399060951930990132394461449581228451338663560525669199877697905336526941452066252369869018738473184886106563046628623780498 22524822259626246800896164277466983580805019472316369248841277854845231865138620348228449511458726543131546021776913316961169060446075830610066229979003290814438738343017748850540640035979177635285524365331575158778112082020478592346400422408075746109559488964227577295456878937967162161120945915756729218407818143011939585981573866708911383928951020606478324751613067886331138150688440143017999203419639791541726956975966751004328515563187577349 36445928006625475669943985622087150825506836247985773390489117002875017737302256599136657146820258127900567746748029602169412135853870933309947391434963895659538534578120980297564517245640847374070464147621575143581431012420622681285235240443006540232711425343597653999758198437279727649493130715020127579308882169884915044380634818639901516323412470187706776090276628412000338028386345479544940655485892161410745695449151637110891562191811357847 58970750266251722470840149899554134406311855720302142639330394857720249602440876947365106658278984671032113768524942919130581196299946763920013621413967186473977272921138729148105157281620025009355988512953150302359543094441101273631635662851082286342270914307825231295215077375246889810614076630776856797716700312896854630362208685348812900252363490794185100841889696298331476179074785622562939858905531952952472652425118388115220077754998935196 95416678272877198140784135521641285231818691968287916029819511860595267339743133546501763805099242798932681515272972521299993332153817697229961012848931082133515807499259709445669674527260872383426452660574725445940974106861723954916870903294088826574982339651422885294973275812526617460107207345796984377025582482781769674742843503988714416575775960981891876932166324710331814207461131102107880514391424114363218347874270025226111639946810293043 154387428539128920611624285421195419638130547688590058669149906718315516942184010493866870463378227469964795283797915440430574528453764461149974634262898268607493080420398438593774831808880897392782441173527875748300517201302825228548506566145171112917253253959248116590188353187773507270721283976573841174742282795678624305105052189337527316828139451776076977774056021008663290386535916724670820373296956067315691000299388413341331717701809228239 249804106812006118752408420942836704869949239656877974698969418578910784281927144040368634268477470268897476799070887961730567860607582158379935647111829350741008887919658148039444506336141769776208893834102601194241491308164549183465377469439259939492235593610671001885161629000300124730828491322370825551767865278460393979847895693326241733403915412757968854706222345718995104593997047826778700887688380181678909348173658438567443357648619521282 404191535351135039364032706364032124508079787345468033368119325297226301224111154534235504731855697738862272082868803402161142389061346619529910281374727619348501968340056586633219338145022667168991335007630476942542008509467374412013884035584431052409488847569919118475349982188073632001549775298944666726510148074139018284952947882663769050232054864534045832480278366727658394980532964551449521260985336248994600348473046851908775075350428749521 653995642163141158116441127306868829378029027002346008067088743876137085506038298574604139000333168007759748881939691363891710249668928777909845928486556970089510856259714734672663844481164436945200228841733078136783499817631923595479261505023690991901724441180590120360511611188373756732378266621315492278278013352599412264800843575990010783635970277292014687186500712446653499574530012378228222148673716430673509696646705290476218432999048270803 1058187177514276197480473833670900953886108814347814041435208069173363386730149453108839643732188865746622020964808494766052852638730275397439756209861284589438012824599771321305883182626187104114191563849363555079325508327099298007493145540608122044311213288750509238835861593376447388733928041920260159004788161426738430549753791458653779833868025141826060519666779079174311894555062976929677743409659052679668110045119752142384993508349477020324 1712182819677417355596914960977769783264137841350160049502296813049500472236187751683443782732522033754381769846748186129944562888399204175349602138347841559527523680859486055978547027107351541059391792691096633216109008144731221602972407045631813036212937729931099359196373204564821145466306308541575651283066174779337842814554635034643790617503995419118075206853279791620965394129592989307905965558332769110341619741766457432861211941348525291127 2770369997191693553077388794648670737150246655697974090937504882222863858966337204792283426464710899501003790811556680895997415527129479572789358348209126148965536505459257377284430209733538645173583356540460188295434516471830519610465552586239935080524151018681608598032234797941268534200234350461835810287854336206076273364308426493297570451372020560944135726520058870795277288684655966237583708967991821790009729786886209575246205449698002311451 4482552816869110908674303755626440520414384497048134140439801695272364331202524956475727209197232933255385560658304867025941978415528683748138960486556967708493060186318743433262977236840890186232975149231556821511543524616561741213437959631871748116737088748612707957228608002506089679666540659003411461570920510985414116178863061527941361068876015980062210933373338662416242682814248955545489674526324590900351349528652667008107417391046527602578 7252922814060804461751692550275111257564631152746108231377306577495228190168862161268010635661943832756389351469861547921939393942658163320928318834766093857458596691778000810547407446574428831406558505772017009806978041088392260823903512218111683197261239767294316555260842800447358213866775009465247271858774847191490389543171488021238931520248036541006346659893397533211519971498904921783073383494316412690361079315538876583353622840744529914029 11735475630929915370425996305901551777979015649794242371817108272767592521371387117743737844859176766011774912128166414947881372358186847069067279321323061565951656878096744243810384683415319017639533655003573831318521565704954002037341471849983431313998328515907024512489450802953447893533315668468658733429695358176904505722034549549180292589124052521068557593266736195627762654313153877328563058020641003590712428844191543591461040231791057516607 18988398444990719832177688856176663035543646802540350603194414850262820711540249279011748480521120598768164263598027962869820766300845010389995598156089155423410253569874745054357792129989747849046092160775590841125499606793346262861244984068095114511259568283201341067750293603400806107400090677933906005288470205368394895265206037570419224109372089062074904253160133728839282625812058799111636441514957416281073508159730420174814663072535587430636 30723874075920635202603685162078214813522662452334592975011523123030413232911636396755486325380297364779939175726194377817702138659031857459062877477412216989361910447971489298168176813405066866685625815779164672444021172498300264898586455918078545825257896799108365580239744406354254000933406346402564738718165563545299400987240587119599516698496141583143461846426869924467045280125212676440199499535598419871785937003921963766275703304326644947243 49712272520911355034781374018254877849066309254874943578205937973293233944451885675767234805901417963548103439324222340687522904959876867849058475633501372412772164017846234352525968943394814715731717976554755513569520779291646527759831439986173660336517465082309706647990038009755060108333497024336470744006635768913694296252446624690018740807868230645218366099587003653306327905937271475551835941050555836152859445163652383941090366376862232377879 80436146596831990237385059180333092662588971707209536553217461096323647177363522072522721131281715328328042615050416718505225043618908725308121353110913589402134074465817723650694145756799881582417343792333920186013541951789946792658417895904252206161775361881418072228229782416109314109266903370739035482724801332458993697239687211809618257506364372228361827946013873577773373186062484151992035440586154256024645382167574347707366069681188877325122 130148419117743345272166433198587970511655280962084480131423399069616881121815407748289955937183133291876146054374639059192747948578785593157179828744414961814906238483663958003220114700194696298149061768888675699583062731081593320418249335890425866498292826963727778876219820425864374217600400395075506226731437101372687993492133836499636998314232602873580194045600877231079701091999755627543871381636710092177504827331226731648456436058051109703001 210584565714575335509551492378921063174244252669294016684640860165940528299178929820812677068464848620204188669425055777697972992197694318465301181855328551217040312949481681653914260456994577880566405561222595885596604682871540113076667231794678072660068188845145851104449602841973688326867303765814541709456238433831681690731821048309255255820596975101942021991614750808853074278062239779535906822222864348202150209498801079355822505739239987028123 340732984832318680781717925577509033685899533631378496816064259235557409420994337569102633005647981912080334723799694836890720940776479911622481010599743513031946551433145639657134375157189274178715467330111271585179667413953133433494916567685103939158361015808873629980669423267838062544467704160890047936187675535204369684223954884808892254134829577975522216037215628039932775370061995407079778203859574440379655036830027811004278941797291096731124 551317550546894016291269417956430096860143786300672513500705119401497937720173267389915310074112830532284523393224750614588693932974174230087782192455072064248986864382627321311048635614183852059281872891333867470776272096824673546571583799479782011818429204654019481085119026109811750871335007926704589645643913969036051374955775933118147509955426553077464238028830378848785849648124235186615685026082438788581805246328828890360101447536531083759247 892050535379212697072987343533939130546043319932051010316769378637055347141167604959017943079760812444364858117024445451479414873750654141710263203054815577280933415815772960968183010771373126237997340221445139055955939510777806980066500367164885950976790220462893111065788449377649813415802712087594637581831589504240421059179730817927039764090256131052986454066046006888718625018186230593695463229942013228961460283158856701364380389333822180490371 1443368085926106713364256761490369227406187106232723523817474498038553284861340872348933253153873642976649381510249196066068108806724828371798045395509887641529920280198400282279231646385556978297279213112779006526732211607602480526638084166644667962795219425116912592150907475487461564287137720014299227227475503473276472434135506751045187274045682684130450692094876385737504474666310465780311148256024452017543265529487685591724481836870353264249618 2335418621305319410437244105024308357952230426164774534134243876675608632002508477307951196233634455421014239627273641517547523680475482513508308598564703218810853696014173243247414657156930104535276553334224145582688151118380287506704584533809553913772009645579805703216695924865111377702940432101893864809307092977516893493315237568972227038135938815183437146160922392626223099684496696374006611485966465246504725812646542293088862226204175444739989 3778786707231426123801500866514677585358417532397498057951718374714161916863849349656884449387508098397663621137522837583615632487200310885306353994074590860340773976212573525526646303542487082832555766447003152109420362725982768033342668700454221876567229070696718295367603400352572941990078152116193092036782596450793365927450744320017414312181621499313887838255798778363727574350807162154317759741990917264047991342134227884813344063074528708989607 6114205328536745534238744971538985943310647958562272592085962251389770548866357826964835645621142553818677860764796479101163156167675793398814662592639294079151627672226746768774060960699417187367832319781227297692108513844363055540047253234263775790339238716276523998584299325217684319693018584218086956846089689428310259420765981888989641350317560314497324984416721170989950674035303858528324371227957382510552717154780770177902206289278704153729596 9892992035768171658040245838053663528669065490959770650037680626103932465730207176621720095008650652216341481902319316684778788654876104284121016586713884939492401648439320294300707264241904270200388086228230449801528876570345823573389921934717997666906467786973242293951902725570257261683096736334280048882872285879103625348216726209007055662499181813811212822672519949353678248386111020682642130969948299774600708496914998062715550352353232862719203 16007197364304917192278990809592649471979713449522043242123642877493703014596565003586555740629793206035019342667115795785941944822551897682935679179353179018644029320666067063074768224941321457568220406009457747493637390414708879113437175168981773457245706503249766292536202050787941581376115320552367005728961975307413884768982708097996697012816742128308537807089241120343628922421414879210966502197905682285153425651695768240617756641631937016448799 25900189400073088850319236647646313000648778940481813892161323503597635480326772180208275835638443858251360824569435112470720733477428001967056695766067063958136430969105387357375475489183225727768608492237688197295166266985054702686827097103699771124152174290223008586488104776358198843059212056886647054611834261186517510117199434307003752675315923942119750629761761069697307170807525899893608633167853982059754134148610766303333306993985169879168002 41907386764378006042598227457238962472628492390003857134284966381091338494923337183794831576268237064286380167236550908256662678299979899649992374945420242976780460289771454420450243714124547185336828898247145944788803657399763581800264272272681544581397880793472774879024306827146140424435327377439014060340796236493931394886182142405000449688132666070428288436851002190040936093228940779104575135365759664344907559800306534543951063635617106895616801 67807576164451094892917464104885275473277271330485671026446289884688973975250109364003107411906680922537740991805986020727383411777407901617049070711487306934916891258876841777825719203307772913105437390484834142083969924384818284487091369376381315705550055083695783465512411603504339267494539434325661114952630497680448905003381576712004202363448590012548039066612763259738243264036466678998183768533613646404661693948917300847284370629602276774784803 109714962928829100935515691562124237945905763720489528160731256265780312470173446547797938988174917986824121159042536928984046090077387801267041445656907549911697351548648296198275962917432320098442266288731980086872773581784581866287355641649062860286947935877168558344536718430650479691929866811764675175293426734174380299889563719117004652051581256082976327503463765449779179357265407458102758903899373310749569253749223835391235434265219383670401604 177522539093280195828433155667009513419183035050975199187177546150469286445423555911801046400081598909361862150848522949711429501854795702884090516368394856846614242807525137976101682120740093011547703679216814228956743506169400150774447011025444175992497990960864341810049130034154818959424406246090336290246057231854829204892945295829008854415029846095524366570076528709517422621301874137100942672432986957154230947698141136238519804894821660445186407 287237502022109296763948847229133751365088798771464727347908802416249598915597002459598985388256516896185983309891059878695475591932183504151131962025302406758311594356173434174377645038172413109989969967948794315829517087953982017061802652674507036279445926838032900154585848464805298651354273057855011465539483966029209504782509014946013506466611102178500694073540294159296601978567281595203701576332360267903800201447364971629755239160041044115588011 464760041115389492592382002896143264784271833822439926535086348566718885361020558371400031788338115805547845460739582828406905093786979207035222478393697263604925837163698572150479327158912506121537673647165608544786260594123382167836249663699951212271943917798897241964634978498960117610778679303945347755785541197884038709675454310775022360881640948274025060643616822868814024599869155732304644248765347225058031149145506107868275044054862704560774418 751997543137498789356330850125277016149360632593904653882995150982968484276617560830999017176594632701733828770630642707102380685719162711186354440418999670363237431519872006324856972197084919231527643615114402860615777682077364184898052316374458248551389844636930142119220826963765416262132952361800359221325025163913248214457963325721035867348252050452525754717157117028110626578436437327508345825097707492961831350592871079498030283214903748676362429 1216757584252888281948712853021420280933632466416344580418081499549687369637638119202399048964932748507281674231370225535509285779506141918221576918812696933968163268683570578475336299355997425353065317262280011405402038276200746352734301980074409460823333762435827384083855805462725533872911631665745706977110566361797286924133417636496058228229892998726550815360773939896924651178305593059812990073863054718019862499738377187366305327269766453237136847 1968755127390387071305043703146697297082993099010249234301076650532655853914255680033398066141527381209015503002000868242611666465225304629407931359231696604331400700203442584800193271553082344584592960877394414266017815958278110537632354296448867709374723607072757526203076632426490950135044584027546066198435591525710535138591380962217094095578145049179076570077931056925035277756742030387321335898960762210981693850331248266864335610484670201913499276 3185512711643275353253756556168117578016625565426593814719158150082343223551893799235797115106460129716297177233371093778120952244731446547629508278044393538299563968887013163275529570909079769937658278139674425671419854234478856890366656276523277170198057369508584910286932437889216484007956215693291773175546157887507822062724798598713152323808038047905627385438704996821959928935047623447134325972823816929001556350069625454230640937754436655150636123 5154267839033662424558800259314814875099618664436843049020234800614999077466149479269195181247987510925312680235371962020732618709956751177037439637276090142630964669090455748075722842462162114522251239017068839937437670192756967427999010572972144879572780976581342436490009070315707434143000799720837839373981749413218357201316179560930246419386183097084703955516636053746995206691789653834455661871784579139983250200400873721094976548239106857064135399 8339780550676937777812556815482932453116244229863436863739392950697342301018043278504992296354447640641609857468743055798853570954688197724666947915320483680930528637977468911351252413371241884459909517156743265608857524427235824318365666849495422049770838346089927346776941508204923918150957015414129612549527907300726179264040978159643398743194221144990331340955341050568955135626837277281589987844608396068984806550470499175325617485993543512214771522 13494048389710600202371357074797747328215862894300279912759627751312341378484192757774187477602435151566922537704115017819586189664644948901704387552596573823561493307067924659426975255833403998982160756173812105546295194619992791746364677422467566929343619322671269783266950578520631352293957815134967451923509656713944536465357157720573645162580404242075035296471977104315950342318626931116045649716392975208968056750871372896420594034232650369278906921 21833828940387537980183913890280679781332107124163716776499020702009683679502236036279179773956882792208532395172858073618439760619333146626371335467917057504492021945045393570778227669204645883442070273330555371155152719047228616064730344271962988979114457668761197130043892086725555270444914830549097064473037564014670715729398135880217043905774625387065366637427318154884905477945464208397635637561001371277952863301341872071746211520226193881493678443 35327877330098138182555270965078427109547970018463996689258648453322025057986428794053367251559317943775454932876973091438025950283978095528075723020513631328053515252113318230205202925038049882424231029504367476701447913667221407811095021694430555908458076991432466913310842665246186622738872645684064516396547220728615252194755293600790689068355029629140401933899295259200855820264091139513681287277394346486920920052213244968166805554458844250772585364 57161706270485676162739184855359106890880077142627713465757669155331708737488664830332547025516200735983987328049831165056465710903311242154447058488430688832545537197158711800983430594242695765866301302834922847856600632714450023875825365966393544887572534660193664043354734751971741893183787476233161580869584784743285967924153429481007732974129655016205768571326613414085761298209555347911316924838395717764873783353555117039913017074685038132266263807 92489583600583814345294455820437534000428047161091710155016317608653733795475093624385914277075518679759442260926804256494491661187289337682522781508944320160599052449272030031188633519280745648290532332339290324558048546381671431686920387660824100796030611651626130956665577417217928515922660121917226097266132005471901220118908723081798422042484684645346170505225908673286617118473646487424998212115790064251794703405768362008079822629143882383038849171 149651289871069490508033640675796640891308124303719423620773986763985442532963758454718461302591719415743429588976635421550957372090600579836969839997375008993144589646430741832172064113523441414156833635174213172414649179096121455562745753627217645683603146311819795000020312169189670409106447598150387678135716790215187188043062152562806155016614339661551939076552522087372378416683201835336315136954185782016668486759323479047992839703828920515305112978 242140873471653304853328096496234174891736171464811133775790304372639176328438852079104375579667238095502871849903439678045449033277889917519492621506319329153743642095702771863360697632804187062447365967513503496972697725477792887249666141288041746479633757963445925956685889586407598925029107720067613775401848795687088408161970875644604577059099024306898109581778430760658995535156848322761313349069975846268463190165091841056072662332972802898343962149 391792163342722795361361737172030815783044295768530557396564291136624618861402610533822836882258957511246301438880075099596406405368490497356462461503694338146888231742133513695532761746327628476604199602687716669387346904573914342812411894915259392163236904275265720956706201755597269334135555318218001453537565585902275596205033028207410732075713363968450048658330952848031373951840050158097628486024161628285131676924415320104065502036801723413649075127 633933036814376100214689833668264990674780467233341691172354595509263795189841462612927212461926195606749173288783514777641855438646380414875955083010013667300631873837836285558893459379131815539051565570201220166360044630051707230062078036203301138642870662238711646913392091342004868259164663038285615228939414381589364004367003903852015309134812388275348158240109383608690369486996898480858941835094137474553594867089507161160138164369774526311993037276 1025725200157098895576051570840295806457824763001872248568918886645888414051244073146750049344185153117995474727663589877238261844014870912232417544513708005447520105579969799254426221125459444015655765172888936835747391534625621572874489931118560530806107566513977367870098293097602137593300218356503616682476979967491639600572036932059426041210525752243798206898440336456721743438836948638956570321118299102838726544013922481264203666406576249725642112403 1659658236971474995790741404508560797132605230235213939741273482155152209241085535759677261806111348724744648016447104654880117282661251327108372627523721672748151979417806084813319680504591259554707330743090157002107436164677328802936567967321861669448978228752689014783490384439607005852464881394789231911416394349081003604939040835911441350345338140519146365138549720065412112925833847119815512156212436577392321411103429642424341830776350776037635149679 2685383437128573891366792975348856603590429993237086188310192368801040623292329608906427311150296501842740122744110694532118379126676122239340790172037429678195672084997775884067745901630050703570363095915979093837854827699302950375811057898440422200255085795266666382653588677537209143445765099751292848593893374316572643205511077767970867391555863892762944572036990056522133856364670795758772082477330735680231047955117352123688545497182927025763277262082 4345041674100048887157534379857417400723035223472300128051465850956192832533415144666104572956407850567484770760557799186998496409337373566449162799561151350943824064415581968881065582134641963125070426659069250839962263863980279178747625865762283869704064024019355397437079061976816149298229981146082080505309768665653646810450118603882308741901202033282090937175539776587545969290504642878587594633543172257623369366220781766112887327959277801800912411761 7030425111228622778524327355206274004313465216709386316361658219757233455825744753572531884106704352410224893504668493719116875536013495805789952971598581029139496149413357852948811483764692666695433522575048344677817091563283229554558683764202706069959149819286021780090667739514025292743995080897374929099203142982226290015961196371853176133457065926045035509212529833109679825655175438637359677110873907937854417321338133889801432825142204827564189673843 11375466785328671665681861735063691405036500440181686444413124070713426288359159898238636457063112202977709664265226292906115371945350869372239115771159732380083320213828939821829877065899334629820503949234117595517779355427263508733306309629964989939663213843305377177527746801490841442042225062043457009604512911647879936826411314975735484875358267959327126446388069609697225794945680081515947271744417080195477786687558915655914320153101482629365102085604 18405891896557294444206189090269965409349965656891072760774782290470659744184904651811168341169816555387934557769894786625232247481364365178029068742758313409222816363242297674778688549664027296515937471809165940195596446990546738287864993394167696009622363662591398957618414541004866734786220142940831938703716054630106226842372511347588661008815333885372161955600599442806905620600855520153306948855290988133332204008897049545715752978243687456929291759447 29781358681885966109888050825333656814386466097072759205187906361184086032544064550049804798232928758365644222035121079531347619426715234550268184513918045789306136577071237496608565615563361926336441421043283535713375802417810247021171303024132685949285577505896776135146161342495708176828445204984288948308228966277986163668783826323324145884173601844699288401988669052504131415546535601669254220599708068328809990696455965201630073131345170086294393845051 48187250578443260554094239915603622223736431753963831965962688651654745776728969201860973139402745313753578779805015866156579866908079599728297253256676359198528952940313535171387254165227389222852378892852449475908972249408356985309036296418300381958907941168488175092764575883500574911614665347925120887011945020908092390511156337670912806892988935730071450357589268495311037036147391121822561169454999056462142194705353014747345826109588857543223685604498 77968609260329226663982290740937279038122897851036591171150595012838831809273033751910777937635674072119223001840136945687927486334794834278565437770594404987835089517384772667995819780790751149188820313895733011622348051826167232330207599442433067908193518674384951227910737225996283088443110552909409835320173987186078554179940163994236952777162537574770738759577937547815168451693926723491815390054707124790952185401808979948975899240934027629518079449549 126155859838772487218076530656540901261859329605000423137113283664493577586002002953771751077038419385872801781645152811844507353242874434006862691027270764186364042457698307839383073946018140372041199206748182487531320301234524217639243895860733449867101459842873126320675313109496858000057775900834530722332119008094170944691096501665149759670151473304842189117167206043126205487841317845314376559509706181253094380107161994696321725350522885172741765054047 204124469099101713882058821397478180299982227456037014308263878677332409395275036705682529014674093457992024783485289757532434839577669268285428128797865169174199131975083080507378893726808891521230019520643915499153668353060691449969451495303166517775294978517258077548586050335493141088500886453743940557652292995280249498871036665659386712447314010879612927876745143590941373939535244568806191949564413306044046565508970974645297624591456912802259844503596 330280328937874201100135352054019081561841557061037437445377162341825986981277039659454280091712512843864826565130442569376942192820543702292290819825135933360563174432781388346761967672827031893271218727392097986684988654295215667608695391163899967642396438360131203869261363444989999088558662354578471279984412003374420443562133167324536472117465484184455116993912349634067579427376562414120568509074119487297140945616132969341619349941979797975001609557643 534404798036975914982194173451497261861823784517074451753641041019158396376552076365136809106386606301856851348615732326909377032398212970577718948623001102534762306407864468854140861399635923414501238248036013485838657007355907117578146886467066485417691416877389281417847413780483140177059548808322411837636704998654669942433169832983923184564779495064068044870657493225008953366911806982926760458638532793341187511125103943986916974533436710777261454061239 864685126974850116082329525505516343423665341578111889199018203360984383357829116024591089198099119145721677913746174896286319225218756672870009768448137035895325480840645857200902829072462955307772456975428111472523645661651122785186842277630966453060087855237520485287108777225473139265618211162900883117621117002029090385995303000308459656682244979248523161864569842859076532794288369397047328967712652280638328456741236913328536324475416508752263063618882 1399089925011826031064523698957013605285489126095186340952659244380142779734381192389727898304485725447578529262361907223195696257616969643447728717071138138430087787248510326055043690472098878722273695223464124958362302669007029902764989164098032938477779272114909766704956191005956279442677759971223294955257822000683760328428472833292382841247024474312591206735227336084085486161200176379974089426351185073979515967866340857315453299008853219529524517680121 2263775051986676147146853224462529948709154467673298230151677447741127163092210308414318987502584844593300207176108082119482015482835726316317738485519275174325413268089156183255946519544561834030046152198892236430885948330658152687951831441728999391537867127352430251992064968231429418708295971134124178072878939002712850714423775833600842497929269453561114368599797178943162018955488545777021418394063837354617844424607577770643989623484269728281787581299003 3662864976998502178211376923419543553994643593768484571104336692121269942826591500804046885807070570040878736438469989342677711740452695959765467202590413312755501055337666509310990210016660712752319847422356361389248250999665182590716820605827032330015646399467340018697021159237385698150973731105347473028136761003396611042852248666893225339176293927873705575335024515027247505116688722156995507820415022428597360392473918627959442922493122947811312098979124 5926640028985178325358230147882073502703798061441782801256014139862397105918801809218365873309655414634178943614578071462159727223288422276083205688109688487080914323426822692566936729561222546782365999621248597820134199330323335278668652047556031721553513526819770270689086127468815116859269702239471651101015700006109461757276024500494067837105563381434819943934821693970409524072177267934016926214478859783215204817081496398603432545977392676093099680278127 9589505005983680503569607071301617056698441655210267372360350831983667048745393310022412759116725984675057680053048060804837438963741118235848672890700101799836415378764489201877926939577883259534685847043604959209382450329988517869385472653383064051569159926287110289386107286706200815010243433344819124129152461009506072800128273167387293176281857309308525519269846208997657029188865990091012434034893882211812565209555415026562875468470515623904411779257251 15516145034968858828927837219183690559402239716652050173616364971846064154664195119240778632426381399309236623667626132266997166187029540511931878578809790286917329702191311894444863669139105806317051846664853557029516649660311853148054124700939095773122673453106880560075193414175015931869513135584290775230168161015615534557404297667881361013387420690743345463204667902968066553261043258025029360249372741995027770026636911425166308014447908299997511459535378 25105650040952539332497444290485307616100681371862317545976715803829731203409588429263191391543107383984294303720674193071834605150770658747780551469509892086753745080955801096322790608716989065851737693708458516238899099990300371017439597354322159824691833379393990849461300700881216746879756568929109899359320622025121607357532570835268654189669278000051870982474514111965723582449909248116041794284266624206840335236192326451729183482918423923901923238792629 40621795075921398161425281509668998175502921088514367719593080775675795358073783548503970023969488783293530927388300325338831771337800199259712430048319682373671074783147112990767654277856094872168789540373312073268415749650612224165493722055261255597814506832500871409536494115056232678749269704513400674589488783040737141914936868503150015203056698690795216445679182014933790135710952506141071154533639366201868105262829237876895491497366332223899434698328007 65727445116873937493922725800154305791603602460376685265569796579505526561483371977767161415512596167277825231108974518410666376488570858007492981517829574460424819864102914087090444886573083938020527234081770589507314849640912595182933319409583415422506340211894862258997794815937449425629026273442510573948809405065858749272469439338418669392725976690847087428153696126899513718160861754257112948817905990408708440499021564328624674980284756147801357937120636 106349240192795335655348007309823303967106523548891052985162877355181321919557155526271131439482084950571356158497274843749498147826371057267205411566149256834095894647250027077858099164429178810189316774455082662775730599291524819348427041464844671020320847044395733668534288930993682104378295977955911248538298188106595891187406307841568684595782675381642303873832878141833303853871814260398184103351545356610576545761850802205520166477651088371700792635448643 172076685309669273149270733109977609758710126009267738250732673934686848481040527504038292854994681117849181389606249362160164524314941915274698393083978831294520714511352941164948544051002262748209844008536853252283045448932437414531360360874428086442827187256290595927532083746931131530007322251398421822487107593172454640459875747179987353988508652072489391301986574268732817572032676014655297052169451347019284986260872366534144841457935844519502150572569279 278425925502464608804618740419800913725816649558158791235895551289868170400597683030309424294476766068420537548103524205909662672141312972541903804650128088128616609158602968242806643215431441558399160782991935915058776048223962233879787402339272757463148034300686329596066372677924813634385618229354333071025405781279050531647282055021556038584291327454131695175819452410566121425904490275053481155520996703629861532022723168739665007935586932891202943208017922 450502610812133881953889473529778523484526775567426529486628225224555018881638210534347717149471447186269718937709773568069827196456254887816602197734106919423137323669955909407755187266433704306609004791528789167341821497156399648411147763213700843905975221556976925523598456424855945164392940480752754893512513374451505172107157802201543392572799979526621086477806026679298938997937166289708778207690448050649146518283595535273809849393522777410705093780587201 728928536314598490758508213949579437210343425125585320722523776514423189282235893564657141443948213254690256485813297773979489868597567860358506002384235007551753932828558877650561830481865145865008165574520725082400597545380361882290935165552973601369123255857663255119664829102780758798778558710107087964537919155730555703754439857223099431157091306980752781653625479089865060423841656564762259363211444754279008050306318704013474857329109710301908036988605123 1179431147126732372712397687479357960694870200693011850209152001738978208163874104099004858593419660440959975423523071342049317065053822748175108200118341926974891256498514787058317017748298850171617170366049514249742419042536761530702082928766674445275098477414640180643263285527636703963171499190859842858050432530182060875861597659424642823729891286507373868131431505769163999421778822854471037570901892804928154568589914239287284706722632487712613130769192324 1908359683441330863470905901428937397905213625818597170931675778253401397446109997663662000037367873695650231909336369116028806933651390608533614202502576934526645189327073664708878848230163996036625335940570239332143016587917123412993018094319648046644221733272303435762928114630417462761950057900966930822588351685912616579616037516647742254886982593488126649785056984859029059845620479419233296934113337559207162618896232943300759564051742198014521167757797447 3087790830568063236183303588908295358600083826511609021140827779992379605609984101762666858630787534136610207332859440458078123998705213356708722402620918861501536445825588451767195865978462846208242506306619753581885435630453884943695101023086322491919320210686943616406191400158054166725121557091826773680638784216094677455477635176072385078616873879995500517916488490628193059267399302273704334505015230364135317187486147182588044270774374685727134298526989771 4996150514009394099654209490337232756505297452330206192072503558245781003056094099426328858668155407832260439242195809574106930932356603965242336605123495796028181635152662116476074714208626842244867842247189992914028452218371008356688119117405970538563541943959247052169119514788471629487071614992793704503227135902007294035093672692720127333503856473483627167701545475487222119113019781692937631439128567923342479806382380125888803834826116883741655466284787218 8083941344577457335837513079245528115105381278841815213213331338238160608666078201188995717298942941968870646575055250032185054931061817321951059007744414657529718080978250568243270580187089688453110348553809746495913887848824893300383220140492293030482862154646190668575310914946525796212193172084620478183865920118101971490571307868792512412120730353479127685618033966115415178380419083966641965944143798287477796993868527308476848105600491569468789764811776989 13080091858586851435491722569582760871610678731172021405285834896483941611722172300615324575967098349801131085817251059606291985863418421287193395612867910453557899716130912684719345294395716530697978190800999739409942340067195901657071339257898263569046404098605437720744430429734997425699264787077414182687093056020109265525664980561512639745624586826962754853319579441602637297493438865659579597383272366210820276800250907434365651940426608453210445231096564207 21164033203164308771329235648828288986716060010013836618499166234722102220388250501804320293266041291770001732392306309638477040794480238609144454620612325111087617797109163252962615874582806219151088539354809485905856227916020794957454559398390556599529266253251628389319741344681523221911457959162034660870958976138211237016236288430305152157745317180441882538937613407718052475873857949626221563327416164498298073794119434742842500046027100022679234995908341196 34244125061751160206820958218411049858326738741185858023785001131206043832110422802419644869233139641571132818209557369244769026657898659896337850233480235564645517513240075937681961168978522749849066730155809225315798567983216696614525898656288820168575670351857066110064171774416520647610722746239448843558052032158320502541901268991817791903369904007404637392257192849320689773367296815285801160710688530709118350594370342177208151986453708475889680227004905403 55408158264915468978150193867239338845042798751199694642284167365928146052498673304223965162499180933341134550601863678883246067452378898505482304854092560675733135310349239190644577043561328969000155269510618711221654795899237491571980458054679376768104936605108694499383913119098043869522180705401483504429011008296531739558137557422122944061115221187846519931194806257038742249241154764912022724038104695207416424388489776920050652032480808498568915222913246599 89652283326666629184971152085650388703369537492385552666069168497134189884609096106643610031732320574912267368811421048128015094110277558401820155087572796240378652823589315128326538212539851718849221999666427936537453363882454188186506356710968196936680606956965760609448084893514564517132903451640932347987063040454852242100038826413940735964485125195251157323451999106359432022608451580197823884748793225916534774982860119097258804018934516974458595449918152002 145060441591582098163121345952889727548412336243585247308353335863062335937107769410867575194231501508253401919413284727011261161562656456907302459941665356916111788133938554318971115256101180687849377269177046647759108159781691679758486814765647573704785543562074455108831998012612608386655084157042415852416074048751383981658176383836063680025600346383097677254646805363398174271849606345109846608786897921123951199371349896017309456051415325473027510672831398601 234712724918248727348092498038540116251781873735970799974422504360196525821716865517511185225963822083165669288224705775139276255672934015309122615029238153156490440957527869447297653468641032406698599268843474584296561523664145867944993171476615770641466150519040215718280082906127172903787987608683348200403137089206236223758215210250004415990085471578348834578098804469757606294458057925307670493535691147040485974354210015114568260070349842447486106122749550603 379773166509830825511213843991429843800194209979556047282775840223258861758824634928378760420195323591419071207637990502150537417235590472216425074970903510072602229091466423766268768724742213094547976538020521232055669683445837547703479986242263344346251694081114670827112080918739781290443071765725764052819211137957620205416391594086068096015685817961446511832745609833155780566307664270417517102322589068164437173725559911131877716121765167920513616795580949204 614485891428079552859306342029969960051976083715526847257198344583455387580541500445889945646159145674584740495862696277289813672908524487525547690000141663229092670048994293213566422193383245501246575806863995816352231207109983415648473157718879114987717844600154886545392163824866954194231059374409112253222348227163856429174606804336072512005771289539795346410844414302913386860765722195725187595858280215204923148079769926246445976192115010367999722918330499807 994259057937910378370520186021399803852170293695082894539974184806714249339366135374268706066354469266003811703500686779440351090144114959741972764971045173301694899140460716979835190918125458595794552344884517048407900890555820963351953143961142459333969538681269557372504244743606735484674131140134876306041559365121476634590998398422140608021457107501241858243590024136069167427073386466142704698180869283369360321805329837378323692313880178288513339713911449011 1608744949365989931229826528051369763904146377410609741797172529390169636919907635820158651712513614940588552199363383056730164763052639447267520454971186836530787569189455010193401613111508704097041128151748512864760132097665804379000426301680021574321687383281424443917896408568473689678905190514543988559263907592285333063765605202758213120027228397041037204654434438438982554287839108661867892294039149498574283469885099763624769668505995188656513062632241948818 2603004007303900309600346714072769567756316671105692636337146714196883886259273771194427357778868084206592363902864069836170515853196754407009493219942232009832482468329915727173236804029634162692835680496633029913168032988221625342352379445641164033655656921962694001290400653312080425163579321654678864865305466957406809698356603601180353728048685504542279062898024462575051721714912495128010596992220018781943643791690429601003093360819875366945026402346153397829 4211748956669890240830173242124139331660463048516302378134319243587053523179181407014586009491381699147180916102227452892900680616249393854277013674913418846363270037519370737366638417141142866789876808648381542777928165085887429721352805747321185607977344305244118445208297061880554114842484512169222853424569374549692142762122208803938566848075913901583316267552458901014034276002751603789878489286259168280517927261575529364627863029325870555601539464978395346647 6814752963973790550430519956196908899416779719621995014471465957783937409438455178209013367270249783353773280005091522729071196469446148261286506894855650856195752505849286464539875221170777029482712489145014572691096198074109055063705185192962349641633001227206812446498697715192634540006063833823901718289874841507098952460478812405118920576124599406125595330450483363589085997717664098917889086278479187062461571053265958965630956390145745922546565867324548744476 11026501920643680791260693198321048231077242768138297392605785201370990932617636585223599376761631482500954196107318975621971877085695542115563520569769069702559022543368657201906513638311919896272589297793396115469024363159996484785057990940283535249610345532450930891706994777073188654848548345993124571714444216056791095222601021209057487424200513307708911598002942264603120273720415702707767575564738355342979498314841488330258819419471616478148105332302944091123 17841254884617471341691213154517957130494022487760292407077251159154928342056091763432612744031881265854727476112410498351043073555141690376850027464624720558754775049217943666446388859482696925755301786938410688160120561234105539848763176133245884891243346759657743338205692492265823194854612179817026290004319057563890047683079833614176408000325112713834506928453425628192206271438079801625656661843217542405441069368107447295889775809617362400694671199627492835599 28867756805261152132951906352839005361571265255898589799683036360525919274673728348656212120793512748355681672219729473973014950640837232492413548034393790261313797592586600868352902497794616822027891084731806803629144924394102024633821167073529420140853692292108674229912687269339011849703160525810150861718763273620681142905680854823233895424525626021543418526456367892795326545158495504333424237407955897748420567682948935626148595229088978878842776531930436926722 46709011689878623474643119507356962492065287743658882206760287519680847616729820112088824864825394014210409148332139972324058024195978922869263575499018510820068572641804544534799291357277313747783192871670217491789265485628207564482584343206775305032097039051766417568118379761604835044557772705627177151723082331184571190588760688437410303424850738735377925454909793520987532816596575305959080899251173440153861637051056382922038371038706341279537447731557929762321 75576768495139775607595025860195967853636552999557472006443323880206766891403548460745036985618906762566090820551869446297072974836816155361677123533412301081382370234391145403152193855071930569811083956402024295418410410022309589116405510280304725172950731343875091798031067030943846894260933231437328013441845604805252333494441543260644198849376364756921343981366161413782859361755070810292505136659129337902282204734005318548186966267795320158380224263488366689043 122285780185018399082238145367552930345701840743216354213203611399887614508133368572833861850444300776776499968884009418621130999032795078230940699032430811901450942876195689937951485212349244317594276828072241787207675895650517153598989853487080030205047770395641509366149446792548681938818705937064505165164927935989823524083202231698054502274227103492299269436275954934770392178351646116251586035910302778056143841785061701470225337306501661437917671995046296451364 197862548680158174689833171227748898199338393742773826219646935280094381399536917033578898836063207539342590789435878864918203973869611233592617822565843112982833313110586835341103679067421174887405360784474266082626086305672826742715395363767384755377998501739516601164180513823492528833079639168501833178606773540795075857577643774958698701123603468249220613417642116348553251540106716926544091172569432115958426046519067020018412303574296981596297896258534663140407 320148328865176573772071316595301828545040234485990180432850546679981995907670285606412760686507508316119090758319888283539334972902406311823558521598273924884284255986782525279055164279770419204999637612546507869833762201323343896314385217254464785583046272135158110530329960616041210771898345105566338343771701476784899381660846006656753203397830571741519882853918071283323643718458363042795677208479734894014569888304128721488637640880798643034215568253580959591771 518010877545334748461904487823050726744378628228764006652497481960076377307207202639991659522570715855461681547755767148457538946772017545416176344164117037867117569097369360620158843347191594092404998397020773952459848506996170639029780581021849540961044773874674711694510474439533739604977984274068171522378475017579975239238489781615451904521434039990740496271560187631876895258565079969339768381049167009972995934823195741507049944455095624630513464512115622732178 838159206410511322233975804418352555289418862714754187085348028640058373214877488246404420209078224171580772306075655431996873919674423857239734865762390962751401825084151885899214007626962013297404636009567281822293610708319514535344165798276314326544091046009832822224840435055574950376876329379634509866150176494364874620899335788272205107919264611732260379125478258915200538977023443012135445589528901903987565823127324462995687585335894267664729032765696582323949 1356170083955846070695880292241403282033797490943518193737845510600134750522084690886396079731648940027042453853831422580454412866446441402655911209926508000618519394181521246519372850974153607389809634406588055774753459215315685174373946379298163867505135819884507533919350909495108689981854313653702681388528651511944849860137825569887657012440698651723000875397038446547077434235588522981475213970578068913960561757950520204502737529790989892295242497277812205056127 2194329290366357392929856096659755837323216353658272380823193539240193123736962179132800499940727164198623226159907078012451286786120865259895646075688898963369921219265673132418586858601115620687214270416155337597047069923635199709718112177574478194049226865894340356144191344550683640358730643033337191254678828006309724481037161358159862120359963263455261254522516705462277973212611965993610659560106970817948127581077844667498425115126884159959971530043508787380076 3550499374322203463625736388901159119357013844601790574561039049840327874259046870019196579672376104225665680013738500592905699652567306662551557285615406963988440613447194378937959709575269228077023904822743393371800529138950884884092058556872642061554362685778847890063542254045792330340584956687039872643207479518254574341174986928047519132800661915178262129919555152009355407448200488975085873530685039731908689339028364872001162644917874052255214027321320992436203 5744828664688560856555592485560914956680230198260062955384232589080520997996009049151997079613103268424288906173645578605356986438688171922447203361304305927358361832712867511356546568176384848764238175238898730968847599062586084593810170734447120255603589551673188246207733598596475970699315599720377063897886307524564298822212148286207381253160625178633523384442071857471633380660812454968696533090792010549856816920106209539499587760044758212215185557364829779816279 9295328039010764320181328874462074076037244042861853529945271638920848872255055919171193659285479372649954586187384079198262686091255478584998760646919712891346802446160061890294506277751654076841262080061642124340648128201536969477902229291319762317157952237452036136271275852642268301039900556407416936541093787042818873163387135214254900385961287093811785514361627009480988788109012943943782406621477050281765506259134574411500750404962632264470399584686150772252482 15040156703699325176736921360022989032717474241121916485329504228001369870251064968323190738898582641074243492361029657803619672529943650507445964008224018818705164278872929401651052845928038925605500255300540855309495727264123054071712400025766882572761541789125224382479009451238744271739216156127794000438980094567383171985599283500462281639121912272445308898803698866952622168769825398912478939712269060831622323179240783951000338165007390476685585142050980552068761 24335484742710089496918250234485063108754718283983770015274775866922218742506120887494384398184062013724198078548413737001882358621199129092444724655143731710051966725032991291945559123679693002446762335362182979650143855465660023549614629317086644889919494026577260518750285303881012572779116712535210936980073881610202045148986418714717182025083199366257094413165325876433610956878838342856261346333746111113387829438375358362501088569970022741155984726737131324321243 39375641446409414673655171594508052141472192525105686500604280094923588612757185855817575137082644654798441570909443394805502031151142779599890688663367750528757131003905920693596611969607731928052262590662723834959639582729783077621327029342853527462681035815702484901229294755119756844518332868663004937419053976177585217134585702215179463664205111638702403311969024743386233125648663741768740286046015171945010152617616142313501426734977413217841569868788111876390004 63711126189119504170573421828993115250226910809089456515879055961845807355263306743311959535266706668522639649457857131807384389772341908692335413318511482238809097728938911985542171093287424930499024926024906814609783438195443101170941658659940172352600529842279745419979580059000769417297449581198215874399127857787787262283572120929896645689288311004959497725134350619819844082527502084625001632379761283058397982055991500676002515304947435958997554595525243200711247 103086767635528918844228593423501167391699103334195143016483336056769395968020492599129534672349351323321081220367300526612886420923484688292226101981879232767566228732844832679138783062895156858551287516687630649569423020925226178792268688002793699815281565657982230321208874814120526261815782449861220811818181833965372479418157823145076109353493422643661901037103375363206077208176165826393741918425776455003408134673607642989503942039924849176839124464313355077101251 166797893824648423014802015252494282641926014143284599532362392018615203323283799342441494207616057991843720869825157658420270810695826596984561515300390715006375326461783744664680954156182581789050312442712537464179206459120669279963210346662733872167882095500261975741188454873121295679113232031059436686217309691753159741701729944074972755042781733648621398762237725983025921290703667911018743550805537738061806116729599143665506457344872285135836679059838598277812498 269884661460177341859030608675995450033625117477479742548845728075384599291304291941571028879965409315164802090192458185033157231619311285276787617282269947773941555194628577343819737219077738647601599959400168113748629480045895458755479034665527571983163661158244206062397329687241821940929014480920657498035491525718532221119887767220048864396275156292283299799341101346231998498879833737412485469231314193065214251403206786655010399384797134312675803524151953354913749 436682555284825764873832623928489732675551131620764342081208120093999802614588091284012523087581467307008522960017615843453428042315137882261349132582660662780316881656412322008500691375260320436651912402112705577927835939166564738718689381328261444151045756658506181803585784560363117620042246511980094184252801217471691962821617711295021619439056889940904698561578827329257919789583501648431229020036851931127020368132805930320516856729669419448512482583990551632726247 706567216745003106732863232604485182709176249098244084630053848169384401905892383225583551967546876622173325050210074028486585273934449167538136749864930610554258436851040899352320428594338059084253512361512873691676465419212460197474168415993789016134209417816750387865983114247604939560971260992900751682288292743190224183941505478515070483835332046233187998360919928675489918288463335385843714489268166124192234619536012716975527256114466553761188286108142504987639996 1143249772029828871606695856532974915384727380719008426711261968263384204520480474509596075055128343929181848010227689871940013316249587049799485882447591273334575318507453221360821119969598379520905424763625579269604301358379024936192857797322050460285255174475256569669568898807968057181013507504880845866541093960661916146763123189810092103274388936174092696922498756004747838078046837034274943509305018055319254987668818647296044112844135973209700768692133056620366243 1849816988774831978339559089137460098093903629817252511341315816432768606426372857735179627022675220551355173060437763900426598590184036217337622632312521883888833755358494120713141548563936438605158937125138452961280766777591485133667026213315839476419464592292006957535552013055572996741984768497781597548829386703852140330704628668325162587109720982407280695283418684680237756366510172420118657998573184179511489607204831364271571368958602526970889054800275561608006239 2993066760804660849946254945670435013478631010536260938052577784696152810946853332244775702077803564480537021070665453772366611906433623267137108514760113157223409073865947342073962668533534818126064361888764032230885068135970510069859884010637889936704719766767263527205120911863541053922998276002662443415370480664514056477467751858135254690384109918581373392205917440684985594444557009454393601507878202234830744594873650011567615481802738500180589823492408618228372482 4842883749579492828285814034807895111572534640353513449393893601128921417373226189979955329100478785031892194131103217672793210496617659484474731147072635041112242829224441462787104217097471256731223299013902485192165834913561995203526910223953729413124184359059270484740672924919114050664983044500444040964199867368366196808172380526460417277493830900988654087489336125365223350811067181874512259506451386414342234202078481375839186850761341027151478878292684179836378721 7835950510384153678232068980478330125051165650889774387446471385825074228320079522224731031178282349512429215201768671445159822403051282751611839661832748198335651903090388804861066885631006074857287660902666517423050903049532505273386794234591619349828904125826534011945793836782655104587981320503106484379570348032880253285640132384595671967877940819570027479695253566050208945255624191328905861014329588649172978796952131387406802332564079527332068701785092798064751203 12678834259963646506517883015286225236623700291243287836840364986953995645693305712204686360278761134544321409332871889117953032899668942236086570808905383239447894732314830267648171102728477331588510959916569002615216737963094500476913704458545348762953088484885804496686466761701769155252964365003550525343770215401246450093812512911056089245371771720558681567184589691415432296066691373203418120520780975063515212999030612763245989183325420554483547580077776977901129924 20514784770347800184749951995764555361674865942133062224286836372779069874013385234429417391457043484056750624534640560563112855302720224987698410470738131437783546635405219072509237988359483406445798620819235520038267641012627005750300498693136968112781992610712338508632260598484424259840945685506657009723340563434126703379452645295651761213249712540128709046879843257465641241322315564532323981535110563712688191795982744150652791515889500081815616281862869775965881127 33193619030311446691267835011050780598298566233376350061127201359733065519706690946634103751735804618601072033867512449681065888202389167223784981279643514677231441367720049340157409091087960738034309580735804522653484378975721506227214203151682316875735081095598143005318727360186193415093910050510207535067110778835373153473265158206707850458621484260687390614064432948881073537389006937735742102055891538776203404795013356913898780699214920636299163861940646753867011051 53708403800659246876017787006815335959973432175509412285414037732512135393720076181063521143192848102657822658402153010244178743505109392211483391750381646115014988003125268412666647079447444144480108201555040042691752019988348511977514701844819284988517073706310481513950987958670617674934855736016864544790451342269499856852717803502359611671871196800816099660944276206346714778711322502268066083591002102488891596590996101064551572215104420718114780143803516529832892178 86902022830970693567285622017866116558271998408885762346541239092245200913426767127697624894928652721258894692269665459925244631707498559435268373030025160792246429370845317752824056170535404882514417782290844565345236398964070018204728904996501601864252154801908624519269715318856811090028765786527072079857562121104873010325982961709067462130492681061503490275008709155227788316100329440003808185646893641265095001386009457978450352914319341354413944005744163283699903229 140610426631629940443303409024681452518245430584395174631955276824757336307146843308761146038121500823916717350671818470169423375212607951646751764780406806907261417373970586165490703249982849026994525983845884608036988418952418530182243606841320886852769228508219106033220703277527428764963621522543936624648013463374372867178700765211427073802363877862319589935952985361574503094811651942271874269237895743753986597977005559043001925129423762072528724149547679813532795407 227512449462600634010589031042547569076517428993280936978496515917002537220573610436458770933050153545175612042941483930094668006920106511082020137810431967699507846744815903918314759420518253909508943766136729173382224817916488548386972511837822488717021383310127730552490418596384239854992387309071008704505575584479245877504683726920494535932856558923823080210961694516802291410911981382275682454884789385019081599363015017021452278043743103426942668155291843097232698636 368122876094230574453892440067229021594762859577676111610451792741759873527720453745219916971171654369092329393613302400264091382132714462728771902590838774606769264118786490083805462670501102936503469749982613781419213236868907078569216118679143375569790611818346836585711121873911668619956008831614945329153589047853618744683384492131921609735220436786142670146914679878376794505723633324547556724122685128773068197340020576064454203173166865499471392304839522910765494043 595635325556831208464481471109776590671280288570957048588948308658762410748294064181678687904221807914267941436554786330358759389052820973810792040401270742306277110863602394002120222091019356846012413516119342954801438054785395626956188630516965864286811995128474567138201540470295908474948396140685954033659164632332864622188068219052416145668076995709965750357876374395179085916635614706823239179007474513792149796703035593085906481216909968926414060460131366007998192679 963758201651061782918373911177005612266043148148633160199400101400522284276014517926898604875393462283360270830168088730622850771185535436539563942992109516913046374982388884085925684761520459782515883266101956736220651291654302705525404749196109239856602606946821403723912662344207577094904404972300899362812753680186483366871452711184337755403297432496108420504791054273555880422359248031370795903130159642565217994043056169150360684390076834425885452764970888918763686722 1559393527207892991382855382286782202937323436719590208788348410059284695024308582108577292779615270197628212266722875060981610160238356410350355983393380259219323485845991278088045906852539816628528296782221299691022089346439698332481593379713075104143414602075295970862114202814503485569852801112986853396471918312519347989059520930236753901071374428206074170862667428668734966338994862738194035082137634156357367790746091762236267165606986803352299513225102254926761879401 2523151728858954774301229293463787815203366584868223368987748511459806979300323100035475897655008732480988483096890963791604460931423891846889919926385489776132369860828380162173971591614060276411044180048323256427242740638094001038006998128909184344000017209022117374586026865158711062664757206085287752759284671992705831355930973641421091656474671860702182591367458482942290846761354110769564830985267793798922585784789147931386627849997063637778184965990073143845525566123 4082545256066847765684084675750570018140690021587813577776096921519091674324631682144053190434624002678616695363613838852586071091662248257240275909778870035351693346674371440262017498466600093039572476830544556118264829984533699370488591508622259448143431811097413345448141067973214548234610007198274606155756590305225179344990494571657845557546046288908256762230125911611025813100348973507758866067405427955279953575535239693622895015604050441130484479215175398772287445524 6605696984925802539985313969214357833344056606456036946763845432978898653624954782179529088089632735159605178460504802644190532023086140104130195836164359811484063207502751602435989090080660369450616656878867812545507570622627700408495589637531443792143449020119530720034167933131925610899367213283562358915041262297931010700921468213078937214020718149610439353597584394553316659861703084277323697052673221754202539360324387625009522865601114078908669445205248542617813011647 10688242240992650305669398644964927851484746628043850524539942354497990327949586464323582278524256737838221873824118641496776603114748388361370471745943229846835756554177123042698006588547260462490189133709412368663772400607161399778984181146153703240286880831216944065482309001105140159133977220481836965070797852603156190045911962784736782771566764438518696115827710306164342472962052057785082563120078649709482492935859627318632417881205164520039153924420423941390100457171 17293939225918452845654712614179285684828803234499887471303787787476888981574541246503111366613889472997827052284623444140967135137834528465500667582107589658319819761679874645133995678627920831940805790588280181209279971229789100187479770783685147032430329851336474785516476934237065770033344433765399323985839114901087200746833430997815719985587482588129135469425294700717659132823755142062406260172751871463685032296184014943641940746806278598947823369625672484007913468818 27982181466911103151324111259144213536313549862543737995843730141974879309524127710826693645138146210836048926108742085637743738252582916826871139328050819505155576315856997687832002267175181294430994924297692549873052371836950499966463951929838850272717210682553418850998785935342205929167321654247236289056636967504243390792745393782552502757154247026647831585253005006882001605785807199847488823292830521173167525232043642262274358628011443118986977294046096425398013925989 45276120692829555996978823873323499221142353097043625467147517929451768291098668957329805011752035683833875978393365529778710873390417445292371806910158409163475396077536872332965997945803102126371800714885972731082332343066739600153943722713523997305147540533889893636515262869579271699200666088012635613042476082405330591539578824780368222742741729614776967054678299707599660738609562341909895083465582392636852557528227657205916299374817721717934800663671768909405927394807 73258302159740659148302935132467712757455902959587363462991248071426647600622796668156498656890181894669924904502107615416454611643000362119242946238209228668630972393393870020798000212978283420802795639183665280955384714903690100120407674643362847577864751216443312487514048804921477628367987742259871902099113049909573982332324218562920725499895976641424798639931304714481662344395369541757383906758412913810020082760271299468190658002829164836921777957717865334803941320796 118534422852570215145281759005791211978598256056630988930138766000878415891721465625486303668642217578503800882895473145195165485033417807411614753148367637832106368470930742353763998158781385547174596354069638012037717057970429700274351397356886844883012291750333206124029311674500749327568653830272507515141589132314904573871903043343288948242637706256201765694609604422081323083004931883667278990223995306446872640288498956674106957377646886554856578621389634244209868715603 191792725012310874293584694138258924736054159016218352393130014072305063492344262293642802325532399473173725787397580760611620096676418169530857699386576866500737340864324612374561998371759668967977391993253303292993101772874119800394759072000249692460877042966776518611543360479422226955936641572532379417240702182224478556204227261906209673742533682897626564334540909136562985427400301425424662896982408220256892723048770256142297615380476051391778356579107499579013810036399 310327147864881089438866453144050136714652415072849341323268780073183479384065727919129105994174617051677526670293053905806785581709835976942472452534944504332843709335255354728325996530541054515151988347322941305030818830844549500669110469357136537343889334717109724735572672153922976283505295402804886932382291314539383130076130305249498621985171389153828330029150513558644308510405233309091941887206403526703765363337269212816404572758122937946634935200497133823223678752002 502119872877191963732451147282309061450706574089067693716398794145488542876409990212771908319707016524851252457690634666418405678386254146473330151921521370833581050199579967102887994902300723483129380340576244598023920603718669301063869541357386229804766377683886243347116032633345203239441936975337266349622993496763861686280357567155708295727705072051454894363691422695207293937805534734516604784188811746960658086386039468958702188138598989338413291779604633402237488788401 812447020742073053171317600426359198165358989161917035039667574218672022260475718131901014313881633576528779127983688572225191260096090123415802604456465875166424759534835321831213991432841777998281368687899185903054739434563218801732980010714522767148655712400995968082688704787268179522947232378142153282005284811303244816356487872405206917712876461205283224392841936253851602448210768043608546671395215273664423449723308681775106760896721927285048226980101767225461167540403 1314566893619265016903768747708668259616065563250984728756066368364160565136885708344672922633588650101380031585674323238643596938482344269889132756377987246000005809734415288934101986335142501481410749028475430501078660038281888102796849552071908996953422090084882211429804737420613382762389169353479419631628278308067106502636845439560915213440581533256738118756533358949058896386016302778125151455584027020625081536109348150733808949035320916623461518759706400627698656328804 2127013914361338070075086348135027457781424552412901763795733942582832587397361426476573936947470283677908810713658011810868788198578434393304935360834453121166430569269250610765315977767984279479692117716374616404133399472845106904529829562786431764102077802485878179512493442207881562285336401731621572913633563119370351318993333311966122131153457994462021343149375295202910498834227070821733698126979242294289504985832656832508915709932042843908509745739808167853159823869207 3441580807980603086978855095843695717397490115663886492551800310946993152534247134821246859581058933779288842299332335049512385137060778663194068117212440367166436379003665899699417964103126780961102866744850046905212059511126995007326679114858340761055499892570760390942298179628494945047725571085100992545261841427437457821630178751527037344594039527718759461905908654151969395220243373599858849582563269314914586521942004983242724658967363760531971264499514568480858480198011 5568594722341941157053941443978723175178914668076788256347534253529825739931608561297820796528529217457197653012990346860381173335639213056499003478046893488332866948272916510464733941871111060440794984461224663309345458983972101911856508677644772525157577695056638570454791621836376507333061972816722565458895404546807809140623512063493159475747497522180780805055283949354879894054470444421592547709542511609204091507774661815751640368899406604440481010239322736334018304067218 9010175530322544244032796539822418892576404783740674748899334564476818892465855696119067656109588151236486495312322681909893558472699991719693071595259333855499303327276582410164151905974237841401897851206074710214557518495099096919183187792503113286213077587627398961397089801464871452380787543901823558004157245974245266962253690815020196820341537049899540266961192603506849289274713818021451397292105780924118678029716666798994365027866770364972452274738837304814876784265229 14578770252664485401086737983801142067755319451817463005246868818006644632397464257416888452638117368693684148325313028770274731808339204776192075073306227343832170275549498920628885847845348901842692835667299373523902977479071198831039696470147885811370655282684037531851881423301247959713849516718546123463052650521053076102877202878513356296089034572080321072016476552861729183329184262443043945001648292533322769537491328614746005396766176969412933284978160041148895088332447 23588945782987029645119534523623560960331724235558137754146203382483463524863319953535956108747705519930170643637635710680168290281039196495885146668565561199331473602826081330793037753819586743244590686873374083738460495974170295750222884262650999097583732870311436493248971224766119412094637060620369681467209896495298343065130893693533553116430571621979861338977669156368578472603898080464495342293754073457441447567207995413740370424632947334385385559716997345963771872597676 38167716035651515046206272507424703028087043687375600759393072200490108157260784210952844561385822888623854791962948739450443022089378401272077221741871788543163643878375580251421923601664935645087283522540673457262363473453241494581262580732798884908954388152995474025100852648067367371808486577338915804930262547016351419168008096572046909412519606194060182410994145709230307655933082342907539287295402365990764217104699324028486375821399124303798318844695157387112666960930123 61756661818638544691325807031048263988418767922933738513539275582973571682124104164488800670133528408554025435600584450130611312370417597767962368410437349742495117481201661582214961355484522388331874209414047541000823969427411790331485464995449884006538121023306910518349823872833486783903123637959285486397472443511649762233138990265580462528950177816040043749971814865598886128536980423372034629589156439448205664671907319442226746246032071638183704404412154733076438833527799 99924377854290059737532079538472967016505811610309339272932347783463679839384888375441645231519351297177880227563533189581054334459795999040039590152309138285658761359577241833636884957149458033419157731954720998263187442880653284912748045728248768915492509176302384543450676520900854155711610215298201291327734990528001181401147086837627371941469784010100226160965960574829193784470062766279573916884558805438969881776606643470713122067431195941982023249107312120189105794457922 161681039672928604428857886569521231004924579533243077786471623366437251521508992539930445901652879705731905663164117639711665646830213596808001958562746488028153878840778903415851846312633980421751031941368768539264011412308065075244233510723698652922030630199609295061800500393734340939614733853257486777725207434039650943634286077103207834470419961826140269910937775440428079913007043189651608546473715244887175546448513962912939868313463267580165727653519466853265544627985721 261605417527218664166389966107994198021430391143552417059403971149900931360893880915372091133172231002909785890727650829292719981290009595848041548715055626313812640200356145249488731269783438455170189673323489537527198855188718360156981556451947421837523139375911679605251176914635195095326344068555688069052942424567652125035433163940835206411889745836240496071903736015257273697477105955931182463358274050326145428225120606383652990380894463522147750902626778973454650422443643 423286457200147268595247852677515429026354970676795494845875594516338182882402873455302537034825110708641691553891768469004385628120223192656043507277802114341966519041135048665340577582417418876921221614692258076791210267496783435401215067175646074759553769575520974667051677308369536034941077921813174846778149858607303068669719241044043040882309707662380765982841511455685353610484149145582791009831989295213320974673634569296592858694357731102313478556146245826720195050429364 684891874727365932761637818785509627047785361820347911905279565666239114243296754370674628167997341711551477444619419298297105609410232788504085055992857740655779159241491193914829308852200857332091411288015747614318409122685501795558196623627593496597076908951432654272302854223004731130267421990368862915831092283174955193705152404984878247294199453498621262054745247470942627307961255101513973473190263345539466402898755175680245849075252194624461229458773024800174845472873007 1108178331927513201356885671463025056074140332497143406751155160182577297125699627825977165202822452420193168998511187767301491237530455981160128563270659854997745678282626242580169886434618276209012632902708005691109619390182285230959411690803239571356630678526953628939354531531374267165208499912182037762609242141782258262374871646028921288176509161161002028037586758926627980918445404247096764483022252640752787377572389744976838707769609925726774708014919270626895040523302371 1793070206654879134118523490248534683121925694317491318656434725848816411368996382196651793370819794131744646443130607065598596846940688769664213619263517595653524837524117436494999195286819133541104044190723753305428028512867787026517608314430833067953707587478386283211657385754378998295475921902550900678440334424957213456080024051013799535470708614659623290092332006397570608226406659348610737956212515986292253780471144920657084556844862120351235937473692295427069885996175378 2901248538582392335475409161711559739196066026814634725407589886031393708494696010022628958573642246551937815441641794832900088084471144750824342182534177450651270515806743679075169081721437409750116677093431758996537647903050072257477020005234072639310338266005339912151011917285753265460684421814732938441049576566739471718454895697042720823647217775820625318129918765324198589144852063595707502439234768627045041158043534665633923264614472046078010645488611566053964926519477749 4694318745237271469593932651960094422317991721132126044064024611880210119863692392219280751944462040683682461884772401898498684931411833520488555801797695046304795353330861115570168277008256543291220721284155512301965676415917859283994628319664905707264045853483726195362669303040132263756160343717283839119489910991696685174534919748056520359117926390480248608222250771721769197371258722944318240395447284613337294938514679586291007821459334166429246582962303861481034812515653127 7595567283819663805069341813671654161514057747946760769471614497911603828358388402241909710518104287235620277326414196731398773015882978271312897984331872496956065869137604794645337358729693953041337398377587271298503324318967931541471648324898978346574384119489066107513681220325885529216844765532016777560539487558436156892989815445099241182765144166300873926352169537045967786516110786540025742834682053240382336096558214251924931086073806212507257228450915427534999739035130876 12289886029056935274663274465631748583832049469078886813535639109791813948222080794461190462462566327919302739211186598629897457947294811791801453786129567543260861222468465910215505635737950496332558119661742783600469000734885790825466276644563884053838429972972792302876350523366017792973005109249300616680029398550132842067524735193155761541883070556781122534574420308767736983887369509484343983230129337853719631035072893838215938907533140378936503811413219289016034551550784003 19885453312876599079732616279303402745346107217025647583007253607703417776580469196703100172980670615154923016537600795361296230963177790063114351770461440040216927091606070704860842994467644449373895518039330054898972325053853722366937924969462862400412814092461858410390031743691903322189849874781317394240568886108568998960514550638255002724648214723081996460926589845813704770403480296024369726064811391094101967131631108090140869993606946591443761039864134716551034290585914879 32175339341933534354395890744935151329178156686104534396542892717495231724802549991164290635443236943074225755748787393991193688910472601854915805556591007583477788314074536615076348630205594945706453637701072838499441325788739513192404201614026746454251244065434650713266382267057921115162854984030618010920598284658701841028039285831410764266531285279863118995501010154581441754290849805508713709294940728947821598166704001928356808901140086970380264851277354005567068842136698882 52060792654810133434128507024238554074524263903130181979550146325198649501383019187867390808423907558229148772286388189352489919873650391918030157327052447623694715405680607319937191624673239395080349155740402893398413650842593235559342126583489608854664058157896509123656414010749824437352704858811935405161167170767270839988553836469665766991179500002945115456427600000395146524694330101533083435359752120041923565298335110018497678894747033561824025891141488722118103132722613761 84236131996743667788524397769173705403702420589234716376093039042693881226185569179031681443867144501303374528035175583343683608784122993772945962883643455207172503719755143935013540254878834340786802793441475731897854976631332748751746328197516355308915302223331159836922796277807745552515559842842553416081765455425972681016593122301076531257710785282808234451928610154976588278985179907041797144654692848989745163465039111946854487795887120532204290742418842727685171974859312643 136296924651553801222652904793412259478226684492364898355643185367892530727568588366899072252291052059532523300321563772696173528657773385690976120210695902830867219125435751254950731879552073735867151949181878625296268627473925984311088454781005964163579360381227668960579210288557569989868264701654488821242932626193243521005146958770742298248890285285753349908356210155371734803679510008574880580014444969031668728763374221965352166690634154094028316633560331449803275107581926404 220533056648297469011177302562585964881929105081599614731736224410586411953754157545930753696158196560835897828356739356039857137441896379463922083094339358038039722845190895189964272134430908076653954742623354357194123604105258733062834782978522319472494662604558828797502006566365315542383824544497042237324698081619216202021740081071818829506601070568561584360284820310348323082664689915616677724669137818021413892228413333912206654486521274626232607375979174177488447082441239047 356829981299851270233830207355998224360155789573964513087379409778478942681322745912829825948449248620368421128678303128736030666099669765154898203305035260868906941970626646444915004013982981812521106691805232982490392231579184717373923237759528283636074022985786497758081216854922885532252089246151531058567630707812459723026887039842561127755491355854314934268641030465720057886344199924191558304683582787053082620991787555877558821177155428720260924009539505627291722190023165451 577363037948148739245007509918584189242084894655564127819115634189065354635076903458760579644607445181204318957035042484775887803541566144618820286399374618906946664815817541634879276148413889889175061434428587339684515835684443450436758020738050603108568685590345326555583223421288201074635913790648573295892328789431675925048627120914379957262092426422876518628925850776068380969008889839808236029352720605074496513220200889789765475663676703346493531385518679804780169272464404498 934193019248000009478837717274582413602240684229528640906495043967544297316399649371590405593056693801572740085713345613511918469641235909773718489704409879775853606786444188079794280162396871701696168126233820322174908067263628167810681258497578886744642708576131824313664440276211086606888003036800104354459959497244135648075514160756941085017583782277191452897566881241788438855353089763999794334036303392127579134211988445667324296840832132066754455395058185432071891462487569949 1511556057196148748723845227193166602844325578885092768725610678156609651951476552830350985237664138982777059042748388098287806273182802054392538776103784498682800271602261729714673556310810761590871229560662407661859423902948071618247439279235629489853211394166477150869247663697499287681523916827448677650352288286675811573124141281671321042279676208700067971526492732017856819824361979603808030363389023997202075647432189335457089772504508835413247986780576865236852060734951974447 2445749076444148758202682944467749016446566263114621409632105722124153949267876202201941390830720832784349799128461733711799724742824037964166257265808194378458653878388705917794467836473207633292567397686896227984034331970211699786058120537733208376597854102742608975182912103973710374288411919864248782004812247783919947221199655442428262127297259990977259424424059613259645258679715069367807824697425327389329654781644177781124414069345340967480002442175635050668923952197439544396 3957305133640297506926528171660915619290891841999714178357716400280763601219352755032292376068384971767126858171210121810087531016006840018558796041911978877141454149990967647509141392784018394883438627247558635645893755873159771404305559816968837866451065496909086126052159767671209661969935836691697459655164536070595758794323796724099583169576936199677327395950552345277502078504077048971615855060814351386531730429076367116581503841849849802893250428956211915905776012932391518843 6403054210084446265129211116128664635737458105114335587989822122404917550487228957234233766899105804551476657299671855521887255758830877982725053307720173255600108028379673565303609229257226028176006024934454863629928087843371471190363680354702046243048919599651695101235071871644920036258347756555946241659976783854515706015523452166527845296874196190654586820374611958537147337183792118339423679758239678775861385210720544897705917911195190770373252871131846966574699965129831063239 10360359343724743772055739287789580255028349947114049766347538522685681151706581712266526142967490776318603515470881977331974786774837718001283849349632152132741562178370641212812750622041244423059444652182013499275821843716531242594669240171670884109499985096560781227287231639316129698228283593247643701315141319925111464809847248890627428466451132390331914216325164303814649415687869167311039534819054030162393115639796912014287421753045040573266503300088058882480475978062222582082 16763413553809190037184950403918244890765808052228385354337360645090598702193810669500759909866596580870080172770553832853862042533668595984008902657352325388341670206750314778116359851298470451235450677116468362905749931559902713785032920526372930352548904696212476328522303510961049734486631349803589942975118103779627170825370701057155273763325328580986501036699776262351796752871661285650463214577293708938254500850517456911993339664240231343639756171219905849055175943192053645321 27123772897533933809240689691707825145794157999342435120684899167776279853900392381767286052834087357188683688241435810185836829308506313985292752006984477521083232385120955990929110473339714874294895329298481862181571775276433956379702160698043814462048889792773257555809535150277179432714914943051233644290259423704738635635217949947782702229776460971318415253024940566166446168559530452961502749396347739100647616490314368926280761417285271916906259471307964731535651921254276227403 43887186451343123846425640095626070036559966051570820475022259812866878556094203051268045962700683938058763861011989643039698871842174909969301654664336802909424902591871270769045470324638185325530346006414950225087321706836336670164735081224416744814597794488985733884331838661238229167201546292854823587265377527484365806460588651004937975993101789552304916289724716828518242921431191738611965963973641448038902117340831825838274101081525503260546015642527870580590827864446329872724 71010959348877057655666329787333895182354124050913255595707158980643158409994595433035332015534771295247447549253425453225535701150681223954594406671321280430508134976992226759974580797977900199825241335713432087268893482112770626544437241922460559276646684281758991440141373811515408599916461235906057231555636951189104442095806600952720678222878250523623331542749657394684689089990722191573468713369989187139549733831146194764554862498810775177452275113835835312126479785700606100127 114898145800220181502091969882959965218914090102484076070729418793510036966088798484303377978235455233306211410265415096265234572992856133923896061335658083339933037568863497529020051122616085525355587342128382312356215188949107296709172323146877304091244478770744725324473212472753637767118007528760880818821014478673470248556395251957658654215980040075928247832474374223202932011421913930185434677343630635178451851171978020602828963580336278437998290756363705892717307650146935972851 185909105149097239157758299670293860401268214153397331666436577774153195376083393917338709993770226528553658959518840549490770274143537357878490468006979363770441172545855724288994631920593985725180828677841814399625108671061877923253609565069337863367891163052503716764614586284269046367034468764666938050376651429862574690652201852910379332438858290599551579375224031617887621101412636121758903390713619822318001585003124215367383826079147053615450565870199541204843787435847542072978 300807250949317420659850269553253825620182304255881407737165996567663232342172192401642087972005681761859870369784255645756004847136393491802386529342637447110374210114719221818014683043210071250536416019970196711981323860010985219962781888216215167459135641823248442089087798757022684134152476293427818869197665908536044939208597104868037986654838330675479827207698405841090553112834550051944338068057250457496453436175102235970212789659483332053448856626563247097561095085994478045829 486716356098414659817608569223547686021450518409278739403602574341816427718255586318980797965775908290413529329303096195246775121279930849680876997349616810880815382660574946107009314963804056975717244697812011111606432531072863143216391453285553030827026804875752158853702385041291730501186945058094756919574317338398619629860798957778417319093696621275031406582922437458978174214247186173703241458770870279814455021178226451337596615738630385668899422496762788302404882521842020118807 787523607047732080477458838776801511641632822665160147140768570909479660060427778720622885937781590052273399699087351841002779968416324341483263526692254257991189592775294167925023998007014128226253660717782207823587756391083848363179173341501768198286162446699000600942790183798314414635339421351522575788771983246934664569069396062646455305748534951950511233790620843300068727327081736225647579526828120737310908457353328687307809405398113717722348279123326035399965977607836498164636 1274239963146146740295067408000349197663083341074438886544371145251296087778683365039603683903557498342686929028390448036249555089696255191164140524041871068872004975435869114032033312970818185201970905415594218935194188922156711506395564794787321229113189251574752759796492568839606145136526366409617332708346300585333284198930195020424872624842231573225542640373543280759046901541328922399350820985598991017125363478531555138645406021136744103391247701620088823702370860129678518283443 2061763570193878820772526246777150709304716163739599033685139716160775747839111143760226569841339088394960328727477799877252335058112579532647404050734125326863194568211163281957057310977832313428224566133376426758781945313240559869574738136289089427399351698273753360739282752637920559771865787761139908497118283832267948767999591083071327930590766525176053874164164124059115628868410658624998400512427111754436271935884883825953215426534857821113595980743414859102336837737515016448079 3336003533340025561067593654777499906967799504814037920229510861412071835617794508799830253744896586737647257755868247913501890147808834723811544574775996395735199543647032395989090623948650498630195471548970645693976134235397271375970302931076410656512540949848506120535775321477526704908392154170757241205464584417601232966929786103496200555432998098401596514537707404818162530409739581024349221498026102771561635414416438964598621447671601924504843682363503682804707697867193534731522 5397767103533904381840119901554650616272515668553636953914650577572847583456905652560056823586235675132607586483346047790754225205921414256458948625510121722598394111858195677946147934926482812058420037682347072452758079548637831245545041067365500083911892648122259481275058074115447264680257941931897149702582868249869181734929377186567528486023764623577650388701871528877278159278150239649347622010453214525997907350301322790551836874206459745618439663106918541907044535604708551179601 8733770636873929942907713556332150523240315173367674874144161438984919419074700161359887077331132261870254844239214295704256115353730248980270493200286118118333593655505228073935238558875133310688615509231317718146734213784035102621515343998441910740424433597970765601810833395592973969588650096102654390908047452667470414701859163290063729041456762721979246903239578933695440689687889820673696843508479317297559542764717761755150458321878061670123283345470422224711752233471902085911123 14131537740407834324747833457886801139512830841921311828058812016557767002531605813919943900917367937002862430722560343495010340559651663236729441825796239840931987767363423751881386493801616122747035546913664790599492293332672933867060385065807410824336326246093025083085891469708421234268908038034551540610630320917339596436788540476631257527480527345556897291941450462572718848966040060323044465518932531823557450115019084545702295196084521415741723008577340766618796769076610637090724 22865308377281764267655547014218951662753146015288986702202973455542686421606305975279830978248500198873117274961774639199266455913381912216999935026082357959265581422868651825816625052676749433435651056144982508746226507116708036488575729064249321564760759844063790684896724865301395203857558134137205931518677773584810011138647703766694986568937290067536144195181029396268159538653929880996741309027411849121116992879736846300852753517962583085865006354047762991330549002548512723001847 36996846117689598592403380472105752802265976857210298530261785472100453424137911789199774879165868135875979705684334982694276796473033575453729376851878597800197569190232075577698011546478365556182686603058647299345718800449380970355636114130056732389097086090156815767982616335009816438126466172171757472129308094502149607575436244243326244096417817413093041487122479858840878387619969941319785774546344380944674442994755930846555048714047104501606729362625103757949345771625123360092571 59862154494971362860058927486324704465019122872499285232464758927643139845744217764479605857414368334749096980646109621893543252386415487670729311877960955759463150613100727403514636599155114989618337659203629808091945307566089006844211843194306053953857845934220606452879341200311211641984024306308963403647985868086959618714083948010021230665355107480629185682303509255109037926273899822316527083573756230065791435874492777147407802232009687587471735716672866749279894774173636083094418 96859000612660961452462307958430457267285099729709583762726544399743593269882129553679380736580236470625076686330444604587820048859449063124458688729839553559660719803332802981212648145633480545801024262262277107437664108015469977199847957324362786342954932024377422220861957535321028080110490478480720875777293962589109226289520192253347474761772924893722227169425989113949916313893869763636312858120100611010465878869248707993962850946056792089078465079297970507229240545798759443186989 156721155107632324312521235444755161732304222602208868995191303327386733115626347318158986593994604805374173666976554226481363301245864550795188000607800509319123870416433530384727284744788595535419361921465906915529609415581558984044059800518668840296812777958598028673741298735632239722094514784789684279425279830676068845003604140263368705427128032374351412851729498369058954240167769585952839941693856841076257314743741485141370653178066479676550200795970837256509135319972395526281407 253580155720293285764983543403185618999589322331918452757917847727130326385508476871838367330574841275999250353306998831069183350105313613919646689337640062878784590219766333365939932890422076081220386183728184022967273523597028961243907757843031626639767709982975450894603256270953267802205005263270405155202573793265178071293124332516716180188900957268073640021155487483008870554061639349589152799813957452086723193612990193135333504124123271765628665875268807763738375865771154969468396 410301310827925610077504778847940780731893544934127321753109151054517059501134824189997353924569446081373424020283553057550546651351178164714834689945440572197908460636199863750667217635210671616639748105194090938496882939178587945287967558361700466936580487941573479568344555006585507524299520048060089434627853623941246916296728472780084885616028989642425052872884985852067824794229408935541992741507814293162980508356731678276704157302189751442178866671239645020247511185743550495749803 663881466548218895842488322251126399731482867266045774511026998781647385886643301061835721255144287357372674373590551888619730001456491778634481379283080635076693050855966197116607150525632747697860134288922274961464156462775616906531875316204732093576348197924548930462947811277538775326504525311330494589830427417206424987589852805296801065804929946910498692894040473335076695348291048285131145541321771745249703701969721871412037661426313023207807532546508452783985887051514705465218199 1074182777376144505919993101099067180463376412200173096264136149836164445387778125251833075179713733438746098393874104946170276652807669943349316069228521207274601511492166060867274368160843419314499882394116365899961039401954204851819842874566432560512928685866122410031292366284124282850804045359390584024458281041147671903886581278076885951420958936552923745766925459187144520142520457220673138282829586038412684210326453549688741818728502774649986399217748097804233398237258255960968002 1738064243924363401762481423350193580194859279466218870775163148617811831274421426313668796434858020796118772767464656834790006654264161721983797448511601842351294562348132257983881518686476167012360016683038640861425195864729821758351718190771164654089276883790671340494240177561663058177308570670721078614288708458354096891476434083373687017225888883463422438660965932522221215490811505505804283824151357783662387912296175421100779480154815797857793931764256550588219285288772961426186201 2812247021300507907682474524449260760658235691666391967039299298453976276662199551565501871614571754234864871161338761780960283307071831665333113517740123049625896073840298318851155886847319586326859899077155006761386235266684026610171561065337597214602205569656793750525532543845787341028112616030111662638746989499501768795363015361450572968646847820016346184427891391709365735633331962726477422106980943822075072122622628970789521298883318572507780330982004648392452683526031217387154203 4550311265224871309444955947799454340853094971132610837814462447071788107936620977879170668049429775030983643928803418615750289961335993387316910966251724891977190636188430576835037405533795753339219915760193647622811431131413848368523279256108761868691482453447465091019772721407450399205421186700832741253035697957855865686839449444824259985872736703479768623088857324231586951124143468232281705931132301605737460034918804391890300779038134370365574262746261198980671968814804178813340404 7362558286525379217127430472248715101511330662799002804853761745525764384598820529444672539664001529265848515090142180396710573268407825052650024483991847941603086710028728895686193292381115339666079814837348654384197666398097874978694840321446359083293688023104258841545305265253237740233533802730944403891782687457357634482202464806274832954519584523496114807516748715940952686757475430958759128038113245427812532157541433362679822077921452942873354593728265847373124652340835396200494607 11912869551750250526572386420048169442364425633931613642668224192597552492535441507323843207713431304296832159018945599012460863229743818439966935450243572833580277346217159472521230697914911093005299730597542302007009097529511723347218119577555120951985170476551723932565077986660688139438954989431777145144818385415213500169041914251099092940392321226975883430605606040172539637881618899191040833969245547033549992192460237754570122856959587313238928856474527046353796621155639575013835011 19275427838275629743699816892296884543875756296730616447521985938123316877134262036768515747377432833562680674109087779409171436498151643492616959934235420775183364056245888368207423990296026432671379545434890956391206763927609598325912959899001480035278858499655982774110383251913925879672488792162721549036601072872571134651244379057373925894911905750471998238122354756113492324639094330149799962007358792461362524350001671117249944934881040256112283450202792893726921273496474971214329618 31188297390025880270272203312345053986240181930662230090190210130720869369669703544092358955090864137859512833128033378421632299727895461932583895384478993608763641402463047840728654688210937525676679276032433258398215861457121321673131079476556600987264028976207706706675461238574614019111443781594498694181419458287784634820286293308473018835304226977447881668727960796286031962520713229340840795976604339494912516542461908871820067791840627569351212306677319940080717894652114546228164629 50463725228301510013972020204641938530115938227392846537712196068844186246803965580860874702468296971422193507237121157830803736226047105425200855318714414383947005458708936208936078678506963958348058821467324214789422625384730919999044039375558081022542887475863689480785844490488539898783932573757220243218020531160355769471530672365846944730216132727919879906850315552399524287159807559490640757983963131956275040892463579989070012726721667825463495756880112833807639168148589517442494247 81652022618327390284244223516986992516356120158055076627902406199565055616473669124953233657559161109281706340365154536252436035953942567357784750703193407992710646861171984049664733366717901484024738097499757473187638486841852241672175118852114682009806916452071396187461305729063153917895376355351718937399439989448140404291816965674319963565520359705367761575578276348685556249680520788831481553960567471451187557434925488860890080518562295394814708063557432773888357062800704063670658876 132115747846628900298216243721628931046472058385447923165614602268409241863277634705814108360027458080703899847602275694083239772179989672782985606021907822376657652319880920258600812045224865442372796918967081687977061112226583161671219158227672763032349803927935085668247150219551693816679308929108939180617460520608496173763347638040166908295736492433287641482428591901085080536840328348322122311944530603407462598327389068849960093245283963220278203820437545607695996230949293581113153123 213767770464956290582460467238615923562828178543502999793517008467974297479751303830767342017586619189985606187967430230335675808133932240140770356725101230369368299181052904308265545411942766926397535016466839161164699599068435403343394277079787445042156720380006481855708455948614847734574685284460658118016900510056636578055164603714486871861256852138655403058006868249770636786520849137153603865905098074858650155762314557710850173763846258615092911883994978381584353293749997644783811999 345883518311585190880676710960244854609300236928950922959131610736383539343028938536581450377614077270689506035569705924418915580313921912923755962747009052746025951500933824566866357457167632368770331935433920849141760711295018565014613435307460208074506524307941567523955606168166541551253994213569597298634361030665132751818512241754653780156993344571943044540435460150855717323361177485475726177849628678266112754089703626560810267009130221835371115704432523989280349524699291225896965122 559651288776541481463137178198860778172128415472453922752648619204357836822780242367348792395200696460675112223537136154754591388447854153064526319472110283115394250681986728875131902869110399295167866951900760010306460310363453968358007712387247653116663244687948049379664062116781389285828679498030255416651261540721769329873676845469140652018250196710598447598442328400626354109882026622629330043754726753124762909852018184271660440772976480450464027588427502370864702818449288870680777121 905534807088126672343813889159105632781428652401404845711780229940741376165809180903930242772814773731364618259106842079173506968761776065988282282219119335861420202182920553441998260326278031663938198887334680859448221021658472533372621147694707861191169768995889616903619668284947930837082673711599852715285622571386902081692189087223794432175243541282541492138877788551482071433243204108105056221604355431390875663941721810832470707782106702285835143292860026360145052343148580096577742243 1465186095864668153806951067357966410953557067873858768464428849145099212988589423271279035168015470192039730482643978233928098357209630219052808601691229618976814452864907282317130163195388430959106065839235440869754681332021926501730628860081955514307833013683837666283283730401729320122911353209630108131936884112108671411565865932692935084193493737993139939737320116952108425543125230730734386265359082184515638573793739995104131148555083182736299170881287528731009755161597868967258519364 2370720902952794826150764956517072043734985720275263614176209079085840589154398604175209277940830243923404348741750820313101605325971406285041090883910348954838234655047827835759128423521666462623044264726570121729202902353680399035103250007776663375499002782679727283186903398686677250959994026921229960847222506683495573493258055019916729516368737279275681431876197905503590496976368434838839442486963437615906514237735461805936601856337189885022134314174147555091154807504746449063836261607 3835906998817462979957716023875038454688542788149122382640637928230939802142988027446488313108845714115444079224394798547029703683181036504093899485601578573815049107912735118076258586717054893582150330565805562598957583685702325536833878867858618889806835796363564949470187129088406571082905380130860068979159390795604244904823920952609664600562231017268821371613518022455698922519493665569573828752322519800422152811529201801040733004892273067758433485055435083822164562666344318031094780971 6206627901770257806108480980392110498423528508424385996816847007316780391297386631621697591049675958038848427966145618860131309009152442789134990369511927528653283762960562953835387010238721356205194595292375684328160486039382724571937128875635282265305838579043292232657090527775083822042899407052090029826381897479099818398081975972526394116930968296544502803489715927959289419495862100408413271239285957416328667049264663606977334861229462952780567799229582638913319370171090767094931042578 10042534900587720786066197004267148953112071296573508379457484935547720193440374659068185904158521672154292507190540417407161012692333479293228889855113506102468332870873298071911645596955776249787344925858181246927118069725085050108771007743493901155112674375406857182127277656863490393125804787182950098805541288274704063302905896925136058717493199313813324175103233950414988342015355765977987099991608477216750819860793865408018067866121736020539001284285017722735483932837435085126025823549 16249162802357978592174677984659259451535599804997894376274331942864500584737761290689883495208197630193140935156686036267292321701485922082363880224625433631121616633833861025747032607194497605992539521150556931255278555764467774680708136619129183420418512954450149414784368184638574215168704194235040128631923185753803881700987872897662452834424167610357826978592949878374277761511217866386400371230894434633079486910058529014995402727351198973319569083514600361648803303008525852220956866127 26291697702945699378240874988926408404647671101571402755731816878412220778178135949758069399366719302347433442347226453674453334393819401375592770079738939733589949504707159097658678204150273855779884447008738178182396625489552824789479144362623084575531187329857006596911645841502064608294508981417990227437464474028507945003893769822798511551917366924171151153696183828789266103526573632364387471222502911849830306770852394423013470593472934993858570367799618084384287235845960937346982689676 42540860505303677970415552973585667856183270906569297132006148821276721362915897240447952894574916932540574377503912489941745656095305323457956650304364373364711566138541020123405710811344771461772423968159295109437675181254020599470187280981752267995949700284307156011696014026140638823463213175653030356069387659782311826704881642720460964386341534534528978132289133707163543865037791498750787842453397346482909793680910923438008873320824133967178139451314218446033090538854486789567939555803 68832558208249377348656427962512076260830942008140699887737965699688942141094033190206022293941636234888007819851138943616198990489124724833549420384103313098301515643248179221064389015495045317552308415168033287620071806743573424259666425344375352571480887614164162608607659867642703431757722157071020583506852133810819771708775412543259475938258901458700129285985317535952809968564365131115175313675900258332740100451763317861022343914297068961036709819113836530417377774700447726914922245479 111373418713553055319071980936097744117014212914709997019744114520965663504009930430653975188516553167428582197355051433557944646584430048291506070688467686463013081781789199344470099826839816779324732383327328397057746987997594023729853706326127620567430587898471318620303673893783342255220935332724050939576239793593131598413657055263720440324600435993229107418274451243116353833602156629865963156129297604815649894132674241299031217235121202928214849270428054976450468313554934516482861801282 180205976921802432667728408898609820377845154922850696907482080220654605645103963620859997482458189402316590017206190377174143637073554773125055491072570999561314597425037378565534488842334862096877040798495361684677818794741167447989520131670502973138911475512635481228911333761426045686978657489795071523083091927403951370122432467806979916262859337451929236704259768779069163802166521760981138469805197863148389994584437559160053561149418271889251559089541891506867846088255382243397784046761 291579395635355487986800389834707564494859367837560693927226194741620269149113894051513972670974742569745172214561241810732088283657984821416561561761038686024327679206826577910004588669174678876201773181822690081735565782738761471719373837996630593706342063411106799849215007655209387942199592822519122462659331720997082968536089523070700356587459773445158344122534220022185517635768678390847101625934495467964039888717111800459084778384539474817466408359969946483318314401810316759880645848043 471785372557157920654528798733317384872704522760411390834708274962274874794217857672373970153432931972061762231767432187906231920731539594541617052833609685585642276631863956475539077511509540973078813980318051766413384577479928919708893969667133566845253538923742281078126341416635433629178250312314193985742423648401034338658521990877680272850319110897087580826793988801254681437935200151828240095739693331112429883301549359619138339533957746706717967449511837990186160490065699003278429894804 763364768192513408641329188568024949367563890597972084761934469703895143943331751723887942824407674541806934446328673998638320204389524415958178614594648371609969955838690534385543666180684219849280587162140741848148950360218690391428267807663764160551595602334849080927341349071844821571377843134833316448401755369398117307194611513948380629437778884342245924949328208823440199073703878542675341721674188799076469772018661160078223117918497221524184375809481784473504474891876015763159075742847 1235150140749671329295857987301342334240268413358383475596642744666170018737549609396261912977840606513868696678096106186544552125121064010499795667428258057195612232470554490861082743692193760822359401142458793614562334937698619311137161777330897727396849141258591362005467690488480255200556093447147510434144179017799151645853133504826060902288097995239333505776122197624694880511639078694503581817413882130188899655320210519697361457452454968230902343258993622463690635381941714766437505637651 1998514908942184737937187175869367283607832303956355560358577214370065162680881361120149855802248281055675631124424780185182872329510588426457974282022906428805582188309245025246626409872877980671639988304599535462711285297917309702565429584994661887948444743593440442932809039560325076771933936581980826882545934387197268953047745018774441531725876879581579430725450406448135079585342957237178923539088070929265369427338871679775584575370952189755086719068475406937195110273817730529596581380498 3233665049691856067233045163170709617848100717314739035955219959036235181418430970516411768780088887569544327802520886371727424454631652436957769949451164486001194420779799516107709153565071741493999389447058329077273620235615929013702591362325559615345293884852031804938276730048805331972490030029128337316690113404996420598900878523600502434013974874820912936501572604072829960096982035931682505356501953059454269082659082199472946032823407157985989062327469029400885745655759445296034087018149 5232179958634040805170232339040076901455933021271094596313797173406300344099312331636561624582337168625219958926945666556910296784142240863415744231474070914806776609089044541354335563437949722165639377751657864539984905533533238716268020947320221503293738628445472247871085769609130408744423966611109164199236047792193689551948623542374943965739851754402492367227023010520965039682324993168861428895590023988719638509997953879248530608194359347741075781395944436338080855929577175825630668398647 8465845008325896872403277502210786519304033738585833632269017132442535525517743302152973393362426056194764286729466552928637721238773893300373514180925235400807971029868844057462044717003021463659638767198716193617258525769149167729970612309645781118639032513297504052809362499657935740716913996640237501515926161197190110150849502065975446399753826629223405303728595614593794999779307029100543934252091977048173907592657036078721476641017766505727064843723413465738966601585336621121664755416796 13698024966959937677573509841250863420759966759856928228582814305848835869617055633789535017944763224819984245656412219485548018022916134163789258412399306315614747638957888598816380280440971185825278144950374058157243431302682406446238633256966002621932771141742976300680448269267066149461337963251346665715162208989383799702798125608350390365493678383625897670955618625114760039461632022269405363147682001036893546102654989957970007249212125853468140625119357902077047457514913796947295423815443 22163869975285834549976787343461649940064000498442761860851831438291371395134798935942508411307189281014748532385878772414185739261690027464162772593324541716422718668826732656278424997443992649484916912149090251774501957071831574176209245566611783740571803655040480353489810768925001890178251959891584167231088370186573909853647627674325836765247505012849302974684214239708555039240939051369949297399773978085067453695312026036691483890229892359195205468842771367816014059100250418068960179232239 35861894942245772227550297184712513360823967258299690089434645744140207264751854569732043429251952505834732778042290991899733757284606161627952031005723848032037466307784621255094805277884963835310195057099464309931745388374513980622447878823577786362504574796783456654170259038192068039639589923142930832946250579175957709556445753282676227130741183396475200645639832864823315078702571073639354660547455979121960999797967015994661491139442018212663346093962129269893061516615164215016255603047682 58025764917531606777527084528174163300887967756742451950286477182431578659886653505674551840559141786849481310428169764313919496546296189092114803599048389748460184976611353911373230275328956484795111969248554561706247345446345554798657124390189570103076378451823937007660069807117069929817841883034515000177338949362531619410093380957002063895988688409324503620324047104531870117943510125009303957947229957207028453493279042031352975029671910571858551562804900637709075575715414633085215782279921 93887659859777379005077381712886676661711935015042142039721122926571785924638508075406595269811094292684214088470460756213653253830902350720066834604772237780497651284395975166468035553213920320105307026348018871637992733820859535421105003213767356465580953248607393661830328845309137969457431806177445833123589528538489328966539134239678291026729871805799704265963879969355185196646081198648658618494685936328989453291246058026014466169113928784521897656767029907602137092330578848101471385327603 151913424777308985782604466241060839962599902771784593990007600109003364584525161581081147110370236079533695398898630520527572750377198539812181638203820627528957836261007329077841265828542876804900418995596573433344240079267205090219762127603956926568657331700431330669490398652426207899275273689211960833300928477901020948376632515196680354922718560215124207886287927073887055314589591323657962576441915893536017906784525100057367441198785839356380449219571930545311212668045993481186687167607524 245801084637086364787681847953947516624311837786826736029728723035575150509163669656487742380181330372217909487369091276741226004208100890532248472808592865309455487545403304244309301381756797125005726021944592304982232813088064625640867130817724283034238284949038724331320727497735345868732705495389406666424518006439510277343171649436358645949448432020923912152251807043242240511235672522306621194936601829865007360075771158083381907367899768140902346876338960452913349760376572329288158552935127 397714509414395350570286314195008356586911740558611330019736323144578515093688831237568889490551566451751604886267721797268798754585299430344430111012413492838413323806410633322150567210299673929906145017541165738326472892355269715860629258421681209602895616649470055000811126150161553768007979184601367499725446484340531225719804164633039000872166992236048120038539734117129295825825263845964583771378517723401025266860296258140749348566685607497282796095910890998224562428422565810474845720542651 643515594051481715357968162148955873211223578345438066049465046180153665602852500894056631870732896823969514373636813074010024758793400320876678583821006358147868811351813937566459868592056471054911871039485758043308705705443334341501496389239405492637133901598508779332131853647896899636740684679990774166149964490780041503062975814069397646821615424256972032190791541160371536337060936368271204966315119553266032626936067416224131255934585375638185142972249851451137912188799138139763004273477778 1041230103465877065928254476343964229798135318904049396069201369324732180696541332131625521361284463275721119259904534871278823513378699751221108694833419850986282135158224570888610435802356144984818016057026923781635178597798604057362125647661086702240029518247978834332942979798058453404748663864592141665875410975120572728782779978702436647693782416493020152229331275277500832162886200214235788737693637276667057893796363674364880604501270983135467939068160742449362474617221703950237849994020429 1684745697517358781286222638492920103009358897249487462118666415504885846299393833025682153232017360099690633633541347945288848272172100072097787278654426209134150946510038508455070304394412616039729887096512681824943884303241938398863622036900492194877163419846487613665074833445955353041489348544582915832025375465900614231845755792771834294515397840749992184420122816437872368499947136582506993704008756829933090520732431090589011860435856358773653082040410593900500386806020842090000854267498207 2725975800983235847214477114836884332807494216153536858187867784829618026995935165157307674593301823375411752893445882816567671785550799823318895973487846060120433081668263079343680740196768761024547903153539605606579062901040542456225747684561578897117192938094466447998017813244013806446238012409175057497900786441021186960628535771474270942209180257243012336649454091715373200662833336796742782441702394106600148414528794764953892464937127341909121021108571336349862861423242546040238704261518636 4410721498500594628500699753329804435816853113403024320306534200334503873295328998182989827825319183475102386526987230761856520057722899895416683252142272269254584028178301587798751044591181377064277790250052287431522947204282480855089369721462071091994356357940954061663092646689969159487727360953757973329926161906921801192474291564246105236724578097993004521069576908153245569162780473379249776145711150936533238935261225855542904325372983700682774103148981930250363248229263388130239558529016843 7136697299483830475715176868166688768624347329556561178494401985164121900291264163340297502418621006850514139420433113578424191843273699718735579225630118329375017109846564667142431784787950138088825693403591893038102010105323023311315117406023649989111549296035420509661110459933982965933965373362933030827826948347942988153102827335720376178933758355236016857719030999868618769825613810175992558587413545043133387349790020620496796790310111042591895124257553266600226109652505934170478262790535479 11547418797984425104215876621496493204441200442959585498800936185498625773586593161523287330243940190325616525947420344340280711900996599614152262477772390598629601138024866254941182829379131515153103483653644180469624957309605504166404487127485721081105905653976374571324203106623952125421692734316691004157753110254864789345577118899966481415658336453229021378788607908021864338988394283555242334733124695979666626285051246476039701115683094743274669227406535196850589357881769322300717821319552322 18684116097468255579931053489663181973065547772516146677295338170662747673877857324863584832662561197176130665367853457918704903744270299332887841703402508928004618247871430922083614614167081653241929177057236073507726967414928527477719604533509371070217454950011795080985313566557935091355658107679624034985580058602807777498679946235686857594592094808465038236507638907890483108814008093731234893320538241022800013634841267096536497905993205785866564351664088463450815467534275256471196084110087801 30231534895452680684146930111159675177506748215475732176096274356161373447464450486386872162906501387501747191315273802258985615645266898947040104181174899526634219385896297177024797443546213168395032660710880253977351924724534031644124091660995092151323360603988169652309516673181887216777350841996315039143333168857672566844257065135653339010250431261694059615296246815912347447802402377286477228053662937002466639919892513572576199021676300529141233579070623660301404825416044578771913905429640123 48915650992920936264077983600822857150572295987991878853391612526824121121342307811250456995569062584677877856683127260177690519389537198279927945884577408454638837633767728099108412057713294821636961837768116327485078892139462559121843696194504463221540815553999964733294830239739822308133008949675939074128913227460480344342937011371340196604842526070159097851803885723802830556616410471017712121374201178025266653554733780669112696927669506315007797930734712123752220292950319835243109989539727924 79147185888373616948224913711982532328079044203467611029487886882985494568806758297637329158475563972179625047998401062436676135034804097226968050065752307981273057019664025276133209501259507990031994498478996581462430816863996590765967787855499555372864176157988134385604346912921709524910359791672254113272246396318152911187194076506993535615092957331853157467100132539715178004418812848304189349427864115027733293474626294241688895949345806844149031509805335784053625118366364414015023894969368047 128062836881294553212302897312805389478651340191459489882879499409809615690149066108887786154044626556857502904681528322614366654424341295506895995950329716435911894653431753375241621558972802811668956336247112908947509709003459149887811484050004018594404991711988099118899177152661531833043368741348193187401159623778633255530131087878333732219935483402012255318904018263518008561035223319321901470802065293052999947029360074910801592877015313159156829440540047907805845411316684249258133884509095971 207210022769668170160527811024787921806730384394927100912367386292795110258955824406525115312520190529037127952679929385051042789459145392733864046016082024417184951673095778651374831060232310801700950834726109490409940525867455740653779271905503573967269167869976233504503524065583241357953728533020447300673406020096786166717325164385327267835028440733865412786004150803233186565454036167626090820229929408080733240503986369152490488826361120003305860950345383691859470529683048663273157779478464018 335272859650962723372830708337593311285381724586386590795246885702604725949104890515412901466564817085894630857361457707665409443883486688240760041966411740853096846326527532026616452619205113613369907170973222399357450234870914890541590755955507592561674159581964332623402701218244773190997097274368640488074565643875419422247456252263661000054963924135877668104908169066751195126489259486947992291031994701133733187533346444063292081703376433162462690390885431599665315940999732912531291663987559989 542482882420630893533358519362381233092112108981313691707614271995399836208060714921938016779085007614931758810041387092716452233342632080974624087982493765270281797999623310677991283679437424415070858005699331889767390760738370631195370027861011166528943327451940566127906225283828014548950825807389087788747971663972205588964781416648988267889992364869743080890912319869984381691943295654574083111261924109214466428037332813215782570529737553165768551341230815291524786470682781575804449443466024007 877755742071593616906189227699974544377493833567700282502861157698004562157165605437350918245649824700826389667402844800381861677226118769215384129948905506123378644326150842704607736298642538028440765176672554289124840995609285521736960783816518759090617487033904898751308926502072787739947923081757728276822537307847625011212237668912649267944956289005620748995820488936735576818432555141522075402293918810348199615570679257279074652233113986328231241732116246891190102411682514488335741107453583996 1420238624492224510439547747062355777469605942549013974210475429693404398365226320359288935024734832315758148477444231893098313910568750850190008217931399271393660442325774153382599019978079962443511623182371886178892231756347656152932330811677529925619560814485845464879215151785900802288898748889146816065570508971819830600177019085561637535834948653875363829886732808806719958510375850796096158513555842919562666043608012070494857222762851539493999793073347062182714888882365296064140190550919608003 2297994366563818127345736974762330321847099776116714256713336587391408960522391925796639853270384657016584538144847076693480175587794869619405392347880304777517039086651924996087206756276722500471952388359044440468017072751956941674669291595494048684710178301519750363630524078287973590028846671970904544342393046279667455611389256754474286803779904942880984578882553297743455535328808405937618233915849761729910865659178691327773931874995965525822231034805463309073904991294047810552475931658373191999 3718232991056042637785284721824686099316705718665728230923812017084813358887618246155928788295119489332342686622291308586578489498363620469595400565811704048910699528977699149469805776254802462915464011541416326646909304508304597827601622407171578610329739116005595828509739230073874392317745420860051360407963555251487286211566275840035924339614853596756348408769286106550175493839184256733714392429405604649473531702786703398268789097758817065316230827878810371256619880176413106616616122209292800002 6016227357619860765131021696587016421163805494782442487637148604476222319410010171952568641565504146348927224767138385280058665086158490089000792913692008826427738615629624145557012532531524963387416399900460767114926377260261539502270914002665627295039917417525346192140263308361847982346592092830955904750356601531154741822955532594510211143394758539637332987651839404293631029167992662671332626345255366379384397361965394726042720972754782591138461862684273680330524871470460917169092053867665992001 9734460348675903402916306418411702520480511213448170718560960621561035678297628418108497429860623635681269911389429693866637154584522110558596193479503712875338438144607323295026818308786327426302880411441877093761835681768566137329872536409837205905369656533530942020650002538435722374664337513691007265158320156782642028034521808434546135483009612136393681396421125510843806523007176919405047018774660971028857929064752098124311510070513599656454692690563084051587144751646874023785708176076958792003 15750687706295764168047328114998718941644316708230613206198109226037257997707638590061066071426127782030197136156568079146695819670680600647596986393195721701766176760236947440583830841317852389690296811342337860876762059028827676832143450412502833200409573951056288212790265846797570357010929606521963169908676758313796769857477341029056346626404370676031014384072964915137437552175169582076379645119916337408242326426717492850354231043268382247593154553247357731917669623117334940954800229944624784004 25485148054971667570963634533410421462124827921678783924759069847598293676005267008169563501286751417711467047545997773013332974255202711206193179872699434577104614904844270735610649150104179815993177222784214954638597740797393814162015986822340039105779230484587230233440268385233292731675267120212970435066996915096438797891999149463602482109413982812424695780494090425981244075182346501481426663894577308437100255491469590974665741113781981904047847243810441783504814374764208964740508406021583576007 41235835761267431739010962648409140403769144629909397130957179073635551673712905598230629572712879199741664183702565852160028793925883311853790166265895156278870791665081218176194479991422032205683474034126552815515359799826221490994159437234842872306188804435643518446230534232030863088686196726734933604975673673410235567749476490492658828735818353488455710164567055341118681627357516083557806309014493645845342581918187083825019972157050364151641001797057799515422483997881543905695308635966208360011 66720983816239099309974597181819561865893972551588181055716248921233845349718172606400193073999630617453131231248563625173361768181086023059983346138594590855975406569925488911805129141526212021676651256910767770153957540623615305156175424057182911411968034920230748679670802617264155820361463846947904040042670588506674365641475639956261310845232336300880405945061145767099925702539862585039232972909070954282442837409656674799685713270832346055688849040868241298927298372645752870435817041987791936018 107956819577506531048985559830228702269663117181497578186673427994869397023431078204630822646712509817194795414951129477333390562106969334913773512404489747134846198235006707087999609132948244227360125291037320585669317340449836796150334861292025783718156839355874267125901336849295018909047660573682837645018344261916909933390952130448920139581050689789336116109628201108218607329897378668597039281923564600127785419327843758624705685427882710207329850837926040814349782370527296776131125677954000296029 174677803393745630358960157012048264135557089733085759242389676916103242373149250811031015720712140434647926646199693102506752330288055357973756858543084337990821604804932195999804738274474456249036776547948088355823274881073452101306510285349208695130124874276105015805572139466559174729409124420630741685061014850423584299032427770405181450426283026090216522054689346875318533032437241253636272254832635554410228256737500433424391398698715056263018699878794282113277080743173049646566942719941792232047 282634622971252161407945716842276966405220206914583337429063104910972639396580329015661838367424650251842722061150822579840142892395024692887530370947574085125667803039938903087804347407422700476396901838985408941492592221523288897456845146641234478848281713631979282931473476315854193638456784994313579330079359112340494232423379900854101590007333715879552638164317547983537140362334619922233311536756200154538013676065344192049097084126597766470348550716720322927626863113700346422698068397895792528076 457312426364997791766905873854325230540777296647669096671452781827075881769729579826692854088136790686490648707350515682346895222683080050861287229490658423116489407844871099087609085681897156725433678386933497297315867102596740998763355431990443173978406587908084298737045615782413368367865909414944321015140373962764078531455807671259283040433616741969769160219006894858855673394771861175869583791588835708948241932802844625473488482825312822733367250595514605040903943856873396069265011117837584760123 739947049336249953174851590696602196945997503562252434100515886738048521166309908842354692455561440938333370768501338262187038115078104743748817600438232508242157210884810002175413433089319857201830580225918906238808459324120029896220200578631677652826688301540063581668519092098267562006322694409257900345219733075104572763879187572113384630440950457849321798383324442842392813757106481098102895328345035863486255608868188817522585566951910589203715801312234927968530806970573742491963079515733377288199 1197259475701247744941757464550927427486774800209921530771968668565124402936039488669047546543698231624824019475851853944533933337761184794610104829928890931358646618729681101263022518771217013927264258612852403536124326426716770894983556010622120826805094889448147880405564707880680930374188603824202221360360107037868651295334995243372667670874567199819090958602331337701248487151878342273972479119933871572434497541671033442996074049777223411937083051907749533009434750827447138561228090633570962048322 1937206525037497698116609055247529624432772303772173964872484555303172924102349397511402238999259672563157390244353192206720971452839289538358922430367123439600803829614491103438435951860536871129094838838771309774932785750836800791203756589253798479631783190988211462074083799978948492380511298233460121705579840112973224059214182815486052301315517657668412756985655780543641300908984823372075374448278907435920753150539222260518659616729134001140798853219984460977965557798020881053191170149304339336521 3134466000738745443058366519798457051919547103982095495644453223868297327038388886180449785542957904187981409720205046151254904790600474332969027260296014370959450448344172204701458470631753885056359097451623713311057112177553571686187312599875919306436878080436359342479648507859629422754699902057662343065939947150841875354549178058858719972190084857487503715587987118244889788060863165646047853568212779008355250692210255703514733666506357413077881905127733993987400308625468019614419260782875301384843 5071672525776243141174975575045986676352319407754269460516937779171470251140738283691852024542217576751138799964558238357975876243439763871327949690663137810560254277958663308139894422492290756185453936290395023085989897928390372477391069189129717786068661271424570804553732307838577915135211200291122464771519787263815099413763360874344772273505602515155916472573642898788531088969847989018123228016491686444276003842749477964033393283235491414218680758347718454965365866423488900667610430932179640721364 8206138526514988584233342094844443728271866511736364956161391003039767578179127169872301810085175480939120209684763284509230781034040238204296976950959152181519704726302835512841352893124044641241813033742018736397047010105943944163578381789005637092505539351860930147033380815698207337889911102348784807837459734414656974768312538933203492245695687372643420188161630017033420877030711154664171081584704465452631254534959733667548126949741848827296562663475452448952766175048956920282029691715054942106207 13277811052291231725408317669890430404624185919490634416678328782211237829319865453564153834627393057690259009649321522867206657277480002075624926641622289992079959004261498820981247315616335397427266970032413759483036908034334316640969450978135354878574200623285500951587113123536785253025122302639907272608979521678472074182075899807548264519201289887799336660735272915821951966000559143682294309601196151896907258377709211631581520232977340241515243421823170903918132041472445820949640122647234582827571 21483949578806220309641659764734874132896052431226999372839719785251005407498992623436455644712568538629379219334084807376437438311520240279921903592581442173599663730564334333822600208740380038669080003774432495880083918140278260804547832767140991971079739975146431098620493939234992590915033404988692080446439256093129048950388438740751756764896977260442756848896902932855372843031270298346465391185900617349538512912668945299129647182719189068811806085298623352870898216521402741231669814362289524933778 34761760631097452035049977434625304537520238350717633789518048567462243236818858077000609479339961596319638228983406330243644095589000242355546830234203732165679622734825833154803847524356715436096346973806846255363120826174612577445517283745276346849653940598431932050207607062771777843940155707628599353055418777771601123132464338548300021284098267148242093509632175848677324809031829442028759700787096769246445771290378156930711167415696529310327049507121794256789030257993848562181309937009524107761349 56245710209903672344691637199360178670416290781944633162357768352713248644317850700437065124052530134949017448317491137620081533900520482635468733826785174339279286465390167488626447733097095474765426977581278751243204744314890838250065116512417338820733680573578363148828101002006770434855189112617291433501858033864730172082852777289051778048995244408684850358529078781532697652063099740375225091972997386595984284203047102229840814598415718379138855592420417609659928474515251303412979751371813632695127 91007470841001124379741614633985483207936529132662266951875816920175491881136708777437674603392491731268655677300897467863725629489520724991015564060988906504958909200216000643430295257453810910861773951388125006606325570489503415695582400257693685670387621172010295199035708064778548278795344820245890786557276811636331295215317115837351799333093511556926943868161254630210022461094929182403984792760094155842430055493425259160551982014112247689465905099542211866448958732509099865594289688381337740456476 147253181050904796724433251833345661878352819914606900114233585272888740525454559477874739727445021866217673125618388605483807163390041207626484297887774080844238195665606168132056742990550906385627200928969403757849530314804394253945647516770111024491121301745588658347863809066785318713650533932863182220059134845501061467298169893126403577382088755965611794226690333411742720113158028922779209884733091542438414339696472361390392796612527966068604760691962629476108887207024351169007269439753151373151603 238260651891905921104174866467331145086289349047269167066109402193064232406591268255312414330837513597486328802919286073347532792879561932617499861948762987349197104865822168775487038248004717296488974880357528764455855885293897669641229917027804710161508922917598953546899517131563866992445878753109073006616411657137392762513487008963755376715182267522538738094851588041952742574252958105183194677493185698280844395189897620550944778626640213758070665791504841342557845939533451034601559128134489113608079 385513832942810717828608118300676806964642168961876067180342987465952972932045827733187154058282535463704001928537674678831339956269603140243984159836537068193435300531428336907543781238555623682116175809326932522305386200098291923586877433797915734652630224663187611894763326198349185706096412685972255226675546502638454229811656902090158954097271023488150532321541921453695462687410987027962404562226277240719258734886369981941337575239168179826675426483467470818666733146557802203608828567887640486759682 623774484834716638932782984768007952050931518009145234246452389659017205338637095988499568389120049061190330731456960752178872749149165072861484021785300055542632405397250505683030819486560340978605150689684461286761242085392189593228107350825720444814139147580786565441662843329913052698542291439081328233291958159775846992325143911053914330812453291010689270416393509495648205261663945133145599239719462939000103130076267602492282353865808393584746092274972312161224579086091253238210387696022129600367761 1009288317777527356761391103068684759015573686971021301426795377124970178270682923721686722447402584524894332659994635431010212705418768213105468181621837123736067705928678842590574600725115964660721326499011393809066628285490481516814984784623636179466769372243974177336426169528262238404638704125053583459967504662414301222136800813144073284909724314498839802737935430949343667949074932161108003801945740179719361864962637584433619929104976573411421518758439782979891312232649055441819216263909770087127443 1633062802612243995694174087836692711066505204980166535673247766783987383609320019710186290836522633586084663391451596183189085454567933285966952203407137179278700111325929348273605420211676305639326477188695855095827870370882671110043092135449356624280908519824760742778089012858175291103180995564134911693259462822190148214461944724197987615722177605509529073154328940444991873210738877294253603041665203118719464995038905186925902282970784966996167611033412095141115891318740308680029603959931899687495204 2642351120389771352455565190905377470082078891951187837100043143908957561880002943431873013283925218110978996051446231614199298159986701499072420385028974303014767817254608190864180020936792270300047803687707248904894498656373152626858076920072992803747677892068734920114515182386437529507819699689188495153226967484604449436598745537342060900631901920008368875892264371394335541159813809455361606843610943298438826860001542771359522212075761540407589129791851878121007203551389364121848820223841669774622647 4275413923002015348149739278742070181148584096931354372773290910692944945489322963142059304120447851697063659442897827797388383614554634785039372588436111482293467928580537539137785441148468575939374280876403104000722369027255823736901169055522349428028586411893495662892604195244612820611000695253323406846486430306794597651060690261540048516354079525517897949046593311839327414370552686749615209885276146417158291855040447958285424495046546507403756740825263973262123094870129672801878424183773569462117851 6917765043391786700605304469647447651230662988882542209873334054601902507369325906573932317404373069808042655494344059411587681774541336284111792973465085785308235745835145730001965462085260846239422084564110352905616867683628976363759245975595342231776264303962230583007119377631050350118820394942511901999713397791399047087659435798882109416985981445526266824938857683233662955530366496204976816728887089715597118715041990729644946707122308047811345870617115851383130298421519036923727244407615239236740498 11193178966393802048755043748389517832379247085813896582646624965294847452858648869715991621524820921505106314937241887208976065389095971069151165561901197267601703674415683269139750903233729422178796365440513456906339236710884800100660415031117691659804850715855726245899723572875663170729821090195835308846199828098193644738720126060422157933340060971044164773985450995072990369900919182954592026614163236132755410570082438687930371202168854555215102611442379824645253393291648709725605668591388808698858349 18110944009785588749360348218036965483609910074696438792519959019896749960227974776289923938929193991313148970431585946620563747163637307353262958535366283052909939420250828999141716365318990268418218450004623809811956104394513776464419661006713033891581115019817956828906842950506713520848641485138347210845913225889592691826379561859304267350326042416570431598924308678306653325431285679159568843343050325848352529285124429417575317909291162603026448482059495676028383691713167746649332912999004047935598847 29304122976179390798115391966426483315989157160510335375166583985191597413086623646005915560454014912818255285368827833829539812552733278422414124097267480320511643094666512268281467268552719690597014815445137266718295341105398576565080076037830725551385965735673683074806566523382376691578462575334182519692113053987786336565099687919726425283666103387614596372909759673379643695332204862114160869957213561981107939855206868105505689111460017158241551093501875500673637085004816456374938581590392856634457196 47415066985964979547475740184463448799599067235206774167686543005088347373314598422295839499383208904131404255800413780450103559716370585775677082632633763373421582514917341267423183633871709959015233265449761076530251445499912353029499737044543759442967080755491639903713409473889090212427104060472529730538026279877379028391479249779030692633992145804185027971834068351686297020763490541273729713300263887829460469140331297523081007020751179761267999575561371176702020776717984203024271494589396904570056043 76719189962144370345591132150889932115588224395717109542853126990279944786401222068301755059837223816949659541169241614279643372269103864198091206729901243693933225609583853535704650902424429649612248080894898343248546786605310929594579813082374484994353046491165322978519975997271466904005566635806712250230139333865165364956578937698757117917658249191799624344743828025065940716095695403387890583257477449810568408995538165628586696132211196919509550669063246677375657861722800659399210076179789761204513239 124134256948109349893066872335353380915187291630923883710539669995368292159715820490597594559220432721081063796969655394729746931985474449973768289362535007067354808124501194803127834536296139608627481346344659419778798232105223282624079550126918244437320127246656962882233385471160557116432670696279241980768165613742544393348058187477787810551650394995984652316577896376752237736859185944661620296557741337640028878135869463151667703152962376680777550244624617854077678638440784862423481570769186665774569282 200853446910253720238658004486243313030775516026640993253392796985648236946117042558899349619057656538030723338138897009009390304254578314171859496092436250761288033734085048338832485438720569258239729427239557763027345018710534212218659363209292729431673173737822285860753361468432024020438237332085954230998304947607709758304637125176544928469308644187784276661321724401818178452954881348049510879815218787450597287131407628780254399285173573600287100913687864531453336500163585521822691646948976426979082521 324987703858363070131724876821596693945962807657564876963932466981016529105832863049496944178278089259111787135108552403739137236240052764145627785454971257828642841858586243141960319975016708866867210773584217182806143250815757494842738913336210973868993300984479248742986746939592581136870908028365196211766470561350254151652695312654332739020959039183768928977899620778570416189814067292711131176372960125090626165267277091931922102438135950281064651158312482385531015138604370384246173217718163092753651803 525841150768616790370382881307840006976738323684205870217325263966664766051949905608396293797335745797142510473247449412748527540494631078317487281547407508589930875592671291480792805413737278125106940200823774945833488269526291707061398276545503703300666474722301534603740108408024605157309145360451150442764775508957963909957332437830877667490267683371553205639221345180388594642768948640760642056188178912541223452398684720712176501723309523881351752072000346916984351638767955906068864864667139519732734324 850828854626979860502107758129436700922701131341770747181257730947681295157782768657893237975613835056254297608356001816487664776734683842463115067002378766418573717451257534622753125388753986991974150974407992128639631520342049201904137189881714677169659775706780783346726855347617186294180053388816346654531246070308218061610027750485210406511226722555322134617120965958959010832583015933471773232561139037631849617665961812644098604161445474162416403230312829302515366777372326290315038082385302612486386127 1376670005395596650872490639437276707899439455025976617398582994914346061209732674266289531772949580853396808081603451229236192317229314920780602348549786275008504593043928826103545930802491265117081091175231767074473119789868340908965535466427218380470326250429082317950466963755641791451489198749267497097296021579266181971567360188316088074001494405926875340256342311139347605475351964574232415288749317950173073070064646533356275105884754998043768155302313176219499718416140282196383902947052442132219120451 2227498860022576511374598397566713408822140586367747364579840725862027356367515442924182769748563415909651105689959453045723857093963998763243717415552165041427078310495186360726299056191245252109055242149639759203112751310210390110869672656308933057639986026135863101297193819103258977745669252138083843751827267649574400033177387938801298480512721128482197474873463277098306616307934980507704188521310456987804922687730608346000373710046200472206184558532626005522015085193512608486698941029437744744705506578 3604168865418173162247089037003990116721580041393723981978423720776373417577248117190472301521512996763047913771562904274960049411193313684024319764101951316435582903539115186829844986993736517226136333324871526277585871100078731019835208122736151438110312276564945419247660782858900769197158450887351340849123289228840582004744748127117386554514215534409072815129805588237654221783286945081936603810059774937977995757795254879356648815930955470249952713834939181741514803609652890683082843976490186876924627029 5831667725440749673621687434570703525543720627761471346558264446638400773944763560114655071270076412672699019461522357320683906505157312447268037179654116357862661214034301547556144043184981769335191575474511285480698622410289121130704880779045084495750298302700808520544854601962159746942827703025435184600950556878414982037922136065918685035026936662891270290003268865335960838091221925589640792331370231925782918445525863225357022525977155942456137272367565187263529888803165499169781785005927931621630133607 9435836590858922835868776471574693642265300669155195328536688167414774191522011677305127372791589409435746933233085261595643955916350626131292356943756067674298244117573416734385989030178718286561327908799382811758284493510367852150540088901781235933860610579265753939792515384821060516139986153912786525450073846107255564042666884193036071589541152197300343105133074453573615059874508870671577396141430006863760914203321118104713671341908111412706089986202504369005044692412818389852864628982418118498554760636 15267504316299672509490463906145397167809021296916666675094952614053174965466775237419782444061665822108445952694607618916327862421507938578560394123410184032160905331607718281942133073363700055896519484273894097238983115920656973281244969680826320429610908881966562460337369986783220263082813856938221710051024402985670546080589020258954756624568088860191613395136343318909575897965730796261218188472800238789543832648846981330070693867885267355162227258570069556268574581215983889022646413988346050120184894243 24703340907158595345359240377720090810074321966071862003631640781467949156988786914724909816853255231544192885927692880511971818337858564709852751067166251706459149449181135016328122103542418342457847393073276908997267609431024825431785058582607556363471519461232316400129885371604280779222800010851008235501098249092926110123255904451990828214109241057491956500269417772483190957840239666932795584614230245653304746852168099434784365209793378767868317244772573925273619273628802278875511042970764168618739654879 39970845223458267854849704283865487977883343262988528678726593395521124122455562152144692260914921053652638838622300499428299680759366503288413145190576435738620054780788853298270255176906118398354366877347171006236250725351681798713030028263433876793082428343198878860467255358387501042305613867789229945552122652078596656203844924710945584838677329917683569895405761091392766855805970463194013773087030484442848579501015080764855059077678646123030544503342643481542193854844786167898157456959110218738924549122 64674186130616863200208944661585578787957665229060390682358234176989073279444349066869602077768176285196831724549993379940271499097225067998265896257742687445079204229969988314598377280448536740812214270420447915233518334782706624144815086846041433156553947804431195260597140729991781821528413878640238181053220901171522766327100829162936413052786570975175526395675178863875957813646210130126809357701260730096153326353183180199639424287472024890898861748115217406815813128473588446773668499929874387357664204001 104645031354075131055058648945451066765841008492048919361084827572510197401899911219014294338683097338849470563172293879368571179856591571286679041448319123183699259010758841612868632457354655139166581147767618921469769060134388422857845115109475309949636376147630074121064396088379282863834027746429468126605343553250119422530945753873881997891463900892859096291080939955268724669452180593320823130788291214539001905854198260964494483365150671013929406251457860888358006983318374614671825956888984606096588753123 169319217484691994255267593607036645553798673721109310043443061749499270681344260285883896416451273624046302287722287259308842678953816639284944937706061810628778463240728829927467009737803191879978795418188066836703287394917095047002660201955516743106190323952061269381661536818371064685362441625069706307658564454421642188858046583036818410944250471868034622686756118819144682483098390723447632488489551944635155232207381441164133907652622695904828267999573078295173820111791963061445494456818858993454252957124 273964248838767125310326242552487712319639682213158229404527889322009468083244171504898190755134370962895772850894581138677413858810408210571623979154380933812477722251487671540335642195157847019145376565955685758173056455051483469860505317064992053055826700099691343502725932906750347549196469371499174434263908007671761611388992336910700408835714372760893718977837058774413407152550571316768455619277843159174157138061579702128628391017773366918757674251030939183531827095110337676117320413707843599550841710247 443283466323459119565593836159524357873438355934267539447970951071508738764588431790782087171585644586942075138616868397986256537764224849856568916860442744441256185492216501467802651932961038899124171984143752594876343849968578516863165519020508796162017024051752612884387469725121412234558910996568880741922472462093403800247038919947518819779964844628928341664593177593558089635648962040216088107767395103809312370268961143292762298670396062823585942250604017478705647206902300737562814870526702593005094667371 717247715162226244875920078712012070193078038147425768852498840393518206847832603295680277926720015549837847989511449536663670396574633060428192896014823678253733907743704173008138294128118885918269548550099438353049400305020061986723670836085500849217843724151443956387113402631871759783755380368068055176186380469765165411636031256858219228615679217389822060642430236367971496788199533356984543727045238262983469508330540845421390689688169429742343616501634956662237474302012638413680135284234546192555936377618 1160531181485685364441513914871536428066516394081693308300469791465026945612421035086462365098305660136779923128128317934649926934338857910284761812875266422694990093235920674475940946061079924817393720534243190947925744154988640503586836355106009645379860748203196569271500872356993172018314291364636935918108852931858569211883070176805738048395644062018750402307023413961529586423848495397200631834812633366792781878599501988714152988358565492565929558752238974140943121508914939151242950154761248785561031044989 1877778896647911609317433993583548498259594432229119077152968631858545152460253638382142643025025675686617771117639767471313597330913490970712954708890090100948724000979624847484079240189198810735663269084342629300975144460008702490310507191191510494597704472354640525658614274988864931802069671732704991094295233401623734623519101433663957277011323279408572462949453650329501083212048028754185175561857871629776251386930042834135543678046734922308273175253873930803180595810927577564923085438995794978116967422607 3038310078133596973758947908455084926326110826310812385453438423323572098072674673468605008123331335823397694245768085405963524265252348880997716521765356523643714094215545521960020186250278735553056989618585820248900888614997342993897343546297520139977565220557837094930115147345858103820383963097341927012404086333482303835402171610469695325406967341427322865256477064291030669635896524151385807396670504996569033265529544822849696666405300414874202734006112904944123717319842516716166035593757043763677998467596 4916088974781508583076381902038633424585705258539931462606407055182117250532928311850747651148357011510015465363407852877277121596165839851710671230655446624592438095195170369444099426439477546288720258702928449549876033075006045484207850737489030634575269692912477620588729422334723035622453634830046918106699319735106038458921273044133652602418290620835895328205930714620531752847944552905570982958528376626345284652459587656985240344452035337182475909259986835747304313130770094281089121032752838741794965890203 7954399052915105556835329810493718350911816084850743848059845478505689348605602985319352659271688347333413159609175938283240645861418188732708387752420803148236152189410715891404119612689756281841777248321514269798776921690003388478105194283786550774552834913470314715518844569680581139442837597927388845119103406068588342294323444654603347927825257962263218193462407778911562422483841077056956790355198881622914317917989132479834937010857335752056678643266099740691428030450612610997255156626509882505472964357799 12870488027696614139911711712532351775497521343390675310666252533687806599138531297170100310420045358843428624972583791160517767457584028584419058983076249772828590284605886260848219039129233828130497507024442719348652954765009433962313045021275581409128104606382792336107573992015304175065291232757435763225802725803694380753244717698737000530243548583099113521668338493532094175331785629962527773313727258249259602570448720136820177355309371089239154552526086576438732343581382705278344277659262721247267930248002 20824887080611719696747041523026070126409337428241419158726098012193495947744134282489452969691733706176841784581759729443758413319002217317127446735497052921064742474016602152252338651818990109972274755345956989147429876455012822440418239305062132183680939519853107051626418561695885314508128830684824608344906131872282723047568162353340348458068806545362331715130746272443656597815626707019484563668926139872173920488437852616655114366166706841295833195792186317130160374031995316275599434285772603752740894605801 33695375108308333836658753235558421901906858771632094469392350545881302546882665579659553280111779065020270409554343520604276180776586245901546505718573302693893332758622488413100557690948223938102772262370399708496082831220022256402731284326337713592809044126235899387733992553711189489573420063442260371570708857675977103800812880052077348988312355128461445236799084765975750773147412336982012336982653398121433523058886572753475291721476077930534987748318272893568892717613378021553943711945035325000008824853803 54520262188920053533405794758584492028316196199873513628118448558074798494626799862149006249803512771197112194136103250048034594095588463218673952454070355614958075232639090565352896342767214048075047017716356697643512707675035078843149523631399845776489983646089006439360411115407074804081548894127084979915614989548259826848381042405417697446381161673823776951929831038419407370963039044001496900651579537993607443547324425370130406087642784771830820944110459210699053091645373337829543146230807928752749719459604 88215637297228387370064547994142913930223054971505608097510799103956101041509465441808559529915291836217382603690446770652310774872174709120220458172643658308851407991261578978453454033715437986177819280086756406139595538895057335245880807957737559369299027772324905827094403669118264293654968957569345351486323847224236930649193922457495046434693516802285222188728915804395158144110451380983509237634232936115040966606210998123605697809118862702365808692428732104267945809258751359383486858175843253752758544313407 142735899486148440903470342752727405958539251171379121725629247662030899536136265303957565779718804607414494797826550020700345368967763172338894410626714013923809483223900669543806350376482652034252866297803113103783108246570092414089030331589137405145789011418413912266454814784525339097736517851696430331401938836772496757497574964862912743881074678476108999140658746842814565515073490424985006138285812474108648410153535423493736103896761647474196629636539191314966998900904124697213030004406651182505508263773011 230951536783376828273534890746870319888762306142884729823140046765987000577645730745766125309634096443631877401516996791352656143839937881459114868799357672232660891215162248522259804410198090020430685577889869509922703785465149749334911139546874964515088039190738818093549218453643603391391486809265775682888262683996733688146768887320407790315768195278394221329387662647209723659183941805968515375920045410223689376759746421617341801705880510176562438328967923419234944710162876056596516862582494436258266808086418 373687436269525269177005233499597725847301557314263851548769294428017900113781996049723691089352901051046372199343546812053001512807701053798009279426071686156470374439062918066066154786680742054683551875692982613705812032035242163423941471136012369660877050609152730360004033238168942489128004660962206014290201520769230445644343852183320534196842873754503220470046409490024289174257432230953521514205857884332337786913281845111077905602642157650759067965507114734201943611067000753809546866989145618763775071859429 604638973052902097450540124246468045736063863457148581371909341194004900691427726795489816398986997494678249600860543603405657656647638935257124148225429358389131265654225166588325959196878832075114237453582852123628515817500391912758852610682887334175965089799891548453553251691812545880519491470227981697178464204765964133791112739503728324512611069032897441799434072137234012833441374036922036890125903294556027163673028266728419707308522667827321506294475038153436888321229876810406063729571640055022041879945847 978326409322427366627545357746065771583365420771412432920678635622022800805209722845213507488339898545724621800204090415458659169455339989055133427651501044545601640093288084654392113983559574129797789329275834737334327849535634076182794081818899703836842140409044278813557284929981488369647496131190187711468665725535194579435456591687048858709453942787400662269480481627258302007698806267875558404331761178888364950586310111839497612911164825478080574259982152887638831932296877564215610596560785673785816951805276 1582965382375329464078085481992533817319429284228561014292587976816027701496637449640703323887326896040402871401064634018864316826102978924312257575876930402934732905747513251242718073180438406204912026782858686860962843667036025988941646692501787038012807230208935827267110536621794034250166987601418169408647129930301158713226569331190777183222065011820298104068914553764492314841140180304797595294457664473444392114259338378567917320219687493305402080554457191041075720253526754374621674326132425728807858831751123 2561291791697756830705630839738599588902794704999973447213266612438050502301847172485916831375666794586127493201268724434322975995558318913367391003528431447480334545840801335897110187163997980334709816112134521598297171516571660065124440774320686741849649370617980106080667821551775522619814483732608357120115795655836353292662025922877826041931518954607698766338395035391750616848838986572673153698789425652332757064845648490407414933130852318783482654814439343928714552185823631938837284922693211402593675783556399 4144257174073086294783716321731133406222223989228534461505854589254078203798484622126620155262993690626530364602333358453187292821661297837679648579405361850415067451588314587139828260344436386539621842894993208459260015183607686054066087466822473779862456600826915933347778358173569556869981471334026526528762925586137512005888595254068603225153583966427996870407309589156242931689979166877470748993247090125777149179104986868975332253350539812088884735368896534969790272439350386313458959248825637131401534615307522 6705548965770843125489347161469732995125018694228507908719121201692128706100331794612536986638660485212657857803602082887510268817219616751047039582933793297895401997429115923036938447508434366874331659007127730057557186700179346119190528241143160521712105971444896039428446179725345079489795955066634883648878721241973865298550621176946429267085102921035695636745704624547993548538818153450143902692036515778109906243950635359382747186481392130872367390183335878898504824625174018252296244171518848533995210398863921 10849806139843929420273063483200866401347242683457042370224975790946206909898816416739157141901654175839188222405935441340697561638880914588726688162339155148310469449017430510176766707852870753413953501902120938516817201883787032173256615707965634301574562572271811972776224537898914636359777426400661410177641646828111377304439216431015032492238686887463692507153014213704236480228797320327614651685283605903887055423055622228358079439831931942961252125552232413868295097064524404565755203420344485665396745014171443 17555355105614772545762410644670599396472261377685550278944096992638335615999148211351694128540314661051846080209537524228207830456100531339773727745272948446205871446446546433213705155361305120288285160909248668574374388583966378292447143949108794823286668543716708012204670717624259715849573381467296293826520368070085242602989837607961461759323789808499388143898718838252230028767615473777758554377320121681996961667006257587740826626313324073833619515735568292766799921689698422818051447591863334199391955413035364 28405161245458701966035474127871465797819504061142592649169072783584542525897964628090851270441968836891034302615472965568905392094981445928500415907612103594516340895463976943390471863214175873702238662811369607091191590467753410465703759657074429124861231115988519984980895255523174352209350807867957704004162014898196619907429054038976494251562476695963080651051733051956466508996412794105373206062603727585884017090061879816098906066145256016794871641287800706635095018754222827383806651012207819864788700427206807 45960516351073474511797884772542065194291765438828142928113169776222878141897112839442545398982283497942880382825010489797113222551081977268274143652885052040722212341910523376604177018575480993990523823720618275665565979051719788758150903606183223948147899659705227997185565973147434068058924189335253997830682382968281862510418891646937956010886266504462468794950451890208696537764028267883131760439923849267880978757068137403839732692458580090628491157023368999401894940443921250201858098604071154064180655840242171 74365677596532176477833358900413530992111269499970735577282242559807420667795077467533396669424252334833914685440483455366018614646063423196774559560497155635238553237374500319994648881789656867692762486531987882756757569519473199223854663263257653073009130775693747982166461228670608420268274997203211701834844397866478482417847945685914450262448743200425549446002184942165163046760441061988504966502527576853764995847130017219938638758603836107423362798311169706036989959198144077585664749616278973928969356267448978 120326193947605650989631243672955596186403034938798878505395412336030298809692190306975942068406535832776795068265493945163131837197145400465048703213382207675960765579285023696598825900365137861683286310252606158422323548571192987982005566869440877021157030435398975979352027201818042488327199186538465699665526780834760344928266837332852406273335009704888018240952636832373859584524469329871636726942451426121645974604198154623778371451062416198051853955334538705438884899642065327787522848220350127993150012107691149 194691871544137827467464602573369127178514304438769614082677654895837719477487267774509338737830788167610709753705977400529150451843208823661823262773879363311199318816659524016593474782154794729376048796784594041179081118090666187205860230132698530094166161211092723961518488430488650908595474183741677401500371178701238827346114783018766856535783752905313567686954821774539022631284910391860141693444979002975410970451328171843717010209666252305475216753645708411475874858840209405373187597836629101922119368375140127 315018065491743478457095846246324723364917339377568492588073067231868018287179458081485280806237324000387504821971471345692282289040354224126871965987261570987160084395944547713192300682519932591059335107037200199601404666661859175187865797002139407115323191646491699940870515632306693396922673370280143101165897959535999172274381620351619262809118762610201585927907458606912882215809379721731778420387430429097056945055526326467495381660728668503527070708980247116914759758482274733160710446056979229915269380482831276 509709937035881305924560448819693850543431643816338106670750722127705737764666725855994619544068112167998214575677448746221432740883563047788695228761140934298359403212604071729785775464674727320435383903821794240780485784752525362393726027134837937209489352857584423902389004062795344305518147554021820502666269138237237999620496403370386119344902515515515153614862280381451904847094290113591920113832409432072467915506854498311212391870394920809002287462625955528390634617322484138533898043893608331837388748857971403 824728002527624784381656295066018573908348983193906599258823789359573756051846183937479900350305436168385719397648920091913715029923917271915567194748402505285519487608548619442978076147194659911494719010858994440381890451414384537581591824136977344324812544504076123843259519695102037702440820924301963603832167097773237171894878023722005382154021278125716739542769738988364787062903669835323698534219839861169524860562380824778707773531123589312529358171606202645305394375804758871694608489950587561752658129340802679 1334437939563506090306216743885712424451780627010244705929574511487279493816512909793474519894373548336383933973326368838135147770807480319704262423509543439583878890821152691172763851611869387231930102914680788681162376236166909899975317851271815281534301897361660547745648523757897382007958968478323784106498436236010475171515374427092391501498923793641231893157632019369816691909997959948915618648052249293241992776069235323089920165401518510121531645634232158173696028993127243010228506533844195893590046878198774082 2159165942091130874687873038951730998360129610204151305188398300846853249868359093730954420244678984504769653370975288930048862800731397591619829618257945944869398378429701310615741927759064047143424821925539783121544266687581294437556909675408792625859114441865736671588908043452999419710399789402625747710330603333783712343410252450814396883652945071766948632700401758358181478972901629784239317182272089154411517636631616147868627938932642099434061003805838360819001423368932001881923115023794783455342705007539576761 3493603881654636964994089782837443422811910237214396011117972812334132743684872003524428940139052532841153587344301657768184010571538877911324092041767489384453277269250854001788505779370933434375354924840220571802706642923748204337532227526680607907393416339227397219334556567210896801718358757880949531816829039569794187514925626877906788385151868865408180525858033777727998170882899589733154935830324338447653510412700851470958548104334160609555592649440070518992697452362059244892151621557638979348932751885738350843 5652769823745767839681962821789174421172039847418547316306371113180985993553231097255383360383731517345923240715276946698232873372270275502943921660025435329322675647680555312404247707129997481518779746765760354924250909611329498775089137202089400533252530781093133890923464610663896221428758547283575279527159642903577899858335879328721185268804813937175129158558435536086179649855801219517394253012596427602065028049332467618827176043266802708989653653245908879811698875730991246774074736581433762804275456893277927604 9146373705400404804676052604626617843983950084632943327424343925515118737238103100779812300522784050187076828059578604466416883943809153414268013701792924713775952916931409314192753486500930915894134671605980926726957552535077703112621364728770008440645947120320531110258021177874793023147117305164524811343988682473372087373261506206627973653956682802583309684416469313814177820738700809250549188842920766049718538462033319089785724147600963318545246302685979398804396328093050491666226358139072742153208208779016278447 14799143529146172644358015426415792265155989932051490643730715038696104730791334198035195660906515567533000068774855551164649757316079428917211935361818360043098628564611964626597001193630928397412914418371741281651208462146407201887710501930859408973898477901413665001181485788538689244575875852448100090871148325376949987231597385535349158922761496739758438842974904849900357470594502028767943441855517193651783566511365786708612900190867766027534899955931888278616095203824041738440301094720506504957483665672294206051 23945517234546577449034068031042410109139940016684433971155058964211223468029437298815007961429299617720076896834434155631066641259888582331479949063611284756874581481543373940789754680131859313307049089977722208378166014681484905000331866659629417414544425021734196111439506966413482267722993157612624902215137007850322074604858891741977132576718179542341748527391374163714535291333202838018492630698437959701502104973399105798398624338468729346080146258617867677420491531917092230106527452859579247110691874451310484498 38744660763692750093392083457458202374295929948735924614885774002907328198820771496850203622335815185253076965609289706795716398575968011248691884425429644799973210046155338567386755873762787710719963508349463490029374476827892106888042368590488826388442902923147861112620992754952171512298869010060724993086285333227272061836456277277326291499479676282100187370366279013614892761927704866786436072553955153353285671484764892507011524529336495373615046214549755956036586735741133968546828547580085752068175540123604690549 62690177998239327542426151488500612483435869965420358586040832967118551666850208795665211583765114802973153862443723862426783039835856593580171833489040929556847791527698712508176510553894647024027012598327185698407540491509377011888374235250118243802987327944882057224060499721365653780021862167673349895301422341077594136441315169019303424076197855824441935897757653177329428053260907704804928703252393113054787776458163998305410148867805224719695192473167623633457078267658226198653356000439664999178867414574915175047 101434838761932077635818234945958814857731799914156283200926606970025879865670980292515415206100929988226230828053013569222499438411824604828863717914470574356821001573854051075563266427657434734746976106676649188436914968337269118776416603840607070191430230868029918336681492476317825292320731177734074888387707674304866198277771446296629715575677532106542123268123932190944320815188612571591364775806348266408073447942928890812421673397141720093310238687717379589493665003399360167200184548019750751247042954698519865596 164125016760171405178244386434459427341167669879576641786967439937144431532521189088180626789866044791199384690496737431649282478247681198409035551403511503913668793101552763583739776981552081758773988705003834886844455459846646130664790839090725313994417558812911975560741992197683479072342593345407424783689130015382460334719086615315933139651875387930984059165881585368273748868449520276396293479058741379462861224401092889117831822264946944813005431160885003222950743271057586365853540548459415750425910369273435040643 265559855522103482814062621380418242198899469793732924987894046907170311398192169380696041995966974779425615518549751000871781916659505803237899269317982078270489794675406814659303043409209516493520964811680484075281370428183915249441207442931332384185847789680941893897423484674001304364663324523141499672076837689687326532996858061612562855227552920037526182434005517559218069683638132847987658254865089645870934672344021779930253495662088664906315669848602382812444408274456946533053725096479166501672953323971954906239 429684872282274887992307007814877669540067139673309566774861486844314742930713358468876668785833019570625000209046488432521064394907187001646934820721493582184158587776959578243042820390761598252294953516684318962125825888030561380105998282022057698180265348493853869458165476871684783437005917868548924455765967705069786867715944676928495994879428307968510241599887102927491818552087653124383951733923831025333795896745114669048085317927035609719321101009487386035395151545514532898907265644938582252098863693245389946882 695244727804378370806369629195295911738966609467042491762755533751485054328905527849572710781799994350050615727596239433392846311566692804884834090039475660454648382452366392902345863799971114745815918328364803037407196316214476629547205724953390082366113138174795763355588961545686087801669242391690424127842805394757113400712802738541058850106981228006036424033892620486709888235725785972371609988788920671204730569089136448978338813589124274625636770858089768847839559819971479431960990741417748753771817017217344853121 1124929600086653258798676637010173581279033749140352058537617020595799797259618886318449379567633013920675615936642727865913910706473879806531768910760969242638806970229325971145388684190732712998110871845049121999533022204245038009653204006975447780546378486668649632813754438417370871238675160260239348583608773099826900268428747415469554844986409535974546665633779723414201706787813439096755561722712751696538526465834251118026424131516159884344957871867577154883234711365486012330868256386356331005870680710462734800003 1820174327891031629605046266205469493018000358607394550300372554347284851588524414168022090349433008270726231664238967299306757018040572611416603000800444903093455352681692364047734547990703827743926790173413925036940218520459514639200409731928837862912491624843445396169343399963056959040344402651929772711451578494584013669141550154010613695093390763980583089667672343900911595023539225069127171711501672367743257034923387567004762945105284158970594642725666923731074271185457491762829247127774079759642497727680079653124 2945103927977684888403722903215643074297034107747746608837989574943084648848143300486471469917066022191401847600881695165220667724514452417948371911561414145732262322911018335193123232181436540742037662018463047036473240724704552648853613738904285643458870111512095028983097838380427830279019562912169121295060351594410913937570297569480168540079800299955129755301452067315113301811352664165882733434214424064281783500757638685031187076621444043315552514593244078614308982550943504093697503514130410765513178438142814453127 4765278255868716518008769169421112567315034466355141159138362129290369500436667714654493560266499030462128079265120662464527424742555025029364974912361859048825717675592710699240857780172140368485964452191876972073413459245164067288054023470833123506371361736355540425152441238343484789319363965564098894006511930088994927606711847723490782235173191063935712844969124411216024896834891889235009905145716096432025040535681026252035950021726728202286147157318911002345383253736400995856526750641904490525155676165822894106251 7710382183846401406412492072636755641612068574102887767976351704233454149284811015140965030183565052653529926866002357629748092467069477447313346823923273194557979998503729034433981012353576909228002114210340019109886699969868619936907637209737409149830231847867635454135539076723912619598383528476268015301572281683405841544282145292970950775252991363890842600270576478531138198646244553400892638579930520496306824036438664937067137098348172245601699671912155080959692236287344499950224254156034901290668854603965708559378 12475660439715117924421261242057868208927103040458028927114713833523823649721478729795458590450064083115658006131123020094275517209624502476678321736285132243383697674096439733674838792525717277713966566402216991183300159215032687224961660680570532656201593584223175879287980315067397408917747494040366909308084211772400769150993993016461733010426182427826555445239700889747163095481136442635902543725646616928331864572119691189103087120074900447887846829231066083305075490023745495806751004797939391815824530769788602665629 20186042623561519330833753314694623850539171614560916695091065537757277799006289744936423620633629135769187932997125377724023609676693979923991668560208405437941677672600168768108819804879294186941968680612557010293186859184901307161869297890307941806031825432090811333423519391791310028516131022516634924609656493455806610695276138309432683785679173791717398045510277368278301294127380996036795182305577137424638688608558356126170224218423072693489546501143221164264767726311089995756975258953974293106493385373754311225007 32661703063276637255255014556752492059466274655018945622205779371281101448727768474731882211083693218884845939128248397818299126886318482400669990296493537681325375346696608501783658597405011464655935247014774001476487018399933994386830958570878474462233419016313987212711499706858707437433878516557001833917740705228207379846270131325894416796105356219543953490749978258025464389608517438672697726031223754352970553180678047315273311338497973141377393330374287247569843216334835491563726263751913684922317916143542913890636 52847745686838156586088767871447115910005446269579862317296844909038379247734058219668305831717322354654033872125373775542322736563012462324661658856701943119267053019296777269892478402284305651597903927627331011769673877584835301548700256461186416268265244448404798546135019098650017465950009539073636758527397198684013990541546269635327100581784530011261351536260255626303765683735898434709492908336800891777609241789236403441443535556921045834866939831517508411834610942645925487320701522705887978028811301517297225115643 85509448750114793841343782428199607969471720924598807939502624280319480696461826694400188042801015573538879811253622173360621863449330944725331649153195480800592428365993385771676136999689317116253839174642105013246160895984769295935531215032064890730498663464718785758846518805508724903383888055630638592445137903912221370387816400961221517377889886230805305027010233884329230073344415873382190634368024646130579794969914450756716846895419018976244333161891795659404454158980760978884427786457801662951129217660840139006279 138357194436952950427432550299646723879477167194178670256799469189357859944195884914068493874518337928192913683378995948902944600012343407049993308009897423919859481385290163041568615401973622767851743102269436025015834773569604597484231471493251306998763907913123584304981537904158742369333897594704275350972535102596235360929362670596548617959674416242066656563270489510632995757080314308091683542704825537908189036759150854198160382452340064811111272993409304071239065101626686466205129309163689640979940519178137364121922 223866643187067744268776332727846331848948888118777478196302093469677340640657711608468681917319353501731793494632618122263566463461674351775324957163092904720451909751283548813244752401662939884105582276911541038261995669554373893419762686525316197729262571377842370063828056709667467272717785650334913943417673006508456731317179071557770135337564302472871961590280723394962225830424730181473874177072850184038768831729065304954877229347759083787355606155301099730643519260607447445089557095621491303931069736838977503128201 362223837624020694696208883027493055728426055312956148453101562659035200584853596522537175791837691429924707178011614071166511063474017758825318265172990328640311391136573711854813367803636562651957325379180977063277830443123978490903994158018567504728026479290965954368809594613826209642051683245039189294390208109104692092246541742154318753297238718714938618153551212905595221587505044489565557719777675721946957868488216159153037611800099148598466879148710403801882584362234133911294686404785180944911010256017114867250123 586090480811088438964985215755339387577374943431733626649403656128712541225511308131005857709157044931656500672644232193430077526935692110600643222336083233360763300887857260668058120205299502536062907656092518101539826112678352384323756844543883702457289050668808324432637651323493676914769468895374103237807881115613148823563720813712088888634803021187810579743831936300557447417929774671039431896850525905985726700217281464107914841147858232385822485304011503532526103622841581356384243500406672248842079992856092370378324 948314318435109133661194098782832443305800998744689775102505218787747741810364904653543033500994736361581207850655846264596588590409709869425961487509073562001074692024430972522871488008936065188020233035273495164817656555802330875227751002562451207185315529959774278801447245937319886556821152140413292532198089224717840915810262555866407641932041739902749197897383149206152669005434819160604989616628201627932684568705497623260952452947957380984289364452721907334408687985075715267678929905191853193753090248873207237628447 1534404799246197572626179314538171830883175942176423401751908874916460283035876212784548891210151781293237708523300078458026666117345401980026604709845156795361837992912288233190929608214235567724083140691366013266357482668480683259551507847106334909642604580628582603234084897260813563471590621035787395770005970340330989739373983369578496530566844761090559777641215085506710116423364593831644421513478727533918411268922779087368867294095815613370111849756733410866934791607917296624063173405598525442595170241729299608006771 2482719117681306706287373413321004274188976940921113176854414093704208024846241117438091924711146517654818916373955924722623254707755111849452566197354230357362912684936719205713801096223171632912103373726639508431175139224283014134779258849668786116827920110588356882035532143198133450028411773176200688302204059565048830655184245925444904172498886500993308975538598234712862785428799412992249411130106929161851095837628276710629819747043772994354401214209455318201343479592993011891742103310790378636348260490602506845635218 4017123916927504278913552727859176105072152883097536578606322968620668307882117330222640815921298298948056624897256003180649920825100513829479170907199387152724750677849007438904730704437407200636186514418005521697532621892763697394330766696775121026470524691216939485269617040458947013500002394211988084072210029905379820394558229295023400703065731262083868753179813320219572901852164006823893832643585656695769507106551055797998687041139588607724513063966188729068278271200910308515805276716388904078943430732331806453641989 6499843034608810985200926141180180379261129824018649755460737062324876332728358447660732740632444816602875541271211927903273175532855625678931737104553617510087663362785726644618531800660578833548289888144645030128707761117046711529110025546443907143298444801805296367305149183657080463528414167388188772374414089470428651049742475220468304875564617763077177728718411554932435687280963419816143243773692585857620602944179332508628506788183361602078914278175644047269621750793903320407547380027179282715291691222934313299277207 10516966951536315264114478869039356484333282707116186334067060030945544640610475777883373556553743115550932166168467931083923096357956139508410908011753004662812414040634734083523262505097986034184476402562650551826240383009810408923440792243219028169768969493022235852574766224116027477028416561600176856446624119375808471444300704515491705578630349025161046481898224875152008589133127426640037076417278242553390110050730388306627193829322950209803427342141832776337900021994813628923352656743568186794235121955266119752919196 17016809986145126249315405010219536863594412531134836089527797093270420973338834225544106297186187932153807707439679858987196271890811765187342645116306622172900077403420460728141794305758564867732766290707295581954948144126857120452550817789662935313067414294827532219879915407773107940556830728988365628821038208846237122494043179735960010454194966788238224210616636430084444276414090846456180320190970828411010712994909720815255700617506311811882341620317476823607521772788716949330900036770747469509526813178200433052196403 27533776937681441513429883879258893347927695238251022423594857124215965613949310003427479853739931047704739873608147790071119368248767904695753553128059626835712491444055194811665056810856550901917242693269946133781188527136667529375991610032881963482836383787849768072454681631889135417585247290588542485267662328222045593938343884251451716032825315813399270692514861305236452865547218273096217396608249070964400823045640109121882894446829262021685768962459309599945421794783530578254252693514315656303761935133466552805115599 44550586923826567762745288889478430211522107769385858513122654217486386587288144228971586150926118979858547581047827649058315640139579669883096198244366249008612568847475655539806851116615115769650008983977241715736136671263524649828542427822544898795903798082677300292334597039662243358142078019576908114088700537068282716432387063987411726487020282601637494903131497735320897141961309119552397716799219899375411536040549829937138595064335573833568110582776786423552943567572247527585152730285063125813288748311666985857312002 72084363861508009276175172768737323559449803007636880936717511341702352201237454232399066004666050027563287454655975439129435008388347574578849751372425875844325060291530850351471907927471666671567251677247187849517325198400192179204534037855426862278740181870527068364789278671551378775727325310165450599356362865290328310370730948238863442519845598415036765595646359040557350007508527392648615113407468970339812359086189939059021489511164835855253879545236096023498365362355778105839405423799378782117050683445133538662427601 116634950785334577038920461658215753770971910777022739449840165559188738788525598461370652155592169007421835035703803088187750648527927244461945949616792124852937629139006505891278759044086782441217260661224429565253461869663716829033076465677971761074643979953204368657123875711213622133869403329742358713445063402358611026803118012226275169006865881016674260498777856775878247149469836512201012830206688869715223895126739768996160084575500409688821990128012882447051308929928025633424558154084441907930339431756800524519739603 188719314646842586315095634426953077330421713784659620386557676900891090989763052693769718160258219034985122490359778527317185656916274819040795700989218000697262689430537356242750666971558449112784512338471617414770787068063909008237610503533398623353384161823731437021913154382765000909596728639907809312801426267648939337173848960465138611526711479431711026094424215816435597156978363904849627943614157840055036254212929708055181574086665245544075869673248978470549674292283803739263963577883820690047390115201934063182167204 305354265432177163354016096085168831101393624561682359836397842460079829778288651155140370315850388042406957526063581615504936305444202063502741650606010125550200318569543862134029426015645231554001772999696046980024248937727625837270686969211370384428028141776935805679037030093978623043466131969650168026246489670007550363976966972691413780533577360448385286593202072592313844306448200417050640773820846709770260149339669477051341658662165655232897859801261860917600983222211829372688521731968262597977729546958734587701906807 494073580079019749669111730512121908431815338346341980222955519360970920768051703848910088476108607077392080016423360142822121962360476882543537351595228126247463008000081218376780092987203680666786285338167664394795036005791534845508297472744769007781412303600667242700950184476743623953062860609557977339047915937656489701150815933156552392060288839880096312687626288408749441463426564321900268717435004549825296403552599185106523232748830900776973729474510839388150657514495633111952485309852083288025119662160668650884074011 799427845511196913023127826597290739533208962908024340059353361821050750546340355004050458791958995119799037542486941758327058267804678946046279002201238251797663326569625080510809519002848912220788058337863711374819284943519160682778984441956139392209440445377603048379987214570722246996528992579208145365294405607664040065127782905847966172593866200328481599280828361001063285769874764738950909491255851259595556552892268662157864891410996556009871589275772700305751640736707462484641007041820345886002849209119403238585980818 1293501425590216662692239557109412647965024301254366320282308881182021671314392058852960547268067602197191117558910301901149180230165155828589816353796466378045126334569706298887589611990052592887574343676031375769614320949310695528287281914700908399990852748978270291080937399047465870949591853188766122704342321545320529766278598839004518564654155040208577911968454649409812727233301329060851178208690855809420852956444867847264388124159827456786845318750283539693902298251203095596593492351672429174027968871280071889470054829 2092929271101413575715367383706703387498233264162390660341662243003072421860732413857011006060026597316990155101397243659476238497969834774636095355997704629842789661139331379398399130992901505108362402013895087144433605892829856211066266356657047792200293194355873339460924613618188117946120845767974268069636727152984569831406381744852484737248021240537059511249283010410876013003176093799802087699946707069016409509337136509422253015570824012796716908026056239999653938987910558081234499393492775060030818080399475128056035647 3386430696691630238407606940816116035463257565416756980623971124185094093175124472709971553328094199514181272660307545560625418728134990603225911709794171007887915995709037678285988742982954097995936745689926462914047926842140551739353548271357956192191145943334143630541862012665653988895712698956740390773979048698305099597684980583857003301902176280745637423217737659820688740236477422860653265908637562878437262465782004356686641139730651469583562226776339779693556237239113653677827991745165204234058786951679547017526090476 5479359967793043814122974324522819422961490829579147640965633367188166515035856886566982559388120796831171427761704789220101657226104825377862007065791875637730705656848369057684387873975855603104299147703821550058481532734970407950419814628015003984391439137690016970002786626283842106841833544724714658843615775851289669429091362328709488039150197521282696934467020670231564753239653516660455353608584269947453671975119140866108894155301475482380279134802396019693210176227024211759062491138657979294089605032079022145582126123 8865790664484674052530581265338935458424748394995904621589604491373260608210981359276954112716214996345352700422012334780727075954239815981087918775586046645618621652557406735970376616958809701100235893393748012972529459577110959689773362899372960176582585081024160600544648638949496095737546243681455049617594824549594769026776342912566491341052373802028334357684758330052253493476130939521108619517221832825890934440901145222795535295032126951963841361578735799386766413466137865436890482883823183528148391983758569163108216599 14345150632277717866653555589861754881386239224575052262555237858561427123246838245843936672104335793176524128183717124000828733180344641358949925841377922283349327309405775793654764490934665304204535041097569563031010992312081367640193177527387964160974024218714177570547435265233338202579379788406169708461210600400884438455867705241275979380202571323311031292151779000283818246715784456181563973125806102773344606416020286088904429450333602434344120496381131819079976589693162077195952974022481162822237997015837591308690342722 23210941296762391919184136855200690339810987619570956884144842349934687731457819605120890784820550789521876828605729458781555809134584457340037844616963968928967948961963182529625141107893475005304770934491317576003540451889192327329966540426760924337556609299738338171092083904182834298316926032087624758078805424950479207482644048153842470721254945125339365649836537330336071740191915395702672592643027935599235540856921431311699964745365729386307961857959867618466743003159299942632843456906304346350386388999596160471798559321 37556091929040109785837692445062445221197226844146009146700080208496114854704657850964827456924886582698400956789446582782384542314929098698987770458341891212317276271368958323279905598828140309509305975588887139034551444201273694970159717954148888498530633518452515741639519169416172500896305820493794466540016025351363645938511753395118450101457516448650396941988316330619889986907699851884236565768834038372580147272941717400604394195699331820652082354340999437546719592852462019828796430928785509172624386015433751780488902043 60767033225802501705021829300263135561008214463716966030844922558430802586162477456085718241745437372220277785395176041563940351449513556039025615075305860141285225233332140852905046706721615314814076910080204715038091896090466022300126258380909812836087242818190853912731603073599006799213231852581419224618821450301842853421155801548960920822712461573989762591824853660955961727099615247586909158411861973971815688129863148712304358941065061206960044212300867056013462596011761962461639887835089855523010775015029912252287461364 98323125154842611490859521745325580782205441307862975177545002766926917440867135307050545698670323954918678742184622624346324893764442654738013385533647751353602501504701099176184952305549755624323382885669091854072643340291739717270285976335058701334617876336643369654371122243015179300109537673075213691158837475653206499359667554944079370924169978022640159533813169991575851714007315099471145724180696012344395835402804866112908753136764393027612126566641866493560182188864223982290436318763875364695635161030463664032776363407 159090158380645113195881351045588716343213655771579941208389925325357720027029612763136263940415761327138956527579798665910265245213956210777039000608953611494887726738033240029089999012271370939137459795749296569110735236382205739570412234715968514170705119154834223567102725316614186099322769525656632915777658925955049352780823356493040291746882439596629922125638023652531813441106930347058054882592557986316211523532668014825213112077829454234572170778942733549573644784875985944752076206598965220218645936045493576285063824771 257413283535487724686740872790914297125419097079442916385934928092284637467896748070186809639086085282057635269764421290256590138978398865515052386142601362848490228242734339205274951317821126563460842681418388423183378576673945456840698211051027215505322995491477593221473847559629365399432307198731846606936496401608255852140490911437119662671052417619270081659451193644107665155114245446529200606773253998660607358935472880938121865214593847262184297345584600043133826973740209927042512525362840584914281097075957240317840188178 416503441916132837882622223836503013468632752851022857594324853417642357494926360833323073579501846609196591797344219956166855384192355076292091386751554974343377954980767579234364950330092497502598302477167684992294113813056151196411110445766995729676028114646311816788576572876243551498755076724388479522714155327563305204921314267930159954417934857215900003785089217296639478596221175793587255489365811984976818882468140895763334977292423301496756468124527333592707471758616195871794588731961805805132927033121450816602904012949 673916725451620562569363096627417310594051849930465773980259781509926994962823108903509883218587931891254227067108641246423445523170753941807143772894156337191868183223501918439639901647913624066059145158586073415477492389730096653251808656818022945181351110137789410010050420435872916898187383923120326129650651729171561057061805179367279617088987274835170085444540410940747143751335421240116456096139065983637426241403613776701456842507017148758940765470111933635841298732356405798837101257324646390047208130197408056920744201127 1090420167367753400451985320463920324062684602781488631574584634927569352457749469736832956798089778500450818864452861202590300907363109018099235159645711311535246138204269497674004851978006121568657447635753758407771606202786247849662919102585018674857379224784101226798626993312116468396942460647508805652364807056734866261983119447297439571506922132051070089229629628237386622347556597033703711585504877968614245123871754672464791819799440450255697233594639267228548770490972601670631689989286452195180135163318858873523648214076 1764336892819373963021348417091337634656736452711954405554844416437496347420572578640342840016677710391705045931561502449013746430533862959906378932539867648727114321427771416113644753625919745634716592794339831823249098592516344502914727759403041620038730334921890636808677413747989385295129844570629131782015458785906427319044924626664719188595909406886240174674170039178133766098892018273820167681643943952251671365275368449166248662306457599014637999064751200864390069223329007469468791246611098585227343293516266930444392415203 2854757060187127363473333737555257958719421055493443037129429051365065699878322048377175796814767488892155864796014363651604047337896971978005614092185578960262360459632040913787649605603925867203374040430093590231020704795302592352577646861988060294896109559705991863607304407060105853692072305218137937434380265842641293581028044073962158760102831538937310263903799667415520388446448615307523879267148821920865916489147123121631040482105898049270335232659390468092938839714301609140100481235897550780407478456835125803968040629279 4619093953006501326494682154646595593376157508205397442684273467802562047298894627017518636831445199283860910727575866100617793768430834937911993024725446608989474781059812329901294359229845612838090633224433422054269803387818936855492374621391101914934839894627882500415981820808095238987202149788767069216395724628547720900072968700626877948698740945823550438577969706593654154545340633581344046948792765873117587854422491570797289144412355648284973231724141668957328908937630616609569272482508649365634821750351392734412433044482 7473851013193628689968015892201853552095578563698840479813702519167627747177216675394694433646212688176016775523590229752221841106327806915917607116911025569251835240691853243688943964833771480041464673654527012285290508183121529208070021483379162209830949454333874364023286227868201092679274455006905006650775990471189014481101012774589036708801572484760860702481769374009174542991789248888867926215941587793983504343569614692428329626518253697555308464383532137050267748651932225749669753718406200146042300207186518538380473673761 12092944966200130016462698046848449145471736071904237922497975986970189794476111302412213070477657887459877686251166095852839634874758641853829600141636472178241310021751665573590238324063617092879555306878960434339560311570940466063562396104770264124765789348961756864439268048676296331666476604795672075867171715099736735381173981475215914657500313430584411141059739080602828697537129882470211973164734353667101092197992106263225618770930609345840281696107673806007596657589562842359239026200914849511677121957537911272792906718243 19566795979393758706430713939050302697567314635603078402311678506137817541653327977806907504123870575635894461774756325605061475981086448769747207258547497747493145262443518817279182288897388572921019980533487446624850819754061995271632417588149426334596738803295631228462554276544497424345751059802577082517947705570925749862274994249804951366301885915345271843541508454612003240528919131359079899380675941461084596541561720955653948397448863043395590160491205943057864406241495068108908779919321049657719422164724429811173380392004 31659740945593888722893411985898751843039050707507316324809654493108007336129439280219120574601528463095772148025922421457901110855845090623576807400183969925734455284195184390869420612961005665800575287412447880964411131325002461335194813692919690459362528152257388092901822325220793756012227664598249158385119420670662485243448975725020866023802199345929682984601247535214831938066049013829291872545410295128185688739553827218879567168379472389235871856598879749065461063831057910468147806120235899169396544122262341083966287110247 51226536924987647429324125924949054540606365343110394727121332999245824877782767258026028078725399038731666609800678747062962586836931539393324014658731467673227600546638703208148602901858394238721595267945935327589261951079064456606827231281069116793959266955553019321364376601765291180357978724400826240903067126241588235105723969974825817390104085261274954828142755989826835178594968145188371771926086236589270285281115548174533515565828335432631462017090085692123325470072552978577056586039556948827115966286986770895139667502251 82886277870581536152217537910847806383645416050617711051930987492353832213912206538245148653326927501827438757826601168520863697692776630016900822058915437598962055830833887599018023514819399904522170555358383208553673082404066917942022044973988807253321795107810407414266198926986084936370206388999075399288186546912250720349172945699846683413906284607204637812744003525041667116661017159017663644471496531717455974020669375393413082734207807821867333873688965441188786533903610889045204392159792847996512510409249111979105954612498 134112814795569183581541663835796860924251781393728105779052320491599657091694973796271176732052326540559105367627279915583826284529708169410224836717646905272189656377472590807166626416677794143243765823304318536142935033483131374548849276255057924047281062063363426735630575528751376116728185113399901640191253673153838955454896915674672500804010369868479592640886759514868502295255985304206035416397582768306726259301784923567946598300036143254498795890779051133312112003976163867622260978199349796823628476696235882874245622114749 216999092666150719733759201746644667307897197444345816830983307983953489305607180334516325385379254042386544125453881084104689982222484799427125658776562342871151712208306478406184649931497194047765936378662701744696608115887198292490871321229046731300602857171173834149896774455737461053098391502398977039479440220066089675804069861374519184217916654475684230453630763039910169411917002463223699060869079300024182233322454298961359681034243951076366129764468016574500898537879774756667465370359142644820140987105484994853351576727247 351111907461719903315300865582441528232148978838073922610035628475553146397302154130787502117431580582945649493081160999688516266752192968837350495494209248143341368585779069213351276348174988191009702201967020280839543149370329667039720597484104655347883919234537260885527349984488837169826576615798878679670693893219928631258966777049191685021927024344163823094517522554778671707172987767429734477266662068330908492624239222529306279334280094330864925655247067707813010541855938624289726348558492441643769463801720877727597198841996 568111000127870623049060067329086195540046176282419739441018936459506635702909334465303827502810834625332193618535042083793206248974677768264476154270771591014493080794085547619535926279672182238775638580629722025536151265257527959530591918713151386648486776405711095035424124440226298222924968118197855719150134113286018307063036638423710869239843678819848053548148285594688841119089990230653433538135741368355090725946693521490665960368524045407231055419715084282313909079735713380957191718917635086463910450907205872580948775569243 919222907589590526364360932911527723772195155120493662051054564935059782100211488596091329620242415208277843111616203083481722515726870737101826649764980839157834449379864616832887202627847170429785340782596742306375694414627857626570312516197256041996370695640248355920951474424715135392751544733996734398820828006505946938322003415472902554261770703164011876642665808149467512826262977998083168015402403436685999218570932744019972239702804139738095981074962151990126919621591652005246918067476127528107679914708926750308545974411239 1487333907717461149413421000240613919312241331402913401492073501394566417803120823061395157123053249833610036730151245167274928764701548505366302804035752430172327530173950164452423128907519352668560979363226464331911845679885385586100904434910407428644857472045959450956375598864941433615676512852194590117970962119791965245385040053896613423501614381983859930190814093744156353945352968228736601553538144805041089944517626265510638200071328185145327036494677236272440828701327365386204109786393762614571590365616132622889494749980482 2406556815307051675777781933152141643084436486523407063543128066329626199903332311657486486743295665041887879841767448250756651280428419242468129453800733269330161979553814781285310331535366523098346320145823206638287540094513243212671216951107663470641228167686207806877327073289656569008428057586191324516791790126297912183707043469369515977763385085147871806833479901893623866771615946226819769568940548241727089163088559009530610439774132324883423017569639388262567748322919017391451027853869890142679270280325059373198040724391721 3893890723024512825191202933392755562396677817926320465035201567724192617706453134718881643866348914875497916571918693418031580045129967747834432257836485699502489509727764945737733460442885875766907299509049670970199385774398628798772121386018070899286085639732167257833702672154598002624104570438385914634762752246089877429092083523266129401264999467131731737024293995637780220716968914455556371122478693046768179107606185275041248639845460510028750054064316624535008577024246382777655137640263652757250860645941191996087535474372203 6300447538331564500968984866544897205481114304449727528578329634053818817609785446376368130609644579917385796413686141668788231325558386990302561711637218968832651489281579727023043791978252398865253619654872877608486925868911872011443338337125734369927313807418375064711029745444254571632532628024577239151554542372387789612799126992635645379028384552279603543857773897531404087488584860682376140691419241288495268270694744284571859079619592834912173071633956012797576325347165400169106165494133542899930130926266251369285576198763924 10194338261356077326160187799937652767877792122376047993613531201778011435316238581095249774475993494792883712985604835086819811370688354738136993969473704668335140999009344672760777252421138274632160919163922548578686311643310500810215459723143805269213399447150542322544732417598852574256637198462963153786317294618477667041891210515901774780293384019411335280882067893169184308205553775137932511813897934335263447378300929559613107719465053344940923125698272637332584902371411782946761303134397195657180991572207443365373111673136127 16494785799687641827129172666482549973358906426825775522191860835831830252926024027471617905085638074710269509399290976755608042696246741728439555681110923637167792488290924399783821044399390673497414538818795426187173237512222372821658798060269539639140713254568917387255762163043107145889169826487540392937871836990865456654690337508537420159321768571690938824739841790700588395694138635820308652505317175623758715648995673844184966799084646179853096197332228650130161227718577183115867468628530738557111122498473694734658687871900051 26689124061043719153289360466420202741236698549201823515805392037609841688242262608566867679561631569503153222384895811842427854066935096466576549650584628305502933487300269072544598296820528948129575457982717974765859549155532873631874257783413344908354112701719459709800494580641959720145807024950503546724189131609343123696581548024439194939615152591102274105621909683869772703899692410958241164319215109959022163027296603403798074518549699524794019323030501287462746130089988966062628771762927934214292114070681138100031799545036178 43183909860731360980418533132902752714595604976027599037997252873441671941168286636038485584647269644213422731784186788598035896763181838195016105331695551942670725975591193472328419341219919621626989996801513400953032786667755246453533055843682884547494825956288377097056256743685066866034976851438043939662060968600208580351271885532976615098936921162793212930361751474570361099593831046778549816824532285582780878676292277247983041317634345704647115520362729937592907357808566149178496240391458672771403236569154832834690487416936229 69873033921775080133707893599322955455832303525229422553802644911051513629410549244605353264208901213716575954169082600440463750830116934661592654982280180248173659462891462544873017638040448569756565454784231375718892335823288120085407313627096229455848938658007836806856751324327026586180783876388547486386250100209551704047853433557415810038552073753895487035983661158440133803493523457736790981143747395541803041703588880651781115836184045229441134843393231225055653487898555115241125012154386606985695350639835970934722286961972407 113056943782506441114126426732225708170427908501257021591799897784493185570578835880643838848856170857929998685953269389038499647593298772856608760313975732190844385438482656017201436979260368191383555451585744776671925122491043366538940369470779114003343764614296213903913008068012093452215760727826591426048311068809760284399125319090392425137488994916688699966345412633010494903087354504515340797968279681124583920379881157899764157153818390934088250363755961162648560845707121264419621252545845279757098587208990803769412774378908636 182929977704281521247834320331548663626260212026486444145602542695544699199989385125249192113065072071646574640122351989478963398423415707518201415296255912439018044901374118562074454617300816761140120906369976152390817458314331486624347683097875343459192703272304050710769759392339120038396544604215138912434561169019311988446978752647808235176041068670584187002329073791450628706580877962252131779112027076666386962083470038551545272990002436163529385207149192387704214333605676379660746264700231886742793937848826774704135061340881043 295986921486787962361960747063774371796688120527743465737402440480037884770568221005893030961921242929576573326075621378517463046016714480374810175610231644629862430339856774579275891596561184952523676357955720929062742580805374853163288052568654457462536467886600264614682767460351213490612305332041730338482872237829072272846104071738200660313530063587272886968674486424461123609668232466767472577080306757790970882463351196451309430143820827097617635570905153550352775179312797644080367517246077166499892525057817578473547835719789679 478916899191069483609795067395323035422948332554229909883004983175582583970557606131142223074986315001223147966197973367996426444440130187893011590906487557068880475241230893141350346213862001713663797264325697081453560039119706339787635735666529800921729171158904315325452526852690333529008849936256869250917433406848384261293082824386008895489571132257857073971003560215911752316249110429019604356192333834457357844546821235002854703133823263261147020778054345938056989512918474023741113781946309053242686462906644353177682897060670722 774903820677857445971755814459097407219636453081973375620407423655620468741125827137035254036907557930799721292273594746513889490456844668267821766516719201698742905581087667720626237810423186666187473622281418010516302619925081192950923788235184258384265639045504579940135294313041547019621155268298599589400305644677456534139186896124209555803101195845129960939678046640372875925917342895787076933272640592248328727010172431454164133277644090358764656348959499488409764692231271667821481299192386219742578987964461931651230732780460401 1253820719868926929581550881854420442642584785636203285503412406831203052711683433268177477111893872932022869258471568114510315934896974856160833357423206758767623380822318560861976584024285188379851270886607115091969862659044787532738559523901714059305994810204408895265587821165731880548630005204555468840317739051525840795432269720510218451292672328102987034910681606856284628242166453324806681289464974426705686571556993666457018836411467353619911677127013845426466754205149745691562595081138695272985265450871106284828913629841131123 2028724540546784375553306696313517849862221238718176661123819830486823521452809260405212731148801430862822590550745162861024205425353819524428655123939925960466366286403406228582602821834708375046038744508888533102486165278969868725689483312136898317690260449249913475205723115478773427568251160472854068429718044696203297329571456616634428007095773523948116995850359653496657504168083796220593758222737615018954015298567166097911182969689111443978676333475973344914876518897381017359384076380331081492727844438835568216480144362621591524 3282545260415711305134857578167938292504806024354379946627232237318026574164492693673390208260695303794845459809216730975534521360250794380589488481363132719233989667225724789444579405858993563425890015395495648194456027938014656258428042836038612376996255259454322370471310936644505308116881165677409537270035783747729138125003726337144646458388445852051104030761041260352942132410250249545400439512202589445659701870124159764368201806100578797598588010602987190341343273102530763050946671461469776765713109889706674501309057992462722647 5311269800962495680688164274481456142367027263072556607751052067804850095617301954078602939409496734657668050359961893836558726785604613905018143605303058679700355953629131018027182227693701938471928759904384181296942193216984524984117526148175510694686515708704235845677034052123278735685132326150263605699753828443932435454575182953779074465484219375999221026611400913849599636578334045765994197734940204464613717168691325862279384775789690241577264344078960535256219791999911780410330747841800858258440954328542242717789202355084314171 8593815061378206985823021852649394434871833287426936554378284305122876669781794647751993147670192038452513510169178624812093248145855408285607632086666191398934345620854855807471761633552695501897818775299879829491398221154999181242545568984214123071682770968158558216148344988767784043802013491827673142969789612191661573579578909290923720923872665228050325057372442174202541768988584295311394637247142793910273419038815485626647586581890269039175852354681947725597563065102442543461277419303270635024154064218248917219098260347547036818 13905084862340702666511186127130850577238860550499493162129336372927726765399096601830596087079688773110181560529140518648651974931460022190625775691969250078634701574483986825498943861246397440369747535204264010788340414371983706226663095132389633766369286676862794061825379040891062779487145817977936748669543440635594009034154092244702795389356884604049546083983843088052141405566918341077388834982082998374887136207506811488926971357679959280753116698760908260853782857102354323871608167145071493282595018546791159936887462702631350989 22498899923718909652334207979780245012110693837926429716507620678050603435180891249582589234749880811562695070698319143460745223077315430476233407778635441477569047195338842632970705494799092942267566310504143840279738635526982887469208664116603756838052057645021352277973724029658846823289159309805609891639333052827255582613733001535626516313229549832099871141356285262254683174555502636388783472229225792285160555246322297115574557939570228319928969053442855986451345922204796867332885586448342128306749082765040077155985723050178387807 36403984786059612318845394106911095589349554388425922878636957050978330200579987851413185321829569584672876631227459662109397198008775452666859183470604691556203748769822829458469649356045490382637313845708407851068079049898966593695871759248993390604421344321884146339799103070549909602776305127783546640308876493462849591647887093780329311702586434436149417225340128350306824580122420977466172307211308790660047691453829108604501529297250187600682085752203764247305128779307151191204493753593413621589344101311831237092873185752809738796 58902884709778521971179602086691340601460248226352352595144577729028933635760879100995774556579450396235571701925778805570142421086090883143092591249240133033772795965161672091440354850844583324904880156212551691347817685425949481165080423365597147442473401966905498617772827100208756426065464437589156531948209546290105174261620095315955828015815984268249288366696413612561507754677923613854955779440534582945208246700151405720076087236820415920611054805646620233756474701511948058537379340041755749896093184076871314248858908802988126603 95306869495838134290024996193602436190809802614778275473781534780007263836340866952408959878409019980908448333153238467679539619094866335809951774719844824589976544734984501549910004206890073707542194001920959542415896735324916074860952182614590538046894746288789644957571930170758666028841769565372703172257086039752954765909507189096285139718402418704398705592036541962868332334800344591321128086651843373605255938153980514324577616534070603521293140557850384481061603480819099249741873093635169371485437285388702551341732094555797865399 154209754205616656261204598280293776792270050841130628068926112509036197472101746053404734434988470377144020035079017273249682040180957218953044365969084957623749340700146173641350359057734657032447074158133511233763714420750865556026032605980187685489368148255695143575344757270967422454907234002961859704205295586043059940171127284412240967734218402972647993958732955575429840089478268205176083866092377956550464184854131920044653703770891019441904195363497004714818078182331047308279252433676925121381530469465573865590591003358785992002 249516623701454790551229594473896212983079853455908903542707647289043461308442613005813694313397490358052468368232255740929221659275823554762996140688929782213725885435130675191260363264624730739989268160054470776179611156075781630886984788594778223536262894544484788532916687441726088483749003568334562876462381625796014706080634473508526107452620821677046699550769497538298172424278612796497211952744221330155720123008112434369231320304961622963197335921347389195879681663150146558021125527312094492866967754854276416932323097914583857401 403726377907071446812434192754189989775349904297039531611633759798079658780544359059218428748385960735196488403311273014178903699456780773716040506658014739837475226135276848832610722322359387772436342318187982009943325576826647186913017394574965909025631042800179932108261444712693510938656237571296422580667677211839074646251761757920767075186839224649694693509502453113728012513756881001673295818836599286706184307862244354413885024075852642405101531284844393910697759845481193866300377960989019614248498224319850282522914101273369849403 653243001608526237363663787228086202758429757752948435154341407087123120088986972065032123061783451093248956771543528755108125358732604328479036647346944522051201111570407524023871085586984118512425610478242452786122936732902428817800002183169744132561893937344664720641178132154419599422405241139630985457130058837635089352332396231429293182639460046326741393060271950652026184938035493798170507771580820616861904430870356788783116344380814265368298867206191783106577441508631340424321503488301114107115465979174126699455237199187953706804 1056969379515597684176097979982276192533779662049987966765975166885202778869531331124250551810169411828445445174854801769287029058189385102195077154004959261888676337705684372856481807909343506284861952796430434796066262309729076004713019577744710041587524980144844652749439576867113110361061478710927408037797736049474163998584157989350060257826299270976436086569774403765754197451792374799843803590417419903568088738732601143197001368456666907773400398491036177017275201354112534290621881449290133721363964203493976981978151300461323556207 1710212381124123921539761767210362395292209419802936401920316573972325898958518303189282674871952862921694401946398330524395154416921989430674113801351903783939877449276091896880352893496327624797287563274672887582189199042631504822513021760914454174149418917489509373390617709021532709783466719850558393494927794887109253350916554220779353440465759317303177479630046354417780382389827868598014311361998240520429993169602957931980117712837481173141699265697227960123852642862743874714943384937591247828479430182668103681433388499649277263011 2767181760639721605715859747192638587825989081852924368686291740857528677828049634313533226682122274750139847121253132293682183475111374532869190955356863045828553786981776269736834701405671131082149516071103322378255461352360580827226041338659164215736943897634354026140057285888645820144528198561485801532725530936583417349500712210129413698292058588279613566199820758183534579841620243397858114952415660423998081908335559075177119081294148080915099664188264137141127844216856409005565266386881381549843394386162080663411539800110600819218 4477394141763845527255621514403000983118198501655860770606608314829854576786567937502815901554075137671834249067651462818077337892033363963543304756708766829768431236257868166617187594901998755879437079345776209960444660394992085649739063099573618389886362815123863399530674994910178529927994918412044195027653325823692670700417266430908767138757817905582791045829867112601314962231448111995872426314413900944428075077938517007157236794131629254056798929885492097264980487079600283720508651324472629378322824568830184344844928299759878082229 7244575902403567132971481261595639570944187583508785139292900055687383254614617571816349128236197412421974096188904595111759521367144738496412495712065629875596985023239644436354022296307669886961586595416879532338700121747352666476965104438232782605623306712758217425670732280798824350072523116973529996560378856760276088049917978641038180837049876493862404612029687870784849542073068355393730541266829561368426156986274076082334355875425777334971898594073756234406108331296456692726073917711354010928166218954992265008256468099870478901447 11721970044167412660227102775998640554062386085164645909899508370517237831401185509319165029790272550093808345256556057929836859259178102459955800468774396705365416259497512602971209891209668642841023674762655742299144782142344752126704167537806400995509669527882080825201407275709002880000518035385574191588032182583968758750335245071946947975807694399445195657859554983386164504304516467389602967581243462312854232064212593089491592669557406589028697523959248331671088818376056976446582569035826640306489043523822449353101396399630356983676 18966545946570979793198584037594280125006573668673431049192408426204621086015803081135514158026469962515782441445460653041596380626322840956368296180840026580962401282737157039325232187517338529802610270179535274637844903889697418603669271976039183601132976240640298250872139556507827230073041152359104188148411039344244846800253223712985128812857570893307600269889242854171014046377584822783333508848073023681280389050486669171825948544983183924000596118033004566077197149672513669172656486747180651234655262478814714361357864499500835885123 30688515990738392453425686813592920679068959753838076959091916796721858917416988590454679187816742512609590786702016710971433239885500943416324096649614423286327817542234669642296442078727007172643633944942191016936989686032042170730373439513845584596642645768522379076073546832216830110073559187744678379736443221928213605550588468784932076788665265292752795927748797837557178550682101290172936476429316485994134621114699262261317541214540590513029293641992252897748285968048570645619239055783007291541144306002637163714459260899131192868799 49655061937309372246624270851187200804075533422511508008284325222926480003432791671590193345843212475125373228147477364013029620511823784372692392830454449867290218824971826681621674266244345702446244215121726291574834589921739589334042711489884768197775622009162677326945686388724657340146600340103782567884854261272458452350841692497917205601522836186060396197638040691728192597059686112956269985277389509675415010165185931433143489759523774437029889760025257463825483117721084314791895542530187942775799568481451878075817125398632028753922 80343577928047764700049957664780121483144493176349584967376242019648338920849780262044872533659954987734964014849494074984462860397324727789016489480068873153618036367206496323918116344971352875089878160063917308511824275953781760064416151003730352794418267777685056403019233220941487450220159527848460947621297483200672057901430161282849282390188101478813192125386838529285371147741787403129206461706705995669549631279885193694461030974064364950059183402017510361573769085769654960411134598313195234316943874484089041790276386297763221622721 129998639865357136946674228515967322287220026598861092975660567242574818924282571933635065879503167462860337242996971438997492480909148512161708882310523323020908255192178323005539790611215698577536122375185643600086658865875521349398458862493615120992193889786847733729964919609666144790366759867952243515506151744473130510252271853780766487991710937664873588323024879221013563744801473516085476446984095505344964641445071125127604520733588139387089073162042767825399252203490739275203030140843383177092743442965540919866093511696395250376643 210342217793404901646724186180747443770364519775210677943036809262223157845132352195679938413163122450595301257846465513981955341306473239950725371790592196174526291559384819329457906956187051452626000535249560908598483141829303109462875013497345473786612157564532790132984152830607632240586919395800704463127449227673802568153702015063615770381899039143686780448411717750298934892543260919214682908690801501014514272724956318822065551707652504337148256564060278186973021289260394235614164739156578411409687317449629961656369897994158471999364 340340857658762038593398414696714766057584546374071770918697376504797976769414924129315004292666289913455638500843436952979447822215621752112434254101115519195434546751563142334997697567402750030162122910435204508685142007704824458861333875990960594778806047351380523862949072440273777030953679263752947978633600972146933078405973868844382258373609976808560368771436596971312498637344734435300159355674897006359478914170027443949670072441240643724237329726103046012372273492751133510817194879999961588502430760415170881522463409690553722376007 550683075452166940240122600877462209827949066149282448861734185767021134614547276324994942705829412364050939758689902466961403163522094992063159625891707715369960838310947961664455604523589801482788123445684765417283625149534127568324208889488306068565418204915913313995933225270881409271540598659553652441761050199820735646559675883907998028755509015952247149219848314721611433529887995354514842264365698507373993186894983762771735624148893148061385586290163324199345294782011527746431359619156539999912118077864800843178833307684712194375371 891023933110928978833521015574176975885533612523354219780431562271819111383962200454309946998495702277506578259533339419940850985737716744175593879992823234565395385062511103999453302090992551512950246356119969925968767157238952027185542765479266663344224252267293837858882297711155186302494277923306600420394651171967668724965649752752380287129118992760807517991284911692923932167232729789815001620040595513733472101065011206721405696590133791785622916016266370211717568274762661257248554499156501588414548838279971724701296717375265916751378 1441707008563095919073643616451639185713482678672636668642165748038840245998509476779304889704325114641557518018223241886902254149259811736238753505884530949935356223373459065663908906614582352995738369801804735343252392306773079595509751654967572731909642457183207151854815522982036595574034876582860252862155701371788404371525325636660378315884628008713054667211133226414535365697120725144329843884406294021107465287959994969493141320739026939847008502306429694411062863056774189003679914118313041588326666916144772567880130025059978111126749 2332730941674024897907164632025816161599016291195990888422597310310659357382471677233614836702820816919064096277756581306843105134997528480414347385877354184500751608435970169663362208705574904508688616157924705269221159464012031622695294420446839395253866709450500989713697820693191781876529154506166853282550352543756073096490975389412758603013747001473862185202418138107459297864353454934144845504446889534840937389025006176214547017329160731632631418322696064622780431331536850260928468617469543176741215754424744292581426742435244027878127 3774437950237120816980808248477455347312498969868627557064763058349499603380981154012919726407145931560621614295979823193745359284257340216653100891761885134436107831809429235327271115320157257504426985959729440612473551770785111218205046075414412127163509166633708141568513343675228377450564031089027106144706053915544477468016301026073136918898375010186916852413551364521994663561474180078474689388853183555948402676985001145707688338068187671479639920629125759033843294388311039264608382735782584765067882670569516860461556767495222139004876 6107168891911145714887972880503271508911515261064618445487360368660158960763452831246534563109966748479685710573736404500588464419254868697067448277639239318936859440245399404990633324025732162013115602117654145881694711234797142840900340495861251522417375876084209131282211164368420159327093185595193959427256406459300550564507276415485895521912122011660779037615969502629453961425827635012619534893300073090789340066010007321922235355397348403112271338951821823656623725719847889525536851353252127941809098424994261153042983509930466166883003 9881606842148266531868781128980726856224014230933246002552123427009658564144433985259454289517112680040307324869716227694333823703512208913720549169401124453372967272054828640317904439345889419517542588077383586494168263005582254059105386571275663649580885042717917272850724508043648536777657216684221065571962460374845028032523577441559032440810497021847695890029520867151448624987301815091094224282153256646737742742995008467629923693465536074591911259580947582690467020108158928790145234089034712706876981095563778013504540277425688305887879 15988775734059412246756754009483998365135529491997864448039483795669817524907886816505988852627079428519993035443452632194922288122767077610787997447040363772309826712300228045308537763371621581530658190195037732375862974240379396900005727067136915171998260918802126404132935672412068696104750402279415024999218866834145578597030853857044927962722619033508474927645490369780902586413129450103713759175453329737527082809005015789552159048862884477704182598532769406347090745828006818315682085442286840648686079520558039166547523787356154472770882 25870382576207678778625535138464725221359543722931110450591607222679476089052320801765443142144192108560300360313168859889256111826279286524508546616441488225682793984355056685626442202717511001048200778272421318870031237245961650959111113638412578821579145961520043676983660180455717232882407618963636090571181327208990606629554431298603960403533116055356170817675011236932351211400431265194807983457606586384264825552000024257182082742328420552296093858113716989037557765936165747105827319531321553355563060616121817180052064064781842778658761 41859158310267091025382289147948723586495073214928974898631091018349293613960207618271431994771271537080293395756621492084178399949046364135296544063481851997992620696655284730934979966089132582578858968467459051245894211486341047859116840705549493993577406880322170081116595852867785928987158021243051115570400194043136185226585285155648888366255735088864645745320501606713253797813560715298521742633059916121791908361005040046734241791191305030000276456646486395384648511764172565421509404973608394004249140136679856346599587852137997251429643 67729540886474769804007824286413448807854616937860085349222698241028769703012528420036875136915463645640593756069790351973434511775325650659805090679923340223675414681010341416561422168806643583627059746739880370115925448732302698818227954343962072815156552841842213758100256033323503161869565640206687206141581521252126791856139716454252848769788851144220816562995512843645605009213991980493329726090666502506056733913005064303916324533519725582296370314760203384422206277700338312527336724504929947359812200752801673526651651916919840030088404 109588699196741860829390113434362172394349690152789060247853789259378063316972736038308307131686735182720887151826411844057612911724372014795101634743405192221668035377665626147496402134895776166205918715207339421361819660218643746677344795049511566808733959722164383839216851886191289090856723661449738321711981715295262977082725001609901737136044586233085462308316014450358858807027552695791851468723726418627848642274010104350650566324711030612296646771406689779806854789464510877948846129478538341364061340889481529873251239769057837281518047 177318240083216630633397937720775621202204307090649145597076487500406833019985264458345182268602198828361480907896202196031047423499697665454906725423328532445343450058675967564057824303702419749832978461947219791477745108950946445495572749393473639623890512564006597597317107919514792252726289301656425527853563236547389768938864718064154585905833437377306278871311527294004463816241544676285181194814392921133905376187015168654566890858230756194593017086166893164229061067164849190476182853983468288723873541642283203399902891685977677311606451 286906939279958491462788051155137793596553997243438205844930276759784896336958000496653489400288934011082368059722614040088660335224069680250008360166733724667011485436341593711554226438598195916038897177154559212839564769169590192172917544442985206432624472286170981436533959805706081343583012963106163849565544951842652746021589719674056323041878023610391741179627541744363322623269097372077032663538119339761754018461025273005217457182941786806889663857573582944035915856629360068425028983462006630087934882531764733273154131455035514593124498 464225179363175122096185988875913414798758304334087351442006764260191729356943264954998671668891132839443848967618816236119707758723767345704915085590062257112354935495017561275612050742300615665871875639101779004317309878120536637668490293836458846056514984850177579033851067725220873596309302264762589377419108188390042514960454437738210908947711460987698020050939069038367786439510642048362213858352512260895659394648040441659784348041172543001482680943740476108264976923794209258901211837445474918811808424174047936673057023141013191904730949 751132118643133613558974040031051208395312301577525557286937041019976625693901265451652161069180066850526217027341430276208368093947837025954923445756795981779366420931359154987166277180898811581910772816256338217156874647290126829841407838279444052489139457136348560470385027530926954939892315227868753226984653140232695260982044157412267231989589484598089761230566610782731109062779739420439246521890631600657413413109065714665001805224114329808372344801314059052300892780423569327326240820907481548899743306705812669946211154596048706497855447 1215357298006308735655160028906964623194070605911612908728943805280168355050844530406650832738071199689970065994960246512328075852671604371659838531346858238891721356426376716262778327923199427247782648455358117221474184525410663467509898132115902898545654441986526139504236095256147828536201617492631342604403761328622737775942498595150478140937300945585787781281505679821098895502290381468801460380243143861553072807757106156324786153265286872809855025745054535160565869704217778586227452658352956467711551730879860606619268177737061898402586396 1966489416649442349214134068938015831589382907489138466015880846300144980744745795858302993807251266540496283022301676788536443946619441397614761977103654220671087777357735871249944605104098238829693421271614455438631059172700790297351305970395346951034793899122874699974621122787074783476093932720500095831388414468855433036924542752562745372926890430183877542512072290603830004565070120889240706902133775462210486220866171870989787958489401202618227370546368594212866762484641347913553693479260438016611295037585673276565479332333110604900441843 3181846714655751084869294097844980454783453513400751374744824651580313335795590326264953826545322466230466349017261923300864519799291045769274600508450512459562809133784112587512722933027297666077476069726972572660105243698111453764861204102511249849580448341109400839478857218043222612012295550213131438435792175797478170812867041347713223513864191375769665323793577970424928900067360502358042167282376919323763559028623278027314574111754688075428082396291423129373432632188859126499781146137613394484322846768465533883184747510070172503303028239 5148336131305193434083428166782996286372836420889889840760705497880458316540336122123256820352573732770962632039563600089400963745910487166889362485554166680233896911141848458762667538131395904907169490998587028098736302870812244062212510072906596800615242240232275539453478340830297395488389482933631534267180590266333603849791584100275968886791081805953542866305650261028758904632430623247282874184510694785974045249489449898304362070244089278046309766837791723586299394673500474413334839616873832500934141806051207159750226842403283108203470082 8330182845960944518952722264627976741156289934290641215505530149460771652335926448388210646897896199001428981056825523390265483545201532936163962994004679139796706044925961046275390471158693570984645560725559600758841546568923697827073714175417846650195690581341676378932335558873520007500685033146762972702972766063811774662658625447989192400655273181723208190099228231453687804699791125605325041466887614109737604278112727925618936181998777353474392163129214852959732026862359600913115985754487226985256988574516741042934974352473455611506498321 13478518977266137953036150431410973027529126355180531056266235647341229968876262570511467467250469931772391613096389123479666447291112020103053325479558845820030602956067809505038058009290089475891815051724146628857577849439735941889286224248324443450810932821573951918385813899703817402989074516080394506970153356330145378512450209548265161287446354987676751056404878492482446709332221748852607915651398308895711649527602177823923298252242866631520701929967006576546031421535860075326450825371361059486191130380567948202685201194876738719709968403 21808701823227082471988872696038949768685416289471172271771765796802001621212189018899678114148366130773820594153214646869931930836313553039217288473563524959827309000993770551313448480448783046876460612449706229616419396008659639716359938423742290101006623402915628297318149458577337410489759549227157479673126122393957153175108834996254353688101628169399959246504106723936134514032012874457932957118285923005449253805714905749542234434241643984995094093096221429505763448398219676239566811125848286471448118955084689245620175547350194331216466724 35287220800493220425025023127449922796214542644651703328038001444143231590088451589411145581398836062546212207249603770349598378127425573142270613953122370779857911957061580056351506489738872522768275664173852858473997245448395581605646162672066733551817556224489580215703963358281154813478834065307551986643279478724102531687559044544519514975547983157076710302908985216418581223364234623310540872769684231901160903333317083573465532686484510616515796023063228006051794869934079751566017636497209345957639249335652637448305376742226933050926435127 57095922623720302897013895823488872564899958934122875599809767240945233211300640608310823695547202193320032801402818417219530308963739126181487902426685895739685220958055350607664954970187655569644736276623559088090416641457055221322006101095809023652824179627405208513022112816858492223968593614534709466316405601118059684862667879540773868663649611326476669549413091940354715737396247497768473829887970154906610157139031989323007767120726154601510890116159449435557558318332299427805584447623057632429087368290737326693925552289577127382142901851 92383143424213523322038918950938795361114501578774578927847768685088464801389092197721969276946038255866245008652422187569128687091164699323758516379808266519543132915116930664016461459926528092413011940797411946564413886905450802927652263767875757204641735851894788728726076175139647037447427679842261452959685079842162216550226924085293383639197594483553379852322077156773296960760482121079014702657654386807771060472349072896473299807210665218026686139222677441609353188266379179371602084120266978386726617626389964142230929031804060433069336978 149479066047933826219052814774427667926014460512897454527657535926033698012689732806032792972493240449186277810055240604788658996054903825505246418806494162259228353873172281271681416430114183662057748217420971034654830528362506024249658364863684780857465915479299997241748188991998139261416021294376970919276090680960221901412894803626067252302847205810030049401735169097128012698156729618847488532545624541714381217611381062219481066927936819819537576255382126877166911506598678607177186531743324610815813985917127290836156481321381187815212238829 241862209472147349541091733725366463287128962091672033455505304611122162814078825003754762249439278705052522818707662792357787683146068524829004935186302428778771486788289211935697877890040711754470760158218382981219244415267956827177310628631560538062107651331194785970474265167137786298863448974219232372235775760802384117963121727711360635942044800293583429254057246253901309658917211739926503235203278928522152278083730135115954366735147485037564262394604804318776264694865057786548788615863591589202540603543517254978387410353185248248281575807 391341275520081175760144548499794131213143422604569487983162840537155860826768557809787555221932519154238800628762903397146446679200972350334251353992796591037999840661461493207379294320154895416528508375639354015874074943630462851426968993495245318919573566810494783212222454159135925560279470268596203291511866441762606019376016531337427888244892006103613478655792415351029322357073941358773991767748903470236533495695111197335435433663084304857101838649986931195943176201463736393725975147606916200018354589460644545814543891674566436063493814636 633203484992228525301236282225160594500272384696241521438668145148278023640847382813542317471371797859291323447470566189504234362347040875163256289179099019816771327449750705143077172210195607170999268533857736997093319358898419678604279622126805856981681218141689569182696719326273711859142919242815435663747642202564990137339138259048788524186936806397196907909849661604930632015991153098700495002952182398758685773778841332451389800398231789894666101044591735514719440896328794180274763763470507789220895193004161800792931302027751684311775390443 1024544760512309701061380830724954725713415807300811009421830985685433884467615940623329872693304317013530124076233469586650681041548013225497507643171895610854771168111212198350456466530350502587527776909497091012967394302528882530031248615622051175901254784952184352394919173485409637419422389511411638955259508644327596156715154790386216412431828812500810386565642076955959954373065094457474486770701085868995219269473952529786825234061316094751767939694578666710662617097792530574000738911077423989239249782464806346607475193702318120375269205079 1657748245504538226362617112950115320213688191997052530860499130833711908108463323436872190164676114872821447523704035776154915403895054100660763932350994630671542495560962903493533638740546109758527045443354828010060713661427302208635528237748857032882936003093873921577615892811683349278565308754227074619007150846892586294054293049435004936618765618898007294475491738560890586389056247556174981773653268267753905043252793862238215034459547884646434040739170402225382057994121324754275502674547931778460144975468968147400406495730069804687044595522 2682293006016847927423997943675070045927103999297863540282330116519145792576079264060202062857980431886351571599937505362805596445443067326158271575522890241526313663672175101843990105270896612346054822352851919023028107963956184738666776853370908208784190788046058273972535066297092986697987698265638713574266659491220182450769447839821221349050594431398817681041133815516850540762121342013649468544354354136749124312726746392025040268520863979398201980433749068936044675091913855328276241585625355767699394757933774494007881689432387925062313800601 4340041251521386153786615056625185366140792191294916071142829247352857700684542587497074253022656546759173019123641541138960511849338121426819035507873884872197856159233138005337523744011442722104581867796206747033088821625383486947302305091119765241667126791139932195550150959108776335976553007019865788193273810338112768744823740889256226285669360050296824975516625554077741127151177589569824450318007622404503029355979540254263255302980411864044636021172919471161426733086035180082551744260173287546159539733402742641408288185162457729749358396123 7022334257538234081210613000300255412067896190592779611425159363872003493260621851557276315880636978645524590723579046501766108294781188752977307083396775113724169822905313107181513849282339334450636690149058666056116929589339671685969081944490673450451317579185990469522686025405869322674540705285504501767540469829332951195593188729077447634719954481695642656557759369594591667913298931583473918862361976541252153668706286646288295571501275843442838001606668540097471408177949035410827985845798643313858934491336517135416169874594845654811672196724 11362375509059620234997228056925440778208688381887695682567988611224861193945164439054350568903293525404697609847220587640726620144119310179796342591270659985922025982138451112519037593293782056555218557945265413089205751214723158633271387035610438692118444370325922665072836984514645658651093712305370289960814280167445719940416929618333673920389314531992467632074384923672332795064476521153298369180369598945755183024685826900551550874481687707487474022779588011258898141263984215493379730105971930860018474224739259776824458059757303384561030592847 18384709766597854316207841057225696190276584572480475293993147975096864687205786290611626884783930504050222200570799634142492728438900498932773649674667435099646195805043764219700551442576121391005855248094324079145322680804062830319240468980101112142569761949511913134595523009920514981325634417590874791728354749996778671136010118347411121555109269013688110288632144293266924462977775452736772288042731575487007336693392113546839846445982963550930312024386256551356369549441933250904207715951770574173877408716075776912240627934352149039372702789571 29747085275657474551205069114151136968485272954368170976561136586321725881150950729665977453687224029454919810418020221783219348583019809112569992265938095085568221787182215332219589035869903447561073806039589492234528432018785988952511856015711550834688206319837835799668359994435160639976728129896245081689169030164224391076427047965744795475498583545680577920706529216939257258042251973890070657223101174432762519718077940447391397320464651258417786047165844562615267690705917466397587446057742505033895882940815036689065085994109452423933733382418 48131795042255328867412910171376833158761857526848646270554284561418590568356737020277604338471154533505142010988819855925712077021920308045343641940605530185214417592225979551920140478446024838566929054133913571379851112822848819271752324995812662977257968269349748934263883004355675621302362547487119873417523780161003062212437166313155917030607852559368688209338673510206181721020027426626842945265832749919769856411470053994231243766447614809348098071552101113971637240147850717301795162009513079207773291656890813601305713928461601463306436171989 77878880317912803418617979285527970127247130481216817247115421147740316449507687749943581792158378562960061821406840077708931425604940117157913634206543625270782639379408194884139729514315928286128002860173503063614379544841634808224264181011524213811946174589187584733932242998790836261279090677383364955106692810325227453288864214278900712506106436105049266130045202727145438979062279400516913602488933924352532376129547994441622641086912266067765884118717945676586904930853768183699382608067255584241669174597705850290370799922571053887240169554407 126010675360168132286030889456904803286008988008065463517669705709158907017864424770221186130629533096465203832395659933634643502626860425203257276147149155455997056971634174436059869992761953124694931914307416634994230657664483627496016506007336876789204142858537333668196126003146511882581453224870484828524216590486230515501301380592056629536714288664417954339383876237351620700082306827143756547754766674272302232541018048435853884853359880877113982190270046790558542171001618901001177770076768663449442466254596663891676513851032655350546605726396 203889555678080935704648868742432773413256118489282280764785126856899223467372112520164767922787911659425265653802500011343574928231800542361170910353692780726779696351042369320199599507077881410822934774480919698608610202506118435720280687018861090601150317447724918402128369001937348143860543902253849783630909400811457968790165594870957342042820724769467220469429078964497059679144586227660670150243700598624834608670566042877476525940272146944879866308987992467145447101855387084700560378144024247691111640852302514182047313773603709237786775280803 329900231038249067990679758199337576699265106497347744282454832566058130485236537290385954053417444755890469486198159944978218430858660967564428186500841936182776753322676543756259469499839834535517866688788336333602840860170602063216297193026197967390354460306262252070324495005083860026441997127124334612155125991297688484291466975463013971579535013433885174808812955201848680379226893054804426697998467272897136841211584091313330410793632027821993848499258039257703989272857005985701738148220792911140554107106899178073723827624636364588333381007199 533789786716330003695328626941770350112521224986630025047239959422957353952608649810550721976205356415315735140000659956321793359090461509925599096854534716909556449673718913076459069006917715946340801463269256032211451062676720498936577880045059057991504777753987170472452864007021208170302541029378184395786035392109146453081632570333971313622355738203352395278242034166345740058371479282465096848242167871521971449882150134190806936733904174766873714808246031724849436374712393070402298526364817158831665747959201692255771141398240073826120156288002 863690017754579071686008385141107926811786331483977769329694791989015484437845187100936676029622801171206204626198819901300011789949122477490027283355376653092333202996395456832718538506757550481858668152057592365814291922847322562152875073071257025381859238060249422542777359012105068196744538156502519007941161383406834937373099545796985285201890751637237570087054989368194420437598372337269523546240635144419108291093734225504137347527536202588867563307504070982553425647569399056104036674585610069972219855066100870329494969022876438414453537295201 1397479804470909075381337012082878276924307556470607794376934751411972838390453836911487398005828157586521939766199479857621805149039583987415626380209911370001889652670114369909177607513675266428199469615326848398025742985524043061089452953116316083373364015814236593015230223019126276367047079185880703403727196775515981390454732116130956598824246489840589965365297023534540160495969851619734620394482803015941079740975884359694944284261440377355741278115750102707402862022281792126506335200950427228803885603025302562585266110421116512240573693583203 2261169822225488147067345397223986203736093887954585563706629543400988322828299024012424074035450958757728144392398299758921816938988706464905653663565288023094222855666509826741896146020432816910058137767384440763840034908371365623242328026187573108755223253874486015558007582031231344563791617342383222411668358158922816327827831661927941884026137241477827535452352012902734580933568223957004143940723438160360188032069618585199081631788976579944608841423254173689956287669851191182610371875536037298776105458091403432914761079443992950655027230878404 3658649626696397222448682409306864480660401444425193358083564294812961161218752860923911472041279116344250084158597779616543622088028290452321280043775199393096112508336624196651073753534108083338257607382711289161865777893895408684331780979303889192128587269688722608573237805050357620930838696528263925815395554934438797718282563778058898482850383731318417500817649036437274741429538075576738764335206241176301267773045502944894025916050416957300350119539004276397359149692132983309116707076486464527579991061116705995500027189865109462895600924461607 5919819448921885369516027806530850684396495332379778921790193838213949484047051884936335546076730075101978228550996079375465439027016996917226933707340487416190335364003134023392969899554540900248315745150095729925705812802266774307574109005491462300883810523563208624131245387081588965494630313870647148227063913093361614046110395439986840366876520972796245036270001049340009322363106299533742908275929679336661455805115121530093107547839393537244958960962258450087315437361984174491727078952022501826356096519208109428414788269309102413550628155340011 9578469075618282591964710215837715165056896776804972279873758133026910645265804745860247018118009191446228312709593858992009061115045287369548213751115686809286447872339758220044043653088648983586573352532807019087571590696162182991905889984795351493012397793251931232704483192131946586425469010398911074042459468027800411764392959218045738849726904704114662537087650085777284063792644375110481672611135920512962723578160624474987133463889810494545309080501262726484674587054117157800843786028508966353936087580324815423914815459174211876446229079801618 15498288524540167961480738022368565849453392109184751201663951971240860129312856630796582564194739266548206541260589938367474500142062284286775147458456174225476783236342892243437013552643189883834889097682902749013277403498428957299479998990286813793896208316815139856835728579213535551920099324269558222269523381121162025810503354658032579216603425676910907573357651135117293386155750674644224580887065599849624179383275746005080241011729204031790268041463521176571990024416101332292570864980531468180292184099532924852329603728483314289996857235141629 25076757600158450553445448238206281014510288885989723481537710104267770774578661376656829582312748457994434853970183797359483561257107571656323361209571861034763231108682650463481057205731838867421462450215709768100848994194591140291385888975082165286908606110067071089540211771345482138345568334668469296311982849148962437574896313876078318066330330381025570110445301220894577449948395049754706253498201520362586902961436370480067374475619014526335577121964783903056664611470218490093414651009040434534228271679857740276244419187657526166443086314943247 40575046124698618514926186260574846863963680995174474683201662075508630903891518007453412146507487724542641395230773735726958061399169855943098508668028035260240014345025542706918070758375028751256351547898612517114126397693020097590865887965368979080804814426882210946375940350559017690265667658938027518581506230270124463385399668534110897282933756057936477683802952356011870836104145724398930834385267120212211082344712116485147615487348218558125845163428305079628654635886319822385985515989571902714520455779390665128574022916140840456439943550084876 65651803724857069068371634498781127878473969881164198164739372179776401678470179384110241728820236182537076249200957533086441622656277427599421869877599896295003245453708193170399127964106867618677813998114322285214975391887611237882251776940451144367713420536949282035916152121904499828611235993606496814893489079419086900960295982410189215349264086438962047794248253576906448286052540774153637087883468640574797985306148486965214989962967233084461422285393088982685319247356538312479400166998612337248748727459248405404818442103798366622883029865028123 106226849849555687583297820759355974742437650876338672847941034255285032582361697391563653875327723907079717644431731268813399684055447283542520378545627931555243259798733735877317198722481896369934165546012934802329101789580631335473117664905820123448518234963831492982292092472463517518876903652544524333474995309689211364345695650944300112632197842496898525478051205932918319122156686498552567922268735760787009067650860603450362605450315451642587267448821394062313973883242858134865385682988184239963269183238639070533392465019939207079322973415112999 171878653574412756651669455258137102620911620757502871012680406435061434260831876775673895604147960089616793893632688801899841306711724711141942248423227827850246505252441929047716326686588763988611979544127257087544077181468242573355369441846271267816231655500780775018208244594368017347488139646151021148368484389108298265305991633354489327981461928935860573272299459509824767408209227272706205010152204401361807052957009090415577595413282684727048689734214483044999293130599396447344785849986796577212017910697887475938210907123737573702206003280141122 278105503423968444234967276017493077363349271633841543860621440690346466843193574167237549479475683996696511538064420070713240990767171994684462626968855759405489765051175664925033525409070660358546145090140191889873178971048873908828487106752091391264749890464612268000500337066831534866365043298695545481843479698797509629651687284298789440613659771432759098750350665442743086530365913771258772932420940162148816120607869693865940200863598136369635957183035877107313267013842254582210171532974980817175287093936526546471603372143676780781528976695254121 449984156998381200886636731275630179984260892391344414873301847125407901104025450942911445083623644086313305431697108872613082297478896705826404875392083587255736270303617593972749852095659424347158124634267448977417256152517116482183856548598362659080981545965393043018708581661199552213853182944846566630211964087905807894957678917653278768595121700368619672022650124952567853938575141043964977942573144563510623173564878784281517796276880821096684646917250360152312560144441651029554957382961777394387305004634414022409814279267414354483734979975395243 728089660422349645121604007293123257347610164025185958733923287815754367947219025110148994563099328083009816969761528943326323288246068700510867502360939346661226035354793258897783377504730084705704269724407640867290435123565990391012343655350454050345731436430005311019208918728031087080218226243542112112055443786703317524609366201952068209208781471801378770773000790395310940468941054815223750874994084725659439294172748478147457997140478957466320604100286237259625827158283905611765128915936758211562592098570940568881417651411091135265263956670649364 1178073817420730846008240738568753437331871056416530373607225134941162269051244476053060439646722972169323122401458637815939405585724965406337272377753022933916962305658410852870533229600389509052862394358675089844707691276083106873196200203948816709426712982395398354037917500389230639294071409188388678742267407874609125419567045119605346977803903172169998442795650915347878794407516195859188728817567229289170062467737627262428975793417359778563005251017536597411938387302725556641320086298898535605949897103205354591291231930678505489748998936646044607 1906163477843080491129844745861876694679481220441716332341148422756916636998463501163209434209822300252332939371220166759265728873971034106848139880113962280578188341013204111768316607105119593758566664083082730711998126399649097264208543859299270759772444418825403665057126419117261726374289635431930790854322851661312442944176411321557415187012684643971377213568651705743189734876457250674412479692561314014829501761910375740576433790557838736029325855117822834671564214461009462253085215214835293817512489201776295160172649582089596625014262893316693971 3084237295263811337138085484430630132011352276858246705948373557698078906049707977216269873856545272421656061772678804575205134459695999513185412257866985214495150646671614964638849836705509102811429058441757820556705817675732204137404744063248087469199157401220802019095043919506492365668361044620319469596590259535921568363743456441162762164816587816141375656364302621091068529283973446533601208510128543303999564229648003003005409583975198514592331106135359432083502601763735018894405301513733829423462386304981649751463881512768102114763261829962738578 4990400773106891828267930230292506826690833497299963038289521980454995543048171478379479308066367572673989001143898971334470863333667033620033552137980947495073338987684819076407166443810628696569995722524840551268703944075381301401613287922547358228971601820046205684152170338623754092042650680052250260450913111197234011307919867762720177351829272460112752869932954326834258264160430697208013688202689857318829065991558378743581843374533037250621656961253182266755066816224744481147490516728569123240974875506757944911636531094857698739777524723279432549 8074638068370703165406015714723136958702185774158209744237895538153074449097879455595749181922912845095645062916577775909675997793363033133218964395847932709568489634356434041046016280516137799381424780966598371825409761751113505539018031985795445698170759221267007703247214258130246457711011724672569730047503370733155579671663324203882939516645860276254128526297256947925326793444404143741614896712818400622828630221206381746587252958508235765213988067388541698838569417988479500041895818242302952664437261811739594663100412607625800854540786553242171127 13065038841477594993673945945015643785393019271458172782527417518608069992146050933975228489989280417769634064060476747244146861127030066753252516533828880204641828622041253117453182724326766495951420503491438923094113705826494806940631319908342803927142361041313213387399384596754000549753662404724819990498416481930389590979583191966603116868475132736366881396230211274759585057604834840949628584915508257941657696212764760490169096333041273015835645028641723965593636234213223981189386334970872075905412137318497539574736943702483499594318311276521603676 21139676909848298159079961659738780744095205045616382526765313056761144441243930389570977671912193262865279126977054523153822858920393099886471480929676812914210318256397687158499199004842904295332845284458037294919523467577608312479649351894138249625313120262580221090646598854884247007464674129397389720545919852663545170651246516170486056385120993012621009922527468222684911851049238984691243481628326658564486326433971142236756349291549508781049633096030265664432205652201703481231282153213175028569849399130237134237837356310109300448859097829763774803 34204715751325893152753907604754424529488224317074555309292730575369214433389981323546206161901473680634913191037531270397969720047423166639723997463505693118852146878438940275952381729169670791284265787949476218013637173404103119420280671802481053552455481303893434478045983451638247557218336534122209711044336334593934761630829708137089173253596125748987891318757679497444496908654073825640872066543834916506144022646735902726925445624590781796885278124671989630025841886414927462420668488184047104475261536448734673812574300012592800043177409106285378479 55344392661174191311833869264493205273583429362690937836058043632130358874633911713117183833813666943500192318014585793551792578967816266526195478393182506033062465134836627434451580734012575086617111072407513512933160640981711431899930023696619303177768601566473655568692582306522494564683010663519599431590256187257479932282076224307575229638717118761608901241285147720129408759703312810332115548172161575070630349080707044963681794916140290577934911220702255294458047538616630943651950641397222133045110935578971808050411656322702100492036506936049153282 89549108412500084464587776869247629803071653679765493145350774207499573308023893036663389995715140624135105509052117063949762299015239433165919475856688199151914612013275567710403962463182245877901376860356989730946797814385814551320210695499100356730224082870367090046738565758160742121901347197641809142634592521851414693912905932444664402892313244510596792560042827217573905668357386635972987614715996491576774371727442947690607240540731072374820189345374244924483889425031558406072619129581269237520372472027706481862985956335294900535213916042334531761 144893501073674275776421646133740835076655083042456430981408817839629932182657804749780573829528807567635297827066702857501554877983055699692114954249870705184977077148112195144855543197194820964518487932764503243879958455367525983220140719195719659907992684436840745615431148064683236686584357861161408574224848709108894626194982156752239632531030363272205693801327974937703314428060699446305103162888158066647404720808149992654289035456871362952755100566076500218941936963648189349724569770978491370565483407606678289913397612657997001027250422978383685043 234442609486174360241009423002988464879726736722221924126759592047129505490681697786443963825243948191770403336118819921451317176998295132858034430106558904336891689161387762855259505660377066842419864793121492974826756269753340534540351414694820016638216767307207835662169713822843978808485705058803217716859441230960309320107888089196904035423343607782802486361370802155277220096418086082278090777604154558224179092535592940344896275997602435327575289911450745143425826388679747755797188900559760608085855879634384771776383568993291901562464339020718216804 379336110559848636017431069136729299956381819764678355108168409886759437673339502536224537654772755759405701163185522778952872054981350832550149384356429609521868766309499958000115048857571887806938352725885996218706714725120866517760492133890539676546209451744048581277600861887527215495070062919964626291084289940069203946302870245949143667954373971055008180162698777092980534524478785528583193940492312624871583813343742932999185311454473798280330390477527245362367763352327937105521758671538251978651339287241063061689781181651288902589714761999101901847 613778720046022996258440492139717764836108556486900279234928001933888943164021200322668501480016703951176104499304342700404189231979645965408183814462988513858760455470887720855374554517948954649358217519007489193533470994874207052300843548585359693184426219051256416939770575710371194303555767978767844007943731171029513266410758335146047703377717578837810666524069579248257754620896871610861284718096467183095762905879335873344081587452076233607905680388977990505793589741007684861318947572098012586737195166875447833466164750644580804152179101019820118651 993114830605871632275871561276447064792490376251578634343096411820648380837360702858893039134789459710581805662489865479357061286960996797958333198819418123380629221780387678855489603375520842456296570244893485412240185719995073570061335682475899369730635670795304998217371437597898409798625830898732470299028021111098717212713628581095191371332091549892818846686768356341238289145375657139444478658588779807967346719223078806343266898906550031888236070866505235868161353093335621966840706243636264565388534454116510895155945932295869706741893863018922020498 1606893550651894628534312053416164829628598932738478913578024413754537324001381903181561540614806163661757910161794208179761250518940642763366517013282406637239389677251275399710864157893469797105654787763900974605773656714869280622362179231061259062915061889846561415157142013308269604102181598877500314306971752282128230479124386916241239074709809128730629513210837935589496043766272528750305763376685246991063109625102414679687348486358626265496141751255483226373954942834343306828159653815734277152125729620991958728622110682940450510894072964038742139149 2600008381257766260810183614692611894421089308990057547921120825575185704838742606040454579749595623372339715824284073659118311805901639561324850212101824760620018899031663078566353761268990639561951358008794460018013842434864354192423514913537158432645697560641866413374513450906168013900807429776232784605999773393226947691838015497336430446041900678623448359897606291930734332911648185889750242035274026799030456344325493486030615385265176297384377822121988462242116295927678928795000360059370541717514264075108469623778056615236320217635966827057664159647 4206901931909660889344495668108776724049688241728536461499145239329723028840124509222016120364401787034097625986078281838879562324842282324691367225384231397859408576282938478277217919162460436667606145772695434623787499149733634814785694144598417495560759450488427828531655464214437618002989028653733098912971525675355178170962402413577669520751709807354077873108444227520230376677920714640056005411959273790093565969427908165717963871623802562880519573377471688616071238762022235623160013875104818869639993696100428352400167298176770728530039791096406298796 6806910313167427150154679282801388618470777550718594009420266064904908733678867115262470700113997410406437341810362355497997874130743921886016217437486056158479427475314601556843571680431451076229557503781489894641801341584597989007209209058135575928206457011130294241906168915120605631903796458429965883518971299068582125862800417910914099966793610485977526233006050519450964709589568900529806247447233300589124022313753401651748579256888978860264897395499460150858187534689701164418160373934475360587154257771208897976178223913413090946166006618154070458443 11013812245077088039499174950910165342520465792447130470919411304234631762518991624484486820478399197440534967796440637336877436455586204210707584662870287556338836051597540035120789599593911512897163649554185329265588840734331623821994903202733993423767216461618722070437824379335043249906785487083698982431942824743937304033762820324491769487545320293331604106114494746971195086267489615169862252859192574379217588283181309817466543128512781423145416968876931839474258773451723400041320387809580179456794251467309326328578391211589861674696046409250476757239 17820722558244515189653854233711553960991243343165724480339677369139540496197858739746957520592396607846972309606802992834875310586330126096723802100356343714818263526912141591964361280025362589126721153335675223907390182318929612829204112260869569351973673472749016312343993294455648881810581945513664865950914123812519429896563238235405869454338930779309130339120545266422159795857058515699668500306425874968341610596934711469215122385401760283410314364376391990332446308141424564459480761744055540043948509238518224304756615125002952620862053027404547215682 28834534803321603229153029184621719303511709135612854951259088673374172258716850364231444341070795805287507277403243630171752747041916330307431386763226631271157099578509681627085150879619274102023884802889860553172979023053261236651199015463603562775740889934367738382781817673790692131717367432597363848382856948556456733930326058559897638941884251072640734445235040013393354882124548130869530753165618449347559198880116021286681665513914541706555731333253323829806705081593147964500801149553635719500742760705827550633335006336592814295558099436655023972921 46655257361566118418806883418333273264502952478778579431598766042513712754914709103978401861663192413134479587010046623006628057628246456404155188863582974985975363105421823219049512159644636691150605956225535777080369205372190849480403127724473132127714563407116754695125810968246341013527949378111028714333771072368976163826889296795303508396223181851949864784355585279815514677981606646569199253472044324315900809477050732755896787899316301989966045697629715820139151389734572528960281911297691259544691269944345774938091621461595766916420152464059571188603 75489792164887721647959912602954992568014661614391434382857854715887885013631559468209846202733988218421986864413290253178380804670162786711586575626809606257132462683931504846134663039263910793174490759115396330253348228425452086131602143188076694903455453341484493077907628642037033145245316810708392562716628020925432897757215355355201147338107432924590599229590625293208869560106154777438730006637662773663460008357166754042578453413230843696521777030883039649945856471327720493461083060851326979045434030650173325571426627798188581211978251900714595161524 122145049526453840066766796021288265832517614093170013814456620758401597768546268572188248064397180631556466451423336876185008862298409243115741764490392581243107825789353328065184175198908547484325096715340932107333717433797642935612005270912549827031170016748601247773033439610283374158773266188819421277050399093294409061584104652150504655734330614776540464013946210573024384238087761424007929260109707097979360817834217486798475241312547145686487822728512755470085007861062293022421364972149018238590125300594519100509518249259784348128398404364774166350127 197634841691341561714726708624243258400532275707561448197314475474289482782177828040398094267131168849978453315836627129363389666968572029827328340117202187500240288473284832911318838238172458277499587474456328437587065662223095021743607414100626521934625470090085740850941068252320407304018582999527813839767027114219841959341320007505705803072438047701131063243536835866233253798193916201446659266747369871642820826191384240841053694725777989383009599759395795120030864332390013515882448033000345217635559331244692426080944877057972929340376656265488761511651 319779891217795401781493504645531524233049889800731462011771096232691080550724096612586342331528349481534919767259964005548398529266981272943070104607594768743348114262638160976503013437081005761824684189797260544920783096020737957355612685013176348965795486838686988623974507862603781462791849188347235116817426207514251020925424659656210458806768662477671527257483046439257638036281677625454588526857076969622181644025601727639528936038325135069497422487908550590115872193452306538303813005149363456225684631839211526590463126317757277468775060630262927861778 517414732909136963496220213269774782633582165508292910209085571706980563332901924652984436598659518331513373083096591134911788196235553302770398444724796956243588402735922993887821851675253464039324271664253588982507848758243832979099220099113802870900420956928772729474915576114924188766810432187875048956584453321734092980266744667161916261879206710178802590501019882305490891834475593826901247793604446841265002470216985968480582630764103124452507022247304345710146736525842320054186261038149708673861243963083903952671408003375730206809151716895751689373429 837194624126932365277713717915306306866632055309024372220856667939671643883626021265570778930187867813048292850356555140460186725502534575713468549332391724986936516998561154864324865112334469801148955854050849527428631854264570936454832784126979219866216443767459718098890083977527970229602281376222284073401879529248344001192169326818126720685975372656474117758502928744748529870757271452355836320461523810887184114242587696120111566802428259522004444735212896300262608719294626592490074043299072130086928594923115479261871129693487484277926777526014617235207 1354609357036069328773933931185081089500214220817317282429942239646652207216527945918555215528847386144561665933453146275371974921738087878483866994057188681230524919734484148752146716787587933840473227518304438509936480612508403915554052883240782090766637400696232447573805660092452158996412713564097333029986332850982436981458913993980042982565182082835276708259522811050239421705232865279257084114065970652152186584459573664600694197566531383974511466982517242010409345245136946646676335081448780803948172558007019431933279133069217691087078494421766306608636 2191803981163001694051647649100387396366846276126341654650798907586323851100153967184125994459035253957609958783809701415832161647240622454197335543389580406217461436733045303616471581899922403641622183372355288037365112466772974852008885667367761310632853844463692165672695744069980129226014994940319617103388212380230780982651083320798169703251157455491750826018025739794987951575990136731612920434527494463039370698702161360720805764368959643496515911717730138310671953964431573239166409124747852934035101152930134911195150262762705175365005271947780923843843 3546413338199071022825581580285468485867060496943658937080741147232976058316681913102681209987882640102171624717262847691204136568978710332681202537446769087447986356467529452368618298687510337482095410890659726547301593079281378767562938550608543401399491245159924613246501404162432288222427708504416950133374545231213217964109997314778212685816339538327027534277548550845227373281223002010870004548593465115191557283161735025321499961935491027471027378700247380321081299209568519885842744206196633737983273710937154343128429395831922866452083766369547230452479 5738217319362072716877229229385855882233906773070000591731540054819299909416835880286807204446917894059781583501072549107036298216219332786878538080836349493665447793200574755985089880587432741123717594263015014584666705546054353619571824217976304712032345089623616778919197148232412417448442703444736567236762757611443998946761080635576382389067496993818778360295574290640215324857213138742482924983120959578230927981863896386042305726304450670967543290417977518631753253174000093125009153330944486672018374863867289254323579658594628041817089038317328154296322 9284630657561143739702810809671324368100967270013659528812281202052275967733517793389488414434800534161953208218335396798240434785198043119559740618283118581113434149668104208353708179274943078605813005153674741131968298625335732387134762768584848113431836334783541392165698552394844705670870411949153517370137302842657216910871077950354595074883836532145805894573122841485442698138436140753352929531714424693422485265025631411363805688239941698438570669118224898952834552383568613010851897537141120410001648574804443597452009054426550908269172804686875384748801 15022847976923216456580040039057180250334874043083660120543821256871575877150353673676295618881718428221734791719407945905276733001417375906438278699119468074778881942868678964338798059862375819729530599416689755716635004171390086006706586986561152825464181424407158171084895700627257123119313115393890084606900060454101215857632158585930977463951333525964584254868697132125658022995649279495835854514835384271653413246889527797406111414544392369406113959536202417584587805557568706135861050868085607082020023438671732851775588713021178950086261843004203539045123 24307478634484360196282850848728504618435841313097319649356102458923851844883871467065784033316518962383687999937743342703517167786615419025998019317402586655892316092536783172692506239137318898335343604570364496848603302796725818393841349755146000938896017759190699563250594253022101828790183527343043601977037363296758432768503236536285572538835170058110390149441819973611100721134085420249188784046549808965075898511915159208769917102784334067844684628654427316537422357941137319146712948405226727492021672013476176449227597767447729858355434647691078923793924 39330326611407576652862890887785684868770715356180979769899923715795427722034225140742079652198237390605422791657151288608793900788032794932436298016522054730671198035405462137031304298999694718064874203987054252565238306968115904400547936741707153764360199183597857734335489953649358951909496642736933686583937423750859648626135395122216550002786503584074974404310517105736758744129734699745024638561385193236729311758804687006176028517328726437250798588190629734122010163498706025282573999273312334574041695452147909301003186480468908808441696490695282462839047 63637805245891936849145741736514189487206556669278299419256026174719279566918096607807863685514756352989110791594894631312311068574648213958434317333924641386563514127942245309723810538137013616400217808557418749413841609764841722794389286496853154703256216942788557297586084206671460780699680170079977288560974787047618081394638631658502122541621673642185364553752337079347859465263820119994213422607935002201805210270719846214945945620113060505095483216845057050659432521439843344429286947678539062066063367465624085750230784247916638666797131138386361386632971 102968131857299513502008632624299874355977272025459279189155949890514707288952321748549943337712993743594533583252045919921104969362681008890870615350446696117234712163347707446755114837136708334465092012544473001979079916732957627194937223238560308467616416126386415031921574160320819732609176812816910975144912210798477730020774026780718672544408177226260338958062854185084618209393554819739238061169320195438534522029524533221121974137441786942346281805035686784781442684938549369711860946951851396640105062917771995051233970728385547475238827629081643849472018 166605937103191450351154374360814063843183828694737578608411976065233986855870418356357807023227750096583644374846940551233416037937329222849304932684371337503798226291289952756478925375273721950865309821101891751392921526497799349989326509735413463170872633069174972329507658366992280513308856982896888263705886997846095811415412658439220795086029850868445703511815191264432477674657374939733451483777255197640339732300244379436067919757554847447441765021880743835440875206378392714141147894630390458706168430383396080801464754976302186142035958767468005236104989 269574068960490963853163006985113938199161100720196857797567925955748694144822740104907750360940743840178177958098986471154521007300010231740175548034818033621032938454637660203234040212410430285330401833646364753372001443230756977184263732973973771638489049195561387361429232527313100245918033795713799238850799208644573541436186685219939467630438028094706042469878045449517095884050929759472689544946575393078874254329768912657189893894996634389788046826916430620222317891316942083853008841582241855346273493301168075852698725704687733617274786396549649085577007 436180006063682414204317381345928002042344929414934436405979902020982681000693158461265557384168493936761822332945927022387937045237339454589480480719189371124831164745927612959712965587684152236195711654748256504764922969728556327173590242709387234809361682264736359690936890894305380759226890778610687502556686206490669352851599343659160262716467878963151745981693236713949573558708304699206141028723830590719213986630013292093257813652551481837229811848797174455663193097695334797994156736212632314052441923684564156654163480680989919759310745164017654321681996 705754075024173378057480388331041940241506030135131294203547827976731375145515898566173307745109237776940000291044913493542458052537349686329656028754007404745864103200565273162947005800094582521526113488394621258136924412959313304357853975683361006447850731460297747052366123421618481005144924574324486741407485415135242894287786028879099730346905907057857788451571282163466669442759234458678830573670405983798088240959782204750447707547548116227017858675713605075885510989012276881847165577794874169398715416985732232506862206385677653376585531560567303407259003 1141934081087855792261797769676969942283850959550065730609527729997714056146209057027438865129277731713701822623990840515930395097774689140919136509473196775870695267946492886122659971387778734757721825143142877762901847382687869631531444218392748241257212413725034106743303014315923861764371815352935174243964171621625912247139385372538259993063373786021009534433264518877416243001467539157884971602394236574517302227589795496843705521200099598064247670524510779531548704086707611679841322314007506483451157340670296389161025687066667573135896276724584957728940999 1847688156112029170319278158008011882525356989685197024813075557974445431291724955593612172874386969490641822915035754009472853150312038827248792538227204180616559371147058159285606977187873317279247938631537499021038771795647182935889298194076109247705063145185331853795669137737542342769516739927259660985371657036761155141427171401417359723410279693078867322884835801040882912444226773616563802176064642558315390468549577701594153228747647714291265529200224384607434215075719888561688487891802380652849872757656028621667887893452345226512481808285152261136200002 2989622237199884962581075927684981824809207949235262755422603287972159487437934012621051038003664701204343645539026594525403248248086727968167929047700400956487254639093551045408266948575652052036969763774680376783940619178335052567420742412468857488962275558910365960538972152053466204533888555280194835229335828658387067388566556773955619716473653479099876857318100319918299155445694312774448773778458879132832692696139373198437858749947747312355513199724735164138982919162427500241529810205809887136301030098326325010828913580519012799648378085009737218865141001 4837310393311914132900354085692993707334564938920459780235678845946604918729658968214663210878051670694985468454062348534876101398398766795416721585927605137103814010240609204693873925763525369316217702406217875804979390973982235503310040606544966736667338704095697814334641289791008547303405295207454496214707485695148222529993728175372979439883933172178744180202936120959182067889921086391012575954523521691148083164688950900032011978695395026646778728924959548746417134238147388803218298097612267789150902855982353632496801473971358026160859893294889480001341003 7826932630511799095481430013377975532143772888155722535658282133918764406167592980835714248881716371899329113993088943060279349646485494763584650633628006093591068649334160250102140874339177421353187466180898252588920010152317288070730783019013824225629614263006063774873613441844474751837293850487649331444043314353535289918560284949328599156357586651278621037521036440877481223335615399165461349732982400823980775860828324098469870728643142339002291928649694712885400053400574889044748108303422154925451932954308678643325715054490370825809237978304626698866482004 12664243023823713228381784099070969239478337827076182315893960979865369324897251949050377459759768042594314582447151291595155451044884261559001372219555611230694882659574769454796014800102702790669405168587116128393899401126299523574040823625558790962296952967101761589208254731635483299140699145695103827658750800048683512448554013124701578596241519823457365217723972561836663291225536485556473925687505922515128859025517274998501882707338537365649070657574654261631817187638722277847966406401034422714602835810291032275822516528461728851970097871599516178867823007 20491175654335512323863214112448944771622110715231904851552243113784133731064844929886091708641484414493643696440240234655434800691369756322586022853183617324285951308908929704898155674441880212022592634768014380982819411278616811644771606644572615187926567230107825364081868173479958050977992996182753159102794114402218802367114298074030177752599106474735986255245009002714144514561151884721935275420488323339109634886345599096971753435981679704651362586224348974517217241039297166892714514704456577640054768764599710919148231582952099677779335849904142877734305011 33155418678159225552244998211519914011100448542308087167446204093649503055962096878936469168401252457087958278887391526250590251736254017881587395072739228554980833968483699159694170474544583002691997803355130509376718812404916335218812430270131406150223520197209586953290122905115441350118692141877856986761544914450902314815668311198731756348840626298193351472968981564550807805786688370278409201107994245854238493911862874095473636143320217070300433243799003236149034428678019444740680921105491000354657604574890743194970748111413828529749433721503659056602128018 53646594332494737876108212323968858782722559257539992018998447207433636787026941808822560877042736871581601975327631760906025052427623774204173417925922845879266785277392628864592326148986463214714590438123144890359538223683533146863584036914704021338150087427317412317371991078595399401096685138060610145864339028853121117182782609272761934101439732772929337728213990567264952320347840255000344476528482569193348128798208473192445389579301896774951795830023352210666251669717316611633395435809947577994712373339490454114118979694365928207528769571407801934336433029 86802013010653963428353210535488772793823007799848079186444651301083139842989038687759030045443989328669560254215023287156615304163877792085760812998662074434247619245876328024286496623531046217406588241478275399736257036088449482082396467184835427488373607624526999270662113983710840751215377279938467132625883943304023431998450920471493690450280359071122689201182972131815760126134528625278753677636476815047586622710071347287919025722622113845252229073822355446815286098395336056374076356915438578349369977914381197309089727805779756737278203292911460990938561047 140448607343148701304461422859457631576545567057388071205443098508516776630015980496581590922486726200251162229542655048062640356591501566289934230924584920313514404523268956888878822772517509432121178679601420290095795259771982628945980504099539448826523695051844411588034105062306240152312062417999077278490222972157144549181233529744255624551720091844052026929396962699080712446482368880279098154164959384240934751508279820480364415301924010620204024903845707657481537768112652668007471792725386156344082351253871651423208707500145684944806972864319262925274994076 227250620353802664732814633394946404370368574857236150391887749809599916473005019184340620967930715528920722483757678335219255660755379358375695043923246994747762023769145284913165319396048555649527766921079695689832052295860432111028376971284374876314897302676371410858696219046017080903527439697937544411116106915461167981179684450215749315002000450915174716130579934830896472572616897505557851831801436199288521374218351167768283441024546124465456253977668063104296823866507988724381548149640824734693452329168252848732298435305925441682085176157230723916213555123 367699227696951366037276056254404035946914141914624221597330848318116693103020999680922211890417441729171884713300333383281896017346880924665629274847831915061276428292414241802044142168566065081648945600681115979927847555632414739974357475383914325141420997728215822446730324108323321055839502115936621689606329887618312530360917979960004939553720542759226743059976897529977185019099266385836949985966395583529456125726630988248647856326470135085660278881513770761778361634620641392389019942366210891037534680422124500155507142806071126626892149021549986841488549199 594949848050754030770090689649350440317282716771860371989218598127716609576026018865262832858348157258092607197058011718501151678102260283041324318771078909809038452061559526715209461564614620731176712521760811669759899851492846851002734446668289201456318300404587233305426543154340401959366941813874166100722436803079480511540602430175754254555720993674401459190556832360873657591716163891394801817767831782817977499944982156016931297351016259551116532859181833866075185501128630116770568092007035625730987009590377348887805578111996568308977325178780710757702104322 962649075747705396807366745903754476264196858686484593586549446445833302679047018546185044748765598987264491910358345101783047695449141207706953593618910824870314880353973768517253603733180685812825658122441927649687747407125261590977091922052203526597739298132803055752156867262663723015206443929810787790328766690697793041901520410135759194109441536433628202250533729890850842610815430277231751803734227366347433625671613144265579153677486394636776811740695604627853547135749271509159588034373246516768521690012501849043312720918067694935869474200330697599190653521 1557598923798459427577457435553104916581479575458344965575768044573549912255073037411447877607113756245357099107416356820284199373551401490748277912389989734679353332415533295232463065297795306544002370644202739319447647258618108441979826368720492728054057598537390289057583410417004124974573385743684953891051203493777273553442122840311513448665162530108029661441090562251724500202531594168626553621502059149165411125616595300282510451028502654187893344599877438493928732636877901625930156126380282142499508699602879197931118299030064263244846799379111408356892757843 2520247999546164824384824181456859392845676434144829559162317491019383214934120055957632922355879355232621591017774701922067247069000542698455231506008900559549668212769507063749716669030975992356828028766644666969135394665743370032956918290772696254651796896670193344809740277679667847989779829673495741681379970184475066595343643250447272642774604066541657863691624292142575342813347024445858305425236286515512844751288208444548089604705989048824670156340573043121782279772627173135089744160753528659268030389615381046974431019948131958180716273579442105956083411364 4077846923344624251962281617009964309427156009603174524738085535592933127189193093369080799962993111477978690125191058742351446442551944189203509418398890294229021545185040358982179734328771298900830399410847406288583041924361478474936744659493188982705854495207583633867323688096671972964353215417180695572431173678252340148785766090758786091439766596649687525132714854394299843015878618614484859046738345664678255876904803744830600055734491703012563500940450481615711012409505074761019900287133810801767539089218260244905549318978196221425563072958553514312976169207 6598094922890789076347105798466823702272832443748004083900403026612316342123313149326713722318872466710600281142965760664418693511552486887658740924407790853778689757954547422731896403359747291257658428177492073257718436590104848507893662950265885237357651391877776978677063965776339820954133045090676437253811143862727406744129409341206058734214370663191345388824339146536875185829225643060343164471974632180191100628193012189378689660440480751837233657281023524737493292182132247896109644447887339461035569478833641291879980338926328179606279346537995620269059580571 10675941846235413328309387415476788011699988453351178608638488562205249469312506242695794522281865578188578971268156819406770139954104431076862250342806681148007711303139587781714076137688518590158488827588339479546301478514466326982830407609759074220063505887085360612544387653873011793918486260507857132826242317540979746892915175431964844825654137259841032913957054000931175028845104261674828023518712977844869356505097815934209289716174972454849797158221474006353204304591637322657129544735021150262803108568051901536785529657904524401031842419496549134582035749778 17274036769126202404656493213943611713972820897099182692538891588817565811435819392022508244600738044899179252411122580071188833465656917964520991267214472001786401061094135204445972541048265881416147255765831552804019915104571175490724070560024959457421157278963137591221451619649351614872619305598533570080053461403707153637044584773170903559868507923032378302781393147468050214674329904735171187990687610025060457133290828123587979376615453206687030815502497531090697596773769570553239189182908489723838678046885542828665509996830852580638121766034544754851095330349 27949978615361615732965880629420399725672809350450361301177380151022815280748325634718302766882603623087758223679279399477958973419761349041383241610021153149794112364233722986160048678736784471574636083354171032350321393619037502473554478169784033677484663166048498203765839273522363408791105566106390702906295778944686900529959760205135748385522645182873411216738447148399225243519434166409999211509400587869929813638388644057797269092790425661536827973723971537443901901365406893210368733917929639986641786614937444365451039654735376981669964185531093889433131080127 45224015384487818137622373843364011439645630247549543993716271739840381092184145026740811011483341667986937476090401979549147806885418267005904232877235625151580513425327858190606021219785050352990783339120002585154341308723608677964278548729808993134905820445011635794987290893171715023663724871704924272986349240348394054167004344978306651945391153105905789519519840295867275458193764071145170399500088197894990270771679472181385248469405878868223858789226469068534599498139176463763607923100838129710480464661822987194116549651566229562308085951565638644284226410476 73173993999849433870588254472784411165318439597999905294893651890863196372932470661459113778365945291074695699769681379027106780305179616047287474487256778301374625789561581176766069898521834824565419422474173617504662702342646180437833026899593026812390483611060133998753130166694078432454830437811314975892645019293080954696964105183442400330913798288779200736258287444266500701713198237555169611009488785764920084410068116239182517562196304529760686762950440605978501399504583356973976657018767769697122251276760431559567589306301606543978050137096732533717357490603 118398009384337252008210628316148422604964069845549449288609923630703577465116615688199924789849286959061633175860083358576254587190597883053191707364492403452955139214889439367372091118306885177556202761594176202659004011066254858402111575629402019947296304056071769793740421059865793456118555309516239248878994259641475008863968450161749052276304951394684990255778127740133776159906962308700340010509576983659910355181747588420567766031602183397984545552176909674513100897643759820737584580119605899407602715938583418753684138957867836106286136088662371178001583901079 191572003384186685878798882788932833770282509443549354583503575521566773838049086349659038568215232250136328875629764737603361367495777499100479181851749181754329765004451020544138161016828720002121622184068349820163666713408901038839944602528995046759686787667131903792493551226559871888573385747327554224771639278934555963560932555345191452607218749683464190992036415184400276861620160546255509621519065769424830439591815704659750283593798487927745232315127350280491602297148343177711561237138373669104724967215343850313251728264169442650264186225759103711718941391682 309970012768523937887009511105081256375246579289098803872113499152270351303165702037858963358064519209197962051489848096179615954686375382153670889216241585207284904219340459911510252135135605179677824945662526022822670724475155897242056178158397066706983091723203673586233972286425665344691941056843793473650633538576030972424901005506940504883523701078149181247814542924534053021527122854955849632028642753084740794773563293080318049625400671325729777867304259955004703194792102998449145817257979568512327683153927269066935867222037278756550322314421474889720525292761 501542016152710623765808393894014090145529088732648158455617074673837125141214788387518001926279751459334290927119612833782977322182152881254150071067990766961614669223791480455648413151964325181799447129730875842986337437884056936082000780687392113466669879390335577378727523512985537233265326804171347698422272817510586935985833560852131957490742450761613372239850958108934329883147283401211359253547708522509571234365378997740068333219199159253475010182431610235496305491940446176160707054396353237617052650369271119380187595486206721406814508540180578601439466684443 811512028921234561652817904999095346520775668021746962327730573826107476444380490425376965284344270668532252978609460929962593276868528263407820960284232352168899573443131940367158665287099930361477272075393401865809008162359212833324056958845789180173652971113539250964961495799411202577957267861015141172072906356086617908410734566359072462374266151839762553487665501033468382904674406256167208885576351275594312029138942290820386382844599830579204788049735870190501008686732549174609852871654332806129380333523198388447123462708244000163364830854602053491159991977204 1313054045073945185418626298893109436666304756754395120783347648499944601585595278812894967210624022127866543905729073763745570599050681144661971031352223119130514242666923420822807078439064255543276719205124277708795345600243269769406057739533181293640322850503874828343689019312396739811222594665186488870495179173597204844396568127211204419865008602601375925727516459142402712787821689657378568139124059798103883263504321288560454716063798989832679798232167480425997314178672995350770559926050686043746432983892469507827311058194450721570179339394782632092599458661647 2124566073995179747071444203892204783187080424776142083111078222326052078029975769238271932494968292796398796884338534693708163875919209408069791991636455471299413816110055361189965743726164185904753991280517679574604353762602482602730114698378970473813975821617414079308650515111807942389179862526201630042568085529683822752807302693570276882239274754441138479215181960175871095692496095913545777024700411073698195292643263579380841098908398820411884586281903350616498322865405544525380412797705018849875813317415667896274434520902694721733544170249384685583759450638851 3437620119069124932490070502785314219853385181530537203894425870825996679615571048051166899705592314924265340790067608457453734474969890552731763022988678590429928058776978782012772822165228441448030710485641957283399699362845752372136172437912151767454298672121288907652339534424204682200402457191388118913063264703281027597203870820781481302104283357042514404942698419318273808480317785570924345163824470871802078556147584867941295814972197810244564384514070831042495637044078539876150972723755704893622246301308137404101745579097145443303723509644167317676358909300498 5562186193064304679561514706677519003040465606306679287005504093152048757645546817289438832200560607720664137674406143151161898350889099960801555014625134061729341874887034143202738565891392627352784701766159636858004053125448234974866287136291122241268274493738702986960990049536012624589582319717589748955631350232964850350011173514351758184343558111483652884157880379494144904172813881484470122188524881945500273848790848447322136913880596630656448970795974181658993959909484084401531385521460723743498059618723805300376180099999840165037267679893552003260118359939349 8999806312133429612051585209462833222893850787837216490899929963978045437261117865340605731906152922644929478464473751608615632825858990513533318037613812652159269933664012925215511388056621068800815412251801594141403752488293987347002459574203274008722573165859991894613329583960217306789984776908977867868694614936245877947215044335133239486447841468526167289100578798812418712653131667055394467352349352817302352404938433315263432728852794440901013355310045012701489596953562624277682358245216428637120305920031942704477925679096985608340991189537719320936477269239847 14561992505197734291613099916140352225934316394143895777905434057130094194906664682630044564106713530365593616138879894759777531176748090474334873052238946713888611808551047068418249953948013696153600114017961230999407805613742222321868746710494396249990847659598694881574319633496229931379567096626567616824325965169210728297226217849484997670791399580009820173258459178306563616825945548539864589540874234762802626253729281762585569642733391071557462326106019194360483556863046708679213743766677152380618365538755748004854105779096825773378258869431271324196595629179196 23561798817331163903664685125603185448828167181981112268805364021108139632167782547970650296012866453010523094603353646368393164002607080987868191089852759366047881742215059993633761342004634764954415526269762825140811558102036209668871206284697670258713420825458686776187649217456447238169551873535545484693020580105456606244441262184618237157239241048535987462359037977118982329479077215595259056893223587580104978658667715077849002371586185512458475681416064207061973153816609332956896102011893581017738671458787690709332031458193811381719250058968990645133072898419043 38123791322528898195277785041743537674762483576125008046710798078238233827074447230600694860119579983376116710742233541128170695179355171462203064142091706079936493550766107062052011295952648461108015640287724056140219363715778431990739952995192066508704268485057381657761968850952677169549118970162113101517346545274667334541667480034103234828030640628545807635617497155425545946305022764135123646434097822342907604912396996840434572014319576584015938007522083401422456710679656041636109845778570733398357036997543438714186137237290637155097508928400261969329668527598239 61685590139860062098942470167346723123590650758106120315516162099346373459242229778571345156132446436386639805345587187496563859181962252450071255231944465445984375292981167055685772637957283226062431166557486881281030921817814641659611159279889736767417689310516068433949618068409124407718670843697658586210367125380123940786108742218721471985269881677081795097976535132544528275784099979730382703327321409923012583571064711918283574385905762096474413688938147608484429864496265374593005947790464314416095708456331129423518168695484448536816758987369252614462741426017282 99809381462388960294220255209090260798353134334231128362226960177584607286316677009172040016252026419762756516087820728624734554361317423912274319374036171525920868843747274117737783933909931687170446806845210937421250285533593073650351112275081803276121957795573450091711586919361801577267789813859771687727713670654791275327776222252824706813300522305627602733594032287970074222089122743865506349761419232265920188483461708758718146400225338680490351696460231009906886575175921416229115793569035047814452745453874568137704305932775085691914267915769514583792409953615521 161494971602249022393162725376436983921943785092337248677743122276930980745558906787743385172384472856149396321433407916121298413543279676362345574605980636971905244136728441173423556571867214913232877973402697818702281207351407715309962271554971540043539647106089518525661204987770925984986460657557430273938080796034915216113884964471546178798570403982709397831570567420514602497873222723595889053088740642188932772054526420677001720786131100776964765385398378618391316439672186790822121741359499362230548453910205697561222474628259534228731026903138767198255151379632803 261304353064637982687382980585527244720296919426568377039970082454515588031875583796915425188636499275912152837521228644746032967904597100274619893980016808497826112980475715291161340505777146600403324780247908756123531492885000788960313383830053343319661604901662968617372791907132727562254250471417201961665794466689706491441661186724370885611870926288337000565164599708484676719962345467461395402850159874454852960537988129435719867186356439457455117081858609628298203014848108207051237534928534410045001199364080265698926780561034619920645294818908281782047561333248324 422799324666887005080545705961964228642240704518905625717713204731446568777434490584658810361020972132061549158954636560867331381447876776636965468585997445469731357117204156464584897077644361513636202753650606574825812700236408504270275655385024883363201252007752487143033996894903653547240711128974632235603875262724621707555546151195917064410441330271046398396735167128999279217835568191057284455938900516643785732592514550112721587972487540234419882467256988246689519454520294997873359276288033772275549653274285963260149255189294154149376321722047048980302712712881127 684103677731524987767928686547491473362537623945474002757683287185962156809310074381574235549657471407973701996475865205613364349352473876911585362566014253967557470097679871755746237583421508114039527533898515330949344193121409293230589039215078226682862856909415455760406788802036381109494961600391834197269669729414328198997207337920287950022312256559383398961899766837483955937797913658518679858789060391098638693130502679548441455158843979691874999549115597874987722469368403204924596811216568182320550852638366228959076035750328774070021616540955330762350274046129451 1106903002398411992848474392509455702004778328464379628475396491917408725586744564966233045910678443540035251155430501766480695730800350653548550831152011699437288827214884028220331134661065869627675730287549121905775156893357817797500864694600103110046064108917167942903440785696940034656735672729366466432873544992138949906552753489116205014432753586830429797358634933966483235155633481849575964314727960907742424425723017229661163043131331519926294882016372586121677241923888698202797956087504601954596100505912652192219225290939622928219397938263002379742652986759010578 1791006680129936980616403079056947175367315952409853631233079779103370882396054639347807281460335914948008953151906366972094060080152824530460136193718025953404846297312563899976077372244487377741715257821447637236724501086479227090731453733815181336728926965826583398663847574498976415766230634329758300630143214721553278105549960827036492964455065843389813196320534700803967191093431395508094644173517021298841063118853519909209604498290175499618169881565488183996664964393257101407722552898721170136916651358551018421178301326689951702289419554803957710505003260805140029 2897909682528348973464877471566402877372094280874233259708476271020779607982799204314040327371014358488044204307336868738574755810953175184008687024870037652842135124527447928196408506905553247369390988108996759142499657979837044888232318428415284446774991074743751341567288360195916450422966307059124767063016759713692228012102714316152697978887819430220242993679169634770450426249064877357670608488244982206583487544576537138870767541421507019544464763581860770118342206317145799610520508986225772091512751864463670613397526617629574630508817493066960090247656247564150607 4688916362658285954081280550623350052739410233284086890941556050124150490378853843661847608831350273436053157459243235710668815891105999714468823218588063606246981421840011828172485879150040625111106245930444396379224159066316271978963772162230465783503918040570334740231135934694892866189196941388883067693159974435245506117652675143189190943342885273610056189999704335574417617342496272865765252661762003505424550663430057048080372039711682519162634645147348954115007170710402901018243061884946942228429403223014689034575827944319526332798237047870917800752659508369290636 7586826045186634927546158022189752930111504514158320150650032321144930098361653047975887936202364631924097361766580104449243571702059174898477510243458101259089116546367459756368894386055593872480497234039441155521723817046153316867196090590645750230278909115314086081798424294890809316612163248448007834756176734148937734129755389459341888922230704703830299183678873970344868043591561150223435861150006985712008038208006594186951139581133189538707099408729209724233349377027548700628763570871172714319942155087478359647973354561949100963307054540937877891000315755933441243 12275742407844920881627438572813102982850914747442407041591588371269080588740506891637735545033714905360150519225823340159912387593165174612946333462046164865336097968207471584541380265205634497591603479969885551900947976112469588846159862752876216013782827155884420822029560229585702182801360189836890902449336708584183240247408064602531079865573589977440355373678578305919285660934057423089201113811768989217432588871436651235031511620844872057869734053876558678348356547737951601647006632756119656548371558310493048682549182506268627296105291588808795691752975264302731879 19862568453031555809173596595002855912962419261600727192241620692414010687102159939613623481236079537284247880992403444609155959295224349511423843705504266124425214514574931340910274651261228370072100714009326707422671793158622905713355953343521966244061736271198506903827984524476511499413523438284898737205513442733120974377163454061872968787804294681270654557357452276264153704525618573312636974961775974929440627079443245421982651201978061596576833462605768402581705924765500302275770203627292370868313713397971408330522537068217728259412346129746673582753291020236173122 32138310860876476690801035167815958895813334009043134233833209063683091275842666831251359026269794442644398400218226784769068346888389524124370177167550430989761312482782402925451654916466862867663704193979212259323619769271092494559515816096398182257844563427082927725857544754062213682214883628121789639654850151317304214624571518664404048653377884658711009931036030582183439365459675996401838088773544964146873215950879896657014162822822933654446567516482327080930062472503451903922776836383412027416685271708464457013071719574486355555517637718555469274506266284538905001 52000879313908032499974631762818814808775753270643861426074829756097101962944826770864982507505873979928646281210630229378224306183613873635794020873054697114186526997357334266361929567728091237735804907988538966746291562429715400272871769439920148501906299698281434629685529278538725181628407066406688376860363594050425189001734972726277017441182179339981664488393482858447593069985294569714475063735320939076313843030323142078996814024800995251023400979088095483511768397268952206198547040010704398284998985106435865343594256642704083814929983848302142857259557304775078123 84139190174784509190775666930634773704589087279686995659908038819780193238787493602116341533775668422573044681428857014147292653072003397760164198040605128103947839480139737191813584484194954105399509101967751226069911331700807894832387585536318330759750863125364362355543074032600938863843290694528478016515213745367729403626306491390681066094560063998692674419429513440631032435444970566116313152508865903223187058981203038736010976847623928905469968495570422564441830869772404110121323876394116425701684256814900322356665976217190439370447621566857612131765823589313983124 136140069488692541690750298693453588513364840550330857085982868575877295201732320372981324041281542402501690962639487243525516959255617271395958218913659825218134366477497071458175514051923045343135314009956290192816202894130523295105259354976238479261657162823645796985228603311139664045471697760935166393375577339418154592628041464116958083535742243338674338907822996299078625505430265135830788216244186842299500902011526180815007790872424924156493369474658518047953599267041356316319870916404820823986683241921336187700260232859894523185377605415159754989025380894089061247 220279259663477050881525965624088362217953927830017852745890907395657488440519813975097665575057210825074735644068344257672809612327620669156122416954264953322082205957636808649989098536117999448534823111924041418886114225831331189937646940512556810021408025949010159340771677343740602909314988455463644409890791084785883996254347955507639149630302307337367013327252509739709657940875235701947101368753052745522687960992729219551018767720048853061963337970228940612395430136813760426441194792798937249688367498736236510056926209077084962555825226982017367120791204483403044371 356419329152169592572276264317541950731318768380348709831873775971534783642252134348078989616338753227576426606707831501198326571583237940552080635867924778540216572435133880108164612588041044791670137121880331611702317119961854485042906295488795289283065188772655956326000280654880266954786686216398810803266368424204038588882389419624597233166044550676041352235075506038788283446305500837777889584997239587822188863004255400366026558592473777218456707444887458660349029403855116742761065709203758073675050740657572697757186441936979485741202832397177122109816585377492105618 576698588815646643453802229941630312949272696210366562577764683367192272082771948323176655191395964052651162250776175758871136183910858609708203052822189731862298778392770688758153711124159044240204960233804373030588431345793185674980553236001352099304473214721666115666771957998620869864101674671862455213157159508989922585136737375132236382796346858013408365562328015778497941387180736539724990953750292333344876823996984619917045326312522630280420045415116399272744459540668877169202260502002695323363418239393809207814112651014064448297028059379194489230607789860895149989 933117917967816236026078494259172263680591464590715272409638459338727055725024082671255644807734717280227588857484007260069462755494096550260283688690114510402515350827904568866318323712200089031875097355684704642290748465755040160023459531490147388587538403494322071992772238653501136818888360888261266016423527933193961174019126794756833615962391408689449717797403521817286224833486237377502880538747531921167065687001240020283071884904996407498876752860003857933093488944523993911963326211206453397038468980051381905571299092951043934038230891776371611340424375238387255607 1509816506783462879479880724200802576629864160801081834987403142705919327807796030994432299999130681332878751108260183018940598939404955159968486741512304242264814129220675257624472034836359133272080057589489077672879179811548225835004012767491499487892011618215988187659544196652122006682990035560123721229580687442183883759155864169889069998758738266702858083359731537595784166220666973917227871492497824254511942510998224640200117211217519037779296798275120257205837948485192871081165586713209148720401887219445191113385411743965108382335258951155566100571032165099282405596 2442934424751279115505959218459974840310455625391797107397041602044646383532820113665687944806865398613106339965744190279010061694899051710228770430202418752667329480048579826490790358548559222303955154945173782315169928277303265995027472298981646876479550021710310259652316435305623143501878396448384987246004215375377844933174990964645903614721129675392307801157135059413070391054153211294730752031245356175679008197999464660483189096122515445278173551135124115138931437429716864993128912924415602117440356199496573018956710836916152316373489842931937711911456540337669661203 3952750931534741994985839942660777416940319786192878942384444744750565711340616144660120244805996079945985091074004373297950660634304006870197257171714722994932143609269255084115262393384918355576035212534662859988049108088851491830031485066473146364371561639926298447311860631957745150184868432008508708475584902817561728692330855134534973613479867942095165884516866597008854557274820185211958623523743180430190950708997689300683306307340034483057470349410244372344769385914909736074294499637624750837842243418941764132342122580881260698708748794087503812482488705436952066799 6395685356286021110491799161120752257250775411584676049781486346795212094873436258325808189612861478559091431039748563576960722329203058580426027601917141747599473089317834910606052751933477577879990367479836642303219036366154757825058957365454793240851111661636608706964177067263368293686746828456893695721589118192939573625505846099180877228200997617487473685674001656421924948328973396506689375554988536605869958906997153961166495403462549928335643900545368487483700823344626601067423412562040352955282599618438337151298833417797413015082238637019441524393945245774621728002 10348436287820763105477639103781529674191095197777554992165931091545777806214052402985928434418857558505076522113752936874911382963507065450623284773631864742531616698587089994721315145318395933456025580014499502291268144455006249655090442431927939605222673301562907154276037699221113443871615260465402404197174021010501302317836701233715850841680865559582639570190868253430779505603793581718647999078731717036060909615994843261849801710802584411393114249955612859828470209259536337141717912199665103793124843037380101283640955998678673713790987431106945336876433951211573794801 16744121644106784215969438264902281931441870609362231041947417438340989901087488661311736624031719037064167953153501500451872105292710124031049312375549006490131089787904924905327367897251873511336015947494336144594487180821161007480149399797382732846073784963199515861240214766484481737558362088922296099918763139203440875943342547332896728069881863177070113255864869909852704453932766978225337374633720253641930868522991997223016297114265134339728758150500981347312171032604162938209141324761705456748407442655818438434939789416476086728873226068126386861270379196986195522803 27092557931927547321447077368683811605632965807139786034113348529886767707301541064297665058450576595569244475267254437326783488256217189481672597149180871232662706486492014900048683042570269444792041527508835646885755325276167257135239842229310672451296458264762423015516252465705595181429977349387698504115937160213942178261179248566612578911562728736652752826055738163283483959536560559943985373712451970677991778138986840484866098825067718751121872400456594207140641241863699275350859236961370560541532285693198539718580745415154760442664213499233332198146813148197769317604 43836679576034331537416515633586093537074836416502017076060765968227757608389029725609401682482295632633412428420755937778655593548927313512721909524729877722793796274396939805376050939822142956128057475003171791480242506097328264615389242026693405297370243227961938876756467232190076918988339438309994604034700299417383054204521795899509306981444591913722866081920608073136188413469327538169322748346172224319922646661978837707882395939332853090850630550957575554452812274467862213560000561723076017289939728349016978153520534831630847171537439567359719059417192345183964840407 70929237507961878858863593002269905142707802223641803110174114498114525315690570789907066740932872228202656903688010375105439081805144502994394506673910748955456502760888954705424733982392412400920099002512007438365997831373495521750629084256004077748666701492724361892272719697895672100418316787697693108150637459631325232465701044466121885893007320650375618907976346236419672373005888098113308122058624194997914424800965678192748494764400571841972502951414169761593453516331561488910859798684446577831472014042215517872101280246785607614201653066593051257564005493381734158011 114765917083996210396280108635855998679782638640143820186234880466342282924079600515516468423415167860836069332108766312884094675354071816507116416198640626678250299035285894510800784922214555357048156477515179229846240337470823786366018326282697483046036944720686300769029186930085749019406656226007687712185337759048708286670222840365631192874451912564098484989896954309555860786475215636282630870404796419317837071462944515900630890703733424932823133502371745316046265790799423702470860360407522595121411742391232496025621815078416454785739092633952770316981197838565698998418 185695154591958089255143701638125903822490440863785623296408994964456808239770171305423535164348040089038726235796776687989533757159216319501510922872551375633706801796174849216225518904606967757968255480027186668212238168844319308116647410538701560794703646213410662661301906627981421119824973013705380820335975218680033519135923884831753078767459233214474103897873300545975533159481103734395938992463420614315751496263910194093379385468133996774795636453785915077639719307130985191381720159091969172952883756433448013897723095325202062399940745700545821574545203331947433156429 300461071675954299651423810273981902502273079503929443482643875430799091163849771820940003587763207949874795567905543000873628432513288136008627339071192002311957100831460743727026303826821523115016411957542365898058478506315143094482665736821399043840740590934096963430331093558067170139231629239713068532521312977728741805806146725197384271641911145778572588887770254855531393945956319370678569862868217033633588567726854709994010276171867421707618769956157660393685985097930408893852580519499491768074295498824680509923344910403618517185679838334498591891526401170513132154847 486156226267912388906567511912107806324763520367715066779052870395255899403619943126363538752111248038913521803702319688863162189672504455510138261943743377945663902627635592943251822731428490872984667437569552566270716675159462402599313147360100604635444237147507626091633000186048591259056602253418449352857288196408775324942070610029137350409370378993046692785643555401506927105437423105074508855331637647949340063990764904087389661640001418482414406409943575471325704405061394085234300678591460941027179255258128523821068005728820579585620584035044413466071604502460565311276 786617297943866688557991322186089708827036599871644510261696745826054990567469714947303542339874455988788317371607862689736790622185792591518765601014935380257621003459096336670278126558250013988001079395111918464329195181474605497081978884181499648476184828081604589521964093744115761398288231493131517885378601174137517130748217335226521622051281524771619281673413810257038321051393742475753078718199854681582928631717619614081399937811868840190033176366101235865011689502991802979086881198090952709101474754082809033744412916132439096771300422369543005357598005672973697466123 1272773524211779077464558834098197515151800120239359577040749616221310889971089658073667081091985704027701839175310182378599952811858297047028903862958678758203284906086731929613529949289678504860985746832681471030599911856634067899681292031541600253111629065229112215613597093930164352657344833746549967238235889370546292455690287945255658972460651903764665974459057365658545248156831165580827587573531492329532268695708384518168789599451870258672447582776044811336337393908053197064321181876682413650128654009340937557565480921861259676356921006404587418823669610175434262777399 2059390822155645766022550156284287223978836720111004087302446362047365880538559373020970623431860160016490156546918045068336743434044089638547669463973614138460905909545828266283808075847928518848986826227793389494929107038108673396763270915723099901587813893310716805135561187674280114055633065239681485123614490544683809586438505280482180594511933428536285256132471175915583569208224908056580666291731347011115197327426004132250189537263739098862480759142146047201349083411045000043408063074773366359230128763423746591309893837993698773128221428774130424181267615848407960243522 3332164346367424843487108990382484739130636840350363664343195978268676770509649031094637704523845864044191995722228227446936696245902386685576573326932292896664190815632560195897338025137607023709972573060474860525529018894742741296444562947264700154699442958539829020749158281604444466712977898986231452361850379915230102042128793225737839566972585332300951230591528541574128817365056073637408253865262839340647466023134388650418979136715609357534928341918190858537686477319098197107729244951455780009358782772764684148875374759854958449485142435178717843004937226023842223020921 5391555168523070609509659146666771963109473560461367751645642340316042651048208404115608327955706024060682152269146272515273439679946476324124242790905907035125096725178388462181146100985535542558959399288268250020458125932851414693207833862987800056287256851850545825884719469278724580768610964225912937485464870459913911628567298506220020161484518760837236486723999717489712386573280981693988920156994186351762663350560392782669168673979348456397409101060336905739035560730143197151137308026229146368588911536188430740185268597848657222613363863952848267186204841872250183264443 8723719514890495452996768137049256702240110400811731415988838318584719421557857435210246032479551888104874147991374499962210135925848863009700816117838199931789287540810948658078484126123142566268931972348743110545987144827594155989652396810252500210986699810390374846633877750883169047481588863212144389847315250375144013670696091731957859728457104093138187717315528259063841203938337055331397174022257025692410129373694781433088147810694957813932337442978527764276722038049241394258866552977684926377947694308953114889060643357703615672098506299131566110191142067896092406285364 14115274683413566062506427283716028665349583961273099167634480658900762072606065839325854360435257912165556300260520772477483575605795339333825058908744106966914384265989337120259630227108678108827891371637011360566445270760445570682860230673240300267273956662240920672518597220161893628250199827438057327332780120835057925299263390238177879889941622853975424204039527976553553590511618037025386094179251212044172792724255174215757316484674306270329746544038864670015757598779384591410003861003914072746536605845141545629245911955552272894711870163084414377377346909768342589549807 22838994198304061515503195420765285367589694362084830583623318977485481494163923274536100392914809800270430448251895272439693711531644202343525875026582306898703671806800285778338114353231820675096823343985754471112432415588039726672512627483492800478260656472631295519152474971045062675731788690650201717180095371210201938969959481970135739618398726947113611921355056235617394794449955092356783268201508237736582922097949955648845464295369264084262083987017392434292479636828625985668870413981598999124484300154094660518306555313255888566810376462215980487568488977664434995835171 36954268881717627578009622704481314032939278323357929751257799636386243566769989113861954753350067712435986748512416044917177287137439541677350933935326413865618056072789622898597744580340498783924714715622765831678877686348485297355372858156733100745534613134872216191671072191206956303981988518088259044512875492045259864269222872208313619508340349801089036125394584212170948384961573129382169362380759449780755714822205129864602780780043570354591830531056257104308237235608010577078874274985513071871020905999236206147552467268808161461522246625300394864945835887432777585384978 59793263080021689093512818125246599400528972685442760334881118613871725060933912388398055146264877512706417196764311317356870998669083744020876808961908720764321727879589908676935858933572319459021538059608520302791310101936525024027885485640225901223795269607503511710823547162252018979713777208738460761692970863255461803239182354178449359126739076748202648046749640447788343179411528221738952630582267687517338636920155085513448245075412834438853914518073649538600716872436636562747744688967112070995505206153330866665859022582064050028332623087516375352514324865097212581220149 96747531961739316671522440829727913433468251008800690086138918250257968627703901502260009899614945225142403945276727362274048285806523285698227742897235134629939783952379531575533603513912818242946252775231286134470187788285010321383258343796959001969329882742375727902494619353458975283695765726826719806205846355300721667508405226386762978635079426549291684172144224659959291564373101351121121992963027137298094351742360215378051025855456404793445745049129906642908954108044647139826618963952625142866526112152567072813411489850872211489854869712816770217460160752529990166605127 156540795041761005765035258954974512833997223694243450421020036864129693688637813890658065045879822737848821142041038679630919284475607029719104551859143855394261511831969440252469462447485137701967790834839806437261497890221535345411143829437184903193125152349879239613318166515710994263409542935565180567898817218556183470747587580565212337761818503297494332218893865107747634743784629572860074623545294824815432988662515300891499270930869239232299659567203556181509670980481283702574363652919737213862031318305897939479270512432936261518187492800333145569974485617627202747825276 253288327003500322436557699784702426267465474703044140507158955114387662316341715392918074945494767962991225087317766041904967570282130315417332294756378990024201295784348971828003065961397955944914043610071092571731685678506545666794402173234143905162455035092254967515812785869169969547105308662391900374104663573856905138255992806951975316396897929846786016391038089767706926308157730923981196616508321962113527340404875516269550296786325644025745404616333462824418625088525930842400982616872362356728557430458465012292682002283808473008042362513149915787434646370157192914430403 409829122045261328201592958739676939101462698397287590928178991978517356004979529283576139991374590700840046229358804721535886854757737345136436846615522845418462807616318412080472528408883093646881834444910899008993183568728081012205546002671328808355580187442134207129130952384880963810514851597957080942003480792413088609003580387517187654158716433144280348609931954875454561051942360496841271240053616786928960329067390817161049567717194883258045064183537019005928296069007214544975346269792099570590588748764362951771952514716744734526229855313483061357409131987784395662255679 663117449048761650638150658524379365368928173100331731435337947092905018321321244676494214936869358663831271316676570763440854425039867660553769141371901835442664103400667383908475594370281049591795878054981991580724869247234626678999948175905472713518035222534389174644943738254050933357620160260348981316108144366269993747259573194469162970555614362991066365000970044643161487360100091420822467856561938749042487669472266333430599864503520527283790468799870481830346921157533145387376328886664461927319146179222827964064634517000553207534272217826632977144843778357941588576686082 1072946571094022978839743617264056304470390871497619322363516939071422374326300773960070354928243949364671317546035375484976741279797605005690205987987424680861126911016985795988948122779164143238677712499892890589718052815962707691205494178576801521873615409976523381774074690638931897168135011858306062258111625158683082356263153581986350624714330796135346713610901999518616048412042451917663739096615555535971447998539657150591649432220715410541835532983407500836275217226540359932351675156456561497909734927987190915836587031717297942060502073140116038502252910345725984238941761 1736064020142784629477894275788435669839319044597951053798854886164327392647622018636564569865113308028502588862711946248417595704837472666243975129359326516303791014417653179897423717149445192830473590554874882170442922063197334370205442354482274235391650632510912556419018428892982830525755172118655043574219769524953076103522726776455513595269945159126413078611872044161777535772142543338486206953177494285013935668011923484022249296724235937825626001783277982666622138384073505319728004043121023425228881107210018879901221548717851149594774290966749015647096688703667572815627843 2809010591236807608317637893052491974309709916095570376162371825235749766973922792596634924793357257393173906408747321733394336984635077671934181117346751197164917925434638975886371839928609336069151303054767772760160974879160042061410936533059075757265266042487435938193093119531914727693890183976961105832331394683636158459785880358441864219984275955261759792222774043680393584184184995256149946049793049820985383666551580634613898728944951348367461534766685483502897355610613865252079679199577584923138616035197209795737808580435149091655276364106865054149349599049393557054569604 4545074611379592237795532168840927644149028960693521429961226711400077159621544811233199494658470565421676495271459267981811932689472550338178156246706077713468708939852292155783795557078054528899624893609642654930603896942357376431616378887541349992656916674998348494612111548424897558219645356095616149406551164208589234563308607134897377815254221114388172870834646087842171119956327538594636153002970544105999319334563504118636148025669187286193087536549963466169519493994687370571807683242698608348367497142407228675639030129153000241250050655073614069796446287753061129870197447 7354085202616399846113170061893419618458738876789091806123598536635826926595467603829834419451827822814850401680206589715206269674107628010112337364052828910633626865286931131670167397006663864968776196664410427690764871821517418493027315420600425749922182717485784432805204667956812285913535540072577255238882558892225393023094487493339242035238497069649932663057420131522564704140512533850786099052763593926984703001115084753250046754614138634560549071316648949672416849605301235823887362442276193271506113177604438471376838709588149332905327019180479123945795886802454686924767051 11899159813995992083908702230734347262607767837482613236084825248035904086217012415063033914110298388236526896951665857697018202363580178348290493610758906624102335805139223287453962954084718393868401090274053082621368768763874794924643694308141775742579099392484132927417316216381709844133180896168193404645433723100814627586403094628236619850492718184038105533892066219364735824096840072445422252055734138032984022335678588871886194780283325920753636607866612415841936343599988606395695045684974801619873610320011667147015868838741149574155377674254093193742242174555515816794964498 19253245016612391930021872292627766881066506714271705042208423784671731012812480018892868333562126211051377298631872447412224472037687806358402830974811735534735962670426154419124130351091382258837177286938463510312133640585392213417671009728742201492501282109969917360222520884338522130046716436240770659884316281993040020609497582121575861885731215253688038196949486350887300528237352606296208351108497731959968725336793673625136241534897464555314185679183261365514353193205289842219582408127250994891379723497616105618392707548329298907060704693434572317688038061357970503719731549 31152404830608384013930574523362114143674274551754318278293249032707635099029492433955902247672424599287904195583538305109242674401267984706693324585570642158838298475565377706578093305176100652705578377212516592933502409349267008342314704036883977235080381502454050287639837100720231974179897332408964064529750005093854648195900676749812481736223933437726143730841552570252036352334192678741630603164231869992952747672472262497022436315180790476067822287049873781356289536805278448615277453812225796511253333817627772765408576387070448481216082367688665511430280235913486320514696047 50405649847220775943952446815989881024740781266026023320501672817379366111841972452848770581234550810339281494215410752521467146438955791065096155560382377693574261145991532125702223656267482911542755664150980103245636049934659221759985713765626178727581663612423967647862357985058754104226613768649734724414066287086894668805398258871388343621955148691414181927791038921139336880571545285037838954272729601952921473009265936122158677850078255031382007966233135146870642730010568290834859861939476791402633057315243878383801283935399747388276787061123237829118318297271456824234427596 81558054677829159957883021339351995168415055817780341598794921850087001210871464886804672828906975409627185689798949057630709820840223775771789480145953019852412559621556909832280316961443583564248334041363496696179138459283926230102300417802510155962662045114878017935502195085778986078406511101058698788943816292180749317001298935621200825358179082129140325658632591491391373232905737963779469557436961471945874220681738198619181114165259045507449830253283008928226932266815846739450137315751702587913886391132871651149209860322470195869492869428811903340548598533184943144749123643 131963704525049935901835468155341876193155837083806364919296594667466367322713437339653443410141526219966467184014359810152176967279179566836885635706335397545986820767548441957982540617711066475791089705514476799424774509218585451862286131568136334690243708727301985583364553070837740182633124869708433513357882579267643985806697194492589168980134230820554507586423630412530710113477283248817308511709691073898795693691004134741339792015337300538831838219516144075097574996826415030284997177691179379316519448448115529533011144257869943257769656489935141169666916830456399968983551239 213521759202879095859718489494693871361570892901586706518091516517553368533584902226458116239048501629593652873813308867782886788119403342608675115852288417398399380389105351790262857579154650040039423746877973495603912968502511681964586549370646490652905753842180003518866748156616726261039635970767132302301698871448393302807996130113789994338313312949694833245056221903922083346383021212596778069146652545844669914372742333360520906180596346046281668472799153003324507263642261769735134493442881967230405839580987180682221004580340139127262525918747044510215515363641343113732674882 345485463727929031761553957650035747554726729985393071437388111185019735856298339566111559649190027849560120057827668677935063755398582909445560751558623814944386201156653793748245398196865716515830513452392450295028687477721097133826872680938782825343149462569481989102231301227454466443672760840475565815659581450716037288614693324606379163318447543770249340831479852316452793459860304461414086580856343619743465608063746468101860698195933646585113506692315297078422082260468676800020131671134061346546925288029102710215232148838210082385032182408682185679882432194097743082716226121 559007222930808127621272447144729618916297622886979777955479627702573104389883241792569675888238529479153772931640977545717950543517986252054235867410912232342785581545759145538508255776020366555869937199270423790632600446223608815791459230309429315996055216411661992621098049384071192704712396811242698117961280322164430591422689454720169157656760856719944174076536074220374876806243325674010864650002996165588135522436488801462381604376529992631395175165114450081746589524110938569755266164576943313777331127610089890897453153418550221512294708327429230190097947557739086196448901003 904492686658737159382826404794765366471024352872372849392867738887592840246181581358681235537428557328713892989468646223653014298916569161499796618969536047287171782702412939286753653972886083071700450651662874085661287923944705949618331911248212141339204678981143981723329350611525659148385157651718263933620861772880467880037382779326548320975208400490193514908015926536827670266103630135424951230859339785331601130500235269564242302572463639216508681857429747160168671784579615369775397835711004660324256415639192601112685302256760303897326890736111415869980379751836829279165127124 1463499909589545287004098851939494985387321975759352627348347366590165944636064823151250911425667086807867665921109623769370964842434555413554032486380448279629957364248172084825261909748906449627570387850933297876293888370168314765409791141557641457335259895392805974344427399995596851853097554462960962051582142095044898471460072234046717478631969257210137688984552000757202547072346955809435815880862335950919736652936724071026623906948993631847903857022544197241915261308690553939530664000287947974101587543249282492010138455675310525409621599063540646060078327309575915475614028127 2367992596248282446386925256734260351858346328631725476741215105477758784882246404509932146963095644136581558910578269993023979141351124575053829105349984326917129146950585024112015563721792532699270838502596171961955176294113020715028123052805853598674464574373949956067756750607122511001482712114679225985203003867925366351497455013373265799607177657700331203892567927294030217338450585944860767111721675736251337783436959340590866209521457271064412538879973944402083933093270169309306061835998952634425843958888475093122823757932070829306948489799652061930058707061412744754779155251 3831492505837827733391024108673755337245668304391078104089562472067924729518311227661183058388762730944449224831687893762394943983785679988607861591730432606547086511198757108937277473470698982326841226353529469838249064664281335480437914194363495056009724469766755930412184150602719362854580266577640188036785145962970264822957527247419983278239146914910468892877119928051232764410797541754296582992584011687171074436373683411617490116470450902912316395902518141643999194401960723248836725836286900608527431502137757585132962213607381354716570088863192707990137034370988660230393183378 6199485102086110179777949365408015689104014633022803580830777577545683514400557632171115205351858375081030783742266163755418923125136804563661690697080416933464215658149342133049293037192491515026112064856125641800204240958394356195466037247169348654684189044140705886479940901209841873856062978692319414021988149830895631174454982260793249077846324572610800096769687855345262981749248127699157350104305687423422412219810642752208356325991908173976728934782492086046083127495230892558142787672285853242953275461026232678255785971539452184023518578662844769920195741432401404985172338629 10030977607923937913168973474081771026349682937413881684920340049613608243918868859832298263740621106025480008573954057517813867108922484552269552288810849540011302169348099241986570510663190497352953291209655111638453305622675691675903951441532843710693913513907461816892125051812561236710643245269959602058773295793865895997412509508213232356085471487521268989646807783396495746160045669453453933096889699110593486656184326163825846442462359076889045330685010227690082321897191615806979513508572753851480706963163990263388748185146833538740088667526037477910332775803390065215565522007 16230462710010048092946922839489786715453697570436685265751117627159291758319426492003413469092479481106510792316220221273232790234059289115931242985891266473475517827497441375035863547855682012379065356065780753438657546581070047871369988688702192365378102558048167703372065953022403110566706223962279016080761445624761527171867491769006481433931796060132069086416495638741758727909293797152611283201195386534015898875994968916034202768454267250865774265467502313736165449392422508365122301180858607094433982424190222941644534156686285722763607246188882247830528517235791470200737860636 26261440317933986006115896313571557741803380507850566950671457676772900002238295351835711732833100587131990800890174278791046657342981773668200795274702116013486819996845540617022434058518872509732018647275435865077110852203745739547273940130235036076072016071955629520264191004834964347277349469232238618139534741418627423169280001277219713790017267547653338076063303422138254474069339466606065216298085085644609385532179295079860049210916626327754819596152512541426247771289614124172101814689431360945914689387354213205033282341833119261503695913714919725740861293039181535416303382643 42491903027944034099062819153061344457257078078287252216422575303932191760557721843839125201925580068238501593206394500064279447577041062784132038260593382486962337824342981992058297606374554522111084003341216618515768398784815787418643928818937228441450118630003797223636256957857367457844055693194517634220296187043388950341147493046226195223949063607785407162479799060880013201978633263758676499499280472178625284408174263995894251979370893578620593861620014855162413220682036632537224115870289968040348671811544436146677816498519404984267303159903801973571389810274973005617041243279 68753343345878020105178715466632902199060458586137819167094032980705091762796017195674836934758680655370492394096568778855326104920022836452332833535295498500449157821188522609080731664893427031843102650616652483592879250988561526965917868949172264517522134701959426743900447962692331805121405162426756252359830928462016373510427494323445909013966331155438745238543102483018267676047972730364741715797365557823234669940353559075754301190287519906375413457772527396588660991971650756709325930559721328986263361198898649351711098840352524245770999073618721699312251103314154541033344625922 111245246373822054204241534619694246656317536664425071383516608284637283523353739039513962136684260723608993987302963278919605552497063899236464871795888880987411495645531504601139029271267981553954186653957869102108647649773377314384561797768109492958972253331963223967536704920549699262965460855621273886580127115505405323851574987369672104237915394763224152401022901543898280878026605994123418215296646030001859954348527823071648553169658413484996007319392542251751074212653687389246550046430011297026612033010443085498388915338871929230038302233522523672883640913589127546650385869201 179998589719700074309420250086327148855377995250562890550610641265342375286149756235188799071442941378979486381399532057774931657417086735688797705331184379487860653466720027210219760936161408585797289304574521585701526900761938841350479666717281757476494388033922650711437152883242031068086866018048030138939958043967421697362002481693118013251881725918662897639566004026916548554074578724488159931094011587825094624288881382147402854359945933391371420777165069648339735204625338145955875976989732626012875394209341734850100014179224453475809301307141245372195892016903282087683730495123 291243836093522128513661784706021395511695531914987961934127249549979658809503495274702761208127202102588480368702495336694537209914150634925262577127073260475272149112251531811358790207429390139751475958532390687810174550535316155735041464485391250435466641365885874678973857803791730331052326873669304025520085159472827021213577469062790117489797120681887050040588905570814829432101184718611578146390657617826954578637409205219051407529604346876367428096557611900090809417279025535202426023419743923039487427219784820348488929518096382705847603540663769045079532930492409634334116364324 471242425813222202823082034792348544367073527165550852484737890815322034095653251509891560279570143481567966750102027394469468867331237370614060282458257639963132802578971559021578551143590798725548765263106912273511701451297254997085521131202673007911961029399808525390411010687033761399139192891717334164460043203440248718575579950755908130741678846600549947680154909597731377986175763443099738077484669205652049202926290587366454261889550280267738848873722681548430544621904363681158302000409476549052362821429126555198588943697320836181656904847805014417275424947395691722017846859447 762486261906744331336743819498369939878769059080538814418865140365301692905156746784594321487697345584156447118804522731164006077245388005539322859585330900438404951691223090832937341351020188865300241221639302961321876001832571152820562595688064258347427670765694400069384868490825491730191519765386638189980128362913075739789157419818698248231475967282436997720743815168546207418276948161711316223875326823479003781563699792585505669419154627144106276970280293448521354039183389216360728023829220472091850248648911375547077873215417218887504508388468783462354957877888101356351963223771 1233728687719966534159825854290718484245842586246089666903603031180623727000809998294485881767267489065724413868906550125633474944576625376153383142043588540401537754270194649854515892494610987590849006484746215234833577453129826149906083726890737266259388700165502925459795879177859253129330712657103972354440171566353324458364737370574606378973154813882986945400898724766277585404452711604811054301359996029131052984489990379951959931308704907411845125844002974996951898661087752897519030024238697021144213070078037930745666816912738055069161413236273797879630382825283793078369810083218 1996214949626710865496569673789088424124611645326628481322468171545925419905966745079080203254964834649880860987711072856797481021822013381692706001628919440839942705961417740687453233845631176456149247706385518196155453454962397302726646322578801524606816370931197325529180747668684744859522232422490610544420299929266400198153894790393304627204630781165423943121642539934823792822729659766522370525235322852610056766053690172537465600727859534555951402814283268445473252700271142113879758048067917493236063318726949306292744690128155273956665921624742581341985340703171894434721773306989 3229943637346677399656395528079806908370454231572718148226071202726549146906776743373566085022232323715605274856617622982430955966398638757846089143672507981241480460231612390541969126340242164046998254191131733430989030908092223452632730049469538790866205071096700250988976626846543997988852945079594582898860471495619724656518632160967911006177785595048410888522541264701101378227182371371333424826595318881741109750543680552489425532036564441967796528658286243442425151361358895011398788072306614514380276388804987237038411507040893329025827334861016379221615723528455687513091583390207 5226158586973388265152965201868895332495065876899346629548539374272474566812743488452646288277197158365486135844328695839228436988220652139538795145301427422081423166193030131229422360185873340503147501897517251627144484363054620755359376372048340315473021442027897576518157374515228742848375177502085193443280771424886124854672526951361215633382416376213834831644183804635925171049912031137855795351830641734351166516597370725026891132764423976523747931472569511887898404061630037125278546120374532007616339707531936543331156197169048602982493256485758960563601064231627581947813356697196 8456102224320065664809360729948702240865520108472064777774610576999023713719520231826212373299429482081091410700946318821659392954619290897384884288973935403322903626424642521771391486526115504550145756088648985058133515271146844207992106421517879106339226513124597827507134001361772740837228122581679776342141242920505849511191159112329126639560201971262245720166725069337026549277094402509189220178425960616092276267141051277516316664800988418491544460130855755330323555422988932136677334192681146521996616096336923780369567704209941932008320591346775339785216787760083269460904940087403 13682260811293453929962325931817597573360585985371411407323149951271498280532263720278858661576626640446577546545275014660887829942839943036923679434275362825404326792617672653000813846711988845053293257986166236685277999634201464963351482793566219421812247955152495404025291375877001483685603300083764969785422014345391974365863686063690342272942618347476080551810908873972951720327006433647045015530256602350443442783738422002543207797565412395015292391603425267218221959484618969261955880313055678529612955803868860323700723901378990534990813847832534300348817851991710851408718296784599 22138363035613519594771686661766299814226106093843476185097760528270521994251783952105071034876056122527668957246221333482547222897459233934308563723249298228727230419042315174772205333238104349603439014074815221743411514905348309171343589215084098528151474468277093231532425377238774224522831422665444746127563257265897823877054845176019468912502820318738326271977633943309978269604100836156234235708682562966535719050879473280059524462366400813506836851734281022548545514907607901398633214505736825051609571900205784104070291605588932466999134439179309640134034639751794120869623236872002 35820623846906973524734012593583897387586692079214887592420910479542020274784047672383929696452682762974246503791496348143435052840299176971232243157524661054131557211659987827773019179950093194656732272060981458428689514539549774134695072008650317949963722423429588635557716753115775708208434722749209715912985271611289798242918531239709811185445438666214406823788542817282929989931107269803279251238939165316979161834617895282602732259931813208522129243337706289766767474392226870660589094818792503581222527704074644427771015506967923001989948287011843940482852491743504972278341533656601 57958986882520493119505699255350197201812798173058363777518671007812542269035831624489000731328738885501915461037717681625982275737758410905540806880773959282858787630702303002545224513188197544260171286135796680172101029444898083306038661223734416478115196891706681867090142130354549932731266145414654462040548528877187622119973376415729280097948258984952733095766176760592908259535208105959513486947621728283514880885497368562662256722298214022028966095071987312315312989299834772059222309324529328632832099604280428531841307112556855468989082726191153580616887131495299093147964770528603 93779610729427466644239711848934094589399490252273251369939581487354562543819879296872930427781421648476161964829214029769417328578057587876773050038298620336990344842362290830318243693138290738916903558196778138600790543984447857440733733232384734428078919315136270502647858883470325640939700868163864177953533800488477420362891907655439091283393697651167139919554719577875838249466315375762792738186560893600494042720115263845264988982230027230551095338409693602082080463692061642719811404143321832214054627308355072959612322619524778470979031013202997521099739623238804065426306304185204 151738597611947959763745411104284291791212288425331615147458252495167104812855710921361931159110160533978077425866931711395399604315815998782313856919072579619849132473064593832863468206326488283177074844332574818772891573429345940746772394456119150906194116206842952369738001013824875573670967013578518639994082329365665042482865284071168371381341956636119873015320896338468746509001523481722306225134182621884008923605612632407927245704528241252580061433481680914397393452991896414779033713467851160846886726912635501491453629732081633939968113739394151101716626754734103158574271074713807 245518208341375426407985122953218386380611778677604866517397833982521667356675590218234861586891582182454239390696145741164816932893873586659086906957371199956839477315426884663181711899464779022093978402529352957373682117413793798187506127688503885334273035521979222872385859897295201214610667881742382817947616129854142462845757191726607462664735654287287012934875615916344584758467838857485098963320743515484502966325727896253192234686758268483131156771891374516479473916683958057498845117611172993060941354220990574451065952351606412410947144752597148622816366377972907224000577378899011 397256805953323386171730534057502678171824067102936481664856086477688772169531301139596792746001742716432316816563077452560216537209689585441400763876443779576688609788491478496045180105791267305271053246861927776146573690843139738934278522144623036240467151728822175242123860911120076788281634895320901457941698459219807505328622475797775834046077610923406885950196512254813331267469362339207405188454926137368511889931340528661119480391286509735711218205373055430876867369675854472277878831079024153907828081133626075942519582083688046350915258491991299724532993132707010382574848453612818 642775014294698812579715657010721064552435845780541348182253920460210439526206891357831654332893324898886556207259223193725033470103563172100487670833814979533528087103918363159226892005256046327365031649391280733520255808256933537121784649833126921574740187250801398114509720808415278002892302777063284275889314589073949968174379667524383296710813265210693898885072128171157916025937201196692504151775669652853014856257068424914311715078044778218842374977264429947356341286359812529776723948690197146968769435354616650393585534435294458761862403244588448347349359510679917606575425832511829 1040031820248022198751446191068223742724259912883477829847110006937899211695738192497428447078895067615318873023822300646285250007313252757541888434710258759110216696892409841655272072111047313632636084896253208509666829499100073276056063171977749957815207338979623573356633581719535354791173937672384185733831013048293757473503002143322159130756890876134100784835268640425971247293406563535899909340230595790221526746188408953575431195469331287954553593182637485378233208656035667002054602779769221300876597516488242726336105116518982505112777661736579748071882352643386927989150274286124647 1682806834542721011331161848078944807276695758664019178029363927398109651221945083855260101411788392514205429231081523840010283477416815929642376105544073738643744783996328204814498964116303359960001116545644489243187085307357006813177847821810876879389947526230424971471143302527950632794066240449447470009720327637367707441677381810846542427467704141344794683720340768597129163319343764732592413492006265443074541602445477378489742910547376066173395968159901915325589549942395479531831326728459418447845366951842859376729690650954276963874640064981168196419231712154066845595725700118636476 2722838654790743210082608039147168550000955671547497007876473934336008862917683276352688548490683460129524302254903824486295533484730068687184264540254332497753961480888738046469771036227350673592637201441897697752853914806457080089233910993788626837205154865210048544827776884247485987585240178121831655743551340685661464915180383954168701558224595017478895468555609409023100410612750328268492322832236861233296068348633886332065174106016707354127949561342539400703822758598431146533885929508228639748721964468331102103065795767473259468987417726717747944491114064797453773584875974404761123 4405645489333464221413769887226113357277651430211516185905837861734118514139628360207948649902471852643729731485985348326305816962146884616826640645798406236397706264885066251284270000343654033552638317987542186996041000113814086902411758815599503716595102391440473516298920186775436620379306418571279125753271668323029172356857765765015243985692299158823690152275950177620229573932094093001084736324243126676370609951079363710554917016564083420301345529502441316029412308540826626065717256236688058196567331420173961479795486418427536432862057791698916140910345776951520619180601674523397599 7128484144124207431496377926373281907278607101759013193782311796070127377057311636560637198393155312773254033740889172812601350446876953304010905186052738734151667745773804297754041036571004707145275519429439884748894914920271166991645669809388130553800257256650522061126697071022922607964546596693110781496823009008690637272038149719183945543916894176302585620831559586643329984544844421269577059156479987909666678299713250042620091122580790774429295090844980716733235067139257772599603185744916697945289295888505063582861282185900795901849475518416664085401459841748974392765477648928158722 11534129633457671652910147813599395264556258531970529379688149657804245891196939996768585848295627165416983765226874521138907167409023837920837545831851144970549374010658870549038311036914658740697913837416982071744935915034085253894057428624987634270395359648090995577425617257798359228343853015264389907250094677331719809628895915484199189529609193335126275773107509764263559558476938514270661795480723114586037288250792613753175008139144874194730640620347422032762647375680084398665320441981604756141856627308679025062656768604328332334711533310115580226311805618700495011946079323451556321 18662613777581879084406525739972677171834865633729542573470461453874373268254251633329223046688782478190237798967763693951508517855900791224848451017903883704701041756432674846792352073485663447843189356846421956493830829954356420885703098434375764824195616904741517638552314328821281836308399611957500688746917686340410446900934065203383135073526087511428861393939069350906889543021782935540238854637203102495703966550505863795795099261725664969159935711192402749495882442819342171264923627726521454087145923197184088645518050790229128236561008828532244311713265460449469404711556972379715043 30196743411039550737316673553572072436391124165700071953158611111678619159451191630097808894984409643607221564194638215090415685264924629145685996849755028675250415767091545395830663110400322188541103194263404028238766744988441674779760527059363399094590976552832513215977931586619641064652252627221890595997012363672130256529829980687582324603135280846555137167046579115170449101498721449810900650117926217081741254801298477548970107400870539163890576331539824782258529818499426569930244069708126210229002550505863113708174819394557460571272542138647824538025071079149964416657636295831271364 48859357188621429821723199293544749608225989799429614526629072565552992427705443263427031941673192121797459363162401909041924203120825420370534447867658912379951457523524220242623015183885985636384292551109825984732597574942798095665463625493739163918786593457574030854530245915440922900960652239179391284743930050012540703430764045890965459676661368357983998560985648466077338644520504385351139504755129319577445221351804341344765206662596204133050512042732227531754412261318768741195167697434647664316148473703047202353692870184786588807833550967180068849738336539599433821369193268210986407 79056100599660980559039872847116822044617113965129686479787683677231611587156634893524840836657601765404680927357040124132339888385750049516220444717413941055201873290615765638453678294286307824925395745373230012971364319931239770445224152553102563013377570010406544070508177502060563965612904866401281880740942413684670959960594026578547784279796649204539135728032227581247787746019225835162040154873055536659186476153102818893735314063466743296941088374272052314012942079818195311125411767142773874545151024208910316061867689579344049379106093105827893387763407618749398238026829564042257771 127915457788282410380763072140661571652843103764559301006416756242784604014862078156951872778330793887202140290519442033174264091506575469886754892585072853435153330814139985881076693478172293461309688296483055997703961894874037866110687778046841726932164163467980574925038423417501486866573557105580673165484872463697211663391358072469513243956458017562523134289017876047325126390539730220513179659628184856236631697504907160238500520726062947429991600417004279845767354341136964052320579464577421538861299497911957518415560559764130638186939644073007962237501744158348832059396022832253244178 206971558387943390939802944987778393697460217729688987486204439920016215602018713050476713614988395652606821217876482157306603979892325519402975337302486794490355204104755751519530371772458601286235084041856286010675326214805277636555911930599944289945541733478387118995546600919562050832186461971981955046225814877381882623351952099048061028236254666767062270017050103628572914136558956055675219814501240392895818173658009979132235834789529690726932688791276332159780296420955159363445991231720195413406450522120867834477428249343474687566045737178835855625265151777098230297422852396295501949 334887016176225801320566017128439965350303321494248288492621196162800819616880791207428586393319189539808961508395924190480868071398900989289730229887559647925508534918895737400607065250630894747544772338339342008379288109679315502666599708646786016877705896946367693920585024337063537698760019077562628211710687341079094286743310171517574272192712684329585404306067979675898040527098686276188399474129425249132449871162917139370736355515592638156924289208280612005547650762092123415766570696297616952267750020032825352892988809107605325752985381251843817862766895935447062356818875228548746127 541858574564169192260368962116218359047763539223937275978825636082817035218899504257905300008307585192415782726272406347787472051291226508692705567190046442415863739023651488920137437023089496033779856380195628019054614324484593139222511639246730306823247630424754812916131625256625588530946481049544583257936502218460976910095262270565635300428967351096647674323118083304470954663657642331863619288630665642028268044820927118502972190305122328883856977999556944165327947183047282779212561928017812365674200542153693187370417058451080013319031118430679673488032047712545292654241727624844248076 876745590740394993580934979244658324398066860718185564471446832245617854835780295465333886401626774732224744234668330538268340122690127497982435797077606090341372273942547226320744502273720390781324628718534970027433902434163908641889111347893516323700953527371122506836716649593689126229706500127107211469647189559540071196838572442083209572621680035426233078629186062980368995190756328608052018762760090891160717915983844257873708545820714967040781267207837556170875597945139406194979132624315429317941950562186518540263405867558685339072016499682523491350798943647992355011060602853392994203 1418604165304564185841303941360876683445830399942122840450272468328434890054679799723239186409934359924640526960940736886055812173981354006675141364267652532757236012966198715240881939296809886815104485098730598046488516758648501781111622987140246630524201157795877319752848274850314714760652981176651794727583691778001048106933834712648844873050647386522880752952304146284839949854413970939915638051390756533188985960804771376376680736125837295924638245207394500336203545128186688974191694552333241683616151104340211727633822926009765352391047618113203164838830991360537647665302330478237242279 2295349756044959179422238920605535007843897260660308404921719300574052744890460095188573072811561134656865271195609067424324152296671481504657577161345258623098608286908745941561626441570530277596429113817265568073922419192812410423000734335033762954225154685166999826589564924444003840990359481303759006197230881337541119303772407154732054445672327421949113831581490209265208945045170299547967656814150847424349703876788615634250389281946552262965419512415232056507079143073326095169170827176648671001558101666526730267897228793568450691463064117795726656189629935008530002676362933331630236482 3713953921349523365263542861966411691289727660602431245371991768902487634945139894911812259221495494581505798156549804310379964470652835511332718525612911155855844299874944656802508380867340164411533598915996166120410935951460912204112357322174009584749355842962877146342413199294318555751012462480410800924814573115542167410706241867380899318722974808471994584533794355550048894899584270487883294865541603957538689837593387010627070018072389558890057757622626556843282688201512784143362521728981912685174252770866941995531051719578216043854111735908929821028460926369067650341665263809867478761 6009303677394482544685781782571946699133624921262739650293711069476540379835599990100385332033056629238371069352158871734704116767324317015990295686958169778954452586783690598364134822437870442007962712733261734194333355144273322627113091657207772538974510528129876972931978123738322396741371943784169807122045454453083286714478649022112953764395302230421108416115284564815257839944754570035850951679692451381888393714382002644877459300018941821855477270037858613350361831274838879312533348905630583686732354437393672263428280513146666735317175853704656477218090861377597653018028197141497715243 9723257598744005909949324644538358390423352581865170895665702838379028014780739885012197591254552123819876867508708676045084081237977152527323014212571080934810296886658635255166643203305210606419496311649257900314744291095734234831225448979381782123723866371092754119274391323032640952492384406264580608046860027568625454125184890889493853083118277038893103000649078920365306734844338840523734246545234055339427083551975389655504529318091331380745535027660485170193644519476351663455895870634612496371906607208260614258959332232724882779171287589613586298246551787746665303359693460951365194004 15732561276138488454635106427110305089556977503127910545959413907855568394616339875112582923287608753058247936860867547779788198005301469543313309899529250713764749473442325853530778025743081048427459024382519634509077646240007557458338540636589554662698376899222631092206369446770963349233756350048750415168905482021708740839663539911606806847513579269314211416764363485180564574789093410559585198224926506721315477266357392300381988618110273202601012297698343783544006350751190542768429219540243080058638961645654286522387612745871549514488463443318242775464642649124262956377721658092862909247 25455818874882494364584431071648663479980330084993081441625116746234596409397079760124780514542160876878124804369576223824872279243278622070636324112100331648575046360100961108697421229048291654846955336031777534823821937335741792289563989615971336786422243270315385211480760769803604301726140756313331023215765509590334194964848430801100659930631856308207314417413442405545871309633432251083319444770160562060742560818332781955886517936201604583346547325358828953737650870227542206224325090174855576430545568853914900781346944978596432293659751032931829073711194436870928259737415119044228103251 41188380151020982819219537498758968569537307588120991987584530654090164804013419635237363437829769629936372741230443771604660477248580091613949634011629582362339795833543286962228199254791372703274414360414297169332899583575749349747902530252560891449120620169538016303687130216574567650959897106362081438384670991612042935804511970712707466778145435577521525834177805890726435884422525661642904642995087068782058038084690174256268506554311877785947559623057172737281657220978732748992754309715098656489184530499569187303734557724467981808148214476250071849175837085995191216115136777137091012498 66644199025903477183803968570407632049517637673114073429209647400324761213410499395362143952371930506814497545600019995429532756491858713684585958123729914010914842193644248070925620483839664358121369696446074704156721520911491142037466519868532228235542863439853401515167890986378171952686037862675412461600436501202377130769360401513808126708777291885728840251591248296272307194055957912726224087765247630842800598903022956212155024490513482369294106948416001691019308091206274955217079399889954232919730099353484088085081502703064414101807965509181900922887031522866119475852551896181319115749 107832579176924460003023506069166600619054945261235065416794178054414926017423919030599507390201700136750870286830463767034193233740438805298535592135359496373254638027187535033153819738631037061395784056860371873489621104487240491785369050121093119684663483609391417818855021202952739603645934969037493899985107492814420066573872372226515593486922727463250366085769054186998743078478483574369128730760334699624858636987713130468423531044825360155241666571473174428300965312185007704209833709605052889408914629853053275388816060427532395909956179985431972772062868608861310691967688673318410128247 174476778202827937186827474639574232668572582934349138846003825454739687230834418425961651342573630643565367832430483762463725990232297518983121550259089410384169480220831783104079440222470701419517153753306446577646342625398731633822835569989625347920206347049244819334022912189330911556331972831712906361585543994016797197343232773740323720195700019348979206337360302483271050272534441487095352818525582330467659235890736086680578555535338842524535773519889176119320273403391282659426913109495007122328644729206537363473897563130596810011764145494613873694949900131727430167820240569499729243996 282309357379752397189850980708740833287627528195584204262798003509154613248258337456561158732775330780316238119260947529497919223972736324281657142394448906757424118248019318137233259961101738480912937810166818451135963729885972125608204620110718467604869830658636237152877933392283651159977907800750400261570651486831217263917105145966839313682622746812229572423129356670269793351012925061464481549285917030092517872878449217149002086580164202679777440091362350547621238715576290363636746819100060011737559359059590638862713623558129205921720325480045846467012768740588740859787929242818139372243 456786135582580334376678455348315065956200111129933343108801828963894300479092755882522810075348961423881605951691431291961645214205033843264778692653538317141593598468851101241312700183572439900430091563473265028782306355284703759431040190100343815525076177707881056486900845581614562716309880632463306623156195480848014461260337919707163033878322766161208778760489659153540843623547366548559834367811499360560177108769185303829580642115503045204313213611251526666941512118967573023063659928595067134066204088266128002336611186688726015933484470974659720161962668872316171027608169812317868616239 739095492962332731566529436057055899243827639325517547371599832473048913727351093339083968808124292204197844070952378821459564438177770167546435835047987223899017716716870419378545960144674178381343029373640083479918270085170675885039244810211062283129946008366517293639778778973898213876287788433213706884726846967679231725177443065674002347560945512973438351183619015823810636974560291610024315917097416390652694981647634520978582728695667247884090653702613877214562750834543863386700406747695127145803763447325718641199324810246855221855204796454705566628975437612904911887396099055136007988482 1195881628544913065943207891405370965200027750455450890480401661436943214206443849221606778883473253628079450022643810113421209652382804010811214527701525541040611315185721520619858660328246618281773120937113348508700576440455379644470285000311406098655022186074398350126679624555512776592597669065677013507883042448527246186437780985381165381439268279134647129944108674977351480598107658158584150284908915751212872090416819824808163370811170293088403867313865403881504262953511436409764066676290194279869967535591846643535935996935581237788689267429365286790938106485221082915004268867453876604721 1934977121507245797509737327462426864443855389780968437852001493909992127933794942560690747691597545832277294093596188934880774090560574178357650362749512764939629031902591939998404620472920796663116150310753431988618846525626055529509529810522468381784968194440915643766458403529410990468885457498890720392609889416206477911615224051055167729000213792108085481127727690801162117572667949768608466202006332141865567072064454345786746099506837540972494521016479281096067013788055299796464473423985321425673730982917565284735260807182436459643894063884070853419913544098125994802400367922589884593203 3130858750052158863452945218867797829643883140236419328332403155346935342140238791782297526575070799460356744116239999048301983742943378189168864890451038305980240347088313460618263280801167414944889271247866780497319422966081435173979814810833874480439990380515313993893138028084923767061483126564567733900492931864733724098053005036436333110439482071242732611071836365778513598170775607927192616486915247893078439162481274170594909470318007834060898388330344684977571276741566736206228540100275515705543698518509411928271196804118017697432583331313436140210851650583347077717404636790043761197924 5065835871559404660962682546330224694087738530017387766184404649256927470074033734342988274266668345292634038209836187983182757833503952367526515253200551070919869378990905400616667901274088211608005421558620212485938269491707490703489344621356342862224958574956229637659596431614334757530368584063458454293102821280940202009668229087491500839439695863350818092199564056579675715743443557695801082688921580034944006234545728516381655569824845375033392909346823966073638290529622036002693013524260837131217429501426977213006457611300454157076477395197506993630765194681473072519805004712633645791127 8196694621611563524415627765198022523731621670253807094516807804603862812214272526125285800841739144752990782326076187031484741576447330556695380143651589376900109726079218861234931182075255626552894692806486992983257692457788925877469159432190217342664948955471543631552734459699258524591851710628026188193595753145673926107721234123927833949879177934593550703271400422358189313914219165622993699175836827928022445397027002686976565040142853209094291297677168651051209567271188772208921553624536352836761128019936389141277654415418471854509060726510943133841616845264820150237209641502677406989051 13262530493170968185378310311528247217819360200271194860701212453860790282288306260468274075108407490045624820535912375014667499409951282924221895396852140447819979105070124261851599083349343838160900114365107205469195961949496416580958504053546560204889907530427773269212330891313593282122220294691484642486698574426614128117389463211419334789318873797944368795470964478937865029657662723318794781864758407962966451631572731203358220609967698584127684207023992617124847857800810808211614567148797189967978557521363366354284112026718926011585538121708450127472382039946293222757014646215311052780178 21459225114782531709793938076726269741550981870525001955218020258464653094502578786593559875950146634798615602861988562046152240986398613480917275540503729824720088831149343123086530265424599464713794807171594198452453654407285342458427663485736777547554856485899316900765065351012851806714072005319510830680294327572288054225110697335347168739198051732537919498742364901296054343571881888941788481040595235890988897028599733890334785650110551793221975504701161268176057425071999580420536120773333542804739685541299755495561766442137397866094598848219393261313998885211113372994224287717988459769229 34721755607953499895172248388254516959370342070796196815919232712325443376790885047061833951058554124844240423397900937060819740396349896405139170937355870272540067936219467384938129348773943302874694921536701403921649616356781759039386167539283337752444764016327090169977396242326445088836292300010995473166992901998902182342500160546766503528516925530482288294213329380233919373229544612260583262905353643853955348660172465093693006260078250377349659711725153885300905282872810388632150687922130732772718243062663121849845878468856323877680136969927843388786380925157406595751238933933299512549407 56180980722736031604966186464980786700921323941321198771137252970790096471293463833655393827008700759642856026259889499106971981382748509886056446477859600097260156767368810508024659614198542767588489728708295602374103270764067101497813831025020115299999620502226407070742461593339296895550364305330506303847287229571190236567610857882113672267714977263020207792955694281529973716801426501202371743945948879744944245688772198984027791910188802170571635216426315153476962707944809969052686808695464275577457928603962877345407644910993721743774735818147236650100379810368519968745463221651287972318636 90902736330689531500138434853235303660291666012117395587056485683115539848084348880717227778067254884487096449657790436167791721779098406291195617415215470369800224703588277892962788962972486070463184650244997006295752887120848860537199998564303453052444384518553497240719857835665741984386656605341501777014280131570092418910111018428880175796231902793502496087169023661763893090030971113462955006851302523598899594348944664077720798170267052547921294928151469038777867990817620357684837496617595008350176171666625999195253523379850045621454872788075080038886760735525926564496702155584587484868043 147083717053425563105104621318216090361212989953438594358193738653905636319377812714372621605075955644129952475917679935274763703161846916177252063893075070467060381470957088400987448577171028838051674378953292608669856157884915962035013829589323568352444005020779904311462319429005038879937020910672008080861567361141282655477721876310993848063946880056522703880124717943293866806832397614665326750797251403343843840037716863061748590080455854718492930144577784192254830698762430326737524305313059283927634100270588876540661168290843767365229608606222316688987140545894446533242165377235875457186679 237986453384115094605243056171451394021504655965555989945250224337021176167462161595089849383143210528617048925575470371442555424940945322468447681308290540836860606174545366293950237540143514908514859029198289614965609045005764822572213828153627021404888389539333401552182177264670780864323677516013509857875847492711375074387832894739874023860178782850025199967293741605057759896863368728128281757648553926942743434386661527139469388250722907266414225072729253231032698689580050684422361801930654292277810271937214875735914691670693812986684481394297396727873901281420373097738867532820462942054722 385070170437540657710347677489667484382717645918994584303443962990926812486839974309462470988219166172747001401493150306717319128102792238645699745201365611303920987645502454694937686117314543746566533408151582223635465202890680784607227657742950589757332394560113305863644496693675819744260698426685517938737414853852657729865554771050867871924125662906547903847418459548351626703695766342793608508445805330286587274424378390201217978331178761984907155217307037423287529388342481011159886107243713576205444372207803752276575859961537580351914090000519713416861041827314819630981032910056338399241401 623056623821655752315590733661118878404222301884550574248694187327947988654302135904552320371362376701364050327068620678159874553043737561114147426509656152140781593820047820988887923657458058655081392437349871838601074247896445607179441485896577611162220784099446707415826673958346600608584375942699027796613262346564032804253387665790741895784304445756573103814712201153409386600559135070921890266094359257229330708811039917340687366581901669251321380290036290654320228077922531695582247909174367868483254644145018628012490551632231393338598571394817110144734943108735192728719900442876801341296123 1008126794259196410025938411150786362786939947803545158552138150318874801141142110214014791359581542874111051728561770984877193681146529799759847171711021763444702581465550275683825609774772602401647925845501454062236539450787126391786669143639528200919553178659560013279471170652022420352845074369384545735350677200416690534118942436841609767708430108663121007662130660701761013304254901413715498774540164587515917983235418307541905344913080431236228535507343328077607757466265012706742134016418081444688699016352822380289066411593768973690512661395336823561595984936050012359700933352933139740537524 1631183418080852162341529144811905241191162249688095732800832337646822789795444246118567111730943919575475102055630391663037068234190267360873994598220677915585484175285598096672713533432230661056729318282851325900837613698683571998966110629536105812081773962759006720695297844610369020961429450312083573531963939546980723338372330102632351663492734554419694111476842861855170399904814036484637389040634523844745248692046458224882592711494982100487549915797379618731927985544187544402324381925592449313171953660497841008301556963226000367029111232790153933706330928044785205088420833795809941081833647 2639310212340048572367467555962691603978102197491640891352970487965697590936586356332581903090525462449586153784192162647914261915336797160633841769931699679030186756751148372356539143207003263458377244128352779963074153149470698390752779773175634013001327141418566733974769015262391441314274524681468119267314616747397413872491272539473961431201164663082815119138973522556931413209068937898352887815174688432261166675281876532424498056408062531723778451304722946809535743010452557109066515942010530757860652676850663388590623374819769340719623894185490757267926912980835217448121767148743080822371171 4270493630420900734708996700774596845169264447179736624153802825612520380732030602451149014821469382025061255839822554310951330149527064521507836368152377594615670932036746469029252676639233924515106562411204105863911766848154270389718890402711739825083101104177573454670066859872760462275703974993551692799278556294378137210863602642106313094693899217502509230615816384412101813113882974382990276855809212277006415367328334757307090767903044632211328367102102565541463728554640101511390897867602980071032606337348504396892180338045769707748735126975644690974257841025620422536542600944553021904204818 6909803842760949307076464256737288449147366644671377515506773313578217971668616958783730917911994844474647409624014716958865592064863861682141678138084077273645857688787894841385791819846237187973483806539556885826985919997624968780471670175887373838084428245596140188644835875135151903589978499675019812066593173041775551083354875181580274525895063880585324349754789906969033226322951912281343164670983900709267582042610211289731588824311107163935106818406825512350999471565092658620457413809613510828893259014199167785482803712865539048468359021161135448242184754006455639984664368093296102726575989 11180297473181850041785460957511885294316631091851114139660576139190738352400647561234879932733464226499708665463837271269816922214390926203649514506236454868261528620824641310415044496485471112488590368950760991690897686845779239170190560578599113663167529349773713643314902735007912365865682474668571504865871729336153688294218477823686587620588963098087833580370606291381135039436834886664333441526793112986273997409938546047038679592214151796146435185508928077892463200119732760131848311677216490899925865351547672182374984050911308756217094148136780139216442595032076062521206969037849124630780807 18090101315942799348861925214249173743463997736522491655167349452768956324069264520018610850645459070974356075087851988228682514279254787885791192644320532141907386309612536151800836316331708300462074175490317877517883606843404207950662230754486487501251957595369853831959738610143064269455660974343591316932464902377929239377573353005266862146484026978673157930125396198350168265759786798945676606197777013695541579452548757336770268416525258960081542003915753590243462671684825418752305725486830001728819124365746839967857787763776847804685453169297915587458627349038531702505871337131145227357356796 29270398789124649390647386171761059037780628828373605794827925591959694676469912081253490783378923297474064740551689259498499436493645714089440707150556987010168914930437177462215880812817179412950664544441078869208781293689183447120852791333085601164419486945143567475274641345150976635321343449012162821798336631714082927671791830828953449767072990076760991510496002489731303305196621685610010047724570126681815576862487303383808948008739410756227977189424681668135925871804558178884154037164046492628744989717294512150232771814688156560902547317434695726675069944070607765027078306168994351988137603 47360500105067448739509311386010232781244626564896097449995275044728651000539176601272101634024382368448420815639541247727181950772900501975231899794877519152076301240049713614016717129148887713412738719931396746726664900532587655071515022087572088665671444540513421307234379955294040904777004423355754138730801534092012167049365183834220311913557017055434149440621398688081471570956408484555686653922347140377357156315036060720579216425264669716309519193340435258379388543489383597636459762650876494357564114083041352118090559578465004365588000486732611314133697293109139467532949643300139579345494399 76630898894192098130156697557771291819025255393269703244823200636688345677009088682525592417403305665922485556191230507225681387266546216064672606945434506162245216170486891076232597941966067126363403264372475615935446194221771102192367813420657689830090931485656988782509021300445017540098347872367916960529138165806095094721157014663173761680630007132195140951117401177812774876153030170165696701646917267059172733177523364104388164434004080472537496382765116926515314415293941776520613799814922986986309103800335864268323331393153160926490547804167307040808767237179747232560027949469133931333632002 123991398999259546869666008943781524600269881958165800694818475681416996677548265283797694051427688034370906371830771754952863338039446718039904506740312025314321517410536604690249315071114954839776141984303872362662111094754358757263882835508229778495762376026170410089743401255739058444875352295723671099259939699898107261770522198497394073594187024187629290391738799865894246447109438654721383355569264407436529889492559424824967380859268750188847015576105552184894702958783325374157073562465799481343873217883377216386413890971618165292078548290899918354942464530288886700092977592769273510679126401 200622297893451644999822706501552816419295137351435503939641676318105342354557353966323286468830993700293391928022002262178544725305992934104577113685746531476566733581023495766481913013081021966139545248676347978597557288976129859456250648928887468325853307511827398872252422556184075984973700168091588059789077865704202356491679213160567835274817031319824431342856201043707021323262468824887080057216181674495702622670082788929355545293272830661384511958870669111410017374077267150677687362280722468330182321683713080654737222364771326218569096095067225395751231767468633932653005542238407442012758403 324613696892711191869488715445334341019565019309601304634460151999522339032105619250120980520258681734664298299852774017131408063345439652144481620426058556790888250991560100456731228084195976805915687232980220341259668383730488616720133484437117246821615683537997808961995823811923134429849052463815259159049017565602309618262201411657961908869004055507453721734595000909601267770371907479608463412785446081932232512162642213754322926152541580850231527534976221296304720332860592524834760924746521949674055539567090297041151113336389491510647644385967143750693696297757520632745983135007680952691884804 525235994786162836869311421946887157438860156661036808574101828317627681386662973216444266989089675434957690227874776279309952788651432586249058734111805088267454984572583596223213141097276998772055232481656568319857225672706618476176384133366004715147468991049825207834248246368107210414822752631906847218838095431306511974753880624818529744143821086827278153077451201953308289093634376304495543470001627756427935134832725002683678471445814411511616039493846890407714737706937859675512448287027244418004237861250803377695888335701160817729216740481034369146444928065226154565398988677246088394704643207 849849691678874028738800137392221498458425175970638113208561980317150020418768592466565247509348357169621988527727550296441360851996872238393540354537863645058343235564143696679944369181472975577970919714636788661116894056437107092896517617803121961969084674587823016796244070180030344844671805095722106377887112996908821593016082036476491653012825142334731874812046202862909556864006283784104006882787073838360167646995367216438001397598355992361847567028823111704019458039798452200347209211773766367678293400817893674737039449037550309239864384867001512897138624362983675198144971812253769347396528011 1375085686465036865608111559339108655897285332631674921782663808634777701805431565683009514498438032604579678755602326575751313640648304824642599088649668733325798220136727292903157510278749974350026152196293356980974119729143725569072901751169126677116553665637648224630492316548137555259494557727628953596725208428215333567769962661295021397156646229162010027889497404816217845957640660088599550352788701594788102781828092219121679869044170403873463606522670002111734195746736311875859657498801010785682531262068697052432927784738711126969081125348035882043583552428209829763543960489499857742101171218 2224935378143910894346911696731330154355710508602313034991225788951927722224200158149574762007786389774201667283329876872192674492645177063036139443187532378384141455700870989583101879460222949927997071910930145642091013785580832661969419368972248639085638340225471241426736386728167900104166362823351059974612321425124155160786044697771513050169471371496741902701543607679127402821646943872703557235575775433148270428823459435559681266642526396235311173551493113815753653786534764076206866710574777153360824662886590727169967233776261436208945510215037394940722176791193504961688932301753627089497699229 3600021064608947759955023256070438810252995841233987956773889597586705424029631723832584276506224422378781346038932203447943988133293481887678738531837201111709939675837598282486259389738972924278023224107223502623065133514724558231042321120141375316202192005863119466057228703276305455363660920550980013571337529853339488728556007359066534447326117600658751930591041012495345248779287603961303107588364477027936373210651551654681361135686696800108774780074163115927487849533271075952066524209375787939043355924955287779602895018514972563178026635563073276984305729219403334725232892791253484831598870447 5824956442752858654301934952801768964608706349836300991765115386538633146253831881982159038514010812152983013322262080320136662625938658950714877975024733490094081131538469272069361269199195874206020296018153648265156147300305390893011740489113623955287830346088590707483965090004473355467827283374331073545949851278463643889342052056838047497495588972155493833292584620174472651600934547834006664823940252461084643639475011090241042402329223196344085953625656229743241503319805840028273390919950565092404180587841878506772862252291233999386972145778110671925027906010596839686921825093007111921096569676 9424977507361806414256958208872207774861702191070288948539004984125338570283463605814743315020235234531764359361194283768080650759232140838393616506861934601804020807376067554555620658938168798484043520125377150888221280815029949124054061609254999271490022351951710173541193793280778810831488203925311087117287381131803132617898059415904581944821706572814245763883625632669817900380222151795309772412304729489021016850126562744922403538015919996452860733699819345670729352853076915980339915129326353031447536512797166286375757270806206562564998781341183948909333635230000174412154717884260596752695440123 15249933950114665068558893161673976739470408540906589940304120370663971716537295487796902353534246046684747372683456364088217313385170799789108494481886668091898101938914536826624981928137364672690063816143530799153377428115335340017065802098368623226777852698040300881025158883285252166299315487299642160663237232410266776507240111472742629442317295544969739597176210252844290551981156699629316437236244981950105660489601573835163445940345143192796946687325475575413970856172882756008613306049276918123851717100639044793148619523097440561951970927119294620834361541240597014099076542977267708673792009799 24674911457476471482815851370546184514332110731976878888843125354789310286820759093611645668554481281216511732044650647856297964144402940627502110988748602693702122746290604381180602587075533471174107336268907950041598708930365289141119863707623622498267875049992011054566352676566030977130803691224953247780524613542069909125138170888647211387139002117783985361059835885514108452361378851424626209648549711439126677339728136580085849478361063189249807421025294921084700209025959671988953221178603271155299253613436211079524376793903647124516969708460478569743695176470597188511231260861528305426487449922 39924845407591136551374744532220161253802519272883468829147245725453282003358054581408548022088727327901259104728107011944515277529573740416610605470635270785600224685205141207805584515212898143864171152412438749194976137045700629158185665805992245725045727748032311935591511559851283143430119178524595408443761845952336685632378282361389840829456297662753724958236046138358399004342535551053942646884794693389232337829329710415249295418706206382046754108350770496498671065198842427997566527227880189279150970714075255872672996317001087686468940635579773190578056717711194202610307803838796014100279459721 64599756865067608034190595902766345768134630004860347717990371080242592290178813675020193690643208609117770836772757659800813241673976681044112716459383873479302347431495745588986187102288431615038278488681346699236574845976065918299305529513615868223313602798024322990157864236417314120560922869749548656224286459494406594757516453250037052216595299780537710319295882023872507456703914402478568856533344404828359015169057846995335144897067269571296561529376065417583371274224802099986519748406483460434450224327511466952197373110904734810985910344040251760321751894181791391121539064700324319526766909643 104524602272658744585565340434986507021937149277743816547137616805695874293536868256428741712731935937019029941500864671745328519203550421460723321930019144264902572116700886796791771617501329758902449641093785448431550983021766547457491195319608113948359330546056634925749375796268597263991042048274144064668048305446743280389894735611426893046051597443291435277531928162230906461046449953532511503418139098217591352998387557410584440315773475953343315637726835914082042339423644527984086275634363649713601195041586722824870369427905822497454850979620024950899808611892985593731846868539120333627046369364 169124359137726352619755936337752852790071779282604164265127987885938466583715681931448935403375144546136800778273622331546141760877527102504836038389403017744204919548196632385777958719789761373940728129775132147668125828997832465756796724833223982171672933344080957915907240032685911384551964918023692720892334764941149875147411188861463945262646897223829145596827810186103413917750364356011080359951483503045950368167445404405919585212840745524639877167102901331665413613648446627970606024040847110148051419369098189777067742538810557308440761323660276711221560506074776984853385933239444653153813279007 273648961410385097205321276772739359812008928560347980812265604691634340877252550187877677116107080483155830719774487003291470280081077523965559360319422162009107491664897519182569730337291091132843177770868917596099676812019599013214287920152832096120032263890137592841656615828954508648543006966297836785560383070387893155537305924472890838308698494667120580874359738348334320378796814309543591863369622601263541721165832961816504025528614221477983192804829737245747455953072091155954692299675210759861652614410684912601938111966716379805895612303280301662121369117967762578585232801778564986780859648371 442773320548111449825077213110492212602080707842952145077393592577572807460968232119326612519482225029292631498048109334837612040958604626470395398708825179753312411213094151568347689057080852506783905900644049743767802641017431478971084644986056078291705197234218550757563855861640420033094971884321529506452717835329043030684717113334354783571345391890949726471187548534437734296547178665554672223321106104309492089333278366222423610741454967002623069971932638577412869566720537783925298323716057870009704033779783102379005854505526937114336373626940578373342929624042539563438618735018009639934672927378 716422281958496547030398489883231572414089636403300125889659197269207148338220782307204289635589305512448462217822596338129082321039682150435954759028247341762419902877991670750917419394371943639627083671512967339867479453037030492185372565138888174411737461124356143599220471690594928681637978850619366292013100905716936186222023037807245621880043886558070307345547286882772054675343992975098264086690728705573033810499111328038927636270069188480606262776762375823160325519792628939879990623391268629871356648190468014980943966472243316920231985930220880035464298742010302142023851536796574626715532575749 1159195602506607996855475702993723785016170344246252270967052789846779955799189014426530902155071530541741093715870705672966694361998286776906350157737072521515732314091085822319265108451452796146410989572157017083635282094054461971156457210124944252703442658358574694356784327552235348714732950734940895798465818741045979216906740151141600405451389278449020033816734835417209788971891171640652936310011834809882525899832389694261351247011524155483229332748695014400573195086513166723805288947107326499881060681970251117359949820977770254034568359557161458408807228366052841705462470271814584266650205503127 1875617884465104543885874192876955357430259980649552396856711987115987104137409796733735191790660836054189555933693302011095776683037968927342304916765319863278152216969077493070182527845824739786038073243669984423502761547091492463341829775263832427115180119482930837956004799242830277396370929585560262090478919646762915403128763188948846027331433165007090341162282122299981843647235164615751200396702563515455559710331501022300278883281593343963835595525457390223733520606305795663685279570498595129752417330160719132340893787450013570954800345487382338444271527108063143847486321808611158893365738078876 3034813486971712540741349895870679142446430324895804667823764776962767059936598811160266093945732366595930649649564007684062471045036255704248655074502392384793884531060163315389447636297277535932449062815827001507138043641145954434498286985388776679818622777841505532312789126795065626111103880320501157888944738387808894620035503340090446432782822443456110374979016957717191632619126336256404136706714398325338085610163890716561630130293117499447064928274152404624306715692818962387490568517605921629633478012130970249700843608427783824989368705044543796853078755474115985552948792080425743160015943582003 4910431371436817084627224088747634499876690305545357064680476764078754164074008607894001285736393202650120205583257309695158247728074224631590959991267712248072036748029240808459630164143102275718487136059496985930640805188237446897840116760652609106933802897324436370268793926037895903507474809906061419979423658034571810023164266529039292460114255608463200716141299080017173476266361500872155337103416961840793645320495391738861909013574710843410900523799609794848040236299124758051175848088104516759385895342291689382041737395877797395944169050531926135297350282582179129400435113889036902053381681660879 7945244858408529625368573984618313642323120630441161732504241541041521224010607419054267379682125569246050855232821317379220718773110480335839615065770104632865921279089404123849077800440379811650936198875323987437778848829383401332338403746041385786752425675165941902581583052832961529618578690226562577868368396422380704643199769869129738892897078051919311091120316037734365108885487837128559473810131360166131730930659282455423539143867828342857965452073762199472346951991943720438666416605710438389019373354422659631742581004305581220933537755576469932150429038056295114953383905969462645213397625242882 12855676229845346709995798073365948142199810935986518797184718305120275388084616026948268665418518771896171060816078627074378966501184704967430575057037816880937958027118644932308707964583482087369423334934820973368419654017620848230178520506693994893686228572490378272850376978870857433126053500132623997847792054456952514666364036398169031353011333660382511807261615117751538585151849338000714810913548322006925376251154674194285448157442539186268865975873371994320387188291068478489842264693814955148405268696714349013784318400183378616877706806108396067447779320638474244353819019858499547266779306903761 20800921088253876335364372057984261784522931566427680529688959846161796612095223446002536045100644341142221916048899944453599685274295185303270190122807921513803879306208049056157785765023861899020359533810144960806198502847004249562516924252735380680438654247656320175431960031703818962744632190359186575716160450879333219309563806267298770245908411712301822898381931155485903694037337175129274284723679682173057107181813956649708987301310367529126831427947134193792734140283012198928508681299525393537424642051137008645526899404488959837811244561684865999598208358694769359307202925827962192480176932146643 33656597318099223045360170131350209926722742502414199326873678151282072000179839472950804710519163113038392976864978571527978651775479890270700765179845738394741837333326693988466493729607343986389782868744965934174618156864625097792695444759429375574124882820146698448282337010574676395870685690491810573563952505336285733975927842665467801598919745372684334705643546273237442279189186513129989095637228004179982483432968630843994435458752906715395697403820506188113121328574080677418350945993340348685829910747851357659311217804672338454688951367793262067045987679333243603661021945686461739746956239050404 54457518406353099380724542189334471711245674068841879856562637997443868612275062918953340755619807454180614892913878515981578337049775075573970955302653659908545716639534743044624279494631205885410142402555110894980816659711629347355212369012164756254563537067803018623714297042278495358615317880850997149280112956215618953285491648932766571844828157084986157604025477428723345973226523688259263380360907686353039590614782587493703422760063274244522528831767640381905855468857092876346859627292865742223254552798988366304838117209161298292500195929478128066644196038028012962968224871514423932227133171197047 88114115724452322426084712320684681637968416571256079183436316148725940612454902391904145466138970567219007869778857087509556988825254965844671720482499398303287553972861437033090773224238549871799925271300076829155434816576254445147907813771594131828688419887949717071996634052853171754486003571342807722844065461551904687261419491598234373443747902457670492309669023701960788252415710201389252475998135690533022074047751218337697858218816180959918226235588146570018976797431173553765210573286206090909084463546839723964149335013833636747189147297271390133690183717361256566629246817200885671974089410247451 142571634130805421806809254510019153349214090640097959039998954146169809224729965310857486221758778021399622762692735603491135325875030041418642675785153058211833270612396180077715052718869755757210067673855187724136251476287883792503120182783758888083251956955752735695710931095131667113101321452193804872124178417767523640546911140531000945288576059542656649913694501130684134225642233889648515856359043376886061664662533805831401280978879455204440755067355786951924832266288266430112070200579071833132339016345828090268987452222994935039689343226749518200334379755389269529597471688715309604201222581444498 230685749855257744232893966830703834987182507211354038223435270294895749837184867702761631687897748588618630632471592691000692314700285007263314396267652456515120824585257617110805825943108305629009992945155264553291686292864138237651027996555353019911940376843702452767707565147984838867587325023536612594968243879319428327808330632129235318732323962000327142223363524832644922478057944091037768332357179067419083738710285024169099139197695636164358981302943933521943809063719439983877280773865277924041423479892667814233136787236828571786878490524020908334024563472750526096226718505916195276175311991691949 373257383986063166039703221340722988336396597851451997263434224441065559061914833013619117909656526610018253395164328294491827640575315048681957072052805514726954095197653797188520878661978061386220060619010452277427937769152022030154148179339111907995192333799455188463418496243116505980688646475730417467092422297086951968355241772660236264020900021542983792137058025963329056703700177980686284188716222444305145403372818830000500420176575091368799736370299720473868641330007706413989350974444349757173762496238495904502124239459823506826567833750770426534358943228139795625824190194631504880376534573136447 603943133841320910272597188171426823323579105062806035486869494735961308899099700716380749597554275198636884027635920985492519955275600055945271468320457971242074919782911414299326704605086367015230053564165716830719624062016160267805176175894464927907132710643157641231126061391101344848275971499267030062060666176406380296163572404789471582753223983543310934360421550795973979181758122071724052521073401511724229142083103854169599559374270727533158717673243653995812450393727146397866631748309627681215185976131163718735261026696652078613446324274791334868383506700890321722050908700547700156551846564828396 977200517827384076312300409512149811659975702914258032750303719177026867961014533729999867507210801808655137422800249279984347595850915104627228540373263485969029014980565211487847583267064428401450114183176169108147561831168182297959324355233576835902325044442612829694544557634217850828964617974997447529153088473493332264518814177449707846774124005086294726497479576759303035885458300052410336709789623956029374545455922684170099979550845818901958454043543374469681091723734852811855982722753977438388948472369659623237385266156475585440014158025561761402742449929030117347875098895179205036928381137964843 1581143651668704986584897597683576634983554807977064068237173213912988176860114234446380617104765077007292021450436170265476867551126515160572500008693721457211103934763476625787174287872150795416680167747341885938867185893184342565764500531128041763809457755085770470925670619025319195677240589474264477591213754649899712560682386582239179429527347988629605660857901127555277015067216422124134389230863025467753603687539026538339699538925116546435117171716787028465493542117461999209722614471063605119604134448500823341972646292853127664053460482300353096271125956629920439069926007595726905193480227702793239 2558344169496089062897198007195726446643530510891322100987476933090015044821128768176380484611975878815947158873236419545461215146977430265199728549066984943180132949744041837275021871139215223818130281930518055047014747724352524863723824886361618599711782799528383300620215176659537046506205207449261925120366843123393044825201200759688887276301471993715900387355380704314580050952674722176544725940652649423782978232994949222509799518475962365337075625760330402935174633841196852021578597193817582557993082920870482965210031559009603249493474640325914857673868406558950556417801106490906110230408608840758082 4139487821164794049482095604879303081627085318868386169224650147003003221681243002622761101716740955823239180323672589810938082698103945425772228557760706400391236884507518463062196159011366019234810449677859940985881933617536867429488325417489660363521240554614153771545885795684856242183445796923526402711580597773292757385883587341928066705828819982345506048213281831869857066019891144300679115171515674891536581920533975760849499057401078911772192797477117431400668175958658851231301211664881187677597217369371306307182677851862730913546935122626267953944994363188870995487727114086633015423888836543551321 6697831990660883112379293612075029528270615829759708270212127080093018266502371770799141586328716834639186339196909009356399297845081375690971957106827691343571369834251560300337218030150581243052940731608377996032896681341889392293212150303851278963233023354142537072166100972344393288689651004372788327831947440896685802211084788101616953982130291976061406435568662536184437116972565866477223841112168324315319560153528924983359298575877041277109268423237447834335842809799855703252879808858698770235590300290241789272392709410872334163040409762952182811618862769747821551905528220577539125654297445384309403 10837319811825677161861389216954332609897701148628094439436777227096021488183614773421902688045457790462425519520581599167337380543185321116744185664588397743962606718759078763399414189161947262287751181286237937018778614959426259722700475721340939326754263908756690843711986768029249530873096801296314730543528038669978559596968375443545020687959111958406912483781944368054294182992457010777902956283683999206856142074062900744208797633278120188881461220714565265736510985758514554484181020523579957913187517659613095579575387262735065076587344885578450765563857132936692547393255334664172141078186281927860724 17535151802486560274240682829029362138168316978387802709648904307189039754685986544221044274374174625101611858717490608523736678388266696807716142771416089087533976553010639063736632219312528505340691912894615933051675296301315652015912626025192218289987287262899227915878087740373642819562747805669103058375475479566664361808053163545161974670089403934468318919350606904238731299965022877255126797395852323522175702227591825727568096209155161465990729643952013100072353795558370257737060829382278728148777817949854884851968096673607399239627754648530633577182719902684514099298783555241711266732483727312170127 28372471614312237436102072045983694748066018127015897149085681534285061242869601317642946962419632415564037378238072207691074058931452017924460328436004486831496583271769717827136046408474475767628443094180853870070453911260741911738613101746533157616741551171655918759590074508402892350435844606965417788919003518236642921405021538988706995358048515892875231403132551272293025482957479888033029753679536322729031844301654726471776893842433281654872190864666578365808864781316884812221241849905858686061965335609467980431543483936342464316215099534109084342746577035621206646692038889905883407810670009240030851 45907623416798797710342754875013056886234335105403699858734585841474100997555587861863991236793807040665649236955562816214810737319718714732176471207420575919030559824780356890872678627787004272969135007075469803122129207562057563754525727771725375906728838434555146675468162248776535169998592412634520847294478997803307283213074702533868970028137919827343550322483158176531756782922502765288156551075388646251207546529246552199344990051588443120862920508618591465881218576875255069958302679288137414210743153559322865283511580609949863555842854182639717919929296938305720745990822445147594674543153736552200978 74280095031111035146444826920996751634300353232419597007820267375759162240425189179506938199213439456229686615193635023905884796251170732656636799643425062750527143096550074718008725036261480040597578101256323673192583118822799475493138829518258533523470389606211065435058236757179427520434437019599938636213482516039950204618096241522575965386186435720218781725615709448824782265879982653321186304754924968980239390830901278671121883894021724775735111373285169831690083358192139882179544529193996100272708489168790845715055064546292327872057953716748802262675873973926927392682861335053478082353823745792231829 120187718447909832856787581796009808520534688337823296866554853217233263237980777041370929436007246496895335852149197840120695533570889447388813270850845638669557702921330431608881403664048484313566713108331793476314712326384857039247664557289983909430199228040766212110526399005955962690433029432234459483507961513843257487831170944056444935414324355547562332048098867625356539048802485418609342855830313615231446937360147830870466873945610167896598031881903761297571301935067394952137847208482133514483451642728113710998566645156242191427900807899388520182605170912232648138673683780201072756896977482344432807 194467813479020868003232408717006560154835041570242893874375120592992425478405966220877867635220685953125022467342832864026580329822060180045450070494270701420084846017880506326890128700309964354164291209588117149507295445207656514740803386808242442953669617646977277545584635763135390210867466451834398119721444029883207692449267185579020900800510791267781113773714577074181321314682468071930529160585238584211686328191049109541588757839631892672333143255188931129261385293259534834317391737676129614756160131896904556713621709702534519299958761616137322445281044886159575531356545115254550839250801228136664636 314655531926930700860019990513016368675369729908066190740929973810225688716386743262248797071227932450020358319492030704147275863392949627434263341345116340089642548939210937935771532364358448667731004317919910625822007771592513553988467944098226352383868845687743489656111034769091352901300495884068857603229405543726465180280438129635465836214835146815343445821813444699537860363484953490539872016415552199443133265551196940412055631785242060568931175137092692426832687228326929786455238946158263129239611774625018267712188354858776710727859569515525842627886215798392223670030228895455623596147778710481097443 509123345405951568863252399230022928830204771478309084615305094403218114194792709483126664706448618403145380786834863568173856193215009807479713411839387041509727394957091444262661661064668413021895295527508027775329303216800170068729271330906468795337538463334720767201695670532226743112167962335903255722950849573609672872729705315214486737015345938083124559595528021773719181678167421562470401177000790783654819593742246049953644389624873953241264318392281623556094072521586464620772630683834392743995771906521922824425810064561311230027818331131663165073167260684551799201386774010710174435398579938617762079 823778877332882269723272389743039297505574501386375275356235068213443802911179452745375461777676550853165739106326894272321132056607959434913976753184503381599369943896302382198433193429026861689626299845427938401151310988392683622717739275004695147721407309022464256857806705301318096013468458219972113326180255117336138053010143444849952573230181084898468005417341466473257042041652375053010273193416342983097952859293442990365700021410116013810195493529374315982926759749913394407227869629992655873235383681146941092137998419420087940755677900647189007701053476482944022871417002906165798031546358649098859522 1332902222738833838586524788973062226335779272864684359971540162616661917105972162228502126484125169256311119893161757840494988249822969242393690165023890423109097338853393826461094854493695274711521595372935966176480614205192853691447010605911163943058945772357185024059502375833544839125636420555875369049131104690945810925739848760064439310245527022981592565012869488246976223719819796615480674370417133766752772453035689040319344411034989967051459811921655939539020832271499859028000500313827048617231155587668863916563808483981399170783496231778852172774220737167495822072803776916875972466944938587716621601 2156681100071716108309797178716101523841353774251059635327775230830105720017151614973877588261801720109476858999488652112816120306430928677307666918208393804708467282749696208659528047922722136401147895218363904577631925193585537314164749880915859090780353081379649280917309081134862935139104878775847482375311359808281948978749992204914391883475708107880060570430210954720233265761472171668490947563833476749850725312329132030685044432445105980861655305451030255521947592021413253435228369943819704490466539268815805008701806903401487111539174132426041180475274213650439844944220779823041770498491297236815481123 3489583322810549946896321967689163750177133047115743995299315393446767637123123777202379714745926889365787978892650409953311108556253897919701357083232284227817564621603090035120622902416417411112669490591299870754112539398778391005611760486827023033839298853736834304976811456968407774264741299331722851424442464499227759904489840964978831193721235130861653135443080442967209489481291968283971621934250610516603497765364821071004388843480095947913115117372686195060968424292913112463228870257646753107697694856484668925265615387382886282322670364204893353249494950817935667017024556739917742965436235824532102724 5646264422882266055206119146405265274018486821366803630627090624276873357140275392176257303007728609475264837892139062066127228862684826597009024001440678032526031904352786243780150950339139547513817385809663775331744464592363928319776510367742882124619651935116483585894120538103270709403846178107570333799753824307509708883239833169893223077196943238741713705873291397687442755242764139952462569498084087266454223077693953101689433275925201928774770422823716450582916016314326365898457240201466457598164234125300473933967422290784373393861844496630934533724769164468375511961245336562959513463927533061347583847 9135847745692816002102441114094429024195619868482547625926406017723640994263399169378637017753655498841052816784789472019438337418938724516710381084672962260343596525955876278900773852755556958626486876400963646085857003991142319325388270854569905158458950788853317890870931995071678483668587477439293185224196288806737468787729674134872054270918178369603366841316371840654652244724056108236434191432334697783057720843058774172693822119405297876687885540196402645643884440607239478361686110459113210705861928981785142859233037678167259676184514860835827886974264115286311178978269893302877256429363768885879686571 14782112168575082057308560260499694298214106689849351256553496642000514351403674561554894320761384108316317654676928534085565566281623551113719405086113640292869628430308662522680924803094696506140304262210627421417601468583506247645164781222312787283078602723969801476765052533174949193072433655546863519023950113114247177670969507304765277348115121608345080547189663238342094999966820248188896760930418785049511943920752727274383255395330499805462655963020119096226800456921565844260143350660579668304026163107085616793200459968951633070046359357466762420699033279754686690939515229865836769893291301947227270418 23917959914267898059411001374594123322409726558331898882479902659724155345667073730933531338515039607157370471461718006105003903700562275630429786170786602553213224956264538801581698655850253464766791138611591067503458472574648566970553052076882692441537553512823119367635984528246627676741021132986156704248146401920984646458699181439637331619033299977948447388506035078996747244690876356425330952362753482832569664763811501447077077514735797682150541503216521741870684897528805322621829461119692879009888092088870759652433497647118892746230874218302590307673297395040997869917785123168714026322655070833106956989 38700072082842980116719561635093817620623833248181250139033399301724669697070748292488425659276423715473688126138646540190569469982185826744149191256900242846082853386573201324262623458944949970907095400822218488921059941158154814615717833299195479724616156236792920844401037061421576869813454788533020223272096515035231824129668688744402608967148421586293527935695698317338842244657696604614227713293172267882081608684564228721460332910066297487613197466236640838097485354450371166881972811780272547313914255195956376445633957616070525816277233575769352728372330674795684560857300353034550796215946372780334227407 62618031997110878176130563009687940943033559806513149021513301961448825042737822023421956997791463322631058597600364546295573373682748102374578977427686845399296078342837740125844322114795203435673886539433809556424518413732803381586270885376078172166153709749616040212037021589668204546554475921519176927520242916956216470588367870184039940586181721564241975324201733396335589489348572961039558665655925750714651273448375730168537410424802095169763738969453162579968170251979176489503802272899965426323802347284827136098067455263189418562508107794071943036045628069836682430775085476203264822538601443613441184396 101318104079953858292850124644781758563657393054694399160546701263173494739808570315910382657067887038104746723739011086486142843664933929118728168684587088245378931729410941450106945573740153406580981940256028045345578354890958196201988718675273651890769865986408961056438058651089781416367930710052197150792339431991448294718036558928442549553330143150535503259897431713674431734006269565653786378949098018596732882132939958889997743334868392657376936435689803418065655606429547656385775084680237973637716602480783512543701412879259944378785341369841295764417958744632366991632385829237815618754547816393775411803 163936136077064736468980687654469699506690952861207548182060003224622319782546392339332339654859350360735805321339375632781716217347682031493307146112273933644675010072248681575951267688535356842254868479689837601770096768623761577788259604051351824056923575736025001268475080240757985962922406631571374078312582348947664765306404429112482490139511864714777478584099165110010021223354842526693345044605023769311384155581315689058535153759670487827140675405142965998033825858408724145889577357580203399961518949765610648641768868142449362941293449163913238800463586814469049422407471305441080441293149260007216596199 265254240157018594761830812299251458070348345915901947342606704487795814522354962655242722311927237398840552045078386719267859061012615960612035314796861021890053941801659623026058213262275510248835850419945865647115675123514719773990248322726625475947693441722433962324913138891847767379290337341623571229104921780939113060024440988040925039692842007865312981843996596823684452957361112092347131423554121787908117037714255647948532897094538880484517611840832769416099481464838271802275352442260441373599235552246394161185470281021709307320078790533754534564881545559101416414039857134678896060047697076400992008002 429190376234083331230811499953721157577039298777109495524666707712418134304901354994575061966786587759576357366417762352049575278360297992105342460909134955534728951873908304602009480950810867091090718899635703248885771892138481351778507926777977300004617017458458963593388219132605753342212743973194945307417504129886777825330845417153407529832353872580090460428095761933694474180715954619040476468159145557219501193295571337007068050854209368311658287245975735414133307323246995948164929799840644773560754502012004809827239149164158670261372239697667773365345132373570465836447328440119976501340846336408208604201 694444616391101925992642312252972615647387644693011442867273412200213948827256317649817784278713825158416909411496149071317434339372913952717377775705995977424782893675567927628067694213086377339926569319581568896001447015653201125768756249504602775952310459180892925918301358024453520721503081314818516536522425910825890885355286405194332569525195880445403442272092358757378927138077066711387607891713267345127618231009826984955600947948748248796175899086808504830232788788085267750440282242101086147159990054258398971012709430185867977581451030231422307930226677932671882250487185574798872561388543412809200612203 1123634992625185257223453812206693773224426943470120938391940119912632083132157672644392846245500412917993266777913911423367009617733211944822720236615130932959511845549476232230077175163897244431017288219217272144887218907791682477547264176282580075956927476639351889511689577157059274063715825288013461843939930040712668710686131822347740099357549753025493902700188120691073401318793021330428084359872412902347119424305398321962668998802957617107834186332784240244366096111332263698605212041941730920720744556270403780839948579350026647842823269929090081295571810306242348086934514014918849062729389749217409216404 1818079609016287183216096124459666388871814588163132381259213532112846031959413990294210630524214238076410176189410060494684443957106125897540098012321126910384294739225044159858144869376983621770943857538798841040888665923444883603316020425787182851909237935820244815429990935181512794785218906602831978380462355951538559596041418227542072668882745633470897344972280479448452328456870088041815692251585680247474737655315225306918269946751705865904010085419592745074598884899417531449045494284042817067880734610528802751852658009535894625424274300160512389225798488238914230337421699589717721624117933162026609828607 2941714601641472440439549936666360162096241531633253319651153652025478115091571662938603476769714650994403442967323971918051453574839337842362818248936257843343806584774520392088222044540880866201961145758016113185775884831236566080863284602069762927866165412459596704941680512338572068848934731890845440224402285992251228306727550049889812768240295386496391247672468600139525729775663109372243776611458093149821857079620623628880938945554663483011844271752376985318964981010749795147650706325984547988601479166799206532692606588885921273267097570089602470521370298545156578424356213604636570686847322911244019045011 4759794210657759623655646061126026550968056119796385700910367184138324147050985653232814107293928889070813619156734032412735897531945463739902916261257384753728101323999564551946366913917864487972905003296814954226664550754681449684179305027856945779775403348279841520371671447520084863634153638493677418604864641943789787902768968277431885437123041019967288592644749079587978058232533197414059468863043773397296594734935848935799208892306369348915854357171969730393563865910167326596696200610027365056482213777328009284545264598421815898691371870250114859747168786784070808761777913194354292310965256073270628873618 7701508812299232064095195997792386713064297651429639020561520836163802262142557316171417584063643540065217062124058004330787351106784801582265734510193642597071907908774084944034588958458745354174866149054831067412440435585918015765042589629926708707641568760739438225313351959858656932483088370384522858829266927936041016209496518327321698205363336406463679840317217679727503788008196306786303245474501866547118451814556472564680147837861032831927698628924346715712528846920917121744346906936011913045083692944127215817237871187307737171958469440339717330268539085329227387186134126798990862997812578984514647918629 12461303022956991687750842058918413264032353771226024721471888020302126409193542969404231691357572429136030681280792036743523248638730265322168650771451027350800009232773649495980955872376609842147771152351646021639104986340599465449221894657783654487416972109019279745685023407378741796117242008878200277434131569879830804112265486604753583642486377426430968432961966759315481846240729504200362714337545639944415046549492321500479356730167402180843552986096316446106092712831084448341043107546039278101565906721455225101783135785729553070649841310589832190015707872113298195947912039993345155308777835057785276792247 20162811835256223751846038056710799977096651422655663742033408856465928671336100285575649275421215969201247743404850041074310599745515066904434385281644669947871917141547734440015544830835355196322637301406477089051545421926517481214264484287710363195058540869758717970998375367237398728600330379262723136263398497815871820321762004932075281847849713832894648273279184439042985634248925810986665959812047506491533498364048794065159504568028435012771251615020663161818621559752001570085390014482051191146649599665582440919021006973037290242608310750929549520284246957442525583134046166792336018306590414042299924710876 32624114858213215439596880115629213241129005193881688463505296876768055080529643254979880966778788398337278424685642077817833848384245332226603036053095697298671926374321383935996500703211965038470408453758123110690650408267116946663486378945494017682475512978777997716683398774616140524717572388140923413697530067695702624434027491536828865490336091259325616706241151198358467480489655315187028674149593146435948544913541115565638861298195837193614804601116979607924714272583086018426433122028090469248215506387037666020804142758766843313258152061519381710299954829555823779081958206785681173615368249100085201503123 52786926693469439191442918172340013218225656616537352205538705733233983751865743540555530242200004367538526168090492118892144448129760399131037421334740367246543843515869118376012045534047320234793045755164600199742195830193634427877750863233204380877534053848536715687681774141853539253317902767403646549960928565511574444755789496468904147338185805092220264979520335637401453114738581126173694633961640652927482043277589909630798365866224272206386056216137642769743335832335087588511823136510141660394865106052620106939825149731804133555866462812448931230584201786998349362216004373578017191921958663142385126213999 85411041551682654631039798287969226459354661810419040669044002610002038832395386795535411208978792765875804592776134196709978296514005731357640457387836064545215769890190502312008546237259285273263454208922723310432846238460751374541237242178698398560009566827314713404365172916469679778035475155544569963658458633207277069189816988005733012828521896351545881685761486835759920595228236441360723308111233799363430588191131025196437227164420109400000860817254622377668050104918173606938256258538232129643080612439657772960629292490570976869124614873968312940884156616554173141297962580363698365537326912242470327717122 138197968245152093822482716460309239677580318426956392874582708343236022584261130336090941451178797133414330760866626315602122744643766130488677878722576431791759613406059620688020591771306605508056499964087323510175042068654385802418988105411902779437543620675851429092046947058323219031353377922948216513619387198718851513945606484474637160166707701443766146665281822473161373709966817567534417942072874452290912631468720934827235593030644381606386917033392265147411385937253261195450079395048373790037945718492277879900454442222375110424991077686417244171468358403552522503513966953941715557459285575384855453931121 223609009796834748453522514748278466136934980237375433543626710953238061416656517131626352660157589899290135353642760512312101041157771861846318336110412496336975383296250123000029138008565890781319954173010046820607888307115137176960225347590601177997553187503166142496412119974792898809388853078492786477277845831926128583135423472480370172995229597795312028351043309308921294305195054008895141250184108251654343219659851960023672820195064491006387777850646887525079436042171434802388335653586605919681026330931935652861083734712946087294115692560385557112352515020106695644811929534305413922996612487627325781648243 361806978041986842276005231208587705814515298664331826418209419296474084000917647467717294111336387032704466114509386827914223785801537992334996214832988928128734996702309743688049729779872496289376454137097370330782930375769522979379213453002503957435096808179017571588459067033116117840742231001441002990897233030644980097081029956955007333161937299239078175016325131782082668015161871576429559192256982703945255851128572894850908413225708872612774694884039152672490821979424695997838415048634979709718972049424213532761538176935321197719106770246802801283820873423659218148325896488247129480455898063012181235579364 585415987838821590729527745956866171951450278901707259961836130249712145417574164599343646771493976931994601468152147340226324826959309854181314550943401424465710379998559866688078867788438387070696408310107417151390818682884660156339438800593105135432649995682183714084871187007909016650131084079933789468175078862571108680216453429435377506157166897034390203367368441091003962320356925585324700442441090955599599070788424854874581233420773363619162472734686040197570258021596130800226750702221585629399998380356149185622621911648267285013222462807188358396173388443765913793137826022552543403452510550639507017227607 947222965880808433005532977165453877765965577566039086380045549546186229418491812067060940882830363964699067582661534168140548612760847846516310765776390352594445376700869610376128597568310883360072862447204787482173749058654183135718652253595609092867746803861201285673330254041025134490873315081374792459072311893216088777297483386390384839319104196273468378383693572873086630335518797161754259634698073659544854921916997749725489646646482236231937167618725192870061080001020826798065165750856565339118970429780362718384160088583588482732329233053991159679994261867425131941463722510799672883908408613651688252806971 1532638953719630023735060723122320049717415856467746346341881679795898374836065976666404587654324340896693669050813681508366873439720157700697625316719791777060155756699429477064207465356749270430769270757312204633564567741538843292058091054188714228300396799543384999758201441048934151141004399161308581927247390755787197457513936815825762345476271093307858581751062013964090592655875722747078960077139164615144453992705422604600070880067255599851099640353411233067631338022616957598291916453078150968518968810136511904006782000231855767745551695861179518076167650311191045734601548533352216287360919164291195270034578 2479861919600438456740593700287773927483381434033785432721927229342084604254557788733465528537154704861392736633475215676507422052481005547213936082496182129654601133400299087440336062925060153790842133204516992115738316800193026427776743307784323321168143603404586285431531695089959285631877714242683374386319702649003286234811420202216147184795375289581326960134755586837177222991394519908833219711837238274689308914622420354325560526713737836083036807972136425937692418023637784396357082203934716307637939239916874622390942088815444250477880928915170677756161912178616177676065271044151889171269327777942883522841549 4012500873320068480475654423410093977200797290501531779063808909137982979090623765399870116191479045758086405684288897184874295492201163247911561399215973906714756890099728564504543528281809424221611403961829196749302884541731869719834834361973037549468540402947971285189733136138893436772882113403991956313567093404790483692325357018041909530271646382889185541885817600801267815647270242655912179788976402889833762907327842958925631406780993435934136448325547659005323756046254741994648998657012867276156908050053386526397724089047300018223432624776350195832329562489807223410666819577504105458630246942234078792876127 6492362792920506937216248123697867904684178724535317211785736138480067583345181554133335644728633750619479142317764112861381717544682168795125497481712156036369358023500027651944879591206869578012453537166346188865041201341924896147611577669757360870636684006352557570621264831228852722404759827646675330699886796053793769927136777220258056715067021672470512502020573187638445038638664762564745399500813641164523071821950263313251191933494731272017173256297684084943016174069892526391006080860947583583794847289970261148788666177862744268701313553691520873588491474668423401086732090621655994629899574720176962315717676 10504863666240575417691902547107961881884976015036848990849545047618050562435805319533205760920112796377565548002053010046256013036883332043037058880928129943084114913599756216449423119488679002234064941128175385614344085883656765867446412031730398420105224409300528855810997967367746159177641941050667287013453889458584253619462134238299966245338668055359698043906390788439712854285935005220657579289790044054356834729278106272176823340275724707951309704623231743948339930116147268385655079517960450859951755340023647675186390266910044286924746178467871069420821037158230624497398910199160100088529821662411041108593803 16997226459161082354908150670805829786569154739572166202635281186098118145780986873666541405648746546997044690319817122907637730581565500838162556362640285979453472937099783868394302710695548580246518478294521574479385287225581662015057989701487759290741908415653086426432262798596598881582401768697342617713340685512378023546598911458558022960405689727830210545926963976078157892924599767785402978790603685218879906551228369585428015273770455979968482960920915828891356104186039794776661160378908034443746602629993908823975056444772788555626059732159391943009312511826654025584131000820816094718429396382588003424311479 27502090125401657772600053217913791668454130754609015193484826233716168708216792193199747166568859343374610238321870132953893743618448832881199615243568415922537587850699540084843725830184227582480583419422696960093729373109238427882504401733218157710847132824953615282243260765964345040760043709748009904726794574970962277166061045696857989205744357783189908589833354764517870747210534773006060558080393729273236741280506475857604838614046180687919792665544147572839696034302187063162316239896868485303698357970017556499161446711682832842550805910627263012430133548984884650081529911019976194806959218044999044532905282 44499316584562740127508203888719621455023285494181181396120107419814286853997779066866288572217605890371654928641687255861531474200014333719362171606208701901991060787799323953238028540879776162727101897717218534573114660334820089897562391434705917001589041240606701708675523564560943922342445478445352522440135260483340300712659957155416012166150047511020119135760318740596028640135134540791463536870997414492116647831734845443032853887816636667888275626465063401731052138488226857938977400275776519747444960600011465323136503156455621398176865642786654955439446060811538675665660911840792289525388614427587047957216761 72001406709964397900108257106633413123477416248790196589604933653530455562214571260066035738786465233746265166963557388815425217818463166600561786849777117824528648638498864038081754371064003745207685317139915494666844033444058517780066793167924074712436174065560316990918784330525288963102489188193362427166929835454302577878721002852274001371894405294210027725593673505113899387345669313797524094951391143765353389112241321300637692501862817355808068292009210974570748172790413921101293640172645005051143318570029021822297949868138454240727671553413917967869579609796423325747190822860768484332347832472586092490122043 116500723294527138027616460995353034578500701742971377985725041073344742416212350326932324311004071124117920095605244644676956692018477500319923958455985819726519709426298187991319782911943779907934787214857134029239958693778878607677629184602629991714025215306167018699594307895086232885444934666638714949607065095937642878591380960007690013538044452805230146861353992245709928027480803854588987631822388558257470036943976166743670546389679454023696343918474274376301800311278640779040271040448421524798588279170040487145434453024594075638904537196200572923309025670607962001412851734701560773857736446900173140447338804 188502130004491535927724718101986447701978117991761574575329974726875197978426921586998360049790536357864185262568802033492381909836940666920485745305762937551048358064797052029401537283007783653142472531997049523906802727222937125457695977770554066426461389371727335690513092225611521848547423854832077376773994931391945456470101962859964014909938858099440174586947665750823827414826473168386511726773779702022823426056217488044308238891542271379504412210483485350872548484069054700141564680621066529849731597740069508967732402892732529879632208749614490891178605280404385327160042557562329258190084279372759232937460847 305002853299018673955341179097339482280478819734732952561055015800219940394639271913930684360794607481982105358174046678169338601855418167240409703761748757277568067491095240020721320194951563561077259746854183553146761421001815733135325162373184058140486604677894354390107400120697754733992358521470792326381060027329588335061482922867654028447983310904670321448301657996533755442307277022975499358596168260280293463000193654787978785281221725403200756128957759727174348795347695479181835721069488054648319876910109996113166855917326605518536745945815063814487630951012347328572894292263890032047820726272932373384799651 493504983303510209883065897199325929982456937726494527136384990527095138373066193500929044410585143839846290620742848711661720511692358834160895449067511694828616425555892292050122857477959347214219732278851233077053564148224752858593021140143738124566947994049621690080620492346309276582539782376302869703155054958721533791531584885727618043357922169004110496035249323747357582857133750191362011085369947962303116889056411142832287024172763996782705168339441245078046897279416750179323400401690554584498051474650179505080899258810059135398168954695429554705666236231416732655732936849826219290237905005645691606322260498 798507836602528883838407076296665412262935757461227479697440006327315078767705465414859728771379751321828395978916895389831059113547777001401305152829260452106184493046987532070844177672910910775296992025705416630200325569226568591728346302516922182707434598727516044470727892467007031316532140897773662029536114986051122126593067808595272071805905479908780817483550981743891338299441027214337510443966116222583410352056604797620265809453985722185905924468399004805221246074764445658505236122760042639146371351560289501194066114727385740916705700641244618520153867182429079984305831142090109322285725731918623979707060149 1292012819906039093721472973495991342245392695187722006833824996854410217140771658915788773181964895161674686599659744101492779625240135835562200601896772146934800918602879824120967035150870257989516724304556649707253889717451321450321367442660660307274382592777137734551348384813316307899071923274076531732691169944772655918124652694322890115163827648912891313518800305491248921156574777405699521529336064184886527241113015940452552833626749718968611092807840249883268143354181195837828636524450597223644422826210469006274965373537444876314874655336674173225820103413845812640038767991916328612523630737564315586029320647 2090520656508567977559880049792656754508328452648949486531265003181725295908477124330648501953344646483503082578576639491323838738787912836963505754726032599040985411649867356191811212823781168764813716330262066337454215286677890042049713745177582489981817191504653779022076277280323339215604064171850193762227284930823778044717720502918162186969733128821672131002351287235140259456015804620037031973302180407469937593169620738072818643080735441154517017276239254688489389428945641496333872647210639862790794177770758507469031488264830617231580355977918791745973970596274892624344599134006437934809356469482939565736380796 3382533476414607071281353023288648096753721147836671493365090000036135513049248783246437275135309541645177769178236383592816618364028048672525706356622804745975786330252747180312778247974651426754330440634818716044708105004129211492371081187838242797256199784281791513573424662093639647114675987445926725494918454875596433962842373197241052302133560777734563444521151592726389180612590582025736553502638244592356464834282636678525371476707485160123128110084079504571757532783126837334162509171661237086435217003981227513743996861802275493546455011314592964971794074010120705264383367125922766547332987207047255151765701443 5473054132923175048841233073081304851262049600485620979896355003217860808957725907577085777088654188128680851756813023084140457102815961509489212111348837345016771741902614536504589460798432595519144156965080782382162320290807101534420794933015825287238016975786445292595500939373962986330280051617776919257145739806420212007560093700159214489103293906556235575523502879961529440068606386645773585475940424999826402427452257416598190119788220601277645127360318759260246922212072478830496381818871876949226011181751986021213028350067106110778035367292511756717768044606395597888727966259929204482142343676530194717502082239 8855587609337782120122586096369952948015770748322292473261445003253996322006974690823523052223963729773858620935049406676957075466844010182014918467971642090992558072155361716817367708773084022273474597599899498426870425294936313026791876120854068084494216760068236806168925601467602633444956039063703644752064194682016645970402466897400266791236854684290799020044654472687918620681196968671510138978578669592182867261734894095123561596495705761400773237444398263832004454995199316164658890990533114035661228185733213534957025211869381604324490378607104721689562118616516303153111333385851971029475330883577449869267783682 14328641742260957168963819169451257799277820348807913453157800006471857130964700598400608829312617917902539472691862429761097532569659971691504130579320479436009329814057976253321957169571516617792618754564980280809032745585743414561212671053869893371732233735854682098764426540841565619775236090681480564009209934488436857977962560597559481280340148590847034595568157352649448060749803355317283724454519094592009269689187151511721751716283926362678418364804717023092251377207271794995155272809404990984887239367485199556170053561936487715102525745899616478407330163222911901041839299645781175511617674560107644586769865921 23184229351598739289086405265821210747293591097130205926419245009725853452971675289224131881536581647676398093626911836438054608036503981873519049047292121527001887886213337970139324878344600640066093352164879779235903170880679727588004547174723961456226450495922918904933352142309168253220192129745184208761274129170453503948365027494959748071577003275137833615612811825337366681431000323988793863433097764184192136950922045606845313312779632124079191602249115286924255832202471111159814163799938105020548467553218413091127078773805869319427016124506721200096892281839428204194950633031633146541093005443685094456037649603 37512871093859696458050224435272468546571411445938119379577045016197710583936375887624740710849199565578937566318774266199152140606163953565023179626612600963011217700271314223461282047916117257858712106729860060044935916466423142149217218228593854827958684231777601003697778683150733872995428220426664772770484063658890361926327588092519229351917151865984868211180969177986814742180803679306077587887616858776201406640109197118567065029063558486757609967053832310016507209409742906154969436609343096005435706920703612647297132335742357034529541870406337678504222445062340105236789932677414322052710680003792739042807515524 60697100445458435747136629701093679293865002543068325305996290025923564036908051176848872592385781213255335659945686102637206748642667935438542228673904722490013105586484652193600606926260717897924805458894739839280839087347102869737221765403317816284185134727700519908631130825459902126215620350171848981531758192829343865874692615587478977423494155141122701826793781003324181423611804003294871451320714622960393543591031242725412378341843190610836801569302947596940763041612214017314783600409281201025984174473922025738424211109548226353956557994913058878601114726901768309431740565709047468593803685447477833498845165127 98209971539318132205186854136366147840436413989006444685573335042121274620844427064473613303234980778834273226264460368836358889248831889003565408300517323453024323286755966417061888974176835155783517565624599899325775003813526011886438983631911671112143818959478120912328909508610635999211048570598513754302242256488234227801020203679998206775411307007107570037974750181310996165792607682600949039208331481736594950231140439843979443370906749097594411536356779906957270251021956923469753037018624297031419881394625638385721343445290583388486099865319396557105337171964108414668530498386461790646514365451270572541652680651 158907071984776567952323483837459827134301416532074769991569625068044838657752478241322485895620761992089608886210146471473565637891499824442107636974422045943037428873240618610662495900437553053708323024519339738606614091160628881623660749035229487396328953687178640820960040334070538125426668920770362735834000449317578093675712819267477184198905462148230271864768531184635177589404411685895820490529046104696988493822171682569391821712749939708431213105659727503898033292634170940784536637427905498057404055868547664124145554554838809742442657860232455435706451898865876724100271064095509259240318050898748406040497845778 257117043524094700157510337973825974974737830521081214677142960110166113278596905305796099198855742770923882112474606840309924527140331713445673045274939369396061752159996585027724384874614388209491840590143939637932389094974154893510099732667141158508472772646656761733288949842681174124637717491368876490136242705805812321476733022947475390974316769155337841902743281365946173755197019368496769529737377586433583444053312122413371265083656688806025624642016507410855303543656127864254289674446529795088823937263173302509866898000129393130928757725551851992811789070829985138768801562481971049886832416350018978582150526429 416024115508871268109833821811285802109039247053155984668712585178210951936349383547118585094476504763013490998684753311783490165031831537887780682249361415339099181033237203638386880775051941263200163614663279376539003186134783775133760481702370645904801726333835402554248990176751712250064386412139239225970243155123390415152445842214952575173222231303568113767511812550581351344601431054392590020266423691130571937875483804982763086796406628514456837747676234914753336836290298805038826311874435293146227993131720966634012452554968202873371415585784307428518240969695861862869072626577480309127150467248767384622648372207 673141159032965968267344159785111777083777077574237199345855545288377065214946288852914684293332247533937373111159360152093414692172163251333453727524300784735160933193233788666111265649666329472692004204807219014471392281108938668643860214369511804413274498980492164287537940019432886374702103903508115716106485860929202736629178865162427966147539000458905955670255093916527525099798450422889359550003801277564155381928795927396134351880063317320482462389692742325608640379946426669293115986320965088235051930394894269143879350555097596004300173311336159421330030040525847001637874189059451359013982883598786363204798898636 1089165274541837236377177981596397579192816324627393184014568130466588017151295672400033269387808752296950864109844113463876904857203994789221234409773662200074260114226470992304498146424718270735892167819470498391010395467243722443777620696071882450318076225314327566841786930196184598624766490315647354942076729016052593151781624707377380541320761231762474069437766906467108876444399881477281949570270224968694727319804279732378897438676469945834939300137368977240361977216236725474331942298195400381381279923526615235777891803110065798877671588897120466849848271010221708864506946815636931668141133350847553747827447270843 1762306433574803204644522141381509356276593402201630383360423675754965082366241961252947953681140999830888237221003473615970319549376158040554688137297962984809421047419704780970609412074384600208584172024277717405481787748352661112421480910441394254731350724294819731129324870215617484999468594219155470658183214876981795888410803572539808507468300232221380025108022000383636401544198331900171309120274026246258882701733075659775031790556533263155421762527061719565970617596183152143625058284516365469616331853921509504921771153665163394881971762208456626271178301050747555866144821004696383027155116234446340111032246169479 2851471708116640441021700122977906935469409726829023567374991806221553099517537633652981223068949752127839101330847587079847224406580152829775922547071625184883681161646175773275107558499102870944476339843748215796492183215596383556199101606513276705049426949609147297971111800411802083624235084534802825600259943893034389040192428279917189048789061463983854094545788906850745277988598213377453258690544251214953610021537355392153929229233003208990361062664430696806332594812419877617957000582711765850997611777448124740699662956775229193759643351105577093121026572060969264730651767820333314695296249585293893858859693440322 4613778141691443645666222264359416291746003129030653950735415481976518181883779594905929176750090751958727338551851060695817543955956310870330610684369588169693102209065880554245716970573487471153060511868025933201973970963949044668620582516954670959780777673903967029100436670627419568623703678753958296258443158770016184928603231852456997556257361696205234119653810907234381679532796545277624567810818277461212492723270431051928961019789536472145782825191492416372303212408603029761582058867228131320613943631369634245621434110440392588641615113314033719392204873111716820596796588825029697722451365819740233969891939609801 7465249849808084086687922387337323227215412855859677518110407288198071281401317228558910399819040504086566439882698647775664768362536463700106533231441213354576783370712056327520824529072590342097536851711774148998466154179545428224819684123467947664830204623513114327071548471039221652247938763288761121858703102663050573968795660132374186605046423160189088214199599814085126957521394758655077826501362528676166102744807786444082890249022539681136143887855923113178635807221022907379539059449939897171611555408817758986321097067215621782401258464419610812513231445172686085327448356645363012417747615405034127828751633050123 12079027991499527732354144651696739518961415984890331468845822770174589463285096823464839576569131256045293778434549708471482312318492774570437143915810801524269885579777936881766541499646077813250597363579800082200440125143494472893440266640422618624610982297417081356171985141666641220871642442042719418117146261433066758897398891984831184161303784856394322333853410721319508637054191303932702394312180806137378595468078217496011851268812076153281926713047415529550939019629625937141121118317168028492225499040187393231942531177656014371042873577733644531905436318284402905924244945470392710140198981224774361798643572659924 19544277841307611819042067039034062746176828840750008986956230058372660744686414052023749976388171760131860218317248356247147080681029238270543677147252014878846668950489993209287366028718668155348134215291574231198906279323039901118259950763890566289441186920930195683243533612705862873119581205331480539975849364096117332866194552117205370766350208016583410548053010535404635594575586062587780220813543334813544698212886003940094741517834615834418070600903338642729574826850648844520660177767107925663837054449005152218263628244871636153444132042153255344418667763457088991251693302115755722557946596629808489627395205710047 31623305832807139551396211690730802265138244825640340455802052828547250207971510875488589552957303016177153996751798064718629392999522012840980821063062816403116554530267930091053907528364745968598731578871374313399346404466534374011700217404313184914052169218347277039415518754372504093991223647374199958092995625529184091763593444102036554927653992872977732881906421256724144231629777366520482615125724140950923293680964221436106592786646691987699997313950754172280513846480274781661781296084275954156062553489192545450206159422527650524487005619886899876324104081741491897175938247586148432698145577854582851426038778369971 51167583674114751370438278729764865011315073666390349442758282886919910952657924927512339529345474776309014215069046420965776473680551251111524498210314831281963223480757923300341273557083414123946865794162948544598252683789574275129960168168203751203493356139277472722659052367078366967110804852705680498068844989625301424629787996219241925694004200889561143429959431792128779826205363429108262835939267475764467991893850225376201334304481307822118067914854092815010088673330923626182441473851383879819899607938197697668469787667399286677931137662040155220742771845198580888427631549701904155256092174484391341053433984080018 82790889506921890921834490420495667276453318492030689898560335715467161160629435803000929082302777792486168211820844485684405866680073263952505319273377647685079778011025853391395181085448160092545597373034322857997599088256108649141660385572516936117545525357624749762074571121450871061102028500079880456161840615154485516393381440321278480621658193762538876311865853048852924057835140795628745451064991616715391285574814446812307927091127999809818065228804846987290602519811198407844222769935659833975962161427390243118675947089926937202418143281927055097066875926940072785603569797288052587954237752338974192479472762449989 133958473181036642292272769150260532287768392158421039341318618602387072113287360730513268611648252568795182426889890906650182340360624515064029817483692478967043001491783776691736454642531574216492463167197271402595851772045682924271620553740720687321038881496902222484733623488529238028212833352785560954230685604779786941023169436540520406315662394652100019741825284840981703884040504224737008287004259092479859277468664672188509261395609307631936133143658939802300691193142122034026664243787043713795861769365587940787145734757326223880349280943967210317809647772138653674031201346989956743210329926823365533532906746530007 216749362687958533214107259570756199564221710650451729239878954317854233273916796533514197693951030361281350638710735392334588207040697779016535136757070126652122779502809630083131635727979734309038060540231594260593450860301791573413280939313237623438584406854526972246808194609980109089314861852865441410392526219934272457416550876861798886937320588414638896053691137889834627941875645020365753738069250709195250563043479119000817188486737307441754198372463786789591293712953320441870887013722703547771823930792978183905821681847253161082767424225894265414876523699078726459634771144278009331164567679162339726012379508979996 350707835868995175506380028721016731851990102808872768581197572920241305387204157264027466305599282930076533065600626298984770547401322294080564954240762605619165780994593406774868090370511308525530523707428865663189302632347474497684901493053958310759623288351429194731541818098509347117527695205651002364623211824714059398439720313402319293252982983066738915795516422730816331825916149245102762025073509801675109840512143791189326449882346615073690331516122726591891984906095442475897551257509747261567685700158566124692967416604579384963116705169861475732686171471217380133665972491267966074374897605985705259545286255510003 567457198556953708720487288291772931416211813459324497821076527238095538661120953797541663999550313291357883704311361691319358754442020073097100090997832732271288560497403036857999726098491042834568584247660459923782753492649266071098182432367195934198207695205956166978350012708489456206842557058516443775015738044648331855856271190264118180190303571481377811849207560620650959767791794265468515763142760510870360403555622910190143638369083922515444529888586513381483278619048762917768438271232450809339509630951544308598789098451832546045884129395755741147562695170296106593300743635545975405539465285148044985557665764489999 918165034425948884226867317012789663268201916268197266402274100158336844048325111061569130305149596221434416769911987990304129301843342367177665045238595337890454341491996443632867816469002351360099107955089325586972056124996740568783083925421154244957830983557385361709891830806998803324370252264167446139638949869362391254295991503666437473443286554548116727644723983351467291593707943510571277788216270312545470244067766701379470088251430537589134861404709239973375263525144205393665989528742198070907195331110110433291756515056411931009000834565617216880248866641513486726966716126813941479914362891133750245102952020000002 1485622232982902592947354605304562594684413729727521764223350627396432382709446064859110794304699909512792300474223349681623488056285362440274765136236428070161742901989399480490867542567493394194667692202749785510754809617646006639881266357788350179156038678763341528688241843515488259531212809322683889914654687914010723110152262693930555653633590126029494539493931543972118251361499737776039793551359030823415830647623389611569613726620514460104579391293295753354858542144192968311434427799974648880246704962061654741890545613508244477054884963961372958027811561811809593320267459762359916885453828176281795230660617784490001 2403787267408851477174221922317352257952615645995719030625624727554769226757771175920679924609849505734226717244135337671927617358128704807452430181475023408052197243481395924123735359036495745554766800157839111097726865742642747208664350283209504424113869662320726890398133674322487062855583061586851336054293637783373114364448254197596993127076876680577611267138655527323585542955207681286611071339575301135961300891691156312949083814871944997693714252698004993328233805669337173705100417328716846951153900293171765175182302128564656408063885798526990174908060428453323080047234175889173858365368191067415545475763569804490003 3889409500391754070121576527621914852637029375723240794848975354951201609467217240779790718914549415247019017718358687353551105414414067247727195317711451478213940145470795404614602901603989139749434492360588896608481675360288753848545616640997854603269908341084068419086375517837975322386795870909535225968948325697383837474600516891527548780710466806607105806632587071295703794316707419062650864890934331959377131539314545924518697541492459457798293643991300746683092347813530142016534845128691495831400605255233419917072847742072900885118770762488363132935871990265132673367501635651533775250822019243697340706424187588980004 6293196767800605547295798449939267110589645021718959825474600082505970836224988416700470643524398920981245734962494025025478722772542772055179625499186474886266137388952191328738338260640484885304201292518428007706208541102931501057209966924207359027383778003404795309484509192160462385242378932496386562023241963480756951839048771089124541907787343487184717073771242598619289337271915100349261936230509633095338432431005702237467781356364404455492007896689305740011326153482867315721635262457408342782554505548405185092255149870637557293182656561015353307843932418718455753414735811540707633616190210311112886182187757393470007 10182606268192359617417374977561181963226674397442200620323575437457172445692205657480261362438948336228264752680852712379029828186956839302906820816897926364480077534422986733352941162244474025053635784879016904314690216463220254905755583565205213630653686344488863728570884709998437707629174803405921787992190289178140789313649287980652090688497810293791822880403829669914993131588622519411912801121443965054715563970320248161986478897856863913290301540680606486694418501296397457738170107586099838613955110803638605009327997612710458178301427323503716440779804408983588426782237447192241408867012229554810226888611944982450011 16475803035992965164713173427500449073816319419161160445798175519963143281917194074180732005963347257209510487643346737404508550959499611358086446316084401250746214923375178062091279422884958910357837077397444912020898757566151755962965550489412572658037464347893659038055393902158900092871553735902308350015432252658897741152698059069776632596285153780976539954175072268534282468860537619761174737351953598150053996401325950399454260254221268368782309437369912226705744654779264773459805370043508181396509616352043790101583147483348015471484083884519069748623736827702044180196973258732949042483202439865923113070799702375920018 26658409304185324782130548405061631037042993816603361066121750957420315727609399731660993368402295593437775240324199449783538379146456450660993267132982327615226292457798164795444220585129432935411472862276461816335588974029372010868721134054617786288691150692382522766626278612157337800500728539308230138007622541837038530466347347050428723284782964074768362834578901938449275600449160139173087538473397563204769560371646198561440739152078132282072610978050518713400163156075662231197975477629608020010464727155682395110911145096058473649785511208022786189403541236685632606979210705925190451350214669420733339959411647358370029 43134212340178289946843721832562080110859313235764521511919926477383459009526593805841725374365642850647285727967546187188046930105956062019079713449066728865972507381173342857535500008014391845769309939673906728356487731595523766831686684544030358946728615040276181804681672514316237893372282275210538488023054794495936271619045406120205355881068117855744902788753974206983558069309697758934262275825351161354823556772972148960894999406299400650854920415420430940105907810854927004657780847673116201406974343507726185212494292579406489121269595092541855938027278064387676787176183964658139493833417109286656453030211349734290047 69792621644363614728974270237623711147902307052367882578041677434803774737135993537502718742767938444085060968291745636971585309252412512680072980582049056481198799838971507652979720593143824781180782801950368544692076705624895777700407818598648145235419765732658704571307951126473575693873010814518768626030677336332974802085392753170634079165851081930513265623332876145432833669758857898107349814298748724559593117144618347522335738558377532932927531393470949653506070966930589235855756325302724221417439070663408580323405437675464962771055106300564642127430819301073309394155394670583329945183631778707389792989622997092660076 112926833984541904675817992070185791258761620288132404089961603912187233746662587343344444117133581294732346696259291824159632239358368574699152694031115785347171307220144850510515220601158216626950092741624275273048564437220419544532094503142678504182148380772934886375989623640789813587245293089729307114053732130828911073704438159290839435046919199786258168412086850352416391739068555657041612090124099885914416673917590496483230737964676933583782451808891380593611978777785516240513537172975840422824413414171134765535899730254871451892324701393106498065458097365460986181331578635241469439017048887994046246019834346826950123 182719455628905519404792262307809502406663927340500286668003281346991008483798580880847162859901519738817407664551037461131217548610781087379225674613164841828370107059116358163494941194302041408130875543574643817740641142845315322232502321741326649417568146505593590947297574767263389281118303904248075740084409467161885875789830912461473514212770281716771434035419726497849225408827413555148961904422848610474009791062208844005566476523054466516709983202362330247118049744716105476369293498278564644241852484834543345859305167930336414663379807693671140192888916666534295575486973305824799384200680666701436039009457343919610199 295646289613447424080610254377995293665425547628632690757964885259178242230461168224191606977035101033549754360810329285290849787969149662078378368644280627175541414279261208674010161795460258035080968285198919090789205580065734866764596824884005153599716527278528477323287198408053202868363596993977382854138141597990796949494269071752312949259689481503029602447506576850265617147895969212190573994546948496388426464979799340488797214487731400100492435011253710840730028522501621716882830671254405067066265899005678111395204898185207866555704509086777638258347014031995281756818551941066268823217729554695482285029291690746560322 478365745242352943485402516685804796072089474969132977425968166606169250714259749105038769836936620772367162025361366746422067336579930749457604043257445469003911521338377566837505102989762299443211843828773562908529846722911050188997099146625331803017284673784122068270584773175316592149481900898225458594222551065152682825284099984213786463472459763219801036482926303348114842556723382767339535898969797106862436256042008184494363691010785866617202418213616041087848078267217727193252124169532969711308118383840221457254510066115544281219084316780448778451235930698529577332305525246891068207418410221396918324038749034666170521 774012034855800367566012771063800089737515022597765668183933051865347492944720917329230376813971721805916916386171696031712917124549080411535982411901726096179452935617638775511515264785222557478292812113972481999319052302976785055761695971509336956617001201062650545593871971583369795017845497892202841448360692663143479774778369055966099412732149244722830638930432880198380459704619351979530109893516745603250862721021807524983160905498517266717694853224869751928578106789719348910134954840787374778374384282845899568649714964300752147774788825867226416709582944730524859089124077187957337030636139776092400609068040725412730843 1252377780098153311051415287749604885809604497566898645609901218471516743658980666434269146650908342578284078411533062778134984461129011160993586455159171565183364456956016342349020367774984856921504655942746044907848899025887835244758795118134668759634285874846772613864456744758686387167327398790428300042583243728296162600062469040179885876204609007942631675413359183546495302261342734746869645792486542710113298977063815709477524596509303133334897271438485793016426185056937076103387079010320344489682502666686121025904225030416296428993873142647675195160818875429054436421429602434848405238054549997489318933106789760078901364 2026389814953953678617428058813404975547119520164664313793834270336864236603701583763499523464880064384200994797704758809847901585678091572529568867060897661362817392573655117860535632560207414399797468056718526907167951328864620300520491089644005716251287075909423159458328716342056182185172896682631141490943936391439642374840838096145985288936758252665462314343792063744875761965962086726399755686003288313364161698085623234460685502007820400052592124663355544945004291846656425013522033851107719268056886949532020594553939994717048576768661968514901611870401820159579295510553679622805742268690689773581719542174830485491632207 3278767595052106989668843346563009861356724017731562959403735488808380980262682250197768670115788406962485073209237821587982886046807102733523155322220069226546181849529671460209556000335192271321302123999464571815016850354752455545279286207778674475885572950756195773322785461100742569352500295473059441533527180119735804974903307136325871165141367260608093989757151247291371064227304821473269401478489831023477460675149438943938210098517123533387489396101841337961430476903593501116909112861428063757739389616218141620458165025133345005762535111162576807031220695588633731931983282057654147506745239771071038475281620245570533571 5305157410006060668286271405376414836903843537896227273197569759145245216866383833961268193580668471346686068006942580397830787632485194306052724189280966887908999242103326578070091632895399685721099592056183098722184801683617075845799777297422680192136860026665618932781114177442798751537673192155690583024471116511175447349744145232471856454078125513273556304100943311036246826193266908199669157164493119336841622373235062178398895600524943933440081520765196882906434768750249926130431146712535783025796276565750162215012105019850393582531197079677478418901622515748213027442536961680459889775435929544652758017456450731062165778 8583925005058167657955114751939424698260567555627790232601305247953626197129066084159036863696456878309171141216180401985813673679292297039575879511501036114455181091632998038279647633230591957042401716055647670537201652038369531391079063505201354668022432977421814706103899638543541320890173487628750024557998296630911252324647452368797727619219492773881650293858094558327617890420571729672938558642982950360319083048384501122337105699042067466827570916867038220867865245653843427247340259573963846783535666181968303835470270044983738588293732190840055225932843211336846759374520243738114037282181169315723796492738070976632699349 13889082415064228326241386157315839535164411093524017505798875007098871413995449918120305057277125349655857209223122982383644461311777491345628603700782003002364180333736324616349739266125991642763501308111830769259386453721986607236878840802624034860159293004087433638885013815986340072427846679784440607582469413142086699674391597601269584073297618287155206597959037869363864716613838637872607715807476069697160705421619563300736001299567011400267652437632235103774300014404093353377771406286499629809331942747718466050482375064834132170824929270517533644834465727085059786817057205418573927057617098860376554510194521707694865127 22473007420122395984196500909255264233424978649151807738400180255052497611124516002279341920973582227965028350439303384369458134991069788385204483212283039116819361425369322654629386899356583599805903024167478439796588105760356138627957904307825389528181725981509248344988913454529881393318020167413190632140467709772997951999039049970067311692517111061036856891817132427691482607034410367545546274450459020057479788470004064423073106998609078867095223354499273324642165260057936780625111665860463476592867608929686769885952645109817870759118661461357588870767308938421906546191577449156687964339798268176100351002932592684327564476 36362089835186624310437887066571103768589389742675825244199055262151369025119965920399646978250707577620885559662426366753102596302847279730833086913065042119183541759105647270979126165482575242569404332279309209055974559482342745864836745110449424388341018985596681983873927270516221465745866847197631239722937122915084651673430647571336895765814729348192063489776170297055347323648249005418153990257935089754640493891623627723809108298176090267362875792131508428416465274462030134002883072146963106402199551677405235936435020174652002929943590731875122515601774665506966333008634654575261891397415367036476905513127114392022429603 58835097255309020294634387975826368002014368391827632982599235517203866636244481922678988899224289805585913910101729751122560731293917068116037570125348081236002903184474969925608513064839158842375307356446787648852562665242698884492794649418274813916522744967105930328862840725046102859063887014610821871863404832688082603672469697541404207458331840409228920381593302724746829930682659372963700264708394109812120282361627692146882215296785169134458099146630781753058630534519966914627994738007426582995067160607092005822387665284469873689062252193232711386369083603928872879200212103731949855737213635212577256516059707076349994079 95197187090495644605072275042397471770603758134503458226798290779355235661364447843078635877474997383206799469764156117875663327596764347846870657038413123355186444943580617196587639230321734084944711688726096857908537224725041630357631394528724238304863763952702612312736767995562324324809753861808453111586341955603167255345900345112741103224146569757420983871369473021802177254330908378381854254966329199566760776253251319870691323594961259401820974938762290181475095808981997048630877810154389689397266712284497241758822685459121876619005842925107833901970858269435839212208846758307211747134629002249054162029186821468372423682 154032284345804664899706663018223839772618126526331091209397526296559102297608929765757624776699287188792713379865885868998224058890681415962908227163761204591189348128055587122196152295160892927320019045172884506761099889967740514850426043946999052221386508919808542641599608720608427183873640876419274983449746788291249859018370042654145310682478410166649904252962775746549007185013567751345554519674723309378881058614879012017573538891746428536279074085393071934533726343501963963258872548161816272392333872891589247581210350743591750308068095118340545288339941873364712091409058862039161602871842637461631418545246528544722417761 249229471436300309504778938060621311543221884660834549436195817075914337958973377608836260654174284571999512849630041986873887386487445763809778884202174327946375793071636204318783791525482627012264730733898981364669637114692782145208057438475723290526250272872511154954336376716170751508683394738227728095036088743894417114364270387766886413906624979924070888124332248768351184439344476129727408774641052508945641834868130331888264862486707687938100049024155362116008822152483961011889750358316205961789600585176086489340033036202713626927073938043448379190310800142800551303617905620346373350006471639710685580574433350013094841443 403261755782104974404485601078845151315840011187165640645593343372473440256582307374593885430873571760792226229495927855872111445378127179772687111365935532537565141199691791440979943820643519939584749779071865871430737004660522660058483482422722342747636781792319697595935985436779178692557035614647003078485835532185666973382640430421031724589103390090720792377295024514900191624358043881072963294315775818324522893483009343905838401378454116474379123109548434050542548495985924975148622906478022234181934458067675736921243386946305377235142033161788924478650742016165263395026964482385534952878314277172316999119679878557817259204 652491227218405283909264539139466462859061895848000190081789160448387778215555684983430146085047856332791739079125969842745998831865572943582465995568109860483940934271327995759763735346126146951849480512970847236100374119353304805266540920898445633273887054664830852550272362152949930201240430352874731173521924276080084087746910818187918138495728370014791680501627273283251376063702520010800372068956828327270164728351139675794103263865161804412479172133703796166551370648469885987038373264794228195971535043243762226261276423149019004162215971205237303668961542158965814698644870102731908302884785916883002579694113228570912100647 1055752983000510258313750140218311614174901907035165830727382503820861218472137992358024031515921428093583965308621897698618110277243700123355153106934045393021506075471019787200743679166769666891434230292042713107531111124013827465325024403321167976021523836457150550146208347589729108893797465967521734252007759808265751061129551248608949863084831760105512472878922297798151567688060563891873335363272604145594687621834149019699941665243615920886858295243252230217093919144455810962186996171272250430153469501311437963182519810095324381397358004367026228147612284175131078093671834585117443255763100194055319578813793107128729359851 1708244210218915542223014679357778077033963802883166020809171664269248996687693677341454177600969284426375704387747867541364109109109273066937619102502155253505447009742347782960507414512895813843283710805013560343631485243367132270591565324219613609295410891121981402696480709742679039095037896320396465425529684084345835148876462066796868001580560130120304153380549571081402943751763083902673707432229432472864852350185288695494044929108777725299337467376956026383645289792925696949225369436066478626125004544555200189443796233244343385559573975572263531816573826334096892792316704687849351558647886110938322158507906335699641460498 2763997193219425800536764819576089691208865709918331851536554168090110215159831669699478209116890712519959669696369765239982219386352973190292772209436200646526953085213367570161251093679665480734717941097056273451162596367380959735916589727540781585316934727579131952842689057332408147988835362287918199677537443892611586210006013315405817864665391890225816626259471868879554511439823647794547042795502036618459539972019437715193986594352393646186195762620208256600739208937381507911412365607338729056278474045866638152626316043339667766956931979939289759964186110509227970885988539272966794814410986304993641737321699442828370820349 4472241403438341342759779498933867768242829512801497872345725832359359211847525347040932386717859996946335374084117632781346328495462246257230391311938355900032400094955715353121758508192561294578001651902069833794794081610748092006508155051760395194612345618701113355539169767075087187083873258608314665103067127976957421358882475382202685866245952020346120779640021439960957455191586731697220750227731469091324392322204726410688031523461171371485533229997164282984384498730307204860637735043405207682403478590421838342070112276584011152516505955511553291780759936843324863678305243960816146373058872415931963895829605778528012280847 7236238596657767143296544318509957459451695222719829723882280000449469427007357016740410595834750709466295043780487398021328547881815219447523163521374556546559353180169082923283009601872226775312719592999126107245956677978129051742424744779301176779929280346280245308381858824407495335072708620896232864780604571869569007568888488697608503730911343910571937405899493308840511966631410379491767793023233505709783932294224164125882018117813565017671728992617372539585123707667688712772050100650743936738681952636288476494696428319923678919473437935450843051744946047352552834564293783233782941187469858720925605633151305221356383101196 11708480000096108486056323817443825227694524735521327596228005832808828638854882363781342982552610706412630417864605030802674876377277465704753554833312912446591753275124798276404768110064788069890721244901195941040750759588877143748932899831061571974541625964981358663921028591482582522156581879504547529883671699846526428927770964079811189597157295930918058185539514748801469421822997111188988543250964974801108324616428890536570049641274736389157262222614536822569508206397995917632687835694149144421085431226710314836766540596507690071989943890962396343525705984195877698242599027194599087560528731136857569528980910999884395382043 18944718596753875629352868135953782687146219958241157320110285833258298065862239380521753578387361415878925461645092428824003424259092685152276718354687468993151106455293881199687777711937014845203440837900322048286707437567006195491357644610362748754470906311261603972302887415890077857229290500400780394664276271716095436496659452777419693328068639841489995591439008057641981388454407490680756336274198480510892256910653054662452067759088301406828991215231909362154631914065684630404737936344893081159767383862998791331462968916431368991463381826413239395270652031548430532806892810428382028747998589857783175162132216221240778483239 30653198596849984115409191953397607914840744693762484916338291666067126704717121744303096560939972122291555879509697459626678300636370150857030273188000381439742859730418679476092545822001802915094162082801517989327458197155883339240290544441424320729012532276242962636223916007372660379385872379905327924547947971562621865424430416857230882925225935772408053776978522806443450810277404601869744879525163455312000581527081945199022117400363037795986253437846446184724140120463680548037425772039042225580852815089709106168229509512939059063453325717375635738796358015744308231049491837622981116308527320994640744691113127221125173865282 49597917193603859744762060089351390601986964652003642236448577499325424770579361124824850139327333538170481341154789888450681724895462836009306991542687850432893966185712560675780323533938817760297602920701840037614165634722889534731648189051787069483483438587504566608526803423262738236615162880306108319212224243278717301921089869634650576253294575613898049368417530864085432198731812092550501215799361935822892838437734999861474185159451339202815244653078355546878772034529365178442163708383935306740620198952707897499692478429370428054916707543788875134067010047292738763856384648051363145056525910852423919853245343442365952348521 80251115790453843860171252042748998516827709345766127152786869165392551475296482869127946700267305660462037220664487348077360025531832986866337264730688231872636825916131240151872869355940620675391765003503358026941623831878772873971938733493211390212495970863747529244750719430635398616001035260211436243760172214841339167345520286491881459178520511386306103145396053670528883009009216694420246095324525391134893419964816945060496302559814376998801498090924801731602912154993045726479589480422977532321473014042417003667921987942309487118370033261164510872863368063037046994905876485674344261365053231847064664544358470663491126213803 129849032984057703604933312132100389118814673997769769389235446664717976245875843993952796839594639198632518561819277236528041750427295822875644256273376082305530792101843800827653192889879438435689367924205198064555789466601662408703586922544998459695979409451252095853277522853898136852616198140517544562972396458120056469266610156126532035431815087000204152513813584534614315207741028786970747311123887326957786258402551944921970487719265716201616742744003157278481684189522410904921753188806912839062093212995124901167614466371679915173286740804953386006930378110329785758762261133725707406421579142699488584397603814105857078562324 210100148774511547465104564174849387635642383343535896542022315830110527721172326863080743539861944859094555782483764584605401775959128809741981521004064314178167618017975040979526062245820059111081132927708556091497413298480435282675525656038209849908475380314999625098028242284533535468617233400728980806732568672961395636612130442618413494610335598386510255659209638205143198216750245481390993406448412718092679678367368889982466790279080093200418240834927959010084596344515456631401342669229890371383566227037541904835536454313989402291656774066117896879793746173366832753668137619400051667786632374546553248941962284769348204776127 339949181758569251070037876306949776754457057341305665931257762494828503967048170857033540379456584057727074344303041821133443526386424632617625777277440396483698410119818841807179255135699497546770500851913754156053202765082097691379112578583208309604454789766251720951305765138431672321233431541246525369704965131081452105878740598744945530042150685386714408173023222739757513424491274268361740717572300045050465936769920834904437277998345809402034983578931116288566280534037867536323095858036803210445659440032666806003150920685669317464943514871071282886724124283696618512430398753125759074208211517246041833339566098875205283338451 550049330533080798535142440481799164390099440684841562473280078324939031688220497720114283919318528916821630126786806405738845302345553442359607298281504710661866028137793882786705317381519556657851633779622310247550616063562532974054638234621418159512930170081251346049334007422965207789850664941975506176437533804042847742490871041363359024652486283773224663832232860944900711641241519749752734124020712763143145615137289724886904068277425902602453224413859075298650876878553324167724438527266693581829225667070208710838687374999658719756600288937189179766517870457063451266098536372525810741994843891792595082281528383644553488114578 889998512291650049605180316788748941144556498026147228404537840819767535655268668577147824298775112974548704471089848226872288828731978074977233075558945107145564438257612724593884572517219054204622134631536064403603818828644630665433750813204626469117384959847503067000639772561396880111084096483222031546142498935124299848369611640108304554694636969159939072005256083684658225065732794018114474841593012808193611551907210559791341346275771712004488207992790191587217157412591191704047534385303496792274885107102875516841838295685328037221543803808260462653241994740760069778528935125651569816203055409038636915621094482519758771453029 1440047842824730848140322757270548105534655938710988790877817919144706567343489166297262108218093641891370334597876654632611134131077531517336840373840449817807430466395406607380589889898738610862473768411158374651154434892207163639488389047826044628630315129928754413049973779984362087900934761425197537722580032739167147590860482681471663579347123252933163735837488944629558936706974313767867208965613725571336757167044500284678245414553197614606941432406649266885868034291144515871771972912570190374104110774173084227680525670684986756978144092745449642419759865197823521044627471498177380558197899300831231997902622866164312259567607 2330046355116380897745503074059297046679212436737136019282355759964474102998757834874409932516868754865919039068966502859483422959809509592314073449399394924952994904653019331974474462415957665067095903042694439054758253720851794304922139861030671097747700089776257480050613552545758968012018857908419569268722531674291447439230094321579968134041760222093102807842745028314217161772707107785981683807206738379530368718951710844469586760828969326611429640399439458473085191703735707575819507297873687166378995881275959744522363966370314794199687896553710105073001859938583590823156406623828950374400954709869868913523717348684071031020636 3770094197941111745885825831329845152213868375448124810160173679109180670342247001171672040734962396757289373666843157492094557090887041109650913823239844742760425371048425939355064352314696275929569671453852813705912688613058957944410528908856715726378015219705011893100587332530121055912953619333617106991302564413458595030090577003051631713388883475026266543680233972943776098479681421553848892772820463950867125885996211129147832175382166941218371072806088725358953225994880223447591480210443877540483106655449043972202889637055301551177831989299159747492761725136407111867783878122006330932598854010701100911426340214848383290588243 6100140553057492643631328905389142198893080812185260829442529439073654773341004836046081973251831151623208412735809660351577980050696550701964987272639239667713420275701445271329538814730653940996665574496547252760670942333910752249332668769887386824125715309481269373151200885075880023924972477242036676260025096087750042469320671324631599847430643697119369351522979001257993260252388529339830576580027202330397494604947921973617418936211136267829800713205528183832038417698615931023410987508317564706862102536725003716725253603425616345377519885852869852565763585074990702690940284745835281306999808720570969824950057563532454321608879 9870234750998604389517154736718987351106949187633385639602703118182835443683251837217754013986793548380497786402652817843672537141583591811615901095879084410473845646749871210684603167045350216926235245950400066466583630946969710193743197678744102550503730529186281266251788217606001079837926096575653783251327660501208637499411248327683231560819527172145635895203212974201769358732069950893679469352847666281264620490944133102765251111593303209048171786011616909190991643693496154471002467718761442247345209192174047688928143240480917896555351875152029600058525310211397814558724162867841612239598662731272070736376397778380837612197122 15970375304056097033148483642108129550000029999818646469045232557256490217024256673263835987238624700003706199138462478195250517192280142513580888368518324078187265922451316482014141981776004157922900820446947319227254573280880462443075866448631489374629445838667550639402989102681881103762898573817690459511352756588958679968731919652314831408250170869265005246726191975459762618984458480233510045932874868611662115095892055076382670047804439476877972499217145093023030061392112085494413455227079006954207311728899051405653396843906534241932871761004899452624288895286388517249664447613676893546598471451843040561326455341913291933806001 25840610055054701422665638378827116901106979187452032108647935675439325660707508510481590001225418248384203985541115296038923054333863734325196789464397408488661111569201187692698745148821354374849136066397347385693838204227850172636819064127375591925133176367853831905654777320287882183600824670393344242762680417090167317468143167979998062969069698041410641141929404949661531977716528431127189515285722534892926735586836188179147921159397742685926144285228762002214021705085608239965415922945840449201552520921073099094581540084387452138488223636156929052682814205497786331808388610481518505786197134183115111297702853120294129546003123 41810985359110798455814122020935246451107009187270678577693168232695815877731765183745425988464042948387910184679577774234173571526143876838777677832915732566848377491652504174712887130597358532772036886844294704921092777508730635079894930576007081299762622206521382545057766422969763287363723244211034702274033173679125997436875087632312894377319868910675646388655596925121294596700986911360699561218597403504588850682728243255530591207202182162804116784445907095237051766477720325459829378172919456155759832649972150500234936928293986380421095397161828505307103100784174849058053058095195399332795605634958151859029308462207421479809124 67651595414165499878479760399762363352213988374722710686341103908135141538439273694227015989689461196772114170220693070273096625860007611163974467297313141055509489060853691867411632279418712907621172953241642090614930981736580807716713994703382673224895798574375214450712543743257645470964547914604378945036713590769293314905018255612310957346389566952086287530585001874782826574417515342487889076504319938397515586269564431434678512366599924848730261069674669097451073471563328565425245301118759905357312353571045249594816477012681438518909319033318757557989917306281961180866441668576713905118992739818073263156732161582501551025812247 109462580773276298334293882420697609803320997561993389264034272140830957416171038877972441978153504145160024354900270844507270197386151488002752145130228873622357866552506196042124519410016071440393209840085936795536023759245311442796608925279389754524658420780896596995770310166227408758328271158815413647310746764448419312341893343244623851723709435862761933919240598799904121171118502253848588637722917341902104436952292674690209103573802107011534377854120576192688125238041048890885074679291679361513072186221017400095051413940975424899330414430480586063297020407066136029924494726671909304451788345453031415015761470044708972505621371 177114176187441798212773642820459973155534985936716099950375376048966098954610312572199457967842965341932138525120963914780366823246159099166726612427542014677867355613359887909536151689434784348014382793327578886150954740981892250513322919982772427749554219355271811446482853909485054229292819073419792592347460355217712627246911598856934809070099002814848221449825600674686947745536017596336477714227237280299620023221857106124887615940402031860264638923795245290139198709604377456310319980410439266870384539792062649689867890953656863418239733463799343621286937713348097210790936395248623209570781085271104678172493631627210523531433618 286576756960718096547067525241157582958855983498709489214409648189797056370781351450171899945996469487092162880021234759287637020632310587169478757557770888300225222165866083951660671099450855788407592633413515681686978500227203693309931845262162182274212640136168408442253164075712462987621090232235206239658207119666131939588804942101558660793808438677610155369066199474591068916654519850185066351950154622201724460174149780815096719514204138871799016777915821482827323947645426347195394659702118628383456726013080049784919304894632288317570147894279929684583958120414233240715431121920532514022569430724136093188255101671919496037054989 463690933148159894759841168061617556114390969435425589164785024238763155325391664022371357913839434829024301405142198674068003843878469686336205369985312902978092577779225971861196822788885640136421975426741094567837933241209095943823254765244934610023766859491440219888736017985197517216913909305654998832005667474883844566835716540958493469863907441492458376818891800149278016662190537446521544066177391902501344483396006886939984335454606170732063655701711066772966522657249803803505714640112557895253841265805142699474787195848289151735809881358079273305870895833762330451506367517169155723593350515995240771360748733299130019568488607 750267690108877991306908693302775139073246952934135078379194672428560211696173015472543257859835904316116464285163433433355640864510780273505684127543083791278317799945092055812857493888336495924829568060154610249524911741436299637133186610507096792297979499627608628330989182060909980204534999537890205071663874594549976506424521483060052130657715880170068532187957999623869085578845057296706610418127546524703068943570156667755081054968810309603862672479626888255793846604895230150701109299814676523637297991818222749259706500742921440053380029252359202990454853954176563692221798639089688237615919946719376864549003834971049515605543596 1213958623257037886066749861364392695187637922369560667543979696667323367021564679494914615773675339145140765690305632107423644708389249959841889497528396694256410377724318027674054316677222136061251543486895704817362844982645395580956441375752031402321746359119048848219725200046107497421448908843545203903669542069433821073260238024018545600521623321662526909006849799773147102241035594743228154484304938427204413426966163554695065390423416480335926328181337955028760369262145033954206823939927234418891139257623365448734493696591210591789189910610438476296325749787938894143728166156258843961209270462714617635909752568270179535174032203 1964226313365915877373658554667167834260884875303695745923174369095883578717737694967457873633511243461257229975469065540779285572900030233347573625071480485534728177669410083486911810565558631986081111547050315066887756724081695218089627986259128194619725858746657476550714382107017477625983908381435408975333416663983797579684759507078597731179339201832595441194807799397016187819880652039934764902432484951907482370536320222450146445392226789939789000660964843284554215867040264104907933239741910942528437249441588197994200197334132031842569939862797679286780603742115457835949964795348532198825190409433994500458756403241229050779575799 3178184936622953763440408416031560529448522797673256413467154065763206945739302374462372489407186582606397995665774697648202930281289280193189463122599877179791138555393728111160966127242780768047332655033946019884250601706727090799046069362011159596941472217865706324770439582153124975047432817224980612879002958733417618652944997531097143331700962523495122350201657599170163290060916246783162919386737423379111895797502483777145211835815643270275715328842302798313314585129185298059114757179669145361419576507064953646728693893925342623631759850473236155583106353530054351979678130951607376160034460872148612136368508971511408585953608002 5142411249988869640814066970698728363709407672976952159390328434859090524457040069429830363040697826067655225641243763188982215854189310426537036747671357665325866733063138194647877937808339400033413766580996334951138358430808786017135697348270287791561198076612363801321153964260142452673416725606416021854336375397401416232629757038175741062880301725327717791396465398567179477880796898823097684289169908331019378168038803999595358281207870060215504329503267641597868800996225562164022690419411056303948013756506541844722894091259474655474329790336033834869886957272169809815628095746955908358859651281582606636827265374752637636733183801 8320596186611823404254475386730288893157930470650208572857482500622297470196342443892202852447884408674053221307018460837185146135478590619726499870271234845117005288456866305808844065051120168080746421614942354835388960137535876816181766710281447388502670294478070126091593546413267427720849542831396634733339334130819034885574754569272884394581264248822840141598122997737342767941713145606260603675907331710131273965541287776740570117023513330491219658345570439911183386125410860223137447599080201665367590263571495491451587985184817279106089640809269990452993310802224161795306226698563284518894112153731218773195774346264046222686791803 13463007436600693045068542357429017256867338143627160732247810935481387994653382513322033215488582234741708446948262224026167361989667901046263536617942592510442872021520004500456722002859459568114160188195938689786527318568344662833317464058551735180063868371090433927412747510673409880394266268437812656587675709528220451118204511607448625457461565974150557932994588396304522245822510044429358287965077240041150652133580091776335928398231383390706723987848838081509052187121636422387160138018491257969315604020078037336174482076444291934580419431145303825322880268074393971610934322445519192877753763435313825410023039721016683859419975604 21783603623212516449323017744159306150025268614277369305105293436103685464849724957214236067936466643415761668255280684863352508125146491665990036488213827355559877309976870806265566067910579736194906609810881044621916278705880539649499230768833182568566538665568504053504341057086677308115115811269209291321015043659039486003779266176721509852042830222973398074592711394041865013764223190035618891640984571751281926099121379553076498515254896721197943646194408521420235573247047282610297585617571459634683194283649532827626070061629109213686509071954573815775873578876618133406240549144082477396647875589045044183218814067280730082106767407 35246611059813209494391560101588323406892606757904530037353104371585073459503107470536269283425048878157470115203542908889519870114814392712253573106156419866002749331496875306722288070770039304309066798006819734408443597274225202482816694827384917748630407036658937980917088567760087188509382079707021947908690753187259937121983777784170135309504396197123956007587299790346387259586733234464977179606061811792432578232701471329412426913486280111904667634043246602929287760368683704997457723636062717603998798303727570163800552138073401148266928503099877641098753846951012105017174871589601670274401639024358869593241853788297413941526743011 57030214683025725943714577845747629556917875372181899342458397807688758924352832427750505351361515521573231783458823593752872378239960884378243609594370247221562626641473746112987854138680619040503973407817700779030359875980105742132315925596218100317196945702227442034421429624846764496624497890976231239229705796846299423125763043960891645161547226420097354082180011184388252273350956424500596071247046383543714504331822850882488925428741176833102611280237655124349523333615730987607755309253634177238681992587377102991426622199702510361953437575054451456874627425827630238423415420733684147671049514613403913776460667855578144023633510418 92276825742838935438106137947335952963810482130086429379811502179273832383855939898286774634786564399730701898662366502642392248354775277090497182700526667087565375972970621419710142209450658344813040205824520513438803473254330944615132620423603018065827352738886380015338518192606851685133879970683253187138396550033559360247746821745061780471051622617221310089767310974734639532937689658965573250853108195336147082564524322211901352342227456945007278914280901727278811093984414692605213032889696894842680790891104673155227174337775911510220366078154329097973381272778642343440590292323285817945451153637762783369702521643875557965160253429 149307040425864661381820715793083582520728357502268328722269899986962591308208772326037279986148079921303933682121190096395264626594736161468740792294896914309128002614444367532697996348131277385317013613642221292469163349234436686747448546019821118383024298441113822049759947817453616181758377861659484426368102346879858783373509865705953425632598849037318664171947322159122891806288646083466169322100154578879861586896347173094390277770968633778109890194518556851628334427600145680212968342143331072081362783478481776146653796537478421872173803653208780554848008698606272581864005713056969965616500668251166697146163189499453701988793763847 241583866168703596819926853740419535484538839632354758102081402166236423692064712224324054620934644321034635580783556599037656874949511438559237974995423581396693378587414988952408138557581935730130053819466741805907966822488767631362581166443424136448851651180000202065098466010060467866892257832342737613506498896913418143621256687451015206103650471654539974261714633133857531339226335742431742572953262774216008669460871495306291630113196090723117169108799458578907145521584560372818181375033027966924043574369586449301880970875254333382394169731363109652821389971384914925304596005380255783561951821888929480515865711143329259953954017276 390890906594568258201747569533503118005267197134623086824351302153199015000273484550361334607082724242338569262904746695432921501544247600027978767290320495705821381201859356485106134905713213115447067433108963098377130171723204318110029712463245254831875949621114024114858413827514084048650635694002222039874601243793276926994766553156968631736249320691858638433661955292980423145514981825897911895053417353095870256357218668400681907884164724501227059303318015430535479949184706053031149717176359039005406357848068225448534767412732755254567973384571890207669398669991187507168601718437225749178452490140096177662028900642782961942747781123 632474772763271855021674423273922653489806036766977844926432704319435438692338196774685389228017368563373204843688303294470578376493759038587216742285744077102514759789274345437514273463295148845577121252575704904285096994211971949472610878906669391280727600801114226179956879837574551915542893526344959653381100140706695070616023240607983837839899792346398612695376588426837954484741317568329654468006680127311878925818090163706973537997360815224344228412117474009442625470769266425849331092209387005929449932217654674750415738287987088636962143115934999860490788641376102432473197723817481532740404312029025658177894611786112221896701798399 1023365679357840113223421992807425771495073233901600931750784006472634453692611681325046723835100092805711774106593049989903499878038006638615195509576064572808336140991133701922620408369008361961024188685684668002662227165935176267582640591369914646112603550422228250294815293665088635964193529220347181693255701384499971997610789793764952469576149113038257251129038543719818377630256299394227566363060097480407749182175308832107655445881525539725571287715435489439978105419953972478880480809385746044934856290065722900198950505700719843891530116500506890068160187311367289939641799442254707281918856802169121835839923512428895183839449579522 1655840452121111968245096416081348424984879270668578776677216710792069892384949878099732113063117461369084978950281353284374078254531765677202412251861808649910850900780408047360134681832303510806601309938260372906947324160147148217055251470276584037393331151223342476474772173502663187879736422746692141346636801525206667068226813034372936307416048905384655863824415132146656332114997616962557220831066777607719628107993398995814628983878886354949915516127552963449420730890723238904729811901595133050864306222283377574949366243988706932528492259616441889928650975952743392372114997166072188814659261114198147494017818124215007405736151377921 2679206131478952081468518408888774196479952504570179708428000717264704346077561559424778836898217554174796753056874403274277578132569772315817607761437873222719187041771541749282755090201311872767625498623945040909609551326082324484637892061646498683505934701645570726769587467167751823843929951967039323039892502909706639065837602828137888776992198018422913114953453675866474709745253916356784787194126875088127377290168707827922284429760411894675486803842988452889398836310677211383610292710980879095799162512349100475148316749689426776420022376116948779996811163264110682311756796608326896096578117916367269329857741636643902589575600957443 4335046583600064049713614824970122621464831775238758485105217428056774238462511437524510949961335015543881732007155756558651656387101537993020020013299681872630037942551949796642889772033615383574226808562205413816556875486229472701693143531923082720899265852868913203244359640670415011723666374713731464386529304434913306134064415862510825084408246923807568978777868808013131041860251533319342008025193652695847005398162106823736913413639298249625402319970541416338819567201400450288340104612576012146663468734632478050097682993678133708948514635733390669925462139216854074683871793774399084911237379030565416823875559760858909995311752335364 7014252715079016131182133233858896817944784279808938193533218145321478584540072996949289786859552569718678485064030159832929234519671310308837627774737555095349224984323491545925644862234927256341852307186150454726166426812311797186331035593569581404405200554514483930013947107838166835567596326680770787426421807344619945199902018690648713861400444942230482093731322483879605751605505449676126795219320527783974382688330814651659197843399710144300889123813529869228218403512077661671950397323556891242462631246981578525245999743367560485368537011850339449922273302480964756995628590382725981007815496946932686153733301397502812584887353292807 11349299298679080180895748058829019439409616055047696678638435573378252823002584434473800736820887585262560217071185916391580890906772848301857647788037236967979262926875441342568534634268542639916079115748355868542723302298541269888024179125492664125304466407383397133258306748508581847291262701394502251812951111779533251333966434553159538945808691866038051072509191291892736793465756982995468803244514180479821388086492921475396111257039008393926291443784071285567037970713478111960290501936132903389126099981614056575343682737045694194317051647583730119847735441697818831679500384157125065919052875977498102977608861158361722580199105628171 18363552013758096312077881292687916257354400334856634872171653718699731407542657431423090523680440154981238702135216076224510125426444158610695275562774792063328487911198932888494179496503469896257931422934506323268889729110853067074355214719062245529709666961897881063272253856346748682858859028075273039239372919124153196533868453243808252807209136808268533166240513775772342545071262432671595598463834708263795770774823736127055309100438718538227180567597601154795256374225555773632240899259689794631588731228595635100589682480413254679685588659434069569770008744178783588675128974539851046926868372924430789131342162555864535165086458920978 29712851312437176492973629351516935696764016389904331550810089292077984230545241865896891260501327740243798919206401992616091016333217006912552923350812029031307750838074374231062714130772012536174010538682862191811613031409394336962379393844554909655014133369281278196530560604855330530150121729469775291052324030903686447867834887796967791753017828674306584238749705067665079338537019415667064401708348888743617158861316657602451420357477726932153472011381672440362294344939033885592531401195822698020714831210209691675933365217458948874002640307017799689617744185876602420354629358696976112845921248901928892108951023714226257745285564549149 48076403326195272805051510644204851954118416724760966422981743010777715638087899297319981784181767895225037621341618068840601141759661165523248198913586821094636238749273307119556893627275482432431941961617368515080502760520247404036734608563617155184723800331179159259802814461202079213008980757545048330291696950027839644401703341040776044560226965482575117404990218843437421883608281848338660000172183597007412929636140393729506729457916445470380652578979273595157550719164589659224772300455512492652303562438805326776523047697872203553688228966451869259387752930055386009029758333236827159772789621826359681240293186270090792910372023470127 77789254638632449298025139995721787650882433114665297973791832302855699868633141163216873044683095635468836540548020061456692158092878172435801122264398850125943989587347681350619607758047494968605952500300230706892115791929641740999114002408172064839737933700460437456333375066057409743159102487014823621344020980931526092269538228837743836313244794156881701643739923911102501222145301264005724401880532485751030088497457051331958149815394172402534124590360946035519845064103623544817303701651335190673018393649015018452456412915331152427690869273469668949005497115931988429384387691933803272618710870728288573349244209984317050655657588019276 125865657964827722103076650639926639605000849839426264396773575313633415506721040460536854828864863530693874161889638130297293299852539337959049321177985671220580228336620988470176501385322977401037894461917599221972618552449889145035848610971789220024461734031639596716136189527259488956168083244559871951635717930959365736671241569878519880873471759639456819048730142754539923105753583112344384402052716082758443018133597445061464879273310617872914777169340219630677395783268213204042076002106847683325321956087820345228979460613203355981379098239921538208393250045987374438414146025170630432391500492554648254589537396254407843566029611489403 203654912603460171401101790635648427255883282954091562370565407616489115375354181623753727873547959166162710702437658191753985457945417510394850443442384521346524217923968669820796109143370472369643846962217829928864734344379530886034962613379961284864199667732100034172469564593316898699327185731574695572979738911890891828940779798716263717186716553796338520692470066665642424327898884376350108803933248568509473106631054496393423029088704790275448901759701165666197240847371836748859379703758182873998340349736835363681435873528534508409069967513391207157398747161919362867798533717104433705010211363282936827938781606238724894221687199508679 329520570568287893504178441275575066860884132793517826767338982930122530882075222084290582702412822696856584864327296322051278757797956848353899764620370192567104446260589658290972610528693449770681741424135429150837352896829420031070811224351750504888661401763739630888605754120576387655495268976134567524615456842850257565612021368594783598060188313435795339741200209420182347433652467488694493205985964651267916124764651941454887908362015408148363678929041385296874636630640049952901455705865030557323662305824655708910415334141737864390449065753312745365791997207906737306212679742275064137401711855837585082528319002493132737787716810998082 533175483171748064905280231911223494116767415747609389137904390546611646257429403708044310575960781863019295566764954513805264215743374358748750208062754713913628664184558328111768719672063922140325588386353259079702087241208950917105773837731711789752861069495839665061075318713893286354822454707709263097595195754741149394552801167311047315246904867232133860433670276085824771761551351865044602009919213219777389231395706437848310937450720198423812580688742550963071877478011886701760835409623213431322002655561491072591851207670272372799519033266703952523190744369826100174011213459379497842411923219120521910467100608731857632009404010506761 862696053740035958409458673186798560977651548541127215905243373476734177139504625792334893278373604559875880431092250835856542973541331207102649972683124906480733110445147986402741330200757371911007329810488688230539440138038370948176585062083462294641522471259579295949681072834469674010317723683843830622210652597591406960164822535905830913307093180667929200174870485506007119195203819353739095215905177871045305356160358379303198845812735606572176259617783936259946514108651936654662291115488243988645664961386146781502266541812010237189968099020016697888982741577732837480223893201654561979813635074958106992995419611224990369797120821504843 1395871536911784023314738905098022055094418964288736605043147764023345823396934029500379203854334386422895175997857205349661807189284705565851400180745879620394361774629706314514510049872821294051332918196841947310241527379247321865282358899815174084394383540755418961010756391548362960365140178391553093719805848352332556354717623703216878228553998047900063060608540761591831890956755171218783697225824391090822694587556064817151509783263455804995988840306526487223018391586663823356423126525111457419967667616947637854094117749482282609989487132286720650412173485947558937654235106661034059822225558294078628903462520219956848001806524832011604 2258567590651819981724197578284820616072070512829863820948391137500080000536438655292714097132707990982771056428949456185518350162826036772954050153429004526875094885074854300917251380073578665962340248007330635540780967517285692813458943961898636379035906012014998256960437464382832634375457902075396924342016500949923963314882446239122709141861091228567992260783411247097839010151958990572522792441729568961867999943716423196454708629076191411568165099924310423482964905695315760011085417640599701408613332578333784635596384291294292847179455231306737348301156227525291775134458999862688621802039193369036735896457939831181838371603645653516447 3654439127563604005038936483382842671166489477118600425991538901523425823933372684793093300987042377405666232426806661535180157352110742338805450334174884147269456659704560615431761429946399960013673166204172582851022494896533014678741302861713810463430289552770417217971193855931195594740598080466950018061822349302256519669600069942339587370415089276468055321391952008689670901108714161791306489667553960052690694531272488013606218412339647216564153940230836910705983297281979583367508544165711158828581000195281422489690502040776575457168942363593457998713329713472850712788694106523722681624264751663115364799920460051138686373410170485528051 5913006718215423986763134061667663287238559989948464246939930039023505824469811340085807398119750368388437288855756117720698507514936779111759500487603888674144551544779414916349012810019978625976013414211503218391803462413818707492200246823612446842466195564785415474931631320314028229116055982542346942403838850252180482984482516181462296512276180505036047582175363255787509911260673152363829282109283529014558694474988911210060927041415838628132319040155147334188948202977295343378593961806310860237194332773615207125286886332070868304348397594900195347014485940998142487923153106386411303426303945032152100696378399882320524745013816139044498 9567445845779027991802070545050505958405049467067064672931468940546931648403184024878900699106792745794103521282562779255878664867047521450564950821778772821414008204483975531780774239966378585989686580415675801242825957310351722170941549685326257305896485117555832692902825176245223823856654063009296960465661199554437002654082586123801883882691269781504102903567315264477180812369387314155135771776837489067249389006261399223667145453755485844696472980385984244894931500259274926746102505972022019065775332968896629614977388372847443761517339958493653345727815654470993200711847212910133985050568696695267465496298859933459211118423986624572549 15480452563994451978565204606718169245643609457015528919871398979570437472872995364964708097226543114182540810138318896976577172381984300562324451309382661495558559749263390448129787049986357211965699994627179019634629419724170429663141796508938704148362680682341248167834456496559252052972710045551643902869500049806617485638565102305264180394967450286540150485742678520264690723630060466518965053886121018081808083481250310433728072495171324472828792020541131579083879703236570270124696467778332879302969665742511836740264274704918312065865737553393848692742301595469135688635000319296545288476872641727419566192677259815779735863437802763617047 25047898409773479970367275151768675204048658924082593592802867920117369121276179389843608796333335859976644331420881676232455837249031822012889402131161434316972567953747365979910561289952735797955386575042854820877455377034522151834083346194264961454259165799897080860737281672804475876829364108560940863335161249361054488292647688429066064277658720068044253389309993784741871535999447780674100825662958507149057472487511709657395217948926810317525265000927115823978811203495845196870798973750354898368744998711408466355241663077765755827383077511887502038470117249940128889346847532206679273527441338422687031688976119749238946981861789388189596 40528350973767931948932479758486844449692268381098122512674266899687806594149174754808316893559878974159185141559200573209033009631016122575213853440544095812531127703010756428040348339939093009921086569670033840512084796758692581497225142703203665602621846482238329028571738169363727929802074154112584766204661299167671973931212790734330244672626170354584403875052672305006562259629508247193065879549079525230865555968762020091123290444098134790354057021468247403062690906732415466995495441528687777671714664453920303095505937782684067893248815065281350731212418845409264577981847851503224562004313980150106597881653379565018682845299592151806643 65576249383541411919299754910255519653740927305180716105477134819805175715425354144651925689893214834135829472980082249441488846880047944588103255571705530129503695656758122407950909629891828807876473144712888661389540173793214733331308488897468627056881012282135409889309019842168203806631438262673525629539822548528726462223860479163396308950284890422628657264362666089748433795628956027867166705212038032379923028456273729748518508393024945107879322022395363227041502110228260663866294415279042676040459663165328769450747600860449823720631892577168852769682536095349393467328695383709903835531755318572793629570629499314257629827161381539996239 106104600357309343868232234668742364103433195686278838618151401719492982309574528899460242583453093808295014614539282822650521856511064067163317109012249625942034823359768878835991257969830921817797559714382922501901624970551907314828533631600672292659502858764373738917880758011531931736433512416786110395744483847696398436155073269897726553622911060777213061139415338394754996055258464275060232584761117557610788584425035749839641798837123079898233379043863610630104193016960676130861789856807730453712174327619249072546253538643133891613880707642450203500894954940758658045310543235213128397536069298722900227452282878879276312672460973691802882 171680849740850755787531989578997883757174122991459554723628536539298158024999883044112168273346308642430844087519365072092010703391112011751420364583955156071538519016527001243942167599722750625674032859095811163291165144345122048159842120498140919716383871046509148807189777853700135543064950679459636025284306396225124898378933749061122862573195951199841718403778004484503429850887420302927399289973155589990711612881309479588160307230148025006112701066258973857145695127188936794728084272086773129752633990784577841997001139503583715334512600219619056270577491036108051512639238618923032233067824617295693857022912378193533942499622355231799121 277785450098160099655764224247740247860607318677738393341779938258791140334574411943572410856799402450725858702058647894742532559902176078914737473596204782013573342376295880079933425569553672443471592573478733665192790114897029362988375752098813212375886729810882887725070535865232067279498463096245746421028790243921523334534007018958849416196107011977054779543193342879258425906145884577987631874734273147601500197306345229427802106067271104904346080110122584487249888144149612925589874128894503583464808318403826914543254678146717606948393307862069259771472445976866709557949781854136160630603893916018594084475195257072810255172083328923602003 449466299839010855443296213826738131617781441669197948065408474798089298359574294987684579130145711093156702789578012966834543263293288090666157838180159938085111861392822881323875593169276423069145625432574544828483955259242151411148217872596954132092270600857392036532260313718932202822563413775705382446313096640146648232912940768019972278769302963176896497946971347363761855757033304880915031164707428737592211810187654709015962413297419129910458781176381558344395583271338549720317958400981276713217442309188404756540255817650301322282905908081688316042049937012974761070589020473059192863671718533314287941498107635266344197671705684155401124 727251749937170955099060438074478379478388760346936341407188413056880438694148706931256989986945113543882561491636660861577075823195464169580895311776364720098685203769118761403809018738830095512617218006053278493676745374139180774136593624695767344468157330668274924257330849584164270102061876871951128867341886884068171567446947786978821694965409975153951277490164690243020281663179189458902663039441701885193712007493999938443764519364690234814804861286504142831645471415488162645907832529875780296682250627592231671083510495797018929231299215943757575813522382989841470628538802327195353494275612449332882025973302892339154452843789013079003127 1176718049776181810542356651901216511096170202016134289472596887854969737053723001918941569117090824637039264281214673828411619086488752260247053149956524658183797065161941642727684611908106518581762843438627823322160700633381332185284811497292721476560427931525666960789591163303096472924625290647656511313654983524214819800359888554998793973734712938330847775437136037606782137420212494339817694204149130622785923817681654647459726932662109364725263642462885701176041054686826712366225790930857057009899692936780636427623766313447320251514205124025445891855572320002816231699127822800254546357947330982647169967471410527605498650515494697234404251 1903969799713352765641417089975694890574558962363070630879785300911850175747871708850198559104035938180921825772851334689988694909684216429827948461732889378282482268931060404131493630646936614094380061444681101815837446007520512959421405121988488821028585262193941885046922012887260743026687167519607640180996870408282991367806836341977615668700122913484799052927300727849802419083391683798720357243590832507979635825175654585903491452026799599540068503749389844007686526102314875012133623460732837306581943564372868098707276809244339180745504339969203467669094702992657702327666625127449899852222943431980051993444713419944653103359283710313407378 3080687849489534576183773741876911401670729164379204920352382188766819912801594710769140128221126762817961090054066008518400313996172968690075001611689414036466279334093002046859178242555043132676142904883308925137998146640901845144706216619281210297589013193719608845836513176190357215951312458167264151494651853932497811168166724896976409642434835851815646828364436765456584556503604178138538051447739963130765559642857309233363218384688908964265332146212275545183727580789141587378359414391589894316481636501153504526331043122691659432259709463994649359524667022995473934026794447927704446210170274414627221960916123947550151753874778407547811629 4984657649202887341825190831852606292245288126742275551232167489678670088549466419619338687325162700998882915826917343208389008905857185119902950073422303414748761603024062450990671873201979746770522966327990026953835592648422358104127621741269699118617598455913550730883435189077617958977999625686871791675648724340780802535973561238954025311134958765300445881291737493306386975586995861937258408691330795638745195468032963819266709836715708563805400649961665389191414106891456462390493037852322731623063580065526372625038319931935998613005213803963852827193761725988131636354461073055154346062393217846607273954360837367494804857234062117861219007 8065345498692421918008964573729517693916017291121480471584549678445490001351061130388478815546289463816844005880983351726789322902030153809977951685111717451215040937117064497849850115757022879446665871211298952091833739289324203248833838360550909416206611649633159576719948365267975174929312083854135943170300578273278613704140286135930434953569794617116092709656174258762971532090600040075796460139070758769510755110890273052629928221404617528070732796173940934375141687680598049768852452243912625939545216566679877151369363054627658045264923267958502186718428748983605570381255520982858792272563492261234495915276961315044956611108840525409030636 13050003147895309259834155405582123986161305417863756022816717168124160089900527550007817502871452164815726921707900694935178331807887338929880901758534020865963802540141126948840521988959002626217188837539288979045669331937746561352961460101820608534824210105546710307603383554345593133907311709541007734845949302614059416240113847374884460264704753382416538590947911752069358507677595902013054868830401554408255950578923236871896638058120326091876133446135606323566555794572054512159345490096235357562608796632206249776407682986563656658270137071922355013912190474971737206735716594038013138334956710107841769869637798682539761468342902643270249643 21115348646587731177843119979311641680077322708985236494401266846569650091251588680396296318417741628632570927588884046661967654709917492739858853443645738317178843477258191446690372104716025505663854708750587931137503071227070764601795298462371517951030821755179869884323331919613568308836623793395143678016249880887338029944254133510814895218274547999532631300604086010832330039768195942088851328969472313177766705689813509924526566279524943619946866242309547257941697482252652561928197942340147983502154013198886126927777046041191314703535060339880857200630619223955342777116972115020871930607520202369076265784914759997584718079451743168679280279 34165351794483040437677275384893765666238628126848992517217984014693810181152116230404113821289193793448297849296784741597145986517804831669739755202179759183142646017399318395530894093675028131881043546289876910183172403164817325954756758564192126485855031860726580191926715473959161442743935502936151412862199183501397446184367980885699355482979301381949169891551997762901688547445791844101906197799873867586022656268736746796423204337645269711822999688445153581508253276824707074087543432436383341064762809831092376704184729027754971361805197411803212214542809698927079983852688709058885068942476912476918035654552558680124479547794645811949529922 55280700441070771615520395364205407346315950835834229011619250861263460272403704910800410139706935422080868776885668788259113641227722324409598608645825497500321489494657509842221266198391053637544898255040464841320675474391888090556552057026563644436885853615906450076250047393572729751580559296331295090878449064388735476128622114396514250701253849381481801192156083773734018587213987786190757526769346180763789361958550256720949770617170213331769865930754700839449950759077359636015741374776531324566916823029978503631961775068946286065340257751684069415173428922882422760969660824079756999549997114845994301439467318677709197627246388980628810201 89446052235553812053197670749099173012554578962683221528837234875957270453555821141204523960996129215529166626182453529856259627745527156079338363848005256683464135512056828237752160292066081769425941801330341751503847877556705416511308815590755770922740885476633030268176762867531891194324494799267446503740648247890132922312990095282213606184233150763430971083708081536635707134659779630292663724569220048349812018227287003517372974954815483043592865619199854420958204035902066710103284807212914665631679632861070880336146504096701257427145455163487281629716238621809502744822349533138642068492474027322912337094019877357833677175041034792578340123 144726752676624583668718066113304580358870529798517450540456485737220730725959526052004934100703064637610035403068122318115373268973249480488936972493830754183785625006714338079973426490457135406970840056370806592824523351948593507067860872617319415359626739092539480344426810261104620945905054095598741594619097312278868398441612209678727856885487000144912772275864165310369725721873767416483421251338566229113601380185837260238322745571985696375362731549954555260408154794979426346119026181989445990198596455891049383968108279165647543492485712915171351044889667544691925505792010357218399068042471142168906638533487196035542874802287423773207150324 234172804912178395721915736862403753371425108761200672069293720613178001179515347193209458061699193853139202029250575847971632896718776636568275336341836010867249760518771166317725586782523217176396781857701148344328371229505298923579169688208075186282367624569172510612603573128636512140229548894866188098359745560169001320754602304960941463069720150908343743359572246847005432856533547046776084975907786277463413398413124263755695720526801179418955597169154409681366358830881493056222310989202360655830276088752120264304254783262348800919631168078658632674605906166501428250614359890357041136534945169491818975627507073393376551977328458565785490447 378899557588802979390633802975708333730295638559718122609750206350398731905474873245214392162402258490749237432318698166087006165692026117057212308835666765051035385525485504397699013272980352583367621914071954937152894581453892430647030560825394601641994363661711990957030383389741133086134602990464929692978842872447869719196214514639669319955207151053256515635436412157375158578407314463259506227246352506577014778598961523994018466098786875794318328719108964941774513625860919402341337171191806646028872544643169648272363062427996344412116880993829983719495573711193353756406370247575440204577416311660725614160994269428919426779615882338992640771 613072362500981375112549539838112087101720747320918794679043926963576733084990220438423850224101452343888439461569274014058639062410802753625487645177502775918285146044256670715424600055503569759764403771773103281481265810959191354226200249033469787924361988230884501569633956518377645226364151885331117791338588432616871039950816819600610783024927301961600258995008659004380591434940861510035591203154138784040428177012085787749714186625588055213273925888263374623140872456742412458563648160394167301859148633395289912576617845690345145331748049072488616394101479877694782007020730137932481341112361481152544589788501342822295978756944340904778131218 991971920089784354503183342813820420832016385880636917288794133313975464990465093683638242386503710834637676893887972180145645228102828870682699954013169540969320531569742175113123613328483922343132025685845058218634160392413083784873230809858864389566356351892596492526664339908118778312498754875796047484317431305064740759147031334240280102980134453014856774630445071161755750013348175973295097430400491290617442955611047311743732652724374931007592254607372339564915386082603331860904985331585973947888021178038459560848980908118341489743864930066318600113597053588888135763427100385507921545689777792813270203949495612251215405536560223243770771989 1605044282590765729615732882651932507933737133201555711967838060277552198075455314122062092610605163178526116355457246194204284290513631624308187599190672316887605677613998845828548213383987492102896429457618161500115426203372275139099431058892334177490718340123480994096298296426496423538862906761127165275656019737681611799097848153840890886005061754976457033625453730166136341448289037483330688633554630074657871132623133099493446839349962986220866180495635714188056258539345744319468633491980141249747169811433749473425598753808686635075612979138807216507698533466582917770447830523440402886802139273965814793737996955073511384293504564148548903207 2597016202680550084118916225465752928765753519082192629256632193591527663065920407805700334997108874013163793249345218374349929518616460494990887553203841857856926209183741020941671826712471414446028455143463219718749586595785358923972661868751198567057074692016077486622962636334615201851361661636923212759973451042746352558244879488081170988985196207991313808255898801327892091461637213456625786063955121365275314088234180411237179492074337917228458435103008053752971644621949076180373618823566115197635190989472209034274579661927028124819477909205125816621295587055471053533874930908948324432491917066779084997687492567324726789830064787392319675196 4202060485271315813734649108117685436699490652283748341224470253869079861141375721927762427607714037191689909604802464568554213809130092119299075152394514174744531886797739866770220040096458906548924884601081381218865012799157634063072092927643532744547793032139558480719260932761111625390224568398050378035629470780427964357342727641922061874990257962967770841881352531494028432909926250939956474697509751439933185220857313510730626331424300903449324615598643767941027903161294820499842252315546256447382360800905958507700178415735714759895090888343933033128994120522053971304322761432388727319294056340744899791425489522398238174123569351540868578403 6799076687951865897853565333583438365465244171365940970481102447460607524207296129733462762604822911204853702854147682942904143327746552614289962705598356032601458095981480887711891866808930320994953339744544600937614599394942992987044754796394731311604867724155635967342223569095726827241586230034973590795602921823174316915587607130003232863975454170959084650137251332821920524371563464396582260761464872805208499309091493921967805823498638820677783050701651821693999547783243896680215871139112371645017551790378167541974758077662742884714568797549058849750289707577525024838197692341337051751785973407523984789112982089722964963953634138933188253599 11001137173223181711588214441701123802164734823649689311705572701329687385348671851661225190212536948396543612458950147511458357136876644733589037857992870207345989982779220754482111906905389227543878224345625982156479612194100627050116847724038264056152660756295194448061484501856838452631810798433023968831232392603602281272930334771925294738965712133926855492018603864315948957281489715336538735458974624245141684529948807432698432154922939724127107666300295589635027450944538717180058123454658628092399912591284126049674936493398457644609659685892991882879283828099578996142520453773725779071080029748268884580538471612121203138077203490474056832002 17800213861175047609441779775284562167629978995015630282186675148790294909555967981394687952817359859601397315313097830454362500464623197347879000563591226239947448078760701642194003773714319548538831564090170583094094211589043620037161602520432995367757528480450830415403708070952565279873397028467997559626835314426776598188517941901928527602941166304885940142155855197137869481653053179733120996220439497050350183839040301354666237978421578544804890717001947411329026998727782613860273994593770999737417464381662293591649694571061200529324228483442050732629573535677104020980718146115062830822866003155792869369651453701844168102030837629407245085601 28801351034398229321029994216985685969794713818665319593892247850119982294904639833055913143029896807997940927772047977965820857601499842081468038421584096447293438061539922396676115680619708776082709788435796565250573823783144247087278450244471259423910189236746024863465192572809403732505207826901021528458067707030378879461448276673853822341906878438812795634174459061453818438934542895069659731679414121295491868368989108787364670133344518268931998383302243000964054449672321331040332118048429627829817376972946419641324631064459658173933888169335042615508857363776683017123238599888788609893946032904061753950189925313965371240108041119881301917603 46601564895573276930471773992270248137424692813680949876078922998910277204460607814450601095847256667599338243085145808420183358066123039429347038985175322687240886140300624038870119454334028324621541352525967148344668035372187867124440052764904254791667717717196855278868900643761969012378604855369019088084903021457155477649966218575782349944848044743698735776330314258591687920587596074802780727899853618345842052208029410142030908111766096813736889100304190412293081448400103944900606112642200627567234841354608713232974325635520858703258116652777093348138430899453787038103956746003851440716812036059854623319841379015809539342138878749288547003204 75402915929971506251501768209255934107219406632346269469971170849030259499365247647506514238877153475597279170857193786386004215667622881510815077406759419134534324201840546435546235134953737100704251140961763713595241859155332114211718503009375514215577906953942880142334093216571372744883812682270040616542970728487534357111414495249636172286754923182511531410504773320045506359522138969872440459579267739641333920577018518929395578245110615082668887483606433413257135898072425275940938230690630255397052218327555132874298956699980516877192004822112135963647288263230470055227195345892640050610758068963916377270031304329774910582246919869169848920807 122004480825544783181973542201526182244644099446027219346050093847940536703825855461957115334724410143196617413942339594806187573733745920940162116391934741821775210342141170474416354589287765425325792493487730861939909894527519981336158555774279769007245624671139735421202993860333341757262417537639059704627873749944689834761380713825418522231602967926210267186835087578637194280109735044675221187479121357987175972785047929071426486356876711896405776583910623825550217346472529220841544343332830882964287059682163846107273282335501375580450121474889229311785719162684257093331152091896491491327570105023771000589872683345584449924385798618458395924011 197407396755516289433475310410782116351863506078373488816021264696970796203191103109463629573601563618793896584799533381192191789401368802450977193798694160956309534543981716909962589724241502526030043634449494575535151753682852095547877058783655283222823531625082615563537087076904714502146230219909100321170844478432224191872795209075054694518357891108721798597339860898682700639631874014547661647058389097628509893362066448000822064601987326979074664067517057238807353244544954496782482574023461138361339278009718978981572239035481892457642126297001365275433007425914727148558347437789131541938328173987687377859903987675359360506632718487628244844818 319411877581061072615448852612308298596507605524400708162071358544911332907016958571420744908325973761990513998741872975998379363135114723391139310190628902778084744886122887384378944313529267951355836127937225437475061648210372076884035614557935052230069156296222350984740080937238056259408647757548160025798718228376914026634175922900473216749960859034932065784174948477319894919741609059222882834537510455615685866147114377072248550958864038875480440651427681064357570591017483717624026917356292021325626337691882825088845521370983268038092247771890594587218726588598984241889499529685623033265898279011458378449776671020943810431018517106086640768829 516819274336577362048924163023090414948371111602774196978092623241882129110208061680884374481927537380784410583541406357190571152536483525842116503989323063734394279430104604294341534037770770477385879762386720013010213401893224172431912673341590335452892687921304966548277168014142770761554877977457260346969562706809138218506971131975527911268318750143653864381514809376002595559373483073770544481595899553244195759509180825073070615560851365854555104718944738303164923835562438214406509491379753159686965615701601804070417760406465160495734374068891959862651734014513711390447846967474754575204226452999145756309680658696303170937651235593714885613647 836231151917638434664373015635398713544878717127174905140163981786793462017225020252305119390253511142774924582283279333188950515671598249233255814179951966512479024316227491678720478351300038428741715890323945450485275050103596249315948287899525387682961844217527317533017248951380827020963525735005420372768280935186052245141147054876001128018279609178585930165689757853322490479115092132993427316133410008859881625656295202145319166519715404730035545370372419367522494426579921932030536408736045181012591953393484629159263281777448428533826621840782554449870460603112695632337346497160377608470124732010604134759457329717246981368669752699801526382476 1353050426254215796713297178658489128493249828729949102118256605028675591127433081933189493872181048523559335165824685690379521668208081775075372318169275030246873303746332095973062012389070808906127595652710665463495488451996820421747860961241115723135854532138832284081294416965523597782518403712462680719737843641995190463648118186851529039286598359322239794547204567229325086038488575206763971797729309562104077385165476027218389782080566770584590650089317157670687418262142360146437045900115798340699557569095086433229681042183913589029560995909674514312522194617626407022785193464635132183674351185009749891069137988413550152306320988293516411996123 2189281578171854231377670194293887842038128545857124007258420586815469053144658102185494613262434559666334259748107965023568472183879680024308628132349226996759352328062559587651782490740370847334869311543034610913980763502100416671063809249140641110818816376356359601614311665916904424803481929447468101092506124577181242708789265241727530167304877968500825724712894325082647576517603667339757399113862719570963959010821771229363708948600282175314626195459689577038209912688722282078467582308851843521712149522488571062388944323961362017563387617750457068762392655220739102655122539961795509792144475917020354025828595318130797133674990740993317938378599 3542332004426070028090967372952376970531378374587073109376677191844144644272091184118684107134615608189893594913932650713947993852087761799384000450518502027006225631808891683624844503129441656240996907195745276377476251954097237092811670210381756833954670908495191885695606082882428022586000333159930781812243968219176433172437383428579059206591476327823065519260098892311972662556092242546521370911592029133068036395987247256582098730680848945899216845549006734708897330950864642224904628208967641862411707091583657495618625366145275606592948613660131583074914849838365509677907733426430641975818827102030103916897733306544347285981311729286834350374722 5731613582597924259468637567246264812569506920444197116635097778659613697416749286304178720397050167856227854662040615737516466035967441823692628582867729023765577959871451271276626993869812503575866218738779887291457015456197653763875479459522397944773487284851551487309917748799332447389482262607398882904750092796357675881226648670306589373896354296323891243972993217394620239073695909886278770025454748704031995406809018485945807679281131121213843041008696311747107243639586924303372210517819485384123856614072228558007569690106637624156336231410588651837307505059104612333030273388226151767963303019050457942726328624675144419656302470280152288753321 9273945587023994287559604940198641783100885295031270226011774970503758341688840470422862827531665776046121449575973266451464459888055203623076629033386231050771803591680342954901471496999254159816863125934525163668933267410294890856687149669904154778728158193346743373005523831681760469975482595767329664716994061015534109053664032098885648580487830624146956763233092109706592901629788152432800140937046777837100031802796265742527906409961980067113059886557703046456004574590451566528276838726787127246535563705655886053626195056251913230749284845070720234912222354897470122010938006814656793743782130121080561859624061931219491705637614199566986639128043 15005559169621918547028242507444906595670392215475467342646872749163372039105589756727041547928715943902349304238013882188980925924022645446769257616253960074537381551551794226178098490869066663392729344673305050960390282866492544620562629129426552723501645478198294860315441580481092917364964858374728547621744153811891784934890680769192237954384184920470848007206085327101213140703484062319078910962501526541132027209605284228473714089243111188326902927566399358203111818230038490831649049244606612630659420319728114611633764746358550854905621076481308886749529859956574734343968280202882945511745433140131019802350390555894636125293916669847138927881364 24279504756645912834587847447643548378771277510506737568658647719667130380794430227149904375460381719948470753813987148640445385812077849069845886649640191125309185143232137181079569987868320823209592470607830214629323550276787435477249778799330707502229803671545038233320965412162853387340447454142058212338738214827425893988554712868077886534872015544617804770439177436807806042333272214751879051899548304378232059012401549971001620499205091255439962814124102404659116392820490057359925887971393739877194984025384000665259959802610464085654905921552029121661752214854044856354906287017539739255527563261211581661974452487114127830931530869414125567009407 39285063926267831381616089955088454974441669725982204911305520468830502419900019983876945923389097663850820058052001030829426311736100494516615144265894151199846566694783931407257668478737387486602321815281135265589713833143279980097812407928757260225731449149743333093636406992643946304705412312516786759960482368639317678923445393637270124489256200465088652777645262763909019183036756277070957962862049830919364086222006834199475334588448202443766865741690501762862228211050528548191574937216000352507854404345112115276893724548969014940560526998033338008411282074810619590698874567220422684767272996401342601464324843043008763956225447539261264494890771 63564568682913744216203937402732003353212947236488942479964168188497632800694450211026850298849479383799290811865988179469871697548178343586461030915534342325155751838016068588337238466605708309811914285888965480219037383420067415575062186728087967727961252821288371326957372404806799692045859766658844972299220583466743572912000106505348011024128216009706457548084440200716825225370028491822837014761598135297596145234408384170476955087653293699206828555814604167521344603871018605551500825187394092385049388370496115942153684351579479026215432919585367130073034289664664447053780854237962424022800559662554183126299295530122891787156978408675390061900178 102849632609181575597820027357820458327654616962471147391269688657328135220594470194903796222238577047650110869917989210299298009284278838103076175181428493525002318532799999995594906945343095796414236101170100745808751216563347395672874594656845227953692701971031704420593779397450745996751272079175631732259702952106061251835445500142618135513384416474795110325729702964625844408406784768893794977623647966216960231456415218369952289676101496142973694297505105930383572814921547153743075762403394444892903792715608231219047408900548493966775959917618705138484316364475284037752655421458385108790073556063896784590624138573131655743382425947936654556790949 166414201292095319814023964760552461680867564198960089871233856845825768021288920405930646521088056431449401681783977389769169706832457181689537206096962835850158070370816068583932145411948804106226150387059066226027788599983414811247936781384933195681653954792320075747551151802257545688797131845834476704558923535572804824747445606647966146537512632484501567873814143165342669633776813260716631992385246101514556376690823602540429244763754789842180522853319710097904917418792565759294576587590788537277953181086104347161201093252127972992991392837204072268557350654139948484806436275696347532812874115726450967716923434103254547530539404356612044618691127 269263833901276895411843992118372920008522181161431237262503545503153903241883390600834442743326633479099512551701966600068467716116736019792613381278391329375160388903616068579527052357291899902640386488229166971836539816546762206920811376041778423635346656763351780168144931199708291685548403925010108436818626487678866076582891106790584282050897048959296678199543846129968514042183598029610426970008894067731516608147238820910381534439856285985154217150824816028288490233714112913037652349994182982170856973801712578380248502152676466959767352754822777407041667018615232522559091697154732641602947671790347752307547572676386203273921830304548699175482076 435678035193372215225867956878925381689389745360391327133737402348979671263172311006765089264414689910548914233485943989837637422949193201482150587375354165225318459274432137163459197769240704008866536875288233197864328416530177018168748157426711619317000611555671855915696083001965837374345535770844585141377550023251670901330336713438550428588409681443798246073357989295311183675960411290327058962394140169246072984838062423450810779203611075827334740004144526126193407652506678672332228937584971519448810154887816925541449595404804439952758745592026849675599017672755181007365527972851080174415821787516798720024471006779640750804461234661160743794173203 704941869094649110637711948997298301697911926521822564396240947852133574505055701607599532007741323389648426785187910589906105139065929221274763968653745494600478848178048205742986250126532603911506923363517400169700868233076939225089559533468490042952347268319023636083841014201674129059893939695854693578196176510930536977913227820229134710639306730403094924272901835425279697718144009319937485932403034236977589592985301244361192313643467361812488957154969342154481897886220791585369881287579154501619667128689529503921698097557480906912526098346849627082640684691370413529924619670005812816018769459307146472332018579456026954078383064965709442969655279 1140619904288021325863579905876223683387301671882213891529978350201113245768228012614364621272156013300197341018673854579743742562015122422756914556029099659825797307452480342906445447895773307920373460238805633367565196649607116243258307690895201662269347879874695491999537097203639966434239475466699278719573726534182207879243564533667685139227716411846893170346259824720590881394104420610264544894797174406223662577823363667812003092847078437639823697159113868280675305538727470257702110225164126021068477283577346429463147692962285346865284843938876476758239702364125594537290147642856892990434591246823945192356489586235667704882844299626870186763828482 1845561773382670436501291854873521985085213598404036455926219298053246820273283714221964153279897336689845767803861765169649847701081051644031678524682845154426276155630528548649431698022305911831880383602323033537266064882684055468347867224363691705221695148193719128083378111405314095494133415162553972297769903045112744857156792353896819849867023142249988094619161660145870579112248429930202030827200208643201252170808664912173195406490545799452312654314083210435157203424948261843071991512743280522688144412266875933384845790519766253777810942285726103840880387055496008067214767312862705806453360706131091664688508165691694658961227364592579629733483761 2986181677670691762364871760749745668472515270286250347456197648254360066041511726836328774552053349990043108822535619749393590263096174066788593080711944814252073463083008891555877145918079219752253843841128666904831261532291171711606174915258893367491043028068414620082915208608954061928372890629253251017343629579294952736400356887564504989094739554096881264965421484866461460506352850540466575721997383049424914748632028579985198499337624237092136351473197078715832508963675732100774101737907406543756621695844222362847993483482051600643095786224602580599120089419621602604504914955719598796887951952955036857044997751927362363844071664219449816497312243 4831743451053362198866163615623267653557728868690286803382416946307606886314795441058292927831950686679888876626397384919043437964177225710820271605394789968678349618713537440205308843940385131584134227443451700442097326414975227179954042139622585072712738176262133748166293320014268157422506305791807223315113532624407697593557149241461324838961762696346869359584583145012332039618601280470668606549197591692626166919440693492158393905828170036544449005787280289150989712388623993943846093250650687066444766108111098296232839274001817854420906728510328684440000476475117610671719682268582304603341312659086128521733505917619057022805299028812029446230796004 7817925128724053961231035376373013322030244138976537150838614594561966952356307167894621702384004036669931985448933004668437028227273399777608864686106734782930423081796546331761185989858464351336388071284580367346928587947266398891560217054881478440203781204330548368249208528623222219350879196421060474332457162203702650329957506129025829828056502250443750624550004629878793500124954131011135182271194974742051081668072722072143592405165794273636585357260477367866822221352299726044620194988558093610201387803955320659080832757483869455064002514734931265039120565894739213276224597224301903400229264612041165378778503669546419386649370693031479262728108247 12649668579777416160097198991996280975587973007666823954221031540869573838671102608952914630215954723349820862075330389587480466191450625488429136291501524751608772700510083771966494833798849482920522298728032067789025914362241626071514259194504063512916519380592682116415501848637490376773385502212867697647570694828110347923514655370487154667018264946790619984134587774891125539743555411481803788820392566434677248587513415564301986310993964310181034363047757657017811933740923719988466288239208780676646153912066418955313672031485687309484909243245259949479121042369856823947944279492884208003570577271127293900512009587165476409454669721843508708958904251 20467593708501470121328234368369294297618217146643361105059646135431540791027409776847536332599958760019752847524263394255917494418724025266038000977608259534539195782306630103727680823657313834256910370012612435135954502309508024963074476249385541953120300584923230484664710377260712596124264698633928171980027857031812998253472161499512984495074767197234370608684592404769919039868509542492938971091587541176728330255586137636445578716159758583817619720308235024884634155093223446033086483227766874286847541716021739614394504788969556764548911757980191214518241608264596037224168876717186111403799841883168459279290513256711895796104040414874987971687012498 33117262288278886281425433360365575273206190154310185059280677676301114629698512385800450962815913483369573709599593783843397960610174650754467137269109784286147968482816713875694175657456163317177432668740644502924980416671749651034588735443889605466036819965515912601080212225898202972897650200846795869627598551859923346176986816870000139162093032144024990592819180179661044579612064953974742759911980107611405578843099553200747565027153722893998654083355992681902446088834147166021552771466975654963493695628088158569708176820455244074033821001225451163997362650634452861172113156210070319407370419154295753179802522843877372205558710136718496680645916749 53584855996780356402753667728734869570824407300953546164340323811732655420725922162647987295415872243389326557123857178099315455028898676020505138246718043820687164265123343979421856481113477151434343038753256938060934918981257675997663211693275147419157120550439143085744922603158915569021914899480724041607626408891736344430458978369513123657167799341259361201503772584430963619480574496467681731003567648788133909098685690837193143743313481477816273803664227706787080243927370612054639254694742529250341237344109898184102681609424800838582732759205642378515604258899048898396282032927256430811170261037464212459093036100589268001662750551593484652332929247 86702118285059242684179101089100444844030597455263731223621001488033770050424434548448438258231785726758900266723450961942713415639073326774972275515827828106835132747940057855116032138569640468611775707493901440985915335653007327032251947137164752885193940515955055686825134829057118541919565100327519911235224960751659690607445795239513262819260831485284351794322952764092008199092639450442424490915547756399539487941785244037940708770467204371814927887020220388689526332761517778076192026161718184213834932972198056753810858429880044912616553760431093542512966909533501759568395189137326750218540680191759965638895558944466640207221460688311981332978845996 140286974281839599086932768817835314414855004756217277387961325299766425471150356711096425553647657970148226823847308140042028870667972002795477413762545871927522297013063401834537888619683117620046118746247158379046850254634265003029915158830439900304351061066394198772570057432216034110941479999808243952842851369643396035037904773609026386476428630826543712995826725348522971818573213946910106221919115405187673397040470934875133852513780685849631201690684448095476606576688888390130831280856460713464176170316307954937913540039304845751199286519636735921028571168432550657964677222064583181029710941229224178097988595045055908208884211239905465985311775243 226989092566898841771111869906935759258885602211481008611582326787800195521574791259544863811879443696907127090570759101984742286307045329570449689278373700034357429761003459689653920758252758088657894453741059820032765590287272330062167105967604653189545001582349254459395192261273152652861045100135763864078076330395055725645350568848539649295689462311828064790149678112614980017665853397352530712834663161587212884982256178913074561284247890221446129577704668484166132909450406168207023307018178897678011103288506011691724398469184890663815840280067829463541538077966052417533072411201909931248251621420984143736884153989522548416105671928217447318290621239 367276066848738440858044638724771073673740606967698285999543652087566620992725147970641289365527101667055353914418067242026771156975017332365927103040919571961879726774066861524191809377935875708704013199988218199079615844921537333092082264798044553493896062648743453231965249693489186763802525099944007816920927700038451760683255342457566035772118093138371777785976403461137951836239067344262636934753778566774886282022727113788208413798028576071077331268389116579642739486139294558337854587874639611142187273604813966629637938508489736415015126799704565384570109246398603075497749633266493112277962562650208321834872749034578456624989883168122913303602396482 594265159415637282629156508631706832932626209179179294611125978875366816514299939230186153177406545363962481004988826344011513443282062661936376792319293271996237156535070321213845730136188633797361907653729278019112381435208809663154249370765649206683441064231092707691360441954762339416663570200079771680999004030433507486328605911306105685067807555450199842576126081573752931853904920741615167647588441728362099167004983292701282975082276466292523460846093785063808872395589700726544877894892818508820198376893319978321362336977674627078830967079772394848111647324364655493030822044468403043526214184071192465571756903024101005041095555096340360621893017721 961541226264375723487201147356477906606366816146877580610669630962933437507025087200827442542933647031017834919406893586038284600257079994302303895360212843958116883309137182738037539514124509506065920853717496218191997280130346996246331635563693760177337126879836160923325691648251526180466095300023779497919931730471959247011861253763671720839925648588571620362102485034890883690143988085877804582342220295136985449027710406489491388880305042363600792114482901643451611881728995284882732482767458119962385650498133944951000275486164363493846093879476960232681756570763258568528571677734896155804176746721400787406629652058679461666085438264463273925495414203 1555806385680013006116357655988184739538993025326056875221795609838300254021325026431013595720340192394980315924395719930049798043539142656238680687679506115954354039844207503951883269650313143303427828507446774237304378715339156659400581006329342966860778191110928868614686133603013865597129665500103551178918935760905466733340467165069777405907733204038771462938228566608643815544048908827492972229930662023499084616032693699190774363962581508656124252960576686707260484277318696011427610377660276628782584027391453923272362612463838990572677060959249355080793403895127914061559393722203299199330390930792593252978386555082780466707180993360803634547388431924 2517347611944388729603558803344662646145359841472934455832465240801233691528350113631841038263273839425998150843802613516088082643796222650540984583039718959912470923153344686689920809164437652809493749361164270455496375995469503655646912641893036727038115317990765029538011825251265391777595760800127330676838867491377425980352328418833449126747658852627343083300331051643534699234192896913370776812272882318636070065060404105680265752842886551019725045075059588350712096159047691296310342860427734748744969677889587868223362887950003354066523154838726315313475160465891172630087965399938195355134567677513994040385016207141459928373266431625266908472883846127 4073153997624401735719916459332847385684352866798991331054260850639533945549675140062854633983614031820978466768198333446137880687335365306779665270719225075866824962997552190641804078814750796112921577868611044692800754710808660315047493648222379693898893509101693898152697958854279257374725426300230881855757803252282892713692795583903226532655392056666114546238559618252178514778241805740863749042203544342135154681093097804871040116805468059675849298035636275057972580436366387307737953238088011377527553705281041791495725500413842344639200215797975670394268564361019086691647359122141494554464958608306587293363402762224240395080447424986070543020272278051 6590501609568790465323475262677510031829712708271925786886726091440767637078025253694695672246887871246976617612000946962225963331131587957320649853758944035779295886150896877331724887979188448922415327229775315148297130706278163970694406290115416420937008827092458927690709784105544649152321187100358212532596670743660318694045124002736675659403050909293457629538890669895713214012434702654234525854476426660771224746153501910551305869648354610695574343110695863408684676595414078604048296098515746126272523383170629659719088388363845698705723370636701985707743724826910259321735324522079689909599526285820581333748418969365700323453713856611337451493156124178 10663655607193192201043391722010357417514065575070917117940986942080301582627700393757550306230501903067955084380199280408363844018466953264100315124478169111646120849148449067973528966793939245035336905098386359841097885417086824285741899938337796114835902336194152825843407742959823906527046613400589094388354473995943211407737919586639902192058442965959572175777450288147891728790676508395098274896679971002906379427246599715422345986453822670371423641146332138466657257031780465911786249336603757503800077088451671451214813888777688043344923586434677656102012289187929346013382683644221184464064484894127168627111821731589940718534161281597407994513428402229 17254157216761982666366866984687867449343778283342842904827713033521069219705725647452245978477389774314931701992200227370589807349598541221420964978237113147425416735299345945305253854773127693957752232328161674989395016123364988256436306228453212535772911163286611753534117527065368555679367800500947306920951144739603530101783043589376577851461493875253029805316340958043604942803111211049332800751156397663677604173400101625973651856102177281066997984257028001875341933627194544515834545435119503630072600471622301110933902277141533742050646957071379641809756014014839605335118008166300874373664011179947749960860240700955641041987875138208745446006584526407 27917812823955174867410258706698224866857843858413760022768699975601370802333426041209796284707891677382886786372399507778953651368065494485521280102715282259071537584447795013278782821567066938993089137426548034830492901540451812542178206166791008650608813499480764579377525270025192462206414413901536401309305618735546741509520963176016480043519936841212601981093791246191496671593787719444431075647836368666583983600646701341395997842555999951438421625403360140341999190658975010427620794771723261133872677560073972562148716165919221785395570543506057297911768303202768951348500691810522058837728496074074918587972062432545581760522036419806153440520012928636 45171970040717157533777125691386092316201622141756602927596413009122440022039151688662042263185281451697818488364599735149543458717664035706942245080952395406496954319747140958584036676340194632950841369754709709819887917663816800798614512395244221186381724662767376332911642797090561017885782214402483708230256763475150271611304006765393057894981430716465631786410132204235101614396898930493763876398992766330261587774046802967369649698658177232505419609660388142217341124286169554943455340206842764763945278031696273673082618443060755527446217500577436939721524317217608556683618699976822933211392507254022668548832303133501222802509911558014898886526597455043 73089782864672332401187384398084317183059466000170362950365112984723810824372577729871838547893173129080705274736999242928497110085729530192463525183667677665568491904194935971862819497907261571943930507181257744650380819204268613340792718562035229836990538162248140912289168067115753480092196628304020109539562382210697013120824969941409537938501367557678233767503923450426598285990686649938194952046829134996845571374693504308765647541214177183943841235063748282559340314945144565371076134978566025897817955591770246235231334608979977312841788044083494237633292620420377508032119391787344992049121003328097587136804365566046804563031947977821052327046610383679 118261752905389489934964510089470409499261088141926965877961525993846250846411729418533880811078454580778523763101598978078040568803393565899405770264620073072065446223942076930446856174247456204894771876935967454470268736868085414139407230957279451023372262825015517245200810864206314497977978842706503817769819145685847284732128976706802595833482798274143865553914055654661699900387585580431958828445821901327107159148740307276135297239872354416449260844724136424776681439231314120314531475185408790661763233623466519908313953052040732840288005544660931177354816937637986064715738091764167925260513510582120255685636668699548027365541859535835951213573207838722 191351535770061822336151894487554726682320554142097328828326638978570061670784307148405719358971627709859229037838598221006537678889123096091869295448287750737633938128137012902309675672154717776838702384117225199120649556072354027480199949519314680860362800987263658157489978931322067978070175471010523927309381527896544297852953946648212133771984165831822099321417979105088298186378272230370153780492651036323952730523433811584900944781086531600393102079787884707336021754176458685685607610163974816559581189215236766143545287661020710153129793588744425414988109558058363572747857483551512917309634513910217842822441034265594831928573807513657003540619818222401 309613288675451312271116404577025136181581642284024294706288164972416312517196036566939600170050082290637752800940197199084578247692516661991275065712907823809699384352079089832756531846402173981733474261053192653590918292940439441619607180476594131883735063812279175402690789795528382476048154313717027745079200673582391582585082923355014729605466964105965964875332034759749998086765857810802112608938472937651059889672174118861036242020958886016842362924512021132112703193407772806000139085349383607221344422838703286051859240713061442993417799133405356592342926495696349637463595575315680842570148024492338098508077702965142859294115667049492954754193026061123 500964824445513134607268299064579862863902196426121623534614803950986374187980343715345319529021710000496981838778795420091115926581639758083144361161195574547333322480216102735066207518556891758572176645170417852711567849012793469099807129995908812744097864799542833560180768726850450454118329784727551672388582201478935880438036870003226863377451129937788064196750013864838296273144130041172266389431123973975012620195607930445937186802045417617235465004299905839448724947584231491685746695513358423780925612053940052195404528374082153146547592722149782007331036053754713210211453058867193759879782538402555941330518737230737691222689474563149958294812844283524 810578113120964446878384703641604999045483838710145918240902968923402686705176380282284919699071792291134734639718992619175694174274156420074419426874103398357032706832295192567822739364959065740305650906223610506302486141953232910719414310472502944627832928611822008962871558522378832930166484098444579417467782875061327463023119793358241592982918094043754029072082048624588294359909987851974378998369596911626072509867782049306973428823004303634077827928811926971561428140992004297685885780862742031002270034892643338247263769087143596139965391855555138599673962549451062847675048634182874602449930562894894039838596440195880550516805141612642913049005870344647 1311542937566477581485653002706184861909386035136267541775517772874389060893156723997630239228093502291631716478497788039266810100855796178157563788035298972904366029312511295302888946883515957498877827551394028359014053990966026379819221440468411757371930793411364842523052327249229283384284813883172131089856365076540263343461156663361468456360369223981542093268832062489426590633054117893146645387800720885601085130063389979752910615625049721251313292933111832811010153088576235789371632476376100454783195646946583390442668297461225749286512984577704920607004998603205776057886501693050068362329713101297449981169115177426618241739494616175792871343818714628171 2122121050687442028364037706347789860954869873846413460016420741797791747598333104279915158927165294582766451118216780658442504275129952598231983214909402371261398736144806487870711686248475023239183478457617638865316540132919259290538635750940914701999763722023186851485923885771608116314451297981616710507324147951601590806484276456719710049343287318025296122340914111114014884992964105745121024386170317797227157639931172029059884044448054024885391120861923759782571581229568240087057518257238842485785465681839226728689932066548369345426478376433260059206678961152656838905561550327232942964779643664192344021007711617622498792256299757788435784392824584972818 3433663988253919609849690709053974722864255908982681001791938514672180808491489828277545398155258796874398167596714568697709314375985748776389547002944701344165764765457317783173600633131990980738061306009011667224330594123885285670357857191409326459371694515434551694008976213020837399698736111864788841597180513028141854149945433120081178505703656542006838215609746173603441475626018223638267669773971038682828242769994562008812794660073103746136704413795035592593581734318144475876429150733614942940568661328785810119132600364009595094712991361010964979813683959755862614963448052020283011327109356765489794002176826795049117033995794373964228655736643299600989 5555785038941361638213728415401764583819125782829094461808359256469972556089822932557460557082424091457164618714931349356151818651115701374621530217854103715427163501602124271044312319380466003977244784466629306089647134256804544960896492942350241161371458237457738545494900098792445516013187409846405552104504660979743444956429709576800888555046943860032134337950660284717456360618982329383388694160141356480055400409925734037872678704521157771022095534656959352376153315547712715963486668990853785426354127010625036847822532430557964440139469737444225039020362920908519453869009602347515954291889000429682138023184538412671615826252094131752664440129467884573807 8989449027195281248063419124455739306683381691811775463600297771142153364581312760835005955237682888331562786311645918053861133027101450151011077220798805059592928267059442054217912952512456984715306090475640973313977728380689830631254350133759567620743152752892290239503876311813282915711923521711194393701685174007885299106375142696882067060750600402038972553560406458320897836245000553021656363934112395162883643179920296046685473364594261517158799948451994944969735049865857191839915819724468728366922788339410846966955132794567559534852461098455190018834046880664382068832457654367798965618998357195171932025361365207720732860247888505716893095866111184174796 14545234066136642886277147539857503890502507474640869925408657027612125920671135693392466512320106979788727405026577267410012951678217151525632607438652908775020091768661566325262225271892922988692550874942270279403624862637494375592150843076109808782114610990350028784998776410605728431725110931557599945806189834987628744062804852273682955615797544262071106891511066743038354196863982882405045058094253751642939043589846030084558152069115419288180895483108954297345888365413569907803402488715322513793276915350035883814777665225125523974991930835899415057854409801572901522701467256715314919910887357624854070048545903620392348686499982637469557535995579068748603 23534683093331924134340566664313243197185889166452645389008954798754279285252448454227472467557789868120290191338223185463874084705318601676643684659451713834613020035721008379480138224405379973407856965417911252717602591018184206223405193209869376402857763743242319024502652722419011347437034453268794339507875008995514043169179994970565022676548144664110079445071473201359252033108983435426701422028366146805822686769766326131243625433709680805339695431560949242315623415279427099643318308439791242160199703689446730781732798019693083509844391934354605076688456682237283591533924911083113885529885714820026002073907268828113081546747871143186450631861690252923399 38079917159468567020617714204170747087688396641093515314417611826366405205923584147619938979877896847909017596364800452873887036383535753202276292098104622609633111804382574704742363496298302962100407840360181532121227453655678581815556036285979185184972374733592347809501429133024739779162145384826394285314064843983142787231984847244247978292345688926181186336582539944397606229972966317831746480122619898448761730359612356215801777502825100093520590914669903539661511780692997007446720797155113755953476619039482614596510463244818607484836322770254020134542866483810185114235392167798428805440773072444880072122453172448505430233247853780656008167857269321672002 61614600252800491154958280868483990284874285807546160703426566625120684491176032601847411447435686716029307787703023638337761121088854354878919976757556336444246131840103583084222501720703682935508264805778092784838830044673862788038961229495848561587830138476834666834004081855443751126599179838095188624821939852978656830401164842214813000968893833590291265781654013145756858263081949753258447902150986045254584417129378682347045402936534780898860286346230852781977135195972424107090039105594904998113676322728929345378243261264511690994680714704608625211231323166047468705769317078881542690970658787264906074196360441276618511779995724923842458799718959574595401 99694517412269058175575995072654737372562682448639676017844178451487089697099616749467350427313583563938325384067824091211648157472390108081196268855660959053879243644486157788964865217001985897608672646138274316960057498329541369854517265781827746772802513210427014643505510988468490905761325222921582910136004696961799617633149689459060979261239522516472452118236553090154464493054916071090194382273605943703346147488991038562847180439359880992380877260900756321638646976665421114536759902750018754067152941768411959974753724509330298479517037474862645345774189649857653820004709246679971496411431859709786146318813613725123942013243578704498466967576228896267403 161309117665069549330534275941138727657436968256185836721270745076607774188275649351314761874749270279967633171770847729549409278561244462960116245613217295498125375484589740873187366937705668833116937451916367101798887543003404157893478495277676308360632651687261681477509592843912242032360505061016771534957944549940456448034314531673873980230133356106763717899890566235911322756136865824348642284424591988957930564618369720909892583375894661891241163607131609103615782172637845221626799008344923752180829264497341305352996985773841989474197752179471270557005512815905122525774026325561514187382090646974692220515174055001742453793239303628340925767295188470862804 261003635077338607506110271013793465029999650704825512739114923528094863885375266100782112302062853843905958555838671820761057436033634571041312514468878254552004619129075898662152232154707654730725610098054641418758945041332945527747995761059504055133435164897688696121015103832380732938121830283938354445093949246902256065667464221132934959491372878623236170018127119326065787249191781895438836666698197932661276712107360759472739763815254542883622040868032365425254429149303266336163558911094942506247982206265753265327750710283172287953714789654333915902779702465762776345778735572241485683793522506684478366833987668726866395806482882332839392734871417367130207 422312752742408156836644546954932192687436618961011349460385668604702638073650915452096874176812124123873591727609519550310466714594879034001428760082095550050129994613665639535339599092413323563842547549971008520557832584336349685641474256337180363494067816584950377598524696676292974970482335344955125980051893796842712513701778752806808939721506234729999887918017685561977110005328647719787478951122789921619207276725730480382632347191149204774863204475163974528870211321941111557790357919439866258428811470763094570680747696057014277427912541833805186459785215281667898871552761897802999871175613153659170587349161723728608849599722185961180318502166605837993011 683316387819746764342754817968725657717436269665836862199500592132797501959026181552878986478874977967779550283448191371071524150628513605042741274550973804602134613742741538197491831247120978294568157648025649939316777625669295213389470017396684418627502981482639073719539800508673707908604165628893480425145843043744968579369242973939743899212879113353236057936144804888042897254520429615226315617820987854280483988833091239855372111006403747658485245343196339954124640471244377893953916830534808764676793677028847836008498406340186565381627331488139102362564917747430675217331497470044485554969135660343648954183149392455475245406205068294019711237038023205123218 1105629140562154921179399364923657850404872888626848211659886260737500140032677097004975860655687102091653142011057710921381990865223392639044170034633069354652264608356407177732831430339534301858410705197996658459874610210005644899030944273733864782121570798067589451318064497184966682879086500973848606405197736840587681093071021726746552838934385348083235945854162490450020007259849077335013794568943777775899691265558821720238004458197552952433348449818360314482994851793185489451744274749974675023105605147791942406689246102397200842809539873321944288822350133029098574088884259367847485426144748814002819541532311116184084095005927254255200029739204629043116229 1788945528381901685522154182892383508122309158292685073859386852870297641991703278557854847134562080059432692294505902292453515015851906244086911309184043159254399222099148715930323261586655280152978862846022308399191387835674940112420414291130549200749073779550228525037604297693640390787690666602742086830343579884332649672440264700686296738147264461436472003790307295338062904514369506950240110186764765630180175254391912960093376569203956700091833695161556654437119492264429867345698191580509483787782398824820790242697744508737387408191167204810083391184915050776529249306215756837891970981113884474346468495715460508639559340412132322549219740976242652248239447 2894574668944056606701553547816041358527182046919533285519273113607797782024380375562830707790249182151085834305563613213835505881075298883131081343817112513906663830455555893663154691926189582011389568044018966859065998045680585011451358564864413982870644577617817976355668794878607073666777167576590693235541316724920330765511286427432849577081649809519707949644469785788082911774218584285253904755708543406079866519950734680331381027401509652525182144979916968920114344057615356797442466330484158810888003972612732649386990611134588251000707078132027680007265183805627823395100016205739456407258633288349288037247771624823643435418059576804419770715447281291355676 4683520197325958292223707730708424866649491205212218359378659966478095424016083654120685554924811262210518526600069515506289020896927205127217992653001155673161063052554704609593477953512844862164368430890041275258257385881355525123871772855994963183619718357168046501393273092572247464454467834179332780065884896609252980437951551128119146315228914270956179953434777081126145816288588091235494014942473309036260041774342647640424757596605466352617015840141473623357233836322045224143140657910993642598670402797433522892084735119871975659191874282942111071192180234582157072701315773043631427388372517762695756532963232133463202775830191899353639511691689933539595123 7578094866270014898925261278524466225176673252131751644897933080085893206040464029683516262715060444361604360905633128720124526778002504010349073996818268187067726883010260503256632645439034444175757998934060242117323383927036110135323131420859377166490362934785864477748941887450854538121245001755923473301426213334173311203462837555551995892310564080475887903079246866914228728062806675520747919698181852442339908294293382320756138624006976005142197985121390592277348180379660580940583124241477801409558406770046255541471725731006563910192581361074138751199445418387784896096415789249370883795631151051045044570211003758286846211248251476158059282407137214830950799 12261615063595973191148969009232891091826164457343970004276593046563988630056547683804201817639871706572122887505702644226413547674929709137567066649819423860228789935564965112850110598951879306340126429824101517375580769808391635259194904276854340350110081291953910979142214980023102002575712835935256253367311109943426291641414388683671142207539478351432067856514023948040374544351394766756241934640655161478599950068636029961180896220612442357759213825262864215634582016701705805083723782152471444008228809567479778433556460850878539569384455644016249822391625652969941968797731562293002311184003668813740801103174235891750048987078443375511698794098827148370545922 19839709929865988090074230287757357317002837709475721649174526126649881836097011713487718080354932150933727248411335772946538074452932213147916140646637692047296516818575225616106743244390913750515884428758161759492904153735427745394518035697713717516600444226739775456891156867473956540696957837691179726668737323277599602844877226239223138099850042431907955759593270814954603272414201442276989854338837013920939858362929412281937034844619418362901411810384254807911930197081366386024306906393949245417787216337526033975028186581885103479577037005090388573591071071357726864894147351542373194979634819864785845673385239650036895198326694851669758076505964363201496721 32101324993461961281223199296990248408829002166819691653451119173213870466153559397291919897994803857505850135917038417172951622127861922285483207296457115907525306754140190728956853843342793056856010858582263276868484923543819380653712939974568057866710525518693686436033371847497058543272670673626435980036048433221025894486291614922894280307389520783340023616107294762994977816765596209033231788979492175399539808431565442243117931065231860720660625635647119023546512213783072191108030688546420689426016025905005812408584647432763643048961492649106638395982696724327668833691878913835375506163638488678526646776559475541786944185405138227181456870604791511572042643 51941034923327949371297429584747605725831839876295413302625645299863752302250571110779637978349736008439577384328374190119489696580794135433399347943094807954821823572715416345063597087733706807371895287340425036361389077279247126048230975672281775383310969745433461892924528714971015083969628511317615706704785756498625497331168841162117418407239563215247979375700565577949581089179797651310221643318329189320479666794494854525054965909851279083562037446031373831458442410864438577132337594940369934843803242242531846383612834014648746528538529654197026969573767795685395698586026265377748701143273308543312492449944715191823839383731833078851214947110755874773539364 84042359916789910652520628881737854134660842043115104956076764473077622768404130508071557876344539865945427520245412607292441318708656057718882555239551923862347130326855607074020450931076499864227906145922688313229874000823066506701943915646849833250021495264127148328957900562468073627242299184944051686740834189719651391817460456085011698714629083998588002991807860340944558905945393860343453432297821364720019475226060296768172896975083139804222663081678492855004954624647510768240368283486790624269819268147537658792197481447412389577500022303303665365556464520013064532277905179213124207306911797221839139226504190733610783569136971306032671817715547386345582007 135983394840117860023818058466485459860492681919410518258702409772941375070654701618851195854694275874385004904573786797411931015289450193152281903182646731817168953899571023419084048018810206671599801433263113349591263078102313632750174891319131608633332465009560610221882429277439088711211927696261667393445619946218276889148629297247129117121868647213835982367508425918894139995125191511653675075616150554040499142020555151293227862884934418887784700527709866686463397035511949345372705878427160559113622510390069505175810315462061136106038551957500692335130232315698460230863931444590872908450185105765151631676448905925434622952868804384883886764826303261119121371 220025754756907770676338687348223313995153523962525623214779174246018997839058832126922753731038815740330432424819199404704372333998106250871164458422198655679516084226426630493104498949886706535827707579185801662821137078925380139452118806965981441883353960273687758550840329839907162338454226881205719080186454135937928280966089753332140815836497731212423985359316286259838698901070585371997128507913971918760518617246615448061400759860017558692007363609388359541468351660159460113613074161913951183383441778537607163968007796909473525683538574260804357700686696835711524763141836623803997115757096902986990770902953096659045406522005775690916558582541850647464703378 356009149597025630700156745814708773855646205881936141473481584018960372909713533745773949585733091614715437329392986202116303349287556444023446361604845387496685038125997653912188546968696913207427509012448915012412400157027693772202293698285113050516686425283248368772722759117346251049666154577467386473632074082156205170114719050579269932958366378426259967726824712178732838896195776883650803583530122472801017759267170599354628622744951977579792064137098226227931748695671409458985780040341111742497064288927676669143818112371534661789577126218305050035816929151409984994005768068394870024207282008752142402579402002584480029474874580075800445347368153908583824749 576034904353933401376495433162932087850799729844461764688260758264979370748772365872696703316771907355045869754212185606820675683285662694894610820027044043176201122352424284405293045918583619743255216591634716675233537235953073911654412505251094492400040385556936127323563088957253413388120381458673105553818528218094133451080808803911410748794864109638683953086140998438571537797266362255647932091444094391561536376513786047416029382604969536271799427746486585769400100355830869572598854202255062925880506067465283833111825909281008187473115700479109407736503625987121509757147604692198867139964378911739133173482355099243525435996880355766717003929910004556048528127 932044053950959032076652178977640861706445935726397906161742342283939743658485899618470652902504998969761307083605171808936979032573219138918057181631889430672886160478421938317481592887280532950682725604083631687645937392980767683856706203536207542916726810840184496096285848074599664437786536036140492027450602300250338621195527854490680681753230488064943920812965710617304376693462139139298735674974216864362554135780956646770658005349921513851591491883584811997331849051502279031584634242596174668377570356392960502255644021652542849262692826697414457772320555138531494751153372760593737164171660920491275576061757101828005465471754935842517449277278158464632352876 1508078958304892433453147612140572949557245665570859670850003100548919114407258265491167356219276906324807176837817357415757654715858881833812668001658933473849087282830846222722774638805864152693937942195718348362879474628933841595511118708787302035316767196397120623419848937031853077825906917494813597581269130518344472072276336658402091430548094597703627873899106709055875914490728501394946667766418311255924090512294742694186687387954891050123390919630071397766731949407333148604183488444851237594258076423858244335367469930933551036735808527176523865508824181125653004508300977452792604304136039832230408749544112201071530901468635291609234453207188163020680881003 2440123012255851465529799791118213811263691601297257577011745442832858858065744165109638009121781905294568483921422529224694633748432100972730725183290822904521973443309268161040256231693144685644620667799801980050525412021914609279367824912323509578233494007237305119516134785106452742263693453530954089608719732818594810693471864512892772112301325085768571794712072419673180291184190640534245403441392528120286644648075699340957345393304812563974982411513656209764063798458835427635768122687447412262635646780251204837623113952586093885998501353873938323281144736264184499259454350213386341468307700752721684325605869302899536366940390227451751902484466321485313233879 3948201970560743898982947403258786760820937266868117247861748543381777972473002430600805365341058811619375660759239886640452288464290982806543393184949756378371060726140114383763030870499008838338558609995520328413404886650848450874878943621110811613550261203634425742935983722138305820089600371025767687189988863336939282765748201171294863542849419683472199668611179128729056205674919141929192071207810839376210735160370442035144032781259703614098373331143727607530795747866168576239951611132298649856893723204109449172990583883519644922734309881050462188789968917389837503767755327666178945772443740584952093075149981503971067268409025519060986355691654484505994114882 6388324982816595364512747194377000572084628868165374824873493986214636830538746595710443374462840716913944144680662415865146922212723083779274118368240579282893034169449382544803287102192153523983179277795322308463930298672763060154246768533434321191783755210871730862452118507244758562353293824556721776798708596155534093459220065684187635655150744769240771463323251548402236496859109782463437474649203367496497379808446141376101378174564516178073355742657383817294859546325004003875719733819746062119529369984360654010613697836105738808732811234924400512071113653654022003027209677879565287240751441337673777400755850806870603635349415746512738258176120805991307348761 10336526953377339263495694597635787332905566135033492072735242529596414803011749026311248739803899528533319805439902302505599210677014066585817511553190335661264094895589496928566317972691162362321737887790842636877335185323611511029125712154545132805334016414506156605388102229383064382442894195582489463988697459492473376224968266855482499198000164452712971131934430677131292702534028924392629545857014206872708114968816583411245410955824219792171729073801111424825655294191172580115671344952044711976423093188470103183604281719625383731467121115974862700861082571043859506794965005545744233013195181922625870475905832310841670903758441265573724613867775290497301463643 16724851936193934628008441792012787904990195003198866897608736515811051633550495622021692114266740245447263950120564718370746132889737150365091629921430914944157129065038879473369605074883315886304917165586164945341265483996374571183372480687979453997117771625377887467840220736627822944796188020139211240787406055648007469684188332539670134853150909221953742595257682225533529199393138706856067020506217574369205494777262724787346789130388735970245084816458495242120514840516176583991391078771790774095952463172830757194217979555731122540199932350899263212932196224697881509822174683425309520253946623260299647876661683117712274539107857012086462872043896096488608812404 27061378889571273891504136389648575237895761138232358970343979045407466436562244648332940854070639773980583755560467020876345343566751216950909141474621250605421223960628376401935923047574478248626655053377007582218600669319986082212498192842524586802451788039884044073228322966010887327239082215721700704776103515140480845909156599395152634051151073674666713727192112902664821901927167631248696566363231781241913609746079308198592200086212955762416813890259606666946170134707349164107062423723835486072375556361300860377822261275356506271667053466874125913793278795741741016617139688971053753267141805182925518352567515428553945442866298277660187485911671386985910276047 43786230825765208519512578181661363142885956141431225867952715561218518070112740270354632968337380019427847705681031739247091476456488367316000771396052165549578353025667255875305528122457794134931572218963172527559866153316360653395870673530504040799569559665261931541068543702638710272035270235860911945563509570788488315593344931934822768904301982896620456322449795128198351101320306338104763586869449355611119104523342032985938989216601691732661898706718101909066684975223525748098453502495626260168328019534131617572040240831087628811866985817773389126725475020439622526439314372396363273521088428443225166229229198546266219981974155289746650357955567483474519088451 70847609715336482411016714571309938380781717279663584838296694606625984506674984918687573822408019793408431461241498760123436820023239584266909912870673416154999576986295632277241451170032272383558227272340180109778466822636346735608368866373028627602021347705145975614296866668649597599274352451582612650339613085928969161502501531329975402955453056571287170049641908030863173003247473969353460153232681136853032714269421341184531189302814647495078712596977708576012855109930874912205515926219461746240703575895432477949862502106444135083534039284647515040518753816181363543056454061367417026788230233626150684581796713974820165424840453567406837843867238870460429364498 114633840541101690930529292752971301523667673421094810706249410167844502576787725189042206790745399812836279166922530499370528296479727951582910684266725581704577930011962888152546979292490066518489799491303352637338332975952707389004239539903532668401590907370407907155365410371288307871309622687443524595903122656717457477095846463264798171859755039467907626372091703159061524104567780307458223740102130492464151818792763374170470178519416339227740611303695810485079540085154400660303969428715088006409031595429564095521902742937531763895401025102420904167244228836620986069495768433763780300309318662069375850811025912521086385406814608857153488201822806353934948452949 185481450256438173341546007324281239904449390700758395544546104774470487083462710107729780613153419606244710628164029259493965116502967535849820597137398997859577506998258520429788430462522338902048026763643532747116799798589054124612608406276561296003612255075553882769662277039937905470583975139026137246242735742646426638598347994594773574815208096039194796421733611189924697107815254276811683893334811629317184533062184715355001367822230986722819323900673519061092395195085275572509485354934549752649735171324996573471765245043975898978935064387068419207762982652802349612552222495131197327097548895695526535392822626495906550831655062424560326045690045224395377817447 300115290797539864272075300077252541428117064121853206250795514942314989660250435296771987403898819419080989795086559758864493412982695487432731281404124579564155437010221408582335409755012405420537826254946885384455132774541761513616847946180093964405203162445961789925027687411226213341893597826469661842145858399363884115694194457859571746674963135507102422793825314348986221212383034584269907633436942121781336351854948089525471546341647325950559935204369329546171935280239676232813454783649637759058766766754560668993667987981507662874336089489489323375007211489423335682047990928894977627406867557764902386203848539016992936238469671281713814247512851578330326270396 485596741053978037613621307401533781332566454822611601795341619716785476743713145404501768017052239025325700423250589018358458529485663023282551878541523577423732944008479929012123840217534744322585853018590418131571932573130815638229456352456655260408815417521515672694689964451164118812477572965495799088388594142010310754292542452454345321490171231546297219215558925538910918320198288861081591526771753751098520884917132804880472914163878312673379259105042848607264330475324951805322940138584187511708501938079557242465433233025483561853271153876557742582770194142225685294600213424026174954504416453460428921596671165512899487070124733706274140293202896802725704087843 785712031851517901885696607478786322760683518944464808046137134659100466403963580701273755420951058444406690218337148777222951942468358510715283159945648156987888381018701337594459249972547149743123679273537303516027065347672577151846304298636749224814018579967477462619717651862390332154371170791965460930534452541374194869986736910313917068165134367053399642009384239887897139532581323445351499160208695872879857236772080894405944460505525638623939194309412178153436265755564628038136394922233825270767268704834117911459101221006991224727607243366047065957777405631649020976648204352921152581911284011225331307800519704529892423308594404987987954540715748381056030358239 1271308772905495939499317914880320104093249973767076409841478754375885943147676726105775523438003297469732390641587737795581410471954021533997835038487171734411621325027181266606583090190081894065709532292127721647598997920803392790075760651093404485222833997488993135314407616313554450966848743757461260018923046683384505624279279362768262389655305598599696861224943165426808057852779612306433090686980449623978378121689213699286417374669403951297318453414455026760700596230889579843459335060818012782475770642913675153924534454032474786580878397242604808540547599773874706271248417776947327536415700464685760229397190870042791910378719138694262094833918645183781734446082 2057020804757013841385014522359106426853933492711541217887615889034986409551640306807049278858954355914139080859924886572804362414422380044713118198432819891399509706045882604201042340162629043808833211565665025163626063268475969941922064949730153710036852577456470597934125268175944783121219914549426720949457499224758700494266016273082179457820439965653096503234327405314705197385360935751784589847189145496858235358461294593692361835174929589921257647723867204914136861986454207881595729983051838053243039347747793065383635675039466011308485640608651874498325005405523727247896622129868480118326984475911091537197710574572684333687313543682250049374634393564837764804321 3328329577662509780884332437239426530947183466478617627729094643410872352699317032912824802296957653383871471501512624368385772886376401578710953236919991625811131031073063870807625430352710937874542743857792746811225061189279362731997825600823558195259686574945463733248532884489499234088068658306887980968380545908143206118545295635850441847475745564252793364459270570741513255238140548058217680534169595120836613480150508292978779209844333541218576101138322231674837458217343787725055065043869850835718809990661468219308170129071940797889364037851256683038872605179398433519145039906815807654742684940596851766594901444615476244066032682376512144208553038748619499250403 5385350382419523622269346959598532957801116959190158845616710532445858762250957339719874081155912009298010552361437510941190135300798781623424071435352811517210640737118946475008667770515339981683375955423457771974851124457755332673919890550553711905296539152401934331182658152665444017209288572856314701917838045132901906612811311908932621305296185529905889867693597976056218452623501483810002270381358740617694848838611802886671141045019263131139833748862189436588974320203797995606650795026921688888961849338409261284691805804111406809197849678459908557537197610584922160767041662036684287773069669416507943303792612019188160577753346226058762193583187432313457264054724 8713679960082033403153679396837959488748300425668776473345805175856731114950274372632698883452869662681882023862950135309575908187175183202135024672272803143021771768192010345816293200868050919557918699281250518786076185647034695405917716151377270100556225727347398064431191037154943251297357231163202682886218591041045112731356607544783063152771931094158683232152868546797731707861642031868219950915528335738531462318762311179649920254863596672358409850000511668263811778421141783331705860070791539724680659329070729503999975933183347607087213716311165240576070215764320594286186701943500095427812354357104795070387513463803636821819378908435274337791740471062076763305127 14099030342501557025423026356436492446549417384858935318962515708302589877201231712352572964608781671979892576224387646250766043487973964825559096107625614660232412505310956820824960971383390901241294654704708290760927310104790028079837606701930982005852764879749332395613849189820387268506645804019517384804056636173947019344167919453715684458068116624064573099846466522853950160485143515678222221296887076356226311157374114066321061299882859803498243598862701104852786098624939778938356655097713228613642508667479990788691781737294754416285063394771073798113267826349242755053228363980184383200882023773612738374180125482991797399572725134494036531374927903375534027359851 22812710302583590428576705753274451935297717810527711792308320884159320992151506084985271848061651334661774600087337781560341951675149148027694120779898417803254184273502967166641254172251441820799213353985958809547003495751824723485755322853308252106408990607096730460045040226975330519804003035182720067690275227214992132075524526998498747610840047718223256331999335069651681868346785547546442172212415412094757773476136425245970981554746456475856653448863212773116597877046081562270062515168504768338323167996550720292691757670478102023372277111082239038689338042113563349339415065923684478628694378130717533444567638946795434221392104042929310869166668374437610790664978 36911740645085147453999732109710944381847135195386647111270836592461910869352737797337844812670433006641667176311725427811107995163123112853253216887524032463486596778813923987466215143634832722040508008690667100307930805856614751565592929555239234112261755486846062855658889416795717788310648839202237452494331863388939151419692446452214432068908164342287829431845801592505632028831929063224664393509302488450984084633510539312292042854629316279354897047725913877969383975671021341208419170266217996951965676664030711081383539407772856439657340505853312836802605868462806104392643429903868861829576401904330271818747764429787231620964829177423347400541596277813144818024829 59724450947668737882576437862985396317144853005914358903579157476621231861504243882323116660732084341303441776399063209371449946838272260880947337667422450266740781052316891154107469315886274542839721362676625909854934301608439475051348252408547486218670746093942793315703929643771048308114651874384957520184607090603931283495216973450713179679748212060511085763845136662157313897178714610771106565721717900545741858109646964558263024409375772755211550496589126651085981852717102903478481685434722765290288844660581431374075297078250958463029617616935551875491943910576369453732058495827553340458270780035047805263315403376582665842356933220352658269708264652250755608689807 96636191592753885336576169972696340698991988201301006014849994069083142730856981679660961473402517347945108952710788637182557942001395373734200554554946482730227377831130815141573684459521107264880229371367293010162865107465054226616941181963786720330932501580788856171362819060566766096425300713587194972678938953992870434914909419902927611748656376402798915195690938254662945926010643673995770959231020388996725942743157503870555067264005089034566447544315040529055365828388124244686900855700940762242254521324612142455458836486023814902686958122788864712294549779039175558124701925731422202287847181939378077082063167806369897463321762397776005670249860930063900426714636 156360642540422623219152607835681737016136841207215364918429151545704374592361225561984078134134601689248550729109851846554007888839667634615147892222368932996968158883447706295681153775407381807719950734043918920017799409073493701668289434372334206549603247674731649487066748704337814404539952587972152492863546044596801718410126393353640791428404588463310000959536074916820259823189358284766877524952738289542467800852804468428818091673380861789777998040904167180141347681105227148165382541135663527532543365985193573829534133564274773365716575739724416587786493689615545011856760421558975542746117961974425882345378571182952563305678695618128663939958125582314656035404443 252996834133176508555728777808378077715128829408516370933279145614787517323218207241645039607537119037193659681820640483736565830841063008349348446777315415727195536714578521437254838234928489072600180105411211930180664516538547928285230616336120926880535749255520505658429567764904580500965253301559347465542484998589672153325035813256568403177060964866108916155227013171483205749200001958762648484183758678539193743595961972299373158937385950824344445585219207709196713509493351392852283396836604289774797887309805716284992970050298588268403533862513281300081043468654720569981462347290397745033965143913803959427441738989322460769000458015904669610207986512378556462119079 409357476673599131774881385644059814731265670615731735851708297160491891915579432803629117741671720726442210410930492330290573719680730642964496338999684348724163695598026227732935992010335870880320130839455130850198463925612041629953520050708455133430138996930252155145496316469242394905505205889531499958406031043186473871735162206610209194605465553329418917114763088088303465572389360243529526009136496968081661544448766440728191250610766812614122443626123374889338061190598578541017665937972267817307341253294999290114527103614573361634120109602237697887867537158270265581838222768849373287780083105888229841772820310172275024074679153634033333550166112094693212497523522 662354310806775640330610163452437892446394500024248106784987442775279409238797640045274157349208839763635870092751132814027139550521793651313844785776999764451359232312604749170190830245264359952920310944866342780379128442150589558238750667044576060310674746185772660803925884234146975406470459191090847423948516041776146025060198019866777597782526518195527833269990101259786671321589362202292174493320255646620855288044728413027564409548152763438466889211342582598534774700091929933869949334808872107082139140604805006399520073664871949902523643464750979187948580626924986151819685116139771032814048249802033801200262049161597484843679611649938003160374098607071768959642601 1071711787480374772105491549096497707177660170639979842636695739935771301154377072848903275090880560490078080503681625144317713270202524294278341124776684113175522927910630976903126822255600230833240441784321473630577592367762631188192270717753031193740813743116024815949422200703389370311975665080622347382354547084962619896795360226476986792387992071524946750384753189348090136893978722445821700502456752614702516832493494853755755660158919576052589332837465957487872835890690508474887615272781139924389480393899804296514047177279445311536643753066988677075816117785195251733657907884989144320594131355690263642973082359333872508918358765283971336710540210701764981457166123 1734066098287150412436101712548935599624054670664227949421683182711050710393174712894177432440089400253713950596432757958344852820724317945592185910553683877626882160223235726073317652500864590786160752729187816410956720809913220746431021384797607254051488489301797476753348084937536345718446124271713194806303063126738765921855558246343764390170518589720474583654743290607876808215568084648113874995777008261323372120538223266783320069707072339491056222048808540086407610590782438408757564607590012031471619534504609302913567250944317261439167396531739656263764698412120237885477593001128915353408179605492297444173344408495469993762038376933909339870914309308836750416808724 2805777885767525184541593261645433306801714841304207792058378922646822011547551785743080707530969960743792031100114383102662566090926842239870527035330367990802405088133866702976444474756464821619401194513509290041534313177675851934623292102550638447792302232417822292702770285640925716030421789352335542188657610211701385818650918472820751182558510661245421334039496479955966945109546807093935575498233760876025888953031718120539075729865991915543645554886274497574280446481472946883645179880371151955861099928404413599427614428223762572975811149598728333339580816197315489619135500886118059674002310961182561087146426767829342502680397142217880676581454520010601731873974847 4539843984054675596977694974194368906425769511968435741480062105357872721940726498637258139971059360997505981696547141061007418911651160185462712945884051868429287248357102429049762127257329412405561947242697106452491033987589072681054313487348245701843790721719619769456118370578462061748867913624048736994960673338440151740506476719164515572729029250965895917694239770563843753325114891742049450494010769137349261073569941387322395799573064255034701776935083037660688057072255385292402744487961163987332719462909022902341181679168079834414978546130467989603345514609435727504613093887246975027410490566674858531319771176324812496442435519151790016452368829319438482290783571 7345621869822200781519288235839802213227484353272643533538441028004694733488278284380338847502029321741298012796661524163669985002578002425333239981214419859231692336490969132026206602013794234024963141756206396494025347165264924615677605589898884149636092954137442062158888656219387777779289702976384279183618283550141537559157395191985266755287539912211317251733736250519810698434661698835985025992244530013375150026601659507861471529439056170578347331821357535234968503553728332176047924368332315943193819391313436501768796107391842407390789695729196322942926330806751217123748594773365034701412801527857419618466197944154154999122832661369670693033823349330040214164758418 11885465853876876378496983210034171119653253865241079275018503133362567455429004783017596987473088682738803994493208665224677403914229162610795952927098471727660979584848071561075968729271123646430525088998903502946516381152853997296731919077247129851479883675857061831615007026797849839528157616600433016178578956888581689299663871911149782328016569163177213169427976021083654451759776590578034476486255299150724411100171600895183867329012120425613049108756440572895656560625983717468450668856293479930526538854222459404109977786559922241805768241859664312546271845416186944628361688660612009728823292094532278149785969120478967495565268180521460709486192178649478696455541989 19231087723699077160016271445873973332880738218513722808556944161367262188917283067397935834975118004480102007289870189388347388916807165036129192908312891586892671921339040693102175331284917880455488230755109899440541728318118921912409524667146014001115976629994503893773895683017237617307447319576817295362197240438723226858821267103135049083304109075388530421161712271603465150194438289414019502478499829164099561126773260403045338858451176596191396440577798108130625064179712049644498593224625795873720358245535895905878773893951764649196557937588860635489198176222938161752110283433977044430236093622389697768252167064633122494688100841891131402520015527979518910620300407 31116553577575953538513254655908144452533992083754802083575447294729829644346287850415532822448206687218906001783078854613024792831036327646925145835411363314553651506187112254178144060556041526886013319754013402387058109470972919209141443744393143852595860305851565725388902709815087456835604936177250311540776197327304916158485139014284831411320678238565743590589688292687119601954214879992053978964755128314823972226944861298229206187463297021804445549334238681026281624805695767112949262080919275804246897099758355309988751680511686891002326179448524948035470021639125106380471972094589054159059385716921975918038136185112089990253369022412592112006207706628997607075842396 50347641301275030698529526101782117785414730302268524892132391456097091833263570917813468657423324691699008009072949044001372181747843492683054338743724254901446323427526152947280319391840959407341501550509123301827599837789091841121550968411539157853711836935846069619162798392832325074143052255754067606902973437766028143017306406117419880494624787313954274011751400564290584752148653169406073481443254957478923533353718121701274545045914473617995841989912036789156906688985407816757447855305545071677967255345294251215867525574463451540198884117037385583524668197862063268132582255528566098589295479339311673686290303249745212484941469864303723514526223234608516517696142803 81464194878850984237042780757690262237948722386023326975707838750826921477609858768229001479871531378917914010856027898614396974578879820329979484579135618215999974933713265201458463452397000934227514870263136704214657947260064760330692412155932301706307697241697635344551701102647412530978657191931317918443749635093333059175791545131704711905945465552520017602341088856977704354102868049398127460408010085793747505580662982999503751233377770639800287539246275470183188313791103583870397117386464347482214152445052606525856277254975138431201210296485910531560138219501188374513054227623155152748354865056233649604328439434857302475194838886716315626532430941237514124771985199 131811836180126014935572306859472380023363452688291851867840230206924013310873429686042470137294856070616922019928976942615769156326723313013033823322859873117446298361239418148738782844237960341569016420772260006042257785049156601452243380567471459560019534177543704963714499495479737605121709447685385525346723072859361202193097951249124592400570252866474291614092489421268289106251521218804200941851265043272671038934381104700778296279292244257796129529158312259340095002776511400627844972692009419160181407790346857741723802829438589971400094413523296115084806417363251642645636483151721251337650344395545323290618742684602514960136308751020039141058654175846030642468128002 213276031058976999172615087617162642261312175074315178843548068957750934788483288454271471617166387449534836030785004841230166130905603133343013307901995491333446273294952683350197246296634961275796531291035396710256915732309221361782935792723403761266327231419241340308266200598127150136100366639616703443790472707952694261368889496380829304306515718418994309216433578278245993460354389268202328402259275129066418544515044087700282047512670014897596417068404587729523283316567614984498242090078473766642395560235399464267580080084413728402601304710009206646644944636864440017158690710774876404086005209451778972894947182119459817435331147637736354767591085117083544767240113201 345087867239103014108187394476635022284675627762607030711388299164674948099356718140313941754461243520151758050713981783845935287232326446356047131224855364450892571656192101498936029140872921617365547711807656716299173517358377963235179173290875220826346765596785045271980700093606887741222076087302088969137195780812055463561987447629953896707085971285468600830526067699514282566605910487006529344110540172339089583449425192401060343791962259155392546597562899988863378319344126385126087062770483185802576968025746322009303882913852318374001399123532502761729751054227691659804327193926597655423655553847324296185565924804062332395467456388756393908649739292929575409708241203 558363898298080013280802482093797664545987802836922209554936368122425882887840006594585413371627630969686594081498986625076101418137929579699060439126850855784338844951144784849133275437507882893162079002843053426556089249667599325018114966014278982092673997016026385580246900691734037877322442726918792412927668488764749724930876944010783201013601689704462910046959645977760276026960299755208857746369815301405508127964469280101342391304632274052988963665967487718386661635911741369624329152848956952444972528261145786276883962998266046776602703833541709408374695691092131676963017904701474059509660763299103269080513106923522149830798604026492748676240824410013120176948354404 903451765537183027388989876570432686830663430599529240266324667287100830987196724734899355126088874489838352132212968408922036705370256026055107570351706220235231416607336886348069304578380804510527626714650710142855262767025977288253294139305154202919020762612811430852227600785340925618544518814220881382064864269576805188492864391640737097720687660989931510877485713677274558593566210242215387090480355473744597711413894472502402735096594533208381510263530387707250039955255867754750416215619440138247549496286892108286187845912118365150604102957074212170104446745319823336767345098628071714933316317146427565266079031727584482226266060415249142584890563702942695586656595607 1461815663835263040669792358664230351376651233436451449821261035409526713875036731329484768497716505459524946213711955033998138123508185605754168009478557076019570261558481671197202580015888687403689705717493763569411352016693576613271409105319433185011694759628837816432474501477074963495866961541139673794992532758341554913423741335651520298734289350694394420924445359655034834620526509997424244836850170775150105839378363752603745126401226807261370473929497875425636701591167609124374745368468397090692522024548037894563071808910384411927206806790615921578479142436411955013730363003329545774442977080445530834346592138651106632057064664441741891261131388112955815763604950011 2365267429372446068058782235234663038207314664035980690087585702696627544862233456064384123623805379949363298345924923442920174828878441631809275579830263296254801678165818557545271884594269491914217332432144473712266614783719553901524703244624587387930715522241649247284702102262415889114411480355360555177057397027918360101916605727292257396454977011684325931801931073332309393214092720239639631927330526248894703550792258225106147861497821340469751984193028263132886741546423476879125161584087837228940071520834930002849259654822502777077810909747690133748583589181731778350497708101957617489376293397591958399612671170378691114283330724856991033846021951815898511350261545618 3827083093207709108728574593898893389583965897472432139908846738106154258737270187393868892121521885408888244559636878476918312952386627237563443589308820372274371939724300228742474464610158179317907038149638237281677966800413130514796112349944020572942410281870487063717176603739490852610278441896500228972049929786259915015340347062943777695189266362378720352726376432987344227834619230237063876764180697024044809390170621977709892987899048147731122458122526138558523443137591086003499906952556234319632593545382967897412331463732887189005017716538306055327062731618143733364228071105287163263819270478037489233959263309029797746340395389298732925107153339928854327113866495629 6192350522580155176787356829133556427791280561508412829996432440802781803599503643458253015745327265358251542905561801919838487781265068869372719169139083668529173617890118786287746349204427671232124370581782710993944581584132684416320815594568607960873125804112136311001878706001906741724689922251860784149107326814178275117256952790236035091644243374063046284528307506319653621048711950476703508691511223272939512940962880202816040849396869488200874442315554401691410184684014562882625068536644071548572665066217897900261591118555389966082828626285996189075646320799875511714725779207244780753195563875629447633571934479408488860623726114155723958953175291744752838464128041247 10019433615787864285515931423032449817375246458980844969905279178908936062336773830852121907866849150767139787465198680396756800733651696106936162758447904040803545557614419015030220813814585850550031408731420948275622548384545814931116927944512628533815536085982623374719055309741397594334968364148361013121157256600438190132597299853179812786833509736441766637254683939306997848883331180713767385455691920296984322331133502180525933837295917635931996900438080540249933627821605648886124975489200305868205258611600865797673922582288277155087846342824302244402709052418019245078953850312531944017014834353666936867531197788438286606964121503454456884060328631673607165577994536876 16211784138368019462303288252166006245166527020489257799901711619711717865936277474310374923612176416125391330370760482316595288514916764976308881927586987709332719175504537801317967163019013521782155779313203659269567129968678499347437743539081236494688661890094759685720934015743304336059658286400221797270264583414616465249854252643415847878477753110504812921782991445626651469932043131190470894147203143569923835272096382383341974686692787124132871342753634941941343812505620211768750044025844377416777923677818763697935513700843667121170674969110298433478355373217894756793679629519776724770210398229296384501103132267846775467587847617610180843013503923418360004042122578123 26231217754155883747819219675198456062541773479470102769806990798620653928273051305162496831479025566892531117835959162713352089248568461083245044686034891750136264733118956816348187976833599372332187188044624607545189678353224314278554671483593865028504197976077383060439989325484701930394626650548582810391421840015054655382451552496595660665311262846946579559037675384933649318815374311904238279602895063866908157603229884563867908523988704760064868243191715482191277440327225860654875019515044683284983182289419629495609436283131944276258521311934600677881064425635914001872633479832308668787225232582963321368634330056285062074551969121064637727073832555091967169620117114999 42443001892523903210122507927364462307708300499959360569708702418332371794209328779472871755091201983017922448206719645029947377763485226059553926613621879459468983908623494617666155139852612894114342967357828266814756808321902813625992415022675101523192859866172142746160923341228006266454284936948804607661686423429671120632305805140011508543789015957451392480820666830560300788747417443094709173750098207436831992875326266947209883210681491884197739585945350424132621252832846072423625063540889060701761105967238393193544949983975611397429196281044899111359419798853808758666313109352085393557435630812259705869737462324131837542139816738674818570087336478510327173662239693122 68674219646679786957941727602562918370250073979429463339515693216953025722482380084635368586570227549910453566042678807743299467012053687142798971299656771209605248641742451434014343116686212266446530155402452874359946486675127127904547086506268966551697057842249525806600912666712708196848911587497387418053108263444725776014757357636607169209100278804397972039858342215493950107562791754998947453352993271303740150478556151511077791734670196644262607829137065906323898693160071933078500083055933743986744288256658022689154386267107555673687717592979499789240484224489722760538946589184394062344660863395223027238371792380416899616691785859739456297161169033602294343282356808121 111117221539203690168064235529927380677958374479388823909224395635285397516691708864108240341661429532928376014249398452773246844775538913202352897913278650669074232550365946051680498256538825160560873122760281141174703294997029941530539501528944068074889917708421668552761836007940714463303196524446192025714794686874396896647063162776618677752889294761849364520679009046054250896310209198093656627103091478740572143353882418458287674945351688528460347415082416330456519945992918005502125146596822804688505394223896415882699336251083167071116913874024398900599904023343531519205259698536479455902096494207482733108109254704548737158831602598414274867248505512112621516944596501243 179791441185883477126005963132490299048208448458818287248740088852238423239174088948743608928231657082838829580292077260516546311787592600345151869212935421878679481192108397485694841373225037427007403278162734015534649781672157069435086588035213034626586975550671194359362748674653422660152108111943579443767902950319122672661820520413225846961989573566247336560537351261548201003873000953092604080456084750044312293832438569969365466680021885172722955244219482236780418639152989938580625229652756548675249682480554438571853722518190722744804631467003898689840388247833254279744206287720873518246757357602705760346481047084965636775523388458153731164409674545714915860226953309364 290908662725087167294070198662417679726166822938207111157964484487523820755865797812851849269893086615767205594541475713289793156563131513547504767126214072547753713742474343537375339629763862587568276400923015156709353076669187010965626089564157102701476893259092862912124584682594137123455304636389771469482697637193519569308883683189844524714878868328096701081216360307602451900183210151186260707559176228784884437186320988427653141625373573701183302659301898567236938585145907944082750376249579353363755076704450854454553058769273889815921545341028297590440292271176785798949465986257352974148853851810188493454590301789514373934354991056568006031658180057827537377171549810607 470700103910970644420076161794907978774375271397025398406704573339762243995039886761595458198124743698606035174833552973806339468350724113892656636339149494426433194934582741023070181002988900014575679679085749172244002858341344080400712677599370137328063868809764057271487333357247559783607412748333350913250600587512642241970704203603070371676868441894344037641753711569150652904056211104278864788015260978829196731018759558397018608305395458873906257903521380804017357224298897882663375605902335902039004759185005293026406781287464612560726176808032196280280680519010040078693672273978226492395611209412894253801071348874480010709878379514721737196067854603542453237398503119971 761608766636057811714146360457325658500542094335232509564669057827286064750905684574447307468017830314373240769375028687096132624913855627440161403465363566974186908677057084560445520632752762602143956080008764328953355935010531091366338767163527240029540762068856920183611918039841696907062717384723122382733298224706161811279587886792914896391747310222440738722970071876753104804239421255465125495574437207614081168205080546824671749930769032575089560562823279371254295809444805826746125982151915255402759835889456147480959840056738502376647722149060493870720972790186825877643138260235579466544465061223082747255661650663994384644233370571289743227726034661369990614570052930578 1232308870547028456134222522252233637274917365732257907971373631167048308745945571336042765666142574012979275944208581660902472093264579741332818039804513061400620103611639825583515701635741662616719635759094513501197358793351875171767051444762897377357604630878620977455099251397089256690670130133056473295983898812218804053250292090395985268068615752116784776364723783445903757708295632359743990283589698186443277899223840105221690358236164491448995818466344660175271653033743703709409501588054251157441764595074461440507366621344203114937373898957092690151001653309196865956336810534213805958940076270635977001056732999538474395354111750086011480423793889264912443851968556050549 1993917637183086267848368882709559295775459460067490417536042688994334373496851255910490073134160404327352516713583610347998604718178435368772979443269876628374807012288696910143961222268494425218863591839103277830150714728362406263133390211926424617387145392947477897638711169436930953597732847517779595678717197036924965864529879977188900164460363062339225515087693855322656862512535053615209115779164135394057359067428920652046362108166933524024085379029167939546525948843188509536155627570206166412844524430963917587988326461400941617314021621106153184021722626099383691833979948794449385425484541331859059748312394650202468779998345120657301223651519923926282434466538608981127 3226226507730114723982591404961792933050376825799748325507416320161382682242796827246532838800302978340331792657792192008901076811443015110105797483074389689775427115900336735727476923904236087835583227598197791331348073521714281434900441656689321994744750023826098875093810420834020210288402977650836068974701095849143769917780172067584885432528978814456010291452417638768560620220830685974953106062753833580500636966652760757268052466403098015473081197495512599721797601876932213245565129158260417570286289026038379028495693082745144732251395520063245874172724279408580557790316759328663191384424617602495036749369127649740943175352456870743312704075313813191194878318507165031676 5220144144913200991830960287671352228825836285867238743043459009155717055739648083157022911934463382667684309371375802356899681529621450478878776926344266318150234128189033645871438146172730513054446819437301069161498788250076687698033831868615746612131895416773576772732521590270951163886135825168615664653418292886068735782310052044773785596989341876795235806540111494091217482733365739590162221841917968974557996034081681409314414574570031539497166576524680539268323550720120722781720756728466583983130813457002296616484019544146086349565417141169399058194446905507964249624296708123112576809909158934354096497681522299943411955350801991400613927726833737117477312785045774012803 8446370652643315715813551692633145161876213111666987068550875329317099737982444910403555750734766361008016102029167994365800758341064465588984574409418656007925661244089370381598915070076966600890030047035498860492846861771790969132934273525305068606876645440599675647826332011104971374174538802819451733628119388735212505700090224112358671029518320691251246097992529132859778102954196425565115327904671802555058633000734442166582467040973129554970247774020193138990121152597052936027285885886727001553417102483040675644979712626891231081816812661232644932367171184916544807414613467451775768194333776536849133247050649949684355130703258862143926631802147550308672191103552939044479 13666514797556516707644511980304497390702049397534225811594334338472816793722092993560578662669229743675700411400543796722700439870685916067863351335762922326075895372278404027470353216249697113944476866472799929654345650021867656830968105393920815219008540857373252420558853601375922538060674627988067398281537681621281241482400276157132456626507662568046481904532640626950995585687562165155277549746589771529616629034816123575896881615543161094467414350544873678258444703317173658809006642615193585536547915940042972261463732171037317431382229802402043990561618090424509057038910175574888345004242935471203229744732172249627767086054060853544540559528981287426149503888598713057282 22112885450199832423458063672937642552578262509201212880145209667789916531704537903964134413403996104683716513429711791088501198211750381656847925745181578334001556616367774409069268286326663714834506913508298790147192511793658625963902378919225883825885186297972928068385185612480893912235213430807519131909657070356493747182490500269491127656025983259297728002525169759810773688641758590720392877651261574084675262035550565742479348656516290649437662124565066817248565855914226594836292528501920587089965018423083647906443444797928548513199042463634688922928789275341053864453523643026664113198576712008052362991782822199312122216757319715688467191331128837734821694992151652101761 35779400247756349131102575653242139943280311906735438691739544006262733325426630897524713076073225848359416924830255587811201638082436297724711277080944500660077451988646178436539621502576360828778983779981098719801538161815526282794870484313146699044893727155346180488944039213856816450295888058795586530191194751977774988664890776426623584282533645827344209907057810386761769274329320755875670427397851345614291891070366689318376230272059451743905076475109940495507010559231400253645299171117114172626512934363126620167907176968965865944581272266036732913490407365765562921492433818601552458202819647479255592736514994448939889302811380569233007750860110125160971198880750365159043 57892285697956181554560639326179782495858574415936651571884753674052649857131168801488847489477221953043133438259967378899702836294186679381559202826126078994079008605013952845608889788903024543613490693489397509948730673609184908758772863232372582870778913453319108557329224826337710362531101489603105662100851822334268735847381276696114711938559629086641937909582980146572542962971079346596063305049112919698967153105917255060855578928575742393342738599675007312755576415145626848481591699619034759716477952786210268074350621766894414457780314729671421836419196641106616785945957461628216571401396359487307955728297816648252011519568700284921474942191238962895792893872902017260804 93671685945712530685663214979421922439138886322672090263624297680315383182557799699013560565550447801402550363090222966710904474376622977106270479907070579654156460593660131282148511291479385372392474473470496229750268835424711191553643347545519281915672640608665289046273264040194526812826989548398692192292046574312043724512272053122738296221093274913986147816640790533334312237300400102471733732446964265313259044176283944379231809200635194137247815074784947808262586974377027102126890870736148932342990887149336888242257798735860280402361586995708154749909604006872179707438391280229769029604216006966563548464812811097191900822380080854154482693051349088056764092753652382419847 151563971643668712240223854305601704934997460738608741835509051354368033039688968500502408055027669754445683801350190345610607310670809656487829682733196658648235469198674084127757401080382409916005965166959893739698999509033896100312416210777891864786451554061984397603602488866532237175358091038001797854392898396646312460359653329818853008159652904000628085726223770679906855200271479449067797037496077185012226197282201199440087388129210936530590553674459955121018163389522653950608482570355183692059468839935547156316608420502754694860141901725379576586328800647978796493384348741857985601005612366453871504193110627745443912341948781139075957635242588050952556986626554399680651 245235657589381242925887069285023627374136347061280832099133349034683416222246768199515968620578117555848234164440413312321511785047432633594100162640267238302391929792334215409905912371861795288398439640430389969449268344458607291866059558323411146702124194670649686649875752906726763988185080586400490046684944970958356184871925382941591304380746178914614233542864561213241167437571879551539530769943041450325485241458485143819319197329846130667838368749244902929280750363899681052735373441091332624402459727084884044558866219238614975262503488721087731336238404654850976200822740022087754630609828373420435052657923438842635813164328861993230440328293937139009321079380206782100498 396799629233049955166110923590625332309133807799889573934642400389051449261935736700018376675605787310293917965790603657932119095718242290081929845373463896950627398991008299537663313452244205204404404807390283709148267853492503392178475769101303011488575748732634084253478241773259001163543171624402287901077843367604668645231578712760444312540399082915242319269088331893148022637843359000607327807439118635337711438740686343259406585459057067198428922423704858050298913753422335003343856011446516316461928567020431200875474639741369670122645390446467307922567205302829772694207088763945740231615440739874306556851034066588079725506277643132306397963536525189961878066006761181781149 642035286822431198091997992875648959683270154861170406033775749423734865484182504899534345296183904866142152130231016970253630880765674923676030008013731135253019328783342514947569225824106000492802844447820673678597536197951110684044535327424714158190699943403283770903353994679985765151728252210802777947762788338563024830103504095702035616921145261829856552811952893106389190075415238552146858577382160085663196680199171487078725782788903197866267291172949760979579664117322016056079229452537848940864388294105315245434340858979984645385148879167555039258805609957680748895029828786033494862225269113294741609508957505430715538670606505125536838291830462328971199145386967963881647 1038834916055481153258108916466274291992403962661059979968418149812786314746118241599552721971789692176436070096021620628185749976483917213757959853387195032203646727774350814485232539276350205697207249255210957387745804051443614076223011096526017169679275692135917855156832236453244766315271423835205065848840631706167693475335082808462479929461544344745098872081041224999537212713258597552754186384821278721000908118939857830338132368247960265064696213596654619029878577870744351059423085463984365257326316861125746446309815498721354315507794269614022347181372815260510521589236917549979235093840709853169048166359991572018795264176884148257843236255366987518933077211393729145662796 1680870202877912351350106909341923251675674117522230386002193899236521180230300746499087067267973597042578222226252637598439380857249592137433989861400926167456666056557693329432801765100456206190010093703031631066343340249394724760267546423950731327869975635539201626060186231133230531466999676046007843796603420044730718305438586904164515546382689606574955424892994118105926402788673836104901044962203438806664104799139029317416858151036863462930963504769604380009458241988066367115502314916522214198190705155231061691744156357701338960892943148781577386440178425218191270484266746336012729956065978966463789775868949077449510802847490653383380074547197449847904276356780697109544443 2719705118933393504608215825808197543668078080183290365970612049049307494976418988098639789239763289219014292322274258226625130833733509351191949714788121199660312784332044143918034304376806411887217342958242588454089144300838338836490557520476748497549251327675119481217018467586475297782271099881212909645444051750898411780773669712626995475844233951320054296974035343105463615501932433657655231347024717527665012918078887147754990519284823727995659718366258999039336819858810718174925400380506579455517022016356808138053971856422693276400737418395599733621551240478701792073503663885991965049906688819632837942228940649468306067024374801641223310802564437366837353568174426255207239 4400575321811305855958322735150120795343752197705520751972805948285828675206719734597726856507736886261592514548526895825064511690983101488625939576189047367116978840889737473350836069477262618077227436661274219520432484550233063596758103944427479825419226963214321107277204698719705829249270775927220753442047471795629130086212256616791511022226923557895009721867029461211390018290606269762556276309228156334329117717217916465171848670321687190926623223135863379048795061846877085290427715297028793653707727171587869829798128214124032237293680567177177120061729665696893062557770410222004695005972667786096627718097889726917816869871865455024603385349761887214741629924955123364751682 7120280440744699360566538560958318339011830277888811117943417997335136170183138722696366645747500175480606806870801154051689642524716610839817889290977168566777291625221781617268870373854069029964444779619516807974521628851071402433248661464904228322968478290889440588494223166306181127031541875808433663087491523546527541866985926329418506498071157509215064018841064804316853633792538703420211507656252873861994130635296803612926839189606510918922282941502122378088131881705687803465353115677535373109224749187944677967852100070546725513694417985572776853683280906175594854631274074107996660055879356605729465660326830376386122936896240256665826696152326324581578983493129549619958921 11520855762556005216524861296108439134355582475594331869916223945620964845389858457294093502255237061742199321419328049876754154215699712328443828867166215933894270466111519090619706443331331648041672216280791027494954113401304466030006765409331708148387705254103761695771427865025886956280812651735654416529538995342156671953198182946210017520298081067110073740708094265528243652083144973182767783965481030196323248352514720078098687859928198109848906164637985757136926943552564888755780830974564166762932476359532547797650228284670757750988098552749953973745010571872487917189044484330001355061852024391826093378424720103303939806768105711690430081502088211796320613418084672984710603 18641136203300704577091399857066757473367412753483142987859641942956101015572997179990460148002737237222806128290129203928443796740416323168261718158143384500671562091333300707888576817185400678006116995900307835469475742252375868463255426874235936471356183544993202284265651031332068083312354527544088079617030518888684213820184109275628524018369238576325137759549159069845097285875683676602979291621733904058317378987811523691025527049534709028771189106140108135225058825258252692221133946652099539872157225547477225765502328355217483264682516538322730827428291478048082771820318558437998015117731380997555559038751550479690062743664345968356256777654414536377899596911214222604669524 30161991965856709793616261153175196607722995229077474857775865888577065860962855637284553650257974298965005449709457253805197950956116035496705547025309600434565832557444819798508283260516732326047789212181098862964429855653680334493262192283567644619743888799096963980037078896357955039593167179279742496146569514230840885773382292221838541538667319643435211500257253335373340937958828649785747075587214934254640627340326243769124214909462907138620095270778093892361985768810817580976914777626663706635089701907009773563152556639888241015670615091072684801173302049920570689009363042767999370179583405389381652417176270582994002550432451680046686859156502748174220210329298895589380127 48803128169157414370707661010241954081090407982560617845635507831533166876535852817275013798260711536187811577999586457733641747696532358664967265183452984935237394648778120506396860077702133004053906208081406698433905597906056202956517619157803581091100072344090166264302729927690023122905521706823830575763600033119525099593566401497467065557036558219760349259806412405218438223834512326388726367208948838312958006328137767460149741958997616167391284376918202027587044594069070273198048724278763246507246927454486999328654884995105724280353131629395415628601593527968653460829681601205997385297314786386937211455927821062684065294096797648402943636810917284552119807240513118194049651 78965120135014124164323922163417150688813403211638092703411373720110232737498708454559567448518685835152817027709043711538839698652648394161672812208762585369803227206222940304905143338218865330101695420262505561398335453559736537449779811441371225710843961143187130244339808824047978162498688886103573071910169547350365985366948693719305607095703877863195560760063665740591779161793340976174473442796163772567598633668464011229273956868460523306011379647696295919949030362879887854174963501905426953142336629361496772891807441634993965296023746720468100429774895577889224149839044643973996755476898191776318863873104091645678067844529249328449630495967420032726340017569812013783429778 127768248304171538535031583173659104769903811194198710549046881551643399614034561271834581246779397371340628605708630169272481446349180752826640077392215570305040621855001060811302003415920998334155601628343912259832241051465792740406297430599174806801944033487277296508642538751738001285404210592927403647673769580469891084960515095216772672652740436082955910019870078145810217385627853302563199810005112610880556639996601778689423698827458139473402664024614497947536074956948958127373012226184190199649583556815983772220462326630099689576376878349863516058376489105857877610668726245179994140774212978163256075329031912708362133138626046976852574132778337317278459824810325131977479429 206733368439185662699355505337076255458717214405836803252458255271753632351533269726394148695298083206493445633417673880811321145001829146988312889600978155674843849061224001116207146754139863664257297048606417821230576505025529277856077242040546032512787994630464426752982347575785979447902899479030976719583939127820257070327463788936078279748444313946151470779933743886401996547421194278737673252801276383448155273665065789918697655695918662779414043672310793867485105319828845981547975728089617152791920186177480545112269768265093654872400625070331616488151384683747101760507770889153990896251111169939574939202136004354040200983155296305302204628745757350004799842380137145760909207 334501616743357201234387088510735360228621025600035513801505136823397031965567830998228729942077480577834074239126304050083802591351009899814952966993193725979884470916225061927509150170060861998412898676950330081062817556491322018262374672639720839314732028117741723261624886327523980733307110071958380367257708708290148155287978884152850952401184750029107380799803822032212213933049047581300873062806388994328711913661667568608121354523376802252816707696925291815021180276777804108920987954273807352441503742993464317332732094895193344448777503420195132546527873789604979371176497134333985037025324148102831014531167917062402334121781343282154778761524094667283259667190462277738388636 541234985182542863933742593847811615687338240005872317053963392095150664317101100724622878637375563784327519872543977930895123736352839046803265856594171881654728319977449063043716296924200725662670195725556747902293394061516851296118451914680266871827520022748206150014607233903309960181210009550989357086841647836110405225615442673088929232149629063975258851579737565918614210480470241860038546315607665377776867187326733358526819010219295465032230751369236085682506285596606650090468963682363424505233423929170944862445001863160286999321178128490526749034679258473352081131684268023487975933276435318042405953733303921416442535104936639587456983390269852017288059509570599423499297843 875736601925900065168129682358546975915959265605907830855468528918547696282668931722851608579453044362161594111670281980978926327703848946618218823587365607634612790893674124971225447094261587661083094402507077983356211618008173314380826587319987711142252050865947873276232120230833940914517119622947737454099356544400553380903421557241780184550813814004366232379541387950826424413519289441339419378414054372105579100988400927134940364742672267285047459066161377497527465873384454199389951636637231857674927672164409179777733958055480343769955631910721881581207132262957060502860765157821960970301759466145236968264471838478844869226717982869611762151793946684571319176761061701237686479 1416971587108442929101872276206358591603297505611780147909431921013698360599770032447474487216828608146489113984214259911874050064056687993421484680181537489289341110871123188014941744018462313323753290128063825885649605679525024610499278502000254582969772073614154023290839354134143901095727129173937094540941004380510958606518864230330709416700442877979625083959278953869440634893989531301377965694021719749882446288315134285661759374961967732317278210435397463180033751469991104289858915319000656362908351601335354042222735821215767343091133760401248630615886390736309141634545033181309936903578194784187642921997775759895287404331654622457068745542063798701859378686331661124736984322 2292708189034342994270001958564905567519256771217687978764900449932246056882438964170326095796281652508650708095884541892852976391760536940039703503768903096923953901764797312986167191112723900984836384530570903869005817297533197924880105089320242294112024124480101896567071474364977842010244248796884831995040360924911511987422285787572489601251256691983991316338820341820267059307508820742717385072435774121988025389303535212796699739704639999602325669501558840677561217343375558489248866955637888220583279273499763222000469779271247686861089392311970512197093522999266202137405798339131897873879954250332879890262247598374132273558372605326680507693857745386430697863092722825974670801 3709679776142785923371874234771264159122554276829468126674332370945944417482208996617800583013110260655139822080098801804727026455817224933461188183950440586213295012635920501001108935131186214308589674658634729754655422977058222535379383591320496877081796198094255919857910828499121743105971377970821926535981365305422470593941150017903199017951699569963616400298099295689707694201498352044095350766457493871870471677618669498458459114666607731919603879936956303857594968813366662779107782274638544583491630874835117264223205600487015029952223152713219142812979913735575343771950831520441834777458149034520522812260023358269419677890027227783749253235921544088290076549424383950711655123 6002387965177128917641876193336169726641811048047156105439232820878190474364647960788126678809391913163790530175983343697580002847577761873500891687719343683137248914400717813987276126243910115293426059189205633623661240274591420460259488680640739171193820322574357816424982302864099585116215626767706758531021726230333982581363435805475688619202956261947607716636919637509974753509007172786812735838893267993858497066922204711255158854371247731521929549438515144535156186156742221268356649230276432804074910148334880486223675379758262716813312545025189655010073436734841545909356629859573732651338103284853402702522270956643551951448399833110429760929779289474720774412517106776686325924 9712067741319914841013750428107433885764365324876624232113565191824134891846856957405927261822502173818930352256082145502307029303394986806962079871669784269350543927036638314988385061375096329602015733847840363378316663251649642995638872271961236048275616520668613736282893131363221328222187004738528685067003091535756453175304585823378887637154655831911224116935018933199682447710505524830908086605350761865728968744540874209713617969037855463441533429375471448392751154970108884047464431504914977387566541023169997750446880980245277746765535697738408797823053350470416889681307461380015567428796252319373925514782294314912971629338427060894179014165700833563010850961941490727397981047 15714455706497043758655626621443603612406176372923780337552798012702325366211504918194053940631894086982720882432065489199887032150972748680462971559389127952487792841437356128975661187619006444895441793037045997001977903526241063455898360952601975219469436843242971552707875434227320913338402631506235443598024817766090435756668021628854576256357612093858831833571938570709657201219512697617720822444244029859587465811463078920968776823409103194963462978813986592927907341126851105315821080735191410191641451171504878236670556360003540463578848242763598452833126787205258435590664091239589300080134355604227328217304565271556523580786826894004608775095480123037731625374458597504084306971 25426523447816958599669377049551037498170541697800404569666363204526460258058361875599981202454396260801651234688147634702194061454367735487425051431058912221838336768473994443964046248994102774497457526884886360380294566777890706451537233224563211267745053363911585288990768565590542241560589636244764128665027909301846888931972607452233463893512267925770055950506957503909339648930018222448628909049594791725316434556003953130682394792446958658404996408189458041320658496096959989363285512240106387579207992194674875987117437340248818210344383940502007250656180137675675325271971552619604867508930607923601253732086859586469495210125253954898787789261180956600742476336400088231482288018 41140979154314002358325003670994641110576718070724184907219161217228785624269866793794035143086290347784372117120213123902081093605340484167888022990448040174326129609911350572939707436613109219392899319921932357382272470304131769907435594177165186487214490207154556841698643999817863154898992267750999572263052727067937324688640629081088040149869880019628887784078896074618996850149530920066349731493838821584903900367467032051651171615856061853368459387003444634248565837223811094679106592975297797770849443366179754223787993700252358673923232183265605703489306924880933760862635643859194167589064963527828581949391424858026018790912080848903396564356661079638474101710858685735566594989 66567502602130960957994380720545678608747259768524589476885524421755245882328228669394016345540686608586023351808360758604275155059708219655313074421506952396164466378385345016903753685607211993890356846806818717762567037082022476358972827401728397754959543571066142130689412565408405396459581903995763700928080636369784213620613236533321504043382147945398943734585853578528336499079549142514978640543433613310220334923470985182333566408303020511773455795192902675569224333320771084042392105215404185350057435560854630210905431040501176884267616123767612954145487062556609086134607196478799035097995571451429835681478284444495514001037334803802184353617842036239216578047258773967048883007 107708481756444963316319384391540319719323977839248774384104685638984031506598095463188051488626976956370395468928573882506356248665048703823201097411954992570490595988296695589843461122220321213283256166728751075144839507386154246266408421578893584242174033778220698972388056565226268551358574171746763273191133363437721538309253865614409544193252027965027831518664749653147333349229080062581328372037272434895124235290938017233984738024159082365141915182196347309817790170544582178721498698190701983120906878927034384434693424740753535558190848307033218657634793987437542846997242840337993202687060534979258417630869709302521532791949415652705580917974503115877690679758117459702615477996 174275984358575924274313765112085998328071237607773363860990210060739277388926324132582067834167663564956418820736934641110631403724756923478514171833461944966655062366682040606747214807827533207173613013535569792907406544468176722625381248980621981997133577349286841103077469130634673947818156075742526974119213999807505751929867102147731048236634175910426775253250603231675669848308629205096307012580706048205344570214409002416318304432462102876915370977389249985387014503865353262763890803406106168470964314487889014645598855781254712442458464430800831611780281049994151933131850036816792237785056106430688253312347993747017046792986750456507765271592345152116907257805376233669664361003 281984466115020887590633149503626318047395215447022138245094895699723308895524419595770119322794640521326814289665508523616987652389805627301715269245416937537145658354978736196590675930047854420456869180264320868052246051854330968891789670559515566239307611127507540075465525695860942499176730247489290247310347363245227290239120967762140592429886203875454606771915352884823003197537709267677635384617978483100468805505347019650303042456621185242057286159585597295204804674409935441485389501596808151591871193414923399080292280522008248000649312737834050269415075037431694780129092877154785440472116641409946670943217703049538579584936166109213346189566848267994597937563493693372279838999 456260450473596811864946914615712316375466453054795502106085105760462586284450743728352187156962304086283233110402443164727619056114562550780229441078878882503800720721660776803337890737875387627630482193799890660959652596322507691517170919540137548236441188476794381178542994826495616446994886323231817221429561363052733042168988069909871640666520379785881382025165956116498673045846338472773942397198684531305813375719756022066621346889083288118972657136974847280591819178275288704249280305002914320062835507902812413725891136303262960443107777168634881881195356087425846713260942913971577678257172747840634924255565696796555626377922916565721111461159193420111505195368869927041944200002 738244916588617699455580064119338634422861668501817640351180001460185895179975163324122306479756944607610047400067951688344606708504368178081944710324295820040946379076639512999928566667923242048087351374064211529011898648176838660408960590099653114475748799604301921254008520522356558946171616570721107468739908726297960332408109037672012233096406583661335988797081309001321676243384047740451577781816663014406282181225103041716924389345704473361029943296560444575796623852685224145734669806599722471654706701317735812806183416825271208443757089906468932150610431124857541493390035791126363118729289389250581595198783399846094205962859082674934457650726041688106103132932363620414224039001 1194505367062214511320526978735050950798328121556613142457265107220648481464425907052474493636719248693893280510470394853072225764618930728862174151403174702544747099798300289803266457405798629675717833567864102189971551244499346351926131509639790662712189988081096302432551515348852175393166502893952924690169470089350693374577097107581883873762926963447217370822247265117820349289230386213225520179015347545712095556944859063783545736234787761480002600433535291856388443030960512849983950111602636791717542209220548226532074553128534168886864867075103814031805787212283388206650978705097940796986462137091216519454349096642649832340781999240655569111885235108217608328301233547456168239003 1932750283650832210776107042854389585221189790058430782808445108680834376644401070376596800116476193301503327910538346541416832473123298906944118861727470522585693478874939802803195024073721871723805184941928313718983449892676185012335092099739443777187938787685398223686560035871208734339338119464674032158909378815648653706985206145253896106859333547108553359619328574119142025532614433953677097960832010560118377738169962105500470125580492234841032543730095736432185066883645736995718619918202359263372248910538284039338257969953805377330621956981572746182416218337140929700041014496224303915715751526341798114653132496488744038303641081915590026762611276796323711461233597167870392278004 3127255650713046722096634021589440536019517911615043925265710215901482858108826977429071293753195441995396608421008741394489058237742229635806293013130645225130440578673240092606461481479520501399523018509792415908955001137175531364261223609379234439900128775766494526119111551220060909732504622358626956849078848904999347081562303252835779980622260510555770730441575839236962374821844820166902618139847358105830473295114821169284015861815279996321035144163631028288573509914606249845702570029804996055089791119758832265870332523082339546217486824056676560214222005549424317906691993201322244712702213663433014634107481593131393870644423081156245595874496511904541319789534830715326560517007 5060005934363878932872741064443830121240707701673474708074155324582317234753228047805668093869671635296899936331547087935905890710865528542750411874858115747716134057548179895409656505553242373123328203451720729627938451029851716376596315709118678217088067563451892749805671587091269644071842741823300989007988227720648000788547509398089676087481594057664324090060904413356104400354459254120579716100679368665948851033284783274784485987395772231162067687893726764720758576798251986841421189948007355318462040030297116305208590493036144923548108781038249306396638223886565247606733007697546548628417965189774812748760614089620137908948064163071835622637107788700865031250768427883196952795011 8187261585076925654969375086033270657260225613288518633339865540483800092862055025234739387622867077292296544752555829330394948948607758178556704887988760972846574636221419988016117987032762874522851221961513145536893452167027247740857539318497912656988196339218387275924783138311330553804347364181927945857067076625647347870109812650925456068103854568220094820502480252593066775176304074287482334240526726771779324328399604444068501849211052227483102832057357793009332086712858236687123759977812351373551831150055948571078923016118484469765595605094925866610860229435989565513425000898868793341120178853207827382868095682751531779592487244228081218511604300605406351040303258598523513312018 13247267519440804587842116150477100778500933314961993341414020865066117327615283073040407481492538712589196481084102917266300839659473286721307116762846876720562708693769599883425774492586005247646179425413233875164831903196878964117453855027616590874076263902670280025730454725402600197876190106005228934865055304346295348658657322049015132155585448625884418910563384665949171175530763328408062050341206095437728175361684387718852987836606824458645170519951084557730090663511110223528544949925819706692013871180353064876287513509154629393313704386133175173007498453322554813120158008596415341969538144042982640131628709772371669688540551407299916841148712089306271382291071686481720466107029 21434529104517730242811491236510371435761158928250511974753886405549917420477338098275146869115405789881493025836658746596695788608081044899863821650835637693409283329991019871441892479618768122169030647374747020701725355363906211858311394346114503531064460241888667301655237863713930751680537470187156880722122380971942696528767134699940588223689303194104513731065864918542237950707067402695544384581732822209507499690083992162921489685817876686128273352008442350739422750223968460215668709903632058065565702330409013447366436525273113863079299991228101039618358682758544378633583009495284135310658322896190467514496805455123201468133038651527998059660316389911677733331374945080243979419047 34681796623958534830653607386987472214262092243212505316167907270616034748092621171315554350607944502470689506920761663862996628267554331621170938413682514413971992023760619754867666972204773369815210072787980895866557258560785175975765249373731094405140724144558947327385692589116530949556727576192385815587177685318238045187424456748955720379274751819988932641629249584491409126237830731103606434922938917647235675051768379881774477522424701144773443871959526908469513413735078683744213659829451764757579573510762078323653950034427743256393004377361276212625857136081099191753741018091699477280196466939173107646125515227494871156673590058827914900809028479217949115622446631561964445526076 56116325728476265073465098623497843650023251171463017290921793676165952168569959269590701219723350292352182532757420410459692416875635376521034760064518152107381275353751639626309559451823541491984240720162727916568282613924691387834076643719845597936205184386447614629040930452830461701237265046379542696309300066290180741716191591448896308602964055014093446372695114503033647076944898133799150819504671739856743174741852372044695967208242577830901717223967969259208936163959047143959882369733083822823145275841171091771020386559700857119472304368589377252244215818839643570387324027586983612590854789835363575160622320682618072624806628710355912960469344869129626848953821576642208424945123 90798122352434799904118706010485315864285343414675522607089700946781986916662580440906255570331294794822872039678182074322689045143189708142205698478200666521353267377512259381177226424028314861799450792950708812434839872485476563809841893093576692341345908531006561956426623041946992650793992622571928511896477751608418786903616048197852028982238806834082379014324364087525056203182728864902757254427610657503978849793620751926470444730667278975675161095927496167678449577694125827704096029562535587580724849351933170094674336594128600375865308745950653464870072954920742762141065045678683089871051256774536682806747835910112943781480218769183827861278373348347575964576268208204172870471199 146914448080911064977583804633983159514308594586138539898011494622947939085232539710496956790054645087175054572435602484782381462018825084663240458542718818628734542731263899007486785875851856353783691513113436729003122486410167951643918536813422290277551092917454176585467553494777454352031257668951471208205777817898599528619807639646748337585202861848175825387019478590558703280127626998701908073932282397360722024535473123971166411938909856806576878319895465426887385741653172971663978399295619410403870125193104261865694723153829457495337613114540030717114288773760386332528389073265666702461906046609900257967370156592731016406286847479539740821747718217477202813530089784846381295416322 237712570433345864881702510644468475378593938000814062505101195569729926001895120151403212360385939881997926612113784559105070507162014792805446157020919485150087810108776158388664012299880171215583142306064145541437962358895644515453760429906998982618897001448460738541894176536724447002825250291523399720102255569507018315523423687844600366567441668682258204401343842678083759483310355863604665328359893054864700874329093875897636856669577135782252039415822961594565835319347298799368074428858154997984594974545037431960369059747958057871202921860490684181984361728681129094669454118944349792332957303384436940774117992502843960187767066248723568683026091565824778778106357993050554165887521 384627018514256929859286315278451634892902532586952602403112690192677865087127659861900169150440584969172981184549387043887451969180839877468686615563638303778822352840040057396150798175732027569366833819177582270441084845305812467097678966720421272896448094365914915127361730031501901354856507960474870928308033387405617844143231327491348704152644530530434029788363321268642462763437982862306573402292175452225422898864566999868803268608486992588828917735718427021453221061000471771032052828153774408388465099738141693826063782901787515366540534975030714899098650502441515427197843192210016494794863349994337198741488149095574976594053913728263309504773809783301981591636447777896935461303843 622339588947602794740988825922920110271496470587766664908213885762407791089022780013303381510826524851170907796663171602992522476342854670274132772584557788928910162948816215784814810475612198784949976125241727811879047204201456982551439396627420255515345095814375653669255906568226348357681758251998270648410288956912636159666655015335949070720086199212692234189707163946726222246748338725911238730652068507090123773193660875766440125278064128371080957151541388616019056380347770570400127257011929406373060074283179125786432842649745573237743456835521399081083012231122644521867297311154366287127820653378774139515606141598418936781820979976986878187799901349126760369742805770947489627191364 1006966607461859724600275141201371745164399003174719267311326575955085656176150439875203550661267109820343888981212558646879974445523694547742819388148196092707732515788856273180965608651344226354316809944419310082320132049507269449649118363347841528411793190180290568796617636599728249712538266212473141576718322344318254003809886342827297774872730729743126263978070485215368685010186321588217812132944243959315546672058227875635243393886551120959909874887259815637472277441348242341432180085165703814761525174021320819612496625551533088604283991810552113980181662733564159949065140503364382781922684003373111338257094290693993913375874893705250187692573711132428741961379253548844425088495207 1629306196409462519341263967124291855435895473762485932219540461717493447265173219888506932172093634671514796777875730249872496921866549218016952160732753881636642678737672488965780419126956425139266786069661037894199179253708726432200557759975261783927138285994666222465873543167954598070220024464471412225128611301230890163476541358163246845592816928955818498167777649162094907256934660314129050863596312466405670445251888751401683519164615249330990832038801204253491333821696012911832307342177633221134585248304499945398929468201278661842027448646073513061264674964686804470932437814518749069050504656751885477772700432292412850157695873682237065880373612481555502331122059319791914715686571 2636272803871322243941539108325663600600294476937205199530867037672579103441323659763710482833360744491858685759088288896752471367390243765759771548880949974344375194526528762146746027778300651493583596014080347976519311303215995881849676123323103312338931476174956791262491179767682847782758290676944553801846933645549144167286427700990544620465547658698944762145848134377463592267120981902346862996540556425721217117310116627036926913051166370290900706926061019890963611263044255253264487427343337035896110422325820765011426093752811750446311440456625627041446337698250964419997578317883131850973188660124996816029794722986406763533570767387487253572947323613984244292501312868636339804181778 4265579000280784763282803075449955456036189950699691131750407499390072550706496879652217415005454379163373482536964019146624968289256792983776723709613703855981017873264201251112526446905257076632850382083741385870718490556924722314050233883298365096266069762169623013728364722935637445852978315141415966026975544946780034330762969059153791466058364587654763260313625783539558499524055642216475913860136868892126887562562005378438610432215781619621891538964862224144454945084740268165096794769520970257030695670630320710410355561954090412288338889102699140102711012662937768890930016132401880920023693316876882293802495155278819613691266641069724319453320936095539746623623372188428254519868349 6901851804152107007224342183775619056636484427636896331281274537062651654147820539415927897838815123655232168296052308043377439656647036749536495258494653830325393067790730013259272474683557728126433978097821733847237801860140718195899910006621468408605001238344579804990855902703320293635736605818360519828822478592329178498049396760144336086523912246353708022459473917917022091791176624118822776856677425317848104679872122005475537345266947989912792245890923244035418556347784523418361282196864307292926806092956141475421781655706902162734650329559324767144157350361188733310927594450285012770996881977001879109832289878265226377224837408457211573026268259709523990916124685057064594324050127 11167430804432891770507145259225574512672674378336587463031682036452724204854317419068145312844269502818605650833016327190002407945903829733313218968108357686306410941054931264371798921588814804759284360181563119717956292417065440509950143889919833504871071000514202818719220625638957739488714920959776485855798023539109212828812365819298127552582276834008471282773099701456580591315232266335298690716814294209974992242434127383914147777482729609534683784855785468179873501432524791583458076966385277549957501763586462185832137217660992575022989218662023907246868363024126502201857610582686893691020575293878761403634785033544045990916104049526935892479589195805063737539748057245492848843918476 18069282608584998777731487443001193569309158805973483794312956573515375859002137958484073210683084626473837819129068635233379847602550866482849714226603011516631804008845661277631071396272372532885718338279384853565194094277206158705850053896541301913476072238858782623710076528342278033124451526778137005684620502131438391326861762579442463639106189080362179305232573619373602683106408890454121467573491719527823096922306249389389685122749677599447476030746708712215292057780309315001819359163249584842884307856542603661253918873367894737757639548221348674391025713385315235512785205032971906462017457270880640513467074911809272368140941457984147465505857455514587728455872742302557443167968603 29236713413017890548238632702226768081981833184310071257344638609968100063856455377552218523527354129292443469962084962423382255548454696216162933194711369202938214949900592542002870317861187337645002698460947973283150386694271599215800197786461135418347143239372985442429297153981235772613166447737913491540418525670547604155674128398740591191688465914370650588005673320830183274421641156789420158290306013737798089164740376773303832900232407208982159815602494180395165559212834106585277436129634862392841809620129065847086056091028887312780628766883372581637894076409441737714642815615658800153038032564759401917101859945353318359057045507511083357985446651319651465995620799548050292011887079 47305996021602889325970120145227961651290991990283555051657595183483475922858593336036291734210438755766281289091153597656762103151005562699012647421314380719570018958746253819633941714133559870530721036740332826848344480971477757921650251683002437331823215478231768066139373682323513805737617974516050497225039027801985995482535890978183054830794654994732829893238246940203785957528050047243541625863797733265621186087046626162693518022982084808429635846349202892610457616993143421587096795292884447235726117476671669508339974964396782050538268315104721256028919789794756973227428020648630706615055489835640042430568934857162590727197986965495230823491304106834239194451493541850607735179855682 76542709434620779874208752847454729733272825174593626309002233793451575986715048713588510257737792885058724759053238560080144358699460258915175580616025749922508233908646846361636812031994747208175723735201280800131494867665749357137450449469463572750170358717604753508568670836304749578350784422253963988765457553472533599638210019376923646022483120909103480481243920261033969231949691204032961784154103747003419275251787002935997350923214492017411795661951697073005623176205977528172374231422519309628567927096800735355426031055425669363318897081988093837666813866204198710942070836264289506768093522400399444347670794802515909086255032473006314181476750758153890660447114341398658027191742761 123848705456223669200178872992682691384563817164877181360659828976935051909573642049624801991948231640825006048144392157736906461850465821614188228037340130642078252867393100181270753746128307078706444771941613626979839348637227115059100701152466010081993574195836521574708044518628263384088402396770014485990496581274519595120745910355106700853277775903836310374482167201237755189477741251276503410017901480269040461338833629098690868946196576825841431508300899965616080793199120949759471026715403756864294044573472404863766006019822451413857165397092815093695733655998955684169498856912920213383149012236039486778239729659678499813453019438501545004968054864988129854898607883249265762371598443 200391414890844449074387625840137421117836642339470807669662062770386627896288690763213312249686024525883730807197630717817050820549926080529363808653365880564586486776039946542907565778123054286882168507142894427111334216302976472196551150621929582832163932913441275083276715354933012962439186819023978474755954134747053194758955929732030346875760896812939790855726087462271724421427432455309465194172005227272459736590620632034688219869411068843253227170252597038621703969405098477931845258137923066492861971670273140219192037075248120777176062479080908931362547522203154395111569693177209720151242534636438931125910524462194408899708051911507859186444805623142020515345722224647923789563341204 324240120347068118274566498832820112502400459504347989030321891747321679805862332812838114241634256166708736855342022875553957282400391902143552036690706011206664739643433046724178319524251361365588613279084508054091173564940203587255651851774395592914157507109277796657984759873561276346527589215793992960746450716021572789879701840087137047729038672716776101230208254663509479610905173706585968604189906707541500197929454261133379088815607645669094658678553497004237784762604219427691316284853326823357156016243745545082958043095070572191033227876173724025058281178202110079281068550090129933534391546872478417904150254121872908713161071350009404191412860488130150370244330107897189551934939647 524631535237912567348954124672957533620237101843818796699983954517708307702151023576051426491320280692592467662539653593371008102950317982672915845344071891771251226419472993267085885302374415652470781786227402481202507781243180059452203002396325175746321440022719071741261475228494289308966776034817971435502404850768625984638657769819167394604799569529715892085934342125781204032332606161895433798361911934813959934520074893168067308685018714512347885848806094042859488732009317905623161542991249889850017987914018685302150080170318692968209290355254632956420828700405264474392638243267339653685634081508917349030060778584067317612869123261517263377857666111272170885590052332545113341498280851 848871655584980685623520623505777646122637561348166785730305846265029987508013356388889540732954536859301204517881676468924965385350709884816467882034777902977915966062906039991264204826625777018059395065311910535293681346183383646707854854170720768660478947131996868399246235102055565655494365250611964396248855566790198774518359609906304442333838242246491993316142596789290683643237779868481402402551818642355460132449529154301446397500626360181442544527359591047097273494613537333314477827844576713207174004157764230385108123265389265159242518231428356981479109878607374553673706793357469587220025628381395766934211032705940226326030194611526667569270526599402321255834382440442302893433220498 1373503190822893252972474748178735179742874663191985582430289800782738295210164379964940967224274817551893672180421330062295973488301027867489383727378849794749167192482379033258350090129000192670530176851539313016496189127426563706160057856567045944406800387154715940140507710330549854964461141285429935831751260417558824759157017379725471836938637811776207885402076938915071887675570386030376836200913730577169420066969604047469513706185645074693790430376165685089956762226622855238937639370835826603057191992071782915687258203435707958127451808586682989937899938579012639028066345036624809240905659709890313115964271811290007543938899317873043930947128192710674492141424434772987416234931501349 2222374846407873938595995371684512825865512224540152368160595647047768282718177736353830507957229354411194876698303006531220938873651737752305851609413627697727083158545285073249614294955625969688589571916851223551789870473609947352867912710737766713067279334286712808539753945432605420619955506536041900228000115984349023533675376989631776279272476054022699878718219535704362571318808165898858238603465549219524880199419133201770960103686271434875232974903525276137054035721236392572252117198680403316264365996229547146072366326701097223286694326818111346919379048457620013581740051829982278828125685338271708882898482843995947770264929512484570598516398719310076813397258817213429719128364721847 3595878037230767191568470119863248005608386887732137950590885447830506577928342116318771475181504171963088548878724336593516912361952765619795235336792477492476250351027664106507964385084626162359119748768390536568286059601036511059027970567304812657474079721441428748680261655763155275584416647821471836059751376401907848292832394369357248116211113865798907764120296474619434458994378551929235074804379279796694300266388737249240473809871916509569023405279690961227010797947859247811189756569516229919321557988301330061759624530136805181414146135404794336857278987036632652609806396866607088069031345048162021998862754655285955314203828830357614529463526912020751305538683251986417135363296223196 5818252883638641130164465491547760831473899112272290318751481094878274860646519852672601983138733526374283425577027343124737851235604503372101086946206105190203333509572949179757578680040252132047709320685241760120075930074646458411895883278042579370541359055728141557220015601195760696204372154357513736287751492386256871826507771358989024395483589919821607642838516010323797030313186717828093313407844829016219180465807870451011433913558187944444256380183216237364064833669095640383441873768196633235585923984530877207831990856837902404700840462222905683776658035494252666191546448696589366897157030386433730881761237499281903084468758342842185127979925631330828118935942069199846854491660945043 9414130920869408321732935611411008837082286000004428269342366542708781438574861968991373458320237698337371974455751679718254763597557268991896322282998582682679583860600613286265543065124878294406829069453632296688361989675682969470923853845347392028015438777169570305900277256958915971788788802178985572347502868788164720119340165728346272511694703785620515406958812484943231489307565269757328388212224108812913480732196607700251907723430104454013279785462907198591075631616954888194631630337712863154907481972832207269591615386974707586114986597627700020633937022530885318801352845563196454966188375434595752880623992154567858398672587173199799657443452543351579424474625321186263989854957168239 15232383804508049451897401102958769668556185112276718588093847637587056299221381821663975441458971224711655400032779022842992614833161772363997409229204687872882917370173562466023121745165130426454538390138874056808437919750329427882819737123389971398556797832897711863120292858154676667993160956536499308635254361174421591945847937087335296907178293705442123049797328495267028519620751987585421701620068937829132661198004478151263341636988292398457536165646123435955140465286050528578073504105909496390493405957363084477423606243812609990815827059850605704410595058025137984992899294259785821863345405821029483762385229653849761483141345516041984785423378174682407543410567390386110844346618113282 24646514725377457773630336714369778505638471112281146857436214180295837737796243790655348899779208923049027374488530702561247378430719041355893731512203270555562501230774175752288664810290008720861367459592506353496799909426012397353743590968737363426572236610067282169020570115113592639781949758715484880982757229962586312065188102815681569418872997491062638456756140980210260008928317257342750089832293046642046141930201085851515249360418396852470815951109030634546216096903005416772705134443622359545400887930195291747015221630787317576930813657478305725044532080556023303794252139822982276829533781255625236643009221808417619881813932689241784442866830718033986967885192711572374834201575281521 39878898529885507225527737817328548174194656224557865445530061817882894037017625612319324341238180147760682774521309725404239993263880813719891140741407958428445418600947738218311786555455139147315905849731380410305237829176341825236563328092127334825129034442964994032140862973268269307775110715251984189618011591137007904011036039903016866326051291196504761506553469475477288528549069244928171791452361984471178803128205564002778590997406689250928352116755154070501356562189055945350778638549531855935894293887558376224438827874599927567746640717328911429455127138581161288787151434082768098692879187076654720405394451462267381364955278205283769228290208892716394511295760101958485678548193394803 64525413255262964999158074531698326679833127336839012302966275998178731774813869402974673241017389070809710149009840427965487371694599855075784872253611228984007919831721913970600451365745147868177273309323886763802037738602354222590306919060864698251701271053032276201161433088381861947557060473967469070600768821099594216076224142718698435744924288687567399963309610455687548537477386502270921881284655031113224945058406649854293840357825086103399168067864184705047572659092061362123483772993154215481295181817753667971454049505387245144677454374807217154499659219137184592581403573905750375522412968332279957048403673270685001246769210894525553671157039610750381479180952813530860512749768676324 104404311785148472224685812349026874854027783561396877748496337816061625811831495015293997582255569218570392923531150153369727364958480668795676012995019187412453338432669652188912237921200287015493179159055267174107275567778696047826870247152992033076830305495997270233302296061650131255332171189219453260218780412236602120087260182621715302070975579884072161469863079931164837066026455747199093672737017015584403748186612213857072431355231775354327520184619338775548929221281117307474262411542686071417189475705312044195892877379987172712424095092136128583954786357718345881368555007988518474215292155408934677453798124732952382611724489099809322899447248503466775990476712915489346191297962071127 168929725040411437223843886880725201533860910898235890051462613814240357586645364418268670823272958289380103072540990581335214736653080523871460885248630416396461258264391566159512689286945434883670452468379153937909313306381050270417177166213856731328531576549029546434463729150031993202889231663186922330819549233336196336163484325340413737815899868571639561433172690386852385603503842249470015554021672046697628693245018863711366271713056861457726688252483523480596501880373178669597746184535840286898484657523065712167346926885374417857101549466943345738454445576855530473949958581894268849737705123741214634502201798003637383858493699994334876570604288114217157469657665729020206704047730747451 273334036825559909448529699229752076387888694459632767799958951630301983398476859433562668405528527507950495996072140734704942101611561192667136898243649603808914596697061218348424927208145721899163631627434421112016588874159746318244047413366848764405361882045026816667766025211682124458221402852406375591038329645572798456250744507962129039886875448455711722903035770318017222669530297996669109226758689062282032441431631077568438703068288636812054208437102862256145431101654295977072008596078526358315674133228377756363239804265361590569525644559079474322409231934573876355318513589882787323952997279150149311955999922736589766470218189094144199470051536617683933460134378644509552895345692818578 442263761865971346672373586110477277921749605357868657851421565444542340985122223851831339228801485797330599068613131316040156838264641716538597783492280020205375854961452784507937616495091156782834084095813575049925902180540796588661224579580705495733893458594056363102229754361714117661110634515593297921857878878908994792414228833302542777702775317027351284336208460704869608273034140246139124780780361108979661134676649941279804974781345498269780896689586385736741932982027474646669754780614366645214158790751443468530586731150736008426627194026022820060863677511429406829268472171777056173690702402891363946458201720740227150328711889088479076040655824731901090929792044373529759599393423566029 715597798691531256120903285340229354309638299817501425651380517074844324383599083285394007634330013305281095064685272050745098939876202909205734681735929624014290451658514002856362543703236878681997715723247996161942491054700542906905271992947554260139255340639083179769995779573396242119332037367999673512896208524481793248664973341264671817589650765483063007239244231022886830942564438242808234007539050171261693576108281018848243677849634135081835105126689247992887364083681770623741763376692893003529832923979821224893826535416097598996152838585102294383272909446003283184586985761659843497643699682041513258414201643476816916798930078182623275510707361349585024389926423018039312494739116384607 1157861560557502602793276871450706632231387905175370083502802082519386665368721307137225346863131499102611694133298403366785255778140844625744332465228209644219666306619966787364300160198328035464831799819061571211868393235241339495566496572528259755873148799233139542872225533935110359780442671883592971434754087403390788041079202174567214595292426082510414291575452691727756439215598578488947358788319411280241354710784930960128048652630979633351616001816275633729629297065709245270411518157307259648743991714731264693424413266566833607422780032611125114444136586957432690013855457933436899671334402084932877204872403364217044067127641967271102351551363186081486115319718467391569072094132539950636 1873459359249033858914180156790935986541026204992871509154182599594230989752320390422619354497461512407892789197983675417530354718017047534950067146964139268233956758278480790220662703901564914146829515542309567373810884289941882402471768565475814016012404139872222722642221313508506601899774709251592644947650295927872581289744175515831886412882076847993477298814696922750643270158163016731755592795858461451503048286893211978976292330480613768433451106942964881722516661149391015894153281534000152652273824638711085918318239801982931206418932871196227408827409496403435973198442443695096743168978101766974390463286605007693860983926572045453725627062070547431071139709644890409608384588871656335243 3031320919806536461707457028241642618772414110168241592656984682113617655121041697559844701360593011510504483331282078784315610496157892160694399612192348912453623064898447577584962864099892949611661315361371138585679277525183221898038265138004073771885552939105362265514446847443616961680217381135185616382404383331263369330823377690399101008174502930503891590390149614478399709373761595220702951584177872731744402997678142939104340983111593401785067108759240515452145958215100261164564799691307412301017816353442350611742653068549764813841712903807352523271546083360868663212297901628533642840312503851907267668159008371910905051054214012724827978613433733512557255029363357801177456683004196285879 4904780279055570320621637185032578605313440315161113101811167281707848644873362087982464055858054523918397272529265754201845965214174939695644466759156488180687579823176928367805625568001457863758490830903680705959490161815125104300510033703479887787897957078977584988156668160952123563579992090386778261330054679259135950620567553206230987421056579778497368889204846537229042979531924611952458544380036334183247451284571354918080633313592207170218518215702205397174662619364491277058718081225307564953291640992153436530060892870532696020260645775003579932098955579764304636410740345323630386009290605618881658131445613379604766034980786058178553605675504280943628394739008248210785841271875852621122 7936101198862106782329094213274221224085854425329354694468151963821466299994403785542308757218647535428901755860547832986161575710332831856338866371348837093141202888075375945390588432101350813370152146265051844545169439340308326198548298841483961559783510018082947253671115008395740525260209471521963877712459062590399319951390930896630088429231082709001260479594996151707442688905686207173161495964214206914991854282249497857184974296703800572003585324461445912626808577579591538223282880916614977254309457345595787141803545939082460834102358678810932455370501663125173299623038246952164028849603109470788925799604621751515671086035000070903381584288938014456185649768371606011963297954880048907001 12840881477917677102950731398306799829399294740490467796279319245529314944867765873524772813076702059347299028389813587188007540924507771551983333130505325273828782711252304313196214000102808677128642977168732550504659601155433430499058332544963849347681467097060532241827783169347864088840201561908742139042513741849535270571958484102861075850287662487498629368799842688936485668437610819125620040344250541098239305566820852775265607610296007742222103540163651309801471196944082815282000962141922542207601098337749223671864438809615156854363004453814512387469457242889477936033778592275794414858893715089670583931050235131120437121015786129081935189964442295399814044507379854222749139226755901528123 20776982676779783885279825611581021053485149165819822490747471209350781244862169659067081570295349594776200784250361420174169116634840603408322199501854162366969985599327680258586802432204159490498795123433784395049829040495741756697606631386447810907464977115143479495498898177743604614100411033430706016754972804439934590523349414999491164279518745196499889848394838840643928357343297026298781536308464748013231159849070350632450581906999808314225688864625097222428279774523674353505283843058537519461910555683345010813667984748697617688465363132625444842839958906014651235656816839227958443708496824560459509730654856882636108207050786199985316774253380309855999694275751460234712437181635950435124 33617864154697460988230557009887820882884443906310290287026790454880096189729935532591854383372051654123499812640175007362176657559348374960305532632359487640798768310579984571783016432306968167627438100602516945554488641651175187196664963931411660255146444212204011737326681347091468702940612595339448155797486546289469861095307899102352240129806407683998519217194681529580414025780907845424401576652715289111470465415891203407716189517295816056447792404788748532229750971467757168787284805200460061669511654021094234485532423558312774542828367586439957230309416148904129171690595431503752858567390539650130093661705092013756545328066572329067251964217822605255813738783131314457461576408391851963247 54394846831477244873510382621468841936369593072130112777774261664230877434592105191658935953667401248899700596890536427536345774194188978368627732134213650007768753909907664830369818864511127658126233224036301340604317682146916943894271595317859471162611421327347491232825579524835073317041023628770154172552459350729404451618657314101843404409325152880498409065589520370224342383124204871723183112961180037124701625264961554040166771424295624370673481269413845754658030745991431522292568648258997581131422209704439245299200408307010392231293730719065402073149375054918780407347412270731711302275887364210589603392359948896392653535117358529052568738471202915111813433058882774692174013590027802398371 88012710986174705861740939631356662819254036978440403064801052119110973624322040724250790337039452903023200409530711434898522431753537353328933264766573137648567522220487649402152835296818095825753671324638818286158806323798092131090936559249271131417757865539551502970152260871926542019981636224109602328349945897018874312713965213204195644539131560564496928282784201899804756408905112717147584689613895326236172090680852757447882960941591440427121273674202594286887781717459188691079853453459457642800933863725533479784732831865323166774122098305505359303458791203822909579038007702235464160843277903860719697054065040910149198863183930858119820702689025520367627171842014089149635589998419654361618 142407557817651950735251322252825504755623630050570515842575313783341851058914145915909726290706854151922901006421247862434868205947726331697560996900786787656336276130395314232522654161329223483879904548675119626763124005945009074985208154567130602580369286866898994202977840396761615337022659852879756500902405247748278764332622527306039048948456713444995337348373722270029098792029317588870767802575075363360873715945814311488049732365887064797794754943616440041545812463450620213372422101718455223932356073429972725083933240172333559005415829024570761376608166258741689986385419972967175463119165268071309300446424989806541852398301289387172389441160228435479440604900896863841809603588447456759989 230420268803826656596992261884182167574877667029010918907376365902452824683236186640160516627746307054946101415951959297333390637701263685026494261667359925304903798350882963634675489458147319309633575873313937912921930329743101206076144713816401733998127152406450497173130101268688157357004296076989358829252351144767153077046587740510234693487588274009492265631157924169833855200934430306018352492188970689597045806626667068935932693307478505224916028617819034328433594180909808904452275555177912866733289937155506204868666072037656725779537927330076120680066957462564599565423427675202639623962443171932028997500490030716691051261485220245292210143849253955847067776742910952991445193586867111121607 372827826621478607332243584137007672330501297079581434749951679685794675742150332556070242918453161206869002422373207159768258843648990016724055258568146712961240074481278277867198143619476542793513480421989057539685054335688110281061352868383532336578496439273349491376107941665449772694026955929869115330154756392515431841379210267816273742436044987454487602979531646439862953992963747894889120294764046052957919522572481380423982425673365570022710783561435474369979406644360429117824697656896368090665646010585478929952599312209990284784953756354646882056675123721306289551808847648169815087081608440003338297946915020523232903659786509632464599585009482391326508381643807816833254797175314567881596 603248095425305263929235846021189839905378964108592353657328045588247500425386519196230759546199468261815103838325166457101649481350253701750549520235506638266143872832161241501873633077623862103147056295302995452606984665431211487137497582199934070576623591679799988549238042934137930051031252006858474159407107537282584918425798008326508435923633261463979868610689570609696809193898178200907472786953016742554965329199148449359915118980844075247626812179254508698413000825270238022276973212074280957398935947740985134821265384247647010564491683684723002736742081183870889117232275323372454711044051611935367295447405051239923954921271729877756809728858736347173576158386718769824699990762181679003203 976075922046783871261479430158197512235880261188173788407279725274042176167536851752301002464652629468684106260698373616869908324999243718474604778803653351227383947313439519369071776697100404896660536717292052992292039001119321768198850450583466407155120030953149479925345984599587702745058207936727589489561863929798016759805008276142782178359678248918467471590221217049559763186861926095796593081717062795512884851771629829783897544654209645270337595740689983068392407469630667140101670868970649048064581958326464064773864696457637295349445440039369884793417204905177178669041122971542269798125660051938705593394320071763156858581058239510221409313868218738500084540030526586657954787937496246884799 1579324017472089135190715276179387352141259225296766142064607770862289676592923370948531762010852097730499210099023540073971557806349497420225154299039159989493527820145600760870945409774724266999807593012595048444899023666550533255336348032783400477731743622632949468474584027533725632796089459943586063648968971467080601678230806284469290614283311510382447340200910787659256572380760104296704065868670079538067850180970778279143812663635053720517964407919944491766805408294900905162378644081044930005463517906067449199595130080705284305913937123724092887530159286089048067786273398294914724509169711663874072888841725123003080813502329969387978219042726955085673660698417245356482654778699677925888002 2555399939518873006452194706337584864377139486484939930471887496136331852760460222700832764475504727199183316359721913690841466131348741138699759077842813340720911767459040280240017186471824671896468129729887101437191062667669855023535198483366866884886863653586098948399930012133313335541147667880313653138530835396878618438035814560612072792642989759300914811791132004708816335567622030392500658950387142333580735032742408108927710208289263365788302003660634474835197815764531572302480314950015579053528099864393913264368994777162921601263382563763462772323576490994225246455314521266456994307295371715812778482236045194766237672083388208898199628356595173824173745238447771943140609566637174172772801 4134723956990962141642909982516972216518398711781706072536495266998621529353383593649364526486356824929682526458745453764813023937698238558924913376881973330214439587604641041110962596246548938896275722742482149882090086334220388278871546516150267362618607276219048416874514039667038968337237127823899716787499806863959220116266620845081363406926301269683362151992042792368072907948382134689204724819057221871648585213713186388071522871924317086306266411580578966602003224059432477464858959031060509058991617770461362463964124857868205907177319687487555659853735777083273314241587919561371718816465083379686851371077770317769318485585718178286177847399322128909847405936865017299623264345336852098660803 6690123896509835148095104688854557080895538198266646003008382763134953382113843816350197290961861552128865842818467367455654490069046979697624672454724786670935351355063681321350979782718373610792743852472369251319281149001890243302406744999517134247505470929805147365274444051800352303878384795704213369926030642260837838554302435405693436199569291028984276963783174797076889243516004165081705383769444364205229320246455594496999233080213580452094568415241213441437201039823964049767339273981076088112519717634855275728333119635031127508440702251251018432177312268077498560696902440827828713123760455095499629853313815512535556157669106387184377475755917302734021151175312789242763873911974026271433604 10824847853500797289738014671371529297413936910048352075544878030133574911467227409999561817448218377058548369277212821220467514006745218256549585831606760001149790942668322362461942378964922549689019575214851401201371235336110631581278291515667401610124078206024195782148958091467391272215621923528113086713530449124797058670569056250774799606495592298667639115775217589444962151464386299770910108588501586076877905460168780885070755952137897538400834826821792408039204263883396527232198233012136597171511335405316638192297244492899333415618021938738574092031048045160771874938490360389200431940225538475186481224391585830304874643254824565470555323155239431643868557112177806542387138257310878370094407 17514971750010632437833119360226086378309475108314998078553260793268528293581071226349759108410079929187414212095680188676122004075792197954174258286331546672085142297732003683812922161683296160481763427687220652520652384338000874883685036515184535857629549135829343147423402143267743576094006719232326456639561091385634897224871491656468235806064883327651916079558392386521851394980390464852615492357945950282107225706624375382069989032351477990495403242063005849476405303707360576999537506993212685284031053040171913920630364127930460924058724189989592524208360313238270435635392801217029145063985993570686111077705401342840430800923930952654932798911156734377889708287490595785151012169284904641528011 28339819603511429727571134031597615675723412018363350154098138823402103205048298636349320925858298306245962581372893009896589518082537416210723844117938306673234933240400326046274864540648218710170783002902072053722023619674111506464963328030851937467753627341853538929572360234735134848309628642760439543353091540510431955895440547907243035412560475626319555195333609975966813546444776764623525600946447536358985131166793156267140744984489375528896238068884798257515609567590757104231735740005349282455542388445488552112927608620829794339676746128728166616239408358399042310573883161606229577004211532045872592302096987173145305444178755518125488122066396166021758265399668402327538150426595783011622418 45854791353522062165404253391823702054032887126678348232651399616670631498629369862699080034268378235433376793468573198572711522158329614164898102404269853345320075538132329730087786702331514870652546430589292706242676004012112381348648364546036473325383176477682882076995762378002878424403635361992765999992652631896066853120312039563711271218625358953971471274892002362488664941425167229476141093304393486641092356873417531649210734016840853519391641310947804106992014871298117681231273246998561967739573441485660466033557972748760255263735470318717759140447768671637312746209275962823258722068197525616558703379802388515985736245102686470780420920977552900399647973687158998112689162595880687653150429 74194610957033491892975387423421317729756299145041698386749538440072734703677668499048400960126676541679339374841466208469301040240867030375621946522208160018555008778532655776362651242979733580823329433491364759964699623686223887813611692576888410793136803819536421006568122612738013272713264004753205543345744172406498809015752587470954306631185834580291026470225612338455478487869943994099666694250841023000077488040210687916351479001330229048287879379832602364507624438888874785463008987003911250195115829931149018146485581369590049603412216447445925756687177030036355056783159124429488299072409057662431295681899375689131041689281441988905909043043949066421406239086827400440227313022476470664772847 120049402310555554058379640815245019783789186271720046619400938056743366202307038361747480994395054777112716168310039407042012562399196644540520048926478013363875084316664985506450437945311248451475875864080657466207375627698336269162260057122924884118519980297219303083563884990740891697116899366745971543338396804302565662136064627034665577849811193534262497745117614700944143429295111223575807787555234509641169844913628219565562213018171082567679520690780406471499639310186992466694282234002473217934689271416809484180043554118350304867147686766163684897134945701673667802992435087252747021140606583278989999061701764205116777934384128459686329964021501966821054212773986398552916475618357158317923276 194244013267589045951355028238666337513545485416761745006150476496816100905984706860795881954521731318792055543151505615511313602640063674916141995448686173382430093095197641282813089188290982032299205297572022226172075251384560156975871749699813294911656784116755724090132007603478904969830163371499177086684140976709064471151817214505619884480997028114553524215343227039399621917165055217675474481806075532641247332953838907481913692019501311615967400070613008836007263749075867252157291221006384468129805101347958502326529135487940354470559903213609610653822122731710022859775594211682235320213015640941421294743601139894247819623665570448592239007065451033242460451860813798993143788640833628982696123 314293415578144600009734669053911357297334671688481791625551414553559467108291745222543362948916786095904771711461545022553326165039260319456662044375164186746305177411862626789263527133602230483775081161652679692379450879082896426138131806822738179030176764413975027173695892594219796666947062738245148630022537781011630133287881841540285462330808221648816021960460841740343765346460166441251282269361310042282417177867467127047475905037672394183646920761393415307506903059262859718851573455008857686064494372764767986506572689606290659337707589979773295550957068433383690662768029298934982341353622224220411293805302904099364597558049698908278568971086953000063514664634800197546060264259190787300619399 508537428845733645961089697292577694810880157105243536631701891050375568014276452083339244903438517414696827254613050638064639767679323994372804039823850360128735270507060268072076616321893212516074286459224701918551526130467456583114003556522551473941833548530730751263827900197698701636777226109744325716706678757720694604439699056045905346811805249763369546175804068779743387263625221658926756751167385574923664510821306034529389597057173705799614320832006424143514166808338726971008864676015242154194299474112726488833101825094231013808267493193382906204779191165093713522543623510617217661566637865161832588548904043993612417181715269356870807978152404033305975116495613996539204052900024416283315522 822830844423878245970824366346489052108214828793725328257253305603935035122568197305882607852355303510601598966074595660617965932718584313829466084199014546875040447918922894861340143455495442999849367620877381610930977009550353009252135363345289652972010312944705778437523792791918498303724288847989474346729216538732324737727580897586190809142613471412185568136264910520087152610085388100178039020528695617206081688688773161576865502094846099983261241593399839451021069867601586689860438131024099840258793846877494475339674514700521673145975083173156201755736259598477404185311652809552200002920260089382243882354206948092977014739764968265149376949239357033369489781130414194085264317159215203583934921 1331368273269611891931914063639066746919094985898968864888955196654310603136844649389221852755793820925298426220687646298682605700397908308202270124022864907003775718425983162933416759777388655515923654080102083529482503140017809592366138919867841126913843861475436529701351692989617199940501514957733800063435895296453019342167279953632096155954418721175555114312068979299830539873710609759104795771696081192129746199510079196106255099152019805782875562425406263594535236675940313660869302807039341994453093320990220964172776339794752686954242576366539107960515450763571117707855276320169417664486897954544076470903110992086589431921480237622020184927391761066675464897626028190624468370059239619867250443 2154199117693490137902738429985555799027309814692694193146208502258245638259412846695104460608149124435900025186762241959300571633116492622031736208221879453878816166344906057794756903232884098515773021700979465140413480149568162601618274283213130779885854174420142308138875485781535698244225803805723274410165111835185344079894860851218286965097032192587740682448333889819917692483795997859282834792224776809335827888198852357683120601246865905766136804018806103045556306543541900350729740938063441834711887167867715439512450854495274360100217659539695309716251710362048521893166929129721617667407158043926320353257317940179566446661245205887169561876631118100044954678756442384709732687218454823451185364 3485567390963102029834652493624622545946404800591663058035163698912556241396257496084326313363942945361198451407449888257983177333514400930234006332244744360882591884770889220728173663010272754031696675781081548669895983289585972193984413203080971906799698035895578837840227178771152898184727318763457074473601007131638363422062140804850383121051450913763295796760402869119748232357506607618387630563920858001465574087708931553789375700398885711549012366444212366640091543219482214011599043745102783829164980488857936403685227194290027047054460235906234417676767161125619639601022205449891035331894055998470396824160428932266155878582725443509189746804022879166720419576382470575334201057277694443318435807 5639766508656592167737390923610178344973714615284357251181372201170801879655670342779430773972092069797098476594212130217283748966630893552265742540466623814761408051115795278522930566243156852547469697482061013810309463439154134795602687486294102686685552210315721145979102664552688596428953122569180348883766118966823707501957001656068670086148483106351036479208736758939665924841302605477670465356145634810801401975907783911472496301645751617315149170463018469685647849763024114362328784683166225663876867656725651843197678048785301407154677895445929727393018871487668161494189134579612652999301214042396717177417746872445722325243970649396359308680653997266765374255138912960043933744496149266769621171 9125333899619694197572043417234800890920119415876020309216535900083358121051927838863757087336035015158296928001662018475266926300145294482499748872711368175643999935886684499251104229253429606579166373263142562480205446728740106989587100689375074593485250246211299983819329843323841494613680441332637423357367126098462070924019142460919053207199934020114332275969139628059414157198809213096058095920066492812266976063616715465261872002044637328864161536907230836325739392982506328373927828428269009493041848145583588246882905243075328454209138131352164145069786032613287801095211340029503688331195270040867114001578175804711878203826696092905549055484676876433485793831521383535378134801773843710088056978 14765100408276286365309434340844979235893834031160377560397908101254160000707598181643187861308127084955395404595874148692550675266776188034765491413177991990405407987002479777774034795496586459126636070745203576290514910167894241785189788175669177280170802456527021129798432507876530091042633563901817772241133245065285778425976144116987723293348417126465368755177876386999080082040111818573728561276212127623068378039524499376734368303690388946179310707370249306011387242745530442736256613111435235156918715802309240090080583291860629861363816026798093872462804904100955962589400474609116341330496484083263831178995922677157600529070666742301908364165330873700251168086660296495422068546269992976857678149 23890434307895980562881477758079780126813953447036397869614444001337518121759526020506944948644162100113692332597536167167817601566921482517265240285889360166049407922889164277025139024750016065705802444008346138770720356896634348774776888865044251873656052702738321113617762351200371585656314005234455195598500371163747849349995286577906776500548351146579701031147016015058494239238921031669786657196278620435335354103141214841996240305735026275043472244277480142337126635728036771110184441539704244649960563947892828336963488534935958315572954158150258017532590936714243763684611814638620029661691754124130945180574098481869478732897362835207457419650007750133736961918181680030800203348043836686945735127 38655534716172266928190912098924759362707787478196775430012352102591678122467124202150132809952289185069087737193410315860368276833697670552030731699067352156454815909891644054799173820246602524832438514753549715061235267064528590559966677040713429153826855159265342243416194859076901676698947569136272967839633616229033627775971430694894499793896768273045069786324892402057574321279032850243515218472490748058403732142665714218730608609425415221222782951647729448348513878473567213846441054651139479806879279750202068427044071826796588176936770184948351889995395840815199726274012289247736370992188238207394776359570021159027079261968029577509365783815338623833988130004841976526222271894313829663803413276 62545969024068247491072389857004539489521740925233173299626796103929196244226650222657077758596451285182780069790946483028185878400619153069295971984956712322504223832780808331824312844996618590538240958761895853831955623961162939334743565905757681027482907862003663357033957210277273262355261574370728163438133987392781477125966717272801276294445119419624770817471908417116068560517953881913301875668769368493739086245806929060726848915160441496266255195925209590685640514201603984956625496190843724456839843698094896764007560361732546492509724343098609907527986777529443489958624103886356400653879992331525721540144119640896557994865392412716823203465346373967725091923023656557022475242357666350749148403 101201503740240514419263301955929298852229528403429948729639148206520874366693774424807210568548740470251867806984356798888554155234316823621326703684024064478959039742672452386623486665243221115370679473515445568893190891025691529894710242946471110181309763021269005600450152069354174939054209143507001131277767603621815104901938147967695776088341887692669840603796800819173642881796986732156817094141260116552142818388472643279457457524585856717489038147572939039034154392675171198803066550841983204263719123448296965191051632188529134669446494528046961797523382618344643216232636393134092771646068230538920497899714140799923637256833421990226188987280684997801713221927865633083244747136671496014552561679 163747472764308761910335691812933838341751269328663122029265944310450070610920424647464288327145191755434647876775303281916740033634935976690622675668980776801463263575453260718447799510239839705908920432277341422725146514986854469229453808852228791208792670883272668957484109279631448201409470717877729294715901591014596582027904865240497052382787007112294611421268709236289711442314940614070118969810029485045881904634279572340184306439746298213755293343498148629719794906876775183759692047032826928720558967146391861955059192550261681161956218871145571705051369395874086706191260497020449172299948222870446219439858260440820195251698814402943012190746031371769438313850889289640267222379029162365301710082 264948976504549276329598993768863137193980797732093070758905092516970944977614199072271498895693932225686515683759660080805294188869252800311949379353004841280422303318125713105071286175483060821279599905792786991618337406012545999124164051798699901390102433904541674557934261348985623140463679861384730425993669194636411686929843013208192828471128894804964452025065510055463354324111927346226936063951289601598024723022752215619641763964332154931244331491071087668753949299551946382562758597874810132984278090594688827146110824738790815831402713399192533502574752014218729922423896890154541943946016453409366717339572401240743832508532236393169201178026716369571151535778754922723511969515700658379854271761 428696449268858038239934685581796975535732067060756192788171036827421015588534623719735787222839123981121163560534963362722034222504188777002572055021985618081885566893578973823519085685722900527188520338070128414343483920999400468353617860650928692598895104787814343515418370628617071341873150579262459720709570785651008268957747878448689880853915901917259063446334219291753065766426867960297055033761319086643906627657031787959826070404078453144999624834569236298473744206428721566322450644907637061704837057741080689101170017289052496993358932270338105207626121410092816628615157387174991116245964676279812936779430661681564027760231050796112213368772747741340589849629644212363779191894729820745155981843 693645425773407314569533679350660112729712864792849263547076129344391960566148822792007286118533056206807679244294623443527328411373441577314521434374990459362307870211704686928590371861205961348468120243862915405961821327011946467477781912449628593988997538692356018073352631977602694482336830440647190146703239980287419955887590891656882709325044796722223515471399729347216420090538795306523991097712608688241931350679784003579467834368410608076243956325640323967227693505980667948885209242782447194689115148335769516247280842027843312824761645669530638710200873424311546551039054277329533060191981129689179654119003062922307860268763287189281414546799464110911741385408399135087291161410430479125010253604 1122341875042265352809468364932457088265444931853605456335247166171812976154683446511743073341372180187928842804829586806249362633877630354317093489396976077444193437105283660752109457546928861875656640581933043820305305248011346935831399773100557286587892643480170361588771002606219765824209981019909649867412810765938428224845338770105572590178960698639482578917733948638969485856965663266821046131473927774885837978336815791539293904772489061221243581160209560265701437712409389515207659887690084256393952206076850205348450859316895809818120577939868743917826994834404363179654211664504524176437945805968992590898433724603871888028994337985393627915572211852252331235038043347451070353305160299870166235447 1815987300815672667379002044283117200995157796646454719882323295516204936720832269303750359459905236394736522049124210249776691045251071931631614923771966536806501307316988347680699829408134823224124760825795959226267126575023293403309181685550185880576890182172526379662123634583822460306546811460556840014116050746225848180732929661762455299504005495361706094389133677986185905947504458573345037229186536463127769329016599795118761739140899669297487537485849884232929131218390057464092869130472531451083067354412619721595731701344739122642882223609399382628027868258715909730693265941834057236629926935658172245017436787526179748297757625174675042462371675963164072620446442482538361514715590778995176489051 2938329175857938020188470409215574289260602728500060176217570461688017912875515715815493432801277416582665364853953797056026053679128702285948708413168942614250694744422272008432809286955063685099781401407729003046572431823034640339140581458650743167164782825652696741250894637190042226130756792480466489881528861512164276405578268431868027889682966194001188673306867626625155391804470121840166083360660464238013607307353415586658055643913388730518731118646059444498630568930799446979300529018162615707477019560489469926944182560661634932461002801549268126545854863093120272910347477606338581413067872741627164835915870512130051636326751963160068670377943887815416403855484485829989431868020751078865342724498 4754316476673610687567472453498691490255760525146514896099893757204222849596347985119243792261182652977401886903078007305802744724379774217580323336940909151057196051739260356113509116363198508323906162233524962272839558398057933742449763144200929047741673007825223120913018271773864686437303603941023329895644912258390124586311198093630483189186971689362894767696001304611341297751974580413511120589847000701141376636370015381776817383054288399816218656131909328731559700149189504443393398148635147158560086914902089648539914262006374055103885025158667509173882731351836182641040743548172638649697799677285337080933307299656231384624509588334743712840315563778580476475930928312527793382736341857860519213549 7692645652531548707755942862714265779516363253646575072317464218892240762471863700934737225062460069560067251757031804361828798403508476503529031750109851765307890796161532364546318403318262193423687563641253965319411990221092574081590344602851672214906455833477919862163912908963906912568060396421489819777173773770554400991889466525498511078869937883364083441002868931236496689556444702253677203950507464939154983943723430968434873026967677130334949774777968773230190269079988951422693927166797762866037106475391559575484096822668008987564887826707935635719737594444956455551388221154511220062765672418912501916849177811786283020951261551494812383218259451593996880331415414142517225250757092936725861938047 12446962129205159395323415316212957269772123778793089968417357976096463612068211686053981017323642722537469138660109811667631543127888250721109355087050760916365086847900792720659827519681460701747593725874778927592251548619150507824040107747052601262648128841303142983076931180737771599005364000362513149672818686028944525578200664619128994268056909572726978208698870235847837987308419282667188324540354465640296360580093446350211690410021965530151168430909878101961749969229178455866087325315432910024597193390293649224024011084674383042668772851866603144893620325796792638192428964702683858712463472096197838997782485111442514405575771139829556096058575015372577356807346342455045018633493434794586381151596 20139607781736708103079358178927223049288487032439665040734822194988704374540075386988718242386102792097536390417141616029460341531396727224638386837160612681672977644062325085206145922999722895171281289516032892911663538840243081905630452349904273477554584674781062845240844089701678511573424396784002969449992459799498926570090131144627505346926847456091061649701739167084334676864863984920865528490861930579451344523816877318646563436989642660486118205687846875191940238309167407288781252482230672890634299865685208799508107907342392030233660678574538780613357920241749093743817185857195078775229144515110340914631662923228797426527032691324368479276834466966574237138761756597562243884250527731312243089643 32586569910941867498402773495140180319060610811232755009152180171085167986608287073042699259709745514635005529077251427697091884659284977945747741924211373598038064491963117805865973442681183596918875015390811820503915087459393589729670560096956874740202713516084205828317775270439450110578788397146516119122811145828443452148290795763756499614983757028818039858400609402932172664173283267588053853031216396219747705103910323668858253847011608190637286636597724977153690207538345863154868577797663582915231493255978858023532118992016775072902433530441141925506978246038541731936246150559878937487692616611308179912414148034671311832102803831153924575335409482339151593946108099052607262517743962525898624241239 52726177692678575601482131674067403368349097843672420049887002366073872361148362460031417502095848306732541919494393043726552226190681705170386128761371986279711042136025442891072119365680906492090156304906844713415578626299636671635301012446861148217757298190865268673558619360141128622152212793930519088572803605627942378718380926908384004961910604484909101508102348570016507341038147252508919381522078326799199049627727200987504817284001250851123404842285571852345630445847513270443649830279894255805865793121664066823040226899359167103136094209015680706120336166280290825680063336417074016262921761126418520827045810957900109258629836522478293054612243949305725831084869855650169506401994490257210867330882 85312747603620443099884905169207583687409708654905175059039182537159040347756649533074116761805593821367547448571644471423644110849966683116133870685583359877749106627988560696938092808362090089009031320297656533919493713759030261364971572543818022957960011706949474501876394630580578732731001191077035207695614751456385830866671722672140504576894361513727141366502957972948680005211430520096973234553294723018946754731637524656363071131012859041760691478883296829499320653385859133598518408077557838721097286377642924846572345891375942176038527739456822631627314412318832557616309486976952953750614377737726700739459958992571421090732640353632217629947653431644877425030977954702776768919738452783109491572121 138038925296299018701367036843274987055758806498577595108926184903232912708905011993105534263901442128100089368066037515150196337040648388286519999446955346157460148764014003588010212174042996581099187625204501247335072340058666933000272584990679171175717309897814743175435013990721707354883213985007554296268418357084328209585052649580524509538804965998636242874605306542965187346249577772605892616075373049818145804359364725643867888415014109892884096321168868681844951099233372404042168238357452094526963079499306991669612572790735109279174621948472503337747650578599123383296372823394026970013536138864145221566505769950471530349362476876110510684559897380950603256115847810352946275321732943040320358903003 223351672899919461801251942012482570743168515153482770167965367440391953056661661526179651025707035949467636816637681986573840447890615071402653870132538706035209255392002564284948304982405086670108218945502157781254566053817697194365244157534497194133677321604764217677311408621302286087614215176084589503964033108540714040451724372252665014115699327512363384241108264515913867351461008292702865850628667772837092559091002250300230959546026968934644787800052165511344271752619231537640686646435009933248060365876949916516184918682111051455213149687929325969374964990917955940912682310370979923764150516601871922305965728943042951440095117229742728314507550812595480681146825765055723044241471395823429850475124 361390598196218480502618978855757557798927321652060365276891552343624865765566673519285185289608478077567726184703719501724036784931263459689173869579494052192669404156016567872958517156448083251207406570706659028589638393876364127365516742525176365309394631502578960852746422612023993442497429161092143800232451465625042250036777021833189523654504293510999627115713571058879054697710586065308758466704040822655238363450366975944098847961041078827528884121221034193189222851852603941682854884792462027775023445376256908185797491472846160734387771636401829307122615569517079324209055133765006893777686655466017143872471498893514481789457594105853238999067448193546083937262673575408669319563204338863750209378127 584742271096137942303870920868240128542095836805543135444856919784016818822228335045464836315315514027035363001341401488297877232821878531091827739712032758227878659548019132157906822138853169921315625516208816809844204447694061321730760900059673559443071953107343178530057831233326279530111644337176733304196484574165756290488501394085854537770203621023363011356821835574792922049171594358011624317332708595492330922541369226244329807507068047762173671921273199704533494604471835479323541531227471961023083811253206824701982410154957212189600921324331155276497580560435035265121737444135986817541837172067889066178437227836557433229552711335595967313574999006141564618409499340464392363804675734687180059853251 946132869292356422806489899723997686341023158457603500721748472127641684587795008564750021604923992104603089186045120990021914017753141990781001609291526810420548063704035700030865339295301253172523032086915475838433842841570425449096277642584849924752466584609922139382804253845350272972609073498268877104428936039790798540525278415919044061424707914534362638472535406633671976746882180423320382784036749418147569285991736202188428655468109126589702556042494233897722717456324439421006396416019933988798107256629463732887779901627803372923988692960732984583620196129952114589330792577900993711319523827533906210050908726730071915019010305441449206312642447199687648555672172915873061683367880073550930269231378 1530875140388494365110360820592237814883118995263146636166605391911658503410023343610214857920239506131638452187386522478319791250575020521872829349003559568648426723252054832188772161434154423093838657603124292648278047289264486770827038542644523484195538537717265317912862085078676552502720717835445610408625420613956554831013779810004898599194911535557725649829357242208464898796053774781332007101369458013639900208533105428432758462975177174351876227963767433602256212060796274900329937947247405949821191067882670557589762311782760585113589614285064139860117776690387149854452530022036980528861360999601795276229345954566629348248563016777045173626217446205829213174081672256337454047172555808238110329084629 2477008009680850787916850720316235501224142153720750136888353864039300187997818352174964879525163498236241541373431643468341705268328162512653830958295086379068974786956090532219637500729455676266361689690039768486711890130834912219923316185229373408948005122327187457295666338924026825475329791333714487513054356653747353371539058225923942660619619450092088288301892648842136875542935955204652389885406207431787469494524841630621187118443286300941578784006261667499978929517120714321336334363267339938619298324512134290477542213410563958037578307245797124443737972820339264443783322599937974240180884827135701486280254681296701263267573322218494379938859893405516861729753845172210515730540435881789040598316007 4007883150069345153027211540908473316107261148983896773054959255950958691407841695785179737445403004367879993560818165946661496518903183034526660307298645947717401510208145364408409662163610099360200347293164061134989937420099398990750354727873896893143543660044452775208528424002703377978050509169160097921679777267703908202552838035928841259814530985649813938131249891050601774338989729985984396986775665445427369703057947059053945581418463475293455011970029101102235141577916989221666272310514745888440489392394804848067304525193324543151167921530861264303855749510726414298235852621974954769042245826737496762509600635863330611516136338995539553565077339611346074903835517428547969777712991690027150927400636 6484891159750195940944062261224708817331403302704646909943313119990258879405660047960144616970566502604121534934249809415003201787231345547180491265593732326786376297164235896628047162893065775626562036983203829621701827550934311210673670913103270302091548782371640232504194762926730203453380300502874585434734133921451261574091896261852783920434150435741902226433142539892738649881925685190636786872181872877214839197582788689675132699861749776235033795976290768602214071095037703543002606673782085827059787716906939138544846738603888501188746228776658388747593722331065678742019175221912929009223130653873198248789855317160031874783709661214033933503937233016862936633589362600758485508253427571816191525716643 10492774309819541093971273802133182133438664451688543682998272375941217570813501743745324354415969506972001528495067975361664698306134528581707151572892378274503777807372381261036456825056675874986762384276367890756691764971033710201424025640977167195235092442416093007712723186929433581431430809672034683356413911189155169776644734297781625180248681421391716164564392430943340424220915415176621183858957538322642208900640735748729078281280213251528488807946319869704449212672954692764668878984296831715500277109301743986612151263797213044339914150307519653051449471841792093040255027843887883778265376480610695011299455953023362486299846000209573487069014572628209011537424880029306455285966419261843342453117279 16977665469569737034915336063357890950770067754393190592941585495931476450219161791705468971386536009576123063429317784776667900093365874128887642838486110601290154104536617157664503987949741650613324421259571720378393592521968021412097696554080437497326641224787733240216917949856163784884811110174909268791148045110606431350736630559634409100682831857133618390997534970836079074102841100367257970731139411199857048098223524438404210981141963027763522603922610638306663283767992396307671485658078917542560064826208683125156998002401101545528660379084178041799043194172857771782274203065800812787488507134483893260089311270183394361083555661423607420572951805645071948171014242630064940794219846833659533978833922 27470439779389278128886609865491073084208732206081734275939857871872694021032663535450793325802505516548124591924385760138332598399500402710594794411378488875793931911908998418700960813006417525600086805535939611135085357493001731613521722195057604692561733667203826247929641136785597366316241919846943952147561956299761601127381364857416034280931513278525334555561927401779419498323756515543879154590096949522499256998864260187133289262422176279292011411868930508011112496440947089072340364642375749258060341935510427111769149266198314589868574529391697694850492666014649864822529230909688696565753883615094588271388767223206756847383401661633180907641966378273280959708439122659371396080186266095502876431951201 44448105248959015163801945928848964034978799960474924868881443367804170471251825327156262297189041526124247655353703544915000498492866276839482437249864599477084086016445615576365464800956159176213411226795511331513478950014969753025619418749138042189888374891991559488146559086641761151201053030021853220938710001410368032478117995417050443381614345135658952946559462372615498572426597615911137125321236360722356305097087784625537500243564139307055534015791541146317775780208939485380011850300454666800620406761719110236926147268599416135397234908475875736649535860187507636604803433975489509353242390749578481531478078493390151208466957323056788328214918183918352907879453365289436336874406112929162410410785123 71918545028348293292688555794340037119187532166556659144821301239676864492284488862607055622991547042672372247278089305053333096892366679550077231661243088352878017928354613995066425613962576701813498032331450942648564307507971484639141140944195646882450108559195385736076200223427358517517294949868797173086271957710129633605499360274466477662545858414184287502121389774394918070750354131455016279911333310244855562095952044812670789505986315586347545427660471654328888276649886574452352214942830416058680748697229537348695296534797730725265809437867573431500028526202157501427332664885178205918996274364673069802866845716596908055850358984689969235856884562191633867587892487948807732954592379024665286842736324 116366650277307308456490501723189001154166332127031584013702744607481034963536314189763317920180588568796619902631792849968333595385232956389559668911107687829962103944800229571431890414918735878026909259126962274162043257522941237664760559693333689072338483451186945224222759310069119668718347979890650394024981959120497666083617355691516921044160203549843240448680852147010416643176951747366153405232569670967211867193039829438208289749550454893403079443452012800646664056858826059832364065243285082859301155458948647585621443803397146860663044346343449168149564386389665138032136098860667715272238665114251551334344924209987059264317316307746757564071802746109986775467345853238244069828998491953827697253521447 188285195305655601749179057517529038273353864293588243158524045847157899455820803052370373543172135611468992149909882155021666692277599635939636900572350776182840121873154843566498316028881312579840407291458413216810607565030912722303901700637529335954788592010382330960298959533496478186235642929759447567111253916830627299689116715965983398706706061964027527950802241921405334713927305878821169685143902981212067429288991874250879079255536770479750624871112484454975552333508712634284716280186115498917981904156178184934316740338194877585928853784211022599649592912591822639459468763745845921191234939478924621137211769926583967320167675292436726799928687308301620643055238341187051802783590870978492984096257771 304651845582962910205669559240718039427520196420619827172226790454638934419357117242133691463352724180265612052541675004990000287662832592329196569483458464012802225817955073137930206443800048457867316550585375490972650822553853959968662260330863025027127075461569276184521718843565597854953990909650097961136235875951124965772734071657500319750866265513870768399483094068415751357104257626187323090376472652179279296482031703689087369005087225373153704314564497255622216390367538694117080345429400581777283059615126832519938184141592024446591898130554471767799157298981487777491604862606513636463473604593176172471556694136571026584484991600183484364000490054411607418522584194425295872612589362932320681349779218 492937040888618511954848616758247077700874060714208070330750836301796833875177920294504065006524859791734604202451557160011666979940432228268833470055809240195642347691109916704428522472681361037707723842043788707783258387584766682272563960968392360981915667471951607144820678377062076041189633839409545528247489792781752265461850787623483718457572327477898296350285335989821086071031563505008492775520375633391346725771023577939966448260623995852904329185676981710597768723876251328401796625615516080695264963771305017454254924479786902032520751914765494367448750211573310416951073626352359557654708544072100793608768464063154993904652666892620211163929177362713228061577822535612347675396180233910813665446036989 797588886471581422160518175998965117128394257134827897502977626756435768294535037536637756469877583972000216254993232165001667267603264820598030039539267704208444573509064989842358728916481409495575040392629164198755909210138620642241226221299255386009042742933520883329342397220627673896143624749059643489383725668732877231234584859280984038208438592991769064749768430058236837428135821131195815865896848285570626022253055281629053817265711221226058033500241478966219985114243790022518876971044916662472548023386431849974193108621378926479112650045319966135247907510554798194442678488958873194118182148665276966080325158199726020489137658492803695527929667417124835480100406730037643548008769596843134346795816207 1290525927360199934115366792757212194829268317849035967833728463058232602169712957831141821476402443763734820457444789325013334247543697048866863509595076944404086921200174906546787251389162770533282764234672952906539167597723387324513790182267647746990958410405472490474163075597689749937333258588469189017631215461514629496696435646904467756666010920469667361100053766048057923499167384636204308641417223918961972748024078859569020265526335217078962362685918460676817753838120041350920673596660432743167812987157736867428448033101165828511633401960085460502696657722128108611393752115311232751772890692737377759689093622262881014393790325385423906691858844779838063541678229265649991223404949830753948012241853196 2088114813831781356275884968756177311957662574983863865336706089814668370464247995367779577946280027735735036712438021490015001515146961869464893549134344648612531494709239896389145980305644180028857804627302117105295076807862007966755016403566903133000001153338993373803505472818317423833476883337528832507014941130247506727931020506185451794874449513461436425849822196106294760927303205767400124507314072204532598770277134141198074082792046438305020396186159939643037738952363831373439550567705349405640361010544168717402641141722544754990746052005405426637944565232682906805836430604270105945891072841402654725769418780462607034882927983878227602219788512196962899021778635995687634771413719427597082359037669403 3378640741191981290391251761513389506786930892832899833170434552872900972633960953198921399422682471499469857169882810815028335762690658918331757058729421593016618415909414802935933231694806950562140568861975070011834244405585395291268806585834550879990959563744465864277668548416007173770810141925998021524646156591762136224627456153089919551540460433931103786949875962154352684426470590403604433148731296123494571518301213000767094348318381655383982758872078400319855492790483872724360224164365782148808173997701905584831089174823710583502379453965490887140641222954811015417230182719581338697663963534140032485458512402725488049276718309263651508911647356976800962563456865261337625994818669258351030371279522599 5466755555023762646667136730269566818744593467816763698507140642687569343098208948566700977368962499235204893882320832305043337277837620787796650607863766241629149910618654699325079212000451130590998373489277187117129321213447403258023822989401454012990960717083459238081174021234324597604287025263526854031661097722009642952558476659275371346414909947392540212799698158260647445353773796171004557656045368328027170288578347141965168431110428093689003155058238339962893231742847704097799774732071131554448535008246074302233730316546255338493125505970896313778585788187493922223066613323851444643555036375542687211227931183188095084159646293141879111131435869173763861585235501257025260766232388685948112730317192002 8845396296215743937058388491782956325531524360649663531677575195560470315732169901765622376791644970734674751052203643120071673040528279706128407666593187834645768326528069502261012443695258081153138942351252257128963565619032798549292629575236004892981920280827925102358842569650331771375097167189524875556307254313771779177185932812365290897955370381323643999749574120415000129780244386574608990804776664451521741806879560142732262779428809749072985913930316740282748724533331576822159998896436913703256709005947979887064819491369965921995504959936387200919227011142304937640296796043432783341218999909682719696686443585913583133436364602405530620043083226150564824148692366518362886761051057944299143101596714601 14312151851239506583725525222052523144276117828466427230184715838248039658830378850332323354160607469969879644934524475425115010318365900493925058274456954076274918237146724201586091655695709211744137315840529444246092886832480201807316452564637458905972880997911384340440016590884656368979384192453051729587968352035781422129744409471640662244370280328716184212549272278675647575134018182745613548460822032779548912095457907284697431210539237842761989068988555080245641956276179280919959773628508045257705244014194054189298549807916221260488630465907283514697812799329798859863363409367284227984774036285225406907914374769101678217596010895547409731174519095324328685733927867775388147527283446630247255831913906603 23157548147455250520783913713835479469807642189116090761862291033808509974562548752097945730952252440704554395986728118545186683358894180200053465941050141910920686563674793703847104099390967292897276258191781701375056452451513000356609082139873463798954801278739309442798859160534988140354481359642576605144275606349553201306930342284005953142325650710039828212298846399090647704914262569320222539265598697231070653902337467427429693989968047591834974982918871820528390680809510857742119772524944958960961953020142034076363369299286187182484135425843670715617039810472103797503660205410717011325993036194908126604600818355015261351032375497952940351217602321474893509882620234293751034288334504574546398933510621204 37469699998694757104509438935888002614083760017582517992047006872056549633392927602430269085112859910674434040921252593970301693677260080693978524215507095987195604800821517905433195755086676504641413574032311145621149339283993202163925534704510922704927682276650693783238875751419644509333865552095628334732243958385334623436674751755646615386695931038756012424848118677766295280048280752065836087726420730010619565997795374712127125200507285434596964051907426900774032637085690138662079546153453004218667197034336088265661919107202408442972765891750954230314852609801902657367023614778001239310767072480133533512515193124116939568628386393500350082392121416799222195616548102069139181815617951204793654765424527807 60627248146150007625293352649723482083891402206698608753909297905865059607955476354528214816065112351378988436907980712515488377036154260894031990156557237898116291364496311609280299854477643797538689832224092846996205791735506202520534616844384386503882483555390003226037734911954632649688346911738204939876519564734887824743605094039652568529021581748795840637146965076856942984962543321386058626992019427241690219900132842139556819190475333026431939034826298721302423317895200996404199318678397963179629150054478122342025288406488595625456901317594624945931892420274006454870683820188718250636760108675041660117116011479132200919660761891453290433609723738274115705499168336362890216103952455779340053698935149011 98096948144844764729802791585611484697975162224281126745956304777921609241348403956958483901177972262053422477829233306485790070713414341588010514372064333885311896165317829514713495609564320302180103406256403992617355131019499404684460151548895309208810165832040697009276610663374277159022212463833833274608763523120222448180279845795299183915717512787551853061995083754623238265010824073451894714718440157252309785897928216851683944390982618461028903086733725622076455954980891135066278864831850967398296347088814210607687207513691004068429667209345579176246745030075909112237707434966719489947527181155175193629631204603249140488289148284953640516001845155073337901115716438432029397919570406984133708464359676818 158724196290994772355096144235334966781866564430979735499865602683786668849303880311486698717243084613432410914737214019001278447749568602482042504528621571783428187529814141123993795464041964099718793238480496839613560922755005607204994768393279695712692649387430700235314345575328909808710559375572038214485283087855110272923884939834951752444739094536347693699142048831480181249973367394837953341710459584494000005798061058991240763581457951487460842121560024343378879272876092131470478183510248930577925497143292332949712495920179599693886568526940204122178637450349915567108391255155437740584287289830216853746747216082381341407949910176406930949611568893347453606614884774794919614023522862763473762163294825829 256821144435839537084898935820946451479841726655260862245821907461708278090652284268445182618421056875485833392566447325487068518462982944070053018900685905668740083695131970638707291073606284401898896644736900832230916053774505011889454919942175004921502815219471397244590956238703186967732771839405871489094046610975332721104164785630250936360456607323899546761137132586103419514984191468289848056428899741746309791695989275842924707972440569948489745208293749965455335227856983266536757048342099897976221844232106543557399703433870603762316235736285783298425382480425824679346098690122157230531814470985392047376378420685630481896239058461360571465613414048420791507730601213226949011943093269747607470627654502647 415545340726834309439995080056281418261708291086240597745687510145494946939956164579931881335664141488918244307303661344488346966212551546552095523429307477452168271224946111762701086537648248501617689883217397671844476976529510619094449688335454700634195464606902097479905301814032096776443331214977909703579329698830442994028049725465202688805195701860247240460279181417583600764957558863127801398139359326240309797494050334834165471553898521435950587329853774308834214500733075398007235231852348828554147341375398876507112199354050203456202804263225987420604019930775740246454489945277594971116101760815608901123125636768011823304188968637767502415224982941768245114345485988021868625966616132511081232790949328476 672366485162673846524894015877227869741550017741501459991509417607203225030608448848377063954085198364404077699870108669975415484675534490622148542329993383120908354920078082401408377611254532903516586527954298504075393030304015630983904608277629705555698279826373494724496258052735283744176103054383781192673376309805775715132214511095453625165652309184146787221416314003687020279941750331417649454568259067986619589190039610677090179526339091384440332538147524274289549728590058664543992280194448726530369185607505420064511902787920807218519039999511770719029402411201564925800588635399752201647916231801000948499504057453642305200428027099128073880838396990189036622076087201248817637909709402258688703418603831123 1087911825889508155964889095933509288003258308827742057737196927752698171970564613428308945289749339853322322007173770014463762450888086037174244065759300860573076626145024194164109464148902781405134276411171696175919870006833526250078354296613084406189893744433275592204401559866767380520619434269361690896252706008636218709160264236560656313970848011044394027681695495421270621044899309194545450852707618394226929386684089945511255651080237612820390919868001298583123764229323134062551227512046797555084516526982904296571624102141971010674721844262737758139633422341977305172255078580677347172764017992616609849622629694221654128504616995736895576296063379931957281736421573189270686263876325534769769936209553159599 1760278311052182002489783111810737157744808326569243517728706345359901397001173062276686009243834538217726399707043878684439177935563620527796392608089294243693984981065102276565517841760157314308650862939125994679995263037137541881062258904890714111745592024259649086928897817919502664264795537323745472088926082318441994424292478747656109939136500320228540814903111809424957641324841059525963100307275877462213548975874129556188345830606576704204831252406148822857413313957913192727095219792241246281614885712590409716636136004929891817893240884262249528858662824753178870098055667216077099374411934224417610798122133751675296433705045022836023650176901776922146318358497660390519503901786034937028458639628156990722 2848190136941690158454672207744246445748066635396985575465903273112599568971737675704994954533583878071048721714217648698902940386451706564970636673848595104267061607210126470729627305909060095713785139350297690855915133043971068131140613201503798517935485768692924679133299377786270044785414971593107162985178788327078213133452742984216766253107348331272934842584807304846228262369740368720508551159983495856440478362558219501699601481686814317025222172274150121440537078187236326789646447304288043836699402239573314013207760107071862828567962728524987286998296247095156175270310745796754446547175952217034220647744763445896950562209662018572919226472965156854103600094919233579790190165662360471798228575837710150321 4608468447993872160944455319554983603492874961966229093194609618472500965972910737981680963777418416288775121421261527383342118322015327092767029281937889347961046588275228747295145147669217410022436002289423685535910396081108610012202872106394512629681077792952573766062197195705772709050210508916852635074104870645520207557745221731872876192243848651501475657487919114271185903694581428246471651467259373318654027338432349057887947312293391021230053424680298944297950392145149519516741667096529290118314287952163723729843896112001754646461203612787236815856959071848335045368366413012831545921587886441451831445866897197572246995914707041408942876649866933776249918453416893970309694067448395408826687215465867141043 7456658584935562319399127527299230049240941597363214668660512891585100534944648413686675918311002294359823843135479176082245058708467033657737665955786484452228108195485355218024772453578277505736221141639721376391825529125079678143343485307898311147616563561645498445195496573492042753835625480509959798059283658972598420691197964716089642445351196982774410500072726419117414166064321796966980202627242869175094505700990568559587548793980205338255275596954449065738487470332385846306388114400817333955013690191737037743051656219073617475029166341312224102855255318943491220638677158809585992468763838658486052093611660643469197558124369059981862103122832090630353518548336127550099884233110755880624915791303577291364 12065127032929434480343582846854213652733816559329443761855122510057601500917559151668356882088420710648598964556740703465587177030482360750504695237724373800189154783760583965319917601247494915758657143929145061927735925206188288155546357414292823777297641354598072211257693769197815462885835989426812433133388529618118628248943186447962518637595045634275886157560645533388600069758903225213451854094502242493748533039422917617475496106273596359485329021634748010036437862477535365823129781497346624073327978143900761472895552331075372121490369954099460918712214390791826266007043571822417538390351725099937883539478557841041444554039076101390804979772699024406603437001753021520409578300559151289451603006769444432407 19521785617864996799742710374153443701974758156692658430515635401642702035862207565355032800399423005008422807692219879547832235738949394408242361193510858252417262979245939183344690054825772421494878285568866438319561454331267966298889842722191134924914204916243570656453190342689858216721461469936772231192672188590717048940141151164052161082946242617050296657633371952506014235823225022180432056721745111668843038740413486177063044900253801697740604618589197075774925332809921212129517895898163958028341668335637799215947208550148989596519536295411685021567469709735317486645720730632003530859115563758423935633090218484510642112163445161372667082895531115036956955550089149070509462533669907170076518798073021723771 31586912650794431280086293221007657354708574716022102192370757911700303536779766717023389682487843715657021772248960583013419412769431755158747056431235232052606417763006523148664607656073267337253535429498011500247297379537456254454436200136483958702211846270841642867710884111887673679607297459363584664326060718208835677189084337612014679720541288251326182815194017485894614305582128247393883910816247354162591571779836403794538541006527398057225933640223945085811363195287456577952647677395510582101669646479538560688842760881224361718009906249511145940279684100527143752652764302454421069249467288858361819172568776325552086666202521262763472062668230139443560392551842170590919040834229058459528121804842466156178 51108698268659428079829003595161101056683332872714760622886393313343005572641974282378422482887266720665444579941180462561251648508381149566989417624746090305023680742252462332009297710899039758748413715066877938566858833868724220753326042858675093627126051187085213524164074454577531896328758929300356895518732906799552726129225488776066840803487530868376479472827389438400628541405353269574315967537992465831434610520249889971601585906781199754966538258813142161586288528097377790082165573293674540130011314815176359904789969431373351314529442544922830961847153810262461239298485033086424600108582852616785754805658994810062728778365966424136139145563761254480517348101931319661428503367898965629604640602915487879949 82695610919453859359915296816168758411391907588736862815257151225043309109421740999401812165375110436322466352190141045574671061277812904725736474055981322357630098505258985480673905366972307096001949144564889438814156213406180475207762242995159052329337897457926856391874958566465205575936056388663941559844793625008388403318309826388081520524028819119702662288021406924295242846987481516968199878354239819994026182300086293766140126913308597812192471899037087247397651723384834368034813250689185122231680961294714920593632730312597713032539348794433976902126837910789604991951249335540845669358050141475147573978227771135614815444568487686899611208231991393924077740653773490252347544202128024089132762407757954036127 133804309188113287439744300411329859468075240461451623438143544538386314682063715281780234648262377156987910932131321508135922709786194054292725891680727412662653779247511447812683203077871346854750362859631767377381015047274904695961088285853834145956463948645012069916039033021042737472264815317964298455363526531807941129447535315164148361327516349988079141760848796362695871388392834786542515845892232285825460792820336183737741712820089797567159010157850229408983940251482212158116978823982859662361692276109891280498422699743971064347068791339356807863973991721052066231249734368627270269466632994091933328783886765945677544222934454111035750353795752648404595088755704809913776047570026989718737403010673441916076 216499920107567146799659597227498617879467148050188486253400695763429623791485456281182046813637487593310377284321462553710593771064006959018462365736708735020283877752770433293357108444843653950752312004196656816195171260681085171168850528848993198285801846102938926307913991587507943048200871706628240015208320156816329532765845141552229881851545169107781804048870203286991114235380316303510715724246472105819486975120422477503881839733398395379351482056887316656381591974867046526151792074672044784593373237404606201092055430056568777379608140133790784766100829631841671223200983704168115938824683135567080902762114537081292359667502941797935361562027744042328672829409478300166123591772155013807870165418431395952203 350304229295680434239403897638828477347542388511640109691544240301815938473549171562962281461899864750298288216452784061846516480850201013311188257417436147682937657000281881106040311522715000805502674863828424193576186307955989867129938814702827344242265794747950996223953024608550680520465687024592538470571846688624270662213380456716378243179061519095860945809718999649686985623773151090053231570138704391644947767940758661241623552553488192946510492214737546065365532226349258684268770898654904446955065513514497481590478129800539841726676931473147592630074821352893737454450718072795386208291316129659014231546001303026969903890437395908971111915823496690733267918165183110079899639342182003526607568429104837868279 566804149403247581039063494866327095227009536561828595944944936065245562265034627844144328275537352343608665500774246615557110251914207972329650623154144882703221534753052314399397419967558654756254986868025081009771357568637075038298789343551820542528067640850889922531867016196058623568666558731220778485780166845440600194979225598268608125030606688203642749858589202936678099859153467393563947294385176497464434743061181138745505392286886588325861974271624862721747124201216305210420562973326949231548438750919103682682533559857108619106285071606938377396175650984735408677651701776963502147115999265226095134308115840108262263557940337706906473477851240733061940747574661410246023231114337017334477733847536233820482 917108378698928015278467392505155572574551925073468705636489176367061500738583799407106609737437217093906953717227030677403626732764408985640838880571581030386159191753334195505437731490273655561757661731853505203347543876593064905428728158254647886770333435598840918755820040804609304089132245755813316956352013534064870857192606054984986368209668207299503695668308202586365085482926618483617178864523880889109382511001939799987128944840374781272372466486362408787112656427565563894689333871981853678503504264433601164273011689657648460832962003080085970026250472337629146132102419849758888355407315394885109365854117143135232167448377733615877585393674737423795208665739844520325922870456519020861085302276641071688761 1483912528102175596317530887371482667801561461635297301581434112432307063003618427251250938012974569437515619218001277292960736984678616957970489503725725913089380726506386509904835151457832310318012648599878586213118901445230139943727517501806468429298401076449730841287687057000667927657798804487034095442132180379505471052171831653253594493240274895503146445526897405523043185342080085877181126158909057386573817254063120938732634337127261369598234440757987271508859780628781869105109896845308802910051943015352704846955545249514757079939247074687024347422426123322364554809754121626722390502523314660111204500162232983243494431006318071322784058871525978156857149413314505930571946101570856038195563036124177305509243 2401020906801103611595998279876638240376113386708766007217923288799368563742202226658357547750411786531422572935228307970364363717443025943611328384297306943475539918259720705410272882948105965879770310331732091416466445321823204849156245660061116316068734512048571760043507097805277231746931050242847412398484193913570341909364437708238580861449943102802650141195205608109408270825006704360798305023432938275683199765065060738719763281967636150870606907244349680295972437056347432999799230717290656588555447279786306011228556939172405540772209077767110317448676595659993700941856541476481278857930630054996313866016350126378726598454695804938661644265200715580652358079054350450897868972027375059056648338400818377198004 3884933434903279207913529167248120908177674848344063308799357401231675626745820653909608485763386355968938192153229585263325100702121642901581817888023032856564920644766107215315108034405938276197782958931610677629585346767053344792883763161867584745367135588498302601331194154805945159404729854729881507840616374293075812961536269361492175354690217998305796586722103013632451456167086790237979431182341995662257017019128181677452397619094897520468841348002336951804832217685129302104909127562599459498607390295139010858184102188687162620711456152454134664871102718982358255751610663103203669360453944715107518366178583109622221029461013876261445703136726693737509507492368856381469815073598231097252211374524995682707247 6285954341704382819509527447124759148553788235052829316017280690031044190488022880567966033513798142500360765088457893233689464419564668845193146272320339800040460563025827920725380917354044242077553269263342769046051792088876549642040008821928701061435870100546874361374701252611222391151660904972728920239100568206646154870900707069730756216140161101108446727917308621741859726992093494598777736205774933937940216784193242416172160901062533671339448255246686632100804654741476735104708358279890116087162837574925316869412659127859568161483665230221244982319779314642351956693467204579684948218384574770103832232194933236000947627915709681200107347401927409318161865571423206832367684045625606156308859712925814059905251 10170887776607662027423056614372880056731463083396892624816638091262719817233843534477574519277184498469298957241687478497014565121686311746774964160343372656605381207791935136040488951759982518275336228194953446675637138855929894434923771983796285806803005689045176962705895407417167550556390759702610428079716942499721967832436976431222931570830379099414243314639411635374311183159180284836757167388116929600197233803321424093624558520157431191808289603249023583905636872426606037209617485842489575585770227870064327727596761316546730782195121382675379647190882033624710212445077867682888617578838519485211350598373516345623168657376723557461553050538654103055671373063792063213837499119223837253561071087450809742612498 16456842118312044846932584061497639205285251318449721940833918781293764007721866415045540552790982640969659722330145371730704029541250980591968110432663712456645841770817763056765869869114026760352889497458296215721688930944806444076963780805724986868238875789592051324080596660028389941708051664675339348318817510706368122703337683500953687786970540200522690042556720257116170910151273779435534903593891863538137450587514666509796719421219964863147737858495710216006441527168082772314325844122379691672933065444989644597009420444406298943678786612896624629510661348267062169138545072262573565797223094255315182830568449581624116285292433238661660397940581512373833238635215270046205183164849443409869930800376623802517749 26627729894919706874355640675870519262016714401846614565650556872556483824955709949523115072068167139438958679571832850227718594662937292338743074593007085113251222978609698192806358820874009278628225725653249662397326069800736338511887552789521272675041881478637228286786492067445557492264442424377949776398534453206090090535774659932176619357800919299936933357196131892490482093310454064272292070982008793138334684390836090603421277941377396054956027461744733799912078399594688809523943329964869267258703293315053972324606181760953029725873907995572004276701543381891772381583622939945462183376061613740526533428941965927247284942669156796123213448479235615429504611699007333260042682284073280663431001887827433545130247 43084572013231751721288224737368158467301965720296336506484475653850247832677576364568655624859149780408618401901978221958422624204188272930711185025670797569897064749427461249572228689988036038981115223111545878119015000745542782588851333595246259543280757268229279610867088727473947433972494089053289124717351963912458213239112343433130307144771459500459623399752852149606653003461727843707826974575900656676472134978350757113217997362597360918103765320240444015918519926762771581838269174087248958931636358760043616921615602205359328669552694608468628906212204730158834550722168012208035749173284707995841716259510415508871401227961590034784873846419817127803337850334222603306247865448922724073300932688204057347647996 69712301908151458595643865413238677729318680122142951072135032526406731657633286314091770696927316919847577081473811072186141218867125565269454259618677882683148287728037159442378587510862045317609340948764795540516341070546279121100738886384767532218322638746866507897653580794919504926236936513431238901115886417118548303774887003365306926502572378800396556756948984042097135096772181907980119045557909449814806819369186847716639275303974756973059792781985177815830598326357460391362212504052118226190339652075097589246221783966312358395426602604040633182913748112050606932305790952153497932549346321736368249688452381436118686170630746830908087294899052743232842462033229936566290547732996004736731934576031490892778243 112796873921383210316932090150606836196620645842439287578619508180256979490310862678660426321786466700256195483375789294144563843071313838200165444644348680253045352477464620691950816200850081356590456171876341418635356071291821903689590219980013791761603396015095787508520669522393452360209430602484528025833238381031006517013999346798437233647343838300856180156701836191703788100233909751687946020133810106491278954347537604829857272666572117891163558102225621831749118253120231973200481678139367185121976010835141206167837386171671687064979297212509262089125952842209441483027958964361533681722631029732209965947962796944990087398592336865692961141318869871036180312367452539872538413181918728810032867264235548240426239 182509175829534668912575955563845513925939325964582238650754540706663711147944148992752197018713783620103772564849600366330705061938439403469619704263026562936193640205501780134329403711712126674199797120641136959151697141838101024790329106364781323979926034761962295406174250317312957286446367115915766926949124798149554820788886350163744160149916217101252736913650820233800923197006091659668065065691719556306085773716724452546496547970546874864223350884210799647579716579477692364562694182191485411312315662910238795414059170137984045460405899816549895272039700954260048415333749916515031614271977351468578215636415178381108773569223083696601048436217922614269022774400682476438828960914914733546764801840267039133204482 295306049750917879229508045714452350122559971807021526229374048886920690638255011671412623340500250320359968048225389660475268905009753241669785148907375243189238992682966400826280219912562208030790253292517478377787053213129922928479919326344795115741529430777058082914694919839706409646655797718400294952782363179180561337802885696962181393797260055402108917070352656425504711297240001411356011085825529662797364728064262057376353820637118992755386908986436421479328834832597924337763175860330852596434291673745380001581896556309655732525385197029059157361165653796469489898361708880876565295994608381200788181584377975326098860967815420562294009577536792485305203086768135016311367374096833462356797669104502587373630721 477815225580452548142084001278297864048499297771603764880128589593584401786199160664164820359214033940463740613074990026805973966948192645139404853170401806125432632888468180960609623624274334704990050413158615336938750354968023953270248432709576439721455465539020378320869170157019366933102164834316061879731487977330116158591772047125925553947176272503361653984003476659305634494246093071024076151517249219103450501780986509922850368607665867619610259870647221126908551412075616702325870042522338007746607336655618796995955726447639777985791096845609052633205354750729538313695458797391596910266585732669366397220793153707207634537038504258895058013754715099574225861168817492750196335011748195903562470944769626506835203 773121275331370427371592046992750214171059269578625291109502638480505092424454172335577443699714284260823708661300379687281242871957945886809190002077777049314671625571434581786889843536836542735780303705676093714725803568097946881750167759054371555462984896316078461235564089996725776579757962552716356832513851156510677496394657744088106947744436327905470571054356133084810345791486094482380087237342778881900815229845248567299204189244784860374997168857083642606237386244673541040089045902853190604180899010400998798577852282757295510511176293874668209994371008547199028212057167678268162206261194113870154578805171129033306495504853924821189067591291507584879428947936952509061563709108581658260360140049272213880465924 1250936500911822975513676048271048078219558567350229055989631228074089494210653332999742264058928318201287449274375369714087216838906138531948594855248178855440104258459902762747499467161110877440770354118834709051664553923065970835020416191763947995184440361855098839556433260153745143512860127387032418712245339133840793654986429791214032501691612600408832225038359609744115980285732187553404163388860028101004265731626235077222054557852450727994607428727730863733145937656749157742414915945375528611927506347056617595573808009204935288496967390720277262627576363297928566525752626475659759116527779846539520976025964282740514130041892429080084125605046222684453654809105770001811760044120329854163922610994041840387301127 2024057776243193402885268095263798292390617836928854347099133866554594586635107505335319707758642602462111157935675749401368459710864084418757784857325955904754775884031337344534389310697947420176550657824510802766390357491163917716770583950818319550647425258171177300791997350150470920092618089939748775544759190290351471151381087535302139449436048928314302796092715742828926326077218282035784250626202806982905080961471483644521258747097235588369604597584814506339383323901422698782503961848228719216108405357457616394151660291962230799008143684594945472621947371845127594737809794153927921322788973960409675554831135411773820625546746353901273193196337730269333083757042722510873323753228911512424282751043314054267767051 3274994277155016378398944143534846370610176404279083403088765094628684080845760838335061971817570920663398607210051119115455676549770222950706379712574134760194880142491240107281888777859058297617321011943345511818054911414229888551791000142582267545831865620026276140348430610304216063605478217326781194257004529424192264806367517326516171951127661528723135021131075352573042306362950469589188414015062835083909346693097718721743313304949686316364212026312545370072529261558171856524918877793604247828035911704514233989725468301167166087505111075315222735249523735143056161263562420629587680439316753806949196530857099694514334755588638782981357318801383952953786738566148492512685083797349241366588205362037355894655068178 5299052053398209781284212238798644663000794241207937750187898961183278667480868343670381679576213523125509765145726868516824136260634307369464164569900090664949656026522577451816278088557005717793871669767856314584445268905393806268561584093400587096479290878197453441140427960454686983698096307266529969801763719714543735957748604861818311400563710457037437817223791095401968632440168751624972664641265642066814427654569202366264572052046921904733816623897359876411912585459594555307422839641832967044144317061971850383877128593129396886513254759910168207871471106988183756001372214783515601762105727767358872085688235106288155381135385136882630511997721683223119822323191215023558407550578152879012488113080669948922835229 8574046330553226159683156382333491033610970645487021153276664055811962748326629182005443651393784443788908372355777987632279812810404530320170544282474225425144536169013817559098166866416064015411192681711201826402500180319623694820352584235982854642311156498223729581488858570758903047303574524593311164058768249138736000764116122188334483351691371985760572838354866447975010938803119221214161078656328477150723774347666921088007885356996608221098028650209905246484441847017766411832341717435437214872180228766486084373602596894296562974018365835225390943120994842131239917264934635413103282201422481574308068616545334800802490136724023919863987830799105636176906560889339707536243491347927394245600693475118025843577903407 13873098383951435940967368621132135696611764886694958903464563016995241415807497525675825330969997966914418137501504856149103949071038837689634708852374316090094192195536395010914444954973069733205064351479058140986945449225017501088914168329383441738790447376421183022629286531213590031001670831859841133860531968853279736721864727050152794752255082442798010655578657543376979571243287972839133743297594119217538202002236123454272457409043530125831845274107265122896354432477360967139764557077270181916324545828457934757479725487425959860531620595135559150992465949119423673266306850196618883963528209341666940702233569907090645517859409056746618342796827319400026383212530922559801898898505547124613181588198695792500738636 22447144714504662100650525003465626730222735532181980056741227072807204164134126707681268982363782410703326509857282843781383761881443368009805253134848541515238728364550212570012611821389133748616257033190259967389445629544641195909266752565366296381101603874644912604118145101972493078305245356453152297919300217992015737485980849238487278103946454428558583493933523991351990510046407194053294821953922596368261976349903044542280342766040138346929873924317170369380796279495127378972106274512707396788504774594944019131082322381722522834549986430360950094113460791250663590531241485609722166164950690915975009318778904707893135654583432976610606173595932955576932944101870630096045390246432941370213875063316721636078642043 36320243098456098041617893624597762426834500418876938960205790089802445579941624233357094313333780377617744647358787699930487710952482205699439961987222857605332920560086607580927056776362203481821321384669318108376391078769658696998180920894749738119892051251066095626747431633186083109306916188312993431779832186845295474207845576288640072856201536871356594149512181534728970081289695166892428565251516715585800178352139167996552800175083668472761719198424435492277150711972488346111870831589977578704829320423401953888562047869148482695081607025496509245105926740370087263797548335806341050128478900257641950021012474614983781172442842033357224516392760274976959327314401552655847289144938488494827056651515417428579380679 58767387812960760142268418628063389157057235951058919016947017162609649744075750941038363295697562788321071157216070543711871472833925573709245215122071399120571648924636820150939668597751337230437578417859578075765836708314299892907447673460116034500993655125711008230865576735158576187612161544766145729699132404837311211693826425527127350960147991299915177643445705526080960591336102360945723387205439311954062154702042212538833142941123806819691593122741605861657946991467615725083977106102684975493334095018345973019644370250871005529631593455857459339219387531620750854328789821416063216293429591173616959339791379322876916827026275009967830689988693230553892271416272182751892679391371429865040931714832139064658022722 95087630911416858183886312252661151583891736369935857977152807252412095324017375174395457609031343165938815804574858243642359183786407779408685177109294256725904569484723427731866725374113540712258899802528896184142227787083958589905628594354865772620885706376777103857613008368344659296919077733079139161478964591682606685901672001815767423816349528171271771792957887060809930672625797527838151952456956027539862333054181380535385943116207475292453312321166041353935097703440104071195847937692662554198163415441747926908206418120019488224713200481353968584325314271990838118126338157222404266421908491431258909360803853937860697999469117043325055206381453505530851598730673735407739968536309918359867988366347556493237403401 153855018724377618326154730880724540740948972320994776994099824415021745068093126115433820904728905954259886961790928787354230656620333353117930392231365655846476218409360247882806393971864877942696478220388474259908064495398258482813076267814981807121879361502488112088478585103503235484531239277845284891178096996519917897595498427342894774776497519471186949436403592586890891263961899888783875339662395339493924487756223593074219086057331282112144905443907647215593044694907719796279825043795347529691497510460093899927850788370890493754344793937211427923544701803611588972455127978638467482715338082604875868700595233260737614826495392053292885896370146736084743870146945918159632647927681348224908920081179695557895426123 248942649635794476510041043133385692324840708690930634971252631667433840392110501289829278513760249120198702766365787030996589840406741132526615569340659912572380787894083675614673119345978418654955378022917370444050292282482217072718704862169847579742765067879265215946091593471847894781450317010924424052657061588202524583497170429158662198592847047642458721229361479647700821936587697416622027292119351367033786820810404973609605029173538757404598217765073688569528142398347823867475672981488010083889660925901841826836057206490909981979057994418565396507870016075602427090581466135860871749137246574036134778061399087198598312825964509096617941102751600241615595468877619653567372616463991266584776908447527252051132829524 402797668360172094836195774014110233065789681011925411965352456082455585460203627405263099418489155074458589728156715818350820497027074485644545961572025568418857006303443923497479513317843296597651856243305844703958356777880475555531781129984829386864644429381753328034570178575351130265981556288769708943835158584722442481092668856501556973369344567113645670665765072234591713200549597305405902631781746706527711308566628566683824115230870039516743123208981335785121187093255543663755498025283357613581158436361935726763907994861800475733402788355776824431414717879214016063036594114499339231852584656641010646761994320459335927652459901149910826999121746977700339339024565571727005264391672614809685828528706947609028255647 651740317995966571346236817147495925390630389702856046936605087749889425852314128695092377932249404194657292494522502849347410337433815618171161530912685480991237794197527599112152632663821715252607234266223215148008649060362692628250485992154676966607409497261018543980661772047199025047431873299694132996492220172924967064589839285660219171962191614756104391895126551882292535137137294722027929923901098073561498129377033540293429144404408796921341340974055024354649329491603367531231171006771367697470819362263777553599965201352710457712460782774342220939284733954816443153618060250360210980989831230677145424823393407657934240478424410246528768101873347219315934807902185225294377880855663881394462736976234199660161085171 1054537986356138666182432591161606158456420070714781458901957543832345011312517756100355477350738559269115882222679218667698230834460890103815707492484711049410094800500971522609632145981665011850259090509529059851967005838243168183782267122139506353472053926642771872015231950622550155313413429588463841940327378757647409545682508142161776145331536181869750062560891624116884248337686892027433832555682844780089209437943662106977253259635278836438084464183036360139770516584858911194986669032054725311051977798625713280363873196214510933445863571130119045370699451834030459216654654364859550212842415887318156071585387728117270168130884311396439595100995094197016274146926750797021383145247336496204148565504941147269189340818 1706278304352105237528669408309102083847050460417637505838562631582234437164831884795447855282987963463773174717201721517045641171894705721986869023397396530401332594698499121721784778645486727102866324775752274999975654898605860812032753114294183320079463423903790415995893722669749180360845302888157974936819598930572376610272347427821995317293727796625854454456018175999176783474824186749461762479583942853650707567320695647270682404039687633359425805157091384494419846076462278726217840038826093008522797160889490833963838397567221391158324353904461266309984185788846902370272714615219761193832247117995301496408781135775204408609308721642968363202868441416332208954828936022315761026103000377598611302481175346929350425989 2760816290708243903711101999470708242303470531132418964740520175414579448477349640895803332633726522732889056939880940184743872006355595825802576515882107579811427395199470644331416924627151738953125415285281334851942660736849028995815020236433689673551517350546562288011125673292299335674258732476621816877146977688219786155954855569983771462625263978495604517016909800116061031812511078776895595035266787633739917005264357754247935663674966469797510269340127744634190362661321189921204509070880818319574774959515204114327711593781732324604187925034580311680683637622877361586927368980079311406674663005313457567994168863892474576740193033039407958303863535613348483101755686819337144171350336873802759867986116494198539766807 4467094595060349141239771407779810326150520991550056470579082806996813885642181525691251187916714486196662231657082661701789513178250301547789445539279504110212759989897969766053201703272638466055991740061033609851918315635454889807847773350727872993630980774450352704007019395962048516035104035364779791813966576618792162766227202997805766779918991775121458971472927976115237815287335265526357357514850730487390624572585053401518618067714654103156936074497219129128610208737783468647422349109706911328097572120404694948291549991348953715762512278939041577990667823411724263957200083595299072600506910123308759064402949999667678985349501754682376321506731977029680692056584622841652905197453337251401371170467291841127890192796 7227910885768593044950873407250518568453991522682475435319602982411393334119531166587054520550441008929551288596963601886533385184605897373592022055161611690024187385097440410384618627899790205009117155346314944703860976372303918803662793587161562667182498124996914992018145069254347851709362767841401608691113554307011948922182058567789538242544255753617063488489837776231298847099846344303252952550117518121130541577849411155766553731389620572954446343837346873762800571399104658568626858180587729647672347079919899062619261585130686040366700203973621889671351461034601625544127452575378384007181573128622216632397118863560153562089694787721784279810595512643029175158340309660990049368803674125204131038453408335326429959603 11695005480828942186190644815030328894604512514232531905898685789408207219761712692278305708467155495126213520254046263588322898362856198921381467594441115800236947374995410176437820331172428671065108895407348554555779292007758808611510566937889435660813478899447267696025164465216396367744466803206181400505080130925804111688409261565595305022463247528738522459962765752346536662387181609829610310064968248608521166150434464557285171799104274676111382418334566002891410780136888127216049207290294640975769919200324594010910811576479639756129212482912663467662019284446325889501327536170677456607688483251930975696800068863227832547439196542404160601317327489672709867214924932502642954566257011376605502208920700176454320152399 18922916366597535231141518222280847463058504036915007341218288771819600553881243858865360229017596504055764808851009865474856283547462096294973489649602727490261134760092850586822438959072218876074226050753663499259640268380062727415173360525050998327995977024444182688043309534470744219453829571047583009196193685232816060610591320133384843265007503282355585948452603528577835509487027954132863262615085766729651707728283875713051725530493895249065828762171912876654211351535992785784676065470882370623442266280244493073530073161610325796495912686886285357333370745480927515045454988746055840614870056380553192329197187726787986109528891330125944881127923002315739042373265242163633003935060685501809633247374108511780750112002 30617921847426477417332163037311176357663016551147539247116974561227807773642956551143665937484751999181978329105056129063179181910318295216354957244043843290498082135088260763260259290244647547139334946161012053815419560387821536026683927462940433988809455923891450384068473999687140587198296374253764409701273816158620172299000581698980148287470750811094108408415369280924372171874209563962473572680054015338172873878718340270336897329598169925177211180506478879545622131672880913000725272761177011599212185480569087084440884738089965552625125169798948824995390029927253404546782524916733297222558539632484168025997256590015818656968087872530105482445250491988448909588190174666275958501317696878415135456294808688235070264401 49540838214024012648473681259592023820721520588062546588335263333047408327524200410009026166502348503237743137956065994538035465457780391511328446893646570780759216895181111350082698249316866423213560996914675553075059828767884263441857287987991432316805432948335633072111783534157884806652125945301347418897467501391436232909591901832364991552478254093449694356867972809502207681361237518095336835295139782067824581607002215983388622860092065174243039942678391756199833483208873698785401338232059382222654451760813580157970957899700291349121037856685234182328760775408180919592237513662789137837428596013037360355194444316803804766496979202656050363573173494304187951961455416829908962436378382380224768703668917200015820376403 80158760061450490065805844296903200178384537139210085835452237894275216101167156961152692103987100502419721467061122123601214647368098686727683404137690414071257299030269372113342957539561513970352895943075687606890479389155705799468541215450931866305614888872227083456180257533845025393850422319555111828598741317550056405208592483531345139839949004904543802765283342090426579853235447082057810407975193797405997455485720556253725520189690235099420251123184870635745455614881754611786126610993236393821866637241382667242411842637790256901746163026484183007324150805335434324139020038579522435059987135645521528381191700906819623423465067075186155846018423986292636861549645591496184920937696079258639904159963725888250890640804 129699598275474502714279525556495223999106057727272632423787501227322624428691357371161718270489449005657464605017188118139250112825879078239011851031336984852016515925450483463425655788878380393566456939990363159965539217923590062910398503438923298622420321820562716528292041068002910200502548264856459247496208818941492638118184385363710131392427258997993497122151314899928787534596684600153147243270333579473822037092722772237114143049782300273663291065863262391945289098090628310571527949225295776044521089002196247400382800537490548250867200883169417189652911580743615243731257552242311572897415731658558888736386145223623428189962046277842206209591597480596824813511101008326093883374074461638864672863632643088266711017207 209858358336924992780085369853398424177490594866482718259239739121597840529858514332314410374476549508077186072078310241740464760193977764966695255169027398923273814955719855576768613328439894363919352883066050766856018607079295862378939718889855164928035210692789799984472298601847935594352970584411571076094950136491549043326776868895055271232376263902537299887434656990355367387832131682210957651245527376879819492578443328490839663239472535373083542189048133027690744712972382922357654560218532169866387726243578914642794643175280805152613363909653600196977062386079049567870277590821834007957402867304080417117577846130443051613427113353028362055610021466889461675060746599822278804311770540897504577023596368976517601658011 339557956612399495494364895409893648176596652593755350683027240348920464958549871703476128644965998513734650677095498359879714873019856843205707106200364383775290330881170339040194269117318274757485809823056413926821557825002885925289338222328778463550455532513352516512764339669850845794855518849268030323591158955433041681444961254258765402624803522900530797009585971890284154922428816282364104894515860956353641529671166100727953806289254835646746833254911395419636033811063011232929182509443827945910908815245775162043177443712771353403480564792823017386629973966822664811601535143064145580854818598962639305853963991354066479803389159630870568265201618947486286488571847608148372687685845002536369249887229012064784312675218 549416314949324488274450265263292072354087247460238068942266979470518305488408386035790539019442548021811836749173808601620179633213834608172402361369391782698564145836890194616962882445758169121405162706122464693677576432082181787668277941218633628478490743206142316497236638271698781389208489433679601399686109091924590724771738123153820673857179786803068096897020628880639522310260947964575062545761388333233461022249609429218793469528727371019830375443959528447326778524035394155286837069662360115777296541489354076685972086888052158556093928702476617583607036352901714379471812733885979588812221466266719722971541837484509531416816272983898930320811640414375748163632594207970651491997615543433873826910825381041301914333229 888974271561723983768815160673185720530683900053993419625294219819438770446958257739266667664408546535546487426269306961499894506233691451378109467569756166473854476718060533657157151563076443878890972529178878620499134257085067712957616163547412092028946275719494833010000977941549627184064008282947631723277268047357632406216699377412586076481983309703598893906606600770923677232689764246939167440277249289587102551920775529946747275817982206666577208698870923866962812335098405388216019579106188061688205356735129238729149530600823511959574493495299634970237010319724379191073347876950125169667040065229359028825505828838576011220205432614769498586013259361862034652204441816119024179683460545970243076798054393106086227008447 1438390586511048472043265425936477792884771147514231488567561199289957075935366643775057206683851094557358324175443115563120074139447526059550511828939147949172418622554950728274120034008834613000296135235301343314176710689167249500625894104766045720507437018925637149507237616213248408573272497716627233122963377139282223130988437500566406750339163096506666990803627229651563199542950712211514229986038637622820563574170384959165540745346709577686407584142830452314289590859133799543502856648768548177465501898224483315415121617488875670515668422197776252553844046672626093570545160610836104758479261531496078751797047666323085542637021705598668428906824899776237782815837036024089675671681076089404116903708879774147388141341676 2327364858072772455812080586609663513415455047568224908192855419109395846382324901514323874348259641092904811601712422524619968645681217510928621296508904115646273099273011261931277185571911056879187107764480221934675844946252317213583510268313457812536383294645131982517238594154798035757336505999574864846240645186639855537205136877978992826821146406210265884710233830422486876775640476458453397426315886912407666126091160489112288021164691784352984792841701376181252403194232204931718876227874736239153707254959612554144271148089699182475242915693075887524081056992350472761618508487786229928146301596725437780622553495161661553857227138213437927492838159138099817468041477840208699851364536635374359980506934167253474368350123 3765755444583820927855346012546141306300226195082456396760416618399352922317691545289381081032110735650263135777155538087740042785128743570479133125448052064818691721827961990205397219580745669879483242999781565248852555635419566714209404373079503533043820313570769132024476210368046444330609003716202097969204022325922078668193574378545399577160309502716932875513861060074050076318591188669967627412354524535228229700261545448277828766511401362039392376984531828495541994053366004475221732876643284416619209153184095869559392765578574852990911337890852140077925103664976566332163669098622334686625563128221516532419601161484747096494248843812106356399663058914337600283878513864298375523045612724778476884215813941400862509691799 6093120302656593383667426599155804819715681242650681304953272037508748768700016446803704955380370376743167947378867960612360011430809961081407754421956956180464964821100973252136674405152656726758670350764261787183528400581671883927792914641392961345580203608215901114541714804522844480087945509715776962815444667512561934205398711256524392403981455908927198760224094890496536953094231665128421024838670411447635895826352705937390116787676093146392377169826233204676794397247598209406940609104518020655772916408143708423703663913668274035466154253583928027602006160657327039093782177586408564614771864724946954313042154656646408650351475982025544283892501218052437417751919991704507075374410149360152836864722748108654336878041922 9858875747240414311522772611701946126015907437733137701713688655908101691017707992093086036412481112393431083156023498700100054215938704651886887547405008245283656542928935242342071624733402396638153593764043352432380956217091450642002319014472464878624023921786670246566191014890890924418554513431979060784648689838484012873592285635069791981141765411644131635737955950570587029412822853798388652251024935982864125526614251385667945554187494508431769546810765033172336391300964213882162341981161305072392125561327804293263056679246848888457065591474780167679931264322303605425945846685030899301397427853168470845461755818131155746845724825837650640292164276966775018035798505568805450897455762084931313748938562050055199387733721 15951996049897007695190199210857750945731588680383819006666960693416850459717724438896790991792851489136599030534891459312460065646748665733294641969361964425748621364029908494478746029886059123396823944528305139615909356798763334569795233655865426224204227530002571361107905819413735404506500023147756023600093357351045947078990996891594184385123221320571330395962050841067123982507054518926809677089695347430500021352966957323058062341863587654824146716636998237849130788548562423289102951085679325728165041969471512716966720592915122923923219845058708195281937424979630644519728024271439463916169292578115425158503910474777564397197200807863194924184665495019212435787718497273312526271865911445084150613661310158709536265775643 25810871797137422006712971822559697071747496118116956708380649349324952150735432430989877028205332601530030113690914958012560119862687370385181529516766972671032277906958843736820817654619461520034977538292348492048290313015854785211797552670337891102828251451789241607674096834304626328925054536579735084384742047189529959952583282526663976366264986732215462031700006791637711011919877372725198329340720283413364146879581208708726007896051082163255916263447763271021467179849526637171265293066840630800557167530799317010229777272161971812380285436533488362961868689301934249945673870956470363217566720431283896003965666292908720144042925633700845564476829771985987453823517002842117977169321673530015464362599872208764735653509364 41762867847034429701903171033417448017479084798500775715047610042741802610453156869886668019998184090666629144225806417325020185509436036118476171486128937096780899270988752231299563684505520643431801482820653631664199669814618119781592786326203317327032478981791812968782002653718361733431554559727491107984835404540575907031574279418258160751388208052786792427662057632704834994426931891652008006430415630843864168232548166031784070237914669818080062980084761508870597968398089060460368244152519956528722209500270829727196497865077094736303505281592196558243806114281564894465401895227909827133736013009399321162469576767686284541240126441564040488661495267005199889611235500115430503441187584975099614976261182367474271919285007 67573739644171851708616142855977145089226580916617732423428259392066754761188589300876545048203516692196659257916721375337580305372123406503657701002895909767813177177947595968120381339124982163466779021113002123712489982830472904993390338996541208429860730433581054576456099488022988062356609096307226192369577451730105866984157561944922137117653194785002254459362064424342546006346809264377206335771135914257228315112129374740510078133965751981335979243532524779892065148247615697631633537219360587329279377031070146737426275137239066548683790718125684921205674803583499144411075766184380190351302733440683217166435243060595004685283052075264886053138325038991187343434752502957548480610509258505115079338861054576239007572794371 109336607491206281410519313889394593106705665715118508138475869434808557371641746170763213068201700782863288402142527792662600490881559442622133872489024846864594076448936348199419945023630502806898580503933655755376689652645091024774983125322744525756893209415372867545238102141741349795788163656034717300354412856270681774015731841363180297869041402837789046887024122057047381000773741156029214342201551545101092483344677540772294148371880421799416042223617286288762663116645704758092001781371880543858001586531340976464622773002316161284987295999717881479449480917865064038876477661412290017485038746450082538328904819828281289226523178516828926541799820305996387233045988003072978984051696843480214694315122236943713279492079378 176910347135378133119135456745371738195932246631736240561904128826875312132830335471639758116405217475059947660059249168000180796253682849125791573491920756632407253626883944167540326362755484970365359525046657879089179635475563929768373464319285734186753939848953922121694201629764337858144772752341943492723990308000787640999889403308102434986694597622791301346386186481389927007120550420406420677972687459358320798456806915512804226505846173780752021467149811068654728264893320455723635318591241131187280963562411123202049048139555227833671086717843566400655155721448563183287553427596670207836341479890765755495340062888876293911806230592093812594938145344987574576480740506030527464662206101985329773653983291519952287064873749 286246954626584414529654770634766331302637912346854748700379998261683869504472081642402971184606918257923236062201776960662781287135242291747925445980945603497001330075820292366960271386385987777263940028980313634465869288120654954543356589642030259943647149264326789666932303771505687653932936408376660793078403164271469415015621244671282732855736000460580348233410308538437308007894291576435635020174239004459413281801484456285098374877726595580168063690767097357417391381539025213815637099963121675045282550093752099666671821141871389118658382717561447880104636639313627222164031089008960225321380226340848293824244882717157583138329409108922739136737965650983961809526728509103506448713902945465544467969105528463665566556953127 463157301761962547648790227380138069498570158978590989262284127088559181637302417114042729301012135732983183722261026128662962083388925140873717019472866360129408583702704236534500597749141472747629299554026971513555048923596218884311730053961315994130401089113280711788626505401270025512077709160718604285802393472272257056015510647979385167842430598083371649579796495019827235015014841996842055698146926463817734080258291371797902601383572769360920085157916908426072119646432345669539272418554362806232563513656163222868720869281426616952329469435405014280759792360762190405451584516605630433157721706231614049319584945606033877050135639701016551731676110995971536386007469015134033913376109047450874241623088819983617853621826876 749404256388546962178444998014904400801208071325445737962664125350243051141774498756445700485619053990906419784462803089325743370524167432621642465453811963626409913778524528901460869135527460524893239583007285148020918211716873838855086643603346254074048238377607501455558809172775713166010645569095265078880796636543726471031131892650667900698166598543951997813206803558264543022909133573277690718321165468277147362059775828083000976261299364941088148848684005783489511027971370883354909518517484481277846063749915322535392690423298006070987852152966462160864429000075817627615615605614590658479101932572462343143829828323191460188465048809939290868414076646955498195534197524237540362090011992916418709592194348447283420178780003 1212561558150509509827235225395042470299778230304036727224948252438802232779076915870488429786631189723889603506723829217988705453913092573495359484926678323755818497481228765435961466884668933272522539137034256661575967135313092723166816697564662248204449327490888213244185314574045738678088354729813869364683190108815983527046642540630053068540597196627323647393003298578091778037923975570119746416468091932094881442318067199880903577644872134302008234006600914209561630674403716552894181937071847287510409577406078545404113559704724623023317321588371476441624221360838008033067200122220221091636823638804076392463414773929225337238600688510955842600090187642927034581541666539371574275466121040367292951215283168430901273800606879 1961965814539056472005680223409946871100986301629482465187612377789045283920851414626934130272250243714796023291186632307314448824437260006117001950380490287382228411259753294337422336020196393797415778720041541809596885347029966562021903341168008502278497565868495714699744123746821451844099000298909134443563986745359709998077774433280720969238763795171275645206210102136356321060833109143397437134789257400372028804377843027963904553906171499243096382855284919993051141702375087436249091455589331768788255641155993867939506250128022629094305173741337938602488650360913825660682815727834811750115925571376538735607244602252416797427065737320895133468504264289882532777075864063609114637556133033283711660807477516878184693979386882 3174527372689565981832915448804989341400764531933519192412560630227847516699928330497422560058881433438685626797910461525303154278350352579612361435307168611138046908740982059773383802904865327069938317857075798471172852482343059285188720038732670750482946893359383927943929438320867190522187355028723003808247176854175693525124416973910774037779360991798599292599213400714448099098757084713517183551257349332466910246695910227844808131551043633545104616861885834202612772376778803989143273392661179056298665218562072413343619809832747252117622495329709415044112871721751833693750015850055032841752749210180615128070659376181642134665666425831850976068594451932809567358617530602980688913022254073651004612022760685309085967779993761 5136493187228622453838595672214936212501750833563001657600173008016892800620779745124356690331131677153481650089097093832617603102787612585729363385687658898520275320000735354110806138925061720867354096577117340280769737829373025847210623379900679252761444459227879642643673562067688642366286355327632138251811163599535403523202191407191495007018124786969874937805423502850804420159590193856914620686046606732838939051073753255808712685457215132788200999717170754195663914079153891425392364848250510825086920859718066281283126059960769881211927669071047353646601522082665659354432831577889844591868674781557153863677903978434058932092732163152746109537098716222692100135693394666589803550578387106934716272830238202187270661759380643 8311020559918188435671511121019925553902515365496520850012733638244740317320708075621779250390013110592167276887007555357920757381137965165341724820994827509658322228741717413884189941829927047937292414434193138751942590311716085132399343418633350003244391352587263570587603000388555832888473710356355142060058340453711097048326608381102269044797485778768474230404636903565252519258347278570431804237303956065305849297769663483653520817008258766333305616579056588398276686455932695414535638240911689881385586078280138694626745869793517133329550164400756768690714393804417493048182847427944877433621423991737768991748563354615701066758398588984597085605693168155501667494310925269570492463600641180585720884852998887496356629539374404 13447513747146810889510106793234861766404266199059522507612906646261633117941487820746135940721144787745648926976104649190538360483925577751071088206682486408178597548742452767994996080754988768804646511011310479032712328141089110979609966798534029256005835811815143213231276562456244475254760065683987280311869504053246500571528799788293764051815610565738349168210060406416056939417937472427346424923350562798144788348843416739462233502465473899121506616296227342593940600535086586839928003089162200706472506937998204975909871929754287014541477833471804122337315915887083152402615679005834722025490098773294922855426467333049759998851130752137343195142791884378193767630004319936160296014179028287520437157683237089683627291298755047 21758534307064999325181617914254787320306781564556043357625640284506373435262195896367915191111157898337816203863112204548459117865063542916412813027677313917836919777484170181879186022584915816741938925445503617784654918452805196112009310217167379259250227164402406783818879562844800308143233776040342422371927844506957597619855408169396033096613096344506823398614697309981309458676284750997778229160654518863450637646613080223115754319473732665454812232875283930992217286991019282254463641330073890587858093016278343670536617799547804147871027997872560891028030309691500645450798526433779599459111522765032691847175030687665461065609529341121940280748485052533695435124315245205730788477779669468106158042536235977179983920838129451 35206048054211810214691724707489649086711047763615565865238546930768006553203683717114051131832302686083465130839216853738997478348989120667483901234359800326015517326226622949874182103339904585546585436456814096817367246593894307091619277015701408515256062976217549997050156125301044783397993841724329702683797348560204098191384207957689797148428706910245172566824757716397366398094222223425124654084005081661595425995456496962577987821939206564576318849171511273586157887526105869094391644419236091294330599954276548646446489729302091162412505831344365013365346225578583797853414205439614321484601621538327614702601498020715221064460660093259283475891276936911889202754319565141891084491958697755626595200219473066863611212136884498 56964582361276809539873342621744436407017829328171609222864187215274379988465879613481966322943460584421281334702329058287456596214052663583896714262037114243852437103710793131753368125924820402288524361902317714602022165046699503203628587232868787774506290140619956780869035688145845091541227617764672125055725193067161695811239616127085830245041803254751995965439455026378675856770506974422902883244659600525046063642069577185693742141412939230031131082046795204578375174517125151348855285749309981882188692970554892316983107528849895310283533829216925904393376535270084443304212731873393920943713144303360306549776528708380682130070189434381223756639761989445584637878634810347621872969738367223732753242755709044043595132975013949 92170630415488619754565067329234085493728877091787175088102734146042386541669563330596017454775763270504746465541545912026454074563041784251380615496396914569867954429937416081627550229264724987835109798359131811419389411640593810295247864248570196289762353116837506777919191813446889874939221459489001827739522541627365794002623824084775627393470510164997168532264212742776042254864729197848027537328664682186641489637526074148271729963352145794607449931218306478164533062043231020443246930168546073176519292924831440963429597258151986472696039660561290917758722760848668241157626937313008242428314765841687921252378026729095903194530849527640507232531038926357473840632954375489512957461697064979359348442975182110907206345111898447 149135212776765429294438409950978521900746706419958784310966921361316766530135442944077983777719223854926027800243874970313910670777094447835277329758434028813720391533648209213380918355189545390123634160261449526021411576687293313498876451481438984064268643257457463558788227501592734966480449077253673952795247734694527489813863440211861457638512313419749164497703667769154718111635236172270930420573324282711687553279595651333965472104765085024638581013265101682742908236560356171792102215917856055058707985895386333280412704787001881782979573489778216822152099296118752684461839669186402163372027910145048227802154555437476585324601038962021730989170800915803058478511589185837134830431435432203092101685730891154950801478086912396 241305843192254049049003477280212607394475583511745959399069655507359153071805006274674001232494987125430774265785420882340364745340136232086657945254830943383588345963585625295008468584454270377958743958620581337440800988327887123794124315730009180354030996374294970336707419315039624841419670536742675780534770276321893283816487264296637085031982823584746333029967880511930760366499965370118957957901988964898329042917121725482237202068117230819246030944483408160907441298603587192235349146086402128235227278820217774243842302045153868255675613150339507739910822056967420925619466606499410405800342675986736149054532582166572488519131888489662238221701839842160532319144543561326647787893132497182451450128706073265858007823198810843 390441055969019478343441887231191129295222289931704743710036576868675919601940449218751985010214210980356802066029295852654275416117230679921935275013264972197308737497233834508389386939643815768082378118882030863462212565015180437293000767211448164418299639631752433895495646816632359807900119613996349733330018011016420773630350704508498542670495137004495497527671548281085478478135201542389888378475313247610016596196717376816202674172882315843884611957748509843650349535163943364027451362004258183293935264715604107524255006832155750038655186640117724562062921353086173610081306275685812569172370586131784376856687137604049073843732927451683969210872640757963590797656132747163782618324567929385543551814436964420808809301285723239 631746899161273527392445364511403736689697873443450703109106232376035072673745455493425986242709198105787576331814716734994640161457366912008593220268095915580897083460819459803397855524098086146041122077502612200903013553343067561087125082941457344772330636006047404232203066131671984649319790150739025513864788287338314057446837968805135627702477960589241830557639428793016238844635166912508846336377302212508345639113839102298439876240999546663130642902231918004557790833767530556262800508090660311529162543535821881768097308877309618294330799790457232301973743410053594535700772882185222974972713262118520525911219719770621562362864815941346207432574480600124123116800676308490430406217700426567995001943143037686666817124484534082 1022187955130293005735887251742594865984920163375155446819142809244710992275685904712177971252923409086144378397844012587648915577574597591930528495281360887778205820958053294311787242463741901914123500196384643064365226118358247998380125850152905509190630275637799838127698712948304344457219909764735375247194806298354734831077188673313634170372973097593737328085310977074101717322770368454898734714852615460118362235310556479114642550413881862507015254859980427848208140368931473920290251870094918494823097808251425989292352315709465368332985986430574956864036664763139768145782079157871035544145083848250304902767906857374670636206597743393030176643447121358087713914456809055654213024542268355953538553757580002107475626425770257321 1653934854291566533128332616253998602674618036818606149928249041620746064949431360205603957495632607191931954729658729322643555739031964503939121715549456803359102904418872754115185097987839988060164622273887255265268239671701315559467250933094362853962960911643847242359901779079976329106539699915474400761059594585693048888524026642118769798075451058182979158642950405867117956167405535367407581051229917672626707874424395581413082426654881409170145897762212345852765931202699004476553052378185578806352260351787247871060449624586774986627316786221032189166010408173193362681482852040056258519117797110368825428679126577145292198569462559334376384076021601958211837031257485364144643430759968782521533555700723039794142443550254791403 2676122809421859538864219867996593468659538200193761596747391850865457057225117264917781928748556016278076333127502741910292471316606562095869650210830817691137308725376926048426972340451581889974288122470271898329633465790059563557847376783247268363153591187281647080487600492028280673563759609680209776008254400884047783719601215315432403968448424155776716486728261382941219673490175903822306315766082533132745070109734952060527724977068763271677161152622192773700974071571630478396843304248280497301175358160038673860352801940296240354960302772651607146030047072936333130827264931197927294063262880958619130331447033434519962834776060302727406560719468723316299550945714294419798856455302237138475072109458303041901618069976025048724 4330057663713426071992552484250592071334156237012367746675640892486203122174548625123385886244188623470008287857161471232936027055638526599808771926380274494496411629795798802542157438439421878034452744744159153594901705461760879117314627716341631217116552098925494322847502271108257002670299309595684176769313995469740832608125241957551173766523875213959695645371211788808337629657581439189713896817312450805371777984159347641940807403723644680847307050384405119553740002774329482873396356626466076107527618511825921731413251564883015341587619558872639335196057481109526493508747783237983552582380678068987955760126160011665255033345522862061782944795490325274511387976971779783943499886062205920996605665159026081695760513526279840127 7006180473135285610856772352247185539993694437206129343423032743351660179399665890041167814992744639748084620984664213143228498372245088695678422137211092185633720355172724850969129778891003768008740867214431051924535171251820442675162004499588899580270143286207141403335102763136537676234058919275893952777568396353788616327726457272983577734972299369736412132099473171749557303147757343012020212583394983938116848093894299702468532380792407952524468203006597893254714074345959961270239660874746573408702976671864595591766053505179255696547922331524246481226104554045859624336012714435910846645643559027607086091573193446185217868121583164789189505514959048590810938922686074203742356341364443059471677774617329123597378583502304888851 11336238136848711682849324836497777611327850674218497090098673635837863301574214515164553701236933263218092908841825684376164525427883615295487194063591366680130131984968523653511287217330425646043193611958590205519436876713581321792476632215930530797386695385132635726182605034244794678904358228871578129546882391823529448935851699230534751501496174583696107777470684960557894932805338782201734109400707434743488626078053647344409339784516052633371775253391003012808454077120289444143636017501212649516230595183690517323179305070062271038135541890396885816422162035155386117844760497673894399228024237096595041851699353457850472901467106026850972450310449373865322326899657853987685856227426648980468283439776355205293139097028584728978 18342418609983997293706097188744963151321545111424626433521706379189523480973880405205721516229677902966177529826489897519393023800128703991165616200802458865763852340141248504480416996221429414051934479173021257443972047965401764467638636715519430377656838671339777129517707797381332355138417148147472082324450788177318065263578156503518329236468473953432519909570158132307452235953096125213754321984102418681605474171947947046877872165308460585896243456397600906063168151466249405413875678375959222924933571855555112914945358575241526734683464221921132297648266589201245742180773212109805245873667796124202127943272546904035690769588689191640161955825408422456133265822343928191428212568791092039939961214393684328890517680530889617829 29678656746832708976555422025242740762649395785643123523620380015027386782548094920370275217466611166184270438668315581895557549228012319286652810264393825545893984325109772157991704213551855060095128091131611462963408924678983086260115268931449961175043534056472412855700312831626127034042775377019050211871333180000847514199429855734053080737964648537128627687040843092865347168758434907415488431384809853425094100250001594391287211949824513219268018709788603918871622228586538849557511695877171872441164167039245630238124663645303797772819006112318018114070428624356631860025533709783699645101692033220797169794971900361886163671055795218491134406135857796321455592722001782179114068796217741020408244654170039534183656777559474346807 48021075356816706270261519213987703913970940897067749957142086394216910263521975325575996733696289069150447968494805479414950573028141023277818426465196284411657836665251020662472121209773284474147062570304632720407380972644384850727753905646969391552700372727812189985218020629007459389181192525166522294195783968178165579463008012237571409974433122490561147596611001225172799404711531032629242753368912272106699574421949541438165084115132973805164262166186204824934790380052788254971387374253131095366097738894800743153070022220545324507502470334239150411718695213557877602206306921893504890975359829344999297738244447265921854440644484410131296361961266218777588858544345710370542281365008833060348205868563723863074174458090363964636 77699732103649415246816941239230444676620336682710873480762466409244297046070070245946271951162900235334718407163121061310508122256153342564471236729590109957551820990360792820463825423325139534242190661436244183370789897323367936987869174578419352727743906784284602840918333460633586423223967902185572506067117148179013093662437867971624490712397771027689775283651844318038146573469965940044731184753722125531793674671951135829452296064957487024432280875974808743806412608639327104528899070130302967807261905934046373391194685865849122280321476446557168525789123837914509462231840631677204536077051862565796467533216347627808018111700279628622430768097124015099044451266347492549656350161226574080756450522733763397257831235649838311443 125720807460466121517078460453218148590591277579778623437904552803461207309592045571522268684859189304485166375657926540725458695284294365842289663194786394369209657655611813482935946633098424008389253231740876903778170869967752787715623080225388744280444279512096792826136354089641045812405160427352094800262901116357178673125445880209195900686830893518250922880262845543210945978181496972673973938122634397638493249093900677267617380180090460829596543042161013568741202988692115359500286444383434063173359644828847116544264708086394446787823946780796318937507819051472387064438147553570709427052411691910795765271460794893729872552344764038753727130058390233876633309810693202920198631526235407141104656391297487260332005693740202276079 203420539564115536763895401692448593267211614262489496918667019212705504355662115817468540636022089539819884782821047602035966817540447708406760899924376504326761478645972606303399772056423563542631443893177121087148960767291120724703492254803808097008188186296381395667054687550274632235629128329537667306330018264536191766787883748180820391399228664545940698163914689861249092551651462912718705122876356523170286923765851813097069676245047947854028823918135822312547615597331442464029185514513737030980621550762893489935459393952243569068145423227353487463296942889386896526669988185247913963129463554476592232804677142521537890664045043667376157898155514248975677761077040695469854981687461981221861106914031250657589836929390040587522 329141347024581658280973862145666741857802891842268120356571572016166711665254161388990809320881278844305051158478974142761425512824742074249050563119162898695971136301584419786335718689521987551020697124917997990927131637258873512419115335029196841288632465808478188493191041639915678048034288756889762106592919380893370439913329628390016292086059558064191621044177535404460038529832959885392679060998990920808780172859752490364687056425138408683625366960296835881288818586023557823529471958897171094153981195591740606479724102038638015855969370008149806400804761940859283591108135738818623390181875246387387998076137937415267763216389807706129885028213904482852311070887733898390053613213697388362965763305328737917921842623130242863601 532561886588697195044869263838115335125014506104757617275238591228872216020916277206459349956903368384124935941300021744797392330365189782655811463043539403022732614947557026089735490745945551093652141018095119078076092404549994237122607589833004938296820652104859584160245729190190310283663417086427429412922937645429562206701213376570836683485288222610132319208092225265709131081484422798111384183875347443979067096625604303461756732670186356537654190878432658193836434183355000287558657473410908125134602746354634096415183495990881584924114793235503293864101704830246180117778123924066537353311338800863980230880815079936805653880434851373506042926369418731827988831964774593859908594901159369584826870219359988575511679552520283451123 861703233613278853325843125983782076982817397947025737631810163245038927686170438595450159277784647228429987099778995887558817843189931856904862026162702301718703751249141445876071209435467538644672838143013117069003224041808867749541722924862201779585453117913337772653436770830105988331697705843317191519515857026322932646614543004960852975571347780674323940252269760670169169611317382683504063244874338364787847269485356793826443789095324765221279557838729494075125252769378558111088129432308079219288583941946374702894907598029519600780084163243653100264906466771105463708886259662885160743493214047251368228956953017352073417096824659079635927954583323214680299902852508492249962208114856757947792633524688726493433522175650526314724 1394265120201976048370712389821897412107831904051783354907048754473911143707086715801909509234688015612554923041079017632356210173555121639560673489206241704741436366196698471965806700181413089738324979161108236147079316446358861986664330514695206717882273770018197356813682500020296298615361122929744620932438794671752494853315756381531689659056636003284456259460361985935878300692801805481615447428749685808766914366110961097288200521765511121758933748717162152268961686952733558398646786905718987344423186688301008799310091094020401185704198956479156394129008171601351643826664383586951698096804552848115348459837768097288879070977259510453141970880952741946508288734817283086109870803016016127532619503744048715068945201728170809765847 2255968353815254901696555515805679489090649301998809092538858917718950071393257154397359668512472662840984910140858013519915028016745053496465535515368944006460140117445839917841877909616880628382997817304121353216082540488167729736206053439557408497467726887931535129467119270850402286947058828773061812451954651698075427499930299386492542634627983783958780199712631746606047470304119188165119510673624024173554761635596317891114644310860835886980213306555891646344086939722112116509734916338027066563711770630247383502204998692049920786484283119722809494393914638372457107535550643249836858840297766895366716688794721114640952488074084169532777898835536065161188588637669791578359833011130872885480412137268737441562378723903821336080571 3650233474017230950067267905627576901198481206050592447445907672192861215100343870199269177747160678453539833181937031152271238190300175136026209004575185711201576483642538389807684609798293718121322796465229589363161856934526591722870383954252615215350000657949732486280801770870698585562419951702806433384393446369827922353246055768024232293684619787243236459172993732541925770996920993646734958102373709982321676001707278988402844832626347008739147055273053798613048626674845674908381703243746053908134957318548392301515089786070321972188482076201965888522922809973808751362215026836788556937102319743482065148632489211929831559051343679985919869716488807107696877372487074664469703814146889013013031641012786156631323925631992145846418 5906201827832485851763823421433256390289130508049401539984766589911811286493601024596628846259633341294524743322795044672186266207045228632491744519944129717661716601088378307649562519415174346504320613769350942579244397422694321459076437393810023712817727545881267615747921041721100872509478780475868245836348098067903349853176355154516774928312603571202016658885625479147973241301040181811854468775997734155876437637303596879517489143487182895719360361828945444957135566396957791418116619581773120471846727948795775803720088478120242758672765195924775382916837448346265858897765670086625415777400086638848781837427210326570784047125427849518697768552024872268885466010156866242829536825277761898493443778281523598193702649535813481926989 9556435301849716801831091327060833291487611714099993987430674262104672501593944894795898024006794019748064576504732075824457504397345403768517953524519315428863293084730916697457247129213468064625643410234580531942406254357220913181946821348062638928167728203831000102028722812591799458071898732178674679220741544437731272206422410922541007221997223358445253118058619211689899012297961175458589426878371444138198113639010875867920333976113529904458507417101999243570184193071803466326498322825519174379981685267344168105235178264190564730861247272126741271439760258320074610259980696923413972714502406382330846986059699538500615606176771529504617638268513679376582343382643940907299240639424650911506475419294309754825026575167805627773407 15462637129682202653594914748494089681776742222149395527415440852016483788087545919392526870266427361042589319827527120496643770604390632401009698044463445146525009685819295005106809648628642411129964024003931474521650651779915234641023258741872662640985455749712267717776643854312900330581377512654542925057089642505634622059598766077057782150309826929647269776944244690837872253599001357270443895654369178294074551276314472747437823119600712800177867778930944688527319759468761257744614942407292294851828413216139943908955266742310807489534012468051516654356597706666340469157746367010039388491902493021179628823486909865071399653302199379023315406820538551645467809392800807150128777464702412809999919197575833353018729224703619109700396 25019072431531919455426006075554922973264353936249389514846115114121156289681490814188424894273221380790653896332259196321101275001736036169527651568982760575388302770550211702564056777842110475755607434238512006464056906137136147822970080089935301569153183953543267819805366666904699788653276244833217604277831186943365894266021176999598789372307050288092522895002863902527771265896962532729033322532740622432272664915325348615358157095714242704636375196032943932097503952540564724071113265232811469231810098483484112014190445006501372220395259740178257925796357964986415079417727063933453361206404899403510475809546609403572015259478970908527933045089052231022050152775444748057428018104127063721506394616870143107843755799871424737473803 40481709561214122109020920824049012655041096158398785042261555966137640077769036733580951764539648741833243216159786316817745045606126668570537349613446205721913312456369506707670866426470752886885571458242443480985707557917051382463993338831807964210138639703255535537582010521217600119234653757487760529334920829449000516325619943076656571522616877217739792671947108593365643519495963889999477218187109800726347216191639821362795980215314955504814242974963888620624823712009325981815728207640103764083638511699624055923145711748812179709929272208229774580152955671652755548575473430943492749698307392424690104633033519268643414912781170287551248451909590782667517962168245555207556795568829476531506313814445976460862485024575043847174199 65500781992746041564446926899603935628305450094648174557107671080258796367450527547769376658812870122623897112492045513138846320607862704740065001182428966297301615226919718410234923204312863362641178892480955487449764464054187530286963418921743265779291823656798803357387377188122299907887930002320978133612752016392366410591641120076255360894923927505832315566949972495893414785392926422728510540719850423158619881106965169978154137311029198209450618170996832552722327664549890705886841472872915233315448610183108167937336156755313551930324531948408032505949313636639170627993200494876946110904712291828200580442580128672215430172260141196079181496998643013689568114943690303264984813672956540253012708431316119568706240824446468584648002 105982491553960163673467847723652948283346546253046959599369227046396436445219564281350328423352518864457140328651831829956591366213989373310602350795875172019214927683289225117905789630783616249526750350723398968435472021971238912750956757753551229989430463360054338894969387709339900027122583759808738662947672845841366926917261063152911932417540804723572108238897081089259058304888890312727987758906960223884967097298604991340950117526344153714264861145960721173347151376559216687702569680513018997399087121882732223860481868504125731640253804156637807086102269308291926176568673925820438860603019684252890685075613647940858845085041311483630429948908233796357086077111935858472541609241786016784519022245762096029568725849021512431822201 171483273546706205237914774623256883911651996347695134156476898126655232812670091829119705082165388987081037441143877343095437686821852078050667351978304138316516542910208943528140712835096479612167929243204354455885236486025426443037920176675294495768722287016853142252356764897462199935010513762129716796560424862233733337508902183229167293312464732229404423805847053585152473090281816735456498299626810647043586978405570161319104254837373351923715479316957553726069479041109107393589411153385934230714535732065840391797818025259439283570578336105045839592051582944931096804561874420697384971507731976081091265518193776613074275257301452679709611445906876810046654192055626161737526422914742557037531730677078215598274966673467981016470203 277465765100666368911382622346909832194998542600742093755846125173051669257889656110470033505517907851538177769795709173052029053035841451361269702774179310335731470593498168646046502465880095861694679593927753424320708507996665355788876934428845725758152750376907481147326152606802099962133097521938455459508097708075100264426163246382079225730005536952976532044744134674411531395170707048184486058533770870928554075704175152660054372363717505637980340462918274899416630417668324081291980833898953228113622853948572615658299893763565015210832140261683646678153852253223022981130548346517823832110751660333981950593807424553933120342342764163340041394815110606403740269167562020210068032156528573822050752922840311627843692522489493448292404 448949038647372574149297396970166716106650538948437227912323023299706902070559747939589738587683296838619215210939586516147466739857693529411937054752483448652248013503707112174187215300976575473862608837132107880205944994022091798826797111104140221526875037393760623399682917504264299897143611284068172256068522570308833601935065429611246519042470269182380955850591188259564004485452523783640984358160581517972141054109745313979158627201090857561695819779875828625486109458777431474881391987284887458828158586014413007456117919023004298781410476366729486270205435198154119785692422767215208803618483636415073216112001201167007395599644216843049652840721987416450394461223188181947594455071271130859582483599918527226118659195957474464762607 726414803748038943060680019317076548301649081549179321668169148472758571328449404050059772093201204690157392980735295689199495792893534980773206757526662758987979484097205280820233717766856671335557288431059861304526653502018757154615674045532985947285027787770668104547009070111066399859276708806006627715576620278383933866361228675993325744772475806135357487895335322933975535880623230831825470416694352388900695129813920466639212999564808363199676160242794103524902739876445755556173372821183840686941781439962985623114417812786569313992242616628413132948359287451377142766822971113733032635729235296749055166705808625720940515941986981006389694235537098022854134730390750202157662487227799704681633236522758838853962351718446967913055011 1175363842395411517209977416287243264408299620497616549580492171772465473399009151989649510680884501528776608191674882205346962532751228510185143812279146207640227497600912392994420933067833246809419897268191969184732598496040848953442471156637126168811902825164428727946691987615330699756420320090074799971645142848692767468296294105604572263814946075317738443745926511193539540366075754615466454774854933906872836183923665780618371626765899220761371980022669932150388849335223187031054764808468728145769940025977398630570535731809573612773653092995142619218564722649531262552515393880948241439347718933164128382817809826887947911541631197849439347076259085439304529191613938384105256942299070835541215720122677366080081010914404442377817618 1901778646143450460270657435604319812709948702046795871248661320245224044727458556039709282774085706218934001172410177894546458325644763490958350569805808966628206981698117673814654650834689918144977185699251830489259251998059606108058145202170112116096930612935096832493701057726397099615697028896081427687221763127076701334657522781597898008587421881453095931641261834127515076246698985447291925191549286295773531313737586247257584626330707583961048140265464035675291589211668942587228137629652568832711721465940384253684953544596142926765895709623555752166924010100908405319338364994681274075076954229913183549523618452608888427483618178855829041311796183462158663922004688586262919429526870540222848956645436204934043362632851410290872629 3077142488538861977480634851891563077118248322544412420829153492017689518126467708029358793454970207747710609364085060099893420858395992001143494382084955174268434479299030066809075583902523164954397082967443799673991850494100455061500616358807238284908833438099525560440393045341727799372117348986156227658866905975769468802953816887202470272402367956770834375387188345321054616612774740062758379966404220202646367497661252027875956253096606804722420120288133967825680438546892129618282902438121296978481661491917782884255489276405716539539548802618698371385488732750439667871853758875629515514424673163077311932341428279496836339025249376705268388388055268901463193113618626970368176371825941375764064676768113571014124373547255852668690247 4978921134682312437751292287495882889828197024591208292077814812262913562853926264069068076229055913966644610536495237994439879184040755492101844951890764140896641460997147740623730234737213083099374268666695630163251102492160061169558761560977350401005764051034622392934094103068124898987814377882237655346088669102846170137611339668800368280989789838223930307028450179448569692859473725510050305157953506498419898811398838275133540879427314388683468260553598003500972027758561072205511040067773865811193382957858167137940442821001859466305444512242254123552412742851348073191192123870310789589501627392990495481865046732105724766508867555561097429699851452363621857035623315556631095801352811915986913633413549775948167736180107262959562876 8056063623221174415231927139387445966946445347135620712906968304280603080980393972098426869684026121714355219900580298094333300042436747493245339333975719315165075940296177807432805818639736248053771351634139429837242952986260516231059377919784588685914597489134147953374487148409852698359931726868393883004955575078615638940565156556002838553392157794994764682415638524769624309472248465572808685124357726701066266309060090303009497132523921193405888380841731971326652466305453201823793942505895162789675044449775950022195932097407576005844993314860952494937901475601787741063045882745940305103926300556067807414206475011602561105534116932266365818087906721265085050149241942526999272173178753291750978310181663346962292109727363115628253123 13034984757903486852983219426883328856774642371726829004984783116543516643834320236167494945913082035680999830437075536088773179226477502985347184285866483456061717401293325548056536053376949331153145620300835060000494055478420577400618139480761939086920361540168770346308581251477977597347746104750631538351044244181461809078176496224803206834381947633218694989444088704218194002331722191082858990282311233199486165120458928578143038011951235582089356641395329974827624494064014274029304982573669028600868427407634117160136374918409435472150437827103206618490314218453135814254238006616251094693427927949058302896071521743708285872042984487827463247787758173628706907184865258083630367974531565207737891943595213122910459845907470378587815999 21091048381124661268215146566270774823721087718862449717891751420824119724814714208265921815597108157395355050337655834183106479268914250478592523619842202771226793341589503355489341872016685579206916971934974489837737008464681093631677517400546527772834959029302918299683068399887830295707677831619025421355999819260077448018741652780806045387774105428213459671859727228987818311803970656655667675406668959900552431429519018881152535144475156775495245022237061946154276960369467475853098925079564191390543471857410067182332307015817011477995431141964159113428215694054923555317283889362191399797354228505126110310277996755310846977577101420093829065875664894893791957334107200610629640147710318499488870253776876469872751955634833494216069122 34126033139028148121198365993154103680495730090589278722876534537367636368649034444433416761510190193076354880774731370271879658495391753463939707905708686227288510742882828903545877925393634910360062592235809549838231063943101671032295656881308466859755320569471688645991649651365807893055423936369656959707044063441539257096918149005609252222156053061432154661303815933206012314135692847738526665688980193100038596549977947459295573156426392357584601663632391920981901454433481749882403907653233219991411899265044184342468681934226446950145868969067365731918529912508059369571521895978442494490782156454184413206349518499019132849620085907921292313663423068522498864518972458694260008122241883707226762197372089592783211801542303872803885121 55217081520152809389413512559424878504216817809451728440768285958191756093463748652699338577107298350471709931112387204454986137764306003942532231525550888998515304084472332259035219797410320489566979564170784039675968072407782764663973174281854994632590279598774606945674718051253638188763101767988682381063043882701616705115659801786415297609930158489645614333163543162193830625939663504394194341095649153000591027979496966340448108300901549133079846685869453867136178414802949225735502832732797411381955371122454251524800988950043458428141300111031524845346745606562982924888805785340633894288136384959310523516627515254329979827197187328015121379539087963416290821853079659304889648269952202206715632451148966062655963757177137367019954243 89343114659180957510611878552578982184712547900041007163644820495559392462112783097132755338617488543548064811887118574726865796259697757406471939431259575225803814827355161162581097722803955399927042156406593589514199136350884435696268831163163461492345600168246295591666367702619446081818525704358339340770087946143155962212577950792024549832086211551077768994467359095399842940075356352132721006784629346100629624529474913799743681457327941490664448349501845788118079869236430975617906740386030631373367270387498435867269670884269905378287169080098890577265275519071042294460327681319076388778918541413494936722977033753349112676817273235936413693202511031938789686372052117999149656392194085913942394648521055655439175558719441239823839364 144560196179333766900025391112003860688929365709492735604413106453751148555576531749832093915724786894019774742999505779181851934024003761349004170956810464224319118911827493421616317520214275889494021720577377629190167208758667200360242005445018456124935879767020902537341085753873084270581627472347021721833131828844772667328237752578439847442016370040723383327630902257593673566015019856526915347880278499101220652508971880140191789758229490623744295035371299655254258284039380201353409573118828042755322641509952687392070659834313363806428469191130415422612021125634025219349133466659710283067054926372805460239604549007679092504014460563951535072741598995355080508225131777304039304662146288120658027099670021718095139315896578606843793607 233903310838514724410637269664582842873641913609533742768057926949310541017689314846964849254342275437567839554886624353908717730283701518755476110388070039450122933739182654584197415243018231289421063876983971218704366345109551636056510836608181917617281479935267198129007453456492530352400153176705361062603219774987928629540815703370464397274102581591801152322098261352993516506090376208659636354664907845201850277038446793939935471215557432114408743384873145443372338153275811176971316313504858674128689911897451123259340330718583269184715638271229305999877296644705067513809461147978786671845973467786300396962581582761028205180831733799887948765944110027293870194597183895303188961054340374034600421748191077373534314874616019846667632971 378463507017848491310662660776586703562571279319026478372471033403061689573265846596796943170067062331587614297886130133090569664307705280104480281344880503674442052651010148005813732763232507178915085597561348847894533553868218836416752842053200373742217359702288100666348539210365614622981780649052382784436351603832701296869053455948904244716118951632524535649729163610587190072105396065186551702545186344303070929547418674080127260973786922738153038420244445098626596437315191378324725886623686716884012553407403810651410990552896632991144107462359721422489317770339092733158594614638496954913028394159105857202186131768707297684846194363839483838685709022648950702822315672607228265716486662155258448847861099091629454190512598453511426578 612366817856363215721299930441169546436213192928560221140528960352372230590955161443761792424409337769155453852772754486999287394591406798859956391732950543124564986390192802590011148006250738468336149474545320066598899898977770472473263678661382291359498839637555298795355992666858144975381933825757743847039571378820629926409869159319368641990221533224325687971827424963580706578195772273846188057210094189504921206585865468020062732189344354852561781805117590541998934590591002555296042200128545391012702465304854933910751321271479902175859745733589027422366614415044160246968055762617283626759001861945406254164767714529735502865677928163727432604629819049942820897419499567910417226770827036189858870596052176465163769065128618300179059549 990830324874211707031962591217756249998784472247586699512999993755433920164221008040558735594476400100743068150658884620089857058899112078964436673077831046799007039041202950595824880769483245647251235072106668914493433452845989308890016520714582665101716199339843399461704531877223759598363714474810126631475922982653331223278922615268272886706340484856850223621556588574167896650301168339032739759755280533807992136133284142100189993163131277590714820225362035640625531027906193933620768086752232107896715018712258744562162311824376535167003853195948748844855932185383252980126650377255780581672030256104512111366953846298442800550524122527566916443315528072591771600241815240517645492487313698345117319443913275556793223255641216753690486127 1603197142730574922753262521658925796434997665176146920653528954107806150755176169484320528018885737869898522003431639107089144453490518877824393064810781589923572025431395753185836028775733984115587384546651988981092333351823759781363280199375964956461215038977398698257060524544081904573745648300567870478515494361473961149688791774587641528696562018081175911593384013537748603228496940612878927816965374723312913342719149610120252725352475632443276602030479626182624465618497196488916810286880777498909417484017113678472913633095856437342863598929537776267222546600427413227094706139873064208431032118049918365531721560828178303416202050691294349047945347122534592497661314808428062719258140734534976190039965452021956992320769835053869545676 2594027467604786629785225112876682046433782137423733620166528947863240070919397177524879263613362137970641590154090523727179001512389630956788829737888612636722579064472598703781660909545217229762838619618758657895585766804669749090253296720090547621562931238317242097718765056421305664172109362775377997109991417344127292372967714389855914415402902502938026135214940602111916499878798108951911667576720655257120905478852433752220442718515606910033991422255841661823249996646403390422537578373633009606806132502729372423035075944920232972509867452125486525112078478785810666207221356517128844790103062374154430476898675407126621103966726173218861265491260875195126364097903130048945708211745454432880093509483878727578750215576411051807560031803 4197224610335361552538487634535607842868779802599880540820057901971046221674573347009199791632247875840540112157522162834268145965880149834613222802699394226646151089903994456967496938320951213878426004165410646876678100156493508871616576919466512578024146277294640795975825580965387568745855011075945867588506911705601253522656506164443555944099464521019202046808324615649665103107295049564790595393686029980433818821571583362340695443868082542477268024286321288005874462264900586911454388660513787105715549986746486101507989578016089409852731051055024301379301025386238079434316062657001908998534094492204348842430396967954799407382928223910155614539206222317660956595564444857373770931003595167415069699523844179600707207897180886861429577479 6791252077940148182323712747412289889302561940023614160986586849834286292593970524534079055245610013811181702311612686561447147478269780791402052540588006863368730154376593160749157847866168443641264623784169304772263866961163257961869873639557060199587077515611882893694590637386693232917964373851323864698498329049728545895624220554299470359502367023957228182023265217761581602986093158516702262970406685237554724300424017114561138162383689452511259446542162949829124458911303977333991967034146796712521682489475858524543065522936322382362598503180510826491379504172048745641537419174130753788637156866358779319329072375081420511349654397129016880030467097512787320693467574906319479142749049600295163209007722907179457423473591938668989609282 10988476688275509734862200381947897732171341742623494701806644751805332514268543871543278846877857889651721814469134849395715293444149930626015275343287401090014881244280587617716654786187119657519690627949579951648941967117656766833486450559023572777611223792906523689670416218352080801663819384927269732287005240755329799418280726718743026303601831544976430228831589833411246706093388208081492858364092715217988543121995600476901833606251771994988527470828484237834998921176204564245446355694660583818237232476222344626051055100952411792215329554235535127870680529558286825075853481831132662787171251358563128161759469343036219918732582621039172494569673319830448277289032019763693250073752644767710232908531567086780164631370772825530419186761 17779728766215657917185913129360187621473903682647108862793231601639618806862514396077357902123467903462903516780747535957162440922419711417417327883875407953383611398657180778465812634053288101160955251733749256421205834078820024795356324198580632977198301308518406583365006855738774034581783758778593596985503569805058345313904947273042496663104198568933658410854855051172828309079481366598195121334499400455543267422419617591462971768635461447499786917370647187664123380087508541579438322728807380530758914965698203150594120623888734174577928057416045954362060033730335570717390901005263416575808408224921907481088541718117640430082237018168189374600140417343235597982499594670012729216501694368005396117539289993959622054844364764199408796043 28768205454491167652048113511308085353645245425270603564599876353444951321131058267620636749001325793114625331249882385352877734366569642043432603227162809043398492642937768396182467420240407758680645879683329208070147801196476791628842774757604205754809525101424930273035423074090854836245603143705863329272508810560388144732185673991785522966706030113910088639686444884584075015172869574679687979698592115673531810544415218068364805374887233442488314388199131425499122301263713105824884678423467964348996147441920547776645175724841145966793257611651581082232740563288622395793244382836396079362979659583485035642848011061153860348814819639207361869169813737173683875271531614433705979290254339135715629026070857080739786686215137589729827982804 46547934220706825569234026640668272975119149107917712427393107955084570127993572663697994651124793696577528848030629921310040175288989353460849931111038216996782104041594949174648280054293695859841601131417078464491353635275296816424199098956184838732007826409943336856400429929829628870827386902484456926258012380365446490046090621264828019629810228682843747050541299935756903324252350941277883101033091516129075077966834835659827777143522694889988101305569778613163245681351221647404323001152275344879755062407618750927239296348729880141371185669067627036594800597018957966510635283841659495938788067808406943123936552779271500778897056657375551243769954154516919473254031209103718708506756033503721025143610147074699408741059502353929236778847 75316139675197993221282140151976358328764394533188315991992984308529521449124630931318631400126119489692154179280512306662917909655558995504282534338201026040180596684532717570830747474534103618522247011100407672561501436471773608053041873713789044486817351511368267129435853003920483707072990046190320255530521190925834634778276295256613542596516258796753835690227744820340978339425220515957571080731683631802606888511250053728192582518409928332476415693768910038662367982614934753229207679575743309228751209849539298703884472073571026108164443280719208118827541160307580362303879666678055575301767727391891978766784563840425361127711876296582913112939767891690603348525562823537424687797010372639436654169681004155439195427274639943659064761651 121864073895904818790516166792644631303883543641106028419386092263614091577118203595016626051250913186269683027311142227972958084944548348965132465449239243036962700726127666745479027528827799478363848142517486137052855071747070424477240972669973883218825177921311603985836282933750112577900376948674777181788533571291281124824366916521441562226326487479597582740769044756097881663677571457235454181764775147931681966478084889388020359661932623222464516999338688651825613663966156400633530680728018654108506272257158049631123768422300906249535628949786835155422341757326538328814514950519715071240555795200298921890721116619696861906608932953958464356709722046207522821779594032641143396303766406143157679313291151230138604168334142297588301540498 197180213571102812011798306944620989632647938174294344411379076572143613026242834526335257451377032675961837206591654534635875994600107344469414999787440269077143297410660384316309775003361903096886095153617893809614356508218844032530282846383762927705642529432679871115272135937670596284973366994865097437319054762217115759602643211778055104822842746276351418430996789576438860003102791973193025262496458779734288854989334943116212942180342551554940932693107598690487981646581091153862738360303761963337257482106697348335008240495871932357700072230506043274249882917634118691118394617197770646542323522592190900657505680460122223034320809250541377469649489937898126170305156856178568084100776778782594333482972155385577799595608782241247366302149 319044287467007630802314473737265620936531481815400372830765168835757704603361038121351883502627945862231520233902796762608834079544655693434547465236679512114105998136788051061788802532189702575249943296135379946667211579965914457007523819053736810924467707353991475101108418871420708862873743943539874619107588333508396884427010128299496667049169233755949001171765834332536741666780363430428479444261233927665970821467419832504233301842275174777405449692446287342313595310547247554496269041031780617445763754363855397966132008918172838607235701180292878429672224674960657019932909567717485717782879317792489822548226797079819084940929742204499841826359211984105648992084750888819711480404543184925752012796263306615716403763942924538835667842647 516224501038110442814112780681886610569179419989694717242144245407901317629603872647687140954004978538193357440494451297244710074144763037903962465024119781191249295547448435378098577535551605672136038449753273756281568088184758489537806665437499738630110236786671346216380554809091305147847110938404972056426643095725512644029653340077551771872011980032300419602762623908975601669883155403621504706757692707400259676456754775620446244022617726332346382385553886032801576957128338708359007401335542580783021236470552746301140249414044770964935773410798921703922107592594775711051304184915256364325202840384680723205732477539941307975250551455041219296008701922003775162389907744998279564505319963708346346279235462001294203359551706780083034144796 835268788505118073616427254419152231505710901805095090072909414243659022232964910769039024456632924400424877674397248059853544153689418731338509930260799293305355293684236486439887380067741308247385981745888653702948779668150672946545330484491236549554577944140662821317488973680512014010720854881944846675534231429233909528456663468377048438921181213788249420774528458241512343336663518834049984151018926635066230497924174608124679545864892901109751832078000173375115172267675586262855276442367323198228784990834408144267272258332217609572171474591091800133594332267555432730984213752632742082108082158177170545753959274619760392916180293659541061122367913906109424154474658633817991044909863148634098359075498768617010607123494631318918701987443 1351493289543228516430540035101038842074890321794789807315053659651560339862568783416726165410637902938618235114891699357098254227834181769242472395284919074496604589231684921817985957603292913919522020195641927459230347756335431436083137149928736288184688180927334167533869528489603319158567965820349818731960874524959422172486316808454600210793193193820549840377291082150487945006546674237671488857776619342466490174380929383745125789887510627442098214463554059407916749224803924971214283843702865779011806227304960890568412507746262380537107248001890721837516439860150208442035517937547998446433284998561851268959691752159701700891430845114582280418376615828113199316864566378816270609415183112342444705354734230618304810483046338099001736132239 2186762078048346590046967289520191073580601223599884897387963073895219362095533694185765189867270827339043112789288947416951798381523600500580982325545718367801959882915921408257873337671034222166908001941530581162179127424486104382628467634419972837739266125067996988851358502170115333169288820702294665407495105954193331700942980276831648649714374407608799261151819540392000288343210193071721473008795545977532720672305103991869805335752403528551850046541554232783031921492479511234069560286070188977240591218139369034835684766078479990109278722592982521971110772127705641173019731690180740528541367156739021814713651026779462093807611138774123341540744529734222623471339225012634261654325046260976543064430232999235315417606540969417920438119682 3538255367591575106477507324621229915655491545394674704703016733546779701958102477602491355277908730277661347904180646774050052609357782269823454720830637442298564472147606330075859295274327136086430022137172508621409475180821535818711604784348709125923954305995331156385228030659718652327856786522644484139455980479152753873429297085286248860507567601429349101529110622542488233349756867309392961866572165319999210846686033375614931125639914155993948261005108292190948670717283436205283844129773054756252397445444329925404097273824742370646385970594873243808627211987855849615055249627728738974974652155300873083673342778939163794699041983888705621959121145562335822788203791391450532263740229373318987769784967229853620228089587307516922174251921 5725017445639921696524474614141420989236092768994559602090979807441999064053636171788256545145179557616704460693469594191001850990881382770404437046376355810100524355063527738333732632945361358253338024078703089783588602605307640201340072418768681963663220431063328145236586532829833985497145607224939149546951086433346085574372277362117897510221942009038148362680930162934488521692967060381114434875367711297531931518991137367484736461392317684545798307546662524973980592209762947439353404415843243733492988663583698960239782039903222360755664693187855765779737984115561490788074981317909479503516019312039894898386993805718625888506653122662828963499865675296558446259543016404084793918065275634295530834215200229088935645696128276934842612371603 9263272813231496803001981938762650904891584314389234306793996540988778766011738649390747900423088287894365808597650240965051903600239165040227891767206993252399088827211134068409591928219688494339768046215875598404998077786129176020051677203117391089587174737058659301621814563489552637825002393747583633686407066912498839447801574447404146370729509610467497464210040785476976755042723927690507396741939876617531142365677170743099667587032231840539746568551770817164929262927046383644637248545616298489745386109028028885643879313727964731402050663782729009588365196103417340403130230945638218478490671467340767982060336584657789683205695106551534585458986820858894269047746807795535326181805505007614518604000167458942555873785715584451764786623524 14988290258871418499526456552904071894127677083383793908884976348430777830065374821179004445568267845511070269291119835156053754591120547810632328813583349062499613182274661806743324561165049852593106070294578688188586680391436816221391749621886073053250395168121987446858401096319386623322148000972522783233358153345844925022173851809522043880951451619505645826890970948411465276735690988071621831617307587915063073884668308110584404048424549525085544876098433342138909855136809331083990652961459542223238374772611727845883661353631187092157715356970584775368103180218978831191205212263547697982006690779380662880447330390376415571712348229214363548958852496155452715307289824199620120099870780641910049438215367688031491519481843861386607398995127 24251563072102915302528438491666722799019261397773028215678972889419556596077113470569752345991356133405436077888770076121105658191359712850860220580790342314898702009485795875152916489384738346932874116510454286593584758177565992241443426825003464142837569905180646748480215659808939261147150394720106416919765220258343764469975426256926190251680961229973143291101011733888442031778414915762129228359247464532594216250345478853684071635456781365625291444650204159303839118063855714728627901507075840712983760881639756731527540667359151823559766020753313784956468376322396171594335443209185916460497362246721430862507666975034205254918043335765898134417839317014346984355036631995155446281676285649524568042215535146974047393267559445838372185618651 39239853330974333802054895044570794693146938481156822124563949237850334426142488291748756791559623978916506347179889911277159412782480260661492549394373691377398315191760457681896241050549788199525980186805032974782171438569002808462835176446889537196087965073302634195338616756128325884469298395692629200153123373604188689492149278066448234132632412849478789117991982682299907308514105903833751059976555052447657290135013786964268475683881330890710836320748637501442748973200665045812618554468535382936222135654251484577411202020990338915717481377723898560324571556541375002785540655472733614442504053026102093742954997365410620826630391564980261683376691813169799699662326456194775566381547066291434617480430902835005538912749403307224979584613778 63491416403077249104583333536237517492166199878929850340242922127269891022219601762318509137550980112321942425068659987398265070973839973512352769975164033692297017201246253557049157539934526546458854303315487261375756196746568800704278603271893001338925534978483280943818832415937265145616448790412735617072888593862532453962124704323374424384313374079451932409092994416188349340292520819595880288335802516980251506385359265817952547319338112256336127765398841660746588091264520760541246455975611223649205896535891241308938742688349490739277247398477212345281039932863771174379876098681919530903001415272823524605462664340444826081548434900746159817794531130184146684017363088189931012663223351940959185522646437981979586306016962753063351770232429 102731269734051582906638228580808312185313138360086672464806871365120225448362090054067265929110604091238448772248549898675424483756320234173845319369537725069695332393006711238945398590484314745984834490120520236157927635315571609167113779718782538535013500051785915139157449172065591030085747186105364817226011967466721143454273982389822658516945786928930721527084977098488256648806626723429631348312357569427908796520373052782221023003219443147046964086147479162189337064465185806353865010444146606585428032190142725886349944709339829654994728776201110905605611489405146177165416754154653145345505468298925618348417661705855446908178826465726421501171222943353946383679689544384706579044770418232393803003077340816985125218766366060288331354846207 166222686137128832011221562117045829677479338239016522805049793492390116470581691816385775066661584203560391197317209886073689554730160207686198089344701758761992349594252964795994556130418841292443688793436007497533683832062140409871392382990675539873939035030269196082976281588002856175702195976518100434298900561329253597416398686713197082901259161008382653936177971514676605989099147543025511636648160086408160302905732318600173570322557555403383091851546320822935925155729706566895111466419757830234633928726033967195288687397689320394271976174678323250886651422268917351545292852836572676248506883571749142953880326046300272989727261366472581318965754073538093067697052632574637591707993770173352988525723778798964711524783328813351683125078636 268953955871180414917859790697854141862792476599103195269856664857510341918943781870453040995772188294798839969565759784749114038486480441860043408714239483831687681987259676034939954720903156038428523283556527733691611467377712019038506162709458078408952535082055111222133730760068447205787943162623465251524912528795974740870672669103019741418204947937313375463262948613164862637905774266455142984960517655836069099426105371382394593325776998550430055937693799985125262220194892373248976476863904436820061960916176693081638632107029150049266704950879434156492262911674063528710709606991225821594012351870674761302297987752155719897906087832199002820136977016892039451376742176959344170752764188405746791528801119615949836743549694873640014479924843 435176642008309246929081352814899971540271814838119718074906458349900458389525473686838816062433772498359231166882969670822803593216640649546241498058941242593680031581512640830934510851321997330872212076992535231225295299439852428909898545700133618282891570112324307305110012348071303381490139139141565685823813090125228338287071355816216824319464108945696029399440920127841468627004921809480654621608677742244229402331837689982568163648334553953813147789240120808061187375924598940144087943283662267054695889642210660276927319504718470443538681125557757407378914333942980880256002459827798497842519235442423904256178313798455992887633349198671584139102731090430132519073794809533981762460757958579099780054524898414914548268333023686991697605003479 704130597879489661846941143512754113403064291437222913344763123207410800308469255557291857058205960793158071136448729455571917631703121091406284906773180726425367713568772316865874465572225153369300735360549062964916906766817564447948404708409591696691844105194379418527243743108139750587278082301765030937348725618921203079157744024919236565737669056883009404862703868741006331264910696075935797606569195398080298501757943061364962756974111552504243203726933920793186449596119491313393064420147566703874757850558387353358565951611747620492805386076437191563871177245617044408966712066819024319436531587313098665558476301550611712785539437030870586959239708107322171970450536986493325933213522146984846571583326018030864385011882718560631712084928322 1139307239887798908776022496327654084943336106275342631419669581557311258697994729244130673120639733291517302303331699126394721224919761740952526404832121969019047745150284957696808976423547150700172947437541598196142202066257416876858303254109725314974735675306703725832353755456211053968768221440906596623172538709046431417444815380735453390057133165828705434262144788868847799891915617885416452228177873140324527904089780751347530920622446106458056351516174041601247636972044090253537152363431228970929453740200598013635493271116466090936344067201994948971250091579560025289222714526646822817279050822755522569814654615349067705673172786229542171098342439197752304489524331796027307695674280105563946351637850916445778933280215742247623409689931801 1843437837767288570622963639840408198346400397712565544764432704764722059006463984801422530178845694084675373439780428581966638856622882832358811311605302695444415458719057274562683441995772304069473682798090661161059108833074981324806707962519317011666579780501083144359597498564350804556046303742671627560521264327967634496602559405654689955794802222711714839124848657609854131156826313961352249834747068538404826405847723812712493677596557658962299555243107962394434086568163581566930216783578795674804211590758985366994059222728213711429149453278432140535121268825177069698189426593465847136715582410068621235373130916899679418458712223260412758057582147305074476459974868782520633628887802252548792923221176934476643318292098460808255121774860123 2982745077655087479398986136168062283289736503987908176184102286322033317704458714045553203299485427376192675743112127708361360081542644573311337716437424664463463203869342232259492418419319454769646630235632259357201310899332398201665011216629042326641315455807786870191951254020561858524814525183578224183693803037014065914047374786390143345851935388540420273386993446478701931048741931846768702062924941678729354309937504564060024598219003765420355906759282003995681723540207671820467369147010024645733665330959583380629552493844679802365493520480427089506371360404737094987412141120112669953994633232824143805187785532248747124131885009489954929155924586502826780949499200578547941324562082358112739274859027850922422251572314203055878531464791924 4826182915422376050021949776008470481636136901700473720948534991086755376710922698846975733478331121460868049182892556290327998938165527405670149028042727359907878662588399506822175860415091758839120313033722920518260419732407379526471719179148359338307895236308870014551548752584912663080860828926249851744215067364981700410649934192044833301646737611252135112511842104088556062205568245808120951897672010217134180715785228376772518275815561424382655462002389966390115810108371253387397585930588820320537876921718568747623611716572893513794642973758859230041492629229914164685601567713578517090710215642892765040560916449148426542590597232750367687213506733807901257409474069361068574953449884610661532198080204785399065569864412663864133653239652047 7808927993077463529420935912176532764925873405688381897132637277408788694415381412892528936777816548837060724926004683998689359019708171978981486744480152024371341866457741739081668278834411213608766943269355179875461730631739777728136730395777401664949210692116656884743500006605474521605675354109828075927908870401995766324697308978434976647498672999792555385898835550567257993254310177654889653960596951895863535025722732940832542874034565189803011368761671970385797533648578925207864955077598844966271542252678152128253164210417573316160136494239286319547863989634651259673013708833691187044704848875716908845748701981397173666722482242240322616369431320310728038358973269939616516278011966968774271472939232636321487821436726866920012184704443971 12635110908499839579442885688185003246562010307388855618081172268495544071126304111739504670256147670297928774108897240289017357957873699384651635772522879384279220529046141245903844139249502972447887256303078100393722150364147157254608449574925761003257105928425526899295048759190387184686536183036077927672123937766977466735347243170479809949145410611044690498410677654655814055459878423463010605858268962112997715741507961317605061149850126614185666830764061936775913343756950178595262541008187665286809419174396720875876775926990466829954779467998145549589356618864565424358615276547269704135415064518609673886309618430545600209313079474990690303582938054118629295768447339300685091231461851579435803671019437421720553391301139530784145837944096018 20444038901577303108863821600361536011487883713077237515213809545904332765541685524632033607033964219134989499034901924287706716977581871363633122517003031408650562395503882984985512418083914186056654199572433280269183880995886934982745179970703162668206316620542183784038548765795861706292211537145906003600032808168973233060044552148914786596644083610837245884309513205223072048714188601117900259818865914008861250767230694258437604023884691803988678199525733907161710877405529103803127496085786510253080961427074873004129940137408040146114915962237431869137220608499216684031628985380960891180119913394326582732058320411942773876035561717231012919952369374429357334127420609240301607509473818548210075143958670058042041212737866397704158022648539989 33079149810077142688306707288546539258049894020466093133294981814399876836667989636371538277290111889432918273143799164576724074935455570748284758289525910792929782924550024230889356557333417158504541455875511380662906031360034092237353629545628923671463422548967710683333597524986248890978747720181983931272156745935950699795391795319394596545789494221881936382720190859878886104174067024580910865677134876121858966508738655576042665173734818418174345030289795843937624221162479282398390037093974175539890380601471593880006716064398506976069695430235577418726577227363782108390244261928230595315534977912936256618367938842488374085348641192221703223535307428547986629895867948540986698740935670127645878814978107479762594604039005928488303860592636007 53523188711654445797170528888908075269537777733543330648508791360304209602209675161003571884324076108567907772178701088864430791913037442111917880806528942201580345320053907215874868975417331344561195655447944660932089912355921027220098809516332086339669739169509894467372146290782110597270959257327889934872189554104923932855436347468309383142433577832719182267029704065101958152888255625698811125496000790130720217275969349834480269197619510222163023229815529751099335098568008386201517533179760685792971342028546466884136656201806547122184611392473009287863797835862998792421873247309191486495654891307262839350426259254431147961384202909452716143487676802977343964023288557781288306250409488675855953958936777537804635816776872326192461883241175996 86602338521731588485477236177454614527587671754009423781803773174704086438877664797375110161614187998000826045322500253441154866848493012860202639096054852994510128244603931446764225532750748503065737111323456041594995943715955119457452439061961010011133161718477605150705743815768359488249706977509873866144346300040874632650828142787703979688223072054601118649749894924980844257062322650279721991173135666252579183784708005410522934371354328640337368260105325595036959319730487668599907570273734861332861722630018060764143372266205054098254306822708586706590375063226780900812117509237422081811189869220199095968794198096919522046732844101674419367022984231525330593919156506322275004991345158803501832773914885017567230420815878254680765743833812003 140125527233386034282647765066362689797125449487552754430312564535008296041087339958378682045938264106568733817501201342305585658761530454972120519902583795196090473564657838662639094508168079847626932766771400702527085856071876146677551248578293096350802900887987499618077890106550470085520666234837763801016535854145798565506264490256013362830656649887320300916779598990082802409950578275978533116669136456383299401060677355245003203568973838862500391489920855346136294418298496054801425103453495547125833064658564527648280028468011601220438918215181595994454172899089779693233990756546613568306844760527461935319220457351350670008117047011127135510510661034502674557942445064103563311241754647479357786732851662555371866237592750580873227627074987999 226727865755117622768125001243817304324713121241562178212116337709712382479965004755753792207552452104569559862823701595746740525610023467832323158998638648190600601809261770109403320040918828350692669878094856744122081799787831266135003687640254106361936062606465104768783633922318829573770373212347637667160882154186673198157092633043717342518879721941921419566529493915063646667012900926258255107842272122635878584845385360655526137940328167502837759750026180941173253738028983723401332673727230408458694787288582588412423400734216655318693225037890182701044547962316560594046108265784035650118034629747661031288014655448270192054849891112801554877533645266028005151861601570425838316233099806282859619506766547572939096658408628835553993370908800002 366853392988503657050772766310179994121838570729114932642428902244720678521052344714132474253490716211138293680324902938052326184371553922804443678901222443386691075373919608772042414549086908198319602644866257446649167655859707412812554936218547202712738963494452604386861524028869299659291039447185401468177418008332471763663357123299730705349536371829241720483309092905146449076963479202236788224511408579019177985906062715900529341509302006365338151239947036287309548156327479778202757777180725955584527851947147116060703429202228256539132143253071778695498720861406340287280099022330649218424879390275122966607235112799620862062966938123928690388044306300530679709804046634529401627474854453762217406239618210128310962896001379416427220997983788001 593581258743621279818897767553997298446551691970677110854545239954433061001017349469886266461043168315707853543148604533799066709981577390636766837899861091577291677183181378881445734590005736549012272522961114190771249455647538678947558623858801309074675026100917709155645157951188129233061412659533039135338300162519144961820449756343448047868416093771163140049838586820210095743976380128495043332353680701655056570751448076556055479449630173868175910989973217228482801894356463501604090450907956364043222639235729704473126829936444911857825368290961961396543268823722900881326207288114684868542914020022783997895249768247891054117816829236730245265577951566558684861665648204955239943707954260045077025746384757701250059554410008251981214368892588003 960434651732124936869670533864177292568390262699792043496974142199153739522069694184018740714533884526846147223473507471851392894353131313441210516801083534963982752557100987653488149139092644747331875167827371637420417111507246091760113560077348511787413989595370313542506681980057428892352452106718440603515718170851616725483806879643178753217952465600404860533147679725356544820939859330731831556865089280674234556657510792456584820958932180233514062229920253515792350050683943279806848228088682319627750491182876820533830259138673168396957511544033740092041989685129241168606306310445334086967793410297906964502484881047511916180783767360658935653622257867089364571469694839484641571182808713807294431986002967829561022450411387668408435366876376004 1554015910475746216688568301418174591014941954670469154351519382153586800523087043653905007175577052842554000766622112005650459604334708704077977354700944626541274429740282366534933883729098381296344147690788485828191666567154784770707672183936149820862089015696288022698151839931245558125413864766251479738854018333370761687304256635986626801086368559371568000582986266545566640564916239459226874889218769982329291127408958869012640300408562354101689973219893470744275151945040406781410938678996638683670973130418606525006957089075118080254782879834995701488585258508852142049932513598560018955510707430320690962397734649295402970298600596597389180919200209433648049433135343044439881514890762973852371457732387725530811082004821395920389649735768964007 2514450562207871153558238835282351883583332217370261197848493524352740540045156737837923747890110937369400147990095619477501852498687840017519187871502028161505257182297383354188422032868191026043676022858615857465612083678662030862467785744013498332649503005291658336240658521911302987017766316872969920342369736504222378412788063515629805554304321024971972861116133946270923185385856098789958706446083859263003525684066469661469225121367494534335204035449813724260067501995724350061217786907085321003298723621601483345540787348213791248651740391379029441580627248193981383218538819909005353042478500840618597926900219530342914886479384363958048116572822467300737414004605037883924523086073571687659665889718390693360372104455232783588798085102645340011 4068466472683617370246807136700526474598274172040730352200012906506327340568243781491828755065687990211954148756717731483152312103022548721597165226202972788046531612037665720723355916597289407340020170549404343293803750245816815633175457927949648153511592020987946358938810361842548545143180181639221400081223754837593140100092320151616432355390689584343540861699120212816489825950772338249185581335302629245332816811475428530481865421776056888436894008669707195004342653940764756842628725586081959686969696752020089870547744437288909328906523271214025143069212506702833525268471333507565371997989208270939288889297954179638317856777984960555437297492022676734385463437740380928364404600964334661512037347450778418891183186460054179509187734838414304018 6582917034891488523805045971982878358181606389410991550048506430859067880613400519329752502955798927581354296746813350960654164601710388739116353097705000949551788794335049074911777949465480433383696193408020200759415833924478846495643243671963146486161095026279604695179468883753851532160946498512191320423593491341815518512880383667246237909695010609315513722815254159087413011336628437039144287781386488508336342495541898191951090543143551422772098044119520919264410155936489106903846512493167280690268420373621573216088531785502700577558263662593054584649839754896814908487010153416570725040467709111557886816198173709981232743257369324513485414064845144035122877442345418812288927687037906349171703237169169112251555290915286963097985819941059644029 10651383507575105894051853108683404832779880561451721902248519337365395221181644300821581258021486917793308445503531082443806476704732937460713518323907973737598320406372714795635133866062769840723716363957424544053219584170295662128818701599912794639672687047267551054118279245596400077304126680151412720504817246179408658612972703818862670265085700193659054584514374371903902837287400775288329869116689117753669159307017326722432955964919608311208992052789228114268752809877253863746475238079249240377238117125641663086636276222791609906464786933807079727719052261599648433755481486924136097038456917382497175705496127889619550600035354285068922711556867820769508340880085799740653332288002241010683740584619947531142738477375341142607173554779473948047 17234300542466594417856899080666283190961486950862713452297025768224463101795044820151333760977285845374662742250344433404460641306443326199829871421612974687150109200707763870546911815528250274107412557365444744812635418094774508624461945271875941125833782073547155749297748129350251609465073178663604040928410737521224177125853087486108908174780710802974568307329628530991315848624029212327474156898075606262005501802559224914384046508063159733981090096908749033533162965813742970650321750572416521067506537499263236302724808008294310484023050596400134312368892016496463342242491640340706822078924626494055062521694301599600783343292723609582408125621712964804631218322431218552942259975040147359855443821789116643394293768290628105705159374720533592076 27885684050041700311908752189349688023741367512314435354545545105589858322976689120972915018998772763167971187753875515848267118011176263660543389745520948424748429607080478666182045681591020114831128921322869288865855002265070170753280646871788735765506469120814706803416027374946651686769199858815016761433227983700632835738825791304971578439866410996633622891844002902895218685911429987615804026014764724015674661109576551636817002472982768045190082149697977147801915775690996834396796988651665761444744654624904899389361084231085920390487837530207214040087944278096111775997973127264842919117381543876552238227190429489220333943328077894651330837178580785574139559202517018293595592263042388370539184406409064174537032245665969248312332929500007540123 45119984592508294729765651270015971214702854463177148806842570873814321424771733941124248779976058608542633930004219949252727759317619589860373261167133923111898538807788242536728957497119270388938541478688314033678490420359844679377742592143664676891340251194361862552713775504296903296234273037478620802361638721221857012864678878791080486614647121799608191199173631433886534534535459199943278182912840330277680162912135776551201048981045927779171172246606726181335078741504739805047118739224082282512251192124168135692085892239380230874510888126607348352456836294592575118240464767605549741196306170370607300748884731088821117286620801504233738962800293750378770777524948236846537852238082535730394628228198180817931326013956597354017492304220541132199 73005668642549995041674403459365659238444221975491584161388115979404179747748423062097163798974831371710605117758095465100994877328795853520916650912654871536646968414868721202911003178710290503769670400011183322544345422624914850131023239015453412656846720315176569356129802879243554983003472896293637563794866704922489848603504670096052065054513532796241814091017634336781753220446889187559082208927605054293354824021712328188018051454028695824361254396304703329136994517195736639443915727875748043956995846749073035081446976470466151264998725656814562392544780572688686894238437894870392660313687714247159538976075160578041451229948879398885069799978874535952910336727465255140133444501124924100933812634607244992468358259622566602329825233720548672322 118125653235058289771440054729381630453147076438668732968230686853218501172520157003221412578950889980253239047762315414353722636646415443381289912079788794648545507222656963739639960675829560892708211878699497356222835842984759529508765831159118089548186971509538431908843578383540458279237745933772258366156505426144346861468183548887132551669160654595850005290191265770668287754982348387502360391840445384571034986933848104739219100435074623603532426642911429510472073258700476444491034467099830326469247038873241170773532868709846382139509613783421910745001616867281262012478902662475942401509993884617766839724959891666862568516569680903118808762779168286331681114252413491986671296739207459831328440862805425810399684273579163956347317537941089804521 191131321877608284813114458188747289691591298414160317129618802832622680920268580065318576377925721351963844165520410879454717513975211296902206562992443666185192475637525684942550963854539851396477882278710680678767181265609674379639789070174571502205033691824715001264973381262784013262241218830065895929951372131066836710071688218983184616723674187392091819381208900107450040975429237575061442600768050438864389810955560432927237151889103319427893681039216132839609067775896213083934950194975578370426242885622314205854979845180312533404508339440236473137546397439969948906717340557346335061823681598864926378701035052244904019746518560302003878562758042822284591450979878747126804741240332383932262253497412670802868042533201730558677142771661638476843 309256975112666574584554512918128920144738374852829050097849489685841182092788737068539988956876611332217083213282726293808440150621626740283496475072232460833737982860182648682190924530369412289186094157410178034990017108594433909148554901333689591753220663334253433173816959646324471541478964763838154296107877557211183571539871767870317168392834841987941824671400165878118328730411585962563802992608495823435424797889408537666456252324177943031426107682127562350081141034596689528425984662075408696895489924495555376628512713890158915544017953223658383882548014307251210919196243219822277463333675483482693218425994943911766588263088241205122687325537211108616272565232292239113476037979539843763590694360218096613267726806780894515024460309602728281364 500388296990274859397668971106876209836329673266989367227468292518463863013057317133858565334802332684180927378803137173263157664596838037185703038064676127018930458497708333624741888384909263685663976436120858713757198374204108288788343971508261093958254355158968434438790340909108484803720183593904050226059249688278020281611559986853501785116509029380033644052609065985568369705840823537625245593376546262299814608844968970593693404213281262459319788721343695189690208810492902612360934857050987067321732810117869582483492559070471448948526292663894857020094411747221159825913583777168612525157357082347619597127029996156670608009606801507126565888295253930900864016212170986240280779219872227695852947857630767416135769339982625073701603081264366758207 809645272102941433982223484025005129981068048119818417325317782204305045105846054202398554291678944016398010592085863467071597815218464777469199513136908587852668441357890982306932812915278675974850070593531036748747215482798542197936898872841950685711475018493221867612607300555432956345199148357742204522167127245489203853151431754723818953509343871367975468724009231863686698436252409500189048585985042085735239406734377508260149656537459205490745896403471257539771349845089592140786919519126395764217222734613424959112005272960630364492544245887553240902642426054472370745109826996990889988491032565830312815553024940068437196272695042712249253213832465039517136581444463225353756817199412071459443642217848864029403496146763519588726063390867095039571 1310033569093216293379892455131881339817397721386807784552786074722768908118903371336257119626481276700578937970889000640334755479815302814654902551201584714871598899855599315931674701300187939660514047029651895462504413857002650486725242844350211779669729373652190302051397641464541441148919331951646254748226376933767224134762991741577320738625852900748009112776618297849255068142093233037814294179361588348035054015579346478853843060750740467950065685124814952729461558655582494753147854376177382831538955544731294541595497832031101813441070538551448097922736837801693530571023410774159502513648389648177932412680054936225107804282301844219375819102127718970418000597656634211594037596419284299155296590075479631445539265486746144662427666472131461797778 2119678841196157727362115939156886469798465769506626201878103856927073953224749425538655673918160220716976948562974864107406353295033767592124102064338493302724267341213490298238607514215466615635364117623182932211251629339801192684662141717192162465381204392145412169664004942019974397494118480309388459270393504179256427987914423496301139692135196772115984581500627529712941766578345642538003342765346630433770293422313723987113992717288199673440811581528286210269232908500672086893934773895303778595756178279344719500707503104991732177933614784439001338825379263856165901316133237771150392502139422214008245228233079876293545000554996886931625072315960184009935137179101097436947794413618696370614740232293328495474942761633509664251153729862998556837349 3429712410289374020742008394288767809615863490893433986430889931649842861343652796874912793544641497417555886533863864747741108774849070406779004615540078017595866241069089614170282215515654555295878164652834827673756043196803843171387384561542374245050933765797602471715402583484515838643037812261034714018619881113023652122677415237878460430761049672863993694277245827562196834720438875575817636944708218781805347437893070465967835778038940141390877266653101162998694467156254581647082628271481161427295133824076014042303000937022833991374685322990449436748116101657859431887156648545309895015787811862186177640913134812518652804837298731151000891418087902980353137776757731648541832010037980669770036822368808126920482027120255808913581396335130018635127 5549391251485531748104124333445654279414329260400060188308993788576916814568402222413568467462801718134532835096838728855147462069882837998903106679878571320320133582282579912408889729731121170931242282276017759885007672536605035856049526278734536710432138157943014641379407525504490236137156292570423173289013385292280080110591838734179600122896246444979978275777873357275138601298784518113820979710054849215575640860206794453081828495327139814831688848181387373267927375656926668541017402166784940023051312103420733543010504042014566169308300107429450775573495365514025333203289886316460287517927234076194422869146214688812197805392295618082625963734048086990288274955858829085489626423656677040384777054662136622395424788753765473164735126198128575472476 8979103661774905768846132727734422089030192751293494174739883720226759675912055019288481261007443215552088721630702593602888570844731908405682111295418649337915999823351669526579171945246775726227120446928852587558763715733408879027436910840276910955483071923740617113094810108989006074780194104831457887307633266405303732233269253972058060553657296117843971970055119184837335436019223393689638616654763067997380988298099864919049664273366079956222566114834488536266621842813181250188100030438266101450346445927496747585313504979037400160682985430419900212321611467171884765090446534861770182533715045938380600510059349501330850610229594349233626855152135989970641412732616560734031458433694657710154813877030944749315906815874021282078316522533258594107603 14528494913260437516950257061180076368444522011693554363048877508803676490480457241702049728470244933686621556727541322458036032914614746404585217975297220658236133405634249438988061674977896897158362729204870347443771388270013914883486437119011447665915210081683631754474217634493496310917350397401881060596646651697583812343861092706237660676553542562823950245832992542112474037318007911803459596364817917212956629158306659372131492768693219771054254963015875909534549218470107918729117432605051041473397758030917481128324009021051966329991285537849350987895106832685910098293736421178230470051642280014575023379205564190143048415621889967316252818886184076960929687688475389819521084857351334750539590931693081371711331604627786755243051648731387169580079 23507598575035343285796389788914498457474714762987048537788761229030436166392512260990530989477688149238710278358243916060924603759346654810267329270715869996152133228985918965567233620224672623385483176133722935002535104003422793910923347959288358621398282005424248867569027743482502385697544502233338947904279918102887544577130346678295721230210838680667922215888111726949809473337231305493098213019580985210337617456406524291181157042059299727276821077850364445801171061283289168917217463043317142923744203958414228713637514000089366490674270968269251200216718299857794863384182956040000652585357325952955623889264913691473899025851484316549879674038320066931571100421091950553552543291045992460694404808724026121027238420501808037321368171264645763687682 38036093488295780802746646850094574825919236774680602900837638737834112656872969502692580717947933082925331835085785238518960636673961401214852547246013090654388266634620168404555295295202569520543845905338593282446306492273436708794409785078299806287313492087107880622043245377975998696614894899635220008500926569800471356920991439384533381906764381243491872461721104269062283510655239217296557809384398902423294246614713183663312649810752519498331076040866240355335720279753397087646334895648368184397141961989331709841961523021141332820665556506118602188111825132543704961677919377218231122636999605967530647268470477881616947441473374283866132492924504143892500788109567340373073628148397327211233995740417107492738570025129594792564419819996032933267761 61543692063331124088543036639009073283393951537667651438626399966864548823265481763683111707425621232164042113444029154579885240433308056025119876516728960650540399863606087370122528915427242143929329081472316217448841596276859502705333133037588164908711774092532129489612273121458501082312439401868558956405206487903358901498121786062829103136975219924159794677609215996012092983992470522789656022403979887633631864071119707954493806852811819225607897118716604801136891341036686256563552358691685327320886165947745938555599037021230699311339827474387853388328543432401499825062102333258231775222356931920486271157735391573090846467324858600416012166962824210824071888530659290926626171439443319671928400549141133613765808445631402829885787991260678696955443 99579785551626904891289683489103648109313188312348254339464038704698661480138451266375692425373554315089373948529814393098845877107269457239972423762742051304928666498226255774677824210629811664473174986810909499895148088550296211499742918115887971196025266179640010111655518499434499778927334301503778964906133057703830258419113225447362485043739601167651667139330320265074376494647709740086213831788378790056926110685832891617806456663564338723938973159582845156472611620790083344209887254340053511718028127937077648397560560042372032132005383980506455576440368564945204786740021710476462897859356537888016918426205869454707793908798232884282144659887328354716572676640226631299699799587840646883162396289558241106504378470760997622450207811256711630223204 161123477614958028979832720128112721392707139850015905778090438671563210303403933030058804132799175547253416061973843547678731117540577513265092300279471011955469066361832343144800353126057053808402504068283225717343989684827155714205076051153476136104737040272172139601267791620893000861239773703372337921311339545607189159917235011510191588180714821091811461816939536261086469478640180262875869854192358677690557974756952599572300263516376157949546870278299449957609502961826769600773439613031738839038914293884823586953159597063602731443345211454894308964768911997346704611802124043734694673081713469808503189583941261027798640376123091484698156826850152565540644565170885922226325971027283966555090796838699374720270186916392400452335995802517390327178647 260703263166584933871122403617216369502020328162364160117554477376261871783542384296434496558172729862342790010503657940777576994647846970505064724042213063260397732860058598919478177336686865472875679055094135217239137773377451925704818969269364107300762306451812149712923310120327500640167108004876116886217472603311019418336348236957554073224454422259463128956269856526160845973287890002962083685980737467747484085442785491190106720179940496673485843437882295114082114582616852944983326867371792350756942421821901235350720157105974763575350595435400764541209280562291909398542145754211157570941070007696520108010147130482506434284921324368980301486737480920257217241811112553526025770615124613438253193128257615826774565387153398074786203613774101957401851 421826740781542962850955123745329090894727468012380065895644916047825082086946317326493300690971905409596206072477501488456308112188424483770157024321684075215866799221890942064278530462743919281278183123377360934583127458204607639909895020422840243405499346723984289314191101741220501501406881708248454807528812148918208578253583248467745661405169243351274590773209392787247315451928070265837953540173096145438042060199738090762406983696316654623032713716181745071691617544443622545756766480403531189795856715706724822303879754169577495018695806890295073505978192559638614010344269797945852244022783477505023297594088391510305074661044415853678458313587633485797861806981998475752351741642408579993343989966956990547044752303545798527122199416291492284580498 682530003948127896722077527362545460396747796174744226013199393424086953870488701622927797249144635271938996082981159429233885106836271454275221748363897138476264532081949540983756707799430784754153862178471496151822265231582059565614713989692204350706261653175796439027114411861548002141573989713124571693746284752229227996589931485425299734629623665610737719729479249313408161425215960268800037226153833613185526145642523581952513703876257151296518557154064040185773732127060475490740093347775323540552799137528626057654599911275552258594046402325695838047187473121930523408886415552157009814963853485201543405604235521992811508945965740222658759800325114406055079048793111029278377512257533193431597183095214606373819317690699196601908403030065594241982349 1104356744729670859573032651107874551291475264187124291908844309471912035957435018949421097940116540681535202155458660917690193219024695938045378772685581213692131331303840483048035238262174704035432045301848857086405392689786667205524609010115044594111760999899780728341305513602768503642980871421373026501275096901147436574843514733893045396034792908962012310502688642100655476877144030534637990766326929758623568205842261672714920687572573805919551270870245785257465349671504098036496859828178854730348655853235350879958479665445129753612742209215990911553165665681569137419230685350102862058986636962706566703198323913503116583607010156076337218113912747891852940855775109505030729253899941773424941173062171596920864069994244995129030602446357086526562847 1786886748677798756295110178470420011688223060361868517922043702895998989827923720572348895189261175953474198238439820346924078325860967392320600521049478352168395863385790024031791946061605488789585907480320353238227657921368726771139322999807248944818022653075577167368419925464316505784554861134497598195021381653376664571433446219318345130664416574572750030232167891414063638302359990803438027992480763371809094351484785254667434391448830957216069828024309825443239081798564573527236953175954178270901454990763976937613079576720682012206788611541686749600353138803499660828117100902259871873950490447908110108802559435495928092552975896298995977914237862297908019904568220534309106766157474966856538356157386203294683387684944191730939005476422680768545196 2891243493407469615868142829578294562979698324548992809830888012367911025785358739521769993129377716635009400393898481264614271544885663330365979293735059565860527194689630507079827184323780192825017952782169210324633050611155393976663932009922293538929783652975357895709725439067085009427535732555870624696296478554524101146276960953211390526699209483534762340734856533514719115179504021338076018758807693130432662557327046927382355079021404763135621098894555610700704431470068671563733813004133033001250110843999327817571559242165811765819530820757677661153518804485068798247347786252362733932937127410614676812000883348999044676159986052375333196028150610189760960760343330039339836020057416740281479529219557800215547457679189186859969607922779767295108043 4678130242085268372163253008048714574667921384910861327752931715263910015613282460094118888318638892588483598632338301611538349870746630722686579814784537918028923058075420531111619130385385681614603860262489563562860708532524120747803255009729542483747806306050935063078145364531401515212090593690368222891317860207900765717710407172529735657363626058107512370967024424928782753481864012141514046751288456502241756908811832182049789470470235720351690926918865436143943513268633245090970766180087211272151565834763304755184638818886493778026319432299364410753871943288568459075464887154622605806887617858522786920803442784494972768712961948674329173942388472487668980664911550573648942786214891707138017885376944003510230845364133378590908613399202448063653239 7569373735492737988031395837627009137647619709459854137583819727631821041398641199615888881448016609223492999026236782876152621415632294053052559108519597483889450252765051038191446314709165874439621813044658773887493759143679514724467187019651836022677589959026292958787870803598486524639626326246238847587614338762424866863987368125741126184062835541642274711701880958443501868661368033479590065510096149632674419466138879109432144549491640483487312025813421046844647944738701916654704579184220244273401676678762632572756198061052305543845850253057042071907390747773637257322812673406985339739824745269137463732804326133494017444872948001049662369970539082677429941425254880612988778806272308447419497414596501803725778303043322565450878221321982215358761282 12247503977578006360194648845675723712315541094370715465336751442895731057011923659710007769766655501811976597658575084487690971286378924775739138923304135401918373310840471569303065445094551556054225673307148337450354467676203635472270442029381378506425396265077228021866016168129888039851716919936607070478932198970325632581697775298270861841426461599749787082668905383372284622143232045621104112261384606134916176374950711291481934019961876203839002952732286482988591458007335161745675345364307455545553242513525937327940836879938799321872169685356406482661262691062205716398277560561607945546712363127660250653607768917988990213585909949723991543912927555165098922090166431186637721592487200154557515299973445807236009148407455944041786834721184663422414521 19816877713070744348226044683302732849963160803830569602920571170527552098410564859325896651214672111035469596684811867363843592702011218828791698031823732885807823563605522607494511759803717430493847486351807111337848226819883150196737629049033214529102986224103520980653886971728374564491343246182845918066546537732750499445685143424011988025489297141392061794370786341815786490804600079100694177771480755767590595841089590400914078569453516687326314978545707529833239402746037078400379924548527699818954919192288569900697034940991104865718019938413448554568653438835842973721090233968593285286537108396797714386412095051483007658458857950773653913883466637842528863515421311799626500398759508601977012714569947610961787451450778509492665056043166878781175803 32064381690648750708420693528978456562278701898201285068257322613423283155422488519035904420981327612847446194343386951851534563988390143604530836955127868287726196874445994176797577204898268986548073159658955448788202694496086785669008071078414593035528382489180749002519903139858262604343060166119452988545478736703076132027382918722282849866915758741141848877039691725188071112947832124721798290032865361902506772216040301692396012589415392891165317931277994012821830860753372240146055269912835155364508161705814507228637871820929904187590189623769855037229916129898048690119367794530201230833249471524457965040019863969471997872044767900497645457796394193007627785605587742986264221991246708756534528014543393418197796599858234453534451890764351542203590324 51881259403719495056646738212281189412241862702031854671177893783950835253833053378361801072195999723882915791028198819215378156690401362433322534986951601173534020438051516784292088964701986417041920646010762560126050921315969935865745700127447807564631368713284269983173790111586637168834403412302298906612025274435826631473068062146294837892405055882533910671410478067003857603752432203822492467804346117670097368057129892093310091158868909578491632909823701542655070263499409318546435194461362855183463080898103077129334906761921009053308209562183303591798569568733891663840458028498794516119786579921255679426431959020955005530503625851271299371679860830850156649121009054785890722390006217358511540729113341029159584051309012963027116946807518420984766127 83945641094368245765067431741259645974520564600233139739435216397374118409255541897397705493177327336730361985371585771066912720678791506037853371942079469461260217312497510961089666169600255403589993805669718008914253615812056721534753771205862400600159751202465018985693693251444899773177463578421751895157504011138902763500450980868577687759320814623675759548450169792191928716700264328544290757837211479572604140273170193785706103748284302469656950841101695555476901124252781558692490464374198010547971242603917584357972778582850913240898399185953158629028485698631940353959825823028995746953036051445713644466451822990427003402548393751768944829476255023857784434726596797772154944381252926115046068743656734447357380651167247416561568837571869963188356451 135826900498087740821714169953540835386762427302264994410613110181324953663088595275759506565373327060613277776399784590282290877369192868471175906929031070634794237750549027745381755134302241820631914451680480569040304537128026657400499471333310208164791119915749288968867483363031536942011866990724050801769529285574729394973519043014872525651725870506209670219860647859195786320452696532366783225641557597242701508330300085879016194907153212048148583750925397098131971387752190877238925658835560865731434323502020661487307685344771922294206608748136462220827055267365832017800283851527790263072822631366969323892883782011382008933052019603040244201156115854707941083847605852558045666771259143473557609472770075476516964702476260379588685784379388384173122578 219772541592455986586781601694800481361282991902498134150048326578699072072344137173157212058550654397343639761771370361349203598047984374509029278871110540096054455063046538706471421303902497224221908257350198577954558152940083378935253242539172608764950871118214307954561176614476436715189330569145802696927033296713632158473970023883450213411046685129885429768310817651387715037152960860911073983478769076815305648603470279664722298655437514517805534592027092653608872512004972435931416123209758876279405566105938245845280463927622835535105007934089620849855540965997772371760109674556786010025858682812682968359335605001809012335600413354809189030632370878565725518574202650330200611152512069588603678216426809923874345353643507796150254621951258347361479029 355599442090543727408495771648341316748045419204763128560661436760024025735432732448916718623923981457956917538171154951631494475417177242980205185800141610730848692813595566451853176438204739044853822709030679146994862690068110036335752713872482816929741991033963596923428659977507973657201197559869853498696562582288361553447489066898322739062772555636095099988171465510583501357605657393277857209120326674058007156933770365543738493562590726565954118342952489751740843899757163313170341782045319742010839889607958907332588149272394757829311616682226083070682596233363604389560393526084576273098681314179652292252219387013191021268652432957849433231788486733273666602421808502888246277923771213062161287689196885400391310056119768175738940406330646731534601607 575371983682999713995277373343141798109328411107261262710709763338723097807776869622073930682474635855300557299942525312980698073465161617489234464671252150826903147876642105158324597742107236269075730966380877724949420843008193415271005956411655425694692862152177904877989836591984410372390528129015656195623595879001993711921459090781772952473819240765980529756482283161971216394758618254188931192599095750873312805537240645208460792218028241083759652934979582405349716411762135749101757905255078618290245455713897153177868613200017593364416624616315703920538137199361376761320503200641362283124539996992335260611554992015000033604252846312658622262420857611839392120996011153218446889076283282650764965905623695324265655409763275971889195028281905078896080636 930971425773543441403773144991483114857373830312024391271371200098747123543209602070990649306398617313257474838113680264612192548882338860469439650471393761557751840690237671610177774180311975313929553675411556871944283533076303451606758670284138242624434853186141501801418496569492384029591725688885509694320158461290355265368948157680095691536591796402075629744653748672554717752364275647466788401719422424931319962471011010752199285780618967649713771277932072157090560311519299062272099687300398360301085345321856060510456762472412351193728241298541786991220733432724981150880896726725938556223221311171987552863774379028191054872905279270508055494209344345113058723417819656106693167000054495712926253594820580724656965465883044147628135434612551810430682243 1506343409456543155399050518334624912966702241419285653982080963437470221350986471693064579988873253168558032138056205577592890622347500477958674115142645912384654988566879776768502371922419211583005284641792434596893704376084496866877764626695793668319127715338319406679408333161476794401982253817901165889943754340292348977290407248461868644010411037168056159501136031834525934147122893901655719594318518175804632768008251655960660077998647208733473424212911654562440276723281434811373857592555476978591330801035753213688325375672429944558144865914857490911758870632086357912201399927367300839347761308164322813475329371043191088477158125583166677756630201956952450844413830809325140056076337778363691219500444276048922620875646320119517330462894456889326762879 2437314835230086596802823663326108027824076071731310045253452163536217344894196073764055229295271870481815506976169885842205083171229839338428113765614039673942406829257117448378680146102731186896934838317203991468837987909160800318484523296979931910943562568524460908480826829730969178431573979506786675584263912801582704242659355406141964335547002833570131789245789780507080651899487169549122507996037940600735952730479262666712859363779266176383187195490843726719530837034800733873645957279855875338892416146357609274198782138144842295751873107213399277902979604064811339063082296654093239395570982619336310366339103750071382143350063404853674733250839546302065509567831650465431833223076392274076617473095264856773579586341529364267145465897507008699757445122 3943658244686629752201874181660732940790778313150595699235533126973687566245182545457119809284145123650373539114226091419797973793577339816386787880756685586327061817823997225147182518025150398479940122958996426065731692285245297185362287923675725579262690283862780315160235162892445972833556233324687841474207667141875053219949762654603832979557413870738187948746925812341606586046610063450778227590356458776540585498487514322673519441777913385116660619703755381281971113758082168685019814872411352317483746947393362487887107513817272240310017973128256768814738474696897696975283696581460540234918743927500633179814433121114573231827221530436841411007469748259017960412245481274756973279152730052440308692595709132822502207217175684386662796360401465589084208001 6380973079916716349004697844986840968614854384881905744488985290509904911139378619221175038579416994132189046090395977262003056964807179154814901646370725260269468647081114673525862664127881585376874961276200417534569680194406097503846811220655657490206252852387241223641061992623415151265130212831474517058471579943457757462609118060745797315104416704308319737992715592848687237946097232999900735586394399377276538228966776989386378805557179561499847815194599108001501950792882902558665772152267227656376163093750971762085889651962114536061891080341656046717718078761709036038365993235553779630489726546836943546153536871185955375177284935290516144258309294561083469980077131740188806502229122326516926165690973989596081793558705048653808262257908474288841653123 10324631324603346101206572026647573909405632698032501443724518417483592477384561164678294847863562117782562585204622068681801030758384518971201689527127410846596530464905111898673045182153031983856815084235196843600301372479651394689209099144331383069468943136250021538801297155515861124098686446156162358532679247085332810682558880715349630294661830575046507686739641405190293823992707296450678963176750858153817123727454291312059898247335092946616508434898354489283473064550965071243685587024678579973859910041144334249972997165779386776371909053469912815532456553458606733013649689817014319865408470474337576725967969992300528607004506465727357555265779042820101430392322613014945779781381852378957234858286683122418584000775880733040471058618309939877925861124 16705604404520062450211269871634414878020487082914407188213503707993497388523939783899469886442979111914751631295018045943804087723191698126016591173498136106865999111986226572198907846280913569233690045511397261134871052674057492193055910364987040559675195988637262762442359148139276275363816658987636875591150827028790568145167998776095427609766247279354827424732356998038981061938804529450579698763145257531093661956421068301446277052892272508116356250092953597284975015343847973802351359176945807630236073134895306012058886817741501312433800133811568862250174632220315769052015683052568099495898197021174520272121506863486483982181791401017873699524088337381184900372399744755134586283610974705474161023977657112014665794334585781694279320876218414166767514247 27030235729123408551417841898281988787426119780946908631938022125477089865908500948577764734306541229697314216499640114625605118481576217097218280700625546953462529576891338470871953028433945553090505129746594104735172425153708886882265009509318423629144139124887284301243656303655137399462503105143799234123830074114123378827726879491445057904428077854401335111471998403229274885931511825901258661939896115684910785683875359613506175300227365454732864684991308086568448079894813045046036946201624387604095983176039640262031883983520888088805709187281481677782631185678922502065665372869582419361306667495512096998089476855787012589186297866745231254789867380201286330764722357770080366064992827084431395882264340234433249795110466514734750379494528354044693375371 43735840133643471001629111769916403665446606863861315820151525833470587254432440732477234620749520341612065847794658160569409206204767915223234871874123683060328528688877565043070860874714859122324195175257991365870043477827766379075320919874305464188819335113524547063686015451794413674826319764131436109714980901142913946972894878267540485514194325133756162536204355401268255947870316355351838360703041373216004447640296427914952452353119637962849220935084261683853423095238661018848388305378570195234332056310934946274090770801262389401239509321093050540032805817899238271117681055922150518857204864516686617270210983719273496571368089267763104954313955717582471231137122102525214952348603801789905556906241997346447915589445052296429029700370746768211460889618 70766075862766879553046953668198392452872726644808224452089547958947677120340941681054999355056061571309380064294298275195014324686344132320453152574749230013791058265768903513942813903148804675414700305004585470605215902981475265957585929383623887817963474238411831364929671755449551074288822869275235343838810975257037325800621757758985543418622402988157497647676353804497530833801828181253097022642937488900915233324171787528458627653347003417582085620075569770421871175133474063894425251580194582838428039486974586536122654784783277490045218508374532217815437003578160773183346428791732938218511532012198714268300460575060509160554387134508336209103823097783757561901844460295295318413596628874336952788506337580881165384555518811163780079865275122256154264989 114501915996410350554676065438114796118319333508669540272241073792418264374773382413532233975805581912921445912088956435764423530891112047543688024448872913074119586954646468557013674777863663797738895480262576836475259380809241645032906849257929352006782809351936378428615687207243964749115142633406671453553791876399951272773516636026526028932816728121913660183880709205765786781672144536604935383345978862116919680964468215443411080006466641380431306555159831454275294270372135082742813556958764778072760095797909532810213425586045666891284727829467582757848242821477399044301027484713883457075716396528885331538511444294334005731922476402271441163417778815366228793038966562820510270762200430664242509694748334927329080974000571107592809780236021890467615154607 185267991859177230107723019106313188571192060153477764724330621751365941495114324094587233330861643484230825976383254710959437855577456179864141177023622143087910645220415372070956488681012468473153595785267162307080475283790716910990492778641553239824746283590348209793545358962693515823403965502681906797392602851656988598574138393785511572351439131110071157831557063010263317615473972717858032405988916351017834914288640002971869707659813644798013392175235401224697165445505609146637238808538959360911188135284884119346336080370828944381329946337842114975663679825055559817484373913505616395294227928541084045806811904869394514892476863536779777372521601913149986354940811023115805589175797059538579462483254672508210246358556089918756589860101297012723769419596 299769907855587580662399084544427984689511393662147304996571695543784205869887706508119467306667225397152271888472211146723861386468568227407829201472495056162030232175061840627970163458876132270892491265529739143555734664599958556023399627899482591831529092942284588222161046169937480572519108136088578250946394728056939871347655029812037601284255859231984818015437772216029104397146117254462967789334895213134754595253108218415280787666280286178444698730395232678972459715877744229380052365497724138983948231082793652156549505956874611272614674167309697733511922646532958861785401398219499852369944325069969377345323349163728520624399339939051218535939380728516215147979777585936315859937997490202821972178003007435539327332556661026349399640337318903191384574203 485037899714764810770122103650741173260703453815625069720902317295150147365002030602706700637528868881383097864855465857683299242046024407271970378496117199249940877395477212698926652139888600744046087050796901450636209948390675467013892406541035831656275376532632798015706405132630996395923073638770485048338997579713928469921793423597549173635694990342055975846994835226292422012620089972321000195323811564152589509541748221387150495326093930976458090905630633903669625161383353376017291174036683499895136366367677771502885586327703555653944620505151812709175602471588518679269775311725116247664172253611053423152135254033123035516876203475830995908460982641666201502920588609052121449113794549741401434661257679943749573691112750945105989500438615915915153993799 784807807570352391432521188195169157950214847477772374717474012838934353234889737110826167944196094278535369753327677004407160628514592634679799579968612255411971109570539053326896815598764733014938578316326640594191944612990634023037292034440518423487804469474917386237867451302568476968442181774859063299285392307770868341269448453409586774919950849574040793862432607442321526409766207226783967984658706777287344104794856439802431282992374217154902789636025866582642084877261097605397343539534407638879084597450471423659435092284578166926559294672461510442687525118121477541055176709944616100034116578681022800497458603196851556141275543414882214444400363370182416650900366194988437309051792039944223406839260687379288901023669411971455389140775934819106538568002 1269845707285117202202643291845910331210918301293397444438376330134084500599891767713532868581724963159918467618183142862090459870560617041951769958464729454661911986966016266025823467738653333758984665367123542044828154561381309490051184440981554255144079846007550184253573856435199473364365255413629548347624389887484796811191241877007135948555645839916096769709427442668613948422386297199104968179982518341439933614336604661189581778318468148131360880541656500486311710038644450981414634713571091138774220963818149195162320678612281722580503915177613323151863127589709996220324952021669732347698288832292076223649593857229974591658151746890713210352861346011848618153820954804040558758165586589685624841500518367323038474714782162916561378641214550735021692561801 2054653514855469593635164480041079489161133148771169819155850342973018853834781504824359036525921057438453837371510819866497620499075209676631569538433341710073883096536555319352720283337418066773923243683450182639020099174371943513088476475422072678631884315482467570491441307737767950332807437188488611646909782195255665152460690330416722723475596689490137563571860050110935474832152504425888936164641225118727277719131461100992013061310842365286263670177682367068953794915905548586811978253105498777653305561268620618821755770896859889507063209850074833594550652707831473761380128731614348447732405410973099024147052460426826147799427290305595424797261709382031034804721320999028996067217378629629848248339779054702327375738451574888016767781990485554128231129803 3324499222140586795837807771886989820372051450064567263594226673107103354434673272537891905107646020598372304989693962728588080369635826718583339496898071164735795083502571585378543751076071400532907909050573724683848253735753253003139660916403626933775964161490017754745015164172967423697172692602118159994534172082740461963651932207423858672031242529406234333281287492779549423254538801624993904344623743460167211333468065762181594839629310513417624550719338867555265504954549999568226612966676589916427526525086769813984076449509141612087567125027688156746413780297541469981705080753284080795430694243265175247796646317656800739457579037196308635150123055393879652958542275803069554825382965219315473089840297422025365850453233737804578146423205036289149923691604 5379152736996056389472972251928069309533184598835737082750077016080122208269454777362250941633567078036826142361204782595085700868711036395214909035331412874809678180039126904731264034413489467306831152734023907322868352910125196516228137391825699612407848476972485325236456471910735374029980129790606771641443954277996127116112622537840581395506839218896371896853147542890484898086691306050882840509264968578894489052599526863173607900940152878703888220897021234624219299870455548155038591219782088694080832086355390432805832220406001501594630334877762990340964433005372943743085209484898429243163099654238274271943698778083626887257006327501904059947384764775910687763263596802098550892600343848945321338180076476727693226191685312692594914205195521843278154821407 8703651959136643185310780023815059129905236048900304346344303689187225562704128049900142846741213098635198447350898745323673781238346863113798248532229484039545473263541698490109807785489560867839739061784597632006716606645878449519367798308229326546183812638462503079981471636083702797727152822392724931635978126360736589079764554745264440067538081748302606230134435035670034321341230107675876744853888712039061700386067592625355202740569463392121512771616360102179484804825005547723265204186458678610508358611442160246789908669915143113682197459905451147087378213302914413724790290238182510038593793897503449519740345095740427626714585364698212695097507820169790340721805872605168105717983309068260794428020373898753059076644919050497173060628400558132428078513011 14082804696132699574783752275743128439438420647736041429094380705267347770973582827262393788374780176672024589712103527918759482107057899509013157567560896914355151443580825394841071819903050335146570214518621539329584959556003646035595935700055026158591661115434988405217928107994438171757132952183331703277422080638732716195877177283105021463044920967198978126987582578560519219427921413726759585363153680617956189438667119488528810641509616270825400992513381336803704104695461095878303795406240767304589190697797550679595740890321144615276827794783214137428342646308287357467875499723080939281756893551741723791684043873824054513971591692200116755044892584945701028485069469407266656610583652917206115766200450375480752302836604363189767974833596079975706233334418 22786456655269342760094532299558187569343656696636345775438684394454573333677710877162536635115993275307223037063002273242433263345404762622811406099790380953900624707122523884950879605392611202986309276303219171336301566201882095554963734008284352704775473753897491485199399744078140969484285774576056634913400206999469305275641732028369461530583002715501584357122017614230553540769151521402636330217042392657017889824734712113884013382079079662946913764129741438983188909520466643601568999592699445915097549309239710926385649560236287728959025254688665284515720859611201771192665789961263449320350687449245173311424388969564482140686177056898329450142400405115491369206875342012434762328566961985466910194220824274233811379481523413686941035461996638108134311847429 36869261351402042334878284575301316008782077344372387204533065099721921104651293704424930423490773451979247626775105801161192745452462662131824563667351277868255776150703349279791951425295661538132879490821840710665886525757885741590559669708339378863367134869332479890417327852072579141241418726759388338190822287638202021471518909311474482993627923682700562484109600192791072760197072935129395915580196073274974079263401831602412824023588695933772314756643122775786893014215927739479872794998940213219686740007037261605981390450557432344235853049471879421944063505919489128660541289684344388602107581000986897103108432843388536654657768749098446205187292990061192397691944811419701418939150614902673025960421274649714563682318127776876709010295592718083840545181847 59655718006671385094972816874859503578125734041008732979971749494176494438329004581587467058606766727286470663838108074403626008797867424754635969767141658822156400857825873164742831030688272741119188767125059882002188091959767837145523403716623731568142608623229971375616727596150720110725704501335444973104222494637671326747160641339843944524210926398202146841231617807021626300966224456532032245797238465931991969088136543716296837405667775596719228520772864214770081923736394383081441794591639659134784289316276972532367040010793720073194878304160544706459784365530690899853207079645607837922458268450232070414532821812953018795343945805996775655329693395176683766898820153432136181267717576888139936154642098923948375061799651190563650045757589356191974857029276 96524979358073427429851101450160819586907811385381120184504814593898415542980298286012397482097540179265718290613213875564818754250330086886460533434492936690412177008529222444534782455983934279252068257946900592668074617717653578736083073424963110431509743492562451266034055448223299251967123228094833311295044782275873348218679550651318427517838850080902709325341217999812699061163297391661428161377434539206966048351538375318709661429256471530491543277415986990556974937952322122561314589590579872354471029323314234138348430461351152417430731353632424128403847871450180028513748369329952226524565849451218967517641254656341555450001714555095221860516986385237876164590764964851837600206868191790812962115063373573662938744117778967440359056053182074275815402211123 156180697364744812524823918325020323165033545426389853164476564088074909981309302867599864540704306906552188954451321949968444763048197511641096503201634595512568577866355095609277613486672207020371257025071960474670262709677421415881606477141586841999652352115792422641650783044374019362692827729430278284399267276913544674965840191991162372042049776479104856166572835806834325362129521848193460407174673005138958017439674919035006498834924247127210771798188851205327056861688716505642756384182219531489255318639591206670715470472144872490625609657792968834863632236980870928366955448975560064447024117901451037932174076469294574245345660361091997515846679780414559931489585118283973781474585768678952898269705472497611313805917430158004009101810771430467790259240399 252705676722818239954675019775181142751941356811770973348981378681973325524289601153612262022801847085817907245064535825533263517298527598527557036636127532202980754874884318053812395942656141299623325283018861067338337327395074994617689550566549952431162095608354873907684838492597318614659950957525111595694312059189418023184519742642480799559888626560007565491914053806647024423292819239854888568552107544345924065791213294353716160264180718657702315075604838195884031799641038628204070973772799403843726347962905440809063900933496024908056341011425392963267480108431050956880703818305512290971589967352670005449815331125636129695347374916187219376363666165652436096080350083135811381681453960469765860384768846071274252550035209125444368157863953504743605661451522 408886374087563052479498938100201465916974902238160826513457942770048235505598904021212126563506153992370096199515857775501708280346725110168653539837762127715549332741239413663090009429328348319994582308090821542008600037072496410499296027708136794430814447724147296549335621536971337977352778686955389880093579336102962698150359934633643171601938403039112421658486889613481349785422341088048348975726780549484882083230888213388722659099104965784913086873793689401211088661329755133846827357955018935332981666602496647479779371405640897398681950669218361798131112345411921885247659267281072355418614085254121043381989407594930703940693035277279216892210345946066996027569935201419785163156039729148718758654474318568885566355952639283448377259674724935211395920691921 661592050810381292434173957875382608668916259049931799862439321452021561029888505174824388586308001078188003444580393601034971797645252708696210576473889659918530087616123731716902405371984489619617907591109682609346937364467571405116985578274686746861976543332502170457020460029568656592012729644480501475787891395292380721334879677276123971161827029599119987150400943420128374208715160327903237544278888093830806149022101507742438819363285684442615401949398527597095120460970793762050898331727818339176708014565402088288843272339136922306738291680643754761398592453842972842128363085586584646390204052606791048831804738720566833636040410193466436268574012111719432123650285284555596544837493689618484619039243164640159818905987848408892745417538678439955001582143443 1070478424897944344913672895975584074585891161288092626375897264222069796535487409196036515149814155070558099644096251376536680077991977818864864116311651787634079420357363145379992414801312837939612489899200504151355537401540067815616281605982823541292790991056649467006356081566539994569365508331435891355881470731395343419485239611909767142763765432638232408808887833033609723994137501415951586520005668643315688232252989721131161478462390650227528488823192216998306209122300548895897725689682837274509689681167898735768622643744777819705420242349862116559529704799254894727376022352867657001808818137860912092213794146315497537576733445470745653160784358057786428151220220485975381707993533418767203377693717483209045385261940487692341122677213403375166397502835364 1732070475708325637347846853850966683254807420338024426238336585674091357565375914370860903736122156148746103088676644977571651875637230527561074692785541447552609507973486877096894820173297327559230397490310186760702474766007639220733267184257510288154767534389151637463376541596108651161378237975916392831669362126687724140820119289185891113925592462237352395959288776453738098202852661743854824064284556737146494381275091228873600297825676334670143890772590744595401329583271342657948624021410655613686397695733300824057465916083914742012158534030505871320928297253097867569504385438454241648199022190467703141045598885036064371212773855664212089429358370169505860274870505770530978252831027108385687996732960647849205204167928336101233868094752081815121399084978807 2802548900606269982261519749826550757840698581626117052614233849896161154100863323566897418885936311219304202732772896354108331953629208346425938809097193235186688928330850022476887234974610165498842887389510690912058012167547707036349548790240333829447558525445801104469732623162648645730743746307352284187550832858083067560305358901095658256689357894875584804768176609487347822196990163159806410584290225380462182613528080950004761776288066984897672379595782961593707538705571891553846349711093492888196087376901199559826088559828692561717578776380367987880458002052352762296880407791321898650007840328328615233259393031351561908789507301134957742590142728227292288426090726256506359960824560527152891374426678131058250589429868823793574990771965485190287796587814171 4534619376314595619609366603677517441095506001964141478852570435570252511666239237937758322622058467368050305821449541331679983829266438873987013501882734682739298436304336899573782055147907493058073284879820877672760486933555346257082815974497844117602326059834952741933109164758757296892121984283268677019220194984770791701125478190281549370614950357112937200727465385941085920399842824903661234648574782117608676994803172178878362074113743319567816270368373706189108868288843234211794973732504148501882485072634500383883554475912607303729737310410873859201386299305450629866384793229776140298206862518796318374304991916387626280002281156799169832019501098396798148700961232027037338213655587635538579371159638778907455793597797159894808858866717567005409195672792978 7337168276920865601870886353504068198936204583590258531466804285466413665767102561504655741507994778587354508554222437685788315782895647220412952310979927917925987364635186922050669290122517658556916172269331568584818499101103053293432364764738177947049884585280753846402841787921405942622865730590620961206771027842853859261430837091377207627304308251988522005495641995428433742596832988063467645232865007498070859608331253128883123850401810304465488649964156667782816406994415125765641323443597641390078572449535699943709643035741299865447316086791241847081844301357803392163265201021098038948214702847124933607564384947739188188791788457934127574609643826624090437127051958283543698174480148162691470745586316909965706383027665983688383849638683052195696992260607149 11871787653235461221480252957181585640031710585554400010319374721036666177433341799442414064130053245955404814375671979017468299612162086094399965812862662600665285800939523821624451345270425151614989457149152446257578986034658399550515180739236022064652210645115706588335950952680163239514987714873889638225991222827624650962556315281658756997919258609101459206223107381369519662996675812967128879881439789615679536603134425307761485924515553624033304920332530373971925275283258359977436297176101789891961057522170200327593197511653907169177053397202115706283230600663254022029649994250874179246421565365921251981869376864126814468794069614733297406629144925020888585828013190310581036388135735798230050116745955688873162176625463143583192708505400619201106187933400127 19208955930156326823351139310685653838967915169144658541786179006503079843200444360947069805638048024542759322929894416703256615395057733314812918123842590518591273165574710743675120635392942810171905629418484014842397485135761452843947545503974200011702095230396460434738792740601569182137853445464510599432762250670478510223987152373035964625223566861089981211718749376797953405593508801030596525114304797113750396211465678436644609774917363928498793570296687041754741682277673485743077620619699431282039629971705900271302840547395207034624369483993357553365074902021057414192915195271972218194636268213046185589433761811866002657585858072667424981238788751644979022955065148594124734562615883960921520862332272598838868559653129127271576558144083671396803180194007276 31080743583391788044831392267867239478999625754699058552105553727539746020633786160389483869768101270498164137305566395720724915007219819409212883936705253119256558966514234565299571980663367961786895086567636461099976471170419852394462726243210222076354305875512167023074743693281732421652841160338400237658753473498103161186543467654694721623142825470191440417941856758167473068590184613997725404995744586729429932814600103744406095699432917552532098490629217415726666957560931845720513917795801221174000687493876100598896038059049114203801422881195473259648305502684311436222565189522846397441057833578967437571303138675992817126379927687400722387867933676665867608783078338904705770950751619759151570979078228287712030736278592270854769266649484290597909368127407403 50289699513548114868182531578552893317967540923843717093891732734042825863834230521336553675406149295040923460235460812423981530402277552724025802060547843637847832132088945308974692616056310771958800715986120475942373956306181305238410271747184422088056401105908627457813536433883301603790694605802910837091515724168581671410530620027730686248366392331281421629660606134965426474183693415028321930110049383843180329026065782181050705474350281481030892060925904457481408639838605331463591538415500652456040317465582000870198878606444321238425792365188830813013380404705368850415480384794818615635694101792013623160736900487858819783965785760068147369106722428310846631738143487498830505513367503720073091841410500886550899295931721398126345824793567961994712548321414679 81370443096939902913013923846420132796967166678542775645997286461582571884468016681726037545174250565539087597541027208144706445409497372133238685997253096757104391098603179874274264596719678733745695802553756937042350427476601157632872997990394644164410706981420794480888280127165034025443535766141311074750269197666684832597074087682425407871509217801472862047602462893132899542773878029026047335105793970572610261840665885925456801173783199033562990551555121873208075597399537177184105456211301873630041004959458101469094916665493435442227215246384304072661685907389680286638045574317665013076751935370981060732040039163851636910345713447468869756974656104976714240521221826403536276464119123479224662820488729174262930032210313668981115091443052252592621916448822082 131660142610488017781196455424973026114934707602386492739889019195625397748302247203062591220580399860580011057776488020568687975811774924857264488057800940394952223230692125183248957212775989505704496518539877412984724383782782462871283269737579066252467108087329421938701816561048335629234230371944221911841784921835266504007604707710156094119875610132754283677263069028098326016957571444054369265215843354415790590866731668106507506648133480514593882612481026330689484237238142508647696994626802526086081322425040102339293795271937756680653007611573134885675066312095049137053525959112483628712446037162994683892776939651710456694311499207537017126081378533287560872259365313902366781977486627199297754661899230060813829328142035067107460916236620214587334464770236761 213030585707427920694210379271393158911901874280929268385886305657207969632770263884788628765754650426119098655317515228713394421221272296990503174055054037152056614329295305057523221809495668239450192321093634350027074811259383620504156267727973710416877815068750216419590096688213369654677766138085532986592054119501951336604678795392581501991384827934227145724865531921231225559731449473080416600321637324988400852707397554031964307821916679548156873164036148203897559834637679685831802450838104399716122327384498203808388711937431192122880222857957438958336752219484729423691571533430148641789197972533975744624816978815562093604657212655005886883056034638264275112780587140305903058441605750678522417482387959235076759360352348736088576007679672467179956381219058843 344690728317915938475406834696366185026836581883315761125775324852833367381072511087851219986335050286699109713094003249282082397033047221847767662112854977547008837559987430240772179022271657745154688839633511763011799195042166083375439537465552776669344923156079638358291913249261705283911996510029754898433839041337217840612283503102737596111260438066981429402128600949329551576689020917134785865537480679404191443574129222138471814470050160062750755776517174534587044071875822194479499445464906925802203649809538306147682507209368948803533230469530573844011818531579778560745097492542632270501644009696970428517593918467272550298968711862542904009137413171551835985039952454208269840419092377877820172144287189295890588688494383803196036923916292681767290845989295604 557721314025343859169617213967759343938738456164245029511661630510041337013842774972639848752089700712818208368411518477995476818254319518838270836167909014699065451889282735298295400831767325984604881160727146113038874006301549703879595805193526487086222738224829854777882009937475074938589762648115287885025893160839169177216962298495319098102645266001208575126994132870560777136420470390215202465859118004392592296281526776170436122291966839610907628940553322738484603906513501880311301896303011325518325977194036509956071219146800140926413453327488012802348570751064507984436669025972780912290841982230946173142410897282834643903625924517548790892193447809816111097820539594514172898860698128556342589626675148530967348048846732539284612931595965148947247227208354447 902412042343259797645024048664125528965575038047560790637436955362874704394915286060491068738424750999517318081505521727277559215287366740686038498280763992246074289449270165539067579854038983729759570000360657876050673201343715787255035342659079263755567661380909493136173923186736780222501759158145042783459732202176387017829245801598056694213905704068190004529122733819890328713109491307349988331396598683796783739855655998308907936762016999673658384717070497273071647978389324074790801341767918251320529627003574816103753726356169089729946683797018586646360389282644286545181766518515413182792485991927916601660004815750107194202594636380091694901330860981367947082860492048722442739279790506434162761770962337826857936737341116342480649855512257830714538073197650051 1460133356368603656814641262631884872904313494211805820149098585872916041408758061033130917490514451712335526449917040205273036033541686259524309334448673006945139741338552900837362980685806309714364451161087803989089547207645265491134631147852605750841790399605739347914055933124211855161091521806260330668485625363015556195046208100093375792316550970069398579656116866690451105849529961697565190797255716688189376036137182774479344059053983839284566013657623820011556251884902825955102103238070929576838855604197611326059824945502969230656360137124506599448708960033708794529618435544488194095083327974158862774802415713032941838106220560897640485793524308791184058180681031643236615638140488634990505351397637486357825284786187848881765262787108222979661785300406004498 2362545398711863454459665311296010401869888532259366610786535541235790745803673347093621986228939202711852844531422561932550595248829053000210347832729436999191214030787823066376430560539845293444124021161448461865140220408988981278389666490511685014597358060986648841050229856310948635383593280964405373451945357565191943212875453901691432486530456674137588584185239600510341434562639453004915179128652315371986159775992838772788251995816000838958224398374694317284627899863292150029892904579838847828159385231201186142163578671859138320386306820921525186095069349316353081074800202063003607277875813966086779376462420528783049032308815197277732180694855169772552005263541523691959058377420279141424668113168599824184683221523528965224245912642620480810376323373603654549 3822678755080467111274306573927895274774202026471172430935634127108706787212431408126752903719453654424188370981339602137823631282370739259734657167178110006136353772126375967213793541225651603158488472322536265854229767616634246769524297638364290765439148460592388188964285789435160490544684802770665704120430982928207499407921662001784808278847007644206987163841356467200792540412169414702480369925908032060175535812130021547267596054869984678242790412032318137296184151748194975984995007817909777404998240835398797468223403617362107551042666958046031785543778309350061875604418637607491801372959141940245642151264836241815990870415035758175372666488379478563736063444222555335195674015560767776415173464566237310542508506309716814106011175429728703790038108674009659047 6185224153792330565733971885223905676644090558730539041722169668344497533016104755220374889948392857136041215512762164070374226531199792259945004999907547005327567802914199033590224101765496896602612493483984727719369988025623228047913964128875975780036506521579037030014515645746109125928278083735071077572376340493399442620797115903476240765377464318344575748026596067711133974974808867707395549054560347432161695588122860320055848050685985517201014810407012454580812051611487126014887912397748625233157626066599983610386982289221245871428973778967556971638847658666414956679218839670495408650834955906332421527727256770599039902723850955453104847183234648336288068707764079027154732392981046917839841577734837134727191727833245779330257088072349184600414432047613313596 10007902908872797677008278459151800951418292585201711472657803795453204320228536163347127793667846511560229586494101766208197857813570531519679662167085657011463921575040575000804017642991148499761100965806520993573599755642257474817438261767240266545475654982171425218978801435181269616472962886505736781692807323421606942028718777905261049044224471962551562911867952534911926515386978282409875918980468379492337231400252881867323444105555970195443805222439330591876996203359682101999882920215658402638155866901998781078610385906583353422471640737013588757182625968016476832283637477277987210023794097846578063678992093012415030773138886713628477513671614126900024132151986634362350406408541814694255015042301074445269700234142962593436268263502077888390452540721622972643 16193127062665128242742250344375706628062383143932250514379973463797701853244640918567502683616239368696270802006863930278572084344770323779624667166993204016791489377954774034394241744756645396363713459290505721292969743667880702865352225896116242325512161503750462248993317080927378742401240970240807859265183663915006384649515893808737289809601936280896138659894548602623060490361787150117271468035028726924498926988375742187379292156241955712644820032846343046457808254971169228014770832613407027871313492968598764688997368195804599293900614515981145728821473626682891788962856316948482618674629053752910485206719349783014070675862737669081582360854848775236312200859750713389505138801522861612094856620035911579996891961976208372766525351574427072990866972769236286239 26201029971537925919750528803527507579480675729133961987037777259250906173473177081914630477284085880256500388500965696486769942158340855299304329334078861028255410952995349035198259387747793896124814425097026714866569499310138177682790487663356508870987816485921887467972118516108648358874203856746544640957990987336613326678234671713998338853826408243447701571762501137534987005748765432527147387015497106416836158388628624054702736261797925908088625255285673638334804458330851330014653752829065430509469359870597545767607754102387952716372255252994734486004099594699368621246493794226469828698423151599488548885711442795429101449001624382710059874526462902136336333011737347751855545210064676306349871662336986025266592196119170966202793615076504961381319513490859258882 42394157034203054162492779147903214207543058873066212501417750723048608026717818000482133160900325248952771190507829626765342026503111179078928996501072065045046900330950123069592501132504439292488527884387532436159539242978018880548142713559472751196499977989672349716965435597036027101275444826987352500223174651251619711327750565522735628663428344524343840231657049740158047496110552582644418855050525833341335085377004366242082028418039881620733445288132016684792612713302020558029424585442472458380782852839196310456605122298192552010272869768975880214825573221382260410209350111174952447373052205352399034092430792578443172124864362051791642235381311677372648533871488061141360684011587537918444728282372897605263484158095379338969318966650932034372186486260095545121 68595187005740980082243307951430721787023734602200174488455527982299514200190995082396763638184411129209271579008795323252111968661452034378233325835150926073302311283945472104790760520252233188613342309484559151026108742288157058230933201222829260067487794475594237184937554113144675460149648683733897141181165638588233038005985237236733967517254752767791541803419550877693034501859318015171566242066022939758171243765632990296784764679837807528822070543417690323127417171632871888044078338271537888890252212709793856224212876400580504726645125021970614700829672816081629031455843905401422276071475356951887582978142235373872273573865986434501702109907774579508984866883225408893216229221652214224794599944709883630530076354214550305172112581727436995753505999750954804003 110989344039944034244736087099333935994566793475266386989873278705348122226908813082878896799084736378162042769516624950017453995164563213457162322336222991118349211614895595174383261652756672481101870193872091587185647985266175938779075914782302011263987772465266586901902989710180702561425093510721249641404340289839852749333735802759469596180683097292135382035076600617851081997969870597815985097116548773099506329142637356538866793097877689149555515831549707007920029884934892446073502923714010347271035065548990166680817998698773056736917994790946494915655246037463889441665194016576374723444527562304286617070573027952315445698730348486293344345289086256881633400754713470034576913233239752143239328227082781235793560512309929644141431548378369030125692486011050349124 179584531045685014326979395050764657781590528077466561478328806687647636427099808165275660437269147507371314348525420273269565963826015247835395648171373917191651522898841067279174022173008905669715212503356650738211756727554332997010009116005131271331475566940860824086840543823325378021574742194455146782585505928428085787339721039996203563697937850059926923838496151495544116499829188612987551339182571712857677572908270346835651557777715496678377586374967397331047447056567764334117581261985548236161287278258784022905030875099353561463563119812917109616484918853545518473121037921977796999516002919256174200048715263326187719272596334920795046455196860836390618267637938878927793142454891966368033928171792664866323636866524479949313544130105806025879198485762005153127 290573875085629048571715482150098593776157321552732948468202085392995758654008621248154557236353883885533357118042045223287019958990578461292557970507596908310000734513736662453557283825765578150817082697228742325397404712820508935789085030787433282595463339406127410988743533533506080582999835705176396423989846218267938536673456842755673159878620947352062305873572752113395198497799059210803536436299120485957183902050907703374518350875593185827933102206517104338967476941502656780191084185699558583432322343807774189585848873798126618200481114603863604532140164891009407914786231938554171722960530481560460817119288291278503164971326683407088390800485947093272251668392652348962370055688131718511273256398875446102117197378834409593454975678484175056004890971773055502251 470158406131314062898694877200863251557747849630199509946530892080643395081108429413430217673623031392904671466567465496556585922816593709127953618678970825501652257412577729732731305998774483820532295200585393063609161440374841932799094146792564553926938906346988235075584077356831458604574577899631543206575352146696024324013177882751876723576558797411989229712068903608939314997628247823791087775481692198814861474959178050210169908653308682506310688581484501670014923998070421114308665447685106819593609622066558212490879748897480179664044234416780714148625083744554926387907269860531968722476533400816635017168003554604690884243923018327883437255682807929662869936030591227890163198143023684879307184570668110968440834245358889542768519808589981081884089457535060655378 760732281216943111470410359350961845333905171182932458414732977473639153735117050661584774909976915278438028584609510719843605881807172170420511589186567733811652991926314392186288589824540061971349377897814135389006566153195350868588179177579997836522402245753115646064327610890337539187574413604807939630565198364963962860686634725507549883455179744764051535585641655722334513495427307034594624211780812684772045377010085753584688259528901868334243790788001606008982400939573077894499749633384665403025931965874332402076728622695606797864525349020644318680765248635564334302693501799086140445437063882377095834287291845883194049215249701734971828056168755022935121604423243576852533253831155403390580440969543557070558031624193299136223495487074156137888980429308116157629 1230890687348257174369105236551825096891653020813131968361263869554282548816225480075014992583599946671342700051176976216400191804623765879548465207865538559313305249338892121919019895823314545791881673098399528452615727593570192801387273324372562390449341152100103881139911688247168997792148991504439482837140550511659987184699812608259426607031738542176040765297710559331273828493055554858385711987262504883586906851969263803794858168182210550840554479369486107678997324937643499008808415081069772222619541587940890614567608371593086977528569583437425032829390332380119260690600771659618109167913597283193730851455295400487884933459172720062855265311851562952597991540453834804742696451974179088269887625540211668038998865869552188678992015295664137219773069886843176813007 1991622968565200285839515595902786942225558191996064426775996847027921702551342530736599767493576861949780728635786486936243797686430938049968976797052106293124958241265206514105308485647854607763231050996213663841622293746765543669975452501952560226971743397853219527204239299137506536979723405109247422467705748876623950045386447333766976490486918286940092300883352215053608341988482861892980336199043317568358952228979349557379546427711112419174798270157487713687979725877216576903308164714454437625645473553815223016644336994288693775393094932458069351510155581015683594993294273458704249613350661165570826685742587246371078982674422421797827093368020317975533113144877078381595229705805334491660468066509755225109556897493745487815215510782738293357662050316151292970636 3222513655913457460208620832454612039117211212809196395137260716582204251367568010811614760077176808621123428686963463152643989491054703929517442004917644852438263490604098636024328381471169153555112724094613192294238021340335736471362725826325122617421084549953323408344150987384675534771872396613686905304846299388283937230086259942026403097518656829116133066181062774384882170481538416751366048186305822451945859080948613361174404595893322970015352749526973821366977050814860075912116579795524209848265015141756113631211945365881780752921664515895494384339545913395802855683895045118322358781264258448764557537197882646858963916133595141860682358679871880928131104685330913186337926157779513579930355692049966893148555763363297676494207526078402430577435120202994469783643 5214136624478657746048136428357398981342769404805260821913257563610125953918910541548214527570753670570904157322749950088887787177485641979486418801969751145563221731869305150129636867119023761318343775090826856135860315087101280141338178328277682844392827947806542935548390286522182071751595801722934327772552048264907887275472707275793379588005575116056225367064414989438490512470021278644346384385349140020304811309927962918553951023604435389190151019684461535054956776692076652815424744509978647473910488695571336647856282360170474528314759448353563735849701494411486450677189318577026608394614919614335384222940469893230042898808017563658509452047892198903664217830207991567933155863584848071590823758559722118258112660857043164309423036861140723935097170519145762754279 8436650280392115206256757260812011020459980617614457217050518280192330205286478552359829287647930479192027586009713413241531776668540345909003860806887395998001485222473403786153965248590192914873456499185440048430098336427437016612700904154602805461813912497759866343892541273906857606523468198336621233077398347653191824505558967217819782685524231945172358433245477763823372682951559695395712432571654962472250670390876576279728355619497758359205503769211435356421933827506936728727541324305502857322175503837327450279068227726052255281236423964249058120189247407807289306361084363695348967175879178063099941760138352540089006814941612705519191810727764079831795322515538904754271082021364361651521179450609689011406668424220340840803630562939543154512532290722140232537922 13650786904870772952304893689169410001802750022419718038963775843802456159205389093908043815218684149762931743332463363330419563846025987888490279608857147143564706954342708936283602115709216676191800274276266904565958651514538296754039082482880488306206740445566409279440931560429039678275064000059555560849950395918099711781031674493613162273529807061228583800309892753261863195421580974040058816957004102492555481700804539198282306643102193748395654788895896891476890604199013381542966068815481504796085992532898786926924510086222729809551183412602621856038948902218775757038273682272375575570494097677435325983078822433319049713749630269177701262775656278735459540345746896322204237884949209723112003209169411129664781085077384005113053599800683878447629461241285995292201 22087437185262888158561650949981421022262730640034175256014294123994786364491867646267873102866614628954959329342176776571951340514566333797494140415744543141566192176816112722437567364299409591065256773461706952996056987941975313366739986637483293768020652943326275623333472834335897284798532198396176793927348743571291536286590641711432944959054039006400942233555370517085235878373140669435771249528659064964806152091681115478010662262599952107601158558107332247898824431705950110270507393120984362118261496370226237205992737812274985090787607376851679976228196310026065063399358045967724542746373275740535267743217174973408056528691242974696893073503420358567254862861285801076475319906313571374633182659779100141071449509297724845916684162740227032960161751963426227830123 35738224090133661110866544639150831024065480662453893294978069967797242523697256740175916918085298778717891072674640139902370904360592321685984420024601690285130899131158821658721169480008626267257057047737973857562015639456513610120779069120363782074227393388892684902774404394764936963073596198455732354777299139489391248067622316205046107232583846067629526033865263270347099073794721643475830066485663167457361633792485654676292968905702145855996813347003229139375715035904963491813473461936465866914347488903125024132917247898497714900338790789454301832267145212244840820437631728240100118316867373417970593726295997406727106242440873243874594336279076637302714403207032697398679557791262781097745185868948511270736230594375108851029737762540910911407791213204712223122324 57825661275396549269428195589132252046328211302488068550992364091792028888189124386443790020951913407672850402016816916474322244875158655483478560440346233426697091307974934381158736844308035858322313821199680810558072627398488923487519055757847075842248046332218960526107877229100834247872128396851909148704647883060682784354212957916479052191637885074030468267420633787432334952167862312911601316014322232422167785884166770154303631168302097963597971905110561387274539467610913602083980855057450229032608985273351261338909985710772699991126398166305981808495341522270905883836989774207824661063240649158505861469513172380135162771132116218571487409782496995869969266068318498475154877697576352472378368528727611411807680103672833696946421925281137944367952965168138450952447 93563885365530210380294740228283083070393691964941961845970434059589271411886381126619706939037212186390741474691457056376693149235750977169462980464947923711827990439133756039879906324316662125579370868937654668120088266855002533608298124878210857916475439721111645428882281623865771210945724595307641503481947022550074032421835274121525159424221731141659994301285897057779434025962583956387431382499985399879529419676652424830596600074004243819594785252113790526650254503515877093897454316993916095946956474176476285471827233609270414891465188955760283640762486734515746704274621502447924779380108022576476455195809169786862269013572989462446081746061573633172683669275351195873834435488839133570123554397676122682543910698047942547976159687822048855775744178372850674074771 151389546640926759649722935817415335116721903267430030396962798151381300300075505513063496959989125594063591876708273972851015394110909632652941540905294157138525081747108690421038643168624697983901684690137335478678160894253491457095817180636057933758723486053330605954990158852966605458817852992159550652186594905610756816776048232038004211615859616215690462568706530845211768978130446269299032698514307632301697205560819194984900231242306341783192757157224351913924793971126790695981435172051366324979565459449827546810737219320043114882591587122066265449257828256786652588111611276655749440443348671734982316665322342166997431784705105681017569155844070629042652935343669694348989313186415486042501922926403734094351590801720776244922581613103186800143697143540989125027218 244953432006456970030017676045698418187115595232371992242933232210970571711961886639683203899026337780454333351399731029227708543346660609822404521370242080850353072186242446460918549492941360109481055559074990146798249161108493990704115305514268791675198925774442251383872440476832376669763577587467192155668541928160830849197883506159529371040081347357350456869992427902991203004093030225686464081014293032181226625237471619815496831316310585602787542409338142440575048474642667789878889489045282420926521933626303832282564452929313529774056776077826549090020314991302399292386232779103674219823456694311458771861131511953859700798278095143463650901905644262215336604619020890222823748675254619612625477324079856776895501499768718792898741300925235655919441321913839799101989 396342978647383729679740611863113753303837498499802022639896030362351872012037392152746700859015463374517925228108005002078723937457570242475346062275536237988878153933351136881957192661566058093382740249212325625476410055361985447799932486150326725433922411827772857338862599329798982128581430579626742807855136833771587665973931738197533582655940963573040919438698958748202971982223476494985496779528600664482923830798290814800397062558616927385980299566562494354499842445769458485860324661096648745906087393076131379093301672249356644656648363199892814539278143248089051880497844055759423660266805366046441088526453854120857132582983200824481220057749714891257989539962690584571813061861670105655127400250483590871247092301489495037821322914028422456063138465454828924129207 641296410653840699709758287908812171490953093732174014882829262573322443723999278792429904758041801154972258579507736031306432480804230852297750583645778318839231226119593583342875742154507418202863795808287315772274659216470479438504047791664595517109121337602215108722735039806631358798345008167093934963523678761932418515171815244357062953696022310930391376308691386651194174986316506720671960860542893696664150456035762434615893893874927512988767841975900636795074890920412126275739214150141931166832609326702435211375866125178670174430705139277719363629298458239391451172884076834863097880090262060357899860387585366074716833381261295967944870959655359153473326144581711474794636810536924725267752877574563447648142593801258213830720064214953658111982579787368668723231196 1037639389301224429389498899771925924794790592231976037522725292935674315736036670945176605617057264529490183807615741033385156418261801094773096645921314556828109380052944720224832934816073476296246536057499641397751069271832464886303980277814922242543043749429987966061597639136430340926926438746720677771378815595704006181145746982554596536351963274503432295747390345399397146968539983215657457640071494361147074286834053249416290956433544440374748141542463131149574733366181584761599538811238579912738696719778566590469167797428026819087353502477612178168576601487480503053381920890622521540357067426404340948914039220195573965964244496792426091017405074044731315684544402059366449872398594830922880277825047038519389686102747708868541387128982080568045718252823497647360403 1678935799955065129099257187680738096285743685964150052405554555508996759460035949737606510375099065684462442387123477064691588899066031947070847229567092875667340606172538303567708676970580894499110331865786957170025728488302944324808028069479517759652165087032203074784332678943061699725271446913814612734902494357636424696317562226911659490047985585433823672056081732050591321954856489936329418500614388057811224742869815684032184850308471953363515983518363767944649624286593711037338752961380511079571306046481001801845033922606696993518058641755331541797875059726871954226265997725485619420447329486762240809301624586270290799345505792760370961977060433198204641829126113534161086682935519556190633155399610486167532279904005922699261451343935738680028298040192166370591599 2716575189256289558488756087452664021080534278196126089928279848444671075196072620682783115992156330213952626194739218098076745317327833041843943875488407432495449986225483023792541611786654370795356867923286598567776797760135409211112008347294440002195208836462191040845930318079492040652197885660535290506281309953340430877463309209466256026399948859937255967803472077449988468923396473151986876140685882418958299029703868933448475806742016393738264125060826899094224357652775295798938291772619090992310002766259568392314201720034723812605412144232943719966451661214352457279647918616108140960804396913166581758215663806465864765309750289552797052994465507242935957513670515593527536555334114387113513433224657524686921966006753631567802838472917819248074016293015664017952002 4395510989211354687588013275133402117366277964160276142333834403953667834656108570420389626367255395898415068581862695162768334216393864988914791105055500308162790592398021327360250288757235265294467199789073555737802526248438353535920036416773957761847373923494394115630262997022553740377469332574349903241183804310976855573780871436377915516447934445371079639859553809500579790878252963088316294641300270476769523772573684617480660657050488347101780108579190667038873981939369006836277044733999602071881308812740570194159235642641420806123470785988275261764326720941224411505913916341593760381251726399928822567517288392736155564655256082313168014971525940441140599342796629127688623238269633943304146588624268010854454245910759554267064289816853557928102314333207830388543601 7112086178467644246076769362586066138446812242356402232262114252398338909852181191103172742359411726112367694776601913260845079533721698030758734980543907740658240578623504351152791900543889636089824067712360154305579324008573762747032044764068397764042582759956585156476193315102045781029667218234885193747465114264317286451244180645844171542847883305308335607663025886950568259801649436240303170781986152895727822802277553550929136463792504740840044233640017566133098339592144302635215336506618693064191311579000138586473437362676144618728882930221218981730778382155576868785561834957701901342056123313095404325732952199202020329965006371865965067965991447684076556856467144721216159793603748330417660021848925535541376211917513185834867128289771377176176330626223494406495603 11507597167678998933664782637719468255813090206516678374595948656352006744508289761523562368726667122010782763358464608423613413750115563019673526085599408048821031171021525678513042189301124901384291267501433710043381850257012116282952081180842355525889956683450979272106456312124599521407136550809235096988648918575294142025025052082222087059295817750679415247522579696451148050679902399328619465423286423372497346574851238168409797120842993087941824342219208233171972321531513309471492381240618295136072620391740708780632673005317565424852353716209494243495105103096801280291475751299295661723307849713024226893250240591938175894620262454179133082937517388125217156199263773848904783031873382273721806610473193546395830457828272740101931418106624935104278644959431324795039204 18619683346146643179741552000305534394259902448873080606858062908750345654360470952626735111086078848123150458135066521684458493283837261050432261066143315789479271749645030029665834089845014537474115335213793864348961174265585879029984125944910753289932539443407564428582649627226645302436803769044120290736114032839611428476269232728066258602143701055987750855185605583401716310481551835568922636205272576268225169377128791719338933584635497828781868575859225799305070661123657612106707717747236988200263931970740847367106110367993710043581236646430713225225883485252378149077037586256997563065363973026119631218983192791140196224585268826045098150903508835809293713055730918570120942825477130604139466632322119081937206669745785925936798546396396312280454975585654819201534807 30127280513825642113406334638025002650072992655389758981454011565102352398868760714150297479812745970133933221493531130108071907033952824070105787151742723838300302920666555708178876279146139438858406602715227574392343024522597995312936207125753108815822496126858543700689105939351244823843940319853355387724762951414905570501294284810288345661439518806667166102708185279852864361161454234897542101628558999640722515951980029887748730705478490916723692918078434032477042982655170921578200098987855283336336552362481556147738783373311275468433590362640207468720988588349179429368513337556293224788671822739143858112233433383078372119205531280224231233841026223934510869254994692419025725857350512877861273242795312628333037127574058666038729964503021247384733620545086143996574011 48746963859972285293147886638330537044332895104262839588312074473852698053229231666777032590898824818257083679628597651792530400317790085120538048217886039627779574670311585737844710368991153976332521937929021438741304198788183874342920333070663862105755035570266108129271755566577890126280744088897475678460876984254516998977563517538354604263583219862654916957893790863254580671643006070466464737833831575908947685329108821607087664290113988745505561493937659831782113643778828533684907816735092271536600484333222403514844893741304985512014827009070920693946872073601557578445550923813290787854035795765263489331216626174218568343790800106269329384744535059743804582310725610989146668682827643482000739875117431710270243797319844591975528510899417559665188596130740963198108818 78874244373797927406554221276355539694405887759652598569766086038955050452097992380927330070711570788391016901122128781900602307351742909190643835369628763466079877590978141446023586648137293415190928540644249013133647223310781869655856540196416970921577531697124651829960861505929134950124684408750831066185639935669422569478857802348642949925022738669322083060601976143107445032804460305364006839462390575549670201281088851494836394995592479662229254412016093864259156626433999455263107915722947554872937036695703959662583677114616260980448417371711128162667860661950737007814064261369584012642707618504407347443450059557296940462996331386493560618585561283678315451565720303408172394540178156359862013117912744338603280924893903258014258475402438807049922216675827107194682829 127621208233770212699702107914686076738738782863915438158078160512807748505327224047704362661610395606648100580750726433693132707669532994311181883587514803093859452261289727183868297017128447391523450478573270451874951422098965743998776873267080833027332567267390759959232617072507025076405428497648306744646516919923939568456421319886997554188605958531977000018495767006362025704447466375830471577296222151458617886610197673101924059285706468407734815905953753696041270270212827988948015732458039826409537521028926363177428570855921246492463244380782048856614732735552294586259615185182874800496743414269670836774666685731515508806787131492762890003330096343422120033876445914397319063223005799841862752993030176048873524722213747849989786986301856366715110812806568070392791647 206495452607568140106256329191041616433144670623568036727844246551762798957425216428631692732321966395039117481872855215593735015021275903501825718957143566559939329852267868629891883665265740806714379019217519465008598645409747613654633413463497803948910098964515411789193478578436160026530112906399137810832156855593362137935279122235640504113628697201299083079097743149469470737251926681194478416758612727008288087891286524596760454281298948069964070317969847560300426896646827444211123648180987381282474557724630322840012247970537507472911661752493177019282593397503031594073679446552458813139451032774078184218116745288812449269783462879256450621915657627100435485442166217805491457763183956201724766110942920387476805647107651108004045461704295173765033029482395177587474476 334116660841338352805958437105727693171883453487483474885922407064570547462752440476336055393932362001687218062623581649286867722690808897813007602544658369653798782113557595813760180682394188198237829497790789916883550067508713357653410286730578636976242666231906171748426095650943185102935541404047444555478673775517301706391700442122638058302234655733276083097593510155831496441699393057024949994054834878466905974501484197698684513567005416477698886223923601256341697166859655433159139380639027207692012078753556686017440818826458753965374906133275225875897326133055326180333294631735333613636194447043749020992783431020327958076570594372019340625245753970522555519318612132202810520986189756043587519103973096436350330369321398957993832448006151540480143842288963247980266123 540612113448906492912214766296769309605028124111051511613766653616333346420177656904967748126254328396726335544496436864880602737712084801314833321501801936213738111965825464443652064347659929004952208517008309381892148712918460971308043700194076440925152765196421583537619574229379345129465654310446582366310830631110663844326979564358278562415863352934575166176691253305300967178951319738219428410813447605475194062392770722295444967848304364547662956541893448816642124063506482877370263028820014588974486636478187008857453066796996261438286567885768402895179919530558357774406974078287792426775645479817827205210900176309140407346354057251275791247161411597622991004760778350008301978749373712245312285214916016823827136016429050065997877909710446714245176871771358425567740599 874728774290244845718173203402497002776911577598534986499689060680903893882930097381303803520186690398413553607120018514167470460402893699127840924046460305867536894079383060257412245030054117203190038014799099298775698780427174328961453986924655077901395431428327755286045669880322530232401195714494026921789504406627965550718680006480916620718098008667851249274284763461132463620650712795244378404868282483942100036894254919994129481415309781025361842765817050072983821230366138310529402409459041796666498715231743694874893885623455015403661474019043628771077245663613683954740268710023126040411839926861576226203683607329468365422924651623295131872407165568145546524079390482211112499735563468288899804318889113260177466385750449023991710357716598254725320714060321673548006722 1415340887739151338630387969699266312381939701709586498113455714297237240303107754286271551646441018795139889151616455379048073198114978500442674245548262242081275006045208524701064309377714046208142246531807408680667847493345635300269497687118731518826548196624749338823665244109701875361866850024940609288100335037738629395045659570839195183133961361602426415450976016766433430799602032533463806815681730089417294099287025642289574449263614145573024799307710498889625945293872621187899665438279056385640985351709930703732346952420451276841948041904812031666257165194172041729147242788310918467187485406679403431414583783638608772769278708874570923119568577165768537528840168832219414478484937180534212089533805130084004602402179499089989588267427044968970497585831680099115747321 2290069662029396184348561173101763315158851279308121484613144774978141134186037851667575355166627709193553442758736473893215543658517872199570515169594722547948811900124591584958476554407768163411332284546606507979443546273772809629230951674043386596727943628053077094109710913990024405594268045739434636209889839444366594945764339577320111803852059370270277664725260780227565894420252745328708185220550012573359394136181280562283703930678923926598386642073527548962609766524238759498429067847738098182307484066941674398607240838043906292245609515923855660437334410857785725683887511498334044507599325333540979657618267390968077138192203360497866054991975742733914084052919559314430526978220500648823111893852694243344182068787929948113981298625143643223695818299892001772663754043 3705410549768547522978949142801029627540790981017707982726600489275378374489145605953846906813068727988693331910352929272263616856632850700013189415142984790030086906169800109659540863785482209619474531078413916660111393767118444929500449361162118115554491824677826432933376158099726280956134895764375245497990174482105224340809999148159306986986020731872704080176236796993999325219854777862171992036231742662776688235468306204573278379942538072171411441381238047852235711818111380686328733286017154567948469418651605102339587790464357569087557557828667692103591576051957767413034754286644962974786810740220383089032851174606685910961482069372436978111544319899682621581759728146649941456705437829357323983386499373428186671190109447203970886892570688192666315885723681871779501364 5995480211797943707327510315902792942699642260325829467339745264253519508675183457621422261979696437182246774669089403165479160515150722899583704584737707337978898806294391694618017418193250373030806815625020424639554940040891254558731401035205504712282435452730903527043087072089750686550402941503809881707880013926471819286574338725479418790838080102142981744901497577221565219640107523190880177256781755236136082371649586766856982310621461998769798083454765596814845478342350140184757801133755252750255953485593279500946828628508263861333167073752523352540925986909743493096922265784979007482386136073761362746651118565574763049153685429870303033103520062633596705634679287461080468434925938478180435877239193616772368739978039395317952185517714331416362134185615683644443255407 9700890761566491230306459458703822570240433241343537450066345753528897883164329063575269168792765165170940106579442332437742777371783573599596893999880692128008985712464191804277558281978732582650281346703434341299666333808009699488231850396367622827836927277408729959976463230189476967506537837268185127205870188408577043627384337873638725777824100834015685825077734374215564544859962301053052169293013497898912770607117892971430260690564000070941209524836003644667081190160461520871086534419772407318204422904244884603286416418972621430420724631581191044644517562961701260509957020071623970457172946813981745835683969740181448960115167499242740011215064382533279327216439015607730409891631376307537759860625692990200555411168148842521923072410285019609028450071339365516222756771 15696370973364434937633969774606615512940075501669366917406091017782417391839512521196691430772461602353186881248531735603221937886934296499180598584618399465987884518758583498895575700171982955681088162328454765939221273848900954046963251431573127540119362730139633487019550302279227654056940778771995008913750202335048862913958676599118144568662180936158667569979231951437129764500069824243932346549795253135048852978767479738287243001185462069711007608290769241481926668502811661055844335553527660068460376389838164104233245047480885291753891705333714397185443549871444753606879285856602977939559082887743108582335088305756212009268852929113043044318584445166876032851118303068810878326557314785718195737864886606972924151146188237839875257927999351025390584256955049160666012178 25397261734930926167940429233310438083180508743012904367472436771311315275003841584771960599565226767524126987827974068040964715258717870098777492584499091593996870231222775303173133982150715538331369509031889107238887607656910653535195101827940750367956290007548363446996013532468704621563478616040180136119620390743625906541343014472756870346486281770174353395056966325652694309360032125296984515842808751033961623585885372709717503691749462140652217133126772886149007858663273181926930869973300067386664799294083048707519661466453506722174616336914905441829961112833146014116836305928226948396732029701724854418019058045937660969384020428355783055533648827700155360067557318676541288218188691093255955598490579597173479562314337080361798330338284370634419034328294414676888768949 41093632708295361105574399007917053596120584244682271284878527789093732666843354105968652030337688369877313869076505803644186653145652166597958091169117491059984754749981358802068709682322698494012457671360343873178108881505811607582158353259513877908075652737687996934015563834747932275620419394812175145033370593078674769455301691071875014915148462706333020965036198277089824073860101949540916862392604004169010476564652852448004746692934924210363224741417542127630934527166084842982775205526827727455125175683921212811752906513934392013928508042248619839015404662704590767723715591784829926336291112589467963000354146351693872978652873357468826099852233272867031392918675621745352166544746005878974151336355466204146403713460525318201673588266283721659809618585249463837554781127 66490894443226287273514828241227491679301092987695175652350964560405047941847195690740612629902915137401440856904479871685151368404370036696735583753616582653981624981204134105241843664473414032343827180392232980416996489162722261117353455087454628276031942745236360381011577367216636897183898010852355281152990983822300675996644705544631885261634744476507374360093164602742518383220134074837901378235412755202972100150538225157722250384684386351015441874544315013779942385829358024909706075500127794841789974978004261519272567980387898736103124379163525280845365775537736781840551897713056874733023142291192817418373204397631533948036893785824609155385882100567186752986232940421893454762934696972230106934846045801319883275774862398563471918604568092294228652913543878514443550076 107584527151521648379089227249144545275421677232377446937229492349498780608690549796709264660240603507278754725980985675329338021550022203294693674922734073713966379731185492907310553346796112526356284851752576853595105370668533868699511808346968506184107595482924357315027141201964569172804317405664530426186361576900975445451946396616506900176783207182840395325129362879832342457080236024378818240628016759371982576715191077605726997077619310561378666615961857141410876912995442867892481281026955522296915150661925474331025474494322290750031632421412145119860770438242327549564267489497886801069314254880660780418727350749325406926689767143293435255238115373434218145904908562167245621307680702851204258271201512005466286989235387716765145506870851813954038271498793342351998331203 174075421594747935652604055490372036954722770220072622589580456909903828550537745487449877290143518644680195582885465547014489389954392239991429258676350656367948004712389627012552397011269526558700112032144809834012101859831256129816865263434423134460139538228160717696038718569181206069988215416516885707339352560723276121448591102161138785438417951659347769685222527482574860840300370099216719618863429514574954676865729302763449247462303696912394108490506172155190819298824800892802187356527083317138705125639929735850298042474710189486134756800575670400706136213780064331404819387210943675802337397171853597837100555146956940874726660929118044410623997474001404898891141502589139076070615399823434365206047557806786170265010250115328617425475419906248266924412337220866441881279 281659948746269584031693282739516582230144447452450069526809949259402609159228295284159141950384122151958950308866451222343827411504414443286122933599084730081914384443575119919862950358065639085056396883897386687607207230499789998516377071781391640644247133711085075011065859771145775242792532822181416133525714137624251566900537498777645685615201158842188165010351890362407203297380606123595537859491446273946937253580920380369176244539923007473772775106468029296601696211820243760694668637554038839435620276301855210181323516969032480236166389221987815520566906652022391880969086876708830476871651652052514378255827905896282347801416428072411479665862112847435623044796050064756384697378296102674638623477249069812252457254245637832093762932346271720202305195911130563218440212482 455735370341017519684297338229888619184867217672522692116390406169306437709766040771609019240527640796639145891751916769358316801458806683277552192275435386449862389155964746932415347369335165643756508916042196521619309090331046128333242335215814775104386671939245792707104578340326981312780748238698301840865066698347527688349128600938784471053619110501535934695574417844982064137680976222812257478354875788521891930446649683132625492002226704386166883596974201451792515510645044653496855994081122156574325401941784946031621559443742669722301146022563485921273042865802456212373906263919774152673989049224367976092928461043239288676143089001529524076486110321437027943687191567345523773448911502498072988683296627619038627519255887947422380357821691626450572120323467784084882093761 737395319087287103715990620969405201415011665124972761643200355428709046868994336055768161190911762948598096200618367991702144212963221126563675125874520116531776773599539866852278297727400804728812905799939583209226516320830836126849619406997206415748633805650330867718170438111472756555573281060879717974390780835971779255249666099716430156668820269343724099705926308207389267435061582346407795337846322062468829184027570063501801736542149711859939658703442230748394211722465288414191524631635160996009945678243640156212945076412775149958467535244551301441839949517824848093342993140628604629545640701276882354348756366939521636477559517073941003742348223168872650988483241632101908470827207605172711612160545697431291084773501525779516143290167963346652877316234598347303322306243 1193130689428304623400287959199293820599878882797495453759590761598015484578760376827377180431439403745237242092370284761060461014422027809841227318149955502981639162755504613784693645096735970372569414715981779730845825411161882255182861742213021190853020477589576660425275016451799737868354029299578019815255847534319306943598794700655214627722439379845260034401500726052371331572742558569220052816201197850990721114474219746634427228544376416246106542300416432200186727233110333067688380625716283152584271080185425102244566635856517819680768681267114787363112992383627304305716899404548378782219629750501250330441684827982760925153702606075470527818834333490309678932170433199447432244276119107670784600843842325050329712292757413726938523647989654973103449436558066131388204400004 1930526008515591727116278580168699022014890547922468215402791117026724531447754712883145341622351166693835338292988652752762605227385248936404902444024475619513415936355044480636971942824136775101382320515921362940072341731992718382032481149210227606601654283239907528143445454563272494423927310360457737789646628370291086198848460800371644784391259649188984134107427034259760599007804140915627848154047519913459550298501789810136228965086526128106046201003858662948580938955575621481879905257351444148594216758429065258457511712269292969639236216511666088804952941901452152399059892545176983411765270451778132684790441194922282561631262123149411531561182556659182329920653674831549340715103326712843496213004388022481620797066258939506454666938157618319756326752792664478691526706247 3123656697943896350516566539367992842614769430719963669162381878624740016026515089710522522053790570439072580385358937513823066241807276746246129762174431122495055099110549094421665587920872745473951735231903142670918167143154600637215342891423248797454674760829484188568720471015072232292281339660035757604902475904610393142447255501026859412113699029034244168508927760312131930580546699484847900970248717764450271412976009556770656193630902544352152743304275095148767666188685954549568285883067727301178487838614490360702078348125810789320004897778780876168065934285079456704776791949725362193984900202279383015232126022905043486784964729224882059380016890149492008852824108030996772959379445820514280813848230347531950509359016353233393190586147273292859776189350730610079731106251 5054182706459488077632845119536691864629659978642431884565172995651464547474269802593667863676141737132907918678347590266585671469192525682651032206198906742008471035465593575058637530745009520575334055747824505610990508875147319019247824040633476404056329044069391716712165925578344726716208650020493495394549104274901479341295716301398504196504958678223228302616354794571892529588350840400475749124296237677909821711477799366906885158717428672458198944308133758097348605144261576031448191140419171449772704597043555619159590060395103758959241114290446964973018876186531609103836684494902345605750170654057515700022567217827326048416226852374293590941199446808674338773477782862546113674482772533357777026852618370013571306425275292739847857524304891612616102942143395088771257812498 8177839404403384428149411658904684707244429409362395553727554874276204563500784892304190385729932307571980499063706527780408737710999802428897161968373337864503526134576142669480303118665882266049285790979727648281908676018301919656463166932056725201511003804898875905280886396593416959008489989680529252999451580179511872483742971802425363608618657707257472471125282554884024460168897539885323650094544955442360093124453808923677541352348331216810351687612408853246116271332947530581016477023486898750951192435658045979861668408520914548279246012069227841141084810471611065808613476444627707799735070856336898715254693240732369535201191581599175650321216336958166347626301890893542886633862218353872057840700848717545521815784291645973241048110452164905475879131494125698850988918749 13232022110862872505782256778441376571874089388004827438292727869927669110975054694897858249406074044704888417742054118046994409180192328111548194174572244606511997170041736244538940649410891786624619846727552153892899184893449238675710990972690201605567332848968267621993052322171761685724698639701022748394000684454413351825038688103823867805123616385480700773741637349455916989757248380285799399218841193120269914835931608290584426511065759889268550631920542611343464876477209106612464668163906070200723897032701601599021258468916018307238487126359674806114103686658142674912450160939530053405485241510394414415277260458559695583617418433973469241262415783766840686399779673756089000308344990887229834867553467087559093122209566938713088905634757056518091982073637520787622246731247 21409861515266256933931668437346061279118518797367222992020282744203873674475839587202048635136006352276868916805760645827403146891192130540445356142945582471015523304617878914019243768076774052673905637707279802174807860911751158332174157904746926807078336653867143527273938718765178644733188629381552001393452264633925224308781659906249231413742274092738173244866919904339941449926145920171123049313386148562630007960385417214261967863414091106078902319532951464589581147810156637193481145187392968951675089468359647578882926877436932855517733138428902647255188497129753740721063637384157761205220312366731313130531953699292065118818610015572644891583632120725007034026081564649631886942207209241101892708254315805104614937993858584686329953745209221423567861205131646486473235649996 34641883626129129439713925215787437850992608185372050430313010614131542785450894282099906884542080396981757334547814763874397556071384458651993550317517827077527520474659615158558184417487665839298525484434831956067707045805200397007885148877437128412645669502835411149266991040936940330457887269082574749787452949088338576133820348010073099218865890478218874018608557253795858439683394300456922448532227341682899922796317025504846394374479850995347452951453494075933046024287365743805945813351299039152398986501061249177904185346352951162756220264788577453369292183787896415633513798323687814610705553877125727545809214157851760702436028449546114132846047904491847720425861238405720887250552200128331727575807782892663708060203425523399418859379966277941659843278769167274095482381243 56051745141395386373645593653133499130111126982739273422333293358335416459926733869301955519678086749258626251353575409701800702962576589192438906460463409548543043779277494072577428185564439891972431122142111758242514906716951555340059306782184055219724006156702554676540929759702118975191075898464126751180905213722263800442602007916322330632608164570957047263475477158135799889609540220628045497845613490245529930756702442719108362237893942101426355270986445540522627172097522380999426958538692008104074075969420896756787112223789884018273953403217480100624480680917650156354577435707845575815925866243857040676341167857143825821254638465118759024429680025216854754451942803055352774192759409369433620284062098697768322998197284108085748813125175499365227704483900813760568718031239 90693628767524515813359518868920936981103735168111323852646303972466959245377628151401862404220167146240383585901390173576198259033961047844432456777981236626070564253937109231135612603052105731270956606576943714310221952522151952347944455659621183632369675659537965825807920800639059305648963167546701500968358162810602376576422355926395429851474055049175921282084034411931658329292934521084967946377840831928429853553019468223954756612373793096773808222439939616455673196384888124805372771889991047256473062470482145934691297570142835181030173668006057553993772864705546571988091234031533390426631420120982768222150382014995586523690666914664873157275727929708702474877804041461073661443311609497765347859869881590432031058400709631485167672505141777306887547762669981034664200412482 146745373908919902187005112522054436111214862150850597274979597330802375705304362020703817923898253895499009837254965583277998961996537637036871363238444646174613608033214603303713040788616545623243387728719055472552736859239103507688003762441805238852093681816240520502348850560341178280840039066010828252149263376532866177019024363842717760484082219620132968545559511570067458218902474741713013444223454322173959784309721910943063118850267735198200163493426385156978300368482410505804799730428683055360547138439903042691478409793932719199304127071223537654618253545623196728342668669739378966242557286364839808898491549872139412344945305379783632181705407954925557229329746844516426435636071018867198968143931980288200354056597993739570916485630317276672115252246570794795232918443721 237439002676444418000364631390975373092318597318961921127625901303269334950681990172105680328118421041739393423156355756854197221030498684881303820016425882800684172287151712534848653391668651354514344335295999186862958811761255460035948218101426422484463357475778486328156771360980237586489002233557529753117621539343468553595446719769113190335556274669308889827643545981999116548195409262797981390601295154102389637862741379167017875462641528294973971715866324773433973564867298630610172502318674102617020200910385188626169707364075554380334300739229595208612026410328743300330759903770912356669188706485822577120641931887134998868635972294448505338981135884634259704207550885977500097079382628364964316003801861878632385114998703371056084158135459053979002800009240775829897118856203 384184376585364320187369743913029809203533459469812518402605498634071710655986352192809498252016674937238403260411321340132196183027036321918175183254870528975297780320366315838561694180285196977757732064015054659415695671000358967723951980543231661336557039292019006830505621921321415867329041299568358005266884915876334730614471083611830950819638494289441858373203057552066574767097884004510994834824749476276349422172463290110080994312909263493174135209292709930412273933349709136414972232747357157977567339350288231317648117158008273579638427810453132863230279955951940028673428573510291322911745992850662386019133481759274411213581277674232137520686543839559816933537297730493926532715453647232163284147733842166832739171596697110627000643765776330651118052255811570625130037299924 621623379261808738187734375304005182295852056788774439530231399937341045606668342364915178580135095978977796683567677096986393404057535006799479003271296411775981952607518028373410347571953848332272076399311053846278654482761614427759900198644658083821020396767797493158662393282301653453818043533125887758384506455219803284209917803380944141155194768958750748200846603534065691315293293267308976225426044630378739060035204669277098869775550791788148106925159034703846247498217007767025144735066031260594587540260673419943817824522083827959972728549682728071842306366280683329004188477281203679580934699336484963139775413646409410082217249968680642859667679724194076637744848616471426629794836275597127600151535704045465124286595400481683084801901235384630120852265052346455027156156127 1005807755847173058375104119217034991499385516258586957932836898571412756262654694557724676832151770916216199943978998437118589587084571328717654186526166940751279732927884344211972041752239045310029808463326108505694350153761973395483852179187889745157577436059816499989168015203623069321147084832694245763651391371096138014824388886992775091974833263248192606574049661086132266082391177271819971060250794106655088482207667959387179864088460055281322242134451744634258521431566716903440116967813388418572154879610961651261465941680092101539611156360135860935072586322232623357677617050791495002492680692187147349158908895405683821295798527642912780380354223563753893571282146346965353162510289922829290884299269546212297863458192097592310085445667011715281238904520863917080157193456051 1627431135108981796562838494521040173795237573047361397463068298508753801869323036922639855412286866895193996627546675534104982991142106335517133189797463352527261685535402372585382389324192893642301884862637162351973004636523587823243752377832547828978597832827613993147830408485924722774965128365820133522035897826315941299034306690373719233130028032206943354774896264620197957397684470539128947285676838737033827542242872628664278733864010847069470349059610779338104768929783724670465261702879419679166742419871635071205283766202175929499583884909818589006914892688513306686681805528072698682073615391523632312298684309052093231378015777611593423240021903287947970209026994963436779792305126198426418484450805250257762987744787498073993170247568247099911359756785916263535184349612178 2633238890956154854937942613738075165294623089305948355395905197080166558131977731480364532244438637811410196571525673971223572578226677664234787376323630293278541418463286716797354431076431938952331693325963270857667354790285561218727604557020437574136175268887430493136998423689547792096112213198514379285687289197412079313858695577366494325104861295455135961348945925706330223480075647810948918345927632843688916024450540588051458597952470902350792591194062523972363290361350441573905378670692808097738897299482596722466749707882268031039195041269954449941987479010745930044359422578864193684566296083710779661457593204457777052673814305254506203620376126851701863780309141310402132954815416121255709368750074796470060851202979595666303255693235258815192598661306780180615341543068229 4260670026065136651500781108259115339089860662353309752858973495588920360001300768403004387656725504706604193199072349505328555569368783999751920566121093645805803103998689089382736820400624832594633578188600433209640359426809149041971356934852985403114773101715044486284828832175472514871077341564334512807723187023728020612893002267740213558234889327662079316123842190326528180877760118350077865631604471580722743566693413216715737331816481749420262940253673303310468059291134166244370640373572227776905639719354231793672033474084443960538778926179773038948902371699259236731041228106936892366639911475234411973756277513509870284051830082866099626860398030139649833989336136273838912747120542319682127853200880046727823838947767093740296425940803505915103958418092696444150525892680407 6893908917021291506438723721997190504384483751659258108254878692669086918133278499883368919901164142518014389770598023476552128147595461663986707942444723939084344522461975806180091251477056771546965271514563704067307714217094710260698961491873422977250948370602474979421827255865020306967189554762848892093410476221140099926751697845106707883339750623117215277472788116032858404357835766161026783977532104424411659591143953804767195929768952651771055531447735827282831349652484607818276019044265035874644537018836828516138783181966711991577973967449727488890889850710005166775400650685801086051206207558945191635213870717967647336725644388120605830480774156991351697769645277584241045701935958440937837221950954843197884690150746689406599681634038764730296557079399476624765867435748636 11154578943086428157939504830256305843474344414012567861113852188258007278134579268286373307557889647224618582969670372981880683716964245663738628508565817584890147626460664895562828071877681604141598849703164137276948073643903859302670318426726408380365721472317519465706656088040492821838266896327183404901133663244868120539644700112846921441574639950779294593596630306359386585235595884511104649609136576005134403157837367021482933261585434401191318471701409130593299408943618774062646659417837263651550176738191060309810816656051155952116752893629500527839792222409264403506441878792737978417846119034179603608970148231477517620777474470986705457341172187131001531758981413858079958449056500760619965075151834889925708529098513783146896107574842270645400515497492173068916393328429043 18048487860107719664378228552253496347858828165671825969368730880927094196267857768169742227459053789742632972740268396458432811864559707327725336451010541523974492148922640701742919323354738375688564121217727841344255787860998569563369279918599831357616669842919994445128483343905513128805456451090032296994544139466008220466396397957953629324914390573896509871069418422392244989593431650672131433586668680429546062748981320826250129191354387052962374003149144957876130758596103381880922678462102299526194713757027888825949599838017867943694726861079228016730682073119269570281842529478539064469052326593124795244184018949445164957503118859107311287821946344122353229528626691442321004150992459201557802297102789733123593219249260472553495789208881035375697072576891649693682260764177679 29203066803194147822317733382509802191333172579684393830482583069185101474402437036456115535016943436967251555709938769440313495581523952991463964959576359108864639775383305597305747395232419979830162970920891978621203861504902428866039598345326239737982391315237513910835139431946005950643723347417215701895677802710876341006041098070800550766489030524675804464666048728751631574829027535183236083195805256434680465906818687847733062452939821454153692474850554088469430167539722155943569337879939563177744890495218949135760416494069023895811479754708728544570474295528533973788284408271277042886898445627304398853154167180922682578280593330094016745163118531253354761287608105300400962600048959962177767372254624623049301748347774255700391896783723306021097588074383822762598654092606722 47251554663301867486695961934763298539192000745356219799851313950112195670670294804625857762475997226709884528450207165898746307446083660319189301410586900632839131924305946299048666718587158355518727092138619819965459649365900998429408878263926071095599061158157508355963622775851519079449179798507247998890221942176884561472437496028754180091403421098572314335735467151143876564422459185855367516782473936864226528655800008673983191644294208507116066477999699046345560926135825537824492016342041862703939604252246837961710016332086891839506206615787956561301156368647803544070126937749816107355950772220429194097338186130367847535783712189201328032985064875375707990816234796742721966751041419163735569669357414356172894967597034728253887685992604341396794660651275472456280914856784401 76454621466496015309013695317273100730525173325040613630333897019297297145072731841081973297492940663677136084160145935339059803027607613310653266370163259741703771699689251896354414113819578335348890063059511798586663510870803427295448476609252310833581452473395022266798762207797525030092903145924463700785899744887760902478478594099554730857892451623248118800401515879895508139251486721038603599978279193298906994562618696521716254097234029961269758952850253134814991093675547693768061354221981425881684494747465787097470432826155915735317686370496685105871630664176337517858411346021093150242849217847733592950492353311290530114064305519295344778148183406629062752103842902043122929351090379125913337041612038979222196715944808983954279582776327647417892248725659295218879568949391123 123706176129797882795709657252036399269717174070396833430185210969409492815743026645707831059968937890387020612610353101237806110473691273629842567780750160374542903623995198195403080832406736690867617155198131618552123160236704425724857354873178381929180513631552530622762384983649044109542082944431711699676121687064645463950916090128308910949295872721820433136136983031039384703673945906893971116760753130163133523218418705195699445741528238468385825430849952181160552019811373231592553370564023288585624098999712625059180449158242807574823892986284641667172787032824141061928538283770909257598799990068162787047830539441658377649848017708496672811133248282004770742920077698785844896102131798289648906710969453335395091683541843712208167268768931988814686909376934767675160483806175524 200160797596293898104723352569309500000242347395437447060519107988706789960815758486789804357461878554064156696770499036576865913501298886940495834150913420116246675323684450091757494946226315026216507218257643417138786671107507853020305831482430692762761966104947552889561147191446569139634986090356175400462021431952406366429394684227863641807188324345068551936538498910934892842925432627932574716739032323462040517781037401717415699838762268429655584383700205315975543113486920925360614724786004714467308593747178412156650881984398723310141579356781326773044417697000478579786949629792002407841649207915896379998322892752948907763912323227792017589281431688633833495023920600828967825453222177415562243752581492314617288399486652696162446851545259636232579158102594062894040052755566647 323866973726091780900433009821345899269959521465834280490704318958116282776558785132497635417430816444451177309380852137814672023974990160570338401931663580490789578947679648287160575778633051717084124373455775035690909831344212278745163186355609074691942479736500083512323532175095613249177069034787887100138143119017051830380310774356172552756484197066888985072675481941974277546599378534826545833499785453625174040999456106913115145580290506898041409814550157497136095133298294156953168095350028003052932692746891037215831331142641530884965472343065968440217204729824619641715487913562911665440449197984059167046153432194607285413760340936288690400414679970638604237943998299614812721555353975705211150463550945650012380083028496408370614120314191625047266067479528830569200536561742171 524027771322385679005156362390655399270201868861271727551223426946823072737374543619287439774892694998515334006151351174391537937476289047510834236082577000607036254271364098378918070724859366743300631591713418452829696502451720131765469017838039767454704445841447636401884679366542182388812055125144062500600164550969458196809705458584036194563672521411957537009213980852909170389524811162759120550238817777087214558780493508630530845419052775327696994198250362813111638246785215082313782820136032717520241286494069449372482213127040254195107051699847295213261622426825098221502437543354914073282098405899955547044476324947556193177672664164080707989696111659272437732967918900443780547008576153120773394216132437964629668482515149104533060971859451261279845225582122893463240589317308818 847894745048477459905589372212001298540161390327106008041927745904939355513933328751785075192323511442966511315532203312206209961451279208081172638014240581097825833219043746666078646503492418460384755965169193488520606333795932410510632204193648842146646925577947719914208211541637795637989124159931949600738307669986510027190016232940208747320156718478846522081889462794883447936124189697585666383738603230712388599779949615543645990999343282225738404012800520310247733380083509239266950915486060720573173979240960486588313544269681785080072524042913263653478827156649717863217925456917825738722547603884014714090629757142163478591433005100369398390110791629911041970911917200058593268563930128825984544679683383614642048565543645512903675092173642886327111293061651724032441125879050989 1371922516370863138910745734602656697810363259188377735593151172851762428251307872371072514967216206441481845321683554486597747898927568255592006874096817581704862087490407845044996717228351785203685387556882611941350302836247652542276101222031688609601351371419395356316092890908179978026801179285076012101338472220955968223999721691524244941883829239890804059091103443647792618325649000860344786933977421007799603158560443124174176836418396057553435398211050883123359371626868724321580733735622093438093415265735029935960795757396722039275179575742760558866740449583474816084720363000272739812004646009783970261135106082089719671769105669264450106379806903289183479703879836100502373815572506281946757938895815821579271717048058794617436736064033094147606956518643774617495681715196359807 2219817261419340598816335106814657996350524649515483743635078918756701783765241201122857590159539717884448356637215757798803957860378847463673179512111058162802687920709451591711075363731844203664070143522051805429870909170043584952786733426225337451747998296997343076230301102449817773664790303445007961702076779890942478251189737924464453689203985958369650581172992906442676066261773190557930453317716024238511991758340392739717822827417739339779173802223851403433607105006952233560847684651108154158666589244975990422549109301666403824355252099785673822520219276740124533947938288457190565550727193613667984975225735839231883150360538674364819504769917694919094521674791753300560967084136436410772742483575499205193913765613602440130340411156206737033934067811705426341528122841075410796 3591739777790203737727080841417314694160887908703861479228230091608464212016549073493930105126755924325930201958899312285401705759306415719265186386207875744507550008199859436756072080960195988867755531078934417371221212006291237495062834648257026061349349668416738432546393993357997751691591482730083973803415252111898446475189459615988698631087815198260454640264096350090468684587422191418275240251693445246311594916900835863891999663836135397332609200434902286556966476633820957882428418386730247596760004510711020358509905059063125863630431675528434381386959726323599350032658651457463305362731839623451955236360841921321602822129644343629269611149724598208278001378671589401063340899708942692719500422471315026773185482661661234747777147220239831181541024330349200959023804556271770603 5811557039209544336543415948231972690511412558219345222863309010365165995781790274616787695286295642210378558596115070084205663619685263182938365898318933907310237928909311028467147444692040192531825674600986222801092121176334822447849568074482363513097347965414081508776695095807815525356381786175091935505492032002840924726379197540453152320291801156630105221437089256533144750849195381976205693569409469484823586675241228603609822491253874737111783002658753689990573581640773191443276103037838401755426593755687010781059014360729529687985683775314108203907179003063723883980596939914653870913459033237119940211586577760553485972490183017994089115919642293127372523053463342701624307983845379103492242906046814231967099248275263674878117558376446568215475092142054627300551927397347181399 9403296816999748074270496789649287384672300466923206702091539101973630207798339348110717800413051566536308760555014382369607369378991678902203552284526809651817787937109170465223219525652236181399581205679920640172313333182626059942912402722739389574446697633830819941323089089165813277047973268905175909308907284114739371201568657156441850951379616354890559861701185606623613435436617573394480933821102914731135181592142064467501822155090010134444392203093655976547540058274594149325704521424568649352186598266398031139568919419792655551616115450842542585294138729387323234013255591372117176276190872860571895447947419681875088794619827361623358727069366891335650524432134932102687648883554321796211743328518129258740284730936924909625894705596686399397016116472403828259575731953618952002 15214853856209292410813912737881260075183713025142551924954848112338796203580129622727505495699347208746687319151129452453813032998676942085141918182845743559128025866018481493690366970344276373931406880280906862973405454358960882390761970797221753087544045599244901450099784184973628802404355055080267844814399316117580295927947854696895003271671417511520665083138274863156758186285812955370686627390512384215958768267383293071111644646343884871556175205752409666538113639915367340768980624462407051107613192022085041920627933780522185239601799226156650789201317732451047117993852531286771047189649906097691835659533997442428574767110010379617447842989009184463023047485598274804311956867399700899703986234564943490707383979212188584504012263973132967612491208614458455560127659350966133401 24618150673209040485084409527530547459856013492065758627046387214312426411378468970838223296112398775282996079706143834823420402377668620987345470467372553210945813803127651958913586495996512555330988085960827503145718787541586942333674373519961142661990743233075721391422873274139442079452328323985443754123306600232319667129516511853336854223051033866411224944839460469780371621722430528765167561211615298947093949859525357538613466801433895006000567408846065643085653698189961490094685145886975700459799790288483073060196853200314840791217914676999193374495456461838370352007108122658888223465840778958263731107481417124303663561729837741240806570058376075798673571917733206906999605750954022695915729563083072749447668710149113494129906969569819367009507325086862283819703391304585085403 39833004529418332895898322265411807535039726517208310552001235326651222614958598593565728791811745984029683398857273287277233435376345563072487388650218296770073839669146133452603953466340788929262394966241734366119124241900547824724436344317182895749534788832320622841522657459113070881856683379065711598937705916349899963057464366550231857494722451377931890027977735332937129808008243484135854188602127683163052718126908650609725111447777779877556742614598475309623767338105328830863665770349382751567412982310568114980824786980837026030819713903155844163696774194289417470000960653945659270655490685055955566767015414566732238328839848120858254413047385260261696619403331481711311562618353723595619715797648016240155052689361302078633919233542952334621998533701320739379831050655551218804 64451155202627373380982731792942354994895740009274069179047622540963649026337067564403952087924144759312679478563417122100653837754014184059832859117590849981019653472273785411517539962337301484593383052202561869264843029442134767058110717837144038411525532065396344232945530733252512961309011703051155353061012516582219630186980878403568711717773485244343114972817195802717501429730674012901021749813742982110146667986434008148338578249211674883557310023444540952709421036295290320958350916236358452027212772599051188041021640181151866822037628580155037538192230656127787822008068776604547494121331464014219297874496831691035901890569685862099060983105761336060370191321064688618311168369307746291535445360731088989602721399510415572763826203112771701631505858788183023199534441960136304207 104284159732045706276881054058354162529935466526482379731048857867614871641295666157969680879735890743342362877420690409377887273130359747132320247767809146751093493141419918864121493428678090413855778018444296235383967271342682591782547062154326934161060320897716967074468188192365583843165695082116866951998718432932119593244445244953800569212495936622275005000794931135654631237738917497036875938415870665273199386113342658758063689696989454761114052638043016262333188374400619151822016686585741203594625754909619303021846427161988892852857342483310881701889004850417205292009029430550206764776822149070174864641512246257768140219409533982957315396153146596322066810724396170329622730987661469887155161158379105229757774088871717651397745436655724036253504392489503762579365492615687523011 168735314934673079657863785851296517524831206535756448910096480408578520667632733722373632967660035502655042355984107531478541110884373931192153106885399996732113146613693704275639033391015391898449161070646858104648810300784817358840657779991470972572585852963113311307413718925618096804474706785168022305059730949514339223431426123357369280930269421866618119973612126938372132667469591509937897688229613647383346054099776666906402267946201129644671362661487557215042609410695909472780367602822099655621838527508670491062868067343140759674894971063465919240081235506544993114017098207154754258898153613084394162516009077948804042109979219845056376379258907932382437002045460858947933899356969216178690606519110194219360495488382133224161571639768495737885010251277686785778899934575823827218 273019474666718785934744839909650680054766673062238828641145338276193392308928399880343313847395926245997405233404797940856428384014733678324473354653209143483206639755113623139760526819693482312304939089091154340032777572127499950623204842145797906733646173860830278381881907117983680647640401867284889257058449382446458816675871368311169850142765358488893124974407058074026763905208509006974773626645484312656545440213119325664465957643190584405785415299530573477375797785096528624602384289407840859216464282418289794084714494505129652527752313546776800941970240356962198406026127637704961023674975762154569027157521324206572182329388753828013691775412054528704503812769857029277556630344630686065845767677489299449118269577253850875559317076424219774138514643767190548358265427191511350229 441754789601391865592608625760947197579597879597995277551241818684771912976561133602716946815055961748652447589388905472334969494899107609516626461538609140215319786368807327415399560210708874210754100159738012444681587872912317309463862622137268879306232026823943589689295626043601777452115108652452911562118180331960798040107297491668539131073034780355511244948019185012398896572678100516912671314875097960039891494312895992570868225589391714050456777961018130692418407195792438097382751892229940514838302809926960285147582561848270412202647284610242720182051475863507191520043225844859715282573129375238963189673530402155376224439367973673070068154670962461086940814815317888225490529701599902244536374196599493668478765065635984099720888716192715512023524895044877334137165361767335177447 714774264268110651527353465670597877634364552660234106192387156960965305285489533483060260662451887994649852822793703413191397878913841287841099816191818283698526426123920950555160087030402356523059039248829166784714365445039817260087067464283066786039878200684773868071177533161585458099755510519737800819176629714407256856783168859979708981215800138844404369922426243086425660477886609523887444941520582272696436934526015318235334183232582298456242193260548704169794204980888966721985136181637781374054767092345250079232297056353400064730399598157019521124021716220469389926069353482564676306248105137393532216831051726361948406768756727501083759930083016989791444627585174917503047160046230588310382141874088793117597034642889834975280205792616935286162039538812067882495430788958846527676 1156529053869502517119962091431545075213962432258229383743628975645737218262050667085777207477507849743302300412182608885526367373812948897357726277730427423913846212492728277970559647241111230733813139408567179229395953317952134569550930086420335665346110227508717457760473159205187235551870619172190712381294810046368054896890466351648248112288834919199915614870445428098824557050564710040800116256395680232736328428838911310806202408821974012506698971221566834862212612176681404819367888073867721888893069902272210364379879618201670476933046882767262241306073192083976581446112579327424391588821234512632495406504582128517324631208124701174153828084753979450878385442400492805728537689747830490554918516070688286786075799708525819075001094508809650798185564433856945216632596150726181705123 1871303318137613168647315557102142952848326984918463489936016132606702523547540200568837468139959737737952153234976312298717765252726790185198826093922245707612372638616649228525719734271513587256872178657396346014110318762991951829637997550703402451385988428193491325831650692366772693651626129691928513200471439760775311753673635211627957093504635058044319984792871671185250217528451319564687561197916262505432765363364926629041536592054556310962941164482115539032006817157570371541353024255505503262947836994617460443612176674555070541663446480924281762430094908304445971372181932809989067895069339650026027623335633854879273037976881428675237588014836996440669830069985667723231584849794061078865300657944777079903672834351415654050281300301426586084347603972669013099128026939685028232799 3027832372007115685767277648533688028062289417176692873679645108252439741809590867654614675617467587481254453647158921184244132626539739082556552371652673131526218851109377506496279381512624817990685318065963525243506272080944086399188927637123738116732098655702208783592123851571959929203496748864119225581766249807143366650564101563276205205793469977244235599663317099284074774579016029605487677454311942738169093792203837939847739000876530323469640135703682373894219429334251776360720912329373225151840906896889670807992056292756741018596493363691544003736168100388422552818294512137413459483890574162658523029840215983396597669185006129849391416099590975891548215512386160528960122539541891569420219174015465366689748634059941473125282394810236236882533168406525958315760623090411209937922 4899135690144728854414593205635830980910616402095156363615661240859142265357131068223452143757427325219206606882135233482961897879266529267755378465574918839138591489726026735021999115784138405247557496723359871257616590843936038228826925187827140568118087083895700109423774543938732622855122878556047738782237689567918678404237736774904162299298105035288555584456188770469324992107467349170175238652228205243601859155568764568889275592931086634432581300185797912926226246491822147902073936584878728414788743891507131251604232967311811560259939844615825766166263008692868524190476444947402527378959913812684550653175849838275870707161887558524629004114427972332218045582371828252191707389335952648285519831960242446593421468411357127175563695111662822966880772379194971414888650030096238170721 7926968062151844540181870854169519008972905819271849237295306349111582007166721935878066819374894912700461060529294154667206030505806268350311930837227591970664810340835404241518278497296763223238242814789323396501122862924880124628015852824950878684850185739597908893015898395510692552058619627420166964364003939375062045054801838338180367505091575012532791184119505869753399766686483378775662916106540147981770952947772602508737014593807616957902221435889480286820445675826073924262794848914251953566629650788396802059596289260068552578856433208307369769902431109081291077008770957084815986862850487975343073683016065821672468376346893688374020420214018948223766261094757988781151829928877844217705739005975707813283170102471298600300846089921899059849413940785720929730649273120507448108643 12826103752296573394596464059805349989883522221367005600910967589970724272523853004101518963132322237919667667411429388150167928385072797618067309302802510809803401830561430976540277613080901628485800311512683267758739453768816162856842778012778019252968272823493609002439672939449425174913742505976214703146241628942980723459039575113084529804389680047821346768575694640222724758793950727945838154758768353225372812103341367077626290186738703592334802736075278199746671922317896072164868785499130681981418394679903933311200522227380364139116373052923195536068694117774159601199247402032218514241810401788027624336191915659948339083508781246898649424328446920555984306677129817033343537318213796865991258837935950259876591570882655727476409785033561882816294713164915901145537923150603686279364 20753071814448417934778334913974868998856428040638854838206273939082306279690574939979585782507217150620128727940723542817373958890879065968379240140030102780468212171396835218058556110377664851724043126302006664259862316693696287484858630837728897937818458563091517895455571334960117726972362133396381667510245568318042768513841413451264897309481255060354137952695200509976124525480434106721501070865308501207143765051113969586363304780546320550237024171964758486567117598143969996427663634413382635548048045468300735370796811487448916717972806261230565305971125226855450678208018359117034501104660889763370698019207981481620807459855674935272669844542465868779750567771887805814495367247091641083696997843911658073159761673353954327777255874955460942665708653950636830876187196271111134388007 33579175566744991329374798973780218988739950262005860439117241529053030552214427944081104745639539388539796395352152930967541887275951863586446549442832613590271614001958266194598833723458566480209843437814689932018601770462512450341701408850506917190786731386585126897895244274409542901886104639372596370656487197261023491972880988564349427113870935108175484721270895150198849284274384834667339225624076854432516577154455336663989594967285024142571826908040036686313789520461866068592532419912513317529466440148204668681997333714829280857089179314153760842039819344629610279407265761149253015346471291551398322355399897141569146543364456182171319268870912789335734874449017622847838904565305437949688256681847608333036353244236610055253665659989022825482003367115552732021725119421714820667371 54332247381193409264153133887755087987596378302644715277323515468135336831905002884060690528146756539159925123292876473784915846166830929554825789582862716370739826173355101412657389833836231331933886564116696596278464087156208737826560039688235815128605189949676644793350815609369660628858466772768978038166732765579066260486722402015614324423352190168529622673966095660174973809754818941388840296489385355639660342205569306250352899747831344692808851080004795172880907118605836065020196054325895953077514485616505404052794145202278197575061985575384326148010944571485060957615284120266287516451132181314769020374607878623189954003220131117443989113413378658115485442220905428662334271812397079033385254525759266406196114917590564383030921534944483768147712021066189562897912315692825955055378 87911422947938400593527932861535306976336328564650575716440756997188367384119430828141795273786295927699721518645029404752457733442782793141272339025695329961011440175313367607256223557294797812143730001931386528297065857618721188168261448538742732319391921336261771691246059883779203530744571412141574408823219962840089752459603390579963751537223125276705107395236990810373823094029203776056179522113462210072176919360024642914342494715116368835380677988044831859194696639067702133612728474238409270606980925764710072734791478917107478432151164889538086990050763916114671237022549881415540531797603472866167342730007775764759100546584587299615308382284291447451220316669923051510173176377702516983073511207606874739232468161827174438284587194933506593629715388181742294919637435114540775722749 142243670329131809857681066749290394963932706867295290993764272465323704216024433712202485801933052466859646641937905878537373579609613722696098128608558046331751266348668469019913613391131029144077616566048083124575529944774929925994821488226978547447997111285938416484596875493148864159603038184910552446989952728419156012946325792595578075960575315445234730069203086470548796903784022717445019818602847565711837261565593949164695394462947713528189529068049627032075603757673538198632924528564305223684495411381215476787585624119385676007213150464922413138061708487599732194637834001681828048248735654180936363104615654387949054549804718417059297495697670105566705758890828480172507448190099596016458765733366141145428583079417738821315508729877990361777427409247931857817549750807366730778127 230155093277070210451208999610825701940269035431945866710205029462512071600143864540344281075719348394559368160582935283289831313052396515837370467634253376292762706523981836627169836948425826956221346567979469652872595802393651114163082936765721279767389032622200188175842935376928067690347609597052126855813172691259245765405929183175541827497798440721939837464440077280922619997813226493501199340716309775784014180925618592079037889178064082363570207056094458891270300396741240332245653002802714494291476337145925549522377103036493154439364315354460500128112472403714403431660383883097368580046339127047103705834623430152708155096389305716674605877981961553017926075560751531682680624567802112999532276940973015884661051241244913259600095924811496955407142797429674152737187185921907506500876 372398763606202020308890066360116096904201742299241157703969301927835775816168298252546766877652400861419014802520841161827204892662010238533468596242811422624513972872650305647083450339556856100298963134027552777448125747168581040157904424992699827215386143908138604660439810870076931849950647781962679302803125419678401778352254975771119903458373756167174567533643163751471416901597249210946219159319157341495851442491212541243733283641011795891759736124144085923345904154414778530878577531367019717975971748527141026309962727155878830446577465819382913266174180891314135626298217884779196628295074781228040068939239084540657209646194024133733903373679631658584631834451580011855188072757901709015991042674339157030089634320662652080915604654689487317184570206677606010554736936729274237279003 602553856883272230760099065970941798844470777731187024414174331390347847416312162792891047953371749255978382963103776445117036205714406754370839063877064798917276679396632142274253287287982683056520309702007022430320721549562232154320987361758421106982775176530338792836282746247004999540298257379014806158616298110937647543758184158946661730956172196889114404998083241032394036899410475704447418500035467117279865623416831133322771172819075878255329943180238544814616204551156018863124230534169734212267448085673066575832339830192371984885941781173843413394286653295028539057958601767876565208341413908275143774773862514693365364742583329850408509251661593211602557910012331543537868697325703822015523319615312172914750685561907565340515700579500984272591713004107280163291924122651181743779879 974952620489474251068989132331057895748672520030428182118143633318183623232480461045437814831024150117397397765624617606944241098376416992904307660119876221541790652269282447921336737627539539156819272836034575207768847296730813194478891786751120934198161320438477397496722557117081931390248905160977485461419423530616049322110439134717781634414545953056288972531726404783865453801007724915393637659354624458775717065908043674566504456460087674147089679304382630737962108705570797394002808065536753930243419834200207602142302557348250815332519246993226326660460834186342674684256819652655761836636488689503183843713101599234022574388777353984142412625341224870187189744463911555393056770083605531031514362289651329944840319882570217421431305234190471589776283210784886173846661059380455981058882 1577506477372746481829088198301999694593143297761615206532317964708531470648792623838328862784395899373375780728728394052061277304090823747275146723996941020459067331665914590195590024915522222213339582538041597638089568846293045348799879148509542041180936496968816190333005303364086930930547162539992291620035721641553696865868623293664443365370718149945403377529809645816259490700418200619841056159390091576055582689324874807889275629279163552402419622484621175552578313256726816257127038599706488142510867919873274177974642387540622800218461028167069740054747487481371213742215421420532327044977902597778327618486964113927387939131360683834550921877002818081789747654476243098930925467409309353047037681904963502859591005444477782761947005813691455862367996214892166337138585182031637724838761 2552459097862220732898077330633057590341815817792043388650461598026715093881273084883766677615420049490773178494353011659005518402467240740179454384116817242000857983935197038116926762543061761370158855374076172845858416143023858543278770935260662975379097817407293587829727860481168862320796067700969777081455145172169746187979062428382224999785264103001692350061536050600124944501425925535234693818744716034831299755232918482455780085739251226549509301789003806290540421962297613651129846665243242072754287754073481780116944944888873615550980275160296066715208321667713888426472241073188088881614391287281511462200065713161410513520138037818693334502344042951976937398940154654323982237492914884078552044194614832804431325327048000183378311047881927452144279425677052510985246241412093705897643 4129965575234967214727165528935057284934959115553658595182779562735246564530065708722095540399815948864148959223081405711066795706558064487454601108113758262459925315601111628312516787458583983583498437912117770483947984989316903892078650083770205016560034314376109778162733163845255793251343230240962068701490866813723443053847685722046668365155982252947095727591345696416384435201844126155075749978134807610886882444557793290345055715018414778951928924273624981843118735219024429908256885264949730215265155673946755958091587332429496415769441303327365806769955809149085102168687662493720415926592293885059839080687029827088798452651498721653244256379346861033766685053416397753254907704902224237125589726099578335664022330771525782945325316861573383314512275640569218848123831423443731430736404 6682424673097187947625242859568114875276774933345701983833241160761961658411338793605862218015235998354922137717434417370072314109025305227634055492230575504460783299536308666429443550001645744953657293286193943329806401132340762435357421019030867991939132131783403365992461024326424655572139297941931845782946011985893189241826748150428893364941246355948788077652881747016509379703270051690310443796879523645718182199790711772800835800757666005501438226062628788133659157181322043559386731930192972288019443428020237738208532277318370031320421578487661873485164130816798990595159903566908504808206685172341350542887095540250208966171636759471937590881690903985743622452356552407578889942395139121204141770294193168468453656098573783128703627909455310766656555066246271359109077664855825136634047 10812390248332155162352408388503172160211734048899360579016020723497208222941404502327957758415051947219071096940515823081139109815583369715088656600344333766920708615137420294741960337460229728537155731198311713813754386121657666327436071102801073008499166446159513144155194188171680448823482528182893914484436878799616632295674433872475561730097228608895883805244227443432893814905114177845386193775014331256605064644348505063145891515776080784453367150336253769976777892400346473467643617195142702503284599101966993696300119609747866447089862881815027680255119939965884092763847566060628920734798979057401189623574125367339007418823135481125181847261037765019510307505772950160833797647297363358329731496393771504132475986870099566074028944771028694081168830706815490207232909088299556567370451 17494814921429343109977651248071287035488508982245062562849261884259169881352743295933819976430287945573993234657950240451211423924608674942722712092574909271381491914673728961171403887461875473490813024484505657143560787253998428762793492121831941000438298577942916510147655212498105104395621826124825760267382890785509821537501182022904455095038474964844671882897109190449403194608384229535696637571893854902323246844139216835946727316533746789954805376398882558110437049581668517027030349125335674791304042529987231434508651887066236478410284460302689553740284070782683083359007469627537425543005664229742540166461220907589216384994772240597119438142728669005253929958129502568412687589692502479533873266687964672600929642968673349202732572680484004847825385773061761566341986753155381704004498 28307205169761498272330059636574459195700243031144423141865282607756378104294147798261777734845339892793064331598466063532350533740192044657811368692919243038302200529811149255913364224922105202027968755682817370957315173375656095090229563224633014008937465024102429654302849400669785553219104354307719674751819769585126453833175615895380016825135703573740555688141336633882297009513498407381082831346908186158928311488487721899092618832309827574408172526735136328087214941982014990494673966320478377294588641631954225130808771496814102925500147342117717233995404010748567176122855035688166346277804643287143729790035346274928223803817907721722301285403766434024764237463902452729246485236989865837863604763081736176733405629838772915276761517451512698928994216479877251773574895841454938271374949 45802020091190841382307710884645746231188752013389485704714544492015547985646891094195597711275627838367057566256416303983561957664800719600534080785494152309683692444484878217084768112383980675518781780167323028100875960629654523853023055346464955009375763602045346164450504613167890657614726180432545435019202660370636275370676797918284471920174178538585227571038445824331700204121882636916779468918802041061251558332626938735039346148843574364362977903134018886197651991563683507521704315445814052085892684161941456565317423383880339403910431802420406787735688081531250259481862505315703771820810307516886269956496567182517440188812679962319420723546495103030018167422031955297659172826682368317397478029769700849334335272807446264479494090131996703776819602252939013339916882594610319975379447 74109225260952339654637770521220205426888995044533908846579827099771926089941038892457375446120967731160121897854882367515912491404992764258345449478413395347985892974296027472998132337306085877546750535850140399058191134005310618943252618571097969018313228626147775818753354013837676210833830534740265109771022429955762729203852413813664488745309882112325783259179782458213997213635381044297862300265710227220179869821114660634131964981153401938771150429869155214284866933545698498016378281766292429380481325793895681696126194880694442329410579144538124021731092092279817435604717541003870118098614950804029999746531913457445663992630587684041722008950261537054782404885934408026905658063672234155261082792851437026067740902646219179756255607583509402705813818732816265113491778436065258246754396 119911245352143181036945481405865951658077747057923394551294371591787474075587929986652973157396595569527179464111298671499474449069793483858879530263907547657669585418780905690082900449690066553065532316017463427159067094634965142796275673917562924027688992228193121983203858627005566868448556715172810544790225090326399004574529211731948960665484060650911010830218228282545697417757263681214641769184512268281431428153741599369171311129996976303134128333003174100482518925109382005538082597212106481466374009955837138261443618264574781733321010946958530809466780173811067695086580046319573889919425258320916269703028480639963104181443267646361142732496756640084800572307966363324564830890354602472658560822621137875402076175453665444235749697715506106482633420985755278453408661030675578222133843 194020470613095520691583251927086157084966742102457303397874198691559400165528968879110348603517563300687301361966181039015386940474786248117224979742320943005655478393076933163081032786996152430612282851867603826217258228640275761739528292488660893046002220854340897801957212640843243079282387249913075654561247520282161733778381625545613449410793942763236794089398010740759694631392644725512504069450222495501611297974856260003303276111150378241905278762872329314767385858655080503554460878978398910846855335749732819957569813145269224062731590091496654831197872266090885130691297587323444008018040209124946269449560394097408768174073855330402864741447018177139582977193900771351470488954026836627919643615472574901469817078099884623992005305299015509188447239718571543566900439466740836468888239 313931715965238701728528733332952108743044489160380697949168570283346874241116898865763321760914158870214480826077479710514861389544579731976104510006228490663325063811857838853163933236686218983677815167885067253376325323275240904535803966406223817073691213082534019785161071267848809947730943965085886199351472610608560738352910837277562410076278003414147804919616239023305392049149908406727145838634734763783042726128597859372474587241147354545039407095875503415249904783764462509092543476190505392313229345705569958219013431409844005796052601038455185640664652439901952825777877633643017897937465467445862539152588874737371872355517122976764007473943774817224383549501867134676035319844381439100578204438093712776871893253553550068227755003014521615671080660704326822020309100497416414691022082 507952186578334222420111985260038265828011231262838001347042768974906274406645867744873670364431722170901782188043660749530248330019365980093329489748549433668980542204934772016244966023682371414290098019752671079593583551915516666275332258894884710119693433936874917587118283908692053027013331214998961853912720130890722472131292462823175859487071946177384599009014249764065086680542553132239649908084957259284654024103454119375777863352297732786944685858747832730017290642419543012647004355168904303160084681455302778176583244555113229858784191129951840471862524705992837956469175220966461905955505676570808808602149268834780640529590978307166872215390792994363966526695767906027505808798408275728497848053566287678341710331653434692219760308313537124859527900422898365587209539964157251159910321 821883902543572924148640718592990374571055720423218699296211339258253148647762766610636992125345881041116263014121140460045109719563945712069433999754777924332305606016792610869408899260368590397967913187637738332969908875190757570811136225301108527193384647019408937372279355176540862974744275180084848053264192741499283210484203300100738269563349949591532403928630488787370478729692461538966795746719692023067696750232051978748252450593445087331984092954623336145267195426184005521739547831359409695473314027160872736395596675964957235654836792168407026112527177145894790782247052854609479803892971144016671347754738143572152512885108101283930879689334567811588350076197635040703541128642789714829076052491660000455213603585206984760447515311328058740530608561127225187607518640461573665850932403 1329836089121907146568752703853028640399066951686056700643254108233159423054408634355510662489777603212018045202164801209575358049583311692162763489503327358001286148221727382885653865284050961812258011207390409412563492427106274237086468484195993237313078080956283854959397639085232916001757606395083809907176912872390005682615495762923914129050421895768917002937644738551435565410235014671206445654804649282352350774335506098124030313945742820118928778813371168875284486068603548534386552186528313998633398708616175514572179920520070465513620983298358866584389701851887628738716228075575941709848476820587480156356887412406933153414699079591097751904725360805952316602893402946731046937441197990557573900545226288133555313916860419452667275619641595865390136461550123553194728180425730917010842724 2151719991665480070717393422446019014970122672109275399939465447491412571702171400966147654615123484253134308216285941669620467769147257404232197489258105282333591754238519993755062764544419552210225924395028147745533401302297031807897604709497101764506462727975692792331676994261773778976501881575168657960441105613889288893099699063024652398613771845360449406866275227338806044139927476210173241401524341305420047524567558076872282764539187907450912871767994505020551681494787554056126100017887723694106712735777048250967776596485027701168457775466765892696916878997782419520963280930185421513741447964604151504111625555979085666299807180875028631594059928617540666679091037987434588066083987705386649953036886288588768917502067404213114790930969654605920745022677348740802246820887304582861775127 3481556080787387217286146126299047655369189623795332100582719555724571994756580035321658317104901087465152353418450742879195825818730569096394960978761432640334877902460247376640716629828470514022483935602418557158096893729403306044984073193693095001819540808931976647291074633347006694978259487970252467867618018486279294575715194825948566527664193741129366409803919965890241609550162490881379687056328990587772398298903064174996313078484930727569841650581365673895836167563391102590512652204416037692740111444393223765539956517005098166682078758765124759281306580849670048259679509005761363223589924785191631660468512968386018819714506260466126383498785289423492983281984440934165635003525185695944223853582112576722324231418927823665782066550611250471310881484227472293996975001313035499872617851 5633276072452867288003539548745066670339312295904607500522185003215984566458751436287805971720024571718286661634736684548816293587877826500627158468019537922668469656698767370395779394372890066232709859997446704903630295031700337852881677903190196766326003536907669439622751627608780473954761369545421125828059124100168583468814893888973218926277965586489815816670195193229047653690089967091552928457853331893192445823470622251868595843024118635020754522349360178916387849058178656646638752222303761386846824180170272016507733113490125867850536534231890651978223459847452467780642789935946784737331372749795783164580138524365104486014313441341155015092845218041033649961075478921600223069609173401330873806618998865311093148920995227878896857481580905077231626506904821034799221822200340082734392978 9114832153240254505289685675044114325708501919699939601104904558940556561215331471609464288824925659183439015053187427428012119406608395597022119446780970563003347559159014747036496024201360580255193795599865262061727188761103643897865751096883291768145544345839646086913826260955787168933020857515673593695677142586447878044530088714921785453942159327619182226474115159119289263240252457972932615514182322480964844122373686426864908921509049362590596172930725852812224016621569759237151404426719799079586935624563495782047689630495224034532615292997015411259530040697122516040322298941708147960921297534987414825048651492751123305728819701807281398591630507464526633243059919855765858073134359097275097660201111442033417380339923051544678924032192155548542507991132293328796196823513375582607010829 14748108225693121793293225223789180996047814215604547101627089562156541127674082907897270260544950230901725676687924111976828412994486222097649277914800508485671817215857782117432275418574250646487903655597311966965357483792803981750747429000073488534471547882747315526536577888564567642887782227061094719523736266686616461513344982603895004380220124914108998043144310352348336916930342425064485543972035654374157289945844308678733504764533167997611350695280086031728611865679748415883790156649023560466433759804733767798555422743985349902383151827228906063237753500544574983820965088877654932698252670284783197989628790017116227791743133143148436413684475725505560283204135398777366081142743532498605971466820110307344510529260918279423575781513773060625774134498037114363595418645713715665341403807 23862940378933376298582910898833295321756316135304486702731994121097097688889414379506734549369875890085164691741111539404840532401094617694671397361581479048675164775016796864468771442775611226743097451197177229027084672553907625648613180096956780302617092228586961613450404149520354811820803084576768313219413409273064339557875071318816789834162284241728180269618425511467626180170594883037418159486217976855122134068217995105598413686042217360201946868210811884540835882301318175120941561075743359546020695429297263580603112374480573936915767120225921474497283541241697499861287387819363080659173967819770612814677441509867351097471952844955717812276106232970086916447195318633131939215877891595881069127021221749377927909600841330968254705545965216174316642489169407692391615469227091247948414636 38611048604626498091876136122622476317804130350909033804359083683253638816563497287404004809914826120986890368429035651381668945395580839792320675276381987534346981990874578981901046861349861873231001106794489195992442156346711607399360609097030268837088640111334277139986982038084922454708585311637863032743149675959680801071220053922711794214382409155837178312762735863815963097100937308101903703458253631229279424014062303784331918450575385357813297563490897916269447747981066591004731717724766920012454455234031031379158535118465923839298918947454827537735037041786272483682252476697018013357426638104553810804306231526983578889215085988104154225960581958475647199651330717410498020358621424094487040593841332056722438438861759610391830487059738276800090776987206522055987034114940806913289818443 62473988983559874390459047021455771639560446486213520507091077804350736505452911666910739359284702011072055060170147190786509477796675457486992072637963466583022146765891375846369818304125473099974098557991666425019526828900619233047973789193987049139705732339921238753437386187605277266529388396214631345962563085232745140629095125241528584048544693397565358582381161375283589277271532191139321862944471608084401558082280298889930332136617602718015244431701709800810283630282384766125673278800510279558475150663328294959761647492946497776214686067680749012232320583027969983543539864516381094016600605924324423618983673036850929986687038833059872038236688191445734116098526036043629959574499315690368109720862553806100366348462600941360085192605703492974407419476375929748378649584167898161238233079 101085037588186372482335183144078247957364576837122554311450161487604375322016408954314744169199528132058945428599182842168178423192256297279312747914345454117369128756765954828270865165475334973205099664786155621011968985247330840447334398291017317976794372451255515893424368225690199721237973707852494378705712761192425941700315179164240378262927102553402536895143897239099552374372469499241225566402725239313680982096342602674262250587192988075828541995192607717079731378263451357130404996525277199570929605897359326338920182611412421615513605015135576549967357624814242467225792341213399107374027244028878234423289904563834508875902124821164026264197270149921381315749856753454127979933120739784855150314703885862822804787324360551751915679665441769774498196463582451804365683699108705074528051522 163559026571746246872794230165534019596925023323336074818541239291955111827469320621225483528484230143131000488769330032954687900988931754766304820552308920700391275522657330674640683469600808073179198222777822046031495814147950073495308187485004367116500104791176754646861754413295476987767362104067125724668275846425171082329410304405768962311471795950967895477525058614383141651644001690380547429347196847398082540178622901564192582723810590793843786426894317517890015008545836123256078275325787479129404756560687621298681830104358919391728291082816325562199678207842212450769332205729780201390627849953202658042273577600685438862589163654223898302433958341367115431848382789497757939507620055475223260035566439668923171135786961493112000872271145262748905615939958381552744333283276603235766284601 264644064159932619355129413309612267554289600160458629129991400779559487149485729575540227697683758275189945917368512875122866324181188052045617568466654374817760404279423285502911548635076143046384297887563977667043464799395280913942642585776021685093294477242432270540286122638985676709005335811919620103373988607617597024029725483570009340574398898504370432372668955853482694026016471189621772995749922086711763522274965504238454833311003578869672328422086925234969746386809287480386483271851064678700334362458046947637602012715771341007241896097951902112167035832656454917995124546943179308764655093982080892465563482164519947738491288475387924566631228491288496747598239542951885919440740795260078410350270325531745975923111322044863916551936587032523403812403540833357110016982385308310294336123 428203090731678866227923643475146287151214623483794703948532640071514598976955050196765711226167988418320946406137842908077554225170119806811922389018963295518151679802080616177552232104676951119563496110341799713074960613543230987437950773261026052209794582033609025187147877052281153696772697915986745828042264454042768106359135787975778302885870694455338327850194014467865835677660472880002320425097118934109846062453588405802647416034814169663516114848981242752859761395355123603642561547176852157829739119018734568936283842820130260398970187180768227674366714040498667368764456752672959510155282943935283550507837059765205386601080452129611822869065186832655612179446622332449643858948360850735301670385836765200669147058898283537975917424207732295272309428343499214909854350265661911546060620724 692847154891611485583053056784758554705504223644253333078524040851074086126440779772305938923851746693510892323506355783200420549351307858857539957485617670335912084081503901680463780739753094165947793997905777380118425412938511901380593359037047737303089059276041295727433999691266830405778033727906365931416253061660365130388861271545787643460269592959708760222862970321348529703676944069624093420847041020821609584728553910041102249345817748533188443271068167987829507782164411084029044819027916836530073481476781516573885855535901601406212083278720129786533749873155122286759581299616138818919938037917364442973400541929725334339571740604999747435696415323944108927044861875401529778389101645995380080736107090732415122982009605582839833976144319327795713240747040048266964367248047219856354956847 1121050245623290351810976700259904841856718847128048037027056680922588685103395829969071650150019735111831838729644198691277974774521427665669462346504580965854063763883584517858016012844430045285511290108247577093193386026481742888818544132298073789512883641309650320914581876743547984102550731643893111759458517515703133236747997059521565946346140287415047088073056984789214365381337416949626413845944159954931455647182142315843749665380631918196704558120049410740689269177519534687671606366204768994359812600495516085510169698356031861805182270459488357460900463913653789655524038052289098329075220981852647993481237601694930720940652192734611570304761602156599721106491484207851173637337462496730681751121943855933084270040907889120815751400352051623068022669090539263176818717513709131402415577571 1813897400514901837394029757044663396562223070772301370105580721773662771229836609741377589073871481805342731053150554474478395323872735524527002303990198636189975847965088419538479793584183139451459084106153354473311811439420254790199137491335121526815972700585691616642015876434814814508328765371799477690874770577363498367136858331067353589806409880374755848295919955110562895085014361019250507266791200975753065231910696225884851914726449666729893001391117578728518776959683945771700651185232685830889886081972297602084055553891933463211394353738208487247434213786808911942283619351905237147995159019770012436454638143624656055280223933339611317740458017480543830033536346083252703415726564142726061831858050946665499393022917494703655585376496370950863735909837579311443783084761756351258770534418 2934947646138192189205006457304568238418941917900349407132637402696251456333232439710449239223891216917174569782794753165756370098394163190196464650494779602044039611848672937396495806428613184736970374214400931566505197465901997679017681623633195316328856341895341937556597753178362798610879497015692589450333288093066631603884855390588919536152550167789802936368976939899777260466351777968876921112735360930684520879092838541728601580107081584926597559511166989469208046137203480459372257551437454825249698682467813687594225252247965325016576624197696844708334677700462701597807657404194335477070380001622660429935875745319586776220876126074222888045219619637143551140027830291103877053064026639456743582979994802598583663063825383824471336776848422573931758578928118574620601802275465482661186111989 4748845046653094026599036214349231634981164988672650777238218124469914227563069049451826828297762698722517300835945307640234765422266898714723466954484978238234015459813761356934975600012796324188429458320554286039817008905322252469216819114968316843144829042481033554198613629613177613119208262387492067141208058670430129971021713721656273125958960048164558784664896895010340155551366138988127428379526561906437586111003534767613453494833531251656490560902284568197726823096887426231072908736670140656139584764440111289678280806139898788227970977935905331955768891487271613540091276756099572625065539021392672866390513888944242831501100059413834205785677637117687381173564176374356580468790590782182805414838045749264083056086742878528126922153344793524795494488765697886064384887037221833919956646407 7683792692791286215804042671653799873400106906573000184370855527166165683896301489162276067521653915639691870618740060805991135520661061904919931604979757840278055071662434294331471406441409508925399832534955217606322206371224250148234500738601512159473685384376375491755211382791540411730087759403184656591541346763496761574906569112245192662111510215954361721033873834910117416017717916957004349492261922837122106990096373309342055074940612836583088120413451557666934869234090906690445166288107595481389283446907924977272506058387864113244547602133602176664103569187734315137898934160293908102135919023015333296326389634263829607721976185488057093830897256754830932313592006665460457521854617421639548997818040551862666719150568262352598258930193216098727253067693816460684986689312687316581142758396 12432637739444380242403078886003031508381271895245650961609073651636079911459370538614102895819416614362209171454685368446225900942927960619643398559464736078512070531476195651266447006454205833113829290855509503646139215276546502617451319853569829002618514426857409045953825012404718024849296021790676723732749405433926891545928282833901465788070470264118920505698770729920457571569084055945131777871788484743559693101099908076955508569774144088239578681315736125864661692330978332921518075024777736137528868211348036266950786864527762901472518580069507508619872460675005928677990210916393480727201458044408006162716903523208072439223076244901891299616574893872518313487156183039817037990645208203822354412656086301126749775237311140880725181083538009623522747556459514346749371576349909150501099404803 20116430432235666458207121557656831381781378801818651145979929178802245595355672027776378963341070530001901042073425429252217036463589022524563330164444493918790125603138629945597918412895615342039229123390464721252461421647770752765685820592171341162092199811233784537709036395196258436579383781193861380324290752197423653120834851946146658450181980480073282226732644564830574987586801972902136127364050407580681800091196281386297563644714756924822666801729187683531596561565069239611963241312885331618918151658255961244223292922915627014717066182203109685283976029862740243815889145076687388829337377067423339459043293157471902046945052430389948393447472150627349245800748189705277495512499825625461903410474126852989416494387879403233323440013731225722250000624153330807434358265662596467082242163199 32549068171680046700610200443659862890162650697064302107589002830438325506815042566390481859160487144364110213528110797698442937406516983144206728723909229997302196134614825596864365419349821175153058414245974224898600636924317255383137140445741170164710714238091193583662861407600976461428679802984538104057040157631350544666763134780048124238252450744192202732431415294751032559155886028847267905235838892324241493192296189463253072214488901013062245483044923809396258253896047572533481316337663067756447019869603997511174079787443389916189584762272617193903848490537746172493879355993080869556538835111831345621760196680679974486168128675291839693064047044499867559287904372745094533503145033829284257823130213154116166269625190544114048621097269235345772748180612845154183729842012505617583341568002 52665498603915713158817322001316694271944029498882953253568932009240571102170714594166860822501557674366011255601536226950659973870106005668770058888353723916092321737753455542462283832245436517192287537636438946151062058572088008148822961037912511326802914049324978121371897802797234898008063584178399484381330909828774197787597986726194782688434431224265484959164059859581607546742688001749404032599889299904923293283492470849550635859203657937884912284774111492927854815461116812145444557650548399375365171527859958755397372710359016930906650944475726879187824520400486416309768501069768258385876212179254685080803489838151876533113181105681788086511519195127216805088652562450372029015644859454746161233604340007105582764013069947347372061111000461068022748804766175961618088107675102084665583731201 85214566775595759859427522444976557162106680195947255361157934839678896608985757160557342681662044818730121469129647024649102911276622988812976787612262953913394517872368281139326649251595257692345345951882413171049662695496405263531960101483653681491513628287416171705034759210398211359436743387162937588438371067460124742454361121506242906926686881968457687691595475154332640105898574030596671937835728192229164786475788660312803708073692558950947157767819035302324113069357164384678925873988211467131812191397463956266571452497802406847096235706748344073091673010938232588803647857062849127942415047291086030702563686518831851019281309780973627779575566239627084364376556935195466562518789893284030419056734553161221749033638260491461420682208269696413795496985379021115801817949687607702248925299203 137880065379511473018244844446293251434050709694830208614726866848919467711156471754724203504163602493096132724731183251599762885146728994481746846500616677829486839610121736681788933083840694209537633489518852117200724754068493271680783062521566192818316542336741149826406657013195446257444806971341337072819701977288898940241959108232437689615121313192723172650759535013914247652641262032346075970435617492134088079759281131162354343932896216888832070052593146795251967884818281196824370431638759866507177362925323915021968825208161423778002886651224070952279497531338719005113416358132617386328291259470340715783367176356983727552394490886655415866087085434754301169465209497645838591534434752738776580290338893168327331797651330438808792743319270157481818245790145197077419906057362709786914509030404 223094632155107232877672366891269808596157389890777463975884801688598364320142228915281546185825647311826254193860830276248865796423351983294723634112879631742881357482490017821115582335435951901882979441401265288250387449564898535212743164005219874309830170624157321531441416223593657616881550358504274661258073044749023682696320229738680596541808195161180860342355010168246887758539836062942747908271345684363252866235069791475158052006588775839779227820412182097576080954175445581503296305626971333638989554322787871288540277705963830625099122357972415025371170542276951593917064215195466514270706306761426746485930862875815578571675800667629043645662651674381385533841766432841305154053224646022806999347073446329549080831289590930270213425527539853895613742775524218193221724007050317489163434329607 360974697534618705895917211337563060030208099585607672590611668537517832031298700670005749689989249804922386918592013527848628681570080977776470480613496309572368197092611754502904515419276646111420612930920117405451112203633391806893526226526786067128146712960898471357848073236789103874326357329845611734077775022037922622938279337971118286156929508353904032993114545182161135411181098095288823878706963176497340945994350922637512395939484992728611297873005328892828048838993726778327666737265731200146166917248111786310509102914125254403102009009196485977650668073615670599030480573328083900598997566231767462269298039232799306124070291554284459511749737109135686703306975930487143745587659398761583579637412339497876412628940921369079006168846810011377431988565669415270641630064413027276077943360011 584069329689725938773589578228832868626365489476385136566496470226116196351440929585287295875814897116748641112452843804097494477993432961071194114726375941315249554575101772324020097754712598013303592372321382693701499653198290342106269390532005941437976883585055792889289489460382761491207907688349886395335848066786946305634599567709798882698737703515084893335469555350408023169720934158231571786978308860860593812229420714112670447946073768568390525693417510990404129793169172359830963042892702533785156471570899657599049380620089085028201131367168901003021838615892622192947544788523550414869703872993194208755228902108614884695746092221913503157412388783517072237148742363328448899640884044784390578984485785827425493460230512299349219594374349865273045731341193633463863354071463344765241377689618 945044027224344644669506789566395928656573589061992809157108138763634028382739630255293045565804146921671028031044857331946123159563513938847664595339872250887617751667713526826924613173989244124724205303241500099152611856831682148999795617058792008566123596545954264247137562697171865365534265018195498129413623088824868928572878905680917168855667211868988926328584100532569158580902032253520395665685272037357934758223771636750182843885558761297001823566422839883232178632162899138158629780158433733931323388819011443909558483534214339431303140376365386980672506689508292791978025361851634315468701439224961671024526941341414190819816383776197962669162125892652758940455718293815592645228543443545974158621898125325301906089171433668428225763221159876650477719906863048734504984135876372041319321049629 1529113356914070583443096367795228797282939078538377945723604608989750224734180559840580341441619044038419669143497701136043617637556946899918858710066248192202867306242815299150944710928701842138027797675562882792854111510029972491106065007590797950004100480131010057136427052157554626856742172706545384524749471155611815234207478473390716051554404915384073819664053655882977181750622966411751967452663580898218528570453192350862853291831632529865392349259840350873636308425332071497989592823051136267716479860389911101508607864154303424459504271743534287983694345305400914984925570150375184730338405312218155879779755843450029075515562475998111465826574514676169831177604460657144041544869427488330364737606383911152727399549401945967777445357595509741923523451248056682198368338207339716806560698739247 2474157384138415228112603157361624725939512667600370754880712747753384253116920190095873387007423190960090697174542558467989740797120460838766523305406120443090485057910528825977869324102691086262752002978804382892006723366861654640105860624649589958570224076676964321383564614854726492222276437724740882654163094244436684162780357379071633220410072127253062745992637756415546340331524998665272363118348852935576463328676963987613036135717191291162394172826263190756868487057494970636148222603209570001647803249208922545418166347688517763890807412119899674964366851994909207776903595512226819045807106751443117550804282784791443266335378859774309428495736640568822590118060178950959634190097970931876338896228282036478029305638573379636205671120816669618574001171154919730932873322343216088847880019788876 4003270741052485811555699525156853523222451746138748700604317356743134477851100749936453728449042234998510366318040259604033358434677407738685382015472368635293352364153344125128814035031392928400779800654367265684860834876891627131211925632240387908574324556807974378519991667012281119079018610431286267178912565400048499396987835852462349271964477042637136565656691412298523522082147965077024330571012433833794991899130156338475889427548823821027786522086103541630504795482827042134137815426260706269364283109598833646926774211842821188350311683863433962948061197300310122761829165662602003776145512063661273430584038628241472341850941335772420894322311155244992421295664639608103675734967398420206703633834665947630756705187975325603983116478412179360497524622402976413131241660550555805654440718528123 6477428125190901039668302682518478249161964413739119455485030104496518730968020940032327115456465425958601063492582818072023099231797868577451905320878489078383837422063872951106683359134084014663531803633171648576867558243753281771317786256889977867144548633484938699903556281867007611301295048156027149833075659644485183559768193231533982492374549169890199311649329168714069862413672963742296693689361286769371455227807120326088925563266015112190180694912366732387373282540322012770286038029470276271012086358807756192344940559531338952241119095983333637912428049295219330538732761174828822821952618815104390981388321413032915608186320195546730322818047795813815011413724818559063309925065369352083042530062947984108786010826548705240188787599228848979071525793557896144064114982893771894502320738316999 10480698866243386851224002207675331772384416159877868156089347461239653208819121689968780843905507660957111429810623077676056457666475276316137287336350857713677189786217217076235497394165476943064311604287538914261728393120644908902529711889130365775718873190292913078423547948879288730380313658587313417011988225044533682956756029083996331764339026212527335877306020581012593384495820928819321024260373720603166447126937276664564814990814838933217967216998470274017878078023149054904423853455730982540376369468406589839271714771374160140591430779846767600860489246595529453300561926837430826598098130878765664411972360041274387950037261531319151217140358951058807432709389458167166985660032767772289746163897613931739542716014524030844171904077641028339569050415960872557195356643444327700156761456845122 16958126991434287890892304890193810021546380573616987611574377565736171939787142630001107959361973086915712493303205895748079556898273144893589192657229346792061027208281090027342180753299560957727843407920710562838595951364398190673847498146020343642863421823777851778327104230746296341681608706743340566845063884689018866516524222315530314256713575382417535188955349749726663246909493892561617717949735007372537902354744396990653740554080854045408147911910837006405251360563471067674709891485201258811388455827214346031616655330905499092832549875830101238772917295890748783839294688012259649420050749693870055393360681454307303558223581726865881539958406746872622444123114276726230295585098137124372788693960561915848328726841072736084360691676869877318640576209518768701259471626338099594659082195162121 27438825857677674742116307097869141793930796733494855767663725026975825148606264319969888803267480747872823923113828973424136014564748421209726479993580204505738216994498307103577678147465037900792155012208249477100324344485043099576377210035150709418582295014070764856750652179625585072061922365330653983857052109733552549473280251399526646021052601594944871066261370330739256631405314821380938742210108727975704349481681673655218555544895692978626115128909307280423129438586620122579133744940932241351764825295620935870888370102279659233423980655676868839633406542486278237139856614849690476018148880572635719805333041495581691508260843258185032757098765697931429876832503734893397281245130904896662534857858175847587871442855596766928532595754510905658209626625479641258454828269782427294815843652007243 44396952849111962633008611988062951815477177307111843379238102592711997088393406949970996762629453834788536416417034869172215571463021566103315672650809551297799244202779397130919858900764598858519998420128960039938920295849441290250224708181171053061445716837848616635077756410371881413743531072073994550702115994422571415989804473715056960277766176977362406255216720080465919878314808713942556460159843735348242251836426070645872296098976547024034263040820144286828380799150091190253843636426133500163153281122835281902505025433185158326256530531506970078406323838377027020979151302861950125438199630266505775198693722949888995066484424985050914297057172444804052320955618011619627576830229042021035323551818737763436200169696669503012893287431380782976850202834998409959714299896120526889474925847169364 71835778706789637375124919085932093609407974040606699146901827619687822236999671269940885565896934582661360339530863842596351586027769987313042152644389755803537461197277704234497537048229636759312153432337209517039244640334484389826601918216321762480028011851919381491828408589997466485805453437404648534559168104156123965463084725114583606298818778572307277321478090411205176509720123535323495202369952463323946601318107744301090851643872240002660378169729451567251510237736711312832977381367065741514918106418456217773393395535464817559680511187183838918039730380863305258119007917711640601456348510839141495004026764445470686574745268243235947054155938142735482197788121746513024858075359946917697858409676913611024071612552266269941425883185891688635059829460478051218169128165902954184290769499176607 116232731555901600008133531073995045424885151347718542526139930212399819325393078219911882328526388417449896755947898711768567157490791553416357825295199307101336705400057101365417395948994235617832151852466169556978164936183925680076826626397492815541473728689767998126906165000369347899548984509478643085261284098578695381452889198829640566576584955549669683576694810491671096388034932249266051662529796198672188853154533814946963147742848787026694641210549595854079891036886802503086821017793199241678071387541291499675898420968649975885937041718690808996446054219240332279098159220573590726894548141105647270202720487395359681641229693228286861351213110587539534518743739758132652434905588988938733181961495651374460271782248935772954319170617272471611910032295476461177883428062023481073765695346345971 188068510262691237383258450159927139034293125388325241673041757832087641562392749489852767894423323000111257095478762554364918743518561540729399977939589062904874166597334805599914932997223872377144305284803379074017409576518410069903428544613814578021501740541687379618734573590366814385354437946883291619820452202734819346915973923944224172875403734121976960898172900902876272897755055784589546864899748661996135454472641559248053999386721027029355019380279047421331401274623513815919798399160264983192989493959747717449291816504114793445617552905874647914485784600103637537217167138285231328350896651944788765206747251840830368215974961471522808405369048730275016716531861504645677292980948935856431040371172564985484343394801202042895745053803164160246969861755954512396052556227926435258056464845522578 304301241818592837391391981233922184459178276736043784199181688044487460887785827709764650222949711417561153851426661266133485901009353094145757803234788370006210871997391906965332328946218107994976457137269548630995574512702335749980255171011307393562975469231455377745640738590736162284903422456361934705081736301313514728368863122773864739451988689671646644474867711394547369285789988033855598527429544860668324307627175374195017147129569814056049660590828643275411292311510316319006619416953464224871060881501039217125190237472764769331554594624565456910931838819343969816315326358858822055245444793050436035409467739236190049857204654699809669756582159317814551235275601262778329727886537924795164222332668216359944615177050137815850064224420436631858879894051430973573935984289949916331822160191868549 492369752081284074774650431393849323493471402124369025872223445876575102450178577199617418117373034417672410946905423820498404644527914634875157781174377432911085038594726712565247261943441980372120762422072927705012984089220745819883683715625121971584477209773142757364375312181102976670257860403245226324902188504048334075284837046718088912327392423793623605373040612297423642183545043818445145392329293522664459762099816933443071146516290841085404679971107690696742693586133830134926417816113729208064050375460786934574482053976879562777172147530440104825417623419447607353532493497144053383596341444995224800616214991077020418073179616171332478161951208048089567951807462767424007020867486860651595262703840781345428958571851339858745809278223600792105849755807385485969988540517876351589878625037391127 796670993899876912166042412627771507952649678860412810071405133921062563337964404909382068340322745835233564798332085086631890545537267729020915584409165802917295910592118619530579590889660088367097219559342476336008558601923081569863938886636429365147452679004598135110016050771839138955161282859607161029983924805361848803653700169491953651779381113465270249847908323691971011469335031852300743919758838383332784069726992307638088293645860655141454340561936333972153985897644146453933037233067193432935111256961826151699672291449644332108726742155005561736349462238791577169847819856002875438841786238045660836025682730313210467930384270871142147918533367365904119187083064030202336748754024785446759485036508997705373573748901477674595873502644037423964729649858816459543924524807826267921700785229259676 1289040745981160986940692844021620831446121080984781835943628579797637665788142982108999486457695780252905975745237508907130295190065182363896073365583543235828380949186845332095826852833102068739217981981415404041021542691143827389747622602261551336731929888777740892474391362952942115625419143262852387354886113309410182878938537216210042564106773537258893855220948935989394653652880075670745889312088131905997243831826809241081159440162151496226859020533044024668896679483777976588859455049180922640999161632422613086274154345426523894885898889685445666561767085658239184523380313353146928822438127683040885636641897721390230886003563887042474626080484575413993687138890526797626343769621511646098354747740349779050802532320752817533341682780867638216070579405666201945513913065325702619511579410266650803 2085711739881037899106735256649392339398770759845194646015033713718700229126107387018381554798018526088139540543569593993762185735602450092916988949992709038745676859778963951626406443722762157106315201540757880377030101293066908959611561488897980701879382567782339027584407413724781254580580426122459548384870038114772031682592237385701996215886154650724164105068857259681365665122215107523046633231846970289330027901553801548719247733808012151368313361094980358641050665381422123042792492282248116073934272889384439237973826636876168226994625631840451228298116547897030761693228133209149804261279913921086546472667580451703441353933948157913616773999017942779897806325973590827828680518375536431545114232776858776756176106069654295207937556283511675640035309055525018405057837590133528887433280195495910479 3374752485862198886047428100671013170844891840829976481958662293516337894914250369127381041255714306341045516288807102900892480925667632456813062315576252274574057808965809283722233296555864225845533183522173284418051643984210736349359184091159532038611312456560079920058798776677723370205999569385311935739756151424182214561530774601912038779992928187983057960289806195670760318775095183193792522543935102195327271733380610789800407173970163647595172381628024383309947344865200099631651947331429038714933434521807052324247980982302692121880524521525896894859883633555269946216608446562296733083718041604127432109309478173093672239937512044956091400079502518193891493464864117625455024287997048077643468980517208555806978638390407112741279239064379313856105888461191220350571750655459231506944859605762561282 5460464225743236785154163357320405510243662600675171127973696007235038124040357756145762596053732832429185056832376696894654666661270082549730051265568961313319734668744773235348639740278626382951848385062931164795081745277277645308970745580057512740490695024342418947643206190402504624786579995507771484124626189538954246244123011987614034995879082838707222065358663455352125983897310290716839155775782072484657299634934412338519654907778175798963485742723004741950998010246622222674444439613677154788867707411191491562221807619178860348875150153366348123158000181452300707909836579771446537344997955525213978581977058624797113593871460202869708174078520460973789299790837708453283704806372584509188583213294067332563154744460061407949216795347890989496141197516716238755629588245592760394378139801258471761 8835216711605435671201591457991418681088554441505147609932358300751376018954608125273143637309447138770230573121183799795547147586937715006543113581145213587893792477710582519070873036834490608797381568585104449213133389261488381658329929671217044779102007480902498867702004967080227994992579564893083419864382340963136460805653786589526073775872011026690280025648469651022886302672405473910631678319717174679984571368315023128320062081748339446558658124351029125260945355111822322306096386945106193503801141932998543886469788601481552470755674674892245018017883815007570654126445026333743270428715997129341410691286536797890785833808972247825799574158022979167680793255701826078738729094369632586832052193811275888370133382850468520690496034412270303352247085977907459106201338901051991901322999407021033043 14295680937348672456355754815311824191332217042180318737906054307986414142994965881418906233363179971199415629953560496690201814248207797556273164846714174901213527146455355754419512777113116991749229953648035614008215134538766026967300675251274557519592702505244917815345211157482732619779159560400854903989008530502090707049776798577140108771751093865397502091007133106375012286569715764627470834095499247164641871003249435466839716989526515245522143867074033867211943365358444544980540826558783348292668849344190035448691596220660412819630824828258593141175883996459871362036281606105189807773713952654555389273263595422687899427680432450695507748236543440141470093046539534532022433900742217096020635407105343220933288127310529928639712829760161292848388283494623697861830927146644752295701139208279504804 23130897648954108127557346273303242872420771483685466347838412608737790161949574006692049870672627109969646203074744296485748961835145512562816278427859388489107319624165938273490385813947607600546611522233140063221348523800254408625630604922491602298694709986147416683047216124562960614771739125293938323853390871465227167855430585166666182547623104892087782116655602757397898589242121238538102512415216421844626442371564458595159779071274854692080801991425062992472888720470266867286637213503889541796469991277188579335161384822141965290386499503150838159193767811467442016162726632438933078202429949783896799964550132220578685261489404698521307322394566419309150886302241360610761162995111849682852687600916619109303421510160998449330208864172431596200635369472531156968032266047696744197024138615300537847 37426578586302780583913101088615067063752988525865785085744466916724204304944539888110956104035807081169061833028304793175950776083353310119089443274573563390320846770621294027909898591060724592295841475881175677229563658339020435592931280173766159818287412491392334498392427282045693234550898685694793227842399401967317874905207383743806291319374198757485284207662735863772910875811837003165573346510715669009268313374813894061999496060801369937602945858499096859684832085828711412267178040062672890089138840621378614783852981042802378110017324331409431300369651807927313378199008238544122885976143902438452189237813727643266584689169837149216815070631109859450620979348780895142783596895854066778873323008021962330236709637471528377969921693932592889049023652967154854829863193194341496492725277823580042651 60557476235256888711470447361918309936173760009551251433582879525461994466894113894803005974708434191138708036103049089661699737918498822681905721702432951879428166394787232301400284405008332192842452998114315740450912182139274844218561885096257762116982122477539751181439643406608653849322637810988731551695790273432545042760637968910472473866997303649573066324318338621170809465053958241703675858925932090853894755746378352657159275132076224629683747849924159852157720806298978279553815253566562431885608831898567194119014365864944343400403823834560269459563419619394755394361734870983055964178573852222348989202363859863845269950659241847738122393025676278759771865651022255753544759890965916461726010608938581439540131147632526827300130558105024485249659022439686011797895459242038240689749416438880580498 97984054821559669295383548450533376999926748535417036519327346442186198771838653782913962078744241272307769869131353882837650514001852132800995164977006515269749013165408526329310182996069056785138294473995491417680475840478295279811493165270023921935269534968932085679832070688654347083873536496683524779538189675399862917665845352654278765186371502407058350531981074484943720340865795244869249205436647759863163069121192246719158771192877594567286693708423256711842552892127689691820993293629235321974747672519945808902867346907746721510421148165969700759933071427322068772560743109527178850154717754660801178440177587507111854639829078996954937463656786138210392844999803150896328356786819983240599333616960543769776840785104055205270052252037617374298682675406840866627758652436379737182474694262460623149 158541531056816558006853995812451686936100508544968287952910225967648193238732767677716968053452675463446477905234402972499350251920350955482900886679439467149177179560195758630710467401077388977980747472109807158131388022617570124030055050366281684052251657446471836861271714095263000933196174307672256331233979948832407960426483321564751239053368806056631416856299413106114529805919753486572925064362579850717057824867570599376318046324953819196970441558347416564000273698426667971374808547195797753860356504418513003021881712772691064910824972000529970219496491046716824166922477980510234814333291606883150167642541447370957124590488320844693059856682462416970164710650825406649873116677785899702325344225899125209316971932736582032570182810142641859548341697846526878425654111678417977872224110701341203647 256525585878376227302237544262985063936027257080385324472237572409834392010571421460630930132196916735754247774365756855337000765922203088283896051656445982418926192725604284960020650397146445763119041946105298575811863863095865403841548215636305605987521192415403922541103784783917348017069710804355781110772169624232270878092328674219030004239740308463689767388280487591058250146785548731442174269799227610580220893988762846095476817517831413764257135266770673275842826590554357663195801840825033075835104176938458811924749059680437786421246120166499670979429562474038892939483221090037413664488009361543951346082719034878068979230317399841647997320339248555180557555650628557546201473464605882942924677842859668979093812717840637237840235062180259233847024373253367745053412764114797715054698804963801826796 415067116935192785309091540075436750872127765625353612425147798377482585249304189138347898185649592199200725679600159827836351017842554043766796938335885449568103372285800043590731117798223834741099789418215105733943251885713435527871603266002587290039772849861875759402375498879180348950265885112028037442006149573064678838518811995783781243293109114520321184244579900697172779952705302218015099334161807461297278718856333445471794863842785232961227576825118089839843100288981025634570610388020830829695460681356971814946630772453128851332071092167029641198926053520755717106405699070547648478821300968427101513725260482249026103820805720686341057177021710972150722266301453964196074590142391782645250022068758794188410784650577219270410417872322901093395366071099894623479066875793215692926922915665143030443 671592702813569012611329084338421814808155022705738936897385370787316977259875610598978828317846508934954973453965916683173351783764757132050692989992331431987029565011404328550751768195370280504218831364320404309755115748809300931713151481638892896027294042277279681943479283663097696967335595916383818552778319197296949716611140670002811247532849422984010951632860388288231030099490850949457273603961035071877499612845096291567271681360616646725484712091888763115685926879535383297766412228845863905530564858295430626871379832133566637753317212333529312178355615994794610045888920160585062143309310329971052859807979517127095083051123120527989054497360959527331279821952082521742276063606997665588174699911618463167504597368417856508250652934503160327242390444353262368532479639908013407981621720628944857239 1086659819748761797920420624413858565680282788331092549322533169164799562509179799737326726503496101134155699133566076511009702801607311175817489928328216881555132937297204372141482885993594115245318620782535510043698367634522736459584754747641480186067066892139155441345854782542278045917601481028411855994784468770361628555129952665786592490825958537504332135877440288985403810052196153167472372938122842533174778331701429737039066545203401879686712288917006852955529027168516408932337022616866694735226025539652402441818010604586695489085388304500558953377281669515550327152294619231132710622130611298398154373533239999376121186871928841214330111674382670499482002088253536485938350653749389448233424721980377257355915382018995075778661070806826061420637756515453156992011546515701229100908544636294087887682 1758252522562330810531749708752280380488437811036831486219918539952116539769055410336305554821342610069110672587531993194183054585372068307868182918320548313542162502308608700692234654188964395749537452146855914353453483383332037391297906229280373082094360934416435123289334066205375742884937076944795674547562787967658578271741093335789403738358807960488343087510300677273634840151687004116929646542083877605052277944546526028606338226564018526412197001008895616071214954048051792230103434845712558640756590397947833068689390436720262126838705516834088265555637285510344937198183539391717772765439921628369207233341219516503216269923051961742319166171743630026813281910205619007680626717356387113821599421891995720523419979387412932286911723741329221747880146959806419360544026155609242508890166356923032744921 2844912342311092608452170333166138946168720599367924035542451709116916102278235210073632281324838711203266371721098069705192757386979379483685672846648765195097295439605813072833717540182558510994856072929391424397151851017854773850882660976921853268161427826555590564635188848747653788802538557973207530542347256738020206826871046001575996229184766497992675223387740966259038650203883157284402019480206720138227056276247955765645404771767420406098909289925902469026743981216568201162440457462579253375982615937600235510507401041306957615924093821334647218932918955025895264350478158622850483387570532926767361606874459515879337456794980802956649277846126300526295283998459155493618977371105776562055024143872372977879335361406408008065572794548155283168517903475259576352555572671310471609798710993217120632603 4603164864873423418983920041918419326657158410404755521762370249069032642047290620409937836146181321272377044308630062899375811972351447791553855764969313508639457941914421773525952194371522906744393525076247338750605334401186811242180567206202226350255788760972025687924522914953029531687475634918003205089910044705678785098612139337365399967543574458481018310898041643532673490355570161401331666022290597743279334220794481794251742998331438932511106290934798085097958935264619993392543892308291812016739206335548068579196791478027219742762799338168735484488556240536240201548661698014568256153010454555136568840215679032382553726718032764698968444017869930553108565908664774501299604088462163675876623565764368698402755340793820940352484518289484504916398050435065995713099598826919714118688877350140153377524 7448077207184516027436090375084558272825879009772679557304821958185948744325525830483570117471020032475643416029728132604568569359330827275239528611618078703736753381520234846359669734554081417739249598005638763147757185419041585093063228183124079618417216587527616252559711763700683320490014192891210735632257301443698991925483185338941396196728340956473693534285782609791712140559453318685733685502497317881506390497042437559897147770098859338610015580860700554124702916481188194554984349770871065392721822273148304089704192519334177358686893159503382703421475195562135465899139856637418739540580987481903930447090138548261891183513013567655617721863996231079403849907123929994918581459567940237931647709636741676282090702200228948418057312837639788084915953910325572065655171498230185728487588343357274010127 12051242072057939446420010417002977599483037420177435079067192207254981386372816450893507953617201353748020460338358195503944381331682275066793384376587392212376211323434656619885621928925604324483643123081886101898362519820228396335243795389326305968673005348499641940484234678653712852177489827809213940722167346149377777024095324676306796164271915414954711845183824253324385630915023480087065351524787915624785724717836919354148890768430298271121121871795498639222661851745808187947528242079162877409461028608696372668900983997361397101449692497672118187910031436098375667447801554651986995693591442037040499287305817580644444910231046332354586165881866161632512415815788704496218185548030103913808271275401110374684846042994049888770541831127124293001314004345391567778754770325149899847176465693497427387651 19499319279242455473856100792087535872308916429950114636372014165440930130698342281377078071088221386223663876368086328108512950691013102342032912988205470916112964704954891466245291663479685742222892721087524865046119705239269981428307023572450385587090221936027258193043946442354396172667504020700424676354424647593076768949578510015248192361000256371428405379469606863116097771474476798772799037027285233506292115214879356914046038538529157609731137452656199193347364768226996382502512591850033942802182850881844676758605176516695574460136585657175500891331506631660511133346941411289405735234172429518944429734395956128906336093744059900010203887745862392711916265722912634491136767007598044151739918985037852050966936745194278837188599143964764081086229958255717139844409941823380085575664054036854701397778 31550561351300394920276111209090513471791953850127549715439206372695911517071158732270586024705422739971684336706444523612457332022695377408826297364792863128489176028389548086130913592405290066706535844169410966944482225059498377763550818961776691555763227284526900133528181121008109024844993848509638617076591993742454545973673834691554988525272171786383117224653431116440483402389500278859864388552073149131077839932716276268194929306959455880852259324451697832570026619972804570450040833929196820211643879490541049427506160514056971561586278154847619079241538067758886800794742965941392730927763871555984929021701773709550781003975106232364790053627728554344428681538701338987354952555628148065548190260438962425651782788188328725959140975091888374087543962601108707623164712148529985422840519730352128785429 51049880630542850394132212001178049344100870280077664351811220538136841647769501013647664095793644126195348213074530851720970282713708479750859210352998334044602140733344439552376205255884975808929428565256935831990601930298768359191857842534227077142853449220554158326572127563362505197512497869210063293431016641335531314923252344706803180886272428157811522604123037979556581173863977077632663425579358382637369955147595633182240967845488613490583396777107897025917391388199800952952553425779230763013826730372385726186111337030752546021722863812023119970573044699419397934141684377230798466161936301074929358756097729838457117097719166132374993941373590947056344947261613973478491719563226192217288109245476814476618719533382607563147740119056652455173773920856825847467574653971910070998504573767206830183207 82600441981843245314408323210268562815892824130205214067250426910832753164840659745918250120499066866167032549780975375333427614736403857159685507717791197173091316761733987638507118848290265875635964409426346798935084155358266736955408661496003768698616676505081058460100308684370614222357491717719701910507608635077985860896926179398358169411544599944194639828776469095997064576253477356492527814131431531768447795080311909450435897152448069371435656101559594858487418008172605523402594259708427583225470609862926775613617497544809517583309141966870739049814582767178284734936427343172191197089700172630914287777799503548007898101694272364739783995001319501400773628800315312465846672118854340282836299505915776902270502321570936289106881094148540829261317883457934555090739366120440056421345093497558958968636 133650322612386095708540535211446612159993694410282878419061647448969594812610160759565914216292710992362380762855506227054397897450112336910544718070789531217693457495078427190883324104175241684565392974683282630925686085657035096147266504030230845841470125725635216786672436247733119419869989586929765203938625276413517175820178524105161350297817028102006162432899507075553645750117454434125191239710789914405817750227907542632676864997936682862019052878667491884404809396372406476355147685487658346239297340235312501799728834575562063605032005778893859020387627466597682669078111720402989663251636473705843646533897233386465015199413438497114777936374910448457118576061929285944338391682080532500124408751392591378889221854953543852254621213205193284435091804314760402558314020092350127419849667264765789151843 216250764594229341022948858421715174975886518540488092486312074359802347977450820505484164336791777858529413312636481602387825512186516194070230225788580728390784774256812414829390442952465507560201357384109629429860770241015301833102675165526234614540086802230716275246772744932103733642227481304649467114446233911491503036717104703503519519709361628046200802261675976171550710326370931790617719053842221446174265545308219452083112762150384752233454708980227086742892227404545011999757741945196085929464767950098239277413346332120371581188341147745764598070202210233775967404014539063575180860341336646336757934311696736934472913301107710861854561931376229949857892204862244598410185063800934872782960708257308368281159724176524480141361502307353734113696409687772694957649053386212790183841194760762324748120479 349901087206615436731489393633161787135880212950770970905373721808771942790060981265050078553084488850891794075491987829442223409636628530980774943859370259608478231751890842020273767056640749244766750358792912060786456326672336929249941669556465460381556927956351492033445181179836853062097470891579232318384859187905020212537283227608680870007178656148206964694575483247104356076488386224742910293553011360580083295536126994715789627148321435095473761858894578627297036800917418476112889630683744275704065290333551779213075166695933644793373153524658457090589837700373650073092650783978170523592973120042601580845593970320937928500521149358969339867751140398315010780924173884354523455483015405283085117008700959660048946031478023993616123520558927398131501492087455360207367406305140311261044428027090537272322 566151851800844777754438252054876962111766731491259063391685796168574290767511801770534242889876266709421207388128469431830048921823144725051005169647950987999263006008703256849664210009106256804968107742902541490647226567687638762352616835082700074921643730187067767280217926111940586704324952196228699432831093099396523249254387931112200389716540284194407766956251459418655066402859318015360629347395232806754348840844346446798902389298706187328928470839121665370189264205462430475870631575879830205168833240431791056626421498816305225981714301270423055160792047934149617477107189847553351383934309766379359515157290707255410841801628860220823901799127370348172902985786418482764708519283950278066045825266009327941208670208002504134977625827912661511827911179860150317856420792517930495102239188789415285392801 916052939007460214485927645688038749247646944442030034297059517977346233557572783035584321442960755560313001463620457261272272331459773256031780113507321247607741237760594098869937977065747006049734858101695453551433682894359975691602558504639165535303200658143419259313663107291777439766422423087807931751215952287301543461791671158720881259723718940342614731650826942665759422479347704240103539640948244167334432136380473441514692016447027622424402232698016243997486301006379848951983521206563574480872898530765342835839496665512238870775087454795081512251381885634523267550199840631531521907527282886421961096002884677576348770302150009579793241666878510746487913766710592367119231974766965683349130942274710287601257616239480528128593749348471588909959412671947605678063788198823070806363283616816505822665123 1482204790808304992240365897742915711359413675933289097688745314145920524325084584806118564332837022269734208851748926693102321253282917981082785283155272235607004243769297355719602187074853262854702965844597995042080909462047614453955175339721865610224844388330487026593881033403718026470747375284036631184047045386698066711046059089833081649440259224537022498607078402084414488882207022255464168988343476974088780977224819888313594405745733809753330703537137909367675565211842279427854152782443404686041731771197133892465918164328544096756801756065504567412173933568672885027307030479084873291461592652801320611160175384831759612103778869800617143466005881094660816752497010849883940494050915961415176767540719615542466286447483032263571375176384250421787323851807755995920208991341001301465522805605921108057924 2398257729815765206726293543430954460607060620375319131985804832123266757882657367841702885775797777830047210315369383954374593584742691237114565396662593483214745481529891454589540164140600268904437823946293448593514592356407590145557733844361031145528045046473906285907544140695495466237169798371844562935262997673999610172837730248553962909163978164879637230257905344750173911361554726495567708629291721141423213113605293329828286422192761432177732936235154153365161866218222128379837673989006979166914630301962476728305414829840782967531889210860586079663555819203196152577506871110616395198988875539223281707163060062408108382405928879380410385132884391841148730519207603217003172468817881644764307709815429903143723902686963560392165124524855839331746736523755361673983997190164072107828806422422426930723047 3880462520624070198966659441173870171966474296308608229674550146269187282207741952647821450108634800099781419167118310647476914838025609218197350679817865718821749725299188810309142351215453531759140789790891443635595501818455204599512909184082896755752889434804393312501425174099213492707917173655881194119310043060697676883883789338387044558604237389416659728864983746834588400243761748751031877617635198115511994090830113218141880827938495241931063639772292062732837431430064407807691826771450383852956362073159610620771332994169327064288690966926090647075729752771869037604813901589701268490450468192024602318323235447239867994509707749181027528598890272935809547271704614066887112962868797606179484477356149518686190189134446592655736499701240089753534060375563117669904206181505073409294329228028348038780971 6278720250439835405692952984604824632573534916683927361660354978392454040090399320489524335884432577929828629482487694601851508422768300455311916076480459202036495206829080264898682515356053800663578613737184892229110094174862794745070643028443927901280934481278299598408969314794708958945086972027725757054573040734697287056721519586941007467768215554296296959122889091584762311605316475246599586246926919256935207204435406547970167250131256674108796576007446216097999297648286536187529500760457363019870992375122087349076747824010110031820580177786676726739285571975065190182320772700317663689439343731247884025486295509647976376915636628561437913731774664776958277790912217283890285431686679250943792187171579421829914091821410153047901624226095929085280796899318479343888203371669145517123135650450774969504018 10159182771063905604659612425778694804540009212992535591334905124661641322298141273137345785993067378029610048649606005249328423260793909673509266756298324920858244932128269075207824866571507332422719403528076335864705595993317999344583552212526824657033823916082692910910394488893922451653004145683606951173883083795394963940605308925328052026372452943712956687987872838419350711849078223997631463864562117372447201295265519766112048078069751916039860215779738278830836729078350943995221327531907746872827354448281697969848080818179437096109271144712767373815015324746934227787134674290018932179889811923272486343809530956887844371425344377742465442330664937712767825062616831350777398394555476857123276664527728940516104280955856745703638123927336018838814857274881597013792409553174218926417464878479123008284989 16437903021503741010352565410383519437113544129676462952995260103054095362388540593626870121877499955959438678132093699851179931683562210128821182832778784122894740138957349340106507381927561133086298017265261228093815690168180794089654195240970752558314758397360992509319363803688631410598091117711332708228456124530092250997326828512269059494140668498009253647110761930004113023454394699244231050111489036629382408499700926314082215328201008590148656791787184494928836026726637480182750828292365109892698346823403785318924828642189547127929851322499444100554300896721999417969455446990336595869329155654520370369295826466535820748340981006303903356062439602489726102853529048634667683826242156108067068851699308362346018372777266898751539748153431947924095654174200076357680612924843364443540600528929897977789007 26597085792567646615012177836162214241653553342668998544330165227715736684686681866764215907870567333989048726781699705100508354944356119802330449589077109043752985071085618415314332248499068465509017420793337563958521286161498793434237747453497577215348582313443685420229758292582553862251095263394939659402339208325487214937932137437597111520513121441722210335098634768423463735303472923241862513976051154001829609794966446080194263406270760506188517007566922773759672755804988424177972155824272856765525701271685483288772909460368984224039122467212211474369316221468933645756590121280355528049218967577792856713105357423423665119766325384046368798393104540202493927916145879985445082220797632965190345516227037302862122653733123644455177872080767966762910511449081673371473022478017583369958065407409020986073996 43034988814071387625364743246545733678767097472345461497325425330769832047075222460391086029748067289948487404913793404951688286627918329931151632421855893166647725210042967755420839630426629598595315438058598792052336976329679587523891942694468329773663340710804677929549122096271185272849186381106272367630795332855579465935258965949866171014653789939731463982209396698427576758757867622486093564087540190631212018294667372394276478734471769096337173799354107268688508782531625904360722984116637966658224048095089268607697738102558531351968973789711655574923617118190933063726045568270692123918548123232313227082401183889959485868107306390350272154455544142692220030769674928620112766047039789073257414367926345665208141026510390543206717620234199914687006165623281749729153635402860947813498665936338918963863003 69632074606639034240376921082707947920420650815014460041655590558485568731761904327155301937618634623937536131695493110052196641572274449733482082010933002210400710281128586170735171878925698064104332858851936356010858262491178380958129690147965906989011923024248363349778880388853739135100281644501212027033134541181066680873191103387463282535166911381453674317308031466851040494061340545727956078063591344633041628089633818474470742140742529602525690806921030042448181538336614328538695139940910823423749749366774751896470647562927515576008096256923867049292933339659866709482635689551047651967767090810106083795506541313383150987873631774396640952848648682894713958685820808605557848267837422038447759884153382968070263680243514187661895492314967881449916677072363423100626657880878531183456731343747939949936999 112667063420710421865741664329253681599187748287359921538981015889255400778837126787546387967366701913886023536609286515003884928200192779664633714432788895377048435491171553926156011509352327662699648296910535148063195238820857968482021632842434236762675263735053041279328002485124924407949468025607484394663929874036646146808450069337329453549820701321185138299517428165278617252819208168214049642151131535264253646384301190868747220875214298698862864606275137311136690320868240232899418124057548790081973797461864020504168385665486046927977070046635522624216550457850799773208681257821739775886315214042419310877907725203342636855980938164746913107304192825586933989455495737225670614314877211111705174252079728633278404706753904730868613112549167796136922842695645172829780293283739478996955397280086858913800002 182299138027349456106118585411961629519608399102374381580636606447740969510599031114701689904985336537823559668304779625056081569772467229398115796443721897587449145772300140096891183388278025726803981155762471504074053501312036349440151322990400143751687186759301404629106882873978663543049749670108696421697064415217712827681641172724792736084987612702638812616825459632129657746880548713942005720214722879897295274473935009343217963015956828301388555413196167353584871859204854561438113263998459613505723546828638772400639033228413562503985166303559389673509483797510666482691316947372787427854082304852525394673414266516725787843854569939143554060152841508481647948141316545831228462582714633150152934136233111601348668386997418918530508604864135677586839519768008595930406951164618010180412128623834798863737001 294966201448059877971860249741215311118796147389734303119617622336996370289436157902248077872352038451709583204914066140059966497972660009062749510876510792964497581263471694023047194897630353389503629452673006652137248740132894317922172955832834380514362450494354445908434885359103587950999217695716180816360994289254358974490091242062122189634808314023823950916342887797408274999699756882156055362365854415161548920858236200211965183891171127000251420019471304664721562180073094794337531388056008403587697344290502792904807418893899609431962236350194912297726034255361466255899998205194527203740397518894944705551321991720068424699835508103890467167457034334068581937596812283056899076897591844261858108388312840234627073093751323649399121717413303473723762362463653768760187244448357489177367525903921657777537003 477265339475409334077978835153176940638404546492108684700254228784737339800035189016949767777337374989533142873218845765116048067745127238460865307320232690551946727035771834119938378285908379116307610608435478156211302241444930667362324278823234524266049637253655850537541768233082251494048967365824877238058058704472071802171732414786914925719795926726462763533168347429537932746580305596098061082580577295058844195332171209555183146907127955301639975432667472018306434039277949355775644652054468017093420891119141565305446452122313171935947402653754301971235518052872132738591315152567314631594479823747470100224736258236794212543690078043034021227609875842550229885738128828888127539480306477412011042524545951835975741480748742567929630322277439151310601882231662364690594195612975499357779654527756456641274004 772231540923469212049839084894392251757200693881842987819871851121733710089471346919197845649689413441242726078132911905176014565717787247523614818196743483516444308299243528142985573183538732505811240061108484808348550981577824985284497234656068904780412087748010296445976653592185839445048185061541058054419052993726430776661823656849037115354604240750286714449511235226946207746280062478254116444946431710220393116190407409767148330798299082301891395452138776683027996219351044150113176040110476420681118235409644358210253871016212781367909639003949214268961552308233598994491313357761841835334877342642414805776058249956862637243525586146924488395066910176618811823334941111945026616377898321673869150912858792070602814574500066217328752039690742625034364244695316133450781440061332988535147180431678114418811007 1249496880398878546127817920047569192395605240373951672520126079906471049889506535936147613427026788430775868951351757670292062633462914485984480125516976174068391035335015362262923951469447111622118850669543962964559853223022755652646821513479303429046461725001666146983518421825268090939097152427365935292477111698198502578833556071635952041074400167476749477982679582656484140492860368074352177527527009005279237311522578619322331477705427037603531370884806248701334430258628993505888820692164944437774539126528785923515700323138525953303857041657703516240197070361105731733082628510329156466929357166389884906000794508193656849787215664189958509622676786019169041709073069940833154155858204799085880193437404743906578556055248808785258382361968181776344966126926978498141375635674308487892926834959434571060085011 2021728421322347758177657004941961444152805934255794660339997931028204759978977882855345459076716201872018595029484669575468077199180701733508094943713719657584835343634258890405909524652985844127930090730652447772908404204600580637931318748135372333826873812749676443429495075417453930384145337488906993346896164691924933355495379728484989156429004408227036192432190817883430348239140430552606293972473440715499630427712986029089479808503726119905422766336945025384362426477980037656001996732275420858455657361938430281725954194154738734671766680661652730509158622669339330727573941868090998302264234509032299711776852758150519487030741250336882998017743696195787853532408011052778180772236103120759749344350263535977181370629748875002587134401658924401379330371622294631592157075735641476428074015391112685478896018 3271225301721226304305474924989530636548411174629746332860124010934675809868484418791493072503742990302794463980836427245760139832643616219492575069230695831653226378969274252668833476122432955750048941400196410737468257427623336290578140261614675762873335537751342590413013497242722021323242489916272928639373276390123435934328935800120941197503404575703785670414870400539914488732000798626958471500000449720778867739235564648411811286209153157508954137221751274085696856736609031161890817424440365296230196488467216205241654517293264687975623722319356246749355693030445062460656570378420154769193591675422184617777647266344176336817956914526841507640420482214956895241481080993611334928094307919845629537787668279883759926684997683787845516763627106177724296498549273129733532711409949964321000850350547256538981029 5292953723043574062483131929931492080701217108885540993200121941962880569847462301646838531580459192174813059010321096821228217031824317953000670012944415489238061722603533143074743000775418799877979032130848858510376661632223916928509459009750048096700209350501019033842508572660175951707387827405179921986269441082048369289824315528605930353932408983930821862847061218423344836971141229179564765472473890436278498166948550677501291094712879277414376903558696299470059283214589068817892814156715786154685853850405646486967608711448003422647390402981008977258514315699784393188230512246511153071457826184454484329554500024494695823848698164863724505658164178410744748773889092046389515700330411040605378882137931815860941297314746558790432651165286030579103626870171567761325689787145591440749074865741659942017877047 8564179024764800366788606854921022717249628283515287326060245952897556379715946720438331604084202182477607522991157524066988356864467934172493245082175111320891288101572807395743576476897851755628027973531045269247844919059847253219087599271364723859573544888252361624255522069902897973030630317321452850625642717472171805224153251328726871551435813559634607533261931618963259325703142027806523236972474340157057365906184115325913102380922032434923331040780447573555756139951198099979783631581156151450916050338872862692209263228741268110623014125300365224007870008730229455648887082624931307840651417859876668947332147290838872160666655079390566013298584660625701644015370173040000850628424718960451008419925600095744701223999744242578278167928913136756827923368720840891059222498555541405070075716092207198556858076 13857132747808374429271738784852514797950845392400828319260367894860436949563409022085170135664661374652420582001478620888216573896292252125493915095119526810129349824176340538818319477673270555506007005661894127758221580692071170147597058281114771956273754238753380658098030642563073924738018144726632772611912158554220174513977566857332801905368222543565429396108992837386604162674283256986088002444948230593335864073132666003414393475634911712337707944339143873025815423165787168797676445737871937605601904189278509179176871940189271533270404528281374201266384324430013848837117594871442460912109244044331153276886647315333567984515353244254290518956748839036446392789259265086390366328755130001056387302063531911605642521314490801368710819094199167335931550238892408652384912285701132845819150581833867140574735123 22421311772573174796060345639773537515200473675916115645320613847757993329279355742523501739748863557130028104992636144955204930760760186297987160177294638131020637925749147934561895954571122311134034979192939397006066499751918423366684657552479495815847299127005742282353552712465971897768648462048085623237554876026391979738130818186059673456804036103200036929370924456349863488377425284792611239417422570750393229979316781329327495856556944147261038985119591446581571563116985268777460077319028089056517954528151371871386135168930539643893418653581739425274254333160243304486004677496373768752760661904207822224218794606172440145182008323644856532255333499662148036804629438126391216957179848961507395721989132007350343745314235043946988987023112304092759473607613249543444134784256674250889226297926074339131593199 36278444520381549225332084424626052313151319068316943964580981742618430278842764764608671875413524931782448686994114765843421504657052438423481075272414164941149987749925488473380215432244392866640041984854833524764288080443989593514281715833594267772121053365759122940451583355029045822506666606774718395849467034580612154252108385043392475362172258646765466325479917293736467651051708541778699241862370801343729094052449447332741889332191855859598746929458735319607386986282772437575136523056900026662119858717429881050563007109119811177163823181863113626540638657590257153323122272367816229664869905948538975501105441921506008129697361567899147051212082338698594429593888703212781583285934978962563783024052663918955986266628725845315699806117311471428691023846505658195829047069957807096708376879759941479706328322 58699756292954724021392430064399589828351792744233059609901595590376423608122120507132173615162388488912476791986750910798626435417812624721468235449708803072170625675674636407942111386815515177774076964047772921770354580195908016880966373386073763587968352492764865222805136067495017720275315068822804019087021910607004133990239203229452148818976294749965503254850841750086331139429133826571310481279793372094122324031766228662069385188748800006859785914578326766188958549399757706352596600375928115718637813245581252921949142278050350821057241835444853051814892990750500457809126949864189998417630567852746797725324236527678448274879369891544003583467415838360742466398518141339172800243114827924071178746041795926306330011942960889262688793140423775521450497454118907739273181854214481347597603177686015818837921521 94978200813336273246724514489025642141503111812550003574482577332994853886964885271740845490575913420694925478980865676642047940074865063144949310722122968013320613425600124881322326819059908044414118948902606446534642660639897610395248089219668031360089405858523988163256719422524063542781981675597522414936488945187616288242347588272844624181148553396730969580330759043822798790480842368350009723142164173437851418084215675994811274520940655866458532844037062085796345535682530143927733123432828142380757671963011133972512149387170161998221065017307966678355531648340757611132249222232006228082500473801285773226429678449184456404576731459443150634679498177059336895992406844551954383529049806886634961770094459845262316278571686734578388599257735246950141521300624565935102228924172288444305980057445957298544249843 153677957106290997268116944553425231969854904556783063184384172923371277495087005778873019105738301909607402270967616587440674375492677687866417546171831771085491239101274761289264438205875423222188195912950379368304997240835805627276214462605741794948057758351288853386061855490019081263057296744420326434023510855794620422232586791502296773000124848146696472835181600793909129929909976194921320204421957545531973742115981904656880659709689455873318318758615388851985304085082287850280329723808756258099395485208592386894461291665220512819278306852752819730170424639091258068941376172096196226500131041654032570951753914976862904679456101350987154218146914015420079362390924985891127183772164634810706140516136255771568646290514647623841077392398159022471592018754743473674375410778386769791903583235131973117382171364 248656157919627270514841459042450874111358016369333066758866750256366131382051891050613864596314215330302327749948482264082722315567542751011366856893954739098811852526874886170586765024935331266602314861852985814839639901475703237671462551825409826308147164209812841549318574912543144805839278420017848848959999800982236710474934379775141397181273401543427442415512359837731928720390818563271329927564121718969825160200197580651691934230630111739776851602652450937781649620764817994208062847241584400480153157171603520866973441052390674817499371870060786408525956287432015680073625394328202454582631515455318344178183593426047361084032832810430304852826412192479416258383331830443081567301214441697341102286230715616830962569086334358419465991655894269421733540055368039609477639702559058236209563292577930415926421207 402334115025918267782958403595876106081212920926116129943250923179737408877138896829486883702052517239909730020916098851523396691060220438877784403065786510184303091628149647459851203230810754488790510774803365183144637142311508864947677014431151621256204922561101694935380430402562226068896575164438175282983510656776857132707521171277438170181398249690123915250693960631641058650300794758192650131986079264501798902316179485308572593940319567613095170361267839789766953705847105844488392571050340658579548642380195907761434732717611187636777678722813606138696380926523273749015001566424398681082762557109350915129937508402910265763488934161417459070973326207899495620774256816334208751073379076508047242802366971388399608859600981982260543384054053291893325558810111513283853050480945828028113146527709903533308592571 650990272945545538297799862638326980192570937295449196702117673436103540259190787880100748298366732570212057770864581115606119006627763189889151259959741249283114944155024533630437968255746085755392825636656350997984277043787212102619139566256561447564352086770914536484699005315105370874735853584456024131943510457759093843182455551052579567362671651233551357666206320469372987370691613321463980059550200983471624062516377065960264528170949679352872021963920290727548603326611923838696455418291925059059701799551799428628408173770001862454277050592874392547222337213955289429088626960752601135665394072564669259308121101828957626847521766971847763923799738400378911879157588646777290318374593518205388345088597687005230571428687316340680009375709947561315059098865479552893330690183504886264322709820287833949235013778 1053324387971463806080758266234203086273783858221565326645368596615840949136329684709587632000419249810121787791780679967129515697687983628766935663025527759467418035783174181090289171486556840244183336411459716181128914186098720967566816580687713068820557009332016231420079435717667596943632428748894199414927021114535950975889976722330017737544069900923675272916900281101014046020992408079656630191536280247973422964832556551268837122111269246965967192325188130517315557032459029683184847989342265717639250441931995336389842906487613050091054729315687998685918718140478563178103628527176999816748156629674020174438058610231867892611010701133265222994773064608278407499931845463111499069447972594713435587890964658393630180288288298322940552759764000853208384657675591066177183740664450714292435856347997737482543606349 1704314660917009344378558128872530066466354795517014523347486270051944489395520472589688380298785982380333845562645261082735634704315746818656086922985269008750532979938198714720727139742302925999576162048116067179113191229885933070185956146944274516384909096102930767904778441032772967818368282333350223546870531572295044819072432273382597304906741552157226630583106601570387033391684021401120610251086481231445047027348933617229101650282218926318839214289108421244864160359070953521881303407634190776698952241483794765018251080257614912545331779908562391233141055354433852607192255487929600952413550702238689433746179712060825519458532468105112986918572803008657319379089434109888789387822566112918823932979562345398860751716975614663620562135473948414523443756541070619070514430847955600556758566168285571431778620127 2757639048888473150459316395106733152740138653738579849992854866667785438531850157299276012299205232190455633354425941049865150402003730447423022586010796768217951015721372895811016311228859766243759498459575783360242105415984654037752772727631987585205466105434946999324857876750440564762000711082244422961797552686830995794962408995712615042450811453080901903500006882671401079412676429480777240442622761479418469992181490168497938772393488173284806406614296551762179717391529983205066151396976456494338202683415790101408093986745227962636386509224250389919059773494912415785295884015106600769161707331912709608184238322292693412069543169238378209913345867616935726879021279573000288457270538707632259520870527003792490932005263912986561114895237949267731828414216661685247698171512406314849194422516283308914322226476 4461953709805482494837874523979263219206493449255594373340341136719729927927370629888964392597991214570789478917071202132600785106319477266079109508996065776968483995659571610531743450971162692243335660507691850539355296645870587107938728874576262101590375201537877767229636317783213532580368993415594646508668084259126040614034841269095212347357553005238128534083113484241788112804360450881897850693709242710863517019530423785727040422675707099603645620903404973007043877750600936726947454804610647271037154924899584866426345067002842875181718289132812781152200828849346268392488139503036201721575258034151399041930418034353518931528075637343491196831918670625593046258110713682889077845093104820551083453850089349191351683722239527650181677030711897682255272170757732304318212602360361915405952988684568880346100846603 7219592758693955645297190919085996371946632102994174223333196003387515366459220787188240404897196446761245112271497143182465935508323207713502132095006862545186435011380944506342759762200022458487095158967267633899597402061855241145691501602208249686795841306972824766554494194533654097342369704497839069470465636945957036408997250264807827389808364458319030437583120366913189192217036880362675091136332004190281987011711913954224979195069195272888452027517701524769223595142130919932013606201587103765375357608315374967834439053748070837818104798357063171071260602344258684177784023518142802490736965366064108650114656356646212343597618806581869406745264538242528773137131993255889366302363643528183342974720616352983842615727503440636742791925949846949987100584974393989565910773872768230255147411200852189260423073079 11681546468499438140135065443065259591153125552249768596673537140107245294386591417077204797495187661332034591188568345315066720614642684979581241604002928322154919007040516116874503213171185150730430819474959484438952698707725828253630230476784511788386216508510702533784130512316867629922738697913433715979133721205083077023032091533903039737165917463557158971666233851154977305021397331244572941830041246901145504031242337739952019617744902372492097648421106497776267472892731856658961061006197751036412512533214959834260784120750913712999823087489875952223461431193604952570272163021179004212312223400215507692045074390999731275125694443925360603577183208868121819395242706938778444147456748348734426428570705702175194299449742968286924468956661744632242372755732126293884123376233130145661100399885421069606523919682 18901139227193393785432256362151255963099757655243942820006733143494760660845812204265445202392384108093279703460065488497532656122965892693083373699009790867341354018421460623217262975371207609217525978442227118338550100769581069399321732078992761475182057815483527300338624706850521727265108402411272785449599358151040113432029341798710867126974281921876189409249354218068166497238434211607248032966373251091427491042954251694176998812814097645380549675938808022545491068034862776590974667207784854801787870141530334802095223174498984550817927885846939123294722033537863636748056186539321806703049188766279616342159730747645943618723313250507230010322447747110650592532374700194667810449820391876917769403291322055159036915177246408923667260882611591582229473340706520283450034150105898375916247811086273258866946992761 30582685695692831925567321805216515554252883207493711416680270283602005955232403621342649999887571769425314294648633833812599376737608577672664615303012719189496273025461976740091766188542392759947956797917186602777502799477306897652951962555777273263568274323994229834122755219167389357187847100324706501428733079356123190455061433332613906864140199385433348380915588069223143802259831542851820974796414497992572995074196589434129018430559000017872647324359914520321758540927594633249935728213982605838200382674745294636356007295249898263817750973336815075518183464731468589318328349560500810915361412166495124034204805138645674893849007694432590613899630955978772411927617407133446254597277140225652195831862027757334231214626989377210591729839273336214471846096438646577334157526339028521577348210971694328473470912443 49483824922886225710999578167367771517352640862737654236687003427096766616078215825608095202279955877518593998108699322310132032860574470365747989002022510056837627043883437363309029163913600369165482776359413721116052900246887967052273694634770034738750332139477757134461379926017911084452955502735979286878332437507163303887090775131324773991114481307309537790164942287291310299498265754459069007762787749084000486117150841128306017243373097663253197000298722542867249608962457409840910395421767460639988252816275629438451230469748882814635678859183754198812905498269332226066384536099822617618410600932774740376364535886291618512572320944939820624222078703089423004459992107328114065047097532102569965235153349812493268129804235786134258990721884927796701319437145166860784191676444926897493596022057967587340417905204 80066510618579057636566899972584287071605524070231365653367273710698772571310619446950745202167527646943908292757333156122731409598183048038412604305035229246333900069345414103400795352455993129113439574276600323893555699724194864705225657190547308002318606463471986968584135145185300441640802603060685788307065516863286494342152208463938680855254680692742886171080530356514454101758097297310889982559202247076573481191347430562435035673932097681125844324658637063189008149890052043090846123635750066478188635491020924074807237764998781078453429832520569274331088963000800815384712885660323428533772013099269864410569341024937293406421328639372411238121709659068195416387609514461560319644374672328222161067015377569827499344431225163344850720561158264011173165533583813438118349202783955419070944233029661915813888817647 129550335541465283347566478139952058588958164932969019890054277137795539187388835272558840404447483524462502290866032478432863442458757518404160593307057739303171527113228851466709824516369593498278922350636014045009608599971082831757499351825317342741068938602949744103045515071203211526093758105796665075185397954370449798229242983595263454846369162000052423961245472643805764401256363051769958990321989996160573967308498271690741052917305195344379041324957359606056257758852509452931756519057517527118176888307296553513258468234747663893089108691704323473143994461270133041451097421760146046152182614032044604786933876911228911918993649584312231862343788362157618420847601621789674384691472204430792126302168727382320767474235460949479109711283043191807874484970728980298902540879228882316564540255087629503154306722851 209616846160044340984133378112536345660563689003200385543421550848494311758699454719509585606615011171406410583623365634555594852056940566442573197612092968549505427182574265570110619868825586627392361924912614368903164299695277696462725009015864650743387545066421731071629650216388511967734560708857350863492463471233736292571395192059202135701623842692795310132326003000320218503014460349080848972881192243237147448499845702253176088591237293025504885649615996669245265908742561496022602642693267593596365523798317477588065705999746444971542538524224892747475083424270933856835810307420469474685954627131314469197503217936166205325414978223684643100465498021225813837235211136251234704335846876759014287369184104952148266818666686112823960431844201455819047650504312793737020890082012837735635484488117291418968195540498 339167181701509624331699856252488404249521853936169405433475827986289850946088289992068426011062494695868912874489398112988458294515698084846733790919150707852676954295803117036820444385195180125671284275548628413912772899666360528220224360841181993484456483669371475174675165287591723493828318814654015938677861425604186090800638175654465590547993004692847734093571475644125982904270823400850807963203182239397721415808343973943917141508542488369883926974573356275301523667595070948954359161750785120714542412105614031101324174234494108864631647215929216220619077885541066898286907729180615520838137241163359073984437094847395117244408627807996874962809286383383432258082812758040909089027319081189806413671352832334469034292902147062303070143127244647626922135475041774035923430961241720052200024743204920922122502263349 548784027861553965315833234365024749910085542939369790976897378834784162704787744711578011617677505867275323458112763747544053146572638651289306988531243676402182381478377382606931064254020766753063646200461242782815937199361638224682949369857046644227844028735793206246304815503980235461562879523511366802170324896837922383372033367713667726249616847385643044225897478644446201407285283749931656936084374482634868864308189676197093230099779781395388812624189352944546789576337632444976961804444052714310907935903931508689389880234240553836174185740154108968094161309812000755122718036601084995524091868294673543181940312783561322569823606031681518063274784404609246095318023894292143793363165957948820701040536937286617301111568833175127030574971446103445969785979354567772944321043254557787835509231322212341090697803847 887951209563063589647533090617513154159607396875539196410373206821074013650876034703646437628740000563144236332602161860532511441088336736136040779450394384254859335774180499643751508639215946878734930476009871196728710099027998752903173730698228637712300512405164681420979980791571958955391198338165382740848186322442108474172671543368133316797609852078490778319468954288572184311556107150782464899287556722032590280116533650141010371608322269765272739598762709219848313243932703393931320966194837835025450348009545539790714054468734662700805832956083325188713239195353067653409625765781700516362229109458032617166377407630956439814232233839678393026084070787992678353400836652333052882390485039138627114711889769621086335404470980237430100718098690751072891921454396341808867752004496277840035533974527133263213200067196 1436735237424617554963366324982537904069692939814908987387270585655858176355663779415224449246417506430419559790714925608076564587660975387425347767981638060657041717252557882250682572893236713631798576676471113979544647298389636977586123100555275281940144541140957887667284796295552194416954077861676749543018511219280030857544704911081801043047226699464133822545366432933018385718841390900714121835371931204667459144424723326338103601708102051160661552222952062164395102820270335838908282770638890549336358283913477048480103934702975216536980018696237434156807400505165068408532343802382785511886320977752706160348317720414517762384055839871359911089358855192601924448718860546625196675753650997087447815752426706907703636516039813412557131293070136854518861707433750909581812073047750835627871043205849345604303897871043 2324686446987681144610899415600051058229300336690448183797643792476932190006539814118870886875157506993563796123317087468609076028749312123561388547432032444911901053026738381894434081532452660510533507152480985176273357397417635730489296831253503919652445053546122569088264777087124153372345276199842132283866697541722139331717376454449934359844836551542624600864835387221590570030397498051496586734659487926700049424541256976479113973316424320925934291821714771384243416064203039232839603736833728384361808631923022588270817989171709879237785851652320759345520639700518136061941969568164486028248550087210738777514695128045474202198288073711038304115442925980594602802119697198958249558144136036226074930464316476528789971920510793649987232011168827605591753628888147251390679825052247113467906577180376478867517097938239 3761421684412298699574265740582588962298993276505357171184914378132790366362203593534095336121575013423983355914032013076685640616410287510986736315413670505568942770279296264145116654425689374142332083828952099155818004695807272708075419931808779201592589594687080456755549573382676347789299354061518881826885208761002170189262081365531735402892063251006758423410201820154608955749238888952210708570031419131367508568965980302817217575024526372086595844044666833548638518884473375071747886507472618933698166915836499636750921923874685095774765870348558193502328040205683204470474313370547271540134871064963444937863012848459991964582343913582398215204801781173196527250838557745583446233897787033313522746216743183436493608436550607062544363304238964460110615336321898160972491898099997949095777620386225824471820995809282 6086108131399979844185165156182640020528293613195805354982558170609722556368743407652966222996732520417547152037349100545294716645159599634548124862845702950480843823306034646039550735958142034652865590981433084332091362093224908438564716763062283121245034648233203025843814350469800501161644630261361014110751906302724309520979457819981669762736899802549383024275037207376199525779636387003707295304690907058067557993507237279296331548340950693012530135866381604932881934948676414304587490244306347318059975547759522225021739913046394975012551722000878952847848679906201340532416282938711757568383421152174183715377707976505466166780631987293436519320244707153791130052958254944541695792041923069539597676681059659965283580357061400712531595315407792065702368965210045412363171723152245062563684197566602303339338093747521 9847529815812278543759430896765228982827286889701162526167472548742512922730947001187061559118307533841530507951381113621980357261569887145534861178259373456049786593585330910184667390383831408795197674810385183487909366789032181146640136694871062322837624242920283482599363923852476848950943984322879895937637115063726479710241539185513405165628963053556141447685239027530808481528875275955918003874722326189435066562473217582113549123365477065099125979911048438481520453833149789376335376751778966251758142463596021861772661836921080070787317592349437146350176720111884545002890596309259029108518292217137628653240720824965458131362975900875834734525046488326987657303796812690125142025939710102853120422897802843401777188793612007775075958619646756525812984301531943573335663621252243011659461817952828127811159089556803 15933637947212258387944596052947869003355580502896967881150030719352235479099690408840027782115040054259077659988730214167275073906729486780082986041105076406530630416891365556224218126341973443448063265791818267820000728882257089585204853457933345444082658891153486508443178274322277350112588614584240910048389021366450789231220997005495074928365862856105524471960276234907008007308511662959625299179413233247502624555980454861409880671706427758111656115777430043414402388781826203680922866996085313569818118011355544086794401749967475045799869314350316099198025400018085885535306879247970786676901713369311812368618428801470924298143607888169271253845291195480778787356755067634666837817981633172392718099578862503367060769150673408487607553935054548591515353266741988985698835344404488074223146015519430431150497183304324 25781167763024536931704026949713097986182867392598130407317503268094748401830637410027089341233347588100608167940111327789255431168299373925617847219364449862580417010476696466408885516725804852243260940602203451307910095671289270731844990152804407766920283134073769991042542198174754199063532598907120805986026136430177268941462536191008480093994825909661665919645515262437816488837386938915543303054135559436937691118453672443523429795071904823210782095688478481895922842614975993057258243747864279821576260474951565948567063586888555116587186906699753245548202120129970430538197475557229815785420005586449441021859149626436382429506583789045105988370337683807766444660551880324791979843921343275245838522476665346768837957944285416262683512554701305117328337568273932559034498965656731085882607833472258558961656272861127 41714805710236795319648623002660966989538447895495098288467533987446983880930327818867117123348387642359685827928841541956530505075028860705700833260469526269111047427368062022633103643067778295691324206394021719127910824553546360317049843610737753211002942025227256499485720472497031549176121213491361716034415157796628058172683533196503555022360688765767190391605791497344824496145898601875168602233548792684440315674434127304933310466778332581322438211465908525310325231396802196738181110743949593391394378486307110035361465336856030162387056221050069344746227520148056316073504354805200602462321718955761253390477578427907306727650191677214377242215628879288545232017306947959458817661902976447638556622055527850135898727094958824750291066489755853708843690835015921544733334310061219160105753848991688990112153456165451 67495973473261332251352649952374064975721315288093228695785037255541732282760965228894206464581735230460293995868952869745785936243328234631318680479833976131691464437844758489041989159793583147934585146996225170435820920224835631048894833763542160977923225159301026490528262670671785748239653812398482522020441294226805327114146069387512035116355514675428856311251306759782640984983285540790711905287684352121378006792887799748456740261850237404533220307154387007206248074011778189795439354491813873212970638961258675983928528923744585278974243127749822590294429640278026746611701830362430418247741724542210694412336728054343689157156775466259483230585966563096311676677858828284250797505824319722884395144532193196904736685039244241012974579044457158826172028403289854103767833275717950245988361682463947549073809729026578 109210779183498127571001272955035031965259763183588326984252571242988716163691293047761323587930122872819979823797794411702316441318357095337019513740303502400802511865212820511675092802861361443625909353390246889563731744778381991365944677374279914188926167184528282990013983143168817297415775025889844238054856452023433385286829602584015590138716203441196046702857098257127465481129184142665880507521233144805818322467321927053390050728628569985855658518620295532516573305408580386533620465235763466604365017447565786019289994260600615441361299348799891935040657160426083062685206185167631020710063443497971947802814306482250995884806967143473860472801595442384856908695165776243709615167727296170522951766587721047040635412134203065763265645534213012535015719238305775648501167585779169406094115531455636539185963185192029 176706752656759459822353922907409096940981078471681555680037608498530448446452258276655530052511858103280273819666747281448102377561685329968338194220137478532493976303057579000717081962654944591560494500386472059999552665003217622414839511137822075166849392343829309480542245813840603045655428838288326760075297746250238712400975671971527625255071718116624903014108405016910106466112469683456592412808917496927196329260209726801846790990478807390388878825774682539722821379420358576329059819727577339817335656408824462003218523184345200720335542476549714525335086800704109809296908015530061438957805168040182642215151034536594685041963742609733343703387562005481168585373024604527960412673551615893407346911119914243945372097173447306776240224578670171361187747641595629752269000861497119652082477213919584088259772914218607 285917531840257587393355195862444128906240841655269882664290179741519164610143551324416853640441980976100253643464541693150418818880042425305357707960440980933296488168270399512392174765516306035186403853776718949563284409781599613780784188512101989355775559528357592470556228957009420343071203864178170998130154198273672097687805274555543215393787921557820949716965503274037571947241653826122472920330150641733014651727531653855236841719107377376244537344394978072239394684828938962862680284963340806421700673856390248022508517444945816161696841825349606460375743961130192871982114200697692459667868611538154590017965341018845680926770709753207204176189157447866025494068190380771670027841278912063930298677707635290986007509307650372539505870112883183896203466879901405400770168447276289058176592745375220627445736099410636 462624284497017047215709118769853225847221920126951438344327788240049613056595809601072383692953839079380527463131288974598521196441727755273695902180578459465790464471327978513109256728171250626746898354163191009562837074784817236195623699649924064522624951872186901951098474770850023388726632702466497758205451944523910810088780946527070840648859639674445852731073908290947678413354123509579065333139068138660210980987741380657083632709586184766633416170169660611962216064249297539191740104690918146239036330265214710025727040629291016882032384301899320985710830761834302681279022216227753898625673779578337232233116375555440365968734452362940547879576719453347194079441214985299630440514830527957337645588827549534931379606481097679315746094691553355257391214521497035153039169308773408710259069959294804715705509013629243 748541816337274634609064314632297354753462761782221321008617967981568777666739360925489237333395820055480781106595830667748940015321770180579053610141019440399086952639598378025501431493687556661933302207939909959126121484566416849976407888162026053878400511400544494421654703727859443731797836566644668756335606142797582907776586221082614056042647561232266802448039411564985250360595777335701538253469218780393225632715273034512320474428693562142877953514564638684201610749078236502054420389654258952660737004121604958048235558074236833043729226127248927446086574722964495553261136416925446358293542391116491822251081716574286046895505162116147752055765876901213219573509405366071300468356109440021267944266535184825917387115788748051855251964804436539153594681401398440553809337756049697768435662704670025343151245113039879 1211166100834291681824773433402150580600684681909172759352945756221618390723335170526561621026349659134861308569727119642347461211763497935852749512321597899864877417110926356538610688221858807288680200562103100968688958559351234086172031587811950118401025463272731396372753178498709467120524469269111166514541058087321493717865367167609684896691507200906712655179113319855932928773949900845280603586608286919053436613703014415169404107138279746909511369684734299296163826813327534041246160494345177098899773334386819668073962598703527849925761610429148248431797405484798798234540158633153200256919216170694829054484198092129726412864239614479088299935342596354560413652950620351370930908870939967978605589855362734360848766722269845731170998059495989894410985895922895475706848507064823106478694732663964830058856754126669122 1959707917171566316433837748034447935354147443691394080361563724203187168390074531452050858359745479190342089676322950310096401227085268116431803122462617340263964369750524734564112119715546363950613502770043010927815080043917650936148439475973976172279425974673275890794407882226568910852322305835755835270876664230119076625641953388692298952734154762138979457627152731420918179134545678180982141840077505699446662246418287449681724581566973309052389323199298937980365437562405770543300580883999436051560510338508424626122198156777764682969490836556397175877883980207763293787801295050078646615212758561811320876735279808704012459759744776595236051991108473255773633226460025717442231377227049407999873534121897919186766153838058593783026250024300426433564580577324293916260657844820872804247130395368634855402007999239709001 3170874018005857998258611181436598515954832125600566839714509480424805559113409701978612479386095138325203398246050069952443862438848766052284552634784215240128841786861451091102722807937405171239293703332146111896504038603268885022320471063785926290680451437946007287167161060725278377972846775104867001785417722317440570343507320556301983849425661963045692112806266051276851107908495579026262745426685792618500098860121301864851128688705253055961900692884033237276529264375733304584546741378344613150460283672895244294196160755481292532895252446985545424309681385692562092022341453683231846872131974732506149931219477900833738872623984391074324351926451069610334046879410646068813162286097989375978479123977260653547614920560328439514197248083796416327975566473247189391967506351885695910725825128032599685460864753366378123 5130581935177424314692448929471046451308979569291960920076073204627992727503484233430663337745840617515545487922373020262540263665934034168716355757246832580392806156611975825666834927652951535189907206102189122824319118647186535958468910539759902462959877412619283177961568942951847288825169080940622837056294386547559646969149273944994282802159816725184671570433418782697769287043041257207244887266763298317946761106539589314532853270272226365014290016083332175256894701938139075127847322262344049202020794011403668920318358912259057215864743283541942600187565365900325385810142748733310493487344733294317470807954757709537751332383729167669560403917559542866107680105870671786255393663325038783978352658099158572734381074398387033297223498108096842761540147050571483308228164196706568714972955523401234540862872752606087124 8301455953183282312951060110907644967263811694892527759790582685052798286616893935409275817131935755840748886168423090214984126104782800221000908392031047820521647943473426916769557735590356706429200909434335234720823157250455420980789381603545828753640328850565290465128730003677125666798015856045489838841712108865000217312656594501296266651585478688230363683239684833974620394951536836233507632693449090936446859966660891179383981958977479420976190708967365412533423966313872379712394063640688662352481077684298913214514519667740349748759995730527488024497246751592887477832484202416542340359476708026823620739174235610371490205007713558743884755844010612476441726985281317855068555949423028159956831782076419226281995994958715472811420746191893259089515713523818672700195670548592264625698780651433834226323737505972465247 13432037888360706627643509040378691418572791264184488679866655889680791014120378168839939154877776373356294374090796110477524389770716834389717264149277880400914454100085402742436392663243308241619108115536524357545142275897641956939258292143305731216600206263184573643090298946628972955623184936986112675898006495412559864281805868446290549453745295413415035253673103616672389681994578093440752519960212389254393621073200480493916835229249705785990480725050697587790318668252011454840241385903032711554501871695702582134832878579999406964624739014069430624684812117493212863642626951149852833846821441321141091547128993319909241537391442726413445159761570155342549407091151989641323949612748066943935184440175577799016377069357102506108644244299990101851055860574390156008423834745298833340671736174835068767186610258578552371 21733493841543988940594569151286336385836602959077016439657238574733589300737272104249214972009712129197043260259219200692508515875499634610718172541308928221436102043558829659205950398833664948048309024970859592265965433148097377920047673746851559970240535113749864108219028950306098622421200793031602514739718604277560081594462462947586816105330774101645398936912788450647010076946114929674260152653661480190840481039861371673300817188227185206966671434018063000323742634565883834552635449543721373906982949380001495349347398247739756713384734744596918649182058869086100341475111153566395174206298149347964712286303228930280731742399156285157329915605580767818991134076433307496392505562171095103892016222251997025298373064315817978920064990491883360940571574098208828708619505293891097966370516826268902993510347764551017618 35165531729904695568238078191665027804409394223261505119523894464414380314857650273089154126887488502553337634350015311170032905646216469000435436690586808622350556143644232401642343062076973189667417140507383949811107709045739334859305965890157291186840741376934437751309327896935071578044385730017715190637725099690119945876268331393877365559076069515060434190585892067319399758940693023115012672613873869445234102113061852167217652417476890992957152159068760588114061302817895289392876835446754085461484821075704077484180276827739163678009473758666349273866870986579313205117738104716248008053119590669105803833432222250189973279790599011570775075367150923161540541167585297137716455174919162047827200662427574824314750133672920485028709234791873462791627434672598984717043340039189931307042253001103971760696958023129569989 56899025571448684508832647342951364190245997182338521559181133039147969615594922377338369098897200631750380894609234511862541421521716103611153609231895736843786658187203062060848293460910638137715726165478243542077073142193836712779353639637008851157081276490684301859528356847241170200465586523049317705377443703967680027470730794341464181664406843616705833127498680517966409835886807952789272825267535349636074583152923223840518469605704076199923823593086823588437803937383779123945512284990475459368467770455705572833527675075478920391394208503263267923048929855665413546592849258282643182259417740017070516119735451180470705022189755296728104990972731690980531675244018604634108960737090257151719216884679571849613123197988738463948774225283756823732199008770807813425662845333081029273412769827372874754207305787680587607 92064557301353380077070725534616391994655391405600026678705027503562349930452572650427523225784689134303718528959249823032574327167932572611589045922482545466137214330847294462490636522987611327383143305985627491888180851239576047638659605527166142343922017867618739610837684744176241778509972253067032896015168803657799973346999125735341547223482913131766267318084572585285809594827500975904285497881409219081308685265985076007736122023180967192880975752155584176551865240201674413338389120437229544829952591531409650317707951903218084069403682261929617196915800842244726751710587362998891190312537330686176319953167673430660678301980354308298880066339882614142072216411603901771825415912009419199546417547107146673927873331661658948977483460075630286523826443443406798142706185372270960580455022828476846514904263810810157596 148963582872802064585903372877567756184901388587938548237886160542710319546047495027765892324681889766054099423568484334895115748689648676222742655154378282309923872518050356523338929983898249465098869471463871033965253993433412760418013245164174993501003294358303041470366041591417411978975558776116350601392612507625480000817729920076805728887889756748472100445583253103252219430714308928693558323148944568717383268418908299848254591628885043392804799345242407764989669177585453537283901405427705004198420361987115223151235626978697004460797890765192885119964730697910140298303436621281534372571955070703246836072903124611131383324170109605026985057312614305122603891655622506405934376649099676351265634431786718523540996529650397412926257685359387110256025452214214611568369030705351989853867792655849721269111569598490745203 241028140174155444662974098412184148179556779993538574916591188046272669476500067678193415550466578900357817952527734157927690075857581248834331701076860827776061086848897650985829566506885860792482012777449498525853434844672988808056672850691341135844925312225921781081203726335593653757485531029183383497407781311283279974164729045812147276111372669880238367763667825688538029025541809904597843821030353787798691953684893375855990713652066010585685775097397991941541534417787127950622290525864934549028372953518524873468943578881915088530201573027122502316880531540154867050014023984280425562884492401389423156026070798041792061626150463913325865123652496919264676108067226408177759792561109095550812051978893865197468869861312056361903741145435017396779851895657621409711075216077622950434322815484326567784015833409300902799 389991723046957509248877471289751904364458168581477123154477348588982989022547562705959307875148468666411917376096218492822805824547229925057074356231239110085984959366948007509168496490784110257580882248913369559818688838106401568474686095855516129345928606584224822551569767927011065736461089805299734098800393818908759974982458965888953004999262426628710468209251078791790248456256118833291402144179298356516075222103801675704245305280951053978490574442640399706531203595372581487906191931292639553226793315505640096620179205860612092990999463792315387436845262238065007348317460605561959935456447472092669992098973922652923444950320573518352850180965111224387279999722848914583694169210208771902077686410680583721009866390962453774829998830794404507035877347871836021279444246782974940288190608140176289053127403007791648002 631019863221112953911851569701936052544014948575015698071068536635255658499047630384152723425615047566769735328623952650750495900404811173891406057308099937862046046215845658494998062997669971050062895026362868085672123682779390376531358946546857265190853918810146603632773494262604719493946620834483117596208175130192039949147188011701100281110635096508948835972918904480328277481797928737889245965209652144314767175788695051560236018933017064564176349540038391648072738013159709438528482457157574102255166269024164970089122784742527181521201036819437889753725793778219874398331484589842385498340939873482093148125044720694715506576471037431678715304617608143651956107790075322761453961771317867452889738389574448918478736252274510136733739976229421903815729243529457430990519462860597890722513423624502856837143236417092550801 1021011586268070463160729040991687956908473117156492821225545885224238647521595193090112031300763516233181652704720171143573301724952041098948480413539339047948031005582793666004166559488454081307643777275276237645490812520885791945006045042402373394536782525394371426184343262189615785230407710639782851695008568949100799924129646977590053286109897523137659304182169983272118525938054047571180648109388950500830842397892496727264481324213968118542666923982678791354603941608532290926434674388450213655481959584529805066709301990603139274512200500611753277190571056016284881746648945195404345433797387345574763140224018643347638951526791610950031565485582719368039236107512924237345148130981526639354967424800255032639488602643236963911563738807023826410851606591401293452269963709643572831010704031764679145890270639424884198803 1652031449489183417072580610693624009452488065731508519296614421859494306020642823474264754726378563799951388033344123794323797625356852272839886470847438985810077051798639324499164622486124052357706672301639105731162936203665182321537403988949230659727636444204518029817116756452220504724354331474265969291216744079292839873276834989291153567220532619646608140155088887752446803419851976309069894074598602645145609573681191778824717343146985183106843273522717183002676679621692000364963156845607787757737125853553970036798424775345666456033401537431191166944296849794504756144980429785246730932138327219056856288349063364042354458103262648381710280790200327511691192215302999560106602092752844506807857163189829481557967338895511474048297478783253248314667335834930750883260483172504170721733217455389182002727413875841976749604 2673043035757253880233309651685311966360961182888001340522160307083732953542238016564376786027142080033133040738064294937897099350308893371788366884386778033758108057381432990503331181974578133665350449576915343376653748724550974266543449031351604054264418969598889456001460018641836289954762042114048820986225313028393639797406481966881206853330430142784267444337258871024565329357906023880250542183987553145976451971573688506089198667360953301649510197505395974357280621230224291291397831234058001413219085438083775103507726765948805730545602038042944444134867905810789637891629374980651076365935714564631619428573082007389993409630054259331741846275783046879730428322815923797451750223734371146162824587990084514197455941538748437959861217590277074725518942426332044335530446882147743552743921487153861148617684515266860948407 4325074485246437297305890262378935975813449248619509859818774728943227259562880840038641540753520643833084428771408418732220896975665745644628253355234217019568185109180072315002495804460702186023057121878554449107816684928216156588080853020300834713992055413803407485818576775094056794679116373588314790277442057107686479670683316956172360420550962762430875584492347758777012132777758000189320436258586155791122061545254880284913916010507938484756353471028113157359957300851916291656360988079665789170956211291637745140306151541294472186579003575474135611079164755605294394036609804765897807298074041783688475716922145371432347867733316907713452127065983374391421620538118923357558352316487215652970681751179913995755423280434259912008158696373530323040186278261262795218790930054651914274477138942543043151345098391108837698011 6998117521003691177539199914064247942174410431507511200340935036026960213105118856603018326780662723866217469509472713670117996325974639016416620239620995053326293166561505305505826986435280319688407571455469792484470433652767130854624302051652438768256474383402296941820036793735893084633878415702363611263667370136080119468089798923053567273881392905215143028829606629801577462135664024069570978442573708937098513516828568791003114677868891786405863668533509131717237922082140582947758819313723790584175296729721520243813878307243277917124605613517080055214032661416084031928239179746548883664009756348320095145495227378822341277363371167045193973341766421271152048860934847155010102540221586799133506339169998509952879221973008349968019913963807397765705220687594839554321376936799657827221060429696904299962782906375698646418 11323192006250128474845090176443183917987859680127021060159709764970187472667999696641659867534183367699301898280881132402338893301640384661044873594855212072894478275741577620508322790895982505711464693334024241592287118580983287442705155071953273482248529797205704427638613568829949879312994789290678401541109427243766599138773115879225927694432355667646018613321954388578589594913422024258891414701159864728220575062083449075917030688376830271162217139561622289077195222934056874604119807393389579755131508021359265384120029848537750103703609188991215666293197417021378425964848984512446690962083798132008570862417372750254689145096688074758646100407749795662573669399053770512568454856708802452104188090349912505708302502407268261976178610337337720805891498948857634773112306991451572101698199372239947451307881297484536344429 18321309527253819652384290090507431860162270111634532260500644800997147685773118553244678194314846091565519367790353846072456889627615023677461493834476207126220771442303082926014149777331262825399872264789494034076757552233750418297329457123605712250505004180608001369458650362565842963946873204993042012804776797379846718606862914802279494968313748572861161642151561018380167057049086048328462393143733573665319088578912017866920145366245722057568080808095131420794433145016197457551878626707113370339306804751080785627933908155781028020828214802508295721507230078437462457893088164258995574626093554480328666007912600129077030422460059241803840073749516216933725718259988617667578557396930389251237694429519911015661181724380276611944198524301145118571596719636452474327433683928251229928919259801936851751270664203860234990847 29644501533503948127229380266950615778150129791761553320660354565967335158441118249886338061849029459264821266071234978474795782929255408338506367429331419199115249718044660546522472568227245331111336958123518275669044670814733705740034612195558985732753533977813705797097263931395792843259867994283720414345886224623613317745636030681505422662746104240507180255473515406958756651962508072587353807844893438393539663640995466942837176054622552328730297947656753709871628367950254332155998434100502950094438312772440051012053938004318778124531823991499511387800427495458840883857937148771442265588177352612337236870329972879331719567556747316562486174157266012596299387659042388180147012253639191703341882519869823521369484226787544873920377134638482839377488218585310109100545990919702802030617459174176799202578545501344771335276 47965811060757767779613670357458047638312399903396085581160999366964482844214236803131016256163875550830340633861588824547252672556870432015967861263807626325336021160347743472536622345558508156511209222913012309745802223048484124037364069319164697983258538158421707166555914293961635807206741199276762427150663022003460036352498945483784917631059852813368341897625076425338923709011594120915816200988627012058858752219907484809757321420868274386298378755751885130666061512966451789707877060807616320433745117523520836639987846160099806145360038794007807109307657573896303341751025313030437840214270907092665902878242573008408749990016806558366326247906782229530025105919031005847725569650569580954579576949389734537030665951167821485864575658939627957949084938221762583427979674847954031959536718976113650953849209705205006326123 77610312594261715906843050624408663416462529695157638901821353932931818002655355053017354318012905010095161899932823803022048455486125840354474228693139045524451270878392404019059094913785753487622546181036530585414846893863217829777398681514723683716012072136235412963653178225357428650466609193560482841496549246627073354098134976165290340293805957053875522153098591832297680360974102193503170008833520450452398415860902951752594497475490826715028676703408638840537689880916706121863875494908119270528183430295960887652041784164418584269891862785507318497108085069355144225608962461801880105802448259705003139748572545887740469557573553874928812422064048242126324493578073394027872581904208772657921459469259558058400150177955366359784952793578110797326573156807072692528525665767656833990154178150290450156427755206549777661399 125576123655019483686456720981866711054774929598553724482982353299896300846869591856148370574176780560925502533794412627569301128042996272370442089956946671849787292038740147491595717259344261644133755403949542895160649116911701953814762750833888381699270610294657120130209092519319064457673350392837245268647212268630533390450633921649075257924865809867243864050723668257636604069985696314418986209822147462511257168080810436562351818896359101101327055459160523971203751393883157911571752555715735590961928547819481724292029630324518390415251901579515125606415742643251447567359987774832317946016719166797669042626815118896149219547590360433295138669970830471656349599497104399875598151554778353612501036418649292595430816129123187845649528452517738755275658095028835275956505340615610865949690897126404101110276964911754783987522 203186436249281199593299771606275374471237459293711363384803707232828118849524946909165724892189685571020664433727236430591349583529122112724916318650085717374238562917132551510654812173130015131756301584986073480575496010774919783592161432348612065415282682430892533093862270744676493108139959586397728110143761515257606744548768897814365598218671766921119386203822260089934284430959798507922156218655667912963655583941713388314946316371849927816355732162569162811741441274799864033435628050623854861490111978115442611944071414488936974685143764365022444103523827712606591792968950236634198051819167426502672182375387664783889689105163914308223951092034878713782674093075177793903470733458987126270422495887908850653830966307078554205434481246095849552602231251835907968485031006383267699939845075276694551266704720118304561648921 328762559904300683279756492588142085526012388892265087867786060532724419696394538765314095466366466131946166967521649058160650711572118385095358408607032389224025854955872699002250529432474276775890056988935616375736145127686621737406924183182500447114553292725549653224071363263995557565813309979234973378790973783888140134999402819463440856143537576788363250254545928347570888500945494822341142428477815375474912752022523824877298135268209028917682787621729686782945192668683021945007380606339590452452040525934924336236101044813455365100395665944537569709939570355858039360328938011466515997835886593300341225002202783680038908652754274741519089762005709185439023692572282193779068885013765479882923532306558143249261782436201742051084009698613588307877889346864743244441536346998878565889535972403098652376981685030059345636443 531948996153581882873056264194417459997249848185976451252589767765552538545919485674479820358556151702966831401248885488752000295101240497820274727257118106598264417873005250512905341605604291907646358573921689856311641138461541520999085615531112512529835975156442186317933634008672050673953269565632701488934735299145746879548171717277806454362209343709482636458368188437505172931905293330263298647133483288438568335964237213192244451640058956734038519784298849594686633943482885978443008656963445313942152504050366948180172459302392339785539430309560013813463398068464631153297888248100714049655054019803013407377590448463928597757918189049743040854040587899221697785647459987682539618472752606153346028194466993903092748743280296256518490944709437860480120598700651212926567353382146265829381047679793203643686405148363907285364 860711556057882566152812756782559545523262237078241539120375828298276958242314024439793915824922617834912998368770534546912651006673358882915633135864150495822290272828877949515155871038078568683536415562857306232047786266148163258406009798713612959644389267881991839542004997272667608239766579544867674867725709083033887014547574536741247310505746920497845886712914116785076061432850788152604441075611298663913481087986761038069542586908267985651721307406028536377631826612165907923450389263303035766394193029985291284416273504115847704885935096254097583523402968424322670513626826259567230047490940613103354632379793232143967506410672463791262130616046297084660721478219742181461608503486518086036269560501025137152354531179482038307602500643323026168358009945565394457368103700381024831718917020082891856020668090178423252921807 1392660552211464449025869020976977005520512085264217990372965596063829496788233510114273736183478769537879829770019420035664651301774599380735907863121268602420554690701883200028061212643682860591182774136778996088359427404609704779405095414244725472174225243038434025859938631281339658913719849110500376356660444382179633894095746254019053764867956264207328523171282305222581234364756081482867739722744781952352049423950998251261787038548326942385759827190327385972318460555648793901893397920266481080336345534035658232596445963418240044671474526563657597336866366492787301666924714507667944097145994632906368039757383680607896104168590652841005171470086884983882419263867202169144148121959270692189615588695492131055447279922762334564120991588032464028838130544266045670294671053763171097548298067762685059664354495326787160207171 2253372108269347015178681777759536551043774322342459529493341424362106455030547534554067652008401387372792828138789954582577302308447958263651540998985419098242844963530761149543217083681761429274719189699636302320407213670757868037811105212958338431818614510920425865401943628554007267153486428655368051224386153465213520908643320790760301075373703184705174409884196422007657295797606869635472180798356080616265530511937759289331329625456594928037481134596355922349950287167814701825343787183569516846730538564020949517012719467534087749557409622817755180860269334917109972180551540767235174144636935246009722672137176912751863610579263116632267302086133182068543140742086944350605756625445788778225885149196517268207801811102244372871723492231355490197196140489831440127662774754144195929267215087845576915685022585505210413128978 3646032660480811464204550798736513556564286407606677519866307020425935951818781044668341388191880156910672657908809374618241953610222557644387448862106687700663399654232644349571278296325444289865901963836415298408766641075367572817216200627203063903992839753958859891261882259835346926067206277765868427581046597847393154802739067044779354840241659448912502933055478727230238530162362951118339920521100862568617579935888757540593116664004921870423240961786683308322268747723463495727237185103835997927066884098056607749609165430952327794228884149381412778197135701409897273847476255274903118241782929878916090711894560593359759714747853769473272473556220067052425560005954146519749904747405059470415500737892009399263249091025006707435844483819387954226034271034097485797957445807907367026815513155608261975349377080831997573336149 5899404768750158479383232576496050107608060729949137049359648444788042406849328579222409040200281544283465486047599329200819255918670515908038989861092106798906244617763405499114495380007205719140621153536051600729173854746125440855027305840161402335811454264879285756663825888389354193220692706421236478805432751312606675711382387835539655915615362633617677342939675149237895825959969820753812101319456943184883110447826516829924446289461516798460722096383039230672219034891278197552580972287405514773797422662077557266621884898486415543786293772199167959057405036327007246028027796042138292386419865124925813384031737506111623325327116886105539775642353249120968700748041090870355661372850848248641385887088526667471050902127251080307567976050743444423230411523928925925620220562051562956082728243453838891034399666337207986465127 9545437429230969943587783375232563664172347137555814569225955465213978358668109623890750428392161701194138143956408703819061209528893073552426438723198794499569644271996049848685773676332650009006523117372466899137940495821493013672243506467364466239804294018838145647925708148224701119287898984187104906386479349159999830514121454880319010755857022082530180275995153876468134356122332771872152021840557805753500690383715274370517562953466438668883963058169722538994487782614741693279818157391241512700864306760134165016231050329438743338015177921580580737254540737736904519875504051317041410628202795003841904095926298099471383040074970655578812249198573316173394260753995237390105566120255907719056886624980536066734299993152257787743412459870131398649264682558026411723577666369958929982898241399062100866383776747169205559801276 15444842197981128422971015951728613771780407867504951618585603910002020765517438203113159468592443245477603630004008033019880465447563589460465428584290901298475888889759455347800269056339855728147144270908518499867114350567618454527270812307525868575615748283717431404589534036614055312508591690608341385191912100472606506225503842715858666671472384716147857618934829025706030182082302592625964123160014748938383800831541791200442009242927955467344685154552761769666706817506019890832399129678647027474661729422211722282852935227925158881801471693779748696311945774063911765903531847359179703014622660128767717479958035605583006365402087541684352024840926565294362961502036328260461227493106755967698272512069062734205350895279508868050980435920874843072495094081955337649197886932010492938980969642515939757418176413506413546266403 24990279627212098366558799326961177435952755005060766187811559375215999124185547827003909896984604946671741773960416736838941674976456663012891867307489695798045533161755505196486042732672505737153667388280985399005054846389111468199514318774890334815420042302555577052515242184838756431796490674795446291578391449632606336739625297596177677427329406798678037894929982902174164538204635364498116145000572554691884491215257065570959572196394394136228648212722484308661194600120761584112217287069888540175526036182345887299083985557363902219816649615360329433566486511800816285779035898676221113642825455132609621575884333705054389405477058197263164274039499881467757222256031565650566793613362663686755159137049598800939650888431766655794392895791006241721759776639981749372775553301969422921879211041578040623801953160675619106067679 40435121825193226789529815278689791207733162872565717806397163285218019889702986030117069365577048192149345403964424769858822140424020252473357295891780597096521422051514960544286311789012361465300811659189503898872169196956729922726785131082416203391035790586273008457104776221452811744305082365403787676770303550105212842965129140312036344098801791514825895513864811927880194720286937957124080268160587303630268292046798856771401581439322349603573333367275246078327901417626781474944616416748535567650187765604557609581936920785289061101618121309140078129878432285864728051682567746035400816657448115261377339055842369310637395770879145738947516298880426446762120183758067893911028021106469419654453431649118661535145001783711275523845373331711881084794254870721937087021973440233979915860860180684093980381220129574182032652334082 65425401452405325156088614605650968643685917877626483994208722660434019013888533857120979262561653138821087177924841506697763815400476915486249163199270292894566955213270465740772354521684867202454479047470489297877224043345841390926299449857306538206455832888828585509620018406291568176101573040199233968348694999737819179704754437908214021526131198313503933408794794830054359258491573321622196413161159858322152783262055922342361153635716743739801981579997730386989096017747543059056833703818424107825713801786903496881020906342652963321434770924500407563444918797665544337461603644711621930300273570393986960631726703015691785176356203936210680572919926328229877406014099459561594814719832083341208590786168260336084652672143042179639766227502887326516014647361918836394748993535949338782739391725672021005022082734857651758401761 105860523277598551945618429884340759851419080750192201800605885945652038903591519887238048628138701330970432581889266276556585955824497167959606459091050889991088377264785426285058666310697228667755290706659993196749393240302571313653084580939722741597491623475101593966724794627744379920406655405603021645118998549843032022669883578220250365624932989828329828922659606757934553978778511278746276681321747161952421075308854779113762735075039093343375314947272976465316997435374324534001450120566959675475901567391461106462957827127942024423052892233640485693323351083530272389144171390747022746957721685655364299687569072326329180947235349675158196871800352774991997589772167353472622835826301502995662022435286921871229654455854317703485139559214768411310269518083855923416722433769929254643599572409766001386242212309039684410735843 171285924730003877101707044489991728495104998627818685794814608606086057917480053744359027890700354469791519759814107783254349771224974083445855622290321182885655332478055892025831020832382095870209769754130482494626617283648412704579384030797029279803947456363930179476344813034035948096508228445802255613467693549580851202374638016128464387151064188141833762331454401587988913237270084600368473094482907020274573858570910701456123888710755837083177296527270706852306093453121867593058283824385383783301615369178364603343978733470594987744487663158140893256768269881195816726605775035458644677257995256049351260319295775342020966123591553611368877444720279103221874995786266813034217650546133586336870613221455182207314307127997359883124905786717655737826284165445774759811471427305878593426338964135438022391264295043897336169137604 277146448007602429047325474374332488346524079378010887595420494551738096821071573631597076518839055800761952341703374059810935727049471251405462081381372072876743709742841318310889687143079324537965060460790475691376010523950984018232468611736752021401439079839031773443069607661780328016914883851405277258586692099423883225044521594348714752775997177970163591254114008345923467216048595879114749775804654182226994933879765480569886623785794930426552611474543683317623090888496192127059733944952343458777516936569825709806936560598537012167540555391781378950091620964726089115749946426205667424215716941704715560006864847668350147070826903286527074316520631878213872585558434166506840486372435089332532635656742104078543961583851677586610045345932424149136553683529630683228193861075807848069938536545204023777506507352937020579873447 448432372737606306149032518864324216841629078005829573390235103157824154738551627375956104409539410270553472101517481843065285498274445334851317703671693255762399042220897210336720707975461420408174830214920958186002627807599396722811852642533781301205386536202961952919414420695816276113423112297207532872054385649004734427419159610477179139927061366111997353585568409933912380453318680479483222870287561202501568792450676182026010512496550767509729908001814390169929184341618059720118017769337727242079132305748190313150915294069131999912028218549922272206859890845921905842355721461664312101473712197754066820326160623010371113194418456897895951761240910981435747581344700979541058136918568675669403248878197286285858268711849037469734951132650079886962837848975405443039665288381686441496277500680642046168770802396834356749011051 725578820745208735196357993238656705188153157383840460985655597709562251559623201007553180928378466071315424443220855902876221225323916586256779785053065328639142751963738528647610395118540744946139890675711433877378638331550380741044321254270533322606825616041993726362484028357596604130337996148612810130641077748428617652463681204825893892703058544082160944839682418279835847669367276358597972646092215384728563726330441662595897136282345697936282519476358073487552275230114251847177751714290070700856649242318016022957851854667669012079568773941703651156951511810647994958105667887869979525689429139458782380333025470678721260265245360184423026077761542859649620166903135146047898623291003765001935884534939390364402230295700715056344996478582504036099391532505036126267859149457494289566216037225846069946277309749771377328884498 1174011193482815041345390512102980922029782235389670034375890700867386406298174828383509285337917876341868896544738337745941506723598361921108097488724758584401541794184635738984331103094002165354314720890632392063381266139149777463856173896804314623812212152244955679281898449053412880243761108445820343002695463397433352079882840815303073032630119910194158298425250828213748228122685956838081195516379776587230132518781117844621907648778896465446012427478172463657481459571732311567295769483627797942935781548066206336108767148736801011991596992491625923363811402656569900800461389349534291627163141337212849200659186093689092373459663817082318977839002453841085367748247836125588956760209572440671339133413136676650260499007549752526079947611232583923062229381480441569307524437839180731062493537906488116115048112146605734077895549 1899590014228023776541748505341637627217935392773510495361546298576948657857798029391062466266296342413184320987959193648817727948922278507364877273777823913040684546148374267631941498212542910300454611566343825940759904470700158204900495151074847946419037768286949405644382477411009484374099104594433153133336541145861969732346522020128966925333178454276319243264933246493584075792053233196679168162471991971958696245111559507217804785061242163382294946954530537145033734801846563414473521197917868643792430790384222359066619003404470024071165766433329574520762914467217895758567057237404271152852570476671631580992211564367813633724909177266742003916763996700734987915150971271636855383500576205673275017948076067014662729303250467582424944089815087959161620913985477695575383587296675020628709575132334186061325421896377111406780047 3073601207710838817887139017444618549247717628163180529737436999444335064155972857774571751604214218755053217532697531394759234672520640428472974762502582497442226340333010006616272601306545075654769332456976218004141170609849935668756669047879162570231249920531905084926280926464422364617860213040253496136032004543295321812229362835432039957963298364470477541690184074707332303914739190034760363678851768559188828763892677351839712433840138628828307374432703000802515194373578874981769290681545666586728212338450428695175386152141271036062762758924955497884574317123787796559028446586938562780015711813884480781651397658056906007184572994349060981755766450541820355663398807397225812143710148646344614151361212743664923228310800220108504891701047671882223850295465919264882908025135855751691203113038822302176373534042982845484675596 4973191221938862594428887522786256176465653020936691025098983298021283722013770887165634217870510561168237538520656725043576962621442918935837852036280406410482910886481384274248214099519087985955223944023320043944901075080550093873657164198954010516650287688818854490570663403875431848991959317634686649269368545689157291544575884855561006883296476818746796784955117321200916379706792423231439531841323760531147525009004236859057517218901380792210602321387233537947548929175425438396242811879463535230520643128834651054242005155545741060133928525358285072405337231591005692317595503824342833932868282290556112362643609222424719640909482171615802985672530447242555343578549778668862667527210724852017889169309288810679585957614050687690929835790862759841385471209451396960458291612432530772319912688171156488237698955939359956891455643 8046792429649701412316026540230874725713370649099871554836420297465618786169743744940205969474724779923290756053354256438336197293963559364310826798782988907925137226814394280864486700825633061609993276480296261949042245690400029542413833246833173086881537609350759575496944330339854213609819530674940145405400550232452613356805247690993046841259775183217274326645301395908248683621531613266199895520175529090336353772896914210897229652741519421038909695819936538750064123549004313378012102561009201817248855467285079749417391307687012096196691284283240570289911548714793488876623950411281396712883994104440593144295006880481625648094055165964863967428296897784375699241948586066088479670920873498362503320670501554344509185924850907799434727491910431723609321504917316225341199637568386524011115801209978790414072489982342802376131239 13019983651588564006744914063017130902179023670036562579935403595486902508183514632105840187345235341091528294574010981481913159915406478300148678835063395318408048113295778555112700800344721047565217220503616305893943320770950123416070997445787183603531825298169614066067607734215286062601778848309626794674769095921609904901381132546554053724556252001964071111600418717109165063328324036497639427361499289621483878781901151069954746871642900213249512017207170076697613052724429751774254914440472737047769498596119730803659396463232753156330619809641525642695248780305799181194219454235624230645752276394996705506938616102906345289003537337580666953100827345026931042820498364734951147198131598350380392489979790365024095143538901595490364563282773191564994792714368713185799491250000917296331028489381135278651771445921702759267586882 21066776081238265419060940603248005627892394319136434134771823892952521294353258377046046156819960121014819050627365237920249357209370037664459505633846384226333185340110172835977187501170354109175210496983912567842985566461350152958484830692620356690413362907520373641564552064555140276211598378984566940080169646154062518258186380237547100565816027185181345438245720113017413746949855649763839322881674818711820232554798065280851976524384419634288421713027106615447677176273434065152267017001481938865018354063404810553076787770919765252527311093924766212985160329020592670070843404646905627358636270499437298651233622983387970937097592503545530920529124242811306742062446950801039626869052471848742895810650291919368604329463752503289799290774683623288604114219286029411140690887569303820342144290591114069065843935904045561643718121 34086759732826829425805854666265136530071417989172996714707227488439423802536773009151886344165195462106347345201376219402162517124776515964608184468909779544741233453405951391089888301515075156740427717487528873736928887232300276374555828138407540293945188205689987707632159798770426338813377227294193734754938742075672423159567512784101154290372279187145416549846138830126578810278179686261478750243174108333304111336699216350806723396027319847537933730234276692145290228997863816926521931441954675912787852659524541356736184234152518408857930903566291855680409109326391851265062858882529858004388546894434004158172239086294316226101129841126197873629951587838237784882945315535990774067184070199123288300630082284392699473002654098780163854057456814853598906933654742596940182137570221116673172779972249347717615381825748320911305003 55153535814065094844866795269513142157963812308309430849479051381391945096890031386197932500985155583121166395828741457322411874334146553629067690102756163771074418793516124227067075802685429265915638214471441441579914453693650429333040658831027896984358551113210361349196711863325566615024975606278760674835108388229734941417753893021648254856188306372326761988091858943143992557228035336025318073124848927045124343891497281631658699920411739481826355443261383307592967405271297882078788948443436614777806206722929351909812972005072283661385241997491058068665569438346984521335906263529435485363024817393871302809405862069682287163198722344671728794159075830649544526945392266337030400936236542047866184111280374203761303802466406602069963144832140438142203021152940772008080873025139524937015317070563363416783459317729793882555023124 89240295546891924270672649935778278688035230297482427564186278869831368899426804395349818845150351045227513741030117676724574391458923069593675874571665943315815652246922075618156964104200504422656065931958970315316843340925950705707596486969435437278303739318900349056828871662095992953838352833572954409590047130305407364577321405805749409146560585559472178537937997773270571367506215022286796823368023035378428455228196497982465423316439059329364289173495659999738257634269161699005310879885391290690594059382453893266549156239224802070243172901057349924345978547673376372600969122411965343367413364288305306967578101155976603389299852185797926667789027418487782311828337581873021175003420612246989472411910456488154003275469060700850126998889597252995801928086595514605021055162709746053688489850535612764501074699555542203466328127 144393831360957019115539445205291420845999042605791858413665330251223313996316835781547751346135506628348680136858859134046986265793069623222743564674422107086890071040438199845224039906885933688571704146430411756896757794619601135040637145800463334262662290432110710406025583525421559568863328439851715084425155518535142305995075298827397664002748891931798940526029856716414563924734250358312114896492871962423552799119693779614124123236850798811190644616757043307331225039540459581084099828328827905468400266105383245176362128244297085731628414898548407993011547986020360893936875385941400828730438181682176609776983963225658890552498574530469655461948103249137326838773729848210051575939657154294855656523190830691915307077935467302920090143721737691138004949239536286613101928187849270990703806921098976181284534017285336086021351251 233634126907848943386212095141069699534034272903274285977851609121054682895743640176897570191285857673576193877888976810771560657251992692816419439246088050402705723287360275463381004011086438111227770078389382072213601135545551840748233632769898771540966029751011059462854455187517552522701681273424669494015202648840549670572396704633147073149309477491271119063967854489685135292240465380598911719860894997801981254347890277596589546553289858140554933790252703307069482673809621280089410708214219196158994325487837138442911284483521887801871587799605757917357526533693737266537844508353366172097851545970481916744562064381635493941798426716267582129737130667625109150602067430083072750943077766541845128935101287180069310353404528003770217142611334944133806877326131801218122983350559017044392296771634588945785608716840878289487679378 378027958268805962501751540346361120380033315509066144391516939372277996892060475958445321537421364301924874014747835944818546923045062316039163003920510157489595794327798475308605043917972371799799474224819793829110358930165152975788870778570362105803628320183121769868880038712939112091565009713276384578440358167375691976567472003460544737152058369423070059589997711206099699216974715738911026616353766960225534053467584057210713669790140656951745578407009746614400707713350080861173510536543047101627394591593220383619273412727818973533500002698154165910369074519714098160474719894294767000828289727652658526521546027607294384494297001246737237591685233916762435989375797278293124326882734920836700785458292117871984617431339995306690307286333072635271811826565668087831224911538408288035096103692733565127070142734126214375509030629 611662085176654905887963635487430819914067588412340430369368548493332679787804116135342891728707221975501067892636812755590107580297055008855582443166598207892301517615158750771986047929058809911027244303209175901323960065710704816537104411340260877344594349934132829331734493900456664614266690986701054072455560816216241647139868708093691810301367846914341178653965565695784834509215181119509938336214661958027515307815474334807303216343430515092300512197262449921470190387159702141262921244757266297786388917081057522062184697211340861335371590497759923827726601053407835427012564402648133172926141273623140443266108091988929878436095427963004819721422364584387545139977864708376197077825812687378545914393393405052053927784744523310460524428944407579405618703891799889049347894888967305079488400464368154072855751450967092664996710007 989690043445460868389715175833791940294100903921406574760885487865610676679864592093788213266128586277425941907384648700408654503342117324894745447087108365381897311942957226080591091847031181710826718528028969730434318995875857792325975189910622983148222670117254599200614532613395776705831700699977438650895918983591933623707340711554236547453426216337411238243963276901884533726189896858420964952568428918253049361283058392018016886133571172044046090604272196535870898100509783002436431781300313399413783508674277905681458109939159834868871593195914089738095675573121933587487284296942900173754431001275798969787654119596224262930392429209742057313107598501149981129353661986669321404708547608215246699851685522924038545216084518617150831715277480214677430530457467976880572806427375593114584504157101719199925894185093307040505740636 1601352128622115774277678811321222760208168492333747005130254036358943356467668708229131104994835808252927009800021461455998762083639172333750327890253706573274198829558115976852577139776089991621853962831238145631758279061586562608863079601250883860492817020051387428532349026513852441320098391686678492723351479799808175270847209419647928357754794063251752416897928842597669368235405077977930903288783090876280564669098532726825320102477001687136346602801534646457341088487669485143699353026057579697200172425755335427743642807150500696204243183693674013565822276626529769014499848699591033346680572274898939413053762211585154141366487857172746877034529963085537526269331526695045518482534360295593792614245078927976092473000829041927611356144221887794083049234349267865929920701316342898194072904621469873272781645636060399705502450643 2591042172067576642667393987155014700502269396255153579891139524224554033147533300322919318260964394530352951707406110156407416586981289658645073337340814938656096141501073202933168231623121173332680681359267115362192598057462420401189054791161506843641039690168642027732963559127248218025930092386655931374247398783400108894554550131202164905208220279589163655141892119499553901961594974836351868241351519794533614030381591118843336988610572859180392693405806842993211986588179268146135784807357893096613955934429613333425100917089660531073114776889588103303917952199651702601987132996533933520435003276174738382841416331181378404296880286382488934347637561586687507398685188681714839887242907903809039314096764450900131018216913560544762187859499368008760479764806735842810493507743718491308657408778571592472707539821153706746008191279 4192394300689692416945072798476237460710437888588900585021393560583497389615202008552050423255800202783279961507427571612406178670620461992395401227594521511930294971059189179785745371399211164954534644190505260993950877119048983010052134392412390704133856710220029456265312585641100659346028484073334424097598878583208284165401759550850093262963014342840916072039820962097223270197000052814282771530134610670814178699480123845668657091087574546316739296207341489450553075075848753289835137833415472793814128360184948761168743724240161227277357960583262116869740228826181471616486981696124966867115575551073677795895178542766532545663368143555235811382167524672225033668016715376760358369777268199402831928341843378876223491217742602472373544003721255802843528999156003708740414209060061389502730313400041465745489185457214106451510641922 6783436472757269059612466785631252161212707284844054164912533084808051422762735308874969741516764597313632913214833681768813595257601751651040474564935336450586391112560262382718913603022332338287215325549772376356143475176511403411241189183573897547774896400388671483998276144768348877371958576459990355471846277366608393059956309682052258168171234622430079727181713081596777172158595027650634639771486130465347792729861714964511994079698147405497131989613148332443765061664028021435970922640773365890428084294614562094593844641329821758350472737472850220173658181025833174218474114692658900387550578827248416178736594873947910949960248429937724745729805086258912541066701904058475198257020176103211871242438607829776354509434656163017135731863220623811604008763962739551550907716803779880811387722178613058218196725278367813197518833201 10975830773446961476557539584107489621923145173432954749933926645391548812377937317427020164772564800096912874722261253381219773928222213643435875792529857962516686083619451562504658974421543503241749969740277637350094352295560386421293323575986288251908753110608700940263588730409449536717987060533324779569445155949816677225358069232902351431134248965270995799221534043694000442355595080464917411301620741136161971429341838810180651170785721951813871285820489821894318136739876774725806060474188838684242212654799510855762588365569982985627830698056112337043398409852014645834961096388783867254666154378322093974631773416714443495623616573492960557111972610931137574734718619435235556626797444302614703170780451208652578000652398765489509275866941879614447537763118743260291321925863841270314118035578654523963685910735581919649029475123 17759267246204230536170006369738741783135852458277008914846459730199600235140672626301989906289329397410545787937094935150033369185823965294476350357465194413103077196179713945223572577443875841528965295290050013706237827472071789832534512759560185799683649510997372424261864875177798414089945636993315135041291433316425070285314378914954609599305483587701075526403247125290777614514190108115552051073106871601509764159203553774692645250483869357311003275433638154338083198403904796161776983114962204574670296949414072950356433006899804743978303435528962557217056590877847820053435211081442767642216733205570510153368368290662354445583865003430685302841777697190050115801420523493710754883817620405826574413219059038428932510087054928506645007730162503426051546527081482811842229642667621151125505757757267582181882636013949732846548308324 28735098019651192012727545953846231405058997631709963664780386375591149047518609943729010071061894197507458662659356188531253143114046178937912226149995052375619763279799165507728231551865419344770715265030327651056332179767632176253827836335546474051592402621606073364525453605587247950807932697526639914610736589266241747510672448147856961030439732552972071325624781168984778056869785188580469462374727612737671735588545392584873296421269591309124874561254127976232401335143781570887583043589151043258912509604213583806119021372469787729606134133585074894260455000729862465888396307470226634896882887583892604128000141707376797941207481576923645859953750308121187690536139142928946311510615064708441277583999510247081510510739453693996154283597104383040499084290200226072133551568531462421439623793335922106145568546749531652495577783447 46494365265855422548897552323584973188194850089986972579626846105790749282659282570030999977351223594918004450596451123681286512299870144232388576507460246788722840475978879452951804129309295186299680560320377664762570007239703966086362349095106659851276052132603445788787318480765046364897878334519955049652028022582666817795986827062811570629745216140673146852028028294275555671383975296696021513447834484339181499747748946359565941671753460666435877836687766130570484533547686367049360026704113247833582806553627656756475454379369592473584437569114037451477511591607710285941831518551669402539099620789463114281368509998039152386791346580354331162795528005311237806337559666422657066394432685114267851997218569285510443020826508622502799291327266886466550630817281708883975781211199083572565129551093189688327451182763481385342126091771 75229463285506614561625098277431204593253847721696936244407232481381898330177892513760010048413117792425463113255807312212539655413916323170300802657455299164342603755778044960680035681174714531070395825350705315818902187007336142340190185430653133902868454754209519153312772086352294315705811032046594964262764611848908565306659275210668531660184948693645218177652809463260333728253760485276490975822562097076853235336294338944439238093023051975560752397941894106802885868691467937936943070293264291092495316157841240562594475751839380203190571702699112345737966592337572751830227826021896037435982508373355718409368651705415950327998828157277977022749278313432425496873698809351603377905047749822709129581218079532591953531565962316498953574924371269507049715107481934956109332779730545994004753344429111794473019729513013037837703875218 121723828551362037110522650601016177781448697811683908824034078587172647612837175083791010025764341387343467563852258435893826167713786467402689379164915545953065444231756924413631839810484009717370076385671082980581472194247040108426552534525759793754144506886812964942100090567117340680603689366566550013914792634431575383102646102273480102289930164834318365029680837757535889399637735781972512489270396581416034735084043285304005179764776512641996630234629660237373370402239154304986303096997377538926078122711468897319069930131208972676775009271813149797215478183945283037772059344573565439975082129162818832690737161703455102714790174737632308185544806318743663303211258475774260444299480434936976981578436648818102396552392470939001752866251638155973600345924763643840085113990929629566569882895522301482800470912276494423179829966989 196953291836868651672147748878447382374702545533380845068441311068554545943015067597551020074177459179768930677108065748106365823127702790572990181822370845117408047987534969374311875491658724248440472211021788296400374381254376250766742719956412927657012961641022484095412862653469634996309500398613144978177557246280483948409305377484148633950115113527963583207333647220796223127891496267249003465092958678492887970420337624248444417857799564617557382632571554344176256270930622242923246167290641830018573438869310137881664405883048352879965580974512262142953444776282855789602287170595461477411064637536174551100105813408871053042789002894910285208294084632176088800084957285125863822204528184759686111159654728350694350083958433255500706441176009425480650061032245578796194446770660175560574636239951413277273490641789507461017533842207 318677120388230688782670399479463560156151243345064753892475389655727193555852242681342030099941800567112398240960324184000191990841489257975679560987286391070473492219291893787943715302142733965810548596692871276981846575501416359193295254482172721411157468527835449037512953220586975676913189765179694992092349880712059331511951479757628736240045278362281948237014484978332112527529232049221515954363355259908922705504380909552449597622576077259554012867201214581549626673169776547909549264288019368944651561580779035200734336014257325556740590246325411940168922960228138827374346515169026917386146766698993383790842975112326155757579177632542593393838890950919752103296215760900124266504008619696663092738091377168796746636350904194502459307427647581454250406957009222636279560761589805127144519135473714760073961554066001884197363809196 515630412225099340454818148357910942530853788878445598960916700724281739498867310278893050174119259746881328918068389932106557813969192048548669742809657236187881540206826863162255590793801458214251020807714659573382220956755792609960037974438585649068170430168857933132925815874056610673222690163792839970269907126992543279921256857241777370190160391890245531444348132199128335655420728316470519419456313938401810675924718533800894015480375641877111395499772768925725882944100398790832795431578661198963225000450089173082398741897305678436706171220837674083122367736510994616976633685764488394797211404235167934890948788521197208800368180527452878602132975583095840903381173046025988088708536804456349203897746105519491096720309337450003165748603657006934900467989254801432474007532249980687719155375425128037347452195855509345214897651403 834307532613330029237488547837374502687005032223510352853392090380008933054719552960235080274061060313993727159028714116106749804810681306524349303796943627258355032426118756950199306095944192180061569404407530850364067532257208969153333228920758370479327898696693382170438769094643586350135879928972534962362257007704602611433208336999406106430205670252527479681362617177460448182949960365692035373819669198310733381429099443353343613102951719136665408366973983507275509617270175338742344695866680567907876562030868208283133077911563003993446761467163086023291290696739133444350980200933515312183358170934161318681791763633523364557947358159995471995971866534015593006677388806926112355212545424153012296635837482688287843356660241644505625056031304588389150874946264024068753568293839785814863674510898842797421413749921511229412261460599 1349937944838429369692306696195285445217858821101955951814308791104290672553586863239128130448180320060875056077097104048213307618779873355073019046606600863446236572632945620112454896889745650394312590212122190423746288489013001579113371203359344019547498328865551315303364584968700197023358570092765374932632164134697145891354465194241183476620366062142773011125710749376588783838370688682162554793275983136712544057353817977154237628583327361013776803866746752433001392561370574129575140127445341766871101562480957381365531819808868682430152932688000760106413658433250128061327613886698003706980569575169329253572740552154720573358315538687448350598104842117111433910058561852952100443921082228609361500533583588207778940076969579094508790804634961595324051342935518825501227575826089766502582829886323970834768865945777020574627159112002 2184245477451759398929795244032659947904863853325466304667700881484299605608306416199363210722241380374868783236125818164320057423590554661597368350403544490704591605059064377062654202985689842574374159616529721274110356021270210548266704432280102390026826227562244697473803354063343783373494450021737909894994421142401748502787673531240589583050571732395300490807073366554049232021320649047854590167095652335023277438782917420507581241686279080150442212233720735940276902178640749468317484823312022334778978124511825589648664897720431686423599694155163846129704949129989261505678594087631519019163927746103490572254532315788243937916262896847443822594076708651127026916735950659878212799133627652762373797169421070896066783433629820739014415860666266183713202217881782849569981144119929552317446504397222813632190279695698531804039420572601 3534183422290188768622101940227945393122722674427422256482009672588590278161893279438491341170421700435743839313222922212533365042370428016670387397010145354150828177692009997175109099875435492968686749828651911697856644510283212127380075635639446409574324556427796012777167939032043980396853020114503284827626585277098894394142138725481773059670937794538073501932784115930638015859691337730017144960371635471735821496136735397661818870269606441164219016100467488373278294740011323597892624950757364101650079686992782971014196717529300368853752626843164606236118607563239389567006207974329522726144497321272819825827272867942964511274578435534892173192181550768238460826794512512830313243054709881371735297703004659103845723510599399833523206665301227779037253560817301675071208719946019318820029334283546784466959145641475552378666579684603 5718428899741948167551897184260605341027586527752888561149710554072889883770199695637854551892663080810612622549348740376853422465960982678267755747413689844855419782751074374237763302861125335543060909445181632971967000531553422675646780067919548799601150783990040710250971293095387763770347470136241194722621006419500642896929812256722362642721509526933373992739857482484687247881011986777871735127467287806759098934919652818169400111955885521314661228334188224313555196918652073066210109774069386436429057811504608560662861615249732055277352320998328452365823556693228651072684802061961041745308425067376310398081805183731208449190841332382335995786258259419365487743530463172708526042188337534134109094872425729999912506944229220572537622525967493962750455778699084524641189864065948871137475838680769598099149425337174084182706000257204 9252612322032136936173999124488550734150309202180310817631720226661480161932092975076345893063084781246356461862571662589386787508331410694938143144423835199006247960443084371412872402736560828511747659273833544669823645041836634803026855703558995209175475340417836723028139232127431744167200490250744479550247591696599537291071950982204135702392447321471447494672641598415325263740703324507888880087838923278494920431056388215831218982225491962478880244434655712686833491658663396664102734724826750538079137498497391531677058332779032424131104947841493058601942164256468040639691010036290564471452922388649130223909078051674172960465419767917228168978439810187603948570324975685538839285243047415505844392575430389103758230454828620406060829191268721741787709339516386199712398584011968189957505172964316382566108570978649636561372579941807 14971041221774085103725896308749156075177895729933199378781430780734370045702292670714200444955747862056969084411920402966240209974292393373205898891837525043861667743194158745650635705597686164054808568719015177641790645573390057478673635771478544008776626124407877433279110525222819507937547960386985674272868598116100180188001763238926498345113956848404821487412499080900012511621715311285760615215306211085254019365976041034000619094181377483793541472768843937000388688577315469730312844498896136974508195310002000092339919948028764479408457268839821510967765720949696691712375812098251606216761347456025440621990883235405381409656261100299564164764698069606969436313855438858247365327431384949639953487447856119103670737399057840978598451717236215704538165118215470724353588448077917061094981011645085980665257996315823720744078580199011 24223653543806222039899895433237706809328204932113510196413151007395850207634385645790546338018832643303325546274492065555626997482623804068144042036261360242867915703637243117063508108334246992566556227992848722311614290615226692281700491475037539217952101464825714156307249757350251252104748450637730153823116189812699717479073714221130634047506404169876268982085140679315337775362418635793649495303145134363748939797032429249831838076406869446272421717203499649687222180235978866394415579223722887512587332808499391624016978280807796903539562216681314569569707885206164732352066822134542170688214269844674570845899961287079554370121680868216792333743137879794573384884180414543786204612674432365145797880023286508207428967853886461384659280908504937446325874457731856924065987032089885251052486184609402363231366567294473357305451160140818 39194694765580307143625791741986862884506100662046709575194581788130220253336678316504746782974580505360294630686412468521867207456916197441349940928098885286729583446831401862714143813931933156621364796711863899953404936188616749760374127246516083226728727589233591589586360282573070760042296411024715828095984787928799897667075477460057132392620361018281090469497639760215350286984133947079410110518451345449002959163008470283832457170588246930065963189972343586687610868813294336124728423722619024487095528118501391716356898228836561382948019485521136080537473606155861424064442634232793776904975617300700011467890844522484935779777941968516356498507835949401542821198035853402033569940105817314785751367471142627311099705252944302363257732625741153150864039575947327648419575480167802312147467196254488343896624563610297078049529740339829 63418348309386529183525687175224569693834305594160219771607732795526070460971063962295293120993413148663620176960904534077494204939540001509493982964360245529597499150468644979777651922266180149187921024704712622265019226803843442042074618721553622444680829054059305745893610039923322012147044861662445981919100977741499615146149191681187766440126765188157359451582780439530688062346552582873059605821596479812751898960040899533664295246995116376338384907175843236374833049049273202519144002946341911999682860927000783340373876509644358286487581702202450650107181491362026156416509456367335947593189887145374582313790805809564490149899622836733148832250973829196116206082216267945819774552780249679931549247494429135518528673106830763747917013534246090597189914033679184572485562512257687563199953380863890707127991130904770435354980900480647 102613043074966836327151478917211432578340406256206929346802314583656290714307742278800039903967993654023914807647317002599361412396456198950843923892459130816327082597300046842491795736198113305809285821416576522218424162992460191802448745968069705671409556643292897335479970322496392772189341272687161810015085765670299512813224669141244898832747126206438449921080420199746038349330686529952469716340047825261754858123049369817496752417583363306404348097148186823062443917862567538643872426668960936486778389045502175056730774738480919669435601187723586730644655097517887580480952090600129724498165504446074593781681650332049425929677564805249505330758809778597659027280252121347853344492886066994717300614965571762829628378359775066111174746159987243748053953609626512220905137992425489875347420577118379051024615694515067513404510640820476 166031391384353365510677166092436002272174711850367149118410047379182361175278806241095333024961406802687534984608221536676855617335996200460337906856819376345924581747768691822269447658464293454997206846121289144483443389796303633844523364689623328116090385697352203081373580362419714784336386134349607791934186743411799127959373860822432665272873891394595809372663200639276726411677239112825529322161644305074506757083090269351161047664578479682742733004324030059437276966911840741163016429615302848486461249972502958397104651248125277955923182889926037380751836588879913736897461546967465672091355391591449176095472456141613916079577187641982654163009783607793775233362468389293673119045666316674648849862460000898348157051466605829859091759694233334345243867643305696793390700504683177438547373957982269758152606825419837948759491541301123 268644434459320201837828645009647434850515118106574078465212361962838651889586548519895372928929400456711449792255538539276217029732452399411181830749278507162251664345068738664761243394662406760806492667537865666701867552788763825646972110657693033787499942340645100416853550684916107556525727407036769601949272509082098640772598529963677564105621017601034259293743620839022764761007925642777999038501692130336261615206139639168657800082161842989147081101472216882499720884774408279806888856284263784973239639018005133453835425986606197625358784077649624111396491686397801317378413637567595396589520896037523769877154106473663342009254752447232159493768593386391434260642720510641526463538552383669366150477425572661177785429826380895970266505854220578093297821252932209014295838497108667313894794535100648809177222519934905462164002182121599 434675825843673567348505811102083437122689829956941227583622409342021013064865354760990705953890807259398984776863760075953072647068448599871519737606097883508176246092837430487030691053126700215803699513659154811185310942585067459491495475347316361903590328037997303498227131047335822340862113541386377393883459252493897768731972390786110229378494908995630068666406821478299491172685164755603528360663336435410768372289229908519818847746740322671889814105796246941936997851686249020969905285899566633459700888990508091850940077234731475581281966967575661492148328275277715054275875184535061068680876287628972945972626562615277258088831940089214813656778376994185209494005188899935199582584218700344015000339885573559525942481292986725829358265548453912438541688896237905807686539001791844752442168493082918567329829345354743410923493723422722 703320260302993769186334456111730871973204948063515306048834771304859664954451903280886078882820207716110434569119298615229289676800900999282701568355376390670427910437906169151791934447789106976610192181197020477887178495373831285138467586005009395691090270378642403915080681732251929897387840948423146995832731761575996409504570920749787793484115926596664327960150442317322255933693090398381527399165028565747029987495369547688476647828902165661036895207268463824436718736460657300776794142183830418432940528008513225304775503221337673206640751045225285603544819961675516371654288822102656465270397183666496715849780669088940600098086692536446973150546970380576643754647909410576726046122771084013381150817311146220703727911119367621799624771402674490531839510149170114821982377498900512066336963028183567376507051865289648873087495905544321 1137996086146667336534840267213814309095894778020456533632457180646880678019317258041876784836711014975509419345983058691182362323869349599154221305961474274178604156530743599638822625500915807192413891694856175289072489437958898744629963061352325757594680598416639707413307812779587752238249954489809524389716191014069894178236543311535898022862610835592294396626557263795621747106378255153985055759828365001157798359784599456208295495575642488332926709313064710766373716588146906321746699428083397051892641416999021317155715580456069148787922718012800947095693148236953231425930164006637717533951273471295469661822407231704217858186918632625661786807325347374761853248653098310511925628706989784357396151157196719780229670392412354347628983036951128402970381199045408020629668916500692356818779131521266485943836881210644392284010989628967043 1841316346449661105721174723325545181069099726083971839681291951951740342973769161322762863719531222691619853915102357306411652000670250598436922874316850664849032066968649768790614559948704914169024083876053195766959667933332730029768430647357335153285770868795282111328388494511839682135637795438232671385548922775645890587741114232285685816346726762188958724586707706112944003040071345552366583158993393566904828347279969003896772143404544653993963604520333174590810435324607563622523493570267227470325581945007534542460491083677406821994563469058026232699237968198628747797584452828740373999221670654961966377672187900793158458285005325162108759957872317755338497003301007721088651674829760868370777301974507866000933398303531721969428607808353802893502220709194578135451651293999592868885116094549450053320343933075934041157098485534511364 2979312432596328442256014990539359490164994504104428373313749132598621020993086419364639648556242237667129273261085415997594014324539600197591144180278324939027636223499393368429437185449620721361437975570909371056032157371291628774398393708709660910880451467211921818741696307291427434373887749928042195775265113789715784765977657543821583839209337597781253121213264969908565750146449600706351638918821758568062626707064568460105067638980187142326890313833397885357184151912754469944270192998350624522218223362006555859616206664133475970782486187070827179794931116435581979223514616835378091533172944126257436039494595132497376316471923957787770546765197665130100350251954106031600577303536750652728173453131704585781163068695944076317057590845304931296472601908239986156081320210500285225703895226070716539264180814286578433441109475163478407 4820628779045989547977189713864904671234094230188400212995041084550361363966855580687402512275773460358749127176187773304005666325209850796028067054595175603876668290468043137220051745398325635530462059446962566822991825304624358804166824356066996064166222336007203930070084801803267116509525545366274867160814036565361675353718771776107269655556064359970211845799972676021509753186520946258718222077815152134967455054344537464001839782384731796320853918353731059947994587237362033566793686568617851992543805307014090402076697747810882792777049656128853412494169084634210727021099069664118465532394614781219402417166783033290534774756929282949879306723069982885438847255255113752689228978366511521098950755106212451782096466999475798286486198653658734189974822617434564291532971504499878094589011320620166592584524747362512474598207960697989771 7799941211642317990233204704404264161399088734292828586308790217148982384959942000052042160832015698025878400437273189301599680649749450993619211234873500542904304513967436505649488930847946356891900035017871937879023982675915987578565218064776656975046673803219125748811781109094694550883413295294317062936079150355077460119696429319928853494765401957751464967013237645930075503332970546965069860996636910703030081761409105924106907421364918938647744232187128945305178739150116503511063879566968476514762028669020646261692904411944358763559535843199680592289100201069792706244613686499496557065567558907476838456661378165787911091228853240737649853488267648015539197507209219784289806281903262173827124208237917037563259535695419874603543789498963665486447424525674550447614291715000163320292906546690883131848705561649090908039317435861468178 12620569990688307538210394418269168832633182964481228799303831301699343748926797580739444673107789158384627527613460962605605346974959301789647278289468676146780972804435479642869540676246271992422362094464834504702015807980540346382732042420843653039212896139226329678881865910897961667392938840660591930096893186920439135473415201096036123150321466317721676812813210321951585256519491493223788083074452062837997536815753643388108747203749650734968598150540860005253173326387478537077857566135586328507305833976034736663769602159755241556336585499328534004783269285704003433265712756163615022597962173688696240873828161199078445865985782523687529160211337630900978044762464333536979035260269773694926074963344129489345356002694895672890029988152622399676422247143109114739147263219500041414881917867311049724433230309011603382637525396559457949 20420511202330625528443599122673432994032271698774057385612621518848326133886739580791486833939804856410505928050734151907205027624708752783266489524342176689685277318402916148519029607094218349314262129482706442581039790656456333961297260485620310014259569942445455427693647019992656218276352135954908993032972337275516595593111630415964976645086868275473141779826447967881660759852462040188857944071088973541027618577162749312215654625114569673616342382727988950558352065537595040588921445702554805022067862645055382925462506571699600319896121342528214597072369486773796139510326442663111579663529732596173079330489539364866356957214635764425179013699605278916517242269673553321268841542173035868753199171582046526908615538390315547493573777651586065162869671668783665186761554934500204735174824414001932856281935870660694290676842832420926127 33041081193018933066653993540942601826665454663255286184916452820547669882813537161530931507047594014795133455664195114512810374599668054572913767813810852836466250122838395791388570283340490341736624223947540947283055598636996680344029302906463963053472466081671785106575512930890617885669290976615500923129865524195955731066526831512001099795408334593194818592639658289833246016371953533412646027145541036379025155392916392700324401828864220408584940533268848955811525391925073577666779011838141133529373696621090119589232108731454841876232706841856748601855638772477799572776039198826726602261491906284869320204317700563944802823200418288112708173910942909817495287032137886858247876802442809563679274134926176016253971541085211220383603765804208464839291918811892779925908818154000246150056742281312982580715166179672297673314368228980384076 53461592395349558595097592663616034820697726362029343570529074339395996016700276742322418340987398871205639383714929266420015402224376807356180257338153029526151527441241311939907599890434708691050886353430247389864095389293453014305326563392084273067732036024117240534269159950883274103945643112570409916162837861471472326659638461927966076440495202868667960372466106257714906776224415573601503971216630009920052773970079142012540056453978790082201282915996837906369877457462668618255700457540695938551441559266145502514694615303154442196128828184384963198928008259251595712286365641489838181925021638881042399534807239928811159780415054052537887187610548188734012529301811440179516718344615845432432473306508222543162587079475526767877177543455794530002161590480676445112670373088500450885231566695314915436997102050332991963991211061401310203 86502673588368491661751586204558636647363181025284629755445527159943665899513813903853349848034992886000772839379124380932825776824044861929094025151963882362617777564079707731296170173775199032787510577377788337147150987930449694649355866298548236121204502105789025640844672881773891989614934089185910839292703385667428057726165293439967176235903537461862778965105764547548152792596369107014149998362171046299077929362995534712864458282843010490786223449265686862181402849387742195922479469378837072080815255887235622103926724034609284072361535026241711800783647031729395285062404840316564784186513545165911719739124940492755962603615472340650595361521491098551507816333949327037764595147058654996111747441434398559416558620560737988260781309260002994841453509292569225038579191242500697035288308976627898017712268230005289637305579290381694279 139964265983718050256849178868174671468060907387313973325974601499339661916214090646175768189022391757206412223094053647352841179048421669285274282490116911888769305005321019671203770064209907723838396930808035727011246377223902708954682429690632509188936538129906266175113832832657166093560577201756320755455541247138900384385803755367933252676398740330530739337571870805263059568820784680615653969578801056219130703333074676725404514736821800572987506365262524768551280306850410814178179926919533010632256815153381124618621339337763726268490363210626674999711655290980990997348770481806402966111535184046954119273932180421567122384030526393188482549132039287285520345635760767217281313491674500428544220747942621102579145700036264756137958852715797524843615099773245670151249564331001147920519875671942813454709370280338281601296790351783004482 226466939572086541918600765072733308115424088412598603081420128659283327815727904550029118037057384643207185062473178028285666955872466531214368307642080794251387082569400727402499940237985106756625907508185824064158397365154352403604038295989180745310141040235695291815958505714431058083175511290942231594748244632806328442111969048807900428912302277792393518302677635352811212361417153787629803967940972102518208632696070211438268973019664811063773729814528211630732683156238153010100659396298370082713072071040616746722548063372373010340851898236868386800495302322710386282411175322122967750298048729212865839013057120914323084987645998733839077910653530385837028161969710094255045908638733155424655968189377019661995704320597002744398740161975800519685068609065814895189828755573501844955808184648570711472421638510343571238602369642164698761 366431205555804592175449943940907979583484995799912576407394730158622989731941995196204886226079776400413597285567231675638508134920888200499642590132197706140156387574721747073703710302195014480464304438993859791169643742378255112558720725679813254499077578365601557991072338547088224176736088492698552350203785879945228826497772804175833681588701018122924257640249506158074271930237938468245457937519773158737339336029144888163673487756486611636761236179790736399283963463088563824278839323217903093345328886193997871341169402710136736609342261447495061800206957613691377279759945803929370716409583913259819958286989301335890207371676525127027560459785569673122548507605470861472327222130407655853200188937319640764574850020633267500536699014691598044528683708839060565341078319904502992876328060320513524927131008790681852839899159993947703243 592898145127891134094050709013641287698909084212511179488814858817906317547669899746234004263137161043620782348040409703924175090793354731714010897774278500391543470144122474476203650540180121237090211947179683855328041107532607516162759021668993999809218618601296849807030844261519282259911599783640783944952030512751557268609741852983734110501003295915317775942927141510885484291655092255875261905460745261255547968725215099601942460776151422700534965994318948030016646619326716834379498719516273176058400957234614618063717466082509746950194159684363448600702259936401763562171121126052338466707632642472685797300046422250213292359322523860866638370439100058959576669575180955727373130769140811277856157126696660426570554341230270244935439176667398564213752317904875460530907075478004837832136244969084236399552647301025424078501529636112402004 959329350683695726269500652954549267282394080012423755896209588976529307279611894942438890489216937444034379633607641379562683225714242932213653487906476206531699857718844221549907360842375135717554516386173543646497684849910862628721479747348807254308296196966898407798103182808607506436647688276339336295155816392696786095107514657159567792089704314038242033583176647668959756221893030724120719842980518419992887304754359987765615948532638034337296202174109684429300610082415280658658338042734176269403729843428612489404886868792646483559536421131858510400909217550093140841931066929981709183117216555732505755587035723586103499730999048987894198830224669732082125177180651817199700352899548467131056346064016301191145404361863537745472138191358996608742436026743936025871985395382507830708464305289597761326683656091707276918400689630060105247 1552227495811586860363551361968190554981303164224934935385024447794435624827281794688672894752354098487655161981648051083486858316507597663927664385680754706923243327862966696026111011382555256954644728333353227501825725957443470144884238769017801254117514815568195257605134027070126788696559288059980120240107846905448343363717256510143301902590707609953559809526103789179845240513548122979995981748441263681248435273479575087367558409308789457037831168168428632459317256701741997493037836762250449445462130800663227107468604334875156230509730580816221959001611477486494904404102188056034047649824849198205191552887082145836316792090321572848760837200663769791041701846755832772927073483668689278408912503190712961617715958703093807990407577368026395172956188344648811486402892470860512668540600550258681997726236303392732700996902219266172507251 2511556846495282586633052014922739822263697244237358691281234036770964932106893689631111785241571035931689541615255692463049541542221840596141317873587230913454943185581810917576018372224930392672199244719526771148323410807354332773605718516366608508425811012535093665403237209878734295133206976336319456535263663298145129458824771167302869694680411923991801843109280436848804996735441153704116701591421782101241322578233935075133174357841427491375127370342538316888617866784157278151696174804984625714865860644091839596873491203667802714069267001948080469402520695036588045246033254986015756832942065753937697308474117869422420291821320621836655036030888439523123827023936484590126773836568237745539968849254729262808861363064957345735879715559385391781698624371392747512274877866243020499249064855548279759052919959484439977915302908896232612498 4063784342306869446996603376890930377245000408462293626666258484565400556934175484319784679993925134419344703596903743546536399858729438260068982259267985620378186513444777613602129383607485649626843973052879998650149136764797802918489957285384409762543325828103288923008371236948861083829766264396299576775371510203593472822542027677446171597271119533945361652635384226028650237248989276684112683339863045782489757851713510162500732767150216948412958538510966949347935123485899275644734011567235075160327991444755066704342095538542958944578997582764302428404132172523082949650135443042049804482766914952142888861361200015258737083911642194685415873231552209314165528870692317363053847320236927023948881352445442224426577321768051153726287292927411786954654812716041558998677770337103533167789665405806961756779156262877172678912205128162405119749 6575341188802152033629655391813670199508697652699652317947492521336365489041069173950896465235496170351034245212159436009585941400951278856210300132855216533833129699026588531178147755832416042299043217772406769798472547572152135692095675801751018270969136840638382588411608446827595378962973240732619033310635173501738602281366798844749041291951531457937163495744664662877455233984430430388229384931284827883731080429947445237633907124991644439788085908853505266236552990270056553796430186372219700875193852088846906301215586742210761658648264584712382897806652867559670994896168698028065561315708980706080586169835317884681157375732962816522070909262440648837289355894628801953180621156805164769488850201700171487235438684833008499462167008486797178736353437087434306510952648203346553667038730261355241515832076222361612656827508037058637732247 10639125531109021480626258768704600576753698061161945944613751005901766045975244658270681145229421304770378948809063179556122341259680717116279282392123202154211316212471366144780277139439901691925887190825286768448621684336949938610585633087135428033512462668741671511419979683776456462792739505128918610086006683705332075103908826522195212889222650991882525148380048888906105471233419707072342068271147873666220838281660955400134639892141861388201044447364472215584488113755955829441164197939454776035521843533601973005557682280753720603227262167476685326210785040082753944546304141070115365798475895658223475031196517899939894459644605011207486782493992858151454884765321119316234468477042091793437731554145613711662016006601059653188454301414208965691008249803475865509630418540450086834828395667162203272611232485238785335739713165221042851996 17214466719911173514255914160518270776262395713861598262561243527238131535016313832221577610464917475121413194021222615565708282660631995972489582524978418688044445911497954675958424895272317734224930408597693538247094231909102074302681308888886446304481599509380054099831588130604051841755712745861537643396641857207070677385275625366944254181174182449819688644124713551783560705217850137460571453202432701549951918711608400637768547017133505827989130356217977481821041104026012383237594384311674476910715695622448879306773269022964482261875526752189068224017437907642424939442472839098180927114184876364304061201031835784621051835377567827729557691756433506988744240659949921269415089633847256562926581755845785198897454691434068152650621309901006144427361686890910172020583066743796640501867125928517444788443308707600397992567221202279680584243 27853592251020194994882172929222871353016093775023544207174994533139897580991558490492258755694338779891792142830285795121830623920312713088768864917101620842255762123969320820738702034712219426150817599422980306695715916246052012913266941976021874337994062178121725611251567814380508304548452250990456253482648540912402752489184451889139467070396833441702213792504762440689666176451269844532913521473580575216172756993269356037903186909275367216190174803582449697405529217781968212678758582251129252946237539156050852312330951303718202865102788919665753550228222947725178883988776980168296292912660772022527536232228353684560946295022172838937044474250426365140199125425271040585649558110889348356364313309991398910559470698035127805839075611315215110118369936694386037530213485284246727336695521595679648061054541192839183328306934367500723436239 45068058970931368509138087089741142129278489488885142469736238060378029116007872322713836366159256255013205336851508410687538906580944709061258447442080039530300208035467275496697126929984537160375748008020673844942810148155154087215948250864908320642475661687501779711083155944984560146304164996851993896879290398119473429874460077256083721251571015891521902436629475992473226881669119981993484974676013276766124675704877756675671733926408873044179305159800427179226570321807980595916352966562803729856953234778499731619104220326682685126978315671854821774245660855367603823431249819266477220026845648386831597433260189469181998130399740666666602166006859872128943366085220961855064647744736604919290895065837184109456925389469195958489696921216221254545731623585296209550796552028043367838562647524197092849497849900439581320874155569780404020482 72921651221951563504020260018964013482294583263908686676911232593517926696999430813206095121853595034904997479681794205809369530501257422150027312359181660372555970159436596317435828964696756586526565607443654151638526064401206100129215192840930194980469723865623505322334723759365068450852617247842450150361938939031876182363644529145223188321967849333224116229134238433162893058120389826526398496149593851982297432698147112713574920835684240260369479963382876876632099539589948808595111548813932982803190773934550583931435171630400887992081104591520575324473883803092782707420026799434773512939506420409359133665488543153742944425421913505603646640257286237269142491510492002440714205855625953275655208375828583020016396087504323764328772532531436364664101560279682247081010037312290095175258169119876740910552391093278764649181089937281127456721 117989710192882932013158347108705155611573072752793829146647470653895955813007303135919931488012851289918202816533302616496908437082202131211285759801261699902856178194903871814132955894681293746902313615464327996581336212556360187345163443705838515622945385553125285033417879704349628597156782244694444047241229337151349612238104606401306909573538865224746018665763714425636119939789509808519883470825607128748422108403024869389246654762093113304548785123183304055858669861397929404511464515376736712660144008713050315550539391957083573119059420263375397098719544658460386530851276618701250732966352068796190731098748732622924942555821654172270248806264146109398085857595712964295778853600362558194946103441665767129473321476973519722818469453747657619209833183864978456631806589340333463013820816644073833760050240993718345970055245507061531477203 190911361414834495517178607127669169093867656016702515823558703247413882510006733949126026609866446324823200296215096822306277967583459553361313072160443360275412148354340468131568784859378050333428879222907982148219862276957566287474378636546768710603415109418748790355752603463714697048009399492536894197603168276183225794601749135546530097895506714557970134894897952858799012997909899635046281966975200980730719541101171982102821575597777353564918265086566180932490769400987878213106576064190669695463334782647600899481974563587484461111140524854895972423193428461553169238271303418136024245905858489205549864764237275776667886981243567677873895446521432346667228349106204966736493059455988511470601311817494350149489717564477843487147241986279093983873934744144660703712816626652623558189078985763950574670602632086997110619236335444342658933924 308901071607717427530336954236374324705440728769496344970206173901309838323014037085045958097879297614741403112748399438803186404665661684572598831961705060178268326549244339945701740754059344080331192838372310144801198489513926474819542080252607226226360494971874075389170483168064325645166181737231338244844397613334575406839853741947837007469045579782716153560661667284435132937699409443566165437800808109479141649504196851492068230359870466869467050209749484988349439262385807617618040579567406408123478791360651215032513955544568034230199945118271369521912973120013555769122580036837274978872210558001740595862986008399592829537065221850144144252785578456065314206701917931032271913056351069665547415259160117278963039041451363209965711440026751603083767928009639160344623215992957021202899802408024408430652873080715456589291580951404190411127 499812433022551923047515561364043493799308384786198860793764877148723720833020771034171984707745743939564603408963496261109464372249121237933911904122148420453680474903584808077270525613437394413760072061280292293021060766471492762293920716799375936829775604390622865744923086631779022693175581229768232442447565889517801201441602877494367105364552294340686288455559620143234145935609309078612447404776009090209861190605368833594889805957647820434385315296315665920840208663373685830724616643758076103586813574008252114514488519132052495341340469973167341945106401581566725007393883454973299224778069047207290460627223284176260716518308789528018039699307010802732542555808122897768764972512339581136148727076654467428452756605929206697112953426305845586957702672154299864057439842645580579391978788171974983101255505167712567208527916395746849345051 808713504630269350577852515600417818504749113555695205763971051050033559156034808119217942805625041554306006521711895699912650776914782922506510736083853480631948801452829148022972266367496738494091264899652602437822259255985419237113462797051983163056136099362496941134093569799843348338341762966999570687291963502852376608281456619442204112833597874123402442016221287427669278873308718522178612842576817199689002840109565685086958036317518287303852365506065150909189647925759493448342657223325482511710292365368903329547002474676620529571540415091438711467019374701580280776516463491810574203650279605209031056490209292575853546055374011378162183952092589258797856762510040828801036885568690650801696142335814584707415795647380569907078664866332597190041470600163939024402063058638537600594878590579999391531908378248428023797819497347151039756178 1308525937652821273625368076964461312304057498341894066557735928198757279989055579153389927513370785493870609930675391961022115149163904160440422640206001901085629276356413956100242791980934132907851336960932894730843320022456911999407383513851359099885911703753119806879016656431622371031517344196767803129739529392370177809723059496936571218198150168464088730471780907570903424808918027600791060247352826289898864030714934518681847842275166107738237680802380816830029856589133179279067273867083558615297105939377155444061490993808673024912880885064606053412125776283147005783910346946783873428428348652416321517117432576752114262573682800906180223651399600061530399318318163726569801858081030231937844869412469052135868552253309776604191618292638442776999173272318238888459502901284118179986857378751974374633163883416140591006347413742897889101229 2117239442283090624203220592564879130808806611897589272321706979248790839145090387272607870318995827048176616452387287660934765926078687082946933376289855381717578077809243104123215058348430871401942601860585497168665579278442331236520846310903342262942047803115616748013110226231465719369859107163767373817031492895222554418004516116378775331031748042587491172488002194998572703682226746122969673089929643489587866870824500203768805878592684395042090046308445967739219504514892672727409931090409041127007398304746058773608493468485293554484421300156044764879145150984727286560426810438594447632078628257625352573607641869327967808629056812284342407603492189320328256080828204555370838743649720882739541011748283636843284347900690346511270283158971039967040643872482177912861565959922655780581735969331973766165072261664568614804166911090048928857407 3425765379935911897828588669529340443112864110239483338879442907447548119134145966425997797832366612542047226383062679621956881075242591243387356016495857282803207354165657060223457850329365004309793938821518391899508899300899243235928229824754701362827959506868736554892126882663088090401376451360535176946771022287592732227727575613315346549229898211051579902959783102569476128491144773723760733337282469779486730901539434722450653720867850502780327727110826784569249361104025852006477204957492599742304504244123214217669984462293966579397302185220650818291270927267874292344337157385378321060506976910041674090725074446080082071202739613190522631254891789381858655399146368281940640601730751114677385881160752688979152900154000123115461901451609482744039817144800416801321068861206773960568593348083948140798236145080709205810514324832946817958636 5543004822219002522031809262094219573921670722137072611201149886696338958279236353698605668151362439590223842835449967282891647001321278326334289392785712664520785431974900164346672908677795875711736540682103889068174478579341574472449076135658043625770007309984353302905237108894553809771235558524302550763802515182815286645732091729694121880261646253639071075447785297568048832173371519846730406427212113269074597772363934926219459599460534897822417773419272752308468865618918524733887136047901640869311902548869272991278477930779260133881723485376695583170416078252601578904763967823972768692585605167667026664332716315408049879831796425474865038858383978702186911479974572837311479345380471997416926892909036325822437248054690469626732184610580522711080461017282594714182634821129429741150329317415921906963308406745277820614681235922995746816043 8968770202154914419860397931623560017034534832376555950080592794143887077413382320124603465983729052132271069218512646904848528076563869569721645409281569947323992786140557224570130759007160880021530479503622280967683377880240817708377305960412744988597966816853089857797363991557641900172612009884837727710573537470408018873459667343009468429491544464690650978407568400137524960664516293570491139764494583048561328673903369648670113320328385400602745500530099536877718226722944376740364341005394240611616406792992487208948462393073226713279025670597346401461687005520475871249101125209351089753092582077708700755057790761488131951034536038665387670113275768084045566879120941119252119947111223112094312774069789014801590148208690592742194086062190005455120278162083011515503703682336203701718922665499870047761544551825987026425195560755942564774679 14511775024373916941892207193717779590956205554513628561281742680840226035692618673823209134135091491722494912053962614187740175077885147896055934802067282611844778218115457388916803667684956755733267020185726170035857856459582392180826382096070788614367974126837443160702601100452195709943847568409140278474376052653223305519191759072703590309753190718329722053855353697705573792837887813417221546191706696317635926446267304574889572919788920298425163273949372289186187092341862901474251477053295881480928309341861760200226940323852486847160749155974041984632103083773077450153865093033323858445678187245375727419390507076896181830866332464140252708971659746786232478359095513956563599292491695109511239666978825340624027396263381062368926270672770528166200739179365606229686338503465633442869251982915791954724852958571264847039876796678938311590722 23480545226528831361752605125341339607990740386890184511362335474984113113106000993947812600118820543854765981272475261092588703154449017465777580211348852559168771004256014613486934426692117635754797499689348451003541234339823209889203688056483533602965940943690533018499965092009837610116459578293978006184949590123631324392651426415713058739244735183020373032262922097843098753502404106987712685956201279366197255120170674223559686240117305699027908774479471826063905319064807278214615818058690122092544716134854247409175402716925713560439774826571388386093790089293553321402966218242674948198770769323084428174448297838384313781900868502805640379084935514870278045238216455075815719239602918221605552441048614355425617544472071655111120356734960533621321017341448617745190042185801837144588174648415662002486397510397251873465072357434880876365401 37992320250902748303644812319059119198946945941403813072644078155824339148798619667771021734253912035577260893326437875280328878232334165361833515013416135171013549222371472002403738094377074391488064519875074621039399090799405602070030070152554322217333915070527976179202566192462033320060307146703118284659325642776854629911843185488416649048997925901350095086118275795548672546340291920404934232147907975683833181566437978798449259159906225997453072048428844115250092411406670179688867295111986003573473025476716007609402343040778200407600523982545430370725893173066630771556831311275998806644448956568460155593838804915280495612767200966945893088056595261656510523597311969032379318532094613331116792108027439696049644940735452717480046627407731061787521756520814223974876380689267470587457426631331453957211250468968516720504949154113819187956123 61472865477431579665397417444400458806937686328293997584006413630808452261904620661718834334372732579432026874598913136372917581386783182827611095224764987730182320226627486615890672521069192027242862019564423072042940325139228811959233758209037855820299856014218509197702531284471870930176766724997096290844275232900485954304494611904129707788242661084370468118381197893391771299842696027392646918104109255050030436686608653022008945400023531696480980822908315941313997730471477457903483113170676125666017741611570255018577745757703913968040298809116818756819683262360184092959797529518673754843219725891544583768287102753664809394668069469751533467141530776526788568835528424108195037771697531552722344549076054051475262485207524372591166984142691595408842773862262841720066422875069307732045601279747115959697647979365768593970021511548700064321524 99465185728334327969042229763459578005884632269697810656650491786632791410703240329489856068626644615009287767925351011653246459619117348189444610238181122901195869448998958618294410615446266418730926539439497693082339415938634414029263828361592178037633771084746485376905097476933904250237073871700214575503600875677340584216337797392546356837240586985720563204499473688940443846182987947797581150252017230733863618253046631820458204559929757693934052871337160056564090141878147637592350408282662129239490767088286262627980088798482114375640822791662249127545576435426814864516628840794672561487668682460004739362125907668945305007435270436697426555198126038183299092432840393140574356303792144883839136657103493747524907425942977090071213611550422657196364530383077065694942803564336778319503027911078569916908898448334285314474970665662519252277647 160938051205765907634439647207860036812822318597991808240656905417441243672607860991208690402999377194441314642524264148026164041005900531017055705462946110631378189675626445234185083136515458445973788559003920765125279741077863225988497586570630033857933627098964994574607628761405775180413840596697310866347876108577826538520832409296676064625483248070091031322880671582332215146025683975190228068356126485783894054939655284842467149959953289390415033694245475997878087872349625095495833521453338254905508508699856517646557834556186028343681121600779067884365259697786998957476426370313346316330888408351549323130413010422610114402103339906448960022339656814710087661268368817248769394075489676436561481206179547799000169911150501462662380595693114252605207304245339907415009226439406086051548629190825685876606546427700053908444992177211219316599171 260403236934100235603481876971319614818706950867689618897307397204074035083311101320698546471626021809450602410449615159679410500625017879206500315701127233532574059124625403852479493751961724864704715098443418458207619157016497640017761414932222211895567398183711479951512726238339679430650914468397525441851476984255167122737170206689222421462723835055811594527380145271272658992208671922987809218608143716517757673192701916662925354519883047084349086565582636054442178014227772733088183929736000384144999275788142780274537923354668142719321944392441317011910836133213813821993055211108018877818557090811554062492538918091555419409538610343146386577537782852893386753701209210389343750379281821320400617863283041546525077337093478552733594207243536909801571834628416973109952030003742864371051657101904255793515444876034339222919962842873738568876818 421341288139866143237921524179179651631529269465681427137964302621515278755918962311907236874625399003891917052973879307705574541630918410223556021164073344163952248800251849086664576888477183310678503657447339223332898898094360866006259001502852245753501025282676474526120354999745454611064755065094836308199353092832993661258002615985898486088207083125902625850260816853604874138234355898178037286964270202301651728132357201505392504479836336474764120259828112052320265886577397828584017451189338639050507784487999297921095757910854171063003065993220384896276095831000812779469481581421365194149445499163103385622951928514165533811641950249595346599877439667603474414969578027638113144454771497756962099069462589345525247248243980015395974802936651162406779138873756880524961256443148950422600286292729941670121991303734393131364955020084957885475989 681744525073966378841403401150499266450236220333371046035271699825589313839230063632605783346251420813342519463423494467384985042255936289430056336865200577696526307924877252939144070640438908175383218755890757681540518055110858506024020416435074457649068423466387954477633081238085134041715669533492361750050830077088160783995172822675120907550930918181714220377640962124877533130443027821165846505572413918819409401325059118168317858999719383559113206825410748106762443900805170561672201380925339023195507060276142078195633681265522313782325010385661701908186931964214626601462536792529384071968002589974657448115490846605720953221180560592741733177415222520496861168670787238027456894834053319077362716932745630892050324585337458568129569010180188072208350973502173853634913286446891814793651943394634197463637436179768732354284917862958696454352807 1103085813213832522079324925329678918081765489799052473173236002447104592595149025944513020220876819817234436516397373775090559583886854699653612358029273921860478556725129102025808647528916091486061722413338096904873416953205219372030279417937926703402569448749064429003753436237830588652780424598587198058250183169921154445253175438661019393639138001307616846227901778978482407268677383719343883792536684121121061129457416319673710363479555720033877327085238860159082709787382568390256218832114677662246014844764141376116729439176376484845328076378882086804463027795215439380932018373950749266117448089137760833738442775119886487032822510842337079777292662188100335583640365265665570039288824816834324816002208220237575571833581438583525543813116839234615130112375930734159874542890040765216252229687364139133759427483503125485649872883043654339828796 1784830338287798900920728326480178184532001710132423519208507702272693906434379089577118803567128240630576955979820868242475544626142790989083668694894474499557004864650006354964952718169354999661444941169228854586413935008316077878054299834373001161051637872215452383481386517475915722694496094132079559808301013247009315229248348261336140301190068919489331066605542741103359940399120411540509730298109098039940470530782475437842028222479275103592990533910649608265845153688187738951928420213040016685441521905040283454312363120441898798627653086764543788712649959759430065982394555166480133338085450679112418281853933621725607440254003071435078812954707884708597196752311152503693026934122878135911687532934953851129625896418918897151655112823297027306823481085878104587794787829336932580009904173081998336597396863663271857839934790746002350794181603 2887916151501631423000053251809857102613767199931475992381743704719798499029528115521631823788005060447811392496218242017566104210029645688737281052923748421417483421375135456990761365698271091147506663582566951491287351961521297250084579252310927864454207320964516812485139953713746311347276518730666757866551196416930469674501523699997159694829206920796947912833444520081842347667797795259853614090645782161061531660239891757515738585958830823626867860995888468424927863475570307342184639045154694347687536749804424830429092559618275283472981163143425875517112987554645505363326573540430882604202898768250179115592376396845493927286825582277415892732000546896697532335951517769358596973411702952746012348937162071367201468252500335735180656636413866541438611198254035321954662372226973345226156402769362475731156291146774983325584663629046005134010399 4672746489789430323920781578290035287145768910063899511590251406992492405463907205098750627355133301078388348476039110260041648836172436677820949747818222920974488286025141811955714083867626090808951604751795806077701286969837375128138879086683929025505845193179969195966526471189662034041772612862746317674852209663939784903749871961333299996019275840286278979438987261185202288066918206800363344388754880201002002191022367195357766808438105927219858394906538076690773017163758046294113059258194711033129058654844708284741455680060174082100634249907969664229762947314075571345721128706911015942288349447362597397446310018571101367540828653712494705686708431605294729088262670273051623907534581088657699881872115922496827364671419232886835769459710893848262092284132139909749450201563905925236060575851360812328553154810046841165519454375048355928192002 7560662641291061746920834830099892389759536109995375503971995111712290904493435320620382451143138361526199740972257352277607753046202082366558230800741971342391971707400277268946475449565897181956458268334362757568988638931358672378223458338994856889960052514144486008451666424903408345389049131593413075541403406080870254578251395661330459690848482761083226892272431781267044635734716002060216958479400662362063533851262258952873505394396936750846726255902426545115700880639328353636297698303349405380816595404649133115170548239678449365573615413051395539746875934868721076709047702247341898546491248215612776513038686415416595294827654235989910598418708978501992261424214188042410220880946284041403712230809277993864028832923919568622016426096124760389700703482386175231704112573790879270462216978620723288059709445956821824491104118004094361062202401 12233409131080492070841616408389927676905305020059275015562246518704783309957342525719133078498271662604588089448296462537649401882374519044379180548560194263366459993425419080902189533433523272765409873086158563646689925901196047506362337425678785915465897707324455204418192896093070379430821744456159393216255615744810039482001267622663759686867758601369505871711419042452246923801634208860580302868155542563065536042284626148231272202835042678066584650808964621806473897803086399930410757561544116413945654059493841399912003919738623447674249662959365203976638882182796648054768830954252914488779597662975373910484996433987696662368482889702405304105417410107286990512476858315461844788480865130061412112681393916360856197595338801508852195555835654237962795766518315141453562775354785195698277554472084100388262600766868665656623572379142716990394403 19794071772371553817762451238489820066664841130054650519534241630417074214450777846339515529641410024130787830420553814815257154928576601410937411349302165605758431700825696349848664982999420454721868141420521321215678564832554719884585795764673642805425950221468941212869859320996478724819870876049572468757659021825680294060252663283994219377716241362452732763983850823719291559536350210920797261347556204925129069893546885101104777597231979428913310906711391166922174778442414753566708455864893521794762249464142974515082552159417072813247865076010760743723514817051517724763816533201594813035270845878588150423523682849404291957196137125692315902524126388609279251936691046357872065669427149171465124343490671910224885030519258370130868621651960414627663499248904490373157675349145664466160494533092807388447972046723690490147727690383237078052596804 32027480903452045888604067646879747743570146150113925535096488149121857524408120372058648608139681686735375919868850277352906556810951120455316591897862359869124891694251115430750854516432943727487278014506679884862368490733750767390948133190352428720891847928793396417288052217089549104250692620505731861973914637570490333542253930906657979064583999963822238635695269866171538483337984419781377564215711747488194605935831511249336049800067022106979895557520355788728648676245501153497119213426437638208707903523636815914994556079155696260922114738970125947700153699234314372818585364155847727524050443541563524334008679283391988619564620015394721206629543798716566242449167904673333910457908014301526536456172065826585741228114597171639720817207796068865626295015422805514611238124500449661858772087564891488836234647490559155804351262762379795042991207 51821552675823599706366518885369567810234987280168576054630729779538931738858898218398164137781091710866163750289404092168163711739527721866254003247164525474883323395076811780599519499432364182209146155927201206078047055566305487275533928955026071526317798150262337630157911538086027829070563496555304330731573659396170627602506594190652198442300241326274971399679120689890830042874334630702174825563267952413323675829378396350440827397299001535893206464231746955650823454687915907063827669291331160003470152987779790430077108238572769074169979814980886691423668516285832097582401897357442540559321289420151674757532362132796280576760757141087037109153670187325845494385858951031205976127335163472991660799662737736810626258633855541770589438859756483493289794264327295887768913473646114128019266620657698877284206694214249645952078953145616873095588011 83849033579275645594970586532249315553805133430282501589727217928660789263267018590456812745920773397601539670158254369521070268550478842321570595145026885344008215089327927211350374015865307909696424170433881090940415546300056254666482062145378500247209646079055734047445963755175576933321256117061036192705488296966660961144760525097310177506884241290097210035374390556062368526212319050483552389778979699901518281765209907599776877197366023642873102021752102744379472130933417060560946882717768798212178056511416606345071664317728465335092094553951012639123822215520146470400987261513290268083371732961715199091541041416188269196325377156481758315783213986042411736835026855704539886585243177774518197255834803563396367486748452713410310256067552552358916089279750101402380151598146563789878038708222590366120441341704808801756430215907996668138579218 135670586255099245301337105417618883364040120710451077644357947708199721002125916808854976883701865108467703420447658461689233980290006564187824598392191410818891538484404738991949893515297672091905570326361082297018462601866361741942015991100404571773527444229318071677603875293261604762391819613616340523437061956362831588747267119287962375949184482616372181435053511245953198569086653681185727215342247652314841957594588303950217704594665025178766308485983849700030295585621332967624774552009099958215648209499196396775148772556301234409262074368931899330547490731805978567983389158870732808642693022381866873849073403548984549773086134297568795424936884173368257231220885806735745862712578341247509858055497541300206993745382308255180899694927309035852205883544077397290149065071792677917897305328880289243404648035919058447708509169053613541234167229 219519619834374890896307691949868198917845254140733579234085165636860510265392935399311789629622638506069243090605912831210304248840485406509395193537218296162899753573732666203300267531162980001601994496794963387958878148166417996608498053245783072020737090308373805725049839048437181695713075730677376716142550253329492549892027644385272553456068723906469391470427901802015567095298972731669279605121227352216360239359798211549994581792031048821639410507735952444409767716554750028185721434726868756427826266010613003120220436874029699744354168922882911969671312947326125038384376420384023076726064755343582072940614444965172818969411511454050553740720098159410668968055912662440285749297821519022028055311332344863603361232130760968591209950994861588211121972823827498692529216669939241707775344037102879609525089377623867249464939384961610209372746447 355190206089474136197644797367487082281885374851184656878443113345060231267518852208166766513324503614536946511053571292899538229130491970697219791929409706981791292058137405195250161046460652093507564823156045684977340750032779738550514044346187643794264534537691877402653714341698786458104895344293717239579612209692324138639294763673234929405253206522841572905481413047968765664385626412855006820463475004531202196954386515500212286386696074000405718993719802144440063302176082995810495986735968714643474475509809399895369209430330934153616243291814811300218803679132103606367765579254755885368757777725448946789687848514157368742497645751619349165656982332778926199276798469176031612010399860269537913366829886163810354977513069223772109645922170624063327856367904895982678281741731919625672649365983168852929737413542925697173448554015223750606913676 574709825923849027093952489317355281199730628991918236112528278981920741532911787607478556142947142120606189601659484124109842477970977377206614985466628003144691045631870071398550428577623632095109559319951009072936218898199197735159012097591970715815001624846065683127703553390135968153817971074971093955722162463021816688531322408058507482861321930429310964375909314849984332759684599144524286425584702356747562436314184727050206868178727122822045129501455754588849831018730833023996217421462837471071300741520422403015589646304360633897970412214697723269890116626458228644752141999638778962094822533069031019730302293479330187711909157205669902906377080492189595167332711131616317361308221379291565968678162231027413716209643830192363319596917032212274449829191732394675207498411671161333447993403086048462454826791166792946638387938976833959979660123 929900032013323163291597286684842363481616003843102892990971392326980972800430639815645322656271645735143136112713055417009380707101469347903834777396037710126482337690007476593800589624084284188617124143107054757913559648231977473709526141938158359609266159383757560530357267731834754611922866419264811195301774672714140827170617171731742412266575136952152537281390727897953098424070225557379293246048177361278764633268571242550419154565423196822450848495175556733289894320906916019806713408198806185714775217030231802910958855734691568051586655506512534570108920305590332251119907578893534847463580310794479966519990141993487556454406802957289252072034062824968521366609509600792348973318621239561103882044992117191224071187156899416135429242839202836337777685559637290657885780153403080959120642769069217315384564204709718643811836492992057710586573799 1504609857937172190385549776002197644681346632835021129103499671308901714333342427423123878799218787855749325714372539541119223185072446725110449762862665713271173383321877547992351018201707916283726683463058063830849778546431175208868538239530129075424267784229823243658060821121970722765740837494235905151023937135735957515701939579790249895127897067381463501657300042747937431183754824701903579671632879718026327069582755969600626022744150319644495977996631311322139725339637749043802930829661643656786075958550654205926548502039052201949557067721210257839999036932048560895872049578532313809558402843863510986250292435472817744166315960162959154978411143317158116533942220732408666334626842618852669850723154348218637787396800729608498748839756235048612227514751369685333093278565074242292568636172155265777839390995876511590450224431968891670566233922 2434509889950495353677147062687040008162962636678124022094471063635882687133773067238769201455490433590892461827085594958128603892173916073014284540258703423397655721011885024586151607825792200472343807606165118588763338194663152682578064381468287435033533943613580804188418088853805477377663703913500716346325711808450098342872556751521992307394472204333616038938690770645890529607825050259282872917681057079305091702851327212151045177309573516466946826491806868055429619660544665063609644237860449842500851175580886008837507357773743770001143723227722792410107957237638893146991957157425848657021983154657990952770282577466305300620722763120248407050445206142126637900551730333201015307945463858413773732768146465409861858583957629024634178082595437884950005200311006975990979058718477323251689278941224483093223955200586230234262060924960949381152807721 3939119747887667544062696838689237652844309269513145151197970734944784401467115494661893080254709221446641787541458134499247827077246362798124734303121369136668829104333762572578502626027500116756070491069223182419613116741094327891446602620998416510457801727843404047846478909975776200143404541407736621497349648944186055858574496331312242202522369271715079540595990813393827960791579874961186452589313936797331418772434083181751671200053723836111442804488438179377569345000182414107412575067522093499286927134131540214764055859812795971950700790948933050250106994169687454042864006735958162466580385998521501939020575012939123044787038723283207562028856349459284754434493951065609681642572306477266443583491300813628499645980758358633132926922351672933562232715062376661324072337283551565544257915113379748871063346196462741824712285356929841051719041643 6373629637838162897739843901376277661007271906191269173292441798580667088600888561900662281710199655037534249368543729457376430969420278871139018843380072560066484825345647597164654233853292317228414298675388301008376454935757480574024667002466703945491335671456984852034896998829581677521068245321237337843675360752636154201447053082834234509916841476048695579534681584039718490399404925220469325506994993876636510475285410393902716377363297352578389630980245047432998964660727079171022219305382543341787778309712426223601563217586539741951844514176655842660214951407326347189855963893384011123602369153179492891790857590405428345407761486403455969079301555601411392335045681398810696950517770335680217316259447279038361504564715987657767105004947110818512237915373383637315051396002028888795947194054604231964287301397048972058974346281890790432871849364 10312749385725830441802540740065515313851581175704414324490412533525451490068004056562555361964908876484176036910001863956624258046666641669263753146501441696735313929679410169743156859880792433984484789744611483427989571676851808465471269623465120455949137399300388899881375908805357877664472786728973959341025009696822210060021549414146476712439210747763775120130672397433546451190984800181655778096308930673967929247719493575654387577417021188689832435468683226810568309660909493278434794372904636841074705443843966438365619077399335713902545305125588892910321945577013801232719970629342173590182755151700994830811432603344551390194800209686663531108157905060696146769539632464420378593090076812946660899750748092666861150545474346290900031927298783752074470630435760298639123733285580454340205109167983980835350647593511713883686631638820631484590891007 16686379023563993339542384641441792974858853081895683497782854332106118578668892618463217643675108531521710286278545593414000689016086920540402771989881514256801798755025057766907811093734084751212899088419999784436366026612609289039495936625931824401440473070757373751916272907634939555185541032050211297184700370449458364261468602496980711222356052223812470699665353981473264941590389725402125103603303924550604439723004903969557103954780318541268222066448928274243567274321636572449457013678287180182862483753556392661967182294985875455854389819302244735570536896984340148422575934522726184713785124304880487722602290193749979735602561696090119500187459460662107539104585313863231075543607847148626878216010195371705222655110190333948667136932245894570586708545809143935954175129287609343136152303222588212799637948990560685942660977920711421917462740371 26999128409289823781344925381507308288710434257600097822273266865631570068736896675025773005640017408005886323188547457370624947062753562209666525136382955953537112684704467936650967953614877185197383878164611267864355598289461097504967206249396944857389610470057762651797648816440297432850013818779185256525725380146280574321490151911127187934795262971576245819796026378906811392781374525583780881699612855224572368970724397545211491532197339729958054501917611501054135583982546065727891808051191817023937189197400359100332801372385211169756935124427833628480858842561353949655295905152068358303967879456581482553413722797094531125797361905776783031295617365722803685874124946327651454136697923961573539115760943464372083805655664680239567168859544678322661179176244904234593298862573189797476357412390572193634988596584072399826347609559532053402053631378 43685507432853817120887310022949101263569287339495781320056121197737688647405789293488990649315125939527596609467093050784625636078840482750069297126264470210338911439729525703558779047348961936410282966584611052300721624902070386544463142875328769258830083540815136403713921724075236988035554850829396553710425750595738938582958754408107899157151315195388716519461380360380076334371764250985905985302916779775176808693729301514768595486977658271226276568366539775297702858304182638177348821729478997206799672950956751762299983667371086625611324943730078364051395739545694098077871839674794543017753003761461970276016012990844510861399923601866902531483076826384911224978710260190882529680305771110200417331771138836077306460765855014188234305791790572893247887722054048170547473991860799140612509715613160406434626545574633085769008587480243475319516371749 70684635842143640902232235404456409552279721597095879142329388063369258716142685968514763654955143347533482932655640508155250583141594044959735822262647426163876024124433993640209747000963839121607666844749222320165077223191531484049430349124725714116219694010872899055511570540515534420885568669608581810236151130742019512904448906319235087091946578166964962339257406739286887727153138776569686867002529634999749177664453699059980087019174998001184331070284151276351838442286728703905240629780670814230736862148357110862632785039756297795368260068157911992532254582107048047733167744826862901321720883218043452829429735787939041987197285507643685562778694192107714910852835206518533983817003695071773956447532082300449390266421519694427801474651335251215909066898298952405140772854433988938088867128003732600069615142158705485595356197039775528721570003127 114370143274997458023119545427405510815849008936591660462385509261106947363548475262003754304270269287061079542122733558939876219220434527709805119388911896374214935564163519343768526048312801058017949811333833372465798848093601870593893492000054483375049777551688035459225492264590771408921123520437978363946576881337758451487407660727342986249097893362353678858718787099666964061524903027555592852305446414774925986358183000574748682506152656272410607638650691051649541300590911342082589451510149811437536535099313862624932768707127384420979585011887990356583650321652742145811039584501657444339473886979505423105445748778783552848597209109510588094261771018492626135831545466709416513497309466181974373779303221136526696727187374708616035780443125824109156954620353000575688246846294788078701376843616893006504241687733338571364364784520019004041086374876 185054779117141098925351780831861920368128730533687539604714897324476206079691161230518517959225412634594562474778374067095126802362028572669540941651559322538090959688597512983978273049276640179625616656083055692630876071285133354643323841124780197491269471562560934514737062805106305829806692190046560174182728012079777964391856567046578073341044471529318641197976193838953851788678041804125279719307976049774675164022636699634728769525327654273594938708934842328001379742877640045987830081290820625668273397247670973487565553746883682216347845080045902349115904903759790193544207329328520345661194770197548875934875484566722594835794494617154273657040465210600341046684380673227950497314313161253748330226835303436976086993608894403043837255094461075325066021518651952980829019700728777016790243971620625606573856829892044056959720981559794532762656378003 299424922392138556948471326259267431183977739470279200067100406585583153443239636492522272263495681921655642016901107626035003021582463100379346061040471218912305895252761032327746799097589441237643566467416889065096674919378735225237217333124834680866319249114248969973962555069697077238727815710484538538129304893417536415879264227773921059590142364891672320056694980938620815850202944831680872571613422464549601150380819700209477452031480310546005546347585533379650921043468551388070419532800970437105809932346984836112498322454011066637327430091933892705699555225412532339355246913830177790000668657177054299040321233345506147684391703726664861751302236229092967182515926139937367010811622627435722704006138524573502783720796269111659873035537586899434222976139004953556517266547023565095491620815237518613078098517625382628324085766079813536803742752879 484479701509279655873823107091129351552106470003966739671815303910059359522930797723040790222721094556250204491679481693130129823944491673048887002692030541450396854941358545311725072146866081417269183123499944757727550990663868579880541174249614878357588720676809904488699617874803383068534507900531098712312032905497314380271120794820499132931186836420990961254671174777574667638880986635806152290921398514324276314403456399844206221556807964819600485056520375707652300786346191434058249614091791062774083329594655809600063876200894748853675275171979795054815460129172322532899454243158698135661863427374603174975196717912228742520186198343819135408342701439693308229200306813165317508125935788689471034232973828010478870714405163514703710290632047974759288997657656906537346286247752342112281864786858144219651955347517426685283806747639608069566399130882 783904623901418212822294433350396782736084209474245939738915710495642512966170434215563062486216776477905846508580589319165132845526954773428233063732501760362702750194119577639471871244455522654912749590916833822824225910042603805117758507374449559223907969791058874462662172944500460307262323611015637250441337798914850796150385022594420192521329201312663281311366155716195483489083931467487024862534820978873877464784276100053683673588288275365606031404105909087303221829814742822128669146892761499879893261941640645712562198654905815491002705263913687760515015354584854872254701156988875925662532084551657474015517951257734890204577902070483997159644937668786275411716232953102684518937558416125193738239112352583981654435201432626363583326169634874193511973796661860093863552794775907207773485602095662832730053865142809313607892513719421606370141883761 1268384325410697868696117540441526134288190679478212679410731014405701872489101231938603852708937871034156051000260071012295262669471446446477120066424532301813099605135478122951196943391321604072181932714416778580551776900706472384998299681624064437581496690467868778951361790819303843375796831511546735962753370704412165176421505817414919325452516037733654242566037330493770151127964918103293177153456219493198153779187732499897889895145096240185206516460626284794955522616160934256186918760984552562653976591536296455312626074855800564344677980435893482815330475483757177405154155400147574061324395511926260648990714669169963632724764100414303132567987639108479583640916539766268002027063494204814664772472086180594460525149606596141067293616801682848952800971454318766631209839042528249320055350388953807052382009212660235998891699261359029675936541014643 2052288949312116081518411973791922917024274888952458619149646724901344385455271666154166915195154647512061897508840660331460395514998401219905353130157034062175802355329597700590668814635777126727094682305333612403376002810749076190116058188998513996805404660258927653414023963763804303683059155122562373213194708503327015972571890840009339517973845239046317523877403486209965634617048849570780202015991040472072031243972008599951573568733384515550812547864732193882258744445975677078315587907877314062533869853477937101025188273510706379835680685699807170575845490838342032277408856557136449986986927596477918123006232620427698522929342002484787129727632576777265859052632772719370686546001052620939858510711198533178442179584808028767430876942971317723146312945250980626725073391837304156527828835991049469885112063077803045312499591775078451282306682898404 3320673274722813950214529514233449051312465568430671298560377739307046257944372898092770767904092518546217948509100731343755658184469847666382473196581566363988901960465075823541865758027098730799276615019750390983927779711455548575114357870622578434386901350726796432365385754583108147058855986634109109175948079207739181148993396657424258843426361276779971766443440816703735785745013767674073379169447259965270185023159741099849463463878480755736019064325358478677214267062136611334502506668861866625187846445014233556337814348366506944180358666135700653391175966322099209682563011957284024048311323108404178771996947289597662155654106102899090262295620215885745442693549312485638688573064546825754523283183284713772902704734414624908498170559773000572099113916705299393356283230879832405847884186380003276937494072290463281311391291036437480958243223913047 5372962224034930031732941488025371968336740457383129917710024464208390643399644564246937683099247166058279846017941391675216053699468248886287826326738600426164704315794673524132534572662875857526371297325084003387303782522204624765230416059621092431192306010985724085779409718346912450741915141756671482389142787711066197121565287497433598361400206515826289290320844302913701420362062617244853581185438300437342216267131749699801037032611865271286831612190090672559473011508112288412818094576739180687721716298492170657363002621877213324016039351835507823967021457160441241959971868514420474035298250704882096895003179910025360678583448105383877392023252792663011301746182085205009375119065599446694381793894483246951344884319222653675929047502744318295245426861956280020081356622717136562375713022371052746822606135368266326623890882811515932240549906811451 8693635498757743981947471002258821019649206025813801216270402203515436901344017462339708451003339684604497794527042123018971711883938096552670299523320166790153606276259749347674400330689974588325647912344834394371231562233660173340344773930243670865579207361712520518144795472930020597800771128390780591565090866918805378270558684154857857204826567792606261056764285119617437206107076384918926960354885560402612401290291490799650500496490346027022850676515449151236687278570248899747320601245601047312909562743506404213700816970243720268196398017971208477358197423482540451642534880471704498083609573813286275667000127199623022834237554208282967654318873008548756744439731397690648063692130146272448905077077767960724247589053637278584427218062517318867344540778661579413437639853596968968223597208751056023760100207658729607935282173847953413198793130724498 14066597722792674013680412490284192987985946483196931133980426667723827544743662026586646134102586850662777640544983514694187765583406345438958125850058767216318310592054422871806934903352850445852019209669918397758535344755864798105575189989864763296771513372698244603924205191276933048542686270147452073954233654629871575392123971652291455566226774308432550347085129422531138626469139002163780541540323860839954617557423240499451537529102211298309682288705539823796160290078361188160138695822340228000631279041998574871063819592120933592212437369806716301325218880642981693602506748986124972118907824518168372562003307109648383512821002313666845046342125801211768046185913482895657438811195745719143286870972251207675592473372859932260356265565261637162589967640617859433518996476314105530599310231122108770582706343026995934559173056659469345439343037535949 22760233221550417995627883492543014007635152509010732350250828871239264446087679488926354585105926535267275435072025637713159477467344441991628425373378934006471916868314172219481335234042825034177667122014752792129766906989524971445919963920108434162350720734410765122069000664206953646343457398538232665519324521548676953662682655807149312771053342101038811403849414542148575832576215387082707501895209421242567018847714731299102038025592557325332532965220988975032847568648610087907459297067941275313540841785504979084764636562364653860408835387777924778683416304125522145245041629457829470202517398331454648229003434309271406347058556521949812700660998809760524790625644880586305502503325891991592191948050019168399840062426497210844783483627778956029934508419279438846956636329911074498822907439873164794342806550685725542494455230507422758638136168260447 36826830944343092009308295982827206995621098992207663484231255538963091990831341515513000719208513385930053075617009152407347243050750787430586551223437701222790227460368595091288270137395675480029686331684671189888302251745389769551495153909973197459122234107109009725993205855483886694886143668685684739473558176178548529054806627459440768337280116409471361750934543964679714459045354389246488043435533282082521636405137971798553575554694768623642215253926528798829007858726971276067597992890281503314172120827503553955828456154485587452621272757584641080008635184768503838847548378443954442321425222849623020791006741418919789859879558835616657747003124610972292836811558363481962941314521637710735478819022270376075432535799357143105139749193040593192524476059897298280475632806225180029422217670995273564925512893712721477053628287166892104077479205796396 59587064165893510004936179475370221003256251501218395834482084410202356436919021004439355304314439921197328510689034790120506720518095229422214976596816635229262144328682767310769605371438500514207353453699423982018069158734914740997415117830081631621472954841519774848062206519690840341229601067223917404992882697727225482717489283266590081108333458510510173154783958506828290291621569776329195545330742703325088655252852703097655613580287325948974748219147517773861855427375581363975057289958222778627712962613008533040593092716850241313030108145362565858692051488894025984092590007901783912523942621181077669020010175728191196206938115357566470447664123420732817627437203244068268443817847529702327670767072289544475272598225854353949923232820819549222458984479176737127432269136136254528245125110868438359268319444398447019548083517674314862715615374056843 96413895110236602014244475458197427998877350493426059318713339949165448427750362519952356023522953307127381586306043942527853963568846016852801527820254336452052371789051362402057875508834175994237039785384095171906371410480304510548910271740054829080595188948628784574055412375174727036115744735909602144466440873905774011772295910726030849445613574919981534905718502471508004750666924165575683588766275985407610291657990674896209189134982094572616963473074046572690863286102552640042655282848504281941885083440512086996421548871335828765651380902947206938700686673662529822940138386345738354845367844030700689811016917147110986066817674193183128194667248031705110464248761607550231385132369167413063149586094559920550705134025211497055062982013860142414983460539074035407907901942361434557667342781863711924193832338111168496601711804841206966793094579853239 156000959276130112019180654933567649002133601994644455153195424359367804864669383524391711327837393228324710096995078732648360684086941246275016504417070971681314516117734129712827480880272676508444393239083519153924440569215219251546325389570136460702068143790148559422117618894865567377345345803133519549459323571632999494489785193992620930553947033430491708060502460978336295042288493941904879134097018688732698946910843377993864802715269420521591711692221564346552718713478134004017712572806727060569598046053520620037014641588186070078681489048309772797392738162556555807032728394247522267369310465211778358831027092875302182273755789550749598642331371452437928091685964851618499828950216697115390820353166849465025977732251065851004986214834679691637442445018250772535340171078497689085912467892732150283462151782509615516149795322515521829508709953910082 252414854386366714033425130391765077001010952488070514471908764308533253292419746044344067351360346535452091683301122675176214647655787263127818032237325308133366887906785492114885356389106852502681433024467614325830811979695523762095235661310191289782663332738777343996173031270040294413461090539043121693925764445538773506262081104718651779999560608350473242966220963449844299792955418107480562722863294674140309238568834052890073991850251515094208675165295610919243581999580686644060367855655231342511483129494032707033436190459521898844332869951256979736093424836219085629972866780593260622214678309242479048642044010022413168340573463743932726836998619484143038555934726459168731214082585864528453969939261409385576682866276277348060049196848539834052425905557324807943248073020859123643579810674595862207655984120620784012751507127356728796301804533763321 408415813662496826052605785325332726003144554482714969625104188667901058157089129568735778679197739763776801780296201407824575331742728509402834536654396279814681404024519621827712837269379529011125826263551133479755252548910743013641561050880327750484731476528925903418290650164905861790806436342176641243385088017171773000751866298711272710553507641780964951026723424428180594835243912049385441856960313362873008185479677430883938794565520935615800386857517175265796300713058820648078080428461958403081081175547553327070450832047707968923014358999566752533486162998775641437005595174840782889583988774454257407473071102897715350614329253294682325479329990936580966647620691310787231043032802561643844790292428258850602660598527343199065035411683219525689868350575575580478588244099356812729492278567328012491118135903130399528901302449872250625810514487673403 660830668048863540086030915717097803004155506970785484097012952976434311449508875613079846030558086299228893463597324083000789979398515772530652568891721587948048291931305113942598193658486381513807259288018747805586064528606266775736796712190519040267394809267703247414463681434946156204267526881219762937310852462710546507013947403429924490553068250131438193992944387878024894628199330156866004579823608037013317424048511483774012786415772450710009062022812786185039882712639507292138448284117189745592564305041586034103887022507229867767347228950823732269579587834994727066978461955434043511798667083696736456115115112920128518954902717038615052316328610420724005203555417769955962257115388426172298760231689668236179343464803620547125084608531759359742294256132900388421836317120215936373072089241923874698774120023751183541652809577228979422112319021436724 1069246481711360366138636701042430529007300061453500453722117141644335369606598005181815624709755826063005695243893525490825365311141244281933487105546117867762729695955824735770311030927865910524933085551569881285341317077517009789378357763070846790752126285796629150832754331599852017995073963223396404180695940479882319507765813702141197201106575891912403145019667812306205489463443242206251446436783921399886325609528188914657951580981293386325809448880329961450836183425698327940216528712579148148673645480589139361174337854554937836690361587950390484803065750833770368503984057130274826401382655858150993863588186215817843869569231970333297377795658601357304971851176109080743193300148190987816143550524117927086782004063330963746190120020214978885432162606708475968900424561219572749102564367809251887189892255926881583070554112027101230047922833509110127 1730077149760223906224667616759528332011455568424285937819130094620769681056106880794895470740313912362234588707490849573826155290539760054464139674437839455710777987887129849712909224586352292038740344839588629090927381606123276565115154475261365831019521095064332398247218013034798174199341490104616167118006792942592866014779761105571121691659644142043841339012612200184230384091642572363117451016607529436899643033576700398431964367397065837035818510903142747635876066138337835232354976996696337894266209785630725395278224877062167704457708816901214217072645338668765095570962519085708869913181322941847730319703301328737972388524134687371912430111987211778028977054731526850699155557263579413988442310755807595322961347528134584293315204628746738245174456862841376357322260878339788685475636457051175761888666375950632766612206921604330209470035152530546851 2799323631471584272363304317801958861018755629877786391541247236265105050662704885976711095450069738425240283951384375064651520601681004336397626779983957323473507683842954585483220255514218202563673430391158510376268698683640286354493512238332212621771647380860961549079972344634650192194415453328012571298702733422475185522545574807712318892766220033956244484032280012490435873555085814569368897453391450836785968643104889313089915948378359223361627959783472709086712249564036163172571505709275486042939855266219864756452562731617105541148070404851604701875711089502535464074946576215983696314563978799998724183291487544555816258093366657705209807907645813135333948905907635931442348857411770401804585861279925522409743351591465548039505324648961717130606619469549852326222685439559361434578200824860427649078558631877514349682761033631431439517957986039656978 4529400781231808178587971934561487193030211198302072329360377330885874731718811766771606566190383650787474872658875224638477675892220764390861766454421796779184285671730084435196129480100570494602413775230747139467196080289763562919608666713593578452791168475925293947327190357669448366393756943432628738416709526365068051537325335913283440584425864176000085823044892212674666257646728386932486348469998980273685611676681589711521880315775425060397446470686615456722588315702373998404926482705971823937206065051850590151730787608679273245605779221752818918948356428171300559645909095301692566227745301741846454502994788873293788646617501345077122238019633024913362925960639162782141504414675349815793028172035733117732704699119600132332820529277708455375781076332391228683544946317899150120053837281911603410967225007828147116294967955235761648987993138570203829 7328724412703392450951276252363446054048966828179858720901624567150979782381516652748317661640453389212715156610259599703129196493901768727259393234405754102657793355573039020679349735614788697166087205621905649843464778973403849274102178951925791074562815856786255496407162702304098558588172396760641309715412259787543237059870910720995759477192084209956330307077172225165102131201814201501855245923390431110471580319786479024611796264153784283759074430470088165809300565266410161577497988415247309980145920318070454908183350340296378786753849626604423620824067517673836023720855671517676262542309280541845178686286276417849604904710868002782332045927278838048696874866546798713583853272087120217597614033315658640142448050711065680372325853926670172506387695801941081009767631757458511554632038106772031060045783639705661465977728988867193088505951124609860807 11858125193935200629539248186924933247079178026481931050262001898036854514100328419519924227830837040000190029269134824341606872386122533118121159688827550881842079027303123455875479215715359191768500980852652789310660859263167412193710845665519369527353984332711549443734353059973546924981929340193270048132121786152611288597196246634279200061617948385956416130122064437839768388848542588434341594393389411384157191996468068736133676579929209344156520901156703622531888880968784159982424471121219133917351985369921045059914137948975652032359628848357242539772423945845136583366764766819368828770054582283691633189281065291143393551328369347859454283946911862962059800827185961495725357686762470033390642205351391757875152749830665812705146383204378627882168772134332309693312578075357661674685875388683634471013008647533808582272696944102954737493944263180064636 19186849606638593080490524439288379301128144854661789771163626465187834296481845072268241889471290429212905185879394424044736068880024301845380552923233304984499872382876162476554828951330147888934588186474558439154125638236571261467813024617445160601916800189497804940141515762277645483570101736953911357847534045940154525657067157355274959538810032595912746437199236663004870520050356789936196840316779842494628772316254547760745472844082993627915595331626791788341189446235194321559922459536466443897497905687991499968097488289272030819113478474961666160596491463518972607087620438337045091312363862825536811875567341708992998456039237350641786329874190701010756675693732760209309210958849590250988256238667050398017600800541731493077472237131048800388556467936273390703080209832816173229317913495455665531058792287239470048250425932970147825999895387789925443 31044974800573793710029772626213312548207322881143720821425628363224688810582173491788166117302127469213095215148529248386342941266146834963501712612060855866341951410179285932430308167045507080703089167327211228464786497499738673661523870282964530129270784522209354383875868822251192408552031077147181405979655832092765814254263403989554159600427980981869162567321301100844638908898899378370538434710169253878785964312722616496879149424012202972072116232783495410873078327203978481542346930657685577814849891057912545028011626238247682851473107323318908700368915409364109190454385205156413920082418445109228445064848407000136392007367606698501240613821102563972816476520918721705034568645612060284378898444018442155892753550372397305782618620335427428270725240070605700396392787908173834904003788884139300002071800934773278630523122877073102563493839650969990079 50231824407212386790520297065501691849335467735805510592589254828412523107064018564056408006773417898426000401027923672431079010146171136808882265535294160850841823793055448408985137118375654969637677353801769667618912135736309935129336894900409690731187584711707159324017384584528837892122132814101092763827189878032920339911330561344829119139238013577781909004520537763849509428949256168306735275026949096373414736628977164257624622268095196599987711564410287199214267773439172803102269390194152021712347796745904044996109114527519713670586585798280574860965406872883081797542005643493459011394782307934765256940415748709129390463406844049143026943695293264983573152214651481914343779604461650535367154682685492553910354350914128798860090857466476228659281708006879091099472997740990008133321702379594965533130593222012748678773548810043250389493735038759915522 81276799207786180500550069691715004397542790616949231414014883191637211917646192055844574124075545367639095616176452920817421951412317971772383978147355016717183775203234734341415445285421162050340766521128980896083698633236048608790860765183374220860458369233916513707893253406780030300674163891248274169806845710125686154165593965334383278739665994559651071571841838864694148337848155546677273709737118350252200700941699780754503771692107399572059827797193782610087346100643151284644616320851837599527197687803816590024120740765767396522059693121599483561334322282247190987996390848649872931477200753043993702005264155709265782470774450747644267557516395828956389628735570203619378348250073710819746053126703934709803107901286526104642709477801903656930006948077484791495865785649163843037325491263734265535202394156786027309296671687116352952987574689729905601 131508623614998567291070366757216696246878258352754742006604138020049735024710210619900982130848963266065096017204376593248500961558489108581266243682649177568025598996290182750400582403796817019978443874930750563702610768972358543920197660083783911591645953945623673031910637991308868192796296705349366933634035588158606494076924526679212397878904008137432980576362376628543657766797411714984008984764067446625615437570676945012128393960202596172047539361604069809301613874082324087746885711045989621239545484549720635020229855293287110192646278919880058422299729155130272785538396492143331942871983060978758958945679904418395172934181294796787294501211689093939962780950221685533722127854535361355113207809389427263713462252200654903502800335268379885589288656084363882595338783390153851170647193643329231068332987378798775988070220497159603342481309728489821123 212785422822784747791620436448931700644421048969703973420619021211686946942356402675745556254924508633704191633380829514065922912970807080353650221830004194285209374199524917091816027689217979070319210396059731459786309402208407152711058425267158132452104323179540186739803891398088898493470460596597641103440881298284292648242518492013595676618570002697084052148204215493237806104645567261661282694501185796877816138512376725766632165652309995744107367158797852419388959974725475372391502031897827220766743172353537225044350596059054506714705972041479541983634051437377463773534787340793204874349183814022752660950944060127660955404955745544431562058728084922896352409685791889153100476104609072174859260936093361973516570153487181008145509813070283542519295604161848674091204569039317694207972684907063496603535381535584803297366892184275956295468884418219726724 344294046437783315082690803206148396891299307322458715427223159231736681967066613295646538385773471899769287650585206107314423874529296188934916465512653371853234973195815099842216610093014796090297654270990482023488920171180765696631256085350942044043750277125163859771714529389397766686266757301947008037074916886442899142319443018692808074497474010834517032724566592121781463871442978976645291679265253243503431576083053670778760559612512591916154906520401922228690573848807799460138387742943816842006288656903257860064580451352341616907352250961359600405933780592507736559073183832936536817221166875001511619896623964546056128339137040341218856559939774016836315190636013574686822603959144433529972468745482789237230032405687835911648310148338663428108584260246212556686543352429471545378619878550392727671868368914383579285437112681435559637950194146709547847 557079469260568062874311239655080097535720356292162688847842180443423628909423015971392094640697980533473479283966035621380346787500103269288566687342657566138444347395340016934032637782232775160616864667050213483275229573389172849342314510618100176495854600304704046511518420787486665179737217898544649140515798184727191790561961510706403751116044013531601084872770807615019269976088546238306574373766439040381247714595430396545392725264822587660262273679199774648079533823533274832529889774841644062773031829256795085108931047411396123622058223002839142389567832029885200332607971173729741691570350689024264280847568024673717083744092785885650418618667858939732667600321805463839923080063753505704831729681576151210746602559175016919793819961408946970627879864408061230777747921468789239586592563457456224275403750449968382582804004865711515933419078564929274571 901373515698351377957002042861228494427019663614621404275065339675160310876489629267038633026471452433242766934551241728694770662029399458223483152855310937991679320591155116776249247875247571250914518938040695506764149744569938545973570595969042220539604877429867906283232950176884431866003975200491657177590715071170090932881404529399211825613518024366118117597337399736800733847531525214951866053031692283884679290678484067324153284877335179576417180199601696876770107672341074292668277517785460904779320486160052945173511498763737740529410473964198742795501612622392936891681155006666278508791517564025775900744191989219773212083229826226869275178607632956568982790957819038526745684022897939234804198427058940447976634964862852831442130109747610398736464124654273787464291273898260784965212442007848951947272119364351961868241117547147075571369272711638822418 1458452984958919440831313282516308591962740019906784093122907520118583939785912645238430727667169432966716246218517277350075117449529502727512049840197968504130123667986495133710281885657480346411531383605090908990039379317959111395315885106587142397035459477734571952794751370964371097045741193099036306318106513255897282723443366040105615576729562037897719202470108207351820003823620071453258440426798131324265927005273914463869546010142157767236679453878801471524849641495874349125198167292627104967552352315416848030282442546175133864151468696967037885185069444652278137224289126180396020200361868253050040181591760013893490295827322612112519693797275491896301650391279624502366668764086651444939635928108635091658723237524037869751235950071156557369364343989062335018242039195367050024551805005465305176222675869814320344451045122412858591504788351276568096989 2359826500657270818788315325377537086389759683521405497397972859793744250662402274505469360693640885399959013153068519078769888111558902185735532993053279442121802988577650250486531133532727917662445902543131604496803529062529049941289455702556184617575064355164439859077984321141255528911745168299527963495697228327067373656324770569504827402343080062263837320067445607088620737671151596668210306479829823608150606295952398531193699295019492946813096634078403168401619749168215423417866444810412565872331672801576900975455954044938871604680879170931236627980571057274671074115970281187062298709153385817075816082335952003113263507910552438339388968975883124852870633182237443540893414448109549384174440126535694032106699872488900722582678080180904167768100808113716608805706330469265310809517017447473154128169947989178672306319286239960005667076157623988206919407 3818279485616190259619628607893845678352499703428189590520880379912328190448314919743900088360810318366675259371585796428845005561088404913247582833251247946251926656564145384196813019190208264073977286148222513486842908380488161336605340809143327014610523832899011811872735692105626625957486361398564269813803741582964656379768136609610442979072642100161556522537553814440440741494771668121468746906627954932416533301226312995063245305161650714049776087957204639926469390664089772543064612103039670839884025116993749005738396591114005468832347867898274513165640501926949211340259407367458318909515254070125856263927712017006753803737875050451908662773158616749172283573517068043260083212196200829114076054644329123765423110012938592333914030252060725137465152102778943823948369664632360834068822452938459304392623858992992650770331362372864258580945975264775016396 6178105986273461078407943933271382764742259386949595087918853239706072441110717194249369449054451203766634272524654315507614893672647307098983115826304527388373729645141795634683344152722936181736423188691354117983646437443017211277894796511699511632185588188063451670950720013246882154869231529698092233309500969910032030036092907179115270381415722162425393842604999421529061479165923264789679053386457778540567139597178711526256944600181143660862872722035607808328089139832305195960931056913452236712215697918570649981194350636052877073513227038829511141146211559201620285456229688554520617618668639887201672346263664020120017311648427488791297631749041741602042916755754511584153497660305750213288516181180023155872122982501839314916592110432964892905565960216495552629654700133897671643585839900411613432562571848171664957089617602332869925657103599252981935803 9996385471889651338027572541165228443094759090377784678439733619618400631559032113993269537415261522133309531896240111936459899233735712012230698659555775334625656301705941018880157171913144445810400474839576631470489345823505372614500137320842838646796112020962463482823455705352508780826717891096656503123304711492996686415861043788725713360488364262586950365142553235969502220660694932911147800293085733472983672898405024521320189905342794374912648809992812448254558530496394968503995669016491907552099723035564398986932747227166882542345574906727785654311852061128569496796489095921978936528183893957327528610191376037126771115386302539243206294522200358351215200329271579627413580872501951042402592235824352279637546092514777907250506140685025618043031112319274496453603069798530032477654662353350072736955195707164657607859948964705734184238049574517756952199 16174491458163112416435516474436611207837018477327379766358586859324473072669749308242638986469712725899943804420894427444074792906383019111213814485860302722999385946847736653563501324636080627546823663530930749454135783266522583892394933832542350278981700209025915153774175718599390935695949420794748736432805681403028716451953950967840983741904086425012344207747552657498563699826618197700826853679543512013550812495583736047577134505523938035775521532028420256582647670328700164464926725929944144264315420954135048968127097863219759615858801945557296795458063620330189782252718784476499554146852533844529200956455040057246788427034730028034503926271242099953258117085026091211567078532807701255691108417004375435509669075016617222167098251117990510948597072535770049083257769932427704121240502253761686169517767555336322564949566567038604109895153173770738888002 26170876930052763754463089015601839650931777567705164444798320478942873704228781422235908523884974248033253336317134539380534692140118731123444513145416078057625042248553677672443658496549225073357224138370507380924625129090027956506895071153385188925777812229988378636597631423951899716522667311891405239556110392896025402867814994756566697102392450687599294572890105893468065920487313130611974653972629245486534485393988760568897324410866732410688170342021232704837206200825095132968922394946436051816415143989699447955059845090386642158204376852285082449769915681458759279049207880398478490675036427801856729566646416094373559542421032567277710220793442458304473317414297670838980659405309652298093700652828727715147215167531395129417604391803016128991628184855044545536860839730957736598895164607111758906472963262500980172809515531744338294133202748288495840201 42345368388215876170898605490038450858768796045032544211156907338267346776898530730478547510354686973933197140738028966824609485046501750234658327631276380780624428195401414326007159821185305700904047801901438130378760912356550540399290004985927539204759512439014293790371807142551290652218616732686153975988916074299054119319768945724407680844296537112611638780637658550966629620313931328312801507652172757500085297889572496616474458916390670446463691874049652961419853871153795297433849120876380196080730564943834496923186942953606401774063178797842379245227979301788949061301926664874978044821888961646385930523101456151620347969455762595312214147064684558257731434499323762050547737938117353553784809069833103150656884242548012351584702642921006639940225257390814594620118609663385440720135666860873445075990730817837302737759082098782942404028355922059234728203 68516245318268639925361694505640290509700573612737708655955227817210220481127312152714456034239661221966450477055163506205144177186620481358102840776692458838249470443955091998450818317734530774261271940271945511303386041446578496906185076139312728130537324669002672426969438566503190368741284044577559215545026467195079522187583940480974377946688987800210933353527764444434695540801244458924776161624802002986619783283561257185371783327257402857151862216070885666257060071978890430402771515822816247897145708933533944878246788043993043932267555650127461694997894983247708340351134545273456535496925389448242660089747872245993907511876795162589924367858127016562204751913621432889528397343427005851878509722661830865804099410079407481002307034724022768931853442245859140156979449394343177319030831467985203982463694080338282910568597630527280698161558670347730568404 110861613706484516096260299995678741368469369657770252867112135155477567258025842883193003544594348195899647617793192473029753662233122231592761168407968839618873898639356506324457978138919836475165319742173383641682146953803129037305475081125240267335296837108016966217341245709054481020959900777263713191533942541494133641507352886205382058790985524912822572134165422995401325161115175787237577669276974760486705081173133753801846242243648073303615554090120538627676913943132685727836620636699196443977876273877368441801433730997599445706330734447969840940225874285036657401653061210148434580318814351094628590612849328397614255481332557757902138514922811574819936186412945194940076135281544359405663318792494934016460983652627419832587009677645029408872078699636673734777098059057728618039166498328858649058454424898175585648327679729310223102189914592406965296607 179377859024753156021621994501319031878169943270507961523067362972687787739153155035907459578834009417866098094848355979234897839419742712950864009184661298457123369083311598322908796456654367249426591682445329152985532995249707534211660157264552995465834161777019638644310684275557671389701184821841272407078969008689213163694936826686356436737674512713033505487693187439836020701916420246162353830901776763473324864456695010987218025570905476160767416306191424293933974015111576158239392152522012691875021982810902386679680519041592489638598290098097302635223769268284365742004195755421891115815739740542871250702597200643608162993209352920492062882780938591382140938326566627829604532624971365257541828515156764882265083062706827313589316712369052177803932141882532874934077508452071795358197329796843853040918118978513868558896277359837503800351473262754695865011 290239472731237672117882294496997773246639312928278214390179498128165354997178997919100463123428357613765745712641548452264651501652864944543625177592630138075997267722668104647366774595574203724591911424618712794667679949052836571517135238389793262801130998885036604861651929984612152410661085599104985598612911550183346805202289712891738495528660037625856077621858610435237345863031596033399931500178751523960029945629828764789064267814553549464382970396311962921610887958244261886076012789221209135852898256688270828481114250039191935344929024546067143575449643553321023143657256965570325696134554091637499841315446529041222418474541910678394201397703750166202077124739511822769680667906515724663205147307651698898726066715334247146176326390014081586676010841519206609711175567509800413397363828125702502099372543876689454207223957089147726902541387855161661161618 469617331755990828139504288998316805124809256198786175913246861100853142736332152955007922702262367031631843807489904431499549341072607657494489186777291436533120636805979702970275571052228570974018503107064041947653212944302544105728795395654346258266965160662056243505962614260169823800362270420946258005691880558872559968897226539578094932266334550338889583109551797875073366564948016279562285331080528287433354810086523775776282293385459025625150386702503387215544861973355838044315404941743221827727920239499173215160794769080784424983527314644164446210673412821605388885661452720992216811950293832180371092018043729684830581467751263598886264280484688757584218063066078450599285200531487089920746975822808463780991149778041074459765643102383133764479942983401739484645253075961872208755561157922546355140290662855203322766120234448985230702892861117916357026629 759856804487228500257386583495314578371448569127064390303426359229018497733511150874108385825690724645397589520131452883764200842725472602038114364369921574609117904528647807617642345647802774698610414531682754742320892893355380677245930634044139521068096159547092848367614544244781976211023356020051243604304792109055906774099516252469833427794994587964745660731410408310310712427979612312962216831259279811393384755716352540565346561200012575089533357098815350137155749931600099930391417730964430963580818496187444043641909019119976360328456339190231589786123056374926412029318709686562542508084847923817870933333490258726052999942293174277280465678188438923786295187805590273368965868438002814583952123130460162679717216493375321605941969492397215351155953824920946094356428643471672622152924986048248857239663206731892776973344191538132957605434248973078018188247 1229474136243219328396890872493631383496257825325850566216673220329871640469843303829116308527953091677029433327621357315263750183798080259532603551147213011142238541334627510587917916700031345672628917638746796689974105837657924782974726029698485779335061320209149091873577158504951800011385626440997501609996672667928466742996742792047928360061329138303635243840962206185384078992927628592524502162339808098826739565802876316341628854585471600714683743801318737352700611904955937974706822672707652791308738735686617258802703788200760785311983653834396035996796469196531800914980162407554759320035141755998242025351533988410883581410044437876166729958673127681370513250871668723968251068969489904504699098953268626460708366271416396065707612594780349115635896808322685579001681719433544830908486143970795212379953869587096099739464425987118188308327110090994375214876 1989330940730447828654277455988945961867706394452914956520099579558890138203354454703224694353643816322427022847752810199027951026523552861570717915517134585751356445863275318205560262347834120371239332170429551432294998731013305460220656663742625300403157479756241940241191702749733776222408982461048745214301464776984373517096259044517761787856323726268380904572372614495694791420907240905486718993599087910220124321519228856906975415785484175804217100900134087489856361836556037905098240403672083754889557231874061302444612807320737145640439993024627625782919525571458212944298872094117301828119989679816112958685024247136936581352337612153447195636861566605156808438677258997337216937407492719088651222083728789140425582764791717671649582087177564466791850633243631673358110362905217453061411130019044069619617076318988876712808617525251145913761359064072393403123 3218805076973667157051168328482577345363964219778765522736772799888761778673197758532341002881596907999456456175374167514291701210321633121103321466664347596893594987197902828793478179047865466043868249809176348122269104568671230243195382693441111079738218799965391032114768861254685576233794608902046246824298137444912840260093001836565690147917652864572016148413334820681078870413834869498011221155938896009046863887322105173248604270370955776518900844701452824842556973741511975879805063076379736546198295967560678561247316595521497930952423646859023661779715994767990013859279034501672061148155131435814354984036558235547820162762382050029613925595534694286527321689548927721305468006376982623593350321036997415601133949036208113737357194681957913582427747441566317252359792082338762283969897273989839281999570945906084976452273043512369334222088469155066768617999 5208136017704114985705445784471523307231670614231680479256872379447651916876552213235565697235240724321883479023126977713319652236845185982674039382181482182644951433061178146999038441395699586415107581979605899554564103299684535703416039357183736380141376279721632972355960564004419352456203591363094992038599602221897213777189260881083451935773976590840397052985707435176773661834742110403497940149537983919266988208841334030155579686156439952323117945601586912332413335578068013784903303480051820301087853199434739863691929402842235076592863639883651287562635520339448226803577906595789362976275121115630467942721582482684756744114719662183061121232396260891684130128226186718642684943784475342682001543120726204741559531800999831409006776769135478049219598074809948925717902445243979737031308404008883351619188022225073853165081661037620480135849828219139162021122 8426941094677782142756614112954100652595634834010446001993645179336413695549749971767906700116837632321339935198501145227611353447166819103777360848845829779538546420259080975792516620443565052458975831788782247676833207868355765946611422050624847459879595079687024004470729425259104928689998200265141238862897739666810054037282262717649142083691629455412413201399042255857852532248576979901509161305476879928313852096163439203404183956527395728842018790303039737174970309319579989664708366556431556847286149166995418424939245998363733007545287286742674949342351515107438240662856941097461424124430252551444822926758140718232576906877101712212675046827930955178211451817775114439948152950161457966275351864157723620342693480837207945146363971451093391631647345516376266178077694527582742021001205677998722633618758968131158829617354704549989814357938297374205930639121 13635077112381897128462059897425623959827305448242126481250517558784065612426302185003472397352078356643223414221628122940931005684012005086451400231027311962183497853320259122791555061839264638874083413768388147231397311168040301650027461407808583840020971359408656976826689989263524281146201791628236230901497341888707267814471523598732594019465606046252810254384749691034626194083319090305007101455014863847580840305004773233559763642683835681165136735904626649507383644897648003449611670036483377148374002366430158288631175401205968084138150926626326236904987035446886467466434847693250787100705373667075290869479723200917333650991821374395736168060327216069895581946001301158590837893945933308957353407278449825084253012638207776555370748220228869680866943591186215103795596972826721758032514082007605985237946990356232682782436365587610294493788125593345092660243 22062018207059679271218674010379724612422940282252572483244162738120479307976052156771379097468915988964563349420129268168542359131178824190228761079873141741722044273579340098584071682282829691333059245557170394908230519036396067596638883458433431299900566439095680981297419414522629209836199991893377469764395081555517321851753786316381736103157235501665223455783791946892478726331896070206516262760491743775894692401168212436963947599211231410007155526207666386682353954217227993114320036592914933995660151533425576713570421399569701091683438213369001186247338550554324708129291788790712211225135626218520113796237863919149910557868923086608411214888258171248107033763776415598538990844107391275232705271436173445426946493475415721701734719671322261312514289107562481281873291500409463779033719760006328618856705958487391512399791070137600108851726422967551023299364 35697095319441576399680733907805348572250245730494698964494680296904544920402354341774851494820994345607786763641757391109473364815190829276680161310900453703905542126899599221375626744122094330207142659325558542139627830204436369246666344866242015139921537798504337958124109403786153490982401783521613700665892423444224589666225309915114330122622841547918033710168541637927104920415215160511523364215506607623475532706172985670523711241895067091172292262112293036189737599114875996563931706629398311144034153899855735002201596800775669175821589139995327423152325586001211175595726636483962998325840999885595404665717587120067244208860744461004147382948585387318002615709777716757129828738053324584190058678714623270511199506113623498257105467891551130993381232698748696385668888473236185537066233842013934604094652948843624195182227435725210403345514548560896115959607 57759113526501255670899407918185073184673186012747271447738843035025024228378406498546230592289910334572350113061886659278015723946369653466908922390773595445627586400478939319959698426404924021540201904882728937047858349240832436843305228324675446439822104237600018939421528818308782700818601775414991170430287504999741911517979096231496066225780077049583257165952333584819583646747111230718039626975998351399370225107341198107487658841106298501179447788319959422872091553332103989678251743222313245139694305433281311715772018200345370267505027353364328609399664136555535883725018425274675209550976626104115518461955451039217154766729667547612558597836843558566109649473554132355668819582160715859422763950150796715938145999589039219958840187562873392305895521806311177667542179973645649316099953602020263222951358907331015707582018505862810512197240971528447139258971 93456208845942832070580141825990421756923431743241970412233523331929569148780760840321082087110904680180136876703644050387489088761560482743589083701674049149533128527378538541335325170527018351747344564208287479187486179445268806089971573190917461579743642036104356897545638222094936191801003558936604871096179928443966501184204406146610396348402918597501290876120875222746688567162326391229562991191504959022845757813514183778011370083001365592351740050432252459061829152446979986242183449851711556283728459333137046717973615001121039443326616493359656032551989722556747059320745061758638207876817625989710923127673038159284398975590412008616705980785428945884112265183331849112798648320214040443612822628865419986449345505702662718215945655454424523299276754505059874053211068446881834853166187444034197827046011856174639902764245941588020915542755520089343255218578 151215322372444087741479549744175494941596617755989241859972366366954593377159167338867312679400815014752486989765530709665504812707930136210498006092447644595160714927857477861295023596931942373287546469091016416235344528686101242933276801515592908019565746273704375836967167040403718892619605334351596041526467433443708412702183502378106462574182995647084548042073208807566272213909437621947602618167503310422215982920855381885499028924107664093531187838752211881933920705779083975920435193074024801423422764766418358433745633201466409710831643846723984641951653859112282943045763487033313417427794252093826441589628489198501553742320079556229264578622272504450221914656885981468467467902374756303035586579016216702387491505291701938174785843017297915605172276311371051720753248420527484169266141046054461049997370763505655610346264447450831427739996491617790394477549 244671531218386919812059691570165916698520049499231212272205889698884162525939928179188394766511719694932623866469174760052993901469490618954087089794121693744693843455236016402630348767458960725034891033299303895422830708131370049023248374706510369599309388309808732734512805262498655084420608893288200912622647361887674913886387908524716858922585914244585838918194084030312960781071764013177165609359008269445061740734369565663510399007109029685882927889184464340995749858226063962162618642925736357707151224099555405151719248202587449154158260340083640674503643581669030002366508548791951625304611878083537364717301527357785952717910491564845970559407701450334334179840217830581266116222588796746648409207881636688836837010994364656390731498471722438904449030816430925773964316867409319022432328490088658877043382619680295513110510389038852343282752011707133649696127 395886853590831007553539241314341411640116667255220454132178256065838755903099095518055707445912534709685110856234705469718498714177420755164585095886569338339854558383093494263925372364390903098322437502390320311658175236817471291956525176222103277618875134583513108571479972302902373977040214227639796954149114795331383326588571410902823321496768909891670386960267292837879232994981201635124768227526511579867277723655224947549009427931216693779414115727936676222929670564005147938083053835999761159130573988865973763585464881404053858864989904186807625316455297440781312945412272035825265042732406130177363806306930016556287506460230571121075235138029973954784556094497103812049733584124963553049683995786897853391224328516286066594565517341489020354509621307127801977494717565287936803191698469536143119927040753383185951123456774836489683771022748503324924044173676 640558384809217927365598932884507328338636716754451666404384145764722918429039023697244102212424254404617734722703880229771492615646911374118672185680691032084548401838329510666555721131849863823357328535689624207081005944948841340979773550928613647218184522893321841305992777565401029061460823120927997866771762157219058240474959319427540180419354824136256225878461376868192193776052965648301933836885519849312339464389594513212519826938325723465297043617121140563925420422231211900245672478925497516837725212965529168737184129606641308019148164526891265990958941022450342947778780584617216668037018008260901171024231543914073459178141062685921205697437675405118890274337321642630999700347552349796332404994779490080061165527280431250956248839960742793414070337944232903268681882155346122214130798026231778804084136002866246636567285225528536114305500515032057693869803 1036445238400048934919138174198848739978753384009672120536562401830561674332138119215299809658336789114302845578938585699489991329824332129283257281567260370424402960221423004930481093496240766921679766038079944518739181181766312632936298727150716924837059657476834949877472749868303403038501037348567794820920876952550441567063530730330363501916123734027926612838728669706071426771034167283426702064412031429179617188044819460761529254869542417244711159345057816786855090986236359838328726314925258675968299201831502932322649011010695166884138068713698891307414238463231655893191052620442481710769424138438264977331161560470360965638371633806996440835467649359903446368834425454680733284472515902846016400781677343471285494043566497845521766181449763147923691645072034880763399447443282925405829267562374898731124889386052197760024060062018219885328249018356981738043479 1677003623209266862284737107083356068317390100764123786940946547595284592761177142912543911870761043518920580301642465929261483945471243503401929467247951402508951362059752515597036814628090630745037094573769568725820187126715153973916072278079330572055244180370156791183465527433704432099961860469495792687692639109769499807538490049757903682335478558164182838717190046574263620547087132931728635901297551278491956652434413973974049081807868140710008202962178957350780511408467571738574398793850756192806024414797032101059833140617336474903286233240590157298373179485681998840969833205059698378806442146699166148355393104384434424816512696492917646532905324765022336643171747097311732984820068252642348805776456833551346659570846929096478015021410505941337761983016267784032081329598629047619960065588606677535209025388918444396591345287546755999633749533389039431913282 2713448861609315797203875281282204808296143484773795907477508949425846267093315262127843721529097832633223425880581051628751475275295575632685186748815211772933354322281175520527517908124331397666716860611849513244559368308481466606852371005230047496892303837846991741060938277302007835138462897818063587508613516062319941374602020780088267184251602292192109451555918716280335047318121300215155337965709582707671573840479233434735578336677410557954719362307236774137635602394703931576903125108776014868774323616628535033382482151628031641787424301954289048605787417948913654734160885825502180089575866285137431125686554664854795390454884330299914087368372974124925783012006172551992466269292584155488365206558134177022632153614413426941999781202860269089261453628088302664795480777041911973025789333150981576266333914774970642156615405349564975884961998551746021169956761 4390452484818582659488612388365560876613533585537919694418455497021130859854492405040387633399858876152144006182223517558012959220766819136087116216063163175442305684340928036124554722752422028411753955185619081970379555435196620580768443283309378068947548018217148532244403804735712267238424758287559380196306155172089441182140510829846170866587080850356292290273108762854598667865208433146883973867007133986163530492913647408709627418485278698664727565269415731488416113803171503315477523902626771061580348031425567134442315292245368116690710535194879205904160597434595653575130719030561878468382308431836597274041947769239229815271397026792831733901278298889948119655177919649304199254112652408130714012334591010573978813185260356038477796224270775030599215611104570448827562106640541020645749398739588253801542940163889086553206750637111731884595748085135060601870043 7103901346427898456692487669647765684909677070311715601895964446446977126947807667168231354928956708785367432062804569186764434496062394768772302964878374948375660006622103556652072630876753426078470815797468595214938923743678087187620814288539425565839851856064140273305342082037720102376887656105622967704919671234409382556742531609934438050838683142548401741829027479134933715183329733362039311832716716693835104333392880843445205755162689256619446927576652505626051716197875434892380649011402785930354671648054102167824797443873399758478134837149168254509948015383509308309291604856064058557958174716974028399728502434094025205726281357092745821269651273014873902667184092201296665523405236563619079218892725187596610966799673782980477577427131044119860669239192873113623042883682452993671538731890569830067876854938859728709822155986676707769557746636881081771826804 11494353831246481116181100058013326561523210655849635296314419943468107986802300072208618988328815584937511438245028086744777393716829213904859419180941538123817965690963031592776627353629175454490224770983087677185318479178874707768389257571848803634787399874281288805549745886773432369615312414393182347901225826406498823738883042439780608917425763992904694032102136241989532383048538166508923285699723850679998634826306528252154833173647967955284174492846068237114467830001046938207858172914029556991935019679479669302267112736118767875168845372344047460414108612818104961884422323886625937026340483148810625673770450203333255020997678383885577555170929571904822022322362011850600864777517888971749793231227316198170589779984934139018955373651401819150459884850297443562450604990322994014317288130630158083869419795102748815263028906623788439654153494722016142373696847 18598255177674379572873587727661092246432887726161350898210384389915085113750107739376850343257772293722878870307832655931541828212891608673631722145819913072193625697585135149428699984505928880568695586780556272400257402922552794956010071860388229200627251730345429078855087968811152471992200070498805315606145497640908206295625574049715046968264447135453095773931163721124466098231867899870962597532440567373833739159699409095600038928810657211903621420422720742740519546198922373100238821925432342922289691327533771470091910179992167633646980209493215714924056628201614270193713928742689995584298657865784654073498952637427280226723959740978323376440580844919695924989546104051897530300923125535368872450120041385767200746784607921999432951078532863270320554089490316676073647874005447007988826862520727913937296650041608543972851062610465147423711241358897224145523651 30092609008920860689054687785674418807956098382010986194524804333383193100552407811585469331586587878660390308552860742676319221929720822578491141326761451196011591388548166742205327338135104335058920357763643949585575882101427502724399329432237032835414651604626717884404833855584584841607512484891987663507371324047407030034508616489495655885690211128357789806033299963113998481280406066379885883232164418053832373986005937347754872102458625167187795913268788979854987376199969311308096994839461899914224711007013440772359022916110935508815825581837263175338165241019719232078136252629315932610639141014595279747269402840760535247721638124863900931611510416824517947311908115902498395078441014507118665681347357583937790526769542061018388324729934682420780438939787760238524252864328441022306114993150885997806716445144357359235879969234253587077864736080913366519220498 48690864186595240261928275513335511054388986108172337092735188723298278214302515550962319674844360172383269178860693398607861050142612431252122863472581364268205217086133301891634027322641033215627615944544200221985833285023980297680409401292625262036041903334972146963259921824395737313599712555390792979113516821688315236330134190539210702853954658263810885579964463684238464579512273966250848480764604985427666113145705346443354911031269282379091417333691509722595506922398891684408335816764894242836514402334547212242450933096103103142462805791330478890262221869221333502271850181372005928194937798880379933820768355478187815474445597865842224308052091261744213872301454219954395925379364140042487538131467398969704991273554149983017821275808467545691100993029278076914597900738333888030294941855671613911744013095185965903208731031844718734501575977439810590664744149 78783473195516100950982963299009929862345084490183323287259993056681471314854923362547789006430948051043659487413554141284180272072333253830614004799342815464216808474681468633839354660776137550686536302307844171571409167125407800404808730724862294871456554939598864847664755679980322155207225040282780642620888145735722266364642807028706358739644869392168675385997763647352463060792680032630734363996769403481498487131711283791109783133727907546279213246960298702450494298598860995716432811604356142750739113341560653014809956012214038651278631373167742065600387110241052734349986434001321860805576939894975213568037758318948350722167235990706125239663601678568731819613362335856894320457805154549606203812814756553642781800323692044036209600538402228111881431969065837153122153602662329052601056848822499909550729540330323262444611001078972321579440713520723957183964647 127474337382111341212911238812345440916734070598355660379995181779979749529157438913510108681275308223426928666274247539892041322214945685082736868271924179732422025560814770525473381983417170766314152246852044393557242452149388098085218132017487556907498458274571011810924677504376059468806937595673573621734404967424037502694776997567917061593599527655979560965962227331590927640304953998881582844761374388909164600277416630234464694164997189925370630580651808425046001220997752680124768628369250385587253515676107865257260889108317141793741437164498220955862608979462386236621836615373327789000514738775355147388806113797136166196612833856548349547715692940312945691914816555811290245837169294592093741944282155523347773073877842027054030876346869773802982424998343914067720054340996217082895998704494113821294742635516289165653342032923691056081016690960534547848708796 206257810577627442163894202111355370779079155088538983667255174836661220844012362276057897687706256274470588153687801681176221594287278938913350873071266995196638834035496239159312736644193308317000688549159888565128651619274795898490026862742349851778955013214169876658589433184356381624014162635956354264355293113159759769059419804596623420333244397048148236351959990978943390701097634031512317208758143792390663087409127914025574477298725097471649843827612107127496495519596613675841201439973606528337992629017668518272070845120531180445020068537665963021462996089703438970971823049374649649806091678670330360956843872116084516918780069847254474787379294618881677511528178891668184566294974449141699945757096912076990554874201534071090240476885272001914863856967409751220842207943658546135497055553316613730845472175846612428097953034002663377660457404481258505032673443 333732147959738783376805440923700811695813225686894644047250356616640970373169801189568006368981564497897516819962049221068262916502224623996087741343191174929060859596311009684786118627610479083314840796011932958685894071424183996575244994759837408686453471488740888469514110688732441092821100231629927886089698080583797271754196802164540481926843924704127797317922218310534318341402588030393900053519518181299827687686544544260039171463722287397020474408263915552542496740594366355965970068342856913925246144693776383529331734228848322238761505702164183977325605069165825207593659664747977438806606417445685508345649985913220683115392903703802824335094987559194623203442995447479474812132143743733793687701379067600338327948079376098144271353232141775717846281965753665288562262284654763218393054257810727552140214811362901593751295066926354433741474095441793052881382239 539989958537366225540699643035056182474892380775433627714505531453302191217182163465625904056687820772368104973649850902244484510789503562909438614414458170125699693631807248844098855271803787400315529345171821523814545690698979895065271857502187260465408484702910765128103543873088822716835262867586282150444991193743557040813616606761163902260088321752276033669882209289477709042500222061906217262277661973690490775095672458285613648762447384868670318235876022680038992260190980031807171508316463442263238773711444901801402579349379502683781574239830146998788601158869264178565482714122627088612698096116015869302493858029305200034172973551057299122474282178076300714971174339147659378427118192875493633458475979677328882822280910169234511830117413777632710138933163416509404470228313309353890109811127341282985686987209514021849248100929017811401931499923051557914055682 873722106497105008917505083958756994170705606462328271761755888069943161590351964655193910425669385270265621793611900123312747427291728186905526355757649345054760553228118258528884973899414266483630370141183754482500439762123163891640516852262024669151861956191651653597617654561821263809656363099216210036534689274327354312567813408925704384186932246456403830987804427600012027383902810092300117315797180154990318462782217002545652820226169672265690792644139938232581489000785346387773141576659320356188484918405221285330734313578227824922543079941994330976114206228035089386159142378870604527419304513561701377648143843942525883149565877254860123457569269737270923918414169786627134190559261936609287321159855047277667210770360286267378783183349555553350556420898917081797966732512968072572283164068938068835125901798572415615600543167855372245143405595364844610795437921 1413712065034471234458204726993813176645597987237761899476261419523245352807534128120819814482357206042633726767261751025557231938081231749814964970172107515180460246859925507372983829171218053883945899486355576006314985452822143786705788709764211929617270440894562418725721198434910086526491625966802492186979680468070911353381430015686868286447020568208679864657686636889489736426403032154206334578074842128680809237877889460831266468988617057134361110880015960912620481260976326419580313084975783798451723692116666187132136892927607327606324654181824477974902807386904353564724625092993231616032002609677717246950637701971831083183738850805917422580043551915347224633385344125774793568986380129484780954618331026954996093592641196436613295013466969330983266559832080498307371202741281381926173273880065410118111588785781929637449791268784390056545337095287896168709493603 2287434171531576243375709810952570170816303593700090171238017307593188514397886092776013724908026591312899348560873651148869979365372959936720491325929756860235220800088043765901868803070632320367576269627539330488815425214945307678346305562026236598769132397086214072323338852996731350336147989066018702223514369742398265665949243424612572670633952814665083695645491064489501763810305842246506451893872022283671127700660106463376919289214786729400051903524155899145201970261761672807353454661635104154640208610521887472462871206505835152528867734123818808951017013614939442950883767471863836143451307123239418624598781545914356966333304728060777546037612821652618148551799513912401927759545642066094068275778186074232663304363001482703992078196816524884333822980730997580105337935254249454498456437949003478953237490584354345253050334436639762301688742690652740779504931524 3701146236566047477833914537946383347461901580937852070714278727116433867205420220896833539390383797355533075328135402174427211303454191686535456296101864375415681046947969273274852632241850374251522169113894906495130410667767451465052094271790448528386402837980776491049060051431641436862639615032821194410494050210469177019330673440299440957080973382873763560303177701378991500236708874400712786471946864412351936938537995924208185758203403786534413014404171860057822451522737999226933767746610887953091932302638553659595008099433442480135192388305643286925919821001843796515608392564857067759483309732917135871549419247886188049517043578866694968617656373567965373185184858038176721328532022195578849230396517101187659397955642679140605373210283494215317089540563078078412709137995530836424629711829068889071349079370136274890500125705424152358234079785940636948214425127 5988580408097623721209624348898953518278205174637942241952296034709622381603306313672847264298410388668432423889009053323297190668827151623255947622031621235650901847036013039176721435312482694619098438741434236983945835882712759143398399833816685127155535235066990563372398904428372787198787604098839896634008419952867442685279916864912013627714926197538847255948668765868493264047014716647219238365818886696023064639198102387585105047418190515934464917928327759203024421784499672034287222408245992107732140913160441132057879305939277632664060122429462095876936834616783239466492160036720903902934616856156554496148200793800545015850348306927472514655269195220583521736984371950578649088077664261672917506174703175420322702318644161844597451407100019099650912521294075658518047073249780290923086149778072368024586569954490620143550460142063914659922822476593377727719356651 9689726644663671199043538886845336865740106755575794312666574761826056248808726534569680803688794186023965499217144455497724401972281343309791403918133485611066582893983982312451574067554333068870620607855329143479076246550480210608450494105607133655541938073047767054421458955860014224061427219131661091044502470163336619704610590305211454584795899580412610816251846467247484764283723591047932024837765751108375001577736098311793290805621594302468877932332499619260846873307237671261220990154856880060824073215798994791652887405372720112799252510735105382802856655618627035982100552601577971662417926589073690367697620041686733065367391885794167483272925568788548894922169229988755370416609686457251766736571220276607982100274286840985202824617383513314968002061857153736930756211245311127347715861607141257095935649324626895034050585847488067018156902262534014675933781778 15678307052761294920253163235744290384018311930213736554618870796535678630412032848242528067987204574692397923106153508821021592641108494933047351540165106846717484741019995351628295502866815763489719046596763380463022082433192969751848893939423818782697473308114757617793857860288387011260214823230500987678510890116204062389890507170123468212510825777951458072200515233115978028330738307695151263203584637804398066216934200699378395853039784818403342850260827378463871295091737343295508212563102872168556214128959435923710766711311997745463312633164567478679793490235410275448592712638298875565352543445230244863845820835487278081217740192721639997928194764009132416659153601939334019504687350718924684242745923452028304802592931002829800276024483532414618914583151229395448803284495091418270802011385213625120522219279117515177601045989551981678079724739127392403653138429 25368033697424966119296702122589627249758418685789530867285445558361734879220759382812208871675998760716363422323297964318745994613389838242838755458298592457784067635003977664079869570421148832360339654452092523942098328983673180360299388045030952438239411381162524672215316816148401235321642042362162078723013360279540682094501097475334922797306725358364068888452361700363462792614461898743083288041350388912773067794670299011171686658661379120872220782593326997724718168398975014556729202717959752229380287344758430715363654116684717858262565143899672861482650145854037311430693265239876847227770470034303935231543440877174011146585132078515807481201120332797681311581322831928089389921297037176176450979317143728636286902867217843815003100641867045729586916645008383132379559495740402545618517872992354882216457868603744410211651631837040048696236627001661407079586920207 41046340750186261039549865358333917633776730616003267421904316354897413509632792231054736939663203335408761345429451473139767587254498333175886106998463699304501552376023973015708165073287964595850058701048855904405120411416866150112148281984454771220936884689277282290009174676436788246581856865592663066401524250395744744484391604645458391009817551136315526960652876933479440820945200206438234551244935026717171134011604499710550082511701163939275563632854154376188589463490712357852237415281062624397936501473717866639074420827996715603725877777064240340162443636089447586879285977878175722793123013479534180095389261712661289227802872271237447479129315096806813728240476433867423409425984387895101135222063067180664591705460148846644803376666350578144205831228159612527828362780235493963889319884377568507336980087882861925389252677826592030374316351740788799483240058636 66414374447611227158846567480923544883535149301792798289189761913259148388853551613866945811339202096125124767752749437458513581867888171418724862456762291762285620011027950679788034643709113428210398355500948428347218740400539330472447670029485723659176296070439806962224491492585189481903498907954825145124537610675285426578892702120793313807124276494679595849105238633842903613559662105181317839286285415629944201806274798721721769170362543060147784415447481373913307631889687372408966617999022376627316788818476297354438074944681433461988442920963913201645093781943484898309979243118052570020893483513838115326932702589835300374388004349753254960330435429604495039821799265795512799347281425071277586201380210909300878608327366690459806477308217623873792747873167995660207922275975896509507837757369923389553437956486606335600904309663632079070552978742450206562826978843 107460715197797488198396432839257462517311879917796065711094078268156561898486343844921682751002405431533886113182200910598281169122386504594610969455225991066787172387051923695496199716997078024060457056549804332752339151817405480584595952013940494880113180759717089252233666169021977728485355773547488211526061861071030171063284306766251704816941827630995122809758115567322344434504862311619552390531220442347115335817879298432271851682063706999423348048301635750101897095380399730261204033280085001025253290292194163993512495772678149065714320698028153541807537418032932485189265220996228292814016496993372295422321964302496589602190876620990702439459750526411308768062275699662936208773265812966378721423443278089965470313787515537104609853974568202017998579101327608188036285056211390473397157641747491896890418044369468260990156987490224109444869330483239006046067037479 173875089645408715357243000320181007400847029219588864000283840181415710287339895458788628562341607527659010880934950348056794750990274676013335831911988282829072792398079874375284234360706191452270855412050752761099557892217944811057043622043426218539289476830156896214458157661607167210388854681502313356650599471746315597642177008887045018624066104125674718658863354201165248048064524416800870229817505857977059537624154097153993620852426250059571132463749117124015204727270087102670170651279107377652570079110670461347950570717359582527702763618992066743452631199976417383499244464114280862834909980507210410749254666892331889976578880970743957399790185956015803807884074965458449008120547238037656307624823488999266348922114882227564416331282785825891791326974495603848244207332187286982904995399117415286443856000856074596591061297153856188515422309225689212608894016322 281335804843206203555639433159438469918158909137384929711377918449572272185826239303710311313344012959192896994117151258655075920112661180607946801367214273895859964785131798070780434077703269476331312468600557093851897044035350291641639574057366713419402657589873985466691823830629144938874210455049801568176661332817345768705461315653296723441007931756669841468621469768487592482569386728420422620348726300324174873442033395586265472534489957058994480512050752874117101822650486832931374684559192378677823369402864625341463066490037731593417084317020220285260168618009349868688509685110509155648926477500582706171576631194828479578769757591734659839249936482427112575946350665121385216893813051004035029048266767089231819235902397764669026185257354027909789906075823212036280492388398677456302153040864907183334274045225542857581218284644080297960291639708928218654961053801 455210894488614918912882433479619477319005938356973793711661758630987982473166134762498939875685620486851907875052101606711870671102935856621282633279202556724932757183211672446064668438409460928602167880651309854951454936253295102698683196100792931958692134420030881681149981492236312149263065136552114924827260804563661366347638324540341742065074035882344560127484823969652840530633911145221292850166232158301234411066187492740259093386916207118565612975799869998132306549920573935601545335838299756330393448513535086689413637207397314121119847936012287028712799817985767252187754149224790018483836458007793116920831298087160369555348638562478617239040122438442916383830425630579834225014360289041691336673090256088498168158017279992233442516540139853801581233050318815884524699720585964439207148439982322469778130046081617454172279581797936486475713948934617431263855070123 736546699331821122468521866639057947237164847494358723423039677080560254658992374066209251189029633446044804869169252865366946591215597037229229434646416830620792721968343470516845102516112730404933480349251866948803351980288645394340322770158159645378094792009904867147841805322865457088137275591601916493003922137381007135053099640193638465506081967639014401596106293738140433013203297873641715470514958458625409284508220888326524565921406164177560093487850622872249408372571060768532920020397492135008216817916399712030876703697435045714536932253032507313972968435995117120876263834335299174132762935508375823092407929281988849134118396154213277078290058920870028959776776295701219441908173340045726365721357023177729987393919677756902468701797493881711371139126142027920805192108984641895509301480847229653112404091307160311753497866442016784436005588643545649918816123924 1191757593820436041381404300118677424556170785851332517134701435711548237132158508828708191064715253932896712744221354472078817262318532893850512067925619387345725479151555142962909770954522191333535648229903176803754806916541940497039005966258952577336786926429935748828991786815101769237400340728154031417831182941944668501400737964733980207571156003521358961723591117707793273543837209018863008320681190616926643695574408381066783659308322371296125706463650492870381714922491634704134465356235791891338610266429934798720290340904832359835656780189044794342685768253980884373064017983560089192616599393516168940013239227369149218689467034716691894317330181359312945343607201926281053666922533629087417702394447279266228155551936957749135911218337633735512952372176460843805329891829570606334716449920829552122890534137388777765925777448239953270911719537578163081182671194047 1928304293152257163849926166757735371793335633345691240557741112792108491791150882894917442253744887378941517613390607337445763853534129931079741502572036217966518201119898613479754873470634921738469128579155043752558158896830585891379328736417112222714881718439840615976833592137967226325537616319755947910835105079325675636453837604927618673077237971160373363319697411445933706557040506892504723791196149075552052980082629269393308225229728535473685799951501115742631123295062695472667385376633284026346827084346334510751167044602267405550193712442077301656658736689976001493940281817895388366749362329024544763105647156651138067823585430870905171395620240280182974303383978221982273108830706969133144068115804302443958142945856635506038379920135127617224323511302602871726135083938555248230225751401676781776002938228695938077679275314681970055347725126221708731101487317971 3120061886972693205231330466876412796349506419197023757692442548503656728923309391723625633318460141311838230357611961809524581115852662824930253570497655605312243680271453756442664644425157113072004776809058220556312965813372526388418334702676064800051668644869776364805825378953068995562937957047909979328666288021270344137854575569661598880648393974681732325043288529153726980100877715911367732111877339692478696675657037650460091884538050906769811506415151608613012838217554330176801850732869075917685437350776269309471457385507099765385850492631122095999344504943956885867004299801455477559365961722540713703118886384020287286513052465587597065712950421639495919646991180148263326775753240598220561770510251581710186298497793593255174291138472761352737275883479063715531464975768125854564942201322506333898893472366084715843605052762921923326259444663799871812284158512018 5048366180124950369081256633634148168142842052542714998250183661295765220714460274618543075572205028690779747971002569146970344969386792756009995073069691823278761881391352369922419517895792034810473905388213264308871124710203112279797663439093177022766550363309616980782658971091036221888475573367665927239501393100596019774308413174589217553725631945842105688362985940599660686657918222803872455903073488768030749655739666919853400109767779442243497306366652724355643961512617025649469236109502359944032264435122603820222624430109367170936044205073199397656003241633932887360944581619350865926115324051565258466224533540671425354336637896458502237108570661919678893950375158370245599884583947567353705838626055884154144441443650228761212671058607888969961599394781666587257600059706681102795167952724183115674896410594780653921284328077603893381607169790021580543385645829989 8168428067097643574312587100510560964492348471739738755942626209799421949637769666342168708890665170002617978328614530956494926085239455580940248643567347428591005561662806126365084162320949147882478682197271484865184090523575638668215998141769241822818219008179393345588484350044105217451413530415575906568167681121866363912162988744250816434374025920523838013406274469753387666758795938715240188014950828460509446331396704570313491994305830349013308812781804332968656799730171355826271086842371435861717701785898873129694081815616466936321894697704321493655347746577889773227948881420806343485481285774105972169343419924691712640849690362046099302821521083559174813597366338518508926660337188165574267609136307465864330739941443822016386962197080650322698875278260730302789065035474806957360110154046689449573789882960865369764889380840525816707866614453821452355669804342007 13216794247222593943393843734144709132635190524282453754192809871095187170352229940960711784462870198693397726299617100103465271054626248336950243716637039251869767443054158496287503680216741182692952587585484749174055215233778750948013661580862418845584769371489010326371143321135141439339889103783241833807669074222462383686471401918840033988099657866365943701769260410353048353416714161519112643918024317228540195987136371490166892104073609791256806119148457057324300761242788381475740322951873795805749966221021476949916706245725834107257938902777520891311350988211822660588893463040157209411596609825671230635567953465363137995186328258504601539930091745478853707547741496888754526544921135732927973447762363350018475181385094050777599633255688539292660474673042396890046665095181488060155278106770872565248686293555646023686173708918129710089473784243843032899055450171996 21385222314320237517706430834655270097127538996022192510135436080894609119989999607302880493353535368696015704628231631059960197139865703917890492360204386680460773004716964622652587842537690330575431269782756234039239305757354389616229659722631660668402988379668403671959627671179246656791302634198817740375836755344328747598634390663090850422473683786889781715175534880106436020175510100234352831932975145689049642318533076060480384098379440140270114931930261390292957560972959737302011409794245231667467668006920350079610788061342301043579833600481842384966698734789712433816842344460963552897077895599777202804911373390054850636036018620550700842751612829038028521145107835407263453205258323898502241056898670815882805921326537872793986595452769189615359349951303127192835730130656295017515388260817562014822476176516511393451063089758655526797340398697664485254725254514003 34602016561542831461100274568799979229762729520304646264328245951989796290342229548263592277816405567389413430927848731163425468194491952254840736076841425932330540447771123118940091522754431513268383857368240983213294520991133140564243321303494079513987757751157413998330770992314388096131191737982059574183505829566791131285105792581930884410573341653255725416944795290459484373592224261753465475850999462917589838305669447550647276202453049931526921051078718447617258322215748118777751732746119027473217634227941827029527494307068135150837772503259363276278049723001535094405735807501120762308674505425448433440479326855417988631222346879055302382681704574516882228692849332296017979750179459631430214504661034165901281102711631923571586228708457728908019824624345524082882395225837783077670666367588434580071162470072157417137236798676785236886814182941507518153780704685999 55987238875863068978806705403455249326890268516326838774463682032884405410332229155566472771169940936085429135556080362223385665334357656172731228437045812612791313452488087741592679365292121843843815127150997217252533826748487530180472981026125740182390746130825817670290398663493634752922494372180877314559342584911119878883740183245021734833047025440145507132120330170565920393767734361987818307783974608606639480624202523611127660300832490071797035983008979837910215883188707856079763142540364259140685302234862177109138282368410436194417606103741205661244748457791247528222578151962084315205752401025225636245390700245472839267258365499606003225433317403554910749837957167703281432955437783529932455561559704981784087024038169796365572824161226918523379174575648651275718125356494078095186054628405996594893638646588668810588299888435440763684154581639172003408505959200002 90589255437405900439906979972255228556652998036631485038791927984874201700674458703830065048986346503474842566483929093386811133528849608427571964513887238545121853900259210860532770888046553357112198984519238200465828347739620670744716302329619819696378503881983231668621169655808022849053686110162936888742848414477911010168845975826952619243620367093401232549065125461025404767359958623741283783634974071524229318929871971161774936503285540003323957034087698285527474205404455974857514875286483286613902936462804004138665776675478571345255378607000568937522798180792782622628313959463205077514426906450674069685870027100890827898480712378661305608115021978071792978530806499999299412705617243161362670066220739147685368126749801719937159052869684647431398999199994175358600520582331861172856720995994431174964801116660826227725536687112226000570968764580679521562286663886001 146576494313268969418713685375710477883543266552958323813255610017758607111006687859396537820156287439560271702040009455610196798863207264600303192950933051157913167352747298602125450253338675200956014111670235417718362174488108200925189283355745559878769250012809049338911568319301657601976180482343814203302190999389030889052586159071974354076667392533546739681185455631591325161127692985729102091418948680130868799554074494772902596804118030075120993017096678123437690088593163830937278017826847545754588238697666181247804059043889007539672984710741774598767546638584030150850892111425289392720179307475899705931260727346363667165739077878267308833548339381626703728368763667702580845661055026691295125627780444129469455150787971516302731877030911565954778173775642826634318645938825939268042775624400427769858439763249495038313836575547666764255123346219851524970792623086003 237165749750674869858620665347965706440196264589589808852047538002632808811681146563226602869142633943035114268523938548997007932392056873027875157464820289703035021253006509462658221141385228558068213096189473618184190522227728871669905585685365379575147753894792281007532737975109680451029866592506751092045039413866941899221432134898926973320287759626947972230250581092616729928487651609470385875053922751655098118483946465934677533307403570078444950051184376408965164293997619805794792893113330832368491175160470185386469835719367578884928363317742343536290344819376812773479206070888494470234606213926573775617130754447254495064219790256928614441663361359698496706899570167701880258366672269852657795694001183277154823277537773236239890929900596213386177172975637001992919166521157800440899496620394858944823240879910321266039373262659892764826092110800531046533079286972004 383742244063943839277334350723676184323739531142548132665303148020391415922687834422623140689298921382595385970563948004607204731255264137628178350415753340860948188605753808064783671394723903759024227207859709035902552696715837072595094869041110939453917003907601330346444306294411338053006047074850565295347230413255972788274018293970901327396955152160494711911436036724208055089615344595199487966472871431785966918038020960707580130111521600153565943068281054532402854382590783636732070910940178378123079413858136366634273894763256586424601348028484118135057891457960842924330098182313783862954785521402473481548391481793618162229958868135195923275211700741325200435268333835404461104027727296543952921321781627406624278428325744752542622806931507779340955346751279828627237812459983739708942272244795286714681680643159816304353209838207559529081215457020382571503871910058007 620907993814618709135955016071641890763935795732137941517350686023024224734368980985849743558441555325630500239087886553604212663647321010656053507880573630563983209858760317527441892536109132317092440304049182654086743218943565944265000454726476319029064757802393611353977044269521018504035913667357316387392269827122914687495450428869828300717242911787442684141686617816824785018102996204669873841526794183441065036521967426642257663418925170232010893119465430941368018676588403442526863804053509210491570589018606552020743730482624165309529711346226461671348236277337655697809304253202278333189391735329047257165522236240872657294178658392124537716875062101023697142167904003106341362394399566396610717015782810683779101705863517988782513736832103992727132519726916830620156978981141540149841768865190145659504921523070137570392583100867452293907307567820913618036951197030011 1004650237878562548413289366795318075087675326874686074182653834043415640657056815408472884247740476708225886209651834558211417394902585148284231858296326971424931398464514125592225563930833036076116667511908891689989295915659403016860095323767587258482981761709994941700421350563932356557041960742207881682739500240378887475769468722840729628114198063947937396053122654541032840107718340799869361807999665615227031954559988387349837793530446770385576836187746485473770873059179187079258934714993687588614650002876742918655017625245880751734131059374710579806406127735298498622139402435516062196144177256731520738713913718034490819524137526527320460992086762842348897577436237838510802466422126862940563638337564438090403380134189262741325136543763611772068087866478196659247394791441125279858784041109985432374186602166229953874745792939075011822988523024841296189540823107088018 1625558231693181257549244382866959965851611122606824015700004520066439865391425796394322627806182032033856386448739721111815630058549906158940285366176900601988914608323274443119667456466942168393209107815958074344076039134602968961125095778494063577512046519512388553054398394833453375061077874409565198070131770067501802163264919151710557928831440975735380080194809272357857625125821337004539235649526459798668096991081955813992095456949371940617587729307211916415138891735767590521785798519047196799106220591895349470675761355728504917043660770720937041477754364012636154319948706688718340529333568992060567995879435954275363476818316184919444998708961824943372594719604141841617143828816526429337174355353347248774182481840052780730107650280595715764795220386205113489867551770422266820008625809975175578033691523689300091445138376039942464116895830592662209807577774304118029 2630208469571743805962533749662278040939286449481510089882658354109855506048482611802795512053922508742082272658391555670027047453452491307224517224473227573413846006787788568711893020397775204469325775327866966034065335050262371977985191102261650835995028281222383494754819745397385731618119835151773079752871270307880689639034387874551287556945639039683317476247931926898890465233539677804408597457526125413895128945641944201341933250479818711003164565494958401888909764794946777601044733234040884387720870594772092389330778980974385668777791830095647621284160491747934652942088109124234402725477746248792088734593349672309854296342453711446765459701048587785721492297040379680127946295238653292277737993690911686864585861974242043471432786824359327536863308252683310149114946561863392099867409851085161010407878125855530045319884168979017475939884353617503505997118597411206047 4255766701264925063511778132529238006790897572088334105582662874176295371439908408197118139860104540775938659107131276781842677512002397466164802590650128175402760615111063011831560476864717372862534883143825040378141374184865340939110286880755714413507074800734772047809218140230839106679197709561338277823003040375382491802299307026261845485777080015418697556442741199256748090359361014808947833107052585212563225936723900015334028707429190651620752294802170318304048656530714368122830531753088081186827091186667441860006540336702890585821452600816584662761914855760570807262036815812952743254811315240852656730472785626585217773160769896366210458410010412729094087016644521521745090124055179721614912349044258935638768343814294824201540437104955043301658528638888423638982498332285658919876035661060336588441569649544830136765022545018959940056780184210165715804696371715324076 6885975170836668869474311882191516047730184021569844195465321228286150877488391019999913651914027049518020931765522832451869724965454888773389319815123355748816606621898851580543453497262492577331860658471692006412206709235127712917095477983017365249502103081957155542564037885628224838297317544713111357575874310683263181441333694900813133042722719055102015032690673126155638555592900692613356430564578710626458354882365844216675961957909009362623916860297128720192958421325661145723875264987128965574547961781439534249337319317677276254599244430912232284046075347508505460204124924937187145980289061489644745465066135298895072069503223607812975918111059000514815579313684901201873036419293833013892650342735170622503354205788536867672973223929314370838521836891571733788097444894149051019743445512145497598849447775400360182084906713997977415996664537827669221801814969126530123 11141741872101593932986090014720754054521081593658178301047984102462446248928299428197031791774131590293959590872654109233712402477457286239554122405773483924219367237009914592375013974127209950194395541615517046790348083419993053856205764863773079663009177882691927590373256025859063944976515254274449635398877351058645673243633001927074978528499799070520712589133414325412386645952261707422304263671631295839021580819089744232009990665338200014244669155099299038497007077856375513846705796740217046761375052968106976109343859654380166840420697031728816946807990203269076267466161740750139889235100376730497402195538920925480289842663993504179186376521069413243909666330329422723618126543349012735507562691779429558142122549602831691874513661034269414140180365530460157427079943226434709939619481173205834187291017424945190318849929259016937356053444722037834937606511340841854199 18027717042938262802460401896912270102251265615228022496513305330748597126416690448196945443688158639811980522638176941685582127442912175012943442220896839673035973858908766172918467471389702527526256200087209053202554792655120766773301242846790444912511280964649083132937293911487288783273832798987560992974751661741908854684966696827888111571222518125622727621824087451568025201545162400035660694236210006465479935701455588448685952623247209376868586015396427758689965499182036659570581061727346012335923014749546510358681178972057443095019941462641049230854065550777581727670286665687327035215389438220142147660605056224375361912167217111992162294632128413758725245644014323925491162962642845749400213034514600180645476755391368559547486884963583784978702202422031891215177388120583760959362926685351331786140465200345550500934835973014914772050109259865504159408326309968384322 29169458915039856735446491911633024156772347208886200797561289433211043375344989876393977235462290230105940113510831050919294529920369461252497564626670323597255341095918680765293481445516912477720651741702726099992902876075113820629507007710563524575520458847341010723310549937346352728250348053262010628373629012800554527928599698754963090099722317196143440210957501776980411847497424107457964957907841302304501516520545332680695943288585409391113255170495726797186972577038412173417286858467563059097298067717653486468025038626437609935440638494369866177662055754046657995136448406437466924450489814950639549856143977149855651754831210616171348671153197827002634911974343746649109289505991858484907775726294029738787599304994200251422000545997853199118882567952492048642257331347018470898982407858557165973431482625290740819784765232031852128103553981903339097014837650810238521 47197175957978119537906893808545294259023612824114223294074594763959640501761680324590922679150448869917920636149007992604876657363281636265441006847567163270291314954827446938211948916906615005246907941789935153195457668730234587402808250557353969488031739811990093856247843848833641511524180852249571621348380674542463382613566395582851201670944835321766167832781589228548437049042586507493625652144051308769981452222000921129381895911832618767981841185892154555876938076220448832987867920194909071433221082467199996826706217598495053030460579957010915408516121304824239722806735072124793959665879253170781697516749033374231013666998427728163510965785326240761360157618358070574600452468634704234307988760808629919433076060385568810969487430961436984097584770374523939857434719467602231858345334543908497759571947825636291320719601205046766900153663241768843256423163960778622843 76366634873017976273353385720178318415795960033000424091635884197170683877106670200984899914612739100023860749659839043524171187283651097517938571474237486867546656050746127703505430362423527482967559683492661253188360544805348408032315258267917494063552198659331104579558393786179994239774528905511582249722009687343017910542166094337814291770667152517909608043739091005528848896540010614951590610051892611074482968742546253810077839200418028159095096356387881353063910653258861006405154778662472130530519150184853483294731256224932662965901218451380781586178177058870897717943183478562260884116369068121421247372893010524086665421829638344334859636938524067763995069592701817223709741974626562719215764487102659658220675365379769062391487976959290183216467338327015988499692050814620702757327742402465663733003430450927032140504366437078619028257217223672182353438001611588861364 123563810830996095811260279528723612674819572857114647385710478961130324378868350525575822593763187969941781385808847036129047844646932733783379578321804650137837971005573574641717379279330142488214467625282596406383818213535582995435123508825271463551583938471321198435806237635013635751298709757761153871070390361885481293155732489920665493441611987839675775876520680234077285945582597122445216262195943919844464420964547174939459735112250646927076937542280035908940848729479309839393022698857381201963740232652053480121437473823427715996361798408391696994694298363695137440749918550687054843782248321292202944889642043898317679088828066072498370602723850308525355227211059887798310194443261266953523753247911289577653751425765337873360975407920727167314052108701539928357126770282222934615673076946374161492575378276563323461223967642125385928410880465441025609861165572367484207 199930445704014072084613665248901931090615532890115071477346363158301008255975020726560722508375927069965642135468686079653219031930583831301318149796042137005384627056319702345222809641753669971182027308775257659572178758340931403467438767093188957615136137130652303015364631421193629991073238663272736120792400049228499203697898584258479785212279140357585383920259771239606134842122607737396806872247836530918947389707093428749537574312668675086172033898667917262004759382738170845798177477519853332494259382836906963416168730048360378962263016859772478580872475422566035158693102029249315727898617389413624192262535054422404344510657704416833230239662374376289350296803761705022019936417887829672739517735013949235874426791145106935752463384880017350530519447028555916856818821096843637373000819348839825225578808727490355601728334079204004956668097689113207963299167183956345571 323494256535010167895873944777625543765435105747229718863056842119431332634843371252136545102139115039907423521277533115782266876577516565084697728117846787143222598061893276986940188921083812459396494934057854065955996971876514398902562275918460421166720075601973501451170869056207265742371948421033889991862790411113980496853631074179145278653891128197261159796780451473683420787705204859842023134443780450763411810671640603688997309424919322013248971440947953170945608112217480685191200176377234534457999615488960443537606203871788094958624815268164175575566773786261172599443020579936370571680865710705827137152177098320722023599485770489331600842386224684814705524014821592820330130861149096626263270982925238813528178216910444809113438792800744517844571555730095845213945591379066571988673896295213986718154187004053679062952301721329390885078978154554233573160332756323829778 523424702239024239980487610026527474856050638637344790340403205277732340890818391978697267610515042109873065656746219195435485908508100396386015877913888924148607225118212979332162998562837482430578522242833111725528175730217445802370001043011649378781856212732625804466535500477400895733445187084306626112655190460342479700551529658437625063866170268554846543717040222713289555629827812597238830006691616981682359200378734032438534883737587997099421005339615870432950367494955651530989377653897087866952258998325867406953774933920148473920887832127936654156439249208827207758136122609185686299579483100119451329414712152743126368110143474906164831082048599061104055820818583297842350067279036926299002788717939188049402605008055551744865902177680761868375091002758651762070764412475910209361674715644053811943732995731544034664680635800533395841747075843667441536459499940280175349 846918958774034407876361554804153018621485744384574509203460047397163673525661763230833812712654157149780489178023752311217752785085616961470713606031735711291829823180106256319103187483921294889975017176890965791484172702093960201272563318930109799948576288334599305917706369533608161475817135505340516104517980871456460197405160732616770342520061396752107703513820674186972976417533017457080853141135397432445771011050374636127532193162507319112669976780563823603895975607173132216180577830274322401410258613814827850491381137791936568879512647396100829732006022995088380357579143189122056871260348810825278466566889251063848391709629245395496431924434823745918761344833404890662680198140186022925266059700864426862930783224965996553979340970481506386219662558488747607284710003854976781350348611939267798661887182735597713727632937521862786726826053998221675109619832696604005127 1370343661013058647856849164830680493477536383021919299543863252674896014416480155209531080323169199259653554834769971506653238693593717357856729483945624635440437048298319235651266186046758777320553539419724077517012348432311406003642564361941759178730432501067225110384241870011009057209262322589647142217173171331798939897956690391054395406386231665306954247230860896900262532047360830054319683147827014414128130211429108668566067076900095316212090982120179694036846343102128783747169955484171410268362517612140695257445156071712085042800400479524037483888445272203915588115715265798307743170839831910944729795981601403806974759819772720301661263006483422807022817165651988188505030265419222949224268848418803614912333388233021548298845243148162268254594753561247399369355474416330886990712023327583321610605620178467141748392313573322396182568573129841889116646079332636884180476 2217262619787093055733210719634833512099022127406493808747323300072059687942141918440364893035823356409434044012793723817870991478679334319327443089977360346732266871478425491970369373530680072210528556596615043308496521134405366204915127680871868978679008789401824416301948239544617218685079458094987658321691152203255400095361851123671165748906293062059061950744681571087235508464893847511400536288962411846573901222479483304693599270062602635324760958900743517640742318709301915963350533314445732669772776225955523107936537209504021611679913126920138313620451295199003968473294408987429800042100180721770008262548490654870823151529401965697157694930918246552941578510485393079167710463559408972149534908119668041775264171457987544852824584118643774640814416119736146976640184420185863772062371939522589409267507361202739462119946510844258969295399183840110791755699165333488185603 3587606280800151703590059884465514005576558510428413108291186552746955702358622073649895973358992555669087598847563695324524230172273051677184172573922984982172703919776744727621635559577438849531082096016339120825508869566716772208557692042813628157409441290469049526686190109555626275894341780684634800538864323535054339993318541514725561155292524727366016197975542467987498040512254677565720219436789426260702031433908591973259666346962697951536851941020923211677588661811430699710520488798617142938135293838096218365381693281216106654480313606444175797508896567402919556589009674785737543212940012632714738058530092058677797911349174685998818957937401669359964395676137381267672740728978631921373803756538471656687597559691009093151669827266806042895409169680983546345995658836516750762774395267105911019873127539669881210512260084166655151863972313681999908401778497970372366079 5804868900587244759323270604100347517675580637834906917038509852819015390300763992090260866394815912078521642860357419142395221650952385996511615663900345328904970791255170219592004933108118921741610652612954164134005390701122138413472819723685497136088450079870873942988138349100243494579421238779622458860555475738309740088680392638396726904198817789425078148720224039074733548977148525077120755725751838107275932656388075277953265617025300586861612899921666729318330980520732615673871022113062875607908070064051741473318230490720128266160226733364314111129347862601923525062304083773167343255040193354484746321078582713548621062878576651695976652868319915912905974186622774346840451192538040893523338664658139698462861731148996638004494411385449817536223585800719693322635843256702614534836767206628500429140634900872620672632206595010914121159371497522110700157477663303860551682 9392475181387396462913330488565861523252139148263320025329696405565971092659386065740156839753808467747609241707921114466919451823225437673695788237823330311077674711031914947213640492685557771272692748629293284959514260267838910622030511766499125293497891370339923469674328458655869770473763019464257259399419799273364080081998934153122288059491342516791094346695766507062231589489403202642840975162541264367977964090296667251212931963987998538398464840942589940995919642332163315384391510911680018546043363902147959838699923771936234920640540339808489908638244430004843081651313758558904886467980205987199484379608674772226418974227751337694795610805721585272870369862760155614513191921516672814897142421196611355150459290840005731156164238652255860431632755481703239668631502093219365297611162473734411449013762440542501883144466679177569273023343811204110608559256161274232917761 15197344081974641222236601092666209040927719786098226942368206258384986482960150057830417706148624379826130884568278533609314673474177823670207403901723675639982645502287085166805645425793676693014303401242247449093519650968961049035503331490184622429586341450210797412662466807756113265053184258243879718259975275011673820170679326791519014963690160306216172495415990546136965138466551727719961730888293102475253896746684742529166197581013299125260077740864256670314250622852895931058262533024742894153951433966199701312018154262656363186800767073172804019767592292606766606713617842332072229723020399341684230700687257485775040037106327989390772263674041501185776344049382929961353643114054713708420481085854751053613321021989002369160658650037705677967856341282422932991267345349921979832447929680362911878154397341415122555776673274188483394182715308726221308716733824578093469443 24589819263362037685149931581232070564179858934361546967697902663950957575619536123570574545902432847573740126276199648076234125297403261343903192139547005951060320213319000114019285918479234464286996149871540734053033911236799959657533843256683747723084232820550720882336795266411983035526947277708136977659395074285037900252678260944641303023181502823007266842111757053199196727955954930362802706050834366843231860836981409780379129545001297663658542581806846611310170265185059246442654043936422912699994797868347661150718078034592598107441307412981293928405836722611609688364931600890977116191000605328883715080295932258001459011334079327085567874479763086458646713912143085575866835035571386523317623507051362408763780312829008100316822888689961538399489096764126172659898847443141345130059092154097323327168159781957624438921139953366052667206059119930331917275989985852326387204 39787163345336678907386532673898279605107578720459773910066108922335944058579686181400992252051057227399871010844478181685548798771581085014110596041270681591042965715606085280824931344272911157301299551113788183146553562205761008693037174746868370152670574270761518294999262074168096300580131535952016695919370349296711720423357587736160317986871663129223439337527747599336161866422506658082764436939127469318485757583666152309545327126014596788918620322671103281624420888037955177500916576961165806853946231834547362462736232297248961294242074486154097948173429015218376295078549443223049345914021004670567945780983189743776499048440407316476340138153804587644423057961526015537220478149626100231738104592906113462377101334818010469477481538727667216367345438046549105651166192793063324962507021834460235205322557123372746994697813227554536061388774428656553225992723810430419856647 64376982608698716592536464255130350169287437654821320877764011586286901634199222304971566797953490074973611137120677829761782924068984346358013788180817687542103285928925085394844217262752145621588295700985328917199587473442560968350571018003552117875754807091312239177336057340580079336107078813660153673578765423581749620676035848680801621010053165952230706179639504652535358594378461588445567142989961836161717618420647562089924456671015894452577162904477949892934591153223014423943570620897588719553941029702895023613454310331841559401683381899135391876579265737829985983443481044114026462105021609999451660861279122001777958059774486643561908012633567674103069771873669101113087313185197486755055728099957475871140881647647018569794304427417628754766834534810675278311065040236204670092566113988557558532490716905330371433618953180920588728594833548586885143268713796282746243851 104164145954035395499922996929028629774395016375281094787830120508622845692778908486372559050004547302373482147965156011447331722840565431372124384222088369133146251644531170675669148607025056778889595252099117100346141035648321977043608192750420488028425381362073757472335319414748175636687210349612170369498135772878461341099393436416961938996924829081454145517167252251871520460800968246528331579929089305480203376004313714399469783797030491241495783227149053174559012041260969601444487197858754526407887261537442386076190542629090520695925456385289489824752694753048362278522030487337075808019042614670019606642262311745554457108214893960038248150787372261747492829835195116650307791334823586986793832692863589333517982982465029039271785966145295971134179972857224383962231233029267995055073135823017793737813274028703118428316766408475124789983607977243438369261437606713166100498 168541128562734112092459461184158979943682454030102415665594132094909747326978130791344125847958037377347093285085833841209114646909549777730138172402906056675249537573456256070513365869777202400477890953084446017545728509090882945394179210753972605904180188453385996649671376755328254972794289163272324043076901196460210961775429285097763560006977995033684851696806756904406879055179429834973898722919051141641920994424961276489394240468046385694072946131627003067493603194483984025388057818756343245961828291240337409689644852960932080097608838284424881701331960490878348261965511531451102270124064224669471267503541433747332415167989380603600156163420939935850562601708864217763395104520021073741849560792821065204658864630112047609066090393562924725901014507667899662273296273265472665147639249811575352270303990934033489861935719589395713518578441525830323512530151402995912344349 272705274516769507592382458113187609718077470405383510453424252603532593019757039277716684897962584679720575433050989852656446369750115209102262556624994425808395789217987426746182514476802259179367486205183563117891869544739204922437787403504393093932605569815459754122006696170076430609481499512884494412575036969338672302874822721514725499003902824115138997213974009156278399515980398081502230302848140447122124370429274990888864024265076876935568729358776056242052615235744953626832545016615097772369715552777779795765835395590022600793534294669714371526084655243926710540487542018788178078143106839339490874145803745492886872276204274563638404314208312197598055431544059334413702895854844660728643393485684654538176847612577076648337876359708220697035194480525124046235527506294740660202712385634593146008117264962736608290252485997870838308562049503073761881791589009709078444847 441246403079503619684841919297346589661759924435485926119018384698442340346735170069060810745920622057067668718136823693865561016659664986832400729027900482483645326791443682816695880346579461579845377158268009135437598053830087867831966614258365699836785758268845750771678072925404685582275788676156818455651938165798883264650252006612489059010880819148823848910780766060685278571159827916476129025767191588764045364854236267378258264733123262629641675490403059309546218430228937652220602835371441018331543844018117205455480248550954680891143132954139253227416615734805058802453053550239280348267171064008962141649345179240219287444193655167238560477629252133448618033252923552177098000374865734470492954278505719742835712242689124257403966753271145422936208988193023708508823779560213325350351635446168498278421255896770098152188205587266551827140491028904085394321740412704990789196 713951677596273127277224377410534199379837394840869436572442637301974933366492209346777495643883206736788244151187813546522007386409780195934663285652894908292041116009431109562878394823381720759212863363451572253329467598569292790269754017762758793769391328084305504893684769095481116191757288189041312868226975135137555567525074728127214558014783643263962846124754775216963678087140225997978359328615332035886169735283511258267122288998200139565210404849179115551598833665973891279053147851986538790701259396795897001221315644140977281684677427623853624753501270978731769342940595569027458426410277903348453015795148924733106159720397929730876964791837564331046673464796982886590800896229710395199136347764190374281012559855266200905741843112979366119971403468718147754744351285854953985553064021080761644286538520859506706442440691585137390135702540531977847276113329422414069234043 1155198080675776746962066296707880789041597319276355362691461022000417273713227379415838306389803828793855912869324637240387568403069445182767064014680795390775686442800874792379574275169961182339058240521719581388767065652399380658101720632021124493606177086353151255665362842020885801774033076865198131323878913300936438832175326734739703617025664462412786695035535541277648956658300053914454488354382523624650215100137747525645380553731323402194852080339582174861145052096202828931273750687357979809032803240814014206676795892691931962575820560577992877980917886713536828145393649119266738774677448967357415157444494103973325447164591584898115525269466816464495291498049906438767898896604576129669629302042696094023848272097955325163145809866250511542907612456911171463253175065415167310903415656526930142564959776756276804594628897172403941962843031560881932670435069835119060023239 1869149758272049874239290674118414988421434714117224799263903659302392207079719588762615802033687035530644157020512450786909575789479225378701727300333690299067727558810305901942452669993342903098271103885171153642096533250968673448371474649783883287375568414437456760559047611116366917965790365054239444192105888436073994399700401462866918175040448105676749541160290316494612634745440279912432847682997855660536384835421258783912502842729523541760062485188761290412743885762176720210326898539344518599734062637609911207898111536832909244260497988201846502734419157692268597488334244688294197201087726870705868173239643028706431606884989514628992490061304380795541964962846889325358699792834286524868765649806886468304860831953221526068887652979229877662879015925629319217997526351270121296456479677607691786851498297615783511037069588757541332098545572092859779946548399257533129257282 3024347838947826621201356970826295777463032033393580161955364681302809480792946968178454108423490864324500069889837088027297144192548670561468791315014485689843414001611180694322026945163304085437329344406890735030863598903368054106473195281805007780981745500790608016224410453137252719739823441919437575515984801737010433231875728197606621792066112568089536236195825857772261591403740333826887336037380379285186599935559006309557883396460846943954914565528343465273888937858379549141600649226702498408766865878423925414574907429524841206836318548779839380715337044405805425633727893807560935975765175838063283330684137132679757054049581099527108015330771197260037256460896795764126598689438862654538394951849582562328709104051176851232033462845480389205786628382540490681250701416685288607359895334134621929416458074372060315631698485929945274061388603653741712616983469092652189280521 4893497597219876495440647644944710765884466747510804961219268340605201687872666556941069910457177899855144226910349538814206719982027895940170518615348175988911141560421486596264479615156646988535600448292061888672960132154336727554844669931588891068357313915228064776783458064253619637705613806973677019708090690173084427631576129660473539967106560673766285777356116174266874226149180613739320183720378234945722984770980265093470386239190370485714977050717104755686632823620556269351927547766047017008500928516033836622473018966357750451096816536981685883449756202098074023122062138495855133176852902708769151503923780161386188660934570614156100505392075578055579221423743685089485298482273149179407160601656469030633569936004398377300921115824710266868665644308169809899248227767955409903816375011742313716267956371987843826668768074687486606159934175746601492563531868350185318537803 7917845436167703116642004615771006543347498780904385123174633021908011168665613525119524018880668764179644296800186626841503864174576566501639309930362661678754555562032667290586506560319951073972929792698952623703823731057704781661317865213393898849339059416018672793007868517390872357445437248893114595224075491910094860863451857858080161759172673241855822013551942032039135817552920947566207519757758614230909584706539271403028269635651217429669891616245448220960521761478935818493528196992749515417267794394457762037047926395882591657933135085761525264165093246503879448755790032303416069152618078546832434834607917294065945714984151713683208520722846775315616477884640480853611897171712011833945555553506051592962279040055575228532954578670190656074452272690710300580498929184640698511176270345876935645684414446359904142300466560617431880221322779400343205180515337442837507818324 12811343033387579612082652260715717309231965528415190084393901362513212856538280082060593929337846664034788523710536165655710584156604462441809828545710837667665697122454153886850986175476598062508530240991014512376783863212041509216162535144982789917696373331246737569791326581644491995151051055866791614932166182083179288495027987518553701726279233915622107790908058206306010043702101561305527703478136849176632569477519536496498655874841587915384868666962552976647154585099492087845455744758796532425768722910491598659520945362240342109029951622743211147614849448601953471877852170799271202329470981255601586338531697455452134375918722327839309026114922353371195699308384165943097195653985161013352716155162520623595848976059973605833875694494900922943117916998880110479747156952596108414992645357619249361952370818347747968969234635304918486381256955146944697744047205793022826356127 20729188469555282728724656876486723852579464309319575207568534384421224025203893607180117948218515428214432820510722792497214448331181028943449138476073499346420252684486821177437492735796549136481460033689967136080607594269746290877480400358376688767035432747265410362799195099035364352596488304759906210156241673993274149358479845376633863485451907157477929804460000238345145861255022508871735223235895463407542154184058807899526925510492805345054760283208001197607676346578427906338983941751546047843036517304949360696568871758122933766963086708504736411779942695105832920633642203102687271482089059802434021173139614749518080090902874041522517546837769128686812177193024646796709092825697172847298271708668572216558128016115548834366830273165091579017570189689590411060246086137236806926168915703496185007636785264707652111269701195922350366602579734547287902924562543235860334174451 33540531502942862340807309137202441161811429837734765291962435746934436881742173689240711877556362092249221344221258958152925032487785491385258967021784337014085949806940975064288478911273147198989990274680981648457391457481787800093642935503359478684731806078512147932590521680679856347747539360626697825088407856076453437853507832895187565211731141073100037595368058444651155904957124070177262926714032312584174723661578344396025581385334393260439628950170554174254830931677919994184439686510342580268805240215440959356089817120363275875993038331247947559394792143707786392511494373901958473811560041058035607511671312204970214466821596369361826572952691482058007876501408812739806288479682333860650987863831092840153976992175522440200705967659992501960688106688470521539993243089832915341161561061115434369589156083055400080238935831227268852983836689694232600668609749028883160530578 54269719972498145069531966013689165014390894147054340499530970131355660906946067296420829825774877520463654164731981750650139480818966520328708105497857836360506202491427796241725971647069696335471450308370948784537999051751534090971123335861736167451767238825777558295389716779715220700344027665386604035244649530069727587211987678271821428697183048230577967399828058682996301766212146579048998149949927775991716877845637152295552506895827198605494389233378555371862507278256347900523423628261888628111841757520390320052658688878486209642956125039752683971174734838813619313145136577004645745293649100860469628684810926954488294557724470410884344119790460610744820053694433459536515381305379506707949259572499665056712105008291071274567536240825084080978258296378060932600239329227069722267330476764611619377225941347763052191508637027149619219586416424241520503593172292264743494705029 87810251475441007410339275150891606176202323984789105791493405878290097788688240985661541703331239612712875508953240708803064513306752011713967072519642173374592152298368771306014450558342843534461440583051930432995390509233321891064766271365095646136499044904289706227980238460395077048091567026013301860333057386146181025065495511167008993908914189303678004995196117127647457671169270649226261076663960088575891601507215496691578088281161591865934018183549109546117338209934267894707863314772231208380646997735831279408748505998849485518949163371000631530569526982521405705656630950906604219105209141918505236196482239159458509024546066780246170692743152092802827930195842272276321669785061840568600247436330757896866082000466593714768242208485076582938946403066531454140232572316902637608492037825727053746815097430818452271747572858376888072570253113935753104261782041293626655235607 142079971447939152479871241164580771190593218131843446291024376009645758695634308282082371529106117133176529673685222459453203994125718532042675178017500009735098354789796567547740422205412539869932890891422879217533389560984855982035889607226831813588266283730067264523369955240110297748435594691399905895577706916215908612277483189438830422606097237534255972395024175810643759437381417228275259226613887864567608479352852648987130595176988790471428407416927664917979845488190615795231286943034119836492488755256221599461407194877335695161905288410753315501744261821335025018801767527911249964398858242778974864881293166113946803582270537191130514812533612703547647983890275731812837051090441347276549507008830422953578187008757664989335778449310160663917204699444592386740471901543972359875822514590338673124041038778581504463256209885526507292156669538177273607854954333558370149940636 229890222923380159890210516315472377366795542116632552082517781887935856484322549267743913232437356745889405182638463168256268507432470543756642250537142183109690507088165338853754872763755383404394331474474809650528780070218177873100655878591927459724765328634356970751350193700505374796527161717413207755910764302362089637342978700605839416515011426837933977390220292938291217108550687877501520303277847953143500080860068145678708683458150382337362425600476774464097183698124883689939150257806351044873135752992052878870155700876185180680854451781753947032313788803856430724458398478817854183504067384697480101077775405273405312606816603971376685505276764796350475914086118004089158720875503187845149754445161180850444269009224258704104020657795237246856151102511123840880704473860874997484314552416065726870856136209399956735003782743903395364726922652113026712116736374851996805176243 371970194371319312370081757480053148557388760248475998373542157897581615179956857549826284761543473879065934856323685627709472501558189075799317428554642192844788861877961906401495294969167923274327222365897688868062169631203033855136545485818759273313031612364424235274720148940615672544962756408813113651488471218577998249620461890044669839121108664372189949785244468748934976545932105105776779529891735817711108560212920794665839278635139172808790833017404439382077029186315499485170437200840470881365624508248274478331562895753520875842759740192507262534058050625191455743260166006729104147902925627476454965959068571387352116189087141162507200317810377499898123897976393735901995771965944535121699261453991603804022456017981923693439799107105397910773355801955716227621176375404847357360137067006404399994897174987981461198259992629429902656883592190290300319971690708410366955116879 601860417294699472260292273795525525924184302365108550456059939785517471664279406817570197993980830624955340038962148795965741008990659619555959679091784375954479368966127245255250167732923306678721553840372498518590949701421211728237201364410686733037796940998781206026070342641121047341489918126226321407399235520940087886963440590650509255636120091210123927175464761687226193654482792983278299833169583770854608641072988940344547962093289555146153258617881213846174212884440383175109587458646821926238760261240327357201718596629706056523614191974261209566371839429047886467718564485546958331406993012173935067036843976660757428795903745133883885823087142296248599812062511739991154492841447722966849015899152784654466725027206182397543819764900635157629506904466840068501880849265722354844451619422470126865753311197381417933263775373333298021610514842403327032088427083262363760293122 973830611666018784630374031275578674481573062613584548829602097683099086844236264367396482755524304504021274895285834423675213510548848695355277107646426568799268230844089151656745462702091229953048776206270187386653119332624245583373746850229446006350828553363205441300790491581736719886452674535039435058887706739518086136583902480695179094757228755582313876960709230436161170200414898089055079363061319588565717201285909735010387240728428727954944091635285653228251242070755882660280024659487292807604384769488601835533281492383226932366373932166768472100429890054239342210978730492276062479309918639650390032995912548048109544984990886296391086140897519796146723710038905475893150264807392258088548277353144388458489181045188106090983618872006033068402862706422556296123057224670569712204588686428874526860650486185362879131523768002763200678494107032693627352060117791672730715410001 1575691028960718256890666305071104200405757364978693099285662037468616558508515671184966680749505135128976614934247983219640954519539508314911236786738210944753747599810216396911995630435014536631770330046642685905244069034045457311610948214640132739388625494361986647326860834222857767227942592661265756466286942260458174023547343071345688350393348846792437804136173992123387363854897691072333379196230903359420325842358898675354935202821718283101097350253166867074425454955196265835389612118134114733843145030728929192735000089012932988889988124141029681666801729483287228678697294977823020810716911651824325100032756524708866973780894631430274971963984662092395323522101417215884304757648839981055397293252297173112955906072394288488527438636906668226032369610889396364624938073936292067049040305851344653726403797382744297064787543376096498700104621875096954384148544874935094475703123 2549521640626737041521040336346682874887330427592277648115264135151715645352751935552363163505029439632997889829533817643316168030088357010266513894384637513553015830654305548568741093137105766584819106252912873291897188366669702894984695064869578745739454047725192088627651325804594487114395267196305191525174648999976260160131245552040867445150577602374751681096883222559548534055312589161388458559292222947986043043644808410365322443550147011056041441888452520302676697025952148495669636777621407541447529800217531028268281581396159921256362056307798153767231619537526570889676025470099083290026830291474715133028669072756976518765885517726666058104882181888542047232140322691777455022456232239143945570605441561571445087117582394579511057508912701294435232317311952660747995298606861779253628992280219180587054283568107176196311311378859699378598728907790581736208662666607825191113124 4125212669587455298411706641417787075293087792570970747400926172620332203861267606737329844254534574761974504763781800862957122549627865325177750681122848458306763430464521945480736723572120303216589436299555559197141257400715160206595643279509711485128079542087178735954512160027452254342337859857570947991461591260434434183678588623386555795543926449167189485233057214682935897910210280233721837755523126307406368886003707085720257646371865294157138792141619387377102151981148414331059248895755522275290674830946460221003281670409092910146350180448827835434033349020813799568373320447922104100743741943299040233061425597465843492546780149156941030068866843980937370754241739907661759780105072220199342863857738734684400993189976683068038496145819369520467601928201349025372933372543153846302669298131563834313458080950851473261098854754956198078703350782887536120357207541542919666816247 6674734310214192339932746977764469950180418220163248395516190307772047849214019542289693007759564014394972394593315618506273290579716222335444264575507485971859779261118827494049477816709226069801408542552468432489038445767384863101580338344379290230867533589812370824582163485832046741456733127053876139516636240260410694343809834175427423240694504051541941166329940437242484431965522869395110296314815349255392411929648515496085580089922012305213180234030071907679778849007100562826728885673376929816738204631163991249271563251805252831402712236756625989201264968558340370458049345918021187390770572234773755366090094670222820011312665666883607088173749025869479417986382062599439214802561304459343288434463180296255846080307559077647549553654732070814902834245513301686120928671150015625556298290411783014900512364518958649457410166133815897457302079690678117856565870208150744857929371 10799946979801647638344453619182257025473506012734219142917116480392380053075287149027022852014098589156946899357097419369230413129344087660622015256630334430166542691583349439530214540281346373017997978852023991686179703168100023308175981623889001715995613131899549560536675645859498995799070986911447087508097831520845128527488422798813979036238430500709130651562997651925420329875733149628832134070338475562798780815652222581805837736293877599370319026171691295056881000988248977157788134569132452092028879462110451470274844922214345741549062417205453824635298317579154170026422666365943291491514314178072795599151520267688663503859445816040548118242615869850416788740623802507100974582666376679542631298320919030940247073497535760715588049800551440335370436173714650711493862043693169471858967588543346849213970445469810122718509020888772095536005430473565653976923077749693664524745618 17474681290015839978277200596946726975653924232897467538433306788164427902289306691316715859773662603551919293950413037875503703709060309996066279832137820402026321952702176933579692356990572442819406521404492424175218148935484886409756319968268291946863146721711920385118839131691545737255804113965323227024734071781255822871298256974241402276932934552251071817892938089167904761841256019023942430385153824818191192745300738077891417826215889904583499260201763202736659849995349539984517020242509381908767084093274442719546408174019598572951774653962079813836563286137494540484472012283964478882284886412846550965241614937911483515172111482924155206416364895719896206727005865106540189385227681138885919732784099327196093153805094838363137603455283511150273270419227952397614790714843185097415265878955129864114482809988768772175919187022587992993307510164243771833488947957844409382674989 28274628269817487616621654216128984001127430245631686681350423268556807955364593840343738711787761192708866193307510457244734116838404397656688295088768154832192864644285526373109906897271918815837404500256516415861397852103584909717932301592157293662858759853611469945655514777551044733054875100876770314532831903302100951398786679773055381313171365052960202469455935741093325091716989168652774564455492300380989973560952960659697255562509767503953818286373454497793540850983598517142305154811641834000795963555384894189821253096233944314500837071167533638471861603716648710510894678649907770373799200590919346564393135205600147019031557298964703324658980765570312995467629667613641163967894057818428551031105018358136340227302630599078725653255834951485643706592942603109108652758536354569274233467498476713328453255458578894894428207911360088529312940637809425810412025707538073907420607 45749309559833327594898854813075710976781354478529154219783730056721235857653900531660454571561423796260785487257923495120237820547464707652754574920905975234219186596987703306689599254262491258656811021661008840036616001039069796127688621560425585609721906575323390330774353909242590470310679214842093541557565975083356774270084936747296783590104299605211274287348873830261229853558245187676716994840646125199181166306253698737588673388725657408537317546575217700530200700978948057126822175054151215909563047648659336909367661270253542887452611725129613452308424889854143250995366690933872249256084087003765897529634750143511630534203668781888858531075345661290209202194635532720181353353121738957314470763889117685332433381107725437441863256711118462635916977012170555506723443473379539666689499346453606577442936065447347667070347394933948081522620450802053197643900973665382483290095596 74023937829650815211520509029204694977908784724160840901134153325278043813018494372004193283349184988969651680565433952364971937385869105309442870009674130066412051241273229679799506151534410074494215521917525255898013853142654705845620923152582879272580666428934860276429868686793635203365554315718863856090397878385457725668871616520352164903275664658171476756804809571354554945275234356329491559296138425580171139867206659397285928951235424912491135832948672198323741551962546574269127329865793049910359011204044231099188914366487487201953448796297147090780286493570791961506261369583780019629883287594685244094027885349111777553235226080853561855734326426860522197662265200333822517321015796775743021794994136043468773608410356036520588909966953414121560683605113158615832096231915894235963732813952083290771389320905926561964775602845308170051933391439862623454312999372920557197516203 119773247389484142806419363842280405954690139202689995120917883381999279670672394903664647854910608785230437167823357447485209757933333812962197444930580105300631237838260932986489105405796901333151026543578534095934629854181724501973309544713008464882302573004258250607204222596036225673676233530560957397647963853468814499938956553267648948493379964263382751044153683401615784798833479544006208554136784550779352306173460358134874602339961082321028453379523889898853942252941494631395949504919944265819922058852703568008556575636741030089406060521426760543088711383424935212501628060517652268885967374598451141623662635492623408087438894862742420386809672088150731399856900733054003870674137535733057492558883253728801206989518081473962452166678071876757477660617283714122555539705295433902653232160405689868214325386353274229035122997779256251574553842241915821098213973038303040487611799 193797185219134958017939872871485100932598923926850836022052036707277323483690889275668841138259793774200088848388791399850181695319202918271640314940254235367043289079534162666288611557331311407645242065496059351832643707324379207818930467865591344154883239433193110883634091282829860877041787846279821253738361731854272225607828169788001113396655628921554227800958492972970339744108713900335700113432922976359523446040667017532160531291196507233519589212472562097177683804904041205665076834785737315730281070056747799107745490003228517291359509317723907633868997876995727174007889430101432288515850662193136385717690520841735185640674120943595982242543998515011253597519165933387826387995153332508800514353877389772269980597928437510483041076645025290879038344222396872738387635937211328138616964974357773158985714707259200790999898600624564421626487233681778444552526972411223597685128002 313570432608619100824359236713765506887289063129540831142969920089276603154363284179333488993170402559430526016212148847335391453252536731233837759870834340667674526917795095652777716963128212740796268609074593447767273561506103709792240012578599809037185812437451361490838313878866086550718021376840778651386325585323086725546784723055650061890035593184936978845112176374586124542942193444341908667569707527138875752214127375667035133631157589554548042591996451996031626057845535837061026339705681581550203128909451367116302065639969547380765569839150668176957709260420662386509517490619084557401818036791587527341353156334358593728113015806338402629353670603161984997376066666441830258669290868241858006912760643501071187587446518984445493243323097167636516004839680586860943175642506762041270197134763463027200040093612475020035021598403820673201041075923694265650740945449526638172739801 507367617827754058842299109585250607819887987056391667165021956796553926638054173455002330131430196333630614864600940247185573148571739649505478074811088576034717815997329258319066328520459524148441510674570652799599917268830482917611170480444191153192069051870644472374472405161695947427759809223120599905124687317177358951154612892843651175286691222106491206646070669347556464287050907344677608781002630503498399198254794393199195664922354096788067631804469014093209309862749577042726103174491418897280484198966199166224047555643198064672125079156874575810826707137416389560517406920720516845917668698984723913059043677176093779368787136749934384871897669118173238594895232599829656646664444200750658521266638033273341168185374956494928534319968122458515554349062077459599330811579718090179887162109121236186185754800871675811034920199028385094827528309605472710203267917860750235857867803 820938050436373159666658346299016114707177050185932498307991876885830529792417457634335819124600598893061140880813089094520964601824276380739315834681922916702392342915124353971844045483587736889237779283645246247367190830336586627403410493022790962229254864308095833865310719040562033978477830599961378556511012902500445676701397615899301237176726815291428185491182845722142588829993100789019517448572338030637274950468921768866230798553511686342615674396465466089240935920595112879787129514197100478830687327875650533340349621283167612052890648996025243987784416397837051947026924411339601403319486735776311440400396833510452373096900152556272787501251339721335223592271299266271486905333735068992516528179398676774412355772821475479374027563291219626152070353901758046460273987222224852221157359243884699213385794894484150831069941797432205768028569385529166975854008863310276874030607604 1328305668264127218508957455884266722527065037242324165473013833682384456430471631089338149256030795226691755745414029341706537750396016030244793909493011492737110158912453612290910374004047261037679289958215899046967108099167069545014580973466982115421323916178740306239783124202257981406237639823081978461635700219677804627856010508742952412463418037397919392137253515069699053117044008133697126229574968534135674148723716162065426463475865783130683306200934480182450245783344689922513232688688519376111171526841849699564397176926365676725015728152899819798611123535253441507544331332060118249237155434761035353459440510686546152465687289306207172373149008839508462187166531866101143551998179269743175049446036710047753523958196431974302561883259342084667624702963835506059604798801942942401044521353005935399571549695355826642104861996460590862856097695134639686057276781171027109888475407 2149243718700500378175615802183282837234242087428256663781005710568214986222889088723673968380631394119752896626227118436227502352220292410984109744174934409439502501827577966262754419487634997926917069241861145294334298929503656172417991466489773077650578780486836140105093843242820015384715470423043357018146713122178250304557408124642253649640144852689347577628436360791841641947037108922716643678147306564772949099192637930931657262029377469473298980597399946271691181703939802802300362202885619854941858854717500232904746798209533288777906377148925063786395539933090493454571255743399719652556642170537346793859837344196998525562587441862479959874400348560843685779437831132372630457331914338735691577625435386822165879731017907453676589446550561710819695056865593552519878786024167794622201880596890634612957344589839977473174803793892796630884667080663806661911285644481303983919083011 3477549386964627596684573258067549559761307124670580829254019544250599442653360719813012117636662189346444652371641147777934040102616308441228903653667945902176612660740031578553664793491682258964596359200077044341301407028670725717432572439956755193071902696665576446344876967445077996790953110246125335479782413341856054932413418633385206062103562890087266969765689875861540695064081117056413769907722275098908623247916354092997083725505243252603982286798334426454141427487284492724813594891574139231053030381559349932469143975135898965502922105301824883585006663468343934962115587075459837901793797605298382147319277854883544678028274731168687132247549357400352147966604362998473774009330093608478866627071472096869919403689214339427979151329809903795487319759829429058579483584826110737023246401949896570012528894285195804115279665790353387493740764775798446347968562425652331093807558418 5626793105665127974860189060250832396995549212098837493035025254818814428876249808536686086017293583466197548997868266214161542454836600852213013397842880311616115162567609544816419212979317256891513428441938189635635705958174381889850563906446528270722481477152412586449970810687898012175668580669168692497929126464034305236970826758027459711743707742776614547394126236653382337011118225979130413585869581663681572347108992023928740987534620722077281267395734372725832609191224295527113957094459759085994889236276850165373890773345432254280828482450749947371402203401434428416686842818859557554350439775835728941179115199080543203590862173031167092121949705961195833746042194130846404466662007947214558204696907483692085283420232246881655740776360465506307014816695022611099362370850278531645448282546787204625486238875035781588454469584246184124625431856462253009879848070133635077726641429 9104342492629755571544762318318381956756856336769418322289044799069413871529610528349698203653955772812642201369509413992095582557452909293441917051510826213792727823307641123370084006470999515856109787642015233976937112986845107607283136346403283463794384173817989032794847778132976008966621690915294027977711539805890360169384245391412665773847270632863881517159816112514923032075199343035544183493591856762590195595025346116925824713039863974681263554194068799179974036678508788251927551986033898317047919617836200097843034748481331219783750587752574830956408866869778363378802429894319395456144237381134111088498393053964087881619136904199854224369499063361547981712646557129320178475992101555693424831768379580562004687109446586309634892106170369301794334576524451669678845955676389268668694684496683774638015133160231585703734135374599571618366196632260699357848410495785966171534199847 14731135598294883546404951378569214353752405548868255815324070053888228300405860336886384289671249356278839750367377680206257125012289510145654930449353706525408842985875250668186503219450316772747623216083953423612572818945019489497133700252849811734516865650970401619244818588820874021142290271584462720475640666269924665406355072149440125485590978375640496064553942349168305369086317569014674597079461438426271767942134338140854565700574484696758544821589803171905806645869733083779041509080493657403042808854113050263216925521826763474064579070203324778327811070271212791795489272713178953010494677156969840029677508253044631085209999077231021316491448769322743815458688751260166582942654109502907983036465287064254089970529678833191290632882530834808101349393219474280778208326526667800314142967043470979263501372035267367292188604958845755742991628488722952367728258565919601249260841276 23835478090924639117949713696887596310509261885637674137613114852957642171935470865236082493325205129091481951736887094198352707569742419439096847500864532739201570809182891791556587225921316288603733003725968657589509931931864597104416836599253095198311249824788390652039666366953850030108911962499756748453352206075815025575739317540852791259438249008504377581713758461683228401161516912050218780573053295188861963537159684257780390413614348671439808375783871971085780682548241872030969061066527555720090728471949250361059960270308094693848329657955899609284219937140991155174291702607498348466638914538103951118175901307008718966829135981430875540860947832684291797171335308389486761418646211058601407868233666644816094657639125419500925524988701204109895683969743925950457054282203057068982837651540154753901516505195498952995922740333445327361357825120983651725576669061705567420795041123 38566613689219522664354665075456810664261667434505929952937184906845870472341331202122466782996454485370321702104264774404609832582031929584751777950218239264610413795058142459743090445371633061351356219809922081202082750876884086601550536852102906932828115475758792271284484955774724051251202234084219468928992872345739690982094389690292916745029227384144873646267700810851533770247834481064893377652514733615133731479294022398634956114188833368198353197373675142991587328417974955810010570147021213123133537326062300624276885792134858167912908728159224387612031007412203946969780975320677301477133591695073791147853409560053350052039135058661896857352396602007035612630024059649653344361300320561509390904698953709070184628168804252692216157871232038917997033362963400231235262608729724869296980618583625733165017877230766320288111345292291083104349453609706604093304927627625168670055882399 62402091780144161782304378772344406974770929320143604090550299759803512644276802067358549276321659614461803653841151868602962540151774349023848625451082772003811984604241034251299677671292949349955089223535890738791592682808748683705967373451356002131139365300547182923324151322728574081360114196583976217382345078421554716557833707231145708004467476392649251227981459272534762171409351393115112158225568028803995695016453706656415346527803182039638161573157547114077368010966216827840979631213548768843224265798011550985336846062442952861761238386115123996896250944553195102144072677928175649943772506233177742266029310867062069018868271040092772398213344434691327409801359368039140105779946531620110798772932620353886279285807929672193141682859933243027892717332707326181692316890932781938279818270123780487066534382426265273284034085625736410465707278730690255818881596689330736090850923522 100968705469363684446659043847801217639032596754649534043487484666649383116618133269481016059318114099832125355945416643007572372733806278608600403401301011268422398399299176711042768116664582411306445443345812819993675433685632770307517910303458909063967480776305975194608636278503298132611316430668195686311337950767294407539928096921438624749496703776794124874249160083386295941657185874180005535878082762419129426495747729055050302641992015407836514770531222257068955339384191783650990201360569981966357803124073851609613731854577811029674147114274348384508281951965399049113853653248852951420906097928251533413882720427115419070907406098754669255565741036698363022431383427688793450141246852181620189677631574062956463913976733924885357840731165281945889750695670726412927579499662506807576798888707406220231552259657031593572145430918027493570056732340396859912186524316955904760906805921 163370797249507846228963422620145624613803526074793138134037784426452895760894935336839565335639773714293929009786568511610534912885580627632449028852383783272234383003540210962342445787957531761261534666881703558785268116494381454013485283754814911195106846076853158117932787601231872213971430627252171903693683029188849124097761804152584332753964180169443376102230619355921058113066537267295117694103650791223125121512201435711465649169795197447474676343688769371146323350350408611491969832574118750809582068922085402594950577917020763891435385500389472381404532896518594151257926331177028601364678604161429275679912031294177488089775677138847441653779085471389690432232742795727933555921193383801730988450564194416842743199784663597078499523591098524973782468028378052594619896390595288745856617158831186707298086642083296866856179516543763904035764011071087115731068121006286640851757729443 264339502718871530675622466467946842252836122829442672177525269093102278877513068606320581394957887814126054365731985154618107285619386906241049432253684794540656781402839387673385213904622114172567980110227516378778943550180014224321003194058273820259074326853159133312541423879735170346582747057920367590005020979956143531637689901074022957503460883946237500976479779439307354054723723141475123229981733553642254548007949164766515951811787212855311191114219991628215278689734600395142960033934688732775939872046159254204564309771598574921109532614663820765912814848483993200371779984425881552785584702089680809093794751721292907160683083237602110909344826508088053454664126223416727006062440235983351178128195768479799207113761397521963857364322263806919672218724048779007547475890257795553433416047538592927529638901740328460428324947461791397605820743411483975643254645323242545612664535364 427710299968379376904585889088092466866639648904235810311563053519555174638408003943160146730597661528419983375518553666228642198504967533873498461106068577812891164406379598635727659692579645933829514777109219937564211666674395678334488477813088731454181172930012291430474211480967042560554177685172539493698704009144992655735451705226607290257425064115680877078710398795228412167790260408770240924085384344865379669520150600477981600981582410302785867457908760999361602040085009006634929866508807483585521940968244656799514887688619338812544918115053293147317347745002587351629706315602910154150263306251110084773706783015470395250458760376449552563123911979477743886896869019144660561983633619785082166578759962896641950313546061119042356887913362331893454686752426831602167372280853084299290033206369779634827725543823625327284504464005555301641584754482571091374322766329529186464422264807 692049802687250907580208355556039309119475771733678482489088322612657453515921072549480728125555549342546037741250538820846749484124354440114547893359753372353547945809218986309112873597201760106397494887336736316343155216854409902655491671871362551713255499783171424743015635360702212907136924743092907083703724989101136187373141606300630247760885948061918378055190178234535766222513983550245364154067117898507634217528099765244497552793369623158097058572128752627576880729819609401777889900443496216361461813014403911004079197460217913733654450729717113913230162593486580552001486300028791706935848008340790893867501534736763302411141843614051663472468738487565797341560995242561387568046073855768433344706955731376441157427307458641006214252235626138813126905476475610609714848171110879852723449253908372562357364445563953787712829411467346699247405497894055067017577411652771732077086800171 1119760102655630284484794244644131775986115420637914292800651376132212628154329076492640874856153210870966021116769092487075391682629321973988046354465821950166439110215598584944840533289781406040227009664445956253907366883528805580989980149684451283167436672713183716173489846841669255467691102428265446577402428998246128843108593311527237538018311012177599255133900577029764178390304243959015605078152502243373013887048250365722479153774952033460882926030037513626938482769904618408412819766952303699946983753982648567803594085148837252546199368844770407060547510338489167903631192615631701861086111314591900978641208317752233697661600603990501216035592650467043541228457864261706048130029707475553515511285715694273083107740853519760048571140148988470706581592228902442211882220451963964152013482460278152197185089989387579114997333875472902000888990252376626158391900177982300918541509064978 1811809905342881192065002600200171085105591192371592775289739698744870081670250149042121602981708760213512058858019631307922141166753676414102594247825575322519987056024817571253953406886983166146624504551782692570250522100383215483645471821555813834880692172496355140916505482202371468374828027171358353661106153987347265030481734917827867785779196960239517633189090755264299944612818227509260969232219620141880648104576350130966976706568321656618979984602166266254515363499724227810190709667395799916308445566997052478807673282609055166279853819574487520973777672931975748455632678915660493568021959322932691872508709852488997000072742447604552879508061388954609338570018859504267435698075781331321948855992671425649524265168160978401054785392384614609519708497705378052821597068623074844004736931714186524759542454434951532902710163286940248700136395750270681225409477589635072650618595865149 2931570007998511476549796844844302861091706613009507068090391074877082709824579225534762477837861971084478079974788723794997532849382998388090640602291397272686426166240416156198793940176764572186851514216228648824157888983912021064635451971240265118048128845209538857089995329044040723842519129599623800238508582985593393873590328229355105323797507972417116888322991332294064123003122471468276574310372122385253661991624600496689455860343273690079862910632203779881453846269628846218603529434348103616255429320979701046611267367757892418826053188419257928034325183270464916359263871531292195429108070637524592851149918170241230697734343051595054095543654039421652879798476723765973483828105488806875464367278387119922607372909014498161103356532533603080226290089934280495033479289075038808156750414174464676956727544424339112017707497162413150701025386002647307383801377767617373569160104930127 4743379913341392668614799445044473946197297805381099843380130773621952791494829374576884080819570731297990138832808355102919674016136674802193234850116972595206413222265233727452747347063747738333476018768011341394408411084295236548280923792796078952928821017705893998006500811246412192217347156770982153899614736972940658904072063147182973109576704932656634521512082087558364067615940698977537543542591742527134310096200950627656432566911595346698842895234370046135969209769353074028794239101743903532563874887976753525418940650366947585105907007993745449008102856202440664814896550446952688997130029960457284723658628022730227697807085499199606975051715428376262218368495583270240919526181270138197413223271058545572131638077175476562158141924918217689745998587639658547855076357698113652161487345888651201716269998859290644920417660449353399401161781752917988609210855357252446219778700795276 7674949921339904145164596289888776807289004418390606911470521848499035501319408600111646558657432702382468218807597078897917206865519673190283875452408369867892839388505649883651541287240512310520327532984239990218566300068207257612916375764036344070976949862915432855096496140290452916059866286370605954138123319958534052777662391376538078433374212905073751409835073419852428190619063170445814117852963864912387972087825551124345888427254869036778705805866573826017423056038981920247397768536092007148819304208956454572030208018124840003931960196413003377042428039472905581174160421978244884426238100597981877574808546192971458395541428550794661070595369467797915098166972307036214403354286758945072877590549445665494739010986189974723261498457451820769972288677573939042888555646773152460318237760063115878672997543283629756938125157611766550102187167755565295993012233124869819788938805725403 12418329834681296813779395734933250753486302223771706754850652622120988292814237974688530639477003433680458357640405434000836880881656347992477110302525342463099252610770883611104288634304260048853803551752251331612974711152502494161197299556832423023905770880621326853102996951536865108277213443141588108037738056931474711681734454523721051542950917837730385931347155507410792258235003869423351661395555607439522282184026501752002320994166464383477548701100943872153392265808334994276192007637835910681383179096933208097449148668491787589037867204406748826050530895675346245989056972425197573423368130558439162298467174215701686093348514049994268045647084896174177316535467890306455322880468029083270290813820504211066870649063365451285419640382370038459718287265213597590743632004471266112479725105951767080389267542142920401858542818061119949503348949508483284602223088482122266008717506520679 20093279756021200958943992024822027560775306642162313666321174470620023794133646574800177198134436136062926576448002512898754087747176021182760985754933712330992091999276533494755829921544772359374131084736491321831541011220709751774113675320868767094882720743536759708199493091827318024337079729512194062175861376890008764459396845900259129976325130742804137341182228927263220448854067039869165779248519472351910254271852052876348209421421333420256254506967517698170815321847316914523589776173927917830202483305889662669479356686616627592969827400819752203092958935148251827163217394403442457849606231156421039873275720408673144488889942600788929116242454363972092414702440197342669726234754788028343168404369949876561609660049555426008681138839821859229690575942787536633632187651244418572797962866014882959062265085426550158796667975672886499605536117264048580595235321606992085797656312246082 32511609590702497772723387759755278314261608865934020421171827092741012086947884549488707837611439569743384934088407946899590968628832369175238096057459054794091344610047417105860118555849032408227934636488742653444515722373212245935310974877701190118788491624158086561302490043364183132614293172653782170213599433821483476141131300423980181519276048580534523272529384434674012707089070909292517440644075079791432536455878554628350530415587797803733803208068461570324207587655651908799781783811763828511585662402822870766928505355108415182007694605226501029143489830823598073152274366828640031272974361714860202171742894624374830582238456650783197161889539260146269731237908087649125049115222817111613459218190454087628480309112920877294100779222191897689408863208001134224375819655715684685277687971966650039451532627569470560655210793734006449108885066772531865197458410089114351806373818766761 52604889346723698731667379784577305875036915508096334087493001563361035881081531124288885035745875705806311510536410459798345056376008390357999081812392767125083436609323950600615948477393804767602065721225233975276056733593921997709424650198569957213671212367694846269501983135191501156951372902165976232389460810711492240600528146324239311495601179323338660613711613361937233155943137949161683219892594552143342790727730607504698739837009131223990057715035979268495022909502968823323371559985691746341788145708712533436407862041725042774977522006046253232236448765971849900315491761232082489122580592871281242045018615033047975071128399251572126278131993624118362145940348284991794775349977605139956627622560403964190089969162476303302781918062013756919099439150788670858008007306960103258075650837981532998513797712996020719451878769406892948714421184036580445792693731696106437604030131012843 85116498937426196504390767544332584189298524374030354508664828656102047968029415673777592873357315275549696444624818406697936025004840759533237177869851821919174781219371367706476067033242837175830000357713976628720572455967134243644735625076271147332459703991852932830804473178555684289565666074819758402603060244532975716741659446748219493014877227903873183886240997796611245863032208858454200660536669631934775327183609162133049270252596929027723860923104440838819230497158620732123153343797455574853373808111535404203336367396833457956985216611272754261379938596795447973467766128060722520395554954586141444216761509657422805653366855902355323440021532884264631877178256372640919824465200422251570086840750858051818570278275397180596882697284205654608508302358789805082383826962675787943353338809948183037965330340565491280107089563140899397823306250809112310990152141785220789410403949779604 137721388284149895236058147328909890064335439882126688596157830219463083849110946798066477909103190981356007955161228866496281081380849149891236259682244589044258217828695318307092015510636641943432066078939210603996629189561056241354160275274841104546130916359547779100306456313747185446517038976985734634992521055244467957342187593072458804510478407227211844499952611158548479018975346807615883880429264184078118117911339769637748010089606060251713918638140420107314253406661589555446524903783147321195161953820247937639744229438558500731962738617319007493616387362767297873783257889292805009518135547457422686261780124690470780724495255153927449718153526508382994023118604657632714599815178027391526714463311262016008660247437873483899664615346219411527607741509578475940391834269635891201428989647929716036479128053561511999558968332547792346537727434845692756782845873481327227014434080792447 222837887221576091740448914873242474253633964256157043104822658875565131817140362471844070782460506256905704399786047273194217106385689909424473437552096410963432999048066686013568082543879479119262066436653187232717201645528190484998895900351112251878590620351400711931110929492302869736082705051805493037595581299777443674083847039820678297525355635131085028386193608955159724882007555666070084540965933816012893445094948931770797280342202989279437779561244860946133483903820210287569678247580602896048535761931783341843080596835391958688947955228591761754996325959562745847251024017353527529913690502043564130478541634347893586377862111056282773158175059392647625900296861030273634424280378449643096801304062120067827230525713270664496547312630425066136116043868368281022775661232311679144782328457877899074444458394127003279666057895688691744361033685654805067772998015266548016424838030572051 360559275505725986976507062202152364317969404138283731700980489095028215666251309269910548691563697238261712354947276139690498187766539059315709697234341000007691216876762004320660098054516121062694132515592397836713830835089246726353056175625953356424721536710948491031417385806050055182599744028791227672588102355021911631426034632893137102035834042358296872886146220113708203900982902473685968421395198000091011563006288701408545290431809049531151698199385281053447737310481799843016203151363750217243697715752031279482824826273950459420910693845910769248612713322330043721034281906646332539431826049500986816740321759038364367102357366210210222876328585901030619923415465687906349024095556477034623515767373382083835890773151144148396211927976644477663723785377946756963167495501947570346211318105807615110923586447688515279225026228236484090898761120500497824555843888747875243439272111364498 583397162727302078716955977075394838571603368394440774805803147970593347483391671741754619474024203495167416754733323412884715294152228968740183134786437410971124215924828690334228180598395600181956198952245585069431032480617437211351952075977065608303312157062349202962528315298352924918682449080596720710183683654799355305509881672713815399561189677489381901272339829068867928782990458139756052962361131816103905008101237633179342570774012038810589477760630141999581221214302010130585881398944353113292233477683814621325905423109342418109858649074502531003609039281892789568285305923999860069345516551544550947218863393386257953480219477266492996034503645293678245823712326718179983448375934926677720317071435502151663121298864414812892759240607069543799839829246315037985943156734259249490993646563685514185368044841815518558891084123925175835259794806155302892328841904014423259864110141936549 943956438233028065693463039277547202889572772532724506506783637065621563149642981011665168165587900733429129109680599552575213481918768028055892832020778410978815432801590694654888278652911721244650331467837982906144863315706683937705008251603018964728033693773297693993945701104402980101282193109387948382771786009821266936935916305606952501597023719847678774158486049182576132683973360613442021383756329816194916571107526334587887861205821088341741175960015423053028958524783809973602084550308103330535931193435845900808730249383292877530769342920413300252221752604222833289319587830646192608777342601045537763959185152424622320582576843476703218910832231194708865747127792406086332472471491403712343832838808884235499012072015558961288971168583714021463563614624261794949110652236206819837204964669493129296291631289504033838116110352161659926158555926655800716884685792762298503303382253301047 1527353600960330144410419016352942041461176140927165281312586785036214910633034652753419787639612104228596545864413922965459928776070996996796075966807215821949939648726419384989116459251307321426606530420083567975575895796324121149056960327580084573031345850835646896956474016402755905019964642189984669092955469664620622242445797978320767901158213397337060675430825878251444061466963818753198074346117461632298821579208763967767230431979833127152330653720645565052610179739085820104187965949252456443828164671119660522134635672492635295640627991994915831255830791886115622857604893754646052678122859152590088711178048545810880274062796320743196214945335876488387111570840119124266315920847426330390064149910244386387162133370879973774181730409190783565263403443870576832935053808970466069328198611233178643481659676131319552397007194476086835761418350732811103609213527696776721763167492395237596 2471310039193358210103882055630489244350748913459889787819370422101836473782677633765084955805200004962025674974094522518035142257989765024851968798827994232928755081528010079644004737904219042671256861887921550881720759112030805086761968579183103537759379544608944590950419717507158885121246835299372617475727255674441889179381714283927720402755237117184739449589311927434020194150937179366640095729873791448493738150316290302355118293185654215494071829680660988105639138263869630077790050499560559774364095864555506422943365921875928173171397334915329131508052544490338456146924481585292245286900201753635626475137233698235502594645373164219899433856168107683095977317967911530352648393318917734102407982749053270622661145442895532735470701577774497586726967058494838627884164461206672889165403575902671772777951307420823586235123304828248495687576906659466904326098213489539020266470874648538643 3998663640153688354514301071983431285811925054387055069131957207138051384415712286518504743444812109190622220838508445483495071034060762021648044765635210054878694730254429464633121197155526364097863392308005118857296654908354926235818928906763188110790725395444591487906893733909914790141211477489357286568682725339062511421827512262248488303913450514521800125020137805685464255617900998119838170075991253080792559729525054270122348725165487342646402483401306553158249318002955450181978016448813016218192260535675166945078001594368563468812025326910244962763883336376454079004529375339938297965023060906225715186315282244046382868708169484963095648801503984171483088888808030654618964314166344064492472132659297657009823278813775506509652431986965281151990370502365415460819218270177138958493602187135850416259610983552143138632130499304335331448995257392278007935311741186315742029638367043776239 6469973679347046564618183127613920530162673967846944856951327629239887858198389920283589699250012114152647895812602968001530213292050527046500013564463204287807449811782439544277125935059745406769120254195926669739017414020385731322580897485946291648550104940053536078857313451417073675262458312788729904044409981013504400601209226546176208706668687631706539574609449733119484449768838177486478265805865044529286297879841344572477467018351141558140474313081967541263888456266825080259768066948373575992556356400230673368021367516244491641983422661825574094271935880866792535151453856925230543251923262659861341661452515942281885463353542649182995082657672091854579066206775942184971612707485261798594880115408350927632484424256671039245123133564739778738717337560860254088703382731383811847659005763038522189037562290972966724867253804132583827136572164051744912261409954675854762296109241692314882 10468637319500734919132484199597351815974599022233999926083284836377939242614102206802094442694824223343270116651111413485025284326111289068148058330098414342686144542036869008910247132215271770866983646503931788596314068928740657558399826392709479759340830335498127566764207185326988465403669790278087190613092706352566912023036738808424697010582138146228339699629587538804948705386739175606316435881856297610078857609366398842599815743516628900786876796483274094422137774269780530441746083397186592210748616935905840313099369110613055110795447988735819057035819217243246614155983232265168841216946323566087056847767798186328268332061712134146090731459176076026062155095583972839590577021651605863087352248067648584642307703070446545754775565551705059890707708063225669549522601001560950806152607950174372605297173274525109863499384303436919158585567421444022920196721695862170504325747608736091121 16938610998847781483750667327211272346137272990080944783034612465617827100812492127085684141944836337495918012463714381486555497618161816114648071894561618630493594353819308553187373067275017177636103900699858458335331482949126388880980723878655771407890935275551663645621520636744062140666128103066817094657502687366071312624245965354600905717250825777934879274239037271924433155155577353092794701687721342139365155489207743415077282761867770458927351109565241635686026230536605610701514150345560168203304973336136513681120736626857546752778870650561393151307755098110039149307437089190399384468869586225948398509220314128610153795415254783329085814116848167880641221302359915024562189729136867661682232363475999512274792127327117584999898699116444838629425045624085923638225983732944762653811613713212894794334735565498076588366638107569502985722139585495767832458131650538025266621856850428406003 27407248318348516402883151526808624162111872012314944709117897301995766343426594333887778584639660560839188129114825794971580781944273105182796130224660032973179738895856177562097620199490288948503087547203790246931645551877867046439380550271365251167231765611049791212385727822071050606069797893344904285270595393718638224647282704163025602727832963924163218973868624810729381860542316528699111137569577639749444013098574142257677098505384399359714227906048515730108164004806386141143260233742746760414053590272042353994220105737470601863574318639297212208343574315353285763463420321455568225685815909792035455356988112314938422127476966917475176545576024243906703376397943887864152766750788473524769584611543648096917099830397564130754674264668149898520132753687311593187748584734505713459964221663387267399631908840023186451866022411006422144307707006939790752654853346400195770947604459164497124 44345859317196297886633818854019896508249145002395889492152509767613593444239086460973462726584496898335106141578540176458136279562434921297444202119221651603673333249675486115284993266765306126139191447903648705266977034826993435320361274150021022575122700886601454858007248458815112746735925996411721379928098081084709537271528669517626508445083789702098098248107662082653815015697893881791905839257298981888809168587781885672754381267252169818641579015613757365794190235342991751844774384088306928617358563608178867675340842364328148616353189289858605359651329413463324912770857410645967610154685496017983853866208426443548575922892221700804262359692872411787344597700303802888714956479925341186451816975019647609191891957724681715754572963784594737149557799311397516825974568467450476113775835376600162193966644405521263040232660518575925130029846592435558585112984996938221037569461309592903127 71753107635544814289516970380828520670361017014710834201270407069609359787665680794861241311224157459174294270693365971429717061506708026480240332343881684576853072145531663677382613466255595074642278995107438952198622586704860481759741824421386273742354466497651246070392976280886163352805723889756625665198693474803347761918811373680652111172916753626261317221976286893383196876240210410491016976826876621638253181686356027930431479772636569178355806921662273095902354240149377892988034617831053689031412153880221221669560948101798750479927507929155817567994903728816610676234277732101535835840501405810019309223196538758486998050369188618279438905268896655694047974098247690752867723230713814711221401586563295706108991788122245846509247228452744635669690552998709110013723153201956189573740057039987429593598553245544449492098682929582347274337553599375349337767838343338416808517065768757400251 116098966952741112176150789234848417178610162017106723693422916837222953231904767255834704037808654357509400412271906147887853341069142947777684534463103336180526405395207149792667606733020901200781470443011087657465599621531853917080103098571407296317477167384252700928400224739701276099541649886168347045126791555888057299190340043198278619618000543328359415470083948976037011891938104292282922816084175603527062350274137913603185861039888738996997385937276030461696544475492369644832809001919360617648770717488400089344901790466126899096280697219014422927646233142279935589005135142747503445995186901828003163089404965202035573973261410319083701264961769067481392571798551493641582679710639155897673218561582943315300883745846927562263820192237339372819248352310106626839697721669406665687515892416587591787565197651065712532331343448158272404367400191810907922880823340276637846086527078350303378 187852074588285926465667759615676937848971179031817557894693323906832313019570448050695945349032811816683694682965272119317570402575850974257924866806985020757379477540738813470050220199276496275423749438118526609664222208236714398839844922992793570059831633881903946998793201020587439452347373775924972710325485030691405061109151416878930730790917296954620732692060235869420208768178314702773939792911052225165315531960493941533617340812525308175353192858938303557598898715641747537820843619750414306680182871368621311014462738567925649576208205148170240495641136871096546265239412874849039281835688307638022472312601503960522572023630598937363140170230665723175440545896799184394450402941352970608894620148146239021409875533969173408773067420690084008488938905308815736853420874871362855261255949456575021381163750896610162024430026377740619678704953791186257260648661683615054654603592847107703629 303951041541027038641818548850525355027581341048924281588116240744055266251475215306530649386841466174193095095237178267205423743644993922035609401270088356937905882935945963262717826932297397476205219881129614267129821829768568315919948021564200866377308801266156647927193425760288715551889023662093319755452276586579462360299491460077209350408917840282980148162144184845457220660116418995056862608995227828692377882234631855136803201852414047172350578796214334019295443191134117182653652621669774924328953588857021400359364529034052548672488902367184663423287370013376481854244548017596542727830875209466025635402006469162558145996892009256446841435192434790656833117695350678036033082651992126506567838709729182336710759279816100971036887612927423381308187257618922363693118596540769520948771841873162613168728948547675874556761369825898892083072353982997165183529485023891692500690119925458007007 491803116129312965107486308466202292876552520080741839482809564650887579271045663357226594735874277990876789778202450386522994146220844896293534268077073377695285360476684776732768047131573893751628969319248140876794044038005282714759792944556994436437140435148060594925986626780876155004236397438018292465777761617270867421408642876956140081199835137237600880854204420714877429428294733697830802401906280053857693414195125796670420542664939355347703771655152637576894341906775864720474496241420189231009136460225642711373827267601978198248697107515354903918928506884473028119483960892445582009666563517104048107714607973123080718020522608193809981605423100513832273663592149862430483485593345097115462458857875421358120634813785274379809955033617507389797126162927738100546539471412132376210027791329737634549892699444286036581191396203639511761777307774183422444178146707506747155293712772565710636 795754157670340003749304857316727647904133861129666121070925805394942845522520878663757244122715744165069884873439628653728417889865838818329143669347161734633191243412630739995485874063871291227834189200377755143923865867773851030679740966121195302814449236414217242853180052541164870556125421100111612221230038203850329781708134337033349431608752977520581029016348605560334650088411152692887665010901507882550071296429757651807223744517353402520054350451366971596189785097909981903128148863089964155338090049082664111733191796636030746921186009882539567342215876897849509973728508910042124737497438726570073743116614442285638864017414617450256823040615535304489106781287500540466516568245337223622030297567604603694831394093601375350846842646544930771105313420546660464239658067952901897158799633202900247718621647991961911137952766029538403844849661757180587627707631731398439655983832698023717643 1287557273799652968856791165782929940780686381210407960553735370045830424793566542020983838858590022155946674651642079040251412036086683714622677937424235112328476603889315516728253921195445184979463158519625896020717909905779133745439533910678189739251589671562277837779166679322041025560361818538129904687007799821121197203116777213989489512808588114758181909870553026275212079516705886390718467412807787936407764710624883448477644287182292757867758122106519609173084127004685846623602645104510153386347226509308306823107019064238008945169883117397894471261144383782322538093212469802487706747164002243674121850831222415408719582037937225644066804646038635818321380444879650402897000053838682320737492756425480025052952028907386649730656797680162438160902439583474398564786197539365034273368827424532637882268514347436247947719144162233177915606626969531364010071885778438905186811277545470589428279 2083311431469992972606096023099657588684820242340074081624661175440773270316087420684741082981305766321016559525081707693979829925952522532951821606771396846961667847301946256723739795259316476207297347720003651164641775773552984776119274876799385042066038907976495080632346731863205896116487239638241516908237838024971526984824911551022838944417341092278762938886901631835546729605117039083606132423709295818957836007054641100284868031699646160387812472557886580769273912102595828526730793967600117541685316558390970934840210860874039692091069127280434038603360260680172048066940978712529831484661440970244195593947836857694358446055351843094323627686654171122810487226167150943363516622084019544359523053993084628747783423000988025081503640326707368932007753004021059029025855607317936170527627057735538129987135995428209858857096928262716319451476631288544597699593410170303626467261378168613145922 3370868705269645941462887188882587529465506623550482042178396545486603695109653962705724921839895788476963234176723786734231241962039206247574499544195631959290144451191261773451993716454761661186760506239629547185359685679332118521558808787477574781317628579538772918411513411185246921676849058176371421595245637846092724187941688765012328457225929207036944848757454658110758809121822925474324599836517083755365600717679524548762512318881938918255570594664406189942358039107281675150333439072110270928032543067699277757947229925112048637260952244678328509864504644462494586160153448515017538231825443213918317444779059273103078028093289068738390432332692806941131867671046801346260516675922701865097015810418564653800735451908374674812160438006869807092910192587495457593812053146682970443896454482268176012255650342864457806576241090495894235058103600819908607771479188609208813278538923639202574201 5454180136739638914068983211982245118150326865890556123803057720927376965425741383390466004821201554797979793701805494428211071887991728780526321150967028806251812298493208030175733511714078137394057853959633198350001461452885103297678083664276959823383667487515267999043860143048452817793336297814612938503483475871064251172766600316035167401643270299315707787644356289946305538726939964557930732260226379574323436724734165649047380350581585078643383067222292770711631951209877503677064233039710388469717859626090248692787440785986088329352021371958762548467864905142666634227094427227547369716486884184162513038726896130797436474148640911832714060019346978063942354897213952289624033298006721409456538864411649282548518874909362699893664078333577176024917945591516516622837908754000906614424081540003714142242786338292667665433338018758610554509580232108453205471072598779512439745800301807815720123 8825048842009284855531870400864832647615833489441038165981454266413980660535395346096190926661097343274943027878529281162442313850030935028100820695162660765541956749684469803627727228168839798580818360199262745535361147132217221819236892451754534604701296067054040917455373554233699739470185355990984360098729113717156975360708289081047495858869199506352652636401810948057064347848762890032255332096743463329689037442413690197809892669463523996898953661886698960653989990317159178827397672111820659397750402693789526450734670711098136966612973616637091058332369549605161220387247875742564907948312327398080830483505955403900514502241929980571104492352039785005074222568260753635884549973929423274553554674830213936349254326817737374705824516340446983117828138179011974216649961900683877058320536022271890154498436681157125472009579109254504789567683832928361813242551787388721253024339225447018294324 14279228978748923769600853612847077765766160355331594289784511987341357625961136729486656931482298898072922821580334775590653385738022663808627141846129689571793769048177677833803460739882917935974876214158895943885362608585102325116914976116031494428084963554569308916499233697282152557263521653805597298602212589588221226533474889397082663260512469805668360424046167238003369886575702854590186064356969842904012474167147855846857273020045109075542336729108991731365621941527036682504461905151531047867468262319879775143522111497084225295964994988595853606800234454747827854614342302970112277664799211582243343522232851534697950976390570892403818552371386763069016577465474705925508583271936144684010093539241863218897773201727100074599488594674024159142746083770528490839487870654684783672744617562275604296741223019449793137442917128013115344077264065036815018713624386168233692770139527254834014447 23104277820758208625132724013711910413381993844772632455765966253755338286496532075582847858143396241347865849458864056753095699588053598836727962541292350337335725797862147637431187968051757734555694574358158689420723755717319546936151868567786029032786259621623349833954607251515852296733707009796581658700941703305378201894183178478130159119381669312021013060447978186060434234424465744622441396453713306233701511609561546044667165689508633072441290390995690692019611931844195861331859577263351707265218665013669301594256782208182362262577968605232944665132604004352989075001590178712677185613111538980324174005738806938598465478632500872974923044723426548074090800033735459561393133245865567958563648214072077155247027528544837449305313111014471142260574221949540465056137832555368660731065153584547494451239659700606918609452496237267620133644947897965176831956176173556954945794478752701852308771 37383506799507132394733577626558988179148154200104226745550478241096695912457668805069504789625695139420788671039198832343749085326076262645355104387422039909129494846039825471234648707934675670530570788517054633306086364302421872053066844683817523460871223176192658750453840948798004853997228663602178957303154292893599428427658067875212822379894139117689373484494145424063804121000168599212627460810683149137713985776709401891524438709553742147983627120104682423385233873371232543836321482414882755132686927333549076737778893705266587558542963593828798271932838459100816929615932481682789463277910750562567517527971658473296416455023071765378741597094813311143107377499210165486901716517801712642573741753313940374144800730271937523904801705688495301403320305720068955895625703210053444403809771146823098747980882720056711746895413365280735477722211963001991850669800559725188638564618279956686323218 60487784620265341019866301640270898592530148044876859201316444494852034198954200880652352647769091380768654520498062889096844784914129861482083066928714390246465220643901973108665836675986433405086265362875213322726810120019741418989218713251603552493657482797816008584408448200313857150730935673398760616004095996198977630321841246353342981499275808429710386544942123610124238355424634343835068857264396455371415497386270947936191604399062375220424917511100373115404845805215428405168181059678234462397905592347218378332035675913448949821120932199061742937065442463453806004617522660395466648891022289542891691533710465411894881933655572638353664641818239859217198177532945625048294849763667280601137389967386017529391828258816774973210114816702966443663894527669609420951763535765422105134874924731370593199220542420663630356347909602548355611367159860967168682625976733282143584359097032658538631989 97871291419772473414599879266829886771678302244981085946866922735948730111411869685721857437394786520189443191537261721440593870240206124127438171316136430155594715489941798579900485383921109075616836151392267956032896484322163291042285557935421075954528705974008667334862289149111862004728164337000939573307250289092577058749499314228555803879169947547399760029436269034188042476424802943047696318075079604509129483162980349827716043108616117368408544631205055538790079678586660949004502542093117217530592519680767455069814569618715537379663895792890541208998280922554622934233455142078256112168933040105459209061682123885191298388678644403732406238913053170360305555032155790535196566281468993243711131720699957903536628989088712497114916522391461745067214833389678376847389238975475549538684695878193691947201425140720342103243322967829091089089371823969160533295777293007332222923715312615224955207 158359076040037814434466180907100785364208450289857945148183367230800764310366070566374210085163877900958097712035324610537438655154335985609521238244850820402059936133843771688566322059907542480703101514267481278759706604341904710031504271187024628448186188771824675919270737349425719155459100010399700189311346285291554689071340560581898785378445755977110146574378392644312280831849437286882765175339476059880544980549251297763907647507678492588833462142305428654194925483802089354172683601771351679928498112027985833401850245532164487200784827991952284146063723386008428938850977802473722761059955329648350900595392589297086180322334217042086070880731293029577503732565101415583491416045136273844848521688085975432928457247905487470325031339094428188731109361059287797799152774740897654673559620609564285146421967561383972459591232570377446700456531684936329215921754026289475807282812345273763587196 256230367459810287849066060173930672135886752534839031095050289966749494421777940252096067522558664421147540903572586331978032525394542109736959409560987250557654651623785570268466807443828651556319937665659749234792603088664068001073789829122445704402714894745833343254133026498537581160187264347400639762618596574384131747820839874810454589257615703524509906603814661678500323308274240229930461493414555664389674463712231647591623690616294609957242006773510484192985005162388750303177186143864468897459090631708753288471664815150880024580448723784842825355062004308563051873084432944551978873228888369753810109657074713182277478711012861445818477119644346199937809287597257206118687982326605267088559653408785933336465086236994199967439947861485889933798324194448966174646542013716373204212244316487757977093623392702104314562834555538206537789545903508905489749217531319296808030206527657888988542403 414589443499848102283532241081031457500095202824696976243233657197550258732144010818470277607722542322105638615607910942515471180548878095346480647805838070959714587757629341957033129503736194037023039179927230513552309693005972711105294100309470332850901083517658019173403763847963300315646364357800339951929942859675686436892180435392353374636061459501620053178193054322812604140123677516813226668754031724270219444261482945355531338123973102546075468915815912847179930646190839657349869745635820577387588743736739121873515060683044511781233551776795109501125727694571480811935410747025701634288843699402161010252467302479363659033347078487904548000375639229515313020162358621702179398371741540933408175096871908769393543484899687437764979200580318122529433555508253972445694788457270858885803937097322262240045360263488287022425788108583984490002435193841818965139285345586283837489340003162752129599 670819810959658390132598301254962129635981955359536007338283947164299753153921951070566345130281206743253179519180497274493503705943420205083440057366825321517369239381414912225499936947564845593342976845586979748344912781670040712179083929431916037253615978263491362427536790346500881475833628705200979714548539434059818184713020310202807963893677163026129959782007716001312927448397917746743688162168587388659893907973714592947155028740267712503317475689326397040164935808579589960527055889500289474846679375445492410345179875833924536361682275561637934856187732003134532685019843691577680507517732069155971119909542015661641137744359939933723025120019985429453122307759615827820867380698346808021967828505657842105858629721893887405204927062066208056327757749957220147092236802173644063098048253585080239333668752965592601585260343646790522279548338702747308714356816664883091867695867661051740672002 1085409254459506492416130542335993587136077158184232983581517604361850011886065961889036622738003749065358818134788408217008974886492298300429920705172663392477083827139044254182533066451301039630366016025514210261897222474676013423284378029741386370104517061781149381600940554194464181791479993063001319666478482293735504621605200745595161338529738622527750012960200770324125531588521595263556914830922619112930113352235197538302686366864240815049392944605142309887344866454770429617876925635136110052234268119182231532218694936516969048142915827338433044357313459697706013496955254438603382141806575768558132130162009318141004796777707018421627573120395624658968435327921974449523046779070088348955376003602529750875252173206793574842969906262646526178857191305465474119537931590630914921983852190682402501573714113229080888607686131755374506769550773896589127679496102010469375705185207664214492801601 1756229065419164882548728843590955716772059113543768990919801551526149765039987912959602967868284955808611997653968905491502478592435718505513360762539488713994453066520459166408033003398865885223708992871101190010242135256346054135463461959173302407358133040044640744028477344540965063267313621768202299381027021727795322806318221055797969302423415785553879972742208486325438459036919513010300602993091206501590007260208912131249841395604508527552710420294468706927509802263350019578403981524636399527080947494627723942563874812350893584504598102900070979213501191700840546181975098130181062649324307837714103250071551333802645934522066958355350598240415610088421557635681590277343914159768435156977343832108187592981110802928687462248174833324712734235184949055422694266630168392804558985081900444267482740907382866194673490192946475402165029049099112599336436393852918675352467572881075325266233473603 2841638319878671374964859385926949303908136271728001974501319155887999776926053874848639590606288704873970815788757313708511453478928016805943281467712152106471536893659503420590566069850166924854075008896615400272139357731022067558747839988914688777462650101825790125629417898735429245058793614831203619047505504021530827427923421801393130640953154408081629985702409256649563990625441108273857517824013825614520120612444109669552527762468749342602103364899611016814854668718120449196280907159772509579315215613809955474782569748867862632647513930238504023570814651398546559678930352568784444791130883606272235380233560651943650731299773976776978171360811234747389992963603564726866960938838523505932719835710717343856362976135481037091144739587359260414042140360888168386168099983435473907065752634949885242481096979423754378800632607157539535818649886495925564073349020685821843278066282989480726275204 4597867385297836257513588229517905020680195385271770965421120707414149541966041787808242558474573660682582813442726219200013932071363735311456642230251640820465989960179962586998599073249032810077784001767716590282381492987368121694211301948087991184820783141870430869657895243276394308326107236599405918428532525749326150234241642857191099943376570193635509958444617742975002449662360621284158120817105032116110127872653021800802369158073257870154813785194079723742364470981470468774684888684408909106396163108437679417346444561218756217152112033138575002784315843099387105860905450698965507440455191443986338630305111985746296665821840935132328769601226844835811550599285155004210875098606958662910063667818904936837473779064168499339319572912071994649227089416310862652798268376240032892147653079217367983388479845618427868993579082559704564867748999095262000467201939361174310850947358314746959748807 7439505705176507632478447615444854324588331656999772939922439863302149318892095662656882149080862365556553629231483532908525385550291752117399923697963792926937526853839466007589165143099199734931859010664331990554520850718390189252959141937002679962283433243696220995287313142011823553384900851430609537476038029770856977662165064658584230584329724601717139944147026999624566440287801729558015638641118857730630248485097131470354896920542007212756917150093690740557219139699590917970965795844181418685711378722247634892129014310086618849799625963377079026355130494497933665539835803267749952231586075050258574010538672637689947397121614911909306940962038079583201543562888719731077836037445482168842783503529622280693836755199649536430464312499431255063269229777199031038966368359675506799213405714167253225869576825042182247794211689717244100686398885591187564540550960046996154129013641304227686024011 12037373090474343889992035844962759345268527042271543905343560570716298860858137450465124707555436026239136442674209752108539317621655487428856565928215433747403516814019428594587764216348232545009643012432048580836902343705758310947170443885090671147104216385566651864945208385288217861711008088030015455904570555520183127896406707515775330527706294795352649902591644742599568889950162350842173759458223889846740376357750153271157266078615265082911730935287770464299583610681061386745650684528590327792107541830685314309475458871305375066951737996515654029139446337597320771400741253966715459672041266494244912640843784623436244062943455847041635710563264924419013094162173874735288711136052440831752847171348527217531310534263818035769783885411503249712496319193509893691764636735915539691361058793384621209258056670660610116787790772276948665554147884686449565007752899408170464979960999618974645772818 19476878795650851522470483460407613669856858699271316845266000434018448179750233113122006856636298391795690071905693285017064703171947239546256489626179226674341043667858894602176929359447432279941502023096380571391423194424148500200129585822093351109387649629262872860232521527300041415095908939460624993380608585291040105558571772174359561112036019397069789846738671742224135330237964080400189398099342747577370624842847284741512162999157272295668648085381461204856802750380652304716616480372771746477818920552932949201604473181391993916751363959892733055494576832095254436940577057234465411903627341544503486651382457261126191460065070758950942651525303004002214637725062594466366547173497923000595630674878149498225147289463467572200248197910934504775765548970708924730731005095591046490574464507551874435127633495702792364582002461994192766240546770277637129548303859455166619108974640923202331796829 31514251886125195412462519305370373015125385741542860750609561004734747040608370563587131564191734418034826514579903037125604020793602726975113055554394660421744560481878323196764693575795664824951145035528429152228325538129906811147300029707184022256491866014829524725177729912588259276806917027490640449285179140811223233454978479690134891639742314192422439749330316484823704220188126431242363157557566637424111001200597438012669429077772537378580379020669231669156386361061713691462267164901362074269926462383618263511079932052697368983703101956408387084634023169692575208341318311201180871575668608038748399292226241884562435523008526605992578362088567928421227731887236469201655258309550363832348477846226676715756457823727285607970032083322437754488261868164218818422495641831506586181935523300936495644385690166363402481369793234271141431794694654964086694556056758863337084088935640542176977569647 50991130681776046934933002765777986684982244440814177595875561438753195220358603676709138420828032809830516586485596322142668723965549966521369545180573887096085604149737217798941622935243097104892647058624809723619748732554055311347429615529277373365879515644092397585410251439888300691902825966951265442665787726102263339013550251864494452751778333589492229596068988227047839550426090511642552555656909385001481626043444722754181592076929809674249027106050692874013189111442365996178883645274133820747745382936551212712684405234089362900454465916301120140128600001787829645281895368435646283479295949583251885943608699145688626983073597364943521013613870932423442369612299063668021805483048286832944108521104826213981605113190753180170280281233372259264027417134927743153226646927097632672509987808488370079513323662066194845951795696265334198035241425241723824104360618318503703197910281465379309366476 82505382567901242347395522071148359700107630182357038346485122443487942260966974240296269985019767227865343101065499359268272744759152693496482600734968547517830164631615540995706316511038761929843792094153238875848074270683962122494729645236461395622371381658921922310587981352476559968709742994441905891950966866913486572468528731554629344391520647781914669345399304711871543770614216942884915713214476022425592627244042160766851021154702347052829406126719924543169575472504079687641150810175495895017671845320169476223764337286786731884157567872709507224762623171480404853623213679636827155054964557622000285235834941030251062506082123970936099375702438860844670101499535532869677063792598650665292586367331502929738062936918038788140312364555810013752289285299146561575722288758604218854445511109424865723899013828429597327321588930536475629829936080205810518660417377181840787286845922007556286936123 133496513249677289282328524836926346385089874623171215942360683882241137481325577917005408405847800037695859687551095681410941468724702660017852145915542434613915768781352758794647939446281859034736439152778048599467823003238017433842159260765738768988250897303014319895998232792364860660612568961393171334616754593015749911482078983419123797143298981371406898941468292938919383321040307454527468268871385407427074253287486883521032613231632156727078433232770617417182764583946445683820034455449629715765417228256720688936448742520876094784612033789010627364891223173268234498905109048072473438534260507205252171179443640175939689489155721335879620389316309793268112471111834596537698869275646937498236694888436329143719668050108791968310592645789182273016316702434074304728948935685701851526955498917913235803412337490495792173273384626801809827865177505447534342764777995500344490484756203472935596302599 216001895817578531629724046908074706085197504805528254288845806325729079742292552157301678390867567265561202788616595040679214213483855353514334746650510982131745933412968299790354255957320620964580231246931287475315897273921979556336888906002200164610622278961936242206586214144841420629322311955835077226567721459929236483950607714973753141534819629153321568286867597650790927091654524397412383982085861429852666880531529044287883634386334503779907839359490541960352340056450525371461185265625125610783089073576890165160213079807662826668769601661720134589653846344748639352528322727709300593589225064827252456415278581206190751995237845306815719765018748654112782572611370129407375933068245588163529281255767832073457730987026830756450905010344992286768605987733220866304671224444306070381401010027338101527311351318925389500594973557338285457695113585653344861425195372682185277771602125480491883238722 349498409067255820912052571745001052470287379428699470231206490207970217223618130074307086796715367303257062476167690722090155682208558013532186892566053416745661702194321058585002195403602479999316670399709336074783720277159996990179048166767938933598873176264950562102584446937206281289934880917228248561184476052944986395432686698392876938678118610524728467228335890589710310412694831851939852250957246837279741133819015927808916247617966660506986272592261159377535104640396971055281219721074755326548506301833610854096661822328538921453381635450730761954545069518016873851433431775781774032123485572032504627594722221382130441484393566642695340154335058447380895043723204725945074802343892525661765976144204161217177399037135622724761497656134174559784922690167295171033620160130007921908356508945251337330723688809421181673868358184140095285560291091100879204189973368182529768256358328953427479541321 565500304884834352541776618653075758555484884234227724520052296533699296965910682231608765187582934568818265264784285762769369895692413367046521639216564398877407635607289358375356451360923100963896901646640623550099617551081976546515937072770139098209495455226886804309170661082047701919257192873063325787752197512874222879383294413366630080212938239678050035515203488240501237504349356249352236233043108267132408014350544972096799882004301164286894111951751701337887444696847496426742404986699880937331595375410501019256874902136201748122151237112450896544198915862765513203961754503491074625712710636859757084010000802588321193479631411949511059919353807101493677616334574855352450735412138113825295257399971993290635130024162453481212402666479166846553528677900516037338291384574313992289757518972589438858035040128346571174463331741478380743255404676754224065615168740864715046027960454433919362780043 914998713952090173453829190398076811025772263662927194751258786741669514189528812305915851984298301872075327740951976484859525577900971380578708531782617815623069337801610416960358646764525580963213572046349959624883337828241973536694985239538078031808368631491837366411755108019253983209192073790291574348936673565819209274815981111759507018891056850202778502743539378830211547917044188101292088484000355104412149148169560899905716129622267824793880384544012860715422549337244467482023624707774636263880101677244111873353536724464740669575532872563181658498743985380782387055395186279272848657836196208892261711604723023970451634964024978592206400073688865548874572660057779581297525537756030639487061233544176154507812529061298076205973900322613341406338451368067811208371911544704321914198114027917840776188758728937767752848331689925618476028815695767855103269805142109047244814284318783387346842321364 1480499018836924525995605809051152569581257147897154919271311083275368811155439494537524617171881236440893593005736262247628895473593384747625230170999182214500476973408899775335715098125448681927110473692990583174982955379323950083210922312308217130017864086718724170720925769101301685128449266663354900136688871078693432154199275525126137099103995089880828538258742867070712785421393544350644324717043463371544557162520105872002516011626568989080774496495764562053309994034091963908766029694474517201211697052654612892610411626600942417697684109675632555042942901243547900259356940782763923283548906845752018795614723826558772828443656390541717459993042672650368250276392354436649976273168168753312356490944148147798447659085460529687186302989092508252891980045968327245710202929278635906487871546890430215046793769066114324022795021667096856772071100444609327335420310849911959860312279237821266205101407 2395497732789014699449434999449229380607029411560082114022569870017038325344968306843440469156179538312968920746688238732488421051494356128203938702781800030123546311210510192296073744889974262890324045739340542799866293207565923619905907551846295161826232718210561537132680877120555668337641340453646474485625544644512641429015256636885644117995051940083607041002282245900924333338437732451936413201043818475956706310689666771908232141248836813874654881039777422768732543371336431390789654402249153465091798729898724765963948351065683087273216982238814213541686886624330287314752127062036771941385103054644280507219446850529224463407681369133923860066731538199242822936450134017947501810924199392799417724488324302306260188146758605893160203311705849659230431414036138454082114473982957820685985574808270991235552498003882076871126711592715332800886796212464430605225452958959204674596598021208613047422771 3875996751625939225445040808500381950188286559457237033293880953292407136500407801380965086328060774753862513752424500980117316525087740875829168873780982244624023284619409967631788843015422944817434519432331125974849248586889873703116829864154512291844096804929285707853606646221857353466090607117001374622314415723206073583214532162011781217099047029964435579261025112971637118759831276802580737918087281847501263473209772643910748152875405802955429377535541984822042537405428395299555684096723670666303495782553337658574359977666625504970901091914446768584629787867878187574109067844800695224934009900396299302834170677087997291851337759675641320059774210849611073212842488454597478084092368146111774215432472450104707847232219135580346506300798357912122411460004465699792317403261593727173857121698701206282346267069996400893921733259812189572957896657073757940645763808871164534908877259029879252524178 6271494484414953924894475807949611330795315971017319147316450823309445461845376108224405555484240313066831434499112739712605737576582097004033107576562782274747569595829920159927862587905397207707758565171671668774715541794455797323022737416000807453670329523139847244986287523342413021803731947570647849107939960367718715012229788798897425335094098970048042620263307358872561452098269009254517151119131100323457969783899439415818980294124242616830084258575319407590775080776764826690345338498972824131395294512452062424538308328732308592244118074153260982126316674492208474888861194906837467166319112955040579810053617527617221755259019128809565180126505749048853896149292622472544979895016567538911191939920796752410968035378977741473506709612504207571352842874040604153874431877244551547859842696506972197517898765073878477765048444852527522373844692869538188545871216767830369209505475280238492299946949 10147491236040893150339516616449993280983602530474556180610331776601852598345783909605370641812301087820693948251537240692723054101669837879862276450343764519371592880449330127559651430920820152525193084604002794749564790381345671026139567280155319745514426328069132952839894169564270375269822554687649223730254376090924788595444320960909206552193146000012478199524332471844198570858100286057097889037218382170959233257109212059729728446999648419785513636110861392412817618182193221989901022595696494797698790295005400083112668306398934097215019166067707750710946462360086662462970262751638162391253122855436879112887788204705219047110356888485206500186279959898464969362135110927142457979108935685022966155353269202515675882611196877053853215913302565483475254334045069853666749280506145275033699818205673403800245032143874878658970178112339711946802589526611946486516980576701533744414352539268371552471127 16418985720455847075233992424399604611778918501491875327926782599911298060191160017829776197296541400887525382750649980405328791678251934883895384026906546794119162476279250287487514018826217360232951649775674463524280332175801468349162304696156127199184755851208980197826181692906683397073554502258297072838194336458643503607674109759806631887287244970060520819787639830716760022956369295311615040156349482494417203041008651475548708741123891036615597894686180800003592698958958048680246361094669318929094084807457462507650976635131242689459137240220968732837263136852295137351831457658475629557572235810477458922941405732322440802369376017294771680312785708947318865511427733399687437874125503223934158095274065954926643917990174618527359925525806773054828097208085674007541181157750696822893542514712645601318143797217753356424018622964867234320647282396150135032388197344531902953919827819506863852418076 26566476956496740225573509040849597892762521031966431508537114376513150658536943927435146839108842488708219331002187221098051845779921772763757660477250311313490755356728580415047165449747037512758144734379677258273845122557147139375301871976311446944699182179278113150666075862470953772343377056945946296568448712549568292203118430720715838439480390970072999019311972302560958593814469581368712929193567864665376436298117863535278437188123539456401111530797042192416410317141151270670147383690365813726792875102462862590763644941530176786674156406288676483548209599212381799814801720410113791948825358665914338035829193937027659849479732905779978180499065668845783834873562844326829895853234438908957124250627335157442319800601371495581213141439109338538303351542130743861207930438256842097927242332918319005118388829361628235082988801077206946267449871922762081518905177921233436698334180358775235404889203 42985462676952587300807501465249202504541439533458306836463896976424448718728103945264923036405383889595744713752837201503380637458173707647653044504156858107609917833007830702534679468573254872991096384155351721798125454732948607724464176672467574143883938030487093348492257555377637169416931559204243369406643049008211795810792540480522470326767635940133519839099612133277718616770838876680327969349917347159793639339126515010827145929247430493016709425483222992420003016100109319350393744785035132655886959909920325098414621576661419476133293646509645216385472736064676937166633178068589421506397594476391796958770599669350100651849108923074749860811851377793102700384990577726517333727359942132891282345901401112368963718591546114108573066964916111593131448750216417868749111596007538920820784847630964606436532626579381591507007424042074180588097154318912216551293375265765339652254008178282099257307279 69551939633449327526381010506098800397303960565424738345001011352937599377265047872700069875514226378303964044755024422601432483238095480411410704981407169421100673189736411117581844918320292385749241118535028980071970577290095747099766048648779021088583120209765206499158333417848590941760308616150189665975091761557780088013910971201238308766248026910206518858411584435838677210585308458049040898543485211825170075637244378546105583117370969949417820956280265184836413333241260590020541128475400946382679835012383187689178266518191596262807450052798321699933682335277058736981434898478703213455222953142306134994599793606377760501328841828854728041310917046638886535258553422053347229580594381041848406596528736269811283519192917609689786208404025450131434800292347161729957042034264381018748027180549283611554921455941009826589996225119281126855547026241674298070198553186998776350588188537057334662196482 112537402310401914827188511971348002901845400098883045181464908329362048095993151817964992911919610267899708758507861624104813120696269188059063749485564027528710591022744241820116524386893547258740337502690380701870096032023044354824230225321246595232467058240252299847650590973226228111177240175354433035381734810565991883824703511681760779093015662850340038697511196569116395827356147334729368867893402558984963714976370893556932729046618400442434530381763488177256416349341369909370934873260436079038566794922303512787592888094853015738940743699307966916319155071341735674148068076547292634961620547618697931953370393275727861153177950751929477902122768424431989235643543999779864563307954323174739688942430137382180247237784463723798359275368941561724566249042563579598706153630271919939568812028180248217991454082520391418097003649161355307443644180560586514621491928452764116002842196715339433919503761 182089341943851242353569522477446803299149360664307783526465919682299647473258199690665062787433836646203672803262886046706245603934364668470474454466971196949811264212480652937698369305213839644489578621225409681942066609313140101923996273970025616321050178450017506346808924391074819052937548791504622701356826572123771971838614482882999087859263689760546557555922781004955073037941455792778409766436887770810133790613615272103038312163989370391852351338043753362092829682582630499391476001735837025421246629934686700476771154613044612001748193752106288616252837406618794411129502975025995848416843500761004066947970186882105621654506792580784205943433685471070875770902097421833211792888548704216588095538958873651991530756977381333488145483772967011856001049334910741328663195664536300958316839208729531829546375538461401244686999874280636434299191206802260812691690481639762892353430385252396768581700243 294626744254253157180758034448794806200994760763190828707930828011661695569251351508630055699353446914103381561770747670811058724630633856529538203952535224478521855235224894757814893692107386903229916123915790383812162641336184456748226499291272211553517236690269806194459515364301047164114788966859055736738561382689763855663317994564759866952279352610886596253433977574071468865297603127507778634330290329795097505589986165659971041210607770834286881719807241539349246031924000408762410874996273104459813424856990213264364042707897627740688937451414255532571992477960530085277571051573288483378464048379701998901340580157833482807684743332713683845556453895502865006545641421613076356196503027391327784481389011034171777994761845057286504759141908573580567298377474320927369349294808220897885651236909780047537829620981792662784003523441991741742835387362847327313182410092527008356272581967736202501204004 476716086198104399534327556926241609500144121427498612234396747693961343042509551199295118486787283560307054365033633717517304328564998525000012658419506421428333119447705547695513262997321226547719494745141200065754229250649324558672222773261297827874567415140287312541268439755375866217052337758363678438095387954813535827501932477447758954811543042371433153809356758579026541903239058920286188400767178100605231296203601437763009353374597141226139233057850994901442075714506630908153886876732110129881060054791676913741135197320942239742437131203520544148824829884579324496407074026599284331795307549140706065849310767039939104462191535913497889788990139366573740777447738843446288149085051731607915880020347884686163308751739226390774650242914875585436568347712385062256032544959344521856202490445639311877084205159443193907471003397722628176042026594165108140004872891732289900709702967220132971082904247 771342830452357556715085591375036415701138882190689440942327575705623038611760902707925174186140730474410435926804381388328363053195632381529550862372041645906854974682930442453328156689428613450949410869056990449566391891985509015420449272552570039428084651830557118735727955119676913381167126725222734174833949337503299683165250472012518821763822394982319750062790736153098010768536662047793967035097468430400328801793587603422980394585204912060426114777658236440791321746430631316916297751728383234340873479648667127005499240028839867483126068654934799681396822362539854581684645078172572815173771597520408064750651347197772587269876279246211573634546593262076605783993380265059364505281554758999243664501736895720335086746501071448061155002056784159017135646089859383183401894254152742754088141682549091924622034780424986570255006921164619917784861981527955467318055301824816909065975549187869173584108251 1248058916650461956249413148301278025201283003618188053176724323399584381654270453907220292672928014034717490291838015105845667381760630906529563520791548067335188094130635990148841419686749839998668905614198190515320621142634833574092672045813867867302652066970844431276996394875052779598219464483586412612929337292316835510667182949460277776575365437353752903872147494732124552671775720968080155435864646531005560097997189041185989747959802053286565347835509231342233397460937262225070184628460493364221933534440344040746634437349782107225563199858455343830221652247119179078091719104771857146969079146661114130599962114237711691732067815159709463423536732628650346561441119108505652654366606490607159544522084780406498395498240297838835805244971659744453703993802244445439434439213497264610290632128188403801706239939868180477726010318887248093826888575693063607322928193557106809775678516408002144667012498 2019401747102819512964498739676314440902421885808877494119051899105207420266031356615145466859068744509127926218642396494174030434956263288059114383163589713242043068813566432602169576376178453449618316483255180964887013034620342589513121318366437906730736718801401550012724349994729692979386591208809146787763286629820135193832433421472796598339187832336072653934938230885222563440312383015874122470962114961405888899790776644608970142545006965346991462613167467783024719207367893541986482380188876598562807014089011167752133677378621974708689268513390143511618474609659033659776364182944429962142850744181522195350613461435484279001944094405921037058083325890726952345434499373565017159648161249606403209023821676126833482244741369286896960247028443903470839639892103828622836333467650007364378773810737495726328274720293167047981017240051868011611750557221019074640983495381923718841654065595871318251120749 3267460663753281469213911887977592466103704889427065547295776222504791801920301810522365759531996758543845416510480411600019697816716894194588677903955137780577231162944202422751010996062928293448287222097453371480207634177255176163605793364180305774033388785772245981289720744869782472577606055692395559400692623922136970704499616370933074374914553269689825557807085725617347116112088103983954277906826761492411448997787965685794959890504809018633556810448676699125258116668305155767056667008649369962784740548529355208498768114728404081934252468371845487341840126856778212737868083287716287109111929890842636325950575575673195970734011909565630500481620058519377298906875618482070669814014767740213562753545906456533331877742981667125732765492000103647924543633694348274062270772681147271974669405938925899528034514660161347525707027558939116105438639132914082681963911688939030528617332582003873462918133247 5286862410856100982178410627653906907006126775235943041414828121609999222186333167137511226391065503052973342729122808094193728251673157482647792287118727493819274231757768855353180572439106746897905538580708552445094647211875518753118914682546743680764125504573647531302445094864512165556992646901204706188455910551957105898332049792405870973253741102025898211742023956502569679552400486999828400377788876453817337897578742330403930033049815983980548273061844166908282835875673049309043149388838246561347547562618366376250901792107026056642941736885235630853458601466437246397644447470660717071254780635024158521301189037108680249735956003971551537539703384410104251252310117855635686973662928989819965962569728132660165359987723036412629725739028547551395383273586452102685107106148797279339048179749663395254362789380454514573688044798990984117050389690135101756604895184320954247458986647599744781169253996 8554323074609382451392322515631499373109831664663008588710604344114791024106634977659876985923062261596818759239603219694213426068390051677236470191073865274396505394701971278104191568502035040346192760678161923925302281389130694916724708046727049454797514290345893512592165839734294638134598702593600265589148534474094076602831666163338945348168294371715723769549109682119916795664488590983782678284615637946228786895366708016198889923554625002614105083510520866033540952543978205076099816397487616524132288111147721584749669906835430138577194205257081118195298728323215459135512530758377004180366710525866794847251764612781876220469967913537182038021323442929481550159185736337706356787677696730033528716115634589193497237730704703538362491231028651199319926907280800376747377878829944551313717585688589294782397304040615862099395072357930100222489028823049184438568806873259984776076319229603618244087387243 13841185485465483433570733143285406280115958439898951630125432465724790246292968144797388212314127764649792101968726027788407154320063209159884262478192592768215779626459740133457372140941141787244098299258870476370396928601006213669843622729273793135561639794919541043894610934598806803691591349494804971777604445026051182501163715955744816321422035473741621981291133638622486475216889077983611078662404514400046124792945450346602819956604440986594653356572365032941823788419651254385142965786325863085479835673766087961000571698942456195220135942142316749048757329789652705533156978229037721251621491160890953368552953649890556470205923917508733575561026827339585801411495854193342043761340625719853494678685362721853662597718427739950992216970057198750715310180867252479432484984978741830652765765438252690036760093421070376673083117156921084339539418513184286195173702057580939023535305877203363025256641239 22395508560074865884963055658916905653225790104561960218836036809839581270399603122457265198237190026246610861208329247482620580388453260837120732669266458042612285021161711411561563709443176827590291059937032400295699209990136908586568330776000842590359154085265434556486776774333101441826190052088405237366752979500145259103995382119083761669590329845457345750840243320742403270881377668967393756947020152346274911688312158362801709880159065989208758440082885898975364740963629459461242782183813479609612123784913809545750241605777886333797330147399397867244056058112868164668669508987414725431988201686757748215804718262672432690675891831045915613582350270269067351570681590531048400549018322449887023394800997311047159835449132443489354708201085849950035237088148052856179862863808686381966483351126841984819157397461686238772478189514851184562028447336233470633742508930840923799611625106806981269344028482 36236694045540349318533788802202311933341748544460911848961469275564371516692571267254653410551317790896402963177055275271027734708516469997004995147459050810828064647621451545018935850384318614834389359195902876666096138591143122256411953505274635725920793880184975600381387708931908245517781401583210209144357424526196441605159098074828577991012365319198967732131376959364889746098266746951004835609424666746321036481257608709404529836763506975803411796655250931917188529383280713846385747970139342695091959458679897506750813304720342529017466089541714616292813387902520870201826487216452446683609692847648701584357671912562989160881815748554649189143377097608653152982177444724390444310358948169740518073486360032900822433167560183440346925171143048700750547269015305335612347848787428212619249116565094674855917490882756615445561306671772268901567865849417756828916210988421862823146930984010344294600669721 58632202605615215203496844461119217586567538649022872067797506085403952787092174389711918608788507817143013824385384522753648315096969730834125727816725508853440349668783162956580499559827495442424680419132935276961795348581280030842980284281275478316279947965450410156868164483265009687343971453671615446511110404026341700709154480193912339660602695164656313482971620280107293016979644415918398592556444819092595948169569767072206239716922572965012170236738136830892553270346910173307628530153952822304704083243593707052501054910498228862814796236941112483536869446015389034870495996203867172115597894534406449800162390175235421851557707579600564802725727367877720504552859035255438844859377270619627541468287357343947982268616692626929701633372228898650785784357163358191792210712596114594585732467691936659675074888344442854218039496186623453463596313185651227462658719919262786622758556090817325563944698203 94868896651155564522030633263321529519909287193483783916758975360968324303784745656966572019339825608039416787562439798024676049805486200831130722964184559664268414316404614501599435410211814057259069778328838153627891487172423153099392237786550114042200741845635385757249552192196917932861752855254825655655467828552538142314313578268740917651615060483855281215102997239472182763077911162869403428165869485838916984650827375781610769553686079940815582033393387762809741799730190887154014278124092164999796042702273604559251868215218571391832262326482827099829682833917909905072322483420319618799207587382055151384520062087798411012439523328155213991869104465486373657535036479979829289169736218789368059541773717376848804701784252810370048558543371947351536331626178663527404558561383542807204981584257031334530992379227199469663600802858395722365164179035068984291574930907684649445905487074827669858545367924 153501099256770779725527477724440747106476825842506655984556481446372277090876920046678490628128333425182430611947824320778324364902455931665256450780910068517708763985187777458179934970039309499683750197461773430589686835753703183942372522067825592358480689811085795914117716675461927620205724308926441102166578232578879843023468058462653257312217755648511594698074617519579475780057555578787802020722314304931512932820397142853817009270608652905827752270131524593702295070077101060461642808278044987304500125945867311611752923125716800254647058563423939583366552279933298939942818479624186790914805481916461601184682452263033832863997230907755778794594831833364094162087895515235268134029113489408995601010061074720796786970400945437299750191915600846002322115983342021719196769273979657401790714051948967994206067267571642323881640299045019175828760492220720211754233650826947436068664043165644995422490066127 248369995907926344247558110987762276626386113035990439901315456807340601394661665703645062647468159033221847399510264118803000414707942132496387173745094628181977178301592391959779370380251123556942819975790611584217578322926126337041764759854375706400681431656721181671367268867658845553067477164181266757822046061131417985337781636731394174963832816132366875913177614759051658543135466741657205448888183790770429917471224518635427778824294732846643334303524912356512036869807291947615657086402137152304296168648140916171004791340935371646479320889906766683196235113851208845015140963044506409714013069298516752569202514350832243876436754235910992786463936298850467819622931995215097423198849708198363660551834792097645591672185198247669798750458972793353858447609520685246601327835363200208995695636205999328737059646798841793545241101903414898193924671255789196045808581734632085514569530240472665281035434051 401871095164697123973085588712203023732862938878497095885871938253712878485538585750323553275596492458404278011458088439581324779610398064161643624526004696699685942286780169417959305350290433056626570173252385014807265158679829520984137281922201298759162121467806977585484985543120773173273201473107707859988624293710297828361249695194047432276050571780878470611252232278631134323193022320445007469610498095701942850291621661489244788094903385752471086573656436950214331939884393008077299894680182139608796294594008227782757714466652171901126379453330706266562787393784507784957959442668693200628818551214978353753884966613866076740433985143666771581058768132214561981710827510450365557227963197607359261561895866818442378642586143684969548942374573639356180563592862706965798097109342857610786409688154967322943126914370484117426881400948434074022685163476509407800042232561579521583233573406117660703525500178 650241091072623468220643699699965300359249051914487535787187395061053479880200251453968615923064651491626125410968352558384325194318340196658030798271099324881663120588372561377738675730541556613569390149042996599024843481605955858025902041776577005159843553124528159256852254410779618726340678637288974617810670354841715813699031331925441607239883387913245346524429847037682792866328489062102212918498681886472372767762846180124672566919198118599114420877181349306726368809691684955692956981082319291913092463242149143953762505807587543547605700343237472949759022507635716629973100405713199610342831620513495106323087480964698320616870739379577764367522704431065029801333759505665462980426812905805722922113730658916087970314771341932639347692833546432710039011202383392212399424944706057819782105324360966651680186561169325910972122502851848972216609834732298603845850814296211607097803103646590325984560934229 1052112186237320592193729288412168324092111990792984631673059333314766358365738837204292169198661143950030403422426440997965649973928738260819674422797104021581349062875152730795697981080831989670195960322295381613832108640285785379010039323698778303919005674592335136842337239953900391899613880110396682477799294648552013642060281027119489039515933959694123817135682079316313927189521511382547220388109179982174315618054467841613917355014101504351585507450837786256940700749576077963770256875762501431521888757836157371736520220274239715448732079796568179216321809901420224414931059848381892810971650171728473460076972447578564397357304724523244535948581472563279591783044587016115828537654776103413082183675626525734530348957357485617608896635208120072066219574795246099178197522054048915430568515012515933974623313475539810028399003903800283046239294998208808011645893046857791128681036677052707986688086434407 1702353277309944060414372988112133624451361042707472167460246728375819838245939088658260785121725795441656528833394793556349975168247078457477705221068203346463012183463525292173436656811373546283765350471338378212856952121891741237035941365475355309078849227716863296099189494364680010625954558747685657095609965003393729455759312359044930646755817347607369163660111926353996720055850000444649433306607861868646688385817314021738589921933299622950699928328019135563667069559267762919463213856844820723434981221078306515690282726081827258996337780139805652166080832409055941044904160254095092421314481792241968566400059928543262717974175463902822300316104176994344621584378346521781291518081589009218805105789357184650618319272128827550248244328041666504776258585997629491390596946998754973250350620336876900626303500036709135939371126406652132018455904832941106615491743861154002735778839780699298312672647368636 2754465463547264652608102276524301948543473033500456799133306061690586196611677925862552954320386939391686932255821234554315625142175816718297379643865307368044361246338678022969134637892205535953961310793633759826689060762177526616045980689174133612997854902309198432941526734318580402525568438858082339573409259651945743097819593386164419686271751307301492980795794005670310647245371511827196653694717041850821004003871781863352507276947401127302285435778856921820607770308843840883233470732607322154956869978914463887426802946356066974445069859936373831382402642310476165459835220102476985232286131963970442026477032376121827115331480188426066836264685649557624213367422933537897120055736365112631887289464983710385148668229486313167857140963249786576842478160792875590568794469052803888680919135349392834600926813512248945967770130310452415064695199831149914627137636908011793864459876457752006299360733803043 4456818740857208713022475264636435572994834076207928966593552790066406034857617014520813739442112734833343461089216028110665600310422895175775084864933510714507373429802203315142571294703579082237726661264972138039546012884069267853081922054649488922076704130026061729040716228683260413151522997605767996669019224655339472553578905745209350333027568654908862144455905932024307367301221512271846087001324903719467692389689095885091097198880700750252985364106876057384274839868111603802696684589452142878391851199992770403117085672437894233441407640076179483548483474719532106504739380356572077653600613756212410592877092304665089833305655652328889136580789826551968834951801280059678411573817954121850692395254340895035766987501615140718105385291291453081618736746790505081959391416051558861931269755686269735227230313548958081907141256717104547083151104664091021242629380769165796600238716238451304612033381171679 7211284204404473365630577541160737521538307109708385765726858851756992231469294940383366693762499674225030393345037262664981225452598711894072464508798818082551734676140881338111705932595784618191687972058605897866235073646246794469127902743823622535074559032335260161982242963001840815677091436463850336242428484307285215651398499131373770019299319962210355125251699937694618014546593024099042740696041945570288696393560877748443604475828101877555270799885732979204882610176955444685930155322059465033348721178907234290543888618793961207886477500012553314930886117030008271964574600459049062885886745720182852619354124680786916948637135840754955972845475476109593048319224213597575531629554319234482579684719324605420915655731101453885962526254541239658461214907583380672528185885104362750612188891035662569828157127061207027874911387027556962147846304495240935869767017677177590464698592696203310911394114974722 11668102945261682078653052805797173094533141185916314732320411641823398266326911954904180433204612409058373854434253290775646825763021607069847549373732328797059108105943084653254277227299363700429414633323578035905781086530316062322209824798473111457151263162361321891022959191685101228828614434069618332911447708962624688204977404876583120352326888617119217269707605869718925381847814536370888827697366849289756388783249973633534701674708802627808256163992609036589157450045067048488626839911511607911740572378900004693660974291231855441327885140088732798479369591749540378469313980815621140539487359476395263212231216985452006781942791493083845109426265302661561883271025493657253943203372273356333272079973665500456682643232716594604067911545832692740079951654373885754487577301155921612543458646721932305055387440610165109782052643744661509230997409159331957112396398446343387064937308934654615523427496146401 18879387149666155444283630346957910616071448295624700498047270493580390497796206895287547126967112083283404247779290553440628051215620318963920013882531146879610842782083965991365983159895148318621102605382183933772016160176562856791337727542296733992225822194696582053005202154686942044505705870533468669153876193269909903856375904007956890371626208579329572394959305807413543396394407560469931568393408794860045085176810851381978306150536904505363526963878342015794040060222022493174556995233571072945089293557807238984204862910025816649214362640101286113410255708779548650433888581274670203425374105196578115831585341666238923730579927333838801082271740778771154931590249707254829474832926592590815851764692990105877598298963818048490030437800373932398541166561957266427015763186260284363155647537757594874883544567671372137656964030772218471378843713654572892982163416123520977529635901630857926434821611121123 30547490094927837522936683152755083710604589481541015230367682135403788764123118850191727560171724492341778102213543844216274876978641926033767563256263475676669950888027050644620260387194512019050517238705761969677797246706878919113547552340769845449377085357057903944028161346372043273334320304603087002065323902232534592061353308884540010723953097196448789664666911677132468778242222096840820396090775644149801473960060825015513007825245707133171783127870951052383197510267089541663183835145082680856829865936707243677865837201257672090542247780190018911889625300529089028903202562090291343964861464672973379043816558651690930512522718826922646191698006081432716814861275200912083418036298865947149123844666655606334280942196534643094098349346206625138621118216331152181503340487416205975699106184479527179938932008281537247439016674516879980609841122813904850094559814569864364594573210565512541958249107267524 49426877244593992967220313499712994326676037777165715728414952628984179261919325745479274687138836575625182349992834397656902928194262244997687577138794622556280793670111016635986243547089660337671619844087945903449813406883441775904885279883066579441602907551754485997033363501058985317840026175136555671219200095502444495917729212892496901095579305775778362059626217484546012174636629657310751964484184439009846559136871676397491313975782611638535310091749293068177237570489112034837740830378653753801919159494514482662070700111283488739756610420291305025299881009308637679337091143364961547390235569869551494875401900317929854243102646160761447273969746860203871746451524908166912892869225458537964975609359645712211879241160352691584128787146580557537162284778288418608519103673676490338854753722237122054822476575952909385095980705289098451988684836468477743076723230693385342124209112196370468393070718388647 79974367339521830490156996652468078037280627258706730958782634764387968026042444595671002247310561067966960452206378241873177805172904171031455140395058098232950744558138067280606503934284172356722137082793707873127610653590320695018432832223836424890979992908812389941061524847431028591174346479739642673284523997734979087979082521777036911819532402972227151724293129161678480952878851754151572360574960083159648033096932501413004321801028318771707093219620244120560435080756201576500924665523736434658749025431221726339936537312541160830298858200481323937189506309837726708240293705455252891355097034542524873919218458969620784755625364987684093465667752941636588561312800109078996310905524324485114099454026301318546160183356887334678227136492787182675783402994619570790022444161092696314553859906716649234761408584234446632534997379805978432598525959282382593171283045263249706718782322761883010351319825656171 129401244584115823457377310152181072363956665035872446687197587393372147287961770341150276934449397643592142802199212639530080733367166416029142717533852720789231538228249083916592747481373832694393756926881653776577424060473762470923318112106903004332582900460566875938094888348490013909014372654876198344503724093237423583896811734669533812915111708748005513783919346646224493127515481411462324325059144522169494592233804177810495635776810930410242403311369537188737672651245313611338665495902390188460668184925736209002007237423824649570055468620772628962489387319146364387577384848820214438745332604412076368794620359287550638998728011148445540739637499801840460307764325017245909203774749783023079075063385947030758039424517240026262355923639367740212945687772907989398541547834769186653408613628953771289583885160187356017630978085095076884587210795750860336248006275956635048842991434958253478744390544044818 209375611923637653947534306804649150401237292294579177645980222157760115314004214936821279181759958711559103254405590881403258538540070587060597857928910819022182282786387151197199251415658005051115894009675361649705034714064083165941750944330739429223562893369379265879156413195921042500188719134615841017788248090972402671875894256446570724734644111720232665508212475807902974080394333165613896685634104605329142625330736679223499957577839249181949496530989781309298107732001515187839590161426126623119417210356957935341943774736365810400354326821253952899678893628984091095817678554275467330100429638954601242713838818257171423754353376136129634205305252743477048869077125126324905514680274107508193174517412248349304199607874127360940583060132154922888729090767527560188563991995861882967962473535670420524345293744421802650165975464901055317185736755033242929419289321219884755561773757720136489095710369700989 338776856507753477404911616956830222765193957330451624333177809551132262601965985277971556116209356355151246056604803520933339271907237003089740575462763539811413821014636235113791998897031837745509650936557015426282458774537845636865069056437642433556145793829946141817251301544411056409203091789492039362291972184209826255772705991116104537649755820468238179292131822454127467207909814577076221010693249127498637217564540857033995593354650179592191899842359318498035780383246828799178255657328516811580085395282694144343951012160190459970409795442026581862168280948130455483395063403095681768845762243366677611508459177544722062753081387284575174944942752545317509176841450143570814718455023890531272249580798195380062239032391367387202938983771522663101674778540435549587105539830631069621371087164624191813929178904609158667796953549996132201772947550784103265667295597176519804404765192678389967840100913745807 548152468431391131352445923761479373166431249625030801979158031708892377915970200214792835297969315066710349311010394402336597810447307590150338433391674358833596103801023386310991250312689842796625544946232377075987493488601928802806820000768381862779708687199325407696407714740332098909391810924107880380080220275182228927648600247562675262384399932188470844800344298262030441288304147742690117696327353732827779842895277536257495550932489428774141396373349099807333888115248343987017845818754643434699502605639652079685894786896556270370764122263280534761847174577114546579212741957371149098946191882321278854222297995801893486507434763420704809150248005288794558045918575269895720233135297998039465424098210443729366438640265494748143522043903677585990403869307963109775669531826492952589333560700294612338274472649030961317962929014897187518958684305817346195086584918396404559966538950398526456935811283446796 886929324939144608757357540718309595931625206955482426312335841260024640517936185492764391414178671421861595367615197923269937082354544593240079008854437898645009924815659621424783249209721680542135195882789392502269952263139774439671889057206024296335854481029271549513659016284743155318594902713599919742372192459392055183421306238678779800034155752656709024092476120716157908496213962319766338707020602860326417060459818393291491144287139608366333296215708418305369668498495172786196101476083160246279588000922346224029845799056746730341173917705307116624015455525245002062607805360466830867791954125687956465730757173346615549260516150705279984095190757834112067222760025413466534951590321888570737673679008639109428677672656862135346461027675200249092078647848398659362775071657124022210704647864918804152203651553640119985759882564893319720731631856601449460753880515572924364371304143076916424775912197192603 1435081793370535740109803464479788969098056456580513228291493872968917018433906385707557226712147986488571944678625592325606534892801852183390417442246112257478606028616683007735774499522411523338760740829021769578257445751741703242478709057974406159115563168228596957210066731025075254227986713637707800122452412734574284111069906486241455062418555684845179868892820418978188349784518110062456456403347956593154196903355095929548986695219629037140474692589057518112703556613743516773213947294837803680979090606561998303715740585953303000711938039968587651385862630102359548641820547317837979966738146008009235319953055169148509035767950914125984793245438763122906625268678600683362255184725619886610203097777219082838795116312922356883489983071578877835082482517156361769138444603483616974800038208565213416490478124202671081303722811579790507239690316162418795655840465433969328924337843093475442881711723480639399 2322011118309680348867161005198098565029681663535995654603829714228941658951842571200321618126326657910433540046240790248876471975156396776630496451100550156123615953432342629160557748732133203880895936711811162080527398014881477682150598115180430455451417649257868506723725747309818409546581616351307719864824605193966339294491212724920234862452711437501888892985296539694346258280732072382222795110368559453480613963814914322840477839506768645506807988804765936418073225112238689559410048770920963927258678607484344527745586385010049731053111957673894768009878085627604550704428352678304810834530100133697191785683812342495124585028467064831264777340629520957018692491438626096828790136315941775180940771456227721948223793985579219018836444099254078084174561165004760428501219675140740997010742856430132220642681775756311201289482694144683826960421948019020245116594345949542253288709147236552359306487635677832002 3757092911680216088976964469677887534127738120116508882895323587197858677385748956907878844838474644399005484724866382574483006867958248960020913893346662413602221982049025636896332248254544727219656677540832931658784843766623180924629307173154836614566980817486465463933792478334893663774568329989015519987277017928540623405561119211161689924871267122347068761878116958672534608065250182444679251513716516046634810867170010252389464534726397682647282681393823454530776781725982206332623996065758767608237769214046342831461326970963352731765049997642482419395740715729964099346248899996142790801268246141706427105636867511643633620796417978957249570586068284079925317760117226780191045321041561661791143869233446804787018910298501575902326427170832955919257043682161122197639664278624357971810781064995345637133159899958982282593205505724474334200112264181439040772434811383511582213046990330027802188199359158471401 6079104029989896437844125474875986099157419783652504537499153301426800336337591528108200462964801302309439024771107172823359478843114645736651410344447212569725837935481368266056889996986677931100552614252644093739312241781504658606779905288335267070018398466744333970657518225644712073321149946340323239852101623122506962700052331936081924787323978559848957654863413498366880866345982254826902046624085075500115424830984924575229942374233166328154090670198589390948850006838220895892034044836679731535496447821530687359206913355973402462818161955316377187405618801357568650050677252674447601635798346275403618891320679854138758205824885043788514347926697805036944010251555852877019835457357503436972084640689674526735242704284080794921162871270087034003431604847165882626140883953765098968821523921425477857775841675715293483882688199869158161160534212200459285889029157333053835501756137566580161494686994836303403 9836196941670112526821089944553873633285157903769013420394476888624659013723340485016079307803275946708444509495973555397842485711072894696672324237793874983328059917530393902953222245241222658320209291793477025398097085548127839531409212461490103684585379284230799434591310703979605737095718276329338759839378641051047586105613451147243614712195245682196026416741530457039415474411232437271581298137801591546750235698154934827619406908959564010801373351592412845479626788564203102224658040902438499143734217035577030190668240326936755194583211952958859606801359517087532749396926152670590392437066592417110045996957547365782391826621303022745763918512766089116869328011673079657210880778399065098763228509923121331522261614582582370823489298440919989922688648529327004823780548232389456940632304986420823494909001575674275766475893705593632495360646476381898326661463968716565417714803127896607963682886353994774804 15915300971660008964665215419429859732442577687421517957893630190051459350060932013124279770768077249017883534267080728221201964554187540433323734582241087553053897853011762169010112242227900589420761906046121119137409327329632498138189117749825370754603777750975133405248828929624317810416868222669661999691480264173554548805665783083325539499519224242044984071604943955406296340757214692098483344761886667046865660529139859402849349283192730338955464021791002236428476795402423998116692085739118230679230664857107717549875153682910157657401373908275236794206978318445101399447603405345037994072864938692513664888278227219921150032446188066534278266439463894153813338263228932534230716235756568535735313150612795858257504318866663165744652169711007023926120253376492887449921432186154555909453828907846301352684843251389569250358581905462790656521180688582357612550493126049619253216559265463188125177573348831078207 25751497913330121491486305363983733365727735591190531378288107078676118363784272498140359078571353195726328043763054283619044450265260435129996058820034962536381957770542156071963334487469123247740971197839598144535506412877760337669598330211315474439189157035205932839840139633603923547512586498999000759530858905224602134911279234230569154211714469924241010488346474412445711815168447129370064642899688258593615896227294794230468756192152294349756837373383415081908103583966627100341350126641556729822964881892684747740543394009846912851984585861234096401008337835532634148844529558015628386509931531109623710885235774585703541859067491089280042184952229983270682666274902012191441597014155633634498541660535917189779765933449245536568141468151927013848808901905819892273701980418544012850086133894267124847593844827063845016834475611056423151881827164964255939211957094766184670931362393359796088860459702825853011 41666798884990130456151520783413593098170313278612049336181737268727577713845204511264638849339430444744211578030135011840246414819447975563319793402276050089435855623553918240973446729697023837161733103885719263672915740207392835807787447961140845193792934786181066245088968563228241357929454721668662759222339169398156683716945017313894693711233694166285994559951418367852008155925661821468547987661574925640481556756434653633318105475345024688712301395174417318336580379369051098458042212380674960502195546749792465290418547692757070509385959769509333195215316153977735548292132963360666380582796469802137375773514001805624691891513679155814320451391693877424496004538130944725672313249912202170233854811148713048037270252315908702312793637862934037774929155282312779723623412604698568759539962802113426200278688078453414267193057516519213808403007853546613551762450220815803924147921658822984214038033051656931218 67418296798320251947637826147397326463898048869802580714469844347403696077629477009404997927910783640470539621793189295459290865084708410693315852222311012625817813394096074312936781217166147084902704301725317408208422153085153173477385778172456319632982091821386999084929108196832164905442041220667663518753198074622758818628224251544463847922948164090527005048297892780297719971094108950838612630561263184234097452983729447863786861667497319038469138768557832400244683963335678198799392339022231690325160428642477213030961941702603983361370545630743429596223653989510369697136662521376294767092728000911761086658749776391328233750581170245094362636343923860695178670813032956917113910264067835804732396471684630237817036185765154238880935106014861051623738057188132671997325393023242581609626096696380551047872532905517259284027533127575636960284835018510869490974407315581988595079284052182780302898492754482784229 109085095683310382403789346930810919562068362148414630050651581616131273791474681520669636777250214085214751199823324307299537279904156386256635645624587062715253669017649992553910227946863170922064437405611036671881337893292546009285173226133597164826775026607568065330018076760060406263371495942336326277975537244020915502345169268858358541634181858256812999608249311148149728127019770772307160618222838109874579009740164101497104967142842343727181440163732249718581264342704729297257434551402906650827355975392269678321380489395361053870756505400252762791438970143488105245428795484736961147675524470713898462432263778196952925642094849400908683087735617738119674675351163901642786223513980037974966251282833343285854306438081062941193728743877795089398667212470445451720948805627941150369166059498493977248151220983970673551220590644094850768687842872057483042736857536397792519227205711005764516936525806139715447 176503392481630634351427173078208246025966411018217210765121425963534969869104158530074634705160997725685290821616513602758828144988864796949951497846898075341071482411746066866847009164029318006967141707336354080089760046377699182762559004306053484459757118428955064414947184956892571168813537163003989796728735318643674320973393520402822389557130022347340004656547203928447448098113879723145773248784101294108676462723893549360891828810339662765650578932290082118825948306040407496056826890425138341152516404034746891352342431097965037232127051030996192387662624132998474942565458006113255914768252471625659549091013554588281159392676019646003045724079541598814853346164196858559900133778047873779698647754517973523671342623846217180074663849892656141022405269658578123718274198651183731978792156194874528296023753889487932835248123771670487728972677890568352533711264851979781114306489763188544819835018560622499676 285588488164941016755216520009019165588034773166631840815773007579666243660578840050744271482411211810900042021439837910058365424893021183206587143471485138056325151429396059420757237110892488929031579112947390751971097939670245192047732230439650649286532145036523129744965261716952977432185033105340316074704272562664589823318562789261180931191311880604153004264796515076597176225133650495452933867006939403983255472464057650857996795953182006492832019096022331837407212648745136793314261441828044991979872379427016569673722920493326091102883556431248955179101594276486580187994253490850217062443776942339558011523277332785234085034770869046911728811815159336934528021515360760202686357292027911754664899037351316809525649061927280121268392593770451230421072482129023575439223004279124882347958215693368505544174974873458606386468714415765338497660520762625835576448122388377573633533695474194309336771544366762215123 462091880646571651106643693087227411614001184184849051580894433543201213529682998580818906187572209536585332843056351512817193569881885980156538641318383213397396633841142126287604246274921806935998720820283744832060857986047944374810291234745704133746289263465478194159912446673845548600998570268344305871433007881308264144291956309664003320748441902951493008921343719005044624323247530218598707115791040698091931935187951200218888624763521669258482598028312413956233160954785544289371088332253183333132388783461763461026065351591291128335010607462245147566764218409485055130559711496963472977212029413965217560614290887373515244427446888692914774535894700935749381367679557618762586491070075785534363546791869290333196991685773497301343056443663107371443477751787601699157497202930308614326750371888243033840198728762946539221716838187435826226633198653194188110159387240357354747840185237382854156606562927384714799 747680368811512667861860213096246577202035957351480892396667441122867457190261838631563177669983421347485374864496189422875558994774907163363125784789868351453721785270538185708361483385814295865030299933231135584031955925718189566858023465185354783032821408502001323904877708390798526033183603373684621946137280443972853967610519098925184251939753783555646013186140234081641800548381180714051640982797980102075187407652008851076885420716703675751314617124334745793640373603530681082685349774081228325112261162888780030699788272084617219437894163893494102745865812685971635318553964987813690039655806356304775572137568220158749329462217757739826503347709860272683909389194918378965272848362103697289028445829220607142722640747700777422611449037433558601864550233916625274596720207209433496674708587581611539384373703636405145608185552603201164724293719415820023686607509628734928381373880711577163493378107294146929922 1209772249458084318968503906183473988816037141536329943977561874666068670719944837212382083857555630884070707707552540935692752564656793143519664426108251564851118419111680311995965729660736102801029020753514880416092813911766133941668314699931058916779110671967479518064790155064644074634182173642028927817570288325281118111902475408589187572688195686507139022107483953086686424871628710932650348098589020800167119342839960051295774045480225345009797215152647159749873534558316225372056438106334411658244649946350543491725853623675908347772904771355739250312630031095456690449113676484777163016867835770269993132751859107532264573889664646432741277883604561208433290756874475997727859339432179482823391992621089897475919632433474274723954505481096665973308027985704226973754217410139742111001458959469854573224572432399351684829902390790636990950926918069014211796766896869092283129214065948960017649984670221531644721 1957452618269596986830364119279720566018073098887810836374229315788936127910206675843945261527539052231556082572048730358568311559431700306882790210898119916304840204382218497704327213046550398666059320686746016000124769837484323508526338165116413699811932080469480841969667863455442600667365777015713549763707568769253972079512994507514371824627949470062785035293624187168328225420009891646701989081387000902242306750491968902372659466196929020761111832276981905543513908161846906454741787880415639983356911109239323522425641895760525567210798935249233353058495843781428325767667641472590853056523642126574768704889427327691013903351882404172567781231314421481117200146069394376693132187794283180112420438450310504618642273181175052146565954518530224575172578219620852248350937617349175607676167547051466112608946136035756830438087943393838155675220637484834235483374406497827211510587946660537181143362777515678574643 3167224867727681305798868025463194554834110240424140780351791190455004798630151513056327345385094683115626790279601271294261064124088493450402454637006371481155958623493898809700292942707286501467088341440260896416217583749250457450194652865047472616591042752436960360034458018520086675301547950657742477581277857094535090191415469916103559397316145156569924057401108140255014650291638602579352337179976021702409426093331928953668433511677154365770909047429629065293387442720163131826798225986750051641601561055589867014151495519436433914983703706604972603371125874876885016216781317957368016073391477896844761837641286435223278477241547050605309059114918982689550490902943870374420991527226462662935812431071400402094561905614649326870520459999626890548480606205325079222105155027488917718677626506521320685833518568435108515267990334184475146626147555553848447280141303366919494639802012609497198793347447737210219364 5124677485997278292629232144742915120852183339311951616726020506243940926540358188900272606912633735347182872851650001652829375683520193757285244847904491397460798827876117307404620155753836900133147662127006912416342353586734780958720991030163886316402974832906441202004125881975529275968913727673456027344985425863789062270928464423617931221944094626632709092694732327423342875711648494226054326261363022604651732843823897856041092977874083386532020879706610970836901350882010038281540013867165691624958472164829190536577137415196959482194502641854205956429621718658313341984448959429958869129915120023419530542530713762914292380593429454777876840346233404170667691049013264751114123715020745843048232869521710906713204178795824379017086414518157115123653184424945931470456092644838093326353794053572786798442464704470865345706078277578313302301368193038682682763515709864746706150389959270034379936710225252888794007 8291902353724959598428100170206109675686293579736092397077811696698945725170509701956599952297728418462809663131251272947090439807608687207687699484910862878616757451370016117104913098461123401600236003567267808832559937335985238408915643895211358932994017585343401562038583900495615951270461678331198504926263282958324152462343934339721490619260239783202633150095840467678357526003287096805406663441339044307061158937155826809709526489551237752302929927136240036130288793602173170108338239853915743266560033220419057550728632934633393397178206348459178559800747593535198358201230277387326885203306597920264292380172000198137570857834976505383185899461152386860218181951957135125535115242247208505984045300593111308807766084410473705887606874517784005672133790630271010692561247672327011045031420560094107484275983272905973860974068611762788448927515748592531130043657013231666200790191971879531578730057672990099013371 13416579839722237891057332314949024796538476919048044013803832202942886651710867890856872559210362153809992535982901274599919815491128880964972944332815354276077556279246133424509533254214960301733383665694274721248902290922720019367636634925375245249396992418249842764042709782471145227239375406004654532271248708822113214733272398763339421841204334409835342242790572795101700401714935591031460989702702066911712891780979724665750619467425321138834950806842851006967190144484183208389878253721081434891518505385248248087305770349830352879372708990313384516230369312193511700185679236817285754333221717943683822922702713961051863238428405960161062739807385791030885873000970399876649238957267954349032278170114822215520970263206298084904693289035941120795786975055216942163017340317165104371385214613666894282718447977376839206680146889341101751228883941631213812807172723096412906940581931149565958666767898242987807378 21708482193447197489485432485155134472224770498784136410881643899641832376881377592813472511508090572272802199114152547547010255298737568172660643817726217154694313730616149541614446352676083703333619669261542530081462228258705257776552278820586604182391010003593244326081293682966761178509837084335853037197511991780437367195616333103060912460464574193037975392886413262780057927718222687836867653144041111218774050718135551475460145956976558891137880733979091043097478938086356378498216493574997178158078538605667305638034403284463746276550915338772563076031116905728710058386909514204612639536528315863948115302874714159189434096263382465544248639268538177891104054952927535002184354199515162855016323470707933524328736347616771790792300163553725126467920765685487952855578587989492115416416635173761001766994431250282813067654215501103890200156399690223744942850829736328079107730773903029097537396825571233086820749 35125062033169435380542764800104159268763247417832180424685476102584719028592245483670345070718452726082794735097053822146930070789866449137633588150541571430771870009862282966123979606891044005067003334955817251330364519181425277144188913745961849431788002421843087090124003465437906405749212490340507569468760700602550581928888731866400334301668908602873317635676986057881758329433158278868328642846743178130486942499115276141210765424401880029972831540821942050064669082570539586888094747296078613049597043990915553725340173634294099155923624329085947592261486217922221758572588751021898393869750033807631938225577428120241297334691788425705311379075923968921989927953897934878833593156783117204048601640822755739849706610823069875696993452589666247263707740740704895018595928306657219787801849787427896049712879227659652274334362390444991951385283631854958755658002459424492014671355834178663496063593469476074628127 56833544226616632870028197285259293740988017916616316835567120002226551405473623076483817582226543298355596934211206369693940326088604017310294231968267788585466183740478432507738425959567127708400623004217359781411826747440130534920741192566548453614179012425436331416205297148404667584259049574676360606666272692382987949124505064969461246762133482795911293028563399320661816257151380966705196295990784289349260993217250827616670911381378438921110712274801033093162148020656895965386311240871075791207675582596582859363374576918757845432474539667858510668292603123650931816959498265226511033406278349671580053528452142279430731430955170891249560018344462146813093982906825469881017947356298280059064925111530689264178442958439841666489293616143391373731628506426192847874174516296149335204218484961188897816707310477942465341988577891548882151541683322078703698508832195752571122402129737207761033460419040709161448876 91958606259786068250570962085363453009751265334448497260252596104811270434065868560154162652944996024438391669308260191840870396878470466447927820118809360016238053750340715473862405566458171713467626339173177032742191266621555812064930106312510303045967014847279418506329300613842573990008262065016868176135033392985538531053393796835861581063802391398784610664240385378543574586584539245573524938837527467479747935716366103757881676805780318951083543815622975143226817103227435552274405988167154404257272626587498413088714750553051944588398163996944458260554089341573153575532087016248409427276028383479211991754029570399672028765646959316954871397420386115735083910860723404759851540513081397263113526752353445004028149569262911542186287068733057620995336247166897742892770444602806554992020334748616793866420189705602117616322940281993874102926966953933662454166834655177063137073485571386424529524012510185236077003 148792150486402701120599159370622746750739283251064814095819716107037821839539491636637980235171539322793988603519466561534810722967074483758222052087077148601704237490819147981600831526025299421868249343390536814154018014061686346985671298879058756660146027272715749922534597762247241574267311639693228782801306085368526480177898861805322827825935874194695903692803784699205390843735920212278721234828311756829008928933616931374552588187158757872194256090424008236388965123884331517660717229038230195464948209184081272452089327471809790020872703664802968928846692465224085392491585281474920460682306733150792045282481712679102760196602130208204431415764848262548177893767548874640869487869379677322178451863884134268206592527702753208675580684876448994726964753593090590766944960898955890196238819709805691683127500183544582958311518173542756254468650276012366152675666850929634259475615308594185562984431550894397525879 240750756746188769371170121455986199760490548585513311356072312211849092273605360196792142888116535347232380272827726753375681119845544950206149872205886508617942291241159863455463237092483471135335875682563713846896209280683242159050601405191569059706113042119995168428863898376089815564275573704710096958936339478354065011231292658641184408889738265593480514357044170077748965430320459457852246173665839224308756864649983035132434264992939076823277799906046983379615782227111767069935123217205384599722220835771579685540804078024861734609270867661747427189400781806797238968023672297723329887958335116630004037036511283078774788962249089525159302813185234378283261804628272279400721028382461074585291978616237579272234742096965664750861867753609506615722301000759988333659715405501762445188259154458422485549547689889146700574634458455536630357395617229946028606842501506106697396549100879980610092508444061079633602882 389542907232591470491769280826608946511229831836578125451892028318886914113144851833430123123288074670026368876347193314910491842812619433964371924292963657219646528731979011437064068618508770557204125025954250661050227294744928506036272704070627816366259069392710918351398496138337057138542885344403325741737645563722591491409191520446507236715674139788176418049847954776954356274056379670130967408494150981137765793583599966506986853180097834695472055996470991616004747350996098587595840446243614795187169044955660957992893405496671524630143571326550396118247474272021324360515257579198250348640641849780796082318992995757877549158851219733363734228950082640831439698395821154041590516251840751907470430480121713540441334624668417959537448438485955610449265754353078924426660366400718335384497974168228177232675190072691283532945976629079386611864267505958394759518168357036331656024716188574795655492875611974031128761 630293663978780239862939402282595146271720380422091436807964340530736006386750212030222266011404610017258749149174920068286172962658164384170521796498850165837588819973138874892527305710992241692540000708517964507946436575428170665086874109262196876072372111512706086780262394514426872702818459049113422700673985042076656502640484179087691645605412405381656932406892124854703321704376839127983213582159990205446522658233583001639421118173036911518749855902517974995620529578107865657530963663448999394909389880727240643533697483521533259239414438988297823307648256078818563328538929876921580236598976966410800119355504278836652338121100309258523037042135317019114701503024093433442311544634301826492762409096359292812676076721634082710399316192095462226171566755113067258086375771902480780572757128626650662782222879961837984107580435084616016969259884735904423366360669863143029052573817068555405748001319673053664731643 1019836571211371710354708683109204092782950212258669562259856368849622920499895063863652389134692684687285118025522113383196664805470783818134893720791813823057235348705117886329591374329501012249744125734472215168996663870173099171123146813332824692438631180905417005131660890652763929841361344393516748442411630605799247994049675699534198882321086545169833350456740079631657677978433218798114180990654141186584288451817182968146407971353134746214221911898988966611625276929103964245126804109692614190096558925682901601526590889018204783869558010314848219425895730350839887689054187456119830585239618816191596201674497274594529887279951528991886771271085399659946141201419914587483902060886142578400232839576481006353117411346302500669936764630581417836620832509466146182513036138303199115957255102794878840014898070034529267640526411713695403581124152241862818125878838220179360708598533257130201403494195285027695860404 1650130235190151950217648085391799239054670592680760999067820709380358926886645275893874655146097294704543867174697033451482837768128948202305415517290663988894824168678256761222118680040493253942284126442990179676943100445601269836210020922595021568511003292418123091911923285167190802544179803442630171143085615647875904496690159878621890527926498950551490282863632204486360999682810057926097394572814131392030811110050765969785829089526171657732971767801506941607245806507211829902657767773141613585005948806410142245060288372539738043108972449303146042733543986429658451017593117333041410821838595782602396321030001553431182225401051838250409808313220716679060842704444008020926213605520444404892995248672840299165793488067936583380336080822676880062792399264579213440599411910205679896530012231421529502797120949996367251748106846798311420550384036977767241492239508083322389761172350325685607151495514958081360592047 2669966806401523660572356768501003331837620804939430561327677078229981847386540339757527044280789979391828985200219146834679502573599732020440309238082477811952059517383374647551710054369994266192028252177462394845939764315774369007333167735927846260949634473323540097043584175819954732385541147836146919585497246253675152490739835578156089410247585495721323633320372284118018677661243276724211575563468272578615099561867948937932237060879306403947193679700495908218871083436315794147784571882834227775102507732093043846586879261557942826978530459617994262159439716780498338706647304789161241407078214598793992522704498828025712112681003367242296579584306116339006983905863922608410115666406586983293228088249321305518910899414239084050272845453258297899413231774045359623112448048508879012487267334216408342812019020030896519388633258512006824131508189219630059618118346303501750469770883582815808554989710243109056452451 4320097041591675610790004853892802570892291397620191560395497787610340774273185615651401699426887274096372852374916180286162340341728680222745724755373141800846883686061631408773828734410487520134312378620452574522882864761375638843543188658522867829460637765741663188955507460987145534929720951278777090728582861901551056987429995456777979938174084446272813916184004488604379677344053334650308970136282403970645910671918714907718066150405478061680165447502002849826116889943527624050442339655975841360108456538503186091647167634097680870087502908921140304892983703210156789724240422122202652228916810381396388843734500381456894338082055205492706387897526833018067826610307930629336329271927031388186223336922161604684704387482175667430608926275935177962205631038624573063711859958714558909017279565637937845609139970027263771136740105310318244681892226197397301110357854386824140230943233908501415706485225201190417044498 6990063847993199271362361622393805902729912202559622121723174865840322621659725955408928743707677253488201837575135327120841842915328412243186033993455619612798943203445006056325538788780481786326340630797914969368822629077150007850876356394450714090410272239065203285999091636807100267315262099114924010314080108155226209478169831034934069348421669941994137549504376772722398355005296611374520545699750676549261010233786663845650303211284784465627359127202498758044987973379843418198226911538810069135210964270596229938234046895655623697066033368539134567052423419990655128430887726911363893635995024980190381366438999209482606450763058572735002967481832949357074810516171853237746444938333618371479451425171482910203615286896414751480881771729193475861618862812669932686824308007223437921504546899854346188421158990058160290525373363822325068813400415417027360728476200690325890700714117491317224261474935444299473496949 11310160889584874882152366476286608473622203600179813682118672653450663395932911571060330443134564527584574689950051507407004183257057092465931758748828761413645826889506637465099367523190969306460653009418367543891705493838525646694419545052973581919870910004806866474954599097794245802244983050393701101042662970056777266465599826491712049286595754388266951465688381261326778032349349946024829515836033080519906920905705378753368369361690262527307524574704501607871104863323371042248669251194785910495319420809099416029881214529753304567153536277460274871945407123200811918155128149033566545864911835361586770210173499590939500788845113778227709355379359782375142637126479783867082774210260649759665674762093644514888319674378590418911490698005128653823824493851294505750536167965937996830521826465492284034030298960085424061662113469132643313495292641614424661838834055077150030931657351399818639967960160645489890541447 18300224737578074153514728098680414376352115802739435803841847519290986017592637526469259186842241781072776527525186834527846026172385504709117792742284381026444770092951643521424906311971451092786993640216282513260528122915675654545295901447424296010281182243872069760953690734601346069560245149508625111356743078212003475943769657526646118635017424330261089015192758034049176387354646557399350061535783757069167931139492042599018672572975046992934883701907000365916092836703214460446896162733595979630530385079695645968115261425408928264219569645999409438997830543191467046586015875944930439500906860341777151576612498800422107239608172350962712322861192731732217447642651637104829219148594268131145126187265127425091934961275005170392372469734322129685443356663964438437360475973161434752026373365346630222451457950143584352187486832954968382308693057031452022567310255767475921632371468891135864229435096089789364038396 29610385627162949035667094574967022849974319402919249485960520172741649413525549097529589629976806308657351217475238341934850209429442597175049551491113142440090596982458280986524273835162420399247646649634650057152233616754201301239715446500397877930152092248678936235908289832395591871805228199902326212399406048268780742409369484018358167921613178718528040480881139295375954419703996503424179577371816837589074852045197421352387041934665309520242408276611501973787197700026585502695565413928381890125849805888795061997996475955162232831373105923459684310943237666392278964741144024978496985365818695703363921786785998391361608028453286129190421678240552514107360084769131420971911993358854917890810800949358771939980254635653595589303863167739450783509267850515258944187896643939099431582548199830838914256481756910229008413849600302087611695803985698645876684406144310844625952564028820290954504197395256735279254579843 47910610364741023189181822673647437226326435205658685289802367692032635431118186623998848816819048089730127745000425176462696235601828101884167344233397523466535367075409924507949180147133871492034640289850932570412761739669876955785011347947822173940433274492551005996861980566996937941365473349410951323756149126480784218353139141545004286556630603048789129496073897329425130807058643060823529638907600594658242783184689463951405714507640356513177291978518502339703290536729799963142461576661977869756380190968490707966111737380571161095592675569459093749941068209583746011327159900923427424866725556045141073363398497191783715268061458480153134001101745245839577532411783058076741212507449186021955927136623899365072189596928600759696235637473772913194711207179223382625257119912260866334574573196185544478933214860372592766037087135042580078112678755677328706973454566612101874196400289182090368426830352825068618618239 77520995991903972224848917248614460076300754608577934775762887864774284844643735721528438446795854398387478962475663518397546445031270699059216895724510665906625964057868205494473453982296291891282286939485582627564995356424078257024726794448220051870585366741229942232770270399392529813170701549313277536155555174749564960762508625563362454478243781767317169976955036624801085226762639564247709216279417432247317635229886885303792756442305666033419700255130004313490488236756385465838026990590359759882229996857285769964108213335733393926965781492918778060884305875976024976068303925901924410232544251748504995150184495583145323296514744609343555679342297759946937617180914479048653205866304103912766728085982671305052444232582196349000098805213223696703979057694482326813153763851360297917122773027024458735414971770601601179886687437130191773916664454323205391379598877456727826760429109473044872624225609560347873198082 125431606356644995414030739922261897302627189814236620065565255556806920275761922345527287263614902488117606707476088694860242680633098800943384239957908189373161331133278130002422634129430163383316927229336515197977757096093955212809738142396042225811018641233780948229632250966389467754536174898724228859911704301230349179115647767108366741034874384816106299473028933954226216033821282625071238855187018026905560418414576349255198470949946022546596992233648506653193778773486185428980488567252337629638610187825776477930219950716304555022558457062377871810825374085559770987395463826825351835099269807793646068513582992774929038564576203089496689680444043005786515149592697537125394418373753289934722655222606570670124633829510797108696334442686996609898690264873705709438410883763621164251697346223210003214348186630974193945923774572172771852029343210000534098353053444068829700956829398655135241051055962385416491816321 202952602348548967638879657170876357378927944422814554841328143421581205120405658067055725710410756886505085669951752213257789125664369500002601135682418855279787295191146335496896088111726455274599214168822097825542752452518033469834464936844262277681604007975010890462402521365781997567706876448037506396067259475979914139878156392671729195513118166583423469449983970579027301260583922189318948071466435459152878053644463234558991227392251688580016692488778510966684267010242570894818515557842697389520840184683062247894328164052037948949524238555296649871709679961535795963463767752727276245331814059542151063663767488358074361861090947698840245359786340765733452766773612016174047624240057393847489383308589241975177078062092993457696433247900220306602669322568188036251564647614981462168820119250234461949763158401575795125810462009302963625946007664323739489732652321525557527717258508128180113675281571945764365014403 328384208705193963052910397093138254681555134237051174906893398978388125396167580412583012974025659374622692377427840908118031806297468300945985375640327044652948626324424465499318722241156618657916141398158613023520509548611988682644203079240304503492622649208791838692034772332171465322243051346761735255978963777210263318993804159780095936547992551399529768923012904533253517294405204814390186926653453486058438472059039583814189698342197711126613684722427017619878045783728756323799004125095035019159450372508838725824548114768342503972082695617674521682535054047095566950859231579552628080431083867335797132177350481133003400425667150788336935040230383771519967916366309553299442042613810683782212038531195812645301711891603790566392767690587216916501359587441893745689975531378602626420517465473444465164111345032549989071734236581475735477975350874324273588085705765594387228674087906783315354726337534331180856830724 531336811053742930691790054264014612060483078659865729748221542399969330516573238479638738684436416261127778047379593121375820931961837800948586511322745899932735921515570800996214810352883073932515355566980710849063262001130022152478668016084566781174226657183802729154437293697953462889949927794799241652046223253190177458871960552451825132061110717982953238372996875112280818554989127003709134998119888945211316525703502818373180925734449399706630377211205528586562312793971327218617519682937732408680290557191900973718876278820380452921606934172971171554244734008631362914322999332279904325762897926877948195841117969491077762286758098487177180400016724537253420683139921569473489666853868077629701421839785054620478789953696784024089200938487437223104028910010081781941540178993584088589337584723678927113874503434125784197544698590778699103921358538648013077818358087119944756391346414911495468401619106276945221845127 859721019758936893744700451357152866742038212896916904655114941378357455912740818892221751658462075635750470424807434029493852738259306101894571886963072944585684547839995266495533532594039692590431496965139323872583771549742010835122871095324871284666849306392594567846472066030124928212192979141560976908025187030400440777865764712231921068609103269382483007296009779645534335849394331818099321924773342431269754997762542402187370624076647110833244061933632546206440358577700083542416523808032767427839740929700739699543424393588722956893689629790645693236779788055726929865182230911832532406193981794213745328018468450624081162712425249275514115440247108308773388599506231122772931709467678761411913460370980867265780501845300574590481968629074654139605388497451975527631515710372186715009855050197123392277985848466675773269278935172254434581896709412972286665904063852714331985065434321694810823127956640608126078675851 1391057830812679824436490505621167478802521291556782634403336483778326786429314057371860490342898491896878248472187027150869673670221143902843158398285818844518420469355566067491748342946922766522946852532120034721647033550872032987601539111409438065841075963576397297000909359728078391102142906936360218560071410283590618236737725264683746200670213987365436245669006654757815154404383458821808456922893231376481071523466045220560551549811096510539874439144838074793002671371671410761034043490970499836520031486892640673262300672409103409815296563963616864791024522064358292779505230244112436731956879721091693523859586420115158924999183347762691295840263832846026809282646152692246421376321546839041614882210765921886259291798997358614571169567562091362709417407462057309573055889365770803599192634920802319391860351900801557466823633763033133685818067951620299743722421939834276741456780736606306291529575746885071300520978 2250778850571616718181190956978320345544559504453699539058451425156684242342054876264082242001360567532628718896994461180363526408480450004737730285248891789104105017195561333987281875540962459113378349497259358594230805100614043822724410206734309350507925269968991864847381425758203319314335886077921195468096597313991059014603489976915667269279317256747919252965016434403349490253777790639907778847666573807750826521228587622747922173887743621373118501078470620999443029949371494303450567299003267264359772416593380372805725065997826366708986193754262558027804310120085222644687461155944969138150861515305438851878054870739240087711608597038205411280510941154800197882152383815019353085789225600453528342581746789152039793644297933205053138196636745502314805904914032837204571599737957518609047685117925711669846200367477330736102568935287568267714777364592586409626485792548608726522215058301117114657532387493197379196829 3641836681384296542617681462599487824347080796010482173461787908935011028771368933635942732344259059429506967369181488331233200078701593907580888683534710633622525486551127401479030218487885225636325202029379393315877838651486076810325949318143747416349001233545389161848290785486281710416478793014281414028168007597581677251341215241599413469949531244113355498634023089161164644658161249461716235770559805184231898044694632843308473723698840131912992940223308695792445701321042905064484610789973767100879803903486021046068025738406929776524282757717879422818828832184443515424192691400057405870107741236397132375737641290854399012710791944800896707120774774000827007164798536507265774462110772439495143224792512711038299085443295291819624307764198836865024223312376090146777627489103728322208240320038728031061706552268278888202926202698320701953532845316212886153348907732382885467978995794907423406187108134378268679717807 5892615531955913260798872419577808169891640300464181712520239334091695271113423809900024974345619626962135686266175949511596726487182043912318618968783602422726630503746688735466312094028847684749703551526638751910108643752100120633050359524878056766856926503514381026695672211244485029730814679092202609496264604911572736265944705218515080739228848500861274751599039523564514134911939040101624014618226378991982724565923220466056395897586583753286111441301779316791888731270414399367935178088977034365239576320079401418873750804404756143233268951472141980846633142304528738068880152556002375008258602751702571227615696161593639100422400541839102118401285715155627205046950920322285127547899998039948671567374259500190338879087593225024677445960835582367339029217290122983982199088841685840817288005156653742731552752635756218939028771633608270221247622680805472562975393524931494194501210853208540520844640521871466058914636 9534452213340209803416553882177295994238721096474663885982027243026706299884792743535967706689878686391642653635357437842829926565883637819899507652318313056349155990297816136945342312516732910386028753556018145225986482403586197443376308843021804183205927737059770188543962996730766740147293472106484023524432612509154413517285920460114494209178379744974630250233062612725678779570100289563340250388786184176214622610617853309364869621285423885199104381525088012584334432591457304432419788878950801466119380223565422464941776542811685919757551709190021403665461974488972253493072843956059780878366343988099703603353337452448038113133192486639998825522060489156454212211749456829550902010010770479443814792166772211228637964530888516844301753725034419232363252529666213130759826577945414163025528325195381773793259304904035107141954974331928972174780467997018358716324301257314379662480206648115963927031748656249734738632443 15427067745296123064215426301755104164130361396938845598502266577118401570998216553435992681035498313353778339901533387354426653053065681732218126621101915479075786494044504872411654406545580595135732305082656897136095126155686318076426668367899860950062854240574151215239635207975251769878108151198686633020697217420727149783230625678629574948407228245835905001832102136290192914482039329664964265007012563168197347176541073775421265518872007638485215822826867329376223163861871703800354966967927835831358956543644823883815527347216442062990820660662163384512095116793500991561952996512062155886624946739802274830969033614041677213555593028479100943923346204312081417258700377151836029557910768519392486359541031711418976843618481741868979199685870001599702281746956336114742025666787100003842816330352035516524812057539791326080983745965537242396028090677823831279299694782245873856981417501324504447876389178121200797547079 24961519958636332867631980183932400158369082493413509484484293820145107870883009296971960387725376999745420993536890825197256579618949319552117634273420228535424942484342321009356996719062313505521761058638675042362081608559272515519802977210921665133268781977633921403783598204706018510025401623305170656545129829929881563300516546138744069157585607990810535252065164749015871694052139619228304515395798747344411969787158927084786135140157431523684320204351955341960557596453329008232774755846878637297478336767210246348757303890028127982748372369852184788177557091282473245055025840468121936764991290727901978434322371066489715326688785515119099769445406693468535629470449833981386931567921538998836301151707803922647614808149370258713280953410904420832065534276622549245501852244732514166868344655547417290318071362443826433222938720297466214570808558674842189995623996039560253519461624149440468374908137834370935536179522 40388587703932455931847406485687504322499443890352355082986560397263509441881225850407953068760875313099199333438424212551683232672015001284335760894522144014500728978386825881768651125607894100657493363721331939498176734714958833596229645578821526083331636218208072619023233412681270279903509774503857289565827047350608713083747171817373644105992836236646440253897266885306064608534178948893268780402811310512609316963700000860207400659029439162169536027178822671336780760315200712033129722814806473128837293310855070232572831237244570045739193030514348172689652208075974236616978836980184092651616237467704253265291404680531392540244378543598200713368752897780617046729150211133222961125832307518228787511248835634066591651767852000582260153096774422431767816023578885360243877911519614170711160985899452806842883419983617759303922466263003456966836649352666021274923690821806127376443041650764972822784527012492136333726601 65350107662568788799479386669619904480868526383765864567470854217408617312764235147379913456486252312844620326975315037748939812290964320836453395167942372549925671462729146891125647844670207606179254422360006981860258343274231349116032622789743191216600418195841994022806831617387288789928911397809027946110956877280490276384263717956117713263578444227456975505962431634321936302586318568121573295798610057857021286750858927944993535799186870685853856231530778013297338356768529720265904478661685110426315630078065316581330135127272698028487565400366532960867209299358447481672004677448306029416607528195606231699613775747021107866933164058717300482814159591249152676199600045114609892693753846517065088662956639556714206459917222259295541106507678843263833350300201434605745730156252128337579505641446870097160954782427444192526861186560469671537645208027508211270547686861366380895904665800205441197692664846863071869906123 105738695366501244731326793155307408803367970274118219650457414614672126754645460997787866525247127625943819660413739250300623044962979322120789156062464516564426400441115972772894298970278101706836747786081338921358435077989190182712262268368564717299932054414050066641830065030068559069832421172312885235676783924631098989468010889773491357369571280464103415759859698519628000911120497517014842076201421368369630603714558928805200936458216309848023392258709600684634119117083730432299034201476491583555152923388920386813902966364517268074226758430880881133556861507434421718288983514428490122068223765663310484964905180427552500407177542602315501196182912489029769722928750256247832853819586154035293876174205475190780798111685074259877801259604453265695601166323780319965989608067771742508290666627346322904003838202411061951830783652823473128504481857380174232545471377683172508272347707450970414020477191859355208203632724 171088803029070033530806179824927313284236496657884084217928268832080744067409696145167779981733379938788439987389054288049562857253943642957242551230406889114352071903845119664019946814948309313016002208441345903218693421263421531828294891158307908516532472609892060664636896647455847859761332570121913181787740801911589265852274607729609070633149724691560391265822130153949937213706816085136415372000031426226651890465417856750194472257403180533877248490240378697931457473852260152564938680138176693981468553466985703395233101491789966102714323831247414094424070806792869199960988191876796151484831293858916716664518956174573608274110706661032801678997072080278922399128350301362442746513340000552358964837162114747495004571602296519173342366112132108959434516623981754571735338224023870845870172268793193001164792984838506144357644839383942800042127065407682443816019064544538889168252373251175855218169856706218280073538847 276827498395571278262132972980234722087604466932002303868385683446752870822055157142955646506980507564732259647802793538350185902216922965078031707292871405678778472344961092436914245785226411019852749994522684824577128499252611714540557159526872625816464527023942127306466961677524406929593753742434798417464524726542688255320285497503100428002721005155663807025681828673577938124827313602151257448201452794596282494179976785555395408715619490381900640748949979382565576590935990584863972881614668277536621476855906090209136067856307234176941082262128295227980932314227290918249971706305286273553055059522227201629424136602126108681288249263348302875179984569308692122057100557610275600332926154587652841011367589938275802683287370779051143625716585374655035682947762074537724946291795613354160838896139515905168631187249568096188428492207415928546608922787856676361490442227711397440600080702146269238647048565573488277171571 447916301424641311792939152805162035371840963589886388086313952278833614889464853288123426488713887503520699635191847826399748759470866608035274258523278294793130544248806212100934192600174720332868752202964030727795821920516033246368852050685180534332996999633834187971103858324980254789355086312556711599252265528454277521172560105232709498635870729847224198291503958827527875338534129687287672820201484220822934384645394642305589880973022670915777889239190358080497034064788250737428911561752844971518090030322891793604369169348097200279655406093375709322405003121020160118210959898182082425037886353381143918293943092776699716955398955924381104554177056649587614521185450858972718346846266155140011805848529704685770807254889667298224485991828717483614470199571743829109460284515819484200031011164932708906333424172088074240546073331591358728588735988195539120177509506772250286608852453953322124456816905271791768350710418 724743799820212590055072125785396757459445430521888691954699635725586485711520010431079072995694395068252959282994641364749934661687789573113305965816149700471909016593767304537848438385401131352721502197486715552372950419768644960909409210212053160149461526657776315277570820002504661718948840054991510016716790254996965776492845602735809926638591735002888005317185787501105813463361443289438930268402937015419216878825371427860985289688642161297678529988140337463062610655724241322292884443367513249054711507178797883813505237204404434456596488355504004550385935435247451036460931604487368698590941412903371119923367229378825825636687205187729407429357041218896306643242551416582993947179192309727664646859897294624046609938177038077275629617545302858269505882519505903647185230807615097554191850061072224811502055359337642336734501823798774657135344910983395796538999948999961684049452534655468393695463953837365256627881989 1172660101244853901848011278590558792831286394111775080041013588004420100600984863719202499484408282571773658918186489191149683421158656181148580224339427995265039560842573516638782630985575851685590254400450746280168772340284678207278261260897233694482458526291610503248674678327484916508303926367548221615969055783451243297665405707968519425274462464850112203608689746328633688801895572976726603088604421236242151263470766070166575170661664832213456419227330695543559644720512492059721796005120358220572801537501689677417874406552501634736251894448879713872790938556267611154671891502669451123628827766284515038217310322155525542592086161112110511983534097868483921164428002275555712294025458464867676452708426999309817417193066705375500115609374020341883976082091249732756645515323434581754222861226004933717835479531425716577280575155390133385724080899178934916716509455772211970658304988608790518152280859109157024978592407 1897403901065066491903083404375955550290731824633663771995713223730006586312504874150281572480102677640026618201181130555899618082846445754261886190155577695736948577436340821176631069370976983038311756597937461832541722760053323168187670471109286854631920052949386818526245498329989578227252766422539731632685846038448209074158251310704329351913054199853000208925875533829739502265257016266165533357007358251661368142296137498027560460350306993511134949215471033006622255376236733382014680448487871469627513044680487561231379643756906069192848382804383718423176873991515062191132823107156819822219769179187886158140677551534351368228773366299839919412891139087380227807670553692138706241204650774595341099568324293933864027131243743452775745226919323200153481964610755636403830746131049679308414711287077158529337534890763358914015076979188908042859425810162330713255509404772173654707757523264258911847744812946522281606474396 3070064002309920393751094682966514343122018218745438852036726811734426686913489737869484071964510960211800277119367619747049301504005101935410466414495005691001988138278914337815413700356552834723902010998388208112710495100338001375465931732006520549114378579240997321774920176657474494735556692790087953248654901821899452371823657018672848777187516664703112412534565280158373191067152589242892136445611779487903519405766903568194135631011971825724591368442801728550181900096749225441736476453608229690200314582182177238649254050309407703929100277253263432295967812547782673345804714609826270945848596945472401196357987873689876910820859527411950431396425236955864148972098555967694418535230109239463017552276751293243681444324310448828275860836293343542037458046702005369160476261454484261062637572513082092247173014422189075491295652134579041428583506709341265629972018860544385625366062511873049430000025672055679306585066803 4967467903374986885654178087342469893412750043379102624032440035464433273225994612019765644444613637851826895320548750302948919586851547689672352604650583386738936715715255158992044769727529817762213767596325669945252217860391324543653602203115807403746298632190384140301165674987464072962809459212627684881340747860347661445981908329377178129100570864556112621460440813988112693332409605509057669802619137739564887548063041066221696091362278819235726317658272761556804155472985958823751156902096101159827827626862664799880633694066313773121948660057647150719144686539297735536937537716983090768068366124660287354498665425224228279049632893711790350809316376043244376779769109659833124776434760014058358651845075587177545471455554192281051606063212666742190940011312761005564307007585533940371052283800159250776510549312952434405310729113767949471442932519503596343227528265316559280073820035137308341847770485002201588191541199 8037531905684907279405272770308984236534768262124541476069166847198859960139484349889249716409124598063627172439916370049998221090856649625082819019145589077740924853994169496807458470084082652486115778594713878057962712960729325919119533935122327952860677211431381462076085851644938567698366152002715638129995649682247113817805565348050026906288087529259225033995006094146485884399562194751949806248230917227468406953829944634415831722374250644960317686101074490106986055569735184265487633355704330850028142209044842038529887744375721477051048937310910583015112499087080408882742252326809361713916963070132688550856653298914105189870492421123740782205741612999108525751867665627527543311664869253521376204121826880421226915779864641109327466899506010284228398058014766374724783269040018201433689856313241343023683563735141509896606381248346990900026439228844861973199547125860944905439882547010357771847796157057880894776608002 13004999809059894165059450857651454129947518305503644100101606882663293233365478961909015360853738235915454067760465120352947140677708197314755171623796172464479861569709424655799503239811612470248329546191039548003214930821120650462773136138238135356606975843621765602377251526632402640661175611215343323011336397542594775263787473677427205035388658393815337655455446908134598577731971800261007476050850054967033294501892985700637527813736529464196044003759347251663790211042721143089238790257800432009855969835907506838410521438442035250172997597368557733734257185626378144419679790043792452481985329194792975905355318724138333468920125314835531133015057989042352902531636775287360668088099629267579734855966902467598772387235418833390379072962718677026419338069327527380289090276625552141804742140113400593800194113048093944301917110362114940371469371748348458316427075391177504185513702582147666113695566642060082482968149201 21042531714744801444464723627960438366482286567628185576170773729862153193504963311798265077262862833979081240200381490402945361768564846939837990642941761542220786423703594152606961709895695122734445324785753426061177643781849976381892670073360463309467653055053147064453337378277341208359541763218058961141332047224841889081593039025477231941676745923074562689450453002281084462131533995012957282299080972194501701455722930335053359536110780109156361689860421741770776266612456327354726423613504762859884112044952348876940409182817756727224046534679468316749369684713458553302422042370601814195902292264925664456211972023052438658790617735959271915220799602041461428283504440914888211399764498521101111060088729348019999303015283474499706539862224687310647736127342293755013873545665570343238431996426641936823877676783235454198523491610461931271495810977193320289626622517038449090953585129158023885543362799117963377744757203 34047531523804695609524174485611892496429804873131829676272380612525446426870442273707280438116601069894535307960846610755892502446273044254593162266737934006700647993413018808406464949707307592982774870976792974064392574602970626844665806211598598666074628898674912666830588904909743849020717374433402284152668444767436664345380512702904436977065404316889900344905899910415683039863505795273964758349931027161534995957615916035690887349847309573352405693619768993434566477655177470443965213871305194869740081880859855715350930621259791977397044132048026050483626870339836697722101832414394266677887621459718640361567290747190772127710743050794803048235857591083814330815141216202248879487864127788680845916055631815618771690250702307890085612824943364337067074196669821135302963822291122485043174136540042530624071789831329398500440601972576871642965182725541778606053697908215953276467287711305689999238929441178045860712906404 55090063238549497053988898113572330862912091440760015252443154342387599620375405585505545515379463903873616548161228101158837864214837891194431152909679695548921434417116612961013426659603002715717220195762546400125570218384820603226558476284959061975542281953728059731283926283187085057380259137651461245294000491992278553426973551728381668918742150239964463034356352912696767501995039790286922040649011999356036697413338846370744246885958089682508767383480190735205342744267633797798691637484809957729624193925812204592291339804077548704621090666727494367232996555053295251024523874784996080873789913724644304817779262770243210786501360786754074963456657193125275759098645657117137090887628626309781956976144361163638770993265985782389792152687168051647714810324012114890316837367956692828281606132966684467447949466614564852698964093583038802914460993702735098895680320425254402367420872840463713884782292240296009238457663607 89137594762354192663513072599184223359341896313891844928715534954913046047245847859212825953496064973768151856122074711914730366661110935449024315176417629555622082410529631769419891609310310308699995066739339374189962792987791230071224282496557660641616910852402972398114515188096828906400976512084863529446668936759715217772354064431286105895807554556854363379262252823112450541858545585560886798998943026517571693370954762406435134235805399255861173077099959728639909221922811268242656851356115152599364275806672060307642270425337340682018134798775520417716623425393131948746625707199390347551677535184362945179346553517433982914212103837548878011692514784209090089913786873319385970375492754098462802892199992979257542683516688090279877765512111415984781884520681936025619801190247815313324780269506726998072021256445894251199404695555615674557426176428276877501734018333470355643888160551769403884021221681474055099170570011 144227658000903689717501970712756554222253987754651860181158689297300645667621253444718371468875528877641768404283302813073568230875948826643455468086097325104543516827646244730433318268913313024417215262501885774315533011372611833297782758781516722617159192806131032129398441471283913963781235649736324774740669428751993771199327616159667774814549704796818826413618605735809218043853585375847808839647955025873608390784293608777179381121763488938369940460580150463845251966190445066041348488840925110328988469732484264899933610229414889386639225465503014784949619980446427199771149581984386428425467448909007249997125816287677193700713464624302952975149171977334365849012432530436523061263121380408244759868344354142896313676782673872669669918199279467632496694844694050915936638558204508141606386402473411465519970723060459103898368789138654477471887170131011976397414338758724758011309033392233117768803513921770064337628233618 233365252763257882381015043311940777581595884068543705109874224252213691714867101303931197422371593851409920260405377524988298597537059762092479783262514954660165599238175876499853209878223623333117210329241225148505495804360403063369007041278074383258776103658534004527512956659380742870182212161821188304187338365511708988971681680590953880710357259353673189792880858558921668585712130961408695638646898052391180084155248371183614515357568888194231113537680110192485161188113256334284005340197040262928352745539156325207575880654752230068657360264278535202666243405839559148517775289183776775977144984093370195176472369805111176614925568461851830986841686761543455938926219403755909031638614134506707562760544347122153856360299361962949547683711390883617278579365375986941556439748452323454931166671980138463591991979506353355097773484694270152029313346559288853899148357092195113655197193944002521652824735603244119436798803629 377592910764161572098517014024697331803849871823195565291032913549514337382488354748649568891247122729051688664688680338061866828413008588735935251348612279764709116065822121230286528147136936357534425591743110922821028815733014896666789800059591105875935296464665036656911398130664656833963447811557513078928007794263702760171009296750621655524906964150492016206499464294730886629565716337256504478294853078264788474939541979960793896479332377132601053998260260656330413154303701400325353829037965373257341215271640590107509490884167119455296585729781549987615863386285986348288924871168163204402612433002377445173598186092788370315639033086154783961990858738877821787938651934192432092901735514914952322628888701265050170037082035835619217601910670351249775274210070037857493078306656831596537553074453549929111962702566812458996142273832924629501200516690300830296562695850919871666506227336235639421628249525014183774427037247 610958163527419454479532057336638109385445755891739270400907137801728029097355456052580766313618716580461608925094057863050165425950068350828415034611127234424874715303997997730139738025360559690651635920984336071326524620093417960035796841337665489134711400123199041184424354790045399704145659973378701383115346159775411749142690977341575536235264223504165205999380322853652555215277847298665200116941751130655968559094790351144408411836901265326832167535940370848815574342416957734609359169235005636185693960810796915315085371538919349523953945994060085190282106792125545496806700160351939980379757417095747640350070555897899546930564601548006614948832545500421277726864871337948341124540349649421659885389433048387204026397381397798568765285622061234867053853575446024799049518055109155051468719746433688392703954682073165814093915758527194781530513863249589684195711052943114985321703421280238161074452985128258303211225840876 988551074291581026578049071361335441189295627714934835691940051351242366479843810801230335204865839309513297589782738201112032254363076939564350285959739514189583831369820118960426266172497496048186061512727446994147553435826432856702586641397256595010646696587864077841335752920710056538109107784936214462043353954039114509313700274092197191760171187654657222205879787148383441844843563635921704595236604208920757034034332331105202308316233642459433221534200631505145987496720659134934712998272971009443035176082437505422594862423086468979250531723841635177897970178411531845095625031520103184782369850098125085523668741990687917246203634634161398910823404239299099514803523272140773217442085164336612208018321749652254196434463433634187982887532731586116829127785516062656542596361765986648006272820887238321815917384639978273090058032360119411031714379939890514492273748794034856988209648616473800496081234653272486985652878123 1599509237819000481057581128697973550574741383606674106092847189152970395577199266853811101518484555889974906514876796064162197680313145290392765320570866748614458546673818116690566004197858055738837697433711783065474078055919850816738383482734922084145358096711063119025760107710755456242254767758314915845158700113814526258456391251433772727995435411158822428205260110002035997060121410934586904712178355339576725593129122682249610720153134907786265389070141002353961561839137616869544072167507976645628729136893234420737680233962005818503204477717901720368180076970537077341902325191872043165162127267193872725873739297888587464176768236182168013859655949739720377241668394610089114341982434813758272093407754798039458222831844831432756748173154792820983882981360962087455592114416875141699474992567320926714519872066713144087183973790887314192562228243189480198687984801737149842309913069896711961570534219781530790196878718999 2588060312110581507635630200059308991764037011321608941784787240504212762057043077655041436723350395199488204104659534265274229934676222229957115606530606262804042378043638235650992270370355551787023758946439230059621631491746283673440970124132178679156004793298927196867095860631465512780363875543251130307202054067853640767770091525525969919755606598813479650411139897150419438904964974570508609307414959548497482627163455013354813028469368550245698610604341633859107549335858276004478785165780947655071764312975671926160275096385092287482455009441743355546078047148948609186997950223392146349944497117291997811397408039879275381422971870816329412770479353979019476756471917882229887559424519978094884301426076547691712419266308265066944731060687524407100712109146478150112134710778641128347481265388208165036335789451353122360274031823247433603593942623129370713180258550531184699298122718513185762066615454434803277182531597122 4187569549929581988693211328757282542338778394928283047877634429657183157634242344508852538241834951089463110619536330329436427614989367520349880927101473011418500924717456352341558274568213607525861456380151013125095709547666134490179353606867100763301362890009990315892855968342220969022618643301566046152360754181668167026226482776959742647751042009972302078616400007152455435965086385505095514019593314888074208220292577695604423748622503458031963999674482636213069111174995892874022857333288924300700493449868906346897955330347098105985659487159645075914258124119485686528900275415264189515106624384485870537271147337767862845599740106998497426630135303718739853998140312492319001901406954791853156394833831345731170642098153096499701479233842317228084595090507440237567726825195516270046956257955529091750855661518066266447458005614134747796156170866318850911868243352268334541608035788409897723637149674216334067379410316121 6775629862040163496328841528816591534102815406249891989662421670161395919691285422163893974965185346288951314724195864594710657549665589750306996533632079274222543302761094587992550544938569159312885215326590243184717341039412418163620323730999279442457367683308917512759951828973686481802982518844817176459562808249521807793996574302485712567506648608785781729027539904302874874870051360075604123327008274436571690847456032708959236777091872008277662610278824270072176660510854168878501642499069871955772257762844578273058230426732190393468114496601388431460336171268434295715898225638656335865051121501777868348668555377647138227022711977814826839400614657697759330754612230374548889460831474769948040696259907893422883061364461361566646210294529841635185307199653918387679861535974157398394437523343737256787191450969419388807732037437382181399750113489448221625048501902799519240906158506923083485703765128651137344561941913243 10963199411969745485022052857573874076441593801178175037540056099818579077325527766672746513207020297378414425343732194924147085164654957270656877460733552285641044227478550940334108819506782766838746671706741256309813050587078552653799677337866380205758730573318907828652807797315907450825601162146383222611923562431189974820223057079445455215257690618758083807643939911455330310835137745580699637346601589324645899067748610404563660525714375466309626609953306906285245771685850061752524499832358796256472751212713484619956185757079288499453773983761033507374594295387919982244798501053920525380157745886263738885939702715415001072622452084813324266030749961416499184752752542866867891362238429561801197091093739239154053703462614458066347689528372158863269902290161358625247588361169673668441393781299266348538047112487485655255190043051516929195906284355767072536916745255067853782514194295332981209340914802867471411941352229364 17738829274009908981350894386390465610544409207428067027202477769979974997016813188836640488172205643667365740067928059518857742714320547020963873994365631559863587530239645528326659364445351926151631887033331499494530391626490970817420001068865659648216098256627825341412759626289593932628583680991200399071486370680711782614219631381931167782764339227543865536671479815758205185705189105656303760673609863761217589915204643113522897302806247474587289220232131176357422432196704230631026142331428668212245008975558062893014416183811478892921888480362421938834930466656354277960696726692576861245208867388041607234608258093062139299645164062628151105431364619114258515507364773241416780823069904331749237787353647132576936764827075819632993899822902000498455209489815277012927449897143831066835831304643003605325238563456905044062922080488899110595656397845215294161965247157867373023420352802256064695044679931518608756503294142607 28702028685979654466372947243964339686986003008606242064742533869798554074342340955509387001379225941045780165411660254443004827878975504291620751455099183845504631757718196468660768183952134692990378558740072755804343442213569523471219678406732039853974828829946733170065567423605501383454184843137583621683409933111901757434442688461376622998022029846301949344315419727213535496540326851237003398020211453085863488982953253518086557828520622940896915830185438082642668203882554292383550642163787464468717760188271547512970601940890767392375662464123455446209524762044274260205495227746497386625366613274305346120547960808477140372267616147441475371462114580530757700260117316108284672185308333893550434878447386371730990468289690277699341589351274159361725111779976635638175038258313504735277225085942269953863285675944390699318112123540416039791562682200982366698881992412935226805934547097589045904385594734386080168444646371971 46440857959989563447723841630354805297530412216034309091945011639778529071359154144346027489551431584713145905479588313961862570593296051312584625449464815405368219287957841996987427548397486619142010445773404255298873833840060494288639679475597699502190927086574558511478327049895095316082768524128784020754896303792613540048662319843307790780786369073845814880986899542971740682245515956893307158693821316847081078898157896631609455131326870415484205050417569259000090636079258523014576784495216132680962769163829610405985018124702246285297550944485877385044455228700628538166191954439074247870575480662346953355156218901539279671912780210069626476893479199645016215767482089349701453008378238225299672665801033504307927233116766097332335489174176159860180321269791912651102488155457335802113056390585273559188524239401295743381034204029315150387219080046197660860847239570802599829354899899845110599430274665904688924947940514578 75142886645969217914096788874319144984516415224640551156687545509577083145701495099855414490930657525758926070891248568404867398472271555604205376904563999250872851045676038465648195732349621312132389004513477011103217276053630017759859357882329739356165755916521291681543894473500596699536953367266367642438306236904515297483105008304684413778808398920147764225302319270185276178785842808130310556714032769932944567881111150149696012959847493356381120880603007341642758839961812815398127426659003597149680529352101157918955620065593013677673213408609332831253979990744902798371687182185571634495942093936652299475704179710016420044180396357511101848355593780175773916027599405457986125193686572118850107544248419876038917701406456375031677078525450319221905433049768548289277526413770840537390281476527543513051809915345686442699146327569731190178781762247180027559729231983737826635289446997434156503815869400290769093392586886549 121583744605958781361820630504673950282046827440674860248632557149355612217060649244201441980482089110472071976370836882366729969065567606916790002354028814656241070333633880462635623280747107931274399450286881266402091109893690512048499037357927438858356683003095850193022221523395692015619721891395151663193202540697128837531767328147992204559594767993993579106289218813157016861031358765023617715407854086780025646779269046781305468091174363771865325931020576600642849476041071338412704211154219729830643298515930768324940638190295259962970764353095210216298435219445531336537879136624645882366517574598999252830860398611555699716093176567580728325249072979820790131795081494807687578202064810344149780210049453380346844934523222472364012567699626479082085754319560460940380014569228176339503337867112817072240334154746982186080180531599046340566000842293377688420576471554540426464644346897279267103246144066195458018340527401127 196726631251927999275917419378993095266563242665315411405320102658932695362762144344056856471412746636230998047262085450771597367537839162520995379258592813907113921379309918928283819013096729243406788454800358277505308385947320529808358395240257178214522438919617141874566115996896288715156675258661519305631508777601644135014872336452676618338403166914141343331591538083342293039817201573153928272121886856712970214660380196931001481051021857128246446811623583942285608316002884153810831637813223326980323827868031926243896258255888273640643977761704543047552415210190434134909566318810217516862459668535651552306564578321572119760273572925091830173604666759996564047822680900265673703395751382462999887754297873256385762635929678847395689646225076798303991187369329009229657540982999016876893619343640360585292144070092668628779326859168777530744782604540557715980305703538278253099933793894713423607062013466486227111733114287676 318310375857886780637738049883667045548610070105990271653952659808288307579822793588258298451894835746703070023632922333138327336603406769437785381612621628563354991712943799390919442293843837174681187905087239543907399495841011041856857432598184617072879121922712992067588337520291980730776397150056670968824711318298772972546639664600668822897997934908134922437880756896499309900848560338177545987529740943492995861439649243712306949142196220900111772742644160542928457792043955492223535848967443056810967126383962694568836896446183533603614742114799753263850850429635965471447445455434863399228977243134650805137424976933127819476366749492672558498853739739817354179617762395073361281597816192807149667964347326636732607570452901319759702213924703277386076941688889470170037555552227193216396957210753177657532478224839650814859507390767823871310783446833935404400882175092818679564578140791992690710308157532681685130073641688803 515037007109814779913655469262660140815173312771305683059272762467221002942584937932315154923307582382934068070895007783909924704141245931958780760871214442470468913092253718319203261306940566418087976359887597821412707881788331571665215827838441795287401560842330133942154453517188269445933072408718190274456220095900417107561512001053345441236401101822276265769472294979841602940665761911331474259651627800205966076100029440643308430193218078028358219554267744485214066108046839646034367486780666383791290954251994620812733154702071807244258719876504296311403265639826399606357011774245080916091436911670302357443989555254699939236640322417764388672458406499813918227440443295339034984993567575270149555718645199893118370206382580167155391860149780075690068129058218479399695096535226210093290576554393538242824622294932319443638834249936601402055566051374493120381187878631096932664511934686706114317370170999167912241806755976479 833347382967701560551393519146327186363783382877295954713225422275509310522407731520573453375202418129637138094527930117048252040744652701396566142483836071033823904805197517710122703600784403592769164264974837365320107377629342613522073260436626412360280682765043126009742791037480250176709469558774861243280931414199190080108151665654014264134399036730411188207353051876340912841514322249509020247181368743698961937539678684355615379335414298928469992296911905028142523900090795138257903335748109440602258080635957315381570051148255340847873461991304049575254116069462365077804457229679944315320414154804953162581414532187827758713007071910436947171312146239631272407058205690412396266591383768077299223682992526529850977776835481486915094074074483353076145070747107949569732652087453403309687533765146715900357100519771970258498341640704425273366349498208428524782070053723915612229090075478698805027678328531849597371880397665282 1348384390077516340465048988408987327178956695648601637772498184742730313464992669452888608298510000512571206165422937900958176744885898633355346903355050513504292817897451236029325964907724970010857140624862435186732815259417674185187289088275068207647682243607373259951897244554668519622642541967493051517737151510099607187669663666707359705370800138552687453976825346856182515782180084160840494506832996543904928013639708124998923809528632376956828211851179649513356590008137634784292270822528775824393549034887951936194303205850327148092132181867808345886657381709288764684161469003925025231411851066475255520025404087442527697949647394328201335843770552739445190634498648985751431251584951343347448779401637726422969347983218061654070485934224263428766213199805326428969427748622679613402978110319540254143181722814704289702137175890641026675421915549582921645163257932355012544893602010165404919345048499531017509613687153641761 2181731773045217901016442507555314513542740078525897592485723607018239623987400400973462061673712418642208344259950868018006428785630551334751913045838886584538116722702648753739448668508509373603626304889837272552052922637047016798709362348711694620007962926372416385961640035592148769799352011526267912761018082924298797267777815332361373969505199175283098642184178398732523428623694406410349514754014365287603889951179386809354539188864046675885298204148091554541499113908228429922550174158276885264995807115523909251575873256998582488940005643859112395461911497778751129761965926233604969546732265221280208682606818619630355456662654466238638283015082698979076463041556854676163827518176335111424748003084630252952820325760053543140985580008298746781842358270552434378539160400710133016712665644084686970043538823334476259960635517531345451948788265047791350169945327986078928157122692085644103724372726828062867106985567551307043 3530116163122734241481491495964301840721696774174499230258221791760969937452393070426350669972222419154779550425373805918964605530516449968107259949193937098042409540600099989768774633416234343614483445514699707738785737896464690983896651436986762827655645169979789645913537280146817289421994553493760964278755234434398404455447478999068733674875999313835786096161003745588705944405874490571190009260847361831508817964819094934353462998392679052842126415999271204054855703916366064706842444980805661089389356150411861187770176462848909637032137825726920741348568879488039894446127395237529994778144116287755464202632222707072883154612301860566839618858853251718521653676055503661915258769761286454772196782486267979375789673743271604795056065942523010210608571470357760807508588149332812630115643754404227224186720546149180549662772693421986478624210180597374271815108585918433940702016294095809508643717775327593884616599254704948804 5711847936167952142497934003519616354264436852700396822743945398779209561439793471399812731645934837796987894685324673936971034316147001302859172995032823682580526263302748743508223301924743717218109750404536980290838660533511707782606013785698457447663608096352206031875177315738966059221346565020028877039773317358697201723225294331430107644381198489118884738345182144321229373029568896981539524014861727119112707915998481743708002187256725728727424620147362758596354817824594494629392619139082546354385163265935770439346049719847492125972143469586033136810480377266791024208093321471134964324876381509035672885239041326703238611274956326805477901873935950697598116717612358338079086287937621566196944785570898232328609999503325147936041645950821756992450929740910195186047748550042945646828309398488914194230259369483656809623408210953331930572998445645165621985053913904512868859138986181453612368090502155656751723584822256255847 9241964099290686383979425499483918194986133626874896053002167190540179498892186541826163401618157256951767445110698479855935639846663451270966432944226760780622935803902848733276997935340978060832593195919236688029624398429976398766502665222685220275319253266331995677788714595885783348643341118513789841318528551793095606178672773330498841319257197802954670834506185889909935317435443387552729533275709088950621525880817576678061465185649404781569551036146633962651210521740960559336235064119888207443774519416347631627116226182696401763004281295312953878159049256754830918654220716708664959103020497796791137087871264033776121765887258187372317520732789202416119770393667861999994345057698908020969141568057166211704399673246596752731097711893344767203059501211267955993556336699375758276943953152893141418416979915632837359286180904375318409197208626242539893800162499822946809561155280277263121011808277483250636340184076961204651 14953812035458638526477359503003534549250570479575292875746112589319389060331980013225976133264092094748755339796023153792906674162810452573825605939259584463203462067205597476785221237265721778050702946323773668320463058963488106549108679008383677722982861362684201709663891911624749407864687683533818718358301869151792807901898067661928948963638396292073555572851368034231164690465012284534269057290570816069734233796816058421769467372906130510296975656293996721247565339565555053965627683258970753798159682682283402066462275902543893888976424764898987014969529634021621942862314038179799923427896879305826809973110305360479360377162214514177795422606725153113717887111280220338073431345636529587166086353628064444033009672749921900667139357844166524195510430952178151179604085249418703923772262551382055612647239285116494168909589115328650339770207071887705515785216413727459678420294266458716733379898779638907388063768899217460498 24195776134749324910456785002487452744236704106450188928748279779859568559224166555052139534882249351700522784906721633648842314009473903844792038883486345243826397871108446210062219172606699838883296142243010356350087457393464505315611344231068897998302114629016197387452606507510532756508028802047608559676830420944888414080570840992427790282895594095028226407357553924141100007900455672086998590566279905020355759677633635099830932558555535291866526692440630683898775861306515613301862747378858961241934202098631033693578502085240295651980706060211940893128578890776452861516534754888464882530917377102617947060981569394255482143049472701550112943339514355529837657504948082338067776403335437608135227921685230655737409345996518653398237069737511291398569932163446107173160421948794462200716215704275197031064219200749331528195770019703968748967415698130245409585378913550406487981449546735979854391707057122158024403952976178665149 39149588170207963436934144505490987293487274586025481804494392369178957619556146568278115668146341446449278124702744787441748988172284356418617644822745929707029859938314043686847440409872421616933999088566784024670550516356952611864720023239452575721284975991700399097116498419135282164372716485581427278035132290096681221982468908654356739246533990387101781980208921958372264698365467956621267647856850721090089993474449693521600399931461665802163502348734627405146341200872070667267490430637829715040093884780914435760040777987784189540957130825110927908098108524798074804378848793068264805958814256408444757034091874754734842520211687215727908365946239508643555544616228302676141207748971967195301314275313295099770419018746440554065376427581677815594080363115624258352764507198213166124488478255657252643711458485865825697105359135032619088737622770017950925370595327277866166401743813194696587771605836761065412467721875396125647 63345364304957288347390929507978440037723978692475670733242672149038526178780313123330255203028590798149800909609466421090591302181758260263409683706232274950856257809422489896909659582479121455817295230809794381020637973750417117180331367470521473719587090620716596484569104926645814920880745287629035837711962711041569636063039749646784529529429584482130008387566475882513364706265923628708266238423130626110445753152083328621431332490017201094030029041175258089045117062178586280569353178016688676282028086879545469453619280073024485192937836885322868801226687415574527665895383547956729688489731633511062704095073444148990324663261159917278021309285753864173393202121176385014208984152307404803436542196998525755507828364742959207463613497319189106992650295279070365525924929147007628325204693959932449674775677686615157225301129154736587837705038468148196334955974240828272654383193359930676442163312893883223436871674851574790796 102494952475165251784325074013469427331211253278501152537737064518217483798336459691608370871174932244599079034312211208532340290354042616682027328528978204657886117747736533583757099992351543072751294319376578405691188490107369729045051390709974049440872066612416995581685603345781097085253461773210463115747095001138250858045508658301141268775963574869231790367775397840885629404631391585329533886279981347200535746626533022143031732421478866896193531389909885494191458263050656947836843608654518391322121971660459905213660058060808674733894967710433796709324795940372602470274232341024994494448545889919507461129165318903725167183472847133005929675231993372816948746737404687690350191901279371998737856472311820855278247383489399761528989924900866922586730658394694623878689436345220794449693172215589702318487136172480982922406488289769206926442661238166147260326569568106138820784937173125373029934918730644288849339396726970916443 165840316780122540131716003521447867368935231970976823270979736667256009977116772814938626074203523042748879943921677629622931592535800876945437012235210479608742375557159023480666759574830664528568589550186372786711826463857786846225382758180495523160459157233133592066254708272426912006134207060839498953459057712179820494108548407947925798305393159351361798755341873723398994110897315214037800124703111973310981499778616350764463064911496067990223560431085143583236575325229243228406196786671207067604150058540005374667279338133833159926832804595756665510551483355947130136169615888981724182938277523430570165224238763052715491846734007050283950984517747236990341948858581072704559176053586776802174398669310346610786075748232358968992603422220056029579380953673764989404614365492228422774897866175522151993262813859096140147707617444505794764147699706314343595282543808934411475168130533056049472098231624527512286211071578545707239 268335269255287791916041077534917294700146485249477975808716801185473493775453232506546996945378455287347958978233888838155271882889843493627464340764188684266628493304895557064423859567182207601319883869562951192403014953965156575270434148890469572601331223845550587647940311618208009091387668834049962069206152713318071352154057066249067067081356734220593589123117271564284623515528706799367334010983093320511517246405149372907494797332974934886417091820995029077428033588279900176243040395325725458926272030200465279880939396194641834660727772306190462219876279296319732606443848230006718677386823413350077626353404081956440659030206854183289880659749740609807290695595985760394909367954866148800912255141622167466064323131721758730521593347120922952166111612068459613283303801837449217224591038391111854311749950031577123070114105734275001690590360944480490855609113377040550295953067706181422502033150355171801135550468305516623682 434175586035410332047757081056365162069081717220454799079696537852729503752570005321485623019581978330096838922155566467778203475425644370572901352999399163875370868862054580545090619142012872129888473419749323979114841417822943421495816907070965095761790381078684179714195019890634921097521875894889461022665210425497891846262605474196992865386749893571955387878459145287683617626426022013405134135686205293822498746183765723671957862244471002876640652252080172660664608913509143404649237181996932526530422088740470654548218734328474994587560576901947127730427762652266862742613464118988442860325100936780647791577642845009156150876940861233573831644267487846797632644454566833099468544008452925603086653810932514076850398879954117699514196769340978981745492565742224602687918167329677639999488904566634006305012763890673263217821723178780796454738060650794834450891657185974961771121198239237471974131381979699313421761539884062330921 702510855290698123963798158591282456769228202469932774888413339038202997528023237828032619964960433617444797900389455305933475358315487864200365693763587848141999362166950137609514478709195079731208357289312275171517856371788099996766251055961434668363121604924234767362135331508842930188909544728939423091871363138815963198416662540446059932468106627792548977001576416851968241141954728812772468146669298614334015992588915096579452659577445937763057744073075201738092642501789043580892277577322657985456694118940935934429158130523116829248288349208137589950304041948586595349057312348995161537711924350130725417931046926965596809907147715416863712304017228456604923340050552593494377911963319074403998908952554681542914722011675876430035790116461901933911604177810684215971221969167126857224079942957745860616762713922250386287935828913055798145328421595275325306500770563015512067074265945418894476164532334871114557312008189578954603 1136686441326108456011555239647647618838309919690387573968109876890932501280593243149518242984542411947541636822545021773711678833741132234773267046762987012017370231029004718154605097851207951861096830709061599150632697789611043418262067963032399764124911986002918947076330351399477851286431420623828884114536573564313855044679268014643052797854856521364504364880035562139651858768380750826177602282355503908156514738772680820251410521821916940639698396325155374398757251415298186985541514759319590511987116207681406588977376864851591823835848926110084717680731804600853458091670776467983604398037025286911373209508689771974752960784088576650437543948284716303402555984505119426593846455971772000007085562763487195619765120891629994129549986885802880915657096743552908818659140136496804497223568847524379866921775477812923649505757552091836594600066482246070159757392427748990473838195464184656366450295914314570427979073548073641285524 1839197296616806579975353398238930075607538122160320348856523215929135498808616480977550862949502845564986434722934477079645154192056620098973632740526574860159369593195954855764119576560403031592305187998373874322150554161399143415028319018993834432488033590927153714438465682908320781475340965352768307206407936703129818243095930555089112730322963149157053341881611978991620099910335479638950070429024802522490530731361595916830863181399362878402756140398230576136849893917087230566433792336642248497443810326622342523406534995374708653084137275318222307631035846549440053440728088816978765935748949637042098627439736698940349770691236292067301256252301944760007479324555672020088224367935091074411084471716041877162679842903305870559585777002264782849568700921363593034630362105663931354447648790482125727538538191735174035793693381004892392745394903841345485063893198312005985905269730130075260926460446649441542536385556263220240127 2975883737942915035986908637886577694445848041850707922824633092820068000089209724127069105934045257512528071545479498853356833025797752333746899787289561872176739824224959573918724674411610983453402018707435473472783251951010186833290386982026234196612945576930072661514796034307798632761772385976597191320944510267443673287775198569732165528177819670521557706761647541131271958678716230465127672711380306430647045470134276737082273703221279819042454536723385950535607145332385417551975307095961839009430926534303749112383911860226300476919986201428307025311767651150293511532398865284962370333785974923953471836948426470915102731475324868717738800200586661063410035309060791446682070823906863074418170034479529072782444963794935864689135763888067663765225797664916501853289502242160735851671217638006505594460313669548097685299450933096728987345461386087415644821285626060996459743465194314731627376756360964011970515459104336861525651 4815081034559721615962262036125507770053386164011028271681156308749203498897826205104619968883548103077514506268413975933001987217854372432720532527816136732336109417420914429682844250972014015045707206705809347794933806112409330248318706001020068629100979167857226375953261717216119414237113351329365498527352446970573491530871129124821278258500782819678611048643259520122892058589051710104077743140405108953137576201495872653913136884620642697445210677121616526672457039249472648118409099432604087506874736860926091635790446855601009130004123476746529332942803497699733564973126954101941136269534924560995570464388163169855452502166561160785040056452888605823417514633616463466770295191841954148829254506195570949945124806698241735248721540890332446614794498586280094887919864347824667206118866428488631321998851861283271721093144314101621380090856289928761129885178824373002445648734924444806888303216807613453513051844660600081765778 7790964772502636651949170674012085464499234205861736194505789401569271498987035929231689074817593360590042577813893474786358820243652124766467432315105698604512849241645874003601568925383624998499109225413244821267717058063419517081609092983046302825713924744787299037468057751523918046998885737305962689848296957238017164818646327694553443786678602490200168755404907061254164017267767940569205415851785415383784621671630149390995410587841922516487665213845002477208064184581858065670384406528565926516305663395229840748174358715827309606924109678174836358254571148850027076505525819386903506603320899484949042301336589640770555233641886029502778856653475266886827549942677254913452366015748817223247424540675100022727569770493177599937857304778400110380020296251196596741209366589985403057790084066495136916459165530831369406392595247198350367436317676016176774706464450433998905392200118759538515679973168577465483567303764936943291429 12606045807062358267911432710137593234552620369872764466186945710318474997884862134336309043701141463667557084082307450719360807461506497199187964842921835336848958659066788433284413176355639013544816432119054169062650864175828847329927798984066371454814903912644525413421319468740037461235999088635328188375649404208590656349517456819374722045179385309878779804048166581377056075856819650673283158992190524336922197873126022044908547472462565213932875890966619003880521223831330713788793505961170014023180400256155932383964805571428318736928233154921365691197374646549760641478652773488844642872855824045944612765724752810626007735808447190287818913106363872710245064576293718380222661207590771372076679046870670972672694577191419335186578845668732556994814794837476691629129230937810070263908950494983768238458017392114641127485739561299971747527173965944937904591643274807001351040935043204345403983189976190918996619148425537025057207 20397010579564994919860603384149678699051854575734500660692735111887746496871898063567998118518734824257599661896200925505719627705158621965655397158027533941361807900712662436885982101739264012043925657532298990330367922239248364411536891967112674280528828657431824450889377220263955508234884825941290878223946361446607821168163784513928165831857987800078948559453073642631220093124587591242488574843975939720706819544756171435903958060304487730420541104811621481088585408413188779459177912489735940539486063651385773132139164287255628343852342833096202049451945795399787717984178592875748149476176723530893655067061342451396562969450333219790597769759839139597072614518970973293675027223339588595324103587545770995400264347684596935124436150447132667374835091088673288370338597527795473321699034561478905154917182922946010533878334808498322114963491641961114679298107725241000256433135161963883919663163144768384480186452190473968348636 33003056386627353187772036094287271933604474945607265126879680822206221494756760197904307162219876287925156745978508376225080435166665119164843362000949369278210766559779450870170395278094903025588742089651353159393018786415077211741464690951179045735343732570076349864310696689003992969470883914576619066599595765655198477517681241333302887877037373109957728363501240224008276168981407241915771733836166464057629017417882193480812505532767052944353416995778240484969106632244519493247971418450905954562666463907541705516103969858683947080780575988017567740649320441949548359462831366364592792349032547576838267832786095262022570705258780410078416682866203012307317679095264691673897688430930359967400782634416441968072958924876016270311014996115865224369649885926149979999467828465605543585607985056462673393375200315060651661364074369798293862490665607906052583889751000048001607474070205168229323646353120959303476805600616010993405843 53400066966192348107632639478436950632656329521341765787572415934093967991628658261472305280738611112182756407874709301730800062871823741130498759158976903219572574460492113307056377379834167037632667747183652149723386708654325576153001582918291720015872561227508174315200073909267948477705768740517909944823542127101806298685845025847231053708895360910036676922954313866639496262105994833158260308680142403778335836962638364916716463593071540674773958100589861966057692040657708272707149330940641895102152527558927478648243134145939575424632918821113769790101266237349336077447009959240340941825209271107731922899847437713419133674709113629869014452626042151904390293614235664967572715654269948562724886221962212963473223272560613205435451146562997891744484977014823268369806425993401016907307019617941578548292383238006662195242409178296615977454157249867167263187858725289001863907205367132113243309516265727687956992052806484961754479 86403123352819701295404675572724222566260804466949030914452096756300189486385418459376612442958487400107913153853217677955880498038488860295342121159926272497783341020271564177226772657929070063221409836835005309116405495069402787894466273869470765751216293797584524179510770598271941447176652655094529011423137892757004776203526267180533941585932734019994405286455554090647772431087402075074032042516308867835964854380520558397528969125838593619127375096368102451026798672902227765955120749391547849664818991466469184164347104004623522505413494809131337530750586679298884436909841325604933734174241818684570190732633532975441704379967894039947431135492245164211707972709500356641470404085200308530125668856378654931546182197436629475746466142678863116114134862940973248369274254459006560492915004674404251941667583553067313856606483548094909839944822857773219847077609725337003471381275572300342566955869386686991433797653422495955160322 139803190319012049403037315051161173198917133988290796702024512690394157478014076720848917723697098512290669561727926979686680560910312601425840880318903175717355915480763677484283150037763237100854077584018657458839792203723728364047467856787762485767088855025092698494710844507539889924882421395612438956246680019858811074889371293027764995294828094930031082209409867957287268693193396908232292351196451271614300691343158923314245432718910134293901333196957964417084490713559936038662270080332189744766971519025396662812590238150563097930046413630245107320851852916648220514356851284845274675999451089792302113632480970688860838054677007669816445588118287316116098266323736021609043119739470257092850555078340867895019405469997242681181917289241861007858619839955796516739080680452407577400222024292345830489959966791073976051848892726391525817398980107640387110265468450626005335288480939432455810265385652414679390789706228980916914801 226206313671831750698441990623885395765177938455239827616476609446694346964399495180225530166655585912398582715581144657642561058948801461721183001478829448215139256501035241661509922695692307164075487420853662767956197698793131151941934130657233251518305148822677222674221615105811831372059074050706967967669817912615815851092897560208298936880760828950025487495865422047935041124280798983306324393712760139450265545723679481711774401844748727913028708293326066868111289386462163804617390829723737594431790510491865846976937342155186620435459908439376444851602439595947104951266692610450208410173692908476872304365114503664302542434644901709763876723610532480327806239033236378250513523824670565622976223934719522826565587667433872156928383431920724123972754702896769765108354934911414137893137028966750082431627550344141289908455376274486435657343802965413606957343078175963008806669756511732798377221255039101670824587359651476872075123 366009503990843800101479305675046568964095072443530624318501122137088504442413571901074447890352684424689252277309071637329241619859114063147023881797732623932495171981798919145793072733455544264929565004872320226795989902516859515989401987444995737285394003847769921168932459613351721296941495446319406923916497932474626925982268853236063932175588923880056569705275290005222309817474195891538616744909211411064566237066838405026019834563658862206930041490284031285195780100022099843279660910055927339198762029517262509789527580305749718365506322069621552172454292512595325465623543895295483086173143998269174417997595474353163380489321909379580322311728819796443904505356972399859556643564140822715826779013060390721584993137431114838110300721162585131831374542852566281847435615363821715293359053259095912921587517135215265960304269000877961474742783073053994067608546626589014141958237451165254187486640691516350215377065880457788989924 592215817662675550799921296298931964729273010898770451934977731583782851406813067081299978057008270337087834992890216294971802678807915524868206883276562072147634428482834160807302995429147851429005052425725982994752187601309990667931336118102228988803699152670447143843154074719163552669000569497026374891586315845090442777075166413444362869056349752830082057201140712053157350941754994874844941138621971550514831782790517886737794236408407590119958749783610098153307069486484263647897051739779664933630552540009128356766464922460936338800966230508997997024056732108542430416890236505745691496346836906746046722362709978017465922923966811089344199035339352276771710744390208778110070167388811388338803002947779913548150580804864986995038684153083309255804129245749336046955790550275235853186496082225845995353215067479356555868759645275364397132086586038467601024951624802552022948627993962898052564707895730618021039964425531934661065047 958225321653519350901400601973978533693368083342301076253478853720871355849226638982374425947360954761777087270199287932301044298667029588015230765074294696080129600464633079953096068162603395693934617430598303221548177503826850183920738105547224726089093156518217065012086534332515273965942064943345781815502813777565069703057435266680426801231938676710138626906416002058379660759229190766383557883531182961579398019857356291763814070972066452326888791273894129438502849586506363491176712649835592272829314569526390866555992502766686057166472552578619549196511024621137755882513780401041174582519980905015221140360305452370629303413288720468924521347068172073215615249747181177969626810952952211054629781960840304269735573942296101833148984874245894387635503788601902328803226165639057568479855135484941908274802584614571821829063914276242358606829369111521595092560171429141037090586231414063306752194536422134371255341491412392450054971 1550441139316194901701321898272910498422641094241071528188456585304654207256039706063674404004369225098864922263089504227272846977474945112883437648350856768227764028947467240760399063591751247122939669856324286216300365105136840851852074223649453714892792309188664208855240609051678826634942634440372156707089129622655512480132601680124789670288288429540220684107556714111537011700984185641228499022153154512094229802647874178501608307380474042446847541057504227591809919072990627139073764389615257206459867109535519223322457425227622395967438783087617546220567756729680186299404016906786866078866817811761267862723015430388095226337255531558268720382407524349987325994137389956079696978341763599393432784908620217817886154747161088828187669027329203643439633034351238375759016715914293421666351217710787903628017652093928377697823559551606755738915955149989196117511796231693060039214225376961359316902432152752392295305916944327111120018 2508666460969714252602722500246889032116009177583372604441935439025525563105266345046048829951730179860642009533288792159573891276141974700898668413425151464307893629412100320713495131754354642816874287286922589437848542608963691035772812329196678440981885465706881273867327143384194100600884699383717938522591943400220582183190036946805216471520227106250359311013972716169916672460213376407612056905684337473673627822505230470265422378352540494773736332331398357030312768659496990630250477039450849479289181679061910089878449927994308453133911335666237095417078781350817942181917797307828040661386798716776489003083320882758724529750544252027193241729475696423202941243884571134049323789294715810448062566869460522087621728689457190661336653901575098031075136822953140704562242881553350990146206353195729811902820236708500199526887473827849114345745324261510791210071967660834097129800456791024666069096968574886763550647408356719561174989 4059107600285909154304044398519799530538650271824444132630392024330179770361306051109723233956099404959506931796378296386846738253616919813782106061776008232535657658359567561473894195346105889939813957143246875654148907714100531887624886552846132155874677774895545482722567752435872927235827333824090095229681073022876094663322638626930006141808515535790579995121529430281453684161197562048840555927837491985767857625153104648767030685733014537220583873388902584622122687732487617769324241429066106685749048788597429313200907353221930849101350118753854641637646538080498128481321814214614906740253616528537756865806336313146819756087799783585461962111883220773190267238021961090129020767636479409841495351778080739905507883436618279489524322928904301674514769857304379080321259597467644411812557570906517715530837888802428577224711033379455870084661279411499987327583763892527157169014682167986025385999400727639155845953325301046672295007 6567774061255623406906766898766688562654659449407816737072327463355705333466572396155772063907829584820148941329667088546420629529758894514680774475201159696843551287771667882187389327100460532756688244430169465091997450323064222923397698882042810596856563240602426756589894895820067027836712033207808033752273016423096676846512675573735222613328742642040939306135502146451370356621410938456452612833521829459441485447658335119032453064085555031994320205720300941652435456391984608399574718468516956165038230467659339403079357281216239302235261454420091737054725319431316070663239611522442947401640415245314245868889657195905544285838344035612655203841358917196393208481906532224178344556931195220289557918647541261993129612126075470150860976830479399705589906680257519784883502479020995401958763924102247527433658125510928776751598507207304984430406603673010778537655731553361254298815138959010691455096369302525919396600733657766233469996 10626881661541532561210811297286488093193309721232260869702719487685885103827878447265495297863928989779655873126045384933267367783375814328462880536977167929379208946131235443661283522446566422696502201573416340746146358037164754811022585434888942752731241015497972239312462648255939955072539367031898128981954089445972771509835314200665228755137258177831519301257031576732824040782608500505293168761359321445209343072811439767799483749818569569214904079109203526274558144124472226168898959897583062850787279256256768716280264634438170151336611573173946378692371857511814199144561425737057854141894031773852002734695993509052364041926143819198117165953242137969583475719928493314307365324567674630131053270425622001898637495562693749640385299759383701380104676537561898865204762076488639813771321495008765242964496014313357353976309540586760854515067883084510765865239495445888411467829821126996716841095770030165075242554058958812905765003 17194655722797155968117578196053176655847969170640077606775046951041590437294450843421267361771758574599804814455712473479687997313134708843143655012178327626222760233902903325848672849547026955453190446003585805838143808360228977734420284316931753349587804256100398995902357544076006982909251400239706162734227105869069448356347989774400451368466000819872458607392533723184194397404019438961745781594881150904650828520469774886831936813904124601209224284829504467926993600516456834568473678366100019015825509723916108119359621915654409453571873027594038115747097176943130269807801037259500801543534447019166248603585650704957908327764487854810772369794601055165976684201835025538485709881498869850420611189073163263891767107688769219791246276589863101085694583217819418650088264555509635215730085419111012770398154139824286130727908047794065838945474486757521544402895226999249665766644960086007408296192139332690994639154792616579139234999 27821537384338688529328389493339664749041278891872338476477766438727475541122329290686762659635687564379460687581757858412955365096510523171606535549155495555601969180034138769509956371993593378149692647577002146584290166397393732545442869751820696102319045271598371235214820192331946937981790767271604291716181195315042219866183303975065680123603258997703977908649565299917018438186627939467038950356240472349860171593281214654631420563722694170424128363938707994201551744640929060737372638263683081866612788980172876835639886550092579604908484600767984494439469034454944468952362462996558655685428478793018251338281644214010272369690631674008889535747843193135560159921763518852793075206066544480551664459498785265790404603251462969431631576349246802465799259755381317515293026631998275029501406914119778013362650154137643484704217588380826693460542369842032310268134722445138077234474781213004125137287909362856069881708851575392045000002 45016193107135844497445967689392841404889248062512416083252813389769065978416780134108030021407446138979265502037470331892643362409645232014750190561333823181824729413937042095358629221540620333602883093580587952422433974757622710279863154068752449451906849527698770231117177736407953920891042167511310454450408301184111668222531293749466131492069259817576436516042099023101212835590647378428784731951121623254511000113750989541463357377626818771633352648768212462128545345157385895305846316629783100882438298704088984954999508465746989058480357628362022610186566211398074738760163500256059457228962925812184499941867294918968180697455119528819661905542444248301536844123598544391278785087565414330972275648571948529682171710940232189222877852939109903551493842973200736165381291187507910245231492333230790783760804293961929615432125636174892532406016856599553854671029949444387743001119741299011533433480048695547064520863644191971184235001 72837730491474533026774357182732506153930526954384754559730579828496541519539109424794792681043133703358726189619228190305598727506155755186356726110489318737426698593971180864868585593534213711752575741157590099006724141155016442825306023820573145554225894799297141466331997928739900858872832934782914746166589496499153888088714597724531811615672518815280414424691664323018231273777275317895823682307362095604371171707032204196094777941349512942057481012706920456330097089798314956043218954893466182749051087684261861790639395015839568663388842229130007104626035245853019207712525963252618112914391404605202751280148939132978453067145751202828551441290287441437097004045362063244071860293631958811523940108070733795472576314191695158654509429288356706017293102728582053680674317819506185274732899247350568797123454448099573100136343224555719225866559226441586164939164671889525820235594522512015658570767958058403134402572495767363229235003 117853923598610377524220324872125347558819775016897170642983393218265607497955889558902822702450579842337991691656698522198242089915800987201106916671823141919251428007908222960227214815074834045355458834738178051429158115912639153105169177889325595006132744326995911697449175665147854779763875102294225200616997797683265556311245891473997943107741778632856850940733763346119444109367922696324608414258483718858882171820783193737558135318976331713690833661475132918458642434955700851349065271523249283631489386388350846745638903481586557721869199857492029714812601457251093946472689463508677570143354330417387251222016234051946633764600870731648213346832731689738633848168960607635350645381197373142496215756642682325154748025131927347877387282227466609568786945701782789846055609007014095519964391580581359580884258742061502715568468860730611758272576083041140019610194621333913563236714263811027192004248006753950198923436139959334413470004 190691654090084910550994682054857853712750301971281925202713973046762149017494998983697615383493713545696717881275926712503840817421956742387463642782312460656678126601879403825095800408609047757108034575895768150435882257067655595930475201709898740560358639126293053163781173593887755638636708037077139946783587294182419444399960489198529754723414297448137265365425427669137675383145198014220432096565845814463253343527815397933652913260325844655748314674182053374788739524754015807392284226416715466380540474072612708536278298497426126385258042086622036819438636703104113154185215426761295683057745735022590002502165173184925086831746621934476764788123019131175730852214322670879422505674829331954020155864713416120627324339323622506531896711515823315586080048430364843526729926826520280794697290827931928378007713190161075815704812085286330984139135309482726184549359293223439383472308786323042850575015964812353333326008635726697642705007 308545577688695288075215006926983201271570076988179095845697366265027756515450888542600438085944293388034709572932625234702082907337757729588570559454135602575929554609787626785323015223683881802463493410633946201865040372980294749035644379599224335566491383453288964861230349259035610418400583139371365147400585091865685000711206380672527697831156076080994116306159191015257119492513120710545040510824329533322135515348598591671211048579302176369439148335657186293247381959709716658741349497939964750012029860460963555281917201979012684107127241944114066534251238160355207100657904890269973253201100065439977253724181407236871720596347492666124978134955750820914364700383283278514773151056026705096516371621356098445782072364455549854409283993743289925154866994132147633372785535833534376314661682408513287958891971932222578531273280946016942742411711392523866204159553914557352946709023050134070042579263971566303532249444775686032056175011 499237231778780198626209688981841054984320378959461021048411339311789905532945887526298053469438006933731427454208551947205923724759714471976034202236448063232607681211667030610418815632292929559571527986529714352300922630047950344966119581309123076126850022579582018025011522852923366057037291176448505094184172386048104445111166869871057452554570373529131381671584618684394794875658318724765472607390175347785388858876413989604863961839628021025187463009839239668036121484463732466133633724356680216392570334533576263818195500476438810492385284030736103353689874863459320254843120317031268936258845800462567256226346580421796807428094114600601742923078769952090095552597605949394195656730856037050536527486069514566409396703779172360941180705259113240740947042562512476899515462660054657109358973236445216336899685122383654346978093031303273726550846702006592388708913207780792330181331836457112893154279936378656865575453411412729698880018 807782809467475486701424695908824256255890455947640116894108705576817662048396776068898491555382300321766137027141177181908006632097472201564604761690583665808537235821454657395741830855976811362035021397163660554165963003028245094001763960908347411693341406032870982886241872111958976475437874315819870241584757477913789445822373250543585150385726449610125497977743809699651914368171439435310513118214504881107524374225012581276075010418930197394626611345496425961283503444173449124874983222296644966404600194994539819100112702455451494599512525974850169887941113023814527355501025207301242189459945865902544509950527987658668528024441607266726721058034520773004460252980889227908968807786882742147052899107425613012191469068234722215350464699002403165895814036694660110272300998493589033424020655644958504295791657054606232878251373977320216468962558094530458592868467122338145276890354886591182935733543907944960397824898187098761755055029 1307020041246255685327634384890665311240210834907101137942520044888607567581342663595196545024820307255497564481349729129113930356857186673540638963927031729041144917033121688006160646488269740921606549383693374906466885633076195438967883542217470487820191428612453000911253394964882342532475165492268375335768929863961893890933540120414642602940296823139256879649328428384046709243829758160075985725604680228892913233101426570880938972258558218419814074355335665629319624928637181591008616946653325182797170529528116082918308202931890305091897810005586273241630987887273847610344145524332511125718791666365111766176874568080465335452535721867328463981113290725094555805578495177303164464517738779197589426593495127578600865772013894576291645404261516406636761079257172587171816461153643690533379628881403720632691342176989887225229467008623490195513404796537050981577380330118937607071686723048295828887823844323617263400351598511491453935047 2114802850713731172029059080799489567496101290854741254836628750465425229629739439664095036580202607577263701508490906311021936988954658875105243725617615394849682152854576345401902477344246552283641570780857035460632848636104440532969647503125817899513532834645323983797495267076841319007913039808088245577353687341875683336755913370958227753326023272749382377627072238083698623612001197595386498843819185110000437607326439152157013982677488415814440685700832091590603128372810630715883600168949970149201770724522655902018420905387341799691410335980436443129572100911088374965845170731633753315178737532267656276127402555739133863476977329134055185039147811498099016058559384405212133272304621521344642325700920740590792334840248616791642110103263919572532575115951832697444117459647232723957400284526362224928482999231596120103480840985943706664475962891067509574445847452457082883962041609639478764621367752268577661225249785610253208990076 3421822891959986857356693465690154878736312125761842392779148795354032797211082103259291581605022914832761265989840635440135867345811845548645882689544647123890827069887698033408063123832516293205248120164550410367099734269180635971937531045343288387333724263257776984708748662041723661540388205300356620913122617205837577227689453491372870356266320095888639257276400666467745332855830955755462484569423865338893350840427865723037952954936046634234254760056167757219922753301447812306892217115603295331998941254050771984936729108319232104783308145986022716371203088798362222576189316255966264440897529198632768042304277123819599198929513051001383649020261102223193571864137879582515297736822360300542231752294415868169393200612262511367933755507525435979169336195209005284615933920800876414490779913407765945561174341408586007328710307994567196859989367687604560556023227782576020491033728332687774593509191596592194924625601384121744662925123 5536625742673718029385752546489644446232413416616583647615777545819458026840821542923386618185225522410024967498331541751157804334766504423751126415162262518740509222742274378809965601176762845488889690945407445827732582905285076504907178548469106286847257097903100968506243929118564980548301245108444866490476304547713260564445366862331098109592343368638021634903472904551443956467832153350848983413243050448893788447754304875194966937613535050048695445756999848810525881674258443022775817284553265481200711978573427886955150013706573904474718481966459159500775189709450597542034486987600017756076266730900424318431679679558733062406490380135438834059408913721292587922697263987727431009126981821886874077995336608760185535452511128159575865610789355551701911311160837982060051380448109138448180197934128170489657340640182127432191148980510903524465330578672070130469075235033103374995769942327253358130559348860772585850851169731997871915199 8958448634633704886742446012179799324968725542378426040394926341173490824051903646182678199790248437242786233488172177191293671680578349972397009104706909642631336292629972412218028725009279138694137811109957856194832317174465712476844709593812394674180981361160877953214992591160288642088689450408801487403598921753550837792134820353703968465858663464526660892179873571019189289323663109106311467982666915787787139288182170598232919892549581684282950205813167606030448634975706255329668034400156560813199653232624199871891879122025806009258026627952481875871978278507812820118223803243566282196973795929533192360735956803378332261336003431136822483079670015944486159786835143570242728745949342122429105830289752476929578736064773639527509621118314791530871247506369843266675985301248985552938960111341894116050831682048768134760901456975078100384454698266276630686492303017609123866029498275015027951639750945452967510476452553853742534840322 14495074377307422916128198558669443771201138958995009688010703886992948850892725189106064817975473959652811200986503718942451476015344854396148135519869172161371845515372246791027994326186041984183027502055365302022564900079750788981751888142281500961028238459063978921721236520278853622636990695517246353894075226301264098356580187216035066575451006833164682527083346475570633245791495262457160451395909966236680927735936475473427886830163116734331645651570167454840974516649964698352443851684709826294400365211197627758847029135732379913732745109918941035372753468217263417660258290231166299953050062660433616679167636482937065323742493811272261317139078929665778747709532407557970159755076323944315979908285089085689764271517284767687085486729104147082573158817530681248736036681697094691387140309276022286540489022688950262193092605955589003908920028844948700816961378252642227241025268217342281309770310294313740096327303723585740406755521 23453523011941127802870644570849243096169864501373435728405630228166439674944628835288743017765722396895597434474675896133745147695923204368545144624576081804003181808002219203246023051195321122877165313165323158217397217254216501458596597736093895635209219820224856874936229111439142264725680145926047841297674148054814936148715007569739035041309670297691343419263220046589822535115158371563471919378576882024468067024118646071660806722712698418614595857383335060871423151625670953682111886084866387107600018443821827630738908257758185922990771737871422911244731746725076237778482093474732582150023858589966809039903593286315397585078497242409083800218748945610264907496367551128212888501025666066745085738574841562619343007582058407214595107847418938613444406323900524515412021982946080244326100420617916402591320704737718396953994062930667104293374727111225331503453681270251351107054766492357309261410061239766707606803756277439482941595843 37948597389248550718998843129518686867371003460368445416416334115159388525837354024394807835741196356548408635461179615076196623711268058764693280144445253965375027323374465994274017377381363107060192815220688460239962117333967290440348485878375396596237458279288835796657465631717995887362670841443294195191749374356079034505295194785774101616760677130856025946346566522160455780906653634020632370774486848261148994760055121545088693552875815152946241508953502515712397668275635652034555737769576213402000383655019455389585937393490565836723516847790363946617485214942339655438740383705898882103073921250400425719071229769252462908820991053681345117357827875276043655205899958686183048256101990011061065646859930648309107279099343174901680594576523085696017565141431205764148058664643174935713240729893938689131809727426668659147086668886256108202294755956174032320415059522893578348080034709699590571180371534080447703131060001025223348351364 61402120401189678521869487700367929963540867961741881144821964343325828200781982859683550853506918753444006069935855511209941771407191263133238424769021335769378209131376685197520040428576684229937358128386011618457359334588183791898945083614469292231446678099513692671593694743157138152088350987369342036489423522410893970654010202355513136658070347428547369365609786568750278316021812005584104290153063730285617061784173767616749500275588513571560837366336837576583820819901306605716667623854442600509600402098841283020324845651248751759714288585661786857862216961667415893217222477180631464253097779840367234758974823055567860493899488296090428917576576820886308562702267509814395936757127656077806151385434772210928450286681401582116275702423942024309461971465331730279560080647589255180039341150511855091723130432164387056101080731816923212495669483067399363823868740793144929455134801202056899832590432773847155309934816278464706289947207 99350717790438229240868330829886616830911871422110326561238298458485216726619336884078358689248115109992414705397035126286138395118459321897931704913466589734753236454751151191794057805958047336997550943606700078697321451922151082339293569492844688827684136378802528468251160374875134039451021828812636231681172896766973005159305397141287238274831024559403395311956353090910734096928465639604736660927550578546766056544228889161838193828464328724507078875290340092296218488176942257751223361624018813911600785753860738409910783044739317596437805433452150804479702176609755548655962860886530346356171701090767660478046052824820323402720479349771774034934404696162352217908167468500578985013229646088867217032294702859237557565780744757017956297000465110005479536606762936043708139312232430115752581880405793780854940159591055715248167400703179320697964239023573396144283800316038507803214835911756490403770804307927603013065876279489929638298571 160752838191627907762737818530254546794452739383852207706060262801811044927401319743761909542755033863436420775332890637496080166525650585031170129682487925504131445586127836389314098234534731566934909071992711697154680786510334874238238653107313981059130814478316221139844855118032272191539372816181978268170596419177866975813315599496800374932901371987950764677566139659661012412950277645188840951080614308832383118328402656778587694104052842296067916241627177668880039308078248863467890985478461414421201187852702021430235628695988069356152094019113937662341919138277171441873185338067161810609269480931134895237020875880388183896619967645862202952510981517048660780610434978314974921770357302166673368417729475070166007852462146339134231999424407134314941508072094666323268219959821685295791923030917648872578070591755442771349248132520102533193633722090972759968152541109183437258349637113813390236361237081774758323000692557954635928245778 260103555982066137003606149360141163625364610805962534267298561260296261654020656627840268232003148973428835480729925763782218561644109906929101834595954515238884682040878987581108156040492778903932460015599411775852002238432485956577532222600158669886814950857118749608096015492907406230990394644994614499851769315944839980972620996638087613207732396547354159989522492750571746509878743284793577612008164887379149174872631545940425887932517171020574995116917517761176257796255191121219114347102480228332801973606562759840146411740727386952589899452566088466821621314886926990529148198953692156965441182021902555715066928705208507299340446995633976987445386213211012998518602446815553906783586948255540585450024177929403565418242891096152188296424872244320421044678857602366976359272054115411544504911323442653433010751346498486597415533223281853891597961114546156112436341425221945061564473025569880640132041389702361336066568837444565566544349 420856394173694044766343967890395710419817350189814741973358824062107306581421976371602177774758182836865256256062816401278298728169760491960271964278442440743016127627006823970422254275027510470867369087592123473006683024942820830815770875707472650945945765335434970747940870610939678422529767461176592768022365735122706956785936596134887988140633768535304924667088632410232758922829020929982418563088779196211532293201034202719013582036570013316642911358544695430056297104333439984687005332580941642754003161459264781270382040436715456308741993471680026129163540453164098432402333537020853967574710662953037450952087804585596691195960414641496179939956367730259673779129037425130528828553944250422213953867753652999569573270705037435286420295849279378635362552750952268690244579231875800707336427942241091526011081343101941257946663665743384387085231683205518916080588882534405382319914110139383270876493278471477119659067261395399201494790127 680959950155760181769950117250536874045181960995777276240657385322403568235442632999442446006761331810294091736792742165060517289813870398889373798874396955981900809667885811551530410315520289374799829103191535248858685263375306787393303098307631320832760716192553720356036886103847084653520162106171207267874135051067546937758557592772975601348366165082659084656611125160804505432707764214775996175096944083590681468073665748659439469969087184337217906475462213191232554900588631105906119679683421871086805135065827541110528452177442843261331892924246114595985161768051025422931481735974546124540151844974940006667154733290805198495300861637130156927401753943470686777647639871946082735337531198677754539317777830928973138688947928531438608592274151622955783597429809871057220938503929916118880932853564534179444092094448439744544079198966666240976829644320065072193025223959627327381478583164953151516625319861179480995133830232843767061334476 1101816344329454226536294085140932584464999311185592018214016209384510874816864609371044623781519514647159347992855558566338816017983630890849645763152839396724916937294892635521952664590547799845667198190783658721865368288318127618209073974015103971778706481527988691103977756714786763076049929567347800035896500786190253894544494188907863589488999933617964009323699757571037264355536785144758414738185723279802213761274699951378453052005657197653860817834006908621288852004922071090593125012264363513840808296525092322380910492614158299570073886395926140725148702221215123855333815272995400092114862507927977457619242537876401889691261276278626336867358121673730360556776677297076611563891475449099968493185531483928542711959652965966725028888123431001591146150180762139747465517735805716826217360795805625705455173437550381002490742864710050628062061327525583988273614106494032709701392693304336422393118598332656600654201091628242968556124603 1782776294485214408306244202391469458510181272181369294454673594706914443052307242370487069788280846457453439729648300731399333307797501289739019562027236352706817746962778447073483074906068089220467027293975193970724053551693434405602377072322735292611467197720542411460014642818633847729570091673519007303770635837257800832303051781680839190837366098700623093980310882731841769788244549359534410913282667363392895229348365700037892521974744381991078724309469121812521406905510702196499244691947785384927613431590919863491438944791601142831405779320172255321133863989266149278265297008969946216655014352902917464286397271167207088186562137915756493794759875617201047334424317169022694299229006647777723032503309314857515850648600894498163637480397582624546929747610572010804686456239735632945098293649370159884899265531998820747034822063676716869038890971845649060466639330453660037082871276469289573909743918193836081649334921861086735617459079 2884592638814668634842538287532402042975180583366961312668689804091425317869171851741531693569800361104612787722503859297738149325781132180588665325180075749431734684257671082595435739496615889066134225484758852692589421840011562023811451046337839264390173679248531102563992399533420610805620021240866807339667136623448054726847545970588702780326366032318587103304010640302879034143781334504292825651468390643195108990623065651416345573980401579644939542143476030433810258910432773287092369704212148898768421728116012185872349437405759442401479665716098396046282566210481273133599112281965346308769876860830894921905639809043608977877823414194382830662117997290931407891200994466099305863120482096877691525688840798786058562608253860464888666368521013626138075897791334150552151973975541349771315654445175785590354438969549201749525564928386767497100952299371233048740253436947692746784263969773625996302862516526492682303536013489329704173583682 4667368933299883043148782489923871501485361855548330607123363398798339760921479094112018763358081207562066227452152160029137482633578633470327684887207312102138552431220449529668918814402683978286601252778734046663313475391704996429413828118660574557001640876969073514024007042352054458535190112914385814643437772460705855559150597752269541971163732131019210197284321523034720803932025883863827236564751058006588004219971431351454238095955145961636018266452945152246331665815943475483591614396159934283696035159706932049363788382197360585232885445036270651367416430199747422411864409290935292525424891213733812386192037080210816066064385552110139324456877872908132455225625311635122000162349488744655414558192150113643574413256854754963052303848918596250685005645401906161356838430215276982716413948094545945475253704501548022496560386992063484366139843271216882109206892767401352783867135246242915570212606434720328763952870935350416439791042761 7551961572114551677991320777456273544460542438915291919792053202889765078790650945853550456927881568666679015174656019326875631959359765650916350212387387851570287115478120612264354553899299867352735478263492899355902897231716558453225279164998413821391814556217604616587999441885475069340810134155252621983104909084153910285998143722858244751490098163337797300588332163337599838075807218368120062216219448649783113210594497002870583669935547541280957808596421182680141924726376248770683984100372083182464456887822944235236137819603120027634365110752369047413698996410228695545463521572900638834194768074564707308097676889254425043942208966304522155118995870199063863116826306101221306025469970841533106083880990912429632975865108615427940970217439609876823081543193240311908990404190818332487729602539721731065608143471097224246085951920450251863240795570588115157947146204349045530651399216016541566515468951246821446256406948839746143964626443 12219330505414434721140103267380145045945904294463622526915416601688104839712130039965569220285962776228745242626808179356013114592938399121244035099594699953708839546698570141933273368301983845639336731042226946019216372623421554882639107283658988378393455433186678130612006484237529527876000247069638436626542681544859765845148741475127786722653830294357007497872653686372320642007833102231947298780970506656371117430565928354324821765890693502916976075049366334926473590542319724254275598496532017466160492047529876284599926201800480612867250555788639698781115426609976117957327930863835931359619659288298519694289713969465241110006594518414661479575873743107196318342451617736343306187819459586188520642073141026073207389121963370390993274066358206127508087188595146473265828834406095315204143550634267676540861847972645246742646338912513736229380638841804997267154038971750398314518534462259457136728075385967150210209277884190162583755669204 19771292077528986399131424044836418590406446733378914446707469804577869918502780985819119677213844344895424257801464198682888746552298164772160385311982087805279126662176690754197627922201283712992072209305719845375119269855138113335864386448657402199785269989404282747200005926123004597216810381224891058609647590629013676131146885197986031474143928457694804798460985849709920480083640320600067360997189955306154230641160425357195405435826241044197933883645787517606615515268695973024959582596904100648624948935352820519836064021403600640501615666541008746194814423020204813502791452436736570193814427362863227002387390858719666153948803484719183634694869613306260181459277923837564612213289430427721626725954131938502840364987071985818934244283797816004331168731788386785174819238596913647691873153173989407606469991443742470988732290832963988092621434412393112425101185176099443845169933678275998703243544337213971656465684833029908727720295647 31990622582943421120271527312216563636352351027842536973622886406265974758214911025784688897499807121124169500428272378038901861145236563893404420411576787758987966208875260896130901290503267558631408940347946791394335642478559668218503493732316390578178725422590960877812012410360534125092810628294529495236190272173873441976295626673113818196797758752051812296333639536082241122091473422832014659778160461962525348071726353711520227201716934547114909958695153852533089105811015697279235181093436118114785440982882696804435990223204081253368866222329648444975929849630180931460119383300572501553434086651161746696677104828184907263955398003133845114270743356413456499801729541573907918401108890013910147368027272964576047754109035356209927518350156022131839255920383533258440648073003008962896016703808257084147331839416387717731378629745477724322002073254198109692255224147849842159688468140535455839971619723181121866674962717220071311475964851 51761914660472407519402951357052982226758797761221451420330356210843844676717692011603808574713651466019593758229736576721790607697534728665564805723558875564267092871051951650328529212704551271623481149653666636769454912333697781554367880180973792777963995411995243625012018336483538722309621009519420553845837862802887118107442511871099849670941687209746617094794625385792161602175113743432082020775350417268679578712886779068715632637543175591312843842340941370139704621079711670304194763690340218763410389918235517324272054244607681893870481888870657191170744272650385744962910835737309071747248514014024973699064495686904573417904201487853028748965612969719716681261007465411472530614398320441631774093981404903078888119096107342028861762633953838136170424652171920043615467311599922610587889856982246491753801830860130188720110920578441712414623507666591222117356409323949286004858401818811454543215164060395093523140647550249980039196260498 83752537243415828639674478669269545863111148789063988393953242617109819434932603037388497472213458587143763258658008954760692468842771292558969226135135663323255059079927212546459430503207818830254890090001613428163790554812257449772871373913290183356142720834586204502824030746844072847402431637813950049082028134976760560083738138544213667867739445961798429391128264921874402724266587166264096680553510879231204926784613132780235859839260110138427753801036095222672793726890727367583429944783776336878195830901118214128708044467811763147239348111200305636146674122280566676423030219037881573300682600665186720395741600515089480681859599490986873863236356326133173181062737006985380449015507210455541921462008677867654935873205142698238789280984109860268009680572555453302056115384602931573483906560790503575901133670276517906451489550323919436736625580920789331809611633471799128164546869959346910383186783783576215389815610267470051350672225349 135514451903888236159077430026322528089869946550285439814283598827953664111650295048992306046927110053163357016887745531482483076540306021224534031858694538887522151950979164196787959715912370101878371239655280064933245467145955231327239254094263976134106716246581448127836049083327611569712052647333370602927865997779647678191180650415313517538681133171545046485922890307666564326441700909696178701328861296499884505497499911848951492476803285729740597643377036592812498347970439037887624708474116555641606220819353731452980098712419445041109830000070962827317418394930952421385941054775190645047931114679211694094806096201994054099763800978839902612201969295852889862323744472396852979629905530897173695555990082770733823992301250040267651043618063698404180105224727373345671582696202854184071796417772750067654935501136648095171600470902361149151249088587380553926968042795748414169405271778158364926401947843971308912956257817720031389868485847 219266989147304064798751908695592073952981095339349428208236841445063483546582898086380803519140568640307120275545754486243175545383077313783503257993830202210777211030906376743247390219120188932133261329656893493097036021958212681100110628007554159490249437081167652630660079830171684417114484285147320652009894132756408238274918788959527185406420579133343475877051155229540967050708288075960275381882372175731089432282113044629187352316063395868168351444413131815485292074861166405471054653257892892519802051720471945581688143180231208188349178111271268463464092517211519097808971273813072218348613715344398414490547696717083534781623400469826776475438325621986063043386481479382233428645412741352715617017998760638388759865506392738506440324602173558672189785797282826647727698080805785757555702978563253643556069171413166001623090021226280585887874669508169885736579676267547542333952141737505275309588731627547524302771868085190082740540711196 354781441051192300957829338721914602042851041889634868022520440273017147658233193135373109566067678693470477292433500017725658621923383335008037289852524741098299362981885540940035349935032559034011632569312173558030281489104167912427349882101818135624356153327749100758496128913499295986826536932480691254937760130536055916466099439374840702945101712304888522362974045537207531377149988985656454083211233472230973937779612956478138844792866681597908949087790168408297790422831605443358679361732009448161408272539825677034668241892650653229459008111342231290781510912142471519194912328588262863396544830023610108585353792919077588881387201448666679087640294917838952905710225951779086408275318272249889312573988843409122583857807642778774091368220237257076369891022010199993399280777008639941627499396336003711211004672549814096794690492128641735039123758095550439663547719063295956503357413515663640235990679471518833215728125902910114130409197043 574048430198496365756581247417506675995832137228984296230757281718080631204816091221753913085208247333777597567979254503968834167306460648791540547846354943309076574012791917683282740154152747966144893898969067051127317511062380593527460510109372295114605590408916753389156208743670980403941021217628011906947654263292464154741018228334367888351522291438231998240025200766748498427858277061616729465093605647962063370061726001107326197108930077466077300532203300223783082497692771848829734014989902340681210324260297622616356385072881861417808186222613499754245603429353990617003883602401335081745158545368008523075901489636161123663010601918493455563078620539825015949096707431161319836920731013602604929591987604047511343723314035517280531692822410815748559676819293026641126978857814425699183202374899257354767073843962980098417780513354922320926998427603720325400127395330843498837309555253168915545579411099066357518499993988100196870949908239 928829871249688666714410586139421278038683179118619164253277721991097778863049284357127022651275926027248074860412754521694492789229843983799577837698879684407375936994677458623318090089185307000156526468281240609157599000166548505954810392211190430738961743736665854147652337657170276390767558150108703161885414393828520071207117667709208591296624003743120520602999246303956029805008266047273183548304839120193037307841338957585465041901796759063986249619993468632080872920524377292188413376721911788842618596800123299651024626965532514647267194333955731045027114341496462136198795930989597945141703375391618631661255282555238712544397803367160134650718915457663968854806933382940406245196049285852494242165976447456633927581121678296054623061042648072824929567841303226634526259634823065640810701771235261065978078516512794195212471005483564055966122185699270765063675114394139455340666968768832555781570090570585190734228119891010311001359105282 1502878301448185032470991833556927954034515316347603460484035003709178410067865375578880935736484173361025672428392009025663326956536304632591118385545234627716452511007469376306600830243338054966301420367250307660284916511228929099482270902320562725853567334145582607536808546400841256794708579367736715068833068657120984225948135896043576479648146295181352518843024447070704528232866543108889913013398444768155100677903064958692791239010726836530063550152196768855863955418217149141018147391711814129523828921060420922267381012038414376065075380556569230799272717770850452753202679533390933026886861920759627154737156772191399836207408405285653590213797535997488984803903640814101726082116780299455099171757964051504145271304435713813335154753865058888573489244660596253275653238492637491339993904146134518420745152360475774293630251518838486376893120613302991090463802509724982954177976524022001471327149501669651548252728113879110507872309013521 2431708172697873699185402419696349232073198495466222624737312725700276188930914659936007958387760099388273747288804763547357819745766148616390696223244114312123828448002146834929918920332523361966457946835531548269442515511395477605437081294531753156592529077882248461684460884058011533185476137517845418230718483050949504297155253563752785070944770298924473039446023693374660558037874809156163096561703283888348137985744403916278256280912523595594049799772190237487944828338741526433206560768433725918366447517860544221918405639003946890712342574890524961844299832112346914889401475464380530972028565296151245786398412054746638548751806208652813724864516451455152953658710574197042132327312829585307593413923940498960779198885557392109389777814907706961398418812501899479910179498127460556980804605917369779486723230876988568488842722524322050432859242799002261855527477624119122409518643492790834027108719592240236738986956233770120818873668118803 3934586474146058731656394253253277186107713811813826085221347729409454598998780035514888894124244272749299419717196772573021146702302453248981814608789348939840280959009616211236519750575861416932759367202781855929727432022624406704919352196852315882446096412027831069221269430458852789980184716885582133299551551708070488523103389459796361550592916594105825558289048140445365086270741352265053009575101728656503238663647468874971047519923250432124113349924387006343808783756958675574224708160145540047890276438920965144185786651042361266777417955447094192643572549883197367642604154997771463998915427216910872941135568826938038384959214613938467315078313987452641938462614215011143858409429609884762692585681904550464924470189993105922724932568772765849971908057162495733185832736620098048320798510063504297907468383237464342782472974043160536809752363412305252945991280133844105363696620016812835498435869093909888287239684347649231326745977132324 6366294646843932430841796672949626418180912307280048709958660455109730787929694695450896852512004372137573167006001536120378966448068601865372510832033463251964109407011763046166438670908384778899217314038313404199169947534019884310356433491384069039038625489910079530905730314516864323165660854403427551530270034759019992820258643023549146621537686893030298597735071833820025644308616161421216106136805012544851376649391872791249303800835774027718163149696577243831753612095700202007431268928579265966256723956781509366104192290046308157489760530337619154487872381995544282532005630462151994970943992513062118727533980881684676933711020822591281039942830438907794892121324789208185990736742439470070285999605845049425703669075550498032114710383680472811370326869664395213096012234747558605301603115980874077394191614114452911271315696567482587242611606211307514801518757757963227773215263509603669525544588686150125026226640581419352145619645251127 10300881120989991162498190926202903604288626119093874795180008184519185386928474730965785746636248644886872586723198308693400113150371055114354325440822812191804390366021379257402958421484246195831976681241095260128897379556644291015275785688236384921484721901937910600126999744975717113145845571289009684829821586467090481343362032483345508172130603487136124156024119974265390730579357513686269115711906741201354615313039341666220351320759024459842276499620964250175562395852658877581655977088724806014147000395702474510289978941088669424267178485784713347131444931878741650174609785459923458969859419729972991668669549708622715318670235436529748355021144426360436830583939004219329849146172049354832978585287749599890628139265543603954839642952453238661342234926826890946281844971367656653622401626044378375301659997351917254053788670610643124052363969623612767747510037891807333136911883526416505023980457780060013313466324929068583472365622383451 16667175767833923593339987599152530022469538426373923505138668639628916174858169426416682599148253017024445753729199844813779079598439656979726836272856275443768499773033142303569397092392630974731193995279408664328067327090664175325632219179620453960523347391847990131032730059492581436311506425692437236360091621226110474163620675506894654793668290380166422753759191808085416374887973675107485221848711753746205991962431214457469655121594798487560439649317541494007316007948359079589087246017304071980403724352483983876394171231134977581756939016122332501619317313874285932706615415922075453940803412243035110396203530590307392252381256259121029394963974865268231722705263793427515839882914488824903264584893594649316331808341094101986954353336133711472712561796491286159377857206115215258924004742025252452695851611466370165325104367178125711294975575834920282549028795649770560910127147036020174549525046466210138339692965510487935617985267634578 26968056888823914755838178525355433626758164545467798300318676824148101561786644157382468345784501661911318340452398153507179192748810712094081161713679087635572890139054521560972355513876877170563170676520503924456964706647308466340908004867856838882008069293785900731159729804468298549457351996981446921189913207693200955506982707990240162965798893867302546909783311782350807105467331188793754337560618494947560607275470556123690006442353822947402716148938505744182878403801017957170743223106028877994550724748186458386684150172223647006024117501907045848750762245753027582881225201381998912910662831973008102064873080298930107571051491695650777749985119291628668553289202797646845689029086538179736243170181344249206959947606637705941793996288586950134054796723318177105659702177482871912546406368069630827997511608818287419378893037788768835347339545458533050296538833541577894047039030562436679573505504246270151653159290439556519090350890018029 43635232656657838349178166124507963649227702971841721805457345463777017736644813583799150944932754678935764094181597998320958272347250369073807997986535363079341389912087663864541752606269508145294364671799912588785032033737972641666540224047477292842531416685633890862192459863960879985768858422673884157550004828919311429670603383497134817759467184247468969663542503590436223480355304863901239559409330248693766599237901770581159661563948621434963155798256047238190194411749377036759830469123332949974954449100670442263078321403358624587781056518029378350370079559627313515587840617304074366851466244216043212461076610889237499823432747954771807144949094156896900275994466591074361528912001027004639507755074938898523291755947731807928748349624720661606767358519809463265037559383598087171470411110094883280693363220284657584703997404966894546642315121293453332845567629191348454957166177598456854123030550712480289992852255950044454708336157652607 70603289545481753105016344649863397275985867517309520105776022287925119298431457741181619290717256340847082434633996151828137465096061081167889159700214450714914280051142185425514108120146385315857535348320416513241996740385281108007448228915334131724539485979419791593352189668429178535226210419655331078739918036612512385177586091487374980725266078114771516573325815372787030585822636052694993896969948743641327206513372326704849668006302444382365871947194552982373072815550394993930573692229361827969505173848856900649762471575582271593805174019936424199120841805380341098469065818686073279762129076189051314525949691188167607394484239650422584894934213448525568829283669388721207217941087565184375750925256283147730251703554369513870542345913307611740822155243127640370697261561080959084016817478164514108690874829102945004082890442755663381989654666751986383142106462732926349004205208160893533696536054958750441646011546389600973798687047670636 114238522202139591454194510774371360925213570489151241911233367751702137035076271324980770235650011019782846528815594150149095737443311450241697157686749813794255669963229849290055860726415893461151900020120329102027028774123253749673988452962811424567070902665053682455544649532390058520995068842329215236289922865531823814848189474984509798484733262362240486236868318963223254066177940916596233456379278992335093805751274097286009329570251065817329027745450600220563267227299772030690404161352694777944459622949527342912840792978940896181586230537965802549490921365007654614056906435990147646613595320405094526987026302077405107217916987605194392039883307605422469105278135979795568746853088592189015258680331222046253543459502101321799290695538028273347589513762937103635734820944679046255487228588259397389384238049387602588786887847722557928631969788045439715987674091924274803961371385759350387819566605671230731638863802339645428507023205323243 184841811747621344559210855424234758201199438006460762017009390039627256333507729066162389526367267360629928963449590301977233202539372531409586317386964264509169950014372034715569968846562278777009435368440745615269025514508534857681436681878145556291610388644473474048896839200819237056221279261984546315029840902144336200025775566471884779209999340477012002810194134336010284652000576969291227353349227735976421012264646423990858997576553510199694899692645153202936340042850167024620977853582056605913964796798384243562603264554523167775391404557902226748611763170387995712525972254676220926375724396594145841512975993265572714612401227255616976934817521053948037934561805368516775964794176157373391009605587505193983795163056470835669833041451335885088411669006064744006432082505760005339504046066423911498075112878490547592869778290478221310621624454797426099129780554657201152965576593920243921516102660629981173284875348729246402305710252993879 299080333949760936013405366198606119126413008495612003928242757791329393368584000391143159762017278380412775492265184452126328939982683981651283475073714078303425619977601884005625829572978172238161335388561074717296054288631788607355425134840956980858681291309527156504441488733209295577216348104313761551319763767676160014873965041456394577694732602839252489047062453299233538718178517885887460809728506728311514818015920521276868327146804576017023927438095753423499607270149939055311382014934751383858424419747911586475444057533464063956977635095868029298102684535395650326582878690666368572989319716999240368500002295342977821830318214860811368974700828659370507039839941348312344711647264749562406268285918727240237338622558572157469123736989364158436001182769001847642166903450439051594991274654683308887459350927878150181656666138200779239253594242842865815117454646581475956926947979679594309335669266301211904923739151068891830812733458317122 483922145697382280572616221622840877327612446502072765945252147830956649702091729457305549288384545741042704455714774754103562142522056513060869792460678342812595569991973918721195798419540451015170770757001820332565079803140323465036861816719102537150291679954000630553338327934028532633437627366298307866349604669820496214899740607928279356904731943316264491857256587635243823370179094855178688163077734464287935830280566945267727324723358086216718827130740906626435947313000106079932359868516807989772389216546295830038047322087987231732369039653770256046714447705783646039108850945342589499365044113593386210012978288608550536442719442116428345909518349713318544974401746716829120676441440906935797277891506232434221133785615042993138956778440700043524412851775066591648598985956199056934495320721107220385534463806368697774526444428679000549875218697640291914247235201238677109892524573599838230851771926931193078208614499798138233118443711311001 783002479647143216586021587821446996454025454997684769873494905622286043070675729848448709050401824121455479947979959206229891082504740494712153267534392421116021189969575802726821627992518623253332106145562895049861134091772112072392286951560059518008972971263527787057779816667237828210653975470612069417669368437496656229773705649384673934599464546155516980904319040934477362088357612741066148972806241192599450648296487466544595651870162662233742754568836660049935554583150045135243741883451559373630813636294207416513491379621451295689346674749638285344817132241179296365691729636008958072354363830592626578512980583951528358273037656977239714884219178372689052014241688065141465388088705656498203546177424959674458472408173615150608080515430064201960414034544068439290765889406638108529486595375790529272993814734246847956183110566879779789128812940483157729364689847820153066819472553279432540187441193232404983132353650867030063931177169628123 1266924625344525497158637809444287873781637901499757535818747053453242692772767459305754258338786369862498184403694733960333453225026797007773023059995070763928616759961549721448017426412059074268502876902564715382426213894912435537429148768279162055159264651217528417611118144601266360844091602836910377284018973107317152444673446257312953291504196489471781472761575628569721185458536707596244837135883975656887386478577054411812322976593520748450461581699577566676371501896150151215176101751968367363403202852840503246551538701709438527421715714403408541391531579946962942404800580581351547571719407944186012788525958872560078894715757099093668060793737528086007596988643434781970586064530146563434000824068931192108679606193788658143747037293870764245484826886319135030939364875362837165463981916096897749658528278540615545730709554995558780339004031638123449643611925049058830176711997126879270771039213120163598061340968150665168297049620880939124 2049927104991668713744659397265734870235663356497442305692241959075528735843443189154202967389188193983953664351674693166563344307531537502485176327529463185044637949931125524174839054404577697521834983048127610432287347986684547609821435719839221573168237622481056204668897961268504189054745578307522446701688341544813808674447151906697627226103661035627298453665894669504198547546894320337310986108690216849486837126873541878356918628463683410684204336268414226726307056479300196350419843635419926737034016489134710663065030081330889823111062389153046826736348712188142238770492310217360505644073771774778639367038939456511607252988794756070907775677956706458696649002885122847112051452618852219932204370246356151783138078601962273294355117809300828447445240920863203470230130764769475273993468511472688278931522093274862393686892665562438560128132844578606607372976614896878983243531469680158703311226654313396003044473321801532198360980798050567247 3316851730336194210903297206710022744017301257997199841510989012528771428616210648459957225727974563846451848755369427126896797532558334510258199387524533948973254709892675245622856480816636771790337859950692325814713561881596983147250584488118383628327502273698584622280016105869770549898837181144432823985707314652130961119120598164010580517607857525099079926427470298073919733005431027933555823244574192506374223605450596290169241605057204159134665917967991793402678558375450347565595945387388294100437219341975213909616568783040328350532778103556455368127880292135105181175292890798712053215793179718964652155564898329071686147704551855164575836471694234544704245991528557629082637517148998783366205194315287343891817684795750931438102155103171592692930067807182338501169495640132312439457450427569586028590050371815477939417602220557997340467136876216730057016588539945937813420243466807037974082265867433559601105814289952197366658030418931506371 5366778835327862924647956603975757614252964614494642147203230971604300164459653837614160193117162757830405513107044120293460141840089872012743375715053997134017892659823800769797695535221214469312172842998819936247000909868281530757072020207957605201495739896179640826948914067138274738953582759451955270687395656196944769793567750070708207743711518560726378380093364967578118280552325348270866809353264409355861060732324138168526160233520887569818870254236406020128985614854750543916015789022808220837471235831109924572681598864371218173643840492709502194864229004323247419945785201016072558859866951493743291522603837785583293400693346611235483612149650941003400894994413680476194688969767851003298409564561643495674955763397713204732457272912472421140375308728045541971399626404901787713450918939042274307521572465090340333104494886120435900595269720795336664389565154842816796663774936487196677393492521746955604150287611753729565019011216982073618 8683630565664057135551253810685780358270265872491841988714219984133071593075864486074117418845137321676857361862413547420356939372648206523001575102578531082991147369716476015420552016037851241102510702949512262061714471749878513904322604696075988829823242169878225449228930173008045288852419940596388094673102970849075730912688348234718788261319376085825458306520835265652038013557756376204422632597838601862235284337774734458695401838578091728953536172204397813531664173230200891481611734410196514937908455173085138482298167647411546524176618596265957562992109296458352601121078091814784612075660131212707943678168736114654979548397898466400059448621345175548105140985942238105277326486916849786664614758876930839566773448193464136170559428015644013833305376535227880472569122045034100152908369366611860336111622836905818272522097106678433241062406597012066721406153694788754610084018403294234651475758389180515205256101901705926931677041635913579989 14050409400991920060199210414661537972523230486986484135917450955737371757535518323688277611962300079507262874969457667713817081212738078535744950817632528217009040029540276785218247551259065710414683545948332198308715381618160044661394624904033594031318982066057866276177844240146320027806002700048343365360498627046020500706256098305426996005030894646551836686614200233230156294110081724475289441951103011218096345070098872627221562072098979298772406426440803833660649788084951435397627523433004735775379691004195063054979766511782764697820459088975459757856338300781600021066863292830857170935527082706451235200772573900238272949091245077635543060770996116551506035980355918581472015456684700789963024323438574335241729211591177340903016700928116434973680685263273422443968748449935887866359288305654134643633195301996158605626591992798869141657676317807403385795718849631571406747793339781431328869250910927470809406389513459656496696052852895653607 22734039966655977195750464225347318330793496359478326124631670939870443350611382809762395030807437401184120236831871215134174020585386285058746525920211059300000187399256752800638799567296916951517194248897844460370429853368038558565717229600109582861142224235936091725406774413154365316658422640644731460033601597895096231618944446540145784266350270732377294993135035498882194307667838100679712074548941613080331629407873607085916963910677071027725942598645201647192313961315152326879239257843201250713288146177280201537277934159194311221997077685241417320848447597239952622187941384645641783011187213919159178878941310014893252497489143544035602509392341292099611176966298156686749341943601550576627639082315505174808502659784641477073576128943760448806986061798501302916537870494969988019267657672265994979744818138901976878148689099477302382720082914819470107201872544420326016831811743075665980345009300107986014662491415165583428373094488809233596 36784449367647897255949674640008856303316726846464810260549121895607815108146901133450672642769737480691383111801328882847991101798124363594491476737843587517009227428797029585857047118555982661931877794846176658679145234986198603227111854504143176892461206301993958001584618653300685344464425340693074825394100224941116732325200544845572780271381165378929131679749235732112350601777919825155001516500044624298427974477972479713138525982776050326498349025086005480852963749400103762276866781276205986488667837181475264592257700670977075919817536774216877078704785898021552643254804677476498953946714296625610414079713883915131525446580388621671145570163337408651117212946654075268221357400286251366590663405754079510050231871375818817976592829871876883780666747061774725360506618944905875885626945977920129623378013440898135483775281092276171524377759232626873492997591394051897423579605082857097309214260211035456824068880928625239925069147341704887203 59518489334303874451700138865356174634110223205943136385180792835478258458758283943213067673577174881875503348633200097982165122383510648653238002658054646817009414828053782386495846685852899613449072043744021119049575088354237161792829084104252759753603430537930049726991393066455050661122847981337806285427701822836212963944144991385718564537731436111306426672884271230994544909445757925834713591048986237378759603885846086799055489893453121354224291623731207128045277710715256089156106039119407237201955983358755466129535634830171387141814614459458294399553233495261505265442746062122140736957901510544769592958655193930024777944069532165706748079555678700750728389912952231954970699343887801943218302488069584684858734531160460295050168958815637332587652808860276028277044489439875863904894603650186124603122831579800112361923970191753473907097842147446343600199463938472223440411416825932763289559269511143442838731372343790823353442241830514120799 96302938701951771707649813505365030937426950052407946645729914731086073566905185076663740316346912362566886460434528980830156224181635012247729479395898234334018642256850811972352893804408882275380949838590197777728720323340435765019940938608395936646064636839924007728576011719755736005587273322030881110821802047777329696269345536231291344809112601490235558352633506963106895511223677750989715107549030861677187578363818566512194015876229171680722640648817212608898241460115359851432972820395613223690623820540230730721793335501148463061632151233675171478258019393283057908697550739598639690904615807170380007038369077845156303390649920787377893649719016109401845602859606307223192056744174053309808965893823664194908966402536279113026761788687514216368319555922050753637551108384781739790521549628106254226500845020698247845699251284029645431475601380073217093197055332524120863991021908789860598773529722178899662800253272416063278511389172219008002 155821428036255646159349952370721205571537173258351083030910707566564332025663469019876807989924087244442389809067729078812321346565145660900967482053952881151028057084904594358848740490261781888830021882334218896778295411694672926812770022712648696399668067377854057455567404786210786666710121303368687396249503870613542660213490527617009909346844037601541985025517778194101440420669435676824428698598017099055947182249664653311249505769682293034946932272548419736943519170830615940589078859515020460892579803898986196851328970331319850203446765693133465877811252888544563174140296801720780427862517317715149599997024271775181081334719452953084641729274694810152573992772558539178162756088061855253027268381893248879767700933696739408076930747503151548955972364782326781914595597824657603695416153278292378829623676600498360207623221475783119338573443527519560693396519270996344304402438734722623888332799233322342501531625616206886631953631002733128801 252124366738207417866999765876086236508964123310759029676640622297650405592568654096540548306270999607009276269502258059642477570746780673148696961449851115485046699341755406331201634294670664164210971720924416674507015735035108691832710961321044633045732704217778065184143416505966522672297394625399568507071305918390872356482836063848301254155956639091777543378151285157208335931893113427814143806147047960733134760613483219823443521645911464715669572921365632345841760630945975792022051679910633684583203624439216927573122305832468313265078916926808637356069272281827621082837847541319420118767133124885529607035393349620337384725369373740462535378993710919554419595632164846401354812832235908562836234275716913074676667336233018521103692536190665765324291920704377535552146706209439343485937702906398633056124521621196608053322472759812764770049044907592777786593574603520465168393460643512484487106328955501242164331878888622949910465020174952136803 407945794774463064026349718246807442080501296569110112707551329864214737618232123116417356296195086851451666078569987138454798917311926334049664443503803996636074756426660000690050374784932446053040993603258635571285311146729781618645480984033693329445400771595632122639710821292177309339007515928768255903320809789004415016696326591465311163502800676693319528403669063351309776352562549104638572504745065059789081942863147873134693027415593757750616505193914052082785279801776591732611130539425654145475783428338203124424451276163788163468525682619942103233880525170372184256978144343040200546629650442600679207032417621395518466060088826693547177108268405729706993588404723385579517568920297763815863502657610161954444368269929757929180623283693817314280264285486704317466742304034096947181353856184691011885748198221694968260945694235595884108622488435112338479990093874516809472795899378235108375439128188823584665863504504829836542418651177685265604 660070161512670481893349484122893678589465419879869142384191952161865143210800777212957904602466086458460942348072245198097276488058707007198361404953655112121121455768415407021252009079603110217251965324183052245792326881764890310478191945354737962491133475813410187823854237798143832011304910554167824410392115707395287373179162655313612417658757315785097071781820348508518112284455662532452716310892113020522216703476631092958136549061505222466286078115279684428627040432722567524633182219336287830058987052777420051997573581996256476733604599546750740589949797452199805339815991884359620665396783567486208814067810971015855850785458200434009712487262116649261413184036888231980872381752533672378699736933327075029121035606162776450284315819884483079604556206191081853018889010243536290667291559091089644941872719842891576314268166995408648878671533342705116266583668478037274641189360021747592862545457144324826830195383393452786452883671352637402407 1068015956287133545919699202369701120669966716448979255091743282026079880829032900329375260898661173309912608426642232336552075405370633341248025848457459108757196212195075407711302383864535556270292958927441687817077638028494671929123672929388431291936534247409042310463565059090321141350312426482936080313712925496399702389875489246778923581161557992478416600185489411859827888637018211637091288815637178080311298646339778966092829576477098980216902583309193736511412320234499159257244312758761941975534770481115623176422024858160044640202130282166692843823830322622571989596794136227399821212026434010086888021100228592411374316845547027127556889595530522378968406772441611617560389950672831436194563239590937236983565403876092534379464939103578300393884820491677786170485631314277633237848645415275780656827620918064586544575213861231004532987294021777817454746573762352554084113985259399982701237984585333148411496058887898282622995302322530322668011 1728086117799804027813048686492594799259432136328848397475935234187945024039833677542333165501127259768373550774714477534649351893429340348446387253411114220878317667963490814732554392944138666487544924251624740062869964910259562239601864874743169254427667723222452498287419296888464973361617337037103904724105041203794989763054651902092535998820315308263513671967309760368346000921473874169544005126529291100833515349816410059050966125538604202683188661424473420940039360667221726781877494978098229805593757533893043228419598440156301116935734881713443584413780120074771794936610128111759441877423217577573096835168039563427230167631005227561566602082792639028229819956478499849541262332425365108573262976524264312012686439482255310829749254923462783473489376697868868023504520324521169528515936974366870301769493637907478120889482028226413181865965555120522571013157430830591358755174619421730294100530042477473238326254271291735409448185993882960070418 2796102074086937573732747888862295919929398852777827652567678516214024904868866577871708426399788433078286159201356709871201427298799973689694413101868573329635513880158566222443856776808674222757837883179066427879947602938754234168725537804131600546364201970631494808750984355978786114711929763520039985037817966700194692152930141148871459579981873300741930272152799172228173889558492085806635293942166469181144813996156189025143795702015703182900091244733667157451451680901720886039121807736860171781128528015008666404841623298316345757137865163880136428237610442697343784533404264339159263089449651587659984856268268155838604484476552254689123491678323161407198226728920111467101652283098196544767826216115201548996251843358347845209214194027041083867374197189546654193990151638798802766364582389642650958597114555972064665464695889457417714853259576898340025759731193183145442869159878821712995338514627810621649822313159190018032443488316413282738429 4524188191886741601545796575354890719188830989106676050043613750401969928908700255414041591900915692846659709976071187405850779192229314038140800355279687550513831548122057037176411169752812889245382807430691167942817567849013796408327402678874769800791869693853947307038403652867251088073547100557143889761923007903989681915984793050963995578802188609005443944120108932596519890479965959976179299068695760281978329345972599084194761827554307385583279906158140578391491041568942612820999302714958401586722285548901709633261221738472646874073600045593580012651390562772115579470014392450918704966872869165233081691436307719265834652107557482250690093761115800435428046685398611316642914615523561653341089192639465861008938282840603156038963448950503867340863573887415522217494671963319972294880519364009521260366608193879542786354177917683830896719225132018862596772888624013736801624334498243443289439044670288094888148567430481753441891674310296242808847 7320290265973679175278544464217186639118229841884503702611292266615994833777566833285750018300704125924945869177427897277052206491029287727835213457148260880149345428280623259620267946561487112003220690609757595822765170787768030577052940483006370347156071664485442115789388008846037202785476864077183874799740974604184374068914934199835455158784061909747374216272908104824693780038458045782814593010862229463123143342128788109338557529570010568483371150891807735842942722470663498860121110451818573367850813563910376038102845036788992631211465209473716440889001005469459364003418656790077968056322520752893066547704575875104439136584109736939813585439438961842626273414318722783744566898621758198108915408754667410005190126198951001248177642977544951208237771076962176411484823602118775061245101753652172218963722749851607451818873807141248611572484708917202622532619817196882244493494377065156284777559298098716537970880589671771474335162626709525547276 11844478457860420776824341039572077358307060830991179752654906017017964762686267088699791610201619818771605579153499084682902985683258601765976013812427948430663176976402680296796679116314300001248603498040448763765582738636781826985380343161881140147947941358339389422827791661713288290859023964634327764561663982508174055984899727250799450737586250518752818160393017037421213670518424005758993892079557989745101472688101387193533319357124317954066651057049948314234433764039606111681120413166776974954573099112812085671364066775261639505285065255067296453540391568241574943473433049240996673023195389918126148239140883594370273788691667219190503679200554762278054320099717334100387481514145319851450004601394133271014128409039554157287141091928048818549101344964377698628979495565438747356125621117661693479330330943731150238173051724825079508291709840936065219305508441210619046117828875308599574216603968386811426119448020153524916226836937005768356123 19164768723834099952102885503789263997425290672875683455266198283633959596463833921985541628502323944696551448330926981959955192174287889493811227269576209310812522404683303556416947062875787113251824188650206359588347909424549857562433283644887510495104013022824831538617179670559325493644500828711511639361404957112358430053814661450634905896370312428500192376665925142245907450556882051541808485090420219208224616030230175302871876886694328522550022207941756050077376486510269610541241523618595548322423912676722461709466911812050632136496530464541012894429392573711034307476851706031074641079517910671019214786845459469474712925275776956130317264639993724120680593514036056884132048412767078049558920010148800681019318535238505158535318734905593769757339116041339875040464319167557522417370722871313865698294053693582757689991925531966328119864194549853267841838128258407501290611323252373755858994163266485527964090328609825296390561999563715293903399 31009247181694520728927226543361341355732351503866863207921104300651924359150101010685333238703943763468157027484426066642858177857546491259787241082004157741475699381085983853213626179190087114500427686690655123353930648061331684547813626806768650643051954381164220961444971332272613784503524793345839403923068939620532486038714388701434356633956562947253010537058942179667121121075306057300802377169978208953326088718331562496405196243818646476616673264991704364311810250549875722222361936785372523276997011789534547380830978587312271641781595719608309347969784141952609250950284755272071314102713300589145363025986343063844986713967444175320820943840548486398734913613753390984519529926912397901008924611542933952033446944278059315822459826833642588306440461005717573669443814732996269773496343988975559177624384637313907928164977256791407628155904390789333061143636699618120336729152127682355433210767234872339390209776629978821306788836500721062259522 50174015905528620681030112047150605353157642176742546663187302584285883955613934932670874867206267708164708475815353048602813370031834380753598468351580367052288221785769287409630573242065874227752251875340861482942278557485881542110246910451656161138155967403989052500062151002831939278148025622057351043284473896732890916092529050152069262530326875375753202913724867321913028571632188108842610862260398428161550704748561737799277073130512974999166695472933460414389186737060145332763603460403968071599420924466257009090297890399362903778278126184149322242399176715663643558427136461303145955182231211260164577812831802533319699639243221131451138208480542210519415507127789447868651578339679475950567844621691734633052765479516564474357778561739236358063779577047057448709908133900553792190867066860289424875918438330896665618156902788757735748020098940642600902981764958025621627340475380056111292204930501357867354300105239804117697350836064436356162921 81183263087223141409957338590511946708889993680609409871108406884937808314764035943356208105910211471632865503299779115245671547889380872013385709433584524793763921166855271262844199421255961342252679562031516606296209205547213226658060537258424811781207921785153273461507122335104553062651550415403190447207542836353423402131243438853503619164283438323006213450783809501580149692707494166143413239430376637114876793466893300295682269374331621475783368737925164778700996987610021054985965397189340594876417936255791556471128868986675175420059721903757631590368960857616252809377421216575217269284944511849309940838818145597164686353210665306771959152321090696918150420741542838853171108266591873851576769233234668585086212423794623790180238388572878946370220038052775022379351948633550061964363410849264984053542822968210573546321880045549143376176003331431933964125401657643741964069627507738466725415697736230206744509881869782939004139672565157418422443 131357278992751762090987450637662552062047635857351956534295709469223692270377970876027082973116479179797573979115132163848484917921215252766984177785164891846052142952624558672474772663321835570004931437372378089238487763033094768768307447710080972919363889189142325961569273337936492340799576037460541490492016733086314318223772489005572881694610313698759416364508676823493178264339682274986024101690775065276427498215455038094959342504844596474950064210858625193090183724670166387749568857593308666475838860722048565561426759386038079198337848087906953832768137573279896367804557677878363224467175723109474518651649948130484385992453886438223097360801632907437565927869332286721822686606271349802144613854926403218138977903311188264538016950312115304433999615099832471089260082534103854155230477709554408929461261299107239164478782834306879124196102272074534867107166615669363591410102887794578017620628237588074098809987109587056701490508629593774585364 212540542079974903500944789228174498770937629537961366405404116354161500585142006819383291079026690651430439482414911279094156465810596124780369887218749416639816064119479829935318972084577796912257610999403894695534696968580307995426367984968505784700571810974295599423076395673041045403451126452863731937699559569439737720355015927859076500858893752021765629815292486325073327957047176441129437341121151702391304291682348338390641611879176217950733432948783789971791180712280187442735534254782649261352256796977840122032555628372713254618397569991664585423137098430896149177181978894453580493752120234958784459490468093727649072345664551744995056513122723604355716348610875125574993794872863223653721383088161071803225190327105812054718255338884994250804219653152607493468612031167653916119593888558819392983004084267317812710800662879856022500372105603506468831232568273313105555479730395533044743036325973818280843319868979369995705630181194751193007807 343897821072726665591932239865837050832985265395313322939699825823385192855519977695410374052143169831228013461530043442942641383731811377547354065003914308485868207072104388607793744747899632482262542436776272784773184731613402764194675432678586757619935700163437925384645669010977537744250702490324273428191576302526052038578788416864649382553504065720525046179801163148566506221386858716115461442811926767667731789897803376485600954384020814425683497159642415164881364436950353830485103112375957927828095657699888687593982387758751333816735418079571539255905236004176045544986536572331943718219295958068258978142118041858133458338118438183218153873924356511793282276480207412296816481479134573455865996943087475021364168230417000319256272289197109555238219268252439964557872113701757770274824366268373801912465345566425051875279445714162901624568207875581003698339734888982469146889833283327622760656954211406354942129856088957052407120689824344967593171 556438363152701569092877029094011549603922894933274689345103942177546693440661984514793665131169860482658452943944954722036797849542407502327723952222663725125684271191584218543112716832477429394520153436180167480307881700193710759621043417647092542320507511137733524807722064684018583147701828943188005365891135871965789758933804344723725883412397817742290675995093649473639834178434035157244898783933078470059036081580151714876242566263197032376416930108426205136672545149230541273220637367158607189180352454677728809626538016131464588435132988071236124679042334435072194722168515466785524211971416193027043437632586135585782530683782989928213210387047080116148998625091082537871810276351997797109587380031248546824589358557522812373974527628082103806042438921405047458026484144869411686394418254827193194895469429833742864586080108594018924124940313479087472529572303162295574702369563678860667503693280185224635785449725068327048112750871019096160600978 900336184225428234684809268959848600436908160328588012284803768000931886296181962210204039183313030313886466405474998164979439233274218879875078017226578033611552478263688607150906461580377061876782695872956440265081066431807113523815718850325679299940443211301171450192367733694996120891952531433512278794082712174491841797512592761588375265965901883462815722174894812622206340399820893873360360226745005237726767871477955091361843520647217846802100427268068620301553909586180895103705740479534565117008448112377617497220520403890215922251868406150807663934947570439248240267155052039117467930190712151095302415774704177443915989021901428111431364260971436627942280901571289950168626757831132370565453376974336021845953526787939812693230799917279213361280658189657487422584356258571169456669242621095566996807934775400167916461359554308181825749508521354668476227912038051278043849259396962188290264350234396630990727579581157284100519871560843441128194149 1456774547378129803777686298053860150040831055261862701629907710178478579736843946724997704314482890796544919349419952887016237082816626382202801969449241758737236749455272825694019178412854491271302849309136607745388948132000824283436762267972771842260950722438904975000089798379014704039654360376700284159973848046457631556446397106312101149378299701205106398169988462095846174578254929030605259010678083707785803953058106806238086086910414879178517357376494825438226454735411436376926377846693172306188800567055346306847058420021680510687001394222043788613989904874320434989323567505902992142162128344122345853407290313029698519705684418039644574648018516744091279526662372488040437034183130167675040757005584568670542885345462625067205327545361317167323097111062534880610840403440581143063660875922760191703404205233910781047439662902200749874448834833755948757484341213573618551628960641048957768043514581855626513029306225611148632622431862537288795127 2357110731603558038462495567013708750477739215590450713914711478179410466033025908935201743497795921110431385754894951051995676316090845262077879986675819792348789227718961432844925639993231553148085545182093048010470014563807937807252481118298451142201393933740076425192457532074010824931606891810212562954056560220949473353958989867900476415344201584667922120344883274718052514978075822903965619237423088945512571824536061897599929607557632725980617784644563445739780364321592331480632118326227737423197248679432963804067578823911896432938869800372851452548937475313568675256478619545020460072352840495217648269181994490473614508727585846151075938908989953372033560428233662438209063792014262538240494133979920590516496412133402437760436127462640530528603755300720022303195196662011750599732903497018327188511338980634078697508799217210382575623957356188424424985396379264851662400888357603237248032393748978486617240608887382895249152493992705978416989276 3813885278981687842240181865067568900518570270852313415544619188357889045769869855660199447812278811906976305104314903939011913398907471644280681956125061551086025977174234258538944818406086044419388394491229655755858962695808762090689243386271222984462344656178981400192547330453025528971261252186912847114030408267407104910405386974212577564722501285873028518514871736813898689556330751934570878248101172653298375777594168703838015694468047605159135142021058271178006819057003767857558496172920909729386049246488310110914637243933576943625871194594895241162927380187889110245802187050923452214514968839339994122589284803503313028433270264190720513557008470116124839954896034926249500826197392705915534890985505159187039297478865062827641455008001847695926852411782557183806037065452331742796564372941087380214743185867989478556238880112583325498406191022180373742880720478425280952517318244286205800437263560342243753638193608506397785116424568515705784403 6170996010585245880702677432081277650996309486442764129459330666537299511802895764595401191310074733017407690859209854991007589714998316906358561942800881343434815204893195691383870458399317597567473939673322703766328977259616699897941724504569674126663738589919057825385004862527036353902868143997125410068086968488356578264364376842113053980066702870540950638859755011531951204534406574838536497485524261598810947602130230601437945302025680331139752926665621716917787183378596099338190614499148647152583297925921273914982216067845473376564740994967746693711864855501457785502280806595943912286867809334557642391771279293976927537160856110341796452465998423488158400383129697364458564618211655244156029024965425749703535709612267500588077582470642378224530607712502579487001233727464082342529467869959414568726082166502068176065038097322965901122363547210604798728277099743276943353405675847523453832831012538828860994247080991401646937610417274494122773679 9984881289566933722942859297148846551514879757295077545003949854895188557572765620255600639122353544924383995963524758930019503113905788550639243898925942894520841182067429949922815276805403641986862334164552359522187939955425461988630967890840897111126083246098039225577552192980061882874129396184038257182117376755763683174769763816325631544789204156413979157374626748345849894090737326773107375733625434252109323379724399305275960996493727936298888068686679988095794002435599867195749110672069556881969347172409584025896853311779050320190612189562641934874792235689346895748082993646867364501382778173897636514360564097480240565594126374532516966023006893604283240338025732290708065444409047950071563915950930908890575007091132563415719037478644225920457460124285136670807270792916414085326032242900501948940825352370057654621276977435549226620769738232785172471157820221702224305922994091809659633268276099171104747885274599908044722726841843009828558082 16155877300152179603645536729230124202511189243737841674463280521432488069375661384851001830432428277941791686822734613921027092828904105456997805841726824237955656386960625641306685735204721239554336273837875063288516917215042161886572692395410571237789821836017097050962557055507098236776997540181163667250204345244120261439134140658438685524855907026954929796234381759877801098625143901611643873219149695850920270981854629906713906298519408267438640995352301705013581185814195966533939725171218204034552645098330857940879069379624523696755353184530388628586657091190804681250363800242811276788250587508455278906131843391457168102754982484874313418489005317092441640721155429655166630062620703194227592940916356658594110716703400064003796619949286604144988067836787716157808504520380496427855500112859916517666907518872125830686315074758515127743133285443389971199434919964979167659328669939333113466099288637999965742132355591309691660337259117503951331761 26140758589719113326588396026378970754026069001032919219467230376327676626948427005106602469554781822866175682786259372851046595942809894007637049740652767132476497569028055591229501012010124881541198608002427422810704857170467623875203660286251468348915905082115136276540109248487160119651126936365201924432321721999883944613903904474764317069645111183368908953609008508223650992715881228384751248952775130103029594361579029211989867295013136203737529064038981693109375188249795833729688835843287760916521992270740441966775922691403574016945965374093030563461449326880151576998446793889678641289633365682352915420492407488937408668349108859406830384512012210696724881059181161945874695507029751144299156856867287567484685723794532627419515657427930830065445527961072852828615775313296910513181532355760418466607732871242183485307592052194064354363903023676175143670592740186681391965251664031142773099367564737171070490017630191217736383064100960513779889843 42296635889871292930233932755609094956537258244770760893930510897760164696324088389957604299987210100807967369608993986772073688771713999464634855582379591370432153955988681232536186747214846121095534881840302486099221774385509785761776352681662039586705726918132233327502666303994258356428124476546365591682526067244004206053038045133203002594501018210323838749843390268101452091341025129996395122171924825953949865343433659118703773593532544471176170059391283398122956374063991800263628561014505964951074637369071299907654992071028097713701318558623419192048106418070956258248810594132489918077883953190808194326624250880394576771104091344281143803001017527789166521780336591601041325569650454338526749797783644226078796440497932691423312277377217434210433595797860568986424279833677406941037032468620334984274640390114309315993907126952579482107036309119565114870027660151660559624580333970475886565466853375171036232149985782527428043401360078017731221604 68437394479590406256822328781988065710563327245803680113397741274087841323272515395064206769541991923674143052395253359623120284714523893472271905323032358502908651525016736823765687759224971002636733489842729908909926631555977409636980012967913507935621632000247369604042775552481418476079251412911567516114847789243888150666941949607967319664146129393692747703452398776325103084056906358381146371124699956056979459705012688330693640888545680674913699123430265091232331562313787633993317396857793725867596629639811741874430914762431671730647283932716449755509555744951107835247257388022168559367517318873161109747116658369331985439453200203687974187513029738485891402839517753546916021076680205482825906654650931793563482164292465318842827934805148264275879123758933421815040055146974317454218564824380753450882373261356492801301499179146643836470939332795740258540620400338341951589831998001618659664834418112342106722167615973745164426465461038531511111447 110734030369461699187056261537597160667100585490574441007328252171848006019596603785021811069529202024482110422004247346395193973486237892936906760905411949873340805481005418056301874506439817123732268371683032395009148405941487195398756365649575547522327358918379602931545441856475676832507375889457933107797373856487892356719979994741170322258647147604016586453295789044426555175397931488377541493296624782010929325048446347449397414482078225146089869182821548489355287936377779434256945957872299690818671267008883041782085906833459769444348602491339868947557662163022064093496067982154658477445401272063969304073740909249726562210557291547969117990514047266275057924619854345147957346646330659821352656452434576019642278604790398010266140212182365698486312719556793990801464334980651724395255597293001088435157013651470802117295406306099223318577975641915305373410648060490002511214412331972094546230301271487513142954317601756272592469866821116549242333051 179171424849052105443878590319585226377663912736378121120725993445935847342869119180086017839071193948156253474399500706018314258200761786409178666228444308376249457006022154880067562265664788126369001861525762303919075037497464605035736378617489055457948990918626972535588217408957095308586627302369500623912221645731780507386921944349137641922793276997709334156748187820751658259454837846758687864421324738067908784753459035780091055370623905821003568306251813580587619498691567068250263354730093416686267896648694783656516821595891441174995886424056318703067217907973171928743325370176827036812918590937130413820857567619058547650010491751657092178027077004760949327459372098694873367723010865304178563107085507813205760769082863329108968146987513962762191843315727412616504390127626041849474162117381841886039386912827294918596905485245867155048914974711045631951268460828344462804244329973713205895135689599855249676485217730017756896332282155080753444498 289905455218513804630934851857182387044764498226952562128054245617783853362465722965107828908600395972638363896403748052413508231686999679346085427133856258249590262487027572936369436772104605250101270233208794698928223443438951800434492744267064602980276349837006575467133659265432772141094003191827433731709595502219672864106901939090307964181440424601725920610043976865178213434852769335136229357717949520078838109801905383229488469852702130967093437489073362069942907435069346502507209312602393107504939163657577825438602728429351210619344488915396187650624880070995236022239393352331485514258319863001099717894598476868785109860567783299626210168541124271036007252079226443842830714369341525125531219559520083832848039373873261339375108359169879661248504562872521403417968725108277766244729759410382930321196400564298097035892311791345090473626890616626351005361916521318346974018656661945807752125436961087368392630802819486290349366199103271629995777549 469076880067565910074813442176767613422428410963330683248780239063719700705334842145193846747671589920794617370803248758431822489887761465755264093362300566625839719493049727816436999037769393376470272094734557002847298480936416405470229122884553658438225340755633548002721876674389867449680630494196934355621817147951453371493823883439445606104233701599435254766792164685929871694307607181894917222139274258146746894555364419009579525223326036788097005795325175650530526933760913570757472667332486524191207060306272609095119550025242651794340375339452506353692097978968407950982718722508312551071238453938230131715456044487843657510578275051283302346568201275796956579538598542537704082092352390429709782666605591646053800142956124668484076506157393624010696406188248816034473115235903808094203921527764772207235787477125391954489217276590957628675805591337396637313184982146691436822900991919520958020572650687223642307288037216308106262531385426710749222047 758982335286079714705748294033950000467192909190283245376834484681503554067800565110301675656271985893432981267206996810845330721574761145101349520496156824875429981980077300752806435809873998626571542327943351701775521924375368205904721867151618261418501690592640123469855535939822639590774633686024368087331412650171126235600725822529753570285674126201161175376836141551108085129160376517031146579857223778225585004357269802239067995076028167755190443284398537720473434368830260073264681979934879631696146223963850434533722278454593862413684864254848694004316978049963643973222112074839798065329558316939329849610054521356628767371146058350909512515109325546832963831617824986380534796461693915555241002226125675478901839516829386007859184865327273285259200969060770219452441840344181574338933680938147702528432188041423488990381529067936048102302696207963747642675101503465038410841557653865328710146009611774592034938090856702598455628730488698340744999596 1228059215353645624780561736210717613889621320153613928625614723745223254773135407255495522403943575814227598638010245569277153211462522610856613613858457391501269701473127028569243434847643392003041814422677908704622820405311784611374950990036171919856727031348273671472577412614212507040455264180221302442953229798122579607094549705969199176389907827800596430143628306237037956823467983698926063801996498036372331898912634221248647520299354204543287449079723713371003961302591173644022154647267366155887353284270123043628841828479836514208025239594301200358009076028932051924204830797348110616400796770877559981325510565844472424881724333402192814861677526822629920411156423528918238878554046305984950784892731267124955639659785510676343261371484666909269897375249019035486914955580085382433137602465912474735667975518548880944870746344527005730978501799301144279988286485611729847664458645784849668166582262461815677245378893918906561891261874125051494221643 1987041550639725339486310030244667614356814229343897174002449208426726808840935972365797198060215561707660579905217242380122483933037283755957963134354614216376699683453204329322049870657517390629613356750621260406398342329687152817279672857187790181275228721940913794942432948554035146631229897866245670530284642448293705842695275528498952746675581954001757605520464447788146041952628360215957210381853721814597916903269904023487715515375382372298477892364122251091477395671421433717286836627202245787583499508233973478162564106934430376621710103849149894362326054078895695897426942872187908681730355087816889830935565087201101192252870391753102327376786852369462884242774248515298773675015740221540191787118856942603857479176614896684202446236811940194529098344309789254939356795924266956772071283404060177264100163559972369935252275412463053833281198007264891922663387989076768258506016299650178378312591874236407712183469750621505017519992362823392239221239 3215100765993370964266871766455385228246435549497511102628063932171950063614071379621292720464159137521888178543227487949399637144499806366814576748213071607877969384926331357891293305505160782632655171173299169111021162734998937428654623847223962101131955753289187466415010361168247653671685162046466972973237872246416285449789825234468151923065489781802354035664092754025183998776096343914883274183850219850970248802182538244736363035674736576841765341443845964462481356974012607361308991274469611943470852792504096521791405935414266890829735343443451094720335130107827747821631773669536019298131151858694449812261075653045573617134594725155295142238464379192092804653930672044217012553569786527525142572011588209728813118836400407360545707608296607103798995719558808290426271751504352339205208885869972651999768139078521250880123021756990059564259699806566036202651674474688498106170474945435028046479174136698223389428848644540411579411254236948443733442882 5202142316633096303753181796700052842603249778841408276630513140598676872455007351987089918524374699229548758448444730329522121077537090122772539882567685824254669068379535687213343176162678173262268527923920429517419505064686090245934296704411752282407184475230101261357443309722282800302915059912712643503522514694709991292485100762967104669741071735804111641184557201813330040728724704130840484565703941665568165705452442268224078551050118949140243233807968215553958752645434041078595827901671857731054352300738069999953970042348697267451445447292600989082661184186723443719058716541723927979861506946511339643196640740246674809387465116908397469615251231561555688896704920559515786228585526749065334359130445152332670598013015304044748153845108547298328094063868597545365628547428619295977280169274032829263868302638493620815375297169453113397540897813830928125315062463765266364676491245085206424791766010934631101612318395161916596931246599771835972664121 8417243082626467268020053563155438070849685328338919379258577072770626936069078731608382638988533836751436936991672218278921758222036896489587116630780757432132638453305867045104636481667838955894923699097219598628440667799685027674588920551635714383539140228519288727772453670890530453974600221959179616476760386941126276742274925997435256592806561517606465676848649955838514039504821048045723758749554161516538414507634980512960441586724855525982008575251814180016440109619446648439904819176141469674525205093242166521745375977762964158281180790736052083802996314294551191540690490211259947277992658805205789455457716393292248426522059842063692611853715610753648493550635592603732798782155313276590476931142033362061483716849415711405293861453405154402127089783427405835791900298932971635182489055144005481263636441717014871695498318926443172961800597620396964327966736938453764470846966190520234471270940147632854491041167039702328176342500836720279706107003 13619385399259563571773235359855490913452935107180327655889090213369303808524086083595472557512908535980985695440116948608443879299573986612359656513348443256387307521685402732317979657830517129157192227021140028145860172864371117920523217256047466665946324703749389989129896980612813254277515281871892259980282901635836268034760026760402361262547633253410577318033207157651844080233545752176564243315258103182106580213087422781184520137774974475122251809059782395570398862264880689518500647077813327405579557393980236521699346020111661425732626238028653072885657498481274635259749206752983875257854165751717129098654357133538923235909524958972090081468966842315204182447340513163248585010740840025655811290272478514394154314862431015450042015298513701700455183847296003381157528846361590931159769224418038310527504744355508492510873616095896286359341495434227892453281799402219030835523457435605440896062706158567485592653485434864244773273747436492115678771124 22036628481886030839793288923010928984302620435519247035147667286139930744593164815203855196501442372732422632431789166887365637521610883101946773144129200688519945974991269777422616139498356085052115926118359626774300840664056145595112137807683181049485464932268678716902350651503343708252115503831071876457043288576962544777034952757837617855354194771017042994881857113490358119738366800222288002064812264698644994720722403294144961724499830001104260384311596575586838971884327337958405466253954797080104762487222403043444721997874625584013807028764705156688653812775825826800439696964243822535846824556922918554112073526831171662431584801035782693322682453068852675997976105766981383792896153302246288221414511876455638031711846726855335876751918856102582273630723409216949429145294562566342258279562043791791141186072523364206371935022339459321142093054624856781248536340672795306370423626125675367333646306200340083694652474566572949616248273212395384878127 35656013881145594411566524282866419897755555542699574691036757499509234553117250898799327754014350908713408327871906115495809516821184869714306429657477643944907253496676672509740595797328873214209308153139499654920161013528427263515635355063730647715431789636018068706032247632116156962529630785702964136437326190212798812811794979518239979117901828024427620312915064271142202199971912552398852245380070367880751574933809826075329481862274804476226512193371378971157237834149208027476906113331768124485684319881202639565144068017986287009746433266793358229574311311257100462060188903717227697793700990308640047652766430660370094898341109760007872774791649295384056858445316618930229968803636993327902099511686990390849792346574277742305377892050432557803037457478019412598106957991656153497502027503980082102318645930428031856717245551118235745680483588488852749234530335742891826141893881061731116263396352464767825676348137909430817722889995709704511063649251 57692642363031625251359813205877348882058175978218821726184424785649165297710415714003182950515793281445830960303695282383175154342795752816253202801606844633427199471667942287163211936827229299261424079257859281694461854192483409110747492871413828764917254568286747422934598283619500670781746289534036012894369478789761357588829932276077596973256022795444663307796921384632560319710279352621140247444882632579396569654532229369474443586774634477330772577682975546744076806033535365435311579585722921565789082368425042608588790015860912593760240295558063386262965124032926288860628600681471520329547814865562966206878504187201266560772694561043655468114331748452909534443292724697211352596533146630148387733101502267305430378286124469160713768802351413905619731108742821815056387136950716063844285783542125894109787116500555220923617486140575205001625681543477606015778872083564621448264304687856791630729998770968165760042790383997390672506243982916906448527378 93348656244177219662926337488743768779813731520918396417221182285158399850827666612802510704530144190159239288175601397878984671163980622530559632459084488578334452968344614796903807734156102513470732232397358936614622867720910672626382847935144476480349044204304816128966845915735657633311377075237000149331695669002560170400624911794317576091157850819872283620711985655774762519682191905019992492824953000460148144588342055444803925449049438953557284771054354517901314640182743392912217692917491046051473402249627682173732858033847199603506673562351421615837276435290026750920817504398699218123248805174203013859644934847571361459113804321051528242905981043836966392888609343627441321400170139958050487244788492658155222724860402211466091660852783971708657188586762234413163345128606869561346313287522207996428433046928587077640863037258810950682109270032330355250309207826456447590158185749587907894126351235735991436390928293428208395396239692621417512176629 151041298607208844914286150694621117661871907499137218143405607070807565148538082326805693655045937471605070248479296680262159825506776375346812835260691333211761652440012557084067019670983331812732156311655218218309084721913394081737130340806558305245266298772591563551901444199355158304093123364771036162226065147792321527989454844070395173064413873615316946928508907040407322839392471257641132740269835633039544714242874284814278369035824073430888057348737330064645391446216278758347529272503213967617262484618052724782321648049708112197266913857909485002100241559322953039781446105080170738452796620039765980066523439034772628019886498882095183711020312792289875927331902068324652673996703286588198874977889994925460653103146526680626805429655135385614276919695505056228219732265557585625190599071064333890538220163429142298564480523399386155683734951575807961266088079910021069038422490437444699524856350006704157196433718677425599067902483675538323960704007 244389954851386064577212488183364886441685639020055614560626789355965964999365748939608204359576081661764309536654898078141144496670756997877372467719775821790096105408357171880970827405139434326202888544052577154923707589634304754363513188741702781725615342976896379680868290115090815937404500440008036311557760816794881698390079755864712749155571724435189230549220892696182085359074663162661125233094788633499692858831216340259082294484873512384445342119791684582546706086399022151259746965420705013668735886867680406956054506083555311800773587420260906617937517994612979790702263609478869956576045425213968993926168373882343989479000303203146711953926293836126842320220511411952093995396873426546249362222678487583615875828006928892092897090507919357322934108282267290641383077394164455186536912358586541886966653210357729376205343560658197106365844221608138316516397287736477516628580676187032607418982701242440148632824646970853807463298723368159741472880636 395431253458594909491498638877986004103557546519192832704032396426773530147903831266413898014622019133369379785134194758403304322177533373224185302980467155001857757848369728965037847076122766138935044855707795373232792311547698836100643529548261086970881641749487943232769734314445974241497623804779072473783825964587203226379534599935107922219985598050506177477729799736589408198467134420302257973364624266539237573074090625073360663520697585815333399468529014647192097532615300909607276237923918981285998371485733131738376154133263423998040501278170391620037759553935932830483709714559040695028842045253734973992691812917116617498886802085241895664946606628416718247552413480276746669393576713134448237200568482509076528931153455572719702520163054742937211027977772346869602809659722040811727511429650875777504873373786871674769824084057583262049579173183946277782485367646498585667003166624477306943839051249144305829258365648279406531201207043698065433584643 639821208309980974068711127061350890545243185539248447264659185782739495147269580206022102374198100795133689321789092836544448818848290371101557770700242976791953863256726900846008674481262200465137933399760372528156499901182003590464156718289963868696496984726384322913638024429536790178902124244787108785341586781382084924769614355799820671375557322485695408026950692432771493557541797582963383206459412900038930431905306965332442958005571098199778741588320699229738803619014323060867023203344623994954734258353413538694430660216818735798814088698431298237975277548548912621185973324037910651604887470467703967918860186799460606977887105288388607618872900464543560567772924892228840664790450139680697599423246970092692404759160384464812599610670974100260145136260039637510985887053886495998264423788237417664471526584144601050975167644715780368415423394792084594298882655382976102295583842811509914362821752491584454462083012619133213994499930411857806906465279 1035252461768575883560209765939336894648800732058441279968691582209513025295173411472436000388820119928503069106923287594947753141025823744325743073680710131793811621105096629811046521557384966604072978255468167901389292212729702426564800247838224955667378626475872266146407758743982764420399748049566181259125412745969288151149148955734928593595542920536201585504680492169360901756008932003265641179824037166578168004979397590405803621526268684015112141056849713876930901151629623970474299441268542976240732629839146670432806814350082159796854589976601689858013037102484845451669683038596951346633729515721438941911551999716577224476773907373630503283819507092960278815325338372505587334184026852815145836623815452601768933690313840037532302130834028843197356164237811984380588696713608536809991935217888293441976399957931472725744991728773363630465002567976030872081368023029474687962587009435987221306660803740728760291341378267412620525701137455555872340049922 1675073670078556857628920893000687785194043917597689727233350767992252520442442991678458102763018220723636758428712380431492201959874114115427300844380953108585765484361823530657055196038647167069210911655228540429545792113911706017028956966128188824363875611202256589060045783173519554599301872294353290044466999527351373075918763311534749264971100243021896993531631184602132395313550729586229024386283450066617098436884704555738246579531839782214890882645170413106669704770643947031341322644613166971195466888192560209127237474566900895595668678675032988095988314651033758072855656362634861998238616986189142909830412186516037831454661012662019110902692407557503839383098263264734427998974476992495843436047062422694461338449474224502344901741505002943457501300497851621891574583767495032808256359006125711106447926542076073776720159373489143998880425962768115466380250678412450790258170852247497135669482556232313214753424390886545834520201067867413679246515201 2710326131847132741189130658940024679842844649656131007202042350201765545737616403150894103151838340652139827535635668026439955100899937859753043918061663240379577105466920160468101717596032133673283889910696708330935084326641408443593757213966413780031254237678128855206453541917502319019701620343919471303592412273320661227067912267269677858566643163558098579036311676771493297069559661589494665566107487233195266441864102146144050201058108466230003023702020126983600605922273571001815622085881709947436199518031706879560044288916983055392523268651634677954001351753518603524525339401231813344872346501910581851741964186232615055931434920035649614186511914650464118198423601637240015333158503845310989272670877875296230272139788064539877203872339031786654857464735663606272163280481103569618248294224014004548424326500007546502465151102262507629345428530744146338461618701441925478220757861683484356976143359973041975044765769153958455045902205322969551586565123 4385399801925689598818051551940712465036888567253820734435393118194018066180059394829352205914856561375776585964348048457932157060774051975180344762442616348965342589828743691125156913634679300742494801565925248760480876440553114460622714180094602604395129848880385444266499325091021873619003492638272761348059411800672034302986675578804427123537743406579995572567942861373625692383110391175723689952390937299812364878748806701882296780589948248444893906347190540090270310692917518033156944730494876918631666406224267088687281763483883950988191947326667666049989666404552361597380995763866675343110963488099724761572376372748652887386095932697668725089204322207967957581521864901974443332132980837806832708717940297990691610589262289042222105613844034730112358765233515228163737864248598602426504653230139715654872253042083620279185310475751651628225854493512261804841869379854376268478928713930981492645625916205355189798190160040504289566103273190383230833080324 7095725933772822340007182210880737144879733216909951741637435468395783611917675797980246309066694902027916413499983716484372112161673989834933388680504279589344919695295663851593258631230711434415778691476621957091415960767194522904216471394061016384426384086558514299472952867008524192638705112982192232651651824073992695530054587846074104982104386570138094151604254538145118989452670052765218355518498424533007631320612908848026346981648056714674896930049210667073870916615191089034972566816376586866067865924255973968247326052400867006380715215978302344003991018158070965121906335165098488687983309990010306613314340558981267943317530852733318339275716236858432075779945466539214458665291484683117821981388818173286921882729050353582099309486183066516767216229969178834435901144729702172044752947454153720203296579542091166781650461578014159257571283024256408143303488081296301746699686575614465849621769276178397164842955929194462744612005478513352782419645447 11481125735698511938825233762821449609916621784163772476072828586589801678097735192809598514981551463403692999464331764942304269222448041810113733442946895938310262285124407542718415544865390735158273493042547205851896837207747637364839185574155618988821513935438899743739452192099546066257708605620464993999711235874664729833041263424878532105642129976718089724172197399518744681835780443940942045470889361832819996199361715549908643762238004963119790836396401207164141227308108607068129511546871463784699532330480241056934607815884750957368907163304970010053980684562623326719287330928965164031094273478110031374886716931729920830703626785430987064364920559066400033361467331441188901997424465520924654690106758471277613493318312642624321415100027101246879574995202694062599639008978300774471257600684293435858168832584174787060835772053765810885797137517768669948145357461150678015178615289545447342267395192383752354641146089234967034178108751703736013252725771 18576851669471334278832415973702186754796355001073724217710264054985585290015410990789844824048246365431609412964315481426676381384122031645047122123451175527655181980420071394311674176096102169574052184519169162943312797974942160269055656968216635373247898021997414043212405059108070258896413718602657226651363059948657425363095851270952637087746516546856183875776451937663863671288450496706160400989387786365827627519974624397934990743886061677794687766445611874238012143923299696103102078363248050650767398254736215025181933868285617963749622379283272354057971702720694291841193666094063652719077583468120337988201057490711188774021157638164305403640636795924832109141412797980403360662715950204042476671495576644564535376047362996206420724586210167763646791225171872897035540153708002946516010548138447156061465412126265953842486233631779970143368420542025078091448845542446979761878301865159913191889164468562149519484102018429429778790114230217088795672371218 30057977405169846217657649736523636364712976785237496693783092641575386968113146183599443339029797828835302412428647246368980650606570073455160855566398071465965444265544478937030089720961492904732325677561716368795209635182689797633894842542372254362069411957436313786951857251207616325154122324223122220651074295823322155196137114695831169193388646523574273599948649337182608353124230940647102446460277148198647623719336339947843634506124066640914478602842013081402153371231408303171231589910119514435466930585216456082116541684170368921118529542588242364111952387283317618560480997023028816750171856946230369363087774422441109604724784423595292468005557354991232142502880129421592262660140415724967131361602335115842148869365675638830742139686237269010526366220374566959635179162686303720987268148822740591919634244710440740903322005685545781029165558059793748039594203003597657777056917154705360534156559660945901874125248107664396812968222981920824808925096989 48634829074641180496490065710225823119509331786311220911493356696560972258128557174389288163078044194266911825392962727795657031990692105100207977689849246993620626245964550331341763897057595074306377862080885531738522433157631957902950499510588889735317309979433727830164262310315686584050536042825779447302437355771979580559232965966783806281135163070430457475725101274846472024412681437353262847449664934564475251239310964345778625250010128318709166369287624955640165515154707999274333668273367565086234328839952671107298475552455986884868151921871514718169924090004011910401674663117092469469249440414350707351288831913152298378745942061759597871646194150916064251644292927401995623322856365929009608033097911760406684245413038635037162864272447436774173157445546439856670719316394306667503278696961187747981099656836706694745808239317325751172533978601818826131043048546044637538935219019865273726045724129508051393609350126093826591758337212137913604597468207 78692806479811026714147715446749459484222308571548717605276449338136359226241703357988731502107842023102214237821609974164637682597262178555368833256247318459586070511509029268371853618019087979038703539642601900533732068340321755536845342052961144097386721936870041617116119561523302909204658367048901667953511651595301735755370080662614975474523809594004731075673750612029080377536912378000365293909942082763122874958647304293622259756134194959623644972129638037042318886386116302445565258183487079521701259425169127189415017236626355805986681464459757082281876477287329528962155660140121286219421297360581076714376606335593407983470726485354890339651751505907296394147173056823587885982996781653976739394700246876248833114778714273867905003958684705784699523665921006816305898479080610388490546845783928339900733901547147435649130245002871532201699536661612574170637251549642295315992136174570634260202283790453953267734598233758223404726560194058738413522565196 127327635554452207210637781156975282603731640357859938516769806034697331484370260532378019665185886217369126063214572701960294714587954283655576810946096565453206696757473579599713617515076683053345081401723487432272254501497953713439795841563550033832704031916303769447280381871838989493255194409874681115255949007367281316314603046629398781755658972664435188551398851886875552401949593815353628141359607017327598126197958268639400885006144323278332811341417262992682484401540824301719898926456854644607935588265121798296713492789082342690854833386331271800451800567291341439363830323257213755688670737774931784065665438248745706362216668547114488211297945656823360645791465984225583509305853147582986347427798158636655517360191752908905067868231132142558872681111467446672976617795474917055993825542745116087881833558383854130394938484320197283374233515263431400301680300095686932854927355194435907986248007919962004661343948359852049996484897406196652018120033403 206020442034263233924785496603724742087953948929408656122046255372833690710611963890366751167293728240471340301036182676124932397185216462210945644202343883912792767268982608868085471133095771032383784941366089332805986569838275468976641183616511177930090753853173811064396501433362292402459852776923582783209460658962583052069973127292013757230182782258439919627072602498904632779486506193353993435269549100090721001156605572933023144762278518237956456313546901029724803287926940604165464184640341724129636847690290925486128510025708698496841514850791028882733677044578670968325985983397335041908092035135512860780042044584339114345687395032469378550949697162730657039938639041049171395288849929236963086822498405512904350474970467182772972872189816848343572204777388453489282516274555527444484372388529044427782567459931001566044068729323068815575933051925043974472317551645329228170919491369006542246450291710415957929078546593610273401211457600255390431642598599 333348077588715441135423277760700024691685589287268594638816061407531022194982224422744770832479614457840466364250755378085227111773170745866522455148440449365999464026456188467799088648172454085728866343089576765078241071336229182416437025180061211762794785769477580511676883305201281895715047186798263898465409666329864368384576173921412538985841754922875108178471454385780185181436100008707621576629156117418319127354563841572424029768422841516289267654964164022407287689467764905885363111097196368737572435955412723782842002814791041187696348237122300683185477611870012407689816306654548797596762772910444644845707482833084820707904063579583866762247642819554017685730105025274754904594703076819949434250296564149559867835162220091678040740420948990902444885888855900162259134070030444500478197931274160515664401018314855696439007213643266098950166567188475374773997851741016161025846846563442450232698299630377962590422494953462323397696355006452042449762632002 539368519622978675060208774364424766779639538216677250760862316780364712905594188313111521999773342698311806665286938054210159508958387208077468099350784333278792231295438797335884559781268225118112651284455666097884227641174504651393078208796572389692885539622651391576073384738563574298174899963721846681674870325292447420454549301213426296216024537181315027805544056884684817960922606202061615011898705217509040128511169414505447174530701359754245723968511065052132090977394705510050827295737538092867209283645703649268970512840499739684537863087913329565919154656448683376015802290051883839504854808045957505625749527417423935053591458612053245313197339982284674725668744066323926299883553006056912521072794969662464218310132687274451013612610765839246017090666244353651541650344585971944962570319803204943446968478245857262483075942966334914526099619113519349246315403386345389196766337932448992479148591340793920519501041547072596798907812606707432881405230601 872716597211694116195632052125124791471325127503945845399678378187895735100576412735856292832252957156152273029537693432295386620731557953943990554499224782644791695321894985803683648429440679203841517627545242862962468712510733833809515233976633601455680325392128972087750268043764856193889947150520110580140279991622311788839125475134838835201866292104190135984015511270465003142358706210769236588527861334927359255865733256077871204299124201270534991623475229074539378666862470415936190406834734461604781719601116373051812515655290780872234211325035630249104632268318695783705618596706432637101617580956402150471457010250508755761495522191637112075444982801838692411398849091598681204478256082876861955323091533812024086145294907366129054353031714830148461976555100253813800784414616416445440768251077365459111369496560712958922083156609601013476266186301994724020313255127361550222613184495891442711846890971171883109923536500534920196604167613159475331167862603 1412085116834672791255840826489549558250964665720623096160540694968260448006170601048967814832026299854464079694824631486505546129689945162021458653850009115923583926617333783139568208210708904321954168912000908960846696353685238485202593442773205991148565865014780363663823652782328430492064847114241957261815150316914759209293674776348265131417890829285505163789559568155149821103281312412830851600426566552436399384376902670583318378829825561024780715591986294126671469644257175925987017702572272554471991003246820022320783028495790520556772074412948959815023786924767379159721420886758316476606472389002359656097206537667932690815086980803690357388642322784123367137067593157922607504361809088933774476395886503474488304455427594640580067965642480669394479067221344607465342434759202388390403338570880570402558337974806570221405159099575935928002365805415514073266628658513706939419379522428340435190995482311965803629424578047607516995511980219866908212573093204 2284801714046366907451472878614674349722289793224568941560219073156156183106747013784824107664279257010616352724362324918800932750421503115965449208349233898568375621939228768943251856640149583525795686539546151823809165066195972319012108676749839592604246190406909335751573920826093286685954794264762067841955430308537070998132800251483103966619757121389695299773575079425614824245640018623600088188954427887363758640242635926661189583128949762295315707215461523201210848311119646341923208109407007016076772722847936395372595544151081301429006285737984590064128419193086074943427039483464749113708089969958761806568663547918441446576582502995327469464087305585962059548466442249521288708840065171810636431718978037286512390600722502006709122318674195499542941043776444861279143219173818804835844106821957935861669707471367283180327242256185536941478631991717508797286941913641068489641992706924231877902842373283137686739348114548142437192116147833026383543740955807 3696886830881039698707313705104223907973254458945192037720759768124416631112917614833791922496305556865080432419186956405306478880111448277986907862199243014491959548556562552082820064850858487847749855451547060784655861419881210804214702119523045583752812055421689699415397573608421717178019641379004025103770580625451830207426475027831369098037647950675200463563134647580764645348921331036430939789380994439800158024619538597244507961958775323320096422807447817327882317955376822267910225811979279570548763726094756417693378572646871821985778360150933549879152206117853454103148460370223065590314562358961121462665870085586374137391669483799017826852729628370085426685534035407443896213201874260744410908114864540761000695056150096647289190284316676168937420110997789468744485653933021193226247445392838506264228045446173853401732401355761472869480997797133022870553570572154775429061372229352572313093837855595103490368772692595749954187628128052893291756314049011 5981688544927406606158786583718898257695544252169760979280978841280572814219664628618616030160584813875696785143549281324107411630532951393952357070548476913060335170495791321026071921491008071373545541991093212608465026486077183123226810796272885176357058245828599035166971494434515003863974435643766092945726010933988901205559275279314473064657405072064895763336709727006379469594561349660031027978335422327163916664862174523905697545087725085615412130022909340529093166266496468609833433921386286586625536448942692813065974116797953123414784645888918139943280625310939529046575499853687814704022652328919883269234533633504815583968251986794345296316816933956047486234000477656965184922041939432555047339833842578047513085656872598653998312602990871668480361154774234330023628873106839998062091552214796442125897752917541136582059643611947009810959629788850531667840512485795843918703364936276804190996680228878241177108120807143892391379744275885919675300055004818 9678575375808446304866100288823122165668798711114953017001738609404989445332582243452407952656890370740777217562736237729413890510644399671939264932747719927552294719052353873108891986341866559221295397442640273393120887905958393927441512915795930760109870301250288734582369068042936721041994077022770118049496591559440731412985750307145842162695053022740096226899844374587144114943482680696461967767716416766964074689481713121150205507046500408935508552830357157856975484221873290877743659733365566157174300175037449230759352689444824945400563006039851689822432831428792983149723960223910880294337214687881004731900403719091189721359921470593363123169546562326132912919534513064409081135243813693299458247948707118808513780713022695301287502887307547837417781265772023798768114527039861191288338997607634948390125798363714989983792044967708482680440627585983554538394083057950619347764737165629376504090518084473344667476893499739642345567372403938812967056369053829 15660263920735852911024886872542020423364342963284713996282717450685562259552246872071023982817475184616474002706285519053521302141177351065891622003296196840612629889548145194134963907832874630594840939433733486001585914392035577050668323712068815936466928547078887769749340562477451724905968512666536210995222602493429632618545025586460315227352458094804991990236554101593523584538044030356492995746051839094127991354343887645055903052134225494550920682853266498386068650488369759487577093654751852743799836623980142043825326806242778068815347651928769829765713456739732512196299460077598694998359867016800888001134937352596005305328173457387708419486363496282180399153534990721374266057285753125854505587782549696856026866369895293955285815490298419505898142420546258128791743400146701189350430549822431390516023551281256126565851688579655492491400257374834086206234595543746463266468102101906180695087198313351585844585014306883534736947116679824732642356424058647 25338839296544299215890987161365142589033141674399667013284456060090551704884829115523431935474365555357251220269021756782935192651821750737830886936043916768164924608600499067243855894174741189816136336876373759394706802297993970978109836627864746696576798848329176504331709630520388445947962589689306329044719194052870364031530775893606157390047511117545088217136398476180667699481526711052954963513768255861092066043825600766206108559180725903486429235683623656243044134710243050365320753388117418900974136799017591274584679495687603014215910657968621519588146288168525495346023420301509575292697081704681892733035341071687195026688094927981071542655910058608313312073069503785783347192529566819153963835731256815664540647082917989256573318377605967343315923686318281927559857927186562380638769547430066338906149349644971116549643733547363975171840884960817640744628678601697082614232839267535557199177716397824930512061907806623177082514489083763545609412793112476 40999103217280152126915874033907163012397484637684381009567173510776113964437075987594455918291840739973725222975307275836456494792999101803722508939340113608777554498148644261378819802007615820410977276310107245396292716690029548028778160339933562633043727395408064274081050192997840170853931102355842540039941796546299996650075801480066472617399969212350080207372952577774191284019570741409447959259820094955220057398169488411262011611314951398037349918536890154629112785198612809852897847042869271644773973422997733318410006301930381083031258309897391349353859744908258007542322880379108270291056948721482780734170278424283200332016268385368779962142273554890493711226604494507157613249815319945008469423513806512520567513452813283211859133867904386849214066106864540056351601327333263569989200097252497729422172900926227243115495422127019467663241142335651726950863274145443545880700941369441737894264914711176516356646922113506711819461605763588278251769217171123 66337942513824451342806861195272305601430626312084048022851629570866665669321905103117887853766206295330976443244329032619391687444820852541553395875384030376942479106749143328622675696182357010227113613186481004790999518988023519006887996967798309329620526243737240778412759823518228616801893692045148869084660990599170360681606577373672630007447480329895168424509351053954858983501097452462402922773588350816312123441995089177468120170495677301523779154220513810872156919908855860218218600430986690545748110222015324592994685797617984097247168967866012868942006033076783502888346300680617845583754030426164673467205619495970395358704363313349851504798183613498807023299673998292940960442344886764162433259245063328185108160535731272468432452245510354192529989793182821983911459254519825950627969644682564068328322250571198359665139155674383442835082027296469367695491952747140628494933780636977295093442631109001446868708829920129888901976094847351823861182010283599 107337045731104603469722735229179468613828110949768429032418803081642779633758981090712343772058047035304701666219636308455848182237819954345275904814724143985720033604897787590001495498189972830638090889496588250187292235678053067035666157307731871962664253639145305052493810016516068787655824794400991409124602787145470357331682378853739102624847449542245248631882303631729050267520668193871850882033408445771532180840164577588730131781810628699561129072757403965501269705107468670071116447473855962190522083645013057911404692099548365180278427277763404218295865777985041510430669181059726115874810979147647454201375897920253595690720631698718631466940457168389300734526278492800098573692160206709170902682758869840705675673988544555680291586113414741041744055900047362040263060581853089520617169741935061797750495151497425602780634577801402910498323169632121094646355226892584174375634722006419032987707545820177963225355752033636600721437700610940102112951227454722 173674988244929054812529596424451774215258737261852477055270432652509445303080886193830231625824253330635678109463965341075239869682640806886829300690108174362662512711646930918624171194372329840865204502683069254978291754666076586042554154275530181292284779882882545830906569840034297404457718486446140278209263777744640718013288956227411732632294929872140417056391654685683909251021765646334253804806996796587844304282159666766198251952306306001084908226977917776373426625016324530289335047904842652736270193867028382504399377897166349277525596245629417087237871811061825013319015481740343961458565009573812127668581517416223991049424995012068482971738640781888107757825952491093039534134505093473333335942003933168890783834524275828148724038358925095234274045693230184024174519836372915471245139386617625866078817402068623962445773733475786353333405196928590462341847179639724802870568502643396328081150176929179410094064581953766489623413795458291925974133237738321 281012033976033658282252331653631242829086848211620906087689235734152224936839867284542575397882300365940379775683601649531088051920460761232105205504832318348382546316544718508625666692562302671503295392179657505165583990344129653078220311583262053254949033522027850883400379856550366192113543280847131687333866564890111075344971335081150835257142379414385665688273958317412959518542433840206104686840405242359376485122324244354928383734116934700646037299735321741874696330123793200360451495378698614926792277512041440415804069996714714457804023523392821305533737589046866523749684662800070077333375988721459581869957415336477586740145626710787114438679097950277408492352230983893138107826665300182504238624762803009596459508512820383829015624472339836276018101593277546064437580418226004991862309128552687663829312553566049565226408311277189263831728366560711556988202406532308977246203224649815361068857722749357373319420333987403090344851496069232028087084465193043 454687022220962713094781928078083017044345585473473383142959668386661670239920753478372807023706553696576057885147566990606327921603101568118934506194940492711045059028191649427249837886934632512368499894862726760143875745010206239120774465858792234547233813404910396714306949696584663596571261767293271965543130342634751793358260291308562567889437309286526082744665613003096868769564199486540358491647402038947220789404483911121126635686423240701730945526713239518248122955140117730649786543283541267663062471379069822920203447893881063735329619769022238392771609400108691537068700144540414038791940998295271709538538932752701577789570621722855597410417738732165516250178183474986177641961170393655837574566766736178487243343037096211977739662831264931510292147286507730088612100254598920463107448515170313529908129955634673527672182044752975617165133563489302019330049586172033780116771727293211689150007899678536783413484915941169579968265291527523954061217702931364 735699056196996371377034259731714259873432433685094289230648904120813895176760620762915382421588854062516437660831168640137415973523562329351039711699772811059427605344736367935875504579496935183871795287042384265309459735354335892198994777442054287802182846926938247597707329553135029788684805048140403652876996907524862868703231626389713403146579688700911748432939571320509828288106633326746463178487807281306597274526808155476055019420540175402376982826448561260122819285263910931010238038662239882589854748891111263336007517890595778193133643292415059698305346989155558060818384807340484116125316987016731291408496348089179164529716248433642711849096836682442924742530414458879315749787835693838341813191529539188083702851549916595806755287303604767786310248879785276153049680672824925454969757643723001193737442509200723092898590356030164880996861930050013576318251992704342757362974951943027050218865622427894156732905249928572670313116787596755982148302168124407 1190386078417959084471816187809797276917778019158567672373608572507475565416681374241288189445295407759092495545978735630743743895126663897469974217894713303770472664372928017363125342466431567696240295181905111025453335480364542131319769243300846522349416660331848644312014279249719693385256066815433675618420127250159614662061491917698275971036016997987437831177605184323606697057670832813286821670135209320253818063931292066597181655106963416104107928353161800778370942240404028661660024581945781150252917220270181086256210965784476841928463263061437298091076956389264249597887084951880898154917257985312003000947035280841880742319286870156498309259514575414608440992708597933865493391749006087494179387758296275366570946194587012807784494950134869699296602396166293006241661780927423845918077206158893314723645572464835396620570772400783140498161995493539315595648301578876376537479746679236238739368873522106430940146390165869742250281382079124279936209519871055771 1926085134614955455848850447541511536791210452843661961604257476628289460593441995004203571866884261821608933206809904270881159868650226226821013929594486114829900269717664385299000847045928502880112090468947495290762795215718878023518764020742900810151599507258786891909721608802854723173940871863574079271297124157684477530764723544087989374182596686688349579610544755644116525345777466140033284848623016601560415338458100222073236674527503591506484911179610362038493761525667939592670262620608021032842771969161292349592218483675072620121596906353852357789382303378419807658705469759221382271042574972328734292355531628931059906849003118590141021108611412097051365735239012392744809141536841781332521200949825814554654649046136929403591250237438474467082912645046078282394711461600248771373046963802616315917383014974036119713469362756813305379158857423589329171966553571580719294842721631179265789587739144534325096879295415798314920594498866721035918357822039180178 3116471213032914540320666635351308813708988472002229633977866049135765026010123369245491761312179669580701428752788639901624903763776890124290988147489199418600372934090592402662126189512360070576352385650852606316216130696083420154838533264043747332501016167590635536221735888052574416559196938679007754889717251407844092192826215461786265345218613684675787410788149939967723222403448298953320106518758225921814233402389392288670418329634467007610592839532772162816864703766071968254330287202553802183095689189431473435848429449459549462050060169415289655880459259767684057256592554711102280425959832957640737293302566909772940649168289988746639330368125987511659806727947610326610302533285847868826700588708122089921225595240723942211375745187573344166379515041212371288636373242527672617291124169961509630641028587438871516334040135157596445877320852917128644767614855150457095832322468310415504528956612666640756037025685581668057170875880945845315854567341910235949 5042556347647869996169517082892820350500198924845891595582123525764054486603565364249695333179063931402310361959598544172506063632427116351112002077083685533430273203808256787961127036558288573456464476119800101606978925911802298178357297284786648142652615674849422428131457496855429139733137810542581834161014375565528569723590939005874254719401210371364136990398694695611839747749225765093353391367381242523374648740847492510743655004161970599117077750712382524855358465291739907847000549823161823215938461158592765785440647933134622082171657075769142013669841563146103864915298024470323662697002407929969471585658098538704000556017293107336780351476737399608711172463186622719355111674822689650159221789657947904475880244286860871614966995425011818633462427686258449571031084704127921388664171133764125946558411602412907636047509497914409751256479710340717973939581408722037815127165189941594770318544351811175081133904980997466372091470379812566351772925163949416127 8159027560680784536490183718244129164209187396848121229559989574899819512613688733495187094491243600983011790712387184074130967396204006475402990224572884952030646137898849190623253226070648644032816861770652707923195056607885718333195830548830395475153631842440057964353193384908003556292334749221589589050731626973372661916417154467660520064619824056039924401186844635579562970152674064046673497886139468445188882143236884799414073333796437606727670590245154687672223169057811876101330837025715625399034150348024239221289077382594171544221717245184431669550300822913787922171890579181425943122962240887610208878960665448476941205185583096083419681844863387120370979191134233045965414208108537518985922378366069994397105839527584813826342740612585162799841942727470820859667457946655594005955295303725635577199440189851779152381549633072006197133800563257846618707196263872494910959487658252010274847500964477815837170930666579134429262346260758411667627492505859652076 13201583908328654532659700801136949514709386321694012825142113100663873999217254097744882427670307532385322152671985728246637031028631122826514992301656570485460919341707105978584380262628937217489281337890452809530173982519688016511553127833617043617806247517289480392484650881763432696025472559764171423211746002538901231640008093473534774784021034427404061391585539331191402717901899829140026889253520710968563530884084377310157728337958408205844748340957537212527581634349551783948331386848877448614972611506617005006729725315728793626393374320953573683220142386059891787087188603651749605819964648817579680464618763987180941761202876203420200033321600786729082151654320855765320525882931227169145144168024017898872986083814445685441309736037596981433304370413729270430698542650783515394619466437489761523757851792264686788429059130986415948390280273598564592646777672594532726086652848193605045166045316288990918304835647576600801353816640570978019400417669809068203 21360611469009439069149884519381078678918573718542134054702102675563693511830942831240069522161551133368333943384372912320767998424835129301917982526229455437491565479605955169207633488699585861522098199661105517453369039127573734844748958382447439092959879359729538356837844266671436252317807308985761012262477629512273893556425247941195294848640858483443985792772383966770965688054573893186700387139660179413752413027321262109571801671754845812572418931202691900199804803407363660049662223874593074014006761854641244228018802698322965170615091566138005352770443208973679709259079182833175548942926889705189889343579429435657882966388459299503619715166464173849453130845455088811285940091039764688131066546390087893270091923342030499267652476650182144233146313141200091290366000597439109400574761741215397100957291982116465940810608764058422145524080836856411211353973936467027637046140506445615320013546280766806755475766314155735230616162901329389687027910175668720279 34562195377338093601809585320518028193627960040236146879844215776227567511048196928984951949831858665753656096056358640567405029453466252128432974827886025922952484821313061147792013751328523079011379537551558326983543021647261751356302086216064482710766126877019018749322495148434868948343279868749932435474223632051175125196433341414730069632661892910848047184357923297962368405956473722326727276393180890382315943911405639419729530009713254018417167272160229112727386437756915443997993610723470522628979373361258249234748528014051758797008465887091579035990585595033571496346267786484925154762891538522769569808198193422838824727591335502923819748488064960578535282499775944576606465973970991857276210714414105792143078007156476184708962212687779125666450683554929361721064543248222624795194228178705158624715143774381152729239667895044838093914361110454975804000751609061560363132793354639220365179591597055797673780601961732336031969979541900367706428327845477788482 55922806846347532670959469839899106872546533758778280934546318451791261022879139760225021471993409799121990039440731552888173027878301381430350957354115481360444050300919016316999647240028108940533477737212663844436912060774835486201051044598511921803726006236748557106160339415106305200661087177735693447736701261563449018752858589355925364481302751394292032977130307264733334094011047615513427663532841069796068356938726901529301331681468099830989586203362921012927191241164279104047655834598063596642986135215899493462767330712374723967623557453229584388761028804007251205605346969318100703705818428227959459151777622858496707693979794802427439463654529134427988413345231033387892406065010756545407277260804193685413169930498506683976614689337961269899596996696129453011430543845661734195768989919920555725672435756497618670050276659103260239438441947311387015354725545528588000178933861084835685193137877822604429256368275888071262586142443229757393456238021146508761 90485002223685626272769055160417135066174493799014427814390534228018828533927336689209973421825268464875646135497090193455578057331767633558783932182001507283396535122232077464791660991356632019544857274764222171420455082422097237557353130814576404514492133113767575855482834563541174149004367046485625883210924893614624143949291930770655434113964644305140080161488230562695702499967521337840154939926021960178384300850132540949030861691181353849406753475523150125654577678921194548045649445321534119271965508577157742697515858726426482764632023340321163424751614399040822701951614755803025858468709966750729028959975816281335532421571130305351259212142594095006523695845006977964498872038981748402683487975218299477556247937654982868685576902025740395566047680251058814732495087093884358990963218098625714350387579530878771399289944554148098333352803057766362819355477154590148363311727215724056050372729474878402103036970237620407294556121985130125099884565866624297243 146407809070033158943728525000316241938721027557792708748936852679810089556806476449434994893818678263997636174937821746343751085210069014989134889536116988643840585423151093781791308231384740960078335011976886015857367143196932723758404175413088326318218139350516132961643173978647479349665454224221319330947626155178073162702150520126580798595267395699432113138618537827429036593978568953353582603458863029974452657788859442478332193372649453680396339678886071138581768920085473652093305279919597715914951643793057236160283189438801206732255580793550747813512643203048073907556961725121126562174528394978688488111753439139832240115550925107778698675797123229434512109190238011352391278103992504948090765236022493162969417868153489552662191591363701665465644676947188267743925630939546093186732208018546270076060015287376390069340221213251358572791245005077749834710202700118736363490661076808891735565867352701006532293338513508478557142264428359882493340803887770806004 236892811293718785216497580160733377004895521356807136563327386907828918090733813138644968315643946728873282310434911939799329142541836648547918821718118495927237120545383171246582969222741372979623192286741108187277822225619029961315757306227664730832710272464283708817126008542188653498669821270706945214158551048792697306651442450897236232709232040004572193300106768390124739093946090291193737543384884990152836958638991983427363055063830807529803093154409221264236346599006668200138954725241131835186917152370214978857799048165227689496887604133871911238264257602088896609508576480924152420643238361729417517071729255421167772537122055413129957887939717324441035805035244989316890150142974253350774253211240792640525665805808472421347768493389442061031692357198247082476420718033430452177695426117171984426447594818255161468630165767399456906144048062844112654065679854708884726802388292532947785938596827579408635330308751128885851698386413490007593225369754395103247 383300620363751944160226105161049618943616548914599845312264239587639007647540289588079963209462624992870918485372733686143080227751905663537053711254235484571077705968534265028374277454126113939701527298717994203135189368815962685074161481640753057150928411814799841778769182520836132848335275494928264545106177203970770469353592971023817031304499435704004306438725306217553775687924659244547320146843748020127289616427851425905695248436480261210199432833295292402818115519092141852232260005160729551101868796163272215018082237604028896229143184927422659051776900805136970517065538206045278982817766756708106005183482694561000012652672980520908656563736840553875547914225483000669281428246966758298865018447263285803495083673961961974009960084753143726497337034145435350220346348972976545364427634135718254502507610105631551537970386980650815478935293067921862488775882554827621090293049369341839521504464180280415167623647264637364408840650841849890086566173642165909251 620193431657470729376723685321782995948512070271406981875591626495467925738274102726724931525106571721744200795807645625942409370293742312084972532972353980498314826513917436274957246676867486919324719585459102390413011594434992646389918787868417787983638684279083550595895191063024786347005096765635209759264728252763467776005035421921053264013731475708576499738832074607678514781870749535741057690228633010280126575066843409333058303500311068740002525987704513667054462118098810052371214730401861386288785948533487193875881285769256585726030789061294570290041158407225867126574114686969431403461005118437523522255211949982167785189795035934038614451676557878316583719260727989986171578389941011649639271658504078444020749479770434395357728578142585787529029391343682432696767067006406997542123060252890238928955204923886713006600552748050272385079341130765975142841562409536505817095437661874787307443061007859823802953956015766250260539037255339897679791543396561012498 1003494052021222673536949790482832614892128619186006827187855866083106933385814392314804894734569196714615119281180379312085489598045647975622026244226589465069392532482451701303331524130993600859026246884177096593548200963250955331464080269509170845134567096093883392374664373583860919195340372260563474304370905456734238245358628392944870295318230911412580806177557380825232290469795408780288377837072381030407416191494694835238753551936791329950201958820999806069872577637190951904603474735562590937390654744696759408893963523373285481955173973988717229341818059212362837643639652893014710386278771875145629527438694644543167797842468016454947271015413398432192131633486210990655453006636907769948504290105767364247515833153732396369367688662895729514026366425489117782917113415979383542906550694388608493431462815029518264544570939728701087864014634198687837631617444964364126907388487031216626828947525188140238970577603280403614669379688097189787766357717038726921749 1623687483678693402913673475804615610840640689457413809063447492578574859124088495041529826259675768436359320076988024938027898968339390287706998777198943445567707358996369137578288770807861087778350966469636198983961212557685947977853999057377588633118205780372966942970559564646885705542345469026198684063635633709497706021363663814865923559331962387121157305916389455432910805251666158316029435527301014040687542766561538244571811855437102398690204484808704319736927039755289761956974689465964452323679440693230246602769844809142542067681204763050011799631859217619588704770213767579984141789739776993583153049693906594525335583032263052388985885467089956310508715352746938980641624585026848781598143561764271442691536582633502830764725417241038315301555395816832800215613880482985790540448673754641498732360418019953404977551171492476751360249093975329453812774459007373900632724483924693091414136390586196000062773531559296169864929918725352529685446149260435287934247 2627181535699916076450623266287448225732769308643420636251303358661681792509902887356334720994244965150974439358168404250113388566385038263329025021425532910637099891478820838881620294938854688637377213353813295577509413520936903309318079326886759478252772876466850335345223938230746624737685841286762158368006539166231944266722292207810793854650193298533738112093946836258143095721461567096317813364373395071094958958056233079810565407373893728640406443629704125806799617392480713861578164201527043261070095437927006011663808332515827549636378737038729028973677276831951542413853420472998852176018548868728782577132601239068503380874731068843933156482503354742700846986233149971297077591663756551546647851870038806939052415787235227134093105903934044815581762242321917998530993898965174083355224449030107225791880834982923242095742432205452448113108609528141650406076452338264759631872411724308040965338111384140301744109162576573479599298413449719473212506977474014855996 4250869019378609479364296742092063836573409998100834445314750851240256651633991382397864547253920733587333759435156429188141287534724428551036023798624476356204807250475189976459909065746715776415728179823449494561470626078622851287172078384264348111370978656839817278315783502877632330280031310312960842431642172875729650288085956022676717413982155685654895418010336291691053900973127725412347248891674409111782501724617771324382377262810996127330610928438408445543726657147770475818552853667491495584749536131157252614433653141658369617317583500088740828605536494451540247184067188052982993965758325862311935626826507833593838963906994121232919041949593311053209562338980088951938702176690605333144791413634310249630588998420738057898818523144972360117137158059154718214144874381950964623803898203671605958152298854936328219646913924682203808362202584857595463180535459712165392356356336417399455101728697580140364517640721872743344529217138802249158658656237909302790243 6878050555078525555814920008379512062306179306744255081566054209901938444143894269754199268248165698738308198793324833438254676101109466814365048820050009266841907141954010815341529360685570465053105393177262790138980039599559754596490157711151107589623751533306667613661007441108378955017717151599723000799648712041961594554808248230487511268632348984188633530104283127949196996694589292508665062256047804182877460682674004404192942670184889855971017372068112571350526274540251189680131017869018538845819631569084258626097461474174197166953962237127469857579213771283491789597920608525981846141776874731040718203959109072662342344781725190076852198432096665795910409325213238923235779768354361884691439265504349056569641414207973285032911629048906404932718920301476636212675868280916138707159122652701713183944179689919251461742656356887656256475311194385737113586611912050430151988228748141707496067066808964280666261749884449316824128515552251968631871163215383317646239 11128919574457135035179216750471575898879589304845089526880805061142195095777885652152063815502086432325641958228481262626395963635833895365401072618674485623046714392429200791801438426432286241468833573000712284700450665678182605883662236095415455700994730190146484891976790943986011285297748461912683843231290884917691244842894204253164228682614504669843528948114619419640250897667717017921012311147722213294659962407291775728575319932995885983301628300506521016894252931688021665498683871536510034430569167700241511240531114615832566784271545737216210686184750265735032036781987796578964840107535200593352653830785616906256181308688719311309771240381689976849119971664193327875174481945044967217836230679138659306200230412628711342931730152193878765049856078360631354426820742662867103330963020856373319142096478544855579681389570281569860064837513779243332576767147371762595544344585084559106951168795506544421030779390606322060168657732691054217790529819453292620436482 18006970129535660590994136758851087961185768611589344608446859271044133539921779921906263083750252131063950157021806096064650639736943362179766121438724494889888621534383211607142967787117856706521938966177975074839430705277742360480152393806566563290618481723453152505637798385094390240315465613512406844030939596959652839397702452483651739951246853654032162478218902547589447894362306310429677373403770017477537423089965780132768262603180775839272645672574633588244779206228272855178814889405528573276388799269325769866628576090006763951225507974343680543763964037018523826379908405104946686249312075324393372034744725978918523653470444501386623438813786642645030380989406566798410261713399329102527669944643008362769871826836684627964641781242785169982574998662107990639496610943783242038122143509075032326040658234774831143132226638457516321312824973629069690353759283813025696332813832700814447235862315508701697041140490771376992786248243306186422400982668675938082721 29135889703992795626173353509322663860065357916434434135327664332186328635699665574058326899252338563389592115250287358691046603372777257545167194057398980512935335926812412398944406213550142947990772539178687359539881370955924966363814629901982018991613211913599637397614589329080401525613214075425090687262230481877344084240596656736815968633861358323875691426333521967229698792030023328350689684551492230772197385497257555861343582536176661822574273973081154605139032137916294520677498760942038607706957966969567281107159690705839330735497053711559891229948714302753555863161896201683911526356847275917746025865530342885174704962159163812696394679195476619494150352653599894673584743658444296320363900623781667668970102239465395970896371933436663935032431077022739345066317353606650345369085164365448351468137136779630410824521796920027376386150338752872402267120906655575621240677398917259921398404657822053122727820531097093437161443980934360404212930802121968558519203 47142859833528456217167490268173751821251126528023778743774523603230462175621445495964589983002590694453542272272093454755697243109720619724933315496123475402823957461195624006087374000667999654512711505356662434379312076233667326843967023708548582282231693637052789903252387714174791765928679688937497531293170078836996923638299109220467708585108211977907853904552424514819146686392329638780367057955262248249734808587223335994111845139357437661846919645655788193383811344144567375856313650347567180983346766238893050973788266795846094686722561685903571773712678339772079689541804606788858212606159351242139397900275068864093228615629608314083018118009263262139180733643006461471995005371843625422891570568424676031739974066302080598861013714679449105015006075684847335705813964550433587407207307874523383794177795014405241967654023558484892707463163726501471957474665939388646937010212749960735845640520137561824424861671587864814154230229177666590635331784790644496601924 76278749537521251843340843777496415681316484444458212879102187935416790811321111070022916882254929257843134387522380813446743846482497877270100509553522455915759293388008036405031780214218142602503484044535349793919193447189592293207781653610530601273844905550652427300866977043255193291541893764362588218555400560714341007878895765957283677218969570301783545330885946482048845478422352967131056742506754479021932194084480891855455427675534099484421193618736942798522843482060861896533812411289605788690304733208460332080947957501685425422219615397463463003661392642525635552703700808472769738963006627159885423765805411749267933577788772126779412797204739881633331086296606356145579749030287921743255471192206343700710076305767476569757385648116113040047437152707586680772131318157083932776292472239971735262314931794035652792175820478512269093613502479373874224595572594964268177687611667220657244045177959614947152682202684958251315674210112026994848262586912613055121127 123421609371049708060508334045670167502567610972481991622876711538647252986942556565987506865257519952296676659794474268202441089592218496995033825049645931318583250849203660411119154214886142257016195549892012228298505523423259620051748677319079183556076599187705217204119364757429985057470573453300085749848570639551337931517194875177751385804077782279691399235438370996867992164814682605911423800462016727271667002671704227849567272814891537146268113264392730991906654826205429272390126061637172969673651499447353383054736224297531520108942177083367034777374070982297715242245505415261627951569165978402024821666080480613361162193418380440862430915214003143772511819939612817617574754402131547166147041760631019732450050372069557168618399362795562145062443228392434016477945282707517520183499780114495119056492726808440894759829844036997161801076666205875346182070238534352915114697824417181393089685698097176771577543874272823065469904439289693585483594371703257551723051 199700358908570959903849177823166583183884095416940204501978899474064043798263667636010423747512449210139811047316855081649184936074716374265134334603168387234342544237211696816150934429104284859519679594427362022217698970612851913259530330929609784829921504738357644504986341800685178349012467217662673968403971200265678939396090641135035063023047352581474944566324317478916837643237035573042480542968771206293599196756185119705022700490425636630689306883129673790429498308266291168923938472926778758363956232655813715135684181799216945531161792480830497781035463624823350794949206223734397690532172605561910245431885892362629095771207152567641843712418743025405842906236219173763154503432419468909402512952837363433160126677837033738375785010911675185109880381100020697250076600864601452959792252354466854318807658602476547552005664515509430894690168685249220406665811129317183292385436084402050333730876056791718730226076957781316785578649401720580331856958615870606844178 323121968279620667964357511868836750686451706389422196124855611012711296785206224201997930612769969162436487707111329349851626025666934871260168159652814318552925795086415357227270088643990427116535875144319374250516204494036111533311279008248688968385998103926062861709105706558115163406483040670962759718252541839817016870913285516312786448827125134861166343801762688475784829808051718178953904343430787933565266199427889347554589973305317173776957420147522404782336153134471720441314064534563951728037607732103167098190420406096748465640103969564197532558409534607121066037194711638996025642101338583963935067097966372975990257964625533008504274627632746169178354726175831991380729257834551016075549554713468383165610177049906590906994184373707237330172323609492454713728021883572118973143292032468961973375300385410917442311835508552506592695766834891124566588736049663670098407083260501583443423416574153968490307769951230604382255483088691414165815451330319128158567229 522822327188191627868206689692003333870335801806362400626834510486775340583469891838008354360282418372576298754428184431500810961741651245525302494255982705787268339323627054043421023073094711976055554738746736272733903464648963446570809339178298753215919608664420506214092048358800341755495507888625433686656513040082695810309376157447821511850172487442641288368087005954701667451288753751996384886399559139858865396184074467259612673795742810407646727030652078572765651442738011610238003007490730486401563964758980813326104587895965411171265762045028030339444998231944416832143917862730423332633511189525845312529852265338619353735832685576146118340051489194584197632412051165143883761266970484984952067666305746598770303727743624645369969384618912515282203990592475410978098484436720426103084284823428827694108044013393989863841173068016023590457003576373786995401860792987281699468696585985493757147450210760209037996028188385699041061738093134746147308288934998765411407 845944295467812295832564201560840084556787508195784596751690121499486637368676116040006284973052387535012786461539513781352436987408586116785470653908797024340194134410042411270691111717085139092591429883066110523250107958685074979882088347426987721601917712590483367923197754916915505161978548559588193404909054879899712681222661673760607960677297622303807632169849694430486497259340471930950289229830347073424131595611963814814202647101059984184604147178174483355101804577209732051552067542054682214439171696862147911516524993992713876811369731609225562897854532839065482869338629501726448974734849773489780379627818638314609611700458218584650392967684235363762552358587883156524613019101521501060501622379774129764380480777650215552364153758326149845454527600084930124706120368008839399246376317292390801069408429424311432175676681620522616286223838467498353584137910456657380106551957087568937180564024364728699345765979418990081296544826784548911962759619254126923978636 1368766622656003923700770891252843418427123310002146997378524631986261977952146007878014639333334805907589085215967698212853247949150237362310773148164779730127462473733669465314112134790179851068646984621812846795984011423334038426452897686605286474817837321254903874137289803275715846917474056448213627091565567919982408491532037831208429472527470109746448920537936700385188164710629225682946674116229906213282996991796038282073815320896802794592250874208826561927867456019947743661790070549545412700840735661621128724842629581888679287982635493654253593237299531071009899701482547364456872307368360963015625692157670903653228965436290904160796511307735724558346749990999934321668496780368491986045453690046079876363150784505393840197734123142945062360736731590677405535684218852445559825349460602115819628763516473437705422039517854688538639876680842043872140579539771249644661806020653673554430937711474575488908383762007607375780337606564877683658110067908189125689390043 2214710918123816219533335092813683502983910818197931594130214753485748615320822123918020924306387193442601871677507211994205684936558823479096243802073576754467656608143711876584803246507264990161238414504878957319234119382019113406334986034032274196419755033845387242060487558192631352079452605007801820496474622799882121172754699504969037433204767732050256552707786394815674661969969697613896963346060253286707128587408002096888017967997862778776855021387001045282969260597157475713342138091600094915279907358483276636359154575881393164794005225263479156135154063910075382570821176866183321282103210736505406071785489541967838577136749122745446904275419959922109302349587817478193109799470013487105955312425854006127531265283044055750098276901271212206191259190762335660390339220454399224595836919408210429832924902862016854215194536309061256162904680511370494163677681706302041912572610761123368118275498940217607729527987026365861634151391662232570072827527443252613368679 3583477540779820143234105984066526921411034128200078591508739385472010593272968131796035563639721999350190956893474910207058932885709060841407016950238356484595119081877381341898915381297444841229885399126691804115218130805353151832787883720637560671237592355100291116197777361468347198996926661456015447588040190719864529664286737336177466905732237841796705473245723095200862826680598923296843637462290159499990125579204040378961833288894665573369105895595827607210836716617105219375132208641145507616120643020104405361201784157770072452776640718917732749372453594981085282272303724230640193589471571699521031763943160445621067542573040026906243415583155684480456052340587751799861606579838505473151409002471933882490682049788437895947832400044216274566927990781439741196074558072899959049945297521524030058596441376299722276254712390997599896039585522555242634743217452955946703718593264434677799055986973515706516113289994633741641971757956539916228182895435632378302758722 5798188458903636362767441076880210424394944946398010185638954138957759208593790255714056487946109192792792828570982122201264617822267884320503260752311933239062775690021093218483718627804709831391123813631570761434452250187372265239122869754669834867657347388945678358258264919660978551076379266463817268084514813519746650837041436841146504338937005573846962025953509490016537488650568620910740600808350412786697254166612042475849851256892528352145960916982828652493805977214262695088474346732745602531400550378587681997560938733651465617570645944181211905507607658891160664843124901096823514871574782436026437835728649987588906119709789149651690319858575644402565354690175569278054716379308518960257364314897787888618213315071481951697930676945487486773119249972202076856464897293354358274541134440932240488429366279161739130469906927306661152202490203066613128906895134662248745631165875195801167174262472455924123842817981660107503605909348202148798255722963075630916127401 9381665999683456506001547060946737345805979074598088777147693524429769801866758387510092051585831192142983785464457032408323550707976945161910277702550289723657894771898474560382634009102154672621009212758262565549670380992725417071910753475307395538894939744045969474456042281129325750073305927919832715672555004239611180501328174177323971244669243415643667499199232585217400315331167544207584238270640572286687379745816082854811684545787193925515066812578656259704642693831367914463606555373891110147521193398692087358762722891421538070347286663098944654880061253872245947115428625327463708461046354135547469599671810433209973662282829176557933735441731328883021407030763321077916322959147024433408773317369721771108895364859919847645763076989703761340047240753641818052539455366254317324486431962456270547025807655461461406724619318304261048242075725621855763650112587618195449349759139630478966230249445971630639956107976293849145577667304742065026438618398708009218886123 15179854458587092868768988137826947770200924020996098962786647663387529010460548643224148539531940384935776614035439154609588168530244829482413538454862222962720670461919567778866352636906864504012133026389833326984122631180097682311033623229977230406552287132991647832714307200790304301149685194383649983757069817759357831338369611018470475583606248989490629525152742075233937803981736165118324839078990985073384633912428125330661535802679722277661027729561484912198448671045630609552080902106636712678921743777279769356323661625073003687917932607280156560387668912763406611958553526424287223332621136571573907435400460420798879781992618326209624055300306973285586761720938890355971039338455543393666137632267509659727108679931401799343693753935191248113166490725843894909004352659608675599027566403388511035455173934623200537194526245610922200444565928688468892557007722280444194980925014826280133404511918427554763798925957953956649183576652944213824694341361783640135013524 24561520458270549374770535198773685116006903095594187739934341187817298812327307030734240591117771577078760399499896187017911719238221774644323816157412512686378565233818042339248986646009019176633142239148095892533793012172823099382944376705284625945447226877037617307170349481919630051222991122303482699429624821998969011839697785195794446828275492405134297024351974660451338119312903709325909077349631557360072013658244208185473220348466916203176094542140141171903091364876998524015687457480527822826442937175971856715086384516494541758265219270379101215267730166635652559073982151751750931793667490707121377035072270854008853444275447502767557790742038302168608168751702211433887362297602567827074910949637231430836004044791321646989456830924895009453213731479485712961543808025862992923513998365844781582480981590084661943919145563915183248686641654310324656207120309898639644330684154456759099634761364399185403755033934247805794761243957686278851132959760491649353899647 39741374916857642243539523336600632886207827116590286702720988851204827822787855673958389130649711962014537013535335341627499887768466604126737354612274735649099235695737610118115339282915883680645275265537929219517915643352920781693977999935261856351999514010029265139884656682709934352372676316687132683186694639758326843178067396214264922411881741394624926549504716735685275923294639874444233916428622542433456647570672333516134756151146638480837122271701626084101540035922629133567768359587164535505364680953251626071410046141567545446183151877659257775655399079399059171032535678176038155126288627278695284470472731274807733226268065828977181846042345275454194930472641101789858401636058111220741048581904741090563112724722723446333150584860086257566380222205329607870548160685471668522541564769233292617936155524707862481113671809526105449131207582998793548764128032179083839311609169283039233039273282826740167553959892201762443944820610630492675827301122275289488913171 64302895375128191618310058535374318002214730212184474442655330039022126635115162704692629721767483539093297413035231528645411607006688378771061170769687248335477800929555652457364325928924902857278417504686025112051708655525743881076922376640546482297446740887066882447055006164629564403595667438990615382616319461757295855017765181410059369240157233799759223573856691396136614042607543583770142993778254099793528661228916541701607976499613554684013216813841767256004631400799627657583455817067692358331807618129223482786496430658062087204448371148038358990923129246034711730106517829927789086919956117985816661505545002128816586670543513331744739636784383577622803099224343313223745763933660679047815959531541972521399116769514045093322607415784981267019593953684815320832091968711334661446055563135078074200417137114792524425032817373441288697817849237309118204971248342077723483642293323739798332674034647225925571308993826449568238706064568316771526960260882766938842812818 104044270291985833861849581871974950888422557328774761145376318890226954457903018378651018852417195501107834426570566870272911494775154982897798525381961983984577036625293262575479665211840786537923692770223954331569624298878664662770900376575808338649446254897096147586939662847339498755968343755677748065803014101515622698195832577624324291652038975194384150123361408131821889965902183458214376910206876642226985308799588875217742732650760193164850339085543393340106171436722256791151224176654856893837172299082475108857906476799629632650631523025697616766578528325433770901139053508103827242046244745264511945976017733403624319896811579160721921482826728853076998029696984415013604165569718790268557008113446713611962229494236768539655758000645067524585974175890144928702640129396806329968597127904311366818353292639500386906146489182967394146949056820307911753735376374256807322953902493022837565713307930052665738862953718651330682650885178947264202787562005042228331725989 168347165667114025480159640407349268890637287540959235588031648929249081093018181083343648574184679040201131839605798398918323101781843361668859696151649232320054837554848915032843991140765689395202110274909979443621332954404408543847822753216354820946892995784163030033994669011969063159564011194668363448419333563272918553213597759034383660892196208994143373697218099527958504008509727041984519903985130742020513970028505416919350709150373747848863555899385160596110802837521884448734679993722549252168979917211698591644402907457691719855079894173735975757501657571468482631245571338031616328966200863250328607481562735532440906567355092492466661119611112430699801128921327728237349929503379469316372967644988686133361346263750813632978365416430048791605568129574960249534732098108140991414652691039389441018770429754292911331179306556408682844766906057617029958706624716334530806596195816762635898387342577278591310171947545100898921356949747264035729747822887809167174538807 272391435959099859342009222279324219779059844869733996733407967819476035550921199461994667426601874541308966266176365269191234596556998344566658221533611216304631874180142177608323656352606475933125803045133933775190957253283073206618723129792163159596339250681259177620934331859308561915532354950346111514222347664788541251409430336658707952544235184188527523820579507659780393974411910500198896814192007384247499278828094292137093441801133941013713894984928553936216974274244141239885904170377406146006152216294173700502309384257321352505711417199433592524080185896902253532384624846135443571012445608514840553457580468936065226464166671653188582602437841283776799158618312143250954095073098259584929975758435399745323575757987582172634123417075116316191542305465105178237372227504947321383249818943700807837123722393793298237325795739376076991715962877924941712442001090591338129550098309785473464100650507331257049034901263752229604007834926211299932535384892851395506264796 440738601626213884822168862686673488669697132410693232321439616748725116643939380545338316000786553581510098105782163668109557698338841706235517917685260448624686711734991092641167647493372165328327913320043913218812290207687481750466545883008517980543232246465422207654929000871277625075096366145014474962641681228061459804623028095693091613436431393182670897517797607187738897982921637542183416718177138126268013248856599709056444150951507688862577450884313714532327777111766025688620584164099955398175132133505872292146712291715013072360791311373169568281581843468370736163630196184167059899978646471765169160939143204468506133031521764145655243722048953714476600287539639871488304024576477728901302943403424085878684922021738395805612488833505165107797110435040065427772104325613088312797902509983090248855894152148086209568505102295784759836482868935541971671148625806925868936146294126548109362487993084609848359206848808853128525364784673475335662283207780660562680803603 713130037585313744164178084965997708448756977280427229054847584568201152194860580007332983427388428122819064371958528937300792294895840050802176139218871664929318585915133270249491303845978641261453716365177846994003247460970554957085269012800681140139571497146681385275863332730586186990628721095360586476864028892850001056032458432351799565980666577371198421338377114847519291957333548042382313532369145510515512527684694001193537592752641629876291345869242268468544751386010166928506488334477361544181284349800045992649021675972334424866502728572603160805662029365272989696014821030302503470991092080280009714396723673404571359495688435798843826324486794998253399446157952014739258119649575988486232919161859485624008497779725977978246612250580281423988652740505170606009476553118035634181152328926791056693017874541879507805830898035160836828198831813466913383590626897517207065696392436333582826588643591941105408241750072605358129372619599686635594818592673511958187068399 1153868639211527628986346947652671197118454109691120461376287201316926268838799960552671299428174981704329162477740692605410349993234681757037694056904132113554005297650124362890658951339350806589781629685221760212815537668658036707551814895809199120682803743612103592930792333601863812065725087240375061439505710120911460860655486528044891179417097970553869318856174722035258189940255185584565730250546283636783525776541293710249981743704149318738868796753555983000872528497776192617127072498577316942356416483305918284795733967687347497227294039945772729087243872833643725859645017214469563370969738552045178875335866877873077492527210199944499070046535748712729999733697591886227562144226053717387535862565283571502693419801464373783859101084085446531785763175545236033781580878731123946979054838909881305548912026689965717374336000330945596664681700749008885054739252704443076001842686562881692189076636676550953767448598881458486654737404273161971257101800454172520867872002 1866998676796841373150525032618668905567211086971547690431134785885127421033660540560004282855563409827148226849699221542711142288130521807839870196123003778483323883565257633140150255185329447851235346050399607206818785129628591664637083908609880260822375240758784978206655666332449999056353808335735647916369739013761461916687944960396690745397764547925067740194551836882777481897588733626948043782915429147299038304225987711443519336456790948615160142622798251469417279883786359545633560833054678486537700833105964277444755643659681922093796768518375889892905902198916715555659838244772066841960830632325188589732590551277648852022898635743342896371022543710983399179855543900966820263875629705873768781727143057126701917581190351762105713334665727955774415916050406639791057431849159581160207167836672362241929901231845225180166898366106433492880532562475798438329879601960283067539078999215275015665280268492059175690348954063844784110023872848606851920393127684479054940401 3020867316008369002136871980271340102685665196662668151807421987202053689872460501112675582283738391531477389327439914148121492281365203564877564253027135892037329181215381996030809206524680254441016975735621367419634322798286628372188898804419079381505178984370888571137447999934313811122078895576110709355875449134672922777343431488441581924814862518478937059050726558918035671837843919211513774033461712784082564080767281421693501080160940267354028939376354234470289808381562552162760633331631995428894117316411882562240489611347029419321090808464148618980149775032560441415304855459241630212930569184370367465068457429150726344550108835687841966417558292423713398913553135787194382408101683423261304644292426628629395337382654725545964814418751174487560179091595642673572638310580283528139262006746553667790841927921810942554502898697052030157562233311484683493069132306403359069381765562096967204741916945043012943138947835522331438847428146010578109022193581856999922812403 4887865992805210375287397012890009008252876283634215842238556773087181110906121041672679865139301801358625616177139135690832634569495725372717434449150139670520653064780639629170959461710009702292252321786020974626453107927915220036825982713028959642327554225129673549344103666266763810178432703911846357272245188148434384694031376448838272670212627066404004799245278395800813153735432652838461817816377141931381602384993269133137020416617731215969189081999152485939707088265348911708394194164686673915431818149517846839685245255006711341414887576982524508873055677231477156970964693704013697054891399816695556054801047980428375196573007471431184862788580836134696798093408679688161202671977313129135073426019569685756097254963845077308070527753416902443334595007646049313363695742429443109299469174583226030032771829153656167734669797063158463650442765873960481931399011908363642136920844561312242220407197213535072118829296789586176222957452018859184960942586709541478977752804 7908733308813579377424268993161349110938541480296883994045978760289234800778581542785355447423040192890103005504579049838954126850860928937594998702177275562557982245996021625201768668234689956733269297521642342046087430726201848409014881517448039023832733209500562120481551666201077621300511599487957066628120637283107307471374807937279854595027489584882941858296004954718848825573276572049975591849838854715464166465760550554830521496778671483323218021375506720409996896646911463871154827496318669344325935465929729401925734866353740760735978385446673127853205452264037598386269549163255327267821969001065923519869505409579101541123116307119026829206139128558410197006961815475355585080078996552396378070311996314385492592346499802854035342172168076930894774099241691986936334053009726637438731181329779697823613757075467110289172695760210493808004999185445165424468144214767001206302610123409209425149114158578085061968244625108507661804880164869763069964780291398478900565207 12796599301618789752711666006051358119191417763931099836284535533376415911684702584458035312562341994248728621681718185529786761420356654310312433151327415233078635310776661254372728129944699659025521619307663316672540538654117068445840864230476998666160287434630235669825655332467841431478944303399803423900365825431541692165406184386118127265240116651286946657541283350519661979308709224888437409666215996646845768850753819687967541913396402699292407103374659206349703984912260375579549021661005343259757753615447576241610980121360452102150865962429197636726261129495514755357234242867269024322713368817761479574670553390007476737696123778550211691994719964693106995100370495163516787752056309681531451496331566000141589847310344880162105869925584979374229369106887741300300029795439169746738200355913005727856385586229123278023842492823368957458447765059405647355867156123130643343223454684721451645556311372113157180797541414694683884762332183728948030907367000939957878318011 20705332610432369130135934999212707230129959244227983830330514293665650712463284127243390759985382187138831627186297235368740888271217583247907431853504690795636617556772682879574496798179389615758790916829305658718627969380318916854855745747925037689993020644130797790307206998668919052779455902887760490528486462714648999636780992323397981860267606236169888515837288305238510804881985796938413001516054851362309935316514370242798063410175074182615625124750165926759700881559171839450703849157324012604083689081377305643536714987714192862886844347875870764579466581759552353743503792030524351590535337818827403094540058799586578278819240085669238521200859093251517192107332310638872372832135306233927829566643562314527082439656844683016141212097753056305124143206129433287236363848448896384176931537242785425679999343304590388313015188583579451266452764244850812780335300337897644549526064808130661070705425530691242242765786039803191546567212348598711100872147292338436778883218 33501931912051158882847601005264065349321377008159083666615049827042066624147986711701426072547724181387560248868015420898527649691574237558219865004832106028715252867549344133947224928124089274784312536136968975391168508034435985300696609978402036356153308078761033460132862331136760484258400206287563914428852288146190691802187176709516109125507722887456835173378571655758172784190695021826850411182270848009155704167268189930765605323571476881908032228124825133109404866471432215030252870818329355863841442696824881885147695109074644965037710310305068401305727711255067109100738034897793375913248706636588882669210612189594055016515363864219450213195579057944624187207702805802389160584191615915459281062975128314668672286967189563178247082023338035679353512313017174587536393643888066130915131893155791153536384929533713666336857681406948408724900529304256460136202456461028287892749519492852112716261736902804399423563327454497875431329544532327659131779514293278394657201229 54207264522483528012983536004476772579451336252387067496945564120707717336611270838944816832533106368526391876054312656267268537962791820806127296858336796824351870424322027013521721726303478890543103452966274634109796477414754902155552355726327074046146328722891831250440069329805679537037856109175324404957338750860839691438968169032914090985775329123626723689215859960996683589072680818765263412698325699371465639483782560173563668733746551064523657352874991059869105748030604054480956719975653368467925131778202187528684410096788837827924554658180939165885194293014619462844241826928317727503784044455416285763750670989180633295334603949888688734396438151196141379315035116441261533416326922149387110629618690629195754726624034246194388294121091091984477655519146607874772757492336962515092063430398576579216384272838304054649872869990527859991353293549107272916537756798925932442275584300982773786967162433495641666329113494301066977896756880926370232651661585616831436084447 87709196434534686895831137009740837928772713260546151163560613947749783960759257550646242905080830549913952124922328077165796187654366058364347161863168902853067123291871371147468946654427568165327415989103243609500964985449190887456248965704729110402299636801652864710572931660942440021296256315462888319386191039007030383241155345742430200111283052011083558862594431616754856373263375840592113823880596547380621343651050750104329274057318027946431689580999816192978510614502036269511209590793982724331766574475027069413832105205863482792962264968486007567190922004269686571944979861826111103417032751092005168432961283178774688311849967814108138947592017209140765566522737922243650694000518538064846391692593818943864427013591223809372635376144429127663831167832163782462309151136225028646007195323554367732752769202372017720986730551397476268716253822853363733052740213259954220335025103793834886503228899336300041089892440948798942409226301413254029364431175878895226093285676 141916460957018214908814673014217610508224049512933218660506178068457501297370528389591059737613936918440344000976640733433064725617157879170474458721505699677418993716193398160990668380731047055870519442069518243610761462863945789611801321431056184448445965524544695961013000990748119558334112424638212724343529789867870074680123514775344291097058381134710282551810291577751539962336056659357377236578922246752086983134833310277892942791064579010955346933874807252847616362532640323992166310769636092799691706253229256942516515302652320620886819626666946733076116297284306034789221688754428830920816795547421454196711954167955321607184571763996827681988455360336906945837773038684912227416845460214233502322212509573060181740215258055567023670265520219648308823351310390337081908628561991161099258753952944311969153475210321775636603421388004128707607116402471005969277970058880152777300688094817660290196061769795682756221554443100009387123058294180399597082837464512057529370123 229625657391552901804645810023958448436996762773479369824066792016207285258129785940237302642694767468354296125898968810598860913271523937534821620584674602530486117008064769308459615035158615221197935431172761853111726448313136677068050287135785294850745602326197560671585932651690559579630368740101101043729720828874900457921278860517774491208341433145793841414404723194506396335599432499949491060459518794132708326785884060382222216848382606957387036514874623445826126977034676593503375901563618817131458280728256326356348620508515803413849084595152954300267038301553992606734201550580539934337849546639426622629673237346730009919034539578104966629580472569477672512360510960928562921417363998279079894014806328516924608753806481864939659046409949347312139991183474172799391059764787019807106454077507312044721922677582339496623333972785480397423860939255834739022018183318834373112325791888652546793424961106095723846113995391898951796349359707434428961514013343407283622655799 371542118348571116713460483038176058945220812286412588484572970084664786555500314329828362380308704386794640126875609544031925638888681816705296079306180302207905110724258167469450283415889662277068454873242280096722487911177082466679851608566841479299191567850742256632598933642438679137964481164739313768073250618742770532601402375293118782305399814280504123966215014772257936297935489159306868297038441040884795309920717370660115159639447185968342383448749430698673743339567316917495542212333254909931149986981485583298865135811168124034735904221819901033343154598838298641523423239334968765258666342186848076826385191514685331526219111342101794311568927929814579458198283999613475148834209458493313396337018838089984790494021739920506682716675469566960448814534784563136472968393349010968205712831460256356691076152792661272259937394173484526131468055658305744991296153377714525889626479983470207083621022875891406602335549834998961183472418001614828558596850807919341152025922 601167775740124018518106293062134507382217575059891958308639762100872071813630100270065665023003471855148936252774578354630786552160205754240117699890854904738391227732322936777909898451048277498266390304415041949834214359490219143747901895702626774149937170176939817304184866294129238717594849904840414811802971447617670990522681235810893273513741247426297965380619737966764332633534921659256359357497959835017503636706601431042337376487829792925729419963624054144499870316601993510998918113896873727062608267709741909655213756319683927448584988816972855333610192900392291248257624789915508699596515888826274699456058428861415341445253650920206760941149400499292251970558794960542038070251573456772393290351825166606909399247828221785446341763085418914272588805718258735935864028158136030775312166908967568401412998830375000768883271366958964923555328994914140484013314336696548899001952271872122753877045983981987130448449545226897912979821777709049257520110864151326624774681721 972709894088695135231566776100310566327438387346304546793212732185536858369130414599894027403312176241943576379650187898662712191048887570945413779197035206946296338456581104247360181866937939775334845177657322046556702270667301610427753504269468253449128738027682073936783799936567917855559331069579728579876222066360441523124083611104012055819141061706802089346834752739022268931470410818563227654536400875902298946627318801702452536127276978894071803412373484843173613656169310428494460326230128636993758254691227492954078892130852051483320893038792756366953347499230589889781048029250477464855182231013122776282443620376100672971472762262308555252718328429106831428757078960155513219085782915265706686688844004696894189741849961705953024479760888481233037620253043299072336996551485041743517879740427824758104074983167662041143208761132449449686797050572446229004610490074263424891578751855592960960667006857878537050785095061896874163294195710664086078707714959245965926707643 1573877669828819153749673069162445073709655962406196505101852494286408930182760514869959692426315648097092512632424766253293498743209093325185531479087890111684687566188904041025270080317986217273601235482072363996390916630157520754175655399972095027599065908204621891240968666230697156573154180974420143391679193513978112513646764846914905329332882309133100054727454490705786601565005332477819587012034360710919802583333920232744789912615106771819801223375997538987673483972771303939493378440127002364056366522400969402609292648450535978931905881855765611700563540399622881138038672819165986164451698119839397475738502049237516014416726413182515316193867728928399083399315873920697551289337356372038099977040669171303803588989678183491399366242846307395505626425971302035008201024709621072518830046649395393159517073813542662810026480128091414373242126045486586713017924826770812323893531023727715714837712990839865667499234640288794787143115973419713343598818579110572590701389364 2546587563917514288981239845262755640037094349752501051895065226471945788551890929469853719829627824339036089012074954151956210934257980896130945258284925318630983904645485145272630262184924157048936080659729686042947618900824822364603408904241563281048194646232303965177752466167265074428713512043999871971555415580338554036770848458018917385152023370839902144074289243444808870496475743296382814666570761586822101529961239034447242448742383750713873026788371023830847097628940614367987838766357131001050124777092196895563371540581388030415226774894558368067516887898853471027819720848416463629306880350852520252020945669613616687388199175444823871446586057357505914828072952880853064508423139287303806663729513176000697778731528145197352390722607195876738664046224345334080538021261106114262347926389823217917621148796710324851169688889223863822928923096059032942022535316845075748785109775583308675798379997697744204550019735350691661306410169130377429677526294069818556628097007 4120465233746333442730912914425200713746750312158697556996917720758354718734651444339813412255943472436128601644499720405249709677467074221316476737372815430315671470834389186297900342502910374322537316141802050039338535530982343118779064304213658308647260554436925856418721132397962231001867693018420015363234609094316666550417613304933822714484905679973002198801743734150595472061481075774202401678605122297741904113295159267192032361357490522533674250164368562818520581601711918307481217206484133365106491299493166298172664189031924009347132656750323979768080428298476352165858393667582449793758578470691917727759447718851132701804925588627339187640453786285904998227388826801550615797760495659341906640770182347304501367721206328688751756965453503272244290472195647369088739045970727186781177973039218611077138222610252987661196169017315278196171049141545619655040460143615888072678640799311024390636092988537609872049254375639486448449526142550090773276344873180391147329486371 6667052797663847731712152759687956353783844661911198608891982947230300507286542373809667132085571296775164690656574674557205920611725055117447421995657740748946655375479874331570530604687834531371473396801531736082286154431807165483382473208455221589695455200669229821596473598565227305430581205062419887334790024674655220587188461762952740099636929050812904342876032977595404342557956819070585216345175883884564005643256398301639274810099874273247547276952739586649367679230652532675469055972841264366156616076585363193736035729613312039762359431644882347835597316197329823193678114515998913423065458821544437979780393388464749389193124764072163059087039843643410913055461779682403680306183634946645713304499695523305199146452734473886104147688060699148982954518419992703169277067231833301043525899429041828994759371406963312512365857906539142019099972237604652597062995460460963821463750574894333066434472986235354076599274110990178109755936311680468202953871167250209703957583378 10787518031410181174443065674113157067530594974069896165888900667988655226021193818149480544341514769211293292301074394962455630289192129338763898733030556179262326846314263517868430947190744905694010712943333786121624689962789508602161537512668879898342715755106155678015194730963189536432448898080839902698024633768971887137606075067886562814121834730785906541677776711745999814619437894844787618023781006182305909756551557568831307171457364795781221527117108149467888260832364450982950273179325397731263107376078529491908699918645236049109492088395206327603677744495806175359536508183581363216824037292236355707539841107315882090998050352699502246727493629929315911282850606483954296103944130605987619945269877870609700514173940802574855904653514202421227244990615640072258016113202560487824703872468260440071897594017216300173562026923854420215271021379150272252103455604076851894142391374205357457070565974772963948648528486629664558205462454230558976230216040430600851287069749 17454570829074028906155218433801113421314439635981094774780883615218955733307736191959147676427086065986457982957649069519661550900917184456211320728688296928208982221794137849438961551878579437065484109744865522203910844394596674085544010721124101488038170955775385499611668329528416841863030103143259790032814658443627107724794536830839302913758763781598810884553809689341404157177394713915372834368956890066869915399807955870470581981557239069028768804069847736117255940063016983658419329152166662097419723452663892685644735648258548088871851520040088675439275060693135998553214622699580276639889496113780793687320234495780631480191175116771665305814533473572726824338312386166357976410127765552633333249769573393914899660626675276460960052341574901570210199509035632775427293180434393788868229771897302269066656965424179612685927884830393562234370993616754924849166451064537815715606141949099690523505038961008318025247802597619842667961398765911027179184087207680810555244653127 28242088860484210080598284107914270488845034610050990940669784283207610959328930010108628220768600835197751275258723464482117181190109313794975219461718853107471309068108401367307392499069324342759494822688199308325535534357386182687705548233792981386380886710881541177626863060491606378295479001224099692730839292212598994862400611898725865727880598512384717426231586401087403971796832608760160452392737896249175825156359513439301889153014603864809990331186955885585144200895381434641369602331492059828682830828742422177553435566903784137981343608435295003042952805188942173912751130883161639856713533406017149394860075603096513571189225469471167552542027103502042735621162992650312272514071896158620953195039451264524600174800616079035815956995089103991437444499651272847685309293636954276692933644365562709138554559441395912859489911754247982449642014995905197101269906668614667609748533323305047980575604935781281973896331084249507226166861220141586155414303248111411406531722876 45696659689558238986753502541715383910159474246032085715450667898426566692636666202067775897195686901184209258216372534001778732091026498251186540190407150035680291289902539216746354050947903779824978932433064830529446378751982856773249558954917082874419057666656926677238531390020023220158509104367359482763653950656226102587195148729565168641639362293983528310785396090428808128974227322675533286761694786316045740556167469309772471134571842933838759135256803621702400140958398418299788931483658721926102554281406314863198171215162332226853195128475383678482227865882078172465965753582741916496603029519797943082180310098877145051380400586242832858356560577074769559959475378816670248924199661711254286444809024658439499835427291355496776009336664005561647644008686905623112602474071348065561163416262864978205211524865575525545417796584641544684013008612660121950436357733152483325354675272404738504080643896789599999144133681869349894128259986052613334598390455792221961776376003 73938748550042449067351786649629654399004508856083076656120452181634177651965596212176404117964287736381960533475095998483895913281135812046161759652126003143151600358010940584053746550017228122584473755121264138854981913109369039460955107188710064260799944377538467854865394450511629598453988105591459175494493242868825097449595760628291034369519960806368245737016982491516212100771059931435693739154432682565221565712526982749074360287586446798648749466443759507287544341853779852941158533815150781754785385110148737040751606782066116364834538736910678681525180671071020346378716884465903556353316562925815092477040385701973658622569626055714000410898587680576812295580638371466982521438271557869875239639848475922964100010227907434532591966331753109553085088508338178470797911767708302342254097060628427687343766084306971438404907708338889527133655023608565319051706264401767150935103208595709786484656248832570881973040464766118857120295121206194199490012693703903633368308098879 119635408239600688054105289191345038309163983102115162371571120080060744344602262414244180015159974637566169791691468532485674645372162310297348299842533153178831891647913479800800100600965131902409452687554328969384428291861351896234204666143627147135219002044195394532103925840531652818612497209958818658258147193525051200036790909357856203011159323100351774047802378581945020229745287254111227025916127468881267306268694452058846831422158289732487508601700563128989944482812178271240947465298809503680887939391555051903949777997228448591687733865386062360007408536953098518844682638048645472849919592445613035559220695800850803673950026641956833269255148257651581855540113750283652770362471219581129526084657500581403599845655198790029367975668417115114732732517025084093910514241779650407815260476891292665548977609172546963950325504923531071817668032221225441002142622134919634260457883868114524988736892729360481972184598447988207014423381192246812824611084159695855330084474882 193574156789643137121457075840974692708168491958198239027691572261694921996567858626420584133124262373948130325166564530969570558653298122343510059494659156321983492005924420384853847150982360024993926442675593108239410204970720935695159773332337211396018946421733862386969320291043282417066485315550277833752640436393876297486386669986147237380679283906720019784819361073461232330516347185546920765070560151446488871981221434807921191709744736531136258068144322636277488824665958124182105999113960285435673324501703788944701384779294564956522272602296741041532589208024118865223399522514549029203236155371428128036261081502824462296519652697670833680153735938228394151120752121750635291800742777451004765724505976504367699855883106224561959942000170224667817821025363262564708426009487952750069357537519720352892743693479518402355233213262420598951323055829790760053848886536686785195561092463824311473393141561931363945225063214107064134718502398441012314623777863599488698392573761 313209565029243825175562365032319731017332475060313401399262692341755666341170121040664764148284237011514300116858033063455245204025460432640858359337192309500815383653837900185653947751947491927403379130229922077623838496832072831929364439475964358531237948465929256919073246131574935235678982525509096492010787629918927497523177579344003440391838607007071793832621739655406252560261634439658147790986687620327756178249915886866768023131903026263623766669844885765267433307478136395423053464412769789116561263893258840848651162776523013548210006467682803401539997744977217384068082160563194502053155747817041163595481777303675265970469679339627666949408884195879976006660865872034288062163213997032134291809163477085771299701538305014591327917668587339782550553542388346658618940251267603157884618014411013018441721302652065366305558718185951670768991088051016201055991508671606419456018976331938836462130034291291845917409661662095271149141883590687825139234862023295344028477048643 506783721818886962297019440873294423725500967018511640426954264603450588337737979667085348281408499385462430442024597594424815762678758554984368418831851465822798875659762320570507794902929851952397305572905515185863248701802793767624524212808301569927256894887663119306042566422618217652745467841059374325763428066312803795009564249330150677772517890913791813617441100728867484890777981625205068556057247771774245050231137321674689214841647762794760024737989208401544922132144094519605159463526730074552234588394962629793352547555817578504732279069979544443072586953001336249291481683077743531256391903188469291631742858806499728266989332037298500629562620134108370157781617993784923353963956774483139057533669453590138999557421411239153287859668757564450368374567751609223327366260755555907953975551930733371334464996131583768660791931448372269720314143880806961109840395208293204651580068795763147935523175853223209862634724876202335283860385989128837453858639886894832726869622404 819993286848130787472581805905614154742833442078825041826216956945206254678908100707750112429692736396976730558882630657880060966704218987625226778169043775323614259313600220756161742654877343879800684703135437263487087198634866599553888652284265928458494843353592376225115812554193152888424450366568470817774215696231731292532741828674154118164356497920863607450062840384273737451039616064863216347043935392102001228481053208541457237973550789058383791407834094166812355439622230915028212927939499863668795852288221470642003710332340592052942285537662347844612584697978553633359563843640938033309547651005510455227224636110174994237459011376926167578971504329988346164442483865819211416127170771515273349342832930675910299258959716253744615777337344904232918928110139955881946306512023159065838593566341746389776186298783649134966350649634323940489305231931823162165831903879899624107599045127701984397653210144515055780044386538297606433002269579816662593093501910190176755346671047 1326777008667017749769601246778908578468334409097336682253171221548656843016646080374835460711101235782439161000907228252304876729382977542609595197000895241146413134973362541326669537557807195832197990276040952449350335900437660367178412865092567498385751738241255495531158378976811370541169918207627845143537643762544535087542306078004304795936874388834655421067503941113141222341817597690068284903101183163876246278712190530216146452815198551853143816145823302568357277571766325434633372391466229938221030440683184100435356257888158170557674564607641892287685171650979889882651045526718681564565939554193979746858967494916674722504448343414224668208534124464096716322224101859604134770091127545998412406876502384266049298816381127492897903637006102468683287302677891565105273672772778714973792569118272479761110651294915232903627142581082696210209619375812630123275672299088192828759179113923465132333176385997738265642679111414499941716862655568945500046952141797085009482216293451 2146770295515148537242183052684522733211167851176161724079388178493863097695554181082585573140793972179415891559789858910184937696087196530234821975169939016470027394286962762082831280212684539711998674979176389712837423099072526966732301517376833426844246581594847871756274191531004523429594368574196315961311859458776266380075047906678458914101230886755519028517566781497414959792857213754931501250145118555978247507193243738757603690788749340911527607553657396735169633011388556349661585319405729801889826292971405571077359968220498762610616850145304240132297756348958443516010609370359619597875487205199490202086192131026849716741907354791150835787505628794085062486666585725423346186218298317513685756219335314941959598075340843746642519414343447372916206230788031520987219979284801874039631162684614226150886837593698882038593493230717020150698924607744453285441504202968092452866778159051167116730829596142253321422723497952797548149864925148762162640045643707275186237562964498 3473547304182166287011784299463431311679502260273498406332559400042519940712200261457421033851895207961855052560697087162489814425470174072844417172170834257616440529260325303409500817770491735544196665255217342162187758999510187333910714382469400925229998319836103367287432570507815893970764286781824161104849503221320801467617353984682763710038105275590174449585070722610556182134674811444999786153246301719854493785905434268973750143603947892764671423699480699303526910583154881784294957710871959740110856733654589671512716226108656933168291414752946132419982927999938333398661654897078301162441426759393469948945159625943524439246355698205375503996039753258181778808890687585027480956309425863512098163095837699208008896891721971239540423051349549841599493533465923086092493652057580589013423731802886705911997488888614114942220635811799716360908543983557083408717176502056285281625957272974632249064005982139991587065402609367297489866727580717707662686997785504360195719779257949 5620317599697314824253967352147954044890670111449660130411947578536383038407754442540006606992689180141270944120486946072674752121557370603079239147340773274086467923547288065492332097983176275256195340234393731875025182098582714300643015899846234352074244901430951239043706762038820417400358655356020477066161362680097067847692401891361222624139336162345693478102637504107971141927532025199931287403391420275832741293098678007731353834392697233676199031253138096038696543594543438133956543030277689542000683026625995242590076194329155695778908264898250372552280684348896776914672264267437920760316913964592960151031351756970374155988263052996526339783545382052266841295557273310450827142527724181025783919315173014149968494967062814986182942465692997214515699764253954607079713631342382463053054894487500932062884326482312996980814129042516736511607468591301536694158680705024377734492735432025799365794835578282244908488126107320095038016592505866469825327043429211635381957342222447 9093864903879481111265751651611385356570172371723158536744506978578902979119954703997427640844584388103125996681184033235164566547027544675923656319511607531702908452807613368901832915753668010800392005489611074037212941098092901634553730282315635277304243221267054606331139332546636311371122942137844638171010865901417869315309755876043986334177441437935867927687708226718527324062206836644931073556637721995687235079004112276705103977996645126440870454952618795342223454177698319918251500741149649282111539760280584914102792420437812628947199679651196504972263612348835110313333919164516221922758340723986430099976511382913898595234618751201901843779585135310448620104447960895478308098837150044537882082411010713357977391858784786225723365517042547056115193297719877693172207283399963052066478626290387637974881815370927111923034764854316452872516012574858620102875857207080663016118692705000431614858841560422236495553528716687392527883320086584177488014041214715995577677121480396 14714182503576795935519719003759339401460842483172818667156454557115286017527709146537434247837273568244396940801670979307839318668584915279002895466852380805789376376354901434394165013736844286056587345724004805912238123196675615935196746182161869629378488122698005845374846094585456728771481597493865115237172228581514937163002157767405208958316777600281561405790345730826498465989738861844862360960029142271519976372102790284436457812389342360117069486205756891380919997772241758052208043771427338824112222786906580156692868614766968324726107944549446877524544296697731887228006183431954142683075254688579390251007863139884272751222881804198428183563130517362715461400005234205929135241364874225563666001726183727507945886825847601211906307982735544270630893061973832300251920914742345515119533520777888570037766141853240108903848893896833189384123481166160156797034537912105040750611428137026230980653677138704481404041654824007487565899912592450647313341084643927630959634463702843 23808047407456277046785470655370724758031014854895977203900961535694188996647663850534861888681857956347522937482855012543003885215612459954926551786363988337492284829162514803295997929490512296856979351213615879949451064294768517569750476464477504906682731343965060451705985427132093040142604539631709753408183094482932806478311913643449195292494219038217429333478053957545025790051945698489793434516666864267207211451106902561141561790385987486557939941158375686723143451949940077970459544512576988106223762547187165070795661035204780953673307624200643382496807909046566997541340102596470364605833595412565820350984374522798171346457500555400330027342715652673164081504453195101407443340202024270101548084137194440865923278684632387437629673499778091326746086359693709993424128198142308567186012147068276208012647957224167220826883658751149642256639493741018776899910395119185703766730120842026662595512518699126717899595183540694880093783232679034824801355125858643626537311585183239 38522229911033072982305189659130064159491857338068795871057416092809475014175372997072296136519131524591919878284525991850843203884197375233929447253216369143281661205517416237690162943227356582913566696937620685861689187491444133504947222646639374536061219466663066297080831521717549768914086137125574868645355323064447743641314071410854404250810996638498990739268399688371524256041684560334655795476696006538727187823209692845578019602775329846675009427364132578104063449722181836022667588284004326930335985334093745227488529649971749278399415568750090260021352205744298884769346286028424507288908850101145210601992237662682444097680382359598758210905846170035879542904458429307336578581566898495665214085863378168373869165510479988649535981482513635597376979421667542293676049112884654082305545667846164778050414099077407329730732552647982831640762974907178933696944933031290744517341548979052893576166195837831199303636838364702367659683145271485472114696210502571257496946048886082 62330277318489350029090660314500788917522872192964773074958377628503664010823036847607158025200989480939442815767381004393847089099809835188855999039580357480773946034679931040986160872717868879770546048151236565811140251786212651074697699111116879442743950810628126748786816948849642809056690676757284622053538417547380550119625985054303599543305215676716420072746453645916550046093630258824449229993362870805934399274316595406719581393161317333232949368522508264827206901672121913993127132796581315036559747881280910298284190685176530232072723192950733642518160114790865882310686388624894871894742445513711030952976612185480615444137882914999088238248561822709043624408911624408744021921768922765766762170000572609239792444195112376087165654982291726924123065781361252287100177311026962649491557814914440986063062056301574550557616211399132473897402468648197710596855328150476448284071669821079556171678714536957917203232021905397247753466377950520296916051336361214884034257634069321 100852507229522423011395849973630853077014729531033568946015793721313139024998409844679454161720121005531362694051906996244690292984007210422785446292796726624055607240197347278676323815945225462684112745088857251672829439277656784579644921757756253978805170277291193045867648470567192577970776813882859490698893740611828293760940056465158003794116212315215410812014853334288074302135314819159105025470058877344661587097526288252297600995936647179907958795886640842931270351394303750015794721080585641966895733215374655525772720335148279510472138761700823902539512320535164767080032674653319379183651295614856241554968849848163059541818265274597846449154407992744923167313370053716080600503335821261431976255863950777613661609705592364736701636464805362521500045203028794580776226423911616731797103482760605764113476155378981880288348764047115305538165443555376644293800261181767192801413218800132449747844910374789116506868860270099615413149523222005769030747546863786141531203682955403 163182784548011773040486510288131641994537601723998342020974171349816803035821446692286612186921110486470805509819288000638537382083817045611641445332377084104829553274877278319662484688663094342454658793240093817483969691063869435654342620868873133421549121087919319794654465419416835387027467490640144112752432158159208843880566041519461603337421427991931830884761306980204624348228945077983554255463421748150595986371842883659017182389097964513140908164409149107758477253066425664008921853877166957003455481096655565824056911020324809742544861954651557545057672435326030649390719063278214251078393741128567272507945462033643674985956148189596934687402969815453966791722281678124824622425104744027198738425864523386853454053900704740823867291447097089445623110984390046867876403734938579381288661297675046750176538211680556430845964975446247779435567912203574354890655589332243641085484888621212005919523624911747033710100882175496863166615901172526065946798883225001025565461317024724 264035291777534196051882360261762495071552331255031910966989965071129942060819856536966066348641231492002168203871194996883227675067824256034426891625173810728885160515074625598338808504608319805138771538328951069156799130341526220233987542626629387400354291365210512840522113889984027964998244304523003603451325898771037137641506097984619607131537640307147241696776160314492698650364259897142659280933480625495257573469369171911314783385034611693048866960295789950689747604460729414024716574957752598970351214312030221349829631355473089253017000716352381447597184755861195416470751737931533630262045036743423514062914311881806734527774413464194781136557377808198889959035651731840905222928440565288630714681728474164467115663606297105560568927911902451967123156187418841448652630158850196113085764780435652514290014367059538311134313739493363084973733355758950999184455850514010833886898107421344455667368535286536150216969742445596478579765424394531834977546430088787167096664999980127 427218076325545969092368870549894137066089932979030252987964136420946745096641303229252678535562341978472973713690482997521765057151641301646068336957550894833714713789951903918001293193271414147593430331569044886640768821405395655888330163495502520821903412453129832635176579309400863352025711795163147716203758056930245981522072139504081210468959068299079072581537467294697322998593204975126213536396902373645853559841212055570331965774132576206189775124704939058448224857527155078033638428834919555973806695408685787173886542375797898995561862671003938992654857191187226065861470801209747881340438777871990786570859773915450409513730561653791715823960347623652856750757933409965729845353545309315829453107592997551320569717507001846384436219358999541412746267171808888316529033893788775494374426078110699264466552578740094741980278714939610864409301267962525354075111439846254474972382996042556461586892160198283183927070624621093341746381325567057900924345313313788192662126317004851 691253368103080165144251230811656632137642264234062163954954101492076687157461159766218744884203573470475141917561677994404992732219465557680495228582724705562599874305026529516340101697879733952732201869897995955797567951746921876122317706122131908222257703818340345475698693199384891317023956099686151319655083955701283119163578237488700817600496708606226314278313627609190021648957464872268872817330382999141111133310581227481646749159167187899238642085000729009137972461987884492058355003792672154944157909720716008523716173731270988248578863387356320440252041947048421482332222539141281511602483814615414300633774085797257144041504975117986496960517725431851746709793585141806635068281985874604460167789321471715787685381113298951945005147270901993379869423359227729765181664052638971607460190858546351778756566945799633053114592454432973949383034623721476353259567290360265308859281103463900917254260695484819334144040367066689820326146749961589735901891743402575359758791316984978 1118471444428626134236620101361550769203732197213092416942918237913023432254102462995471423419765915448948115631252160991926757789371106859326563565540275600396314588094978433434341394891151148100325632201467040842438336773152317532010647869617634429044161116271470178110875272508785754669049667894849299035858842012631529100685650376992782028069455776905305386859851094903887344647550669847395086353727285372786964693151793283051978714933299764105428417209705668067586197319515039570091993432627591710917964605129401795697602716107068887244140726058360259432906899138235647548193693340351029392942922592487405087204633859712707553555235536771778212784478073055504603460551518551772364913635531183920289620896914469267108255098620300798329441366629901534792615690531036618081710697946427747101834616936657051043223119524539727795094871169372584813792335891684001707334678730206519783831664099506457378841152855683102518071110991687783162072528075528647636826237056716363552420917633989829 1809724812531706299380871332173207401341374461447154580897872339405100119411563622761690168303969488919423257548813838986331750521590572417007058794123000305958914462400004962950681496589030882053057834071365036798235904724899239408132965575739766337266418820089810523586573965708170645986073623994535450355513925968332812219849228614481482845669952485511531701138164722513077366296508134719663959171057668371928075826462374510533625464092466952004667059294706397076724169781502924062150348436420263865862122514850117804221318889838339875492719589445716579873158941085284069030525915879492310904545406407102819387838407945509964697596740511889764709744995798487356350170345103693578999981917517058524749788686235940982895940479733599750274446513900803528172485113890264347846892361999066718709294807795203402821979686470339360848209463623805558763175370515405478060594246020566785092690945202970358296095413551167921852215151358754472982398674825490237372728128800118938912179708950974807 2928196256960332433617491433534758170545106658660246997840790577318123551665666085757161591723735404368371373180065999978258508310961679276333622359663275906355229050494983396385022891480182030153383466272832077640674241498051556940143613445357400766310579936361280701697449238216956400655123291889384749391372767980964341320534878991474264873739408262416837087998015817416964710944058804567059045524784953744715040519614167793585604179025766716110095476504412065144310367101017963632242341869047855576780087119979519599918921605945408762736860315504076839306065840223519716578719609219843340297488328999590224475043041805222672251151976048661542922529473871542860953630896622245351364895553048242445039409583150410250004195578353900548603887880530705062965100804421300965928603059945494465811129424731860453865202805994879088643304334793178143576967706407089479767928924750773304876522609302476815674936566406851024370286262350442256144471202901018885009554365856835302464600626584964636 4737921069492038732998362765707965571886481120107401578738662916723223671077229708518851760027704893287794630728879838964590258832552251693340681153786276212314143512894988359335704388069212912206441300344197114438910146222950796348276579021097167103576998756451091225284023203925127046641196915883920199746886693949297153540384107605955747719409360747928368789136180539930042077240566939286723004695842622116643116346076542304119229643118233668114762535799118462221034536882520887694392690305468119442642209634829637404140240495783748638229579904949793419179224781308803785609245525099335651202033735406693043862881449750732636948748716560551307632274469670030217303801241725938930364877470565300969789198269386351232900136058087500298878334394431508591137585918311565313775495421944561184520424232527063856687182492465218449491513798416983702340143076922494957828523170771340089969213554505447173971031979958018946222501413709196729126869877726509122382282494656954241376780335535939443 7666117326452371166615854199242723742431587778767648576579453494041347222742895794276013351751440297656166003908945838942848767143513930969674303513449552118669372563389971755720727279549394942359824766617029192079584387721002353288420192466454567869887578692812371926981472442142083447296320207773304949138259461930261494860918986597430012593148769010345205877134196357347006788184625743853782050220627575861358156865690710097704833822144000384224858012303530527365344903983538851326635032174515975019422296754809157004059162101729157400966440220453870258485290621532323502187965134319178991499522064406283268337924491555955309199900692609212850554803943541573078257432138348184281729773023613543414828607852536761482904331636441400847482222274962213654102686722732866279704098481890055650331553657258924310552385298460097538134818133210161845917110783329584437596452095522113394845736163807923989645968546364869970592787676059638985271341080627528007391836860513789543841380962120904079 12404038395944409899614216964950689314318068898875050155318116410764570893820125502794865111779145190943960634637825677907439025976066182663014984667235828330983516076284960115056431667618607854566266066961226306518494533943953149636696771487551734973464577449263463152265495646067210493937517123657225148885146155879558648401303094203385760312558129758273574666270376897277048865425192683140505054916470197978001273211767252401824063465262234052339620548102648989586379440866059739021027722479984094462064506389638794408199402597512906039196020125403663677664515402841127287797210659418514642701555799812976312200805941306687946148649409169764158187078413211603295561233380074123212094650494178844384617806121923112715804467694528901146360556669393722245240272641044431593479593903834616834851977889785988167239567790925315987626331931627145548257253860252079395424975266293453484814949718313371163617000526322888916815289089768835714398210958354037129774119355170743785218161297656843522 20070155722396781066230071164193413056749656677642698731897569904805918116563021297070878463530585488600126638546771516850287793119580113632689288180685380449652888639674931870777158947168002796926090833578255498598078921664955502925116963954006302843352156142075835079246968088209293941233837331430530098023405617809820143262222080800815772905706898768618780543404573254624055653609818426994287105137097773839359430077457962499528897287406234436564478560406179516951724344849598590347662754654500069481486803144447951412258564699242063440162460345857533936149806024373450789985175793737693634201077864219259580538730432862643255348550101778977008741882356753176373818665518422307493824423517792387799446413974459874198708799330970301993842778944355935899342959363777297873183692385724672485183531547044912477791953089385413525761150064837307394174364643581663833021427361815566879660685882121295153262969072687758887408076765828474699669552038981565137165956215684533329059542259777747601 32474194118341190965844288129144102371067725576517748887215686315570489010383146799865743575309730679544087273184597194757726819095646296295704272847921208780636404715959891985833590614786610651492356900539481805116573455608908652561813735441558037816816733591339298231512463734276504435171354455087755246908551773689378791663525175004201533218265028526892355209674950151901104519035011110134792160053567971817360703289225214901352960752668468488904099108508828506538103785715658329368690477134484163943551309534086745820457967296754969479358480471261197613814321427214578077782386453156208276902633664032235892739536374169331201497199510948741166928960769964779669379898898496430705919074011971232184064220096382986914513267025499203140203335613749658144583232004821729466663286289559289320035509436830900645031520880310729513387481996464452942431618503833743228446402628109020364475635600434666316879969599010647804223365855597310414067762997335602266940075570855277114277703557434591123 52544349840737972032074359293337515427817382254160447619113256220376407126946168096936622038840316168144213911731368711608014612215226409928393561028606589230289293355634823856610749561954613448418447734117737303714652377273864155486930699395564340660168889733415133310759431822485798376405191786518285344931957391499198934925747255805017306123971927295511135753079523406525160172644829537129079265190665745656720133366683177400881858040074702925468577668915008023489828130565256919716353231788984233425038112678534697232716531995997032919520940817118731549964127451588028867767562246893901911103711528251495473278266807031974456845749612727718175670843126717956043198564416918738199743497529763619983510634070842861113222066356469505134046114558105594043926191368599027339846978675283961805219040983875813122823473969696143039148632061301760336605983147415407061467829989924587244136321482555961470142938671698406691631442621425785113737315036317167404106031786539810443337245817212338724 85018543959079162997918647422481617798885107830678196506328942535946896137329314896802365614150046847688301184915965906365741431310872706224097833876527798010925698071594715842444340176741224099910804634657219108831225832882772808048744434837122378476985623324754431542271895556762302811576546241606040591840509165188577726589272430809218839342236955822403490962754473558426264691679840647263871425244233717474080836655908392302234818792743171414372676777423836530027931916280915249085043708923468397368589422212621443053174499292752002398879421288379929163778448878802606945549948700050110188006345192283731366017803181201305658342949123676459342599803896682735712578463315415168905662571541734852167574854167225848027735333381968708274249450171855252188509423373420756806510264964843251125254550420706713767854994850006872552536114057766213279037601651249150289914232618033607608611957082990627787022908270709054495854808477023095527805078033652769671046107357395087557614949374646929847 137562893799817135029993006715819133226702490084838644125442198756323303264275482993738987652990363015832515096647334617973756043526099116152491394905134387241214991427229539699055089738695837548329252368774956412545878210156636963535675134232686719137154513058169564853031327379248101187981738028124325936772466556687776661515019686614236145466208883117914626715833996964951424864324670184392950690434899463130800970022591569703116676832817874339841254446338844553517760046846172168801396940712452630793627534891156140285891031288749035318400362105498660713742576330390635813317510946944012099110056720535226839296069988233280115188698736404177518270647023400691755777027732333907105406069071498472151085488238068709140957399738438213408295564729960846232435614742019784146357243640127212930473591404582526890678468819703015591684746119067973615643584798664557351382062607958194852748278565546589257165846942407461187486251098448880641542393069969937075152139143934898000952195191859268571 222581437758896298027911654138300751025587597915516840631771141292270199401604797890541353267140409863520816281563300524339497474836971822376589228781662185252140689498824255541499429915437061648240057003432175521377104043039409771584419569069809097614140136382923996395303222936010403999558284269730366528612975721876354388104292117423454984808445838940318117678588470523377689556004510831656822115679133180604881806678499962005351495625561045754213931223762681083545691963127087417886440649635921028162216957103777583339065530581501037717279783393878589877521025209193242758867459646994122287116401912818958205313873169434585773531647860080636860870450920083427468355491047749076011068640613233324318660342405294557168692733120406921682545014901816098420945038115440540952867508604970464055728141825289240658533463669709888144220860176834186894681186449913707641296295225991802461360235648537217044188755213116515683341059575471976169347471103622706746198246501329985558567144566506198418 360144331558713433057904660854119884252290088000355484757213340048593502665880280884280340920130772879353331378210635142313253518363070938529080623686796572493355680926053795240554519654132899196569309372207131933922982253196046735120094703302495816751294649441093561248334550315258505187540022297854692465385442278564131049619311804037691130274654722058232744394422467488329114420329181016049772806114032643735682776701091531708468172458378920094055185670101525637063452009973259586687837590348373658955844491994933723624956561870250073035680145499377250591263601539583878572184970593938134386226458633354185044609943157667865888720346596484814379141097943484119224132518780082983116474709684731796469745830643363266309650132858845135090840579631776944653380652857460325099224752245097676986201733229871767549211932489412903735905606295902160510324771248578264992678357833949997314108514214083806301354602155523976870827310673920856810889864173592643821350385645264883559519339758365466989 582725769317609731085816314992420635277877685915872325388984481340863702067485078774821694187271182742874147659773935666652750993200042760905669852468458757745496370424878050782053949569569960844809366375639307455300086296235456506704514272372304914365434785824017557643637773251268909187098306567585058993998418000440485437723603921461146115083100560998550862073010938011706803976333691847706594921793165824340564583379591493713819668083939965848269116893864206720609143973100347004574278239984294687118061449098711306964022092451751110752959928893255840468784626748777121331052430240932256673342860546173143249923816327102451662251994456565451240011548863567546692488009827832059127543350297965120788406173048657823478342865979252056773385594533593043074325690972900866052092260850068141041929875055161008207745396159122791880126466472736347405005957698491972633974653059941799775468749862621023345543357368640492554168370249392832980237335277215350567548632146594869118086484324871665407 942870100876323164143720975846540519530167773916227810146197821389457204733365359659102035107401955622227479037984570808966004511563113699434750476155255330238852051350931846022608469223702860041378675747846439389223068549431503241824608975674800731116729435265111118891972323566527414374638328865439751459383860279004616487342915725498837245357755283056783606467433405500035918396662872863756367727907198468076247360080683025422287840542318885942324302563965732357672595983073606591262115830332668346073905941093645030588978654322001183788640074392633091060048228288360999903237400834870391059569319179527328294533759484770317550972341053050265619152646807051665916620528607915042244018059982696917258152003692021089787992998838097191864226174165369987727706343830361191151317013095165818028131608285032775756957328648535695616032072768638507915330728947070237626653010893891797089577264076704829646897959524164469424995680923313689791127199450807994388899017791859752677605824083237132396 1525595870193932895229537290838961154808045459832100135535182302730320906800850438433923729294673138365101626697758506475618755504763156460340420328623714087984348421775809896804662418793272820886188042123485746844523154845666959748529123248047105645482164221089128676535610096817796323561736635433024810453382278279445101925066519646959983360440855844055334468540444343511742722372996564711462962649700364292416811943460274519136107508626258851790593419457829939078281739956173953595836394070316963033191967390192356337553000746773752294541600003285888931528832855037138121234289831075802647732912179725700471544457575811872769213224335509615716859164195670619212609108538435747101371561410280662038046558176740678913266335864817349248637611768698963030802032034803262057203409273945233959070061483340193783964702724807658487496158539241374855320336686645562210260627663953833596865046013939325852992441316892804961979164051172706522771364534728023344956447649938454621795692308408108797803 2468465971070256059373258266685501674338213233748327945681380124119778111534215798093025764402075093987329105735743077284584760016326270159775170804778969418223200473126741742827270888016975680927566717871332186233746223395098462990353732223721906376598893656354239795427582420384323737936374964298464561912766138558449718412409435372458820605798611127112118075007877749011778640769659437575219330377607562760493059303540957544558395349168577737732917722021795671435954335939247560187098509900649631379265873331286001368141979401095753478330240077678522022588881083325499121137527231910673038792481498905227799838991335296643086764196676562665982478316842477670878525729067043662143615579470263358955304710180432700003054328863655446440501837942864333018529738378633623248354726287040399777098193091625226559721660053456194183112190612010013363235667415592632447887280674847725393954623278016030682639339276416969431404159732096020212562491734178831339345346667730314374473298132491345930199 3994061841264188954602795557524462829146258693580428081216562426850099018335066236526949493696748232352430732433501583760203515521089426620115591133402683506207548894902551639631933306810248501813754759994817933078269378240765422738882855471769012022081057877443368471963192517202120061498111599731489372366148416837894820337475955019418803966239466971167452543548322092523521363142656002286682293027307927052909871247001232063694502857794836589523511141479625610514236075895421513782934903970966594412457840721478357705694980147869505772871840080964410954117713938362637242371817062986475686525393678630928271383448911108515855977421012072281699337481038148290091134837605479409244987140880544020993351268357173378916320664728472795689139449711563296049331770413436885305558135560985633736168254574965420343686362778263852670608349151251388218556004102238194658147908338801558990819669291955356535631780593309774393383323783268726735333856268906854684301794317668768996268990440899454728002 6462527812334445013976053824209964503484471927328756026897942550969877129869282034619975258098823326339759838169244661044788275537415696779890761938181652924430749368029293382459204194827224182741321477866150119312015601635863885729236587695490918398679951533797608267390774937586443799434486564029953934278914555396344538749885390391877624572038078098279570618556199841535300003912315439861901623404915489813402930550542189608252898206963414327256428863501421281950190411834669073970033413871616225791723714052764359073836959548965259251202080158642932976706595021688136363509344294897148725317875177536156071222440246405158942741617688634947681815797880625960969660566672523071388602720350807379948655978537606078919374993592128242129641287654427629067861508792070508553912861848026033513266447666590646903408022831720046853720539763261401581791671517830827106035189013649284384774292569971387218271119869726743824787483515364746947896348003085686023647140985399083370742288573390800658201 10456589653598633968578849381734427332630730620909184108114504977819976148204348271146924751795571558692190570602746244804991791058505123400006353071584336430638298262931845022091137501637472684555076237860968052390284979876629308468119443167259930420761009411240976739353967454788563860932598163761443306645062972234239359087361345411296428538277545069447023162104521934058821367054971442148583916432223416866312801797543421671947401064758250916779940004981046892464426487730090587752968317842582820204181554774242716779531939696834765024073920239607343930824308960050773605881161357883624411843268856167084342605889157513674798719038700707229381153278918774251060795404278002480633589861231351400942007246894779457835695658320601037818780737365990925117193279205507393859470997409011667249434702241556067247094385609983899524328888914512789800347675620069021764183097352450843375593961861926743753902900463036518218170807298633473683230204271992540707948935303067852367011279014290255386203 16919117465933078982554903205944391836115202548237940135012447528789853278073630305766900009894394885031950408771990905849780066595920820179897115009765989355069047630961138404550341696464696867296397715727118171702300581512493194197356030862750848819440960945038585006744742392375007660367084727791397240923977527630583897837246735803174053110315623167726593780660721775594121370967286882010485539837138906679715732348085611280200299271721665244036368868482468174414616899564759661723001731714199045995905268827007075853368899245800024275276000398250276907530903981738909969390505652780773137161144033703240413828329403918833741460656389342177062969076799400212030455970950525552022192581582158780890663225432385536755070651912729279948422025020418554185054787997577902413383859257037700762701149908146714150502408441703946378049428677774191382139347137899848870218286366100127760368254431898130972174020332763262042958290813998220631126552275078226731596076288466935737753567587681056044404 27375707119531712951133752587678819168745933169147124243126952506609829426277978576913824761689966443724140979374737150654771857654425943579903468081350325785707345893892983426641479198102169551851473953588086224092585561389122502665475474030010779240201970356279561746098709847163571521299682891552840547569040499864823256924608081214470481648593168237173616942765243709652942738022258324159069456269362323546028534145629032952147700336479916160816308873463515066879043387294850249475970049556781866200086823601249792632900838942634789299349920637857620838355212941789683575271667010664397549004412889870324756434218561432508540179695090049406444122355718174463091251375228528032655782442813510181832670472327164994590766310233330317767202762386409479302248067203085296272854856666049368012135852149702781397596794051687845902378317592286981182487022757968870634401383718550971135962216293824874726076920795799780261129098112631694314356756547070767439545011591534788104764846601971311430607 44294824585464791933688655793623211004861135717385064378139400035399682704351608882680724771584361328756091388146728056504551924250346763759800583091116315140776393524854121831191820894566866419147871669315204395794886142901615696862831504892761628059642931301318146752843452239538579181666767619344237788493018027495407154761854817017644534758908791404900210723425965485247064108989545206169554996106501230225744266493714644232347999608201581404852677741945983241293660286859609911198971781270980912195992092428256868486269738188434813574625921036107897745886116923528593544662172663445170686165556923573565170262547965351342281640351479391583507091432517574675121707346179053584677975024395668962723333697759550531345836962146059597715624787406828033487302855200663198686238715923087068774837002057849495548099202493391792280427746270061172564626369895868719504619670084651098896330470725723005698250941128563042304087388926629914945483308822148994171141087880001723842518414189652367475011 71670531704996504884822408381302030173607068886532188621266352542009512130629587459594549533274327772480232367521465207159323781904772707339704051172466640926483739418747105257833300092669035970999345622903290619887471704290738199528306978922772407299844901657597708498942162086702150702966450510897078336062058527360230411686462898232115016407501959642073827666191209194900006847011803530328624452375863553771772800639343677184495699944681497565668986615409498308172703674154460160674941830827762778396078916029506661119170577131069602873975841673965518584241329865318277119933839674109568235169969813443889926696766526783850821820046569440989951213788235749138212958721407581617333757467209179144556004170086715525936603272379389915482827549793237512789550922403748494959093572589136436786972854207552276945695996545079638182806063862348153747113392653837590139021053803202070032292687019547880424327861924362822565216487039261609259840065369219761610686099471536511947283260791623678905618 115965356290461296818511064174925241178468204603917252999405752577409194834981196342275274304858689101236323755668193263663875706155119471099504634263582956067260132943601227089025120987235902390147217292218495015682357847192353896391138483815534035359487832958915855251785614326240729884633218130241316124555076554855637566448317715249759551166410751046974038389617174680147070956001348736498179448482364783997517067133058321416843699552883078970521664357355481549466363961014070071873913612098743690592071008457763529605440315319504416448601762710073416330127446788846870664596012337554738921335526737017455096959314492135193103460398048832573458305220753323813334666067586635202011732491604848107279337867846266057282440234525449513198452337200065546276853777604411693645332288512223505561809856265401772493795199038471430463233810132409326311739762549706309643640723887853168928623157745270886122578803052925864869303875965891524205323374191368755781827187351538235789801674981276046380629 187635887995457801703333472556227271352075273490449441620672105119418706965610783801869823838133016873716556123189658470823199488059892178439208685436049596993743872362348332346858421079904938361146562915121785635569829551483092095919445462738306442659332734616513563750727776412942880587599668641138394460617135082215867978134780613481874567573912710689047866055808383875047077803013152266826803900858228337769289867772401998601339399497564576536190650972764979857639067635168530232548855442926506468988149924487270190724610892450574019322577604384038934914368776654165147784529852011664307156505496550461345023656081018919043925280444618273563409519008989072951547624788994216819345489958814027251835342037932981583219043506904839428681279886993303059066404700008160188604425861101359942348782710472954049439491195583551068646039873994757480058853155203543899782661777691055238960915844764818766546906664977288687434520363005153133465163439560588517392513286823074747737084935772899725286247 303601244285919098521844536731152512530543478094366694620077857696827901800591980144145098142991705974952879878857851734487075194215011649538713319699632553061004005305949559435883542067140840751293780207340280651252187398675445992310583946553840478018820567575429419002513390739183610472232886771379710585172211637071505544583098328731634118740323461736021904445425558555194148759014501003324983349340593121766806934905460320018183099050447655506712315330120461407105431596182600304422769055025250159580220932945033720330051207770078435771179367094112351244496223443012018449125864349219046077841023287478800120615395511054237028740842667106136867824229742396764882290856580852021357222450418875359114679905779247640501483741430288941879732224193368605343258477612571882249758149613583447910592566738355821933286394622022499109273684127166806370592917753250209426302501578908407889539002510089652669485468030214552303824238971044657670486813751957273174340474174612983526886610754175771666876 491237132281376900225178009287379783882618751584816136240749962816246608766202763946014921981124722848669436002047510205310274682274903827977922005135682150054747877668297891782741963147045779112440343122462066286822016950158538088230029409292146920678153302191942982753241167152126491059832555412518105045789346719287373522717878942213508686314236172425069770501233942430241226562027653270151787250198821459536096802677862318619522498548012232042902966302885441264744499231351130536971624497951756628568370857432303911054662100220652455093756971478151286158865000097177166233655716360883353234346519837940145144271476529973280954021287285379700277343238731469716429915645575068840702712409232902610950021943712229223720527248335128370561012111186671664409663177620732070854184010714943390259375277211309871372777590205573567755313558121924286429446072956794109208964279269963646850454847274908419216392133007503239738344601976197791135650253312545790566853760997687731263971546527075496953123 794838376567295998747022546018532296413162229679182830860827820513074510566794744090160020124116428823622315880905361939797349876489915477516635324835314703115751882974247451218625505214186619863734123329802346938074204348833984080540613355845987398696973869767372401755754557891310101532065442183897815630961558356358879067300977270945142805054559634161091674946659500985435375321042154273476770599539414581302903737583322638637705597598459887549615281633005902671849930827533730841394393552977006788148591790377337631384713307990730890864936338572263637403361223540189184682781580710102399312187543125418945264886872041027517982762129952485837145167468473866481312206502155920862059934859651777970064701849491476864222010989765417312440744335380040269752921655233303953103942160328526838169967843949665693306063984827596066864587242249091092800038990710044318635266780848872054739993849784998071885877601037717792042168840947242448806137067064503063741194235172300714790858157281251268619999 1286075508848672898972200555305912080295780981263998967101577783329321119332997508036174942105241151672291751882952872145107624558764819305494557329970996853170499760642545343001367468361232398976174466452264413224896221298992522168770642765138134319375127171959315384508995725043436592591897997596415920676750905075646252590018856213158651491368795806586161445447893443415676601883069807543628557849738236040839000540261184957257228096146472119592518247935891343936594430058884861378366018050928763416716962647809641542439375408211383345958693310050414923562226223637366350916437297070985752546534062963359090409158348571000798936783417237865537422510707205336197742122147730989702762647268884680581014723793203706087942538238100545683001756446566711934162584832854036023958126171043470228429343121160975564678841575033169634619900800371015379229485063666838427844231060118835701590448697059906491102269734045221031780513442923440239941787320377048854308047996169988446054829703808326765573122 2080913885415968897719223101324444376708943210943181797962405603842395629899792252126334962229357580495914067763858234084904974435254734783011192654806311556286251643616792794219992973575419018839908589782066760162970425647826506249311256120984121718072101041726687786264750282934746694123963439780313736307712463432005131657319833484103794296423355440747253120394552944401111977204111961817105328449277650622141904277844507595894933693744932007142133529568897246608444360886418592219760411603905770204865554438186979173824088716202114236823629648622678560965587447177555535599218877781088151858721606088778035674045220612028316919545547190351374567678175679202679054328649886910564822582128536458551079425642695182952164549227865962995442500781946752203915506488087339977062068331371997066599310965110641257984905559860765701484488042620106472029524054376882746479497840967707756330442546844904562988147335082938823822682283870682688747924387441551918049242231342289160845687861089578034193121 3366989394264641796691423656630356457004724192207180765063983387171716749232789760162509904334598732168205819646811106230012598994019554088505749984777308409456751404259338137221360441936651417816083056234331173387866646946819028418081898886122256037447228213686003170773746007978183286715861437376729656984463368507651384247338689697262445787792151247333414565842446387816788579087181769360733886299015886662980904818105692553152161789891404126734651777504788590545038790945303453598126429654834533621582517085996620716263464124413497582782322958673093484527813670814921886515656174852073904405255669052137126083203569183029115856328964428216911990188882884538876796450797617900267585229397421139132094149435898889040107087465966508678444257228513464138078091320941376001020194502415467295028654086271616822663747134893935336104388842991121851259009118043721174323728901086543457920891243904811054090417069128159855603195726794122928689711707818600772357290227512277606900517564897904799766243 5447903279680610694410646757954800833713667403150362563026388991014112379132582012288844866563956312664119887410669340314917573429274288871516942639583619965743003047876130931441353415512070436655991646016397933550837072594645534667393155007106377755519329255412690957038496290912929980839824877157043393292175831939656515904658523181366240084215506688080667686236999332217900556291293731177839214748293537285122809095950200149047095483636336133876785307073685837153483151831722045817886841258740303826448071524183599890087552840615611819605952607295772045493401117992477422114875052633162056263977275140915161757248789795057432775874511618568286557867058563741555850779447504810832407811525957597683173575078594071992271636693832471673886758010460216341993597809028715978082262833787464361627965051382258080648652694754701037588876885611228323288533172420603920803226742054251214251333790749715617078564404211098679425878010664805617437636095260152690406532458854566767746205425987482833959364 8814892673945252491102070414585157290718391595357543328090372378185829128365371772451354770898555044832325707057480446544930172423293842960022692624360928375199754452135469068662713857448721854472074702250729106938703719541464563085475053893228633792966557469098694127812242298891113267555686314533773050276639200447307900151997212878628685872007657935414082252079445720034689135378475500538573101047309423948103713914055892702199257273527740260611437084578474427698521942777025499416013270913574837448030588610180220606351016965029109402388275565968865530021214788807399308630531227485235960669232944193052287840452358978086548632203476046785198548055941448280432647230245122711099993040923378736815267724514492961032378724159798980352331015238973680480071689129970091979102457336202931656656619137653874903312399829648636373693265728602350174547542290464325095126955643140794672172225034654526671168981473339258535029073737458928546127347803078753462763822686366844374646722990885387633725607 14262795953625863185512717172539958124432058998507905891116761369199941507497953784740199637462511357496445594468149786859847745852568131831539635263944548340942757500011600000104067272960792291128066348267127040489540792136110097752868208900335011548485886724511385084850738589804043248395511191690816443568815032386964416056655736059994925956223164623494749938316445052252589691669769231716412315795602961233226523010006092851246352757164076394488222391652160264852005094608747545233900112172315141274478660134363820496438569805644721221994228173264637575514615906799876730745406280118398016933210219333967449597701148773143981408077987665353485105923000012021988498009692627521932400852449336334498441299593087033024650360853631452026217773249433896822065286938998807957184720169990396018284584189036132983961052524403337411282142614213578497836075462884929015930182385195045886423558825404242288247545877550357214454951748123734163564983898338906153170355145221411142392928416872870467684971 23077688627571115676614787587125115415150450593865449219207133747385770635863325557191554408361066402328771301525630233404777918275861974791562327888305476716142511952147069068766781130409514145600141050517856147428244511677574660838343262793563645341452444193610079212662980888695156515951197506224589493845454232834272316208652948938623611828230822558908832190395890772287278827048244732254985416842912385181330236924061985553445610030691816655099659476230634692550527037385773044649913383085889978722509248744544041102789586770673830624382503739233503105535830695607276039375937507603633977602443163527019737438153507751230530040281463712138683653978941460302421145239937750233032393893372715071313709024107579994057029085013430432378548788488407577302136976068968899936287177506193327674941203326690007887273452354051973784975408342815928672383617753349254111057138028335840558595783860058768959416527350889615749484025485582662709692331701417659615934177831588255517039651407758258101410578 37340484581196978862127504759665073539582509592373355110323895116585712143361279341931754045823577759825216895993780020264625664128430106623101963152250025057085269452158669068870848403370306436728207398784983187917785303813684758591211471693898656889938330918121464297513719478499199764346708697915405937414269265221236732265308684998618537784453987182403582128712335824539868518718013963971397732638515346414556759934068078404691962787855893049587881867882794957402532131994520589883813495258205119996987908878907861599228156576318551846376731912498140681050446602407152770121343787722031994535653382860987187035854656524374511448359451377492168759901941472324409643249630377754964794745822051405812150323700667027081679445867061884404766561737841474124202263007967707893471897676183723693225787515726140871234504878455311196257550957029507170219693216234183126987320413530886445019342685463011247664073228439972963938977233706396873257315599756565769104532976809666659432579824631128569095549 60418173208768094538742292346790188954732960186238804329531028863971482779224604899123308454184644162153988197519410253669403582404292081414664291040555501773227781404305738137637629533779820582328348449302839335346029815491259419429554734487462302231390775111731543510176700367194356280297906204139995431259723498055509048473961633937242149612684809741312414319108226596827147345766258696226383149481427731595886996858130063958137572818547709704687541344113429649953059169380293634533726878344095098719497157623451902702017743346992382470759235651731643786586277298014428809497281295325665972138096546388006924474008164275605041488640915089630852413880882932626830788489568127987997188639194766477125859347808247021138708530880492316783315350226249051426339239076936607829759075182377051368166990842416148758507957232507284981232959299845435842603310969583437238044458441866727003615126545521780207080600579329588713423002719289059582949647301174225385038710808397922176472231232389386670506127 97758657789965073400869797106455262494315469778612159439854923980557194922585884241055062500008221921979205093513190273934029246532722188037766254192805526830313050856464407206508477937150127019056555848087822523263815119304944178020766206181360959121329106029853007807690419845693556044644614902055401368673992763276745780739270318935860687397138796923715996447820562421367015864484272660197780882119943078010443756792198142362829535606403602754275423211996224607355591301374814224417540373602300218716485066502359764301245899923310934317135967564229784467636723900421581579618625083047697966673749929248994111509862820799979552937000366467123021173782824404951240431739198505742961983385016817882938009671508914048220387976747554201188081911964090525550541502084904315723230972858560775061392778358142289629742462110962596177490510256874943012823004185817620365031778855397613448634469230984791454744673807769561677361979952995456456206962900930791154143243785207588835904811057020515239601676 158176830998733167939612089453245451449048429964850963769385952844528677701810489140178370954192866084133193291032600527603432828937014269452430545233361028603540832260770145344146107470929947601384904297390661858609844934796203597450320940668823261352719881141584551317867120212887912324942521106195396799933716261332254829213231952873102837009823606665028410766928789018194163210250531356424164031601370809606330753650328206320967108424951312458962964556109654257308650470755107858951267251946395317435982224125811667003263643270303316787895203215961428254223001198436010389115906378373363938811846475637001035983870985075584594425641281556753873587663707337578071220228766633730959172024211584360063869019317161069359096507628046517971397262190339576976880741161840923552990048040937826429559769200558438388250419343469881158723469556720378855426315155401057603076237297264340452249595776506571661825274387099150390784982672284516039156610202105016539181954593605511012377042289409901910107803 255935488788698241340481886559700713943363899743463123209240876825085872624396373381233433454201088006112398384545790801537462075469736457490196799426166555433853883117234552550654585408080074620441460145478484381873660054101147775471087146850184220474048987171437559125557540058581468369587136008250798168607709024609000609952502271808963524406962403588744407214749351439561179074734804016621944913721313887616774510442526348683796644031354915213238387768105878864664241772129922083368807625548695536152467290628171431304509543193614251105031170780191212721859725098857591968734531461421061905485596404885995147493733805875564147362641648023876894761446531742529311651967965139473921155409228402243001878690826075117579484484375600719159479174154430102527422243246745239276221020899498601490952547558700728017992881454432477336213979813595321868249319341218677968108016152661953900884065007491363116569948194868712068146962625279972495363573103035807693325198378813099848281853346430417149709479 414112319787431409280093976012946165392412329708314086978626829669614550326206862521411804408393954090245591675578391329140894904406750726942627344659527584037394715378004697894800692879010022221826364442869146240483504988897351372921408087519007481826768868313022110443424660271469380694529657114446194968541425285941255439165734224682066361416786010253772817981678140457755342284985335373046108945322684697223105264092854555004763752456306227672201352324215533121972892242885029942320074877495090853588449514753983098307773186463917567892926373996152640976082726297293602357850437839794425844297442880522996183477604790951148741788282929580630768349110239080107382872196731773204880327433439986603065747710143236186938580992003647237130876436344769679504302984408586162829211068940436427920512316759259166406243300797902358494937449370315700723675634496619735571184253449926294353133660783997934778395222581967862458931945297564488534520183305140824232507152972418610860658895635840319059817282 670047808576129650620575862572646879335776229451777210187867706494700422950603235902645237862595042096357990060124182130678356979876487184432824144085694139471248598495239250445455278287090096842267824588347630622357165042998499148392495234369191702300817855484459669568982200330050849064116793122696993137149134310550256049118236496491029885823748413842517225196427491897316521359720139389668053859043998584839879774535380903688560396487661142885439740092321411986637134015014952025688882503043786389740916805382154529612282729657531818997957544776343853697942451396151194326584969301215487749783039285408991330971338596826712889150924577604507663110556770822636694524164696912678801482842668388846067626400969311304518065476379247956290355610499199782031725227655331402105432089839935029411464864317959894424236182252334835831151429183911022591924953837838413539292269602588248254017725791489297894965170776836574527078907922844461029883756408176631925832351351231710708940748982270736209526761 1084160128363561059900669838585593044728188559160091297166494536164314973276810098424057042270988996186603581735702573459819251884283237911375451488745221723508643313873243948340255971166100119064094189031216776862840670031895850521313903321888199184127586723797481780012406860601520229758646450237143188105690559596491511488283970721173096247240534424096290043178105632355071863644705474762714162804366683282062985038628235458693324148943967370557641092416536945108610026257899981968008957380538877243329366320136137627920055916121449386890883918772496494674025177693444796684435407141009913594080482165931987514448943387777861630939207507185138431459667009902744077396361428685883681810276108375449133374111112547491456646468382895193421232046843969461536028212063917564934643158780371457331977181077219060830479483050237194326088878554226723315600588334458149110476523052514542607151386575487232673360393358804436986010853220408949564403939713317456158339504323650321569599644618111055269344043 1754207936939690710521245701158239924063964788611868507354362242659015396227413334326702280133584038282961571795826755590497608864159725095808275632830915862979891912368483198785711249453190215906362013619564407485197835074894349669706398556257390886428404579281941449581389060931571078822763243359840181242839693907041767537402207217664126133064282837938807268374533124252388385004425614152382216663410681866902864813163616362381884545431628513443080832508858357095247160272914933993697839883582663633070283125518292157532338645778981205888841463548840348371967629089595991011020376442225401343863521451340978845420281984604574520090132084789646094570223780725380771920526125598562483293118776764295201000512081858795974711944762143149711587657343169243567753439719248967040075248620306486743442045395178955254715665302572030157240307738137745907525542172296562649768792655102790861169112366976530568325564135641011513089761143253410594287696121494088084171855674882032278540393600381791478870804 2838368065303251770421915539743832968792153347771959804520856778823330369504223432750759322404573034469565153531529329050316860748442963007183727121576137586488535226241727147125967220619290334970456202650781184348038505106790200191020301878145590070555991303079423229593795921533091308581409693596983369348530253503533279025686177938837222380304817262035097311552638756607460248649131088915096379467777365148965849851791851821075208694375595884000721924925395302203857186530814915961706797264121540876399649445654429785452394561900430592779725382321336843045992806783040787695455783583235314937944003617272966359869225372382436151029339591974784526029890790628124849316887554284446165103394885139744334374623194406287431358413145038343132819704187138705103781651783166531974718407400677944075419226472398016085195148352809224483329186292364469223126130506754711760245315707617333468320498942463763241685957494445448499100614363662360158691635834811544242511359998532353848140038218492846748214847 4592576002242942480943161240902072892856118136383828311875219021482345765731636767077461602538157072752526725327356084640814469612602688102992002754407053449468427138610210345911678470072480550876818216270345591833236340181684549860726700434402980956984395882361364679175184982464662387404172936956823550591369947410575046563088385156501348513369100099973904579927171880859848633653556703067478596131188047015868714664955468183457093239807224397443802757434253659299104346803729849955404637147704204509469932571172721942984733207679411798668566845870177191417960435872636778706476160025460716281807525068613945205289507356987010671119471676764430620600114571353505621237413679883008648396513661904039535375135276265083406070357907181492844407361530307948671535091502415499014793656020984430818861271867576971339910813655381254640569494030502215130651672679051274410014108362720124329489611309440293810011521630086460012190375506915770752979331956305632326683215673414386126680431818874638227085651 7430944067546194251365076780645905861648271484155788116396075800305676135235860199828220924942730107222091878858885413691131330361045651110175729875983191035956962364851937493037645690691770885847274418921126776181274845288474750051747002312548571027540387185440787908768980903997753695985582630553806919939900200914108325588774563095338570893673917362009001891479810637467308882302687791982574975598965412164834564516747320004532301934182820281444524682359648961502961533334544765917111434411825745385869582016827151728437127769579842391448292228191514034463953242655677566401931943608696031219751528685886911565158732729369446822148811268739215146630005361981630470554301234167454813499908547043783869749758470671370837428771052219835977227065717446653775316743285582030989512063421662374894280498339974987425105962008190479123898680322866684353777803185805986170259424070337457797810110251904057051697479124531908511290989870578130911670967791117176569194575671946739974820470037367484975300498 12023520069789136732308238021547978754504389620539616428271294821788021900967496966905682527480887179974618604186241498331945799973648339213167732630390244485425389503462147838949324160764251436724092635191472368014511185470159299912473702746951551984524783067802152587944165886462416083389755567510630470531270148324683372151862948251839919407043017461982906471406982518327157515956244495050053571730153459180703279181702788187989395173990044678888327439793902620802065880138274615872516071559529949895339514587999873671421860977259254190116859074061691225881913678528314345108408103634156747501559053754500856770448240086356457493268282945503645767230119933335136091791714914050463461896422208947823405124893746936454243499128959401328821634427247754602446851834787997530004305719442646805713141770207551958765016775663571733764468174353368899484429475864857260580273532433057582127299721561344350861709000754618368523481365377493901664650299747422808895877791345361126101500901856242123202386149 19454464137335330983673314802193884616152661104695404544667370622093698036203357166733903452423617287196710483045126912023077130334693990323343462506373435521382351868314085331986969851456022322571367054112599144195786030758634049964220705059500123012065170253242940496713146790460169779375338198064437390471170349238791697740637511347178490300716934823991908362886793155794466398258932287032628547329118871345537843698450108192521697108172864960332852122153551582305027413472819381789627505971355695281209096604827025399858988746839096581565151302253205260345866921183991911510340047242852778721310582440387768335606972815725904315417094214242860913860125295316766562346016148217918275396330755991607274874652217607825080927900011621164798861492965201256222168578073579560993817782864309180607422268547526946190122737671762212888366854676235583838207279050663246750532956503395039925109831813248407913406479879150277034772355248072032576321267538539985465072367017307866076321371893609608177686647 31477984207124467715981552823741863370657050725235020972938665443881719937170854133639585979904504467171329087231368410355022930308342329536511195136763680006807741371776233170936294012220273759295459689304071512210297216228793349876694407806451674996589953321045093084657312676922585862765093765575067861002440497563475069892500459599018409707759952285974814834293775674121623914215176782082682119059272330526241122880152896380511092282162909639221179561947454203107093293611093997662143577530885645176548611192826899071280849724098350771682010376314896486227780599712306256618748150877009526222869636194888625106055212902082361808685377159746506681090245228651902654137731062268381737292752964939430679999545964544279324427028971022493620495920212955858669020412861577090998123502306955986320564038755078904955139513335333946652835029029604483322636754915520507330806488936452622052409553374592758775115480633768645558253720625565934240971567285962794360950158362668992177822273749851731380072796 50932448344459798699654867625935747986809711829930425517606036065975417973374211300373489432328121754368039570276495322378100060643036319859854657643137115528190093240090318502923263863676296081866826743416670656406083246987427399840915112865951798008655123574288033581370459467382755642140431963639505251473610846802266767633137970946196900008476887109966723197180568829916090312474109069115310666388391201871778966578603004573032789390335774599554031684101005785412120707083913379451771083502241340457757707797653924471139838470937447353247161678568101746573647520896298168129088198119862304944180218635276393441662185717808266124102471373989367594950370523968669216483747210486300012689083720931037954874198182152104405354928982643658419357413178157114891188990935156651991941285171265166927986307302605851145262251007096159541201883705840067160844033966183754081339445439847661977519385187841166688521960512918922593026075873637966817292834824502779826022525379976858254143645643461339557759443 82410432551584266415636420449677611357466762555165446490544701509857137910545065434013075412232626221539368657507863732733122990951378649396365852779900795534997834611866551673859557875896569841162286432720742168616380463216220749717609520672403473005245076895333126666027772144305341504905525729214573112476051344365741837525638430545215309716236839395941538031474344504037714226689285851197992785447663532398020089458755900953543881672498684238775211246048459988519214000695007377113914661033126985634306318990480823542420688195035798124929172054882998232801428120608604424747836348996871831167049854830165018547717398619890627932787848533735874276040615752620571870621478272754681749981836685870468634873744146696383729781957953666152039853333391112973560209403796733742990064787478221153248550346057684756100401764342430106194036912735444550483480788881704261412145934376300284029928938562433925463637441146687568151279796499203901058264402110465574186972683742645850431965919393313070937832239 133342880896044065115291288075613359344276474385095872008150737575832555883919276734386564844560747975907408227784359055111223051594414969256220510423037911063187927851956870176782821739572865923029113176137412825022463710203648149558524633538355271013900200469621160247398231611688097147045957692854078363949662191168008605158776401491412209724713726505908261228654913333953804539163394920313303451836054734269799056037358905526576671062834458838329242930149465773931334707778920756565685744535368326092064026788134748013560526665973245478176333733451099979375075641504902592876924547116734136111230073465441411989379584337698894056890319907725241870990986276589241087105225483240981762670920406801506589747942328848488135136886936309810459210746569270088451398394731890394982006072649486320176536653360290607245664015349526265735238796441284617644324822847888015493485379816147946007448323750275092152159401659606490744305872372841867875557236934968354012995209122622708686109565036774410495591682 215753313447628331530927708525290970701743236940261318498695439085689693794464342168399640256793374197446776885292222787844346042545793618652586363202938706598185762463823421850642379615469435764191399608858154993638844173419868899276134154210758744019145277364954286913426003755993438651951483422068651476425713535533750442684414832036627519440950565901849799260129257837991518765852680771511296237283718266667819145496114806480120552735333143077104454176197925762450548708473928133679600405568495311726370345778615571555981214861009043603105505788334098212176503762113507017624760896113605967278279928295606430537096982957589521989678168441461116147031602029209812957726703755995663512652757092671975224621686475544871864918844889975962499064079960383062011607798528624137972070860127707473425086999417975363346065779691956371929275709176729168127805611729592276905631314192448230037377262312709017615796842806294058895585668872045768933821639045433928199967892865268559118075484430087481433423921 349096194343672396646218996600904330046019711325357190506846176661522249678383618902786205101354122173354185113076581842955569094140208587908806873625976617661373690315780292027425201355042301687220512784995567818661307883623517048834658787749114015033045477834575447160824235367681535798997441114922729840375375726701759047843191233528039729165664292407758060488784171171945323305016075691824599689119773000937618201533473712006697223798167601915433697106347391536381883416252848890245286150103863637818434372566750319569541741526982289081281839521785198191551579403618409610501685443230340103389510001761047842526476567295288416046568488349186358018022588305799054044831929239236645275323677499473481814369628804393360000055731826285772958274826529653150463006193260514532954076932777193793601623652778265970591729795041482637664514505618013785772130434577480292399116694008596176044825586062984109767956244465900549639891541244887636809378875980402282212963101987891267804185049466861891929015603 564849507791300728177146705126195300747762948265618509005541615747211943472847961071185845358147496370800961998368804630799915136686002206561393236828915324259559452779603713878067580970511737451411912393853722812300152057043385948110792941959872759052190755199529734074250239123674974450948924536991381316801089262235509490527606065564667248606614858309607859748913429009936842070868756463335895926403491267605437347029588518486817776533500744992538151282545317298832432124726777023924886555672358949544804718345365891125522956387991332684387345310119296403728083165731916628126446339343946070667789930056654273063573550252877938036246656790647474165054190335008867002558632995232308787976434592145457038991315279938231864974576716261735457338906490036212474613991789138670926147792904901267026710652196241333937795574733439009593790214794742953899936046307072569304748008201044406082202848375693127383753087272194608535477210116933405743200515025836210412930994853159826922260533896949373362439524 913945702134973124823365701727099630793782659590975699512387792408734193151231579973972050459501618544155147111445386473755484230826210794470200110454891941920933143095384005905492782325554039138632425178849290630961459940666902996945451729708986774085236233034105181235074474491356510249946365651914111157176464988937268538370797299092706977772279150717365920237697600181882165375884832155160495615523264268543055548563062230493515000331668346907971848388892708835214315540979625914170172705776222587363239090912116210695064697914973621765669184831904494595279662569350326238628131782574286174057299931817702115590050117548166354082815145139833832183076778640807921047390562234468954063300112091618938853360944084331591865030308542547508415613733019689362937620185049653203880224725682095060628334304974507304529525369774921647258304720412756739672066480884552861703864702209640582127028434438677237151709331738095158175368751361821042552579391006238492625894096841051094726445583363811265291455127 1478795209926273853000512406853294931541545607856594208517929408155946136624079541045157895817649114914956109109814191104555399367512213001031593347283807266180492595874987719783560363296065776590044337572703013443261611997710288945056244671668859533137426988233634915309324713615031484700895290188905492473977554251172778028898403364657374226378894009026973779986611029191819007446753588618496391541926755536148492895592650748980332776865169091900509999671438026134046747665706402938095059261448581536908043809257482101820587654302964954450056530142023790999007745735082242866754578121918232244725089861874356388653623667801044292119061801930481306348130968975816788049949195229701262851276546683764395892352259364269823730004885258809243872952639509725575412234176838791874806372518586996327655044957170748638467320944508360656852094935207499693572002527191625431008612710410684988209231282814370364535462419010289766710845961478754448295779906032074703038825091694210921648706117260760638653894651 2392740912061246977823878108580394562335328267447569908030317200564680329775311121019129946277150733459111256221259577578310883598338423795501793457738699208101425738970371725689053145621619815728676762751552304074223071938377191942001696401377846307222663221267740096544399188106387994950841655840819603631154019240110046567269200663750081204151173159744339700224308629373701172822638420773656887157450019804691548444155712979473847777196837438808481848060330734969261063206686028852265231967224804124271282900169598312515652352217938576215725714973928285594287408304432569105382709904492518418782389793692058504243673785349210646201876947070315138531207747616624709097339757464170216914576658775383334745713203448601415595035193801356752288566372529414938349854361888445078686597244269091388283379262145255942996846314283282304110399655620256433244069008076178292712477412620325570336259717253047601687171750748384924886214712840575490848359297038313195664719188535262016375151700624571903945349778 3871536121987520830824390515433689493876873875304164116548246608720626466399390662064287842094799848374067365331073768682866282965850636796533386805022506474281918334845359445472613508917685592318721100324255317517484683936087480887057941073046705840360090209501375011853723901721419479651736946029725096105131573491282824596167604028407455430530067168771313480210919658565520180269392009392153278699376775340840041339748363728454180554062006530708991847731768761103307810872392431790360291228673385661179326709427080414336240006520903530665782245115952076593295154039514811972137288026410750663507479655566414892897297453150254938320938749000796444879338716592441497147288952693871479765853205459147730638065462812871239325040079060165996161519012039140513762088538727236953492969762856087715938424219316004581464167258791642960962494590827756126816071535267803723721090123031010558545491000067417966222634169758674691597060674319329939144139203070387898703544280229472938023857817885332542599244429 6264277034048767808648268624014084056212202142751734024578563809285306796174701783083417788371950581833178621552333346261177166564189060592035180262761205682383344073815731171161666654539305408047397863075807621591707755874464672829059637474424552147582753430769115108398123089827807474602578601870544699736285592731392871163436804692157536634681240328515653180435228287939221353092030430165810165856826795145531589783904076707928028331258843969517473695792099496072568874079078460642625523195898189785450609609596678726851892358738842106881507960089880362187582562343947381077519997930903269082289869449258473397140971238499465584522815696071111583410546464209066206244628710158041696680429864234531065383778666261472654920075272861522748450085384568555452111942900615682032179567007125179104221803481461260524461013573074925265072894246448012560060140543343982016433567535651336128881750717320465567909805920507059616483275387159905429992498500108701094368263468764734954399009518509904446544594207 10135813156036288639472659139447773550089076018055898141126810418005933262574092445147705630466750430207245986883407114944043449530039697388568567067783712156665262408661090616634280163456991000366118963400062939109192439810552153716117578547471257987942843640270490120251846991549226954254315547900269795841417166222675695759604408720564992065211307497286966660646147946504741533361422439557963444556203570486371631123652440436382208885320850500226465543523868257175876684951470892432985814424571575446629936319023759141188132365259745637547290205205832438780877716383462193049657285957314019745797349104824888290038268691649720522843754445071908028289885180801507703391917662851913176446283069693678796021844129074343894245115351921688744611604396607695965874031439342918985672536769981266820160227700777265105925180831866568226035388837275768686876212078611785740154657658682346687427241717387883534132440090265734308080336061479235369136637703179088993071807748994207892422867336395236989143838636 16400090190085056448120927763461857606301278160807632165705374227291240058748794228231123418838701012040424608435740461205220616094228757980603747330544917839048606482476821787795946817996296408413516826475870560700900195685016826545177216021895810135525597071039605228649970081377034428856894149770814495577702758954068566923041213412722528699892547825802619841081376234443962886453452869723773610413030365631903220907556517144310237216579694469743939239315967753248445559030549353075611337620469765232080545928620437868040024723998587744428798165295712800968460278727409574127177283888217288828087218554083361687179239930149186107366570141143019611700431645010573909636546373009954873126712933928209861405622795335816549165190624783211493061689781176251417985974339958601017852103777106445924382031182238525630386194404941493491108283083723781246936352621955767756588225194333682816308992434708349102042246010772793924563611448639140799129136203287790087440071217758942846821876854905141435688432843 26535903346121345087593586902909631156390354178863530306832184645297173321322886673378829049305451442247670595319147576149264065624268455369172314398328629995713868891137912404430226981453287408779635789875933499810092635495568980261294794569367068123468440711310095348901817072926261383111209697671084291419119925176744262682645622133287520765103855323089586501727524180948704419814875309281737054969233936118274852031208957580692446101900544969970404782839836010424322243982020245508597152045041340678710482247644197009228157089258333381976088370501545239749337995110871767176834569845531308573884567658908249977217508621798906630210324586214927639990316825812081613028464035861868049572996003621888657427466924410160443410305976704900237673294177783947383860005779301520003524640547087712744542258883015790736311375236808061717143671920999549933812564700567553496742882853016029503736234152096232636174686101038528232643947510118376168265773906466879080511878966753150739244744191300378424832271479 42935993536206401535714514666371488762691632339671162472537558872588413380071680901609952468144152454288095203754888037354484681718497213349776061728873547834762475373614734192226173799449583817193152616351804060510992831180585806806472010591262878258994037782349700577551787154303295811968103847441898786996822684130812829605686835546010049464996403148892206342808900415392667306268328179005510665382264301750178072938765474725002683318480239439714344022155803763672767803012569598584208489665511105910791028176264634877268181813256921126404886535797258040717798273838281341304011853733748597401971786212991611664396748551948092737576894727357947251690748470822655522665010408871822922699708937550098518833089719745976992575496601488111730734983958960198801845980119260121021376744324194158668924290065254316366697569641749555208251955004723331180748917322523321253331108047349712320045226586804581738216932111811322157207558958757516967394910109754669167951950184512093586066621046205519860520704322 69471896882327746623308101569281119919081986518534692779369743517885586701394567574988781517449603896535765799074035613503748747342765668718948376127202177830476344264752646596656400780902871225972788406227737560321085466676154787067766805160629946382462478493659795926453604227229557195079313545112983078415942609307557092288332457679297570230100258471981792844536424596341371726083203488287247720351498237868452924969974432305695129420380784409684748804995639774097090046994589844092805641710552446589501510423908831886496338902515254508380974906298803280467136268949153108480846423579279905975856353871899861641614257173746999367787219313572874891681065296634737135693474444733690972272704941171987176260556644156137435985802578193011968408278136744146185705985898561641024901384871281871413466548948270107103008944878557616925395626925722881114561482023090874750073990900365741823781460738900814374391618212849850389851506468875893135660684016221548248463829151265244325311365237505898285352975801 112407890418534148159022616235652608681773618858205855251907302390474000081466248476598733985593756350823861002828923650858233429061262882068724437856075725665238819638367380788882574580352455043165941022579541620832078297856740593874238815751892824641456516276009496504005391381532853007047417392554881865412765293438369921894019293225307619695096661620873999187345325011734039032351531667292758385733762539618630997908739907030697812738861023849399092827151443537769857850007159442677014131376063552500292538600173466763764520715772175634785861442096061321184934542787434449784858277313028503377828140084891473306011005725695092105364114040930822143371813767457392658358484853605513894972413878722085695093646363902114428561299179681123699143262095704344987551966017821762046278129195476030082390839013524423469706514520307172133647581930446212295310399345614196003405098947715454143826687325705396112608550324661172547059065427633410103055594125976217416415779335777337911377986283711418145873680123 181879787300861894782330717804933728600855605376740548031277045908359586782860816051587515503043360247359626801902959264361982176404028550787672813983277903495715163903120027385538975361255326269138729428807279181153163764532895380942005620912522771023918994769669292430458995608762410202126730937667864943828707902745927014182351750904605189925196920092855792031881749608075410758434735155580006106085260777487083922878714339336392942159241808259083841632147083311866947897001749286769819773086615999089794049024082298650260859618287430143166836348394864601652070811736587558265704700892308409353684493956791334947625262899442091473151333354503697035052879064092129794051959298339204867245118819894072871354203008058251864547101757874135667551540232448491173257951916383403071179514066757901495857387961794530572715459398864789059043208856169093409871881368705070753479089848081195967608148064606210487000168537511022936910571896509303238716278142197765664879608487042582236689351521217316431226655924 294287677719396042941353334040586337282629224234946403283184348298833586864327064528186249488637116598183487804731882915220215605465291432856397251839353629160953983541487408174421549941607781312304670451386820801985242062389635974816244436664415595665375511045678788934464386990295263209174148330222746809241473196184296936076371044129912809620293581713729791219227074619809449790786266822872764491819023317105714920787454246367090754898102832108482934459298526849636805747008908729446833904462679551590086587624255765414025380334059605777952697790490925922837005354524022008050562978205336912731512634041682808253636268625137183578515447395434519178424692831549522452410444151944718762217532698616158566447849371960366293108400937555259366694802328152836160809917934205165117457643262233931578248226975318954042421973919171961192690790786615305705182280714319266756884188795796650111434835390311606599608718862172195483969637324142713341771872268173983081295387822819920148067337804928734577100336047 476167465020257937723684051845520065883484829611686951314461394207193173647187880579773764991680476845543114606634842179582197781869319983644070065822631532656669147444607435559960525302863107581443399880194099983138405826922531355758250057576938366689294505815348081364923382599057673411300879267890611753070181098930223950258722795034517999545490501806585583251108824227884860549221001978452770597904284094592798843666168585703483697057344640367566776091445610161503753644010658016216653677549295550679880636648338064064286239952347035921119534138885790524489076166260609566316267679097645322085197127998474143201261531524579275051666780749938216213477571895641652246462403450283923629462651518510231437802052380018618157655502695429395034246342560601327334067869850588568188637157328991833074105614937113484615137433318036750251733999642784399115054162083024337510363278643877846079042983454917817086608887399683218420880209220652016580488150410371748746174996309862502384756689326146051008326991971 770455142739653980665037385886106403166114053846633354597645742506026760511514945107960014480317593443726602411366725094802413387334611416500467317661985161817623130986094843734382075244470888893748070331580920785123647889312167330574494494241353962354670016861026870299387769589352936620475027598113358562311654295114520886335093839164430809165784083520315374470335898847694310340007268801325535089723307411698513764453622832070574451955447472476049710550744137011140559391019566745663487582011975102269967224272593829478311620286406641699072231929376716447326081520784631574366830657302982234816709762040156951454897800149716458630182228145372735391902264727191174698872847602228642391680184217126390004249901751978984450763903632984654400941144888754163494877787784793733306094800591225764652353841912432438657559407237208711444424790429399704820236442797343604267247467439674496190477818845229423686217606261855413904849846544794729922260022678545731827470384132682422532824027131074785585427328018 1246622607759911918388721437731626469049598883458320305912107136713219934158702825687733779471998070289269717018001567274384611169203931400144537383484616694474292278430702279294342600547333996475191470211775020768262053716234698686332744551818292329043964522676374951664311152188410610031775906866003970315381835394044744836593816634198948808711274585326900957721444723075579170889228270779778305687627591506291312608119791417774058149012792112843616486642189747172644313035030224761880141259561270652949847860920931893542597860238753677620191766068262506971815157687045241140683098336400627556901906890038631094656159331674295733681849008895310951605379836622832826945335251052512566021142835735636621442051954131997602608419406328414049435187487449355490828945657635382301494731957920217597726459456849545923272696840555245461696158790072184103935290604880367941777610746083552342269520802300147240772826493661538632325730055765446746502748173088917480573645380442544924917580716457220836593754319989 2017077750499565899053758823617732872215712937304953660509752879219246694670217770795693793952315663732996319429368292369187024556538542816645004701146601856291915409416797123028724675791804885368939540543355941553385701605546866016907239046059646291398634539537401821963698921777763546652250934464117328877693489689159265722928910473363379617877058668847216332191780621923273481229235539581103840777350898917989826372573414249844632600968239585319666197192933884183784872426049791507543628841573245755219815085193525723020909480525160319319263997997639223419141239207829872715049928993703609791718616652078788046111057131824012192312031237040683686997282101350024001644208098654741208412823019952763011446301855883976587059183309961398703836128632338109654323823445420176034800826758511443362378813298761978361930256247792454173140583580501583808755527047677711546044858213523226838459998621145376664459044099923394046230579902310241476425008195767463212401115764575227347450404743588295622179181648007 3263700358259477817442480261349359341265311820763273966421860015932466628828920596483427573424313734022266036447369859643571635725742474216789542084631218550766207687847499402323067276339138881844131010755130962321647755321781564703239983597877938620442599062213776773628010073966174156684026841330121299193075325083204010559522727107562328426588333254174117289913225344998852652118463810360882146464978490424281138980693205667618690749981031698163282683835123631356429185461080016269423770101134516408169662946114457616563507340763913996939455764065901730390956396894875113855733027330104237348620523542117419140767216463498307925993880245935994638602661937972856828589543349707253774433965855688399632888353810015974189667602716289812753271316119787465145152769103055558336295558716431660960105272755611524285202953088347699634836742370573767912690817652558079487822468959606779180729519423445523905231870593584932678556309958075688222927756368856380692974761145017772272367985460045516458772935967996 5280778108759043716496239084967092213481024758068227626931612895151713323499138367279121367376629397755262355876738152012758660282281017033434546785777820407058123097264296525351791952130943767213070551298486903875033456927328430720147222643937584911841233601751178595591708995743937703336277775794238628070768814772363276282451637580925708044465391923021333622105005966922126133347699349941985987242329389342270965353266619917463323350949271283482948881028057515540214057887129807776967398942707762163389478031307983339584416821289074316258719762063540953810097636102704986570782956323807847140339140194196207186878273595322320118305911482976678325599944039322880830233751448361994982846788875641162644334655665899950776726786026251211457107444752125574799476592548475734371096385474943104322484086054373502647133209336140153807977325951075351721446344700235791033867327173130006019189518044590900569690914693508326724786889860385929699352764564623843905375876909592999619818390203633812080952117616003 8544478467018521533938719346316451554746336578831501593353472911084179952328058963762548940800943131777528392324108011656330296008023491250224088870409038957824330785111795927674859228470082649057201562053617866196681212249109995423387206241815523532283832663964955369219719069710111860020304617124359927263844139855567286841974364688488036471053725177195450912018231311920978785466163160302868133707307879766552104333959825585082014100930302981646231564863181146896643243348209824046391169043842278571559140977422440956147924162052988313198175526129442684201054032997580100426515983653912084488959663736313626327645490058820628044299791728912672964202605977295737658823294798069248757280754731329562277223009475915924966394388742541024210378760871913039944629361651531292707391944191374765282589358809985026932336162424487853442814068321649119634137162352793870521689796132736785199919037468036424474922785287093259403343199818461617922280520933480224598350638054610771892186375663679328539725053583999 13825256575777565250434958431283543768227361336899729220285085806235893275827197331041670308177572529532790748200846163669088956290304508283658635656186859364882453882376092453026651180601026416270272113352104770071714669176438426143534428885753108444125066265716133964811428065454049563356582392918598555334612954627930563124426002269413744515519117100216784534123237278843104918813862510244854120949637269108823069687226445502545337451879574265129180445891238662436857301235339631823358567986550040734948619008730424295732340983342062629456895288192983638011151669100285086997298939977719931629298803930509833514523763654142948162605703211889351289802550016618618489057046246431243740127543606970724921557665141815875743121174768792235667486205624038614744105954200007027078488329666317869605073444864358529579469371760628007250791394272724471355583507053029661555557123305866791219108555512627325044613699980601586128130089678847547621633285498104068503726514964203771512004765867313140620677171200002 22369735042796086784373677777599995322973697915731230813638558717320073228155256294804219248978515661310319140524954175325419252298327999533882724526595898322706784667487888380701510409071109065327473675405722636268395881425548421566921635127568631976408898929681089334031147135164161423376887010042958482598457094483497849966400366957901780986572842277412235446141468590764083704280025670547722254656945148875375174021186271087627351552809877246775412010754419809333500544583549455869749737030392319306507759986152865251880265145395050942655070814322426322212205702097865187423814923631632016118258467666823459842169253712963576206905494940802024254005155993914356147880341044500492497408298338300287198780674617731800709515563511333259877864966495951654688735315851538319785880273857692634887662803674343556511805534185115860693605462594373590989720669405823532077246919438603576419027592980663749519536485267694845531473289497309165543913806431584293102077153018814543404191141530992469160402224784001 36194991618573652034808636208883539091201059252630960033923644523555966503982453625845889557156088190843109888725800338994508208588632507817541360182782757687589238549863980833728161589672135481597745788757827406340110550601986847710456064013321740420533965195397223298842575200618210986733469402961557037933070049111428413090826369227315525502091959377629019980264705869607188623093888180792576375606582417984198243708412716590172689004689451511904592456645658471770357845818889087693108305016942360041456378994883289547612606128737113572111966102515409960223357371198150274421113863609351947747557271597333293356693017367106524369511198152691375543807706010532974636937387290931736237535841945271012120338339759547676452636738280125495545351172119990269432841270051545346864368603524010504492736248538702086091274905945743867944396856867098062345304176458853193632804042744470367638136148493291074564150185248296431659603379176156713165547091929688361605803667983018314916195907398305609781079395984003 58564726661369738819182313986483534414174757168362190847562203240876039732137709920650108806134603852153429029250754514319927460886960507351424084709378656010296023217351869214429671998743244546925219464163550042608506432027535269277377699140890372396942864125078312632873722335782372410110356413004515520531527143594926263057226736185217306488664801655041255426406174460371272327373913851340298630263527566859573417729598987677800040557499328758680004467400078281103858390402438543562858042047334679347964138981036154799492871274132164514767036916837836282435563073296015461844928787240983963865815739264156753198862271080070100576416693093493399797812862004447330784817728335432228734944140283571299319119014377279477162152301791458755423216138615941924121576585903083666650248877381703139380399052213045642603080440130859728638002319461471653335024845864676725710050962183073944057163741473954824083686670515991277191076668673465878709460898361272654707880821001832858320387048929298078941481620768004 94759718279943390853990950195367073505375816420993150881485847764432006236120163546495998363290692042996538917976554853314435669475593015168965444892161413697885261767215850048157833588415380028522965252921377448948616982629522116987833763154212112817476829320475535931716297536400583396843825815966072558464597192706354676148053105412532831990756761032670275406670880329978460950467802032132875005870109984843771661438011704267972729562188780270584596924045736752874216236221327631255966347064277039389420517975919444347105477402869278086879003019353246242658920444494165736266042650850335911613373010861490046555555288447176624945927891246184775341620568014980305421755115626363964972479982228842311439457354136827153614789040071584250968567310735932193554417855954629013514617480905713643873135300751747728694355346076603596582399176328569715680329022323529919342855004927544311695299889967245898647836855764287708850680047849622591875007990290961016313684488984851173236582956327603688722561016752007 153324444941313129673173264181850607919550573589355341729048051005308045968257873467146107169425295895149967947227309367634363130362553522520389529601540069708181284984567719262587505587158624575448184717084927491557123414657057386265211462295102485214419693445553848564590019872182955806954182228970588078996124336301280939205279841597750138479421562687711530833077054790349733277841715883473173636133637551703345079167610691945772770119688109029264601391445815033978074626623766174818824389111611718737384656956955599146598348677001442601646039936191082525094483517790181198110971438091319875479188750125646799754417559527246725522344584339678175139433430019427636206572843961796193707424122512413610758576368514106630776941341863043006391783449351874117675994441857712680164866358287416783253534352964793371297435786207463325220401495790041369015353868188206645052905967110618255752463631441200722731523526280278986041756716523088470584468888652233671021565309986684031556970005256901767664042637520011 248084163221256520527164214377217681424926390010348492610533898769740052204378037013642105532715987938146506865203864220948798799838146537689354974493701483406066546751783569310745339175574004603971149970006304940505740397286579503253045225449314598031896522766029384496306317408583539203798008044936660637460721529007635615353332947010282970470178323720381806239747935120328194228309517915606048642003747536547116740605622396213745499681876889299849198315491551786852290862845093806074790736175888758126805174932875043493703826079870720688525042955544328767753403962284346934377014088941655787092561760987136846309972847974423350468272475585862950481053998034407941628327959588160158679904104741255922198033722650933784391730381934627257360350760087806311230412297812341693679483839193130427126669653716541099991791132284066921802800672118611084695682890511736564395760972038162567447763521408446621379360382044566694892436764372711062459476878943194687335249798971535204793552961584505456386603654272018 401408608162569650200337478559068289344476963599703834339581949775048098172635910480788212702141283833296474812431173588583161930200700060209744504095241553114247831736351288573332844762732629179419334687091232432062863811943636889518256687744417083246316216211583233060896337280766495010752190273907248716456845865308916554558612788608033108949599886408093337072824989910677927506151233799079222278137385088250461819773233088159518269801564998329113799706937366820830365489468859980893615125287500476864189831889830642640302174756872163290171082891735411292847887480074528132487985527032975662571750511112783646064390407501670075990617059925541125620487428053835577834900803549956352387328227253669532956610091165040415168671723797670263752134209439680428906406739670054373844350197480547210380204006681334471289226918491530247023202167908652453711036758699943209448666939148780823200227152849647344110883908324845680934193480895799533043945767595428358356815108958219236350522966841407224050646291792029 649492771383826170727501692936285970769403353610052326950115848544788150377013947494430318234857271771442981677635037809531960730038846597899099478588943036520314378488134857884078183938306633783390484657097537372568604209230216392771301913193731681278212738977612617557202654689350034214550198318843909353917567394316552169911945735618316079419778210128475143312572925031006121734460751714685270920141132624797578560378855484373263769483441887628962998022428918607682656352313953786968405861463389234990995006822705686134006000836742883978696125847279740060601291442358875066864999615974631449664312272099920492374363255476093426458889535511404076101541426088243519463228763138116511067232331994925455154643813815974199560402105732297521112484969527486740136819037482396067523834036673677637506873660397875571281018050775597168826002840027263538406719649211679773844427911186943390647990674258093965490244290369412375826630245268510595503422646538623045692064907929754441144075928425912680437249946064047 1050901379546395820927839171495354260113880317209756161289697798319836248549649857975218530936998555604739456490066211398115122660239546658108843982684184589634562210224486146457411028701039262962809819344188769804631468021173853282289558600938148764524528955189195850618098991970116529225302388592751158070374413259625468724470558524226349188369378096536568480385397914941684049240611985513764493198278517713048040380152088572532782039285006885958076797729366285428513021841782813767862020986750889711855184838712536328774308175593615047268867208739015151353449178922433403199352985143007607112236062783212704138438753662977763502449506595436945201722028854142079097298129566688072863454560559248594988111253904981014614729073829529967784864619178967167169043225777152450441368184234154224847887077667079210042570244969267127415849205007935915992117756407911622983293094850335724213848217827107741309601128198694258056760823726164310128547368414134051404048880016887973677494598895267319904487896237856076 1700394150930221991655340864431640230883283670819808488239813646864624398926663805469648849171855827376182438167701249207647083390278393256007943461273127626154876588712621004341489212639345896746200304001286307177200072230404069675060860514131880445802741694166808468175301646659466563439852586911595067424291980653942020894382504259844665267789156306665043623697970839972690170975072737228449764118419650337845618940530944056906045808768448773587039795751795204036195678194096767554830426848214278946846179845535242014908314176430357931247563334586294891414050470364792278266217984758982238561900375055312624630813116918453856928908396130948349277823570280230322616761358329826189374521792891243520443265897718796988814289475935262265305977104148494653909180044814634846508892018270827902485393951327477085613851263020042724584675207847963179530524476057123302757137522761522667604496208501365835275091372489063670432587453971432820724050791060672674449740944924817728118638674823693232584925146183920123 2751295530476617812583180035926994490997163988029564649529511445184460647476313663444867380108854382980921894657767460605762206050517939914116787443957312215789438798937107150798900241340385159709010123345475076981831540251577922957350419115070029210327270649356004318793400638629583092665154975504346225494666393913567489618853062784071014456158534403201612104083368754914374220215684722742214257316698168050893659320683032629438827848053455659545116593481161489464708700035879581322692447834965168658701364684247778343682622352023972978516430543325310042767499649287225681465570969901989845674136437838525328769251870581431620431357902726385294479545599134372401714059487896514262237976353450492115431377151623778003429018549764792233090841723327461821078223270591787296950260202504982127333281028994556295656421507989309852000524412855899095522642232465034925740430617611858391818344426328473576584692500687757928489348277697597130852598159474806725853789824941705701796133273718960552489413042421776199 4451689681406839804238520900358634721880447658849373137769325092049085046402977468914516229280710210357104332825468709813409289440796333170124730905230439841944315387649728155140389453979731056455210427346761384159031612481981992632411279629201909656130012343522812786968702285289049656105007562415941292918958374567509510513235567043915679723947690709866655727781339594887064391190757459970664021435117818388739278261213976686344873656821904433132156389232956693500904378229976348877522874683179447605547544529783020358590936528454330909763993877911604934181550119652017959731788954660972084236036812893837953400064987499885477360266298857333643757369169414602724330820846226340451612498146341735635874643049342574992243308025700054498396818827475956474987403315406422143459152220775810029818674980322033381270272771009352576585199620703862275053166708522158228497568140373381059422840634829839411859783873176821598921935731669029951576648950535479400303530769866523429914771948542653785074338188605696322 7202985211883457616821700936285629212877611646878937787298836537233545693879291132359383609389564593338026227483236170419171495491314273084241518349187752057733754186586835305939289695320116216164220550692236461140863152733559915589761698744271938866457282992878817105762102923918632748770162537920287518413624768481077000132088629827986694180106225113068267831864708349801438611406442182712878278751815986439632937581897009315783701504875360092677272982714118182965613078265855930200215322518144616264248909214030798702273558880478303888280424421236914976949049768939243641197359924562961929910173250732363282169316858081317097791624201583718938236914768548975126044880334122854713850474499792227751306020200966352995672326575464846731487660550803418296065626585998209440409412423280792157151956009316589676926694278998662428585724033559761370575808940987193154237998757985239451241185061158312988444476373864579527411284009366627082429247110010286126157320594808229131710905222261614337563751231027472521 11654674893290297421060221836644263934758059305728310925068161629282630740282268601273899838670274803695130560308704880232580784932110606254366249254418191899678069574236563461079679149299847272619430978038997845299894765215541908222172978373473848522587295336401629892730805209207682404875170100336228811332583143048586510645324196871902373904053915822934923559646047944688503002597199642683542300186933804828372215843110986002128575161697264525809429371947074876466517456495832279077738197201324063869796453743813819060864495408932634798044418299148519911130599888591261600929148879223934014146210063626201235569381845581202575151890500441052581994283937963577850375701180349195165462972646133963387180663250308927987915634601164901229884479378279374771053029901404631583868564644056602186970630989638623058196967050008015005170923654263623645628975649509351382735566898358620510664025695988152400304260247041401126333219741035657034005896060545765526460851364674752561625677170804268122638089419633168843 18857660105173755037881922772929893147635670952607248712366998166516176434161559733633283448059839397033156787791941050651752280423424879338607767603605943957411823760823398767018968844619963488783651528731234306440757917949101823811934677117745787389044578329280446998492908133126315153645332638256516329746207911529663510777412826699889068084160140936003191391510756294489941614003641825396420578938749791268005153425007995317912276666572624618486702354661193059432130534761688209277953519719468680134045362957844617763138054289410938686324842720385434888079649657530505242126508803786895944056383314358564517738698703662519672943514702024771520231198706512552976420581514472049879313447145926191138486683451275280983587961176629747961372139929082793067118656487402841024277977067337394344122586998955212735123661329006677433756647687823385016204784590496544536973565656343859961905210757146465388748736620905980653744503750402284116435143170556051652618171959482981693336582393065882460201840650660641364 30512334998464052458942144609574157082393730258335559637435159795798807174443828334907183286730114200728287348100645930884333065355535485592974016858024135857089893335059962228098647993919810761403082506770232151740652683164643732034107655491219635911631873665682076891223713342333997558520502738592745141078791054578250021422737023571791441988214056758938114951156804239178444616600841468079962879125683596096377369268118981320040851828269889144296131726608267935898647991257520488355691716920792744003841816701658436824002549698343573484369261019533954799210249546121766843055657683010829958202593377984765753308080549243722248095405202465824102225482644476130826796282694821245044776419792060154525667346701584208971503595777794649191256619307362167838171686388807472608146541711393996531093217988593835793320628379014692438927571342087008661833760240005895919709132554702480472569236453134617789052996867947381780077723491437941150441039231101817179079023324157734254962259563870150582839930070293810207 49369995103637807496824067382504050230029401210942808349802157962314983608605388068540466734789953597761444135892586981536085345778960364931581784461630079814501717095883360995117616838539774250186734035501466458181410601113745555846042332608965423300676451994962523889716621475460312712165835376849261470824998966107913532200149850271680510072374197694941306342667560533668386230604483293476383458064433387364382522693126976637953128494842513762782834081269460995330778526019208697633645236640261424137887179659503054587140603987754512170694103739919389687289899203652272085182166486797725902258976692343330271046779252906241921038919904490595622456681350988683803216864209293294924089866937986345664154030152859489955091556954424397152628759236444960905290342876210313632424518778731390875215804987549048528444289708021369872684219029910393678038544830502440456682698211046340434474447210281083177801733488853362433822227241840225266876182401657868831697195283640715948298841956936033043041770720954451571 79882330102101859955766211992078207312423131469278367987237317758113790783049216403447650021520067798489731483993232912420418411134495850524555801319654215671591610430943323223216264832459585011589816542271698609922063284278389287880149988100185059212308325660644600780940334817794310270686338115442006611903790020686163553622886873843471952060588254453879421293824364772846830847205324761556346337190116983460759891961245957957993980323112402907078965807877728931229426517276729185989336953561054168141728996361161491411143153686098085655063364759453344486500148749774038928237824169808555860461570070328096024354859802149964169134325106956419724682163995464814630013146904114539968866286730046500189821376854443698926595152732219046343885378543807128743462029265017786240571060490125387406309022976142884321764918087036062311611790371997402339872305070508336376391830765748820907043683663415700966854730356800744213899950733278166417317221632759686010776218607798450203261101520806183625881700791248261778 129252325205739667452590279374582257542452532680221176337039475720428774391654604471988116756310021396251175619885819893956503756913456215456137585781284295486093327526826684218333881670999359261776550577773165068103473885392134843726192320709150482512984777655607124670656956293254622982852173492291268082728788986794077085823036724115152462132962452148820727636491925306515217077809808055032729795254550370825142414654372934595947108817954916669861799889147189926560205043295937883622982190201315592279616176020664545998283757673852597825757468499372734173790047953426311013419990656606281762720546762671426295401639055056206090173245011447015347138845346453498433230011113407834892956153668032845853975407007303188881686709686643443496514137780252089648752372141228099872995579268856778281524827963691932850209207795057432184296009401907796017910849901010776833074528976795161341518130873696784144656463845654106647722177975118391684193404034417554842473413891439166151559943477742216668923471512202713349 209134655307841527408356491366660464854875664149499544324276793478542565174703820875435766777830089194740907103879052806376922168047952065980693387100938511157684937957770007441550146503458944273366367120044863678025537169670524131606342308809335541725293103316251725451597291111048933253538511607733274694632579007480240639445923597958624414193550706602700148930316290079362047925015132816589076132444667354285902306615618892553941089141067319576940765697024918857789631560572667069612319143762369760421345172381826037409426911359950683480820833258826078660290196703200349941657814826414837623182116832999522319756498857206170259307570118403435071821009341918313063243158017522374861822440398079346043796783861746887808281862418862489840399516324059218392214401406245886113566639758982165687833850939834817171974125882093494495907799773905198357783154971519113209466359742543982248561814537112485111511194202454850861622128708396558101510625667177240853249632499237616354821044998548400294805172303450975127 338386980513581194860946770741242722397328196829720720661316269198971339566358425347423883534140110590992082723764872700333425924961408281436830972882222806643778265484596691659884028174458303535142917697818028746129011055062658975332534629518486024238277880971858850122254247404303556236390685100024542777361367994274317725268960322073776876326513158751520876566808215385877265002824940871621805927699217725111044721269991827149888197959022236246802565586172108784349836603868604953235301333963685352700961348402490583407710669033803281306578301758198812834080244656626660955077805483021119385902663595670948615158137912262376349480815129850450418959854688371811496473169130930209754778594066112191897772190869050076689968572105505933336913654104311308040966773547473985986562219027838943969358678903526750022183333677150926680203809175812994375694004872529890042540888719339143590079945410809269256167658048108957509344306683514949785704029701594795695723046390676782506380988476290616963728643815653688476 547521635821422722269303262107903187252203860979220264985593062677513904741062246222859650311970199785732989827643925506710348093009360347417524359983161317801463203442366699101434174677917247808509284817862892424154548224733183106938876938327821565963570984288110575573851538515352489489929196707757817471993947001754558364714883920032401290520063865354221025497124505465239312927840073688210882060143885079396947027885610719703829287100089555823743331283197027642139468164441272022847620477726055113122306520784316620817137580393753964787399135017024891494370441359827010896735620309435957009084780428670470934914636769468546608788385248253885490780864030290124559716327148452584616601034464191537941568974730796964498250434524368423177313170428370526433181174953719872100128858786821109657192529843361567194157459559244421176111608949718192733477159844049003252007248461883125838641759947921754367678852250563808370966435391911507887214655368772036548972678889914398861202033474839017258533816119104663603 885908616335003917130250032849145909649532057808940985646909331876485244307420671570283533846110310376725072551408798207043774017970768628854355332865384124445241468926963390761318202852375551343652202515680921170283559279795842082271411567846307590201848865259969425696105785919656045726319881807782360249355314996028876089983844242106178166846577024105741902063932720851116577930665014559832687987843102804507991749155602546853717485059111792070545896869369136426489304768309876976082921811689740465823267869186807204224848249427557246093977436775223704328450686016453671851813425792457076394987444024341419550072774681730922958269200378104335909740718718661936056189496279382794371379628530303729839341165599847041188219006629874356514226824532681834474147948501193858086691077814660053626551208746888317216340793236395347856315418125531187109171164716578893294548137181222269428721705358731023623846510298672765880310742075426457672918685070366832244695725280591181367583021951129634222262459934758352079 1433430252156426639399553294957049096901735918788161250632502394553999149048482917793143184158080510162458062379052723713754122110980128976271879692848545442246704672369330089862752377530292799152161487333543813594438107504529025189210288506174129156165419849548080001269957324435008535216249078515540177721349261997783434454698728162138579457366640889459962927561057226316355890858505088248043570047986987883904938777041213266557546772159201347894289228152566164068628772932751148998930542289415795578945574389971123825041985829821311210881376571792248595822821127376280682748549046101893033404072224453011890484987411451199469567057585626358221400521582748952060615905823427835378987980662994495267780910140330644005686469441154242779691539994961052360907329123454913730186819936601481163283743738590249884410498252795639769032427027075249379842648324560627896546555385643105395267363465306652777991525362549236574251277177467337965560133340439138868793668404170505580228785055425968651480796276053863015682 2319338868491430556529803327806195006551267976597102236279411726430484393355903589363426718004190820539183134930461521920797896128950897605126235025713929566691946141296293480624070580382668350495813689849224734764721666784324867271481700074020436746367268714808049426966063110354664580942568960323322537970704576993812310544682572404244757624213217913565704829624989947167472468789170102807876258035830090688412930526196815813411264257218313139964835125021935300495118077701061025975013464101105536044768842259157931029266834079248868456975354008567472300151271813392734354600362471894350109799059668477353310035060186132930392525326786004462557310262301467613996672095319707218173359360291524798997620251305930491046874688447784117136205766819493734195381477071956107588273511014416141216910294947337138201626839046032035116888742445200780566951819489277206789841103522824327664696085170665383801615371872847909340131587919542764423233052025509505701038364129451096761596368077377098285703058735988621367761 3752769120647857195929356622763244103453003895385263486911914120984483542404386507156569902162271330701641197309514245634552018239931026581398114718562475008938650813665623570486822957912961149647975177182768548359159774288853892460691988580194565902532688564356129428236020434789673116158818038838862715692053838991595744999381300566383337081579858803025667757186047173483828359647675191055919828083817078572317869303238029079968811029377514487859124353174501464563746850633812174973944006390521331623714416649129054854308819909070179667856730580359720895974092940769015037348911517996243143203131892930365200520047597584129862092384371630820778710783884216566057288001143135053552347340954519294265401161446261135052561157888938359915897306814454786556288806195411021318460330951017622380194038685927388086037337298827674885921169472276029946794467813837834686387658908467433059963448635972036579606897235397145914382865097010102388793185365948644569832032533621602341825153132803066937183855012042484383443 6072107989139287752459159950569439110004271871982365723191325847414967935760290096519996620166462151240824332239975767555349914368881924186524349744276404575630596954961917051110893538295629500143788867031993283123881441073178759732173688654215002648899957279164178855202083545144337697101386999162185253662758415985408055544063872970628094705793076716591372586811037120651300828436845293863796086119647169260730799829434844893380075286595827627823959478196436765058864928334873200948957470491626867668483258908286985883575653988319048124832084588927193196125364754161749391949273989890593253002191561407718510555107783717060254617711157635283336021046185684180053960096462842271725706701246044093263021412752191626099435846336722477052103073633948520751670283267367128906733841965433763597104333633264526287664176344859710002809911917476810513746287303115041476228762431291760724659533806637420381222269108245055254514453016552866812026237391458150270870396663072699103421521210180165222886913748031105751204 9824877109787144948388516573332683213457275767367629210103239968399451478164676603676566522328733481942465529549490013189901932608812950767922464462838879584569247768627540621597716496208590649791764044214761831483041215362032652192865677234409568551432645843520308283438103979934010813260205038001047969354812254977003800543445173537011431787372935519617040343997084294135129188084520484919715914203464247833048669132672873973348886315973342115683083831370938229622611778968685375922901476882148199292197675557416040737884473897389227792688815169286914092099457694930764429298185507886836396205323454338083711075155381301190116710095529266104114731830069900746111248097605977325278054042200563387528422574198452761151997004225660836968000380448403307307959089462778150225194172916451385977298372319191914373701513643687384888731081389752840460540755116952876162616421339759193784622982442609456960829166343642201168897318113562969200819422757406794840702429196694301445246674342983232160070768760073590134647 15896985098926432700847676523902122323461547639349994933294565815814419413924966700196563142495195633183289861789465780745251846977694874954446814207115284160199844723589457672708610034504220149935552911246755114606922656435211411925039365888624571200332603122684487138640187525078348510361592037163233223017570670962411856087509046507639526493166012236208412930808121414786430016521365778783512000323111417093779468962107718866728961602569169743507043309567374994681476707303558576871858947373775066960680934465703026621460127885708275917520899758214107288224822449092513821247459497777429649207515015745802221630263165018250371327806686901387450752876255584926165208194068819597003760743446607480791443986950644387251432850562383314020103454082351828059629372730145279131928014881885149574402705952456440661365689988547094891540993307229650974287042420067917638845183771050954509282516249246877342051435451887256423411771130115836012845660148864945111572825859767000548668195553163397382957682508104695885851 25721862208713577649236193097234805536918823406717624143397805784213870892089643303873129664823929115125755391338955793935153779586507825722369278669954163744769092492216998294306326530712810799727316955461516946089963871797244064117905043123034139751765248966204795422078291505012359323621797075164281192372382925939415656630954220044650958280538947755825453274805205708921559204605886263703227914526575664926828138094780592840077847918542511859190127140938313224304088486272243952794760424255923266252878610023119067359344601783097503710209714927501021380324280144023278250545645005664266045412838470083885932705418546319440488037902216167491565484706325485672276456291674796922281814785647170868319866561149097148403429854788044150988103834530755135367588462192923429357122187798336535551701078271648355035067203632234479780272074696982491434827797537020793801461605110810148293905498691856334302880601795529457592309089243678805213665082906271739952275255056461301993914869896146629543028451268178286020498 41618847307640010350083869621136927860380371046067619076692371600028290306014610004069692807319124748309045253128421574680405626564202700676816092877069447904968937215806455967014936565217030949662869866708272060696886528232455476042944409011658710952097852088889282560718479030090707833983389112327514415389953596901827512718463266552290484773704959992033866205613327123707989221127252042486739914849687082020607607056888311706806809521111681602697170450505688218985565193575802529666619371629698333213559544488822093980804729668805779627730614685715128668549102593115792071793104503441695694620353485829688154335681711337690859365708903068879016237582581070598441664485743616519285575529093778349111310548099741535654862705350427465008207288613106963427217834923068708489050202680221685126103784224104795696432893620781574671813068004212142409114839957088711440306788881861102803188014941103211644932037247416714015720860373794641226510743055136685063848080916228302542583065449310026925986133776282981906349 67340709516353587999320062718371733397299194452785243220090177384242161198104253307942822472143053863434800644467377368615559406150710526399185371547023611649738029708023454261321263095929841749390186822169789006786850400029699540160849452134692850703863101055094077982796770535103067157605186187491795607762336522841243169349417486596941443054243907747859319480418532832629548425733138306189967829376262746947435745151668904546884657439654193461887297591444001443289653679848046482461379795885621599466438154511941161340149331451903283337940329613216150048873382737139070322338749509105961740033191955913574087041100257657131347403611119236370581722288906556270718120777418413441567390314740949217431177109248838684058292560138471615996311123143862098794806297115992137846172390478558220677804862495753150731500097253016054452085142701194633843942637494109505241768393992671251097093513632959545947812639042946171608029949617473446440175825961408425016123335972689604536497935345456656469014585044461267926847 108959556823993598349403932339508661257679565498852862296782548984270451504118863312012515279462178611743845897595798943295965032714913227076001464424093059554706966923829910228336199661146872699053056688878061067483736928262155016203793861146351561655960953143983360543515249565193774991588575299819310023152290119743070682067880753149231927827948867739893185686031859956337537646860390348676707744225949828968043352208557216253691466960765875064584468041949689662275218873423849012127999167515319932679997699000763255320954061120709062965670944298931278717422485330254862394131854012547657434653545441743262241376781968994822206769320022305249597959871487626869159785263162029960852965843834727566542487657348580219713155265488899081004518411756969062222024132039060846335222593158779905803908646719857946427932990873797629123898210705406776253057477451198216682075182874532353900281528574062757592744676290362885623750809991268087666686569016545110079971416888917907079081000794766683395000718820744249833196 176300266340347186348723995057880394654978759951638105516872726368512612702223116619955337751605232475178646542063176311911524438865623753475186835971116671204444996631853364489657462757076714448443243511047850074270587328291854556364643313281044412359824054199077438526312020100296842149193761487311105630914626642584313851417298239746173370882192775487752505166450392788967086072593528654866675573602212575915479097360226120800576124400420068526471765633393691105564872553271895494589378963400941532146435853512704416661103392572612346303611273912147428766295868067393932716470603521653619174686737397656836328417882226651953554172931141541620179682160394183139877906040580443402420356158575676783973664766597418903771447825627370697000829534900831161016830429155052984181394983637338126481713509215611097159433088126813683575983353406601410097000114945307721923843576867203604997375042207022303540557315333309057231780759608741534106862394977953535096094752861607511615578936140223339864015303865205517760043 285259823164340784698127927397389055912658325450490967813655275352783064206341979931967853031067411086922492439658975255207489471580536980551188300395209730759151963555683274717993662418223587147496300199925911141754324256554009572568437174427395974015785007343060799069827269665490617140782336787130415654066916762327384533485178992895405298710141643227645690852482252745304623719453919003543383317828162404883522449568783337054267591361185943591056233675343380767840091426695744506717378130916261464826433552513467671982057453693321409269282218211078707483718353397648795110602457534201276609340282839400098569794664195646775760942251163846869777642031881810009037691303742473363273322002410404350516152423945999123484603091116269778005347946657800223238854561194113830516617576796118032285622155935469043587366079000611312699881564112008186350057592396505938605918759741735958897656570781085061133301991623671942855531569600009621773548963994498645176066169750525418694659936934990023259016022685949767593239 461560089504687971046851922455269450567637085402129073330528001721295676908565096551923190782672643562101138981722151567119013910446160734026375136366326401963596960187536639207651125175300301595939543710973761216024911584845864128933080487708440386375609061542138237596139289765787459289976098274441521284981543404911698384902477232641578669592334418715398196018932645534271709792047447658410058891430374980799001546929009457854843715761606012117527999308737071873404963979967640001306757094317202996972869406026172088643160846265933755572893492123226136250014221465042727827073061055854895784027020237056934898212546422298729315115182305388489957324192275993148915597344322916765693678160986081134489817190543418027256050916743640475006177481558631384255684990349166814698012560433456158767335665151080140746799167127424996275864917518609596447057707341813660529762336608939563895031612988107364673859306956981000087312329208751155880411358972452180272160922612132930310238873075213363123031326551155285353282 746819912669028755744979849852658506480295410852620041144183277074078741114907076483891043813740054649023631421381126822326503382026697714577563436761536132722748923743219913925644787593523888743435843910899672357779235841399873701501517662135836360391394068885199036665966559431278076430758435061571936939048460167239082918387656225536983968302476061943043886871414898279576333511501366661953442209258537385682523996497792794909111307122791955708584232984080452641245055406663384508024135225233464461799302958539639760625218299959255164842175710334304843733732574862691522937675518590056172393367303076457033468007210617945505076057433469235359734966224157803157953288648065390128967000163396485485005969614489417150740654007859910253011525428216431607494539551543280645214630137229574191052957821086549184334165246128036308975746481630617782797115299738319599135681096350675522792688183769192425807161298580652942942843898808760777653960322966950825448227092362658349004898810010203386382047349237105052946521 1208380002173716726791831772307927957047932496254749114474711278795374418023472173035814234596412698211124770403103278389445517292472858448603938573127862534686345883930756553133295912768824190339375387621873433573804147426245737830434598149844276746767003130427337274262105849197065535720734533336013458224030003572150781303290133458178562637894810480658442082890347543813848043303548814320363501100688912366481525543426802252763955022884397967826112232292817524514650019386631024509330892319550667458772172364565811849268379146225188920415069202457530979983746796327734250764748579645911068177394323313513968366219757040244234391172615774623849692290416433796306868885992388306894660678324382566619495786805032835177996704924603550728017702909775062991750224541892447459912642697663030349820293486237629325080964413255461305251611399149227379244173007080133259665443432959615086687719796757299790481020605537633943030156228017511933534371681939403005720388014974791279315137683085416749505078675788260338299803 1955199914842745482536811622160586463528227907107369155618894555869453159138379249519705278410152752860148401824484405211772020674499556163181502009889398667409094807673976467058940700362348079082811231532773105931583383267645611531936115811980113107158397199312536310928072408628343612151492968397585395163078463739389864221677789683715546606197286542601485969761762442093424376815050180982316943309947449752164049539924595047673066330007189923534696465276897977155895074793294409017355027544784131920571475323105451609893597446184444085257244912791835823717479371190425773702424098235967240570761626389971001834226967658189739467230049243859209427256640591599464822174640453697023627678487779052104501756419522252328737358932463460981029228337991494599244764093435728105127272834892604540873251307324178509415129659383497614227357880779845162041288306818452858801124529310290609480407980526492216288181904118286885973000126826272711188332004906353831168615107337449628320036493095620135887126025025365391246324 3163579917016462209328643394468514420576160403362118270093605834664827577161851422555519513006565451071273172227587683601217537966972414611785440583017261202095440691604733020192236613131172269422186619154646539505387530693891349362370713961824389853925400329739873585190178257825409147872227501733598853387108467311540645524967923141894109244092097023259928052652109985907272420118598995302680444410636362118645575083351397300437021352891587891360808697569715501670545094179925433526685919864334799379343647687671263459161976592409633005672314115249366803701226167518160024467172677881878308748155949703484970200446724698433973858402665018483059119547057025395771691060632842003918288356812161618723997543224555087506734063857067011709046931247766557590994988635328175565039915532555634890693544793561807834496094072638958919478969279929072541285461313898586118466567962269905696168127777283792006769202509655920829003156354843784644722703686845756836889003122312240907635174176181036885392204700813625729546127 5118779831859207691865455016629100884104388310469487425712500390534280736300230672075224791416718203931421574052072088812989558641471970774966942592906659869504535499278709487251177313493520348504997850687419645436970913961536960894306829773804502961083797529052409896118250666453752760023720470131184248550186931050930509746645712825609655850289383565861414022413872428000696796933649176284997387720583811870809624623275992348110087682898777814895505162846613478826440168973219842544040947409118931299915123010776715069055574038594077090929559028041202627418705538708585798169596776117845549318917576093455972034673692356623713325632714262342268546803697616995236513235273295700941916035299940670828499299644077339835471422789530472690076159585758052190239752728763903670167188367448239431566796100885986343911223732022456533706327160708917703326749620717038977267692491580196305648535757810284223057384413774207714976156481670057355911035691752110668057618229649690535955210669276657021279330725838991120792451 8282359748875669901194098411097615304680548713831605695806106225199108313462082094630744304423283655002694746279659772414207096608444385386752383175923921071599976190883442507443413926624692617927184469842066184942358444655428310256677543735628892815009197858792283481308428924279161907895947971864783101937295398362471155271613635967503765094381480589121342075065982413907969217052248171587677832131220173989455199706627389648547109035790365706256313860416328980496985263153145276070726867273453730679258770698447978528217550631003710096601873143290569431119931706226745822636769453999723858067073525796940942235120417055057687184035379280825327666350754642391008204295906137704860204392112102289552496842868632427342205486646597484399123090833524609781234741364092079235207103900003874322260340894447794178407317804661415453185296440637990244612210934615625095734260453850102001816663535094076229826586923430128543979312836513842000633739378597867504946621351961931443590384845457693906671535426652616850338578 13401139580734877593059553427726716188784937024301093121518606615733389049762312766705969095840001858934116320331731861227196655249916356161719325768830580941104511690162151994694591240118212966432182320529485830379329358616965271150984373509433395776092995387844693377426679590732914667919668441995967350487482329413401665018259348793113420944670864154982756097479854841908666013985897347872675219851803985860264824329903381996657196718689143521151819023262942459323425432126365118614767814682572661979173893709224693597273124669597787187531432171331772058538637244935331620806366230117569407385991101890396914269794109411681400509668093543167596213154452259386244717531179433405802120427412042960380996142512709767177676909436127957089199250419282661971474494092855982905374292267452113753827136995333780522318541536683871986891623601346907947938960555332664073001952945430298307465199292904360452883971337204336258955469318183899356544775070349978173004239581611621979545595514734350927950866152491607971131029 21683499329610547494253651838824331493465485738132698817324712840932497363224394861336713400263285513936811066611391633641403751858360741548471708944754502012704487881045594502138005166742905584359366790371552015321687803272393581407661917245062288591102193246636976858735108515012076575815616413860750452424777727775872820289872984760617186039052344744104098172545837255816635231038145519460353051983024159849720024036530771645204305754479509227408132883679271439820410695279510394685494681956026392658432664407672672125490675300601497284133305314622341489658568951162077443443135684117293265453064627687337856504914526466739087693703472823992923879505206901777252921827085571110662324819524145249933492985381342194519882396082725441488322341252807271752709235456948062140581396167455988076087477889781574700725859341345287440076920041984898192551171489948289168736213399280400309281862827998436682710558260634464802934782154697741357178514448947845677950860933573553423135980360192044834622401579144224821469607 35084638910345425087313205266551047682250422762433791938843319456665886412986707628042682496103287372870927386943123494868600407108277097710191034713585082953808999571207746496832596406861118550791549110901037845701017161889358852558646290754495684367195188634481670236161788105744991243735284855856717802912260057189274485308132333553730606983723208899086854270025692097725301245024042867333028271834828145709984848366434153641861502473168652748559951906942213899143836127405875513300262496638599054637606558116897365722763799970199284471664737485954113548197206196097409064249501914234862672839055729577734770774708635878420488203371566367160520092659659161163497639358265004516464445246936188210314489127894051961697559305518853398577521591672089933724183729549804045045955688434908101829914614885115355223044400878029159426968543643331806140490132045280953241738166344710698616747062120902797135594529597838801061890251472881640713723289519297823850955100515185175402681575874926395762573267731635832792600636 56768138239955972581566857105375379175715908500566490756168032297598383776211102489379395896366572886807738453554515128510004158966637839258662743658339584966513487452253340998970601573604024135150915901272589861022704965161752433966308207999557972958297381881118647094896896620757067819550901269717468255337037784965147305598005318314347793022775553643190952442571529353541936476062188386793381323817852305559704872402964925287065808227648161975968084790621485338964246822685385907985757178594625447296039222524570037848254475270800781755798042800576455037855775147259486507692637598352155938292120357265072627279623162345159575897075039191153443972164866062940750561185350575627126770066460333460247982113275394156217441701601578840065843932924897205476892965006752107186537084602364089906002092774896929923770260219374446867045463685316704333041303535229242410474379743991098926028924948901233818305087858473265864825033627579382070901803968245669528905961448758728825817556235118440597195669310780057614070243 91852777150301397668880062371926426857966331263000282695011351754264270189197810117422078392469860259678665840497638623378604566074914936968853778371924667920322487023461087495803197980465142685942465012173627706723722127051111286524954498754053657325492570515600317331058684726502059063286186125574186058249297842154421790906137651868078400006498762542277806712597221451267237721086231254126409595652680451269689720769399078928927310700816814724528036697563699238108082950091261421286019675233224501933645780641467403571018275241000066227462780286530568586052981343356895571942139512587018611131176086842807398054331798223580064100446605558313964064824525224104248200543615580143591215313396521670562471241169446117915001007120432238643365524596987139201076694556556152232492773037272191735916707660012285146814661097403606294014007328648510473531435580510195652212546088701797542775987069804030953899617456312066926715285100461022784625093487543493379861061963943904228499132110044836359768937042415890406670879 148620915390257370250446919477301806033682239763566773451179384051862653965408912606801474288836433146486404294052153751888608725041552776227516522030264252886835974475714428494773799554069166821093380913446217567746427092212863720491262706753611630283789952396718964425955581347259126882837087395291654313586335627119569096504142970182426193029274316185468759155168750804809174197148419640919790919470532756829394593172364004215993118928464976700496121488185184577072329772776647329271776853827849949229685003166037441419272750511800847983260823087107023623908756490616382079634777110939174549423296444107880025333954960568739639997521644749467408036989391287044998761728966155770717985379856855130810453354444840274132442708722011078709209457521884344677969659563308259419029857639636281641918800434909215070584921316778053161059471013965214806572739115739438062686925832692896468804912018705264772204705314785332791540318728040404855526897455789162908767023412702633054316688345163276956964606353195948020741122 240473692540558767919326981849228232891648571026567056146190735806126924154606722724223552681306293406165070134549792375267213291116467713196370300402188920807158461499175515990576997534534309507035845925619845274470149219263975007016217205507665287609282522912319281757014266073761185946123273520865840371835633469273990887410280622050504593035773078727746565867765972256076411918234650895046200515123213208099084313941763083144920429629281791425024158185748883815180412722867908750557796529061074451163330783807504844990291025752800914210723603373637592209961737833973277651576916623526193160554472530950687423388286758792319704097968250307781372101813916511149246962272581735914309200693253376801372924595614286392047443715842443317352574982118871483879046354119864411651522630676908473377835508094921500217399582414181659455073478342613725280104174696249633714899471921394694011580899088509295726104322771097399718255603828501427640151990943332656288628085376646537282815820455208113316733543395611838427412001 389094607930816138169773901326530038925330810790133829597370119857989578120015635331025026970142726552651474428601946127155822016158020489423886822432453173693994435974889944485350797088603476328129226839066062842216576311476838727507479912261276917893072475309038246182969847421020312828960360916157494685421969096393559983914423592232930786065047394913215325022934723060885586115383070535965991434593745964928478907114127087360913548557746768125520279673934068392252742495644556079829573382888924400393015786973542286409563776264601762193984426460744615833870494324589659731211693734465367709977768975058567448722241719361059344095489895057248780138803307798194245724001547891685027186073110231932183377950059126666179886424564454396061784439640755828557016013683172671070552488316544755019754308529830715287984503730959712616132949356578940086676913811989071777586397754087590480385811107214560498309028085882732509795922556541832495678888399121819197395108789349170337132508800371390273698149748807786448153123 629568300471374906089100883175758271816979381816700885743560855664116502274622358055248579651449019958816544563151738502423035307274488202620257122834642094501152897474065460475927794623137785835165072764685908116686725530740813734523697117768942205502354998221357527939984113494781498775083634437023335057257602565667550871324704214283435379100820473640961890890700695316961998033617721431012191949716959173027563221055890170505833978187028559550544437859682952207433155218512464830387369911949998851556346570781047131399854802017402676404708029834382208043832232158562937382788610357991560870532241506009254872110528478153379048193458145365030152240617224309343492686274129627599336386766363608733556302545673413058227330140406897713414359421759627312436062367803037082722075118993453228397589816624752215505384086145141372071206427699192665366781088508238705492485869675482284491966710195723856224413350856980132228051526385043260135830879342454475486023194165995707619948329255579503590431693144419624875565124 1018662908402191044258874784502288310742310192606834715340930975522106080394637993386273606621591746511468018991753684629578857323432508692044143945267095268195147333448955404961278591711741262163294299603751970958903301842217652462031177030030219123395427473530395774122953960915801811604043995353180829742679571662061110855239127806516366165165867868554177215913635418377847584149000791966978183384310705137956042128170017257866747526744775327676064717533617020599685897714157020910216943294838923251949362357754589417809418578282004438598692456295126823877702726483152597114000304092456928580510010481067822320832770197514438392288948040422278932379420532107537738410275677519284363572839473840665739680495732539724407216564971352109476143861400383140993078381486209753792627607309997983417344125154582930793368589876101084687339377055771605453458002320227777270072267429569874972352521302938416722722378942862864737847448941585092631509767741576294683418302955344877957080838055950893864129842893227411323718247 1648231208873565950347975667678046582559289574423535601084491831186222582669260351441522186273040766470284563554905423132001892630706996894664401068101737362696300230923020865437206386334879047998459372368437879075590027372958466196554874147799161328897782471751753302062938074410583310379127629790204164799937174227728661726563832020799801544266688342195139106804336113694809582182618513397990375334027664310983605349225907428372581504931803887226609155393299972807119052932669485740604313206788922103505708928535636549209273380299407115003400486129509031921534958641715534496788914450448489451042251987077077192943298675667817440482406185787309084620037756416881231096549807146883699959605837449399295983041405952782634546705378249822890503283160010453429140749289246836514702726303451211814933941779335146298752676021242456758545804754964270820239090828466482762558137105052159464319231498662272947135729799842996965898975326628352767340647084030770169441497121340585577029167311530397454561536037647036199283371 2666894117275756994606850452180334893301599767030370316425422806708328663063898344827795792894632512981752582546659107761580749954139505586708545013368832630891447564371976270398484978046620310161753671972189850034493329215176118658586051177829380452293209945282149076185892035326385121983171625143384994542616745889789772581802959827316167709432556210749316322717971532072657166331619305364968558718338369448939647477395924686239329031676579214902673872926916993406804950646826506650821256501627845355455071286290225967018691958581411553602092942424635855799237685124868131610789218542905418031552262468144899513776068873182255832771354226209588016999458288524418969506825484666168063532445311290065035663537138492507041763270349601932366647144560393594422219130775456590307330333613449195232278066933918077092121265897343541445885181810735876273697093148694260032630404534622034436671752801600689669858108742705861703746424268213445398850414825607064852859800076685463534110005367481291318691378930874447523001618 4315125326149322944954826119858381475860889341453905917509914637894551245733158696269317979167673279452037146101564530893582642584846502481372946081470569993587747795294997135835691364381499358160213044340627729110083356588134584855140925325628541781190992417033902378248830109736968432362299254933589159342553920117518434308366791848115969253699244552944455429522307645767466748514237818762958934052366033759923252826621832114611910536608383102129283028320216966213924003579495992391425569708416767458960780214825862516227965338880818668605493428554144887720772643766583666107578132993353907482594514455221976706719367548850073273253760411996897101619496044941300200603375291813051763492051148739464331646578544445289676309975727851755257150427720404047851359880064703426822033059916900407047212008713253223390873941918585998204430986565700147093936183977160742795188541639674193900990984300262962616993838542548858669645399594841798166191061909637835022301297198026049111139172679011688773252914968521483722284989 6982019443425079939561676572038716369162489108484276233935337444602879908797057041097113772062305792433789728648223638655163392538986008068081491094839402624479195359666973406234176342428119668321966716312817579144576685803310703513726976503457922233484202362316051454434722145063353554345470880076974153885170666007308206890169751675432136963131800763693771752240279177840123914845857124127927492770704403208862900304017756800851239568284962317031956901247133959620728954226322499042246826210044612814415851501116088483246657297462230222207586370978780743520010328891451797718367351536259325514146776923366876220495436422032329106025114638206485118618954333465719170110200776479219827024496460029529367310115682937796718073246077453687623797572280797642273579010840160017129363393530349602279490075647171300482995207815929539650316168376436023367633277125855002827818946174296228337662737101863652286851947285254720373391823863055243565041476735244899875161097274711512645249178046492980091944293899395931245286607 11297144769574402884516502691897097845023378449938182151445252082497431154530215737366431751229979071885826874749788169548746035123832510549454437176309972618066943154961970542069867706809619026482179760653445308254660042391445288368867901829086464014675194779349953832683552254800321986707770135010563313227724586124826641198536543523548106216831045316638227181762586823607590663360094942890886426823070436968786153130639588915463150104893345419161239929567350925834652957805818491433672395918461380273376631715941950999474622636343048890813079799532925631240782972658035463825945484529613232996741291378588852927214803970882402379278875050203382220238450378407019370713576068292271590516547608768993698956694227383086394383221805305442880948000001201690124938890904863443951396453447250009326702084360424523873869149734515537854747154942136170461569461103015745623007487813970422238653721402126614903845785827803579043037223457897041731232538644882734897462394472737561756388350725504668865197208867917414967571596 18279164212999482824078179263935814214185867558422458385380589527100311063327272778463545523292284864319616603398011808203909427662818518617535928271149375242546138514628943948304044049237738694804146476966262887399236728194755991882594878332544386248159397141666005287118274399863675541053241015087537467112895252132134848088706295198980243179962846080331998934002866001447714578205952067018813919593774840177649053434657345716314389673178307736193196830814484885455381912032140990475919222128505993087792483217058039482721279933805279113020666170511706374760793301549487261544312836065872558510888068301955729147710240392914731485303989688409867338857404711872738540823776844771491417541044068798523066266809910320883112456467882759130504745572281999332398517901745023461080759846977599611606192160007595824356864357550445077505063323318572193829202738228870748450826433988266650576316458503990267190697733113058299416429047320952285296274015380127634772623491747449074401637528771997648957141502767313346212858203 29576308982573885708594681955832912059209246008360640536825841609597742217857488515829977274522263936205443478147799977752655462786651029166990365447459347860613081669590914490373911756047357721286326237619708195653896770586201280251462780161630850262834591921015959119801826654663997527761011150098100780340619838256961489287242838722528349396793891396970226115765452825055305241566047009909700346416845277146435206565296934631777539778071653155354436760381835811290034869837959481909591618046967373361169114932999990482195902570148328003833745970044632006001576274207522725370258320595485791507629359680544582074925044363797133864582864738613249559095855090279757911537352913063763008057591677567516765223504137703969506839689688064573385693572283201022523456792649886905032156300424849620932894244368020348230733507284960615359810478260708364290772199331886494073833921802237072814970179906116882094543518940861878459466270778849327027506554025010369670085886220186636158025879497502317822338711635230761180429799 47855473195573368532672861219768726273395113566783098922206431136698053281184761294293522797814548800525060081545811785956564890449469547784526293718608723103159220184219858438677955805285096416090472714585971083053133498780957272134057658494175236510993989062681964406920101054527673068814252165185638247453515090389096337375949133921508592576756737477302225049768318826503019819771999076928514266010620117324084259999954280348091929451249960891547633591196320696745416781870100472385510840175473366448961598150058029964917182503953607116854412140556338380762369575757009986914571156661358350018517427982500311222635284756711865349886854427023116897953259802152496452361129757835254425598635746366039831490314048024852619296157570823703890439144565200354921974694394910366112916147402449232539086404375616172587597864835405692864873801579280558119974937560757242524660355790503723391286638410107149285241252053920177875895318099801612323780569405138004442709377967635710559663408269499966779480214402544107393288002 77431782178147254241267543175601638332604359575143739459032272746295795499042249810123500072336812736730503559693611763709220353236120576951516659166068070963772301853810772929051867561332454137376798952205679278707030269367158552385520438655806086773828580983697923526721927709191670596575263315283739027794134928646057826663191972644036941973550628874272451165533771651558325061338046086838214612427465394470519466565251214979869469229321614046902070351578156508035451651708059954295102458222440739810130713083058020447113085074101935120688158110600970386763945849964532712284829477256844141526146787663044893297560329120508999214469719165636366457049114892432254363898482670899017433656227423933556596713818185728822126135847258888277276132716848401377445431487044797271145072447827298853471980648743636520818331372120366308224684279839988922410747136892643736598494277592740796206256818316224031379784770994782056335361588878650939351287123430148374112795264187822346717689287767002284601818926037774868573717801 125287255373720622773940404395370364605999473141926838381238703882993848780227011104417022870151361537255563641239423549665785243685590124736042952884676794066931522038030631367729823366617550553467271666791650361760163768148115824519578097149981323284822570046379887933642028763719343665389515480469377275247650019035154164039141106565545534550307366351574676215302090478061344881110045163766728878438085511794603726565205495327961398680571574938449703942774477204780868433578160426680613298397914106259092311233116050412030267578055542237542570251157308767526315425721542699199400633918202491544664215645545204520195613877220864564356573592659483355002374694584750816259612428734271859254863170299596428204132233753674745432004829711981166571861413601732367406181439707637257988595229748086011067053119252693405929236955772001089558081419269480530722074453400979123154633383244519597543456726331180665026023048702234211256906978452551675067692835286378555504642155458057277352696036502251381299140440318975967005803 202719037551867877015207947570972002938603832717070577840270976629289644279269260914540522942488174273986067200933035313375005596921710701687559612050744865030703823891841404296781690927950004690844070618997329640467194037515274376905098535805787410058651151030077811460363956472911014261964778795753116303041784947681211990702333079209582476523857995225847127380835862129619669942448091250604943490865550906265123193130456710307830867909893188985351774294352633712816320085286220380975715756620354846069223024316174070859143352652157477358230728361758279154290261275686075411484230111175046633070811003308590097817755942997729863778826292758295849812051489587017005180158095099633289292911090594233153024917950419482496871567852088600258442704578262003109812837668484504908403061043057046939483047701862889214224260609076138309314242361259258402941469211346044715721648910975985315803800275042555212044810794043484290546618495857103491026354816265434752668299906343280403995041983803504535983118066478093844540723604 328006292925588499789148351966342367544603305858997416221509680512283493059496272018957545812639535811241630842172458863040790840607300826423602564935421659097635345929872035664511514294567555244311342285788980002227357805663390201424676632955768733343473721076457699394005985236630357927354294276222493578289434966716366154741474185775128011074165361577421803596137952607681014823558136414371672369303636418059726919695662205635792266590464763923801478237127110917597188518864380807656329055018268952328315335549290121271173620230213019595773298612915587921816576701407618110683630745093249124615475218954135302337951556874950728343182866350955333167053864281601755996417707528367561152165953764532749453122082653236171616999856918312239609276439675604842180243849924212545661049638286795025494114754982141907630189846031910310403800442678527883472191285799445694844803544359229835401343731768886392709836817092186524757875402835556042701422509100721131223804548498738461272394679840006787364417206918412820507729407 530725330477456376804356299537314370483207138576067994061780657141573137338765532933498068755127710085227698043105494176415796437529011528111162176986166524128339169821713439961293205222517559935155412904786309642694551843178664578329775168761556143402124872106535510854369941709541372189319073071975609881331219914397578145443807264984710487598023356803268930976973814737300684766006227664976615860169187324324850112826118915943623134500357952909153252531479744630413508604150601188632044811638623798397538359865464192130316972882370496954004026974673867076106837977093693522167860856268295757686286222262725400155707499872680592122009159109251182979105353868618761176575802628000850445077044358765902478040033072718668488567709006912498051981017937607951993081518408717454064110681343841964977162456845031121854450455108048619718042803937786286413660497145490410566452455335215151205144006811441604754647611135670815304493898692659533727777325366155883892104454842018865267436663643511323347535273396506665048453011 858731623403044876593504651503656738027810444435065410283290337653856630398261804952455614567767245896469328885277953039456587278136312354534764741921588183225974515751585475625804719517085115179466755190575289644921909648842054779754451801717324876745598593182993210248375926946171730116673367348198103459620654881113944300185281450759838498672188718380690734573111767344981699589564364079348288229472823742384577032521781121579415401090822716832954730768606855548010697123014981996288373866656892750725853695414754313401490593112583516549777325587589454997923414678501311632851491601361544882301761441216860702493659056747631320465192025460206516146159218150220517172993510156368411597242998123298651931162115725954840105567565925224737661257457613212794173325368332929999725160319630636990471277211827173029484640301139958930121843246616314169885851782944936105411255999694444986606487738580327997464484428227857340062369301528215576429199834466877015115909003340757326539831343483518110711952480314919485556182418 1389456953880501253397860951040971108511017583011133404345070994795429767737027337885953683322894955981697026928383447215872383715665323882645926918907754707354313685573298915587097924739602675114622168095361599287616461492020719358084226970478881020147723465289528721102745868655713102305992440420173713340951874795511522445629088715744548986270212075183959665550085582082282384355570591744324904089642011066709427145347900037523038535591180669742107983300086600178424205727165583184920418678295516549123392055280218505531807565994954013503781352562263322074030252655595005155019352457629840639988047663479586102649366556620311912587201184569457699125264572018839278349569312784369262042320042482064554409202148798673508594135274932137235713238475550820746166406886741647453789271000974478955448439668672204151339090756248007549839886050554100456299512280090426515977708455029660137811631745391769602219132039363528155366863200220875110156977159833032899008013458182776191807268007127029434059487753711426150604635429 2248188577283546129991365602544627846538828027446198814628361332449286398135289142838409297890662201878166355813661400255328970993801636237180691660829342890580288201324884391212902644256687790294088923285936888932538371140862774137838678772196205896893322058472521931351121795601884832422665807768371816800572529676625466745814370166504387484942400793564650400123197349427264083945134955823673192319114834809094004177869681159102453936682003386575062714068693455726434902850180565181208792544952409299849245750694972818933298159107537530053558678149852777071953667334096316787870844058991385522289809104696446805143025613367943233052393210029664215271423790169059795522562822940737673639563040605363206340364264524628348699702840857361973374495933164033540339732255074577453514431320605115945919716880499377180823731057387966479961729297170414626185364063035362621388964454724105124418119483972097599683616467591385495429232501749090686586176994299909914123922461523533518347099350610547544771440234026345636160817847 3637645531164047383389226553585598955049845610457332218973432327244716165872316480724362981213557157859863382742044847471201354709466960119826618579737097597934601886898183306800000568996290465408711091381298488220154832632883493495922905742675086917041045523762050652453867664257597934728658248188545530141524404472136989191443458882248936471212612868748610065673282931509546468300705547567998096408756845875803431323217581196625492472273184056317170697368780055904859108577346148366129211223247925848972637805975191324465105725102491543557340030712116099145983919989691321942890196516621226162277856768176032907792392169988255145639594394599121914396688362187899073872132135725106935681883083087427760749566413323301857293838115789499209087734408714854286506139141816224907303702321579594901368156549171581332162821813635974029801615347724515082484876343125789137366672909753765262229751229363867201902748506954913650796095701969965796743154154132942813131935919706309710154367357737576978830927987737771786765453276 5885834108447593513380592156130226801588673637903531033601793659694002564007605623562772279104219359738029738555706247726530325703268596357007310240566440488514890088223067698012903213252978255702800014667235377152693203773746267633761584514871292813934367582234572583804989459859482767151324055956917346942096934148762455937257829048753323956155013662313260465796480280936810552245840503391671288727871680684897435501087262355727946408955187442892233411437473511631294011427526713547338003768200335148821883556670164143398403884210029073610898708861968876217937587323787638730761040575612611684567665872872479712935417783356198378691987604628786129668112152356958869394694958665844609321446123692790967089930677847930205993540956646861182462230341878887826845871396890802360818133642184710847287873429670958512986552871023940509763344644894929708670240406161151758755637364477870386647870713335964801586364974546299146225328203719056483329331148432852727255858381229843228501466708348124523602368221764117422926271123 9523479639611640896769818709715825756638519248360863252575225986938718729879922104287135260317776517597893121297751095197731680412735556476833928820303538086449491975121251004812903782249268721111511106048533865372848036406629761129684490257546379730975413105996623236258857124117080701879982304145462877083621338620899445128701287931002260427367626531061870531469763212446357020546546050959669385136628526560700866824304843552353438881228371499209404108806253567536153120004872861913467214991448260997794521362645355467863509609312520617168238739574084975363921507313478960673651237092233837846845522641048512620727809953344453524331581999227908044064800514544857943266827094390951545003329206780218727839497091171232063287379072436360391549964750593742113352010538707027268121835963764305748656029978842539845149374684659914539564959992619444791155116749286940896122310274231635648877621942699832003489113481501212797021423905689022280072485302565795540387794300936152938655834066085701502433296209501889209691724399 15409313748059234410150410865846052558227192886264394286177019646632721293887527727849907539421995877335922859853457342924262006116004152833841239060869978574964382063344318702825806995502246976814311120715769242525541240180376028763446074772417672544909780688231195820063846583976563469031306360102380224025718272769661901065959116979755584383522640193375130997266243493383167572792386554351340673864500207245598302325392105908081385290183558942101637520243727079167447131432399575460805218759648596146616404919315519611261913493522549690779137448436053851581859094637266599404412277667846449531413188513920992333663227736700651903023569603856694173732912666901816812661522053056796154324775330473009694929427769019162269280920029083221574012195092472629940197881935597829628939969605949016595943903408513498358135927555683855049328304637514374499825357155448092654877947638709506035525492656035796805075478456047511943246752109408078763401816450998648267643652682165996167157300774433826026035664431266006632617995522 24932793387670875306920229575561878314865712134625257538752245633571440023767449832137042799739772394933815981151208438121993686528739709310675167881173516661413874038465569707638710777751515697925822226764303107898389276587005789893130565029964052275885193794227819056322703708093644170911288664247843101109339611390561346194660404910757844810890266724437001528736006705829524593338932605311010059001128733806299169149696949460434824171411930441311041629049980646703600251437272437374272433751096857144410926281960875079125423102835070307947376188010138826945780601950745560078063514760080287378258711154969504954391037690045105427355151603084602217797713181446674755928349147447747699328104537253228422768924860190394332568299101519581965562159843066372053549892474304856897061805569713322344599933387356038203285302240343769588893264630133819290980473904735033551000257912941141684403114598735628808564591937548724740268176015097101043474301753564443808031446983102149105813134840519527528468960640767895842309719921 40342107135730109717070640441407930873092905020889651824929265280204161317654977559986950339161768272269738841004665781046255692644743862144516406942043495236378256101809888410464517773253762674740133347480072350423930516767381818656576639802381724820794974482459014876386550292070207639942595024350223325135057884160223247260619521890513429194412906917812132526002250199212692166131319159662350732865628941051897471475089055368516209461595489383412679149293707725871047382869672012835077652510745453291027331201276394690387336596357619998726513636446192678527639696588012159482475792427926736909671899668890497288054265426745757330378721206941296391530625848348491568589871200504543853652879867726238117698352629209556601849219130602803539574354935539001993747774409902686526001775175662338940543836795869536561421229796027624638221569267648193790805831060183126205878205551650647719928607254771425613640070393596236683514928124505179806876118204563092075675099665268145272970435614953353554504625072033902474927715443 65274900523400985023990870016969809187958617155514909363681510913775601341422427392123993138901540667203554822155874219168249379173483571455191574823217011897792130140275458118103228551005278372665955574244375458322319793354387608549707204832345777096680168276686833932709254000163851810853883688598066426244397495550784593455279926801271274005303173642249134054738256905042216759470251764973360791866757674858196640624786004828951033633007419824723720778343688372574647634306944450209350086261842310435438257483237269769512759699192690306673889824456331505473420298538757719560539307188007024287930610823860002242445303116790862757733872810025898609328339029795166324518220347952291552980984404979466540467277489399950934417518232122385505136514778605374047297666884207543423063580745375661285143770183225574764706532036371394227114833897782013081786304964918159756878463464591789404331721853507054422204662331144961423783104139602280850350419958127535883706546648370294378783570455472881082973585712801798317237435364 105617007659131094741061510458377740061051522176404561188610776193979762659077404952110943478063308939473293663160540000214505071818227433599707981765260507134170386242085346528567746324259041047406088921724447808746250310121769427206283844634727501917475142759145848809095804292234059450796478712948289751379455379711007840715899448691784703199716080560061266580740507104254908925601570924635711524732386615910094112099875060197467243094602909208136399927637396098445695017176616463044427738772587763726465588684513664459900096295550310305400403460902524184001059995126769879043015099615933761197602510492750499530499568543536620088112594016967195000858964878143657893108091548456835406633864272705704658165630118609507536266737362725189044710869714144376041045441294110229949065355921038000225687606979095111326127761832399018865336403165430206872592136025101285962756669016242437124260329108278480035844732724741198107298032264107460657226538162690627959381646313638439651754006070426234637478210784835700792165150807 170891908182532079765052380475347549249010139331919470552292287107755364000499832344234936616964849606676848485316414219382754450991711005054899556588477519031962516382360804646670974875264319420072044495968823267068570103476157035755991049467073279014155311035832682741805058292397911261650362401546356177623852875261792434171179375493055977205019254202310400635478764009297125685071822689609072316599144290768290752724661065026418276727610329032860120705981084471020342651483560913253777825034430074161903846167750934229412855994743000612074293285358855689474480293665527598603554406803940785485533121316610501772944871660327482845846466826993093610187303907938824217626311896409126959614848677685171198632907608009458470684255594847574549847384492749750088343108178317773372128936666413661510831377162320686090834293868770413092451237063212219954378440990019445719635132480834226528592050961785534458049395055886159531081136403709741507576958120818163843088192962008734030537576525899115720451796497637499109402586171 276508915841663174506113890933725289310061661508324031740903063301735126659577237296345880095028158546150142148476954219597259522809938438654607538353738026166132902624446151175238721199523360467478133417693271075814820413597926462962274894101800780931630453794978531550900862584631970712446841114494645929003308254972800274887078824184840680404735334762371667216219271113552034610673393614244783841331530906678384864824536125223885519822213238240996520633618480569466037668660177376298205563807017837888369434852264598689312952290293310917474696746261379873475540288792297477646569506419874546683135631809361001303444440203864102933959060843960288611046268786082482110734403444865962366248712950390875856798537726618966006950992957572763594558254206894126129388549472428003321194292587451661736518984141415797416962055701169431957787640228642426826970577015120731682391801497076663652852380070064014493894127780627357638379168667817202164803496283508791802469839275647173682291582596325350357930007282473199901567736978 447400824024195254271166271409072838559071800840243502293195350409490490660077069640580816711993008152826990633793368438980013973801649443709507094942215545198095419006806955821909696074787679887550177913662094342883390517074083498718265943568874059945785764830811214292705920877029881974097203516041002106627161130234592709058258199677896657609754588964682067851698035122849160295745216303853856157930675197446675617549197190250303796549823567273856641339599565040486380320143738289551983388841447912050273281020015532918725808285036311529548990031620235562950020582457825076250123913223815332168668753125971503076389311864191585779805527670953382221233572694021306328360715341275089325863561628076047055431445334628424477635248552420338144405638699643876217731657650745776693323229253865323247350361303736483507796349569939845050238877291854646781349018005140177402026933977910890181444431031849548951943522836513517169460305071526943672380454404326955645558032237655907712829159122224466078381803780110699010970323149 723909739865858428777280162342798127869133462348567534034098413711225617319654306936926696807021166698977132782270322658577273496611587882364114633295953571364228321631253106997148417274311040355028311331355365418698210930672009961680540837670674840877416218625789745843606783461661852686544044630535648035630469385207392983945337023862737338014489923727053735067917306236401194906418609918098639999262206104125060482373733315474189316372036805514853161973218045609952417988803915665850188952648465749938642715872280131608038760575329622447023686777881615436425560871250122553896693419643689878851804384935332504379833752068055688713764588514913670832279841480103788439095118786141051692112274578466922912229983061247390484586241509993101738963892906538002347120207123173780014517521841316984983869345445152280924758405271109277008026517520497073608319595020260909084418735474987553834296811101913563445837650617140874807839473739344145837183950687835747448027871513303081395120741718549816436311811062583898912538060127 1171310563890053683048446433751870966428205263188811036327293764120716107979731376577507513519014174851804123416063691097557287470413237326073621728238169116562323740638060062819058113349098720242578489245017459761581601447746093460398806781239548900823201983456600960136312704338691734660641248146576650142257630515441985693003595223540633995624244512691735802919615341359250355202163826221952496157192881301571736099922930505724493112921860372788709803312817610650438798308947653955402172341489913661988915996892295664526764568860365933976572676809501850999375581453707947630146817332867505211020473138061304007456223063932247274493570116185867053053513414174125094767455834127416141017975836206542969967661428395875814962221490062413439883369531606181878564851864773919556707840751095182308231219706748888764432554754841049122058265394812351720389668613025401086486445669452898444015741242133763112397781173453654391977299778810871089509564405092162703093585903750958989107949900840774282514693614842694597923508383276 1895220303755912111825726596094669094297338725537378570361392177831941725299385683514434210326035341550781256198334013756134560967024825208437736361534122687926552062269313169816206530623409760597606800576372825180279812378418103422079347618910223741700618202082390705979919487800353587347185292777112298177888099900649378676948932247403371333638734436418789537987532647595651550108582436140051136156455087405696796582296663821198682429293897178303562965286035656260391216297751569621252361294138379411927558712764575796134803329435695556423596363587383466435801142324958070184043510752511195089872277522996636511836056816000302963207334704700780723885793255654228883206550952913557192710088110785009892879891411457123205446807731572406541622333424512719880911972071897093336722358272936499293215089052194041045357313160112158399066291912332848793997988208045661995570864404927885997850038053235676675843618824070795266785139252550215235346748355779998450541613775264262070503070642559324098951005425905278496836046443403 3066530867645965794874173029846540060725543988726189606688685941952657833279117060091941723845049516402585379614397704853691848437438062534511358089772291804488875802907373232635264643972508480840185289821390284941861413826164196882478154400149772642523820185538991666116232192139045322007826540923688948320145730416091364369952527470944005329262978949110525340907147988954901905310746262362003632313647968707268532682219594326923175542215757551092272768598853266910830014606699223576654533635628293073916474709656871460661567898296061490400169040396885317435176723778666017814190328085378700300892750661057940519292279879932550237700904820886647776939306669828353977974006787040973333728063946991552862847552839852999020409029221634819981505702956118901759476823936671012893430199024031681601446308758942929809789867914953207521124557307145200514387656821071063082057310074380784441865779295369439788241399997524449658762439031361086324856312760872161153635199679015221059611020543400098381465699040747973094759554826679 4961751171401877906699899625941209155022882714263568177050078119784599558578502743606375934171084857953366635812731718609826409404462887742949094451306414492415427865176686402451471174595918241437792090397763110122141226204582300304557502019059996384224438387621382372096151679939398909355011833700801246498033830316740743046901459718347376662901713385529314878894680636550553455419328698502054768470103056112965329264516258148121857971509654729395835733884888923171221230904450793197906894929766672485844033422421447256796371227731757046823765403984268783870977866103624087998233838837889895390765028184054577031128336695932853200908239525587428500825099925482582861180557739954530526438152057776562755727444251310122225855836953207226523128036380631621640388796008568106230152557296968180894661397811136970855147181075065365920190849219478049308385645029116725077628174479308670439715817348605116464085018821595244925547578283911301560203061116652159604176813454279483130114091185959422480416704466653251591595601270082 8028282039047843701574072655787749215748426702989757783738764061737257391857619803698317658016134374355952015427129423463518257841900950277460452541078706296904303668084059635086735818568426722277977380219153395064002640030746497187035656419209769026748258573160374038212383872078444231362838374624490194818179560732832107416853987189291381992164692334639840219801828625505455360730074960864058400783751024820233861946735852475045033513725412280488108502483742190082051245511150016774561428565394965559760508132078318717457939126027818537223934444381154101306154589882290105812424166923268595691657778845112517550420616575865403438609144346474076277764406595310936839154564526995503860166216004768115618574997091163121246264866174842046504633739336750523399865619945239119123582756320999862496107706570079900664937048990018573441315406526623249822773301850187788159685484553689454881581596643974556252326418819119694584310017315272387885059373877524320757812013133294704189725111729359520861882403507401224686355156096761 12990033210449721608273972281728958370771309417253325960788842181521856950436122547304693592187219232309318651239861142073344667246363838020409546992385120789319731533260746037538206993164344963715769470616916505186143866235328797491593158438269765410972696960781756410308535552017843140717850208325291441316213391049572850463755446907638758655066405720169155098696509262056008816149403659366113169253854080933199191211252110623166891485235067009883944236368631113253272476415600809972468323495161638045604541554499765974254310353759575584047699848365422885177132455985914193810658005761158491082422807029167094581548953271798256639517383872061504778589506520793519700335122266950034386604368062544678374302441342473243472120703128049273027761775717382145040254415953807225353735313617968043390769104381216871520084230065083939361506255746101299131158946879304513237313659032998125321297413992579672716411437640714939509857595599183689445262434994176480361988826587574187319839202915318943342299107974054476277950757366843 21018315249497565309848044937516707586519736120243083744527606243259114342293742351003011250203353606665270666666990565536862925088264788297869999533463827086224035201344805672624942811732771685993746850836069900250146506266075294678628814857479534437720955533942130448520919424096287372080688582949781636134392951782404957880609434096930140647231098054808995318498337887561464176879478620230171570037605105753433053157987963098211924998960479290372052738852373303335323721926750826747029752060556603605365049686578084691712249479787394121271634292746576986483287045868204299623082172684427086774080585874279612131969569847663660078126528218535581056353913116104456539489686793945538246770584067312793992877438433636364718385569302891319532395515054132668440120035899046344477318069938967905886876810951296772185021279055102512802821662272724548953932248729492301396999143586687580202879010636554228968737856459834634094167612914456077330321808871700801119800839720868891509564314644678464204181511481455700964305913463604 34008348459947286918122017219245665957291045537496409705316448424780971292729864898307704842390572838974589317906851707610207592334628626318279546525848947875543766734605551710163149804897116649709516321452986405436290372501404092170221973295749299848693652494723886858829454976114130512798538791275073077450606342831977808344364881004568899302297503774978150417194847149617472993028882279596284739291459186686632244369240073721378816484195546300255996975221004416588596198342351636719498075555718241650969591241077850665966559833546969705319334141111999871660419501854118493433740178445585577856503392903446706713518523119461916717643912090597085834943419636897976239824809060895572633374952129857472367179879776109608190506272430940592560157290771514813480374451852853569831053383556935949277645915332513643705105509120186452164327918018825848085091195608796814634312802619685705524176424629133901685149294100549573604025208513639766775584243865877281481789666308443078829403517559997407546480619455510177242256670830447 55026663709444852227970062156762373543810781657739493449844054668040085635023607249310716092593926445639859984573842273147070517422893414616149546059312774961767801935950357382788092616629888335703263172289056305686436878767479386848850788153228834286414608028666017307350374400210417884879227374224854713584999294614382766224974315101499039949528601829787145735693185037178937169908360899826456309329064292440065297527228036819590741483156025590628049714073377719923919920269102463466527827616274845256334640927655935357678809313334363826590968433858576858143706547722322793056822351130012664630583978777726318845488092967125576795770440309132666891297332753002432779314495854841110880145536197170266360057318209745972908891841733831912092552805825647481920494487751899914308371453495903855164522726283810415890126788175288964967149580291550397039023444338289116031311946206373285727055435265688130653887150560384207698192821428095844105906052737578082601590506029311970338967832204675871750662130936965878206562584294051 89035012169392139146092079376008039501101827195235903155160503092821056927753472147618420934984499284614449302480693980757278109757522040934429092585161722837311568670555909092951242421527004985412779493742042711122727251268883479019072761448978134135108260523389904166179829376324548397677766165499927791035605637446360574569339196106067939251826105604765296152888032186796410162937243179422741048620523479126697541896468110540969557967351571890884046689294382136512516118611454100186025903171993086907304232168733786023645369146881333531910302574970576729804126049576441286490562529575598242487087371681173025559006616086587493513414352399729752726240752389900409019139304915736683513520488327027738727237197985855581099398114164772504652710096597162295400868939604753484139424837052839804442168641616324059595232297295475417131477498310376245124114639947085930665624748826058991251231859894822032339036444660933781302218029941735610881490296603455364083380172337755049168371349764673279297142750392476055448819255124498 144061675878836991374062141532770413044912608852975396605004557760861142562777079396929137027578425730254309287054536253904348627180415455550578638644474497799079370606506266475739335038156893321116042666031099016809164130036362865867923549602206968421522868552055921473530203776534966282556993539724782504620604932060743340794313511207566979201354707434552441888581217223975347332845604079249197357949587771566762839423696147360560299450507597481512096403367759856436436038880556563652553730788267932163638873096389721381324178460215697358501271008829153587947832597298764079547384880705610907117671350458899344404494709053713070309184792708862419617538085142902841798453800770577794393666024524198005087294516195601554008289955898604416745262902422809777321363427356653398447796290548743659606691367900134475485359085470764382098627078601926642163138084285375046696936695032432276978287295160510162992923595221317989000410851369831454987396349341033446684970678367067019507339181969349151047804881329441933655381839418549 233096688048229130520154220908778452546014436048211299760165060853682199490530551544547557962562925014868758589535230234661626736937937496485007731229636220636390939277062175568690577459683898306528822159773141727931891381305246344886996311051185102556631129075445825639710033152859514680234759705224710295656210569507103915363652707313634918453180813039317738041469249410771757495782847258671938406570111250693460381320164257901529857417859169372396143092662141992948952157492010663838579633960261019070943105265123507404969547607097030890411573583799730317751958646875205366037947410281209149604758722140072369963501325140300563822599145108592172343778837532803250817593105686314477907186512851225743814531714181457135107688070063376921397972999019972072722232366961406882587221127601583464048860009516458535080591382766239799230104576912302887287252724232460977362561443858491268229519155055332195331960039882251770302628881311567065868886645944488810768350850704822068675710531734022430344947631721917989104201094543047 377158363927066121894216362441548865590927044901186696365169618614543342053307630941476694990141350745123067876589766488565975364118352952035586369874110718435470309883568442044429912497840791627644864825804240744741055511341609210754919860653392070978153997627501747113240236929394480962791753244949492800276815501567847256157966218521201897654535520473870179930050466634747104828628451337921135764519699022260223220743860405262090156868366766853908239496029901849385388196372567227491133364748528951234581978361513228786293726067312728248912844592628883905699791244173969445585332290986820056722430072598971714367996034194013634131783937817454591961316922675706092616046906456892272300852537375423748901826230377058689115978025961981338143235901442781850043595794318060281035017418150327123655551377416593010565950468237004181328731655514229529450390808517836024059498138890923545207806450215842358324883635103569759303039732681398520856282995285522257453321529071889088183049713703371581392752513051359922759582933961596 610255051975295252414370583350327318136941480949397996125334679468225541543838182486024252952704275759991826466124996723227602101056290448520594101103746939071861249160630617613120489957524689934173686985577382472672946892646855555641916171704577173534785126702947572752950270082253995643026512950174203095933026071074951171521618925834836816107716333513187917971519716045518862324411298596593074171089810272953683602064024663163620014286225936226304382588692043842334340353864577891329712998708789970305525083626636736191263273674409759139324418176428614223451749891049174811623279701268029206327188794739044084331497359334314197954383082926046764305095760208509343433640012143206750208039050226649492716357944558515824223666096025358259541208900462753922765828161279467163622238545751910587704411386933051545646541851003243980558836232426532416737643532750297001422059582749414813437325605271174553656843674985821529605668613992965586725169641230011068221672379776711156858760245437394011737700144773277911863784028504643 987413415902361374308586945791876183727868525850584692490504298082768883597145813427500947942845626505114894342714763211793577465174643400556180470977857657507331559044199059657550402455365481561818551811381623217414002403988464766396836032357969244512939124330449319866190507011648476605818266195123695896209841572642798427679585144356038713762251853987058097901570182680265967153039749934514209935609509295213906822807885068425710171154592703080212622084721945691719728550237145118820846363457318921540107061988149964977556999741722487388237262769057498129151541135223144257208611992254849263049618867338015798699493393528327832086167020743501356266412682884215436049686918600099022508891587602073241618184174935574513339644121987339597684444801905535772809423955597527444657255963902237711359962764349644556212492319240248161887567887940761946188034341268133025481557721640338358645132055487016911981727310089391288908708346674364107581452636515533325674993908848600245041809959140765593130452657824637834623366962466239 1597668467877656626722957529142203501864810006799982688615838977550994425140983995913525200895549902265106720808839759935021179566230933849076774572081604596579192808204829677270670892412890171495992238796959005690086949296635320322038752204062546418047724251033396892619140777093902472248844779145297898992142867643717749599201204070190875529869968187500246015873089898725784829477451048531107284106699319568167590424871909731589330185440818639306517004673413989534054068904101723010150559362166108891845632145614786701168820273416132246527561680945486112352603291026272319068831891693522878469376807662077059883030990752862642030040550103669548120571508443092724779483326930743305772716930637828722734334542119494090337563310218012697857225653702368289695575252116876994608279494509654148299064374151282696101859034170243492142446404120367294362925677874018430026903617304389753172082457660758191465638570985075212818514376960667329694306622277745544393896666288625311401900570204578159604868152802597915746487150990970882 2585081883780018001031544474934079685592678532650567381106343275633763308738129809341026148838395528770221615151554523146814757031405577249632955043059462254086524367249028736928221294868255653057810790608340628907500951700623785088435588236420515662560663375363846212485331284105550948854663045340421594888352709216360548026880789214546914243632220041487304113774660081406050796630490798465621494042308828863381497247679794800015040356595411342386729626758135935225773797454338868128971405725623427813385739207602936666146377273157854733915798943714543610481754832161495463326040503685777727732426426529415075681730484146390969862126717124413049476837921125976940215533013849343404795225822225430795975952726294429664850902954340000037454910098504273825468384676072474522052936750473556386010424336915632340658071526489483740304333972008308056309113712215286563052385175026030091530727589716245208377620298295164604107423085307341693801888074914261077719571660197473911646942380163718925197998605460422553581110517953437121 4182750351657674627754502004076283187457488539450550069722182253184757733879113805254551349733945431035328335960394283081835936597636511098709729615141066850665717175453858414198892187281145824553803029405299634597587900997259105410474340440483062080608387626397243105104472061199453421103507824485719493880495576860078297626081993284737789773502188228987550129647749980131835626107941846996728778149008148431549087672551704531604370542036229981693246631431549924759827866358440591139121965087789536705231371353217723367315197546573986980443360624660029722834358123187767782394872395379300606201803234191492135564761474899253611892167267228082597597409429569069664995016340780086710567942752863259518710287268413923755188466264558012735312135752206642115163959928189351516661216244983210534309488711066915036759930560659727232446780376128675350672039390089304993079288792330419844702810047377003399843258869280239816925937462268009023496194697192006622113468326486099223048842950368297084802866758263020469327597668944408003 6767832235437692628786046479010362873050167072101117450828525528818521042617243614595577498572340959805549951111948806228650693629042088348342684658200529104752241542702887151127113482149401477611613820013640263505088852697882890498909928676903577743169051001761089317589803345305004369958170869826141088768848286076438845652962782499284704017134408270474854243422410061537886422738432645462350272191316977294930584920231499331619410898631641324079976258189685859985601663812779459268093370813412964518617110560820660033461574819731841714359159568374573333316112955349263245720912899065078333934229660720907211246491959045644581754293984352495647074247350695046605210549354629430115363168575088690314686239994708353420039369218898012772767045850710915940632344604261826038714152995456766920319913047982547377418002087149210972751114348136983406981153102304591556131673967356449936233537637093248608220879167575404421033360547575350717298082772106267699833039986683573134695785330532016010000865363723443022908708186897845124 10950582587095367256540548483086646060507655611551667520550707782003278776496357419850128848306286390840878287072343089310486630226678599447052414273341595955417958718156745565326005669430547302165416849418939898102676753695141995909384269117386639823777438628158332422694275406504457791061678694311860582649343862936517143279044775784022493790636596499462404373070160041669722048846374492459079050340325125726479672592783203863223781440667871305773222889621235784745429530171220050407215335901202501223848481914038383400776772366305828694802520193034603056150471078537031028115785294444378940136032894912399346811253433944898193646461251580578244671656780264116270205565695409516825931111327951949833396527263122277175227835483456025508079181602917558055796304532451177555375369240439977454629401759049462414177932647808938205197894724265658757653192492393896549210962759686869780936347684470252008064138036855644237959298009843359740794277469298274321946508313169672357744628280900313094803732121986463492236305855842253127 17718414822533059885326594962097008933557822683652784971379233310821799819113601034445706346878627350646428238184291895539137323855720687795395098931542125060170200260859632716453119151579948779777030669432580161607765606393024886408294197794290217566946489629919421740284078751809462161019849564138001671418192149012955988932007558283307197807771004769937258616492570103207608471584807137921429322531642103021410257513014703194843192339299512629853199147810921644731031193983999509675308706714615465742465592474859043434238347186037670409161679761409176389466584033886294273836698193509457274070262555633306558057745392990542775400755235933073891745904130959162875416115050038946941294279903040640148082767257830630595267204702354038280846227453628473996428649136713003594089522235896744374949314807032009791595934734958149177949009072402642164634345594698488105342636727043319717169885321563500616285017204431048658992658557418710458092360241404542021779548299853245492440413611432329104804597485709906515145014042740098251 28668997409628427141867143445183654994065478295204452491929941092825078595609958454295835195184913741487306525256634984849623954082399287242447513204883721015588158979016378281779124821010496081942447518851520059710442360088166882317678466911676857390723928258077754162978354158313919952081528258449862254067536011949473132211052334067329691598407601269399662989562730144877330520431181630380508372871967228747889930105797907058066973779967383935626422037432157429476460724155219560082524042615817966966314074388897426835015119552343499103964199954443779445617055112423325301952483487953836214206295450545705904868998826935440969047216487513652136417560911223279145621680745448463767225391230992589981479294520952907770495040185810063788925409056546032052224953669164181149464891476336721829578716566081472205773867382767087383146903796668300922287538087092384654553599486730189498106233006033752624349155241286692896951956567262070198886637710702816343726056613022917850185041892332642199608329607696370007381319898582351378 46387412232161487027193738407280663927623300978857237463309174403646878414723559488741541542063541092133734763440926880388761277938119975037842612136425846075758359239876010998232243972590444861719478188284100221318207966481191768725972664705967074957670417887997175903262432910123382113101377822587863925485728160962429121143059892350636889406178606039336921606055300248084938992015988768301937695403609331769300187618812610252910166119266896565479621185243079074207491918139219069757832749330433432708779666863756470269253466738381169513125879715852955835083639146309619575789181681463293488276558006179012462926744219925983744447971723446726028163465042182442021037795795487410708519671134033230129562061778783538365762244888164102069771636510174506048653602805877184743554413712233466204528031373113481997369802117725236561095912869070943086921883681790872759896236213773509215276118327597253240634172445717741555944615124680780656978997952107358365505604912876163342625455503764971304412927093406276522526333941322449629 75056409641789914169060881852464318921688779274061689955239115496471957010333517943037376737248454833621041288697561865238385232020519262280290125341309567091346518218892389280011368793600940943661925707135620281028650326569358651043651131617643932348394346146074930066240787068437302065182906081037726179553264172911902253354112226417966581004586207308736584595618030392962269512447170398682446068275576560517190117724610517310977139899234280501106043222675236503683952642294438629840356791946251399675093741252653897104268586290724668617090079670296735280700694258732944877741665169417129702482853456724718367795743046861424713495188210960378164581025953405721166659476540935874475745062365025820111041356299736446136257285073974165858697045566720538100878556475041365893019305188570188034106747939194954203143669500492323944242816665739244009209421768883257414449835700503698713382351333631005864983327687004434452896571691942850855865635662810174709231661525899081192810497396097613504021256701102646529907653839904801007 121443821873951401196254620259744982849312080252918927418548289900118835425057077431778918279311995925754776052138488745627146509958639237318132737477735413167104877458768400278243612766191385805381403895419720502346858293050550419769623796323611007306064764034072105969503219978560684178284283903625590105038992333874331374497172118768603470410764813348073506201673330641047208504463159166984383763679185892286490305343423127563887306018501177066585664407918315577891444560433657699598189541276684832383873408116410367373522053029105838130215959386149691115784333405042564453530846850880423190759411462903730830722487266787408457943159934407104192744490995588163187697272336423285184264733499059050240603418078519984502019529962138267928468682076895044149532159280918550636573718900803654238634779312308436200513471618217560505338729534810187096131305450674130174346071914277207928658469661228259105617500132722176008841186816623631512844633614917533074737266438775244535435952899862584808434183794508923052433987781227250636 196500231515741315365315502112209301771000859526980617373787405396590792435390595374816295016560450759375817340836050610865531741979158499598422862819044980258451395677660789558254981559792326749043329602555340783375508619619909070813274927941254939654459110180147036035744007046997986243467189984663316284592256506786233627851284345186570051415351020656810090797291361034009478016910329565666829831954762452803680423068033644874864445917735457567691707630593552081575397202728096329438546333222936232058967149369064264477790639319830506747306039056446426396485027663775509331272512020297552893242264919628449198518230313648833171438348145367482357325516948993884354356748877359159660009795864084870351644774378256430638276815036112433787165727643615582250410715755959916529593024089373842272741527251503390403657141118709884449581546200549431105340727219557387588795907614780906642040820994859264970600827819726610461737758508566482368710269277727707783968927964674325728246450295960198312455440495611569582341641621132051643 317944053389692716561570122371954284620312939779899544792335695296709627860447672806595213295872446685130593392974539356492678251937797736916555600296780393425556273136429189836498594325983712554424733497975061285722366912670459490582898724264865946960523874214219142005247227025558670421751473888288906389631248840660565002348456463955173521826115834004883596998964691675056686521373488732651213595633948345090170728411456772438751751936236634634277372038511867659466841763161754029036735874499621064442840557485474631851312692348936344877521998442596117512269361068818073784803358871177976084001676382532180029240717580436241629381508079774586550070007944582047542054021213782444844274529363143920592248192456776415140296344998250701715634409720510626399942875036878467166166742990177496511376306563811826604170612736927444954920275735359618201472032670231517763141979529058114570699290656087524076218327952448786470578945325190113881554902892645240858706194403449570263682403195822783120889624290120492634775629402359302279 514444284905434031926885624484163586391313799306880162166123100693300420295838268181411508312432897444506410733810589967358209993916956236514978463115825373684007668814089979394753575885776039303468063100530402069097875532290368561396173652206120886614982984394366178040991234072556656665218663872952222674223505347446798630199740809141743573241466854661693687796256052709066164538283818298318043427588710797893851151479490417313616197853972092201969079669105419741042238965889850358475282207722557296501807706854538896329103331668766851624828037499042543908754388732593583116075870891475528977243941302160629227758947894085074800819856225142068907395524893575931896410770091141604504284325227228790943892966835032845778573160034363135502800137364126208650353590792838383695759767079551338784117833815315217007827753855637329404501821935909049306812759889788905351937887143839021212740111650946789046819155772175396932316703833756596250265172170372948642675122368123895991928853491782981433345064785732062217117271023491353922 832388338295126748488455746856117871011626739086779706958458795990010048156285940988006721608305344129637004126785129323850888245854753973431534063412605767109563941950519169231252170211759751857892796598505463354820242444960828051979072376470986833575506858608585320046238461098115327086970137761241129063854754188107363632548197273096917095067582688666577284795220744384122851059657307030969257023222659142984021879890947189752367949790208726836246451707617287400509080729051604387512018082222178360944648264340013528180416024017703196502350035941638661421023749801411656900879229762653505061245617684692809256999665474521316430201364304916655457465532838157979438464791304924049348558854590372711536141159291809260918869505032613837218434547084636835050296465829716850861926510069728835295494140379127043611998366592564774359422097671268667508284792560020423115079866672897135783439402307034313123037483724624183402895649158946710131820075063018189501381316771573466255611256687605764554234689075852554851892900425850656201 1346832623200560780415341371340281457402940538393659869124581896683310468452124209169418229920738241574143414860595719291209098239771710209946512526528431140793571610764609148626005746097535791161360859699035865423918117977251196613375246028677107720190489843002951498087229695170671983752188801634193351738078259535554162262747938082238660668309049543328270972591476797093189015597941125329287300450811369940877873031370437607065984147644180819038215531376722707141551319694941454745987300289944735657446455971194552424509519355686470048127178073440681205329778138534005240016955100654129034038489558986853438484758613368606391231021220530058724364861057731733911334875561396065653852843179817601502480034126126842106697442665066976972721234684448763043700650056622555234557686277149280174079611974194442260619826120448202103763923919607177716815097552449809328467017753816736156996179513957981102169856639496799580335212352992703306382085247233391138144056439139697362247540110179388745987579753861584617069010171449342010123 2179220961495687528903797118196399328414567277480439576083040692673320516608410150157424951529043585703780418987380848615059986485626464183378046589941036907903135552715128317857257916309295543019253656297541328778738360422212024665354318405148094553765996701611536818133468156268787310839158939395434480801933013723661525895296135355335577763376632231994848257386697541477311866657598432360256557474034029083861894911261384796818352097434389545874461983084339994542060400423993059133499318372166914018391104235534565952689935379704173244629528109382319866750801888335416896917834330416782539099735176671546247741758278843127707661222584834975379822326590569891890773340352700989703201402034407974214016175285418651367616312170099590809939669231533399878750946522452272085419612787219009009375106114573569304231824487040766878123346017278446384323382345009829751582097620489633292779618916265015415292894123221423763738108002151650016513905322296409327645437755911270828503151366866994510541814442937437171920903071875192666324 3526053584696248309319138489536680785817507815874099445207622589356630985060534359326843181449781827277923833847976567906269084725398174393324559116469468048696707163479737466483263662406831334180614515996577194202656478399463221278729564433825202273956486544614488316220697851439459294591347741029627832540011273259215688158044073437574238431685681775323119229978174338570500882255539557689543857924845399024739767942631822403884336245078570364912677514461062701683611720118934513879486618662111649675837560206729118377199454735390643292756706182823001072080580026869422136934789431070911573138224735658399686226516892211734098892243805365034104187187648301625802108215914097055357054245214225575716496209411545493474313754835166567782660903915982162922451596579074827319977299064368289183454718088768011564851650607488968981887269936885624101138479897459639080049115374306369449775798430222996517462750762718223344073320355144353322895990569529800465789494195050968190750691477046383256529394196799021788989913243324534676447 5705274546191935838222935607733080114232075093354539021290663282029951501668944509484268132978825412981704252835357416521329071211024638576702605706410504956599842716194865784340521578716126877199868172294118522981394838821675245944083882838973296827722483246226025134354166007708246605430506680425062313341944286982877214053340208792909816195062314007317967487364871880047812748913137990049800415398879428108601662853893207200702688342512959910787139497545402696225672120542927573012985937034278563694228664442263684329889390115094816537386234292205320938831381915204839033852623761487694112237959912329945933968275171054861806553466390200009484009514238871517692881556266798045060255647248633549930512384696964144841930067005266158592600573147515562801202543101527099405396911851587298192829824203341580869083475094529735860010615954164070485461862242469468831631212994796002742555417346488011932755644885939647107811428357296003339409895891826209793434931950962239019253842843913377767071208639736458960910816315199727342771 9231328130888184147542074097269760900049582909228638466498285871386582486729478868811111314428607240259628086683333984427598155936422812970027164822879973005296549879674603250823785241122958211380482688290695717184051317221138467222813447272798499101678969790840513450574863859147705900021854421454690145881955560242092902211384282230484054626747995782641086717343046218618313631168677547739344273323724827133341430796525029604587024587591530275699817012006465397909283840661862086892472555696390213370066224648992802707088844850485459830142940475028322010911961942074261170787413192558605685376184647988345620194792063266595905445710195565043588196701887173143494989772180895100417309892462859125647008594108509638316243821840432726375261477063497725723654139680601926725374210915955587376284542292109592433935125702018704841897885891049694586600342139929107911680328369102372192331215776711008450218395648657870451884748712440356662305886461356010259224426146013207210004534320959761023600602836535480749900729558524262019218 14936602677080119985765009705002841014281658002583177487788949153416533988398423378295379447407432653241332339518691400948927227147447451546729770529290477961896392595869469035164306819839085088580350860584814240165446156042813713166897330111771795929401453037066538584929029866855952505452361101879752459223899847224970116264724491023393870821810309789959054204707918098666126380081815537789144688722604255241943093650418236805289712930104490186486956509551868094134955961204789659905458492730668777064294889091256487036978234965580276367529174767233642949743343857279100204640036954046299797614144560318291554163067234321457711999176585765053072206216126044661187871328447693145477565539711492675577520978805473783158173888845698884967862050211013288524856682782129026130771122767542885569114366495451173303018600796548440701908501845213765072062204382398576743311541363898374934886633123199020382974040534597517559696177069736360001715782353182220052659358096975446229258377164873138790671811476271939710811545873723989361989 24167930807968304133307083802272601914331240911811815954287235024803116475127902247106490761836039893500960426202025385376525383083870264516756935352170450967192942475544072285988092060962043299960833548875509957349497473263952180389710777384570295031080422827907052035503893726003658405474215523334442605105855407467063018476108773253877925448558305572600140922050964317284440011250493085528488962046329082375284524446943266409876737517696020462186773521558333492044239801866651746797931048427058990434361113740249289744067079816065736197672115242261964960655305799353361375427450146604905482990329208306637174357859297588053617444886781330096660402918013217804682861100628588245894875432174351801224529572913983421474417710686131611343123527274511014248510822462730952856145333683498472945398908787560765736953726498567145543806387736263459658662546522327684654991869733000747127217848899910028833192436183255388011580925782176716664021668814538230311883784242988653439262911485832899814272414312807420460712275432248251381207 39104533485048424119072093507275442928612898914394993442076184178219650463526325625401870209243472546742292765720716786325452610231317716063486705881460928929089335071413541321152398880801128388541184409460324197514943629306765893556608107496342090960481875864973590620432923592859610910926576625214195064329755254692033134740833264277271796270368615362559195126758882415950566391332308623317633650768933337617227618097361503215166450447800510648673730031110201586179195763071441406703389541157727767498656002831505776781045314781646012565201290009495607910398649656632461580067487100651205280604473768624928728520926531909511329444063367095149732609134139262465870732429076281391372440971885844476802050551719457204632591599531830496310985577485524302773367505244859978986916456451041358514513275283011939039972327295115586245714889581477224730724750904726261398303411096899122062104482023109049216166476717852905571277102851913076665737451167720450364543142339964099668521288650706038604944225789079360171523821305972240743196 63272464293016728252379177309548044842944139826206809396363419203022766938654227872508360971079512440243253191922742171701977993315187980580243641233631379896282277546957613607140490941763171688502017958335834154864441102570718073946318884880912385991562298692880642655936817318863269316400792148548637669435610662159096153216942037531149721718926920935159336048809846733235006402582801708846122612815262419992512142544304769625043187965496531110860503552668535078223435564938093153501320589584786757933017116571755066525112394597711748762873405251757572871053955455985822955494937247256110763594802976931565902878785829497564946888950148425246393012052152480270553593529704869637267316404060196278026580124633440626107009310217962107654109104760035317021878327707590931843061790134539831459912184070572704776926053793682731789521277317740684389387297427053946053295280829899869189322330923019078049358912901108293582858028634089793329759119982258680676426926582952753107784200136538938419216640101886780632236096738220492124403 102376997778065152371451270816823487771557038740601802838439603381242417402180553497910231180322984986985545957643458958027430603546505696643730347115092308825371612618371154928292889822564300077043202367796158352379384731877483967502926992377254476952044174557854233276369740911722880227327368773762832733765365916851129287957775301808421517989295536297718531175568729149185572793915110332163756263584195757609739760641666272840209638413297041759534233583778736664402631328009534560204710130742514525431673119403260843306157709379357761328074695261253180781452605112618284535562424347907316044199276745556494631399712361407076276333013515520396125621186291742736424325958781151028639757375946040754828630676352897830739600909749792603965094682245559619795245832952450910829978246585581189974425459353584643816898381088798318035236166899217909120112048331780207451598691926798991251426812946128127265525389618961199154135131486002869995496571149979131040970068922916852776305488787244977024160865890966140803759918044192732867599 165649462071081880623830448126371532614501178566808612234803022584265184340834781370418592151402497427228799149566201129729408596861693677223973988348723688721653890165328768535433380764327471765545220326131992507243825834448202041449245877258166862943606473250734875932306558230586149543728160922311470403200976579010225441174717339339571239708222457232877867224378575882420579196497912041009878876399458177602251903185971042465252826378793572870394737136447271742626066892947627713706030720327301283364690235975015909831270103977069510090948100513010753652506560568604107491057361595163426807794079722488060534278498190904641223221963663945642518633238444223006977919488486020665907073780006237032855210800986338456846610219967754711619203787005594936817124160660041842673040036720121021434337643424157348593824434882481049824757444216958593509499345758834153504893972756698860440749143869147205314884302520069492736993160120092663325255691132237811717396995505869605884089688923783915443377505992852921435996014782413224992002 268026459849147032995281718943195020386058217307410415073242625965507601743015334868328823331725482414214345107209660087756839200408199373867704335463815997547025502783699923463726270586891771842588422693928150859623210566325686008952172869635421339895650647808589109208676299142309029771055529696074303136966342495861354729132492641147992757697517993530596398399947305031606151990413022373173635139983653935211991663827637315305462464792090614629928970720226008407028698220957162273910740851069815808796363355378276753137427813356427271419022795774263934433959165681222392026619785943070742851993356468044555165678210552311717499554977179466038644254424735965743402245447267171694546831155952277787683841477339236287586211129717547315584298469251154556612369993612492753503018283305702211408763102777741992410722815971279367859993611116176502629611394090614360956492664683497851692175956815275332580409692139030691891128291606095533320752262282216942758367064428786458660395177711028892467538371883819062239755932826605957859601 433675921920228913619112167069566553000559395874219027308045648549772786083850116238747415483127979841443144256775861217486247797269893051091678323812539686268679392949028691999159651351219243608133643020060143366867036400773888050401418746893588202839257121059323985140982857372895179314783690618385773540167319074871580170307209980487563997405740450763474265624325880914026731186910934414183514016383112112814243567013608357770715291170884187500323707856673280149654765113904789987616771571397117092161053591353292662968697917333496781509970896287274688086465726249826499517677147538234169659787436190532615699956708743216358722776940843411681162887663180188750380164935753192360453904935958514820539052278325574744432821349685302027203502256256749493429494154272534596176058320025823232843100746201899341004547250853760417684751055333135096139110739849448514461386637440196712132925100684422537895293994659100184628121451726188196646007953414454754475764059934656064544484866634812807910915877876671983675751947609019182851603 701702381769375946614393886012761573386617613181629442381288274515280387826865451107076238814853462255657489363985521305243086997678092424959382659276355683815704895732728615462885921938111015450722065713988294226490246967099574059353591616529009542734907768867913094349659156515204209085839220314460076677133661570732934899439702621635556755103258444294070664024273185945632883177323956787357149156366766048026235230841245673076177755962974802130252678576899288556683463334861952261527512422466932900957416946731569416106125730689924052928993692061538622520424891931048891544296933481304912511780792658577170865634919295528076222331918022877719807142087916154493782410383020364055000736091910792608222893755664811032019032479402849342787800725507904050041864147885027349679076603331525444251863848979641333415270066825039785544744666449311598768722133940062875417879302123694563825101057499697870475703686798130876519249743332283729966760215696671697234131124363442523204880044345841700378454249760491045915507880435625140711204 1135378303689604860233506053082328126387177009055848469689333923065053173910715567345823654297981442097100633620761382522729334794947985476051060983088895370084384288681757307462045573289330259058855708734048437593357283367873462109755010363422597745574164889927237079490642013888099388400622910932845850217300980645604515069746912602123120752508998895057544929648599066859659614364234891201540663172749878160840478797854854030846893047133858989630576386433572568706338228448766742249144283993864049993118470538084862079074823648023420834438964588348813310606890618180875391061974081019539082171568228849109786565591628038744434945108858866289400970029751096343244162575318773556415454641027869307428761946033990385776451853829088151369991302981764653543471358302157561945855134923357348677094964595181540674419817317678800203229495721782446694907832873789511389879265939563891275958026158184120408370997681457231061147371195058471926612768169111126451709895184298098587749364910980654508289370127637163029591259828044644323562807 1837080685458980806847899939095089699773794622237477912070622197580333561737581018452899893112834904352758122984746903827972421792626077901010443642365251053900089184414485922924931495227441274509577774448036731819847530334973036169108601979951607288309072658795150173840301170403303597486462131247305926894434642216337449969186615223758677507612257339351615593672872252805292497541558847988897812329116644208866714028696099703923070803096833791760829065010471857263021691783628694510671796416330982894075887484816431495180949378713344887367958280410351933127315510111924282606271014500843994683349021507686957431226547334272511167440776889167120777171839012497737944985701793920470455377119780100036984839789655196808470886308491000712779103707272557593513222450042589295534211526688874121346828444161182007835087384503839988774240388231758293676555007729574265297145241687585839783127215683818278846701368255361937666620938390755656579528384807798148944026308661541110954244955326496208667824377397654075506767708480269464274011 2972458989148585667081405992177417826160971631293326381759956120645386735648296585798723547410816346449858756605508286350701756587574063377061504625454146423984473473096243230386977068516771533568433483182085169413204813702846498278863612343374205033883237548722387253330943184291402985887085042180151777111735622861941965038933527825881798260121256234409160523321471319664952111905793739190438475501866522369707192826550953734769963850230692781391405451444044425969359920232395436759816080410195032887194358022901293574255773026736765721806922868759165243734206128292799673668245095520383076854917250356796743996818175373016946112549635755456521747201590108840982107561020567476885910018147649407465746785823645582584922740137579152082770406689037211136984580752200151241389346450046222798441793039342722682254904702182640192003736110014204988584387881519085655176411181251477115741153373867938687217699049712592998813992133449227583192296553918924600653921492959639698703609866307150716957194505034817105098027536524913787836818 4809539674607566473929305931272507525934766253530804293830578318225720297385877604251623440523651250802616879590255190178674178380200141278071948267819397477884562657510729153311908563744212808078011257630121901233052344037819534447972214323325812322192310207517537427171244354694706583373547173427457704006170265078279415008120143049640475767733513573760776116994343572470244609447352587179336287830983166578573906855247053438693034653327526573152234516454516283232381612016024131270487876826526015781270245507717725069436722405450110609174881149169517176861521638404723956274516110021227071538266271864483701428044722707289457279990412644623642524373429121338720052546722361397356365395267429507502731625613300779393393626446070152795549510396309768730497803202242740536923557976735096919788621483503904690089992086686480180777976498245963282260942889248659920473556422939062955524280589551756966064400417967954936480613071839983239771824938726722749597947801621180809657854821633646925625018882432471180604795245005183252110829 7781998663756152141010711923449925352095737884824130675590534438871107033034174190050346987934467597252475636195763476529375934967774204655133452893273543901869036130606972383698885632260984341646444740812207070646257157740666032726835826666700017356075547756239924680502187538986109569260632215607609481117905887940221380047053670875522274027854769808169936640315814892135196721353146326369774763332849688948281099681798007173462998503558219354543639967898560709201741532248419568030303957236721048668464603530619018643692495432186876330981804017928682420595727766697523629942761205541610148393183522221280445424862898080306403392540048400080164271575019230179702160107742928874242275413415078914968478411436946361978316366583649304878319917085346979867482383954442891778312904426781319718230414522846627372344896788869120372781712608260168270845330770767745575649967604190540071265433963419695653282099467680547935294605205289210822964121492645647350251869294580820508361464687940797642582213387467288285702822781530097039947647 12591538338363718614940017854722432878030504138354934969421112757096827330420051794301970428458118848055092515786018666708050113347974345933205401161092941379753598788117701537010794196005197149724455998442328971879309501778485567174808040990025829678267857963757462107673431893680816152634179389035067185124076153018500795055173813925162749795588283381930712757310158464605441330800498913549111051163832855526855006537045060612156033156885745927695874484353076992434123144264443699300791834063247064449734849038336743713129217837636986940156685167098199597457249405102247586217277315562837219931449794085764146852907620787595860672530461044703806795948448351518422212654465290271598640808682508422471210037050247141371709993029719457673869427481656748597980187156685632315236462403516416638019036006350532062434888875555600553559689106506131553106273660016405496123524027129603026789714552971452619346499885648502871775218277129194062735946431372370099849817096202001318019319509574444568207232269899759466307618026535280292058476 20373537002119870755950729778172358230126242023179065645011647195967934363454225984352317416392586445307568151981782143237426048315748550588338854054366485281622634918724673920709679828266181491370900739254536042525566659519151599901643867656725847034343405719997386788175619432666925721894811604642676666241982040958722175102227484800685023823443053190100649397625973356740638052153645239918885814496682544475136106218843067785619031660443965282239514452251637701635864676512863267331095791299968113118199452568955762356821713269823863271138489185026882018052977171799771216160038521104447368324633316307044592277770518867902264065070509444783971067523467581698124372762208219145840916222097587337439688448487193503350026359613368762552189344567003728465462571111128524093549366830297736356249450529197159434779785664424720926341401714766299823951604430784151071773491631320143098055148516391148272628599353329050807069823482418404885700067924018017450101686390782821826380784197515242210789445657367047752010440808065377332006123 32965075340483589370890747632894791108156746161534000614432759953064761693874277778654287844850705293362660667767800809945476161663722896521544255215459426661376233706842375457720474024271378641095356737696865014404876161297637167076451908646751676712611263683754848895849051326347741874528990993677743851366058193977222970157401298725847773619031336572031362154936131821346079382954144153467996865660515400001991112755888128397775064817329711209935388936604714694069987820777306966631887625363215177567934301607292506069950931107460850211295174352125081615510226576902018802377315836667284588256083110392808739130678139655498124737600970489487777863471915933216546585416673509417439557030780095759910898485537440644721736352643088220226058772048660477063442758267814156408785829233814152994268486535547691497214674539980321479901090821272431377057878090800556567897015658449746124844863069362600891975099238977553678845041759547598948436014355390387549951503486984823144400103707089686778996677927266807218318058834600657624064599 53338612342603460126841477411067149338282988184713066259444407149032696057328503763006605261243291738670228819749582953182902209979471447109883109269825911942998868625567049378430153852537560132466257476951401056930442820816788766978095776303477523746954669403752235684024670759014667596423802598320420517608040234935945145259628783526532797442474389762132011552562105178086717435107789393386882680157197944477127218974731196183394096477773676492174903388856352395705852497290170233962983416663183290686133754176248268426772644377284713482433663537151963633563203748701790018537354357771731956580716426699853331408448658523400388802671479934271748930995383514914670958178881728563280473252877683097350586934024634148071762712256456982778248116615664205528905329378942680502335196064111889350517937064744850931994460204405042406242492536038731201009482521584707639670507289769889222900011585753749164603698592306604485914865241966003834136082279408405000053189877767644970780887904604928989786123584633854970328499642666034956070722 86303687683087049497732225043961940446439734346247066873877167102097457751202781541660893106093997032032889487517383763128378371643194343631427364485285338604375102332409424836150627876808938773561614214648266071335318982114425934054547684950229200459565933087507084579873722085362409470952793591998164368974098428913168115417030082252380571061505726334163373707498236999432796818061933546854879545817713344479118331730619324581169161295103387702110292325461067089775840318067477200594871042026398468254068055783540774496723575484745563693728837889277045249073430325603808820914670194439016544836799537092662070539126798178898513540272450423759526794467299448131217543595555237980720030283657778857261485419562074792793499064899545203004306888664324682592348087646756836911121025297926042344786423600292542429209134744385363886143583357311162578067360612385264207567522948219635347744874655116350056578797831284158164759907001513602782572096634798792550004693364752468115180991611694615768782801511900662188646558477266692580135321 139642300025690509624573702455029089784722722530960133133321574251130153808531285304667498367337288770703118307266966716311280581622665790741310473755111250547373970957976474214580781729346498906027871691599667128265761802931214701032643461253706724206520602491259320263898392844377077067376596190318584886582138663849113260676658865778913368503980116096295385260060342177519514253169722940241762225974911288956245550705350520764563257772877064194285195714317419485481692815357647434557854458689581758940201809959789042923496219862030277176162501426429008882636634074305598839452024552210748501417515963792515401947575456702298902342943930358031275725462682963045888501774436966544000503536535461954612072353586708940865261777156002185782555005279988888121253417025699517413456221362037931695304360665037393361203594948790406292386075893349893779076843133969971847238030237989524570644886240870099221182496423590762650674772243479606616708178914207197550057883242520113085961879516299544758568925096534517158975058119932727536206043 225945987708777559122305927498991030231162456877207200007198741353227611559734066846328391473431285802736007794784350479439658953265860134372737838240396589151749073290385899050731409606155437679589485906247933199601080785045640635087191146203935924666086535578766404843772114929739486538329389782316749255556237092762281376093688948031293939565485842430458758967558579176952311071231656487096641771792624633435363882435969845345732419067980451896395488039778486575257533133425124635152725500715980227194269865743329817420219795346775840869891339315706054131710064399909407660366694746649765046254315500885177472486702254881197415883216380781790802519929982411177106045369992204524720533820193240811873557773148783733658760842055547388786861893944313570713601504672456354324577246659963974040090784265329935790412729693175770178529659250661056357144203746355236054805553186209159918389760895986449277761294254874920815434679244993209399280275549005990100062576607272581201142871127994160527351726608435179347621616597199420116341364 365588287734468068746879629954020120015885179408167333140520315604357765368265352150995889840768574573439126102051317195750939534888525925114048311995507839699123044248362373265312191335501936585617357597847600327866842587976855336119834607457642648872607138070025725107670507774116563605705985972635334142138375756611394636770347813810207308069465958526754144227618921354471825324401379427338403997767535922391609433141320366110295676840857516090680683754095906060739225948782772069710579959405561986134471675703118860343716015208806118046053840742135063014346698474215006499818719298860513547671831464677692874434277711583496318226160311139822078245392665374222994547144429171068721037356728702766485630126735492674524022619211549574569416899224302458834854921698155871738033468022001905735395144930367329151616324641966176470915735144010950136221046880325207902043583424198684489034647136856548498943790678465683466109451488472816015988454463213187650120459849792694287104750644293705285920651704969696506596674717132147652547407 591534275443245627869185557453011150247047636285374533147719056957585376927999418997324281314199860376175133896835667675190598488154386059486786150235904428850872117538748272316043600941657374265206843504095533527467923373022495971207025753661578573538693673648792129951442622703856050144035375754952083397694612849373676012864036761841501247634951800957212903195177500531424136395633035914435045769560160555826973315577290211456028095908837967987076171793874392635996759082207896704863305460121542213328741541446448677763935810555581958915945180057841117146056762874124414160185414045510278593926146965562870346920979966464693734109376691921612880765322647785400100592514421375593441571176921943578359187899884276408182783461267096963356278793168616029548456426370612226062610714681965879775485929195697264942029054335141946649445394394672006493365250626680443956849136610407844407424408032842997776705084933340604281544130733466025415268730012219177750183036457065275488247621772287865813272378313404875854218291314331567768888771 957122563177713696616065187407031270262932815693541866288239372561943142296264771148320171154968434949614259998886984870941538023042911984600834462231412268549995161787110645581355792277159310850824201101943133855334765960999351307326860361119221222411300811718817855059113130477972613749741361727587417539832988605985070649634384575651708555704417759483967047422796421885895961720034415341773449767327696478218582748718610577566323772749695484077756855547970298696735985030990668774573885419527104199463213217149567538107651825764388076961999020799976180160403461348339420660004133344370792141597978430240563221355257678048190052335537003061434959010715313159623095139658850546662162608533650646344844818026619769082706806080478646537925695692392918488383311348068768097800644182703967785510881074126064594093645378977108123120361129538682956629586297507005651858892720034606528896459055169699546275648875611806287747653582221938841431257184475432365400303496306857969775352372416581571099193030018374572360814966031463715421436178 1548656838620959324485250744860042420509980451978916399435958429519528519224264190145644452469168295325789393895722652546132136511197298044087620612467316697400867279325858917897399393218816685116031044606038667382802689334021847278533886114780799795949994485367609985010555753181828663893776737482539500937527601455358746662498421337493209803339369560441179950617973922417320098115667451256208495536887857034045556064295900789022351868658533452064833027341844691332732744113198565479437190879648646412791954758596016215871587636319970035877944200857817297306460224222463834820189547389881070735524125395803433568276237644512883786444913694983047839776037960945023195732173271922255604179710572589923204005926504045490889589541745743501281974485561534517931767774439380323863254897385933665286367003321761859035674433312250069769806523933354963122951548133686095815741856645014373303883463202542544052353960545146892029197712955404866846525914487651543150486532763923245263599994188869436912465408331779448215033257345795283190324949 2505779401798673021101315932267073690772913267672458265724197802081471661520528961293964623624136730275403653894609637417073674534240210028688455074698728965950862441112969563478755185495975995966855245707981801238137455295021198585860746475900021018361295297086427840069668883659801277643518099210126918477360590061343817312132805913144918359043787319925146998040770344303216059835701866597981945304215553512264138813014511366588675641408228936142589882889814990029468729144189234254011076299175750612255167975745583753979239462084358112839943221657793477466863685570803255480193680734251862877122103826043996789631495322561073838780450698044482798786753274104646290871832122468917766788244223236268048823953123814573596395622224390039207670177954453006315079122508148421663899080089901450797248077447826453129319812289358192890167653472037919752537845640691747674634576679620902200342518372242090328002836156953179776851295177343708277783098963083908550790029070781215038952366605451008011658438350154020575848223377258998611761127 4054436240419632345586566677127116111282893719651374665160156231601000180744793151439609076093305025601193047790332289963205811045437508072776075687166045663351729720438828481376154578714792681082886290314020468620940144629043045864394632590680820814311289782454037825080224636841629941537294836692666419414888191516702563974631227250638128162383156880366326948658744266720536157951369317854190440841103410546309694877310412155611027510066762388207422910231659681362201473257387799733448267178824397025047122734341599969850827098404328148717887422515610774773323909793267090300383228124132933612646229221847430357907732967073957625225364393027530638562791235049669486604005394391173370967954795826191252829879627860064485985163970133540489644663515987524246846896947528745527153977475835116083615080769588312164994245601608262659974177405392882875489393774377843490376433324635275504225981574784634380356796702100071806049008132748575124309013450735451701276561834704460302552360794320444924123846681933468790881480723054281802086076 6560215642218305366687882609394189802055806987323832930884354033682471842265322112733573699717441755876596701684941927380279485579677718101464530761864774629302592161551798044854909764210768677049741536022002269859077599924064244450255379066580841832672585079540465665149893520501431219180812935902793337892248781578046381286764033163783046521426944200291473946699514611023752217787071184452172386145318964058573833690324923522199703151474991324350012793121474671391670202401577033987459343478000147637302290710087183723830066560488686261557830644173404252240187595364070345780576908858384796489768333047891427147539228289635031464005815091072013437349544509154315777475837516860091137756199019062459301653832751674638082380786194523579697314841470440530561926019455677167191053057565736566880863158217414765294314057890966455550141830877430802628027239415069591165011010004256177704568499947026724708359632859053251582900303310092283402092112413819360252066590905485675341504727399771452935782285032087489366729704100313280413847203 10614651882637937712274449286521305913338700706975207596044510265283472023010115264173182775810746781477789749475274217343485296625115226174240606449030820292654321881990626526231064342925561358132627826336022738480017744553107290314650011657261662646983874861994503490230118157343061160718107772595459757307136973094748945261395260414421174683810101080657800895358258877744288375738440502306362826986422374604883528567635335677810730661541753712557435703353134352753871675658964833720907610656824544662349413444428783693680893658893014410275718066689015027013511505157337436080960136982517730102414562269738857505446961256708989089231179484099544075912335744203985264079842911251264508724153814888650554483712379534702568365950164657120186959504986428054808772916403205912718207035041571682964478238987003077459308303492574718210116008282823685503516633189447434655387443328891453208794481521811359088716429561153323388949311442840858526401125864554811953343152740190135644057088194091897859906131714020958157611184823367562215933279 17174867524856243078962331895915495715394507694299040526928864298965943865275437376906756475528188537354386451160216144723764782204792944275705137210895594921956914043542424571085974107136330035182369362358025008339095344477171534764905390723842504479656459941534969155380011677844492379898920708498253095199385754672795326548159293578204221205237045280949274842057773488768040593525511686758535213131741338663457362257960259200010433813016745036907448496474609024145541878060541867708366954134824692299651704154515967417510960219381700671833548710862419279253699100521407781861537045840902526592182895317630284652986189546344020553236994575171557513261880253358301041555680428111355646480352833951109856137545131209340650746736359180699884274346456868585370698935858883079909260092607308249845341397204417842753622361383541173760257839160254488131543872604517025820398453333147630913362981468838083797076062420206574971849614752933141928493238278374172205409743645675810985561815593863350795688416746108447524340888923680842629780482 27789519407494180791236781182436801628733208401274248122973374564249415888285552641079939251338935318832176200635490362067250078829908170449945743659926415214611235925533051097317038450061891393314997188694047746819113089030278825079555402381104167126640334803529472645610129835187553540617028481093712852506522727767544271809554553992625395889047146361607075737416032366512328969263952189064898040118163713268340890825595594877821164474558498749464884199827743376899413553719506701429274564791649236962001117598944751111191853878274715082109266777551434306267210605678745217942497182823420256694597457587369142158433150803053009642468174059271101589174215997562286305635523339362620155204506648839760410621257510744043219112686523837820071233851443296640179471852262088992627467127648879932809819636191420920212930664876115891970373847443078173635060505793964460475785896662039084122157462990649442885792491981359898360798926195774000454894364142928984158752896385865946629618903787955248655594548460129405681952073747048404845713761 44964386932350423870199113078352297344127716095573288649902238863215359753560990017986695726867123856186562651795706506791014861034701114725650880870822010136568149969075475668403012557198221428497366551052072755158208433507450359844460793104946671606296794745064441800990141513032045920515949189591965947705908482440339598357713847570829617094284191642556350579473805855280369562789463875823433253249905051931798253083555854077831598287575243786372332696302352401044955431780048569137641518926473929261652821753460718528702814097656415753942815488413853585520909706200152999804034228664322783286780352904999426811419340349397030195705168634442659102436096250920587347191203767473975801684859482790870266758802641953383869859422883018519955508197900165225550170788120972072536727220256188182655161033395838762966553026259657065730631686603332661766604378398481486296184349995186715035520444459487526682868554401566473332648540948707142383387602421303156364162640031541757615180719381818599451282965206237853206292962670729247475494243 72753906339844604661435894260789098972860924496847536772875613427464775641846542659066634978206059175018738852431196868858264939864609285175596624530748425351179385894608526765720051007260112821812363739746120501977321522537729184924016195486050838732937129548593914446600271348219599461132977670685678800212431210207883870167268401563455012983331338004163426316889838221792698532053416064888331293368068765200139143909151448955652762762133742535837216896130095777944368985499555270566916083718123166223653939352405469639894667975931130836052082265965287891788120311878898217746531411487743039981377810492368568969852491152450039838173342693713760691610312248482873652826727106836595956889366131630630677380060152697427088972109406856340026742049343461865729642640383061065164194347905068115464980669587259683179483691135772957701005534046410835401664884192445946771970246657225799157677907450136969568661046382926371693447467144481142838281966564232140522915536417407704244799623169773848106877513666367258888245036417777652321208004 117718293272195028531635007339141396316988640592420825422777852290680135395407532677053330705073183031205301504226903375649279800899310399901247505401570435487747535863684002434123063564458334250309730290798193257135529956045179544768476988590997510339233924293658356247590412861251645381648926860277644747918339692648223468524982249134284630077615529646719776896363644077073068094842879940711764546617973817131937396992707303033484361049708986322209549592432448178989324417279603839704557602644597095485306761105866188168597482073587546589994897754379141477309030018079051217550565640152065823268158163397367995781271831501847070033878511328156419794046408499403461000017930874310571758574225614421500944138862794650810958831532289874859982250247243627091279813428504033137700921568161256298120141702983098446146036717395430023431637220649743497168269262590927433068154596652412514193198351909624496251529600784492845026096008093188285221669568985535296887078176448949461859980342551592447558160478872605112094537999088506899796702247 190472199612039633193070901599930495289849565089268362195653465718144911037254075336119965683279242206224040356658100244507544740763919685076844129932318860838926921758292529199843114571718447072122094030544313759112851478582908729692493184077048349072171053842252270694190684209471244842781904530963323548130770902856107338692250650697739643060946867650883203213253482298865766626896296005600095839986042582332076540901858751989137123811842728858046766488562543956933693402779159110271473686362720261708960700458271657808492150049518677426046980020344429369097150329957949435297097051639808863249535973889736564751124322654297109872051854021870180485656720747886334652844657981147167715463591746052131621518922947348238047803641696731200008992296587088957009456068887094202865115916066324413585122372570358129325520408531202981132642754696154332569934146783373379840124843309638313350876259359761465820190647167419216719543475237669428059951535549767437409993712866357166104779965721366295665037992538972370982783035506284552117910251 308190492884234661724705908939071891606838205681689187618431318008825046432661608013173296388352425237429341860885003620156824541663230084978091635333889296326674457621976531633966178136176781322431824321342507016248381434628088274460970172668045859411404978135910626941781097070722890224430831391240968296049110595504330807217232899832024273138562397297602980109617126375938834721739175946311860386604016399464013937894566055022621484861551715180256316080994992135923017820058762949976031289007317357194267461564137845977089632123106224016041877774723570846406180348037000652847662691791874686517694137287104560532396154156144179905930365350026600279703129247289795652862588855457739474037817360473632565657785741999049006635173986606059991242543830716048289269497391127340566037484227580711705264075553456575471557125926633004564279975345897829738203409374300812908279439962050827544074611269385962071720247951912061745639483330857713281621104535302734297071889315306627964760308272958743223198471411577483077321034594791451914612498 498662692496274294917776810539002386896687770770957549814084783726969957469915683349293262071631667443653382217543103864664369282427149770054935765266208157165601379380269060833809292707895228394553918351886820775361232913210997004153463356745094208483576031978162897635971781280194135067212735922204291844179881498360438145909483550529763916199509264948486183322870608674804601348635471951911956226590058981796090478796424807011758608673394444038303082569557536092856711222837922060247504975370037618903228162022409503785581782172624901442088857795068000215503330677994950088144759743431683549767230111176841125283520476810441289777982219371896780765359849995176130305707246836604907189501409106525764187176708689347287054438815683337260000234840417805005298725566278221543431153400293905125290386448123814704797077534457835985696922730042052162308137556157674192748404283271689140894950870629147427891910895119331278465182958568527141341572640085070171707065602181663794069540273994325038888236463950549854060104070101076004032522749 806853185380508956642482719478074278503525976452646737432516101735795003902577291362466558459984092681082724078428107484821193824090379855033027400600097453492275837002245592467775470844072009716985742673229327791609614347839085278614433529413140067894981010114073524577752878350917025291643567313445260140228992093864768953126716450361788189338071662246089163432487735050743436070374647898223816613194075381260104416690990862034380093534946159218559398650552528228779729042896685010223536264377354976097495623586547349762671414295731125458130735569791571061909511026031950740992422435223558236284924248463945685815916630966585469683912584721923381045062979242465925958569835692062646663539226466999396752834494431346336061073989669943319991477384248521053587995063669348883997190884521485836995650523677271280268634660384468990261202705387949992046340965531975005656683723233739968439025481898533389963631143071243340210822441899384854623193744620372906004137491496970422034300582267283782111434935362127337137425104695867455947135247 1305515877876783251560259530017076665400213747223604287246600885462764961372492974711759820531615760124736106295971211349485563106517529625087963165866305610657877216382514653301584763551967238111539661025116148566970847261050082282767896886158234276378557042092236422213724659631111160358856303235649551984408873592225207099036200000891552105537580927194575346755358343725548037419010119850135772839784134363056194895487415669046138702208340603256862481220110064321636440265734607070471041239747392595000723785608956853548253196468356026900219593364859571277412841704026900829137182178655241786052154359640786811099437107777026759461894804093820161810422829237642056264277082528667553853040635573525160940011203120693623115512805353280579991712224666326058886720629947570427428344284815390962286036971801085985065712194842304975958125435430002154354478521689649198405088006505429109333976352527680817855542038190574618676005400467911995964766384705443077711203093678634216103840856261608820999671399312677191197529174796943459979657996 2112369063257292208202742249495150943903739723676251024679116987198559965275070266074226378991599852805818830374399318834306756930607909480120990566466403064150153053384760245769360234396039247828525403698345476358580461608889167561382330415571374344273538052206309946791477537982028185650499870549094812124637865686089976052162916451253340294875652589440664510187846078776291473489384767748359589452978209744316299312178406531080518795743286762475421879870662592550416169308631292080694577504124747571098219409195504203310924610764087152358350328934651142339322352730058851570129604613878800022337078608104732496915353738743612229145807388815743542855485808480107982222846918220730200516579862040524557692845697552039959176586795023223899983189608914847112474715693616919311425535169336876799281687495478357265334346855226773966219328140817952146400819487221624204061771729739169077773001834426214207819173181261817958886827842367296850587960129325815983715340585175604638138141438528892603111106334674804528334954279492810915926793243 3417884941134075459763001779512227609303953470899855311925717872661324926647563240785986199523215612930554936670370530183792320037125439105208953732332708674808030269767274899070944997948006485940065064723461624925551308869939249844150227301729608620652095094298546369005202197613139346009356173784744364109046739278315183151199116452144892400413233516635239856943204422501839510908394887598495362292762344107372494207665822200126657497951627365732284361090772656872052609574365899151165618743872140166098943194804461056859177807232443179258569922299510713616735194434085752399266786792534041808389232967745519308014790846520638988607702192909563704665908637717750038487124000749397754369620497614049718632856900672733582292099600376504479974901833581173171361436323564489738853879454152267761567724467279443250400059050069078942177453576247954300755298008911273402466859736244598187106978186953895025674715219452392577562833242835208846552726514031259061426543678854238854241982294790501424110777733987481719532483454289754375906451239 5530254004391367667965744029007378553207693194576106336604834859859884891922633506860212578514815465736373767044769849018099076967733348585329944298799111738958183323152035144840305232344045733768590468421807101284131770478828417405532557717300982964925633146504856315796679735595167531659856044333839176233684604964405159203362032903398232695288886106075904367131050501278130984397779655346854951745740553851688793519844228731207176293694914128207706240961435249422468778882997191231860196247996887737197162603999965260170102417996530331616920251234161855956057547164144603969396391406412841830726311575850251804930144585264251217753509581725307247521394446197858020709970918970127954886200359654574276325702598224773541468686395399728379958091442496020283836152017181409050279414623489144560849411962757800515734405905295852908396781717065906447156117496132897606528631465983767264879980021380109233493888400714210536449661085202505697140686643357075045141884264029843492380123733319394027221884068662286247867437733782565291833244482 8948138945525443127728745808519606162511646665475961648530552732521209818570196747646198778038031078666928703715140379201891397004858787690538898031131820413766213592919310043911250230292052219708655533145268726209683079348767667249682785019030591585577728240803402684801881933208306877669212218118583540342731344242720342354561149355543125095702119622711144224074254923779970495306174542945350314038502897959061287727510050931333833791646541493939990602052207906294521388457363090383025814991869027903296105798804426317029280225228973510875490173533672569572792741598230356368663178198946883639115544543595771112944935431784890206361211774634870952187303083915608059197094919719525709255820857268623994958559498897507123760785995776232859932993276077193455197588340745898789133294077641412322417136430037243766134464955364931850574235293313860747911415505044171008995491202228365451986958208334004259168603620166603114012494328037714543693413157388334106568427942884082346622106028109895451332661802649767967399921188072319667739695721 14478392949916810795694489837526984715719339860052067985135387592381094710492830254506411356552846544403302470759910228219990473972592136275868842329930932152724396916071345188751555462636097953477246001567075827493814849827596084655215342736331574550503361387308259000598561668803474409329068262452422716576415949207125501557923182258941357790991005728787048591205305425058101479703954198292205265784243451810750081247354279662541010085341455622147696843013643155716990167340360281614886011239865915640493268402804391577199382643225503842492410424767834425528850288762374960338059569605359725469841856119446022917875080017049141424114721356360178199708697530113466079907065838689653664142021216923198271284262097122280665229472391175961239891084718573213739033740357927307839412708701130556883266548392795044281868870860660784758971017010379767195067533001177068615524122668212132716866938229714113492662492020880813650462155413240220240834099800745409151710312206913925839002229761429289478554545871312054215267358921854884959572940203 23426531895442253923423235646046590878230986525528029633665940324902304529063027002152610134590877623070231174475050607421881870977450923966407740361062752566490610508990655232662805692928150173185901534712344553703497929176363751904898127755362166136081089628111661685400443602011781286998280480571006256919147293449845843912484331614484482886693125351498192815279560348838071975010128741237555579822746349769811368974864330593874843876987997116087687445065851062011511555797723371997911826231734943543789374201608817894228662868454477353367900598301506995101643030360605316706722747804306609108957400663041794030820015448834031630475933130995049151896000614029074139104160758409179373397842074191822266242821596019787788990258386952194099824077994650407194231328698673206628546002778771969205683684822832288048003335816025716609545252303693627942978948506221239624519613870440498168853896438048117751831095641047416764474649741277934784527512958133743258278740149798008185624335789539184929887207673961822182667280109927204627312635924 37904924845359064719117725483573575593950326385580097618801327917283399239555857256659021491143724167473533645234960835641872344950043060242276582690993684719215007425062000421414361155564248126663147536279420381197312779003959836560113470491693740686584451015419920685999005270815255696327348743023428973495563242656971345470407513873425840677684131080285241406484865773896173454714082939529760845606989801580561450222218610256415853962329452738235384288079494217728501723138083653612797837471600859184282642604413209471428045511679981195860311023069341420630493319122980277044782317409666334578799256782487816948695095465883173054590654487355227351604698144142540219011226597098833037539863291115020537527083693142068454219730778128155339715162713223620933265069056600514467958711479902526088950233215627332329872206676686501368516269314073395138046481507398308240043736538652630885720834667762231244493587661928230414936805154518155025361612758879152409989052356711934024626565550968474408441753545273876397934639031782089586885576127 61331456740801318642540961129620166472181312911108127252467268242185703768618884258811631625734601790543764819710011443063754215927493984208684323052056437285705617934052655654077166848492398299849049070991764934900810708180323588465011598247055906822665540643531582371399448872827036983325629223594435230414710536106817189382891845487910323564377256431783434221764426122734245429724211680767316425429736151350372819197082940850290697839317449854323071733145345279740013278935807025610709663703335802728072016806022027365656708380134458549228211621370848415732136349483585593751505065213972943687756657445529610979515110914717204685066587618350276503500698758171614358115387355508012410937705365306842803769905289161856243209989165080349439539240707874028127496397755273721096504714258674495294633918038459620377875542492712217978061521617767023081025430013619547864563350409093129054574731105810348996324683302975647179411454895796089809889125717012895668267792506509942210250901340507659338328961219235698580601919141709294214198212051 99236381586160383361658686613193742066131639296688224871268596159469103008174741515470653116878325958017298464944972278705626560877537044450960905743050122004920625359114656075491528004056646426512196607271185316098123487184283425025125068738749647509249991658951503057398454143642292679652977966617864203910273778763788534853299359361336164242061387512068675628249291896630418884438294620297077271036725952930934269419301551106706551801646902592558456021224839497468515002073890679223507501174936661912354659410435236837084753891814439745088522644440189836362629668606565870796287382623639278266555914228017427928210206380600377739657242105705503855105396902314154577126613952606845448477568656421863341296988982303924697429719943208504779254403421097649060761466811874235564463425738577021383584151254086952707747749169398719346577790931840418219071911521017856104607086947745759940295565773572580240818270964903877594348260050314244835250738475892048078256844863221876234877466891476133746770714764509574978536558173491383801083788178 160567838326961702004199647742813908538312952207796352123735864401654806776793625774282284742612927748561063284654983721769380776805031028659645228795106559290626243293167311729568694852549044726361245678262950250998934195364607013490136666985805554331915532302483085428797903016469329662978607190212299434324984314870605724236191204849246487806438643943852109850013718019364664314162506301064393696466462104281307088616384491956997249640964352446881527754370184777208528281009697704834217164878272464640426676216457264202741462271948898294316734265811038252094766018090151464547792447837612221954312571673547038907725317295317582424723829724055780358606095660485768935242001308114857859415274021728706145066894271465780940639709108288854218793644128971677188257864567147956660968139997251516678218069292546573085623291662110937324639312549607441300097341534637403969170437356838888994870296879382929237142954267879524773759714946110334645139864192904943746524637369731818445128368231983793085099675983745273559138477315200678015282000229 259804219913122085365858334356007650604444591504484576995004460561123909784968367289752937859491253706578361749599956000475007337682568073110606134538156681295546868652281967805060222856605691152873442285534135567097057682548890438515261735724555201841165523961434588486196357160111622342631585156830163638235258093634394259089490564210582652048500031455920785478263009915995083198600800921361470967503188057212241358035686043063703801442611255039439983775595024274677043283083588384057724666053209126552781335626892501039826216163763338039405256910251228088457395686696717335344079830461251500220868485901564466835935523675917960164381071829761284213711492562799923512368615260721703307892842678150569486363883253769705638069429051497358998048047550069326249019331379022192225431565735828538061802220546633525793371040831509656671217103481447859519169253055655260073777524304584648935165862652955509477961225232783402368107974996424579480390602668796991824781482232953694680005835123459926831870390748254848537675035488692061816365788407 420372058240083787370057982098821559142757543712280929118740324962778716561761993064035222602104181455139425034254939722244388114487599101770251363333263240586173111945449279534628917709154735879234687963797085818095991877913497452005398402710360756173081056263917673914994260176580952005610192347042463072560242408504999983325681769059829139854938675399772895328276727935359747512763307222425864663969650161493548446652070535020701051083575607486321511529965209051885571564093286088891941830931481591193208011843349765242567678435712236333721991176062266340552161704786868799891872278298863722175181057575111505743660840971235542589104901553817064572317588223285692447610616568836561167308116699879275631430777525235486578709138159786213216841691679041003437277195946170148886399705733080054740020289839180098878994332493620593995856416031055300819266594590292664042947961661423537930036159532338438715104179500662927141867689942534914125530466861701935571306119602685513125134203355443719916970066732000122096813512803892739831647788636 680176278153205872735916316454829209747202135216765506113744785523902626346730360353788160461595435161717786783854895722719395452170167174880857497871419921881719980597731247339689140565760427032108130249331221385193049560462387890520660138434915958014246580225352262401190617336692574348241777503872626710795500502139394242415172333270411791903438706855693680806539737851354830711364108143787335631472838218705789804687756578084404852526186862525761495305560233326562614847176874472949666496984690717745989347470242266282393894599475574373127248086313494429009557391483586135235952108760115222396049543476675972579596364647153502753485973383578348786029080786085615959979231829558264475200959378029845117794660779005192216778567211283572214889739229110329686296527325192341111831271468908592801822510385813624672365373325130250667073519512503160338435847645947924116725485966008186865202022185293948193065404733446329509975664938959493605921069530498927396087601835639207805140038478903646748840457480254970634488548292584801648013577043 1100548336393289660105974298553650768889959678929046435232485110486681342908492353417823383063699616616857211818109835444963783566657766276651108861204683162467893092543180526874318058274915162911342818213128307203289041438375885342526058541145276714187327636489269936316184877513273526353851969850915089783355742910644394225740854102330240931758377382255466576134816465786714578224127415366213200295442488380199338251339827113105105903609762470012083006835525442378448186411270160561841608327916172308939197359313592031524961573035187810706849239262375760769561719096270454935127824387058978944571230601051787478323257205618389045342590874937395413358346669009371308407589848398394825642509076077909120749225438304240678795487705371069785431731430908151333123573723271362489998230977201988647541842800224993723551359705818750844662929935543558461157702442236240588159673447627431724795238181717632386908169584234109256651843354881494407731451536392200862967393721438324720930274241834347366665810524212255092731302061096477541479661365679 1780724614546495532841890615008479978637161814145811941346229896010583969255222713771611543525295051778574998601964731167683179018827933451531966359076103084349613073140911774214007198840675589943450948462459528588482090998838273233046718679580192672201574216714622198717375494849966100702093747354787716494151243412783788468156026435600652723661816089111160256941356203638069408935491523510000535926915326598905128056027583691189510756135949332537844502141085675705010801258447035034791274824900863026685186706783834297807355467634663385079976487348689255198571276487754041070363776495819094166967280144528463450902853570265542548096076848320973762144375749795456924367569080227953090117710035455938965867020099083245871012266272582353357646621170137261662809870250596554831110062248670897240343665310610807348223725079143881095330003455056061621496138289882188512276398933593439911660440203902926335101234988967555586161819019820453901337372605922699790363481323273963928735414280313251013414650981692510063365790609389062343127674942722 2881272950939785192947864913562130747527121493074858376578715006497265312163715067189434926588994668395432210420074566612646962585485699728183075220280786246817506165684092301088325257115590752854793766675587835791771132437214158575572777220725469386388901853203892135033560372363239627055945717205702806277506986323428182693896880537930893655420193471366626833076172669424783987159618938876213736222357814979104466307367410804294616659745711802549927508976611118083458987669717195596632883152817035335624384066097426329332317040669851195786825726611065015968132995584024496005491600882878073111538510745580250929226110775883931593438667723258369175502722418804828232775158928626347915760219111533848086616245537387486549807753977953423143078352601045412995933443973867917321108293225872885887885508110835801071775084784962631939992933390599620082653840732118429100436072381220871636455678385620558722009404573201664842813662374701948309068824142314900653330875044712288649665688522147598380080461505904765156097092670485539884607336308401 4661997565486280725789755528570610726164283307220670317924944902507849281418937780961046470114289720174007209022039297780330141604313633179715041579356889331167119238825004075302332455956266342798244715138047364380253223436052431808619495900305662058590476069918514333750935867213205727758039464560490522771658229736211971162052906973531546379082009560477787090017528873062853396095110462386214272149273141578009594363394994495484127415881661135087772011117696793788469788928164230631424157977717898362309570772881260627139672508304514580866802213959754271166704272071778537075855377378697167278505790890108714380128964346149474141534744571579342937647098168600285157142728008854301005877929146989787052483265636470732420820020250535776500724973771182674658743314224464472152218355474543783128229173421446608419998809864106513035322936845655681704149979022000617612712471314814311548116118589523485057110639562169220428975481394522402210406196748237600443694356367986252578401102802460849393495112487597275219462883279874602227735011251123 7543270516426065918737620442132741473691404800295528694503659909005114593582652848150481396703284388569439419442113864392977104189799332907898116799637675577984625404509096376390657713071857095653038481813635200172024355873266590384192273121031131444979377923122406468784496239576445354813985181766193329049165216059640153855949787511462440034502203031844413923093701542487637383254729401262428008371630956557114060670762405299778744075627372937637699520094307911871928776597881426228057041130534933697933954838978686956471989548974365776653627940570819287134837267655803033081346978261575240390044301635688965309355075122033405734973412294837712113149820587405113389917886937480648921638148258523635139099511173858218970627774228489199643803326372228087654676758198332389473326648700416669016114681532282409491773894649069144975315870236255301786803819754119046713148543696035183184571796975144043779120044135370885271789143769224350519475020890552501097025231412698541228066791324608447773575573993502040375559975950360142112342347559524 12205268081912346644527375970703352199855688107516199012428604811512963875001590629111527866817574108743446628464153162173307245794112966087613158378994564909151744643334100451692990169028123438451283196951682564552277579309319022192811769021336793503569853993040920802535432106789651082572024646326683851820823445795852125018002694484993986413584212592322201013111230415550490779349839863648642280520904098135123655034157399795262871491509034072725471531212004705660398565526045656859481199108252832060243525611859947583611662057278880357520430154530573558301541539727581570157202355640272407668550092525797679689484039468182879876508156866417055050796918756005398547060614946334949927516077405513422191582776810328951391447794479024976144528300143410762313420072422796861625545004174960452144343854953729017911772704513175658010638807081910983490953798776119664325861015010849494732687915564667528836230683697540105700764625163746752729881217638790101540719587780684793806467894127069297167070686481099315595022859230234744340077358810647 19748538598338412563264996412836093673547092907811727706932264720518078468584243477262009263520858497312886047906267026566284349983912298995511275178632240487136370047843196828083647882099980534104321678765317764724301935182585612577004042142367924948549231916163327271319928346366096437386009828092877180869988661855492278873952481996456426448086415624166614936204931958038128162604569264911070288892535054692237715704919805095041615567136407010363171051306312617532327342123927083087538240238787765758177480450838634540083651606253246134174058095101392845436378807383384603238549333901847648058594394161486644998839114590216285611481569161254767163946739343410511936978501883815598849154225664037057330682287984187170362075568707514175788331626515638849968096830621129251098871652875377121160458536486011427403546599162244802985954677318166285277757618530238711039009558706884677917259712539811572615350727832910990972553768932971103249356238529342602637744819193383335034534685451677744940646260474601355970582835180594886452419706370171 31953806680250759207792372383539445873402781015327926719360869532031042343585834106373537130338432606056332676370420188739591595778025265083124433557626805396288114691177297279776638051128103972555604875717000329276579514491904634769815811163704718452119085909204248073855360453155747519958034474419561032690812107651344403891955176481450412861670628216488815949316162373588618941954409128559712569413439152827361370739077204890304487058645441083088642582518317323192725907649972739947019439347040597818421006062698582123695313663532126491694488249631966403737920347110966173395751689542120055727144486687284324688323154058399165487989726027671822214743658099415910484039116830150548776670303069550479522265064794516121753523363186539151932859926659049612281516903043926112724416657050337573304802391439740445315319303675420460996593484400077268768711417306358375364870573717734172649947628104479101451581411530451096673318394096717855979237456168132704178464406974068128841002579578747042107716946955700671565605694410829630792497065180818 51702345278589171771057368796375539546949873923139654426293134252549120812170077583635546393859291103369218724276687215305875945761937564078635708736259045883424484739020494107860285933228084506659926554482318094000881449674490247346819853306072643400668317825367575345175288799521843957344044302512438213560800769506836682765907658477906839309757043840655430885521094331626747104558978393470782858305974207519599086443997009985346102625781848093451813633824629940725053249773899823034557679585828363576598486513537216663778965269785372625868546344733359249174299154494350776634301023443967703785738880848770969687162268648615451099471295188926589378690397442826422421017618713966147625824528733587536852947352778703292115598931894053327721191553174688462249613733665055363823288309925714694465260927925751872718865902837665263982548161718243554046469035836597086403880132424618850567207340644290674066932139363362087645872163029688959228593694697475306816209226167451463875537265030424787048363207430302027536188529591424517244916771550989 83656151958839930978849741179914985420352654938467581145654003784580163155755911690009083524197723709425551400647107404045467541539962829161760142293885851279712599430197791387636923984356188479215531430199318423277460964166394882116635664469777361852787403734571823419030649252677591477302078776931999246251612877158181086657862834959357252171427672057144246834837256705215366046513387522030495427719413360346960457183074214875650589684427289176540456216342947263917779157423872562981577118932868961395019492576235798787474278933317499117563034594365325652912219501605316950030052712986087759512883367536055294375485422707014616587461021216598411593434055542242332905056735544116696402494831803138016375212417573219413869122295080592479654051479833738074531130636708981476547704966976052267770063319365492318034185206513085724979141646118320822815180453142955461768750706142353023217154968748769775518513550893813184319190557126406815207831150865608010994673633141519592716539844609171829156080154386002699101794224002254148037413836731807 135358497237429102749907109976290524967302528861607235571947138037129283967925989273644629918057014812794770124923794619351343487301900393240395851030144897163137084169218285495497209917584272985875457984681636517278342413840885129463455517775850005253455721559939398764205938052199435434646123079444437459812413646665017769423770493437264091481184715897799677720358351036842113151072365915501278286025387567866559543627071224860996692310209137269992269850167577204642832407197772386016134798518697324971617979089773015451253244203102871743431580939098684902086518656099667726664353736430055463298622248384826264062647691355630067686932316405525000972124452985068755326074354258082844028319360536725553228159770351922705984721226974645807375243033008426536780744370374036840370993276901766962235324247291244190753051109350750988961689807836564376861649488979552548172630838566971873784362309393060449585445690257175271965062720156095774436424845563083317810882859308971056592077109639596616204443361816304726637982753593678665282330608282796 219014649196269033728756851156205510387655183800074816717601141821709447123681900963653713442254738522220321525570902023396811028841863222402155993324030748442849683599416076883134133901940461465090989414880954940555803378007280011580091182245627367106243125294511222183236587304877026911948201856376436706064026523823198856081633328396621343652612387954943924555195607742057479197585753437531773713744800928213520000810145439736647281994636426446532726066510524468560611564621644948997711917451566286366637471666008814238727523136420370860994615533464010554998738157704984676694406449416143222811505615920881558438133114062644684274393337622123412565558508527311088231131089802199540430814192339863569603372187925142119853843522055238287029294512842164611311875007083018316918698243877819230005387566656736508787236315863836713940831453954885199676829942122508009941381544709324897001517278141830225103959241150988456284253277282502589644255996428691328805556492450490649308616954248768445360523516202307425739776977595932813319744445014603 354373146433698136478663961132496035354957712661682052289548279858838731091607890237298343360311753335015091650494696642748154516143763615642551844354175645605986767768634362378631343819524734450966447399562591457834145791848165141043546700021477372359698846854450620947442525357076462346594324935820874165876440170488216625505403821833885435133797103852743602275553958778899592348658119353033051999770188496080079544437216664597643974304845563716524995916678101673203443971819417335013846715970263611338255450755781829689980767339523242604426196472562695457085256813804652403358760185846198686110127864305707822500780805418274751961325654027648413537682961512379843557205444060282384459133552876589122831531958277064825838564749029884094404537545850591148092619377457055157289691520779586192240711813947980699540287425214587702902521261791449576538479431102060558114012383276296770785879587534890674689404931408163728249315997438598364080680841991774646616439351759461705900694063888365061564966878018612152377759731189611478602075053297399 573387795629967170207420812288701545742612896461756869007149421680548178215289791200952056802566491857235413176065598666144965544985626838044707837678206394048836451368050439261765477721465195916057436814443546398389949169855445152623637882267104739465941972148961843130679112661953489258542526792197310871940466694311415481587037150230506778786409491807687526830749566520957071546243872790564825713514989424293599545247362104334291256299481990163057721983188626141764055536441062284011558633421829897704892922421790643928708290475943613465420812006026706012083994971509637080053166635262341908921633480226589380938913919480919436235718991649771826103241470039690931788336533862481924889947745216452692434904146202206945692408271085122381433832058692755759404494384540073474208389764657405422246099380604717208327523741078424416843352715746334776215309373224568568055393927985621667787396865676720899793364172559152184533569274721100953724936838420465975421995844209952355209311018137133506925490394220919578117536708785544291921819498312002 927760942063665306686084773421197581097570609123438921296697701539386909306897681438250400162878245192250504826560295308893120061129390453687259682032382039654823219136684801640396821540989930367023884214006137856224094961703610293667184582288582111825640819003412464078121638019029951605136851728018185037816906864799632107092440972064392213920206595660431129106303525299856663894901992143597877713285177920373679089684578768931935230604327553879582717899866727814967499508260479619025405349392093509043148373177572473618689057815466856069847008478589401469169251785314289483411926821108540595031761344532297203439694724899194188197044645677420239640924431552070775345541977922764309349081298093041815266436104479271771530973020115006475838369604543346907497113761997128631498081285436991614486811194552697907867811166293012119745873977537784352753788804326629126169406311261918438573276453211611574482769103967315912782885272159699317805617680412240622038435195969414061110005082025498568490457272239531730495296439975155770523894551609401 1501148737693632476893505585709899126840183505585195790303847123219935087522187472639202456965444737049485918002625893975038085606115017291731967519710588433703659670504735240902162299262455126283081321028449684254614044131559055446290822464555686851291582791152374307208800750680983440863679378520215495909757373559111047588679478122294898992706616087468118655937053091820813735441145864934162703426800167344667278634931940873266226486903809544042640439883055353956731555044701541903036963982813923406748041295599363117547397348291410469535267820484616107481253246756823926563465093456370882503953394824758886584378608644380113624432763637327192065744165901591761707133878511785246234239029043309494507701340250681478717223381291200128857272201663236102666901608146537202105706471050094397036732910575157415116195334907371436536589226693284119128969098177551197694224800239247540106360673318888332474276133276526468097316454546880800271530554518832706597460431040179366416319316100162632075415947666460451308612833148760700062445714049921403 2428909679757297783579590359131096707937754114708634711600544824759321996829085154077452857128322982241736422829186189283931205667244407745419227201742970473358482889641420042542559120803445056650105205242455822110838139093262665739958007046844268963117223610155786771286922388700013392468816230248233680947574280423910679695771919094359291206626822683128549785043356617120670399336047857077760581140085345265040957724616519642198161717508137097922223157782922081771699054552962021522062369332206016915791189668776935591166086406106877325605114828963205508950422498542138216046877020277479423098985156169291183787818303369279307812629808283004612305385090333143832482479420489708010543588110341402536322967776355160750488754354311315135333110571267779449574398721908534330737204552335531388651219721769710113024063146073664448656335100670821903481722886981877826820394206550509458544933949772099944048758902380493784010099339819040499589336172199244947219498866236148780477429321182188130643906404938699983039108129588735855832969608601530804 3930058417450930260473095944840995834777937620293830501904391947979257084351272626716655314093767719291222340831812083258969291273359425037151194721453558907062142560146155283444721420065900182933186526270905506365452183224821721186248829511399955814408806401308161078495723139380996833332495608768449176857331653983021727284451397216654190199333438770596668440980409708941484134777193722011923284566885512609708236359548460515464388204411946641964863597665977435728430609597663563425099333315019940322539230964376298708713483754398287795140382649447821616431675745298962142610342113733850305602938550994050070372196912013659421437062571920331804371129256234735594189613299001493256777827139384712030830669116605842229205977735602515264190382772931015552241300330055071532842911023385625785687952632344867528140258480981035885192924327364106022610691985159429024514619006789756998651294623090988276523035035657020252107415794365921299860866726718077653816959297276328146893748637282350762719322352605160434347720962737496555895415322651452207 6358968097208228044052686303972092542715691735002465213504936772738579081180357780794108171222090701532958763660998272542900496940603832782570421923196529380420625449787575325987280540869345239583291731513361328476290322318084386926206836558244224777526030011463947849782645528081010225801311839016682857804905934406932406980223316311013481405960261453725218226023766326062154534113241579089683865706970857874749194084164980157662549921920083739887086755448899517500129664150625584947161702647225957238330420633153234299879570160505165120745497478411027125382098243841100358657219134011329728701923707163341254160015215382938729249692380203336416676514346567879426672092719491201267321415249726114567153636892961002979694732089913830399523493344198795001815699051963605863580115575721157174339172354114577641164321627054700333849259428034927926092414872141306851335013213340266457196228572863088220571793938037514036117515134184961799450202898917322601036458163512476927371177958464538893363228757543860417386829092326232411728384931252983011 10289026514659158304525782248813088377493629355296295715409328720717836165531630407510763485315858420824181104492810355801869788213963257819721616644650088287482768009933730609432001960935245422516478257784266834841742505542906108112455666069644180591934836412772108928278368667462007059133807447785132034662237588389954134264674713527667671605293700224321886667004176035003638668890435301101607150273856370484457430443713440673126938126332030381851950353114876953228560273748289148372261035962245897560869651597529533008593053914903452915885880127858848741813773989140062501267561247745180034304862258157391324532212127396598150686754952123668221047643602802615020861706018492694524099242389110826597984306009566845208900709825516345663713876117129810554056999382018677396423026599106782960027124986459445169304580108035736219042183755399033948703106857300735875849632220130023455847523195954076497094828973694534288224930928550883099311069625635400254853417460788805074264926595746889656082551110149020851734550055063728967623800253904435218 16647994611867386348578468552785180920209321090298760928914265493456415246711988188304871656537949122357139868153808628344770285154567090602292038567846617667903393459721305935419282501804590662099769989297628163318032827860990495038662502627888405369460866424236056778061014195543017284935119286801814892467143522796886541244898029838681153011253961678047104893027942361065793203003676880191291015980827228359206624527878420830789488048252114121739037108563776470728689937898914733319422738609471854799200072230682767308472624075408618036631377606269875867195872232981162859924780381756509763006785965320732578692227342779536879936447332327004637724157949370494447533798737983895791420657638836941165137942902527848188595441915430176063237369461328605555872698433982283260003142174827940134366297340574022810468901735090436552891443183433961874795521729442042727184645433470289913043751768817164717666622911732048324342446062735844898761272524552722855889875624301282001636104554211428549445779867692881269121379147389961379352185185157418229 26937021126526544653104250801598269297702950445595056644323594214174251412243618595815635141853807543181320972646618984146640073368530348422013655212496705955386161469655036544851284462739836084616248247081894998159775333403896603151118168697532585961395702837008165706339382863005024344068926734586946927129381111186840675509572743366348824616547661902368991560032118396069431871894112181292898166254683598843664054971591861503916426174584144503590987461678653423957250211647203881691683774571717752360069723828212300317065677990312070952517257734128724609009646222121225361192341629501689797311648223478123903224439470176135030623202284450672858771801552173109468395504756476590315519900027947767763122248912094693397496151740946521726951245578458416109929697816000960656426168773934723094393422327033467979773481843126172771933626938832995823498628586742778603034277653600313368891274964771241214761451885426582612567376991286727998072342150188123110743293085090087075901031149958318205528330977841902120855929202453690346975985439061853447 43585015738393931001682719354383450217912271535893817573237859707630666658955606784120506798391756665538460840800427612491410358523097439024305693780343323623289554929376342480270566964544426746716018236379523161477808161264887098189780671325420991330856569261244222484400397058548041629004046021388761819596524633983727216754470773205029977627801623580416096453060060757135225074897789061484189182235510827202870679499470282334705914222836258625330024570242429894685940149546118615011106513181189607159269796058895067625538302065720688989148635340398600476205518455102388221117122011258199560318434188798856481916666812955671910559649616777677496495959501543603915929303494460486106940557666784708928260191814622541586091593656376697790188615039787021665802396249983243916429310948762663228759719667607490790242383578216609324825070122266957698294150316184821330218923087070603281935026733588405932428074797158630936909823054022572896833614674740845966633168709391369077537135704169746754974110845534783389977308349843651726328170624219271676 70522036864920475654786970155981719515615221981488874217561453921804918071199225379936141940245564208719781813447046596638050431891627787446319348992840029578675716399031379025121851427284262831332266483461418159637583494668783701340898840022953577292252272098252388190739779921553065973072972755975708746725905745170567892264043516571378802244349285482785088013092179153204656946791901242777087348490194426046534734471062143838622340397420403128921012031921083318643190361193322496702790287752907359519339519887107367942603980056032759941665893074527325085215164677223613582309463640759889357630082412276980385141106283131806941182851901228350355267761053716713384324808250937076422460457694732476691382440726717234983587745397323219517139860618245437775732094065984204572855479722697386323153141994640958770015865421342782096758697061099953521792778902927599933253200740670916650826301698359647147189526682585213549477200045309300894905956824928969077376461794481456153438166854128064960502441823376685510833237552297342073304156063281125123 114107052603314406656469689510365169733527493517382691790799313629435584730154832164056648738637320874258242654247474209129460790414725226470625042773183353201965271328407721505392418391828689578048284719840941321115391655933670799530679511348374568623108841359496610675140176980101107602077018777364470566322430379154295109018514289776408779872150909063201184466152239910339882021689690304261276530725705253249405413970532426173328254620256661754251036602163513213329130510739441111713896800934096966678609315946002435568142282121753448930814528414925925561420683132326001803426585652018088917948516601075836867057773096087478851742501518006027851763720555260317300254111745397562529401015361517185619642632541339776569679339053699917307328475658032459441534490315967448489284790671460049551912861662248449560258248999559391421583767183366911220086929219112421263472123827741519932761328431948053079617601479743844486387023099331873791739571499669815044009630503872825230975302558297811715476552668911468900810545902140993799632326687500396799 184629089468234882311256659666346889249142715498871566008360767551240502801354057543992790678882885082978024467694520805767511222306353013916944391766023382780640987727439100530514269819112952409380551203302359480752975150602454500871578351371328145915361113457748998865879956901654173575149991533340179313048336124324863001282557806347787582116500194545986272479244419063544538968481591547038363879215899679295940148441594570011950595017677064883172048634084596531972320871932763608416687088687004326197948835833109803510746262177786208872480421489453250646635847809549615385736049292777978275578599013352817252198879379219285792925353419234378207031481608977030684578919996334638951861473056249662311025073268057011553267084451023136824468336276277897217266584381951653062140270394157435875066003656889408330274114420902173518342464244466864741879708122040021196725324568412436583587630130307700226807128162329058035864223144641174686645528324598784121386092298354281384413469412425876675978994492288154411643783454438335872936482750781521922 298736142071549288967726349176712058982670209016254257799160081180676087531508889708049439417520205957236267121941995014896972012721078240387569434539206735982606259055846822035906688210941641987428835923143300801868366806536125300402257862719702714538469954817245609541020133881755281177227010310704649879370766503479158110301072096124196361988651103609187456945396658973884420990171281851299640409941604932545345562412126996185278849637933726637423085236248109745301451382672204720130583889621101292876558151779112239078888544299539657803294949904379176208056530941875617189162634944796067193527115614428654119256652475306764644667854937240406058795202164237347984833031741732201481262488417766847930667705809396788122946423504723054131796811934310356658801074697919101551425061065617485426978865319137857890532363420461564939926231427833775961966637341152442460197448396153956516348958562255753306424729642072902522251246243973048478385099824268599165395722802227106615388771970723688391455547161199623312454329356579329672568809438281918721 483365231539784171278983008843058948231812924515125823807520848731916590332862947252042230096403091040214291589636515820664483235027431254304513826305230118763247246783285922566420958030054594396809387126445660282621341957138579801273836214091030860453831068274994608406900090783409454752377001844044829192419102627804021111583629902471983944105151298155173729424641078037428959958652873398338004289157504611841285710853721566197229444655610791520595133870332706277273772254604968328547270978308105619074506987612222042589634806477325866675775371393832426854692378751425232574898684237574045469105714627781471371455531854526050437593208356474784265826683773214378669411951738066840433123961474016510241692779077453799676213507955746190956265148210588253876067659079870754613565331459774921302044868976027266220806477841363738458268695672300640703846345463192463656922772964566393099936588692563453533231857804401960558115469388614223165030628148867383286781815100581387999802241383149565067434541653487777724098112811017665545505292189063440643 782101373611333460246709358019771007214483133531380081606680929912592677864371836960091669513923296997450558711578510835561455247748509494692083260844436854745853505839132744602327646240996236384238223049588961084489708763674705101676094076810733574992301023092240217947920224665164735929604012154749479071789869131283179221884701998596180306093802401764361186370037737011313380948824155249637644699099109544386631273265848562382508294293544518158018219106580816022575223637277173048677854867929206911951065139391334281668523350776865524479070321298211603062748909693300849764061319182370112662632830242210125490712184329832815082261063293715190324621885937451726654244983479799041914386449891783358172360484886850587799159931460469245088061960144898610534868733777789856164990392525392406729023734295165124111338841261825303398194927100134416665812982804344906117120221360720349616285547254819206839656587446474863080366715632587271643415727973135982452177537902808494615191013353873253458890088814687401036552442167596995218074101627345359364 1265466605151117631525692366862829955446296058046505905414201778644509268197234784212133899610326388037664850301215026656225938482775940748996597087149666973509100752622418667168748604271050830781047610176034621367111050720813284902949930290901764435446132091367234826354820315448574190681981013998794308264208971759087200333468331901068164250198953699919534915794678815048742340907477028647975648988256614156227916984119570128579737738949155309678613352976913522299848995891882141377225125846237312531025572127003556324258158157254191391154845692692044029917441288444726082338960003419944158131738544869991596862167716184358865519854271650189974590448569710666105323656935217865882347510411365799868414053263964304387475373439416215436044327108355486864410936392857660610778555723985167328031068603271192390332145319103189041856463622772435057369659328267537369774042994325286742716222135947382660372888445250876823638482185021201494808446356122003365738959353003389882614993254737022818526324630468175178760650554978614660763579393816408800007 2047567978762451091772401724882600962660779191577885987020882708557101946061606621172225569124249685035115409012793537491787393730524450243688680347994103828254954258461551411771076250512047067165285833225623582451600759484487990004626024367712498010438433114459475044302740540113738926611585026153543787335998840890370379555353033899664344556292756101683896102164716552060055721856301183897613293687355723700614548257385418690962246033242699827836631572083494338322424219529159314425902980714166519442976637266394890605926681508031056915633916013990255632980190198138026932103021322602314270794371375112201722352879900514191680602115334943905164915070455648117831977901918697664924261896861257583226586413748851154975274533370876684681132389068500385474945805126635450466943546116510559734760092337566357514443484160365014345254658549872569474035472311071882275891163215686007092332507683202201867212545032697351686718848900653788766451862084095139348191136890906198377230184268090896071985214719282862579797202997146211655981653495443754159371 3313034583913568723298094091745430918107075249624391892435084487201611214258841405384359468734576073072780259314008564148013332213300390992685277435143770801764055011083970078939824854783097897946333443401658203818711810205301274907575954658614262445884565205826709870657560855562313117293566040152338095600207812649457579888821365800732508806491709801603431017959395367108798062763778212545588942675612337856842465241504988819541983772191855137515244925060407860622273215421041455803128106560403831974002209393398446930184839665285248306788761706682299662897631486582753014441981326022258428926109919982193319215047616698550546121969606594095139505519025358783937301558853915530806609407272623383095000467012815459362749906810292900117176716176855872339356741519493111077722101840495727062791160940837549904775629479468203387111122172645004531405131639339419645665206210011293835048729819149584527585433477948228510357331085674990261260308440217142713930096243909588259845177522827918890511539349751037758557853552124826316745232889260162959378 5360602562676019815070495816628031880767854441202277879455967195758713160320448026556585037858825758107895668326802101639800725943824841236373957783137874630019009269545521490710901105295144965111619276627281786270312569689789264912201979026326760456322998320286184914960301395676052043905151066305881882936206653539827959444174399700396853362784465903287327120124111919168853784620079396443202236362968061557457013498890407510504229805434554965351876497143902198944697434950200770229031087274570351416978846659793337536111521173316305222422677720672555295877821684720779946545002648624572699720481295094395041567927517212742226724084941538000304420589481006901769279460772613195730871304133880966321586880761666614338024440181169584798309105245356257814302546646128561544665647957006286797551253278403907419219113639833217732365780722517574005440603950411301921556369425697300927381237502351786394797978510645580197076179986328779027712170524312282062121233134815786637075361790918814962496754069033900338355056549271037972726886384703917118749 8673637146589588538368589908373462798874929690826669771891051682960324374579289431940944506593401831180675927640810665787814058157125232229059235218281645431783064280629491569650725960078242863057952720028939990089024379895090539819777933684941022902207563526112894785617862251238365161198717106458219978536414466189285539332995765501129362169276175704890758138083507286277651847383857608988791179038580399414299478740395396330046213577626410102867121422204310059566970650371242226032159193834974183390981056053191784466296360838601553529211439427354854958775453171303532960986983974646831128646591215076588360782975133911292772846054548132095443926108506365685706581019626528726537480711406504349416587347774482073700774346991462484915485821422212130153659288165621672622387749797502013860342414219241457323994743119301421119476902895162578536845735589750721567221575635708594762429967321501370922383411988593808707433511072003769288972478964529424776051329378725374896920539313746733853008293418784938096912910101395864289472119273964080078127 14034239709265608353439085725001494679642784132028947651347018878719037534899737458497529544452227589288571595967612767427614784100950073465433193001419520061802073550175013060361627065373387828169571996656221776359336949584879804731979912711267783358530561846399079700578163646914417205103868172764101861472621119729113498777170165201526215532060641608178085258207619205446505632003937005431993415401548460971756492239285803840550443383060965068218997919348212258511668085321442996261190281109544534807959902712985122002407882011917858751634117148027410254653274856024312907531986623271403828367072510170983402350902651124034999570139489670095748346697987372587475860480399141922268352015540385315738174228536148688038798787172632069713794926667568387967961834811750234167053397754508300657893667497645364743213856759134638851842683617680152542286339540162023488777945061405895689811204823853157317181390499239388904509691058332548316684649488841706838172562513541161533995901104665548815505047487818838435267966650666902262199005658667997196876 22707876855855196891807675633374957478517713822855617423238070561679361909479026890438474051045629420469247523608423433215428842258075305694492428219701165493585137830804504630012353025451630691227524716685161766448361329479970344551757846396208806260738125372511974486196025898152782366302585279222321840009035585918399038110165930702655577701336817313068843396291126491724157479387794614420784594440128860386055970979681200170596656960687375171086119341552522318078638735692685222293349474944518718198940958766176906468704242850519412280845556575382265213428728027327845868518970597918234957013663725247571763133877785035327772416194037802191192272806493738273182441500025670648805832726946889665154761576310630761739573134164094554629280748089780518121621122977371906789441147552010314518236081716886822067208599878436059971319586512842731079132075129912745055999520697114490452241172145354528239564802487833197611943202130336317605657128453371131614223891892266536430916440418412282668513340906603776532180876752062766551671124932632077275003 36742116565120805245246761358376452158160497954884565074585089440398399444378764348936003595497857009757819119576036200643043626359025379159925621221120685555387211380979517690373980090825018519397096713341383542807698279064850149283737759107476589619268687218911054186774189545067199571406453451986423701481656705647512536887336095904181793233397458921246928654498745697170663111391731619852778009841677321357812463218967004011147100343748340239305117260900734576590306821014128218554539756054063253006900861479162028471112124862437271032479673723409675468082002883352158776050957221189638785380736235418555165484780436159362771986333527472286940619504481110860658301980424812571074184742487274980892935804846779449778371921336726624343075674757348906089582957789122140956494545306518615176129749214532186810422456637570698823162270130522883621418414670074768544777465758520386142052376969207685556746192987072586516452893188668865922341777942212838452396454405807697964912341523077831484018388394422614967448843402729668813870130591300074471879 59449993420976002137054436991751409636678211777740182497823160002077761353857791239374477646543486430227066643184459633858472468617100684854418049440821851048972349211784022320386333116276649210624621430026545309256059608544820493835495605503685395880006812591423028672970215443219981937709038731208745541490692291565911574997502026606837370934734276234315772050789872188894820590779526234273562604281806181743868434198648204181743757304435715410391236602453256894668945556706813440847889230998581971205841820245338934939816367712956683313325230298791940681510730910680004644569927819107873742394399960666126928618658221194690544402527565274478132892310974849133840743480450483219880017469434164646047697381157410211517945055500821178972356422847129424211204080766494047745935692858528929694365830931419008877631056516006758794481856643365614700550489799987513600776986455634876594293549114562213796310995474905784128396095319005183527998906395583970066620346298074234395828781941490114152531729301026391499629720154792435365541255523932151746882 96192109986096807382301198350127861794838709732624747572408249442476160798236555588310481242041343439984885762760495834501516094976126064014343670661942536604359560592763540010760313207101667730021718143367928852063757887609670643119233364611161985499275499810334082859744404988287181509115492183195169242972348997213424111884838122511019164168131735155562700705288617886065483702171257854126340614123483503101680897417615208192890857648184055649696353863353991471259252377720941659402428987052645224212742681724500963410928492575393954345804904022201616149592733794032163420620885040297512527775136196084682094103438657354053316388861092746765073511815455959994499045460875295790954202211921439626940633186004189661296316976837547803315432097604478330300787038555616188702430238165047544870495580145951195688053513153577457617644126773888498321968904470062282145554452214155262736345926083769899353057188461978370644848988507674049450340684337796808519016800703881932360741123464567945636550117695449006467078563557522104179411386115232226218761 155642103407072809519355635341879271431516921510364930070231409444553922152094346827684958888584829870211952405944955468359988563593226748868761720102764387653331909804547562331146646323378316940646339573394474161319817496154491136954728970114847381379282312401757111532714620431507163446824530914403914784463041288779335686882340149117856535102866011389878472756078490074960304292950784088399903218405289684845549331616263412374634614952619771060087590465807248365928197934427755100250318218051227195418584501969839898350744860288350637659130134320993556831103464704712168065190812859405386270169536156750809022722096878548743860791388658021243206404126430809128339788941325779010834219681355604272988330567161599872814262032338368982287788520451607754511991119322110236448365931023576474564861411077370204565684569669584216412125983417254113022519394270049795746331438669790139330639475198332113149368183936884154773245083826679232978339590733380778585637147001956166756569905406058059789081846996475397966708283712314539544952641639164377965643 251834213393169616901656833692007133226355631242989677642639658887030082950330902415995440130626173310196838168705451302861504658569352812883105390764706924257691470397311102341906959530479984670668057716762403013383575383764161780073962334726009366878557812212091194392459025419794344955940023097599084027435390285992759798767178271628875699270997746545441173461367107961025787995122041942526243832528773187947230229033878620567525472600803826709783944329161239837187450312148696759652747205103872419631327183694340861761673352863744592004935038343195172980696198498744331485811697899702898797944672352835491116825535535902797177180249750768008279915941886769122838834402201074801788421893277043899928963753165789534110579009175916785603220618056086084812778157877726425150796169188624019435356991223321400253738082823161674029770110191142611344488298740112077891885890883945402066985401282102012502425372398862525418094072334353282428680275071177587104653947705838099117311028870626005425631964691924404433786847269836643724364027754396604184404 407476316800242426421012469033886404657872552753354607712871068331584005102425249243680399019211003180408790574650406771221493222162579561751867110867471311911023380201858664673053605853858301611314397290156877174703392879918652917028691304840856748257840124613848305925173645851301508402764554012002998811898431574772095485649518420746732234373863757935319646217445598035986092288072826030926147050934062872792779560650142032942160087553423597769871534794968488203115648246576451859903065423155099615049911685664180760112418213152095229664065172664188729811799663203456499551002510759108285068114208509586300139547632414451541037971638408789251486320068317578251178623343526853812622641574632648172917294320327389406924841041514285767891009138507693839324769277199836661599162100212200494000218402300691604819422652492745890441896093608396724367007693010161873638217329553735541397624876480434125651793556335746680191339156161032515407019865804558365690291094707794265873880934276684065214713811688399802400495130982151183269316669393560982150047 659310530193412043322669302725893537884228183996344285355510727218614088052756151659675839149837176490605628743355858074082997880731932374634972501632178236168714850599169767014960565384338286281982455006919280188086968263682814697102653639566866115136397936825939500317632671271095853358704577109602082839333821860764855284416696692375607933644861504480760819678812705997011880283194867973452390883462836060740009789684020653509685560154227424479655479124129728040303098558725148619555812628258972034681238869358521621874091566015839821669000211007383902792495861702200831036814208658811183866058880862421791256373167950354338215151888159557259766236010204347374017457745727928614411063467909692072846258073493178941035420050690202553494229756563779924137547435077563086749958269400824513435575393524013005073160735315907564471666203799539335711495991750273951530103220437680943464610277762536138154218928734609205609433228495385797835700140875735952794945042413632364991191963147310070640345776380324206834281978251987826993680697147957586334451 1066786846993654469743681771759779942542100736749698893068381795550198093155181400903356238169048179671014419318006264845304491102894511936386839612499649548079738230801028431688014171238196587893296852297076157362790361143601467614131344944407722863394238061439787806242806317122397361761469131121605081651232253435536950770066215113122340168018725262416080465896258304032997972571267694004378537934396898933532789350334162686451845647707651022249527013919098216243418746805301600479458878051414071649731150555022702381986509779167935051333065383671572632604295524905657330587816719417919468934173089372008091395920800364805879253123526568346511252556078521925625196081089254782427033705042542340245763552393820568347960261092204488321385238895071473763462316712277399748349120369613025007435793795824704609892583387808653454913562297407936060078503684760435825168320549991416484862235154242970263806012485070355885800772384656418313242720006680294318485236137121426630865072897423994135855059588068724009234777109234139010262997366541518568484498 1726097377187066513066351074485673480426328920746043178423892522768812181207937552563032077318885356161620048061362122919387488983626444311021812114131827784248453081400198198702974736622534874175279307303995437550877329407284282311233998583974588978530635998265727306560438988393493215120173708231207164490566075296301806054482911805497948101663586766896841285575071010030009852854462561977830928817859734994272799140018183339961531207861878446729182493043227944283721845364026749099014690679673043684412389424381224003860601345183774873002065594678956535396791386607858161624630928076730652800231970234429882652293968315160217468275414727903771018792088726272999213538834982711041444768510452032318609810467313747288995681142894690874879468651635253687599864147354962835099078639013849520871369189348717614965744123124561019385228501207475395789999676510709776698423770429097428326845432005506401960231413804965091410205613151804111078420147556030271280181179535058995856264860571304206495405364449048216069059087486126837256678063689476154818949 2792884224180720982810032846245453422968429657495742071492274318319010274363118953466388315487933535832634467379368387764691980086520956247408651726631477332328191312201226630390988907860731462068576159601071594913667690550885749925365343528382311841924874059705515112803245305515890576881642839352812246141798328731838756824549126918620288269682312029312921751471329314063007825425730255982209466752256633927805588490352346026413376855569529468978709506962326160527140592169328349578473568731087115334143539979403926385847111124351709924335130978350529168001086911513515492212447647494650121734405059606437974048214768679966096721398941296250282271348167248198624409619924237493468478473552994372564373362861134315636955942235099179196264707546706727451062180859632362583448199008626874528307162985173422224858327510933214474298790798615411455868503361271145601866744320420513913189080586248476665766243898875320977210977997808222424321140154236324589765417316656485626721337757995298342350464952517772225303836196720265847519675430230994723303447 4518981601367787495876383920731126903394758578241785249916166841087822455571056506029420392806818891994254515440730510684079469070147400558430463840763305116576644393601424829093963644483266336243855466905067032464545019958170032236599342112356900820455510057971242419363684293909383792001816547584019410632364404028140562879032038724118236371345898796209763037046400324093017678280192817960040395570116368922078387630370529366374908063431407915707892000005554104810862437533355098677488259410760159018555929403785150389707712469535484797337196573029485703397878298121373653837078575571380774534637029840867856700508736995126314189674356024154053290140255974471623623158759220204509923242063446404882983173328448062925951623377993870071144176198341981138662045006987325418547277647640724049178532174522139839824071634057775493684019299822886851658503037781855378565168090849611341515926018253983067726475312680286068621183610960026535399560301792354861045598496191544622577602618566602548845870316966820441372895284206392684776353493920470878122396 7311865825548508478686416766976580326363188235737527321408441159406832729934175459495808708294752427826888982820098898448771449156668356805839115567394782448904835705802651459484952552343997798312431626506138627378212710509055782161964685640739212662380384117676757532166929599425274368883459386936831656774162732759979319703581165642738524641028210825522684788517729638156025503705923073942249862322373002849883976120722875392788284919000937384686601506967880265338003029702683448255961828141847274352699469383189076775554823593887194721672327551380014871398965209634889146049526223066030896269042089447305830748723505675092410911073297320404335561488423222670248032778683457697978401715616440777447356536189582378562907565613093049267408883745048708589724225866619688001995476656267598577485695159695562064682399144990989967982810098438298307527006399053000980431912411270125254705006604502459733492719211555607045832161608768248959720700456028679450811015812848030249298940376561900891196335269484592666676731480926658532296028924151465601425843 11830847426916295974562800687707707229757946813979312571324608000494655185505231965525229101101571319821143498260829409132850918226815757364269579408158087565481480099404076288578916196827264134556287093411205659842757730467225814398564027753096113482835894175647999951530613893334658160885275934520851067406527136788119882582613204366856761012374109621732447825564129962249043181986115891902290257892489371771962363751093404759163192982432345300394493506973434370148865467236038546933450087552607433371255398786974227165262536063422679519009524124409500574796843507756262799886604798637411670803679119288173687449232242670218725100747653344558388851628679197141871655937442677902488324957679887182330339709518030441488859188991086919338553059943390689728386270873607013420542754303908322626664227334217701904506470779048765461666829398261185159185509436834856358997080502119736596220932622756442801219194524235893114453345219728275495120260757821034311856614309039574871876542995128503440042205586451413108049626765133051217072382418071936479548239 19142713252464804453249217454684287556121135049716839892733049159901487915439407425021037809396323747648032481080928307581622367383484114170108694975552870014386315805206727748063868749171261932868718719917344287220970440976281596560528713393835326145216278293324757483697543492759932529768735321457682724180689869548099202286194370009595285653402320447255132614081859600405068685692038965844540120214862374621846339871816280151951477901433282685081095013941314635486868496938721995189411915694454707723954868170163303940817359657309874240681851675789515446195808717391151945936131021703442567072721208735479518197955748345311136011820950664962724413117102419812119688716126135600466726673296327959777696245707612820051766754604179968605961943688439398318110496740226701422538230960175921204149922493913263969188869924039755429649639496699483466712515835887857339428992913389861850925939227258902534711913735791500160285506828496524454840961213849713762667630121887605121175483371690404331238540855936005774726358246059709749368411342223402080974082 30973560679381100427812018142391994785879081863696152464057657160396143100944639390546266910497895067469175979341757716714473285610299871534378274383710957579867795904610804036642784945998526067425005813328549947063728171443507410959092741146931439628052172468972757435228157386094590690654011255978533791587217006336219084868807574376452046665776430068987580439645989562654111867678154857746830378107351746393808703622909684911114670883865627985475588520914749005635733964174760542122862003247062141095210266957137531106079895720732553759691375800199016020992652225147414745822735820340854237876400328023653205647187991015529861112568604009521113264745781616953991344653568813502955051630976215142108035955225643261540625943595266887944515003631830088046496767613833714843080985264084243830814149828130965873695340703088520891316468894960668625898025272722713698426073415509598447146871850015345335931108260027393274738852048224799949961221971670748074524244430927179993052026366818907771280746442387418882775985011192760966440793760295338560522321 50116273931845904881061235597076282342000216913412992356790706320297631016384046815567304719894218815117208460422686024296095652993783985704486969359263827594254111709817531784706653695169788000293724533245894234284698612419789007519621454540766765773268450762297514918925700878854523220422746577436216515767906875884318287155001944386047332319178750516242713053727849163059180553370193823591370498322214121015655043494725965063066148785298910670556683534856063641122602461113482537312273918941516848819165135127300835046897255378042428000373227475988531467188460942538566691758866842044296804949121536759132723845143739360840997124389554674483837677862884036766111033369694949103421778304272543101885732200933256081592392698199446856550476947320269486364607264354060416265619216224260165034964072322044229842884210627128276320966108391660152092610541108610571037855066328899460298072811077274247870643021995818893435024358876721324404802183185520461837191874552814785114227509738509312102519287298323424657502343257252470715809205102518740641496403 81089834611227005308873253739468277127879298777109144820848363480693774117328686206113571630392113882586384439764443741010568938604083857238865243742974785174121907614428335821349438641168314067718730346574444181348426783863296418478714195687698205401320623231270272354153858264949113911076757833414750307355123882220537372023809518762499378984955180585230293493373838725713292421048348681338200876429565867409463747117635649974180819669164538656032272055770812646758336425288243079435135922188578989914375402084438366152977151098774981760064603276187547488181113167685981437581602662385151042825521864782785929492331730376370858236958158684004950942608665653720102378023263762606376829935248758243993768156158899343133018641794713744494991950952099574411104031967894131108700201488344408865778222150175195716579551330216797212282577286620820718508566381333284736281139744409058745219682927289593206574130255846286709763210924946124354763405157191209911716118983741965107279536105328219873800033740710843540278328268445231682249998862814079202018724 131206108543072910189934489336544559469879515690522137177639069800991405133712733021680876350286332697703592900187129765306664591597867842943352213102238612768376019324245867606056092336338102068012454879820338415633125396283085425998335650228464971174589073993567787273079559143803637131499504410850966823123030758104855659178811463148546711304133931101473006547101687888772472974418542504929571374751779988425118790612361615037246968454463449326588955590626876287880938886401725616747409841130095838733540537211739201199874406476817409760437830752176078955369574110224548129340469504429447847774643401541918653337475469737211855361347713358488788620471549690486213411392958711709798608239521301345879500357092155424725411339994160601045468898272369060775711296321954547374319417712604573900742294472219425559463761957345073533248685678280972811119107489943855774136206073308519043292494004563841077217152251665180144787569801667448759565588342711671748907993536556750221507045843837531976319321039034268197780671525697702398059203965332819843515127 212295943154299915498807743076012836597758814467631281998487433281685179251041419227794447980678446580289977339951573506317233530201951700182217456845213397942497926938674203427405530977506416135731185226394782596981552180146381844477049845916163176575909697224838059627233417408752751042576262244265717130478154640325393031202620981911046090289089111686703300040475526614485765395466891186267772251181345855834582537729997265011427788123627987982621227646397688934639275311689968696182545763318674828647915939296177567352851557575592391520502434028363626443550687277910529566922072166814598890600165266324704582829807200113582713598305872042493739563080215344206315789416222474316175438174770059589873268513251054767858429981788874345540460849224468635186815328289848678483019619200948982766520516622394621276043313287561870745531262964901793529627673871277140510417345817717577788512176931853434283791282507511466854550780726613573114328993499902881660624112520298715328786581949165751850119354779745111738058999794142934080309202828146899045533851 343502051697372825688742232412557396067638330158153419176126503082676584384754152249475324330964779277993570240138703271623898121799819543125569669947452010710873946262920071033461623313844518203743640106215121012614677576429467270475385496144628147750498771218405846900312976552556388174075766655116683953601185398430248690381432445059592801593223042788176306587577214503258238369885433691197343625933125844259701328342358880048674756578091437309210183237024565222520214198091694312929955604448770667381456476507916768552725964052409801280940264780539705398920261388135077696262541671244046738374808667866623236167282669850794568959653585400982528183551765034692529200809181186025974046414291360935752768870343210192583841321783034946585929747496837695962526624611803225857339036913553556667262811094614046835507075244906944278779948643182766340746781361220996284553551891026096831804670936417275361008434759176646999338350528281021873894581842614553409532106056855465550293627793003283826438675818779379935839671319840636478368406793479718889048978 555797994851672741187549975488570232665397144625784701174613936364361763635795571477269772311643225858283547580090276777941131652001771243307787126792665408653371873201594274460867154291350934339474825332609903609596229756575849114952435342060791324326408468443243906527546393961309139216652028899382401084079340038755641721584053426970638891882312154474879606628052741117744003765352324877465115877114471700094283866072356145060102544701719425291831410883422254157159489509781663009112501367767445496029372415804094335905577521628002192801442698808903331842470948666045607263184613838058645628974973934191327818997089869964377282557959457443476267746631980378898844990225403660342149484589061420525626037383594264960442271303571909292126390596721306331149341952901651904340358656114502539433783327717008668111550388532468815024311211608084559870374455232498136794970897708743674620316847868270709644799717266688113853889131254894594988223575342517435070156218577154180879080209742169035676558030598524491673898671113983570558677609621626617934582829 899300046549045566876292207901127628733035474783938120350740439447038348020549723726745096642608005136277117820228980049565029773801590786433356796740117419364245819464514345494328777605195452543218465438825024622210907333005316385427820838205419472076907239661649753427859370513865527390727795554499085037680525437185890411965485872030231693475535197263055913215629955621002242135237758568662459503047597544353985194414715025108777301279810862601041594120446819379679703707873357322042456972216216163410828892312011104458303485680411994082382963589443037241391210054180684959447155509302692367349782602057951055164372539815171851517613042844458795930183745413591374191034584846368123531003352781461378806253937475153026112625354944238712320344218144027111868577513455130197697693028056096101046138811622714947057463777375759303091160251267326211121236593719133079524449599769771452121518804687985005808152025864760853227481783175616862118157185131988479688324634009646429373837535172319502996706417303871609738342433824207037046016415106336823631807 1455098041400718308063842183389697861398432619409722821525354375811400111656345295204014868954251230994560665400319256827506161425803362029741143923532782828017617692666108619955195931896546386882693290771434928231807137089581165500380256180266210796403315708104893659955405764475174666607379824453881486121759865475941532133549539299000870585357847351737935519843682696738746245900590083446127575380162069244448269060487071170168879845981530287892873005003869073536839193217655020331154958339983661659440201308116105440363881007308414186883825662398346369083862158720226292222631769347361337996324756536249278874161462409779549134075572500287935063676815725792490219181259988506710273015592414201987004843637531740113468383928926853530838710940939450358261210530415107034538056349142558635534829466528631383058607852309844574327402371859351886081495691826217269874495347308513446072438366672958694650607869292552874707116613038070211850341732527649423549844543211163827308454047277341355179554737015828363283637013547807777595723626036732954758214636 2354398087949763874940134391290825490131468094193660941876094815258438459676895018930759965596859236130837783220548236877071191199604952816174500720272900247381863512130622965449524709501741839425911756210259952854018044422586481885808077018471630268480222947766543413383265134989040193998107620008380571159440390913127422545515025171031102278833382549000991433059312652359748488035827842014790034883209666788802254254901786195277657147261341150493914599124315892916518896925528377653197415312199877822851030200428116544822184492988826180966208625987789406325253368774406977182078924856664030363674539138307229929325834949594720985593185543132393859606999471206081593372294573353078396546595766983448383649891469215266494496554281797769551031285157594385373079107928562164735754042170614731635875605340254098005665316087220333630493532110619212292616928419936402954019796908283217524559885477646679656416021318417635560344094821245828712459889712781412029532867845173473737827884812513674682551443433132234893375355981631984632769642451839291581846443 3809496129350482183003976574680523351529900713603383763401449191069838571333240314134774834551110467125398448620867493704577352625408314845915644643805683075399481204796731585404720641398288226308605046981694881085825181512167647386188333198737841064883538655871437073338670899464214860605487444462262057281200256389068954679064564470031972864191229900738926952902995349098494733936417925460917610263371736033250523315388857365446536993242871438386787604128184966453358090143183397984352373652183539482291231508544221985186065500297240367850034288386135775409115527494633269404710694204025368359999295674556508803487297359374270119668758043420328923283815196998571812553554561859788669562188181185435388493529000955379962880483208651300389742226097044743634289638343669199273810391313173367170705071868885481064273168397064907957895903969971098374112620246153672828515144216796663596998252150605374307023890610970510267460707859316040562801622240430835579377411056337301046281932089855029862106180448960598177012369529439762228493268488572246340061079 6163894217300246057944110965971348841661368807797044705277544006328277031010135333065534800147969703256236231841415730581648543825013267662090145364078583322781344716927354550854245350900030065734516803191954833939843225934754129271996410217209471333363761603637980486721936034453255054603595064470642628440640647302196377224579589641063075143024612449739918385962308001458243221972245767475707645146581402822052777570290643560724194140504212588880702203252500859369876987068711775637549788964383417305142261708972338530008249993286066548816242914373925181734368896269040246586789619060689398723673834812863738732813132308968991105261943586552722782890814668204653405925849135212867066108783948168883772143420470170646457377037490449069940773511254639129007368746272231364009564433483788098806580677209139579069938484484285241588389436080590310666729548666090075782534941125079881121558137628252053963439911929388145827804802680561869275261511953212247608910278901510774784109816902368704544657623882092833070387725511071746861262910940411537921907522 9973390346650728240948087540651872193191269521400428468678993197398115602343375647200309634699080170381634680462283224286225896450421582508005790007884266398180825921724086136258965992298318292043121850173649715025668407446921776658184743415947312398247300259509417560060606933917469915209082508932904685721840903691265331903644154111095048007215842350478845338865303350556737955908663692936625255409953138855303300885679500926170731133747084027267489807380685825823235077211895173621902162616566956787433493217516560515194315493583306916666277202760060957143484423763673515991500313264714767083673130487420247536300429668343261224930701629973051706174629865203225218479403697072655735670972129354319160636949471126026420257520699100370330515737351683872641658384615900563283374824796961465977285749078025060134211652881350149546285340050561409040842168912243748611050085341876544718556389778857428270463802540358656095265510539877909838063134193643083188287689957848075830391748992223734406763804331053431247400095040511509089756179428983784261968601 16137284563950974298892198506623221034852638329197473173956537203726392633353510980265844434847049873637870912303698954867874440275434850170095935371962849720962170638651440687113211343198348357777638653365604548965511633381675905930181153633156783731611061863147398046782542968370724969812677573403547314162481550993461709128223743752158123150240454800218763724827611352014981177880909460412332900556534541677356078455970144486894925274251296616148192010633186685193112064280606949259451951580950374092575754926488899045202565486869373465482520117133986138877853320032713762578289932325404165807346965300283986269113561977312252330192645216525774489065444533407878624405252832285522801779756077523202932780369941296672877634558189549440271289248606323001649027130888131927292939258280749564783866426287164639204150137365635391134674776131151719707571717578333824393585026466956425840114527407109482233903714469746801923070313220439779113324646146855330797197968859358850614501565894592438951421428213146264317787820551583255951019090369395322183876123 26110674910601702539840286047275093228043907850597901642635530401124508235696886627466154069546130044019505592765982179154100336725856432678101725379847116119142996560375526823372177335496666649820760503539254263991180040828597682588365897049104096129858362122656815606843149902288194885021760082336451999884322454684727041031867897863253171157456297150697609063692914702571719133789573153348958155966487680532659379341649645413065656407998380643415681818013872511016347141492502122881354114197517330880009248144005459560396880980452680382148797319894047096021337743796387278569790245590118932891020095787704233805413991645655513555123346846498826195240074398611103842884656529358178537450728206877522093417319412422699297892078888649810601804985958006874290685515504032490576314083077711030761152175365189699338361790246985540680960116181713128748413886490577573004635111808832970558670917185966910504367517010105458018335823760317688951387780340498413985485658817206926444893314886816173358185232544199695565187915592094765040775269798379106445844724 42247959474552676838732484553898314262896546179795374816592067604850900869050397607731998504393179917657376505069681134021974777001291282848197660751809965840105167199026967510485388678695015007598399156904858812956691674210273588518547050682260879861469423985804213653625692870658919854834437655739999314046804005678188750160091641615411294307696751950916372788520526054586700311670482613761291056523022222210015457797619789899960581682249677259563873828647059196209459205773109072140806065778467704972585003070494358605599446467322053847631317437028033234899191063829101041148080177915523098698367061087988220074527553622967765885315992063024600684305518932018982467289909361643701339230484284400725026197689353719372175526637078199250873094234564329875939712646392164417869253341358460595545018601652354338542511927612620931815634892312864848455985604068911397398220138275789396398785444593076392738271231479852259941406136980757468064712426487353744782683627676565777059394880781408612309606660757345959882975736143678020991794360167774428629720847 68358634385154379378572770601173407490940454030393276459227598005975409104747284235198152573939309961676882097835663313176075113727147715526299386131657081959248163759402494333857566014191681657419159660444113076947871715038871271106912947731364975991327786108461029260468842772947114739856197738076451313931126460362915791191959539478664465465153049101613981852213440757158419445460055767110249212489509902742674837139269435313026238090248057902979555646660931707225806347265611195022160179975985035852594251214499818165996327447774734229780114756922080330920528807625488319717870423505642031589387156875692453879941545268623279440439338909523426879545593330630086310174565891001879876681212491278247119615008766142071473418715966849061474899220522336750230398161896196908445567424436171626306170777017544037880873717859606472496595008494577977204399490559488970402855250084622366957456361779043303242638748489957717959741960741075157016100206827852158768169286493772703504288195668224785667791893301545655448163651735772786032569629966153535075565571 110606593859707056217305255155071721753837000210188651275819665610826309973797681842930151078332489879334258602905344447198049890728438998374497046883467047799353330958429461844342954692886696665017558817348971889904563389249144859625459998413625855852797210094265242914094535643606034594690635393816450627977930466041104541352051181094075759772849801052530354640733966811745119757130538380871540269012532124952690294936889225212986819772497735162543429475307990903435265553038720267162966245754452740825179254284994176771595773915096788077411432193950113565819719871454589360865950601421165130287754217963680673954469098891591045325755330972548027563851112262649068777464475252645581215911696775678972145812698119861443648945353045048312347993455086666626170110808288361326314820765794632221851189378669898376423385645472227404312229900807442825660385094628400367801075388360411763356241806372119695980909979969809977901148097721832625080812633315205903550852914170338480563683076449633397977398554058891615331139387879450807024363990133927963705286418 178965228244861435595878025756245129244777454240581927735047263616801719078544966078128303652271799841011140700741007760374125004455586713900796433015124129758601494717831956178200520707078378322436718477793084966852435104288016130732372946144990831844124996202726272174563378416553149334546833131892901941909056926404020332544010720572740225238002850154144336492947407568903539202590594147981789481502042027695365132076158660526013057862745793065522985121968922610661071900304331462185126425730437776677773505499493994937592101362871522307191546950872193896740248679080077680583821024926807161877141374839373127834410644160214324766194669882071454443396705593279155087639041143647461092592909266957219265427706886003515122364069011897373822892675609003376400508970184558234760388190230803848157360155687442414304259363331833876808824909302020802864784585187889338203930638445034130313698168151162999223548728459767695860890058462907782096912840143058062319022200664111184067971272117858183645190447360437270779303039615223593056933620100081498780851989 289571822104568491813183280911316850998614454450770579010866929227628029052342647921058454730604289720345399303646352207572174895184025712275293479898591177557954825676261418022543475399965074987454277295142056856756998493537160990357832944558616687696922206296991515088657914060159183929237468525709352569886987392445124873896061901666815985010852651206674691133681374380648658959721132528853329750514574152648055427013047885738999877635243528228066414597276913514096337453343051729348092671484890517502952759784488171709187875277968310384602979144822307462559968550534667041449771626347972292164895592803053801788879743051805370091950000854619482007247817855928223865103516396293042308504606042636191411240405005864958771309422056945686170886130695670002570619778472919561075208956025436070008549534357340790727645008804061281121054810109463628525169679816289706005006026805445893669939974523282695204458708429577673762038156184740407177725473458263965869875114834449664631654348567491581622589001419328886110442427494674400081297610234009462486138407 468537050349429927409061306667561980243391908691352506745914192844429748130887613999186758382876089561356540004387359967946299899639612426176089912913715307316556320394093374200743996107043453309890995772935141823609433597825177121090205890703607519541047202499717787263221292476712333263784301657602254511796044318849145206440072622239556210248855501360819027626628781949552198162311726676835119232016616180343420559089206546265012935497989321293589399719245836124757409353647383191533219097215328294180726265283982166646779976640839832691794526095694501359300217229614744722033592651274779454042036967642426929623290387212019694858144670736690936450644523449207378952742557539940503401097515309593410676668111891868473893673491068843059993778806304673378971128748657477795835597146256239918165909690044783205031904372135895157929879719411484431389954265004179044208936665250480023983638142674445694428007436889345369622928214647648189274638313601322028188897315498560848699625620685349765267779448779766156889745467109897993138231230334090961266990396 758108872453998419222244587578878831242006363142123085756781122072057777183230261920245213113480379281701939308033712175518474794823638138451383392812306484874511146070354792223287471507008528297345273068077198680366432091362338111448038835262224207237969408796709302351879206536871517193021770183311607081683031711294270080336134523906372195259708152567493718760310156330200857122032859205688448982531190332991475986102254432004012813133232849521655814316522749638853746806990434920881311768700218811683679025068470338355967851918808143076397505240516808821860185780149411763483364277622751746206932560445480731412170130263825064950094671591310418457892341305135602817846073936233545709602121352229602087908516897733432664982913125788746164664937000343381541748527130397356910806102281675988174459224402123995759549380939956439050934529520948059915123944820468750213942692055925917653578117197728389632466145318923043384966370832388596452363787059585994058772430333010513331279969252841346890368450199095043000187894604572393219528840568100423753128803 1226645922803428346631305894246440811485398271833475592502695314916487525314117875919431971496356468843058479312421072143464774694463250564627473305726021792191067466464448166424031467614051981607236268841012340503975865689187515232538244725965831726779016611296427089615100499013583850456806071840913861593479076030143415286776207146145928405508563653928312746386938938279753055284344585882523568214547806513334896545191460978269025748631222170815245214035768585763611156160637818112414530865915547105864405290352452505002747828559647975768192031336211310181160403009764156485516956928897531200248969528087907661035460517475844759808239342328001354908536864754342981770588631476174049110699636661823012764576628789601906558656404194631806158443743305016760512877275787875152746403248537915906340368914446907200791453753075851596980814248932432491305078209824647794422879357306405941637216259872174084060473582208268413007894585480036785727002100660908022247669745831571362030905589938191112158147898978861199889933361714470386357760070902191385020119199 1984754795257426765853550481825319642727404634975598678259476436988545302497348137839677184609836848124760418620454784318983249489286888703078856698538328277065578612534802958647318939121060509904581541909089539184342297780549853343986283561228055934016986020093136391966979705550455367649827842024225468675162107741437685367112341670052300600768271806495806465147249094609953912406377445088212017197078996846326372531293715410273038561764455020336901028352291335402464902967628253033295842634615765917548084315420922843358715680478456118844589536576728119003020588789913568249000321206520282946455902088533388392447630647739669824758334013919311773366429206059478584588434705412407594820301758014052614852485145687335339223639317320420552323108680305360142054625802918272509657209350819591894514828138849031196551003134015808036031748778453380551220202154645116544636822049362331859290794377069902473692939727527191456392860956312425382179365887720494016306442176164581875362185559191032459048516349177956242890121256319042779577288911470291808773248002 3211400718060855112484856376071760454212802906809074270762171751905032827811466013759109156106193316967818897932875856462448024183750139267706330004264350069256646078999251125071350406735112491511817810750101879688318163469737368576524528287193887660796002631389563481582080204564039218106633913865139330268641183771581100653888548816198229006276835460424119211534188032889706967690722030970735585411626803359661269076485176388542064310395677191152146242388059921166076059128266071145710373500531313023412489605773375348361463509038104094612781567912939429184180991799677724734517278135417814146704871616621296053483091165215514584566573356247313128274966070813821566359023336888581643931001394675875627617061774476937245782295721515052358481552423610376902567503078706147662403612599357507800855197053295938397342456887091659633012563027385813042525280364469764339059701406668737800928010636942076557753413309735459869400755541792462167906367988381402038554111921996153237393091149129223571206664248156817442780054618033513165935048982372483193793367201 5196155513318281878338406857897080096940207541784672949021648188893578130308814151598786340716030165092579316553330640781431273673037027970785186702802678346322224691534054083718669345856173001416399352659191418872660461250287221920510811848421943594812988651482699873549059910114494585756461755889364798943803291513018786021000890486250529607045107266919925676681437127499660880097099476058947602608705800205987641607778891798815102872160132211489047270740351256568540962095894324179006216135147078940960573921194298191720179189516560213457371104489667548187201580589591292983517599341938097093160773705154684445930721812955184409324907370166624901641395276873300150947458042300989238751303152689928242469546920164272585005935038835472910804661103915737044622128881624420172060821950177099695370025192144969593893460021107467669044311805839193593745482519114880883696523456031069660218805014011979031446353037262651325793616498104887550085733876101896054860554098160735112755276708320256030255180597334773685670175874352555945512337893842775002566615203 8407556231379136990823263233968840551153010448593747219783819940798610958120280165357895496822223482060398214486206497243879297856787167238491516707067028415578870770533305208790019752591285492928217163409293298560978624720024590497035340135615831255608991282872263355131140114678533803863095669754504129212444475284599886674889439302448758613321942727344044888215625160389367847787821507029683188020332603565648910684264068187357167182555809402641193513128411177734617021224160395324716589635678391964373063526967673540081642698554664308070152672402606977371382572389269017718034877477355911239865645321775980499413812978170698993891480726413938029916361347687121717306481379189570882682304547365803870086608694641209830788230760350525269286213527526113947189631960330567834464434549534607496225222245440907991235916908199127302056874833225006636270762883584645222756224862699807461146815650954055589199766346998111195194372039897349717992101864483298093414666020156888350148367857449479601461844845491591128450230492386069111447386876215258196359982404 13603711744697418869161670091865920648093217990378420168805468129692189088429094316956681837538253647152977531039537138025310571529824195209276703409869706761901095462067359292508689098447458494344616516068484717433639085970311812417546151984037774850421979934354963228680200024793028389619557425643868928156247766797618672695890329788699288220367049994263970564897062287889028727884920983088630790629038403771636552292042959986172270054715941614130240783868762434303157983320054719503722805770825470905333637448161971731801821888071224521527523776892274525558584152978860310701552476819294008333026419026930664945344534791125883403216388096580562931557756624560421868253939421490560121433607700055732112556155614805482415794165799185998180090874631441850991811760841954988006525256499711707191595247437585877585129376929306594971101186639064200230016245402699526106452748318730877121365620664966034620646119384260762520987988538002237268077835740585194148275220118317623462903644565769735631717025442826364814120406366738625056959724770058033198926597607 22011267976076555859984933325834761199246228438972167388589288070490800046549374482314577334360477129213375745525743635269189869386611362447768220116936735177479966232600664501298708851038743987272833679477778015994617710690336402914581492119653606106030971217227226583811340139471562193482653095398373057368692242082218559370779769091148046833688992721608015453112687448278396575672742490118313978649371007337285462976307028173529437237271751016771434296997173612037775004544215114828439395406503862869706700975129645271883464586625888829597676449294881502929966725368129328419587354296649919572892064348706645444758347769296582397107868822994500961474117972247543585560420800680131004115912247421535982642764309446692246582396559536523449377088158967964939001392802285555840989691049246314687820469683026785576365293837505722273158061472289206866287008286284171329208973181430684582512436315920090209845885731258873716182360577899586986069937605068492241689886138474511813052012423219215233178870288317955942570636859124694168407111646273291395286580011 35614979720773974729146603417700681847339446429350587557394756200182989134978468799271259171898730776366353276565280773294500440916435557657044923526806441939381061694668023793807397949486202481617450195546262733428256796660648215332127644103691380956452951151582189812491540164264590583102210521042241985524940008879837232066670098879847335054056042715871986018009749736167425303557663473206944769278409411108922015268349988159701707291987692630901675080865936046340932987864269834332162201177329333775040338423291617003685286474697113351125200226187156028488550878346989639121139831115943927905918483375637310390102882560422465800324256919575063893031874596807965453814360222170691125549519947477268095198919924252174662376562358722521629467962790409815930813153644240543847514947548958021879415717120612663161494670766812317244259248111353407096303253688983697435661721500161561703878056980886124830492005115519636237170349115901824254147773345653686389965106256792135275955656988988950864895895731144320756691043225863319225366836416331324594213177618 57626247696850530589131536743535443046585674868322754945984044270673789181527843281585836506259207905579729022091024408563690310303046920104813143643743177116861027927268688295106106800524946468890283875024040749422874507350984618246709136223344987062483922368809416396302880303736152776584863616440615042893632250962055791437449867970995381887745035437480001471122437184445821879230405963325258747927780418446207478244657016333231144529259443647673109377863109658378707992408484949160601596583833196644747039398421262275568751061323002180722876675482037531418517603715118967540727185412593847478810547724343955834861230329719048197432125742569564854505992569055509039374781022850822129665432194898804077841684233698866908958958918259045078845050949377780869814546446526099688504638598204336567236186803639448737859964604318039517417309583642613962590261975267868764870694681592246286390493296806215040337890846778509953352709693801411240217710950722178631654992395266647089007669412208166098074766019462276699261680084988013393773948062604615989499757629 93241227417624505318278140161236124893925121297673342503378800470856778316506312080857095678157938681946082298656305181858190751219482477761858067170549619056242089621936712088913504750011148950507734070570303482851131304011632833578836780327036368018936873520391606208794420468000743359687074137482857028418572259841893023504119966850842716941801078153351987489132186920613247182788069436532203517206189829555129493513007004492932851821247136278574784458729045704719640980272754783492763797761162530419787377821712879279254037536020115531848076901669193559907068482062108606661867016528537775384729031099981266224964112890141513997756382662144628747537867165863474493189141245021513255214952142376072173040604157951041571335521276981566708313013739787596800627700090766643536019586147162358446651903924252111899354635371130356761676557694996021058893515664251566200532416181753807990268550277692339870829895962298146190523058809703235494365484296375865021620098652058782364963326401197116962970661750606597455952723310851332619140784478935940583712935247 150867475114475035907409676904771567940510796165996097449362844741530567498034155362442932184417146587525811320747329590421881061522529397866671210814292796173103117549205400384019611550536095419398017945594344232274005811362617451825545916550381355081420795889201022605097300771736896136271937753923472071312204510803948814941569834821838098829546113590831988960254624105059069062018475399857462265133970248001336971757664020826163996350506579926247893836592155363098348972681239732653365394344995727064534417220134141554822788597343117712570953577151231091325586085777227574202594201941131622863539578824325222059825343219860562195188508404714193602043859734918983532563922267872335384880384337274876250882288391649908480294480195240611787158064689165377670442246537292743224524224745366695013888090727891560637214599975448396279093867278638635021483777639519434965403110863346054276659043574498554911167786809076656143875768503504646734583195247098043653275091047325429453970995813405283061045427770068874155214403395839346012914732541540556573212692876 244108702532099541225687817066007692834435917463669439952741645212387345814540467443300027862575085269471893619403634772280071812742011875628529277984842415229345207171142112472933116300547244369905752016164647715125137115374250285404382696877417723100357669409592628813891721239737639495959011891406329099730776770645841838445689801672680815771347191744183976449386811025672316244806544836389665782340160077556466465270671025319096848171753716204822678295321201067817989952953994516146129192106158257484321795041847020834076826133363233244419030478820424651232654567839336180864461218469669398248268609924306488284789456110002076192944891066858822349581726900782458025753063512893848640095336479650948423922892549600950051630001472222178495471078428952974471069946628059386760543810892529053460539994652143672536569235346578753040770424973634656080377293303771001165935527045099862266927593852190894781997682771374802334398827313207882228948679543473908674895189699384211818934322214602400024016089520675471611167126706690678632055517020476497156925628123 394976177646574577133097493970779260774946713629665537402104489953917913312574622805742960046992231856997704940150964362701952874264541273495200488799135211402448324720347512856952727851083339789303769961758991947399142926736867737229928613427799078181778465298793651418989022011474535632230949645329801171042981281449790653387259636494518914600893305335015965409641435130731385306825020236247128047474130325557803437028335046145260844522260296131070572131913356430916338925635234248799494586451153984548856212261981162388899614730706350956989984055971655742558240653616563755067055420410801021111808188748631710344614799329862638388133399471573015951625586635701441558316985780766184024975720816925824674805180941250858531924481667462790282629143118118352141512193165352129985068035637895748474428085380035233173783835322027149319864292252273291101861070943290436131338637908445916543586637426689449693165469580451458478274595816712528963531874790571952328170280746709641272905318028007683085061517290744345766381530102530024644970249562017053730138320999 639084880178674118358785311036786953609382631093334977354846135166305259127115090249042987909567317126469598559554599134982024687006553149123729766783977626631793531891489625329885844151630584159209521977923639662524280042111118022634311310305216801282136134708386280232880743251212175128189961536736130270773758052095632491832949438167199730372240497079199941859028246156403701551631565072636793829814290403114269902299006071464357692694014012335893250427234557498734328878589228764945623778557312242033178007303828183222976440864069584201409014534792080393790895221455899935931516638880470419360076798672938198629404255439864714581078290538431838301207313536483899584070049293660032665071057296576773098728073490851808583554483139684968778100221547071326612582139793411516745611846530424801934968080032178905710353070668605902360634717225907947182238364247061437297274164953545778810514231278880344475163152351826260812673423129920411192480554334045861003065470446093853091839640242610083109077606811419817377548656809220703277025766582493550887063949122 1034061057825248695491882805007566214384329344723000514756950625120223172439689713054785947956559548983467303499705563497683977561271094422618930255583112838034241856611837138186838572002713923948513291939682631609923422968847985759864239923733015879463914600007179931651869765262686710760420911182065931441816739333545423145220209074661718644973133802414215907268669681287135086858456585308883921877288420728672073339327341117609618537216274308466963822559147913929650667804224463013745118365008466226582034219565809345611876055594775935158398998590763736136349135875072463690998572059291271440471884987421569908974019054769727352969211690010004854252832900172185341142387035074426216690046778113502597773533254432102667115478964807147759060729364665189678754094332958763646730679882168320550409396165412214138884136905990633051680499009478181238284099435190351873428612802861991695354100868705569794168328621932277719290948018946632940156012429124617813331235751192803494364744958270617766194139124102164163143930186911750727921996016144510604617202270121 1673145938003922813850668116044353167993711975816335492111796760286528431566804803303828935866126866109936902059260162632666002248277647571742660022367090464666035388503326763516724416154344508107722813917606271272447703010959103782498551234038232680746050734715566211884750508513898885888610872718802061712590497385641055637053158512828918375345374299493415849127697927443538788410088150381520715707102711131786343241626347189073976229910288320802857072986382471428384996682813691778690742143565778468615212226869637528834852496458845519359808013125555816530140031096528363626930088698171741859831961786094508107603423310209592067550289980548436692554040213708669240726457084368086249355117835410079370872261327922954475699033447946832727838829586212261005366676472752175163476291728698745352344364245444393044594489976659238954041133726704089185466337799437413310725886967815537474164615099984450138643491774284103980103621442076553351348492983458663674334301221638897347456584598513227849303216730913583980521478843720971431199021782727004155504266219243 2707206995829171509342550921051919382378041320539336006868747385406751604006494516358614883822686415093404205558965726130349979809548741994361590277950203302700277245115163901703562988157058432056236105857288902882371125979807089542362791157771248560209965334722746143536620273776585596649031783900867993154407236719186478782273367587490637020318508101907631756396367608730673875268544735690404637584391131860458416580953688306683594767126562629269820895545530385358035664487038154792435860508574244695197246446435446874446728552053621454518207011716319552666489166971600827317928660757463013300303846773516078016577442364979319420519501670558441546806873113880854581868844119442512466045164613523581968645794582355057142814512412753980486899558950877450684120770805710938810206971610867065902753760410856607183478626882649872005721632736182270423750437234627765184154499770677529169518715968690019932811820396216381699394569461023186291504505412583281487665536972831700841821329556783845615497355855015748143665409030632722159121017798871514760121468489364 4380352933833094323193219037096272550371753296355671498980544145693280035573299319662443819688813281203341107618225888763015982057826389566104250300317293767366312633618490665220287404311402940163958919774895174154818828990766193324861342391809481240956016069438312355421370782290484482537642656619670054866997734104827534419326526100319555395663882401401047605524065536174212663678632886071925353291493842992244759822580035495757570997036850950072677968531912856786420661169851846571126602652140023163812458673305084403281581048512466973878015024841875369196629198068129190944858749455634755160135808559610586124180865675188911488069791651106878239360913327589523822595301203810598715400282448933661339518055910278011618513545860700813214738388537089711689487447278463113973683263339565811255098124656301000228073116859309110959762766462886359609216775034065178494880386738493066643683331068674470071455312170500485679498190903099739642852998396041945161999838194470598189277914155297073464800572585929332124186887874353693590320039581598518915625734708607 7087559929662265832535769958148191932749794616895007505849291531100031639579793836021058703511499696296745313177191614893365961867375131560465840578267497070066589878733654566923850392468461372220195025632184077037189954970573282867224133549580729801165981404161058498957991056067070079186674440520538048021404970824014013201599893687810192415982390503308679361920433144904886538947177621762329990875884974852703176403533723802441165764163413579342498864077443242144456325656890001363562463160714267859009705119740531277728309600566088428396222036558194921863118365039730018262787410213097768460439655333126664140758308040168230908589293321665319786167786441470378404464145323253111181445447062457243308163850492633068761328058273454793701637947487967162373608218084174052783890234950432877157851885067157607411551743741958982965484399199068630032967212268692943679034886509170595813202047037364490004267132566716867378892760364122925934357503808625226649665375167302299031099243712080919080297928440945080267852296904986415749441057380470033675747203197971 11467912863495360155728988995244464483121547913250679004829835676793311675153093155683502523200312977500086420795417503656381943925201521126570090878584790837432902512352145232144137796779864312384153945407079251192008783961339476192085475941390211042121997473599370854379361838357554561724317097140208102888402704928841547620926419788129747811646272904709726967444498681079099202625810507834255344167378817844947936226113759298198736761200264529415176832609356098930876986826741847934689065812854291022822163793045615681009890649078555402274237061400070291059747563107859209207646159668732523620575463892737250264939173715357142396659084972772198025528699769059902227059446527063709896845729511390904647681906402911080379841604134155606916376336025056874063095665362637166757573498289998688412950009723458607639624860601268093925247165661954989642183987302758122173915273247663662456885378106038960075722444737217353058390951267222665577210502204667171811665213361772897220377157867377992545098501026874412392039184779340109339761096962068552591372937906578 18555472793157625988264758953392656415871342530145686510679127207893343314732886991704561226711812673796831733972609118549747905792576652687035931456852287907499492391085799799067988189248325684604348971039263328229198738931912759059309609490970940843287978877760429353337352894424624640910991537660746150909807675752855560822526313475939940227628663408018406329364931825983985741572988129596585335043263792697651112629647483100639902525363678108757675696686799341075333312483631849298251528973568558881831868912786146958738200249644643830670459097958265212922865928147589227470433569881830292081015119225863914405697481755525373305248378294437517811696486210530280631523591850316821078291176573848147955845756895544149141169662407610400618014283513024036436703883446811219541463733240431565570801894790616215051176604343227076890731564861023619675151199571451065852950159756834258270087425143403450079989577303934220437283711631345591511568006013292398461330588529075196251476401579458911625396429467819492659891481684326525089202154342538586267120141104549 30023385656652986143993747948637120898992890443396365515508962884686654989885980147388063749912125651296918154768026622206129849717778173813606022335437078744932394903437945031212125986028189996988502916446342579421207522893252235251395085432361151885409976351359800207716714732782179202635308634800954253798210380681697108443452733264069688039274936312728133296809430507063084944198798637430840679210642610542599048855761242398838639286563942638172852529296155440006210299310373697232940594786422849904654032705831762639748090898723199232944696159358335503982613491255448436678079729550562815701590583118601164670636655470882515701907463267209715837225185979590182858583038377380530975136906085239052603527663298455229521011266541766007534390619538080910499799548809448386299037231530430253983751904514074822690801464944495170815978730522978609317335186874209188026865433004497920726972803249442410155712022041151573495674662898568257088778508217959570272995801890848093471853559446836904170494930494693905051930666463666634428963251304607138858493079011127 48578858449810612132258506902029777314864232973542052026188090092579998304618867139092624976623938325093749888740635740755877755510354826500641953792289366652431887294523744830280114175276515681592851887485605907650406261825164994310704694923332092728697955229120229561054067627206803843546300172461700404708018056434552669265979046740009628266903599720746539626174362333047070685771786767027426014253906403240250161485408725499478541811927620746930528225982954781081543611794005546531192123759991408786485901618617909598486291148367843063615155257316600716905479419403037664148513299432393107782605702344465079076334137226407889007155841561647233648921672190120463490106630227697352053428082659087200559373420193999378662180928949376408152404903051104946936503432256259605840500964770861819554553799304691037741978069287722247706710295384002228992486386445660253879815592761332178997060228392845860235701599345085793932958374529913848600346514231251968734326390419923289723329961026295815795891359962513397711822148147993159518165405647145725125613220115676 78602244106463598276252254850666898213857123416938417541697052977266653294504847286480688726536063976390668043508662362962007605228133000314247976127726445397364282197961689861492240161304705678581354803931948487071613784718417229562099780355693244614107931580480029768770782359988983046181608807262654658506228437116249777709431780004079316306178536033474672922983792840110155629970585404458266693464549013782849210341169967898317181098491563385103380755279110221087753911104379243764132718546414258691139934324449672238234382047091042296559851416674936220888092910658486100826593028982955923484196285463066243746970792697290404709063304828856949486146858169710646348689668605077883028564988744326253162901083492454608183192195491142415686795522589185857436302981065707992139538196301292073538305703818765860432779534232217418522689025906980838309821573319869441906681025765830099724033031642288270391413621386237367428633037428482105689125022449211539007322192310771383195183520473132719966386290457207302763752814611659793947128656951752863984106299126803 127181102556274210408510761752696675528721356390480469567885143069846651599123714425573313703160002301484417932249298103717885360738487826814889929920015812049796169492485434691772354336581221360174206691417554394722020046543582223872804475279025337342805886809600259329824849987195786889727908979724355063214246493550802446975410826744088944573082135754221212549158155173157226315742372171485692707718455417023099371826578693397795722910419184132033908981262065002169297522898384790295324842306405667477625835943067581836720673195458885360175006673991536937793572330061523764975106328415349031266801987807531322823304929923698293716219146390504183135068530359831109838796298832775235081993071403413453722274503686453986845373124440518823839200425640290804372806413321967597980039161072153893092859503123456898174757603519939666229399321290983067302307959765529695786496618527162278721093260035134130627115220731323161361591411958395954289471536680463507741648582730694672918513481499428535762277650419720700475574962759652953465294062598898589109719519242479 205783346662737808684763016603363573742578479807418887109582196047113304893628561712054002429696066277875085975757960466679892965966620827129137906047742257447160451690447124553264594497885927038755561495349502881793633831261999453434904255634718581956913818390080289098595632347184769935909517786987009721720474930667052224684842606748168260879260671787695885472141948013267381945712957575943959401183004430805948582167748661296112904008910747517137289736541175223257051434002764034059457560852819926168765770267517254074955055242549927656734858090666473158681665240720009865801699357398304954750998273270597566570275722620988698425282451219361132621215388529541756187485967437853118110558060147739706885175587178908595028565319931661239525995948229476661809109394387675590119577357373445966631165206942222758607537137752157084752088347197963905612129533085399137693177644292992378445126291677422401018528842117560528790224449386878059978596559129675046748970775041466056113697001972561255728663940876928003239327777371312747412422719550651453093825818369282 332964449219012019093273778356060249271299836197899356677467339116959956492752276137627316132856068579359503908007258570397778326705108653944027835967758069496956621182932559245036948834467148398929768186767057276515653877805581677307708730913743919299719705199680548428420482334380556825637426766711364784934721424217854671660253433492257205452342807541917098021300103186424608261455329747429652108901459847829047953994327354693908626919329931649171198717803240225426348956901148824354782403159225593646391606210584835911675728438008813016909864764658010096475237570781533630776805685813653986017800261078128889393580652544686992141501597609865315756283918889372866026282266270628353192551131551153160607450090865362581873938444372180063365196373869767466181915807709643188099616518445599859724024710065679656782294741272096750981487668488946972914437492850928833479674262820154657166219551712556531645644062848883690151815861345274014268068095810138554490619357772160729032210483471989791490941591296648703714902740130965700877716782149550042203545337611761 538747795881749827778036794959423823013878316005318243787049535164073261386380837849681318562552134857234589883765219037077671292671729481073165742015500326944117072873379683798301543332353075437685329682116560158309287709067581130742612986548462501256633523589760837527016114681565326761546944553698374506655196354884906896345096040240425466331603479329612983493442051199691990207168287323373611510084464278634996536162076015990021530928240679166308488454344415448683400390903912858414239964012045519815157376478102089986630783680558740673644722855324483255156902811501543496578505043211958940768798534348726455963856375165675690566784048829226448377499307418914622213768233708481471303109191698892867492625678044271176902503764303841302891192322099244127991025202097318778219193875819045826355189917007902415389831879024253835733576015686910878526567025936327971172851907113147035611345843389978932664172904966444218942040310732152074246664654939813601239590132813626785145907485444551047219605532173576706954230517502278448290139501700201495297371155981043 871712245100761846871310573315484072285178152203217600464516874281033217879133113987308634695408203436594093791772477607475449619376838135017193577983258396441073694056312243043338492166820223836615097868883617434824941586873162808050321717462206420556353228789441385955436597015945883587184371320409739291589917779102761568005349473732682671783946286871530081514742154386116598468623617070803263618985924126464044490156403370683930157847570610815479687172147655674109749347805061682769022367171271113461548982688686925898306512118567553690554587619982493351632140382283077127355310729025612926786598795426855345357437027710362682708285646439091764133783226308287488240050499979109824495660323250046028100075768909633758776442208676021366256388695969011594172941009806961966318810394264645686079214627073582072172126620296350586715063684175857851441004518787256804652526169933301692777565395102535464309816967815327909093856172077426088514732750749952155730209490585787514178117968916540838710547123470225410669133257633244149167856283849751537500916493592804 1410460040982511674649347368274907895299056468208535844251566409445106479265513951836989953257960338293828683675537696644553120912048567616090359319998758723385190766929691926841640035499173299274300427551000177593134229295940743938792934704010668921812986752379202223482452711697511210348731315874108113798245114133987668464350445513973108138115549766201143065008184205585808588675791904394176875129070388405099041026318479386673951688775811289981788175626492071122793149738708974541183262331183316633276706359166789015884937295799126294364199310475306976606789043193784620623933815772237571867555397329775581801321293402876038373275069695268318212511282533727202110453818733687591295798769514948938895592701446953904935678945972979862669147581018068255722163966211904280744538004270083691512434404544081484487561958499320604422448639699862768729967571544723584775825378077046448728388911238492514396973989872781772128035896482809578162761397405689765756969799623399414299324025454361091885930152655643802117623363775135522597457995785549953032798287649573847 2282172286083273521520657941590391967584234620411753444716083283726139697144647065824298587953368541730422777467310174252028570531425405751107552897982017119826264460986004169884978527665993523110915525419883795027959170882813906746843256421472875342369339981168643609437889308713457093935915687194517853089835031913090430032355794987705790809899496053072673146522926359971925187144415521464980138748056312531563085516474882757357881846623381900797267862798639726796902899086514036223952284698354587746738255341855475941783243807917693848054753898095289469958421183576067697751289126501263184794341996125202437146678730430586401055983355341707409976645065760035489598693869233666701120294429838198984923692777215863538694455388181655884035403969714037267316336907221711242710856814664348337198513619171155066559734085119616955009163703384038626581408576063510841580477904246979750421166476633595049861283806840597100037129752654887004251276130156439717912700009113985201813502143423277632724640699779114027528292497032768766746625852069399704570299204143166651 3692632327065785196170005309865299862883291088620289288967649693171246176410161017661288541211328880024251461142847870896581691443473973367197912217980775843211455227915696096726618563165166822385215952970883972621093400178754650685636191125483544264182326733547845832920342020410968304284647003068625966888080146047078098496706240501678898948015045819273816211531110565557733775820207425859157013877126700936662126542793362144031833535399193190779056038425131797919696048825223010765135547029537904380014961701022264957668181103716820142418953208570596446565210226769852318375222942273500756661897393454978018948000023833462439429258425036975728189156348293762691709147687967354292416093199353147923819285478662817443630134334154635746704551550732105523038500873433615523455394818934432028710948023715236551047296043618937559431612343083901395311376147608234426356303282324026199149555387872087564258257796713378872165165649137696582414037527562129483669669808737384616112826168877638724610570852434757829645915860807904289344083847854949657603097491792740498 5974804613149058717690663251455691830467525709032042733683732976897385873554808083485587129164697421754674238610158045148610261974899379118305465115962792963037719688901700266611597090831160345496131478390767767649052571061568557432479447546956419606551666714716489442358231329124425398220562690263143819977915177960168528529062035489384689757914541872346489358054036925529658962964622947324137152625183013468225212059268244901389715382022575091576323901223771524716598947911737046989087831727892492126753217042877740899451424911634513990473707106665885916523631410345920016126512068774763941456239389580180456094678754264048840485241780378683138165801414053798181307841557201020993536387629191346908742978255878680982324589722336291630739955520446142790354837780655326766166251633598780365909461642886391617607030128738554514440776046467940021892784723671745267936781186571005949570721864505682614119541603553975972202295401792583586665313657718569201582369817851369817926328312300916357335211552213871857174208357840673056090709699924349362173396695935907149 9667436940214843913860668561320991693350816797652332022651382670068632049964969101146875670376026301778925699753005916045191953418373352485503377333943568806249174916817396363338215653996327167881347431361651740270145971240323208118115638672439963870733993448264335275278573349535393702505209693331769786865995324007246627025768275991063588705929587691620305569585147491087392738784830373183294166502309714404887338602061607045421548917421768282355379939648903322636294996736960057754223378757430396506768178743900005857119606015351334132892660315236482363088841637115772334501735011048264698118136783035158475042678778097511279914500205415658866354957762347560873016989245168375285952480828544494832562263734541498425954724056490927377444507071178248313393338654088942289621646452533212394620409666601628168654326172357492073872388389551841417204160871279979694293084468895032148720277252377770178377799400267354844367461050930280169079351185280698685252039626588754434039154481178555081945782404648629686820124218648577345434793547779299019776494187728647647 15642241553363902631551331812776683523818342506684374756335115646966017923519777184632462799540723723533599938363163961193802215393272731603808842449906361769286894605719096629949812744827487513377478909752419507919198542301891765550595086219396383477285660162980824717636804678659819100725772383594913606843910501967415155554830311480448278463844129563966794927639184416617051701749453320507431319127492727873112550661329851946811264299444343373931703840872674847352893944648697104743311210485322888633521395786777746756571030926985848123366367421902368279612473047461692350628247079823028639574376172615338931137357532361560120399741985794342004520759176401359054324830802369396279488868457735841741305241990420179408279313778827219008184462591624391103748176434744269055787898086131992760529871309488019786261356301096046588313164436019781439096945594951724962229865655466038098290999116883452792497341003821330816569756452722863755744664842999267886834409444440124251965482793479471439280993956862501543994332576489250401525503247703648381949890883664554796 25309678493578746545412000374097675217169159304336706778986498317034649973484746285779338469916750025312525638116169877238994168811646084089312219783849930575536069522536492993288028398823814681258826341114071248189344513542214973668710724891836347348019653611245159992915378028195212803230982076926683393709905825974661782580598587471511867169773717255587100497224331907704444440534283693690725485629802442277999889263391458992232813216866111656287083780521578169989188941385657162497534589242753285140289574530677752613690636942337182256259027737138850642701314684577464685129982090871293337692512955650497406180036310459071400314242191210000870875716938748919927341820047537771565441349286280336573867505724961677834234037835318146385628969662802639417141515088833211345409544538665205155150280976089647954915682473453538662185552825571622856301106466231704656522950124361070247011276369261222970875140404088685660937217503653143924824016028279966572086449071028878686004637274658026521226776361511131230814456795137827746960296795482947401726385071393202443 40951920046942649176963332186874358740987501811021081535321613964000667897004523470411801269457473748846125576479333838432796384204918815693121062233756292344822964128255589623237841143651302194636305250866490756108543055844106739219305811111232730825305313774225984710552182706855031903956754460521597000553816327942076938135428898951960145633617846819553895424863516324321496142283737014198156804757295170151112439924721310939044077516310455030218787621394253017342082886034354267240845799728076173773810970317455499370261667869323030379625395159041218922313787732039157035758229170694321977266889128265836337317393842820631520713984177004342875396476115150278981666650849907167844930217744016178315172747715381857242513351614145365393813432254427030520889691523577480401197442624797197915680152285577667741177038774549585250498717261591404295398052061183429618752815779827108345302275486144675763372481407910016477506973956376007680568680871279234458920858515469002937970120068137497960507770318373632774808789371627078148485800043186595783676275955057757239 66261598540521395722375332560972033958156661115357788314308112281035317870489269756191139739374223774158651214595503715671790553016564899782433282017606222920359033650792082616525869542475116875895131591980562004297887569386321712888016536003069078173324967385471144703467560735050244707187736537448280394263722153916738720716027486423472012803391564075140995922087848232025940582818020707888882290387097612429112329188112769931276890733176566686505871401915831187331271827420011429738380388970829458914100544848133251983952304811660212635884422896180069565015102416616621720888211261565615314959402083916333743497430153279702921028226368214343746272193053899198909008470897444939410371567030296514889040253440343535076747389449463511779442401917229669938031206612410691746606987163462403070830433261667315696092721248003123912684270087163027151699158527415134275275765904188178592313551855405898734247621811998702138444191460029151605392696899559201031007307586497881623974757342795524481734546679884764005623246166764905895446096838669543185402661026450959682 107213518587464044899338664747846392699144162926378869849629726245035985767493793226602941008831697523004776791074837554104586937221483715475554344251362515265181997779047672239763710686126419070531436842847052760406430625230428452107322347114301808998630281159697129414019743441905276611144490997969877394817538481858815658851456385375432158437009410894694891346951364556347436725101757722087039095144392782580224769112834080870320968249487021716724659023310084204673354713454365696979226188698905632687911515165588751354213972680983243015509818055221288487328890148655778756646440432259937292226291212182170080814823996100334441742210545218686621668669169049477890675121747352107255301784774312693204213001155725392319260741063608877173255834171656700458920898135988172147804429788259600986510585547244983437269760022552709163182987348754431447097210588598563894028581684015286937615827341550574497620103219908718615951165416405159285961377770838435489928166101966884561944877410933022442242316998258396780432035538391984043931896881856138969078936981508716921 173475117127985440621713997308818426657300824041736658163937838526071303637983062982794080748205921297163428005670341269776377490238048615257987626268968738185541031429839754856289580228601535946426568434827614764704318194616750164995338883117370887171955248545168274117487304176955521318332227535418157789081260635775554379567483871798904171240400974969835887269039212788373377307919778429975921385531490395009337098300946850801597858982663588403230530425225915392004626540874377126717606577669735091602012060013722003338166277492643455651394240951401358052343992565272400477534651693825552607185693296098503824312254149380037362770436913433030367940862222948676799683592644797046665673351804609208093253254596068927396008130513072388952698236088886370396952104748398863894411416951722004057341018808912299133362481270555833075867257435917458598796369116013698169304347588203465529929379196956473231867725031907420754395356876434310891354074670397636520935473688464766185919634753728546923976863678143160786055281705156889939377993720525682154481598007959676603 280688635715449485521052662056664819356444986968115528013567564771107289405476856209397021757037618820168204796745178823880964427459532330733541970520331253450723029208887427096053290914727955016958005277674667525110748819847178617102661230231672696170585529704865403531507047618860797929476718533388035183898799117634370038418940257174336329677410385864530778615990577344720814033021536152062960480675883177589561867413780931671918827232150610119955189448535999596677981254328742823696832766368640724289923575179310754692380250173626698666904059006622646539672882713928179234181092126085489899411984508280673905127078145480371804512647458651716989609531391998154690358714392149153920975136578921901297466255751794319715268871576681266125954070260543070855873002884387036042215846739981605043851604356157282570632241293108542239050244784671890045893579704612262063332929272218752467545206538507047729487828251816139370346522292839470177315452441236072010863639790431650747864512164661569366219180676401557566487317243548873983309890602381821123560534989468393524 454163752843434926142766659365483246013745811009852186177505403297178593043459919192191102505243540117331632802415520093657341917697580945991529596789299991636264060638727181952342871143329490963384573712502282289815067014463928782098000113349043583342540778250033677648994351795816319247808946068806192972980059753409924417986424128973240500917811360834366665885029790133094191340941314582038881866207373572598898965714727782473516686214814198523185719873761914988682607795203119950414439344038375815891935635193032758030546527666270154318298299958024004592016875279200579711715743819911042506597677804379177729439332294860409167283084372084747357550393614946831490042307036946200586648488383531109390719510347863247111277002089753655078652306349429441252825107632785899936627263691703609101192623165069581703994722563664375314917502220589348644689948820625960232637276860422217997474585735463520961355553283723560124741879169273781068669527111633708531799113478896416933784146918390116290196044354544718352542598948705763922687884322907503278042132997428070127 734852388558884411663819321422148065370190797977967714191072968068285882448936775401588124262281158937499837599160698917538306345157113276725071567309631245086987089847614609048396162058057445980342578990176949814925815834311107399200661343580716279513126307954899081180501399414677117177285664602194228156878858871044294456405364386147576830595221746698897444501020367477815005373962850734101842346883256750188460833128508714145435513446964808643140909322297914585360589049531862774111272110407016540181859210372343512722926777839896852985202358964646651131689757993128758945896835945996532406009662312659851634566410440340780971795731830736464347159925006944986180401021429095354507623624962453010688185766099657566826545873666434921204606376609972512108698110517172935978843110431685214145044227521226864274626963856772917553967747005261238690583528525238222295970206132640970465019792273970568690843381535539699495088401462113251245984979552869780542662753269328067681648659083051685656415225030946275919029916192254637905997774925289324401602667986896463651 1189016141402319337806585980787631311383936608987819900368578371365464475492396694593779226767524699054831470401576219011195648262854694222716601164098931236723251150486341791000739033201386936943727152702679232104740882848775036181298661456929759862855667086204932758829495751210493436425094610671000421129858918624454218874391788515120817331513033107533264110386050157610909196714904165316140724213090630322787359798843236496618952199661779007166326629196059829574043196844734982724525711454445392356073794845565376270753473305506167007303500658922670655723706633272329338657612579765907574912607340117039029364005742735201190139078816202821211704710318621891817670443328466041555094272113345984120078905276447520813937822875756188576283258682959401953361523218149958835915470374123388823246236850686296445978621686420437292868885249225850587335273477345864182528607482993063188462494378009434089652198934819263259619830280631387032314654506664503489074461866748224484615432806001441801946611269385490994271572515140960401828685659248196827679644800984324533778 1923868529961203749470405302209779376754127406965787614559651339433750357941333469995367351029805857992331308000736917928733954608011807499441672731408562481810238240333956400049135195259444382924069731692856181919666698683086143580499322800510476142368793394159831840009997150625170553602380275273194649286737777495498513330797152901268394162108254854232161554887070525088724202088867016050242566559973887072975820631971745210764387713108743815809467538518357744159403785894266845498636983564852408896255654055937719783476400083346063860288703017887317306855396391265458097603509415711904107318617002429698880998572153175541971110874548033557676051870243628836803850844349895136909601895738308437130767091042547178380764368749422623497487865059569374465470221328667131771894313484555074037391281078207523310253248650277210210422852996231111826025857005871102404824577689125704158927514170283404658343042316354802959114918682093500283560639486217373269617124620017552552297081465084493487603026494416437270190602431333215039734683434173486152081247468971220997429 3112884671363523087276991282997410688138064015953607514928229710799214833433730164589146577797330557047162778402313136939929602870866501722158273895507493718533489390820298191049874228460831319867796884395535414024407581531861179761797984257440236005224460480364764598839492901835663990027474885944195070416596696119952732205188941416389211493621287961765425665273120682699633398803771181366383290773064517395763180430814981707383339912770522822975794167714417573733446982739001828223162695019297801252329448901503096054229873388852230867592203676809987962579103024537787436261121995477811682231224342546737910362577895910743161249953364236378887756580562250728621521287678361178464696167851654421250845996318994699194702191625178812073771123742528776418831744546817090607809783858678462860637517928893819756231870336697647503291738245456962413361130483216966587353185172118767347390008548292838747995241251174066218734748962724887315875293992881876758691586486765777036912514271085935289549637763801928264462174946474175441563369093421682979760892269955545531207 5036753201324726836747396585207190064892191422919395129487881050232965191375063634584513928827136415039494086403050054868663557478878309221599946626916056200343727631154254591099009423720275702791866616088391595944074280214947323342297307057950712147593253874524596438849490052460834543629855161217389719703334473615451245535986094317657605655729542815997587220160191207788357600892638197416625857333038404468739001062786726918147727625879266638785261706232775317892850768633268673721799678584150210148585102957440815837706273472198294727880906694697305269434499415803245533864631411189715789549841344976436791361150049086285132360827912269936563808450805879565425372132028256315374298063589962858381613087361541877575466560374601435571258988802098150884301965875484222379704097343233536898028799007101343066485118986974857713714591241688074239386987489088068992177762861244471506317522718576243406338283567528869177849667644818387599435933479099250028308711106783329589209595736170428777152664258218365534652777377807390481298052527595169131842139738926766528636 8149637872688249924024387868204600753030255438873002644416110761032180024808793799173660506624466972086656864805363191808593160349744810943758220522423549918877217021974552782148883652181107022659663500483927009968481861746808503104095291315390948152817714354889361037688982954296498533657330047161584790119931169735403977741175035734046817149350830777763012885433311890487990999696409378783009148106102921864502181493601708625531067538649789461761055873947192891626297751372270501944962373603448011400914551858943911891936146861050525595473110371507293232013602440341032970125753406667527471781065687523174701723727944997028293610781276506315451565031368130294046893419706617493838994231441617279632459083680536576770168751999780247645030112544626927303133710422301312987513881201911999758666316935995162822716989323672505217006329487145036652748117972305035579530948033363238853707531266869082154333524818702935396584416607543274915311227471981126787000297593549106626122110007256364066702302022020293799114952324281565922861421621016852111603032008882312059843 13186391074012976760771784453411790817922446861792397773903991811265145216183857433758174435451603387126150951208413246677256717828623120165358167149339606119220944653128807373247893075901382725451530116572318605912556141961755826446392598373341660300410968229413957476538473006757333077287185208378974509823265643350855223277161130051704422805080373593760600105593503098276348600589047576199635005439141326333241182556388435543678795164529056100546317580179968209519148520005539175666762052187598221549499654816384727729642420333248820323354017066204598501448101856144278503990384817857243261330907032499611493084877994083313425971609188776252015373482174009859472265551734873809213292295031580138014072171042078454345635312374381683216289101346725078187435676297785535367217978545145536656695115943096505889202108310647362930720920728833110892135105461393104571708710894607710360025053985445325560671808386231804574434084252361662514747160951080376815309008700332436215331705743426792843854966280238659333767729702088956404159474148612021243445171747809078588479 21336028946701226684796172321616391570952702300665400418320102572297325240992651232931834942076070359212807816013776438485849878178367931109116387671763156038098161675103360155396776728082489748111193617056245615881038003708564329550487889688732608453228682584303318514227455961053831610944515255540559299943196813086259201018336165785751239954431204371523612991026814988764339600285456954982644153545244248197743364049990144169209862703178845562307373454127161101145446271377809677611724425791046232950414206675328639621578567194299345918827127437711891733461704296485311474116138224524770733111972720022786194808605939080341719582390465282567466938513542140153519158971441491303052286526473197417646531254722615031115804064374161930861319213891352005490569386720086848354731859747057536415361432879091668711919097634319868147727250215978147544883223433698140151239658927970949213732585252314407715005333204934739971018500859904937430058388423061503602309306293881542841453815750683156910557268302258953132882682026370522327020895769628873355048203756691390648322 34522420020714203445567956775028182388875149162457798192224094383562470457176508666690009377527673746338958767222189685163106596006991051274474554821102762157319106328232167528644669803983872473562723733628564221793594145670320155996880488062074268753639650813717275990765928967811164688231700463919533809766462456437114424295497295837455662759511577965284213096620318087040688200874504531182279158984385574530984546606378579712888657867707901662853691034307129310664594791383348853278486477978644454499913861491713367351220987527548166242181144503916490234909806152629589978106523042382013994442879752522397687893483933163655145553999654058819482311995716150012991424523176365112265578821504777555660603425764693485461439376748543614077608315238077083678005063017872383721949838292203073072056548822188174601121205944967231078448170944811258437018328895091244722948369822578659573757639237759733275677141591166544545452585112266599944805549374141880417618314994213979056785521494109949754412234582497612466650411728459478731180369918240894598493375504500469236801 55858448967415430130364129096644573959827851463123198610544196955859795698169159899621844319603744105551766583235966123648956474185358982383590942492865918195417268003335527684041446532066362221673917350684809837674632149378884485547368377750806877206868333398020594504993384928864996299176215719460093109709659269523373625313833461623206902713942782336807826087647133075805027801159961486164923312529629822728727910656368723882098520570886747225161064488434290411810041062761158530890210903769690687450328068167042006972799554721847512161008271941628381968371510449114901452222661266906784727554852472545183882702089872243996865136390119341386949250509258290166510583494617856415317865347977974973307134680487308516577243441122705544938927529129429089168574449737959232076681698039260609487417981701279843313040303579287099226175421160789405981901552328789384874188028750549608787490224490074140990682474796101284516471085972171537374863937797203384019927621288095521898239337244793106664969502884756565599533093754830001058201265687869767953541579261191859885123 90380868988129633575932085871672756348703000625580996802768291339422266155345668566311853697131417851890725350458155808812063070192350033658065497313968680352736374331567695212686116336050234695236641084313374059468226295049204641544248865812881145960507984211737870495759313896676160987407916183379626919476121725960488049609330757460662565473454360302092039184267451162845716002034466017347202471514015397259712457262747303594987178438594648888014755522741419722474635854144507384168697381748335141950241929658755374324020542249395678403189416445544872203281316601744491430329184309288798721997732225067581570595573805407652010690389773400206431562504974440179502008017794221527583444169482752528967738106252002002038682817871249159016535844367506172846579512755831615798631536331463682559474530523468017914161509524254330304623592105600664418919881223880629597136398573128268361247863727833874266359616387267829061923671084438137319669487171345264437545936282309500955024858738903056419381737467254178066183505483289479789381635606110662552034954765692329121924 146239317955545063706296214968317330308530852088704195413312488295282061853514828465933698016735161957442491933694121932461019544377709016041656439806834598548153642334903222896727562868116596916910558434998183897142858444428089127091617243563688023167376317609758465000752698825541157286584131902839720029185780995483861674923164219083869468187397142638899865271914584238650743803194427503512125784043645219988440367919116027477085699009481396113175820011175710134284676916905665915058908285518025829400569997825797381296820096971243190564197688387173254171652827050859392882551845576195583449552584697612765453297663677651648875826779892741593380813014232730346012591512412077942901309517460727502274872786739310518615926258993954703955463373496935262015153962493790847875313234370724292046892512224747861227201813103541429530799013266390070400821433552670014471324427323677877148738088217908015257042091183369113578394757056609674694533424968548648457473557570405022853264195983696163084351240352010743665716599238119480847582901293980430505576534026884189007047 236620186943674697282228300839990086657233852714285192216080779634704328008860497032245551713866579809333217284152277741273082614570059049699721937120803278900890016666470918109413679204166831612147199519311557956611084739477293768635866109376569169127884301821496335496512012722217318273992048086219346948661902721444349724532494976544532033660851502940991904456182035401496459805228893520859328255557660617248152825181863331072072877448076045001190575533917129856759312771050173299227605667266360971350811927484552755620840639220638868967387104832718126374934143652603884312881029885484382171550316922680347023893237483059300886517169666141799812375519207170525514599530206299470484753686943480031242610892991312520654609076865203862971999217864441434861733475249622463673944770702187974606367042748215879141363322627795759835422605371990734819741314776550644068460825896806145509985951945741889523401707570636942640318428141047812014202912139893912895019493852714523808289054722599219503732977819264921731900104721408960636964536900091093057611488792576518128971 382859504899219760988524515808307416965764704802989387629393267929986389862375325498179249730601741766775709217846399673734102158947768065741378376927637877449043659001374141006141242072283428529057757954309741853753943183905382895727483352940257192295260619431254800497264711547758475560576179989059066977847683716928211399455659195628401501848248645579891769728096619640147203608423321024371454039601305837236593193100979358549158576457557441114366395545092839991043989687955839214286513952784386800751381925310350136917660736191882059531584793219891380546586970703463277195432875461679965621102901620293112477190901160710949762343949558883393193188533439900871527191042618377413386063204404207533517483679730623039270535335859158566927462591361376696876887437743413311549258005072912266653259554972963740368565135731337189366221618638380805220562748329220658539785253220484022658724040163649904780443798754006056218713185197657486708736337108442561352493051423119546661553250706295382588084218171275665397616703959528441484547438194071523563188022819460707136018 619479691842894458270752816648297503622998557517274579845474047564690717871235822530424801444468321576108926501998677415007184773517827115441100314048441156349933675667845059115554921276450260141204957473621299810365027923382676664363349462316826361423144921252751135993776724269975793834568228075278413926509586438372561123988154172172933535509100148520883674184278655041643663413652214545230782295158966454484746018282842689621231453905633486115556971079009969847803302459006012513514119620050747772102193852794902892538501375412520928498971898052609506921521114356067161508313905347164347792653218542973459501084138643770250648861119225025193005564052647071397041790572824676883870816891347687564760094572721935559925144412724362429899461809225818131738620912993035775223202775775100241259626597721179619509928458359132949201644224010371540040304063105771302608246079117290168168709992109391794303845506324642998859031613338705298722939249248336474247512545275834070469842305428894602091817195990540587129516808680937402121511975094162616620799511612037225264989 1002339196742114219259277332456604920588763262320263967474867315494677107733611148028604051175070063342884635719845077088741286932465595181182478690976079033798977334669219200121696163348733688670262715427931041664118971107288059560090832815257083553718405540684005936491041435817734269395144408064337480904357270155300772523443813367801335037357348794100775443912375274681790867022075535569602236334760272291721339211383822048170390030363190927229923366624102809838847292146961851727800633572835134572853575778105253029456162111604402988030556691272500887468108085059530438703746780808844313413756120163266571978275039804481200411205068783908586198752586086972268568981615443054297256880095751895098277578252452558599195679748583520996826924400587194828615508350736449086772460780848012507912886152694143359878493594090470138567865842648752345260866811434991961148031332337774190827434032273041699084289305078649055077744798536362785431675586356779035600005596698953617131395556135189984679901414161816252527133512640465843606059413288234140183987534431497932401007 1621818888585008677530030149104902424211761819837538547320341363059367825604846970559028852619538384918993562221843754503748471705983422296623579005024520190148911010337064259237251084625183948811467672901552341474483999030670736224454182277573909915141550461936757072484818160087710063229712636139615894830866856593673333647431967539974268572866448942621659118096653929723434530435727750114833018629919238746206085229666664737791621484268824413345480337703112779686650594605967864241314753192885882344955769630900155921994663487016923916529528589325110394389629199415597600212060686156008661206409338706240031479359178448251451060066188008933779204316638734043665610772188267731181127696987099582663037672825174494159120824161307883426726386209813012960354129263729484861995663556623112749172512750415322979388422052449603087769510066659123885301170874540763263756277411455064358996144024382433493388134811403292053936776411875068084154614835605115509847518141974787687601237861564084586771718610152356839656650321321403245727571388382396756804787046043535157665996 2624158085327122896789307481561507344800525082157802514795208678554044933338458118587632903794608448261878197941688831592489758638449017477806057696000599223947888345006283459358947247973917637481730388329483383138602970137958795784545015092830993468859956002620763008975859595905444332624857044203953375735224126748974106170875780907775603610223797736722434562009029204405225397457803285684435254964679511037927424441050486785962011514632015340575403704327215589525497886752929715969115386765721016917809345409005408951450825598621326904560085280597611281857737284475128038915807466964852974620165458869506603457634218252732651471271256792842365403069224821015934179753803710785478384577082851477761315251077627052758316503909891404423553310610400207788969637614465933948768124337471125257085398903109466339266915646540073226337375909307876230562037685975755224904308743792838549823578056655475192472424116481941109014521210411430869586290421961894545447523738673741304732633417699274571451620024314173092183783833961869089333630801670630896988774580475033090067003 4245976973912131574319337630666409769012286901995341062115550041613412758943305089146661756414146833180871760163532586096238230344432439774429636701025119414096799355343347718596198332599101586293198061231035724613086969168629532008999197370404903384001506464557520081460677755993154395854569680343569270566090983342647439818307748447749872183090246679344093680105683134128659927893531035799268273594598749784133509670717151523753632998900839753920884042030328369212148481358897580210430139958606899262765115039905564873445489085638250821089613869922721676247366483890725639127868153120861635826574797575746634936993396700984102531337444801776144607385863555059599790525991978516659512274069951060424352923902801546917437328071199287850279696820213220749323766878195418810763787894094238006257911653524789318655337698989676314106885975967000115863208560516518488660586155247902908819722081037908685860558927885233162951297622286498953740905257567010055295041880648528992333871279263359158223338634466529931840434155283272335061202190053027653793561626518568247732999 6870135059239254471108645112227917113812811984153143576910758720167457692281763207734294660208755281442749958105221417688727988982881457252235694397025718638044687700349631177955145580573019223774928449560519107751689939306588327793544212463235896852861462467178283090436537351898598728479426724547522646301315110091621545989183529355525475793314044416066528242114712338533885325351334321483703528559278260822060934111767638309715644513532855094496287746357543958737646368111827296179545526724327916180574460448910973824896314684259577725649699150520332958105103768365853678043675620085714610446740256445253238394627614953716754002608701594618510010455088376075533970279795689302137896851152802538185668174980428599675753831981090692273833007430613428538293404492661352759531912231565363263343310556634255657922253345529749540444261885274876346425246246492273713564894899040741458643300137693383878332983044367174271965818832697929823327195679528904600742565619322270297066504696962633729674958658780703024024217989245141424394832991723658550782336206993601337800002 11116112033151386045427982742894326882825098886148484639026308761780870451225068296880956416622902114623621718268754003784966219327313897026665331098050838052141487055692978896551343913172120810068126510791554832364776908475217859802543409833640800236862968931735803171897215107891753124333996404891091916867406093434268985807491277803275347976404291095410621922220395472662545253244865357282971802153877010606194443782484789833469277512433694848417171788387872327949794849470724876389975666682934815443339575488816538698341803769897828546739313020443054634352470252256579317171543773206576246273315054020999873331621011654700856533946146396394654617840951931135133760805787667818797409125222753598610021098883230146593191160052289980124112704250826649287617171370856771570295700125659601269601222210159044976577591044519425854551147861241876462288454807008792202225481054288644367463022218731292564193541972252407434917116454984428777068100937095914656037607499970799289400375976225992887898297293247232955864652144528413759456035181776686204575897833512169585533001 17986247092390640516536627855122243996637910870301628215937067481948328143506831504615251076831657396066371676373975421473694208310195354278901025495076556690186174756042610074506489493745140033843054960352073940116466847781806187596087622296876697089724431398914086262333752459790351852813423129438614563168721203525890531796674807158800823769718335511477150164335107811196430578596199678766675330713155271428255377894252428143184922025966549942913459534745416286687441217582552172569521193407262731623914035937727512523238118454157406272389012170963387592457574020622432995215219393292290856720055310466253111726248626608417610536554847991013164628296040307210667731085583357120935305976375556136795689273863658746268944992033380672397945711681440077825910575863518124329827612357224964532944532766793300634499844390049175394995409746516752808713701053501065915790375953329385826106322356424676442526525016619581706882935287682358600395296616624819256780173119293069586466880673188626617573255952027935979888870133773555183850868173500344755358234040505770923333003 29102359125542026561964610598016570879463009756450112854963376243729198594731899801496207493454559510689993394642729425258660427637509251305566356593127394742327661811735588971057833406917260843911181471143628772481243756257024047398631032130517497326587400330649889434230967567682104977147419534329706480036127296960159517604166084962076171746122626606887772086555503283858975831841065036049647132867032282034449821676737217976654199538400244791330631323133288614637236067053277048959496860090197547067253611426544051221579922224055234819128325191406442226810044272879012312386763166498867102993370364487252985057869638263118467070500994387407819246136992238345801491891371024939732715101598309735405710372746888892862136152085670652522058415932266727113527747234374895900123312482884565802545754976952345611077435434568601249546557607758629271002155860509858118015857007618030193569344575155969006720066988871989141800051742666787377463397553720733912817780619263868875867256649414619505471553245275168935753522278301968943306903355277030959934131874017940508866004 47088606217932667078501238453138814876100920626751741070900443725677526738238731306111458570286216906756365071016704846732354635947704605584467382088203951432513836567778199045564322900662400877754236431495702712597710604038830234994718654427394194416311831729563975696564720027472456829960842663768321043204848500486050049400840892120876995515840962118364922250890611095055406410437264714816322463580187553462705199570989646119839121564366794734244090857878704901324677284635829221529018053497460278691167647364271563744818040678212641091517337362369829819267618293501445307601982559791157959713425674953506096784118264871536077607055842378420983874433032545556469222976954382060668021077973865872201399646610547639131081144119051324920004127613706804939438323097893020229950924840109530335490287743745646245577279824617776644541967354275382079715856914010924033806232960947416019675666931580645449246592005491570848682987030349145977858694170345553169597953738556938462334137322603246123044809197303104915642392412075524127157771528777375715292365914523711432199007 76190965343474693640465849051155385755563930383201853925863819969406725332970631107607666063740776417446358465659434271991015063585213856890033738681331346174841498379513788016622156307579661721665417902639331485078954360295854282393349686557911691742899232060213865130795687595154561807108262198098027523240975797446209567005006977082953167261963588725252694337446114378914382242278329750865969596447219835497155021247726864096493321102767039525574722181011993515961913351689106270488514913587657825758421258790815614966397962902267875910645662553776272046077662566380457619988745726290025062706796039440759081841987903134654544677556836765828803120570024783902270714868325407000400736179572175607607110019357436531993217296204721977442062543545973532052966070332267916130074237322994096138036042720697991856654715259186377894088524962034011350718012774520782151822089968565446213245011506736614455966658994363559990483038773015933355322091724066287082415734357820807338201393972017865628516362442578273851395914690377493070464674884054406675226497788541651941065011 123279571561407360718967087504294200631664851009953594996764263695084252071209362413719124634026993324202723536676139118723369699532918462474501120769535297607355334947291987062186479208242062599419654334135034197676664964334684517388068340985305886159211063789777840827360407622627018637069104861866348566445824297932259616405847869203830162777804550843617616588336725473969788652715594465682292060027407388959860220818716510216332442667133834259818813038890698417286590636324935492017532967085118104449588906155087178711216003580480517002162999916146101865345280859881902927590728286081183022420221714394265178626106168006190622284612679144249786995003057329458739937845279789061068757257546041479808509665967984171124298440323773302362066671159680336992404393430160936360025162163103626473526330464443638102231995083804154538630492316309393430433869688531706185628322929512862232920678438317259905213250999855130839166025803365079333180785894411840252013688096377745800535531294621111751561171639881378767038307102453017197622446412831782390518863703065363373264018 199470536904882054359432936555449586387228781393155448922628083664490977404179993521326790697767769741649082002335573390714384763118132319364534859450866643782196833326805775078808635515821724321085072236774365682755619324630538799781418027543217577902110295849991705958156095217781580444177367059964376089686800095378469183410854846286783330039768139568870310925782839852884170894993924216548261656474627224457015242066443374312825763769900873785393535219902691933248503988014041762506047880672775930208010164945902793677613966482748392912808662469922373911422943426262360547579474012371208085127017753835024260468094071140845166962169515910078590115573082113361010652713605196061469493437118217087415619685325420703117515736528495279804129214705653869045370463762428852490099399486097722611562373185141629958886710342990532432719017278343404781151882463052488337450412898078308446165689945053874361179909994218690829649064576381012688502877618478127334429422454198553138736925266638977380077534082459652618434221792830510268087121296886189065745361491607015314329029 322750108466289415078400024059743787018893632403109043919392347359575229475389355935045915331794763065851805539011712509437754462651050781839035980220401941389552168274097762140995114724063786920504726570909399880432284288965223317169486368528523464061321359639769546785516502840408599081246471921830724656132624393310728799816702715490613492817572690412487927514119565326853959547709518682230553716502034613416875462885159884529158206437034708045212348258793390350535094624338977254523580847757894034657599071100989972388829970063228909914971662386068475776768224286144263475170202298452391107547239468229289439094200239147035789246782195054328377110576139442819750590558884985122538250694664258567224129351293404874241814176852268582166195885865334206037774857192589788850124561649201349085088703649585268061118705426794686971349509594652798211585752151584194523078735827591170679086368383371134266393160994073821668815090379746092021683663512889967586443110550576298939272456561260089131638705722341031385472528895283527465709567709717971456264225194672378687593047 522220645371171469437832960615193373406122413796264492842020431024066206879569349456372706029562532807500887541347285900152139225769183101203570839671268585171749001600903537219803750239885511241589798807683765563187903613595762116950904396071741041963431655489761252743672598058190179525423838981795100745819424488689197983227557561777396822857340829981358238439902405179738130442703442898778815372976661837873890704951603258841983970206935581830605883478696082283783598612353019017029628728430669964865609236046892766066443936545977302827780324855990849688191167712406624022749676310823599192674257222064313699562294310287880956208951710964406967226149221556180761243272490181184007744131782475654639749036618825577359329913380763861970325100570988075083145320955018641340223961135299071696651076834726898020005415769785219404068526872996202992737634614636682860529148725669479125252058328425008627573070988292512498464154956127104710186541131368094920872533004774852078009381827899066511716239804800684003906750688114037733796689006604160522009586686279394001922076 844970753837460884516232984674937160425016046199373536761412778383641436354958705391418621361357295873352693080358998409589893688420233883042606819891670526561301169875001299360798864963949298162094525378593165443620187902560985434120390764600264506024753015129530799529189100898598778606670310903625825401952048881999926783044260277268010315674913520393846165954021970506592089990412961581009369089478696451290766167836763143371142176643970289875818231737489472634318693236691996271553209576188563999523208307147882738455273906609206212742751987242059325464959391998550887497919878609275990300221496690293603138656494549434916745455733906018735344336725360999000511833831375166306545994826446734221863878387912230451601144090233032444136520986436322281120920178147608430190348522784500420781739780484312166081124121196579906375418036467649001204323386766220877383607884553260649804338426711796142893966231982366334167279245335873196731870204644258062507315643555351151017281838389159155643354945527141715389379279583397565199506256716322131978273811880951772689515123 1367191399208632353954065945290130533831138459995638029603433209407707643234528054847791327390919828680853580621706284309742032914189416984246177659562939111733050171475904836580602615203834809403684324186276931006808091516156747551071295160672005547988184670619292052272861698956788958132094149885420926147771473370689124766271817839045407138532254350375204404393924375686330220433116404479788184462455358289164656872788366402213126146850905871706424115216185554918102291849045015288582838304619233964388817543194775504521717843155183515570532312098050175153150559710957511520669554920099589492895753912357916838218788859722797701664685616983142311562874582555181273077103865347490553738958229209876503627424531056028960474003613796306106846087007310356204065499102627071530572483919799492478390857319039064101129536966365125779486563340645204197061021380857560244137033278930128929590485040221151521539302970658846665743400292000301442056745775626157428188176560126003095291220217058222155071185331942399393286030271511602933302945722926292500283398567231166691437199 2212162153046093238470298929965067694256154506195011566364845987791349079589486760239209948752277124554206273702065282719331926602609650867288784479454609638294351341350906135941401480167784107565778849564870096450428279418717732985191685925272270054012937685748822851802050799855387736738764460789046751549723522252689051549316078116313417454207167870769050570347946346192922310423529366060797553551934054740455423040625129545584268323494876161582242346953675027552420985085737011560136047880807797963912025850342658242976991749764389728313284299340109500618109951709508399018589433529375579793117250602651519976875283409157714447120419523001877655899599943554181784910935240513797099733784675944098367505812443286480561618093846828750243367073443632637324985677250235501720921006704299913260130637803351230182253658162945032154904599808294205401384408147078437627744917832190778733928911752017294415505534953025180833022645627873498173926950419884219935503820115477154112573058606217377798426130859084114782665309854909168132809202439248424478557210448182939380952322 3579353552254725592424364875255198228087292966190649595968279197199056722824014815087001276143196953235059854323771567029073959516799067851534962139017548750027401512826810972522004095371618916969463173751147027457236370934874480536262981085944275602001122356368114904074912498812176694870858610674467677697494995623378176315587895955358824592739422221144254974741870721879252530856645770540585738014389413029620079913413495947797394470345782033288666462169860582470523276934782026848718886185427031928300843393537433747498709592919573243883816611438159675771260511420465910539258988449475169286013004515009436815094072268880512148785105139985019967462474526109363057988039105861287653472742905153974871133236974342509522092097460625056350213160450942993529051176352862573251493490624099405738521495122390294283383195129310157934391163148939409598445429527935997871881951111120907663519396792238445937044837923684027498766045919873799615983696195510377363691996675603157207864278823275599953497316191026514175951340126420771066112148162174716978840609015414106072389521 5791515705300818830894663805220265922343447472385661162333125184990405802413501575326211224895474077789266128025836849748405886119408718718823746618472158388321752854177717108463405575539403024535242023316017123907664650353592213521454667011216545656014060042116937755876963298667564431609623071463514429247218517876067227864903974071672242046946590091913305545089817068072174841280175136601383291566323467770075502954038625493381662793840658194870908809123535610022944262020519038408854934066234829892212869243880091990475701342683962972197100910778269176389370463129974309557848421978850749079130255117660956791969355678038226595905524662986897623362074469663544842898974346375084753206527581098073238639049417628990083710191307453806593580233894575630854036853603098074972414497328399318998652132925741524465636853292255190089295762957233614999829837675014435499626868943311686397448308544255740352550372876709208331788691547747297789910646615394597299195816791080311320437337429492977751923447050110628958616649981329939198921350601423141457397819463597045453341843 9370869257555544423319028680475464150430740438576310758301404382189462525237516390413212501038671031024325982349608416777479845636207786570358708757489707138349154367004528080985409670911021941504705197067164151364901021288466694057717648097160821258015182398485052659951875797479741126480481682137982106944713513499445404180491870027031066639686012313057560519831687789951427372136820907141969029580712880799695582867452121441179057264186440228159575271293396192493467538955301065257573820251661861820513712637417525737974410935603536216080917522216428852160630974550440220097107410428325918365143259632670393607063427946918738744690629802971917590824548995772907900887013452236372406679270486252048109772286391971499605802288768078862943793394345518624383088029955960648223907987952498724737173628048131818749020048421565348023686926106173024598275267202950433371508820054432594060967705336494186289595210800393235830554737467621097405894342810904974662887813466683468528301616252768577705420763241137143134567990107750710265033498763597858436238428479011151525731364 15162384962856363254213692485695730072774187910961971920634529567179868327651017965739423725934145108813592110375445266525885731755616505289182455375961865526670907221182245189448815246450424966039947220383181275272565671642058907579172315108377366914029242440601990415828839096147305558090104753601496536191932031375512632045395844098703308686632602404970866064921504858023602213416996043743352321147036348569771085821490746934560720058027098423030484080416931802516411800975820103666428754317896691712726581881297617728450112278287499188278018432994698028550001437680414529654955832407176667444273514750331350399032783624956965340596154465958815214186623465436452743785987798611457159885798067350121348411335809600489689512480075532669537373628240094255237124883559058723196322485280898043735825760973873343214656901713820538112982689063406639598105104877964868871135688997744280458416013880749926642145583677102444162343429015368395195804989426299571962083630257763779848738953682261555457344210291247772093184640089080649463954849365020999893636247942608196979073207 24533254220411907677532721166171194223204928349538282678935933949369330852888534356152636226972816139837918092725053683303365577391824291859541164133451572665020061588186773270434224917361446907544652417450345426637466692930525601636889963205538188172044424839087043075780714893627046684570586435739478643136645544874958036225887714125734375326318614718028426584753192647975029585553816950885321350727749229369466668688942868375739777322213538651190059351710327995009879339931121168924002574569558553533240294518715143466424523213891035404358935955211126880710632412230854749752063242835502585809416774383001744006096211571875704085286784268930732805011172461209360644673001250847829566565068553602169458183622201571989295314768843611532481167022585612879620212913515019371420230473233396768472999389022005161963676950135385886136669615169579664196380372080915302242644509052176874519383719217244112931740794477495679992898166482989492601699332237204546624971443724447248377040569935030133162764973532384915227752630196831359728988348128618858329874676421619348504804571 39695639183268270931746413651866924295979116260500254599570463516549199180539552321892059952906961248651510203100498949829251309147440797148723619509413438191690968809369018459883040163811871873584599637833526701910032364572584509216062278313915555086073667279689033491609553989774352242660691189340975179328577576250470668271283558224437684012951217122999292649674697505998631798970812994628673671874785577939237754510433615310300497380240637074220543432127259797526291140906941272590431328887455245245966876400012761194874635492178534592636954388205824909260633849911269279407019075242679253253690289133333094405128995196832669425882938734889548019197795926645813388458989049459286726450866620952290806594958011172478984827248919144202018540650825707134857337797074078094616552958514294812208825149995878505178333851849206424249652304232986303794485476958880171113780198049921154977799733097994039573886378154598124155241595498357887797504321663504118587055073982211028225779523617291688620109183823632687320937270285912009192943197493639858223510924364227545483877778 64228893403680178609279134818038118519184044610038537278506397465918530033428086678044696179879777388489428295825552633132616886539265089008264783642865010856711030397555791730317265081173318781129252055283872128547499057503110110852952241519453743258118092118776076567390268883401398927231277625080453822465223121125428704497171272350172059339269831841027719234427890153973661384524629945513995022602534807308704423199376483686040274702454175725410602783837587792536170480838062441514433903457013798779207170918727904661299158706069569996995890343416951789971266262142124029159082318078181839063107063516334838411225206768708373511169723003820280824208968387855174033131990300307116293015935174554460264778580212744468280142017762755734499707673411320014477550710589097466036783431747691580681824539017883667142010801984592310386321919402565967990865849039795473356424707102098029497183452315238152505627172632093804148139761981347380399203653900708665212026517706658276602820093552321821782874157356017602548689900482743368921931545622258716553385600785846893988682349 103924532586948449541025548469905042815163160870538791878076860982467729213967638999936756132786738637140938498926051582961868195686705886156988403152278449048401999206924810190200305244985190654713851693117398830457531422075694620069014519833369298344191759398465110058999822873175751169891968814421429001793800697375899372768454830574609743352221048964027011884102587659972293183495442940142668694477320385247942177709810098996340772082694812799631146215964847590062461621745003714104865232344469044025174047318740665856173794198248104589632844731622776699231900112053393308566101393320861092316797352649667932816354201965541042937052661738709828843406764314500987421590979349766403019466801795506751071373538223916947264969266681899936518248324237027149334888507663175560653336390261986392890649689013762172320344653833798734635974223635552271785351325998675644470204905152019184474983185413232192079513550786691928303381357479705268196707975564212783799081591688869304828599617169613510402983341179650289869627170768655378114874743115898574776896525150074439472560127 168153425990628628150304683287943161334347205480577329156583258448386259247395725677981452312666516025630366794751604216094485082225970975165253186795143459905113029604480601920517570326158509435843103748401270959005030479578804730921966761352823041602309851517241186626390091756577150097123246439501882824259023818501328077265626102924781802691490880805054731118530477813945954568020072885656663717079855192556646600909186582682381046785148988525041748999802435382598632102583066155619299135801482842804381218237468570517472952904317674586628735075039728489203166374195517337725183711399042931379904416166002771227579408734249416448222384742530109667615732702356161454722969650073519312482736970061211336152118436661415545111284444655671017955997648347163812439218252273026690119822009677973572474228031645839462355455818391045022296143038118239776217175038471117826629612254117213972166637728470344585140723418785732451521119461052648595911629464921449011108109395527581431419710721935332185857498535667892418317071251398747036806288738157291330282125935921333461242476 272077958577577077691330231757848204149510366351116121034660119430853988461363364677918208445453254662771305293677655799056353277912676861322241589947421908953515028811405412110717875571143700090556955441518669789462561901654499350990981281186192339946501610915706296685389914629752901267015215253923311826052824515877227450034080933499391546043711929769081743002633065473918247751515515825799332411557175577804588778618996681678721818867843801324672895215767282972661093724328069869724164368145951886829555265556209236373646747102565779176261579806662505188435066486248910646291285104719904023696701768815670704043933610699790459385275046481239938511022497016857148876313948999839922331949538765567962407525656660578362810080551126555607536204321885374313147327725915448587343456212271664366463123917045408011782700109652189779658270366673670511561568501037146762296834517406136398447149823141702536664654274205477660754902476940757916792619605029134232810189701084396886260019327891548842588840839715318182287944242020054125151681031854055866107178651085995772933802603 440231384568205705841634915045791365483857571831693450191243377879240247708759090355899660758119770688401672088429260015150838360138647836487494776742565368858628058415886014031235445897302209526400059189919940748467592381233304081912948042539015381548811462432947483311780006386330051364138461693425194650311848334378555527299707036424173348735202810574136474121163543287864202319535588711455996128637030770361235379528183264361102865652992789849714644215569718355259725826911136025343463503947434729633936483793677806891119700006883453762890314881702233677638232860444427984016468816118946955076606184981673475271513019434039875833497431223770048178638229719213310331036918649913441644432275735629173743677775097239778355191835571211278554160319533721476959766944167721614033576034281342340035598145077053851245055565470580824680566509711788751337785676075617880123464129660253612419316460870172881249794997624263393206423596401810565388531234494055681821297810479924467691439038613484174774698338250986074706261313271452872188487320592213157437460777021917106395045079 712309343145782783532965146803639569633367938182809571225903497310094236170122455033817869203573025351172977382106915814207191638051324697809736366689987277812143087227291426141953321468445909616957014631438610537930154282887803432903929323725207721495313073348653779997169921016082952631153676947348506476364672850255782977333787969923564894778914740343218217123796608761782450071051104537255328540194206348165824158147179946039824684520836591174387539431337001327920819551239205895067627872093386616463491749349887043264766447109449232939151894688364738866073299346693338630307753920838850978773307953797344179315446630133830335218772477705009986689660726736070459207350867649753363976381814501197136151203431757818141165272386697766886090364641419095790107094670083170201377032246553006706498722062122461863027755675122770604338836876385459262899354177112764642420298647066390010866466284011875417914449271829741053961326073342568482181150839523189914631487511564321353951458366505033017363539177966304256994205555291506997340168352446269023544639428107912879328847682 1152540727713988489374600061849430935117225510014503021417146875189334483878881545389717529961692796039574649470536175829358029998189972534297231143432552646670771145643177440173188767365748119143357073821358551286397746664121107514816877366264223103044124535781601263308949927402413003995292138640773701126676521184634338504633495006347738243514117550917354691244960152049646652390586693248711324668831237118527059537675363210400927550173829381024102183646906719683180545378150341920411091376040821346097428233143564850155886147116332686702042209570066972543711532207137766614324222736957797933849914138779017654586959649567870211052269908928780034868298956455283769538387786299666805620814090236826309894881206855057919520464222268978164644524960952817267066861614250891815410608280834349046534320207199515714272811240593351429019403386097248014237139853188382522543762776726643623285782744882048299164244269454004447167749669744379047569682074017245596452785322044245821642897405118517192138237516217290331700466868562959869528655673038482180982100205129829985723892761 1864850070859771272907565208653070504750593448197312592643050372499428720049004000423535399165265821390747626852643091643565221636241297232106967510122539924482914232870468866315142088834194028760314088452797161824327900947008910947720806689989430824539437609130255043306119848418495956626445815588122207603041194034890121481967282976271303138293032291260572908368756760811429102461637797785966653209025443466692883695822543156440752234694665972198489723078243721011101364929389547815478719248134207962560919982493451893420652594225781919641194104258431711409784831553831105244631976657796648912623222092576361833902406279701700546271042386633790021557959683191354228745738653949420169597195904738023446046084638612876060685736608966745050734889602371913057173956284334062016787640527387355753033042269321977577300566915716122033358240262482707277136494030301147164964061423793033634152249028893923717078693541283745501129075743086947529750832913540435511084272833608567175594355771623550209501776694183594588694672423854466866868824025484751204526739633237742865052740443 3017390798573759762282165270502501439867818958211815614060197247688763203927885545813252929126958617430322276323179267472923251634431269766404198653555092571153685378513646306488330856199942147903671162274155713110725647611130018462537684056253653927583562144911856306615069775820908960621737954228895908729717715219524459986600777982619041381807149842177927599613716912861075754852224491034677977877856680585219943233497906366841679784868495353222591906725150440694281910307539889735889810624175029308658348215637016743576538741342114606343236313828498683953496363760968871858956199394754446846473136231355379488489365929269570757323312295562570056426258639646637998284126440249086975218009994974849755940965845467933980206200831235723215379414563324730324240817898584953832198248808221704799567362476521493291573378156309473462377643648579955291373633883489529687507824200519677257438031773775972016242937810737749948296825412831326577320514987557681107537058155652812997237253176742067401640014210400884920395139292417426736397479698523233385508839838367572850776633204 4882240869433531035189730479155571944618412406409128206703247620188191923976889546236788328292224438821069903175822359116488473270672566998511166163677632495636599611384115172803472945034136176663985250726952874935053548558138929410258490746243084752122999754042111349921189624239404917248183769817018116332758909254414581468568060958890344520100182133438500507982473673672504857313862288820644631086882124051912826929320449523282432019563161325421081629803394161705383275236929437551368529872309237271219268198130468636997191335567896525984430418086930395363281195314799977103588176052551095759096358323931741322391772208971271303594354682196360077984218322837992227029865094198507144815205899712873201987050484080810040891937440202468266114304165696643381414774182919015848985889335609060552600404745843470868873945072025595495735883911062662568510127913790676852471885624312710891590280802669895733321631352021495449425901155918274107071347901098116618621330989261380172831608948365617611141790904584479509089811716271893603266303724007984590035579471605315715829373647 7899631668007290797471895749658073384486231364620943820763444867876955127904775092050041257419183056251392179499001626589411724905103836764915364817232725066790284989897761479291803801234078324567656413001108588045779196169268947872796174802496738679706561898953967656536259400060313877869921724045914025062476624473939041455168838941509385901907331975616428107596190586533580612166086779855322608964738804637132770162818355890124111804431656678643673536528544602399665185544469327287258340496484266579877616413767485380573730076910011132327666731915429079316777559075768848962544375447305542605569494555287120810881138138240842060917666977758930134410476962484630225313991534447594120033215894687722957928016329548744021098138271438191481493718729021373705655592081503969681184138143830765352167767222364964160447323228335068958113527559642617859883761797280206539979709824832388149028312576445867749564569162759245397722726568749600684391862888655797726158389144914193170068862125107685012781805114985364429484951008689320339663783422531217975544419309972888566606006851 12781872537440821832661626228813645329104643771030072027466692488065147051881664638286829585711407495072462082674823985705900198175776403763426530980910357562426884601281876652095276746268214501231641663728061462980832744727407877283054665548739823431829561652996079006457449024299718795118105493862932141395235533728353622923736899900399730422007514109054928615578664260206085469479949068675967240051620928689045597092138805413406543823994818004064755166331938764105048460781398764838626870368793503851096884611897954017570921412477907658312097150002359474680058754390568826066132551499856638364665852879218862133272910347212113364512021659955290212394695285322622452343856628646101264848421794400596159915066813629554061990075711640659747608022894718017087070366264422985530170027479439825904768171968208435029321268300360664453849411470705280428393889711070883392451595449145099040618593379115763482886200514780740847148627724667874791463210789753914344779720134175573342900471073473302623923596019569843938574762724961213942930087146539202565579998781578204282435380498 20681504205448112630133521978471718713590875135651015848230137355942102179786439730336870843130590551323854262173825612295311923080880240528341895798143082629217169591179638131387080547502292825799298076729170051026611940896676825155850840351236562111536123551950046662993708424360032672988027217908846166457712158202292664378905738841909116323914846084671356723174854846739666081646035848531289849016359733326178367254957161303530655628426474682708428702860483366504713646325868092125885210865277770430974501025665439398144651489387918790639763881917788553996836313466337675028676926947162180970235347434505982944154048485452955425429688637714220346805172247807252677657848163093695384881637689088319117843083143178298083088213983078851229101741623739390792725958345926955211354165623270591256935939190573399189768591528695733411962939030347898288277651508351089932431305273977487189646905955561631232450769677539986244871354293417475475855073678409712070938109279089766512969333198580987636705401134555208368059713733650534282593870569070420541124418091551092849041387349 33463376742888934462795148207285364042695518906681087875696829844007249231668104368623700428841998046396316344848649598001212121256656644291768426779053440191644054192461514783482357293770507327030939740457231514007444685624084702438905505899976385543365685204946125669451157448659751468106132711771778307852947691930646287302642638742308846745922360193726285338753519106945751551125984917207257089067980662015223964347095966716937199452421292686773183869192422130609762107107266856964512081234071274282071385637563393415715572901865826448951861031920148028676895067856906501094809478447018819334901200313724845077426958832665068789941710297669510559199867533129875130001704791739796649730059483488915277758149956807852145078289694719510976709764518457407879796324610349940741524193102710417161704111158781834219089859829056397865812350501053178716671541219421973324882900723122586230265499334677394715336970192320727092019982018085350267318284468163626415717829413265339855869804272054290260628997154125052306634476458611748225523957715609623106704416873129297131476767847 54144880948337047092928670185757082756286394042332103723926967199949351411454544098960571271972588597720170607022475210296524044337536884820110322577196522820861223783641152914869437841272800152830237817186401565034056626520761527594756346251212947654901808756896172332444865873019784141094159929680624474310659850132938951681548377584217963069837206278397642061928373953685417632772020765738546938084340395341402331602053128020467855080847767369481612572052905497114475753433134949090397292099349044713045886663228832813860224391253745239591624913837936582673731381323244176123486405394181000305136547748230828021581007318118024215371398935383730906005039780937127807659552954833492034611697172577234395601233099986150228166503677798362205811506142196798672522282956276895952878358725981008418640050349355233408858451357752131277775289531401077004949192727773063257314205997100073419912405290239025947787739869860713336891336311502825743173358146573338486655938692355106368839137470635277897334398288680260674694190192262282508117828284680043647828834964680389980518155196 87608257691225981555723818393042446798981912949013191599623797043956600643122648467584271700814586644116486951871124808297736165594193529111878749356249963012505277976102667698351795135043307479861177557643633079041501312144846230033661852151189333198267493961842298001896023321679535609200292641452402782163607542063585238984191016326526809815759566472123927400681893060631169183898005682945804027152321057356626295949149094737405054533269060056254796441245327627724237860540401806054909373333420318995117272300792226229575797293119571688543485945758084611350626449180150677218295883841199819640037748061955673099007966150783093005313109233053241465204907314067002937661257746573288684341756656066149673359383056794002373244793372517873182521270660654206552318607566626836694402551828691425580344161508137067627948311186808529143587640032454255721620733947195036582197106720222659650177904624916420663124710062181440428911318329588176010491642614736964902373768105620446224708941742689568157963395442805312981328666650874030733641786000289666754533251837809687111994923043 141753138639563028648652488578799529555268306991345295323550764243905952054577192566544842972787175241836657558893600018594260209931730413931989071933446485833366501759743820613221232976316107632691415374830034644075557938665607757628418198402402280853169302718738470334340889194699319750294452571133027256474267392196524190665739393910744772885596772750521569462610267014316586816670026448684350965236661452698028627551202222757872909614116827425736409013298233124838713613973536755145306665432769363708163158964021059043436021684373316928135110859596021194024357830503394853341782289235380819945174295810186501120588973468901117220684508168436972371209947095004130745320810701406780718953453828643384068960616156780152601411297050316235388332776802851005224840890522903732647280910554672433998984211857492301036806762544560660421362929563855332726569926674968099839511312717322733070090309915155446610912449932042153765802654641091001753665000761310303389029706797975552593548079213324846055297793731485573656022856843136313241759614284969710402362086802490077092513078239 229361396330789010204376306971841976354250219940358486923174561287862552697699841034129114673601761885953144510764724826891996375525923943043867821289696448845871779735846488311573028111359415112552592932473667723117059250810453987662080050553591614051436796680580768336236912516378855359494745212585430038637874934260109429649930410237271582701356339222645496863292160074947756000568032131630154992388982510054654923500351317495277964147385887481991205454543560752562951474513938561200216038766189682703280431264813285273011818977492888616678596805354105805374984279683545530560078173076580639585212043872142174219596939619684210225997617401490213836414854409071133682982068447980069403295210484709533742319999213574154974656090422834108570854047463505211777159498089530569341683462383363859579328373365629368664755073731369189564950569596309588448190660622163136421708419437545392720268214540071867274037159994223594194713972970679177764156643376047268291403474903595998818257020956014414213261189174290886637351523494010343975401400285259377156895338640299764204508001282 371114534970352038853028795550641505909518526931703782246725325531768504752277033600673957646388937127789802069658324845486256585457654356975856893223142934679238281495590308924794261087675522745244008307303702367192617189476061745290498248955993894904606099399319238670577801711078175109789197783718457295112142326456633620315669804148016355586953111973167066325902427089264342817238058580314505957625643962752683551051553540253150873761502714907727614467841793877401665088487475316345522704198959046411443590228834344316447840661866205544813707664950126999399342110186940383901860462311961459530386339682328675340185913088585327446682125569927186207624801504075264428302879149386850122248664313352917811280615370354307576067387473150343959186824266356217002000388612434301988964372938036293578312585223121669701561836275929849986313499160164921174760587297131236261219732154868125790358524455227313884949609926265747960516627611770179517821644137357571680433181701571551411805100169339260268558982905776460293374380337146657217161014570229087559257425442789841297021079521 600475931301141049057405102522483482263768746872062269169899886819631057449976874634803072319990699013742946580423049672378252960983578300019724714512839383525110061231436797236367289199034937857796601239777370090309676440286515732952578299509585508956042896079900007006814714227457030469283942996303887333750017260716743049965600214385287938288309451195812563189194587164212098817806090711944660950014626472807338474551904857748428837908888602389718819922385354629964616563001413877545738742965148729114724021493647629589459659639359094161492304470304232804774326389870485914461938635388542099115598383554470849559782852708269537672679742971417400044039655913146398111284947597366919525543874798062451553600614583928462550723477895984452530040871729861428779159886701964871330647835321400153157640958588751038366316910007299039551264068756474509622951247919294372682928151592413518510626738995299181158986769920489342155230600582449357281978287513404839971836656605167550230062121125353674481820172080067346930725903831157001192562414855488464716152764083089605501529080803 971590466271493087910433898073124988173287273803766051416625212351399562202253908235477029966379636141532748650081374517864509546441232656995581607735982318204348342727027106161161550286710460603040609547081072457502293629762577478243076548465579403860648995479219245677392515938535205579073140780022344628862159587173376670281270018533304293875262563168979629515097014253476441635044149292259166907640270435560022025603458398001579711670391317297446434390227148507366281651488889193891261447164107775526167611722481973905907500301225299706306012135254359804173668500057426298363799097700503558645984723236799524899968765796854865119361868541344586251664457417221662539587826746753769647792539111415369364881229954282770126790865369134796489227695996217645781160275314399173319612208259436446735953543811872708067878746283228889537577567916639430797711835216425608944147883747281644300985263450526495043936379846755090115747228194219536799799931650762411652269838306739101641867221294692934750379154985843807224100284168303658409723429425717552275410189525879446798550160324 1572066397572634136967839000595608470437056020675828320586525099171030619652230782870280102286370335155275695230504424190242762507424810957015306322248821701729458403958463903397528839485745398460837210786858442547811970070049093211195654847975164912816691891559119252684207230165992236048357083776326231962612176847890119720246870232918592232163572014364792192704291601417688540452850240004203827857654896908367360500155363255750008549579279919687165254312612503137330898214490303071437000190129256504640891633216129603495367159940584393867798316605558592608947994889927912212825737733089045657761583106791270374459751618505124402792041611512761986295704113330368060650872774344120689173336413909477820918481844538211232677514343265119249019268567726079074560320162016364044650260043580836599893594502400623746434195656290527929088841636673113940420663083135719981627076035339695162811612002445825676202923149767244432270977828776668894081778219164167251624106494911906651871929342420046609232199327065911154154826187999460659602285844281206016991562953608969052300079241127 2543656863844127224878272898668733458610343294479594372003150311522430181854484691105757132252749971296808443880585798708107272053866043614010887929984804019933806746685491009558690389772455859063877820333939515005314263699811670689438731396440744316677340887038338498361599746104527441627430224556348576591474336435063496390528140251451896526038834577533771822219388615671164982087894389296462994765295167343927382525758821653751588261249671236984611688702839651644697179865979192265328261637293364280167059244938611577401274660241809693574104328740812952413121663389985338511189536830789549216407567830028069899359720384301979267911403480054106572547368570747589723190460601090874458821128953020893190283363074492494002804305208634254045508496263722296720341480437330763217969872251840273046629548046212496454502074402573756818626419204589753371218374918352145590571223919086976807112597265896352171246859529613999522386725056970888430881578150814929663276376333218645753513796563714739543982578482051754961378926472167764318012009273706923569266973143134848499098629401451 4115723261416761361846111899264341929047399315155422692589675410693460801506715473976037234539120306452084139111090222898350034561290854571026194252233625721663265150643954912956219229258201257524715031120797957553126233769860763900634386244415909229494032778597457751045806976270519677675787308332674808554086513282953616110775010484370488758202406591898564014923680217088853522540744629300666822622950064252294743025914184909501596810828951156671776943015452154782028078080469495336765261827422620784807950878154741180896641820182394087441902645346371545022069658279913250724015274563878594874169150936819340273819472002807103670703445091566868558843072684077957783841333375434995147994465366930371011201844919030705235481819551899373294527764831448375794901800599347127262620132295421109646523142548613120200936270058864284747715260841262867311639038001487865572198299954426671969924209268342177847449782679381243954657702885747557324963356369979096914900482828130552405385725906134786153214777809117666115533752660167224977614295117988129586258536096743817551398708642578 6659380125260888586724384797933075387657742609635017064592825722215890983361200165081794366791870277748892582991676021606457306615156898185037082182218429741597071897329445922514909619030657116588592851454737472558440497469672434590073117640856653546171373665635796249407406722375047119303217532889023385145560849718017112501303150735822385284241241169432335837143068832760018504628639018597129817388245231596222125551673006563253185072078622393656388631718291806426725257946448687602093523464715985064975010123093352758297916480424203781016006974087184497435191321669898589235204811394668144090576718766847410173179192387109082938614848571620975131390441254825547507031793976525869606815594319951264201485207993523199238286124760533627340036261095170672515243281036677890480590004547261382693152690594825616655438344461438041566341680045852620682857412919840011162769523873513648777036806534238530018696642208995243477044427942718445755844934520794026578176859161349198158899522469849525697197356291169421076912679132334989295626304391695053155525509239878666050497338044029 10775103386677649948570496697197417316705141924790439757182501132909351784867915639057831601330990584200976722102766244504807341176447752756063276434452055463260337047973400835471128848288858374113307882575535430111566731239533198490707503885272562775665406444233254000453213698645566796979004841221698193699647363000970728612078161220192874042443647761330899852066749049848872027169383647897796640011195295848516868577587191472754781882907573550328165574733743961208753336026918182938858785292138605849782961001248093939194558300606597868457909619433556042457260979949811839959220085958546738964745869703666750446998664389916186609318293663187843690233513938903505290873127351960864754810059686881635212687052912553904473767944312433000634564025926619048310145081636025017743210136842682492339675833143438736856374614520302326314056940887115487994496450921327876734967823827940320746961015802580707866146424888376487431702130828466003080808290890773123493077341989479750564285248375984311850412134100287087192446431792502214273240599509683182741784045336622483601896046686607 17434483511938538535294881495130492704362884534425456821775326855125242768229115804139625968122860861949869305094442266111264647791604650941100358616670485204857408945302846757986038467319515490701900734030272902670007228709205633080780621526129216321836780109869050249860620421020613916282222374110721578845208212718987841113381311956015259326684888930763235689209817882608890531798022666494926457399440527444738994129260198036007966954986195943984554206452035767635478593973366870540952308756854590914757971124341446697492474781030801649473916593520740539892452301619710429194424897353214883055322588470514160620177856777025269547933142234808818821623955193729052797904921328486734361625654006832899414172260906077103712054069072966627974600287021789720825388362672702908223800141389943875032828523738264353511812958981740367880398620932968108677353863841167887897737347701453969523997822336819237884843067097371730908746558771184448836653225411567150071254201150828948723184770845833837547609490391456508269359110924837203568866903901378235897309554576501149652393384730636 28209586898616188483865378192327910021068026459215896578957827988034594553097031443197457569453851446150846027197208510616071988968052403697163635051122540668117745993276247593457167315608373864815208616605808332781573959948738831571488125411401779097502186554102304250313834119666180713261227215332419772544855575719958569725459473176208133369128536692094135541276566932457762558967406314392723097410635823293255862706847389508762748837893769494312719781185779728844231930000285053479811094048993196764540932125589540636687033081637399517931826212954296582349713281569522269153644983311761622020068458174180911067176521166941456157251435897996662511857469132632558088778048680447599116435713693714534626859313818631008185822013385399628609164312948408769135533444308727925967010278232626367372504356881703090368187573502042694194455561820083596671850314762495764632705171529394290270958838139399945750989491985748218340448689599650451917461516302340273564331543140308699287470019221818149398021624491743595461805542717339417842107503411061418639093599913123633254289431417243 45644070410554727019160259687458402725430910993641353400733154843159837321326147247337083537576712308100715332291650776727336636759657054638263993667793025872975154938579094351443205782927889355517109350636081235451581188657944464652268746937530995419338966663971354500174454540686794629543449589443141351390063788438946410838840785132223392695813425622857371230486384815066653090765428980887649554810076350737994856836107587544770715792879965438297273987637815496479710523973651924020763402805847787679298903249930987334179507862668201167405742806475037122242165583189232698348069880664976505075391046644695071687354377943966725705184578132805481333481424326361610886682970008934333478061367700547434041031574724708111897876082458366256583764599970198489960921806981430834190810419622570242405332880619967443880000532483783062074854182753051705349204178603663652530442519230848259794956660476219183635832559083119949249195248370834900754114741713907423635585744291137648010654790067651986945631114883200103731164653642176621410974407312439654536403154489624782906682816147879 73853657309170915503025637879786312746498937452857249979690982831194431874423178690534541107030563754251561359488859287343408625727709458335427628718915566541092900931855341944900373098536263220332317967241889568233155148606683296223756872348932774516841153218073658750488288660352975342804676804775561123934919364158904980564300258308431526064941962314951506771762951747524415649732835295280372652220712174031250719542954977053533464630773734932609993768823595225323942453973936977500574496854840984443839835375520527970866540944305600685337569019429333704591878864758754967501714863976738127095459504818875982754530899110908181862436014030802143845338893458994168975461018689381932594497081394261968667890888543339120083698095843765885192928912918607259096455251290158760157820697855196609777837237501670534248188105985825756269309744573135302021054493366159417163147690760242550065915498615619129386822051068868167589643937970485352671576258016247697199917287431446347298124809289470136343652739374943699192970196359516039253081910723501073175496754402748416160972247565122 119497727719725642522185897567244715471929848446498603380424137674354269195749325937871624644607276062352276691780510064070745262487366512973691622386708592414068055870434436296343578881464152575849427317877970803684736337264627760876025619286463769936180119882045013250662743201039769972348126394218702475324983152597851391403141043440654918760755387937808878002249336562591068740498264276168022207030788524769245576379062564598304180423653700370907267756461410721803652977947588901521337899660688772123138738625451515305046048806973801852743311825904370826834044447947987665849784744641714632170850551463571054441885277054874907567620592163607625178820317785355779862143988698316266072558449094809402708922463268047231981574178302132141776693512888805749057377058271589594348631117477766852183170118121637978128188638469608818344163927326187007370258671969823069693590209991090809860872159091838313022654610151988116838839186341320253425690999730155120835503031722583995308779599357122123289283854258143802924134850001692660664056318035940727711899908892373199067655063713001 193351385028896558025211535447031028218428785899355853360115120505548701070172504628406165751637839816603838051269369351414153888215075971309119251105624158955160956802289778241243951980000415796181745285119860371917891485871311057099782491635396544453021273100118672001151031861392745315152803198994263599259902516756756371967441301749086444825697350252760384774012288310115484390231099571448394859251500698800496295922017541651837645054427435303517261525285005947127595431921525879021912396515529756566978574000972043275912589751279402538080880845333704531425923312706742633351499608618452759266310056282447037196416176165783089430056606194409769024159211244349948837605007387698198667055530489071371376813351811386352065272274145898026969622425807413008153832309561748354506451815332963461961007355623308512376376744455434574613473671899322309391313165335982486856737900751333359926787657707457442409476661220856284428483124311805606097267257746402818035420319154030342606904408646592259632936593633087502117105046361208699917138228759441800887396663295121615228627311278123 312849112748622200547397433014275743690358634345854456740539258179902970265921830566277790396245115878956114743049879415484899150702442484282810873492332751369229012672724214537587530861464568372031172602997831175602627823135938817975808110921860314389201392982163685251813775062432515287500929593212966074584885669354607763370582345189741363586452738190569262776261624872706553130729363847616417066282289223569741872301080106250141825478081135674424529281746416668931248409869114780543250296176218528690117312626423558580958638558253204390824192671238075358259967760654730299201284353260167391437160607746018091638301453220657996997677198358017394202979529029705728699748996086014464739613979583880774085735815079433584046846452448030168746315938696218757211209367833337948855082932810730314144177473744946490504565382925043392957637599225509316761571837305805556550328110742424169787659816799295755432131271372844401267322310653125859522958257476557938870923350876614337915684008003714382922220447891231305041239896362901360581194546795382528599296572187494814296282374991124 506200497777518758572608968461306771908787420245210310100654378685451671336094335194683956147882955695559952794319248766899053038917518455591930124597956910324389969475013992778831482841464984168212917888117691547520519309007249875075590602557256858842222666082282357252964806923825260602653732792207229673844788186111364135338023646938827808412150088443329647550273913182822037520960463419064811925533789922370238168223097647901979470532508570977941790807031422616058843841790640659565162692691748285257095886627395601856871228309532606928905073516571779889685891073361472932552783961878620150703470664028465128834717629386441086427733804552427163227138740274055677537354003473712663406669510072952145462549166890819936112118726593928195715938364503631765365041677395086303361534748143693776105184829368255002880942127380477967571111271124831626152885002641788043407066011493757529714447474506753197841607932593700685695805434964931465620225515222960756906343670030644680522588416650306642555157041524318807158344942724110060498332775554824329486693235482616429524909686269247 819049610526140959120006401475582515599146054591064766841193636865354641602016165760961746544128071574516067537369128182383952189619960939874740998090289661693618982147738207316419013702929552540244090491115522723123147132143188693051398713479117173231424059064446042504778581986257775890154662385420195748429673855465971898708605992128569171998602826633898910326535538055528590651689827266681228991816079145939980040524177754152121296010589706652366320088777839284990092251659755440108412988867966813947213199253819160437829866867785811319729266187809855247945858834016203231754068315138787542140631271774483220473019082607099083425411002910444557430118269303761406237102999559727128146283489656832919548284981970253520158965179041958364462254303199850522576251045228424252216617680954424090249362303113201493385507510305521360528748870350340942914456839947593599957394122236181699502107291306048953273739203966545086963127745618057325143183772699518695777267020907259018438272424654021025477377489415550112199584839087011421079527322350206858085989807670111243821192061260371 1325250108303659717692615369936889287507933474836275076941848015550806312938110500955645702692011027270076020331688376949283005228537479395466671122688246572018008951622752200095250496544394536708457008379233214270643666441150438568126989316036374032073646725146728399757743388910083036492808395177627425422274462041577336034046629639067396980410752915077228557876809451238350628172650290685746040917349869068310218208747275402054100766543098277630308110895809261901048936093450396099673575681559715099204309085881214762294701095177318418248634339704381635137631749907377676164306852277017407692844101935802948349307736711993540169853144807462871720657257009577817083774457003033439791552952999729785065010834148861073456271083905635886560178192667703482287941292722623510555578152429098117866354547132481456496266449637685999328099860141475172569067341842589381643364460133729939229216554765812802151115347136560245772658933180582988790763409287922479452683610690937903698960860841304327668032534530939868919357929781811121481577860097905031187572683043152727673346101747529618 2144299718829800676812621771412471803107079529427339843783041652416160954540126666716607449236139098844592087869057505131666957418157440335341412120778536233711627933770490407411669510247324089248701098870348736993766813573293627261178388029515491205305070784211174442262521970896340812382963057563047621170704135897043307932755235631195966152409355741711127468203344989293879218824340117952427269909165948214250198249271453156206222062553687984282674430984587101186039028345110151539781988670427681913151522285135033922732530962045104229568363605892191490385577608741393879396060920592156195234984733207577431569780755794600639253278555810373316278087375278881578490011560002593166919699236489386617984559119130831326976430049084677844924640446970903332810517543767851934807794770110052541956603909435594657989651957147991520688628609011825513511981798682536975243321854255966120928718662057118851104389086340526790859622060926201046115906593060621998148460877711845162717399133265958348693509912020355419031557514620898132902657387420255238045658672850822838917167293808789989 3469549827133460394505237141349361090615013004263614920724889667966967267478237167672253151928150126114668108200745882080949962646694919730808083243466782805729636885393242607506920006791718625957158107249581951264410480014444065829305377345551865237378717509357902842020265359806423848875771452740675046592978597938620643966801865270263363132820108656788356026080154440532229846996990408638173310826515817282560416458018728558260322829096786261912982541880396363087087964438560547639455564351987397012355831371016248685027232057222422647816997945596573125523209358648771555560367772869173602927828835143380379919088492506594179423131700617836187998744632288459395573786017005626606711252189489116403049569953279692400432701132990313731484818639638606815098458836490475445363372922539150659822958456568076114485918406785677520016728469153300686081049140525126356886686314389696060157935216822931653255504433477087036632280994106784034906670002348544477601144488402783066416359994107262676361542446551295287950915444402709254384235247518160269233231355893975566590513395556319607 5613849545963261071317858912761832893722092533690954764507931320383128222018363834388860601164289224959260196069803387212616920064852360066149495364245319039441264819163733014918589517039042715205859206119930688258177293587737693090483765375067356442683788293569077284282787330702764661258734510303722667763682733835663951899557100901459329285229464398499483494283499429826109065821330526590600580735681765496810614707290181714466544891650474246195656972864983464273126992783670699179237553022415078925507353656151282607759763019267526877385361551488764615908786967390165434956428693461329798162813568350957811488869248301194818676410256428209504276832007567340974063797577008219773630951425978503021034129072410523727409131182074991576409459086609510147908976380258327380171167692649203201779562366003670772475570363933669040705357078165126199593030939207663332130008168645662181086653878880050504359893519817613827491903055032985081022576595409166475749605366114628229133759127373221025055052358571650706982472959023607387286892634938415507278890028744798405507680689365109596 9083399373096721465823096054111193984337105537954569685232820988350095489496601002061113753092439351073928304270549269293566882711547279796957578607712101845170901704556975622425509523830761341163017313369512639522587773602181758919789142720619221680062505802926980126303052690509188510134505963044397714356661331774284595866358966171722692418049573055287839520363653870358338912818320935228773891562197582779371031165308910272726867720747260508108639514745379827360214957222231246818693117374402475937863185027167531292786995076489949525202359497085337741431996326038936990516796466330503401090642403494338191407957740807788998099541957046045692275576639855800369637583594013846380342203615467619424083699025690216127841832315065305307894277726248116963007435216748802825534540615188353861602520822571746886961488770719346560722085547318426885674080079732789689016694483035358241244589095702982157615397953294700864124184049139769115929246597757710953350749854517411295550119121480483701416594805122945994933388403426316641671127882456575776512121384638773972098194084921429203 14697248919059982537140954966873026878059198071645524449740752308733223711514964836449974354256728576033188500340352656506183802776399639863107073971957420884612166523720708637344099040869804056368876519489443327780765067189919452010272908095686578122746294096496057410585840021211953171393240473348120382120344065609948547765916067073182021703279037453787323014647153300184447978639651461819374472297879348276181645872599091987193412612397734754304296487610363291633341950005901945997930670396817554863370538683318813900546758095757476402587721048574102357340783293429102425473225159791833199253455971845296002896826989108983816775952213474255196552408647423141343701381171022066153973155041446122445117828098100739855250963497140296884303736812857627110916411597007130205705708307837557063382083188575417659437059134653015601427442625483553085267111018940453021146702651681020422331242974583032661975291473112314691616087104172754196951823193166877429100355220632039524683878248853704726471647163694596701915861362449924028958020517394991283791011413383572377605874774286538799 23780648292156704002964051020984220862396303609600094134973573297083319201011565838511088107349167927107116804610901925799750685487946919660064652579669522729783068228277684259769608564700565397531893832858955967303352840792101210930062050816305799802808799899423037536888892711721141681527746436392518096477005397384233143632275033244904714121328610509075162535010807170542786891457972397048148363860076931055552677037908002259920280333144995262412936002355743118993556907228133192816623787771220030801233723710486345193333753172247425927790080545659440098772779619468039415990021626122336600344098375339634194304784729916772814875494170520300888827985287278941713338964765035912534315358656913741869201527123790955983092795812205602192198014539105744073923846813755933031240248923025910924984604011147164546398547905372362162149528172801979970941191098673242710163397134716378663575832070286014819590689426407015555740271153312523312881069790924588382451105075149450820233997370334188427888241968817542696849249765876240670629148399851567060303132798022346349704068859207968002 38477897211216686540105005987857247740455501681245618584714325605816542912526530674961062461605896503140305304951254582305934488264346559523171726551626943614395234751998392897113707605570369453900770352348399295084117907982020662940334958911992377925555093995919094947474732732933094852920986909740638478597349462994181691398191100318086735824607647962862485549657960470727234870097623858867522836157956279331734322910507094247113692945542730016717232489966106410626898857234035138814554458168037585664604262393805159093880511268004902330377801594233542456113562912897141841463246785914169799597554347184930197201611719025756631651446383994556085380393934702083057040345936057978688288513698359864314319355221891695838343759309345899076501751351963371184840258410763063236945957230863467988366687199722582205835607040025377763576970798285533056208302117613695731310099786397399085907075044869047481565980899519330247356358257485277509832892984091465811551460295781490344917875619187893154359889132512139398765111128326164699587168917246558344094144211405918727309943633494506801 62258545503373390543069057008841468602851805290845712719687898902899862113538096513472150568955064430247422109562156508105685173752293479183236379131296466344178302980276077156883316170270934851432664185207355262387470748774121873870397009728298177728363893895342132484363625444654236534448733346133156575074354860378414835030466133562991449945936258471937648084668767641270021761555596255915671200018033210387286999948415096507033973278687725279130168492321849529620455764462168331631178245939257616465837986104291504287214264440252328258167882139892982554886342532365181257453268412036506399941652722524564391506396448942529446526940554514856974208379221981024770379310701093891222603872355273606183520882345682651821436555121551501268699765891069115258764105224518996268186206153889378913351291210869746752234154945397739925726498971087513027149493216286938441473496921113777749482907115155062301156670325926345803096629410797800822713962775016054194002565370930941165151872989522081582248131101329682095614360894202405370216317317098125404397277009428265077014012492702474803 100736442714590077083174062996698716343307306972091331304402224508716405026064627188433213030560960933387727414513411090411619662016640038706408105682923409958573537732274470053997023775841304305333434537555754557471588656756142536810731968640290555653918987891261227431838358177587331387369720255873795053671704323372596526428657233881078185770543906434800133634326728111997256631653220114783194036175989489719021322858922190754147666224230455295847400982287955940247354621696203470445732704107295202130442248498096663381094775708257230588545683734126525010999905445262323098916515197950676199539207069709494588708008167968286078178386938509413059588773156683107827419656637151869910892386053633470497840237567574347659780314430897400345201517243032486443604363635282059505132163384752846901717978410592328958069761985423117689303469769373046083357795333900634172783596707511176835389982160024109782722651225445676050452987668283078332546855759107520005554025666712431510069748608709974736608020233841821494379472022528570069803486234344683748491421220834183804323956126196981604 162994988217963467626243120005540184946159112262937044024090123411616267139602723701905363599516025363635149524075567598517304835768933517889644484814219876302751840712550547210880339946112239156766098722763109819859059405530264410681128978368588733382282881786603359916201983622241567921818453602006951628746059183751011361459123367444069635716480164906737781718995495753267278393208816370698865236194022700106308322807337287261181639502918180574977569474609805469867810386158371802076910950046552818596280234602388167668309040148509558846713565874019507565886247977627504356369783609987182599480859792234058980214404616910815524705327493024270033797152378664132597798967338245761133496258408907076681361119913256999481216869552448901613901283134101601702368468859801055773318369538642225815069269621462075710303916930820857615029968740460559110507288550187572614257093628624954584872889275179172083879321551372021853549617079080879155260818534123574199556591037643372675221621598232056318856151335171503589993832916730975440019803551442809152888698230262448881337968618899456407 263731430932553544709417183002238901289466419235028375328492347920332672165667350890338576630076986297022876938588978688928924497785573556596052590497143286261325378444825017264877363721953543462099533260318864377330648062286406947491860947008879289036201869677864587348040341799828899309188173857880746682417763507123607887887780601325147821487024071341537915353322223865264535024862036485482059272370012189825329645666259478015329305727148635870824970456897761410115165007854575272522643654153848020726722483100484831049403815856766789435259249608146032576886153422889827455286298807937858799020066861943553568922412784879101602883714431533683093385925535347240425218623975397631044388644462540547179201357480831347140997183983346301959102800377134088145972832495083115278450532923395072716787248032054404668373678916243975304333438509833605193865083884088206787040690336136131420262871435203281866601972776817697904002604747363957487807674293231094205110616704355804185291370206942031055464171569013325084373304939259545509823289785787492901380119451096632685661924745096438011 426726419150517012335660303007779086235625531497965419352582471331948939305270074592243940229593011660658026462664546287446229333554507074485697075311363162564077219157375564475757703668065782618865631983081974197189707467816671358172989925377468022418484751464467947264242325422070467231006627459887698311163822690874619249346903968769217457203504236248275697072317719618531813418070852856180924508564034889931637968473596765276510945230066816445802539931507566879982975394012947074599554604200400839323002717702872998717712856005276348281972815482165540142772401400517331811656082417925041398500926654177612549136817401789917127589041924557953127183077914011373023017591313643392177884902871447623860562477394088346622214053535795203573004083511235689848341301354884171051768902462037298531856517653516480378677595847064832919363407250294164304372372434275779401297783964761086005135760710382453950481294328189719757552221826444836643068492827354668404667207741999176860512991805174087374320322904184828674367137855990520949843093337230302054268817681359081566999893363995894418 690457850083070557045077486010017987525091950732993794681074819252281611470937425482582516859669997957680903401253524976375153831340080631081749665808506448825402597602200581740635067390019326080965165243400838574520355530103078305664850872386347311454686621142332534612282667221899366540194801317768444993581586197998227137234684570094365278690528307589813612425639943483796348442932889341662983780934047079756967614139856243291840250957215452316627510388405328290098140401867522347122198258354248860049725200803357829767116671862043137717232065090311572719658554823407159266942381225862900197520993516121166118059230186669018730472756356091636220569003449358613448236215289041023222273547333988171039763834874919693763211237519141505532106883888369777994314133849967286330219435385432371248643765685570885047051274763308808223696845760127769498237456318363986188338474300897217425398632145585735817083267105007417661554826573808794130876167120585762609777824446354981045804362012116118429784494473198153758740442795250066459666383123017794955648937132455714252661818109092332429 1117184269233587569380737789017797073760717482230959214033657290584230550776207500074826457089263009618338929863918071263821383164894587705567446741119869611389479816759576146216392771058085108699830797226482812771710062997919749663837840797763815333873171372606800481876524992643969833771201428777656143304745408888872846386581588538863582735894032543838089309497957663102328161861003742197843908289498081969688605582613453008568351196187282268762430050319912895170081115795880469421721752862554649699372727918506230828484829527867319485999204880572477112862430956223924491078598463643787941596021920170298778667196047588458935858061798280649589347752081363369986471253806602684415400158450205435794900326312269008040385425291054936709105110967399605467842655435204851457381988337847469669780500283339087365425728870610373641143060253010421933802609828752639765589636258265658303430534392855968189767564561433197137419107048400253630773944659947940431014445032188354157906317353817290205804104817377382982433107580651240587409509476460248097009917754813814795819661711473088226847 1807642119316658126425815275027815061285809432963953008714732109836512162247144925557408973948933007576019833265171596240196536996234668336649196406928376060214882414361776727957027838448104434780795962469883651346230418528022827969502691670150162645327857993749133016488807659865869200311396230095424588298326995086871073523816273108957948014584560851427902921923597606586124510303936631539506892070432129049445573196753309251860191447144497721079057560708318223460179256197747991768843951120908898559422453119309588658251946199729362623716436945662788685582089511047331650345540844869650841793542913686419944785255277775127954588534554636741225568321084812728599919490021891725438622431997539423965940090147143927734148636528574078214637217851287975245836969569054818743712207773232902041029144049024658250472780145373682449366757098770549703300847285071003751777974732566555520855933025001553925584647828538204555080661874974062424904820827068526193624222856634709138952121715829406324233889311850581136191848023446490653869175859583265891965566691946270510072323529582180559276 2924826388550245695806553064045612135046526915194912222748389400420742713023352425632235431038196017194358763129089667504017920161129256042216643148048245671604362231121352874173420609506189543480626759696366464117940481525942577633340532467913977979201029366355933498365332652509839034082597658873080731603072403975743919910397861647821530750478593395265992231421555269688452672164940373737350800359930211019134178779366762260428542643331779989841487611028231118630260371993628461190565703983463548258795181037815819486736775727596682109715641826235265798444520467271256141424139308513438783389564833856718723452451325363586890446596352917390814916073166176098586390743828494409854022590447744859760840416459412935774534061819629014923742328818687580713679625004259670201094196111080371710809644332363745615898509015984056090509817351780971637103457113823643517367610990832213824286467417857522115352212389971401692499768923374316055678765487016466624638667888823063296858439069646696530037994129227964118624955604097731241278685336043513988975484446760085305891985241055268786123 4732468507866903822232368339073427196332336348158865231463121510257254875270497351189644404987129024770378596394261263744214457157363924378865839554976621731819244645483129602130448447954293978261422722166250115464170900053965405602843224138064140624528887360105066514854140312375708234393993888968505319901399399062614993434214134756779478765063154246693895153345152876274577182468877005276857692430362340068579751976120071512288734090476277710920545171736549342090439628191376452959409655104372446818217634157125408144988721927326044733432078771898054484026609978318587791769680153383089625183107747543138668237706603138714845035130907554132040484394250988827186310233850386135292645022445284283726780506606556863508682698348203093138379546669975555959516594573314488944806403884313273751838788381388403866371289161357738539876574450551521340404304398894647269145585723398769345142400442859076040936860218509606247580430798348378480583586314084992818262890745457772435810560785476102854271883441078545254816803627544221895147861195626779880941051138706355815964308770637449345399 7657294896417149518038921403119039331378863263353777454211510910677997588293849776821879836025325041964737359523350931248232377318493180421082482703024867403423606876604482476303869057460483521742049481862616579582111381579907983236183756605978118603729916726461000013219472964885547268476591547841586051504471803038358913344611996404601009515541747641959887384766708145963029854633817379014208492790292551087713930755486833772717276733808057700762032782764780460720700000185004914149975359087835995077012815194941227631725497654922726843147720598133320282471130445589843933193819461896528408572672581399857391690157928502301735481727260471522855400467417164925772700977678880545146667612893029143487620923065969799283216760167832108062121875488663136673196219577574159145900599995393645462648432713752149482269798177341794630386391802332492977507761512718290786513196714230983169428867860716598156289072608481007940080199721722694536262351801101459442901558634280835732668999855122799384309877570306509373441759231641953136426546531670293869916535585466441121856294011692718131522 12389763404284053340271289742192466527711199611512642685674632420935252463564347128011524241012454066735115955917612194992446834475857104799948322258001489135242851522087612078434317505414777500003472204028866695046282281633873388839026980744042259228258804086566066528073613277261255502870585436810091371405871202100973906778826131161380488280604901888653782538111861022237607037102694384291066185220654891156293682731606905285006010824284335411682577954501329802811139628376381367109385014192208441895230449352066635776714219582248771576579799370031374766497740423908431724963499615279618033755780328942996059927864531641016580516858168025654895884861668153752959011211529266680439312635338313427214401429672526662791899458516035201200501422158638692632712814150888648090707003879706919214487221095140553348641087338699533170262966252884014317912065911612938055658782437629752514571268303575674197225932826990614187660630520071073016845938115186452261164449379738608168479560640598902238581761011385054628258562859186175031574407727297073750857586724172796937820602782330167476921 20047058300701202858310211145311505859090062874866420139886143331613250051858196904833404077037779108699853315440963126240679211794350285221030804961026356538666458398692094554738186562875261021745521685891483274628393663213781372075210737350020377831988720813027066541293086242146802771347176984651677422910343005139332820123438127565981497796146649530613669922878569168200636891736511763305274678010947442244007613487093739057723287558092393112444610737266110263531839628561386281259360373280044436972243264547007863408439717237171498419727519968164695048968870869498275658157319077176146442328452910342853451618022460143318315998585428497177751285329085318678731712189208147225585980248231342570702022352738496462075116218683867309262623297647301829305909033728462807236607603875100564677135653808892702830910885516041327800649358055216507295419827424331228842171979151860735684000136164292272353515005435471622127740830241793767553108289916287911704066008014019443901148560495721701622891638581691564001700322090828128168000954258967367620774122309639238059676896794022885608443 32436821704985256198581500887503972386801262486379062825560775752548502515422544032844928318050233175434969271358575321233126046270207390020979127219027845673909309920779706633172504068290038521748993889920349969674675944847654760914237718094062637060247524899593133069366699519408058274217762421461768794316214207240306726902264258727361986076751551419267452460990430190438243928839206147596340863231602333400301296218700644342729298382376728524127188691767440066342979256937767648368745387472252878867473713899074499185153936819420269996307319338196069815466611293406707383120818692455764476084233239285849511545886991784334896515443596522832647170190753472431690723400737413906025292883569655997916423782411023124867015677199902510463124719805940521938621847879351455327314607754807483891622874904033256179551972854740860970912324308100521613331893335944166897830761589490488198571404467867946550740938262462236315401460761864840569954228031474363965230457393758052069628121136320603861473399593076618629958884950014303199575361986264441371631709033812034997497499576353053085364 52483880005686459056891712032815478245891325361245482965446919084161752567280740937678332395088012284134822586799538447473805258064557675242009932180054202212575768319471801187910690631165299543494515575811833244303069608061436132989448455444083014892236245712620199610659785761554861045564939406113446217226557212379639547025702386293343483872898200949881122383868999358638880820575717910901615541242549775644308909705794383400452585940469121636571799429033550329874818885499153929628105760752297315839716978446082362593593654056591768416034839306360764864435482162904983041278137769631910918412686149628702963163909451927653212514029025020010398455519838791110422435589945561131611273131800998568618446135149519586942131895883769819725748017453242351244530881607814262563922211629908048568758528712925959010462858370782188771561682363317028908751720760275395740002740741351223882571540632160218904255943697933858443142291003658608123062517947762275669296465407777495970776681632042305484365038174768182631659207040842431367576316245231808992405831343451273057174396370375938693807 84920701710671715255473212920319450632692587847624545791007694836710255082703284970523260713138245459569791858158113768706931304334765065262989059399082047886485078240251507821083194699455338065243509465732183213977745552909090893903686173538145651952483770612213332680026485280962919319782701827575215011542771419619946273927966645020705469949649752369148574844859429549077124749414924058497956404474152109044610205924495027743181884322845850160698988120800990396217798142436921577996851148224550194707190692345156861778747590876012038412342158644556834679902093456311690424398956462087675394496919388914552474709796443711988109029472621542843045625710592263542113158990682975037636566015370654566534869917560542711809147573083672330188872737259182873183152729487165717891236819384715532460381403616959215190014831225523049742474006671417550522083614096219562637833502330841712081142945100028165454996881960396094758543751765523448693016745979236639634526922801535548040404802768362909345838437767844801261618091990856734567151678231496250364037540377263308054671895946728991779171 137404581716358174312364924953134928878583913208870028756454613920872007649984025908201593108226257743704614444957652216180736562399322740504998991579136250099060846559723309008993885330620637608738025041544016458280815160970527026893134628982228666844720016324833532290686271042517780365347641233688661228769328631999585820953669031314048953822547953319029697228728428907716005569990641969399571945716701884688919115630289411143634470263314971797270787549834540726092617027936075507624956908976847510546907670791239224372341244932603806828376997950917599544337575619216673465677094231719586312909605538543255437873705895639641321543501646562853444081230431054652535594580628536169247839147171653135153316052710062298751279468967442149914620754712425224427683611094979980455159031014623581029139932329885174200477689596305238514035689034734579430835334856494958377836243072192935963714485732188384359252825658329953201686042769182056816079263926998915303823388209313044011181484400405214830203475942612983893277299031699165934727994476728059356443371720714581111846292317104930472978 222325283427029889567838137873454379511276501056494574547462308757582262732687310878724853821364503203274406303115765984887667866734087805767988050978218297985545924799974816830077080030075975673981534507276199672258560713879617920796820802520374318797203786937046864970712756323480699685130343061263876240312100051619532094881635676334754423772197705688178272073587858456793130319405566027897528350190853993733529321554784438886816354586160821957969775670635531122310415170372997085621808057201397705254098363136396086151088835808615845240719156595474434224239669075528363890076050693807261707406524927457807912583502339351629430572974268105696489706941023318194648753571311511206884405162542307701688185970270605010560427042051114480103493491971608097610836340582145698346395850399339113489521335946844389390492520821828288256509695706152129952918948952714521015669745403034648044857430832216549814249707618726047960229794534705505509096009906235554938350311010848592051586287168768124176041913710457785154895391022555900501879672708224309720480912097977889166518188263833922252149 359729865143388063880203062826589308389860414265364603303916922678454270382671336786926446929590760946979020748073418201068404429133410546272987042557354548084606771359698125839070965360696613282719559548820216130539375874850144947689955431502602985641923803261880397261399027365998480050477984294952537469081428683619117915835304707648803377594745659007207969302316287364509135889396207997297100295907555878422448437185073850030450824849475793755240563220470071848403032198309072593246764966178245215801006033927635310523430080741219652069096154546392033768577244694745037355753144925526848020316130466001063350457208234991270752116475914668549933788171454372847184348151940047376132244309713960836841502022980667309311706511018556630018114246684033322038519951677125678801554881413962694518661268276729563590970210418133526770545384740886709383754283809209479393505988475227584008571916564404934173502533277056001161915837303887562325175273833234470242173699220161636062767771569173339006245389653070769048172690054255066436607667184952369076924283818692470278364480580938852725127 582055148570417953448041200700043687901136915321859177851379231436036533115358647665651300750955264150253427051189184185956072295867498352040975093535572846070152696159672942669148045390772588956701094056096415802797936588729762868486776234022977304439127590198927262232111783689479179735608327356216413709393528735238650010716940383983557801366943364695386241375904145821302266208801774025194628646098409872155977758739858288917267179435636615713210338891105602970713447368682069678868573023379642921055104397064031396674518916549835497309815311141866467992816913770273401245829195619334109727722655393458871263040710574342900182689450182774246423495112477691041833101723251558583016649472256268538529687993251272319872133553069671110121607738655641419649356292259271377147950731813301808008182604223573952981462731239961815027055080447038839336673232761924000409175733878262232053429347396621483987752240895782049122145631838593067834271283739470025180524010231010228114354058737941463182287303363528554203068081076810966938487339893176678797405195916670359444882668844772774977276 941785013713806017328244263526632996290997329587223781155296154114490803498029984452577747680546025097232447799262602387024476725000908898313962136092927394154759467519371068508219010751469202239420653604916631933337312463579907816176731665525580290081051393460807659493510811055477659786086311651168951178474957418857767926552245091632361178961689023702594210678220433185811402098197982022491728942005965750578426195924932138947718004285112409468450902111575674819116479566991142272115337989557888136856110430991666707197948997291055149378911465688258501761394158465018438601582340544860957748038785859459934613497918809334170934805926097442796357283283932063889017449875191605959148893781970229375371190016231939629183840064088227740139721985339674741687876243936397055949505613227264502526843872500303516572432941658095341797600465187925548720427516571133479802681722353489816062001263961026418161254774172838050284061469142480630159446557572704495422697709451171864177121830307114802188532693016599323251240771131066033375095007078129047874329479735362829723247149425711627702403 1523840162284223970776285464226676684192134244909082959006675385550527336613388632118229048431501289247485874850451786572980549020868407250354937229628500240224912163679044011177367056142241791196121747661013047736135249052309670684663507899548557594520178983659734921725622594744956839521694639007385364887868486154096417937269185475615918980328632388397980452054124579007113668306999756047686357588104375622734403954664790427864985183720749025181661241002681277789829926935673211950983911012937531057911214828055698103872467913840890646688726776830124969754211072235291839847411536164195067475761441252918805876538629383677071117495376280217042780778396409754930850551598443164542165543254226497913900878009483211949055973617157898850261329723995316161337232536195668433097456345040566310535026476723877469553895672898057156824655545634964388057100749333057480211857456231752048115430611357647902149007015068620099406207100981073697993717841312174520603221719682182092291475889045056265370819996380127877454308852207877000313582346971305726671734675652033189168129818270484402679679 2465625175998029988104529727753309680483131574496306740161971539665018140111418616570806796112047314344718322649714388960005025745869316148668899365721427634379671631198415079685586066893710993435542401265929679669472561515889578500840239565074137884601230377120542581219133405800434499307780950658554316066343443572954185863821430567248280159290321412100574662732345012192925070405197738070178086530110341373312830150589722566812703188005861434650112143114256952608946406502664354223099249002495419194767325259047364811070416911131945796067638242518383471515605230700310278448993876709056025223800227112378740490036548193011242052301302377659839138061680341818819868001473634770501314437036196727289272068025715151578239813681246126590401051709334990903025108780132065489046961958267830813061870349224180986126328614556152498622256010822889936777528265904190960014539178585241864177431875318674320310261789241458149690268570123554328153164398884879016025919429133353956468597719352171067559352689396727200705549623338943033688677354049434774546064155387396018891376967696196030382082 3989465338282253958880815191979986364675265819405389699168646925215545476724807248689035844543548603592204197500166175532985574766737723399023836595349927874604583794877459090862953123035952784631664148926942727405607810568199249185503747464622695479121409360780277502944756000545391338829475589665939680954211929727050603801090616042864199139618953800498555114786469591200038738712197494117864444118214716996047234105254512994677688371726610459831773384116938230398776333438337566174083160015432950252678540087103062914942884824972836442756365019348508441269816302935602118296405412873251092699561668365297546366575177576688313169796678657876881918840076751573750718553072077935043479980290423225203172946035198363527295787298404025440662381433330307064362341316327733922144418303308397123596896825948058455680224287454209655446911556457854324834629015237248440226396634816993912292862486676322222459268804310078249096475671104628026146882240197053536629141148815536048760073608397227332930172685776855078159858475546820034002259701020740501217798831039429208059506785966680433061761 6455090514280283946985344919733296045158397393901696439330618464880563616836225865259842640655595917936922520149880564492990600512607039547692735961071355508984255426075874170548539189929663778067206550192872407075080372084088827686343987029696833363722639737900820084163889406345825838137256540324493997020555373300004789664912046610112479298909275212599129777518814603392963809117395232188042530648325058369360064255844235561490391559732471894481885527231195183007722739941001920397182409017928369447445865346150427726013301736104782238824003261866891912785421533635912396745399289582307117923361895477676286856611725769699555222097981035536721056901757093392570586554545712705544794417326619952492445014060913515105535600979650152031063433142665297967387450096459799411191380261576227936658767175172239441806552902010362154069167567280744261612157281141439400240935813402235776470294361994996542769530593551536398786744241228182354300046639081932552655060577948890005228671327749398400489525375173582278865408098885763067690937055070175275763862986426825226950883753662876463443843 10444555852562537905866160111713282409833663213307086138499265390096109093561033113948878485199144521529126717650046740025976175279344762946716572556421283383588839220953333261411492312965616562698870699119815134480688182652288076871847734494319528842844049098681097587108645406891217176966732129990433677974767303027055393466002662652976678438528229013097684892305284194593002547829592726305906974766539775365407298361098748556168079931459082354313658911348133413406499073379339486571265569033361319700124405433253490640956186561077618681580368281215400354055237836571514515041804702455558210622923563842973833223186903346387868391894659693413602975741833844966321305107617790640588274397617043177695617960096111878632831388278054177471725814575995605031749791412787533333335798564884625060255664001120297897486777189464571809516079123738598586446786296378687840467332448219229688763156848671318765228799397861614647883219912332810380446928879278986089284201726764426053988744936146625733419698060950437357025266574432583101693196756090915776981661817466254435010390539629556896505604 16899646366842821852851505031446578454992060607208782577829883854976672710397258979208721125854740439466049237799927304518966775791951802494409308517492638892573094647029207431960031502895280340766077249312687541555768554736376904558191721524016362206566688836581917671272534813237043015103988670314927674995322676327060183130914709263089157737437504225696814669824098797985966356946987958493949505414864833734767362616942984117658471491191554248795544438579328596414221813320341406968447978051289689147570270779403918366969488297182400920404371543082292266840659370207426911787203992037865328546285459320650120079798629116087423613992640728950324032643590938358891891662163503346133068814943663130188062974157025393738366989257704329502789247718660902999137241509247332744527178826460852996914431176292537339293330091474933963585246691019342848058943577520127240708268261621465465233451210666315307998329991413151046669964153560992734746975518360918641939262304713316059217416263896024133909223436124019635890674673318346169384133811161091052745524803893079661961274293292433359949447 27344202219405359758717665143159860864825723820515868716329149245072781803958292093157599611053884960995175955449974044544942951071296565441125881073913922276161933867982540693371523815860896903464947948432502676036456737388664981430039456018335891049410737935263015258381180220128260192070720800305361352970089979354115576596917371916065836175965733238794499562129382992578968904776580684799856480181404609100174660978041732673826551422650636603109203349927462009820720886699680893539713547084651008847694676212657409007925674858260019601984739824297692620895897206778941426829008694493423539169209023163623953302985532462475292005887300422363927008385424783325213196769781293986721343212560706307883680934253137272371198377535758506974515062294656508030887032922034866077862977391345478057170095177412835236780107280939505773101325814757941434505729873898815081175600709840695153996608059337634073227129389274765694553184065893803115193904397639904731223464031477742113206161200042649867328921497074456992915941247750929271077330567252006829727186621359334096971664832921990256455051 44243848586248181611569170174606439319817784427724651294159033100049454514355551072366320736908625400461225193249901349063909726863248367935535189591406561168735028515011748125331555318756177244231025197745190217592225292125041885988231177542352253255977426771844932929653715033365303207174709470620289027965412655681175759727832081179154993913403237464491314231953481790564935261723568643293805985596269442834942023594984716791485022913842190851904747788506790606234942700020022300508161525135940697995264946992061327374895163155442420522389111367379984887736556576986368338616212686531288867715494482484274073382784161578562715619879941151314251041029015721684105088431944797332854412027504369438071743908410162666109565366793462836477304310013317411030024274431282198822390156217806331054084526353705372576073437372414439736686572505777284282564673451418942321883868971462160619230059270003949381225459380687916741223148219454795849940879916000823373162726336191058172423577463938674001238144933198476628806615921069275440461464378413097882472711425252413758932939126214423616404498 71588050805653541370286835317766300184643508248240520010488182345122236318313843165523920347962510361456401148699875393608852677934544933376661070665320483444896962382994288818703079134617074147695973146177692893628682029513706867418270633560688144305388164707107948188034895253493563399245430270925650380935502635035291336324749453095220830089368970703285813794082864783143904166500149328093662465777674051935116684573026449465311574336492827455013951138434252616055663586719703194047875072220591706842959623204718736382820838013702440124373851191677677508632453783765309765445221381024712406884703505647898026685769694041038007625767241573678178049414440505009318285201726091319575755240065075745955424842663299938480763744329221343451819372307973919060911307353317064900253133609151809111254621531118207812853544653353945509787898320535225717070403325317757403059469681302855773226667329341583454452588769962682435776332285348598965134784313640728104386190367668800285629738663981323868567066430272933621722557168820204711538794945665104712199898046611747855904603959136413872859549 115831899391901722981856005492372739504461292675965171304647215445171690832669394237890241084871135761917626341949776742672762404797793301312196260256727044613631990898006036944034634453373251391926998343922883111220907321638748753406501811103040397561365591478952881117688610286858866606420139741545939408900915290716467096052581534274375824002772208167777128026036346573708839428223717971387468451373943494770058708168011166256796597250335018306918698926941043222290606286739725494556036597356532404838224570196780063757716001169144860646762962559057662396369010360751678104061434067556001274600197988132172100068553855619600723245647182724992429090443456226693423373633670888652430167267569445184027168751073462604590329111122684179929123682321291330090935581784599263722643289826958140165339147884823580388926982025768385246474470826312509999635076776736699724943338652765016392456726599345532835678048150650599176999480504803394815075664229641551477548916703859858458053316127919997869805211363471410250529173089889480152000259324078202594672609471864161614837543085350837489264047 187419950197555264352142840810139039689104800924205691315135397790293927150983237403414161432833646123374027490649652136281615082732338234688857330922047528058528953281000325762737713587990325539622971490100576004849589351152455620824772444663728541866753756186060829305723505540352430005665570012471589789836417925751758432377330987369596654092141178871062941820119211356852743594723867299481130917151617546705175392741037615722108171586827845761932650065375295838346269873459428688603911669577124111681184193401498800140536839182847300771136813750735339905001464144516987869506655448580713681484901493780070126754323549660638730871414424298670607139857896731702741658835396979972005922507634520929982593593736762543071092855451905523380943054629265249151846889137916328622896423436109949276593769415941788201780526679122330756262369146847735716705480102054457128002808334067872165683393928687116290130636920613281612775812790151993780210448543282279581935107071528658743683054791901321738372277793744343872251730258709684863539054269743307306872507518475909470742147044487251362123596 303251849589456987333998846302511779193566093600170862619782613235465617983652631641304402517704781885291653832599428878954377487530131536001053591178774572672160944179006362706772348041363576931549969834023459116070496672791204374231274255766768939428119347665013710423412115827211296612085709754017529198737333216468225528429912521643972478094913387038840069846155557930561583022947585270868599368525561041475234100909048781978904768837162864068851348992316339060636876160199154183159948266933656516519408763598278863898252840351992161417899776309793002301370474505268665973568089516136714956085099481912242226822877405280239454117061607023663036230301352958396165032469067868624436089775203966114009762344810225147661421966574589703310066736950556579242782470922515592345539713263068089441932917300765368590707508704890716002736839973160245716340556878791156852946146986832888558140120528032649125808685071263880789775293294955388595286112772923831059484023775388517201736370919821319608177489157215754122780903348599165015539313593821509901545116990340071085579690129838088851387643 490671799787012251686141687112650818882670894524376553934918011025759545134635869044718563950538428008665681323249081015235992570262469770689910922100822100730689897460006688469510061629353902471172941324124035120920086023943659995056046700430497481294873103851074539729135621367563726617751279766489118988573751142219983960807243509013569132187054565909903011666274769287414326617671452570349730285677178588180409493650086397701012940423990709830783999057691634898983146033658582871763859936510780628200592956999777664038789679534839462189036590060528342206371938649785653843074744964717428637570000975692312353577200954940878184988476031322333643370159249690098906691304464848596442012282838487043992355938546987690732514822026495226691009791579821828394629360060431920968436136699178038718526686716707156792488035384013046758999209120007981433046036980845613980948955320900760723823514456719765415939321991877162402551106085107382375496561316206110641419130846917175945419425711722641346549766950960097995032633607308849879078367863564817208417624508815980556321837174325340213511239 793923649376469239020140533415162598076236988124547416554700624261225163118288500686022966468243209893957335155848509894190370057792601306690964513279596673402850841639013051176282409670717479402722911158147494236990582696734864369287320956197266420722992451516088250152547737194775023229836989520506648187311084358688209489237156030657541610281967952948743081512430327217975909640619037841218329654202739629655643594559135179679917709261153573899635348050007973959620022193857737054923808203444437144720001720598056527937042519886831623606936366370321344507742413155054319816642834480854143593655100457604554580400078360221117639105537638345996679600460602648495071723773532717220878102058042453158002118283357212838393936788601084930001076528530378407637411830982947513313975849962246128160459604017472525383195544088903762761736049093168227149386593859636770833895102307733649281963634984752414541748007063141043192326399380062770970782674089129941700903154622305693147155796631543960954727256108175852117813536955908014894617681457386327109962741499156051641901527304163429064898882 1284595449163481490706282220527813416958907882648923970489618635286984708252924369730741530418781637902623016479097590909426362628055071077380875435380418774133540739099019739645792471300071381873895852482271529357910668720678524364343367656627763902017865555367162789881683358562338749847588269286995767175884835500908193450044399539671110742469022518858646093178705096505390236258290490411568059939879918217836053088209221577380930649685144283730419347107699608858603168227516319926687668139955217772920594677597834191975832199421671085795972956430849686714114351804839973659717579445571572231225101433296866933977279315161995824094013669668330322970619852338593978415077997565817320114340880940201994474221904200529126451610627580156692086320110200236032041191043379434282411986661424166878986290734179682175683579472916809520735258213176208582432630840482384814844057628634410005787149441472179957687329055018205594877505465170153346279235405336052342322285469222869092575222343266602301277023059135950112846170563216864773696049320951144318380366007972032198223364478488769278410121 2078519098539950729726422753942976015035144870773471387044319259548209871371212870416764496887024847796580351634946100803616732685847672384071839948660015447536391580738032790822074880970788861276618763640419023594901251417413388733630688612825030322740858006883251040034231095757113773077425258807502415363195919859596402939281555570328652352750990471807389174691135423723366145898909528252786389594082657847491696682768356757060848358946297857630054695157707582818223190421374056981611476343399654917640596398195890719912874719308502709402909322801171031221856764959894293476360413926425715824880201890901421514377357675383113463199551308014327002571080454987089050138851530283038198216398923393359996592505261413367520388399228665086693162848640578643669453022026326947596387836623670295039445894751652207558879123561820572282471307306344435731819224700119155648739159936368059287750784426224594499435336118159248787203904845232924317061909494465994043225440091528562239731018974810563256004279167311802230659707519124879668313730778337471428343107507128083840124891782652198343309003 3363114547703432220432704974470789431994052753422395357533937894835194579624137240147506027305806485699203368114043691713043095313902743461452715384040434221669932319837052530467867352270860243150514616122690552952811920138091913097974056269452794224758723562250413829915914454319452522925013528094498182539080755360504596389325955109999763095220012990666035267869840520228756382157200018664354449533962576065327749770977578334441779008631442141360474042265407191676826358648890376908299144483354872690561191075793724911888706918730173795198882279232020717935971116764734267136077993371997288056105303324198288448354636990545109287293564977682657325541700307325683028553929527848855518330739804333561991066727165613896646840009856245243385249168750778879701494213069706381878799823285094461918432185485831889734562703034737381803206565519520644314251855540601540463583217565002469293537933867696774457122665173177454382081410310403077663341144899802046385547725560751431332306241318077165557281302226447752343505878082341744442009780099288615746723473515100116038348256261140967621719124 5441633646243382950159127728413765447029197624195866744578257154383404450995350110564270524192831333495783719748989792516659827999750415845524555332700449669206323900575085321289942233241649104427133379763109576547713171555505301831604744882277824547499581569133664869950145550076566296002438786902000597902276675220100999328607510680328415447971003462473424442560975943952122528056109546917140839128045233912819446453745935091502627367577739998990528737423114774495049549070264433889910620826754527608201787473989615631801581638038676504601791602033191749157827881724628560612438407298423003880985505215099709962731994665928222750493116285696984328112780762312772078692781058131893716547138727726921987659232427027264167228409084910330078412017391357523370947235096033329475187659908764756957878080237484097293441826596557954085677872825865080046071080240720696112322377501370528581288718293921368956558001291336703169285315155636001980403054394268040428773165652279993572037260292887728813285581393759554574165585601466624110323510877626087175066581022228199878473148043793165965028127 8804748193946815170591832702884554879023250377618262102112195049218599030619487350711776551498637819194987087863033484229702923313653159306977270716740883890876256220412137851757809585512509347577647995885800129500525091693597214929578801151730618772258305131384078699866060004396018818927452314996498780441357430580605595717933465790328178543191016453139459710430816464180878910213309565581495288662007809978147196224723513425944406376209182140351002779688521966171875907719154810798209765310109400298762978549783340543690288556768850299800673881265212467093798998489362827748516400670420291937090808539297998411086631656473332037786681263379641653654481069638455107246710585980749234877878532060483978725959592641160814068418941155573463661186142136403072441448165739711353987483193859218876310265723315987028004529631295335888884438345385724360322935781322236575905595066372997874826652161618143413680666464514157551366725466039079643744199294070086814320891213031424904343501610964894370566883620207306917671463683808368552333290976914702921790054537328315916821404304934133586747251 14246381840190198120750960431298320326052448001814128846690452203602003481614837461276047075691469152690770807612023276746362751313403575152501826049441333560082580120987223173047751818754158452004781375648909706048238263249102516761183546034008443319757886700517743569816205554472585114929891101898499378343634105800706595046540976470656593991162019915612884152991792408133001438269419112498636127790053043890966642678469448517447033743786922139341531517111636740666925456789419244688120386136863927906964766023772956175491870194807526804402465483298404216251626880213991388360954807968843295818076313754397708373818626322401554788279797549076625981767261831951227185939491644112642951425017259787405966385192019668424981296828026065903542073203533493926443388683261773040829175143102623975834188345960800084321446356227853289974562311171250804406394016022042932688227972567743526456115370455539512370238667755850860720652040621675081624147253688338127243094056865311418476380761903852623183852465013966861491837049285274992662656801854540790096856635559556515795294552348727299551775378 23051130034137013291342793134182875205075698379432390948802647252820602512234324811987823627190106971885757895475056760976065674627056734459479096766182217450958836341399361024805561404266667799582429371534709835548763354942699731690762347185739062092016191831901822269682265558868603933857343416894998158784991536381312190764474442260984772534353036368752343863422608872313880348482728678080131416452060853869113838903192961943391440119996104279692534296800158706838801364508574055486330151446973328205727744573556296719182158751576377104203139364563616683345425878703354216109471208639263587755167122293695706784905257978874886826066478812456267635421742901589682293186202230093392186302895791847889945111151612309585795365246967221477005734389675630329515830131427512752183162626296483194710498611684116071349450885859148625863446749516636528766716951803365169264133567634116524330942022617157655783919334220365018272018766087714161267891452982408214057414948078342843380724263514817517554419348634174168409508512969083361214990092831455493018646690096884831712115956653661433138522629 37297511874327211412093753565481195531128146381246519795493099456422605993849162273263870702881576124576528703087080037722428425940460309611980922815623551011041416462386584197853313223020826251587210747183619541597001618191802248451945893219747505411774078532419565839498471113341189048787234518793497537128625642182018785811015418731641366525515056284365228016414401280446881786752147790578767544242113897760080481581662410460838473863783026419034065813911795447505726821297993300174450537583837256112692510597329252894674028946383903908605604847862020899597052758917345604470426016608106883573243436048093415158723884301276441614346276361532893617189004733540909479125693874206035137727913051635295911496343631978010776662074993287380547807593209124255959218814689285793012337769399107170544686957644916155670897242087001915838009060687887333173110967825408101952361540201860050787057393072697168154158001976215878992670806709389242892038706670746341300509004943654261857105025418670140738271813648141029901345562254358353877646894685996283115503325656441347507410509002388732690298007 60348641908464224703436546699664070736203844760678910744295746709243208506083487085251694330071683096462286598562136798698494100567517044071460019581805768462000252803785945222658874627287494051169640118718329377145764973134501980142708240405486567503790270364321388109180736672209792982644577935688495695913617178563330976575489860992626139059868092653117571879837010152760762135234876468658898960694174751629194320484855372404229913983779130698726600110711954154344528185806567355660780689030810584318420255170885549613856187697960281012808744212425637582942478637620699820579897225247370471328410558341789121943629142280151328440412755173989161252610747635130591772311896104299427324030808843483185856607495244287596572027321960508857553541982884754585475048946116798545195500395695590365255185569329032227020348127946150541701455810204523861939827919628773271216495107835976575117999415689854823938077336196580897264689572797103404159930159653154555357923953021997105237829288933487658292691162282315198310854075223441715092636987517451776134150015753326179219526465656050165828820636 97646153782791436115530300265145266267331991141925430539788846165665814499932649358515565032953259221038815301649216836420922526507977353683440942397429319473041669266172529420512187850308320302756850865901948918742766591326304228594654133625234072915564348896740953948679207785550982031431812454481993233042242820745349762386505279724267505585383148937482799896251411433207643921987024259237666504936288649389274802066517782865068387847562157117760665924623749601850255007104560655835231226614647840431112765768214802508530216644344184921414349060287658482539531396538045425050323241855477354901653994389882537102353026581427770054759031535522054869799752368671501251437589978505462461758721895118481768103838876265607348689396953796238101349576093878841434267760806084338207838165094697535799872526973948382691245370033152457539464870892411195112938887454181373168856648037836625905056808762551992092235338172796776257360379506492647051968866323900896658432957965651367094934314352157799030962975930456228212199637477800068970283882203448059249653341409767526726936974658438898519118643 157994795691255660818966846964809337003535835902604341284084592874909023006016136443767259363024942317501101900211353635119416627075494397754900961979235087935041922069958474643171062477595814353926490984620278295888531564460806208737362374030720640419354619261062342057859944457760775014076390390170488928955859999308680738961995140716893644645251241590600371776088421585968406057221900727896565465630463401018469122551373155269298301831341287816487266035335703756194783192911128011496011915645458424749533020939100352122386404342304465934223093272713296065482010034158745245630220467102847826230064552731671659045982168861579098495171786709511216122410500003802093023749486082804889785789530738601667624711334120553203920716718914305095654891558978633426909316706922882883403338560790287901055058096302980609711593497979302999240920681096935057052766807082954644385351755873813201023056224452406816030312674369377673522049952303596051211899025977055452016356910987648472332763603285645457323654138212771426523053712701241784062920869720899835383803357163093705946463440314489064347939279 255640949474047096934497147229954603270867827044529771823873439040574837505948785802282824395978201538539917201860570471540339153583471751438341904376664407408083591336131004063683250327904134656683341850522227214631298155787110437332016507655954713334918968157803296006539152243311757045508202844652482161998102820054030501348500420441161150230634390528083171672339833019176049979208924987134231970566752050407743924617890938134366689678903444934247931959959453358045038200015688667331243142260106265180645786707315154630916620986648650855637442333000954548021541430696790670680543708958325181131718547121554196148335195443006868549930818245033270992210252372473594275187076061310352247548252633720149392815172996818811269406115868101333756241135072512268343584467728967221611176725884985436854930623276928992402838868012455456780385551989346252165705694537136017554208403911649826928113033214958808122548012542174449779410331810088698263867892300956348674789868953299839427697917637803256354617114143227654735253350179041853033204751924347894633456698572861232673400414972927962867057922 413635745165302757753463994194763940274403662947134113107958031915483860511964922246050083759003143856041019102071924106659755780658966149193242866355899495343125513406089478706854312805499949010609832835142505510519829720247916646069378881686675353754273587418865638064399096701072532059584593234822971090953962819362711240310495561158054794875885632118683543448428254605144456036430825715030797436197215451426213047169264093403664991510244732750735197995295157114239821392926816678827255057905564689930178807646415506753303025328953116789860535605714250613503551464855535916310764176061173007361783099853225855194317364304585967045102604954544487114620752376275687298936562144115242033337783372321817017526507117372015190122834782406429411132694051145695252901174651850105014515286675273337909988719579909602114432365991758456021306233086281309218472501620090661939560159785463027951169257667365624152860686911552123301460284113684749475766918278011800691146779940948311760461520923448713678271252355999081258307062880283637096125621645247730017260055735954938619863855287417027214997201 669276694639349854687961141424718543545271489991663884931831470956058698017913708048332908154981345394580936303932494578200094934242437900631584770732563902751209104742220482770537563133404083667293174685664732725151127876035027083401395389342630067089192555576668934070938248944384289105092796079475453252952065639416741741658995981599215945106520022646766715120768087624320506015639750702165029406763967501833956971787155031538031681189148177684983129955254610472284859592942505346158498200165670955110824594353730661384219646315601767645497977938715205161525092895552326586991307885019498188493501646974780051342652559747592835595033423199577758106831004748749281574123638205425594280886036006041966410341680114190826459528950650507763167373829123657963596485642380817326625692012560258774764919342856838594517271234004213912801691785075627561384178196157226679493768563697112854879282290882324432275408699453726573080870615923773447739634810578968149365936648894248151188159438561251970032888366499226735993560413059325490129330373569595624650716754308816171293264270260344990082055123 1082912439804652612441425135619482483819675152938797998039789502871542558529878630294382991913984489250621955406004418684859850714901404049824827637088463398094334618148309961477391875938904032677903007520807238235670957596282943729470774271029305420843466142995534572135337345645456821164677389314298424343906028458779452981969491542757270739982405654765450258569196342229464962052070576417195826842961182953260170018956419124941696672699392910435718327950549767586524680985869322024985753258071235645041003402000146168137522671644554884435358513544429455775028644360407862503302072061080671195855284746828005906536969924052178802640136028154122245221451757125024968873060200349540836314223819378363783427868187231562841649651785432914192578506523174803658849386817032667431640207299235532112674908062436748196631703599995972368822998018161908870602650697777317341433328723482575882830451548549690056428269386365278696382330900037458197215401728856979950057083428835196462948620959484700683711159618855225817251867475939609127225455995214843354667976810044771109913128125547762017297052324 1752189134444002467129386277044201027364946642930461882971620973827601256547792338342715900068965834645202891709936913263059945649143841950456412407821027300845543722890530444247929439072308116345196182206471970960822085472317970812872169660371935487932658698572203506206275594589841110269770185393773877596858094098196194723628487524356486685088925677412216973689964429853785468067710327119360856249725150455094126990743574156479728353888541088120701457905804378058809540578811827371144251458236906600151827996353876829521742317960156652080856491483144660936553737255960189090293379946100169384348786393802785957879622483799771638235169451353700003328282761873774250447183838554966430595109855384405749838209867345753668109180736083421955745880352298461622445872459413484758265899311795790887439827405293586791148974834000186281624689803237536431986828893934544020927097287179688737709733839432014488703678085819005269463201515961231644955036539435948099423020077729444614136780398045952653744047985354452553245427888998934617354786368784438979318693564353587281206392395808107007379107447 2835101574248655079570811412663683511184621795869259881011410476699143815077670968637098891982950323895824847115941331947919796364045246000281240044909490698939878341038840405725321315011212149023099189727279209196493043068600914542342943931401240908776124841567738078341612940235297931434447574708072301940764122556975647705597979067113757425071331332177667232259160772083250430119780903536556683092686333408354297009699993281421425026587933998556419785856354145645334221564681149396130004716308142245192831398354022997659264989604711536516215005027574116711582381616368051593595452007180840580204071140630791864416592407851950440875305479507822248549734518998799219320244038904507266909333674762769533266078054577316509758832521516336148324386875473265281295259276446152189906106611031323000114735467730334987780678433996158650447687821399445302589479591711861362360426010662264620540185387981704545131947472184283965845532415998689842170438268292928049480103506564641077085401357530653337455207604209678370497295364938543744580242363999282333986670374398358391119520521355869024676159771 4587290708692657546700197689707884538549568438799721763983031450526745071625463306979814792051916158541027738825878245210979742013189087950737652452730517999785422063929370849973250754083520265368295371933751180157315128540918885355215113591773176396708783540139941584547888534825139041704217760101846179537622216655171842429226466591470244110160257009589884205949125201937035898187491230655917539342411483863448424000443567437901153380476475086677121243762158523704143762143492976767274256174545048845344659394707899827181007307564868188597071496510718777648136118872328240683888831953281009964552857534433577822296214891651722079110474930861522251878017280872573469767427877459473697504443530147175283104287921923070177868013257599758104070267227771726903741131735859636948172005922827113887554562873023921778929653267996344932072377624636981734576308485646405383287523297841953358249919227413719033835625558003289235308733931959921487125474807728876148903123584294085691222181755576605991199255589564130923742723253937478361935028732783721313305363938751945672325912917163976032055267218 7422392282941312626271009102371568049734190234668981644994441927225888886703134275616913684034866482436852585941819577158899538377234333951018892497640008698725300404968211255698572069094732414391394561661030389353808171609519799897558057523174417305484908381707679662889501475060436973138665334809918481478386339212147490134824445658584001535231588341767551438208285974020286328307272134192474222435097817271802721010143560719322578407064409085233541029618512669349477983708174126163404260890853191090537490793061922824840272297169579725113286501538292894359718500488696292277484283960461850544756928675064369686712807299503672519985780410369344500427751799871372689087671916363980964413777204909944816370365976500386687626845779116094252394654103244992185036391012305789138078112533858436887669298340754256766710331701992503582520065446036427037165788077358266745647949308504217978790104615395423578967573030187573201154266347958611329295913076021804198383227090858726768307583113107259328654463193773809294240018618876022106515271096783003647292034313150304063445433438519845056731426989 12009682991633970172971206792079452588283758673468703408977473377752633958328597582596728476086782640977880324767697822369879280390423421901756544950370526698510722468897582105671822823178252679759689933594781569511123300150438685252773171114947593702193691921847621247437390009885576014842883094911764661016008555867319332564050912250054245645391845351357435644157411175957322226494763364848391761777509301135251145010587128157223731787540884171910662273380671193053621745851667102930678517065398239935882150187769822652021279604734447913710357998049011672007854619361024532961373115913742860509309786209497947509009022191155394599096255341230866752305769080743946158855099793823454661918220735057120099474653898423456865494859036715852356464921331016719088777522748165426086250118456685550775223861213778178545639984969988848514592443070673408771742096563004672128935472606346171337040023842809142612803198588190862436463000279918532816421387883750680347286350675152812459529764868683865319853718783337940217982741872813500468450299829566724960597398251902249735771346355683821088786694207 19432075274575282799242215894451020638017948908137685053971915304978522845031731858213642160121649123414732910709517399528778818767657755852775437448010535397236022873865793361370394892272985094151084495255811958864931471759958485150331228638122011007678600303555300910326891484946012987981548429721683142494394895079466822698875357908638247180623433693124987082365697149977608554802035499040865984212607118407053866020730688876546310194605293257144203302999183862403099729559841229094082777956251431026419640980831745476861551901904027638823644499587304566367573119849720825238857399874204711054066714884562317195721829490659067119082035751600211252733520880615318847942771710187435626331997939967064915845019874923843553121704815831946608859575434261711273813913760471215224328230990543987662893159554532435312350316671981352097112508516709835808907884640362938874583421914850389315830128458204566191770771618378435637617266627877144145717300959772484545669577766011539227837347981791124648508181977111749512222760491689522574965570926349728607889432565052553799216779794203666145518121196 31441758266209252972213422686530473226301707581606388462949388682731156803360329440810370636208431764392613235477215221898658099158081177754531982398381062095746745342763375467042217715451237773910774428850593528376054771910397170403104399753069604709872292225402922157764281494831589002824431524633447803510403450946786155262926270158692492826015279044482422726523108325934930781296798863889257745990116419542305011031317817033770041982146177429054865576379855055456721475411508332024761295021649670962301791168601568128882831506638475552534002497636316238375427739210745358200230515787947571563376501094060264704730851681814461718178291092831078005039289961359265006797871504010890288250218675024185015319673773347300418616563852547798965324496765278430362591436508636641310578349447229538438117020768310613857990301641970200611704951587383244580649981203367611003518894521196560652870152301013708804573970206569298074080266907795676962138688843523164892955928441164351687367112850474989968361900760449689730205502364503023043415870755916453568486830816954803534988126149887487234304815403 50873833540784535771455638580981493864319656489744073516921303987709679648392061299024012796330080887807346146186732621427436917925738933607307419846391597492982768216629168828412612607724222868061858924106405487240986243670355655553435628391191615717550892528958223068091172979777601990805979954355130946004798346026252977961801628067330740006638712737607409808888805475912539336098834362930123730202723537949358877052048505910316352176751470686199068879379038917859821204971349561118844072977901101988721432149433313605744383408542503191357646997223620804743000859060466183439087915662152282617443215978622581900452681172473528837260326844431289257772810841974583854740643214198325914582216614991249931164693648271143971738268668379745574184072199540141636405350269107856534906580437773526101010180322843049170340618313951552708817460104093080389557865843730549878102316436046949968700280759218274996344741824947733711697533535672821107855989803295649438625506207175890915204460832266114616870082737561439242428262856192545618381441682266182176376263382007357334204905944091153379822936599 82315591806993788743669061267511967090621364071350461979870692670440836451752390739834383432538512652199959381663947843326095017083820111361839402244772659588729513559392544295454830323175460641972633352956999015617041015580752825956540028144261220427423184754361145225855454474609190993630411478988578749515201796973039133224727898226023232832653991782089832535411913801847470117395633226819381476192839957491663888083366322944086394158897648115253934455758893973316542680382857893143605367999550772951023223318034881734627214915180978743891649494859937043118428598271211541639318431450099854180819717072682846605183532854287990555438617937262367262812100803333848861538514718209216202832435290015434946484367421618444390354832520927544539508568964818571998996786777744497845484929885003064539127201091153663028330919955921753320522411691476324970207847047098160881621210957243510621570433060231983800918712031517031785777800443468498069994678646818814331581434648340242602571573682741104585231983498011128972633765220695568661797312438182635744863094198962160869193032093978640614127752002 133189425347778324515124699848493460954941020561094535496791996658150516100144452038858396228868593540007305527850680464753531935009559044969146822091164257081712281776021713123867442930899683510034492277063404502858027259251108481509975656535452836144974077283319368293946627454386792984436391433343709695520000142999292111186529526293353972839292704519697242344300719277760009453494467589749505206395563495441022765135414828854402746335649118801453003335137932891176363885354207454262449440977451874939744655467468195340371598323723481935249296492083557847861429457331677725078406347112252136798262933051305428505636214026761519392698944781693656520584911645308432716279157932407542117414651905006684877649061069889588362093101189307290113692641164358713635402137046852354380391510322776590640137381413996712198671538269873306029339871795569405359765712890828710759723527393290460590270713819450258797263453856464765497475333979141319177850668450114463770206940855516133517776034515007219202102066235572568215062028076888114280178754120448817921239357580969518203397938038069793993950688601 215505017154772113258793761116005428045562384632444997476662689328591352551896842778692779661407106192207264909514628308079626952093379156330986224335936916670441795335414257419322273254075144152007125630020403518475068274831861307466515684679714056572397262037680513519802081928995983978066802912332288445035201939972331244411257424519377205671946696301787074879712633079607479570890100816568886682588403452932686653218781151798489140494546766916706937790896826864492906565737065347406054808977002647890767878785503077074998813238904460679140945986943494890979858055602889266717724778562351990979082650123988275110819746881049509948137562718956023783397012448642281577817672650616758320247087195022119824133428491508032752447933710234834653201210129177285634398923824596852225876440207779655179264582505150375227002458225795059349862283487045730329973559937926871641344738350533971211841146879682242598182165887981797283253134422609817247845347096933278101788375503856376120347608197748323787334049733583697187695793297583682941976066558631453666102451779931679072590970132048434608078440603 348694442502550437773918460964498889000503405193539532973454685986741868652041294817551175890275699732214570437365308772833158887102938201300133046427101173752154077111435970543189716184974827662041617907083808021333095534082969788976491341215166892717371339320999881813748709383382776962503194345675998140555202082971623355597786950812731178511239400821484317224013352357367489024384568406318391888983966948373709418354195980652891886830195885718159941126034759755669270451091272801668504249954454522830512534252971272415370411562627942614390242479027052738841287512934566991796131125674604127777345583175293703616455960907811029340836507500649680303981924093950714294096830583024300437661739100028804701782489561397621114541034899542124766893851293535999269801060871449206606267950530556245819401963919147087425673996495668365379202155282615135689739272828755582401068265743824431802111860699132501395445619744446562780728468401751136425696015547047741871995316359372509638123642712755542989436115969156265402757821374471797222154820679080271587341809360901197275988908170118228602029129204 564199459657322551032712222080504317046065789825984530450117375315333221203938137596243955551682805924421835346879937080912785839196317357631119270763038090422595872446850227962511989439049971814048743537104211539808163808914831096443007025894880949289768601358680395333550791312378760940569997258008286585590404022943954600009044375332108384183186097123271392103725985436974968595274669222887278571572370401306396071572977132451381027324742652634866878916931586620162177016828338149074559058931457170721280413038474349490369224801532403293531188465970547629821145568537456258513855904236956118756428233299281978727275707788860539288974070219605704087378936542592995871914503233641058757908826295050924525915918052905653866988968609776959420095061422713284904199984696046058832144390738335900998666546424297462652676454721463424729064438769660866019712832766682454042413004094358403013953007578814743993627785632428360063981602824360953673541362643981019973783691863228885758471250910503866776770165702739962590453614672055480164130887237711725253444261140832876348579878302166663210107569807 912893902159872988806630683045003206046569195019524063423572061302075089855979432413795131441958505656636405784245245853745944726299255558931252317190139264174749949558286198505701705624024799476090361444188019561141259342997800885419498367110047842007139940679680277147299500695761537903073191603684284726145606105915577955606831326144839562694425497944755709327739337794342457619659237629205670460556337349680105489927173113104272914154938538353026820042966346375831447467919610950743063308885911693551792947291445621905739636364160345907921430944997600368662433081472023250309987029911560246533773816474575682343731668696671568629810577720255384391360860636543710166011333816665359195570565395079729227698407614303274981530003509319084186988912716249284174001045567495265438412341268892146818068510343444550078350451217131790108266594052276001709452105595438036443481269838182834816064868277947245389073405376874922844710071226112090099237378191028761845779008222601395396594893623259409766206281671896227993211436046527277386285707916791996840786070501734073624568786472284891812136699011 1477093361817195539839342905125507523092634984845508593873689436617408311059917570010039086993641311581058241131125182934658730565495572916562371587953177354597345822005136426468213695063074771290139104981292231100949423151912631981862505393004928791296908542038360672480850292008140298843643188861692571311736010128859532555615875701476947946877611595068027101431465323231317426214933906852092949032128707750986501561500150245555653941479681190987893698959897932995993624484747949099817622367817368864273073360329919971396108861165692749201452619410968147998483578650009479508823842934148516365290202049773857661071007376485532107918784647939861088478739797179136706037925837050306417953479391690130653753614325667208928848518972119096043607083974138962569078201030263541324270556732007228047816735056767742012731026905938595214837331032821936867729164938362120490485894273932541237830017875856761989382701191009303282908691674050473043772778740835009781819562700085830281155066144533763276542976447374636190583665050718582757550416595154503722094230331642566949973148664774451555022244268818 2389987263977068528645973588170510729139204179865032657297261497919483400915897002423834218435599817237694646915370428788404675291794828475493623905143316618772095771563422624973915400687099570766229466425480250662090682494910432867282003760114976633304048482718040949628149792703901836746716380465376856037881616234775110511222707027621787509572037093012782810759204661025659883834593144481298619492685045100666607051427323358659926855634619729340920519002864279371825071952667560050560685676703280557824866307621365593301848497529853095109374050355965748367146011731481502759133829964060076611823975866248433343414739045182203676548595225660116472870100657815680416203937170866971777149049957085210382981312733281512203830048975628415127794072886855211853252202075831036589708969073276120194634803567111186562809377357155727004945597626874212869438617043957558526929375543770724072646082744134709234771774596386178205753401745276585133872016119026038543665341708308431676551661038157022686309182729046532418576876486765110034936702303071295718935016402144301023597717451246736446834380967829 3867080625794264068485316493296018252231839164710541251170950934536891711975814572433873305429241128818752888046495611723063405857290401392055995493096493973369441593568559051442129095750174342056368571406772481763040105646823064849144509153119905424600957024756401622109000084712042135590359569327069427349617626363634643066838582729098735456449648688080809912190669984256977310049527051333391568524813752851653108612927473604215580797114300920328814217962762212367818696437415509150378308044520649422097939667951285564697957358695545844310826669766933896365629590381490982267957672898208592977114177916022291004485746421667735784467379873599977561348840454994817122241863007917278195102529348775341036734927058948721132678567947747511171401156860994174422330403106094577913979525805283348242451538623878928575540404263094322219782928659696149737167781982319679017415269817703265310476100619991471224154475787395481488662093419327058177644794859861048325484904408394261957706727182690785962852159176421168609160541537483692792487118898225799441029246733786867973570866116021188001856625236647 6257067889771332597131290081466528981371043344575573908468212432456375112891711574857707523864840946056447534961866040511468081149085229867549619398239810592141537365131981676416044496437273912822598037832252732425130788141733497716426512913234882057905005507474442571737149877415943972337075949792446283387499242598409753578061289756720522966021685781093592722949874645282637193884120195814690188017498797952319715664354796962875507652748920649669734736965626491739643768390083069200938993721223929979922805975572651157999805856225398939420200720122899644732775602112972485027091502862268669588938153782270724347900485466849939461015975099260094034218941112810497538445800178784249972251579305860551419716239792230233336508616923375926299195229747849386275582605181925614503688494878559468437086342190990115138349781620250049224728526286570362606606399026277237544344645361473989383122183364126180458926250383781659694415495164603643311516810978887086869150246116702693634258388220847808649161341905467701027737418024248802827423821201297095159964263135931168997168583567267924448691006204476 10124148515565596665616606574762547233602882509286115159639163366993266824867526147291580829294082074875200423008361652234531487006375631259605614891336304565510978958700540727858173592187448254878966609239025214188170893788556562565571022066354787482505962532230844193846149962127986107927435519119515710737116868962044396644899872485819258422471334469174402635140544629539614503933647247148081756542312550803972824277282270567091088449863221569998548954928388704107462464827498578351317301765744579402020745643523936722697763214920944783731027389889833541098405192494463467295049175760477262566052331698293015352386231888517675245483354972860071595567781567805314660687663186701528167354108654635892456451166851178954469187184871123437470596386608843560697913008288020192417668020683842816679537880814869043713890185883344371444511454946266512343774181008596916561759915179177254693598283984117651683080726171177141183077588583930701489161605838748135194635150525096955591965115403538594612013501081888869636897959561732495619910940099522894600993509869718036970739449683289112450547631441123 16381216405336929262747896656229076214973925853861689068107375799449641937759237722149288353158923020931647957970227692745999568155460861127155234289576115157652516323832522404274218088624722167701564647071277946613301681930290060281997534979589669540410968039705286765583299839543930080264511468911961994124616111560454150222961162242539781388493020250267995358090419274822251697817767442962771944559811348756292539941637067529966596102612142219668283691894015195847106233217581647552256295486968509381943551619096587880697569071146343723151228110012733185831180794607435952322140678622745932154990485480563739700286717355367614706499330072120165629786722680615812199133463365485778139605687960496443876167406643409187805695801794499363769791616356692946973495613469945806921356515562402285116624223005859158852239967503594420669239981232836874950380580034874154106104560540651244076720467348243832142006976554958800877493083748534344800678416817635222063785396641799649226223503624386403261174842987356570664635377585981298447334761300819989760957773005649205967908033250557036899238637645599 26505364920902525928364503230991623448576808363147804227746539166442908762626763869440869182453005095806848380978589344980531055161836492386760849180912419723163495282533063132132391680812170422580531256310303160801472575718846622847568557045944457022916930571936130959429449801671916188191946988031477704861732980522498546867861034728359039810964354719442397993230963904361866201751414690110853701102123899560265364218919338097057684552475363789666832646822403899954568698045080225903573597252713088783964297262620524603395332286067288506882255499902566726929585987101899419617189854383223194721042817178856755052672949243885289951982685044980237225354504248421126859821126552187306306959796615132336332618573494588142274882986665622801240388002965536507671408621757965999339024536246245101796162103820728202566130153386938792113751436179103387294154761043471070667864475719828498770318751332361483825087702726135942060570672332465046289840022656383357258420547166896604818188619027924997873188344069245440301533337147713794067245701400342884361951282875367242938647482933846149349786269086722 42886581326239455191112399887220699663550734217009493295853914965892550700386001591590157535611928116738496338948817037726530623317297353513916083470488534880816011606365585536406609769436892590282095903381581107414774257649136683129566092025534126563327898611641417725012749641215846268456458456943439698986349092082952697090822196970898821199457374969710393351321383179184117899569182133073625645661935248316557904160556405627024280655087506009335116338716419095801674931262661873455829892739681598165907848881717112484092901357213632230033483609915299912760766781709335371939330533005969126876033302659420494752959666599252904658482015117100402855141226929036939058954589917673084446565484575628780208785980137997330080578788460122165010179619322229454644904235227911806260381051808647386912786326826587361418370120890533212782991417411940262244535341078345224773969036260479742847039218680605315967094679281094742938063756080999391090518439474018579322205943808696254044412122652311401134363187056602010966168714733695092514580462701162874122909055881016448906555516184403186249024906732321 69391946247141981119476903118212323112127542580157297523600454132335459463012765461031026718064933212545344719927406382707061678479133845900676932651400954603979506888898648668539001450249063012862627159691884268216246833367983305977134649071478583586244829183577548684442199442887762456648405444974917403848082072605451243958683231699257861010421729689152791344552347083545984101320596823184479346764059147876823268379475743724081965207562869799001948985538822995756243629307742099359403489992394686949872146144337637087488233643280920736915739109817866639690352768811234791556520387389192321597076119838277249805632615843138194610464700162080640080495731177458065918775716469860390753525281190761116541404553632585472355461775125744966250567622287765962316312856985877805599405588054892488708948430647315563984500274277472004896742853591043649538690102121816295441833511980308241617357970012966799792182382007230684998634428413464437380358462130401936580626490975592858862600741680236399007551531125847451267702051881408886581826164101505758484860338756383691845202999118249335598811175819043 112278527573381436310589303005433022775678276797166790819454369098228010163398767052621184253676861329283841058876223420433592301796431199414593016121889489484795518495264234204945611219685955603144723063073465375631021091017119989106700741097012710149572727795218966409454949084103608725104863901918357102834431164688403941049505428670156682209879104658863184695873730262730102000889778956258104992425994396193381172540032149351106245862650375808337065324255242091557918560570403972815233382732076285115779995026054749571581135000494552966949222719733166552451119550520570163495850920395161448473109422497697744558592282442391099268946715279181042935636958106495004977730306387533475200090765766389896750190533770582802436040563585867131260747241609995416961217092213789611859786639863539875621734757473902925402870395168005217679734271002983911783225443200161520215802548240787984464397188693572115759277061288325427936698184494463828470876901604420515902832434784289112907012864332547800141914718182449462233870766615103979096406626802668632607769394637400140751758515302652521847836082551364 181670473820523417430066206123645345887805819377324088343054823230563469626411532513652210971741794541829185778803629803140653980275565045315269948773290444088775025384162882873484612669935018616007350222765349643847267924385103295083835390168491293735817556978796515093897148526991371181753269346893274506682513237293855185008188660369414543220300834348015976040426077346276086102210375779442584339190053544070204440919507893075188211070213245607339014309794065087314162189878146072174636872724470972065652141170392386659069368643775473703864961829551033192141472319331804955052371307784353770070185542335974994364224898285529293879411415441261683016132689283953070896506022857393865953616046957151013291595087403168274791502338711612097511314863897761379277529949199667417459192227918432364330683188121218489387370669445477222576477124594027561321915545321977815657636060221096226081755158706538915551459443295556112935332612907928265851235363734822452483458925759881971769613606012784199149466249308296913501572818496512865678232790904174391092629733393783832596961514420901857446647258370407 293949001393904853740655509129078368663484096174490879162509192328791479789810299566273395225418655871113026837679853223574246282071996244729862964895179933573570543879427117078430223889620974219152073285838815019478289015402223284190536131265504003885390284774015481503352097611094979906858133248811631609516944401982259126057694089039571225430179939006879160736299807609006188103100154735700689331616047940263585613459540042426294456932863621415676079634049307178872080750448550044989870255456547257181432136196447136230650503644270026670814184549284199744592591869852375118548222228179515218543294964833672738922817180727920393148358130720442725951769647390448075874236329244927341153706812723540910041785621173751077227542902297479228772062105507756796238747041413457029318978867781972239952417945595121414790241064613482440256211395597011473105140988522139335873438608461884210546152347400111031310736504583881540872030797402392094322112265339242968386291360544171084676626470345331999291380967490746375735443585111616844774639417706843023700399128031183973348720029723554379294483340921771 475619475214428271170721715252723714551289915551814967505564015559354949416221832079925606197160450412942212616483483026714900262347561290045132913668470377662345569263589999951914836559555992835159423508604164663325556939787326579274371521433995297621207841752811996597249246138086351088611402595704906116199457639276114311065882749408985768650480773354895136776725884955282274205310530515143273670806101484333790054379047935501482668003076867023015093943843372266186242940326696117164507128181018229247084277366839522889719872288045500374679146378835232936734064189184180073600593535963868988613480507169647733287042079013449687027769546161704408967902336674401146770742352102321207107322859680691923333380708576919352019045241009091326283376969405518175516276990613124446778171095700404604283101133716339904177611734058959662832688520191039034427056533844117151531074668682980436627907506106649946862195947879437653807363410310320360173347629074065420869750286304053056446240076358116198440847216799043289237016403608129710452872208611017414793028861424967805945681544144456236741130599292178 769568476608333124911377224381802083214774011726305846668073207888146429206032131646199001422579106284055239454163336250289146544419557534774995878563650311235916113143017117030345060449176967054311496794442979682803845955189549863464907652699499301506598126526827478100601343749181330995469535844516537725716402041258373437123576838448556994080660712361774297513025692564288462308410685250843963002422149424597375667838587977927777124935940488438691173577892679445058323690775246162154377383637565486428516413563286659120370375932315527045493330928119432681326656059036555192148815764143384207156775472003320472209859259741370080176127676882147134919671984064849222644978681347248548261029672404232833375166329750670429246588143306570555055439074913274971755024032026581476097149963482376844235519079311461318967852798672442103088899915788050507532197522366256487404513277144864647174059853506760978172932452463319194679394207712712454495459894413308389256041646848224141122866546703448197732228184289789664972459988719746555227511626317860438493427989456151779294401573868010616035613940213949 1245187951822761396082098939634525797766063927278120814173637223447501378622253963726124607619739556696997452070646819277004046806767118824820128792232120688898261682406607116982259897008732959889470920303047144346129402894976876442739279174133494599127805968279639474697850589887267682084080938440221443841915859680534487748189459587857542762731141485716669434289751577519570736513721215765987236673228250908931165722217635913429259792939017355461706267521736051711244566631101942279318884511818583715675600690930126182010090248220361027420172477306954665618060720248220735265749409300107253195770255979172968205496901338754819767203897223043851543887574320739250369415721033449569755368352532084924756708547038327589781265633384315661881338816044318793147271301022639705922875321059182781448518620213027801223145464532731401765921588435979089541959254056210373638935587945827845083801967359613410925035128400342756848486757618023032814668807523487373810125791933152277197569106623061564396173075401088832954209476392327876265680383834928877853286456850881119585240083118012466852776744539506127 2014756428431094520993476164016327880980837939004426660841710431335647807828286095372323609042318662981052691524810155527293193351186676359595124670795771000134177795549624234012604957457909926943782417097490124028933248850166426306204186826832993900634404094806466952798451933636449013079550474284737981567632261721792861185313036426306099756811802198078443731802777270083859198822131901016831199675650400333528541390056223891357036917874957843900397441099628731156302890321877188441473261895456149202104117104493412841130460624152676554465665808235074098299387376307257290457898225064250637402927031451176288677706760598496189847380024899925998678807246304804099592060699714796818303629382204489157590083713368078260210512221527622232436394255119232068119026325054666287398972471022665158292754139292339262542113317331403843869010488351767140049491451578576630126340101222972709730976027213120171903208060852806076043166151825735745269164267417900682199381833580000501338691973169765012593905303585378622619181936381047622820907895461246738291779884840337271364534484691880477468812358479720076 3259944380253855917075575103650853678746901866282547475015347654783149186450540059098448216662058219678050143595456974804297240157953795184415253463027891689032439477956231350994864854466642886833253337400537268375062651745143302748943466000966488499762210063086106427496302523523716695163631412724959425409548121402327348933502496014163642519542943683795113166092528847603429935335853116782818436348878651242459707112273859804786296710813975199362103708621364782867547456952979130720792146407274732917779717795423539023140550872373037581885838285542028763917448096555478025723647634364357890598697287430349256883203661937251009614583922122969850222694820625543349961476420748246388058997734736574082346792260406405849991777854911937894317733071163550861266297626077305993321847792081847939741272759505367063765258781864135245634932076787746229591450705634787003765275689168800554814777994572733582828243189253148832891652909443758778083833074941388056009507625513152778536261079792826576990078378986467455573391412773375499086588279296175616145066341691218390949774567809892944321589103019226203 5274700808684950438069051267667181559727739805286974135857058086118796994278826154470771825704376882659102835120267130331590433509140471544010378133823662689166617273505855585007469811924552813777035754498027392403995900595309729055147652827799482400396614157892573380294754457160165708243181887009697406977180383124120210118815532440469742276354745881873556897895306117687289134157985017799649636024529051575988248502330083696143333628688933043262501149720993514023850347274856319162265408302730882119883834899916951864271011496525714136351504093777102862216835472862735316181545859428608528001624318881525545560910422535747199461963947022895848901502066930347449553537120463043206362627116941063239936875973774484110202290076439560126754127326282782929385323951131972280720820263104513098034026898797706326307372099195539089503942565139513369640942157213363633891615790391773264545754021785853754731451250105954908934819061269494523352997342359288738208889459093153279874953052962591589583983682571846078192573349154423121907496174757422354436846226531555662314309052501773421790401461498946279 8534645188938806355144626371318035238474641671569521610872405740901946180729366213569220042366435102337152978715724105135887673667094266728425631596851554378199056751462086936002334666391195700610289091898564660779058552340453031804091118828765970900158824220978679807791056980683882403406813299734656832386728504526447559052318028454633384795897689565668670063987834965290719069493838134582468072373407702818447955614603943500929630339502908242624604858342358296891397804227835449883057554710005615037663552695340490887411562368898751718237342379319131626134283569418213341905193493792966418600321606311874802444114084472998209076547869145865699124196887555890799515013541211289594421624851677637322283668234180889960194067931351498021071860397446333790651621577209278274042668055186361037775299658303073390072630881059674335138874641927259599232392862848150637656891479560573819360532016358587337559694439359103741826471970713253301436830417300676794218397084606306058411214132755418166574062061558313533765964761927798620994084454053597970581912568222774053264083620311666366111990564518172482 13809345997623756793213677638985216798202381476856495746729463827020743175008192368039991868070811984996255813835991235467478107176234738272436009730675217067365674024967942521009804478315748514387324846396592053183054452935762760859238771656565453300555438378871253188085811437844048111649995186744354239363908887650567769171133560895103127072252435447542226961883141082978008203651823152382117708397936754394436204116934027197072963968191841285887106008063351810915248151502691769045322963012736497157547387595257442751682573865424465854588846473096234488351119042280948658086739353221574946601945925193400348005024507008745408538511816168761548025698954486238249068550661674332800784251968618700562220544207955374070396358007791058147825987723729116720036945528341250554763488318290874135809326557100779716380002980255213424642817207066772968873335020061514271548507269952347083906286038144441092291145689465058650761291031982747824789827759659965532427286543699459338286167185718009756158045744130159611958538111082221742901580628811020325018758794754329715578392672813439787902392026017118761 22343991186562563148358304010303252036677023148426017357601869567922689355737558581609211910437247087333408792551715340603365780843329005000861641327526771445564730776430029457012139144706944214997613938295156713962113005276215792663329890485331424200714262599849932995876868418527930515056808486479011071750637392177015328223451589349736511868150125013210897025870976048268727273145661286964585780771344457212884159731537970698002594307694749528511710866405710107806645955730527218928380517722742112195210940290597933639094136234323217572826188852415366114485402611699161999991932847014541365202267531505275150449138591481743617615059685314627247149895842042129048583564202885622395205876820296337884504212442136264030590425939142556168897848121175450510688567105550528828806156373477235173584626215403853106452633861314887759781691848994032568105727882909664909205398749512920903266818054503028429850840128824162392587763002696001126226658176960642326645683628305765396697381318473427922732107805688473145724502873010020363895665082864618295600671362977103768842476293125106154014382590535291243 36153337184186319941571981649288468834879404625282513104331333394943432530745750949649203778508059072329664606387706576070843888019563743273297651058201988512930404801397971978021943623022692729384938784691748767145167458211978553522568662141896877501269700978721186183962679856371978626706803673223365311114546279827583097394585150244839638940402560460753123987754117131246735476797484439346703489169281211607320363848471997895075558275886590814398816874469061918721894107233218987973703480735478609352758327885855376390776710099747683427415035325511600602836521653980110658078672200236116311804213456698675498454163098490489026153571501483388795175594796528367297652114864559955195990128788915038446724756650091638100986783946933614316723835844904567230725512633891779383569644691768109309393952772504632822832636841570101184424509056060805536979062902971179180753906019465267987173104092647469522141985818289221043349054034678748951016485936620607859072970172005224734983548504191437678890153549818632757683040984092242106797245711675638620619430157731433484420868965938545941916774616552410004 58497328370748883089930285659591720871556427773708530461933202962866121886483309531258415688945306159663073398939421916674209668862892748274159292385728759958495135577828001435034082767729636944382552722986905481107280463488194346185898552627228301701983963578571119179839548274899909141763612159702376382865183672004598425618036739594576150808552685473964021013625093179515462749943145726311289269940625668820204523580009968593078152583581340342910527740874772026528540062963746206902083998458220721547969268176453310029870846334070901000241224177926966717321924265679272658070605047250657677006480988203950648903301689972232643768631186798016042325490638570496346235679067445577591196005609211376331228969092227902131577209886076170485621683966080017741414079739442308212375801065245344482978578987908485929285270702884988944206200905054838105084790785880844089959304768978188890439922147150497951992825947113383435936817037374750077243144113581250185718653800310990131680929822664865601622261355507105903407543857102262470692910794540256916220101520708537253263345259063652095931157207087701247 94650665554935203031502267308880189706435832398991043566264536357809554417229060480907619467453365231992738005327128492745053556882456491547456943443930748471425540379225973413056026390752329673767491507678654248252447921700172899708467214769125179203253664557292305363802228131271887768470415832925741693979729951832181523012621889839415789748955245934717145001379210310762198226740630165657992759109906880427524887428481966488153710859467931157309344615343833945250434170196965194875787479193699330900727596062308686420647556433818584427656259503438567320158445919659383316149277247486773988810694444902626147357464788462721669922202688281404837501085435098863643887793932005532787186134398126414777953725742319540232563993833009784802345519810984584972139592373334087595945445757013453792372531760413118752117907544455090128630709961115643642063853688852023270713210788443456877613026239797967474134811765402604479285871072053499028259630050201858044791623972316214866664478326856303280512414905325738661090584841194504577490156506215895536839531678439970737684214225002198037847931823640111251 153147993925684086121432552968471910577992260172699574028197739320675676303712370012166035156398671391655811404266550409419263225745349239821616235829659508429920675957053974848090109158481966618150044230665559729359728385188367245894365767396353480905237628135863424543641776406171796910234027992628118076844913623836779948630658629433991940557507931408681166015004303490277660976683775891969282029050532549247729411008491935081231863443049271500219872356218605971778974233160711401777871477651920052448696864238761996450518402767889485427897483681365534037480370185338655974219882294737431665817175433106576796260766478434954313690833875079420879826576073669359990123472999451110378382140007337791109182694834547442364141203719085955287967203777064602713553672112776395808321246822258798275351110748321604681403178247340079072836910866170481747148644474732867360672515557421645768052948386948465426127637712515987915222688109428249105502774163783108230510277772627204998345408149521168882134676260832844564498128698296767048183067300756152453059633199148507990947559484065850133779089030727812498 247798659480619289152934820277352100284428092571690617594462275678485230720941430493073654623852036623648549409593678902164316782627805731369073179273590256901346216336279948261146135549234296291917535738344213977612176306888540145602832982165478660108491292693155729907444004537443684678704443825553859770824643575668961471643280519273407730306463177343398311016383513801039859203424406057627274788160439429675254298436973901569385574302517202657529216971562439917029408403357676596653658956845619383349424460301070682871165959201708069855553743184804101357638816104998039290369159542224205654627869878009202943618231266897675983613036563360825717327661508768223634011266931456643165568274405464205887136420576866982596705197552095740090312723588049187685693264486110483404266692579272252067723642508734723433521085791795169201467620827286125389212498163584890631385726345865102645665974626746432900262449477918592394508559181481748133762404213984966275301901744943419865009886476377472162647091166158583225588713539491271625673223806972047989899164877588478728631773709068048171627020854367923749 400946653406303375274367373245824010862420352744390191622660014999160907024653800505239689780250708015304360813860229311583580008373154971190689415103249765331266892293333923109236244707716262910067579969009773706971904692076907391497198749561832141013728920829019154451085780943615481588938471818181977847669557199505741420273939148707399670863971108752079477031387817291317520180108181949596556817210971978922983709445465836650617437745566474157749089327781045888808382636518387998431530434497539435798121324539832679321684361969597555283451226866169635395119186290336695264589041836961637320445045311115779739878997745332630297303870438440246597154237582437583624134739930907753543950414412801996996319115411414424960846401271181695378279927365113790399246936598886879212587939401531050343074753257056328114924264039135248274304531693456607136361142638317757992058241903286748413718923013694898326390087190434580309731247290909997239265178377768074505812179517570624863355294625898641044781767426991427790086842237788038673856291107728200442958798076736986719579333193133898305406109885095736247 648745312886922664427302193523176111146848445316080809217122290677646137745595230998313344404102744638952910223453908213747896791000960702559762594376840022232613108629613871370382380256950559201985115707353987684584080998965447537100031731727310801122220213522174884358529785481059166267642915643735837618494200775174702891917219667980807401170434286095477788047771331092357379383532588007223831605371411408598238007882439738220003012048083676815278306299343485805837791039876064595085189391343158819147545784840903362192850321171305625139004970050973736752758002395334734554958201379185842975072915189124982683497229012230306280916907001801072314481899091205807258146006862364396709518688818266202883455535988281407557551598823277435468592650953162978084940201084997362616854631980803302410798395765791051548445349830930417475772152520742732525573640801902648623443968249151851059384897640441331226652536668353172704239806472391745373027582591753040781114081262514044728365181102276113207428858593150011015675555777279310299529514914700248432857962954325465448211106902201946477033130739463659996 1049691966293226039701669566769000122009268798060471000839782305676807044770249031503553034184353452654257271037314137525331476799374115673750452009480089787563880000922947794479618624964666822112052695676363761391555985691042354928597230481289142942135949134351194038809615566424674647856581387461917815466163757974680444312191158816688207072034405394847557265079159148383674899563640769956820388422582383387521221717327905574870620449793650150973027395627124531694646173676394452593516719825840698254945667109380736041514534683140903180422456196917143372147877188685671429819547243216147480295517960500240762423376226757562936578220777440241318911636136673643390882280746793272150253469103231068199879774651399695832518398000094459130846872578318276768484187137683884241829442571382334352753873149022847379663369613870065665750076684214199339661934783440220406615502210152438599473103820654136229553042623858787753013971053763301742612292760969521115286926260780084669591720475728174754252210626020141438805762398015067348973385806022428448875816761031062452167790440095335844782439240624559396243 1698437279180148704128971760292176233156117243376551810056904596354453182515844262501866378588456197293210181260768045739079373590375076376310214603856929809796493109552561665850001005221617381314037811383717749076140066690007802465697262213016453743258169347873368923168145351905733814124224303105653653084657958749855147204108378484669014473204839680943035053126930479476032278947173357964044220027953794796119459725210345313090623461841733827788305701926468017500483964716270517188601909217183857074093212894221639403707385004312208805561461166968117108900635191081006164374505444595333323270590875689365745106873455769793242859137684442042391226118035764849198140426753655636546962987792049334402763230187387977240075949598917736566315465229271439746569127338768881604446297203363137655164671544788638431211814963700996083225848836734942072187508424242123055238946178401590450532488718294577560779695160527140925718210860235693487985320343561274156068040342042598714320085656830450867459639484613291449821437953792346659272915320937128697308674723985387917616001546997537791259472371364023056239 2748129245473374743830641327061176355165386041437022810896686902031260227286093294005419412772809649947467452298082183264410850389749192050060666613337019597360373110475509460329619630186284203426090507060081510467696052381050157394294492694305596685394118482224562961977760918330408461980805690567571468550821716724535591516299537301357221545239245075790592318206089627859707178510814127920864608450536178183640681442538250887961243911635383978761333097553592549195130138392664969782118629043024555329038880003602375445221919687453111985983917363885260481048512379766677594194052687811480803566108836189606507530249682527356179437358461882283710137754172438492589022707500448908697216456895280402602643004838787673072594347599012195697162337807589716515053314476452765846275739774745472007918544693811485810875184577571061748975925520949141411849443207682343461854448388554029050005592538948713790332737784385928678732181913998995230597613104530795271354966602822683383911806132558625621711850110633432888627200351807414008246301126959557146184491485016450369783791987092873636041911611988582452482 4446566524653523447959613087353352588321503284813574620953591498385713409801937556507285791361265847240677633558850229003490223980124268426370881217193949407156866220028071126179620635407901584740128318443799259543836119071057959859991754907322050428652287830097931885145906270236142276105029993673225121635479675474390738720407915786026236018444084756733627371333020107335739457457987485884908828478489972979760141167748596201051867373477117806549638799480060566695614103108935486970720538260208412403132092897824014848929304691765320791545378530853377589949147570847683758568558132406814126836699711878972252637123138297149422296496146324326101363872208203341787163134254104545244179444687329737005406235026175650312670297197929932263477803036861156261622441815221647450722036978108609663083216238600124242086999541272057832201774357684083484036951631924466517093394566955619500538081257243291351112432944913069604450392774234688718582933448092069427423006944865282098231891789389076489171489595246724338448638305599760667519216447896685843493166209001838287399793534090411427301383983352605508721 7194695770126898191790254414414528943486889326250597431850278400416973637088030850512705204134075497188145085856932412267901074369873460476431547830530969004517239330503580586509240265594185788166218825503880770011532171452108117254286247601627647114046406312322494847123667188566550738085835684240796590186301392198926330236707453087383457563683329832524219689539109735195446635968801613805773436929026151163400822610286847089013111285112501785310971897033653115890744241501600456752839167303232967732170972901426390294151224379218432777529295894738638070997659950614361352762610820218294930402808548068578760167372820824505601733854608206609811501626380641834376185841754553453941395901582610139608049239864963323385264644796942127960640140844450872776675756291674413296997776752854081671001760932411610052962184118843119581177699878633224895886394839606809978947842955509648550543673796192005141445170729298998283182574688233683949180546552622864698777973547687965482143697921947702110883339705880157227075838657407174675765517574856242989677657694018288657183585521183285063343295595341187961203 11641262294780421639749867501767881531808392611064172052803869898802687046889968407019990995495341344428822719415782641271391298349997728902802429047724918411674105550531651712688860901002087372906347143947680029555368290523166077114278002508949697542698694142420426732269573458802693014190865677914021711821781067673317068957115368873409693582127414589257847060872129842531186093426789099690682265407516124143160963778035443290064978658589619591860610696513713682586358344610535943723559705563441380135303065799250405143080529070983753569074674425592015660946807521462045111331168952625109057239508259947551012804495959121655024030350754530935912865498588845176163348976008657999185575346269939876613455474891138973697934941994872060224117943881312029038298198106896060747719813730962691334084977171011734295049183660115177413379474236317308379923346471531276496041237522465268051081755053435296492557603674212067887632967462468372667763480000714934126200980492553247580375589711336778600054829301126881565524476963006935343284734022752928833170823903020126944583379055273696490644679578693793469924 18835958064907319831540121916182410475295281937314769484654148299219660683977999257532696199629416841616967805272715053539292372719871189379233976878255887416191344881035232299198101166596273161072565969451560799566900461975274194368564250110577344656745100454742921579393240647369243752276701362154818302008082459872243399193822821960793151145810744421782066750411239577726632729395590713496455702336542275306561786388322290379078089943702121377171582593547366798477102586112136400476398872866674347867474038700676795437231753450202186346603970320330653731944467472076406464093779772843403987642316808016129772971868779946160625764205362737545724367124969487010539534817763211453126971247852550016221504714756102297083199586791814188184758084725762901814973954398570474044717590483816773005086738103423344348011367778958296994557174114950533275809741311138086474989080477974916601625428849627301634002774403511066170815542150702056616944026553337798824978954040241213062519287633284480710938169007007038792600315620414110019050251597609171822848481597038415601766964576456981553987975174034981431127 30477220359687741471289989417950292007103674548378941537458018198022347730867967664552687195124758186045790524688497694810683671069868918282036405925980805827865450431566884011886962067598360533978913113399240829122268752498440271482842252619527042199443794597163348311662814106171936766467567040068840013829863527545560468150938190834202844727938159011039913811283369420257818822822379813187137967744058399449722750166357733669143068602291740969032193290061080481063460930722672344199958578430115728002777104499927200580312282521185939915678644745922669392891274993538451575424948725468513044881825067963680785776364739067815649794556117268481637232623558332186702883793771869452312546594122489892834960189647241270781134528786686248408876028607074930853272152505466534792437404214779464339171715274435078643060551439073474407936648351267841655733087782669362971030318000440184652707183903062598126560378077723134058448509613170429284707506554052732951179934532794460642894877344621259310992998308133920358124792583421045362334985620362100656019305500058542546350343631730678044632654752728774901051 49313178424595061302830111334132702482398956485693711022112166497242008414845966922085383394754175027662758329961212748349976043789740107661270382804236693244056795312602116311085063234194633695051479082850801628689169214473714465851406502730104386856188895051906269891056054753541180518744268402223658315837945987417803867344761012794995995873748903432821980561694608997984451552217970526683593670080600674756284536554680024048221158545993862346203775883608447279540563516834808744676357451296790075870251143200603996017544035971388126262282615066253323124835742465614858039518728498311917032524141875979810558748233519013976275558761480006027361599748527819197242418611535080905439517841975039909056464904403343567864334115578500436593634113332837832668246106904037008837154994698596237344258453377858422991071919218031771402493822466218374931542829093807449446019398478415101254332612752689899760563152481234200229264051763872485901651533107390531776158888573035673705414164977905740021931167315140959150725108203835155381385237217971272478867787097096958148117308208187659598620629926763756332178 79790398784282802774120100752082994489502631034072652559570184695264356145713934586638070589878933213708548854649710443160659714859609025943306788730217499071922245744169000322972025301792994229030392196250042457811437966972154737334248755349631429055632689649069618202718868859713117285211835442292498329667809514963364335495699203629198840601687062443861894372977978418242270375040350339870731637824659074206007286721037757717364227148285603315235969173669527760604024447557481088876316029726905803873028247700531196597856318492574066177961259812175992517727017459153309614943677223780430077405966943943491344524598258081791925353317597274508998832372086151383945302405306950357752064436097529801891425094050584838645468644365186685002510141939912763521518259409503543629592398913375701683430168652293501634132470657105245810430470817486216587275916876476812417049716478855285907039796655752497887123530558957334287712561377042915186359039661443264727338823105830134348309042322526999332924165623274879508849900787256200743720222838333373134887092597155500694467651839918337643253284679492531233229 129103577208877864076950212086215696971901587519766363581682351192506364560559901508723453984633108241371307184610923191510635758649349133604577171534454192315979041056771116634057088535987627924081871279100844086500607181445869203185655258079735815911821584700975888093774923613254297803956103844516156645505755502381168202840460216424194836475435965876683874934672587416226721927258320866554325307905259748962291823275717781765585385694279465661439745057277975040144587964392289833552673481023695879743279390901135192615400354463962192440243874878429315642562759924768167654462405722092347109930108819923301903272831777095768200912079077280536360432120613970581187721016842031263191582278072569710947889998453928406509802759943687121596144255272750596189764366313540552466747393611971939027688622030151924625204389875137017212924293283704591518818745970284261863069114957270387161372409408442397647686683040191534516976613140915401088010572768833796503497711678865808053723207300432739354855332938415838659575008991091356125105460056304645613754879694252458842584960048105997241873914606256287565407 208893975993160666851070312838298691461404218553839016141252535887770720706273836095361524574512041455079856039260633634671295473508958159547883960264671691387901286800940116957029113837780622153112263475350886544312045148418023940519904013429367244967454274350045506296493792472967415089167939286808654975173565017344532538336159420053393677077123028320545769307650565834468992302298671206425056945729918823168299109996755539482949612842565068976675714230947502800748612411949770922428989510750601683616307638601666389213256672956536258618205134690605308160289777383921477269406082945872777187336075763866793247797430035177560126265396674555045359264492700121965133023422148981620943646714170099512839315092504513245155271404308873806598654397212663359711282625723044096096339792525347640711118790682445426259336860532242263023354764101190808106094662846761074280118831436125673068412206064194895534810213599148868804689174517958316274369612430277061230836534784695942402032249622959738687779498561690718168424909778347556868825682894638018748641972291407959537052611888024334885127199285748818798636 337997553202038530928020524924514388433305806073605379722934887080277085266833737604084978559145149696451163223871556826181931232158307293152461131799125883703880327857711233591086202373768250077194134754451730630812652329863893143705559271509103060879275859051021394390268716086221712893124043131324811620679320519725700741176619636477588513552558994197229644242323153250695714229556992072979382253635178572130590933272473321248534998536844534638115459288225477840893200376342060755981662991774297563359587029502801581828657027420498451058449009569034623802852537308689644923868488667965124297266184583790095151070261812273328327177475751835581719696613314092546320744438991012884135228992242669223787205090958441651665074164252560928194798652485413955901046992036584648563087186137319579738807412712597350884541250407379280236279057384895399624913408817045336143187946393396060229784615472637293182496896639340403321665787658873717362380185199110857734334246463561750455755456923392478042634831500106556827999918769438912993931142950942664362396851985660418379637571936130332127001113892005106364043 546891529195199197779090837762813079894710024627444395864187422968047805973107573699446503133657191151531019263132190460853226705667265452700345092063797575091781614658651350548115316211548872230306398229802617175124697478281917084225463284938470305846730133401066900686762508559189127982291982418133466595852885537070233279512779056530982190629682022517775413549973719085164706531855663279404439199365097395298890043269228860731484611379409603614791173519172980641641812788291831678410652502524899246975894668104467971041913700377034709676654144259639931963142314692611122193274571613837901484602260347656888398867691847450888453442872426390627078961106014214511453767861139994505078875706412768736626520183462954896820345568561434734793453049698077315612329617759628744659426978662667220449926203395042777143878110939621543259633821486086207731008071663806410423306777829521733298196821536832188717307110238489272126354962176832033636749797629387918965170781248257692857787706546352216730414330061797274996424828547786469862756825845580683111038824277068377916690183824154667012128313177753925162679 884889082397237728707111362687327468328015830701049775587122310048324891239941311303531481692802340847982182487003747287035157937825572745852806223862923458795661942516362584139201518585317122307500532984254347805937349808145810227931022556447573366726005992452088295077031224645410840875416025549458278216532206056795934020689398693008570704182241016715005057792296872335860420761412655352383821453000275967429480976541702181980019609916254138252906632807398458482535013164633892434392315494299196810335481697607269552870570727797533160735103153828674555765994852001300767117143060281803025781868444931446983549937953659724216780620348178226208798657719328307057774512300131007389214104698655437960413725274421396548485419732813995662988251702183491271513376609796213393222514164799986800188733616107640128028419361347000823495912878870981607355921480480851746566494724222917793527981437009469481899804006877829675448020749835705750999129982828498776699505027711819443313543163469744694773049161561903831824424747317225382856687968796523347473435676262728796296327755760284999139129427069759031526722 1431780611592436926486202200450140548222725855328494171451309733016372697213048885002977984826459531999513201750135937747888384643492838198553151315926721033887443557175013934687316834796865994537806931214056964981062047286427727312156485841386043672572736125853155195763793733204599968857708007967591744812385091593866167300202177749539552894811923039232780471342270591421025127293268318631788260652365373362728371019810931042711504221295663741867697806326571439124176825952925724112802967996824096057311376365711737523912484428174567870411757298088314487729137166693911889310417631895640927266470705279103871948805645507175105234063220604616835877618825342521569228280161271001894292980405068206697040245457884351445305765301375430397781704751881568587125706227555842137881941143462654020638659819502682905172297472286622366755546700357067815086929552144658156989801502052439526826178258546301670617111117116318947574375712012537784635879780457886695664675808960077136171330870016096911503463491623701106820849575865011852719444794642104030584474500539797174213017939584439666151257740247512956689401 2316669693989674655193313563137468016550741686029543947038432043064697588452990196306509466519261872847495384237139685034923542581318410944405957539789644492683105499691376518826518353382183116845307464198311312786999397094573537540087508397833617039298742118305243490840824957850010809733124033517050023028917297650662101320891576442548123598994164055947785529134567463756885548054680973984172082105365649330157851996352633224691523831211917880120604439133969897606711839117559616547195283491123292867646858063319007076783055155972101031146860451916989043495132018695212656427560692177443953048339150210550855498743599166899322014683568782843044676276544670828627002792461402009283507085103723644657453970732305747993791185034189426060769956454065059858639082837352055531104455308262640820827393435610323033200716833633623190251459579228049422442851032625509903556296226275357320354159695555771152516915123994148623022396461848243535635009763286385472364180836671896579484874033485841606276512653185604938645274323182237235576132763438627378057910176802525970509345695344724665290387167317271988216123 3748450305582111581679515763587608564773467541358038118489741776081070285666039081309487451345721404847008585987275622782811927224811249142959108855716365526570549056866390453513835188179049111383114395412368277768061444381001264852243994239219660711871478244158398686604618691054610778590832041484641767841302389244528268621093754192087676493806087095180566000476838055177910675347949292615960342757731022692886223016163564267403028052507581621988302245460541336730888665070485340659998251487947388924958234429030744600695539584146668901558617750005303531224269185389124545737978324073084880314809855489654727447549244674074427248746789387459880553895370013350196231072622673011177800065508791851354494216190190099439096950335564856458551661205946628445764789064907897668986396451725294841466053255113005938373014305920245557007006279585117237529780584770168060546097728327796847180337954102072823134026241110467570596772173860781320270889543744272168028856645631973715656204903501938517779976144809306045466123899047249088295577558080731408642384677342323144722363634929164331441644907564784944905524 6065119999571786236872829326725076581324209227387582065528173819145767874119029277615996917864983277694503970224415307817735469806129660087365066395506010019253654556557766972340353541561232228228421859610679590555060841475574802392331502637053277751170220362463642177445443648904621588323956075001691790870219686895190369941985330634635800092800251151128351529611405518934796223402630266600132424863096672023044075012516197492094551883719499502108906684594511234337600504188044957207193534979070681792605092492349751677478594740118769932705478201922292574719401204084337202165539016250528833363149005700205582946292843840973749263430358170302925230171914684178823233865084075020461307150612515496011948186922495847432888135369754282519321617660011688304403871902259953200090851759987935662293446690723328971573731139553868747258465858813166659972631617395677964102393954603154167534497649657843975650941365104616193619168635709024855905899307030657640393037482303870295141078936987780124056488797994910984111398222229486323871710321519358786700294854144849115231709330273888996732032074882056933121647 9813570305153897818552345090312685146097676768745620184017915595226838159785068358925484369210704682541512556211690930600547397030940909230324175251222375545824203613424157425854188729740281339611536255023047868323122285856576067244575496876272938463041698606622040864050062339959232366914788116486333558711522076139718638563079084826723476586606338246308917530088243574112706898750579559216092767620827694715930298028679761759497579936227081124097208930055052571068489169258530297867191786467018070717563326921380496278174134324265438834264095951927596105943670389473461747903517340323613713677958861189860310393842088515048176512177147557762805784067284697529019464937706748031639107216121307347366442403112685946871985085705319138977873278865958316750168660967167850869077248211713230503759499945836334909946745445474114304265472138398283897502412202165846024648491682930951014714835603759916798784967606215083764215940809569806176176788850774929808421894127935844010797283840489718641836464942804217029577522121276735412167287879600090195342679531487172259954072965203053328173676982446841878027171 15878690304725684055425174417037761727421885996133202249546089414372606033904097636541481287075687960236016526436106238418282866837070569317689241646728385565077858169981924398194542271301513567839958114633727458878183127332150869636906999513326216214211918969085683041495505988863853955238744191488025349581741763034909008505064415461359276679406589397437269059699649093047503122153209825816225192483924366738974373041195959251592131819946580626206115614649563805406089673446575255074385321446088752510168419413730247955652729064384208766969574153849888680663071593557798950069056356574142547041107866890065893340134932356021925775607505728065731014239199381707842698802790823052100414366733822843378390590035181794304873221075073421497194896525970005054572532869427804069168099971701166166052946636559663881520476585027983051523937997211450557475043819561523988750885637534105182249333253417760774435908971319699957835109445278831032082688157805587448814931610239714305938362777477498765892953740799128013688920343506221736038998201119448982042974385632021375185782295476942324905709057328898811148818 25692260609879581873977519507350446873519562764878822433564005009599444193689165995466965656286392642777529082647797169018830263868011478548013416897950761110902061783406081824048731001041794907451494369656775327201305413188726936881482496389599154677253617575707723905545568328823086322153532307974358908293263839174627647068143500288082753266012927643746186589787892667160210020903789385032317960104752061454904671069875721011089711756173661750303324544704616376474578842705105552941577107913106823227731746335110744233826863388649647601233670105777484786606741983031260697972573696897756260719066728079926203733977020871070102287784653285828536798306484079236862163740497571083739521582855130190744832993147867741176858306780392560475068175391928321804741193836595654938245348183414396669812446582395998791467222030502097355789410135609734454977456021727370013399377320465056196964168857177677573220876577534783722051050254848637208259477008580517257236825738175558316735646617967217407729418683603345043266442464782957148206286080719539177385653917119193635139855260679995653079386039775740689175989 41570950914605265929402693924388208600941448761012024683110094423972050227593263632008446943362080603013545609083903407437113130705082047865702658544679146675979919953388006222243273272343308475291452484290502786079488540520877806518389495902925370891465536544793406947041074317686940277392276499462384257875005602209536655573207915749442029945419517041183455649487541760207713143056999210848543152588676428193879044111071680262681843576120242376509440159354180181880668516151680808015962429359195575737900165748840992189479592453033856368203244259627373467269813576589059648041630053471898807760174594969992097074111953227092028063392159013894267812545683460944704862543288394135839935949588953034123223583183049535481731527855465981972263071917898326859313726706023459007413448155115562835865393218955662672987698615530080407313348132821185012452499841288894002150262957999161379213502110595438347656785548854483679886159700127468240342165166386104706051757348415272622674009395444716173622372424402473056955362808289178884245284281838988159428628302751215010325637556156937977985095097104639500324807 67263211524484847803380213431738655474461011525890847116674099433571494421282429627475412599648473245791074691731700576455943394573093526413716075442629907786881981736794088046292004273385103382742946853947278113280793953709604743399871992292524525568719154120501130852586642646510026599545808807436743166168269441384164302641351416037524783211432444684929642239275434427367923163960788595880861112693428489648783715180947401273771555332293904126812764704058796558355247358856786360957539537272302398965631912083951736423306455841683503969436914365404858253876555559620320346014203750369655068479241323049918300808088974098162130351176812299722804610852167540181567026283785965219579457532444083224868056576330917276658589834635858542447331247309826648664054920542619113945658796338529959505677839801351661464454920646032177763102758268430919467429955863016264015549640278464217576177670967773115920877662126389267401937209954976105448601642174966621963288583086590830939409656013411933581351791108005818100221805273072136032451570362558527336814282219870408645465492816836933631064481136880380189500796 108834162439090113732782907356126864075402460286902871799784193857543544648875693259483859543010553848804620300815603983893056525278175574279418733987309054462861901690182094268535277545728411858034399338237780899360282494230482549918261488195449896460184690665294537799627716964196966876938085306899127424043275043593700958214559331786966813156851961726113097888762976187575636307017787806729404265282104917842662759292019081536453398908414146503322204863412976740235915875008467168973501966631497974703532077832792728612786048294717360337640158625032231721146369136209379994055833803841553876239415918019910397882200927325254158414568971313617072423397851001126271888827074359355419393482033036258991280159513966812140321362491324524419594319227724975523368647248642572953072244493645522341543233020307324137442619261562258170416106401252104479882455704305158017699903236463378955391173078368554268534447675243751081823369655103573688943807341352726669340340435006103562083665408856649754974163532408291157177168081361314916696854644397515496242910522621623655791130372993871609049576233985019689825603 176097373963574961536163120787865519549863471812793718916458293291115039070158122886959272142659027094595694992547304560348999919851269100693134809429938962249743883426976182314827281819113515240777346192185059012641076447940087293318133480487974422028903844785795668652214359610706993476483894114335870590211544484977865260855910747824491596368284406411042740128038410614943559470978576402610265377975533407491446474472966482810224954240708050630134969567471773298591163233865253529931041503903800373669163989916744465036092504136400864307077072990437089975022924695829700340070037554211208944718657241069828698690289901423416288765745783613339877034250018541307838915110860324574998851014477119483859336735844884088798911197127183066866925566537551624187423567791261686898731040832175481847221072821658985601897539907594435933518864669683023947312411567321422033249543514927596531568844046141670189412109801633018483760579610079679137545449516319348632628923521596934501493321422268583336325954640414109257398973354433450949148425006956042833057192742492032301256623189830805240114057370865399879326399 284931536402665075268946028143992383625265932099696590716242487148658583719033816146443131685669580943400315293362908544242056445129444674972553543417248016712605785117158276583362559364841927098811745530422839912001358942170569843236394968683424318489088535451090206451842076574903960353421979421234998014254819528571566219070470079611458409525136368137155838016801386802519195777996364209339669643257638325334109233764985564346678353149122197133457174430884750038827079108873720698904543470535298348372696067749537193648878552431118224644717231615469321696169293832039080334125871358052762820958073159089739096572490828748670447180314754926956949457647869542434110803937934683930418244496510155742850616895358850900939232559618507591286519885765276599710792215039904259851803285325821004188764305841966309739340159169156694103934971070935128427194867271626580050949446751390975486960017124510224457946557476876769565583949265183252826489256857672075301969263956603038063576986831125233091300118172822400414576141435794765865845279651353558329300103265113655957047753562824676849163633604850419569152002 461028910366240036805109148931857903175129403912490309632700780439773622789191939033402403828328608037996010285910213104591056364980713775665688352847186978962349668544134458898189841183955442339589091722607898924642435390110657136554528449171398740517992380236885875104056436185610953829905873535570868604466364013549431479926380827435950005893420774548198578144839797417462755248974940611949935021233171732825555708237952047156903307389830247763592143998356523337418242342738974228835584974439098722041860057666281658684971056567519088951794304605906411671192218527868780674195908912263971765676730400159567795262780730172086735946060538540296826491897888083741949719048795008505417095510987275226709953631203734989738143756745690658153445452302828223898215782831165946750534326157996486035985378663625295341237699076751130037453835740618152374507278838948002084198990266318572018528861170651894647358667278509788049344528875262931964034706373991423934598187478199972565070308253393816427626072813236509671975114790228216814993704658309601162357296007605688258304376752655482089277690975715819448478401 745960446768905112074055177075850286800395336012186900348943267588432206508225755179845535513998188981396325579273121648833112810110158450638241896264434995674955453661292735481552400548797369438400837253030738836643794332281226979790923417854823059007080915687976081555898512760514914183327852956805866618721183542120997698996850907047408415418557142685354416161641184219981951026971304821289604664490810058159664942002937611503581660538952444897049318429241273376245321451612694927740128444974397070414556125415818852333849608998637313596511536221375733367361512359907861008321780270316734586634803559249306891835271558920757183126375293467253775949545757626176060522986729692435835340007497430969560570526562585890677376316364198249439965338068104823609007997871070206602337611483817490224749684505591605080577858245907824141388806811553280801702146110574582135148437017709547505488878295162119105305224755386557614928478140446184790523963231663499236567451434803010628647295084519049518926190986058910086551256226022982680838984309663159491657399272719344215352130315480158938441324580566239017630403 1206989357135145148879164326007708189975524739924677209981644048028205829297417694213247939342326797019392335865183334753424169175090872226303930249111621974637305122205427194379742241732752811777989928975638637761286229722391884116345451867026221799525073295924861956659954948946125868013233726492376735223187547555670429178923231734483358421311977917233552994306480981637444706275946245433239539685723981790985220650240889658660484967928782692660641462427597796713663563794351669156575713419413495792456416183082100511018820665566156402548305840827282145038553730887776641682517689182580706352311533959408874687098052289092843919072435832007550602441443645709918010242035524700941252435518484706196270524157766320880415520073109888907593410790370933047507223780702236153352871937641813976260735063169216900421815557322658954178842642552171433176209424949522584219347427284028119524017739465814013752663892033896345664273007015709116754558669605654923171165638913002983193717603337912865946552263799295419758526371016251199495832688967972760654014695280325032473656507068135641027719015556282058466108804 1952949803904050260953219503083558476775920075936864110330587315616638035805643449393093474856324986000788661444456456402257281985201030676942172145376056970312260575866719929861294642281550181216390766228669376597930024054673111096136375284881044858532154211612838038215853461706640782196561579449182601841908731097791426877920082641530766836730535059918907410468122165857426657302917550254529144350214791849144885592243827270164066628467735137557690780856839070089908885245964364084315841864387892862870972308497919363352670274564793716144817377048657878405915243247684502690839469452897440938946337518658181578933323848013601102198811125474804378390989403336094070765022254393377087775525982137165831094684328906771092896389474087157033376128439037871116231778573306359955209549125631466485484747674808505502393415568566778320231449363724713977911571060097166354495864301737667029506617760976132857969116789282903279201485156155301545082632837318422407733090347805993822364898422431915465478454785354329845077627242274182176671673277635920145672094553044376689008637383615799966160340136848297483739207 3159939161039195409832383829091266666751444815861541320312231363644843865103061143606341414198651783020180997309639791155681451160291902903246102394487678944949565698072147124241036884014302992994380695204308014359216253777064995212481827151907266658057227507537699994875808410652766650209795305941559337065096278653461856056843314376014125258042512977152460404774603147494871363578863795687768684035938773640130106242484716928824551596396517830218332243284436866803572449040316033240891555283801388655327388491580019874371490940130950118693123217875940023444468974135461144373357158635478147291257871478067056266031376137106445021271246957482354980832433049046012081007057779094318340211044466843362101618842095227651508416462583976064626786918809970918623455559275542513308081486767445442746219810844025405924208972891225732499074091915896147154120996009619750573843291585765786553524357226790146610633008823179248943474492171864418299641302442973345578898729260808977016082501760344781412030718584649749603603998258525381672504362245608680799686789833369409162665144451751440993879355693130355949848011 5112888964943245670785603332174825143527364891798405430642818679261481900908704592999434889054976769020969658754096247557938733145492933580188274539863735915261826273938867054102331526295853174210771461432977390957146277831738106308618202436788311516589381719150538033091661872359407432406356885390741938907005009751253282934763397017544892094773048037071367815242725313352298020881781345942297828386153565489274991834728544198988618224864252967776023024141275936893481334286280397325207397148189281518198360800077939237724161214695743834837940594924597901850384217383145647064196628088375588230204208996725237844964699985120046123470058082957159359223422452382106151772080033487695427986570448980527932713526424134422601312852058063221660163047249008789739687337848848873263291035893076909231704558518833911426602388459792510819305541279620861132032567069716916928339155887503453583030974987766279468602125612462152222675977328019719844723935280291767986631819608614970838447400182776696877509173370004079448681625500799563849176035523244600945358884386413785851673781835367240960039695829978653433587218 8272828125982441080617987161266091810278809707659946750955050042906325766011765736605776303253628552041150656063736038713620184305784836483434376934351414860211391972011014178343368410310156167205152156637285405316362531608803101521100029588695578174646609226688238027967470283012174082616152191332301275972101288404715138991606711393559017352815561014223828220017328460847169384460645141630066512422092339129405098077213261127813169821260770797994355267425712803697053783326596430566098952431990670173525749291657959112095652154826693953531063812800537925294853191518606791437553786723853735521462080474792294110996076122226491144741305040439514340055855501428118232779137812582013768197614915823890034332368519362074109729314642039286286949966058979708363142897124391386571372522660522351977924369362859317350811361351018243318379633195517008286153563079336667502182447473269240136555332214556426079235134435641401166150469499884138144365237723265113565530548869423947854529901943121478289539891954653829052285623759324945521680397768853281745045674219783195014338926287118681953919051523109009383435229 13385717090925686751403590493440916953806174599458352181597868722167807666920470329605211192308605321062120314817832286271558917451277770063622651474215150775473218245949881232445699936606009341415923618070262796273508809440541207829718232025483889691235990945838776061059132155371581515022509076723043214879106298155968421926370108411103909447588609051295196035260053774199467405342426487572364340808245904618680089911941805326801788046125023765770378291566988740590535117612876827891306349580179951691724110091735898349819813369522437788369004407725135827145237408901752438501750414812229323751666289471517531955960776107346537268211363123396673699279277953810224384551217846069709196184185364804417967045894943496496711042166700102507947113013307988498102830234973240259834663558553599261209628927881693228777413749810810754137685174475137869418186130149053584430521603360772693719586307202322705547837260048103553388826446827903857989089173003556881552162368478038918692977302125898175167049065324657908500967249260124509370856433292097882690404558606196980866012708122485922913958747353087662817022447 21658545216908127832021577654707008764084984307118298932552918765074133432932236066210987495562233873103270970881568324985179101757062606547057028408566565635684610217960895410789068346916165508621075774707548201589871341049344309350818261614179467865882600172527014089026602438383755597638661268055344490851207586560683560917976819804662926800404170065519024255277382235046636789803071629202430853230338243748085187989155066454614957867385794563764733558992701544287588900939473258457405302012170621865249859383393857461915465524349131741900068220525673752440090600420359229939304201536083059273128369946309826066956852229573028412952668163836188039335133455238342617330355658651722964381800280628308001378263462858570820771481342141794234062979366968206465973132097631646406036081214121613187553297244552546128225111161828997456064807670654877704339693228390251932704050834041933856141639416879131627072394483744954554976916327787996133454410726821995117692917347462866547507204069019653456588957279311737553252873019449454892536831060951164435450232825980175880351634409604604867877798876196672200457676 35044262307833814583425168148147925717891158906576651114150787487241941099852706395816198687870839194165391285699400611256738019208340376610679679882781716411157828463910776643234768283522174850036999392777810997863380150489885517180536493639663357557118591118365790150085734593755337112661170344778387705730313884716651982844346928215766836247992779116814220290537436009246104195145498116774795194038584148366765277901096871781416745913510818329535111850559690284878124018552350086348711651592350573556973969475129755811735278893871569530269072628250809579585328009322111668441054616348312383024794659417827358022917628336919565681164031287232861738614411409048567001881573504721432160565985645432725968424158406355067531813648042244302181175992674956704568803367070871906240699639767720874397182225126245774905638860972639751593749982145792747122525823377443836363225654194814627575727946619201837174909654531848507943803363155691854122543583730378876669855285825501785240484506194917828623638022603969646054220122279573964263393264353049047125854791432177156746364342532090527781836546229284335017480123 56702807524741942415446745802854934481976143213694950046703706252316074532784942462027186183433073067268662256580968936241917120965402983157736708291348282046842438681871672054023836630438340358658075167485359199453251491539229826531354755253842825423001191290892804239112337032139092710299831612833732196581521471277335543762323748020429763048396949182333244545814818244292740984948569745977226047268922392114850465890251938236031703780896612893299845409552391829165712919491823344806116953604521195422223828858523613273650744418220701272169140848776483332025418609742470898380358817884395442297923029364137184089874480566492594094116699451069049777949544864286909619211929163373155124947785926061033969802421869213638352585129384386096415238972041924911034776499168503552646735720981842487584735522370798321033863972134468749049814789816447624826865516605834088295929705028856561431869586036080968801982049015593462498780279483479850255997994457200871787548203172964651787991710263937482080226979883281383607472995299023419155930095414000211561305024258157332626715976941695132649714345105481007217937799 91747069832575756998871913951002860199867302120271601160854493739558015632637648857843384871303912261434053542280369547498655140173743359768416388174129998458000267145782448697258604913960515208695074560263170197316631642029115343711891248893506182980119782409258594389198071625894429822961001957612119902311835355993987526606670676236196599296389728299147464836352254253538845180094067862752021241307506540481615743791348810017448449694407431222834957260112082114043836938044173431154828605196871768979197798333653369085386023312092270802438213477027292911610746619064582566821413434232707825322717688781964542112792108903412159775280730738301911516563956273335476621093502668094587285513771571493759938226580275568705884398777426630398596414964716881615603579866239375458887435360749563361981917747497044095939502833107108500643564771962240371949391339983277924659155359223671189007597532655282805976891703547441970442583642639171704378541578187579748457403488998466437028476216458855310703865002487251029661693117578597383419323359767049258687159815690334489373080319473785660431550891334765342235417922 148449877357317699414318659753857794681843445333966551207558199991874090165422591319870571054736985328702715798861338483740572261139146342926153096465478280504842705827654120751282441544398855567353149727748529396769883133568345170243246004147349008403120973700151398628310408658033522533260833570445852098893356827271323070368994424256626362344786677481480709382167072497831586165042637608729247288576428932596466209681600748253480153475304044116134802669664473943209549857535996775960945558801392964401421627192176982359036767730312972074607354325803776243636165228807053465201772252117103267620640718146101726202666589469904753869397430189370961294513501137622386240305431831467742410461557497554793908029002144782344236983906811016495011653936758806526638356365407879011534171081731405849566653269867842416973366805241577249693379561778687996776256856589112012955085064252527750439467118691363774778873752563035432941363922122651554634539572644780620244951692171431088816467926722792792784091982370532413269166112877620802575253455181049470248464839948491821999796296415480793081265236440246349453355721 240196947189893456413190573704860654881710747454238152368412693731432105798060240177713955926040897590136769341141708031239227401312889702694569484639608278962842972973436569448541046458359370776048224288011699594086514775597460513955137253040855191383240756109409993017508480283927952356221835528057972001205192183265310596975665100492822961641176405780628174218519326751370431345136705471481268529883935473078081953472949558270928603169711475338969759929776556057253386795580170207115774163998264733380619425525830351444422791042405242877045567802831069155246911847871636032023185686349811092943358406928066268315458698373316913644678160927672872811077457410957862861398934499562329695975329069048553846255582420351050121382684237646893608068901475688142241936231647254470421606442480969211548571017364886512912869638348685750336944333740928368725648196572389937614240423476198939447064651346646580755765456110477403383947564761823259013081150832360368702355181169897525844944143181648103487956984857783442930859230456218185994576814948098728935624655638826311372876615889266453512816127775011691688773643 388646824547211155827509233458718449563554192788204703575970893723306195963482831497584526980777882918839485140003046514979799662452036045620722581105086559467685678801090690199823488002758226343401374015760228990856397909165805684198383257188204199786361729809561391645818888941961474889482669098503824100098549010536633667344659524749449323985963083262108883600686399249202017510179343080210515818460364405674548163154550306524408756645015519455104562599441030000462936653116166983076719722799657697782041052718007333803459558772718214951652922128634845398883077076678689497224957938466914360563999125074167994518125287843221667514075591117043834105590958548580249101704366331030072106436886566603347754284584565133394358366591048663388619722838234494668880292597055133481955777524212375061115224287232728929886236443590263000030323895519616365501905053161501950569325487728726689886531770038010355534639208673512836325311486884474813647620723477140988947306873341328614661412069904440896272048967228315856200025343333838988569830270129148199184089495587318133372672912304747246594081364215258041142129364 628843771737104612240699807163579104445264940242442855944383587454738301761543071675298482906818780508976254481144754546219027063764925748315292065744694838430528651774527259648364534461117597119449598303771928584942912684763266198153520510229059391169602485918971384663327369225889427245704504626561796101303741193801944264320324625242272285627139489042737057819205726000572448855316048551691784348344299878752630116627499864795337359814726994794074322529217586057716323448696337190192493886797922431162660478243837685247882349815123457828698489931465914554129988924550325529248143624816725453507357532002234262833583986216538581158753752044716706916668415959538111963103300830592401802412215635651901600540166985484444479749275286310282227791739710182811122228828702387952377383966693344272663795304597615442799106081938948750367268229260544734227553249733891888183565911204925629333596421384656936290404664783990239709259051646298072660701874309501357649662054511226140506356213086088999760005952086099299130884573790057174564407085077246928119714151226144444745549528194013700106897491990269732830903007 1017490596284315768068209040622297554008819133030647559520354481178044497725025903172883009887596663427815739621147801061198826726216961793936014646849781397898214330575617949848188022463875823462850972319532157575799310593929071882351903767417263590955964215728532776309146258167850902135187173725065620201402290204338577931664984149991721609613102572304845941419892125249774466365495391631902300166804664284427178279782050171319746116459742514249178885128658616058179260101812504173269213609597580128944701530961845019051341908587841672780351412060100759953013066001229015026473101563283639814071356657076402257351709274059760248672829343161760541022259374508118361064807667161622473908849102202255249354824751550617838838115866334973670847514577944677480002521425757521434333161490905719333779019591830344372685342525529211750397592124780161099729458302895393838752891398933652319220128191422667291825043873457503076034570538530772886308322597786642346596968927852554755167768282990529896032054919314415155330909917123896163134237355206395127303803646813462578118222440498760946700978856205527773973032371 1646334368021420380308908847785876658454084073273090415464738068632782799486568974848181492794415443936791994102292555607417853789981887542251306712594476236328742982350145209496552556924993420582300570623304086160742223278692338080505424277646322982125566701647504160972473627393740329380891678351627416302706031398140522195985308775233993895240242061347582999239097851250346915220811440183594084515148964163179808396409550036115083476274469509043253207657876202115895583550508841363461707496395502560107362009205682704299224258402965130609049901991566674507143054925779340555721245188100365267578714189078636520185293260276298829831583095206477247938927790467656473027910967992214875711261317837907150955364918536102283317865141621283953075306317654860291124750254459909386710545457599063606442814896427959815484448607468160500764860354040705833957011552629285726936457310138577948553724612807324228115448538241493315743829590177070958969024472096143704246630982363780895674124496076618895792060871400514454461794490913953337698644440283642055423517798039607022863771968692774646807876348195797506803935378 2663824964305736148377117888408174212462903206303737974985092549810827297211594878021064502682012107364607733723440356668616680516198849336187321359444257634226957312925763159344740579388869244045151542942836243736541533872621409962857328045063586573081530917376036937281619885561591231516078852076693036504108321602479100127650292925225715504853344633652428940658989976500121381586306831815496384681953628447606986676191600207434829592734212023292432092786534818174074843652321345536730921105993082689052063540167527723350566166990806803389401314051667434460156120927008355582194346751384005081650070846155038777537002534336059078504412438368237788961187164975774834092718635153837349620110420040162400310189670086720122155981007956257623922820895599537771127271680217430821043706948504782940221834488258304188169791132997372251162452478820866933686469855524679565689348709072230267773852804229991519940492411698996391778400128707843845277347069882786050843599910216335650841892779067148791824115790714929609792704408037849500832881795490037182727321444853069600981994409191535593508855204401325280776967749 4310159332327156528686026736194050870916987279576828390449830618443610096698163852869245995476427551301399727825732912276034534306180736878438628072038733870555700295275908368841293136313862664627452113566140329897283757151313748043362752322709909555207097619023541098254093512955331560896970530428320452806814353000619622323635601700459709400093586695000011939898087827750468296807118271999090469197102592610786795072601150243549913069008681532335685300444411020289970427202830186900192628602388585249159425549373210427649790425393771933998451216043234108967299175852787696137915591939484370349228785035233675297722295794612357908335995533574715036900114955443431307120629603146052225331371737878069551265554588622822405473846149577541576998127213254398062252021934677340207754252406103846546664649384686264003654239740465532751927312832861572767643481408153965292625806019210808216327577417037315748055940949940489707522229718884914804246371541978929755090230892580116546516017275143767687616176662115444064254498898951802838531526235773679238150839242892676623845766377884310240316731552597122787580903127 6973984296632892677063144624602225083379890485880566365434923168254437393909758730890310498158439658666007461549173268944651214822379586214625949431482991504782657608201671528186033715702731908672603656508976573633825291023935158006220080367773496128288628536399578035535713398516922792413049382505013489310922674603098722451285894625685424904946931328652440880557077804250589678393425103814586853879056221058393781748792750450984742661742893555628117393230945838464045270855151532436923549708381667938211489089540738151000356592384578737387852530094901543427455296779796051720109938690868375430878855881388714075259298328948416986840407971942952825861302120419206141213348238299889574951482157918231951575744258709542527629827157533799200920948108853935833379293614894771028797959354608629486886483872944568191824030873462905003089765311682439701329951263678644858315154728283038484101430221267307267996433361639486099300629847592758649523718611861715805933830802796452197357910054210916479440292452830373674047203306989652339364408031263716420878160687745746224827760787075845833825586756998448068357870876 11284143628960049205749171360796275954296877765457394755884753786698047490607922583759556493634867209967407189374906181220685749128560323093064577503521725375338357903477579897027326852016594573300055770075116903531109048175248906049582832690483405683495726155423119133789806911472254353310019912933333942117737027603718344774921496326145134305040518023652452820455165632001057975200543375813677323076158813669180576821393900694534655730751575087963802693675356858754015698057981719337116178310770253187370914638913948578650147017778350671386303746138135652394754472632583747858025530630352745780107640916622389372981594123560774895176403505517667862761417075862637448333977841445941800282853895796301502841298847332364933103673307111340777919075322108333895631315549572111236552211760712476033551133257630832195478270613928437755017078144544012468973432671832610150940960747493846700429007638304623016052374311579975806822859566477673453770090153840645561024061695376568743873927329354684167056469114945817738301702205941455177895934267037395659028999930638422848673527164960156074142318309595570855938774003 18258127925592941882812315985398501037676768251337961121319676954952484884517681314649866991793306868633414650924079450165336963950939909307690526935004716880121015511679251425213360567719326481972659426584093477164934339199184064055802913058256901811784354691822697169325520309989177145723069295438347431428659702206817067226207390951830559209987449352304893701012243436251647653593968479628264176955215034727574358570186651145519398392494468643591920086906302697218060968913133251774039728019151921125582403728454686729650503610162929408774156276233037195822209769412379799578135469321221121210986496798011103448240892452509191882016811477460620688622719196281843589547326079745831375234336053714533454417043106041907460733500464645139978840023430962269729010609164466882265350171115321105520437617130575400387302301487391342758106843456226452170303383935511255009256115475776885184530437859571930284048807673219461906123489414070432103293808765702361366957892498173020941231837383565600646496761567776191412348905512931107517260342298301112079907160618384169073501287952036001907967905066594018924296644879 29542271554552991088561487346194776991973646016795355877204430741650532375125603898409423485428174078600821840298985631386022713079500232400755104438526442255459373415156831322240687419735921055272715196659210380696043387374432970105385745748740307495280080847245816303115327221461431499033089208371681373546396729810535412001128887277975693515027967375957346521467409068252705628794511855441941500031373848396754935391580551840054054123246043731555722780581659555972076666971114971111155906329922174312953318367368635308300650627941280080160460022371172848216964242044963547436160999951573866991094137714633492821222486576069966777193214982978288551384136272144481037881303921191773175517189949510834957258341953374272393837173771756480756759098753070603624641924714038993501902382876033581553988750388206232582780572101319780513123921600770464639276816607343865160197076223270731884959445497876553300101181984799437712946348980548105557063898919543006927981954193549589685105764712920284813553230682722009150650607718872562695156276565338507738936160549022591922174815116996157982110223376189589780235418882 47800399480145932971373803331593278029650414268133316998524107696603017259643285213059290477221480947234236491223065081551359677030440141708445631373531159135580388926836082747454047987455247537245374623243303857860977726573617034161188658806997209307064435539068513472440847531450608644756158503810028804975056432017352479227336278229806252725015416728262240222479652504504353282388480335070205676986588883124329293961767202985573452515740512375147642867487962253190137635884248222885195634349074095438535722095823322037951154238104209488934616298604210044039174011457343347014296469272794988202080634512644596269463379028579158659210026460438909240006855468426324627428630000937604550751526003225368411675385059416179854570674236401620735599122184032873353652533878505875767252553991354687074426367518781632970082873588711123271230765056996916809580200542855120169453191699047617069489883357448483584149989658018899619069838394618537660357707685245368294939846691722610626337602096485885460049992250498200562999513231803670212416618863639619818843321167406760995676103069032159890078128442783608704532063761 77342671034698924059935290677788055021624060284928672875728538438253549634768889111468713962649655025835058331522050712937382390109940374109200735812057601391039762341992914069694735407191168592518089819902514238557021113948050004266574404555737516802344516386314329775556174752912040143789247712181710178521453161827887891228465165507781946240043384104219586743947061572757058911182992190512147177017962731521084229353347754825627506638986556106703365648069621809162214302855363193996351540678996269751489040463191957346251804866045489569095076320975382892256138253502306894450457469224368855193174772227278089090685865604649125436403241443417197791390991740570805665309933922129377726268715952736203368933727012790452248407848008158101492358220937103476978294458592544869269154936867388268628415117906987865552863445690030903784354686657767381448857017150198985329650267922318348954449328855325036884251171642818337332016187375166643217421606604788375222921800885272200311443366809406170273603222933220209713650120950676232907572895428978127557779481716429352917850918186028317872188351818973198484767482643 125143070514844857031309094009381333051274474553061989874252646134856566894412174324528004439871135973069294822745115794488742067140380515817646367185588760526620151268828996817148783394646416129763464443145818096417998840521667038427763063362734726109408951925382843247997022284362648788545406215991738983496509593845240370455801443737588198965058800832481826966426714077261412193571472525582352854004551614645413523315114957811200959154727068481851008515557584062352351938739611416881547175028070365190024762559015279384202959104149699058029692619579592936295312264959650241464753938497163843395255406739922685360149244633228284095613267903856107031397847208997130292738563923066982277020241955961571780609112072206632102978522244559722227957343121136350331946992471050745036407490858742955702841485425769498522946319278742027055585451714764298258437217693054105499103459621365966023939212212773520468401161300837236951086025769785180877779314290033743517861647576994810937780968905892055733653215183718410276649634182479903119989514292617747376622802883836113913527021255060477762266480261756807189299546404 202485741549543781091244384687169388072898534837990662749981184573110116529181063435996718402520790998904353154267166507426124457250320889926847102997646361917659913610821910886843518801837584722281554263048332334975019954469717042694337467918472242911753468311697173023553197037274688932334653928173449162017962755673128261684266609245370145205102184936701413710373775650018471104754464716094500031022514346166497752668462712636828465793713624588554374163627205871514566241594974610877898715707066634941513803022207236730454763970195188627124768940554975828551450518461957135915211407721532698588430178967200774450835110237877409532016509347273304822788838949567935958048497845196360003288957908697775149542839084997084351386370252717823720315564058239827310241451063595614305562427726131224331256603332757364075809764968772930839940138372531679707294234843253090828753727543684314978388541068098557352652332943655574283102213144951824095200920894822118740783448462267011249224335715298226007256438116938619990299755133156136027562409721595874934402284600265466831377939441088795634454832080730005674067029047 327628812064388638122553478696550721124173009391052652624233830707966683423593237760524722842391926971973647977012282301914866524390701405744493470183235122444280064879650907703992302196484000852045018706194150431393018794991384081122100531281206969021162420237080016271550219321637337720880060144165188145514472349518368632140068052982958344170160985769183240676800489727279883298325937241676852885027065960811911275983577670448029424948440693070405382679184789933866918180334586027759445890735137000131538565581222516114657723074344887685154461560134568764846762783421607377379965346218696541983685585707123459810984354871105693627629777251129411854186686158565066250787061768263342280309199864659346930151951157203716454364892497277545948272907179376177642188443534646359341969918584874180034098088758526862598756084247514957895525590087295977965731452536307196327857187165050281002327753280872077821053494244492811234188238914737004972980235184855862258645096039261822187005304621190281740909653300657030266949389315636039147551924014213622311025087484101580744904960696149273396721312342486812863366575451 530114553613932419213797863383720109197071544229043315374215015281076799952774301196521441244912717970878001131279448809340990981641022295671340573180881484361939978490472818590835820998321585574326572969242482766368038749461101123816437999199679211932915888548777189295103416358912026653214714072338637307532435105191496893824334662228328489375263170705884654387174265377298354403080401957771352916049580306978409028652040383084857890742154317658959756842811995805381484421929560638637344606442203635073052368603429752845112487044540076312279230500689544593398213301883564513295176753940229240572115764674324234261819465108983103159646286598402716676975525108133002208835559613459702283598157773357122079694790242200800805751262749995369668588471237616004952429894598241973647532346311005404365354692091284226674565849216287888735465728459827657673025687379560287156610914708734595980716294348970635173705827188148385517290452059688829068181156079677980999428544501528833436229640336488507748166091417595650257249144448792175175114333735809497245427372084367047576282900137238069031176144423216818537433604498 857743365678321057336351342080270830321244553620095967998448845989043483376367538957046164087304644942851649108291731111255857506031723701415834043364116606806220043370123726294828123194805586426371591675436633197761057544452485204938538530480886180954078308785857205566653635680549364374094774216503825453046907454709865525964402715211286833545424156475067895063974755104578237701406339199448205801076646267790320304635618053532887315690595010729365139521996785739248402602264146666396790497177340635204590934184652268959770210118884963997433692060824113358244976085305171890675142100158925782555801350381447694072803819980088796787276063849532128531162211266698068459622621381723044563907357638016469009846741399404517260116155247272915616861378416992182594618338132888332989502264895879584399452780849811089273321933463802846630991318547123635638757139915867483484468101873784876983044047629842712994759321432641196751478690974425834041161391264533843258073640540790655623234944957678789489075744718252680524198533764428214322666257750023119556452459568468628321187860833387342427897456765703631400800179949 1387857919292253476550149205463990939518316097849139283372663861270120283329141840153567605332217362913729650239571179920596848487672745997087174616544998091168160021860596544885663944193127172000698164644679115964129096293913586328754976529680565392886994197334634394861757052039461391027309488288842462760579342559901362419788737377439615322920687327180952549451149020481876592104486741157219558717126226574768729333287658436617745206432749328388324896364808781544629887024193707305034135103619544270277643302788082021804882697163425040309712922561513657951643189387188736403970318854099155023127917115055771928334623285089071899946922350447934845208137736374831070668458180995182746847505515411373591089541531641605318065867417997268285285449849654608187547048232731130306637034611206884988764807472941095315947887782680090735366457047006951293311782827295427770641079016582519472963760341978813348168465148620789582268769143034114663109342547344211824257502185042319489059464585294167297237241836135848330781447678213220389497780591485832616801879831652835675897470760970625411459073601188920449938233784447 2245601284970574533886500547544261769839560651469235251371112707259163766705509379110613769419522007856581299347862911031852705993704469698503008659909114697974380065230720271180492067387932758427069756320115749161890153838366071533693515060161451573841072506120491600428410687720010755401404262505346288213626250014611227945753140092650902156466111483656020444515123775586454829805893080356667764518202872842559049637923276490150632522123344339117690035886805567283878289626457853971430925600796884905482234236972734290764652907282310004307146614622337771309888165472493908294645460954258080805683718465437219622407427105069160696734198414297466973739299947641529139128080802376905791411412873049390060099388273041009835325983573244541200902311228071600370141666570864018639626536876102764573164260253790906405221209716143893581997448365554074928950539967211295254125547118456304349946804389608656061163224470053430779020247834008540497150503938608745667515575825583110144682699530251846086726317580854101011305646211977648603820446849235855736358332291221304304218658621804012753886971057954624081339033964396 3633459204262828010436649753008252709357876749318374534743776568529284050034651219264181374751739370770310949587434090952449554481377215695590183276454112789142540087091316816066156011581059930427767920964794865126019250132279657862448491589842016966728066703455125995290167739759472146428713750794188750974205592574512590365541877470090517479386798810836972993966272796068331421910379821513887323235329099417327778971210934926768377728556093667506014932251614348828508176650651561276465060704416429175759877539760816312569535604445735044616859537183851429261531354859682644698615779808357235828811635580492991550742050390158232596681120764745401818947437684016360209796538983372088538258918388460763651188929804682615153391850991241809486187761077726208557688714803595148946263571487309649561929067726732001721169097498823984317363905412561026222262322794506723024766626135038823822910564731587469409331689618674220361289016977042655160259846485952957491773078010625429633742164115546013383963559416989949342087093890190868993318227440721688353160212122874139980116129382774638165346044659143544531277267748843 5879060489233402544323150300552514479197437400787609786114889275788447816740160598374795144171261378626892248935297001984302260475081685394093191936363227487116920152322037087246648078968992688854837677284910614287909403970645729396142006650003468540569139209575617595718578427479482901830118013299535039187831842589123818311295017562741419635852910294492993438481396571654786251716272901870555087753531972259886828609134211416919010250679438006623704968138419916112386466277109415247895986305213314081242111776733550603334188511728045048924006151806189200571419520332176552993261240762615316634495354045930211173149477495227393293415319179042868792686737631657889348924619785748994329670331261510153711288318077723624988717834564486350687090072305797808927830381374459167585890108363412414135093327980522908126390307214967877899361353778115101151212862761718018278892173253495128172857369121196125470494914088727651140309264811051195657410350424561703159288653836208539778424863645797859470689876997844050353392740102168517597138674289957544089518544414095444284334788004578650919233015717098168612616301713239 9512519693496230554759800053560767188555314150105984320858665844317731866774811817638976518923000749397203198522731092936751814956458901089683375212817340276259460239413353903312804090550052619282605598249705479413928654102925387258590498239845485507297205913030743591008746167238955048258831764093723790162037435163636408676836895032831937115239709105329966432447669367723117673626652723384442410988861071677214607580345146343687387979235531674129719900390034264940894642927760976524361047009629743257001989316494366915903724116173780093540865688990040629832950875191859197691877020570972552463306989626423202723891527885385625890096439943788270611634175315674249558721158769121082867929249649970917362477247882406240142109685555728160173277833383524017485519096178054316532153679850722063697022395707254909847559404713791862216725259190676127373475185556224741303658799388533951995767933852783594879826603707401871501598281788093850817670196910514660651061731846833969412167027761343872854653436414833999695479833992359386590456901730679232442678756536969584264450917387353289084579060376241713143893569462082 15391580182729633099082950354113281667752751550893594106973555120106179683514972416013771663094262128024095447458028094921054075431540586483776567149180567763376380391735390990559452169519045308137443275534616093701838058073571116654732504889848954047866345122606361186727324594718437950088949777393258829349869277752760226988131912595573356751092619399822959870929065939377903925342925625254997498742393043937101436189479357760606398229914969680753424868528454181053281109204870391772257033314843057338244101093227917519237912627901825142464871840796229830404370395524035750685138261333587869097802343672353413897041005380613019183511759122831139404320912947332138907645778554870077197599580911481071073765565960129865130827520120214510860367905689321826413349477552513484118043788214134477832115723687777817973949711928759740116086612968791228524688048317942759582550972642029080168625302973979720350321517796129522641907546599145046475080547335076363810350385683042509190591891407141732325343313412678050048872574094527904187595576020636776532197300951065028548785705391931940003812076093339881756509871175321 24904099876225863653842750407674048856308065700999578427832220964423911550289784233652748182017262877421298645980759187857805890387999487573459942361997908039635840631148744893872256260069097927420048873784321573115766712176496503913323003129694439555163551035637104777736070761957392998347781541486982619511906712916396635664968807628405293866332328505152926303376735307101021598969578348639439909731254115614316043769824504104293786209150501354883144768918488445994175752132631368296618080324472800595246090409722284435141636744075605236005737529786270460237321270715894948377015281904560421561109333298776616620932533265998645073608199066619410015955088263006388466366937323991160065528830561451988436242813842536105272937205675942671033645739072845843898868573730567800650197468064856541529138119395032727821509116642551602332811872159467355898163233874167500886209772030563032164393236826763315230148121503531394143505828387238897292750744245591024461412117529876478602758919168485605179996749827512049744352408086887290778052477751316008974876057488034612813236622779285229088391136469581594900403440637403 40295680058955496752925700761787330524060817251893172534805776084530091233804756649666519845111525005445394093438787282778859965819540074057236509511178475803012221022884135884431708429588143235557492149318937666817604770250067620568055508019543393603029896158243465964463395356675830948436731318880241448861775990669156862653100720223978650617424947904975886174305801246478925524312503973894437408473647159551417479959303861864900184439065471035636569637446942627047456861337501760068875113639315857933490191502950201954379549371977430378470609370582500290641691666239930699062153543238148290658911676971130030517973538646611664257119958189450549420276001210338527374012715878861237263128411472933059510008379802665970403764725796157181894013644762167670312218051283081284768241256278991019361253843082810545795458828571311342448898485128258584422851282192110260468760744672592112333018539800743035580469639299660916785413374986383943767831291580667388271762503212918987793350810575627337505340063240190099793224982181415194965648053771952785507073358439099641362022328171217169092203212562921476656913311812724 65199779935181360406768451169461379380368882952892750962637997048954002784094540883319268027128787882866692739419546470636665856207539561630696451873176383842648061654032880778303964689657241162977541023103259239933371482426564124481378511149237833158193447193880570742199466118633223946784512860367224068373682703585553498318069527852383944483757276410128812477682536553579947123282082322533877318204901275165733523729128365969193970648215972390519714406365431073041632613470133128365493193963788658528736281912672486389521186116053035614476346900368770750879012936955825647439168825142708712220021010269906647138906071912610309330728157256069959436231089473344915840379653202852397328657242034385047946251193645202075676701931472099852927659383835013514211086625013649085418438724343847560890391962477843273616967945213862944781710357287725940321014516066277761354970516703155144497411776627506350810617760803192310928919203373622841060582035826258412733174620742795466396109729744112942685336813067702149537577390268302485743700531523268794481949415927134254175258950950502398180594349032503071557316752450127 105495459994136857159694151931248709904429700204785923497443773133484094017899297532985787872240312888312086832858333753415525822027079635687932961384354859645660282676917016662735673119245384398535033172422196906750976252676631745049434019168781226761223343352124036706662861475309054895221244179247465517235458694254710360971170248076362595101182224315104698651988337800058872647594586296428314726678548434717151003688432227834094155087281443426156284043812373700089089474807634888434368307603104516462226473415622688343900735488030465992946956270951271041520704603195756346501322368380857002878932687241036677656879610559221973587848115445520508856507090683683443214392369081713634591785653507318107456259573447868046080466657268257034821673028597181184523304676296730370186679980622838580251645805560653819412426773785174287230608842415984524743865798258388021823731261375747256830430316428249386391087400102853227714332578360006784828413327406925801004937123955714454189460540319740280190676876307892249330802372449717680709348585295221579989022774366233895537281279121719567272797561595424548214230064262851 170695239929318217566462603100710089284798583157678674460081770182438096801993838416305055899369100771178779572277880224052191678234619197318629413257531243488308344330949897441039637808902625561512574195525456146684347735103195869530812530318019059919416790546004607448862327593942278842005757039614689585609141397840263859289239775928746539584939500725233511129670874353638819770876668618962192044883449709882884527417560593803288125735497415816675998450177804773130722088277768016799861501566893174990962755328295174733421921604083501607423303171320041792399717540151581993940491193523565715098953697510943324795785682471832282918576272701590468292738180157028359054772022284566031920442895541703155402510767093070121757168588740356887749332412432194698734391301310379455605118704966686141142037768038497093029394718999037232012319199703710465064880314324665783178701778078902401327842093055755737201705160906045538643251781733629625888995363233184213738111744698509920585570270063853222876013689375594398868379762718020166453049116818490374470972190293368149712540230072221965453391910627927619771546816712978 276190699923455074726156755031958799189228283362464597957525543315922190819893135949290843771609413659490866405136213977467717500261698833006562374641886103133968627007866914103775310928148009960047607367947653053435323987779827614580246549486800286680640133898128644155525189069251333737227001218862155102844600092094974220260410024005109134686121725040338209781659212153697692418471254915390506771561998144600035531105992821637382280822778859242832282493990178473219811563085402905234229809169997691453189228743917863077322657092113967600370259442271312833920422143347338340441813561904422717977886384751980002452665293031054256506424388147110977149245270840711802269164391366279666512228549049021262858770340540938167837635246008613922571005441029375883257695977607109825791798685589524721393683573599150912441821492784211519242928042119694989808746112583053805002433039454649658158272409484005123592792561008898766357584360093636410717408690640110014743048868654224374775030810383593503066690565683486648199182135167737847162397702113711954459994964659602045249821509193941532726189472223352167985776880975829 446885939852773292292619358132668888474026866520143272417607313498360287621886974365595899670978514430669645977414094201519909178496318030325191787899417346622276971338816811544814948737050635521560181563473109200119671722883023484111059079804819346600056924444133251604387516663193612579232758258476844688453741489935238079549649799933855674271061225765571720911330086507336512189347923534352698816445447854482920058523553415440670406558276275059508280944167983246350533651363170922034091310736890866444151984072213037810744578696197469207793562613591354626320139683498920334382304755427988433076840082262923327248450975502886539425000660848701445441983450997740161323936413650845698432671444590724418261281107634008289594803834748970810320337853461570581992087278917489281396917390556210862535721341637648005471216211783248751255247241823405454873626426907719588181134817533552059486114502539760860794497721914944305000836141827266036606404053873294228481160613352734295360601080447446725942704255059081047067561897885758013615446818932202328930967154952970194962361739266163498179581382851279787757323697688807 723076639776228367018776113164627687663255149882607870375132856814282478441780110314886743442587928090160512382550308178987626678758016863331754162541303449756245598346683725648590259665198645481607788931420762253554995710662851098691305629291619633280697058342261895759912705732444946316459759477338999791298341582030212299810059823938964808957182950805909930692989298661034204607819178449743205588007445999082955589629546237078052687381055134302340563438158161719570345214448573827268321119906888557897341212816130900888067235788311436808163822055862667460240561826846258674824118317332411151054726467014903329701116268533940795931425048995812422591228721838451963593100805017125364944899993639745681120051448174946457432439080757584732891343294490946465249783256524599107188716076145735583929404915236798917913037704567460270498175283943100444682372539490773393183567856988201717644386912023765984387290282923843071358420501920902447323812744513404243224209482006958670135631890831040229009394820742567695266744033053495860777844521045914283390962119612572240212183248460105030905770855074631955743100578664636 1169962579629001659311395471297296576137282016402751142792740170312642766063667084680482643113566442520830158359964402380507535857254334893656945950440720796378522569685500537193405208402249281003167970494893871453674667433545874582802364709096438979880753982786395147364300222395638558895692517735815844479752083071965450379359709623872820483228244176571481651604319385168370716797167101984095904404452893853565875648153099652518723093939331409361848844382326144965920878865811744749302412430643779424341493196888343938698811814484508906015957384669454022086560701510345179009206423072760399584131566549277826656949567244036827335356425709844513868033212172836192124917037218667971063377571438230470099381332555808954747027242915506555543211681147952517047241870535442088388585633466701946446465126256874446923384253916350709021753422525766505899555998966398492981364702674521753777130501414563526845181788004838787376359256643748168483930216798386698471705370095359692965496232971278486954952099075801648742334305930939253874393291339978116612321929274565542435174544987726268529085352237925911743500424276353443 1893039219405230026330171584461924263800537166285359013167873027126925244505447194995369386556154370610990670742514710559495162536012351756988700112982024246134768168032184262841995468067447926484775759426314633707229663144208725681493670338388058613161451041128657043124212928128083505212152277213154844271050424653995662679169769447811785292185427127377391582297308683829404921404986280433839109992460339852648831237782645889596775781320386543664189407820484306685491224080260318576570733550550667982238834409704474839586879050272820342824121206725316689546801263337191437684030541390092810735186293016292729986650683512570768131287850758840326290624440894674644088510138023685096428322471431870215780501384003983901204459681996264140276103024442443463512491653791966687495774349542847682030394531172111245841297291620918169292251597809709606344238371505889266374548270531509955494774888326587292829569078287762630447717677145669070931254029542900102714929579577366651635631864862109527183961493896544216437601049963992749735171135861024030895712891394178114675386728236186373559991123093000543699243524855018079 3063001799034231685641567055759220839937819182688110155960613197439568010569114279675852029669720813131820829102479112940002698393266686650645646063422745042513290737717684800035400676469697207487943729921208505160904330577754600264296035047484497593042205023915052190488513150523722064107844794948970688750802507725961113058529479071684605775413671303948873233901628068997775638202153382417935014396913233706214706885935745542115498875259717953026038252202810451651412102946072063325873145981194447406580327606592818778285690864757329248840078591394770711633361964847536616693236964462853210319317859565570556643600250756607595466644276468684840158657653067510836213427175242353067491700042870100685879882716559792855951486924911770695819314705590395980559733524327408775884359983009549628476859657428985692764681545537268878314005020335476112243794370472287759355912973206031709271905389741150819674750866292601417824076933789417239415184246341286801186634949672726344601128097833388014138913592972345865179935355894932003609564427201002147508034820668743657110561273223912642089076475330926455442743949131371522 4956041018439461711971738640221145103738356348973469169128486224566493255074561474671221416225875183742811499844993823499497860929279038407634346176404769288648058905749869062877396144537145133972719489347523138868133993721963325945789705385872556206203656065043709233612726078651805569319997072162125533021852932379956775737699248519496391067599098431326264816198936752827180559607139662851774124389373573558863538123718391431712274656580104496690227660023294758336903327026332381902443879531745115388819162016297293617872569915030149591664199798120087401180163228184728054377267505852946021054504152581863286630250934269178363597932127227525166449282093962185480301937313266038163920022514301970901660384100563776757155946606908034836095417730032839444072225178119375463380134332552397310507254188601096938605978837158187047606256618145185718588032741978177025730461243737541664766680278067738112504319944580364048271794610935086310346438275884186903901564529250092996236759962695497541322875086868890081617536405858924753344735563062026178403747712062921771785948001460099015649067598423926999141987473986389601 8019042817473693397613305695980365943676175531661579325089099422006061265643675754347073445895595996874632328947472936439500559322545725058279992239827514331161349643467553862912796821006842341460663219268731644029038324299717926210085740433357053799245861088958761424101239229175527633427841867111096221772655440105917888796228727591180996843012769735275138050100564821824956197809293045269709138786286807265078245009654136973827773531839822449716265912226105209988315429972404445228317025512939562795399489622890112396158260779787478840504278389514858112813525193032264671070504470315799231373822012147433843273851185025785959064576403696210006607939747029696316515364488508391231411722557172071587540266817123569613107433531819805531914732435623235424631958702446784239264494315561946938984113846030082631370660382695455925920261638480661830831827112450464785086374216943573374038585667808888932179070810872965466095871544724503549761622522225473705088199478922819340837888060528885555461788679841235946797471761753856756954299990263028325911782532731665428896509274684011657738144073754853454584731423117761123 12975083835913155109585044336201511047414531880635048494217585646572554520718237229018294862121471180617443828792466759938998420251824763465914338416232283619809408549217422925790192965543987475433382708616254782897172318021681252155875445819229610005449517154002470657713965307827333202747838939273221754794508372485874664533927976110677387910611868166601402866299501574652136757416432708121483263175660380823941783133372528405540048188419926946406493572249399968325218756998736827130760905044684678184218651639187406014030830694817628432168478187634945513993688421216992725447771976168745252428326164729297129904102119294964322662508530923735173057221840991881796817301801774429395331745071474042489200650917687346370263380138727840368010150165656074868704183880566159702644628648114344249491368034631179569976639219853642973526518256625847549419859854428641810816835460681115038805265945876627044683390755453329514367666155659589860108060798109660608989764008172912337074648023224383096784663766710126028415008167612781510299035553325054504315530244794587200682457276144110673387211672178780453726718897104150724 20994126653386848507198350032181876991090707412296627819306685068578615786361912983365368308017067177492076157739939696378498979574370488524194330656059797950970758192684976788702989786550829816894045927884986426926210642321399178365961186252586663804695378242961232081815204537002860836175680806384317976567163812591792553330156703701858384753624637901876540916400066396477092955225725753391192401961947188089020028143026665379367821720259749396122759484475505178313534186971141272359077930557624240979618141262077518410189091474605107272672756577149803626807213614249257396518276446484544483802148176876730973177953304320750281727084934619945179665161588021578113332666290282820626743467628646114076740917734810915983370813670547645899924882601279310293336142583012943941909122963676291188475481880661262201347299602549098899446779895106509380251686966879106595903209677624688412843851613685515976862461566326294980463537700384093409869683320335134314077963487095731677912536083753268652246452446551361975212479929366638267253335543588082830227312777526252629578966550828122331125355745933633908311450320221911847 33969210489300003616783394368383388038505239292931676313524270715151170307080150212383663170138538358109519986532406456317497399826195251990108669072292081570780166741902399714493182752094817292327428636501241209823382960343080430521836632071816273810144895396963702739529169844830194038923519745657539731361672185077667217864084679812535772664236506068477943782699567971129229712642158461512675665137607568912961811276399193784907869908679676342529253056724905146638752943969878099489838835602308919163836792901264924424219922169422735704841234764784749140800902035466250121966048422653289736230474341606028103082055423615714604389593465543680352722383429013459910149968092057250022075212700120156565941568652498262353634193809275486267935032766935385162040326463579103644553751611790635437966849915292441771323938822402741872973298151732356929671546821307748406720045138305803451649117559562143021545852321779624494831203856043683269977744118444794923067727495268644014987184106977651749031116213261488003627488096979419777552371096913137334542843022320839830261423826972233004512567418112414362038169217326062571 54963337142686852123981744400565265029595946705228304132830955783729786093442063195749031478155605535601596144272346152695996379400565740514302999728351879521750924934587376503196172538645647109221474564386227636749593602664479608887797818324402937614840273639924934821344374381833054875099200552041857707928835997669459771194241383514394157417861143970354484699099634367606322667867884214903868067099554757001981839419425859164275691628939425738652012541200410324952287130941019371848916766159933160143454934163342442834409013644027842977513991341934552767608115649715507518484324869137834220032622518482759076260008727936464886116678400163625532387545017035038023482634382340070648818680328766270642682486387309178337005007479823132167859915368214695455376469046592047586462874575466926626442331795953703972671238424951840772420078046838866309923233788186855002623254815930491864492969173247658998408313888105919475294741556427776679847427438779929237145690982364375692899720190730920401277568659812849978839968026346058044805706640501220164770155799847092459840390377800355335637923164046048270349619537547974418 88932547631986855740765138768948653068101185998159980446355226498880956400522213408132694648294143893711116130804752609013493779226760992504411668800643961092531091676489776217689355290740464401548903200887468846572976563007560039409634450396219211424985169036888637560873544226663248914022720297699397439290508182747126989058326063326929930082097650038832428481799202338735552380510042676416543732237162325914943650695825052949183561537619102081181265597925315471591040074910897471338755601762242079307291727064607367258628935813450578682355226106719301908409017685181757640450373291791123956263096860088787179342064151552179490506271865707305885109928446048497933632602474397320670893893028886427208624055039807440690639201289098618435794948135150080617416795510171151231016626187257562064409181711246145743995177247354582645393376198571223239594780609494603409343299954236295316142086732809802019954166209885543970125945412471459949825171557224724160213418477633019707886904297708572150308684873074337982467456123325477822358077737414357499312998822167932290101814204772588340150490582158462632387788754874036989 143895884774673707864746883169513918097697132703388284579186182282610742493964276603881726126449749429312712275077098761709490158627326733018714668528995840614282016611077152720885527829386111510770377765273696483322570165672039648297432268720622149039825442676813572382217918608496303789121920849741255147219344180416586760252567446841324087499958794009186913180898836706341875048377926891320411799336717082916925490115250912113459253166558527819833278139125725796543327205851916843187672367922175239450746661227949810093037949457478421659869217448653854676017133334897265158934698160928958176295719378571546255602072879488644376622950265870931417497473463083535957115236856737391319712573357652697851306541427116619027644208768921750603654863503364776072793264556763198817479500762724488690851513507199849716666415672306423417813454245410089549518014397681458411966554770166787180635055906057461018362480097991463445420686968899236629672598996004653397359109459997395400786624488439492551586253532887187961307424149671535867163784377915577664083154622015024749942204582572943675788413746204510902737408292422011407 232828432406660563605512021938462571165798318701548265025541408781491698894486490012014420774743893323023828405881851370722983937854087725523126337329639801706813108287566928938574883120126575912319280966161165329895546728679599687707066719116841360464810611713702209943091462835159552703144641147440652586509852363163713749310893510168254017582056444048019341662698039045077427428887969567736955531573879408831869140811075965062642814704177629901014543737051041268134367280762814314526427969684417318758038388292557177351666885270929000342224443555373156584426151020079022799385071452720082132558816238660333434944137031040823867129222131578237302607401909132033890747839331134711990606466386539125059930596466924059718283410058020369039449811638514856690210060066934350048496126949982050755260695218445995460661592919661006063206830443981312789112795007176061821309854724403082496777142638867263038316646307877007415546632381370696579497770553229377557572527937630415108673528786148064701894938405961525943774880272997013689521862115329935163396153444182957040044018787345532015938904328362973535125197047296048396 376724317181334271470258905107976489263495451404936549604727591064102441388450766615896146901193642752336540680958950132432474096481414458541841005858635642321095124898644081659460410949512687423089658731434861813218116894351639336004498987837463509504636054390515782325309381443655856492266561997181907733729196543580300509563460957009578105082015238057206254843596875751419302477265896459057367330910596491748794630926326877176102067870736157720847821876176767064677694486614731157714100337606592558208785049520506987444704834728407422002093661004027011260443284354976287958319769613649040308854535617231879690546209910529468243752172397449168720104875372215569847863076187872103310319039744191822911237137894040678745927618826942119643104675141879632763003324623697548865975627712706539446112208725645845177328008591967429481020284689391402338630809404857520233276409494569869677412198544924724056679126405868470860967319350269933209170369549234030954931637397627810509460153274587557253481191938848713905082304422668549556685646493245512827479308066197981789986223369918475691727318074567484437862605339718059803 609552749587994835075770927046439060429293770106484814630268999845594140282937256627910567675937536075360369086840801503155458034335502184064967343188275444027908233186211010598035294069639263335408939697596027143113663623031239023711565706954304869969446666104217992268400844278815409195411203144622560320239048906744014258874354467177832122664071682105225596506294914796496729906153866026794322862484475900580663771737402842238744882574913787621862365613227808332812061767377545472240528307291009876966823437813064164796371719999336422344318104559400167844869435375055310757704841066369122441413351855892213125490346941570292110881394529027406022712277281347603738610915519006815300925506130730947971167734360964738464211028884962488682554486780394489453213384690631898914471754662688590201372903944091840637989601511628435544227115133372715127743604412033582054586264218972952174189341183791987094995772713745478276513951731640629788668140102463408512504165335258225618133682060735621955376130344810239848857184695665563246207508608575447990875461510380938830030242157264007707666222402930457972987802387014108199 986277066769329106546029832154415549692789221511421364234996590909696581671388023243806714577131178827696909767799751635587932130816916642606808349046911086349003358084855092257495705019151950758498598429030888956331780517382878359716064694791768379474082720494733774593710225722471265687677765141804468053968245450324314768437815424187410227746086920162431851349891790547916032383419762485851690193395072392329458402663729719414846950445649945342710187489404575397489756253992276629954628644897602435175608487333571152241076554727743844346411765563427179105312719730031598716024610680018162750267887473124092816036556852099760354633566926476574742817152653563173586473991706878918611244545874922770882404872255005417210138647711904608325659161922274122216216709314329447780447382375395129647485112669737685815317610103595865025247399822764117466374413816891102287862673713542821851601539728716711151674899119613949137481271081910562997838509651697439467435802732886036127593835335323179208857322283658953753939489118334112802893155101820960818354769576578920620016465527182483399393540477497942410850407726732168002 1595829816357323941621800759200854610122082991617906178865265590755290721954325279871717282253068714903057278854640553138743390165152418826671775692235186530376911591271066102855530999088791214093907538126626916099445444140414117383427630401746073249443529386598951766862111070001286674883088968286427028374207294357068329027312169891365242350410158602267657447856186705344412762289573628512646013055879548292910122174401132561653591833020563732964572553102632383730301818021369822102195156952188612312142431925146635317037448274727080266690729870122827346950182155105086909473729451746387285191681239329016305941526903793670052465514961455503980765529429934910777325084907225885733912170052005653718853572606615970155674349676596867097008213648702668611669430094004961346694919137038083719848858016613829526453307211615224300569474514956136832594118018228924684342448937932515774025790880912508698246670671833359427413995222813551192786506649754160847979939968068144261745727517396058801164233452628469193602796673813999676049100663710396408809230231086959859450046707684446491107059762880428400383838210113746276201 2582106883126653048167830591355270159814872213129327543100262181664987303625713303115523996830199893730754188622440304774331322295969335469278584041282097616725914949355921195113026704107943164852406136555657805055777224657796995743143695096537841628917612107093685541455821295723757940570766733428231496428175539807392643795749985315552652578156245522430089299206078495892328794672993390998497703249274620685239580577064862281068438783466213678307282740592036959127791574275362098732149785597086214747318040412480206469278524829454824111037141635686254526055494874835118508189754062426405447941949126802140398757563460645769812820148528381980555508346582588473950911558898932764652523414597880576489735977478870975572884488324308771705333872810624942733885646803319290794475366519413478849496343129283567212268624821718820165594721914778900950060492432045815786630311611646058595877392420641225409398345570952973376551476493895461755784345159405858287447375770801030297873321352731381980373090774912128147356736162932333788851993818812217369627585000663538780070063173211628974506453303357926342794688617840478444203 4177936699483976989789631350556124769936955204747233721965527772420278025580038582987241279083268608633811467477080857913074712461121754295950359733517284147102826540626987297968557703196734378946313674682284721155222668798211113126571325498283914878361141493692637308317932365725044615453855701714658524802382834164460972823062155206917894928566404124697746747062265201236741556962567019511143716305154168978149702751465994842722030616486777411271855293694669342858093392296731920834344942549274827059460472337626841786315973104181904377727871505809081873005677029940205417663483514172792733133630366131156704699090364439439865285663489837484536273876012523384728236643806158650386435584649886230208589550085486945728558838000905638802342086459327611345555076897324252141170285656451562569345201145897396738721932033334044466164196429735037782654610450274740470972760549578574369903183301553734107645016242786332803965471716709012948570851809160019135427315738869174559619048870127440781537324227540597340959532836746333464901094482522613778436815231750498639520109880896075465613513066238354743178526827954224720404 6760043582610630037957461941911394929751827417876561265065789954085265329205751886102765275913468502364565656099521162687406034757091089765228943774799381763828741489982908493081584407304677543798719811237942526210999893456008108869715020594821756507278753600786322849773753661448802556024622435142890021230558373971853616618812140522470547506722649647127836046268343697129070351635560410509641419554428789663389283328530857123790469399952991089579138034286706301985884966572094019566494728146361041806778512750107048255594497933636728488765013141495336399061171904775323925853237576599198181075579492933297103456653825085209678105812018219465091782222595111858679148202705091415038958999247766806698325527564357921301443326325214410507675959269952554079440723700643542935645652175865041418841544275180963950990556855052864631758918344513938732715102882320556257603072161224632965780575722194959517043361813739306180516948210604474704355196968565877422874691509670204857492370222858822761910415002452725488316268999678667253753088301334831148064400232414037419590173054107704440119966369596281085973215445794703164607 10937980282094607027747093292467519699688782622623794987031317726505543354785790469090006554996737110998377123576602020600480747218212844061179303508316665910931568030609895791050142110501411922745033485920227247366222562254219221996286346093105671385639895094478960158091686027173847171478478136857548546032941208136314589441874295729388442435289053771825582793330608898365811908598127430020785135859582958641538986079996851966512500016439768500850993327981375644843978358868825940400839670695635868866238985087733890041910471037818632866492884647304418272066848934715529343516721090771990914209209859064453808155744189524649543391475508056949628056098607635243407384846511250065425394583897653036906915077649844867030002164326120049310018045729280165424995800597967795076815937832316603988186745421078360689712488888386909097923114774248976515369713332595296728575832710803207335683759023748693624688378056525638984482419927313487652926048777725896558302007248539379417111419092986263543447739229993322829275801836425000718654182783857444926501215464164536059110282935003779905733479435834635829151742273748927885011 17698023864705237065704555234378914629440610040500356252097107680590808683991542355192771830910205613362942779676123183287886781975303933826408247283116047674760309520592804284131726517806089466543753297158169773577222455710227330866001366687927427892918648695265283007865439688622649727503100572000438567263499582108168206060686436251858989942011703418953418839598952595494882260233687840530426555414011748304928269408527709090302969416392759590430131362268081946829863325440919959967334398841996910673017497837840938297504968971455361355257897788799754671128020839490853269369958667371189095284789351997750911612398014609859221497287526276414719838321202747102086533049216341480464353583145419843605240605214202788331445490651334459817694004999232719504436524298611338012461590008181645407028289696259324640703045743439773729682033118762915248084816214915852986178904872027840301464334745943653141731739870264945164999368137917962357281245746291773981176698758209584274603789315845086305358154232446048317592070836103667972407271085192276074565615696578573478700455989111484345853445805430916915124957719543631049618 28636004146799844093451648526846434329129392663124151239128425407096352038777332824282778385906942724361319903252725203888367529193516777887587550791432713585691877551202700075181868628307501389288786783078397020943445017964446552862287712781033099278558543789744243165957125715796496898981578708857987113296440790244482795502560731981247432377300757190779001632929561493860694168831815270551211691273594706946467255488524561056815469432832528091281124690249457591673841684309745900368174069537632779539256482925574828339415440009273994221750782436104172943194869774206382612886679758143180009493999211062204719768142204134508764888763034333364347894419810382345493917895727591545889748167043072880512155682864047655361447654977454509127712050728512884929432324896579133089277527840498249395215035117337685330415534631826682827605147893011891763454529547511149714754737582831047637148093769692346766420117926790584149481788065231450010207294524017670539478706006748963691715208408831349848805893462439371146867872672528668691061453869049721001066831160743109537810738924115264251586925241265552744276699993292558934629 46334028011505081159156203761225348958570002703624507491225533087687160722768875179475550216817148337724262682928848387176254311168820711713995798074548761260452187071795504359313595146113590855832540080236566794520667473674673883728289079468960527171477192485009526173822565404419146626484679280858425680559940372352651001563247168233106422319312460609732420472528514089355576429065503111081638246687606455251395524897052270147118438849225287681711256052517539538503705009750665860335508468379629690212273980763415766636920408980729355577008680224903927614322890613697235882256638425514369104778788563059955631380540218744367986386050560609779067732741013129447580450944943933026354101750188492724117396288078250443692893145628788968945406055727745604433868849195190471101739117848679894802243324813597009971118580375266456557287181011774807011539345762427002700933642454858887938612428515635999908151857797055529314481156203149412367488540270309444520655404764958547966318997724676436154164047694885419464459943508632336663468724954241997075632446857321683016511194913226748597440371046696469659401657712836189984247 74970032158304925252607852288071783287699395366748658730353958494783512761546208003758328602724091062085582586181573591064621840362337489601583348865981474846144064622998204434495463774421092245121326863314963815464112491639120436590576792249993626450035736274753769339779691120215643525466257989716412793856381162597133797065807900214353854696613217800511422105458075583216270597897318381632849937961201162197862780385576831203933908282057815772992380742766997130177546694060411760703682537917262469751530463688990594976335848990003349798759462661008100557517760387903618495143318183657549114272787774122160351148682422878876751274813594943143415627160823511793074368840671524572243849917231565604629551970942298099054340800606243478073118106456258489363301174091769604191016645689178144197458359930934695301534115007093139384892328904786698774993875309938152415688380037689935575760522285328346674571975723846113463962944268380862377695834794327115060134110771707511658034206133507786002969941157324790611327816181161005354530178823291718076699278018064792554321933837342012849027296287962022403678357706128748918876 121304060169810006411764056049297132246269398070373166221579491582470673484315083183233878819541239399809845269110421978240876151531158201315579146940530236106596251694793708793809058920534683100953866943551530609984779965313794320318865871718954153621512928759763295513602256524634790151950937270574838474416321534949784798629055068447460277015925678410243842577986589672571847026962821492714488184648807617449258305282629101351052347131283103454703636795284536668681251703811077621039191006296892159963804444452406361613256257970732705375768142885912028171840651001600854377399956609171918219051576337182115982529222641623244737660864155552922483359901836641240654819785615457598597951667420058328746948259020548542747233946235032447018524162184004093797170023286960075292755763537858038999701684744531705272652695382359595942179509916561505786533221072365155116622022492548823514372950800964346582723833520901642778444100471530274745184375064636559580789515536666059624353203858184222157133988852210210075787759689793342017998903777533715152331724875386475570833128750568761446467667334658492063080015418964938903123 196274092328114931664371908337368915533968793437121824951933450077254186245861291186992207422265330461895427855291995569305497991893495690917162495806511710952740316317791913228304522694955775346075193806866494425448892456952914756909442663968947780071548665034517064853381947644850433677417195260291251268272702697546918595694862968661814131712538896210755264683444665255788117624860139874347338122610008779647121085668205932554986255413340919227696017538051533798858798397871489381742873544214154629715334908141396956589592106960736055174527605546920128729358411389504472872543274792829467333324364111304276333677905064502121488935677750496065898987062660153033729188626286982170841801584651623933376500229962846641801574746841275925091642268640262583160471197378729679483772409227036183197160044675466400574186810389452735327071838821348204561527096382303307532310402530238759090133473086292693257295809244747756242407044739911137122880209858963674640923626308373571282387409991692008160103930009535000687115575870954347372529082600825433229031002893451268125155062587910774295494963622620514466758373125093687821999 317578152497924938076135964386666047780238191507494991173512941659724859730176374370226086241806569861705273124402417547546374143424653892232741642747041947059336568012585622022113581615490458447029060750418025035433672422266709077228308535687901933693061593794280360366984204169485223829368132530866089742689024232496703394323918037109274408728464574620999107261431254928359964651822961367061826307258816397096379390950835033906038602544624022682399654333336070467540050101682567002782064550511046789679139352593803318202848364931468760550295748432832156901199062391105327249943231402001385552375940448486392316207127706125366226596541906048988382346964496794274384008411902439769439753252071682262123448488983395184548808693076308372110166430824266676957641220665689754776528172764894222196861729419998105846839505771812331269251348737909710348060317454668462648932425022787582604506423887257039840019642765649399020851145211441411868064584923600234221713141845039630906740613849876230317237918861745210762903335560747689390527986378359148381362727768837743695988191338479535741962630957279006529838388544058626725122 513852244826039869740507872724034963314206984944616816125446391736979045976037665557218293664071900323600700979694413116851872135318149583149904138553553658012076884330377535250418104310446233793104254557284519460882564879219623834137751199656849713764610258828797425220366151814335657506785327791157341010961726930043621990018781005771088540441003470831754371944875920184148082276683101241409164429868825176743500476619040966461024857957964941910095671871387604266398848499554056384524938094725201419394474260735200274792440471892204815724823353979752285630557473780609800122486506194830852885700304559790668649885032770627487715532219656545054281334027156947308113197038189421940281554836723306195499948718946241826350383439917584297201808699464529260118112418044419434260300581991930405394021774095464506421026316161265066596323187559257914909587413836971770181242827553026341694639896973549733097315452010397155263258189951352548990944794782563908862636768153413202189128023841568238477341848871280211450018911431702036763057068979184581610393730662289011821143253926390310037457594579899520996596761669152314547121 831430397323964807816643837110701011094445176452111807298959333396703905706214039927444379905878470185305974104096830664398246278742803475382645781300595605071413452342963157272531685925936692240133315307702544496316237301486332911366059735344751647457671852623077785587350355983820881336153460322023430753650751162540325384342699042880362949169468045452753479206307175112508046928506062608470990737127641573839879867569876000367063460502588964592495326204723674733938898601236623387307002645236248209073613613329003592995288836823673576275119102412584442531756536171715127372429737596832238438076245008277060966092160476752853942128761562594042663680991653741582497205450091861709721308088794988457623397207929637010899192132993892669311975130288795937075753638710109189036828754756824627590883503515462612267865821933077397865574536297167625257647731291640232830175252575813924299146320860806772937335094776046554284109335162793960859009379706164143084349909998452833095868637691444468794579767733025422212922246992449726153585055357543729991756458431126755517131445264869845779420225537178527526435150213210941272243 1345282642150004677557151709834735974408652161396728623424405725133682951682251705484662673569950370508906675083791243781250118414060953058532549919854149263083490336673340692522949790236382926033237569864987063957198802180705956745503810935001601361222282111451875210807716507798156538842938788113180771764612478092583947374361480048651451489610471516284507851151183095296656129205189163849880155166996466750583380344188916966828088318460553906502590998076111279000337747100790679771831940739961449628468087874064203867787729308715878391999942456392336728162314009952324927494916243791663091323776549568067729615977193247380341657660981219139096945015018810688890610402488281283650002862925518294653123345926875878837249575572911476966513783829753325197193866056754528623297129336748755032984905277610927118688892138094342464461897723856425540167235145128612003011418080128840265993786217834356506034650546786443709547367525114146509849954174488728051946986678151866035284996661533012707271921616604305633662941158424151762916642124336728311602150189093415767338274699191260155816877820117078048523031911882363255819364 2176713039473969485373795546945436985503097337848840430723365058530386857388465745412107053475828840694212649187888074445648364692803756533915195701154744868154903789016303849795481476162319618273370885172689608453515039482192289656869870670346353008679953964074952996395066863781977420179092248435204202518263229255124272758704179091531814438779939561737261330357490270409164176133695226458351145904124108324423260211758792967195151778963142871095086324280834953734276645702027303159138943385197697837541701487393207460783018145539551968275061558804921170694070546124040054867345981388495329761852794576344790582069353724133195599789742781733139608696010464430473107607938373145359724171014313283110746743134805515848148767705905369635825758960042121134269619695464637812333958091505579660575788781126389730956757960027419862327472260153593165424882876420252235841593332704654190292932538695163278971985641562490263831476860276940470708963554194892195031336588150318868380865299224457176066501384337331055875863405416601489070227179694272041593906647524542522855406144456130001596298045654256576049467062095574197091607 3521995681623974162930947256780172959911749499245569054147770783664069809070717450896769727045779211203119324271679318226898483106864709592447745621008894131238394125689644542318431266398702544306608455037676672410713841662898246402373681605347954369902236075526828207202783371580133959022031036548384974282875707347708220133065659140183265928390411078021769181508673365705820305338884390308231301071120575075006640555947709934023240097423696777597677322356946232734614392802817982930970884125159147466009789361457411328570747454255430360275004015197257898856384556076364982362262225180158421085629344144412520198046546971513537257450724000872236553711029275119363718010426654429009727033939831577763870089061681394685398343278816846602339542789795446331463485752219166435631087428254334693560694058737316849645650098121762326789369984010018705592118021548864238853011412833494456286718756529519785006636188348933973378844385391086980558917728683620246978323266302184903665861960757469883338423000941636689538804563840753251986869304031000353196056836617958290193680843647390157413175865771334624572498973977937452910971 5698708721097943648304742803725609945414846837094409484871135842194456666459183196308876780521608051897331973459567392672546847799668466126362941322163638999393297914705948392113912742561022162579979340210366280864228881145090536059243552275694307378582190039601781203597850235362111379201123284983589176801138936602832492891769838231715080367170350639759030511866163636114984481472579616766582446975244683399429900767706502901218391876386839648692763646637781186468891038504845286090109827510356845303551490848850618789353765599794982328550065574002179069550455102200405037229608206568653750847482138720757310780115900695646732857240466782605376162407039739549836825618365027574369451204954144860874616832196486910533547110984722216238165301749837567465733105447683804247965045519759914354136482839863706580602408058149182189116842244163611871017000897969116474694604745538148646579651295224683063978621829911424237210321245668027451267881282878512442009659854452503772046727259981927059404924385278967745414667969257354741057096483725272394789963484142500813049086988103520159009473911425591200621966036073511650002578 9220704402721917811235690060505782905326596336339978539018906625858526475529900647205646507567387263100451297731246710899445330906533175718810686943172533130631692040395592934432344008959724706886587795248042953274942722807988782461617233881042261748484426115128609410800633606942245338223154321531974151084014643950540713024835497371898346295560761717780799693374837001820804786811464007074813748046365258474436541323654212835241631973810536426290440968994727419203505431307663269021080711635515992769561280210308030117924513054050412688825069589199436968406839658276770019591870431748812171933111482865169830978162447667160270114691190783477612716118069014669200543628791682003379178238893976438638486921258168305218945454263539062840504844539633013797196591199902970683596132948014249047697176898601023430248058156270944515906212228173630576609118919517980713547616158371643102866370051754202848985258018260358210589165631059114431826799011562132688987983120754688675712589220739396942743347386220604434953472533098107993043965787756272747986020320760459103242767831750910316422649777196925825194465010051449102913549 14919413123819861459540432864231392850741443173434388023890042468052983141989083843514523288088995314997783271190814103571992178706201641845173628265336172130024989955101541326546256751520746869466567135458409234139171603953079318520860786156736569127066616154730390614398483842304356717424277606515563327885153580553373205916605335603613426662731112357539830205241000637935789268284043623841396195021609941873866442091360715736460023850197376074983204615632508605672396469812508555111190539145872838073112771059158648907278278653845395017375135163201616037957294760477175056821478638317465922780593621585927141758278348362807002971931657566082988878525108754219037369247156709577748629443848121299513103753454655215752492565248261279078670146289470581262929696647586774931561178467774163401833659738464730010850466214420126705023054472337242447626119817487097188242220903909791749446021346978885912963879848171782447799486876727141883094680294440645130997642975207192447759316480721324002148271771499572180368140502355462734101062271481545142775983804902959916291854819854430475432123688622517025816431046124960752916127 24140117526541779270776122924737175756068039509774366562908949093911509617518984490720169795656382578098234568922060814471437509612734817563984315208508705260656681995497134260978600760480471576353154930706452187414114326761068100982478020037778830875551042269859000025199117449246602055647431928047537478969168224503913918941440832975511772958291874075320629898615837639756594055095507630916209943067975200348302983415014928571701655824007912501273645584627236024875901901120171824132271250781388830842674051269466679025202791707895807706200204752401053006364134418753945076413349070066278094713705104451096972736440796029967273086622848349560601594643177768888237912875948391581127807682742097738151590674712823520971438019511800341919174990829103595060126287847489745615157311415788412449530836637065753441098524370691071220929266700510873024235238737005077901789837062281434852312391398733088761949137866432140658388652507786256314921479306002777819985626095961881123471905701460720944891619157720176615321613035453570727145028059237817890762004125663419019534622651605340791854773465819442851010896056176409855829676 39059530650361640730316555788968568606809482683208754586798991561964492759508068334234693083745377893096017840112874918043429688318936459409157943473844877390681671950598675587524857512001218445819722066164861421553285930714147419503338806194515400002617658424589390639597601291550958773071709534563100806854321805057287124858046168579125199621022986432860460103856838277692383323379551254757606138089585142222169425506375644308161679674205288576256850200259744630548298370932680379243461789927261668915786822328625327932481070361741202723575339915602669044321429179231120133234827708383744017494298726037024114494719144392774276058554505915643590473168286523107275282123105101158876437126590219037664694428167478736723930584760061620997845137118574176323055984495076520546718489883562575851364496375530483451948990585111197925952321172848115471861358554492175090032057966191226601758412745711974674913017714603923106188139384513398198016159600443422950983269071169073571231222182182044947039890929219748795689753537809033461246090330719363033537987930566378935826477471459771267286897154441959876827327102301370608745803 63199648176903420001092678713705744362877522192983121149707940655876002377027052824954862879401760471194252409034935732514867197931671276973142258682353582651338353946095809848503458272481690022172876996871313608967400257475215520485816826232294230878168700694448390664796718740797560828719141462610638285823490029561201043799487001554636972579314860508181090002472675917448977378475058885673816081157560342570472408921390572879863335498213201077530495784886980655424200272052852203375733040708650499758460873598092006957683862069637010429775544668003722050685563597985065209648176778450022112208003830488121087231159940422741549145177354265204192067811464291995513194999053492740004244809332316775816285102880302257695368604271861962917020127947677771383182272342566266161875801299350988300895333012596236893047514955802269146881587873358988496096597291497252991821895028472661454070804144445063436862155581036063764576791892299654512937638906446200770968895167130954694703127883642765891931510086939925411011366573262604188391118389957180924299992056229797955361100123065112059141670620261402727838223158477780464575479 102259178827265060731409234502674312969687004876191875736506932217840495136535121159189555963147138364290270249147810650558296886250607736382300202156198460042020025896694485436028315784482908467992599063036175030520686188189362939989155632426809630880786359119037781304394320032348519601790850997173739092677811834618488168657533170133762172200337846941041550106329514195141360701854610140431422219247145484792641834427766217188025015172418489653787345985146725285972498642985532582619194830635912168674247695926717334890164932431378213153350884583606391095006992777216185342883004486833766129702302556525145201725879084815515825203731860180847782540979750815102788477122158593898880681935922535813480979531047780994419299189031923583914865265066251947706238256837642786708594291182913564152259829388126720344996505540913467072833909046207103967957955845989428081853952994663888055829216890157038111775173295639986870764931276813052710953798506889623721952164238300028265934350065824810838971401016159674206701120111071637649637208720676543957837979986796176891187577594524883326428567774703362604665550260779151073321282 165458827004168480732501913216380057332564527069174996886214872873716497513562173984144418842548898835484522658182746383073164084182279013355442460838552042693358379842790295284531774056964598490165476059907488639488086445664578460474972458659103861758955059813486171969191038773146080430509992459784377378501301864179689212457020171688399144779652707449222640108802190112590338080329669026105238300404705827363114243349156790067888350670631690731317841770033705941396698915038384785994927871344562668432708569524809341847848794501015223583126429251610113145692556375201250552531181265283788241910306387013266288957039025238257374348909214446051974608791215107098301672121212086638884926745254852589297264633928083252114667793303785546831885393013929719089420529180209052870470092482264552453155162400722957238044020496715736219715496919566092464054553137486681073675848023136549509900021034602101548637328876676050635341723169112707223891437413335824492921059405430982960637477949467576730902911103099599617712486684334241838028327110633724882137972043025974846548677717589995385570238394964765332503773419256931537896761 267718005831433541463911147719054370302251531945366872622721805091556992650097295143333974805696037199774792907330557033631460970432886749737742662994750502735378405739484780720560089841447506958158075122943663670008772633853941400464128091085913492639741418932523953273585358805494600032300843456958116471179113698798177381114553341822161316979990554390264190215131704307731698782184279166536660519651851312155756077776923007255913365843050180385105187755180431227369197558023917368614122701980474837106956265451526676738013726932393436736477313835216504240699549152417435895414185752117554371612608943538411490682918110053773199552641074626899757149770965922201090149243370680537765608681177388402778244164975864246533966982335709130746750658080181666795658786017851839579064383665178116605414991788849677583040526037629203292549405965773196432012508983476109155529801017800437565729237924759139660412502172316037506106654445925759934845235920225448214873223643731011226571828015292387569874312119259273824413606795405879487665535831310268839975952029822151737736255312114878711998806169668127937169323680036082611218043 433176832835602022196413060935434427634816059014541869508936677965273490163659469127478393648244936035259315565513303416704625054615165763093185123833302545428736785582275076005091863898412105448323551182851152309496859079518519860939100549745017354398696478746010125242776397578640680462810835916742493849680415562977866593571573513510560461759643261839486830323933894420322036862513948192641898820056557139518870321126079797323801716513681871116423029525214137168765896473062302154609050573325037505539664834976336018585862521433408660319603743086826617386392105527618686447945367017401342613522915330551677779639957135292030573901550289072951731758562181029299391821364582767176650535426432240992075508798903947498648634775639494677578636051094111385885079315198060892449534476147442669058570154189572634821084546534344939512264902885339288896067062120962790229205649040936987075629258959361241209049831048992088141448377615038467158736673333561272707794283049161994187209305964759964300777223222358873442126093479740121325693862941943993722113924072848126584284933029704874097569044564632893269673097099293014149114804 700894838667035563660324208654488797937067590959908742131658483056830482813756764270812368453940973235034108472843860450336086025048052512830927786828053048164115191321759856725651953739859612406481626305794815979505631713372461261403228640830930847038437897678534078516361756384135280495111679373700610320859529261776043974686126855332721778739633816229751020539065598728053735644698227359178559339708408451674626398903002804579715082356732051501528217280394568396135094031086219523223173275305512342646621100427862695323876248365802097056081056922043121627091654680036122343359552769518896985135524274090089270322875245345803773454191363699851488908333146951500481970607953447714416144107609629394853752963879811745182601757975203808325386709174293052680738101215912732028598859812620785663985145978422312404125072571974142804814308851112485328079571104438899384735450058737424641358496884120380869462333221308125647555032060964227093581909253786720922667506692893005413781133980052351870651535341618147266539700275146000813359398773254262562089876102670278322021188341819752809567850734301021206842420779329096760332847 1134071671502637585856737269589923225571883649974450611640595161022103972977416233398290762102185909270293424038357163867040711079663218275924112910661355593592851976904034932730743817638271717854805177488645968289002490792890981122342329190575948201437134376424544203759138153962775960957922515290443104170539944824753910568257700368843282240499277078069237850862999493148375772507212175551820458159764965591193496720029082601903516798870413922617951246805608705564900990504148521677832223848630549848186285935404198713909738769799210757375684800008869739013483760207654808791304919786920239598658439604641767049962832380637834347355741652772803220666895327980799873791972536214891066679534041870386929261762783759243831236533614698485904022760268404438565817416413973624478133335960063454722555300167994947225209619106319082317079211736451774224146633225401689613941099099674411716987755843481622078512164270300213789003409676002694252318582587347993630461789742054999600990439944812316171428758563977020708665793754886122139053261715198256284203800175518404906306121371524626907136895298933914476515517878622110909447651 1834966510169673149517061478244412023508951240934359353772253644078934455791172997669103130556126882505327532511201024317376797104711270788755040697489408641756967168225794789456395771378131330261286803794440784268508122506263442383745557831406879048475572274103078282275499910346911241453034194664143714491399474086529954542943827224176004019238910894298988871402065091876429508151910402910999017499473374042868123118932085406483231881227145974119479464086003273961036084535234741201055397123936062190832907035832061409233615018165012854431765856930912860640575414887690931134664472556439136583793963878731856320285707625983638120809933016472654709575228474932300355762580489662605482823641651499781783014726663570989013838291589902294229409469442697491246555517629886356506732195772684240386540446146417259629334691678293225121893520587564259552226204329840588998676549158411836358346252727602002947974497491608339436558441736966921345900491841134714553129296434948005014771573924864668042080293905595167975205494030032122952412660488452518846293676278188683228327309713344379716704746033234935683357938657951207669780498 2969038181672310735373798747834335249080834890908809965412848805101038428768589231067393892658312791775620956549558188184417508184374489064679153608150764235349819145129829722187139589016403048116091981283086752557510613299154423506087887021982827249912706650527622486034638064309687202410956709954586818661939418911283865111201527593019286259738187972368226722265064585024805280659122578462819475659238339634061619838961168008386748680097559896737430710891611979525937075039383262878887620972566612039019192971236260123143353787964223611807450656939782599654059175095345739925969392343359376182452403483373623370248540006621472468165674669245457930242123802913100229554553025877496549503175693370168712276489447330232845074825204600780133432229711101929812372934043859980984865531732747695109095746314412206854544310784612307438972732324016033776372837555242278612617648258086248075334008571083625026486661761908553225561851412969615598219074428482708183591086177003004615762013869676984213509052469572188683871287784918245091465922203650775130497476453707088134633431084869006623841641332168850159873456536573318579228149 4804004691841983884890860226078747272589786131843169319185102449179972884559762228736497023214439674280948489060759212501794305289085759853434194305640172877106786313355624511643535360394534378377378785077527536826018735805417865889833444853389706298388278924630700768310137974656598443863990904618730533153338892997813819654145354817195290278977098866667215593667129676901234788811032981373818493158711713676929742957893253414869980561324705870856910174977615253486973159574618004079943018096502674229852100007068321532376968806129236466239216513870695460294634589983036671060633864899798512766246367362105479690534247632605110588975607685718112639817352277845400585317133515540102032326817344869950495291216110901221858913116794503074362841699153799421058928451673746337491597727505431935495636192460829466483879002462905532560866252911580293328599041885082867611294197416498084433680261298685627974461159253516892662120293149936536944119566269617422736720382611951009630533587794541652255589346375167356659076781814950368043878582692103293976791152731895771362960740798213386340546387365403785843231395194524526249008647 7773042873514294620264658973913082521670621022751979284597951254281011313328351459803890915872752466056569445610317400686211813473460248918113347913790937112456605458485454233830674949410937426493470766360614289383529349104572289395921331875372533548300985575158323254344776038966285646274947614573317351815278311909097684765346882410214576538715286839035442315932194261926040069470155559836637968817950053310991362796854421423256729241422265767594340885869227233012910234614001266958830639069069286268871292978304581655520322594093460078046667170810478059948693765078382410986603257243157888948698770845479103060782787639226583057141282354963570570059476080758500814871686541417598581829993038240119207567705558231454703987941999103854496273928864901350871301385717606318476463259238179630604731938775241673338423313247517839999838985235596327104971879440325146223911845674584332509014269869769253000947821015425445887682144562906152542338640698100130920311468788954014246295601664218636469098398844739545342948069599868613135344504895754069107288629185602859497594171883082392964388028697572636003104851731097844828236796 12577047565356278505155519199991829794260407154595148603783053703460984197888113688540387939087192140337517934671076613188006118762546008771547542219431109989563391771841078745474210309805471804870849551438141826209548084909990155285754776728762239846689264499789024022654914013622884090138938519192047884968617204906911504419492237227409866817692385705702657909599323938827274858281188541210456461976661766987921105754747674838126709802746971638451251060846842486499883394188619271038773657165571960498723392985372903187897291400222696544285883684681173520243328355061419082047237122142956401714945138207584582751317035271831693646116890040681683209876828358603901400188820056957700614156810383110069702858921669132676562901058793606928859115628018700771930229837391352655968060986743611566100368131236071139822302315710423372560705238147176620433570921325408013835206043091082416942694531168454880975408980268942338549802437712842689486458206967717553657031851400905023876829189458760288724687745219906902002024851414818981179223087587857363084079781917498630860554912681295779304934416062976421846336246925622371077245443 20350090438870573125420178173904912315931028177347127888381004957741995511216465148344278854959944606394087380281394013874217932236006257689660890133222047102019997230326532979304885259216409231364320317798756115593077434014562444681676108604134773394990250074947347276999690052589169736413886133765365236783895516816009189184839119637624443356407672544738100225531518200753314927751344101047094430794611820298912468551602096261383439044169237406045591946716069719512793628802620537997604296234641246767594685963677484843417613994316156622332550855491651580192022120139801493033840379386114290663643909053063685812099822911058276703258172395645253779936304439362402215060506598375299195986803421350188910426627227364131266889000792710783355389556883602122801531223108958974444524245981791196705100070011312813160725628957941212560544223382772947538542800765733160059117888765666749451708801038224133976356801284367784437484582275748842028796847665817684577343320189859038123124791122978925193786144064646447344972921014687594314567592483611432191368411103101490358149084564378172269322444760549057849441098656720215905482239 32927138004226851630575697373896742110191435331942276492164058661202979709104578836884666794047136746731605314952470627062224050998552266461208432352653157091583389002167611724779095569021881036235169869236897941802625518924552599967430885332897013241679514574736371299654604066212053826552824652957413121752512721722920693604331356865034310174100058250440758135130842139580589786032532642257550892771273587286833574306349771099510148846916209044496843007562912206012677022991239809036377953400213207266318078949050388031314905394538853166618434540172825100435350475201220575081077501529070692378589047260648268563416858182889970349375062436326936989813132797966303615249326655332999810143613804460258613285548896496807829790059586317712214505184902302894731761060500311630412585232725402762805468201247383952983027944668364585121249461529949567972113722091141173894323931856749166394403332206679014951765781553310122987287019988591531515255054633535238234375171590764061999953980581739213918473889284553349346997772429506575493790680071468795275448193020600121218703997245673951574256860823525479695777345582342586982727682 53277228443097424755995875547801654426122463509289404380545063618944975220321043985228945649007081353125692695233864640936441983234558524150869322485875204193603386232494144704083980828238290267599490187035654057395702952939115044649106993937031786636669764649683718576654294118801223562966710786722778358536408238538929882789170476502658753530507730795178858360662360340333904713783876743304645323565885407585746042857951867360893587891085446450542434954278981925525470651793860347033982249634854454033912764912727872874732519388855009788950985395664476680627372595341022068114917880915184983042232956313711954375516681093948247052633234831972190769749437237328705830309833253708299006130417225810447523712176123860939096679060379028495569894741785905017533292283609270604857109478707193959510568271258696766143753573626305797681793684912722515510656522856874333953441820622415915846112133244903148928122582837677907424771602264340373544051902299352922811718491780623100123078771704718139112260033349199796691970693444194169808358272555080227466816604123701611576853081810052123843579305584074537545218444239062802888209921 86204366447324276386571572921698396536313898841231680872709122280147954929425622822113612443054218099857298010186335267998666034233110790612077754838528361285186775234661756428863076397260171303834660056272551999198328471863667644616537879269928799878349279224420089876308898185013277389519535439680191480288920960261850576393501833367693063704607789045619616495793202479914494499816409385562196216337158994872579617164301638460403736738001655495039277961841894131538147674785100156070360203035067661300230843861778260906047424783393862955569419935837301781062723070542242643195995382444255675420822003574360222938933539276838217402008297268299127759562570035295009445559159909041298816274031030270706136997725020357746926469119965346207784399926688207912265053344109582235269694711432596722316036472506080719126781518294670382803043146442672083482770244948015507847765752479165082240515465451582163879888364390988030412058622252931905059306956932888161046093663371387162123032752286457353030733922633753146038968465873700745302148952626549022742264797144301732795557079055726075417836166407600017240995789821405389870937603 139481594890421701142567448469500050962436362350521085253254185899092930149746666807342558092061299452982990705420199908935108017467669314762947077324403565478790161467155901132947057225498461571434150243308206056594031424802782689265644873206960586515019043874103808452963192303814500952486246226402969838825329198800780459182672309870351817235115519840798474856455562820248399213600286128866841539903044402458325660022253505821297324629087101945581712916120876057063618326578960503104342452669922115334143608774506133780779944172248872744520405331501778461690095665883264711310913263359440658463054959888072177314450220370786464454641532100271318529312007272623715275868993162749597822404448256081153660709901144218686023148180344374703354294668474112929798345627718852840126804190139790681826604743764777485270535091920976180484836831355394598993426767804889841801207573101580998086627598696485312808010947228665937836830224517272278603358859232241083857812155152010262246111523991175492142993955982952942730939159317894915110507225181629250209081401268003344372410160865778199261415471991674554786214234060468192759147524 225685961337745977529139021391198447498750261191752766125963308179240885079172289629456170535115517552840288715606535176933774051700780105375024832162931926763976936701817657561810133622758632875268810299580758055792359896666450333882182752476889386393368323098523898329272090488827778342005781666083161319114250159062631035576174143238044880939723308886418091352248765300162893713416695514429037756240203397330905277186555144281701061367088757440620990877962770188601766001364060659174702655704989776634374452636284394686827368955642735700089825267339080242752818736425507354506908645803696333883876963462432400253383759647624681856649829368570446288874577307918724721428153071790896638678479286351859797707626164576432949617300309720911138694595162320842063398971828435075396498901572387404142641216270858204397316610215646563287879977798066682476197012752905349648973325580746080327143064148067476687899311619653968248888846770204183662665816165129244903905818523397424369144276277632845173727878616706088769907625191595660412656177808178272951346198412305077167967239921504274679251638399274572027210023881873582630085127 365167556228167678671706469860698498461186623542273851379217494078333815228918956436798728627176817005823279421026735085868882069168449420137971909487335492242767098168973558694757190848257094446702960542888964112386391321469233023147827625683849972908387366972627706782235282792642279294492027892486131157939579357863411494758846453108396698174838828727216566208704328120411292927016981643295879296143247799789230937208808650102998385996175859386202703794083646245665384327943021162279045108374911891968518061410790528467607313127891608444610230598840858704442914402308772065817821909163136992346931923350504577567833980018411146311291361468841764818186584580542439997297146234540494461082927542433013458417527308795118972765480654095614492989263636433771861744599547287915523303091712178085969245960035635689667851702136622743772716809153461281469623780557795191450180898682327078413770662844552789495910258848319906085719071287476462266024675397370328761717973675407686615255800268808337316721834599659031500846784509490575523163402989807523160427599680308421540377400787282473940667110390949126813424257942341775389232651 590853517565913656200845491251896945959936884734026617505180802257574700308091246066254899162292334558663568136633270262802656120869229525512996741650267419006744034870791216256567324471015727321971770842469722168178751218135683357030010378160739359301755690071151605111507373281470057636497809558569292477053829516926042530335020596346441579114562137613634657560953093420574186640433677157724917052383451197120136214395363794384699447363264616826823694672046416434267150329307081821453747764079901668602892514047074923154434682083534344144700055866179938947195733138734279420324730554966833326230808886812936977821217739666035828167941190837412211107061161888461164718725299306331391099761406828784873256125153473371551922382780963816525631683858798754613925143571375722990919801993284565490111887176306493894065168312352269307060596786951527963945820793310700541099154224263073158740913726992620266183809570467973874334607918057680645928690491562499573665623792198805110984400076546441182490449713216365120270754409701086235935819580797985796111773798092613498708344640708786748619918748790223698840634281824215358019317778 956021073794081334872551961112595444421123508276300468884398296335908515537010202503053627789469151564486847557660005348671538190037678945650968651137602911249511133039764774951324515319272821768674731385358686280565142539604916380177838003844589332210143057043779311893742656074112336930989837451055423634993408874789454025093867049454838277289400966340851223769657421540985479567450658801020796348526698996909367151604172444487697833359440476213026398466130062679932534657250102983732792872454813560571410575457865451622041995211425952589310286465020797651638647541043051486142552464129970318577740810163441555389051719684446974479232552306253975925247746469003604716022445540871885560844334371217886714542680782166670895148261617912140124673122435188385786888170923010906443105084996743576081133136342129583733020014488892050833313596104989245415444573868495732549335122945400237154684389837173055679719829316293780420326989345157108194715166959869902427341765874212797599655876815249519807171547816024151771601194210576811458982983787793319272201397772921920248722041496069222560585859181172825654058539766557133408550429 1546874591359994991073397452364492390381060393010327086389579098593483215845101448569308526951761486123150415694293275611474194310906908471163965392787870330256255167910555991207891839790288549090646502227828408448743893757740599737207848382005328691511898747114930917005250029355582394567487647009624716112047238391715496555428887645801279856403963103954485881330610514961559666207884335958745713400910150194029503365999536238872397280722705093039850093138176479114199684986557184805186540636534715229174303089504940374776476677294960296734010342331200736598834380679777330906467283019096803644808549696976378533210269459350482802647173743143666187032308908357464769434747744847203276660605741200002759970667834255538222817531042581728665756356981233942999712031742298733897362907078281309066193020312648623477798188326841161357893910383056517209361265367179196273648489347208473395895598116829793321863529399784267654754934907402837754123405658522369476092965558073017908584055953361690702297621261032389272042355603911663047394802564585779115383975195865535418957066682204855971180504607971396524494692821590772491427868207 2502895665154076325945949413477087834802183901286627555273977394929391731382111651072362154741230637687637263251953280960145732500944587416814934043925473241505766300950320766159216355109561370859321233613187094729309036297345516117385686385849918023722041804158710228898992685429694731498477484460680139747040647266504950580522754695256118133693364070295337105100267936502545145775334994759766509749436849190938870517603708683360095114082145569252876491604306541794132219643807287788919333508989528789745713664962805826398518672506386249323320628796221534250473028220820382392609835483226773963386290507139820088599321179034929777126406295449920162957556654826468374150770190388075162221450075571220646685210515037704893712679304199640805881030103669131385498919913221744803806012163278052642274153448990753061531208341330053408727223979161506454776709941047692006197824470153873633050282506666966377543249229100561435175261896747994862318120825482239378520307323947230706183711830176940222104792808848413423813956798122239858853785548373572434656176593638457339205788723700925193741090467152569350148751361357329624836418636 4049770256514071317019346865841580225183244294296954641663556493522874947227213099641670681692992123810787678946246556571619926811851495887978899436713343571762021468860876757367108194899849919949967735841015503178052930055086115854593534767855246715233940551273641145904242714785277126065965131470304855859087885658220447135951642341057397990097327174249822986430878451464104811983219330718512223150346999384968373883603244922232492394804850662292726584742483020908331904630364472594105874145524244018920016754467746201174995349801346546057330971127422270849307408900597713299077118502323577608194840204116198621809590638385412579773580038593586349989865563183933143585517935235278438882055816771223406655878349293243116530210346781369471637387084903074385210951655520478701168919241559361708467173761639376539329396668171214766621134362218023664137975308226888279846313817362347028945880623496759699406778628884829089930196804150832616441526484004608854613272882020248614767767783538630924402414069880802695856312402033902906248588112959351550040151789503992758162855405905781164921595075123965874643444182948102116264286843 6552665921668147642965296279318668059985428195583582196937533888452266678609324750714032836434222761498424942198199837531765659312796083304793833480638816813267787769811197523526324550009411290809288969454202597907361966352431631971979221153705164738955982355432351374803235400214971857564442615930984995606128532924725397716474397036313516123790691244545160091531146387966649957758554325478278732899783848575907244401206953605592587508886996231545603076346789562702464124274171760383025207654513772808665730419430552027573514022307732795380651599923643805099780437121418095691686953985550351571581130711256018710408911817420342356899986334043506512947422218010401517736288125623353601103505892342444053341088864330948010242889650981010277518417188572205770709871568742223504974931404837414350741327210630129600860605009501268175348358341379530118914685249274580286044138287516220661996163130163726076950027857985390525105458700898827478759647309486848233133580205967479320951479613715571146507206878729216119670269200156142765102373661332923984696328383142450097368644129606706358662685542276535224792195544305431741100705479 10602436178182218959984643145160248285168672489880536838601090381975141625836537850355703518127214885309212621144446394103385586124647579192772732917352160385029809238672074280893432744909261210759256705295218101085414896407517747826572755921560411454189922906705992520707478115000248983630407747401289851465216418582945844852426039377370914113888018418794983077962024839430754769741773656196790956050130847960875618284810198527825079903691846893838329661089272583610796028904536232977131081800038016827585747173898298228748509372109079341437982571051066075949087846022015808990764072487873929179775970915372217332218502455805754936673566372637092862937287781194334661321806060858632039985561709113667459996967213624191126773099997762379749155804273475280155920823224262702206143850646396776059208500972269506140190001677672482941969492703597553783052660557501468565890452104878567690942043753660485776356806486870219615035655505049660095201173793491457087746853087987727935719247397254202070909620948610018815526581602190045671350961774292275534736480172646442855531499535512487523584280617400501099435639727253533857364992322 17155102099850366602949939424478916345154100685464119035538624270427408304445862601069736354561437646807637563342646231635151245437443662497566566397990977198297597008483271804419757294918672501568545674749420698992776862759949379798551977075265576193145905262138343895510713515215220841194850363332274847071344951507671242568900436413684430237678709663340143169493171227397404727500327981675069688949914696536782862686017152133417667412578843125383932737436062146313260153178707993360156289454551789636251477593328850256322023394416812136818634170974709881048868283143433904682451026473424280751357101626628236042627414273226097293573552706680599375884709999204736179058094186481985641089067601456111513338056077955139137015989648743390026674221462047485926630694793004925711118782051234190409949828182899635741050606687173751117317851044977083901967345806776048851934590392394788352938206883824211853306834344855610140141114205948487573960821102978305320880433293955207256670727010969773217416827827339234935196850802346188436453335435625199519432808555788892952900143665119193882246966159677036324227835271558965598465697801 27757538278032585562934582569639164630322773175344655874139714652402549930282400451425439872688652532116850184487092625738536831562091241690339299315343137583327406247155346085313190039827933712327802380044638800078191759167467127625124732996825987647335828168844336416218191630215469824825258110733564698536561370090617087421326475791055344351566728082135126247455196066828159497242101637871860645000045544497658480970827350661242747316270690019222262398525334729924056182083244226337287371254589806463837224767227148485070532766525891478256616742025775956997956129165449713673215098961298209931133072542000453374845916729031852230247119079317692238821997780399070840379900247340617681074629310569778973335023291579330263789089646505769775830025735522766082551518017267627917262632697630966469158329155169141881240608364846234059287343748574637685020006364277517417825042497273356043880250637484697629663640831725829755176769710998147669161994896469762408627286381942935192389974408223975288326448775949253750723432404536234107804297209917475054169288728435335808431643200631681405831246777077537423663474998812499455830690123 44912640377882952165884521994118080975476873860808774909678338922829958234728263052495176227250090178924487747829738857373688076999534904187905865713334114781625003255638617889732947334746606213896348054794059499070968621927416507423676710072091563840481733430982680311728905145430690666020108474065839545607906321598288329990226912204739774589245437745475269416948367294225564224742429619546930333949960241034441343656844502794660414728849533144606195135961396876237316335261952219697443660709141596100088702360555998741392556160942703615075250913000485838046824412308883618355666125434722490682490174168628689417473331002257949523820671785998291614706707779603807019437994433822603322163696912025890486673079369534469400805079295249159802504247197570252009182212810272553628381414748865156879108157338068777622291215052019985176605194793551721586987352171053566269759632889668144396818457521308909482970475176581439895317883916946635243122815999448067729507719675898142449060701419193748505743276603288488685920283206882422544257632645542674573602097284224228761331786865750875288078212936754573747891310270371465054296387924 72670178655915537728819104563757245605799647036153430783818053575232508165010663503920616099938742711041337932316831483112224908561626145878245165028677252364952409502793963975046137374574539926224150434838698299149160381094883635048801443068917551487817561599827016727947096775646160490845366584799404244144467691688905417411553387995795118940812165827610395664403563361053723721984531257418790978950005785532099824627671853455903162045120223163828457534486731606161372517345196446034731031963731402563925927127783147226463088927468595093331867655026261795044780541474333332028881224396020700613623246710629142792319247731289801754067790865315983853528705560002877859817894681163221003238326222595669460008102661113799664594168941754929578334272933093018091733730827540181545644047446496123348266486493237919503531823416866219235892538542126359272007358535331083687584675386941500440698708158793607112634116008307269650494653627944782912284810895917830138135006057841077641450675827417723794069725379237742436643715611418656652061929855460149627771386012659564569763430066382556693909459713832111171554785269183964510127078047 117582819033798489894703626557875326581276520896962205693496392498062466399738926556415792327188832889965825680146570340485912985561161050066151030742011367146577412758432581864779084709321146140120498489632757798220129003022300142472478153141009115328299295030809697039676001921076851156865475058865243789752374013287193747401780300200534893530057603573085665081351930655279287946726960876965721312899966026566541168284516356250563576773969756308434652670448128482398688852607148665732174692672872998664014629488339145967855645088411298708407118568026747633091604953783216950384547349830743191296113420879257832209792578733547751277888462651314275468235413339606684879255889114985824325402023134621559946681182030648269065399248237004089380838520130663270100915943637812735174025462195361280227374643831306697125823038468886204412497733335678080858994710706384649957344308276609644837517165680102516595604591184888709545812537544891418155407626895365897867642725733739220090511377246611472299813001982526231122563998818301079196319562501002824201373483296883793331095216932133431981987672650586684919446095539555429564423465971 190252997689714027623522731121632572187076167933115636477314446073294974564749590060336408427127575601007163612463401823598137894122787195944396195770688619511529822261226545839825222083895686066344648924471456097369289384117183777521279596209926666816116856630636713767623098696723011647710841643664648033896841704976099164813333688196330012470869769400696060745755494016333011668711492134384512291849971812098640992912188209706466738819089979472263110204934860088560061369952345111766905724636604401227940556616122293194318734015879893801738986223053009428136385495257550282413428574226763891909736667589886975002111826464837553031956253516630259321764118899609562739073783796149045328640349357217229406689284691762068729993417178759018959172793063756288192649674465352916719669509641857403575641130324544616629354861885752423648390271877804440131002069241715733644928983663551145278215873838896123708238707193195979196307191172836201067692437791283728005777731791580297731962053074029196093882727361763973559207714429719735848381492356462973829144869309543357900858646998515988675897132364418796091000880808739394074550544018 307835816723512517518226357679507898768352688830077842170810838571357440964488516616752200754316408490972989292609972164084050879683948246010547226512699986658107235019659127704604306793216832206465147414104213895589418387139483919993757749350935782144416151661446410807299100617799862804576316702529891823649215718263292912215113988396864906000927372973781725827107424671612299615438453011350233604749937838665182161196704565957030315593059735780697762875382988570958750222559493777499080417309477399891955186104461439162174379104291192510146104791079757061227990449040767232797975924057507083205850088469144807211904405198385304309844716167944534789999532239216247618329672911134869654042372491838789353370466722410337795392665415763108340011313194419558293565618103165651893694971837218683803015774155851313755177900354638628060888005213482520989996779948100383602273291940160790115733039518998640303843298378084688742119728717727619223100064686649625873420457525319517822473430320640668393695729344290204681771713248020815044701054857465798030518352606427151231953863930649420657884805015005481010446976348294823638974009989 498088814413226545141749088801140470955428856763193478648125284644652415529238106677088609181443984091980152905073373987682188773806735441954943422283388606169637057280885673544429528877112518272809796338575669992958707771256667697515037345560862448960533008292083124574922199314522874452287158346194539857546057423239392077028447676593194918471797142374477786572862918687945311284149945145734745896599909650763823154108892775663497054412149715252960873080317848659518811592511838889265986141946081801119895742720583732356493113120171086311885091014132766489364375944298317515211404498284270975115586756059031782214016231663222857341800969684574794111763651138825810357403456707283914982682721849056018760059751414172406525386082594522127299184106258175846486215292568518568613364481479076087378656904480395930384532762240391051709278277091286961120998849189816117247202275603711935393948913357894764012082005571280667938426919890563820290792502477933353879198189316899815554435483394669864487578456706054178240979427677740550893082547213928771859663221915970509132812510929165409333781937379424277101447857157034217713524554007 805924631136739062659975446480648369723781545593271320818936123216009856493726623293840809935760392582953142197683346151766239653490683687965490648796088592827744292300544801249033835670329350479274943752679883888548126158396151617508795094911798231104949159953529535382221299932322737256863475048724431681195273141502684989243561664990059824472724515348259512399970343359557610899588398157084979501349847489429005315305597341620527370005209451033658635955700837230477561815071332666765066559255559201011850928825045171518667492224462278822031195805212523550592366393339084748009380422341778058321436844528176589425920636861608161651645685852519328901763183378042057975733129618418784636725094340894808113430218136582744320778748010285235639195419452595404779780910671684220507059453316294771181672678636247244139710662595029679770166282304769482110995629137916500849475567543872725509681952876893404315925303949365356680546648608291439513892567164582979752618646842219333376908913715310532881274186050344382922751140925761365937783602071394569890181574522397660364766374859814829991666742394429758111894833505329041352498563996 1304013445549965607801724535281788840679210402356464799467061407860662272022964729970929419117204376674933295102756720139448428427297419129920434071079477198997381349581430474793463364547441868752084740091255553881506833929652819315023832440472660680065482168245612659957143499246845611709150633394918971538741330564742077066272009341583254742944521657722737298972833262047502922183738343302819725397949757140192828469414490117284024424417359166286619509036018685889996373407583171556031052701201641002131746671545628903875160605344633365133916286819345290039956742337637402263220784920626049033437023600587208371639936868524831018993446655537094123013526834516867868333136586325702699619407816189950826873489969550755150846164830604807362938379525710771251265996203240202789120423934795370858560329583116643174524243424835420731479444559396056443231994478327732618096677843147584660903630866234788168328007309520646024618973568498855259804685069642516333631816836159119148931344397109980397368852642756398561163730568603501916830866149285323341749844796438368169497578885788980239325448679773854035213342690662363259066023118003 2109938076686704670461699981762437210402991947949736120285997531076672128516691353264770229052964769257886437300440066291214668080788102817885924719875565791825125641881975276042497200217771219231359683843935437770054960088048970932532627535384458911170431328199142195339364799179168348966014108443643403219936603706244762055515571006573314567417246173070996811372803605407060533083326741459904704899299604629621833784720087458904551794422568617320278144991719523120473935222654504222796119260457200203143597600370674075393828097569095643955947482624557813590549108730976487011230165342967827091758460445115384961065857505386439180645092341389613451915290017894909926308869715944121484256132910530845634986920187687337895166943578615092598577574945163366656045777113911887009627483388111665629742002261752890418663954087430450411249610841700825925342990107465649118946153410691457386413312819111681572643932613470011381299520217107146699318577636807099313384435483001338482308253310825290930250126828806742944086481709529263282768649751356717911640026370960765829862345260648795069317115422168283793325237524167692300418521681999 3413951522236670278263424517044226051082202350306200919753058938937334400539656083235699648170169145932819732403196786430663096508085521947806358790955042990822506991463405750835960564765213087983444423935190991651561794017701790247556459975857119591235913496444754855296508298426013960675164741838562374758677934270986839121787580348156569310361767830793734110345636867454563455267065084762724430297249361769814662254134577576188576218839927783606897654027738209010470308630237675778827171961658841205275344271916302979268988702913729009089863769443903103630505851068613889274450950263593876125195484045702593332705794373911270199638538996926707574928816852411777794642006302269824183875540726720796461860410157238093046013108409219899961515954470874137907311773317152089798747907322907036488302331844869533593188197512265871142729055401096882368574984585793381737042831253839042047316943685346469740971939922990657405918493785606001959123262706449615647016252319160457631239597707935271327618979471563141505250212278132765199599515900642041253389871167399133999359924146437775308642564101942137828538580214830055559484544800002 5523889598923374948725124498806663261485194298255937040039056470014006529056347436500469877223133915190706169703636852721877764588873624765692283510830608782647632633345381026878457764982984307214804107779126429421616754105750761180089087511241578502406344824643897050635873097605182309641178850282205777978614537977231601177303151354729883877779014003864730921718440472861623988350391826222629135196548966399436496038854665035093128013262496400927175799019457732130944243852892180001623291222116041408418941872286977054662816800482824653045811252068460917221054959799590376285681115606561703216953944490817978293771651879297709380283631338316321026844106870306687720950876018213945668131673637251642096847330344925430941180051987834992560093529416037504563357550431063976808375390711018702118044334106622424011852151599696321553978666242797708293917974693259030855988984664530499433730256504458151313615872536460668787218014002713148658441840343256714960400687802161796113547851018760562257869106300369884449336693987662028482368165651998759165029897538359899829222269407086570377959679524110421621863817738997747859903066482001 8937841121160045226988549015850889312567396648562137959792115408951340929596003519736169525393303061123525902106833639152540861096959146713498642301785651773470139624808786777714418329748197395198248531714317421073178548123452551427645547487098698093642258321088651905932381396031196270316343592120768152737292472248218440299090731702886453188140781834658465032064077340316187443617456910985353565493798328169251158292989242611281704232102424184534073453047195941141414552483129855780450463183774882613694286144203280033931805503396553662135675021512364020851560810868204265560132065870155579342149428536520571626477446253208979579922170335243028601772923722718465515592882320483769852007214363972438558707740502163523987193160397054892521609483886911642470669323748216066607123298033925738606346665951491957605040349111962192696707721643894590662492959279052412593031815918369541481047200189804621054587812459451326193136507788319150617565103049706330607416940121322253744787448726695833585488085771933025954586906265794793681967681552640800418419768705759033828582193553524345686602243626052559450402397953827803419387611282003 14461730720083420175713673514657552574052590946818074999831171878965347458652350956236639402616436976314232071810470491874418625685832771479190925812616260556117772258154167804592876094731181702413052639493443850494795302229203312607734634998340276596048603145732548956568254493636378579957522442402973930715907010225450041476393883057616337065919795838523195953782517813177811431967848737207982700690347294568687654331843907646374832245364920585461249252066653673272358796336022035782073754405890924022113228016490257088594622303879378315181486273580824938072615770667794641845813181476717282559103373027338549920249098132506688960205801673559349628617030593025153236543758338697715520138888001224080655555070847088954928373212384889885081703013302949147034026874179280043415498688744944440724391000058114381616892500711658514250686387886692298956410933972311443449020800582900040914777456694262772368203684995911994980354521791032299276006943392963045567817627923484049858335299745456395843357192072302910403923600253456822164335847204639559583449666244118933657804462960610916064561923150162981072266215692825551279290677764004 23399571841243465402702222530508441886619987595380212959623287287916688388248354475972808928009740037437757973917304131026959486782791918192689568114401912329587911882962954582307294424479379097611301171207761271567973850352655864035380182485438974689690861466821200862500635889667574850273866034523742083453199482473668481775484614760502790254060577673181660985846595153493998875585305648193336266184145622737938812624833150257656536477467344769995322705113849614413773348819151891562524217589665806635807514160693537122526427807275931977317161295093188958924176581535998907405945247346872861901252801563859121546726544385715668540127972008802378230389954315743618752136640659181485372146102365196519214262811349252478915566372781944777603312497189860789504696197927496110022621986778870179330737666009606339221932849823620706947394109530586889618903893251363856042052616501269582395824656884067393422791497455363321173491029579351449893572046442669376175234568044806303603122748472152229428845277844235936358510506519251615846303528757280360001869434949877967486386656514135261751164166776215540522668613646653354698678289046007 37861302561326885578415896045165994460672578542198287959454459166882035846900705432209448330626177013751990045727774622901378112468624689671880493927018172885705684141117122386900170519210560800024353810701205122062769152581859176643114817483779251285739464612553749819068890383303953430231388476926716014169106492699118523251878497818119127319980373511704856939629112966671810307553154385401318966874492917306626466956677057904031368722832265355456571957180503287686132145155173927344597971995556730657920742177183794211121050111155310292498647568674013896996792352203793549251758428823590144460356174591197671466975642518222357500333773682361727859006984908768771988680398997879200892284990366420599869817882196341433843939585166834662685015510492809936538723072106776153438120675523814620055128666067720720838825350535279221198080497417279188575314827223675299491073417084169623310602113578330165790995182451275316153845551370383749169578989835632421743052195968290353461458048217608625272202469916538846762434106772708438010639375961919919585319101193996901144191119474746177815726089926378521594934829339478905977968966810011 61260874402570350981118118575674436347292566137578500919077746454798724235149059908182257258635917051189748019645078753928337599251416607864570062041420085215293596024080076969207464943689939897635654981908966393630743002934515040678494999969218225975430326079374950681569526272971528280505254511450458097622305975172787005027363112578621917574040951184886517925475708120165809183138460033594655233058638540044565279581510208161687905200299610125451894662294352902099905493974325818907122189585222537293728256337877331333647477918431242269815808863767202855920968933739792456657703676170463006361608976155056793013702186903938026040461745691164106089396939224512390740817039657060686264431092731617119084080693545593912759505957948779440288328007682670726043419270034272263460742662302684799385866332077327060060758200358899928145474606947866078194218720475039155533126033585439205706426770462397559213786679906638637327336580949735199063151036278301797918286764013096657064580796689760854701047747760774783120944613291960053856942904719200279587188536143874868630577775988881439566890256702594062117603442986132260676647255856018 99122176963897236559534014620840430807965144679776788878532205621680760082049765340391705589262094064941738065372853376829715711720041297536450555968438258100999280165197199356107635462900500697660008792610171515693512155516374217321609817452997477261169790691928700500638416656275481710736642988377174111791412467871905528279241610396741044894021324696591374865104821086837619490691614418995974199933131457351191746538187266065719273923131875480908466619474856189786037639129499746251720161580779267951648998515061125544768528029586552562314456432441216752917761285943586005909462104994053150821965150746254464480677829422160383540795519373525833948403924133281162729497438654939887156716083098037718953898575741935346603445543115614102973343518175480662582142342141048416898863337826499419440994998145047780899583550894179149343555104365145266769533547698714455024199450669608829017028884040727725004781862357913953481182132320118948232730026113934219661338959981387010526038844907369479973250217677313629883378720064668491867582280681120199172507637337871769774768895463627617382616346628972583712538272325611166654616222666029 160383051366467587540652133196514867155257710817355289797609952076479484317198825248573962847898011116131486085017932130758053310971457905401020618009858343316292876189277276325315100406590440595295663774519137909324255158450889258000104817422215703236600116771303651182207942929247009991241897499827632209413718443044692533306604722975362962468062275881477892790580529207003428673830074452590629432991769997395757026119697474227407179123431485606360361281769209091885943133103825565158842351166001805245377254852938456878416005948017794832130265296208419608838730219683378462567165781164516157183574126901311257494380016326098409581257265064689940037800863357793553470314478312000573421147175829654838037979269287529259362951501064393543261671525858151388625561612175320680359606000129184218826861330222374840960341751253079077489029711313011344963752268173753610557325484255048034723455654503125284218568542264552590808518713269854147295881062392236017579625723994483667590619641597130334674297965438088413004323333356628545724525185400320478759696173481746638405346671452509056949506603331566645830141715311743427331263478522047 259505228330364824100186147817355297963222855497132078676142157698160244399248590588965668437160105181073224150390785507587769022691499202937471173978296601417292156354474475681422735869490941292955672567129309425017767313967263475321714634875213180497769907463232351682846359585522491701978540488204806321205130910916598061585846333372104007362083600578069267655685350293841048164521688871586603632924901454746948772657884740293126453046563361087268827901244065281671980772233325311410562512746781073197026253367999582423184533977604347394444721728649636361756491505626964468476627886158569308005539277647565721975057845748258793122052784438215773986204787491074716199811916966940460577863258927692556991877845029464605966397044180007646235015044033632051207703954316369097258469337955683638267856328367422621859925302147258226832584815678156611733285815872468065581524934924656863740484538543853009223350404622466544289700845589973095528611088506170237240964683975870678116658486504499814647548183115402042887702053421297037592107466081440677932203810819618408180115566916136674332122949960539229542679987637354593985879701188076 419888279696832411640838281013870165118480566314487368473752109774639728716447415837539631285058116297204710235408717638345822333662957108338491791988154944733585032543751752006737836276081381888251336341648447334342022472418152733321819452297428883734370024234536002865054302514769501693220437988032438530618849353961290594892451056347466969830145876459547160446265879500844476838351763324177233065916671452142705798777582214520533632169994846693629189183013274373557923905337150876569404863912782878442403508220938039301600539925622142226574987024858055970595221725310342931043793667323085465189113404548876979469437862074357202703310049502905714024005650848868269670126395278941033999010434757347395029857114316993865329348545244401189496686569891783439833265566491689777618075338084867857094717658589797462820267053400337304321614526991167956697038084046221676138850419179704898463940193046978293441918946887019135098219558859827242824492150898406254820590407970354345707278128101630149321846148553490455892025386777925583316632651481761156691899984301365046585462238368645731281629553292105875372821702949098021317143179710123 679393508027197235741024428831225463081703421811619447149894267472799973115696006426505299722218221478277934385799503145933591356354456311275962965966451546150877188898226227688160572145572323181207008908777756759359789786385416208643534087172642064232139931697768354547900662100291993395198978476237244851823980264877888656478297389719570977192229477037616428101951229794685525002873452195763836698841572906889654571435466954813660085216558207780898017084257339655229904677570476187979967376659563951639429761588937621724785073903226489621019708753507692332351713230937307399520421553481654773194652682196442701444495707822615995825362833941121488010210438339942985869938312245881494576873693685039952021734959346458471295745589424408835731701613925415491040969520808058874876544676040551495362573986957220084680192355547595531154199342669324568430323899918689741720375354104361762204424731590831302665269351509485679387920404449800338353103239404576492061555091946225023823936614606129963969394331668892498779727440199222620908740117563201834624103795120983454765577805284782405613752503252645104915501690586452615303022880898199 1099281787724029647381862709845095628200183988126106815623646377247439701832143422264044931007276337775482644621208220784279413690017413419614454757954606490884462221441977979694898408421653705069458345250426204093701812258803568941965353539470070947966509955932304357412954964615061495088419416464269683382442829618839179251370748446067037947022375353497163588548217109295530001841225215519941069764758244359032360370213049169334193717386553054474527206267270614028787828582907627064549372240572346830081833269809875661026385613828848631847594695778365748302946934956247650330564215220804740238383766086745319680913933569896973198528672883444027202034216089188811255540064707524822528575884128442387347051592073663452336625094134668810025228388183817198930874235087299748652494620014125419352457291645547017547500459408947932835475813869660492525127361983964911417859225773284066660668364924637809596107188298396504814486139963309627581177595390302982746882145499916579369531214742707760113291240480222382954671752826977148204225372769044962991316003779422348501351040043653428136895382056544750980288323393535550636620166060608322 1778675295751226883122887138676321091281887409937726262773540644720239674947839428690550230729494559253760579007007723930213005046371869730890417723921058037035339410340204207383058980567226028250665354159203960853061602045188985150608887626642713012198649887630072711960855626715353488483618394940506928234266809883717067907849045835786608924214604830534780016650168339090215526844098667715704906463599817265922014941648516124147853802603111262255425223351527953684017733260478103252529339617231910781721263031398813282751170687732075121468614404531873440635298648187184957730084636774286395011578418768941762382358429277719589194354035717385148690044426527528754241410003019770704023152757822127427299073327033009910807920839724093218860960089797742614421915204608107807527371164690165970847819865632504237632180651764495528366630013212329817093557685883883601159579601127388428422872789656228640898772457649905990493874060367759427919530698629707559238943700591862804393355151357313890077260634811891275453451480267176370825134112886608164825940107574543331956116617848938210542509134559797396085203825084122003251923188941506521 2877957083475256530504749848521416719482071398063833078397187021967679376779982850954595161736770897029243223628215944714492418736389283150504872481875664527919801631782182187077957388988879733320123699409630164946763414303992554092574241166112783960165159843562377069373810591330414983572037811404776611616709639502556247159219794281853646871236980184031943605198385448385745528685323883235645976228358061624954375311861565293482047519989664316729952429618798567712805561843385730317078711857804257611803096301208688943777556301560923753316209100310239188938245583143432608060648851995091135249962184855687082063272362847616562392882708600829175892078642616717565496950067727295526551728641950569814646124919106673363144545933858762028886188477981559813352789439695407556179865784704291390200277157278051255179681111173443461202105827081990309618685047867848512577438826900672495083541154580866450494879645948302495308360200331069055500708294020010541985825846091779383762886366100021650190551875292113658408123233094153519029359485655653127817256111353965680457467657892591638679404516616342147065492148477657553888543355002114843 4656632379226483413627636987197737810763958808001559341170727666687919051727822279645145392466265456283003802635223668644705423782761152881395290205796722564955141042122386394461016369556105761570789053568834125799825016349181539243183128792755496972363809731192449781334666218045768472055656206345283539850976449386273315067068840117640255795451585014566723621848553787475961055529422550951350882691957878890876390253510081417629901322592775578985377652970326521396823295103863833569608051475036168393524359332607502226528726989292998874784823504842112629573544231330617565790733488769377530261540603624628844445630792125336151587236744318214324582123069144246319738360070747066230574881399772697241945198246139683273952466773582855247747148567779302427774704644303515363707236949394457361048097022910555492811861762937938989568735840294320126712242733751732113737018428028060923506413944237095091393652103598208485802234260698828483420238992649718101224769546683642188156241517457335540267812510104004933861574713361329889854493598542261292643196218928509012413584275741529849221913651176139543150695973561779557140466543943621364 7534589462701739944132386835719154530246030206065392419567914688655598428507805130599740554203036353312247026263439613359197842519150436031900162687672387092874942673904568581538973758544985494890912752978464290746588430653174093335757369958868280932528969574754826850708476809376183455627694017750060151467686088888829562226288634399493902666688565198598667227046939235861706584214746434186996858920315940515830765565371646711111948842582439895715330082589125089109628856947249563886686763332840426005327455633816191170306283290853922628101032605152351818511789814474050173851382340764468665511502788480315926508903154972952713980119452919043500474201711760963885235310138474361757126610041723267056591323165246356637097012707441617276633337045760862241127494083998922919887102734098748751248374180188606747991542874111382450770841667376310436330927781619580626314457254928733418589955098817961541888531749546510981110594461029897538920947286669728643210595392775421571919127883557357190458364385396118592269697946455483408883853084197914420460452330282474692871051933634121487901318167792481690216188122039437111029009898945736207 12191221841928223357760023822916892341009989014066951760738642355343517480235627410244885946669301809595250828898663282003903266301911588913295452893469109657830083716026954975999990128101091256461701806547298416546413447002355632578940498751623777904892779305947276632043143027421951927683350224095343691318662538275102877293357474517134158462140150213165390848895493023337667639744168985138347741612273819406707155818881728128741850165175215474700707735559451610506452152051113397456294814807876594398851814966423693396835010280146921502885856109994464448085334045804667739642115829533846195773043392104944770954533947098288865567356197237257825056324780905210204973670209221427987701491441495964298536521411386039911049479481024472524380485613540164668902198728302438283594339683493206112296471203099162240803404637049321440339577507670630563043170515371312740051475682956794342096369043055056633282183853144719466912828721728726022341186279319446744435364939459063760075369401014692730726176895500123526131272659816813298738346682740175713103648549210983705284636209375651337123231818968621233366884095601216668169476442889357571 19725811304629963301892410658636046871256019220132344180306557043999115908743432540844626500872338162907497855162102895363101108821062024945195615581141496750705026389931523557538963886646076751352614559525762707293001877655529725914697868710492058837421748880702103482751619836798135383311044241845403842786348627163932439519646108916628061128828715411764058075942432259199374223958915419325344600532589759922537921384253374839853799007757655370416037818148576699616081008998362961342981578140717020404179270600239884567141293571000844130986888715146816266597123860278717913493498170298314861284546180585260697463437102071241579547475650156301325530526492666174090208980347695789744828101483219231355127844576632396548146492188466089801013822659301026910029692812301361203481442417591954863544845383287768988794947511160703891110419175046940999374098296990893366365932937885527760686324141873018175170715602691230448023423182758623561262133565989175387645960332234485331994497284572049921184541280896242118400970606272296707622199766938090133564100879493458398155688143009772825024549986761102923583072217640653779198486341835093778 31917033146558186659652434481552939212266008234199295941045199399342633388979059951089512447541639972502748684060766177367004375122973613858491068474610606408535110105958478533538954014747168007814316366073061123839415324657885358493638367462115836742314528186649380114794762864220087310994394465940747534105011165439035316813003583433762219590968865624929448924837925282537041863703084404463692342144863579329245077203135102968595649172932870845116745553708028310122533161049476358799276392948593614803031085566663577963976303851147765633872744825141280714682457906083385653135613999832161057057589572690205468417971049169530445114831847393559150586851273571384295182650556917217732529592924715195653664365988018436459195971669490562325394308272841191578931891540603799487075782101085160975841316586386931229598352148210025331449996682717571562417268812362206106417408620842322102782693184928074808452899455835949914936251904487349583603319845308622132081325271693549092069866685586742651910718176396365644532243266089110006360546449678265846667749428704442103440324352385424162147781805729724156949956313241870447367962784724451349 51642844451188149961544845140188986083522027454331640121351756443341749297722492491934138948413978135410246539222869072730105483944035638803686684055752103159240136495890002091077917901393244759166930925598823831132417202313415084408336236172607895579736277067351483597546382701018222694305438707786151376891359792602967756332649692350390280719797581036693507000780357541736416087661999823789036942677453339251782998587388477808449448180690526215532783371856605009738614170047839320142257971089310635207210356166903462531117597422148609764859633540288096981279581766362103566629112170130475918342135753275466165881408151240772024662307497549860476117377766237558385391630904613007477357694407934427008792210564650833007342463857956652126408130932142218488961584352905160690557224518677115839386161969674700218393299659370729222560415857764512561791367109353099472783341558727849863469017326801092983623615058527180362959675087245973144865453411297797519727285603928034424064363970158792573095259457292607762933213872361406713982746216616355980231850308197900501596012495395196987172331792490827080533028530882524226566449126559545127 83559877597746336621197279621741925295788035688530936062396955842684382686701552443023651395955618107912995223283635250097109859067009252662177752530362709567775246601848480624616871916140412766981247291671884954971832526971300442901974603634723732322050805254000863712341145565238310005299833173726898910996370958042003073145653275784152500310766446661622955925618282824273457951365084228252729284822316918581028075790523580777045097353623397060649528925564633319861147331097315678941534364037904250010241441733567040495093901273296375398732378365429377695962039672445489219764726169962636975399725325965671634299379200410302469777139344943419626704229039808942680574281461530225209887287332649622662456576552669269466538435527447214451802439204983410067893475893508960177633006619762276815227478556061631447991651807580754554010412540482084124208635921715305579200750179570171966251710511729167792076514514363130277895926991733322728468773256606419651808610875621583516134230655745535225005977633688973407465457138450516720343292666294621826899599736902342605036336847780621149320113598220551237482984844124394673934411911283996476 135202722048934486582742124761930911379310063142862576183748712286026131984424044934957790344369596243323241762506504322827215343011044891465864436586114812727015383097738482715694789817533657526148178217270708786104249729284715527310310839807331627901787082321352347309887528266256532699605271881513050287887730750644970829478302968134542781030564027698316462926398640366009874039027084052041766227499770257832811074377912058585494545534313923276182312297421238329599761501145154999083792335127214885217451797900470503026211498695444985163592011905717474677241621438807592786393838340093112893741861079241137800180787351651074494439446842493280102821606806046501065965912366143232687244981740584049671248787117320102473880899385403866578210570137125628556855060246414120868190231138439392654613640525736331666384951466951483776570828398246596686000003031068405051984091738298021829720727838530260775700129572890310640855602078979295873334226667904217171535896479549617940198594625904327798101237090981581170398671010811923434326038882910977807131450045100243106632349343175818136492445390711378318016013375006918900500861037843541603 218762599646680823203939404383672836675098098831393512246145668128710514671125597377981441740325214351236236985790139572924325202078054144128042189116477522294790629699586963340311661733674070293129425508942593741076082256256015970212285443442055360223837887575353211022228673831494842704905105055239949198884101708686973902623956243918695281341330474359939418852016923190283331990392168280294495512322087176413839150168435639362539642887937320336831841222985871649460908832242470678025326699165119135227693239634037543521305399968741360562324390271146852373203661111253082006158564510055749869141586405206809434480166552061376964216586187436699729525835845855443746540193827673457897132269073233672333705363669989371940419334912851081030013009342109038624748536139923081045823237758201669469841119081797963114376603274532238330581240938728680810208638952783710631184841917868193795972438350259428567776644087253440918751529070712618601802999924510636823344507355171201456332825281649863023107214724670554577864128149262440154669331549205599634031049782002585711668686190956439285812558988931929555498998219131313574435272949127538079 353965321695615309786681529145603748054408161974256088429894380414736646655549642312939232084694810594559478748296643895751540545089099035593906625702592335021806012797325446056006451551207727819277603726213302527180331985540731497522596283249386988125624969896705558332116202097751375404510376936752999486771832459331944732102259212053238062371894502058255881778415563556293206029419252332336261739821857434246650224546347697948034188422251243613014153520407109979060670333387625677109119034292334020445145037534508046547516898664186345725916402176864327050445282550060674792552402850148862762883447484447947234660953903712451458656033029929979832347442651901944812506106193816690584377250813817722004954150787309474414300234298254947608223579479234667181603596386337201914013468896641062124454759607534294780761554741483722107152069336975277496208641983852115683168933656166215625693166188789689343476773660143751559607131149691914475137226592414853994880403834720819396531419907554190821208451815652135748262799160074363588995370432116577441162499827102828818301035534132257422305004379643307873515011594138232474936133986971079682 572727921342296132990620933529276584729506260805649600676040048543447161326675239690920673825020024945795715734086783468675865747167153179721948814819069857316596642496912409396318113284881798112407029235155896268256414241796747467734881726691442348349462857472058769354344875929246218109415481991992948685655934168018918634726215455971933343713224976418195300630432486746576538019811420612630757252143944610660489374714783337310573831310188563949845994743392981628521579165630096355134445733457453155672838277168545590068822298632927706288240792448011179423648943661313756798710967360204612632025033889654756669141120455773828422872619217366679561873278497757388559046300021490148481509519887051394338659514457298846354719569211106028638236588821343705806352132526260282959836706654842731594295878689332257895138158016015960437733310275703958306417280936635826314353775574034409421665604539049117911253417747397192478358660220404533076940226516925490818224911189892020852864245189204053844315666540322690326126927309336803743664701981322177075193549609105414529969721725088696708117563368575237429014009813269546049371406936098617761 926693243037911442777302462674880332783914422779905689105934428958183807982224882003859905909714835540355194482383427364427406292256252215315855440521662192338402655294237855452324564836089525931684632961369198795436746227337478965257478009940829336475087827368764327686461078026997593513925858928745948172427766627350863366828474668025171406085119478476451182408848050302869744049230672944967018991965802044907139599261131035258608019732439807562860148263800091607582249499017722032243564767749787176117983314703053636616339197297114052014157194624875506474094226211374431591263370210353475394908481374102703903802074359486279881528652247296659394220721149659333371552406215306839065886770700869116343613665244608320769019803509360976246460168300578372987955728912597484873850175551483793718750638296866552675899712757499682544885379612679235802625922920487941997522709230200625047358770727838807254730191407540944037965791370096447552077453109340344813105315024612840249395665096758244665524118355974826074389726469411167332660072413438754516356049436208243348270757259220954130422567748218545302529021407407778524307540923069697443 1499421164380207575767923396204156917513420683585555289781974477501630969308900121694780579734734860486150910216470210833103272039423405395037804255340732049654999297791150264848642678120971324044091662196525095063693160469134226432992359736632271684824550684840823097040805953956243811623341340920738896858083700795369782001554690123997104749798344454894646483039280537049446282069042093557597776244109746655567628973975914372569181851042628371512706143007193073236103828664647818387378010501207240331790821591871599226685161495930041758302397987072886685897743169872688188389974337570558088026933515263757460572943194815260108304401271464663338956093999647416721930598706236796987547396290587920510682273179701907167123739372720467004884696757121922078794307861438857767833686882206326525313046516986198810571037870773515642982618689888383194109043203857123768311876484804235034469024375266887925165983609154938136516324451590500980629017679626265835631330226214504861102259910285962298509839784896297516400516653778747971076324774394760931591549599045313657878240478984309650838540131116793782731543031220677324573678947859168315204 2426114407418119018545225858879037250297335106365460978887908906459814777291125003698640485644449696026506104698853638197530678331679657610353659695862394241993401953085388120300967242957060849975776295157894293859129906696471705398249837746573101021299638512209587424727267031983241405137267199849484845030511467422720645368383164792022276155883463933371097665448128587352316026118272766502564795236075548700474768573237045407827789870775068179075566291270993164843686078163665540419621575268957027507908804906574652863301500693227155810316555181697762192371837396084062619981237707780911563421841996637860164476745269174746388185929923711959998350314720797076055302151112452103826613283061288789627025886844946515487892759176229827981131156925422500451782263590351455252707537057757810319031797155283065363246937583531015325527504069501062429911669126777611710309399194034435659516383145994726732420713800562479080554290242960597428181095132735606180444435541239117701351655575382720543175363903252272342474906380248159138408984846808199686107905648481521901226511236243530604968962698865012328034072052628085103097986488782238012647 3925535571798326594313149255083194167810755789951016268669883383961445746600025125393421065379184556512657014915323849030633950371103063005391463951203126291648401250876538385149609921078032174019867957354419388922823067165605931831242197483205372706124189197050410521768072985939485216760608540770223741888595168218090427369937854916019380905681808388265744148487409124401762308187314860060162571480185295356042397547212959780396971721817696550588272434278186238079789906828313358806999585770164267839699626498446252089986662189157197568618953168770648878269580565956750808371212045351469651448775511901617625049688463990006496490331195176623337306408720444492777232749818688900814160679351876710137708160024648422655016498548950294986015853682544422530576571451790313020541223939964136844344843672269264173817975454304530968510122759389445624020712330634735478621275678838670693985407521261614657586697409717417217070614694551098408810112812361872016075765767453622562453915485668682841685203688148569858875423034026907109485309621202960617699455247526835559104751715227840255807502829981806110765615083848762427671665436641406327851 6351649979216445612858375113962231418108090896316477247557792290421260523891150129092061551023634252539163119614177487228164628702782720615745123647065520533641803203961926505450577164035093023995644252512313682781952973862077637229492035229778473727423827709259997946495340017922726621897875740619708586919106635640811072738321019708041657061565272321636841813935537711754078334305587626562727366716260844056517166120450005188224761592592764729663838725549179402923475984991978899226621161039121295347608431405020904953288162882384353378935508350468411070641417962040813428352449753132381214870617508539477789526433733164752884676261118888583335656723441241568832534900931141004640773962413165499764734046869594938142909257725180122967147010607966922982358835042141768273248760997721947163376640827552329537064913037835546294037626828890508053932381457412347188930674872873106353501790667256341390007411210279896297624904937511695836991207945097478196520201308692740263805571061051403384860567591400842201350329414275066247894294468011160303807360896008357460331262951471370860776465528846818438799687136476847530769651925423644340498 10277185551014772207171524369045425585918846686267493516227675674382706270491175254485482616402818809051820134529501336258798579073885783621136587598268646825290204454838464890600187085113125198015512209866733071704776041027683569060734232712983846433548016906310408468263413003862211838658484281389932328807701803858901500108258874624061037967247080709902585962422946836155840642492902486622889938196446139412559563667662964968621733314410461280252111159827365641003265891820292258033620746809285563187308057903467157043274825071541550947554461519239059948910998527997564236723661798483850866319393020441095414576122197154759381166592314065206672963132161686061609767650749829905454934641765042209902442206894243360797925756274130417953162864290511345512935406493932081293789984937686084007721484499821593710882888492140077262547749588279953677953093788047082667551950551711777047487198188517956047594108619997313514695519632062794245801320757459350212595967076146362826259486546720086226545771279549412060225752448301973357379604089214120921506816143535193019436014666699211116583968358828624549565302220325609958441317362065050668349 16628835530231217820029899483007657004026937582583970763785467964803966794382325383577544167426453061590983254143678823486963207776668504236881711245334167358932007658800391396050764249148218222011156462379046754486729014889761206290226267942762320160971844615570406414758753021784938460556360022009640915726808439499712572846579894332102695028812353031539427776358484547909918976798490113185617304912706983469076729788112970156846494907003226009915949885376545043926741876812271157260241907848406858534916489308488061996562987953925904326489969869707471019552416490038377665076111551616232081190010528980573204102555930319512265842853432953790008619855602927630442302551680970910095708604178207709667176253763838298940835013999310540920309874898478268495294241536073849567038745935408031171098125327373923247947801529975623556585376417170461731885475245459429856482625424584883400988988855774297437601519830277209812320424569574490082792528702556828409116168384839103090065057607771489611406338870950254261576081862577039605273898557225281225314177039543550479767277618170581977360433887675442988364989356802457489210969287488695008847 26906021081245990027201423852053082589945784268851464280013143639186673064873500638063026783829271870642803388673180159745761786850554287858018298843602814184222212113638856286650951334261343420026668672245779826191505055917444775350960500655746166594519861521880814883022166025647150299214844303399573244534510243358614072954838768956163732996059433741442013738781431384065759619291392599808507243109153122881636293455775935125468228221413687290168061045203910684930007768632563415293862654657692421722224547211955219039837813025467455274044431388946530968463415018035941901799773350100082947509403549421668618678678127474271647009445747018996681582987764613692052070202430800815550643245943249919569618460658081659738760770273440958873472739188989614008229648030005930860828730873094115178819609827195516958830690022115700819133126005450415409838569033506512524034575976296660448476187044292253485195628450274523327015944201637284328593849460016178621712135460985465916324544154491575837952110150499666321801834310879012962653502646439402146820993183078743499203292284869793093944402246504067537930291577128067447652286649553745677196 43534856611477207847231323335060739593972721851435435043798611603990639859255826021640570951255724932233786642816858983232724994627222792094900010088936981543154219772439247682701715583409561642037825134624826580678234070807205981641186768598508486755491706137451221297780919047432088759771204325409214160261318682858326645801418663288266428024871786772981441515139915931975678596089882712994124548021860106350713023243888905282314723128416913300084010930580455728856749645444834572554104562506099280257141036520443281036400800979393359600534401258654001988015831508074319566875884901716315028699414078402241822781234057793783912852299179972786690202843367541322494372754111771725646351850121457629236794714421919958679595784272751499793782614087467882503523889566079780427867476808502146349917735154569440206778491552091324375718502422620877141724044278965942380517201400881543849465175900066550922797148280551733139336368771211774411386378162573007030828303845824569006389601762263065449358449021449920583377916173456052567927401203664683372135170222622293978970569903040375071304836134179510526295280933930524936863255937042440686043 70440877692723197874432747187113822183918506120286899323811755243177312924129326659703597735084996802876590031490039142978486781477777079952918308932539795727376431886078103969352666917670905062064493806870606406869739126724650756992147269254254653350011567659332036180803085073079239058986048628808787404795828926216940718756257432244430161020931220514423455253921347316041438215381275312802631791131013229232349316699664840407782951349830600590252071975784366413786757414077397987847967217163791701979365583732398500076238614004860814874578832647600532956479246526110261468675658251816397976208817627823910441459912185268055559861744926991783371785831132155014546442956542572541196995096064707548806413175080001618418356554546192458667255353276457496511753537596085711288696207681596261528737344981764957165609181574207025194851628428071292551562613312472454904551777377178204297941362944358804407992776730826256466352312972849058739980227622589185652540439306810034922714145916754641287310559171949586905179750484335065530580903850104085518956163405701037478173862187910168165249238380683578064225572511058592384515542586596186363239 113975734304200405721664070522174561777891227971722334367610366847167952783385152681344168686340721735110376674306898126211211776104999872047818319021476777270530651658517351652054382501080466704102318941495432987547973197531856738633334037852763140105503273796783257478584004120511327818757252954218001565057147609075267364557676095532696589045803007287404896769061263248017116811471158025796756339152873335583062339943553745690097674478247513890336082906364822142643507059522232560402071779669890982236506620252841781112639414984254174475113233906254534944495078034184581035551543153532713004908231706226152264241146243061839472714044106964570061988674499696337040815710654344266843346946186165178043207889501921577097952338818943958461037967363925379015277427162165491716563684490098407878655080136334397372387673126298349570570130850692169693286657591438397285068978778059748147406538844425355330789925011377989605688681744060833151366605785162192683368743152634603929103747679017706736669008193399507488557666657791118098508305053768768891091333628323331457144432090950543236554074514863088590520853444989117321378798523638627049282 184416611996923603596096817709288383961809734092009233691422122090345265707514479341047766421425718537986966705796937269189698557582776952000736627954016572997907083544595455621407049418751371766166812748366039394417712324256507495625481307107017793455514841456115293659387089193590566877743301583026788969852976535292208083313933527777126750066734227801828352022982610564058555026852433338599388130283886564815411656643218586097880625828078114480588154882149188556430264473599630548250038996833682684215872203985240281188878028989114989349692066553855067900974324560294842504227201405349110981117049334050062705701058428329895032575789033956353433774505631851351587258667196916808040342042250872726849621064581923195516308893365136417128293320640382875527030964758251203005259892171694669407392425118099354537996854700505374765421759278763462244849270903910852189620756155237952445347901788784159738782701742204246072040994716909891891346833407751378335909182459444638851817893595772348023979567365349094393737417142126183629089208903872854410047497034024368935318294278860711401803312895546666654746425956047709705894341110234813412521 298392346301124009317760888231462945739700962063731568059032488937513218490899632022391935107766440273097343380103835395400910333687776824048554946975493350268437735203112807273461431919831838470269131689861472381965685521788364234258815344959780933561018115252898551137971093314101894696500554537244790534910124144367475447871609623309823339112537235089233248792043873812075671838323591364396144469436759900398473996586772331787978300306325628370924237788514010699073771533121863108652110776503573666452378824238082062301517443973369163824805300460109602845469402594479423539778744558881823986025281040276214969942204671391734505289833140920923495763180131547688628074377851261074883688988437037904892828954083844772614261232184080375589331288004308254542308391920416694721823576661793077286047505254433751910384527826803724335991890129455631938135928495349249474689734933297700592754440633209515069572626753582235677729676460970725042713439192913571019277925612079242780921641274790054760648575558748601882295083799917301727597513957641623301138830662347700392462726369811254638357387410409755245267279401036827027273139633873440461803 482808958298047612913857705940751329701510696155740801750454611027858484198414111363439701529192158811084310085900772664590608891270553776049291574929509923266344818747708262894868481338583210236435944438227511776383397846044871729884296652066798727016532956709013844797358182507692461574243856120271579504763100679659683531185543151086950089179271462891061600815026484376134226865176024702995532599720646465213885653229990917885858926134403742851512392670663199255504036006721493656902149773337256350668251028223322343490395472962484153174497367013964670746443727154774266044005945964230934967142330374326277675643263099721629537865622174877276929537685763399040215333045048177882924031030687910631742450018665767968130570125549216792717624608644691130069339356678667897727083468833487746693439930372533106448381382527309099101413649408219094182985199399260101664310491088535653038102342421993674808355328495786481749770671177880616934060272600664949355187108071523881632739534870562402784628142924097696276032500942043485356686722861514477711186327696372069327781020648671966040160700305956421900013705357084536733167480744108253874324 781201304599171622231618594172214275441211658219472369809487099965371702689313743385831636636958599084181653466004608059991519224958330600097846521905003273534782553950821070168329913258415048706705076128088984158349083367833235964143111997026579660577551071961912395935329275821794356270744410657516370039673224824027158979057152774396773428291808697980294849607070358188209898703499616067391677069157406365612359649816763249673837226440729371222436630459177209954577807539843356765554260549840830017120629852461404405791912916935853316999302667474074273591913129749253689583784690523112758953167611414602492645585467771113364043155455315798200425300865894946728843407422899438957807720019124948536635278972749612740744831357733297168306955896648999384611647748599084592448907045495280823979487435626966858358765910354112823437405539537674726121121127894609351139000226021833353630856783055203189877927955249368717427500347638851341976773711793578520374465033683603124413661176145352457545276718482846298158327584741960787084284236819156101012325158358719769720243747018483220678518087716366177145280984758121363760440620377981694336127 1264010262897219235145476300112965605142722354375213171559941710993230186887727854749271338166150757895265963551905380724582128116228884376147138096834513196801127372698529333063198394596998258943141020566316495934732481213878107694027408649093378387594084028670926240732687458329486817844988266777787949544436325503686842510242695925483723517471080160871356450422096842564344125568675640770387209668878052830826245303046754167559696152575133114073949023129840409210081843546564850422456410323178086367788880880684726749282308389898337470173800034488038944338356856904027955627790636487343693920309941788928770321228730870834993581021077490675477354838551658345769058740467947616840731751049812859168377728991415380708875401483282513961024580505293690514680987105277752490175990514328768570672927365999499964807147292881421922538819188945893820304106327293869452803310717110369006668959125477196864686283283745155199177271018816731958910833984394243469729652141755127006046400711015914860329904861406943994434360085684004272440970959680670578723511486055091839048024767667155186718678788022322599045294690115205900493608101122089948210451 2045211567496390857377094894285179880583934012594685541369428810958601889577041598135102974803109356979447617017909988784573647341187214976244984618739516470335909926649350403231528307855413307649846096694405480093081564581711343658170520646119958048171635100632838636668016734151281174115732677435304319584109550327714001489299848699880496945762888858851651300029167200752554024272175256837778886738035459196438604952863517417233533379015862485296385653589017619164659651086408207188010670873018916384909510733146131155074221306834190787173102701962113217930269986653281645211575327010456452873477553203531262966814198641948357624176532806473677780139417553292497902147890847055798539471068937807705013007964164993449620232841015811129331536401942689899292634853876837082624897559824049394652414801626466823165913203235534745976224728483568546425227455188478803942310943132202360299815908532400054564211238994523916604771366455583300887607696187821990104117175438730130460061887161267317875181579889790292592687670425965059525255196499826679735836644413811608768268514685638407397196875738688776190575674873327264254048721500071642546578 3309221830393610092522571194398145485726656366969898712929370521951832076464769452884374312969260114874713580569815369509155775457416099352392122715574029667137037299347879736294726702452411566592987117260721976027814045795589451352197929295213336435765719129303764877400704192480767991960720944213092269128545875831400843999542544625364220463233969019723007750451264043316898149840850897608166096406913512027264850255910271584793229531590995599370334676718858028374741494632973057610467081196197002752698391613830857904356529696732528257346902736450152162268626843557309600839365963497800146793787494992460033288042929512783351205197610297149155134977969211638266960888358794672639271222118750666873390736955580374158495634324298325090356116907236380413973621959154589572800888074152817965325342167625966787973060496116956668515043917429462366729333782482348256745621660242571366968775034009596919250494522739679115782042385272315259798441680582065459833769317193857136506462598177182178205086441296734287027047756109969331966226156180497258459348130468903447816293282352793594115875663761011375235870364988533164747656822622161590757029 5354433397890000949899666088683325366310590379564584254298799332910433966041811051019477287772369471854161197587725358293729422798603314328637107334313546137472947225997230139526255010307824874242833213955127456120895610377300795010368449941333294483937354229936603514068720926632049166076453621648396588712655426159114845488842393325244717408996857878574659050480431244069452174113026154445944983144948971223703455208773789002026762910606858084666720330307875647539401145719381264798477752069215919137607902346976989059430751003566719044520005438412265380198896830210591246050941290508256599667265048195991296254857128154731708829374143103622832915117386764930764863036249641728437810693187688474578403744919745367608115867165314136219687653309179070313266256813031426655425785633976867359977756969252433611138973699352491414491268645913030913154561237670827060687932603374773727268590942541996973814705761734203032386813751727898560686049376769887449937886492632587266966524485338449496080268021186524579619735426535934391491481352680323938195184774882715056584561797038432001513072539499700151426446039861860429001705544122233233303607 8663655228283611042422237283081470852037246746534482967228169854862266042506580503903851600741629586728874778157540727802885198256019413681029230049887575804609984525345109875820981712760236440835820331215849432148709656172890246362566379236546630919703073359240368391469425119112817158037174565861488857841201301990515689488384937950608937872230826898297666800931695287386350323953877052054111079551862483250968305464684060586819992442197853684037055007026733675914142640352354322408944833265412921890306293960807846963787280700299247301866908174862417542467523673767900846890307254006056746461052543188451329542900057667515060034571753400771988050095355976569031823924608436401077081915306439141451794481875325741766611501489612461310043770216415450727239878772186016228226673708129685325303099136878400399112034195469448083006312563342493279883895020153175317433554263617345094237365976551593893065200284473882148168856137000213820484491057351952909771655809826444403472987083515631674285354462483258866646783182645903723457707508860821196654532905351618504400855079391225595628948203260711526662316404850393593749362366744394824060636 14018088626173611992321903371764796218347837126099067221526969187772700008548391554923328888513999058583035975745266086096614621054622728009666337384201121942082931751342340015347236723068061315078653545170976888269605266550191041372934829177879925403640427589176971905538146045744866324113628187509885446553856728149630534977227331275853655281227684776872325851412126531455802498066903206500056062696811454474671760673457849588846755352804711768703775337334609323453543786071735587207422585334628841027914196307784836023218031703865966346386913613274682922666420503978492092941248544514313346128317591384442625797757185822246768863945896504394820965212742741499796686960858078129514892608494127616030198226795071109374727368654926597529731423525594521040506135585217442883652459342106552685280856106130834010251007894821939497497581209255524193038456257824002378121486866992118821505956919093590866879906046208085180555669888728112381170540434121840359709542302459031670439511568854081170365622483669783446266518609181838114949188861541145134849717680234333560985416876429657597142020742760411678088762444712254022751067910866628057364243 22681743854457223034744140654846267070385083872633550188755139042634966051054972058827180489255628645311910753902806813899499819310642141690695567434088697746692916276687449891168218435828297755914473876386826320418314922723081287735501208414426556323343500948417340297007571164857683482150802753371374304395058030140146224465612269226462593153458511675169992652343821818842152822020780258554167142248673937725640066138141910175666747795002565452740830344361342999367686426424089909616367418600041762918220490268592682987005312404165213648253821788137100465133944177746392939831555798520370092589370134572893955340657243489761828898517649905166809015308098718068828510885466514530591974523800566757481992708670396851141338870144539058839775193742009971767746014357403459111879133050236238010583955243009234409363042090291387580503893772598017472922351277977177695555041130609463915743322895645184759945106330681967328724526025728326201655031491473793269481198112285476073912498652369712844650976946153042312913301791827741838406896370401966331504250585585952065386271955820883192770968946021123204751078849562647616500430277611022881424879 36699832480630835027066044026611063288732920998732617410282108230407666059603363613750509377769627703894946729648072899996114440365264869700361904818289819688775848028029789906515455158896359070993127421557803208687920189273272329108436037592306481726983928537594312202545717210602549806264430940881259750948914758289776759442839600502316248434686196452042318503755948350297955320087683465054223204945485392200311826811599759764513503147807277221444605681695952322821230212495825496823790003934670603946134686576377519010223344108031179994640735401411783387800364681724885032772804343034683438717687725957336581138414429312008597762463546409561629980520841459568625197846324592660106867132294694373512190935465467960516066238799465656369506617267604492808252149942620901995531592392342790695864811349140068419614049985113327078001474981853541665960807535801180073676527997601582737249279814738775626825012376890052509280195914456438582825571925595633629190740414744507744352010221223794015016599429822825759179820401009579953356085231943111466353968265820285626371688832250540789912989688781534882839841294274901639251498188477650938789122 59381576335088058061810184681457330359118004871366167599037247273042632110658335672577689867025256349206857483550879713895614259675907011391057472252378517435468764304717239797683673594724656826907601297944629529106235111996353616843937246006733038050327429486011652499553288375460233288415233694252634055343972788429922983908451869728778841588144708127212311156099770169140108142108463723608390347194159329925951892949741669940180250942809842674185436026057295322188916638919915406440157422534712366864355176844970201997228656512196393642894557189548883852934308859471277972604360141555053531307057860530230536479071672801770426660981196314728438995828940177637453708731791107190698841656095261130994183644135864811657405108944004715209281811009614464575998164300024361107410725442579028706448766592149302828977092075404714658505368754451559138883158813778357769231569128211046652992602710383960386770118707572019838004721940184764784480603417069426898671938527029983818264508873593506859667576375975868072093122192837321791762981602345077797858218851406237691757960788071423982683958634802658087590920143837549255751928466088673820214001 96081408815718893088876228708068393647850925870098785009319355503450298170261699286328199244794884053101804213198952613891728700041171881091419377070668337124244612332747029704199128753621015897900728719502432737794155301269625945952373283599039519777311358023605964702099005586062783094679664635133893806292887546719699743351291470231095090022830904579254629659855718519438063462196147188662613552139644722126263719761341429704693754090617119895630041707753247645010146851415740903263947426469382970810489863421347721007452000620227573637535292590960667240734673541196163005377164484589736970024745586487567117617486102113779024423444742724290068976349781637206078906578115699850805708788389955504506374579601332772173471347743470371578788428277218957384250314242645263102942317834921819402313577941289371248591142060518041736506843736305100804843966349579537842908097125812629390241882525122736013595131084462072347284917854641203367306175342665060527862678941774491562616519094817300874684175805798693831272942593846901745119066834288189264212187117226523318129649620321964772596948323584192970430761438112450895003426654566324759003123 155462985150806951150686413389525724006968930741464952608356602776492930280920034958905889111820140402308661696749832327787342959717078892482476849323046854559713376637464269501882802348345672724808330017447062266900390413265979562796310529605772557827638787509617617201652293961523016383094898329386527861636860335149622727259743339959873931610975612706466940815955488688578171604304610912271003899333804052052215612711083099644874005033426962569815477733810542967199063490335656309704104849004095337674845040266317923004680657132423967280429849780509551093668982400667440977981524626144790501331803447017797654096557774915549451084425939039018507972178721814843532615309906807041504550444485216635500558223737197583830876456687475086788070239286833421960248478542669624210353043277500848108762344533438674077568234135922756395012212490756659943727125163357895612139666254023676043234485235506696400365249792034092185289639794825968151786778759734487426534617468804475380881027968410807734351752181774561903366064786684223536882048436633267062070405968632761009887610408393388755280906958386851058021681581950000150755355120654998579217124 251544393966525844239562642097594117654819856611563737617675958279943228451181734245234088356615024455410465909948784941679071659758250773573896226393715191683957988970211299206081931101966688622709058736949495004694545714535605508748683813204812077604950145533223581903751299547585799477774562964520421667929747881869322470611034810190969021633806517285721570475811207208016235066500758100933617451473448774178479332472424529349567759124044082465445519441563790612209210341751397212968052275473478308485334903687665644012132657752651540917965142371470218334403655941863603983358689110734527471356549033505364771714043877029328475507870681763308576948528503452049611521888022506892310259232875172140006932803338530356004347804430945458366858667564052379344498792785314887313295361112422667511075922474728045326159376196440798131519056227061760748571091512937433455047763379836305433476367760629432413960380876496164532574557649467171519092954102399547954397296410578966943497547063228108609035927987573255734639007380531125282001115270921456326282593085859284328017260028715353527877855281971044028452443020062451045758781775221323338220247 407007379117332795390249055487119841661788787353028690226032561056436158732101769204139977468435164857719127606698617269466414619475329666056373075716762046243671365607675568707964733450312361347517388754396557271594936127801585071544994342810584635432588933042841199105403593509108815860869461293906949529566608217018945197870778150150842953244782129992188511291766695896594406670805369013204621350807252826230694945183507628994441764157471045035260997175374333579408273832087053522672157124477573646160179943953983567016813314885075508198394992151979769428072638342531044961340213736879317972688352480523162425810601651944877926592296620802327084920707225266893144137197929313933814809677360388775507491027075727939835224261118420545154928906850885801304747271327984511523648404389923515619838267008166719403727610332363554526531268717818420692298216676295329067187429633859981476710852996136128814325630668530256717864197444293139670879732862134035380931913879383442324378575031638916343387680169347817638005072167215348818883163707554723388352999054492045337904870437108742283158762240357895086474124602012451196514136895876321917437371 658551773083858639629811697584713959316608643964592427843708519336379387183283503449374065825050189313129593516647402211145486279233580439630269302110477237927629354577886867914046664552279049970226447491346052276289481842337190580293678156015396713037539078576064781009154893056694615338644024258427371197496356098888267668481812960341811974878588647277910081767577903104610641737306127114138238802280701600409174277655932158344009523281515127500706516616938124191617484173838450735640209399951051954645514847641649211028945972637727049116360134523449987762476294284394648944698902847613845444044901514028527197524645528974206402100167302565635661869235728718942755659085951820826125068910235560915514423830414258295839572065549366003521787574414938180649246064113299398836943765502346183130914189482894764729886986528804352658050324944880181440869308189232762522235193013696286910187220756765561228286011545026421250438755093760311189972686964533583335329210289962409267876122094867024952423608156921073372644079547746474100884278978476179714635592140351329665922130465824095811036617522328939114926567622074902242272918671097645255657618 1065559152201191435020060753071833800978397431317621118069741080392815545915385272653514043293485354170848721123346019480611900898708910105686642377827239284171300720185562436622011398002591411317743836245742609547884417970138775651838672498825981348470128011618905980114558486565803431199513485552334320727062964315907212866352591110492654928123370777270098593059344599001205048408111496127342860153087954426639869222839439787338451287438986172535967513792312457771025758005925504258312366524428625600805694791595632778045759287522802557314755126675429757190548932626925693906039116584493163416733253994551689623335247180919084328692463923367962746789942953985835899796283881134759939878587595949691021914857489986235674796326667786548676716481265823981953993335441283910360592169892269698750752456491061484133614596861167907184581593662698602133167524865528091589422622647556268386898073752901690042611642213556677968302952538053450860852419826667618716261124169345851592254697126505941295811288326268891010649151714961822919767442686030903102988591194843375003827000902932838094195379762686834201400692224087353438787055566973967173094989 1724110925285050074649872450656547760295006075282213545913449599729194933098668776102888109118535543483978314639993421691757387177942490545316911679937716522098930074763449304536058062554870461287970283737088661824173899812475966232132350654841378061507667090194970761123713379622498046538157509810761691924559320414795480534834404070834466903001959424548008674826922502105815690145417623241481098955368656027049043500495371945682460810720501300036674030409250581962643242179763954993952575924379677555451209639237281989074705260160529606431115261198879744953025226911320342850738019432107008860778155508580216820859892709893290730792631225933598408659178682704778655455369832955586064947497831510606536338687904244531514368392217152552198504055680762162603239399554583309197535935394615881881666645973956248863501583389972259842631918607578783574036833054760854111657815661252555297085294509667251270897653758583099218741707631813762050825106791201202051590334459308260860130819221372966248234896483189964383293231262708297020651721664507082817624183335194704669749131368756933905231997285015773316327259846162255681059974238071612428752607 2789670077486241509669933203728381561273403506599834663983190680122010479014054048756402152412020897654827035763339441172369288076651400651003554057764955806270230794949011741158069460557461872605714119982831271372058317782614741883971023153667359409977795101813876741238271866188301477737670995363096012651622284730702693401186995181327121831125330201818107267886267101107020738553529119368823959108456610453688912723334811733020912098159487472572641544201563039733669000185689459252264942448808303156256904430832914767120464547683332163745870387874309502143574159538246036756777136016600172277511409503131906444195139890812375059485095149301561155449121636690614555251653714090346004826085427460297558253545394230767189164718884939100875220536946586144557232734995867219558128105286885580632419102465017732997116180251140167027213512270277385707204357920288945701080438308808823683983368262568941313509295972139777187044660169867212911677526617868820767851458628654112452385516347878907544046184809458855393942382977670119940419164350537985920612774530038079673576132271689771999427377047702607517727952070249609119847029805045579601847596 4513781002771291584319805654384929321568409581882048209896640279851205412112722824859290261530556441138805350403332862864126675254593891196320465737702672328369160869712461045694127523112332333893684403719919933196232217595090708116103373808508737471485462192008847502361985245810799524275828505173857704576181605145498173936021399252161588734127289626366115942713189603212836428698946742610305058063825266480737956223830183678703372908879988772609315574610813621696312242365453414246217518373187980711708114070070196756195169807843861770176985649073189247096599386449566379607515155448707181138289565011712123265055032600705665790277726375235159564108300319395393210707023547045932069773583258970904094592233298475298703533111102091653073724592627348307160472134550450528755664040681501462514085748438973981860617763641112426869845430877856169281241190975049799812738253970061378981068662772236192584406949730722876405786367801680974962502633409070022819441793087962373312516335569251873792281081292648819777235614240378416961070886015045068738236957865232784343325263640446705904659374332718380834055211916411864800907004043117192030600203 7303451080257533093989738858113310882841813088481882873879830959973215891126776873615692413942577338793632386166672304036495963331245291847324019795467628134639391664661472786852196983669794206499398523702751204568290535377705450000074396962176096881463257293822724243600257111999101002013499500536953717227803889876200867337208394433488710565252619828184223210599456704319857167252475861979129017172281876934426868947164995411724285007039476245181957118812376661429981242551142873498482460821996283867965018500903111523315634355527193933922856036947498749240173545987812416364292291465307353415800974514844029709250172491518040849762821524536720719557421956086007765958677261136278074599668686431201652845778692706065892697829987030753948945129573934451717704869546317748313792145968387043146504850903991714857733943892252593897058943148133554988445548895338745513818692278870202665052031034805133897916245702862653592831027971548187874180160026938843587293251716616485764901851917130781336327266102107675171177997218048536901490050365583054658849732395270864016901395912136477904086751380420988351783163986661473920754033848162771632447799 11817232083028824678309544512498240204410222670363931083776471239824421303239499698474982675473133779932437736570005166900622638585839183043644485533170300463008552534373933832546324506782126540393082927422671137764522752972796158116177770770684834352948719485831571745962242357809900526289328005710811421803985495021699041273229793685650299299379909454550339153312646307532693595951422604589434075236107143415164825170995179090427657915919465017791272693423190283126293484916596287744699979195184264579673132570973308279510804163371055704099841686020687996336772932437378795971807446914014534554090539526556152974305205092223706640040547899771880283665722275481400976665700808182210144373251945402105747438011991181364596230941089122407022669722201282758878177004096768277069456186649888505660590599342965696718351707533365020766904374025989724269686739870388545326556946248931581646120693807041326482323195433585529998617395773229162836682793436008866406735044804578859077418187486382655128608347394756494948413611458426953862560936380628123397086690260503648360226659552583183808746125713139369185838375903073338721661037891279963663048002 19120683163286357772299283370611551087252035758845813957656302199797637194366276572090675089415711118726070122736677470937118601917084474890968505328637928597647944199035406619398521490451920746892481451125422342332813288350501608116252167732860931234411976779654295989562499469809001528302827506247765139031789384897899908610438188119139009864632529282734562363912103011852550763203898466568563092408389020349591694118160174502151942922958941262973229812235566944556274727467739161243182440017180548447638151071876419802826438518898249638022697722968186745576946478425191212336099738379321887969891514041400182683555377583741747489803369424308601003223144231567408742624378069318488218972920631833307400283790683887430488928771076153160971614851775217210595881873643086025383248332618275548807095450246957411576085651425617614663963317174123279258132288765727290840375638527801784311172724841846460380239441136448183591448423744777350710862953462947709994028296521195344842320039403513436464935613496864170119591608676475490764050986746211178055936422655774512377128055464719661712832877093560357537621539889734812642415071739442735295495801 30937915246315182450608827883109791291662258429209745041432773439622058497605776270565657764888844898658507859306682637837741240502923657934612990861808229060656496733409340451944845997234047287285564378548093480097336041323297766232429938503545765587360696265485867735524741827618902054592155511958576560835774879919598949883667981804789309164012438737284901517224749319385244359155321071157997167644496163764756519289155353592579600838878406280764502505658757227682568212384335448987882419212364813027311283642849728082337242682269305342122539408988874741913719410862570008307907185293336422523982053567956335657860582675965454129843917324080481286888866507048809719290078877500698363346172577235413147721802675068795085159712165275567994284573976499969474058877739854302452704519268164054467686049589923108294437358958982635430867691200113003527819028636115836166932584776733365957293418648887786862562636570033713590065819518006513547545746898956576400763341325774203919738226889896091593543960891620665068005220134902444626611923126839301453023112916278160737354715017302845521579002806699726723459915792808151364076109630722698958543803 50058598409601540222908111253721342378914294188055558999089075639419695691972052842656332854304556017384577982043360108774859842420008132825581496190446157658304440932444747071343367487685968034178045829673515822430149329673799374348682106236406696821772673045140163725087241297427903582894983018206341699867564264817498858494106169923928319028644968020019463881136852331237795122359219537726560260052885184114348213407315528094731543761837347543737732317894324172238842939852074610231064859229545361474949434714726147885163681201167554980145237131957061487490665889287761220644006923672658310493873567609356518341415960259707201619647286748389082290112010738616218461914456946819186582319093209068720548005593358956225574088483241428728965899425751717180069940751382940327835952851886439603274781499836880519870523010384600250094831008374236282785951317401843127007308223304535150268466143490734247242802077706481897181514243262783864258408700361904286394791637846969548762058266293409528058479574388484835187596828811377935390662909873050479508959535572052673114482770482022507234411879900260084261081455682542964006491181370165434254039604 80996513655916722673516939136831133670576552617265304040521849079041754189577829113221990619193400916043085841350042746612601082922931790760194487052254386718960937665854087523288213484920015321463610208221609302527485370997097140581112044739952462409133369310626031460611983125046805637487138530164918260703339144737097808377774151728717628192657406757304365398361601650623039481514540608884557427697381347879104732696470881687311144600715753824502234823553081399921411152236410059218947278441910174502260718357575875967500923883436860322267776540945936229404385300150331228951914108965994733017855621177312853999276542935672655749491204072469563577000877245665028181204535824319884945665265786304133695727396034025020659248195406704296960183999728217149543999629122794630288657371154603657742467549426803628164960369343582885525698699574349286313770346037958963174240808081268516225759562139622034105364714276515610771580062780790377805954447260860862795554979172743752681796493183305619652023535280105500255602048946280380017274832999889780961982648488330833851837485499325352755990882706959810984541371475351115370567291000888133212583407 131055112065518262896425050390552476049490846805320863039610924718461449881549881955878323473497956933427663823393402855387460925342939923585775983242700544377265378598298834594631580972605983355641656037895125124957634700670896514929794150976359159230906042355766195185699224422474709220382121548371259960570903409554596666871880321652645947221302374777323829279498453981860834603873760146611117687750266531993452946103786409782042688362553101368239967141447405572160254092088484669450012137671455535977210153072302023852664605084604415302413013672902997716895051189438092449595921032638653043511729188786669372340692503195379857369138490820858645867112887984281246643118992771139071527984358995372854243732989392981246233336678648133025926083425479934329613940380505734958124610223041043261017249049263684148035483379728183135620529707948585569099721663439802090181549031385803666494225705630356281348166791982997507953094306043574242064363147622765149190346617019713301443854759476715147710503109668590335443198877757658315407937742872940260470942184060383506966320255981347859990402762607219895245622827157894079377058472371053567466623011 212051625721434985569941989527383609720067399422586167080132773797503204071127711069100314092691357849470749664743445602000062008265871714345970470294954931096226316264152922117919794457525998677105266246116734427485120071667993655510906195716311621640039411666392226646311207547521514857869260078536178221274242554291694475249654473381363575413959781534628194677860055632483874085388300755495675115447647879872557678800257291469353832963268855192742201965000486972081665244324894728668959416113365710479470871429877899820165528968041275624680790213848933946299436489588423678547835141604647776529584809963982226339969046131052513118629694893328209444113765229946274824323528595458956473649624781676987939460385427006266892584874054837322886267425208151479157940009628529588413267594195646918759716598690487776200443749071766021146228407522934855413492009477761053355789839467072182719985267769978315453531506259513118724674368824364619870317594883626011985901596192457054125651252660020767362526644948695835698800926703938695425212575872830041432924832548714340818157741480673212746393645314179706230164198633245194747625763371941700679206418 343106737786953248466367039917936085769558246227907030119743698515964653952677593024978637566189314782898413488136848457387522933608811637931746453537655475473491694862451756712551375430131982032746922284011859552442754772338890170440700346692670780870945454022158421832010431969996224078251381626907438181845145963846291142121534795034009522635262156311952023957358509614344708689262060902106792803197914411866010624904043701251396521325821956560982169106447892544241919336413379398118971553784821246456681024502179923672830134052645690927093803886751931663194487679026516128143756174243300820041313998750651598680661549326432370487768185714186855311226653214227521467442521366598028001633983777049842183193374819987513125921552702970348812350850688085808771880390134264546537877817236690179776965647954171924235927128799949156766758115471520424513213672917563143537338870852875849214210973400334596801698298242510626677768674867938861934680742506391161176248213212170355569506012136735915073029754617286171141999804461597010833150318745770301903867016609097847784477997462021072736796407921399601475787025791139274124684235742995268145829429 555158363508388234036309029445319695489625645650493197199876472313467858023805304094078951658880672632369163152880294059387584941874683352277716923832610406569718011126604678830471169887657980709852188530128593979927874844006883825951606542408982402510984865688550648478321639517517738936120641705443616403119388518137985617371189268415373098049221937846580218635218565246828582774650361657602467918645562291738568303704300992720750354289090811753724371071448379516323584580738274126787930969898186956936151895932057823492995663020686966551774594100600865609493924168614939806691591315847948596570898808714633825020630595457484883606397880607515064755340418444173796291766049962056984475283608558726830122653760246993780018506426757807671698618275896237287929820399762794134951145411432337098536682246644659700436370877871715177912986522994455279926705682395324196893128710319948031934196241170312912255229804502023745402443043692303481804998337390017173162149809404627409695157264796756682435556399565982006840800731165535706258362894618600343336791849157812188602635738942694285483190053235579307705951224424384468872309999114936968825035847 898265101295341482502676069363255781259183891878400227319620170829432511976482897119057589225069987415267576641017142516775107875483494990209463377370265882043209705989056435543022545317789962742599110814140453532370629616345773996392306889101653183381930319710709070310332071487513963014372023332351054584964534481984276759492724063449382620684484094158532242592577074861173291463912422559709260721843476703604578928608344693972146875614912768314706540177896272060565503917151653524906902523683008203392832920434237747165825797073332657478868397987352797272688411847641455934835347490091249416612212807465285423701292144783917254094166066321701920066567071658401317759208571328655012476917592335776672305847135066981293144427979460778020510969126584323096701700789897058681489023228669027278313647894598831624672298006671664334679744638465975704439919355312887340430467581172823881148407214570647509056928102744534372080211718560242343739679079896408334338398022616797765264663276933492597508586154183268177982800535627132717091513213364370645240658865766910036387113736404715358219986461156978909181738250215523742996994234857932236970865276 1453423464803729716538985098808575476748809537528893424519496643142900370000288201213136540883950660047636739793897436576162692817358178342487180301202876288612927717115661114373493715205447943452451299344269047512298504460352657822343913431510635585892915185399259718788653711005031701950492665037794670988083923000122262376863913331864755718733706032005112461227795640108001874238562784217311728640489038995343147232312645686692897229904003580068430911249344651576889088497889927651694833493581195160328984816366295570658821460094019624030642992087953662882182336016256395741526938805939198013183111616179919248721922740241402137700563946929216984821907490102575114050974621290711996952201200894503502428500895313975073162934406218585692209587402480560384631521189659852816440168640101364376850330141243491325108668884543379512592731161460430984366625037708211537323596291492771913082603455740960421312157907246558117482654762252545825544677417286425507500547832021425174959820541730249279944142553749250184823601266792668423349876107982970988577450714924722224989749475347409643703176514392558216887689474639908211869304233972869205795901123 2351688566099071199041661168171831258007993429407293651839116813972332881976771098332194130109020647462904316434914579092937800692841673332696643678573142170656137423104717549916516260523237906195050410158409501044669134076698431818736220320612288769274845505109968789098985782492545664964864688370145725573048457482106539136356637395314138339418190126163644703820372714969175165702475206777020989362332515698947726160920990380665044105518916348383137451427240923637454592415041581176601736017264203363721817736800533317824647257167352281509511390075306460154870747863897851676362286296030447429795324423645204672423214885025319391794730013250918904888474561760976431810183192619367009429118793230280174734348030380956366307362385679363712720556529064883481333221979556911497929191868770391655163978035842322949780966891215043847272475799926406688806544393021098877754063872665595794231010670311607930369086009991092489562866480812788169284356497182833841838945854638222940224483818663741877452728707932518362806401802419801140441389321347341633818109580691632261376863211752125001923162975549537126069427724855431954866298468830801442766766399 3805112030902800915580646266980406734756802966936187076358613457115233251977059299545330670992971307510541056228812015669100493510199851675183823979776018459269065140220378664290009975728685849647501709502678548556967638537051089641080133752122924355167760690509228507887639493497577366915357353407940396561132380482228801513220550727178894058151896158168757165048168355077177039941037990994332718002821554694290873393233636067357941335422919928451568362676585575214343680912931508828296569510845398524050802553166828888483468717261371905540154382163260123037053083880154247417889225101969645442978436039825123921145137625266721529495293960180135889710382051863551545861157813910079006381319994124783677162848925694931439470296791897949404930143931545443865964743169216764314369360508871756032014308177085814274889635775758423359865206961386837673173169430729310415077660164158367707313614126052568351681243917237650607045521243065333994829033914469259349339493686659648115184304360393991157396871261681768547630003069212469563791265429330312622395560295616354486366612687099534645626339489942095342957117199495340166735602702803670648562667522 6156800597001872114622307435152237992764796396343480728197730271087566133953830397877524801101991954973445372663726594762038294203041525007880467658349160629925202563325096214206526236251923755842552119661088049601636772613749521459816354072735213124442606195619197296986625275990123031880222041778086122134180837964335340649577188122493032397570086284332401868868541070046352205643513197771353707365154070393238599554154626448022985440941836276834705814103826498851798273327973090004898305528109601887772620289967362206308115974428724187049665772238566583191923831744052099094251511398000092872773760463470328593568352510292040921290023973431054794598856613624527977671341006529446015810438787355063851897196956075887805777659177577313117650700460610327347297965148773675812298552377642147687178286212928137224670602666973467207137682761313244361979713823750409292831724036823963501544624796364176282050329927228743096608387723878122164113390411652093191178439541297871055408788179057733034849599969614286910436404871632270704232654750677654256213669876307986747743475898851659647549502465491632469026544924350772121601901171634472091329433921 9961912627904673030202953702132644727521599363279667804556343728202799385930889697422855472094963262483986428892538610431138787713241376683064291638125179089194267703545474878496536211980609605490053829163766598158604411150800611100896487824858137479610366886128425804874264769487700398795579395186026518695313218446564142162797738849671926455721982442501159033916709425123529245584551188765686425367975625087529472947388262515380926776364756205286274176780412074066141954240904598833194875038955000411823422843134191094791584691690096092589820154401826706228976915624206346512140736499969738315752196503295452514713490135558762450785317933611190684309238665488079523532498820439525022191758781479847529060045881770819245247955969475262522580844392155771213262708317990440126667912886513903719192594390013951499560238442731890567002889722700082035152883254479719707909384200982331208858238922416744633731573844466393703653908966943456158942424326121352540517933227957519170593092539451724192246471231296055458066407940844740268023920180007966878609230171924341234110088585951194293175841955433727811983662123846112288337503874438142739892101443 16118713224906545144825261137284882720286395759623148532754073999290365519884720095300380273196955217457431801556265205193177081916282901690944759296474339719119470266870571092703062448232533361332605948824854647760241183764550132560712841897593350604052973081747623101860890045477823430675801436964112640829494056410899482812374926972164958853292068726833560902785250495169881451228064386537040132733129695480768072501542888963403912217306592482120979990884238572917940227568877688838093180567064602299596043133101553301099700666118820279639485926640393289420900747368258445606392247897969831188525956966765781108281842645850803372075341907042245478908095279112607501203839826968971038002197568834911380957242837846707051025615147052575640231544852766098560560673466764115938966465264156051406370880602942088724230841109705357774140572484013326397132597078230129000741108237806294710402863718780920915781903771695136800262296690821578323055814737773445731696372769255390226001880718509457227096071200910342368502812812477010972256574930685621134822900048232327981853564484802853940725344420925360281010207048196884409939405046072614831221535364 26080625852811218175028214839417527447807995122902816337310417727493164905815609792723235745291918479941418230448803815624315869629524278374009050934599518808313737970416045971199598660213142966822659777988621245918845594915350743661609329722451488083663339967876048906735154814965523829471380832150139159524807274857463624975172665821836885309014051169334719936701959920293410696812615575302726558101105320568297545448931151478784838993671348687407254167664650646984082181809782287671288055606019602711419465976235744395891285357808916372229306081042219995649877662992464792118532984397939569504278153470061233622995332781409565822860659840653436163217333944600687024736338647408496060193956350314758910017288719617526296273571116527838162812389244921869773823381784754556065634378150669955125563474992956040223791079552437248341143462206713408432285480332709848708650492438788625919261102641197665549513477616161530503916205657765034481998239063894798272214305997212909396594973257961181419342542432206397826569220753321751240280495110693588013432130220156669215963653070754048233901186376359088092993869172042996698276908920510757571113636807 42199339077717763319853475976702410168094390882525964870064491726783530425700329888023616018488873697398850032005069020817492951545807180064953810231073858527433208237286617063902661108445676328155265726813475893679086778679900876222322171620044838687716313049623672008596044860443347260147182269114251800354301331268363107787547592794001844162306119896168280839487210415463292148040679961839766690834235016049065617950474040442188751210977941169528234158548889219902022409378659976509381236173084205011015509109337297696990986023927736651868792007682613285070778410360723237724925232295909400692804110436827014731277175427260369194936001747695681642125429223713294525940178474377467098196153919149670290974531557464233347299186263580413803043934097687968334384055251518672004600843414826006531934355595898128948021920662142606115284034690726734829418077410939977709391600676594920629663966359978586465295381387856667304178502348586612805054053801668244003910678766468299622596853976470638646438613633116740195072033565798762212537070041379209148255030268388997197817217555556902174626530797284448374004076220239881108216313966583372402335172171 68279964930528981494881690816119937615902386005428781207374909454276695331515939680746851763780792177340268262453872836441808821175331458438962861165673377335746946207702663035102259768658819294977925504802097139597932373595251619883931501342496326771379653017499720915331199675408871089618563101264390959879108606125826732762720258615838729471320171065503000776189170335756702844853295537142493248935340336617363163399405191920973590204649289856935488326213539866886104591188442264180669291779103807722434975085573042092882271381736653024098098088724833280720656073353188029843458216693848970197082263906888248354272508208669935017796661588349117805342763168313981550676517121785963158390110269464429200991820277081759643572757380108251965856323342609838108207437036273228070235221565495961657497830588854169171813000214579854456427496897440143261703557743649826418042093115383546548925069001176252014808859004018197808094708006351647287052292865563042276124984763681209019191827234431820065781156065323138021641254319120513452817565152072797161687160488545666413780870626310950408527717173643536466997945392282877806493222887094129973448808978 110479304008246744814735166792822347783996776887954746077439401181060225757216269568770467782269665874739118294458941857259301772721138638503916671396747235863180154444989280099004920877104495623133191231615573033277019152275152496106253672962541165459095966067123392923927244535852218349765745370378642760233409937394189840550267851409840573633626290961671281615676380751219994992893975498982259939769575352666428781349879232363162341415627231026463722484762429086788127000567102240690050527952188012733450484194910339789873257405664389675966890096407446565791434483713911267568383448989758370889886374343715263085549683635930304212732663336044799447468192392027276076616695596163430256586264188614099491966351834545992990871943643688665768900257440297806442591492287791900074836064980321968189432186184752298119834920876722460571711531588166878091121635154589804127433693791978467178589035361154838480104240391874865112273210354938260092106346667231286280035663530149508641788681210902458712219769698439878216713287884919275665354635193452006309942190756934663611598088181867852583154247970927984841002021612522758914709536853677502375783981149 178759268938775726309616857608942285399899162893383527284814310635336921088732209249517319546050458052079386556912814693701110593896470096942879532562420613198927100652691943134107180645763314918111116736417670172874951525870404115990185174305037492230475619084623113839258444211261089439384308471643033720112518543520016573312988110025679303104946462027174282391865551086976697837747271036124753188704915689283791944749284424284135931620276520883399210810975968953674231591755544504870719819731291820455885459280483381882755528787401042700064988185132279846512090557067099297411841665683607341086968638250603511439822191844600239230529324924393917252810955560341257627293212717949393414976374458078528692958172111627752634444701023796917734756580782907644550798929324065128145071286545817929846930016773606467291647921091302315028139028485607021352825192898239630545475786907362013727514104362331090494913099395893062920367918361289907379158639532794328556160648293830717660980508445334278778000925763763016238354542204039789118172200345524803471629351245480330025378958808178802991681965144571521307999967004805636721202759740771632349232790127 289238572947022471124352024401764633183895939781338273362253711816397146845948478818287787328320123926818504851371756550960412366617608735446796203959167849062107255097681223233112101522867810541244307968033243206151970678145556612096438847267578657689571585151746506763185688747113307789150053842021676480345928480914206413863255961435519876738572752988845564007541931838196692830641246535107013128474491041950220726099163656647298273035903751909862933295738398040462358592322646745560770347683479833189335943475393721672628786193065432376031878281539726412303525040781010564980225114673365711976855012594318774525371875480530543443261988260438716700279147952368533703909908314112823671562638646692628184924523946173745625316644667485583503656838223205450993390421611857028219907351526139898036362202958358765411482841968024775599850560073773899443946828052829434672909480699340480906103139723485928975017339787767928032641128716228167471264986200025614836196311823980226302769189656236737490220695462202894455067830088959064783526835538976809781571542002414993636977046990046655574836213115499506149001988617328395635912296594449134725016771276 467997841885798197433968882010706918583795102674721800647068022451734067934680688067805106874370581978897891408284571244661522960514078832389675736521588462261034355750373166367219282168631125459355424704450913379026922204015960728086624021572616149920047204236369620602444132958374397228534362313664710200458447024434222987176244071461199179843519215016019846399407482925173390668388517571231766317179406731234012670848448080931434204656180272793262144106714366994136590184078191250431490167414771653645221402755877103555384314980466475076096866466672006258815615597848109862392066780356973053063823650844922285965194067325130782673791313184832633953090103512709791331203121032062217086539013104771156877882696057801498259761345691282501238413419006113095544189350935922156364978638071957827883292219731965232703130763059327090627989588559380920796772020951069065218385267606702494633617244085817019469930439183660990953009047077518074850423625732819943392356960117810943963749698101571016268221621225965910693422372292998853901699035884501613253200893247895323662356005798225458566518178260071027457001955622134032357115056335220767074249561403 757236414832820668558320906412471551767691042456060074009321734268131214780629166886092894202690705905716396259656327795621935327131687567836471940480756311323141610848054389600331383691498936000599732672484156585178892882161517340183062868840194807609618789388116127365629821705487705017684416155686386680804375505348429401039500032896719056582091968004865410406949414763370083499029764106338779445653897773184233396947611737578732477692084024703125077402452765034598948776400837995992260515098251486834557346231270825228013101173531907452128744748211732671119140638629120427372291895030338765040678663439241060490565942805661326117053301445271350653369251465078325035113029346175040758101651751463785062807220003975243885077990358768084742070257229318546537579772547779184584885989598097725919654422690323998114613605027351866227840148633154820240718849003898499891294748306042975539720383809302948444947778971428918985650175793746242321688611932845558228553271941791170266518887757807753758442316688168805148490202381957918685225871423478423034772435250310317299333052788272114141354391375570533606003944239462427993027352929669901799266332679 1225234256718618865992289788423178470351486145130781874656389756719865282715309854953898001077061287884614287667940899040283458287645766400226147677002344773584175966598427555967550665860130061459955157376935069964205815086177478068269686890412810957529665993624485747968073954663862102246218778469351096881262822529782652388215744104357918236425611183020885256806356897688543474167418281677570545762833304504418246067796059818510166682348264297496387221509167132028735538960479029246423750682513023140479778748987147928783397416153998382528225611214883738929934756236477230289764358675387311818104502314284163346455760010130792108790844614630103984606459354977788116366316150378237257844640664856234941940689916061776742144839336050050585980483676235431642081769123483701340949864627670055553802946642422289230817744368086678956855829737192535741037490869954967565109680015912745470173337627895119967914878218155089909938659222871264317172112237665665501620910232059602114230268585859378770026663937914134715841912574674956772586924907307980036287973328498205640961689058586497572707872569635641561063005899861596460350142409264890668873515894082 1982470671551439534550610694835650022119177187586841948665711490987996497495939021839990895279751993790330683927597226835905393614777453968062619617483101084907317577446481945567882049551628997460554890049419226549384707968338995408452749759253005765139284783012601875333703776369349807263903194625037483562067198035131081789255244137254637293007703151025750667213306312451913557666448045783909325208487202277602479464743671556088899160040348322199512298911619897063334487736879867242416011197611274627314336095218418754011410517327530289980354355963095471601053896875106350717136650570417650583145180977723404406946325952936453434907897916075375335259828606442866441401429179724412298602742316607698727003497136065751986029917326408818670722553933464750188619348896031480525534750617268153279722601065112613228932357973114030823083669885825690561278209718958866065000974764218788445713058011704422916359825997126518828924309398665010559493800849598511059849463504001393284496787473617186523785106254602303520990402777056914691272150778731458459322745763748515958261022111374769686849226961011212094669009844101058888343169762194560570672782226761 3207704928270058400542900483258828492470663332717623823322101247707861780211248876793888896356813281674944971595538125876188851902423220368288767294485445858491493544044909501535432715411759058920510047426354296513590523054516473476722436649665816722668950776637087623301777731033211909510121973094388580443330020564913734177470988241612555529433314334046635924019663210140457031833866327461479870971320506782020725532539731374599065842388612619695899520420787029092070026697358896488839761880124297767794114844205566682794807933481528672508579967177979210530988653111583581006901009245804962401249683292007567753402085963067245543698742530705479319866287961420654557767745330102649556447382981463933668944187052127528728174756662458869256703037609700181830701118019515181866484615244938208833525547707534902459750102341200709779939499623018226302315700588913833630110654780131533915886395639599542884274704215281608738862968621536274876665913087264176561470373736060995398727056059476565293811770192516438236832315351731871463859075686039438495610719092246721599222711169961267259557099530646853655732015743962655348693312171459451239546298120843 5190175599821497935093511178094478514589840520304465771987812738695858277707187898633879791636565275465275655523135352712094245517200674336351386911968546943398811121491391447103314764963388056381064937475773523062975231022855468885175186408918822487808235559649689498635481507402561716774025167719426064005397218600044815966726232378867192822441017485072386591232969522592370589500314373245389196179807709059623204997283402930687965002428960941895411819332406926155404514434238763731255773077735572395108450939423985436806218450809058962488934323141074682132042549986689931724037659816222612984394864269730972160348411916003698978606640446780854655126116567863520999169174509827061855050125298071632395947684188193280714204673988867687927425591543164932019320466915546662392019365862206362113248148772647515688682460314314740603023169508843916863593910307872699695111629544350322361599453651303965800634530212408127567787278020201285436159713936862687621319837240062388683223843533093751817596876447118741757822718128788786155131226464770896954933464855995237557483733281336036946406326491658065750401025588063714237036481933654011810219080347604 8397880528091556335636411661353307007060503853022089595309913986403720057918436775427768687993378557140220627118673478588283097419623894704640154206453992801890304665536300948638747480375147115301574984902127819576565754077371942361897623058584639210477186336286777121937259238435773626284147140813814644448727239164958550144197220620479748351874331819119022515252632732732827621334180700706869067151128215841643930529823134305287030844817573561591311339753193955247474541131597660220095534957859870162902565783629552119601026384290587634997514290319053892663031203098273512730938669062027575385644547561738539913750497879070944522305382977486333974992404529284175556936919839929711411497508279535566064891871240320809442379430651326557184128629152865113850021584935061844258503981107144570946773696480182418148432562655515450382962669131862143165909610896786533325222284324481856277485849290903508684909234427689736306650246641737560312825627024126864182790210976123384081950899592570317111408646639635179994655033480520657618990302150810335450544183948241959156706444451297304205963426022304919406133041332026369585729794105113463049765378468447 13588056127913054270729922839447785521650344373326555367297726725099578335625624674061648479629943832605496282641808831300377342936824569040991541118422539745289115787027692395742062245338535171682639922377901342639540985100227411247072809467503461698285421895936466620572740745838335343058172308533240708454124457765003366110923452999346941174315349304191409106485602255325198210834495073952258263330935924901267135527106537235974995847246534503486723159085600881402879055565836423951351308035595442558011016723053537556407244835099646597486448613460128574795073753084963444454976328878250188370039411831469512074098909795074643500912023424267188630118521097147696556106094349756773266547633577607198460839555428514090156584104640194245111554220696030045869342051850608506650523346969350933060021845252829933837115022969830190985985838640706060029503521204659233020333913868832178639085302942207474485543764640097863874437524661938845748985340960989551804110048216185772765174743125664068929005523086753921752477751609309443774121528615581232405477648804237196714190177732633341152369752513962985156534066920090083822766276038767474859984458816051 21985936656004610606366334500801092528710848226348644962607640711503298393544061449489417167623322389745716909760482309888660440356448463745631695324876532547179420452563993344380809725713682286984214907280029162216106739177599353608970432526088100908762608232223243742509999984274108969342319449347055352902851696929961916255120673619826689526189681123310431621738234988058025832168675774659127330482064140742911066056929671541262026692064108065078034498838794836650353596697434084171446842993455312720913582506683089676008271219390234232483962903779182467458104956183236957185914997940277763755683959393208051987849407674145588023217406401753522605110925626431872113043014189686484678045141857142764525731426668834899598963535291520802295682849848895159719363636785670350909027328076495504006795541733012351985547585625345641368948507772568203195413132101445766345556198193314034916571152233110983170452999067787600181087771303676406061810967985116415986900259192309156847125642718234386040414169726389101747132785089830101393111830766391567856021832752479155870896622183930645358333178536267904562667108252116453408496070143880937909749837284498 35573992783917664877096257340248878050361192599675200329905367436602876729169686123551065647253266222351213192402291141189037783293273032786623236443299072292468536239591685740122871971052217458666854829657930504855647724277826764856043241993591562607048030128159710363082740730112444312400491757880296061356976154694965282366044126619173630700505030427501840728223837243383224043003170848611385593813000065644178201584036208777237022539310642568564757657924395718053232652263270508122798151029050755278924599229736627232415516054489880829970411517239311042253178709268200401640891326818527952125723371224677564061948317469220231524129429826020711235229446723579568669149108539443257944592775434749962986570982097348989755547639931715047407237070544925205588705688636278857559550675045846437066817386985842285822662608595175832354934346413274263224916653306104999365890112062146213555656455175318457655996763707885464055525295965615251810796308946105967791010307408494929612300385843898454969419692813143023499610536699139545167233359381972800261499481556716352585086799916563986510702931050230889719201175172206537231262346182648412769734296100549 57559929439922275483462591841049970579072040826023845292513008148106175122713747573040482814876588612096930102162773451077698223649721496532254931768175604839647956692155679084503681696765899745651069736937959667071754463455426118465013674519679663515810638360382954105592740714386553281742811207227351414259827851624927198621164800239000320226694711550812272349962072231441249875171846623270512924295064206387089267640965880318499049231374750633642792156763190554703586248960704592294244994022506067999838181736419716908423787273880115062454374421018493509711283665451437358826806324758805715881407330617885616049797725143365819547346836227774233840340372350011440782192122729129742622637917291892727512302408766183889354511175223235849702919920393820365308069325421949208468578003122341941073612928718854637808210194220521473723882854185842466420329785407550765711446310255460248472227607408429440826449762775673064236613067269291657872607276931222383777910566600804086459426028562132841009833862539532125246743321788969646560345190148364368117521314309195508455983422100494631869036109586498794281868283424322990639758416326529350679484133385047 93133922223839940360558849181298848629433233425699045622418375584709051851883433696591548462129854834448143294565064592266736006942994529318878168211474677132116492931747364824626553667818117204317924566595890171927402187733252883321056916513271226122858668488542664468675481444498997594143302965107647475616804006319892480987208926858173950927199741978314113078185909474824473918175017471881898518108064272031267469225002089095736071770685393202207549814687586272756818901223975100417043145051556823278762780966156344140839303328369995892424785938257804551964462374719637760467697651577333668007130701842563180111746042612586051071476266053794945075569819073591009451341231268573000567230692726642690498873390863532879110058815154950897110156990938745570896775014058228066028128678168188378140430315704696923630872802815697306078817200599116729645246438713655765077336422317606462027884062583747898482446526483558528292138363234906909683403585877328351568920874009299016071726414406031295979253555352675148746353858488109191727578549530337168379020795865911861041070222017058618379739040636729684001069458596529527871020762509177763449218429485596 150693851663762215844021441022348819208505274251722890914931383732815226974597181269632031277006443446545073396727838043344434230592716025851133099979650281971764449623903043909130235364584016949968994303533849838999156651188679001786070591032950889638669306848925618574268222158885550875886114172334998889876631857944819679608373727097174271153894453529126385428147981706265723793346864095152411442403128478418356736865967969414235121002060143835850341971450776827460405150184679692711288139074062891278600962702576061049263090602250110954879160359276298061675746040171075119294503976336139383888538032460448796161543767755951870618823102281569178915910191423602450233533353997702743189868610018535418011175799629716768464569990378186746813076911332565936204844339480177274496706681290530319214043244423551561439082997036218779802700054784959196065576224121206530788782732573066710500111669992177339308896289259231592528751430504198567556010862808550735346831440610103102531152442968164136989087417892207273993097180277078838287923739678701536496542110175107369497053644117553250248775150223228478282937742020852518510779178835707114128702562870643 243827773887602156204580290203647667837938507677421936537349759317524278826480614966223579739136298280993216691292902635611170237535710555170011268191124959103880942555650408733756789032402134154286918870129740010926558838921931885107127507546222115761527975337468283042943703603384548470029417137442646365493435864264712160595582653955348222081094195507440498506333891181090197711521881567034309960511192750449624206090970058509971192772745537038057891786138363100217224051408654793128331284125619714557363743668732405190102393930620106847303946297534102613640208414890712879762201627913473051895668734303011976273289810368537921690299368335364123991480010497193459684874585266275743757099302745178108510049190493249647574628805533137643923233902271311507101619353538405340524835359458718697354473560128248485069955799851916085881517255384075925710822662834862295866119154890673172527995732575925237791342815742790120820889793739105477239414448685879086915752314619402118602878857374195432968340973244882422739451038765188030015502289209038704875562906041019230538123866134611868628514190859958162284007200617382046381799941344884877577920992356239 394521625551364372048601731225996487046443781929144827452281143050339505801077796235855611016142741727538290088020740678955604468128426581021144368170775241075645392179553452642887024396986151104255913173663589849925715490110610886893198098579173005400197282186393901617211925762270099345915531309777645255370067722209531840203956381052522493234988649036566883934481872887355921504868745662186721402914321228867980942956938027924206313774805680873908233757589139927677629201593334485839619423199682605835964706371308466239365484532870217802183106656810400675315954455061787999056705604249612435784206766763460772434833578124489792309122470616933302907390201920795909918407939263978486946967912763713526521224990122966416039198795911324390736310813603877443306463693018582615021542040749249016568516804551800046509038796888134865684217310169035121776398886956068826654901887463739883028107402568102577100239105002021713349641224243304044795425311494429822262583755229505221134031300342359569957428391137089696732548219042266868303426028887740241372105016216126600035177510252165118877289341083186640566944942638234564892579120180591991706623555226882 638349399438966528253182021429644154884382289606566763989630902367863784627558411202079190755279040008531506779313643314566774705664137136191155636361900200179526334735203861376643813429388285258542832043793329860852274329032542772000325606125395121161725257523862184660155629365654647815944948447220291620863503586474244000799539035007870715316082844544007382440815764068446119216390627229221031363425513979317605149047908086434177506547551217911966125543727503027894853253001989278967950707325302320393328450040040871429467878463490324649487052954344503288956162869952500878818907232163085487679875501066472748708123388493027713999421838952297426898870212417989369603282524530254230704067215508891635031274180616216063613827601444462034659544715875188950408083046556987955546377400207967713922990364680048531578994596740050951565734565553111047487221549790931122521021042354413055556103135144027814891581920744811834170531017982409522034839760180308909178336069848907339736910157716555002925769364381972119471999257807454898318928318096778946247667922257145830573301376386776987505803531943144802850952143255616611274379061525476869284544547583121 1032871024990330900301783752655640641930826071535711591441912045418203290428636207437934801771421781736069796867334383993522379173792563717212300004532675441255171726914757314019530837826374436362798745217456919710777989819143153658893523704704568126561922539710256086277367555127924747161860479756997936876233571308683775841003495416060393208551071493580574266375297636955802040721259372891407752766339835208185586092004846114358383820322356898785874359301316642955572482454595323764807570130524984926229293156411349337668833362996360542451670159611154903964272117325014288877875612836412697923464082267829933521142956966617517506308544309569230729806260414338785279521690463794232717651035128272605161552499170739182479653026397355786425395855529479066393714546739575570570567919440957216730491507169231848578088033393628185817249951875722146169263620436746999949175922929818152938584210537712130391991821025746833547520172242225713566830265071674738731440919825078412560870941458058914572883197755519061816204547476849721766622354346984519187619772938473272430608478886638942106383092873026331443417897085893851176166958181706068860991168102810003 1671220424429297428554965774085284796815208361142278355431542947786067075056194618640013992526700821744601303646648027308089153879456700853403455640894575641434698061649961175396174651255762721621341577261250249571630264148175696430893849310829963247723647797234118270937523184493579394977805428204218228497097074895158019841803034451068263923867154338124581648816113401024248159937650000120628784129765349187503191241052754200792561326869908116697840484845044145983467335707597313043775520837850287246622621606451390209098301241459850867101157212565499407253228280194966789756694520068575783411143957768896406269851080355110545220307966148521528156705130626756774649124972988324486948355102343781496796583773351355398543266853998800248460055400245354255344122629786132558526114296841165184444414497533911897109667027990368236768815686441275257216750841986537931071696943972172565994140313672856158206883402946491645381690703260208123088865104831855047640619255894927319900607851615775469575808967119901033935676546734657176664941282665081298133867440860730418261181780263025719093888896404969476246268849229149467787441337243231545730275712650393124 2704091449419628328856749526740925438746034432677989946873454993204270365484830826077948794298122603480671100513982411301611533053249264570615755645427251082689869788564718489415705489082137157984140322478707169282408253967318850089787373015534531374285570336944374357214890739621504142139665907961216165373330646203841795682806529867128657132418225831705155915191411037980050200658909373012036536896105184395688777333057600315150945147192265015483714844146360788939039818162192636808583090968375272172851914762862739546767134604456211409552827372176654311217500397519981078634570132904988481334608040036726339790994037321728062726616510458090758886511391041095559928646663452118719666006137472054101958136272522094581022919880396156034885451255774833321737837176525708129096682216282122401174906004703143745687755061383996422586065638316997403386014462423284931020872866901990718932724524210568288598875223972238478929210875502433836655695369903529786372060175720005732461478793073834384148692164875420095751881094211506898431563637012065817321487213799203690691790259149664661200271989277995807689686746315043318963608295424937614591266880753203127 4375311873848925757411715300826210235561242793820268302304997940990337440541025444717962786824823425225272404160630438609700686932705965424019211286321826724124567850214679664811880140337899879605481899739957418854038518115494546520681222326364494622009218134178492628152413924115083537117471336165434393870427721098999815524609564318196921056285380169829737564007524439004298360596559373132665321025870533583191968574110354515943506474062173132181555328991404934922507153869789949852358611806225559419474536369314129755865435845916062276653984584742153718470728677714947868391264652973564264745751997805622746060845117676838607946924476606612287043216521667852334577771636440443206614361239815835598754720045873449979566186734394956283345506656020187577081959806311840687622796513123287585619320502237055642797422089374364659354881324758272660602765304409822862092569810874163284926864837883424446805758626918730124310901578762641959744560474735384834012679431614933052362086644689609853724501131995321129687557640946164075096504919677147115455354654659934108952972039412690380294160885682965283935955595544192786751049632668169160321542593403596251 7079403323268554086268464827567135674307277226498258249178452934194607806025856270795911581122946028705943504674612849911312219985955229994634966931749077806814437638779398154227585629420037037589622222218664588136446772082813396610468595341899025996294788471122866985367304663736587679257137244126650559243758367302841611207416094185325578188703606001534893479198935476984348561255468746144701857921975717978880745907167954831094451621254438147665270173137765723861546972031982586660941702774600831592326451132176869302632570450372273686206811956918808029688229075234928947025834785878552746080360037842349085851839154998566670673540987064703045929727912708947894506418299892561926280367377287889700712856318395544560589106614791112318230957911795020898819796982837548816719478729405409986794226506940199388485177150758361081940946963075270063988779766833107793113442677776154003859589362093992735404633850890968603240112454265075796400255844638914620384739607334938784823565437763444237873193296870741225439438735157670973528068556689212932776841868459137799644762298562355041494432874960961091625642341859236105714657928093106774912809474156799378 11454715197117479843680180128393345909868520020318526551483450875184945246566881715513874367947769453931215908835243288521012906918661195418654178218070904530939005488994077819039465769757936917195104121958622006990485290198307943131149817668263520618304006605301359613519718587851671216374608580292084953114186088401841426732025658503522499244988986171364631043206459915988646921852028119277367178947846251562072714481278309347037958095316611279846825502129170658784054125901772536513300314580826391011800987501490999058498006296288335962860796541660961748158957752949876815417099438852117010826112035647971831912684272675405278620465463671315332972944434376800229084189936333005132894728617103725299467576364268994540155293349186068601576464567815208475901756789149389504342275242528697572413547009177255031282599240132725741295828287833542724591545071242930655206012488650317288786454199977417182210392477809698727551014033027717756144816319374299454397419038949871837185652082453054091597694428866062355126996376103835048624573476366360048232196523119071908597734337975045421788593760643926375561597937403428892465707560761275935234352067560395629 18534118520386033929948644955960481584175797246816784800661903809379553052592737986309785949070715482637159413509856138432325126904616425413289145149819982337753443127773475973267051399177973954784726344177286595126932062281121339741618413010162546614598795076424226598887023251588258895631745824418735512357944455704683037939441752688848077433692592172899524522405395392972995483107496865422069036869821969540953460388446264178132409716571049427512095675266936382645601097933755123174242017355427222604127438633667868361130576746660609649067608498579769777847186828184805762442934224730669756906472073490320917764523427673971949294006450736018378902672347085748123590608236225567059175095994391615000180432682664539100744399963977180919807422479610229374721553771986938321061753971934107559207773516117454419767776390891086823236775250908812788580324838076038448319455166426471292646043562071409917615026328700667330791126487292793552545072164013214074782158646284810622009217520216498329470887725736803580566435111261506022152642033055572981009038391578209708242496636537400463283026635604887467187240279262664998180365488854382710147161541717195007 29988833717503513773628825084353827494044317267135311352145354684564498299159619701823660317018484936568375322345099426953338033823277620831943323367890886868692448616767553792306517168935910871979830466135908602117417352479429282872768230678426067232902801681725586212406741839439930112006354404710820465472130544106524464671467411192370576678681578344264155565611855308961642404959524984699436215817668221103026174869724573525170367811887660707358921177396107041429655223835527659687542331936253613615928426135158867419628583042948945611928405040240731526006144581134682577860033663582786767732584109138292749677207700349377227914471914407333711875616781462548352674798172558572192069824611495340299648009046933533640899693313163249521383887047425437850623310561136327825404029214462805131621320525294709451050375631023812564532603538742355513171869909318969103525467655076788581432497762048827099825418806510366058342140520320511308689888483387513529179577685234682459194869602669552421068582154602865935693431487365341070777215509421933029241234914697281616840230974512445885071620396248813842748838216666093890646073049615658645381513609277590636 48522952237889547703577470040314309078220114513952096152807258493944051351752357688133446266089200419205534735854955565385663160727894046245232468517710869206445891744541029765573568568113884826764556810313195197244349414760550622614386643688588613847501596758149812811293765091028189007638100229129555977830074999811207502610909163881218654112374170517163680088017250701934637888067021850121505252687490190643979635258170837703302777528458710134871016852663043424075256321769282782861784349291680836220055864768826735780759159789609555260996013538820501303853331409319488340302967888313456524639056182628613667441731128023349177208478365143352090778289128548296476265406408784139251244920605886955299828441729598072741644093277140430441191309527035667225344864333123266146465783186396912690829094041412163870818152021914899387769378789651168301752194747395007551844922821503259874078541324120237017440445135211033389133267007613304861234960647400727603961736331519493081204087122886050750539469880339669516259866598626847092929857542477506010250273306275491325082727611049846348354647031853701309936078495928758888826438538470041355528675150994785643 78511785955393061477206295124668136572264431781087407504952613178508549650911977389957106583107685355773910058200054992339001194551171667077175791885601756075138340361308583557880085737049795698744387276449103799361766767239979905487154874367014681080404398439875399023700506930468119119644454633840376443302205543917731967282376575073589230791055748861427835653629106010896280293026546834820941468505158411747005810127895411228473145340346370842229938030059150465504911545604810442549326681227934449835984290903985603200387742832558500872924418579061232829859475990454170918163001551896243292371640291766906417118938828372726405122950279550685802653905910010844828940204581342711443314745217382295599476450776531606382543786590303679962575196574461105075968174894259593971869812400859717822450414566706873321868527652938711952301982328393523814924064656713976655370390476580048455511039086169064117265863941721399447475407527933816169924849130788241133141314016754175540398956725555603171608052034942535451953298085992188163707073051899439039491508220972772941922958585562292233426267428102515152684916712594852779472511588085700000910188760272376279 127034738193282609180783765164982445650484546295039503657759871672452601002664335078090552849196885774979444794055010557724664355279065713322408260403312625281584232105849613323453654305163680525508944086762298996606116182000530528101541518055603294927905995198025211834994272021496308127282554862969932421132280543728939469893285738954807884903429919378591515741646356712830918181093568684942446721192648602390985445386066248931775922868805080977100954882722193889580167867374093225411111030519615286056040155672812338981146902622168056133920432117881734133712807399773659258465969440209699817010696474395520084560669956396075582331428644694037893432195038559141305205610990126850694559665823269250899304892506129679124187879867444110403766506101496772301313039227382860118335595587256630513279508608119037192686679674853611340071361118044692116676259404108984207215313298083308329589580410289301134706309076932432836608674535547121031159809778188968737103050348273668621603043848441653922147521915282204968213164684619035256636930594376945049741781527248264267005686196612138581780914459956216462620995208523611668298950126555741356438863911267161922 205546524148675670657990060289650582222748978076126911162712484850961150653576312468047659432304571130753354852255065550063665549830237380399584052288914381356722572467158196881333740042213476224253331363211402795967882949240510433588696392422617976008310393637900610858694778951964427246927009496810308864434486087646671437175662314028397115694485668240019351395275462723727198474120115519763388189697807014137991255513961660160249068209151451819330892912781344355085079412978903667960437711747549735892024446576797942181534645454726557006844850696942966963572283390227830176628970992105943109382336766162426501679608784768801987454378924244723696086100948569986134145815571469562137874411040651546498781343282661285506731666457747790366341702675957877377281214121642454090205407988116348335729923174825910514555207327792323292373343446438215931600324060822960862585703774663356785100619496458365251972173018653832284084082063480937201084658908977209870244364365027844162002000573997257093755573950224740420166462770611223420344003646276384089233289748221037208928644782174430815207181888058731615305911921118464447771461714641441357349052671539538201 332581262341958279838773825454633027873233524371166414820472356523413751656240647546138212281501456905732799646310076107788329905109303093721992312692227006638306804573007810204787394347377156749762275449973701792573999131241040961690237910478221270936216388835925822693689050973460735374209564359780241285566766631375610907068948052983205000597915587618610867136921819436558116655213684204705834910890455616528976700900027909092024991077956532796431847795503538244665247280352996893371548742267165021948064602249610281162681548076894613140765282814824701097285090790001489435094940432315642926393033240557946586240278741164877569785807568938761589518295987129127439351426561596412832434076863920797398086235788790964630919546325191900770108208777454649678594253349025314208541003575372978849009431782944947707241887002645934632444704564482908048276583464931945069801017072746665114690199906747666386678482095586265120692756599028058232244468687166178607347414713301512783605044422438911015903095865506945388379627455230258676980934240653329138975071275469301475934330978786569396988096348014948077926907129642076116070411841197182713787916582806700123 538127786490633950496763885744283610095982502447293325983184841374374902309816960014185871713806028036486154498565141657851995454939540474121576364981141387995029377040166007086121134389590632974015606813185104588541882080481551395278934302900839246944526782473826433552383829925425162621136573856590550150001252719022282344244610367011602116292401255858630218532197282160285315129333799724469223100588262630666967956413989569252274059287107984615762740708284882599750326693331900561331986454014714757840089048826408223344216193531621170147610133511767668060857374180229319611723911424421586035775370006720373087919887525933679557240186493183485285604396935699113573497242133065974970308487904572343896867579071452250137651212782939691136449911453412527055875467470667768298746411563489327184739354957770858221797094330438257924818048010921123979876907525754905932386720847410021899790819403206031638650655114240097404776838662508995433329127596143388477591779078329356945607044996436168109658669815731685808546090225841482097324937886929713228208361023690338684862975760961000212195278236073679693232819050760540563841873555838624071136969254346238324 870709048832592230335537711198916637969216026818459740803657197897788653966057607560324083995307484942218954144875217765640325360048843567843568677673368394633336181613173817290908528736967789723777882263158806381115881211722592356969172213379060517880743171309752256246072880898885897995346138216370791435568019350397893251313558419994807116890316843477241085669119101596843431784547483929175058011478718247195944657314017478344299050365064517412194588503788420844415573973684897454703535196281879779788153651076018504506897741608515783288375416326592369158142464970230809046818851856737228962168403247278319674160166267098557127025994062122246875122692922828241012848668694662387802742564768493141294953814860243214768570759108131591906558120230867176734469720819693082507287415138862306033748786740715805929038981333084192557262752575404032028153490990686851002187737920156687014481019309953698025329137209826362525469595261537053665573596283309567084939193791630869729212089418875079125561765681238631196925717681071740774305872127583042367183432299159640160797306739747569609183374584088627771159726180402616679912285397035806784924885837152938447 1408836835323226180832301596943200248065198529265753066786842039272163556275874567574509955709113512978705108643440359423492320814988384041965145042654509782628365558653339824377029663126558422697793489076343910969657763292204143752248106516279899764825269953783578689798456710824311060616482712072961341585569272069420175595558168787006409233182718099335871304201316383757128746913881283653644281112066980877862912613728007047596573109652172502027957329212073303444165900667016798016035521650296594537628242699902426727851113935140136953435985549838360037218999839150460128658542763281158814997943773253998692762080053793032236684266180555305732160727089858527354586345910827728362773051052673065485191821393931695464906221971891071283043008031684279703790345188290360850806033826702351633218488141698486664150836075663522450482080800586325156008030398516441756934574458767566708914271838713159729663979792324066459930246433924046049098902723879452955562530972869960226674819134415311247235220435496970317005471807906913222871630810014512755595391793322849978845660282500708569821378652820162307464392545231163157243754158952874430856061855091499176771 2279545884155818411167839308142116886034414556084212807590499237169952210241932175134834039704420997920924062788315577189132646175037227609808713720327878177261701740266513641667938191863526212421571371339502717350773644503926736109217278729658960282706013125093330946044529591723196958611828850289332133021137291419818068846871727207001216350073034942813112389870435485353972178698428767582819339123545699125058857271042024525940872160017237019440151917715861724288581474640701695470739056846578474317416396350978445232358011676748652736724360966164952406377142304120690937705361615137896043960112176501277012436240220060130793811292174617427979035849782781355595599194579522390750575793617441558626486775208791938679674792730999202874949566151915146880524814909110053933313321241841213939252236928439202470079875056996606643039343553161729188036183889507128607936762196687723395928752858023113427689308929533892822455716029185583102764476320162762522647470166661591096404031223834186326360782201178208948202397525587984963645936682142095797962575225622009619006457589240456139430562027404250935235552271411565773923666444349910237640986740928652115218 3688382719479044592000140905085317134099613085349965874377341276442115766517806742709343995413534510899629171431755936612624966990025611651773858762982387959890067298919853466044967854990084635119364860415846628320431407796130879861465385245938860047531283078876909635842986302547508019228311562362293474606706563489238244442429895994007625583255753042148983694071751869111100925612310051236463620235612680002921769884770031573537445269669409521468109246927935027732747375307718493486774578496875068855044639050880871960209125611888789690160346516003312443596142143271151066363904378419054858958055949755275705198320273853163030495558355172733711196576872639882950185540490350119113348844670114624111678596602723634144581014702890274157992574183599426584315160097400414784119355068543565572470725070137689134230711132660129093521424353748054344044214288023570364871336655455290104843024696736273157353288721857959282385962463109629151863379044042215478210001139531551323078850358249497573596002636675179265207869333494898186517567492156608553557967018944859597852117871741164709251940680224413242699944816642728931167420603302784668497048596020151291989 5967928603634863003167980213227434020134027641434178681967840513612067976759738917844178035117955508820553234220071513801757613165062839261582572483310266137151769039186367107712906046853610847540936231755349345671205052300057615970682663975597820330237296203970240581887515894270704977840140412651625607627843854909056313289301623201008841933328787984962096083942187354465073104310738818819282959359158379127980627155812056099478317429686646540908261164643796752021328849948420188957513635343453543172461035401859317192567137288637442426884707482168264849973284447391842004069265993556950902918168126256552717634560493913293824306850529790161690232426655421238545784735069872509863924638287556182738165371811515572824255807433889477032942140335514573464839975006510468717432676310384779511722961998576891604310586189656735736560767906909783532080398177530698972808098852143013500771777554759386585042597651391852104841678492295212254627855364204978000857471306193142419482881582083683899956784837853388213410266859082883150163504174298704351520542244566869216858575460981620848682502707628664177935497088054294705091087047652694906138035336948803407207 9656311323113907595168121118312751154233640726784144556345181790054183743277545660553522030531490019720182405651827450414382580155088450913356431246292654097041836338106220573757873901843695482660301092171195973991636460096188495832148049221536680377768579282847150217730502196818212997068451975013919082234550418398294557731731519195016467516584541027111079778013939223576174029923048870055746579594771059130902397040582087673015762699356056062376370411571731779754076225256138682444288213840328612027505674452740189152776262900526232117045053998171577293569426590662993070433170371976005761876224076011828422832880767766456854802408884962895401429003528061121495970275560222628977273482957670806849843968414239206968836822136779751190934714519114000049155135103910883501552031378928345084193687068714580738541297322316864830082192260657837876124612465554269337679435507598303605614802251495659742395886373249811387227640955404841406491234408247193479067472445724693742561731940333181473552787474528567478618136192577781336681071666455312905078509263511728814710693332722785557934443387853077420635441904697023636258507650955479574635083932968954699196 15624239926748770598336101331540185174367668368218323238313022303666251720037284578397700065649445528540735639871898964216140193320151290174939003729602920234193605377292587681470779948697306330201237323926545319662841512396246111802830713197134500708005875486817390799618018091088917974908592387665544689862394273307350871021033142396025309449913329012073175861956126578041247134233787688875029538953929438258883024196394143772494080129042702603284631576215528531775405075204558871401801849183782155199966709854599506345343400189163674543929761480339842143542711038054835074502436365532956664794392202268381140467441261679750679109259414753057091661430183482360041755010630095138841198121245226989588009340225754779793092629570669228223876854854628573513995110110421352218984707689313124595916649067291472342851883511973600566642960167567621408205010643084968310487534359741317106386579806255046327438484024641663492069319447700053661119089772452171479924943751917836162044613522416865373509572312381955692028403051660664486844575840754017256599051508078598031569268793704406406616946095481741598570938992751318341349594698608174480773119269917758106403 25280551249862678193504222449852936328601309095002467794658204093720435463314830238951222096180935548260918045523726414630522773475239741088295434975895574331235441715398808255228653850541001812861538416097741293654477972492434607634978762418671181085774454769664541017348520287907130971977044362679463772096944691705645428752764661591041776966497870039184255639970065801617421164156836558930776118548700497389785421236976231445509842828398758665661001987787260311529481300460697553846090063024110767227472384307339695498119663089689906660974815478511419437112137628717828144935606737508962426670616278280209563300322029446207533911668299715952493090433711543481537725286190317767818471604202897796437853308639993986761929451707448979414811569373742573563150245214332235720536739068241469680110336136006053081393180834290465396725152428225459284329623108639237648166969867339620712001382057750706069834370397891474879296960403104895067610324180699364958992416197642529904606345462750046847062359786910523170646539244238445823525647507209330161677560771590326846279962126427191964551389483334819019206380897448341977608102349563654055408203202886712805599 40904791176611448791840323781393121502968977463220791032971226397386687183352114817348922161830381076801653685395625378846662966795391031263234438705498494565429047092691395936699433799238308143062775740024286613317319484888680719437809475615805681793780330256481931816966538378996048946885636750345008461959338965012996299773797803987067086416411199051257431501926192379658668298390624247805805657502629935648668445433370375218003922957441461268945633564002788843304886375665256425247891912207892922427439094161939201843463063278853581204904576958851261580654848666772663219438043103041919091465008480548590703767763291125958213020927714469009584751863895025841579480296820412906659669725448124786025862648865748766555022081278118207638688424228371147077145355324753587939521446757554594276026985203297525424245064346264065963368112595793080692534633751724205958654504227080937818387961864005752397272854422533138371366279850804948728729413953151536438917359949560366066650958985166912220571932099292478862674942295899110310370223347963347418276612279668924877849230920131598371168335578816560617777319890199660318957697048171828536181322472804470912002 66185342426474126985344546231246057831570286558223258827629430491107122646666945056300144258011316625062571730919351793477185740270630772351529873681394068896664488808090204191928087649779309955924314156122027906971797457381115327072788238034476862879554785026146472834315058666903179918862681113024472234056283656718641728526562465578108863382909069090441687141896258181276089462547460806736581776051330433038453866670346606663513765785840219934606635551790049154834367676125953979093981975232003689654911478469278897341582726368543487865879392437362681017766986295490491364373649840550881518135624758828800267068085320572165746932596014184962077842297606569323117205583010730674478141329651022582463715957505742753316951532985567187053499993602113720640295600539085823660058185825796063956137321339303578505638245180554531360093265024018539976864256860363443606821474094420558530389343921756458467107224820424613250663240253909843796339738133850901397909776147202895971257304447916959067634291886203002033321481540137556133895870855172677579954173051259251724129193046558790335719725062151379636983700787648002296565799397735482591589525675691183717601 107090133603085575777184870012639179334539264021444049860600656888493809830019059873649066419841697701864225416314977172323848707066021803614764312386892563462093535900781600128627521449017618098987089896146314520289116942269796046510597713650282544673335115282628404651281597045899228865748317863369480696015622621731638028300360269565175949799320268141699118643822450560934757760938085054542387433553960368687122312103716981881517688743281681203552269115792837998139254051791210404341873887439896612082350572631218099185045789647397069070783969396213942598421834962263154583811692943592800609600633239377390970835848611698123959953523728653971662594161501595164696685879831143581137811055099147368489578606371491519871973614263685394692188417830484867717440955863839411599579632583350658232164306542601103929883309526818597323461377619811620669398890612087649565475978321501496348777305785762210864380079242957751622029520104714792525069152087002437836827136096763262037908263433083871288206223985495480895996423836036666444266094203136024998230785330928176601978423966690388706888060640967940254761020677847662615523496445907311127770848148495654629603 173275476029559702762529416243885237166109550579667308688230087379600932476686004929949210677853014326926797147234328965801034447336652575966294186068286632358758024708871804320555609098796928054911404052268342427260914399650911373583385951684759407552889900308774877485596655712802408784610998976393952930071906278450279756826922735143284813182229337232140805785718708742210847223485545861278969209605290801725576178774063588545031454529121901138158904667582887152973621727917164383435855862671900301737262051100496996526628516015940556936663361833576623616188821257753645948185342784143682127736257998206191237903933932270289706886119742838933740436459108164487813891462841874255615952384750169950953294563877234273188925147249252581745688411432598588357736556402925235259637818409146722188301627881904682435521554707373128683554642643830160646263147472451093172297452415922054879166649707518669331487304063382364872692760358624636321408890220853339234736912243966158009165567881000830355840515871698482929317905376174222578161965058308702578184958382187428326107617013249179042607785703119319891744721465495664912089295843642793719360373824186838347204 280365609632645278539714286256524416500648814601111358548830744268094742306705064803598277097694712028791022563549306138124883154402674379581058498455179195820851560609653404449183130547814546153898493948414656947550031341920707420093983665335041952226225015591403282136878252758701637650359316839763433626087528900181917785127283004708460762981549605373839924429541159303145604984423630915821356643159251170412698490877780570426549143272403582341711173783375725151112875779708374787777729750111796913819612623731715095711674305663337626007447331229790566214610656220016800531997035727736482737336891237583582208739782543968413666839643471492905403030620609759652510577342673017836753763439849317319442873170248725793060898761512937976437876829263083456075177512266764646859217450992497380420465934424505786365404864234191726007016020263641781315662038084538742737773430737423551227943955493280880195867383306340116494722280463339428846478042307855777071564048340729420047073831314084701644046739857193963825314329212210889022428059261444727576415743713115604928086040979939567749495846344087260146505742143343327527612792289550104847131221972682492976807 453641085662204981302243702500409653666758365180778667237060831647695674783391069733547487775547726355717819710783635103925917601739326955547352684523465828179609585318525208769738739646611474208809898000682999374810945741571618793677369617019801359779114915900178159622474908471504046434970315816157386556159435178632197541954205739851745576163778942605980730215259868045356452207909176777100325852764541972138274669651844158971580597801525483479870078450958612304086497507625539171213585612783697215556874674832212092238302821679278182944110693063367189830799477477770446480182378511880164865073149235789773446643716476238703373725763214331839143467079717924140324468805514892092369715824599487270396167734125960066249823908762190558183565240695682044432914068669689882118855269401644102608767562306410468800926418941564854690570662907471941961925185556989835910070883153345606107110605200799549527354687369722481367415040821964065167886932528709116306300960584695578056239399195085531999887255728892446754632234588385111600590024319753430154600702095303033254193657993188746792103632047206580038250463608838992439702088133192898566491595796869331324011 734006695294850259841957988756934070167407179781890025785891575915790417090096134537145764873242438384508842274332941242050800756142001335128411182978645024000461145928178613218921870194426020362708391949097656322360977083492326213771353282354843312005339931491581441759353161230205684085329632655920820182246964078814115327081488744560206339145328547979820654644801027348502057192332807692921682495923793142550973160529624729398129741073929065821581252234334337455199373287333913958991315362895494129376487298563927187949977127342615808951558024293157756045410133697787247012179414239616647602410040473373355655383499020207117040565406685824744546497700327683792835046148187909929123479264448804589839040904374685859310722670275128534621442069958765500508091580936454528978072720394141483029233496730916255166331283175756580697586683171113723277587223641528578647844313890769157335054560694080429723222070676062597862137321285303494014364974836564893377865008925424998103313230509170233643933995586086410579946563800596000623018083581198157731016445808418638182279698973128314541599478391293840184756205752182319967314880422743003413622817769551824300818 1187647780957055241144201691257343723834165544962668693022952407563486091873487204270693252648790164740226661985116576345976718357881328290675763867502110852180070731246703821988660609841037494571518289949780655697171922825063945007448722899374644671784454847391759601381828069701709730520299948472078206738406399257446312869035694484411951915309107490585801384860060895393858509400241984470022008348688335114689247830181468888369710338875454549301451330685292949759285870794959453130204900975679191344933361973396139280188279949021893991895668717356524945876209611175557693492361792751496812467483189709163129102027215496445820414291169900156583689964780045607933159514953702802021493195089048291860235208638500645925560546579037319092805007310654447544941005649606144411096927989795785585638001059037326723967257702117321435388157346078585665239512409198518414557915197044114763442165165894879979250576758045785079229552362107267559182251907365274009684165969510120576159552629704255765643821251314978857334578798388981112223608107900951587885617147903721671436473356966317061333703110438500420223006669361021312407016968555935901980114413566421155624829 1921654476251905500986159680014277794001572724744558718808843983479276508963583338807839017522032603124735504259449517588027519114023329625804175050480755876180531877174882435207582480035463514934226681898878312019532899908556271221220076181729487983789794778883341043141181230931915414605629581127999026920653363336260428196117183228972158254454436038565622039504861922742360566592574792162943690844612128257240220990711093617767840079949383615123032582919627287214485244082293367089196216338574685474309849271960066468138257076364509800847226741649682701921619744873344940504541206991113460069893230182536484757410714516652937454856576585981328236462480373291725994561101890711950616674353497096450074249542875331784871269249312447627426449380613213045449097230542598940075000710189927068667234555768242979133588985293078016085744029249699388517099632840046993205759510934883920777219726588960408973798828721847677091689683392571053196616882201838903062030978435545574262865860213425999287755246901065267914525362189577112846626191482149745616633593712140309618753055939445375875302588829794260407762875113203632374331848978678905393737231335972979925647 3109302257208960742130361371271621517835738269707227411831796391042762600837070543078532270170822767864962166244566093934004237471904657916479938917982866728360602608421586257196243089876501009505744971848658967716704822733620216228668799081104132655574249626275100644523009300633625145125929529600077233659059762593706741065152877713384110169763543529151423424364922818136219075992816776632965699193300463371929468820892562506137550418824838164424483913604920236973771114877252820219401117314253876819243211245356205748326537025386403792742895459006207647797829356048902633996902999742610272537376419891699613859437930013098757869147746486137911926427260418899659154076055593513972109869442545388310309458181375977710431815828349766720231456691267660590390102880148743351171928699985712654305235614805569703100846687410399451473901375328285053756612042038565407763674707978998684219384892483840388224375586767632756321242045499838612378868789567112912746196947945666150422418489917681764931576498216044125249104160578558225070234299383101333502250741615861981055226412905762437209005699268294680630769544474224944781348817534614807373851644902394135550476 5030956733460866243116521051285899311837310994451786130640640374522039109800653881886371287692855370989697670504015611522031756585927987542284113968463622604541134485596468692403825569911964524439971653747537279736237722642176487449888875262833620639364044405158441687664190531565540559731559110728076260579713125929967169261270060942356268424217979567717045463869784740878579642585391568795909390037912591629169689811603656123905390498774221779547516496524547524188256358959546187308597333652828562293553060517316272216464794101750913593590122200655890349719449100922247574501444206733723732607269650074236098616848644529751695324004323072119240162889740792191385148637157484225922726543796042484760383707724251309495303085077662214347657906071880873635839200110691342291246929410175639722972470170573812682234435672703477467559645404577984442273711674878612400969434218913882604996604619072800797198174415489480433412931728892409665575485671768951815808227926381211724685284350131107764219331745117109393163629522768135337916860490865251079118884335328002290673979468845207813084308288098088941038532419587428577155680666513293712767588876238367115476123 8140258990669826985246882422557520829673049264159013542472436765564801710637724424964903557863678138854659836748581705456035994057832645458764052886446489332901737094018054949600068659788465533945716625596196247452942545375796703678557674343937753294938294031433542332187199832199165704857488640328153494238772888523673910326422938655740378593981523096868468888234707559014798718578208345428875089231213055001099158632496218630042940917599059943972000410129467761162027473836799007527998450967082439112796271762672477964791331127137317386333017659662097997517278456971150208498347206476334005144646069965935712476286574542850453193152069558257152089317001211091044302713213077739894836413238587873070693165905627287205734900906011981067889362763148534226229302990840085642418858110161352377277705785379382385335282360113876919033546779906269496030323716917177808733108926892881289215989511556641185422550002257113189734173774392248277954354461336064728554424874326877875107702840048789529150908243333153518412733683346693562987094790248352412621135076943864271729205881750970250293313987366383621669301964061653521937029484047908520141440521140761251026599 13171215724130693228363403473843420141510360258610799673113077140086840820438378306851274845556533509844357507252597316978067750643760633001048166854910111937442871579614523642003894229700430058385688279343733527189180268017973191128446549606771373934302338436591984019851390363764706264589047751056229754818486014453641079587692999598096647018199502664585514352104492299893378361163599914224784479269125646630268848444099874753948331416373281723519516906654015285350283832796345194836595784619911001406349332279988750181256125228888230979923139860317988347236727557893397782999791413210057737751915720040171811093135219072602148517156392630376392252206742003282429451350370561965817562957034630357831076873629878596701037985983674195415547268835029407862068503101531427933665787520336992100250175955953195067569718032817354386593192184484253938304035391795790209702543145806763894212594130629441982620724417746593623147105503284657943529840133105016544362652800708089599792987190179897293370239988450262911576363206114828900903955281113603491740019412271866562403185350596178063377622275464472562707834383649082099092710150561202232909029397379128366502722 21311474714800520213610285896400940971183409522769813215585513905651642531076102731816178403420211648699017344001179022434103744701593278459812219741356601270344608673632578591603962889488895592331404904939929774642122813393769894807004223950709127229240632468025526352038590195963871969446536391384383249057258902977314989914115938253837025612181025761453983240339199858908177079741808259653659568500338701631368007076596093383991272333972341667491517316783483046512311306633144202364594235586993440519145604042661228146047456356025548366256157519980086344754006014864547991498138619686391742896561790006107523569421793615452601710308462188633544341523743214373473754063583639705712399370273218230901770039535505883906772886889686176483436631598177942088297806092371513576084645630498344477527881741332577452905000392931231305626738964390523434334359108712968018435652072699645183428583642186083168043274420003706812881279277676906221484194594441081272917077675034967474900690030228686822521148231783416429989096889461522463891050071361955904361154489215730834132391232347148313670936262830856184377136347710735621029739634609110753050469918519889617529321 34482690438931213441973689370244361112693769781380612888698591045738483351514481038667453248976745158543374851253776339412171495345353911460860386596266713207787480253247102233607857119189325650717093184283663301831303081411743085935450773557480501163542970904617510371889980559728578234035584142440613003875744917430956069501808937851933672630380528426039497592443692158801555440905408173878444047769464348261636855520695968137939603750345623391011034223437498331862595139429489397201190020206904441925494936322649978327303581584913779346179297380298074691990733572757945774497930032896449480648477510046279334662557012688054750227464854819009936593730485217655903205413954201671529962327307848588732846913165384480607810872873360371898983900433207349950366309193902941509750433150835336577778057697285772520474718425748585692219931148874777372638394500508758228138195218506409077641177772815525150663998837750300436028384780961564165014034727546097817279730475743057074693677220408584115891388220233679341565460095576351364795005352475559396101173901487597396535576582943326377048558538295328747084970731359817720122449785170312985959499315899017984032043 55794165153731733655583975266645302083877179304150426104284104951390125882590583770483631652396956807242392195254955361846275240046947189920672606337623314478132088926879680825211820008678221243048498089223593076473425894805512980742454997508189628392783603372643036723928570755692450203482120533824996252933003820408271059415924876105770698242561554187493480832782892017709732520647216433532103616269803049893004862597292061521930876084317965058502551540220981378374906446062633599565784255793897882444640540365311206473351037940939327712435454900278161036744739587622493765996068652582841223545039300052386858231978806303507351937773317007643480935254228432029376959477537841377242361697581066819634616952700890364514583759763046548382420532031385292038664115286274455085835078781333681055305939438618349973379718818679816997846670113265300806972753609221726246573847291206054261069761415001608318707273257754007248909664058638470386498229321987179090196808150778024549594367250637270938412536452017095771554556985037873828686055423837515300462328390703328230667967815290474690719494801126184931462107079070553341152189419779423739009969234418907601561364 90276855592662947097557664636889663196570949085531038992982695997128609234105064809151084901373701965785767046508731701258446735392301101381532992933890027685919569180126783058819677127867546893765591273507256378304728976217256066677905771065670129556326574277260547095818551315421028437517704676265609256808748737839227128917733813957704370872942082613532978425226584176511287961552624607410547664039267398154641718117988029659870479834663588449513585763658479710237501585492122996766974276000802324370135476687961184800654619525853107058614752280576235728735473160380439540493998685479290704193516810098666192894535818991562102165238171826653417528984713649685280164891492043048772324024888915408367463865866274845122394632636406920281404432464592641989030424480177396595585511932169017633083997135904122493854437244428402690066601262140078179611148109730484474712042509712463338710939187817133469371272095504307684938048839600034551512264049533276907476538626521081624288044471045855054303924672250775113120017080614225193481060776313074696563502292190925627203544398233801067768053339421513678547077810430371061274639204949736724969468550317925585593407 146071020746394680753141639903534965280448128389681465097266800948518735116695648579634716553770658773028159241763687063104721975439248291302205599271513342164051658107006463884031497136545768136814089362730849454778154871022769047420360768573859757949110177649903583819747122071113478640999825210090605509741752558247498188333658690063475069115503636801026459258009476194221020482199841040942651280309070448047646580715280091181801355918981553508016137303879461088612408031554756596332758531794700206814776017053272391274005657466792434771050207180854396765480212748002933306490067338062131927738556110151053051126514625295069454103011488834296898464238942081714657124369029884426014685722469982228002080818567165209636978392399453468663824964495977934027694539766451851681420590713502698688389936574522472467234156063108219687913271375405378986583901718952210721285889800918517599780700602818741788078545353258314933847712898238504938010493371520455997673346777299106173882411721683125992716461124267870884674574065652099022167116200150589997025830682894253857871512213524275758487548140547698610009184889500924402426828624729160463979437784736833187154771 236347876339057627850699304540424628477019077475212504090249496945647344350800713388785801455144360738813926288272418764363168710831549392683738592205403369849971227287133246942851174264413315030579680636238105833082883847240025114098266539639529887505436751927164130915565673386534507078517529886356214766550501296086725317251392504021179439988445719414559437683236060370732308443752465648353198944348337846202288298833268120841671835753645141957529723067537940798849909617046879593099732807795502531184911493741233576074660276992645541829664959461430632494215685908383372846984066023541422631932072920249719244021050444286631556268249660660950315993223655731399937289260521927474787009747358897636369544684433440054759373025035860388945229396960570576016724964246629248277006102645671716321473933710426594961088593307536622377979872637545457166195049828682695195997932310630980938491639790635875257449817448762622618785761737838539489522757421053732905149885403820187798170456192728981047020385796518645997794591146266324215648176976463664693589332975085179485075056611758076826255601479969212288556262699931295463701467829678897188948906335054758772748178 382418897085452308603840944443959593757467205864893969187516297894166079467496361968420518008915019511842085530036105827467890686270797683985944191476916712014022885394139710826882671400959083167393769998968955287861038718262794161518627308213389645454546929577067714735312795457647985719517355096446820276292253854334223505585051194084654509103949356215585896941245536564953328925952306689295850224657408294249934879548548212023473191672626695465545860371417401887462317648601636189432491339590202737999687510794505967348665934459437976600715166642285029259695898656386306153474133361603554559670629030400772295147565069581701010371261149495247214457462597813114594413629551811900801695469828879864371625503000605264396351417435313857609054361456548510044419504013081099958426693359174415009863870284949067428322749370644842065893144012950836152778951547634905917283822111549498538272340393454617045528362802020937552633474636077044427533250792574188902823232181119293972052867914412107039736846920786516882469165211918423237815293176614254690615163657979433342946568825282352584743149620516910898565447589432219866128296454408057652928344119791591959902949 618766773424509936454540248984384222234486283340106473277765794839813423818297075357206319464059380250656011818308524591831059397102347076669682783682320081863994112681272957769733845665372398197973450635207061120943922565502819275616893847852919532959983681504231845650878468844182492798034884982803035042842755150420948822836443698105833949092395075630145334624481596935685637369704772337649049169005746140452223178381816332865145027426271837423075583438955342686312227265648515782532224147385705269184599004535739543423326211452083518430380126103715661753911584564769679000458199385144977191602701950650491539168615513868332566639510810156197530450686253544514531702890073739375588705217187777500741170187434045319155724442471174246554283758417119086061144468259710348235432796004846131331337803995375662389411342678181464443873016650496293318974001376317601113281754422180479476763980184090492302978180250783560171419236373915583917056008213627921807973117584939481770223324107141088086757232717305162880263756358184747453463470153077919384204496633064612828021625437040429410998751100486123187121710289363515329829764284086954841877250454846350732651127 1001185670509962245058381193428343815991953489205000442465282092733979503285793437325626837472974399762498097348344630419298950083373144760655626975159236793878016998075412668596616517066331481365367220634176016408804961283765613437135521156066309178414530611081299560386191264301830478517552240079249855319135009004755172328421494892190488458196344431845731231565727133500638966295657079026944899393663154434702158057930364544888618219098898532888621443810372744573774544914250151971964715486975908007184286515330245510771992145911521495031095292746000691013607483221155985153932332746748531751273330981051263834316180583450033577010771959651444744908148851357629126116519625551276390400687016657365112795690434650583552075859906488104163338119873667596105563972272791448193859489364020546341201674280324729817734092048826306509766160663447129471752952923952507030565576533729978015036320577545109348506543052804497724052711009992628344589259006202110710796349766058775742276192021553195126494079638091679762732921570103170691278763329692174074819660291044046170968194262322781995741900721003034085687157878795735195958060738495012494805594574637942692554076 1619952443934472181512921442412728038226439772545106915743047887573792927104090512682833156937033780013154109166653155011130009480475491837325309758841556875742011110756685626366350362731703879563340671269383077529748883849268432712752415003919228711374514292585531406037069733146012971315587125062052890361977764155176121151257938590296322407288739507475876566190208730436324603665361851364593948562668900575154381236312180877753763246525170370311697027249328087260086772179898667754496939634361613276368885519865985054195318357363605013461475418849716352767519067785925664154390532131893508942876032931701755373484796097318366143650282769807642275358835104902143657819409699290651979105904204434865853965877868695902707800302377662350717621878290786682166708440532501796429292285368866677672539478275700392207145434727007770953639177313943422790726954300270108143847330955910457491800300761635601651484723303588057895471947383908212261645267219830032518769467350998257512499516128694283213251312355396842642996677928287918144742233482770093459024156924108658998989819699363211406740651821489157272808868168159250525787825022581967336682845029484293425205203 2621138114444434426571302635841071854218393261750107358208329980307772430389883950008459994410008179775652206514997785430428959563848636597980936734000793669620028108832098294962966879798035360928707891903559093938553845133034046149887936159985537889789044903666830966423260997447843449833139365141302745681112773159931293479679433482486810865485083939321607797755935863936963569961018930391538847956332055009856539294242545422642381465624068903200318471059700831833861317094148819726461655121337521283553172035196230564967310503275126508492570711595717043781126551007081649308322864878642040694149363912753019207800976680768399720661054729459087020266983956259772783935929324841928369506591221092230966761568303346486259876162284150454880959998164454278272272412805293244623151774732887224013741152556025122024879526775834077463405337977390552262479907224222615174412907489640435506836621339180710999991266356392555619524658393900840606234526226032143229565817117057033254775708150247478339745391993488522405729599498391088836020996812462267533843817215152705169958013961685993402482552542492191358496026046954985721745885761076979831488439604122236117759279 4241090558378906608084224078253799892444833034295214273951377867881565357493974462691293151347041959788806315681650940441558969044324128435306246492842350545362039219588783921329317242529739240492048563172942171468302728982302478862640351163904766601163559196252362372460330730593856421148726490203355636043090537315107414630937372072783133272773823446797484363946144594373288173626380781756132796519000955585010920530554726300396144712149239273512015498309028919093948089274047487480958594755699134559922057555062215619162628860638731521954046130445433396548645618793007313462713397010535549637025396844454774581285772778086765864311337499266729295625819061161916441755339024132580348612495425527096820727446172042388967676464661812805598581876455240960438980853337795041052444060101753901686280630831725514232024961502841848417044515291333975053206861524492723318260238445550892998636922100816312651475989659980613514996605777809052867879793445862175748335284468055290767275224278941761552996704348885365048726277426679006980763230295232360992867974139261364168947833661049204809223204363981348631304894215114236247533710783658947168171284633606529542964482 6862228672823341034655526714094871746663226296045321632159707848189337787883858412699753145757050139564458522196648725871987928608172765033287183226843144214982067328420882216292284122327774601420756455076501265406856574115336525012528287323890304490952604099919193338883591728041699870981865855344658381724203310475038708110616805555269944138258907386119092161702080458310251743587399712147671644475333010594867459824797271723038526177773308176712333969368729750927809406368196307207420249877036655843475229590258446184129939363913858030446616842041150440329772169800088962771036261889177590331174760757207793789086749458855165584972392228725816315892803017421689225691268348974508718119086646619327787489014475388875227552626945963260479541874619695238711253266143088285675595834834641125700021783387750636256904488278675925880449853268724527315686768748715338492673145935191328505473543439997023651467256016373169134521264171709893474114319671894318977901101585112324022050932429189239892742096342373887454455876925070095816784227107694628526711791354414069338905847622735198211705756906473539989800920262069221969279596544735926999659724237728765660723761 11103319231202247642739750792348671639108059330340535906111085716070903145377832875391046297104092099353264837878299666313546897652496893468593429719685494760344106548009666137621601364857513841912805018249443436875159303097639003875168638487795071092116163296171555711343922458635556292130592345548014017767293847790146122741554177628053077411032730832916576525648225052683539917213780493903804440994333966179878380355351998023434670889922547450224349467677758670021757495642243794688378844632735790403397287145320661803292568224552589552400662972486583836878417788593096276233749658899713139968200157601662568370372522236941931449283729727992545611518622078583605667446607373107089066731582072146424608216460647431264195229091607776066078123751074936199150234119480883326728039894936395027386302414219476150488929449781517774297494368560058502368893630273208061810933384380742221504110465540813336302943245676353782649517869949518946341994113117756494726236386053167614789326156708131001445738800691259252503182154351749102797547457402926989519579765493675433507853681283784403020928961270454888621105814477183458216813307328394874167831008871335295203688243 17965547904025588677395277506443543385771285626385857538270793564260240933261691288090799442861142238917723360074948392185534826260669658501880612946528638975326173876430548353913885487185288443333561473325944702282015877212975528887696925811685375583068767396090749050227514186677256163112458200892672399491497158265184830852170983183323021549291638219035668687350305510993791660801180206051476085469666976774745840180149269746473197067695855626936683437046488420949566902010440101895799094509772446246872516735579107987422507588466447582847279814527734277208189958393185239004785920788890730299374918358870362159459271695797097034256121956718361927411425096005294893137875722081597784850668718765752395705475122820139422781718553739326557665625694631437861487385623971612403635729771036153086324197607226786745833938060193700177944221828783029684580399021923400303606530315933550009584008980810359954410501692726951784039134121228839816108432789650813704137487638279938811377089137320241338480897033633139957638031276819198614331684510621618046291556848089502846759528906519601232634718176928428610906734739252680186092903873130801167490733109064060864412004 29068867135227836320135028298792215024879344956726393444381879280331144078639524163481845739965234338270988197953248058499081723913166551970474042666214133735670280424440214491535486852042802285246366491575388139157175180310614532762865564299480446675184930692262304761571436645312812455243050546440686417258791006055330953593725160811376098960324369051952245212998530563677331578014960699955280526464000942954624220535501267769907867957618403077161032904724247090971324397652683896584177939142508236650269803880899769790715075813019037135247942787014318114086607746986281515238535579688603870267575075960532930529831793932739028483539851684710907538930047174588900560584483095188686851582250790912177003921935770251403618010810161515392635789376769567637011721505104854939131675624707431180472626611826702937234763387841711474475438590388841532053474029295131462114539914696675771513694474521623696257353747369080734433557004070747786158102545907407308430373873691447553600703245845451242784219697724892392460820185628568301411879141913548607565871322341764936354613210190304004253563679447383317232012549216436138402906211201525675335321741980399356068100247 47034415039253424997530305805235758410650630583112250982652672844591385011901215451572645182826376577188711558028196450684616550173836210472354655612742772710996454300870762845449372339228090728579927964901332841439191057523590061650562490111165822258253698088353053811798950831990068618355508747333358816750288164320515784445896143994699120509616007270987913900348836074671123238816140906006756611933667919729370060715650537516381065025314258704097716341770735511920891299663123998479977033652280682897142320616478877778137583401485484718095222601542052391294797705379466754243321500477494600566949994319403292689291065628536125517795973641429269466341472270594195453722358817270284636432919509677929399627410893071543040792528715254719193455002464199074873208890728826551535311354478467333558950809433929723980597325901905174653382812217624561738054428317054862418146445012609321523278483502434056211764249061807686217596138191976625974210978697058122134511361329727492412080334982771484122700594758525532418458216905387500026210826424170225612162879189854439201372739096823605486198397624311745842919283955688818588999115074656476502812475089463416932512251 76103282174481261317665334104027973435529975539838644427034552124922529090540739615054490922791610915459699755981444509183698274087002762442828698278956906446666734725310977336984859191270893013826294456476720980596366237834204594413428054410646268933438628780615358573370387477302881073598559293774045234009079170375846738039621304806075219469940376322940159113347366638348454816831101605962037138397668862683994281251151805286288932982932661781258749246494982602892215697315807895064154972794788919547412124497378647568852659214504521853343165388556370505381405452365748269481857080166098470834525070279936223219122859561275154001335825326140177005271519445183096014306841912458971488015170300590106403549346663322946658803338876770111829244379233766711884930395833681490666986979185898514031577421260632661215360713743616649128821402606466093791528457612186324532686359709285093036972958024057752469117996430888420651153142262724412132313524604465430564885235021175046012783580828222726906920292483417924879278402533955801438089968337718833178034201531619375555985949287127609739762077071695063074931833172124956991905326276182151838134217069862773000612498 123137697213734686315195639909263731846180606122950895409687224969513914102441955066627136105617987492648411314009640959868314824260838972915183353891699679157663189026181740182434231530498983742406222421378053822035557295357794656063990544521812091191692326868968412385169338309292949691954068041107404050759367334696362522485517448800774339979556383593928073013696202713019578055647242511968793750331336782413364341966802342802669998008246920485356465588265718114813106996978931893544132006447069602444554445113857525346990242615990006571438387990098422896676203157745215023725178580643593071401475064599339515908413925189811279519131798967569446471612991715777291468029200729729256124448089810268035803176757556394489699595867592024831022699381697965786758139286562508042202298333664365847590528230694562385195958039645521823782204214824090655529582885929241186950832804721894414560251441526491808680882245492696106868749280454701038106524503301523552699396596350902538424863915810994211029620887241943457297736619439343301464300794761889058790197080721473814757358688383951215225960474696006808917851117127813775580904441350838628340946692159326189933124749 199240979388215947632860974013291705281710581662789539836721777094436443192982694681681627028409598408108111069991085469052013098347841735358012052170656585604329923751492717519419090721769876756232516877854774802631923533191999250477418598932458360125130955649583770958539725786595830765552627334881449284768446505072209260525138753606849559449496759916868232127043569351368032872478344117930830888729005645097358623217954148088958930991179582266615214834760700717705322694294739788608286979241858521991966569611236172915842901830494528424781553378654793402057608610110963293207035660809691542236000134879275739127536784751086433520467624293709623476884511160960387482336042642188227612463260110858142206726104219717436358399206468794942851943760931732498643069682396189532869285312850264361622105651955195046411318753389138472911025617430556749321111343541427511483519164431179507597224399550549561150000241923584527519902422717425450238838027905988983264281831372077584437647496639216937936541179725361382177015021973299102902390763099607891968231282253093190313344637671078824965722551767701871992782950299938732572809767627020780179080909229188962933737247 322378676601950633948056613922555437127891187785740435246409002063950357295424649748308763134027585900756522384000726428920327922608680708273195406062356264761993112777674457701853322252268860498638739299232828624667480828549793906541409143454270451316823282518552183343709064095888780457506695375988853335527813839768571783010656202407623899429053143510796305140739772064387610928125586629899624639060342427510722965184756490891628928999426502751971680423026418832518429691273671682152418985688928124436521014725093698262833144446484534996219941368753216298733811767856178316932214241453284613637475199478615255035950709940897713039599423261279069948497502876737678950365243371917483736911349921126178009902861776111926057995074060819773874643142629698285401208968958697575071583646514630209212633882649757431607276793034660296693229832254647404850694229470668698434351969153073922157475841077041369830882487416280634388651703172126488345362531207512535963678427722980122862511412450211148966162066967304839474751641412642404366691557861496950758428362974567005070703326055030040191683026463708680910634067427752508153714208977859408520027601388515152866861996 521619655990166581580917587935847142409601769448529975083130779158386800488407344429990390162437184308864633453991811897972341020956522443631207458233012850366323036529167175221272412974038737254871256177087603427299404361741793157018827742386728811441954238168135954302248789882484611223059322710870302620296260344840781043535794956014473458878549903427664537267783341415755643800603930747830455527789348072608081588402710638980587859990606085018586895257787119550223752385568411470760705964930786646428487584336329871178676046276979063421001494747408009700791420377967141610139249902262976155873475334357890994163487494691984146560067047554988693425382014037698066432701286014105711349374610031984320216628965995829362416394280529614716726586903561430784044278651354887107940868959364894570834739534604952478018595546423798769604255449685204154171805573012096209917871133584253429754700240627590930980882729339865161908554125889551938584200559113501519227960259095057707300158909089428086902703246692666221651766663385941507269082320961104842726659645227660195384047963726108865157405578231410552903417017727691240726523976604880188699108510617704115800599243 843998332592117215528974201858402579537492957234270410329539781222337157783831994178299153296464770209621155837992538326892668943565203151904402864295369115128316149306841632923125735226307597753509995476320432051966885190291587063560236885840999262758777520686688137645957853978373391680566018086859155955824074184609352826546451158422097358307603046938460842408523113480143254728729517377730080166849690500118804553587467129872216788990032587770558575680813538382742182076842083152913124950619714770865008599061423569441509190723463598417221436116161225999525232145823319927071464143716260769510950533836506249199438204632881859599666470816267763373879516914435745383066529386023195086285959953110498226531827771941288474389354590434490601230046191129069445487620313584683012452605879524780047373417254709909625872339458459066297485281939851559022499802482764908352223102737327351912176081704632300811765216756145796297205829061678426929563090321014055191638686818037830162670321539639235868865313659971061126518304798583911635773878822601793485088008202227200454751289781138905349088604695119233814051085155443748880238185582739597219136112006219268667461239 1365617988582283797109891789794249721947094726682800385412670560380723958272239338608289543458901954518485789291984350224865009964521725595535610322528381965494639185836008808144398148200346335008381251653408035479266289552033380220579064628227728074200731758854824091948206643860858002903625340797729458576120334529450133870082246114436570817186152950366125379676306454895898898529333448125560535694639038572726886141990177768852804648980638672789145470938600657932965934462410494623673830915550501417293496183397753440620185237000442661838222930863569235700316652523790461537210714045979236925384425868194397243362925699324866006159733518371256456799261530952133811815767815400128906435660569985094818443160793767770650890783635120049207327816949752559853489766271668471790953321565244419350882112951859662387644467885882257835901740731625055713194305375494861118270094236321580781666876322332223231792647946096010958205759954951230365513763649434515574419598945913095537462829230629067322771568560352637282778284968184525418904856199783706636211747653429887395838799253507247770506494182926529786717468102883134989606762162187619785918244622623923384468060482 2209616321174401012638865991652652301484587683917070795742210341603061116056071332786588696755366724728106945129976888551757678908086928747440013186823751080622955335142850441067523883426653932761891247129728467531233174742324967284139301514068727336959509279541512229594164497839231394584191358884588614531944408714059486696628697272858668175493755997304586222084829568376042153258062965503290615861488729072845690695577644898725021437970671260559704046619414196315708116539252577776586955866170216188158504782459177010061694427723906260255444366979730461699841884669613781464282178189695497694895376402030903492562363903957747865759399989187524220173141047866569557198834344786152101521946529938205316669692621539711939365172989710483697929046995943688922935253891982056473965774171123944130929486369114372297270340225340716902199226013564907272216805177977626026622317339058908133579052404036855532604413162852156754502965784012908792443326739755529629611237632731133367625499552168706558640433874012608343904803272983109330540630078606308429696835661632114596293550543288386675855582787621649020531519188038578738487000347770359383137380734630142653135521721 3575234309756684809748757781446902023431682410599871181154880901983785074328310671394878240214268679246592734421961238776622688872608654342975623509352133046117594520978859249211922031627000267770272498783136503010499464294358347504718366142296455411160241038396336321542371141700089397487816699682318073108064743243509620566710943387295238992679908947670711601761136023271941051787396413628851151556127767645572576837567822667577826086951309933348849517558014854248674051001663072400260786781720717605452000965856930450681879664724348922093667297843299697400158537193404243001492892235674734620279802270225300735925289603282613871919133507558780676972402578818703369014602160186281007957607099923300135112853415307482590255956624830532905256863945696248776425020163650528264919095736368363481811599320974034684914808111222974738100966745189962985411110553472487144892411575380488915245928726369078764397061108948167712708725738964139157957090389190045204030836578644228905088328782797773881412002434365245626683088241167634749445486278390015065908583315062001992132349796795634446362076970548178807248987290921713728093762509957979169055625357254066037603582203 5784850630931085822387623773099554324916270094516941976897091243586846190384382004181466936969635403974699679551938127328380367780695583090415636696175884126740549856121709690279445915053654200532163745912864970541732639036683314788857667656365182748119750317937848551136535639539320792072008058566906687640009151957569107263339640660153907168173664944975297823845965591647983205045459379132141767417616496718418267533145467566302847524921981193908553564177429050564382167540915650176847742647890933793610505748316107460743574092448255182349111664823030159100000421863018024465775070425370232315175178672256204228487653507240361737678533496746304897145543626685272926213436504972433109479553629861505451782546036847194529621129614541016603185910941639937699360274055632584738884869907492307612741085690088406982185148336563691640300192758754870257627915731450113171514728914439397048824981130405934297001474271800324467211691522977047950400417128945574833642074211375362272713828334966480440052436308377853970587891514150744079986116356996323495605418976694116588425900340084021122217659758169827827780506478960292466580762857728338552193006091884208690739103924 9360084940687770632136381554546456348347952505116813158051972145570631264712692675576345177183904083221292413973899366105003056653304237433391260205528017172858144377100568939491367946680654468302436244696001473552232103331041662293576033798661638159279991356334184872678906781239410189559824758249224760748073895201078727830050584047449146160853573892646009425607101614919924256832855792760992918973744264363990844370713290233880673611873291127257403081735443904813056218542578722577108529429611651399062506714173037911425453757172604104442778962666329856500158959056422267467267962661044966935454980942481504964412943110522975609597667004305085574117946205503976295228038665158714117437160729784805586895399452154677119877086239371549508442774887336186475785294219283113003803965643860671094552685011062441667099956447786666378401159503944833243039026284922600316407140489819885964070909856775013061398535380748492179920417261941187108357507518135620037672910790019591177802157117764254321464438742743099597270979755318378829431602635386338561514002291756118580558250136879655568579736728718006635029493769882006194674525367686317721248631449138274728342686127 15144935571618856454524005327646010673264222599633755134949063389157477455097074679757812114153539487195992093525837493433383424433999820523806896901703901299598694233222278629770813861734308668834599990608866444093964742367724977082433701455026820907399741674272033423815442420778730981631832816816131448388083047158647835093390224707603053329027238837621307249453067206567907461878315171893134686391360761082409111903858757800183521136795272321165956645912872955377438386083494372753956272077502585192673012462489145372169027849620859286791890627489360015600159380919440291933043033086415199250630159614737709192900596617763337347276200501051390471263489832189249221441475170131147226916714359646311038677945489001871649498215853912566111628685828976124175145568274915697742688835551352978707293770701150848649285104784350358018701352262699703500666942016372713487921869404259283012895890987180947358400009652548816647132108784918235058757924647081194871314985001394953450515985452730734761516875051120953567858871269469122909417718992382662057119421268450235168984150476963676690797396486887834462810000248842298661255288225414656273441637541022483419081790051 24505020512306627086660386882192467021612175104750568293001035534728108719809767355334157291337443570417284507499736859538386481087304057957198157107231918472456838610322847569262181808414963137137036235304867917646196845698766639376009735253688459066679733030606218296494349202018141171191657575065356209136156942359726562923440808755052199489880812730267316675060168821487831718711170964654127605365105025446399956274572048034064194748668563448423359727648316860190494604626073095331064801507114236591735519176662183283594481606793463391234669590155689872100318339975862559400310995747460166186085140557219214157313539728286312956873867505356476045381436037693225516669513835289861344353875089431116625573344941156548769375302093284115620071460716312310650930862494198810746492801195213649801846455712213290316385061232137024397102511766644536743705968301295313804329009894079168976966800843955960419798545033297308827052526046859422167115432165216814908987895791414544628318142570494989082981313793864053165129851024787501738849321627769000618633423560206353749542400613843332259377133215605841097839494018724304855929813593100973994690268990160758147424476178 39649956083925483541184392209838477694876397704384323427950098923885586174906842035091969405490983057613276601025574352971769905521303878481005054008935819772055532843545126199032995670149271805971636225913734361740161588066491616458443436708715279974079474704878251720309791622796872152823490391881487657524239989518374398016831033462655252818908051567888623924513236028055739180589486136547262291756465786528809068178430805834247715885463835769589316373561189815567932990709567468085021073584616821784408531639151328655763509456414322678026560217645049887700477720895302851333354028833875365436715300171956923350214136346049650304150068006407866516644925869882474738110989005421008571270589449077427664251290430158420418873517947196681731700146545288434826076430769114508489181636746566628509140226413364138965670166016487382415803864029344240244372910317668027292250879298338451989862691831136907778198554685846125474184634831777657225873356812298009780302880792809498078834128023225723844498188844985006732988722294256624648267040620151662675752844828656588918526551090807008950174529702493675560649494267566603517185101818515630268131906531183241566506266229 64154976596232110627844779092030944716488572809134891720951134458613694894716609390426126696828426628030561108525311212510156386608607936438203211116167738244512371453867973768295177478564234943108672461218602279386358433765258255834453171962403739040759207735484470016804140824815013324015147966946843866660396931878100960940271842217707452308788864298155940599573404849543570899300657101201389897121570811975209024453002853868311910634132399218012676101209506675758427595335640563416085875091731058376144050815813511939357991063207786069261229807800739759800796060871165410733665024581335531622800440729176137507527676074335963261023935511764342562026361907575700254780502840710869915624464538508544289824635371314969188248820040480797351771607261600745477007293263313319235674437941780278310986682125577429282055227248624406812906375795988776988078878618963341096579889192417620966829492675092868197997099719143434301237160878637079392988788977514824689290776584224042707152270593720712927479502638849059898118573319044126387116362247920663294386268388862942668068951704650341209551662918099516658488988286290908373114915411616604262822175521343999713930742407 103804932680157594169029171301869422411364970513519215148901233382499281069623451425518096102319409685643837709550885565481926292129911814919208265125103558016567904297413099967328173148713506749080308687132336641126520021831749872292896608671119019014838682440362721737113932447611885476838638358828331524184636921396475358957102875680362705127696915866044564524086640877599310079890143237748652188878036598504018092631433659702559626519596234987601992474770696491326360586045208031501106948676347880160552582454964840595121500519622108747287790025445789647501273781766468262067019053415210897059515740901133060857741812420385613565174003518172209078671287777458174992891491846131878486895053987585971954075925801473389607122337987677479083471753806889180303083724032427827724856074688346906820126908538941568247725393265111789228710239825333017232451788936631368388830768490756072956692184506229775976195654404989559775421795710414736618862145789812834469593657377033540785986398616946436771977691483834066631107295613300751035383402868072325970139113217519531586595502795457350159726192620593192219138482553857511890300017230132234530954082052527241280437008636 167959909276389704796873950393900367127853543322654106869852367841112975964340060815944222799147836313674398818076196777992082678738519751357411476241271296261080275751281073735623350627277741692188981148350938920512878455597008128127349780633522758055597890175847191753918073272426898800853786325775175390845033853274576319897374717898070157436485780164200505123660045727142880979190800338950042085999607410479227117084436513570871537153728634205614668575980203167084788181380848594917192823768078938536696633270778352534479491582829894816549019833246529407302069842637633672800684077996546428682316181630309198365269488494721576826197939029936551640697649685033875247671994686842748402519518526094516243900561172788358795371158028158276435243361068489925780091017295741146960530512630127185131113590664518997529780620513736196041616615621321794220530667555594709485410657683173693923521677181322644174192754124132994076658956589051816011850934767327659158884433961257583493138669210667149699457194122683126529225868932344877422499765115992989264525381606382474254664454500107691369277855538692708877627470840148420263414932641748838793776257573871240994367751043 271764841956547298965903121695769789539218513836173322018753601223612257033963512241462318901467245999318236527627082343474008970868431566276619741366374854277648180048694173702951523775991248441269289835483275561639398477428758000420246389304641777070436572616209913491032005720038784277692424684603506915029670774671051678854477593578432862564182696030245069647746686604742191059080943576698694274877644008983245209715870173273431163673324869193216661050750899658411148767426056626418299772444426818697249215725743193129600992102452003563836809858692319054803343624404101934867703131411757325741831922531442259223011300915107190391371942548108760719368937462492050240563486532974626889414572513680488197976486974261748402493496015835755518715114875379106083174741328168974685386587318474091951240499203460565777506013778847985270326855446654811452982456492226077874241426173929766880213861687552420150388408529122553852080752299466552630713080557140493628478091338291124279125067827613586471434885606517193160333164545645628457883167984065315234664494823902005841259957295565041529004048159285901096765953394005932153714949871881073324730339626398482274804759679 439724751232937003762777072089670156667072057158827428888605969064725232998303573057406541700615082312992635345703279121466091649606951317634031217607646150538728455799975247438574874403268990133458270983834214482152276933025766128547596169938164535126034462792057105244950078992465683078546211010378682305874704627945627998751852311476503020000668476194445574771406732331885072038271743915648736360877251419462472326800306686844302700827053503398831329626731102825495936948806905221335492596212505757233945848996521545664080483685281898380385829691938848462105413467041735607668387209408303754424148104161751457588280789409828767217569881578045312360066587147525925488235481219817375291934091039775004441877048147050107197864654043994031953958475943869031863265758623910121645917099948601277082354089867979563307286634292584181311943471067976605673513124047820787359652083857103460803735538868875064324581162653255547928739708888518368642564015324468152787362525299548707772263737038280736170892079729200319689559033477990505880382933100058304499189876430284480095924411795672732898281903697978609974393424234154352417129882513629912118506597200269723269172510722 711489593189484302728680193785439946206290570995000750907359570288337490032267085298868860602082328312310871873330361464940100620475382883910650958974021004816376635848669421141526398179260238574727560819317490043791675410454524128967842559242806312196471035408267018735982084712504467356238635694982189220904375402616679677606329905054935882564851172224690644419153418936627263097352687492347430635754895428445717536516176860117733864500378372592047990677482002483907085716232961847753792368656932575931195064722264738793681475787733901944222639550631167516908757091445837542536090340820061080165980026693193716811292090324935957608941824126154073079435524610017975728798967752792002181348663553455492639853535121311855600358150059829787472673590819248137946440499952079096331303687267075369033594589071440129084792648071432166582270326514631417126495580540046865233893510031033227683949400556427484474969571182378101780820461187984921273277095881608646415840616637839832051388804865894322642326965335717512849892198023636134338266101084123619733854371254186485937184369091237774427285951857264511071159377628160284570844832385510985443236936826668205543977270401 1151214344422421306491457265875110102873362628153828179795965539353062723030570658356275402302697410625303507219033640586406192270082334201544682176581667155355105091648644668580101272582529228708185831803151704525943952343480290257515438729180970847322505498200324123980932163704970150434784846705360871526779080030562307676358182216531438902565519648419136219190560151268512335135624431407996166996632146847908189863316483546962036565327431875990879320304213105309403022665039867069089284964869438333165140913718786284457761959473015800324608469242570015979014170558487573150204477550228364834590128130854945174399572879734764724826511705704199385439502111757543901217034448972609377473282754593230497081730583268361962798222804103823819426632066763117169809706258575989217977220787215676646115948678939419692392079282364016347894213797582608022800008704587867652593545593888136688487684939425302548799550733835633649709560170076503289915841111206076799203203141937388539823652541904175058813219045064917832539451231501626640218649034184181924233044247684470966033108780886910507325567855555243121045552801862314636987974714899140897561743534026937928813149781123 1862703937611905609220137459660550049079653199148828930703325109641400213062837743655144262904779738937614379092364002051346292890557717085455333135555688160171481727497314089721627670761789467282913392622469194569735627753934814386483281288423777159518976533608591142716914248417474617791023482400343060747683455433178987353964512121586374785130370820643826863609713570205139598232977118900343597632387042276353907399832660407079770429827810248582927310981695107793310108381272828916843077333526370909096335978441051023251443435260749702268831108793201183495922927649933410692740567891048425914756108157548138891210864970059700682435453529830353458518937636367561876945833416725401379654631418146685989721584118389673818398580954163653606899305657582365307756146758528068314308524474482752015149543268010859821476871930435448514476484124097239439926504285127914517827439103919169916171634339981730033274520305018011751490380631264488211189118207087685445619043758575228371875041346770069381455546010400635345389343429525262774556915135268305543966898618938657451970293149978148281752853807412507632116712179490474921558819547284651883004980470853606134357127051524 3013918282034326915711594725535660151953015827302657110499290648994462936093408402011419665207477149562917886311397642637752485160640051287000015312137355315526586819145958758301728943344318695991099224425620899095679580097415104643998720017604748006841482031808915266697846412122444768225808329105703932274462535463741295030322694338117813687695890469062963082800273721473651933368601550308339764629019189124262097263149143954041806995155242124573806631285908213102713131046312695985932362298395809242261476892159837307709205394733765502593439578035771199474937098208420983842945045441276790749346236288403084065610437849794465407261965235534552843958439748125105778162867865698010757127914172739916486803314701658035781196803758267477426325937724345482477565853017104057532285745261698428661265491946950279513868951212799464862370697921679847462726512989715782170420984697807306604659319279407032582074071038853645401199940801340991501104959318293762244822246900512616911698693888674244440268765055465553177928794661026889414775564169452487468199942866623128418003401930865058789078421662967750753162264981352789558546794262183792780566724004880544063170276832647 4876622219646232524931732185196210201032669026451486041202615758635863149156246145666563928112256888500532265403761644689098778051197768372455348447693043475698068546643272848023356614106108163274012617048090093665415207851349919030482001306028525166360458565417506409414760660539919386016831811506046993022145990896920282384287206459704188472826261289706789946409987291678791531601578669208683362261406231400616004662981804361121577424983052373156733942267603320896023239427585524902775439631922180151357812870600888330960648829994515204862270686828972382970860025858354394535685613332325216664102344445951222956821302819854166089697418765364906302477377384492667655108701282423412136782545590886602476524898820047709599595384712431131033225243381927847785321999775632125846594269736181180676415035214961139335345823143234913376847182045777086902653017274843696688248423801726476520830953619388762615348591343871657152690321432605479712294077525381447690441290659087845283573735235444313821724311065866188523318138090552152189332479304720793012166841485561785869973695080843207070831275470380258385278977160843264480105613809468444663571704475734150197527403884171 7890540501680559440643326910731870352985684853754143151701906407630326085249654547677983593319734038063450151715159287326851263211837819659455363759830398791224655365789231606325085557450426859265111841473710992761094787948765023674480721323633273173201940597226421676112607072662364154242640140611750925296608526360661577414609900797822002160522151758769753029210261013152443464970180219517023126890425420524878101926130948315163384420138294497730540573553511533998736370473898220888707801930317989393619289762760725638669854224728280707455710264864743582445797124066775378378630658773602007413448580734354307022431740669648631496959384000899459146435817132617773433271569148121422893910459763626518963328213521705745380792188470698608459551181106273330262887852792736183378880014997879609337680527161911418849214774356034378239217879967456934365379530264559478858669408499533783125490272898795795197422662382725302553890262233946471213399036843675209935263537559600462195272429124118558261993076121331741701246932751579041604108043474173280480366784352184914287977097011708265859909697133348009138441242142196054038652408071652237444138428480614694260697680716818 12767162721326791965575059095928080554018353880205629192904522166266189234405900693344547521431990926563982417118920932015950041263035588031910712207523442266922723912432504454348442171556535022539124458521801086426509995800114942704962722629661798339562399162643928085527367733202283540259471952117797918318754517257581859798897107257526190633348413048476542975620248304831234996571758888725706489151831651925494106589112752676284961845121346870887274515821114854894759609901483745791483241562240169544977102633361613969630503054722795912317980951693715965416657149925129772914316272105927224077550925180305529979253043489502797586656802766264365448913194517110441088380270430544835030693005354513121439853112341753454980387573183129739492776424488201178048209852568368309225474284734060790014095562376872558184560597499269291616065062013234021268032547539403175546917832301260259646321226518184557812771253726596959706580583666551950925693114369056657625704828218688307478846164359562872083717387187197930224565070842131193793440522778894073492533625837746700157950792092551472930740972603728267523720219303039318518758021881120682107710132956348844458225084600989 20657703223007351406218386006659950907004038733959772344606428573896515319655555241022531114751724964627432568834080219342801304474873407691366075967353841058147379278221736060673527729006961881804236299995512079187604783748879966379443443953295071512764339759870349761639974805864647694502112092729548843615363043618243437213507008055348192793870564807246296004830509317983678461541939108242729616042257072450372208515243700991448346265259641368617815089374626388893495980375381966680191043492558158938596392396122339608300357279451076619773691216558459547862454273991905151292946930879529231490999505914659837001684784159151429083616186767163824595349011649728214521651839578666257924603465118139640403181325863459200361179761653828347952327605594474508311097705361104492604354299731940399351776089538783977033775371855303669855282941980690955633412077803962654405587240800794042771811499416980353010193916109322262260470845900498422139092151212731867560968365778288769674118593483681430345710463308529671925812003593710235397548566253067353972900410189931614445927889104259738790650669737076276662161461445235372557410429952772919551848561436963538718922765317807 33424865944334143371793445102588031461022392614165401537510950740162704554061455934367078636183715891191414985953001151358751345737908995723276788174877283325070103190654240515021969900563496904343360758517313165614114779548994909084406166582956869852326738922514277847167342539066931234761584044847346761934117560875825297012404115312874383427218977855722838980450757622814913458113697996968436105194088724375866315104356453667733308110380988239505089605195741243788255590276865712471674285054798328483573495029483953577930860334173872532091672168252175513279111423917034924207263202985456455568550431094965366980937827648654226670272989533428190044262206166838655610032110009211092955296470472652761843034438205212655341567334836958087445104030082675686359307557929472801829828584466001189365871651915656535218335969354572961471348003993924976901444625343365829952505073102054302418132725935164910822965169835919221967051429567050373064785265581788525186673193996977077152964757843244302429427850495727602150377074435841429190989089031961427465434036027678314603878681196811211721391642340804544185881680748274691076168451833893601659558694393312383177147849918796 54082569167341494778011831109247982368026431348125173882117379314059219873717011175389609750935440855818847554787081370701552650212782403414642864142231124383217482468875976575695497629570458786147597058512825244801719563297874875463849610536251941365091078682384627608807317344931578929263696137576895605549480604494068734225911123368222576221089542662969134985281266940798591919655637105211165721236345796826238523619600154659181654375640629608122904694570367632681751570652247679151865328547356487422169887425606293186231217613624949151865363384810635061141565697908940075500210133864985687059549937009625203982622611807805655753889176300592014639611217816566870131683949587877350879899935590792402246215764068671855702747096490786435397431635677150194670405263290577294434182884197941588717647741454440512252111341209876631326630945974615932534856703147328484358092313902848345189944225352145263833159085945241484227522275467548795203877416794520392747641559775265846827083351326925732775138313804257274076189078029551664588537655285028781438334446217609929049806570301070950512042312077880820848043142193510063633578881786666521211407255830275921896070615236603 87507435111675638149805276211836013829048823962290575419628330054221924427778467109756688387119156747010262540740082522060303995950691399137919652317108407708287585659530217090717467530133955690490957817030138410415834342846869784548255777119208811217417817604898905455974659883998510164025280182424242367483598165369894031238315238681096959648308520518691973965732024563613505377769335102179601826430434521202104838723956608326914962486021617847627994299766108876470007160929113391623539613602154815905743382455090246764162077947798821683957035553062810574420677121825974999707473336850442142628100368104590570963560439456459882424162165834020204683873423983405525741716059597088443835196406063445164089250202273884511044314431327744522842535665759825881029712821220050096264011468663942778083519393370097047470447310564449592797978949968540909436301328490694314310597387004902647608076951287310174656124255781160706194573705034599168268662682376308917934314753772242923980048109170170035204566164299984876226566152465393093779526744316990208903768482245288243653685251497882162233433954418685365033924822941784754709747333620560122870965950223588305073218465155399 141590004279017132927817107321083996197075255310415749301745709368281144301495478285146298138054597602829110095527163892761856646163473802552562516459339532091505068128406193666412965159704414476638554875542963655217553906144744660012105387655460752582508896287283533064781977228930089093288976320001137973033078769863962765464226362049319535869398063181661108951013291504412097297424972207390767547666780318028343362343556762986096616861662247455750898994336476509151758731581361070775404942149511303327913269880696539950393295561423770835822398937873445635562242819734915075207683470715427829687650305114215774946183051264265538178051342134612219323484641799972395873400009184965794715096341654237566335465966342556366747061527818530958239967301436976075700118084510627390698194352861884366801167134824537559722558651774326224124609895943156841971158031638022798668689700907750992798021176639455438489283341726402190422095980502147963472540099170829310681956313547508770807131460497095767979704478104242150302755230494944758368064399602018990342102928462898172703491821798953112745476266496566185881967965135294818343326215407226644082373206053864226969289080392002 229097439390692771077622383532920010026124079272706324721374039422503068729273945394902986525173754349839372636267246414822160642114165201690482168776447939799792653787936410757130432689838370167129512692573102065633388248991614444560361164774669563799926713892182438520756637112928599257314256502425380340516676935233856796702541600730416495517706583700353082916745316068025602675194307309570369374097214839230448201067513371313011579347683865303378893294102585385621765892510474462398944555751666119233656652335786786714555373509222592519779434490936256209982919941560890074915156807565869972315750673218806345909743490720725420602213507968632424007358065783377921615116068782054238550292747717682730424716168616440877791375959146275481082502967196801956729830905730677486962205821525827144884686528194634607193005962338775816922588845911697751407459360128717112979287087912653640406098127926765613145407597507562896616669685536747131741202781547138228616271067319751694787179569667265803184270642404227026529321382960337852147591143919009199245871410708186416357177073296835274978910220915251550915892788077079573053073549027786766953339156277452532042507545547401 370687443669709904005439490854004006223199334583122074023119748790784213030769423680049284663228351952668482731794410307584017288277639004243044685235787471891297721916342604423543397849542784643768067568116065720850942155136359104572466552430130316382435610179465971585538614341858688350603232822426518313549755705097819562166767962779736031387104646882014191867758607572437699972619279516961136921763995157258791563411070134299108196209346112759129792288439061894773524624091835533174349497901177422561569922216483326664948669070646363355601833428809701845545162761295805150122840278281297802003400978333022120855926541984990958780264850103244643330842707583350317488516077967020033265389089371920296760182134958997244538437486964806439322470268633778032429948990241304877660400174387711511685853663019172166915564614113102041047198741854854593378617391766739911647976788820404633204119304566221051634690939233965087038765666038895095213742880717967539298227380867260465594311030164361571163975120508469176832076613455282610515655543521028189587974339171084589060668895095788387724386487411817736797860753212374391396399764435013411035712362331316759011796625939403 599784883060402675083061874386924016249323413855828398744493788213287281760043369074952271188402106302507855368061656722406177930391804205933526854012235411691090375704279015180673830539381154810897580260689167786484330404127973549132827717204799880182362324071648410106295251454787287607917489324851898654066432640331676358869309563510152526904811230582367274784503923640463302647813586826531506295861209996489239764478583505612119775557029978062508685582541647280395290516602309995573294053652843541795226574552270113379504042579868955875381267919745958055528082702856695225037997085847167774319151651551828466765670032705716379382478358071877067338200773366728239103632146749074271815681837089603027184898303575438122329813446111081920404973235830579989159779895971982364622605995913538656570540191213806774108570576451877857969787587766552344786076751895457024627263876733058273610217432492986664780098536741527983655435351575642226954945662265105767914498448187012160381490599831627374348245762912696203361397996415620462663246687440037388833845749879271005417845968392623662703296708327069287713753541289453964449473313462800177989051518608769291054304171486804 970472326730112579088501365240928022472522748438950472767613537004071494790812792755001555851630458255176338099856067029990195218669443210176571539248022883582388097620621619604217228388923939454665647828805233507335272559264332653705294269634930196564797934251114381691833865796645975958520722147278416967616188345429495921036077526289888558291915877464381466652262531212901002620432866343492643217625205153748031327889653639911227971766376090821638477870980709175168815140694145528747643551554020964356796496768753440044452711650515319230983101348555659901073245464152500375160837364128465576322552629884850587621596574690707338162743208175121710669043480950078556592148224716094305081070926461523323945080438534435366868250933075888359727443504464358021589728886213287242283006170301250168256393854232978941024135190564979899016986329621406938164694143662196936275240665553462906814336737059207716414789475975493070694201017614537322168688542983073307212725829054272625975801629995988945512220883421165380193474609870903073178902230961065578421820089050355594478514863488412050427683195738887024511614294501828355845873077897813589024763880940086050066100797426207 1570257209790515254171563239627852038721846162294778871512107325217358776550856161829953827040032564557684193467917723752396373149061247416110098393260258295273478473324900634784891058928305094265563228089494401293819602963392306202838121986839730076747160258322762791798129117251433263566438211472130315621682620985761172279905387089800041085196727108046748741436766454853364305268246453170024149513486415150237271092368237145523347747323406068884147163453522356455564105657296455524320937605206864506152023071321023553423956754230384275106364369268301617956601328167009195600198834449975633350641704281436679054387266607396423717545221566246998778007244254316806795695780371465168576896752763551126351129978742109873489198064379186970280132416740294938010749508782185269606905612166214788824826934045446785715132705767016857756986773917387959282950770895557653960902504542286521180424554169552194381194888012717021054349636369190179549123634205248179075127224277241284786357292229827616319860466646333861583554872606286523535842148918401102967255665838929626599896360831881035713130979904065956312225367835791282320295346391360613767013815399548855341120404968913011 2540729536520627833260064604868780061194368910733729344279720862221430271341668954584955382891663022812860531567773790782386568367730690626286669932508281178855866570945522254389108287317229033720228875918299634801154875522656638856543416256474660273311958192573877173489962983048079239524958933619408732589298809331190668200941464616089929643488642985511130208089028986066265307888679319513516792731111620303985302420257890785434575719089782159705785641324503065630732920797990601053068581156760885470508819568089776993468409465880899594337347470616857277857674573631161695975359671814104098926964256911321529642008863182087131055707964774422120488676287735266885352287928596181262881977823690012649675075059180644308856066315312262858639859860244759296032339237668398556849188618336516038993083327899679764656156840957581837656003760247009366221115465039219850897177745207839984087238890906611402097609677488692514125043837386804716871292322748231252382339950106295557412333093859823605265372687529755026963748347216157426609021051149362168545677485927979982194374875695369447763558663099804843336736982130293110676141219469258427356038579280488941391186505766339218 4110986746311143087431627844496632099916215073028508215791828187438789047892525116414909209931695587370544725035691514534782941516791938042396768325768539474129345044270422889173999346245534127985792104007794036094974478486048945059381538243314390350059118450896639965288092100299512503091397145091539048210981430316951840480846851705889970728685370093557878949525795440919629613156925772683540942244598035454222573512626127930957923466413188228589932804778025422086297026455287056577389518761967749976660842639410800546892366220111283869443711839885158895814275901798170891575558506264079732277605961192758208696396129789483554773253186340669119266683531989583692147983708967646431458874576453563776026205037922754182345264379691449828919992276985054234043088746450583826456094230502730827817910261945126550371289546724598695412990534164397325504066235934777504858080249750126505267663445076163596478804565501409535179393473755994896420415956953479431457467174383536842198690386089651221585233154176088888547303219822443950144863200067763271512933151766909608794271236527250483476689643003870799648962349966084392996436565860619041123052394680037796732306910735252229 6651716282831770920691692449365412161110583983762237560071549049660219319234194070999864592823358610183405256603465305317169509884522628668683438258276820652985211615215945143563107633562763161706020979926093670896129354008705583915924954499789050623371076643470517138778055083347591742616356078710947780800280239648142508681788316321979900372174013079069009157614824426985894921045605092197057734975709655758207875932884018716392499185502970388295718446102528487717029947253277657630458099918728635447169662207500577540360775685992183463781059310502016173671950475429332587550918178078183831204570218104079738338404992971570685828961151115091239755359819724850577500271637563827694340852400143576425701280097103398491201330695003712687559852137229813530075427984118982383305282848839246866810993589844806315027446387682180533068994294411406691725181700973997355755257994957966489354902335982774998576414242990102049304437311142799613291708279701710683839807124489832399611023479949474826850605841705843915511051567038601376753884251217125440058610637694889590988646112222619931240248306103675642985699332096377503672577785329877468479090973960526738123493416501591447 10762703029142914008123320293862044261026799056790745775863377237099008367126719187414773802755054197553949981639156819851952451401314566711080206584045360127114556659486368032737106979808297289691813083933887706991103832494754528975306492743103440973430195094367157104066147183647104245707753223802486829011261669965094349162635168027869871100859383172626888107140619867905524534202530864880598677220307691212430449445510146647350422651916158616885651250880553909803326973708564714207847618680696385423830504846911378087253141906103467333224771150387175069486226377227503479126476684342263563482176179296837947034801122761054240602214337455760359022043351714434269648255346531474125799726976597140201727485135026152673546595074695162516479844414214867764118516730569566209761377079341977694628903851789932865398735934406779228481984828575804017229247936908774860613338244708092994622565781058938595055218808491511584483830784898794509712124236655190115297274298873369241809713866039126048435838995881932804058354786861045326898747451284888711571543789461799199782917348749870414716937949107546442634661682062461896669014351190496509602143368640564534855800327236843676 17414419311974684928815012743227456422137383040552983335934926286759227686360913258414638395578412807737355238242622125169121961285837195379763644842322180780099768274702313176300214613371060451397834063859981377887233186503460112891231447242892491596801271737837674242844202266994695988324109302513434609811541909613236857844423484349849771473033396251695897264755444294891419455248135957077656412196017346970638325378394165363742921837419129005181369696983082397520356920961842371838305718599425020871000167054411955627613917592095650797005830460889191243158176852656836066677394862420447394686746397400917685373206115732624926431175488570851598777403171439284847148526984095301820140579376740716627428765232129551164747925769698875204039696551444681294193944714688548593066659928181224561439897441634739180426182322088959761550979122987210708954429637882772216368596239666059483977468117041713593631633051481613633788268096041594123003832516356900799137081423363201641420737345988600875286444837587776719569406353899646703652631702502014151630154427156688790771563460972490345957186255211222085620361014158839400341592136520373978081234342601091272979293743738435123 28177122341117598936938333037089500683164182097343729111798303523858236053487632445829412198333467005291305219881778945021074412687151762090843851426367540907214324934188681209037321593179357741089647147793869084878337018998214641866537939985995932570231466832204831346910349450641800234031862526315921438822803579578331207007058652377719642573892779424322785371896064162796943989450666821958255089416325038183068774823904312011093344489335287622067020947863636307323683894670407086046153337280121406294830671901323333714867059498199118130230601611276366312644403229884339545803871546762710958168922576697755632408007238493679167033389826026611957799446523153719116796782330626775945940306353337856829156250367155703838294520844394037720519540965659549058312461445258114802828037007523202256068801293424672045824918256495738990032963951563014726183677574791547076981934484374152478600033898100652188686851859973125218272098880940388632715956753012090914434355722236570883230451212027726923722283833469709523627761140760692030551379153786902863201698216618487990554480809722360760674124204318768528255022696221301297010606487710870487683377711241655807835094070975278799 45591541653092283865753345780316957105301565137896712447733229810617463739848545704244050593911879813028660458124401070190196373972988957470607496268689721687314093208890994385337536206550418192487481211653850462765570205501674754757769387228888424167032738570042505589754551717636496222355971828829356048634345489191568064851482136727569414046926175676018682636651508457688363444698802779035911501612342385153707100202298477374836266326754416627248390644846718704844040815632249457884459055879546427165830838955735289342480977090294768927236432072165557555802580082541175612481266409183158352855668974098673317781213354226304093464565314597463556576849694593003963945309314722077766080885730078573456585015599285255003042446614092912924559237517104230352506406159946663395894696935704426817508698735059411226251100578584698751583943074550225435138107212674319293350530724040211962577502015142365782318484911454738852060366976981982755719789269368991713571437145599772524651188558016327799008728671057486243197167494660338734204010856288917014831852643775176781326044270694851106631310459529990613875383710380140697352198624231244465764612053842747080814387814713713922 73768663994209882802691678817406457788465747235240441559531533334475699793336178150073462792245346818319965678006180015211270786660140719561451347695057262594528418143079675594374857799729775933577128359447719547643907224499889396624307327214884356737264205402247336936664901168278296456387834355145277487457149068769899271858540789105289056620818955100341468008547572620485307434149469600994166591028667423336775875026202789385929610816089704249315411592710355012167724710302656543930612393159667833460661510857058623057348036588493887057467033683441923868446983312425515158285137955945869311024591550796428950189220592719983260497955140624075514376296217746723080742091645348853712021192083416430285741265966440958841336967458486950645078778482763779410818867605204778198722733943227629073577500028484083272076018835080437741616907026113240161321784787465866370332465208414364441177535913243017971005336771427864070332465857922371388435746022381082628005792867836343407881639770044054722731012504527195766824928635421030764755390010075819878033550860393664771880525080417211867305434663848759142130406406601441994362805111942114953447989765084402888649481885688992721 119360205647302166668445024597723414893767312373137154007264763145093163533184723854317513386157226631348626136130581085401467160633129677032058843963746984281842511351970669979712394006280194126064609571101570010409477430001564151382076714443772780904296943972289842526419452885914792678743806183974633536091494557961467336710022925832858470667745130776360150645199081078173670878848272380030078092641009808490482975228501266760765877142844120876563802237557073717011765525934906001815071449039214260626492349812793912399829013678788655984703465755607481424249563394966690770766404365129027663880260524895102267970433946946287353962520455221539070953145912339727044687400960070931478102077813495003742326281565726213844379414072579863569638015999868009763325273765151441594617430878932055891086198763543494498327119413665136493200850100663465596459892000140185663682995932454576403755037928385383753323821682882602922392832834904354144155535291750074341577230013436115932532828328060382521739741175584682010022096130081369498959400866364736892865403504168841553206569351112062973936745123378749756005790116981582691715003736173359419212601818927149969463869700402706643 193128869641512049471136703415129872682233059608377595566796296479568863326520902004390976178402573449668591814136761100612737947293270396593510191658804246876370929495050345574087251806009970059641737930549289558053384654501453548006384041658657137641561149374537179463084354054193089135131640539119911023548643626731366608568563714938147527288564085876701618653746653698658978312997741981024244683669677231827258850254704056146695487958933825125879213830267428729179490236237562545745683842198882094087153860669852535457177050267282543042170499439049405292696546707392205929051542321074896974904852075691531218159654539666270614460475595845614585329442130086450125429492605419785190123269896911434028067547532167172685716381531066814214716794482631789174144141370356219793340164822159684964663698792027577770403138248745574234817757126776705757781676787606052034015461140868940844932573841628401724329158454310466992725298692826725532591281314131156969583022881272459340414468098104437244470753680111877776847024765502400263714790876440556770898954364562506325087094431529274841242179787227508898136196523583024686077808848115474372660591584011552858113351586091699364 312489075288814216139581728012853287576000371981514749574061059624662026859705625858708489564559800081017217950267342186014205107926400073625569035622551231158213440847021015553799645812290164185706347501650859568462862084503017699388460756102429918545858093346827021989503806940107881813875446723094544559640138184692833945278586640771005997956309216653061769298945734776832649191846014361054322776310687040317741825483205322907461365101777946002443016067824502446191255762172468547560755291238096354713646210482646447857006063946071199026873965194656886716946110102358896699817946686203924638785112600586633486130088486612557968422996051067153656282588042426177170116893565490716668225347710406437770393829097893386530095795603646677784354810482499798937469415135507661387957595701091740855749897555571072268730257662410710728018607227440171354241568787746237697698457073323517248687611770013785477652980137193069915118131527731079676746816605881231311160252894708575272947296426164819766210494855696559786869120895583769762674191742805293663764357868731347878293663782641337815178924910606258654141986640564607377792812584288833791873193402938702827577221286494406007 505617944930326265610718431427983160258233431589892345140857356104230890186226527863099465742962373530685809764404103286626943055219670470219079227281355478034584370342071361127886897618300134245348085432200149126516246739004471247394844797761087056187419242721364201452588160994300970949007087262214455583188781811424200553847150355709153525244873302529763387952692388475491627504843756342078567459980364272145000675737909379054156853060711771128322229898091931175370745998410031093306439133436978448800800071152498983314183114213353742069044464633706292009642656809751102628869489007278821613689964676278164704289743026278828582883471646912768241612030172512627295546386170910501858348617607317871798461376630060559215812177134713491999071604965131588111613556505863881181297760523251425820413596347598650039133395911156284962836364354216877112023245575352289731713918214192458093620185611642187201982138591503536907843430220557805209338097920012388280743275775981034613361764524269257010681248535808437563716145661086170026388982619245850434663312233293854203380758214170612656421104697833767552278183164147632063870621432404308164533784986950255685690572872586105371 818107020219140481750300159440836447834233803571407094714918415728892917045932153721807955307522173611703027714671445472641148163146070543844648262903906709192797811189092376681686543430590298431054432933851008694979108823507488946783305553863516974733277336068191223442091967934408852762882533985309000142828919996117034499125736996480159523201182519182825157251638123252324276696689770703132890236291051312462742501221114701961618218162489717130765245965916433621562001760582499640867194424675074803514446281635145431171189178159424941095918429828363178726588766912109999328687435693482746252475077276864798190419831512891386551306467697979921897894618214938804465663279736401218526573965317724309568855205727953945745907972738360169783426415447631387049082971641371542569255356224343166676163493903169722307863653573566995690854971581657048466264814363098527429412375287515975342307797381655972679635118728696606822961561748288884886084914525893619591903528670689609886309060950434076776891743391504997350585266556669939789063174362051144098427670102025202081674421996811950471600029608440026206420169804712239441663434016693141956406978389888958513267794159080511378 1323724965149466747361018590868819608092467235161299439855775771833123807232158681584907421050484547142388837479075548759268091218365741014063727490185262187227382181531163737809573441048890432676402518366051157821495355562511960194178150351624604030920696578789555424894680128928709823711889621247523455726017701807541235052972887352189313048446055821712588545204330511727815904201533527045211457696271415584607743176959024081015775071223201488259087475864008364796932747758992530734173633558112053252315246352787644414485372292372778683164962894462069470736231423721861101957556924700761567866165041953142962894709574539170215134189939344892690139506648387451431761209665907311720384922582925042181367316582358014504961720149873073661782498020412762975160696528147235423750553116747594592496577090250768372346997049484723280653691335935873925578288059938450817161126293501708433435927982993298159881617257320200143730804991968846690095423012445906007872646804446670644499670825474703333787572991927313434914301412217756109815452156981296994533090982335319056285055180210982563128021134306273793758698352968859871505534055449097450120940763376839214198958367031666616749 2141831985368607229111318750309656055926701038732706534570694187562016724278090835306715376358006720754091865193746994231909239381511811557908375753089168896420179992720256114491259984479480731107456951299902166516474464386019449140961455905488121005653973914857746648336772096863118676474772155232832455868846621803658269552098624348669472571647238340895413702455968634980140180898223297748344347932562466897070485678180138782977393289385691205389852721829924798418494749519575030375040827982787128055829692634422789845656561470532203624260881324290432649462820190633971101286244360394244314118640119230007761085129406052061601685496407042872612037401266602390236226872945643712938911496548242766490936171788085968450707628122611433831565924435860394362209779499788606966319808472971937759172740584153938094654860703058290276344546307517530974044552874301549344590538668789224408778235780374954132561252376048896750553766553717135574981507926971799627464550333117360254385979886425137410564464735318818432264886678774426049604515331343348138631518652437344258366729602207794513599621163914713819965118522773572110947197489465790592077347741766728172712226161190747128127 3465556950518073976472337341178475664019168273894005974426469959395140531510249516891622797408491267896480702672822542991177330599877552571972103243274431083647562174251419852300833425528371163783859469665953324337969819948531409335139606257112725036574670493647302073231452225791828500186661776480355911594864323611199504605071511700858785620093294162608002247660299146707956085099756824793555805628833882481678228855139162863993168360608892693648940197693933163215427497278567561109214461540899181308144938987210434260141933762904982307425844218752502120199051614355832203243801285095005881984805161183150723979838980591231816819686346387765302176907914989841667988082611551024659296419131167808672303488370443982955669348272484507493348422456273157337370476027935842390070361589719532351669317674404706467001857752543013556998237643453404899622840934240000161751664962290932842214163763368252292442869633369096894284571545685982265076930939417705635337197137564030898885650711899840744352037727246131867179188090992182159419967488324645133164609634772663314651784782418777076727642298220987613723816875742431982452731544914888042198288505143567386911184528222413744876 5607388935886681205583656091488131719945869312626712508997164146957157255788340352198338173766497988650572567866569537223086569981389364129880478996363599980067742166971675966792093410007851894891316420965855490854444284334550858476101062162600846042228644408505048721568224322654947176661433931713188367463710945414857774157170136049528258191740532503503415950116267781688096265997980122541900153561396349378748714533319301646970561649994583899038792919523857961633922246798142591484255289523686309363974631621633224105798495233437185931686725543042934769661871804989803304530045645489250196103445280413158485064968386643293418505182753430637914214309181592231904214955557194737598207915679410575163239660158529951406376976395095941324914346892133551699580255527724449356390170062691470110842058258558644561656718455601303833342783950970935873667393808541549506342203631080157250992399543743206425004122009417993644838338099403117840058438866389505262801747470681391153271630598324978154916502462564950299444074769766608209024482819667993271796128287210007573018514384626571590327263462135701433688935398516004093399929034380678634275636246910295559623410689413160873003 9072945886404755182055993432666607383965037586520718483423634106352297787298589869089960971174989256547053270539392080214263900581266916701852582239638031063715304341223095819092926835536223058675175890631808815192414104283082267811240668419713571078803314902152350794799676548446775676848095708193544279058575269026057278762241647750387043811833826666111418197776566928396052351097736947335455959190230231860426943388458464510963730010603476592687733117217791124849349744076710152593469751064585490672119570608843658365940428996342168239112569761795436889860923419345635507773846930584256078088250441596309209044807367234525235324869099818403216391217096582073572203038168745762257504334810578383835543148528973934362046324667580448818262769348406709036950731555660291746460531652411002462511375932963351028658576208144317390341021594424340773290234742781549668093868593371090093206563307111458717446991642787090539122909645089100105135369805807210898138944608245422052157281310224818899268540189811082166623262860758790368444450307992638404960737921982670887670299167045348667054905760356689047412752274258436075852660579295566676473924752053862946534595217635574617879 14680334822291436387639649524154739103910906899147430992420798253309455043086930221288299144941487245197625838405961617437350470562656280831733061236001631043783046508194771785885020245544074953566492311597664306046858388617633126287341730582314417121031959310657399516367900871101722853509529639906732646522286214440915052919411783799915302003574359169614834147892834710084148617095717069877356112751626581239175657921777766157934291660598060491726526036741649086483271990874852744077725040588271800036094202230476882471738924229779354170799295304838371659522795224335438812303892576073506274191695722009467694109775753877818653830051853249041130605526278174305476417993725940499855712250489988958998782808687503885768423301062676390143177116240540260736530987083384741102850701715102472573353434191521995590315294663745621223683805545395276646957628551323099174436072224451247344198962850854665142451113652205084183961247744492217945193808672196716160940692078926813205428911908549797054185042652376032466067337630525398577468933127660631676756866209192678460688813551671920257382169222492390481101687672774440169252589613676245310749560998964158506158005907048735490882 23753280708696191569695642956821346487875944485668149475844432359661752830385520090378260116116476501744679108945353697651614371143923197533585643475639662107498350849417867604977947081080298012241668202229473121239272492900715394098582399002027988199835274212809750311167577419548498530357625348100276925580861483466972331681653431550302345815408185835726252345669401638480200968193454017212812071941856813099602601310236230668898021671201537084414259153959440211332621734951562896671194791652857290708213772839320540837679353226121522409911865066633808549383718643681074320077739506657762352279946163605776903154583121112343889154920953067444346996743374756379048621031894686262113216585300567342834325957216477820130469625730256838961439885588946969773481718639045032849311233367513475035864810124485346618973870871889938614024827139819617420247863294104648842529940817822337437405526157966123859898105294992174723084157389581318050329178478003927059079636687172235257586193218774615953453582842187114632690600491284188945913383435653270081717604131175349348359112718717268924437074982849079528514439947032876245105250192971811987223485751018021452692601124684310108761 38433615530987627957335292480976085591786851384815580468265230612971207873472450311666559261057963746942304947351315315088964841706579478365318704711641293151281397357612639390862967326624372965808160513827137427286130881518348520385924129584342405320867233523467149827535478290650221383867154988007009572103147697907887384601065215350217647818982545005341086493562236348564349585289171087090168184693483394338778259232013996826832313331799597576140785190701089297815893725826415640748919832241129090744307975069797423309418277455900876580711160371472180208906513868016513132381632082731268626471641885615244597264358874990162542984972806316485477602269652930684525039025620626761968928835790556301833108765903981705898892926792933229104617001829487230510012705722429773952161935082615947609218244316007342209289165535635559837708632685214894067205491845427748016966013042273584781604489008820789002349218947197258907045405134073535995522987150200643220020328766099048463015105127324413007638625494563147098757938121809587523382316563313901758474470340368027809047926270389189181819244205341470009616127619807316414357839806648057297973046749982179958850607031733045599643 62186896239683819527030935437797432079662795870483729944109662972632960703857970402044819377174440248686984056296669012740579212850502675898904348187280955258779748207030506995840914407704670978049828716056610548525403374419063914484506528586370393520702507736276900138703055710198719914224780336107286497684009181374859716282718646900519993634390730841067338839231637987044550553482625104302980256635340207438380860542250227495730335003001134660555044344660529509148515460777978537420114623893986381452521747909117964147097630682022398990623025438105988758290232511697587452459371589389030978751588049221021500418941996102506432139893759383929824599013027687063573660057515313024082145421091123644667434723120459526029362552523190068066056887418434200283494424361474806801473168450129422645083054440492688828263036407525498451733459825034511487453355139532396859495953860095922219010015166786912862247324242189433630129562523654854045852165628204570279099965453271283720601298346099028961092208336750261731448538613093776469295699998967171840192074471543377157407038989106458106256319188190549538130567566840192659463089999619869285196532501000201411543208156417355708404 100620511770671447484366227918773517671449647255299310412374893585604168577330420713711378638232403995629289003647984327829544054557082154264223052898922248410061145564643146386703881734329043943857989229883747975811534255937412434870430658170712798841569741259744049966238534000848941298091935324114296069787156879282747100883783862250737641453373275846408425332793874335608900138771796191393148441328823601777159119774264224322562648334800732236695829535361618806964409186604394178169034456135115472196829722978915387456515908137923275571334185809578168967196746379714100584841003672120299605223229934836266097683300871092668975124866565700415302201282680617748098699083135939786051074256881679946500543489024441231928255479316123297170673889247921430793507130083904580753635103532745370254301298756500031037552201943161058289442092510249405554658846984960144876461966902369507000614504175607701864596543189386692537174967657728390041375152778405213499120294219370332183616403473423441968730833831313408830206476734903363992678016562281073598666544811911404966454965259495647288075563393532019547746695186647509073820929806267926583169579250982381370393815188150401308047 162807408010355267011397163356570949751112443125783040356484556558237129281188391115756198015406844244316273059944653340570123267407584830163127401086203203668840893771673653382544796142033714921907817945940358524336937630356476349354937186757083192362272248996020950104941589711047661212316715660221582567471166060657606817166502509151257635087764006687475764172025512322653450692254421295696128697964163809215539980316514451818292983337801866897250873880022148316112924647382372715589149080029101853649351470888033351603613538819945674561957211247684157725486978891411688037300375261509330583974817984057287598102242867195175407264760325084345126800295708304811672359140651252810133219677972803591167978212144900757957618031839313365236730776666355631077001554445379387555108271982874792899384353196992719865815238350686556741175552335283917042112202124492541735957920762465429219624519342394614726843867431576126167304530181383244087227318406609783778220259672641615904217701819522470929823042168063670561655015347997140461973716561248245438858619283454782123862004248602105394331882581722569085877262753487701733284019805887795868366111751982582781937023344567757016451 263427919781026714495763391275344467422562090381082350768859450143841297858518811829467576653639248239945562063592637668399667321964666984427350453985125452078902039336316799769248677876362758865765807175824106500148471886293888784225367844927795991203841990255765000071180123711896602510408650984335878637258322939940353918050286371401995276541137282533884189504819386658262350831026217487089277139292987410992699100090778676140855631672602599133946703415383767123077333833986766893758183536164217325846181193866948739060129446957868950133291397057262326692683725271125788622141378933629630189198047918893553695785543738287844382389626890784760429001578388922559771058223787192596184293934854483537668521701169341989885873511155436662407404665914277061870508684529283968308743375515620163153685651953492750903367440293847615030617644845533322596771049109452686612419887664834936220239023518002316591440410620962818704479497839111634128602471185014997277340553892011948087834105292945912898553875999377079391861492082900504454651733123529319037525164095366187090316969508097752682407445975254588633623957940135210807104949612155722451535691002964964152330838532718158324498 426235327791381981507160554631915417173674533506865391125344006702078427139707202945223774669046092484261835123537291008969790589372251814590477855071328655747742933107990453151793474018396473787673625121764465024485409516650365133580305031684879183566114239251785950176121713422944263722725366644557461204729489000597960735216788880553252911628901289221359953676844898980915801523280638782785405837257151220208239080407293127959148615010404466031197577295405915439190258481369139609347332616193319179495532664754982090663742985777814624695248608304946484418170704162537476659441754195138960773172865902950841293887786605483019789654387215869105555801874097227371443417364438445406317513612827287128836499913314242747843491542994750027644135442580632692947510238974663355863851647498494956053070005150485470769182678644534171771793197180817239638883251233945228348377808427300365439863542860396931318284278052538944871784028020494878215829789591624781055560813564653563992051807112468383828376918167440749953516507430897644916625449684777564476383783378820969214178973756699858076739328556977157719501220693622912540388969418043518319901802754947546934267861877285915340949 689663247572408696002923945907259884596236623887947741894203456845919724998226014774691351322685340724207397187129928677369457911336918799017828309056454107826644972444307252921042151894759232653439432297588571524633881402944253917805672876612675174769956229507550950247301837134840866233134017628893339841987811940538314653267075251955248188170038571755244143181664285639178152354306856269874682976550138631200938180498071804100004246683007065165144280710789682562267592315355906503105516152357536505341713858621930829723872432735683574828540005362208811110854429433663265281583133128768590962370913821844394989673330343770864172044014106653865984803452486149931214475588225638002501807547681770666505021614483584737729365054150186690051540108494909754818018923503947324172595023014115119206755657103978221672550118938381786802410842026350562235654300343397914960797696092135301660102566378399247909724688673501763576263525859606512344432260776639778332901367456665512079885912405414296726930794166817829345377999513798149371277182808306883513908947474187156304495943264797610759146774532231746353125178633758123347493919030199240771437493757912511086598700410004073665447 1115898575363790677510084500539175301769911157394813133019547463547998152137933217719915125991731433208469232310667219686339248500709170613608306164127782763574387905552297706072835625913155706441113057419353036549119290919594619051385977908297554358336070468759336900423423550557785129955859384273450801046717300941136275388483864132508501099798939860976604096858509184620093953877587495052660088813807289851409177260905364932059152861693411531196341858006195598001457850796725046112452848768550855684837246523376912920387615418513498199523788613667155295529025133596200741941024887323907551735543779724795236283561116949253883961698401322522971540605326583377302657892952664083408819321160509057795341521527797827485572856597144936717695675551075542447765529162478610680036446670512610075259825662254463692441732797582915958574204039207167801874537551577343143309175504519435667099966109238796179228008966726040708448047553880101390560262050368264559388462181021319076071937719517882680555307712334258579298894506944695794287902632493084447990292730853008125518674917021497468835886103089208904072626399327381035887882888448242759091339296512860058020866562287289989006396 1805561822936199373513008446446435186366147781282760874913750920393917877136159232494606477314416773932676629497797148363708706412046089412626134473184236871401032877996604958993877777807914939094552489716941608073753172322538872969191650784910229533106026698266887850670725387692625996188993401902344140888705112881674590041750939384463749287968978432731848240040173470259272106231894351322534771790357428482610115441403436736159157108376418596361486138716985280563725443112080952615558364920908392190178960381998843750111487851249181774352328619029364106639879563029864007222608020452676142697914693546639631273234447293024748133742415429176837525408779069527233872368540889721411321128708190828461846543142281412223302221651295123407747215659570452202583548085982558004209041693526725194466581319358441914114282916521297745376614881233518364110191851920741058269973200611570968760068675617195427137733655399542472024311079739707902904694311144904337721363548477984588151823631923296977282238506501076408644272506458493943659179815301391331504201678327195281823170860286295079595032877621440650425751577961139159235376807478441999862776790270772569107465262697294062671843 2921460398299990051023092946985610488136058938677574007933298383941916029274092450214521603306148207141145861808464368050047954912755260026234440637312019634975420783548902665066713403721070645535665547136294644622872463242133492020577628693207783891442097167026224751094148938250411126144852786175794941935422413822810865430234803516972250387767918293708452336898682654879366060109481846375194860604164718334019292702308801668218309970069830127557827996723180878565183293908805998728011213689459247875016206905375756670499103269762679973876117232696519402168904696626064749163632907776583694433458473271434867556795564242278632095440816751699809066014105652904536530261493553804820140449868699886257188064670079239708875078248440060125442891210645994650349077248461168684245488364039335269726406981612905606556015714104213703950818920440686165984729403498084201579148705131006635860034784855991606365742622125583180472358633619809293464956361513168897109825729499303664223761351441179657837546218835334987943167013403189737947082447794475779494494409180203407341845777307792548430918980710649554498377977288520195123259695926684758954116086783632627128331824984584051678239 4727022221236189424536101393432045674502206719960334882847049304335833906410251682709128080620564981073822491306261516413756661324801349438860575110496256506376453661545507624060591181528985584630218036853236252696625635564672364989769279478118013424548123865293112601764874325943037122333846188078139082824127526704485455471985742901435999675736896726440300576938856125138638166341376197697729632394522146816629408143712238404377467078446248723919314135440166159128908737020886951343569578610367640065195167287374600420610591121011861748228445851725883508808784259655928756386240928229259837131373166818074498830030011535303380229183232180876646591422884722431770402630034443526231461578576890714719034607812360651932177299899735183533190106870216446852932625334443726688454530057566060464192988300971347520670298630625511449327433801674204530094921255418825259849121905742577604620103460473187033503476277525125652496669713359517196369650672658073234831189277977288252375584983364476635119784725336411396587439519861683681606262263095867110998696087507398689165016637594087628025951858332090204924129555249659354358636503405126758816892877054405196235797087681878114350082 7648482619536179475559194340417656162638265658637908890780347688277749935684344132923649683926713188214968353114725884463804616237556609465095015747808276141351874445094410289127304585250056230165883583989530897319498098806805857010346908171325797315990221032319337352859023264193448248478698974253934024759549940527296320902220546418408250063504815020148752913837538780018004226450858044072924492998686865150648700846021040072595777048516078851477142132163347037694092030929692950071580792299826887940211374192750357091109694390774541722104563084422402910977688956281993505549873836005843531564831640089509366386825575777582012324624048932576455657436990375336306932891527997331051602028445590600976222672482439891641052378148175243658632998080862441503281702582904895372700018421605395733919395282584253127226314344729725153278252722114890696079650658916909461428270610873584240480138245329178639869218899650708832969028346979326489834607034171242131941015007476591916599346334805656292957330944171746384530606533264873419553344710890342890493190496687602096506862414901880176456870839042739759422507532538179549481896199331811517771008963838037823364128912666462166028321 12375504840772368900095295733849701837140472378598243773627396992613583842094595815632777764547278169288790844420987400877561277562357958903955590858304532647728328106639917913187895766779041814796101620842767150016123734371478222000116187649443810740538344897612449954623897590136485370812545162332073107583677467231781776374206289319844249739241711746589053490776394905156642392792234241770654125393209011967278108989733278476973244126962327575396456267603513196823000767950579901415150370910194528005406541480124957511720285511786403470333008936148286419786473215937922261936114764235103368696204806907583865216855587312885392553807281113453102248859875097768077335521562440857283063607022481315695257280294800543573229678047910427191823104951078888356214327917348622061154548479171456198112383583555600647896612975355236602605686523789095226174571914335734721277392516616161845100241705802365673372695177175834485465698060338843686204257706829315366772204285453880168974931318170132928077115669508157781118046053126557101159606973986210001491886584195000785671879052495967804482822697374829964346637087787838903840532702736938276587901840892443019599926000348340280378403 20023987460308548375654490074267357999778738037236152664407744680891333777778939948556427448473991357503759197535713285341365893799914568369050606606112808789080202551734328202315200352029098044961985204832298047335621833178284079010463095820769608056528565929931787307482920854329933619291244136586007132343227407759078097276426835738252499802746526766737806404613933685174646619243092285843578618391895877117926809835754318549569021175478406426873598399766860234517092798880272851486731163210021415945617915672875314602829979902560945192437572020570689330764162172219915767485988600240946900261036446997093231603681163090467404878431330046029557906296865473104384268413090438188334665635468071916671479952777240435214282056196085670850456103031941329859496030500253517433854566900776851932031778866139853775122927320084961755883939245903985922254222573252644182705663127489746085580379951131544313241914076826543318434726407318170176038864741000557498713219292930472085574277652975789221034446613679904165648652586391430520712951684876552891985077080882602882178741467397847980939693536417569723769144620326018453322428902068749794358910804730480842964054913014802446406724 32399492301080917275749785808117059836919210415834396438035141673504917619873535764189205213021269526792550041956700686218927171362272527273006197464417341436808530658374246115503096118808139859758086825675065197351745567549762301010579283470213418797066910827544237262106818444466418990103789298918080239926904874990859873650633125058096749541988238513326859895390328590331289012035326527614232743785104889085204918825487597026542265302440734002270054667370373431340093566830852752901881534120215943951024457153000272114550265414347348662770580956718975750550635388157838029422103364476050268957241253904677096820536750403352797432238611159482660155156740570872461603934652879045617729242490553232366737233072040978787511734243996098042279207983020218215710358417602139495009115379948308130144162449695454423019540295440198358489625769693081148428794487588378903983055644105907930680621656933909986614609254002377803900424467657013862243122447829872865485423578384352254549208971145922149111562283188061946766698639517987621872558658862762893476963665077603667850620519893815785422516233792399688115781708113857357162961604805688070946812645622923862563980913363142726785127 52423479761389465651404275882384417836697948453070549102442886354396251397652475712745632661495260884296309239492413971560293065162187095642056804070530150225888733210108574317818296470837237904720072030507363244687367400728046380021042379290983026853595476757476024569589739298796352609395033435504087372270132282749937970927059960796349249344734765280064666300004262275505935631278418813457811362177000766203131728661241915576111286477919140429143653067137233665857186365711125604388612697330237359896642372825875586717380245316908293855208152977289665081314797560377753796908091964716997169218277700901770328424217913493820202310669941205512218061453606043976845872347743317233952394877958625149038217185849281414001793790440081768892735311014961548075206388917855656928863682280725160062175941315835308198142467615525160114373565015597067070683017060841023086688718771595654016261001608065454299856523330828921122335150874975184038281987188830430364198642871314824340123486624121711370146008896867966112415351225909418142585510343739315785462040745960206550029361987291663766362209770209969411884926328439875810485390506874437865305723450353404705528035826377945173191851 84822972062470382927154061690501477673617158868904945540478028027901169017526011476934837874516530411088859281449114657779220236524459622915063001534947491662697263868482820433321392589645377764478158856182428442039112968277808681031621662761196445650662387585020261831696557743262771599498822734422167612197037157740797844577693085854445998886723003793391526195394590865837224643313745341072044105962105655288336647486729512602653551780359874431413707734507607097197279932541978357290494231450453303847666829978875858831930510731255642517978733934008640831865432948535591826330195329193047438175518954806447425244754663897172999742908552364994878216610346614849307476282396196279570124120449178381404954418921322392789305524684077866935014518997981766290916747335457796423872797660673468192320103765530762621162007910965358472863190785290148219111811548429401990671774415701561946941623264999364286471132584831298926235575342632197900525109636660303229684066449699176594672695595267633519257571180056028059182049865427405764458069002602078678939004411037810217879982507185479551784726004002369100000708036553733167648352111680125936252536095976328568092016739741087899976978 137246451823859848578558337572885895510315107321975494642920914382297420415178487189680470536011791295385168520941528629339513301686646718557119805605477641888585997078591394751139689060482615669198230886689791686726480369005855061052664042052179472504257864342496286401286297042059124208893856169926254984467169440490735815504753046650795248231457769073456192495398853141343160274592164154529855468139106421491468376147971428178764838258279014860557360801644840763054466298253103961679106928780690663744309202804751445549310756048163936373186886911298305913180230508913345623238287293910044607393796655708217753668972577390993202053578493570507096278063952658826153348630139513513522518998407803530443171604770603806791099315124159635827749830012943314366123136253313453352736479941398628254496045081366070819304475526490518587236755800887215289794828609270425077360493187297215963202624873064818586327655915660220048570726217607381938807096825490733593882709321014000934796182219389344889403580076923994171597401091336823907043579346341394464401045156998016767909344494477143318146935774212338511885634364993608978133742618554563801558259546329733273620052566119033073168829 222069423886330231505712399263387373183932266190880440183398942410198589432704498666615308410528321706474027802390643287118733538211106341472182807140425133551283260947074215184461081650127993433676389742872220128765593337283663742084285704813375918154920251927516548232982854785321895808392678904348422596664206598231533660082446132505241247118180772866847718690793444007180384917905909495601899574101212076779805023634700940781418390038638889291971068536152447860251746230795082318969601160231143967591976032783627304381241266779419578891165620845306946745045663457448937449568482623103092045569315610514665178913727241288166201796487045935501974494674299273675460824912535709793092643118856981911848126023691926199580404839808237502762764349010925080657039883588771249776609277602072096446816148846896833440466483437455877060099946586177363508906640157699827068032267602998777910144248138064182872798788500491518974806301560239579839332206462151036823566775770713177529468877814656978408661151256980022230779450956764229671501648348943473143340049568035826985789327001662622869931661778214707611886342401547342145782094730234689737810795642306061841712069305860120973145807 359315875710190080084270736836273268694247373512855934826319856792496009847882985856295778946540113001859196323332171916458246839897753060029302612745902775439869258025665609935600770710610609102874620629562011815492073706289518803136949746865555390659178116270012834634269151827381020017286535074274677581131376038722269475587199179156036495349638541940303911186192297148523545192498073650131755042240318498271273399782672368960183228296917904152528429337797288623306212529048186280648708089011834631336285235588378749930552022827583515264352507756605252658225893966362283072806769917013136652963112266222882932582699818679159403850065539506009070772738251932501614173542675223306615162117264785442291297628462530006371504154932397138590514179023868395023163019842084703129345757543470724701312193928262904259770958963946395647336702387064578798701468766970252145392760790295993873346873011129001459126444416151739023377027777846961778139303287641770417449485091727178464265060034046323298064731333904016402376852048101053578545227695284867607741094725033843753698671496139766188078597552427046123771976766540951123915837348789253539369055188635795115332121871979154046314636 581385299596520311589983136099660641878179639703736375009718799202694599280587484522911087357068434708333224125722815203576980378108859401501485419886327908991152518972739825120061852360738602536551010372434231944257667043573182545221235451678931308814098368197529382867252006612702915825679213978623100177795582636953803135669645311661277742467819314807151629876985741155703930110403983145733654616341530575051078423417373309741601618335556793444499497873949736483557958759843268599618309249242978598928261268372006054311793289607003094155518128601912199403271557423811220522375252540116228698532427876737548111496427059967325605646552585441511045267412551206177074998455210933099707805236121767354139423652154456205951908994740634641353278528034793475680202903430855952905955035145542821148128342775159737700237442401402272707436648973241942307608108924670079213425028393294771783491121149193184331925232916643257998183329338086541617471509749792807241016260862440355993733937848703301706725882590884038633156303004865283250046876044228340751081144293069670739487998497802389058010259330641753735658319168088293269697932079023943277179850830941856957044191177839275019460443 940701175306710391674253872935933910572427013216592309836038655995190609128470470379206866303608547710192420449054987120035227218006612461530788032632230684431021776998405435055662623071349211639425631001996243759749740749862701348358185198544486699473276484467542217501521158440083935842965749052897777758926958675676072611256844490817314237817457856747455541063178038304227475302902056795865409658581849073322351823200045678701784846632474697597027927211747025106864171288891454880267017338254813230264546503960384804242345312434586609419870636358517452061497451390173503595182022457129365351495540142960431044079126878646485009496618124947520116040150803138678689171997886156406322967353386552796430721280616986212323413149673031779943792707058661870703365923272940656035300792689013545849440536703422641960008401365348668354773351360306521106309577691640331358817789183590765656837994160322185791051677332794997021560357115933503395610813037434577658465745954167534457998997882749625004790613924788055035533155052966336828592103739513208358822239018103514493186669993942155246088856883068799859430295934629244393613769427813196816548906019577652072376313049818429065775079 1522086474903230703264237009035594552450606652920328684845757455197885208409057954902117953660676982418525644574777802323612207596115471863032273452518558593422174295971145260175724475432087814175976641374430475704007407793435883893579420650223418008287374852665071600368773165052786851668644963031520877936722541312629875746926489802478591980285277171554607170940163779459931405413306039941599064274923379648373430246617418988443386464968031491041527425085696761590422130048734723479885326587497791829192807772332390858554138602041589703575388764960429651464769008813984724117557274997245594050027968019697979155575553938613810615143170710389031161307563354344855764170453097089506030772589508320150570144932771442418275322144413666421297071235093455346383568826703796608941255827834556366997568879478582379660245843766750941062210000333548463413917686616310410572242817576885537440329115309515370122976910249438255019743686454020045013082322787227384899482006816607890451732935731452926711516496515672093668689458057831620078638979783741549109903383311173185232674668491744544304099116213710553595088615102717537663311701506837140093728756850519509029420504227657704085235522 2462787650209941094938490881971528463023033666136920994681796111193075817537528425281324819964285530128718065023832789443647434814122084324563061485150789277853196072969550695231387098503437025815402272376426719463757148543298585241937605848767904707760651337132613817870294323492870787511610712084418655695649499988305948358183334293295906218102735028302062712003341817764158880716208096737464473933505228721695782069817464667145171311600506188638555352297443786697286301337626178360152343925752605059457354276292775662796483914476176312995259401318947103526266460204158227712739297454374959401523508162658410199654680817260295624639788835336551277347714157483534453342450983245912353739942894872947000866213388428630598735294086698201240863942152117217086934749976737264976556620523569912847009416182005021620254245132099609416983351693854984520227264307950741931060606760476303097167109469837555914028587582233252041304043569953548408693135824661962557947752770775424909731933614202551716307110440460148704222613110797956907231083523254757468725622329276699725861338485686699550187973096779353454518911037346782056925470934650336910277662870097161101796817277476133151010601 3984874125113171798202727891007123015473640319057249679527553566390961025946586380183442773624962512547243709598610591767259642410237556187595334937669347871275370368940695955407111573935524839991378913750857195167764556336734469135517026498991322716048026189797685418239067488545657639180255675115939533632372041300935824105109824095774498198388012199856669882943505597224090286129514136679063538208428608370069212316434883655588557776568537679680082777383140548287708431386360901840037670513250396888650162048625166521350622516517766016570648166279376754991035469018142951830296572451620553451551476182356389355230234755874106239782959545725582438655277511828390217512904080335418384512532403193097571011146159871048874057438500364622537935177245572563470503576680533873917812448358126279844578295660587401280500088898850550479193352027403447934144950924261152503303424337361840537496224779352926037005497831671507061047730023973593421775458611889347457429759587383315361464869345655478427823606956132242372912071168629576985870063306996306578629005640449884958536006977431243854287089310489907049607526140064319720237172441487477004006419720616670131217321505133837236246123 6447661775323112893141218772978651478496673985194170674209349677584036843484114805464767593589248042675961774622443381210907077224359640512158396422820137149128566441910246650638498672438961865806781186127283914631521704880033054377454632347759227423808677526930299236109361812038528426691866387200358189328021541289241772463293158389070404416490747228158732594946847414988249166845722233416528012141933837091764994386252348322733729088169043868318638129680584334984994732723987080200190014439003001948107516324917942184147106430993942329565907567598323858517301929222301179543035869905995512853074984345014799554884915573134401864422748381062133716002991669311924670855355063581330738252475298066044571877359548299679472792732587062823778799119397689780557438326657271138894369068881696192691587711842592422900754334030950159896176703721258432454372215232211894434364031097838143634663334249190481951034085413904759102351773593927141830468594436551310015377512358158740271196802959858030144130717396592391077134684279427533893101146830251064047354627969726584684397345463117943404475062407269260504126437177411101777162643376137813914284082590713831233014138782609970387256724 10432535900436284691343946663985774493970314304251420353736903243974997869430701185648210367214210555223205484221053972978166719634597196699753731360489485020403936810850942606045610246374486705798160099878141109799286261216767523512971658846750550139856703716727984654348429300584186065872122062316297722960393582590177596568402982484844902614878759428015402477890353012212339452975236370095591550350362445461834206702687231978322286864737581547998720907063724883272703164110347982040227684952253398836757678373543108705497728947511708346136555733877700613508337398240444131373332442357616066304626460527371188910115150329008508104205707926787716154658269181140314888368259143916749122765007701259142142888505708170728346850171087427446316734296643262344027941903337805012812181517239822472536166007503179824181254422929800710375370055748661880388517166156473046937667455435199984172159559028543407988039583245576266163399503617900735252244053048440657472807271945542055632661672305513508571954324352724633450046755448057110878971210137247370625983633610176469642933352440549187258762151717759167553733963317475421497399815817625290918290502311330501364231460287743807623502847 16880197675759397584485165436964425972466988289445591027946252921559034712914815991112977960803458597899167258843497354189073796858956837211912127783309622169532503252761189256684108918813448571604941286005425024430807966096800577890426291194509777563665381243658283890457791112622714492563988449516655912288415123879419369031696140873915307031369506656174135072837200427200588619820958603512119562492296282553599201088939580301056015952906625416317359036744309218257697896834335062240417699391256400784865194698461050889644835378505650675702463301476024472025639327462745310916368312263611579157701444872385988465000065902142909968628456307849849870661260850452239559223614207498079861017482999325186714765865256470407819642903674490270095533416040952124585380229995076151706550586121518665227753719345772247082008756960750870271546759469920312842889381388684941372031486533038127806822893277733889939073668659481025265751277211827877082712647484991967488184784303700795903858475265371538716085041749317024527181439727484644772072356967498434673338261579903054327330697903667130663237214125028428057860400494886523274562459193763104832574584902044332597245599070353778010759571 27312733576195682275829112100950200466437302593697011381683156165534032582345517176761188328017669153122372743064551327167240516493554033911665859143799107189936440063612131862729719165187935277403101385883566134230094227313568101403397950041260327703522084960386268544806220413206900558436110511832953635248808706469596965600099123358760209646248266084189537550727553439412928072796194973607711112842658728015433407791626812279378302817644206964316079943808034101530401060944683044280645384343509799621622873072004159595142564326017359021839019035353725085533976725703189442289700754621227645462327905399757177375115216231151418072834164234637566025319530031592554447591873351414828983782490700584328857654370964641136166493074761917716412267712684214468613322133332881164518732103361341137763919726848952071263263179890551580646916815218582193231406547545157988309698941968238111978982452306277297927113251905057291429150780829728612334956700533432624960992056249242851536520147570885047288039366102041657977228195175541755651043567104745805299321895190079523970264050344216317921999365842787595611594363812361944771962275011388395750865087213374833961477059358097585634262418 44192931251955079860314277537914626438904290883142602409629409087093067295260333167874166288821127751021540001908048681356314313352510871123577986927108729359468943316373321119413828084001383849008042671888991158660902193410368679293824241235770105267187466204044552435264011525829615051000098961349609547537223830349016334631795264232675516677617772740363672623564753866613516692617153577119830675334955010569032608880566392580434318770550832380633438980552343319788098957779018106521063083734766200406488067770465210484787399704523009697541482336829749557559616053165934753206069066884839224620029350272143165840115282133294328041462620542487415895980790882044794006815487558912908844799973699909515572420236221111543986135978436407986507801128725166593198702363327957316225282689482859802991673446194724318345271936851302450918463574688502506074295928933842929681730428501276239785805345584011187866186920564538316694902058041556489417669348018424592449176840552943647440378622836256586004124407851358682504409634903026400423115924072244239972660156769982578297594748247883448585236579967816023669454764307248468046524734205151500583439672115419166558722658428451363645021989 71505664828150762136143389638864826905341593476839613791312565252627099877605850344635354616838796904143912744972600008523554829846064905035243846070907836549405383379985452982143547249189319126411144057772557292890996420723936780697222191277030432970709551164430820980070231939036515609436209473182563182786032536818613300231894387591435726323866038824553210174292307306026444765413348550727541788177613738584466016672193204859812621588195039344949518924360377421318500018723701150801708468078276000028110940842469370079929964030540368719380501372183474643093592778869124195495769821506066870082357255671900343215230498364445746114296784777124981921300320913637348454407360910327737828582464400493844430074607185752680152629053198325702920068841409381061812024496660838480744014792844200940755593173043676389608535116741854031565380389907084699305702476479000917991429370469514351764787797890288485793300172469595608124052838871285101752626048551857217410168896802186498976898770407141633292163773953400340481637830078568156074159491176990045271982051960062102267858798592099766507235945810603619281049128119610412818487009216539896334304759328794000520199717786548949279284407 115698596080105841996457667176779453344245884359982216200941974339720167172866183512509520905659924655165452746880648689879869143198575776158821832998016565908874326696358774101557375333190702975419186729661548451551898614134305459991046432512800538237897017368475373415334243464866130660436308434532172730323256367167629634863689651824111243001483811564916882797857061172639961458030502127847372463512568749153498625552759597440246940358745871725582957904912720741106598976502719257322771551813042200434599008612934580564717363735063378416921983709013224200653208832035058948701838888390906094702386605944043509055345780497740074155759405319612397817281111795682142461222848469240646673382438100403360002494843406864224138765031634733689427869970134547655010726859988795796969297482327060743747266619238400707953807053593156482483843964595587205379998405412843847673159798970790591550593143474299673659487093034133924818954896912841591170295396570281809859345737355130146417277393243398219296288181804759022986047464981594556497275415249234285244642208730044680565453546839983215092472525778419642950503892426858880865011743421691396917744431444213167078922376215000312924306396 187204260908256604132601056815644280249587477836821829992254539592347267050472033857144875522498721559309365491853248698403423973044640681194065679068924402458279710076344227083700922582380022101830330787434105744442895034858242240688268623789830971208606568532906194395404475403902646269872517907714735913109288903986242935095584039415546969325349850389470092972149368478666406223443850678574914251690182487737964642224952802300059561946940911070532476829273098162425098995226420408124480019891318200462709949455403950644647327765603747136302485081196698843746801610904183144197608709896972964784743861615943852270576278862185820270056190096737379738581432709319490915630209379568384501964902500897204432569450592616904291394084833059392347938811543928716822751356649634277713312275171261684502859792282077097562342170335010514049224354502671904685700881891844765664589169440304943315380941364588159452787265503729532943007735784126692922921445122139027269514634157316645394176163650539852588451955758159363467685295060162712571434906426224330516624260690106782833312345432082981599708471589023262231553020546469293683498752638231293252049190773007167599122094001549262203590803 302902856988362446129058723992423733593833362196804046193196513932067434223338217369654396428158646214474818238733897388283293116243216457352887512066940968367154036772703001185258297915570725077249517517095654195994793648992547700679315056302631509446503585901381567810738718868768776930308826342246908643432545271153872569959273691239658212326833661954386975770006429651306367681474352806422286715202751236891463267777712399740306502305686782796115434734185818903531697971729139665447251571704360400897308958068338531209364691500667125553224468790209923044400010442939242092899447598287879059487130467559987361325922059359925894425815595416349777555862544505001633376853057848809031175347340601300564435064293999481128430159116467793081775808781678476371833478216638430074682609757498322428250126411520477805516149223928166996533068319098259110065699287304688613337748968411095534865974084838887833112274358537863457761962632696968284093216841692420837128860371512446791811453556893938071884740137562918386453732760041757269068710321675458615761266469420151463398765892272066196692180997367442905182056912973328174548510496059922690169793622217220334678044470216549575127897199 490107117896619050261659780808068013843420840033625876185451053524414701273810251226799271950657367773784183730587146086686717089287857138546953191135865370825433746849047228268959220497950747179079848304529759940437688683850789941367583680092462480655110154434287762206143194272671423200181344249961644556541834175140115505054857730655205181652183512343857068742155798129972773904918203484997200966892933724629427910002665202040366064252627693866647911563458917065956796966955560073571731591595678601360018907523742481854012019266270872689526953871406621888146812053843425237097056308184852024271874329175931213596498338222111714695871785513087157294443977214321124292483267228377415677312243102197768867633744592098032721553201300852474123747593222405088656229573288064352395922032669584112752986203802554903078491394263177510582292673600931014751400169196533379002338137851400478181355026203475992565061624041592990704970368481094977016138286814559864398375005669763437205629720544477924473192093321077749921418055101919981640145228101682946277890730110258246232078237704149178291889468956466167413609933519797468232009248698153983421842812990227502277166564218098837331488002 793009974884981496390718504800491747437254202230429922378647567456482135497148468596453668378816013988259001969321043474970010205531073595899840703202806339192587783621750229454217518413521472256329365821625414136432482332843337642046898736395093990101613740335669330016881913141440200130490170592208553199974379446293988075014131421894863393979017174298244044512162227781279141586392556291419487682095684961520891177780377601780672566558314476662763346297644735969488494938684699739018983163300039002257327865592081013063376710766937998242751422661616544932546822496782667329996503906472731083759004796735918574922420397582037609121687380929436934850306521719322757669336325077186446852659583703498333302698038591579161151712317768645555899556374900881460489707789926494427078531790167906541003112615323032708594640618191344507115360992699190124817099456501221992340087106262496013047329111042363825677335982579456448466933001178063261109355128506980701527235377182210229017083277438415996357932230883996136375150815143677250708855549777141562039157199530409709630844129976215374984070466323909072595666846493125642780519744758076673591636435207447836955211034434648412459385201 1283117092781600546652378285608559761280675042264055798564098620980896836770958719823252940329473381762043185699908189561656727294818930734446793894338671710018021530470797457723176738911472219435409214126155174076870171016694127583414482416487556470756723894769957092223025107414111623330671514842170197756516213621434103580068989152550068575631200686642101113254318025911251915491310759776416688648988618686150319087783042803821038630810942170529411257861103653035445291905640259812590714754895717603617346773115823494917388730033208870932278376533023166820693634550626092567093560214657583108030879125911849788518918735804149323817559166442524092144750498933643881961819592305563862529971826805696102170331783183677193873265519069498030023303968123286549145937363214558779474453822837490653756098819125587611673132012454522017697653666300121139568499625697755371342425244113896491228684137245839818242397606621049439171903369659158238125493415321540565925610382851973666222712997982893920831124324205073886296568870245597232349000777878824508317047929640667955862922367680364553275959935280375240009276780012923111012528993456230657013479248197675339232377598652747249790873203 2076127067666582043043096790409051508717929244494485720942746188437378972268107188419706608708289395750302187669229233036626737500350004330346634597541478049210609314092547687177394257324993691691738579947780588213302653349537465225461381152882650460858337635105626422239907020555551823461161685434378750956490593067728091655083120574444931969610217860940345157766480253692531057077703316067836176331084303647671210265563420405601711197369256647192174604158748389004933786844324959551609697918195756605874674638707904507980765440800146869175029799194639711753240457047408759897090064121130314191789883922647768363441339133386186932939246547371961026995057020652966639631155917382750309382631410509194435473029821775256355024977836838143585922860343024168009635645153141053206552985613005397194759211434448620320267772630645866524813014658999311264385599082198977363682512350376392504276013248288203643919733589200505887638836370837221499234848543828521267452845760034183895239796275421309917189056555089070022671719685389274483057856327655966070356205129171077665493766497656579928260030401604284312604943626506048753793048738214307330605115683405123176187588633087395662250258404 3359244160448182589695475076017611269998604286758541519506844809418275809039065908242959549037762777512345373369137422598283464795168935064793428491880149759228630844563345144900570996236465911127147794073935762290172824366231592808875863569370206931615061529875583514462932127969663446791833200276548948713006806689162195235152109726995000545241418547582446271020798279603782972569014075844252864980072922333821529353346463209422749828180198817721585862019852042040379078749965219364200412673091474209492021411823728002898154170833355740107308175727662878573934091598034852464183624335787897299820763048559618151960257869190336256756805713814485119139807519586610521592975509688314171912603237314890537643361604958933548898243355907641615946164311147454558781582516355611986027439435842887848515310253574207931940904643100388542510668325299432403954098707896732735024937594490288995504697385534043462162131195821555326810739740496379737360341959150061833378456142886157561462509273404203838020180879294143908968288555634871715406857105534790578673253058811745621356688865336944481535990336884659552614220406518971864805577731670537987618594931602798515419966231740142912041131607 5435371228114764632738571866426662778716533531253027240449590997855654781307173096662666157746052173262647561038366655634910202295518939395140063089421627808439240158655892832077965253561459602818886374021716350503475477715769058034337244722252857392473399164981209936702839148525215270252994885710927699669497399756890286890235230301439932514851636408522791428787278533296314029646717391912089041311157225981492739618909883615024461025549455464913760466178600431045312865594290178915810110591287230815366696050531632510878919611633502609282337974922302590327174548645443612361273688456918211491610646971207386515401597002576523189696052261186446146134864540239577161224131427071064481295234647824084973116391426734189903923221192745785201869024654171622568417227669496665192580425048848285043274521688022828252208677273746255067323682984298743668339697790095710098707449944866681499780710633822247106081864785022061214449576111333601236595190502978583100831301902920341456702305548825513755209237434383213931640008241024146198464713433190756649029458187982823286850455362993524409796020738488943865219164033025020618598626469884845318223710615007921691607554864827538574291390011 8794615388562947222434046942444274048715137818011568759956435807273930590346239004905625706783814950774992934407504078233193667090687874459933491581301777567667871003219237976978536249797925513946034168095652112793648302082000650843213108291623064324088460694856793451165771276494878717044828085987476648382504206446052482125387340028434933060093054956105237699808076812900097002215731467756341906291230148315314268972256346824447210853729654282635346328198452473085691944344255398280010523264378705024858717462355360513777073782466858349389646150649965468901108640243478464825457312792706108791431410019767004667361854871766859446452857975000931265274672059826187682817106936759378653207837885138975510759753031693123452821464548653426817815188965319077127198810185852277178607864484691172891789831941597036184149581916846643609834351309598176072293796497992442833732387539356970495285408019356290568243995980843616541260315851829980973955532462128644934209758045806499018164814822229717593229418313677357840608296796659017913871570538725547227702711246794568908207144228330468891332011075373603417833384439543992483404204201555383305842305546610720207027521096567681486332521618 14229986616677711855172618808870936827431671349264596000406026805129585371653412101568291864529867124037640495445870733868103869386206813855073554670723405376107111161875130809056501503359385116764920542117368463297123779797769708877550353013875921716561859859838003387868610425020093987297822971698404348052001606202942769015622570329874865574944691364628029128595355346196411031862448859668430947602387374296807008591166230439471671879279109747549106794377052904131004809938545577195820633855665935840225413512886993024655993394100360958671984125572268059228283188888922077186731001249624320283042056990974391182763451874343382636148910236187377411409536600065764844041238363830443134503072532963060483876144458427313356744685741399212019684213619490699695616037855348942371188289533539457935064353629619864436358259190592898677158034293896919740633494288088152932439837484223651995066118653178537674325860765865677755709891963163582210550722965107228035041059948726840474867120371055231348438655748060571772248305037683164112336283971916303876732169434777392195057599591323993301128031813862547283052548472569013102002830671440228624066016161618641898635075961395220060623911629 23024602005240659077606665751315210876146809167276164760362462612403515961999651106473917571313682074812633429853374812101297536476894688315007046252025182943774982165094368786035037753157310630710954710213020576090772081879770359720763461305498986040650320554694796839034381701514972704342651057685880996434505812648995251141009910358309798635037746320733266828403432159096508034078180327424772853893617522612121277563422577263918882733008764030184453122575505377216696754282800975475831157120044640865084130975242353538433067176567219308061630276222233528129391829132400542012188314042330429074473467010741395850125306746110242082601768211188308676684208659891952526858345300589821787710910418102035994635897490120436809566150290052638837499402584809776822814848041201219549796154018230630826854185571216900620507841107439542286992385603495095812927290786080595766172225023580622490351526672534828242569856746709294296970207814993563184506255427235872969250817994533339493031935193284948941668074061737929612856601834342182026207854510641851104434880681571961103264743819654462192460042889236150700885932912113005585407034872995611929908321708229362105662597057962901546956433247 37254588621918370932779284560186147703578480516540760760768489417533101333653063208042209435843549198850273925299245545969401405863101502170080600922748588319882093326969499595091539256516695747475875252330389039387895861677540068598313814319374907757212180414532800226902992126535066691640474029384285344486507418851938020156632480688184664209982437685361295956998787505292919065940629187093203801496004896908928286154588807703390554612287873777733559916952558281347701564221346552671651790975710576705309544488129346563089060570667580266733614401794501587357675018021322619198919315291954749357515524001715787032888758620453624718750678447375686088093745259957717370899583664420264922213982951065096478512041948547750166310836031451850857183616204300476518430885896550161920984443551770088761918539200836765056866100298032440964150419897392015553560785074168748698612062507804274485417645325713365916895717512574972052680099778157145395056978392343101004291877943260179967899055564340180290106729809798501385104906872025346138544138482558154981167050116349353298322343410978455493588074703098697983938481384682018687409865544435840553974337869848004004297673019358121607580344876 60279190627159030010385950311501358579725289683816925521130952029936617295652714314516127007157231273662907355152620358070698942339996190485087647174773771263657075492063868381126577009674006378186829962543409615478667943557310428319077275624873893797862500969227597065937373828050039395983125087070166340921013231500933271297642391046494462845020184006094562785402219664389427100018809514517976655389622419521049563718011384967309437345296637807918013039528063658564398318504147528147482948095755217570393675463371700101522127747234799574795244678016735115487066847153723161211107629334285178431988991012457182883014065366563866801352446658563994764777953919849669897757928965010086709924893369167132473147939438668186975876986321504489694683018789110253341245733937751381470780597570000719588772724772053665677373941405471983251142805500887111366488075860249344464784287531384896975769171998248194159465574259284266349650307593150708579563233819578973973542695937793519460930990757625129231774803871536430997961508706367528164751992993200006085601930797921314401587087230632917686048117592334848684824414296795024272816900417431452483882659578077366109960270077321023154536778123 97533779249077400943165234871687506283303770200357686281899441447469718629305777522558336443000780472513181280451865904040100348203097692655168248097522359583539168819033367976218116266190702125662705214873798654866563805234850496917391089944248801555074681383760397292840365954585106087623599116454451685407520650352871291454274871734679127055002621691455858742401007169682346165959438701611180456885627316429977849872600192670699991957584511585651572956480621939912099882725494080819134739071465794275703219951501046664611188317902379841528859079811236702844741865175045780410026944626239927789504515014172969915902823987017491520103125105939680852871699179807387268657512629430351632138876320232228951659981387215937142187822352956340551866634993410729859676619834301543391765041121770808350691263972890430734240041703504424215293225398279126920048860934418093163396350039189171461186817323961560076361291771859238402330407371307853974620212211922074977834573881053699428830046321965309521881533681334932383066415578392874303296131475758161066768980914270667699909430641611373179636192295433546668762895681477042960226765961867293037856997447925370114257943096679144762117122999 157812969876236430953551185183188864863029059884174611803030393477406335924958491837074463450158011746176088635604486262110799290543093883140255895272296130847196244311097236357344693275864708503849535177417208270345231748792160925236468365569122695352937182352987994358777739782635145483606724203524618026328533881853804562751917262781173589900022805697550421527803226834071773265978248216129157112275249735951027413590611577638009429302881149393569585996008685598476498201229641608966617687167221011846096895414872746766133316065137179416324103757827971818331808712328768941621134573960525106221493506026630152798916889353581358321455571764503675617649653099657057166415441594440438342063769689399361424807920825884124118064808674460830246549653782520983200922353772052924862545638691771527939463988744944096411613983108976407466436030899166238286536936794667437628180637570574068436955989322209754235826866031143504751980714964458562554183446031501048951377269818847218889761037079590438753656337552871363381027924284760402468048124468958167152370911712191982101496517872244290865684309887768395353587309978272067233043666379298745521739657026002736224218213174000167916653901122 255346749125313831896716420054876371146332830084532298084929834924876054554264269359632799893158792218689269916056352166150899638746191575795424143369818490430735413130130604333562809542055410629512240392291006925211795554027011422153859455513371496908011863736748391651618105737220251571230323319979069711736054532206675854206192134515852716955025427389006280270204234003754119431937686917740337569160877052381005263463211770308709421260465660979221158952489307538388598083955135689785752426238686806121800115366373793430744504383039559257852962837639208521176550577503814722031161518586765034010998021040803122714819713340598849841558696870443356470521352279464444435072954223870789974202646009631590376467902213100061260252631027417170798416288775931713060598973606354468254310679813542336290155252717834527145854024812480831681729256297445365206585797729085530791576987609763239898142806646171314312188157803002743154311122335766416528803658243423123929211843699900918318591083401555748275537871234206295764094339863153276771344255944716328219139892626462649801405948513855664045320502183201942022350205659749110193270432341166038559596654473928106338476156270679312678771024121 413159719001550262850267605238065236009361889968706909887960228402282390479222761196707263343316803964865358551660838428261698929289285458935680038642114621277931657441227840690907502817920119133361775569708215195557027302819172347390327821082494192260949046089736386010395845519855397054837047523503687738064588414060480416958109397297026306855048233086556701798007460837825892697915935133869494681436126788332032677053823347946718850563346810372790744948497993136865096285184777298752370113405907817967897010781246540196877820448176738674177066595467180339508359289832583663652296092547290140232491527067433275513736602694180208163014268634947032088171005379121501601488395818311228316266415699030951801275823038984185378317439701878001044965942558452696261521327378407393116856318505313864229619241462778623557468007921457239148165287196611603493122734523752968419757625180337308335098795968381068548015023834146247906291837300224979082987104274924172880589113518748137208352120481146187029194208787077659145122264147913679239392380413674495371510804338654631902902466386099954911004812070970337375937515638021177426314098720464784081336311499930842562694369444679480595424925243 668506468126864094746984025292941607155694720053239207972890063327158445033487030556340063236475596183554628467717190594412598568035477034731104182011933111708667070571358445024470312359975529762874015961999222120768822856846183769544187276595865689168960909826484777662013951257075648626067370843482757449800642946267156271164301531812879023810073660475562982068211694841580012129853622051609832250597003840713037940517035118255428271823812471352011903900987300675253694369139912988538122539644594624089697126147620333627622324831216297932030029433106388860684909867336398385683457611134055174243489548108236398228556316034779058004572965505390388558692357658585946036561350042182018290469061708662542177743725252084246638570070729295171843382231334384409322120300984761861371166998318856200519774494180613150703322032733938070829894543494056968699708532252838499211334612790100548233241602614552382860203181637148991060602959635991395611790762518347296809800957218649055526943203882701935304732080021283954909216604011066956010736636358390823590650696965117281704308414899955618956325314254172279398287721297770287619584531061630822640932965973858948901170525715358793274195949364 1081666187128414357597251630531006843165056610021946117860850291729440835512709791753047326579792400148419987019378029022674297497324762493666784220654047732986598728012586285715377815177895648896235791531707437316325850159665356116934515097678359881429909955916221163672409796776931045680904418366986445187865231360327636688122410929109905330665121893562119683866219155679405904827769557185479326932033130629045070617570858466202147122387159281724802648849485293812118790654324690287290492653050502442057594136928866873824500145279393036606207096028573569200193269157168982049335753703681345314475981075175669673742292918728959266167587234140337420646863363037707447638049745860493246606735477407693493979019548291068432016887510431173172888348173892837105583641628363169254488023316824170064749393735643391774260790040655395309978059830690668572192831266776591467631092237970437856568340398582933451408218205471295238966894796936216374694777866793271469690390070737397192735295324363848122333926288808361614054338868158980635250129016772065318962161501303771913607210881286055573867330126325142616774225236935791465045898629782095606722269277473789791463864895160038273869620874607 1750172655255278452344235655823948450320751330075185325833740355056599280546196822309387389816267996331974615487095219617086896065360239528397888402665980844695265798583944730739848127537871178659109807493706659437094673016511539886478702374274225570598870865742705941334423748034006694306971789210469202637665874306594792959286712460922784354475195554037682665934430850520985916957623179237089159182630134469758108558087893584457575394210971753076814552750472594487372485023464603275828615192695097066147291263076487207452122470110609334538237125461679958060878179024505380435019211314815400488719470623283906071970849234763738324172160199645727809205555720696293393674611095902675264897204539116356036156763273543152678655457581160468344731730405227221514905761929347931115859190315143026265269168229824004924964112073389333380807954374184725540892539799029429966842426850760538404801582001197485834268421387108444230027497756572207770306568629311618766500191027956046248262238528246550057638658368829645568963555472170047591260865653130456142552812198268889195311519296186011192823655440579314896172512958233561752665483160843726429363202243447648740365035420875397067143816823971 2831838842383692809941487286354955293485807940097131443694590646786040116058906614062434716396060396480394602506473248639761193562685002022064672623320028577681864526596531016455225942715766827555345599025414096753420523176176896003413217471952585452028780821658927105006833544810937739987876207577455647825531105666922429647409123390032689685140317447599802349800650006200391821785392736422568486114663265098803179175658752050659722516598131034801617201599957888299491275677789293563119107845745599508204885400005354081276622615390002371144444221490253527261071448181674362484354965018496745803195451698459575745713142153492697590339747433786065229852419083734000841312660841763168511503940016524049530135782821834221110672345091591641517620078579120058620489403557711100370347213631967196330018561965467396699224902114044728690786014204875394113085371065806021434473519088730976261369922399780419285676639592579739468994392553508424145001346496104890236190581098693443440997533852610398179972584657638007183017894340329028226510994669902521461514973699572661108918730177472066766690985566904457512946738195169353217711381790625822036085471520921438531828900316035435341013437698578 4582011497638971262285722942178903743806559270172316769528331001842639396605103436371822106212328392812369217993568468256848089628045241550462561025986009422377130325180475747195074070253638006214455406519120756190515196192688435889891919846226811022627651687401633046341257292844944434294847996787924850463196979973517222606695835850955474039615513001637485015735080856721377738743015915659657645297293399568561287733746645635117297910809102787878431754350430482786863760701253896838947723038440696574352176663081841288728745085500611705682681346951933485321949627206179742919374176333312146291914922321743481817683991388256435914511907633431793039057974804430294234987271937665843776401144555640405566292546095377373789327802672752109862351808984347280135395165487059031486206403947110222595287730195291401624189014187434062071593968579060119653977910864835451401315945939491514666171504400977905119945060979688183699021890310080631915307915125416509002690772126649489689259772380856948237611243026467652751981449812499075817771860323032977604067785897841550304230249473658077959514641007483772409119251153402914970376864951469548465448673764369087272193935736910832408157254522549 7413850340022664072227210228533859037292367210269448213222921648628679512664010050434256822608388789292763820500041716896609283190730243572527233649306038000058994851777006763650300012969404833769801005544534852943935719368865331893305137318179396474656432509060560151348090837655882174282724204365380498288728085640439652254104959240988163724755830449237287365535730862921769560528408652082226131411956664667364466909405397685777020427407233822680048955950388371086355036379043190402066830884186296082557062063087195370005367700890614076827125568442187012583021075387854105403729141351808892095110374020203057563397133541749133504851655067217858268910393888164295076299932779429012287905084572164455096428328917211594900000147764343751379971887563467338755884569044770131856553617579077418925306292160758798323413916301478790762379982783935513767063281930641472835789465028222490927541426800758324405621700572267923168016282863589056060309261621521399238881353225342933130257306233467346417583827684105659934999344152828104044282854992935499065582759597414211413148979651130144726205626574388229922065989348572268188088246742095370501534145285290525804022836052946267749170692221127 11995861837661635334512933170712762781098926480441764982751252650471318909269113486806078928820717182105133038493610185153457372818775485122989794675292047422436125176957482510845374083223042839984256412063655609134450915561553767783197057164406207497284084196462193197689348130500826608577572201153305348751925065613956874860800795091943637764371343450874772381270811719643147299271424567741883776709250064235925754643152043320894318338216336610558480710300818853873218797080297087241014553922626992656909238726169036658734112786391225782509806915394120497904970702594033848323103317685121038387025296341946539381081124930005569419363562700649651307968368692594589311287204717094856064306229127804860662720875012588968689327950437095861242323696547814618891279734531829163342760021526187641520594022356050199947602930488912852833973951362995633421041192795476924237105410967714005593712931201736229525566761551956106867038173173669687975617176746937908241572125351992422819517078614324294655195070710573312686980793965327179862054715315968476669650545495255761717379229124788222685720267581872002331185240501975183158465111693564918966982819049659613076216771789857100157327946743676 19409712177684299406740143399246621818391293690711213195974174299099998421933123537240335751429105971397896858993651902050066656009505728695517028324598085422495120028734489274495674096192447673754057417608190462078386634930419099676502194482585603971940516705522753349037438968156708782860296405518685847040653151254396527114905754332931801489127173900112059746806542582564916859799833219824109908121206728903290221552557441006671338765623570433238529666251207224959573833459340277643081384806813288739466300789256232028739480487281839859336932483836307510487991777981887953726832459036929930482135670362149596944478258471754702924215217767867509576878762580758884387587137496523868352211313699969315759149203929800563589328098201439612622295584111281957647164303576599295199313639105265060445900314516808998271016846790391643596353934146931147188104474726118397072894875995936496521254358002494553931188462124224030035054456037258744035926438368459307480453478577335355949774384847791641072778898394678972621980138118155283906337570308903975735233305092669973130528208775918367411925894156260232253251229850547451346553358435660289468516964334950138880239607842803367906498638964803 31405574015345934741253076569959384599490220171152978178725426949571317331202237024046414680249823153503029897487262087203524028828281213818506822999890132844931245205691971785341048179415490513738313829671846071212837550491972867459699251646991811469224600901984946546726787098657535391437868606671991195792578216868353401975706549424875439253498517350986832128077354302208064159071257787565993684830456793139215976195709484327565657103839907043797010376552026078832792630539637364884095938729440281396375539515425268687473593273673065641846739399230428008392962480575921802049935776722050968869160966704096136325559383401760272343578780468517160884847131273353473698874342213618724416517542827774176421870078942389532278656048638535473864619280659096576538444038108428458542073660631452701966494336872859198218619777279304496430327885509926780609145667521595321310000286963650502114967289204230783456755223676180136902092629210928432011543615115397215722025603929327778769291463462115935727973969105252285308960932083482463768392285624872452404883850587925734847907437900706590097646161738132234584436470352522634505018470129225208435499783384609751956456379632660468063826585708479 50815286193030234147993219969206006417881513861864191374699601248671315753135360561286750431678929124900926756480913989253590684837786942514023851324488218267426365234426461059836722275607938187492371247280036533291224185422391967136201446129577415441165117607507699895764226066814244174298165012190677042833231368122749929090612303757807240742625691251098891874883896884772981018871091007390103592951663522042506197748266925334236995869463477477035540042803233303792366463998977642527177323536253570135841840304681500716213073760954905501183671883066735518880954258557809755776768235758980899351296637066245733270037641873514975267793998236384670461725893854112358086461479710142592768728856527743492181019282872190095867984146839975086486914864770378534185608341685027753741387299736717762412394651389668196489636624069696140026681819656857927797250142247713718382895162959586998636221647206725337387943685800404166937147085248187176047470053483856523202479082506663134719065848309907576800752867499931257930941070201637747674729855933776428140117155680595707978435646676624957509572055894392466837687700203070085851571828564885497904016747719559890836695987475463835970325224673282 82220860208376168889246296539165391017371734033017169553425028198242633084337597585333165111928752278403956653968176076457114713666068156332530674324378351112357610440118432845177770455023428701230685076951882604504061735914364834595900697776569226910389718509492646442491013165471779565736033618862668238625809584991103331066318853182682679996124208602085724002961251186981045177942348794956097277782120315181722173943976409661802652973303384520832550419355259382625159094538615007411273262265693851532217379820106769403686667034627971143030411282297163527273916739133731557826704012481031868220457603770341869595597025275275247611372778704901831346573025127465831785335821923761317185246399355517668602889361814579628146640195478510560351534145429475110724052379793456212283460960368170464378888988262527394708256401349000636457009705166784708406395809769309039692895449923237500751188936410956120844698909476584303839239714459115608059013668599253738924504686435990913488357311772023512528726836605183543239902002285120211443122141558648880545001006268521442826343084577331547607218217632524701422124170555592720356590298694110706339516531104169642793152367108124304034151810381761 133036146401406403037239516508371397435253247894881360928124629446913948837472958146619915543607681403304883410449090065710705398503855098846554525648866569379783975674544893905014492730631366888723056324231919137795285921336756801732102143906146642351554836117000346338255239232286023740034198631053345281459040953113853260156931156940489920738749899853184615877845148071754026196813439802346200870733783837224228371692243334996039648842766861997868090462158492686417525558537592649938450585801947421668059220124788270119899740795582876644214083165363899046154870997691541313603472248240012767571754240836587602865634667148790222879166776941286501808298918981578189871797301633903909953975255883261160783908644686769724014624342318485646838449010199853644909660721478483966024848260104888226791283639652195591197893025418696776483691524823642636203645952017022758075790612882824499387410583617681458232642595276988470776386799707302784106483722083110262126983768942654048207423160081931089329479704105114801170843072486757959117851997492425308685118161949117150804778731253956505116790273526917168259811870758662806208162127258996204243533278823729533629848354583588140004477035055043 215257006609782571926485813047536788452624981927898530481549657645156581921810555731953080655536433681708840064417266142167820112169923255179085199973244920492141586114663326750192263185654795589953741401183801742299347657251121636328002841682715869261944554626492992780746252397757803305770232249916013520084850538104956591223250010123172600734874108455270339880806399258735071374755788597302298148515904152405950545636219744657842301816070246518700640881513752069042684653076207657349723848067641273200276599944895039523586407830210847787244494447661062573428787736825272871430176260721044635792211844606929472461231692424065470490539555646188333154871944109044021657133123557665227139221655238778829386798006501349352161264537796996207189983155629328755633713101271940178308309220473058691170172627914722985906149426767697412940701229990427344610041761786331797768686062806062000138599520028637579077341504753572774615626514166418392165497390682364001051488455378644961695780471853954601858206540710298344410745074771878170560974139051074189230119168217638593631121815831288052724008491159441869681936041314255526564752425953106910583049809927899176423000721691712444038628845436804 348293153011188974963725329555908185887878229822779891409674287092070530759283513878572996199144115085013723474866356207878525510673778354025639725622111489871925561789208220655206755916286162478676797725415720880094633578587878438060104985588862511613499390743493339119001491630043827045804430880969358801543891491218809851380181167063662521473624008308454955758651547330489097571569228399648499019249687989630178917328463079653881950658837108516568731343672244755460210211613800307288174433869588694868335820069683309643486148625793724431458577613024961619583658734516814185033648508961057403363966085443517075326866359572855693369706332587474834963170863090622211528930425191569137093196911122039990170706651188119076175888880115481854028432165829182400543373822750424144333157480577946917961456267566918577104042452186394189424392754814069980813687713803354555844476675688886499526010103646319037309984100030561245392013313873721176271981112765474263178472224321299009903203631935885691187686244815413145581588147258636129678826136543499497915237330166755744435900547085244557840798764686359037941747912072918332772914553212103114826583088751628710052849076275300584043105880491847 563550159620971546890211142603444974340503211750678421891223944737227112681094069610526076854680548766722563539283622350046345622843701609204724925595356410364067147903871547405399019101940958068630539126599522622393981235839000074388107827271578380875443945369986331899747744027801630351574663130885372321628742029323766442603431177186835122208498116763725295639457946589224168946325016996950797167765592142036129462964682824311724252474907355035269372225185996824502894864690007964637898281937229968068612420014578349167072556456004572218703072060686024193012446471342087056463824769682102039156177930050446547788098051996921163860245888233663168118042807199666233186063548749234364232418566360818819557504657689468428337153417912478061218415321458511156177086924022364322641466701051005609131628895481641563010191878954091602365093984804497325423729475589686353613162738494948499664609623674956616387325604784134020007639828040139568437478503447838264229960679699943971598984103789840293045892785525711489992333222030514300239800275594573687145356498384394338067022362916532610564807255845800907623683953387173859337666979165210025409632898679527886475849797967013028081734725928651 911843312632160521853936472159353160228381441573458313300898231829297643440377583489099073053824663851736287014149978557924871133517479963230364651217467900235992709693079768060605775018227120547307336852015243502488614814426878512448212812860440892488943336113479671018749235657845457397379094011854731123172633520542576293983612344250497643682122125072180251398109493919713266517894245396599296187015280131666308380293145903965606203133744463551838103568858241579963105076303808271926072715806818662936948240084261658810558705081798296650161649673710985812596105205858901241497473278643159442520144015493963623114964411569776857229952220821138003081213670290288444714993973940803501325615477482858809728211308877587504513042298027959915246847487287693556720460746772788466974624181628952527093085163048560140114234331140485791789486739618567306237417189393040909457639414183834999190619727321275653697309704814695265399653141913860744709459616213312527408432904021242981502187735725725984233579030341124635573921369289150429918626412138073185060593828551150082502922910001777168405606020532159945565431865460092192110581532377313140236215987431156596528698874242313612124840606420498 1475393472253132068744147614762798134568884653324136735192122176566524756121471653099625149908505212618458850553433600907971216756361181572435089576812824310600059857596951315466004794120168078615937875978614766124882596050265878586836320640132019273364387281483466002918496979685647087748953757142740103444801375549866342736587043521437332765890620241835905547037567440508937435464219262393550093354780872273702437843257828728277330455608651818587107475794044238404465999940993816236563970997744048631005560660098840007977631261537802868868864721734397010005608551677200988297961298048325261481676321945544410170903062463566698021090198109054801171199256477489954677901057522690037865558034043843677629285715966567055932850195715940437976465262808746204712897547670795152789616090882679958136224714058530201703124426210094577394154580724423064631661146664982727263070802152678783498855229350996232270084635309598829285407292969954000313146938119661150791638393583721186953101171839515566277279471815866836125566254591319664730158426687732646872205950326935544420569945272918309778970413276377960853189115818847266051448248511542523165645848886110684483004548672209326640206575332349149 2387236784885292590598084086922151294797266094897595048493020408395822399561849236588724222962329876470195137567583579465896087889878661535665454228030292210836052567290031083526610569138395199163245212830630009627371210864692757099284533452992460165853330617596945673937246215343492545146332851154594834567974009070408919030570655865687830409572742366908085798435676934428650701982113507790149389541796152405368746223550974632242936658742396282138945579362902479984429105017297624508490043713550867293942508900183101666788189966619601165519026371408107995818204656883059889539458771326968420924196465961038373794018026875136474878320150329875939174280470147780243122616051496630841366883649521326536439013927275444643437363238013968397891712110296033898269618008417567941256590715064308910663317799221578761843238660541235063185944067464041631937898563854375768172528441566862618498045849078317507923781945014413524550806946111867861057856397735874463319046826487742429934603359575241292261513050846207960761140175960608815160077053099870720057266544155486694503072868182920086947376019296910120798754547684307358243558830043919836305882064873541841079533247546451640252331415938769647 3862630257138424659342231701684949429366150748221731783685142584962347155683320889688349372870835089088653988121017180373867304646239843108100543804843116521436112424886982398992615363258563277779183088809244775752253806914958635686120854093124479439217717899080411676855743195029139632895286608297334938012775384620275261767157699387125163175463362608743991345473244374937588137446332770183699482896577024679071184066808803360520267114351048100726053055156946718388895104958291440745054014711294915924948069560281941674765821228157404034387891093142505005823813208560260877837420069375293682405872787906582783964921089338703172899410348438930740345479726625270197800517109019320879232441683565170214068299643242011699370213433729908835868177373104780102982515556088363094046206805946988868799542513280108963546363086751329640580098648188464696569559710519358495435599243719541401996901078429313740193866580324012353836214239081821861371003335855535614110685220071463616887704531414756858538792522662074796886706430551928479890235479787603366929472494482422238923642813455838396726346432573288081651943663503154624295007078555462359471527913759652525562537796218660966892537991271118796 6249867042023717249940315788607100724163416843119326832178162993358169555245170126277073595833164965558849125688600759839763392536118504643765998032873408732272164992177013482519225932396958476942428301639874785379625017779651392785405387546116939605071048516677357350792989410372632178041619459451929772580749393690684180797728355252812993585036104975652077143908921309366238839428446277973848872438373177084439930290359777992763203773093444382864998634519849198373324209975589065253544058424845783218890578460465043341554011194777005199906917464550613001642017865443320767376878840702262103330069253867621157758939116213839647777730498768806679519760196773050440923133160515951720599325333086496750507313570517456342807576671743877233759889483400814001252133564505931035302797521011297779462860312501687725389601747292564703766042715652506328507458274373734263608127685286404020494946927507631248117648525338425878387021185193689722428859733591410077429732046559206046822307890989998150800305573508282757647846606512537295050312532887474086986739038637908933426715681638758483673722451870198202450698211187461982538565908599382195777409978633194366642071043765112607144869407209888443 10112497299162141909282547490292050153529567591341058615863305578320516710928491015965422968704000054647503113809617940213630697182358347751866541837716525253708277417063995881511841295655521754721611390449119561131878824694610028471526241639241419044288766415757769027648732605401771810936906067749264710593524778310959442564886054639938156760499467584396068489382165684303826976874779048157548355334950201763511114357168581353283470887444492483591051689676795916762219314933880505998598073136140699143838648020746985016319832422934409234294808557693118007465831074003581645214298910077555785735942041774203941723860205552542820677140847207737419865239923398320638723650269535272599831767016651666964575613213759468042177790105473786069628066856505594104234649120594294129349004326958286648262402825781796688935964834043894344346141363840971025077017984893092759043726929005945422491848005936944988311515105662438232223235424275511583799863069446945691540417266630669663710012422404755009339098096170357554534553037064465774940548012675077453916211533120331172350358495094596880400068884443486284102641874690616606833572987154844555248937892392846892204608839983773574037407398481007239 16362364341185859159222863278899150877692984434460385448041468571678686266173661142242496564537165020206352239498218700053394089718476852395632539870589933985980442409241009364031067228052480231664039692088994346511503842474261421256931629185358358649359814932435126378441722015774403988978525527201194483174274172001643623362614409892751150345535572560048145633291086993670065816303225326131397227773323378847951044647528359346046674660537936866456050324196645115135543524909469571252142131560986482362729226481212028357873843617711414434201726022243731009107848939446902412591177750779817889066011295641825099482799321766382468454871345976544099385000120171371079646783430051224320431092349738163715082926784276924384985366777217663303387956339906408105486782685100225164651801847969584427725263138283484414325566581336459048112184079493477353584476259266827022651854614292349442986794933444576236429163631000864110610256609469201306228722803038355768970149313189875710532320313394753160139403669678640312182399643577003069990860545562551540902950571758240105777074176733355364073791336313684486553340085878078589372138895754226751026347871026041258846679883748886181182276805690895682 26474861640348001068505410769191201031222552025801444063904774149999202977102152158207919533241165074853855353307836640267024786900835200147499081708306459239688719826305005245542908523708001986385651082538113907643382667168871449728457870824599777693648581348192895406090454621176175799915431594950459193767798950312603065927500464532689307106035040144444214122673252677973892793178004374288945583108273580611462159004696940699330145547982429350047102013873441031897762839843350077250740204697127181506567874501959013374193676040645823668496534579936849016573680013450484057805476660857373674801953337416029041206659527318925289132012193184281519250240043569691718370433699586496920262859366389830679658539998036392427163156882691449373016023196412002209721431805694519294000806174927871075987665964065281103261531415380353392458325443334448378661494244159919781695581543298294865478642939381521224740678736663302342833492033744712890028585872485301460510566579820545374242332735799508169478501765848997866716952680641468844931408558237628994819162104878571278127432671827952244473860220757170770655981960568695196205711882909071306275285763418888151051288723732659755219684204171902921 42837225981533860227728274048090351908915536460261829511946242721677889243275813300450416097778330095060207592806055340320418876619312052543131621578896393225669162235546014609573975751760482218049690774627108254154886509643132870985389500009958136343008396280628021784532176636950579788893957122151653676942073122314246689290114874425440457451570612704492359755964339671643958609481229700420342810881596959459413203652225300045376820208520366216503152338070086147033306364752819648502882336258113663869297100983171041732067519658357238102698260602180580025681528952897386470396654411637191563867964633057854140689458849085307757586883539160825618635240163741062798017217129637721240693951716127994394741466782313316812148523659909112676403979536318410315208214490794744458652608022897455503712929102348765517587097996716812440570509522827925732245970503426746804347436157590644308465437872826097461169842367664166453443748643213914196257308675523657229480715893010421084774653049194261329617905435527638178899352324218471914922269103800180535722112676636811383904506848561307608547651557070855257209322046446773785577850778663298057301633634444929409897968607481545936401961009862798603 69312087621881861296233684817281552940138088486063273575851016871677092220377965458658335631019495169914062946113891980587443663520147252690630703287202852465357882061851019855116884275468484204435341857165222161798269176812004320713847370834557914036656977628820917190622631258126755588809388717102112870709872072626849755217615338958129764557605652848936573878637592349617851402659234074709288393989870540070875362656922240744706965756502795566550254351943527178931069204596169725753622540955240845375864975485130055106261195699003061771194795182117429042255208966347870528202131072494565238669917970473883181896118376404233046718895732345107137885480207310754516387650829224218160956811082517825074400006780349709239311680542600562049420002732730412524929646296489263752653414197825326579700595066414046620848629412097165833028834966162374110907464747586666586043017700888939173944080812207618685910521104327468796277240676958627086285894548008958689991282472830966459016985784993769499096407201376636045616305004859940759853677662037809530541274781515382662031939520389259853021511777828026027865304007015468981783562661572369363576919397863817560949257331214205691621645214034701524 112149313603415721523961958865371904849053624946325103087797259593354981463653778759108751728797825264974270538919947320907862540139459305233762324866099245691027044297397034464690860027228966422485032631792330415953155686455137191699236870844516050379665373909448938975154807895077335377703345839253766547651945194941096444507730213383570222009176265553428933634601932021261810012140463775129631204871467499530288566309147540790083785965023161783053406690013613325964375569348989374256504877213354509245162076468301096838328715357360299873893055784298009067936737919245256998598785484131756802537882603531737322585577225489540804305779271505932756520720371051817314404867958861939401650762798645819469141473562663026051460204202509674725823982269048822840137860787284008211306022220722782083413524168762812138435727408813978273599344488990299843153435251013413390390453858479583482409518685033716147080363471991635249720989320172541282543203223532615919471998365841387543791638834188030828714312636904274224515657329078412674775946765837990066263387458152194045936446368950567461569163334898881285074626053462242767361413440235667420878553032308746970847225938695751628023606223897500127 181461401225297582820195643682653457789191713432388376663648276465032073684031744217767087359817320434888333485033839301495306203659606557924393028153302098156384926359248054319807744302697450626920374488957552577751424863267141512413084241679073964416322351538269856165777439153204090966512734556355879418361817267567946199725345552341699986566781918402365507513239524370879661414799697849838919598861338039601163928966069781534790751721525957349603661041957140504895444773945159100010127418168595354621027051953431151944589911056363361645087850966415438110191946885593127526800916556626322041207800574005620504481695601893773851024675003851039894406200578362571830792518788086157562607573881163644543541480343012735290771884745110236775243985001779235365067507083773271963959436418548108663114119235176858759284356820911144106628179455152673954060899998600079976433471559368522656353599497241334832990884576319104045998229997131168368829097771541574609463280838672354002808624619181800327810719838280910270131962333938353434629624427875799596804662239667576707968385889339827314590675112726907312939930060477711749144976101808036784455472430172564531796483269909957319645251437932201651 293610714828713304344157602548025362638245338378713479751445536058387055147685522976875839088615145699862604023953786622403168743799065863158155353019401343847411970656645088784498604329926417049405407120749882993704580549722278704112321112523590014795987725447718795140932247048281426344216080395609645966013762462509042644233075765725270208575958183955794441147841456392141471426940161624968550803732805539131452495275217322324874537686549119132657067731970753830859820343294148474266632295381949863866189128421732248782918626413723661518980906750713447178128684804838384525399702040758078843745683177537357827067272827383314655330454275356972650926920949414389145197386746948096964258336679809464012682953905675761342232088947619911501067967270828058205205367871057280175265458639270890746527643403939670897720084229725122380227523944142973797214335249613493366823925417848106138763118182275050980071248048310739295719219317303709651372300995074190528935279204513741546600263453369831156525032475185184494647619663016766109405571193713789663068049697819770753904832258290394776159838447625788598014556113939954516506389542043704205334025462481311502643709208605708947668857661829701778 475072116054010887164353246230678820427437051811101856415093812523419128831717267194642926448432466134750937508987625923898474947458672421082548381172703442003796897015893143104306348632623867676325781609707435571456005412989420216525405354202663979212310076985988651306709686201485517310728814951965525384375579730076988843958421318066970195142740102358159948661080980763021132841739859474807470402594143578732616424241287103859665289408075076482260728773927894335755265117239307574276759713550545218487216180375163400727508537470087023164068757717128885288320631690431512052200618597384400884953483751542978331548968429277088506355129279208012545333121527776960975989905535034254526865910560973108556224434248688496633003973692730148276311952272607293570272874954830552139224895057818999409641762639116529657004441050636266486855703399295647751275235248213573343257396977216628795116717679516385813062132624629843341717449314434878020201398766615765138398560043186095549408888072551631484335752313466094764779581996955119544035195621589589259872711937487347461873218147630222090750513560352695910954486174417666265651365643851740989789497892653876034440192478515666267314109099761903429 768682830882724191508510848778704183065682390189815336166539348581806183979402790171518765537047611834613541532941412546301643691257738284240703734192104785851208867672538231888804952962550284725731188730457318565160585962711698920637726466726253994008297802433707446447641933249766943654944895347575171350389342192586031488191497083792240403718698286313954389808922437155162604268680021099776021206326949117864068919516504426184539827094624195614917796505898648166615085460533456048543392008932495082353405308796895649510427163883810684683049664467842332466449316495269896577600320638142479728699166929080336158616241256660403161685583554564985196260042477191350121187292281982351491124247240782572568907388154364257975236062640350059777379919543435351775478242825887832314490353697089890156169406043056200554724525280361388867083227343438621548489570497827066710081322395064734933879835861791436793133380672940582637436668631738587671573699761689955667333839247699837096009151525921462640860784788651279259427201659971885653440766815303378922940761635307118215778050405920616866910352007978484508969042288357620782157755185895445195123523355135187537083901687121375214982966761591605207 1243754946936735078672864095009383003493119442000917192581633161105225312811120057366161691985480077969364479041929038470200118638716410705323252115364808227855005764688431374993111301595174152402056970340164754136616591375701119137163131820928917973220607879419696097754351619451252460965673710299540696734764921922663020332149918401859210598861438388672114338470003417918183737110419880574583491608921092696596685343757791530044205116502699272097178525279826542502370350577772763622820151722483040300840621489172059050237935701353897707847118422184971217754769948185701408629800939235526880613652650680623314490165209685937491668040712833772997741593164004968311097177197817016606017990157801755681125131822403052754608240036333080208053691871816042645345751117780718384453715248754908889565811168682172730211728966330997655353938930742734269299764805746040640053338719372281363728996553541307822606195513297570425979154117946173465691775098528305720805732399290885932645418039598473094125196537102117374024206783656927005197475962436892968182813473572794465677651268553550838957660865568331180419923528462775287047809120829747186184913021247789063571524094165637041482297075861353508636 2012437777819459270181374943788087186558801832190732528748172509687031496790522847537680457522527689803978020574870451016501762329974148989563955849556913013706214632360969606881916254557724437127788159070622072701777177338412818057800858287655171967228905681853403544201993552701019404620618605647115868085154264115249051820341415485651451002580136674986068728278925855073346341379099901674359512815248041814460754263274295956228744943597323467712096321785725190668985436038306219671363543731415535383194026797968954699748362865237708392530168086652813550221219264680971305207401259873669360342351817609703650648781450942597894829726296388337982937853206482159661218364490098998957509114405042538253694039210557417012583476098973430267831071791359477997121229360606606216768205602451998779721980574725228930766453491611359044221022158086172890848254376243867706763420041767346098662876389403099259399328893970511008616590786577912053363348798289995676473066238538585769741427191124394556766057321890768653283633985316898890850916729252196347105754235208101583893429318959471455824571217576309664928892570751132907829966876015642631380036544602924251108607995852758416697280042622945113843 3256192724756194348854239038797470190051921274191649721329805670792256809601642904903842149508007767773342499616799489486701880968690559694887207964921721241561220397049400981875027556152898589529845129410786826838393768714113937194963990108584089940449513561273099641956345172152271865586292315946656564819919186037912072152491333887510661601441575063658183066748929272991530078489519782248943004424169134511057439607032087486272950060100022739809274847065551733171355786616078983294183695453898575684034648287141013749986298566591606100377286508837784767975989212866672713837202199109196240956004468290326965138946660628535386497767009222110980679446370487127972315541687916015563527104562844293934819171032960469767191716135306510475884763663175520642466980478387324601221920851206907669287791743407401660978182457942356699574961088828907160148019181989908346816758761139627462391872942944407082005524407268081434595744904524085519055123896818301397278798637829471702386845230722867650891253858992886027307840768973825896048392691689089315288567708780896049571080587513022294782232083144640845348816099213908194877775996845389817564949565850713314680132090018395458179577118484298622479 5268630502575653619035613982585557376610723106382382250077978180479288306392165752441522607030535457577320520191669940503203643298664708684451163814478634255267435029410370588756943810710623026657633288481408899540170946052526755252764848396239261907678419243126503186158338724853291270206910921593772432905073450153161123972832749373162112604021711738644251795027855128064876419868619683923302517239417176325518193870306383442501695003697346207521371168851276923840341222654385202965547239185314111067228675085109968449734661431829314492907454595490598318197208477547644019044603458982865601298356285900030615787728111571133281327493305610448963617299576969287633533906178015014521036218967886832188513210243517886779775192234279940743715835454534998639588209838993930817990126453658906449009772318132630591744635949553715743795983246915080050996273558233776053580178802906973561054749332347506341404853301238592443212335691101997572418472695108297073751864876368057472128272421847262207657311180883654680591474754290724786899309420941285662394321943988997633464509906472493750606803300720950510277708669965041102707742872861032448944986110453637565788740085871153874876857161107243736322 8524823227331847967889853021383027566662644380574031971407783851271545115993808657345364756538543225350663019808469429989905524267355268379338371779400355496828655426459771570631971366863521616187478417892195726378564714766640692447728838504823351848127932804399602828114683897005563135793203237540428997724992636191073196125324083260672774205463286802302434861776784401056406498358139466172245521663586310836575633477338470928774645063797368947330646015916828657011697009270464186259730934639212686751263323372250982199720959998420920593284741104328383086173197690414316732881805658092061842254360754190357580926674772199668667825260314832559944296745947456415605849447865931030084563323530731126123332381276478356546966908369586451219600599117710519282055190317381255419212047304865814118297564061540032252722818407496072443370944335743987211144292740223684400396937564046601023446622275291913423410377708506673877808080595626083091473596591926598471030663514197529174515117652570129858548565039876540707899315523264550682947702112630374977682889652769893683035590493985516045389035383865591355626524769178949297585518869706422266509935676304350880468872175889549333056434279591542358801 13793453729907501586925467003968584943273367486956414221485762031750833422385974409786887363569078682927983540000139370493109167566019977063789535593878989752096090455870142159388915177574144642845111706373604625918735660819167447700493686901062613755806352047526106014273022621858854406000114159134201430630066086344234320098156832633834886809484998540946686656804639529121282918226759150095548038903003487162093827347644854371276340067494715154852017184768105580852038231924849389225278173824526797818491998457360950649455621430250235086192195699818981404370406167961960751926409117074927443552717040090388196714402883770801949152753620443008907914045524425703239383354043946044605599542498617958311845591519996243326742100603866391963316434572245517921643400156375186237202173758524720567307336379672662844467454357049788187166927582659067262140566298457460453977116366953574584501371607639419764815231009745266321020416286728080663892069287034895544782528390565586646643390074417392066205876220760195388490790277555275469847011533571660640077211596758891316500100400458009795995838684586541865904233439143990400293261742567454715454921786757988446257612261760703207933291440698786095123 22318276957239349554815320025351612509936011867530446192893545883022378538379783067132252120107621908278646559808608800483014691833375245443127907373279345248924745882329913730020886544437666259032590124265800352297300375585808140148222525405885965603934284851925708842387706518864417541793317396674630428355058722535307516223480915894507661014948285343249121518581423930177689416584898616267793560566589797998669460824983325300050985131292084102182663200684934237863735241195313575485009108463739484569755321829611932849176581428671155679476936804147364490543603858376277484808214775166989285807077794280745777641077655970470616978013935275568852210791471882118845232801909877074690162866029349084435177972796474599873709008973452843182917033689956037203698590473756441656414221063390534685604900441212695097190272764545860630537871918403054473284859038681144854374053931000175607947993882931333188225608718251940198828496882354163755365665878961494015813191904763115821158507726987521924754441260636736096390105800819826152794713646202035617760101249528784999535690894443525841384874068452133221530758208322939697878780612273876981964857463062339326726484437650252540989725720290328453924 36111730687146851141740787029320197453209379354486860414379307914773211960765757476919139483676700591206630099808748170976123859399395222506917442967158335001020836338200055889409801722011810901877701830639404978216036036404975587848716212306948579359740636899451814856660729140723271947793431555808831858985124808879541836321637748528342547824433283884195808175386063459298972334811657766363341599469593285160763288172628179671327325198786799257034680385453039818715773473120162964710287282288266282388247320286972883498632202858921390765669132503966345894914010026338238236734623892241916729359794834371133974355480539741272566130767555718577760124836996307822084616155953823119295762408527967042747023564316470843200451109577319235146233468262201555125341990630131627893616394821915255252912236820885357941657727121595648817704799501062121735425425337138605308351170297953750192449365490570752953040839727997206519848913169082244419257735165996389560595720295328702467801897801404913990960317481396931484880896078375101622641725179773696257837312846287676316035791294901535637380712753038675087434991647466930098172042354841331697419779249820327772984096699410955748923017160989114549047 58430007644386200696556107054671809963145391222017306607272853797795590499145540544051391603784322499485276659617356971459138551232770467950045350340437680249945582220529969619430688266449477160910291954905205330513336411990783727996938737712834544963674921751377523699048435659587689489586748952483462287340183531414849352545118664422850208839381569227444929693967487389476661751396556382631135160036183083159432748997611504971378310330078883359217343586137974056579508714315476540195296390752005766958002642116584816347808784287592546445146069308113710385457613884714515721542838667408906015166872628651879751996558195711743183108781490994146612335628468189940929848957863700193985925274557316127182201537112945443074160118550772078329150501952157592329040581103888069550030615885305789938517137262098053038847999886141509448242671419465176208710284375819750162725224228953925800397359373502086141266448446249146718677410051436408174623401044957883576408912200091818288960405528392435915714758742033667581271001879194927775436438825975731875597414095816461315571482189345061478765586821490808308965749855789869796050822967115208679384636712882667099710581137061208289912742881279443002971 94541738331533051838296894083992007416354770576504167021652161712568802459911298020970531087461023090691906759426105142435262410632165690456962793307596015250966418558730025508840489988461288062787993785544610308729372448395759315845654950019783124323415558650829338555709164800310961437380180508292294146325308340294391188866756412951192756663814853111640737869353550848775634086208214148994476759505776368320196037170239684642705635528865682616252023971591013875295282187435639504905583673040272049346249962403557699846440987146513937210815201812080056280371623911052753958277462559650822744526667463023013726352038735453015749239549046712724372460465464497763014465113817523313281687683085283169929225101429416286274611228128091313475383970214359147454382571734019697443647010707221045191429374082983410980505727007737158265947470920527297944135709712958355471076394526907675992846724864072839094307288174246353238526323220518652593881136210954273137004632495420520756762303329797349906675076223430599066151897957570029398078164005749428133434726942104137631607273484246597116146299574529483396400741503256799894222865321956540376804415962702994872694677836472164038835760042268557552018 152971745975919252534853001138663817379500161798521473628925015510364392959056838565021922691245345590177183419043462113894400961864936158407008143648033695500912000779259995128271178254910765223698285740449815639242708860386543043842593687732617669287090480402206862254757600459898650926966929460775756433665491871709240541411875077374042965503196422339085667563321038238252295837604770531625611919541959451479628786167851189614083945858944565975469367557728987931874790901751116045100880063792277816304252604520142516194249771434106483655961271120193766665829237795767269679820301227059728759693540091674893478348596931164758932348330537706870984796093932687703944314071681223507267612957642599297111426638542361729348771346678863391804534472166516739783423152837907766993677626592526835129946511345081464019353726893878667714190142339992474152845994088778105633801618755861601793244084237574925235573736620495499957203733271955060768504537255912156713413544695512339045722708858189785822389834965464266647422899836764957173514602831725160009032141037920598947178755673591658594911886396020291705366491359046669690273688289071749056189052675585661972405258973533372328748502923548000554989 247513484307452304373149895222655824795854932375025640650577177222933195418968136585992453778706368680869090178469567256329663372497101848863970936955629710751878419337990020637111668243372053286486279525994425947972081308782302359688248637752400793610506039053036200810466765260209612364347109969068050579990800212003631730278631490325235722167011275450726405432674589087027929923812984680620088679047735819799824823338090874256789581387810248591721391529320001807170073089186755550006463736832549865650502566923700216040690758580620420866776472932273822946200861706820023638097763786710551504220207554697907204700635666617774681587879584419595357256559397185466958779185498746820549300640727882467040651739971778015623382574806954705279918442380875887237805724571927464437324637299747880321375885428064874999859453901615825980137613260519772096981703801736461104878013282769277786090809101647764329881024794741853195730056492473713362385673466866429850418177190932859802485012187987135729064911188894865713574797794334986571592766837474588142466867980024736578786029157838255711058185970549775101767232862303469584496553611028289432993468638288656845099936810005536367584262965816558107007 400485230283371556908002896361319642175355094173547114279502192733297588378024975151014376469951714271046273597513029370224064334362038007270979080603663406252790420117250015765382846498282818510184565266444241587214790169168845403530842325485018462897596519455243063065224365720108263291314039429843807013656292083712872271690506567699278687670207697789812072995995627325280225761417755212245700598589695271279453609505942063870873527246754814567190759087048989739044863990937871595107343800624827681954755171443842732234940530014726904522737744052467589612030099502587293317918065013770280263913747646372800683049232597782533613936210122126466342052653329873170903093257179970327816913598370481764152078378514139744972153921485818097084452914547392627021228877409835231431002263892274715451322396773146339019213180795494493694327755600512246249827697890514566738679632038630879579334893339222689565454761415237353152933789764428774130890210722778586563831721886445198848207721046176921551454746154359132360997697631099943745107369669199748151499009017945335525964784831429914305970072366570066807133724221350139274770241900100038489182521313874318817505195783538908696332765889364558661996 647998714590823861281152791583975466971210026548572754930079369956230783796993111737006830248658082951915363775982596626553727706859139856134950017559293117004668839455240036402494514741654871796670844792438667535186871477951147763219090963237419256508102558508279263875691130980317875655661149398911857593647092295716504001969138058024514409837218973240538478428670216412308155685230739892865789277637431091079278432844032938127663108634565063158912150616368991546214937080124627145113807537457377547605257738367542948275631288595347325389514216984741412558230961209407316956015828800480831768133955201070707887749868264400308295524089706546061699309212727058637861872442678717148366214239098364231192730118485917760595536496292772802364371356928268514259034601981762695868326901192022595772698282201211214019072634697110319674465368861032018346809401692251027843557645321400157365425702440870453895335786209979206348663846256902487493275884189645016414249899077378058650692733234164057280519657343253998074572495425434930316700136506674336293965876997970072104750813989268170017028258337119841908900957083653608859266795511128327922175989952162975662605132593544445063917028855181116769003 1048483944874195418189155687945295109146565120722119869209581562689528372175018086888021206718609797222961637373495625996777792041221177863405929098162956523257459259572490052167877361239937690306855410058882909122401661647119993166749933288722437719405699077963522326940915496700426138946975188828755664607303384379429376273659644625723793097507426671030350551424665843737588381446648495105111489876227126362358732042349975001998536635881319877726102909703417981285259801071062498740221151338082205229560012909811385680510571818610074229912251961037209002170261060711994610273933893814251112032047702847443508570799100862182841909460299828672528041361866056931808764965699858687476183127837468845995344808497000057505567690417778590899448824271475661141280263479391597927299329165084297311224020678974357553038285815492604813368793124461544264596637099582765594582237277360031036944760595780093143460790547625216559501597636021331261624166094912423602978081620963823257498900454280340978831974403497613130435570193056534874061807506175874084445464886015915407630715598820698084322998330703689908716034681305003748134037037411228366411358511266037294480110328377083353760249794744545675430999 1696482659465019279470308479529270576117775147270692624139660932645759155972011198625028036967267880174877001149478222623331519748080317719540879115722249640262128099027730088570371875981592562103526254851321576657588533125071140929969024251959856975913801636471801590816606627680744014602636338227667522200950476675145880275628782683748307507344645644270889029853336060149896537131879234997977279153864557453438010475194007940126199744515884940885015060319786972831474738151187125885334958875539582777165270648178928628786203107205421555301766178021950414728492021921401927229949722614731943800181658048514216458548969126583150204984389535218589740671078783990446626838142537404624549342076567210226537538615485975266163226914071363701813195628403929655539298081373360623167656066276319906996718961175568767057358450189715133043258493322576282943446501275016622425794922681431194310186298220963597356126333835195765850261482278233749117441979102068619392331520041201316149593187514505036112494060840867128510142688481969804378507642682548420739430763013885479735466412809966254340026589040809750624935638388657356993303832922356694333534501218200270142715460970627798824166823599726792200002 2744966604339214697659464167474565685264340267992812493349242495335287528147029285513049243685877677397838638522973848620109311789301495582946808213885206163519587358600220140738249237221530252410381664910204485779990194772191134096718957540682294695319500714435323917757522124381170153549611527056423186808253861054575256549288427309472100604852072315301239581278001903887484918578527730103088769030091683815796742517543982942124736380397204818611117970023204954116734539222249624625556110213621788006725283557990314309296774925815495785214018139059159416898753082633396537503883616428983055832229360895957725029348069988765992114444689363891117782032944840922255391803842396092100732469914036056221882347112486032771730917331849954601262019899879590796819561560764958550466985231360617218220739640149926320095644265682319946412051617784120547540083600857782217008032200041462231254946894001056740816916881460412325351859118299565010741608074014492222370413141005024573648493641794846014944468464338480258945712881538504678440315148858422505184895649029800887366182011630664338663024919744499659340970319693661105127340870333585060744893012484237564622825789347711152584416618344272467631001 4441449263804233977129772647003836261382115415263505117488903427981046684119040484138077280653145557572715639672452071243440831537381813302487687329607455803781715457627950229308621113203122814513907919761526062437578727897262275026687981792642151671233302350907125508574128752061914168152247865284090709009204337729721136824917209993220408112196717959572128611131337964037381455710406965101066048183956241269234752992737990882250936124913089759496133030342991926948209277373436750510891069089161370783890554206169242938082978033020917340515784317081109831627245104554798464733833339043714999632411018944471941487897039115349142319429078899109707522704023624912702018641984933496725281811990603266448419885727972008037894144245921318303075215528283520452358859642138319173634641297636937125217458601325495087153002715872035079455310111106696830483530102132798839433827122722893425565133192222020338173043215295608091202120600577798759859050053116560841762744661046225889798086829309351051056962525179347387455855570020474482818822791540970925924326412043686367101648424440630593003051508785309409965905958082318462120644703255941755078427513702437834765541250318338951408583441943999259831003 7186415868143448674789236814478401946646455683256317610838145923316334212266069769651126524339023234970554278195425919863550143326683308885434495543492661967301302816228170370046870350424653066924289584671730548217568922669453409123406939333324446366552803065342449426331650876443084321701859392340513895817458198784296393374205637302692508717048790274873368192409339867924866374288934695204154817214047925085031495510281973824375672505310294578107251000366196881064943816595686375136447179302783158790615837764159557247379752958836413125729802456140269248525998187188195002237716955472698055464640379840429666517245109104115134433873768263000825304736968465834957410445827329588826014281904639322670302232840458040809625061577771272904337235428163111249178421202903277724101626528997554343438198241475421407248646981554355025867361728890817378023613702990581056441859322764355656820080086223077078989960096756020416553979718877363770600658127131053064133157802051250463446580471104197066001430989517827646401568451558979161259137940399393431109222061073487254467830436071294931666076428529809069306876277775979567247985573589526815823320526186675399388367039666050103993000060288271727462004 11627865131947682651919009461482238208028571098519822728327049351297380896385110253789203804992168792543269917867877991106990974864065122187922182873100117771083018273856120599355491463627775881438197504433256610655147650566715684150094921125966598037786105416249574934905779628504998489854107257624604604826662536514017530199122847295912916829245508234445496803540677831962247829999341660305220865398004166354266248503019964706626608630223384337603384030709188808013153093969123125647338248391944529574506391970328800185462730991857330466245586773221379080153243291742993466971550294516413055097051398784901608005142148219464276753302847162110532827440992090747659429087812263085551296093895242589118722118568430048847519205823692591207412450956446631701537280845041596897736267826634491468655656842800916494401649697426390105322671839997514208507143805123379895875686445487249082385213278445097417163003312051628507756100319455162530459708180247613905895902463097476353244667300413548117058393514697175033857424021579453644077960731940364357033548473117173621569478860511925524669127937315118479272782235858298029368630276845468570901748039889113234153908289984389055401583502232270987293007 18814281000091131326708246275960640154675026781776140339165195274613715108651180023440330329331192027513824196063303910970541118190748431073356678416592779738384321090084290969402361814052428948362487089104987158872716573236169093273501860459291044404338908481592024361237430504948082811555966649965118500644120735298313923573328484598605425546294298509318864995950017699887114204288276355509375682612052091439297744013301938531002281135533678915710635031075385689078096910564809500783785427694727688365122229734488357432842483950693743591975389229361648328679241478931188469209267249989111110561691778625331274522387257323579411187176615425111358132177960556582616839533639592674377310375799881911789024351408888089657144267401463864111749686384609742950715702047944874621837894355632045812093855084276337901650296678980745131190033568888331586530757508113960952317545768251604739205293364668174496152963408807648924310080038332526301060366307378666970029060265148726816691247771517745183059824504215002680258992473138432805337098672339757788142770534190660876037309296583220456335204365844927548579658513634277596616615850434995386725068566075788633542275329650439159394583562520542714755011 30442146132038813978627255737442878362703597880295963067492244625911096005036290277229534134323360820057094113931181902077532093054813553261278861289692897509467339363940411568757853277680204829800684593538243769527864223802884777423596781585257642442125013897841599296143210133453081301410073907589723105470783271812331453772451331894518342375539806743764361799490695531849362034287618015814596548010056257793563992516321903237628889765757063253314019061784574497091250004533932626431123676086672217939628621704817157618305214942551074058220976002583027408832484770674181936180817544505524165658743177410232882527529405543043687940479462587221890959618952647330276268621451855759928606469695124500907746469977318138504663473225156455319162137341056374652252982892986471519574162182266537280749511927077254396051946376407135236512705408885845795037901313237340848193232213738853821590506643113271913315966720859277432066180357787688831520074487626280875924962728246203169935915071931293300118218018912177714116416494717886449415059404280122145176319007307834497606788157095145981004332303160046027852440749492575625985246127280463957626816605964901867696183619634828214796167064752813702048018 49256427132129945305335502013403518517378624662072103406657439900524811113687470300669864463654552847570918309994485813048073211245561984334635539706285677247851660454024702538160215091732633778163171682643230928400580797039053870697098642044548686846463922379433623657380640638401164112966040557554841606114904007110645377345779816493123767921834105253083226795440713231736476238575894371323972230622108349232861736529623841768631170901290742169024654092859960186169346915098742127214909103781399906304750851439305515051147698893244817650196365231944675737511726249605370405390084794494635276220434956035564157049916662866623099127656078012333249091796913203912893108155091448434305916845495006412696770821386206228161807740626620319430911823725666117602968684940931346141412056537898583092843367011353592297702243055387880367702738977774177381568658821351301800510777981990458560795800007781446409468930129666926356376260396120215132580440795004947845954022993394929986627162843449038483178042523127180394375408967856319254752158076619879933319089541498495373644097453678366437339536669004973576432099263126853222601861977715459344351885172040690501238458949285267374190750627273356416803029 79698573264168759283962757750846396880082222542368066474149684526435907118723760577899398597977913667628012423925667715125605304300375537595914400995978574757318999817965114106918068369412838607963856276181474697928445020841938648120695423629806329288588936277275222953523850771854245414376114465144564711585687278922976831118231148387642110297373911996847588594931408763585838272863512387138568778632164607026425729045945745006260060667047805422338673154644534683260596919632674753646032779868072124244379473144122672669452913835795891708417341234527703146344211020279552341570902339000159441879178133445797039577446068409666787068135540599555140051415865851243169376776543304194234523315190130913604517291363524366666471213851776774750073961066722492255221667833917817660986218720165120373592878938430846693754189431795015604215444386660023176606560134588642648704010195729312382386306650894718322784896850526203788442440753907903964100515282631228721878985721641133156563077915380331783296260542039358108491825462574205704167217480900002078495408548806329871250885610773512418343868972165019604284540012619428848587108104995923301978701778005592368934642568920095588986917692026170118851047 128955000396298704589298259764249915397460847204440169880807124426960718232411230878569263061632466515198930733920153528173678515545937521930549940702264252005170660271989816645078283461145472386127027958824705626329025817880992518817794065674355016135052858656708846610904491410255409527342155022699406317700591286033622208464010964880765878219208017249930815390372121995322314511439406758462541009254272956259287465575569586774891231568338547591363327247504494869429943834731416880860941883649472030549130324583428187720600612729040709358613706466472378883855937269884922746960987133494794718099613089481361196627362731276289886195791618611888389143212779055156062484931634752628540440160685137326301288112749730594828278954478397094180985784792388609858190352774849163802398275258063703466436245949784438991456432487182895971918183364434200558175218955939944449214788177719770943182106658676164732253826980193130144818701150028119096680956077636176567833008715036063143190240758829370266474303065166538502867234430430524958919375557519882011814498090304825244894983064451878855683405641169993180716639275746282071188970082711382646330586950046282870173101518205362963177668319299526535654076 208653573660467463873261017515096312277543069746808236354956808953396625351134991456468661659610380182826943157845821243299283819846313059526464341698242826762489660089954930751996351830558310994090884235006180324257470838722931166938489489304161345423641794933984069564428342182109654941718269487843971029286278564956599039582242113268407988516581929246778403985303530758908152784302919145601109787886437563285713194621515331781151292235386353013702000402149029552690540754364091634506974663517544154793509797727550860390053526564836601067031047701000082030200148290164475088531889472494954159978791222927158236204808799685956673263927159211443529194628644906399231861708178056822774963475875268239905805404113254961494750168330173868931059745859111102113412020608766981463384493978228823840029124888215285685210621918977911576133627751094223734781779090528587097918798373449083325568413309570883055038723830719333933261141903936023060781471360267405289711994436677196299753318674209702049770563607205896611359059893004730663086593038419884090309906639111155116145868675225391274027274613335012785001179288365710919776078187707305948309288728051875239107744087125458552164586011325696654505123 337608574056766168462559277279346227675003916951248406235763933380357343583546222335037924721242846698025873891765974771472962335392250581457014282400507078767660320361944747397074635291703783380217912193830885950586496656603923685756283554978516361558694653590692916175332833592365064469060424510543377346986869850990221248046253078149173866735789946496709219375675652754230467295742325904063650797140710519545000660197084918556042523803724900605065327649653524422120484589095508515367916547167016185342640122310979048110654139293877310425644754167472460914056085560049397835492876605989748878078404312408519432832171530962246559459718777823331918337841423961555294346639812809451315403636560405566207093516862985556323029122808570963112045530651499711971602373383616145265782769236292527306465370837999724676667054406160807548051811115528424292956998046468531547133586551168854268750519968247047787292550810912464078079843053964142157462427437903581857545003151713259442943559433039072316244866672372435114226294323435255622005968595939766102124404729415980361040851739677270129710680254505005965717818564111992990965048270418688594639875678098158109280845605330821515342254330625223190159199 546262147717233632335820294794442539952546986698056642590720742333753968934681213791506586380853226880852817049611796014772246155238563640983478624098749905530149980451899678149070987122262094374308796428837066274843967495326854852694773044282677706982336448524676985739761175774474719410778693998387348376273148415946820287628495191417581855252371875743487623360979183513138620080045245049664760585027148082830713854818600250337193816039111253618767328051802553974811025343459600149874891210684560340136149920038529908500707665858713911492675801868472542944256233850213872924024766078484703038057195535335677669036980330648203232723645937034775447532470068867954526208347990866274090367112435673806112898920976240517817779291138744832043105276510610814085014393992383126729167263214521351146494495726215010361877676325138719124185438866622648027738777136997118645052384924617937594318933277817930842331274641631798011340984957900165218243898798170987147256997588390455742696878107248774366015430279578331725585354216439986285092561634359650192434311368527135477186720414902661403737954867840018750718997852477703910741126458125994542949164406150033348388589692456280067506840341950919844664322 883870721773999800798379572073788767627550903649305048826484675714111312518227436126544511102096073578878690941377770786245208490630814222440492906499256984297810300813844425546145622413965877754526708622667952225430464151930778538451056599261194068541031102115369901915094009366839783879839118508930725723260018266937041535674748269566755721988161822240196842736654836267369087375787570953728411382167858602375714515015685168893236339842836154223832655701456078396931509932555108665242807757851576525478790042349508956611361805152591221918320556035945003858312319410263270759517642684474451916135599847744197101869151861610449792183364714858107365870311492829509820554987803675725405770748996079372319992437839226074140808413947315795155150807162110526056616767375999271994950032450813878452959866564214735038544730731299526672237249982151072320695775183465650192185971475786791863069453246064978629623825452544262089420828011864307375706326236074569004802000740103715185640437540287846682260296951950766839811648539875241907098530230299416294558716097943115838227572154579931533448635122345024716436816416589696901706174728544683137589040084248191457669435297787101582849094672576143034823521 1430132869491233433134199866868231307580097890347361691417205418047865281452908649918051097482949300459731507990989566801017454645869377863423971530598006889827960281265744103695216609536227972128835505051505018500274431647257633391145829643543871775523367550640046887654855185141314503290617812507318074099533166682883861823303243460984337577240533697983684466097634019780507707455832816003393171967195006685206428369834285419230430155881947407842599983753258632371742535276014708815117698968536136865614939962388038865112069471011305133410996357904417546802568553260477143683542408762959154954192795383079874770906132192258653024907010651892882813402781561697464346763335794541999496137861431753178432891358815466591958587705086060627198256083672721340141631161368382398724117295665335229599454362290429745400422407056438245796422688848773720348434552320462768837238356400404729457388386523882909471955100094176060100761812969764472593950225034245556152058998328494170928337315647536621048275727231529098565397002756315228192191091864659066486993027466470251315414292569482592937186589990185043467155814269067400812447301186670677680538204490398224806058024990243381650355935014527062879487843 2314003591265233233932579438942020075207648793996666740243690093761976593971136086044595608585045374038610198932367337587262663136500192085864464437097263874125770582079588529241362231950193849883362213674172970725704895799188411929596886242805065844064398652755416789569949194508154287170456931016248799822793184949820903358977991730551093299228695520223881308834288856047876794831620386957121583349362865287582142884849970588123666495724783562066432639454714710768674045208569817480360506726387713391093730004737547821723431276163896355329316913940362550660880872670740414443060051447433606870328395230824071872775284053869102817090375366750990179273093054526974167318323598217724901908610427832550752883796654692666099396119033376422353406890834831866198247928744381670719067328116149108052414228854644480438967137787737772468659938830924792669130327503928419029424327876191521320457839769947888101578925546720322190182640981628779969656551270320125156860999068597886113977753187824467730536024183479865405208651296190470099289622094958482781551743564413367153641864724062524470635225112530068183592630685657097714153475915215360818127244574646416263727460288030483233205029687103205914311364 3744136460756466667066779305810251382787746684344028431660895511809841875424044735962646706067994674498341706923356904388280117782369569949288435967695270763953730863345332632936578841486421822012197718725677989225979327446446045320742715886348937619587766203395463677224804379649468790461074743523566873922326351632704765182281235191535430876469229218207565774931922875828384502287453202960514755316557871972788571254684256007354096651606730969909032623207973343140416580484584526295478205694923850256708669967125586686835500747175201488740313271844780097463449425931217558126602460210392761824521190613903946643681416246127755841997386018643872992675874616224438514081659392759724398046471859585729185775155470159258057983824119437049551662974507553206339879090112764069443184623781484337651868591145074225839389544844176018265082627679698513017564879824391187866662684276596250777846226293830797573534025640896382290944453951393252563606776304565681308919997397092057042315068835361088778811751415008963970605654052505698291480713959617549268544771030883618469056157293545117407821815102715111650748444954724498526600777101886038498665449065044641069785485278273864883560964701630268793799207 6058140052021699900999358744752271457995395478340695171904585605571818469395180822007242314653040048536951905855724241975542780918869762035152900404792534638079501445424921162177941073436615671895559932399850959951684223245634457250339602129154003463652164856150880466794753574157623077631531674539815673745119536582525668541259226922086524175697924738431447083766211731876261297119073589917636338665920737260370714139534226595477763147331514531975465262662688053909090625693154343775838712421311563647802399971863134508558932023339097844069630185785142648124330298601957972569662511657826368694849585844728018516456700299996858659087761385394863171948967670751412681399982990977449299955082287418279938658952124851924157379943152813471905069865342385072538127018857145740162251951897633445704282819999718706278356682631913790733742566510623305686695207328319606896087012152787772098304066063778685675112951187616704481127094933022032533263327574885806465780996465689943156292822023185556509347775598488829375814305348696168390770336054576032050096514595296985622698022017607641878457040215245179834341075640381596240754253017101399316792693639691057333512945566304348116765994388733474708110571 9802276512778166568066138050562522840783142162684723603565481117381660344819225557969889020721034723035293612779081146363822898701239331984441336372487805402033232308770253795114519914923037493907757651125528949177663550692080502571082318015502941083239931059546344144019557953807091868092606418063382547667445888215230433723540462113621955052167153956639012858698134607704645799406526792878151093982478609233159285394218482602831859798938245501884497885870661397049507206177738870071316918116235413904511069938988721195394432770514299332809943457629922745587779724533175530696264971868219130519370776458631965160138116546124614501085147404038736164624842286975851195481642383737173698001554147004009124434107595011182215363767272250521456732839849938278878006108969909809605436575679117783356151411144792932117746227476089808998825194190321818704260087152710794762749696429384022876150292357609483248646976828513086772071548884415285096870103879451487774700993862782000198607890858546645288159527013497793346419959401201866682251050014193581318641285626180604091754179311152759286278855317960291485089520595106094767355030118987437815458142704735698403298430844578213000326959090363743501909778 15860416564799866469065496795314794298778537641025418775470066722953478814214406379977131335374074771572245518634805388339365679620109094019594236777280340040112733754195174957292460988359653165803317583525379909129347773937714959821421920144656944546892095915697224610814311527964714945724138092603198221412565424797756102264799689035708479227865078695070459942464346339580907096525600382795787432648399346493529999533752709198309622946269760033859963148533349450958597831870893213847155630537546977552313469910851855703953364793853397176879573643415065393712110023135133503265927483526045499214220362303359983676594816846121473160172908789433599336573809957727263876881625374714622997956636434422289063093059719863106372743710425063993361802705192323351416133127827055549767688527576751229060434231144511638396102910108003599732567760700945124390955294481030401658836708582171794974454358421388168923759928016129791253198643817437317630133431454337294240481990328471943354900712881732201797507302611986622722234264749898035073021386068769613368737800221477589714452201328760401164735895533205471319430596235487691008109283136088837132250836344426755736811376410882561117092953479097218210020349 25662693077578033037131634845877317139561679803710142379035547840335139159033631937947020356095109494607539131413886534703188578321348426004035573149768145442145966062965428752406980903282690659711075234650908858307011324629795462392504238160159885630132026975243568754833869481771806813816744510666580769080011313012986535988340151149330434280032232651709472801162480947285552895932127175673938526630877955726689284927971191801141482745208005535744461034404010848008105038048632083918472548653782391456824539849840576899347797564367696509689517101044988139299889747668309033962192455394264629733591138761991948836732933392246087661258056193472335501198652244703115072363267758451796695958190581426298187527167314874288588107477697314514818535545042261630294139236796965359373125103255869012416585642289304570513849137584093408731392954891266943095215381633741196421586405011555817850604650778997652172406904844642878025270192701852602727003535333788782015182984191253943553508603740278847085666829625484416068654224151099901755272436082963194687379085847658193806206380639913160451014750851165762804520116830593785775464313255076274947708979049162454140109807255460774117419912569460961711930127 41523109642377899506197131641192111438340217444735561154505614563288617973248038317924151691469184266179784650048691923042554257941457520023629809927048485482258699817160603709699441891642343825514392818176288767436359098567510422213926158304816830177024122890940793365648181009736521759540882603269778990492576737810742638253139840185038913507897311346779932743626827286866459992457727558469725959279277302220219284461723900999451105691477765569604424182937360298966702869919525297765628179191329369009138009760692432603301162358221093686569090744460053533011999770803442537228119938920310128947811501065351932513327750238367560821430964982905934837772462202430378949244893133166419693914827015848587250620227034737394960851188122378508180338250234584981710272364624020909140813630832620241477019873433816208909952047692097008463960715592212067486170676114771598080423113593727612825059009200385821096166832860772669278468836519289920357136966788126076255664974519725886908409316622011048883174132237471038790888488900997936828293822151732808056116886069135783520658581968673561615750646384371234123950713066081476783573596391165112079959815393589209876921183666343335234512866048558179921950476 67185802719955932543328766487069428577901897248445703533541162403623757132281670255871172047564293760787323781462578457745742836262805946027665383076816630924404665880126032462106422794925034485225468052827197625743370423197305884606430396464976715807156149866184362120482050491508328573357627113936359759572588050823729174241479991334369347787929543998489405544789308234152012888389854734143664485910155257946908569389695092800592588436685771105348885217341371146974807907968157381684100727845111760465962549610533009502648959922588790196258607845505041672311889518471751571190312394314574758681402639827343881350060683630613648482689021176378270338971114447133494021608160891618216389873017597274885438147394349611683548958665819693022998873795276846612004411601420986268513938734088489253893605515723120779423801185276190417195353670483479010581386057748512794502009518605283430675663659979383473268573737705415547303739029221142523084140502121914858270847958710979830461917920362289895968840961862955454859542713052097838583566258234696002743495971916793977326864962608586722066765397235536996928470829896675262559037909646241387027668794442751664017030990921804109351932778618019141633880603 108708912362333832049525898128261540016242114693181264688046776966912375105529708573795323739033478026967108431511270380788297094204263466051295193003865116406663365697286636171805864686567378310739860871003486393179729521764816306820356554769793545984180272757125155486130231501244850332898509717206138750065164788634471812494619831519408261295826855345269338288416135521018472880847582292613390445189432560167127853851418993800043694128163536674953309400278731445941510777887682679449728907036441129475100559371225442105950122280809883882827698589965095205323889289275194108418432333234884887629214140892695813863388433868981209304119986159284205176743576649563872970853054024784636083787844613123472688767621384349078509809853942071531179212045511431593714683966045007177654752364921109495370625389156936988333753232968287425659314386075691078067556733863284392582432632199011043500722669179769294364740570566188216582207865740432443441277468910040934526512933230705717370327236984300944852015094100426493650431201953095775411860080386428810799612857985929760847523544577260283682516043619908231052421542962756739342611506037406499107628609836340873893952174588147444586445644666577321555831079 175894715082289764592854664615330968594144011941626968221587939370536132237811378829666495786597771787754432212973848838534039930467069412078960576080681747331068031577412668633912287481492412795965328923830684018923099944962122191426786951234770261791336422623309517606612281992753178906256136831142498509637752839458200986736099822853777609083756399343758743833205443755170485769237437026757054931099587818114036423241114086600636282564849307780302194617620102592916318685855840061133829634881552889941063108981758451608599082203398674079086306435470136877635778807746945679608744727549459646310616780720039695213449117499594857786809007335662475515714691096697366992461214916402852473660862210398358126915015733960762058768519761764554178085840788278205719095567465993446168691099009598749264230904880057767757554418244477842854668056559170088648942791611797187084442150804294474176386329159152767633314308271603763885946894961574966525417971031955792797360891941685547832245157346590840820856055963381948509973915005193613995426338621124813543108829902723738174388507185847005749281440855445227980892372859432001901649415683647886135297404279092537910983165509951553938378423284596463189711682 284603627444623596642380562743592508610386126634808232909634716337448507343341087403461819525631249814721540644485119219322337024671332878130255769084546863737731397274699304805718152168059791106705189794834170412102829466726938498247143506004563807775516695380434673092742513493998029239154646548348637259702917628092672799230719654373185870379583254689028082121621579276188958650085019319370445376289020378281164277092533080400679976693012844455255504017898834038857829463743522740583558541917994019416163668352983893714549204484208557961914005025435232082959668097022139788027177060784344533939830921612735509076837551368576067090928993494946680692458267746261239963314268941187488557448706823521830815682637118309840568578373703836085357297886299709799433779533511000623823443463930708244634856294036994756091307651212765268513982442634861166716499525475081579666874783003305517677108998338922061998054878837791980468154760702007409966695439941996727323873825172391265202572394330891785672871150063808442160405116958289389407286419007553624342721687888653499021912051763107289431797484475353459033313915822188741244260921721054385242926014115433411804935340098098998524824067951173784745542761 460498342526913361235235227358923477204530138576435201131222655707984639581152466233128315312229021602475972857458968057856376955138402290209216345165228611068799428852111973439630439649552203902670518718664854431025929411689060689673930457239334069566853118003744190699354795486751208145410783379491135769340670467550873785966819477226963479463339654032786825954827023031359444419322456346127500307388608196395200700333647167001316259257862152235557698635518936631774148149599362801717388176799546909357226777334742345323148286687607232041000311460905368960595446904769085467635921788333804180250447702332775204290286668868170924877738000830609156208172958842958606955775483857590341031109569033920188942597652852270602627346893465600639535383727087988005152875100976994069992134562940306993899087198917052523848862069457243111368650499194031255365442317086878766751316933807599991853495327498074829631369187109395744354101655663582376492113410973952520121234717114076813034817551677482626493727206027190390670379031963483003402712757628678437885830517791377237196300558948954295181078925330798687014206288681620743145910337404702271378223418394525949715918505608050552463202491235770247935254443 745101969971536957877615790102515985814916265211243434040857372045433146924493553636590134837860271417197513501944087277178713979809735168339472114249775474806530826126811278245348591817611995009375708513499024843128758878415999187921073963243897877342369813384178863792097308980749237384565429927839773029043588095643546585197539131600149349842922908721814908076448602307548403069407475665497945683677628574676364977426180247401996235950874996690813202653417770670631977613342885542300946718717540928773390445687726239037697491171815790002914316486340601043555115001791225255663098849118148714190278623945510713367124220236746991968666994325555836900631226589219846919089752798777829588558275857442019758280289970580443195925267169436724892681613387697804586654634487994693815578026871015238533943492954047279940169720670008379882632941828892422081941842561960346418191716810905509530604325836996891629424065947187724822256416365589786458808850915949247445108542286468078237389946008374412166598356090998832830784148921772392809999176636232062228552205680030736218212610712061584612876409806152146047520204503809484390171259125756656621149432509959361520853845706149550988026559186944032680797204 1205600312498450319112851017461439463019446403787678635172080027753417786505646019869718450150089293019673486359403055335035090934948137458548688459415004085875330254978923251684979031467164198912046227232163879274154688290105059877595004420483231946909222931387923054491452104467500445529976213307330908798384258563194420371164358608827112829306262562754601734031275625338907847488729932011625445991066236771071565677759827414403312495208737148926370901288936707302406125762942248344018334895517087838130617223022468584360845777859423022043914627947245970004150561906560310723299020637451952894440726326278285917657410889104917916846404995156164993108804185432178453874865236656368170619667844891362208700877942822851045823272160635037364428065340475685809739529735464988763807712589811322232433030691871099803789031790127251491251283441022923677447384159648839113169508650618505501384099653335071721260793253056583469176358072029172162950922261889901767566343259400544891272207497685857038660325562118189223501163180885255396212711934264910500114382723471407973414513169661015879793955335136950833061726493185430227536081596530458927999372850904485311236772351314200103451229050422714280616051647 1950702282469987276990466807563955448834362668998922069212937399798850933430139573506308584987949564436870999861347142612213804914757872626888160573664779560681861081105734529930327623284776193921421935745662904117283447168521059065516078383727129824251592744772101918283549413448249682914541643235170681827427846658837966956361897740427262179149185471476416642107724227646456250558137407677123391674743865345747930655186007661805308731159612145617184103942354477973038103376285133886319281614234628766904007668710194823398543269031238812046828944433586571047705676908351535978962119486570101608631004950223796631024535109341664908815071989481720830009435412021398300793954989455146000208226120748804228459158232793431489019197427804474089320746953863383614326184369952983457623290616682337470966974184825147083729201510797259871133916382851816099529326002210799459587700367429411010914703979172068612890217319003771193998614488394761949409731112805851015011451801687012969509597443694231450826923918209188056331947329807027789022711110901142562342934929151438709632725780373077464406831744943102979109246697689239711926252855656215584620522283414444672757626197020349654439255609609658313296848851 3156302594968437596103317825025394911853809072786600704385017427552268719935785593376027035138038857456544486220750197947248895849706010085436849033079783646557191336084657781615306654751940392833468162977826783391438135458626118943111082804210361771160815676160024972775001517915750128444517856542501590625812105222032387327526256349254375008455448034231018376138999852985364098046867339688748837665810102116819496332945835076208621226368349294543555005231291185275444229139227382230337616509751716605034624891732663407759389046890661834090743572380832541051856238814911846702261140124022054503071731276502082548681945998446582825661476984637885823118239597453576754668820226111514170827893965640166437160036175616282534842469588439511453748812294339069424065714105417972221431003206493659703400004876696246887518233300924511362385199823874739776976710161859638572757209018047916512298803632507140334151010572060354663174972560423934112360653374695752782577795061087557860781804941380088489487249480327377279833110510692283185235423045166053062457317652622846683047238950034093344200787080080053812170973190874669939462334452186674512619895134318929983994398548334549757890484660032372593912900498 5107004877438424873093784632589350360688171741785522773597954827351119653365925166882335620125988421893415486082097340559462700764463882712325009606744563207239052417190392311545634278036716586754890098723489687508721582627147178008627161187937491595412408420932126891058550931363999811359059499777672272453239951880870354283888154089681637187604633505707435018246724080631820348605004747365872229340553967462567426988131842738013929957527961440160739109173645663248482332515512516116656898123986345371938632560442858231157932315921900646137572516814419112099561915723263382681223259610592156111702736226725879179706481107788247734476548974119606653127675009474975055462775215566660171036120086388970665619194408409714023861667016243985543069559248202453038391898475370955679054293823175997174366979061521393971247434811721771233519116206726555876506036164070438032344909385477327523213507611679208947041227891064125857173587048818696061770384487501603797589246862774570830291402385074319940314173398536565336165057840499310974258134156067195624800252581774285392679964730407170808607618825023156791280219888563909651388587307842890097240417417733374656752024745354899412329740269642030907209749349 8263307472406862469197102457614745272541980814572123477982972254903388373301710760258362655264027279349959972302847538506711596614169892797761858639824346853796243753275050093160940932788656979588358261701316470900159718085773296951738243992147853366573224097092151863833552449279749939803577356320173863079052057102902741611414410438936012196060081539938453394385723933617184446651872087054621067006364069579386923321077677814222551183896310734704294114404936848523926561654739898346994514633738061976973257452175521638917321362812562480228316089195251653151418154538175229383484399734614210614774467503227961728388427106234830560138025958757492476245914606928551810131595441678174341864014052029137102779230584025996558704136604683496996818371542541522462457612580788927900485297029669656877766983938217640858765668112646282595904316030601295653482746325930076605102118403525244035512311244186349281192238463124480520348559609242630174131037862197356580167041923862128691073207326454408429801422878863942615998168351191594159493557201233248687257570234397132075727203680441264152808405905103210603451193079438579590850921760029564609860312552052304640746423293689449170220224929674403501122649847 13370312349845287342290887090204095633230152556357646251580927082254508026667635927140698275390015701243375458384944879066174297378633775510086868246568910061035296170465442404706575210825373566343248360424806158408881300712920474960365405180085344961985632518024278754892103380643749751162636856097846135532292008983773095895302564528617649383664715045645888412632448014249004795256876834420493296346918037041954350309209520552236481141424272174865033223578582511772408894170252414463651412757724407348911890012618379870075253678734463126365888606009670765250980070261438612064707659345206366726477203729953840908094908214023078294614574932877099129373589616403526865594370657244834512900134138418107768398424992435710582565803620927482539887930790743975500849511056159883579539590852845654052133962999739034830013102924368053829423432237327851529988782490000514637447027789002571558725818855865558228233466354188606377522146658061326235901422349698960377756288786636699521364609711528728370115596277400507952163226191690905133751691357300444312057822816171417468407168410848434961416024730126367394731412968002489242239509067872454707100729969785679297498448039044348582549965199316434408332399196 21633619822252149811487989547818840905772133370929769729563899337157896399969346687399060930654042980593335430687792417572885893992803668307848726886393256914831539923740492497867516143614030545931606622126122629309041018798693771912103649172233198328558856615116430618725655829923499690966214212418019998611344066086675837506716974967553661579724796585584341807018171947866189241908748921475114363353282106621341273630287198366459032325320582909569327337983519360296335455824992312810645927391462469325885147464793901508992575041547025606594204695204922418402398224799613841448192059079820577341251671233181802636483335320257908854752600891634591605619504223332078675725966098923008854764148190447244871177655576461707141269940225610979536706302333285497963307123636948811480024887882515310929900946937956675688778771037014336425327748267929147183471528815930591242549146192527815594238130100051907509425704817313086897870706267303956410032460211896316957923330710498828212437817037983136799917019156264450568161394542882499293245248558533692999315393050568549544134372091289699114224430635229577998182606047441068833090430827902019316961042521837983938244871332733797752770190128990837909455049043 35003932172097437153778876638022936539002285927287415981144826419412404426636982614539759206044058681836710889072737296639060191371437443817935595132962166975866836094205934902574091354439404112274854982550928787717922319511614246872469054352318543290544489133140709373617759210567249442128851068515866134143636075070448933402019539496171310963389511631230230219650619962115194037165625755895607659700200143663295623939496718918695513466744855084434360561562101872068744349995244727274297340149186876674797037477412281379067828720281488732960093301214593183653378295061052453512899718425026944067728874963135643544578243534280987149367175824511690734993093839735605541320336756167843367664282328865352639576080568897417723835743846538462076594233124029473464156634693108695059564478735360964982034909937695710518791873961382390254751180505256998713460311305931105879996173981530387152963948955917465737659171171501693275392852925365282645933882561595277335679619497135527733802426749511865170032615433664958520324620734573404426996939915834137311373215866739967012541540502138134075640455365355945392914019015443558075329939895774474024061772491623663235743319371778146335320155328307272317787448239 56637551994349586965266866185841777444774419298217185710708725756570300826606329301938820136698101662430046319760529714211946085364241112125784322019355423890698376017946427400441607498053434658206461604677051417026963338310308018784572703524551741619103345748257139992343415040490749133095065280933886132754980141157124770908736514463724972543114308216814572026668791909981383279074374677370722023053482250284636897569783917285154545792065437994003687899545621232365079805820237040084943267540649346000682184942206182888060403761828514339554297996419515602055776519860666294961091777504847521408980546196317446181061578854538896004119776716146282340612598063067684217046302855090852222428430519312597510753736145359124865105684072149441613300535457314971427463758330057506539589366617876275911935856875652386207570644998396726680078928773186145896931840121861697122545320174058202747202079055969373247084875988814780173263559192669239055966342773491594293602950207634355946240243787495001969949634589929409088486015277455903720242188474367830310688608917308516556675912593427833189864886000585523391096625062884626908420370723676493341022815013461647173988190704511944088090345457298110227242497282 91641484166447024119045742823864713983776705225504601691853552175982705253243311916478579342742160344266757208833267010851006276735678555943719917152317590866565212112152362303015698852492838770481316587227980204744885657821922265657041757876870284909647834881397849365961174251057998575223916349449752266898616216227573704310756053959896283506503819848044802246319411872096577316240000433266329682753682393947932521509280636203850059258810293078438048461107723104433824155815481767359240607689836222675479222419618464267128232482110003072514391297634108785709154814921718748473991495929874465476709421159453089725639822388819883153486952540657973075605691902803289758366639611258695590092712848177950150329816714256542588941427918687903689894768581344444891620393023166201599153845353237240893970766813348096726362518959779116934830109278443144610392151427792803002541494155588589900166028011886838984744047160316473448656412118034521701900225335086871629282569704769883680042670537006867139982250023594367608810636012029308147239128390201967622061824784048483569217453095565967265505341365941468784010644078328184983750310619450967365084587505085310409731510076290090423410500785605382545029945521 148279036160796611084312609009706491428551124523721787402562277932553006079849641218417399479440262006696803528593796725062952362099919668069504239171673014757263588130098789703457306350546273428687778191905031621771848996132230284441614461401422026528751180629654989358304589291548747708318981630383638399653596357384698475219492568423621256049618128064859374272988203782077960595314375110637051705807164644232569419079064553489004605050875731072441736360653344336798903961635718807444183875230485568676161407361824647155188636243938517412068689294053624387764931334782385043435083273434721986885689967355770535906701401243358779157606729256804255416218289965870973975412942466349547812521143367490547661083552859615667454047111990837345303195304038659416319084151353223708138743211971113516805906623689000482933933163958175843614909038051629290507323991549654500125086814329646792647368107067856212231828923149131253621919971310703760757866568108578465922885519912404239626282914324501869109931884613523776697296651289485211867481316864569797932750433701357000125893365688993800455370227366526992175107269141212811892170681343127460706107402518546957583719700780802034511500846242903492772272442803 239920520327243635203358351833571205412327829749226389094415830108535711333092953134895978822182422350963560737427063735913958638835598224013224156323990605623828800242251152006473005203039112199169094779133011826516734653954152550098656219278292311438399015511052838724265763542606746283542897979833390666552212573612272179530248622383517539556121947912904176519307615654174537911554375543903381388560847038180501940588345189692854664309686024150879784821761067441232728117451200574803424482920321791351640629781443111422316868726048520484583080591687733173474086149704103791909074769364596452362399388515223625632341223632178662311093681797462228491823981868674263733779582077608243402613856215668497811413369573872210042988539909525248993090072620003861210704544376389909737897057324350757699877390502348579660295682917954960549739147330072435117716142977447303127628308485235382547534135079743051216572970309447727070576383428738282459766793443665337552168089617174123306325584861508736249914134637118144306107287301514520014720445254771765554812258485405483695110818784559767720875568732468460959117913219540996875920991962578428071191990023632267993451210857092124934911347028508875317302388324 388199556488040246287670960843277696840878954272948176496978108041088717412942594353313378301622684357660364266020860460976911000935517892082728395495663620381092388372349941709930311553585385627856872971038043448288583650086382834540270680679714337967150196140707828082570352834155493991861879610217029066205808930996970654749741190807138795605740075977763550792295819436252498506868750654540433094368011682413071359667409743181859269360561755223321521182414411778031632079086919382247608358150807360027802037143267758577505504969987037896651769885741357561239017484486488835344158042799318439248089355870994161539042624875537441468700411054266483908042271834545237709192524543957791215134999583159045472496922433487877497035651900362594296285376658663277529788695729613617876640269295464274505784014191349062594228846876130804164648185381701725625040134527101803252715122814882175194902242147599263448401893458578980692496354739442043217633361552243803475053609529578362932608499186010605359846019250641921003403938590999731882201762119341563487562692186762483821004184473553568176245796098995453134225182360753808768091673305705888777299392542179225577170911637894159446412193271412368089574831127 628120076815283881491029312676848902253206784022174565591393938149624428746035547488209357123805106708623925003447924196890869639771116116095952551819654226004921188614601093716403316756624497827025967750171055274805318304040535384638926899958006649405549211651760666806836116376762240275404777590050419732758021504609242834279989813190656335161862023890667727311603435090427036418423126198443814482928858720593573300255754932874713933670247779374201306004175479219264360196538119957051032841071129151379442666924710869999822373696035558381234850477429090734713103634190592627253232812163914891610488744386217787171383848507716103779794092851728712399866253703219501442972106621566034617748855798827543283910292007360087540024191809887843289375449278667138740493240106003527614537326619815032205661404693697642254524529794085764714387332711774160742756277504549106380343431300117557742436377227342314664974863768026707763072738168180325677400154995909141027221699146752486238934084047519341609760153887760065309511225892514251896922207374113329042374950672167967516115003258113335897121364831463914093343095580294805644012665268284316848491382565811493570622122494986284381323540299921243406877219451 1016319633303324127778700273520126599094085738295122742088372046190713146158978141841522735425427791066284289269468784657867780640706634008178680947315317846386013576986951035426333628310209883454882840721209098723093901954126918219179197580637720987372699407792468494889406469210917734267266657200267448798963830435606213489029731003997795130767602099868431278103899254526679534925291876852984247577296870403006644659923164676056573203030809534597522827186589890997295992275625039339298641199221936511407244704067978628577327878666022596277886620363170448295952121118677081462597390854963233330858578100257211948710426473383253545248494503905995196307908525537764739152164631165523825832883855381986588756407214440847965037059843710250437585660825937330416270281935835617145491177595915279306711445418885046704848753376670216568879035518093475886367796412031650909633058554114999732937338619374941578113376757226605688455569092907622368895033516548152944502275308676330849171542583233529946969606173138401986312915164483513983779123969493454892529937642858930451337119187731666904073367160930459367227568277941048614412104338573990205625790775107990719147793034132880443827735733571333611496452050578 1644439710118608009269729586196975501347292522317297307679765984340337574905013689329732092549232897774908214272916708854758650280477750124274633499134972072390934765601552129142736945066834381281908808471380153997899220258167453603818124480595727636778248619444229161696242585587679974542671434790317868531721851940215456323309720817188451465929464123759099005415502689617106571343715003051428062060225729123600217960178919608931287136701057313971724133190765370216560352472163159296349674040293065662786687370992689498577150252362058154659121470840599539030665224752867674089850623667127148222469066844643429735881810321890969649028288596757723908707774779240984240595136737787089860450632711180814132040317506448208052577084035520138280875036275215997555010775175941620673105714922535094338917106823578744347103277906464302333593422850805250047110552689536200016013401985415117290679774996602283892778351620994632396218641831075802694572433671544062085529497007823083335410476667281049288579366327026162051622426390376028235676046176867568221572312593531098418853234190989780239970488525761923281320911373521343420056117003842274522474282157673802212718415156627866728209059273871254854903329270029 2660759343421932137048429859717102100441378260612420049768138030531050721063991831171254827974660688841192503542385493512626430921184384132453314446450289918776948342588503164569070573377044264736791649192589252720993122212294371822997322061233448624150948027236697656585649054798597708809938091990585317330685682375821669812339451821186246596697066223627530283519401944143786106269006879904412309637522599526606862620102084284987860339731866848569246960377355261213856344747788198635648315239515002174193932075060668127154478131028080750937008091203769987326617345871544755552448014522090381553327644944900641684592236795274223194276783100663719105015683304778748979747301368952613686283516566562800720796724720889056017614143879230388718460697101153327971281057111777237818596892518450373645628552242463791051952031283134518902472458368898725933478349101567850925646460539530117023617113615977225470891728378221238084674210923983425063467467188092215030031772316499414184582019250514579235548972500164564037935341554859542219455170146361023114102250236390028870190353378721447144043855686692382648548479651462392034468221342416264728100072932781792931866208190760747172036795007442588466399781320607 4305199053540540146318159445914077601788670782929717357447904014871388295969005520500986920523893586616100717815302202367385081201662134256727947945585261991167883108190055293711807518443878646018700457663969406718892342470461825426815446541829176260929196646680926818281891640386277683352609526780903185862407534316037126135649172638374698062626530347386629288934904633760892677612721882955840371697748328650207080580281003893919147476432924162540971093568120631430416697219951357931997989279808067836980619446053357625731628383390138905596129562044369526357282570624412429642298638189217529775796711789544071420474047117165192843305071697421443013723458084019733220342438106739703546734149277743614852837042227337264070191227914750526999335733376369325526291832287718858491702607440985467984545659066042535399055309189598821236065881219703975980588901791104050941659862524945234314296888612579509363670079999215870480892852755059227758039900859636277115561269324322497519992495917795628524128338827190726089557767945235570455131216323228591335674562829921127289043587569711227384014344212454305929869391024983735454524338346258539250574355090455595144584623347388613900245854281313843321303110590636 6965958396962472283366589305631179702230049043542137407216042045402439017032997351672241748498554275457293221357687695880011512122846518389181262392035551909944831450778558458280878091820922910755492106856558659439885464682756197249812768603062624885080144673917624474867540695184875392162547618771488503193093216691858795947988624459560944659323596571014159572454306577904678783881728762860252681335270928176813943200383088178907007816164791011110218053945475892644273041967739556567646304519323070011174551521114025752886106514418219656533137653248139513683899916495957185194746652711307911329124356734444713105066283912439416037581854798085162118739141388798482200089739475692317233017665844306415573633766948226320087805371793980915717796430477522653497572889399496096310299499959435841630174211308506326451007340472733340138538339588602701914067250892671901867306323064475351337914002228556734834561808377437108565567063679042652821507368047728492145593041640821911704574515168310207759677311327355290127493109500095112674586386469589614449776813066311156159233940948432674528058199899146688578417870676446127488992559688674803978674428023237388076450831538149361072282649288756431787702891911243 11271157450503012429684748751545257304018719826471854764663946060273827313002002872173228669022447862073393939172989898247396593324508652645909210337620813901112714558968613751992685610264801556774192564520528066158777807153218022676628215144891801146009341320598551293149432335571153075515157145552391689055500751007895922083637797097935642721950126918400788861389211211665571461494450645816093053033019256827021023780664092072826155292597715173651189147513596524074689739187690914499644293799131137848155170967167383378617734897808358562129267215292509040041182487120369614837045290900525441104921068523988784525540331029604608880886926495506605132462599472818215420432177582432020779751815122050030426470809175563584157996599708731442717132163853891979023864721687214954802002107400421309614719870374548861850062649662332161374604220808306677894656152683775952808966185589420585652210890841136244198231888376652979046459916434101880579547268907364769261154310965144409224567011086105836283805650154546016217050877445330683129717602792818205785451375896232283448277528518143901912072544111600994508287261701429862943516898034933343229248783113692983221035454885537974972528503570070275109006002501879 18237115847465484713051338057176437006248768870013992171879988105676266330035000223845470417521002137530687160530677594127408105447355171035090472729656365811057546009747172210273563702085724467529684671377086725598663271835974219926440983747954426031089485994516175768016973030756028467677704764323880192248593967699754718031626421557496587381273723489414948433843517789570250245376179408676345734368290185003834966981047180251733163108762506184761407201459072416718962781155430471067290598318454207859329722488281409131503841412226578218662404868540648553725082403616326800031791943611833352434045425258433497630606614942044024918468781293591767251201740861616697620521917058124338012769480966356446000104576123789904245801971502712358434928594331414632521437611086711051112301607359857151244894081683055188301069990135065501513142560396909379808723403576447854676272508653895936990124893069692979032793696754090087612026980113144533401054636955093261406747352605966320929141526254416044043482961481901306344543986945425795804303989262407820235228188962543439607511469466576576440130744010747683086705132377875990432509457723608147207923211136930371297486286423687336044811152858826706896708894413122 29508273297968497142736086808721694310267488696485846936543934165950093643037003096018699086543449999604081099703667492374804698771863823680999683067277179712170260568715785962266249312350526024303877235897614791757441078989192242603069198892846227177098827315114727061166405366327181543192861909876271881304094718707650640115264218655432230103223850407815737295232729001235821706870630054492438787401309441830855990761711272324559318401360221358412596348972668940793652520343121385566934892117585345707484893455448792510121576310034936780791672083833157593766264890736696414868837234512358793538966493782422282156146945971648633799355707789098372383664340334434913040954094640556358792521296088406476426575385299353488403798571211443801152060758185306611545302332773926005914303714760278460859613952057604050151132639797397662887746781205216057703379556260223807485238694243316522642335783910829223231025585130743066658486896547246413980601905862458030667901663571110730153708537340521880327288611636447322561594864390756478934021592055226026020679564858775723055788997984720478352203288122348677594992394079305853376026355758541490437171994250623354518521741309225311017339656428896982005714896915001 47745389145433981855787424865898131316516257566499839108423922271626359973072003319864169504064452137134768260234345086502212804219218994716090155796933545523227806578462958172539813014436250491833561907274701517356104350825166462529510182640800653208188313309630902829183378397083210010870566674200152073552688686407405358146890640212928817484497573897230685729076246790806071952246809463168784521769599626834690957742758452576292481510122727543174003550431741357512615301498551856634225490436039553566814615943730201641625417722261514999454076952373806147491347294353023214900629178124192145973011919040855779786753560913692658717824489082690139634866081196051610661476011698680696805290777054762922426679961423143392649600542714156159586989352516721244066739943860637057026605322120135612104508033740659238452202629932463164400889341602125437512102959836671662161511202897212459632460676980522202263819281884833154270513876660390947381656542817551292074649016177077051082850063594937924370771573118348628906138851336182274738325581317633846255907753821319162663300467451297054792334032133096360681697526457181843808535813482149637645095205387553725816008027732912647062150809287723688902423791328123 77253662443402478998523511674619825626783746262985686044967856437576453616109006415882868590607902136738849359938012578877017502991082818397089838864210725235398067147178744134806062326786776516137439143172316309113545429814358705132579381533646880385287140624745629890349783763410391554063428584076423954856783405115055998262154858868361047587721424305046423024308975792041893659117439517661223309170909068665546948504469724900851799911482948901586599899404410298306267821841673242201160382553624899274299509399178994151746994032296451780245749036206963741257612185089719629769466412636550939511978412823278061942900506885341292517180196871788512018530421530486523702430106339237055597812073143169398853255346722496881053399113925599960739050110702027855612042276634563062940909036880414072964121985798263288603335269729860827288636122807341495215482516096895469646749897140528982274796460891351425494844867015576220929000773207637361362258448680009322742550679748187781236558600935459804698060184754795951467733715726938753672347173372859872276587318680094885719089465436017533144537320255445038276689920536487697184562169240691128082267199638177080334529769042137958079490465716620670908138688243124 124999051588836460854310936540517956943300003829485525153391778709202813589181009735747038094672354273873617620172357665379230307210301813113179994661144270758625873725641702307345875341223027007971001050447017826469649780639525167662089564174447533593475453934376532719533162160493601564933995258276576028409472091522461356409045499081289865072218998202277108753385222582847965611364248980830007830940508695500237906247228177477144281421605676444760603449836151655818883123340225098835385872989664452841114125342909195793372411754557966779699825988580769888748959479442742844670095590760743085484990331864133841729654067799033951235004685954478651653396502726538134363906118037917752403102850197932321279935308145640273702999656639756120326039463218749099678782220495200119967514359000549685068630019538922527055537899662323991689525464409466932727585475933567131808261100037741441907257137871873627758664148900409375199514649868028308743914991497560614817199695925264832319408664530397729068831757873144580373872567063121028410672754690493718532495072501414048382389932887314587936871352388541398958387446993669540993097982722840765727362405025730806150537796775050605141641275004344359810562479571247 202252714032238939852834448215137782570083750092471211198359635146779267205290016151629906685280256410612466980110370244256247810201384631510269833525354995994023940872820446442151937668009803524108440193619334135583195210453883872794668945708094413978762594559122162609882945923903993118997423842352999983266255496637517354671200357949650912659940422507323531777694198374889859270481688498491231140111417764165784854751697902377996081333088625346347203349240561954125150945181898341036546255543289352115413634742088189945119405786854418559945575024787733630006571664532462474439562003397294024996968744687411903672554574684375243752184882826267163671926924257024658066336224377154808000914923341101720133190654868137154756398770565356081065089573920776955290824497129763182908423395880963758032752005337185815658873169392184818978161587216808427943067992030462601455010997178270424182053598763225053253509015915985596128515423075665670106173440177569937559750375673452613555967265465857533766891942627940531841606282790059782083019928063353590809082391181508934101479398323332121081408672643986437235077367530157238177660151963531893809629604663907886485067565817188563221131740720965030718701167814371 327251765621075400707145384755655739513383753921956736351751413855982080794471025887376944779952610684486084600282727909635478117411686444623449828186499266752649814598462148749497813009232830532079441244066351962052844991093409040456758509882541947572238048493498695329416108084397594683931419100629576011675727588159978711080245857030940777732159420709600640531079420957737824881845937479321238971051926459666022760998926079855140362754694301791107806799076713609944034068522123439871932128532953804956527760084997385738491817541412385339645401013368503518755531143975205319109657594158037110481959076551545745402208642483409194987189568780745815325323426983562792430242342415072560404017773539034041413125963013777428459398427205112201391129037139526054969606717624963302875937754881513443101382024876108342714411069054508810667687051626275360670653467964029733263272097216011866089310736635098681012173164816394971328030072943693978850088431675130552376950071598717445875375929996255262835723700501085112215478849853180810493692682753847309341577463682922982483869331210646709018280025032527836193464814523826779170758134686372659536992009689638692635605362592239168362773015725309390529263647385618 529504479653314340559979832970793522083467504014427947550111049002761347999761042039006851465232867095098551580393098153891725927613071076133719661711854262746673755471282595191649750677242634056187881437685686097636040201547292913251427455590636361551000643052620857939299054008301587802928842942982575994941983084797496065751446214980591690392099843216924172308773619332627684152327625977812470111163344223831807615750623982233136444087782927137455010148317275564069185013704021780908478384076243157071941394827085575683611223328266803899590976038156237148762102808507667793549219597555331135478927821238957649074763217167784438739374451607012978997250351240587450496578566792227368404932696880135761546316617881914583215797197770468282456218611060303010260431214754726485784361150762477201134134030213294158373284238446693629645848638843083788613721459994492334718283094394282290271364335398323734265682180732380567456545496019359648956261871852700489936700447272170059431343195462112796602615643129025644057085132643240592576712610817200900150659854864431916585348729533978830099688697676514273428542182053984017348418286649904553346621614353546579120672928409427731583904756446274421247964815199989 856756245274389741267125217726449261596851257936384683901862462858743428794232067926383796245185477779584636180675826063527204045024757520757169489898353529499323570069744743941147563686475464588267322681752038059688885192640701953708185965473178309123238691546119553268715162092699182486860262043612152006617710672957474776831692072011532468124259263926524812839853040290365509034173563457133709082215270683497830376749550062088276806842477228928562816947393989174013219082226145220780410512609196962028469154912082961422103040869679189239236377051524740667517633952482873112658877191713368245960886897790503394476971859651193633726564020387758794322573778224150242926820909207299928808950470419169802959442580895692011675195624975580483847347648199829065230037932379689788660298905643990644235516055089402501087695307501202440313535690469359149284374927958522067981555191610294156360675072033422415277855345548775538784575568963053627806350303527831042313650518870887505306719125458368059438339343630110756272563982496421403070405293571048209492237318547354899069218060744625539117968722709042109622006996577810796519176421336277212883613624043185271756278291001666899946677772171583811777228462585607 1386260724927704081827105050697242783680318761950812631451973511861504776793993109965390647710418344874683187761068924217418929972637828596890889151610207792245997325541027339132797314363718098644455204119437724157324925394187994866959613421063814670674239334598740411208014216101000770289789104986594728001559693757754970842583138286992124158516359107143448985148626659622993193186501189434946179193378614907329637992500174044321413250930260156066017827095711264738082404095930167001688888896685440119100410549739168537105714264197945993138827353089680977816279736760990540906208096789268699381439814719029461043551735076818978072465938471994771773319824129464737693423399475999527297213883167299305564505759198777606594890992822746048766303566259260132075490469147134416274444660056406467845369650085302696659460979545947896069959384329312442937898096387953014402699838286004576446632039407431746149543537526281156106241121064982413276762612175380531532250350966143057564738062320920480856040954986759136400329649115139661995647117904388249109642897173411786815654566790278604369217657420385556383050549178631794813867594707986181766230235238396731850876951219411094631530582528617858233025193277785596 2243016970202093823094230268423692045277170019887197315353835974720248205588225177891774443955603822654267823941744750280946134017662586117648058641508561321745320895610772083073944878050193563232722526801189762217013810586828696820667799386536992979797478026144859964476729378193699952776649367030206880008177404430712445619414830359003656626640618371069973797988479699913358702220674752892079888275593885590827468369249724106409690057772737384994580644043105253912095623178156312222469299409294637081128879704651251498527817305067625182378063730141205718483797370713473414018866973980982067627400701616819964438028706936470171706192502492382530567642397907688887936350220385206827226022833637718475367465201779673298606566188447721629250150913907459961140720507079514106063104958962050458489605166140392099160548674853449098510272920019781802087182471315911536470681393477614870602992714479465168564821392871829931645025696633945466904568962478908362574564001485013945070044781446378848915479294330389247156602213097636083398717523197959297319135134491959141714723784851023229908335626143094598492672556175209605610386771129322458979113848862439917122633229510412761531477260300789442044802421740371203 3629277695129797904921335319120934828957488781838009946805809486581752982382218287857165091666022167528951011702813674498365063990300414714538947793118769113991318221151799422206742192413911661877177730920627486374338735981016691687627412807600807650471717360743600375684743594294700723066438472016801608009737098188467416461997968645995780785156977478213422783137106359536351895407175942327026067468972500498157106361749898150731103308702997541060598471138816518650178027274086479224158188305980077200229290254390420035633531569265571175516891083230886696300077107474463954925075070770250767008840516335849425481580442013289149778658440964377302340962222037153625629773619861206354523236716805017780931970960978450905201457181270467678016454480166720093216210976226648522337549619018456926334974816225694795820009654399396994580232304349094245025080567703864550873381231763619447049624753886896914714364930398111087751266817698927880181331574654288894106814352451157002634782843767299329771520249317148383556931862212775745394364641102347546428778031665370928530378351641301834277553283563480154875723105353841400424254365837308640745344084100836648973510180729823856163007842829407300277827615018156799 5872294665331891728015565587544626874234658801725207262159645461302001187970443465748939535621625990183218835644558424779311198007963000832187006434627330435736639116762571505280687070464105225109900257721817248591352546567845388508295212194137800630269195386888460340161472972488400675843087839047008488017914502619179862081412799004999437411797595849283396581125586059449710597627850695219105955744566386088984574730999622257140793366475734926055179115181921772562273650452242791446627487715274714281358169959041671534161348874333196357894954813372092414783874478187937368943942044751232834636241217952669389919609148949759321484850943456759832908604619944842513566123840246413181749259550442736256299436162758124203808023369718189307266605394074180054356931483306162628400654577980507384824579982366086894980558329252846093090505224368876047112263039019776087344062625241234317652617468366362083279186323269941019396292514332873347085900537133197256681378353936170947704827625213678178686999543647537630713534075310411828793082164300306843747913166157330070245102136492325064185888909706574753368395661529051006034641136966631099724457932963276566096143410240236617694485103130196742322630036758528002 9501572360461689632936900906665561703192147583563217208965454947883754170352661753606104627287648157712169847347372099277676261998263415546725954227746099549727957337914370927487429262878016886987077988642444734965691282548862080195922625001738608280740912747632060715846216566783101398909526311063810096027651600807647278543410767650995218196954573327496819364262692418986062493035026637546132023213538886587141681092749520407871896675178732467115777586320738291212451677726329270670785676021254791481587460213432091569794880443598767533411845896602979111083951585662401323869017115521483601645081734288518815401189590963048471263509384421137135249566841981996139195897460107619536272496267247754037231407123736575109009480550988656985283059874240900147573142459532811150738204196998964311159554798591781690800567983652243087670737528717970292137343606723640638217443857004853764702242222253258997993551253668052107147559332031801227267232111787486150788192706387327950339610468980977508458519792964686014270465937523187574187446805402654390176691197822700998775480488133626898463442193270054908244118766882892406458895502803939740469802017064113215069653590970060473857492945959604042600457651776684801 15373867025793581360952466494210188577426806385288424471125100409185755358323105219355044162909274147895388682991930524056987460006226416378912960662373429985464596454676942432768116333342122112096978246364261983557043829116707468704217837195876408911010108134520521056007689539271502074752614150110818584045566103426827140624823566655994655608752169176780215945388278478435773090662877332765237978958105272676126255823749142665012690041654467393170956701502660063774725328178572062117413163736529505762945630172473763103956229317931963891306800709975071525867826063850338692812959160272716436281322952241188205320798739912807792748360327877896968158171461926838652762021300354032718021755817690490293530843286494699312817503920706846292549665268315080201930073942838973779138858774979471695984134780957868585781126312905089180761242753086846339249606645743416725561506482246088082354859690619621081272737576937993126543851846364674574353132648920683407469571060323498898044438094194655687145519336612223644984000012833599402980528969702961233924604363980031069020582624625951962649331102976629661612514428411943412493536639770570840194259950027389781165797001210297091551978049089800784923087688535212803 24875439386255270993889367400875750280618953968851641680090555357069509528675766972961148790196922305607558530339302623334663722004489831925638914890119529535192553792591313360255545596220138999084056235006706718522735111665569548900140462197615017191751020882152581771853906106054603473662140461174628680073217704234474419168234334306989873805706742504277035309650970897421835583697903970311370002171644159263267936916498663072884586716833199860286734287823398354987177005904901332788198839757784297244533090385905854673751109761530731424718646606578050636951777649512740016681976275794200037926404686529707020721988330875856264011869712299034103407738303908834791957918760461652254294252084938244330762250410231274421826984471695503277832725142555980349503216402371784929877062971978436007143689579549650276581694296557332268431980281804816631386950252467057363778950339250941847057101912872880079266288830606045233691411178396475801620364760708169558257763766710826848384048563175633195604039129576909659254465950356786977167975775105615624101295561802732067796063112759578861112773296246684569856633195294835818952432142574510580664061967091502996235450592180357565409470995049404827523545340311897604 40249306412048852354841833895085938858045760354140066151215655766255264886998872192316192953106196453502947213331233147391651182010716248304551875552492959520657150247268255793023661929562261111181034481370968702079778940782277017604358299393491426102761129016673102827861595645326105548414754611285447264118783807661301559793057900962984529414458911681057251255039249375857608674360781303076607981129749431939394192740247805737897276758487667253457690989326058418761902334083473394905612003494313803007478720558379617777707339079462695316025447316553122162819603713363078709494935436066916474207727638770895226042787070788664056760230040176931071565909765835673444719940060815684972316007902628734624293093696725973734644488392402349570382390410871060551433290345210758709015921746957907703127824360507518862362820609462421449193223034891662970636556898210474089340456821497029929411961603492501160539026407544038360235263024761150375973497409628852965727334827034325746428486657370288882749558466189133304238465963190386380148504744808576858025899925782763136816645737385530823762104399223314231469147623706779231445968782345081420858321917118892777401247593390654656961449044139205612446633028847110407 65124745798304123348731201295961689138664714322991707831306211123324774415674639165277341743303118759110505743670535770726314904015206080230190790442612489055849704039859569153279207525782400110265090716377675420602514052447846566504498761591106443294512149898825684599715501751380709022076895072460075944192001511895775978961292235269974403220165654185334286564690220273279444258058685273387977983301393591202662129656746468810781863475320867113744425277149456773749079339988374727693810843252098100252011810944285472451458448840993426740744093923131172799771381362875818726176911711861116512134132325300602246764775401664520320772099752475965174973648069744508236677858821277337226610259987566978955055344106957248156471472864097852848215115553427040900936506747582543638892984718936343710271513940057169138944514906019753717625203316696479602023507150677531453119407160747971776469063516365381239805315238150083593926674203157626177593862170337022523985098593745152594812535220545922078353597595766042963492931913547173357316480519914192482127195487585495204612708850145109684874877695469998801325780819001615050398400924919592001522383884210395773636698185571012222370920039188610439970178369159008011 105374052210352975703573035191047627996710474677131773982521866889580039302673511357593534696409315212613452957001768918117966086025922328534742665995105448576506854287127824946302869455344661221446125197748644122682292993230123584108857060984597869397273278915498787427577097396706814570491649683745523208310785319557077538754350136232958932634624565866391537819729469649137052932419466576464585964431143023142056322396994274548679140233808534367202116266475515192510981674071848122599422846746411903259490531502665090229165787920456122056769541239684294962590985076238897435671847147928032986341859964071497472807562472453184377532329792652896246539557835580181681397798882093022198926267890195713579348437803683221891115961256500202418597505964298101452369797092793302347908906465894251413399338300564688001307335515482175166818426351588142572660064048888005542459863982245001705881025119857882400344341645694121954161937227918776553567359579965875489712433420779478341241021877916210961103156061955176267731397876737559737464985264722769340153095413368258341429354587530640508636982094693313032794928442708394281844369707264673422380705801329288551037945778961666879332369083327816052416811398006118418 170498798008657099052304236487009317135375189000123481813828078012904813718348150522870876439712433971723958700672304688844280990041128408764933456437717937632356558326987394099582076981127061331711215914126319543284807045677970150613355822575704312691785428814324472027292599148087523592568544756205599152502786831452853517715642371502933335854790220051725824384419689922416497190478151849852563947732536614344718452053740743359461003709129401480946541543624971966260061014060222850293233689998510003511502342446950562680624236761449548797513635162815467762362366439114716161848758859789149498475992289372099719572337874117704698304429545128861421513205905324689918075657703370359425536527877762692534403781910640470047587434120598055266812621517725142353306303840375845986801891184830595123670852240621857140251850421501928884443629668284622174683571199565536995579271142992973482350088636223263640149656883844205548088611431076402731161221750302898013697532014524630936053557098462133039456753657721219231224329790284733094781465784636961822280290900953753546042063437675750193511859790163311834120709261710009332242770632184265423903089685539684324674643964532679101703289122516426492386989767165126429 275872850219010074755877271678056945132085663677255255796349944902484853021021661880464411136121749184337411657674073606962247076067050737299676122432823386208863412614115219045884946436471722553157341111874963665967100038908093734722212883560302182089058707729823259454869696544794338163060194439951122360813572151009931056469992507735892268489414785918117362204149159571553550122897618426317149912163679637486774774450735017908140143942937935848148657810100487158771042688132070972892656536744921906770992873949615652909790024681905670854283176402499762724953351515353613597520606007717182484817852253443597192379900346570889075836759337781757668052763740904871599473456585463381624462795767958406113752219714323691938703395377098257685410127482023243805676100933169148334710797650724846537070190541186545141559185936984104051262056019872764747343635248453542538039135125237975188231113756081146040493998529538327502250548658995179284728581330268773503409965435304109277294578976378344000559909719676395498955727667022292832246451049359731162433386314322011887471418025206390702148841884856624866915637704418403614087140339448938846283795486868972875712589743494345981035658205844242544803801165171244847 446371648227667173808181508165066262267460852677378737610178022915389666739369812403335287575834183156061370358346378295806528066108179146064609578870541323841219970941102613145467023417598783884868557026001283209251907084586063885335568706136006494780844136544147731482162295692881861755628739196156721513316358982462784574185634879238825604344205005969843186588568849493970047313375770276169713859896216251831493226504475761267601147652067337329095199353725459125031103702192293823185890226743431910282495216396566215590414261443355219651796811565315230487315717954468329759369364867506331983293844542815696911952238220688593774141188882910619089565969646229561517549114288833741049999323645721098648156001624964161986290829497696312952222748999748386158982404773544994321512688835555441660741042781808402281811036358486032935705685688157386922027206448019079533618406268230948670581202392304409680643655413382533050339160090071582015889803080571671517107497449828740213348136074840477040016663377397614730180057457307025927027916833996692984713677215275765433513481462882140895660701675019936701036346966128412946329910971633204270186885172408657200387233708027025082738947328360669037190790932336371276 722244498446677248564058779843123207399546516354633993406527967817874519760391474283799698711955932340398782016020451902768775142175229883364285701303364710050083383555217832191351969854070506438025898137876246875219007123494157620057781589696308676869902844273970990937031992237676199918688933636107843874129931133472715630655627386974717872833619791887960548792718009065523597436273388702486863772059895889318268000955210779175741291595005273177243857163825946283802146390324364796078546763488353817053488090346181868500204286125260890506079987967814993212269069469821943356889970875223514468111696796259294104332138567259482849977948220692376757618733387134433117022570874297122674462119413679504761908221339287853924994224874794570637632876481771629964658505706714142656223486486280288197811233322994947423370222295470136986967741708030151669370841696472622071657541393468923858812316148385555721137653942920860552589708749066761300618384410840445020517462885132849490642715051218821040576573097074010229135785124329318759274367883356424147147063529597777320984899488088531597809543559876561567951984670546816560417051311082143116470680659277630076099823451521371063774605534204911581994592097507616123 1168616146674344422372240288008189469667007369032012731016705990733264186499761286687134986287790115496460152374366830198575303208283409029428895280173906033891303354496320445336818993271669290322894455163877530084470914208080221505393350295832315171650746980818118722419194287930558061674317672832264565387446290115935500204841262266213543477177824797857803735381286858559493644749649158978656577631956112141149761227459686540443342439247072610506339056517551405408833250092516658619264436990231785727335983306742748084090618547568616110157876799533130223699584787424290273116259335742729846451405541339074991016284376787948076624119137103602995847184703033363994634571685163130863724461443059400603410064222964252015911285054372490883589855625481520016123640910480259136977736175321835729858552276104803349705181258653956169922673427396187538591398048144491701605275947661699872529393518540689965401781309356303393602928868839138343316508187491412116537624960334961589703990851126059298080593236474471624959315842581636344686302284717353117131860740744873542754498380950970672493470245234896498268988331636675229506746962282715347386657565831686287276487057159548396146513552862565580619185383029843987399 1890860645121021670936299067851312677066553885386646724423233958551138706260152760970934684999746047836858934390387282101344078350458638912793180981477270743941386738051538277528170963125739796760920353301753776959689921331574379125451131885528623848520649825092089713356226280168234261593006606468372409261576221249408215835496889653188261350011444589745764284174004867625017242185922547681143441404016008030468029228414897319619083730842077883683582913681377351692635396482841023415342983753720139544389471397088929952590822833693877000663956787500945216911853856894112216473149306617953360919517238135334285120616515355207559474097085324295372604803436420498427751594256037427986398923562473080108171972444303539869836279279247285454227488501963291646088299416186973279633959661808116018056363509427798297128551480949426306909641169104217690260768889840964323676933489055168796388205834689075521122918963299224254155518577588205104617126571902252561558142423220094439194633566177278119121169809571545635188451627705965663445576652600709541279007804274471320075483280439059204091279788794773059836940316307222046067164013593797490503128246490963917352586880611069767210288158396770492201179975127351603522 3059476791795366093308539355859502146733561254418659455439939949284402892759914047658069671287536163333319086764754112299919381558742047942222076261651176777832690092547858722864989956397409087083814808465631307044160835539654600630844482181360939020171396805910208435775420568098792323267324279300636974649022511365343716040338151919401804827189269387603568019555291726184510886935571706659800019035972120171617790455874583860062426170089150494189921970198928757101468646575357682034607420743951925271725454703831678036681441381262493110821833587034075440611438644318402489589408642360683207370922779474409276136900892143155636098216222427898368451988139453862422386165941200558850123385005532480711582036667267791885747564333619776337817344127444811662211940326667232416611695837129951747914915785532601646833732739603382476832314596500405228852166937985456025282209436716868668917599353229765486524700272655527647758447446427343447933634759393664678095767383555056028898624417303337417201763046046017260147767470287602008131878937318062658410868545019344862829981661390029876584750034029669558105928647943897275573910975876512837889785812322650204629073937770618163356801711259336072820365358157195590921 4950337436916387764244838423710814823800115139805306179863173907835541599020066808629004356287282211170178021155141394401263459909200686855015257243128447521774076830599397000393160919523148883844735161767385084003850756871228979756295614066889562868692046631002298149131646848267026584860330885769009383910598732614751931875835041572590066177200713977349332303729296593809528129121494254340943460439988128202085819684289481179681509900931228377873504883880306108794104043058198705449950404497672064816114926100920607989272264214956370111485790374535020657523292501212514706062557948978636568290440017609743561257517407498363195572313307752193741056791575874360850137760197237986836522308568005560819754009111571331755583843612867061792044832629408103308300239742854205696245655498938067765971279294960399943962284220552808783741955765604622919112935827826420348959142925772037465305805187918841007647619235954751901913966024015548552550761331295917239653909806775150468093257983480615536322932855617562895336219097993567671577455589918772199689876349293816182905464941829089080676029822824442617942868964251119321641074989470310328392914058813614121981660818381687930567089869656106565021545333284547194443 8009814228711753857553377779570316970533676394223965635303113857119944491779980856287074027574818374503497107919895506701182841467942734797237333504779624299606766923147255723258150875920557970928549970233016391048011592410883580387140096248250501888863443436912506584907067416365818908127655165069646358559621243980095647916173193491991871004389983364952900323284588319994039016057065961000743479475960248373703610140164065039743936071020378872063426854079234865895572689633556387484557825241623990087840380804752286025953705596218863222307623961569096098134731145530917195651966591339319775661362797084152837394418299641518831670529530180092109508779715328223272523926138438545686645693573538041531336045778839123641331407946486838129862176756852914970512180069521438112857351336068019513886195080493001590796016960156191260574270362105028147965102765811876374241352362488906134223404541148606494172319508610279549672413470442892000484396090689581917749677190330206496991882400783952953524695901663580155483986568281169679709334527236834858100744894313161045735446603219118957260779856854112176048797612195016597214985965346823166282699871136264326610734756152306093923891580915442637841910691441742785364 12960151665628141621798216203281131794333791534029271815166287764955486090800047664916078383862100585673675129075036901102446301377143421652252590747908071821380843753746652723651311795443706854773285132000401475051862349282112560143435710315140064757555490067914804734038714264632845492987986050838655742470219976594847579792008235064581937181590697342302232627013884913803567145178560215341686939915948376575789429824453546219425445971951607249936931737959540974689676732691755092934508229739296054903955306905672894015225969811175233333793414336104116755658023646743431901714524540317956343951802814693896398651935707139882027242842837932285850565571291202584122661686335676532523168002141543602351090054890410455396915251559353899921907009386261018278812419812375643809103006835006087279857474375453401534758301180709000044316226127709651067078038593638296723200495288260943599529209729067447501819938744565031451586379494458440553035157421985499157403586997105356965085140384264568489847628757281143050820205666274737351286790117155607057790621243606977228640911545048208037936809679678554793991666576446135918856060954817133494675613929949878448592395574533994024490981450571549202863456024726289979807 20969965894339895479351593982851448764867467928253237450469401622075430582580028521203152411436918960177172236994932407803629142845086156449489924252687696120987610676893908446909462671364264825701835102233417866099873941692996140530575806563390566646418933504827311318945781680998664401115641215908302101029841220574943227708181428556573808185980680707255132950298473233797606161235626176342430419391908624949493039964617611259169382042971986122000358592038775840585249422325311480419066054980920044991795687710425180041179675407394096556101038297673212853792754792274349097366491131657276119613165611778049236046354006781400858913372368112377960074351006530807395185612474115078209813695715081643882426100669249579038246659505840738051769186143113933249324599881897081921960358171074106793743669455946403125554318140865191304890496489814679215043141359450173097441847650749849733752614270216053995992258253175311001258792964901332553519553512675081075153264187435563462077022785048521443372324658944723206304192234555907030996124644392441915891366137920138274376358148267326995197589536532666970040464188641152516071046920163956660958313801086142775203130330686300118414873031486991840705366716168032765171 33930117559968037101149810186132580559201259462282509265635689387030916673380076186119230795299019545850847366069969308906075444222229578101742515000595767942368454430640561170560774466807971680475120234233819341151736290975108700674011516878530631403974423572742116052984495945631509894103627266746957843500061197169790807500189663621155745367571378049557365577312358147601173306414186391684117359307857001525282469789071157478594828014923593371937290329998316815274926155017066573353574284720216099895750994616098074056405645218569329889894452633777329609450778439017780999081015671975232463564968426471945634698289713921282886156215206044663810639922297733391517847298809791610732981697856625246233516155559660034435161911065194637973676195529374951528137019694272725731063365006080194073601143831399804660312619321574191349206722617524330282121179953088469820642342939010793333281823999283501497812196997740342452845172459359773106554710934660580232556851184540920427162163169313089933219953416225866257124397900830644382282914761548048973681987381527115503017269693315535033134399216211221764032130765087288434927107874981090155633927731036021223795525905220294142905854482058541043568822740894322744978 54900083454307932580501404168984029324068727390535746716105091009106347255960104707322383206735938506028019603064901716709704587067315734551232439253283464063356065107534469617470237138172236506176955336467237207251610232668104841204587323441921198050393357077569427371930277626630174295219268482655259944529902417744734035208371092177729553553552058756812498527610831381398779467649812568026547778699765626474775509753688768737764210057895579493937648922037092655860175577342378053772640339701136144887546682326523254097585320625963426445995490931450542463243533231292130096447506803632508583178134038249994870744643720702683745069587574157041770714273304264198913032911283906688942795393571706890115942256228909613473408570571035376025445381672488884777461619576169807653023723177154300867344813287346207785866937462439382654097219107339009497164321312538642918084190589760643067034438269499555493804455250915653454103965424261105660074264447335661307710115371976483889239185954361611376592278075170589463428590135386551413279039405940490889573353519447253777393627841582862028331988752743888734072594953728440950998154795145046816592241532122163998998656235906594261320727513545532884274189457062355510149 88830201014275969681651214355116609883269986852818255981740780396137263929340180893441614002034958051878866969134871025615780031289545312652974954253879232005724519538175030788031011604980208186652075570701056548403346523643213541878598840320451829454367780650311543424914773572261684189322895749402217788029963614914524842708560755798885298921123436806369864104923189528999952774063998959710665138007622628000057979542759926216359038072819172865874939252035409471135101732359444627126214624421352244783297676942621328153990965844532756335889943565227872072694311670309911095528522475607741046743102464721940505442933434623966631225802780201705581354195601997590430880210093698299675777091428332136349458411788569647908570481636230013999121577201863836305598639270442533384087088183234494940945957118746012446179556784013574003303941724863339779285501265627112738726533528771436400316262268783056991616652248655995906949137883620878766628975381996241540266966556517404316401349123674701309812231491396455720552988036217195795561954167488539863255340900974369280410897534898397061466387968955110498104725718815729385925262670126136972226169263158185222794182141126888404226581995604073927843012197956678255127 143730284468583902262152618524100639207338714243354002697845871405243611185300285600763997208770896557906886572199772742325484618356861047204207393507162696069080584645709500405501248743152444692829030907168293755654956756311318383083186163762373027504761137727880970796845051198891858484542164232057477732559866032659258877916931847976614852474675495563182362632534020910398732241713811527737212916707388254474833489296448694954123248130714752359812588174072502126995277309701822680898854964122488389670844359269144582251576286470496182781885434496678414535937844901602041191976029279240249629921236502971935376187577155326650376295390354358747352068468906261789343913121377604988618572485000039026465400668017479261381979052207265390024566958874352721083060258846612341037110811360388795808290770406092220232046494246452956657401160832202349276449822578165755656810724118532079467350700538282612485421107499571649361053103307881984426703239829331902847977081928493888205640535078036312686404509566567045183981578171603747208840993573429030752828694420421623057804525376481259089798376721698999232177320672544170336923417465271183788818410795280349221792838377033482665547309509149606812117201655019033765276 232560485482859871943803832879217249090608701096172258679586651801380875114640466494205611210805854609785753541334643767941264649646406359857182347761041928074805104183884531193532260348132652879481106477869350304058303279954531924961785004082824856959128918378192514221759824771153542673865059981459695520589829647573783720625492603775500151395798932369552226737457210439398685015777810487447878054715010882474891468839208621170482286203533925225687527426107911598130379042061267308025069588543840634454142036211765910405567252315028939117775378061906286608632156571911952287504551754847990676664338967693875881630510589950617007521193134560452933422664508259379774793331471303288294349576428371162814859079806048909290549533843495404023688536076216557388658898117054874421197899543623290749236727524838232678226051030466530660705102557065689055735323843792868395537257647303515867666962807065669477037759748227645268002241191502863193332215211328144388244048485011292522041884201711013996216741057963500904534566207820943004402947740917570616084035321395992338215422911379656151264764690654109730282046391359899722848680135397320761044580058438534444587020518160371069773891504753680739960213852975712020403 376290769951443774205956451403317888297947415339526261377432523206624486299940752094969608419576751167692640113534416510266749268003267407061389741268204624143885688829594031599033509091285097572310137385037644059713260036265850308044971167845197884463890056106073485018604875970045401158407224213517173253149695680233042598542424451752115003870474427932734589369991231349797417257491622015185090971422399136949724958135657316124605534334248677585500115600180413725125656351763089988923924552666329024124986395480910492657143538785525121899660812558584701144570001473513993479480581034088240306585575470665811257818087745277267383816583488919200285491133414521169118706452848908276912922061428410189280259747823528170672528586050760794048255494950569278471719156963667215458308710904012086557527497930930452910272545276919487318106263389268038332185146421958624052347981765835595335017663345348281962458867247799294629055344499384847620035455040660047236221130413505180727682419279747326682621250624530546088516144379424690213243941314346601368912729741817615396019948287860915241063141412353108962459367063904070059772097600668504549862990853718883666379858895193853735321201013903287552077415507994745785679 608851255434303646149760284282535137388556116435698520057019175008005361414581218589175219630382605777478393654869060278208013917649673766918572089029246552218690793013478562792565769439417750451791243862906994363771563316220382233006756171928022741423018974484265999240364700741198943832272284194976868773739525327806826319167917055527615155266273360302286816107448441789196102273269432502632969026137410019424616426974865937295087820537782602811187643026288325323256035393824357296948994141210169658579128431692676403062710791100554061017436190620490987753202158045425945766985132788936230983249914438359687139448598335227884391337776623479653218913797922780548893499784320211565207271637856781352095118827629577079963078119894256198071944031026785835860378055080722089879506610447635377306764225455768685588498596307386017978811365946333727387920470265751492447885239413139111202684626152413951439496626996026939897057585690887710813367670251988191624465178898516473249724303481458340678837991682494046993050710587245633217646889055264171984996765063213607734235371199240571392327906103007218692741413455263969782620777736065825310907570912157418110966879413354224805095092518656968292037629360970457806082 985142025385747420355716735685853025686503531775224781434451698214629847714521970684144828049959356945171033768403476788474763185652941173979961830297451176362576481843072594391599278530702848024101381247944638423484823352486232541051727339773220625886909030590339484258969576711244344990679508408494042026889221008039868917710341507279730159136747788235021405477439673138993519530761054517818059997559809156374341385110523253419693354872031280396687758626468739048381691745587447285872918693876498682704114827173586895719854329886079182917097003179075688897772159518939939246465713823024471289835489909025498397266686080505151775154360112398853504404931337301718012206237169119842120193699285191541375378575453105250635606705945016992120199525977355114332097212044389305337815321351647463864291723386699138498771141584305505296917629335601765720105616687710116500233221178974706537702289497762233401955494243826234526112930190272558433403125292648238860686309312021653977406722761205667361459242307024593081566854966670323430890830369610773353909494805031223130255319487101486633391047515360327655200780519168039842392875336734329860770561765876301777346738308548078540416293532560255844115044868965203591761 1593993280820051066505477019968388163075059648210923301491470873222635209129103189273320047680341962722649427423272537066682777103302614940898533919326697728581267274856551157184165047970120598475892625110851632787256386668706614774058483511701243367309928005074605483499334277452443288822951792603470910800628746335846695236878258562807345314403021148537308221584888114928189621804030487020451029023697219175798957812085389190714781175409813883207875401652757064371637727139411804582821912835086668341283243258866263298782565120986633243934533193799566676650974317564365885013450846611960702273085404347385185536715284415733036166492136735878506723318729260082266905706021489331407327465337141972893470497403082682330598684825839273190192143557004140950192475267125111395217321931799282841171055948842467824087269737891691523275728995281935493108026086953461608948118460592113817740386915650176184841452121239853174423170515881160269246770795544636430485151488210538127227131026242664008040297233989518640074617565553915956648537719424874945338906259868244830864490690686342058025718953618367546347942193974432009625013653072800155171678132678033719888313617721902303345511386051217224136152674229935661397843 2579135306205798486861193755654241188761563179986148082925922571437265056843625159957464875730301319667820461191676013855157540288955556114878495749624148904943843756699623751575764326500823446499994006358796271210741210021192847315110210851474463993196837035664944967758303854163687633813631301011964952827517967343886564154588600070087075473539768936772329627062327788067183141334791541538269089021257028332173299197195912444134474530281845163604563160279225803420019418884999251868694831528963167023987358086039850194502419450872712426851630196978642365548746477083305824259916560434985173562920894256410683933981970496238187941646496848277360227723660597383984917912258658451249447659036427164434845875978535787581234291531784290182312343082981496064524572479169500700555137253150930305035347672229166962586040879475997028572646624617537258828131703641171725448351681771088524278089205147938418243407615483679408949283446071432827680173920837284669345837797522559781204537749003869675401756476296543233156184420520586280079428549794485718692815754673276053994746010173443544659110001133727874003142974493600049467406528409534485032448694443910021665660356030450381885927679583777479980267719098900864989604 4173128587025849553366670775622629351836622828197071384417393444659900265972728349230784923410643282390469888614948550921840317392258171055777029668950846633525111031556174908759929374470944044975886631469647903997997596689899462089168694363175707360506765040739550451257638131616130922636583093615435863628146713679733259391466858632894420787942790085309637848647215902995372763138822028558720118044954247507972257009281301634849255705691659046812438561931982867791657146024411056451516744364049835365270601344906113493284984571859345670786163390778209042199720794647671709273367407046945875836006298603795869470697254911971224108138633584155866951042389857466251823618280147782656775124373569137328316373381618469911832976357623563372504486639985637014717047746294612095772459184950213146206403621071634786673310617367688551848375619899472751936157790594633334396470142363202342018476120798114603084859736723532583372453961952593096926944716381921099830989285733097908431668775246533683442053710286061873230801986074502236727966269219360664031722014541520884859236700859785602684828954752095420351085168468032059092420181482334640204126827121943741553973973752352685231439065634994704116420393328836526387447 6752263893231648040227864531276870540598186008183219467343316016097165322816353509188249799140944602058290349806624564776997857681213727170655525418574995538468954788255798660335693700971767491475880637828444175208738806711092309404278905214650171353703602076404495419015941985779818556450214394627400816455664681023619823546055458702981496261482559022081967475709543691062555904473613570096989207066211275840145556206477214078983730235973504210417001722211208671211676564909410308320211575893013002389257959430945963687787404022732058097637793587756851407748467271730977533533283967481931049398927192860206553404679225408209412049785130432433227178766050454850236741530538806233906222783409996301763162249360154257493067267889407853554816829722967133079241620225464112796327596438101143451241751293300801749259351496843685580421022244517010010764289494235805059844821824134290866296565325946053021328267352207211992321737408024025924607118637219205769176827083255657689636206524250403358843810186582605106386986406595088516807394819013846382724537769214796938853982711033229147343938955885823294354228142961632108559826709891869125236575521565853763219634329782803067117366745218772184096688112427737391377051 10925392480257497593594535306899499892434808836380290851760709460757065588789081858419034722551587884448760238421573115698838175073471898226432555087525842171994065819811973569095623075442711536451767269298092079206736403400991771493447599577825878714210367117144045870273580117395949479086797488242836680083811394703353082937522317335875917049425349107391605324356759594057928667612435598655709325111165523348117813215758515713832985941665163257229440284143191539003333710933821364771728320257062837754528560775852077181072388594591403768423956978535060449948188066378649242806651374528876925234933491464002422875376480320180636157923764016589094129808440312316488565148818954016562997907783565439091478622741772727404900244247031416927321316362952770093958667971758724892100055623051356597448154914372436535932662114211374132269397864416482762700447284830438394241291966497493208315041446744167624413127088930744575694191369976619021534063353601126869007816368988755598067875299496937042285863896868666979617788392669590753535361088233207046756259783756317823713219411893014750028767910637918714705313311429664167652246891374203765440702348687797504773608303535155752348805810853766888213108505756573917764498 17677656373489145633822399838176370433032994844563510319104025476854230911605435367607284521692532486507050588228197680475836032754685625397088080506100837710463020608067772229431316776414479027927647907126536254415475210112084080897726504792476050067913969193548541289289522103175768035537011882870237496539476075726972906483577776038857413310907908129473572800066303285120484572086049168752698532177376799188263369422235729792816716177638667467646442006354400210215010275843231673091939896150075840143786520206798040868859792617323461866061750566291911857696655338109626776339935342010807974633860684324208976280055705728390048207708894449022321308574490767166725306679357760250469220691193561740854640872101926984897967512136439270482138146085919903173200288197222837688427652061152500048689906207673238285192013611055059712690420108933492773464736779066243454086113790631784074611606772690220645741394441137956568015928778000644946141181990820332638184643452244413287704081823747340401129674083451272086004774799264679270342755907247053429480797552971114762567202122926243897372706866523742009059541454391296276212073601266072890677277870253651267993242633317958819466172556072539072309796618184311309141549 28603048853746643227416935145075870325467803680943801170864734937611296500394517226026319244244120370955810826649770796174674207828157523623520635593626679882457086427879745798526939851857190564379415176424628333622211613513075852391174104370301928782124336310692587159563102220571717514623809371113074176623287470430325989421100093374733330360333257236865178124423062879178413239698484767408407857288542322536381182637994245506649702119303830724875882290497591749218343986777053037863668216407138677898315080982650118049932181211914865634485707544826972307644843404488276019146586716539684899868794175788211399155432186048570684365632658465611415438382931079483213871828176714267032218598977127179946119494843699712302867756383470687409459462448872673267158956168981562580527707684203856646138061122045674821124675725266433844959817973349975536165184063896681848327405757129277282926648219434388270154521530068701143710120147977263967675245344421459507192459821233168885771957123244277443415537980319939065622563191934270023878116995480260476237057336727432586280421534819258647401474777161660723764854765820960443864320492640276656117980218941448772766850936853114571814978366926305960522905123940885226906047 46280705227235788861239334983252240758500798525507311489968760414465527411999952593633603765936652857462861414877968476650510240582843149020608716099727517592920107035947518027958256628271669592307063083551164588037686823625159933288900609162777978850038305504241128448852624323747485550160821253983311673162763546157298895904677869413590743671241165366338750924489366164298897811784533936161106389465919121724644552060229975299466418296942498192522324296851991959433354262620284710955608112557214518042101601189448158918791973829238327500547458111118884165341498742597902795486522058550492874502654860112420375435487891776960732573341552914633736746957421846649939178507534474517501439290170688920800760366945626697200835268519909957891597608534792576440359244366204400268955359745356356694827967329718913106316689336321493557650238082283468309629920842962925302413519547761061357538254992124608915895915971206657711726048925977908913816427335241792145377103273477582173476038946991617844545212063771211151627337991198949294220872902727313905717854889698547348847623657745502544774181643685402732824396220212256720076394093906349546795258089195100040760093570171073391281150922998845032832701742125196536047596 74883754080982432088656270128328111083968602206451112660833495352076823912394469819659923010180773228418672241527739272825184448411000672644129351693354197475377193463827263826485196480128860156686478259975792921659898437138235785680074713533079907632162641814933715608415726544319203064784630625096385849786051016587624885325777962788324074031574422603203929048912429043477311051483018703569514246754461444261025734698224220806116120416246328917398206587349583708651698249397337748819276328964353195940416682172098276968724155041153193135033165655945856472986342147086178814633108775090177774371449035900631774590920077825531416938974211380245152185340352926133153050335711188784533657889147816100746879861789326409503703024903380645301057070983665249707518200535185962849483067429560213340966028451764587927441365061587927402610056055633443845795104906859607150740925304890338640464903211558997186050437501275358855436169073955172881491672679663251652569563094710751059247996070235895287960750044091150217249901183133219318098989898207574381954912226425979935128045192564761192175656420847063456589250986033217163940714586546626202913238308136548813526944507024187963096129289925150993355606866066081762953643 121164459308218220949895605111580351842469400731958424150802255766542351324394422413293526776117426085881533656405707749475694688993843821664738067793081715068297300499774781854443453108400529748993541343526957509697585260763395718968975322695857886482200947319174844057268350868066688614945451879079697522948814562744923781230455832201914817702815587969542679973401795207776208863267552639730620636220380565985670286758454196105582538713188827109920530884201575668085052512017622459774884441521567713982518283361546435887516128870391520635580623767064740638327840889684081610119630833640670648874103896013052150026407969602492149512315764294878888932297774772783092228843245663302035097179318505021547640228734953106704538293423290603192654679518457826147877444901390363118438427174916570035793995781483501033758054397909420960260294137916912155425025749822532453154444852651399998003158203683606101946353472482016567162217999933081795308100014905043797946666368188333232724035017227513132505962107862361368877239174332168612319862800934888287672767116124527283975668850310263736949838064532466189413647206245473884017108680452975749708496397331648854287038077195261354377280212923996026188308608191278299001239 196048213389200653038551875239908462926438002938409536811635751118619175236788892232953449786298199314300205897933447022300879137404844494308867419486435912543674493963602045680928649588529389905680019603502750431357483697901631504649050036228937794114363589134108559665684077412385891679730082504176083372734865579332548666556233794990238891734390010572746609022314224251253519914750571343300134882974842010246696021456678416911698659129435156027318737471551159376736750761414960208594160770485920909922934965533644712856240283911544713770613789423010597111314183036770260424752739608730848423245552931913683924617328047428023566451289975675124041117638127698916245279178956852086568755068466321122294520090524279516208241318326671248493711750502123075855395645436576325967921494604476783376760024233248088961199419459497348362870350193550356001220130656682139603895370157541738638468061415242603287996790973757375422598387073888254676799772694568295450516229462899084291972031087463408420466712151953511586127140357465387930418852699142462669627679342550507219103714042875024929125494485379529646002898192278691047957823266999601952621734705468197667813982584219449317473409502849147019543915474257360061954882 317212672697418873988447480351488814768907403670367960962438006885161526561183314646246976562415625400181739554339154771776573826398688315973605487279517627611971794463376827535372102696929919654673560947029707941055068958665027223618025358924795680596564536453283403722952428280452580294675534383255780895683680142077472447786689627192153709437205598542289288995716019459029728778018123983030755519195222576232366308215132613017281197842623983137239268355752735044821803273432582668369045212007488623905453248895191148743756412781936234406194413190075337749642023926454342034872370442371519072119656827926736074643736017030515715963605739970002930049935902471699337508022202515388603852247784826143842160319259232622912779611749961851686366430020580902003273090337966689086359921779393353412554020014731589994957473857406769323130644331467268156645156406504672057049815010193138636471219618926209389943144446239391989760605073821336472107872709473339248462895831087417524696066104690921552972674259815872955004379531797556542738715500077350957300446458675034503079382893185288666075332549911995835416545398524164931974931947452577702330231102799846522101020661414710671850689715773143045732224082448638360956121 513260886086619527026999355591397277695345406608777497774073758003780701797972206879200426348713824714481945452272601794077452963803532810282472906765953540155646288426978873216300752285459309560353580550532458372412552656566658728267075395153733474710928125587391963388636505692838471974405616887431864268418545721410021114342923422182392601171595609115035898018030243710283248692768695326330890402170064586479062329671811029928979856972059139164558005827303894421558554034847542876963205982493409533828388214428835861599996696693480948176808202613085934860956206963224602459625110051102367495365209759840419999261064064458539282414895715645126971167574030170615582787201159367475172607316251147266136680409783512139121020930076633100180078180522703977858668735774543015054281416383870136789314044247979678956156893316904117686000994525017624157865287063186811660945185167734877274939281034168812677939935419996767412358992147709591148907645404041634698979125293986501816668097192154329973439386411769384541131519889262944473157568199219813626928125801225541722183096936060313595200827035291525481419443590802855979932755214452179654951965808268044189915003245634159989324099218622290065276139556705998422911003 830473558784038401015446835942886092464252810279145458736511764888942228359155521525447402911129450114663685006611756565854026790202221126256078394045471167767618082890355700751672854982389229215027141497562166313467621615231685951885100754078529155307492662040675367111588933973291052269081151270687645164102225863487493562129613049374546310608801207657325187013746263169312977470786819309361645921365287162711428637886943642946261054814683122301797274183056629466380357308280125545332251194500898157733841463324027010343753109475417182583002615803161272610598230889678944494497480493473886567484866587767156073904800081489054998378501455615129901217509932642314920295223361882863776459564035973409978840729042744762033800541826594951866444610543284879861941826112509704140641338163263490201868064262711268951114367174310887009131638856484892314510443469691483717995000177928015911410500653095022067883079866236159402119597221530927621015518113514973947442021125073919341364163296845251526412060671585257496135899421060501015896283699297164584228572259900576225262479829245602261276159585203521316835988989327020911907687161904757357282196911067890712016023907048870661174788934395433111008363639154636783867124 1343734444870657928042446191534283370159598216887922956510585522892722930157127728404647829259843274829145630458884358359931479754005753936538551300811424707923264371317334573967973607267848538775380722048094624685880174271798344680152176149232262630018420787628067330500225439666129524243486768158119509432520771584897514676472536471556938911780396816772361085031776506879596226163555514635692536323535351749190490967558754672875240911786742261466355280010360523887938911343127668422295457176994307691562229677752862871943749806168898130759810818416247207471554437852903546954122590544576254062850076347607576073165864145947594280793397171260256872385083962812930503082424521250338949066880287120676115521138826256901154821471903228052046522791065988857720610561887052719194922754547133626991182108510690947907271260491215004695132633381502516472375730532878295378940185345662893186349781687263834745823015286232926814478589369240518769923163517556608646421146419060421158032260488999581499851447083354642037267419310323445489053851898516978211156698061126117947445576765305915856476986620495046798255432580129876891840442376356937012234162719335934901931027152683030650498888153017723176284503195860635206778127 2174208003654696329057893027477169462623851027167068415247097287781665158516283249930095232170972724943809315465496114925785506544207975062794629694856895875690882454207690274719646462250237767990407863545656790999347795887030030632037276903310791785325913449668742697611814373639420576512567919428807154596622997448385008238602149520931485222389198024429686272045522770048909203634342333945054182244900638911901919605445698315821501966601425383768152554193417153354319268651407793967627708371495205849296071141076889882287502915644315313342813434219408480082152668742582491448620071038050140630334942935374732147070664227436649279171898626875386773602593895455245423377647883133202725526444323094086094361867869001663188622013729823003912967401609273737582552387999562423335564092710397117193050172773402216858385627665525891704264272237987408786886174002569779096935185523590909097760282340358856813706095152469086216598186590771446390938681631071582593863167544134340499396423785844833026263507754939899533403318731383946504950135597814142795385270321026694172708056594551518117753146205698568115091421569456897803748129538261694369516359630403825613947051059731901311673677087413156287292866835015271990645251 3517942448525354257100339219011452832783449244054991371757682810674388088673410978334743061430815999772954945924380473285716986298213728999333180995668320583614146825525024848687620069518086306765788585593751415685227970158828375312189453052543054415344334237296810028112039813305550100756054687586926664029143769033282522915074685992488424134169594841202047357077299276928505429797897848580746718568435990661092410573004452988696742878388167645234507834203777677242258179994535462389923165548489513540858300818829752754231252721813213444102624252635655687553707106595486038402742661582626394693185019282982308220236528373384243559965295798135643645987677858268175926460072404383541674593324610214762209883006695258564343443485633051055959490192675262595303162949886615142530486847257530744184232281284093164765656888156740896399396905619489925259261904535448074475875370869253802284110064027622691559529110438702013031076775960011965160861845148628191240284313963194761657428684274844414526114954838294541570670738041707391994003987496331121006541968382152812120153633359857433974230132826193614913346854149586774695588571914618631381750522349739760515878078212414931962172565240430879463577370030875907197423378 5692150452180050586158232246488622295407300271222059787004780098456053247189694228264838293601788724716764261389876588211502492842421704062127810690525216459305029279732715123407266531768324074756196449139408206684575766045858405944226729955853846200670247686965552725723854186944970677268622607015733818625766766481667531153676835513419909356558792865631733629122822046977414633432240182525800900813336629572994330178450151304518244844989593029002660388397194830596577448645943256357550873919984719390154371959906642636518755637457528757445437686855064167635859775338068529851362732620676535323519962218357040367307192600820892839137194425011030419590271753723421349837720287516744400119768933308848304244874564260227532065499362874059872457594284536332885715337886177565866050939967927861377282454057495381624042515822266788103661177857477334046148078538017853572810556392844711381870346367981548373235205591171099247674962550783411551800526779699773834147481507329102156825108060689247552378462593234441104074056773091338498954123094145263801927238703179506292861689954408952091983279031892183028438275719043672499336701452880325751266881980143586129825129272146833273846242327844035750870236865891179188068629 9210092900705404843258571465500075128190749515277051158762462909130441335863105206599581355032604724489719207314257061497219479140635433061460991686193537042919176105257739972094886601286410381521985034733159622369803736204686781256416183008396900616014581924262362753835894000250520778024677294602660482654910535514950054068751521505908333490728387706833780986200121323905920063230138031106547619381772620234086740751454604293214987723377760674237168222600972507838835628640478718747474039468474232931012672778736395390750008359270742201548061939490719855189566881933554568254105394203302930016704981501339348587543720974205136399102490223146674065577949611991597276297792691900286074713093543523610514127881259518791875508984995925115831947786959798928188878287772792708396537787225458605561514735341588546389699403979007684503058083476967259305409983073465928048685927262098513665980410395604239932764316029873112278751738510795376712662371928327965074431795470523863814253792335533662078493417431528982674744794814798730492958110590476384808469207085332318413015323314266386066213411858085797941785129868630447194925273367498957133017404329883346645703207484561765236018807568274915214447606896767086385492007 14902243352885455429416803711988697423598049786499110945767243007586494583052799434864419648634393449206483468704133649708721971983057137123588802376718753502224205384990455095502153133054734456278181483872567829054379502250545187200642912964250746816684829611227915479559748187195491455293299901618394301280677301996617585222428357019328242847287180572465514615322943370883334696662378213632348520195109249807081070929904755597733232568367353703239828610998167338435413077286421975105024913388458952321167044738643038027268763996728270958993499626345784022825426657271623098105468126823979465340224943719696388954850913575026029238239684648157704485168221365715018626135512979417030474832862476832458818372755823779019407574484358799175704405381244335261074593625658970274262588727193386466938797189399083928013741919801274472606719261334444593351558061611483781621496483654943225047850756763585788305999521621044211526426701061578788264462898708027738908579276977852965971078900396222909630871880024763423778818851587890068991912233684621648610396445788511824705877013268675338158196690889977980970223405587674119694261974820379282884284286310026932775528336756708598509865049896118950965317843762658265573560636 24112336253590860272675375177488772551788799301776162104529705916716935918915904641464001003666998173696202676018390711205941451123692570185049794062912290545143381490248195067597039734341144837800166518605727451424183238455231968457059095972647647432699411535490278233395642187446012233317977196221054783935587837511567639291179878525236576338015568279299295601523064694789254759892516244738896139576881870041167811681359359890948220291745114377476996833599139846274248705926900693852498952856933185252179717517379433418018772355999013160541561565836503878014993539205177666359573521027282395356929925221035737542394634549231165637342174871304378550746170977706615902433305671317316549545956020356069332500637083297811283083469354724291536353168204134189263471913431762982659126514418845072500311924740672474403441323780282157109777344811411852656968044684949709670182410917041738713831167159190028238763837650917323805178439572374164977125270636355703983011072448376829785332692731756571709365297456292406453563646402688799484870344275098033418865652873844143118892336582941724224410102748063778912008535456304566889187248187878240017301690639910279421231544241270363745883857464393866179765450659425351959052643 39014579606476315702092178889477469975386849088275273050296948924303430501968704076328420652301391622902686144722524360914663423106749707308638596439631044047367586875238650163099192867395879294078348002478295280478562740705777155657702008936898394249384241146718193712955390374641503688611277097839449085216265139508185224513608235544564819185302748851764810216846008065672589456554894458371244659771991119848248882611264115488681452860112468080716825444597307184709661783213322668957523866245392137573346762256022471445287536352727284119535061192182287900840420196476800764465041647851261860697154868940732126497245548124257194875581859519462083035914392343421634528568818650734347024378818497188528150873392907076830690657953713523467240758549448469450338065539090733256921715241612231539439109114139756402417183243581556629716496606145856446008526106296433491291678894571984963761681923922775816544763359271961535331605140633952953241588169344383442891590349426229795756411593127979481340237177481055830232382497990578868476782577959719682029262098662355967824769349851617062382606793638041759882231941043978686583449223008257522901585976949937212196759880997978962255748907360512817145083294422083617532613279 63126915860067175974767554066966242527175648390051435154826654841020366420884608717792421655968389796598888820740915072120604874230442277493688390502543334592510968365486845230696232601737024131878514521084022731902745979161009124114761104909546041682083652682208471946351032562087515921929254294060503869151852977019752863804788114069801395523318317131064105818369072760461844216447410703110140799348872989889416694292623475379629673151857582458193822278196447030983910489140223362810022819102325322825526479773401904863306308708726297280076622758018791778855413735681978430824615168878544256054084794161767864039640182673488360512924034390766461586660563321128250431002124322051663573924774517544597483374029990374641973741423068247758777111717652603639601537452522496239580841756031076611939421038880428876820624567361838786826273950957268298665494150981383200961861305489026702475513091081965844783527196922878859136783580206327118218713439980739146874601421874606625541744285859736053049602474937348236685946144393267667961652922234817715448127751536200110943661686434558786607016896386105538794240476500283253472636471196135762918887667589847491617991425239249326001632764824906683324848745081508969491665922 102141495466543491676859732956443712502562497478326708205123603765323796922853312794120842308269781419501574965463439433035268297337191984802326986942174378639878555240725495393795425469132903425956862523562318012381308719866786279772463113846444435931467893828926665659306422936729019610540531391899952954368118116527938088318396349614366214708621065982828916035215080826134433673002305161481385459120864109737665576903887590868311126011970050538910647722793754215693572272353546031767546685347717460398873242029424376308593845061453581399611683950201079679695833932158779195289656816729806116751239663102499990536885730797745555388505893910228544622574955664549884959570942972786010598303593014733125634247422897451472664399376781771226017870267101073089939602991613229496502556997643308151378530153020185279237807810943395416542770557103124744674020257277816692253540200061011666237195015004741661328290556194840394468388720840280071460301609325122589766191771300836421298155878987715534389839652418404066918328642383846536438435500194537397477389850198556078768431036286175848989623690024147298676472417544261940056085694204393285820473644539784703814751306237228288257381672185419500469932039503592587024279201 165268411326610667651627287023409955029738145868378143359950258606344163343737921511913263964238171216100463786204354505155873171567634262296015377444717713232389523606212340624491658070869927557835377044646340744284054699027795403887224218755990477613551546511135137605657455498816535532469785685960456823519971093547690952123184463684167610231939383113893021853584153586596277889449715864591526258469737099627082271196511066247940799163827632997104470000990201246677482761493769394577569504450042783224399721802826281171900153770179878679688306708219871458551247667840757626114271985608350372805324457264267854576525913471233915901429928300995006209235518985678135390573067294837674172228367532277723117621452887826114638140799850018984794981984753676729541140444135725736083398753674384763317951191900614156058432378305234203369044508060393043339514408259199893215401505550038368712708106086707506111817753117719253605172301046607189679015049305861736640793193175443046839900164847451587439442127355752303604274786777114204400088422429355112925517601734756189712092722720734635596640586410252837470712894044545193528722165400529048739361312129632195432742731476477614259014437010326183794780784585101556515945123 267409906793154159328487019979853667532300643346704851565073862371667960266591234306034106272507952635602038751667793938191141468904826247098342364386892091872268078846937836018287083540002830983792239568208658756665363418894581683659687332602434913545019440340061803264963878435545555143010317077860409777888089210075629040441580813298533824940560449096721937888799234412730711562452021026072911717590601209364747848100398657116251925175797683536015117723783955462371055033847315426345116189797760243623272963832250657480493998831633460079299990658420951138247081599999536821403928802338156489556564120366767845113411644268979471289935822211223550831810474650228020350144010267623684770531960547010848751868875785277587302540176631790210812852251854749819480743435748955232585955751317692914696481344920799435296240189248629619911815065163517788013534665537016585468941705611050034949903121091449167440108309312559648073561021886887261139316658630984326406984964476279468138056043835167121829281779774156370522603429160960740838523922623892510402907451933312268480523759006910484586264276434400136147185311588807133584807859604922334559834956669416899247494037713705902516396109195745684264712824088694143540224324 432678318119764826980114307003263622562038789215082994925024120978012123610329155817947370236746123851702502537872148443347014640472460509394357741831609805104657602453150176642778741610872758541627616612854999500949418117922377087546911551358425391158570986851196940870621333934362090675480102763820866601408060303623319992564765276982701435172499832210614959742383387999326989451901736890664437976060338308991830119296909723364192724339625316533119587724774156709048537795341084820922685694247803026847672685635076938652394152601813338758988297366640822596798329267840294447518200787946506862361888577631035699689937557740213387191365750512218557041045993635906155740717077562461358942760328079288571869490328673103701940680976481809195607834236608426549021883879884680968669354504992077678014432536821413591354672567553863823280859573223910831353049073796216478684343211161088403662611227178156673551926062430278901678733322933494450818331707936846063047778157651722514977956208682618709268723907129908674126878215938074945238612345053247623328425053668068458192616481727645120182904862844652973617898205633352327113530025005451383299196268799049094680236769190183516775410546206071868059493608673795700056169447 700088224912918986308601326983117290094339432561787846490097983349680083876920390123981476509254076487304541289539942381538156109377286756492700106218501896976925681300088012661065825150875589525419856181063658257614781536816958771206598883960860304703590427191258744135585212369907645818490419841681276379296149513698949033006346090281235260113060281307336897631182622412057701014353757916737349693650939518356577967397308380480444649515423000069134705448558112171419592829188400247267801884045563270470945649467327596132888151433446798838288288025061773735045410867839831268922129590284663351918452697997803544803349202009192858481301572723442107872856468286134176090861087830085043713292288626299420621359204458381289243221153113599406420686488463176368502627315633636201255310256309770592710913881742213026650912756802493443192674638387428619366583739333233064153284916772138438612514348269605840992034371742838549752294344820381711957648366567830389454763122128001983116012252517785831098005686904065044649481645099035686077136267677140133731332505601380726673140240734555604769169139279053109765083517222159460698337884610373717859031225468465993927730806903889419291806655401817552324206432762489843596393771 1132766543032683813288715633986380912656378221776870841415122104327692207487249545941928846746000200339007043827412090824885170749849747265887057848050111702081583283753238189303844566761748348067047472793918657758564199654739335858753510435319285695862161414042455685006206546304269736493970522605502142980704209817322269025571111367263936695285560113517951857373566010411384690466255494807401787669711277827348408086694218103844637373855048316602254293173332268880468130624529485068190487578293366297318618335102404534785282304035260137597276585391702596331843740135680125716440330378231170214280341275628839244493286759749406245672667323235660664913902461922040331831578165392546402656052616705587992490849533131484991183902129595408602028520725071602917524511195518317169924664761301848270725346418563626618005585324356357266473534211611339450719632813129449542837628127933226842275125575447762514543960434173117451431027667753876162775980074504676452502541279779724498093968461200404540366729594033973718776359861037110631315748612730387757059757559269449184865756722462200724952074002123706083382981722855511787811867909615825101158227494267515088607967576094072936067217201607889420383700041436285543652563218 1832854767945602799597316960969498202750717654338658687905220087677372291364169936065910323255254276826311585116952033206423326859227034022379757954268613599058508965053326201964910391912623937592467328974982316016178981191556294629960109319280146000565751841233714429141791758674177382312460942447183419360000359331021218058577457457545171955398620394825288755004748632823442391480609252724139137363362217345704986054091526484325082023370471316671388998621890381051887723453717885315458289462338929567789563984569732130918170455468706936435564873416764370066889151003519956985362459968515833566198793973626642789296635961758599104153968895959102772786758930208174507922439253222631446369344905331887413112208737589866280427123282709008008449207213534779286027138511151953371179975017611618863436260300305839644656498081158850709666208849998768070086216552462682606990913044705365280887639923717368355535994805915956001183322012574257874733628441072506841957304401907726481209980713718190371464735280938038763425841506136146317392884880407527890791090064870829911538896963196756329721243141402759193148065240077671248510205794226198819017258719735981082535698382997962355359023857009706972707906474198775387248956989 2965621310978286612886032594955879115407095876115529529320342192005064498851419482007839170001254477165318628944364124031308497609076781288266815802318725301140092248806564391268754958674372285659514801768900973774743180846295630488713619754599431696427913255276170114147998304978447118806431465052685562340704569148343487084148568824809108650684180508343240612378314643234827081946864747531540925033073495173053394140785744588169719397225519633273643291795222649932355854078247370383648777040632295865108182319672136665703452759503967074032841458808466966398732891139200082701802790346747003780479135249255482033789922721508005349826636219194763437700661392130214839754017418615177849025397522037475405603058270721351271611025412304416610477727938606382203551649706670270541104639778913467134161606718869466262662083405515207976139743061610107520805849365592132149828541172638592123162765499165130870079955240089073452614349680328134037509608515577183294459845681687450979303949174918594911831464874972012482202201367173256948708633493137915647850847624140279096404653685658957054673317143526465276531046962933183036322073703842023920175486214003496171143665959092035291426241058617596393091606515635060930901520207 4798476078923889412483349555925377318157813530454188217225562279682436790215589418073749493256508753991630214061316157237731824468303815310646573756587338900198601213859890593233665350586996223251982130743883289790922162037851925118673729073879577696993665096509884543289790063652624501118892407499868981700704928479364705142726026282354280606082800903168529367383063276058269473427474000255680062396435712518758380194877271072494801420595990949945032290417113030984243577531965255699107066502971225432897746304241868796621623214972674010468406332225231336465622042142720039687165250315262837346677929222882124823086558683266604453980605115153866210487420322338389347676456671837809295394742427369362818715267008311217552038148695013424618926935152141161489578788217822223912284614796525085997597867019175305907318581486674058685805951911608875590892065918054814756819454217343957404050405422882499225615950046005029453797671692902391912243236956649690136417150083595177460513929888636785283296200155910051245628042873309403266101518373545443538641937689011109007943550648855713384394560284929224469679112203010854284832279498068222739192744933739477253679364342089997646785264915627303365799512989833836318150477196 7764097389902176025369382150881256433564909406569717746545904471687501289067008900081588663257763231156948843005680281269040322077380596598913389558906064201338693462666454984502420309261368508911496932512784263565665342884147555607387348828479009393421578351786054657437788368631071619925323872552554544041409497627708192226874595107163389256766981411511769979761377919293096555374338747787220987429509207691811774335663015660664520817821510583218675582212335680916599431610212626082755843543603521298005928623914005462325075974476641084501247791033698302864354933281920122388968040662009841127157064472137606856876481404774609803807241334348629648188081714468604187430474090452987144420139949406838224318325279032568823649174107317841229404663090747543693130437924492494453389254575438553131759473738044772169980664892189266661945694973218983111697915283646946906647995389982549527213170922047630095695905286094102906412021373230525949752845472226873430876995765282628439817879063555380195127665030882063727830244240482660214810151866683359186492785313151388104348204334514670439067877428455689746210159165944037321154353201910246659368231147742973424823030301182032938211505974244899758891119505468897249051997403 12562573468826065437852731706806633751722722937023905963771466751369938079282598318155338156514271985148579057066996438506772146545684411909559963315493403101537294676526345577736085659848364732163479063256667553356587504921999480726061077902358587090415243448295939200727578432283696121044216280052423525742114426107072897369600621389517669862849782314680299347144441195351366028801812748042901049825944920210570154530540286733159322238417501533163707872629448711900843009142177881781862910046574746730903674928155874258946699189449315094969654123258929639329976975424640162076133290977272678473834993695019731679963040088041214257787846449502495858675502036806993535106930762290796439814882376776201043033592287343786375687322802331265848331598242888705182709226142314718365673869371963639129357340757220078077299246378863325347751646884827858702589981201701761663467449607326506931263576344930129321311855332099132360209693066132917861996082428876563567294145848877805900331808952192165478423865186792114973458287113792063480911670240228802725134723002162497112291754983370383823462437713384914215889271368954891605986632699978469398560976081482450678502394643272030584996770889872203124690632495302733567202474599 20326670858728241463222113857687890185287632343593623710317371223057439368349607218236926819772035216305527900072676719775812468623065008508473352874399467302875988139192800562238505969109733241074975995769451816922252847806147036333448426730837596483836821800081993858165366800914767740969540152604978069783523923734781089596475216496681059119616763726192069326905819114644462584176151495830122037255454127902381928866203302393823843056239012116382383454841784392817442440752390507864618753590178268028909603552069879721271775163925956179470901914292627942194331908706560284465101331639282519600992058167157338536839521492815824061595087783851125506863583751275597722537404852743783584235022326183039267351917566376355199336496909649107077736261333636248875839664066807212819063123947402192261116814495264850247279911271052592009697341858046841814287896485348708570115444997309056458476747266977759417007760618193235266621714439363443811748927901103436998171141614160434340149688015747545673551530217674178701288531354274723695721822106912161911627508315313885216639959317885054262530315141840603962099430534898928927140985901888716057929207229225424103325424944454063523208276864117102883581752000771630816254472002 32889244327554306901074845564494523937010355280617529674088837974427377447632205536392264976286307201454106957139673158282584615168749420418033316189892870404413282815719146139974591628958097973238455059026119370278840352728146517059509504633196183574252065248377933058892945233198463862013756432657401595525638349841853986966075837886198728982466546040872368674050260309995828612977964243873023087081399048112952083396743589126983165294656513649546091327471233104718285449894568389646481663636753014759813278480225753980218474353375271274440556037551557581524308884131200446541234622616555198074827051862177070216802561580857038319382934233353621365539085788082591257644335615034580024049904702959240310385509853720141575023819711980372926067859576524954058548890209121931184736993319365831390474155252484928324579157649915917357448988742874700516877877687050470233582894604635563389740323611907888738319615950292367626831407505496361673745010329980000565465287463038240240481496967939711151975395404466293674746818468066787176633492347140964636762231317476382328931714301255438085992752855225518177988701903853820533127618601867185456490183310707874781827819587726094108205047753989306008272384496074364383456946601 53215915186282548364296959422182414122297987624211153384406209197484816815981812754629191796058342417759634857212349878058397083791814428926506669064292337707289270954911946702213097598067831214313431054795571187201093200534293553392957931364033780058088887048459926917058312034113231602983296585262379665309162273576635076562551054382879788102083309767064438000956079424640291197154115739703145124336853176015334012262946891520807008350895525765928474782313017497535727890646958897511100417226931282788722882032295633701490249517301227453911457951844185523718640792837760731006335954255837717675819110029334408753642083073672862380978022017204746872402669539358188980181740467778363608284927029142279577737427420096496774360316621629480003804120910161202934388554275929144003800117266768023651590969747749778571859068920968509367146330600921542331165774172399178803698339601944619848217070878885648155327376568485602893453121944859805485493938231083437563636429077198674580631184983687256825526925622140472376035349822341510872355314454053126548389739632790267545571673619140492348523067997066122140088132438752749460268604503755901514419390539933298885153244532180157631413324618106408891854136496845995199711418603 86105159513836855265371804986676938059308342904828683058495047171912194263614018291021456772344649619213741814352023036340981698960563849344539985254185208111702553770631092842187689227025929187551886113821690557479933553262440070452467435997229963632340952296837859975951257267311695464997053017919781260834800623418489063528626892269078517084549855807936806675006339734636119810132079983576168211418252224128286095659690480647790173645552039415474566109784250602254013340541527287157582080863684297548536160512521387681708723870676498728352013989395743105242949676968961177547570576872392915750646161891511478970444644654529900700360956250558368237941755327440780237826076082812943632334831732101519888122937273816638349384136333609852929871980486686156992937444485051075188537110586133855042065125000234706896438226570884426724595319343796242848043651859449649037281234206580183237957394490793536893646992518777970520284529450356167159238948561063438129101716540236914821112681951626967977502321026606766050782168290408298048988806801194091185151970950266649874503387920395930434515820852291640318076834342606569993396223105623086970909573850641173666981064119906251739618372372095714900126520992920359583168365204 139321074700119403629668764408859352181606330529039836442901256369397011079595831045650648568402992036973376671564372914399378782752378278271046654318477545818991824725543039544400786825093760401865317168617261744681026753796733623845425367361263743690429839345297786893009569301424927067980349603182160926143962896995124140091177946651958305186633165575001244675962419159276411007286195723279313335755105400143620107922637372168597181996447565181403040892097268099789741231188486184668682498090615580337259042544817021383198973387977726182263471941239928628961590469806721908553906531128230633426465271920845887724086727728202763081338978267763115110344424866798969218007816550591307240619758761243799465860364693913135123744452955239332933676101396847359927325998760980219192337227852901878693656094747984485468297295491852936091741649944717785179209426031848827840979573808524803086174465369679185048974369087263573413737651395215972644732886792146875692738145617435589401743866935314224803029246648747238426817518112749808921344121255247217733541710583056917420075061539536422783038888849357762458164966781359319453664827609378988485328964390574472552134308652086409371031696990202123791980657489766354782879783807 225426234213956258895040569395536290240914673433868519501396303541309205343209849336672105340747641656187118485916395950740360481712942127615586639572662753930694378496174132386588476052119689589417203282438952302160960307059173694297892803358493707322770791642135646868960826568736622532977402621101942186978763520413613203619804838921036822271183021382938051350968758893912530817418275706855481547173357624271906203582327852816387355641999604596877607001881518702043754571730013471826264578954299877885795203057338409064907697258654224910615485930635671734204540146775683086101477108000623549177111433812357366694531372382732663781699934518321483348286180194239749455833892633404250872954590493345319353983301967729773473128589288849185863548081883533516920263443246031294380874338439035733735721219748219192364735522062737362816336969288514028027253077891298476878260808015104986324131859860472721942621361606041543934022180845572139803971835353210313821839862157672504222856548886941192780531567675354004477599686403158106970332928056441308918693681533323567294578449459932353217554709701649402776241801123965889447061050715002075456238538241215646219115372771992661110650069362297838692107178482686714366048149011 364747308914075662524709333804395642422521003962908355944297559910706216422805680382322753909150633693160495157480768865139739264465320405886633293891140299749686203221717171930989262877213449991282520451056214046841987060855907318143318170719757451013200630987433433761970395870161549600957752224284103113122726417408737343710982785572995127457816186957939296026931178053188941824704471430134794882928463024415526311504965224984984537638447169778280647893978786801833495802918499656494947077044915458223054245602155430448106670646631951092878957871875600363166130616582404994655383639128854182603576705733203254418618100110935426863038912786084598458630605061038718673841709183995558113574349254589118819843666661642908596873042244088518797224183280380876847589442007011513573211566291937612429377314496203677833032817554590298908078619233231813206462503923147304719240381823629789410306325230151906991595730693305117347759832240788112448704722145357189514578007775108093624600415822255417583560814324101242904417204515907915891677049311688526652235392116380484714653510999468776000593598551007165234406767905325208900725878324381063941567502631790118771249681424079070481681766352499962484087835972453069148927932818 590173543128031921419749903199931932663435677396776875445693863452015421766015529718994859249898275349347613643397164815880099746178262533502219933463803053680380581717891304317577738929333139580699723733495166349002947367915081012441210974078251158335971422629569080630931222438898172133935154845386045300101489937822350547330787624494031949728999208340877347377899936947101472642122747136990276430101820648687432515087293077801371893280446774375158254895860305503877250374648513128321211655999215336108849448659493839513014367905286176003494443802511272097370670763358088080756860747129477731780688139545560621113149472493668090644738847304406081806916785255278468129675601817399808986528939747934438173826968629372682070001631532937704660772265163914393767852885253042807954085904730973346165098534244422870197768339617327661724415588521745841233715581814445781597501189838734775734438185090624628934217092299346661281782013086360252252676557498567503336417869932780597847456964709196610364092381999455247382016890919066022862009977368129835570929073649704052009231960459401129218148308252656568010648569029291098347786929039383139397806040873005764990365054196071731592331835714797801176195014455139783514976081829 954920852042107583944459237004327575085956681359685231389991423362721638188821210101317613159048909042508108800877933681019839010643582939388853227354943353430066784939608476248567001806546589571982244184551380395844934428770988330584529144798008609349172053617002514392901618309059721734892907069670148413224216355231087891041770410067027077186815395298816643404831115000290414466827218567125071313030283673102958826592258302786356430918893944153438902789839092305710746177567012784816158733044130794331903694261649269961121038551918127096373401674386872460536801379940493075412244386258331914384264845278763875531767572604603517507777760090490680265547390316317186803517311001395367100103289002523556993670635291015590666874673777026223457996448444295270615442327260054321527297471022910958594475848740626548030801157171917960632494207754977654440178085737593086316741571662364565144744510320776535925812822992651778629541845327148364701381279643924692850995877707888691472057380531452027947653196323556490286434095434973938753687026679818362223164465766084536723885471458869905218741906803663733245055336934616307248512807363764203339373543504795883761614735620150802074013602067297763660282850427592852663904014647 1545094395170139505364209140204259507749392358756462106835685286814737059954836739820312472408947184391855722444275098496899938756821845472891073160818746407110447366657499780566144740735879729152681967918046546744847881796686069343025740118876259767685143476246571595023832840747957893868828061915056193713325706293053438438372558034561059026915814603639693990782731051947391887108949965704115347743132104321790391341679551380587728324199340718528597157685699397809587996552215525913137370389043346130440753142921143109474135406457204303099867845476898144557907472143298581156169105133387809646164952984824324496644917045098271608152516607394896762072464175571595654933192912818795176086632228750457995167497603920388272736876305309963928118768713608209664383295212513097129481383375753884304759574382985049418228569496789245622356909796276723495673893667552038867914242761501099340879182695411401164860029915291998439911323858413508616954057837142492196187413747640669289319514345240648638311745578323011737668450986354039961615697004047948197794093539415788588733117431918271034436890215056320301255703905963907405596299736403147342737179584377801648751979789816222533666345437782095564836477864882732636178880096476 2500015247212247089308668377208587082835349040116147338225676710177458698143657949921630085567996093434363831245153032177919777767465428412279926388173689760540514151597108256814711742542426318724664212102597927140692816225457057673610269263674268377034315529863574109416734459057017615603720968984726342126549922648284526329414328444628086104102629998938510634187562166947682301575777184271240419056162387994893350168271809683374084755118234662682036060475538490115298742729782538697953529122087476924772656837182792379435256445009122430196241247151285017018444273523239074231581349519646141560549217830103088372176684617702875125660294367485387442338011565887912841736710223820190543186735517752981552161168239211403863403750979086990151576765162052504934998737539773151451008680846776795263354050231725675966259370653961163582989404004031701150114071753289631954230984333163463906023927205732177700785842738284650218540865703740656981655439116786416889038409625348557980791571725772100666259398774646568227954885081789013900369384030727766560017258005181873125457002903377140939655632121859984034500759242898523712844812543766911546076553127882597532513594525436373335740359039849393328496760715310325488842784111123 4045109642382386594672877517412846590584741398872609445061361996992195758098494689741942557976943277826219553689428130674819716524287273885170999548992436167650961518254608037380856483278306047877346180020644473885540698022143127016636009382550528144719459006110145704440567299804975509472549030899782535839875628941337964767786886479189145131018444602578204624970293218895074188684727149975355766799294492316683741509951361063961813079317575381210633218161237887924886739281998064611090899511130823055213409980103935488909391851466326733296109092628183161576351745666537655387750454653033951206714170814927412868821601662801146733812810974880284204410475741459508496669903136638985719273367746503439547328665843131792136140627284396954079695533875660714599382032752286248580490064222530679568113624614710725384487940150750409205346313800308424645787965420841670822145227094664563246903109901143578865645872653576648658452189562154165598609496953928909085225823372989227270111086071012749304571144352969579965623336068143053861985081034775714757811351544597661714190120335295411974092522336916304335756463148862431118441112280170058888813732712260399181265574315252595869406704477631488893333238580193058125021664207599 6545124889594633683981545894621433673420090438988756783287038707169654456242152639663572643544939371260583384934581162852739494291752702297450925937166125928191475669851716294195568225820732366602010392123242401026233514247600184690246278646224796521753774535973719813857301758861993125076269999884508877966425551589622491097201214923817231235121074601516715259157855385842756490260504334246596185855456880311577091678223170747335897834435810043892669278636776378040185482011780603309044428633218299979986066817286727868344648296475449163492350339779468178594796019189776729619331804172680092767263388645030501240998286280504021859473105342365671646748487307347421338406613360459176262460103264256421099489834082343195999544378263483944231272299037713219534380770292059400031498745069307474831467674846436401350747310804711572788335717804340125795902037174131302776376211427828027152927037106875756566431715391861298876993055265894822580264936070715325974264232998337785250902657796784849970830543127616148193578221149932067762354465065503481317828609549779534839647123238672552913748154458776288370257222391760954831285924823936970434890285840142996713779168840688969205147063517480882221829999295503383613864448318722 10590234531977020278654423412034280264004831837861366228348400704161850214340647329405515201521882649086802938624009293527559210816039976182621925486158562095842437188106324331576424709099038414479356572143886874911774212269743311706882288028775324666473233542083865518297869058666968634548819030784291413806301180530960455864988101403006376366139519204094919884128148604737830678945231484221951952654751372628260833188174531811297710913753385425103302496798014265965072221293778667920135328144349123035199476797390663357254040147941775896788459432407651340171147764856314385007082258825714043973977559459957914109819887943305168593285916317245955851158963048806929835076516497098161981733471010759860646818499925474988135685005547880898310967832913373934133762803044345648611988809291838154399581299461147126735235250955461981993682031604648550441690002594972973598521438522492590399830147008019335432077588045437947535445244828048988178874433024644235059490056371327012521013743867797599275401687480585728159201557218075121624339546100279196075639961094377196553837243573967964887840676795692592706013685540623385949727037104107029323704018552403395895044743155941565074553767995112371115163237875696441738886112526321 17135359421571653962635969306655713937424922276850123011635439411331504670582799969069087845066822020347386323558590456380298705107792678480072851423324688024033912857958040625771992934919770781081366964267129275938007726517343496397128566675000121188227008078057585332155170817528961759625089030668800291772726732120582946962189316326823607601260593805611635143286003990580587169205735818468548138510208252939837924866397702558633608748189195468995971775434790644005257703305559271229179756777567423015185543614677391225598688444417225060280809772187119518765943784046091114626414062998394136741240948104988415350818174223809190452759021659611627497907450356154351173483129857557338244193574275016281746308334007818184135229383811364842542240131951087153668143573336405048643487554361145629231048974307583528085982561760173554782017749408988676237592039769104276374897649950320617552757184114895091998509303437299246412438300093943810759139369095359561033754289369664797771916401664582449246232230608201876352779778368007189386694011165782677393468570644156731393484366812640517801588831254468881076270907932384340781012961928043999758594304392546392608823911996630534279700831512593253336993237171199825352750560845043 27725593953548674241290392718689994201429754114711489239983840115493354884923447298474603046588704669434189262182599749907857915923832654662694776909483250119876350046064364957348417644018809195560723536411016150849781938787086808104010854703775445854700241620141450850453039876195930394173908061453091705579027912651543402827177417729829983967400113009706555027414152595318417848150967302690500091164959625568098758054572234369931319661942580894099274272232804909970329924599337939149315084921916546050385020412068054582852728592359000957069269204594770858937091548902405499633496321824108180715218507564946329460638062167114359046044937976857583349066413404961281008559646354655500225927045285776142393126833933293172270914389359245740853207964864461087801906376380750697255476363652983783630630273768730654821217812715635536775699781013637226679282042364077249973419088472813207952587331122914427430586891482737193947883544921992798938013802120003796093244345740991810292930145532380048521633918088787604511981335586082311011033557266061873469108531738533927947321610386608482689429508050161473782284593473007726730739999032151029082298322944949788503868655152572099354254599507705624452156475046896267091636673371364 44860953375120328203926362025345708138854676391561612251619279526824859555506247267543690891655526689781575585741190206288156621031625333142767628332807938143910262904022405583120410578938579976642090500678145426787789665304430304501139421378775567042927249698199036182608210693724892153798997092121891997351754644772126349789366734056653591568660706815318190170700156585899005017356703121159048229675167878507936682920969936928564928410131776363095246047667595553975587627904897210378494841699483969065570564026745445808451417036776226017350078976781890377703035332948496614259910384822502317456459455669934744811456236390923549498803959636469210846973863761115632182042776212212838470120619560792424139435167941111356406143773170610583395448096815548241470049949717155745898963918014129412861679248076314182907200374475809091557717530422625902916874082133181526348316738423133825505344515237809519429096194920036440360321845015936609697153171215363357126998635110656608064846547196962497767866148696989480864761113954089500397727568431844550862577102382690659340805977199249000491018339304630354858555501405392067511752960960195028840892627337496181112692567149202633633955431020298877789149712218096092444387234216407 72586547328669002445216754744035702340284430506273101491603119642318214440429694566018293938244231359215764847923789956196014536955457987805462405242291188263786612950086770540468828222957389172202814037089161577637571604091517112605150276082551012897627491318340487033061250569920822547972905153574983702930782557423669752616544151786483575536060819825024745198114309181217422865507670423849548320840127504076035440975542171298496248072074357257194520319900400463945917552504235149527809926621400515115955584438813500391304145629135226974419348181376661236640126881850902113893406706646610498171677963234881074272094298558037908544848897613326794196040277166076913190602422566868338696047664846568566532562001874404528677058162529856324248656061680009329271956326097906443154440281667113196492309521845044837728418187191444628333417311436263129596156124497258776321735826895947033457931846360723946859683086402773634308205389937929408635166973335367153220242980851648418357776692729342546289500066785777085376742449540171811408761125697906424331685634121224587288127587585857483180447847354791828640840094878399794242492959992346057923190950282445969616561222301774732988210030528004502241306187264992359536023907587771 117447500703789330649143116769381410479139106897834713743222399169143073995935941833561984829899758048997340433664980162484171157987083320948230033575099126407696875854109176123589238801895969148844904537767307004425361269395947417106289697461326579940554741016539523215669461263645714701771902245696875700282537202195796102405910885843137167104721526640342935368814465767116427882864373545008596550515295382583972123896512108227061176482206133620289766367567996017921505180409132359906304768320884484181526148465558946199755562665911452991769427158158551614343162214799398728153317091469112815628137418904815819083550534948961458043652857249796005043014140927192545372645198779081177166168284407360990671997169815515885083201935700466907644104158495557570742006275815062189053404199681242609353988769921359020635618561667253719891134841858889032513030206630440302670052565319080858963276361598533466288779281322810074668527234953866018332320144550730510347241615962305026422623239926305044057366215482766566241503563494261311806488694129750975194262736503915246628933564785106483671466186659422183499395596283791861754245920952541086764083577619942150729253789450977366622165461548303380030455899483088451980411141804178 190034048032458333094359871513417112819423537404107815234825518811461288436365636399580278768143989408213105281588770118680185694942541308753692438817390314671483488804195946664058067024853358321047718574856468582062932873487464529711439973543877592838182232334880010248730711833566537249744807399271859403213319759619465855022455037629620742640782346465367680566928774948333850748372043968858144871355422886660007564872054279525557424554280490877484286687468396481867422732913367509434114694942284999297481732904372446591059708295046679966188775339535212850983289096650300842046723798115723313799815382139696893355644833506999366588501754863122799239054418093269458563247621345949515862215949253929557204559171689920413760260098230323231892760220175566900013962601912968632207844481348355805846298291766403858364036748858698348224552153295152162109186331127699078991788392215027892421208207959257413148462367725583708976732624891795426967487117886097663567484596813953444780399932655647590346866282268543651618246013034433123215249819827657399525948370625139833917061152370963966851914034014214012140235691162191655996738880944887144687274527902388120345815011752752099610375492076307882271762086748080811516435049391949 307481548736247663743502988282798523298562644301942528978047917980604362432301578233142263598043747457210445715253750281164356852929624629701922472392489441079180364658305122787647305826749327469892623112623775586488294142883411946817729671005204172778736973351419533464400173097212251951516709644968735103495856961815261957428365923472757909745503873105710615935743240715450278631236417513866741421870718269243979688768566387752618601036486624497774053055036392499788927913322499869340419463263169483479007881369931392790815270960958132957958202497693764465326451311449699570200040889584836129427952801044512712439195368455960824632154612112918804282068559020462003935892820125030693028384233661290547876556341505436298843462033930790139536864378671124470755968877728030821261248681029598415200287061687762878999655310525952068115686995154041194622216537758139381661840957534108751384484569557790879437241649048393783645259859845661445299807262436828173914726212776258471203023172581952634404232497751310217859749576528694435021738513957408374720211107129055080545994717156070450523380220673636195639631287445983517750984801897428231451358105522330271075068801203729466232540953624611262302217986231169263496846191196127 497515596768705996837862859796215636117986181706050344212873436792065650868667214632722542366187736865423550996842520399844542547872165938455614911209879755750663853462501069451705372851602685790940341687480244168551227016370876476529169644549081765616919205686299543713130884930778789201261517044240594506709176721434727812450820961102378652386286219571078296502672015663784129379608461482724886293226141155903987253640620667278176025590767115375258339742504788981656350646235867378774534158205454482776489614274303839381874979256004812924146977837228977316309740408100000412246764687700559443227768183184209605794840201962960191220656366976041603521122977113731462499140441470980208890600182915220105081115513195356712603722132161113371429624598846691370769931479640999453469093162377954221046585353454166737363692059384650416340239148449193356731402868885838460653629349749136643805692777517048292585704016773977492621992484737456872267294380322925837482210809590211915983423105237600224751098780019853869477995589563127558236988333785065774246159477754194914463055869527034417375294254687850207779866978608175173747723682842315376138632633424718391420883812956481565842916445700919144573980072979250075013281240588076 804997145504953660581365848079014159416548826007992873190921354772670013300968792865864805964231484322633996712096270681008899400801790568157537383602369196829844218120806192239352678678352013260832964800104019755039521159254288423346899315554285938395656179037719077177531058027991041152778226689209329610205033683249989769879186884575136562131790092676788912438415256379234408010844878996591627715096859425147966942409187055030794626627253739873032392797541181481445278559558367248114953621468623966255497495644235232172690250216962945882105180334922741781636191719549699982446805577285395572655720984228722318234035570418921015852810979088960407803191536134193466435033261596010901918984416576510652957671854700793011447184166091903510966488977517815841525900357369030274730341843407552636246872415141929616363347369910602484455926143603234551353619406643977842315470307283245395190177347074839172022945665822371276267252344583118317567101642759754011396937022366470387186446277819552859155331277771164087337745166091821993258726847742474148966370584883249995009050586683104867898674475361486403419498266054158691498708484739743607589990738947048662495952614160211032075457399325530406876198059210419338510127431784203 1302512742273659657419228707875229795534535007714043217403794791564735664169636007498587348330419221188057547708938791080853441948673956506613152294812248952580508071583307261691058051529954699051773306487584263923590748175625164899876068960103367704012575384724018620890661942958769830354039743733449924116914210404684717582330007845677515214518076312247867208941087272043018537390453340479316514008323000581051954196049807722308970652218020855248290732540045970463101629205794234626889487779674078449031987109918539071554565229472967758806252158172151719097945932127649700394693570264985955015883489167412931924028875772381881207073467346065002011324314513247924928934173703066991110809584599491730758038787367896149724050906298253016882396113576364507212295831837010029728199435005785506857293457768596096353727039429295252900796165292052427908085022275529816302969099657032382038995870124591887464608649682596348768889244829320575189834396023082679848879147831956682303169869383057153083906430057791017956815740755654949551495715181527539923212530062637444909472106456210139285273968730049336611199365244662333865246432167582058983728623372371767053916836427116692597918373845026449551450178132189669413523408672372279 2107509887778613318000594555954243954951083833722036090594716146337405677470604800364452154294650705510691544421035061761862341349475747074770689678414618149410352289704113453930410730208306712312606271287688283678630269334879453323222968275657653642408231563761737698068193000986760871506817970422659253727119244087934707352209194730252651776649866404924656121379502528422252945401298219475908141723419860006199921138458994777339765278845274595121323125337587151944546907765352601875004441401142702415287484605562774303727255479689930704688357338507074460879582123847199400377140375842271350588539210151641654242262911342800802222926278325153962419127506049382118395369206964663002012728569016068241410996459222596942735498090464344920393362602553882323053821732194379060002929776849193059493540330183738025970090386799205855385252091435655662459438641682173794145284569964315627434186047471666726636631595348418720045156497173903693507401497665842433860276084854323152690356315660876705943061761335562182044153485921746771544754442029270014072178900647520694904481157042893244153172643205410823014618863510716492556745140652321802591318614111318815716412789041276903629993831244351979958326376191400088752033536104156482 3410022630052272975419823263829473750485618841436079307998510937902141341640240807863039502625069926698749092129973852842715783298149703581383841973226867101990860361287420715621468781738261411364379577775272547602221017510504618223099037235761021346420806948485756318958854943945530701860857714156109177844033454492619424934539202575930166991167942717172523330320589800465271482791751559955224655731742860587251875334508802499648735931063295450369613857877633122407648536971146836501893929180816780864319471715481313375281820709162898463494609496679226179977528055974849100771833946107257305604422699319054586166291787115182683429999745671218964430451820562630043324303380667729993123538153615559972169035246590493092459548996762597937275758716130246830266117564031389089731129211854978566350833787952334122323817426228501108286048256727708090367523663957703610448253669621348009473181917596258614101240245031015068814045742003224268697235893688925113709155232686279834993526185043933859026968191393353200000969226677401721096250157210797553995391430710158139813953263499103383438446611935460159625818228755378826421991572819903861575047237483690582770329625468393596227912205089378429509776554323589758165556944776528761 5517532517830886293420417819783717705436702675158115398593227084239547019110845608227491656919720632209440636551008914604578124647625450656154531651641485251401212650991534169551879511946568123676985849062960831280851286845384071546322005511418674988829038512247494017027047944932291573367675684578768431571152698580554132286748397306182818767817809122097179451700092328887524428193049779431132797455162720593451796472967797276988501209908570045490936983215220274352195444736499438376898370581959483279606956321044087679009076188852829168182966835186300640857110179822048501148974321949528656192961909470696240408554698457983485652926023996372926849579326612012161719672587632392995136266722631628213580031705813090035195047087226942857669121318684129153319939296225768149734058988704171625844374118136072148293907813027706963671300348163363752826962305639877404593538239585663636907367965067925340737871840379433788859202239177127962204637391354767547569431317540602987683882500704810564970029952728915382045122712599148492641004599240067568067570331357678834718434420541996627591619255140870982640437092266095318978736713472225664166365851595009398486742414509670499857906036333730409468102930514989846917590480880685243 8927555147883159268840241083613191455922321516594194706591738022141688360751086416090531159544790558908189728680982767447293907945775154237538373624868352353392073012278954885173348293684829535041365426838233378883072304355888689769421042747179696335249845460733250335985902888877822275228533398734877609415186153073173557221287599882112985758985751839269702782020682129352795910984801339386357453186905581180703671807476599776637237140971865495860550841092853396759843981707646274878792299762776264143926428036525401054290896898015727631677576331865526820834638235796897601920808268056785961797384608789750826574846485573166169082925769667591891280031147174642205043975968300122988259804876247188185749066952403583127654596083989540794944880034814375983586056860257157239465188200559150192195207906088406270617725239256208071957348604891071843194485969597581015041791909207011646380549882664183954839112085410448857673247981180352230901873285043692661278586550226882822677408685748744423996998144122268582046091939276550213737254756450865122062961762067836974532387684041100011030065867076331142266255321021474145400728286292129525741413089078699981257072039978064096085818241423108838977879484838579605083147425657214004 14445087665714045562260658903396909161359024191752310105184965106381235379861932024318022816464511191117630365231991682051872032593400604893692905276509837604793285663270489054725227805631397658718351275901194210163923591201272761315743048258598371324078883972980744353012950833810113848596209083313646040986338851653727689508035997188295804526803560961366882233720774458240320339177851118817490250642068301774155468280444397053625738350880435541351487824308073671112039426444145713255690670344735747423533384357569488733299973086868556799860543167051827461691748415618946103069782590006314617990346518260447066983401184031149654735851793663964818129610473786654366763648555932515983396071598878816399329098658216673162849643171216483652614001353498505136905996156482925389199247189263321818039582024224478418911633052283915035628648953054435596021448275237458419635330148792675283287917847732109295576983925789882646532450220357480193106510676398460208848017867767485810361291186453554988967028096851183964091214651875698706378259355690932690130532093425515809250822104583096638621685122217202124906692413287569464379464999764355189907778940673709379743814454487734595943724277756839248445982415353569452000737906537899247 23372642813597204831100899987010100617281345708346504811776703128522923740613018440408553976009301750025820093912974449499165940539175759131231278901378189958185358675549443939898576099316227193759716702739427589046995895557161451085164091005778067659328729433713994688998853722687936123824742482048523650401525004726901246729323597070408790285789312800636585015741456587593116250162652458203847703828973882954859140087920996830262975491852301037212038665400927067871883408151791988134482970107512011567459812394094889787590869984884284431538119498917354282526386651415843704990590858063100579787731127050197893558247669604315823818777563331556709409641620961296571807624524232638971655876475126004585078165610620256290504239255206024447558881388312881120492053016740082628664435389822472010234789930312884689529358291540123107585997557945507439215934244835039434677122057999686929668467730396293250416096011200331504205698201537832424008383961442152870126604417994368633038699872202299412964026240973452546137306591152248920115514112141797812193493855493352783783209788624196649651750989293533267172947734309043609780193286056484715649192029752409361000886494465798692029542519179948087423861900192149057083885332195113251 37817730479311250393361558890407009778640369900098814916961668234904159120474950464726576792473812941143450459144966131551037973132576364024924184177888027562978644338819932994623803904947624852478067978640621799210919486758434212400907139264376438983407613406694739042011804556498049972420951565362169691387863856380628936237359594258704594812592873762003467249462231045833436589340503577021337954471042184729014608368365393883888713842732736578563526489709000738983922834595937701390173640452247758990993196751664378520890843071752841231398662665969181744218135067034789808060373448069415197778077645310644960541648853635465478554629356995521527539252094747950938571273080165154955051948074004820984407264268836929453353882426422508100172882741811386257398049173223008017863682579085793828274371954537363108440991343824038143214646510999943035237382520072497854312452206792362212956385578128402545993079936990214150738148421895312617114894637840613078974622285761854443399991058655854401931054337824636510228521243027947626493773467832730502324025948918868593034031893207293288273436111510735392079640147596613074159658285820839905556970970426118740744700948953533287973266796936787335869844315545718509084623238733012498 61190373292908455224462458877417110395921715608445319728738371363427082861087968905135130768483114691169270553057940581050203913671752123156155463079266217521164003014369376934522380004263852046237784681380049388257915382315595663486071230270154506642736342840408733731010658279185986096245694047410693341789388861107530182966683191329113385098382186562640052265203687633426552839503156035225185658300016067683873748456286390714151689334585037615775565155109927806855806242747729689524656610559759770558453009145759268308481713056637125662936782164886536026744521718450633513050964306132515777565808772360842854099896523239781302373406920327078236948893715709247510378897604397793926707824549130825569485429879457185743858121681628532547731764130124267377890102189963090646528117968908265838509161884850247797970349635364161250800644068945450474453316764907537288989574264792049142624853308524695796409175948190545654943846623433145041123278599282765949101226703756223076438690930858153814895080578798089056365827834180196546609287579974528314517519804412221376817241681831489937925187100804268659252587881905656683939851571877324621206163000178528101745587443419331980002809316116735423293706215737867566168508570928125749 99008103772219705617824017767824120174562085508544134645700039598331241981562919369861707560956927632312721012202906712601241886804328487181079647257154245084142647353189309929146183909211476898715852660020671187468834869074029875886978369534530945626143956247103472773022462835684036068666645612772863033177252717488159119204042785587817979910975060324643519514665918679259989428843659612246523612771058252412888356824651784598040403177317774194339091644818928545839729077343667390914830251012007529549446205897423646829372556128389966894335444830855717770962656785485423321111337754201930975343886417671487814641545376875246780928036277322599764488145810457198448950170684562948881759772623135646553892694148294115197212004108051040647904646871935653635288151363186098664391800547994059666783533839387610906411340979188199394015290579945393509690699284980035143302026471584411355581238886653098342402255885180759805681995045328457658238173237123379028075848989518077519838681989514008216826134916622725566594349077208144173103061047807258816841545753331089969851273575038783226198623212315004051332228029502269758099509857698164526763133970604646842490288392372865267976076113053522759163550531283586075253131809661138247 160198477065128160842286476645241230570483801116989454374438410961758324842650888274996838329440042323481991565260847293651445800476080610337235110336420462605306650367558686863668563913475328944953637341400720575726750251389625539373049599804685452268880299087512206504033121114870022164912339660183556374966641578595689302170725976916931365009357246887283571779869606312686542268346815647471709271071074320096762105280938175312192092511902811810114656799928856352695535320091397080439486861571767300107899215043182915137854269185027092557272226995742253797707178503936056834162302060334446752909695190032330668741441900115028083301443197649678001437039526166445959329068288960742808467597172266472123378124027751300941070125789679573195636411002059921013178253553149189310919918516902325505292695724237858704381690614552360644815934648890843984144016049887572432291600736376460498206092195177794138811431833371305460625841668761602699361451836406144977177075693274300596277372920372162031721215495420814622960176911388340719712348627781787131359065557743311346668515256870273164123810313119272710584815911407926442039361429575489147969296970783174944235875835792197247978885429170258182457256747021453641421640380589263996 259206580837347866460110494413065350745045886625533589020138450560089566824213807644858545890396969955794712577463754006252687687280409097518314757593574707689449297720747996792814747822686805843669490001421391763195585120463655415260027969339216397895024255334615679277055583950554058233578985272956419408143894296083848421374768762504749344920332307211927091294535524991946531697190475259718232883842132572509650462105589959910232495689220586004453748444747784898535264397435064471354317112583774829657345420940606561967226825313417059451607671826597971568669835289421480155273639814536377728253581607703818483382987276990274864229479474972277765925185336623644408279238973523691690227369795402118677270818176045416138282129897730613843541057873995574648466404916335287975311719064896385172076229563625469610793031593740560038831225228836237493834715334867607575593627207960871853787331081830892481213687718552065266307836714090060357599625073529524005252924682792378116116054909886170248547350412043540189554525988596484892815409675589045948200611311074401316519788831909056390322433525434276761917043940910196200138871287273653674732430941387821786726164228165062515954961542223780941620807278305039716674772190250402243 419405057902476027302396971058306581315529687742523043394576861521847891666864695919855384219837012279276704142724601299904133487756489707855549867929995170294755948088306683656483311736162134788623127342822112338922335371853280954633077569143901850163904554422127885781088705065424080398491324933139975783110535874679537723545494739421680709929689554099210663074405131304633073965537290907189942154913206892606412567386528135222424588201123397814568405244676641251230799717526461551793803974155542129765244635983789477105081094498444152008879898822340225366377013793357536989435941874870824481163276797736149152124429177105302947530922672621955767362224862790090367608307262484434498694966967668590800648942203796717079352255687410187039177468876055495661644658469484477286231637581798710677368925287863328315174722208292920683647159877727081477978731384755180007885227944337332351993423277008686620025119551923370726933678382851663056961076909935668982430000376066678712393427830258332280268565907464354812514702899984825612527758303370833079559676868817712663188304088779329554446243838553549472501859852318122642178232716849142822701727912170996730962040063957259763933846971394039124078064025326493358096412570839666239 678611638739823893762507465471371932060575574368056632414715312081937458491078503564713930110233982235071416720188355306156821175036898805373864625523569877984205245809054680449298059558848940632292617344243504102117920492316936369893105538483118248058928809756743565058144289015978138632070310206096395191254430170763386144920263501926430054850021861311137754368940656296579605662727766166908175038755339465116063029492118095132657083890343983819022153689424426149766064114961526023148121086739316959422590056924396039072307919811861211460487570648938196935046849082779017144709581689407202209416858405439967635507416454095577811760402147594233533287410199413734775887546236008126188922336763070709477919760379842133217634385585140800882718526750051070310111063385819765261543356646695095849445154851488797925967753802033480722478385106563318971813446719622787583478855152298204205780754358839579101238807270475435993241515096941723414560701983465192987682925058859056828509482740144502528815916319507895002069228888581310505343167978959879027760288179892113979708092920688385944768677363987826234418903793228318842317104004122796497434158853558818517688204292122322279888808513617820065698871303631533074771184761090068482 1098016696642299921064904436529678513376105262110579675809292173603785350157943199484569314330070994514348120862912956606060954662793388513229414493453565048278961193897361364105781371295011075420915744687065616441040255864170217324526183107627020098222833364178871450839232994081402219030561635139236370974364966045442923868465758241348110764779711415410348417443345787601212679628265057074098117193668546357722475596878646230355081672091467381633590558934101067400996863832487987574941925060894859089187834692908185516177389014310305363469367469471278422301423862876136554134145523564278026690580135203176116787631845631200880759291324820216189300649635062203825143495853498492560687617303730739300278568702583638850296986641272550987921895995626106565971755721855304242547774994228493806526814080139352126241142476010326401406125544984290400449792178104377967591364083096635536557774177635848265721263926822398806720175193479793386471521778893400861970112925434925735540902910570402834809084482226972249814583931788566136117870926282330712107319965048709826642896397009467715499214921202541375706920763645546441484495336720971939320135886765729815248650244356079582043822655485011859189776935328958026432867597331929734721 1776628335382123814827411902001050445436680836478636308224007485685722808649021703049283244440304976749419537583101311912217775837830287318603279118977134926263166439706416044555079430853860016053208362031309120543158176356487153694419288646110138346281762173935615015897377283097380357662631945345332766165619396216206310013386021743274540819629733276721486171812286443897792285290992823241006292232423885822838538626370764325487738755981811365452612712623525493550762927947449513598090046147634176048610424749832581555249696934122166574929855040120216619236470711958915571278855105253685228899996993608616084423139262085296458571051726967810422833937045261617559919383399734500686876539640493810009756488462963480983514621026857691788804614522376157636281866785241124007809318350875188902376259234990840924167110229812359882128603930090853719421605624824000755174842938248933740763554931994687844822502734092874242713416708576735109886082480876866054957795850493784792369412393310547337337900398546480144816653160677147446623214094261290591135080253228601940622604489930156101443983598566529201941339667438774760326812440725094735817570045619288633766338448648201904323711463998629679255475806632589559507638782093019803203 2874645032024423735892316338530728958812786098589215984033299659289508158806964902533852558770375971263767658446014268518278730500623675831832693612430699974542127633603777408660860802148871091474124106718374736984198432220657371018945471753737158444504595538114486466736610277178782576693193580484569137139984362261649233881851779984622651584409444692131834589255632231499004964919257880315104409426092432180561014223249410555842820428073278747086203271557626560951759791779937501173031971208529035137798259442740767071427085948432471938399222509591495041537894574835052125413000628817963255590577128811792201210771107716497339330343051788026612134586680323821385062879253232993247564156944224549310035057165547119833811607668130242776726510518002264202253622507096428250357093345103682708903073315130193050408252705822686283534729475075144119871397802928378722766207021345569277321329109630536110543766660915273049433591902056528496357604259770266916927908775928710527910315303880950172146984880773452394631237092465713582741085020543621303242400218277311767265500886939623816943198519769070577648260431084321201811307777446066675137705932385018449014988693004281486367534119483641538445252741961547585940506379424949537924 4651273367406547550719728240531779404249466935067852292257307144975230967455986605583135803210680948013187196029115580430496506338453963150435972731407834900805294073310193453215940233002731107527332468749683857527356608577144524713364760399847296790786357712050101482633987560276162934355825525829901903305603758477855543895237801727897192404039177968853320761067918675396797250210250703556110701658516318003399552849620174881330559184055090112538815984181152054502522719727387014771122017356163211186408684192573348626676782882554638513329077549711711660774365286793967696691855734071648484490574122420408285633910369801793797901394778755837034968523725585438944982262652967493934440696584718359319791545628510600817326228694987934565531125040378421838535489292337552258166411695978871611279332550121033974575362935635046165663333405165997839293003427752379477941049959594503018084884041625223955366269395008147292147008610633263606243686740647132971885704626422495320279727697191497509484885279319932539447890253142861029364299114804911894377480471505913707888105376869779918387182118335599779589600098523095962138120218171161410955275978004307082781327141652483390691245583482271217700728548594137145448145161517969341127 7525918399430971286612044579062508363062253033657068276290606804264739126262951508116988361981056919276954854475129848948775236839077638982268666343838534875347421706913970861876801035151602199001456575468058594511555040797801895732310232153584455235290953250164587949370597837454945511049019106314471040445588120739504777777089581712519843988448622660985155350323550906895802215129508583871215111084608750183960567072869585437173379612128368859625019255738778615454282511507324515944153988564692246324206943635314115698103868830987110451728300059303206702312259861629019822104856362889611740081151251232200486844681477518291137231737830543863647103110405909260330045141906200487182004853528942908629826602794057720651137836363118177342257635558380686040789111799433980508523505041082554320182405865251227024983615641457732449198062880241141959164401230680758200707256980940072295406213151255760065910036055923420341580600512689792102601291000417399888813613402351205848190043001072447681631870160093384934079127345608574612105384135348533197619880689783225475153606263809403735330380638104670357237860529607417163949427995617228086092981910389325531796315834656764877058779702965912756145981290555684731388651540942918879051 12177191766837518837331772819594287767311719968724920568547913949239970093718938113700124165191737867290142050504245429379271743177531602132704639075246369776152715780224164315092741268154333306528789044217742452038911649374946420445674992553431752026077310962214689432004585397731108445404844632144372943751191879217360321672327383440417036392487800629838476111391469582292599465339759287427325812743125068187360119922489760318503938796183458972163835239919930669956805231234711530715276005920855457510615627827887464324780651713541748965057377609014918363086625148422987518796712096961260224571725373652608772478591847320084935133132609299700682071634131494699275027404559167981116445550113661267949618148422568321468464065058106111907788760598759107879324601091771532766689916737061425931461738415372260999558978577092778614861396285407139798457404658433137678648306940534575313491097192880984021276305450931567633727609123323055708844977741064532860699318028773701168469770698263945191116755439413317473527017598751435641469683250153445091997361161289139183041711640679183653717562756440270136827460628130513126087548213788389497048257888393632614577642976309248267750025286448183973846709839149821876836796702460888220178 19703110166268490123943817398656796130373973002381988844838520753504709219981889621817112527172794786567096904979375278328046980016609241114973305419084904651500137487138135176969542303305935505530245619685801046550466690172748316177985224707016207261368264212379277381375183235186053956453863738458843984196779999956865099449416965152936880380936423290823631461715020489188401680469267871298540923827733818371320686995359345755677318408311827831788854495658709285411087742742036046659429994485547703834822571463201580022884520544528859416785677668318125065398885010052007340901568459850871964652876624884809259323273324838376072364870439843564329174744537403959605072546465368468298450403642604176579444751216626042119601901421224289250046396157139793920113712891205513275213421778143980251644144280623488024542594218550511064059459165648281757621805889113895879355563921474647608897310344136744087186341506854987975308209636012847811446268741481932749512931431124907016659813699336392872748625599506702407606144944360010253575067385501978289617241851072364658195317904488587389047943394544940494065321157737930290036976209405617583141239798782958146373958810966013144808804989414096729992691129705506608225448243403807099229 31880301933106008961275590218251083897685692971106909413386434702744679313700827735517236692364532653857238955483620707707318723194140843247677944494331274427652853267362299492062283571460268812059034663903543498589378339547694736623660217260447959287445575174593966813379768632917162401858708370603216927947971879174225421121744348593353916773424223920662107573106490071481001145809027158725866736570858886558680806917849106074181257204495286803952689735578639955367892973976747577374706000406403161345438199291089044347665172258070608381843055277333043428485510158474994859698280556812132189224601998537418031801865172158461007498003049143265011246378668898658880099951024536449414895953756265444529062899639194363588065966479330401157835156755898901799438313982977046041903338515205406183105882695995749024101572795643289678920855451055421556079210547547033558003870862009222922388407537017728108462646957786555609035818759335903520291246482546465610212249459898608185129584397600338063865381038920019881133162543111445895044750635655423381614603012361503841237029545167771042765506150985210630892781785868443416124524423194007080189497687176590760951601787275261412558830275862280703839400968855328485062244945864695319407 51583412099374499085219407616907880028059665973488898258224955456249388533682717357334349219537327440424335860462995986035365703210750084362651249913416179079152990754500434669031825874766204317589280283589344545139845029720443052801645441967464166548813839386973244194754951868103216358312572109062060912144751879131090520571161313746290797154360647211485739034821510560669402826278295030024407660398592704930001493913208451829858575612807114635741544231237349240778980716718783624034135994891950865180260770754290624370549692802599467798628732945651168493884395168527002200599849016663004153877478623422227291125138496996837079862873488986829340421123206302618485172497489904917713346357398869621108507650855820405707667867900554690407881552913038695719552026874182559317116760293349386434750026976619237048644167014193800742980314616703703313701016436660929437359434783483870531285717881154472195648988464641543584344028395348751331737515224028398359725180891023515201789398096936730936614006638426722288739307487471456148619818021157401671231844863433868499432347449656358431813449545530151124958102943606373706161500632599624663330737485959548907325560598241274557367635265276377433832092098560835093287693189268502418636 83463714032480508046494997835158963925745358944595807671611390158994067847383545092851585911901860094281574815946616693742684426404890927610329194407747453506805844021862734161094109446226473129648314947492888043729223369268137789425305659227912125836259414561567211008134720501020378760171280479665277840092723758305315941692905662339644713927784871132147846607928000632150403972087322188750274396969451591488682300831057557904039832817302401439694233966815989196146873690695531201408841995298354026525698970045379668718214865060670076180471788222984211922369905327001997060298129573475136343102080621959645322927003669155298087360876538130094351667501875201277365272448514441367128242311155135065637570550495014769295733834379885091565716709668937597518990340857159605359020098808554792617855909672614986072745739809837090421901170067759124869780226984207962995363305645493093453674125418172200304111635422428099193379847154684654852028761706574863969937430350922123386918982494537069000479387677346742169872470030582902043664568656812825052846447875795372340669376994824129474578955696515361755850884729474817122286025055793631743520235173136139668277162385516535969926465541138658137671493067416163578349938135133197738043 135047126131855007131714405452066843953805024918084705929836345615243456381066262450185935131439187534705910676409612679778050129615641011972980444321163632585958834776363168830125935320992677447237595231082232588869068398988580842226951101195376292385073253948540455202889672369123595118483852588727338752237475637436406462264066976085935511082145518343633585642749511192819806798365617218774682057368044296418683794744266009733898408430109516075435778198053338436925854407414314825442977990190304891705959740799670293088764557863269543979100521168635380416254300495528999260897978590138140496979559245381872614052142166152135167223750027116923692088625081503895850444946004346284841588668554004686746078201350835175003401702280439781973598262581976293238542367731342164676136859101904179052605936649234223121389906824030891164881484684462828183481243420868892432722740428976963984959843299326672499760623887069642777723875550033406183766276930603262329662611241945638588708380591473799937093394315773464458611777518054358192284386677970226724078292739229240840101724444480487906392405242045512880808987673081190828447525688393256406850972659095688575602722983757810527294100806415035571503585165976998671637631324401700156679 218510840164335515178209403287225807879550383862680513601447735774237524228449807543037521043341047628987485492356229373520734556020531939583309638728911086092764678798225902991220044767219150576885910178575120632598291768256718631652256760423288418221332668510107666211024392870143973878655133068392616592330199395741722403956972638425580225009930389475781432250677511824970210770452939407524956454337495887907366095575323567637938241247411917515130012164869327633072728098109846026851819985488658918231658710845049961806979422923939620159572309391619592338624205822530996321196108163613276840081639867341517936979145835307433254584626565247018043756126956705173215717394518787651969830979709139752383648751845849944299135536660324873539314972250913890757532708588501770035156957910458971670461846321849209194135646633867981586782654752221953053261470405076855428086046074470057438633968717498872803872259309497741971103722704718061035795038637178126299600041592867761975627363086010868937572781993120206628484247548637260235948955334783051776924740615024613180771101439304617380971360938560874636659872402556007950733550744186888150371207832231828243879885369274346497220566347553693709175078233393162249987569459534897894722 353557966296190522309923808739292651833355408780765219531284081389480980609516069993223456174780235163693396168765842053298784685636172951556290083050074718678723513574589071821345980088211828024123505409657353221467360167245299473879207861618664710606405922458648121413914065239267568997138985657119955344567675033178128866221039614511515736092075907819415017893427023017790017568818556626299638511705540184326049890319589577371836649677521433590565790362922666069998582505524160852294797975678963809937618451644720254895743980787209164138672830560254972754878506318059995582094086753751417337061199112723390551031288001459568421808376592363941735844752038209069066162340523133936811419648263144439129726953196685119302537238940764655512913234832890183996075076319843934711293817012363150723067782971083432315525553457898872751664139436684781236742713825945747860808786503447021423593812016825545303632883196567384748827598254751467219561315567781388629262652834813400564335743677484668874666176308893671087096025066691618428233342012753278501003033354253854020872825883785105287363766180606387517468860075637198779181076432580144557222180491327516819482608353032157024514667153968729280678663399370160921625200783936598051401 572068806460526037488133212026518459712905792643445733132731817163718504837965877536260977218121282792680881661122071426819519241656704891139599721778985804771488192372814974812566024855430978601009415588232473854065651935502018105531464622041953128827738590968755787624938458109411542875794118725512571936897874428919851270178012252937095961102006297295196450144104534842760228339271496033824594966043036072233415985894913145009774890924933351105695802527791993703071310603634006879146617961167622728169277162489770216702723403711148784298245139951874565093502712140590991903290194917364694177142838980064908488010433836767001676393003157610959779600878994914242281879735041921588781250627972284191513375705042535063601672775601089529052228207083804074753607784908345704746450774922822122393529629292932641509661200091766854338446794188906734290004184231022603288894832577917078862227780734324418107505142506065126719931320959469528255356354204959514928862694427681162539963106763495537812238958302013877715580272615328878664182297347536330277927773969278467201643927323089722668335127119167262154128732478193206729914627176767032707593388323559345063362493722306503521735233501522422989853741632763323171612770243471495946123 925626772756716559798057020765811111546261201424210952664015898553199485447481947529484433392901517956374277829887913480118303927292877842695889804829060523450211705947404046633912004943642806625132920997889827075533012102747317579410672483660617839434144513427403909038852523348679111872933104382632527281465549462097980136399051867448611697194082205114611468037531557860550245908090052660124233477748576256559465876214502722381611540602454784696261592890714659773069893109158167731441415936846586538106895614134490471598467384498357948436917970512129537848381218458650987485384281671116111514204038092788299039041721838226570098201379749974901515445631033123311348042075565055525592670276235428630643102658239220182904210014541854184565141441916694258749682861228189639457744591935185273116597412264016073825186753549665727090110933625591515526746898056968351149703619081364100285821592751149963411138025702632511468758919214220995474917669772740903558125347262494563104298850440980206686905134610907548802676297682020497092415639360289608778930807323532321222516753206874827955698893299773649671597592553830405509095703609347177264815568814886861882845102075338660546249900655491152270532405032133484093237971027408093997524 1497695579217242597286190232792329571259166994067656685796747715716917990285447825065745410611022800749055159491009984906937823168949582733835489526608046328221699898320219021446478029799073785226142336586122300929598664038249335684942137105702570968261883104396159696663790981458090654748727223108145099218363423891017831406577064120385707658296088502409807918181636092703310474247361548693948828443791612328792881862109415867391386431527388135801957395418506653476141203712792174610588033898014209266276172776624260688301190788209506732735163110464004102941883930599241979388674476588480805691346877072853207527052155674993571774594382907585861295046510028037553629921810606977114373920904207712822156478363281755246505882790142943713617369649000498333503290646136535344204195366858007395510127041556948715334847953641432581428557727814498249816751082287990954438598451659281179148049373485474381518643168208697638188690240173690523730274023977700418486988041690175725644261957204475744499144092912921426518256570297349375756597936707825939056858581292810788424160680529964550624034020418940911825726325032023612239010330786114209972408957138446206946207595797645164067985134157013575260386146664896807264850741270879589943647 2423322351973959157084247253558140682805428195491867638460763614270117475732929772595229844003924318705429437320897898387056127096242460576531379331437106851671911604267623068080390034742716591851275257584012128005131676140996653264352809589363188807696027617823563605702643504806769766621660327490777626499828973353115811542976115987834319355490170707524419386219167650563860720155451601354073061921540188585352347738323918589772997972129842920498218988309221313249211096821950342342029449834860795804383068390758751159899658172707864681172081080976133640790265149057892966874058758259596917205550915165641506566093877513220141872795762657560762810492141061160864977963886172032639966591180443141452799581021520975429410092804684797898182511090917192592252973507364724983661939958793192668626724453820964789160034707191098308518668661440089765343497980344959305588302070740645279433870966236624344929781193911330149657449159387911519205191693750441322045113388952670288748560807645455951186049227523828975320932867979369872849013576068115547835789388616343109646677433736839378579732913718714561497323917585854017748106034395461387237224525953333068829052697872983824614235034812504727530918551697030291358088712298287683941171 3921017931191201754370437486350470254064595189559524324257511329987035466018377597660975254614947119454484596811907883293993950265192043310366868858045153179893611502587842089526868064541790377077417594170134428934730340179245988949294946695065759775957910722219723302366434486264860421370387550598922725718192397244133642949553180108220027013786259209934227304400803743267171194402813150048021890365331800914145229600433334457164384403657231056300176383727727966725352300534742516952617483732875005070659241167383011848200848960917371413907244191440137743732149079657134946262733234848077722896897792238494714093146033188213713647390145565146624105538651089198418607885696779009754340512084650854274956059384802730675915975594827741611799880739917690925756264153501260327866135325651200064136851495377913504494882660832530889947226389254588015160249062632950260026900522399926458581920339722098726448424362120027787846139399561602042935465717728141740532101430642846014392822764849931695685193320436750401839189438276719248605611512775941486892647969909153898070838114266803929203766934137655473323050242617877629987116365181575597209633483091779275775260293670628988682220168969518302791304698361927098622939453569167273884818 6344340283165160911454684739908610936870023385051391962718274944257152941751307370256205098618871438159914034132805781681050077361434503886898248189482260031565523106855465157607258099284506968928692851754146556939862016320242642213647756284428948583653938340043286908069077991071630187992047878089700352218021370597249454492529296096054346369276429917458646690619971393831031914558264751402094952286871989499497577338757253046937382375787073976798395372036949279974563397356692859294646933567735800875042309558141763008100507133625236095079325272416271384522414228715027913136791993107674640102448707404136220659239910701433855520185908222707386916030792150359283585849582951042394307103265093995727755640406323706105326068399512539509982391830834883518009237660865985311528075284444392732763575949198878293654917368023629198465895050694677780503747042977909565615202593140571738015791305958723071378205556031357937503588558949513562140657411478583062577214819595516303141383572495387646871242547960579377160122306256089121454625088844057034728437358525497007717515548003643307783499847856370034820374160203731647735222399577036984446858009045112344604312991543612813296455203782023030322223250058957389981028165867454957825989 10265358214356362665825122226259081190934618574610916286975786274244188407769684967917180353233818557614398630944713664975044027626626547197265117047527413211459134609443307247134126163826297346006110445924280985874592356499488631162942702979494708359611849062263010210435512477336490609362435428688623077936213767841383097442082476204274373383062689127392873995020775137098203108961077901450116842652203790413642806939190587504101766779444305033098571755764677246699915697891435376247264417300610805945701550725524774856301356094542607508986569463856409128254563308372162859399525227955752362999346499642630934752385943889647569167576053787854011021569443239557702193735279730052148647615349744850002711699791126436781242043994340281121782272570752574443765501814367245639394210610095592796900427444576791798149800028856160088413121439949265795663996105610859825642103115540498196597711645680821797826629918151385725349727958511115605076123129206724803109316250238362317534206337345319342556435868397329778999311744532808370060236601619998521621085328434650905788353662270447236987266781994025508143424402821609277722338764758612581656491492136891620379573285214241801978675372751541333113527948420884488603967619436622231710807 16609698497521523577279806966167692127804641959662308249694061218501341349520992338173385451852689995774312665077519446656094104988061051084163365237009673243024657716298772404741384263110804314934803297678427542814454372819731273376590459263923656943265787402306297118504590468408120797354483306778323430154235138438632551934611772300328719752339119044851520685640746530929235023519342652852211794939075779913140384277947840551039149155231379009896967127801626526674479095248128235541911350868346606820743860283666537864401863228167843604065894736272680512776977537087190772536317221063427003101795207046767155411625854591081424687761962010561397937600235389916985779584862681094542954718614838845730467340197450142886568112393852820631764664401587457961774739475233230950922285894539985529664003393775670091804717396879789286879016490643943576167743148588769391257305708681069934613502951639544869204835474182743662853316517460629167216780540685307865686531069833878620675589909840706989427678416357909156159434050788897491514861690464055556349522686960147913505869210274090544770766629850395542963798563025340925457561164335649566103349501182003964983886276757854615275130576533564363435751198479841878584995785304077189536796 26875056711877886243104929192426773318739260534273224536669847492745529757290677306090565805086508553388711296022233111631138132614687598281428482284537086454483792325742079651875510426937101660940913743602708528689046729319219904539533162243418365302877636464569307328940102945744611406716918735466946508090448906280015649376694248504603093135401808172244394680661521668027438132480420554302328637591279570326783191217138428055140915934675684042995538883566303773374394793139563611789175768168957412766445411009191312720703219322710451113052464200129089641031540845459353631935842449019179366101141706689398090164011798480728993855338015798415408959169678629474687973320142411146691602333964583695733179039988576579667810156388193101753546936972340032405540241289600476590316496504635578326564430838352461889954517425735949375292137930593209371831739254199629216899408824221568131211214597320366667031465392334129388203044475971744772292903669892032668795847320072240938209796247186026331984114284755238935158745795321705861575098292084054077970608015394798819294222872544537781758033411844421051107222965846950203179899929094262147759840993318895585363459561972096417253805949285105696549279146900726367188963404740699421247603 43484755209399409820384736158594465446543902493935532786363908711246871106811669644263951256939198549163023961099752558287232237602748649365591847521546759697508450042040852056616894690047905975875717041281136071503501102138951177916123621507342022246143423866875604447444693414152732204071402042245269938244684044718648201311306020804931812887740927217095915366302268198956673155999763207154540432530355350239923575495086268606180065089907063052892506011367930300048873888387691847331087119037304019587189271292857850585105082550878294717118358936401770153808518382546544404472159670082606369202936913736165245575637653071810418543099977808976806896769914019391673752905005092241234557052579422541463646380186026722554378268782045922385311601373927490367314980764833707541238782399175563856228434232128131981759234822615738662171154421237152947999482402788398608156714532902638065824717548959911536236300866516873051056360993432373939509684210577340534482378389906119558885386157026733321411792701113148091318179846110603353089959982548109634320130702354946732800092082818628326528800041694816594071021528872291128637461093429911713863190494500899550347345838729951032528936525818670059985030345380568245773959190044776610784399 70359811921277296063489665351021238765283163028208757323033756203992400864102346950354517062025707102551735257121985669918370370217436247647020329806083846151992242367782931708492405116985007636816630784883844600192547831458171082455656783750760387549021060331444911776384796359897343610788320777712216446335132950998663850688000269309534906023142735389340310046963789866984111288480183761456869070121634920566706766712224696661320981024582747095888044894934234073423268681527255459120262887206261432353634682302049163305808301873588745830170823136530859794840059228005898036408002119101785735304078620425563335739649451552539412398437993607392215855939592648866361726225147503387926159386544006237196825420174603302222188425170239024138858538346267522772855222054434184131555278903811142182792865070480593871713752248351688037463292351830362319831221656988027825056123357124206197035932146280278203267766258851002439259405469404118711802587880469373203278225709978360497095182404212759653395906985868387026476925641432309214665058274632163712290738717749745552094314955363166108286833453539237645178244494719241331817361022524173861623031487819795135710805400702047449782742475103775756534309492281294612962922594785476032032002 113844567130676705883874401509615704211827065522144290109397664915239271970914016594618468318964905651714759218221738228205602607820184897012612177327630605849500692409823783765109299807032913612692347826164980671696048933597122260371780405258102409795164484198320516223829489774050075814859722819957486384579816995717312051999306290114466718910883662606436225413266058065940784444479946968611409502651990270806630342207310965267501046114489810148780550906302164373472142569914947306451350006243565451940823953594907013890913384424467040547289182072932629948648577610552442440880161789184392104507015534161728581315287104624349830941537971416369022752709506668258035479130152595629160716439123428778660471800360630024776566693952284946524170139720195013140170202819267891672794061302986706039021299302608725853472987070967426699634446773067515267830704059776426433212837890026844262860649695240189739504067125367875490315766462836492651312272091046713737760604099884480055980568561239492974807699686981535117795105487542912567755018257180273346610869420104692284894407038181794434815633495234054239249266023591532460454822115954085575486221982320694686058151239431998482311679000922445816519339837661862858736881784830252642816401 184204379051954001947364066860636942977110228550353047432431421119231672835016363544972985380990612754266494475343723898123972978037621144659632507133714452001492934777606715473601704924017921249508978611048825271888596765055293342827437189008862797344185544529765428000214286133947419425648043597669702830914949946715975902687306559424001624934026397995776535460229847932924895732960130730068278572773625191373337108919535661928822027139072557244668595801236398446895411251442202765571612893449826884294458635896956177196721686298055786377460005209463489743488636838558340477288163908286177839811094154587291917054936556176889243339975965023761238608649099317124397205355300099017086875825667435015857297220535233326998755119122523970663028678066462535913025424873702075804349340206797848221814164373089319725186739319319114737097739124897877587661925716764454258268961247151050459896581841520467942771833384218877929575171932240611363114859971516086941038829809862840553075750965452252628203606672849922144272031128975221782420076531812437058901608137854437836988721993544960543102466948773291884427510518310773792272183138478259437109253470140489821768956640134045932094421476026221573053649329943157471699804379615728674848403 298048946182630707831238468370252647188937294072497337541829086034470944805930380139591453699955518405981253693565462126329575585857806041672244684461345057850993627187430499238711004731050834862201326437213805943584645698652415603199217594266965207139350028728085944224043775907997495240507766417627189215494766942433287954686612849538468343844910060602212760873495905998865680177440077698679688075425615462179967451126846627196323073253562367393449146707538562820367553821357150072022962899693392336235282589491863191087635070722522826924749187282396119692137214449110782918168325697470569944318109688749020498370223660801239074281513936440130261361358605985382432684485452694646247592264790863794517769020895863351775321813074808917187198817786657549053195627692969967477143401509784554260835463675698045578659726390286541436732185897965392855492629776540880691481799137177894722757231536760657682275900509586753419890938395077104014427132062562800678799433909747320609056319526691745603011306359831457262067136616518134350175094788992710405512477557959130121883129031726754977918100444007346123676776541902306252727005254432345012595475452461184507827107879566044414406100476948667389572989167605020330436686164445981317664804 482253325234584709778602535230889590166047522622850384974260507153702617640946743684564439080946131160247748168909186024453548563895427186331877191595059509852486561965037214712312709655068756111710305048262631215473242463707708946026654783275828004483535573257851372224258062041944914666155810015296892046409716889149263857373919408962469968778936458597989296333725753931790575910400208428747966648199240653553304560046382289125145100392634924638117742508774961267262965072799352837594575793143219220529741225388819368284356757020578613302209192491859609435625851287669123395456489605756747784129203843336312415425160216978128317621489901463891499970007705302506829889840752793663334468090458298810375066241431096678774076932197332887850227495853120084966221052566672043281492741716582402482649628048787365303846465709605656173829925022863270443154555493305334949750760384328945182653813378281125625047733893805631349466110327317715377541992034078887619838263719610161162132070492143998231214913032681379406339167745493356132595171320805147464414085695813567958871851025271715521020567392780638008104287060213080044999188392910604449704728922601674329596064519700090346500521952974888962626638497548177802136490544061709992513207 780302271417215417609841003601142237354984816695347722516089593188173562446877123824155892780901649566229001862474648150783124149753233228004121876056404567703480189152467713951023714386119590973911631485476437159057888162360124549225872377542793211622885601985937316448301837949942409906663576432924081261904483831582551812060532258500938312623846519200202057207221659930656256087840286127427654723624856115733272011173228916321468173646197292031566889216313524087630518894156502909617538692836611556765023814880682559371991827743101440226958379774255729127763065736779906313624815303227317728447313532085332913795383877779367391903003837904021761331366311287889262574326205488309582060355249162604892835262326960030549398745272141805037426313639777634019416680259642010758636143226366956743485091724485410882506192099892197610562110920828663298647185269846215641232559521506839905411044915041783307323634403392384769357048722394819391969124096641688298637697629357481771188390018835743834226219392512836668406304362011490482770266109797857869926563253772698080754980056998470498938667836787984131781063602115386297726193647342949462300204375062858837423172399266134760906622429923556352199627665153198132573176708507691310178011 1262555596651800127388443538832031827521032339318198107490350100341876180087823867508720331861847780726476750031383834175236672713648660414335999067651464077555966751117504928663336424041188347085621936533739068374531130626067833495252527160818621216106421175243788688672559899991887324572819386448220973308314200720731815669434451667463408281402782977798191353540947413862446831998240494556175621371824096769286576571219611205446613274038832216669684631725088485354893483966955855747212114485979830777294765040269501927656348584763680053529167572266115338563388917024449029709081304908984065512576517375421645329220544094757495709524493739367913261301374016590396092464166958281972916528445707461415267901503758056709323475677469474692887653809492897718985637732826314054040128884942949359226134719773272776186352657809497853784392035943691933741801740763151550590983319905835785088064858293322908932371368297198016118823159049712534769511116130720575918475961348967642933320460510979742065441132425194216074745472107504846615365437430603005334340648949586266039626831082270186019959235229568622139885350662328466342725382040253553912004933297664533167019236918966225107407144382898445314826266162701375934709667252569401302691218 2042857868069015544998284542433174064876017156013545830006439693530049742534700991332876224642749430292705751893858482326019796863401893642340120943707868645259446940269972642614360138427307938059533568019215505533589018788427958044478399538361414427729306777229726005120861737941829734479482962881145054570218684552314367481494983925964346594026629496998393410748169073793103088086080780683603276095448952885019848582392840121768081447685029508701251520941402009442524002861112358656829653178816442334059788855150184487028340412506781493756125952040371067691151982761228936022706120212211383241023830907506978243015927972536863101427497577271935022632740327878285355038493163770282498588800956624020160736766085016739872874422741616497925080123132675353005054413085956064798765028169316315969619811497758187068858849909390051394954146864520597040448926032997766232215879427342624993475903208364692239695002700590400888180207772107354161480240227362264217113658978325124704508850529815485899667351817707052743151776469516337098135703540400863204267212203358964120381811139268656518897903066356606271666414264443852640451575687596503374305137672727392004442409318232359868313766812822001667025893827854574067282843961077092612869229 3305413464720815672386728081265205892397049495331743937496789793871925922622524858841596556504597211019182501925242316501256469577050554056676120011359332722815413691387477571277696562468496285145155504552954573908120149414495791539730926699180035643835727952473514693793421637933717059052302349329366027878532885273046183150929435593427754875429412474796584764289116487655549920084321275239778897467273049654306425153612451327214694721723861725370936152666490494797417486828068214404041767664796273111354553895419686414684688997270461547285293524306486406254540899785677965731787425121195448753600348282928623572236472067294358810951991316639848283934114344468681447502660122052255415117246664085435428638269843073449196350100211091190812733932625573071990692145912270118838893913112265675195754531271030963255211507718887905179346182808212530782250666796149316823199199333178410081540761501687601172066370997788417007003366821819888930991356358082840135589620327292767637829311040795227965108484242901268817897248577021183713501140971003868538607861152945230160008642221538842538857138295925228411551764926772318983176957727850057286310070970391925171461646237198584975720911195720446981852159990555950001992511213646493915560447 5348271332789831217385012623698379957273066651345289767503229487401975665157225850174472781147346641311888253819100798827276266440452447699016240955067201368074860631657450213892056700895804223204689072572170079441709168202923749584209326237541450071565034729703240698914283375875546793531785312210511082448751569825360550632424419519392101469456041971794978175037285561448653008170402055923382173562722002539326273736005291448982776169408891234072187673607892504239941489689180573060871420843612715445414342750569870901713029409777243041041419476346857473945692882546906901754493545333406831994624179190435601815252400039831221912379488893911783306566854672346966802541153285822537913706047620709455589375035928090189069224522952707688737814055758248424995746558998226183637658941281581991165374342768789150324070357628277956574300329672733127822699592829147083055415078760521035075016664710052293411761373698378817895183574593927243092471596585445104352703279305617892342338161570610713864775836060608321561049025046537520811636844511404731742875073356304194280390453360807499057755041362281834683218179191216171623628533415446560660615208643119317175904055555430944844034678008542448648878053818410524069275355174723586528429676 8653684797510646889771740704963585849670116146677033705000019281273901587779750709016069337651943852331070755744343115328532736017503001755692360966426534090890274323044927785169753263364300508349844577125124653349829317617419541123940252936721485715400762682176755392707705013809263852584087661539877110327284455098406733783353855112819856344885454446591562939326402049104202928254723331163161071029995052193632698889617742776197470891132752959443123826274382999037358976517248787464913188508408988556768896645989557316397718407047704588326713000653343880200233782332584867486280970454602280748224527473364225387488872107125580723331480210551631590500969016815648250043813407874793328823294284794891018013305771163638265574623163798879550547988383821496986438704910496302476552854393847666361128874039820113579281865347165861753646512480945658604950259625296399878614278093699445156557426211739894583827744696167234902186941415747132023462952943527944488292899632910659980167472611405941829884320303509590378946273623558704525137985482408600281482934509249424440399095582346341596612179658207063094769944117988490606805491143296617946925279613511242347365701792629529819755589204262895630730213808966474071267866388370080443990123 14001956130300478107156753328661965806943182798022323472503248768675877252936976559190542118799290493642959009563443914155809002457955449454708601921493735458965134954702377999061809964260104731554533649697294732791538485820343290708149579174262935786965797411879996091621988389684810646115872973750388192776036024923767284415778274632211957814341496418386541114363687610552855936425125387086543244592717054732958972625623034225180247060541644193515311499882275503277300466206429360525784609352021704002183239396559428218110747816824947629368132477000201354145926664879491769240774515788009112742848706663799827202741272146956802635710969104463414897067823689162615052584966693697331242529341905504346607388341699253827334799146116506568288362044142069921982185263908722486114211795675429657526503216808609263903352222975443818327946842153678786427649852454443482934029356854220480231574090921792187995589118394546052797370516009674375115934549528973048840996178938528552322505634182016655694660156364117911939995298670096225336774829993813332024358007865553618720789548943153840654367221020488897777988123309204662230434024558743178607540488256630559523269757348060474663790267212805344279608267627376998140543221563093666972419799 22655640927811124996928494033625551656613298944699357177503268049949778840716727268206611456451234345974029765307787029484341738475458451210400962887920269549855409277747305784231563227624405239904378226822419386141367803437762831832089832110984421502366560094056751484329693403494074498699960635290265303103320480022174018199132129745031814159226950864978104053690089659657058864679848718249704315622712106926591671515240777001377717951674397152958435326156658502314659442723678147990697797860430692558952136042548985534508466223872652217694845477653545234346160447212076636727055486242611393491073234137164052590230144254082383359042449315015046487568792705978263302628780101572124571352636190299237625401647470417465600373769280305447838910032525891418968623968819218788590764650069277323887632090848429377482634088322609680081593354634624445032600112079739882812643634947919925388131517133532082579416863090713287699557457425421507139397502472500993329289078571439212302673106793422597524544476667627502318941572293654929861912815476221932305840942374803043161188644525500182250979400678695960872758067427193152837239515702039796554465767870141801870635459140690004483545856417068239910338481436343472211811087951463747416409922 36657597058111603104085247362287517463556481742721680650006516818625656093653703827397153575250524839616988774871230943640150740933413900665109564809414005008820544232449683783293373191884509971458911876519714118932906289258106122540239411285247357289332357505936747575951681793178885144815833609040653495879356504945941302614910404377243771973568447283364645168053777270209914801104974105336247560215429161659550644140863811226557965012216041346473746826038934005591959908930107508516482407212452396561135375439108413752619214040697599847062977954653746588492087112091568405967830002030620506233921940800963879792971416401039185994753418419478461384636616395140878355213746795269455813881978095803584232789989169671292935172915396812016127272076667961340950809232727941274704976445744706981414135307657038641385986311298053498409540196788303231460249964534183365746672991802140405619705608055324270575005981485259340496927973435095882255332052001474042170285257509967764625178740975439253219204633031745414258936870963751155198687645470035264330198950240356661881978193468654022905346621699184858650746190736397815067673540260782975162006256126772361393905216488750479147336123629873584189946749063720470352354309514557414388829721 59313237985922728101013741395913069120169780687421037827509784868575434934370431095603765031701759185591018540179017973124492479408872351875510527697334274558675953510196989567524936419508915211363290103342133505074274092695868954372329243396231778791698917599993499060281375196672959643515794244330918798982676984968115320814042534122275586132795398148342749221743866929866973665784822823585951875838141268586142315656104588227935682963890438499432182152195592507906619351653785656507180205072883089120087511481657399287127680264570252064757823432307291822838247559303645042694885488273231899724995174938127932383201560655121569353795867734493507872205409101119141657842526896841580385234614286102821858191636640088758535546684677117463966182109193852759919433201547160063295741095813984305301767398505468018868620399620663178491133551422927676492850076613923248559316626750060331007837125188856353154422844575972628196485430860517389394729554473975035499574336081406976927851847768861850743749109699372916577878443257406085060600460946257196636039892615159705043166837994154205156326022377880819523504258163590967904913055962822771716472023996914163264540675629440483630881980046941824100285230500063942564165397466021161805239643 95970835044034331205098988758200586583726262430142718477516301687201091028024134923000918606952284025208007315050248916764643220342286252540620092506748279567496497742646673350818309611393425182822201979861847624007180381953975076912568654681479136081031275105930246636233056989851844788331627853371572294862033489914056623428952938499519358106363845431707394389797644200076888466889796928922199436053570430245692959796968399454493647976106479845905928978234526513498579260583893165023662612285335485681222886920765813039746894305267851911820801386961038411330334671395213448662715490303852405958917115739091812176172977056160755348549286153971969256842025496260020013056273692111036199116592381906406090981625809760051470719600073929480093454185861814100870242434275101338000717541558691286715902706162506660254606710918716676900673748211230907953100041148106614305989618552200736627542733244180623729428826061231968693413404295613271650061606475449077669859593591374741553030588744301103962953742731118330836815314221157240259288106416292460966238842855516366925145031462808228061672644077065678174250448899988782972586596223605746878478280123686524658445892118190962778218103676815408290231979563784412916519706980578576194069364 155284073029957059306112730154113655703896043117563756305026086555776525962394566018604683638654043210799025855229266889889135699751158604416130620204082554126172451252843662918343246030902340394185492083203981129081454474649844031284897898077710914872730192705923745696514432186524804431847422097702491093844710474882171944242995472621794944239159243580050143611541511129943862132674619752508151311891711698831835275453072987682429330939996918345338111130430119021405198612237678821530842817358218574801310398402423212326874574569838103976578624819268330234168582230698858491357600978577084305683912290677219744559374537711282324702345153888465477129047434597379161670898800588952616584351206668009227949173262449848810006266284751046944059636295055666860789675635822261401296458637372675592017670104667974679123227110539379855391807299634158584445950117762029862865306245302261067635379858433036976883851670637204596889898835156130661044791160949424113169433929672781718480882436513162954706702852430491247414693757478563325319888567362549657602278735470676071968311869456962433217998666454946497697754707063579750877499652186428518594950304120600687922986567747631446409100083723757232390517210063848355480685104446599737999309007 251254908073991390511211718912314242287622305547706474782542388242977616990418700941605602245606327236007033170279515806653778920093444856956750712710830833693668948995490336269161555642295765577007694063065828753088634856603819108197466552759190050953761467811853992332747489176376649220179049951074063388706743964796228567671948411121314302345523089011757538001339155330020750599564416681430350747945282129077528235250041387136922978916103398191244040108664645534903777872821571986554505429643554060482533285323189025366621468875105955888399426206229368645498916902094071940020316468880936711642829406416311556735547514767443080050894440042437446385889460093639181683955074281063652783467799049915634040154888259608861476985884824976424153090480917480961659918070097362739297176178931366878733572810830481339377833821458096532292481047845389492399050158910136477171295863854461804262922591677217600613280496698436565583312239451743932694852767424873190839293523264156460033913025257464058669656595161609578251509071699720565579176673778842118568517578326192438893456900919770661279671310532012175872005155963568533850086248410034265473428584244287212581432459865822409187318187400572640680749189627632768397204811427178314193378371 406538981103948449817324449066427897991518348665270231087568474798754142952813266960210285884260370446806059025508782696542914619844603461372881332914913387819841400248333999187504801673198105971193186146269809882170089331253663139482364450836900965826491660517777738029261921362901453652026472048776554482551454439678400511914943883743109246584682332591807681612880666459964612732239036433938502059836993827909363510703114374819352309856100316536582151239094764556308976485059250808085348247001772635283843683725612237693496043444944059864978051025497698879667499132792930431377917447458021017326741697093531301294922052478725404753239593930902923514936894691018343354853874870016269367819005717924861989328150709457671483252169576023368212726775973147822449593705919624140593634816304042470751242915498456018501060931997476387684288347479548076845000276672166340036602109156722871898302450110254577497132167335641162473211074607874593739643928374297304008727452936938178514795461770627013376359447592100825666202829178283890899065241141391776170796313796868510861768770376733094497669976986958673569759863027148284727585900596462784068378888364887900504419027613453855596418271124329873071266399691481123877889915873778052192687378 657793889177939840328536167978742140279140654212976705870110863041731759943231967901815888129866697682813092195788298503196693539938048318329632045625744221513510349243824335456666357315493871548200880209335638635258724187857482247679831003596091016780253128329631730362009410539278102872205521999850617871258198404474629079586892294864423548930205421603565219614219821789985363331803453115368852807782275956986891745953155761956275288772203714727826191347759410091212754357880822794639853676645326695766376969048801263060117512320050015753377477231727067525166416034887002371398233916338957728969571103509842858030469567246168484804134033973340369900826354784657525038808949151079922151286804767840496029483038969066532960238054400999792365817256890628784109511776016986879890810995235409349484815726328937357878894753455572919976769395324937569244050435582302817207897973011184676161225041787472178110412664034077728056523314059618526434496695799170494848020976201094638548708487028091072046016042753710403917711900878004456478241914920233894739313892123060949755225671296503755777341287518970849441765018990716818577672149006497049541807472609175113085851487479276264783736458524902513752015589319113892275094727300956366386065749 1064332870281888290145860617045170038270659002878246936957679337840485902896045234862026174014127068129619151221297081199739608159782651779702513378540657609333351749492158334644171158988691977519394066355605448517428813519111145387162195454432991982606744788847409468391271331902179556524231994048627172353809652844153029591501836178607532795514887754195372901227100488249949976064042489549307354867619269784896255256656270136775627598628304031264408342586854174647521730842940073602725201923647099331050220652774413500753613555764994075618355528257224766404833915167679932802776151363796978746296312800603374159325391619724893889557373627904243293415763249475675868393662824021096191519105810485765358018811189678524204443490223977023160578544032863776606559105481936611020484445811539451820236058641827393376379955685453049307661057742804485646089050712254469157244500082167907548059527491897726755607544831369718890529734388667493120174140624173467798856748429138032817063503948798718085422375490345811229583914730056288347377307156061625670910110205919929460616994441673236850275011264505929523011524882017865103305258049602959833610186360974063013590270515092730120380154729649232386823281989010595016152984643174734418578753127 1722126759459828130474396785023912178549799657091223642827790200882217662839277202763842062143993765812432243417085379702936301699720700098032145424166401830846862098735982670100837516304185849067594946564941087152687537706968627634842026458029082999386997917177041198753280742441457659396437516048477790225067851248627658671088728473471956344445093175798938120841320310039935339395845942664676207675401545741883147002609425898731902887400507745992234533934613584738734485200820896397365055600292426026816597621823214763813731068085044091371733005488951833930000331202566935174174385280135936475265883904113217017355861186971062374361507661877583663316589604260333393432471773172176113670392615253605854048294228647590737403728278378022952944361289754405390668617257953597900375256806774861169720874368156330734258850438908622227637827138129423215333101147836771974452398055179092224220752533685198933717957495403796618586257702727111646608637319972638293704769405339127455612212435826809157468391533099521633501626630934292803855549070981859565649424098042990410372220112969740606052352552024900372453289901008581921882930198609456883151993833583238126676122002572006385163891188174134900575297578329708908428079370475690784964818876 2786459629741716420620257402069082216820458659969470579785469538722703565735322437625868236158120833942051394638382460902675909859503351877734658802707059440180213848228141004745008675292877826586989012920546535670116351226079773022004221912462074981993742706024450667144552074343637215920669510097104962578877504092780688262590564652079489139959980929994311022068420798289885315459888432213983562543020815526779402259265696035507530486028811777256642876521467759386256216043760970000090257523939525357866818274597628264567344623850038166990088533746176600334834246370246867976950536643932915221562196704716591176681252806695956263918881289781826956732352853736009261826134597193272305189498425739371212067105418326114941847218502355046113522905322618181997227722739890208920859702618314312989956933009983724110638806124361671535298884880933908861422151860091241131696898137346999772280280025582925689325502326773515509115992091394604766782777944146106092561517834477160272675716384625527242890767023445332863085541360990581151232856227043485236559534303962919870989214554642977456327363816530829895464814783026447025188188248212416716762180194557301140266392517664736505544045917823367287398579567340303924581064013650425203543572003 4508586389201544551094654187092994395370258317060694222613259739604921228574599640389710298302114599754483638055467840605612211559224051975766804226873461271027075946964123674845846191597063675654583959485487622822803888933048400656846248370491157981380740623201491865897832816785094875317107026145582752803945355341408346933679293125551445484405074105793249142909741108329820654855734374878659770218422361268662549261875121934239433373429319523248877410456081344124990701244581866397455313124231951384683415896420843028381075691935082258361821539235128434264834577572813803151124921924068851696828080608829808194037113993667018638280388951659410620048942457996342655258606370365448418859891040992977066115399646973705679250946780733069066467266612372587387896339997843806821234959425089174159677807378140054844897656563270293762936712019063332076755253007928013106149296192526091996501032559268124623043459822177312127702249794121716413391415264118744386266287239816287728287928820452336400359158556544854496587167991924873955088405298025344802208958402005910281361434667612718062379716368555730267918104684035028947071118446821873599914174028140539266942514520236742890707937105997502187973877145670012833009143384126115988508390879 7295046018943260971714911589162076612190716977030164802398729278327624794309922078015578534460235433696535032693850301508288121418727403853501463029580520711207289795192264679590854866889941502241572972406034158492920240159128173678850470282953232963374483329225942533042384891128732091237776536242687715382822859434189035196269857777630934624365055035787560164978161906619705970315622807092643332761443176795441951521140817969746963859458131300505520286977549103511246917288342836397545570648171476742550234171018471292948420315785120425351910072981305034599668823943060671128075458568001766918390277313546399370718366800362974902199270241441237576781295311732351917084740967558720724049389466732348278182505065299820621098165283088115179990171934990769385124062737734015742094662043403487149634740388123778955536462687631965298235596899997240938177404868019254237846194329873091768781312584851050312368962148950827636818241885516321180174193208264850478827805074293448000963645205077863643249925579990187359672709352915455106321261525068830038768492705968830152350649222255695518707080185086560163382919467061475972259306695034290316676354222697840407208907037901479396251983023820869475372456713010316757590207397776541192051962882 11803632408144805522809565776255071007560975294090859025011989017932546022884521718405288832762350033451018670749318142113900332977951455829268267256453981982234365742156388354436701058487005177896156931891521781315724129092176574335696718653444390944755223952427434398940217707913826966554883562388270468186768214775597382129949150903182380108770129141580809307887903014949526625171357181971303102979865538064104500783015939903986397232887450823754397697433630447636237618532924702795000883772403428127233650067439314321329496007720202683713731612216433468864503401515874474279200380492070618615218357922376207564755480794029993540479659193100648196830237769728694572343347337924169142909280507725325344297904712273526300349112063821184246457438547363356773020402735577822563329621468492661309312547766263833800434119250902259061172308919060573014932657875947267343995490522399183765282345144119174935412421971128139764520491679638037593565608472383594865094092314109735729251574025530200043609084136535041856259877344840329061409666823094174840977451107974740433712083889868413581086796553642290431301024151096504919330425141856163916590528250838379674151421558138222286959920129818371663346333858680329590599350781902657180560353761 19098678427088066494524477365417147619751692271121023827410718296260170817194443796420867367222585467147553703443168443622188454396678859682769730286034502693441655537348653034027555925376946680137729904297555939808644369251304748014547188936397623908129707281653376931982602599042559057792660098630958183569591074209786417326219008680813314733135184177368369472866064921569232595486979989063946435741308714859546452304156757873733361092345582124259917984411179551147484535821267539192546454420574904869783884238457785614277916323505323109065641685197738503464172225458935145407275839060072385533608635235922606935473847594392968442678929434541885773611533081461046489428088305482889866958669974457673622480409777573346921447277346909299426447610482354126158144465473311838305424283511896148458947288154387612755970581938534224359407905819057813953110062743966521581841684852272275534063657728970225247781384120078967401338733565154358773739801680648445343921897388403183730215219230608063686859009716525229215932586697755784167730928348163004879745943813943570586062733112124109099793876738728850594683943618157980891589731836890454233266882473536220081360328596039701683211903153639241138718790571690646348189558179679198372612316643 30902310835232872017334043141672218627312667565211882852422707314192716840078965514826156199984935500598572374192486585736088787374630315512037997542488484675676021279505041388464256983863951858033886836189077721124368498343481322350243907589842014852884931234080811330922820306956386024347543661019228651756359288985383799456168159583995694841905313318949178780753967936518759220658337171035249538721174252923650953087172697777719758325233032948014315681844809998783722154354192241987547338192978332997017534305897099935607412331225525792779373297414171972328675626974809619686476219552143004148826993158298814500229328388422961983158588627642533970441770851189741061771435643407059009867950482182998966778314489846873221796389410730483672905049029717482931164868208889660868753904980388809768259835920651446556404701189436483420580214738118386968042720619913788925837175374671459299346002873089400183193806091207107165859225244792396367305410153032040209015989702512919459466793256138263730468093853060271072192464042596113229140595171257179720723394921918311019774817001992522680880673292371141025984967769254485810920156978746618149857410724374599755511750154177923970171823283457612802065124430370975938788908961581855553172670404 50000989262320938511858520507089366247064359836332906679833425610452887657273409311247023567207520967746126077635655029358277241771309175194807727828522987369117676816853694422491812909240898538171616740486633660933012867594786070364791096526239638761014638515734188262905422905998945082140203759650186835325950363195170216782387168264809009575040497496317548253620032858087991816145317160099195974462482967783197405391329455651453119417578615072274233666255989549931206690175459781180093792613553237866801418544354885549885328654730848901845014982611910475792847852433744765093752058612215389682435628394221421435703175982815930425837518062184419744053303932650787551199523948889948876826620456640672589258724267420220143243666757639783099352659512071609089309333682201499174178188492284958227207124075039059312375283127970707779988120557176200921152783363880310507678860226943734833409660602059625430975190211286074567197958809946755141045211833680485552937887090916103189682012486746327417327103569585500288125050740351897396871523519420184600469338735861881605837550114116631780674550031099991620668911387412466702509888815637072383124293197910819836872078750217625653383726437096853940783915002061622286978467141261053925784987047 80903300097553810529192563648761584874377027401544789532256132924645604497352374826073179767192456468344698451828141615094366029145939490706845725371011472044793698096358735810956069893104850396205503576675711382057381365938267392715035004116081653613899569749814999593828243212955331106487747420669415487082309652180554016238555327848804704416945810815266727034374000794606751036803654331134445513183657220706848358478502153429172877742811648020288549348100799548714928844529652023167641130806531570863818952850251985485492740985956374694624388280026082448121523479408554384780228278164358393831262621552520235935932504371238892408996106689826953714495074783840528612970959592297007886694570938823671556037038757267093365040056168370266772257708541789092020474201891091160042932093472673767995466959995690505868779984317407191200568335295294587889195503983794099433516035601615194132755663475149025614168996302493181733057184054739151508350621986712525761953876793429022649148805742884591147795197422645771360317514782948010626012118690677364321192733657780192625612367116109154461555223323471132646653879156666952513430045794383690532981703922285419592383828904395549623555549720554466742849039432432598225767376102842909478957657451 130904289359874749041051084155850951121441387237877696212089558535098492154625784137320203334399977436090824529463796644452643270917248665901653453199534459413911374913212430233447882802345748934377120317162345042990394233533053463079826100642321292374914208265549187856733666118954276188627951180319602322408260015375724233020942496113613713991986308311584275287994033652694742852948971491233641487646140188490045763869831609080625997160390263092562783014356789098646135534705111804347734923420084808730620371394606871035378069640687223596469403262637992923914371331842299149873980336776573783513698249946741657371635680354054822834833624752011373458548378716491316164170483541186956763521191395464344145295763024687313508283722926010049871610368053860701109783535573292659217110281964958726222674084070729565181155267445377898980556455852470788810348287347674409941194895828558928966165324077208651045144186513779256300255142864685906649395833820393011314891763884345125838830818229630918565122300992231271648442565523299908022883642210097548921662072393642074231449917230225786242229773354571124267322790544079419215939934610020762916105997120196239429255907654613175276939276157651320683632954434494220512745843244103963404742644498 211807589457428559570243647804612535995818414639422485744345691459744096651978158963393383101592433904435522981291938259547009300063188156608499178570545931458705073009571166044403952695450599330582623893838056425047775599471320855794861104758402945988813778015364187450561909331909607295115698600989017809490569667556278249259497823962418418408932119126851002322368034447301493889752625822368087000829797409196894122348333762509798874903201911112851332362457588647361064379234763827515376054226616379594439324244858856520870810626643598291093791542664075372035894811250853534654208614940932177344960871499261893307568184725293715243829731441838327173043453500331844777141443133483964650215762334288015701332801781954406873323779094380316643868076595649793130257737464383819260042375437632494218141044066420071049935251762785090181124791147765376699543791331468509374710931430174123098920987552357676659313182816272438033312326919425058157746455807105537076845640677774148487979623972515509712917498414877043008760080306247918648895760900774913242854806051422266857062284346334940703784996678042256913976669700746371729369980404404453449087701042481659021639736559008724900494825878205787426481993866926818738513219346946872883700301949 342711878817303308611294731960463487117259801877300181956435249994842588806603943100713586435992411340526347510755734903999652570980436822510152631770080390872616447922783596277851835497796348264959744211000401468038169833004374318874687205400724238363727986280913375307295575450863883483743649781308620131898829682932002482280440320076032132400918427438435277610362068099996236742701597313601728488475937597686939886218165371590424872063592174205414115376814377746007199913939875631863110977646701188325059695639465727556248880267330821887563194805302068295950266143093152684528188951717505960858659121446003550679203865079348538078663356193849700631591832216823160941311926674670921413736953729752359846628564806641720381607502020390366515478444649510494240041273037676478477152657402591220440815128137149636231090519208162989161681247000236165509892078679142919315905827258733052065086311629566327704457369330051694333567469784110964807142289627498548391737404562119274326810442202146428278039799407108314657202645829547826671779403110872462164516878445064341088512201576560726946014770032613381181299460244825790945309915014425216365193698162677898450895644213621900177434102035857108110114948301421039251259062591050836288442946447 554519468274731868181538379765076023113078216516722667700780941454586685458582102064106969537584845244961870492047673163546661871043624979118651810340626322331321520932354762322255788193246947595542368104838457893085945432475695174669548310159127184352541764296277562757857484782773490778859348382297637941389399350488280731539938144038450550809850546565286279932730102547297730632454223135969815489305735006883834008566499134100223746966794085318265447739271966393368264293174639459378487031873317567919499019884324584077119690893974420178656986347966143667986160954344006219182397566658438138203619992945265443986772049804642253322493087635688027804635285717155005718453369808154886063952716064040375547961366588596127254931281114770683159346521245160287370299010502060297737195032840223714658956172203569707281025770970948079342806038148001542209435870010611428690616758688907175164007299181924004363770552146324132366879796703536022964888745434604085468583045239893422814790066174661937990957297821985357665962726135795745320675164011647375407371684496486607945574485922895667649799766710655638095276129945572162674679895418829669814281399205159557472535380772630625077928927914062895536596942168347857989772281937997709172143248396 897231347092035176792833111725539510230338018394022849657216191449429274265186045164820555973577256585488218002803408067546314442024061801628804442110706713203937968855138358600107623691043295860502112315838859361124115265480069493544235515559851422716269750577190938065153060233637374262602998163606258073288229033420283213820378464114482683210768974003721557543092170647293967375155820449571543977781672604570773894784664505690648619030386259523679563116086344139375464207114515091241598009520018756244558715523790311633368571161305242066220181153268211963936427097437158903710586518375944099062279114391268994665975914883990791401156443829537728436227117933978166659765296482825807477689669793792735394589931395237847636538783135161049674824965894670781610340283539736776214347690242814935099771300340719343512116290179111068504487285148237707719327948689754348006522585947640227229093610811490332068227921476375826700447266487646987772031035062102633860320449802012697141600508376808366268997097229093672323165371965343571992454567122519837571888562941550949034086687499456394595814536743269019276575590190397953619989810433254886179475097367837455923431024986252525255363029949920003646711890469768897241031344529048545460586194843 1451750815366767044974371491490615533343416234910745517357997132904015959723768147228927525511162101830450088494851081231092976313067686780747456252451333035535259489787493120922363411884290243456044480420677317254210060697955764668213783825718978607068811514873468500823010545016410865041462346545903896014677628383908563945360316608152933234020619520569007837475822273194591698007610043585541359467087407611454607903351163639790872365997180344841945010855358310532743728500289154550620085041393336324164057735408114895710488262055279662244877167501234355631922588051781165122892984085034382237265899107336534438652747964688633044723649531465225756240862403651133172378218666290980693541642385857833110942551297983833974891470064249931732834171487139831068980639294041797073951542723083038649758727472544289050793142061150059147847293323296239249928763818700365776697139344636547402393100909993414336431998473622699959067327063191183010736919780496706719328903495041906119956390574551470304259954395051079029989128098101139317313129731134167212979260247438037556979661173422352062245614303453924657371851720135970116294669705852084555993756496572997013395966405758883150333291957863982899183308832638116755230803626467046254632729443239 2348982162458802221767204603216155043573754253304768367015213324353445233988954192393748081484739358415938306497654489298639290755091748582376260694562039748739197458642631479522471035575333539316546592736516176615334175963435834161758019341278830029785081265450659438888163605250048239304065344709510154087965857417328847159180695072267415917231388494572729395018914443841885665382765864035112903444869080216025381798135828145481520985027566604365624573971444654672119192707403669641861683050913355080408616450931905207343856833216584904311097348654502567595859015149218324026603570603410326336328178221727803433318723879572623836124805975294763484677089521585111339037983962773806501019332055651625846337141229379071822528008847385092782508996453034501850590979577581533850165890413325853584858498772885008394305258351329170216351780608444476957648091767390120124703661930584187629622194520804904668500226395099075785767774329678829998508950815558809353189223944843918817097991082928278670528951492280172702312293470066482889305584298256687050551148810379588506013747860921808456841428840197193676648427310326368069914659516285339442173231593940834469319397430745135675588654987813902902830020723107885652471834970996094800093315638082 3800732977825569266741576094706770576917170488215513884373210457257461193712722339622675606995901460246388394992505570529732267068159435363123716947013372784274456948430124600444834447459623782772591073157193493869544236661391598829971803166997808636853892780324127939711174150266459104345527691255414050102643485801237411104541011680420349151252008015141737232494736717036477363390375907620654262911956487827479989701486991785272393351024746949207569584826802965204862921207692824192481768092306691404572674186340020103054345095271864566555974516155736923227781603200999489149496554688444708573594077329064337871971471844261256880848455506759989240917951925236244511416202629064787194560974441509458957279692527362905797419478911635024515343167940174332919571618871623330924117433136408892234617226245429297445098400412479229364199073931740716207576855586090485901400801275220735032015295430798319004932224868721775744835101392870013009245870596055516072518127439885824937054381657479748974788905887331251732301421568167622206618714029390854263530409057817626062993409034344160519087043143651118334020279030462338186209329222137423998166988090513831482715363836504018825921946945677885802013329555746002407702638597463141054726045081321 6149715140284371488508780697922925620490924741520282251388423781610906427701676532016423688480640818662326701490160059828371557823251183945499977641575412533013654407072756079967305483034957322089137665893709670484878412624827432991729822508276638666638974045774787378599337755516507343649593035964924204190609343218566258263721706752687765068483396509714466627513651160878363028773141771655767166356825568043505371499622819930753914336052313553573194158798247619876982113915096493834343451143220046484981290637271925310398201928488449470867071864810239490823640618350217813176100125291855034909922255550792141305290195723833880716973261482054752725595041446821355850454186591838593695580306497161084803616833756741977619947487759020117297852164393208834770162598449204864774283323549734745819475725018314305839403658763808399580550854540185193165224947353480606026104463205804922661637489951603223673432451263820851530602875722548843007754821411614325425707351384729743754152372740408027645317857379611424434613715038234105095924298327647541314081557868197214569007156895265968975928471983848312010668706340788706256123988738422763440340219684454665952034761267249154501510601933491788704843350278853888060174473568459235854819360719403 9950448118109940755250356792629696197408095229735796135761634238868367621414398871639099295476542278908715096482665630358103824891410619308623694588588785317288111355502880680412139930494581104861728739050903164354422649286219031821701625675274447303492866826098915318310511905782966447995120727220338254293252829019803669368262718433108114219735404524856203860008387877914840392163517679276421429268782055870985361201109811716026307687077060502780763743625050585081845035122789318026825219235526737889553964823611945413452547023760314037423046380965976414051422221551217302325596679980299743483516332879856479177261667568095137597821716988814741966512993372057600361870389220903380890141280938670543760896526284104883417366966670655141813195332333383167689734217320828195698400756686143638054092951263743603284502059176287628944749928471925909372801802939571091927505264481025657693652785382401542678364676132542627275437977115418856017000692007669841498225478824615568691206754397887776620106763266942676166915136606401727302543012357038395577611966926014840632000565929610129495015515127499430344688985371251044442333317960560187438507207774968497434750125103753173327432548879169674506856679834599890467877112165922376909545405800724 16100163258394312243759137490552621817899019971256078387150058020479274049116075403655522983957183097571041797972825690186475382714661803254123672230164197850301765762575636760379445413529538426950866404944612834839301061911046464813431448183551085970131840871873702696909849661299473791644713763185262458483862172238369927631984425185795879288218801034570670487522039038793203420936659450932188595625607623914490732700732631646780222023129374056353957902423298204958827149037885811861168670378746784374535255460883870723850748952248763508290118245776215904875062839901435115501696805272154778393438588430648620482551863291929018314794978470869494692108034818878956212324575812741974585721587435831628564513360040846861037314454429675259111047496726592002459896815770033060472684080235878383873568676282057909123905717940096028525300783012111102538026750293051697953609727686830580355290275334004766351797127396363478806040852837967699024755513419284166923932830209345312445359127138295804265424620646554100601528851644635832398467310684685936891693524794212055201007722824876098470943987111347742355357691712039750698457306698982950878847427459423163386784886371002327828943150812661463211700030113453778528051585734381612764364766520127 26050611376504252999009494283182318015307115200991874522911692259347641670530474275294622279433725376479756894455491320544579207606072422562747366818752983167589877118078517440791585344024119531812595143995515999193723711197265496635133073858825533273624707697972618015220361567082440239639834490405600712777115001258173597000247143618903993507954205559426874347530426916708043813100177130208610024894389679785476093901842443362806529710206434559134721646048348790040672184160675129887993889614273522264089220284495816137303295976009077545713164626742192318926485061452652417827293485252454521876954921310505099659813530860024155912616695459684236658621028190936556574194965033645355475862868374502172325409886324951744454681421100330400924242829059975170149631033090861256171084836922022021927661627545801512408407777116383657470050711484037011910828553232622789881114992167856238048943060716406309030161803528906106081478829953386555041756205426954008422158309033960881136565881536183580885531383913496776768443988251037559701010323041724332469305491720226895833008288754486227965959502238847172700046677083290795140790624659543138317354635234391660821535011474755501156375699691831137718556709948053668995928697900303989673910172320851 42150774634898565242768631773734939833206135172247952910061750279826915719646549678950145263390908474050798692428317010731054590320734225816871039048917181017891642880654154201171030757553657958763461548940128834033024773108311961448564522042376619243756548569846320712130211228381914031284548253590863171260977173496543524632231568804699872796173006593997544835052465955501247234036836581140798620519997303699966826602575075009586751733335808615488679548471646994999499333198560941749162559993020306638624475745379686861154044928257841054003282872518408223801547901354087533328990290524609300270393509741153720142365394151953174227411673930553731350729063009815512786519540846387330061584455810333800889923246365798605491995875530005660035290325786567172609527848860894316643768917157900405801230303827859421532313495056479685995351494496148114448855303525674487834724719854686818404233336050411075381958930925269584887519682791354254066511718846238175346091139243306193581925008674479385150956004560050877369972839895673392099477633726410269360999016514438951034016011579362326436903489350194915055404368795330545839247931358526089196202062693814824208319897845757828985318850504492600930256740061507447523980283634685602438274938840978 68201386011402818241778126056917257848513250373239827432973442539174557390177023954244767542824633850530555586883808331275633797926806648379618405867670164185481519998732671641962616101577777490576056692935644833226748484305577458083697595901202152517381256267818938727350572795464354270924382743996463884038092174754717121632478712423603866304127212153424419182582892872209291047137013711349408645414386983485442920504417518372393281443542243174623401194519995785040171517359236071637156449607293828902713696029875502998457340904266918599716447499260600542728032962806739951156283775777063822147348431051658819802178925011977330140028369390237968009350091200752069360714505880032685537447324184835973215333132690750349946677296630336060959533154846542342759158881951755572814853754079922427728891931373660933940721272172863343465402205980185126359683856758297277715839712022543056453176396766817384412120734454175690968998512744740809108267924273192183768249448277267074718490890210662966036487388473547654138416828146710951800487956768134601830304508234665846867024300333848554402862991589042087755451045878621340980038556018069227513556697928206485029854909320513330141694550196323738648813450009561116519908981534989592112185111161829 110352160646301383484546757830652197681719385545487780343035192819001473109823573633194912806215542324581354279312125342006688388247540874196489444916587345203373162879386825843133646859131435449339518241875773667259773257413889419532262117943578771761137804837665259439480784023846268302208930997587327055299069348251260646264710281228303739100300218747421964017635358827710538281173850292490207265934384287185409747106992593381980033176878051790112080742991642780039670850557797013386319009600314135541338171775255189859611385832524759653719730371779008766529580864160827484485274066301673122417741940792812539944544319163930504367440043320791699360079154210567582147234046726420015599031779995169774105256379056548955438673172160341720994823480633109515368686730812649889458622671237822833530122235201520355473034767229343029460753700476333240808539160283971765550564431877229874857409732817228459794079665379445275856518195536095063174779643119430359114340587520573268300415898885142351187443393033598531508389668042384343899965590494544871191303524749104797901040311913210880839766480939237002810855414673951886819286487376595316709758760622021309238174807166271159127013400700816339579070190071068564043889265169675194550460050002807 178553546657704201726324883887569455530232635918727607776008635358176030500000597587439680349040176175111909866195933673282322186174347522576107850784257509388854682878119497485096262960709212939915574934811418500486521741719466877615959713844780924278519061105484198166831356819310622573133313741583790939337161523005977767897188993651907605404427430900846383200218251699919829328310864003839615911348771270670852667611410111754373314620420294964735481937511638565079842367917033085023475459207607964444051867805130692858068726736791678253436177871039609309257613826967567435641557842078736944565090371844471359746723244175907834507468412711029667369429245411319651507948552606452701136479104180005747320589511747299305385350468790677781954356635479651858127845612764405462273476425317745261259014166575181289413756039402206372926155906456518367168223017042269043266404143899772931310586129584045844206200399833620966825516708280835872283047567392622542882590035797840343018906789095805317223930781507146185646806496189095295700453547262679473021608032983770644768064612247059435242629472528279090566306460552573227799325043394664544223315458550227794268029716486784489268707950897140078227883640080629680563798246704664786662645161164636 288905707304005585210871641718221653211952021464215388119043828177177503609824171220634593155255718499693264145508059015289010574421888396772597295700844854592227845757506323328229909819840648389255093176687192167746294999133356297148221831788359696039656865943149457606312140843156890875342244739171117994636230871257238414161899274880211344504727649648268347217853610527630367609484714296329823177283155557856262414718402705136353347797298346754847562680503281345119513218474830098409794468807922099985390039580385882717680112569316437907155908242818618075787194691128394920126831908380410066982832312637283899691267563339838338874908456031821366729508399621887233655182599332872716735510884175175521425845890803848260824023640951019502949180116112761373496532343577055351732099096555568094789136401776701644886790806631549402386909606932851607976762177326240808816968575777002806167995862401274304000280065213066242682034903816930935457827210512052901996930623318413611319322687980947668411374174540744717155196164231479639600419137757224344212911557732875442669104924160270316082395953467516093377161875226525114618611530771259860933074219172249103506204523653055648395721351597956417806953830151698244607687511874339981213105211167443 467459253961709786937196525605791108742184657382942995895052463535353534109824768808074273504295894674805174011703992688571332760596235919348705146485102363981082528635625820813326172780549861329170668111498610668232816740852823174764181545633140620318175927048633655773143497662467513448475558480754908933973392394263216182059088268532118949909155080549114730418071862227550196937795578300169439088631926828527115082329812816890726662417718641719583044618014919910199355586391863183433269928015530064429441907385516575575748839306108116160592086113858227385044808518095962355768389750459147011547922684481755259437990807515746173382376868742851034098937645033206885163131151939325417871989988355181268746435402551147566209374109741697284903536751592413231624377956341460814005575521873313356048150568351882934300546846033755775313065513389369975144985194368509852083372719676775737478581991985320148206480465046687209507551612097766807740874777904675444879520659116253954338229477076752985635304956047890902802002660420574935300872685019903817234519590716646087437169536407329751325025425995795183943468335779098342417936574165924405156389677722476897774234240139840137664429302495096496034837470232327925171485758579004767875750372332079 756364961265715372148068167324012761954136678847158384014096291712531037719648940028708866659551613174498438157212051703860343335018124316121302442185947218573310374393132144141556082600390509718425761288185802835979111739986179471912403377421500316357832792991783113379455638505624404323817803219926026928609623265520454596220987543412330294413882730197383077635925472755180564547280292596499262265915082386383377497048215522027080010215016988474430607298518201255318868804866693281843064396823452164414831946965902458293428951875424554067747994356676845460832003209224357275895221658839557078530754997119039159129258370855584512257285324774672400828446044655094118818313751272198134607500872530356790172281293354995827033397750692716787852716867705174605120910299918516165737674618428881450837286970128584579187337652665305177699975120322221583121747371694750660900341295453778543646577854386594452206760530259753452189586515914697743198701988416728346876451282434667565657552165057700654046679130588635619957198824652054574901291822777128161447431148449521530106274460567600067407421379463311277320630211005623457036548104937184266089463896894726001280438763792895786060150654093052913841791300384026169779173270453344749088855583499522 1223824215227425159085264692929803870696321336230101379909148755247884571829473708836783140163847507849303612168916044392431676095614360235470007588671049582554392903028757964954882255380940371047596429399684413504211928480839002646676584923054640936676008720040416769152599136168091917772293361700680935862583015659783670778280075811944449244323037810746497808053997334982730761485075870896668701354547009214910492579378028338917806672632735630194013651916533121165518224391258556465276334324838982228844273854351419033869177791181532670228340080470535072845876811727320319631663611409298704090078677681600794418567249178371330685639662193517523434927383689688301003981444903211523552479490860885538058918716695906143393242771860434414072756253619297587836745288256259976979743250140302194806885437538480467513487884498699060953013040633711591558266732566063260512983714015130554281125159846371914600413240995306440661697138128012464550939576766321403791755971941550921519995781642134453639681984086636526522759201485072629510202164507797031978681950739166167617543443996974929818732446805459106461264098546784721799454484679103108671245853574617202899054673003932735923724579956588149409876628770616354094950659029032349516964605955831601 1980189176493140531233332860253816632650458015077259763923245046960415609549122648865492006823399121023802050326128096096292019430632484551591310030856996801127703277421890109096438337981330880766022190687870216340191040220825182118588988300476141253033841513032199882532054774673716322096111164920606962791192638925304125374501063355356779538736920540943880885689922807737911326032356163493167963620462091601293870076426243860944886682847752618668444259215051322420837093196125249747119398721662434393259105801317321492162606743056957224296088074827211918306708814936544676907558833068138261168609432678719833577696507549226915197896947518292195835755829734343395122799758654483721687086991733415894849090997989261139220276169611127130860608970487002762441866198556178493145480924758731076257722724508609052092675222151364366130713015754033813141388479937758011173884055310584332824771737700758509052620001525566194113886724643927162294138278754738132138632423223985589085653333807192154293728663217225162142716400309724684085103456330574160140129381887615689147649718457542529886139868184922417738584728757790345256491032784040292937335317471511928900335111767725631709784730610681202323718420071000380264729832299485694266053461539331123 3204013391720565690318597553183620503346779351307361143832393802208300181378596357702275146987246628873105662495044140488723695526246844787061317619528046383682096180450648074051320593362271251813618620087554629844402968701664184765265573223530782189709850233072616651684653910841808239868404526621287898653775654585087796152781139167301228783059958351690378693743920142720642087517432034389836664975009100816204362655804272199862693355480488248862457911131584443586355317587383806212395733046501416622103379655668740526031784534238489894524428155297746991152585626663864996539222444477436965258688110360320627996263756727598245883536609711809719270683213424031696126781203557695245239566482594301432908009714685167282613518941471561544933365224106300350278611486812438470125224174899033271064608162047089519606163106650063427083726056387745404699655212503821271686867769325714887105896897547130423653033242520872634775583862771939626845077855521059535930388395165536510605649115449326607933410647303861688665475601794797313595305620838371192118811332626781856765193162454517459704872314990381524199848827304575067055945517463143401608581171046129131799389784771658367633509310567269351733595048841616734359680491328518043783018067495162724 5184202568213706221551930413437437135997237366384620907755638849168715790927719006567767153810645749896907712821172236585015714956879329338652627650385043184809799457872538183147758931343602132579640810775424846184594008922489366883854561524006923442743691746104816534216708685515524561964515691541894861444968293510391921527282202522658008321796878892634259579433842950458553413549788197883004628595471192417498232732230516060807580038328240867530902170346635766007192410783509055959515131768163851015362485456986062018194391277295447118820516230124958909459294441600409673446781277545575226427297543039040461573960264276825161081433557230101915106439043158375091249580962212178966926653474327717327757100712674428421833795111082688675793974194593303112720477685368616963270705099657764347322330886555698571698838328801427793214439072141779217841043692441579282860751824636299219930668635247888932705653244046438828889470587415866789139216134275797668069020818389522099691302449256518762227139310521086850808192002104521997680409077168945352258940714514397545912842880912059989591012183175303941938433556062365412312436550247183694545916488517641060699724896539383999343294041177950554057313468912617114624410323628003738049071529034493847 8388215959934271911870527966621057639344016717691982051588032651377015972306315364270042300797892378770013375316216377073739410483126174125713945269913089568491895638323186257199079524705873384393259430862979476028996977624153551649120134747537705632453541979177433185901362596357332801832920218163182760098743948095479717680063341689959237104856837244324638273177763093179195501067220232272841293570480293233702595388034788260670273393808729116393360081478220209593547728370892862171910864814665267637465865112654802544226175811533937013344944385422705900611880068264274669986003722023012191685985653399361089570224021004423406964970166941911634377122256582406787376362165769874212166219956922018760665110427359595704447314052554250220727339418699603462999089172181055433395929274556797618386939048602788091305001435451491220298165128529524622540698904945400554547619593962014107036565532795019356358686486567311463665054450187806415984293989796857203999409213555058610296951564705845370160549957824948539473667603899319311275714698007316544377752047141179402678036043366577449295884498165685466138282383366940479368382067710327096154497659563770192499114681311042366976803351745219905790908517754233848984090814956521781832089596529656571 13572418528147978133422458380058494775341254084076602959343671500545731763234034370837809454608538128666921088137388613658755125440005503464366572920298132753301695096195724440346838456049475516972900241638404322213590986546642918532974696271544629075197233725282249720118071281872857363797435909705077621543712241605871639207345544212617245426653716136958897852611606043637748914617008430155845922165951485651200828120265304321477853432136969983924262251824855975600740139154401918131425996582829118652828350569640864562420567088829384132165460615547664810071174509864684343432784999568587418113283196438401551144184285281248568046403724172013549483561299740781878625943127982053179092873431249736088422211140034024126281109163636938896521313613292906575719566857549672396666634374214561965709269935158486663003839764252919013512604200671303840381742597386979837408371418598313326967234168042908289064339730613750292554525037603673205123510124072654872068430031944580709988254013962364132387689268346035390281859606003841308956123775176261896636692761655576948590878924278637438886896681340989408076715939429305891680818617957510790700414148081411253198839577850426366320097392923170459848221986666850963608501138584525519881161125564150418 21960634488082250045292986346679552414685270801768585010931704151922747735540349735107851755406430507436934463453604990732494535923131677590080518190211222321793590734518910697545917980755348901366159672501383798242587964170796470182094831019082334707650775704459682906019433878230190165630356127868260381642456189701351356887408885902576482531510553381283536125789369136816944415684228662428687215736431778884903423508300092582148126825945699100317622333303076185194287867525294780303336861397494386290294215682295667106646742900363321145510405000970370710683054578128959013418788721591599609799268849837762640714408306285671975011373891113925183860683556323188666002305293751927391259093388171754849087321567393619830728423216191189117248653031992510038718656029730727830062563648771359584096208983761274754308841199704410233810769329200828462922441502332380391955991012560327434003799700837927645423026217181061756219579487791479621107804113869512076067839245499639320285205578668209502548239226170983929755527209903160620231838473183578441014444808796756351268914967645214888182781179506674874214998322796246371049200685667837886854911807645181445697954259161468733296900744668390365639130504421084812592591953541047301713250722093806989 35533053016230228178715444726738047190026524885845187970275375652468479498774384105945661210014968636103855551590993604391249661363137181054447091110509355075095285830714635137892756436804824418339059914139788120456178950717439388715069527290626963782848009429741932626137505160103047529427792037573338003186168431307222996094754430115193727958164269518242433978400975180454693330301237092584533137902383264536104251628565396903625980258082669084241884585127932160795028006679696698434762857980323504943122566251936531669067309989192705277675865616518035520754229087993643356851573721160187027912552046276164191858592591566920543057777615285938733344244856063970544628248421733980570351966819421490937509532707427643957009532379828128013769966645285416614438222887280400226729198022985921549805478918919761417312680963957329247323373529872132303304184099719360229364362431158640760971033868880835934487365947794812048774104525395152826231314237942166948136269277444220030273459592630573634935928494517019320037386815907001929187962248359840337651137570452333299859793891923852327069677860847664282291714262225552262730019303625348677555325955726592698896793837011895099616998137591560825487352491087935776201093092125572821594411847657957407 57493687504312478224008431073417599604711795687613772981207079804391227234314733841053512965421399143540790015044598595123744197286268858644527609300720577396888876565233545835438674417560173319705219586641171918698766914888235858897164358309709298490498785134201615532156939038333237695058148165441598384828624621008574352982163316017770210489674822899525970104190344317271637745985465755013220353638815043421007675136865489485774107084028368184559506918431008345989315874204991478738099719377817891233416781934232198775714052889556026423186270617488406231437283666122602370270362442751786637711820896113926832573000897852592518069151506399863917204928412387159210630553715485907961611060207593245786596854274821263787737955596019317131018619677277926653156878917011128056791761671757281133901687902681036171621522163661739481134142859072960766226625602051740621320353443718968194974833569718763579910392164975873804993684013186632447339118351811679024204108522943859350558665171298783137484167720688003249792914025810162549419800721543418778665582379249089651128708859569067215252459040354339156506712585021798633779219989293186564410237763371774144594748096173363832913898882259951191126482995509020588793685045666620123307662569751764396 93026740520542706402723875800155646794738320573458960951482455456859706733089117946999174175436367779644645566635592199514993858649406039698974700411229932471984162395948180973331430854364997738044279500780960039154945865605675247612233885600336262273346794563943548158294444198436285224485940203014936388014793052315797349076917746132963938447839092417768404082591319497726331076286702847597753491541198307957111926765430886389400087342111037268801391503558940506784343880884688177172862577358141396176539348186168730444781362878748731700862136234006441752191512754116245727121936163911973665624372942390091024431593489419513061126929121685802650549173268451129755258802137219888531963027027014736724106386982248907744747487975847445144788586322563343267595101804291528283520959694743202683707166821600797588934203127619068728457516388945093069530809701771100850684715874877608955945867438599599514397758112770685853767788538581785273570432589753845972340377800388079380832124763929356772420096215205022569830300841717164478607762969903259116316719949701422950988502751492919542322136901202003438798426847247350896509239292918535241965563719098366843491541933185258932530897019851512016613835486596956364994778137792192944902074417409721803 150520428024855184626732306873573246399450116261072733932689535261250933967403851788052687140857766923185435581680190794638738055935674898343502309711950509868873038961181726808770105271925171057749499087422131957853712780493911106509398243910045560763845579698145163690451383236769522919544088368456534772843417673324371702059081062150734148937513915317294374186781663814997968822272168602610973845180013351378119601902296375875174194426139405453360898421989948852773659755089679655910962296735959287409956130120400929220495415768304758124048406851494847983628796420238848097392298606663760303336193838504017857004594387272105579196080628085666567754101680838288965889355852705796493574087234607982510703241257070171532485443571866762275807205999841269920751980721302656340312721366500483817608854724281833760555725291280808209591659248018053835757435303822841472005069318596577150920701008318363094308150277746559658761472551768417720909550941565524996544486323331938731390789935228139909904263935893025819623214867527327028027563691446677894982302328950512602117211611061986757574595941556342595305139432269149530288459282211721806375801482470140988086290029358622765444795902111463207740318482105976953788463183458813068209736987161486199 243547168545397891029456182673728893194188436834531694884171990718110640700492969735051861316294134702830081148315782994153731914585080938042477010123180442340857201357129907782101536126290168795793778588203091997008658646099586354121632129510381823037192374262088711848745827435205808144030028571471471160858210725640169051135998808283698087385353007735062778269372983312724299898558871450208727336721211659335231528667727262264574281768250442722162289925548889359558003635974367833083824874094100683586495478306569659665276778647053489824910543085501289735820309174355093824514234770575733968960566780894108881436187876691618640323009749771469218303274949289418721148157989925685025537114261622719234809628239319079277232931547714207420595792322404613188347082525594184623833681061243686501316021545882631349489928418899876938049175636963146905288245005593942322689785193474186106866568446917962608705908390517245512529261090350202994479983531319370968884864123720018112222914699157496682324360151098048389453515709244491506635326661349937011299022278651935553105714362554906299896732842758346034103566279516500426797698575130257048341365201568507831577831962543881697975692921962975224354153968702933318783241321251006013111811404571208002 394067596570253075656188489547302139593638553095604428816861525979361574667896821523104548457151901626015516729995973788792469970520755836385979319835130952209730240318311634590871641398215339853543277675625223954862371426593497460631030373420427383801037953960233875539197210671975331063574116939928005933701628398964540753195079870434432236322866923052357152456154647127722268720831040052819701181901225010713351130570023638139748476194389848175523188347538838212331663391064047488994787170830059970996451608426970588885772194415358247948958949936996137719449105594593941921906533377239494272296760619398126738440782263963724219519090377857135786057376630127707687037513842631481519111201496230701745512869496389250809718375119580969696402998322245883109099063246896840964146402427744170318924876270164465110045653710180685147640834884981200741045680309416783794694854512070763257787269455236325703014058668263805171290733642118620715389534472884895965429350447051956843613704634385636592228624086991074209076730576771818534662890352796614906281324607602448155222925973616893057471328784314688629408705711785649957086157857341978854717166684038648819664121991902504463420488824074438432094472450808910272571704504709819081321548391732694201 637614765115650966685644672221031032787826989930136123701033516697472215368389791258156409773446036328845597878311756782946201885105836774428456329958311394550587441675441542372973177524505508649337056263828315951871030072693083814752662502930809206838230328222322587387943038107181139207604145511399477094559839124604709804331078678718130323708219930787419930725527630440446568619389911503028428518622436670048582659237750900404322757962640290897685478273087727571889667027038415322078612044924160654582947086733540248551048973062411737773869493022497427455269414768949035746420768147815228241257327400292235619876970140655342859842100127628605004360651579417126408185671832557166544648315757853420980322497735708330086951306667295177116998790644650496297446145772491025587980083488987856820240897816047096459535582129080562085690010521944347646333925315010726117384639705544949364653837902154288311719967058781050683819994732468823709869518004204266934314214570771974955836619333543133274552984238089122598530246286016310041298217014146551917580346886254383708328640336171799357368061627073034663512271991302150383883856432472235903058531885607156651241953954446386161396181746037413656448626419511843591354945825960825094433359796303902203 1031682361685904042341833161768333172381465543025740552517895042676833790036286612781260958230597937954861114608307730571738671855626592610814435649793442346760317681993753176963844818922720848502880333939453539906733401499286581275383692876351236590639268282182556462927140248779156470271178262451327483028261467523569250557526158549152562560031086853839777083181682277568168837340220951555848129700523661680761933789807774538544071234157030139073208666620626565784221330418102462811073399215754220625579398695160510837436821167477769985722828442959493565174718520363542977668327301525054722513554088019690362358317752404619067079361190505485740790418028209544834095223185675188648063759517254084122725835367232097580896669681786876146813401788966896379406545209019387866552126485916732027139165774086211561569581235839261247233330845406925548387379605624427509912079494217615712622441107357390614014734025727044855855110728374587444425259052477089162899743565017823931799450323967928769866781608325080196807606976862788128575961107366943166823861671493856831863551566309788692414839390411387723292920977703087800340970014289814214757775698569645805470906075946348890624816670570111852088543098870320753863926650330670644175754908188036596404 1669297126801555009027477833989364205169292532955876676218928559374306005404676404039417368004043974283706712486619487354684873740732429385242891979751753741310905123669194719336817996447226357152217390203281855858604431571979665090136355379282045797477498610404879050315083286886337609478782407962726960122821306648173960361857237227870692883739306784627197013907209908008615405959610863058876558219146098350810516449045525438948393992119670429970894144893714293356110997445140878133152011260678381280162345781894051085987870140540181723496697935981990992629987935132492013414748069672869950754811415419982597978194722545274409939203290633114345794778679788961960503408857507745814608407833011937543706157864967805910983620988454171323930400579611546875703991354791878892140106569405719883959406671902258658029116817968341809319020855928869896033713530939438236029464133923160661987094945259544902326453992785825906538930723107056268135128570481293429834057779588595906755286943301471903141334592563169319406137223148804438617259324381089718741442018380111215571880206645960491772207452038460757956433249694389950724853870722286450660834230455252962122148029900795276786212852316149265744991725289832597455281596156631469270188267984340498607 2700979488487459051369310995757697377550758075981617228736823602051139795440963016820678326234641912238567827094927217926423545596359021996057327629545196088071222805662947896300662815369947205655097724142735395765337833071266246365520048255633282388116766892587435513242223535665494079749960670414054443151082774171743210919383395777023255443770393638466974097088892185576784243299831814614724687919669760031572450238853299977492465226276700569044102811514340859140332327863243340944225410476432601905741744477054561923424691308017951709219526378941484557804706455496034991083075371197924673268365503439672960336512474949893477018564481138600086585196707998506794598632043182934462672167350266021666431993232199903491880290670241047470743802368578443255110536563811266758692233055322451911098572445988470219598698053807603056552351701335795444421093136563865745941543628140776374609536052616935516341188018512870762394041451481643712560387622958382592733801344606419838554737267269400673008116200888249516213744200011592567193220431748032885565303689873968047435431772955749184187046842449848481249354227397477751065823885012100665418609929024898767593054105847144167411029522886261117833534824160153351319208246487302113445943176172377095011 4370276615289014060396788829747061582720050608937493904955752161425445800845639420860095694238685886522274539581546705281108419337091451381300219609296949829382127929332142615637480811817173562807315114346017251623942264643245911455656403634915328185594265502992314563557306822551831689228743078376781403273904080819917171281240633004893948327509700423094171110996102093585399649259442677673601246138815858382382966687898825416440859218396370999014996956408055152496443325308384219077377421737110983185904090258948613009412561448558133432716224314923475550434694390628527004497823440870794624023176918859655558314707197495167886957767771771714432379975387787468755102040900690680277280575183277959210138151097167709402863911658695218794674202948189990130814527918603145650832339624728171795057979117890728877627814871775944865871372557264665340454806667503303981971007762063937036596630997876480418667642011298696668932972174588699980695516193439676022567859124195015745310024210570872576149450793451418835619881423160397005810479756129122604306745708254079263007311979601709675959254294488309239205787477091867701790677755734387116079444159480151729715202135747939444197242375202410383578526549449985948774489842643933582716131444156717593618 7071256103776473111766099825504758960270808684919111133692575763476585596286602437680774020473327798760842366676473923207531964933450473377357547238842145917453350734995090511938143627187120768462412838488752647389280097714512157821176451890548610573711032395579750076799530358217325768978703748790835846424986854991660382200624028781917203771280094061561145208084994279162183892559274492288325934058485618413955416926752125393933324444673071568059099767922396011636775653171627560021602832213543585091645834736003174932837252756576085141935750693864960108239400846124561995580898812068719297291542422299328518651219672445061363976332252910314518965172095785975549700672943873614739952742533543980876570144329367612894744202328936266265418005316768433385925064482414412409524572680050623706156551563879199097226512925583547922423724258600460784875899804067169727912551390204713411206167050493415935008830029811567431327013626070343693255903816398058615301660468801435583864761477840273249157566994339668351833625623171989573003700187877155489872049398128047310442743752557458860146301136938157720455141704489345452856501640746487781498054088505050497308256241595083611608271898088671501412061373610139300093698089131235696162074620329094688629 11441532719065487172162888655251820542990859293856605038648327924902031397132241858540869714712013685283116906258020628488640384270541924758657766848139095746835478664327233127575624439004294331269727952834769899013222362357758069276832855525463938759305297898572064640356837180769157458207446827167617249698890935811577553481864661786811152098789794484655316319081096372747583541818717169961927180197301476796338383614650950810374183663069442567074096724330451164133218978480011779098980253950654568277549924994951787942249814205134218574651975008788435658674095236753089000078722252939513921314719341158984076965926869940229250934100024682028951345147483573444304802713844564295017233317716821940086708295426535322297608113987631485060092208264958423516739592401017558060356912304778795501214530681769927974854327797359492788295096815865126125330706471570473709883559152268650447802798048369896353676472041110264100259985800659043673951420009837734637869519592996451329174785688411145825307017787791087187453507046332386578814179944006278094178795106382126573450055732159168536105555431426466959660929181581213154647179396480874897577498247985202227023458377343023055805514273291081884990587923060125248868187931775169278878206064485812282247 18512788822841960283928988480756579503261667978775716172340903688378616993418844296221643735185341484043959272934494551696172349203992398136015314086981241664288829399322323639513768066191415099732140791323522546402502460072270227098009307416012549333016330294151814717156367538986483227186150575958453096123877790803237935682488690568728355870069888546216461527166090651909767434377991662250253114255787095210293800541403076204307508107742514135133196492252847175769994631651639339120583086164198153369195759730954962875087066961710303716587725702653395766913496082877650995659621065008233218606261763458312595617146542385290614910432277592343470310319579359419854503386788437909757186060250365920963278439755902935192352316316567751325510213581726856902664656883431970469881484984829419207371082245649127072080840722943040710718821074465586910206606275637643437796110542473363859008965098863312288685302070921831531586999426729387367207323826235793253171180061797886913039547166251419074464584782130755539287132669504376151817880131883433584050844504510173883892799484716627396251856568364624680116070886070558607503681037227362679075552336490252724331714618938106667413786171379753386402649296670264548961886020906404975040280684814906970876 29954321541907447456091877136008400046252527272632321210989231613280648390551086154762513449897355169327076179192515180184812733474534322894673080935120337411124308063649556767089392505195709431001868744158292445415724822430028296374842162941476488092321628192723879357513204719755640685393597403126070345822768726614815489164353352355539507968859683030871777846247187024657350976196708832212180294453088572006632184156054027014681691770811956702207293216583298339903213610131651118219563340114852721646745684725906750817336881166844522291239700711441831425587591319630739995738343317947747139920981104617296672583073412325519865844532302274372421655467062932864159306100633002204774419377967187861049986735182438257489960430304199236385602421846685280419404249284449528530238397289608214708585612927419055046935168520302533499013917890330713035537312747208117147679669694742014306811763147233208642361774112032095631846985227388431041158743836073527891040699654794338242214332854662564899771602569921842726740639715836762730632060075889711678229639610892300457342855216875795932357411999791091639777000067651771762150860433708237576653050584475454951355172996281129723219300444670835271393237219730389797830073952681574253918486749300719253123 48467110364749407740020865616764979549514195251408037383330135301659265383969930450984157185082696653371035452127009731880985082678526721030688395022101579075413137462971880406603160571387124530734009535481814991818227282502298523472851470357489037425337958486875694074669572258742123912579747979084523441946646517418053424846842042924267863838929571577088239373413277676567118410574700494462433408708875667216925984697457103218989199878554470837340489708836145515673208241783290457340146426279050875015941444456861713692423948128554826007827426414095227192501087402508390991397964382955980358527242868075609268200219954710810480754964579866715891965786642292284013809487421440114531605438217553782013265174938341192682312746620766987711112635428412137322068906167881499000119882274437633915956695173068182119016009243245574209732738964796299945743919022845760585475780237215378165820728246096520931047076182953927163433984654117818408366067662309321144211879716592225155253880020913983974236187352052598266027772385341138882449940207773145262280484115402474341235654701592423328609268568155716319893070953722330369654541470935600255728602920965707675686887615219236390633086616050588657795886516400654346791959973587979228958767434115626223999 78421431906656855196112742752773379595766722524040358594319366914939913774521016605746670634980051822698111631319524912065797816153061043925361475957221916486537445526621437173692553076582833961735878279640107437233952104932326819847693633298965525517659586679599573432182776978497764597973345382210593787769415244032868914011195395279807371807789254607960017219660464701224469386771409326674613703161964239223558168853511130233670891649366427539547782925419443855576421851914941575559709766393903596662687129182768464509760829295399348299067127125537058618088678722139130987136307700903727498448223972692905940783293367036330346599496882141088313621253705225148173115588054442319306024816184741643063251910120779450172273176924966224096715057275097417741473155452331027530358279564045848624542308100487237165951177763548107708746656855127012981281231770053877733155449931957392472632491393329729573408850294986022795280969881506249449524811498382849035252579371386563397468212875576548874007789921974440992768412101177901613082000283662856940510123726294774798578509918468219260966680567946807959670071021374102131805401904643837832381653505441162627042060611500366113852387060721423929189123736131044144622033926269553482877254183416345477122 126888542271406262936133608369538359145280917775448395977649502216599179158490947056730827820062748476069147083446534643946782898831587764956049870979323495561950582989593317580295713647969958492469887815121922429052179387434625343320545103656454562942997545166475267506852349237239888510553093361295117229716061761450922338858037438204075235646718826185048256593073742377791587797346109821137047111870839906440484153550968233452660091527920898376888272634255589371249630093698232032899856192672954471678628573639630178202184777423954174306894553539632285810589766124647521978534272083859707856975466840768515208983513321747140827354461462007804205587040347517432186925075475882433837630254402295425076517085059120642854585923545733211807827692703509555063542061620212526530478161838483482540499003273555419284967187006793681918479395819923312927025150792899638318631230169172770638453219639426250504455926477939949958714954535624067857890879160692170179464459087978788552722092896490532848243977274027039258796184486519040495531940491436002202790607841697249139814164620060642589575949136102524279563141975096432501459943375579438088110256426406870302728948226719602504485473676772012586985010252531698491413993899857532711836021617531971701121 205309974178063118132246351122311738741047640299488754571968869131539092933011963662477498455042800298767258714766059556012580714984648808881411346936545412048488028516214754753988266724552792454205766094762029866286131492366952163168238736955420088460657131846074840939035126215737653108526438743505711017485477005483791252869232833483882607454508080793008273812734207079016057184117519147811660815032804145664042322404479363686330983177287325916436055559675033226826051945613173608459565959066858068341315702822398642711945606719353522605961680665169344428678444846786652965670579784763435355423690813461421149766806688783471173953958344148892519208294052742580360040663530324753143655070587037068139768995179900093026859100470699435904542749978606972805015217072543554060836441402529331165041311374042656450918364770341789627226052675050325908306382562953516051786680101130163111085711032755980077864776772925972753995924417130317307415690659075019214717038459365351950190305772067081722251767196001480251564596587696942108613940775098859143300731567992023938392674538528861850542629704049332239233212996470534633265345280223275920491909931848032929771008838219968618337860737493436516174133988662742636036027826127086194713275800948317178243 332198516449469381068379959491850097886328558074937150549618371348138272091502910719208326275105548774836405798212594199959363613816236573837461217915868907610438611505808072334283980372522750946675653909883952295338310879801577506488783840611874651403654677012550108445887475452977541619079532104800828247201538766934713591727270271687957843101226906978056530405807949456807644981463628968948707926903644052104526475955447597138991074705208224293324328193930622598075682039311405641359422151739812540019944276462028820914130384143307696912856234204801630239268210971434174944204851868623143212399157654229936358750320010530612001308419806156696724795334400260012546965739006207186981285324989332493216286080239020735881445024016432647712370442682116527868557278692756080591314603241012813705540314647598075735885551777135471545705448494973638835331533355853154370417910270302933749538930672182230582320703250865922712710878952754385165306569819767189394181497547344140502912398668557614570495744470028519510360781074215982604145881266534861346091339409689273078206839158589504440118578840151856518796354971566967134725288655802714008602166358254903232499957064939571122823334414265449103159144241194441127450021725984618906549297418480288879364 537508490627532499200626310614161836627376198374425905121587240479677365024514874381685824730148349073603664512978653755971944328800885382718872564852414319658926640022022827088272247097075543400881420004645982161624442372168529669657022577567294739864311808858624949384922601668715194727605970848306539264687015772418504844596503105171840450555734987771064804218542156535823702165581148116760368741936448197768568798359926960825322057882495550209760383753605655824901733984924579249818988110806670608361259979284427463626075990862661219518817914869970974667946655818220827909875431653386578567822848467691357508517126699314083175262378150305589244003628453002592907006402536531940124940395576369561356055075418920828908304124487132083616913192660723500673572495765299634652151044643542144870581626021640732186803916547477261172931501170023964743637915918806670422204590371433096860624641704938210660185480023791895466706803369884702472722260478842208608898536006709492453102704440624696292747511666029999761925377661912924712759822041633720489392070977681297016599513697118366290661208544201188758029567968037501767990633936025989929094076290102936162270965903159539741161195151758885619333278229857183763486049552111705101262573219428606057607 869707007077001880269006270106011934513704756449363055671205611827815637116017785100894151005253897848440070311191247955931307942617121956556333782768283227269365251527830899422556227469598294347557073914529934456962753251970107176145806418179169391267966485871175057830810077121692736346685502953107367511888554539353218436323773376859798293656961894749121334624350105992631347147044777085709076668840092249873095274315374557964313132587703774503084711947536278422977416024235984891178410262546483148381204255746456284540206375005968916431674149074772604907214866789655002854080283522009721780222006121921293867267446709844695176570797956462285968798962853262605453972141542739127106225720565702054572341155657941564789749148503564731329283635342840028542129774458055715243465647884554958576121940669238807922689468324612732718636949664997603578969449274659824792622500641736030610163572377120441242506183274657818179417682322639087638028830298609398003080033554053632956015103109182310863243256136058519272286158736128907316905703308168581835483410387370570094806352855707870730779787384353045276825922939604468902715922591828703937696242648357839394770922968099110863984529566024334722492422471051624890936071278096324007811870637908894936971 1407215497704534379469632580720173771141080954823788960792792852307493002140532659482579975735402246922043734824169901711903252271418007339275206347620697546928291891549853726510828474566673837748438493919175916618587195624138636845802828995746464131132278294729800007215732678790407931074291473801413906776575570311771723280920276482031638744212696882520186138842892262528455049312625925202469445410776540447641664072675301518789635190470199324712845095701141934247879150009160564140997398373353153756742464235030883748166282365868630135950492063944743579575161522607875830763955715175396300348044854589612651375784573409158778351833176106767875212802591306265198360978544079271067231166116142071615928396231076862393698053272990696814946196828003563529215702270223355349895616692528097103446703566690879540109493384872089993891568450835021568322607365193466495214827091013169127470788214082058651902691663298449713646124485692523790110751090777451606611978569560763125409117807549807007155990767802088519034211536398041832029665525349802302324875481365051867111405866552826237021440995928554234034855490907641970670706556527854693866790318938460775557041888871258650605145724717783220341825700700908808654422120830208029109074443857337500994578 2276922504781536259738638850826185705654785711273152016463998464135308639256550444583474126740656144770483805135361149667834560214035129295831540130388980774197657143077684625933384702036272132095995567833705851075549948876108744021948635413925633522400244780600975065046542755912100667420976976754521274288464124851124941717244049858891437037869658777269307473467242368521086396459670702288178522079616632697514759346990676076753948323057903099215929807648678212670856566033396549032175808635899636905123668490777340032706488740874599052382166213019516184482376389397530833618035998697406022128266860711533945243052020119003473528403974063230161181601554159527803814950685622010194337391836707773670500737386734803958487802421494261546275480463346403557757832044681411065139082340412652062022825507360118348032182853196702726610205400500019171901576814468126320007449591654905158080951786459179093145197846573107531825542168015162877748779921076061004615058603114816758365132910658989318019234023938147038306497695134170739346571228657970884160358891752422437206212219408534107752220783312907279311681413847246439573422479119683397804486561586818614951812811839357761469130254283807555064318123171960433545358192108304353116886314495246395931549 3684138002486070639208271431546359476795866666096940977256791316442801641397083104066054102476058391692527539959531051379737812485453136635106746478009678321125949034627538352444213176602945969844434061752881767694137144500247380867751464409672097653532523075330775072262275434702508598495268450555935181065039695162896664998164326340923075782082355659789493612310134631049541445772296627490647967490393173145156423419665977595543583513528102423928774903349820146918735716042557113173173207009252790661866132725808223780872771106743229188332658276964259764057537912005406664381991713872802322476311715301146596618836593528162251880237150169998036394404145465793002175929229701281261568557952849845286429133617811666352185855694484958361221677291349967086973534314904766415034699032940749165469529074050997888141676238068792720501773851335040740224184179661592815222276682668074285551740000541237745047889509871557245471666653707686667859531011853512611227037172675579883774250718208796325175224791740235557340709231532212571376236754007773186485234373117474304317618085961360344773661779241461513346536904754888410244129035647538091671276880525279390508854700710616412074275979001590775406143823872869242199780312938512382225960758352583896926127 5961060507267606898946910282372545182450652377370092993720789780578110280653633548649528229216714536463011345094892201047572372699488265930938286608398659095323606177705222978377597878639218101940429629586587618769687093376356124889700099823597731175932767855931750137308818190614609265916245427310456455353503820014021606715408376199814512819952014437058801085777376999570627842231967329778826489570009805842671182766656653672297531836586005523144704710998498359589592282075953662205349015645152427566989801216585563813579259847617828240714824489983775948539914301402937498000027712570208344604578576012680541861888613647165725408641124233228197576005699625320805990879915323291455905949789557618956929871004546470310673658115979219907497157754696370644731366359586177480173781373353401227492354581411116236173859091265495447111979251835059912125760994129719135229726274322979443632691787000416838193087356444664777297208821722849545608310932929573615842095775790396642139383628867785643194458815678382595647206926666383310722807982665744070645593264869896741523830305369894452525882562554368792658218318602134849817551514767221489475763442112098005460667512549974173543406233285398330470461947044829675745138505046816735342847072847830292857676 9645198509753677538155181713918904659246519043467033970977581097020911922050716652715582331692772928155538885054423252427310185184941402566045033086408337416449555212332761330821811055242164071784863691339469386463824237876603505757451564233269828829465290931262525209571093625317117864411513877866391636418543515176918271713572702540737588602034370096848294698087511630620169288004263957269474457060402978987827606186322631267841115350114107947073479614348318506508327998118510775378522222654405218228855933942393787594452030954361057429047482766948035712597452213408344162382019426443010667080890291313827138480725207175327977288878274403226233970409845091113808166809145024572717474507742407464243359004622358136662859513810464178268718835046046337731704900674490943895208480406294150392961883655462114124315535329334288167613753103170100652349945173791311950452002956991053729184431787541654583240976866316222022768875475430536213467841944783086227069132948465976525913634347076581968369683607418618152987916158198595882099044736673517257130827637987371045841448391331254797299544341795830306004755223357023260061680550414759581147040322637377395969522213260590585617682212286989105876605770917698917944918817985329117568807831200414189783803 15606259017021284437102091996291449841697171420837126964698370877599022202704350201365110560909487464618550230149315453474882557884429668496983319694806996511773161390037984309199408933881382173725293320926057005233511331252959630647151664056867560005398058787194275346879911815931727130327759305176848091772047335190939878428981078740552101421986384533907095783864888630190797130236231287048300946630412784830498788952979284940138647186700113470218184325346816866097920280194464437583871238299557645795845735158979351408031290801978885669762307256931811661137366514811281660382047139013219011685468867326507680342613820822493702697519398636454431546415544716434614157689060347864173380457531965083200288875626904606973533171926443398176215992800742708376436267034077121375382261779647551620454238236873230360489394420599783614725732355005160564475706167921031085681729231314033172817123574542071421434064222760886800066084297153385759076152877712659842911228724256373168053017975944367611564142423097000748635123084864979192821852719339261327776420902857267787365278696701149249825426904350199098662973541959158109879232065181981070622803764749475401430189725810564759161088445572387436347067717962528593690057323032145852911654904048244482641479 25251457526774961975257273710210354500943690464304160935675951974619934124755066854080692892602260392774089115203738705902192743069371071063028352781215333928222716602370745640021219989123546245510157012265526391697335569129563136404603228290137388834863349718456800556451005441248844994739273183043239728190590850367858150142553781281289690024020754630755390481952400260810966418240495244317775403690815763818326395139301916207979762536814221417291663939695135372606248278312975212962393460953962864024701669101373139002483321756339943098809790023879847373734818728219625822764066565456229678766359158640334818823339027997821679986397673039680665516825389807548422324498205372436890854965274372547443647880249262743636392685736907576444934827846789046108141167708568065270590742185941702013416121892335344484804929749934071782339485458175261216825651341712343036133732188305086902001555362083726004675041089077108822834959772583921972543994822495746069980361672722349693966652323020949579933826030515618901623039243063575074920897456012778584907248540844638833206727088032404047124971246146029404667728765316181369940912615596740651769844087386852797399711939071155344778770657859376542223673488880227511634976141017474970480462735248658672425282 40857716543796246412359365706501804342640861885141287900374322852218956327459417055445803453511747857392639345353054159377075300953800739560011672476022330439995877992408729949220628923004928419235450333191583396930846900382522767051754892347004948840261408505651075903330917257180572125067032488220087819962638185558798028571534860021841791446007139164662486265817288891001763548476726531366076350321228548648825184092281201148118409723514334887509848265041952238704168558507439650546264699253520509820547404260352490410514612558318828768572097280811659034872185243030907483146113704469448690451828025966842499165952848820315382683917071676135097063240934523983036482187265720301064235422806337630643936755876167350609925857663350974621150820647531754484577434742645186645973003965589253633870360129208574845294324170533855397065217813180421781301357509633374121815461419619120074818678936625797426109105311837995622901044069737307731620147700208405912891590396978722862019670298965317191497968453612619650258162327928554267742750175352039912683669443701906620572005784733553296950398150496228503330702307275339479820144680778721722392647852136328198829901664881720103939859103431763978570741206842756105325033464049620823392117639296903155066761 66109174070571208387616639416712158843584552349445448836050274826838890452214483909526496346114008250166728460556792865279268044023171810623040025257237664368218594594779475589241848912128474664745607345457109788628182469512085903456358120637142337675124758224107876459781922698429417119806305671263327548153229035926656178714088641303131481470027893795417876747769689151812729966717221775683851754012044312467151579231583117356098172260328556304801512204737087611310416836820414863508658160207483373845249073361725629412997934314658771867381887304691506408607003971250533305910180269925678369218187184607177317989291876818137062670314744715815762580066324331531458806685471092737955090388080710178087584636125430094246318543400258551066085648494320800592718602451213251916563746151530955647286482021543919330099253920467927179404703271355682998127008851345717157949193607924206976820234298709523430784146400915104445736003842321229704164142522704151982871952069701072555986322621986266771431794484128238551881201570992129342663647631364818497590917984546545453778732872765957344075369396642257907998431072591520849761057296375462374162491939523180996229613603952875448718629761291140520794414695722983616960009605067095793872580374545561827492043 106966890614367454799976005123213963186225414234586736736424597679057846779673900964972299799625756107559367805909847024656343344976972550183051697733259994808214472587188205538462477835133403083981057678648693185559029369894608670508113012984147286515386166729758952363112839955609989244873338159483415368115867221485454207285623501324973272916035032960080363013586978042814493515193948307049928104333272861115976763323864318504216581983842891192311360469779039850014585395327854514054922859461003883665796477622078119823512546872977600635953984585503165443479189214281440789056293974395127059670015210574019817155244725638452445354231816391950859643307258855514495288872736813039019325810887047808731521392001597444856244401063609525687236469141852555077296037193858438562536750117120209281156842150752494175393578091001782576469921084536104779428366360979091279764655027543327051638913235335320856893251712753100068637047912058537435784290222912557895763542466679795418005992920951583962929762937740858202139363898920683610406397806716858410274587428248452074350738657499510641025767547138486411329133379866860329581201977154184096555139791659509195059515268834595552658488864722904499365155902565739722285043069116716617264698013842464982558804 173076064684938663187592644539926122029809966584032185572474872505896737231888384874498796145739764357726096266466639889935611389000144360806091722990497659176433067181967681127704326747261877748726665024105802974187211839406694573964471133621289624190510924953866828822894762654039406364679643830746742916269096257412110385999712142628104754386062926755498239761356667194627223481911170082733779858345317173583128342555447435860314754244171447497112872674516127461325002232148269377563581019668487257511045550983803749236510481187636372503335871890194671852086193185531974094966474244320805428888202395181197135144536602456589508024546561107766622223373583187045954095558207905776974416198967757986819106028127027539102562944463868076753322117636173355670014639645071690479100496268651164928443324172296413505492832011469709755874624355891787777555375212324808437713848635467534028459147534044844287677398113668204514373051754379767139948432745616709878635494536380867973992315542937850734361557421869096754020565469912812953070045438081676907865505412794997528129471530265467985101136943780744319327564452458381179342259273529646470717631731182690191289128872787471001377118626014045020159570598288723339245052674183812411137278388388026810050847 280042955299306117987568649663140085216035380818618922308899470184954584011562285839471095945365520465285464072376486914591954733977116910989143420723757653984647539769155886666166804582395280832707722702754496159746241209301303244472584146605436910705897091683625781186007602609649395609552981990230158284384963478897564593285335643953078027302097959715578602774943645237441716997105118389783707962678590034699105105879311754364531336228014338689424233144295167311339587627476123891618503879129491141176842028605881869060023028060613973139289856475697837295565382399813414884022768218715932488558217605755216952299781328095041953378778377499717481866680842042560449384430944718815993742009854805795550627420128624983958807345527477602440558586778025910747310676838930129041637246385771374209600166323048907680886410102471492332344545440427892556983741573303899717478503663010861080098060769380165144570649826421304583010099666438304575732722968529267774399037003060663391998308463889434697291320359609954956159929368833496563476443244798535318140092841043449602480210187764978626126904490919230730656697832325241508923461250683830567272771522842199386348644141622066554035607490736949519524726500854463061530095743300529028401976402230491792609651 453119019984244781175161294203066207245845347402651107881374342690851321243450670713969892091105284823011560338843126804527566122977261271795235143714255313161080606951123567793871131329657158581434387726860299133933453048707997818437055280226726534896408016637492610008902365263688801974232625820976901200654059736309674979285047786581182781688160886471076842536300312432068940479016288472517487821023907208282233448434759190224846090472185786186537105818811294772664589859624393269182084898797978398687887579589685618296533509248250345642625728365892509147651575585345388978989242463036737917446420000936414087444317930551631461403324938607484104090054425229606403479989152624592968158208822563782369733448255652523061370289991345679193880704414199266417325316484001819520737742654422539138043490495345321186379242113941202088219169796319680334539116785628708155192352298478395108557208303425009432248047940089509097383151420818071715681155714145977653034531539441531365990624006827285431652877781479051710180494838746309516546488682880212226005598253838447130609681718030446611228041434699975049984262284783622688265720524213477037990403254024889577637773014409537555412726116750994539684297099143186400775148417484341439539254790618518602660498 733161975283550899162729943866206292461880728221270030190273812875805905255012956553440988036470805288297024411219613719119520856954378182784378564438012967145728146720279454460037935912052439414142110429614795293679694258009301062909639426832163445602305108321118391194909967873338197583785607811207059485039023215207239572570383430534260808990258846186655445311243957669510657476121406862301195783702497242981338554314070944589377426700200124875961338963106462084004177487100517160800588777927469539864729608195567487356556537308864318781915584841590346443216957985158803863012010681752670406004637606691631039744099258646673414782103316107201585956735267272166852864420097343408961900218677369577920360868384277507020177635518823281634439291192225177164635993322931948562374989040193913347643656818394228867265652216412694420563715236747572891522858358932607872670855961489256188655269072805174576818697766510813680393251087256376291413878682675245427433568542502194757988932470716720128944198141089006666340424207579806080022931927678747544145691094881896733089891905795425237354945925619205780640960117108864197189181774897307605263174776867088963986417156031604109448333607487944059209023599997649462305244160784870467941231192849010395270149 1186280995267795680337891238069272499707726075623921138071648155566657226498463627267410880127576090111308584750062740523647086979931639454579613708152268280306808753671403022253909067241709597995576498156475094427613147306717298881346694707058889980498713124958611001203812333137026999558018233632183960685693082951516914551855431217115443590678419732657732287847544270101579597955137695334818683604726404451263572002748830134814223517172385911062498444781917756856668767346724910429982673676725447938552617187785253105653090046557114664424541313207482855590868533570504192842001253144789408323451057607628045127188417189198304876185428254714685690046789692501773256344409249968001930058427499933360290094316639930030081547925510168960828319995606424443581961309806933768083112731694616452485687147313739550053644894330353896508782885033067253226061975144561316027863208259967651297212477376230184009066745706600322777776402508074448007095034396821223080468100081943726123979556477544005560597075922568058376520919046326115596569420610558959770151289348720343863699573623825871848582987360319180830625222401892486885454902299110784643253578030891978541624190170441141664861059724238938598893320699140835863080392578269211907480485983467528997930647 1919442970551346579500621181935478792169606803845191168261921968442463131753476583820851868164046895399605609161282354242766607836886017637363992272590281247452536900391682476713947003153762037409718608586089889721292841564726599944256334133891053426101018233279729392398722301010365197141803841443391020170732106166724154124425814647649704399668678578844387733158788227771090255431259102197119879388428901694244910557062901079403600943872586035938459783745024218940672944833825427590783262454652917478417346795980820593009646583865978983206456898049073202034085491555662996705013263826542078729455695214319676166932516447844978290967531570821887276003524959773940109208829347311410891958646177302938210455185024207537101725561028992242462759286798649620746597303129865716645487720734810365833330804132133778920910546546766590929346600269814826117584833503493923900534064221456907485867746449035358585885443473111136458169653595330824298508913079496468507901668624445920881968488948260725689541274063657065042861343253905921676592352538237707314296980443602240596789465529621297085937933285938386611266182519001351082644084074008092248516752807759067505610607326472745774309393331726882658102344299138485325385636739054082375421717176316539393200796 3105723965819142259838512420004751291877332879469112306333570124009120358251940211088262748291622985510914193911345094766413694816817657091943605980742549527759345654063085498967856070395471635405295106742564984148905988871443898825603028840949943406599731358238340393602534634147392196699822075075574980856425189118241068676281245864765147990347098311502120021006332497872669853386396797531938562993155306145508482559811731214217824461044971947000958228526941975797341712180550338020765936131378365416969963983766073698662736630423093647630998211256556057624954025126167189547014516971331487052906752821947721294120933637043283167152959825536572966050314652275713365553238597279412822017073677236298500549501664137567183273486539161203291079282405074064328558612936799484728600452429426818319017951445873328974555440877120487438129485302882079343646808648055239928397272481424558783080223825265542594952189179711459235946056103405272305603947476317691588369768706389647005948045425804731250138349986225123419382262300232037273161773148796667084448269792322584460489039153447168934520920646257567441891404920893837968098986373118876891770330838651046047234797496913887439170453055965821256995664998279321188466029317323294282902203159784068391131443 5025166936370488839339133601940230084046939683314303474595492092451583490005416794909114616455669880910519803072627449009180302653703674729307598253332830775211882554454767975681803073549233672815013715328654873870198830436170498769859362974840996832700749591518069786001256935157757393841625916518966001027157295284965222800707060512414852390015776890346507754165120725643760108817655899729058442381584207839753393116874632293621425404917557982939418012271966194738014657014375765611549198586031282895387310779746894291672383214289072630837455109305629259659039516681830186252027780797873565782362448036267397461053450084888261458120491396358460242053839612049653474762067944590823713975719854539236711004686688345104284999047568153445753838569203723685075155916066665201374088173164237184152348755578007107895465987423887078367476085572696905461231642151549163828931336702881466268947970274300901180837632652822595694115709698736096604112860555814160096271437330835567887916534374065456939679624049882188462243605554137958949754125687034374398745250235924825057278504683068466020458853932195954053157587439895189050743070447126969140287083646410113552845404823386633213479846387692703915098009297417806513851666056377376658323920336100607784332239 8130890902189631099177646021944981375924272562783415780929062216460703848257357005997377364747292866421433996983972543775593997470521331821251204234075380302971228208517853474649659143944705308220308822071219858019104819307614397595462391815790940239300480949756410179603791569305149590541447991594540981883582484403206291476988306377180000380362875201848627775171453223516429962204052697260997005374739513985261875676686363507839249865962529929940376240798908170535356369194926103632315134717409648312357274763512967990335119844712166278468453320562185317283993541807997375799042297769205052835269200858215118755174383721931544625273451221895033208104154264325366840315306541870236535992793531775535211554188352482671468272534107314649044917851608797749403714529003464686102688625593664002471366707023880436870021428301007565805605570875578984804878450799604403757328609184306025052028194099566443775789821832534054930061765802141368909716808032131851684641206037225214893864579799870188189817974036107311881625867854369996222915898835831041483193520028247409517767543836515634954979774578453521495048992360789027018842056820245846032057414485061159600080202320300520652650299443658525172093674295697127702317695373700670941226123495884676175463682 13156057838560119938516779623885211459971212246097719255524554308912287338262773800906491981202962747331953800056599992784774300124225006550558802487408211078183110762972621450331462217493938981035322537399874731889303649743784896365321754790631937072001230541274479965605048504462906984383073908113506982910739779688171514277695366889594852770378652092195135529336573949160190071021708596990055447756323721825015268793560995801460675270880087912879794253070874365273371026209301869243864333303440931207744585543259862282007503059001238909305908429867814576943033058489827562051070078567078618617631648894482516216227833806819806083393942618253493450157993876375020315077374486461060249968513386314771922558875040827775753271581675468094798756420812521434478870445070129887476776798757901186623715462601887544765487415724894644173081656448275890266110092951153567586259945887187491320976164373867344956627454485356650624177475500877465513829668587946011780912643368060782781781114173935645129497598085989500343869473408507955172670024522865415881938770264172234575046048519584100975438628510649475548206579800684216069585127267372815172344498131471273152925607143687153866130145831351229087191683593114934216169361430078047599550043831985283959795921 21286948740749751037694425645830192835895484808881135036453616525372991186520130806903869345950255613753387797040572536560368297594746338371810006721483591381154338971490474924981121361438644289255631359471094589908408469051399293960784146606422877311301711491030890145208840073768056574924521899708047964794322264091377805754683673266774853150741527294043763304508027172676620033225761294251052453131063235810277144470247359309299925136842617842820170493869782535808727395404227972876179468020850579520101860306772830272342622903713405187774361750429999894227026600297824937850112376336283671452900849752697634971402217528751350708667393840148526658262148140700387155392681028331296785961306918090307134113063393310447221544115782782743843674272421319183882584974073594573579465424351565189095082169625767981635508844025902209978687227323854875070988543750757971343588555071493516373004358473433788732417276317890705554239241303018834423546476620077863465553849405285997675645693973805833319315572122096812225495341262877951395585923358696457365132290292419644092813592356099735930418403089102997043255572161473243088427184087618661204401912616532432753005809463987674518780445275009754259285357888812061918487056803778718540776167327869960135259603 34443006579309870976211205269715404295866697054978854291978170834285278524782904607810361327153218361085341597097172529345142597718971344922368809208891802459337449734463096375312583578932583270290953896870969321797712118795184190326105901397054814383302942032305370110813888578230963559307595807821554947705062043779549320032379040156369705921120179386238898833844601121836810104247469891241107900887386957635292413263808355110760600407722705755699964746940656901082098421613529842120043801324291510727846445850032692554350125962714644097080270180297814471170059658787652499901182454903362290070532498647180151187630051335571156792061336458402020108420142017075407470470055514792357035929820304405079056671938434138222974815697458250838642430693233840618361455419143724461056242223109466375718797632227655526400996259750796854151768883772130765337098636701911538929848500958681007693980522847301133689044730803247356178416716803896299937376145208023875246466492773346780457426808147741478448813170208086312569364814671385906568255947881561873247071060556591878667859640875683836905857031599752472591462151962157459158012311354991476376746410748003705905931416607674828384910591106360983346477041481926996134656418233856766140326211159855244095055524 55729955320059622013905630915545597131762181863859989328431787359658269711303035414714230673103473974838729394137745065905510895313717683294178815930375393840491788705953571300293704940371227559546585256342063911706120587846583484286890048003477691694604653523336260256022728651999020134232117707529602912499384307870927125787062713423144559071861706680282662138352628294513430137473231185492160354018450193445569557734055714420060525544565323598520135240810439436890825817017757814996223269345142090247948306156805522826692748866428049284854631930727814365397086259085477437751294831239645961523433348399877786159032268864322507500728730298550546766682290157775794625862736543123653821891127222495386190785001827448670196359813241033582486104965655159802244040393217319034635707647461031564813879801853423508036505103776699064130456111095985640408087180452669510273437056030174524066984881320734922421462007121138061732655958106915134360922621828101738712020342178632778133072502121547311768128742330183124794860155934263857963841871240258330612203350849011522760673233231783572836275434688855469634717724123630702246439495442610137581148323364536138658937226071662502903691036381370737605762399370739058053143475037635484681102378487725204230315127 90172961899369492990116836185261001427628878918838843620409958193943548236085940022524592000256692335924070991234917595250653493032689028216547625139267196299829238440416667675606288519303810829837539153213033233503832706641767674612995949400532506077907595555641630366836617230229983693539713515351157860204446351650476445819441753579514264992981886066521560972197229416350240241720701076733268254905837151080861970997864069530821125952288029354220099987751096337972924238631287657116267070669433600975794752006838215381042874829142693381934902111025628836567145917873129937652477286143008251593965847047057937346662320199893664292790066756952566875102432174851202096332792057916010857820947526900465247456940261586893171175510699284421128535658889000420605495812361043495691949870570497940532677434081079034437501363527495918282224994868116405745185817154581049203285556988855531760965404168036056110506737924385417911072674910811434298298767036125613958486834951979558590499310269288790216941912538269437364224970605649764532097819121820203859274411405603401428532874107467409742132466288607942226179876085788161404451806797601613957894734112539844564868642679337331288601627487731720952239440852666054187799893271492250821428589647580448325370651 145902917219429115004022467100806598559391060782698832948841745553601817947388975437238822673360166310762800385372662661156164388346406711510726441069642590140321027146370238975899993459675038389384124409555097145209953294488351158899885997404010197772512249078977890622859345882229003827771831222880760772703830659521403571606504467002658824064843592746804223110549857710863670379193932262225428608924287344526431528731919783950881651496853352952740235228561535774863750055649045472112490340014575691223743058163643738207735623695570742666789534041753443201964232176958607375403772117382654213117399195446935723505694589064216171793518797055503113641784722332626996722195528601039664679712074749395851438241942089035563367535323940318003614640624544160222849536205578362530327657518031529505346557235934502542474006467304194982412681105964102046153272997607250559476722613019030055827950285488770978531968745045523479643728633017726568659221388864227352670507177130612336723571812390836101985070654868452562159085126539913622495939690362078534471477762254614924189206107339250982578407900977463411860897600209418863650891302240211751539043057477075983223805868750999834192292663869102458558001840223405112240943368309127735502530968135305652555685778 236075879118798607994139303286067599987019939701537676569251703747545366183474915459763414673616858646686871376607580256406817881379095739727274066208909786440150265586786906651506281978978849219221663562768130378713786001130118833512881946804542703850419844634619520989695963112458987521311544738231918632908277011171880017425946220582173089057825478813325784082747087127213910620914633338958696863830124495607293499729783853481702777449141382306960335216312632112836674294280333129228757410684009292199537810170481953588778498524713436048724436152779072038531378094831737313056249403525662464711365042493993660852356909264109836086308863812455680516887154507478198818528320658955675537533022276296316685698882350622456538710834639602424743176283433160643455032017939406026019607388602027445879234670015581576911507830831690900694906100832218451898458814761831608680008170007885587588915689656807034642475482969908897554801307928538002957520155900352966628994012082591895314071122660124892202012567406721999523310097145563387028037509483898738330752173660218325617738981446718392320540367266071354087077476295207025055343109037813365496937791589615827788674511430337165480894291356834179510241281076071166428743261580619986323959557782886100881056429 381978796338227722998161770386874198546411000484236509518093449301147184130863890897002237346977024957449671761980242917562982269725502451238000507278552376580471292733157145627406275438653887608605787972323227523923739295618469992412767944208552901622932093713597411612555308994687991349083375961112679405612107670693283589032450687584831913122669071560130007193296944838077581000108565601184125472754411840133725028461703637432584428945994735259700570444874167887700424349929378601341247750698584983423280868334125691796514122220284178715513970194532515240495610271790344688460021520908316677828764237940929384358051498328326007879827660867958794158671876840105195540723849259995340217245097025692168123940824439658019906246158579920428357816907977320866304568223517768556347264906633556951225791905950084119385514298135885883107587206796320498051731812369082168156730783026915643416865975145578013174444228015432377198529940946264571616741544764580319299501189213204232037642935050960994187083222275174561682395223685477009523977199845977272802229935914833249806945088785969374898948268243534765947975076504625888706234411278025117035980849066691811012480380181336999673186955225936638068243121299476278669686629889747721826490525918191753436742207 618054675457026330992301073672941798533430940185774186087345153048692550314338806356765652020593883604136543138587823173969800151104598190965274573487462163020621558319944052278912557417632736827827451535091357902637525296748588825925649891013095605473351938348216932602251272107146978870394920699344598038520384681865163606458396908167005002180494550373455791276044031965291491621023198940142822336584536335741018528191487490914287206395136117566660905661186800000537098644209711730570005161382594275622818678504607645385292620744997614764238406347311587279026988366622082001516270924433979142540129280434923045210408407592435843966136524680414474675559031347583394359252169918951015754778119301988484809639706790280476444956993219522853100993191410481509759600241457174582366872295235584397105026575965665696297022128967576783802493307628538949950190627130913776836738953034801231005781664802385047816919710985341274753331248874802574574261700664933285928495201295796127351714057711085886389095789681896561205705320831040396552014709329876011132982109575051575424684070232687767219488635509606120035052552799832913761577520315838482532918640656307638801154891611674165154081246582770817578484402375547445098429891470367708150450083701077854317798636 1000033471795254053990462844059815997079841940670010695605438602349839734445202697253767889367570908561586214900568066091532782420830100642203275080766014539601092851053101197906318832856286624436433239507414585426561264592367058818338417835221648507096284032061814344214806581101834970219478296660457277444132492352558447195490847595751836915303163621933585798469340976803369072621131764541326947809338948175874743556653191128346871635341130852826361476106060967888237522994139090331911252912081179259046099546838733337181806742965281793479752376541844102519522598638412426689976292445342295820368893518375852429568459905920761851845964185548373268834230908187688589899976019178946355972023216327680652933580531229938496351203151799443281458810099387802376064168464974943138714137201869141348330818481915749815682536427103462666910080514424859448001922439499995944993469736061716874422647639947963060991363939000773651951861189821067146191003245429513605227996390509000359389356992762046880576179011957071122888100544516517406075991909175853283935212045489884825231629159018657142118436903753140885983027629304458802467811931593863599568899489722999449813635271793011164827268201808707455646727523675023723768116521360115429976940609619269607754540843 1618088147252280384982763917732757795613272880855784881692783755398532284759541503610533541388164792165722758039155889265502582571934698833168549654253476702621714409373045250185231390273919361264260691042505943329198789889115647644264067726234744112569635970410031276817057853208981949089873217359801875482652877034423610801949244503918841917483658172307041589745385008768660564242154963481469770145923484511615762084844678619261158841736266970393022381767247767888774621638348802062481258073463773534668918225343340982567099363710279408243990782889155689798549587005034508691492563369776274962909022798810775474778868313513197695812100710228787743509789939535271984259228189097897371726801335629669137743220238020218972796160145018966134559803290798283885823768706432117721081009497104725745435845057881415511979558556071039450712573822053398397952113066630909721830208689096518105428429304750348108808283649986114926705192438695869720765264946094446891156491591804796486741071050473132766965274801638967684093805865347557802628006618505729295068194155064936400656313229251344909337925539262747006018080182104291716229389451909702082101818130379307088614790163404685329981349448391478273225211926050571168866546412830483138127390693320347462072339479 2618121619047534438973226761792573792693114821525795577298222357748372019204744200864301430755735700727308972939723955357035364992764799475371824735019491242222807260426146448091550223130205985700693930549920528755760054481482706462602485561456392619665920002471845621031864434310816919309351514020259152926785369386982057997440092099670678832786821794240627388214725985572029636863286728022796717955262432687490505641497869747608030477077397823219383857873308735777012144632487892394392510985544952793715017772182074319748906106675561201723743159430999792318072185643446935381468855815118570783277916317186627904347328219433959547658064895777161012344020847722960574159204208276843727698824551957349790676800769250157469147363296818409416018613390186086261887937171407060859795146698973867093766663539797165327662094983174502117622654336478257845954035506130905666823678425158234979851076944698311169799647588986888578657053628516936866956268191523960496384487982313796846130428043235179647541453813596038806981906409864075208703998527681582579003406200554821225887942388270002051456362443015887892001107811408750518697201383503565681670717620102306538428425435197696494808617650200185728871939449725594892634662934190598568104331302939617069826880322 4236209766299814823955990679525331588306387702381580458991006113146904303964285704474834972143900492893031730978879844622537947564699498308540374389272967944844521669799191698276781613404125346964954621592426472084958844370598354106866553287691136732235555972881876897848922287519798868399224731380061028409438246421405668799389336603589520750270479966547668977960110994340690201105441691504266488101185917199106267726342548366869189318813664793612406239640556503665786766270836694456873769059008726328383935997525415302316005470385840609967733942320155482116621772648481444072961419184894845746186939115997403379126196532947157243470165606005948755853810787258232558418432397374741099425625887587018928420021007270376441943523441837375550578416680984370147711705877839178580876156196078592839202508597678580839641653539245541568335228158531656243906148572761815388653887114254753085279506249448659278607931238973003505362246067212806587721533137618407387540979574118593332871499093708312414506728615235006491075712275211633011332005146187311874071600355619757626544255617521346960794287982278634898019187993513042234926590835413267763772535750481613627043215598602381824789967098591664002097151375776166061501209347021081706231721996259964531899219801 6854331385347349262929217441317905380999502523907376036289228470895276323169029905339136402899636193620340703918603799979573312557464297783912199124292459187067328930225338146368331836534331332665648552142347000840718898852081060569469038849147529351901475975353722518880786721830615787708576245400320181336223615808387726796829428703260199583057301760788296366174836979912719837968728419527063206056448349886596773367840418114477219795891062616831790097513865239442798910903324586851266280044553679122098953769707489622064911577061401811691477101751155274434693958291928379454430275000013416529464855433184031283473524752381116791128230501783109768197831634981193132577636605651584827124450439544368719096821776520533911090886738655784966597030071170456409599643049246239440671302895052459932969172137475746167303748522420043685957882495009914089860184078892721055477565539412988065130583194146970448407578827959892084019299695729743454677801329142367883925467556432390179001927136943492062048182428831045298057618685075708220036003673868894453075006556174578852432198005791349012250650425294522790020295804921792753623792218916833445443253370583920165471641033800078319598584748791849730969090825501760954135872281211680274336053299199581601726100123 11090541151647164086885208120843236969305890226288956495280234584042180627133315609813971375043536686513372434897483644602111260122163796092452573513565427131911850600024529844645113449938456679630603173734773472925677743222679414676335592136838666084137031948235599416729709009350414656107800976780381209745661862229793395596218765306849720333327781727335965344134947974253410039074170111031329694157634267085703041094182966481346409114704727410444196337154421743108585677174161281308140049103562405450482889767232904924380917047447242421659211044071310756551315730940409823527391694184908262275651794549181434662599721285328274034598396107789058524051642422239425690996069003026325926550076327131387647516842783790910353034410180493160517175446752154826557311348927085418021547459091131052772171680735154327006945402061665585254293110653541570333766332651654536444131452653667741150410089443595629727015510066932895589381545762942550042399334466760775271466447130550983511873426230651804476554911044066051789133330960287341231368008820056206327146606911794336478976453623312695973044938407573157688039483798434834988550383054330101209215789121065533792514856632402460144388551847383513733066242201277927015637081628232761980567775295459546133625319924 17944872536994513349814425562161142350305392750196332531569463054937456950302345515153107777943172880133713138816087444581684572679628093876364772637857886318979179530249867991013445286472788012296251725877120473766396642074760475245804630985986195436038507923589321935610495731181030443816377222180701391081885478038181122393048194010109919916385083488124261710309784954166129877042898530558392900214082616972299814462023384595823628910595790027275986434668286982551384588077485868159406329148116084572581843536940394546445828624508644233350688145822466030986009689232338202981821969184921678805116649982365465946073246037709390825726626609572168292249474057220618823573705608677910753674526766675756366613664560311444264125296919148945483772476823325282966910991976331657462218761986183512705140852872630073174249150584085628940250993148551484423626516730547257499609018193080729215540672637742600175423088894892787673400845458672293497077135795903143155391914686983373690875353367595296538603093472897097087190949645363049451404012493925100780221613467968915331408651629104044985295588832867680478059779603356627742174175273246934654659042491649453957986497666202538463987136596175363464035333026779687969772953909444442254903828594659127735351420047 29035413688641677436699633683004379319611282976485289026849697638979637577435661124967079152986709566647085573713571089183795832801791889968817346151423313450891030130274397835658558736411244691926854899611893946692074385297439889922140223122824861520175539871824921352340204740531445099924178198961082600827547340267974517989266959316959640249712865215460227054444732928419539916117068641589722594371716884058002855556206351077170038025300517437720182771822708725659970265251647149467546378251678490023064733304173299470826745671955886655009899189893776787537325420172748026509213663369829941080768444531546900608672967323037664860325022717361226816301116479460044514569774611704236680224603093807144014130507344102354617159707099642106000947923575480109524222340903417075483766221077314565477312533607784400181194552645751214194544103802093054757392849382201793943740470846748470365950762081338229902438598961825683262782391221614843539476470262663918426858361817534357202748779598247101015158004516963148876324280605650390682772021313981307107368220379763251810385105252416740958340527240440838166099263401791462730724558327577035863874831612714987750501354298604998608375688443558877197101575228057614985410035537677204235471603890118673868976739971 46980286225636190786514059245165521669916675726681621558419160693917094527738006640120186930929882446780798712529658533765480405481419983845182118789281199769870209660524265826672004022884032704223106625489014420458471027372200365167944854108811056956214047795414243287950700471712475543740555421141783991909432818306155640382315153327069560166097948703584488764754517882585669793159967172148115494585799501030302670018229735672993666935896307464996169206490995708211354853329133017626952707399794574595646576841113694017272574296464530888360587335716242818523335109405086229491035632554751619885885094513912366554746213360747055686051649326933395108550590536680663338143480220382147433899129860482900380744171904413798881285004018791051484720400398805392491133332879748732945984983063498078182453386480414473355443703229836843134795096950644539181019366112749051443349489039829199581491434719080830077861687856718470936183236680287137036553606058567061582250276504517730893624132965842397553761097989860245963515230251013440134176033807906407887589833847732167141793756881520785943636116073308518644159043005148090472898733600823970518533874104364441708487851964807537072362825039734240661136908254837302955182989447121646490375432484777801604328160018 76015699914277868223213692928169900989527958703166910585268858332896732105173667765087266083916592013427884286243229622949276238283211873813999464940704513220761239790798663662330562759295277396149961525100908367150545412669640255090085077231635918476389587667239164640290905212243920643664733620102866592736980158574130158371582112644029200415810813919044715819199250811005209709277035813737838088957516385088305525574436086750163704961196824902716351978313704433871325118580780167094499085651473064618711310145286993488099319968420417543370486525610019606060660529577834256000249295924581560966653539045459267163419180683784720546376672044294621924851707016140707852713254832086384114123732954290044394874679248516153498444711118433157485668323974285502015355673783165808429751204140812643659765920088198873536638255875588057329339200752737593938412215494950845387089959886577669947442196800419059980300286818544154198965627901901980576030076321230980009108638322052088096372912564089498568919102506823394839839510856663830816948055121887714994958054227495418952178862133937526901976643313749356810258306406939553203623291928401006382408705717079429458989206263412535680738513483293117858238483482894917940593024984798850725847036374896475473304899989 122995986139914059009727752173335422659444634429848532143688019026813826632911674405207453014846474460208682998772888156714756643764631857659181583729985712990631449451322929489002566782179310100373068150589922787609016440041840620258029931340446975432603635462653407928241605683956396187405289041244650584646412976880285798753897265971098760581908762622629204583953768693590879502437002985885953583543315886118608195592665822423157371897093132367712521184804700142082679971909913184721451793051267639214357886986400687505371894264884948431731073861326262424583995638982920485491284928479333180852538633559371633718165394044531776232428321371228017033402297552821371190856735052468531548022862814772944775618851152929952379729715137224208970388724373090894506489006662914541375736187204310721842219306568613346892081959105424900464134297703382133119431581607699896830439448926406869528933631519499890058161974675262625135148864582189117612583682379798041591358914826569818989997045529931896122680200496683640803354741107677270951124088929794122882547888075227586093972619015458312845612759387057875454417349412087643676522025529224976900942579821443871167477058228220072753101338523027358519375391737732220895776014431920497216222468859674277077633060007 199011686054191927232941445101505323648972593133015442728956877359710558738085342170294719098763066473636567285016117779664032882047843731473181048670690226211392689242121593151333129541474587496523029675690831154759561852711480875348115008572082893908993223129892572568532510896200316831070022661347517177383393135454415957125479378615127960997719576541673920403153019504596089211714038799623791672500832271206913721167101909173321076858289957270428873163118404575954005090490693351815950878702740703833069197131687680993471214233305365975101560386936282030644656168560754741491534224403914741819192172604830900881584574728316496778804993415522638958254004568962079043569989884554915662146595769062989170493530401446105878174426255657366456057048347376396521844680446080349805487391345123365501985226656812220428720214981012957793473498456119727057843797102650742217529408812984539476375828319918950038462261493806779334114492484091098188613758701029021600467553148621907086369958094021394691599303003507035643194251964341101768072144051681837877505942302723005046151481149395839747589402700807232264675655819027196880145317457625983283351285538523300626466264491632608433839852006320476377613875220627138836369039416719347942069505234570752550937959996 322007672194105986242669197274840746308417227562863974872644896386524385370997016575502172113609540933845250283789005936378789525812475589132362632400675939202024138693444522640335696323653897596896097826280753942368578292753321495606144939912529869341596858592545980496774116580156713018475311702592167762029806112334701755879376644586226721579628339164303124987106788198186968714151041785509745256044148157325521916759767731596478448755383089638141394347923104718036685062400606536537402671754008343047427084118088368498843108498190314406832634248262544455228651807543675226982819152883247922671730806164202534599749968772848273011233314786750655991656302121783450234426724937023447210169458583835933946112381554376058257904141392881575426445772720467291028333687108994891181223578549434087344204533225425567320802174086437858257607796159501860177275378710350639047968857739391409005309459839418840096624236169069404469263357066280215801197441080827063191826467975191726076367003623953290814279503500190676446548993072018372719196232981475960760053830377950591140124100164854152593202162087865107719093005231114840556667342986850960184293865359967171793943322719852681186941190529347834896989266958359359732145053848639845158291974094245029628571020003 521019358248297913475610642376346069957389820695879417601601773746234944109082358745796891212372607407481817568805123716042822407860319320605543681071366165413416827935566115791668825865128485093419127501971585097128140145464802370954259948484612763250590081722438553065306627476357029849545334363939684939413199247789117713004856023201354682577347915705977045390259807702783057925865080585133536928544980428532435637926869640769799525613673046908570267511041509293990690152891299888353353550456749046880496281249776049492314322731495680381934194635198826485873307976104429968474353377287162664490922978769033435481334543501164769790038308202273294949910306690745529277996714821578362872316054352898923116605911955822164136078567648538941882502821067843687550178367555075240986710969894557452846189759882237787749522389067450816051081294615621587235119175813001381265498266552375948481685288159337790135086497662876183803377849550371313989811199781856084792294021123813633162736961717974685505878806503697712089743245036359474487268377033157798637559772680673596186275581314249992340791564788672339983768661050142037436812660444476943467645150898490472420409587211485289620781042535668311274603142178986498568514093265359193100361479328815782179508979999 843027030442403899718279839651186816265807048258743392474246670132759329480079375321299063325982148341327067852594129652421611933672794909737906313472042104615440966629010638432004522188782382690315225328252339039496718438218123866560404888397142632592186940314984533562080744056513742868020646066531852701443005360123819468884232667787581404156976254870280170377366595900970026640016122370643282184589128585857957554686637372366277974369056136546711661858964614012027375215291906424890756222210757389927923365367864417991157431229685994788766828883461370941101959783648105195457172530170410587162653784933235970081084512274013042801271622989023950941566608812528979512423439758601810082485512936734857062718293510198222393982709041420517308948593788310978578512054664070132167934548443991540190394293107663355070324563153888674308689090775123447412394554523352020313467124291767357486994747998756630231710733831945588272641206616651529791008640862683147984120489099005359239103965341927976320158310003888388536292238108377847206464610014633759397613603058624187326399681479104144933993726876537447702861666281256877993480003431327903651939016258457644214352909931337970807722233065016146171592409137345858300659147113999038258653453423060811808080000002 1364046388690701813193890482027532886223196868954622810075848443878994273589161734067095954538354755748808885421399253368464434341533114230343449994543408270028857794564576754223673348053910867783734352830223924136624858583682926237514664836881755395842777022037423086627387371532870772717565980430471537640856204607912937181889088690988936086734324170576257215767626403603753084565881202955776819113134109014390393192613507013136077499982729183455281929370006123306018065368183206313244109772667506436808419646617640467483471753961181675170701023518660197426975267759752535163931525907457573251653576763702269405562419055775177812591309931191297245891476915503274508790420154580180172954801567289633780179324205466020386530061276689959459191451414856154666128690422219145373154645518338548993036584052989901142819846952221339490359770385390745034647513730336353401578965390844143305968680036158094420366797231494821772076019056167022843780819840644539232776414510222818992401840927059902661826037116507586100626035483144737321693732987047791558035173375739297783512675262793354137274785291665209787686630327331398915430292663875804847119584167156948116634762497142823260428503275600684457446195551316332356869173240379358231359014932751876593987588980001 2207073419133105712912170321678719702489003917213366202550095114011753603069241109388395017864336904090135953273993383020886046275205909140081356308015450374644298761193587392655677870242693250474049578158476263176121577021901050104075069725278898028434963962352407620189468115589384515585586626497003390342299209968036756650773321358776517490891300425446537386144992999504723111205897325326420101297723237600248350747300144385502355474351785320001993591228970737318045440583475112738134865994878263826736343011985504885474629185190867669959467852402121568368077227543400640359388698437627983838816230548635505375643503568049190855392581554180321196833043524315803488302843594338781983037287080226368637242042498976218608924043985731379976500400008644465644707202476883215505322580066782540533226978346097564497890171515375228164668459476165868482059908284859705421892432515135910663455674784156851050598507965326767360348660262783674373571828481507222380760534999321824351640944892401830638146195426511474489162327721253115168900197597062425317432786978797921970839074944272458282208779018541747235389491993612655793423772667307132750771523183415405760849115407074161231236225508665700603617787960453678215169832387493357269617668386174937405795668980003 3571119807823807526106060803706252588712200786167989012625943557890747876658402843455490972402691659838944838695392636389350480616739023370424806302558858644673156555758164146879351218296604118257783930988700187312746435605583976341589734562160653424277740984389830706816855487122255288303152606927474927983155414575949693832662410049765453577625624596022794601912619403108476195771778528282196920410857346614638743939913651398638432974334514503457275520598976860624063505951658319051378975767545770263544762658603145352958100939152049345130168875920781765795052495303153175523320224345085557090469807312337774781205922623824368667983891485371618442724520439819077997093263748918962155992088647516002417421366704442238995454105262421339435691851423500620310835892899102360878477225585121089526263562399087465640710018467596567655028229861556613516707422015196058823471397905980053969424354820314945470965305196821589132424679318950697217352648322151761613536949509544643344042785819461733299972232543019060589788363204397852490593930584110216875467960354537219754351750207065812419483564310206957023076122320944054708854065331182937597891107350572353877483877904216984491664728784266385061063983511770010572039005627872715500976683318926813999783257960004 5778193226956913239018231125384972291201204703381355215176038671902501479727643952843885990267028563929080791969386019410236526891944932510506162610574309019317455316951751539535029088539297368731833509147176450488868012627485026445664804287439551452712704946742238327006323602711639803888739233424478318325454624543986450483435731408541971068516925021469331988057612402613199306977675853608617021708580584214887094687213795784140788448686299823459269111827947597942108946535133431789513841762424034090281105670588650238432730124342917015089636728322903334163129722846553815882708922782713540929286037860973280156849426191873559523376473039551939639557563964134881485396107343257744139029375727742371054663409203418457604378149248152719412192251432145085955543095375985576383799805651903630059490540745185030138600189982971795819696689337722481998767330300055764245363830421115964632880029604471796521563813162148356492773339581734371590924476803658983994297484508866467695683730711863563938118427969530535078950690925650967659494128181172642192900747333335141725190825151338270701692343328748704258465614314556710502277837998490070348662630533987759638332993311291145722900954292932085664681771472223688787208838015366072770594351705101751405578926940007 9349313034780720765124291929091224879913405489549344227801982229793249356386046796299376962669720223768025630664778655799587007508683955880930968913133167663990611872709915686414380306835901486989617440135876637801614448233069002787254538849600204876990445931132069033823179089833895092191891840351953246308610039119936144316098141458307424646142549617492126589970231805721675502749454381890813942119437930829525838627127447182779221423020814326916544632426924458566172452486791750840892817529969804353825868329191795591390831063494966360219805604243685099958182218149706991406029147127799098019755845173311054938055348815697928191360364524923558082282084403953959482489371092176706295021464375258373472084775907860696599832254510574058847884102855645706266378988275087937262277031237024719585754103144272495779310208450568363474724919199279095515474752315251823068835228327096018602304384424786741992529118358969945625198018900685068808277125125810745607834434018411111039726516531325297238090660512549595668739054130048820150088058765282859068368707687872361479542575358404083121175907638955661281541736635500765211131903329673007946553737884560113515816871215508130214565683077198470725745754983993699359247843643238788271571035024028565405362184900011 15127506261737634004142523054476197171114610192930699442978020901695750836113690749143262952936748787697106422634164675209823534400628888391437131523707476683308067189661667225949409395375198855721450949283053088290482460860554029232919343137039756329703150877874307360829502692545534896080631073776431564634064663663922594799533872866849395714659474638961458578027844208334874809727130235499430963828018515044412933314341242966920009871707114150375813744254872056508281399021925182630406659292393838444106973999780445829823561187837883375309442332566588434121311940996260807288738069910512638949041883034284335094904775007571487714736837564475497721839648368088840967885478435434450434050840103000744526748185111279154204210403758726778260076354287790792221922083651073513646076836888928349645244643889457525917910398433540159294421608537001577514242082615307587314199058748211983235184414029258538514092931521118302117971358482419440399201601929469729602131918527277578735410247243188861176209088482080130747689745055699787809582186946455501261269455021207503204733400509742353822868250967704365540007350950057475713409741328163078295216368418547873154149864526799275937466637370130556390427526456217388146456681658604861042165386729130316810941111840018 24476819296518354769266814983567422051028015682480043670780003131489000192499737545442639915606469011465132053298943331009410541909312844272368100436840644347298679062371582912363789702211100342711068389418929726092096909093623032020173881986639961206693596809006376394652681782379429988272522914128384810942674702783858739115632014325156820360802024256453585167998076014056550312476584617390244905947456445873938771941468690149699231294727928477292358376681796515074453851508716933471299476822363642797932842328972241421214392251332849735529247936810273534079494159145967798694767217038311736968797728207595390032960123823269415906097202089399055804121732772042800450374849527611156729072304478259117998832961019139850804042658269300837107960457143436498488301071926161450908353868125953069230998747033730021697220606884108522769146527736280673029716834930559410383034287075308001837488798454045280506622049880088247743169377383104509207478727055280475209966352545688689775136763774514158414299748994629726416428799185748607959670245711738360329638162709079864684275975868146436944044158606660026821549087585558240924541644657836086241770106303107986669966735742307406152032320447329027116173281440211087505704525301843649313736421753158882216303296740029 39604325558255988773409338038043619222142625875410743113758024033184751028613428294585902868543217799162238475933108006219234076309941732663805231960548121030606746252033250138313199097586299198432519338701982814382579369954177061253093225123679717536396747686880683755482184474924964884353153987904816375576739366447781333915165887192006216075461498895415043746025920222391425122203714852889675869775474960918351705255809933116619241166435042627668172120936668571582735250530642116101706136114757481242039816328752687251037953439170733110838690269376861968200806100142228605983505286948824375917839611241879725127864898830840903620834039653874553525961381140131641418260327963045607163123144581259862525581146130419005008253062028027615368036811431227290710223155577234964554430705014881418876243390923187547615131005317648682063568136273282250543958917545866997697233345823519985072673212483303819020714981401206549861140735865523949606680328984750204812098271072966268510547011017703019590508837476709857164118544241448395769252432658193861590907617730287367889009376377888790766912409574364392361556438535615716637951385985999164536986474721655859824116600269106682089498957817459583506600807896428475652161206960448510355901808482289199027244408580047 64081144854774343542676153021611041273170641557890786784538027164673751221113165840028542784149686810627370529232051337228644618219254576936173332397388765377905425314404833050676988799797399541143587728120912540474676279047800093273267107110319678743090344495887060150134866257304394872625676902033201186519414069231640073030797901517163036436263523151868628914023996236447975434680299470279920775722931406792290477197278623266318472461162971104960530497618465086657189102039359049573005612937121124039972658657724928672252345690503582846367938206187135502280300259288196404678272503987136112886637339449475115160825022654110319526931241743273609330083113912174441868635177490656763892195449059518980524414107149558855812295720297328452475997268574663789198524227503396415462784573140834488107242137956917569312351612201757204832714664009562923573675752476426408080267632898827986910162010937349099527337031281294797604310113248628458814159056040030680022064623618654958285683774792217178004808586471339583580547343427197003728922678369932221920545780439367232573285352246035227710956568181024419183105526121173957562493030643835250778756581024763846494083336011414088241531278264788610622774089336639563157865732262292159669638230235448081243547705320076 103685470413030332316085491059654660495313267433301529898296051197858502249726594134614445652692904609789609005165159343447878694529196309599978564357936886408512171566438083188990187897383698739576107066822895354857255649001977154526360332233999396279487092182767743905617050732229359756978830889938017562096153435679421406945963788709169252511725022047283672660049916458839400556884014323169596645498406367710642182453088556382937713627598013732628702618555133658239924352570001165674711749051878605282012474986477615923290299129674315957206628475563997470481106359430425010661777790935960488804476950691354840288689921484951223147765281397148162856044495052306083286895505453702371055318593640778843049995253279977860820548782325356067844034080005891079908747383080631380017215278155715906983485528880105116927482617519405886896282800282845174117634670022293405777500978722347971982835223420652918548052012682501347465450849114152408420839385024780884834162894691621226796230785809920197595317423948049440744665887668645399498175111028126083511453398169654600462294728623924018477868977755388811544661964656789674200444416629834415315743055746419706318199936280520770331030236082248194129374897233068038810026939222740670025540038717737280270792113900123 167766615267804675858761644081265701768483908991192316682834078362532253470839759974642988436842591420416979534397210680676523312748450886536151896755325651786417596880842916239667176697181098280719694794943807895331931928049777247799627439344319075022577436678654804055751916989533754629604507791971218748615567504911061479976761690226332288947988545199152301574073912695287375991564313793449517421221337774502932659650367179649256186088760984837589233116173598744897113454609360215247717361988999729321985133644202544595542644820177898803574566681751132972761406618718621415340050294923096601691114290140829955449514944139061542674696523140421772186127608964480525155530682944359134947514042700297823574409360429536716632844502622684520320031348580554869107271610584027795479999851296550395090727666837022686239834229721163091728997464292408097691310422498719813857768611621175958892997234358002018075389043963796145069760962362780867234998441064811564856227518310276185081914560602137375600126010419389024325213231095842403227097789398058305431999178609021833035580080869959246188825545936413230727767490777963631762937447273669666094499636771183552812283272291934858572561514347036804752148986569707601967892671485032829695178268953185361514339819220199 271452085680835008174847135140920362263797176424493846581130129560390755720566354109257434089535496030206588539562370024124402007277647196136130461113262538194929768447280999428657364594564797020295801861766703250189187577051754402325987771578318471302064528861422547961368967721763114386583338681909236310711720940590482886922725478935501541459713567246435974234123829154126776548448328116619114066719744142213574842103455736032193899716358998570217935734728732403137037807179361380922429111040878334603997608630680160518832943949852214760781195157315130443242512978149046426001828085859057090495591240832184795738204865624012765822461804537569935042172104016786608442426188398061506002832636341076666624404613709514577453393284948040588164065428586445949016018993664659175497215129452266302074213195717127803167316847240568978625280264575253271808945092521013219635269590343523930875832457778654936623441056646297492535211811476933275655837826089592449690390413001897411878145346412057573195443434367438465069879118764487802725272900426184388943452576778676433497874809493883264666694523691802042272429455434753305963381863903504081410242692517603259130483208572455628903591750429284998881523883802775640777919610707773499720718307670922641785131933120322 439218700948639684033608779222186064032281085415686163263964207922923009191406114083900422526378087450623568073959580704800925320026098082672282357868588189981347365328123915668324541291745895301015496656710511145521119505101531650125615210922637546324641965540077352017120884711296869016187846473880455059327288445501544366899487169161833830407702112445588275808197741849414152540012641910068631487941081916716507501753822915681450085805119983407807168850902331148034151261788721596170146473029878063925982742274882705114375588770030113564355761839066263416003919596867667841341878380782153692186705530973014751187719809763074308497158327677991707228299712981267133597956871342420640950346679041374490198813974139051294086237787570725108484096777167000818123290604248686970977214980748816697164940862554150489407151076961732070354277728867661369500255515019733033493038201964699889768829692136656954698830100610093637604972773839714142890836267154404014546617931312173596960059907014194948795569444786827489395092349860330205952370689824242694375451755387698266533454890363842510855520069628215273000196946212716937726319311177173747504742329288786811942766480864390487476153264776321803633672870372483242745812282192806329415896576624108003299471752340521 710670786629474692208455914363106426296078261840180009845094337483313764911972468193157856615913583480830156613521950728925327327303745278808412818981850728176277133775404915096981905886310692321311298518477214395710307082153286052451602982500956017626706494401499899978489852433059983402771185155789691370039009386092027253822212648097335371867415679692024250042321571003540929088460970026687745554660826058930082343857278651713643985521478981978025104585631063551171189068968082977092575584070756398529980350905562865633208532719882328325136956996381393859246432575016714267343706466641210782682296771805199546925924675387087074319620132215561642270471816998053742040383059740482146953179315382451156823218587848565871539631072518765696648162205753446767139309597913346146474430110201082999239154058271278292574467924202301048979557993442914641309200607540746253128307792308223820644662149915311891322271157256391130140184585316647418546674093243996464237008344314071008838205253426252521991012879154265954464971468624818008677643590250427083318904332166374700031329699857725775522214593320017315272626401647470243689701175080677828914985021806390071073249689436846116379745015205606802515196754175258883523731892900579829136614884295030645084603685460843 1149889487578114376242064693585292490328359347255866173109058545406236774103378582277058279142291670931453724687481531433726252647329843361480695176850438918157624499103528830765306447178056587622326795175187725541231426587254817702577218193423593563951348459941577251995610737144356852418959031629670146429366297831593571620721699817259169202275117792137612525850519312852955081628473611936756377042601907975646589845611101567395094071326598965385832273436533394699205340330756804573262722057100634462455963093180445570747584121489912441889492718835447657275250352171884382108685584847423364474869002302778214298113644485150161382816778459893553349498771529979320875638339931082902787903525994423825647022032561987617165625868860089490805132258982920447585262600202162033117451645090949899696404094920825428781981619001164033119333835722310576010809456122560479286621345994272923710413491842051968846021101257866484767745157359156361561437510360398400478783626275626244605798265160440447470786582323941093443860063818485148214630014280074669777694356087554072966564784590221568286377734662948232588272823347860187181416020486257851576419727351095176883016016170301236603855898279981928606148869624547742126269544175093386158552511460919138648384075437801364 1860560274207589068450520607948398916624437609096046182954152882889550539015351050470216135758205254412283881301003482162651579974633588640289107995832289646333901632878933745862288353064367279943638093693664939936941733669408103755028821175924549581578054954343077151974100589577416835821730216785459837799405307217685598874543912465356504574142533471829636775892840883856496010716934581963444122597262734034576672189468380219108738056848077947363857378022164458250376529399724887550355297641171390860985943444086008436380792654209794770214629675831829051134496784746901096376029291314064575257551299074583413845039569160537248457136398592109114991769243346977374617678722990823384934856705309806276803845251149836183037165499932608256501780421188673894352401909800075379263926075201150982695643248979096707074556086925366334168313393715753490652118656730101225539749653786581147531058153991967280737343372415122875897885341944473008979984184453642396943020634619940315614636470413866699992777595203095359398325035287109966223307657870325096861013260419720447666596114290079294061899949256268249903545449749507657425105721661338529405334712372901566954089265859738082720235643295187535408664066378723001009793276067993965987689126345214169293468679123262207 3010449761785703444692585301533691406952796956351912356063211428295787313118729632747274414900496925343737605988485013596377832621963432001769803172682728564491526131982462576627594800242423867565964888868852665478173160256662921457606039369348143145529403414284654403969711326721773688240689248415129984228771605049279170495265612282615673776417651263967249301743360196709451092345408193900200499639864642010223262035079481786503832128174676912749689651458697852949581869730481692123618019698272025323441906537266454007128376775699707212104122394667276708409747136918785478484714876161487939732420301377361628143153213645687409839953177052002668341268014876956695493317062921906287722760231304230102450867283711823800202791368792697747306912680171594341937664510002237412381377720292100882392047343899922135856537705926530367287647229438064066662928112852661704826370999780854071241471645834019249583364473672989360665630499303629370541421694814040797421804260895566560220434735574307147463564177527036452842185099105595114437937672150399766638707616507274520633160898880300862348277683919216482491818273097367844606521742147596380981754439723996743837105282030039319324091541575169464014812936003270743136062820243087352146241637806133307941852754561063571 4871010035993292513143105909482090323577234565447958539017364311185337852134080683217490550658702179756021487289488495759029412596597020642058911168515018210825427764861396322489883153306791147509602982562517605415114893926071025212634860545272692727107458368627731555943811916299190524062419465200589822028176912266964769369809524747972178350560184735796886077636201080565947103062342775863644622237127376044799934224547862005612570185022754860113547029480862311199958399130206579673973317339443416184427849981352462443509169429909501982318752070499105759544243921665686574860744167475552514989971600451945041988192782806224658297089575644111783333037258223934070110995785912729672657616936614036379254712534861659983239956868725306003808693101360268236290066419802312791645303795493251865087690592879018842931093792851896701455960623153817557315046769582762930366120653567435218772529799825986530320707846088112236563515841248102379521405879267683194364824895515506875835071205988173847456341772730131812240510134392705080661245330020724863499720876926994968299757013170380156410177633175484732395363722846875502031627463808934910387089152096898310791194547889777402044327184870356999423477002381993744145856096311081318133930764151347477235321433684325778 7881459797778995957835691211015781730530031521799870895080575739481125165252810315964764965559199105099759093277973509355407245218560452643828714341197746775316953896843858899117477953549215015075567871431370270893288054182733946670240899914620835872636861782912385959913523243020964212303108713615719806256948517316243939865075137030587852126977835999764135379379561277275398195407750969763845121876992018055023196259627343792116402313197431772863236680939560164149540268860688271797591337037715441507869756518618916450637546205609209194422874465166382467953991058584472053345459043637040454722391901829306670131345996451912068137042752696114451674305273100890765604312848834635960380377167918266481705579818573483783442748237518003751115605781531862578227730929804550204026681515785352747479737936778940978787631498778427068743607852591881623977974882435424635192491653348289290014001445660005779904072319761101597229146340551731750062827574081723991786629156411073436055505941562480994919905950257168265082695233498300195099183002171124630138428493434269488932917912050681018758455317094701214887181995944243346638149205956531291368843591820895054628299829919816721368418726445526463438289938385264487281918916554168670280172401957480785177174188245389349 12752469833772288470978797120497872054107266087247829434097940050666463017386890999182255516217901284855780580567462005114436657815157473285887625509712764986142381661705255221607361106856006162585170853993887876308402948108804971882875760459893528599744320151540117515857335159320154736365528178816309628285125429583208709234884661778560030477538020735561021457015762357841345298470093745627489744114119394099823130484175205797728972498220186632976783710420422475349498667990894851471564654377158857692297606499971378894146715635518711176741626535665488227498234980250158628206203211112592969712363502281251712119538779258136726434132328340226235007342531324824835715308634747365633037994104532302860960292353435143766682705106243309754924298882892130814517797349606862995671985311278604612567428529657959821718725291630323770199568475745699181293021652018187565558612306915724508786531245485992310224780165849213833792662181799834129584233453349407186151454051926580311890577147550654842376247722987300077323205367891005275760428332191849493638149370361264457232674925221061175168632950270185947282545718791118848669776669765466201755932743917793365419494377809594123412745911315883462861766940767258231427775012865249988414103166108828262412495621929715127 20633929631551284428814488331513653784637297609047700329178515790147588182639701315147020481777100389955539673845435514469843903033717925929716339850910511761459335558549114120724839060405221177660738725425258147201691002291538918553116660374514364472381181934452503475770858402341118948668636892432029434542073946899452649099959798809147882604515856735325156836395323635116743493877844715391334865991111412154846326743802549589845374811417618405840020391359982639499038936851583123269155991414874299200167363018590295344784261841127920371164501000831870695452226038834630681551662254749633424434755404110558382250884775710048794571175081036340686681647804425715601319621483582001593418371272450569342665872172008627550125453343761313506039904664423993392745528279411413199698666827063957360047166466436900800506356790408750838943176328337580805270996534453612200751103960264013798800532691145998090128852485610315431021808522351565879647061027431131177938083208337653747946083089113135837296153673244468342405900601389305470859611334362974123776577863795533946165592837271742193927088267364887162169727714735362195307925875721997493124776335738688420047794207729410844781164637761409926300056879152522718709693929419418658694275568066309047589669810175104476 33386399465323572899793285452011525838744563696295529763276455840814051200026592314329275997995001674811320254412897519584280560848875399215603965360623276747601717220254369342332200167261227340245909579419146023510093950400343890435992420834407893072125502085992620991628193561661273685034165071248339062827199376482661358334844460587707913082053877470886178293411085992958088792347938461018824610105230806254669457227977755387574347309637805038816804101780405114848537604842477974740720645792033156892464969518561674238930977476646631547906127536497358922950461019084789309757865465862226394147118906391810094370423554968185521005307409376566921688990335750540437034930118329367226456365376982872203626164525443771316808158450004623260964203547316124207263325629018276195370652138342561972614594996094860622225082082039074609142744804083279986564018186471799766309716267179738307587063936631990400353632651459529264814470704151400009231294480780538364089537260264234059836660236663790679672401396231768419729105969280310746620039666554823617414727234156798403398267762492803369095721217635073109452273433526481043977702545487463694880709079656481785467288585539004968193910549077293389161823819919780950137468942284668647108378734175137310002165432104819603 54020329096874857328607773783525179623381861305343230092454971630961639382666293629476296479772102064766859928258333034054124463882593325145320305211533788509061052778803483463057039227666448517906648304844404170711784952691882808989109081208922257544506684020445124467399051964002392633702801963680368497369273323382114007434804259396855795686569734206211335129806409628074832286225783176410159476096342218409515783971780304977419722121055423444656824493140387754347576541694061098009876637206907456092632332537151969583715239317774551919070628537329229618402687057919419991309527720611859818581874310502368476621308330678234315576482490412907608370638140176256038354551601911368819874736649433441546292036697452398866933611793765936767004108211740117600008853908429689395069318965406519332661761462531761422731438872447825448085921132420860791835014720925411967060820227443752106387596627777988490482485137069844695836279226502965888878355508211669542027620468601887807782743325776926516968555069476236762135006570669616217479651000917797741191305097952332349563860599764545563022809484999960271622001148261843239285628421209461188005485415395170205515082793268415812975075186838703315461880699072303668847162871704087305802654302241446357591835242279924079 87406728562198430228401059235536705462126425001638759855731427471775690582692885943805572477767103739578180182671230553638405024731468724360924270572157065256662769999057852805389239394927675858152557884263550194221878903092226699425101502043330150616632186106437745459027245525663666318736967034928707560196472699864775365769648719984563708768623611677097513423217495621032921078573721637428984086201573024664185241199758060364994069430693228483473628594920792869196114146536539072750597282998940612985097302055713643822646216794421183466976756073826588541353148077004209301067393186474086212728993216894178570991731885646419836581789899789474530059628475926796475389481720240736046331102026416313749918201222896170183741770243770560027968311759056241807272179537447965590439971103749081305276356458626622044956520954486900057228665936504140778399032907397211733370536494623490413974660564409978890836117788529373960650749930654365898109649988992207906117157728866121867619403562440717196640956465708005181864112539949926964099690667472621358606032332109130752962128362257348932118530702635033381074274581788324283263330966696924882886194495051651990982371378807420781168985735915996704623704518992084618984631813988755952911033036416583667594000674384743682 141427057659073287557008833019061885085508286306981989948186399102737329965359179573281868957539205804345040110929563587692529488614062049506244575783690853765723822777861336268446278622594124376059206189107954364933663855784109508414210583252252408161138870126882869926426297489666058952439768998609076057565746023246889373204452979381419504455193345883308848553023905249107753364799504813839143562297915243073701025171538365342413791551748651928130453088061180623543690688230600170760473920205848069077729634592865613406361456112195735386047384611155818159755835134923629292376920907085946031310867527396547047613040216324654152158272390202382138430266616103052513744033322152104866205838675849755296210237920348569050675382037536496794972419970796359407281033445877654985509290069155600637938117921158383467687959826934725505314587068925001570234047628322623700431356722067242520362257192187967381318602925599218656487029157157331786988005497203877448144778197468009675402146888217643713609511535184241943999119110619543181579341668390419099797337430061463102525988962021894495141340187634993652696275730050167522548959387906386070891679910446822196497454172075836594144060922754700020085585218064388287831794685692843258713687338658030025185835916664667761 228833786221271717785409892254598590547634711308620749803917826574513020548052065517087441435306309543923220293600794141330934513345530773867168846355847919022386592776919189073835518017521800234211764073371504559155542758876336207839312085295582558777771056233320615385453543015329725271176736033537783617762218723111664738974101699365983213223816957560406361976241400870140674443373226451268127648499488267737886266371296425707407860982441880411604081682981973492739804834767139243511071203204788682062826936648579257229007672906616918853024140684982406701108983211927838593444314093560032244039860744290725618604772101971073988740062289991856668489895092029848989133515042392840912536940702266069046128439143244739234417152281307056822940731729852601214553212983325620575949261172904681943214474379785005512644480781421625562543253005429142348633080535719835433801893216690732934336917756597946272154720714128592617137779087811697685097655486196085354261935926334131543021550450658360910250468000892247125863231650569470145679032335863040458403369762170593855488117324279243427259870890270027033770550311838491805812290354603310953777874405498474187479825550883257375313046658670696724709289737056472906816426499681599211624720375074613692779836591049411443 370260843880345005342418725273660475633142997615602739752104225677250350513411245090369310392845515348268260404530357729023464001959592823373413422139538772788110415554780525342281796640115924610270970262479458924089206614660445716253522668547834966938909926360203485311879840504995784223616505032146859675327964746358554112178554678747402717679010303443715210529265306119248427808172731265107271210797403510811587291542834791049821652534190532339734534771043154116283495522997739414271545123410636751140556571241444870635369129018812654239071525296138224860864818346851467885821235000645978275350728271687272666217812318295728140898334680194238806920161708132901502877548364544945778742779378115824342338677063593308285092534318843553617913151700648960621834246429203275561458551242060282581152592300943388980332440608356351067857840074354143918867128164042459134233249938757975454699174948785913653473323639727811273624808244969029472085660983399962802406714123802141218423697338876004623859979536076489069862350761189013327258374004253459558200707192232056958014106286301137922401211077905020686466826041888659328361249742509697024669554315945296383977279722959093969457107581425396744794874955120861194648221185374442470338407713732643717965672507714079204 599094630101616723127828617528259066180777708924223489556022052251763371061463310607456751828151824892191480698131151870354398515305123597240582268495386691810497008331699714416117314657637724844482734335850963483244749373536781924092834753843417525716680982593524100697333383520325509494793241065684643293090183469470218851152656378113385930902827261004121572505506706989389102251545957716375398859296891778549473557914131216757229513516632412751338616454025127609023300357764878657782616326615425433203383507890024127864376801925429573092095665981120631561973801558779306479265549094206010519390589015977998284822584420266802129638396970186095475410056800162750492011063406937786691279720080381893388467116206838047519509686600150610440853883430501561836387459412528896137407812414964964524367066680728394492976921389777976630401093079783286267500208699762294568035143155448708389036092705383859925628044353856403890762587332780727157183316469596048156668650050136272761445247789534365534110447536968736195725582411758483472937406340116500016604076954402650813502223610580381349661081968175047720237376353727151134173540097113007978447428721443770571457105273842351344770154240096093469504164692177334101464647685056041681963128088807257410745509098763490647 969355473981961728470247342801919541813920706539826229308126277929013721574874555697826062220997340240459741102661509599377862517264716420613995690634925464598607423886480239758399111297753649454753704598330422407333955988197227640346357422391252492655590908953727586009213224025321293718409746097831502968418148215828772963331211056860788648581837564447836783034772013108637530059718688981482670070094295289361060849456966007807051166050822945091073151225068281725306795880762618072054161450026062184343940079131468998499745930944242227331167191277258856422838619905630774365086784094851988794741317287665270951040396738562530270536731650380334282330218508295651994888611771482732470022499458497717730805793270431355804602220918994164058767035131150522458221705841732171698866363657025247105519658981671783473309361998134327698258933154137430186367336863804753702268393094206683843735267654169773579101367993584215164387395577749756629268977452996010959075364173938413979868945128410370157970427073045225265587933172947496800195780344369959574804784146634707771516329896881519272062293046080068406704202395615810462534789839622705003116983037389066955434384996801445314227261821521490214299039647298195296112868870430484152301535802539901128711181606477569851 1568450104083578451598075960330178607994698415464049718864148330180777092636337866305282814049149165132651221800792661469732261032569840017854577959130312156409104432218179954174516425955391374299236438934181385890578705361734009564439192176234670018372271891547251686706546607545646803213202987163516146261508331685298991814483867434974174579484664825451958355540278720098026632311264646697858068929391187067910534407371097224564280679567455357842411767679093409334330096238527496729836777776641487617547323587021493126364122732869671800423262857258379487984812421464410080844352333189057999314131906303643269235862981158829332400175128620566429757740275308458402486899675178420519161302219538879611119272909477269403324111907519144774499620918561652084294609165254261067836274176071990211629886725662400177966286283387912304328660026233920716453867545563567048270303536249655392232771360359553633504729412347440619055149982910530483786452293922592059115744014224074686741314192917944735692080874610013961461313515584705980273133186684486459591408861101037358585018553507461900621723375014255116126941578749342961596708329936735712981564411758832837526891490270643796658997416061617583683803204339475529397577516555486525834264663891347158539456690705241060498 2537805578065540180068323303132098149808619122003875948172274608109790814211212422003108876270146505373110962903454171069110123549834556438468573649765237621007711856104660193932915537253145023753990143532511808297912661349931237204785549598625922511027862800500979272715759831570968096931612733261347649229926479901127764777815078491834963228066502389899795138575050733206664162370983335679340738999485482357271595256828063232371331845618278302933484918904161691059636892119290114801890939226667549801891263666152962124863868663813914027754430048535638344407651041370040855209439117283909988108873223591308540186903377897391862670711860270946764040070493816754054481788286949903251631324718997377328850078702747700759128714128438138938558387953692802606752830871095993239535140539729015458735406384644071961439595645386046632026918959388058146640234882427371801972571929343862076076506628013723407083830780341024834219537378488280240415721271375588070074819378398013100721183138046355105850051301683059186726901448757653477073328967028856419166213645247672066356534883404343419893785668060335184533645781144958772059243119776358417984681394796221904482325875267445241973224677883139073898102243986773724693690385425917009986566199693887059668167872311718630349 4106255682149118631666399263462276757803317537467925667036422938290567906847550288308391690319295670505762184704246832538842384582404396456323151608895549777416816288322840148107431963208536398053226582466693194188491366711665246769224741774860592529400134692048230959422306439116614900144815720424863795491434811586426756592298945926809137807551167215351753494115329453304690794682247982377198807928876669425182129664199160456935612525185733660775896686583255100393966988357817611531727717003309037419438587253174455251227991396683585828177692905794017832392463462834450936053791450472967987423005129894951809422766359056221195070886988891513193797810769125212456968687962128323770792626938536256939969351612224970162452826035957283713058008872254454691047440036350254307371414715801005670365293110306472139405881928773958936355578985621978863094102427990938850242875465593517468309277988373277040588560192688465453274687361398810724202173565298180129190563392622087787462497330964299841542132176293073148188214964342359457346462153713342878757622506348709424941553436911805320515509043074590300660587359894301733655951449713094130966245806555054742009217365538089038632222093944756657581905448326249254091267901981403535820830863585234218207624563016959690847 6644061260214658811734722566594374907611936659471801615208697546400358721058762710311500566589442175878873147607701003607952508132238952894791725258660787398424528144427500342040347500461681421807216725999205002486404028061596483974010291373486515040427997492549210232138066270687582997076428453686211444721361291487554521370114024418644101035617669605251548632690380186511354957053231318056539546928362151782453724921027223689306944370804011963709381605487416791453603880477107726333618656229976587221329850919327417376091860060497499855932122954329656176800114504204491791263230567756877975531878353486260349609669736953613057741598849162459957837881262941966511450476249078227022423951657533634268819430314972670921581540164395422651616396825947257297800270907446247546906555255530021129100699494950544100845477574160005568382497945010037009734337310418310652215447394937379544385784616387000447672390973029490287494224739887090964617894836673768199265382771020100888183680469010654947392183477976132334915116413100012934419791120742199297923836151596381491298088320316148740409294711134925485194233141039260505715194569489452548950927201351276646491543240805534280605446771827895731480007692313022978784958287407320545807397063279121277875792435328678321196 10750316942363777443401121830056651665415254196939727282245120484690926627906312998619892256908737846384635332311947836146794892714643349351114876867556337175841344432750340490147779463670217819860443308465898196674895394773261730743235033148347107569828132184597441191560372709804197897221244174111075240212796103073981277962412970345453238843168836820603302126805709639816045751735479300433738354857238821207635854585226384146242556895989745624485278292070671891847570868834925337865346373233285624640768438172501872627319851457181085684109815860123674009192577967038942727317022018229845962954883483381212159032436096009834252812485838053973151635692032067178968419164211206550793216578596069891208788781927197641084034366200352706364674405698201711988847710943796501854277969971331026799465992605257016240251359502933964504738076930632015872828439738409249502458322860530897012695062604760277488260951165717955740768912101285901688820068401971948328455946163642188675646177799974954788934315654269205483103331377442372391766253274455542176681458657945090916239641757227954060924803754209515785854820500933562239371146019202546679917173007906331388500760606343623319237668865772652389061913140639272232876226189388724081628227926864355496083416998345638012043 17394378202578436255135844396651026573027190856411528897453818031091285348965075708931392823498180022263508479919648839754747400846882302245906602126217124574265872577177840832188126964131899241667660034465103199161299422834858214717245324521833622610256129677146651423698438980491780894297672627797286684934157394561535799332526994764097339878786506425854850759496089826327400708788710618490277901785600972990089579506253607835549501266793757588194659897558088683301174749312033064198965029463262211862098289091829290003411711517678585540041938814453330185992692471243434518580252585986723938486761836867472508642105832963447310554084687216433109473573295009145479869640460284777815640530253603525477608212242170312005615906364748129016290802524148969286647981851242749401184525226861047928566692100207560341096837077093970073120574875642052882562777048827560154673770255468276557080847221147277935933342138747446028263136841172992653437963238645716527721328934662289563829858268985609736326499132245337818018447790542385326186044395197741474605294809541472407537730077544102801334098465344441271049053641972822745086340588691999228868100209257608034992303847149157599843115637600548120541920832952295211661184476796044627435624990143476773959209433674316333239 28144695144942213698536966226707678238442445053351256179698938515782211976871388707551285080406917868648143812231596675901542293561525651597021478993773461750107217009928181322335906427802117061528103342931001395836194817608119945460480357670180730180084261861744092615258811690295978791518916801908361925146953497635517077294939965109550578721955343246458152886301799466143446460524189918924016256642839794197725434091479991981792058162783503212679938189628760575148745618146958402064311402696547836502866727264331162630731562974859671224151754674577004195185270438282377245897274604216569901441645320248684667674541928973281563366570525270406261109265327076324448288804671491328608857108849673416686396994169367953089650272565100835380965208222350681275495692795039251255462495198192074728032684705464576581348196580027934577858651806274068755391216787236809657132093115999173569775909825907555424194293304465401769032048942458894342258031640617664856177275098304478239476036068960564525260814786514543301121779167984757717952297669653283651286753467486563323777371834772056862258902219553957056903874142906384984457486607894545908785273217163939423493064453492780919080784503373200509603833973591567444537410666184768709063852917007832270042626432019954345282 45539073347520649953672810623358704811469635909762785077152756546873497325836464416482677903905097890911652292151245515656289694408407953842928081119990586324373089587106022154524033391934016303195763377396104594997494240442978160177725682192014352790340391538890744038957250670787759685816589429705648610081110892197052876627466959873647918600741849672313003645797889292470847169312900537414294158428440767187815013597733599817341559429577260800874598087186849258449920367458991466263276432159810048364965016356160452634143274492538256764193693489030334381177962909525811764477527190203293839928407157116157176316647761936728873920655212486839370582838622085469928158445131776106424497639103276942164005206411538265095266178929848964397256010746499650562143674646282000656647020425053122656599376805672136922445033657121904650979226681916121637953993836064369811805863371467450126856757047054833360127635443212847797295185783631886995695994879263381383898604032966767803305894337946174261587313918759881119140226958527143044138342064851025125892048277028035731315101912316159663593000684898398327952927784879207729543827196586545137653373426421547458485368300641938518923900140973748630145754806543862656198595142980813336499477907151309044001835865694270678521 73683768492462863652209776850066383049912080963114041256851695062655709302707853124033962984312015759559796104382842191557831987969933605439949560113764048074480306597034203476859939819736133364723866720327105990833689058051098105638206039862195082970424653400634836654216062361083738477335506231614010535228064389832569953922406924983198497322697192918771156532099688758614293629837090456338310415071280561385540447689213591799133617592360764013554536276815609833598665985605949868327587834856357884867831743620491615264874837467397927988345448163607338576363233347808189010374801794419863741370052477364841843991189690910010437287225737757245631692103949161794376447249803267435033354747952950358850402200580906218184916451494949799778221218968850331837639367441321251912109515623245197384632061511136713503793230237149839228837878488190190393345210623301179468937956487466623696632666872962388784321928747678249566327234726090781337954026519881046240075879131271246042781930406906738786848128705274424420262006126511900762090639734504308777178801744514599055092473747088216525851902904452355384856801927785592714001313804481091046438646643585486881978432754134719438004684644346949139749588780135430100736005809165582045563330824159141314044462297714225023803 119222841839983513605882587473425087861381716872876826334004451609529206628544317540516640888217113650471448396534087707214121682378341559282877641233754634398853396184140225631383973211670149667919630097723210585831183298494076265815931722054209435760765044939525580693173313031871498163152095661319659145309175282029622830549873884856846415923439042591084160177897578051085140799149990993752604573499721328573355461286947191616475177021938024814429134364002459092048586353064941334590864267016167933232796759976652067899018111959936184752539141652637672957541196257334000774852328984623157581298459634480999020307837452846739311207880950244085002274942571247264304605694935043541457852387056227301014407406992444483280182630424798764175477229715349982399783042087603252568756536048298320041231438316808850426238263894271743879817105170106312031299204459365549280743819858934073823489423920017222144449564190891097363622420509722668333650021399144427623974483164238013846087824744852913048435442624034305539402233085039043806228981799355333903070850021542634786407575659404376189444903589350753712809729712664800443545141001067636184092020070007034340463801054776657956928584785320697769895343586679292756934600952146395382062808731310450358046298163408495702324 192906610332446377258092364323491470911293797835990867590856146672184915931252170664550603872529129410031244500916929898771953670348275164722827201347518682473333702781174429108243913031406283032643496818050316576664872356545174371454137761916404518731189698340160417347389375392955236640487601892933669680537239671862192784472280809840044913246136235509855316709997266809699434428987081450090914988571001889958895908976160783415608794614298788827983670640818068925647252338670891202918452101872525818100628503597143683163892949427334112740884589816245011533904429605142189785227130779043021322668512111845840864299027143756749748495106688001330633967046520409058681052944738310976491207135009177659864809607573350701465099081919748563953698448684200314237422409528924504480866051671543517425863499827945563930031494131421583108654983658296502424644415082666728749681776346400697520122090792979610928771492938569346929949655235813449671604047919025473864050362295509259888869755151759651835283571329308729959664239211550944568319621533859642680249651766057233841500049406492592715296806493803109097666531640450393157546454805548727230530666713592521222442233808911377394933269429667646909644932366814722857670606761311977427626139555469591672090760461122720726127 312129452172429890863974951796916558772675514708867693924860598281714122559796488205067244760746243060502692897451017605986075352726616724005704842581273316872187098965314654739627886243076432700563126915773527162496055655039250637270069483970613954491954743279685998040562688424826734803639697554253328825846414953891815615022154694696891329169575278100939476887894844860784575228137072443843519562070723218532251370263107975032083971636236813642412805004820528017695838691735832537509316368888693751333425263573795751062911061387270297493423731468882684491445625862476190560079459763666178903966971746326839884606864596603489059702987638245415636241989091656322985658639673354517949059522065404960879217014565795184745281712344547328129175678399550296637205451616527757049622587719841837467094938144754414356269758025693326988472088828402814455943619542032278030425596205334771343611514712996833073221057129460444293572075745536118005254069318169901488024845459747273734957579896612564883719013953343035499066472296589988374548603333214976583320501787599868627907625065896968904741710083153862810476261353115193601091595806616363414622686783599555562906034863688035351861854214988344679540275953494015614605207713458372809688948286780042030137058624531216428451 505036062504876268122067316120408029683969312544858561515716744953899038491048658869617848633275372470533937398367947504758029023074891888728532043928791999345520801746489083847871799274482715733206623733823843739160928011584425008724207245887018473223144441619846415387952063817781971444127299447186998506383654625754008399494435504536936242415711513610794793597892111670484009657124153893934434550641725108491147279239268758447692766250535602470396475645638596943343091030406723740427768470761219569434053767170939434226804010814604410234308321285127696025350055467618380345306590542709200226635483858172680748905891740360238808198094326246746270209035612065381666711584411665494440266657074582620744026622139145886210380794264295892082874127083750610874627861145452261530488639391385354892958437972699978286301252157114910097127072486699316880588034624699006780107372551735468863733605505976444001992550068029791223521730981349567676858117237195375352075207755256533623827335048372216719002585282651765458730711508140932942868224867074619263570153553657102469407674472389561620038516576956971908142792993565586758638050612165090645153353497192076785348268672599412746795123644655991589185208320308738472275814474770350237315087842249633702227819085653937154578 817165514677306158986042267917324588456644827253726255440577343235613161050845147074685093394021615531036630295818965110744104375801508612734236886510065316217707900711803738587499685517559148433769750649597370901656983666623675645994276729857632427715099184899532413428514752242608706247766997001440327332230069579645824014516590199233827571585286791711734270485786956531268584885261226337777954112712448327023398649502376733479776737886772416112809280650459124961038929722142556277937084839649913320767479030744735185289715072201874707727732052754010380516795681330094570905386050306375379130602455604499520633512756336963727867901081964492161906451024703721704652370224085020012389326179139987581623243636704941070955662506608843220212049805483300907511833312761980018580111227111227192360053376117454392642571010182808237085599161315102131336531654166731284810532968757070240207345120218973277075213607197490235517093806726885685682112186555365276840100053215003807358784914944984781602721599235994800957797183804730921317416828200289595846890655341256971097315299538286530524780226660110834718619054346680780359729646418781454059776040280791632348254303536287448098656977859644336268725484273802754086881022188228723047004036129029675732364877710185153583029 1322201577182182427108109584037732618140614139798584816956294088189512199541893805944302942027296988001570567694186912615502133398876400501462768930438857315563228702458292822435371484792041864166976374383421214640817911678208100654718483975744650900938243626519378828816466816060390677691894296448627325838613724205399832414011025703770763814000998305322529064083679068201752594542385380231712388663354173435514545928741645491927469504137308018583205756296097721904382020752549280018364853310411132890201532797915674619516519083016479117962040374039138076542145736797712951250692640849084579357237939462672201382418648077323966676099176290738908176660060315787086319081808496685506829592836214570202367270258844086957166043300873139112294923932567051518386461173907432280110599866502612547253011814090154370928872262339923147182726233801801448217119688791430291590640341308805709071078725724949721077206157265520026740615537708235253358970303792560652192175260970260340982612249993356998321724184518646566416527895312871854260285053067364215110460808894914073566722974010676092144818743237067806626761847340246367118367697030946544704929393777983709133602572208886860845452101504300327857910692594111492559156836662999073284319123971279309434592696795839090737607 2139367091859488586094151851955057206597258967052311072396871431425125360592738953018988035421318603532607197990005877726246237774677909114197005816948922631780936603170096561022871170309601012600746125033018585542474895344831776300712760705602283328653342811418911242244981568302999383939661293450067653170843793785045656428527615903004591385586285097034263334569466024733021179427646606569490342776066621762537944578244022225407246242024080434696015036946556846865420950474691836296301938150061046210969011828660409804806234155218353825689772426793148457058941418127807522156078691155459958487840395067171722015931404414287694544000258255231070083111085019508790971452032581705519218919015354557783990513895549028028121705807481982332506973738050352425898294486669412298690711093613839739613065190207608763571443272522731384268325395116903579553651342958161576401173310065875949278423845943922998152419764463010262257709344435120939041082490347925929032275314185264148341397164938341779924445783754641367374325079117602775577701881267653810957351464236171044664038273548962622669598969897178641345380901686927147478097343449727998764705434058775341481856875745174308944109079363944664126636176867914246646037858851227796331323160100308985166957574506024244320636 3461568669041671013202261435992789824737873106850895889353165519614637560134632758963290977448615591534177765684192790341748371173554309615659774747387779947344165305628389383458242655101642876767722499416439800183292807023039876955431244681346934229591586437938290071061448384363390061631555589898694979009457517990445488842538641606775355199587283402356792398653145092934773773970031986801202731439420795198052490506985667717334715746161388453279220793242654568769802971227241116314666791460472179101170544626576084424322753238234832943651812800832286533601087154925520473406771332004544537845078334529843923398350052491611661220099434545969978259771145335295877290533841078391026048511851569127986357784154393114985287749108355121444801897670617403944284755660576844578801310960116452286866077004297763134500315534862654531451051628918705027770771031749591867991813651374681658349502571668872719229625921728530288998324882143356192400052794140486581224450575155524489324009414931698778246169968273287933790852974430474629837986934335018026067812273131085118230761247559638714814417713134246447972142749027173514596465040480674543469634827836759050615459447954061169789561180868244991984546869462025739205194695514226869615642284071588294601550271301863335058243 5600935760901159599296413287947847031335132073903206961750036951039762920727371711982279012869934195066784963674198668067994608948232218729856780564336702579125101908798485944481113825411243889368468624449458385725767702367871653256144005386949217558244929249357201313306429952666389445571216883348762632180301311775491145271066257509779946585173568499391055733222611117667794953397678593370693074215487416960590435085229689942741961988185468887975235830189211415635223921701932952610968729610533225312139556455236494229128987393453186769341585227625434990660028573053327995562850023160004496332918729597015645414281456905899355764099692801201048342882230354804668261985873660096545267430866923685770348298049942143013409454915837103777308871408667756370183050147246256877492022053730292026479142194505371898071758807385385915719377024035608607324422374707753444392986961440557607627926417612795717382045686191540551256034226578477131441135284488412510256725889340788637665406579870040558170615752027929301165178053548077405415688815602671837025163737367256162894799521108601337484016683031425089317523650714100662074562383930402542234340261895534392097316323699235478733670260232189656111183046329939985851232554365454665946965444171897279768507845807887579378879 9062504429942830612498674723940636856073005180754102851103202470654400480862004470945569990318549786600962729358391458409742980121786528345516555311724482526469267214426875327939356480512886766136191123865898185909060509390911530211575250068296151787836515687295491384367878337029779507202772473247457611189758829765936634113604899116555301784760851901747848131875756210602568727367710580171895805654908212158642925592215357660076677734346857341254456623431865984405026892929174068925635521071005404413310101081812578653451740631688019712993398028457721524261115727978848468969621355164549034177997064126859568812631509397511016984199127347171026602653375690100545552519714738487571315942718492813756706082204335257998697204024192225222110769079285160314467805807823101456293333013846744313345219198803135032572074342248040447170428652954313635095193406457345312384800612815239265977428989281668436611671607920070840254359108721833323841188078628899091481176464496313126989415994801739336416785720301217234956031027978552035253675749937689863092976010498341281125560768668240052298434396165671537289666399741274176671027424411077085703975089732293442712775771653296648523231441100434648095729915791965725056427249879681535562607728243485574370058117109750914437122 14663440190843990211795088011888483887408137254657309812853239421694163401589376182927849003188483981667747693032590126477737589070018747075373335876061185105594369123225361272420470305924130655504659748315356571634828211758783183467719255455245369346081444936652692697674308289696168952773989356596220243370060141541427779384671156626335248369934420401138903865098367328270363680765389173542588879870395629119233360677445047602818639722532326229229692453621077400040250814631107021536604250681538629725449657537049072882580728025141206482334983256083156514921144301032176464532471378324553530510915793723875214226912966303410372748298820148372074945535606044905213814505588398584116583373585416499527054380254277401012106658940029328999419640487952916684650855955069358333785355067577036339824361393308506930643833149633426362889805676989922242419615781165098756777787574255796873605355406894464153993717294111611391510393335300310455282323363117311601737902353837101764654822574671779894587401472329146536121209081526629440669364565540361700118139747865597444020360289776841389782451079197096626607190050455374838745589808341479627938315351627827834810092095352532127256901701332624304206912962121905710907659804245136201509573172415382854138565962917638493816001 23725944620786820824293762735829120743481142435411412663956441892348563882451380653873418993507033768268710422390981584887480569191805275420889891187785667632063636337652236600359826786437017421640850872181254757543888721149694713679294505523541521133917960623948184082042186626725948459976761829843677854559818971307364413498276055742890550154695272302886751996974123538872932408133099753714484685525303841277876286269660405262895317456879183570484149077052943384445277707560281090462239771752544034138759758618861651536032468656829226195328381284540878039182260029011024933502092733489102564688912857850734783039544475700921389732497947495543101548188981735005759367025303137071687899316303909313283760462458612659010803862964221554221530409567238076999118661762892459790078688081423780653169580592111641963215907491881466810060234329944235877514809187622444069162588187071036139582784396176132590605388902031682231764752444022143779123511441746210693219078818333414891644238569473519231004187192630363771077240109505181475923040315478051563211115758363938725145921058445081442080885475362768163896856450196649015416617232752556713642290441360121277522867867005828775780133142433058952302642877913871435964087054124817737072180900658868428508624080027389408253123 38389384811630811036088850747717604630889279690068722476809681314042727284040756836801267996695517749936458115423571711365218158261824022496263227063846852737658005460877597872780297092361148077145510620496611329178716932908477897147013760978786890479999405560600876779716494916422117412750751186439898097929879112848792192882947212369225798524629692704025655862072490867143296088898488927257073565395699470397109646947105452865713957179411509799713841530674020784485528522191388111998844022434082663864209416155910724418613196681970432677663364540624034554103404330043201398034564111813656095199828651574609997266457442004331762480796767643915176493724587779910973181530891535655804482689889325812810814842712890060022910521904250883220950050055190993683769517717961818123864043149000816992993941985420148893859740641514893172950040006934158119934424968787542825940375761326833013188139803070596744599106196143293623275145779322454234405834804863522294956981172170516656299061144145299125591588664959510307198449191031810916592404881018413263329255506229536169166281348221922831863336554559864790504046500652023854162207041094036341580605792987949112332959962358360903037034843765683256509555840035777146871746858369953938581754073074251282647190042945027902069124 62115329432417631860382613483546725374370422125480135140766123206391291166492137490674686990202551518205168537814553296252698727453629297917153118251632520369721641798529834473140123878798165498786361492677866086722605654058172610826308266502328411613917366184549060861758681543148065872727513016283575952489698084156156606381223268112116348679324965006912407859046614406016228497031588680971558250921003311674985933216765858128609274636290693370197990607726964168930806229751669202461083794186626698002969174774772375954645665338799658872991745825164912593285664359054226331536656845302758659888741509425344780306001917705253152213294715139458278041913569514916732548556194672727492382006193235126094575305171502719033714384868472437442480459622429070682888179480854277913942731230424597646163522577531790857075648133396359983010274336878393997449234156409986895102963948397869152770924199246729335204495098174975855039898223344598013529346246609732988176059990503931547943299713618818356595775857589874078275689300536992392515445196496464826540371264593474894312202406667004273944222029922632954400902950848672869578824273846593055222896234348070389855827829364189678817167986198742208812198717949648582835833912494771675653934973733119711155814122972417310322247 100504714244048442896471464231264330005259701815548857617575804520434018450532894327475954986898069268141626653238125007617916885715453320413416345315479373107379647259407432345920420971159313575931872113174477415901322586966650507973322027481115302093916771745149937641475176459570183285478264202723474050419577197004948799264170480481342147203954657710938063721119105273159524585930077608228631816316702782072095580163871310994323231815702203169911832138400984953416334751943057314459927816620709361867178590930683100373258862020770091550655110365788947147389068689097427729571220957116414755088570160999954777572459359709584914694091482783373454535638157294827705730087086208383296864696082560938905390147884392779056624906772723320663430509677620064366657697198816096037806774379425414639157464562951939750935388774911253155960314343812552117383659125197529721043339709724702165959064002317326079803601294318269478315044002667052247935181051473255283133041162674448204242360857764117482187364522549384385474138491568803309107850077514878089869626770823011063478483754888927105807558584482497744904949451500696723741031314940629396803502027336019502188787791722550581854202829964425465321754557985425729707580770864725614235689046807370993803004165917445212391371 162620043676466074756854077714811055379630123941028992758341927726825309617025031818150641977100620786346795191052678303870615613169082618330569463567111893477101289057937266819060544849957479074718233605852343502623928241024823118799630293983443713707834137929698998503233858002718249158205777219007050002909275281161105405645393748593458495883279622717850471580165719679175753082961666289200190067237706093747081513380637169122932506451992896540109822746127949122347140981694726516921011610807336059870147765705455476327904527359569750423646856190953859740674733048151654061107877802419173414977311670425299557878461277414838066907386197922831732577551726809744438278643280881110789246702275796064999965453055895498090339291641195758105910969300049135049545876679670373951749505609850012285320987140483730608011036908307613138970588680690946114832893281607516616146303658122571318729988201564055415008096392493245333354942226011650261464527298082988271309101153178379752185660571382935838783140380139258463749827792105795701623295274011342916409998035416485957790686161555931379751780614405130699305852402349369593319855588787222452026398261684089892044615621086740260671370816163167674133953275935074312543414683359497289889624020540490704958818288889862522713618 263124757920514517653325541946075385384889825756577850375917732247259328067557926145626596963998690054488421844290803311488532498884535938743985808882591266584480936317344699164980965821116792650650105719026820918525250827991473626772952321464559015801750909674848936144709034462288432443684041421730524053328852478166054204909564229074800643087234280428788535301284824952335277668891743897428821883554408875819177093544508480117255738267695099710021654884528934075763475733637783831380939427428045421737326356636138576701163389380339841974301966556742806888063801737249081790679098759535588170065881831425254335450920637124422981601477680706205187113189884104572144008730367089494086111398358357003905355600940288277146964198413919078769341478977669199416203573878486469989556279989275426924478451703435670358946425683218866294930903024503498232216552406805046337189643367847273484689052203881381494811697686811514811669986228678702509399708349556243554442142315852827956428021429147053320970504902688642849223966283674599010731145351526221006279624806239497021269169916444858485559339198887628444210801853850066317060886903727851848829900289020109394233403412809290842525573646127593139455707833920500042250995454224222904125313067347861698761822454807307735104989 425744801596980592410179619660886440764519949697606843134259659974084637684582957963777238941099310840835217035343481615359148112053618557074555272449703160061582225375281965984041510671074271725368339324879164421149179069016296745572582615448002729509585047604547934647942892465006681601889818640737574056238127759327159610554957977668259138970513903146639006881450544631511030751853410186629011950792114969566258606925145649240188244719687996250131477630656883198110616715332510348301951038235381481607474122341594053029067916739909592397948822747696666628738534785400735851786976561954761585043193501850553893329381914539261048508863878629036919690741610914316582287373647970604875358100634153068905321053996183775237303490055114836875252448277718334465749450558156843941305785599125439209799438843919400966957462591526479433901491705194444347049445688412562953335947025969844803419040405445436909819794079304760145024928454690352770864235647639231825751243469031207708613682000529989159753645282827901312973794075780394712354440625537563922689622841655982979059856078000789865311119813292759143516654256199435910380742492515074300856298550704199286278019033896031103196944462290760813589661109855574354794410137583720194014937087888352403720640743697170257818607 688869559517495110063505161606961826149409775454184693510177392221343965752140884109403835905098000895323638879634284926847680610938154495818541081332294426646063161692626665149022476492191064376018445043905985339674429897007770372345534936912561745311335957279396870792651926927295114045573860062468098109566980237493213815464522206743059782057748183575427542182735369583846308420745154084057833834346523845385435700469654129357443982987383095960153132515185817273874092448970294179682890465663426903344800478977732629730231306120249434372250789304439473516802336522649817642466075321490349755109075333275808228780302551663684030110341559335242106803931495018888726296104015060098961469498992510072810676654936472052384267688469033915644593927255387533881953024436643313930862065588400866134277890547355071325903888274745345728832394729697942579265998095217609290525590393817118288108092609326818404631491766116274956694914683369055280263943997195475380193385784884035665041703429677042480724150185516544162197760359454993723085585977063784928969247647895480000329025994445648350870459012180387587727456110049502227441629396242926149686198839724308680511422446705321945722518108418353953045368943776074397045405591807943098140250155236214102482463198504477992923596 1114614361114475702473684781267848266913929725151791536644437052195428603436723842073181074846197311736158855914977766542206828722991773052893096353781997586707645387067908631133063987163265336101386784368785149760823608966024067117918117552360564474820921004883944805440594819392301795647463678703205672165805107996820373426019480184411318921028262086722066549064185914215357339172598564270686845785138638814951694307394799778597632227707071092210284610145842700471984709164302804527984841503898808384952274601319326682759299222860159026770199612052136140145540871308050553494253051883445111340152268835126362122109684466202945078619205437964279026494673105933205308583477663030703836827599626663141715997708932655827621571178524148752519846375533105868347702474994800157872167851187526305344077329391274472292861350866271825162733886434892386926315443783630172243861537419786963091527133014772255314451285845421035101719843138059408051128179644834707205944629253915243373655385430207031640477795468344445475171554435235388435440026602601348851658870489551462979388882072446438216181578825473146731244110366248938137822371888758000450542497390428507966789441480601353048919462570709114766635030053631648751839815729391663292155187243124566506203103942201648250742203 1803483920631970812537189942874810093063339500605976230154614444416772569188864726182584910751295312631482494794612051469054509333929927548711637435114292013353708548760535296282086463655456400477405229412691135100498038863031837490263652489273126220132256962163341676233246746319596909693037538765673770275372088234313587241484002391154378703086010270297494091246921283799203647593343718354744679619485162660337130007864453907955076210694454188170437742661028517745858801613273098707667731969562235288297075080297059312489530528980408461142450401356575613662343207830700371136719127204935461095261344168402170350889987017866629108729546997299521133298604600952094034879581678090802798297098619173214526674363869127880005838866993182668164440302788493402229655499431443471803029916775927171478355219938629543618765239141017170891566281164590329505581441878847781534387127813604081379635225624099073719082777611537310058414757821428463331392123642030182586138015038799279038697088859884074121201945653860989637369314794690382158525612579665133780628118137446942979717908066892086567052037837653534318971566476298440365264001285000926600228696230152816647300863927306674994641980679127468719680398997407723148885221321199606390295437398360780608685567140706126243665799 2918098281746446515010874724142658359977269225757767766799051496612201172625588568255765985597492624367641350709589818011261338056921700601604733788896289600061353935828443927415150450818721736578792013781476284861321647829055904608181770041633690694953177967047286481673841565711898705340501217468879442441177196231133960667503482575565697624114272357019560640311107198014560986765942282625431525404623801475288824315259253686552708438401525280380722352806871218217843510777575903235652573473461043673249349681616385995248829751840567487912650013408711753807884079138750924630972179088380572435413613003528532472999671484069574187348752435263800159793277706885299343463059341121506635124698245836356242672072801783707627410045517331420684286678321599270577357974426243629675197767963453476822432549329904015911626590007288996054300167599482716431896885662477953778248665233391044471162358638871329033534063456958345160134600959487871382520303286864889792082644292714522412352474290091105761679741122205435112540869229925770593965639182266482632286988626998405959106790139338524783233616663126681050215676842547378503086373173758927050771193620581324614090305407908028043561443249836583486315429051039371900725037050591269682450624641485347114888671082907774494408002 4721582202378417327548064667017468453040608726363743996953665941028973741814453294438350896348787936999123845504201869480315847390851628150316371224010581613415062484588979223697236914474178137056197243194167419961819686692087742098445422530906816915085434929210628157907088312031495615033538756234553212716549284465447547908987484966720076327200282627317054731558028481813764634359286000980176205024108964135625954323123707594507784649095979468551160095467899735963702312390849001943320305443023278961546424761913445307738360280820975949055100414765287367470227286969451295767691306293316033530674957171930702823889658501936203296078299432563321293091882307837393378342641019212309433421796865009570769346436670911587633248912510514088848726981110092672807013473857687101478227684739380648300787769268533559530391829148306166945866448764073045937478327541325735312635793046995125850797584262970402752616841068495655218549358780916334713912426928895072378220659331513801451049563149975179882881686776066424749910184024616152752491251761931616412915106764445348938824698206230611350285654500780215369187243318845818868350374458759853650999889850734141261391169335214703038203423928964052205995828048447095049610258371790876072746062039846127723574238223613900738073801 7639680484124863842558939391160126813017877952121511763752717437641174914440041862694116881946280561366765196213791687491577185447773328751921105012906871213476416420417423151112387365292899873634989256975643704823141334521143646706627192572540507610038612896257914639580929877743394320374039973703432655157726480696581508576490967542285773951314554984336615371869135679828325621125228283605607730428732765610914778638382961281060493087497504748931882448274770954181545823168424905178972878916484322634795774443529831302987190032661543436967750428173999121278111366108202220398663485381696605966088570175459235296889329986005777483427051867827121452885160014722692721805700360333816068546495110845927012018509472695295260658958027845509533013659431691943384371448283930731153425452702834125123220318598437575442018419155595163000166616363555762369375213203803689090884458280386170321959942901841731786150904525454000378683959740404206096432730215759962170303303624228323863402037440066285644561427898271859862451053254541923346456890944198099045202095391443754897931488345569136133519271163906896419402920161393197371436747632518780701771083471315465875481474743122731081764867178800635692311257099486466950335295422382145755196686681331474838462909306521675232481803 12361262686503281170107004058177595266058486678485255760706383378670148656254495157132467778295068498365889041717993556971893032838624956902237476236917452826891478905006402374809624279767078010691186500169811124784961021213231388805072615103447324525124047825468542797488018189774889935407578729937985867874275765162029056485478452509005850278514837611653670103427164161642090255484514284585783935452841729746540732961506668875568277736593484217483042543742670690145248135559273907122293184359507601596342199205443276610725550313482519386022850842939286488748338653077653516166354791675012639496763527347389938120778988487941980779505351300390442745977042322560086100148341379546125501968291975855497781364946143606882893907870538359598381740640541784616191384922141617832631653137442214773424008087866971134972410248303901329946033065127628808306853540745129424403520251327381296172757527164812134538767745593949655597233318521320540810345157144655034548523962955742125314451600590041465527443114674338284612361237279158076098948142706129715458117202155889103836756186551799747483804925664687111788590163480239016239787122091278634352770973322049607136872644078337434119968291107764687898307085147933561999945553794173021827942748721177602562037147530135575970555604 20000943170628145012665943449337722079076364630606767524459100816311323570694537019826584660241349059732654237931785244463470218286398285654158581249824324040367895325423825525922011645059977884326175757145454829608102355734375035511699807675987832135162660721726457437068948067518284255781618703641418523032002245858610565061969420051291624229829392595990285475296299841470415876609742568191391665881574495357455511599889630156628770824090988966414924992017441644326793958727698812301266063275991924231137973648973107913712740346144062822990601271113285610026450019185855736565018277056709245462852097522849173417668318473947758262932403168217564198862202337282778821954041739879941570514787086701424793383455616302178154566828566205107914754299973476559575756370425548563785078590145048898547228406465408710414428667459496492946199681491184570676228753948933113494404709607767466494717470066653866324918650119403655975917278261724746906777887360414996718827266579970449177853638030107751172004542572610144474812290533699999445405033650327814503319297547332858734687674897368883617324196828594008207993083641632213611223869723797415054542056793365073012354118821460165201733158286565323590618342247420028950280849216555167583139435402509077400500056836657251203037407 32362205857131426182772947507515317345134851309092023285165484194981472226949032176959052438536417558098543279649778801435363251125023242556396057486741776867259374230430227900731635924827055895017362257315265954393063376947606424316772422779435156660286708547195000234556966257293174191189197433579404390906278011020639621547447872560297474508344230207643955578723464003112506132094256852777175601334416225103996244561396299032197048560684473183897967535760112334472042094286972719423559247635499525827480172854416384524438290659626582209013452114052572098774788672263509252731373068731721884959615624870239111538447306961889739042437754468608006944839244659842864922102383119426067072483079062556922574748401759909061048474699104564706296494940515261175767141292567166396416731727587263671971236494332379845386838915763397822892232746618813378983082294694062537897924960935148762667474997231466000863686395713353311573150596783045287717123044505070031267351229535712574492305238620149216699447657246948429087173527812858075544353176356457529961436499703221962571443861449168631101129122493281119996583247121871229851010991815076049407313030115414680149226762899797599321701449394330011488925427395353590950226403010728189411082184123686679962537204366792827173593011 52363149027759571195438890956853039424211215939698790809624585011292795797643569196785637098777766617831197517581564045898833469411421528210554638736566100907627269555854053426653647569887033779343538014460720784001165732681981459828472230455422988795449369268921457671625914324811458446970816137220822913938280256879250186609417292611589098738173622803634241054019763844582922008703999420968567267215990720461451756161285929188825819384775462150312892527777553978798836053014671531724825310911491450058618146503389492438151031005770645032004053385165857708801238691449364989296391345788431130422467722393088284956115625435837497305370157636825571143701446997125643744056424859306008642997866149258347368131857376211239203041527670769814211249240488737735342897662992714960201810317732312570518464900797788555801267583222894315838432428109997949659311048642995651392329670542916229162192467298119867188605045832756967549067875044770034623900931865485027986178496115683023670158876650256967871452199819558573561985818346558074989758210006785344464755797250554821306131536346537514718453319321875128204576330763503443462234861538873464461855086908779753161580881721257764523434607680895335079543769642773619900507252227283356994221619526195757363037261203450078376630418 84725354884890997378211838464368356769346067248790814094790069206274268024592601373744689537314184175929740797231342847334196720536444770766950696223307877774886643786284281327385283494714089674360900271775986738394229109629587884145244653234858145455736077816116457906182880582104632638160013570800227304844558267899889808156865165171886573246517853011278196632743227847695428140798256273745742868550406945565448000722682228221022867945459935334210860063537666313270878147301644251148384558546990975886098319357805876962589321665397227241017505499218429807576027363712874242027764414520153015382083347263327396494562932397727236347807912105433578088540691656968508666158807978732075715480945211815269942880259136120300251516226775334520507744181003998911110038955559881356618542045319576242489701395130168401188106498986292138730665174728811328642393343337058189290254631478064991829667464529585868052291441546110279122218471827815322341023976370555059253529725651395598162464115270406184570899857066507002649159346159416150534111386363242874426192296953776783877575397795706145819582441815156248201159577885374673313245853353949513869168117024194433310807644621055363845136057075225346568469197038127210850733655238011546405303803649882437325574465570242905550223429 137088503912650568573650729421221396193557283188489604904414654217567063822236170570530326636091950793760938314812906893233030189947866298977505334959873978682513913342138334754038931064601123453704438286236707522395394842311569343973716883690281134251185447085037915577808794906916091085130829708021050218782838524779139994766282457783475671984691475814912437686762991692278350149502255694714310135766397666026899756883968157409848687330235397484523752591315220292069714200316315782873209869458482425944716465861195369400740352671167872273021558884384287516377266055162239231324155760308584145804551069656415681450678557833564733653178069742259149232242138654094152410215232838038084358478811361073617311012116512331539454557754446104334718993421492736646452936618552596316820352363051888813008166295927956956989374082209186454569097602838809278301704391980053840682584302020981220991859931827705735240896487378867246671286346872585356964924908236040087239708221767078621832622991920663152442352056886065576211145164505974225523869596370028218890948094204331605183706934142243660538035761137031376405735908648878116775480714892822978331023203932974186472388526342313128368570664756120681648012966680900830751240907465294903399525423176078194688611726773692983926853847 221813858797541565951862567885589752962903350437280418999204723423841331846828771944275016173406134969690679112044249740567226910484311069744456031183181856457400557128422616081424214559315213128065338558012694260789623951941157228118961536925139279706921524901154373483991675489020723723290843278821277523627396792679029802923147622955362245231209328826190634319506219539973778290300511968460053004316804611592347757606650385630871555275695332818734612654852886605340592347617960034021594428005473401830814785219001246363329674336565099514039064383602717323953293418875113473351920174828737161186634416919743077945241490231291970000985981847692727320782830311062661076374040816770160073959756572888887253892375648451839706073981221438855226737602496735557562975574112477673438894408371465055497867691058125358177480581195478593299762777567620606944097735317112029972838933499046212821527396357291603293187928924977525793504818700400679305948884606595146493237947418474219995087107191069337013251913952572578860304510665390376057980982733271093317140391158108389061282331937949806357618202952187624606895486534252790088726568246772492200191320957168619783196170963368492213706721831346028216482163719028041601974562703306449804829226825960632014186192343935889477077276 358902362710192134525513297306811149156460633625770023903619377641408395669064942514805342809498085763451617426857156633800257100432177368721961366143055835139914470470560950835463145623916336581769776844249401783185018794252726572092678420615420413958106971986192289061800470395936814808421672986842327742410235317458169797689430080738837917215900804641103072006269211232252128439802767663174363140083202277619247514490618543040720242605930730303258365246168106897410306547934275816894804297463955827775531251080196615764070027007732971787060623267987004840330559474037352704676075935137321306991185486576158759395920048064856703654164051589951876553024968965156813486589273654808244432438567933962504564904492160783379160631735667543189945731023989472204015912192665073990259246771423353868506033986986082315166854663404665047868860380406429885245802127297165870655423235520027433813387328184997338534084416303844772464791165572986036270873792842635233732946169185552841827710099111732489455603970838638155071449675171364601581850579103299312208088485362439994244989266080193466895653964089219001012631395183130906864207283139595470531214524890142806255584697305681620582277386587466709864495130399928872353215470168601353204354650002038826702797919117628873403931123 580716221507733700477375865192400902119363984063050442902824101065249727515893714459080358982904220733142296538901406374367484010916488438466417397326237691597315027598983566916887360183231549709835115402262096043974642746193883800211639957540559693665028496887346662545792145884957538531712516265663605266037632110137199600612577703694200162447110133467293706325775430772225906730103279631634416144400006889211595272097268928671591797881626063121992977901020993502750898895552235850916398725469429229606346036299197862127399701344298071301099687651589722164283852892912466178027996109966058468177819903495901837341161538296148673655150033437644603873807799276219474562963314471578404506398324506851391818796867809235218866705716888982045172468626486207761578887766777551663698141179794818924003901678044207673344335244600143641168623157974050492189899862614277900628262169019073646634914724542288941827272345228822298258295984273386715576822677449230380226184116604027061822797206302801826468855884791210733931754185836754977639831561836570405525228876520548383306271598018143273253272167041406625619526881717383696952933851386367962731405845847311426038780868269050112795984108418812738080977294118956913955190032871907803009183876827999458716984111461564762881008399 939618584217925835002889162499212051275824617688820466806443478706658123184958656973885701792402306496593913965758563008167741111348665807188378763469293526737229498069544517752350505807147886291604892246511497827159661540446610372304318378155980107623135468873538951607592616280894353340134189252505933008447867427595369398302007784433038079663010938108396778332044642004478035169906047294808779284483209166830842786587887471712312040487556793425251343147189100400161205443486511667811203022933385057381877287379394477891469728352031043088160310919576727004614412366949818882704072045103379775169005390072060596737081586361005377309314085027596480426832768241376288049552588126386648938836892440813896383701359970018598027337452556525235118199650475679965594799959442625653957387951218172792509935665030289988511189908004808689037483538380480377435701989911443771283685404539101080448302052727286280361356761532667070723087149846372751847696470291865613959130285789579903650507305414534315924459855629848889003203861008119579221682140939869717733317361882988377551260864098336740148926131130625626632158276900514603817141134525963433262620370737454232294365565574731733378261495006279447945472424518885786308405503040509156213538526830038285419782030579193636284939522 1520334805725659535480265027691612953395188601751870909709267579771907850700852371432966060775306527229736210504659969382535225122265154245654796160795531218334544525668528084669237865990379436001440007648773593871134304286640494172515958335696539801288163965760885614153384762165851891871846705518169538274485499537732568998914585488127238242110121071575690484657820072776703941900009326926443195428883216056042438058685156400383903838369182856547244321048210093902912104339038747518727601748402814286988223323678592340018869429696329114389259998571166449168898265259862285060732068155069438243346825293567962434078243124657154050964464118465241084300640567517595762612515902597965053445235216947665288202498227779253816894043169445507280290668276961887727173687726220177317655529131012991716513837343074497661855525152604952330206106696354530869625601852525721671911947573558174727083216777269575222188629106761489368981383134119759467424519147741095994185314402393606965473304511717336142393315740421059622934958046844874556861513702776440123258546238403536760857532462116480013402198298172032252251685158617898300770074985912331395994026216584765658333146433843781846174245603425092186026449718637842700263595535912416959222722403658037744136766142040758399165947921 2459953389943585370483154190190825004671013219440691376515711058478565973885811028406851762567708833726330124470418532390702966233613820052843174924264824745071774023738072602421588371797527322293044899895285091698293965827087104544820276713852519908911299434634424565760977378446746245211980894770675471282933366965327938397216593272560276321773132009684087262989864714781181977069915374221251974713366425222873280845273043872096215878856739649972495664195399194303073309782525259186538804771336199344370100611057986817910339158048360157477420309490743176173512677626812103943436140200172818018515830683640023030815324711018159428273778203492837564727473335758972050662068490724351702384072109388479184586199587749272414921380622002032515408867927437567692768487685662802971612917082231164509023773008104787650366715060609761019243590234735011247061303842437165443195632978097275807531518829996861502549985868294156439704470283966132219272215618032961608144444688183186869123811817131870458317775596050908511938161907852994136083195843716309840991863600286525138408793326214816753551124429302657878883843435518412904587216120438294829256646587322219890627511999418513579552507098431371633971922143156728486572001038952926115436260930488076029556548172619952035450887443 3980288195669244905963419217882437958066201821192562286224978638250473824586663399839817823343015360956066334975078501773238191355878974298497971085060355963406318549406600687090826237787906758294484907544058685569428270113727598717336235049549059710199463400395310179914362140612598137083827600288845009557418866503060507396131178760687514563883253081259777747647684787557885918969924701147695170142249641278915718903958200272480119717225922506519739985243609288205985414121564006705266406519739013631358323934736579157929208587744689271866680308061909625342410942886674389004168208355242256261862655977207985464893567835675313479238242321958078649028113903276567813274584393322316755829307326336144472788697815528526231815423791447539795699536204399455419942175411882980289268446213244156225537610351179285312222240213214713349449696931089542116686905694962887115107580551655450534614735607266436724738614975055645808685853418085891686696734765774057602329759090576793834597116328849206600711091336471968134873119954697868692944709546492749964250409838690061899266325788331296766953322727474690131135528594136311205357291106350626225250672803906985548960658433262295425726752701856463819998371861794571186835596574865343074658983334146113773693314314660710434616835364 6440241585612830276446573408073262962737215040633253662740689696729039798472474428246669585910724194682396459445497034163941157589492794351341146009325180708478092573144673289512414609585434080587529807439343777267722235940814703262156511763401579619110762835029734745675339519059344382295808495059520480840352233468388445793347772033247790885656385090943865010637549502339067896039840075368947144855616066501788999749231244144576335596082662156492235649439008482509058723904089265891805211291075212975728424545794565975839547745793049429344100617552652801515923620513486492947604348555415074280378486660848008495708892546693472907512020525450916213755587239035539863936652884046668458213379435724623657374897403277798646736804413449572311108404131837023112710663097545783260881363295475320734561383359284072962588955273824474368693287165824553363748209537400052558303213529752726342146254437263298227288600843349802248390323702052023905968950383807019210474203778759980703720928145981077059028866932522876646811281862550862829027905390209059805242273438976587037675119114546113520504447156777348010019372029654724109944507226788921054507319391229205439588170432680809005279259800287835453970294004951299673407597613818269190095244264634189803249862487280662470067722807 10420529781282075182409992625955700920803416861825815948965668334979513623059137828086487409253739555638462794420575535937179348945371768649839117094385536671884411122551273976603240847373340838882014714983402462837150506054542301979492746812950639329310226235425044925589701659671942519379636095348365490397771099971448953189478950793935305449539638172203642758285234289896953815009764776516642314997865707780704718653189444417056455313308584663011975634682617770715044138025653272597071617810814226607086748480531145133768756333537738701210780925614562426858334563400160881951772556910657330542241142638055993960602460382368786386750262847408994862783701142312107677211237277368985214042686762060768130163595218806324878552228204897112106807940336236478532652838509428763550149809508719476960098993710463358274811195487039187718142984096914095480435115232362939673410794081408176876760990044529734952027215818405448057076177120137915592665685149581076812803962869336774538318044474830283659739958268994844781684401817248731521972614936701809769492683277666648936941444902877410287457769884252038141154900623791035315301798333139547279757992195136190988548828865943104431006012502144299273968665866745870860243194188683612264754227598780303576943176801941372904684558171 16860771366894905458856566034028963883540631902459069611706358031708553421531612256333156995164463750320859253866072570101120506534864563001180263103710717380362503695695947266115655456958774919469544522422746240104872741995357005241649258576352218948420989070454779671265041178731286901675444590407885971238123333439837398982826722827183096335196023263147507768922783792236021711049604851885589459853481774282493718402420688561632790909391246819504211284121626253224102861929742538488876829101889439582815173026325711109608304079330788130554881543167215228374258183913647374899376905466072404822619629298904002456311352929062259294262283372859911076539288381347647541147890161415653672256066197785391787538492622084123525289032618346684417916344468073501645363501606974546811031172804194797694660377069747431237400150760863662086836271262738648844183324769762992231714007611160903218907244481793033179315816661755250305466500822189939498634635533388096023278166648096755242038972620811360718768825201517721428495683679799594351000520326910869574734956716643235974616564017423523807962217041029386151174272653445759425246305559928468334265311586365396428136999298623913436285272302432134727938959871697170533650791802501881454849471863414493380193039289222035374752280978 27281301148176980641266558659984664804344048764284885560672026366688067044590750084419644404418203305959322048286648106038299855480236331651019380198096254052246914818247221242718896304332115758351559237406148702942023248049899307221142005389302858277731215305879824596854742838403229421055080685756251461635894433411286352172305673621118401784735661435351150527208018082132975526059369628402231774851347482063198437055610132978689246222699831482516186918804244023939146999955395811085948446912703666189901921506856856243377060412868526831765662468781777655232592747313808256851149462376729735364860771936959996416913813311431045681012546220268905939322989523659755218359127438784638886298752959846159917702087840890448403841260823243796524724284804309980178016340116403310361180982312914274654759370780210789512211346247902849804979255359652744324618440002125931905124801692569080095668234526322768131343032480160698362542677942327855091300320682969172836082129517433529780357017095641644378508783470512566210180085497048325872973135263612679344227639994309884911558008920300934095419986925281424292329173277236794740548103893068015614023303781501587416685828164567017867291284804576434001907625738443041393893985991185493719603699462194796957136216091163408279436839149 44142072515071886100123124694013628687884680666743955172378384398396620466122362340752801399582667056280181302152720676139420362015100894652199643301806971432609418513943168508834551761290890677821103759828894943046895990045256312462791263965655077226152204376334604268119784017134516322730525276164137432874017766851123751155132396448301498119931684698498658296130801874368997237108974480287821234704829256345692155458030821540322037132091078302020398202925870277163249861885138349574825276014593105772717094533182567352985364492199314962320544011948992883606850931227455631750526367842802140187480401235863998873225166240493304975274829593128817015862277905007402759507017600200292558554819157631551705240580462974571929130293441590480942640629272383481823379841723377857172212155117109072349419747849958220749611497008766511891815526622391393168801764771888924136838809303729983314575479008115801310658849141915948668009178764517794589934956216357268859360296165530285022395989716453005097277608672030287638675769176847920223973655590523548918962596710953120886174572937724457903382203966310810443503445930682554165794409452996483948288615367866983844822827463190931303576557107008568729846585610140211927544777793687375174453171325609290337329255380385443654189120127 71423373663248866741389683353998293492228729431028840733050410765084687510713112425172445804000870362239503350439368782177720217495337226303219023499903225484856333332190389751553448065623006436172662997235043645988919238095155619683933269354957935503883419682214428864974526855537745743785605961920388894509912200262410103327438070069419899904667346133849808823338819956501972763168344108690053009556176738408890592513640954519011283354790909784536585121730114301102396861840534160660773722927296771962619016040039423596362424905067841794086206480730770538839443678541263888601675830219531875552341173172823995290138979551924350656287375813397722955185267428667157977866145038984931444853572117477711622942668303865020332971554264834277467364914076693462001396181839781167533393137430023347004179118630169010261822843256669361696794781982044137493420204774014856041963610996299063410243713534438569442001881622076647030551856706845649681235276899326441695442425682963814802753006812094649475786392142542853848855854673896246096946790854136228263190236705263005797732581858025391998802190891592234735832619207919348906342513346064499562311919149368571261508655627757949170867841911585002731754211348583253321438763784872868894056870787804087294465471471548851933625959276 115565446178320752841512808048011922180113410097772795905428795163481307976835474765925247203583537418519684652592089458317140579510438120955418666801710196917465751846133558260387999826913897113993766757063938589035815228140411932146724533320613012730035624058549033133094310872672262066516131238084526327383929967113533854482570466517721398024599030832348467119469621830870970000277318588977874244261005994754582747971671776059333320486881988086556983324655984578265646723725672510235598998941889877735336110573221990949347789397267156756406750492679763422446294609768719520352202198062334015739821574408687994163364145792417655631562205406526539971047545333674560737373162639185224003408391275109263328183248766839592262101847706424758410005543349076943824776023563159024705605292547132419353598866480127231011434340265435873588610308604435530662221969545903780178802420300029046724819192542554370752660730763992595698561035471363444271170233115683710554802721848494099825148996528547654573064000814573141487531623850744166320920446444659777182152833416216126683907154795749849902184394857903045179336065138601903072136922799060983510600534517235555106331483090948880474444399018593571461600796958723465248983541578560244068510042113413377631794726851934295587815079403 186988819841569619582902491402010215672342139528801636638479205928565995487548587191097693007584407780759188003031458240494860797005775347258637690301613422402322085178323948011941447892536903550166429754298982235024734466235567551830657802675570948233919043740763461998068837728210007810301737200004915221893842167375943957810008536587141297929266376966198275942808441787372942763445662697667927253817182733163473340485312730578344603841672897871093568446386098879368043585566206670896372721869186649697955126613261414545710214302334998550492956973410533961285738288309983408953878028281865891292162747581511989453503125344342006287849581219924262926232812762341718715239307678170155448261963392586974951125917070704612595073401971259035877370457425770405826172205402940192238998429977155766357777985110296241273257183522105235285405090586479668155642174319918636220766031296328110135062906076992940194662612386069242729112892178209093952405510015010152250245147531457914627902003340642304048850392957115995336387478524640412417867237298796005445343070121479132481639736653775241900986585749495279915168684346521251978479436145125483072912453666604126367840138718706829645312240930178574193355008307306718570422305363433112962566912901217464926260198323483147521441038679 302554266019890372424415299450022137852455549626574432543908001092047303464384061957022940211167945199278872655623547698812001376516213468214056357103323619319787837024457506272329447719450800664160196511362920824060549694375979483977382335996183960963954667799312495131163148600882269876817868438089441549277772134489477812292579003104862695953865407798546743062278063618243912763722981286645801498078188727918056088456984506637677924328554885957650551771042083457633690309291879181131971720811076527433291237186483405495058003699602155306899707466090297383732032898078702929306080226344199907031984321990199983616867271136759661919411786626450802897280358096016279452612470317355379451670354667696238279309165837544204857175249677683794287376000774847349650948228966099216944603722524288185711376851590423472284691523787541108874015399190915198817864143865822416399568451596357156859882098619547310947323343150061838427673927649572538223575743130693862805047869379952014453050999869189958621914393771689136823919102375384578738787683743455782627495903537695259165546891449525091803170980607398325094504749485123155050616358944186466583512988183839681474171621809655710119756639948772145654955805266030183819405846941993357031076955014630842558054925175417443109256118082 489543085861459992007317790852032353524797689155376069182387207020613298951932649148120633218752352980038060658655005939306862173521988815472694047404937041722109922202781454284270895611987704214326626265661903059085284160611547035808040138671754909197873711540075957129231986329092277687119605638094356771171614301865421770102587539692003993883131784764745019005086505405616855527168643984313728751895371461081529428942297237216022528170227783828744120217428182337001733894858085852028344442680263177131246363799744820040768218001937153857392664439500831345017771186388686338259958254626065798324147069571711973070370396481101668207261367846375065823513170858357998167851777995525534899932318060283213230435082908248817452248651648942830164746458200617755477120434369039409183602152501443952069154836700719713557948707309646344159420489777394866973506318185741052620334482892685266994945004696540251141985955536131081156786819827781632175981253145704015055293016911409929080953003209832262670764786728805132160306580900024991156654921042251788072838973659174391647186628103300333704157566356893605009673433831644407029095795089311949656425441850443807842011760528362539765068880878950719848310813573336902389828152305426469993643867915848307484315123498900590630697156761 792097351881350364431733090302054491377253238781950501726295208112660602416316711105143573429920298179316933314278553638118863550038202283686750404508260661041897759227238960556600343331438504878486822777024823883145833854987526519785422474667938870161828379339388452260395134929974547563937474076183798320449386436354899582395166542796866689836997192563291762067364569023860768290891625270959530249973560188999585517399281743853700452498782669786394671988470265794635424204149965033160316163491339704564537600986228225535826221701539309164292371905591128728749804084467389267566038480970265705356131391561911956687237667617861330126673154472825868720793528954374277620464248312880914351602672727979451509744248745793022309423901326626624452122458975465105128068663335138626128205875025732137780531688291143185842640231097187453033435888968310065791370462051563469019902934489042423854827103316087562089309298686192919584460747477354170399556996276397877860340886291361943534004003079022221292679180500494268984225683275409569895442604785707570700334877196869650812733519552825425507328546964291930104178183316767562079712154033498416239938430034283489316183382338018249884825520827722865503266618839367086209233999247419827024720822930479150042370048674318033739953274843 1281640437742810356439050881154086844902050927937326570908682415133273901368249360253264206648672651159354993972933559577425725723560191099159444451913197702764007681430020414840871238943426209092813449042686726942231118015599073555593462613339693779359702090879464409389627121259066825251057079714278155091621000738220321352497754082488870683720128977328036781072451074429477623818060269255273259001868931650081114946341578981069722980669010453615138792205898448131637158099008050885188660606171602881695783964785973045576594439703476463021685036345091960073767575270856075605825996735596331503680278461133623929757608064098962998333934522319200934544306699812732275788316026308406449251534990788262664740179331654041839761672552975569454616868917176082860605189097704178035311808027527176089849686524991862899400588938406833797192856378745704932764876780237304521640237417381727690849772108012627813231295254222324000741247567305135802575538249422101892915633903202771872614957006288854483963443967229299401144532264175434561052097525827959358773173850856044042459920147656125759211486113321185535113851617148411969108807949122810365896363871884727297158195142866380789649894401706673585351577432412703988599062151552846297018364690846327457526685172173218624370650431604 2073737789624160720870783971456141336279304166719277072634977623245934503784566071358407780078592949338671927287212113215544589273598393382846194856421458363805905440657259375397471582274864713971300271819711550825376951870586600075378885088007632649521530470218852861650022256189041372814994553790461953412070387174575220934892920625285737373557126169891328543139815643453338392108951894526232789251842491839080700463740860724923423433167793123401533464194368713926272582303158015918348976769662942586260321565772201271112420661405015772185977408250683088802517379355323464873392035216566597209036409852695535886444845731716824328460607676792026803265100228767106553408780274621287363603137663516242116249923580399834862071096454302196079068991376151547965733257761039316661440013902552908227630218213283006085243229169504021250226292267714014998556247242288867990660140351870770114704599211328715375320604552908516920325708314782489972975095245698499770775974789494133816148961009367876705256123147729793670128757947450844130947540130613666929473508728052913693272653667208951184718814660285477465218029800465179531188520103156308782136302301919010786474378525204399039534719922534396450854844051252071074808296150800266124043085513776806607569055220847536658110603706447 3355378227366971077309834852610228181181355094656603643543660038379208405152815431611671986727265600498026921260145672792970314997158584482005639308334656066569913122087279790238342821218290923064113720862398277767608069886185673630972347701347326428881232561098317271039649377448108198066051633504740108503691387912795542287390674707774608057277255147219365324212266717882816015927012163781506048253711423489161815410082439705993146413836803577016672256400267162057909740402166066803537637375834545467956105530558174316689015101108492235207662444595775048876284954626179540479218031952162928712716688313829159816202453795815787326794542199111227737809406928579838829197096300929693812854672654304504780990102912053876701832769007277765533685860293327630826338446858743494696751821930080084317479904738274868984643818107910855047419148646459719931321124022526172512300377769252497805554371319341343188551899807130840921066955882087625775550633495120601663691608692696905688763918015656731189219567114959093071273290211626278691999637656441626288246682578908957735732573814865076943930300773606663000331881417613591500297328052279119148032666173803738083632573668070779829184614324241070036206421483664775063407358302353112421061450204623134065095740393020755282481254138051 5429116016991131798180618824066369517460659261375880716178637661625142908937381502970079766805858549836698848547357786008514904270756977864851834164756114430375818562744539165635814403493155637035413992682109828592985021756772273706351232789354959078402763031317170132689671633637149570881046187295202061915761775087370763222283595333060345430834381317110693867352082361336154408035964058307738837505553915328242515873823300430916569847004596700418205720594635875984182322705324082721886614145497488054216427096330375587801435762513508007393639852846458137678802333981503005352610067168729525921753098166524695702647299527532611655255149875903254541074507157346945382605876575550981176457810317820746897240026492453711563903865461579961612754851669479178792071704619782811358191835832632992545110122951557875069887047277414876297645440914173734929877371264815040502960518121123267920258970530670058563872504360039357841392664196870115748525728740819101434467583482191039504912879025024607894475690262688886741402048159077122822947177787055293217720191306961871429005227482074028128649115433892140465549911218078771031485848155435427930168968475722748870106952193275178868719334246775466487061265534916846138215654453153378545104535718399940672664795613868291940591857844498 8784494244358102875490453676676597698642014356032484359722297700004351314090196934581751753533124150334725769807503458801485219267915562346857473473090770496945731684831818955874157224711446560099527713544508106360593091642957947337323580490702285507283995592415487403729321011085257768947097820799942170419453163000166305509674270040834953488111636464330059191564349079218970423962976222089244885759265338817404331283905740136909716260841400277434877976994903038042092063107490149525424251521332033522172532626888549904490450863622000242601302297442233186555087288607682545831828099120892454634469786480353855518849753323348398982049692075014482278883914085926784211802972876480674989312482972125251678230129404507588265736634468857727146440711962806809618410151478526306054943657762713076862590027689832744054530865385325731345064589560633454861198495287341213015260895890375765725813341850011401752424404167170198762459620078957741524076362235939703098159192174887945193676797040681339083695257377647979812675338370703401514946815443496919505966873885870829164737801296939105072579416207498803465881792635692362531783176207714547078201634649526486953739525861345958697903948571016536523267687018581621201623012755506490966165985923023074737760536006889047223073111982549 14213610261349234673671072500742967216102673617408365075900935361629494223027578437551831520338982700171424618354861244810000123538672540211709307637846884927321550247576358121509971628204602197134941706226617934953578113399730221043674813280057244585686758623732657536418992644722407339828144008095144232335214938087537068731957865373895298918946017781440753058916431440555124831998940280396983723264819254145646847157729040567826286107845996977853083697589538914026274385812814232247310865666829521576388959723218925492291886626135508249994942150288691324233889622589185551184438166289621980556222884646878551221497052850881010637304841950917736819958421243273729594408849452031656165770293289945998575470155896961299829640499930437688759195563632285988410481856098309117413135493595346069407700150641390619124417912662740607642710030474807189791075866552156253518221414011499033646072312380681460316296908527209556603852284275827857272602090976758804532626775657078984698589676065705946978170947640336866554077386529780524337893993230552212723687065192832700593743028779013133201228531641390943931431703853771133563269024363149975008370603125249235823846478054621137566623282817792003010328952553498467339838667208659869511270521641423015410425331620757339163664969827047 22998104505707337549161526177419564914744687973440849435623233061633845537117775372133583273872106850506150388162364703611485342806588102558566781110937655424267281932408177077384128852916048757234469419771126041314171205042688168380998393770759530092970754216148144940148313655807665108775241828895086402754668101087703374241632135414730252407057654245770812250480780519774095255961916502486228609024084592963051178441634780704736002368687397255287961674584441952068366448920304381772735117188161555098561492350107475396782337489757508492596244447730924510788976911196868097016266265410514435190692671127232406740346806174229409619354534025932219098842335329200513806211822328512331155082776262071250253700285301468888095377134399295415905636275595092798028892007576835423468079151358059146270290178331223363178948778048066338987774620035440644652274361839497466533482309901874799371885654230692862068721312694379755366311904354785598796678453212698507630785967831966929892266473106387286061866205017984846366752724900483925852840808674049132229653939078703529758480830075952238273807947848889747397313496489463496095052200570864522086572237774775722777586003915967096264527231388808539533596639572080088541461679964166360477436507564446090148185867627646386386738081809596 37211714767056572222832598678162532130847361590849214511524168423263339760145353809685414794211089550677575006517225948421485466345260642770276088748784540351588832179984535198894100481120650954369411125997743976267749318442418389424673207050816774678657512839880802476567306300530072448603385836990230635089883039175240442973590000788625551326003672027211565309397211960329220087960856782883212332288903847108698025599363821272562288476533394233141045372173980866094640834733118614020045982854991076674950452073326400889074224115893016742591186598019615835022866533786053648200704431700136415746915555774110957961843859025110420256659375976849955918800756572474243400620671780543987320853069552017248829170441198430187925017634329733104664831839227378786439373863675144540881214644953405215677990328972613982303366690710806946630484650510247834443350228391653720051703723913373833017957966611374322385018221221589311970164188630613456069280544189457312163412743489045914590856149172093233040037152658321712920830111430264450190734801904601344953341004271536230352223858854965371475036479490280691328745200343234629658321224934014497094942840900024958601432481970588233831150514206600542543925592125578555881300347172826229988707029205869105558611199248403725550403051636643 60209819272763909771994124855582097045592049564290063947147401484897185297263129181818998068083196401183725394679590652032970809151848745328842869859722195775856114112392712276278229334036699711603880545768870017581920523485106557805671600821576304771628267056028947416715619956337737557378627665885317037844551140262943817215222136203355803733061326272982377559877992480103315343922773285369440941312988440071749204040998601977298290845220791488429007046758422818163007283653422995792781100043152631773511944423433876285856561605650525235187431045750540345811843444982921745216970697110650850937608226901343364702190665199339829876013910002782175017643091901674757206832494109056318475935845814088499082870726499899076020394768729028520570468114822471584468265871251979964349293796311464361948280507303837345482315468758873285618259270545688479095624590231151186585186033815248632389843620842067184453739533915969067336476092985399054865958997402155819794198711321012844483122622278480519101903357676306559287582836330748376043575610578650477182994943350239760110704688930917609748844427339170438726058696832698125753373425504879019181515078674800681379018485886555330095677745595409082077522231697658644422762027136992590466143536770315195706797066876050111937141133446239 97421534039820481994826723533744629176439411155139278458671569908160525057408482991504412862294285951861300401196816600454456275497109388099118958608506736127444946292377247475172329815157350665973291671766613993849669841927524947230344807872393079450285779895909749893282926256867810005982013502875547672934434179438184260188812136991981355059064998300193942869275204440432535431883630068252653273601892287180447229640362423249860579321754185721570052418932403684257648118386541609812827082898143708448462396496760277174930785721543541977778617643770156180834709978768975393417675128810787266684523782675454322664034524224450250132673285979632130936443848474149000607453165889600305796788915366105747912041167698329263945412403058761625235299954049850370907639734927124505230508441264869577626270836276451327785682159469680232248743921055936313538974818622804906636889757728622465407801587453441506838757755137558379306640281616012510935239541591613131957611454810058759073978771450573752141940510334628272208412947761012826234310412483251822136335947621775990462928547785882981223880906829451130054803897175932755411694650438893516276457919574825639980450967857143563926828259802009624621447823823237200304062374309818820454850565976184301265408266124453837487544185082882 157631353312584391766820848389326726222031460719429342405818971393057710354671612173323410930377482353045025795876407252487427084648958133427961828468228931903301060404769959751450559149194050377577172217535484011431590365412631505036016408693969384221914046951938697309998546213205547563360641168760864710778985319701128077404034273195337158792126324573176320429153196920535850775806403353622094214914880727252196433681361025227158870166974977209999059465690826502420655402039964605605608182941296340221974340920194153460787347327194067212966048689520696526646553423751897138634645825921438117622132009576797687366225189423790080008687195982414305954086940375823757814285659998656624272724761180194246994911894198228339965807171787790145805768068872321955375905606179104469579802237576333939574551343580288673267997628228553517867003191601624792634599408853956093222075791543871097797645208295508691292497289053527446643116374601411565801198538993768951751810166131071603557101393729054271243843868010934831495995784091761202277886023061902299319330890972015750573633236716800590972725334168621568780862594008630881165068075943772535457972998249626321359469453743698894022506005397418706698970055520895844726824401446811410920994102746499496972205333000503949424685318529121 255052887352404873761647571923071355398470871874568620864490541301218235412080095164827823792671768304906326197073223852941883360146067521527080787076735668030746006697147207226622888964351401043550463889302098005281260207340156452266361216566362463672199826847848447203281472470073357569342654671636412383713419499139312337592846410187318513851191322873370263298428401360968386207690033421874747488516773014432643663321723448477019449488729162931569111884623230186678303520426506215418435265839440048670436737416954430635718133048737609190744666333290852707481263402520872532052320954732225384306655792252252010030259713648240330141360481962046436890530788849972758421738825888256930069513676546299994906953061896557603911219574846551771041068022922172326283545341106228974810310678841203517200822179856740001053679787698233750115747112657561106173574227476760999858965549272493563205446795748950198131255044191085825949756656217424076736438080585382083709421620941130362631080165179628023385784378345563103704408731852774028512196435545154121455666838593791741036561784502683572196606240998072698835666491184563636576762726382666051734430917824451961339920421600842457949334265199428331320417879344133045030886775756630231375844668722683798237613599124957786912229503612003 412684240664989265528468420312398081620502332593997963270309512694275945766751707338151234723049250657951351992949631105429310444795025654955042615544964599934047067101917166978073448113545451421127636106837582016712850572752787957302377625260331847894113873799787144513280018683278905132703295840397277094492404818840440414996880683382655672643317647446546583727581598281504236983496436775496841703431653741684840097003084473704178319655704140141568171350314056689098958922466470821024043448780736388892411078337148584096505480375931676403710715022811549234127816826272769670686966780653663501928787801829049697396484903072030410150047677944460742844617729225796516236024485886913554342238437726494241901864956094785943877026746634341916846836091794494281659450947285333444390112916417537456775373523437028674321677415926787267982750304259185898808173636330717093081041340816364661003092004044458889423752333244613272592873030818835642537636619579151035461231787072201966188181558908682294629628246356497935200404515944535230790082458607056420774997729565807491610195021219484163169331575166694267616529085193194517741830802326438587192403916074078282699389875344541351971840270596847038019387934865028889757711177203441642296838771469183295209818932125461736336914822141124 667737128017394139290115992235469437018973204468566584134800053995494181178831802502979058515721018962857678190022854958371193804941093176482123402621700267964793073799064374204696337077896852464678099996139680021994110780092944409568738841826694311566313700647635591716561491153352262702045950512033689478205824317979752752589727093569974186494508970319916847026009999642472623191186470197371589191948426756117483760324807922181197769144433303073137283234937286875777262442892977036442478714620176437562847815754103014732223613424669285594455381356102401941609080228793642202739287735385888886235443594081301707426744616720270740291408159906507179735148518075769274657763311775170484411752114272794236808818017991343547788246321480893687887904114716666607942996288391562419200423595258740973976195703293768675375357203625021018098497416916747004981747863807478092940006890088858224208538799793409087555007377435699098542629687036259719274074700164533119170653408013332328819261724088310318015412624702061038904813247797309259302278894152210542230664568159599232646756805722167735365937816164766966452195576377758154318593528709104638926834833898530244039310296945383809921174535796275369339805814209161934788597952960071873672683440191867093447432531250419523249144325753127 1080421368682383404818584412547867518639475537062564547405109566689770126945583509841130293238770269620809030182972486063800504249736118831437166018166664867898840140900981541182769785191442303885805736102977262038706961352845732366871116467087026159460427574447422736229841509836631167834749246352430966572698229136820193167586607776952629859137826617766463430753591597923976860174682906972868430895380080497802323857327892395885376088800137443214705454585251343564876221365359447857466522163400912826455258894091251598828729093800600961998166096378913951175736897055066411873426254516039552388164231395910351404823229519792301150441455837850967922579766247301565790893787797662084038753990551999288478710682974086129491665273068115235604734740206511160889602447235676895863590536511676278430751569226730797349697034619551808286081247721175932903789921500138195186021048230905222885211630803837867976978759710680312371135502717855095361811711319743684154631885195085534295007443282996992612645040871058558974105217763741844490092361352759266963005662297725406724256951826941651898535269391331461234068724661570952672060424331035543226119238749972608526738700172289925161893014806393122407359193749074190824546309130163513515969522211661050388657251463375881259586059147894251 1748158496699777544108700404783336955658448741531131131539909620685264308124415312344109351754491288583666708372995341022171698054677212007919289420788365135863633214700045915387466122269339156350483836099116942060701072132938676776439855308913720471026741275095058327946403000989983430536795196864464656050904053454799945920176334870522604045632335588086380277779601597566449483365869377170240020087328507253919807617652700318066573857944570746287842737820188630440653483808252424893909000878021089264018106709845354613560952707225270247592621477735016353117345977283860054076165542251425441274399674989991653112249974136512571890732863997757475102314914765377335065551551109437254523165742666272082715519500992077473039453519389596129292622644321227827497545443524068458282790960106935019404727764930024566025072391823176829304179745138092679908771669363945673278961055120994081109420169603631277064533767088116011469678132404891355081085786019908217273802538603098866623826705007085302930660453495760620013010031011539153749394640246911477505236326865885005956903708632663819633901207207496228200520920237948710826379017859744647865046073583871138770778010469235308971814189342189397776698999563283352759334907083123585389642205651852917482104683994626300782835203473647378 2828579865382160948927284817331204474297924278593695678945019187375034435069998822185239644993261558204475738555967827085972202304413330839356455438955030003762473355601027456570235907460781460236289572202094204099408033485784409143310971776000746630487168849542481064176244510826614598371544443216895622623602282591620139087762942647475233904770162205852843708533193195490426343540552284143108450982708587751722131474980592713951949946744708189502548192405439974005529705173611872751375523041422002090473365603936606212389681801025871209590787574113930304293082874338926465949591796767464993662563906385902004517073203656304873041174319835608443024894681012678900856445338907099338561919733218271371194230183966163602531118792457711364897357384527738988387147890759745354146381496618611297835479334156755363374769426442728637590260992859268612812561590864083868464982103351899303994631800407469145041512526798796323840813635122746450442897497339651901428434423798184400918834148290082295543305494366819178987115248775280998239487001599670744468241989163610412681160660459605471532436476598827689434589644899519663498439442190780191091165312333843747297516710641525234133707204148582520184058193312357543583881216213287098905611727863513967870761935458002182042421262621541629 4576738362081938493035985222114541429956373020124826810484928808060298743194414134529348996747752846788142446928963168108143900359090542847275744859743395139626106570301073371957702029730120616586773408301211146160109105618723085919750827084914467101513910124637539392122647511816598028908339640081360278674506336046420085007939277517997837950402497793939223986312794793056875826906421661313348471070037095005641939092633293032018523804689278935790390930225628604446183188981864297645284523919443091354491472313781960825950634508251141457183409051848946657410428851622786520025757339018890434936963581375893657629323177792817444931907183833365918127209595778056235921996890016536593085085475884543453909749684958241075570572311847307494189980028848966815884693334283813812429172456725546317240207099086779929399841818265905466894440737997361292721333260228029541743943158472893385104051970011100422106046293886912335310491767527637805523983283359560118702236962401283267542660853297167598473965947862579799000125279786820151988881641846582221973478316029495418638064369092269291166337683806323917635110565137468374324818460050524838956211385917714886068294721110760543105521393490771917960757192875640896343216123296410684295253933515366885352866619452628482825256466095189007 7405318227464099441963270039445745904254297298718522489429947995435333178264412956714588641741014404992618185484930995194116102663503873686632200298698425143388579925902100828527937937190902076823062980503305350259517139104507495063061798860915213732001078974180020456298892022643212627279884083298255901298108618638040224095702220165473071855172659999792067694845987988547302170446973945456456922052745682757364070567613885745970473751433987125292939122631068578451712894155476170396660046960865093444964837917718567038340316309277012666774196625962876961703511725961712985975349135786355428599527487761795662146396381449122317973081503668974361152104276790735136778442228923635931647005209102814825103979868924404678101691104305018859087337413376705804271841225043559166575553953344157615075686433243535292774611244708634104484701730856629905533894851092113410208925261824792689098683770418569567147558820685708659151305402650384255966880780699212020130671386199467668461495001587249894017271442229398977987240528562101150228368643446252966441720305193105831319225029551874762698774160405151607069700210036988037823257902241305030047376698251558633365811431752285777239228597639354438144815386187998439927097339509697783200865661378880853223628554910630664867677728716730636 11982056589546037934999255261560287334210670318843349299914876803495631921458827091243937638488767251780760632413894163302260003022594416533907945158441820283014686496203174200485639966921022693409836388804516496419626244723230580982812625945829680833514989098817559848421539534459810656188223723379616179972614954684460309103641497683470909805575157793731291681158782781604177997353395606769805393122782777763006009660247178777988997556123266061083330052856697182897896083137340468041944570880308184799456310231500527864290950817528154123957605677811823619113940577584499506001106474805245863536491069137689319775719559241939762904988687502340279279313872568791372700439118940172524732090684987358279013729553882645753672263416152326353277317442225672620156534559327372979004726410069703932315893532330315222174453062974539571379142468853991198255228111320142951952868420297686074202735740429669989253605114572620994461797170178022061490864064058772138832908348600750936004155854884417492491237390091978776987365808348921302217250285292835188415198621222601249957289398644144053865111844211475524704810775174456412148076362291829869003588084169273519434106152863046320344749991130126356105572579063639336270313462806108467496119594894247738576495174363259147692934194811919643 19387374817010137376962525301006033238464967617561871789344824798930965099723240047958526280229781656773378817898825158496376105686098290220540145457140245426403266422105275029013577904111924770232899369307821846679143383827738076045874424806744894565516068072997580304720431557103023283468107806677872081270723573322500533199343717848943981660747817793523359376004770770151480167800369552226262315175528460520370080227861064523959471307557253186376269175487765761349608977292816638438604617841173278244421148149219094902631267126805166790731802303774700580817452303546212491976455610591601292136018556899484981922115940691062080878070191171314640431418149359526509478881347863808456379095894090173104117709422807050431773954520457345212364654855602378424428375784370932145580280363413861547391579965573850514949064307683173675863844199710621103789122962412256362161793682122478763301419510848239556401163935258329653613102572828406317457744844757984158963579734800218604465650856471667386508508832321377754974606336911022452445618928739088154856918926415707081276514428196018816563886004616627131774510985211444449971334264533134899050964782420832152799917584615332097583978588769480794250387965251637776197410802315806250696985256273128591800123729273889812560611923528650279 31369431406556175311961780562566320572675637936405221089259701602426597021182067139202463918718548908554139450312719321798636108708692706754448090615582065709417952918308449229499217871032947463642735758112338343098769628550968657028687050752574575399031057171815140153141971091562833939656331530057488261243338528006960842302985215532414891466322975587254651057163553551755658165153765158996067708298311238283376089888108243301948468863680519247459599228344462944247505060430157106480549188721481463043877458380719622766922217944333320914689407981586524199931392881130711997977562085396847155672509626037174301697835499933001843783058878673654919710732021928317882179320466803980981111186579077531383131438976689696185446217936609671565641972297828051044584910343698305124585006773483565479707473497904165737123517370657713247242986668564612302044351073732399314114662102420164837504155251277909545654769049830950648074899743006428378948608908816756297796488083400969540469806711356084878999746222413356531961972145259943754662869214031923343272117547638308331233803826840162870428997848828102656479321760385900862119410626824964768054552866590105672234023737478378417928728579899607150355960544315277112467724265121914718193104851167376330376618903637148960253546118340569922 50756806223566312688924305863572353811140605553967092878604526401357562120905307187160990198948330565327518268211544480295012214394790996974988236072722311135821219340413724258512795775144872233875635127420160189777913012378706733074561475559319469964547125244812720457862402648665857223124439336735360342514062101329461375502328933381358873127070793380778010433168324321907138332954134711222330023473839698803746170115969307825907940171237772433835868403832228705597114037722973744919153806562654741288298606529938717669553485071138487705421210285361224780748845184676924489954017695988448447808528182936659283619951440624063924661129069844969560142150171287844391658201814667789437490282473167704487249148399496746617220172457067016778006627153430429469013286128069237270165287136897427027099053463478016252072581678340886923106830868275233405833474036144655676276455784542643600805574762126149102055932985089280301688002315834834696406353753574740456760067818201188144935457567827752265508255054734734286936578482170966207108488142771011498129036474054015412510318255036181686992883853444729788253832745597345312090744891358099667105517649010937825033941322093710515512707168669087944606348509566914888665135067437720968890090107440504922176742632911038772814158041869220201 82126237630122488000886086426138674383816243490372313967864228003784159142087374326363454117666879473881657718524263802093648323103483703729436326688304376845239172258722173488012013646177819697518370885532498532876682640929675390103248526311894045363578182416627860611004373740228691162780770866792848603757400629336422217805314148913773764593393768968032661490331877873662796498107899870218397731772150937087122260004077551127856409034918291681295467632176691649844619098153130851399702995284136204332176064910658340436475703015471808620110618266947748980680238065807636487931579781385295603481037808973833585317786940557065768444187948518624479852882193216162273837522281471770418601469052245235870380587376186442802666390393676688343648599451258480513598196471767542394750293910380992506806526961382181989196099048998600170349817536839845707877825109877054990391117886962808438309730013404058647710702034920230949762902058841263075354962662391496754556555901602157685405264279183837144508001277148090818898550627430909961771357356802934841401154021692323743744122081876344557421881702272832444733154505983246174210155518183064435160070515601043497267965059572088933441435748568695094962309053882192001132859332559635687083194958607881252553361536548187733067704160209790123 132883043853688800689810392289711028194956849044339406846468754405141721262992681513524444316615210039209175986735808282388660537498274700704424562761026687981060391599135897746524809421322691931394006012952658722654595653308382123177810001871213515328125307661440581068866776388894548385905210203528208946271462730665883593307643082295132637720464562348810671923500202195569934831062034581440727755245990635890868430120046858953764349206156064115131336036008920355441733135876104596318856801846790945620474671440597058106029188086610296325531828552308973761429083250484560977885597477373744051289565991910492868937738381181129693105317018363594039995032364504006665495724096139559856091751525412940357629735775683189419886562850743705121655226604688909982611482599836779664915581047278419533905580424860198241268680727339487093456648405115079113711299146021710666667573671505452039115304775530207749766635020009511251450904374676097771761316415966237211316623719803345830340721847011589410016256331882825105835129109601876168879845499573946339530190495746339156254440336912526244414765555717562232986987251580591486300900409541164102265588164611981322301906381665799448954142917237783039568657563449106889797994399997356655973285066048386174730104169459226505881862202079010324 215009281483811288690696478715849702578773092534711720814332982408925880405080055839887898434282089513090833705260072084482308860601758404433860889449331064826299563857858071234536823067500511628912376898485157255531278294238057513281058528183107560691703490078068441679871150129123239548685981070321057550028863360002305811112957231208906402313858331316843333413832080069232731329169934451659125487018141572977990690124124410081620758241074355796426803668185612005286352234029235447718559797130927149952650736351255398542504891102082104945642446819256722742109321316292197465817177258759039654770603800884326454255525321738195461549504966882218519847914557720168939333246377611330274693220577658176228010323151869632222552953244420393465303826055947390496209679071604322059665874957659412040712107386242380230464779776338087263806465941954924821589124255898765657058691558468260477425034788934266397477337054929742201213806433517360847116279078357733965873179621405503515745986126195426554524257609030915924733679737032786130651202856376881180931344517438662899998562418788870801836647257990394677720141757563837660511055927724228537425658680213024819569871441237888382395578665806478134530966617331298890930853732556992343056480024656267427283465706007414238949566362288800447 347892325337500089380506871005560730773729941579051127660801736814067601668072737353412342750897299552300009691995880366870969398100033105138285452210357752807359955456993968981061632488823203560306382911437815978185873947546439636458868530054321076019828797739509022748737926518017787934591191273849266496300326090668189404420600313504039040034322893665654005337332282264802666160231969033099853242264132208868859120244171269035385107447230419911558139704194532360728085369905340044037416598977718095573125407791852456648534079188692401271174275371565696503538404566776758443702774736132783706060169792794819323193263702919325154654821985245812559842946922224175604828970473750890130784972103071116585640058927552821642439516095164098586959052660636300478821161671441101724581456004937831574617687811102578471733460503677574357263114347070003935300423401920476323726265229973712516540339564464474147243972074939253452664710808193458618877595494323971177189803341208849346086707973207015964540513940913741030568808846634662299531048355950827520461535013185002056253002755701397046251412813707956910707129009144429146811956337265392639691246844825006141871777822903687831349721583044261174099624180780405780728848132554348999029765090704653602013569875466640744831428564367810771 562901606821311378071203349721410433352503034113762848475134719222993482073152793193300241185179389065390843397255952451353278258701791509572146341659688817633659519314852040215598455556323715189218759809922973233717152241784497149739927058237428636711532287817577464428609076647141027483277172344170324046329189450670495215533557544712945442348181224982497338751164362334035397489401903484758978729282273781846849810368295679117005865688304775707984943372380144366014437603934575491755976396108645245525776144143107855191038970290774506216816722190822419245647725883068955909519951994891823360830773593679145777448789024657520616204326952128031079690861479944344544162216851362220405478192680729292813650382079422453864992469339584492052262878716583690975030840743045423784247330962597243615329795197344958702198240280015661621069580289024928756889547657819241980784956788441972993965374353398740544721309129868995653878517241710819465993874572681705143062982962614352861832694099402442519064771549944656955302488583667448430182251212327708701392879530623664956251565174490267848088060071698351588427270766708266807323012264989621177116905525038030961441649264141576213745300248850739308630590798111704671659701865111341342086245115360921029297035581474054983780994926656611218 910793932158811467451710220726971164126232975692813976135936456037061083741225530546712583936076688617690853089251832818224247656801824614710431793870046570441019474771846009196660088045146918749525142721360789211903026189330936786198795588291749712731361085557086487177347003165158815417868363618019590542629515541338684619954157858216984482382504118648151344088496644598838063649633872517858831971546405990715708930612466948152390973135535195619543083076574676726742522973839915535793392995086363341098901551934960311839573049479466907487990997562388115749186130449845714353222726731024607066890943386473965100642052727576845770859148937373843639533808402168520148991187325113110536263164783800409399290441006975275507431985434748590639221931377219991453852002414486525508828786967535075189947483008447537173931700783693235978332694636094932692189971059739718304511222018415685510505713917863214691965281204808249106543228049904278084871470067005676320252786303823202207919402072609458483605285490858397985871297430302110729713299568278536221854414543808667012504567930191664894339472885406308499134399775852695954134968602255013816808152369863037103313427087045264045095021831895000482730214978892110452388549997665690341116010206065574631310605456940695728612423491024421989 1473695538980122845522913570448381597478736009806576824611071175260054565814378323740012825121256077683081696486507785269577525915503616124282578135529735388074678994086698049412258543601470633938743902531283762445620178431115433935938722646529178349442893373374663951605956079812299842901145535962189914588958704992009179835487715402929929924730685343630648682839661006932873461139035776002617810700828679772562558740980762627269396838823839971327528026448954821092756960577774491027549369391195008586624677696078068167030612019770241413704807719753210534994833856332914670262742678725916430427721716980153110878090841752234366387063475889501874719224669882112864693153404176475330941741357464529702212940823086397729372424454774333082691484810093803682428882843157531949293076117930132318805277278205792495876129941063708897599402274925119861449079518717558960285296178806857658504471088271261955236686590334677244760421745291615097550865344639687381463315769266437555069752096172011901002670057040803054941173786013969559159895550780606244923247294074432331968756133104681932742427532957104660087561670542560962761457980867244634993925057894901068064755076351186840258840322080745739791360805777003815124048251862777031683202255321426495660607641038414750712393418417681033207 2384489471138934312974623791175352761604968985499390800747007631297115649555603854286725409057332766300772549575759618087801773572305440738993009929399781958515698468858544058608918631646617552688269045252644551657523204620446370722137518234820928062174254458931750438783303082977458658319013899580209505131588220533347864455441873261146914407113189462278800026928157651531711524788669648520476642672375085763278267671593229575421787811959375166947071109525529497819499483551614406563342762386281371927723579248013028478870185069249708321192798717315598650744019986782760384615965405456941037494612660366627075978732894479811212157922624826875718358758478284281384842144591501588441478004522248330111612231264093373004879856440209081673330706741471023673882734845572018474801904904897667393995224761214240033050061641847402133577734969561214794141269489777298678589807400825273344014976802189125169928651871539485493866964973341519375635736814706693057783568555570260757277671498244621359486275342531661452927045083444271669889608850348884781145101708618240998981260701034873597636767005842510968586696070318413658715592949469499648810733210264764105168068503438232104303935343912640740274091020755895925576436801860442722024318265527492070291918246495355446441005841908705455196 3858185010119057158497537361623734359083704995305967625358078806557170215369982178026738234178588843983854246062267403357379299487809056863275588064929517346590377462945242108021177175248088186627012947783928314103143383051561804658076240881350106411617147832306414390389259162789758501220159435542399419720546925525357044290929588664076844331843874805909448709767818658464584985927705424523094453373203765535840826412573992202691184650783215138274599135974484318912256444129388897590892131777476380514348256944091096645900797089019949734897606437068809185738853843115675054878708084182857467922334377346780186856823736232045578544986100716377593077983148166394249535297995678063772419745879712859813825172087179770734252280894983414756022191551564827356311617688729550424094981022827799712800502039420032528926191582911111031177137244486334655590349008494857638875103579632131002519447890460387125165338461874162738627386718633134473186602159346380439246884324836698312347423594416633260488945399572464507868218869458241229049504401129491026068349002692673330950016834139555530379194538799615628674257740860974621477050930336744283804658268159665173232823579789418944562775665993386480065451826532899740700485053723219753707520520848918565952525887533770197153399260326386488403 6242674481257991471472161152799087120688673980805358426105086437854285864925586032313463643235921610284626795638027021445181073060114497602268597994329299305106075931803786166630095806894705739315281993036572865760666587672008175380213759116171034473791402291238164829172562245767217159539173335122608924852135146058704908746371461925223758738957064268188248736695976309996296510716375073043571096045578851299119094084167221778112972462742590305221670245500013816731755927681003304154234894163757752442071836192104125124770982158269658056090405154384407836482873829898435439494673489639798505416947037713407262835556630711856790702908725543253311436741626450675634377442587179652213897750401961189925437403351273143739132137335192496429352898293035851030194352534301568898896885927725467106795726800634272561976253224758513164754872214047549449731618498272156317464910980457404346534424692649512295093990333413648232494351691974653848822338974053073497030452880406959069625095092661254619975220742104125960795263952902512898939113251478375807213450711310914329931277535174429128015961544642126597260953811179388280192643879806243932615391478424429278400892083227651048866711009906027220339542847288795666276921855583662475731838786376410636244444134029125643594405102235091943599 10100859491377048629969698514422821479772378976111326051463165244411456080295568210340201877414510454268481041700294424802560372547923554465544186059258816651696453394749028274651272982142793925942294940820501179863809970723569980038289999997521140885408550123544579219561821408556975660759332770665008344572682071584061953037301050589300603070800939074097697446463794968460881496644080497566665549418782616834959920496741213980804157113525805443496269381474498135644012371810392201745127025941234132956420093136195221770671779247289607790988011591453217022221727673014110494373381573822655973339281415060187449692380366943902369247894826259630904514724774617069883912740582857715986317496281674049739262575438452914473384418230175911185375089844600678386505970223031119322991866950553266819596228840054305090902444807669624195932009458533884105321967506767013956340014560089535349053872583109899420259328795287810971121738410607788322008941133399453936277337205243657381972518687077887880464166141676590468663482822360754127988617652607866833281799714003587660881294369313984658395156083441742225935211552040362901669694810142988216420049746584094451633715663017069993429486675899413700404994673821695406977406909306882229439359307225329202196970021562895840747804362561478432002 16343533972635040101441859667221908600461052956916684477568251682265741945221154242653665520650432064553107837338321446247741445608038052067812784053588115956802529326552814441281368789037499665257576933857074045624476558395578155418503759113692175359199952414782744048734383654324192820298506105787617269424817217642766861783672512514524361809758003342285946183159771278457178007360455570610236645464361468134079014580908435758917129576268395748717939626974511952375768299491395505899361920104991885398491929328299346895442761405559265847078416745837624858704601502912545933868055063462454478756228452773594712527936997655759159950803551802884215951466401067745518290183170037368200215246683635239664699978789726058212516555565368407614727988137636529416700322757332688221888752878278733926391955640688577652878698032428137360686881672581433555053586005039170273804925540546939695588297275759411715353319128701459203616090102582442170831280107452527433307790085650616451597613779739142500439386883780716429458746775263267026927730904086242640495250425314501990812571904488413786411117628083868823196165363219751181862338689949232149035441225008523730034607746244721042296197685805440920744537521110491073254328764890544705171198093601739838441414155592021484342209464796570375601 26444393464012088731411558181644730080233431933028010529031416926677198025516722452993867398064942518821588879038615871050301818155961606533356970112846932608498982721301842715932641771180293591199871874677575225488286529119148135456793759111213316244608502538327323268296205062881168481057838876452625613997499289226828814820973563103824964880558942416383643629623566246918059504004536068176902194883144084969038935077649649739721286689794201192214209008449010088019780671301787707644488946046226018354912022464494568666114540652848873638066428337290841880926329175926656428241436637285110452095509867833782162220317364599661529198698378062515120466191175684815402202923752895084186532742965309289403962554228178972685900973795544318800103077982237207803206292980363807544880619828832000745988184480742882743781142840097761556618891131115317660375553511806184230144940100636475044642169858869311135612647923989270174737828513190230492840221240851981369585127290894273833570132466817030380903553025457306898122229597624021154916348556694109473777050139318089651693866273802398444806273711525611049131376915260114083532033500092220365455490971592618181668323409261791035725684361704854621149532194932186480231735674197426934610557400827069040638384177154917325090013827358048807603 42787927436647128832853417848866638680694484889944695006599668608942939970737876695647532918715374583374696716376937317298043263763999658601169754166435048565301512047854657157214010560217793256457448808534649271112763087514726290875297518224905491603808454953110067317030588717205361301356344982240242883422316506869595676604646075618349326690316945758669589812783337525375237511364991638787138840347505553103117949658558085498638416266062596940932148635423522040395548970793183213543850866151217903753403951792793915561557302058408139485144845083128466739630930678839202362109491700747564930851738320607376874748254362255420689149501929865399336417657576752560920493106922932452386747989648944529068662533017905030898417529360912726414831066119873737219906615737696495766769372707110734672380140121431460396659840872525898917305772803696751215429139516845354503949865641183414740230467134628722850965967052690729378353918615772672663671501348304508802892917376544890285167746246556172881342939909238023327580976372887288181844079460780352114272300564632591642506438178290812231217391339609479872327542278479865265394372190041452514490932196601141911702931155506512078021882047510295541894069716042677553486064439087971639781755494428808879079798332746938809432223292154619183204 69232320900659217564264976030511368760927916822972705535631085535620137996254599148641400316780317102196285595415553188348345081919961265134526724279281981173800494769156499873146652331398086847657320683212224496601049616633874426332091277336118807848416957491437390585326793780086529782414183858692868497419815796096424491425619638722174291570875888175053233442406903772293297015369527706964041035230649638072156884736207735238359702955856798133146357643872532128415329642094970921188339812197443922108315974257288484227671842711257013123211273420419308620557259854765858790350928338032675382947248188441159036968571726855082218348200307927914456883848752437376322696030675827536573280732614253818472625087246084003584318503156457045214934144102110945023112908718060303311649992535942735418368324602174343140440983712623660473924663934812068875804693028651538734094805741819889784872636993498033986578614976679999553091747128962903156511722589156490172478044667439164118737878713373203262246492934695330225703205970511309336760428017474461588049350703950681294200304452093210676023665051135090921458919193739979348926405690133672879946423168193760093371254564768303113747566409215150163043601910974864033717800113285398574392312895255877919718182509901856134522237119512667990807 112020248337306346397118393879378007441622401712917400542230754144563077966992475844288933235495691685570982311792490505646388345683960923735696478445717029739102006817011157030360662891615880104114769491746873767713812704148600717207388795561024299452225412444547457902357382497291891083770528840933111380842132302966020168030265714340523618261192833933722823255190241297668534526734519345751179875578155191175274834394765820736998119221919395074078506279296054168810878612888154134732190678348661825861719926050082399789229144769665152608356118503547775360188190533605061152460420038780240313798986509048535911716826089110502907497702237793313793301506329189937243189137598759988960028722263198347541287620263989034482736032517369771629765210221984682243019524455756799078419365243053470090748464723605803537100824585149559391230436738508820091233832545496893238044671383003304525103104128126756837544582029370728931445665744735575820183223937460998975370962043984054403905624959929376143589432843933353553284182343398597518604507478254813702321651268583272936706742630384022907241056390744570793786461472219844614320777880175125394437355364794902005074185720274815191769448456725445704937671627017541587203864552373370214174068389684686798797980842648794943954460411667287174011 181252569237965563961383369909889376202550318535890106077861839680183215963247074992930333552276008787767267907208043693994733427603922188870223202724999010912902501586167656903507315223013966951772090174959098264314862320782475143539480072897143107300642369935984848487684176277378420866184712699625979878261948099062444659455885353062697909832068722108776056697597145069961831542104047052715220910808804829247431719130973555975357822177776193207224863923168586297226208254983125055920530490546105747970035900307370884016900987480922165731567391923967083980745450388370919942811348376812915696746234697489694948685397815965585125845902545721228250185355081627313565885168274587525533309454877452166013912707510073038067054535673826816844699354324095627266132433173817102390069357778996205509116789325780146677541808297773219865155100673320888967038525574148431972139477124823194309975741121624790824123197006050728484537412873698478976694946526617489147849006711423218522643503673302579405835925778628683778987388313909906855364935495729275290371001972533954230907047082477233583264721441879661715245380665959823963247183570308798274383778532988662098445440285043118305517014865940595867981273537992405620921664665658768788566381284940564718516163352550651078476697531179955164818 293272817575271910358501763789267383644172720248807506620092593824746293930239550837219266787771700473338250219000534199641121773287883112605919681170716040652004508403178813933867978114629847055886859666705972032028675024931075860746868868458167406752867782380532306390041558774670311949955241540559091259104080402028464827486151067403221528093261556042498879952787386367630366068838566398466400786386960020422706553525739376712355941399695588281303370202464640466037086867871279190652721168894767573831755826357453283806130132250587318339923510427514859340933640921975981095271768415593156010545221206538230860402223905076088033343604783514542043486861410817250809074305873347514493338177140650513555200327774062072549790568191196588474464564546080309509151957629573901468488723022049675599865254049385950214642632882922779256385537411829709058272358119645325210184148507826498835078845249751547661667779035421457415983078618434054796878170464078488123219968755407272926549128633231955549425358622562037332271570657308504373969442973984088992692653241117227167613789712861256490505777832624232509031842138179668577567961450483923668821133897783564103519626005317933497286463322666041572918945165009947208125529218032139002740449674625251517314144195199446022431157942847242338829 474525386813237474319885133699156759846723038784697612697954433504929509893486625830149600340047709261105518126208577893635855200891805301476142883895715051564907009989346470837375293337643814007658949841665070296343537345713551004286348941355310514053510152316517154877725735052048732816139954240185071137366028501090909486942036420465919437925330278151274936650384531437592197610942613451181621697195764849670138272656712932687713763577471781488528234125633226763263295122854404246573251659440873321801791726664824167823031119731509484071490902351481943321679091310346901038083116792406071707291455904027925809087621721041673159189507329235770293672216492444564374959474147935040026647632018102679569113035284135110616845103865023405319163918870175936775284390803391003858558080801045881108982043375166096892184441180695999121540638085150598025310883693793757182323625632649693145054586371376338485790976041472185900520491492132533773573116990695977271068975466830491449192632306534534955261284401190721111258958971218411229334378469713364283063655213651181398520836795338490073770499274503894224277222804139492540815145020792721943204912430772226201965066290361051802803478188606637440900218703002352829047193883690907791306830959565816235830307547750097100907855474027197503647 767798204388509384678386897488424143490895759033505119318047027329675803823726176667368867127819409734443768345209112093276976974179688414082062565066431092216911518392525284771243271452273661063545809508371042328372212370644626865033217809813477920806377934697049461267767293826719044766095195780744162396470108903119374314428187487869140966018591834193773816603171917805222563679781179849648022483582724870092844826182452309400069704977167369769831604328097867229300381990725683437225972828335640895633547553022277451629161251982096802411414412778996802662612732232322882133354885207999227717836677110566156669489845626117761192533112112750312337159077903261815184033780021282554519985809158753193124313363058197183166635672056219993793628483416256246284436348432964905327046803823095556708847297424552047106827074063618778377926175496980307083583241813439082392507774140476191980133431621127886147458755076893643316503570110566588570451287454774465394288944222237764375741760939766490504686643023752758443530529628526915603303821443697453275756308454768408566134626508199746564276277107128126733309064942319161118383106471276645612026046328555790305484692295678985300089941511272679013819163868012300037172723101723046794047280634191067753144451742949543123339013416874439842476 1242323591201746858998272031187580903337618797818202732016001460834605313717212802497518467467867118995549286471417689986912832175071493715558205448962146143781818528381871755608618564789917475071204759350036112624715749716358177869319566751168788434859888087013566616145493028878767777582235150020929233533836137404210283801370223908335060403943922112345048753253556449242814761290723793300829644180778489719762983098839165242087783468554639151258359838453731093992563677113580087683799224487776514217435339279687101619452192371713606286482905315130478745984291823542669783171438002000405299425128133014594082478577467347159434351722619441986082630831294395706379558993254169217594546633441176855872693426398342332293783480775921243399112792402286432183059720739236355909185604884624141437817829340799718143999011515244314777499466813582130905108894125507232839574831399773125885125188017992504224633249731118365829217024061602699122344024404445470442665357919689068255824934393246301025459947927424943479554789488599745326832638199913410817558819963668419589964655463303538236638046776381632020957586287746458653659198251492069367555230958759328016507449758586040037102893419699879316454719382571014652866219916985413954585354111593756883988974759290699640224246868890901637346123 2010121795590256243676658928676005046828514556851707851334048488164281117540938979164887334595686528729993054816626802080189809149251182129640268014028577235998730046774397040379861836242191136134750568858407154953087962087002804734352784560982266355666266021710616077413260322705486822348330345801673395930306246307329658115798411396204201369962513946538822569856728367048037324970504973150477666664361214589855827925021617551487853173531806521028191442781828961221864059104305771121025197316112155113068886832709379071081353623695703088894319727909475548646904555774992665304792887208404527142964810125160239148067312973277195544255731554736394967990372298968194743027034190500149066619250335609065817739761400529476950116447977463392906420885702688429344157087669320814512651688447236994526676638224270191105838589307933555877392989079111212192477367320671921967339173913602077105321449613632110780708486195259472533527631713265710914475691900244908059646863911306020200676154186067515964634570448696237998320018228272242435942021357108270834576272123187998530790089811737983202323053488760147690895352688777814777581357963346013167257005087883806812934450881719022402983361211151995468538546439026952903392640087137001379401392227947951742119211033649183347585882307776077188599 3252445386792003102674930959863585950166133354669910583350049948998886431258151781662405802063553647725542341288044492067102641324322675845198473462990723379780548575156268795988480401032108611205955328208443267577803711803360982603672351312151054790526154108724182693558753351584254599930565495822602629464142383711539941917168635304539261773906436058883871323110284816290852086261228766451307310845139704309618811023860782793575636642086445672286551281235560055214427736217885858804824421803888669330504226112396480690533545995409309375377225043039954294631196379317662448476230889208809826568092943139754321626644780320436629895978350996722477598821666694674574302020288359717743613252691512464938511166159742861770733597223898706792019213287989120612403877826905676723698256573071378432344505979023988335104850104552248333376859802661242117301371492827904761542170573686727962230509467606136335413958217313625301750551693315964833258500096345715350725004783600374276025610547432368541424582497873639717553109506828017569268580221270519088393396235791607588495445553115276219840369829870392168648481640435236468436779609455415380722487963847211823320384209467759059505876780911031311923257929010041605769612557072550955964755503821704835731093970324348823571832751198677714534722 5262567182382259346351589888539590996994647911521618434684098437163167548799090760827293136659240176455535396104671294147292450473573857974838741477019300615779278621930665836368342237274299747340705897066850422530891673890363787338025135873133321146192420130434798770972013674289741422278895841624276025394448630018869600032967046700743463143868950005422693892967013183338889411231733739601784977509500918899474638948882400345063489815618252193314742724017389016436291795322191629925849619120000824443573112945105859761614899619105012464271544770949429843278100935092655113781023776417214353711057753264914560774712093293713825440234082551458872566812038993642769045047322550217892679871941848074004328905921143391247683713671876170184925634173691809041748034914574997538210908261518615426871182617248258526210688693860181889254252791740353329493848860148576683509509747600330039335830917219768446194666703508884774284079325029230544172975788245960258784651647511680296226286701618436057389217068322335955551429525056289811704522242627627359227972507914795587026235642927014203042692883359152316339376993124014283214360967418761393889744968935095630133318660349478081908860142122183307391796475449068558673005197159687957344156896049652787473213181357998006919418633506453791723321 8515012569174262449026520848403176947160781266191529018034148386162053980057242542489698938722793824181077737392715786214395091797896533820037214940010023995559827197086934632356822638306408358546661225275293690108695385693724769941697487185284375936718574239158981464530767025873996022209461337446878654858591013730409541950135682005282724917775386064306565216077297999629741497492962506053092288354640623209093449972743183138639126457704697865601294005252949071650719531540077488730674040923889493774077339057502340452148445614514321839648769813989384137909297314410317562257254665626024180279150696404668882401356873614150455336212433548181350165633705688317343347067610909935636293124633360538942840072080886253018417310895774876976944847461680929654151912741480674261909164834589993859215688596272246861315538798412430222631112594401595446795220352976481445051680321287058001566340384825904781608624920822510076034631018345195377431475884591675609509656431112054572251897249050804598813799566195975673104539031884307380973102463898146447621368743706403175521681196042290422883062713229544484987858633559250751651140576874176774612232932782307453453702869817237141414736923033214619315054404459110164442617754232238913308912399871357623204307151682346830491251384705131506258043 13777579751556521795378110736942767944155429177713147452718246823325221528856333303316992075382034000636613133497387080361687542271470391794875956417029324611339105819017600468725164875580708105887367122342144112639587059584088557279722623058417697082910994369593780235502780700163737444488357179071154680253039643749279141983102728706026188061644336069729259109044311182968630908724696245654877265864141542108568088921625583483702616273322950058916036729270338088087011326862269118656523660043890318217650452002608200213763345233619334303920314584938813981187398249502972676038278442043238533990208449669583443176068966907864280776446516099640222732445744681960112392114933460153528972996575208612947168978002029644266101024567651047161870481635372738695899947656055671800120073096108609286086871213520505387526227492272612111885365386141948776289069213125058128561190068887388040902171302045673227803291624331394850318710343374425921604451672837635868294308078623734868478183950669240656203016634518311628655968556940597192677624706525773806849341251621198762547916838969304625925755596588696801327235626683265034865501544292938168501977901717403083587021530166715223323597065155397926706850879908178723115622951391926870653069295921010410677520333040344837410670018211585297981364 22292592320730784244404631585345944891316210443904676470752395209487275508913575845806691014104827824817690870890102866576082634069366925614913171357039348606898933016104535101081987513887116464434028347617437802748282445277813327221420110243702073019629568608752761700033547726037733466697818516518033335111630657479688683933238410711308912979419722134035824325121609182598372406217658751707969554218782165317661538894368766622341742731027647924517330734523287159737730858402346607387197700967779811991727791060110540665911790848133656143569084398928198119096695563913290238295533107669262714269359146074252325577425840522014736112658949647821572898079450370277455739182544370089165266121208569151890009050082915897284518335463425924138815329097053668350051860397536346062029237930698603145302559809792752248841766290685042334516477980543544223084289566101539573612870390174446042468511686871578009411916545153904926353341361719621299035927557429311477803964509735789440730081199720045255016816200714287301760507588824904573650727170423920254470709995327601938069598035011595048808818309818241286315094260242515786516642121167114943114210834499710537040724399983952364738333988188612546021905284367288887558240705624165783961981695792368033881827484722691667901921402916716804239407 36070172072287306039782742322288712835471639621617823923470642032812497037769909149123683089486861825454304004387489946937770176340837317409789127774068673218238038835122135569807152389467824570321395469959581915387869504861901884501142733302119770102540562978346541935536328426201470911186175695589188015364670301228967825916341139417335101041064058203765083434165920365567003314942354997362846820082923707426229627815994350106044359004350597983433367463793625247824742185264615726043721361011670130209378243062718740879675136081752990447489398983867012100284093813416262914333811549712501248259567595743835768753494807429879016889105465747461795630525195052237568131297477830242694239117783777764837178028084945541550619360031076971300685810732426407045951808053592017862149311026807212431389431023313257636367993782957654446401843366685492999373358779226597702174060459061834083370682988917251237215208169485299776672051705094047220640379230266947346098272588359524309208265150389285911219832835232598930416476145765501766328351876949694061320051246948800700617514873980899674734573906406938087642329886925780821382143665460053111616188736217113620627745930150667588061931053344010472728756164275467610673863657016092654615050991713378444559347817763036505312591421128302102220771 58362764393018090284187373907634657726787850065522500394223037242299772546683484994930374103591689650271994875277592813513852810410204243024702299131108021825136971851226670670889139903354941034755423817577019718136151950139715211722562843545821843122170131587099303635569876152239204377883994212107221350476300958708656509849579550128644014020483780337800907759287529548165375721160013749070816374301705872743891166710363116728386101735378245907950698198316912407562473043666962333430919061979449942201106034122829281545586926929886646591058483382795210219380789377329553152629344657381763962528926741818088094330920647951893753001764415395283368528604645422515023870480022200331859505238992346916727187078167861438835137695494502895439501139829480075396003668451128363924178548957505815576691990833106009885209760073642696780918321347229037222457648345328137275786930849236280125839194675788829246627124714639204703025393066813668519676306787696258823902237098095313749938346350109331166236649035946886232176983734590406339979079047373614315790761242276402638687112908992494723543392216225179373957424147168296607898785786627168054730399570716824157668470330134619952800265041532623018750661448642756498232104362640258438577032687505746478441175302485728173214512824045018906460178 94432936465305396323970116229923370562259489687140324317693679275112269584453394144054057193078551475726298879665082760451622986751041560434491426905176695043375010686348806240696292292822765605076819287536601633524021455001617096223705576847941613224710694565445845571106204578440675289070169907696409365840971259937624335765920689545979115061547838541565991193453449913732379036102368746433663194384629580170120794526357466834430460739728843891384065662110537655387215228931578059474640422991120072410484277185548022425262063011639637038547882366662222319664883190745816066963156207094265210788494337561923863084415455381772769890869881142745164159129840474752592001777500030574553744356776124681564365106252806980385757055525579866740186950561906482441955476504720381786327859984313028008081421856419267521577753856600351227320164713914530221831007124554734977960991308298114209209877664706080483842332884124504479697444771907715740316686017963206170000509686454838059146611500498617077456481871179485162593459880355908106307430924323308377110812489225203339304627782973394398277966122632117461599754034094077429280929452087221166346588306933937778296216260285287540862196094876633491479417612918224108905968019656351093192083679219124923000523120248764678527104245173321008680949 152795700858323486608157490137558028289047339752662824711916716517412042131136879138984431296670241125998293754942675573965475797161245803459193726036284716868511982537575476911585432196177706639832243105113621351660173405141332307946268420393763456346880826152545149206676080730679879666954164119803630716317272218646280845615500239674623129082031618879366898952740979461897754757262382495504479568686335452914011961236720583562816562475107089799334763860427450062949688272598540392905559484970570014611590311308377303970848989941526283629606365749457432539045672568075369219592500864476029173317421079380011957415336103333666522892634296538028532687734485897267615872257522230906413249595768471598291552184420668419220894751020082762179688090391386557837959144955848745710506408941818843584773412689525277406787513930243048008238486061143567444288655469882872253747922157534394335049072340494909730469457598763709182722837838721384259992992805659464993902746784550151809084957850607948243693130907126371394770443614946314446286509971696922692901573731501605977991740691965889121821358338857296835557178181262374037179715238714389221076987877650761935964686590419907493662461136409256510230079061560980607138072382296609531769116366724871401441698422734492851741617069218339915141127 247228637323628882932127606367481398851306829439803149029610395792524311715590273283038488489748792601724592634607758334417098783912287363893685152941461411911886993223924283152281724489000472244909062392650222985184194860142949404169973997241705069571591520717990994777782285309120554956024334027500040082158243478583905181381420929220602244143579457420932890146194429375630133793364751241938142763070965033084132755763078050397247023214835933690718829522537987718336903501530118452380199907961690087022074588493925326396111052953165920668154248116119654858710555758821185286555657071570294384105915416941935820499751558715439292783504177680773696846864326372020207874035022261480966993952544596279855917290673475399606651806545662628919875040953293040279914621460569127496834268926131871592854834545944544928365267786843399235558650775058097666119662594437607231708913465832508544258950005200990214311790482888213662420282610629100000309678823622671163903256471004989868231569351106565321149612778305856557363903495302222552593940896020231070012386220726809317296368474939283520099324461489414297156932215356451466460644690801610387423576184584699714260902850705195034524657231285890001709496674479204716044040401952960624961200045943996324442221542983257530268721314391660923822076 400024338181952369540285096505039427140354169192465973741527112309936353846727152422022919786419033727722886389550433908382574581073533167352878878977746128780398975761499760063867156685178178884741305497763844336844368265284281712116242417635468525918472346870536143984458366039800434622978498147303670798475515697230186026996921168895225373225611076300299789098935408837527888550627133737442622331757300485998144716999798633960063585689943023490053593382965437781286591774128658845285759392932260101633664899802302630366960042894692204297760613865577087397756228326896554506148157936046323557423336496321947777915087662049105815676138474218802229534598812269287823746292544492387380243548313067878147469475094143818827546557565745391099563131344679598117873766416417873207340677867950715177628247235469822335152781717086447243797136836201665110408318064320479485456835623366902879308022345695899944781248081651922845143120449350484260302671629282136157806003255555141677316527201714513564842743685432227952134347110248536998880450867717153762913959952228415295288109166905172641920682800346711132714110396618825503640359929515999608500564062235461650225589441125102528187118367695146511939575736040185323182112784249570156730316412668867725883919965717750382010338383610000838963203 647252975505581252472412702872520825991660998632269122771137508102460665562317425705061408276167826329447479024158192242799673364985820531246564031919207540692285968985424043216148881174178651129650367890414067322028563125427231116286216414877173595490063867588527138762240651348920989579002832174803710880633759175814091208378342098115827617369190533721232679245129838213158022343991884979380765094828265519082277472762876684357310608904778957180772422905503425499623495275658777297665959300893950188655739488296227956763071095847858124965914861981696742256466784085717739792703815007616617941529251913263883598414839220764545108459642651899575926381463138641308031620327566753868347237500857664158003386765767619218434198364111408020019438172297972638397788387876987000704174946794082586770483081781414367263518049503929846479355787611259762776527980658758086717165749089199411423566972350896890159093038564540136507563403059979584260612350452904807321709259726560131545548096552821078885992356463738084509498250605550759551474391763737384832926346172955224612584477641844456162020007261836125429871042611975276970101004620317609995924140246820161364486492291830297562711775598981036513649072410519390039226153186202530781691516458612864050326141508701007912279059698001661762785279 1047277313687533622012697799377560253132015167824735096512664620412397019409044578127084328062586860057170365413708626151182247946059353698599442910896953669472684944746923803280016037859356830014391673388177911658872931390711512828402458832512642121408536214459063282746699017388721424201981330322107381679109274873044277235375263267011052990594801610021532468344065247050685910894619018716823387426585566005080422189762675318317374194594721980670826016288468863280910087049787436142951718693826210290289404388098530587130031138742550329263675475847273829654223012412614294298851972943662941498952588409585831376329926882813650924135781126118378155916061950910595855366620111246255727481049170732036150856240861763037261744921677153411119001303642652236515662154293404873911515624662033301948111329016884189598670831221016293723152924447461427886936298723078566202622584712566314302874994696592790103874286646192059352706523509330068520915022082186943479515262982115273222864623754535592450835100149170312461632597715799296550354842631454538595840306125183639907872586808749628803940690062182836562585153008594102473741364549833609604424704309055623014712081732955400090898893966676183025588648146559575362408265970452100938421832871281731776210061474418758294289398081611662601748482 1694530289193114874485110502250081079123676166457004219283802128514857684971362003832145736338754686386617844437866818393981921311045174229846006942816161210164970913732347846496164919033535481144042041278591978980901494516138743944688675247389815716898600082047590421508939668737642413780984162496911092559743034048858368443753605365126880607963992143742765147589195085263843933238610903696204152521413831524162699662525552002674684803499500937851598439193972288780533582325446213440617677994720160478945143876394758543893102234590408454229590337828970571910689796498332034091555787951279559440481840322849714974744766103578196032595423778017954082297525089551903886986947678000124074718550028396194154243006629382255695943285788561431138439475940624874913450542170391874615690571456115888718594410798298556862188880724946140202508712058721190663464279381836652919788333801765725726441967047489680262967325210732195860269926569309652781527372535091750801224522708675404768412720307356671336827456612908396971130848321350056101829234395191923428766652298138864520457064450594084965960697324018961992456195620569379443842369170151219600348844555875784379198574024785697653610669565657219539237720557078965401634419156654631720113349329894595826536202983119766206568457779613324364533761 2741807602880648496497808301627641332255691334281739315796466748927254704380406581959230064401341546443788209851575444545164169257104527928445449853713114879637655858479271649776180956892892311158433714666769890639774425906850256773091134079902457838307136296506653704255638686126363837982965492819018474238852308921902645679128868632137933598558793753764297615933260332314529844133229922413027539947999397529243121852288227320992058998094222918522424455482441152061443669375233649583569396688546370769234548264493289131023133373332958783493265813676244401564912808910946328390407760894942500939434428732435546351074692986391846956731204904136332238213587040462499742353567789246379802199599199128230305099247491145292957688207465714842257440779583277111429112696463796748527206196118149190666705739815182746460859711945962433925661636506182618550400578104915219122410918514332040029316961744082470366841611856924255212976450078639721302442394617278694280739785690790677991277344061892263787662556762078709432763446037149352652184077026646462024606958423322504428329651259343713769901387386201798555041348629163481917583733719984829204773548864931407393910655757741097744509563532333402564826368703638540764042685127106732658535182201176327602746264457538524500857855861224986966282243 4436337892073763370982918803877722411379367500738743535080268877442112389351768585791375800740096232830406054289442262939146090568149702158291456796529276089802626772211619496272345875926427792302475755945361869620675920422989000717779809327292273555205736378554244125764578354864006251763949655315929566798595342970761014122882473997264814206522785897507062763522455417578373777371840826109231692469413229053405821514813779323666743801593723856374022894676413440841977251700679863024187074683266531248179692140888047674916235607923367237722856151505214973475602605409278362481963548846222060379916269055285261325819459089970042989326628682154286320511112130014403629340515467246503876918149227524424459342254120527548653631493254276273395880255523901986342563238634188623142896767574265079385300150613481303323048592670908574128170348564903809213864857486751872042199252316097765755758928791572150629808937067656451073246376647949374083969767152370445081964308399466082759690064369248935124490013374987106403894294358499408754013311421838385453373610721461368948786715709937798735862084710220760547497544249732861361426102890136048805122393420807191773109229782526795398120233097990622104064089260717506165677104283761364378648531531070923429282467440658290707426313640838311330816004 7178145494954411867480727105505363743635058835020482850876735626369367093732175167750605865141437779274194264141017707484310259825254230086736906650242390969440282630690891146048526832819320103460909470612131760260450346329839257490870943407194731393512872675060897830020217040990370089746915148134948041037447651892663659802011342629402747805081579651271360379455715749892903621505070748522259232417412626582648943367102006644658802799687946774896447350158854592903420921075913512607756471371812902017414240405381336805939368981256326021216121965181459375040515414320224690872371309741164561319350697787720807676894152076361889946057833586290618558724699170476903371694083256492883679117748426652654764441501611672841611319700719991115653321035107179097771675935097985371670102963692414270052005890428664049783908304616871008053831985071086427764265435591667091164610170830429805785075890535654620996650548924580706286222826726589095386412161769649139362704094090256760750967408431141198912152570137065815836657740395648761406197388448484847477980569144783873377116366969281512505763472096422559102538892878896343279009836610120878009895942285738599167019885540267893142629796630324024668890457964356046929719789410868097037183713732247251032028731898196815208284169502063298297098247 11614483387028175238463645909383086155014426335759226385957004503811479483083943753541981665881534012104600318430459970423456350393403932245028363446771667059242909402902510642320872708745747895763385226557493629881126266752828258208650752734487004948718609053615141955784795395854376341510864803450877607836042994863424673924893816626667562011604365548778423142978171167471277398876911574631490924886825855636054764881915785968325546601281670631270470244835268033745398172776593375631943546055079433265593932546269384480855604589179693258938978116686674348516118019729503053354334858587386621699266966843006069002713611166331932935384462268444904879235811300491307001034598723739387556035897654177079223783755732200390264951193974267389049201290631081084114239173732173994812999731266679349437306041042145353106956897287779582182002333635990236978130293078418963206809423146527571540834819327226771626459485992237157359469203374538469470381928922019584444668402489722843510657472800390134036642583512052922240552034754148170160210699870323232931354179866245242325903082679219311241625556806643319650036437128629204640435939500256926815018335706545790940129115322794688540750029728314646772954547225073553095396893694629461415832245263318174461311199338855105915710483142901609627914251 18792628881982587105944373014888449898649485170779709236833740130180846576816118921292587531022971791378794582571477677907766610218658162331765270097014058028683192033593401788369399541565067999224294697169625390141576613082667515699521696141681736342231481728676039785805012436844746431257779951585825648873490646756088333726905159256070309816685945200049783522433886917364181020381982323153750157304238482218703708249017792612984349400969617406166917594994122626648819093852506888239700017426892335283008172951650721286794973570436019280155100081868133723556633434049727744226706168328551183018617664630726876679607763242693822881442295854735523437960510470968210372728681980232271235153646080829733988225257343873231876270894694258504702522325738260181885915108830159366483102694959093619489311931470809402890865201904650590235834318707076664742395728670086054371419593976957377325910709862881392623110034916817863645692030101127564856794090691668723807372496579979604261624881231531332948795153649118738077209775149796931566408088318808080409334749011029115703019449648500823747389028903065878752575330007525547919445776110377804824914277992284390107149000863062581683379826358638671441845005189429600025116683105497558453015958995565425493339931237051921123994652644964907925012498 30407112269010762344408018924271536053663911506538935622790744633992326059900062674834569196904505803483394901001937648331222960612062094576793633543785725087926101436495912430690272250310815894987679923727119020022702879835495773908172448876168741290950090782291181741589807832699122772768644755036703256709533641619513007651798975882737871828290310748828206665412058084835458419258893897785241082191064337854758473130933578581309896002251288037437387839829390660394217266629100263871643563481971768548602105497920105767650578159615712539094078198554808072072751453779230797581041026915937804717884631473732945682321374409025755816826758123180428317196321771459517373763280703971658791189543735006813212009013076073622141222088668525893751723616369341266000154282562333361296102426225772968926617972512954755997822099192430172417836652343066901720526021748505017578229017123484948866745529190108164249569520909055021005161233475666034327176019613688308252040899069702447772282354031921466985437737161171660317761809903945101726618788189131313340688928877274358028922532327720134989014585709709198402611767136154752559881715610634731639932613698830181047278116185857270224129856086953318214799552414503153120513576800127019868848204258883599954651130575907027039705135787866517552926749 49199741150993349450352391939159985952313396677318644859624484764173172636716181596127156727927477594862189483573415326238989570830720256908558903640799783116609293470089314219059671791875883894211974620896744410164279492918163289607694145017850477633181572510967221527394820269543869204026424706622528905583024288375601341378704135138808181644976255948877990187845945002199639439640876220938991239495302820073462181379951371194294245403220905443604305434823513287043036360481607152111343580908864103831610278449570827054445551730051731819249178280422941795629384887828958541807747195244488987736502296104459822361929137651719578698269053977915951755156832242427727746491962684203930026343189815836547200234270419946854017492983362784398454245942107601447886069391392492727779205121184866588415929903983764158888687301097080762653670971050143566462921750418591071949648611100442326192656239052989556872679555825872884650853263576793599183970110305357032059413395649682052033907235263452799934232890810290398394971585053742033293026876507939393750023677888303473731941981976220958736403614612775077155187097143680300479327491721012536464846891691114571154427117048919851907509682445591989656644557603932753145630259905624578321864163254449025447991061812958948163699788432831425477939247 79606853420004111794760410863431522005977308183857580482415229398165498696616244270961725924831983398345584384575352974570212531442782351485352537184585508204535394906585226649749944042186699789199654544623863430186982372753659063515866593894019218924131663293258403268984628102242991976795069461659232162292557929995114349030503111021546053473266566697706196853258003087035097858899770118724232321686367157928220654510884949775604141405472193481041693274652903947437253627110707415982987144390835872380212383947490932822096129889667444358343256478977749867702136341608189339388788222160426792454386927578192768044250512060745334515095812101096380072353154013887245120255243388175588817532733550843360412243283496020476158715072031310292205969558476942713886223673954826089075307547410639557342547876496718914886509400289510935071507623393210468183447772167096089527877628223927275059401768243097721122249076734927905656014497052459633511146129919045340311454294719384499806189589295374266919670627971462058712733394957687135019645664697070707090712606765577831760864514303941093725418200322484275557798864279835053039209207331647268104779505389944752201705233234777122131639538532545307871444110018435906266143836705751598190712367513332625402642192388865975203404924220697943030865996 128806594570997461245112802802591507958290704861176225342039714162338671333332425867088882652759460993207773868148768300809202102273502608393911440825385291321144688376674540868809615834062583683411629165520607840351261865671822353123560738911869696557313235804225624796379448371786861180821494168281761067875582218370715690409207246160354235118242822646584187041103948089234737298540646339663223561181669978001682835890836320969898386808693098924645998709476417234480289987592314568094330725299699976211822662397061759876541681619719176177592434759400691663331521229437147881196535417404915780190889223682652590406179649712464913213364866079012331827509986256314972866747206072379518843875923366679907612477553915967330176208055394094690660215500584544161772293065347318816854512668595506145758477780480483073775196701386591697725178594443354034646369522585687161477526239324369601252058007296087277994928632560800790306867760629253232695116240224402372370867690369066551840096824558827066853903518781752457107704980011429168312672541205010100840736284653881305492806496280162052461821814935259352712985961423515353518536699052659804569626397081059323356132350283696974039149220978137297528088667622368659411774096611376176512576530767781650850633254201824923367104712653529368508805243 208413447991001573039873213666023029964268013045033805824454943560504170029948670138050608577591444391553358252724121275379414633716284959879263978009970799525680083283259767518559559876249283472611283710144471270538244238425481416639427332805888915481444899097484028065364076474029853157616563629940993230168140148365830039439710357181900288591509389344290383894361951176269835157440416458387455882868037135929903490401721270745502528214165292405687691984129321181917543614703021984077317869690535848592035046344552692698637811509386620535935691238378441531033657571045337220585323639565342572645276151260845358450430161773210247728460678180108711899863140270202217987002449460555107661408656917523268024720837411987806334923127425404982866185059061486875658516739302144905929820216006145703101025656977201988661706101676102632796686217836564502829817294752783251005403867548296876311459775539184999117177709295728695962882257681712866206262370143447712682321985088451051646286413854201333773574146753214515820438374969116303332318205902080807931448891419459137253671010584103146187240015257743628270784825703350406557745906384307072674405902471004075557837583518474096170788759510682605399532777640804565677917933317127774703288898281114276253275446590690898570509636874227311539671239 337220042561999034284986016468614537922558717906210031166494657722842841363281096005139491230350905384761132120872889576188616735989787568273175418835356090846824771659934308387369175710311867156022912875665079110889506104097303769762988071717758612038758134901709652861743524845816714338438057798222754298043722366736545729848917603342254523709752211990874570935465899265504572455981062798050679444049707113931586326292557591715400915022858391330333690693605738416397833602295336552171648594990235824803857708741614452575179493129105796713528125997779133194365178800482485101781859056970258352836165374943497948856609811485675160941825544259121043727373126526517190853749655532934626505284580284203175637198391327955136511131182819499673526400559646031037430809804649463722784332884601651848859503437457685062436902803062694330521864812279918537476186817338470412482930106872666477563517782835272277112106341856529486269750018310966098901378610367850085053189675457517603486383238413028400627477665534966972928143354980545471644990747107090908772185176073340442746477506864265198649061830193002980983770787126865760076282605436966877244032299552063398913969933802171070209937980488819902927621445263173225089692029928503951215865429048895927103908700792515821937614349527756680048476482 545633490553000607324859230134637567886826730951243836990949601283347011393229766143190099807942349776314490373597010851568031369706072528152439396845326890372504854943194075905928735586561150628634196585809550381427750342522785186402415404523647527520203033999193680927107601319846567496054621428163747528211862515102375769288627960524154812301261601335164954829827850441774407613421479256438135326917744249861489816694278862460903443237023683736021382677735059598315377216998358536248966464680771673395892755086167145273817304638492417249463817236157574725398836371527822322367182696535600925481441526204343307307039973258885408670286222439229755627236266796719408840752104993489734166693237201726443661919228739942942846054310244904656392585618707517913089326543951608628714153100607797551960529094434887051098608904738796963318551030116483040306004112091253663488333974420963353874977558374457276229284051152258182232632275992678965107640980511297797735511660545968655132669652267229734401051812288181488748581729949661774977308953009171716703634067492799580000148517448368344836301845450746609254555612830216166634028511821273949918438202023067474471807517320645166380726739999502508327154222903977790767609963245631725919154327330010203357184147383206720508123986401983991588147721 882853533114999641609845246603252105809385448857453868157444259006189852756510862148329591038293255161075622494469900427756648105695860096425614815680682981219329626603128384293297911296873017784657109461474629492317256446620088956165403476241406139558961168900903333788851126165663281834492679226386501826255584881838921499137545563866409336011013813326039525765293749707278980069402542054488814770967451363793076142986836454176304358259882075066355073371340798014713210819293695088420615059671007498199750463827781597848996797767598213962991943233936707919764015172010307424149041753505859278317606901147841256163649784744560569612111766698350799354609393323236599694501760526424360671977817485929619299117620067898079357185493064404329918986178353548950520136348601072351498485985209449400820032531892572113535511707801491293840415842396401577782190929429724075971264081293629831438495341209729553341390393008787668502382294303645064009019590879147882788701336003486258619052890680258135028529477823148461676725084930207246622299700116262625475819243566140022746626024312633543485363675643749590238326399957081926710311117258240827162470501575130873385777451122816236590664720488322411254775668167151015857301993174135677135019756378906130461092848175722542445738335929740671636624203 1428487023668000248934704476737889673696212179808697705148393860289536864149740628291519690846235604937390112868066911279324679475401932624578054212526009871591834481546322460199226646883434168413291306047284179873745006789142874142567818880765053667079164202900097014715958727485509849330547300654550249354467447396941297268426173524390564148312275414661204480595121600149053387682824021310926950097885195613654565959681115316637207801496905758802376456049075857613028588036292053624669581524351779171595643218913948743122814102406090631212455760470094282645162851543538129746516224450041460203799048427352184563470689758003445978282397989137580554981845660119956008535253865519914094838671054687656062961036848807841022203239803309308986311571797061066863609462892552680980212639085817246952780561626327459164634120612540288257158966872512884618088195041520977739459598055714593185313472899584186829570674444161045850735014570296324029116660571390445680524212996549454913751722542947487869429581290111329950425306814879869021599608653125434342179453311058939602746774541761001888321665521094496199492882012787298093344339629079514777080908703598198347857584968443461402971391460487824919581929891071128806624911956419767403054174083708916333818276995558929262953862322331724663224771924 2311340556782999890544549723341141779505597628666151573305838119295726716906251490439849281884528860098465735362536811707081327581097792721003669028206692852811164108149450844492524558180307186197948415508758809366062263235762963098733222357006459806638125371801000348504809853651173131165039979880936751180723032278780218767563719088256973484323289227987244006360415349856332367752226563365415764868852646977447642102667951770813512159756787833868731529420416655627741798855585748713090196584022786669795393682741730340971810900173688845175447703704030990564926866715548437170665266203547319482116655328500025819634339542748006547894509755835931354336455053443192608229755626046338455510648872173585682260154468875739101560425296373713316230557975414615814129599241153753331711125071026696353600594158220031278169632320341779550999382714909286195870385970950701815430862137008223016751968240793916382912064837169833519237396864599969093125680162269593563312914332552941172370775433627746004458110767934478412102031899810076268221908353241696967655272554625079625493400566073635431807029196738245789731208412744380020054650746337755604243379205173329221243362419566277639562056180976147330836705559238279822482213949593903080189193840087822464279369843734651805399600658261465334861396127 3739827580451000139479254200079031453201809808474849278454231979585263581055992118731368972730764465035855848230603722986406007056499725345581723240732702724402998589695773304691751205063741354611239721556042989239807270024905837241301041237771513473717289574701097363220768581136682980495587280535487000535190479675721516035989892612647537632635564642648448486955536950005385755435050584676342714966737842591102208062349067087450719961253693592671107985469492513240770386891877802337759778108374565841391036901655679084094625002579779476387903464174125273210089718259086566917181490653588779685915703755852210383105029300751452526176907744973511909318300713563148616765009491566252550349319926861241745221191317683580123763665099683022302542129772475682677739062133706434311923764156843943306381155784547490442803752932882067808158349587422170813958581012471679554890460192722816202065441140378103212482739281330879369972411434896293122242340733660039243837127329102396086122497976575233873887692058045808362527338714689945289821517006367131309834725865684019228240175107834637320128694717832741989224090425531678113398990375417270381324287908771527569100947388009739042533447641463972250418635450309408629107125906013670483243367923796738798097646839293581068353462980593189998086168051 6051168137234000030023803923420173232707407437141000851760070098880990297962243609171218254615293325134321583593140534693487334637597518066585392268939395577214162697845224149184275763244048540809188137064801798605869533260668800340034263594777973280355414946502097711725578434787856111660627260416423751715913511954501734803553611700904511116958853870635692493315952299861718123187277148041758479835590489568549850165017018858264232121010481426539839514889909168868512185747463551050849974692397352511186430584397409425066435902753468321563351167878156263775016584974635004087846756857136099168032359084352236202739368843499459074071417500809443263654755767006341224994765117612591005859968799034827427481345786559319225324090396056735618772687747890298491868661374860187643634889227870639659981749942767521720973385253223847359157732302331457009828966983422381370321322329731039218817409381172019595394804118500712889209808299496262215368020895929632807150041661655337258493273410202979878345802825980286774629370614500021558043425359608828277489998420309098853733575673908272751935723914570987778955298838276058133453641121755025985567667113944856790344309807576016682095503822440119581255341009547688451589339855607573563432561763884561262377016683028232873753063638854655332947564178 9790995717685000169503058123499204685909217245615850130214302078466253879018235727902587227346057790170177431823744257679893341694097243412167115509672098301617161287540997453876026968307789895420427858620844787845676803285574637581335304832549486754072704521203195074946347015924539092156214540951910752251103991630223250839543504313552048749594418513284140980271489249867103878622327732718101194802328332159652058227366085945714952082264175019210947500359401682109282572639341353388609752800771918352577467486053088509161060905333247797951254632052281536985106303233721571005028247510724878853948062840204446585844398144250911600248325245782955172973056480569489841759774609178843556209288725896069172702537104242899349087755495739757921314817520365981169607723508566621955558653384714582966362905727315012163777138186105915167316081889753627823787547995894060925211782522453855420882850521550122807877543399831592259182219734392555337610361629589672050987168990757733344615771386778213752233494884026095137156709329189966847864942365975959587324724285993118081973750781742910072064418632403729768179389263807736246852631497172296366891955022716384359445257195585755724628951463904091831673976459857097080696465761621244046675929687681300060474663522321813942106526619447845331033732229 15842163854919000199526862046919377918616624682756850981974372177347244176980479337073805481961351115304499015416884792373380676331694761478752507778611493878831323985386221603060302731551838436229615995685646586451546336546243437921369568427327460034428119467705292786671925450712395203816841801368334503967017503584724985643097116014456559866553272383919833473587441549728822001809604880759859674637918821728201908392383104803979184203274656445750787015249310850977794758386804904439459727493169270863763898070450497934227496808086716119514605799930437800760122888208356575092875004367860978021980421924556682788583766987750370674319742746592398436627812247575831066754539726791434562069257524930896600183882890802218574411845891796493540087505268256279661476384883426809599193542612585222626344655670082533884750523439329762526473814192085084833616514979316442295533104852184894639700259902722142403272347518332305148392028033888817552978382525519304858137210652413070603109044796981193630579297710006381911786079943689988405908367725584787864814722706302216935707326455651182824000142546974717547134688102083794380306272618927322352459622136661241149789567003161772406724455286344211412929317469404785532285805617228817610108491451565861322851680205350046815859590258302500663981296407 25633159572604000369029920170418582604525841928372701112188674255813498055998715064976392709307408905474676447240629050053274018025792004890919623288283592180448485272927219056936329699859628331650043854306491374297223139831818075502704873259876946788500823988908487861618272466636934295973056342320245256218121495214948236482640620328008608616147690897203974453858930799595925880431932613477960869440247153887853966619749190749694136285538831464961734515608712533087077331026146257828069480293941189216341365556503586443388557713419963917465860431982719337745229191442078146097903251878585856875928484764761129374428165132001282274568067992375353609600868728145320908514314335970278118278546250826965772886419995045117923499601387536251461402322788622260831084108391993431554752195997299805592707561397397546048527661625435677693789896081838712657404062975210503220744887374638750060583110424272265211149890918163897407574247768281372890588744155108976909124379643170803947724816183759407382812792594032477048942789272879955253773310091560747452139446992295335017681077237394092896064561179378447315314077365891530627158904116099618719351577159377625509234824198747528131353406750248303244603293929261882612982271378850061656784421139247161383326343727671860757966116877750345995015028636 41475323427523000568556782217337960523142466611129552094163046433160742232979194402050198191268760020779175462657513842426654694357486766369672131066895086059279809258313440659996632431411466767879659849992137960748769476378061513424074441687204406822928943456613780648290197917349329499789898143688579760185138998799673222125737736342465168482700963281123807927446372349324747882241537494237820544078165975616055875012132295553673320488813487910712521530858023384064872089412951162267529207787110460080105263626954084377616054521506680036980466231913157138505352079650434721190778256246446834897908906689317812163011932119751652948887810738967752046228680975721151975268854062761712680347803775757862373070302885847336497911447279332745001489828056878540492560493275420241153945738609885028219052217067480079933278185064765440220263710273923797491020577954526945516277992226823644700283370326994407614422238436496202555966275802170190443567126680628281767261590295583874550833860980740601013392090304038858960728869216569943659681677817145535316954169698597551953388403693045275720064703726353164862448765467975325007465176735026941071811199296038866659024391201909300538077862036592514657532611398666668145268076996078879266892912590813022706178023933021907573825707136052846658996325043 67108483000127000937586702387756543127668308539502253206351720688974240288977909467026590900576168926253851909898142892479928712383278771260591754355178678239728294531240659716932962131271095099529703704298629335045992616209879588926779314947081353611429767445522268509908470383986263795762954486008825016403260494014621458608378356670473777098848654178327782381305303148920673762673470107715781413518413129503909841631881486303367456774352319375674256046466735917151949420439097420095598688081051649296446629183457670821004612234926643954446326663895876476250581271092512867288681508125032691773837391454078941537440097251752935223455878731343105655829549703866472883783168398731990798626350026584828145956722880892454421411048666868996462892150845500801323644601667413672708697934607184833811759778464877625981805846690201117914053606355762510148424640929737448737022879601462394760866480751266672825572129354660099963540523570451563334155870835737258676385969938754678498558677164500008396204882898071336009671658489449898913454987908706282769093616690892886971069480930439368616129264905731612177762842833866855634624080851126559791162776455416492168259215400656828669431268786840817902135905327928550758250348374928940923677333730060184089504367660693768331791824013803192654011353679 108583806427650001506143484605094503650810775150631805300514767122134982521957103869076789091844928947033027372555656734906583406740765537630263885422073764299008103789554100376929594562682561867409363554290767295794762092587941102350853756634285760434358710902136049158198668301335593295552852629697404776588399492814294680734116093012938945581549617459451590308751675498245421644915007601953601957596579105119965716644013781857040777263165807286386777577324759301216821509852048582363127895868162109376551892810411755198620666756433323991426792895809033614755933350742947588479459764371479526671746298143396753700452029371504588172343689470310857702058230679587624859052022461493703478974153802342690519027025766739790919322495946201741464381978902379341816205094942833913862643673217069862030811995532357705915084031754966558134317316629686307639445218884264394253300871828286039461149851078261080439994367791156302519506799372621753777722997516365540443647560234338553049392538145240609409596973202110194970400527706019842573136665725851818086047786389490438924457884623484644336193968632084777040211608301842180642089257586153500862973975751455358827283606602566129207509130823433332559668516726595218903518425371007820190570246320873206795682391593715675905617531149856039313007678722 175692289427777002443730186992851046778479083690134058506866487811109222810935013336103379992421097873286879282453799627386512119124044308890855639777252442538736398320794760093862556693953656966939067258589396630840754708797820691277633071581367114045788478347658317668107138685321857091315807115706229792991659986828916139342494449683412722680398271637779372690056978647166095407588477709669383371114992234623875558275895268160408234037518126662061033623791495218368770930291146002458726583949213758672998521993869426019625278991359967945873119559704910091006514621835460455768141272496512218445583689597475695237892126623257523395799568201653963357887780383454097742835190860225694277600503828927518664983748647632245340733544613070737927274129747880143139849696610247586571341607824254695842571773997235331896889878445167676048370922985448817787869859814001842990323751429748434222016331829527753265566497145816402483047322943073317111878868352102799120033530173093231547951215309740617805801856100181530980072186195469741486591653634558100855141403080383325895527365553924012952323233537816389217974451135709036276713338437280060654136752206871850995542822003222957876940399610274150461804422054523769661768773745936761114247580050933390885186759254409444237409355163659231967019032401 284276095855427003949873671597945550429289858840765863807381254933244205332892117205180169084266026820319906655009456362293095525864809846521119525199326206837744502110348860470792151256636218834348430812880163926635516801385761793628486828215652874480147189249794366826305806986657450386868659745403634569580059479643210820076610542696351668261947889097230962998808654145411517052503485311622985328711571339743841274919909050017449011300683933948447811201116254519585592440143194584821854479817375868049550414804281181218245945747793291937299912455513943705762447972578408044247601036867991745117329987740872448938344155994762111568143257671964821059946011063041722601887213321719397756574657631270209184010774414372036260056040559272479391656108650259484956054791553081500433985281041324557873383769529593037811973910200134234182688239615135125427315078698266237243624623258034473683166182907788833705560864936972705002554122315695070889601865868468339563681090407431784597343753454981227215398829302291725950472713901489584059728319360409918941189189469873764819985250177408657288517202169901166258186059437551216918802596023433561517110727958327209822826428605789087084449530433707483021472938781118988565287199116944581304817826371806597680869150848125120143026886313515271280026711123 459968385283204006393603858590796597207768942530899922314247742744353428143827130541283549076687124693606785937463255989679607644988854155411975164976578649376480900431143620564654707950589875801287498071469560557476271510183582484906119899797019988525935667597452684494412945671979307478184466861109864362571719466472126959419104992379764390942346160735010335688865632792577612460091963021292368699826563574367716833195804318177857245338202060610508844824907749737954363370434340587280581063766589626722548936798150607237871224739153259883173032015218853796768962594413868500015742309364503963562913677338348144176236282618019634963942825873618784417833791446495820344722404181945092034175161460197727848994523062004281600789585172343217318930238398139628095904488163329087005326888865579253715955543526828369708863788645301910231059162600583943215184938512268080233948374687782907905182514737316586971127362082789107485601445258768388001480734220571138683714620580525016145294968764721845021200685402473256930544900096959325546319972994968019796330592550257090715512615731332670240840435707717555476160510573260253195515934460713622171247480165199060818369250609012044961389930043981633483277360835642758227055972862881342419065406422739988566055910102534564380436241477174503247045743524 744244481138631010343477530188742147637058801371665786121628997677597633476719247746463718160953151513926692592472712351972703170853664001933094690175904856214225402541492481035446859207226094635635928884349724484111788311569344278534606728012672863006082856847247051320718752658636757865053126606513498932151778946115337779495715535076116059204294049832241298687674286937989129512595448332915354028538134914111558108115713368195306256638885994558956656026024004257539955810577535172102435543583965494772099351602431788456117170486946551820472944470732797502531410566992276544263343346232495708680243665079220593114580438612781746532086083545583605477779802509537542946609617503664489790749819091467937033005297476376317860845625731615696710586347048399113051959279716410587439312169906903811589339313056421407520837698845436144413747402215719068642500017210534317477572997945817381588348697645105420676688227019761812488155567574463458891082600089039478247395710987956800742638722219703072236599514704764982881017613998448909606048292355377938737519782020130855535497865908741327529357637877618721734346570010811470114318530484147183688358208123526270641195679214801132045839460477689116504750299616761746792343171979825923723883232794546586246925060950659684523463127790689774527072454647 1204212866421835016737081388779538744844827743902565708435876740421951061620546378287747267237640276207533478529935968341652310815842518157345069855152483505590706302972636101600101567157815970436923426955819285041588059821752926763440726627809692851532018524444699735815131698330616065343237593467623363294723498412587464738914820527455880450146640210567251634376539919730566741972687411354207722728364698488479274941311517686373163501977088055169465500850931753995494319181011875759383016607350555121494648288400582395693988395226099811703645976485951651299300373161406145044279085655596999672243157342417568737290816721230801381496028909419202389895613593956033363291332021685609581824924980551665664881999820538380599461635210903958914029516585446538741147863767879739674444639058772483065305294856583249777229701487490738054644806564816303011857684955722802397711521372633600289493531212382422007647815589102550919973757012833231846892563334309610616931110331568481816887933690984424917257800200107238239811562514095408235152368265350345958533850374570387946251010481640073997770198073585336277210507080584071723309834464944860805859605688288725331459564929823813177007229390521670749988027660452404505019399144842707266142948639217286574812980971053194248903899369267864277774118198171 1948457347560466027080558918968280892481886545274231494557505738099548695097265626034210985398593427721460171122408680693625013986696182159278164545328388361804931705514128582635548426365042065072559355840169009525699848133322271041975333355822365714538101381291946787135850450989252823208290720074136862226875277358702802518410536062531996509350934260399492933064214206668555871485282859687123076756902833402590833049427231054568469758615974049728422156876955758253034274991589410931485452150934520616266747640003014184150105565713046363524118920956684448801831783728398421588542429001829495380923401007496789330405397159843583128028114992964785995373393396465570906237941639189274071615674799643133601915005118014756917322480836635574610740102932494937854199823047596150261883951228679386876894634169639671184750539186336174199058553967032022080500184972933336715189094370579417671081879910027527428324503816122312732461912580407695305783645934398650095178506042556438617630572413204127989494399714812003222692580128093857144758416557705723897271370156590518801786508347548815325299555711462954998944853650594883193424152995429007989547963896412251602100760609038614309053068850999359866492777960069166251811742316822533189866831872011833161059906032003853933427362497058554052301190652818 3152670213982301043817640307747819637326714289176797202993382478521499756717812004321958252636233703928993649652344649035277324802538700316623234400480871867395638008486764684235649993522858035509482782795988294567287907955075197805416059983632058566070119905736646522950982149319868888551528313541760225521598775771290267257325356589987876959497574470966744567440754126399122613457970271041330799485267531891070107990738748740941633260593062104897887657727887512248528594172601286690868468758285075737761395928403596579844093960939146175227764897442636100101132156889804566632821514657426495053166558349914358067696213881074384509524143902383988385269006990421604269529273660874883653440599780194799266797004938553137516784116047539533524769619517941476595347686815475889936328590287451869942199929026222920961980240673826912253703360531848325092357869928656139112900615743213017960575411122409949435972319405224863652435669593240927152676209268708260712109616374124920434518506104188552906752199914919241462504142642189265379910784823056069855805220531160906748037518829188889323069753785048291276155360731178954916733987460373868795407569584700976933560325538862427486060298241521030616480805620521570756831141461665240456009780511229119735872887003057048182331261866326418330075308850989 5101127561542767070898199226716100529808600834451028697550888216621048451815077630356169238034827131650453820774753329728902338789234882475901398945809260229200569714000893266871198419887900100582042138636157304092987756088397468847391393339454424280608221287028593310086832600309121711759819033615897087748474053129993069775735892652519873468848508731366237500504968333067678484943253130728453876242170365293660941040165979795510103019209036154626309814604843270501562869164190697622353920909219596354028143568406610763994199526652192538751883818399320548902963940618202988221363943659255990434089959357411147398101611040917967637552258895348774380642400386887175175767215300064157725056274579837932868712010056567894434106596884175108135509722450436414449547509863072040198212541516131256819094563195862592146730779860163086452761914498880347172858054901589475828089710113792435631657291032437476864296823221347176384897582173648622458459855203106910807288122416681359052149078517392680896246599629731244685196722770283122524669201380761793753076590687751425549824027176737704648369309496511246275100214381773838110158140455802876784955533481113228535661086147901041795113367092520390482973583580590737008642883778487773645876612383240952896932793035060902115758624363384972382376499503807 8253797775525068114715839534463920167135315123627825900544270695142548208532889634678127490671060835579447470427097978764179663591773582792524633346290132096596207722487657951106848413410758136091524921432145598660275664043472666652807453323086482846678341192765239833037814749628990600311347347157657313270072828901283337033061249242507750428346083202332982067945722459466801098401223401769784675727437897184731049030904728536451736279802098259524197472332730782750091463336791984313222389667504672091789539496810207343838293487591338713979648715841956649004096097508007554854185458316682485487256517707325505465797824921992352147076402797732762765911407377308779445296488960939041378496874360032732135509014995121031950890712931714641660279341968377891044895196678547930134541131803583126761294492222085513108711020533989998706465275030728672265215924830245614940990325857005453592232702154847426300269142626572040037333251766889549611136064471815171519397738790806279486667584621581233802998799544650486147700865412472387904579986203817863608881811218912332297861546005926593971439063281559537551255575112952793026892127916176745580363103065814205469221411686763469281173665334041421099454389201112307765474025240153014101886392894470072632805680038117950298089886229711390712451808354796 13354925337067835185614038761180020696943915958078854598095158911763596660347967265034296728705887967229901291201851308493082002381008465268426032292099392325796777436488551217978046833298658236673567060068302902753263420131870135500198846662540907127286562479793833143124647349938112312071166380773554401018546882031276406808797141895027623897194591933699219568450690792534479583344476532498238551969608262478391990071070708331961839299011134414150507286937574053251654332500982681935576310576724268445817683065216818107832493014243531252731532534241277197907060038126210543075549401975938475921346477064736652863899435962910319784628661693081537146553807764195954621063704261003199103553148939870665004221025051688926384997309815889749795789064418814305494442706541619970332753673319714383580389055417948105255441800394153085159227189529609019438073979731835090769080035970797889223889993187284903164565965847919216422230833940538172069595919674922082326685861207487638538816663138973914699245399174381730832897588182755510429249187584579657361958401906663757847685573182664298619808372778070783826355789494726631137050268371979622365318636546927434004882497834664511076287032426561811582427972781703044774116909018640787747763005277711025529738473073178852413848510593096363094828307858603 21608723112592903300329878295643940864079231081706680498639429606906144868880856899712424219376948802809348761628949287257261665972782048060950665638389524422392985158976209169084895246709416372765091981500448501413539084175342802153006299985627389973964903672559072976162462099567102912382513727931211714288619710932559743841858391137535374325540675136032201636396413252001280681745699934268023227697046159663123039101975436868413575578813232673674704759270304836001745795837774666248798700244228940537607222562027025451670786501834869966711181250083233846911156135634218097929734860292620961408602994772062158329697260884902671931705064490814299912465215141504734066360193221942240482050023299903397139730040046809958335888022747604391456068406387192196539337903220167900467294805123297510341683547640033618364152820928143083865692464560337691703289904562080705710070361827803342816122695342132329464835108474491256459564085707427721680731984146737253846083599998293918025484247760555148502244198719032216980598453595227898333829173788397520970840213125576090145547119188590892591247436059630321377611364607679424163942396288156367945681739612741639474103909521427980357460697760603232681882361982815352539590934258793801849649398172181098162544153111296802711938396822807753807280116213399 34963648449660738485943917056823961561023147039785535096734588518669741529228824164746720948082836770039250052830800595750343668353790513329376697930488916748189762595464760387062942080008074609438659041568751404166802504307212937653205146648168297101251466152352906119287109449505215224453680108704766115307166592963836150650655533032562998222735267069731421204847104044535760265090176466766261779666654422141515029173046145200375414877824367087825212046207878889253400128338757348184375010820953208983424905627243843559503279516078401219442713784324511044818216173760428641005284262268559437329949471836798811193596696847812991716333726183895837059019022905700688687423897482945439585603172239774062143951065098498884720885332563494141251857470806006502033780609761787870800048478443011893922072603057981723619594621322296169024919654089946711141363884293915796479150397798601232040012688529417232629401074322410472881794919647965893750327903821659336172769461205781556564300910899529063201489597893413947813496041777983408763078361372977178332798615032239847993232692371255191211055808837701105203967154102406055300992664660135990311000376159669073478986407356092491433747730187165044264310334764518397313707843277434589597412403449892123692282626184475655125786907415904116902108424072002 56572371562253641786273795352467902425102378121492215595374018125575886398109681064459145167459785572848598814459749883007605334326572561390327363568878441170582747754440969556147837326717490982203751023069199905580341588482555739806211446633795687075216369824911979095449571549072318136836193836635977829595786303896395894492513924170098372548275942205763622841243517296537040946835876401034285007363700581804638068275021582068788990456637599761499916805478183725255145924176532014433173711065182149521032128189270869011174066017913271186153895034407744891729372309394646738935019122561180398738552466608860969523293957732715663648038790674710136971484238047205422753784090704887680067653195539677459283681105145308843056773355311098532707925877193198698573118512981955771267343283566309404263756150698015341983747442250439252890612118650284402844653788855996502189220759626404574856135383871549562094236182796901729341359005355393615431059887968396590018853061204075474589785158660084211703733796612446164794094495373211307096907535161374699303638828157815938138779811559846083802303244897331426581578518710085479464935060948292358256682115772410712953090316877520471791208427947768276946192696747333749853298777536228391447061801622073221854826779295772457837725304238711870709388540285401 91536020011914380272217712409291863986125525161277750692108606644245627927338505229205866115542622342887848867290550478757949002680363074719704061499367357918772510349905729943210779406725565591642410064637951309747144092789768677459416593281963984176467835977264885214736680998577533361289873945340743944902952896860232045143169457202661370771011209275495044046090621341072801211926052867800546787030355003946153097448067727269164405334461966849325128851686062614508546052515289362617548721886135358504457033816514712570677345533991672405596608818732255936547588483155075379940303384829739836068501938445659780716890654580528655364372516858605974030503260952906111441207988187833119653256367779451521427632170243807727777658687874592673959783347999205200606899122743743642067391762009321298185828753755997065603342063572735421915531772740231113986017673149912298668371157425005806896148072400966794723637257119312202223153925003359509181387791790055926191622522409857031154086069559613274905223394505860112607590537151194715859985896534351877636437443190055786132012503931101275013359053735032531785545672812491534765927725608428348567682491932079786432076724233612963224956158134933321210503031511852147167006620813662981044474205071965345547109405480248112963512211654615987611496964357403 148108391574168022058491507761759766411227903282769966287482624769821514325448186293665011283002407915736447681750300361765554337006935636110031425068245799089355258104346699499358616733443056573846161087707151215327485681272324417265628039915759671251684205802176864310186252547649851498126067781976721774498739200756627939635683381372759743319287151481258666887334138637609842158761929268834831794394055585750791165723089309337953395791099566610825045657164246339763691976691821377050722432951317508025489162005785581581851411551904943591750503853140000828276960792549722118875322507390920234807054405054520750240184612313244319012411307533316111001987499000111534194992078892720799720909563319128980711313275389116570834432043185691206667709225192403899180017635725699413334735045575630702449584904454012407587089505823174674806143891390515516830671462005908800857591917051410381752283456272516356817873439916213931564512930358753124612447679758452516210475583613932505743871228219697486608957191118306277401685032524406022956893431695726576940076271347871724270792315490947358815662298632363958367124191522577014230862786556720706824364607704490499385167041111133435016164586082701598156695728259185897020305398349891372491536006694038567401936184776020570801237515893327858320885504642804 239644411586082402330709220171051630397353428444047716979591231414067142252786691522870877398545030258624296549040850840523503339687298710829735486567613157008127768454252429442569396140168622165488571152345102525074629774062093094725044633197723655428152041779441749524922933546227384859415941727317465719401692097616859984778852838575421114090298360756753710933424759978682643370687982136635378581424410589696944263171157036607117801125561533460150174508850308954272238029207110739668271154837452866529946195822300294152528757085896615997347112671872256764824549275704797498815625892220660070875556343500180530957075266893772974376783824391922085032490759953017645636200067080553919374165931098580502138945445632924298612090731060283880627492573191609099786916758469443055402126807584952000635413658210009473190431569395910096721675664130746630816689135155821099525963074476416188648431528673483151541510697035526133787666855362112633793835471548508442402098106023789536897957297779310761514180585624166390009275569675600738816879328230078454576513714537927510402804819422048633829021352367396490152669864335068548996790512165149055392047099636570285817243765344746398241120744217634919367198759771038044187312019163554353536010211766003912949045590256268683764749727547943845932382469000207 387752803160250424389200727932811396808581331726817683267073856183888656578234877816535888681547438174360744230791151202289057676694234346939766911635858956097483026558599128941928012873611678739334732240052253740402115455334417511990672673113483326679836247581618613835109186093877236357542009509294187493900431298373487924414536219948180857409585512238012377820758898616292485529449911405470210375818466175447735428894246345945071196916661100070975220166014555294035930005898932116718993587788770374555435357828085875734380168637801559589097616525012257593101510068254519617690948399611580305682610748554701281197259879207017293389195131925238196034478258953129179831192145973274719095075494417709482850258721022040869446522774245975087295201798384012998966934394195142468736861853160582703084998562664021880777521075219084771527819555521262147647360597161729900383554991527826570400714984945999508359384136951740065352179785720865758406283151306960958612573689637722042641828525999008248123137776742472667410960602200006761773772759925805031516589985885799234673597134912995992644683650999760448519794055857645563227653298721869762216411707341060785202410806455879833257285330300336517523894488030223941207617417513445726027546218460042480350981775032289254565987243441271704253267973643011 627397214746332826719909948103863027205934760170865400246665087597955798831021569339406766080092468432985040779832002042812561016381533057769502398203472113105610795012851558384497409013780300904823303392397356265476745229396510606715717306311206982107988289361060363360032119640104621216957951236611653213302123395990347909193389058523601971499883872994766088754183658594975128900137893542105588957242876765144679692065403382552188998042222633531125394674864864248308168035106042856387264742626223241085381553650386169886908925723698175586444729196884514357926059343959317116506574291832240376558167092054881812154335146100790267765978956317160281066969018906146825467392213053828638469241425516289984989204166654965168058613505306258967922694371575622098753851152664585524138988660745534703720412220874031353967952644614994868249495219652008778464049732317550999909518066004242759049146513619482659900894833987266199139846641082978392200118622855469401014671795661511579539785823778319009637318362366639057420236171875607500590652088155883486093103700423726745076401954335044626473705003367156938672463920192714112224443810887018817608458806977631071019654571800626231498406074517971436891093247801261985394929436677000079563556430226046393300027365288557938330736970989215550185650442643218 1015150017906583251109110676036674424014516091897683083513738943781844455409256447155942654761639906607345785010623153245101618693075767404709269309839331069203093821571450687326425421887391979644158035632449610005878860684730928118706389979424690308787824536942678977195141305733981857574499960745905840707202554694363835833607925278471782828909469385232778466574942557211267614429587804947575799333061342940592415120959649728497260194958883733602100614840879419542344098041004974973106258330414993615640816911478472045621289094361499735175542345721896771951027569412213836734197522691443820682240777840609583093351595025307807561155174088242398477101447277859276005298584359027103357564316919933999467839462887677006037505136279552234055217896169959635097720785546859727992875850513906117406805410783538053234745473719834079639777314775173270926111410329479280900293073057532069329449861498565482168260278970939006264492026426803844150606401774162430359627245485299233622181614349777327257760456139109111724831196774075614262364424848081688517609693686309525979749999089248040619118388654366917387192257976050359675452097109608888579824870514318691856222065378256506064755691404818307954414987735831485926602546854190445805591102648686088873651009140320847192896724214430487254438918416286229 1642547232652916077829020624140537451220450852068548483760404031379800254240278016495349420841732375040330825790455155287914179709457300462478771708042803182308704616584302245710922830901172280548981339024846966271355605914127438725422107285735897290895812826303739340555173425374086478791457911982517493920504678090354183742801314336995384800409353258227544555329126215806242743329725698489681388290304219705737094813025053111049449193001106367133226009515744283790652266076111017829493523073041216856726198465128858215508198020085197910761987074918781286308953628756173153850704096983276061058798944932664464905505930171408597828921153044559558758168416296765422830765976572080931996033558345450289452828667054331971205563749784858493023140590541535257196474636699524313517014839174651652110525823004412084588713426364449074508026809994825279704575460061796831900202591123536312088499008012184964828161173804926272463631873067886822542806520397017899760641917280960745201721400173555646267397774501475750782251432945951221762955076936237572003702797386733252724826401043583085245592093657734074325864721896243073787676540920495907397433329321296322927241719950057132296254097479336279391306080983632747911997476290867445885154659078912135266951036505609405131227461185419702804624568858929447 2657697250559499328938131300177211875234966943966231567274142975161644709649534463651292075603372281647676610801078308533015798402533067867188041017882134251511798438155752933037348252788564260193139374657296576277234466598858366844128497265160587599683637363246418317750314731108068336365957872728423334627707232784718019576409239615467167629318822643460323021904068773017510357759313503437257187623365562646329509933984702839546709387959990100735326624356623703332996364117115992802599781403456210472367015376607330261129487114446697645937529420640678058259981198168386990584901619674719881741039722773274047998857525196716405390076327132801957235269863574624698836064560931108035353597875265384288920668129942008977243068886064410727078358486711494892294195422246384041509890689688557769517331233787950137823458900084283154147804124769998550630686870391276112800495664181068381417948869510750446996421452775865278728123899494690666693412922171180330120269162766259978823903014523332973525158230640584862507082629720026836025319501784319260521312491073042778704576400132831125864710482312100991713056979872293433463128638030104795977258199835615014783463785328313638361009788884154587345721068719464233838600023145057891690745761727598224140602045645930252324124185399850190059063487275215676 4300244483212415406767151924317749326455417796034780051034547006541444963889812480146641496445104656688007436591533463820929978111990368329666812725924937433820503054740055178748271083689736540742120713682143542548590072512985805569550604550896484890579450189550157658305488156482154815157415784710940828548211910875072203319210553952462552429728175901687867577233194988823753101089039201926938575913669782352066604747009755950596158580961096467868552633872367987123648630193227010632093304476497427329093213841736188476637685134531895556699516495559459344568934826924560144435605716657995942799838667705938512904363455368125003218997480177361515993438279871390121666830537503188967349631433610834578373496796996340948448632635849269220101499077253030149490670058945908355026905528863209421627857056792362222412172326448732228655830934764823830335262330453072944700698255304604693506447877522935411824582626580791551191755772562577489236219442568198229880911080047220724025624414696888619792556005142060613289334062665978057788274578720556832525015288459776031429402801176414211110302575969835066038921701768536507250805178950600703374691529156911337710705505278370770657263886363490866737027149703096981750597499435925337575900420806510359407553082151539657455351646585269892863688056134145123 6957941733771914735705283224494961201690384740001011618308689981703089673539346943797933572048476938335684047392611772353945776514523436196854853743807071685332301492895808111785619336478300800935260088339440118825824539111844172413679101816057072490263087552796575976055802887590223151523373657439364163175919143659790222895619793567929720059046998545148190599137263761841263458848352705364195763537035344998396114680994458790142867968921086568603879258228991690456644994310343003434693085879953637801460229218343518737767172248978593202637045916200137402828916025092947135020507336332715824540878390479212560903220980564841408609073807310163473228708143446014820502895098434297002703229308876218867294164926938349925691701521913679947179857563964525041784865481192292396536796218551767191145188290580312360235631226533015382803635059534822380965949200844349057501193919485673074924396747033685858821004079356656829919879672057268155929632364739378560001180242813480702849527429220221593317714235782645475796416692386004893813594080504876093046327779532818810133979201309245336975013058281936057751978681640829940713933816980705499351949728992526352494169290606684409018273675247645454082748218422561215589197522580983229266646182534108583548155127797469909779475831985120082922751543409360799 11258186216984330142472435148812710528145802536035791669343236988244534637429159423944575068493581595023691483984145236174875754626513804526521666469732009119152804547635863290533890420168037341677380802021583661374414611624829977983229706366953557380842537742346733634361291044072377966680789442150304991724131054534862426214830347520392272488775174446836058176370458750665016559937391907291134339450705127350462719428004214740739026549882183036472431892101359677580293624503570014066786390356451065130553443060079707214404857383510488759336562411759596747397850852017507279456113052990711767340717058185151073807584435932966411828071287487524989222146423317404942169725635937485970052860742487053445667661723934690874140334157762949167281356641217555191275535540138200751563701747414976612773045347372674582647803552981747611459465994299646211301211531297422002201892174790277768430844624556621270645586705937448381111635444619845645165851807307576789882091322860701426875151843917110213110270240924706089085750755051982951601868659225432925571343067992594841563382002485659548085315634251771123790900383409366447964738995931306202726641258149437690204874795885055179675537561611136320819775368125658197339795022016908566842546603340618942955708209949009567234827478570389975786439599543505922 18216127950756244878177718373307671729836187276036803287651926969947624310968506367742508640542058533359375531376757008528821531141037240723376520213539080804485106040531671402319509756646338142612640890361023780200239150736674150396908808183010629871105625295143309610417093931662601118204163099589669154900050198194652649110450141088321992547822172991984248775507722512506280018785744612655330102987740472348858834108998673530881894518803269605076311150330351368036938618813913017501479476236404702932013672278423225952172029632489081961973608327959734150226766877110454414476620389323427591881595448664363634710805416497807820437145094797688462450854566763419762672620734371782972756090051363272312961826650873040799832035679676629114461214205182080233060401021330493148100497965966743803918233637952986942883434779514762994263101053834468592267160732141771059703086094275950843355241371590307129466590785294105211031515116677113801095484172046955349883271565674182129724679273137331806427984476707351564882167447437987845415462739730309018617670847525413651697361203794904885060328692533707181542879065050196388678672812912011702078590987141964042699044086491739588693811236858781774902523586548219412928992544597891796109192785874727526503863337746479477014303310555510058709191142952866721 29474314167740575020650153522120382257981989812072594956995163958192158948397665791687083709035640128383067015360902244703697285767551045249898186683271089923637910588167534692853400176814375484290021692382607441574653762361504128380138514549964187251948163037490043244778384975734979084884952541739974146624181252729515075325280488608714265036597347438820306951878181263171296578723136519946464442438445599699321553537002888271620921068685452641548743042431711045617232243317483031568265866592855768062567115338502933166576887015999570721310170739719330897624617729127961693932733442314139359222312506849514708518389852430774232265216382285213451673000990080824704842346370309268942808950793850325758629488374807731673972369837439578281742570846399635424335936561468693899664199713381720416691278985325661525531238332496510605722567048134114803568372263439193061904978269066228611786085996146928400112177491231553592143150561296959446261335979354532139765362888534883556599831117054442019538254717632057653967918202489970797017331398955741944189013915518008493260743206280564433145644326785478305333779448459562836643411808843317904805232245291401732903918882376794768369348798469918095722298954673877610268787566614800362951739389215346469459571547695489044249130789125900034495630742496372643 47690442118496819898827871895428053987818177088109398244647090928139783259366172159429592349577698661742442546737659253232518816908588285973274706896810170728123016628699206095172909933460713626902662582743631221774892913098178278777047322732974817123053788332633352855195478907397580203089115641329643301524231450924167724435730629697036257584419520430804555727385903775677576597508881132601794545426186072048180387646001561802502815587488722246625054192762062413654170862131396049069745342829260470994580787616926159118748916648488652683283779067679065047851384606238416108409353831637566951103907955513878343229195268928582052702361477082901914123855556844244467514967104681051915565040845213598071591315025680772473804405517116207396203785051581715657396337582799187047764697679348464220609512623278648468414673112011273599985668101968583395835532995580964121608064363342179455141327367737235529578768276525658803174665677974073247356820151401487489648634454209065686324510390191773825966239194339409218850085649927958642432794138686050962806684763043422144958104410075469318205973019319185486876658513509759225322084621755329606883823232433365775602962968868534357063160035328699870624822541222097023197780111212692159060932175090073995963434885441968521263434099681410093204821885449239364 77164756286237394919478025417548436245800166900181993201642254886331942207763837951116676058613338790125509562098561497936216102676139331223172893580081260651760927216866740788026310110275089111192684275126238663349546675459682407157185837282939004375001951370123396099973863883132559287974068183069617448148412703653682799761011118305750522621016867869624862679264085038848873176232017652548258987864631671747501941183004450074123736656174174888173797235193773459271403105448879080638011209422116239057147902955429092285325803664488223404593949807398395945476002335366377802342087273951706310326220462363393051747585121359356284967577859368115365796856546925069172357313474990320858373991639063923830220803400488504147776775354555785677946355897981351081732274144267880947428897392730184637300791608604309993945911444507784205708235150102698199403905259020157183513042632408408066927413363884163929690945767757212395317816239271032693618156130756019629413997342743949242924341507246215845504493911971466872818003852417929439450125537641792906995698678561430638218847616356033751351617346104663792210437961969322061965496430598647511689055477724767508506881851245329125432508833798617966347121495895974633466567677827492522012671564305420465423006433137457565512564888807310127700452627945612007 124855198404734214818305897312976490233618343988291391446289345814471725467130010110546268408191037451867952108836220751168734919584727617196447600476891431379883943845565946883199220043735802738095346857869869885124439588557860685934233160015913821498055739702756748955169342790530139491063183824399260749672644154577850524196741748002786780205436388300429418406649988814526449773740898785150053533290817743795682328829006011876626552243662897134798851427955835872925573967580275129707756552251376710051728690572355251404074720312976876087877728875077460993327386941604793910751441105589273261430128417877271394976780390287938337669939336451017279920712103769313639872280579671372773939032484277521901812118426169276621581180871671993074150140949563066739128611727067067995193595072078648857910304231882958462360584556519057805693903252071281595239438254601121305121106995750587522068740731621399459269714044282871198492481917245105940974976282157507119062631796953014929248851897437989671470733106310876091668089502345888081882919676327843869802383441604852783176952026431503069557590365423849279087096475479081287287581052353977118572878710158133284109844820113863482495668869127317836971944037118071656664347789040184681073603739395494461386441318579426086775998988488720220905274513394851371 202019954690971609737783922730524926479418510888473384647931600700803667674893848061662944466804376241993461670934782249104951022260866948419620494056972692031644871062432687671225530154010891849288031132996108548473986264017543093091418997298852825873057691072880145055143206673662698779037252007468878197821056858231533323957752866308537302826453256170054281085914073853375322949972916437698312521155449415543184270012010461950750288899837072022972648663149609332196977073029154210345767761673492949108876593527784343689400523977465099492471678682475856938803389276971171713093528379540979571756348880240664446724365511647294622637517195819132645717568650694382812229594054661693632313024123341445732032921826657780769357956226227778752096496847544417820860885871334948942622492464808833495211095840487268456306496001026842011402138402173979794643343513621278488634149628158995588996154095505563388960659812040083593810298156516138634593132412913526748476629139696964172173193404684205516975227018282342964486093354763817521333045213969636776798082120166283421395799642787536820909207711528513071297534437448403349253077482952624630261934187882900792616726671359192607928177702925935803319065533014046290130915466867677203086275303700914926809447751716883652288563877296030348605727141340463378 326875153095705824556089820043501416713036854876764776094220946515275393142023858172209212874995413693861413779771003000273685941845594565616068094533864123411528814907998634554424750197746694587383377990865978433598425852575403779025652157314766647371113430775636894010312549464192838270100435831868138947493701012809383848154494614311324083031889644470483699492564062667901772723713815222848366054446267159338866598841016473827376841143499969157771500091105445205122551040609429340053524313924869659160605284100139595093475244290441975580349407557553317932130776218575965623844969485130252833186477298117935841701145901935232960307456532270149925638280754463696452101874634333066406252056607618967633845040252827057390939137097899771826246637797107484559989497598402016937816087536887482353121400072370226918667080557545899817096041654245261389882781768222399793755256623909583111064894827126962848230373856322954792302780073761244575568108695071033867539260936649979101422045302122195188445960124593219056154182857109705603215964890297480646600465561771136204572751669219039890466798076952362350384630912927484636540658535306601748834812898041034076726571491473056090423846572053253640291009570132117946795263255907861884159879043096409388195889070296309739064562865784750569511001654735314749 528895107786677434293873742774026343192455365765238160742152547216079060816917706233872157341799789935854875450705785249378636964106461514035688588590836815443173685970431322225650280351757586436671409123862086982072412116592946872117071154613619473244171121848517039065455756137855537049137687839337017145314757871040917172112247480619861385858342900640537980578478136521277095673686731660546678575601716574882050868853026935778127130043337041180744148754255054537319528113638583550399292075598362608269481877627923938782875768267907075072821086240029174870934165495547137336938497864671232404942826178358600288425511413582527582944973728089282571355849405158079264331468688994760038565080730960413365877962079484838160297093324127550578343134644651902380850383469736965880438580001696315848332495912857495374973576558572741828498180056419241184526125281843678282389406252068578700061048922632526237191033668363038386113078230277383210161241107984560616015890076346943273595238706806400705421187142875562020640276211873523124549010104267117423398547681937419625968551312006576711376005788480875421682165350375887985793736018259226379096747085923934869343298162832248698352024274979189443610075103146164236926178722775539087246154346797324315005336822013193391353126743080780918116728796075778127 855770260882383258849963562817527759905492220642002936836373493731354453958941564406081370216795203629716289230476788249652322905952056079651756683124700938854702500878429956780075030549504281024054787114728065415670837969168350651142723311928386120615284552624153933075768305602048375319238123671205156092808458883850301020266742094931185468890232545111021680071042199189178868397400546883395044630047983734220917467694043409605503971186837010338515648845360499742442079154248012890452816389523232267430087161728063533876351012558349050653170493797582492803064941714123102960783467349801485238129303476476536130126657315517760543252430260359432496994130159621775716433343323327826444817137338579380999723002332311895551236230422027322404589772441759386940839881068138982818254667538583798201453895985227722293640657116118641645594221710664502574408907050066078076144662875978161811125943749759489085421407524685993178415858304038627785729349803055594483555151012996922375017284008928595893867147267468781076794459068983228727764974994564598069999013243708555830541302981225616601842803865433237772066796263303372622334394553565828127931559983964968946069869654305304788775870847032443083901084673278282183721441978683400971406033389893733703201225892309503130417689608865531487627730450811092876 1384665368669060693143837305591554103097947586407241097578526040947433514775859270639953527558594993565571164681182573499030959870058517593687445271715537754297876186848861279005725310901261867460726196238590152397743250085761297523259794466542005593859455674472670972141224061739903912368375811510542173238123216754891218192378989575551046854748575445751559660649520335710455964071087278543941723205649700309102968336547070345383631101230174051519259797599615554279761607267886596440852108465121594875699569039355987472659226780826256125725991580037611667673999107209670240297721965214472717643072129654835136418552168729100288126197403988448715068349979564779854980764812012322586483382218069539794365600964411796733711533323746154872982932907086411289321690264537875948698693247540280114049786391898085217668614233674691383474092401767083743758935032331909756358534069128046740511186992672392015322612441193049031564528936534316010995890590911040155099571041089343865648612522715734996599288334410344343097434735280856751852313985098831715493397560925645975456509854293232193313218809653914113193748961613679260608128130571825054507028307069888903815413167817137553487127895122011632527511159776424446420647620701458940058652187736691058018206562714322696521770816351946312405744459246886871003 2240435629551443951993800868409081863003439807049244034414899534678787968734800835046034897775390197195287453911659361748683282776010573673339201954840238693152578687727291235785800341450766148484780983353318217813414088054929648174402517778470391714474740227096824905216992367341952287687613935181747329330931675638741519212645731670482232323638807990862581340720562534899634832468487825427336767835697684043323885804241113754989135072417011061857775446444976054022203686422134609331304924854644827143129656201084051006535577793384605176379162073835194160477064048923793343258505432564274202881201433131311672548678826044618048669449834248808147565344109724401630697198155335650412928199355408119175365323966744108629262769554168182195387522679528170676262530145606014931516947915078863912251240287883312939962254890790810025119686623477748246333343939381975834434678732004024902322312936422151504408033848717735024742944794838354638781619940714095749583126192102340788023629806724663592493155481677813124174229194349839980580078960093396313563396574169354531287051157274457809915061613519347350965815757876982633230462525125390882634959867053853872761483037471442858275903765969044075611412244449702728604369062680142341030058221126584791721407788606632199652188505960811843893372189697697963879 3625100998220504645137638174000635966101387393456485131993425575626221483510660105685988425333985190760858618592841935247714242646069091267026647226555776447450454874576152514791525652352028015945507179591908370211157338140690945697662312245012397308334195901569495877358216429081856200055989746692289502569054892393632737405024721246033279178387383436614141001370082870610090796539575103971278491041347384352426854140788184100372766173647185113377035244044591608301965293690021205772157033319766422018829225240440038479194804574210861302105153653872805828151063156133463583556227397778746920524273562786146808967230994773718336795647238237256862633694089289181485677962967347972999411581573477658969730924931155905362974302877914337068370455586614581965584220410143890880215641162619144026301026679781398157630869124465501408593779025244831990092278971713885590793212801132071642833499929094543519730646289910784056307473731372670649777510531625135904682697233191684653672242329440398589092443816088157467271663929630696732432392945192228029056794135095000506743561011567690003228280423173261464159564719490661893838590655697215937141988174123742776576896205288580411763031661091055708138923404226127175025016683381601281088710408863275849739614351320954896173959322312758156299116648944584834882 5865536627771948597131439042409717829104827200505729166408325110305009452245460940732023323109375387956146072504501296996397525422079664940365849181396015140603033562303443750577325993802794164430288162945226588024571426195620593872064830023482789022808936128666320782575208796423808487743603681874036831899986568032374256617670452916515511502026191427476722342090645405509725629008062929398615258877045068395750739945029297855361901246064196175234810690489567662324168980112155815103461958174411249161958881441524089485730382367595466478484315727707999988628127205057256926814732830343021123405474995917458481515909820818336385465097072486065010199038199013583116375161122683623412339780928885778145096248897900013992237072432082519263757978266142752641846750555749905811732589077698007938552266967664711097593124015256311433713465648722580236425622911095861425227891533136096545155812865516695024138680138628519081050418526211025288559130472339231654265823425294025441695872136165062181585599297765970591445893123980536713012471905285624342620190709264355038030612168842147813143342036692608815125380477367644527069053180822606819776948041177596649338379242760023270038935427060099783750335648675829903629385746061743622118768629989860641461022139927587095826147828273570000192488838642282798761 9490637625992453242269077216410353795206214593962214298401750685931230935756121046418011748443360578717004691097343232244111768068148756207392496407951791588053488436879596265368851646154822180375795342537134958235728764336311539569727142268495186331143132030235816659933425225505664687799593428566326334469041460426006994022695174162548790680413574864090863343460728276119816425547638033369893749918392452748177594085817481955734667419711381288611845934534159270626134273802177020875618991494177671180788106681964127964925186941806327780589469381580805816779190361190720510370960228121768043929748558703605290483140815592054722260744310723321872832732288302764602053124090031596411751362502363437114827173829055919355211375309996856332128433852757334607430970965893796691948230240317151964853293647446109255223993139721812842307244673967412226517901882809747016021104334268168187989312794611238543869326428539303137357892257583695938336641003964367558948520658485710095368114465605460770678043113854128058717557053611233445444864850477852371676984844359355544774173180409837816371622459865870279284945196858306420907643836519822756918936215301339425915275448048603681801967088151155491889259052901957078654402429443344903207479038853136491200636491248541992000107150586328156491605487586867633643 15356174253764401839400516258820071624311041794467943464810075796236240388001581987150035071552735966673150763601844529240509293490228421147758345589347806728656521999183040015946177639957616344806083505482361546260300190531932133441791972291977975353952068158902137442508634021929473175543197110440363166369028028458381250640365627079064302182439766291567585685551373681629542054555700962768509008795437521143928334030846779811096568665775577463846656625023726932950303253914332835979080949668588920342746988123488217450655569309401794259073785109288805805407317566247977437185693058464789167335223554621063771999050636410391107725841383209386883031770487316347718428285212715219824091143431249215259923422726955933347448447742079375595886412118900087249277721521643702503680819318015159903405560615110820352817117154978124276020710322689992462943524793905608441248995867404264733145125660127933568008006567167822218408310783794721226895771476303599213214344083779735537063986601770522952263642411620098650163450177591770158457336755763476714297175553623710582804785349251985629514964496558479094410325674225950947976697017342429576695884256478936075253654690808626951840902515211255275639594701577786982283788175505088525326247668842997132661658631176129087826254978859898156684094326229150432404 24846811879756855081669593475230425419517256388430157763211826482167471323757703033568046819996096545390155454699187761484621061558377177355150841997299598316710010436062636281315029286112438525181878848019496504496028954868243673011519114560473161685095200189137954102442059247435137863342790539006689500838069488884388244663060801241613092862853341155658449029012101957749358480103338996138402758713829973892105928116664261766831236085486958752458502559557886203576437527716509856854699941162766591523535094805452345415580756251208122039663254490869611622186507927438697947556653286586557211264972113324669062482191452002445829986585693932708755864502775619112320481409302746816235842505933612652374750596556011852702659823052076231928014845971657421856708692487537499195629049558332311868258854262556929608041110294699937118327954996657404689461426676715355457270100201672432921134438454739172111877332995707125355766203041378417165232412480267966772162864742265445632432101067375983722941685525474226708881007231203003603902201606241329085974160397983066127578958529661823445886586956424349373695270871084257368884340853862252333614820471780275501168930138857230633642869603362410767528853754479744060938190604948433428533726707696133623862295122424671079826362129446226313175699813816018066047 40202986133521256921070109734050497043828298182898101228021902278403711711759285020718081891548832512063306218301032290725130355048605598502909187586647405045366532435245676297261206926070054869987962353501858050756329145400175806453311086852451137039047268348040091544950693269364611038885987649447052667207097517342769495303426428320677395045293107447226034714563475639378900534659039958906911767509267495036034262147511041577927804751262536216305159184581613136526740781630842692833780890831355511866282082928940562866236325560609916298737039600158417427593825493686675384742346345051346378600195667945732834481242088412836937712427077142095638896273262935460038909694515462036059933649364861867634674019282967786050108270794155607523901258090557509105986414009181201699309868876347471771664414877667749960858227449678061394348665319347397152404951470620963898519096069076697654279564114867105679885339562874947574174513825173138392128183956571565985377208826045181169496087669146506675205327937094325359044457408794773762359538362004805800271335951606776710383743878913809075401551452982828468105596545310208316861037871204681910310704728259211576422584829665857585483772118573666043168448456057531043221978780453521953859974376539130756523953753600800167652617108306124469859794140045168498451 65049798013278112002739703209280922463345554571328258991233728760571183035516988054286128711544929057453461673000220052209751416606982775858060029583947003362076542871308312578576236212182493395169841201521354555252358100268419479464830201412924298724142468537178045647392752516799748902228778188453742168045167006227157739966487229562290487908146448602884483743575577597128259014762378955045314526223097468928140190264175303344759040836749494968763661744139499340103178309347352549688480831994122103389817177734392908281817081811818038338400294091028029049780333421125373332298999631637903589865167781270401896963433540415282767699012771074804394760776038554572359391103818208852295776155298474520009424615838979638752768093846231839451916104062214930962695106496718700894938918434679783639923269140224679568899337744377998512676620316004801841866378147336319355789196270749130575414002569606277791762672558582072929940716866551555557360596436839532757540073568310626801928188736522490398147013462568552067925464639997777366261739968246134886245496349589842837962702408575632521288138409407177841800867416394465685745378725066934243925525200039487077591514968523088219126641721936076810697302210537275104160169385401955382393701084235264380386248876025471247478979237752350783035493953861186564498 105252784146799368923809812943331419507173852754226360219255631038974894747276273075004210603093761569516767891301252342934881771655588374360969217170594408407443075306553988875837443138252548265157803555023212606008687245668595285918141288265375435763189736885218137192343445786164359941114765837900794835252264523569927235269913657882967882953439556050110518458139053236507159549421418913952226293732364963964174452411686344922686845588012031185068820928721112476629919090978195242522261722825477615256099260663333471148053407372427954637137333691186446477374158914812048717041345976689249968465363449216134731444675628828119705411439848216900033657049301490032398300798333670888355709804663336387644098635121947424802876364640387446975817362152772440068681520505899902594248787311027255411587684017892429529757565194056059907025285635352198994271329617957283254308292339825828229693566684473383471648012121457020504115230691724693949488780393411098742917282394355807971424276405668997073352341399662877426969922048792551128621278330250940686516832301196619548346446287489441596689689862390006309906463961704674002606416596271616154236229928298698654014099798188945804610413840509742853865750666594806147382148165855477336253675460774395136910202629626271415131596346058475252895288093906355062949 170302582160077480926549516152612341970519407325554619210489359799546077782793261129290339314638690626970229564301472395144633188262571150219029246754541411769519618177862301454413679350435041660327644756544567161261045345937014765382971489678299734487332205422396182839736198302964108843343544026354537003297431529797084975236400887445258370861586004652995002201714630833635418564183797868997540819955462432892314642675861648267445886424761526153832482672860611816733097400325547792210742554819599718645916438397726379429870489184245992975537627782214475527154492335937422049340345608327153558330531230486536628408109169243402473110452619291704428417825340044604757691902151879740651485959961810907653523250960927063555644458486619286427733466214987371031376627002618603489187705745707039051510953158117109098656902938434058419701905951357000836137707765293602610097488610574958805107569254079661263410684680039093434055947558276249506849376830250631500457355962666434773352465142191487471499354862231429494895386688790328494883018298497075572762328650786462386309148696065074117977828271797184151707331378099139688351795321338550398161755128338185731605614766712034023737055562445819664563052877132081251542317551257432718647376545009659517296451505651742662610575583810826035930782047767541627447 275555366306876849850359329095943761477693260079780979429744990838520972530069534204294549917732452196486997455602724738079514959918159524579998463925135820176962693484416290330251122488687589925485448311567779767269732591605610051301112777943675170250521942307614320032079644089128468784458309864255331838549696053367012210506314545328226253815025560703105520659853684070142578113605216782949767113687827396856489095087547993190132732012773557338901303601581724293363016491303743034733004277645077333902015699061059850577923896556673947612674961473400922004528651250749470766381691585016403526795894679702671359852784798071522178521892467508604462074874641534637155992700485550629007195764625147295297621886082874488358520823127006733403550828367759811100058147508518506083436493056734294463098637176009538628414468132490118326727191586709199830409037383250885864405780950400787034801135938553044735058696801496113938171178250000943456338157223661730243374638357022242744776741547860484544851696261894306921865308737582879623504296628748016259279160951983081934655594983554515714667518134187190461613795339803813690958211917610166552397985056636884385619714564900979828347469402955562518428803543726887398924465717112910054901052005784054654206654135278014077742171929869301288826070141673896690396 445857948466954330776908845248556103448212667405335598640234350638067050312862795333584889232371142823457227019904197133224148148180730674799027710679677231946482311662278591784664801839122631585813093068112346928530777937542624816684084267621974904737854147730010502871815842392092577627801853890609868841847127583164097185742715432773484624676611565356100522861568314903777996677789014651947307933643289829748803737763409641457578618437535083492733786274442336110096113891629290826943746832464677052547932137458786230007794385740919940588212589255615397531683143586686892815722037193343557085126425910189207988260893967314924651632345086800308890492699981579241913684602637430369658681724586958202951145137043801551914165281613626019831284294582747182131434774511137109572624198802441333514609590334126647727071371070924176746429097538066200666546745148544488474503269560975745839908705192632705998469381481535207372227125808277192963187534053912361743831994319688677518129206690051972016351051124125736416760695426373208118387314927245091832041489602769544320964743679619589832645346405984374613321126717902953379310007238948716950559740184975070117225329331613013852084524965401382182991856420858968650466783268370342773548428550793714171503105640929756740352747513680127324756852189441438317843 721413314773831180627268174344499864925905927485116578069979341476588022842932329537879439150103595019944224475506921871303663108098890199379026174604813052123445005146694882114915924327810221511298541379680126695800510529148234867985197045565650074988376090037624822903895486481221046412260163754865200680396823636531109396249029978101710878491637126059206043521421998973920574791394231434897075047331117226605292832850957634647711350450308640831635089876024060403459130382933033861676751110109754386449947836519846080585718282297593888200887550729016319536211794837436363582103728778359960611922320589891879348113678765386446830154237554308913352567574623113879069677303122980998665877489212105498248767023126676040272686104740632753234835122950506993231492922019655615656060691859175627977708227510136186355485839203414295073156289124775400496955782531795374338909050511376532874709841131185750733528078283031321310398304058278136419525691277574091987206632676710920262905948237912456561202747386020043338626004163956087741891611555993108091320650554752626255620338663174105547312864540171565074934922057706767070268219156558883502957725241611954502845043896513993680431994368356944701420659964585856049391248985483252828449480556577768825709759776207770818094919443549428613582922331115335008239 1167271263240785511404177019593055968374118594890452176710213692114655073155795124871464328382474737843401451495411119004527811256279620874178053885284490284069927316808973473899580726166932853097111634447792473624331288466690859684669281313187624979726230237767635325775711328873313624040062017645475069522243951219695206581991745410875195503168248691415306566382990313877698571469183246086844382980974407056354096570614367276105289968887843724324368876150466396513555244274562324688620497942574431438997879973978632310593512668038513828789100139984631717067894938424123256397825765971703517697048746500081087336374572732701371481786582641109222243060274604693120983361905760411368324559213799063701199912160170477592186851386354258773066119417533254175362927696530792725228684890661616961492317817844262834082557210274338471819585386662841601163502527680339862813412320072352278714618546323818456731997459764566528682625429866555329382713225331486453731038626996399597781035154927964428577553798510145779755386699590329295860278926483238199923362140157522170576585082342793695379958210946155939688256048775609720449578226395507600453517465426587024620070373228127007532516519333758326884412516385444824699858032253853595601997909107371482997212865417137527558447666957229555938339774520556773326082 1888684578014616692031445193937555833300024522375568754780193033591243095998727454409343767532578332863345675970918040875831474364378511073557080059889303336193372321955668356014496650494743074608410175827472600320131798995839094552654478358753275054714606327805260148679606815354534670452322181400340270202640774856226315978240775388976906381659885817474512609904412312851619146260577477521741458028305524282959389403465324910753001319338152365156003966026490456917014374657495358550297249052684185825447827810498478391179230950336107716989987690713648036604106733261559619979929494750063478308971067089972966684488251498087818311940820195418135595627849227807000053039208883392366990436703011169199448679183297153632459537491094891526300954540483761168594420618550448340884745582520792589470026045354399020438043049477752766892741675787617001660458310212135237152321370583728811589328387455004207465525538047597849993023733924833465802238916609060545718245259673110518043941103165876885138756545896165823094012703754285383602170538039231308014682790712274796832205421005967800927271075486327504763190970833316487519846445552066483956475190668198979122915417124641001212948513702115271585833176350030680749249281239336848430447389663949251822922625193345298376542586400778984551922696851672108334321 3055955841255402203435622213530611801674143117266020931490406725705898169154522579280808095915053070706747127466329159880359285620658131947735133945173793620263299638764641829914077376661675927705521810275265073944463087462529954237323759671940900034440836565572895474455318144227848294492384199045815339724884726075921522560232520799852101884828134508889819176287402626729317717729760723608585841009279931339313485974079692186858291288225996089480372842176956853430569618932057683238917746995258617264445707784477110701772743618374621545779087830698279753672001671685682876377755260721766996006019813590054054020862824230789189793727402836527357838688123832500121036401114643803735314995916810232900648591343467631224646388877449150299367073958017015343957348315081241066113430473182409550962343863198661854520600259752091238712327062450458602823960837892475099965733690656081090303946933778822664197522997812164378675649163791388795184952141940546999449283886669510115824976258093841313716310344406311602849399403344614679462449464522469507938044930869796967408790503348761496307229286432483444451447019608926207969424671947574084409992656094786003742985790352768008745465033035873598470245692735475505449107313493190444032445298771320734820135490610482825934990253358008540490262471372228881660403 4944640419270018895467067407468167634974167639641589686270599759297141265153250033690151863447631403570092803437247200756190759985036643021292214005063096956456671960720310185928574027156419002313931986102737674264594886458369048789978238030694175089155442893378155623134924959582382964944706380446155609927525500932147838538473296188829008266488020326364331786191814939580936863990338201130327299037585455622272875377545017097611292607564148454636376808203447310347583993589553041789214996047942803089893535594975589092951974568710729262769075521411927790276108404947242496357684755471830474314990880680027020705351075728877008105668223031945493434315973060307121089440323527196102305432619821402100097270526764784857105926368544041825668028498500776512551768933631689406998176055703202140432369908553060874958643309229844005605068738238075604484419148104610337118055061239809901893275321233826871663048535859762228668672897716222260987191058549607545167529146342620633868917361259718198855066890302477425943412107098900063064620002561700815952727721582071764240995924354729297234500361918810949214637990442242695489271117499640568366467846762984982865901207477409009958413546737988870056078869085506186198356594732527292462892688435269986643058115803828124311532839758787525042185168223900989994724 8000596260525421098902689620998779436648310756907610617761006485003039434307772612970959959362684474276839930903576360636550045605694774969027347950236890576719971599484952015842651403818094930019453796378002748209057973920899003027301997702635075123596279458951051097590243103810231259437090579491970949652410227008069361098705816988681110151316154835254150962479217566310254581720098924738913140046865386961586361351624709284469583895790144544116749650380404163778153612521610725028132743043201420354339243379452699794724718187085350808548163352110207543948110076632925372735440016193597470321010694270081074726213899959666197899395625868472851273004096892807242125841438170999837620428536631635000745861870232416081752315245993192125035102456517791856509117248712930473111606528885611691394713771751722729479243568981935244317395800688534207308379985997085437083788751895890992197222255012649535860571533671926607344322061507611056172143200490154544616813033012130749693893619353559512571377234708789028792811510443514742527069467084170323890772652451868731649786427703490793541729648351294393666085010051168903458695789447214652776460502857770986608886997830177018703878579773862468526324561820981691647463908225717736495337987206590721463193606414310950246523093116796065532447639596129871655127 12945236679795439994369757028466947071622478396549200304031606244300180699461022646661111822810315877846932734340823561392740805590731417990319561955299987533176643560205262201771225430974513932333385782480740422473652860379268051817280235733329250212751722352329206720725168063392614224381796959938126559579935727940217199637179113177510118417804175161618482748671032505891191445710437125869240439084450842583859236729169726382080876503354292998753126458583851474125737606111163766817347739091144223444232778974428288887676692755796080071317238873522135334224218481580167869093124771665427944636001574950108095431564975688543206005063848900418344707320069953114363215281761698195939925861156453037100843132396997200938858241614537233950703130955018568369060886182344619880109782584588813831827083680304783604437886878211779249922464538926609811792799134101695774201843813135700894090497576246476407523620069531688836012994959223833317159334259039762089784342179354751383562810980613277711426444125011266454736223617542414805591689469645871139843500374033940495890782352058220090776230010270105342880723000493411598947966906946855221142928349620755969474788205307586028662292126511851338582403430906487877845820502958245028958230675641860708106251722218139074558055932875583590574632807820030861649851 20945832940320861093272446649465726508270789153456810921792612729303220133768795259632071782173000352123772665244399922029290851196426192959346909905536878109896615159690214217613876834792608862352839578858743170682710834300167054844582233435964325336348001811280257818315411167202845483818887539430097509232345954948286560735884930166191228569120329996872633711150250072201446027430536050608153579131316229545445598080794435666550460399144437542869876108964255637903891218632774491845480482134345643798572022353880988682401410942881430879865402225632342878172328558213093241828564787859025414957012269220189170157778875648209403904459474768891195980324166845921605341123199869195777546289693084672101588994267229617020610556860530426075738233411536360225570003431057550353221389113474425523221797452056506333917130447193714494239860339615144019101179120098781211285632565031591886287719831259125943384191603203615443357317020731444373331477459529916634401155212366882133256704599966837223997821359720055483529035127985929548118758936730041463734273026485809227540568779761710884317959658621399736546808010544580502406662696394069873919388852478526956083675203137763047366170706285713807108727992727469569493284411183962765453568662848451429569445328632450024804579025992379656107080447416160733304978 33891069620116301087642203677932673579893267550006011225824218973603400833229817906293183604983316229970705399585223483422031656787157610949666471860836865643073258719895476419385102265767122794686225361339483593156363694679435106661862469169293575549099724163609464539040579230595459708200684499368224068812281682888503760373064043343701346986924505158491116459821282578092637473140973176477394018215767072129304834809964162048631336902498730541623002567548107112029628824743938258662828221225489867242804801328309277570078103698677510951182641099154478212396547039793261110921689559524453359593013844170297265589343851336752609909523323669309540687644236799035968556404961567391717472150849537709202432126664226817959468798475067660026441364366554928594630889613402170233331171698063239355048881132361289938355017325405493744162324878541753830893978254200476985487476378167292780378217407505602350907811672735304279370311979955277690490811718569678724185497391721633516819515580580114935424265484731321938265258745528344353710448406375912603577773400519749723431351131819930975094189668891505079427531011037992101354629603340925095062317202099282925558463408445349076028462832797565145691131423633957447339104914142207794411799338490312137675697050850589099362634958867963246681713255236191594954829 54836902560437162180914650327398400088164056703462822147616831702906620966998613165925255387156316582094478064829623405451322507983583803909013381766373743752969873879585690636998979100559731657039064940198226763839074528979602161506444702605257900885447725974889722357355990397798305192019572038798321578044627637836790321108948973509892575556044835155363750170971532650294083500571509227085547597347083301674750432890758597715181797301643168084492878676512362749933520043376712750508308703359835511041376823682190266252479514641558941831048043324786821090568875598006354352750254347383478774550026113390486435747122726984962013813982798438200736667968403644957573897528161436587495018440542622381304021120931456434980079355335598086102179597778091288820200893044459720586552560811537664878270678584417796272272147772599208238402185218156897849995157374299258196773108943198884666665937238764728294292003275938919722727629000686722063822289178099595358586652604088515650076220180546952159422086844451377421794293873514273901829207343105954067312046427005558950971919911581641859412149327512904815974339021582572603761292299734994968981706054577809881642138611583112123394633539083278952799859416361427016832389325326170559865368001338763567245142379483039124167213984860342902788793702652352328259807 88727972180553463268556854005331073668057324253468833373441050676510021800228431072218438992139632812065183464414846888873354164770741414858679853627210609396043132599481167056384081366326854451725290301537710356995438223659037268168307171774551476434547450138499186896396569628393764900220256538166545646856909320725294081482013016853593922542969340313854866630792815228386720973712482403562941615562850373804055267700722759763813134204141898626115881244060469861963148868120651009171136924585325378284181625010499543822557618340236452782230684423941299302965422637799615463671943906907932134143039957560783701336466578321714623723506122107510277355612640443993542453933123003979212490591392160090506453247595683252939548153810665746128620962144646217414831782657861890819883732509600904233319559716779086210627165098004701982564510096698651680889135628499735182260585321366177447044154646270330645199814948674224002097940980641999754313100896669274082772149995810149166895735761127067094846352329182699360059552619042618255539655749481866670889819827525308674403271043401572834506338996404409895401870032620564705115921903075920064044023256677092807200602020028461199423096371880844098490990839995384464171494239468378354277167339829075704920839430333628223529848943728306149470506957888543923214636 143564874740990625449471504332729473756221380956931655521057882379416642767227044238143694379295949394159661529244470294324676672754325218767693235393584353149013006479066857693383060466886586108764355241735937120834512752638639429674751874379809377319995176113388909253752560026192070092239828576964867224901536958562084402590961990363486498099014175469218616801764347878680804474283991630648489212909933675478805700591481357478994931505785066710608759920572832611896668911497363759679445627945160889325558448692689810075037132981795394613278727748728120393534298235805969816422198254291410908693066070951270137083589305306676637537488920545711014023581044088951116351461284440566707509031934782471810474368527139687919627509146263832230800559922737506235032675702321611406436293321138569111590238301196882482899312870603910220966695314855549530884293002798993379033694264565062113710091885035058939491818224613143724825569981328721818135390074768869441358802599898664816971955941674019254268439173634076781853846492556892157368863092587820738201866254530867625375190954983214693918488323917314711376209054203137308877214202810915033025729311254902688842740631611573322817729910964123051290850256356811481003883564794548914142535341167839272165981809816667347697062928588649052259300660540896251474443 232292846921544088718028358338060547424278705210400488894498933055926664567455475310362133371435582206224844993659317183198030837525066633626373089020794962545056139078548024749767141833213440560489645543273647477829950976297676697843059046154360853754542626251888096150149129654585834992460085115131412871758446279287378484072975007217080420641983515783073483432557163107067525447996474034211430828472784049282860968292204117242808065709926965336724641164633302473859817779618014768850582552530486267609740073703189353897594751322031847395509412172669419696499720873605585280094142161199343042836106028512053838420055883628391261260995042653221291379193684532944658805394407444545919999623326942562316927616122822940859175662956929578359421522067383723649864458360183502226320025830739473344909798017975968693526477968608612203531205411554201211773428631298728561294279585931239560754246531305389584691633173287367726923510961970721572448490971438143524130952595708813983867691702801086349114791502816776141913399111599510412908518842069687409091686082056176299778461998384787528424827320321724606778079086823702013993136105886835097069752567931995496043342651640034522240826282844967149781841096352195945175377804262927268419702680996914977086821240150295571226911872316955201729807618429440174689079 375857721662534714167499862670790021180500086167332144415556815435343307334682519548505827750731531600384506522903787477522707510279391852394066324414379315694069145557614882443150202300100026669254000785009584598664463728936316127517810920534170231074537802365277005403901689680777905084699913692096280096659983237849462886663936997580566918740997691252292100234321510985748329922280465664859920041382717724761666668883685474721802997215712032047333401085206135085756486691115378528530028180475647156935298522395879163972631884303827242008788139921397540090034019109411555096516340415490753951529172099463323975503645188935067898798483963198932305402774728621895775156855691885112627508655261725034127401984649962628778803172103193410590222081990121229884897134062505113632756319151878042456500036319172851176425790839212522424497900726409750742657721634097721940327973850496301674464338416340448524183451397900511451749080943299443390583881046207012965489755195607478800839647644475105603383230676450852923767245604156402570277381934657508147293552336587043925153652953368002222343315644239039318154288141026839322870350308697750130095481879186898184886083283251607845058556193809090201072691352709007426179261369057476182562238022164754249252803049966962918923974800905604253989108278970336426163522 608150568584078802885528221008850568604778791377732633310055748491269971902137994858867961122167113806609351516563104660720738347804458486020439413435174278239125284636162907192917344133313467229743646328283232076494414705233992825360869966688531084829080428617165101554050819335363740077159998807227692968418429517136841370736912004797647339382981207035365583666878674092815855370276939699071350869855501774044527637175889591964611062925638997384058042249839437559616304470733393297380610733006133424545038596099068517870226635625859089404297552094066959786533739983017140376610482576690096994365278127975377813923701072563459160059479005852153596781968413154840433962250099329658547508278588667596444329600772785569637978835060122988949643604057504953534761592422688615859076344982617515801409834337148819869952268807821134628029106137963951954431150265396450501622253436427541235218584947645838108875084571187879178672591905270164963032372017645156489620707791316292784707339347276191952498022179267629065680644715755912983185900776727195556385238418643220224932114951752789750768142964560763924932367227850541336863486414584585227165234447118893680929425934891642367299382476654057350854532449061203371354639173320403450981940703161669226339624290117258490150886673222559455718915897399776600852601 984008290246613517053028083679640589785278877545064777725612563926613279236820514407373788872898645406993858039466892138243445858083850338414505737849553593933194430193777789636067546433413493898997647113292816675158878434170308952878680887222701315903618230982442106957952509016141645161859912499323973065078412754986304257400849002378214258123978898287657683901200185078564185292557405363931270911238219498806194306059575066686414060141351029431391443335045572645372791161848771825910638913481780581480337118494947681842858519929686331413085692015464499876567759092428695473126822992180850945894450227438701789427346261498527058857962969051085902184743141776736209119105791214771175016933850392630571731585422748198416782007163316399539865686047626183419658726485193729491832664134495558257909870656321671046378059647033657052527006864373702697088871899494172441950227286923842909682923363986286633058535969088390630421672848569608353616253063852169455110462986923771585546986991751297555881252855718481989447890319912315553463282711384703703678790755230264150085767905120791973111458608799803243086655368877380659733836723282335357260716326305791865815509218143250212357938670463147551927223801770210797533900542377879633544178725326423475592427340084221409074861474128163709708024176370113027016123 1592158858830692319938556304688491158390057668922797411035668312417883251138958509266241749995065759213603209556029996798964184205888308824434945151284727872172319714829940696828984890566726961128741293441576048751653293139404301778239550853911232400732698659599607208512003328351505385239019911306551666033496842272123145628137761007175861597506960105323023267568078859171380040662834345063002621781093721272850721943235464658651025123066990026815449485584885010204989095632582165123291249646487914006025375714594016199713085155555545420817383244109531459663101499075445835849737305568870947940259728355414079603351047334061986218917441974903239498966711554931576643081355890544429722525212439060227016061186195533768054760842223439388489509290105131136954420318907882345350909009117113074059319704993470490916330328454854791680556113002337654651520022164890622943572480723351384144901508311632124741933620540276269809094264753839773316648625081497325944731170778240064370254326339027489508379275034986111055128535035668228536649183488111899260064029173873484375017882856873581723879601573360567168019022596727921996597323137866920584425950773424685546744935153034892579657321147117204902781756250831414168888539715698283084526119428488092701932051630201479899225748147350723165426940073769889627868724 2576167149077305836991584388368131748175336546467862188761280876344496530375779023673615538867964404620597067595496888937207630063972159162849450889134281466105514145023718486465052437000140455027738940554868865426812171573574610731118231741133933716636316890582049315469955837367647030400879823805875639098575255027109449885538610009554075855630939003610680951469279044249944225955391750426933892692331940771656916249295039725337439183208341056246840928919930582850361886794430936949201888559969694587505712833088963881555943675485231752230468936124995959539669258167874531322864128561051798886154178582852781392778393595560513277775404943954325401151454696708312852200461681759200897542146289452857587792771618281966471542849386755788029374976152757320374079045393076074842741673251608632317229575649792161962708388101888448733083119866711357348608894064384795385522708010275227054584431675618411374992156509364660439515937602409381670264878145349495399841633765163835955801313330778787064260527890704593044576425355580544090112466199496602963742819929103748525103650761994373696991060182160370411105677965605302656331159861149255941686667099730477412560444371178142792015259817580352454708980052601624966422440258076162718070298153814516177524478970285701308300609621478886875134964250140002654884847 4168326007907998156930140693056622906565394215390659599796949188762379781514737532939857288863030163834200277151526885736171814269860467987284396040419009338277833859853659183294037327566867416156480233996444914178465464712978912509357782595045166117369015550181656523981959165719152415639899735112427305132072097299232595513676371016729937453137899108933704219037357903421324266618226095489936514473425662044507638192530504383988464306275331083062290414504815593055350982427013102072493138206457608593531088547682980081269028831040777173047852180234527419202770757243320367172601434129922746826413906938266860996129440929622499496692846918857564900118166251639889495281817572303630620067358728513084603853957813815734526303691610195176518884266257888457328499364300958420193650682368721706376549280643262652879038716556743240413639232869049012000128916229275418329095188733626611199485939987250536116925777049640930248610202356249154986913503226846821344572804543403900326055639669806276572639802925690704099704960391248772626761649687608502223806849102977232900121533618867955420870661755520937579124700562333224652928482999016176526112617873155162959305379524213035371672580964697557357490736303433039135310979973774445802596417582302608879456530600487181207526357768829610040561904323909892282753571 6744493156985303993921725081424754654740730761858521788558230065106876311890516556613472827730994568454797344747023774673379444333832627150133846929553290804383348004877377669759089764567007871184219174551313779605277636286553523240476014336179099834005332440763705839451915003086799446040779558918302944230647352326342045399214981026284013308768838112544385170506636947671268492573617845916870407165757602816164554441825544109325903489483672139309131343424746175905712869221444039021695026766427303181036801380771943962824972506526008925278321116359523378742440015411194898495465562690974545712568085521119642388907834525183012774468251862811890301269620948348202347482279254062831517609505017965942191646729432097700997846540996950964548259242410645777702578409694034495036392355620330338693778856293054814841747104658631689146722352735760369348737810293660213714617896743901838254070371662868947491917933559005590688126139958658536657178381372196316744414438308567736281856953000585063636900330816395297144281385746829316716874115887105105187549669032080981425225184380862329117861721937681307990230378527938527309259642860165432467799284972885640371865823895391178163687840782277909812199716356034664101733420231850608520666715736117125056981009570772882515826967390308496915696868574049894937638418 10912819164893302150851865774481377561306124977249181388355179253869256093405254089553330116594024732288997621898550660409551258603693095137418242969972300142661181864731036853053127092133875287340699408547758693783743100999532435749833796931224265951374347990945362363433874168805951861680679294030730249362719449625574640912891352043013950761906737221478089389543994851092592759191843941406806921639183264860672192634356048493314367795759003222371421757929561768961063851648457141094188164972884911774567889928454924044094001337566786098326173296594050797945210772654515265668066996820897292538981992459386503385037275454805512271161098781669455201387787199988091842764096826366462137676863746479026795500687245913435524150232607146141067143508668534235031077773994992915230043037989052045070328136936317467720785821215374929560361585604809381348866726522935632043713085477528449453556311650119483608843710608646520936736342314907691644091884599043138088987242851971636607912592670391340209540133742086001243986346138078089343635765574713607411356518135058214325346717999730284538732383693202245569355079090271751962188125859181608993911902846040803331171203419604213535360421746975467169690452659467703237044400205625054323263133318419733936437540171260063723353325159138106956258772897959787220391989 17657312321878606144773590855906132216046855739107703176913409318976132405295770646166802944325019300743794966645574435082930702937525722287552089899525590947044529869608414522812216856700883158524918583099072473389020737286085958990309811267403365785379680431709068202885789171892751307721458852949033193593366801951916686312106333069297964070675575334022474560050631798763861251765461787323677328804940867676836747076181592602640271285242675361680553101354307944866776720869901180115883191739312214955604691309226868006918973844092795023604494412953574176687650788065710164163532559511871838251550077980506145773945109979988525045629350644481345502657408148336294190246376080429293655286368764444968987147416678011136521996773604097105615402751079180012733656183689027410266435393609382383764106993229372282562532925874006618707083938340569750697604536816595845758330982221430287707626683312988431100761644167652111624862482273566228301270265971239454833401681160539372889769545670976403846440464558481298388267731884907406060509881461818712598906187167139195750571902380592613656594105630883553559585457618210279271447768719347041461711187818926443703037027314995391699048262529253376981890169015502367338777820437475662843929849054536858993418549742032946239180292549446603871955641472009682158030407 28570131486771908295625456630387509777352980716356884565268588572845388498701024735720133060919044033032792588544125095492481961541218817424970332869497891089705711734339451375865343948834758445865617991646831167172763838285618394740143608198627631736754028422654430566319663340698703169402138146979763442956086251577491327224997685112311914832582312555500563949594626649856454010957305728730484250444124132537508939710537641095954639081001678584051974859283869713827840572518358321210071356712197126730172581237681792051012975181659581121930667709547624974632861560720225429831599556332769130790532070439892649158982385434794037316790449426150800704045195348324386033010472906795755792963232510923995782648103923924572046147006211243246682546259747714247764733957684020325496478431598434428834435130165689750283318747089381548267445523945379132046471263339531477802044067698958737161182994963107914709605354776298632561598824588473919945362150570282592922388924012511009497682138341367744055980598300567299632254078022985495404145647036532320010262705302197410075918620380322898195326489324085799128940536708482031233635894578528650455623090664967247034208230734599605234408684276228844151580621674970070575822220643100717167192982372956592929856089913293009962533617708584710828214414369969469378422396 46227443808650514440399047486293641993399836455464587742181997891821520903996795381886936005244063333776587555189699530575412664478744539712522422769023482036750241603947865898677560805535641604390536574745903640561784575571704353730453419466030997522133708854363498769205452512591454477123596999928796636549453053529408013537104018181609878903257887889523038509645258448620315262722767516054161579249065000214345686786719233698594910366244353945732527960638177658694617293388259501325954548451509341685777272546908660057931949025752376145535162122501199151320512348785935593995132115844640969042082148420398794932927495414782562362419800070632146206702603496660680223256848987225049448249601275368964769795520601935708568143779815340352297949010826894260498390141373047735762913825207816812598542123395062032845851672963388166974529462285948882744075800156127323560375049920389024868809678276096345810366998943950744186461306862040148246632416541522047755790605173050382387451684012344147902421062859048598020521809907892901464655528498351032609168892469336605826490522760915511851920594954969352688525994326692310505083663297875691917334278483893690737245258049594996933456946805482221133470790690472437914600041080576380011122831427493451923274639655325956201713910258031314700170055841979151536452803 74797575295422422736024504116681151770752817171821472307450586464666909402697820117607069066163107366809380143733824626067894626019963357137492755638521373126455953338287317274542904754370400050256154566392734807734548413857322748470597027664658629258887737277017929335525115853290157646525735146908560079505539305106899340762101703293921793735840200445023602459239885098476769273680073244784645829693189132751854626497256874794549549447246032529784502819922047372522457865906617822536025905163706468415949853784590452108944924207411957267465829832048824125953373909506161023826731672177410099832614218860291444091909880849576599679210249496782946910747798844985066256267321894020805241212833786292960552443624525860280614290786026583598980495270574608508263124099057068061259392256806251241432977253560751783129170420052769715241974986231328014790547063495658801362419117619347762029992673239204260519972353720249376748060131450514068191994567111804640678179529185561391885133822353711891958401661159615897652775887930878396868801175534883352619431597771534015902409143141238410047247084279055151817466531035174341738719557876404342372957369148860937771453488784194602167865631081711065285051412365442508490422261723677097178315813800450044853130729568618966164247527966616025528384470211948620914875199 121025019104072937176423551602974793764152653627286060049632584356488430306694615499494005071407170700585967698923524156643307290498707896850015178407544855163206194942235183173220465559906041654646691141138638448296332989429027102201050447130689626781021446131381428104730568365881612123649332146837356716054992358636307354299205721475531672639098088334546640968885143547097084536402840760838807408942254132966200313283976108493144459813490386475517030780560225031217075159294877323861980453615215810101727126331499112166876873233164333413000991954550023277273886258292096617821863788022051068874696367280690239024837376264359162041630049567415093117450402341645746479524170881245854689462435061661925322239145127795989182434565841923951278444281401502768761514240430115797022306082014068054031519376955813815975022093016157882216504448517276897534622863651786124922794167539736786898802351515300606330339352664200120934521438312554216438626983653326688433970134358611774272585506366056039860822724018664495673297697838771298333456704033234385228600490240870621728899665902153921899167679234024504505992525361866652243803221174280034290291647632754628508698746833789599101322577887193286418522203055914946405022302804253477189438645227943496776405369223944922365961438224647340228554526053927772451328002 195822594399495359912448055719655945534905470799107532357083170821155339709392435617101074137570278067395347842657348782711201916518671253987507934046066228289662148280522500447763370314276441704902845707531373256030881403286349850671647474795348256039909183408399357440255684219171769770175067293745916795560531663743206695061307424769453466374938288779570243428125028645573853810082914005623453238635443265718054939781232983287694009260736419005301533600482272403739533025201495146398006358778922278517676980116089564275821797440576290680466821786598847403227260167798257641648595460199461168707310586140981683116747257113935761720840299064198040028198201186630812735791492775266659930675268847954885874682769653656269796725351868507550258939551976111277024638339487183858281698338820319295464496630516565599104192513068927597458479434748604912325169927147444926285213285159084548928795024754504866850311706384449497682581569763068284630621550765131329112149663544173166157719328719767931819224385178280393326073585769649695202257879568117737848032088012404637631308809043392331946414763513079656323459056397040993982522779050684376663249016781615566280152235617984201269188208968904351703573615421357454895444564527930574367754459028393541629536098792563888530208966191263365756938996265876393366203201 316847613503568297088871607322630739299058124426393592406715755177643770016087051116595079208977448767981315541580872939354509207017379150837523112453611083452868343222757683620983835874182483359549536848670011704327214392715376952872697921926037882820930629539780785544986252585053381893824399440583273511615524022379514049360513146244985139014036377114116884397010172192670938346485754766462260647577697398684255253065209091780838469074226805480818564381042497434956608184496372470259986812394138088619404106447588676442698670673740624093467813741148870680501146426090354259470459248221512237582006953421671922141584633378294923762470348631613133145648603528276559215315663656512514620137703909616811196921914781452258979159917710431501537383833377614045786152579917299655304004420834387349496016007472379415079214606085085479674983883265881809859792790799231051208007452698821335827597376269805473180651059048649618617103008075622501069248534418458017546119797902784940430304835085823971680047109196944888999371283608420993535714583601352123076632578253275259360208474945546253845582442747104160829451581758907646226326000224964410953540664414370194788850982451773800370510786856097638122095818477272401300466867332184051557193104256337038405941468016508810896170404415910705985493522319804165817531203 512670207903063657001319663042286684833963595225501124763798925998799109725479486733696153346547726835376663384238221722065711123536050404825031046499677311742530491503280184068747206188458925064452382556201384960358095796001726803544345396721386138860839812948180142985241936804225151663999466734329190307176055686122720744421820571014438605388974665893687127825135200838244792156568668772085713886213140664402310192846442075068532478334963224486120097981524769838696141209697867616657993171173060367137081086563678240718520468114316914773934635527747718083728406593888611901119054708420973406289317539562653605258331890492230685483310647695811173173846804714907371951107156431779174550812972757571697071604684435108528775885269578939051796323385353725322810790919404483513585702759654706644960512637988945014183407119154013077133463318014486722184962717946675977493220737857905884756392401024310340030962765433099116299684577838690785699870085183589346658269461446958106588024163805591903499271494375225282325444869378070688737972463169469860924664666265679896991517283988938585791997206260183817152910638155948640208848779275648787616789681195985761069003218069758001639698995825001989825669433898629856195911431860114625924947563284730580035477566809072699426379370607174071742432518585680559183734404 829517821406631954090191270364917424133021719651894717170514681176442879741566537850291232555525175603357978925819094661420220330553429555662554158953288395195398834726037867689731042062641408424001919404871396664685310188717103756417043318647424021681770442487960928530228189389278533557823866174912463818791579708502234793782333717259423744403011043007804012222145373030915730503054423538547974533790838063086565445911651166849370947409190029966938662362567267273652749394194240086917979983567198455756485193011266917161219138788057538867402449268896588764229553019978966160589513956642485643871324492984325527399916523870525609245780996327424306319495408243183931166422820088291689170950676667188508268526599216560787755045187289370553333707218731339368596943499321783168889707180489093994456528645461324429262621725239098556808447201280368532044755508745907028701228190556727220583989777294115813211613824481748734916787585914313286769118619602047364204389259349743047018328998891415875179318603572170171324816152986491682273687046770821984001297244518955156351725758934484839637579649007287977982362219914856286435174779500613198570330345610355955857854200521531802010209782681099627947765252375902257496378299192298677482140667541067618441419034825581510322549775023084777727926040905484725001265607 1342188029309695611091510933407204108966985314877395841934313607175241989467046024583987385902072902438734642310057316383485931454089479960487585205452965706937929326229318051758478248251100333488454301961072781625043405984718830559961388715368810160542610255436141071515470126193503685221823332909241654125967635394624955538204154288273862349791985708901491140047280573869160522659623092310633688420003978727488875638758093241917903425744153254453058760344092037112348890603892107703575973154740258822893566279574945157879739606902374453641337084796644306847957959613867578061708568665063459050160642032546979132658248414362756294729091644023235479493342212958091303117529976520070863721763649424760205340131283651669316530930456868309605130030604085064691407734418726266682475409940143800639417041283450269443446028844393111633941910519294855254229718226692583006194448928414633105340382178318426153242576589914847851216472163753004072468988704785636710862658720796701153606353162697007778678590097947395453650261022364562371011659509940291844925961910784635053343243042923423425429576855267471795135272858070804926644023558776261986187120026806341716926857418591289803649908778506101617773434686274532113692289731052413303407088230825798198476896601634654209748929145630258849470358559491165284185000011 2171705850716327565181702203772121533100007034529290559104828288351684869208612562434278618457598078042092621235876411044906151784642909516150139364406254102133328160955355919448209290313741741912456221365944178289728716173435934316378432034016234182224380697924102000045698315582782218779647199084154117944759215103127190331986488005533286094194996751909295152269425946900076253162677515849181662953794816790575441084669744408767274373153343284419997422706659304386001639998086347790493953138307457278650051472586212075040958745690431992508739534065540895612187512633846544222298082621705944694031966525531304660058164938233281903974872640350659785812837621201275234283952796608362552892714326091948713608657882868230104285975644157680158463737822816404060004677918048049851365117120632894633873569928911593872708650569632210190750357720575223786274473735438490034895677118971360325924371955612541966454190414396596586133259749667317359238107324387684075067047980146444200624682161588423653857908701519565624975077175351054053285346556711113828927259155303590209694968801857908265067156504274759773117635077985661213079198338276875184757450372416697672784711619112821605660118561187201245721199938650434371188668030244711980889228898366865816918315636460235720071478920653343627198284600396650009186265618 3513893880026023176273213137179325642066992349406686401039141895526926858675658587018266004359670980480827263545933727428392083238732389476637724569859219809071257487184673971206687538564842075400910523327016959914772122158154764876339820749385044342766990953360243071561168441776285904001470531993395772070726850497752145870190642293807148443986982460810786292316706520769236775822300608159815351373798795518064316723427837650685177798897496538873056183050751341498350530601978455494069926293047716101543617752161157232920698352592806446150076618862185202460145472247714122284006651286769403744192608558078283792716413352596038198703964284373895265306179834159366537401482773128433416614477975516708918948789166519899420816906101025989763593768426901468751412412336774316533840527060776695273290611212361863316154679414025321824692268239870079040504191962131073041090126047385993431264754133930968119696767004311444437349731913420321431707096029173320785929706700943145354231035324285431432536498799466961078625338197715616424297006066651405673853221066088225263038211844781331690496733359542231568252907936056466139723221897053137170944570399223039389711569037704111409310027339693302863494634624924966484880957761297125284296317129192664015395212238094889929820408066283602476668643159887815293371265629 5685599730742350741454915340951447175166999383935976960143970183878611727884271149452544622817269058522919884781810138473298235023375298992787863934265473911204585648140029890654896828878583817313366744692961138204500838331590699192718252783401278524991371651284345071606866757359068122781117731077549890015486065600879336202177130299340434538181979212720081444586132467669313028984978124008997014327593612308639757808097582059452452172050839823293053605757410645884352170600064803284563879431355173380193669224747369307961657098283238438658816152927726098072332984881560666506304733908475348438224575083609588452774578290829320102678836924724555051119017455360641771685435569736795969507192301608657632557447049388129525102881745183669922057506249717872811417090254822366385205644181409589907164181141273457188863329983657532015442625960445302826778665697569563075985803166357353757189126089543510086150957418708041023482991663087638790945203353561004860996754681089589554855717485873855086394407500986526703600415373066670477582352623362519502780480221391815472733180646639239955563889863816991341370543014042127352802420235330012355702020771639737062496280656816933014970145900880504109215834563575400856069625791541837265185546027559529832313527874555125649891886986936946103866927760284465302557531247 9199493610768373917728128478130772817233991733342663361183112079405538586559929736470810627176940039003747148327743865901690318262107688469425588504124693720275843135324703861861584367443425892714277268019978098119272960489745464069058073532786322867758362604644588143168035199135354026782588263070945662086212916098631482072367772593147582982168961673530867736902838988438549804807278732168812365701392407826704074531525419710137629970948336362166109788808161987382702701202043258778633805724402889481737286976908526540882355450876044884808892771789911300532478457129274788790311385195244752182417183641687872245490991643425358301382801209098450316425197289520008309086918342865229386121670277125366551506236215908028945919787846209659685651274676619341562829502591596682919046171242186285180454792353635320505018009397682853840134894200315381867282857659700636117075929213743347188453880223474478205847724423019485460832723576507960222652299382734325646926461382032734909086752810159286518930906300453487782225753570782286901879358690013925176633701287480040735771392491420571646060623223359222909623450950098593492525642132383149526646591170862776452207849694521044424280173240573806972710469188500367340950583552838962549481863156752193847708740112650015579712295053220548580535570920172280595928796876 14885093341510724659183043819082219992400991117278640321327082263284150314444200885923355249994209097526667033109554004374988553285482987462213452438390167631480428783464733752516481196322009710027644012712939236323773798821336163261776326316187601392749734255928933214774901956494422149563705994148495552101698981699510818274544902892488017520350940886250949181488971456107862833792256856177809380028986020135343832339623001769590082142999176185459163394565572633267054871802108062063197685155758062861930956201655895848844012549159283323467708924717637398604811442010835455296616119103720100620641758725297460698265569934254678404061638133823005367544214744880650080772353912602025355628862578734024184063683265296158471022669591393329607708780926337214374246592846419049304251815423595875087618973494908777693881339381340385855577520160760684694061523357270199193061732380100700945643006313017988291998681841727526484315715239595599013597502736295330507923216063122324463942470296033141605325313801440014485826168943848957379461711313376444679414181508871856208504573138059811601624513087176214250993993964140720845328062367713161882348611942502513514704130351337977439250319141454311081926303752075768197020209344380799814667409184311723680022267987205141229604182040157494684402498680456745898486328123 24084586952279098576911172297212992809634982850621303682510194342689688901004130622394165877171149136530414181437297870276678871547590675931639040942514861351756271918789437614378065563765435602741921280732917334443046759311081627330834399848973924260508096860573521357942937155629776176346294257219441214187911897798142300346912675485635600502519902559781816918391810444546412638599535588346621745730378427962047906871148421479727712113947512547625273183373734620649757573004151320841831490880160952343668243178564422389726368000035328208276601696507548699137289899140110244086927504298964852803058942366985332943756561577680036705444439342921455683969412034400658389859272255467254741750532855859390735569919481204187416942457437602989293360055602956555937076095438015732223297986665782160268073765848544098198899348779023239695712414361076066561344381016970835310137661593844048134096886536492466497846406264747011945148438816103559236249802119029656154849677445155059373029223106192428124256220101893502268051922514631244281341070003390369856047882796351896944275965629480383247685136310535437160617444914239314337853704500096311408995203113365289966911980045859021863530492382028118054636772940576135537970792897219762364149272341063917527731008099855156809316477093378043264938069600629026494415124999 38969680293789823236094216116295212802035973967899944003837276605973839215448331508317521127165358234057081214546851874651667424833073663393852493380905028983236700702254171366894546760087445312769565293445856570766820558132417790592610726165161525653257831116502454572717839112124198325910000251367936766289610879497653118621457578378123618022870843446032766099880781900654275472391792444524431125759364448097391739210771423249317794256946688733084436577939307253916812444806259382905029176035919015205599199380220318238570380549194611531744310621225186097742101341150945699383543623402684953423700701092282793642022131511934715109506077476744461051513626779281308470631626168069280097379395434593414919633602746500345887965127028996318901068836529293770311322688284434781527549802089378035355692739343452875892780688160363625551289934521836751255405904374241034503199393973944749079739892849510454789845088106474538429464154055699158249847304855324986662772893508277383836971693402225569729581533903333516753878091458480201660802781316766814535462064305223753152780538767540194849309649397711651411611438878380035183181766867809473291343815055867803481616110397196999302780811523482429136563076692651903734991002241600562178816681525375641207753276087060298038920659133535537949340568281085772392901453122 63054267246068921813005388413508205611670956818521247686347470948663528116452462130711687004336507370587495395984149744928346296380664339325491534323419890334992972621043608981272612323852880915511486574178773905209867317443499417923445126014135449913765927977075975930660776267753974502256294508587377980477522777295795418968370253863759218525390746005814583018272592345200688110991328032871052871489742876059439646081919844729045506370894201280709709761313041874566570017810410703746860666916079967549267442558784740628296748549229939740020912317732734796879391240291055943470471127701649806226759643459268126585778693089614751814950516819665916735483038813681966860490898423536534839129928290452805655203522227704533304907584466599308194428892132250326248398783722450513750847788755160195623766505191996974091680036939386865247002348882912817816750285391211869813337055567788797213836779386002921287691494371221550374612592871802717486097106974354642817622570953432443210000916508417997853837754005227019021930013973111445942143851320157184391509947101575650097056504397020578096994785708247088572228883792619349521035471367905784700339018169233093448528090443056021166311303905510547191199849633228039272961795138820324542965953866439558735484284186915454848237136226913581214278637881714798887316578121 102023947539858745049099604529803418413706930786421191690184747554637367331900793639029208131501865604644576610531001619580013721213738002719344027704324919318229673323297780348167159083940326228281051867624630475976687875575917208516055852179296975567023759093578430503378615379878172828166294759955314746767133656793448537589827832241882836548261589451847349118153374245854963583383120477395483997249107324156831385292691267978363300627840890013794146339252349128483382462616670086651889842951998982754866641939005058866867129098424551271765222938957920894621492581442001642854014751104334759650460344551550920227800824601549466924456594296410377786996665592963275331122524591605814936509323725046220574837124974204879192872711495595627095497728661544096559721472006885295278397590844538230979459244535449849984460725099750490798292283404749569072156189765452904316536449541733546293576672235513376077536582477696088804076746927501875735944411829679629480395464461709827046972609910643567583419287908560535775808105431591647602946632636923998926972011406799403249837043164560772946304435105958739983840322670999384704217238235715257991682833225100896930144200840253020469092115428992976327762926325879943007952797380420886721782635391815199943237560273975752887157795360449119163619206162800571280218031243 165078214785927666862104992943311624025377887604942439376532218503300895448353255769740895135838372975232072006515151364508360017594402342044835562027744809653222645944341389329439771407793207143792538441803404381186555193019416626439500978193432425480789687070654406434039391647632147330422589268542692727244656434089243956558198086105642055073652335457661932136425966591055651694374448510266536868738850200216271031374611112707408806998735091294503856100565391003049952480427080790398750509868078950304134084497789799495163877647654491011786135256690655691500883821733057586324485878805984565877219988010819046813579517691164218739407111116076294522479704406645242191613423015142349775639252015499026230040647201909412497780295962194935289926620793794422808120255729335809029245379599698426603225749727446824076140762039137356045294632287662386888906475156664774129873505109522343507413451621516297365228076848917639178689339799304593222041518804034272298018035415142270256973526419061565437257041913787554797738119404703093545090483957081183318481958508375053346893547561581351043299220814205828556069206463618734225252709603621042692021851394333990378672291283309041635403419334503523518962775959107982280914592519241211264748589258254758678721844460891207735394931587362700377897844044515370167534609364 267102162325786411911204597473115042439084818391363631066716966057938262780254049408770103267340238579876648617046152984088373738808140344764179589732069728971452319267639169677606930491733533372073590309428034857163243068595333834955556830372729401047813446164232836937418007027510320158588884028498007474011790090882692494148025918347524891621913924909509281254579340836910615277757568987662020865987957524373102416667302380685772107626575981308298002439817740131533334943043750877050640352820077933059000726436794858362031006746079042283551358195648576586122376403175059229178500629910319325527680332562369967041380342292713685663863705412486672309476369999608517522735947606748164712148575740545246804877772176114291690653007457790562385424349455338519367841727736221104307642970444236657582684994262896674060601487138887846843586915692411955961062664922117678446409954651255889800990123857029673442764659326613727982766086726806468957985930633713901778413499876852097303946136329705133020676329822348090573546224836294741148037116594005182245453969915174456596730590726142123989603655920164568539909529134618118929469947839336300683704684619434887308816492123562062104495534763496499846725702284987925288867389899662097986531224650069958621959404734866960622552726947811819541517050207315941447752640607 432180377111714078773309590416426666464462705996306070443249184561239158228607305178510998403178611555108720623561304348596733756402542686809015151759814538624674965211980559007046701899526740515866128751231439238349798261614750461395057808566161826528603133234887243371457398675142467489011473297040700201256446524971936450706224004453166946695566260367171213391005307427966266972132017497928557734726807724589373448041913493393180914625311072602801858540383131134583287423470831667449390862688156883363134810934584657857194884393733533295337493452339232277623260224908116815502986508716303891404900320573189013854959859983877904403270816528562966831956074406253759714349370621890514487787827756044273034918419378023704188433303419985497675350970249132942175961983465556913336888350043935084185910743990343498136742249178025202888881547980074342849969140078782452576283459760778233308403575478545970807992736175531367161455426526111062180027449437748174076431535291994367560919662748766698457933371736135645371284344240997834693127600551086365563935928423549509943624138287723475032902876734370397095978735598236853154722657442957343375726536013768877687488783406871103739898954098000023365688478244095907569781982418903309251279813908324717300681249195758168357947658535174519919414894251831311615287249971 699282539437500490684514187889541708903547524387669701509966150619177421008861354587281101670518850134985369240607457332685107495210683031573194741491884267596127284479619728684653632391260273887939719060659474095513041330210084296350614638938891227576416579399120080308875405702652787647600357325538707675268236615854628944854249922800691838317480185276680494645584648264876882249889586485590578600714765248962475864709215874078953022251887053911099860980200871266116622366514582544500031215508234816422135537371379516219225891139812575578888851647987808863745636628083176044681487138626623216932580653135558980896340202276591590067134521941049639141432444405862277237085318228638679199936403496589519839796191554137995879086310877776060060775319704471461543803711201778017644531320488171741768595738253240172197343736316913049732468463672486298811031805000900131022693414412034123109393699335575644250757395502145095144221513252917531138013380071462075854845035168846464864865799078471831478609701558483735944830569077292575841164717145091547809389898338723966540354729013865599022506532654534965635888264732854972084192605282293644059431220633203764996305275530433165844394488861496523212414180529083832858649372318565407237811038558394675922640653930625128980500385482986339460931944459147253063039890578 1131462916549214569457823778305968375368010230383975771953215335180416579237468659765792100073697461690094089864168761681281841251613225718382209893251698806220802249691600287691700334290787014403805847811890913333862839591824834757745672447505053054105019712634007323680332804377795255136611830622579407876524683140826565395560473927253858785013046445643851708036589955692843149222021603983519136335441572973551849312751129367472133936877198126513901719520584002400699909789985414211949422078196391699785270348305964174076420775533546108874226345100327041141368896852991292860184473647342927108337480973708747994751300062260469494470405338469612605973388518812116036951434688850529193687724231252633792874714610932161700067519614297761557736126289953604403719765694667334930981419670532106825954506482243583670334085985494938252621350011652560641661000945079682583598976874172812356417797274814121615058750131677676462305676939779028593318040829509210249931276570460840832425785461827238529936543073294619381316114913318290410534292317696177913373325826762273476483978867301589074055409409388905362731867000331091825238915262725250987435157756646972642683794058937304269584293442959496546578102658773179740428431354737468716489090852466719393223321903126383297338448044018160859380346838710978564678327140549 1830745455986715060142337966195510084271557754771645473463181485799594000246330014353073201744216311825079459104776219013966948746823908749955404634743583073816929534171220016376353966682047288291745566872550387429375880922034919054096287086443944281681436292033127403989208210080448042784212187948118115551792919756681194340414723850054550623330526630920532202682174603957720031471911190469109714936156338222514325177460345241551086959129085180425001580500784873666816532156499996756449453293704626516207405885677343690295646666673358684453115196748314850005114533481074468904865960785969550325270061626844306975647640264537061084537539860410662245114820963217978314188520007079167872887660634749223312714510802486299695946605925175537617796901609658075865263569405869112948625950991020278567723102220496823842531429721811851302353818475325046940472032750080582714621670288584846479527190974149697259309507527179821557449898453031946124456054209580672325786121605629687297290651260905710361415152774853103117260945482395582986375457034841269461182715725100997443024333596315454673077915942043440328367755265063946797323107868007544631494588977280176407680099334467737435428687931820993069790516839302263573287080727056034123726901891025114069145962557057008426318948429501147198841278783170125817741367031127 2962208372535929629600161744501478459639567985155621245416396820980010579483798674118865301817913773515173548968944980695248789998437134468337614527995281880037731783862820304068054300972834302695551414684441300763238720513859753811841959533948997335786456004667134727669541014458243297920824018570697523428317602897507759735975197777308409408343573076564383910718764559650563180693932794452628851271597911196066174490211474609023220896006283306938903300021368876067516441946485410968398875371901018215992676233983307864372067442206904793327341541848641891146483430334065761765050434433312477433607542600553054970398940326797530579007945198880274851088209482030094351139954695929697066575384866001857105589225413418461396014125539473299175533027899611680268983335100536447879607370661552385393677608702740407512865515707306789554975168486977607582133033695160265298220647162757658835944988248963818874368257658857498019755575392810974717774095039089882575717398176090528129716436722732948891351695848147722498577060395713873396909749352537447374556041551863270919508312463617043747133325351432345691099622265395038622562023130732795618929746733927149050363893393405041705012981374780489616368619498075443313715512081793502840215992743491833462369284460183391723657396473519308058221625621881104382419694171676 4792953828522644689742499710696988543911125739927266718879578306779604579730128688471938503562130085340253008073721199709215738745261043218293019162738864953854661318034040320444408267654881590987296981556991688192614601435894672865938246620392941617467892296700262131658749224538691340705036206518815638980110522654188954076389921627362960031674099707484916113400939163608283212165843984921738566207754249418580499667671819850574307855135368487363904880522153749734332974102985407724848328665605644732200082119660651554667714108880263477780456738596956741151597963815140230669916395219282027758877604227397361946046580591334591663545485059290937096203030445248072665328474703008864939463045500751080418303736215904761091960731464648836793329929509269756134246904506405560828233321652572663961400710923237231355396945429118640857328986962302654522605066445240848012842317451342505315472179223113516133677765186037319577205473845842920842230149248670554901503519781720215427007087983638659252766848623000825615838005878109456383285206387378716835738757276964268362532646059932498420211241293475786019467377530458985419885130998740340250424335711207325458043992727872779140441669306601482686159136337377706887002592808849536963942894634516947531515247017240400149976344903020455257062904405051230200161061202803 7755162201058574319342661455198467003550693725082887964295975127759615159213927362590803805380043858855426557042666180404464528743698177686630633690734146833892393101896860624512462568627715893682848396241432988955853321949754426677780206154341938953254348301367396859328290238996934638625860225089513162408428125551696713812365119404671369440017672784049300024119703723258846392859776779374367417479352160614646674157883294459597528751141651794302808180543522625801849416049470818693247204037506662948192758353643959419039781551087168271107798280445598632298081394149205992434966829652594505192485146827950416916445520918132122242553430258171211947291239927278167016468429398938562006038430366752937523892961629323222487974857004122135968862957408881436403230239606942008707840692314125049355078319625977638868262461136425430412304155449280262104738100140401113311062964614100164151417167472077335008046022844894817596961049238653895560004244287760437477220917957810743556723524706371608144118544471148548114415066273823329780194955739916164210294798828827539282040958523549542167344566644908131710566999795854024042447154129473135869354082445134474508407886121277820845454650681381972302527755835453150200718104890643039804158887378008780993884531477423791873633741376539763315284530026932334582580755374479 12548116029581219009085161165895455547461819465010154683175553434539219738944056051062742308942173944195679565116387380113680267488959220904923652853473011787747054419930900944956870836282597484670145377798424677148467923385649099543718452774734880570722240598067658990987039463535625979330896431608328801388538648205885667888755041032034329471691772491534216137520642886867129605025620764296105983687106410033227173825555114310171836606277020281666713061065676375536182390152456226418095532703112307680392840473304610973707495659967431748888255019042555373449679357964346223104883224871876532951362751055347778862492101509466713906098915317462149043494270372526239681796904101947426945501475867504017942196697845227983579935588468770972762192886918151192537477144113347569536074013966697713316479030549214870223659406565544071269633142411582916627343166585641961323905282065442669466889346695190851141723788030932137174166523084496816402234393536430992378724437739530958983730612690010267396885393094149373730253072151932786163480162127294881046033556105791807644573604583482040587555807938383917730034377326313009462332285128213476119778418156341799966451878849150599985896319987983454988686892172830857087720697699492576768101782012525728525399778494664192023610086279560218572347434431983564782741816577282 20303278230639793328427822621093922551012513190093042647471528562298834898157983413653546114322217803051106122159053560518144796232657398591554286544207158621639447521827761569469333404910313378352993774039857666104321245335403526221498658929076819523976588899435055850315329702532560617956756656697841963796966773757582381701120160436705698911709445275583516161640346610125975997885397543670473401166458570647873847983438408769769365357418672075969521241609199001338031806201927045111342736740618970628585598826948570392747277211054600019996053299488154005747760752113552215539850054524471038143847897883298195778937622427598836148652345575633360990785510299804406698265333500885988951539906234256955466089659474551206067910445472893108731055844327032628940707383720289578243914706280822762671557350175192509091921867701969501681937297860863178732081266726043074634968246679542833618306514167268186149769810875826954771127572323150711962238637824191429855945355697341702540454137396381875541003937565297921844668138425756115943675117867211045256328354934619346926614563107031582754900374583292049440601377122167033504779439257686611989132500601476274474859764970428420831350970669365427291214648008284007288438802590135616572260669390534509519284309972087983897243827656099981887631964458915899365322571951761 32851394260221012337512983786989378098474332655103197330647081996838054637102039464716288423264391747246785687275440940631825063721616619496477939397680170409386501941758662514426204241192910863023139151838282343252789168721052625765217111703811700094698829497502714841302369166068186597287653088306170765185505421963468049589875201468740028383401217767117732299160989496993105602911018307966579384853564980681101021808993523079941201963695692357636234302674875376874214196354383271529438269443731278308978439300253181366454772871022031768884308318530709379197440110077898438644733279396347571095210648938645974641429723937065550054751260893095510034279780672330646380062237602833415897041382101760973408286357319779189647846033941664081493248731245183821478184527833637147779988720247520475988036380724407379315581274267513572951570440272446095359424433311685035958873528744985503085195860862459037291493598906759091945294095407647528364473031360622422234669793436872661524184750086392142937889330659447295574921210577688902107155279994505926302361911040411154571188167690513623342456182521675967170635754448480042967111724385900088108910918757818074441311643819579020817247290657348882279901540181114864376159500289628193340362451403060238044684088466752175920853913935660200459979398890899464148064388529043 53154672490860805665940806408083300649486845845196239978118610559136889535260022878369834537586609550297891809434494501149969859954274018088032225941887329031025949463586424083895537646103224241376132925878140009357110414056456151986715770632888519618675418396937770691617698868600747215244409745004012728982472195721050431290995361905445727295110663042701248460801336107119081600796415851637052786020023551328974869792431931849710567321114364433605755544284074378212246002556310316640781006184350248937564038127201751759202050082076631788880361618018863384945200862191450654184583333920818609239058546821944170420367346364664386203403606468728871025065290972135053078327571103719404848581288336017928874376016794330395715756479414557190224304575572216450418891911553926726023903426528343238659593730899599888407503141969483074633507738133309274091505700037728110593841775424528336703502375029727223441263409782586046716421667730798240326711669184813852090615149134214364064638887482774018478893268224745217419589349003445018050830397861716971558690265975030501497802730797545206097356557104968016611237131570647076471891163643586700098043419359294348916171408790007441648598261326714309571116188189398871664598302879763809912623120793594747563968398438840159818097741591760182347611363349815363513386960480804 86006066751081818003453790195072678747961178500299437308765692555974944172362062343086122960851001297544677496709935441781794923675890637584510165339567499440412451405345086598321741887296135104399272077716422352609899582777508777751932882336700219713374247894440485532920068034668933812532062833310183494167977617684518480880870563374185755678511880809818980759962325604112187203707434159603632170873588532010075891601425454929651769284810056791241989846958949755086460198910693588170219275628081527246542477427454933125656822953098663557764669936549572764142640972269349092829316613317166180334269195760590145061797070301729936258154867361824381059345071644465699458389808706552820745622670437778902282662374114109585363602513356221271717553306817400271897076439387563873803892146775863714647630111624007267723084416236996647585078178405755369450930133349413146552715304169513839788698235892186260732757008689345138661715763138445768691184700545436274325284942571087025588823637569166161416782598884192512994510559581133920157985677856222897861052177015441656068990898488058829439812739626643983781872886019127119439002888029486788206954338117112423357483052609586462465845551984063191851017728370513736040757803169392003252985572196654985608652486905592335738951655527420382807590762240714827661451349009847 139160739241942623669394596603155979397448024345495677286884303115111833707622085221455957498437610847842569306144429942931764783630164655672542391281454828471438400868931510682217279533399359345775405003594562361967009996833964929738648652969588739332049666291378256224537766903269681027776472578314196223150449813405568912171865925279631482973622543852520229220763661711231268804503850011240684956893612083339050761393857386779362336605924421224847745391243024133298706201467003904811000281812431776184106515554656684884858873035175295346645031554568436149087841834460799747013899947237984789573327742582534315482164416666394322461558473830553252084410362616600752536717379810272225594203958773796831157038390908439981079358992770778461941857882389616722315968350941490599827795573304206953307223842523607156130587558206479722218585916539064643542435833387141257146557079594042176492200610921913484174020418471931185378137430869244009017896369730250126415900091705301389653462525051940179895675867108937730414099908584578938208816075717939869419742442990472157566793629285604035537169296731612000393110017589774195910894051673073488304997757476406772273654461399593904114443813310777501422133916559912607705356106049155813165608692990249733172620885344432495557049397119180565155202125590530191174838309490651 225166805993024441672848386798228658145409202845795114595649995671086777879984147564542080459288612145387246802854365384713559707306055293257052556621022327911850852274276597280539021420695494450174677081310984714576909579611473707490581535306288959045423914185818741757457834937938614840308535411624379717318427431090087393052736488653817238652134424662339209980725987315343456008211284170844317127767200615349126652995282841709014105890734478016089735238201973888385166400377697492981219557440513303430648992982111618010515695988273958904409701491118008913230482806730148839843216560555150969907596938343124460543961486968124258719713341192377633143755434261066451995107188516825046339826629211575733439700765022549566442961506126999733659411189207016994213044790329054473631687720080070667954853954147614423853671974443476369803664094944820012993365966736554403699272383763556016280898846814099744906777427161276324039853194007689777709081070275686400741185034276388415242286162621106341312458465993130243408610468165712858366801753574162767280794620005913813635784527773662864976982036358255984174982903608901315349896939702560276511952095593519195631137514009180366580289365294840693273151644930426343746113909218547816418594265186904718781273372250024831296001052646600947962792887831245018836289658500498 364327545234967065342242983401384637542857227191290791882534298786198611587606232785998037957726222993229816108998795327645324490936219948929594947902477156383289253143208107962756300954094853795950082084905547076543919576445438637229230188275877698377473580477196997981995601841208295868085007989938575940468877244495656305224602413933448721625756968514859439201489649026574724812715134182085002084660812698688177414389140228488376442496658899240937480629444998021683872601844701397792219839252945079614755508536768302895374569023449254251054733045686445062318324641190948586857116507793135759480924680925658776026125903634518581181271815022930885228165796877667204531824568327097271934030587985372564596739155930989547522320498897778195601269071596633716529013141270545073459483293384277621262077796671221579984259532649956092022250011483884656535801800123695660845829463357598192773099457736013229080797845633207509417990624876933786726977440005936527157085125981689804895748687673046521208134333102067973822710376750291796575617829292102636700537062996385971202578157059266900514151333089867984568092921198675511260790991375633764816949853069925967904791975408774270694733178605618194695285561490338951451470015267703629584202958177154451953894257594457326853050449765781513117995013421775210011127967991149 589494351227991507015091370199613295688266430037085906478184294457285389467590380350540118417014835138617062911853160712358884198242275242186647504523499484295140105417484705243295322374790348246124759166216531791120829156056912344719811723582166657422897494663015739739453436779146910708393543401562955657787304675585743698277338902587265960277891393177198649182215636341918180820926418352929319212428013314037304067384423070197390548387393377257027215867646971910069039002222398890773439396693458383045404501518879920905890265011723213155464434536804453975548807447921097426700333068348286729388521619268783236570087390602642839900985156215308518371921231138733656526931756843922318273857217196948298036439920953539113965282005024777929260680260803650710742057931599599547091171013464348289216931750818836003837931507093432461825914106428704669529167766860250064545101847121154209053998304550112973987575272794483833457843818884623564436058510281622927898270160258078220138034850294152862520592799095198217231320844916004654942419582866265403981331683002299784838362684832929765491133369448123968743075824807576826610687931078194041328901948663445163535929489417954637275022543900458887968437206420765295197583924486251446002797223364059170735167629844482158149051502412382461080787901253020228847417626491647 953821896462958572357334353600997933231123657228376698360718593243484001055196613136538156374741058131846879020851956040004208689178495191116242452425976640678429358560692813206051623328885202042074841251122078867664748732502350981949041911858044355800371075140212737721449038620355206576478551391501531598256181920081400003501941316520714681903648361692058088383705285368492905633641552535014321297088826012725481481773563298685766990884052276497964696497091969931752911604067100288565659235946403462660160010055648223801264834035172467406519167582490899037867132089112046013557449576141422488869446300194442012596213294237161421082256971238239403600087028016400861058756325171019590207887805182320862633179076884528661487602503922556124861949332400284427271071072870144620550654306848625910479009547490057583822191039743388553848164117912589326064969566983945725390931310478752401827097762286126203068373118427691342875834443761557351163035950287559455055355286239768025033783537967199383728727132197266191054031221666296451518037412158368040681868745998685756040940841892196666005284702537991953311168746006252337871478922453827806145851801733371131440721464826728907969755722506077082663722767911104246649053939753955075587000181541213622689061887438939485002101952178163974198782914674795438858545594482796 1543316247690950079372425723800611228919390087265462604838902887700769390522786993487078274791755893270463941932705116752363092887420770433302889956949476124973569463978177518449346945703675550288199600417338610658785577888559263326668853635440211013223268569803228477460902475399502117284872094793064487256043486595667143701779280219107980642181539754869256737565920921710411086454567970887943640509516839326762785549157986368883157539271445653754991912364738941841821950606289499179339098632639861845705564511574528144707155099046895680561983602119295353013415939537033143440257782644489709218257967919463225249166300684839804260983242127453547921972008259155134517585688082014941908481745022379269160669618997838067775452884508947334054122629593203935138013129004469744167641825320312974199695941298308893587660122546836821015674078224341293995594137333844195789936033157599906610881096066836239177055948391222175176333678262646180915599094460569182382953625446497846245171818388261352246249319931292464408285352066582301106460456995024633444663200429000985540879303526725126431496418071986115922054244570813829164482166853532021847474753750396816294976650954244683545244778266406535970632159974331869541846637864240206521589797404905272793424229517283421643151153454590546435279570815927815667705963220974443 2497138144153908651729760077401609162150513744493839303199621480944253391577983606623616431166496951402310820953557072792367301576599265624419132409375452765651998822538870331655398569032560752330274441668460689526450326621061614308617895547298255369023639644943441215182351514019857323861350646184566018854299668515748543705281221535628695324085188116561314825949626207078903992088209523422957961806605665339488267030931549667568924530155497930252956608861830911773574862210356599467904757868586265308365724521630176368508419933082068147968502769701786252051283071626145189453815232220631131707127414219657667261762513979076965682065499098691787325572095287171535378644444407185961498689632827561590023302798074722596436940487012869890178984578925604219565284200077339888788192479627161600110174950845798951171482313586580209569522242342253883321659106900828141515326964468078659012708193829122365380124321509649866519209512706407738266762130410856741838008980732737614270205601926228551629978047063489730599339383288248597557978494407183001485345069174999671296920244368617323097501702774524107875365413316820081502353645775985849653620605552130187426417372419071412453214533988912613053295882742242973788495691803994161597176797586446486416113291404722361128153255406768710409478353730602611106564508815457239 4040454391844858731102185801202220391069903831759301908038524368645022782100770600110694705958252844672774762886262189544730394464020036057722022366324928890625568286517047850104745514736236302618474042085799300185235904509620877635286749182738466382246908214746669692643253989419359441146222740977630506110343155111415687407060501754736675966266727871430571563515547128789315078542777494310901602316122504666251052580089536036452082069426943584007948521226569853615396812816646098647243856501226127154071289033204704513215575032128963828530486371821081605064699011163178332894073014865120840925385382139120892510928814663916769943048741226145335247544103546326669896230132489200903407171377849940859183972417072560664212393371521817224233107208518808154703297329081809632955834304947474574309870892144107844759142436133417030585196320566595177317253244234672337305262997625678565623589289895958604557180269900872041695543190969053919182361224871425924220962606179235460515377420314489903876227366994782195007624735354830898664438951402207634930008269604000656837799547895342449528998120846510223797419657887633910666835812629517871501095359302527003721394023373316095998459312255319149023928042716574843330342329668234368118766594991351759209537520922005782771304408861359256844757924546530426774270472036431682 6537592535998767382831945878603829553220417576253141211238145849589276173678754206734311137124749796075085583839819262337097696040619301682141154775700381656277567109055918181760144083768797054948748483754259989711686231130682491943904644730036721751270547859690110907825605503439216765007573387162196524964642823627164231112341723290365371290351915987991886389465173335868219070630987017733859564122728170005739319611021085704021006599582441514260905130088400765388971675027002698115148614369812392462437013554834880881723994965211031976498989141522867857115982082789323522347888247085751972632512796358778559772691328642993735625114240324837122573116198833498205274874576896386864905861010677502449207275215147283260649333858534687114412091787444412374268581529159149521744026784574636174420045842989906795930624749719997240154718562908849060638912351135500478820589962093757224636297483725080969937304591410521908214752703675461657449123355282282666058971586911973074785583022240718455506205414058271925606964118643079496222417445809390636415353338779000328134719792263959772626499823621034331672785071204453992169189458405503721154715964854657191147811395792387508451673846244231762077223925458817817118838021472228529715943392577798245625650812326728143899457664268127967254236278277133037880834980851888921 10578046927843626113934131679806049944290321408012443119276670218234298955779524806845005843083002640747860346726081451881828090504639337739863177142025310546903135395572966031864889598505033357567222525840059289896922135640303369579191393912775188133517456074436780600468859492858576206153796128139827031074985978738579918519402225045102047256618643859422457952980720464657534149173764512044761166438850674671990372191110621740473088669009385098268853651314970619004368487843648796762392470871038519616508302588039585394939569997339995805029475513343949462180681093952501855241961261950872813557898178497899452283620143306910505568162981550982457820660302379824875171104709385587768313032388527443308391247632219843924861727230056504338645198995963220528971878858240959154699861089522110748729916735134014640689767185853414270739914883475444237956165595370172816125852959719435790259886773621039574494484861311393949910295894644515576631484580153708590279934193091208535300960442555208359382432781053054120614588853997910394886856397211598271345361608383000984972519340159302222155497944467544555470204729092087902836025271035021592655811324157184194869205419165703604450133158499550911101151968175392660449180351140462897834709987569150004835188333248733926670762073129487224098994202823663464655105452888320603 17115639463842393496766077558409879497510738984265584330514816067823575129458279013579316980207752436822945930565900714218925786545258639422004331917725692203180702504628884213625033682273830412515971009594319279608608366770985861523096038642811909884788003934126891508294464996297792971161369515302023556039628802365744149631743948335467418546970559847414344342445893800525753219804751529778620730561578844677729691802131707444494095268591826612529758781403371384393340162870651494877541085240850912078945316142874466276663564962551027781528464654866817319296663176741825377589849509036624786190410974856678012056311471949904241193277221875819580393776501213323080445979286281974633218893399204945757598522847367127185511061088591191453057290783407632903240460387400108676443887874096746923149962578123921436620391935573411510894633446384293298595077946505673294946442921813193014896184257346120544431789452721915858125048598319977234080607935435991256338905780003181610086543464795926814888638195111326046221552972640989891109273843020988907760714947162001313107239132423261994781997768088578887142989800296541895005214729440525313810527289011841386017016814958091112901807004743782673178375893634210477568018372612691427550653380146948250460839145575462070570219737397615191353230481100796502535940433740209524 27693686391686019610700209238215929441801060392278027449791486286057874085237803820424322823290755077570806277291982166100753877049897977161867509059751002750083837900201850245489923280778863770083193535434378569505530502411289231102287432555587098018305460008563672108763324489156369177315165643441850587114614781104324068151146173380569465803589203706836802295426614265183287368978516041823381897000429519349720063993242329184967183937601211710798612432718342003397708650714300291639933556111889431695453618730914051671603134959891023586557940168210766781477344270694327232831810770987497599748309153354577464339931615256814746761440203426802038214436803593147955617083995667562401531925787732389065989770479586971110372788318647695791702489779370853432212339245641067831143748963618857671879879313257936077310159121426825781634548329859737536551243541875846111072295881532628805156071030967160118926274314033309808035344492964492810712092515589699846618839973094390145387503907351135174271070976164380166836141826638900285996130240232587179106076555545002298079758472582564216937495712556123442613194529388629797841240000475546906466338613169025580886222234123794717351940163243333584279527861809603138017198723753154325385363367716098255296027478824195997240981810527102415452224683924459967191045886628530127 44809325855528413107466286796625808939311799376543611780306302353881449214696082834003639803498507514393752207857882880319679663595156616583871840977476694953264540404830734459114956963052694182599164545028697849114138869182275092625383471198399007903093463942690563617057789485454162148476535158743874143154243583470068217782890121716036884350559763554251146637872508065709040588783267571602002627562008364027449755795374036629461279206193038323328371214121713387791048813584951786517474641352740343774398934873788517948266699922442051368086404823077584100774007447436152610421660280024122385938720128211255476396243087206718987954717425302621618608213304806471036063063281949537034750819186937334823588293326954098295883849407238887244759780562778486335452799633041176507587636837715604595029841891381857513930551057000237292529181776244030835146321488381519406018738803345821820052255288313280663358063766755225666160393091284470044792700451025691102957745753097571755474047372147061989159709171275706213057694799279890177105404083253576086866791502707003611186997605005826211719493480644702329756184329685171692846454729916072220276865902180866966903239049081885830253747167987116257457903755443813615585217096365845752936016747863046505756866624399658067811201547924717606805455165025256469726986320368739651 72503012247214432718166496034841738381112859768821639230097788639939323299933886654427962626789262591964558485149865046420433540645054593745739350037227697703348378305032584704604880243831557952682358080463076418619669371593564323727670903753986105921398923951254235725821113974610531325791700802185724730268858364574392285934036295096606350154148967261087948933299122330892327957761783613425384524562437883377169819788616365814428463143794250034126983646840055391188757464299252078157408197464629775469852553604702569619869834882333074954644344991288350882251351718130479843253471051011619985687029281565832940736174702463533734716157628729423656822650108399618991680147277617099436282744974669723889578063806541069406256637725886583036462270342149339767665138878682244338731385801334462266909721204639793591240710178427063074163730106103768371697565030257365517091034684878450625208326319280440782284338080788535474195737584248962855504792966615390949576585726191961900861551279498197163430780147440086379893836625918790463101534323486163265972868058252005909266756077588390428656989193200825772369378859073801490687694730391619126743204515349892547789461283205680547605687331230449841737431617253416753602415820119000078321380115579144761052894103223854065052183358451820022257679848949716436918032206997269778 117312338102742845825632782831467547320424659145365251010404090993820772514629969488431602430287770106358310693007747926740113204240211210329611191014704392656612918709863319163719837206884252135281522625491774267733808240775839416353054374952385113824492387893944799342878903460064693474268235960929598873423101948044460503716926416812643234504708730815339095571171630396601368546545051185027387152124446247404619575583990402443889742349987288357455354860961768778979806277884203864674882838817370119244251488478491087568136534804775126322730749814365934983025359165566632453675131331035742371625749409777088417132417789670252722670875054032045275430863413206090027743210559566636471033564161607058713166357133495167702140487133125470281222050904927826103117938511723420846319022639050066861939563096021651105171261235427300366692911882347799206843886518638884923109773488224272445260581607593721445642401847543761140356130675533432900297493417641082052534331479289533656335598651645259152590489318715792592951531425198680640206938406739739352839659560959009520453753682594216640376482673845528102125563188758973183534149460307691347020070417530759514692700332287566377859434499217566099195335372697230369187632916484845831257396863442191266809760727623512132863384906376537629063135013974972906645018527366009429 189815350349957278543799278866309285701537518914186890240501879633760095814563856142859565057077032698322869178157612973160546744885265804075350541051932090359961297014895903868324717450715810087963880705954850686353477612369403740080725278706371219745891311845199035068700017434675224800059936763115323603691960312618852789650962711909249584658857698076427044504470752727493696504306834798452771676686884130781789395372606768258318205493781538391582338507801824170168563742183455942832291036281999894714104042083193657188006369687108201277375094805654285865276710883697112296928602382047362357312778691342921357868592492133786457387032682761468932253513521605709019423357837183735907316309136276782602744420940036237108397124859012053317684321247077165870783077390405665185050408440384529128849284300661444696411971413854363440856641988451567578541451548896250440200808173102723070468907926874162227926739928332296614551868259782395755802286384256473002110917205481495557197149931143456316021269466155878972845368051117471103308472730225902618812527619211015429720509760182607069033471867046353874494942047832774674221844190699310473763274932880652062482161615493246925465121830448015940932766989950647122790048736603845909578776979021336027862654830847366197915568264828357651320814862924689343563050734363279207 307127688452700124369432061697776833021962178059552141250905970627580868329193825631291167487364802804681179871165360899900659949125477014404961732066636483016574215724759223032044554657600062223245403331446624954087285853145243156433779653658756333570383699739143834411578920894739918274328172724044922477115062260663313293367889128721892819163566428891766140075642383124095065050851885983480158828811330378186408970956597170702207947843768826749037693368763592949148370020067659807507173875099370013958355530561684744756142904491883327600105844620020220848302070049263744750603733713083104728938528101120009775001010281804039180057907736793514207684376934811799047166568396750372378349873297883841315910778073531404810537611992137523598906372152004991973901015902129086031369431079434595990788847396683095801583232649281663807549553870799366785385338067535135363310581661326995515729489534467883673569141775876057754907998935315828656099779801897555054645248684771029213532748582788715468611758784871671565796899476316151743515411136965641971652187180170024950174263442776823709409954540891881976620505236591747857755993651007001820783345350411411577174861947780813303324556329665582040128102362647877491977681653088691740836173842463527294672415558470878330778953171204895280383949876899662250208069261729288636 496943038802657402913231340564086118723499696973739031491407850261340964143757681774150732544441835503004049049322973873061206694010742818480312273118568573376535512739655126900369272108315872311209284037401475640440763465514646896514504932365127553316275011584342869480278938329415143074388109487160246080807022573282166083018851840631142403822424126968193184580113135851588761555158720781932930505498214508968198366329203938960526153337550365140620031876565417119316933762251115750339464911381369908672459572644878401944149274178991528877480939425674506713578780932960857047532336095130467086251306792462931132869602773937825637444940419554983139937890456417508066589926233934108285666182434160623918655199013567641918934736851149576916590693399082157844684093292534751216419839519819125119638131697344540497995204063136027248406195859250934363926789616431385803511389834429718586198397461342045901495881704208354369459867195098224411902066186154028056756165890252524770729898513932171784633028251027550538642267527433622846823883867191544590464714799381040379894773202959430778443426407938235851115447284424522531977837841706312294546620283292063639657023563274060228789678160113597981060869352598524614767730389692537650414950821484863322535070389318244528694521436033252931704764739824351593771119996092567843 804070727255357527282663402261862951745461875033291172742313820888921832472951507405441900031806638307685228920488334772961866643136219832885274005185205056393109728464414349932413826765915934534454687368848100594528049318659890052948284586023883886886658711323486703891857859224155061348716282211205168557922084833945479376386740969353035222985990555859959324655755518975683826606010606765413089334309544887154607337285801109662734101181319191889657725245329010068465303782318775557846638786480739922630815103206563146700292178670874856477586784045694727561880850982224601798136069808213571815189834893582940907870613055741864817502848156348497347622267391229307113756494630684480664016055732044465234565977087099046729472348843287100515497065551087149818585109194663837247789270599253721110426979094027636299578436712417691055955749730050301149312127683966521166821971495756714101927886995809929575065023480084412124367866130414053068001845988051583111401414575023553984262647096720887253244787035899222104439167003749774590339295004157186562116901979551065330069036645736254487853380948830117827735952521016270389733831492713314115329965633703475216831885511054873532114234489779180021188971715246402106745412042781229391251124663948390617207485947789122859473474607238148212088714616724013843979189257821856479 1301013766058014930195894742825949070468961572007030204233721671150262796616709189179592632576248473810689277969811308646023073337146962651365586278303773629769645241204069476832783098874231806845663971406249576234968812784174536949462789518389011440202933722907829573372136797553570204423104391698365414638729107407227645459405592809984177626808414682828152509235868654827272588161169327547346019839807759396122805703615005048623260254518869557030277757121894427187782237544569891308186103697862109831303274675851441548644441452849866385355067723471369234275459631915185458845668405903344038901441141686045872040740215829679690454947788575903480487560157847646815180346420864618588949682238166205089153221176100666688648407085694436677432087758950169307663269202487198588464209110119072846230065110791372176797573640775553718304361945589301235513238917300397906970333361330186432688126284457151975476560905184292766493827733325512277479903912174205611168157580465276078754992545610653059037877815286926772643081434531183397437163178871348731152581616778932105709963809848695685266296807356768353678851399805440792921711669334419626409876585916995538856488909074328933760903912649892778002249841067844926721513142432473767041666075485433253939742556337107367388167996043271401143793479356548365437750309253914424322 2105084493313372457478558145087812022214423447040321376976035492039184629089660696585034532608055112118374506890299643418984939980283182484250860283488978686162754969668483826765196925640147741380118658775097676829496862102834427002411074104412895327089592434231316277263994656777725265771820673909570583196651192241173124835792333779337212849794405238688111833891624173802956414767179934312759109174117304283277413040900806158285994355700188748919935482367223437256247541326888666866032742484342849753934089779058004695344733631520741241832654507517063961837340482897410060643804475711557610716630976579628812948610828885421555272450636732251977835182425238876122294102915495303069613698293898249554387787153187765735377879434537723777947584824501256457481854311681862425711998380718326567340492089885399813097152077487971409360317695319351536662551044984364428137155332825943146790054171452961905051625928664377178618195599455926330547905758162257194279558995040299632739255192707373946291122602322825994747520601534933172027502473875505917714698518758483171040032846494431939754150188305598471506587352326457063311445500827132940525206551550699014073320794585383807293018147139671958023438812783091328828258554475254996432917200149381644556950042284896490247641470650509549355882193973272379281729498511736280801 3406098259371387387674452887913761092683385019047351581209757163189447425706369885764627165184303585929063784860110952065008013317430145135616446561792752315932400210872553303597980024514379548225782630181347253064465674887008963951873863622801906767292526157139145850636131454331295470194925065607935997835380299648400770295197926589321390476602819921516264343127492828630229002928349261860105129013925063679400218744515811206909254610219058305950213239489117864444029778871458558174218846182204959585237364454909446243989175084370607627187722230988433196112800114812595519489472881614901649618072118265674684989351044715101245727398425308155458322742583086522937474449336359921658563380532064454643541008329288432424026286520232160455379672583451425765145123514169061014176207490837399413570557200676771989894725718263525127664679640908652772175789962284762335107488694156129579478180455910113880528186833848669945112023332781438608027809670336462805447716575505575711494247738318027005329000417609752767390602036066116569464665652746854648867280135537415276749996656343127625020446995662366825185438752131897856233157170161552566935083137467694552929809703659712741053922059789564736025688653850936255549771696907728763474583275634814898496692598622003857635809466693780950499675673329820744719479807765650705123 5511182752684759845153011033001573114897808466087672958185792655228632054796030582349661697792358698047438291750410595483992953297713327619867306845281731002095155180541037130363176950154527289605901288956444929893962536989843390954284937727214802094382118591370462127900126111109020735966745739517506581032031491889573895130990260368658603326397225160204376177019117002433185417695529196172864238188042367962677631785416617365195248965919247054870148721856341301700277320198347225040251588666547809339171454233967450939333908715891348869020376738505497157950140597710005580133277357326459260334703094845303497937961873600522800999849062040407436157925008325399059768552251855224728177078825962704197928795482476198159404165954769884233327257407952682222626977825850923439888205871555725980911049290562171802991877795751496537024997336228004308838341007269126763244644026982072726268234627363075785579812762513047123730218932237364938575715428498719999727275570545875344233502931025400951620123019932578762138122637601049741492168126622360566581978654295898447790029502837559564774597183967965296692026104458354919544602670988685507460289689018393567003130498245096548346940206929236694049127466634027584378030251382983759907500475784196543053642640906900347883450937344290499855557867303093124001209306277386985924 8917281012056147232827463920915334207581193485135024539395549818418079480502400468114288862976662283976502076610521547549000966615143472755483753407074483318027555391413590433961156974668906837831683919137792182958428211876852354906158801350016708861674644748509607978536257565440316206161670805125442578867411791537974665426188186957979993803000045081720640520146609831063414420623878458032969367201967431642077850529932428572104503576138305360820361961345459166144307099069805783214470434848752768924408818688876897183323083800261956496208098969493930354062940712522601099622750238941360909952775213110978182927312918315624046727247487348562894480667591411921997243001588215146386740459358027158841469803811764630583430452475002044688706929991404107987772101340019984454064413362393125394481606491238943792886603514015021664689676977136657081014130969553889098352132721138202305746415083273189666107999596361717068842242265018803546603525098835182805174992146051451055727750669343427956949123437542331529528724673667166310956833779369215215449258789833313724540026159180687189795044179630332121877464856590252775777759841150238074395372826486088119932940201904809289400862266718801430074816120484963839927801948290712523382083751419011441550335239528904205519260404038071450355233540632913868720689114043037691047 14428463764740907077980474953916907322479001951222697497581342473646711535298431050463950560769020982023940368360932143032993919912856800375351060252356214320122710571954627564324333924823434127437585208094237112852390748866695745860443739077231510956056763339880070106436383676549336942128416544642949159899443283427548560557178447326638597129397270241925016697165726833496599838319407654205833605390009799604755482315349045937299752542057552415690510683201800467844584419268153008254722023515300578263580272922844348122656992516153305365228475707999427512013081310232606679756027596267820170287478307956281680865274791916146847727096549388970330638592599737321057011553840070371114917538183989863039398599294240828742834618429771928922034187399356790210399079165870907893952619233948851375392655781801115595878481309766518201714674313364661389852471976823015861596776748120275032014649710636265451687812358874764192572461197256168485179240527333902804902267716597326399961253600368828908569246457474910291666847311268216052449001905991575782031237444129212172330055662018246754569641363598297418569490961048607695322362512138923581855662515504481686936070700149905837747802473648038124123943587118991424305832199673696283289584227203207984603977880435804553402711341382361950210791407936006992721898420320424676971 23345744776797054310807938874832241530060195436357722036976892292064791015800831518578239423745683266000442444971453690581994886528000273130834813659430697638150265963368217998285490899492340965269269127232029295810818960743548100766602540427248219817731408088389678084972641241989653148290087349768391738766855074965523225983366634284618590932397315323645657217312336664560014258943286112238802972591977231246833332845281474509404256118195857776510872644547259633988891518337958791469192458364053347187989091611721245305980076316415261861436574677493357866076022022755207779378777835209181080240253521067259863792587710231770894454344036737533225119260191149243054254555428285517501657997542017021880868403106005459326265070904773973610741117390760898198171180505890892348017032596341976769874262273040059388765084823781539866404351290501318470866602946376904959948909469258477337761064793909455117795811955236481261414703462274972031782765626169085610077259862648777455689004269712256865518369895017241821195571984935382363405835685360790997480496233962525896870081821198933944364685543228629540446955817638860471100122353289161656251035341990569806869010902054715127148664740366839554198759707603955264233634147964408806671667978622219426154313119964708758921971745420433400566024948568920861442587534363462368018 37774208541537961388788413828749148852539197387580419534558234765711502551099262569042189984514704248024382813332385833614988806440857073506185873911786911958272976535322845562609824824315775092706854335326266408663209709610243846627046279504479730773788171428269748191409024918538990090418503894411340898666298358393071786540545081611257188061794585565570673914478063498056614097262693766444636577981987030851588815160630520446704008660253410192201383327749060101833475937606111799723914481879353925451569364534565593428637068832568567226665050385492785378089103332987814459134805431477001250527731829023541544657862502147917742181440586126503555757852790886564111266109268355888616575535726006884920267002400246288069099689334545902532775304790117688408570259671761800241969651830290828145266918054841174984643566133548058068119025603865979860719074923199920821545686217378752369775714504545720569483624314111245453987164659531140516962006153502988414979527579246103855650257870081085774087616352492152112862419296203598415854837591352366779511733678091738069200137483217180698934326906826926959016446778687468166422484865428085238106697857495051493805081602204620964896467214014877678322703294722946688539466347638105089961252205825427410758291000400513312324683086802795350776816356504927854164485954683887044989 61119953318335015699596352703581390382599392823938141571535127057776293566900094087620429408260387514024825258303839524196983692968857346637020687571217609596423242498691063560895315723808116057976123462558295704474028670353791947393648819931727950591519579516659426276381666160528643238708591244179732637433153433358595012523911715895875778994191900889216331131790400162616628356205979878683439550573964262098422148005911994956108264778449267968712255972296319735822367455944070591193106940243407272639558456146286838734617145148983829088101625062986143244165125355743022238513583266686182330767985350090801408450450212379688636635784622864036780877112982035807165520664696641406118233533268023906801135405506251747395364760239319876143516422180878586606741440177652692589986684426632804915141180327881234373408650957329597934523376894367298331585677869576825781494595686637229707536779298455175687279436269347726715401868121806112548744771779672074025056787441894881311339262139793342639605986247509393934057991281138980779260673276713157776992229912054263966070219304416114643299012450055556499463402596326328637522607218717246894357733199485621300674092504259336092045131954381717232521463002326901952773100495602513896632920184447646836912604120365222071246654832223228751342841305073848715607073489047349413007 98894161859872977088384766532330539235138590211518561106093361823487796117999356656662619392775091762049208071636225357811972499409714420143206561483004521554696219034013909123505140548123891150682977797884562113137238379964035794020695099436207681365307750944929174467790691079067633329127095138591073536099451791751666799064456797507132967055986486454787005046268463660673242453468673645128076128555951292950010963166542515402812273438702678160913639300045379837655843393550182390917021422122761198091127820680852432163254213981552396314766675448478928622254228688730836697648388698163183581295717179114342953108312714527606378817225208990540336634965772922371276786773964997294734809068994030791721402407906498035464464449573865778676291726970996275015311699849414492831956336256923633060408098382722409358052217090877656002642402498233278192304752792776746603040281904015982077312493803000896256763060583458972169389032781337253065706777933175062440036315021140985166989520009874428413693602600001546046920410577342579195115510868065524556503963590146002035270356787633295342233339356882483458479849375013796803945092084145332132464431056980672794479174106463957056941599168396594910844166297049848641312566843240618986594172390273074247670895120765735383571337919026024102119657661578776569771559443731236457996 160014115178207992787981119235911929617737983035456702677628488881264089684899450744283048801035479276074033329940064882008956192378571766780227249054222131151119461532704972684400456271932007208659101260442857817611267050317827741414343919367935631956827330461588600744172357239596276567835686382770806173532605225110261811588368513403008746050178387344003336178058863823289870809674653523811515679129915555048433111172454510358920538217151946129625895272341699573478210849494252982110128362366168470730686276827139270897871359130536225402868300511465071866419354044473858936161971964849365912063702529205144361558762926907295015453009831854577117512078754958178442307438661638700853042602262054698522537813412749782859829209813185654819808149151874861622053140027067185421943020683556437975549278710603643731460868048207253937165779392600576523890430662353572384534877590653211784849273101456071944042496852806698884790900903143365614451549712847136465093102463035866478328782149667771053299588847510939980978401858481559974376184144778682333496193502200266001340576092049409985532351806938039957943251971340125441467699302862579026822164256466294095153266610723293148986731122778312143365629299376750594085667338843132883227092574720721084583499241130957454817992751249252853462498966652625285378632932778585871003 258908277038080969876365885768242468852876573246975263783721850704751885802898807400945668193810571038123241401576290239820928691788286186923433810537226652705815680566718881807905596820055898359342079058327419930748505430281863535435039018804143313322135081406517775211963048318663909896962781521361879709632057016861928610652825310910141713106164873798790341224327327483963113263143327168939591807685866847998444074338997025761732811655854624290539534572387079411134054243044435373027149784488929668821814097507991703061125573112088621717634975959944000488673582733204695633810360663012549493359419708319487314667075641434901394270235040845117454147044527880549719094212626635995587851671256085490243940221319247818324293659387051433496099876122871136637364839876481678253899356940480071035957377093326053089513085139084909939808181890833854716195183455130318987575159494669193862161766904456968200805557436265671054179933684480618680158327646022198905129417484176851645318302159542199466993191447512486027898812435824139169491695012844206890000157092346268036610932879682705327765691163820523416423101346353922245412791387007911159286595313446966889632440717187250205928330291174907054209795596426599235398234182083751869821264964993795332254394361896692838389330670275276955582156628231401855150192376509822328999 418922392216288962664347005004154398470614556282431966461350339586015975487798258145228716994846050314197274731516355121829884884166857953703661059591448783856935142099423854492306053091987905568001180318770277748359772480599691276849382938172078945278962411868106375956135405558260186464798467904132685883164662241972190422241193824313150459156343261142793677402386191307252984072817980692751107486815782403046877185511451536120653349873006570420165429844728778984612265092538688355137278146855098139552500374335130973958996932242624847120503276471409072355092936777678554569972332627861915405423122237524631676225838568342196409723244872699694571659123282838728161401651288274696440894273518140188766478034731997601184122869200237088315908025274745998259417979903548863675842377624036509011506655803929696820973953187292163876973961283434431240085614117483891372110037085322405647011040005913040144848054289072369938970834587623984294609877358869335370222519947212718123647084309209970520292780295023426008877214294305699143867879157622889223496350594546534037951508971732115313298042970758563374366353317694047686880490689870490186108759569913260984785707327910543354915061413953219197575424895803349829483901520926884753048357539714516416837893603027650293207323421524529809044655594884027140528825309288408200002 677830669254369932540712890772396867323491129529407230245072190290767861290697065546174385188656621352320516133092645361650813575955144140627094870128675436562750822666142736300211649912043803927343259377097697679108277910881554812284421956976222258601097493274624151168098453876924096361761249425494565592796719258834119032894019135223292172262508134941584018626713518791216097335961307861690699294501649251045321259850448561882386161528861194710704964417115858395746319335583123728164427931344027808374314471843122677020122505354713468838138252431353072843766519510883250203782693290874464898782541945844118990892914209777097803993479913544812025806167810719277880495863914910692028745944774225679010418256051245419508416528587288521812007901397617134896782819780030541929741734564516580047464032897255749910487038326377073816782143174268285956280797572614210359685196579991599509172806910370008345653611725338040993150768272104602974768205004891534275351937431389569768965386468752169987285971742535912036776026730129838313359574170467096113496507686892802074562441851414820641063734134579086790789454664047969932293282076878401345395354883360227874418148045097793560843391705128126251785220492229949064882135703010636622869622504708311749092287964924343131596654091799806764626812223115428995679017685798230529001 1096753061470658895205059895776551265794105685811839196706422529876783836778495323691403102183502671666517790864609000483480698460122002094330755929720124220419685964765566590792517703004031709495344439695867975427468050391481246089133804895148301203880059905142730527124233859435184282826559717329627251475961381500806309455135212959536442631418851396084377696029099710098469081408779288554441806781317431654092198445361900098003039511401867765130870394261844637380358584428121812083301706078199125947926814846178253650979119437597338315958641528902762145198859456288561804773755025918736380304205664183368750667118752778119294213716724786244506597465291093558006041897515203185388469640218292365867776896290783243020692539397787525610127915926672363133156200799683579405605584112188553089058970688701185446731460991513669237693756104457702717196366411690098101731795233665314005156183846916283048490501666014410410932121602859728587269378082363760869645574457378602287892612470777962140507578752037559338045653241024435537457227453328089985336992858281439336112513950823146935954361777105337650165155807981742017619173772766748891531504114453273488859203855373008336915758453119081345449360645388033298894366037223937521375917980044422828165930181567951993424803977513324336573671467817999456136207842995086638729003 1774583730725028827745772786548948133117596815341246426951494720167551698069192389237577487372159293018838306997701645845131512036077146234957850799848799656982436787431709327092729352916075513422687699072965673106576328302362800901418226852124523462481157398417354678292332313312108379188320966755121817068758100759640428488029232094759734803681359531025961714655813228889685178744740596416132506075819080905137519705212348659885425672930728959841575358678960495776104903763704935811466134009543153756301129318021376327999241942952051784796779781334115218042625975799445054977537719209610845202988206129212869658011666987896392017710204699789318623271458904277283922393379118096080498386163066591546787314546834488440200955926374814131939923828069980268052983619463609947535325846753069669106434721598441196641948029840046311510538247631971003152647209262712312091480430245305604665356653826653056836155277739748451925272371131833190244146287368652403920926394809991857661577857246714310494864723780095250082429267754565375770587027498557081450489365968332138187076392674561756595425511239916736955945262645789987551467054843627292876899469336633716733622003418106130476601844824209471701145865880263247959248172926948157998787602549131139915022469532876336556400631605124143338298280041114885131886860680884869258004 2871336792195687722950832682325499398911702501153085623657917250044335534847687712928980589555661964685356097862310646328612210496199148329288606729568923877402122752197275917885247055920107222918032138768833648534044378693844046990552031747272824666361217303560085205416566172747292662014880684084749068544719482260446737943164445054296177435100210927110339410684912938988154260153519884970574312857136512559229718150574248757888465184332596724972445752940805133156463488191826747894767840087742279704227944164199629978978361380549390100755421310236877363241485432088006859751292745128347225507193870312581620325130419766015686231426929486033825220736749997835289964290894321281468968026381358957414564210837617731460893495324162339742067839754742343401209184419147189353140909958941622758165405410299626643373409021353715549204294352089673720349013620952810413823275663910619609821540500742936105326656943754158862857393973991561777513524369732413273566500852188594145554190328024676451002443475817654588128082508779000913227814480826647066787482224249771474299590343497708692549787288345254387121101070627532005170640827610376184408403583789907205592825858791114467392360297943290817150506511268296546853614210150885679374705582593553968080952651100828329981204609118448479911969747859114341268094703675971507987007 4645920522920716550696605468874447532029299316494332050609411970211887232916880102166558076927821257704194404860012292173743722532276294564246457529417723534384559539628985244977976408836182736340719837841799321640620706996206847891970258599397348128842374701977439883708898486059401041203201650839870885613477583020087166431193677149055912238781570458136301125340726167877839438898260481386706818932955593464367237855786597417773890857263325684814021111619765628932568391955531683706233974097285433460529073482221006306977603323501441885552201091570992581284111407887451914728830464337958070710182076441794489983142086753912078249137134185823143844008208902112573886684273439377549466412544425548961351525384452219901094451250537153874007763582812323669262168038610799300676235805694692427271840131898067840015357051193761860714832599721644723501660830215522725914756094155925214486897154569589162162812221493907314782666345123394967757670657101065677487427246998586003215768185271390761497308199597749838210511776533566288998401508325204148237971590218103612486666736172270449145212799585171124077046333273321992722107882454003477285303053126540922326447862209220597868962142767500288851652377148559794812862383077833837373493185142685107995975120633704666537605240723572623250268027900229226399981564356856377245011 7517257315116404273647438151199946930941001817647417674267329220256222767764567815095538666483483222389550502722322938502355933028475442893535064258986647411786682291826261162863223464756289959258751976610632970174665085690050894882522290346670172795203592005537525089125464658806693703218082334924619954158197065280533904374358122203352089673881781385246640536025639106865993699051780366357281131790092106023596956006360846175662356041595922409786466864560570762089031880147358431601001814185027713164757017646420636285955964704050831986307622401807869944525596839975458774480123209466305296217375946754376110308272506519927764480564063671856969064744958899947863850975167760659018434438925784506375915736222069951361987946574699493616075603337554667070471352457757988653817145764636315185437245542197694483388766072547477409919126951811318443850674451168333139738031758066544824308437655312525267489469165248066177640060319114956745271195026833478951053928099187180148769958513296067212499751675415404426338594285312567202226215989151851215025453814467875086786257079669979141695000087930425511198147403900853997892748710064379661693706636916448127919273721000335065261322440710791106002158888416856341666476593228719516748198767736239076076927771734532996518809849842021103162237775759343567668076268032827885232018 12163177838037120824344043620074394462970301134141749724876741190468110000681447917262096743411304480093744907582335230676099655560751737457781521788404370946171241831455246407841199873592472695599471814452432291815285792686257742774492548946067520924045966707514964972834363144866094744421283985764490839771674648300621070805551799352408001912663351843382941661366365274743833137950040847743987950723047699487964193862147443593436246898859248094600487976180336391021600272102890115307235788282313146625286091128641642592933568027552273871859823493378862525809708247862910689208953673804263366927558023196170600291414593273839842729701197857680112908753167802060437737659441200036567900851470210055337267261606522171263082397825236647490083366920366990739733520496368787954493381570331007612709085674095762323404123123741239270633959551532963167352335281383855865652787852222470038795334809882114429652281386741973492422726664238351713028865683934544628541355346185766151985726698567457973997059875013154264549106061846133491224617497477055363263425404685978699272923815842249590840212887515596635275193737174175990614856592518383138979009690042989050245721583209555663130284583478291394853811265565416136479338976306553354121691952878924184072902892368237663056415090565593726412505803659572794068057832389684262477029 19680435153153525097991481771274341393911302951789167399144070410724332768446015732357635409894787702483295410304658169178455588589227180351316586047391018357957924123281507570704423338348762654858223791063065261989950878376308637657014839292737693719249558713052490061959827803672788447639366320689110793929871713581154975179909921555760091586545133228629582197392004381609826837001821214101269082513139805511561149868508289769098602940455170504386954840740907153110632152250248546908237602467340859790043108775062278878889532731603105858167445895186732470335305087838369463689076883270568663144933969950546710599687099793767607210265261529537081973498126702008301588634608960695586335290395994561713182997828592122625070344399936141106158970257921657810204872954126776608310527334967322798146331216293456806792889196288716680553086503344281611203009732552189005390819610289014863103772465194639697141750551990039670062786983353308458300060710768023579595283445372946300755685211863525186496811550428558690887700347158700693450833486628906578288879219153853786059180895512228732535212975446022146473341141075029988507605302582762800672716326959437178164995304209890728391607024189082500855970153982272478145815569535272870869890720615163260149830664102770659575224940407614829574743579418916361736134100422512147709047 31843612991190645922335525391348735856881604085930917124020811601192442769127463649619732153306092182577040317886993399854555244149978917809098107835795389304129165954736753978545623211941235350457695605515497553805236671062566380431507388238805214643295525420567455034794190948538883192060650306453601633701546361881776045985461720908168093499208485072012523858758369656353659974951862061845257033236187504999525343730655733362534849839314418598987442816921243544132232424353138662215473390749654006415329199903703921471823100759155379730027269388565594996145013335701280152898030557074832030072491993146717310891101693067607449939966459387217194882251294504068739326294050160732154236141866204617050450259435114293888152742225172788596242337178288648549938393450495564562803908905298330410855416890389219130197012320029955951187046054877244778555345013936044871043607462511484901899107275076754126794031938732013162485513647591660171328926394702568208136638791558712452741411910430983160493871425441712955436806409004834184675450984105961941552304623839832485332104711354478323375425862961618781748534878249205979122461895101145939651726017002426228410716887419446391521891607667373895709781419547688614625154545841826224991582673494087444222733556471008322631640030973208555987249383078489155804191932812196410186076 51524048144344171020327007162623077250792907037720084523164882011916775537573479381977367563200879885060335728191651569033010832739206098160414693883186407662087090078018261549250046550289998005315919396578562815795187549438875018088522227531542908362545084133619945096754018752211671639700016627142712427631418075462931021165371642463928185085753618300642106056150374037963486811953683275946526115749327310511086493599164023131633452779769589103374397657662150697242864576603387209123710993216994866205372308678766200350712633490758485588194715283752327466480318423539649616587107440345400693217425963097264021490788792861375057150231720916754276855749421206077040914928659121427740571432262199178763633257263706416513223086625108929702401307436210306360143266404622341171114436240265653209001748106682675936989901516318672631740132558221526389758354746488233876434427072800499765002879740271393823935782490722052832548300630944968629628987105470591787731922236931658753497097122294508346990682975870271646324506756163534878126284470734868519841183842993686271391285606866707055910638838407640928221876019324235967630067197683908740324442343961863406575712191629337119913498631856456396565751573529961092770970115377099095861473394109250704372564220573778982206864971380823385561992962497405517540326033234708557895123 83367661135534816942662532553971813107674511123651001647185693613109218306700943031597099716506972067637376046078644968887566076889185015969512801718981796966216256032755015527795669762231233355773615002094060369600424220501441398520029615770348123005840609554187400131548209700750554831760666933596314061332964437344707067150833363372096278584962103372654629914908743694317146786905545337791783148985514815510611837329819756494168302619084007702361840474583394241375097000956525871339184383966648872620701508582470121822535734249913865318221984672317922462625331759240929769485137997420232723289917956243981332381890485928982507090198180303971471738000715710145780241222709282159894807574128403795814083516698820710401375828850281718298643644614498954910081659855117905733918345145563983619857164997071895067186913836348628582927178613098771168313699760424278747478034535311984666901987015348147950729814429454065995033814278536628800957913500173159995868561028490371206238509032725491507484554401311984601761313165168369062801735454840830461393488466833518756723390318221185379286064701369259709970410897573441946752529092785054679976168360964289634986429079048783511435390239523830292275532993077649707396124661218925320853056067603338148595297777044787304838505002354031941549242345575894673344517966046904968081199 134891709279878987962989539716594890358467418161371086170350575625025993844274422413574467279707851952697711774270296537920576909628391114129927495602168204628303346110773277077045716312521231361089534398672623185395611769940316416608551843301891031368385693687807345228302228452962226471460683560739026488964382512807638088316205005836024463670715721673296735971059117732280633598859228613738309264734842126021698330928983779625801755398853596805736238132245544938617961577559913080462895377183643738826073817261236322173248367740672350906416699956070249929105650182780579386072245437765633416507343919341245353872679278790357564240429901220725748593750136916222821156151368403587635379006390602974577716773962527126914598915475390648001044952050709261270224926259740246905032781385829636828858913103754571004176815352667301214667311171320297558072054506912512623912461608112484431904866755619541774665596920176118827582114909481597430586900605643751783600483265422029959735606155019999854475237377182256248085819921331903940928019925575698981234672309827205028114675925087892435196703539776900638192286916897677914382596290468963420300610704926153041562141270678120631348888871380286688841284566607610800167094776596024416714529461712588852967861997618566287045369973734855327111235308073300190884843999281613525976322 218259370415413804905652072270566703466141929285022087817536269238135212150975365445171566996214824020335087820348941506808142986517576130099440297321150001594519602143528292604841386074752464716863149400766683554996035990441757815128581459072239154374226303241994745359850438153712781303221350494335340550297346950152345155467038369208120742255677825045951365885967861426597780385764773951530092413720356941532310168258803536119970058017937604508098078606828939179993058578516438951802079761150292611446775325843706443995784101990586216224638684628388172391730981942021509155557383435185866139797261875585226686254569764719340071330628081524697220331750852626368601397374077685747530186580519006770391800290661347837315974744325672366299688596665208216180306586114858152638951126531393620448716078100826466071363729189015929797594489784419068726385754267336791371390496143424469098806853770967689725395411349630184822615929188018226231544814105816911779469044293912401165974115187745491361959791778494240849847133086500273003729755380416529442628160776660723784838066243309077814482768241146160348162697814471119861135125383254018100276779065890442676548570349726904142784279110904116981116817559685260507563219437814949737567585529315927001563159774663353591883874976088887268660477653649194864229361965328518494057521 353151079695292792868641611987161593824609347446393173987886844863161205995249787858746034275922675973032799594619238044728719896145967244229367792923318206222822948254301569681887102387273696077952683799439306740391647760382074231737133302374130185742611996929802090588152666606675007774682034055074367039261729462959983243783243375044145205926393546719248101857026979158878413984624002565268401678455199067554008499187787315745771813416791201313834316739074484118611020156076352032264975138333936350272849143104942766169032469731258567131055384584458422320836632124802088541629628872951499556304605794926472040127249043509697635571057982745422968925500989542591422553525446089335165565586909609744969517064623874964230573659801063014300733548715917477450531512374598399543983907917223257277574991204581037075540544541683231012261800955739366284457808774249303995302957751536953530711720526587231500061008269806303650198044097499823662131714711460663563069527559334431125709721342765491216435029155676497097932953007832176944657775305992228423862833086487928812952742168396970249679471780923060986354984731368797775517721673722981520577389770816595718110711620405024774133167982284403669958102126292871307730314214410974154282114991028515854531021772281919878929244949823742595771712961722495055114205964610132020033843 571410450110706597774293684257728297290751276731415261805423114101296418146225153303917601272137499993367887414968179551536862882663543374328808090244468207817342550397829862286728488462026160794815833200205990295387683750823832046865714761446369340116838300171796835948003104760387789077903384549409707589559076413112328399250281744252265948182071371765199467742994840585476194370388776516798494092175556009086318667446590851865741871434728805821932395345903423298604078734592790984067054899484228961719624468948649210164816571721844783355694069212846594712567614066823597697187012308137365696101867670511698726381818808229037706901686064270120189257251842168960023950899523775082695752167428616515361317355285222801546548404126735380600422145381125693630838098489456552182935034448616877726291069305407503146904273730699160809856290740158435010843563041586095366693453894961422629518574297554921225456419619436488472813973285518049893676528817277575342538571853246832291683836530510982578394820934170737947780086094332449948387530686408757866490993863148652597790808411706048064162240022069221334517682545839917636652847056976999620854168836707038394659281970131928916917447093188520651074919685978131815293533652225923891849700520344442856094181546945273470813119925912629864432190615371689919343567929938650514091364 924561529805999390642935296244889891115360624177808435793309958964457624141474941162663635548060175966400687009587417596265582778809510618558175883167786414040165498652131431968615590849299856872768516999645297035779331511205906278602848063820499525859450297101598926536155771367062796852585418604484074628820805876072311643033525119296411154108464918484447569600021819744354608355012779082066895770630755076640327166634378167611513684851520007135766712084977907417215098890669143016332030037818165311992473612053591976333849041453103350486749453797305017033404246191625686238816641181088865252406473465438170766509067851738735342472744047015543158182752831711551446504424969864417861317754338226260330834419909097765777122063927798394901155694097043171081369610864054951726918942365840135003866060509988540222444818272382391822118091695897801295301371815835399361996411646498376160230294824142152725517427889242792123012017383017873555808243528738238905608099412581263417393557873276473794829850089847235045713039102164626893045305992400986290353826949636581410743550580103018313841711802992282320872667277208715412170568730699981141431558607523634112769993590536953691050615075472924321033021812271003123023847866636898046131815511372958710625203319227193349742364875736372460203903577094184974457773894548782534125207 1495971979916705988417228980502618188406111900909223697598733073065754042287700094466581236820197675959768574424555597147802445661473053992886983973412254621857508049049961294255344079311326017667584350199851287331167015262029738325468562825266868865976288597273395762484158876127450585930488803153893782218379882289184640042283806863548677102290536290249647037343016660329830802725401555598865389862806311085726645834080969019477255556286248812957699107430881330715819177625261934000399084937302394273712098081002241186498665613174948133842443523010151611745971860258449283936003653489226230948508341135949869492890886659967773049374430111285663347440004673880511470455324493639500557069921766842775692151775194320567323670468054533775501577839478168864712207709353511503909853976814457012730157129815396043369349092003081552631974382436056236306144934857421494728689865541459798789748869121697073950973847508679280595825990668535923449484772346015814248146671265828095709077394403787456373224671024017972993493125196497076841432836678809744156844820812785234008534358991809066378003951825061503655390349823048633048823415787676980762285727444230672507429275560668882607968062168661444972107941498249134938317381518862821937981516031717401566719384866172466820555484801649002324636094192465874893801341824487433048216571 2420533509722705379060164276747508079521472525087032133392043032030211666429175035629244872368257851926169261434143014744068028440282564611445159856580041035897673547702092726223959670160625874540352867199496584366946346773235644604071410889087368391835738894374994689020314647494513382783074221758377856847200688165256951685317331982845088256399001208734094606943038480074185411080414334680932285633437066162366973000715347187088769241137768820093465819515859238133034276515931077016731114975120559585704571693055833162832514654628051484329192976807456628779376106450074970174820294670315096200914814601388040259399954511706508391847174158301206505622757505592062916959749463503918418387676105069036022986195103418333100792531982332170402733533575212035793577320217566455636772919180297147734023190325384583591793910275463944454092474131954037601446306673256894090686277187958174949979163945839226676491275397922072718838008051553797005293015874754053153754770678409359126470952277063930168054521113865208039206164298661703734478142671210730447198647762421815419277909571912084691845663628053785976263017100257348460993984518376961903717286051754306620199269151205836299018677244134369293140963310520138061341229385499719984113331543090360277344588185399660170297849677385374784839997769560059868259115719036215582341778 3916505489639411367477393257250126267927584425996255830990776105095965708716875130095826109188455527885937835858698611891870474101755618604332143829992295657755181596752054020479303749471951892207937217399347871698113362035265382929539973714354237257812027491648390451504473523621963968713563024912271639065580570454441591727601138846393765358689537498983741644286055140404016213805815890279797675496243377248093618834796316206566024797424017633051164926946740568848853454141193011017130199912422953859416669774058074349331180267802999618171636499817608240525347966708524254110823948159541327149423155737337909752290841171674281441221604269586869853062762179472574387415073957143418975457597871911811715137970297738900424463000036865945904311373053380900505785029571077959546626895994754160464180320140780626961143002278545497086066856568010273907591241530678388819376142729417973739728033067536300627465122906601353314663998720089720454777788220769867401901441944237454835548346680851386541279192137883181032699289495158780575910979350020474604043468575207049427812268563721151069849615453115289631653366923305981509817400306053942666003013495984979127628544711874718906986739412795814265248904808769272999658610904362541922094847574807761844063973051572126990853334479034377109476091962025934762060457543523648630558349 6337038999362116746537557533997634347449056951083287964382819137126177375146050165725070981556713379812107097292841626635938502542038183215777303686572336693652855144454146746703263419632577766748290084598844456065059708808501027533611384603441605649647766386023385140524788171116477351496637246670649495912781258619698543412918470829238853615088538707717836251229093620478201624886230224960729961129680443410460591835511663393654794038561786453144630746462599806981887730657124088033861314887543513445121241467113907512163694922431051102500829476625064869304724073158599224285644242829856423350337970338725950011690795683380789833068778427888076358685519685064637304374823420647337393845273976980847738124165401157233525255532019198116307044906628592936299362349788644415183399815175051308198203510466165210552936912554009441540159330699964311509037548203935282910062419917376148689707197013375527303956398304523426033502006771643517460070804095523920555656212622646813962019298957915316709333713251748389071905453793820484310389122021231205051242116337628864847090178135633235761695279081169075607916384023563329970811384824430904569720299547739285747827813863080555206005416656930183558389868119289411060999840289862261906208179117898122121408561236971787161151184156419751894316089731585994630319573262559864212900127 10253544489001528114014950791247760615376641377079543795373595242222143083862925295820897090745168907698044933151540238527808976643793801820109447516564632351408036741206200767182567169104529658956227301998192327763173070843766410463151358317795842907459793877671775592029261694738441320210200271582921134978361829074140135140519609675632618973778076206701577895515148760882217838692046115240527636625923820658554210670307979600220818835985804086195795673409340375830741184798317099050991514799966467304537911241171981861494875190234050720672465976442673109830072039867123478396468190989397750499761126076063859763981636855055071274290382697474946211748281864537211691789897377790756369302871848892659453262135698896133949718532056064062211356279681973836805147379359722374730026711169805468662383830606945837514079914832554938626226187267974585416628789734613671729438562646794122429435230080911827931421521211124779348166005491733237914848592316293787957557654566884268797567645638766703250612905389631570104604743288979264886300101371251679655285584912835914274902446699354386831544894534284365239569750946869311480628785130484847235723313043724264875456358574955274112992156069725997823638772928058684060658451194224803828303026692705883965472534288543914152004518635454129003792181693611929392380030806083512843458476 16590583488363644860552508325245394962825698328162831759756414379348320459008975461545968072301882287510152030444381865163747479185831985035886751203136969045060891885660347513885830588737107425704517386597036783828232779652267437996762742921237448557107560263695160732554049865854918671706837518253570630891143087693838678553438080504871472588866614914419414146744242381360419463578276340201257597755604264069014802505819642993875612874547590539340426419871940182812628915455441187084852829687509980749659152708285889373658570112665101823173295453067737979134796113025722702682112433819254173850099096414789809775672432538435861107359161125363022570433801549601848996164720798438093763148145825873507191386301100053367474974064075262178518401186310566773104509729148366789913426526344856776860587341073111048067016827386564380166385517967938896925666337938548954639500982564170271119142427094287355235377919515648205381668012263376755374919396411817708513213867189531082759586944596682019959946618641379959176510197082799749196689223392482884706527701250464779121992624834987622593240173615453440847486134970432641451440169954915751805443612591463550623284172438035829318997572726656181382028641047348095121658291484087065734511205810604006086881095525515701313155702791873880898108271425197924022699604068643377056358603 26844127977365172974567459116493155578202339705242375555130009621570463542871900757366865163047051195208196963595922103691556455829625786855996198719701601396468928626866548281068397757841637084660744688595229111591405850496033848459914101239033291464567354141366936324583311560593359991917037789836491765869504916767978813693957690180504091562644691121120992042259391142242637302270322455441785234381528084727569013176127622594096431710533394625536222093281280558643370100253758286135844344487476448054197063949457871235153445302899152543845761429510411088964868152892846181078580624808651924349860222490853669539654069393490932381649543822837968782182083414139060687954618176228850132451017674766166644648436798949501424692596131326240729757465992540609909657108508089164643453237514662245522971171680056885581096742219119318792611705235913482342295127673162626368939545210964393548577657175199183166799440726772984729834017755109993289767988728111496470771521756415351557154590235448723210559524031011529281114940371779014082989324763734564361813286163300693396895071534342009424785068149737806087055885917301952932068955085400599041166925635187815498740531012991103431989728796382179205667413975406779182316742678311869562814232503309890052353629814059615465160221427328009901900453118809853415079634874726889899817079 43434711465728817835119967441738550541028038033405207314886424000918784001880876218912833235348933482718348994040303968855303935015457771891882949922838570441529820512526895794954228346578744510365262075192265895419638630148301286456676844160270740021674914405062097057137361426448278663623875308090062396760648004461817492247395770685375564151511306035540406189003633523603056765848598795643042832137132348796583815681947265587972044585080985164876648513153220741455999015709199473220697174174986428803856216657743760608812015415564254367019056882578149068099664265918568883760693058627906098199959318905643479315326501931926793489008704948200991352615884963740909684119338974666943895599163500639673836034737899002868899666660206588419248158652303107383014166837656455954556879763859519022383558512753167933648113569605683698958997223203852379267961465611711581008440527775134664667720084269486538402177360242421190111502030018486748664687385139929204983985388945946434316741534832130743170506142672391488457625137454578763279678548156217449068340987413765472518887696369329632018025241765191246934542020887734594383509125040316350846610538226651366122024703451026932750987301523038360587696055022754874303975034162398935297325438313913896139234725339575316778315924219201890800008724544007777437779238943370266956175682 70278839443093990809687426558231706119230377738647582870016433622489247544752776976279698398395984677926545957636226072546860390845083558747879148642540171837998749139393444076022626104420381595026006763787495007011044480644335134916590945399304031486242268546429033381720672987041638655540913097926554162630152921229796305941353460865879655714155997156661398231263024665845694068118921251084828066518660433524152828858074888182068476295614379790412870606434501300099369115962957759356541518662462876858053280607201631843965460718463406910864818312088560157064532418811415064839273683436558022549819541396497148854980571325417725870658248771038960134797968377879970372073957150895794028050181175405840480683174697952370324359256337914659977916118295647992923823946164545119200333001374181267906529684433224819229210311824803017751608928439765861610256593284874207377380072986099058216297741444685721568976800969194174841336047773596741954455373868040701454756910702361785873896125067579466381065666703403017738740077826357777362667872919952013430154273577066165915782767903671641442810309914929053021597906805036547315578080125716949887777463861839181620765234464018036182977030319420539793363468998161653486291776840710804860139670817223786191588355153634932243476145646529900701909177662817630852858873818097156855992761 113713550908822808644807393999970256660258415772052790184902857623408031546633653195192531633744918160644894951676530041402164325860541330639762098565378742279528569651920339870976854450999126105391268838979760902430683110792636421373267789559574771507917182951491130438858034413489917319164788406016616559390800925691613798188749231551255219865667303192201804420266658189448750833967520046727870898655792782320736644540022153770040520880695364955289519119587722041555368131672157232577238692837449305661909497264945392452777476134027661277883875194666709225164196684729983948599966742064464120749778860302140628170307073257344519359666953719239951487413853341620880056193296125562737923649344676045514316717912596955239224025916544503079226074770598755375937990783821001073757212765233700290290088197186392752877323881430486716710606151643618240878218058896585788385820600761233722884017825714172259971154161211615364952838077792083490619142759007969906438742299648308220190637659899710209551571809375794506196365215280936540642346421076169462498495260990831638434670464273001273460835551680120299956139927692771141699087205166033300734388002088490547742789937915044968933964331842458900381059524020916527790266811003109740157465109131137682330823080493210249021792069865731791501917902206825408290638112761467423812168443 183992390351916799454494820558201962779488793510700373054919291245897279091386430171472230032140902838571440909312756113949024716705624889387641247207918914117527318791313783946999480555419507700417275602767255909441727591436971556289858734958878802994159451497920163820578707400531555974705701503943170722020953846921410104130102692417134875579823300348863202651529682855294444902086441297812698965174453215844889473398097041952108997176309744745702389726022223341654737247635114991933780211499912182519962777872147024296742936852491068188748693506755269382228729103541399013439240425501022143299598401698637777025287644582762245230325202490278911622211821719500850428267253276458531951699525851451354797401087294907609548385172882417739203990888894403368861814729985546192957545766607881558196617881619617572106534193255289734462215080083384102488474652181459995763200673747332781100315567158857981540130962180809539794174125565680232573598132876010607893499210350670006064533784967289675932637476079197523935105293107294318005014293996121475928649534567897804350453232176672914903645861595049352977737834497807689014665285291750250622165465950329729363555172379063005116941362161879440174422993019078181276558587843820545017604779948361468522411435646845181265268215512261692203827079869643039143496986579564580668161204 297705941260739608099302214558172219439747209282753163239822148869305310638020083366664761665885820999216335860989286155351189042566166220027403345773297656397055888443234123817976335006418633805808544441747016811872410702229607977663126524518453574502076634449411294259436741814021473293870489909959787281411754772613023902318851923968390095445490603541065007071796341044743195736053961344540569863830245998165626117938119195722149518057005109700991908845609945383210105379307272224511018904337361488181872275137092416749520412986518729466632568701421978607392925788271382962039207167565486264049377262000778405195594717840106764589992156209518863109625675061121730484460549402021269875348870527496869114118999891862848772411089426920818430065659493158744799805513806547266714758531841581848486706078806010324983858074685776451172821231727002343366692711078045784149021274508566503984333392873030241511285123392424904747012203357763723192740891883980514332241509998978226255171444866999885484209285454992030131470508388230858647360715072290938427144795558729442785123696449674188364481413275169652933877762190578830713752490457783551356553468038820277106345110294107974050905694004338340555482517039994709066825398846930285175069889079499150853234516140055430287060285377993483705744982076468447434135099341032004480329647 481698331612656407553797035116374182219236002793453536294741440115202589729406513538136991698026723837787776770302042269300213759271791109415044592981216570514583207234547907764975815561838141506225820044514272721314138293666579533952985259477332377496236085947331458080015449214553029268576191413902958003432708619534434006448954616385524971025313903889928209723326023900037640638140402642353268829004699214010515591336216237674258515233314854446694298571632168724864842626942387216444799115837273670701835053009239441046263349839009797655381262208177247989621654891812781975478447593066508407348975663699416182220882362422869009820317358699797774731837496780622580912727802678479801827048396378948223911520087186770458320796262309338557634056548387562113661620243792093459672304298449463406683323960425627897090392267941066185635036311810386445855167363259505779912221948255899285084648960031888223051416085573234444541186328923443955766339024759991122225740720349648232319705229834289561416846761534189554066575801495525176652375009068412414355794330126627247135576928626347103268127274870219005911615596688386519728417775749533801978718933989150006469900282673170979167847056166217780729905510059072890343383986690750830192674669027860619375645951786900611552328500890255175909572061946111486577632085920596585148490851 779404272873396015653099249674546401658983212076206699534563588984507900367426596904801753363912544837004112631291328424651402801837957329442447938754514226911639095677782031582952150568256775312034364486261289533186548995896187511616111783995785951998312720396742752339452191028574502562446681323862745284844463392147457908767806540353915066470804507430993216795122364944780836374194363986893838692834945212176141709274335433396408033290319964147686207417242114108074948006249659440955818020174635158883707328146331857795783762825528527122013830909599226597014580680084164937517654760631994671398352925700194587416477080262975774410309514909316637841463171841744311397188352080501071702397266906445093025639087078633307093207351736259376064122207880720858461425757598640726387062830291045255170030039231638222074250342626842636807857543537388789221860074337551564061243222764465789068982352904918464562701208965659349288198532281207678959079916643971636557982230348626458574876674701289446901056046989181584198046309883756035299735724140703352782939125685356689920700625076021291632608688145388658845493358878965350442170266207317353335272402027970283576245392967278953218752750170556121285388027099067599410209385537681115367744558107359770228880467926956041839388786268248659615317044022579934011767185261628589628820498 1261102604486052423206896284790920583878219214869660235829305029099710490096833110442938745061939268674791889401593370693951616561109748438857492531735730797426222302912329939347927966130094916818260184530775562254500687289562767045569097043473118329494548806344074210419467640243127531831022872737765703288277172011681891915216761156739440037496118411320921426518448388844818477012334766629247107521839644426186657300610551671070666548523634818594380505988874282832939790633192046657400617136011908829585542381155571298842047112664538324777395093117776474586636235571896946912996102353698503078747328589399610769637359442685844784230626873609114412573300668622366892309916154758980873529445663285393316937159174265403765414003614045597933698178756268282972123046001390734186059367128740508661853353999657266119164642610567908822442893855347775235077027437597057343973465171020365074153631312936806687614117294538893793829384861204651634725418941403962758783722950698274690894581904535579008317902808523371138264622111379281211952110733209115767138733455811983937056277553702368394900735963015607664757108955567351870170588041956851155313991336017120290046145675640449932386599806336773902015293537158140489753593372228431945560419227135220389604526419713856653391717287158503835524889105968691420589399271182225174777311349 2040506877359448438859995534465466985537202426945866935363868618084218390464259707347740498425851813511796002032884699118603019362947705768299940470490245024337861398590111970930880116698351692130294549017036851787687236285458954557185208827468904281492861526740816962758919831271702034393469554061628448573121635403829349823984567697093355103966922918751914643313570753789599313386529130616140946214674589638362799009884887104467074581813954782742066713406116396941014738639441706098356435156186543988469249709301903156637830875490066851899408924027375701183650816251981111850513757114330497750145681515099805357053836522948820558640936388518431050414763840464111203707104506839481945231842930191838409962798261344037072507210965781857309762300964149003830584471758989374912446429959031553917023384038888904341238892953194751459250751398885164024298887511934608908034708393784830863222613665841725152176818503504553143117583393485859313684498858047934395341705181046901149469458579236868455218958855512552722462668421263037247251846457349819119921672581497340626976978178778389686533344651160996323602602314446317220612758308164168508649263738045090573622391068607728885605352556507330023300681564257208089163802757766113060928163785242580159833406887640812695231106073426752495140206149991271354601166456443853764406131847 3301609481845500862066891819256387569415421641815527171193173647183928880561092817790679243487791082186587891434478069812554635924057454207157433002225975821764083701502441910278808082828446608948554733547812414042187923575021721602754305870942022610987410333084891173178387471514829566224492426799394151861398807415511241739201328853832795141463041330072836069832019142634417790398863897245388053736514234064549456310495438775537741130337589601336447219394990679773954529272633752755757052292198452818054792090457474455479877988154605176676804017145152175770287051823878058763509859468029000828893010104499416126691195965634665342871563262127545462988064509086478096017020661598462818761288593477231726899957435609440837921214579827455243460479720417286802707517760380109098505797087772062578876738038546170460403535563762660281693645254232939259375914949531666252008173564805195937376244978778531839790935798043446936946968254690510948409917799451897154125428131745175840364040483772447463536861664035923860727290532642318459203957190558934887060406037309324564033255732480758081434080614176603988359711270013669090783346350121019663963255074062210863668536744248178817991952362844103925315975101415348578917396129994545006488583012377800549437933307354669348622823360585256330665095255959962775190565727626078939183443196 5342116359204949300926887353721854554952624068761394106557042265268147271025352525138419741913642895698383893467362768931157655287005159975457373472716220846101945100092553881209688199526798301078849282564849265829875159860480676159939514698410926892480271859825708135937307302786531600617961980861022600434520442819340591563185896550926150245429964248824750713145589896424017103785393027861528999951188823702912255320380325880004815712151544384078513932801107076714969267912075458854113487448384996806524041799759377612117708863644672028576212941172527876953937868075859170614023616582359498579038691619599221483745032488583485901512499650645976513402828349550589299724125168437944763993131523669070136862755696953477910428425545609312553222780684566290633291989519369484010952227046803616495900122077435074801642428516957411740944396653118103283674802461466275160042881958590026800598858644620256991967754301548000080064551648176370262094416657499831549467133312792076989833499063009315918755820519548476583189958953905355706455803647908754006982078618806665191010233911259147767967425265337600311962313584459986311396104658285188172612518812107301437290927812855907703597304919351433948616656665672556668081198887760658067416746797620380709271340194995482043853929434012008825805301405951234129791732184069932703589575043 8643725841050450162993779172978242124368045710576921277750215912452076151586445342929098985401433977884971784901840838743712291211062614182614806474942196667866028801594995791488496282355244910027404016112661679872063083435502397762693820569352949503467682192910599309115694774301361166842454407660416752295919250234851833302387225404758945386893005578897586782977609039058434894184256925106917053687703057767461711630875764655542556842489133985414961152196097756488923797184709211609870539740583449624578833890216852067597586851799277205253016958317680052724224919899737229377533476050388499407931701724098637610436228454218151244384062912773521976390892858637067395741145830036407582754420117146301863762713132562918748349640125436767796683260404983577435999507279749593109458024134575679074776860115981245262045964080720072022638041907351042543050717410997941412051055523395222737975103623398788831758690099591447017011519902866881210504334456951728703592561444537252830197539546781763382292682183584400443917249486547674165659760838467688894042484656115989755043489643739905849401505879514204300322024854473655402179451008406207836575773886169512300959464557104086521589257282195537873932631767087905246998595017755203073905329809998181258709273502350151392476752794597265156470396661911196904982297911696011642773018239 13985842200255399463920666526700096679320669779338315384307258177720223422611797868067518727315076873583355678369203607674869946498067774158072179947658417513967973901687549672698184481882043211106253298677510945701938243295983073922633335267763876395947954052736307445053002077087892767460416388521439352730439693054192424865573121955685095632322969827722337496123198935482451997969649952968446053638891881470373966951256090535547372554640678369493475084997204833203893065096784670463984027188968446431102875689976229679715295715443949233829229899490207929678162787975596399991557092632747997986970393343697859094181260942801637145896562563419498489793721208187656695465270998474352346747551640815372000625468829516396658778065671046080349906041089549868069291496799119077120410251181379295570676982193416320063688392597677483763582438560469145826725519872464216572093937481985249538573962268019045823726444401139447097076071551043251472598751114451560253059694757329329820031038609791079301048502703132877027107208440453029872115564486376442901024563274922654946053723554999053617368931144851804612284338438933641713575555666691396009188292698276813738250392369959994225186562201546971822549288432760461915079793905515861141322076607618561967980613697345633436330682228609273982275698067862431034774030095765944346362593282 22629568041305849626914445699678338803688715489915236662057474090172299574198243210996617712716510851468327463271044446418582237709130388340686986422600614181834002703282545464186680764237288121133657314790172625574001326731485471685327155837116825899415636245646906754168696851389253934302870796181856105026358943289044258167960347360444041019215975406619924279100807974540886892153906878075363107326594939237835678582131855191089929397129812354908436237193302589692816862281493882073854566929551896055681709580193081747312882567243226439082246857807887982402387707875333629369090568683136497394902095067796496704617489397019788390280625476193020466184614066824724091206416828510759929501971757961673864388181962079315407127705796482848146589301494533445505291004078868670229868275315954974645453842309397565325734356678397555786220480467820188369776237283462157984144993005380472276549065891417834655485134500730894114087591453910132683103085571403288956652256201866582650228578156572842683341184886717277471024457927000704037775325324844131795067047931038644701097213198738959466770437024366008912606363293407297115755006675097603845764066584446326039209856927064080746775819483742509696481920199848367162078388923271064215227406417616743226689887199695784828807435023206539138746094729773627939756328007461955989135611521 36615410241561249090835112226378435483009385269253552046364732267892522996810041079064136440031587725051683141640248054093452184207198162498759166370259031695801976604970095136884865246119331332239910613467683571275939570027468545607960491104880702295363590298383214199221698928477146701763287184703295457756798636343236683033533469316129136651538945234342261775224006910023338890123556831043809160965486820708209645533387945726637301951770490724401911322190507422896709927378278552537838594118520342486784585270169311427028178282687175672911476757298095912080550495850930029360647661315884495381872488411494355798798750339821425536177188039612518955978335275012380786671687826985112276249523398777045865013650791595712065905771467528928496495342584083313574582500877987747350278526497334270216130824502813885389422749276075039549802919028289334196501757155926374556238930487365721815123028159436880479211578901870341211163663004953384155701836685854849209711950959195912470259616766363921984389687589850154498131666367453733909890889811220574696091611205961299647150936753738013084139368169217813524890701732340938829330562341788999854952359282723139777460249297024074971962381685289481519031208632608829077158182828786925356549483025235305194670500897041418265138117251815813121021792797636058974530358103227900335498204803 59244978282867098717749557926056774286698100759168788708422206358064822571008284290060754152748098576520010604911292500512034421916328550839446152792859645877635979308252640601071546010356619453373567928257856196849940896758954017293287646941997528194779226544030120953390395779866400636066157980885151562783157579632280941201493816676573177670754920640962186054324814884564225782277463709119172268292081759946045324115519800917727231348900303079310347559383810012589526789659772434611693161048072238542466294850362393174341060849930402111993723615105983894482938203726263658729738229999020992776774583479290852503416239736841213926457813515805539422162949341837104877878104655495872205751495156738719729401832753675027473033477264011776643084644078616759079873504956856417580146801813289244861584666812211450715157105954472595336023399496109522566277994439388532540383923492746194091672094050854715134696713402601235325251254458863516838804922257258138166364207161062495120488194922936764667730872476567431969156124294454437947666215136064706491158659136999944348248149952476972550909805193583822437497065025748235945085569016886603700716425867169465816670106224088155718738201169031991215513128832457196239236571752057989571776889442852048421360388096737203093945552275022352259767887527409686914286686110689856324633816324 95860388524428347808584670152435209769707486028422340754786938625957345567818325369124890592779686301571693746551540554605486606123526713338205319163118677573437955913222735737956411256475950785613478541725539768125880466786422562901248138046878230490142816842413335152612094708343547337829445165588447020539956215975517624235027285992702314322293865875304447829548821794587564672401020540162981429257568580654254969648907746644364533300670793803712258881574317435486236717038050987149531755166592581029250880120531704601369239132617577784905200372404079806563488699577193688090385891314905488158647071890785208302214990076662639462635001555418058378141284616849485664549792482480984482001018555515765594415483545270739538939248731540705139579986662700072654456005834844164930425328310623515077715491315025336104579855230547634885826318524398856762779751595314907096622853980111915906795122210291595613908292304471576536414917463816900994506758943112987376076158120258407590747811689300686652120560066417586467287790661908171857557104947285281187250270342961243995399086706214985635049173362801635962387766758089174774416131358675603555668785149892605594130355521112230690700582854321472734544337465066025316394754580844914928326372468087353616030888993778621359083669526838165380789680325045745888817044213917756660132021127 155105366807295446526334228078491984056405586787591129463209144984022168138826609659185644745527784878091704351462833055117521028039855264177651471955978323451073935221475376339027957266832570238987046469983395964975821363545376580194535784988875758684922043386443456106002490488209947973895603146473598583323113795607798565436521102669275491993048786516266633883873636679151790454678484249282153697549650340600300293764427547562091764649571096883022606440958127448075763506697823421761224916214664819571717174970894097775710299982547979896898923987510063701046426903303457346820124121313926480935421655370076060805631229813503853389092815071223597800304233958686590542427897137976856687752513712254485323817316298945767011972725995552481782664630741316831734329510791700582510572130123912759939300158127236786819736961185020230221849718020508379329057746034703439637006777472858109998467216261146310748605005707072811861666171922680417833311681200371125542440365281320902711236006612237451319851432542985018436443914956362609805223320083349987678408929479961188343647236658691958185958978556385458399884831783837410719501700375562207256385211017062071410800461745200386409438784023353463950057466297523221555631326332902904500103261910939402037391277090515824453029221801860517640557567852455432803103730324607612984765837451 250965755331723794334918898230927193826113072816013470217996083609979513706644935028310535338307471179663398098014373609723007634163381977515856791119097001024511891134698112076984368523308521024600525011708935733101701830331799143095783923035753989175064860228856791258614585196553495311725048312062045603863070011583316189671548388661977806315342652391571081713422458473739355127079504789445135126807218921254555263413335294206456297950241890686734865322532444883562000223735874408910756671381257400600968055091425802377079539115165557681804124359914143507609915602880651034910510012628831969094068727260861269107846219890166492851727816626641656178445518575536076206977689620457841169753532267770250918232799844216506550911974727093186922244617404016904388785516626544747440997458434536275017015649442262122924316816415567865107676036544907236091837497630018346733629631452970025905262338471437906362513298011544388398081089386497318827818440143484112918516523401579310301983818301538137971971992609402604903731705618270781662780425030635268865659199822922432339046323364906943821008151919187094362272598541926585493917831734237810812053996166954677004930817266312617100139366877674936684601803762589246872026080913747819428429634379026755653422166084294445812112891328698683021347248177501178691920774538525369644897858578 406071122139019240861253126309419177882518659603604599681205228594001681845471544687496180083835256057755102449477206664840528662203237241693508263075075324475585826356173488416012325790141091263587571481692331698077523193877175723290319708024629747859986903615300247364617075684763443285620651458535644187186183807191114755108069491331253298308391438907837715597296095152891145581757989038727288824356869261854855557177762841768548062599812987569757471763490572331637763730433697830671981587595922220172685230062319900152789839097713537578703048347424207208656342506184108381730634133942758450029490382630937329913477449703670346240820631697865253978749752534222666749405586758434697857506045980024736242050116143162273562884700722645668704909248145333736123115027418245329951569588558449034956315807569498909744053777600588095329525754565415615420895243664721786370636408925828135903729554732584217111118303718617200259747261309177736661130121343855238460956888682900213013219824913775589291823425152387623340175620574633391468003745113985256544068129302883620682693560023598902006967130475572552762157430325763996213419532109800018068439207184016748415731279011513003509578150901028400634659270060112468427657407246650723928532896289966157690813443174810270265142113130559200661904816029956611495024504863132982629663696029 657036877470743035196172024540346371708631732419618069899201312203981195552116479715806715422142727237418500547491580274563536296366619219209365054194172325500097717490871600492996694313449612288188096493401267431179225024208974866386103631060383737035051763844157038623231660881316938597345699770597689791049253818774430944779617879993231104623734091299408797310718553626630500708837493828172423951164088183109410820591098135975004360550054878256492337086023017215199763954169572239582738258977179620773653285153745702529869378212879095260507172707338350716266258109064759416641144146571590419123559109891798599021323669593836839092548448324506910157195271109758742956383276378892539027259578247794987160282915987378780113796675449738855627153865549350640511900544044790077392567046992985309973331457011761032668370594016155960437201791110322851512732741294740133104266040378798161808991893204022123473631601730161588657828350695675055488948561487339351379473412084479523315203643215313727263795417761790228243907326192904173130784170144620525409727329125806053021739883388505845827975282394759647124430028867690581707337363844037828880493203350971425420662096277825620609717517778703337319261073822701715299683488160398543356962530668992913344235609259104716077255004459257883683252064207457790186945279401658352274561554607 1063107999609762276057425150849765549591150392023222669580406540797982877397588024403302895505977983295173602996968786939404064958569856460902873317269247649975683543847045088909009020103590703551775667975093599129256748218086150589676423339085013484895038667459457285987848736566080381882966351229133333978235437625965545699887687371324484402932125530207246512908014648779521646290595482866899712775520957444964266377768860977743552423149867865826249808849513589546837527684603270070254719846573101840946338515216065602682659217310592632839210221054762557924922600615248867798371778280514348869153049492522735928934801119297507185333369080022372164135945023643981409705788863137327236884765624227819723402333032130541053676681376172384524332063113694684376635015571463035407344136635551434344929647264581259942412424371616744055766727545675738466933627984959461919474902449304626297712721447936606340584749905448778788917575612004852792150078682831194589840430300767379736328423468129089316555618842914177851584082946767537564598787915258605781953795458428689673704433443412104747834942412870332199886587459193454577920756895953837846948932410534988173836393375289338624119295668679731737953920343882814183727340895407049267285495426958959071035049052433914986342397117589817084345156880237414401681969784264791334904225250636 1720144877080505311253597175390111921299782124442840739479607853001964072949704504119109610928120710532592103544460367213967601254936475680112238371463419975475781261337916689402005714417040315839963764468494866560435973242295125456062526970145397221930090431303614324611080397447397320480312050999731023769284691444739976644667305251317715507555859621506655310218733202406152146999432976695072136726685045628073677198359959113718556783699922744082742145935536606762037291638772842309837458105550281461719991800369811305212528595523471728099717393762100908641188858724313627215012922427085939288276608602414534527956124788891344024425917528346879074293140294753740152662172139516219775912025202475614710562615948117919833790478051622123379959216979244035017146916115507825484736703682544419654902978721593020975080794965632900016203929336786061318446360726254202052579168489683424459521713341140628464058381507178940377575403962700527847639027244318533941219903712851859259643627111344403043819414260675968079827990272960441737729572085403226307363522787554495726726173326800610593662917695265091847011017488061145159628094259797875675829425613885959599257055471567164244729013186458435075273181417705515899027024383567447810642457957627951984379284661693019702419652122049074968028408944444872191868915063666449687178786805243 2783252876690267587311022326239877470890932516466063409060014393799946950347292528522412506434098693827765706541429154153371666213506332141015111688732667625451464805184961778311014734520631019391739432443588465689692721460381276045738950309230410706825129098763071610598929134013477702363278402228864357747520129070705522344554992622642199910487985151713901823126747851185673793290028459561971849502206003073037943576128820091462109206849790609908991954785050196308874819323376112380092177952123383302666330315585876907895187812834064360938927614816863466566111459339562495013384700707600288157429658094937270456890925908188851209759286608369251238429085318397721562367961002653547012796790826703434433964948980248460887467159427794507904291280092938719393781931686970860892080840318095853999832625986174280917493219337249644071970656882461799785379988711213663972054070938988050757234434789077234804643131412627719166492979574705380639789105927149728531060334013619238995972050579473492360375033103590145931412073219727979302328360000661832089317318245983185400430606770212715341497860108135424046897604947254599737548851155751713522778358024420947773093448846856502868848308855138166813227101761588330082754365278974497077927953384586911055414333714126934688762049239638892052373565824682286593550884847931241022083012055879 4503397753770772898564619501629989392190714640908904148539622246801911023296997032641522117362219404360357810085889521367339267468442807821127350060196087600927246066522878467713020448937671335231703196912083332250128694702676401501801477279375807928755219530066685935210009531460875022843590453228595381516804820515445498989222297873959915418043844773220557133345481053591825940289461436257043986228891048701111620774488779205180665990549713353991734100720586803070912110962148954689929636057673664764386322115955688213107716408357536089038645008578964375207300318063876122228397623134686227445706266697351804984847050697080195234185204136716130312722225613151461715030133142169766788708816029179049144527564928366380721257637479416631284250497072182754410928847802478686376817544000640273654735604707767301892574014302882544088174586219247861103826349437467866024633239428671475216756148130217863268701512919806659544068383537405908487428133171468262472280237726471098255615677690817895404194447364266114011240063492688421040057932086065058396680841033537681127156780097013325935160777803400515893908622435315744897176945415549589198607783638306907372350504318423667113577322041596601888500283179293845981781389662541944888570411342214863039793618375819954391181701361687967020401974769127158785419799911597690709261798861122 7286650630461040485875641827869866863081647157374967557599636640601857973644289561163934623796318098188123516627318675520710933681949139962142461748928755226378710871707840246024035183458302354623442629355671797939821416163057677547540427588606218635580348628829757545808938665474352725206868855457459739264324949586151021333777290496602115328531829924934458956472228904777499733579489895819015835731097051774149564350617599296642775197399503963900726055505636999379786930285525067070021814009797048067052652431541565121002904221191600449977572623395827841773411777403438617241782323842286515603135924792289075441737976605269046443944490745085381551151310931549183277398094144823313801505606855882483578492513908614841608724796907211139188541777165121473804710779489449547268898384318736127654568230693941582810067233640132188160145243101709660889206338148681529996687310367659525973990582919295098073344644332434378710561363112111289127217239098617991003340571740090337251587728270291387764569480467856259942652136712416400342386292086726890485998159279520866527587386867226041276658637911535939940806227382570344634725796571301302721386141662727855145443953165280169982425630896734768701727384940882176064535754941516441966498364726801774095207952089946889079943750601326859072775540593809445378970684759528931731344810917001 11790048384231813384440261329499856255272361798283871706139258887403768996941286593805456741158537502548481326713208196888050201150391947783269811809124842827305956938230718713737055632395973689855145826267755130189950110865734079049341904867982026564335568158896443481018948196935227748050459308686055120781129770101596520322999588370562030746575674698155016089817709958369325673868951332076059821959988100475261185125106378501823441187949217317892460156226223802450699041247674021759951450067470712831438974547497253334110620629549136539016217631974792216980712095467314739470179946976972743048842191489640880426585027302349241678129694881801511863873536544700644992428227286993080590214422885061532723020078836981222329982434386627770472792274237304228215639627291928233645715928319376401309303835401708884702641247943014732248319829320957521993032687586149396021320549796331001190746731049512961342046157252241038254629746649517197614645372270086253475620809466561435507203405961109283168763927832122373953892200205104821382444224172791948882679000313058547654744166964239367211819415714936455834714849817886089531902741986850891919993925301034762517794457483703837096002952938331370590227668120176022046317144604058386855068776069016637135001570465766843471125451963014826093177515362936604164390484671126622440606609778123 19076699014692853870315903157369723118354008955658839263738895528005626970585576154969391364954855600736604843340526872408761134832341087745412273558053598053684667809938558959761090815854276044478588455623426928129771527028791756596882332456588245199915916787726201026827886862409580473257328164143514860045454719687747541656776878867164146075107504623089475046289938863146825407448441227895075657691085152249410749475723977798466216385348721281793186211731860801830485971533199088829973264077267760898491626979038818455113524850740736988993790255370620058754123872870753356711962270819259258651978116281929955868323003907618288122074185626886893415024847476249828269826321431816394391720029740944016301512592745596063938707231293838909661334051402425702020350406781377780914614312638112528963872066095650467512708481583146920408465072422667182882239025734830926018007860163990527164737313968808059415390801584675416965191109761628486741862611368704244478961381206651772758791134231400670933333408299978633896544336917521221724830516259518839368677159592579414182331553831465408488478053626472395775521077200456434166628538558152194641380066963762617663238410648984007078428583835066139291955053061058198110852899545574828821567140795818411230209522555713732551069202564341685165953055956746049543361169430655554171951420695124 30866747398924667254756164486869579373626370753942710969878154415409395967526862748774848106113393103285086170053735069296811335982733035528682085367178440880990624748169277673498146448250249734333734281891182058319721637894525835646224237324570271764251484946622644507846835059344808221307787472829569980826584489789344061979776467237726176821683179321244491136107648821516151081317392559971135479651073252724671934600830356300289657573297938599685646367958084604281185012780873110589924714144738473729930601526536071789224145480289873528010007887345412275734835968338068096182142217796232001700820307771570836294908031209967529800203880508688405278898384020950473262254548718809474981934452626005549024532671582577286268689665680466680134126325639729930235990034073306014560330240957488930273175901497359352215349729526161652656784901743624704875271713320980322039328409960321528355484045018321020757436958836916455219820856411145684356507983638790497954582190673213208265994540192509954102097336132101007850436537122626043107274740432310788251356159905637961837075720795704775700297469341408851610235927018342523698531280545003086561373992264797380181032868132687844174431536773397509882182721181234220157170044149633215676635916864835048365211093021480576022194654527356511259130571319682653707751654101782176612558030473247 49943446413617521125072067644239302491980379709601550233617049943415022938112438903744239471068248704021691013394261941705572470815074123274094358925232038934675292558107836633259237264104525778812322737514608986449493164923317592243106569781158516964167401734348845534674721921754388694565115636973084840872039209477091603636553346104890322896790683944333966182397587684662976488765833787866211137342158404974082684076554334098755873958646659881478832579689945406111670984314072199419897978222006234628422228505574890244337670331030610517003798142716032334488959841208821452894104488615491260352798424053500792163231035117585817922278066135575298693923231497200301532080870150625869373654482366949565326045264328173350207396896974305589795460377042155632256340440854683795474944553595601459237047967593009819728058211109308573065249974166291887757510739055811248057336270124312055520221358987129080172827760421591872185011966172774171098370595007494742433543571879864981024785674423910625035430744432079641746980874040147264832105256691829627620033319498217376019407274627170184188775522967881247385757004218798957865159819103155281202754059228559997844271278781671851252860120608463649174137774242292418268022943695208044498203057660653459595420615577194308573263857091698196425083627276428703251112823532437730784509451168371 80810193812542188379828232131108881865606750463544261203495204358824418905639301652519087577181641807306777183447997011002383806797807158802776444292410479815665917306277114306757383712354775513146057019405791044769214802817843427889330807105728788728418886680971490042521556981099196915872903109802654821698623699266435665616329813342616499718473863265578457318505236506179127570083226347837346616993231657698754618677384690399045531531944598481164478947648030010392855997094945310009822692366744708358352830032110962033561815811320484045013806030061444610223795809546889549076246706411723262053618731825071628458139066327553347722481946644263703972821615518150774794335418869435344355588934992955114350577935910750636476086562654772269929586702681885562492330474927989810035274794553090389510223869090369171943407940635470225722034875909916592632782452376791570096664680084633583875705404005450100930264719258508327404832822583919855454878578646285240388125762553078189290780214616420579137528080564180649597417411162773307939379997124140415871389479403855337856482995422874959889072992309290098995992931237141481563691099648158367764128051493357378025304146914359695427291657381861159056320495423526638425192987844841260174838974525488507960631708598674884595458511619054707684214198596111356958864477634219907397067481641618 130753640226159709504900299775348184357587130173145811437112254302239441843751740556263327048249890511328468196842258952707956277612881282076870803217642518750341209864384950940016620976459301291958379756920400031218707967741161020132437376886887305692586288415320335577196278902853585610438018746775739662570662908743527269252883159447506822615264547209912423500902824190842104058849060135703557754335390062672837302753939024497801405490591258362643311527337975416504526981409017509429720670588750942986775058537685852277899486142351094562017604172777476944712755650755711001970351195027214522406417155878572420621370101445139165644760012779839002666744847015351076326416289020061213729243417359904679676623200238923986683483459629077859725047079724041194748670915782673605510219348148691848747271836683378991671466151744778798787284850076208480390293191432602818154000950208945639395926762992579181103092479680100199589844788756694026553249173653779982821669334432943170315565889040331204172958824996260291344398285202920572771485253815970043491422798902072713875890270050045144077848515277171346381749935455940439428850918751313648966882110721917375869575425696031546680151777990324808230458269665819056693215931540049304673042032186141967556052324175869193168722368710752904109297825872540060209977301166657638181576932809989 211563834038701897884728531906457066223193880636690072640607458661063860749391042208782414625431532318635245380290255963710340084410688440879647247510052998566007127170662065246774004688814076805104436776326191075987922770559004448021768183992616094421005175096291825619717835883952782526310921856578394484269286608009962934869212972790123322333738410475490880819408060697021231628932286483540904371328621720371591921431323714896846937022535856843807790474986005426897382978503962819439543362955495651345127888569796814311461301953671578607031410202838921554936551460302600551046597901438937784460035887703644049079509167772692513367241959424102706639566462533501851120751707889496558084832352352859794027201136149674623159570022283850129654633782405926757241001390710663415545494142701782238257495705773748163614874092380249024509319725986125073023075643809394388250665630293579223271632166998029282033357198938608526994677611340613882008127752300065223209795096986021359606346103656751783310486905560440940941815696365693880710865250940110459362812278305928051732373265472920103966921507586461445377742866693081920992542018399472016731010162215274753894879572610391242107443435372185967286778765089345695118408919384890564847881006711630475516684032774544077764180880329807611793512024468651417168841778800877545578644414451607 342317474264861607389628831681805250580781010809835884077719712963303302593142782765045741673681422829963713577132514916418296362023569722956518050727695517316348337035047016186790625665273378097062816533246591107206630738300165468154205560879503400113591463511612161196914114786806368136748940603354134146839949516753490204122096132237630144949002957685403304320310884887863335687781346619244462125664011783044429224185262739394648342513127115206451102002323980843401909959912980328869264033544246594331902947107482666589360788096022673169049014375616398499649307111058311553016949096466152306866453043582216469700879269217831679012001972203941709306311309548852927447167996909557771814075769712764473703824336388598609843053481912927989379680862129967951989672306493337021055713490850474087004767542457127155286340244125027823296604576062333553413368835241997206404666580502524862667558929990608463136449678618708726584522400097307908561376925953845206031464431418964529921911992697082987483445730556701232286213981568614453482350504756080502854235077208000765608263535522965248044770022863632791759492802149022360421392937150785665697892272937192129764454998306422788787595213362510775517237034755164751811624850924939869520923038897772443072736356950413270932903249040560515902809850341191477378819079967535183760221347261596 553881308303563505274357363588262316803974891446525956718327171624367163342533824973828156299112955148598958957422770880128636446434258163836165298237748515882355464205709081433564630354087454902167253309572782183194553508859169916175973744872119494534596638607903986816631950670759150663059862459932528631109236124763453138991309105027753467282741368160894185139718945584884567316713633102785366496992633503416021145616586454291495279535662972050258892477309986270299292938416943148308807396499742245677030835677279480900822090049694251776080424578455320054585858571360912104063546997905090091326488931285860518780388436990524192379243931628044415945877772082354778567919704799054329898908122065624267731025472538273233002623504196778119034314644535894709230673697204000436601207633552256325262263248230875318901214336505276847805924302048458626436444479051391594655332210796104085939191096988637745169806877557317253579200011437921790569504678253910429241259528404985889528258096353834770793932636117142173228029677934308334193215755696190962217047355513928817340636800995885352011691530450094237137235668842104281413934955550257682428902435152466883659334570916814030895038648734696742804015799844510446930033770309830434368804045609402918589420389724957348697084129370368127696321874809842894547660858768412729338865761713203 896198782568425112663986195270067567384755902256361840796046884587670465935676607738873897972794377978562672534555285796546932808457827886792683348965444033198703801240756097620355256019360832999230069842819373290401184247159335384330179305751622894648188102119516148013546065457565518799808803063286662777949185641516943343113405237265383612231744325846297489460029830472747903004494979722029828622656645286460450369801849193686143622048790087256709994479633967113701202898329923477178071430043988840008933782784762147490182878145716924945129438954071718554235165682419223657080496094371242398192941974868076988481267706208355871391245903831986125252189081631207706015087701708612101712983891778388741434849808926871842845676986109706108413995506665862661220346003697337457656921124402730412267030790688002474187554580630304671102528878110792179849813314293388801059998791298628948606750026979246208306256556176025980163722411535229699130881604207755635272723959823950419450170089050917758277378366673843405514243659502922787675566260452271465071282432721929582948900336518850600056461553313727028896728470991126641835327892701043348126794708089659013423789569223236819682633862097207518321252834599675198741658621234770303889727084507175361662156746675370619629987378410928643599131725151034371926479938735947913099087108974799 1450080090871988617938343558858329884188730793702887797514374056212037629278210432712702054271907333127161631491978056676675569254892086050628848647203192549081059265446465179053919886373448287901397323152392155473595737756018505300506153050623742389182784740727420134830178016128324669462868665523219191409058421766280396482104714342293137079514485694007191674599748776057632470321208612824815195119649278789876471515418435647977638901584453059306968886956943953384000495836746866625486878826543731085685964618462041628391004968195411176721209863532527038608821024253780135761144043092276332489519430906153937507261656143198880063770489835460030541198066853713562484583007406507666431611892013844013009165875281465145075848300490306484227448310151201757370451019700901337894258128757954986737529294038918877793088768917135581518908453180159250806286257793344780395715331002094733034545941123967883953476063433733343233742922422973151489700386282461666064513983488228936308978428185404752529071311002790985578742273337437231121868782016148462427288329788235858400289537137514735952068153083763821266033964139833230923249262848251301030555697143242125897083124140140050850577672510831904261125268634444185645671692391544600738258531130116578280251577136400327968327071507781296771295453599960877266474140797504360642437952870688002 2346278873440413730602329754128397451573486695959249638310420940799708095213887040451575952244701711105724304026533342473222502063349913937421531996168636582279763066687221276674275142392809120900627392995211528763996922003177840684836332356375365283830972842846936282843724081585890188262677468586505854187007607407797339825218119579558520691746230019853489164059778606530380373325703592546845023742305924076336921885220284841663782523633243146563678881436577920497701698735076790102664950256587719925694898401246803775881187846341128101666339302486598757163056189936199359418224539186647574887712372881022014495742923849407235935161735739292016666450255935344770190598095108216278533324875905622401750600725090392016918693977476416190335862305657867620031671365704598675351915049882357717149796324829606880267276323497765886190010982058270042986136071107638169196775329793393361983152691150947130161782319989909369213906644834508381188831267886669421699786707448052886728428598274455670287348689369464828984256516996940153909544348276600733892359612220957787983238437474033586552124614637077548294930692610824357565084590740952344378682491851331784910506913709363287670260306372929111779446521469043860844413351012779371042148258214623753641913733883075698587957058886192225414894585325111911638400620736240308555537039979662801 3796358964312402348540673312986727335762217489662137435824794997011745724492097473164278006516609044232885935518511399149898071318241999988050380643371829131360822332133686455728195028766257408802024716147603684237592659759196345985342485406999107673013757583574356417673902097714214857725546134109725045596066029174077736307322833921851657771260715713860680838659527382588012843646912205371660218861955202866213393400638720489641421425217696205870647768393521873881702194571823656728151829083131451011380863019708845404272192814536539278387549166019125795771877214189979495179368582278923907377231803787175952003004579992606115998932225574752047207648322789058332675181102514723944964936767919466414759766600371857161994542277966722674563310615809069377402122385405500013246173178640312703887325618868525758060365092414901467708919435238429293792422328900982949592490660795488095017698632274915014115258383423642712447649567257481532678531654169131087764300690936281823037407026459860422816420000372255814562998790334377385031413130292749196319647942009193646383527974611548322504192767720841369560964656750657588488333853589203645409238188994573910807590037849503338520837978883761016040571790103488046490085043404323971780406789344740331922165311019476026556284130393973522186190038925072788904874761533744669197974992850350803 6142637837752816079143003067115124787335704185621387074135215937811453819705984513615853958761310755338610239545044741623120573381591913925471912639540465713640585398820907732402470171159066529702652109142815213001589581762374186670178817763374472956844730426421292700517626179300105045988223602696230899783073636581875076132540953501410178463006945733714170002719305989118393216972615797918505242604261126942550315285859005331305203948850939352434326649830099794379403893306900446830816779339719170937075761420955649180153380660877667380053888468505724552934933404126178854597593121465571482264944176668197966498747503842013351934093961314044063874098578724403102865779197622940223498261643825088816510367325462249178913236255443138864899172921466936997433793751110098688598088228522670421037121943698132638327641415912667353898930417296699336778558400008621118789265990588881457000851323425862144277040703413552081661556212091989913867362922055800509464087398384334709765835624734316093103768689741720643547255307331317538940957478569349930212007554230151434366766412085581909056317382357918917855895349361481946053418444330155989787920680845905695718096951558866626191098285256690127820018311572531907334498394417103342822555047559364085564079044902551725144241189280165747601084624250184700543275382269984977753512032830013604 9938996802065218427683676380101852123097921675283524509960010934823199544198081986780131965277919799571496175063556140773018644699833913913522293282912294845001407730954594188130665199925323938504676825290418897239182241521570532655521303170373580629858488009995649118191528277014319903713769736805955945379139665755952812439863787423261836234267661447574850841378833371706406060619528003290165461466216329808763708686497725820946625374068635558304974418223621668261106087878724103558968608422850621948456624440664494584425573475414206658441437634524850348706810618316158349776961703744495389642175980455373918501752083834619467933026186888796111081746901513461435540960300137664168463198411744555231270133925834106340907778533409861539462483537276006374835916136515598701844261407162983124924447562566658396388006508327568821607849852535128630570980728909604068381756651384369552018549955700777158392299086837194794109205779349471446545894576224931597228388089320616532803242651194176515920188690113976458110254097665694923972370608862099126531655496239345080750294386697130231560510150078760287416860006112139534541752297919359635197158869840479606525686989408369964711936264140451143860590101676019953824583437821427314602961836904104417486244355922027751700525319674139269787274663175257489448150143803729646951487025680364407 16081634639818034506826679447216976910433625860904911584095226872634653363904066500395985924039230554910106414608600882396139218081425827838994205922452760558641993129775501920533135371084390468207328934433234110240771823283944719325700120933748053586703218436416941818709154456314424949701993339502186845162213302337827888572404740924672014697274607181289020844098139360824799277592143801208670704070477456751314023972356731152251829322919574910739301068053721462640509981185624550389785387762569792885532385861620143764578954136291874038495326103030574901641744022442337204374554825210066871907120157123571885000499587676632819867120148202840174955845480237864538406739497760604391961460055569644047780501251296355519821014788853000404361656458742943372269709887625697390442349635685653545961569506264791034715647924240236175506780269831827967349539128918225187171022641973251009019401279126639302669339790250746875770761991441461360413257498280732106692475487704951242569078275928492609023957379855697101657509404997012462913328087431449056743663050469496515117060798782712140616827532436679205272755355473621480595170742249515624985079550686385302243783940967236590903034549397141271680608413248551861159081832238530657425516884463468503050323400824579476844766508954305017388359287425442189991425526073714624704999058510378011 26020631441883252934510355827318829033531547536188436094055237807457852908102148487176117889317150354481602589672157023169157862781259741752516499205365055403643400860730096108663800571009714406712005759723653007479954064805515251981221424104121634216561706446412590936900682733328744853415763076308142790541352968093780701012268528347933850931542268628863871685476972732531205338211671804498836165536693786560077732658854456973198454696988210469044275486277343130901616069064348653948753996185420414833989010302284638349004527611706080696936763737555425250348554640758495554151516528954562261549296137578945803502251671511252287800146335091636286037592381751325973947699797898268560424658467314199279050635177130461860728793322262861943824139996018949747105626024141296092286611042848636670886017068831449431103654432567804997114630122366956597920519857827829255552779293357620561037951234827416461061638877087941669879967770790932806959152074505663703920863577025567775372320927122669124944146069969673559767763502662707386885698696293548183275318546708841595867355185479842372177337682515439492689615361585761015136923040168875260182238420526864908769470930375606555614970813537592415541198514924571814983665270059957972028478721367572920536567756746607228545291828628444287175633950600699679439575669877444271656486084190742418 42102266081701287441337035274535805943965173397093347678150464680092506272006214987572103813356380909391709004280757905565297080862685569591510705127817815962285393990505598029196935942094104874919334694156887117720725888089459971306921545037869687803264924882829532755609837189643169803117756415810329635703566270431608589584673269272605865628816875810152892529575112093356004615803815605707506869607171243311391756631211188125450284019907785379783576554331064593542126050249973204338539383947990207719521396163904782113583481747997954735432089840586000151990298663200832758526071354164629133456416294702517688502751259187885107667266483294476460993437861989190512354439295658872952386118522883843326831136428426817380549808111115862348185796454761893119375335911766993482728960678534290216847586575096240465819302356808041172621410392198784565270058986746054442723801935330871570057352513954055763730978667338688545650729762232394167372409572786395810613339064730519017941399203051161733968103449825370661425272907659719849799026783724997240018981597178338110984415984262554512794165214952118697962370717059382495732093782418390885167317971213250211013254871342843146518005362934733687221806928173123676142747102298488629453995605831041423586891157571186705390058337582749304563993238026141869431001195951158896361485142701120429 68122897523584540375847391101854634977496720933281783772205702487550359180108363474748221702673531263873311593952914928734454943643945311344027204333182871365928794851235694137860736513103819281631340453880540125200679952894975223288142969141991322019826631329242123692510519922971914656533519492118472426244919238525389290596941797620539716560359144439016764215052084825887209954015487410206343035143865029871469489290065645098648738716895995848827852040608407724443742119314321858287293380133410622553510406466189420462588009359704035432368853578141425402338853303959328312677587883119191395005712432281463492005002930699137395467412818386112747031030243740516486302139093557141512810776990198042605881771605557279241278601433378724292009936450780842866480961935908289575015571721382926887733603643927689896922956789375846169736040514565741163190578844573883698276581228688492131095303748781472224792617544426630215530697533023326974331561647292059514534202641756086793313720130173830858912249519795044221193036410322427236684725480018545423294300143887179706851771169742396884971502897467558190651986078645143510869016822587266145349556391740115119782725801718449702132976176472326102763005443097695491126412372358446601482474327198614344123458914317793933935350166211193591739627188626841548870576865828603168017971226891862847 110225163605285827817184426376390440921461894330375131450356167167642865452114578462320325516029912173265020598233672834299752024506630880935537909461000687328214188841741292167057672455197924156550675148037427242921405840984435194595064514179861009823091556212071656448120357112615084459651275907928802061948485508956997880181615066893145582189176020249169656744627196919243214569819303015913849904751036273182861245921276833224099022736803781228611428594939472317985868169564295062625832764081400830273031802630094202576171491107701990167800943418727425554329151967160161071203659237283820528462128726983981180507754189887022503134679301680589208024468105729706998656578389216014465196895513081885932712908033984096621828409544494586640195732905542735985856297847675283057744532399917217104581190219023930362742259146183887342357450906764525728460637831319938141000383164019363701152656262735527988523596211765318761181427295255721141703971220078455325147541706486605811255119333224992592880352969620414882618309317982147086483752263743542663313281741065517817836187154004951397765668112419676888614356795704526006601110605005657030516874362953365330795980673061292848650981539407059789984812371270819167269159474656935230936469933029655767710350071888980639325408503793942896303620426652983418301578061779762064379456369592983276 178348061128870368193031817478245075898958615263656915222561869655193224632222941937068547218703443437138332192186587763034206968150576192279565113794183558694142983692976986304918408968301743438182015601917967368122085793879410417883207483321852331842918187541313780140630877035586999116184795400047274488193404747482387170778556864513685298749535164688186420959679281745130424523834790426120192939894901303054330735211342478322747761453699777077439280635547880042429610288878616920913126144214811452826542209096283623038759500467406025600169796996868850956668005271119489383881247120403011923467841159265444672512757120586159898602092120066701955055498349470223484958717482773155978007672503279928538594679639541375863107010977873310932205669356323578852337259783583572632760104121300143992314793862951620259665215935559733512093491421330266891651216675893821839276964392707855832247960011517000213316213756191948976712124828279048116035532867370514839681744348242692604568839463398823451792602489415459103811345728304574323168477743762088086607581884952697524687958323747348282737171009887235079266342874349669517470127427592923175866430754693480450578706474779742550783957715879385892747817814368514658395571847015381832418944260228270111833808986206774573260758670005136488043247615279824967172154927608365232397427596484846123 288573224734156196010216243854635516820420509594032046672918036822836090084337520399388872734733355610403352790420260597333958992657207073215103023255184246022357172534718278471976081423499667594732690749955394611043491634863845612478271997501713341666009743753385436588751234148202083575836071307976076550141890256439385050960171931406830880938711184937356077704306478664373639093654093442034042844645937576237191981132619311546846784190503558306050709230487352360415478458442911983538958908296212283099574011726377825614930991575108015767970740415596276510997157238279650455084906357686832451929969886249425853020511310473182401736771421747291163079966455199930483615295871989170443204568016361814471307587673525472484935420522367897572401402261866314838193557631258855690504636521217361096895984081975550622407475081743620854450942328094792620111854507213759980277347556727219533400616274252528201839809967957267737893552123534769257739504087448970164829286054729298415823958796623816044672955459035873986429655046286721409652230007505630749920863626018215342524145477752299680502839122306911967880699670054195524071238032598580206383305117646845781374687147841035399434939255286445682732630185639333825664731321672317063355414193257925879544159058095755212586167173799079384346868041932808385473732989388127296776883966077829399 466921285863026564203248061332880592719379124857688961895479906478029314716560462336457419953436799047541684982606848360368165960807783265494668137049367804716500156227695264776894490391801411032914706351873361979165577428743256030361479480823565673508927931294699216729382111183789082692020866708023351038335295003921772221738728795920516179688246349625542498663985760409504063617488883868154235784540838879291522716343961789869594545644203335383489989866035232402845088747321528904452085052511023735926116220822661448653690492042514041368140537412465127467665162509399139838966153478089844375397811045514870525533268431059342300338863541813993118135464804670153968574013354762326421212240519641743009902267313066848348042431500241208504607071618189893690530817414842428323264740642517505089210777944927170882072691017303354366544433749425059511763071183107581819554311949435075365648576285769528415156023724149216714605676951813817373775036954819485004511030402971991020392798260022639496465557948451333090241000774591295732820707751267718836528445510970912867212103801499647963240010132194147047147042544403865041541365460191503382249735872340326231953393622620777950218896971165831575480448000007848484060303168687698895774358453486195991377968044302529785846925843804215872390115657212633352645887916996492529174311562562675522 755494510597182760213464305187516109539799634451721008568397943300865404800897982735846292688170154657945037773027108957702124953464990338709771160304552050738857328762413543248870571815301078627647397101828756590209069063607101642839751478325279015174937675048084653318133345331991166267856938015999427588477185260361157272698900727327347060626957534562898576368292239073877702711142977310188278629186776455528714697476581101416441329834706893689540699096522584763260567205764440887991043960807236019025690232549039274268621483617622057136111277828061403978662319747678790294051059835776676827327780931764296378553779741532524702075634963561284281215431259870084452189309226751496864416808536003557481209854986592320832977852022609106077008473880056208528724375046101284013769377163734866186106762026902721504480166099046975220995376077519852131874925690321341799831659506162294899049192560022056616995833692106484452499229075348586631514541042268455169340316457701289436216757056646455541138513407487207076670655820878017142472937758773349586449309136989128209736249279251947643742849254501059015027742214458060565612603492790083588633040989987172013328080770461813349653836226452277258213078185647182309725034490360015959129772646744121870922127102398284998433093017603295256736983699145441738119620906384619825951195528640504921 1222415796460209324416712366520396702259178759309409970463877849778894719517458445072303712641606953705486722755633957318070290914272773604204439297353919855455357484990108808025765062207102489660562103453702118569374646492350357673201230959148844688683865606342783870047515456515780248959877804724022778626812480264282929494437629523247863240315203884188441075032277999483381766328631861178342514413727615334820237413820542891286035875478910229073030688962557817166105655953085969792443129013318259754951806453371700722922311975660136098504251815240526531446327482257077930133017213313866521202725591977279166904087048172591867002414498505375277399350896064540238420763322581513823285629049055645300491112122299659169181020283522850314581615545498246102219255192460943712337034117806252371275317539971829892386552857116350329587539809826944911643637996873428923619385971455597370264697768845791585032151857416255701167104906027162404005289577997087940173851346860673280456609555316669095037604071355938540166911656595469312875293645510041068422977754647960041076948353080751595606982859386695206062174784758861925607153968952981586970882776862327498245281474393082591299872733197618108833693526185655030793785337659047714854904131100230317862300095146700814784280018861407511129127099356358075090765508823381112355125507091203180443 1977910307057392084630176671707912811798978393761130979032275793079760124318356427808150005329777108363431760528661066275772415867737763942914210457658471906194214813752522351274635634022403568288209500555530875159583715555957459316040982437474123703858803281390868523365648801847771415227734742740022206215289665524644086767136530250575210300942161418751339651400570238557259469039774838488530793042914391790348952111297123992702477205313617122762571388059080401929366223158850410680434172974125495773977496685920739997190933459277758155640363093068587935424989802004756720427068273149643198030053372909043463282640827914124391704490133468936561680566327324410322872952631808265320150045857591648857972321977286251490013998135545459420658624019378302310747979567507044996350803494969987237461424301998732613891033023215397304808535185904464763775512922563750265419217630961759665163746961405813641649147691108362185619604135102510990636804119039356395343191663318374569892826312373315550578742584763425747243582312416347330017766583268814418009427063784949169286684602360003543250725708641196265077202526973319986172766572445771670559515817852314670258609555163544404649526569424070386091906604371302213103510372149407730814033903746974439733222222249099099782713111879010806385864083055503516828885129729765732181076702619843685364 3200326103517601409046889038228309514058157153070540949496153642858654843835814872880453717971384062068918483284295023593842706782010537547118649755012391761649572298742631159300400696229506057948771604009232993728958362048307816989242213396622968392542668887733652393413164258363551664187612547464044984842102145788927016261574159773823073541257365302939780726432848238040641235368406699666873307456642007125169189525117666883988513080792527351835602077021638219095471879111936380472877301987443755528929303139292440720113245434937894254144614908309114466871317284261834650560085486463509719232778964886322630186727876086716258706904631974311839079917223388950561293715954389779143435674906647294158463434099585910659195018419068309735240239564876548412967234759967988708687837612776239608736741841970562506277585880331747634396074995731409675419150919437179189038603602417357035428444730251605226681299548524617886786709041129673394642093697036444335517043010179047850349435867689984645616346656119364287410493969011816642893060228778855486432404818432909210363632955440755138857708568027891471139377311732181911779920541398753257530398594714642168503891029556626995949399302621688494925600130556957243897295709808455445668938034847204757595522317395799914566993130740418317514991182411861591919650638553146844536202209711046865807 5178236410574993493677065709936222325857135546831671928528429435938414968154171300688603723301161170432350243812956089869615122649748301490032860212670863667843787112495153510575036330251909626236981104564763868888542077604265276305283195834097092096401472169124520916778813060211323079415347290204067191057391811313571103028710690024398283842199526721691120377833418476597900704408181538155404100499556398915518141636414790876690990286106144474598173465080718621024838102270786791153311474961569251302906799825213180717304178894215652409784978001377702402296307086266591370987153759613152917262832337795366093469368704000840650411394765443248400760483550713360884166668586198044463585720764238943016435756076872162149209016554613769155898863584254850723715214327475033705038641107746226846198166143969295120168618903547144939204610181635874439194663842000929454457821233379116700592191691657418868330447239632980072406313176232184385278897816075800730860234673497422420242262180063300196195089240882790034654076281428163972910826812047669904441831882217858379650317557800758682108434276669087736216579838705501897952687113844524928089914412566956838762500584720171400598925872045758881017506734928259457000806081957863176482971938594179197328744539644899014349706242619429123900855265467365108748535768282912576717278912330890551171 8378562514092594902723954748164531839915292699902212878024583078797069811989986173569057441272545232501268727097251113463457829431758839037151509967683255429493359411237784669875437026481415684185752708573996862617500439652573093294525409230720060488944141056858173310191977318574874743602959837668112175899493957102498119290284849798221357383456892024630901104266266714638541939776588237822277407956198406040687331161532457760679503366898671826433775542102356840120309981382723171626188776949013006831836102964505621437417424329153546663929592909686816869167624370528426021547239246076662636495611302681688723656096580087556909118299397417560239840400774102311445460384540587823607021395670886237174899190176458072808404034973682078891139103149131399136682449087443022413726478720522466454934907985939857626446204783878892573600685177367284114613814761438108643496424835796473736020636421909024095011746788157597959193022217361857779920991513112245066377277683676470270591698047753284841811435897002154322064570250439980615803887040826525390874236700650767590013950513241513820966142844696979207355957150437683809732607655243278185620313007281599007266391614276798396548325174667447375943106865485216700898101791766318622151909973441383954924266857040698928916699373359847441415846447879226700668186406836059421253481122041937416978 13556798924667588396401020458100754165772428246733884806553012514735484780144157474257661164573706402933618970910207203333072952081507140527184370180354119097337146523732938180450473356733325310422733813138760731506042517256838369599808605064817152585345613225982694226970790378786197823018307127872179366956885768416069222318995539822619641225656418746322021482099685191236442644184769775977681508455754804956205472797947248637370493653004816301031949007183075461145148083653509962779500251910582258134742902789718802154721603223369199073714570911064519271463931456795017392534393005689815553758443640477054817125465284088397559529694162860808640600884324815672329627053126785868070607116435125180191334946253330234957613051528295848047037966733386249860397663414918056118765119828268693301133074129909152746614823687426037512805295359003158553808478603439038097954246069175590436612828113566442963342194027790578031599335393594042165199889329188045797237512357173892690833960227816585038006525137884944356718646531868144588714713852874195295316068582868625969664268071042272503074577121366066943572536989143185707685294769087803113710227419848555846028892198996969797147251046713206256960613600413476157898907873724181798634881912035563152253011396685597943266405615979276565316701713346591809416722175118971997970760034372827968149 21935361438760183299124975206265286005687720946636097684577595593532554592134143647826718605846251635434887698007458316796530781513265979564335880148037374526830505934970722850325910383214740994608486521712757594123542956909411462894334014295537213074289754282840867537162767697361072566621266965540291542856379725518567341609280389620840998609113310770952922586365951905874984583961358013799958916411953210996892803959479706398049997019903488127465724549285432301265458065036233134405689028859595264966579005754224423592139027552522745737644163820751336140631555827323443414081632251766478190254054943158743540781561864175954468647993560278368880441285098917983775087437667373691677628512106011417366234136429788307766017086501977926938177069882517648997080112502361078532491598548791159756067982115849010373061028471304930086405980536370442668422293364877146741450670904972064172633464535475467058353940815948175990792357610955899945120880842300290863614790040850362961425658275569869879817961034887098678783216782308125204518600893700720686190305283519393559678218584283786324040719966063046150928494139580869517417902424331081299330540427130154853295283813273768193695576221380653632903720465898692858797009665490500420786791885476947107177278253726296872183104989339124006732548161225818510084908581955031419224241156414765385127 35492160363427771695525995664366040171460149193369982491130608108268039372278301122084379770419958038368506668917665520129603733594773120091520250328391493624167652458703661030776383739948066305031220334851518325629585474166249832494142619360354365659635367508823561764133558076147270389639574093412470909813265493934636563928275929443460639834769729517274944068465637097111427228146127789777640424867708015953098276757426955035420490672908304428497673556468507762410606148689743097185189280770177523101321908543943225746860630775891944811358734731815855412095487284118460806616025257456293744012498583635798357907027148264352028177687723139177521042169423733656104714490794159559748235628541136597557569082683118542723630138030273774985215036615903898857477775917279134651256718377059853057201056245758163119675852158730967599211275895373601222230771968316184839404916974147654609246292649041910021696134843738754022391693004549942110320770171488336660852302398024255652259618503386454917824486172772043035501863314176269793233314746574915981506373866388019529342486655326058827115297087429113094501031128724055225103197193418884413040767846978710699324176012270737990842827268093859889864334066312169016695917539214682219421673797512510259430289650411894815449510605318400572049249874572410319501630757074003417195001190787593353276 57427521802187954994650970870631326177147870140006080175708203701800593964412444769911098376266209673803394366925123836926134515108039099655856130476428868150998158393674383881102294123162807299639706856564275919753128431075661295388476633655891578733925121791664429301296325773508342956260841058952762452669645219453203905537556319064301638443883040288227866654831589002986411812107485803577599341279661226949991080716906661433470487692811792555963398105753940063676064213725976231590878309629772788067900914298167649338999658328414690549002898552567191552727043111441904220697657509222771934266553526794541898688589012440306496825681283417546401483454522651639879801928461533251425864140647148014923803219112906850489647224532251701923392106498421547854557888419640213183748316925851012813269038361607173492736880630035897685617256431744043890653065333193331580855587879119718781879757184517377080050075659686930013184050615505842055441651013788627524467092438874618613685276778956324797642447207659141714285080096484394997751915640275636667696679149907413089020705239609845151156017053492159245429525268304924742521099617749965712371308274108865552619459825544506184538403489474513522768054532210861875492927204705182640208465682989457366607567904138191687632615594657524578781798035798228829586539339029034836419242347202358738403 92919682165615726690176966534997366348608019333376062666838811810068633336690745891995478146686167712171901035842789357055738248702812219747376380804820361775165810852378044911878677863110873604670927191415794245382713905241911127882619253016245944393560489300487991065429883849655613345900415152365233362482910713387840469465832248507762278278652769805502810723297226100097839040253613593355239766147369242903089357474333616468890978365720096984461071662222447826086670362415719328776067590399950311169222822842110875085860289104306635360361633284383046964822530395560365027313682766679065678279052110430340256595616160704658525003369006556723922525623946385295984516419255692811174099769188284612481372301796025393213277362562525476908607143114325446712035664336919347835005035302910865870470094607365336612412732788766865284828532327117645112883837301509516420260504853267373391126049833559287101746210503425684035575743620055784165762421185276964185319394836898874265944895282342779715466933380431184749786943410660664790985230386850552649203053016295432618363191894935903978271314140921272339930556397028979967624296811168850125412076121087576251943635837815244175381230757568373412632388598523030892188844743919864859630139480501967626037857554550086503082126199975925150831047910370639149088170096103038253614243537989952091679 150347203967803681684827937405628692525755889473382142842547015511869227301103190661906576522952377385975295402767913193981872763810851319403232511281249229926163969246052428792980971986273680904310634047980070165135842336317572423271095886672137523127485611092152420366726209623163956302161256211317995815152555932841044375003388567572063916722535810093730677378128815103084250852361099396932839107427030469853080438191240277902361466058531889540424469767976387889762734576141695560366945900029723099237123737140278524424859947432721325909364531836950238517549573507002269248011340275901837612545605637224882155284205173144965021829050289974270324009078469036935864318347717226062599963909835432627405175520908932243702924587094777178831999249612746994566593552756559561018753352228761878683739132968972510105149613418802762970445788758861689003536902634702848001116092732387092173005807018076664181796286163112614048759794235561626221204072199065591709786487275773492879630172061299104513109380588090326464072023507145059788737146027126189316899732166202845707383897134545749129427331194413431585360081665333904710145396428918815837783384395196441804563095663359750359919634247042886935400443130733892767681771948625047499838605163491424992645425458688278190714741794633449729612845946168867978674709435132073090033485885192310830082 243266886133419408375004903940626058874363908806758205509385827321937860637793936553902054669638545098147196438610702551037611012513663539150608892086069591701329780098430473704859649849384554508981561239395864410518556241559483551153715139688383467521046100392640411432156093472819569648061671363683229177635466646228884844469220816079826195001188579899233488101426041203182089892614712990288078873574399712756169795665573894371252444424251986524885541430198835715849404938557414889143013490429673410406346559982389399510720236537027961269726165121333285482372103902562634275325023042580903290824657747655222411879821333849623546832419296530994246534702415422231848834766972918873774063679023717239886547822704957636916201949657302655740606392727072441278629217093478908853758387531672744554209227576337846717562346207569628255274321085979334116420739936212364421376597585654465564131856851635951283542496666538298084335537855617410386966493384342555895105882112672367145575067343641884228576313968521511213858966917805724579722376413976741966102785182498278325747089029481653107698645335334703925290638062362884677769693240087665963195460516284018056506731501174994535300865004611260348032831729256923659870616692544912359468744643993392618683283013238364693796867994609374880443893856539507127762879531235111343647729423182262921761 393614090101223090059832841346254751400119798280140348351932842833807087938897127215808631192590922484122491841378615745019483776324514858553841403367318821627493749344482902497840621835658235413292195287375934575654398577877055974424811026360520990648531711484792831798882303095983525950222927575001224992788022579069929219472609383651890111723724389992964165479554856306266340744975812387220917981001430182609250233856814172273613910482783876065310011198175223605612139514699110449509959390459396509643470297122667923935580183969749287179090696958283523999921677409564903523336363318482740903370263384880104567164026506994588568661469586505264570543780884459167713153114690144936374027588859149867291723343613889880619126536752079834572605642339819435845222769850038469872511739760434623237948360545310356822711959626372391225720109844841023119957642570915212422492690318041557737137663869712615465338782829650912133095332091179036608170565583408147604892369388445860025205239404940988741685694556611837677930990424950784368459522441102931283002517348701124033130986164027402237125976529748135510650719727696789387915089669006481800978844911480459861069827164534744895220499251654147283433274859990816427552388641169959859307349807484817611328708471926642884511609789242824610056739802708375106437588966367184433681215308374573751843 636880976234642498434837745286880810274483707086898553861318670155744948576691063769710685862229467582269688279989318296057094788838178397704450295453388413328823529442913376202700271685042789922273756526771798986172954819436539525578526166048904458169577811877433243231038396568803095598284598938684454170423489225298814063941830199731716306724912969892197653580980897509448430637590525377508996854575829895365420029522388066644866354907035862590195552628374059321461544453256525338652972880889069920049816857105057323446300420506777248448816862079616809482293781312127537798661386361063644194194921132535326979043847840844212115493888883036258817078483299881399561987881663063810148091267882867107178271166318847517535328486409382490313212035066891877123851986943517378726270127292107367792157588121648203540274305833942019480994430930820357236378382507127576843869287903696023301269520721348566748881279496189210217430869946796446995137058967750703499998251501118227170780306748582872970262008525133348891789957342756508948181898855079673249105302531199402358878075193509055344824621865082839435941357790059674065684782909094147764174305427764477917576558665709739430521364256265407631466106589247740087423005333714872218776094451478210230011991485165007578308477783852199490500633659247882234200468497602295777328944731556836673604 1030495066335865588494670586633135561674603505367038902213251512989552036515588190985519317054820390066392180121367934041076578565162693256258291698820707234956317278787396278700540893520701025335565951814147733561827353397313595500003337192409425448818109523362226075029920699664786621548507526513685679163211511804368743283414439583383606418448637359885161819060535753815714771382566337764729914835577260077974670263379202238918480265389819738655505563826549282927073683967955635788162932271348466429693287154227725247381880604476526535627907559037900333482215458721692441321997749679546385097565184517415431546207874347838800684155358469541523387622264184340567275140996353208746522118856742016974469994509932737398154455023161462324885817677406711312969074756793555848598781867052541991030105948666958560362986265460314410706714540775661380356336025078042789266361978221737581038407184591061182214220062325840122350526202037975483603307624551158851104890620889564087195985546153523861711947703081745186569720947767707293316641421296182604532107819879900526392009061357536457581950598394830974946592077517756463453599872578100629565153150339244937778646385830244484325741863507919554914899381449238556514975393974884832078083444258963027841340699957091650462820087573095024100557373461956257340638057463969480211010160039931410425447 1667376042570508086929508331920016371949087212453937456074570183145296985092279254755230002917049857648661868401357252337133673354000871653962741994274095648285140808230309654903241165205743815257839708340919532548000308216750135025581863358458329906987687335239659318260959096233589717146792125452370133333635001029667557347356269783115322725173550329777359472641516651325163202020156863142238911690153089973340090292901590305563346620296855601245701116454923342248535228421212161126815905152237536349743104011332782570828181024983303784076724421117517142964509240033819979120659136040610029291760105649950758525251722188683012799649247352577782204700747484221966837128878016272556670210124624884081648265676251584915689783509570844815199029712473603190092926743737073227325051994344649358822263536788606763903260571294256430187708971706481737592714407585170366110231266125433604339676705312409748963101341822029332567957071984771930598444683518909554604888872390682314366765852902106734682209711606878535461510905110463802264823320151262277781213122411099928750887136551045512926775220259913814382533435307816137519284655487194777329327455767009415696222944495954223756263227764184962546365488038486296602398399308599704296859538710441238071352691442256658041128565356947223591058007121204139574838525961571775988339104771488247099051 2697871108906373675424178918553151933623690717820976358287821696134849021607867445740749319971870247715054048522725186378210251919163564910221033693094802883241458087017705933603782058726444840593405660155067266109827661614063730525585200550867755355805796858601885393290879795898376338695299651966055812496846512834036300630770709366498929143622187689662521291702052405140877973402723200906968826525730350051314760556280792544481826885686675339901206680281472625175608912389167796914978837423586002779436391165560507818210061629459830319704631980155417476446724698755512420442656885720156414389325290167366190071459596536521813483804605822119305592323011668562534112269874369481303192328981366901056118260186184322313844238532732307140084847389880314503062001500530629075923833861397191349852369485455565324266246836754570840894423512482143117949050432663213155376593244347171185378083889903470931177321404147869454918483274022747414201752308070068405709779493280246401562751399055630596394157414688623722031231852878171095581464741447444882313320942291000455142896197908581970508725818654744789329125512825572600972884528065295406894480606106254353474869330326198708082005091272104517461264869487724853117373793283484536374942982969404265912693391399348308503948652930042247691615380583160396915476583425541256199349264811419657524498 4365247151476881762353687250473168305572777930274913814362391879280146006700146700495979322888920105363715916924082438715343925273164436564183775687368898531526598895248015588507023223932188655851245368495986798657827969830813865551167063909326085262793484193841544711551838892131966055842091777418425945830481513863703857978126979149614251868795738019439880764343569056466041175422880064049207738215883440024654850849182382850045173505983530941146907796736395967424144140810379958041794742575823539129179495176893290389038242654443134103781356401272934619411233938789332399563316021760766443681085395817316948596711318725204826283453853174697087797023759152784500949398752385753859862539105991785137766525862435907229534022042303151955283877102353917693154928244267702303248885855741840708674633022244172088169507408048827271082132484188624855541764840248383521486824510472604789717760595215880680140422745969898787486440346007519344800196991588977960314668365670928715929517251957737331076367126295502257492742757988634897846288061598707160094534064702100383893783334459627483435501038914658603711658948133388738492169183552490184223808061873263769171092274822152931838268319036289480007630357526211149719772192592084240671802521679845503984046082841604966545077218286989471282673387704364536490315109387113032187688369582907904623549 7063118260383255437777866169026320239196468648095890172650213575414995028308014146236728642860790353078769965446807625093554177192328001474404809380463701414768056982265721522110805282658633496444651028651054064767655631444877596076752264460193840618599281052443430104842718688030342394537391429384481758327328026697740158608897688516113181012417925709102402056045621461606919148825603264956176564741613790075969611405463175394527000391670206281048114477017868592599753053199547754956773579999409541908615886342453798207248304283902964423485988381428352095857958637544844820005972907480922858070410685984683138668170915261726639767258458996816393389346770821347035061668626755235163054868087358686193884786048620229543378260575035459095368724492234232196216929744798331379172719717139032058527002507699737412435754244803398111976555996670767973490815272911596676863417754819775975095844485119351611317744150117768242404923620030266759001949299659046366024447858951175117492268651013367927470524540984125979523974610866805993427752803046152042407855006993100839036679532368209453944226857569403393040784460958961339465053711617785591118288667979518122645961605148351639920273410308393997468895227013936002837145985875568777046745504649249769896739474240953275049025871217031718974288768287524933405791692812654288387037634394327562148047 11428365411860137200131553419499488544769246578370803987012605454695141035008160846732707965749710458442485882370890063808898102465492438038588585067832599946294655877513737110617828506590822152295896397147040863425483601275691461627919328369519925881392765246284974816394557580162308450379483206802907704157809540561444016587024667665727432881213663728542282820389190518072960324248483329005384302957497230100624462254645558244572173897653737222195022273754264560023897194009927712998568322575233081037795381519347088596286546938346098527267344782701286715269192576334177219569288929241689301751496081802000087264882233986931466050712312171513481186370529974131536011067379140989022917407193350471331651311911056136772912282617338611050652601594588149889371857989066033682421605572880872767201635529943909500605261652852225383058688480859392829032580113159980198350242265292380764813605080335232291458166896087667029891363966037786103802146291248024326339116224622103833421785902971105258546891667279628237016717368855440891274040864644859202502389071695201222930462866827836937379727896484061996752443409092350077957222895170275775342096729852781891817053879970504571758541729344683477476525584540147152556918178467653017718548026329095273880785557082558241594103089504021190256962155991889469896106802199767320574726003977235466771596 18491483672243392637909419588525808783965715226466694159662819030110136063316174992969436608610500811521255847817697688902452279657820439512993394448296301361062712859779458632728633789249455648740547425798094928193139232720569057704671592829713766499992046298728404921237276268192650844916874636187389462485137567259184175195922356181840613893631589437644684876434811979679879473074086593961560867699111020176594073660108733639099174289323943503243136750772133152623650247209475467955341902574642622946411267861800886803534851222249062950753333164129638811127151213879022039575261836722612159821906767786683225933053149248658105817970771168329874575717300795478571072736005896224185972275280709157525536097959676366316290543192374070146021326086822382085588787733864365061594325290019904825728638037643646913041015897655623495035244477530160802523395386071576875213660020112156739909449565454583902775911046205435272296287586068052862804095590907070692363564083573278950914054553984473186017416208263754216540691979722246884701793667691011244910244078688302061967142399196046391323954754053465389793227870051311417422276606788061366460385397832300014463015485118856211678815139653077474945420811554083155394064164343221794765293530978345043777525031323511516643128960721052909231250924279414403301898495012421608961763638371563028919643 29919849084103529838040973008025297328734961804837498146675424484805277098324335839702144574360211269963741730188587752711350382123312877551581979516128901307357368737293195743346462295840277801036443822945135791618622833996260519332590921199233692381384811545013379737631833848354959295296357842990297166642947107820628191782947023847568046774845253166186967696824002497752839797322569922966945170656608250277218535914754291883671348186977680725438159024526397712647547441219403180953910225149875703984206649381147975399821398160595161478020677946830925526396343790213199259144550765964301461573402849588683313197935383235589571868683083339843355762087830769610107083803385037213208889682474059628857187409870732503089202825809712681196673927681410531974960645722930398744015930862900777592930273567587556413646277550507848878093932958389553631555975499231557073563902285404537504723054645789816194234077942293102302187651552105838966606241882155095018702680308195382784335840456955578444564307875543382453557409348577687775975834532335870447412633150383503284897605266023883328703682650537527386545671279143661495379499501958337141802482127685081906280069365089360783437356868997760952421946396094230307950982342810874812483841557307440317658310588406069758237232050225074099488213080271303873198005297212188929536489642348798495691239 48411332756346922475950392596551106112700677031304192306338243514915413161640510832671581182970712081484997578006285441613802661781133317064575373964425202668420081597072654376075096085089733449776991248743230719811762066716829577037262514028947458881376857843741784658869110116547610140213232479177686629128084675079812366978869380029408660668476842603831652573258814477432719270396656516928506038355719270453812609574863025522770522476301624228681295775298530865271197688428878648909252127724518326930617917242948862203356249382844224428774011110960564337523495004092221298719812602686913621395309617375366539130988532484247677686653854508173230337805131565088678156539390933437394861957754768786382723507830408869405493369002086751342695253768232914060549433456794763805610256152920682418658911605231203326687293448163472373129177435919714434079370885303133948777562305516694244632504211244400097009988988498537574483939138173891829410337473062165711066244391768661735249895010940051630581724083807136670098101328299934660677628200026881692322877229071805346864747665219929720027637404590992776338899149194972912801776108746398508262867525517381920743084850208216995116172008650838427367367207648313463345046507154096607249135088285785361435835619729581274880361010946127008719464004550718276499903792224610538498253280720361524610882 78331181840450452313991365604576403441435638836141690453013667999720690259964846672373725757330923351448739308194873194325153043904446194616157353480554103975777450334365850119421558380930011250813435071688366511430384900713090096369853435228181151262761669388755164396500943964902569435509590322167983795771031782900440558761816403876976707443322095770018620270082816975185559067719226439895451209012327520731031145489617317406441870663279304954119454799824928577918745129648281829863162352874394030914824566624096837603177647543439385906794689057791489863919838794305420557864363368651215082968712466964049852328923915719837249555336937848016586099892962334698785240342775970650603751640228828415239910917701141372494696194811799432539369181449643446035510079179725162549626187015821460011589185172818759740333570998671321251223110394309268065635346384534691022341464590921231749355558857034216291244066930791639876671590690279730796016579355217260729768924699964044519585735467895630075146031959350519123655510676877622436653462732362752139735510379455308631762352931243813048731320055128520162884570428338634408181275610704735650065349653202463827023154215297577778553528877648599379789313603742543771296028849964971419732976645593225679094146208135651033117593061171201108207677084822022149697909089436799468034742923069160020302121 126742514596797374789941758201127509554136315867445882759351911514636103421605357505045306940301635432933736886201158635938955705685579511680732727444979306644197531931438504495496654466019744700590426320431597231242146967429919673407115949257128610144138527232496949055370054081450179575722822801345670424899116457980252925740685783906385368111798938373850272843341631452618278338115882956823957247368046791184843755064480342929212393139580929182800750575123459443189942818077160478772414480598912357845442483867045699806533896926283610335568700168752054201443333798397641856584175971338128704364022084339416391459912448204084927241990792356189816437698093899787463396882166904087998613597983597201622634425531550241900189563813886183882064435217876360096059512636519926355236443168742142430248096778049963067020864446834793624352287830228982499714717269837824971119026896437925993988063068278616388254055919290177451155529828453622625426916828279426440835169091732706254835630478835681705727756043157655793753612005177557097331090932389633832058387608527113978627100596463742768758957459719512939223469577533607320983051719451134158328217178719845747766239065505794773669700886299437807156680811390857234641075357119068026982111733879011040529981827865232307997954072117328116927141089372740426197812881661410006532996203789521544913003 205073696437247827103933123805703912995571954703587573212365579514356793681570204177419032697632558784382476194396031830264108749590025706296890080925533410619974982265804354614918212846949755951403861392119963742672531868143009769776969384485309761406900196621252113451870998046352749011232413123513654220670148240880693484502502187783362075555121034143868893113424448427803837405835109396719408456380374311915874900554097660335654263802860234136920205374948388021108687947725442308635576833473306388760267050491142537409711544469722996242363389226543544065363172592703062414448539339989343787332734551303466243788836363923922176797327730204206402537591056234486248637224942874738602365238212425616862545343232691614394885758625685616421433616667519806131569591816245088904862630184563602441837281950868722807354435445506114875575398224538250565350063654372515993460491487359157743343621925312832679498122850081817327827120518733353421443496183496687170604093791696750774421365946731311780873788002508174917409122682055179533984553664752385971793897987982422610389453527707555817490277514848033102108040005872241729164327330155869808393566831922309574789393280803372552223229763948037186945994415133401005937104207084039446715088379472236719624128036000883341115547133288529225134818174194762575895721971098209474567739126858681565215124 331816211034045201893874882006831422549708270571033455971717491028992897103175561682464339637934194217316213080597190466203064455275605217977622808370512717264172514197242859110414867312969500651994287712551560973914678835572929443184085333742438371551038723853749062507241052127802928586955235924859324645569264698860946410243187971689747443666919972517719165956766079880422115743950992353543365703748421103100718655618578003264866656942441163319720955950071847464298630765802602787407991314072218746605709534358188237216245441396006606577932089395295598266806506391100704271032715311327472491696756635642882635248748812128007104039318522560396218975289150134273712034107109778826600978836196022818485179768764241856295075322439571800303498051885396166227629104452765015260099073353305744872085378728918685874375299892340908499927686054767233065064780924210340964579518383797083737331684993591449067752178769371994778982650347186976046870413011776113611439262883429457029256996425566993486601544045665830711162734687232736631315644597142019803852285596509536589016554124171298586249234974567546041331509583405849050147379049607003966721784010642155322555632346309167325892930650247474994102675226524258240578179564203107473697200113351247760154109863866115649113501205405857342061959263567503002093534852759619481100735330648203110128127 536889907471293028997808005812535335545280225274621029184083070543349690784745765859883372335566753001698689274993222296467173204865630924274512889296046127884147496463047213725333080159919256603398149104671524716587210703715939212961054718227748132957938920475001175959112050174155677598187649048372978866239412939741639894745690159473109519222041006661588059070190528308225953149786101750262774160128795415016593556172675663600520920745301397456641161325020235485407318713528045096043568147545525135365976584849330774625956985865729602820295478621839142332169678983803766685481254651316816279029491186946348879037585176051929280836646252764602621512880206368759960671332052653565203344074408448435347725111996933470689961081065257416724931668552915972359198696269010104164961703537869347313922660679787408681729735337847023375503084279305483630414844578582856958040009871156241480675306918904281747250301619453812106809770865920329468313909195272800782043356675126207803678362372298305267475332048174005628571857369287916165300198261894405775646183584491959199406007651878854403739512489415579143439549589278090779311706379762873775115350842564464897345025627112539878116160414195512181048669641657659246515283771287146920412288492823484479778237899866998990229048338694386567196777437762265577989256823857828955668474457506884675343251 868706118505338230891682887819366758094988495845654485155800561572342587887921327542347711973500947219014902355590412762670237660141236142252135697666558845148320010660290072835747947472888757255392436817223085690501889539288868656145140051970186504508977644328750238466353102301958606185142884973232303511808677638602586304988878131162856962888960979179307225026956608188648068893737094103806139863877216518117312211791253666865387577687742560776362117275092082949705949479330647883451559461617743881971686119207519011842202427261736209398227568017134740598976185374904470956513969962644288770726247822589231514286333988179936384875964775324998840488169356503033672705439162432391804322910604471253832904880761175326985036403504829217028429720438312138586827800721775119425060776891175092186008039408706094556105035230187931875430770334072716695479625502793197922619528254953325218006991912495730815002480388825806885792421213107305515184322207048914393482619558555664832935358797865298754076876093839836339734592056520652796615842859036425579498469181001495788422561776050152989988747463983125184771059172683939829459085429369877741837134853206620219900657973421707204009091064442987175151344868181917487093463335490254394109488606174732239932347763733114639342549544100243909258736701329768580082791676617448436769209788155087785471378 1405596025976631259889490893631902093640268721120275514339883632115692278672667093402231084309067700220713591630583635059137410865006867066526648586962604973032467507123337286561081027632808013858790585921894610407089100243004807869106194770197934637466916564803751414425465152476114283783330534021605282378048090578344226199734568290635966482111001985840895284097147136496874022043523195854068914024006011933133905767963929330465908498433043958233003278600112318435113268192858692979495127609163269017337662704056849786468159413127465812218523046638973882931145864358708237641995224613961105049755739009535580393323919164231865665712611028089601462001049562871793633376771215085957007666985012919689180629992758108797674997484570086633753361388991228110946026496990785223590022480429044439499930700088493503237834770568034955250933854613378200325894470081376054880659538126109566698682298831400012562252782008279618992602192079027634983498231402321715175525976233681872636613721170163604021552208142013841968306449425808568961916041120930831355144652765493454987828569427929007393728259953398704328210608761962030608770791809132751516952485695771085117245683600534247082125251478638499356200014509839576733608747106777401314521777098998216719710585663600113629571597882794630476455514139092034158072048500475277392437684245661972460814629 2274302144481969490781173781451268851735257216965929999495684193688034866560588420944578796282568647439728493986174047821807648525148103208778784284629163818180787517783627359396828975105696771114183022739117696097590989782293676525251334822168121141975894209132501652891818254778072889968473418994837585889856768216946812504723446421798823444999962965020202509124103744685522090937260289957875053887883228451251217979755182997331296076120786519009365395875204401384819217672189340862946687070781012899309348823264368798310361840389202021616750614656108623530122049733612708598509194576605393820481986832124811907610253152411802050588575803414600302489218919374827306082210377518348811989895617390943013534873519284124660033888074915850781791109429540249532854297712560343015083257320219531685938739497199597793939805798222887126364624947450917021374095584169252803279066381062891916689290743895743377255262397105425878394613292134940498682553609370629569008595792237537469549079968028902775629084235853678308041041482329221758531883979967256934643121946494950776251131203979160383717007417381829512981667934645970438229877238502629258789620548977705337146341573955954286134342543081486531351359378021494220702210442267655708631265705172948959642933427333228268914147426894874385714250840421802738154840177092725829206894033817060246286007 3679898170458600750670664675083170945375525938086205513835567825803727145233255514346809880591636347660442085616757682880945059390154970275305432871591768791213255024906964645957910002738504784972973608661012306504680090025298484394357529592366055779442810773936253067317283407254187173751803953016442868267904858795291038704458014712434789927110964950861097793221250881182396112980783485811943967911889240384385123747719112327797204574553830477242368674475316719819932485865048033842441814679944281916647011527321218584778521253516667833835273661295082506461267914092320946240504419190566498870237725841660392300934172316643667716301186831504201764490268482246620939458981592604305819656880630310632194164866277392922335031372645002484535152498420768360478880794703345566605105737749263971185869439585693101031774576366257842377298479560829117347268565665545307683938604507172458615371589575295755939508044405385044870996805371162575482180785011692344744534572025919410106162801138192506797181292377867520276347490908137790720447925100898088289787774711988405764079700631908167777445267370780533841192276696608001047000669047635380775742106244748790454392025174490201368259594021719985887551373887861070954310957549045057023153042804171165679353519090933341898485745309689504862169764979513836896226888677568003221644578279479032707100636 5954200314940570241451838456534439797110783155052135513331252019491762011793843935291388676874204995100170579602931730702752707915303073484084217156220932609394042542690592005354738977844201556087156631400130002602271079807592160919608864414534176921418704983068754720209101662032260063720277372011280454157761627012237851209181461134233613372110927915881300302345354625867918203918043775769819021799772468835636341727474295325128500650674616996251734070350521121204751703537237374705388501750725294815956360350585587383088883093905869855452024275951191129991389963825933654839013613767171892690719712673785204208544425469055469766889762634918802066979487401621448245541191970122654631646776247701575207699739796677046995065260719918335316943607850308610011735092415905909620188995069483502871808179082892698825714382164480729503663104508280034368642661249714560487217670888235350532060880319191499316763306802490470749391418663297515980863338621062974313543167818156947575711881106221409572810376613721198584388532390467012478979809080865345224430896658483356540330831835887328161162274788162363354173944631253971485230546286138010034531726793726495791538366748446155654393936564801472418902733265882565175013167991312712731784308509344114638996452518266570167399892736584379247884015819935639634381728854660729050851472313296092953386643 9634098485399170992122503131617610742486309093138341027166819845295489157027099449638198557465841342760612665219689413583697767305458043759389650027812701400607297567597556651312648980582706341060130240061142309106951169832890645313966394006900232700861515757005007787526385069286447237472081325027723322425666485807528889913639475846668403299221892866742398095566605507050314316898827261581762989711661709220021465475193407652925705225228447473494102744825837841024684189402285408547830316430669576732603371877906805967867404347422537689287297937246273636452657877918254601079518032957738391560957438515445596509478597785699137483190949466423003831469755883868069185000173562726960451303656878012207401864606074069969330096633364920819852096106271076970490615887119251476225294732818747474057677618668585799857488958530738571880961584069109151715911226915259868171156275395407809147432469894487255256271351207875515620388224034460091463044123632755319058077739844076357681874682244413916369991668991588718860736023298604803199427734181763433514218671370471762304410532467795495938607542158942897195366221327861972532231215333773390810273833038475286245930391922936357022653530586521458306454107153743636129324125540357769754937351313515280318349971609199912065885638046273884110053780799449476530608617532228732272496050592775125660487279 15588298800339741233574341588152050539597092248190476540498071864787251168820943384929587234340046337860783244822621144286450475220761117243473867184033634010001340110288148656667387958426907897147286871461272311709222249640482806233575258421434409622280220740073762507735486731318707301192358697039003776583428112819766741122820936980902016671332820782623698397911960132918232520816871037351582011511434178055657807202667702978054205875903064469745836815176358962229435892939522783253218818181394871548559732228492393350956287441328407544739322213197464766444047841744188255918531646724910284251677151189230800718023023254754607250080712101341805898449243285489517430541365532849615082950433125713782609564345870747016325161894084839155169039714121385580502350979535157385845483727888230976929485797751478498683203340695219301384624688577389186084553888164974428658373946283643159679493350213678754573034658010365986369779642697757607443907462253818293371620907662233305257586563350635325942802045605309917445124555689071815678407543262628778738649568028955118844741364303682824099769816947105260549540165959115944017461761619911400844805559832201782037468758671382512677047467151322930725356840419626201304337293531670482486721659822859394957346424127466482233285530782858263357937796619385116164990346386889461323347522906071218613873922 25222397285738912225696844719769661282083401341328817567664891710082740325848042834567785791805887680621395910042310557870148242526219161002863517211846335410608637677885705307980036939009614238207417111522414620816173419473373451547541652428334642323141736497078770295261871800605154538664440022066727099009094598627295631036460412827570419970554713649366096493478565639968546837715698298933345001223095887275679272677861110630979911101131511943239939560002196803254120082341808191801049134612064448281163104106399199318823691788750945234026620150443738402896705719662442856998049679682648675812634589704676397227501621040453744733271661567764809729918999169357586615541539095576575534254090003725990011428951944816985655258527449759975021135820392462550992966866654408862070778460706978450987163416420064298540692299225957873265586272646498337800465115080234296829530221679050968826925820108166009829306009218241501990167866732217698906951585886573612429698647506309662939461245595049242312793714596898636305860578987676618877835277444392212252868239399426881149151896771478320038377359106048157744906387286977916549692976953684791655079392870677068283399150594318869699700997737844389031810947573369837433661419072028252241659011136374675275696395736666394299171168829132147467991577418834592695598963919118193595843573498846344274361201 40810696086078653459271186307921711821680493589519294108162963574869991494668986219497373026145934018482179154864931702156598717746980278246337384395879969420609977788173853964647424897436522135354703982983686932525395669113856257781116910849769051945421957237152532802997358531923861839856798719105730875592522711447062372159281349808472436641887534431989794891390525772886779358532569336284927012734530065331337079880528813609034116977034576412985776375178555765483555975281330975054267952793459319829722836334891592669779979230079352778765942363641203169340753561406631112916581326407558960064311740893907197945524644295208351983352373669106615628368242454847104046082904628426190617204523129439772620993297815564001980420421534599130190175534513848131495317846189566247916262188595209427916649214171542797223895639921177174650210961223887523885019003245208725487904167962694128506419170321844764402340667228607488359947509429975306350859048140391905801319555168542968197047808945684568255595760202208553750985134676748434556242820707020990991517807428381999993893261075161144138147176053153418294446553246093860567154738573596192499884952702878850320867909265701382376748464889167319757167787992996038737998712603698734728380670959234070233042819864132876532456699611990410825929374038219708860589310306007654919191096404917562888235123 66033093371817565684968031027691373103763894930848111675827855284952731820517029054065158817951821699103575064907242260026746960273199439249200901607726304831218615466059559272627461836446136373562121094506101553341569088587229709328658563278103694268563693734231303098259230332529016378521238741172457974601617310074358003195741762636042856612442248081355891384869091412855326196248267635218272013957625952607016352558389924240014028078166088356225715935180752568737676057623139166855317087405523768110885940441290791988603671018830298012792562514084941572237459281069073969914631006090207635876946330598583595173026265335662096716624035236871425358287241624204690661624443724002766151458613133165762632422249760380987635678948984359105211311354906310682488284712843975109987040649302187878903812630591607095764587939147135047915797233870385861685484118325443022317434389641745097333344990430010774231646676446848990350115376162193005257810634026965518231018202674852631136509054540733810568389474799107190056845713664425053434078098151413203244386046827808881143045157846639464176524535159201576039352940533071777116847715527280984154964345573555918604267059860020252076449462627011708788978735566365876171660131675726986970039682095608745508739215600799270831627868441122558293920951457054301556188274225125848515034669903763907162596324 106843789457896219144239217335613084925444388520367405783990818859822723315186015273562531844097755717585754219772173962183345678020179717495538286003606274251828593254233413237274886733882658508916825077489788485866964757701085967109775474127872746213985650971383835901256588864452878218378037460278188850194140021521420375355023112444515293254329782513345686276259617185742105554780836971503199026692156017938353432438918737849048145055200664769211492310359308334221232032904470141909585040198983087940608776776182384658383650248909650791558504877726144741578212842475705082831212332497766595941258071492490793118550909630870448699976408905978040986655484079051794707707348352428956768663136262605535253415547575944989616099370518958235401486889420158813983602559033541357903302837897397306820461844763149892988483579068312222566008195094273385570503121570651747805338557604439225839764160751855538633987343675456478710062885592168311608669682167357424032337757843395599333556863486418378823985235001315743807830848341173487990320918858434194235903854256190881136938418921800608314671711212354994333799493779165637684002454100877176654849298276434768925134969125721634453197927516179028546146523559361914909658844279425721698420353054842815741782035464932147364084568053112969119850325495274010416777584531133503434225766308681470050831447 172876882829713784829207248363304458029208283451215517459818674144775455135703044327627690662049577416689329284679416222210092638293379156744739187611332579083047208720292972509902348570328794882478946171995890039208533846288315676438434037405976440482549344705615138999515819196981894596899276201450646824795757331595778378550764875080558149866772030594701577661128708598597431751029104606721471040649781970545369784997308662089062173133366753125437208245540060902958908090527609308764902127604506856051494717217473176646987321267739948804351067391811086313815672123544779052745843338587974231818204402091074388291577174966532545416600444142849466344942725703256485369331792076431722920121749395771297885837797336325977251778319503317340612798244326469496471887271877516467890343487199585185724274475354756988753071518215447270481805428964659247255987239896094770122772947246184323173109151181866312865634020122305469060178261754361316866480316194322942263355960518248230470065918027152189392374709800422933864676562005598541424399017009847397480289901083999762279983576768440072491196246371556570373152434312237414800850169628158160809813643849990687529402028985741886529647390143190737335125259125727791081318975955152708668460035150451561250521251065731418195712436494235527413771276952328311972965858756259351949260436212445377213427771 279720672287610003973446465698917542954652671971582923243809493004598178450889059601190222506147333134275083504451590184393438316313558874240277473614938853334875801974526385747177235304211453391395771249485678525075498603989401643548209511533849186696534995676998974900772408061434772815277313661728835674989897353117198753905787987525073443121101813108047263937388325784339537305809941578224670067341937988483723217436227399938110318188567417894648700555899369237180140123432079450674487167803489943992103493993655561305370971516649599595909572269537231055393884966020484135577055671085740827759462473583565181410128084597402994116576853048827507331598209782308280077039140428860679688784885658376833139253344912270966867877690022275576014285133746628310455489830911057825793646325096982492544736320117906881741555097283759493047813624058932632826490361466746517928111504850623549012873311933721851499621363797761947770241147346529628475149998361680366295693718361643829803622781513570568216359944801738677672507410346772029414719935868281591716193755340190643416921995690240680805867957583911564706951928091403052484852623729035337464662942126425456454536998111463520982845317659369765881271782685089705990977820234578430366880388205294376992303286530663565559797004547348496533621602447602322389743443287392855383486202521126847264259218 452597555117323788802653714062222000983860955422798440703628167149373633586592103928817913168196910550964412789131006406603530954606938030985016661226271432417923010694819358257079583874540248273874717421481568564284032450277717319986643548939825627179084340382614113900288227258416667412176589863179482499785654684712977132456552862605631592987873843702748841598517034382936969056839046184946141107991719959029093002433536062027172491321934171020085908801439430140139048213959688759439389295407996800043598211211128737952358292784389548400260639661348317369209557089565263188322899009673715059577666875674639569701705259563935539533177297191676973676540935485564765446370932505292402608906635054148131025091142248596944119656009525592916627083378073097806927377102788574293683989812296567678269010795472663870494626615499206763529619053023591880082477601362841288050884452096807872185982463115588164365255383920067416830419409100890945341630314556003308559049678879892060273688699540722757608734654602161611537183972352370570839118952878128989196483656424190405696905572458680753297064203955468135080104362403640467285702793357193498274476585976416143983939027097205407512492707802560503216397041810817497072296796189731139035340423355745938242824537596394983755509441041584023947392879399930634362709302043652207332746638733572224477686989 732318227404933792776100179761139543938513627394381363947437660153971812037481163530008135674344243685239496293582596590996969270920496905225294134841210285752798812669345744004256819178751701665270488670967247089359531054267118963534853060473674813875619336059613088801060635319851440227453903524908318174775552037830175886362340850130705036108975656810796105535905360167276506362648987763170811175333657947512816219869763461965282809510501588914734609357338799377319188337391768210113876463211486744035701705204784299257729264301039147996170211930885548424603442055585747323899954680759455887337129349258204751111833344161338533649754150240504481008139145267873045523410072934153082297691520712524964164344487160867910987533699547868492641368511819726117382866933699632119477636137393550170813747115590570752236181712782966256577432677082524512908967962829587805978995956947431421198855775049310015864876747717829364600660556447420573816780312917683674854743397241535890077311481054293325825094599403900289209691382699142600253838888746410580912677411764381049113827568148921434102932161539379699787056290495043519770555417086228835739139528102841600438476025208668928495338025461930269097668824495907203063274616424309569402220811561040315235127824127058549315306445588932520481014481847532956752452745331045062716232841254699071741946207 1184915782522257581578753893823361544922374582817179804651065827303345445624073267458826048842541154236203909082713602997600500225527434936210310796067481718170721823364165102261336403053291949939145206092448815653643563504544836283521496609413500441054703676442227202701348862578268107639630493388087800674561206722543153018818893712736336629096849500513544947134422394550213475419488033948116952283325377906541909222303299523992455300832435759934820518158778229517458236551351456969553265758619483544079299916415913037210087557085428696396430851592233865793812999145151010512222853690433170946914796224932844320813538603725274073182931447432181454684680080753437810969781005439445484906598155766673095189435629409464855107189709073461409268451889892823924310244036488206413161625949690117849082757911063234622730808328282173020107051730106116392991445564192429094029880409044239293384838238164898180230132131637896781431079965548311519158410627473686983413793076121427950351000180595016083433829254006061900746875355051513171092957841624539570109161068188571454810733140607602187399996365494847834867160652898683987056258210443422334013616114079257744422415052305874336007830733264490772314065866306724700135571412614040708437561234916786253477952361723453533070815886630516544428407361247463591115162047374697270048979479988271296219633196 1917234009927191374354854073584501088860888210211561168598503487457317257661554430988834184516885397921443405376296199588597469496447931841435604930908692003923520636033510846265593222232043651604415694763416062743003094558811955247056349669887175254930323012501840291502409497898119547867084396912996118849336758760373328905181234562867041665205825157324341052670327754717489981782137021711287763458659035854054725442173062985957738110342937348849555127516117028894777424888743225179667142221830970288115001621620697336467816821386467844392601063523119414218416441200736757836122808371192626834251925574191049071925371947886612606832685597672685935692819226021310856493191078373598567204289676479198059353780116570332766094723408621329901909820401712550041693110970187838532639262087083668019896505026653805374966990041065139276684484407188640905900413527022016900008876365991670714583694013214208196095008879355726146031740521995732092975190940391370658268536473362963840428311661649309409258923853409962189956566737750655771346796730370950151021838479952952503924560708756523621502928527034227534654216943393727506826813627529651169752755642182099344860891077514543264503168758726421041411734690802631903198846029038350277839782046477826568713080185850512082386122332219449064909421843094996547867614792705742332765212321242970367961579403 3102149792449448955933607967407862633783262793028740973249569314760662703285627698447660233359426552157647314459009802586197969721975366777645915726976173722094242459397675948526929625285335601543560900855864878396646658063356791530577846279300675695985026688944067494203758360476387655506714890301083919523897965482916481924000128275603378294302674657837885999804750149267703457201625055659404715741984413760596634664476362509950193411175373108784375645674895258412235661440094682149220407980450453832194301538036610373677904378471896540789031915115353280012229440345887768348345662061625797781166721799123893392738910551611886680015617045104867390377499306774748667462972083813044052110887832245871154543215745979797621201913117694791311178272291605373966003355006676044945800888036773785868979262937717039997697798369347312296791536137294757298891859091214445994038756775035910007968532251379106376325141010993622927462820487544043612133601567865057641682329549484391790779311842244325492692753107416024090703442092802168942439754571995489721130999548141523958735293849364125808902924892529075369521377596292411493883071837973073503766371756261357089283306129820417600510999491990911813725800557109356603334417441652390986277343281394612822191032547573965615456938218849965609337829204342460138982776840080439602814191801231241664181212599 5019383802376640330288462040992363722644151003240302141848072802217979960947182129436494417876311950079090719835306002174795439218423298619081520657884865726017763095431186794792522847517379253147976595619280941139649752622168746777634195949187850950915349701445907785706167858374507203373799287214080038373234724243289810829181362838470419959508499815162227052475077903985193438983762077370692479200643449614651360106649425495907931521518310457633930773191012287307013086328837907328887550202281424120309303159657307710145721199858364385181632978638472694230645881546624526184468470432818424615418647373314942464664282499498499286848302642777553326070318532796059523956163162186642619315177508725069213896995862550130387296636526316121213088092693317924007696465976863883478440150123857453888875767964370845372664788410412451573476020544483398204792272618236462894047633141027580722552226264593314572420149890349349073494561009539775705108792508256428299950866022847355631207623503893634901951676960825986280660008830552824713786551302366439872152838028094476462659854558120649430405853419563302904175594539686139000709885465502724673519127398443456434144197207334960865014168250717332855137535247911988506533263470690741264117125327872439390904112733424477697843060551069414674247251047437456686850391632786181935579404122474212032142792002 8121533594826089286222070008400226356427413796269043115097642116978642664232809827884154651235738502236738034294315804760993408940398665396727436384861039448112005554828862743319452472802714854691537496475145819536296410685525538308212042228488526646900376390389975279909926218850894858880514177515163957897132689726206292753181491114073798253811174473000113052279828053252896896185387133030097194942627863375247994771125788005858124932693683566418306418865907545719248747768932589478107958182731877952503604697693918083823625578330260925970664893753825974242875321892512294532814132494444222396585369172438835857403193051110385966863919687882420716447817839570808191419135245999686671426065340970940368440211608529928008498549644010912524266364984923297973699820983539928424241038160631239757855030902087885370362586779759763870267556681778155503684131709450908888086389916063490730520758515972420948745290901342972000957381497083819317242394076121485941633195572331747421986935346137960394644430068242010371363450923354993656226305874361929593283837576236000421395148407484775239308778312092378273696972135978550494592957303475798177285499154704813523427503337155378465525167742708244668863335805021345109867680912343132250394468609267052213095145280998443313299998769919380283585080251779916825833168472866621538393595923705453696324004601 13140917397202729616510532049392590079071564799509345256945714919196622625179991957320649069112050452315828754129621806935788848158821964015808957042745905174129768650260049538111975320320094107839514092094426760675946163307694285085846238177676377597815726091835883065616094077225402062254313464729243996270367413969496103582362853952544218213319674288162340104754905957238090335169149210400789674143271312989899354877775213501766056454211994024052237192056919833026261834097770496806995508385013302072812907857351225793969346778188625311152297872392298668473521203439136820717282602927262647012004016545753778322067475550608885253712222330659974042518136372366867715375298408186329290741242849696009582337207471080058395795186170327033737354457678241221981396286960403811902681188284488693646730798866458730743027375190172215443743577226261553708476404327687371782134023057091071453072984780565735521165440791692321074451942506623595022351186584377914241584061595179103053194558850031595296596107029067996652023459753907818370012857176728369465436675604330476884055002965605424669714631731655681177872566675664689495302842768978522850804626553148269957571700544490339330539335993425577524000871052933333616400944383033873514511593937139491603999258014422921011143059320988794957832331299217373512683560105652803473973000046179665728466796603 21262450992028818902732602057792816435498978595778388372043357036175265289412801785204803720347788954552566788423937611696782257099220629412536393427606944622241774205088912281431427793122808962531051588569572580212242573993219823394058280406164904244716102482225858345526020296076296921134827642244407954167500103695702396335544345066618016467130848761162453157034734010490987231354536343430886869085899176365147349648901001507624181386905677590470543610922827378745510581866703086285103466567745180025316512555045143877792972356518886237122962766146124642716396525331649115250096735421706869408589385718192614179470668601719271220576142018542394758965954211937675906794433654186015962167308190666949950777419079609986404293735814337946261620822663164519955096107943943740326922226445119933404585829768546616113389961969931979314011133908039709212160536037138280670220412973154562183593743296538156469910731693035293075409324003707414339593580660499400183217257167510850475181494196169555691240537097310007023386910677262812026239163051090299058720513180566477305450151373090199909023410043748059451569538811643239989895800072454321028090125707853083480999203881645717796064503736133822192864206857954678726268625295377005764906062546406543817094403295421364324443058090908175241417411550997290338516728578519425012366595969885119424790801204 34403368389231548519243134107185406514570543395287733628989071955371887914592793742525452789459839406868395542553559418632571105258042593428345350470352849796371542855348961819543403113442903070370565680663999340888188737300914108479904518583841281842531828574061741411142114373301698983389141106973651950437867517665198499917907199019162234680450523049324793261789639967729077566523685553831676543229170489355046704526676215009390237841117671614522780802979747211771772415964473583092098974952758482098129420412396369671762319134707511548275260638538423311189917728770785935967379338348969516420593402263946392501538144152328156474288364349202368801484090584304543622169732062372345252908551040362959533114626550690044800088921984664979998975280341405741936492394904347552229603414729608627051316628635005346856417337160104194757754711134301262920636940364825652452354436030245633636666728077103891991076172484727614149861266510331009361944767244877314424801318762689953528376053046201150987836644126378003675410370431170630396252020227818668524157188784896954189505154338695624578738041775403740629442105487307929485198642841432843878894752261001353438570904426136057126603839729559399716865077910888012342669569678410879279417656483546035421093661309844285335586117411896970199249742850214663851200288684172228486339596016064785153257597807 55665819381260367421975736164978222950069521991066122001032428991547153204005595527730256509807628361420962330977497030329353362357263222840881743897959794418613317060437874100974830906565712032901617269233571921100431311294133931873962798990006186087247931056287599756668134669377995904523968749218059904605367621360900896253451544085780251147581371810487246418824373978220064797878221897262563412315069665720194054175577216517014419228023349204993324413902574590517282997831176669377202441520503662123445932967441513549555291491226397785398223404684547953906314254102435051217476073770676385829182787982139006681008812754047427694864506367744763560450044796242219528964165716558361215075859231029909483892045630300031204382657799002926260596103004570261891588502848291292556525641174728560455902458403551962969807299130036174071765845042340972132797476401963933122574849003400195820260471373642048460986904177762907225270590514038423701538347905376714608018575930200804003557547242370706679077181223688010698797281108433442422491183278908967582877701965463431494955305711785824487761451819151800081011644298951169475094442913887164906984877968854436919570108307781774922668343465693221909729284768842691068938194973787885044323719029952579238188064605265649660029175502805145440667154401211954189717017262691653498706191985949904578048399011 90069187770491915941218870272163629464640065386353855630021500946919041118598389270255709299267467768289357873531056448961924467615305816269227094368312644214984859915786835920518234020008615103272182949897571261988620048595048040353867317573847467929779759630349341167810249042679694887913109856191711855043235139026099396171358743104942485828031894859812039680614013945949142364401907451094239955544240155075240758702253431526404657069141020819516105216882321802289055413795650252469301416473262144221575353379837883221317610625933909333673484043222971265096231982873220987184855412119645902249776190246085399182546956906375584169152870716947132361934135380546763151133897778930706467984410271392869017006672180990076004471579783667906259571383345976003828080897752638844786129055904337187507219087038557309826224636290140368829520556176642235053434416766789585574929285033645829456927199450745940452063076662490521375131857024369433063483115150254029032819894692890757531933600288571857666913825350066014374207651539604072818743203506727636107034890750360385684460460050481449066499493594555540710453749786259098960293085755320008785879630229855790358141012733917832049272183195252621626594362679730703411607764652198764323741375513498614659281725915109934995615292914702115639916897251426618040917305946863881985045788002014689731305996818 145735007151752283363194606437141852414709587377419977631053929938466194322603984797985965809075096129710320204508553479291277829972569039110108838266272438633598176976224710021493064926574327136173800219131143183089051359889181972227830116563853654017027690686636940924478383712057690792437078605409771759648602760387000292424810287190722736975613266670299286099438387924169207162280129348356803367859309820795434812877830648043419076297164370024509429630784896392806338411626826921846503857993765806345021286347279396770872902117160307119071707447907519219002546236975656038402331485890322288078958978228224405863555769660423011864017377084691895922384180176788982680098063495489067683060269502422778500898717811290107208854237582670832520167486350546265719669400600930137342654697079065747963121545442109272796031935420176542901286401218983207186231893168753518697504134037046025277187670824387988913049980840253428600402447538407856765021463055630743640838470623091561535491147530942564345991006573754025073004932648037515241234386785636603689912592715823817179415765762267273554260945413707340791465394085210268435387528669207173692864508198710227277711121041699606971940526660945843536323647448573394480545959625986649368065094543451193897469790520375584655644468417507261080584051652638572230634323209555535483751979987964594309354395829 235804194922244199304413476709305481879349652763773833261075430885385235441202374068241675108342563897999678078039609928253202297587874855379335932634585082848583036892011545942011298946582942239445983169028714445077671408484230012581697434137701121946807450316986282092288632754737385680350188461601483614691837899413099688596169030295665222803645161530111325780052401870118349526682036799451043323403549975870675571580084079569823733366305390844025534847667218195095393825422477174315805274467027950566596639727117279992190512743094216452745191491130490484098778219848877025587186898009968190328735168474309805046102726566798596033170247801639028284318315557335745831231961274419774151044679773815647517905389992280183213325817366338738779738869696522269547750298353568982128783752983402935470340632480666582622256571710316911730806957395625442239666309935543104272433419070691854734114870275133929365113057502743949975534304562777289828504578205884772673658365315982319067424747819514422012904831923820039447212584187641588059977590292364239796947483466184202863876225812748722620760439008262881501919143871469367395680614424527182478744138428566017635852133775617439021212709856198465162918010128304097892153724278185413691806470056949808556751516435485519651259761332209376720500948904065190271551629156419417468797767989979284040660392647 381539202073996482667608083146447334294059240141193810892129360823851429763806358866227640917417660027709998282548163407544480127560443894489444770900857521482181213868236255963504363873157269375619783388159857628166722768373411984809527550701554775963835141003623223016767016466795076472787267067011255374340440659800099981020979317486387959779258428200410611879490789794287556688962166147807846691262859796666110384457914727613242809663469760868534964478452114587901732237049304096162309132460793756911617926074396676763063414860254523571816898939038009703101324456824533063989518383900290478407694146702534210909658496227221607897187624886330924206702495734124728511330024769908841834104949276238426018804107803570290422180054949009571299906356047068535267419698954499119471438450062468683433462177922775855418288507130493454632093358614608649425898203104296622969937553107737880011302541099521918278163038342997378575936752101185146593526041261515516314496835939073880602915895350456986358895838497574064520217516835679103301211977078000843486860076182008020043291991575015996175021384421970222293384537956679635831068143093734356171608646627276244913563254817317045993153236517144308699241657576877492372699683904172063059871564600401002454221306955861104306904229749716637801085000556703762502185952365974952952549747977943878350014788476 617343396996240681972021559855752816173408892904967644153204791709236665205008732934469316025760223925709676360587773335797682425148318749868780703535442604330764250760247801905515662819740211615065766557188572073244394176857641997391224984839255897910642591320609505109055649221532462153137455528612738989032278559213199669617148347782053182582903589730521937659543191664405906215644202947258890014666409772536785956037998807183066543029775151712560499326119332782997126062471781270478114406927821707478214565801513956755253927603348740024562090430168500187200102676673410089576705281910258668736429315176844015955761222794020203930357872687969952491020811291460474342561986044328615985149629050054073536709497795850473635505872315348310079645225743590804815169997308068101600222203045871618903802810403442438040545078840810366362900316010234091665564513039839727242370972178429734745417411374655847643276095845741328551471056663962436422030619467400288988155201255056199670340643169971408371800670421394103967430101023320691361189567370365083283807559648192222907168217387764718795781823430233103795303681828149003226748757518261538650352785055842262549415388592934485014365946373342773862159667705181590264853408182357476751678034657350811010972823391346623958163991081926014521585949460768952773737581522394370421347515967923162390675181123 998882599070237164639629643002200150467468133046161455045334152533088094968815091800696956943177883953419674643135936743342162552708762644358225474436300125812945464628484057869020026692897480990685549945348429701411116945231053982200752535540810673874477732324232728125822665688327538625924722595623994363372719219013299650638127665268441142362162017930932549539033981458693462904606369095066736705929269569202896340495913534796309352693244912581095463804571447370898858299521085366640423539388615464389832491875910633518317342463603263596378989369206509890301427133497943153566223665810549147144123461879378226865419719021241811827545497574300876697723307025585202853892010814237457819254578326292499555513605599420764057685927264357881379551581790659340082589696262567221071660653108340302337264988326218293458833585971303820994993674624842741091462716144136350212308525286167614756719952474177765921439134188738707127407808765147583015556660728915805302652037194130080273256538520428394730696508918968168487647617858999794662401544448365926770667635830200242950460208962780714970803207852203326088688219784828639057816900611995894821961431683118507462978643410251531007519182890487082561401325282059082637553092086529539811549599257751813465194130347207728265068220831642652322670950017472715275923533888369323373897263945867040740689969599 1616225996066477846611651202857952966640877025951129099198538944242324760173823824735166272968938107879129351003723710079139844977857081394227006177971742730143709715388731859774535689512637692605751316502537001774655511122088695979591977520380066571785120323644842233234878314909860000779062178124236733352404997778226499320255276013050494324945065607661454487198577173123099369120250572042325626720595679341739682296533912341979375895723020064293655963130690780153895984361992866637118537946316437171868047057677424590273571270066952003620941079799375010077501529810171353243142928947720807815880552777056222242821180941815262015757903370262270829188744118317045677196453996858566073804404207376346573092223103395271237693191799579706191459196807534250144897759693570635322671882856154211921241067798729660731499378664812114187357893990635076832757027229183976077454679497464597349502137363848833613564715230034480035678878865429110019437587280196316094290807238449186279943597181690399803102497179340362272455077718882320486023591111818731010054475195478392465857628426350545433766585031282436429883991901612977642284565658130257433472314216738960770012394032003186016021885129263829856423560992987240672902406500268887016563227633915102624476166953738554352223232211913568666844256899478241668049661115410763693795244779913790203131365150722 2615108595136715011251280845860153117108345158997290554243873096775412855142638916535863229912115991832549025646859646822482007530565844038585231652408042855956655180017215917643555716205535173596436866447885431476066628067319749961792730055920877245659598055969074961360700980598187539404986900719860727715777716997239798970893403678318935467307227625592387036737611154581792832024856941137392363426524948910942578637029825876775685248416264976874751426935262227524794842661513952003758961485705052636257879549553335223791888612530555267217320069168581519967802956943669296396709152613531356963024676238935600469686600660836503827585448867836571705886467425342630880050346007672803531623658785702639072647736708994692001750877726844064072838748389324909484980349389833202543743543509262552223578332787055879024958212250783418008352887665259919573848489945328112427666988022750764964258857316323011379486154364223218742806286674194257602453143940925231899593459275643316360216853720210828197833193688259330440942725336741320280685992656267096936825142831308592708808088635313326148737388239134639755972680121397806281342382558742253328294275648422079277475372675413437547029404312154316938984962318269299755539959592355416556374777233172854437941361084085762080488300432745211319166927849495714383325584649299133017169142043859657243872055120321 4231334591203192857862932048718106083749222184948419653442412041017737615316462741271029502881054099711678376650583356901621852508422925432812237830379785586100364895405947777418091405718172866202188182950422433250722139189408445941384707576300943817444718379613917194595579295508047540184049078844097461068182714775466298291148679691369429792252293233253841523936188327704892201145107513179717990147120628252682260933563738218755061144139285041168407390065953007678690827023506818640877499432021489808125926607230759814065459882597507270838261148967956530045304486753840649639852081561252164778905229015991822712507781602651765843343352238098842535075211543659676557246800004531369605428062993078985645739959812389963239444069526423770264297945196859159629878109083403837866415426365416764144819400585785539756457590915595532195710781655894996406605517174512088505121667520215362313760994680171844993050869594257698778485165539623367621890731221121547993884266514092502640160450901901228000935690867599692713397803055623640766709583768085827946879618026786985174665717061663871582503973270417076185856672023010783923626948216872510761766589865161040047487766707416623563051289441418146795408523311256540428442366092624303572938004867087957062417528037824316432711532644658779986011184748973956051375245764709896710964386823773447447003420271043 6846443186339907869114212894578259200857567343945710207686285137793150470459101657806892732793170091544227402297443003724103860038988769471397469482787828442057020075423163695061647121923708039798625049398307864726788767256728195903177437632221821063104316435582992155956280276106235079589035979563958188783960431772706097262042083369688365259559520858846228560673799482286685033169964454317110353573645577163624839570593564095530746392555550018043158817001215235203485669685020770644636460917726542444383806156784095037857348495128062538055581218136538050013107443697509946036561234174783521741929905254927423182194382263488269670928801105935414240961678969002307437297146012204173137051721778781624718387696521384655241194947253267834337136693586184069114858458473237040410158969874679316368397733372841418781415803166378950204063669321154915980454007119840200932788655542966127278019851996494856372537023958480917521291452213817625224343875162046779893477725789735819000377304622112056198768884555859023154340528392364961047395576424352924883704760858095577883473805696977197731241361509551715941829352144408590204969330775614764090060865513583119324963139382830061110080693753572463734393485629525840183982325684979720129312782100260811500358889121910078513199833077403991305178112598469670434700830414009029728133528867633104690875475391364 11077777777543100726977144943296365284606789528894129861128697178810888085775564399077922235674224191255905778948026360625725712547411694904209707313167614028157384970829111472479738527641880906000813232348730297977510906446136641844562145208522764880549034815196909350551859571614282619773085058408055649852143146548172395553190763061057795051811814092100070084609987809991577234315071967496828343720766205416307100504157302314285807536694835059211566207067168242882176496708527589285513960349748032252509732764014854851922808377725569808893842367104494580058411930451350595676413315736035686520835134270919245894702163866140035514272153344034256776036890512661983994543946016735542742479784771860610364127656333774618480639016779691604601434638783043228744736567556640878276574396240096080513217133958626958537873394081974482399774450977049912387059524294352289437910323063181489591780846676666701365587893552738616299776617753440992846234606383168327887361992303828321640537755524013284199704575423458715867738331447988601814105160192438752830584378884882563058139522758641069313745334779968792127686024167419374128596278992487274851827455378744159372450906090246684673131983194990610529802008940782380612424691777604023702250786967348768562776417159734394945911365722062771291189297347443626486076076178718926439097915691406552137878895662407 17924220963883008596091357837874624485464356872839840068814982316604038556234666056884814968467394282800133181245469364349829572586400464375607176795955442470214405046252275167541385649565588945799438281747038162704299673702864837747739582840744585943653351250779901506508139847720517699362121037972013838636103578320878492815232846430746160311371334950946298645283787292278262267485036421813938697294411782579931940074750866409816553929250385077254725024068383478085662166393548359930150421267474574696893538920798949889780156872853632346949423585241032630071519374148860541712974549910819208262765039525846669076896546129628305185200954449969671016998569481664291431841092028939715879531506550642235082515352855159273721833964032959438938571332369227297859595026029877918686733366114775396881614867331468377319289197248353432603838120298204828367513531414192490370698978606147616869800698673161557738124917511219533821068069967258618070578481545215107780839718093564140640915060146125340398473459979317739022078859840353562861500736616791677714289139742978140941613328455618267044986696289520508069515376311827964333565609768102038941888320892327278697414045473076745783212676948563074264195494570308220796407017462583743831563569067609580063135306281644473459111198799466762596367409945913296920776906592727956167231444559039656828754371053771 29001998741426109323068502781170989770071146401733969929943679495414926642010230455962737204141618474056038960193495724975555285133812159279816884109123056498371790017081386640021124177207469851800251514095768460681810580149001479592301728049267350824202386065976810857059999419334800319135206096380069488488246724869050888368423609491803955363183149043046368729893775102269839501800108389310767041015177987996239040578908168724102361465945220136466291231135551720967838663102075949215664381617222606949403271684813804741702965250579202155843265952345527210129931304600211137389387865646854894783600173796765914971598709995768340699473107794003927793035459994326275426385038045675258622011291322502845446643009188933892202472980812651043540005971152270526604331593586518796963307762354871477394832001290095335857162591330327915003612571275254740754573055708544779808609301669329106461581545349828259103712811063958150120844687720699610916813087928383435668201710397392462281452815670138624598178035402776454889817191288342164675605896809230430544873518627860703999752851214259336358732031069489300197201400479247338462161888760589313793715776271071438069864951563323430456344660143553684793997503511090601408831709240187767533814356034958348625911723441378868405022564521529533887556707293356923406852982771446882606329360250446208966633266716178 46926219705309117919159860619045614255535503274573809998758661812018965198244896512847552172609012756856172141438965089325384857720212623655424060905078498968586195063333661807562509826773058797599689795842806623386110253851866317340041310890011936767855737316756712363568139267055318018497327134352083327124350303189929381183656455922550115674554483993992667375177562394548101769285144811124705738309589770576170980653659035133918915395195605213721016255203935199053500829495624309145814802884697181646296810605612754631483122123432834502792689537586559840201450678749071679102362415557674103046365213322612584048495256125396645884674062243973598810034029475990566858226130074614974501542797873145080529158362044093165924306944845610482478577303521497824463926619616396715650041128469646874276446868621563713176451788578681347607450691573459569122086587122737270179308280275476723331382244022989816841837728575177683941912757687958228987391569473598543449041428490956602922367875816263964996651495382094193911896051128695727537106633426022108259162658370838844941366179669877603403718727359009808266716776791075302795727498528691352735604097163398716767278997036400176239557337092116759058192998081398822205238726702771511365377925102567928689047029723023341864133763320996296483924117239270220327629889364174838773560804809485865795387637769949 75928218446735227242228363400216604025606649676307779928702341307433891840255126968810289376750631230912211101632460814300940142854024782935240945014201555466957985080415048447583634003980528649399941309938575084067920834000867796932343038939279287592058123382733523220628138686390118337632533230732152815612597028058980269552080065414354071037737633037039036105071337496817941271085253200435472779324767758572410021232567203858021276861140825350187307486339486920021339492597700258361479184501919788595700082290426559373186087374012036658635955489932087050331381983349282816491750281204528997829965387119378499020093966121164986584147170037977526603069489470316842284611168120290233123554089195647925975801371233027058126779925658261526018583274673768351068258213202915512613348890824518351671278869911659049033614379909009262611063262848714309876659642831282049987917581944805829792963789372818075945550539639135834062757445408657839904204657401981979117243138888349065203820691486402589594829530784870648801713242417037892212712530235252538804036176998699548941119030884136939762450758428499108463918177270322641257889387289280666529319873434470154837143948599723606695901997235670443852190501592489423614070435942959278899192281137526277314958753164402210269156327842525830371480824532627143734482872135621721379890165059932074762020904486127 122854438152044345161388224019262218281142152950881589927461003119452857038500023481657841549359643987768383243071425903626325000574237406590665005919280054435544180143748710255146143830753587446999631105781381707454031087852734114272384349829291224359913860699490235584196277953445436356129860365084236142736947331248909650735736521336904186712292117031031703480248899891366043040370398011560178517634357529148581001886226238991940192256336430563908323741543422119074840322093324567507293987386616970241996892896039314004669209497444871161428645027518646890532832662098354495594112696762203100876330600441991083068589222246561632468821232281951125413103518946307409142837298194905207625096887068793006504959733277120224051086870503872008497160578195266175532184832819312228263390019294165225947725738533222762210066168487690610218513954422173878998746229954019320167225862220282553124346033395807892787388268214313518004670203096616068891596226875580522566284567379305668126188567302666554591481026166964842713609293545733619749819163661274647063198835369538393882485210554014543166169485787508916730634954061397944053616885817972019264923970597868871604422945636123782935459334327787202910383499673888245819309162645730790264570206240094206004005782887425552133290091163522126855404941771897364062112761499796560153450969869417940557408542256076 198782656598779572403616587419478822306748802627189369856163344426886748878755150450468130926110275218680594344703886717927265143428262189525905950933481609902502165224163758702729777834734116096399572415719956791521951921853601911204727388768570511951971984082223758804824416639835554693762393595816388958349544359307889920287816586751258257750029750068070739585320237388183984311455651211995651296959125287720991023118793442849961469117477255914095631227882909039096179814691024825868773171888536758837696975186465873377855296871456907820064600517450733940864214645447637312085862977966732098706295987561369582088683188367726619052968402319928652016173008416624251427448466315195440748650976264440932480761104510147282177866796162133534515743852869034526600443046022227740876738910118683577619004608444881811243680548396699872829577217270888188875405872785301370155143444165088382917309822768625968732938807853449352067427648505273908795800884277562501683527706267654733330009258789069144186310556951835491515322535962771511962531693896527185867235012368237942823604241438151482928620244216008025194553131331720585311506273107252685794243844032339026441566894235847389631361331563457646762574001266377669433379598588690069163762487377620483318964536051827762402446419006047957226885766304524507796595633635418281533341134929350015319429446742203 321637094750823917565004811438741040587890955578070959783624347546339605917255173932125972475469919206448977587775312621553590144002499596116570956852761664338046345367912468957875921665487703543399203521501338498975983009706336025477111738597861736311885844781713994389020694593280991049892253960900625101086491690556799571023553108088162444462321867099102443065569137279550027351826049223555829814593482816869572025005019681841901661373813686478003954969426331158171020136784349393376067159275153729079693868082505187382524506368901778981493245544969380831397047307545991807679975674728935199582626588003360665157272410614288251521789634601879777429276527362931660570285764510100648373747863333233938985720837787267506228953666666005543012904431064300702132627878841539969140128929412848803566730346978104573453746716884390483048091171693062067874152102739320690322369306385370936041655856164433861520327076067762870072097851601889977687397111153143024249812273646960401456197826091735698777791583118800334228931829508505131712350857557801832930433847737776336706089451992166026094789730003516941925188085393118529365123158925224705059167814630207898045989839871971172566820665891244849672957500940265915252688761234420859428332693617714689322970318939253314535736510169570084082290708076421871858708395135214841686792104798767955876837988998279 520419751349603489968621398858219862894639758205260329639787691973226354796010324382594103401580194425129571932479199339480855287430761785642476907786243274240548510592076227660605699500221819639798775937221295290497934931559937936681839127366432248263857828863937753193845111233116545743654647556717014059436036049864689491311369694839420702212351617167173182650889374667734011663281700435551481111552608104590563048123813124691863130491290942392099586197309240197267199951475374219244840331163690487917390843268971060760379803240358686801557846062420114772261261952993629119765838652695667298288922575564730247245955598982014870574758036921808429445449535779555911997734230825296089122398839597674871466481942297414788406820462828139077528648283933335228733070924863767710016867839531532381185734955422986384697427265281090355877668388963950256749557975524622060477512750550459318958965678933059830253265883921212222139525500107163886483197995430705525933339979914615134786207084880804842964102140070635825744254365471276643674882551454329018797668860106014279529693693430317509023409974219524967119741216724839114676629432032477390853411658662546924487556734107818562198181997454702496435531502206643584686068359823110928592095180995335172641934854991081076938182929175618041309176474380946379655304028770633123220133239728117971196267435740482 842056846100427407533626210296960903482530713783331289423412039519565960713265498314720075877050113631578549520254511961034445431433261381759047864639004938578594855959988696618481621165709523183197979458722633789473917941266273962158950865964293984575743673645651747582865805826397536793546901517617639160522527740421489062334922802927583146674673484266275625716458511947284039015107749659107310926146090921460135073128832806533764791865104628870103541166735571355438220088259723612620907490438844216997084711351476248142904309609260465783051091607389495603658309260539620927445814327424602497871549163568090912403228009596303122096547671523688206874726063142487572568019995335396737496146702930908810452202780084682294635774129494144620541552714997635930865698803705307679156996768944381184752465302401090958151173982165480838925759560657012324623710078263942750799882056935830255000621535097493691773592959988975092211623351709053864170595106583848550183152253561575536242404910972540541741893723189436159973186194979781775387233409012130851728102707843790616235783145422483535118199704223041909044929302117957644041752590957702095912579473292754822533546573979789734765002663345947346108489003146909499938757121057531788020427874613049861964905173930334391473919439345188125391467182457368251514012423905847964906925344526885927073105424738761 1362476597450030897502247609155180766377170471988591619063199731492792315509275822697314179278630308056708121452733711300515300718864023167401524772425248212819143366552064924279087320665931342822996755395943929079971852872826211898840789993330726232839601502509589500776710917059514082537201549074334653219958563790286178553646292497767003848887025101433448808367347886615018050678389450094658792037698699026050698121252645931225627922356395571262203127364044811552705420039735097831865747821602534704914475554620447308903284112849619152584608937669809610375919571213533250047211652980120269796160471739132821159649183608578317992671305708445496636320175598922043484565754226160692826618545542528583681918684722382097083042594592322283698070200998930971159598769728569075389173864608475913565938200257824077342848601247446571194803427949620962581373268053788564811277394807486289573959587214030553522026858843910187314351148851816217750653793102014554076116492233476190671028611995853345384705995863260071985717440560451058419062115960466459870525771567949804895765476838852801044141609678442566876164670518842796758718382022990179486765991131955301747021103308087608296963184660800649842544020505353553084624825480880642716612523055608385034606840028921415468412102368520806166700643656838314631169316452676481088127058584255003898269372860479243 2204533443550458305035873819452141669859701185771922908486611771012358276222541321012034255155680421688286670972988223261549746150297284549160572637064253151397738222512053620897568941831640866006194734854666562869445770814092485860999740859295020217415345176155241248359576722885911619330748450591952292380481091530707667615981215300694586995561698585699724434083806398562302089693497199753766102963844789947510833194381478737759392714221500200132306668530780382908143640127994821444486655312041378921911560265971923557046188422458879618367660029277199105979577880474072870974657467307544872294032020902700912072052411618174621114767853379969184843194901662064531057133774221496089564114692245459492492370887502466779377678368721816428318611753713928607090464468532274383068330861377420294750690665560225168300999775229612052033729187510277974905996978132052507562077276864422119828960208749128047213800451803899162406562772203525271614824388208598402626299644487037766207271016906825885926447889586449508145690626755430840194449349369478590722253874275793595512001259984275284579259809382665608785209599820960754402760134613947881582678570605248056569554649882067398031728187324146597188652509508500462584563582601938174504632950930221434896571745202851749859886021807865994292092110839295682882683328876582329053033983928781889825342478285218004 3567010041000489202538121428607322436236871657760514527549811502505150591731817143709348434434310729744994792425721934562065046869161307716562097409489501364216881589064118545176656262497572208829191490250610491949417623686918697759840530852625746450254946678664830749136287639945425701867949999666286945600439655320993846169627507798461590844448723687133173242451154285177320140371886649848424895001543488973561531315634124668985020636577895771394509795894825194460849060167729919276352403133643913626826035820592370865949472535308498770952268966947008716355497451687606121021869120287665142090192492641833733231701595226752939107439159088414681479515077260986574541699528447656782390733237787988076174289572224848876460720963314138712016681954712859578250063238260843458457504725985896208316628865818049245643848376477058623228532615459898937487370246185841072373354671671908409402919795963158600735827310647809349720913921055341489365478181310612956702416136720513956878299628902679231311153885449709580131408067315881898613511465329945050592779645843743400407766736823128085623401419061108175661374270339803551161478516636938061069444561737203358316575753190155006328691371984947247031196530013854015669188408082818817221245473985829819931178585231773165328298124176386800458792754496133997513852645329258810141161042513036893723611851145697247 5771543484550947507573995248059464106096572843532437436036423273517508867954358464721382689589991151433281463398710157823614793019458592265722670046553754515614619811576172166074225204329213074835386225105277054818863394501011183620840271711920766667670291854820071997495864362831337321198698450258239237980920746851701513785608723099156177840010422272832897676534960683739622230065383849602190997965388278921072364510015603406744413350799395971526816464425605577368992700295724740720839058445685292548737596086564294422995660957767378389319928996224207822335075332161678991996526587595210014384224513544534645303754006844927560222207012468383866322709978923051105598833302669152871954847930033447568666660459727315655838399332035955140335293708426788185340527706793117841525835587363316503067319531378274413944848151706670675262261802970176912393367224317893579935431948536330529231880004712286647949627762451708512127476693258866760980302569519211359328715781207551723085570645809505117237601775036159088277098694071312738807960814699423641315033520119536995919767996807403370202661228443773784446583870160764305564238651250885942652123132342451414886130403072222404360419559309093844219849039522354478253751990684756991725878424916051254827750330434624915188184145984252794750884865335429680396535974205841139194195026441818783548954329430915251 9338553525551436710112116676666786542333444501292951963586234776022659459686175608430731124024301881178276255824432092385679839888619899982284767456043255879831501400640290711250881466826785283664577715355887546768281018187929881380680802564546513117925238533484902746632152002776763023066648449924526183581360402172695359955236230897617768684459145959966070918986114968916942370437270499450615892966931767894633895825649728075729433987377291742921326260320430771829841760463454659997191461579329206175563631907156665288945133493075877160272197963171216538690572783849285113018395707882875156474417006186368378535455602071680499329646171556798547802225056184037680140532831116809654345581167821435644840950031952164532299120295350093852351975663139647763590590945053961299983340313349212711383948397196323659588696528183729298490794418430075849880737470503734652308786620208238938634799800675445248685455073099517861848390614314208250345780750829824316031131917928065679963870274712184348548755660485868668408506761387194637421472280029368691907813165963280396327534733630531455826062647504881960107958140500567856725717167887824003721567694079654773202706156262377410689110931294041091251045569536208493922940398767575808947123898901881074758928915666398080516482270160639595209677619831563677910388619535099949335356068954855677272566180576612498 15110097010102384217686111924726250648430017344825389399622658049540168327640534073152113813614293032611557719223142250209294632908078492248007437502597010395446121212216462877325106671155998358499963940461164601587144412688941065001521074276467279785595530388304974744128016365608100344265346900182765421562281149024396873740844953996773946524469568232798968595521075652656564600502654349052806890932320046815706260335665331482473847338176687714448142724746036349198834460759179400718030520025014498724301227993720959711940794450843255549592126959395424361025648116010964105014922295478085170858641519730903023839209608916608059551853184025182414124935035107088785739366133785962526300429097854883213507610491679480188137519627386048992687269371566435948931118651847079141509175900712529214451267928574598073533544679890399973753056221400252762274104694821628232244218568744569467866679805387731896635082835551226373975867307573075011326083320349035675359847699135617403049440920521689465786357435522027756685605455458507376229433094728792333222846686082817392247302730437934826028723875948655744554542010661332162289955819138709946373690826422106188088836559334599815049530490603134935470894609058562972176692389452332800673002323817932329586679246101022995704666416144892389960562485166993358306924593740941088529551095396674460821520510007527749 24448650535653820927798228601393037190763461846118341363208892825562827787326709681582844937638594913789833975047574342594974472796698392230292204958640266275277622612856753588575988137982783642164541655817052148355425430876870946382201876841013792903520768921789877490760168368384863367331995350107291605143641551197092233696081184894391715208928714192765039514507190621573506970939924848503422783899251814710340156161315059558203281325553979457369468985066467121028676221222634060715221981604343704899864859900877625000885927943919132709864324922566640899716220899860249218033318003360960327333058525917271402374665210988288558881499355581980961927160091291126465879898964902772180646010265676318858348560523631644720436639922736142845039245034706083712521709596901040441492516214061741925835216325770921733122241208074129272243850639830328612154842165325362884553005188952808406501479606063177145320537908650744235824257921887283261671864071178859991390979617063683083013311195233873814335113096007896425094112216845702013650905374758161025130659852046097788574837464068466281854786523453537704662500151161900019015672987026533950095258520501760961291542715596977225738641421897176026721940178594771466099632788219908609620126222719813404345608161767421076221148686305531985170240104998557036217313213276041037864907164351530138094086690584140247 39558747545756205145484340526119287839193479190943730762831550875102996114967243754734958751252887946401391694270716592804269105704776884478299642461237276670723743825073216465901094809138782000664505596278216749942569843565812011383722951117481072689116299310094852234888184733992963711597342250290057026705922700221489107436926138891165661733398282425564008110028266274230071571442579197556229674831571861526046416496980391040677128663730667171817611709812503470227510681981813461433252501629358203624166087894598584712826722394762388259456451881962065260741869015871213323048240298839045498191700045648174426213874819904896618433352539607163376052095126398215251619265098688734706946439363531202071856171015311124908574159550122191837726514406272519661452828248748119583001692114774271140286484254345519806655785887964529245996906861230581374428946860146991116797223757697377874368159411450909041955620744201970609800125229460358272997947391527895666750827316199300486062752115755563280121470531529924181779717672304209389880338469486953358353506538128915180822140194506401107883510399402193449217042161823232181305628806165243896468949346923867149380379274931577040788171912500310962192834787653334438276325177672241410293128546537745733932287407868444071925815102450424375130802590165550394524237807016982126394458259748204598915607200591667996 64007398081410026073282569127512325029956941037062072126040443700665823902293953436317803688891482860191225669318290935399243578501475276708591847419877542946001366437929970054477082947121565642829047252095268898297995274442682957765924827958494865592637068231884729725648353102377827078929337600397348631849564251418581341133007323785557376942326996618329047624535456895803578542382504046059652458730823676236386572658295450598880409989284646629187080694878970591256186903204447522148474483233701908524030947795476209713712650338681520969320776804528706160458089915731462541081558302200005825524758571565445828588540030893185177314851895189144337979255217689341717499164063591506887592449629207520930204731538942769629010799472858334682765759440978603373974537845649160024494208328836013066121700580116441539778027096038658518240757501060909986583789025472354001350228946650186280869639017514086187276158652852714845624383151347641534669811462706755658141806933262983569076063310989437094456583627537820606873829889149911403531243844245114383484166390175012969396977658574867389738296922855731153879542312985132200321301793191777846564207867425628110671921990528554266526813334397486988914774966248105904375957965892150019913254769257559138277895569635865148146963788755956360301042695164107430741551020293023164259365424099734737009693891175808243 103566145627166231218766909653631612869150420228005802888871994575768820017261197191052762440144370806592617363589007528203512684206252161186891489881114819616725110263003186520378177756260347643493552848373485648240565118008494969149647779075975938281753367541979581960536537836370790790526679850687405658555486951640070448569933462676723038675725279043893055734563723170033650113825083243615882133562395537762432989155275841639557538653015313801004692404691474061483697585186260983581726984863060112148197035690074794426539372733443909228777228686490771421199958931602675864129798601039051323716458617213620254802414850798081795748204434796307714031350344087556969118429162280241594538888992738723002060902554253894537584959022980526520492273847251123035427366094397279607495900443610284206408184834461961346433812984003187764237664362291491361012735885619345118147452704347564155237798428964995229231779397054685455424508380807999807667758854234651324892634249462284055138815426745000374578054159067744788653547561454120793411582313732067741837672928303928150219117853081268497621807322257924603096584474808364381626930599357021743033157214349495260052301265460131307314985246897797951107609753901440342652283143564391430206383315795304872210182977504309220072778891206380735431845285329657825265788827310005290653823683847939335925301091767476239 167573543708576257292049478781143937899107361265067875014912438276434643919555150627370566129035853666783843032907298463602756262707727437895483337300992362562726476700933156574855260703381913286322600100468754546538560392451177926915572607034470803874390435773864311686184890938748617869456017451084754290405051203058651789702940786462280415618052275662222103359099180065837228656207587289675534592293219213998819561813571292238437948642299960430191773099570444652739884488390708505730201468096762020672227983485551004140252023072125430198098005491019477581658048847334138405211356903239057149241217188779066083390954881691266973063056329985452052010605561776898686617593225871748482131338621946243932265634093196664166595758495838861203258033288229726409401903940046439631990108772446297272529885414578402886211840080041846282478421863352401347596524911091699119497681650997750436107437446479081416507938049907400301048891532155641342337570316941406983034441182725267624214878737734437469034637786605565395527377450604032196942826157977182125321839318478941119616095511656135887360104245113655756976126787793496581948232392548799589597365081775123370724223255988685573841798581295284940022384720149546247028241109456541450119638085052864010488078547140174368219742679962337095732887980493765256007339847603028454913189107947674072934994982943284482 271139689335742488510816388434775550768257781493073677903784432852203463936816347818423328569180224473376460396496305991806268946913979599082374827182107182179451586963936343095233438459642260929816152948842240194779125510459672896065220386110446742156143803315843893646721428775119408659982697301772159948960538154698722238272874249139003454293777554706115159093662903235870878770032670533291416725855614751761252550968847133877995487295315274231196465504261918714223582073576969489311928452959822132820425019175625798566791395805569339426875234177510249002858007778936814269341155504278108472957675805992686338193369732489348768811260764781759766041955905864455655736022388151990076670227614684966934326536647450558704180717518819387723750307135480849444829270034443719239486009216056581478938070249040364232645653064045034046716086225643892708609260796711044237645134355345314591345235875444076645739717446962085756473399912963641150005329171176058307927075432187551679353694164479437843612691945673310184180925012058152990354408471709249867159512246782869269835213364737404384981911567371580360072711262601860963575162991905821332630522296124618630776524521448816881156783828193082891129994474050986589680524253020932880326021400848168882698261524644483588292521571168717831164733265823423081273128674913033745567012791795613408860296074710760721 438713233044318745802865867215919488667365142758141552918696871128638107856371498445793894698216078140160303429403604455409025209621707036977858164483099544742178063664869499670088699163024174216138753049310994741317685902910850822980792993144917546030534239089708205332906319713868026529438714752856914239365589357757374027975815035601283869911829830368337262452762083301708107426240257822966951318148833965760072112782418426116433435937615234661388238603832363366963466561967677995042129921056584153492653002661176802707043418877694769624973239668529726584516056626270952674552512407517165622198892994771752421584324614180615741874317094767211818052561467641354342353615614023738558801566236631210866592170740647222870776476014658248927008340423710575854231173974490158871476117988502878751467955663618767118857493144086880329194508088996294056205785707802743357142816006343065027452673321923158062247655496869486057522291445119282492342899488117465290961516614912819303568572902213875312647329732278875579708302462662185187297234629686431992481351565261810389451308876393540272342015812485236117048838050395357545523395384454620922227887377899742001500747777437502454998582409488367831152379194200532836708765362477474330445659485901032893186340071784657956512264251131054926897621246317188337280468522516062200480201899743287481795291057654045203 709852922380061234313682255650695039435622924251215230822481303980841571793187846264217223267396302613536763825899910447215294156535686636060232991665206726921629650628805842765322137622666435145954905998153234936096811413370523719046013379255364288186678042405552098979627748488987435189421412054629074188326127512456096266248689284740287324205607385074452421546424986537578986196272928356258368044004448717521324663751265559994428923232930508892584704108094282081187048635544647484354058374016406286313078021836802601273834814683264109051848473846039975587374064405207766943893667911795274095156568800764438759777694346669964510685577859548971584094517373505809998089638002175728635471793851316177800918707388097781574957193533477636650758647559191425299060444008933878110962127204559460230406025912659131351503146208131914375910594314640186764815046504513787594787950361688379618797909197367234707987372943831571813995691358082923642348228659293523598888592047100370982922267066693313156260021677952185763889227474720338177651643101395681859640863812044679659286522241130944657323927379856816477121549312997218509098558376360442254858409674024360632277272298886319336155366237681450722282373668251519426389289615498407210771680886749201775884601596429141544804785822299772758062354512140611418553597197429095946047214691538900890655587132364805924 1148566155424379980116548122866614528102988067009356783741178175109479679649559344710011117965612380753697067255303514902624319366157393673038091156148306271663807714293675342435410836785690609362093659047464229677414497316281374542026806372400281834217212281495260304312534068202855461718860126807485988427691716870213470294224504320341571194117437215442789683999187069839287093622513186179225319362153282683281396776533683986110862359170545743553972942711926645448150515197512325479396188295072990439805731024497979403980878233560958878676821713514569702171890121031478719618446180319312439717355461795536191181362018960850580252559894954316183402147078841147164340443253616199467194273360087947388667510878128745004445733669548135885577766987982902001153291617983424036982438245193062338981873981576277898470360639352218794705105102403636480821020832212316530951930766368031444646250582519290392770235028440701057871517982803202206134691128147410988889850108662013190286490839968907188468907351410231061343597529937382523364948877731082113852122215377306490048737831117524484929665943192342052594170387363392576054621953760815063177086297051924102633778020076323821791153948647169818553434752862452052263098054977975881541217340372650234669070941668213799501317050073430827684959975758457799755834065719945158146527416591282188372450878190018851127 1858419077804441214430230378517309567538610991260572014563659479090321251442747190974228341233008683367233831081203425349839613522693080309098324147813512998585437364922481185200732974408357044508048565045617464613511308729651898261072819751655646122403890323900812403292161816691842896908281538862115062616017844382669566560473193605081858518323044600517242105545612056376866079818786114535483687406157731400802721440284949546105291282403476252446557646820020927529337563833056972963750246669089396726118809046334782005254713048244222987728670187360609677759264185436686486562339848231107713812512030596300629941139713307520544763245472813865154986241596214652974338532891618375195829745153939263566468429585516842786020690863081613522228525635542093426452352061992357915093400372397621799212280007488937029821863785560350709081015696718276667585835878716830318546718716729719824265048491716657627478222401384532629685513674161285129777039356806704512488738700709113561269413107035600501625167373088183247107486757412102861542600520832477795711763079189351169708024353358655429586989870572198869071291936676389794563720512137175505431944706725948463266055292375210141127309314884851269275717126530703571689487344593474288751989021259399436444955543264642941046121835895730600443022330270598411174387662917374254092574631282821089263106465322383657051 3006985233228821194546778501383924095641599058269928798304837654199800931092306535684239459198621064120930898336506940252463932888850473982136415303961819270249245079216156527636143811194047653870142224093081694290925806045933272803099626124055927956621102605396072707604695884894698358627141665669601051043709561252883036854697697925423429712440481815960031789544799126216153173441299300714709006768311014084084118216818633532216153641574021996000530589531947572977488079030569298443146434964162387165924540070832761409235591281805181866405491900875179379931154306468165206180786028550420153529867492391836821122501732268371125015805367768181338388388675055800138678976145234574663024018514027210955135940463645587790466424532629749407806292623524995427605643679975781952075838617590684138194153989065214928292224424912569503786120799121913148406856710929146849498649483097751268911299074235948020248457429825233687557031656964487335911730484954115501378588809371126751555903947004507690094074724498414308451084287349485384907549398563559909563885294566657659756762184476179914516655813764540921665462324039782370618342465897990568609031003777872565899833312451533962918463263532021087829151879393155623952585399571450170293206361632049671114026484932856740547438885969161428127982306029056210930221728637319412239102047874103277635557343512402508178 4865404311033262408977008879901233663180210049530500812868497133290122182535053726658467800431629747488164729417710365602303546411543554291234739451775332268834682444138637712836876785602404698378190789138699158904437114775585171064172445875711574079024992929296885110896857701586541255535423204531716113659727405635552603415170891530505288230763526416477273895090411182593019253260085415250192694174468745484886839657103583078321444923977498248447088236351968500506825642863626271406896681633251783892043349117167543414490304330049404854134162088235789057690418491904851692743125876781527867342379522988137451063641445575891669779050840582046493374630271270453113017509036852949858853763667966474521604370049162430576487115395711362930034818259067088854057995741968139867169238989988305937406433996554151958114088210472920212867136495840189815992692589645977168045368199827471093176347565952605647726679831209766317242545331125772465688769841760820013867327510080240312825317054040108191719242097586597555558571044761588246450149919396037705275648373756008829464786537834835344103645684336739790736754260716172165182062978035166074040975710503821029165888604826744104045772578416872357104869005923859195642072744164924459045195382891449107558982028197499681593560721864892028571004636299654622104609391554693666331676679156924366898663808834786165229 7872389544262083603523787381285157758821809107800429611173334787489923113627360262342707259630250811609095627754217305854767479300394028273371154755737151539083927523354794240473020596796452352248333013231780853195362920821518443867272071999767502035646095534692957818501553586481239614162564870201317164703436966888435640269868589455928717943204008232437305684635210308809172426701384715964901700942779759568970957873922216610537598565551520244447618825883916073484313721894195569850043116597414171057967889188000304823725895611854586720539653989110968437621572798373016898923911905331948020872247015379974272186143177844262794794856208350227831763018946326253251696485182087524521877782181993685476740310512808018366953539928341112337841110882592084281663639421943921819245077607578990075600587985619366886406312635385489716653257294962102964399549300575124017544017682925222362087646640188553667975137261035000004799576988090259801600500326714935515245916319451367064381221001044615881813316822085011864009655332111073631357699317959597614839533668322666489221548722311015258620301498101280712402216584755954535800405443933156642650006714281693595065721917278278066964235841948893444934020885317014819594658143736374629338401744523498778673008513130356422140999607834053456698986942328710833034831120192013078570778727031027644534221152347188673407 12737793855295346012500796261186391422002019157330930424041831920780045296162413989001175060061880559097260357171927671457071025711937582564605894207512483807918609967493431953309897382398857050626523802370480012099800035597103614931444517875479076114671088463989842929398411288067780869697988074733033278363164372523988243685039480986434006173967534648914579579725621491402191679961470131215094395117248505053857797531025799688859043489529018492894707062235884573991139364757821841256939798230665954950011238305167848238216199941903991574673816077346757495311991290277868591667037782113475888214626538368111723249784623420154464573907048932274325137649217596706364713994218940474380731545849960159998344680561970448943440655324052475267875929141659173135721635163912061686414316597567296013007021982173518844520400845858409929520393790802292780392241890221101185589385882752693455263994206141159315701817092244766322042122319216032267289270168475755529113243829531607377206538055084724073532558919671609419568226376872661877807849237355635320115182042078675318686335260145850602723947182438020503138970845472126700982468421968322716690982424785514624231610522105022171010008420365765802038889891240874015236730887901299088383597127414947886231990541327856103734560329698945485269991578628365455139440511746706744902455406187952011432884961181974838636 20610183399557429616024583642471549180823828265131360035215166708269968409789774251343882319692131370706355984926144977311838505012331610837977048963249635347002537490848226193782917979195309402874856815602260865295162956418622058798716589875246578150317183998682800747899964874549020483860552944934350443066601339412423883954908070442362724117171542881351885264360831800211364106662854847179996096060028264622828755404948016299396642055080538737342325888119800647475453086652017411106982914828080126007979127493168153061942095553758578295213470066457725932933564088650885490590949687445423909086873553748085995435927801264417259368763257282502156900668163922959616410479401027998902609328031953845475084991074778467310394195252393587605717040024251257417385274585855983505659394205146286088607609967792885730926713481243899646173651085764395744791791190796225203133403565677915817351640846329712983676954353279766326841699307306292068889770495190691044359160148982974441587759056129339955345875741756621283577881708983735509165548555315232934954715710401341807907883982456865861344248680539301215541187430228081236782873865901479359340989139067208219297332439383300237974244262314659246972910776557888834831389031637673717721998871938446664904999054458212525875559937532998941968978520957076288174271631938719823473234133218979655967106113529163512043 33347977254852775628525379903657940602825847422462290459256998629050013705952188240345057379754011929803616342098072648768909530724269193402582943170762119154921147458341658147092815361594166453501380617972740877394962992015725673730161107750725654264988272462672643677298376162616801353558541019667383721429765711936412127639947551428796730291139077530266464844086453291613555786624324978395090491177276769676686552935973815988255685544609557230237032950355685221466592451409839252363922713058746080957990365798336001300158295495662569869887286143804483428245555378928754082257987469558899797301500092116197718685712424684571723942670306214776482038317381519665981124473619968473283340873881914005473429671636748916253834850576446062873592969165910430553106909749768045192073710802713582101614631949966404575447114327102309575694044876566688525184033081017326388722789448430609272615635052470872299378771445524532648883821626522324336179040663666446573472403978514581818794297111214064028878434661428230703146108085856397386973397792670868255069897752480017126594219242602716464068195862977321718680158275700207937765342287869802076031971563852722843528942961488322408984252682680425049011800667798762850068119919538972806105595999353394551136989595786068629610120267231944427238970099585441743313712143685426568375689539406931667399991074711138350679 53958160654410205244549963546129489783649675687593650494472165337319982115741962491688939699446143300509972327024217626080748035736600804240559992134011754501923684949189884340875733340789475856376237433575001742690125948434347732528877697625972232415305456461355444425198341037165821837419093964601734164496367051348836011594855621871159454408310620411618350108447285091824919893287179825575086587237305034299515308340921832287652327599690095967579358838475485868942045538061856663470905627886826206965969493291504154362100391049421148165100756210262209361179119467579639572848937157004323706388373645864283714121640225948988983311433563497278638938985545442625597534953020996472185950201913867850948514662711527383564229045828839650479310009190161687970492184335624028697733105007859868190222241917759290306373827808346209221867695962331084269975824271813551591856193014108525089967275898800585283055725798804298975725520933828616405068811158857137617831564127497556260382056167343403984224310403184851986723989794840132896138946347986101190024613462881358934502103225059582325412444543516622934221345705928289174548216153771281435372960702919931062826275400871622646958496944995084295984711444356651684899508951176646523827594871291841216041988650244281155485680204764943369207948620542518031487983775624146391848923672625911323367097188240301862722 87306137909262980873075343449787430386475523110055940953729163966369995821694150732033997079200155230313588669122290274849657566460869997643142935304773873656844832407531542487968548702383642309877618051547742620085088940450073406259038805376697886680293728924028088102496717199782623190977634984269117885926132763285248139234803173299956184699449697941884814952533738383438475679911504803970177078414581803976201861276895648275908013144299653197816391788831171090408637989471695915834828340945572287923959859089840155662258686545083718034988042354066692789424674846508393655106924626563223503689873737980481432807352650633560707254103869712055120977302926962291578659426640964945469291075795781856421944334348276299818063896405285713352902978356072118523599094085392073889806815810573450291836873867725694881820942135448518797561740838897772795159857352830877980578982462539134362582910951271457582434497244328831624609342560350940741247851822523584191303968106012138079176353278557468013102745064613082689870097880696530283112344140656969445094511215361376061096322467662298789480640406493944652901503981628497112313558441641083511404932266772653906355218362359945055942749627675509344996512112155414534967628870715619329933190870645235767178978246030349785095800471996887796446918720127959774801695919309572960224613212032842990767088262951440213401 141264298563673186117625306995916920170125198797649591448201329303689977937436113223722936778646298530823560996146507900930405602197470801883702927438785628158768517356721426828844282043173118166253855485122744362775214888884421138787916503002670119095599185385383532527695058236948445028396728948870852050422499814634084150829658795171115639107760318353503165060981023475263395573198684629545263665651886838275717169617817480563560340743989749165395750627306656959350683527533552579305733968832398494889929352381344310024359077594504866200088798564328902150603794314088033227955861783567547210078247383844765146928992876582549690565537433209333759916288472404917176194379661961417655241277709649707370458997059803683382292942234125363832212987546233806494091278421016102587539920818433318482059115785484985188194769943794728019429436801228857065135681624644429572435175476647659452550186850072042865490223043133130600334863494179557146316662981380721809135532233509694339558409445900871997327055467797934676594087675536663179251290488643070635119124678242734995598425692721881114893084950010567587122849687556786286861774595412364946777892969692584969181493763231567702901246572670593640981223556512066219867137821892265853760785741937076983220966896274630940581480676761831165654867340670477806289679694933719352073536884658754314134185451191742076123 228570436472936166990700650445704350556600721907705532401930493270059973759130263955756933857846453761137149665268798175780063168658340799526845862743559501815613349764252969316812830745556760476131473536670486982860303829334494545046955308379368005775892914309411620630191775436731068219374363933139969936348632577919332290064461968471071823807210016295387980013514761858701871253110189433515440744066468642251919030894713128839468353888289402363212142416137828049759321517005248495140562309777970782813889211471184465686617764139588584235076840918395594940028469160596426883062786410130770713768121121825246579736345527216110397819641302921388880893591399367208754853806302926363124532353505431563792403331408079983200356838639411077185115965902305925017690372506408176477346736629006768773895989653210680070015712079243246816991177640126629860295538977475307553014157939186793815133097801343500447924720287461962224944206054530497887564514803904306000439500339521832418734762724458340010429800532411017366464185556233193462363634629300040080213635893604111056694748160384179904373725356504512240024353669185283399175333037053448458182825236465238875536712125591512758843996200346102985977735668667480754834766692607885183693976612582312750399945142304980725677281148758718962101786060798437581091375614243292312298150096691597304901273714143182289524 369834735036609353108325957441621270726725920705355123850131822573749951696566377179479870636492752291960710661415306076710468770855811601410548790182345129974381867120974396145657112788729878642385329021793231345635518718218915683834871811382038124871492099694795153157886833673679513247771092882010821986771132392553416440894120763642187462914970334648891145074495785333965266826308874063060704409718355480527636200512530609403028694632279151528607893043444485009110005044538801074446296278610369277703818563852528775710976841734093450435165639482724497090632263474684460111018648193698317923846368505670011726665338403798660088385178736130722640809879871772125931048185964887780779773631215081271162862328467883666582649780873536441017328953448539731511781650927424279064886657447440087255955105438695665258210482023037974836420614441355486925431220602119737125449333415834453267683284651415543313414943330595092825279069548710055033881177785285027809575032573031526758293172170359212007756856000208952043058273231769856641614925117943110715332760571846846052293173853106061019266810306515079827147203356742069686037107632465813404960718206157823844718205888823080461745242773016696626958959225179546974701904514500151037454762354519389733620912038579611666258761825520550127756653401468915387381055309177011664371686981350351619035459165334924365647 598405171509545520099026607887325621283326642613060656252062315843809925455696641135236804494339206053097860326684104252490531939514152400937394652925904631789995216885227365462469943534286639118516802558463718328495822547553410228881827119761406130647385014004206773788078609110410581467145456815150791923119764970472748730958582732113259286722180350944279125088010547192667138079419063496576145153784824122779555231407243738242497048520568553891820035459582313058869326561544049569586858588388340060517707775323713241397594605873682034670242480401120092030660732635280886994081434603829088637614489627495258306401683931014770486204820039052111521703471271139334685901992267814143904305984720512834955265659875963649783006619512947518202444919350845656529472023433832455542233394076446856029851095091906345328226194102281221653411792081482116785726759579595044678463491355021247082816382452759043761339663618057055050223275603240552921445692589189333810014532912553359177027934894817552018186656532619969409522458788003050103978559747243150795546396465450957108987922013490240923640535663019592067171557025927353085212440669519261863143543442623062720254918014414593220589238973362799612936694893847027729536671207108036221148738967101702484020857180884592391936042974279269089858439462267352968472430923420303976669837078041948923936732879478106655171 968239906546154873207352565328946892010052563318415780102194138417559877152263018314716675130831958345058570988099410329201000710369964002347943443108249761764377084006201761608127056323016517760902131580256949674131341265772325912716698931143444255518877113699001926945965442784090094714916549697161613909890897363026165171852703495755446749637150685593170270162506332526632404905727937559636849563503179603307191431919774347645525743152847705420427928503026798067979331606082850644033154866998709338221526339176242017108571447607775485105408119883844589121292996109965347105100082797527406561460858133165270033067022334813430574589998775182834162513351142911460616950178232701924684079615935594106118127988343847316365656400386483959219773872799385388041253674361256734607120051523886943285806200530602010586436676125319196489832406522837603711157980181714781803912824770855700350499667104174587074754606948652147875502345151950607955326870374474361619589565485584885935321107065176764025943512532828921452580732019772906745593484865186261510879157037297803161281095866596301942907345969534671894318760382669422771249548301985075268104261648780886564973123903237673682334481746379496239895654119026574704238575721608187258603501321621092217641769219464204058194804799799819217615092863736268355853486232597315641041524059392300542972192044813031020818 1566645078055700393306379173216272513293379205931476436354256454261369802607959659449953479625171164398156431314783514581691532649884116403285338096034154393554372300891429127070596999857303156879418934138720668002627163813325736141598526050904850386166262127703208700734044051894500676182062006512312405833010662333498913902811286227868706036359331036537449395250516879719299542985147001056212994717288003726086746663327018085888022791673416259312247963962609111126848658167626900213620013455387049398739234114499955258506166053481457519775650600284964681151953728745246234099181517401356495199075347760660528339468706265828201060794818814234945684216822414050795302852170500516068588385600656106941073393648219810966148663019899431477422218792150231044570725697795089190149353445600333799315657295622508355914662870227600418143244198604319720496884739761309826482376316125876947433316049556933630836094270566709202925725620755191160876772562963663695429604098398138245112349041959994316044130169065448890862103190807775956849572044612429412306425553502748760270269017880086542866547881632554263961490317408596775856461988971504337131247805091403949285228041917652266902923720719742295852832349012873602433775246928716223479752240288722794701662626400348796450130847774079088307473532326003621324325917156017619617711361137434249466908924924291137675989 2534884984601855266513731738545219405303431769249892216456450592678929679760222677764670154756003122743215002302882924910892533360254080405633281539142404155318749384897630888678724056180319674640321065718977617676758505079098062054315224982048294641685139241402210627680009494678590770896978556209474019742901559696525079074663989723624152785996481722130619665413023212245931947890874938615849844280791183329393938095246792433533548534826263964732675892465635909194827989773709750857653168322385758736960760453676197275614737501089233004881058720168809270273246724855211581204281600198883901760536205893825798372535728600641631635384817589417779846730173556962255919802348733217993272465216591701047191521636563658282514319420285915436641992664949616432611979372156345924756473497124220742601463496153110366501099546352919614633076605127157324208042719943024608286289140896732647783815716661108217910848877515361350801227965907141768832099433338138057049193663883723131047670149025171080070073681598277812314683922827548863595165529477615673817304710540046563431550113746682844809455227602088935855809077791266198627711537273489412399352066740184835850201165820889940585258202466121792092728003131900177138013822650324410738355741610343886919304395619813000508325652573878907525088625189739889680179403388614935258752885196826550009881116969104168696807 4101530062657555659820110911761491918596810975181368652810707046940299482368182337214623634381174287141371433617666439492584066010138196808918619635176558548873121685789060015749321056037622831519739999857698285679385668892423798195913751032953145027851401369105419328414053546573091447079040562721786425575912222030023992977475275951492858822355812758668069060663540091965231490876021939672062838998079187055480684758573810519421571326499680224044923856428245020321676647941336651071273181777772808135699994568176152534120903554570690524656709320453773951425200453600457815303463117600240396959611553654486326712004434866469832696179636403652725530946995971013051222654519233734061860850817247807988264915284783469248662982440185346914064211457099847477182705069951435114905826942724554541917120791775618722415762416580520032776320803731477044704927459704334434768665457022609595217131766218041848746943148082070553726953586662332929708871996301801752478797762281861376160019190985165396114203850663726703176787113635324820444737574090045086123730264042795323701819131626769387676003109234643199817299395199862974484173526244993749530599871831588785135429207738542207488181923185864087945560352144773779571789069579040634218107981899066681620967022020161796958456500347957995832562157515743511004505320544632554876464246334260799476790041893395306372796 6636415047259410926333842650306711323900242744431260869267157639619229162128405014979293789137177409884586435920549364403476599370392277214551901174318962704191871070686690904428045112217942506160061065576675903356144173971521860250228976015001439669536540610507629956094063041251682217976019118931260445318813781726549072052139265675117011608352294480798688726076563304211163438766896878287912683278870370384874622853820602952955119861325944188777599748893880929516504637715046401928926350100158566872660755021852349809735641055659923529537768040622583221698447178455669396507744717799124298720147759548312125084540163467111464331564453993070505377677169527975307142456867966952055133316033839509035456436921347127531177301860471262350706204122049463909794684442107781039662300439848775284518584287928729088916861962933439647409397408858634368912970179647359043054954597919342243000947482879150066657792025597431904528181552569474698540971429639939809527991426165584507207689340010336476184277532262004515491471036462873684039903103567660759941034974582841887133369245373452232485458336836732135673108472991129173111885063518483161929951938571773620985630373559432148073440125651985880038288355276673956709802892229365044956463723509410568540271417639974797466782152921836903357650782705483400684684723933247490135217131531087349486671158862499475069603 10737945109916966586153953562068203242497053719612629522077864686559528644496587352193917423518351697025957869538215803896060665380530474023470520809495521253064992756475750920177366168255565337679801065434374189035529842863945658446142727047954584697387941979613049284508116587824773665055059681653046870894726003756573065029614541626609870430708107239466757786740103396176394929642918817959975522276949557440355307612394413472376691187825624412822523605322125949838181285656383053000199531877931375008360749590028502343856544610230614054194477361076357173123647632056127211811207835399364695679759313202798451796544598333581297027744090396723230908624165498988358365111387200686116994166851087317023721352206130596779840284300656609264770415579149311386977389512059216154568127382573329826435705079704347811332624379513959680185718212590111413617897639351693477823620054941951838218079249097191915404735173679502458255135139231807628249843425941741562006789188447445883367708530995501872298481382925731218668258150098198504484640677657705846064765238625637210835188377000221620161461446071375335490407868190992147596058589763476911460551810403362406121059581297974355561622048837849967983848707421447736281591961808405679174571705408477250161238439660136594425238653269794899190212940221226911689190044477880045011681377865348148963461200755894781442399 17374360157176377512487796212374914566397296464043890391345022326178757806624992367173211212655529106910544305458765168299537264750922751238022421983814483957256863827162441824605411280473507843839862131011050092391674016835467518696371703062956024366924482590120679240602179629076455883031078800584307316213539785483122137081753807301726882039060401720265446512816666700387558368409815696247888205555819927825229930466215016425331811049151568601600123354216006879354685923371429454929125881978089941881021504611880852153592185665890537583732245401698940394822094810511796608318952553198488994399907072751110576881084761800692761359308544389793736286301335026963665507568255167638172127482884926826059177789127477724311017586161127871615476619701198775296772073954166997194230427822422105110954289367633076900249486342447399327595115621448745782530867818999052520878574652861294081219026731976341982062527199276934362783316691801282326790814855581681371534780614613030390575397871005838348482758915187735734159729186561072188524543781225366606005800213208479097968557622373673852646919782908107471163516341182121320707943653281960073390503748975136027106689954857406503635062174489835848022137062698121692991394854037770724131035428917887818701509857300111391892020806191631802547863722926710312373874768411127535146898509396435498450132359618394256512002 28112305267093344098641749774443117808894350183656519913422887012738286451121579719367128636173880803936502174996980972195597930131453225261492942793310005210321856583638192744782777448729073181519663196445424281427203859699413177142514430110910609064312424569733728525110296216901229548086138482237354187108265789239695202111368348928336752469768508959732204299556770096563953298052734514207863727832769485265585238078609429897708502236977193014422646959538132829192867209027812507929325413856021316889382254201909354497448730276121151637926722762775297567945742442567923820130160388597853690079666385953909028677629360134274058387052634786516967194925500525952023872679642368324289121649736014143082899141333608321090857870461784480880247035280348086683749463466226213348798555204995434937389994447337424711582110721961359007780833834038857196148765458350745998702194707803245919437105981073533897467262372956436821038451831033089955040658281523422933541569803060476273943106402001340220781240298113466952827987336659270693009184458883072452070565451834116308803745999373895472808381228979482806653924209373113468304002243045436984851055559378498433227749536155380859196684223327685816005985770119569429272986815846176403305607134326365068862748296960247986317259459461426701738076663147937224063064812889007580158579887261783647413593560374289037954401 45486665424269721611129545986818032375291646647700410304767909338917044257746572086540339848829409910847046480455746140495135194882375976499515364777124489167578720410800634569388188729202581025359525327456474373818877876534880695838886133173866633431236907159854407765712475845977685431117217282821661503321805574722817339193122156230063634508828910679997650812373436796951511666462550210455751933388589413090815168544824446323040313286128761616022770313754139708547553132399241962858451295834111258770403758813790206651040915942011689221658968164474237962767837253079720428449112941796342684479573458705019605558714121934966819746361179176310703481226835552915689380247897535962461249132620940969142076930461086045401875456622912352495723654981546861980521537420393210543028983027417540048344283814970501611831597064408758335375949455487602978679633277349798519580769360664540000656132713049875879529789572233371183821768522834372281831473137105104305076350417673506664518504273007178569263999213301202686987716523220342881533728240108439058076365665042595406772303621747569325455301011887590277817440550555234789011945896327397058241559308353634460334439491012787362831746397817521664028122832817691122264381669883947127436642563244252887564258154260359378209280265653058504285940386074647536436939581300135115305478396658219145863725919992683294466403 73598970691363065709771295761261150184185996831356930218190796351655330708868151805907468485003290714783548655452727112690733125013829201761008307570434494377900576994438827314170966177931654206879188523901898655246081736234293872981400563284777242495549331729588136290822772062878914979203355765059015690430071363962512541304490505158400386978597419639729855111930206893515464964515284724663615661221358898356400406623433876220748815523105954630445417273292272537740420341427054470787776709690132575659786013015699561148489646218132840859585690927249535530713579695647644248579273330394196374559239844658928634236343482069240878133413813962827670676152336078867713252927539904286750370782356955112224976071794694366492733327084696833375970690261894948664271000886619423891827538232412974985734278262307926323413707786370117343156783289526460174828398735700544518282964068467785920093238694123409776997051945189808004860220353867462236872131418628527238617920220733982938461610675008518790045239511414669639815703859879613574542912698991511510146931116876711715576049621121464798263682240867073084471364759928348257315948139372834043092614867732132893562189027168168222028430621145207480034108602937260551537368485730123530742249697570617956427006451220607364526539725114485206024017049222584760500004394189142695464058283920002793277319480366972332420804 119085636115632787320900841748079182559477643479057340522958705690572374966614723892447808333832700625630595135908473253185868319896205178260523672347558983545479297405239461883559154907134235232238713851358373029064959612769174568820286696458643875926786238889442544056535247908856600410320573047880677193751876938685329880497612661388464021487426330319727505924303643690466976630977834935119367594609948311447215575168258322543789128809234716246468187587046412246287973473826296433646228005524243834430189771829489767799530562160144530081244659091723773493481416948727364677028386272190539059038813303363948239795057604004207697879774993139138374157379171631783402633175437440249211619914977896081367053002255780411894608783707609185871694345243441810644792538307012634434856521259830515034078562077278427935245304850778875678532732745014063153508032013050343037863733429132325920749371407173285656526841517423179188681988876701834518703604555733631543694270638407489602980114948015697359309238724715872326803420383099956456076640939099950568223296781919307122348353242869034123718983252754663362288805310483583046327894035700231101334174176085767353896628518180955584860177018962729144062231435754951673801750155614070658178892260814870843991264605480966742735819990767543710309957435297232296936943975489277810769536680578221939141045400359655626887207 192684606806995853030672137509340332743663640310414270741149502042227705675482875698355276818835991340414143791361200365876601444910034380021531979917993477923379874399678289197730121085065889439117902375260271684311041349003468441801687259743421118422335570619030680347358019971735515389523928812939692884181948302647842421802103166546864408466023749959457361036233850583982441595493119659782983255831307209803615981791692198764537944332340670876913604860338684784028393815253350904434004715214376410089975784845189328948020208378277370940830350018973309024194996644375008925607659602584735433598053148022876874031401086073448576013188807101966044833531507710651115886102977344535961990697334851193592029074050474778387342110792306019247665035505336759309063539193632058326684059492243490019812840339586354258659012637148993021689516034540523328336430748750887556146697497600111840842610101296695433523893462612987193542209230569296755575735974362158782312190859141472541441725623024216149354478236130541966619124242979570030619553638091462078370227898796018837924402863990498921982665493621736446760170070411931303643842175073065144426789043817900247458817545349123806888607640107936624096340038692212225339118641344194188921141958385488800418271056701574107262359715882028916333974484519817057436948369678420506233594964498224732418364880726627959308011 311770242922628640351572979257419515303141283789471611264108207732800080642097599590803085152668691966044738927269673619062469764806239558282055652265552461468859171804917751081289275992200124671356616226618644713376000961772643010621973956202064994349121809508473224403893267880592115799844501860820370077933825241333172302299715827935328429953450080279184866960537494274449418226470954594902350850441255521250831556959950521308327073141575387123381792447385097030316367289079647338080232720738620244520165556674679096747550770538421901022075009110697082517676413593102373602636045874775274492636866451386825113826458690077656273892963800241104418990910679342434518519278414784785173610612312747274959082076306255190281950894499915205119359380748778569953856077500644692761540580752074005053891402416864782193904317487927868700222248779554586481844462761801230594010430926732437761591981508469981090050734980036166382224198107271131274279340530095790326006461497548962144421840571039913508663716960846414293422544626079526486696194577191412646593524680715325960272756106859533045701648746376399809048975380895514349971736210773296245760963219903667601355446063530079391748784659070665768158571474447163899140868796958264847100034219200359644409535662182540849998179706649572626643931919817049354373892345167698317003131645076446671559410281086283586195218 504454849729624493382245116766759848046804924099885882005257709775027786317580475289158361971504683306458882718630873984939071209716273938303587632183545939392239046204596040279019397077266014110474518601878916397687042310776111452423661215945486112771457380127503904751251287852327631189368430673760062962115773543981014724101818994482192838419473830238642227996771344858431859821964074254685334106272562731054447538751642720072865017473916058000295397307723781814344761104332998242514237435952996654610141341519868425695570978916699271962905359129670391541871410237477382528243705477360009926234919599409701987857859776151104849906152607343070463824442187053085634405381392129321135601309647598468551111150356729968669293005292221224367024416254115329262919616694276751088224640244317495073704242756451136452563330125076861721911764814095109810180893510552118150157128424332549602434591609766676523574628442649153575766407337840428029855076504457949108318652356690434685863566194064129658018195196976956260041668869059096517315748215282874724963752579511344798197158970850031967684314239998136255809145451307445653615578385846361390187752263721567848814263608879203198637392299178602392254911513139376124479987438302459036021176177585848444827806718884114957260539422531601542977906404336866411810840714846118823236726609574671403977775161812911545503229 816225092652253133733818096024179363349946207889357493269365917507827866959678074879961447124173375272503621645900547604001540974522513496585643284449098400861098218009513791360308673069466138781831134828497561111063043272548754463045635172147551107120579189635977129155144555732919746989212932534580433040049598785314187026401534822417521268372923910517827094957308839132881278048435028849587684956713818252305279095711593241381192090615491445123677189755108878844661128393412645580594470156691616899130306898194547522443121749455121172984980368240367474059547823830579756130879751352135284418871786050796527101684318466228761123799116407584174882815352866395520152924659806914106309211921960345743510193226662985158951243899792136429486383797002893899216775694194921443849765220996391500127595645173315918646467647613004730422134013593649696292025356272353348744167559351064987364026573118236657613625363422685319957990605445111559304134417034553739434325113854239396830285406765104043166681912157823370553464213495138623004011942792474287371557277260226670758469915077709565013385962986374536064858120832202960003587314596619657635948715483625235450169709672409282590386176958249268160413482987586540023620856235260723883121210396786208089237342381066655807258719129181174169621838324153915766184733060013817140239858254651118075537185442899195131698447 1320679942381877627116063212790939211396751131989243375274623627282855653277258550169119809095678058578962504364531421588940612184238787434889230916632644340253337264214109831639328070146732152892305653430376477508750085583324865915469296388093037219892036569763481033906395843585247378178581363208340496002165372329295201750503353816899714106792397740756469322954080183991313137870399103104273019062986380983359726634463235961454057108089407503123972587062832660659005889497745643823108707592644613553740448239714415948138692728371820444947885727370037865601419234068057138659123456829495294345106705650206229089542178242379865973705269014927245346639795053448605787330041199043427444813231607944212061304377019715127620536905084357653853408213257009228479695310889198194937989861240708995201299887929767055099030977738081592144045778407744806102206249782905466894324687775397536966461164728003334137199991865334473533757012782951987333989493539011688542643766210929831516148972959168172824700107354800326813505882364197719521327691007757162096521029839738015556667074048559596981070277226372672320667266283510405657202892982466019026136467747346803298983973281288485789023569257427870552668394500725916148100843673563182919142386574372056534065149099950770764519258551712775712599744728490782177995573774859935963476584864225789479514960604712106677201676 2136905035034130760849881308815118574746697339878600868543989544790683520236936625049081256219851433851466126010431969192942153158761300931474874201081742741114435482223623622999636743216198291674136788258874038619813128855873620378514931560240588327012615759399458163061540399318167125167794295742920929042214971114609388776904888639317235375165321651274296417911389023124194415918834131953860704019700199235665005730174829202835249198704898948247649776817941539503667017891158289403703177749336230452870755137908963470581814477826941617932866095610405339660967057898636894790003208181630578763978491701002756191226496708608627097504385422511420229455147919844125940254701005957533754025153568289955571497603682700286571780804876494083339792010259903127696471005084119638787755082237100495328895533103082973745498625351086322566179792001394502394231606055258815638492247126462524330487737846239991750825355288019793491747618228063546638123910573565427976968880065169228346434379724272215991382019512623697366970095859336342525339633800231449468078307099964686315136989126269161994456240212747208385525387115713365660790207579085676662085183230972038749153682953697768379409746215677138713081877488312456171721699908823906802263596971158264623302491481017426571777977680893949882221583052644697944180306834873753103716443118876907555052146047611301808900123 3457584977416008387965944521606057786143448471867844243818613172073539173514195175218201065315529492430428630374963390781882765343000088366364105117714387081367772746437733454638964813362930444566442441689250516128563214439198486293984227948333625546904652329162939196967936242903414503346375658951261425044380343443904590527408242456216949481957719392030765740865469207115507553789233235058133723082686580219024732364638065164289306306794306451371622363880774200162672907388903933226811885341980844006611203377623379418720507206198762062880751822980443205262386291966694033449126665011125873109085197351208985280768674950988493071209654437438665576094942973292731727584742205000961198838385176234167632801980702415414192317709960851737193200223516912356176166315973317833725744943477809490530195421032850028844529603089167914710225570409139308496437855838164282532816934901860061296948902574243325888025347153354267025504631011015533972113404112577116519612646276099059862583352683440388816082126867424024180475978223534062046667324807988611564599336939702701871804063174828758975526517439119880706192653399223771317993100561551695688221650978318842048137656234986254168433315473105009265750271989038372319822543582387089721405983545530321157367640580968197336297236232606725594821327781135480122175880609733689067193027983102697034567106652323408486101799 5594490012450139148815825830421176360890145811746445112362602716864222693751131800267282321535380926281894756385395359974824918501761389297838979318796129822482208228661357077638601556579128736240579229948124554748376343295072106672499159508574213873917268088562397360029476642221581628514169954694182354086595314558513979304313131095534184857123041043305062158776858230239701969708067367011994427102386779454689738094812894367124555505499205399619272140698715739666339925280062222630515063091317074459481958515532342889302321684025703680813617918590848544923353349865330928239129873192756451873063689052211741471995171659597120168714039859950085805550090893136857667839443210958494952863538744524123204299584385115700764098514837345820532992233776815483872637321057437472513500025714909985859090954135933002590028228440254237276405362410533810890669461893423098171309182028322585627436640420483317638850702441374060517252249239079080610237314686142544496581526341268288209017732407712604807464146380047721547446074082870404572006958608220061032677644039667388186941052301097920969982757651867089091718040514937136978783308140637372350306834209290880797291339188684022547843061688782147978832149477350828491544243491210996523669580516688585780670132061985623908075213913500675477042910833780178066356187444607442170909471101979604589619252699934710295001922 9052074989866147536781770352027234147033594283614289356181215888937761867265326975485483386850910418712323386760358750756707683844761477664203084436510516903849980975099090532277566369942059180807021671637375070876939557734270592966483387456907839420821920417725336556997412885124996131860545613645443779130975658002418569831721373551751134339080760435335827899642327437355209523497300602070128150185073359673714470459450959531413861812293511850990894504579489939829012832668966155857326948433297918466093161893155722308022828890224465743694369741571291750185739641832024961688256538203882324982148886403420726752763846610585613239923694297388751381645033866429589395424185415959456151701923920758290837101565087531114956416224798197557726192457293727840048803637030755306239244969192719476389286375168783031434557831529422151986630932819673119387107317731587380704126116930182646924385542994726643526876049594728327542756880250094614582350718798719661016194172617367348071601085091152993623546273247471745727922052306404466618674283416208672597276980979370090058745115475926679945509275090986969797910693914160908296776408702189068038528485187609722845428995423670276716276377161887157244582421466389200811366787073598086245075564062218906938037772642953821244372450146107401071864238614915658188532068054341131238102499085082301624186359352258118781103721 14646565002316286685597596182448410507923740095360734468543818605801984561016458775752765708386291344994218143145754110731532602346522866962042063755306646726332189203760447609916167926521187917047600901585499625625315901029342699638982546965482053294739188506287733917026889527346577760374715568339626133217570972560932549136034504647285319196203801478640890058419185667594911493205367969082122577287460139128404208554263853898538417317792717250610166645278205679495352757949028378487842011524614992925575120408688065197325150574250169424507987660162140295109092991697355889927386411396638776855212575455632468224759018270182733408637734157338837187195124759566447063263628626917951104565462665282414041401149472646815720514739635543378259184691070543323921440958088192778752744994907629462248377329304716034024586059969676389263036295230206930277776779625010478875435298958505232551822183415209961165726752036102388060009129489173695192588033484862205512775698958635636280618817498865598431010419627519467275368126389274871190681242024428733629954625019037478245686167777024600915492032742854058889628734429098045275559716842826440388835319396900603642720334612354299264119438850669305223414570943740029302911030564809082768745144578907492718707904704939445152447664059608076548907149448695836254888255498948573409011970187061906213805612052192829076105643 23698639992182434222379366534475644654957334378975023824725034494739746428281785751238249095237201763706541529906112861488240286191284344626245148191817163630182170178859538142193734296463247097854622573222874696502255458763613292605465934422389892715561108924013070474024302412471573892235261181985069912348546630563351118967755878199036453535284561913976717958061513104950121016702668571152250727472533498802118679013714813429952279130086229101601061149857695619324365590617994534345168959957912911391668282301843787505347979464474635168202357401733432045294832633529380851615642949600521101837361461859053194977522864880768346648561428454727588568840158625996036458687814042877407256267386586040704878502714560177930676930964433740935985377148364271163970244595118948084991989964100348938637663704473499065459143891499098541249667228049880049664884097356597859579561415888687879476207726409936604692602801630830715602766009739268309774938752283581866528969871576002984352219902590018592054556692874991213003290178695679337809355525440637406227231605998407568304431283252951280861001307833841028687539428343258953572336125545015508427363804584510326488149330036024575980395816012556462467996992410129230114277817638407169013820708641126399656745677347893266396820114205715477620771388063611494443420323553289704647114469272144207837991971404450947857209364 38345204994498720907976962716924055162881074474335758293268853100541730989298244526991014803623493108700759673051866972219772888537807211588287211947123810356514359382619985752109902222984435014902223474808374322127571359792955992244448481387871946010300297430300804391051191939818151652609976750324696045566117603124283668103790382846321772731488363392617608016480698772545032509908036540234373304759993637930522887567978667328490696447878946352211227795135901298819718348567022912833010971482527904317243402710531852702673130038724804592710345061895572340403925625226736741543029360997159878692574037314685663202281883150951080057199162612066425756035283385562483521951442669795358360832849251323118919903864032824746397445704069284314244561839434814487891685553207140863744734959007978400886041033778215099483729951468774930512703523280086979942660876981608338454996714847193112028029909825146565858329553666933103662775139228442004967526785768444072041745570534638620632838720088884190485567112502510680278658305084954209000036767465066139857186231017445046550117451029975881776493340576695087577168162772356998847895842387841948816199123981410930130869664648378875244515254863225767691411563353869259417188848203216251782565853220033892375453582052832711549267778265323554169678537512307330698308579052238278056126439459206114051797583456643776933315007 62043844986681155130356329251399699817838408853310782117993887595281477417580030278229263898860694872407301202957979833708013174729091556214532360138940973986696529561479523894303636519447682112756846048031249018629826818556569284849914415810261838725861406354313874865075494352289725544845237932309765957914664233687634787071546261045358226266772925306594325974542211877495153526610705111386624032232527136732641566581693480758442975577965175453812288944993596918144083939185017447178179931440440815708911685012375640208021109503199439760912702463629004385698758258756117593158672310597680980529935499173738858179804748031719426705760591066794014324875442011558519980639256712672765617100235837363823798406578593002677074376668503025250229938987799085651861930148326088948736724923108327339523704738251714164942873842967873471762370751329967029607544974338206198034558130735880991504237636235083170550932355297763819265541148967710314742465538052025938570715442110641604985058622678902782540123805377501893281948483780633546809392292905703546084417837015852614854548734282927162637494648410536116264707591115615952420231967932857457243562928565921256619018994684403451224911070875782230159408555763998489531466665841623420796386561861160292032199259400725977946087892471039031790449925575918825141728902605527982703240908731350321889789554861094724790524371 100389049981179876038333291968323754980719483327646540411262740695823208406878274805220278702484187981108060876009846805927786063266898767802819572086064784343210888944099509646413538742432117127659069522839623340757398178349525277094362897198133784736161703784614679256126686292107877197455214682634462003480781836811918455175336643891679998998261288699211933991022910650040186036518741651620997336992520774663164454149672148086933672025844121806023516740129498216963802287752040360011190902922968720026155087722907492910694239541924244353623047525524576726102683883982854334701701671594840859222509536488424521382086631182670506762959753678860440080910725397121003502590699382468123977933085088686942718310442625827423471822372572309564474500827233900139753615701533229812481459882116305740409745772029929264426603794436648402275074274610054009550205851319814536489554845583074103532267546060229736409261908964696922928316288196152319709992323820470010612461012645280225617897342767786973025690917880012573560606788865587755809429060370769685941604068033297661404666185312903044413987988987231203841875753887972951268127810320699406059762052547332186749888659332782326469426325739007997850820119117867748948655514044839672578952415081194184407652841453558689495355670736362585960128463088226155840037481657766260759367348190556435941587138317738501723839378 162432894967861031168689621219723454798557892180957322529256628291104685824458305083449542601344882853515362078967826639635799237995990324017351932225005758329907418505579033540717175261879799240415915570870872359387224996906094561944277313008395623462023110138928554121202180644397602742300452614944227961395446070499553242246882904937038225265034214005806259965565122527535339563129446763007621369225047911395806020731365628845376647603809297259835805685123095135107886226937057807189370834363409535735066772735283133118715349045123684114535749989153581111801442142738971927860373982192521839752445035662163379561891379214389933468720344745654454405786167408679523483229956095140889595033320926050766516717021218830100546199041075334814704439815032985791615545849859318761218184805224633079933450510281643429369477637404521874037445025940021039157750825658020734524112976318955095036505182295312906960194264262460742193857437163862634452457861872495949183176454755921830602955965446689755565814723257514466842555272646221302618821353276473232026021905049150276259214919595830207051482637397767320106583345003588903688359778253556863303324981113253443368907654017185777694337396614790228010228674881866238480122179886463093375338976942354476439852100854284667441443563207401617750578388664144980981766384263294243462608256921906757831376693178833226514363749 262821944949040907207022913188047209779277375508603862940519368986927894231336579888669821303829070834623422954977673445563585301262889091820171504311070542673118307449678543187130714004311916368074985093710495700144623175255619839038640210206529408198184813923543233377328866936505479939755667297578689964876227907311471697422219548828718224263295502705018193956588033177575525599648188414628618706217568686058970474881037776932310319629653419065859322425252593352071688514689098167200561737286378255761221860458190626029409588587047928468158797514678157837904126026721826262562075653787362698974954572150587900943978010397060440231680098424514894486696892805800526985820655477609013572966406014737709235027463844657524018021413647644379178940642266885931369161551392548573699644687340938820343196282311572693796081431841170276312519300550075048707956676977835271013667821902029198568772728355542643369456173227157665122173725360014954162450185692965959795637467401202056220853308214476728591505641137527040403162061511809058428250413647242917967625973082447937663881104908733251465470626384998523948459098891561854956487588574256269363087033660585630118796313349968104163763722353798225861048793999733987428777693931302765954291392023548660847504942307843356936799233943764203710706851752371136821803865921060504221975605112463193772963831496571728238203127 425254839916901938375712534407770664577835267689561185469775997278032580055794884972119363905173953688138785033945500085199384539258879415837523436536076301003025725955257576727847889266191715608490900664581368059531848172161714400982917523214925031660207924062471787498531047580903082682056119912522917926271673977811024939669102453765756449528329716710824453922153155705110865162777635177636240075442616597454776495612403405777686967233462716325695128110375688487179574741626155974389932571649787791496288633193473759148124937632171612582694547503831738949705568169460798190422449635979884538727399607812751280505869389611450373700400443170169348892483060214480050469050611572749903167999726940788475751744485063487624564220454722979193883380457299871722984707401251867334917829492565571900276646792593216123165559069245692150349964326490096087865707502635856005537780798220984293605277910650855550329650437489618407316031162523877588614908047565461908978813922157123886823809273661166484157320364395041507245717334158030361047071766923716149993647878131598213923096024504563458516953263782765844055042443895150758644847366827813132666412014773839073487703967367153881858101118968588453871277468881600225908899873817765859329630368965903137287357043162128024378242797151165821461285240416516117803570250184354747684583862034369951604340524675404954752566876 688076784865942845582735447595817874357112643198165048410295366264960474287131464860789185209003024522762207988923173530762969840521768507657694940847146843676144033404936119914978603270503631976565885758291863759676471347417334240021557733421454439858392737986015020875859914517408562621811787210101607891147901885122496637091322002594474673791625219415842647878741188882686390762425823592264858781660185283513746970493441182709997286863116135391554450535628281839251263256315254141590494308936166047257510493651664385177534526219219541050853345018509896787609694196182624452984525289767247237702354179963339181449847400008510813932080541594684243379179953020280577454871267050358916740966132955526184986771948908145148582241868370623573062321099566757654353868952644415908617474179906510720619843074904788816961640501086862426662483627040171136573664179613691276551448620123013492174050639006398193699106610716776072438204887883892542777358233258427868774451389558325943044662581875643212748826005532568547648879395669839419475322180570959067961273851214046151586977129413296709982423890167764368003501542786712613601334955402069402029499048434424703606500280717121986021864841322386679732326262881334213337677567749068625283921760989451798134861985469971381315042031094930025171992092168887254625374116105415251906559467146833145377304356171976682990770003 1113331624782844783958447982003588538934947910887726233880071363542993054342926349832908549114176978210900993022868673615962354379780647923495218377383223144679169759360193696642826492536695347585056786422873231819208319519579048641004475256636379471518600662048486808374390962098311645303867907122624525817419575862933521576760424456360231123319954936126667101800894344587797255925203458769901098857102801880968523466105844588487684254096578851717249578646003970326430837997941410115980426880585953838753799126845138144325659463851391153633547892522341635737315262365643422643406974925747131776429753787776090461955716789619961187632480984764853592271663013234760627923921878623108819908965859896314660738516433971632773146462323093602766945701556866629377338576353896283243535303672472082620896489867498004940127199570332554577012447953530267224439371682249547282089229418343997785779328549657253744028757048206394479754236050407770131392266280823889777753265311715449829868471855536809696906146369927610054894596729827869780522393947494675217954921729345644365510073153917860168499377153950530212058543986681863372246182322229882534695911063208263777094204248084275867879965960290975133603603731762934439246577441566834484613552129955354935422219028632099405693284828246095846633277332585403372428944366289769999591143329181203096981644880847381637743336879 1801408409648787629541183429599406413292060554085891282290366729807953528630057814693697734323180002733663201011791847146725324220302416431152913318230369988355313792765129816557805095807198979561622672181165095578884790866996382881026032990057833911376993400034501829250250876615720207925679694332726133708567477748056018213851746458954705797111580155542509749679635533470483646687629282362165957638762987164482270436599285771197681540959694987108804029181632252165682101254256664257570921189522119886011309620496802529503193990070610694684401237540851532524924956561826047096391500215514379014132107967739429643405564189628472001564561526359537835650842966255041205378793145673467736649931992851840845725288382879777921728704191464226340008022656433387031692445306540699152152777852378593341516332942402793757088840071419417003674931580570438361013035861863238558640678038467011277953379188663651937727863658923170552192440938291662674169624514082317646527716701273775772913134437412452909654972375460178602543476125497709199997716128065634285916195580559690517097050283331156878481801044118294580062045529468575985847517277631951936725410111642688480700704528801397853901830801613361813335929994644268652584255009315903109897473890944806733557081014102070787008326859341025871805269424754290627054318482395185251497702796328036242358949237019358320734106882 2914740034431632413499631411602994952227008464973617516170438093350946582972984164526606283437356980944564194034660520762687678600083064354648131695613593133034483552125323513200631588343894327146679458604038327398093110386575431522030508246694213382895594062082988637624641838714031853229547601455350659525987053610989539790612170915314936920431535091669176851480529878058280902612832741132067056495865789045450793902705130359685365795056273838826053607827636222492112939252198074373551348070108073724765108747341940673828853453922001848317949130063193168262240218927469469739798475141261510790561861755515520105361280979248433189197042511124391427922505979489801833302715024296576556558897852748155506463804816851410694875166514557829106953724213300016409031021660436982395688081524850675962412822809900798697216039641751971580687379534100705585452407544112785840729907456811009063732707738320905681756620707129565031946676988699432805561890794906207424280982012989225602781606292949262606561118745387788657438072855325578980520110075560309503871117309905334882607123437249017046981178198068824792120589516150439358093699599861834471421321174850952257794908776885673721781796761904336946939533726407203091830832450882737594511026020900161668979300042734170192701611687587121718438546757339693999483262848684955251088846125509239339340594117866739958477443761 4716148444080420043040814841202401365519069019059508798460804823158900111603041979220304017760536983678227395046452367909413002820385480785801045013843963121389797344890453329758436684151093306708302130785203422976977901253571814403056541236752047294272587462117490466874892715329752061155227295788076793234554531359045558004463917374269642717543115247211686601160165411528764549300462023494233014134628776209933064339304416130883047336015968825934857637009268474657795040506454738631122269259630193610776418367838743203332047443992612543002350367604044700787165175489295516836189975356775889804693969723254949748766845168876905190761604037483929263573348945744843038681508169970044293208829845599996352189093199731188616603870706022055446961746869733403440723466966977681547840859377229269303929155752303592454304879713171388584362311114671143946465443405976024399370585495278020341686086926984557619484484366052735584139117926991095479731515308988525070808698714263001375694740730361715516216091120847967259981548980823288180517826203625943789787312890465025399704173720580173925462979242187119372182635045619015343941216877493786408146731286493640738495613305687071575683627563517698760275463721051471744415087460198640704408499911844968402536381056836240979709938546928147590243816182093984626537581331080140502586548921837275581699543354886098279211550643 7630888478512052456540446252805396317746077484033126314631242916509846694576026143746910301197893964622791589081112888672100681420468545140449176709457556254424280897015776842959068272494987633854981589389241750375071011640147245925087049483446260677168181524200479104499534554043783914384774897243427452760541584970035097795076088289584579637974650338880863452640695289587045451913294764626300070630494565255383858242009546490568413131072242664760911244836904697149907979758652813004673617329738267335541527115180683877160900897914614391320299497667237869049405394416764986575988450498037400595255831478770469854128126148125338379958646548608320691495854925234644871984223194266620849767727698348151858652898016582599311479037220579884553915471083033419849754488627414663943528940902079945266341978562204391151520919354923360165049690648771849531917850950088810240100492952089029405418794665305463301241105073182300616085794915690528285293406103894732495089680727252226978476347023310978122777209866235755917419621836148867161037936279186253293658430200370360282311297157829190972444157440255944164303224561769454702034916477355620879568052461344592996290522082572745297465424325422035707214997447458674836245919911081378298919525932745130071515681099570411172411550234515269308682362939433678626020844179765095753675395047346514921040137472752838237688994404 12347036922592472499581261094007797683265146503092635113092047739668746806179068122967214318958430948301018984127565256581513684240854025926250221723301519375814078241906230172717504956646080940563283720174445173352048912893719060328143590720198307971440768986317969571374427269373535975540002193031504245995096116329080655799540005663854222355517765586092550053800860701115810001213756788120533084765123341465316922581313962621451460467088211490695768881846173171807703020265107551635795886589368460946317945483019427080492948341907226934322649865271282569836570569906060503412178425854813290399949801202025419602894971317002243570720250586092249955069203870979487910665731364236665142976557543948148210841991216313787928082907926601940000877217952766823290477955594392345491369800279309214570271134314507983605825799068094748749412001763442993478383294356064834639471078447367049747104881592290020920725589439235036200224912842681623765024921412883257565898379441515228354171087753672693638993300987083723177401170816972155341555762482812197083445743090835385682015470878409364897907136682443063536485859607388470045976133354849407287714783747838233734786135388259816873149051888939734467490461168510146580661007371280019003328025844590098474052062156406652152121488781443416898926179121527663252558425510845236256261943969183790502739680827638936516900545047 19977925401104524956121707346813194001011223987125761427723290656178593500755094266714124620156324912923810573208678145253614365661322571066699398432759075630238359138922007015676573229141068574418265309563686923727119924533866306253230640203644568648608950510518448675873961823417319889924777090274931698755637701299115753594616093953438801993492415924973413506441555990702855453127051552746833155395617906720700780823323509112019873598160454155456680126683077868957611000023760364640469503919106728281859472598200110957653849239821841325642949362938520438885975964322825489988166876352850690995205632680795889457023097465127581950678897134700570646565058796214132782649954558503285992744285242296300069494889232896387239561945147181824554792689035800243140232444221807009434898741181389159836613112876712374757346718423018108914461692412214843010301145306153644879571571399456079152523676257595484221966694512417336816310707758372152050318327516777990060988060168767455332647434776983671761770510853319479094820792653121022502593698761998450377104173291205745964326768036238555870351294122699007700789084169157924748011049832205028167282836209182826731076657470832562170614476214361770174705458615968821416906927282361397302247551777335228545567743255977063324533039015958686207608542060961341878579269690610332009937339016530305423779818300391774754589539451 32324962323696997455702968440820991684276370490218396540815338395847340306934162389681338939114755861224829557336243401835128049902176596992949620156060595006052437380828237188394078185787149514981549029738132097079168837427585366581374230923842876620049719496836418247248389092790855865464779283306435944750733817628196409394156099617293024349010181511065963560242416691818665454340808340867366240160741248186017703404637471733471334065248665646152449008529251040765314020288867916276265390508475189228177418081219538038146797581729068259965599228209803008722546534228885993400345302207663981395155433882821309059918068782129825521399147720792820601634262667193620693315685922739951135720842786244448280336880449210175167644853073783764555669906988567066430710399816199354926268541460698374406884247191220358363172517491112857663873694175657836488684439662218479519042649846823128899628557849885505142692283951652373016535620601053775815343248929661247626886439610282683686818522530656365400763811840403202272221963470093177844149461244810647460549916382041131646342238914647920768258430805142071237274943776546394793987183187054435454997619957021060465862792859092379043763528103301504642195919784478967997567934653641416305575577621925327019619805412383715476654527797402103106534721182489005131137695201455568266199282985714095926519499128030711271490084498 52302887724801522411824675787634185685287594477344157968538629052025933807689256656395463559271080774148640130544921547088742415563499168059649018588819670636290796519750244204070651414928218089399814339301819020806288761961451672834604871127487445268658670007354866923122350916208175755389556373581367643506371518927312162988772193570731826342502597436039377066683972682521520907467859893614199395556359154906718484227960980845491207663409119801609129135212328909722925020312628280916734894427581917510036890679419648995800646821550909585608548591148323447608522498551711483388512178560514672390361066563617198516941166247257407472078044855493391248199321463407753475965640481243237128465128028540748349831769682106562407206798220965589110462596024367309570942844038006364361167282642087534243497360067932733120519235914130966578335386587872679498985584968372124398614221246279208052152234107480989364658978464069709832846328359425927865661576446439237687874499779050139019465957307640037162534322693722681367042756123214200346743160006809097837654089673246877610669006950886476638609724927841078938064027945704319541998233019259463622280456166203887196939450329924941214378004317663274816901378400447789414474861936002813607823129399260555565187548668360778801187566813360789314143263243450347009716964892065900276136622002244401350299317428422486026079623949 84627850048498519867527644228455177369563964967562554509353967447873274114623419046076802498385836635373469687881164948923870465465675765052598638744880265642343233900578481392464729600715367604381363369039951117885457599389037039415979102051330321888708389504191285170370740008999031620854335656887803588257105336555508572382928293188024850691512778947105340626926389374340186361808668234481565635717100403092736187632598452578962541728657785447761578143741579950488239040601496197193000284936057106738214308760639187033947444403279977845574147819358126456331069032780597476788857480768178653785516500446438507576859235029387232993477192576286211849833584130601374169281326403983188264185970814785196630168650131316737574851651294749353666132503012934376001653243854205719287435824102785908650381607259153091483691753405243824242209080763530515987670024630590603917656871093102336951780791957366494507351262415722082849381948960479703681004825376100485314760939389332822706284479838296402563298134534125883639264719593307378190892621251619745298204006055288009257011245865534397406868155732983150175338971722250714335985416206313899077278076123224947662802243189017320258141532420964779459097298184926757412042796589644229913398707021185882584807354080744494277842094610762892420677984425939352140854660093521468542335904987958497276818816556453197297569708447 136930737773300042279352320016089363054851559444906712477892596499899207922312675702472266057656917409522109818426086496012612881029174933112247657333699936278634030420328725596535381015643585693781177708341770138691746361350488712250583973178817767157367059511546152093493090925207207376243892030469171231763476855482820735371700486758756677034015376383144717693610362056861707269276528128095765031273459557999454671860559433424453749392066905249370707278953908860211164060914124478109735179363639024248251199440058836029748091224830887431182696410506449903939591531332308960177369659328693326175877567010055706093800401276644640465555237431779603098032905594009127645246966885226425392651098843325944980000419813423299982058449515714942776595099037301685572596087892212083648603106744873442893878967327085824604210989319374790820544467351403195486655609598962728316271092339381545003933026064847483872010240879791792682228277319905631546666401822539723002635439168382961725750437145936439725832457227848565006307475716521578537635781258428843135858095728534886867680252816420874045477880660824229113402999667955033877983649225573362699558532289428834859741693518942261472519536738628054275998676585374546826517658525647043521221836420446438149994902749105273079029661424123681734821247669389699150571624985587368818472526990202898627118133984875683323649332396 221558587821798562146879964244544540424415524412469266987246563947772482036936094748549068556042754044895579506307251444936483346494850698164846296078580201920977264320907206989000110616358953298162541077381721256577203960739525751666563075230148089046075449015737437263863830934206238997098227687356974820020582192038329307754628779946781527725528155330250058320536751431201893631085196362577330666990559961092190859493157886003416291120724690697132285422695488810699403101515620675302735464299696130986465508200698023063695535628110865276756844229864576360270660564112906436966227140096871979961394067456494213670659636306031873459032430008065814947866489724610501814528293289209613656837069658111141610169069944740037556910100810464296442727602050236061574249331746417802936038930847659351544260574586238916087902742724618615062753548114933711474325634229553332233927963432483881955713818022213978379361503295513875531610226280385335227671227198640208317396378557715784432034916984232842289130591761974448645572195309828956728528402510048588434062101783822896124691498681955271452346036393807379288741971390205748213969065431887261776836608412653782522543936707959581730661069159592833735095974770301304238560455115291273434620543441632320734802256829849767356871756034886574155499232095329051291426285079108837360808431978161395903936950541328880621219040843 358489325595098604426232284260633903479267083857375979465139160447671689959248770451021334613699671454417689324733337940949096227524025631277093953412280138199611294741235932585535491632002538991943718785723491395268950322090014463917147048408965856203442508527283589357356921859413446373342119717826146051784059047521150043126329266705538204759543531713394776014147113488063600900361724490673095698264019519091645531353717319427870040512791595946502992701649397670910567162429745153412470643663335155234716707640756859093443626852941752707939540640371026264210252095445215397143596799425565306137271634466549919764460037582676513924587667439845418045899395318619629459775260174436039049488168501437086590169489758163337538968550326179239219322701087537747146845419638629886584642037592532794438139541913324740692113732043993405883298015466336906960981243828516060550199055771865426959646844087061462251371744175305668213838503600290966774337629021179931320031817726098746157785354130169282014963048989823013651879671026350535266164183768477431569920197512357782992371751498376145497823917054631608402144971058160782091952714657460624476395140702082617382285630226901843203180605898220888011094651355675851065078113640938316955842379862078758884797159578955040435901417459010255890320479764718750441997910064696206179280958968364294531055084526204563944868373239 580047913416897166573112248505178443903682608269845246452385724395444171996184865199570403169742425499313268831040589385885579574018876329441940249490860340120588559062143139574535602248361492290106259863105212651846154282829540215583710123639113945249517957543021026621220752793619685370440347405183120871804641239559479350880958046652319732485071687043644834334683864919265494531446920853250426365254579480183836390846875205431286331633516286643635278124344886481609970263945365828715206107963031286221182215841454882157139162481052617984696384870235602624480912659558121834109823939522437286098665701923044133435119673888708387383620097447911232993765885043230131274303553463645652706325238159548228200338559702903375095878651136643535662050303137773808721094751385047689520680968440192145982400116499563656780016474768612020946051563581270618435306878058069392784127019204349308915360662109275440630733247470819543745448729880676302002008856219820139637428196283814530589820271114402124304093640751797462297451866336179491994692586278526020003982299296180679117063250180331416950169953448438987690886942448366530305921780089347886253231749114736399904829566934861424933841675057813721746190626125977155303638568756229590390462923303711079619599416408804807792773173493896830045819711860047801733424195143805043540089390946525690434992035067533444566087414082 938537239011995770999344532765812347382949692127221225917524884843115861955433635650591737783442096953730958155773927326834675801542901960719034202903140478320199853803379072160071093880364031282049978648828704047115104604919554679500857172048079801452960466070304615978577674653033131743782467123009266923588700287080629394007287313357857937244615218757039610348830978407329095431808645343923522063518598999275481922200592524859156372146307882590138270825994284152520537426375110982127676751626366441455898923482211741250582789333994370692635925510606628888691164755003337231253420738948002592235937336389594053199579711471384901308207764887756651039665280361849760734078813638081691755813406660985314790508049461066712634847201462822774881373004225311555867940171023677576105323006032724940420539658412888397472130206812605426829349579047607525396288121886585453334326074976214735875007506196336902882104991646125211959287233480967268776346485241000070957460014009913276747605625244571406319056689741620475949331537362530027260856770047003451573902496808538462109435001678707562447993870503070596093031913506527312397874494746808510729626889816819017287115197161763268137022280956034609757285277481653006368716682397167907346305303165789838504396575987759848228674590952907085936140191624766552175422105208501249719370349914889984966047119593738008510955787321 1518585152428892937572456781270990791286632300397066472369910609238560033951618500850162140953184522453044226986814516712720255375561778290160974452394000818440788412865522211734606696128725523572156238511933916698961258887749094895084567295687193746702478423613325642599798427446652817114222814528192387795393341526640108744888245360010177669729686905800684444683514843326594589963255566197173948428773178479459318313047467730290442703779824169233773548950339170634130507690320476810842882859589397727677081139323666623407721951815046988677332310380842231513172077414561459065363244678470439878334603038312638186634699385360093288691827862335667884033431165405079892008382367101727344462138644820533542990846609163970087730725852599466310543423307363085364589034922408725265626003974472917086402939774912452054252146681581217447775401142628878143831594999944654846118453094180564044790368168305612343512838239116944755704735963361643570778355341460820210594888210293727807337425896358973530623150330493417938246783403698709519255549356325529471577884796104719141226498251859038979398163823951509583783918855954893842703796274836156396982858638931555417191944764096624693070863956013848331503475903607630161672355251153397497736768226469500918123995992396564656021447764446803915981959903484814353908846300352306293259459740861415675401039154661271453077043201403 2457122391440888708571801314036803138669581992524287698287435494081675895907052136500753878736626619406775185142588444039554931177104680250880008655297141296760988266668901283894677790009089554854206217160762620746076363492668649574585424467735273548155438889683630258578376102099685948858005281651201654718982041813720738138895532673368035606974302124557724055032345821733923685395064211541097470492291777478734800235248060255149599075926132051823911819776333454786651045116695587792970559611215764169132980062805878364658304741149041359369968235891448860401863242169564796296616665417418442470570540374702232239834279096831478190000035627223424535073096445766929652742461180739809036217952051481518857781354658625036800365573054062289085424796311588396920456975093432402841731326980505642026823479433325340451724276888393822874604750721676485669227883121831240299452779169156778780665375674501949246394943230763069967664023196842610839554701826701820281552348224303641084085031521603544936942207020235038414196114941061239546516406126372532923151787292913257603335933253537746541846157694454580179876950769461421155101670769582964907712485528748374434479059961258387961207886236969882941260761181089283168041071933550565405083073529635290756628392568384324504250122355399711001918100095109580906084268405560807542978830090776305660367086274255009461587998988724 3975707543869781646144258095307793929956214292921354170657346103320235929858670637350916019689811141859819412129402960752275186552666458541040983107691142115201776679534423495629284486137815078426362455672696537445037622380417744469669991763422467294857917313296955901178174529546338765972228096179394042514375383340360846883783778033378213276703989030358408499715860665060518275358319777738271418921064955958194118548295527985440041779705956221057685368726672625420781552807016064603813442470805161896810061202129544988066026692964088348047300546272291091915035319584126255361979910095888882348905143413014870426468978482191571478691863489559092419106527611172009544750843547841536380680090696302052400772201267789006888096298906661755395968219618951482285046010015841128107357330954978559113226419208237792505976423569975040322380151864305363813059478121775895145571232263337342825455743842807561589907781469880014723368759160204254410333057168162640492147236434597368891422457417962518467565357350728456352442898344759949065771955482698062394729672089017976744562431505396785521244321518406089763660869625416314997805467044419121304695344167679929851671004725355012654278750192983731272764237084696913329713427184703962902819841756104791674752388560780889160271570119846514917900059998594395259993114705913113836238289831637721335768125428916280914665042190127 6432829935310670354716059409344597068625796285445641868944781597401911825765722773851669898426437761266594597271991404791830117729771138791920991762988283411962764946203324779523962276146904633280568672833459158191113985873086394044255416231157740843013356202980586159756550631646024714830233377830595697233357425154081585022679310706746248883678291154916132554748206486794441960753383989279368889413356733436928918783543588240589640855632088272881597188503006080207432597923711652396784002082020926065943041264935423352724331434113129707417268782163739952316898561753691051658596575513307324819475683787717102666303257579023049668691899116782516954179624056938939197493304728581345416898042747783571258553555926414043688461871960724044481393015930539879205502985109273530949088657935484201140049898641563132957700700458368863196984902585981849482287361243607135445024011432494121606121119517309510836302724700643084691032782357046865249887758994864460773699584658901009975507488939566063404507564370963494766639013285821188612288361609070595317881459381931234347898364758934532063090479212860669943537820394877736152907137814002086212407829696428304286150064686613400615486636429953614214024998265786196497754499118254528307902915285740082431380781129165213664521692475246225919818160093703976166077383111473921379217119922414026996135211703171290376253041178851 10408537479180452000860317504652390998582010578366996039602127700722147755624393411202585918116248903126414009401394365544105304282437597332961974870679425527164541625737748275153246762284719711706931128506155695636151608253504138513925407994580208137871273516277542060934725161192363480802461474009989739747732808494442431906463088740124462160382280185274541054464067151854960236111703767017640308334421689395123037331839116226029682635338044493939282557229678705628214150730727717000597444552826087962753102467064968340790358127077218055464569328436031044231933881337817307020576485609196207168380827200731973092772236061214621147383762606341609373286151668110948742244148276422881797578133444085623659325757194203050576558170867385799877361235549491361490548995125114659056445988890462760253276317849800925463677124028343903519365054450287213295346839365383030590595243695831464431576863360117072426210506170523099414401541517251119660220816163027101265846821093498378866929946357528581872072921721691951119081911630581137678060317091768657712611131470949211092460796264331317584334800731266759707198690020294051150712604858421207517103173864108234137821069411968413269765386622937345486789235350483109827467926302958491210722757041844874106133169689946102824793262595092740837718220092298371426070497817387035215455409754051748331903337132087571290918083368978 16841367414491122355576376913996988067207806863812637908546909298124059581390116185054255816542686664393008606673385770335935422012208736124882966633667708939127306571941073054677209038431624344987499801339614853827265594126590532558180824225737948980884629719258128220691275792838388195632694851840585436981090233648524016929142399446870711044060571340190673609212273638649402196865087756297009197747778422832051956115382704466619323490970132766820879745732684785835646748654439369397381446634847014028696143732000391693514689561190347762881838110599770996548832443091508358679173061122503531987856510988449075759075493640237670816075661723124126327465775725049887939737453005004227214476176191869194917879313120617094265020042828109844358754251480031240696051980234388190005534646825946961393326216491364058421377824486712766716349957036269062777634200608990166035619255128325586037697982877426583262513230871166184105434323874297984910108575157891562039546405752399388842437435297094645276580486092655445885720924916402326290348678700839253030492590852880445440359161023265849647425279944127429650736510415171787303619742672423293729511003560536538423971134098581813885252023052890959700814233616269306325222425421213019518625672327584956537513950819111316489314955070338966757536380186002347592147880928860956594672529676465775328038548835258861667171124547829 27249904893671574356436694418649379065789817442179633948149036998846207337014509596256841734658935567519422616074780135880040726294646333457844941504347134466291848197678821329830455800716344056694430929845770549463417202380094671072106232220318157118755903235535670281626000954030751676435156325850575176728823042142966448835605488186995173204442851525465214663676340790504362432976791523314649506082200112227174993447221820692649006126308177260760162302962363491463860899385167086397978891187673101991449246199065360034305047688267565818346407439035802040780766324429325665699749546731699739156237338189181048851847729701452291963459424329465735700751927393160836681981601281427109012054309635954818577205070314820144841578213695495644236115487029522602186600975359502849061980635716409721646602534341164983885054948515056670235715011486556276072981039974373196626214498824157050469274846237543655688723737041689283519835865391549104570329391320918663305393226845897767709367381654623227148653407814347397004802836546983463968408995792607910743103722323829656532819957287597167231760080675394189357935200435465838454332347530844501246614177424644772561792203510550227155017409675828305187603468966752416152690351724171510729348429369429830643647120509057419314108217665431707595254600278300719018218378746247991810127939430517523659941885967346432958089207916807 44091272308162696712013071332646367132997624305992271856695946296970266918404625781311097551201622231912431222748165906215976148306855069582727908138014843405419154769619894384507664839147968401681930731185385403290682796506685203630287056446056106099640532954793798502317276746869139872067851177691160613709913275791490465764747887633865884248503422865655888272888614429153764629841879279611658703829978535059226949562604525159268329617278310027581042048695048277299507648039606455795360337822520116020145389931065751727819737249457913581228245549635573037329598767520834024378922607854203271144093849177630124610923223341689962779535086052589862028217703118210724621719054286431336226530485827824013495084383435437239106598256523605488594869738509553842882652955593891039067515282542356683039928750832529042306432773001769436952064968522825338850615240583363362661833753952482636506972829114970238951236967912855467625270189265847089480437966478810225344939632598297156551804816951717872425233893907002842890523761463385790258757674493447163773596313176710101973179118310863016879185360619521619008671710850637625757952090203267794976125180985181310985763337609132041040269432728719264888417702583021722477912777145384530247974101697014787181161071328168735803423172735770674352790980464303066610366259675108948404800469106983298987980434802605294625260332464636 71341177201834271068449765751295746198787441748171905804844983295816474255419135377567939285860557799431853838822946042096016874601501403040572849642361977871711002967298715714338120639864312458376361661031155952754099998886779874702393288666374263218396436190329468783943277700899891548503007503541735790438736317934456914600353375820861057452946274391121102936564955219658127062818670802926308209912178647286401943009826345851917335743586487288341204351657411768763368547424773542193339229010193218011594636130131111762124784937725479399574652988671375078110365091950159690078672154585903010300331187366811173462770953043142254742994510382055597728969630511371561303700655567858445238584795463778832072289453750257383948176470219101132830985225539076445069253930953393888129495918258766404686531285173694026191487721516826107187779980009381614923596280557736559288048252776639686976247675352513894639960704954544751145106054657396194050767357799728888650332859444194924261172198606341099573887301721350239895326598010369254227166670286055074516700035500539758505999075598460184110945441294915808366606911286103464212284437734112296222739358409826083547555541119682268195286842404547570076021171549774138630603128869556040977322531066444617824808191837226155117531390401202381948045580742603785628584638421356940214928408537500822647922320769951727583349540381443 115432449509996967780462837083942113331785066054164177661540929592786741173823761158879036837062180031344285061571111948311993022908356472623300757780376821277130157736918610098845785479012280860058292392216541356044782795393465078332680345112430369318036969145123267286260554447769031420570858681232896404148649593725947380365101263454726941701449697256776991209453569648811891692660550082537966913742157182345628892572430871011185665360864797315922246400352460046062876195464379997988699566832713334031740026061196863489944522187183392980802898538306948115439963859470993714457594762440106281444425036544441298073694176384832217522529596434645459757187333629582285925419709854289781465115281291602845567373837185694623054774726742706621425854964048630287951906886547284927197011200801123087726460036006223068497920494518595544139844948532206953774211521141099921949882006729122323483220504467484133591197672867400218770376243923243283531205324278539113995272492042492080812977015558058971999121195628353082785850359473755044485924344779502238290296348677249860479178193909323200990130801914437427375278622136741089970236527937380091198864539395007394533318878728814309235556275133266834964438874132795861108515906014940571225296632763459405005969263165394890920954563136973056300836561206906852238950898096465888619728877644484121635902755572557022208609872846079 186773626711831238848912602835237859530572507802336083466385912888603215429242896536446976122922737830776138900394057990408009897509857875663873607422738799148841160704217325813183906118876593318434654053247697308798882794280244953035073633778804632536433405335452736070203832148668922969073866184774632194587385911660404294965454639275587999154395971647898094146018524868470018755479220885464275123654335829632030835582257216863103001104451284604263450752009871814826244742889153540182038795842906552043334662191327975252069307124908872380377551526978323193550328951421153404536266917026009291744756223911252471536465129427974472265524106816701057486156964140953847229120365422148226703700076755381677639663290935952007002951196961807754256840189587706733021160817500678815326507119059889492412991321179917094689408216035421651327624928541588568697807801698836481237930259505762010459468179819998028231158377821944969915482298580639477581972682078268002645605351486687005074149214164400071573008497349703322681176957484124298713091015065557312806996384177789618985177269507783385101076243209353235741885533422844554182520965671492387421603897804833478080874419848496577430843117537814405040460045682569999739119034884496612202619163829904022830777455002621046038485953538175438248882141949510637867535536517822828834657286181984944283825076342508749791959413227522 302206076221828206629375439919179972862357573856500261127926842481389956603066657695326012959984917862120423961965169938720002920418214348287174365203115620425971318441135935912029691597888874178492946445464238664843665589673710031367753978891235001854470374480576003356464386596437954389644724866007528598736035505386351675330555902730314940855845668904675085355472094517281910448139770968002242037396493011977659728154688087874288666465316081920185697152362331860889120938353533538170738362675619886075074688252524838742013829312092265361180450065285271308990292810892147118993861679466115573189181260455693769610159305812806689788053703251346517243344297770536133154540075276438008168815358046984523207037128121646630057725923704514375682695153636337020973067704047963742523518319861012580139451357186140163187328710554017195467469877073795522472019322839936403187812266234884333942688684287482161822356050689345188685858542503882761113178006356807116640877843529179085887126229722459043572129692978056405467027316957879343199015359845059551097292732855039479464355463417106586091207045123790663117164155559585644152757493608872478620468437199840872614193298577310886666399392671081240004898919815365860847634940899437183427915796593363427836746718168015936959440516675148494549718703156417490106486434614288717454386163826469065919727831915065772000569286073601 488979702933659445478288042754417832392930081658836344594312755369993172032309554231772989082907655692896562862359227929128012817928072223951047972625854419574812479145353261725213597716765467496927600498711935973642548383953954984402827612670039634390903779816028739426668218745106877358718591050782160793323421417046755970296010542005902940010241640552573179501490619385751929203618991853466517161050828841609690563736945304737391667569767366524449147904372203675715365681242687078352777158518526438118409350443852813994083136437001137741558001592263594502540621762313300523530128596492124864933937484366946241146624435240781162053577810068047574729501261911489980383660440698586234872515434802366200846700419057598637060677120666322129939535343224043753994228521548642557850025438920902072552442678366057257876736926589438846795094805615384091169827124538772884425742525740646344402156864107480190053514428511290158601340841084522238695150688435075119286483195015866090961275443886859115145138190327759728148204274442003641912106374910616863904289117032829098449532732924889971192283288333143898859049688982430198335278459280364866042072335004674350695067718425807464097242510208895645045358965497935860586753975783933795630534960423267450667524173170636982997926470213323932798600845105928127974021971132111546289043450008454010203552908257574521792528699301123 791185779155487652107663482673597805255287655515336605722239597851383128635376211927099002042892573555016986824324397867848015738346286572238222337828970040000783797586489197637243289314654341675420546944176174638486213973627665015770581591561274636245374154296604742783132605341544831748363315916789689392059456922433107645626566444736217880866087309457248264856962713903033839651758762821468759198447321853587350291891633392611680334035083448444634845056734535536604486619596220616523515521194146324193484038696377652736096965749093403102738451657548865811530914573205447642523990275958240438123118744822640010756783741053587851841631513319394091972845559682026113538200515975024243041330792849350724053737547179245267118403044370836505622230496860380774967296225596606300373543758781914652691894035552197421064065637143456042262564682689179613641846447378709287613554791975530678344845548394962351875870479200635347287199383588404999808328694791882235927361038545045176848401673609318158717267883305816133615231591399882985111121734755676415001581849887868577913888196341996557283490333456934561976213844542015842488035952889237344662540772204515223309261017003118350763641902879976885050257885313301721434388916683370979058450757016630878504270891338652919957366986888472427348319548262345618080508405746400263743429613834923076123280740172640293793097985374724 1280165482089147097585951525428015637648217737174172950316552353221376300667685766158871991125800229247913549686683625796976028556274358796189270310454824459575596276731842459362456887031419809172348147442888110612128762357581620000173409204231314270636277934112633482209800824086651709107081906967571850185382878339479863615922576986742120820876328950009821444358453333288785768855377754674935276359498150695197040855628578697349072001604850814969083992961106739212319852300838907694876292679712672762311893389140230466730180102186094540844296453249812460314071536335518748166054118872450365303057056229189586251903408176294369013895209323387441666702346821593516093921860956673610477913846227651716924900437966236843904179080165037158635561765840084424528961524747145248858223569197702816725244336713918254678940802563732894889057659488304563704811673571917482172039297317716177022747002412502442541929384907711925505888540224672927238503479383226957355213844233560911267809677117496177273862406073633575861763435865841886627023228109666293278905870966920697676363420929266886528475773621790078460835263533524446040823314412169602210704613107209189574004328735428925814860884413088872530095616850811237582021142892467304774688985717439898329171795064509289902955293457101796360146920393368273746054530376878511810032473063843377086326833648430214815585626684675847 2071351261244634749693615008101613442903505392689509556038791951072759429303061978085970993168692802802930536511008023664824044294620645368427492648283794499576380074318331656999700176346074150847768694387064285250614976331209285015943990795792588906881652088409238224992933429428196540855445222884361539577442335261912971261549143431478338701742416259467069709215416047191819608507136517496404035557945472548784391147520212089960752335639934263413718838017841274748924338920435128311399808200906819086505377427836608119466277067935187943947034904907361326125602450908724195808578109148408605741180174974012226262660191917347956865736840836706835758675192381275542207460061472648634720955177020501067648954175513416089171297483209407995141183996336944805303928820972741855158597112956484731377936230749470452100004868200876350931320224170993743318453520019296191459652852109691707701091847960897404893805255386912560853175739608261332238311808078018839591141205272105956444658078791105495432579673956939391995378667457241769612134349844421969693907452816808566254277309125608883085759263955247013022811477378066461883311350365058839555367153879413704797313589752432044165624526315968849415145874736124539303455531809150675753747436474456529207676065955847942822912660443990268787495239941630619364135038782624912073775902677678300162450114388602855109378724670050571 3351516743333781847279566533529629080551723129863682506355344304294135729970747744244842984294493032050844086197691649461800072850895004164616762958738618959151976351050174116362157063377493960020116841829952395862743738688790905016117400000023903177517930022521871707202734253514848249962527129851933389762825213601392834877471720418220459522618745209476891153573869380480605377362514272171339311917443623243981432003148790787309824337244785078382802830978948013961244191221274036006276100880619491848817270816976838586196457170121282484791331358157173786439673987244242943974632228020858971044237231203201812514563600093642325879632050160094277425377539202869058301381922429322245198869023248152784573854613479652933075476563374445153776745762177029229832890345719887104016820682154187548103180567463388706778945670764609245820377883659298307023265193591213673631692149427407884723838850373399847435734640294624486359064279832934259476815287461245796946355049505666867712467755908601672706442080030572967857142103323083656239157577954088262972813323783729263930640730054875769614235037577037091483646740911590907924134664777228441766071766986622894371317918487860969980485410729057721945241491586935776885476674701617980528436422191896427536847861020357232725867953901092065147642160334998893110189569159503423883808375741521677248776948037033069924964351354726418 5422868004578416596973181541631242523455228522553192062394136255366895159273809722330813977463185834853774622708699673126624117145515649533044255607022413458728356425368505773361857239723568110867885536217016681113358715020000190032061390795816492084399582110931109932195667682943044790817972352736294929340267548863305806139020863849698798224361161468943960862789285427672424985869650789667743347475389095792765823150669002877270576672884719341796521668996789288710168530141709164317675909081526310935322648244813446705662734238056470428738366263064535112565276438152967139783210337169267576785417406177214038777223792010990282745368890996801113184052731584144600508841983901970879919824200268653852222808788993069022246774046583853148917929758513974035136819166692628959175417795110672279481116798212859158878950538965485596751698107830292050341718713610509865091345001537099592424930698334297252329539895681537047212240019441195591715127095539264636537496254777772824157125834699707168139021753987512359852520770780325425851291927798510232666720776600537830184918039180484652699994301532284104506458218289657369807446015142287281321438920866036599168631508240293014146109937045026571360387366323060316188932206510768656282183858666352956744523926976205175548780614345082333935137400276629512474324607942128335957584278419199977411227062425635925034343076024776989 8774384747912198444252748075160871604006951652416874568749480559661030889244557466575656961757678866904618708906391322588424189996410653697661018565761032417880332776418679889724014303101062070888002378046969076976102453708791095048178790795840395261917512133452981639398401936457893040780499482588228319103092762464698641016492584267919257746979906678420852016363154808153030363232165061839082659392832719036747255153817793664580401010129504420179324499975737302671412721362983200323952009962145802784139919061790285291859191408177752913529697621221708899004950425397210083757842565190126547829654637380415851291787392104632608625000941156895390609430270787013658810223906331293125118693223516806636796663402472721955322250609958298302694675520691003264969709512412516063192238477264859827584297365676247865657896209730094842572075991489590357364983907201723538723037150964507477148769548707697099765274535976161533571304299274129851191942383000510433483851304283439691869593590608308840845463834018085327709662874103409082090449505752598495639534100384267094115558769235360422314229339109321195990104959201248277731580679919515723087510687852659493539949426728153984126595347774084293305628857909996093074408881212386636810620280858249384281371787996562408274648568246174399082779560611628405584514177101631759841392654160721654660004010462668994959307427379503407 14197252752490615041225929616792114127462180174970066631143616815027926048518367188906470939220864701758393331615090995715048307141926303230705274172783445876608689201787185663085871542824630181755887914263985758089461168728791285080240181591656887346317094244384091571594069619400937831598471835324523248443360311328004447155513448117618055971341068147364812879152440235825455349101815851506826006868221814829513078304486796541850977683014223761975846168972526591381581251504692364641627919043672113719462567306603731997521925646234223342268063884286244011570226863550177223541052902359394124615072043557629890069011184115622891370369832153696503793483002371158259319065890233264005038517423785460489019472191465790977569024656542151451612605279204977300106528679105145022367656272375532107065414163889107024536846748695580439323774099319882407706702620812233403814382152501607069573700247041994352094814431657698580783544318715325442907069478539775070021347559061212516026719425308016008984485588005597687562183644883734507941741433551108728306254876984804924300476808415845075014223640641605300496563177490905647539026695061803004408949608718696092708580934968446998272705284819110864666016224233056409263341087723155293092804139524602341025895714972767583823429182591256733017916960888257918058838785043760095798976932579921632071231072888304919993650503404280396 22971637500402813485478677691952985731469131827386941199893097374688956937762924655482127900978543568663012040521482318303472497138336956928366292738544478294489021978205865552809885845925692252643890292310954835065563622437582380128418972387497282608234606377837073210992471555858830872378971317912751567546453073792703088172006032385537313718320974825785664895515595043978485712333980913345908666261054533866260333458304590206431378693143728182155170668948263894052993972867675564965579929005817916503602486368394017289381117054411976255797761505507952910575177288947387307298895467549520672444726680938045741360798576220255499995370773310591894402913273158171918129289796564557130157210647302267125816135593938512932891275266500449754307280799895980565076238191517661085559894749640391934649711529565354890194742958425675281895850090809472765071686528013956942537419303466114546722469795749691451860088967633860114354848617989455294099011861540285503505198863344652207896313015916324849829949422023683015271846518987143590032190939303707223945788977369072018416035577651205497328452979750926496486668136692153925270607374981318727496460296571355586248530361696600982399300632593195157971645082143052502337749968935541929903424420382851725307267502969329992098077750837431132100696521499886323643352962145391855640369586740643286731235083350973914952957930783783803 37168890252893428526704607308745099858931312002357007831036714189716882986281291844388598840199408270421405372136573314018520804280263260159071566911327924171097711179993051215895757388750322434399778206574940593155024791166373665208659153979154169954551700622221164782586541175259768703977443153237274815989813385120707535327519480503155369689662042973150477774668035279803941061435796764852734673129276348695773411762791386748282356376157951944131016837920790485434575224372367929607207848049490030223065053674997749286903042700646199598065825389794196922145404152497564530839948369908914797059798724495675631429809760335878391365740605464288398196396275529330177448355686797821135195728071087727614835607785404303910460299923042601205919886079100957865182766870622806107927551022015924041715125693454461914731589707121255721219624190129355172778389148826190346351801455967721616296170042791685803954903399291558695138392936704780737006081340080060573526546422405864723923032441224340858814435010029280702834030163870878097973932372854815952252043854353876942716512386067050572342676620392531796983231314183059572809634070043121731905409905290051678957111296665047980672005917412306022637661306376108911601091056658697222996228559907454066333163217942097575921506933428687865118613482388144241702191747189151951439346519320564918802466156239278834946608434188064199 60140527753296242012183285000698085590400443829743949030929811564405839924044216499870726741177951839084417412658055632321993301418600217087437859649872402465586733158198916768705643234676014687043668498885895428220588413603956045337078126366651452562786307000058237993579012731118599576356414471150026383536266458913410623499525512888692683407983017798936142670183630323782426773769777678198643339390330882562033745221095976954713735069301680126286187506869054379487569197240043494572787777055307946726667540043391766576284159755058175853863586895302149832720581441444951838138843837458435469504525405433721372790608336556133891361111378774880292599309548687502095577645483362378265352938718389994740651743379342816843351575189543050960227166878996938430259005062140467193487445771656315976364837223019816804926332665546931003115474280938827937850075676840147288889220759433836163018639838541377255814992366925418809493241554694236031105093201620346077031745285750516931819345457140665708644384432052963718105876682858021688006123312158523176197832831722948961132547963718256069671129600143458293469899450875213498080241445024440459401870201861407265205641658361648963071306550005501180609306388519161413938841025594239152899652980290305791640430720911427568019584684266118997219310003888030565345544709334543807079716106061208205533701239590252749899566364971848002 97309418006189670538887892309443185449331755832100956861966525754122722910325508344259325581377360109505822784794628946340514105698863477246509426561200326636684444338191967984601400623426337121443446705460836021375613204770329710545737280345805622517338007622279402776165553906378368280333857624387301199526079844034118158827044993391848053097645060772086620444851665603586367835205574443051378012519607231257807156983887363702996091445459632070417204344789844864922144421612411424179995625104797976949732593718389515863187202455704375451929412285096346754865985593942516368978792207367350266564324129929397004220418096892012282726851984239168690795705824216832273026001170160199400548666789477722355487351164747120753811875112585652166147052958097896295441771932763273301414996793672240018079962916474278719657922372668186724335098471068183110628464825666337635241022215401557779314809881333063059769895766216977504631634491399016768111174541700406650558291708156381655742377898365006567458819442082244420939906846728899785980055685013339128449876686076825903849060349785306642013806220535990090453130765058273070889875515067562191307280107151458944162752955026696943743312467417807203246967694895270325539932082252936375895881540197759857973593938853525143941091617694806862337923486276174807047736456523695758519062625381773124336167395829531584846174799159912201 157449945759485912551071177310141271039732199661844905892896337318528562834369724844130052322555311948590240197452684578662507407117463694333947286211072729102271177496390884753307043858102351808487115204346731449596201618374285755882815406712457075080124314622337640769744566637496967856690272095537327583062346302947528782326570506280540736505628078571022763115035295927368794608975352121250021351909938113819840902204983340657709826514761312196703391851658899244409713618852454918752783402160105923676400133761781282439471362210762551305792999180398496587586567035387468207117636044825785736068849535363118377011026433448146174087963363014048983395015372904334368603646653522577665901605507867717096139094544089937597163450302128703126374219837094834725700776994903740494902442565328555994444800139494095524584255038215117727450572752007011048478540502506484924130242974835393942333449719874440315584888133142396314124876046093252799216267743320752727590036993906898587561723355505672276103203874135208139045783529586921473986178997171862304647709517799774864981608313503562711684935820679448383923030215933486568970116960092002650709150309012866209368394613388345906814619017423308383856274083414431739478773107847175528795534520488065649614024659764952711960676301960925859557233490164205372393281165858239565598778731442981329869868635419784334745741164131760203 254759363765675583089959069619584456489063955493945862754862863072651285744695233188389377903932672058096062982247313525003021512816327171580456712772273055738955621834582852737908444481528688929930561909807567470971814823144615466428552687058262697597462322244617043545910120543875336137024129719924628782588426146981646941153615499672388789603273139343109383559886961530955162444180926564301399364429545345077648059188870704360705917960220944267120596196448744109331858040464866342932779027264903900626132727480170798302658564666466926757722411465494843342452552629329984576096428252193136002633173665292515381231444530340158456814815347253217674190721197121166641629647823682777066450272297345439451626445708837058350975325414714355292521272795192731021142548927667013796317439359000796012524763055968374244242177410883304451785671223075194159107005328172822559371265190236951721648259601207503375354783899359373818756510537492269567327442285021159378148328702063280243304101253870678843562023316217452559985690376315821259966234682185201433097586203876600768830668663288869353698742041215438474376160980991759639859992475159564842016430416164325153531147568415042850557931484841115587103241778309702065018705190100111904691416060685825507587618598618477855901767919655732721895156976440380179441017622381935324117841356824754454206036031249315919591915963291672404 412209309525161495641030246929725727528796155155790768647759200391179848579064958032519430226487984006686303179699998103665528919933790865914403998983345784841226799330973737491215488339631040738417677114154298920568016441518901222311368093770719772677586636866954684315654687181372303993714401815461956365650772449929175723480186005952929526108901217914132146674922257458323957053156278685551420716339483458897488961393854045018415744474982256463823988048107643353741571659317321261685562429425009824302532861241952080742129926877229478063515410645893339930039119664717452783214064297018921738702023200655633758242470963788304630902778710267266657585736570025501010233294477205354732351877805213156547765540252926995948138775716843058418895492632287565746843325922570754291219881924329352006969563195462469768826432449098422179236243975082205207585545830679307483501508165072345663981709321081943690939672032501770132881386583585522366543710028341912105738365695970178830865824609376351119665227190352660699031473905902742733952413679357063737745295721676375633812276976792432065383677861894886858299191196925246208830109435251567492725580725177191362899542181803388757372550502264423970959515861724133804497478297947287433486950581173891157201643258383430567862444221616658581452390466604585551834298788240174889716620088267735784075904666669100254337657127423432607 666968673290837078730989316549310184017860110649736631402622063463831134323760191220908808130420656064782366161947311628668550432750118037494860711755618840580182421165556590229123932821159729668348239023961866391539831264663516688739920780828982470275048959111571727861564807725247640130738531535386585148239198596910822664633801505625318315712174357257241530234809218989279119497337205249852820080769028803975137020582724749379121662435203200730944584244556387463073429699782187604618341456689913724928665588722122879044788491543696404821237822111388183272491672294047437359310492549212057741335196865948149139473915494128463087717594057520484331776457767146667651862942300888131798802150102558595999391985961764054299114101131557413711416765427480296767985874850237768087537321283330148019494326251430844013068609859981726631021915198157399366692551158852130042872773355309297385629968922289447066294455931861143951637897121077791933871152313363071483886694398033459074169925863247029963227250506570113259017164282218563993918648361542265170842881925552976402642945640081301419082419903110325332675352177917005848690101910411132334742011141341516516430689750218431607930481987105539558062757640033835869516183488047399338178366641859716664789261857001908423764212141272391303347547443044965731275316410622110213834461445092490238281940697918416173929573090715105011 1079177982815998574372019563479035911546656265805527400050381263855010982902825149253428238356908640071468669341647309732334079352683908903409264710738964625421409220496530327720339421160790770406765916138116165312107847706182417911051288874599702242952635595978526412177219494906619944124452933350848541513889971046839998388113987511578247841821075575171373676909731476447603076550493483935404240797108512262872625981976578794397537406910185457194768572292664030816815001359099508866303903886114923549231198449964074959786918418420925882884753232757281523202530791958764890142524556846230979480037220066603782897716386457916767718620372767787750989362194337172168662096236778093486531154027907771752547157526214691050247252876848400472130312258059767862514829200772808522378757203207659500026463889446893313781895042309080148810258159173239604574278096989531437526374281520381643049611678243371390757234127964362914084519283704663314300414862341704983589625060094003637905035750472623381082892477696922773958048638188121306727871062040899328908588177647229352036455222616873733484466097765005212190974543374842252057520211345662699827467591866518707879330231932021820365303032489369963529022273501757969674013661785994686771665317223033607821990905115385338991626656362889049884799937909649551283109615198862285103551081533360226022357845364587516428267230218138537618 1746146656106835653103008880028346095564516376455264031453003327318842117226585340474337046487329296136251035503594621361002629785434026940904125422494583466001591641662086917949463353981950500075114155162078031703647678970845934599791209655428684713227684555090098140038784302631867584255191464886235126662129169643750821052747789017203566157533249932428615207144540695436882196047830689185257060877877541066847763002559303543776659069345388657925713156537220418279888431058881696470922245342804837274159864038686197838831706909964622287705991054868669706475022464252812327501835049395443037221372416932551932037190301952045230806337966825308235321138652104318836313959179078981618329956178010330348546549512176455104546366977979957885841729023487248159282815075623046290466294524490989648045958215698324157794963652169061875441280074371397003940970648148383567569247054875690940435241647165660837823528583896224058036157180825741106234286014655068055073511754492037096979205676335870411046119728203492887217065802470339870721789710402441594079431059572782328439098168256955034903548517668115537523649895552759257906210313256073832162209603007860224395760921682240251973233514476475503087085031141791805543529845274042086109843683864893324486780166972387247415390868504161441188147485352694517014384931609484395317385542978452716260639786062505932602196803308853642629 2825324638922834227475028443507382007111172642260791431503384591173853100129410489727765284844237936207719704845241931093336709138117935844313390133233548091423000862158617245669802775142741270481880071300194197015755526677028352510842498530028386956180320151068624552216003797538487528379644398237083668176019140690590819440861776528781813999354325507599988884054272171884485272598324173120661301674986053329720388984535882338174196476255574115120481728829884449096703432417981205337226149228919760823391062488650272798618625328385548170590744287625951229677553256211577217644359606241674016701409636999155714934906688409961998524958339593095986310500846441491004976055415857075104861110205918102101093707038391146154793619854828358357972041281547016021797644276395854812845051727698649148072422105145217471576858694478142024251538233544636608515248745137915005095621336396072583484853325409032228580762711860586972120676464530404420534700876996773038663136814586040734884241426808493792129012205900415661175114440658461177449660772443340922988019237220011680475553390873828768388014615433120749714624438927601509963730524601736531989677194874378932275091153614262072338536546965845466616107304643549775217543507060036772881509001087926932308771072087772586407017524867050491072947423262344068297494546808346680420936624511812942282997631427093449030464033526992180247 4571471295029669880578037323535728102675689018716055462956387918492695217355995830202102331331567232343970740348836552454339338923551962785217515555728131557424592503820704163619266129124691770556994226462272228719403205647874287110633708185457071669408004706158722692254788100170355112634835863123318794838148310334341640493609565545985380156887575440028604091198812867321367468646154862305918362552863594396568151987095185881950855545600962773046194885367104867376591863476862901808148394571724598097550926527336470637450332238350170458296735342494620936152575720464389545146194655637117053922782053931707646972096990362007229331296306418404221631639498545809841290014594936056723191066383928432449640256550567601259339986832808316243813770305034264181080459352018901103311346252189638796118380320843541629371822346647203899692818307916033612456219393286298572664868391271763523920094972574693066404291295756811030156833645356145526768986891651841093736648569078077831863447103144364203175131934103908548392180243128801048171450482845782517067450296792794008914651559130783803291563133101236287238274334480360767869940837857810364151886797882239156670852075296502324311770061442320969703192335785341580761073352334078858991352684952820256795551239060159833822408393371211932261094908615038585311879478417831075738322167490265658543637417489599381632660836835845822876 7396795933952504108053065767043110109786861660976846894459772509666548317485406319929867616175805168551690445194078483547676048061669898629530905688961679648847593365979321409289068904267433041038874297762466425735158732324902639621476206715485458625588324857227347244470791897708842641014480261360402463014167451024932459934471342074767194156241900947628592975253085039205852741244479035426579664227849647726288540971631068220125052021856536888166676614196989316473295295894844107145374543800644358920941989015986743436068957566735718628887479630120572165830128976675966762790554261878791070624191690930863361907003678771969227856254646011500207942140344987300846266070010793131828052176589846534550733963588958747414133606687636674601785811586581280202878103628414755916156397979888287944190802425988759100948681041125345923944356541460670220971468138424213577760489727667836107404948297983725294985054007617398002277510109886549947303687768648614132399785383664118566747688529952857995304144140004324209567294683787262225621111255289123440055469534012805689390204950004612571679577748534357036952898773407962277833671362459546896141563992756618088945943228910764396650306608408166436319299640428891355978616859394115631872861686040747189104322311147932420229425918238262423334042331877382653609374025226177756159258792002078600826635048916692830663124870362838003123 11968267228982173988631103090578838212462550679692902357416160428159243534841402150131969947507372400895661185542915036002015386985221861414748421244689811206272185869800025572908335033392124811595868524224738654454561937972776926732109914900942530294996329563386069936725579997879197753649316124483721257852315761359274100428080907620752574313129476387657197066451897906527220209890633897732498026780713242122856692958726254102075907567457499661212871499564094183849887159371707008953522938372368957018492915543323214073519289805085889087184214972615193101982704697140356307936748917515908124546973744862571008879100669133976457187550952429904429573779843533110687556084605729188551243242973774967000374220139526348673473593520444990845599581891615544383958562980433657019467744232077926740309182746832300730320503387772549823637174849376703833427687531710512150425358118939599631325043270558418361389345303374209032434343755242695474072674660300455226136433952742196398611135633097222198479276074108232757959474926916063273792561738134905957122919830805599698304856509135396374971140881635593324191173107888323045703612200317357260293450790638857245616795304207266720962076669850487406022491976214232936739690211728194490864214370993567445899873550208092254051834311609474355595137240492421238921253503644008831897580959492344259370272466406292212295785707198683825999 19365063162934678096684168857621948322249412340669749251875932937825791852326808470061837563683177569447351630736993519549691435046891760044279326933651490855119779235779346982197403937659557852634742821987205080189720670297679566353586121616427988920584654420613417181196371895588040394663796385844123720866483212384206560362552249695519768469371377335285790041704982945733072951135112933159077691008562889849145233930357322322200959589314036549379548113761083500323182455266551116098897482173013315939434904559309957509588247371821607716071694602735765267812833673816323070727303179394699195171165435793434370786104347905945685043805598441404637515920188520411533822154616522320379295419563621501551108183728485096087607200208081665447385393478196824586836666608848412935624142211966214684499985172821059831269184428897895747581531390837374054399155670134725728185847846607435738729991568542143656374399310991607034711853865129245421376362428949069358536219336406314965358824163050080193783420214112556967526769610703325499413672993424029397178389364818405387695061459140008946650718630169950361144071881296285323537283562776904156435014783395475334562738533118031117612383278258653842341791616643124292718307071122310122737076057034314635004195861356024674281260229847736778929179572369803892530627528870186588056839751494422860196907515322985042958910577561521829122 31333330391916852085315271948200786534711963020362651609292093365985035387168210620193807511190549970343012816279908555551706822032113621459027748178341302061391965105579372555105738971051682664230611346211943734644282608270456493085696036517370519215580983983999487117921951893467238148313112510327844978718798973743480660790633157316272342782500853722942987108156880852260293161025746830891575717789276131972001926889083576424276867156771536210592419613325177684173069614638258125052420420545382272957927820102633171583107537176907496803255909575350958369795538370956679378664052096910607319718139180656005379665205017039922142231356550871309067089700032053522221378239222251508930538662537396468551482403868011444761080793728526656292984975369812368970795229589282069955091886444044141424809167919653360561589687816670445571218706240214077887826843201845237878611205965547035370055034839100562017763744614365816067146197620371940895449037089249524584672653289148511363969959796147302392262696288220789725486244537619388773206234731558935354301309195624005085999917968275405321621859511805543685335244989184608369240895763094261416728465574034332580179533837325297838574459948109141248364283592857357229457997282850504613601290428027882080904069411564116928333094541457211134524316812862225131451881032514195419954420710986767119567179981729277255254696284760205655121 50698393554851530181999440805822734856961375361032400861168026303810827239495019090255645074873727539790364447016902075101398257079005381503307075111992792916511744341358719537303142908711240516865354168199148814834003278568136059439282158133798508136165638404612904299118323789055278542976908896171968699585282186127687221153185407011792111251872231058228777149861863797993366112160859764050653408797839021821147160819440898746477826746085572759971967727086261184496252069904809241151317902718395588897362724661943129092695784548729104519327604178086723637608372044773002449391355276305306514889304616449439750451309364945867827275162149312713704605620220573933755200393838773829309834082101017970102590587596496540848687993936608321740370368848009193557631896198130482890716028656010356109309153092474420392858872245568341318800237631051451942225998871979963606797053812154471108785026407642705674138143925357423101858051485501186316825399518198593943208872625554826329328783959197382586046116502333346693013014148322714272619907724982964751479698560442410473694979427415414268272578141975494046479316870480893692778179325871165573163480357429807914742272370443328956186843226367795090706075209500481522176304353972814736338366485062196715908265272920141602614354771304947913453496385232029023982508561384382008011260462481189979764087497052262298213606862321727484243 82031723946768382267314712754023521391673338381395052470460119669795862626663229710449452586064277510133377263296810630653105079111119002962334823290334094977903709446938092092408881879762923181095965514411092549478285886838592552524978194651169027351746622388612391417040275682522516691290021406499813678304081159871167881943818564328064454034373084781171764258018744650253659273186606594942229126587115153793149087708524475170754693902857108970564387340411438868669321684543067366203738323263777861855290544764576300675803321725636601322583513753437682007403910415729681828055407373215913834607443797105445130116514381985789969506518700184022771695320252627455976578633061025338240372744638414438654072991464507985609768787665134978033355344217821562528427125787412552845807915100054497534118321012127780954448560062238786890018943871265529830052842073825201485408259777701506478840061246743267691901888539723239169004249105873127212274436607448118527881525914703337693298743755344684978308812790554136418499258685942103045826142456541900105781007756066415559694897395690819589894437653781037731814561859665502062019075088965426989891945931464140494921806207768626794761303174476936339070358802357838751634301636823319349939656913090078796812334684484258530947449312762159047977813198094254155434389593898577427965681173467957099331267478781539553468303147081933139364 132730117501619912449314153559846256248634713742427453331628145973606689866158248800705097660938005049923741710313712705754503336190124384465641898402326887894415453788296811629712024788474163697961319682610241364312289165406728611964260352784967535487912260793225295716158599471577795234266930302671782377889363345998855103097003971339856565286245315839400541407880608448247025385347466358992882535384954175614296248527965373917232520648942681730536355067497700053165573754447876607355056225982173450752653269426519429768499106274365705841911117931524405645012282460502684277446762649521220349496748413554884880567823746931657796781680849496736476300940473201389731779026899799167550206826739432408756663579061004526458456781601743299773725713065830756086059021985543035736523943756064853643427474104602201347307432307807128208819181502316981772278840945805165092205313589855977587625087654385973366040032465080662270862300591374313529099836125646712471090398540258164022627527714542067564354929292887483111512272834264817318446050181524864857260706316508826033389876823106233858167015795756531778293878730146395754797254414836592563055426288893948409664078578211955750948146400844731429776434011858320273810605990796134086278023398152275512720599957404400133561804084067106961431309583326283179416898155282959435976941635949147079095354975833801851681910009403660623607 214761841448388294716628866313869777640308052123822505802088265643402552492821478511154550247002282560057118973610523336407608415301243387427976721692660982872319163235234903722120906668237086879057285197021333913790575052245321164489238547436136562839658883181837687133198875154100311925556951709171596056193444505870022985040822535667921019320618400620572305665899353098500684658534072953935111661972069329407445336236489849087987214551799790701100742407909138921834895438990943973558794549245951312607943814191095730444302428000002307164494631684962087652416192876232366105502170022737134184104192210660330010684338128917447766288199549680759247996260725828845708357659960824505790579571377846847410736570525512512068225569266878277807081057283652318614486147772955588582331858856119351177545795116729982301755992370045915098838125373582511602331683019630366577613573367557484066465148901129241057941921004803901439866549697247440741374272733094830998971924454961501715926271469886752542663742083441619530011531520206920364272192638066764963041714072575241593084774218797053448061453449537569510108440589811897816816329503802019552947372220358088904585884785980582545709449575321667768846792814216159025444907627619453436217680311242354309532934641888658664509253396829266009409122781420537334851287749181536863942622809417104178426622454615341405150213156485593762971 347491958950008207165943019873716033888942765866249959133716411617009242358979727311859647907940287609980860683924236042162111751491367771893618620094987870766734617023531715351832931456711250577018604879631575278102864217652049776453498900221104098327571143975062982849357474625678107159823882011843378434082807851868878088137826507007777584606863716459972847073779961546747710043881539312927994197357023505021741584764455223005219735200742472431637097475406838975000469193438820580913850775228124763360597083617615160212801534274368013006405749616486493297428475336735050382948932672258354533600940624215214891252161875849105563069880399177495724297201199030235440136686860623673340786398117279256167400149586517038526682350868621577580806770349483074700545169758498624318855802612184204820973269221332183649063424677853043307657306875899493374610523965435531669818886957413461654090236555515214423981953469884563710728850288621754270474108858741543470062322995219665738553799184428820107018671376329102641523804354471737682718242819591629820302420389084067626474651041903287306228469245294101288402319319958293571613583918638612116002798509252037314249963364192538296657595976166399198623226826074479299255513618415587522495703709394629822253534599293058798071057480896372970840432364746820514268185904464496299919564445366251257521977430449143256832123165889254386578 562253800398396501882571886187585811529250817990072464935804677260411794851801205823014198154942570170037979657534759378569720166792611159321595341787648853639053780258766619073953838124948337456075890076652909191893439269897370940942737447657240661167230027156900669982556349779778419085380833721014974490276252357738901073178649042675698603927482117080545152739679314645248394702415612266863105859329092834429186921000945072093206949752542263132737839883315977896835364632429764554472645324474076075968540897808710890657103962274370320170900381301448580949844668212967416488451102694995488717705132834875544901936500004766553329358079948858254972293461924859081148494346821448179131365969495126103578136720112029550594907920135499855387887827633135393315031317531454212901187661468303555998519064338062165950819417047898958406495432249482004976942206985065898247432460324970945720555385456644455481923874474688465150595399985869195011848381591836374469034247450181167454480070654315572649682413459770722171535335874678658046990435457658394783344134461659309219559425260700340754289922694831670798510759909770191388429913422440631668950170729610126218835848150173120842367045551488066967470019640290638324700421246035040958713384020636984131786469241181717462580310877725638980249555146167357849119473653646033163862187254783355435948599885064484661982336322374848149549 909745759348404709048514906061301845418193583856322424069521088877421037210780933134873846062882857780018840341458995420731831918283978931215213961882636724405788397282298334425786769581659588033094494956284484469996303487549420717396236347878344759494801171131963652831913824405456526245204715732858352924359060209607779161316475549683476188534345833540517999813459276191996104746297151579791100056686116339450928505765400295098426684953284735564374937358722816871835833825868585135386496099702200839329137981426326050869905496548738333177306130917935074247273143549702466871400035367253843251306073459090759793188661880615658892427960348035750696590663123889316588631033682071852472152367612405359745536869698546589121590271004121432968694597982618468015576487289952837220043464080487760819492333559394349599882841725752001714152739125381498351552730950501429917251347282384407374645622012159669905905827944573028861324250274490949282322490450577917939096570445400833193033869838744392756701084836099824813059140229150395729708678277250024603646554850743376846034076302603628060518391940125772086913079229728484960043497341079243784952969238862163533085811514365659139024641527654466166093246466365117623955934864450628481209087730031613954040003840474776260651368358622011951089987510914178363387659558110529463781751700149606693470577315513627918814459488264102536127 1471999559746801210931086792248887656947444401846394889005325766137832832062582138957888044217825427950056819998993754799301552085076590090536809303670285578044842177541064953499740607706607925489170385032937393661889742757446791658338973795535585420662031198288864322814470174185234945330585549453873327414635312567346680234495124592359174792461827950621063152553138590837244499448712763846654205916015209173880115426766345367191633634705826998697112777242038794768671198458298349689859141424176276915297678879235036941527009458823108653348206512219383655197117811762669883359851138062249331969011206293966304695125161885382212221786040296894005668884125048748397737125380503520031603518337107531463323673589810576139716498191139621288356582425615753861330607804821407050121231125548791316818011397897456515550702258773650960120648171374863503328494937935567328164683807607355353095201007468804125387829702419261494011919650260360144294170872042414292408130817895582000647513940493059965406383498295870546984594476103829053776699113734908419386990689312402686065593501563303968814808314634957442885423839139498676348473410763519875453903139968472289751921659664538779981391687079142533133563266106655755948656356110485669439922471750668598085826473081656493723231679236347650931339542657081536212507133211756562627643938954932962129419177200578112580796795810638950685676 2381745319095205919979601698310189502365637985702717313074846855015253869273363072092761890280708285730075660340452750220033384003360569021752023265552922302450630574823363287925527377288267513522264879989221878131886046244996212375735210143413930180156832369420827975646383998590691471575790265186731680338994372776954459395811600142042650980996173784161581152366597867029240604195009915426445305972701325513331043932531745662290060319659111734261487714600761611640507032284166934825245637523878477754626816860661362992396914955371846986525512643137318729444390955312372350231251173429503175220317279753057064488313823765997871114214000644929756365474788172637714325756414185591884075670704719936823069210459509122728838088462143742721325277023598372329346184292111359887341274589629279077637503731456850865150585100499402961834800910500245001680047668886068758081935154889739760469846629480963795293735530363834522873243900534851093576493362492992210347227388340982833840547810331804358163084583131970371797653616332979449506407792012158443990637244163146062911627577865907596875326706575083214972336918369227161308516908104599119238856109207334453285007471178904439120416328606796999299656512573020873572612290974936297921131559480700212039866476922131269983883047594969662882429530167995714575894792769867092091425690655082568822889754516091740499611255298903053221803 3853744878842007130910688490559077159313082387549112202080172621153086701335945211050649934498533713680132480339446505019334936088437159112288832569223207880495472752364428241425267984994875439011435265022159271793775789002443004034074183938949515600818863567709692298460854172775926416906375814640605007753629685344301139630306724734401825773458001734782644304919736457866485103643722679273099511888716534687211159359298091029481693954364938732958600491842800406409178230742465284515104778948054754669924495739896399933923924414194955639873719155356702384641508767075042233591102311491752507189328486047023369183438985651380083336000040941823762034358913221386112062881794689111915679189041827468286392884049319698868554586653283364009681859449214126190676792096932766937462505715178070394455515129354307380701287359273053921955449081875108505008542606821636086246618962497095113565047636949767920681565232783096016885163550795211237870664234535406502755358206236564834488061750824864323569468081427840918782248092436808503283106905747066863377627933475548748977221079429211565690135021210040657857760757508725837656990318868118994692759249175806743036929130843443219101808015685939532433219778679676629521268647085421967361054031231368810125692950003787763707114726831317313813769072825077250788401925981623654719069629610015530952308931716669853080408051109542003907479 6235490197937213050890290188869266661678720373251829515155019476168340570609308283143411824779241999410208140679899255239368320091797728134040855834776130182946103327187791529350795362283142952533700145011381149925661835247439216409809394082363445780975695937130520274107238171366617888482166079827336688092624058121255599026118324876444476754454175518944225457286334324895725707838732594699544817861417860200542203291829836691771754274024050467220088206443562018049685263026632219340350416471933232424551312600557762926320839369566802626399231798494021114085899722387414583822353484921255682409645765800080433671752809417377954450214041586753518399833701394023826388638208874703799754859746547405109462094508828821597392675115427106731007136472812498520022976389044126824803780304807349472093018860811158245851872459772456883790249992375353506688590275707704844328554117386834874034894266430731715975300763146930539758407451330062331447157597028398713102585594577547668328609561156668681732552664559811290579901708769787952789514697759225307368265177638694811888848657295119162565461727785123872830097675877952998965507226972718113931615358383141196321936602022347658222224344292736531732876291252697503093880938060358265282185590712069022165559426925919033690997774426286976696198602993072965364296718751490746810495320265098099775198686232761593580019306408445057129282 10089235076779220181800978679428343820991802760800941717235192097321427271945253494194061759277775713090340621019345760258703256180234887246329688403999338063441576079552219770776063347278018391545135410033540421719437624249882220443883578021312961381794559504840212572568092344142544305388541894467941695846253743465556738656425049610846302527912177253726869762206070782762210811482455273972644329750134394887753362651127927721253448228388989200178688698286362424458863493769097503855455195419987987094475808340454162860244763783761758266272950953850723498727408489462456817413455796413008189598974251847103802855191795068758037786214082528577280434192614615409938451520003563815715434048788374873395854978558148520465947261768710470740688995922026624710699768485976893762266286019985419866548533990165465626553159819045510805745699074250462011697132882529340930575173079883929987599941903380499636656865995930026556643571002125273569317821831563805215857943800814112502816671311981533005302020745987652209362149801206596456072621603506292170745893111114243560866069736724330728255596748995164530687858433386678836622497545840837108624374607558947939358865732865790877324032359978676064166096069932374132615149585145780232643239621943437832291252376929706797398112501257604290509967675818150216152698644733114401529564949875113630727507617949431446660427357517987061036761 16324725274716433232691268868297610482670523134052771232390211573489767842554561777337473584057017712500548761699245015498071576272032615380370544238775468246387679406740011300126858709561161344078835555044921571645099459497321436853692972103676407162770255441970732846675330515509162193870707974295278383938877801586812337682543374487290779282366352772671095219492405107657936519321187868672189147611552255088295565942957764413025202502413039667398776904729924442508548756795729723195805611891921219519027120941011925786565603153328560892672182752344744612813308211849871401235809281334263872008620017647184236526944604486135992236428124115330798834026316009433764840158212438519515188908534922278505317073066977342063339936884137577471696132394839123230722744875021020587070066324792769338641552850976623872405032278817967689535949066625815518385723158237045774903727197270764861634836169811231352632166759076957096401978453455335900764979428592203928960529395391660171145280873138201687034573410547463499942051509976384408862136301265517478114158288752938372754918394019449890821058476780288403517956109264631835588004772813555222555989965942089135680802334888138535546256704271412595898972361185071635709030523206138497925425212655506854456811803855625831089110275683891267206166278811223181516995363484605148340060270140211730502706304182193040240446663926432118166043 26413960351495653414492247547725954303662325894853712949625403670811195114499815271531535343334793425590889382718590775756774832452267502626700232642774806309829255486292231070902922056839179735623970965078461993364537083747203657297576550124989368544564814946810945419243422859651706499259249868763220079785131545052369076338968424098137081810278530026397964981698475890420147330803643142644833477361686649976048928594085692134278650730802028867577465603016286866967412250564827227051260807311909206613502929281466088646810366937090319158945133706195468111540716701312328218649265077747272061607594269494288039382136399554894030022642206643908079268218930624843703291678216002335230622957323297151901172051625125862529287198652848048212385128316865747941422513360997914349336352344778189205190086841142089498958192097863478495281648140876277530082856040766386705478900277154694849234778073191730989289032755006983653045549455580609470082801260156009144818473196205772673961952185119734692336594156535115709304201311182980864934757904771809648860051399867181933620988130743780619076655225775452934205814542651310672210502318654392331180364573501037075039668067753929412870289064250088660065068431117445768324180108351918730568664834598944686748064180785332628487222776941495557716133954629373397669694008217719549869625220015325361230213922131624486900874021444419179202804 42738685626212086647183516416023564786332849028906484182015615244300962957054377048869008927391811138091438144417835791254846408724300118007070776881550274556216934893032242371029780766400341079702806520123383565009636543244525094151269522228665775707335070388781678265918753375160868693129957843058498463724009346639181414021511798585427861092644882799069060201190880998078083850124831011317022624973238905064344494537043456547303853233215068534976242507746211309475961007360556950247066419203830426132530050222478014433375970090418880051617316458540212724354024913162199619885074359081535933616214287141472275909081004041030022259070330759238878102245246634277468131836428440854745811865858219430406489124692103204592627135536985625684081260711704871172145258236018934936406418669570958543831639692118713371363224376681446184817597207502093048468579199003432480382627474425459710869614243002962341921199514083940749447527909035945370847780688748213073779002591597432845107233058257936379371167567082579209246252821159365273796894206037327126974209688620120306375906524763230509897713702555741337723770651915942507798507091467947553736354539443126210720470402642067948416545768521501255964040792302517404033210631558057228494090047254451541204875984640958459576333052625386824922300233440596579186689371702324698209685490155537091732920226313817527141320685370851297368847 69152645977707740061675763963749519089995174923760197131641018915112158071554192320400544270726604563682327527136426567011621241176567620633771009524325080866046190379324473441932702823239520815326777485201845558374173626991728751448846072353655144251899885335592623685162176234812575192389207711821718543509140891691550490360480222683564942902923412825467025182889356888498231180928474153961856102334925555040393423131129148681582503964017097402553708110762498176443373257925384177298327226515739632746032979503944103080186337027509199210562450164735680835894741614474527838534339436828807995223808556635760315291217403595924052281712537403146957370464177259121171423514644443189976434823181516582307661176317229067121914334189833673896466389028570619113567771597016849285742771014349147749021726533260802870321416474544924680099245348378370578551435239769819185861527751580154560104392316194693331210232269090924402493077364616554840930581948904222218597475787803205519069185243377671071707761723617694918550454132342346138731652110809136775834261088487302239996894655507011128974368928331194271929585194567253180009009410122339884916719112944163285760138470395997361286834832771589916029109223419963172357390739909975959062754881853396227952940165426291088063555829566882382638434188069969976856383379920044248079310710170862452963134148445442014042194706815270476571651 111891331603919826708859280379773083876328023952666681313656634159413121028608569369269553198118415701773765671554262358266467649900867738640841786405875355422263125272356715812962483589639861895029584005325229123383810170236253845600115594582320919959234955724374301951080929609973443885519165554880217007233150238330731904381992021268992803995568295624536085384080237886576315031053305165278878727308164460104737917668172605228886357197232165937529950618508709485919334265285941127545393645719570058878563029726422117513562307117928079262179766623275893560248766527636727458419413795910343928840022843777232591200298407636954074540782868162385835472709423893398639555351072884044722246689039736012714150301009332271714541469726819299580547649740275490285713029833035784222149189683920106292853366225379516241684640851226370864916842555880463627020014438773251666244155226005614270974006559197655673131431783174865151940605273652500211778362637652435292376478379400638364176418301635607451078929290700274127796706953501711412528546316846463902808470777107422546372801180270241638872082630886935609653355846483195687807516501590287438653073652387289496480608873038065309703380601293091171993150015722480576390601371468033187556844929107847769157816150067249547639888882192269207560734421510566556043072751622368946288996200326399544696054374759259541183515392186121773940498 181043977581627566770535044343522602966323198876426878445297653074525279100162761689670097468845020265456093198690688925278088891077435359274612795930200436288309315651681189254895186412879382710356361490527074681757983797227982597048961666935976064211134841059966925636243105844786019077908373266701935550742291130022282394742472243952557746898491708450003110566969594775074546211981779319240734829643090015145131340799301753910468861161249263340083658729271207662362707523211325304843720872235309691624596009230366220593748644145437278472742216788011574396143508142111255296953753232739151924063831400412992906491515811232878126822495405565532792843173601152519810978865717327234698681512221252595021811477326561338836455803916652973477014038768846109399280801430052633507891960698269254041875092758640319112006057325771295545016087904258834205571449678543070852105682977585768831078398875392349004341664052265789554433682638269055052708944586556657510973954167203843883245603545013278522786691014317969046347161085844057551260198427655600678642731865594724786369695835777252767846451559218129881582941041050448867816525911712627323569792765331452782240747343434062670990215434064681088022259239142443748747992111378009146619599810961243997110756315493540635703444711759151590199168609580536532899456131542413194368306910497261997659188523204701555225710099001392250512149 292935309185547393479394324723295686842651222829093559758954287233938400128771331058939650666963435967229858870244951283544556540978303097915454582336075791710572440924037905067857670002519244605385945495852303805141793967464236442649077261518296984170369796784341227587324035454759462963427538821582152557975441368353014299124464265221550550894060004074539195951049832661650861243035084484519613556951254475249869258467474359139355218358481429277613609347779917148282041788497266432389114517954879750503159038956788338107310951263365357734921983411287467956392274669747982755373167028649495852903854244190225497691814218869832201363278273727918628315883025045918450534216790211279420928201260988607735961778335893610550997273643472273057561688509121599684993831263088417730041150382189360334728458984019835353690698176997666409932930460139297832591464117316322518349838203591383102052405434590004677473095835440654706374287911921555264487307224209092803350432546604482247422021846648885973865620305018243174143868039345768963788744744502064581451202642702147332742497016047494406718534190105065491236296887533644555624042413302914762222866417718742278721356216472127980693596035357772260015409254864924325138593482846042334176444740069091766268572465560790183343333593951420797759903031091103088942528883164782140657303110823661542355242897963961096409225491187514024452647 473979286767174960249929369066818289808974421705520438204251940308463679228934092748609748135808456232685952068935640208822645432055738457190067378266276227998881756575719094322752856415398627315742306986379378486899777764692219039698038928454273048381504637844308153223567141299545482041335912088284088108717732498375296693866936509174108297792551712524542306518019427436725407455016863803760348386594344490395000599266776113049824079519730692617697268077051124810644749311708591737232835390190189442127755048187154558701059595408802636207664200199299042352535782811859238052326920261388647776967685644603218404183330030102710328185773679293451421159056626198438261513082507538514119609713482241202757773255662454949387453077560125246534575727277967709084274632693141051237933111080458614376603551742660154465696755502768961954949018364398132038162913795859393370455521181177151933130804309982353681814759887706444260807970550190610317196251810765750314324386713808326130667625391662164496652311319336212220491029125189826515048943172157665260093934508296872119112192851824747174564985749323195372819237928584093423440568325015542085792659183050195060962103559906190651683811469422453348037668494007368073886585594224051480796044551030335763379328781054330819046778305710572387959071640671639621841985014707195335025610021320923540014431421168662651634935590188906274964796 766914595952722353729323693790113976651625644534613997963206227542402079357705423807549398802771892199915810939180591492367201973034041555105521960602352019709454197499756999390610526417917871921128252482231682292041571732156455482347116189972570032551874434628649380810891176754304945004763450909866240666693173866728310992991400774395658848686611716599081502469069260098376268698051948288279961943545598965644869857734250472189179297878212121895310877424831041958926791100205858169621949908145069192630914087143942896808370546672167993942586183610586510308928057481607220807700087290038143629871539888793443901875144248972542529549051953021370049474939651244356712047299297749793540537914743229810493735033998348559938450351203597519592137415787089308769268463956229468967974261462647974711332010726679989819387453679766628364881948824537429870754377913175715888805359384768535035183209744572358359287855723147098967182258462112165581683559034974843117674819260412808378089647238311050470517931624354455394634897164535595478837687916659729841545137150999019451854689867872241581283519939428260864055534816117737979064610738318456848015525600768937339683459776378318632377407504780225608053077748872292399025179077070093814972489291099427529647901246615121002390111899661993185718974671762742710784513897871977475682913132144585082369674319132623748044161081376420299417443 1240893882719897313979253062856932266460600066240134436167458167850865758586639516556159146938580348432601763008116231701189847405089780012295589338868628247708335954075476093713363382833316499236870559468611060778941349496848674522045155118426843080933379072472957534034458318053850427046099362998150328775410906365103607686858337283569767146479163429123623808987088687535101676153068812092040310330139943456039870457001026585239003377397942814513008145501882166769571540411914449906854785298335258634758669135331097455509430142080970630150250383809885552661463840293466458860027007551426791406839225533396662306058474279075252857734825632314821470633996277442794973560381805288307660147628225471013251508289660803509325903428763722766126713143065057017853543096649370520205907372543106589087935562469340144285084209182535590319830967188935561908917291709035109259260880565945686968314014054554712041102615610853543227990229012302775898879810845740593431999205974221134508757272629973214967170242943690667615125926289725421993886631088817395101639071659295891570966882719696988755848505688751456236874772744701831402505179063333998933808184783819132400645563336284509284061218974202678956090746242879660472911764671294145295768533842129763293027230027669451821436890205372565573678046312434382332626498912579172810708523153465508622384105740301286399679096671565326574382239 2007808478672619667708576756647046243112225710774748434130664395393267837944344940363708545741352240632517573947296823193557049378123821567401111299470980267417790151575233093103973909251234371157998811950842743070982921229005130004392271308399413113485253507101606914845349494808155372050862813908016569442104080231831918679849738057965425995165775145722705311456157947633477944851120760380320272273685542421684740314735277057428182675276154936408319022926713208728498331512120308076476735206480327827389583222475040352317800688753138624092836567420472062970391897775073679667727094841464935036710765422190106207933618528047795387283877585336191520108935928687151685607681103038101200685542968700823745243323659152069264353779967320285718850558852146326622811560605599989173881634005754563799267573196020134104471662862302218684712916013472991779671669622210825148066239950714222003497223799127070400390471334000642195172487474414941480563369880715436549674025234633942886846919868284265437688174568045123009760823454261017472724319005477124943184208810294911022821572587569230337132025628179717100930307560819569381569789801652455781823710384588069740329023112662827916438626478982904564143823991751952871936943748364239110741023133229190822675131274284572823827002105034558759397020984197125043411012810451150286391436285610093704753780059433910147723257752941746873799682 3248702361392516981687829819503978509572825777014882870298122563244133596530984456919867692679932589065119336955413054894746896783213601579696700638339608515126126105650709186817337292084550870394869371419453803849924270725853804526437426426826256194418632579574564448879807812862005799096962176906166898217514986596935526366708075341535193141644938574846329120443246635168579621004189572472360582603825485877724610771736303642667186052674097750921327168428595375498069871924034757983331520504815586462148252357806137807827230830834109254243086951230357615631855738068540138527754102392891726443549990955586768513992092807123048245018703217651012990742932206129946659168062908326408860833171194171836996751613319955578590257208731043051845563701917203344476354657254970509379789006548861152887203135665360278389555872044837809004543883202408553688588961331245934407327120516659908971811237853681782441493086944854185423162716486717717379443180726456029981673231208855077395604192498257480404858417511735790624886749743986439466610950094294520044823280469590802593788455307266219092980531316931173337805080305521400784074968864986454715631895168407202140974586448947337200499845453185583520234570234631613344848708419658384406509556975358954115702361301954024645263892310407124333075067296631507376037511723030323097099959439075602327137885799735196547402354424507073448181921 5256510840065136649396406576151024752685051487789631304428786958637401434475329397283576238421284829697636910902709878088303946161337423147097811937810588782543916257225942279921311201335785241552868183370296546920907191954858934530829697735225669307903886086676171363725157307670161171147824990814183467659619066828767445046557813399500619136810713720569034431899404582802057565855310332852680854877511028299409351086471580700095368727950252687329646191355308584226568203436155066059808255711295914289537835580281178160145031519587247878335923518650829678602247635843613818195481197234356661480260756377776874721925711335170843632302580802987204510851868134817098344775744011364510061518714162872660741994936979107647854610988698363337564414260769349671099166217860570498553670640554615716686470708861380412494027534907140027689256799215881545468260630953456759555393360467374130975308461652808852841883558278854827618335203961132658860006550607171466531347256443489020282451112366541745842546592079780913634647573198247456939335269099771644988007489279885713616610027894835449430112556945110890438735387866340970165644758666638910497455605552995271881303609561610165116938471932168488084378394226383566216785652168022623517250580108588144938377492576238597469090894415441683092472088280828632419448524533481473383491395724685696031891665859169106695125612177448820321981603 8505213201457653631084236395655003262257877264804514174726909521881535031006313854203443931101217418762756247858122932983050842944551024726794512576150197297670042362876651466738648493420336111947737554789750350770831462680712739057267124162051925502322518666250735812604965120532166970244787167720350365877134053425702971413265888741035812278455652295415363552342651217970637186859499905325041437481336514177133961858207884342762554780624350438250973359783903959724638075360189824043139776216111500751686087938087315967972262350421357132579010469881187294234103373912153956723235299627248387923810747333363643235917804142293891877321284020638217501594800340947045003943806919690918922351885357044497738746550299063226444868197429406389409977962686553015575520875115541007933459647103476869573673844526740690883583406951977836693800682418290099156849592284702693962720480984034039947119699506490635283376645223709013041497920447850376239449731333627496513020487652344097678055304864799226247405009591516704259534322942233896405946219194066165032830769749476516210398483202101668523093088262042063776540468171862370949719727531625365213087500721402474022278196010557502317438317385354071604612964461015179561634360587681007923760137083947099054079853878192622114354786725848807425547155577460139795486036256511796480591355163761298359029551658904303242527966601955893770163524 13761724041522790280480642971806028014942928752594145479155696480518936465481643251487020169522502248460393158760832811071354789105888447873892324513960786080213958620102593746659959694756121353500605738160046897691738654635571673588096821897277594810226404752926907176330122428202328141392612158534533833536753120254470416459823702140536431415266366015984397984242055800772694752714810238177722292358847542476543312944679465042857923508574603125580619551139212543951206278796344890102948031927407415041223923518368494128117293870008605010914933988532016972836351009755767774918716496861605049404071503711140517957843515477464735509623864823625422012446668475764143348719550931055428983870599519917158480741487278170874299479186127769726974392223455902686674687092976111506487130287658092586260144553388121103377610941859117864383057481634171644625110223238159453518113841451408170922428161159299488125260203502563840659833124408983035099456281940798963044367744095833117960506417231340972089951601671297617894181896140481353345281488293837810020838259029362229827008511096937117953205645207152954215275856038203341115364486198264275710543106274397745903581805572167667434376789317522559688991358687398745778420012755703631441010717192535243992457346454431219583445681141290490518019243858288772214934560789993269864082750888446994390921217518073409937653578779404714092145127 22266937242980443911564879367461031277200806017398659653882606002400471496487957105690464100623719667223149406618955744054405632050439472600686837090110983377884000982979245213398608188176457465448343292949797248462570117316284412645363946059329520312548923419177642988935087548734495111637399326254884199413887173680173387873089590881572243693722018311399761536584707018743331939574310143502763729840184056653677274802887349385620478289198953563831592910923116503675844354156534714146087808143518915792910011456455810096089556220429962143493944458413204267070454383667921731641951796488853437327882251044504161193761319619758627386945148844263639514041468816711188352663357850746347906222484876961656219488037577234100744347383557176116384370186142455702250207968091652514420589934761569455833818397914861794261194348811095701076858164052461743781959815522862147480834322435442210869547860665790123408636848726272853701331044856833411338906013274426459557388231748177215638561722096140198337356611262814322153716219082715249751227707487903975053669028778838746037406994299038786476298733469195017991816324210065712065084213729889640923630606995800219925860001582725169751815106702876631293604323148413925340054373343384639364770854276482343046537200332623841697800467867139297943566399435748912010420597046505066344674106052208292749950769176977713180181545381360607862308651 36028661284503234192045522339267059292143734769992805133038302482919407961969600357177484270146221915683542565379788555125760421156327920474579161604071769458097959603081838960058567882932578818948949031109844146154308771951856086233460767956607115122775328172104550165265209976936823253030011484789418032950640293934643804332913293022108675108988384327384159520826762819516026692289120381680486022199031599130220587747566814428478401797773556689412212462062329047627050632952879604249035840070926330834133934974824304224206850090438567154408878446945221239906805393423689506560668293350458486731953754755644679151604835097223362896569013667889061526488137292475331701382908781801776890093084396878814700229524855404975043826569684945843358762409598358388924895061067764020907720222419662042093962951302982897638805290670213565459915645686633388407070038761021600998948163886850381791976021825089611533897052228836694361164169265816446438362295215225422601755975844010333599068139327481170427308212934111940047898115223196603096509195781741785074507287808200975864415505395975904429504378676347972207092180248269053180448699928153916634173713270197965829441807154892837186191896020399190982595681835812671118474386099088270805781571469017587038994546787055061281246149008429788461585643294037684225355157836498336208756856940655287140871986695051123117835124160765321954453778 58295598527483678103610401706728090569344540787391464786920908485319879458457557462867948370769941582906691971998744299180166053206767393075265998694182752835981960586061084173457176071109036284397292324059641394616878889268140498878824714015936635435324251591282193154200297525671318364667410811044302232364527467614817192206002883903680918802710402638783921057411469838259358631863430525183249752039215655783897862550454163814098880086972510253243805372985445551302894987109414318395123648214445246627043946431280114320296406310868529297902822905358425506977259777091611238202620089839311924059836005800148840345366154716981990283514162512152701040529606109186520054046266632548124796315569273840470919717562432639075788173953242121959743132595740814091175103029159416535328310157181231497927781349217844691899999639481309266536773809739095132189029854283883748479782486322292592661523882490879734942533900955109548062495214122649857777268308489651882159144207592187549237629861423621368764664824196926262201614334305911852847736903269645760128176316587039721901822499695014690905803112145542990198908504458334765245532913658043557557804320265998185755301808737618006938007002723275822276200004984226596458528759442472910170552425745499930085531747119678902979046616875569086405152042729786596235775754883003402553430962992863579890822755872028836298016669542125929816762429 94324259811986912295655924045995149861488275557384269919959210968239287420427157820045432640916163498590234537378532854305926474363095313549845160298254522294079920189142923133515743954041615103346241355169485540771187661219996585112285481972543750558099579763386743319465507502608141617697422295833720265315167761549460996538916176925789593911698786966168080578238232657775385324152550906863735774238247254914118450298020978242577281884746066942656017835047774598929945620062293922644159488285371577461177881406104418544503256401307096452311701352303646746884065170515300744763288383189770410791789760555793519496970989814205353180083176180041762567017743401661851755429175414349901686408653670719285619947087288044050832000522927067803101895005339172480099998090227180556236030379600893540021744300520827589538804930151522831996689455425728520596099893044905349478730650209142974453499904315969346476430953183946242423659383388466304215630603704877304760900183436197882836698000751102539191973037131038202249512449529108455944246099051387545202683604395240697766238005090990595335307490821890962406000684706603818425981613586197474191978033536196151584743615892510844124198898743675013258795686820039267577003145541561180976333997214517517124526293906733964260292765883998874866737686023824280461130912719501738762187819933518867031694742567079959415851793702891251771216207 152619858339470590399266325752723240430832816344775734706880119453559166878884715282913381011686105081496926509377277153486092527569862706625111158992437275130061880775204007306972920025150651387743533679229126935388066550488137083991110195988480385993423831354668936473665805028279459982364833106878022497679695229164278188744919060829470512714409189604952001635649702496034743956015981432046985526277462910698016312848475142056676161971718577195899823208033220150232840607171708241039283136499816824088221827837384532864799662712175625750214524257662072253861324947606911982965908473029082334851625766355942359842337144531187343463597338692194463607547349510848371809475442046898026482724222944559756539664649720683126620174476169189762845027601079986571275101119386597091564340536782125037949525649738672281438804569632832098533463265164823652785129747328789097958513136531435567115023786806849081418964854139055790486154597511116161992898912194529186920044391028385432074327862174723907956637861327964464451126783835020308791983002321033305330859920982280419668060504786005286241110602967433952604909189164938583671514527244241031749782353802194337340045424630128851062205901466950835534995691804265864035531904984034091146886422960017447210058041026412867239339382759567961271889728753610876696906667602505141315618782926382446922517498439108795713868463245017181587978636 246944118151457502694922249798718390292321091902160004626839330421798454299311873102958813652602268580087161046755810007792019001932958020174956319290691797424141800964346930440488663979192266491089775034398612476159254211708133669103395677961024136551523411118055679793131312530887601600062255402711742762994862990713739185283835237755260106626107976571120082213887935153810129280168532338910721300515710165612134763146496120299253443856464644138555841043080994749162786227234002163683442624785188401549399709243488951409302919113482722202526225609965719000745390118122212727729196856218852745643415526911735879339308134345392696643680514872236226174565092912510223564904617461247928169132876615279042159611737008727177452174999096257565946922606419159051375099209613777647800370916383018577971269950259499870977609499784354930530152720590552173381229640373694447437243786740578541568523691122818427895395807323002032909813980899582466208529515899406491680944574464583314911025862925826447148610898459002666700639233364128764736229101372420850533543525377521117434298509876995881576418093789324915010909873871542402097496140830438505941760387338390488924789040522639695186404800210625848793791378624305131612535050525595272123220420174534964334584334933146831499632148643566836138627414777435157158037580322006880077806602859901313954212241006188755129720256947908433359194843 399563976490928093094188575551441630723153908246935739333719449875357621178196588385872194664288373661584087556133087161278111529502820726800067478283129072554203681739550937747461584004342917878833308713627739411547320762196270753094505873949504522544947242472724616266797117559167061582427088509589765260674558219878017374028754298584730619340517166176072083849537637649844873236184513770957706826793173076310151075994971262355929605828183221334455664251114214899395626834405710404722725761285005225637621537080873484274102581825658347952740749867627791254606715065729124710695105329247935080495041293267678239181645278876580040107277853564430689782112442423358595374380059508145954651857099559838798699276386729410304072349475265447328791950207499145622650200329000374739364711453165143615920795599998172152416414069417187029063615985755375826166359387702483545395756923272014108683547477929667509314360661462057823395968578410698628201428428093935678600988965492968746985353725100550355105248759786967131151766017199149073528212103693454155864403446359801537102359014663001167817528696756758867615819063036480985769010668074679537691542741140584826264834465152768546248610701677576684328787070428570995648066955509629363270106843134552411544642375959559698738971531403134797410517143531046033854944247924512021393425385786283760876729739445297550843588720192925614947173479 646508094642385595789110825350160021015475000149095743960558780297156075477508461488831008316890642241671248602888897169070130531435778746975023797573820869978345482703897868187950247983535184369923083748026351887706574973904404422197901551910528659096470653590780296059928430090054663182489343912301508023669421210591756559312589536339990725966625142747192166063425572803655002516353046109868428127308883241922285839141467382655183049684647865473011505294195209648558413061639712568406168386070193627187021246324362435683405500939141070155266975477593510255352105183851337438424302185466787826138456820179414118520953413221972736750958368436666915956677535335868818939284676969393882820989976175117840858888123738137481524524474361704894738872813918304674025299538614152387165082369548162193892065550257672023394023569201541959593768706345927999547589028076177992833000710012592650252071169052485937209756468785059856305782559310281094409957943993342170281933539957552061896379588026376802253859658245969797852405250563277838264441205065875006397946971737322654536657524539997049393946790546083782626728936908023387866506808905118043633303128478975315189623505675408241435015501888202533122578449052876127260602006035224635393327263309087375879226710892706530238603680046701633549144558308481191012981828246518901471231988646185074830941980451486305973308977140834048306368322 1046072071133313688883299400901601651738628908396031483294278230172513696655705049874703202981179015903255336159021984330348242060938599473775091275856949942532549164443448805935411831987878102248756392461654091299253895736100675175292407425860033181641417896063504912326725547649221724764916432421891273284343979430469773933341343834924721345307142308923264249912963210453499875752537559880826134954102056318232436915136438645011112655512831086807467169545309424547954039896045422973128894147355198852824642783405235919957508082764799418108007725345221301509958820249580462149119407514714722906633498113447092357702598692098552776858236222001097605738789977759227414313664736477539837472847075734956639558164510467547785596873949627152223530823021417450296675499867614527126529793822713305809812861150255844175810437638618728988657384692101303825713948415778661538228757633284606758935618646982153446524117130247117679701751137720979722611386372087277848882922505450520808881733313126927157359108418032936929004171267762426911792653308759329162262350418097124191639016539202998217211475487302842650242547999944504373635517476979797581324845869619560141454457970828176787683626203565779217451365519481447122908668961544853998663434106443639787423869086852266228977575211449836430959661701839527224867926076171030922864657374432468835707671719896783856816897697333759663253541801 1692580165775699284672410226251761672754103908545127227254837010469669772133213511363534211298069658144926584761910881499418372592374378220750115073430770812510894647147346674123362079971413286618679476209680443186960470710005079597490308977770561840737888549654285208386653977739276387947405776334192781308013400641061530492653933371264712071273767451670456415976388783257154878268890605990694563081410939560154722754277906027666295705197478952280478674839504634196512452957685135541535062533425392480011664029729598355640913583703940488263274700822814811765310925433431799587543709700181510732771954933626506476223552105320525513609194590437764521695467513095096233252949413446933720293837051910074480417052634205685267121398423988857118269695835335754970700799406228679513694876192261468003704926700513516199204461207820270948251153398447231825261537443854839531061758343297199409187689816034639383733873599032177536007533697031260817021344316080620019164856045408072870778112901153303959612968076278906726856576518325704750057094513825204168660297389834446846175674063742995266605422277848926432869276936852527761502024285884915624958148998098535456644081476503585029118641705453981750573943968534323250169270967580078634056761369752727163303095797744972759216178891496538064508806260148008415880907904417549824335889363078653910538613700348270162790206674474593711559910123 2738652236909012973555709627153363324492732816941158710549115240642183468788918561238237414279248674048181920920932865829766614653312977694525206349287720755043443811590795480058773911959291388867435868671334534486214366446105754772782716403630595022379306445717790120713379525388498112712322208756084054592357380071531304425995277206189433416580909760593720665889351993710654754021428165871520698035512995878387159669414344672677408360710310039087945844384814058744466492853730558514663956680780591332836306813134834275598421666468739906371282426168036113275269745683012261736663117214896233639405453047073598833926150797419078290467430812438862127434257490854323647566614149924473557766684127645031119975217144673233052718272373616009341800518856753205267376299273843206640224670014974773813517787850769360375014898846438999936908538090548535650975485859633501069290515976581806168123308463016792830257990729279295215709284834752240539632730688167897868047778550858593679659846214280231116972076494311843655860747786088131661849747822584533330922647807931571037814690602945993483816897765151769083111824936797032135137541762864713206282994867718095598098539447331761816802267909019760968025309488015770373077939929124932632720195476196366950726964884597238988193754102946374495468467961987535640748833980588580747200546737511122746246285420245054019607104371808353374813451924 4431232402684712258228119853405124997246836725486285937803952251111853240922132072601771625577318332193108505682843747329184987245687355915275321422718491567554338458738142154182135991930704675486115344881014977673174837156110834370273025381401156863117194995372075329100033503127774500659727985090276835900370780712592834918649210577454145487854677212264177081865740776967809632290318771862215261116923935438541882423692250700343704065907788991368424519224318692940978945811415694056199019214205983812847970842864432631239335250172680394634557126990850925040580671116444061324206826915077744372177407980700105310149702902739603804076625402876626649129725003949419880819563563371407278060521179555105600392269778878918319839670797604866460070214692088960238077098680071886153919546207236241817222714551282876574219360054259270885159691488995767476237023303488340600352274319879005577310998279051432213991864328311472751716818531783501356654075004248517887212634596266666550437959115433535076585044570590750382717324304413836411906842336409737499582945197766017883990364666688988750422320043000695515981101873649559896639566048749628831241143865816631054742620923835346845920909614473742718599253456550093623247210896705011266776956845949094114030060682342211747409932994442912559977274222135544056629741885006130571536436100589776656784899120593324182397311046282947086373362047 7169884639593725231783829480558488321739569542427444648353067491754036709711050633840009039856567006241290426603776613158951601899000333609800527772006212322597782270328937634240909903889996064353551213552349512159389203602216589143055741785031751885496501441089865449813413028516272613372050193846360890492728160784124139344644487783643578904435586972857897747755092770678464386311746937733735959152436931316929042093106595373021112426618099030456370363609132751685445438665146252570862975894986575145684277655999266906837756916641420301005839553158887038315850416799456323060869944129973978011582861027773704144075853700158682094544056215315488776563982494803743528386177713295880835827205307200136720367486923552151372557943171220875801870733548842165505453397953915092794144216222211015630740502402052236949234258900698270822068229579544303127212509163121841669642790296460811745434306742068225044249855057590767967426103366535741896286805692416415755260413147125260230097805329713766193557121064902594038578072090501968073756590158994270830505593005697588921805055269634982234239217808152464599092926810446592031777107811614342037524138733534726652841160371167108662723177523493503686624562944565863996325150825829943899497152322145461064757025566939450735603687097389287055445742184123079697378575865594711318736982838100899403031184540838378202004415418091300461186813971 11601117042278437490011949333963613318986406267913730586157019742865889950633182706441780665433885338434398932286620360488136589144687689525075849194724703890152120729067079788423045895820700739839666558433364489832564040758327423513328767166432908748613696436461940778913446531644047114031778178936637726393098941496716974263293698361097724392290264185122074829620833547646274018602065709595951220269360866755470924516798846073364816492525888021824794882833451444626424384476561946627061995109192558958532248498863699538077092166814100695640396680149737963356431087915900384385076771045051722383760269008473809454225556602898285898620681618192115425693707498753163409205741276667288113887726486755242320759756702431069692397613968825742261940948240931125743530496633986978948063762429447257447963216953335113523453618954957541707227921068540070603449532466610182269995064616339817322745305021119657258241719385902240719142921898319243252940880696664933642473047743391926780535764445147301270142165635493344421295396394915804485663432495404008330088538203463606805795419936323970984661537851153160115074028684096151928416673860363970868765282599351357707583781295002455508644087137967246405223816401115957619572361722534955166274109168094555178787086249281662483013620091832199615423016406258623754008317750600841890273418938690676059816083661431702384401726464374247547560176018 18771001681872162721795778814522101640725975810341175234510087234619926660344233340281789705290452344675689358890396973647088191043688023134876376966730916212749902999396017422663955799710696804193217771985714001991953244360544012656384508951464660634110197877551806228726859560160319727403828372782998616885827102280841113607938186144741303296725851157979972577375926318324738404913812647329687179421797798072399966609905441446385928919143987052281165246442584196311869823141708199197924971004179134104216526154862966444914849083455520996646236233308625001672281504715356707445946715175025700395343130036247513598301410303056967993164737833507604202257689993556906937591918989963168949714931793955379041127243625983221064955557140046618063811681789773291248983894587902071742207978651658273078703719355387350472687877855655812529296150648084373730662041629732023939637854912800629068179611763187882302491574443493008686569025264854985149227686389081349397733460890517187010633569774861067463699286700395938459873468485417772559420022654398279160594131209161195727600475205958953218900755659305624714166955494542743960193781671978312906289421332886084360424941666169564171367264661460750091848379345681821615897512548364899065771261490240016243544111816221113218617307189221486670868758590381703451386893616195553209010401776791575462847268202270080586406141882465548008746989989 30372118724150600211807728148485714959712382078254905820667106977485816610977416046723570370724337683110088291177017334135224780188375712659952226161455620102902023728463097211087001695531397544032884330419078491824517285118871436169713276117897569382723894314013747007640306091804366841435606551719636343278926043777558087871231884505839027689016115343102047406996759865971012423515878356925638399691158664827870891126704287519750745411669875074105960129276035640938294207618270145824986966113371693062748774653726665982991941250269621692286632913458362965028712592631257091831023486220077422779103399044721323052526966905955253891785419451699719627951397492310070346797660266630457063602658280710621361887000328414290757353171108872360325752630030704416992514391221889050690271741081105530526666936308722463996141496810613354236524071716624444334111574096342206209632919529140446390924916784307539560733293829395249405711947163174228402168567085746283040206508633909113791169334220008368733841452335889282881168864880333577045083455149802287490682669412624802533395895142282924203562293510458784829240984178638895888610455532342283775054703932237442068008722961172019680011351799427996497072195746797779235469874270899854232045370658334571422331198065502775701630927281053686286291774996640327205395211366796395099283820715482251522663351863701782970807868346839795556307166007 49143120406022762933603506963007816600438357888596081055177194212105743271321649387005360076014790027785777650067414307782312971232063735794828603128186536315651926727859114633750957495242094348226102102404792493816470529479415448826097785069362230016834092191565553236367165651964686568839434924502634960164753146058399201479170070650580330985741966501082019984372686184295750828429691004255325579112956462900270857736609728966136674330813862126387125375718619837250164030759978345022911937117550827166965300808589632427906790333725142688932869146766987966700994097346613799276970201395103123174446529080968836650828377209012221884950157285207323830209087485866977284389579256593626013317590074666000403014243954397511822308728248918978389564311820477708241498285809791122432479719732763803605370655664109814468829374666269166765820222364708818064773615726074230149270774441941075459104528547495421863224868272888258092280972428029213551396253474827632437939969524426300801802903994869436197540739036285221341042333365751349604503477804200566651276800621785998260996370348241877422463049169764409543407939673181639848804237204320596681344125265123526428433664627341583851378616460888746588920575092479600851367386819264753297816632148574587665875309881723888920248234470275172957160533587022030656782104982991948308294222492273826985510620065971863557214010229305343565054155996 79515239130173363145411235111493531560150739966850986875844301189591559882299065433728930446739127710895865941244431641917537751420439448454780829289642156418553950456322211844837959190773491892258986432823870985640987814598286884995811061187259799399557986505579300244007471743769053410275041476222271303443679189835957289350401955156419358674758081844184067391369446050266763251945569361180963978804115127728141748863314016485887419742483737200493085504994655478188458238378248490847898903230922520229714075462316298410898731583994764381219502060225350931729706689977870891107993687615180545953549928125690159703355344114967475776735576736907043458160484978177047631187239523224083076920248355376621764901244282811802579661899357791338715316941851182125234012677031680173122751460813869334132037591972832278464970871476882521002344294081333262398885189822416436358903693971081521850029445331802961423958162102283507497992919591203441953564820560573915478146478158335414592972238214877804931382191372174504222211198246084926649586932954002854141959470034410800794392265490524801626025342680223194372648923851820535737414692736662880456398829197360968496442387588513603531389968260316743085992770839277380086837261090164607529862002806909159088206507947226664621879161751328859243452308583662357862177316349788343407578043207756078508173971929673646528021878576145139121361322003 128658359536196126079014742074501348160589097855447067931021495401697303153620714820734290522753917738681643591311845949699850722652503184249609432417828692734205877184181326478588916686015586240485088535228663479457458344077702333821908846256622029416392078697144853480374637395733739979114476400724906263608432335894356490829572025806999689660500048345266087375742132234562514080375260365436289557917071590628412606599923745452024094073297599326880210880713275315438622269138226835870810840348473347396679376270905930838805521917719907070152371206992338898430700787324484690384963889010283669127996457206658996354183721323979697661685734022114367288369572464044024915576818779817709090237838430042622167915488237209314401970627606710317104881253671659833475510962841471295555231180546633137737408247636942092933800246143151687768164516446042080463658805548490666508174468413022597309133973879298383287183030375171765590273892019232655504961074035401547916086447682761715394775142209747241128922930408459725563253531611836276254090410758203420793236270656196799055388635838766679048488391849987603916056863525002175586218929940983477137742954462484494924876052215855187382768584721205489674913345931756980938204647909429360827678634955483746754081817828950553542127396221604032200612842170684388518959421332780291715872265700029905493684591995645510085235888805450482686415477999 208173598666369489224425977185994879720739837822298054806865796591288863035919780254463220969493045449577509532556277591617388474072942632704390261707470849152759827640503538323426875876789078132744074968052534465098446158675989218817719907443881828815950065202724153724382109139502793389389517876947177567052111525730313780179973980963419048335258130189450154767111578284829277332320829726617253536721186718356554355463237761937911513815781336527373296385707930793627080507516475326718709743579395867626393451733222229249704253501714671451371873267217689830160407477302355581492957576625464215081546385332349156057539065438947173438421310759021410746530057442221072546764058303041792167158086785419243932816732520021116981632526964501655820198195522841958709523639873151468677982641360502471869445839609774371398771117620034208770508810527375342862543995370907102867078162384104119159163419211101344711141192477455273088266811610436097458525894595975463394232925841097129987747380424625046060305121780634229785464729857921202903677343712206274935195740690607599849780901329291480674513734530210798288705787376822711323633622677646357594141783659845463421318439804368790914158552981522232760906116771034361025041908999593968357540637762392905842288325776177218164006557972932891444065150754346746381136737682568635123450308907785984001858563925319156613257767381595621807776800002 336831958202565615303440719260496227881328935677745122737887291992986166189540495075197511492246963188259153123868123541317239196725445816953999694125299541886965704824684864802015792562804664373229163503281197944555904502753691552639628753700503858232342143899869007204756746535236533368503994277672083830660543861624670271009546006770418737995758178534716242142853710519391791412696090092053543094638258308984966962063161507389935607889078935854253507266421206109065702776654702162589520583927869215023072828004128160088509775419434578521524244474210028728591108264626840271877921465635747884209542842539008152411722786762926871100107044781135778034899629906265097462340877082859501257395925215461866100732220757230431383603154571211972925079449194501792185034602714622764233213821907135609606854087246716464332571363763185896538673326973417423326202800919397769375252630797126716468297393090399727998324222852627038678540703629668752963486968631377011310319373523858845382522522634372287189228052189093955348718261469757479157767754470409695728432011346804398905169537168058159723002126380198402204762650901824886909852552618629834731884738122329958346194492020223978296927137702727722435819462702791341963246556909023329185219272717876652596370143605127771706133954194536923644677992925031134900096159015348926839322574607815889495543155920964666698493656187046104494192278001 545005556868935104527866696446491107602068773500043177544753088584275029225460275329660732461740008637836662656424401132934627670798388449658389955832770391039725532465188403125442668439593742505973238471333732409654350661429680771457348661144385687048292209102593160929138855674739326757893512154619261397712655387354984051189519987733837786331016308724166396909965288804221068745016919818670796631359445027341521317526399269327847121704860272381626803652129136902692783284171177489308230327507265082649466279737350389338214028921149249972896117741427718558751515741929195853370879042261212099291089227871357308469261852201874044538528355540157188781429687348486170009104935385901293424554012000881110033548953277251548365235681535713628745277644717343750894558242587774232911196463267638081476299926856490835731342481383220105309182137500792766188746796290304872242330793181230835627460812301501072709465415330082311766807515240104850422012863227352474704552299364955975370269903058997333249533173969728185134182991327678682061445098182615970663627752037411998754950438497349640397515860910409200493468438278647598233486175296276192326026521782175421767512931824592769211085690684249955196725579473825702988288465908617297542759910480269558438658469381304989870140512167469815088743143679377881281232896697917561962772883515601873497401719846283823311751423568641726301969078003 881837515071500719831307415706987335483397709177788300282640380577261195415000770404858243953986971826095815780292524674251866867523834266612389649958069932926691237289873267927458461002398406879202401974614930354210255164183372324096977414844889545280634353002462168133895602209975860126397506432291345228373199248979654322199065994504256524326774487258882639052818999323612860157713009910724339725997703336326488279589560776717782729593939208235880310918550343011758486060825879651897750911435134297672539107741478549426723804340583828494420362215637747287342624006556036125248800507896959983500632070410365460880984638964800915638635400321292966816329317254751267471445812468760794681949937216342976134281174034481979748838836106925601670357093911845543079592845302396997144410285174773691083154014103207300063913845146406001847855464474210189514949597209702641617583423978357552095758205391900800707789638182709350445348218869773603385499831858729486014871672888814820752792425693369620438761226158822140482901252797436161219212852653025666392059763384216397660119975665407800120517987290607602698231089180472485143338727914906027057911259904505380113707423844816747508012828386977677632545042176617044951535022817640626727979183198146211035028612986432761576274466362006738733421136604409016181329055713266488802095458123417762992944875767248490010245079755687830796161356004 1426843071940435824359174112153478443085466482677831477827393469161536224640461045734518976415726980463932478436716925807186494538322222716270779605790840323966416769755061671052901129441992149385175640445948662763864605825613053095554326075989275232328926562105055329063034457884715186884291018586910606626085854636334638373388585982238094310657790795983049035962784288127833928902729929729395136357357148363668009597115960046045629851298799480617507114570679479914451269344997057141205981238942399380322005387478828938764937833261733078467316479957065465846094139748485231978619679550158172082791721298281722769350246491166674960177163755861450155597759004603237437480550747854662088106503949217224086167830127311733528114074517642639230415634738629189293974151087890171230055606748442411772559453940959698135795256326529626107157037601975002955703696393500007513859914217159588387723219017693401873417255053512791662212155734109878453807512695086081960719423972253770796123062328752366953688294400128550325617084244125114843280657950835641637055687515421628396415070414162757440518033848201016803191699527459120083376824903211182219383937781686680801881220355669409516719098519071227632829270621650442747939823488726257924270739093678415769473687082367737751446414978529476553822164280283786897462561952411184050764868341639019636490346595613532313321996503324329557098130434007 2308680587011936544190481527860465778568864191855619778110033849738797420055461816139377220369713952290028294217009450481438361405846056982883169255748910256893108007044934938980359590444390556264378042420563593118074860989796425419651303490834164777609560915107517497196930060094691047010688525019201951854459053885314292695587651976742350834984565283241931675015603287451446789060442939640119476083354851699994497876705520822763412580892738688853387425489229822926209755405822936793103732150377533677994544495220307488191661637602316906961736842172703213133436763755041268103868480058055132066292353368692088230231231130131475875815799156182743122414088321857988704951996560323422882788453886433567062302111301346215507862913353749564832085991832541034837053743933192568227200017033617185463642607955062905435859170171676032109004893066449213145218645990709710155477497641137945939818977223085302674125044691695501012657503952979652057193012526944811446734295645142585616875854754445736574127055626287372466099985496922551004499870803488667303447747278805844794075190389828165240638551835491624405889930616639592568520163631126088246441849041591186181994927779514226264227111347458205310461815663827059792891358511543898550998718276876561980508715695354170513022689444891483292555585416888195913643891008124450539566963799762437399483291471380780803332241583080017387894291790011 3735523658952372368549655640013944221654330674533451255937427318900333644695922861873896196785440932753960772653726376288624855944168279699153948861539750580859524776799996610033260719886382705649553682866512255881939466815409478515205629566823440009938487477212572826259964517979406233894979543606112558480544908521648931068976237958980445145642356079224980710978387575579280717963172869369514612440712000063662507473821480868809042432191538169470894540059909302840661024750819993934309713389319933058316549882699136426956599470864049985429053322129768678979530903503526500082488159608213304149084074666973810999581477621298150835992962912044193278011847326461226142432547308178084970894957835650791148469941428657949035976987871392204062501626571170224131027895021082739457255623782059597236202061896022603571654426498205658216161930668424216100922342384209717669337411858297534327542196240778704547542299745208292674869659687089530511000525222030893407453719617396356412998917083198103527815350026415922791717069741047665847780528754324308940503434794227473190490260803990922681156585683692641209081630144098712651896988534337270465825786823277866983876148135183635780946209866529432943291086285477502540831182000270156475269457370554977749982402777721908264469104423420959846377749697171982811106452960535634590331832141401457035973638066994313116654238086404346944992422224018 6044204245964308912740137167874410000223194866389071034047461168639131064751384678013273417155154885043989066870735826770063217350014336682037118117288660837752632783844931549013620310330773261913931725287075849000014327805205903934856933057657604787548048392320090323456894578074097280905668068625314510335003962406963223764563889935722795980626921362466912385993990863030727507023615809009634088524066851763657005350527001691572455013084276858324281965549139125766870780156642930727413445539697466736311094377919443915148261108466366892390790164302471892112967667258567768186356639666268436215376428035665899229812708751429626711808762068226936400425935648319214847384543868501507853683411722084358210772052730004164543839901225141768894587618403711258968081638954275307684455640815676782699844669851085509007513596669881690325166823734873429246140988374919427824814909499435480267361173463864007221667344436903793687527163640069182568193537748975704854188015262538942029874771837643840101942405652703295257817055237970216852280399557812976243951182073033317984565451193819087921795137519184265614971560760738305220417152165463358712267635864869053165871075914697862045173321213987638253752901949304562333722540511814055026268175647431539730491118473076078777491793868312443138933335114060178724750343968660085129898795941163894435456929538375093919986479669484364332886714014029 9779727904916681281289792807888354221877525540922522289984888487539464709447307539887169613940595817797949839524462203058688073294182616381191066978828411418612157560644928159046881030217155967563485408153588104881953794620615382450062562624481044797486535869532663149716859096053503514800647612231427068815548870928612154833540127894703241126269277441691893096972378438610008224986788678379148700964778851827319512824348482560381497445275815027795176505609048428607531804907462924661723158929017399794627644260618580342104860579330416877819843486432240571092498570762094268268844799274481740364460502702639710229394186372727777547801724980271129678437782974780440989817091176679592824578369557735149359241994158662113579816889096533972957089244974881483099109533975358047141711264597736379936046731747108112579168023168087348541328754403297645347063330759129145494152321357733014594903369704642711769209644182112086362396823327158713079194062971006598261641734879935298442873688920841943629757755679119218049534124979017882700060928312137285184454616867260791175055711997810010602951723202876906824053190904837017872314140699800629178093422688146920149747224049881497826119531080517071197043988234782064874553722512084211501537633017986517480473521250797987041960898291733402985311084811232161535856796929195719720230628082565351471430567605369407036640717755888711277879136238047 15823932150880990194029929975762764222100720407311593324032349656178595774198692217900443031095750702841938906395198029828751290644196953063228185096117072256364790344489859708060501340547929229477417133440663953881968122425821286384919495682138649585034584261852753473173753674127600795706315680856741579150552833335575378598104017830426037106896198804158805482966369301640735732010404487388782789488845703590976518174875484251953952458360091886119458471158187554374402585064105855389136604468714866530938738638538024257253121687796783770210633650734712463205466238020662036455201438940750176579836930738305609459206895124157404259610487048498066078863718623099655837201635045181100678261781279819507570014046888666278123656790321675741851676863378592742067191172929633354826166905413413162635891401598193621586681619837969038866495578138171074593204319134048573318967230857168494862264543168506718990876988619015880049923986967227895647387600719982303115829750142474240472748460758485783731700161331822513307351180216988099552341327869950261428405798940294109159621163191629098524746860722061172439024751665575323092731292865263987890361058553015973315618299964579359871292852294504709450796890184086627208276263023898266527805808665418057210964639723874065819452692160045846124244419925292340260607140897855804850129424023729245906887497143744500956627197425373075610765850252076 25603660055797671475319722783651118443978245948234115614017238143718060483645999757787612645036346520639888745919660232887439363938379569444419252074945483674976947905134787867107382370765085197040902541594252058763921917046436668834982058306619694382521120131385416622890612770181104310506963293088168647966101704264187533431644145725129278233165476245850698579938747740250743956997193165767931490453624555418296030999223966812335449903635906913914634976767235982981934389971568780050859763397732266325566382899156604599357982267127200648030477137166953034297964808782756304724046238215231916944297433440945319688601081496885181807412212028769195757301501597880096827018726221860693502840150837554656929256041047328391703473679418209714808766108353474225166300706904991401967878170011149542571938133345301734165849643006056387407824332541468719940267649893177718813119552214901509457167912873149430760086632801127966412320810294386608726581663690988901377471485022409538915622149679327727361457917010941731356885305196005982252402256182087546612860415807554900334676875189439109127698583924938079263077942570412340965045433565064617068454481241162893465365524014460857697412383375021780647840878418868692082829985535982478029343441683404574691438160974672052861413590451779249109555504736524501796463937827051524570360052106294597378318064749113907993267915181261786888644986490123 41427592206678661669349652759413882666078966355545708938049587799896656257844691975688055676132097223481827652314858262716190654582576522507647437171062555931341738249624647575167883711313014426518319675034916012645890039472257955219901553988758343967555704393238170096064366444308705106213278973944910227116654537599762912029748163555555315340061675050009504062905117041891479689007597653156714279942470259009272549174099451064289402361995998800034093447925423537356336975035674635439996367866447132856505121537694628856611103954923984418241110787901665497503431046803418341179247677155982093524134364179250929147807976621042586067022699077267261836165220220979752664220361267041794181101932117374164499270087935994669827130469739885456660442971732066967233491879834624756794045075424562705207829534943495355752531262844025426274319910679639794533471969027226292132086783072070004319432456041656149750963621420143846462244797261614504373969264410971204493301235164883779388370610437813511093158078342764244664236485412994081804743584052037808041266214747849009494298038381068207652445444646999251702102694235987664057776726430328604958815539794178866780983823979040217568705235669526490098637768602955319291106248559880744557149250348822631902402800698546118680866282611825095233799924661816842057071078724907329420489476130023843285205561892858408949895112606634862499410836742199 67031252262476333144669375543065001110057212303779824552066825943614716741490691733475668321168443744121716398234518495603630018520956091952066689246008039606318686154759435442275266082078099623559222216629168071409811956518694624054883612295378038350076824524623586718954979214489809416720242267033078875082756241863950445461392309280684593573227151295860202642843864782142223646004790818924645770396094814427568580173323417876624852265631905713948728424692659520338271365007243415490856131264179399182071504436851233455969086222051185066271587925068618531801395855586174645903293915371214010468431797620196248836409058117927767874434911106036457593466721818859849491239087488902487683942082954928821428526128983323061530604149158095171469209080085541192399792586739616158761923245435712247779767668288797089918380905850081813682144243221108514473739618920404010945206335286971513776600368914805580511050254221271812874565607556001113100550928101960105870772720187293318303992760117141238454615995353705976021121790609000064057145840234125354654126630555403909828974913570507316780144028571937330965180636806400005022822159995393222027270021035341760246349347993501075266117619044548270746478647021824011373936234095863222586492692032227206593840961673218171542279873063604344343355429398341343853535016551958853990849528236318440663523626641972316943163027787896649388055823232322 108458844469154994814019028302478883776136178659325533490116413743511372999335383709163723997300540967603544050549376758319820673103532614459714126417070595537660424404384083017443149793391114050077541891664084084055701995990952579274785166284136382317632528917861756815019345658798514522933521240977989102199410779463713357491140472836239908913288826345869706705748981824033703335012388472081360050338565073436841129347422868940914254627627904513982821872618083057694608340042918050930852499130626532038576625974545862312580190176975169484512698712970284029304826902389592987082541592527196103992566161799447177984217034738970353941457610183303719429631942039839602155459448755944281865044015072302985927796216919317731357734618897980628129652051817608159633284466574240915555968320860274952987597203232292445670912168694107239956464153900748309007211587947630303077293118359041518096032824956461730262013875641415659336810404817615617474520192512931310364073955352177097692363370554954749547774073696470220685358276021994145861889424286163162695392845303252919323272951951575524432589473218936582667283331042387669080598886425721826986085560829520627027333171972541292834822854714074760845116415624779330665042482655743967143641942381049838496243762371764290223146155675429439577155354060158185910606095276866183411339004366342283948729188534830725893058140394531511887466659974521 175490096731631327958688403845543884886193390963105358042183239687126089740826075442639392318468984711725260448783895253923450691624488706411780815663078635143979110559143518459718415875469213673636764108293252155465513952509647203329668778579514420667709353442485343533974324873288323939653763508011067977282167021327663802952532782116924502486515977641729909348592846606175926981017179291006005820734659887864409709520746286817539106893259810227931550297310742578032879705050161466421708630394805931220648130411397095768549276399026354550784286638038902561106222757975767632985835507898410114460997959419643426820626092856898121815892521289340177023098663858699451646698536244846769548986098027231807356322345902640792888338768056075799598861131903149352033077053313857074317891566295987200767364871521089535589293074544189053638608397121856823480951206868034314022499453646013031872633193871267310773064129862687472211376012373616730575071120614891416234846675539470415996356130672095988002390069050176196706480066630994209919035264520288517349519475858656829152247865522082841212733501790873913632463967848787674103421046421115049013355581864862387273682519966042368100940473758623031591595062646603342038978716751607189730134634413277045090084724044982461765426028739033783920510783458499529764141111828825037402188532602660724612252815176803042836221168182428161275522483206843 283948941200786322772707432148022768662329569622430891532299653430637462740161459151803116315769525679328804499333272012243271364728021320871494942080149230681639534963527601477161565668860327723714305999957336239521215948500599782604453944863650802985341882360347100348993670532086838462587284748989057079481577800791377160443673254953164411399804803987599616054341828430209630316029567763087365871073224961301250838868169155758453361520887714741914372169928825635727488045093079517352561129525432463259224756385942958081129466576001524035296985351009186590411049660365360620068377100425606218453564121219090604804843127595868475757350131472643896452730605898539053802157985000791051414030113099534793284118562821958524246073386954056427728513183720757511666361519888097989873859887156262153754962074753381981260205243238296293595072551022605132488162794815664617099792572005054549968666018827729041035078005504103131548186417191232348049591313127822726598920630891647513688719501227050737550164142746646417391838342652988355780924688806451680044912321161909748475520817473658365645322975009810496299747298891175343184019932846836875999441142694383014301015691938583660935763328472697792436711478271382672704021199407351156873776576794326883586328486416746751988572184414463223497666137518657715674747207105691220813527536969003008560982003711633768729279308576959673162989143181364 459439037932417650731395835993566653548522960585536249574482893117763552480987534594442508634238510391054064948117167266166722056352510027283275757743227865825618645522671119936879981544329541397351070108250588394986729901010246985934122723443165223653051235802832443882967995405375162402241048257000125056763744822119040963396206037070088913886320781629329525402934675036385557297046747054093371691807884849165660548388915442575992468414147524969845922467239568213760367750143240983774269759920238394479872886797340053849678742975027878586081271989048089151517272418341128253054212608324016332914562080638734031625469220452766597573242652761984073475829269757238505448856521245637820963016211126766600640440908724599317134412155010132227327374315623906863699438573201955064191751453452249354522326946274471516849498317782485347233680948144461955969114001683698931122292025651067581841299212698996351808142135366790603759562429564849078624662433742714142833767306431117929685075631899146725552554211796822614098318409283982565699959953326740197394431797020566577627768682995741206858056476800684409932211266739963017287440979267951925012796724559245401574698211904626029036703802231320824028306540917986014742999916158958346603911211207603928676413210461729213753998213153497007418176920977157245438888318934516258215716069571663733173234818888436811565500476759387834438511626388207 743387979133203973504103268141589422210852530207967141106782546548401015221148993746245624950008036070382869447450439278409993421080531348154770699823377096507258180486198721414041547213189869121065376108207924634507945849510846768538576668306816026638393118163179544231961665937462000864828333005989182136245322622910418123839879292023253325286125585616929141457276503466595187613076314817180737562881109810466911387257084598334445829935035239711760294637168393849487855795236320501126830889445670857739097643183283011930808209551029402621378257340057275741928322078706488873122589708749622551368126201857824636430312348048635073330592784234627969928559875655777559251014506246428872377046324226301393924559471546557841380485541964188655055887499344664375365800093090053054065611340608511508277289021027853498109703561020781640828753499167067088457276796499363548222084597656122131809965231526725392843220140870893735307748846756081426674253746870536869432687937322765443373795133126197463102718354543469031490156751936970921480884642133191877439344118182476326103289500469399572503379451810494906231958565631138360471460912114788801012237867253628415875713903843209689972467130704018616465018019189368687447021115566309503477687788001930812262741696878475965742570397567960230915843058495814961113635526040207479029243606540666741734216822600070580294779785336347507601500769569571 1202827017065621624235499104135156075759375490793503390681265439666164567702136528340688133584246546461436934395567606544576715477433041375438046457566604962332876826008869841350921528757519410518416446216458513029494675750521093754472699391749981250291444353966011988114929661342837163267069381262989307193009067445029459087236085329093342239172446367246258666860211178502980744910123061871274109254688994659632571935646000040910438298349182764681606217104407962063248223545379561484901100649365909252218970529980623065780486952526057281207459529329105364893445594497047617126176802317073638884282688282496558668055781568501401670903835436996612043404389145413016064699871027492066693340062535353067994565000380271157158514897696974320882383261814968571239065238666292008118257362794060760862799615967302325014959201878803266988062434447311529044426390798183062479344376623307189713651264444225721744651362276237684339067311276320930505298916180613251012266455243753883373058870765025344188655272566340291645588475161220953487180844595459932074833775915203042903731058183465140779361435928611179316164169832371101377758901891382740726025034591812873817450412115747835719009170932935339440493324560107354702190021031725267850081598999209534740939154907340205179496568610721457238334019979472972206552523844974723737244959676112330474907451641488507391860280262095735342040012395957778 1946214996198825597739602372276745497970228021001470531788047986214565582923285522086933758534254582531819803843018045822986708898513572723592817157389982058840135006495068562764963075970709279639481822324666437664002621600031940523011276060056797276929837472129191532346891327280299164131897714268978489329254390067939877211075964621116595564458571952863187808317487681969575932523199376688454846817570104470099483322903084639244884128284218004393366511741576355912736079340615881986027931538811580109958068173163906077711295162077086683828837786669162640635373916575754105999299392025823261435650814484354383304486093916550036744234428221231240013332949021068793623950885533738495565717108859579369388489559851817714999895383238938509537439149314313235614431038759382061172322974134669272371076904988330178513068905439824048628891187946478596132883667594682426027566461220963311845461229675752447137494582417108578074375060123077011931973169927483787881699143181076648816432665898151541651757990920883760677078631913157924408661729237593123952273120033385519229834347683934540351864815380421674222396128398002239738230362803497529527037272459066502233326126019591045408981638063639358056958342579296723389637042147291577353559286787211465553201896604218681145239139008289417469249863037968787167666159371014931216274203282652997216641668464088577972155060047432082849641513165527349 3149042013264447221975101476411901573729603511794973922469313425880730150625422050427621892118501128993256738238585652367563424375946614099030863614956587021173011832503938404115884604728228690157898268541124950693497297350553034277483975451806778527221281826095203520461820988623136327398967095531967796522263457512969336298312049950209937803631018320109446475177698860472556677433322438559728956072259099129732055258549084680155322426633400769074972728845984317975984302885995443470929032188177489362177038703144529143491782114603143965036297315998268005528819511072801723125476194342896900319933502766850941972541875485051438415138263658227852056737338166481809688650756561230562259057171394932437383054560232088872158410280935912830419822411129281806853496277425674069290580336928730033233876520955632503528028107318627315616953622393790125177310058392865488506910837844270501559112494119978168882145944693346262413442371399397942437272086108097038893965598424830532189491536663176885840413263487224052322667107074378877895842573833053056027106895948588562133565405867399681131226251309032853538560298230373341115989264694880270253062307050879376050776538135338881127990808996574697497451667139404078091827063179016845203640885786421000294141051511558886324735707619010874707583883017441759374218683215989654953519162958765327691549120105577085364015340309527818191681525561485127 5095257009463272819714703848688647071699831532796444454257361412095295733548707572514555650652755711525076542081603698190550133274460186822623680772346569080013146838999006966880847680698937969797380090865791388357499918950584974800495251511863575804151119298224395052808712315903435491530864809800946285851517847580909213509388014571326533368089590272972634283495186542442132609956521815248183802889829203599831538581452169319400206554917618773468339240587560673888720382226611325456956963726989069472135106876308435221203077276680230648865135102667430646164193427648555829124775586368720161755584317251205325277027969401601475159372691879459092070070287187550603312601642094969057824774280254511806771544120083906587158305664174851339957261560443595042467927316185056130462903311063399305604953425943962682041097012758451364245844810340268721310193725987547914534477299065233813404573723795730616019640527110454840487817431522474954369245256035580826775664741605907181005924202561328427492171254408107812999745738987536802304504303070646179979380015981974081363399753551334221483091066689454527760956426628375580854219627498377799780099579509945878284102664154929926536972447060214055554410009718700801481464105326308422557200172573632465847342948115777567469974846627300292176833746055410546541884842587004586169793366241418324908190788569665663336170400356959901041323038727012476 8244299022727720041689805325100548645429435044591418376726674837976025884174129622942177542771256840518333280320189350558113557650406800921654544387303156101186158671502945370996732285427166659955278359406916339050997216301138009077979226963670354331372401124319598573270533304526571818929831905332914082373781305093878549807700064521536471171720608593082080758672885402914689287389844253807912758962088302729563593840001253999555528981551019542543311969433544991864704685112606768927885995915166558834312145579452964364694859391283374613901432418665698651693012938721357552250251780711617062075517820018056267249569844886652913574510955537686944126807625354032413001252398656199620083831451649444244154598680315995459316715945110764170377083971572876849321423593610730199753483647992129338838829946899595185569125120077078679862798432734058846487503784380413403041388136909504314963686217915708784901786471803801102901259802921872896806517342143677865669630340030737713195415739224505313332584517895331865322412846061915680200346876903699236006486911930562643496965159418733902614317317998487381299516724858748921970208892193258070033161886560825254334879202290268807664963256056788753051861676858104879573291168505325267760841058360053466141483999627336453794710554246311166884417629072852305916103525802994241123312529200183652599739908675242748700185740666487719233004564288497603 13339556032190992861404509173789195717129266577387862830984036250071321617722837195456733193424012552043409822401793048748663690924866987744278225159649725181199305510501952337877579966126104629752658450272707727408497135251722983878474478475533930135523520422543993626079245620430007310460696715133860368225299152674787763317088079092863004539810198866054715042168071945356821897346366069056096561851917506329395132421453423318955735536468638316011651210021105665753425067339218094384842959642155628306447252455761399585897936667963605262766567521333129297857206366369913381375027367080337223831102137269261592526597814288254388733883647417146036196877912541583016313854040751168677908605731903956050926142800399902046475021609285615510334345532016471891789350909795786330216386959055528644443783372843557867610222132835530044108643243074327567797697510367961317575865435974738128368259941711439400921426998914255943389077234444347851175762598179258692445295081636644894201339941785833740824755772303439678322158585049452482504851179974345415985866927912536724860364912970068124097408384687941909060473151487124502824428519691635869813261466070771132618981866445198734201935703117002808606271686576805681054755273831633690318041230933685931988826947743114021264685400873611459061251375128262852457988368389998827293105895441601977507930697244908412036356141023447620274327603015510079 21583855054918712903094314498889744362558701621979281207710711088047347501896966818398910736195269392561743102721982399306777248575273788665932769546952881282385464182004897708874312251553271289707936809679624066459494351552860992956453705439204284466895921546863592199349778924956579129390528620466774450599080457768666313124788143614399475711530807459136795800840957348271511184736210322864009320814005809058958726261454677318511264518019657858554963179454650657618129752451824863312728955557322187140759398035214363950592796059246979876667999939998827949550219305091270933625279147791954285906619957287317859776167659174907302308394602954832980323685537895615429315106439407368297992437183553400295080741480715897505791737554396379680711429503589348741110774503406516529969870607047657983282613319743153053179347252912608723971441675808386414285201294748374720617253572884242443331946159627148185823213470718057046290337037366220747982279940322936558114925421667382607396755681010339054157340290198771543644571431111368162705198056878044651992353839843099368357330072388802026711725702686429290359989876345873424794637411884893939846423352631596386953861068735467541866898959173791561658133363434910560628046442336958958078882289293739398130310947370450475059395955119922625945669004201115158374091894192993068416418424641785630107670605920151160736541881689935339507332167304007682 34923411087109705764498823672678940079687968199367144038694747338118669119619804013855643929619281944605152925123775448055440939500140776410210994706602606463584769692506850046751892217679375919460595259952331793867991486804583976834928183914738214602419441969407585825429024545386586439851225335600634818824379610443454076441876222707262480251341006325191510843009029293628333082082576391920105882665923315388353858682908100637467000054488296174566614389475756323371554819791042957697571915199477815447206650490975763536490732727210585139434567461331957247407425671461184315000306514872291509737722094556579452302765473463161691042278250371979016520563450437198445628960480158536975901042915457356346006884281115799552266759163681995191045775035605820632900125413202302860186257566103186627726396692586710920789569385748138768080084918882713982082898805116336038193119008858980571700206101338587586744640469632312989679414271810568599158042538502195250560220503304027501598095622796172794982096062502211221966730016160820645210049236852390067978220767755636093217694985358870150809134087374371199420463027832997927619065931576529809659684818702367519572842935180666276068834662290794370264405050011716241682801716168592648396923520227425330119137895113564496324081355993534085006920379329378010832080262582991895709524320083387607615601303165059572772898022713382959781659770319517761 56507266142028418667593138171568684442246669821346425246405458426166016621516770832254554665814551337166896027845757847362218188075414565076143764253555487745970233874511747755626204469232647209168532069631955860327485838357444969791381889353942499069315363516271178024778803470343165569241753956067409269423460068212120389566664366321661955962871813784328306643849986641899844266818786714784115203479929124447312584944362777955978264572507954033121577568930406980989684572242867821010300870756800002587966048526190127487083528786457565016102567401330785196957644976552455248625585662664245795644342051843897312078933132638068993350672853326811996844248988332813874944066919565905273893480099010756641087625761831697058058496718078374871757204539195169374010899916608819390156128173150844611009010012329863973968916638660747492051526594691100396368100099864710758810372581743223015032152260965735772567853940350370035969751309176789347140322478825131808675145924971410108994851303806511849139436352700982765611301447272188807915247293730434719970574607598735461575025057747672177520859790060800489780452904178871352413703343461423749506108171333963906526704003916133817935733621464585931922538413446626802310848158505551606475805809521164728249448842484014971383477311113456710952589383530493169206172156775984964125942744725173237723271909085210733509439904403318299288991937623525443 91430677229138124432091961844247624521934638020713569285100205764284685741136574846110198595433833281772048952969533295417659127575555341486354758960158094209555003567018597802378096686912023128629127329584287654195477325162028946626310073268680713671734805485678763850207828015729752009092979291668044088247839678655574466008540589028924436214212820109519817486859015935528177348901363106704221086145852439835666443627270878593445264626996250207688191958406163304361239392033910778707872785956277818035172699017165891023574261513668150155537134862662742444365070648013639563625892177536537305382064146400476764381698606101230684392951103698791013364812438770012320573027399724442249794523014468112987094510042947496610325255881760370062802979574800990006911025329811122250342385739254031238735406704916574894758486024408886260131611513573814378450998904981046797003491590602203586732358362304323359312494409982683025649165580987357946298365017327327059235366428275437610592946926602684644121532415203193987578031463433009453125296530582824787948795375354371554792720043106542328329993877435171689200915932011869280032769275037953559165792990036331426099546939096800094004568283755380302186943463458343043993649874674144254872729329748590058368586737597579467707558667106990795959509762859871180038252419358976859835467064808560845338873212250270306282337927116701259070651707943043204 147937943371166543099685100015816308964181307842059994531505664190450702362653345678364753261248384618938944980815291142779877315650969906562498523213713581955525237441530345558004301156144670337797659399216243514522963163519473916417691962622623212741050169001949941874986631486072917578334733247735453357671299746867694855575204955350586392177084633893848124130709002577428021615720149821488336289625781564282979028571633656549423529199504204240809769527336570285350923964276778599718173656713077820623138747543356018510657790300125715171639702263993527641322715624566094812251477840200783101026406198244374076460631738739299677743623957025603010209061427102826195517094319290347523688003113478869628182135804779193668383752599838744934560184113996159380921925246419941640498513912404875849744416717246438868727402663069633752183138108264914774819099004845757555813864172345426601764510623270059131880348350333053061618916890164147293438687496152458867910512353246847719587798230409196493260968767904176753189332910705198261040543824313259507919369982953107016367745100854214505850853667495972178981368836190740632446472618499377308671901161370295332626250943012933911940301905219966234109481876904969846304498033179695861348535139269754786618035580081594439091035978220447506912099146390364349244424576134961823961409809533734083062145121335481039791777831520019558359643645566568647 239368620600304667531777061860063933486115945862773563816605869954735388103789920524474951856682217900710993933784824438197536443226525248048853282173871676165080241008548943360382397843056693466426786728800531168718440488681502863044002035891303926412784974487628705725194459501802669587427712539403497445919139425523269321583745544379510828391297454003367941617568018512956198964621512928192557375771634004118645472198904535142868793826500454448497961485742733589712163356310689378426046442669355638658311446560521909534232051813793865327176837126656270085687786272579734375877370017737320406408470344644850840842330344840530362136575060724394023573873865872838516090121719014789773482526127946982615276645847726690278709008481599114997363163688797149387832950576231063890840899651658907088479823422163013763485888687478520012314749621838729153270097909826804352817355762947630188496868985574382491192842760315736087268082471151505239737052513479785927145878781522285330180745157011881137382501183107370740767364374138207714165840354896084295868165358307478571160465143960756834180847544931143868182284768202609912479241893537330867837694151406626758725797882109734005944870188975346536296425340363312890298147907853840116221264469018344844986622317679173906798594645327438302871608909250235529282676995493938683796876874342294928401018333585751346074115758636720817430295353509611851 387306563971471210631462161875880242450297253704833558348111534145186090466443266202839705117930602519649938914600115580977413758877495154611351805387585258120605478450079288918386698999201363804224446128016774683241403652200976779461693998513927139153835143489578647600181090987875587165762445787138950803590439172390964177158950499730097220568382087897216065748277021090384220580341662749680893665397415568401624500770538191692292323026004658689307731013079303875063087320587467978144220099382433459281450194103877928044889842113919580498816539390649797727010501897145829188128847857938103507434876542889224917302962083579830039880199017749997033782935292975664711607216038305137297170529241425852243458781652505883947092761081437859931923347802793308768754875822651005531339413564063782938224240139409452632213291350548153764497887730103643928089196914672561908631219935293056790261379608844441623073191110648789148886999361315652533175740009632244795056391134769133049768543387421077630643469951011547493956697284843405975206384179209343803787535341260585587528210244814971340031701212427116047163653604393350544925714512036708176509595312776922091352048825122667917885172094195312770405907217268282736602645941033535977569799608288099631604657897760768345889630623547885809783708055640599878527101571628900507758286683876029011463163454921232385865893590156740375789938999076180498 626675184571775878163239223735944175936413199567607122164717404099921478570233186727314656974612820420360932848384940019174950202104020402660205087561456934285685719458628232278769096842258057270651232856817305851959844140882479642505696034405231065566620117977207353325375550489678256753190158326542448249509578597914233498742696044109608048959679541900584007365845039603340419544963175677873451041169049572520269972969442726835161116852505113137805692498822037464775250676898157356570266542051789097939761640664399837579121893927713445825993376517306067812698288169725563564006217875675423913843346887534075758145292428420360402016774078474391057356809158848503227697337757319927070653055369372834858735427500232574225801769563036974929286511491590458156587826398882069422180313215722690026704063561572466395699180038026673776812637351942373081359294824499366261448575698240686978758248594418824114266033870964525236155081832467157772912792523112030722202269916291418379949288544432958768025971134118918234724061658981613689372224534105428099655700699568064158688675388775728174212548757358259915345938372595960457404956405574039044347289464183548850077846707232401923830042283170659306702332557631595626900793848887376093791064077306444476591280215439942252688225268875324112655316964890835407809778567122839191555163558218323939864181788506983731940009348793461193220234352585792349 1013981748543247088794701385611824418386710453272440680512828938245107569036676452930154362092543422940010871762985055600152363960981515557271556892949042192406291197908707521197155795841459421074875678984834080535201247793083456421967390032919158204720455261466786000925556641477553843918952604113681399053100017770305197675901646543839705269528061629797800073114122060693724640125304838427554344706566465140921894473739980918527453439878509771827113423511901341339838337997485625334714486641434222557221211834768277765624011736041633026324809915907955865539708790066871392752135065733613527421278223430423300675448254512000190441896973096224388091139744451824167939304553795625064367823584610798687102194209152738458172894530644474834861209859294383766925342702221533074953519726779786472964928303700981919027912471388574827541310525082046017009448491739171928170079795633533743769019628203263265737339224981613314385042081193782810306088532532744275517258661051060551429717831931854036398669441085130465728680758943825019664578608713314771903443236040828649746216885633590699514244249969785375962509591976989311002330670917610747220856884776960470941429895532355069841715214377365972077108239774899878363503439789920912071360863685594544108195938113200710598577855892423209922439025020531435286336880138751739699313450242094352951327345243428216117805902938950201569010173351661972847 1640656933115022966957940609347768594323123652840047802677546342345029047606909639657469019067156243360371804611369995619327314163085535959931761980510499126691976917367335753475924892683717478345526911841651386387161091933965936064473086067324389270287075379443993354250932191967232100672142762440223847302609596368219431174644342587949313318487741171698384080479967100297065059670268014105427795747735514713442164446709423645362614556731014884964919116010723378804613588674383782691284753183486011655160973475432677603203133629969346472150803292425261933352407078236596956316141283609288951335121570317957376433593546940420550843913747174698779148496553610672671167001891552944991438476639980171521960929636652971032398696300207511809790496370785974225081930528620415144375700039995509162991632367262554385423611651426601501318123162433988390090807786563671294431528371331774430747777876797682089851605258852577839621197163026249968079001325055856306239460930967351969809667120476286995166695412219249383963404820602806633353950833247420200003098936740396713904905561022366427688456798727143635877855530349585271459735627323184786265204174241144019791507742239587471765545256660536631383810572332531473990404233638808288165151927762900988584787218328640652851266081161298534035094341985422270694146658705874578890868613800312676891191527031935199849745912287743662762230407704247765196 2654638681658270055752641994959593012709834106112488483190375280590136616643586092587623381159699666300382676374355051219479678124067051517203318873459541319098268115276043274673080688525176899420402590826485466922362339727049392486440476100243547475007530640910779355176488833444785944591095366553905246355709614138524628850545989131789018588015802801496184153594089160990789699795572852532982140454301979854364058920449404563890067996609524656792032539522624720144451926671869408025999239824920234212382185310200955368827145366010979498475613208333217798892115868303468349068276349342902478756399793748380677109041801452420741285810720270923167239636298062496839106306445348570055806300224590970209063123845805709490571590830851986644651706230080357992007273230841948219329219766775295635956560670963536304451524122815176328859433687516034407100256278302843222601608166965308174516797505000945355588944483834191154006239244220032778385089857588600581756719592018412521239384952408141031565364853304379849692085579546631653018529441960734971906542172781225363651122446655957127202701048696929011840365122326574582462066298240795533486061059018104490732937637771942541607260471037902603460918812107431352353907673428729200236512791448495532692983156441841363449843937053721743957533367005953705980483538844626318590182064042407029842518872275363415967551815226693864331240581055909738043 4295295614773293022710582604307361607032957758952536285867921622935165664250495732245092400226855909660754480985725046838806992287152587477135080853970040445790245032643379028149005581208894377765929502668136853309523431661015328550913562167567936745294606020354772709427421025412018045263238128994129093658319210506744060025190331719738331906503543973194568234074056261287854759465840866638409936202037494567806223367158828209252682553340539541756951655533348098949065515346253190717283993008406245867543158785633632972030278995980325970626416500758479732244522946540065305384417632952191430091521364066338053542635348392841292129724467445621946388132851673169510273308336901515047244776864571141731024053482458680522970287131059498454442202600866332217089203759462363363704919806770804798948193038226090689875135774241777830177556849950022797191064064866514517033136538297082605264575381798627445440549742686768993627436407246282746464091182644456887996180522985764491049052072884428026732060265523629233655490400149438286372480275208155171909641109521622077556028007678323554891157847424072647718220652676159853921801925563980319751265233259248510524445380011530013372805727698439234844729384439962826344311907067537488401664719211396521277770374770482016301110018215020277992627708991375976674630197550500897481050677842719706733710399307298615817297727514437527093470988760157503239 6949934296431563078463224599266954619742791865065024769058296903525302280894081824832715781386555575961137157360080098058286670411219638994338399727429581764888513147919422302822086269734071277186332093494622320231885771388064721037354038267811484220302136661265552064603909858856803989854333495548034340014028824645268688875736320851527350494519346774690752387668145422278644459261413719171392076656339474422170282287608232773142750549950064198548984195055972819093517442018122598743283232833326480079925344095834588340857424361991305469102029709091697531136638814843533654452693982295093908847921157814718730651677149845262033415535187716545113627769149735666349379614782250085103051077089162111940087177328264390013541877961911485099093908830946690209096476990304311583034139573546100434904753709189626994326659897056954159036990537466057204291320343169357739634744705262390779781372886799572801029494226520960147633675651466315524849181040233057469752900115004177012288437025292569058297425118828009083347575979696069939391009717168890143816183282302847441207150454334280682093858896121001659558585775002734436383868223804775853237326292277353001257383017783472554980066198736341838305648196547394178698219580496266688638177510659892053970753531212323379750953955268742021950161075997329682655113736395127216071232741885126736576229271582662031784849542741131391424711569816067241282 11245229911204856101173807203574316226775749624017561054926218526460467945144577557077808181613411485621891638345805144897093662698372226471473480581399622210678758180562801330971091850942965654952261596162759173541409203049080049588267600435379420965596742681620324774031330884268822035117571624542163433672348035152012748900926652571265682401022890747885320621742201683566499218727254585809802012858376968989976505654767060982395433103290603740305935850589320918042582957364375789460567225841732725947468502881468221312887703357971631439728446209850177263381161761383598959837111615247285338939442521881056784194312498238103325545259655162167060015902001408835859652923119151600150295853953733253671111230810723070536512165092970983553536111431813022426185680749766674946739059380316905233852946747415717684201795671298731989214547387416080001482384408035872256667881243559473385045948268598200246470043969207729141261112058712598271313272222877514357749080637989941503337489098176997085029485384351638317003066379845508225763489992377045315725824391824469518763178462012604236985016743545074307276806427678894290305670149368756172988591525536601511781828397795002568352871926434781073150377580987357005042531487563804177039842229871288575248523905982805396052063973483762299942788784988705659329743933945628113552283419727846443309939670889960647602147270255568918518182558576224744521 18195164207636419179637031802841270846518541489082585823984515429985770226038659381910523962999967061583028795705885242955380333109591865465811880308829203975567271328482223633793178120677036932138593689657381493773294974437144770625621638703190905185898879342885876838635240743125626024971905120090197773686376859797281437776662973422793032895542237522576073009410347105845143677988668304981194089514716443412146787942375293755538183653240667938854920045645293737136100399382498388203850458675059206027393846977302809653745127719962936908830475918941874794517800576227132614289805597542379247787363679695775514845989648083365358960794842878712173643671151144502209032537901401685253346931042895365611198408138987460550054043054882468652630020262759712635282157740070986529773198953863005668757700456605344678528455568355686148251537924882137205773704751205229996302625948821864164827321155397773047499538195728689288894787710178913796162453263110571827501980752994118515625926123469566143326910503179647400350642359541578165154499709545935459542007674127316959970328916346884919078875639666075966835392202681628726689538373173532026225917817813954513039211415578475123332938125171122911456025777534751183740751068060070865678019740531180629219277437195128775803017928752504321892949860986035341984857670340755329623516161612973179886168942472622679386996812996700309942894128392291985803 29440394118841275280810839006415587073294291113100146878910733956446238171183236938988332144613378547204920434051690387852473995807964091937285360890228826186246029509045024964764269971620002587090855285820140667314704177486224820213889239138570326151495622024506201612666571627394448060089476744632361207358724894949294186677589625994058715296565128270461393631152548789411642896715922890790996102373093412402123293597142354737933616756531271679160855896234614655178683356746874177664417684516791931974862349858771030966632831077934568348558922128792052057898962337610731574126917212789664586726806201576832299040302146321468684506054498040879233659573152553338068685461020553285403642784996628619282309638949710531086566208147853452206166131694572735061467838489837661476512258334179910902610647204021062362730251239654418137466085312298217207256089159241102252970507192381337549873269423995973293969582164936418430155899768891512067475725485988086185251061390984060018963415221646563228356395887531285717353708739387086390917989701922980775267832065951786478733507378359489156063892383211150274112198630360523016995208522542288199214509343350556024821039813373477691685810051605903984606403358522108188783282555623875042717861970402469204467801343177934171855081902236266621835738645974741001314601604286383443175799581340819623196108613362583326989144083252269228461076686968516730324 47635558326477694460447870809256857919812832602182732702895249386432008397221896320898856107613345608787949229757575630807854328917555957403097241199058030161813300837527248598557448092297039519229448975477522161087999151923369590839510877841761231337394501367392078451301812370520074085061381864722558981045101754746575624454252599416851748192107365793037466640562895895256786574704591195772190191887809855814270081539517648493471800409771939618015775941879908392314783756129372565868268143191851138002256196836073840620377958797897505257389398047733926852416762913837864188416722810332043834514169881272607813886291794404834043466849340919591407303244303697840277717998921954970656989716039523984893508047088697991636620251202735920858796151957332447696749996229908648006285457288042916571368347660626407041258706808010104285717623237180354413029793910446332249273133141203201714700590579393746341469120360665107719050687479070425863638178749098658012753042143978178534589341345116129371683306390710933117704351098928664556072489411468916234809839740079103438703836294706374075142768022877226240947590833042151743684746895715820225440427161164510537860251228951952815018748176777026896062429136056859372524033623683945908395881710933649833687078780373062947658099830988770943728688506960776343299459274627138772799315742953792803082277555835206006376140896248969538403970815360808716127 77075952445318969741258709815672444993107123715282879581805983342878246568405133259887188252226724155992869663809266018660328324725520049340382602089286856348059330346572273563321718063917042106320304261297662828402703329409594411053400116980331557488890123391898280063968383997914522145150858609354920188403826649695869811131842225410910463488672494063498860271715444684668429471420514086563186294260903268216393375136660003231405417166303211297176631838114523047493467112876246743532685827708643069977118546694844871587010789875832073605948320176525978910315725251448595762543640023121708421240976082849440112926593940726302727972903838960470640962817456251178346403459942508256060632501036152604175817686038408522723186459350589373064962283651905182758217834719746309482797715622222827473978994864647469403988958047664522423183708549478571620285883069687434502243640333584539264573860003389719635438702525601526149206587247961937931113904235086744198004103534962238553552756566762692600039702278242218835058059838315750946990479113391897010077671806030889917437343673065863231206660406088376515059789463402674760679955418258108424654936504515066562681291042325430506704558228382930880668832494578967561307316179307820951113743681336119038154880123550997119513181733225037565564427152935517344614060878913522215975115324294612426278386169197789333365284979501238766865047502329325446451 124711510771796664201706580624929302912919956317465612284701232729310254965627029580786044359840069764780818893566841649468182653643076006743479843288344886509872631184099522161879166156214081625549753236775184989490702481332964001892910994822092788826284624759290358515270196368434596230212240474077479169448928404442445435586094824827762211680779859856536326912278340579925216046125105282335376486148713124030663456676177651724877217576075150915192407779994431439808250869005619309400953970900494207979374743530918712207388748673729578863337718224259905762732488165286459950960362833453752255755145964122047926812885735131136771439753179880062048266061759949018624121458864463226717622217075676589069325733127106514359806710553325293923758435609237630454967830949654957489083172910265744045347342525273876445247664855674626708901331786658926033315676980133766751516773474787740979274450582783465976907822886266633868257274727032363794752082984185402210757145678940417088142097911878821971723008668953151952762410937244415503062968524860813244887511546109993356141179967772237306349428428965602756007380296444826504364702313973928650095363665679577100541542271277383321723306405159957776731261630635826933831349802991766859509625392269768871841958903924060067171281564213808509293115659896293687913520153540660988774431067248405229360663725032995339741425875750208305269018317690134162578 201787463217115633942965290440601747906027080032748491866507216072188501534032162840673232612066793920773688557376107668128510978368596056083862445377631742857931961530671795725200884220131123731870057498072847817893405810742558412946311111802424346315174748151188638579238580366349118375363099083432399357852755054138315246717937050238672675169452353920035187183993785264593645517545619368898562780409616392247056831812837654956282634742378362212369039618108954487301717981881866052933639798609137277956493290225763583794399538549561652469286038400785884673048213416735055713504002856575460676996122046971488039739479675857439499412657018840532689228879216200196970524918806971482778254718111829193245143419165515037082993169903914666988720719261142813213185665669401266971880888532488571519326337389921345849236622903339149132085040336137497653601560049821201253760413808372280243848310586173185612346525411868160017463861974994301725865987219272146408761249213902655641694854478641514571762710947195370787820470775560166450053447638252710254965183352140883273578523640838100537556088835053979271067169759847501265044657732232037074750300170194643663222833313602813828427864633542888657400094125214794495138665982299587810623369073605887909996839027475057186684463297438846074857542812831811032527581032454183204749546391543017655639049894230784673106710855251447072134065820019459609029 326498973988912298144671871065531050818947036350214104151208448801498756499659192421459276971906863685554507450942949317596693632011672062827342288665976629367804592714771317887080050376345205357419810734848032807384108292075522414839222106624517135141459372910478997094508776734783714605575339557509878527301683458580760682304031875066434886850232213776571514096272125844518861563670724651233939266558329516277720288489015306681159852318453513127561447398103385927109968850887485362334593769509631485935868033756682296001788287223291231332623756625045790435780701582021515664464365690029212932751268011093535966552365410988576270852410198720594737494940976149215594646377671434709495876935187505782314469152292621551442799880457239960912479154870380443668153496619056224460964061442754315564673679915195222294484287759013775840986372122796423686917237029954968005277187283160021223122761168956651589254348298134793885721136702026665520618070203457548619518394892843072729836952390520336543485719616148522740582881712804581953116416163113523499852694898250876629719703608610337843905517264019582027074550056292327769409360046205965724845663835874220763764375584880197150151171038702846434131355755850621428970015785291354670132994465875656781838797931399117253855744861652654584150658472728104720441101185994844193523977458791422884999713619263780012848136731001655377403084137709593771607 528286437206027932087637161506132798724974116382962596017715664873687258033691355262132509583973657606328196008319056985725204610380268118911204734043608372225736554245443113612280934596476329089289868232920880625277514102818080827785533218426941481456634121061667635673747357101132832980938438640942277885154438512719075929021968925305107562019684567696606701280265911109112507081216344020132502046967945908524777120301852961637442487060831875339930487016212340414411686832769351415268233568118768763892361323982445879796187825772852883801909795025831675108828914998756571377968368546604673609747390058065024006291845086846015770265067217561127426723820192349412565171296478406192274131653299334975559612571458136588525793050361154627901199874131523256881339162288457491432844949975242887084000017305116568143720910662352924973071412458933921340518797079776169259037601091532301466971071755129837201600873710002953903184998677020967246484057422729695028279644106745728371531806869161851115248430563343893528403352488364748403169863801366233754817878250391759903298227249448438381461606099073561298141719816139829034454017778438002799595964006068864426987208898483010978579035672245735091531449881065415924108681767590942480756363539481544691835636958874174440540208159091500659008201285559915752968682218449027398273523850334440540638763513494564685954847586253102449537149957729053380636 854785411194940230232309032571663849543921152733176700168924113675186014533350547683591786555880521291882703459262006303321898242391940181738547022709585001593541146960214431499360984972821534446709678967768913432661622394893603242624755325051458616598093493972146632768256133835916547586513778198452156412456121971299836611326000800371542448869916781473178215376538036953631368644887068671366441313526275424802497408790868268318602339379285388467491934414315726341521655683656836777602827337628400249828229357739128175797976112996144115134533551650877465544609616580778087042432734236633886542498658069158559972844210497834592041117477416281722164218761168498628159817674149840901770008588486840757874081723750758139968592930818394588813679029001903700549492658907513715893809011417997202648673697220311790438205198421366700814057784581730345027436034109731137264314788374692322690093832924086488790855222008137747788906135379047632767102127626187243647798038999588801101368759259682187658734150179492416268986234201169330356286279964479757254670573148642636533017930858058776225367123363093143325216269872432156803863377824643968524441627841943085190751584483363208128730206710948581525662805636916037353078697552882297150889358005357201473674434890273291694395953020744155243158859758288020473409783404443871591797501309125863425638477132758344698802984317254757826940234095438647152243 1383071848400968162319946194077796648268895269116139296186639778548873272567041902945724296139854178898210899467581063289047102852772208300649751756753193373819277701205657545111641919569297863535999547200689794057939136497711684070410288543478400098054727615033814268442003490937049380567452216839394434297610560484018912540347969725676650010889601349169784916656803948062743875726103412691498943360494221333327274529092721229956044826440117263807422421430528066755933342516426188192871060905747169013720590681721574055594163938768996998936443346676709140653438531579534658420401102783238560152246048127223583979136055584680607811382544633842849590942581360848040724988970628247094044140241786175733433694295208894728494385981179549216714878903133426957430831821195971207326653961393240089732673714525428358581926109083719625787129197040664266367954831189507306523352389466224624157064904679216325992456095718140701692091134056068600013586185048916938676077683106334529472900566128844038773982580742836309797389586689534078759456143765845991009488451399034396436316158107507214606828729462166704623357989688571985838317395603081971324037591848011949617738793381846219107309242383194316617194255517981453277187379320473239631645721544838746165510071849147466134936161179835655902167061043847936226378465622892898990071025159460303966277240646252909384757831903507860276477384053167700532879 2237857259595908392552255226649460497812816421849315996355563892224059287100392450629316082695734700190093602926843069592369001095164148482388298779462778375412818848165871976611002904542119397982709226168458707490600758892605287313035043868529858714652821109005960901210259624772965928153965995037846590710066682455318749151673970526048192459759518130642963132033341985016375244370990481362865384674020496758129771937883589498274647165819402652274914355844843793097454998200083024970473888243375569263548820039460702231392140051765141114070976898327586606198048148160312745462833837019872446694744706196382143951980266082515199852500022050124571755161342529346668884806644778087995814148830273016491307776018959652868462978911997943805528557932135330657980324480103484923220462972811237292381347411745740149020131307505086326601186981622394611395390865299238443787667177840916946847158737603302814783311317726278449480997269435116232780688312675104182323875722105923330574269325388526226432716730922328726066375820890703409115742423730325748264159024547677032969334088965565990832195852825259847948574259561004142642180773427725939848479219689955034808490377865209427236039449094142898142857061154897490630266076873355536782535079550195947639184506739420757829332114200579811145325920802135956699788249027336770581868526468586167391915717779011254083560816220762618103417618148606347685122 3620929107996876554872201420727257146081711690965455292542203670772932559667434353575040378835588879088304502394424132881416103947936356783038050536215971749232096549371529521722644824111417261518708773369148501548539895390316971383445332412008258812707548724039775169652263115710015308721418211877241025007677242939337661692021940251724842470649119479812748048690145933079119120097093894054364328034514718091457046466976310728230691992259519916082336777275371859853388340716509213163344949149122738277269410721182276286986303990534138113007420245004295746851486679739847403883234939803111006846990754323605727931116321667195807663882566683967421346103923890194709609795615406335089858289072059192224741470314168547596957364893177493022243436835268757615411156301299456130547116934204477382114021126271168507602057416588805952388316178663058877763345696488745750311019567307141571004223642282519140775767413444419151173088403491184832794274497724021120999953405212257860047169891517370265206699311665165035863765407580237487875198567496171739273647475946711429405650247073073205439024582287426552571932249249576128480498169030807911172516811537966984426229171247055646343348691477337214760051316672878943907453456193828776414180801095034693804694578588568223964268275380415467047492981845983892926166714650229669571939551628046471358192958425264163468318648124270478379895002201774048218001 5858786367592784947424456647376717643894528112814771288897767562996991846767826804204356461531323579278398105321267202473785105043100505265426349315678750124644915397537401498333647728653536659501417999537607209039140654282922258696480376280538117527360369833045736070862522740482981236875384206915087615717743925394656410843695910777773034930408637610455711180723487918095494364468084375417229712708535214849586818404859900226505339158078922568357251133120215652950843338916592238133818837392498307540818230760642978518378444042299279227078397143331882353049534827900160149346068776822983453541735460519987871883096587749711007516382588734091993101265266419541378494602260184423085672437902332208716049246333128200465420343805175436827771994767404088273391480781402941053767579907015714674495368538016908656622188724093892278989503160285453489158736561787984194098686745148058517851382379885821955559078731170697600654085672926301065574962810399125303323829127318181190621439216905896491639416042587493761930141228470940896990940991226497487537806500494388462374984336038639196271220435112686400520506508810580271122678942458533851020996031227922019234719549112265073579388140571480112902908377827776434537719533067184313196715880645230641443879085327988981793600389580995278192818902648119849625954963677566440153808078096632638750108676204275417551879464345033096483312620350380395903123 9479715475589661502296658068103974789976239803780226581439971233769924406435261157779396840366912458366702607715691335355201208991036862048464399851894721873877011946908931020056292552764953921020126772906755710587680549673239230079925708692546376340067918557085511240514785856192996545596802418792328640725421168333994072535717851029497877401057757090268459229413633851174613484565178269471594040743049932941043864871836210954736031150338442484439587910395587512804231679633101451297163786541621045818087641481825254805364748032833417340085817388336178099901021507640007553229303716626094460388726214843593599814212909416906815180265155418059414447369190309736088104397875590758175530726974391400940790716647296748062377708698352929850015431602672845888802637082702397184314696841220192056609389664288077164224246140682698231377819338948512366922082258276729944409706312455200088855606022168341096334846144615116751827174076417485898369237308123146424323782532530439050668609108423266756846115354252658797793906636051178384866139558722669226811453976441099891780634583111712401710245017400112953092438758060156399603177111489341762193512842765889003660948720359320719922736832048817327662959694500655378445172989261013089610896681740265335248573663916557205757868664961410745240311884494103742552121678327796109725747629724679110108301634629539581020198112469303574863207622552154444121124 15338501843182446449721114715480692433870767916594997870337738796766916253203087961983753301898236037645100713036958537828986314034137367313890749167573471998521927344446332518389940281418490580521544772444362919626821203956161488776406084973084493867428288390131247311377308596675977782472186625707416256443165093728650483379413761807270912331466394700724170410137121769270107849033262644888823753451585147790630683276696111181241370308417365052796839043515803165755075018549693689430982623934119353358905872242468233323743192075132696567164214531668060452950556335540167702575372493449077913930461675363581471697309497166617822696647744152151407548634456729277466599000135775181261203164876723609656839962980424948527798052503528366677787426370076934162194117864105338238082276748235906731104758202304985820846434864776590510367322499233965856080818820064714138508393057603258606706988402054163051893924875785814352481259749343786963944200118522271727647611659848620241290048325329163248485531396840152559724047864522119281857080549949166714349260476935488354155618919150351597981465452512799353612945266870736670725856053947875613214508873993811022895668269471585793502124972620297440565868072328431812982892522328197402807612562385495976692452749244546187551469054542406023433130787142223592178076642005362549879555707821311748858410310833814998572077576814336671346520242902534840024247 24818217318772107952017772783584667223847007720375224451777710030536840659638349119763150142265148496011803320752649873184187523025174229362355149019468193872398939291355263538446232834183444501541671545351118630214501753629400718856331793665630870207496206947216758551892094452868974328068989044499744897168586262062644555915131612836768789732524151790992629639550755620444721333598440914360417794194635080731674548148532322135977401458755807537236426953911390678559306698182795140728146410475740399176993513724293488129107940107966113907250031920004238552851577843180175255804676210075172374319187890207175071511522406583524637876912899570210821996003647039013554703398011365939436733891851115010597630679627721696590175761201881296527802857972749780050996754946807735422396973589456098787714147866593062985070681005459288741745141838182478223002901078341444082918099370058458695562594424222504148228771020400931104308433825761272862313437426645418151971394192379059291958657433752430005331646751092811357517954500573297666723220108671835941160714453376588245936253502262063999691710469912912306705384024930893070329033165437217375408021716759700026556616989830906513424861804669114768228827766829087191428065511589210492418509244125761311941026413161103393309337719503816768673442671636327334730198320333158659605303337545990858966711945463354579592275689283640246209727865454689284145371 40156719161954554401738887499065359657717775636970222322115448827303756912841437081746903444163384533656904033789608411013173837059311596676245898187041665870920866635801596056836173115601935082063216317795481549841322957585562207632737878638715364074924495337348005863269403049544952110541175670207161153611751355791295039294545374644039702063990546491716800049687877389714829182631703559249241547646220228522305231425228433317218771767173172590033265997427193844314381716732488830159129034409859752535899385966761721452851132183098810474414246451672299005802134178720342958380048703524250288249649565570756543208831903750142460573560643722362229544638103768291021302398147141120697937056727838620254470642608146645117973813705409663205590284342826714213190872810913073660479250337692005518818906068898048805917115870235879252112464337416444079083719898406158221426492427661717302269582826276667200122695896186745456789693575105059826257637545167689879619005852227679533248705759081593253817178147932963917242002365095416948580300658621002655509974930312076600091872421412415597673175922425711660318329291801629741054889219385092988622530590753511049452285259302492306926986777289412208794695839157519004410958033917407895226121806511257288633479162405649580860806774046222792106573458778550926908274962338521209484859045367302607825122256297169578164353266097976917556248108357224124169618 64974936480726662353756660282650026881564783357345446773893158857840597572479786201510053586428533029668707354542258284197361360084485826038601047206509859743319805927156859595282405949785379583604887863146600180055824711214962926489069672304346234282420702284564764415161497502413926438610164714706906050780337617853939595209676987480808491796514698282709429689238633010159550516230144473609659341840855309253979779573760755453196173225928980127269692951338584522873688414915283970887275444885600151712892899691055209581959072291064924381664278371676537558653712021900518214184724913599422662568837455777931614720354310333667098450473543292573051540641750807304576005796158507060134670948578953630852101322235868341708149574907290959733393142315576494264187627757720809082876223927148104306533053935491111790987796875695167993857606175598922302086620976747602304344591797720175997832177250499171348351466916587676561098127400866332688571074971813108031590400044606738825207363192834023259148824899025775274759956865668714615303520767292838596670689383688664846028125923674479597364886392338623967023713316732522811383922384822310364030552307513211076008902249133398820351848581958526977023523605986606195839023545506618387644631050637018600574505575566752974170144493550039560780016130414878261638473282671679869090162382913293466791834201760524157756628955381617163765975973811913408314989 105131655642681216755495547781715386539282558994315669096008607685144354485321223283256957030591917563325611388331866695210535197143797422714846945393551525614240672562958455652118579065387314665668104180942081729897147668800525134121807550943061598357345197621912770278430900551958878549151340384914067204392088973645234634504222362124848193860505244774426229738926510399874379698861848032858900889487075537776285010998989188770414944993102152717302958948765778367188070131647772801046404479295459904248792285657816931034810204474163734856078524823348836564455846200620861172564773617123672950818487021348688157929186214083809559024034187014935281085279854575595597308194305648180832608005306792251106571964844014986826123388612700622938983426658403208477378500568633882743355474264840109825351960004389160596904912745931047245970070513015366381170340875153760525771084225381893300101760076775838548474162812774422017887820975971392514828712516980797911209405896834418358456068951915616512966003046958739192001959230764131563883821425913841252180664314000741446119998345086895195038062314764335627342042608534152552438811604207403352653082898266722125461187508435891127278835359247939185818219445144125200249981579424026282870752857148275889207984737972402555030951267596262352886589589193429188546748245010201078575021428280596074616956458057693735920982221479594081322224082169137532484607 170106592123407879109252208064365413420847342351661115869901766542984952057801009484767010617020450592994318742874124979407896557228283248753447992600061385357560478490115315247400985015172694249272992044088681909952972380015488060610877223247407832639765899906477534693592398054372804987761505099620973255172426591499174229713899349605656685657019943057135659428165143410033930215091992506468560231327930847030264790572749944223611118219031132844572651900104362890061758546563056771933679924181060055961685185348872140616769276765228659237742803195025374123109558222521379386749498530723095613387324477126619772649540524417476657474507730307508332625921605382900173313990464155240967278953885745881958673287079883328534272963519991582672376568973979702741566128326354691826231698191988214131885013939880272387892709621626215239827676688614288683256961851901362830115676023102069297933937327275009896825629729362098578985948376837725203399787488793905942799805941441157183663432144749639772114827945984514466761916096432846179187342193206679848851353697689406292148124268761374792402948707102959594365755925266675363822733989029713716683635205779933201470089757569289947630683941206466162841743051130731396089005124930644670515383907785294489782490313539155529201095761146301913666605719608307450185221527681880947665183811193889541408790659818217893677611176861211245088200055981050940799596 275238247766089095864747755846080799960129901345976784965910374228129306543122232768023967647612368156319930131205991674618431754372080671468294937993612910971801151053073770899519564080560008914941096225030763639850120048816013194732684774190469430997111097528390304972023298606331683536912845484535040459564515565144408864218121711730504879517525187831561889167091653809908309913953840539327461120815006384806549801571739132994026063212133285561875610848870141257249828678210829572980084403476519960210477471006689071651579481239392394093821328018374210687565404423142240559314272147846768564205811498475307930578726738501286216498541917322443613711201459958495770622184769803421799886959192538133065245251923898315360396352132692205611359995632382911218944628894988574569587172456828323957236973944269432984797622367557262485797747201629655064427302727055123355886760248483962598035697404050848445299792542136520596873769352809117718228500005774703854009211838275575542119501096665256285080830992943253658763875327196977743071163619120521101032018011690147738268122613848269987441011021867295221707798533800827916261545593237117069336718104046655326931277266005181074909519300454405348659962496274856596338986704354670953386136764933570378990475051511558084232047028742564266553195308801736638731969772692082026240205239474485616025747117875911629598593398340805326410424138150188473284203 445344839889496974973999963910446213380977243697637900835812140771114258600923242252790978264632818749314248874080116654026328311600363920221742930593674296329361629543189086146920549095732703164214088269119445549803092428831501255343561997437877263636876997434867839665615696660704488524674350584156013714736942156643583093932021061336161565174545130888697548595256797219942240129045833045796021352142937231836814592144489077217637181431164418406448262748974504147311587224773886344913764327657580016172162656355561212268348758004621053331564131213399584810674962645663619946063770678569864177593135975601927703228267262918762873973049647629951946337123065341395943936175233958662767165913078284015023918539003781643894669315652683788283736564606362613960510757221343266395818870648816538089121987884149705372690331989183477725625423890243943747684264578956486186002436271586031895969634731325858342125422271498619175859717729646842921628287494568609796809017779716732725782933241414896057195658938927768125525791423629823922258505812327200949883371709379554030416246882609644779843959728970254816073554459067503280084279582266830786020353309826588528401367023574471022540203241660871511501705547405587992427991829285315623901520672718864868772965365050713613433142789888866180219801028410044088917191300373962973905389050668375157434537777694129523276204575202016571498624194131239414083799 720583087655586070838747719756527013341107145043614685801722514999243565144045475020814945912245186905634179005286108328644760065972444591690037868587287207301162780596262857046440113176292712079155184494150209189653212477647514450076246771628346694633988094963258144637638995267036172061587196068691054174301457721787991958150142773066666444692070318720259437762348451029850550042999673585123482472957943616643364393716228210211663244643297703968323873597844645404561415902984715917893848731134099976382640127362250283919928239244013447425385459231773795498240367068805860505378042826416632741798947474077235633806994001420049090471591564952395560048324525299891714558360003762084567052872270822148089163790927679959255065667785375993895096560238745525179455386116331840965406043105644862046358961828419138357487954356740740211423171091873598812111567306011609541889196520069994494005332135376706787425214813635139772733487082455960639856787500343313650818229617992308267902434338080152342276489931871021784289666750826801665329669431447722050915389721069701768684369496457914767284970750837550037781352992868331196345825175503947855357071413873243855332644289579652097449722542115276860161668043680444588766978533639986577287657437652435247763440416562271697665189818631430446772996337211780727649161073066045000145594290142860773460284895570041152874797973542821897909048332281427887368002 1165927927545083045812747683666973226722084388741252586637534655770357823744968717273605924176878005654948427879366224982671088377572808511911780799180961503630524410139451943193360662272025415243369272763269654739456304906479015705419808769066223958270865092398125984303254691927740660586261546652847067889038399878431575052082163834402828009866615449608956986357605248249792790172045506630919503825100880848480178985860717287429300426074462122374772136346819149551873003127758602262807613058791679992554802783717811496188276997248634500756949590445173380308915329714469480451441813504986496919392083449679163337035261264338811964444641212582347506385447590641287658494535237720747334218785349106163113082329931461603149734983438059782178833124845108139139966143337675107361224913754461400135480949712568843730178286345924217937048594982117542559795831884968095727891632791656026389974966866702565129550637085133758948593204812102803561485074994911923447627247397709040993685367579495048399472148870798789909815458174456625587588175243774923000798761430449255799100616379067559547128930479807804853854907451935834476430104757770778641377424723699832383734011313154123119989925783776148371663373591086032581194970362925302201189178110371300116536405781612985311098332608520296626992797365621824816566352373440007974050983340811235930894822673264170676151002548744838469407672526412667301451801 1886511015200669116651495403423500240063191533784867272439257170769601388889014192294420870089123192560582606884652333311315848443545253103601818667768248710931687190735714800239800775448318127322524457257419863929109517384126530155496055540694570652904853187361384128940893687194776832647848742721538122063339857600219567010232306607469494454558685768329216424119953699279643340215045180216042986298058824465123543379576945497640963670717759826343096009944663794956434419030743318180701461789925779968937442911080061780108205236492647948182335049676947175807155696783275340956819856331403129661191030923756398970842255265758861054916232777534743066433772115941179373052895241482831901271657619928311202246120859141562404800651223435776073929685083853664319421529454006948326630956860106262181839911540987982087666240702664958148471766073991141371907399190979705269780829311726020883980299002079271916975851898768898721326691894558764201341862495255237098445477015701349261587801917575200741748638802669811694105124925283427252917844675222645051714151151518957567784985875525474314413901230645354891636260444804165672775929933274726496734496137573076239066655602733775217439648325891425231825041634766477169961948896565288778476835548023735364299846198175257008763522427151727073765793702833605544215513446506052974196577630954096704355107568834211829025800522287660367316720858694095188819803 3052438942745752162464243087090473466785275922526119859076791826539959212633982909568026794266001198215531034764018558293986936821118061615513599466949210214562211600875166743433161437720343542565893730020689518668565822290605545860915864309760794611175718279759510113244148379122517493234110289374385189952378257478651142062314470441872322464425301217938173410477558947529436130387090686846962490123159705313603722365437662785070264096792221948717868146291482944508307422158501920443509074848717459961492245694797873276296482233741282448939284640122120556116071026497744821408261669836389626580583114373435562307877516530097673019360873990117090572819219706582467031547430479203579235490442969034474315328450790603165554535634661495558252762809928961803459387672791682055687855870614567662317320861253556825817844527048589176085520361056108683931703231075947800997672462103382047273955265868781837046526488983902657669919896706661567762826937490167160546072724413410390255273169497070249141220787673468601603920583099740052840506019918997568052512912581968213366885602254593033861542831710453159745491167896740000149206034691045505138111920861272908622800666915887898337429574109667573603488415225852509751156919259490590979666013658395035480836251979788242319861855035672023700758591068455430360781865819946060948247560971765332635249930242098382505176803071032498836724393385106762490271604 4938949957946421279115738490513973706848467456310987131516048997309560601522997101862447664355124390776113641648670891605302785264663314719115418134717458925493898791610881543672962213168661669888418187278109382597675339674732076016411919850455365264080571467120894242185042066317294325881959032095923312015718115078870709072546777049341816918983986986267389834597512646809079470602135867063005476421218529778727265745014608282711227767509981775060964156236146739464741841189245238624210536638643239930429688605877935056404687470233930397121619689799067731923226723281020162365081526167792756241774145297191961278719771795856534074277106767651833639252991822523646404600325720686411136762100588962785517574571649744727959336285884931334326692495012815467778809202245689004014486827474673924499160772794544807905510767751254134233992127130099825303610630266927506267453291415108068157935564870861108963502340882671556391246588601220331964168799985422397644518201429111739516860971414645449882969426476138413298025708025023480093423864594220213104227063733487170934670588130118508175956732941098514637127428341544165821981964624320231634846416998845984861867322518621673554869222435558998835313456860618986921118868156055879758142849206418770845136098177963499328625377462823750774524384771289035904997379266452113922444138602719429339605037810932594334202603593320159204041114243800857679091407 7991388900692173441579981577604447173633743378837106990592840823849519814156980011430474458621125588991644676412689449899289722085781376334629017601666669140056110392486048287106123650889005212454311917298798901266241161965337621877327784160216159875256289746880404355429190445439811819116069321470308501968096372557521851134861247491214139383409288204205563245075071594338515600989226553909967966544378235092330988110452271067781491864302203723778832302527629683973049263347747159067719611487360699891921934300675808332701169703975212846060904329921188288039297749778764983773343196004182382822357259670627523586597288325954207093637980757768924212072211529106113436147756199889990372252543557997259832903022440347893513871920546426892579455304941777271238196875037371059702342698089241586816481634048101633723355294799843310319512488186208509235313861342875307265125753518490115431890830739642946010028829866574214061166485307881899726995737475589558190590925842522129772134140911715699024190214149607014901946291124763532933929884513217781156739976315455384301556190384711542037499564651551674382618596238284165971187999315365736772958337860118893484667989434509571892298796545226572438801872086471496672275787415546470737808862864813806325972350157751741648487232498495774475282975839744466265779245086398174870691699574484761974854968053030976839379406664352658040765507628907620169363011 12930338858638594720695720068118420880482210835148094122108889821159080415679977113292922122976249979767758318061360341504592507350444691053744435736384128065550009184096929830779085864057666882342730104576908283863916501640069697893739704010671525139336861214001298597614232511757106144998028353566231813983814487636392560207408024540555956302393275190472953079672584241147595071591362420972973442965596764871058253855466879350492719631812185498839796458763776423437791104536992397691930148126003939822351622906553743389105857174209143243182524019720256019962524473059785146138424722171975139064131404967819484865317060121810741167915087525420757851325203351629759840748081920576401509014644146960045350477594090092621473208206431358226906147799954592739017006077283060063716829525563915511315642406842646441628866062551097444553504615316308334538924491609802813532579044933598183589826395610504054973531170749245770452413073909102231691164537461011955835109127271633869288995112326361148907159640625745428199971999149787013027353749107437994260967040048942555236226778514830050213456297592650189019746024579828331793169963939685968407804754858964878346535311953131245447168018980785571274115328947090483593394655571602350495951712071232577171108448335715240977112609961319525249807360611033502170776624352850288793135838177204191314460005863963571173582010257672817244806621872708477848454418 20921727759330768162275701645722868054115954213985201112701730645008600229836957124723396581597375568759402994474049791403882229436226067388373453338050797205606119576582978117885209514946672094797042021875707185130157663605407319771067488170887685014593150960881702953043422957196917964114097675036540315951910860193914411342269272031770095685802563394678516324747655835486110672580588974882941409509974999963389241965919150418274211496114389222618628761291406107410840367884739556759649759613364639714273557207229551721807026878184356089243428349641444308001822222838550129911767918176157521886488664638447008451914348447764948261553068283189682063397414880735873276895838120466391881267187704957305183380616530440514987080126977785119485603104896370010255202952320431123419172223653157098132124040890748075352221357350940754873017103502516843774238352952678120797704798452088299021717226350147000983560000615819984513579559216984131418160274936601514025700053114155999061129253238076847931349854775352443101918290274550545961283633620655775417707016364397939537782968899541592250955862244201863402364620818112497764357963255051705180763092719083771831203301387640817339466815526012143712917201033561980265670442987148821233760574936046383497080798493466982625599842459815299725090336450777968436555869439248463663827537751688953289314973916994548012961416922025475285572129501616098017817429 33852066617969362882971421713841288934598165049133295234810620466167680645516934238016318704573625548527161312535410132908474736786670758442117889074434925271156128760679907948664295379004338977139772126452615468994074165245477017664807192181559210153930012174883001550657655468954024109112126028602772129935725347830306971549677296572326051988195838585151469404420240076633705744171951395855914852475571764834447495821386029768766931127926574721458425220055182530848631472421731954451579907739368579536625180113783295110912884052393499332425952369361700327964346695898335276050192640348132660950620069606266493317231408569575689429468155808610439914722618232365633117643920041042793390281831851917350533858210620533136460288333409143346391750904850962749272209029603491187136001749217072609447766447733394516981087419902038199426521718818825178313162844562480934330283843385686482611543621960651055957091171365065754965992633126086363109324812397613469860809180385789868350124365564437996838509495401097871301890289424337558988637382728093769678674056413340494774009747414371642464412159836852052422110645397940829557527927194737673588567847578048650177738613340772062786634834506797714987032529980652463859065098558751171729712287007278960668189246829182223602712452421134824974897697061811470607332493792098752456963375928893144603774979780958119186543427179698292530378751374324575866271847 54773794377300131045247123359564156988714119263118496347512351111176280875353891362739715286171001117286564307009459924312356966222896825830491342412485722476762248337262886066549504893951011071936814148328322654124231828850884337435874680352446895168523163135764704503701078426150942073226223703639312445887636208024221382891946568604096147673998401979829985729167895912119816416752540370738856261985546764797836737787305180187041142624040963944077053981346588638259471840306471511211229667352733219250898737321012846832719910930577855421669380719003144635966168918736885405961960558524290182837108734244713501769145757017340637691021224091800121978120033113101506394539758161509185271549019556874655717238827150973651447368460386928465877354009747332759527411981923922310555173972870229707579890488624142592333308777252978954299538822321342022087401197515159055127988641837774781633260848310798056940651171980885739479572192343070494527485087334214983886509233499945867411253618802514844769859350176450314403808579698888104949921016348749545096381072777738434311792716313913234715368022081053915824475266216053327321885890449789378769330940297132422008941914728412880126101650032809858699949731014214444124735541545899992963472861943325344165270045322649206228312294880950124699988033512589439043888363231347216120790913680582097893089953697952667199504844101723767815950880875940673884089276 88625860995269493928218545073405445923312284312251791582322971577343961520870825600756033990744626665813725619544870057220831703009567584272609231486920647747918377097942794015213800272955350049076586274780938123118305994096361355100681872534006105322453175310647706054358733895104966182338349732242084575823361555854528354441623865176422199662194240564981455133588135988753522160924491766594771114461118529632284233608691209955808073751967538665535479201401771169108103312728203465662809575092101798787523917434796141943632794982971354754095333088364844963930515614635220682012153198872422843787728803850979995086377165586916327120489379900410561892842651345467139512183678202551978661830851408792006251097037771506787907656793796071812269104914598295508799621011527413497691175722087302317027656936357537109314396197155017153726060541140167200400564042077639989458272485223461264244804470271449112897742343345951494445564825469156857636809899731828453747318413885735735761377984366952841608368845577548185705698869123225663938558399076843314775055129191078929085802463728284877179780181917905968246585911613994156879413817644527052357898787875181072186680528069184942912736484539607573686982260994866907983800640104651164693185148950604304833459292151831429831024747302084949674885730574400909651220857023445968577754289609475242496864933478910786386048271281422060346329632250265249750361123 143399655372569624973465668432969602912026403575370287929835322688520242396224716963495749276915627783100289926554329981533188669232464410103100573899406370224680625435205680081763305166906361121013400423109260777242537822947245692536556552886453000490976338446412410558059812321255908255564573435881397021710997763878749737333570433780518347336192642544811440862756031900873338577677032137333627376446665294430120971395996390142849216376008502609612533182748359807367575153034674976874039242444835018038422654755808988776352705913549210175764713807367989599896684533372106087974113757396713026624837538095693496855522922604256964811510603992210683870962684458568645906723436364061163933379870965666661968335864922480439355025254183000278146458924345628268327032993451335808246349694957532024607547424981679701647704974407996108025599363461509222487965239592799044586261127061236045878065318582247169838393515326837233925137017812227352164294987066043437633827647385681603172631603169467686378228195753998500109507448822113768888479415425592859871436201968817363397595180042198111895148203998959884071061177830047484201299708094316431127229728172313494195622442797597823038838134572417432386931992009081352108536181650551157656658010893929648998729337474480636059337042183035074374873764086990348695109220254793184698545203290057340389954887176863453585553115383145828162280513126205923634450399 232025516367839118901684213506375048835338687887622079512158294265864203917095542564251783267660254448914015546099200038754020372242031994375709805386327017972599002533148474096977105439861711170089986697890198900360843817043607047637238425420459105813429513757060116612418546216360874437902923168123481597534359319733278091775194298956940546998386883109792895996344167889626860738601523903928398490907783824062405205004687600098657290127976041275148012384150130976475678465762878442536848817536936816825946572190605130719985500896520564929860046895732834563827200148007326769986266956269135870412566341946673491941900088191173291931999983892621245763805335804035785418907114566613142595210722374458668219432902693987227262682047979072090415563838943923777126654004978749305937525417044834341635204361339216810962101171563013261751659904601676422888529281670439034044533612284697310122869788853696282736135858672788728370701843281384209801104886797871891381146061271417338934009587536420527986597041331546685815206317945339432827037814502436174646491331159896292483397643770482989074928385916865852317647089444041641080713525738843483485128516047494566382302970866782765951574619112025006073914253003948260092336821755202322349843159844533953832188629626312065890361789485120024049759494661391258346330077278239153276299492899532582886819820655774239971601386664567888508610145376471173384811522 375425171740408743875149881939344651747365091462992367441993616954384446313320259527747532544575882232014305472653530020287209041474496404478810379285733388197279627968354154178740410606768072291103387120999459677603381639990852740173794978306912106304405852203472527170478358537616782693467496604004878619245357083612027829108764732737458894334579525654604336859100199790500199316278556041262025867354449118492526176400683990241506506503984543884760545566898490783843253618797553419410888059981771834864369226946414119496338206810069775105624760703100824163723884681379432857960380713665848897037403880042366988797423010795430256743510587884831929634768020262604431325630550930674306528590593340125330187768767616467666617707302162072368562022763289552045453686998430085114183875112002366366242751786320896512609806145971009369777259268063185645376494521263238078630794739345933356000935107435943452574529373999625962295838861093611561965399873863915329014973708657098942106641190705888214364825237085545185924713766767453201715517229928029034517927533128713655880992823812681100970076589915825736388708267274089125282013233833159914612358244219808060577925413664380588990412753684442438460846245013029612200873003405753480006501170738463602830917967100792701949698831668155098424633258748381607041439297533032337974844696189589923276774707832637693557154502047713716670890658502677097019261921 607450688108247862776834095445719700582703779350614446954151911220248650230415802091999315812236136680928321018752730059041229413716528398854520184672060406169878630501502628275717516046629783461193373818889658577964225457034459787811033403727371212117835365960532643782896904753977657131370419772128360216779716403345305920883959031694399441332966408764397232855444367680127060054880079945190424358262232942554931381405371590340163796631960585159908557951048621760318932084560431861947736877518708651690315799137019250216323707706590340035484807598833658727551084829386759627946647669934984767449970221989040480739323098986603548675510571777453175398573356066640216744537665497287449123801315714583998407201670310454893880389350141144458977586602233475822580341003408834420121400529047200707877956147660113323571907317534022631528919172664862068265023802933677112675328351630630666123804896289639735310665232672414690666540704374995771766504760661787220396119769928516281040650778242308742351422278417091871739920084712792634542555044430465209164418864288609948364390467583164090045004975832691588706355356718130766362726759572003398097486760267302626960228384531163354941987372796467444534760498016977872293209825160955802356344330582997556663106596727104767840060621153275122474392753409772865387769374811271491251144189089122506163594528488411933528755888712281605179500803879148270404073443 982875859848656606651983977385064352330068870813606814396145528174633096543736061619746848356812018912942626491406260079328438455191024803333330563957793794367158258469856782454457926653397855752296760939889118255567607097025312527984828382034283318422241218164005170953375263291594439824837916376133238836025073486957333749992723764431858335667545934419001569714544567470627259371158635986452450225616682061047457557806055580581670303135945129044669103517947112544162185703357985281358624937500480486554685026083433369712661914516660115141109568301934482891274969510766192485907028383600833664487374102031407469536746109782033805419021159662285105033341376329244648070168216427961755652391909054709328594970437926922560498096652303216827539609365523027868034028001838919534305275641049567074120707933981009836181713463505032001306178440728047713641518324196915191306123090976564022124740003725583187885194606672040652962379565468607333731904634525702549411093478585615223147291968948196956716247515502637057664633851480245836258072274358494243682346397417323604245383291395845191015081565748517325095063623992219891644739993405163312709845004487110687538153798195543943932400126480909882995606743030007484494082828566709282362845501321461159494024563827897469789759452821430220899026012158154472429208672344303829225988885278712429440369236321049627085910390759995321850391462381825367423335364 1590326547956904469428818072830784052912772650164221261350297439394881746774151863711746164169048155593870947510158990138369667868907553202187850748629854200537036888971359410730175442700027639213490134758778776833531832554059772315795861785761654530540076584124537814736272168045572096956208336148261599052804789890302639670876682796126257777000512343183398802569988935150754319426038715931642874583878915003602388939211427170921834099767905714204577661468995734304481117787918417143306361815019189138245000825220452619928985622223250455176594375900768141618826054340152952113853676053535818431937344324020447950276069208768637354094531731439738280431914732395884864814705881925249204776193224769293327002172108237377454378486002444361286517195967756503690614369005247753954426676170096767781998664081641123159753620781039054632835097613392909781906542127130592303981451442607194688248544900015222923195859839344455343628920269843603105498409395187489769807213248514131504187942747190505699067669793919728929404553936193038470800627318788959452846765261705933552609773758979009281060086541581208913801418980710350658007466752977166710807331764754413314498382182726707298874387499277377327530367241046985356787292653727665084719189831904458716157131160555002237629820073974705343373418765567927337816978047155575320477133074367834935603963764809461560614666279472276927029892266260973637827408807 2573202407805561076080802050215848405242841520977828075746442967569514843317887925331493012525860174506813574001565250217698106324098578005521181312587647994904195147441216193184633369353425494965786895698667895089099439651085084843780690167795937848962317802288542985689647431337166536781046252524394837888829863377259973420869406560558116112668058277602400372284533502621381578797197351918095324809495597064649846497017482751503504402903850843249246764986942846848643303491276402424664986752519669624799685851303885989641647536739910570317703944202702624510101023850919144599760704437136652096424718426051855419812815318550671159513552891102023385465256108725129512884874098353210960428585133824002655597142546164300014876582654747578114056805333279531558648397007086673488731951811146334856119372015622132995935334244544086634141276054120957495548060451327507495287574533583758710373284903740806111081054446016495996591299835312210439230314029713192319218306727099746727335234716138702655783917309422365987069187787673284307058699593147453696529111659123257156855157050374854472075168107329726238896482604702570549652206746382330023517176769241524002036535980922251242806787625758287210525973984076992841281375482294374367082035333225919875651155724382899707419579526796135564272444777726081810246186719499879149703121959646547365044333001130511187700576670232272248880283728642799005250744171 4163528955762465545509620123046632458155614171142049337096740406964396590092039789043239176694908330100684521511724240356067774193006131207709032061217502195441232036412575603914808812053453134179277030457446671922631272205144857159576551953557592379502394386413080800425919599382738633737254588672656436941634653267562613091746089356684373889668570620785799174854522437772135898223236067849738199393374512068252235436228909922425338502671756557453824426455938581153124421279194819567971348567538858763044686676524338609570633158963161025494298320103470766128927078191072096713614380490672470528362062750072303370088884527319308513608084622541761665897170841121014377699579980278460165204778358593295982599314654401677469255068657191939400574001301036035249262766012334427443158627981243102638118036097263256155688955025583141266976373667513867277454602578458099799269025976190953398621829803756029034276914285360951340220220105155813544728723424900682089025519975613878231523177463329208354851587103342094916473741723866322777859326911936413149375876920829190709464930809353863753135254648910935152697901585412921207659673499359496734324508533995937316534918163648958541681175125035664538056341225123978198068668136022039451801225165130378591808286884937901945049399600770840907645863543294009148063164766655454470180255034014382300648296765939972748315242949704549175910175994903772643078152978 6736731363568026621590422173262480863398455692119877412843183374533911433409927714374732189220768504607498095513289490573765880517104709213230213373805150190345427183853791797099442181406878629145063926156114567011730711856229942003357242121353530228464712188701623786115567030719905170518300841197051274830464516644822586512615495917242490002336628898388199547139055940393517477020433419767833524202870109132902081933246392673928842905575607400703071191442881428001767724770471221992636335320058528387844372527828224599212280695703071595812002264306173390639028102041991241313375084927809122624786781176124158789901699845869979673121637513643785051362426949846143890584454078631671125633363492417298638196457200565977484131651311939517514630806634315566807911163019421100931890579792389437494237408112885389151624289270127227901117649721634824773002663029785607294556600509774712108995114707496835145357968731377447336811519940468023983959037454613874408243826702713624958858412179467911010635504412764460903542929511539607084918026505083866845904988579952447866320087859728718225210422756240661391594384190115491757311880245741826757841685303237461318571454144571209784487962750793951748582315209200971039350043618316413818883260498356298467459442609320801652468979127566976471918308321020090958309351486155333619883376993660929665692629767070483936015819619936821424790459723546571648328897149 10900260319330492167100042296309113321554069863261926749939923781498308023501967503417971365915676834708182617025013730929833654710110840420939245435022652385786659220266367401014250993460331763324340956613561238934361984061374799162933794074911122607967106575114704586541486630102643804255555429869707711772099169912385199604361585273926863892005199519173998721993578378165653375243669487617571723596244621201154317369475302596354181408247363958156895617898820009154892146049666041560607683887597387150889059204352563208782913854666232621306300584409644156767955180233063338026989465418481593153148843926196462159990584373189288186729722136185546717259597790967158268284034058910131290838141851010594620795771854967654953386719969131456915204807935351602057173929031755528375049207773632540132355444210148645307313244295710369168094023389148692050457265608243707093825626485965665507616944511252864179634883016738398677031740045623837528687760879514556497269346678327503190381589642797119365487091516106555820016671235405929862777353417020279995280865500781638575785018669082581978345677405151596544292285775528412964971553745101323492166193837233398635106372308220168326169137875829616286638656434324949237418711754338453270684485663486677059267729494258703597518378728337817379564171864314100106372516252810788090063632027675311966340926533010456684331062569641370600700635718450344291407050127 17636991682898518788690464469571594184952525555381804162783107156032219456911895217792703555136445339315680712538303221503599535227215549634169458808827802576132086404120159198113693174867210392469404882769675805946092695917604741166291036196264652836431818763816328372657053660822548974773856271066758986602563686557207786116977081191169353894341828417562198269132634318559170852264102907385405247799114730334056399302721695270283024313822971358859966809341701437156659870820137263553244019207655915538733431732180787807995194550369304217118302848715817547406983282275054579340364550346290715777935625102320620949892284219059267859851359649829331768622024740813302158868488137541802416471505343427893258992229055533632437518371281070974429835614569667168865085092051176629306939787566021977626592852323034034458937533565837597069211673110783516823459928638029314388382226995740377616612059218749699324992851748115846013843259986091861512646798334128430905513173381041128149240001822265030376122595928871016723559600746945536947695379922104146841185854080734086442105106528811300203556100161392257935886669965643904722283433990843150250007879140470859953677826452791378110657100626623568035220971643525920276768755372654867089567746161842975526727172103579505249987357855904793851482480185334191064681867738966121709947009021336241632033556300080940620346882189578192025491095441996915939735947276 28537252002229010955790506765880707506506595418643730912723030937530527480413862721210674921052122174023863329563316952433433189937326390055108704243850454961918745624386526599127944168327542155793745839383237044880454679978979540329224830271175775444398925338931032959198540290925192779029411700936466698374662856469592985721338666465096217786347027936736196991126212696724824227507772395002976971395359351535210716672196997866637205722070335317016862427240521446311552016869803305113851703095253302689622490936533351016778108405035536838424603433125461704174938462508117917367354015764772308931084469028517083109882868592248556046581081786014878485881622531780460427152522196451933707309647194438487879788000910501287390905091250202431345040422505018770922259021082932157681988995339654517758948296533182679766250777861547966237305696499932208873917194246273021482207853481706043124229003730002563504627734764854244690875000031715699041334559213642987402782520059368631339621591465062149741609687444977572543576271982351466810472733339124426836466719581515725017890125197893882181901777566543854480178955741172317687254987735944473742174072977704258588784198761011546436826238502453184321859628077850869514187467126993320360252231825329652585994901597838208847505736584242611231046652049648291171054383991776909800010641049011553598374482833091397304677944759219562626191731160447260231142997403 46174243685127529744480971235452301691459120974025535075506138093562746937325757939003378476188567513339544042101620173937032725164541939689278163052678257538050832028506685797241637343194752548263150722152912850826547375896584281495515866467440428280830744102747361331855593951747741753803267972003225684977226543026800771838315747656265571680688856354298395260258847015283995079771875302388382219194474081869267115974918693136920230035893306675876829236582222883468211887689940568667095722302909218228355922668714138824773302955404841055542906281841279251581921744783172496707718566111063024709020094130837704059775152811307823906432441435844210254503647272593762586021010333993736123781152537866381138780229966034919828423462531273405774876037074685939787344113134108786988928782905676495385541148856216714225188311427385563306517369610715725697377122884302335870590080477446420740841062948752262829620586512970090704718260017807560553981357547771418308295693440409759488861593287327180117732283373848589267135872729297003758168113261228573677652573662249811459995231726705182385457877727936112416065625706816222409538421726787623992181952118175118542462025213802924547483339129076752357080599721376789790956222499648187449819977987172628112722073701417714097493094440147405082529132234982482235736251730743031509957650070347795230408039133172337925024826948797754651682826602444176170878944679 74711495687356540700271478001333009197965716392669265988229169031093274417739620660214053397240689687363407371664937126370465915101868329744386867296528712499969577652893212396369581511522294704056896561536149895707002055875563821824740696738616203725229669441678394291054134242672934532832679672939692383351889399496393757559654414121361789467035884291034592251385059712008819307279647697391359190589833433404477832647115691003557435757963641992893691663822744329779763904559743873780947425398162520917978413605247489841551411360440377893967509714966740955756860207291290414075072581875835333640104563159354787169658021403556379953013523221859088740385269804374223013173532530445669831090799732304869018568230876536207219328553781475837119916459579704710709603134217040944670917778245331013144489445389399393991439089288933529543823066110647934571294317130575357352797933959152463865070066678754826334248321277824335395593260049523259595315916761414405711078213499778390828483184752389329859341970818826161810712144711648470568640846600353000514119293243765536477885356924599064567359655294479966896244581447988540096793409462732097734356025095879377131246223974814470984309577631529936678940227799227659305143689626641507810072209812502280698716975299255922944998831024390016313575784284630773406790635722519941309968291119359348828782521966263735229702771708017317277874557762891436402021942082 120885739372484070444752449236785310889424837366694801063735307124656021355065378599217431873429257200702951413766557300307498640266410269433665030349206970038020409681399898193611218854717047252320047283689062746533549431772148103320256563206056632006060413544425755622909728194420676286635947644942918068329115942523194529397970161777627361147724740645332987511643906727292814387051522999779741409784307515273744948622034384140477665793856948668770520900404967213247975792249684442448043147701071739146334336273961628666324714315845218949510415996808020207338781952074462910782791147986898358349124657290192491229433174214864203859445964657703298994888917076967985599194542864439405954871952270171250157348460842571127047752016312749242894792496654390650496947247351149731659846561151007508530030594245616108216627400716319092850340435721363660268671440014877693223388014436598884605911129627507089163868907790794426100311520067330820149297274309185824019373906940188150317344778039716509977074254192674751077848017440945474326808959861581574191771866906015347937880588651304246952817533022416079312310207154804762506331831189519721726537977214054495673708249188617395531792916760606689036020827520604449096099912126289695259892187799674908811439049000673637042491925464537421396104916519613255642526887453262972819925941189707144059190561099436073154727598656815071929557384365335612572900886761 195597235059840611145023927238118320087390553759364067051964476155749295772804999259431485270669946888066358785431494426677964555368278599178051897645735682537989987334293110589980800366239341956376943845225212642240551487647711925144997259944672835731290082986104149913963862437093610819468627317882610451681005342019588286957624575898989150614760624936367579763028966439301633694331170697171100600374140948678222781269150075144035101551820590661664212564227711543027739696809428316228990573099234260064312749879209118507876125676285596843477925711774761163095642159365753324857863729862733691989229220449547278399091195618420583812459487879562387735274186881342208612368075394885075785962752002476119175916691719107334267080570094225080014708956234095361206550381568190676330764339396338521674520039635015502208066490005252622394163501832011594839965757145453050576185948395751348470981196306261915498117229068618761495904780116854079744613191070600229730452120439966541145827962792105839836416225011500912888560162152593944895449806461934574705891160149780884415765945575903311520177188316896046208554788602793302603125240652251819460894002309933872804954473163431866516102494392136625714961055319832108401243601752931203069964397612177189510156024299929559987490756488927437709680700804244029049317523175782914129894232309066492887973083065699808384430370364832389207431942128227048974922828843 316482974432324681589776376474903630976815391126058868115699783280405317127870377858648917144099204088769310199198051726985463195634688868611716927994942652576010397015693008783592019220956389208696991128914275388774100919419860028465253823150729467737350496530529905536873590631514287106104574962825528520010121284542782816355594737676616511762485365581700567274672873166594448081382693696950842010158448463951967729891184459284512767345677539330434733464632678756275715489059112758677033720800305999210647086153170747174200839992130815792988341708582781370434424111440216235640654877849632050338353877739739769628524369833284787671905452537265686730163103958310194211562618259324481740834704272647369333265152561678461314832586406974322909501452888486011703497628919340407990610900547346030204550633880631610424693890721571715244503937553375255108637197160330743799573962832350233076892325933769004661986136859413187596216300184184899893910465379786053749826027380154691463172740831822349813490479204175663966408179593539419222258766323516148897663027055796232353646534227207558472994721339312125520864995757598065109457071841771541187431979523988368478662722352049262047895411152743314750981882840436557497343513879220898329856585411852098321595073300603197029982681953464859105785617323857284691844410629045886949820173498773636947163644165135881539157969021647461136989326493562661547823715604 512080209492165292734800303713021951064205944885422935167664259436154612900675377118080402414769150976835668984629546153663427751002967467789768825640678335114000384349986119373572819587195731165073934974139488031014652407067571953610251083095402303468640579516634055450837453068607897925573202280708138971691126626562371103313219313575605662377245990518068147037701839605896081775713864394121942610532589412630190511160334534428547868897498129992098946028860390299303455185868541074906024293899540259274959836032379865682076965668416412636466267420357542533530066270805969560498518607712365742327583098189287048027615565451705371484364940416828074465437290839652402823930693654209557526797456275123488509181844280785795581913156501199402924210409122581372910048010487531084321375239943684551879070673515647112632760380726824337638667439385386849948602954305783794375759911228101581547873522240030920160103365928031949092121080301038979638523656450386283480278147820121232609000703623928189649906704215676576854968341746133364117708572785450723603554187205577116769412479803110869993171909656208171729419784360391367712582312494023360648325981833922241283617195515481128563997905544879940465942938160268665898587115632152101399820983024029287831751097600532757017473438442392296815466318128101313741161933804828801079714405807840129835136727230835689923588339386479850344421268621789710522746544447 828563183924489974324576680187925582041021336011481803283364042716559930028545754976729319558868355065604979183827597880648890946637656336401485753635620987690010781365679128157164838808152120373770926103053763419788753326487431982075504906246131771205991076047163960987711043700122185031677777243533667491701247911105153919668814051252222174139731356099768714312374712772490529857096558091072784620691037876582158241051518993713060636243175669322533679493493069055579170674927653833583058014699846258485606922185550612856277805660547228429454609128940323903964490382246185796139173485561997792665936975929026817656139935284990159156270392954093761195600394797962597035493311913534039267632160547770857842446996842464256896745742908173725833711862011067384613545639406871492311986140491030582083621307396278723057454271448396052883171376938762105057240151466114538175333874060451814624765848173799924822089502787445136688337380485223879532434121830172337230104175200275924072173444455750539463397183419852240821376521339672783339967339108966872501217214261373349123059014030318428466166630995520297250284780117989432822039384335794901835757961357910609762279917867530390611893316697623255216924821000705223395930629511372999729677568435881386153346170901135954047456120395857155921251935451958598433006344433874688029534579306613766782300371395971571462746308408127311481410595115352372070570260051 1340643393416655267059376983900947533105227280896904738451028302152714542929221132094809721973637506042440648168457144034312318697640623804191254579276299322804011165715665247530737658395347851538844861077193251450803405733555003935685755989341534074674631655563798016438548496768730082957250979524241806463392374537667525022982033364827827836516977346617836861350076552378386611632810422485194727231223627289212348752211853528141608505140673799314632625522353459354882625860796194908489082308599386517760566758217930478538354771328963641065920876549297866437494556653052155356637692093274363534993520074118313865683755500736695530640635333370921835661037685637614999859424005567743596794429616822894346351628841123250052478658899409373128757922271133648757523593649894402576633361380434715133962691980911925835690214652175220390521838816324148955005843105771898332551093785288553396172639370413830844982192868715477085780458460786262859170957778280558620710382323020397156681174148079678729113303887635528817676344863085806147457675911894417596104771401466950465892471493833429298459338540651728468979704564478380800534621696829818262484083943191832851045897113383011519175891222242503195682867759160973889294517745143525101129498551459910673985097268501668711064929558838249452736718253580059912174168278238703489109248985114453896617437098626807261386334647794607161825831863737142082593316804498 2169206577341145241383953664088873115146248616908386541734392344869274472957766887071539041532505861108045627352284741914961209644278280140592740332911920310494021947081344375687902497203499971912615787180247014870592159060042435917761260895587665845880622731610961977426259540468852267988928756767775473955093622448772678942650847416080050010656708702717605575662451265150877141489906980576267511851914665165794506993263372521854669141383849468637166305015846528410461796535723848742072140323299232776246173680403481091394632576989510869495375485678238190341459047035298341152776865578836361327659457050047340683339895436021685689796905726325015596856638080435577596894917317481277636062061777370665204194075837965714309375404642317546854591634133144716142137139289301274068945347520925745716046313288308204558747668923623616443405010193262911060063083257238012870726427659349005210797405218587630769804282371502922222468795841271486738703391900110730957940486498220673080753347592535429268576701071055381058497721384425478930797643251003384468605988615728323815015530507863747726925505171647248766229989344596370233356661081165613164319841904549743460808177031250541909787784538940126450899792580161679112690448374654898100859176119895792060138443439402804665112385679234106608657970189032018510607174622672578177138783564421067663399737470022778832849080956202734473307242458852494454663887064549 3509849970757800508443330647989820648251475897805291280185420647021989015886988019166348763506143367150486275520741885949273528341918903944783994912188219633298033112797009623218640155598847823451460648257440266321395564793597439853447016884929199920555254387174759993864808037237582350946179736292017280418485996986440203965632880780907877847173686049335442437012527817529263753122717403061462239083138292455006855745475226049996277646524523267951798930538199987765344422396520043650561222631898619294006740438621411569932987348318474510561296362227536056778953603688350496509414557672110724862652977124165654549023650936758381220437541059695937432517675766073192596754341323049021232856491394193559550545704679088964361854063541726919983349556404278364899660732939195676645578708901360460850009005269220130394437883575798836833926849009587060015068926363009911203277521444637558606970044589001461614786475240218399308249254302057749597874349678391289578650868821241070237434521740615107997690004958690909876174066247511285078255319162897802064710760017195274280908002001697177025384843712298977235209693909074751033891282777995431426803925847741576311854074144633553428963675761182629646582660339322653001984966119798423201988674671355702734123540707904473376177315238072356061394688442612078422781342900911281666248032549535521560017174568649586094235415603997341635133074322589636537257203869047 5679056548098945749827284312078693763397724514713677821919812991891263488844754906237887805038649228258531902873026627864234737986197184085376735245100139943792055059878353998906542652802347795364076435437687281191987723853639875771208277780516865766435877118785721971291067577706434618935108493059792754373579619435212882908283728196987927857830394752053048012674979082680140894612624383637729750935052957620801362738738598571850946787908372736588965235554046516175806218932243892392633362955197852070252914119024892661327619925307985380056671847905774247120412650723648837662191423250947086190312434174212995232363546372780066910234446786020953029374313846508770193649258640530298868918553171564224754739780517054678671229468184044466837941190537423081041797872228496950714524056422286206566055318557528334953185552499422453277331859202849971075132009620247924074003949103986563817767449807589092384590757611721321530718050143329236336577741578502020536591355319461743318187869333150537266266706029746290934671787631936764009052962413901186533316748632923598095923532509560924752310348883946226001439683253671121267247943859161044591123767752291319772662251175884095338751460300122756097482452919484332114675414494453321302847850791251494794261984147307278041289700917306462670052658631644096933388517523583859843386816113956589223416912038672364927084496560200076108440316781442130991921090933596 9188906518856746258270614960068514411649200412518969102105233638913252504731742925404236568544792595409018178393768513813508266328116088030160730157288359577090088172675363622125182808401195618815537083695127547513383288647237315624655294665446065686991131505960481965155875614944016969881288229351810034792065616421653086873916608977895805705004080801388490449687506900209404647735341786699191990018191250075808218484213824621847224434432896004540764166092246503941150641328763936043194585587096471364259654557646304231260607273626459890617968210133310303899366254411999334171605980923057811052965411298378649781387197309538448130671987845716890461891989612581962790403599963579320101775044565757784305285485196143643033083531725771386821290746941701445941458605167692627360102765323646667416064323826748465347623436075221290111258708212437031090200935983257835277281470548624122424737494396590553999377232851939720838967304445386985934452091256893310115242224140702813555622391073765645263956710988437200810845853879448049087308281576798988598027508650118872376831534511258101777695192596245203236649377162745872301139226637156476017927693600032896084516325320517648767715136061305385744065113258806985116660380614251744504836525462607197528385524855211751417467016155378818731447347074256175356169860424495141509634848663492110783434086607321951021319912164197417743573391104031767529178294802643 14867963066955692008097899272147208175046924927232646924025046630804515993576497831642124373583441823667550081266795141677743004314313272115537465402388499520882143232553717621031725461203543414179613519132814828705371012500877191395863572445962931453427008624746203936446943192650451588816396722411602789165645235856865969782200337174883733562834475553441538462362485982889545542347966170336921740953244207696609581222952423193698171222341268741129729401646293020116956860261007828435827948542294323434512568676671196892588227198934445270674640058039084551019778905135648171833797404174004897243277845472591645013750743682318515040906434631737843491266303459090732984052858604109618970693597737322009060025265713198321704312999909815853659231937479124526983256477396189578074626821745932873982119642384276800300808988574643743388590567415287002165332945603505759351285419652610686242504944204179646383967990463661042369685354588716222271029832835395330651833579460164556873810260406916182530223417018183491745517641511384813096361243990700175131344257283042470472755067020819026530005541480191429238089060416416993568387170496317520609051461352324215857178576496401744106466596361428141841547566178291317231335795108705065807684376253858692322647509002519029458756717072685281401500005705900272289558377948079001353021664777448700006850998645994315948404408724397493852013707885473898521099385736239 24056869585812438266368514232215722586696125339751616026130280269717768498308240757046360942128234419076568259660563655491251270642429360145698195559676859097972231405229081243156908269604739032995150602827942376218754301148114507020518867111408997140418140130706685901602818807594468558697684951763412823957710852278519056656116946152779539267838556354830028912049992883098950190083307957036113730971435457772417799707166247815545395656774164745670493567738539524058107501589771764479022534129390794798772223234317501123848834472560905161292608268172394854919145159547647506005403385097062708296243256770970294795137940991856963171578422477454733953158293071672695774456458567688939072468642303079793365310750909341964737396531635587240480522684420825972924715082563882205434729587069579541398183966211025265648432424649865033499849275627724033255533881586763594628566890201234808667242438600770200383345223315600763208652659034103208205481924092288640767075803600867370429432651480681827794180128006620692556363495390832862183669525567499163729371765933161342849586601532077128307700734076436632474738437579162865869526397133473996626979154952357111941694901816919392874181732422733527585612679437098302347996175722956810312520901716465889851033033857730780876223733228064100132947352780156447645728238372574142862656513440940810790285085253316266969724320888594911595587098989505666050277680538882 38924832652768130274466413504362930761743050266984262950155326900522284491884738588688485315711676242744118340927358797168994274956742632261235660962065358618854374637782798864188633730808282447174764121960757204924125313648991698416382439557371928593845148755452889838049762000244920147514081674175015613123356088135385026438317283327663272830673031908271567374412478865988495732431274127373035471924679665469027380930118671009243566879115433486800222969384832544175064361850779592914850482671685118233284791910988698016437061671495350431967248326211479405938924064683295677839200789271067605539521102243561939808888684674175478212484857109192577444424596530763428758509317171798558043162240040401802425336016622540286441709531545403094139754621899950499907971559960071783509356408815512415380303608595302065949241413224508776888439843043011035420866827190269353979852309853845494909747382804949846767313213779261805578338013622819430476511756927683971418909383061031927303242911887598010324403545024804184301881136902217675280030769558199338860716023216203813322341668552896154837706275556628061712827497995579859437913567629791517236030616304681327798873478313321136980648328784161669427160245615389619579331970831661876120205277970324582173680542860249810334980450300749381534447358486056719935286616320653144215678178218389510797136083899310582918128729612992405447600806874979564571377066275121 62981702238580568540834927736578653348439175606735878976285607170240052990192979345734846257839910661820686600587922452660245545599171992406933856521742217716826606043011880107345542000413021480169914724788699581142879614797106205436901306668780925734263288886159575739652580807839388706211766625938428437081066940413904083094434229480442812098511588263101596286462471749087445922514582084409149202896115123241445180637284918824788962535889598232470716537123372068233171863440551357393873016801075913032057015145306199140285896144056255593259856594383874260858069224230943183844604174368130313835764359014532234604026625666032441384063279586647311397582889602436124532965775739487497115630882343481595790646767531882251179106063180990334620277306320776472832686642523953988944085995885091956778487574806327331597673837874373810388289118670735068676400708777032948608419200055080303576989821405720047150658437094862568786990672656922638681993681019972612185985186661899297732675563368279838118583673031424876858244632293050537463700295125698502590087789149365156171928270084973283145407009633064694187565935574742725307439964763265513863009771257038439740568380130240529854830061206895197012772925052487921927328146554618686432726179686790472024713576717980591211204183528813481667394711266213167581014854693227287078334691659330321587421169152626849887853050501587317043187905864485230621654746814003 101906534891348698815301341240941584110182225873720141926440934070762337482077717934423331573551586904564804941515281249829239820555914624668169517483807576335680980680794678971534175731221303927344678846749456786067004928446097903853283746226152854328108437641612465577702342808084308853725848300113444050204423028549289109532751512808106084929184620171373163660874950615075941654945856211782184674820794788710472561567403589834032529415005031719270939506508204612408236225291330950308723499472761031265341807056294897156722957815551606025227104920595353666796993288914238861683804963639197919375285461258094174412915310340207919596548136695839888842007486133199553291475092911286055158793122383883398215982784154422537620815594726393428760031928220726972740658202484025772453442404700604372158791183401629397546915251098882587276728961713746104097267535967302302588271509908925798486737204210669893917971650874124374365328686279742069158505437947656583604894569722931225035918475255877848442987218056229061160125769195268212743731064683897841450803812365568969494269938637869437983113285189692755900393433570322584745353532393057031099040387561719767539441858443561666835478389991056866439933170667877541506660117386280562552931457657115054198394119578230401546184633829562863201842069752269887516301471013880431294012869877719832384557253051937432805981780114579722490788712739464795193031813089124 164888237129929267356136268977520237458621401480456020902726541241002390472270697280158177831391497566385491542103203702489485366155086617075103374005549794052507586723806559078879717731634325407514593571538156367209884543243204109290185052894933780062371726527772041317354923615923697559937614926051872487285489968963193192627185742288548897027696208434474759947337422364163387577460438296191333877716909911951917742204688508658821491950894629951741656043631576680641408088731882307702596516273836944297398822201601096297008853959607861618486961514979227927655062513145182045528409138007328233211049820272626409016941936006240360980611416282487200239590375735635677824440868650773552274424004727364994006629551686304788799921657907383763380309234541503445573344845007979761397528400585696328937278758207956729144589088973256397665018080384481172773668244744335251196690709964006102063727025616389941068630087968986943152319358936664707840499118967629195790879756384830522768594038624157686561570891087653938018370401488318750207431359809596344040891601514934125666198208722842721128520294822757450087959369145065310052793497156322544962050158818758207280010238573802196690308451197952063452706095720365463433988263940899248985657637343905526223107696296210992757388817358376344869236781018483055097316325707107718372347561537050153971978422204564282693834830616167039533976618603950025814686559903127 266794772021277966171437610218461821568803627354176162829167475311764727954348415214581509404943084470950296483618484952318725186711001241743272891489357370388188567404601238050413893462855629334859272418287613153276889471689302013143468799121086634390480164169384506895057266424008006413663463226165316537489912997512482302159937255096654981956880828605847923608212372979239329232406294507973518552537704700662390303772092098492854021365899661671012595550139781293049644314023213258011320015746597975562740629257895993453731811775159467643714066435574581594452055802059420907212214101646526152586335281530720583429857246346448280577159552978327089081597861868835231115915961562059607433217127111248392222612335840727326420737252633777192140341162762230418314003047492005533850970805286300701096069941609586126691504340072138984941747042098227276870935780711637553784962219872931900550464229827059834986601738843111317517648045216406776999004556915285779395774326107761747804512513880035535004558109143882999178496170683586962951162424493494185491695413880503095160468147360712159111633580012450205988352802715387894798147029549379576061090546380477974819452097017363863525786841189008929892639266388243004940648381327179811538589095001020580421501815874441394303573451187939208071078850770752942613617796720988149666360431414769986356535675256501715499816610730746762024765331343414821007718372992251 431683009151207233527573879195982059027425028834632183731894016552767118426619112494739687236334582037335788025721688654808210552866087858818376265494907164440696154128407797129293611194489954742373865989825769520486774014932506122433653852016020414452851890697156548212412190039931703973601078152217189024775402966475675494787122997385203878984577037040322683555549795343402716809866732804164852430254614612614308045976780607151675513316794291622754251593771357973691052402755095565713916532020434919860139451459497089750740665734767329262201027950553809522107118315204602952740623239653854385797385101803346992446799182352688641557770969260814289321188237604470908940356830212833159707641131838613386229241887527032115220658910541160955520650397303733863887347892499985295248499205871997030033348699817542855836093429045395382606765122482708449644604025455972804981652929836938002614191255443449776055231826812098260669967404153071484839503675882914975186654082492592270573106552504193221566129000231536937196866572171905713158593784303090529532587015395437220826666356083554880240153874835207656076312171860453204850940526705702121023140705199236182099462335591166060216095292386960993345345362108608468374636645268079060524246732344926106644609512170652387060962268546315552940315631789235997710934122428095868038707992951820140328514097461065998193651441346913801558741949947364846822404932895378 698477781172485199699011489414443880596228656188808346561061491864531846380967527709321196641277666508286084509340173607126935739577089100561649156984264534828884721533009035179707504657345584077233138408113382673763663486621808135577122651137107048843332054866541055107469456463939710387264541378382505562265315963988157796947060252481858860941457865646170607163762168322642046042273027312138370982792319313276698349748872705644529534682693953293766847143911139266740696716778308823725236547767032895422880080717393083204472477509926796905915094386128391116559174117264023859952837341300380538383720383334067575876656428699136922134930522239141378402786099473306140056272791774892767140858258949861778451854223367759441641396163174938147660991560065964282201350939991990829099470011158297731129418641427128982527597769117534367548512164580935726515539806167610358766615149709869903164655485270509611041833565655209578187615449369478261838508232798200754582428408600354018377619066384228756570687109375419936375362742855492676109756208796584715024282429275940315987134503444267039351787454847657862064664974575841099649087556255081697084231251579714156918914432608529923741882133575969923237984628496851473315285026595258872062835827345946687066111328045093781364535719734254761011394482559988940324551919149084017705068424366590126685049772717567713693468052077660563583507281290779667830123305887629 1130160790323692433226585368610425939623653685023440530292955508417298964807586640204060883877612248545621872535061862261935146292443176959380025422479171699269580875661416832309001115851835538819607004397939152194250437501554314258010776503153127463296183945563697603319881646503871414360865619530599694587040718930463833291734183249867062739926034902686493290719311963666044762852139760116303223413046933925891006395725653312796205047999488244916521098737682497240431749119533404389439153079787467815283019532176890172955213143244694126168116122336682200638666292432468626812693460580954234924181105485137414568323455611051825563692701491499955667723974337077777048996629621987725926848499390788475164681096110894791556862055073716099103181641957369698146088698832491976124347969217030294761162767341244671838363691198162929750155277287063644176160143831623583163748268079546807905778846740713959387097065392467307838857582853522549746678011908681115729769082491092946288950725618888421978136816109606956873572229315027398389268349993099675244556869444671377536813800859527821919591941329682865518140977146436294304500028082960783818107371956778950339018376768199695983957977425962930916583329990605459941689921671863337932587082559690872793710720840215746168425497988280570313951710114349224938035486041577179885743776417318410267013563870178633711887119493424574365142249231238144514652528238783007 1828638571496177632925596858024869820219882341212248876854017000281830811188554167913382080518889915053907957044402035869062082032020266059941674579463436234098465597194425867488708620509181122896840142806052534868014100988176122393587899154290234512139516000430238658427351102967811124748130160908982200149306034894451991088681243502348921600867492768332663897883074131988686808894412787428441594395839253239167704745474526018440734582682182198210287945881593636507172445836311713213164389627554500710705899612894283256159685620754620923074031216722810591755225466549732650672646297922254615462564825868471482144200112039750962485827632013739097046126760436551083189052902413762618693989357649738336943132950334262550998503451236891037250842633517435662428290049772483966953447439228188592492292185982671800820891288967280464117703789451644579902675683637791193522514883229256677808943502225984468998138898958122517417045198302892028008516520141479316484351510899693300307328344685272650734707503218982376809947592057882891065378106201896259959581151873947317852800935362972088958943728784530523380205642121012135404149115639215865515191603208358664495937291200808225907699859559538900839821314619102311415005206698458596804649918387036819480776832168260839949790033708014825074963104596909213878360037960726263903448844841685000393698613642896201425580587545502234928725756512528924182482651544670636 2958799361819870066152182226635295759843536026235689407146972508699129775996140808117442964396502163599529829579463898130997228324463443019321700001942607933368046472855842699797709736361016661716447147203991687062264538489730436651598675657443361975435699945993936261747232749471682539108995780439581894736346753824915824380415426752215984340793527671019157188602386095654731571746552547544744817808886187165058711141200179331236939630681670443126809044619276133747604194955845117602603542707341968525988919145071173429114898763999315049242147339059492792393891758982201277485339758503208850386745931353608896712523567650802788049520333505239052713850734773628860238049532035750344620837857040526812107814046445157342555365506310607136354024275474805360574378748604975943077795408445218887253454953323916472659254980165443393867859066738708224078835827469414776686263151308803485714722348966698428385235964350589825255902781156414577755194532050160432214120593390786246596279070304161072712844319328589333683519821372910289454646456194995935204138021318618695389614736222499910878535670114213388898346619267448429708649143722176649333298975165137614834955667969007921891657836985501831756404644609707771356695128370321934737237000946727692274487553008476586118215531696295395388914814711258438816395524002303443789192621259003410660712177513074835137467707038926809293868005743767068697135179783453643 4787437933316047699077779084660165580063418367447938284000989508980960587184694976030825044915392078653437786623865934000059310356483709079263374581406044167466512070050268567286418356870197784613287290010044221930278639477906559045186574811733596487575215946424174920174583852439493663857125941348564094885652788719367815469096670254564905941661020439351821086485460227643418380640965334973186412204725440404226415886674705349677674213363852641337096990500869770254776640792156830815767932334896469236694818757965456685274584384753935972316178555782303384149117225531933928157986056425463465849310757222080378856723679690553750535347965518978149759977495210179943427102434449512963314827214690265149050946996779419893553868957547498173604866908992241023002668798377459910031242847673407479745747139306588273480146269132723857985562856190352803981511511107205970208778034538060163523665851192682897383374863308712342672947979459306605763711052191639748698472104290479546903607414989433723447551822547571710493467413430793180520024562396892195163719173192566013242415671585471999837479398898743912278552261388460565112798259361392514848490578373496279330892959169816147799357696545040732596225959228810082771700335068780531541886919333764511755264385176737426068005565404310220463877919308167652694755561963029707692641466100688411054410791155971036563048294584429044222593762256295992879617831328124279 7746237295135917765229961311295461339906954393683627691147962017680090363180835784148268009311894242252967616203329832131056538680947152098585074583348652100834558542906111267084128093231214446329734437214035908992543177967636995696785250469176958463010915892418111181921816601911176202966121721788145989621999542544283639849512097006780890282454548110370978275087846323298149952387517882517931230013611627569285127027874884680914613844045523084463906035120145904002380835748001948418371475042238437762683737903036630114389483148753251021558325894841796176543008984514135205643325814928672316236056688575689275569247247341356538584868299024217202473828229983808803665151966485263307935665071730791961158761043224577236109234463858105309958891184467046383577047546982435853109038256118626366999202092630504746139401249298167251853421922929061028060347338576620746895041185846863649238388200159381325768610827659302167928850760615721183518905584241800180912592697681265793499886485293594796160396141876161044176987234803703469974671018591888130367857194511184708632030407807971910716015069012957301176898880655908994821447403083569164181789553538633894165848627138824069691015533530542564352630603838517854128395463439102466279123920280492204029751938185214012186221097100605615852792734019426091511151085965333151481834087359691821715122968669045871700516001623355853516461768000063061576753011111577922 12533675228451965464307740395955626919970372761131565975148951526661050950365530760179093054227286320906405402827195766131115849037430861177848449164754696268301070612956379834370546450101412230943021727224080130922821817445543554741971825280910554950586131838842286102096400454350669866823247663136710084507652331263651455318608767261345796224115568549722799361573306550941568333028483217491117642218337067973511542914549590030592288057409375725801003025621015674257157476540158779234139407377134906999378556661002086799664067533507186993874504450624099560692126210046069133801311871354135782085367445797769654425970927031910289120216264543195352233805725193988747092254400934776271250492286421057110209708040003997129663103421405603483563758093459287406579716345359895763140281103792033846744949231937093019619547518430891109838984779119413832041858849683826717103819220384923812762054051352064223151985690968014510601798740075027789282616636433439929611064801971745340403493900283028519607947964423732754670454648234496650494695580988780325531576367703750721874446079393443910553494467911701213455451142044369559934245662444961679030280131912130173496741586308640217490373230075583296948856563067327936900095798507882997821010839614256715785016323361951438254226662504915836316670653327593744205906647928362859174475553460380232769533759825016908263564296207784897739055530256359054456370842439702201 20279912523587883229537701707251088259877327154815193666296913544341141313546366544327361063539180563159373019030525598262172387718378013276433523748103348369135629155862491101454674543332626677272756164438116039915364995413180550438757075750087513413597047731260397284018217056261846069789369384924856074129651873807935095168120864268126686506570116660093777636661152874239718285416001100009048872231948695542796669942424474711506901901454898810264909060741161578259538312288160727652510882419373344762062294564038716914053550682260438015432830345465895737235135194560204339444637686282808098321424134373458929995218174373266827705084563567412554707633955177797550757406367420039579186157358151849071368469083228574365772337885263708793522649277926333790156763892342331616249319359910660213744151324567597765758948767729058361692406702048474860102206188260447463998860406231787462000442251511445548920596518627316678530649500690748972801522220675240110523657499653011133903380385576623315768344106299893798847441883038200120469366599580668455899433562214935430506476487201415821269509536924658514632350022700278554755693065528530843212069685450764067662590213447464287181388763606125861301487166905845791028491261946985464100134759894748919814768261547165450440447759605521452169463387347019835717057733893696010656309640820072054484656728494062779964080297831140751255517298256422116033123853551280123 32813587752039848693845442103206715179847699915946759641445865071002192263911897304506454117766466884065778421857721364393288236755808874454281972912858044637436699768818870935825220993434038908215777891662196170838186812858724105180728901030998068364183179570102683386114617510612515936612617048061566158637304205071586550486729631529472482730685685209816576998234459425181286618444484317500166514450285763516308212856974064742099189958864274536065912086362177252516695788828319506886650289796508251761440851225040803713717618215767625009307334796089995297927261404606273473245949557636943880406791580171228584421189101405177116825300828110607906941439680371786297849660768354815850436649644572906181578177123232571495435441306669312277086407371385621196736480237702227379389600463702694060489100556504690785378496286159949471531391481167888692144065037944274181102679626616711274762496302863509772072582209595331189132448240765776762084138857108680040134722301624756474306874285859651835376292070723626553517896531272696770964062180569448781431009929918686152380922566594859731823004004836359728087801164744648114689938727973492522242349817362894241159331799756104504671761993681709158250343729973173727928587060454868461921145599509005635599784584909116888694674422110437288486134040674613579922964381822058869830785194280452287254190488319079688227644594038925648994572828512781170489494695990982324 53093500275627731923383143810457803439725027070761953307742778615343333577458263848833815181305647447225151440888246962655460624474186887730715496660961393006572328924681362037279895536766665585488534056100312210753551808271904655619485976781085581777780227301363080670132834566874362006401986432986422232766956078879521645654850495797599169237255801869910354634895612299421004903860485417509215386682234459059104882799398539453606091860319173346330821147103338830776234101116480234539161172215881596523503145789079520627771168898028063024740165141555891035162396599166477812690587243919751978728215714544687514416407275778443944530385391678020461649073635549583848607067135774855429622807002724755252946646206461145861207779191933021070609056649311954986893244130044558995638919823613354274233251881072288551137445053889007833223798183216363552246271226204721645101540032848498736762938554374955320993178728222647867663097741456525734885661077783920150658379801277767608210254671436275151144636177023520352365338414310896891433428780150117237330443492133621582887399053796275553092513541761018242720151187444926669445631793502023365454419502813658308821922013203568791853150757287835019551830896879019518957078322401853926021280359403754555414552846456282339135122181715958740655597428021633415640022115715754880487094835100524341738847216813142468191724891870066400250090126769203286522618549542262447 85907088027667580617228585913664518619572726986708712949188643686345525841370161153340269299072114331290929862745968327048748861229995762184997469573819437644009028693500232973105116530200704493704311947762508381591738621130628760800214877812083650141963406871465764056247452077486877943014603481047988391404260283951108196141580127327071651967941487079726931633130071724602291522304969735009381901132520222575413095656372604195705281819183447882396733233465516083292929889944799741425811462012389848284943997014120324341488787113795688034047499937645886333089658003772751285936536801556695859135007294715916098837596377183621061355686219788628368590513315921370146456727904129671280059456647297661434524823329693717356643220498602333347695464020697576183629724367746786375028520287316048334722352437576979336515941340048957304755189664384252244390336264148995826204219659465210011525434857238465093065760937817979056795545982222302496969799934892600190793102102902524082517128957295926986520928247747146905883234945583593662397490960719566018761453422052307735268321620391135284915517546597377970807952352189574784135570521475515887696769320176552549981253812959673296524912750969544177802174626852193246885665382856722387942425958912760191014337431365399227829796603826396029141731468696246995562986497537813750317880029380976628993037705132222156419369485908992049244662955281984457012113245533244771 139000588303295312540611729724122322059297754057470666256931422301688859418828425002174084480377761778516081303634215289704209485704182649915712966234780830650581357618181595010385012066967370079192846003862820592345290429402533416419700854593169231919743634172828844726380286644361239949416589914034410624171216362830629841796430623124670821205197288949637286268025684024023296426165455152518597287814754681634517978455771143649311373679502621228727554380568854914069163991061279975964972634228271444808447142803199844969259956011823751058787665079201777368252054602939229098627124045476447837863223009260603613254003652962065005886071611466648830239586951470953995063795039904526709682263650022416687471469536154863217850999690535354418304520670009531170522968497791345370667440110929402608955604318649267887653386393937965137978987847600615796636607490353717471305759692313708748288373411613420414058939666040626924458643723678828231855461012676520341451481904180291690727383628732202137665564424770667258248573359894490553830919740869683256091896914185929318155720674187410838008031088358396213528103539634501453581202314977539253151188822990210858803175826163242088378063508257379197354005523731212765842743705258576313963706318316514746428890277821681566964918785542354769797328896717880411203008613253568630804974864481500970731884921945364624611094377779058449494753082051187743534731795075507218 224907676330962893157840315637786840678870481044179379206120065988034385260198586155514353779449876109807011166380183616752958346934178412100710435808600268294590386311681827983490128597168074572897157951625328973937029050533162177219915732405252882061707041044294608782627738721848117892431193395082399015575476646781738037938010750451742473173138776029364217901155755748625587948470424887527979188947274904209931074112143747845016655498686069111124287614034370997362093881006079717390784096240661293093391139817320169310748743125619439092835165016847663701341712606711980384563660847033143696998230303976519712091600030145686067241757831255277198830100267392324141520522944034197989741720297320078121996292865848580574494220189137687765999984690707107354152692865538131745695960398245450943677956756226247224169327733986922442734177511984868041026943754502713297509979351778918759813808268851885507124700603858605981254189705901130728825260947569120532244584007082815773244512586028129124186492672517814164131808305478084216228410701589249274853350336238237053424042294578546122923548634955774184336055891824076237716772836453055140847958143166763408784429639122915384902976259226923375156180150583406012728409088115298701906132277229274937443227709187080794794715389368750798939060365414127406765995110791382381122854893862477599724922627077586781030463863688050498739416037333172200546845040608751989 363908264634258205698452045361909162738168235101650045463051488289723244679027011157688438259827637888323092470014398906457167832638361062016423402043381098945171743929863422993875140664135444652090003955488149566282319479935695593639616586998422113981450675217123453509008025366209357841847783309116809639746693009612367879734441373576413294378336064979001504169181439772648884374635880040046576476762029585844449052567914891494328029178188690339851841994603225911431257872067359693355756730468932737901838282620520014280008699137443190151622830096049441069593767209651209483190784892509591534861453313237123325345603683107751073127829442721926029069687218863278136584317983938724699423983947342494809467762402003443792345219879673042184304505360716638524675661363329477116363400509174853552633561074875515111822714127924887580713165359585483837663551244856430768815739044092627508102181680465305921183640269899232905712833429579958960680721960245640873696065911263107463971896214760331261852057097288481422380381665372574770059330442458932530945247250424166371579762968765956960931579723314170397864159431458577691297975151430594393999146966156974267587605465286157473281039767484302572510185674314618778571152793373875015869838595545789683872117987008762361759634174911105568736389262132007817969003724044951011927829758343978570456807549022951405641558241467108948234169119384359944081576835684259207 588815940965221098856292360999696003417038716145829424669171554277757629939225597313202792039277513998130103636394582523210126179572539474117133837851981367239762130241545250977365269261303519224987161907113478540219348530468857770859532319403674996043157716261418062291635764088057475734278976704199208655322169656394105917672452124028155767551474841008365722070337195521274472323106304927574555665709304490054380126680058639339344684676874759450976129608637596908793351753073439410746540826709594030995229422437840183590757442263062629244457995112897104770935479816363189867754445739542735231859683617213643037437203713253437140369587273977203227899787486255602278104840927972922689165704244662572931464055267852024366839440068810729950304490051423745878828354228867608862059360907420304496311517831101762335992041861911810023447342871570351878690494999359144066325718395871546267915989949317191428308340873757838886967023135481089689505982907814761405940649918345923237216408800788460386038549769806295586512189970850658986287741144048181805798597586662403425003805263344503083855128358269944582200215323282653929014747987883649534847105109323737676372035104409072858184016026711225947666365824898024791299561881489173717775970872775064621315345696195843156554349564279856367675449627546135224734998834836333393050684652206456170181730176100538186672022105155159446973585156717532144628421876293011196 952724205599479304554744406361605166155206951247479470132223042567480874618252608470891230299105151886453196106408981429667294012210900536133557239895362466184933874171408673971240409925438963877077165862601628106501668010404553364499148906402097110024608391478541515800643789454266833576126760013316018295068862666006473797406893497604569061929810905987367226239518635293923356697742184967621132142471334075898829179247973530833672713855063449790827971603240822820224609625140799104102297557178526768897067705058360197870766141400505819396080825208946545840529247026014399350945230632052326766721136930450766362782807396361188213497416716699129256969474705118880414689158911911647388589688192005067740931817669855468159184659948483772134608995412140384403504015592197085978422761416595158048945078905977277447814755989836697604160508231155835716354046244215574835141457439964173776018171629782497349491981143657071792679856565061048650186704868060402279636715829609030701188305015548791647890606867094777008892571636223233756347071586507114336743844837086569796583568232110460044786708081584114980064374754741231620312723139314243928846252075480711943959640569695230331465055794195528520176551499212643569870714674863048733645809468320854305187463683204605518313983739190961936411838889678143042704002558881284404978514410550434740638537725123489592313580346622268395207754276101892088709998711977270403 1541540146564700403411036767361301169572245667393308894801394596845238504557478205784094022338382665884583299742803563952877420191783440010250691077747343833424696004412953924948605679186742483102064327769715106646721016540873411135358681225805772106067766107739959578092279553542324309310405736717515226950391032322400579715079345621632724829481285746995732948309855830815197829020848489895195687808180638565953209305928032170173017398531938209241804101211878419729017961378214238514848838383888120799892297127496200381461523583663568448640538820321843650611464726842377589218699676371595061998580820547664409400220011109614625353867003990676332484869262191374482692793999839884570077755392436667640672395872937707492526024100017294502084913485463564130282332369821064694840482122324015462545256596737079039783806797851748507627607851102726187595044541243574718901467175835835720043934161579099688777800322017414910679646879700542138339692687775875163685577365747954953938404713816337252033929156636901072595404761607073892742634812730555296142542442423748973221587373495454963128641836439854059562264590078023885549327471127197893463693357184804449620331675674104303189649071820906754467842917324110668361170276556352222451421780341095918926502809379400448674868333303470818304087288517224278267439001393717617798029199062756890910820267901224027778985602451777427842181339432819424233338420588270281599 2494264352164179707965781173722906335727452618640788364933617639412719379175730814254985252637487817771036495849212545382544714203994340546384248317642706299609629878584362598919846089112181446979141493632316734753222684551277964499857830132207869216092374499218501093892923342996591142886532496730831245245459894988407053512486239119237293891411096652983100174549374466109121185718590674862816819950651972641852038485176005701006690112387001659032632072815119242549242571003355037618951135941066647568789364832554560579332289725064074268036619645530790196451993973868391988569644907003647388765301957478115175763002818505975813567364420707375461741838736896493363107483158751796217466345080628672708413327690607562960685208759965778274219522480875704514685836385413261780818904883740610620594201675643056317231621553841585205231768359333882023311398587487790293736608633275799893819952333208882186127292303161071982472326736265603186989879392643935565965214081577563984639593018831886043681819763503995849604297333243297126498981884317062410479286287260835543018170941727565423173428544521438174542328964832765117169640194266512137392539609260285161564291316243799533521114127615102282988019468823323311931040991231215271185067589809416773231690273062605054193182317042661780240499127406902421310143003952598902203007713473307325651458805626347517371299182798399696237389093708921316322048419300247552002 4035804498728880111376817941084207505299698286034097259735012236257957883733209020039079274975870483655619795592016109335422134395777780556634939395390050133034325882997316523868451768298923930081205821402031841399943701092151375635216511358013641322160140606958460671985202896538915452196938233448346472195850927310807633227565584740870018720892382399978833122859230296924319014739439164758012507758832611207805247791104037871179707510918939868274436174026997662278260532381569276133799974324954768368681661960050760960793813308727642716677158465852633847063458700710769577788344583375242450763882778025779585163222829615590438921231424698051794226707999087867845800277158591680787544100473065340349085723563545270453211232859983072776304435966339268644968168755234326475659387006064626083139458272380135357015428351693333712859376210436608210906443128731365012638075809111635613863886494787981874905092625178486893151973615966145325329572080419810729650791447325518938577997732648223295715748920140896922199702094850371019241616697047617706621828729684584516239758315223020386302070380961292234104593554910789002718967665393710030856232966445089611184622991917903836710763199436009037455862386147433980292211267787567493636489370150512692158193082442005502868050650346132598544586415924126699577582005346316520001036912536064216562279073527571545150284785250177124079570433141740740555386839888517833601 6530068850893059819342599114807113841027150904674885624668629875670677262908939834294064527613358301426656291441228654717966848599772121103019187713032756432643955761581679122788297857411105377060347315034348576153166385643429340135074341490221510538252515106176961765878126239535506595083470730179177717441310822299214686740051823860107312612303479052961933297408604763033440200458029839620829327709484583849657286276280043572186397623305941527307068246842116904827503103384924313752751110266021415937471026792605321540126103033791716984713778111383424043515452674579161566357989490378889839529184735503894760926225648121566252488595845405427255968546735984361208907760317343477005010445553694013057499051254152833413896441619948851050523958447214973159654005140647588256478291889805236703733659948023191674247049905534918918091144569770490234217841716219155306374684442387435507683838827996864061032384928339558875624300352231748512319451473063746295616005528903082923217590751480109339397568683644892771803999428093668145740598581364680117101115016945420059257929256950585809475498925482730408646922519743554119888607859660222168248772575705374772748914308161703370231877327051111320443881854970757292223252259018782764821556959959929465389883355504610557061232967388794378785085543331029120887725009298915422204044626009371542213737879153919062521583968048576820316959526850662056877435259188765385603 10565873349621939930719417055891321346326849190708982884403642111928635146642148854333143802589228785082276087033244764053388982995549901659654127108422806565678281644578995646656749625710029307141553136436380417553110086735580715770290852848235151860412655713135422437863329136074422047280408963627524189637161749610022319967617408600977331333195861452940766420267835059957759215197469004378841835468317195057462534067384081443366105134224881395581504420869114567105763635766493589886551084590976184306152688752656082500919916342519359701390936577236057890578911375289931144146334073754132290293067513529674346089448477737156691409827270103479050195254735072229054708037475935157792554546026759353406584774817698103867107674479931923826828394413554241804622173895881914732137678895869862786873118220403327031262478257228252630950520780207098445124284844950520319012760251499071121547725322784845935937477553518045768776273968197893837649023553483557025266796976228601861795588484128332635113317603785789694003701522944039164982215278412297823722943746630004575497687572173606195777569306444022642751516074654343122607575525053932199105005542150464383933537300079607206942640526487120357899744241118191272515463526806350258458046330110442157548076437946616059929283617734926977329671959255155820465307014645231942205081538545435758776016952681490607671868753298753944396529959992402797432822099077283219204 17095942200514999750062016170698435187354000095383868509072271987599312409551088688627208330202587086508932378474473418771355831595322022762673314821455562998322237406160674769445047483121134684201900451470728993706276472379010055905365194338456662398665170819312384203741455375609928642363879693806701907078472571909237006707669232461084643945499340505902699717676439822991199415655498843999671163177801778907119820343664125015552502757530822922888572667711231471933266739151417903639302194856997600243623715545261404041046019376311076686104714688619481934094364049869092710504323564133022129822252249033569107015674125858722943898423115508906306163801471056590263615797793278634797564991580453366464083826071850937281004116099880774877352352860769214964276179036529502988615970785675099490606778168426518705509528162763171549041665349977588679342126561169675625387444693886506629231564150781709996969862481857604644400574320429642349968475026547303320882802505131684785013179235608441974510886287430682465807700951037707310722813859776977940824058763575424634755616829124192005253068231926753051398438594397897242496183384714154367353778117855839156682451608241310577174517853538231678343626096088948564738715785825133023279603290070371622937959793451226616990516585123721356114757502586184941353032023944147364409126164554807300989754831835409670193452721347330764713489486843064854310257358266048604807 27661815550136939680781433226589756533680849286092851393475914099527947556193237542960352132791815871591208465507718182824744814590871924422327441929878369564000519050739670416101797108831163991343453587907109411259386559114590771675656047186691814259077826532447806641604784511684350689644288657434226096715634321519259326675286641062061975278695201958843466137944274882948958630852967848378512998646118973964582354411048206458918607891755704318470077088580346039039030374917911493525853279447973784549776404297917486541965935718830436387495651265855539824673275425159023854650657637887154420115319762563243453105122603595879635308250385612385356359056206128819318323835269213792590119537607212719870668600889549041148111790579812698704180747274323456768898352932411417720753649681544962277479896388829845736772006419991424179992186130184687124466411406120195944400204945385577750779289473566555932907340035375650413176848288627536187617498580030860346149599481360286646808767719736774609624203891216472159811402473981746475705029138189275764547002510205429210253304401297798201030637538370775694149954669052240365103758909768086566458783660006303540615988908320917784117158380025352036243370337207139837254179312631483281737649620180813780486036231397842676919800202858648333444429461841340761818339038589379306614207703100243059765771784516900277865321474646084709110019446835467651743079457343331824011 44757757750651939430843449397288191721034849381476719902548186087127259965744326231587560462994402958100140843982191601596100646186193947185000756751333932562322756456900345185546844591952298675545354039377838404965663031493600827581021241525148476657742997351760190845346239887294279332008168351240928003794106893428496333382955873523146619224194542464746165855620714705940158046508466692378184161823920752871702174754712331474471110649286527241358649756291577510972297114069329397165155474304971384793400119843178890583011955095141513073600365954475021758767639475028116565154981202020176549937572011596812560120796729454602579206673501121291662522857677185409581939633062492427387684529187666086334752426961399978429115906679693473581533100135092671733174531968940920709369620467220061768086674557256364442281534582754595729033851480162275803808537967289871569787649639272084380010853624348265929877202517233255057577422609057178537585973606578163667032401986491971431821946955345216584135090178647154625619103425019453786427842997966253705371061273780853845008921230421990206283705770297528745548393263450137607599942294482240933812561777862142697298440516562228361291676233563583714586996433296088401992895098456616305017252910251185403423996024849069293910316787982369689559186964427525703171371062533526671023333867655050360755526616352309948058774195993415473823508933678532506053336815609380428818 72419573300788879111624882623877948254715698667569571296024100186655207521937563774547912595786218829691349309489909784420845460777065871607328198681212302126323275507640015601648641700783462666888807627284947816225049590608191599256677288711840290916820823884207997486951024398978630021652457008675154100509741214947755660058242514585208594502889744423589631993564989588889116677361434540756697160470039726836284529165760537933389718541042231559828726844871923550011327488987240890691008753752945169343176524141096377124977890813971949461096017220330561583440914900187140419805638839907330970052891774160056013225919333050482214514923886733677018881913883314228900263468331706219977804066794878806205421027850949019577227697259506172285713847409416128502072884901352338430123270148765024045566570946086210179053541002746019909026037610346962928274949373410067514187854584657662130790143097914821862784542552608905470754270897684714725203472186609024013182001467852258078630714675081991193759294069863626785430505899001200262132872136155529469918063783986283055262225631719788407314343308668304439698347932502377972703701204250327500271345437868446237914429424883146145408834613588935750830366770503228239247074411088099586754902530431999183910032256246911970830116990841018023003616426268866464989710101122905977637541570755293420521298400869210225924095670639500182933528380514000157796416272952712252829 117177331051440818542468332021166139975750548049046291198572286273782467487681890006135473058780621787791490153472101386016946106963259818792328955432546234688646031964540360787195486292735761342434161666662786221190712622101792426837698530236988767574563821235968188332297264286272909353660625359916082104303848108376251993441198388108355213727084286888335797849185704294829274723869901233134881322293960479707986703920472869407860829190328758801187376601163501060983624603056570287856164228057916554136576643984275267707989845909113462534696383174805583342208554375215256984960620041927507519990463785756868573346716062505084793721597387854968681404771560499638482203101394198647365488595982544892540173454812348998006343603939199645867246947544508800235247416870293259139492890615985085813653245503342574621335075585500615638059889090509238732083487340699939083975504223929746510800996722263087792661745069842160528331693506741893262789445793187187680214403454344229510452661630427207777894384248510781411049609324020654048560715134121783175289125057767136900271146862141778613598049078965833185246741195952515580303643498732568434083907215730588935212869941445374506700510847152519465417363203799316641239969509544715891772155440683184587334028281095981264740433778823387712562803390696392168161081163656432648660875438410343781276825017221520173982869866632915656757037314192532663849753088562092681647 189596904352229697654093214645044088230466246716615862494596386460437675009619453780683385654566840617482839462962011170437791567740325690399657154113758536814969307472180376388844127993519224009322969293947734037415762212709984026094375818948829058491384645120176185819248288685251539375313082368591236204813589323324007653499440902693563808229974031311925429842750693883718391401231335773891578482764000206544271233086233407341250547731370990361016103446035424610994952092043811178547172981810861723479753168125371644832967736723085411995792400395136144925649469275402397404766258881834838490043355559916924586572635395555567008236521274588645700286685443813867382466569725904867343292662777423698745594482663298017583571301198705818152960794953924928737320301771645597569616160764750109859219816449428784800388616588246635547085926700856201660358436714110006598163358808587408641591139820177909655446287622451065999085964404426607987992917979796211693396404922196487589083376305509198971653678318374408196480115223021854310693587270277312645207188841753419955533372493861567020912392387634137624945089128454893553007344702982895934355252653599035173127299366328520652109345460741455216247729974302544880487043920632815478527057971115183771244060537342893235570550769664405735566419816965258633150791264779338626298417009165637201798123418090730399906965537272415839690565694706532821646169361514804934476 306774235403670516196561546666210228206216794765662153693168672734220142497301343786818858713347462405274329616434112556454737674703585509191986109546304771503615339436720737176039614286254985351757130960610520258606474834811776452932074349185817826065948466356144374151545552971524448728973707728507318309117437431700259646940639290801919021957058318200261227691936398178547666125101237007026459805057960686252257937006706276749111376921699749162203480047198925671978576695100381466403337209868778277616329812109646912540957582632198874530488783569941728267858023650617654389726878923762346010033819345673793159919351458060651801958118662443614381691457004313505864669671120103514708781258759968591285767937475647015589914905137905464020207742498433728972567718641938856709109051380735195672873061952771359421723692173747251185145815791365440392441924054809945682138863032517155152392136542440997448108032692293226527417657911168501250782363772983399373610808376540717099536037935936406749548062566885189607529724547042508359254302404399095820496313899520556855804519356003345634510441466599970810191830324407409133310988201715464368439159869329624108340169307773895158809856307893974681665093178101861521727013430177531370299213411798368358578088818438874500310984548487793448129223207661650801311872428435771274959292447575980983074948435312250573889835403905331496447603008899065485495922450076897616123 496371139755900213850654761311254316436683041482278016187765059194657817506920797567502244367914303022757169079396123726892529242443911199591643263660063308318584646908901113564883742279774209361080100254558254296022237047521760479026450168134646884557333111476320559970793841656775988104286790097098554513931026755024267300440080193495482830187032349512186657534687092062266057526332572780918038287821960892796529170092939684090361924653070739523219583493234350282973528787144192644950510191679640001096082980235018557373925319355284286526281183965077873193507492926020051794493137805597184500077174905590717746491986853616218810194639937032260081978142448127373247136240846008382052073921537392290031362420138945033173486206336611282173168537452358657709888020413584454278725212145485305532092878402200144222112308761993886732231742492221642052800360768919952280302221841104563793983276362618907103554320314744292526503622315595109238775281752779611067007213298737204688619414241445605721201740885259597804009839770064362669947889674676408465703502741273976811337891849864912655422833854234108435136919452862302686318332904698360302794412522928659281467468674102415810919201768635429897912823152404406402214057350810346848826271382913552129822149355781767735881535318152199183695643024626909434462663693215109901257709456741618184873071853402980973796800941177747336138168703605598307142091811591702550599 803145375159570730047216307977464544642899836247940169880933731928877960004222141354321103081261765428031498695830236283347266917147496708783629373206368079822199986345621850740923356566029194712837231215168774554628711882333536931958524517320464710623281577832464934122339394628300436833260497825605872823048464186724526947380719484297401852144090667712447885226623490240813723651433809787944498092879921579048787107099645960839473301574770488685423063540433275954952105482244574111353847401548418278712412792344665469914882901987483161056769967535019601461365516576637706184220016729359530510110994251264510906411338311676870612152758599475874463669599452440879111805911966111896760855180297360881317130357614592048763401111474516746193376279950792386682455739055523310987834263526220501204965940354971503643836000935741137917377558283587082445242284823729897962441084873621718946375412905059904551662353007037519053921280226763610489557645525763010440618021675277921788155452177382012470749803452144787411539564317106871029202192079075504286199816640794533667142411205868258289933275320834079245328749777269711819629321106413824671233572392258283389807637981876310969729058076529404579577916330506267923941070780987878219125484794711920488400238174220642236192519866639992631824866232288560235774536121650881176217001904317599167948020288715231547686636345083078832585771712504663792638014261668600166722 1299516514915470943897871069288718861079582877730218186068698791123535777511142938921823347449176068450788667775226360010239796159591407908375272636866431388140784633254522964305807098845803404073917331469727028850650948929855297410984974685455111595180614689308785494093133236285076424937547287922704427336979490941748794247820799677792884682331123017224634542761310582303079781177766382568862536380701882471845316277192585644929835226227841228208642647033667626237925634269388766756304357593228058279808495772579684027288808221342767447583051151500097474654873009502657757978713154534956715010188169156855228652903325165293089422347398536508134545647741900568252358942152812120278812929101834753171348492777753537081936887317811128028366544817403151044392343759469107765266559475671705806737058818757171647865948309697735024649609300775808724498042645592649850242743306714726282740358689267678811655216673321781811580424902542358719728332927278542621507625234974015126476774866418827618191951544337404385215549404087171233699150081753751912751903319382068510478480303055733170945356109175068187680465669230132014505947654011112184974027984915186942671275106655978726780648259845164834477490739482910674326155128131798225067951756177625472618222387530002409972074055184792191815520509256915469670237199814865991077474711361059217352821092142118212521483437286260826168723940416110262099780106073260302717321 2102661890075041673945087377266183405722482713978158355949632523052413737515365080276144450530437833878820166471056596293587063076738904617158902010072799467962984619600144815046730455411832598786754562684895803405279660812188834342943499202775576305803896267141250428215472630913376861770807785748310300160027955128473321195201519162090286534475213684937082427987934072543893504829200192356807034473581804050894103384292231605769308527802611716894065710574100902192877739751633340867658204994776476558520908564924349497203691123330250608639821119035117076116238526079295464162933171264316245520299163408119739559314663476969960034500157135984009009317341353009131470748064778232175573784282132114052665623135368129130700288429285644774559921097353943431074799498524631076254393739197926307942024759112143151509784310633476162566986859059395806943284930416379748205184391588348001686734102172738716206879026328819330634346182769122330217890572804305631948243256649293048264930318596209630662701347789549172627088968404278104728352273832827417038103136022863044145622714261601429235289384495902266925794419007401726325576975117526009645261557307445226061082744637855037750377317921694239057068655813416942250096198912786103287077240972337393106622625704223052208266575051432184447345375489204029906011735936516872253691713265376816520769112430833444069170073631343905001309712128614925892418120334928902884043 3402178404990512617842958446554902266802065591708376542018331314175949515026508019197967797979613902329608834246282956303826859236330312525534174646939230856103769252854667779352537554257636002860671894154622832255930609742044131753928473888230687900984510956450035922308605867198453286708355073671014727497007446070222115443022318839883171216806336702161716970749244654846973286006966574925669570854283686522739419661484817250699143754030452945102708357607768528430803374021022107623962562588004534838329404337504033524492499344673018056222872270535214550771111535581953222141646325799272960530487332564974968212217988642263049456847555672492143554965083253577383829690217590352454386713383966867224014115913121666212637175747096772802926465914757094475467143257993738841520953214869632114679083577869314799375732620331211187216596159835204531441327576009029598447927698303074284427092791440417527862095699650601142214771085311481049946223500082848253455868491623308174741705185015037248854652892126953557842638372491449338427502355586579329790006455404931554624103017317334600180645493670970454606260088237533740831524629128638194619289542222632168732357851293833764531025577766859073534559395296327616576251327044584328355028997149962865724845013234225462180340630236224376262865884746119499576248935751382863331166424626436033873590204572951656590653510917604731170033652544725187992198226408189205601364 5504840295065554291788045823821085672524548305686534897967963837228363252541873099474112248510051736208429000717339552597413922313069217142693076657012030324066753872454812594399268009669468601647426456839518635661210270554232966096871973091006264206788407223591286350524078498111830148479162859419325027657035401198695436638223838001973457751281550387098799398737178727390866790836166767282476605327865490573633523045777048856468452281833064661996774068181869430623681113772655448491620767582781011396850312902428383021696190468003268664862693389570331626887350061661248686304579497063589206050786495973094707771532652119233009491347712808476152564282424606586515300438282368584629960497666098981276679739048489795343337464176382417577486387012111037906541942756518369917775346954067558422621108336981457950885516930964687349783583018894600338384612506425409346653112089891422286113826893613156244068974725979420472849117268080603380164114072887153885404111748272601223006635503611246879517354239916502730469727340895727443155854629419406746828109591427794598769725731578936029415934878166872721532054507244935467157101604246164204264551099530077394793440595931688802281402895688553312591628051109744558826347525957370431642106238122300258831467638938448514388607205287656560710211260235323529482260671687899735584858137891812850394359317003785100659823584548948636171343364673340113884616346743118108485407 8907018700056066909631004270375987939326613897394911439986295151404312767568381118672080046489665638538037834963622508901240781549399529668227251303951261180170523125309480373751805563927104604508098350994141467917140880296277097850800446979236952107772918180041322272832684365310283435187517933090339755154042847268917552081246156841856628968087887089260516369486423382237840076843133342208146176182149177096372942707261866107167596035863517607099482425789637959054484487793677556115583330170785546235179717239932416546188689812676286721085565660105546177658461597243201908446225822862862166581273828538069675983750640761496058948195268480968296119247507860163899130128499958937084347211050065848500693854961611461555974639923479190380412852926868132382009086014512108759296300168937190537300191914850772750261249551295898537000179178729804869825940082434438945101039788194496570540919685053573771931070425630021615063888353392084430110337572970002138859980239895909397748340688626284128372007132043456288312365713387176781583356985005986076618116046832726153393828748896270629596580371837843176138314595482469207988626233374802398883840641752709563525798447225522566812428473455412386126187446406072175402598853001954759997135235272263124556312652172673976568947835523880936973077144981443029058509607439282598916024562518248884267949521576736757250477095466553367341377017218065301876814573151307314086771 14411858995121621201419050094197073611851162203081446337954258988632676020110254218146192294999717374746466835680962061498654703862468746810920327960963291504237276997764292968151073573596573206155524807833660103578351150850510063947672420070243216314561325403632608623356762863422113583666680792509664782811078248467612988719469994843830086719369437476359315768223602109628706867679300109490622781510014667670006465753038914963636048317696582269096256493971507389678165601566333004607204097753566557632030030142360799567884880280679555385948259049675877804545811658904450594750805319926451372632060324511164383755283292880729068439542981289444448683529932466750414430566782327521714307708716164829777373594010101256899312104099861607957899239938979170288551028771030478677071647123004748959921300251832230701146766482260585886783762197624405208210552588859848291754151878085918856654746578666730016000045151609442087913005621472687810274451645857156024264091988168510620754976192237531007889361371959959018782093054282904224739211614425392823446225638260520752163554480475206659012515250004715897670369102727404675145727837620966603148391741282786958319239043157211369093831369143965698717815497515816734228946378959325191639241473394563383387780291111122490957555040811537497683288405216766558540770279127182334500882700410061734662308838580521857910300680015502003512720381891405415761430919894425422572178 23318877695177688111050054364573061551177776100476357777940554140036988787678635336818272341489383013284504670644584570399895485411868276479147579264914552684407800123073773341902879137523677810663623158827801571495492031146787161798472867049480168422334243583673930896189447228732397018854198725600004537965121095736530540800716151685686715687457324565619832137710025491866546944522433451698768957692163844766379408460300781070803644353560099876195738919761145348732650089360010560722787427924352103867209747382293216114073570093355842107033824709781423982204273256147652503197031142789313539213334153049234059739033933642225127387738249770412744802777440326914313560695282286458798654919766230678278067448971712718455286744023340798338312092865847302670560114785542587436367947291941939497221492166683003451408016033556484423783941376354210078036492671294287236855191666280415427195666263720303787931115577239463702976893974864772240384789218827158163124072228064420018503316880863815136261368504003415307094458767670081006322568599431378900064341685093246905557383229371477288609095621842559073808683698209873883134354070995769002032232383035496521845037490382733935906259842599378084844002943921888909631545231961279951636376708666826507944092943283796467526502876335418434656365550198209587599279886566464933416907262928310618930258360157258615160777775482055370854097399109470717638245493045732736658949 37730736690299309312469104458770135163028938303557804115894813128669664807788889554964464636489100388030971506325546631898550189274337023290067907225877844188645077120838066310053952711120251016819147966661461675073843181997297225746145287119723384736895568987306539519546210092154510602520879518109669320776199344204143529520186146529516802406826762041979147905933627601495253812201733561189391739202178512436385874213339696034439692671256682145291995413732652738410815690926343565329991525677918661499239777524654015681958450374035397492982083759457301786750084915052103097947836462715764911845394477560398443494317226522954195827281231059857193486307372793664727991262064613980512962628482395508055441042981813975354598848123202406296211332804826472959111143556573066113439594414946688457142792418515234152554782515817070310567703573978615286247045260154135528609343544366334283850412842387033803931160728848905790889899596337460050659240864684314187388164216232930639258293073101346144150729875963374325876551821952985231061780213856771723510567323353767657720937709846683947621610871847274971479052800937278558280081908616735605180624124318283480164276533539945305000091211743343783561818441437705643860491610920605143275618182061389891331873234394918958484057917146955932339653955414976146140050165693647267917789963338372353592567198737780473071078455497557374366817781000876133399676412940158159231127 61049614385476997423519158823343196714206714404034161893835367268706653595467524891782736977978483401315476176970131202298445674686205299769215486490792396873052877243911839651956831848643928827482771125489263246569335213144084387544618154169203553159229812570980470415735657320886907621375078243709673858741320439940674070320902298215203518094284086607598980043643653093361800756724167012888160696894342357202765282673640477105243337024816782021487734333493798087143465780286354126052778953602270765366449524906947231796032020467391239600015908469238725768954358171199755601144867605505078451058728630609632503233351160165179323215019480830269938289084813120579041551957346900439311617548248626186333508491953526693809885592146543204634523425670673775629671258342115653549807541706888627954364284585198237603962798549373554734351644950332825364283537931448422765464535210646749711046079106107337591862276306088369493866793571202232291044030083511472350512236444297350657761609953965161280412098379966789632971010589623066237384348813288150623574909008447014563278320939218161236230706493689834045287736499147152441414435979612504607212856507353780002009314023922679240906351054342721868405821385359594553492036842881885094911994890728216399275966177678715426010560793482374366996019505613185733739330052260112201334697226266682972522825558895039088231856230979612745220915180110346851037921905985890895890076 98780351075776306735988263282113331877235652707591966009730180397376318403256414446747201614467583789346447683295677834196995863960542323059283393716670241061697954364749905962010784559764179844301919092150724921643178395141381613290763441288926937896125381558287009935281867413041418223895957761819343179517519784144817599841088444744720320501110848649578127949577280694857054568925900574077552436096520869639151156886980173139683029696073464166779729747226450825554281471212697691382770479280189426865689302431601247477990470841426637092997992228696027555704443086251858699092704068220843362904123108170030946727668386688133519042300711890127131775392185914243769543219411514419824580176731021694388949534935340669164484440269745610930734758475500248588782401898688719663247136121835316411507077003713471756517581065190625044919348524311440650530583191602558294073878755013083994896491948494371395793437034937275284756693167539692341703270948195786537900400660530281297019903027066507424562828255930163958847562411576051468446129027144922347085476331800782220999258649064845183852317365537109016766789300084430999694517888229240212393480631672063482173590557462624545906442266086065651967639826797300197352528453802490238187613072789606290607839412073634384494618710629330299335673461028161879879380217953759469252487189605055326115392757632819561302934686477170119587732961111222984437598318926049055121203 159829965461253304159507422105456528591442367111626127903565547666082971998723939338529938592446067190661923860265809036495441538646747622828498880207462637934750831608661745613967616408408108671784690217639988168212513608285466000835381595458130491055355194129267480351017524733928325845271036005529017038258840224085491670161990742959923838595394935257177107993220933788218855325650067586965713132990863226841916439560620650244926366720890246188267464080720248912697747251499051817435549432882460192232138827338548479274022491308817876693013900697934753324658801257451614300237571673725921813962851738779663449961019546853312842257320192720397070064476999034822811095176758414859136197724979647880722458026888867362974370032416288815565258184146174024218453660240804373213054677828723944365871361588911709360480379614564179779270993474644266014814121123050981059538413965659833705942571054601708987655713341025644778623486738741924632747301031707258888412637104827631954781512981031668704974926635896953591818573001199117705830477840433072970660385340247796784277579588283006420083023859226943062054525799231583441108953867841744819606337139025843484182904581385303786812793320428787520373461212156894750844565296684375333099607963517822689883805589752349810505179504111704666331692966641347613618710270213871670587184415871738298638218316527858649534790917456782864808648141221569835475520224911939951011279 258610316537029610895495685387569860468678019819218093913295728063459290401980353785277140206913650980008371543561486870692437402607289945887782273924132878996448785973411651575978400968172288516086609309790713089855692003426847614126145036747057428951480575687554490286299392146969744069166993767348360217776360008230309270003079187704644159096505783906755235942798214483075909894575968161043265569087384096481067596447600823384609396416963710355047193827946699738252028722711749508818319912162649619097828129770149726752012962150244513786011892926630780880363244343703472999330275741946765176866974846949694396688687933541446361299620904610524201839869184949066580638396169929278960777901710669575111407561824208032138854472686034426495992942621674272807236062139493092876301813950559260777378438592625181116997960679754804824190341998955706665344704314653539353612292720672917700839063003096080383449150375962920063380179906281616974450571979903045426313037765357913251801416008098176129537754891827117550666135412775169174276606867577995317745861672048579005276838237347851603935341224764052078821315099316014440803471756070985031999817770697906966356495138847928332719235586514853172341101038954194948197093750486865571287221036307428980491645001825984194999798214741034965667366427669509493498090488167631139839671605476793624753611074160678210837725603933952984396381102332792819913118543837989006132482 418440281998282915055003107493026389060120386930844221816861275729542262400704293123807078799359718170670295403827295907187878941254037568716281154131595516931199617582073397189946017376580397187871299527430701258068205611712313614961526632205187920006835769816821970637316916880898069914438029772877377256035200232315800940165069930664567997691900719163932343936019148271294765220226035748008978702078247323322984036008221473629535763137853956543314657908666948650949775974210801326253869345045109811329966957108698206026035453459062390479025793624565534205022045601155087299567847415672686990829826585729357846649707480394759203556941097330921271904346183983889391733572928344138096975626690317455833865588713075395113224505102323242061251126767848297025689722380297466089356491779283205143249800181536890477478340294318984603461335473599972680158825437704520413150706686332751406781634057697789371104863716988564842003666645023541607197873011610304314725674870185545206582928989129844834512681527724071142484708413974286880107084708011068288406247012296375789554417825630858024018365083990995140875840898547597881912425623912729851606154909723750450539399720233232119532028906943640692714562251111089699041659047171240904386828999825251670375450591578334005504977718852739631999059394310857107116800758381502810426856021348531923391829390688536860372516521390735849205029243554362655388638768749928957143761 677050598535312525950498792880596249528798406750062315730157003793001552802684646909084219006273369150678666947388782777880316343861327514604063428055728395927648403555485048765924418344752685703957908837221414347923897615139161229087671668952245348958316345504376460923616309027867813983605023540225737473811560240546110210168149118369212156788406503070687579878817362754370675114802003909052244271165631419804051632455822297014145159554817666898361851736613648389201804696922550835072189257207759430427795086878847932778048415609306904265037686551196315085385289944858560298898123157619452167696801432679052243338395413936205564856562001941445473744215368932955972371969098273417057753528400987030945273150537283427252078977788357668557244069389522569832925784519790558965658305729842465920628238774162071594476300974073789427651677472555679345503529752358059766762999407005669107620697060793869754554014092951484905383846551305158581648444991513349741038712635543458458384344997228020964050436419551188693150843826749456054383691575589063606152108684344954794831256062978709627953706308755047219697155997863612322715897379983714883605972680421657416895894859081160452251264493458493865055663290065284647238752797658106475674050036132680650867095593404318200504775933593774597666425821980366600614891246549133950266527626825325548145440464849215071210242125324688833601410345887155475301757312587917963276243 1095490880533595441005501900373622638588918793680906537547018279522543815203388940032891297805633087321348962351216078685068195285115365083320344582187323912858848021137558445955870435721333082891829208364652115605992103226851474844049198301157433268965152115321198431560933225908765883898043053313103114729846760472861911150333219049033780154480307222234619923814836511025665440335028039657061222973243878743127035668464043770643680922692671623441676509645280597040151580671133352161326058602252869241757762043987546138804083869068369294744063480175761849290407335546013647598465970573292139158526628018408410089988102894330964768413503099272366745648561552916845364105542026617555154729155091304486779138739250358822365303482890680910618495196157370866858615506900088025055014797509125671063878038955698962071954641268392774031113012946155652025662355190062580179913706093338420514402331118491659125658877809940049747387513196328700188846318003123654055764387505729003664967273986357865798563117947275259835635552240723742934490776283600131894558355696641330584385673888609567651972071392746042360572996896411210204628323003896444735212127590145407867435294579314392571783293400402134557770225541176374346280411844829347380060879035957932321242546184982652206009753652446514229665485216291223707731692004930636760693383648173857471537269855537751931582758646715424682806439589441518130690396081337846920420004 1772541479068907966956000693254218888117717200430968853277175283315545368006073586941975516811906456472027629298604861462948511628976692597924408010243052308786496424693043494721794854066085768595787117201873529953916000841990636073136869970109678617923468460825574892484549534936633697881648076853328852203658320713408021360501368167402992311268713725305307503693653873780036115449830043566113467244409510162931087300919866067657826082247489290340038361381894245429353385368055902996398247859460628672185557130866394071582132284677676199009101166726958164375792625490872207897364093730911591326223429451087462333326498308267170333270065101213812219392776921849801336477511124890972212482683492291517724411889787642249617382460679038579175739265546893436691541291419878584020673103238968136984506277729861033666430942242466563458764690418711331371165884942420639946676705500344089622023028179285528880212891902891534652771359747633858770494762994637003796803100141272462123351618983585886762613554366826448528786396067473198988874467859189195500710464380986285379216929951588277279925777701501089580270152894274822527344220383880159618818100270567065284331189438395553024034557893860628422825888831241658993519164642487453855734929072090612972109641778386970406514529586040288827331911038271590308346583251479770710959911274999183019682710320386967002793000772040113516407849935328673605992153393925764883696247 2868032359602503407961502593627841526706635994111875390824193562838089183209462526974866814617539543793376591649820940148016706914092057681244752592430376221645344445830601940677665289787418851487616325566525645559908104068842110917186068271267111886888620576146773324045482760845399581779691130166431966933505081186269932510834587216436772465749020947539927427508490384805701555784858083223174690217653388906058122969383909838301507004940160913781714871027174842469504966039189255157724306461713497913943319174853940210386216153746045493753164646902720013666199961036885855495830064304203730484750057469495872423314601202598135101683568200486178965041338474766646700583053151508527367211838583596004503550629038001071982685943569719489794234461704264303550156798319966609075687900748093808048384316685559995738385583510859337489877703364866983396828240132483220126590411593682510136425359297777188005871769712831584400158872943962558959341080997760657852567487647001465788318892969943752561176672314101708364421948308196941923365244142789327395268820077627615963602603840197844931897849094247131940843149790686032731972543387776604354030227860712473151766484017709945595817851294262762980596114372418033339799576487316801235795808108048545293352187963369622612524283238486803056997396254562814016078275256410407471653294923173040491219980175924718934375759418755538199214289524770191736682549475263611804116251 4640573838671411374917503286882060414824353194542844244101368846153634551215536113916842331429446000265404220948425801610965218543068750279169160602673428530431840870523645435399460143853504620083403442768399175513824104910832746990322938241376790504812089036972348216530032295782033279661339207019760819137163401899677953871335955383839764777017734672845234931202144258585737671234688126789288157462062899068989210270303775905959333087187650204121753232409069087898858351407245158154122554321174126586128876305720334281968348438423721692762265813629678178041992586527758063393194158035115321810973486920583334756641099510865305434953633301699991184434115396616448037060564276399499579694522075887522227962518825643321600068404248758068969973727251157740241698089739845193096361003987061945032890594415421029404816525753325900948642393783578314767994125074903860073267117094026599758448387477062716886084661615723119052930232691596417729835843992397661649370587788273927911670511953529639323790226680928156893208344375670140912239712001978522895979284458613901342819533791786122211823626795748221521113302684960855259316763771656763972848328131279538436097673456105498619852409188123391403422003203659692333318741129804255091530737180139158265461829741756593019038812824527091884329307292834404324424858507890178182613206198172223510902690496311685937168760190795651715622139460098865342674702869189376687812498 7508606198273914782879005880509901941530989188654719634925562408991723734424998640891709146046985544058780812598246741758981925457160807960413913195103804752077185316354247376077125433640923471571019768334924821073732208979674857907509006512643902391700709613119121540575515056627432861441030337186192786070668483085947886382170542600276537242766755620385162358710634643391439227019546210012462847679716287975047333239687685744260840092127811117903468103436243930368363317446434413311846860782887624500072195480574274492354564592169767186515430460532398191708192547564643918889024222339319052295723544390079207179955700713463440536637201502186170149475453871383094737643617427908026946906360659483526731513147863644393582754347818477558764208188955422043791854888059811802172048904735155753081274911100981025143202109264185238438520097148445298164822365207387080199857528687709109894873746774839904891956431328554703453089105635558976689176924990158319501938075435275393699989404923473391884966898995029865257630292683867082835604956144767850291248104536241517306422137631983967143721475889995353461956452475646887991289307159433368326878555991992011587864157473815444215670260482386154384018117576077725673118317617121056327326545288187703558814017705126215631563096063013894941326703547397218340503133764300585654266501121345264002122670672236404871544519609551189914836428984869057079357252344452988491928749 12149180036945326157796509167391962356355342383197563879026931255145358285640534754808551477476431544324185033546672543369947144000229558239583073797777233282509026186877892811476585577494428091654423211103323996587556313890507604897831944754020692896512798650091469757105547352409466141102369544205953605207831884985625840253506497984116302019784490293230397289912778901977176898254234336801751005141779187044036543509991461650220173179315461322025221335845313018267221668853679571465969415104061751086201071786294608774322913030593488879277696274162076369750185134092401982282218380374434374106697031310662541936596800224328745971590834803886161333909569267999542774704181704307526526600882735371048959475666689287715182822752067235627734181916206579784033552977799656995268409908722217698114165505516402054548018635017511139387162490932023612932816490282290940273124645781735709653322134251902621778041092944277822506019338327155394419012768982555981151308663223549321611659916877003031208757125675958022150838637059537223747844668146746373187227388994855418649241671423770089355545102685743574983069755160607743250606070931090132299726884123271550023961830929920942835522669670509545787440120779737418006437058746925311418857282468326861824275847446882808650601908887540986825656010840231622664927992272190763836879707319517487513025361168548090808713279800346841630458568444967922422031955213642365179741247 19657786235219240940675515047901864297886331571852283513952493664137082020065533395700260623523417088382965846144919285128929069457390366199996986992881038034586211503232140187553711011135351563225442979438248817661288522870182462805340951266664595288213508263210591297681062409036899002543399881392146391278500368071573726635677040584392839262551245913615559648623413545368616125273780546814213852821495475019083876749679147394481013271443272439928689439281556948635584986300113984777816275886949375586273267266868883266677477622763256065793126734694474561458377681657045901171242602713753426402420575700741749116552500937792186508228036306072331483385023139382637512347799132215553473507243394854575690988814552932108765577099885713186498390105162001827825407865859468797440458813457373451195440416617383079691220744281696377825682588080468911097638855489678020472982174469444819548195881026742526669997524272832525959108443962714371108189693972714300653246738658824715311649321800476423093724024670987887408468929743404306583449624291514223478475493531096935955663809055754056499266578575738928445026207636254631241895378090523500626605440115263561611825988403736387051192930152895700171458238355815143679555376364046367746183827756514565383089865152009024282165004950554881766982714387628841005431126036491349491146208440862751515148031840784495680257799409898031545294997429836979501389207558095353671669996 31806966272164567098472024215293826654241673955049847392979424919282440305706068150508812100999848632707150879691591828498876213457619924439580060790658271317095237690110032999030296588629779654879866190541572814248844836760690067703172896020685288184726306913302061054786609761446365143645769425598099996486332253057199566889183538568509141282335736206845956938536192447345793023528014883615964857963274662063120420259670609044701186450758733761953910775126869966902806655153793556243785690991011126672474339053163492041000390653356744945070823008856550931208562815749447883453460983088187800509117607011404291053149301162120932479818871109958492817294592407382180287051980836523080000108126130225624650464481242219823948399851952948814232572021368581611858960843659125792708868722179591149309605922133785134239239379299207517212845079012492524030455345771968960746106820251180529201518015278645148448038617217110348465127782289869765527202462955270281804555401882374036923309238677479454302481150346945909559307566802941530331294292438260596665702882525952354604905480479524145854811681261482503428095962796862374492501449021613632926332324238535111635787819333657329886715599823405245958898359135552561685992435110971679165041110224841427207365712598891832932766913838095868592638725227860463670359118308682113328025915760380239028173393009332586488971079210244873175753565874804901923421162771737718851411243 51464752507383808039147539263195690952128005526902130906931918583419522325771601546209072724523265721090116725836511113627805282915010290639577047783539309351681449193342173186584007599765131218105309169979821631910133359630872530508513847287349883472939815176512652352467672170483264146189169306990246387764832621128773293524860579152901980544886982120461516587159605992714409148801795430430178710784770137082204297009349756439182199722202006201882600214408426915538391641453907541021601966877960502258747606320032375307677868276120001010863949743551025492666940497406493784624703585801941226911538182712146040169701802099913118988046907416030824300679615546764817799399779968738633473615369525080200341453295795151932713976951838662000730962126530583439684368709518594590149327535636964600505046338751168213930460123580903895038527667092961435128094201261646981219088994720625348749713896305387675118036141489942874424236226252584136635392156927984582457802140541198752234958560477955877396205175017933796967776496546345836914743916729774820144178376057049290560569289535278202354078259837221431873122170433117005734396827112137133552937764353798673247613807737393716937908529976300946130356597491367705365547811475018046911224937981355992590455577750900857214931918788650750359621439615489304675790244345173462819172124201242990543321424850117082169228878620142904721048563304641881424810370329833072523081239 83271718779548375137619563478489517606369679481951978299911343502701962631477669696717884825523114353797267605528102942126681496372630215079157108574197580668776686883452206185614304188394910872985175360521394446158978196391562598211686743308035171657666122089814713407254281931929629289834938732588346384251164874185972860414044117721411121827222718327307473525695798440060202172329810314046143568748044799145324717269020365483883386172960739963836510989535296882441198296607701097265387657868971628931221945373195867348678258929476745955934772752407576423875503313155941668078164568890129027420655789723550331222851103262034051467865778525989317117974207954146998086451760805261713473723495655305824991917777037371756662376803791610814963534147899165051543329553177720382858196257816555749814652260884953348169699502880111412251372746105453959158549547033615941965195814971805877951231911584032823566074758707053222889364008542453902162594619883254864262357542423572789158267799155435331698686325364879706527084063349287367246038209168035416809881258583001645165474770014802348208889941098703935301218133229979380226898276133750766479270088592333784883401627071051046824624129799706192089254956626920267051540246585989726076266048206197419797821290349792690147698832626746618952260164843349768346149362653855576147198039961623229571494817859449668658199957830387777896802129179446783348231533101570791374492482 134736471286932183176767102741685208558497685008854109206843262086121484957249271242926957550046380074887384331364614055754486779287640505718734156357736890020458136076794379372198311788160042091090484530501216078069111556022435128720200590595385055130605937266327365759721954102412893436024108039578592772015997495314746153938904696874313102372109700447768990112855404432774611321131605744476322279532814936227529014278370121923065585895162746165719111203943723797979589938061608638286989624746932131189969551693228242656356127205596746966798722495958601916542443810562435452702868154692070254332193972435696371392552905361947170455912685942020141418653823500911815885851540774000346947338865180386025333371072832523689376353755630272815694496274429748491227698262696314973007523793453520350319698599636121562100159626461015307289900413198415394286643748295262923184284809692431226700945807889420498684110900196996097313600234795038038797986776811239446720159682964771541393226359633391209094891500382813503494860559895633204160782125897810236954059634640050935726044059550080550562968200935925367174340303663096385961295103245887900032207852946132458131015434808444763762532659776007138219611554118287972417088058061007772987490986187553412388276868100693547362630751415397369311881604458839073021939606999029038966370164162866220114816242709566750827428836450530682617850692484088664773041903431403863897573721 218008190066480558314386666220174726164867364490806087506754605588823447588726940939644842375569494428684651936892716997881168275660270720797891264931934470689234822960246585557812615976554952964075659891022610524228089752413997726931887333903420226788272059356142079166976236034342522725859046772166939156267162369500719014352948814595724224199332418775076463638551202872834813493461416058522465848280859735372853731547390487406948972068123486129555622193479020680420788234669309735552377282615903760121191497066424110005034386135073492922733495248366178340417947123718377120781032723582199281752849762159246702615404008623981221923778464468009458536628031455058813972303301579262060421062360835691850325288849869895446038730559421883630658030422328913542771027815874035355865720051270076100134350860521074910269859129341126719541273159303869353445193295328878865149480624664237104652177719473453322250185658904049320202964243337491940960581396694494310982517225388344330551494158788826540793577825747693210021944623244920571406820335065845653763940893223052580891518829564882898771858142034629302475558436893075766188193379379638666511477941538466243014417061879495810587156789575713330308866510745208239468628304646997499063757034393750832186098158450486237510329584042143988264141769302188841368088969652884615113568204124489449686311060569016419485628794280918460514652821663535448121273436532974655272066203 352744661353412741491153768961859934723365049499660196713597867674944932545976212182571799925615874503572036268257331053635655054947911226516625421289671360709692959037040964930010927764714995055166144421523826602297201308436432855652087924498805281918877996622469444926698190136755416161883154811745531928283159864815465168291853511470037326571442119222845453751406607305609424814593021802998788127813674671600382745825760609330014557963286232295274733397422744478400378172730918373839366907362835891311161048759652352661390513340670239889532217744324780256960390934280812573483900878274269536085043734594943074007956913985928392379691150410029599955281854955970629858154842353262407368401226016077875658659922702419135415084315052156446352526696758662033998726078570350328873243844723596450454049460157196472370018755802142026831173572502284747731837043624141788333765434356668331353123527362873820934296559101045417516564478132529979758568173505733757702676908353115871944720518422217749888469326130506713516805183140553775567602460963655890718000527863103516617562889114963449334826342970554669649898740556172152149488482625526566543685794484598701145432496687940574349689449351720468528478064863496211885716362708005272051248020581304244574375026551179784872960335457541357576023373761027914390028576651913654079938368287355669801127303278583170313057630731449143132503514147624112894315339964378519169639924 570752851419893299805540435182034660888232413990466284220352473263768380134703153122216642301185368932256688205150048051516823330608181947314516686221605831398927781997287550487823543741269948019241804312546437126525291060850430582583975258402225508707150055978611524093674426171097938887742201583912471084550322234316184182644802326065761550770774537997921917389957810178444238308054437861521253976094534406973236477373151096736963530031409718424830355590901765158821166407400228109391744189978739651432352545826076462666424899475743732812265712992690958597378338057999189694264933601856468817837893496754189776623360922609909614303469614878039058491909886411029443830458143932524467789463586851769725983948772572314581453814874474040077010557119087575576769753894444385684738963895993672550588400320678271382639877885143268746372446731806154101177030338953020653483246059020905436005301246836327143184482218005094737719528721470021920719149570200228068685194133741460202496214677211044290682047151878199923538749806385474346974422796029501544481941421086156097509081718679846348106684485005183972125457177449247918337681862005165233055163736023064944159849558567436384936846238927433798837344575608704451354344667355002771115005054975055076760473185001666022383289919499685345840165143063216755758117546304798269193506572411845119487438363847599589798686425012367603647156335811159561015588776497353174441706127 923497512773306041296694204143894595611597463490126480933950340938713312680679365304788442226801243435828724473407379105152478385556093173831142107511277192108620741034328515417834471505984943074407948734070263728822492369286863438236063182901030790626028052601080969020372616307853355049625356395658003012833482099131649350936655837535798877342216657220767371141364417484053663122647459664520042103908209078573619223198911706066978087994695950720105088988324509637221544580131146483231111097341575542743513594585728815327815412816413972701797930737015738854338728992280002267748834480130738353922937231349132850631317836595838006683160765288068658447191741367000073688612986285786875157864812867847601642608695274733716868899189526196523363083815846237610768479973014736013612207740717269001042449780835467855009896640945410773203620304308438848908867382577162441817011493377573767358424774199200964118778777106140155236093199602551900477717743705961826387871042094576074440935195633262040570516478008706637055554989526028122542025256993157435199941948949259614126644607794809797441510827975738641775355918005420070487170344630691799598849530507663645305282055255376959286535688279154267365822640472200663240061030063008043166253075556359321334848211552845807256250254957226703416188516824244670148146122956711923273444940699200789288565667126182760111744055743816746779659849958783673909904116461731693611346051 1494250364193199341102234639325929256499829877480592765154302814202481692815382518427005084527986612368085412678557427156669301716164275121145658793732883023507548523031616065905658015247254891093649753046616700855347783430137294020820038441303256299333178108579692493114047042478951293937367557979570474097383804333447833533581458163601560428112991195218689288531322227662497901430701897526041296080002743485546855700572062802803941618026105669144935444579226274796042710987531374592622855287320315194175866140411805277994240312292157705514063643729706697451717067050279191962013768081987207171760830728103322627254678759205747620986630380166107716939101627778029517519071130218311342947328399719617327626557467847048298322714064000236600373640934933813187538233867459121698351171636710941551630850101513739237649774526088679519576067036114592950085897721530183095300257552398479203363726021035528107303260995111234892955621921072573821196867313906189895073065175836036276937149872844306331252563629886906560594304795911502469516448053022658979681883370035415711635726326474656145548195312980922613900813095454667988824852206635857032654013266530728589465131613822813344223381927206588066203167216080905114594405697418010814281258130531414398095321396554511829639540174456912049256353659887461425906263669261510192466951513111045908776004030973782349910430480756184350426816185769943234925492892959084868053052178 2417747876966505382398928843469823852111427340970719246088253155141195005496061883731793526754787855803914137151964806261821780101720368294976800901244160215616169264065944581323492486753239834168057701780686964584170275799424157459056101624204287089959206161180773462134419658786804648986992914375228477110217286432579482884518114001137359305455207852439456659672686645146551564553349357190561338183910952564120474923770974508870919706020801619865040533567550784433264255567662521075853966384661890736919379734997534093322055725108571678215861574466722436306055796042559194229762602562117945525683767959452455477885996595801585627669791145454176375386293369145029591207684116504098218105193212587464929269166163121782015191613253526433123736724750780050798306713840473857711963379377428210552673299882349207092659671167034090292779687340423031798994765104107345537117269045776052970722150795234729071422039772217375048191715120675125721674585057612151721460936217930612351378085068477568371823080107895613197649859785437530592058473310015816414881825318984675325762370934269465942989706140956661255676169013460088059312022551266548832252862797038392234770413669078190303509917615485742333568989856553105777834466727481018857447511206087773719430169608107357636895790429414138752672542176711706096054409792218222115740396453810246698064569698099965110022174536500001097206476035728726908835397009420816561664398229 3911998241159704723501163482795753108611257218451312011242555969343676698311444402158798611282774468171999549830522233418491081817884643416122459694977043239123717787097560647229150502000494725261707454827303665439518059229561451479876140065507543389292384269760465955248466701265755942924360472354798951207601090766027316418099572164738919733568199047658145948204008872809049465984051254716602634263913696049667330624343037311674861324046907289009975978146777059229306966555193895668476821671982205931095245875409339371316296037400729383729925218196429133757772863092838386191776370644105152697444598687555778105140675355007333248656421525620284092325394996923059108726755246722409561052521612307082256895723630968830313514327317526669724110365685713863985844947707932979410314551014139152104304149983862946330309445693122769812355754376537624749080662825637528632417526598174532174085876816270257178725300767328609941147337041747699542871452371518341616534001393766648628315234941321874703075643737782519758244164581349033061574921363038475394563708689020091037398097260744122088537901453937583869576982108914756048136874757902405864906876063569120824235545282901003647733299542692330399772157072634010892428872424899029671728769336619188117525491004661869466535330603871050801928895836599167521960673461479732308207347966921292606840573729073747459932605017256185447633292221498670143760889902379901429717450407 6329746118126210105900092326265576960722684559422031257330809124484871703807506285890592138037562323975913686982487039680312861919605011711099260596221203454739887051163505228552642988753734559429765156607990630023688335028985608938932241689711830479251590430941239417382886360052560591911353386730027428317818377198606799302617686165876279039023406900097602607876695517955601030537400611907163972447824648613787805548114011820545781030067708908875016511714327843662571222122856416744330788056644096668014625610406873464638351762509301061945786792663151570063828659135397580421538973206223098223128366647008233583026671950808918876326212671074460467711688366068088699934439363226507779157714824894547186164889794090612328705940571053102847847090436493914784151661548406837122277930391567362656977449866212153422969116860156860105135441716960656548075427929744874169534795643950585144808027611504986250147340539545984989339052162422825264546037429130493337994937611697260979693320009799443074898723845678132955894024366786563653633394673054291809445534008004766363160468195013588031527607594894245125253151122374844107448897309168954697159738860607513059005958951979193951243217158178072733341146929187116670263339152380048529176280542706961836955660612769227103431121033285189554601438013310873618015083253697954423947744420731539304905143427173712569954779553756186544839768257227397052596286911800717991381848636 10241744359285914829401255809061330069333941777873343268573365093828548402118950688049390749320336792147913236813009273098803943737489655127221720291198246693863604838261065875781793490754229284691472611435294295463206394258547060418808381755219373868543974700701705372631353061318316534835713859084826379525419467964634115720717258330615198772591605947755748556080704390764650496521451866623766606711738344663455136172457049132220642354114616197884992489861104902891878188678050312412807609728626302599109871485816212835954647799910030445675712010859580703821601522228235966613315343850328250920572965334564011688167347305816252124982634196694744560037083362991147808661194609948917340210236437201629443060613425059442642220267888579772571957456122207778769996609256339816532592481405706514761281599850075099753278562553279629917491196093498281297156090755382402801952322242125117318893904427775243428872641306874594930486389204170524807417489800648834954528939005463909608008554951121317777974367583460652714138188948135596715208316036092767204009242697024857400558565455757710120065509048831828994830133231289600155585772067071360562066614924176633883241504234880197598976516700870403133113304001821127562692211577279078200905049879326149954481151617431096569966451637156240356530333849910041139975756715177686732155092387652831911745717156247460029887384571012371992473060478726067196357176814180619421099299043 16571490477412124935301348135326907030056626337295374525904174218313420105926456973939982887357899116123826923795496312779116805657094666838320980887419450148603491889424571104334436479507963844121237768043284925486894729287532669357740623444931204347795565131642944790014239421370877126747067245814853807843237845163240915023334944496491477811615012847853351163957399908720251527058852478530930579159562993277242941720571060952766423384182325106760009001575432746554449410800906729157138397785270399267124497096223086300592999562419331507621498803522732273885430181363633547034854317056551349143701331981572245271194019256625171001308846867769205027748771729059236508595633973175425119367951262096176629225503219150054970926208459632875419804546558701693554148270804746653654870411797273877418259049716287253176247679413436490022626637810458937845231518685127276971487117886075702463701932039280229679019981846420579919825441366593350071963527229779328292523876617161170587701874960920760852873091429138785670032213314922160368841710709147059013454776705029623763719033650771298151593116643726074120083284353664444263034669376240315259226353784784146942247463186859391550219733859048475866454450931008244232955550729659126730081330422033111791436812230200323673397572670441429911131771863220914757990839968875641156102836808384371216650860583421172599842164124768558537312828735953464248953463725981337412481147679 26813234836698039764702603944388237099390568115168717794477539312141968508045407661989373636678235908271740160608505585877920749394584321965542701178617696842467096727685636980116229970262193128812710379478579220950101123546079729776549005200150578216339539832344650162645592482689193661582781104899680187368657313127875030744052202827106676584206618795609099720038104299484902023580304345154697185871301337940698077893028110084987065738296941304645001491436537649446327599478957041569946007513896701866234368582039299136547647362329361953297210814382312977707031703591869513648169660906879600064274297316136256959361366562441423126291481064463949587785855092050384317256828583124342459578187699297806072286116644209497613146476348212647991762002680909472324144880061086470187462893202980392179540649566362352929526241966716119940117833903957219142387609440509679773439440128200819782595836467055473107892623153295174850311830570763874879381017030428163247052815622625080195710429912042078630847459012599438384170402263057757084050026745239826217464019402054481164277599106529008271658625692557903114913417584954044418620441443311675821292968708960780825488967421739589149196250559918878999567754932829371795647762306938204930986380301359261745917963847631420243364024307597670267662105713130955897966596684053327888257929196037203128396577739668632629729548695780930529785889214679531445310640540161956833580446722 43384725314110164700003952079715144129447194452464092320381713530455388613971864635929356524036135024395567084404001898657037555051678988803863682066037146991070588617110208084450666449770156972933948147521864146436995852833612399134289628645081782564135104963987594952659831904060070788329848350714533995211895158291115945767387147323598154395821631643462450883995504208205153550639156823685627765030864331217941019613599171037753489122479266411405010493011970396000777010279863770727084405299167101133358865678262385437140646924748693460918709617905045251592461884955503060683023977963430949207975629297708502230555385819066594127600327932233154615534626821109620825852462556299767578946138961393982701511619863359552584072684807845523411566549239611165878293150865833123842333305000254269597799699282649606105773921380152609962744471714416156987619128125636956744926558014276522246297768506335702786912604999715754770137271937357224951344544260207491539576692239786250783412304872962839483720550441738224054202615577979917452891737454386885230918796107084104927996632757300306423251742336283977234996701938618488681655110819551991080519322493744927767736430608598980699415984418967354866022205863837616028603313036597331661067710723392373537354776077831743916761596978039100178793877576351870655957436652928969044360766004421574345047438323089805229571712820549489067098717950632995694264104266143294246061594401 70197960150808204464706556024103381228837762567632810114859252842597357122017272297918730160714370932667307245012507484534958304446263310769406383244654843833537685344795845064566896420032350101746658527000443367387096976379692128910838633845232360780474644796332245115305424386749264449912629455614214182580552471418990976511439350150704830980028250439071550604033608507690055574219461168840324950902165669158639097506627281122740554860776207716050011984448508045447104609758820812297030412813063802999593234260301684573688294287078055414215920432287358229299493588547372574331193638870310549272249926613844759189916752381508017253891808996697104203320481913160005143109291139424110038524326660691788773797736507569050197219161156058171403328551920520638202438030926919594029796198203234661777340348849011959035300163346868729902862305618373376130006737566146636518365998142477342028893604973391175894805228153010929620449102508121099830725561290635654786629507862411330979122734785004918114568009454337662438373017841037674536941764199626711448382815509138586092274231863829314694910368028841880349910119523572533100275552262863666901812291202705708593225398030338569848612234978886233865589960796666987824251075343535536592054091024751635283272739925463164160125621285636770446455983289482826553924033336982296932618695200458777473444016062758437859301261516330419596884607165312527139574744806305251079642041123 113582685464918369164710508103818525358284957020096902435240966373052745735989136933848086684750505957062874329416509383191995859497942299573270065310691990824608273961906053149017562869802507074680606674522307513824092829213304528045128262490314143344609749760319840067965256290809335238242477806328748177792447629710106922278826497474302985375849882082534001488029112715895209124858617992525952715933030000376580117120226452160494043983255474127455022477460478441447881620038684583024114818112230904132952099938564070010828941211826748875134630050192403480891955473502875635014217616833741498480225555911553261420472138200574611381492136928930258818855108734269625968961753695723877617470465622085771475309356370928602781291845963903694814895101160131804080731181792752717872129503203488931375140048131661565141074084727021339865606777332789533117625865691783593263292556156753864275191373479726878681717833152726684390586374445478324782070105550843146326206200102197581762535039657967757598288559896075886492575633419017591989833501654013596679301611616222691020270864621129621118162110365125857584906821462191021781930663082415657982331613696450636360961828638937550548028219397853588731612166660504603852854388380132868253121801748144008820627516003294908076887218263675870625249860865834697209881469989911265976979461204880351818491454385848243088872974336879908663983325115945522833838849072448545325703635524 183780645615726573629417064127921906587122719587729712550100219215650102858006409231766816845464876889730181574429016867726954163944205610342676448555346834658145959306701898213584459289834857176427265201522750881211189805592996656955966896335546504125084394556652085183270680677558599688155107261942962360373000101129097898790265847625007816355878132521605552092062721223585264699078079161366277666835195669535219214626853733283234598844031681843505034461908986486894986229797505395321145230925294707132545334198865754584517235498904804289350550482479761710191449062050248209345411255704052047752475482525398020610388890582082628635383945925627363022175590647429631112071044835147987655994792282777560249107092878497652978511007119961866218223653080652442283169212719672311901925701406723593152480396980673524176374248073890069768469082951162909247632603257930229781658554299231206304084978453118054576523061305737614011035476953599424612795666841478801112835707964608912741657774442972675712856569350413548930948651260055266526775265853640308127684427125361277112545096484958935813072478393967737934816940985763554882206215345279324884143904899156344954187226669276120396640454376739822597202127457171591677105463723668404845175892772895644103900255928758072237012839549312641071705844155317523763805503326893562909598156405339129291935470448606680948174235853210328260867932281258049973413593878753796405345676647 297363331080644942794127572231740431945407676607826614985341185588702848593995546165614903530215382846793055903845526250918950023442147909915946513866038825482754233268607951362602022159637364251107871876045058395035282634806301185001095158825860647469694144316971925251235936968367934926397585068271710538165447730839204821069092345099310801731728014604139553580091833939480473823936697153892230382768225669911799331747080185443728642827287155970960056939369464928342867849836189978345260049037525611265497434137429824595346176710731553164485180532672165191083404535553123844359628872537793546232701038436951282030861028782657240016876082854557621841030699381699257081032798530871865273465257904863331724416449249426255759802853083865561033118754240784246363900394512425029774055204610212524527620445112335089317448332800911409634075860283952442365258468949713823044951110455985070579276351932844933258240894458464298401621851399077749394865772392321947439041908066806494504192814100940433311145129246489435423524284679072858516608767507653904806986038741583968132815961106088556931234588759093595519723762447954576664136878427694982866475518595606981315149055308213670944668673774593411328814294117676195529959852103801273098297694521039652924527771932052980313900057812988511696955705021152220973686973316804828886577617610219481110426924834454924037047210190090236924851257397203572807252442951202341731049312171 481143976696371516423544636359662338532530396195556327535441404804352951452001955397381720375680259736523237478274543118645904187386353520258622962421385660140900192575309849576186481449472221427535137077567809276246472440399297841957062055161407151594778538873624010434506617645926534614552692330214672898538447831968302719859358192724318618087606147125745105672154555163065738523014776315258508049603421339447018546373933918726963241671318837814465091401278451415237854079633695373666405279962820318398042768336295579179863412209636357453835731015151926901274853597603372053705040128241845593985176520962349302641249919364739868652260028780184984863206290029128888193103843366019852929460050187640891973523542127923908738313860203827427251342407321436688647069607232097341675980906016936117680100842093008613493822580874801479402544943235115351612891072207644052826609664755216276883361330385962987834763955764201912412657328352677174007661439233800748551877616031415407245850588543913109024001698596902984354472935939128125043384033361294212934670465866945245245361057591047492744307067153061333454540703433718131546343093772974307750619423494763326269336281977489791341309128151333233926016421574847787207065315827469677943473587293935297028428027860811052550912897362301152768661549176469744737492476643698391796175774015558610402362395283061604985221446043300565185719189678461622780666036829956138136394988818 778507307777016459217672208591402770477938072803382942520782590393055800045997501562996623905895642583316293382120069369564854210828501430174569476287424485623654425843917800938788503609109585678643008953612867671281755075205599026958157213987267799064472683190595935685742554614294469540950277398486383436703895562807507540928450537823629419819334161729884659252246389102546212346951473469150738432371647009358817878121014104170691884498605993785425148340647916343580721929469885352011665329000345929663540202473725403775209588920367910618320911547824092092358258133156495898064669000779639140217877559399300584672110948147397108669136111634742606704236989410828145274136641896891718202925308092504223697939991377350164498116713287692988284461161562220935010970001744522371450036110627148642207721287205343702811270913675712889036620803519067793978149541157357875871560775211201347462637682318807921093004850222666210814279179751754923402527211626122695990919524098221901750043402644853542335146827843392419777997220618200983559992800868948117741656504608529213378177018697136049675541655912154928974264465881672708210479972200669290617094942090370307584485337285703462285977801925926645254830715692523982737025167931270951041771281814974949952955799792864032864812955175289664465617254197621965711179449960503220682753391625778091512789320117516529022268656233390802110570447075665195587918479781158479867444300989 1259651284473387975641216844951065109010468468998939270056223995197408751497999456960378344281575902319839530860394612488210758398214854950433192438708810145764554618419227650514974985058581807106178146031180676947528227515604896868915219269148674950659251222064219946120249172260221004155502969728701056335242343394775810260787808730547948037906940308855629764924400944265611950869966249784409246481975068348805836424494948022897655126169924831599890239741926367758818576009103580725678070608963166248061582970810020982955073001130004268072156642562976018993633111730759867951769709129021484734203054080361649887313360867512136977321396140414927591567443279439957033467240485262911571132385358280145115671463533505274073236430573491520415535803568883657623658039608976619713126017016644084759887822129298352316305093494550514368439165746754183145591040613365001928698170439966417624345999012704770908927768805986868123226936508104432097410188650859923444542797140129637308995893991188766651359148526440295404132470156557329108603376834230242330676326970475474458623538076288183542419848723065216262428805169315390839756823065973643598367714365585133633853821619263193253627286930077259879180847137267371769944090483758740628985244869108910246981383827653675085415725852537590817234278803374091710448671926604201612478929165641336701915151715400578134007490102276691367296289636754126818368584516611114618003839289807 2038158592250404434858889053542467879488406541802322212577006585590464551543996958523374968187471544903155824242514681857775612609043356380607761914996234631388209044263145451453763488667691392784821154984793544618809982590810495895873376483135942749723723905254815881805991726874515473696453247127187439771946238957583317801716259268371577457726274470585514424176647333368158163216917723253559984914346715358164654302615962127068347010668530825385315388082574284102399297938573466077689735937963512177725123173283746386730282590050372178690477554110800111085991369863916363849834378129801123874420931639760950471985471815659534085990532252049670198271680268850785178741377127159803289335310666372649339369403524882624237734547286779213403820264730445878558669009610721142084576053127271233402095543416503696019116364408226227257475786550273250939569190154522359804569731215177618971808636695023578830020773656209534334041215687856187020812715862486046140533716664227859210745937393833620193694295354283687823910467377175530092163369635099190448417983475084003672001715094985319592095390378977371191403069635197063547967303038174312888984809307675503941438306956548896715913264732003186524435677852959895752681115651690011580027016150923885196934339627446539118280538807712880481699896057571713676159851376564704833161682557267114793427941035518094663029758758510082169406860083829792013956502996392273097871283590796 3297809876723792410500105898493532988498875010801261482633230580787873303041996415483753312469047447222995355102909294345986371007258211331040954353705044777152763662682373101968738473726273199890999301015974221566338210106415392764788595752284617700382975127319035827926240899134736477851956216855888496107188582352359128062504067998919525495633214779441144189101048277633770114086883973037969231396321783706970490727110910149966002136838455656985205627824500651861217873947677046803367806546926678425786706144093767369685355591180376446762634196673776130079624481594676231801604087258822608608623985720122600359298832683171671063311928392464597789839123548290742212208617612422714860467696024652794455040867058387898310970977860270733819356068299329536182327049219697761797702070143915318161983365545802048335421457902776741625914952297027434085160230767887361733267901655144036596154635707728349738948542462196402457268152195960619118222904513345969585076513804357496519741831385022386845053443880723983228042937533732859200766746469329432779094310445559478130625253171273503134515239102042587453831874804512454387724126104147956487352523673260637575292128575812089969540551662080446403616524990227267522625206135448752209012261020032795443915723455100214203696264660250471298934174860945805386608523303168906445640611722908451495343092750918672797037248860786773536703149720583918832325087513003387715875122880603 5335968468974196845358994952036000867987281552603583695210237166378337854585993374007128280656518992126151179345423976203761983616301567711648716268701279408540972706945518553422501962393964592675820456000767766185148192697225888660661972235420560450106699032573851709732232626009251951548409463983075935879134821309942445864220327267291102953359489250026658613277695611001928277303801696291529216310668499065135145029726872277034349147506986482370521015907074935963617171886250512881057542484890190603511829317377513756415638181230748625453111750784576241165615851458592595651438465388623732483044917359883550831284304498831205149302460644514267988110803817141527390949994739582518149803006691025443794410270583270522548705525147049947223176333029775414740996058830418903882278123271186551564078908962305744354537822311002968883390738847300685024729420922409721537837632870321655567963272402751928568969316118405936791309367883816806139035620375832015725610230468585355730487768778856007038747739235007671051953404910908389292930116104428623227512293920643481802626968266258822726610629481019958645234944439709517935691429142322269376337332980936141516730435532360986685453816394083632928052202843187163275306321787138763789039277170956680640850063082546753321976803467963351780634070918517519062768374679733611278802294280175566288771033786436767460067007619296855706110009804413710846281590509395660813746406471399 8633778345697989255859100850529533856486156563404845177843467747166211157627989789490881593125566439349146534448333270549748354623559779042689670622406324185693736369627891655391240436120237792566819757016741987751486402803641281425450567987705178150489674159892887537658473525143988429400365680838964431986323403662301573926724395266210628448992704029467802802378743888635698391390685669329498447706990282772105635756837782427000351284345442139355726643731575587824835045833927559684425349031816869029298535461471281126100993772411125072215745947458352371245240333053268827453042552647446341091668903080006151190583137182002876212614389036978865777949927365432269603158612352005233010270702715678238249451137641658420859676503007320681042532401329104950923323108050116665679980193415101869726062274508107792689959280213779710509305691144328119109889651690297083271105534525465692164117908110480278307917858580602339248577520079777425257258524889177985310686744272942852250229600163878393883801183115731654279996342444641248493696862573758056006606604366202959933252221437532325861125868583062546099066819244221972323415555246470225863689856654196779092022564108173076654994368056164079331668727833414430797931527922587515998051538190989476084765786537646967525673068128213823079568245779463324449376897982902517724442906003084017784114126537355440257104256480083629242813159524997629678606678022399048529621529352002 13969746814672186101218095802565534724473438116008428873053704913544549012213983163498009873782085431475297713793757246753510338239861346754338386891107603594234709076573410208813742398514202385242640213017509753936634595500867170086112540223125738600596373192466739247390706151153240380948775144822040367865458224972244019790944722533501731402352193279494461415656439499637626668694487365621027664017658781837240780786564654704034700431852428621726247659638650523788452217720178072565482891516707059632810364778848794882516631953641873697668857698242928612410856184511861423104481018036070073574713820439889702021867441680834081361916849681493133766060731182573796994108607091587751160073709406703682043861408224928943408382028154370628265708734358880365664319166880535569562258316686288421290141183470413537044497102524782679392696429991628804134619072612706804808943167395787347732081180513232206876887174699008276039886887963594231396294145265010001036296974741528207980717368942734400922548922350739325331949747355549637786626978678186679234118898286846441735879189703791148587736498064082504744301763683931490259106984388792495240027189635132920608752999640534063340448184450247712259720930676601594073237849709726279787090815361946156725615849620193720847649871596177174860202316697980843512145272662636129003245200283259584072885160323792207717171264099380484948923169329411340524888268531794709343367935823401 22603525160370175357077196653095068580959594679413274050897172660710760169841972952988891466907651870824444248242090517303258692863421125797028057513513927779928445446201301864204982834634440177809459970034251741688120998304508451511563108210830916751086047352359626785049179676297228810349140825661004799851781628634545593717669117799712359851344897308962264218035183388273325060085173034950526111724649064609346416543402437131035051716197870761081974303370226111613287263554105632249908240548523928662108900240320076008617625726052998769884603645701280983656096517565130250557523570683516414666382723519895853212450578862836957574531238718471999544010658548006066597267219443592984170344412122381920293312545866587364268058531161691309308241135687985316587642274930652235242238510101390291016203457978521329734456382738562389902002121135956923244508724303003888080048701921253039896199088623712485184805033279610615288464408043371656653552670154187986346983719014471060230946969106612794806350105466470979611946089800190886280323841251944735240725502653049401669131411141323474448862366647145050843368582928153462582522539635262721103717046289329699700775563748707139995442552506411791591389658510016024871169377632313795785142353552935632810381636157840688373322939724390997939770562477444167961522170645538646727688106286343601856999286861147647974275520579464114191736328854408970203494946554193757872989465175403 36573271975042361458295292455660603305433032795421702923950877574255309182055956116486901340689737302299741962035847764056769031103282472551366444404621531374163154522774712073018725233148642563052100183051761495624755593805375621597675648433956655351682420544826366032439885827450469191297915970483045167717239853606789613508613840333214091253697090588456725633691622887910951728779660400571553775742307846446587197329967091835069752148050299382808221963008876635401739481274283704815391132065230988294919265019168870891134257679694872467553461343944209596066952702076991673662004588719586488241096543959785555234318020543671038936448088399965133310071389730579863591375826535180735330418121529085602337173954091516307676440559316061937573949870046865682251961441811187804804496826787678712306344641448934866778953485263345069294698551127585727379127796915710692888991869317040387628280269136944692061692207978618891328351296006965888049846815419197987383280693755999268211664338049347195728899027817210304943895837155740524066950819930131414474844400939895843405010600845114623036598864711227555587670346612084952841629524024055216343744235924462620309528563389241203335890736956659503851110589186617618944407227342040075572233168914881789535997485778034409220972811320568172799972879175425011473667443308174775730933306569603185929884447184939855691446784678844599140659498183820310728383215085988467216357400998804 59176797135412536815372489108755671886392627474834976974848050234966069351897929069475792807597389173124186210277938281360027723966703598348394501918135459154091599968976013937223708067783082740861560153086013237312876592109884073109238756644787572102768467897185992817489065503747698001647056796144049967569021482241335207226282958132926451105041987897418989851726806276184276788864833435522079887466956911055933613873369528966104803864248170143890196266379102747015026744828389337065299372613754916957028165259488946899751883405747871237438064989645490579723049219642121924219528159403102902907479267479681408446768599406507996510979327118437132854082048278585930188643045978773719500762533651467522630486499958103671944499090477753246882191005734850998839603716741840040046735336889069003322548099427456196513409868001907459196700672263542650623636521218714580969040571238293427524479357760657177246497241258229506616815704050337544703399485573385973730264412770470328442611307155959990535249133283681284555841926955931410347274661182076149715569903592945245074142011986438097485461231358372606431038929540238415424152063659317937447461282213792320010304127137948343331333289463071295442500247696633643815576604974353871357375522467817422346379121935875097594295751044959170739743441652869179435189613953713422458621412855946787786883734046087503665722305258308713332395827038229280931878161640182225089346866174207 95750069110454898273667781564416275191825660270256679898798927809221378533953885185962694148287126475423928172313786045416796755069986070899760946322756990528254754491750726010242433300931725303913660336137774732937632185915259694706914405078744227454450888442012358849928951331198167192944972766627095135286261335848124820734896798466140542358739078485875715485418429164095228517644493836093633663209264757502520811203336620801174556012298469526698418229387979382416766226102673041880690504678985905251947430278657817790886141085442743704991526333589700175790001921719113597881532748122689391148575811439466963681086619950179035447427415518402266164153438009165793780018872513954454831180655180553124967660454049619979620939649793815184456140875781716681091565158553027844851232163676747715628892740876391063292363353265252528491399223391128378002764318134425273858032440555333815152759626897601869308189449236848397945167000057303432753246300992583961113545106526469596654275645205307186264148161100891589499737764111671934414225481112207564190414304532841088479152612831552720522060096069600162018709276152323368265781587683373153791205518138254940319832690527189546667224026419730799293610836883251262759983832316393946929608691382699211882376607713909506815268562365527343539716320828294190908857057261888198189554719425549973716768181231027359357169089937153312473055325222049591660261376726170692305704267173011 154926866245867435089040270673171947078218287745091656873646978044187447885851814255438486955884515648548114382591724326776824479036689669248155448240892449682346354460726739947466141368714808044775220489223787970250508778025143767816153161723531799557219356339198351667418016834945865194592029562771145102855282818089460027961179756599066993463781066383294705337145235440279505306509327271615713550676221668558454425076706149767279359876546639670588614495767082129431792970931062378945989877292740822208975595538146764690638024491190614942429591323235190755513051141361235522101060907525792294056055078919148372127855219356687031958406742636839399018235486287751723968661918492728174331943188832020647598146954007723651565438740271568431338331881516567679931168875294867884897967500565816718951440840303847259805773221267159987688099895654671028626400839353139854827073011793627242677238984658259046554686690495077904561982704107640977456645786565969934843809519296939925096886952361267176799397294384572874055579691067603344761500142294283713905984208125786333553294624817990818007521327427972768449748205692561783689933651342691091238666800352047260330136817665137889998557315882802094736111084579884906575560437290747818286984213850516634228755729649784604409564313410486514279459762481163370344046671215601620648176132281496761503651915277114863022891395195462025805451152260278872592139538366352917395051133347218 250676935356322333362708052237588222270043948015348336772445905853408826419805699441401181104171642123972042554905510372193621234106675740147916394563649440210601108952477465957708574669646533348688880825361562703188140963940403462523067566802276027011670244781210710517346968166144032387537002329398240238141544153937584848696076555065207535822520144869170420822563664604374733824153821107709347213885486426060975236280042770568453915888845109197287032725155061511848559197033735420826680381971726727460923025816804582481524165576633358647421117656824890931303053063080349119982593655648481685204630890358615335808941839306866067405834158155241665182388924296917517748680791006682629163123844012573772565807408057343631186378390065383615794472757298284361022734033847895729749199664242564434580333581180238323098136574532412516179499119045799406629165157487565128685105452348961057829998611555860915862876139731926302507149704164944410209892087558553895957354625823409521751162597566574363063545455485464463555317455179275279175725623406491278096398512658627422032447237649543538529581423497572930468457481844885151955715239026064245029872318490302200649969508192327436665781342302532894029721921463136169335544269607141765216592905233215846111132337363694111224832875776013857819176083309457561252903728477489818837730851707046735220420096508142222380060485132615338278506477482328464252400915092523609700755400520229 405603801602189768451748322910760169348262235760439993646092883897596274305657513696839668060056157772520156937497234698970445713143365409396071842804541889892947463413204205905174716038361341393464101314585350673438649741965547230339220728525807826568889601120409062184764985001089897582129031892169385340996826972027044876657256311664274529286301211252465126159708900044654239130663148379325060764561708094619429661356748920335733275765391748867875647220922143641280352167964797799772670259264467549669898621354951347172162190067823973589850708980060081686816104204441584642083654563174273979260685969277763707936797058663553099364240900792081064200624410584669241717342709499410803495067032844594420163954362065067282751817130336952047132804638814852040953902909142763614647167164808381153531774421484085582903909795799572503867599014700470435255565996840704983512178464142588300507237596214119962417562830227004207069132408272585387666537874124523830801164145120349446848049549927841539862942749870037337610897146246878623937225765700774992002382720784413755585741862467534356537102750925545698918205687537446935645648890368755336268539118842349460980106325857465326664338658185334988765833006043021075911104706897889583503577119083732480339888067013478715634397189186500372098635845790620931596950399693091439485906983988543496724072011785257085402951880328077364083957629742607336844540453458876527095806533867447 656280736958512101814456375148348391618306183775788330418538789751005100725463213138240849164227799896492199492402745071164066947250041149543988237368191330103548572365681671862883290708007874742152982139946913376626790705905950692862288295328083853580559845901619772702111953167233929969666034221567625579138371125964629725353332866729482065108821356121635546982272564649028972954816969487034407978447194520680404897636791690904187191654236858065162679946077205153128911364998533220599350641236194277130821647171755929653686355644457332237271826636884972618119157267521933762066248218822755664465316859636379043745738897970419166770075058947322729383013334881586759466023500506093432658190876857168192729761770122410913938195520402335662927277396113136401976636942990659344396366829050945588112108002664323906002046370331985020047098133746269841884731154328270112197283916491549358337236207769980878280438969958930509576282112437529797876429961683077726758518770943758968599212147494415902926488205355501801166214601426153903112951389107266270098781233443041177618189100117077895066684174423118629386663169382332087601364129394819581298411437332651661630075834049792763330120000487867882795554927506157245246648976505031348720170024316948326451020404377172826859230064962514229917811929100078492849854128170581258323637835695590231944492108293399307783012365460692702362464107224935801096941368551400136796561934387676 1061884538560701870266204698059108560966568419536228324064631673648601375031120726835080517224283957669012356429899979770134512660393406558940060080172733219996496035778885877768058006746369216135617083454532264050065440447871497923201509023853891680149449447022028834886876938168323827551795066113737010920135198097991674602010589178393756594395122567374100673141981464693683212085480117866359468743008902615299834558993540611239920467419628606933038327166999348794409263532963331020372020900500661826800720268526707276825848545712281305827122535616945054304935261471963518404149902781997029643726002828914142751682535956633972266134315959739403793583637745466256001183366210005504236153257909701762612893716132187478196690012650739287710060082034927988442930539852133422959043533993859326741643882424148409488905956166131557523914697148446740277140297151168975095709462380634137658844473803984100840698001800185934716645414520710115185542967835807601557559682916064108415447261697422257442789430955225539138777111747673032527050177154808041262101163954227454933203930962584612251603786925348664328304868856919779023247013019763574917566950556175001122610182159907258089994458658673202871561387933549178321157753683402920932223747143400680806790908471390651542493627254149014602016447774890699424446804527863672697809544819684133728668564120078656393185964245788770066446421736967543137941481822010276663892368468255123 1718165275519213972080661073207456952584874603312016654483170463399606475756583939973321366388511757565504555922302724841298579607643447708484048317540924550100044608144567549630941297454377090877770065594479177426692231153777448616063797319181975533730009292923648607588988891335557757521461100335304636499273569223956304327363922045123238659503943923495736220124254029342712185040297087353393876721456097135980239456630332302144107659073865464998201007113076553947538174897961864240971371541736856103931541915698463206479534901356738638064394362253830026923054418739485452166216151000819785308191319688550521795428274854604391432904391018686726522966651080347842760649389710511597668811448786558930805623477902309889110628208171141623372987359431041124844907176795124082303439900822910272329755990426812733394908002536463542543961795282193010119025028305497245207906746297125687017181710011754081718978440770144865226221696633147644983419397797490679284318201687007867384046473844916673345715919160581040939943326349099186430163128543915307532199945187670496110822120062701690146670471099771782957691532026302111110848377149158394498865361993507652784240257993957050853324578659161070754356942861055335566404402659907952280943917167717629133241928875767824369352857319111528831934259703990777917296658656034253956133182655379723960613056228372055700968976611249462768808885844192478939038423190561676800688930402642799 2780049814079915842346865771266565513551443022848244978547802137048207850787704666808401883612795715234516912352202704611433092268036854267424108397713657770096540643923453427398999304200746307013387149049011441476757671601648946539265306343035867213879458739945677442475865829503881585073256166449041647419408767321947978929374511223516995253899066490869836893266235494036395397125777205219753345464464999751280074015623872913384028126493494071931239334280075902741947438430925195261343392442237517930732262184225170483305383447069019943891516897870775081227989680211448970570366053782816814951917322517464664547110810811238363699038706978426130316550288825814098761832755920517101904964706696260693418517194034497367307318220821880911083047441465969113287837716647257505262483434816769599071399872850961142883813958702595100067876492430639750396165325456666220303616208677759824676026183815738182559676442570330799942867111153857760168962365633298280841877884603071975799493735542338930788505350115806580078720438096772218957213305698723348794301109141897951044026051025286302398274258025120447285996400883221890134095390168921969416432312549682653906850440153864308943319037317834273625918330794604513887562156343310873213167664311118309940032837347158475911846484573260543433950707478881477341743463183897926653942727475063857689281620348450712094154940857038232835255307581160022076979905012571953464581298870897922 4498215089599129814427526844474022466136317626160261633030972600447814326544288606781723250001307472800021468274505429452731671875680301975908156715254582320196585252068020977029940601655123397891157214643490618903449902755426395155329103662217842747609468032869326050064854720839439342594717266784346283918682336545904283256738433268640233913403010414365573113390489523379107582166074292573147222185921096887260313472254205215528135785567359536929440341393152456689485613328887059502314763983974374034663804099923633689784918348425758581955911260124605108151044098950934422736582204783636600260108642206015186342539085665842755131943097997112856839516939906161941522482145631028699573776155482819624224140671936807256417946428993022534456034800897010238132744893442381587565923335639679871401155863277773876278721961239058642611838287712832760515190353762163465511522954974885511693207893827492264278654883340475665169088807787005405152381763430788960126196086290079843183540209387255604134221269276387621018663764445871405387376434242638656326501054329568447154848171087987992544944729124892230243687932909524001244943767318080363915297674543190306691090698147821359796643615976995344380275273655659849453966559003218825494111581478835939073274766222926300281199341892372072265884967182872255259040121839932180610075910130443581649894676576822767795123917468287695604064193425352501016018328203133630265270229273540721 7278264903679045656774392615740587979687760649008506611578774737496022177331993273590125133614103188034538380626708134064164764143717156243332265112968240090293125895991474404428939905855869704904544363692502060380207574357075341694594410005253709961488926772815003492540720550343320927667973433233387931338091103867852262186112944492157229167302076905235410006656725017415502979291851497792900567650386096638540387487878078128912163912060853608860679675673228359431433051759812254763658156426211891965396066284148804173090301795494778525847428157995380189379033779162383393306948258566453415212025964723479850889649896477081118830981804975538987156067228731976040284314901551545801478740862179080317642657865971304623725264649814903445539082242362979351420582610089639092828406770456449470472555736128735019162535919941653742679714780143472510911355679218829685815139163652645336369234077643230446838331325910806465111955918940863165321344129064087240968073970893151818983033944929594534922726619392194201097384202542643624344589739941362005120802163471466398198874222113274294943218987150012677529684333792745891379039157487002333331729987092872960597941138301685668739962653294829618006193604450264363341528715346529698707279245789954249013307603570084776193045826465632615699835674661753732600783585023830107264018637605507439339176296925273479889278858325325928439319501006512523092998233215705583729851528144438643 11776479993278175471201919460214610445824078275168768244609747337943836503876281880371848383615410660834559848901213563516896436019397458219240421828222822410489711148059495381458880507510993102795701578335992679283657477112501736849923513667471552709098394805684329542605575271182760270262690700017734215256773440413756545442851377760797463080705087319600983120047214540794610561457925790366047789836307193525800700960132283344440299697628213145790120017066380816120918665088699314265972920410186266000059870384072437862875220143920537107803339418119985297530077878113317816043530463350090015472134606929495037232188982142923873962924902972651843995584168638137981806797047182574501052517017661899941866798537908111880143211078807925979995117043259989589553327503532020680394330106096129341873711599406508895441257881180712385291553067856305271426546032980993151326662118627530848062441971470722711116986209251282130281044726727868570473725892494876201094270057183231662166574154316850139056947888668581822116047966988515029731966174184000661447303217801034845353722393201262287488163716274904907773372266702269892623982924805082697247027661636063267289031836449507028536606269271824962386468878105924212795495274349748524201390827268790188086582369793011076474245168358004687965720641844625987859823706863762287874094547735951020989070973502096247684402775793613624043383694431865024109016561418839213995121757417979364 19054744896957221127976312075955198425511838924177274856188522075439858681208275153961973517229513848869098229527921697581061200163114614462572686941191062500782837044050969785887820413366862807700245942028494739663865051469577078544517923672725262670587321578499333035146295821526081197930664133251122146594864544281608807628964322252954692248007164224836393126703939558210113540749777288158948357486693290164341088448010361473352463609689066754650799692739609175552351716848511569029631076836398157965455936668221242035965521939415315633650767576115365486909111657275701209350478721916543430684160571652974888121838878620004992793906707948190831151651397370114022091111948734120302531257879840980259509456403879416503868475728622829425534199285622968940973910113621659773222736876552578812346267335535243914603793801122366127971267847999777782337901712199822837141801282280176184431676049113953157955317535162088595393000645668731735795070021558963442062344028076383481149608099246444673979674508060776023213432169531158654076555914125362666568105381272501243552596615314536582431382703424917585303056600495015784003022082292085030578757648728936227886972974751192697276568922566654580392662482556188576137023989696278222908670073058744437099889973363095852667290994823637303665556316506379720460607291887592395138113185341458460328247270427369727573681634118939552482703195438377547202014794634544797724973285562418007 30831224890235396599178231536169808871335917199346043100798269413383695185084557034333821900844924509703658078429135261097957636182512072681813108769413884911272548192110465167346700920877855910495947520364487418947522528582078815394441437340196815379685716384183662577751871092708841468193354833268856361851637984695365353071815700013752155328712251544437376246751154099004724102207703078524996147323000483690141789408142644817792763307317279900440919709805989991673270381937210883295603997246584423965515807052293679898840742083335852741454106994235350784439189535389019025394009185266633446156295178582469925354027860762928866756831610920842675147235566008252003897908995916694803583774897502880201376254941787528384011686807430755405529316328882958530527237617153680453617066982648708154219978934941752810045051682303078513262820915856083053764447745180815988468463400907707032494118020584675869072303744413370725674045372396600306268795914053839643156614085259615143316182253563294813036622396729357845329480136519673683808522088309363328015408599073536088906319008515798869919546419699822493076428867197285676627005007097167727825785310364999495176004811200699725813175191838479542779131360662112788932519264046026747110060900327534625186472343156106929141536163181641991631276958351005708320430998751354683012207733077409481317318243929465975258084409912553176526086889870242571311031356053384011720095042980397371 49885969787192617727154543612125007296847756123523317956986791488823553866292832188295795418074438358572756307957056958679018836345626687144385795710604947412055385236161434953234521334244718718196193462392982158611387580051655893938959361012922078050273037962682995612898166914234922666124018966519978508446502528976974160700780022266706847576719415769273769373455093657214837642957480366683944504809693773854482877856153006291145226917006346655091719402545599167225622098785722452325235074082982581930971743720514921934806264022751168375104874570350716271348301192664720234744487907183176876840455750235444813475866739382933859550738318869033506298886963378366025989020944650815106115032777343860460885711345666944887880162536053584831063515614505927471501147730775340226839803859201286966566246270476996724648845483425444641234088763855860836102349457380638825610264683187883216925794069698629027027621279575459321067046018065332042063865935612803085218958113335998624465790352809739487016296904790133868542912306050832337885078002434725994583513980346037332458915623830335452350929123124740078379485467692301460630027089389252758404542959093935723062977785951892423089744114405134123171793843218301365069543253742304970018730973386279062286362316519202781808827158005279295296833274857385428781038290638947078150320918418867941645565514356835702831766044031492729008790085308620118513046150687928809445068328542815378 80717194677428014326332775148294816168183673322869361057785060902207249051377389222629617318919362868276414386386192219776976472528138759826198904480018832323327933428271900120581222255122574628692140982757469577558910108633734709333400798353118893429958754346866658190650038006943764134317373799788834870298140513672339513772595722280459002905431667313711145620206247756219561745165183445208940652132694257544624667264295651108937990224323626555532639112351589158898892480722933335620839071329567005896487550772808601833647006106087021116558981564586067055787490728053739260138497092449810322996750928817914738829894600145862726307569929789876181446122529386618029886929940567509909698807674846740662261966287454473271891849343484340236592831943388886002028385347929020680456870841849995120786225205418749534693897165728523154496909679711943889866797202561454814078728084095590249419912090283304896099925023988830046741091390461932348332661849666642728375572198595613767781972606373034300052919301519491713872392442570506021693600090744089322598922579419573421365234632346134322270475542824562571455914334889587137257032096486420486230328269458935218238982597152592148902919306243613665950925203880414154002062517788331717128791873713813687472834659675309710950363321186921286928110233208391137101469289390301761162528651496277422962883758286301678089850453944045905534876975178862689824077506741312821165163371523212749 130603164464620632053487318760419823465031429446392679014771852391030802917670221410925412736993801226849170694343249178455995308873765446970584700190623779735383318664433335073815743589367293346888334445150451736170297688685390603272360159366040971480231792309549653803548204921178686800441392766308813378744643042649313674473375744547165850482151083082984914993661341413434399388122663811892885156942388031399107545120448657400083217141329973210624358514897188326124514579508655787946074145412549587827459294493323523768453270128838189491663856134936783327135791920718459494882984999632987199837206679053359552305761339528796585858308248658909687745009492764984055875950885218325015813840452190601123147677633121418159772011879537925067656347557894813473529533078704360907296674701051282087352471475895746259342742649153967795730998443567804725969146659942093639688992767283473466345706159981933923127546303564289367808137408527264390396527785279445813594530311931612392247762959182773787069216206309625582415304748621338359578678093178815317182436559765610753824150256176469774621404665949302649835399802581888597887059185875673244634871228552870941301960383104484571992663420648747789122719047098715519071605771530636687147522847100092749759196976194512492759190479192200582224943508065776565882507580029248839312849569915145364608449272643137380921616497975538634543667060487482808337123657429241630610231700066028127 211320359142048646379820093908714639633215102769262040072556913293238051969047610633555030055913164095125585080729441398232971781401904206796783604670642612058711252092705235194396965844489867975580475427907921313729207797319125312605760957719159864910190546656416311994198242928122450934758766566097648249042783556321653188245971466827624853387582750396696060613867589169653961133287847257101825809075082288943732212384744308509021207365653599766156997627248777485023407060231589123566913216742116593723946845266132125602100276234925210608222837699522850382923282648772198755021482092082797522833957607871274291135655939674659312165878178448785869191132022151602085762880825785834925512648127037341785409643920575891431663861223022265304249179501283699475557918426633381587753545542901277208138696681314495794036639814882490950227908123279748615835943862503548453767720851379063715765618250265238819227471327553119414549228798989196738729189634946088541970102510527226160029735565555808087122135507829117296287697191191844381272278183922904639781359139185184175189384888522604096891880208773865221291314137471475735144091282362093730865199498011806159540942980257076720895582726892361455073644250979129673073668289318968404276314720813906437232031635869822203709553800379121869153053741274167702983976869419550600475378221411422787571333030929439059011466951919584540078544035666345498161201164170554451775395071589240876 341923523606669278433307412669134463098246532215654719087328765684268854886717832044480442792906965321974755775072690576688967090275669653767368304861266391794094570757138570268212709433857161322468809873058373049899505486004515915878121117085200836390422338965965965797746447849301137735200159332406461627787426598970966862719347211374790703869733833479680975607528930583088360521410511068994710966017470320342839757505192965909104424506983572976781356142145965811147921639740244911512987362154666181551406139759455649370553546363763400099886693834459633710059074569490658249904467091715784722671164286924633843441417279203455898024186427107695556936141514916586141638831711004159941326488579227942908557321553697309591435873102560190371905527059178512949087451505337742495050220243952559295491168157210242053379382464036458745958906566847553341805090522445642093456713618662537182111324410247172742355017631117408782357366207516461129125717420225534355564632822458838552277498524738581874191351714138742878703001939813182740850956277101719956963795698950794929013535144699073871513284874723167871126713940053364333031150468237766975500070726564677100842903363361561292888246147541109244196363298077845192145274060849605091423837567913999186991228612064334696468744279571322451377997249339944268866484449448799439788227791326568152179782303572576439933083449895123174622211096153828306498324821599796082385626771655269003 553243882748717924813127506577849102731461634984916759159885678977506906855765442678035472848820129417100340855802131974921938871677573860564151909531909003852805822849843805462609675278347029298049285300966294363628713283323641228483882074804360701300612885622382277791944690777423588669958925898504109876830210155292620050965318678202415557257316583876377036221396519752742321654698358326096536775092552609286571969889937274418125631872637172742938353769394743296171328699971834035079900578896782775275352985025587774972653822598688610708109531533982484092982357218262857004925949183798582245505121894795908134577073218878115210190064605556481426127273537068188227401712536789994866839136706265284693966965474273201023099734325582455676154706560462212424645369931971124082803765786853836503629864838524737847416022278918949696186814690127301957641034384949190547224434470041600897876942660512411561582488958670528196906595006505657867854907055171622897534735332986064712307234090294389961313487221967860174990699131005027122123234461024624596745154838135979104202920033221677968405165083497033092418028077524840068175241750599860706365270224576483260383846343618638013783828874433470699270007549056974865218942350168573495700152288727905624223260247934156900178298079950444320531050990614111971850461318868350040263606012737990939751115334502015498944550401814707714700755131820173804659525985770350534161021843244509879 895167406355387203246434919246983565829708167200571478247214444661775761742483274722515915641727094739075096630874822551610905961953243514331520214393175395646900393606982375730822384712204190620518095174024667413528218769328157144362003191889561537691035224588348243589691138626724726405159085230910571504617636754263586913684665889577206261127050417356058011828925450335830682176108869395091247741110022929629411727395130240327230056379620745719719709911540709107319250339712078946592887941051448956826759124785043424343207368962452010807996225368442117803041431787753515254830416275514366968176286181720541978018490498081571108214251032664176983063415051984774369040544247794154808165625285493227602524287027970510614535607428142646048060233619640725373732821437308866577853986030806395799121032995734979900795404742955408442145721256974855299446124907394832640681148088704138079988267070759584303937506589787936979263961214022118996980624475397157253099368155444903264584732615032971835504838936106603053693701070818209862974190738126344553708950537086774033216455177920751839918449958220200963544742017578204401206392218837627681865340951141160361226749706980199306672075021974579943466370847134820057364216411018178587123989856641904811214488859998491596647042359521766771909048239954056240716945768317149480051833804064559091930897638074591938877633851709830889322966227974002111157850807370146616546648614899778882 1448411289104105128059562425824832668561169802185488237407100123639282668598248717400551388490547224156175437486676954526532844833630817374895672123925084399499706216456826181193432059990551219918567380474990961777156932052651798372845885266693922238991648110210730521381635829404148315075118011129414681381447846909556206964649984567779621818384367001232435048050321970088573003830807227721187784516202575538915983697285067514745355688252257918462658063680935452403490579039683912981672788519948231732102112109810631199315861191561140621516105756902424601896023789006016372259756365459312949213681408076516450112595563716959686318404315638220658409190688589052962596442256784584149675004761991758512296491252502243711637635341753725101724214940180102937798378191369279990660657751817660232302750897834259717748211427021874358138332535947102157257087159292344023187905582558745738977865209731271995865519995548458465176170556220527776864835531530568780150634103488430967976891966705327361796818326158074463228684400201823236985097425199150969150454105375222753137419375211142429808323615041717234055962770095103044469381633969437488388230611175717643621610596050598837320455903896408050642736378396191794922583158761186752082824142145369810435437749107932648496825340439472211092440099230568168212567407087185499520315439816802550031682012972576607437822184253524538604023721359794175915817376793140497150707670458144288761 2343578695459492331305997345071816234390877969386059715654314568301058430340731992123067304132274318895250534117551777078143750795584060889227192338318259795146606610063808556924254444702755410539085475649015629190685150821979955517207888458583483776682683334799078764971326968030873041480277096360325252886065483663819793878334650457356828079511417418588493059879247420424403686006916097116279032257312598468545395424680197755072585744631878664182377773592476161510809829379395991928265676460999680688928871234595674623659068560523592632324101982270866719699065220793769887514586781734827316181857694258236992090614054215041257426618566670884835392254103641037736965482801032378304483170387277251739899015539530214222252170949181867747772275173799743663172111012806588857238511737848466628101871930829994697649006831764829766580478257204077012556533284199738855828586730647449877057853476802031580169457502138246402155434517434549895861816156005965937403733471643875871241476699320360333632323165094181066282378101272641446848071615937277313704163055912309527170635830389063181648242064999937435019507512112681248870588026188275116070095952126858803982837345757579036627127978918382630586202749243326614979947375172204930669948132002011715246652237967931140093472382798993977864349147470522224453284352855502649000367273620867109123612910610651199376699818105234369493346687587768178026975227600510643767254319073044067643 3791989984563597459365559770896648902952047771571547953061414691940341098938980709523618692622821543051425971604228731604676595629214878264122864462243344194646312826520634738117686504693306630457652856124006590967842082874631753890053773725277406015674331445009809286352962797435021356555395107489739934267513330573376000842984635025136449897895784419820928107929569390512976689837723324837466816773515174007461379121965265269817941432884136582645035837273411613914300408419079904909938464980947912421030983344406305822974929752084733253840207739173291321595089009799786259774343147194140265395539102334753442203209617932000943745022882309105493801444792230090699561925057816962454158175149269010252195506792032457933889806290935592849496490113979846600970489204175868847899169489666126860404622828664254415397218258786704124718810793151179169813620443492082879016492313206195616035718686533303576034977497686704867331605073655077672726651687536534717554367575132306839218368666025687695429141491252255529511062501474464683833169041136428282854617161287532280308055205600205611456565680041654669075470282207784293339969660157712604458326563302576447604447941808177873947583882814790681228939127639518409902530533933391682752772274147381525682089987075863788590297723238466188956789246701090392665851759942688148520682713437669659155294923583227806814522002358758908097370408947562353942792604393651140917961989531188356404 6135568680023089790671557115968465137342925740957607668715729260241399529279712701646685996755095861946676505721780508682820346424798939153350056800561603989792919436584443295041940949396062040996738331773022220158527233696611709407261662183860889792357014779808888051324289765465894398035672203850065187153578814237195794721319285482493277977407201838409421167808816810937380375844639421953745849030827772476006774546645463024890527177516015246827413610865887775425110237798475896838204141441947593109959854579001980446633998312608325886164309721444158041294154230593556147288929928928967581577396796592990434293823672147042201171641448979990329193698895871128436527407858849340758641345536546261992094522331562672156141977240117460597268765287779590264142600216982457705137681227514593488506494759494249113046225090551533891299289050355256182370153727691821734845079043853645493093572163335335156204434999824951269487039591089627568588467843542500654958101046776182710459845365346048029061464656346436595793440602747106130681240657073705596558780217199841807478691035989268793104807745041592104094977794320465542210557686345987720528422515429435251587285287565756910574711861733173311815141876882845024882477909105596613422720406149393240928742225043794928683770106037460166821138394171612617119136112798190797521049987058536768278907834193879006191221820463993277590717096535330531969767831994161784685216308604232424047 9927558664586687250037116886865114040294973512529155621777143952181740628218693411170304689377917404998102477326009240287496942054013817417472921262804948184439232263105078033159627454089368671454391187897028811126369316571243463297315435909138295808031346224818697337677252562900915754591067311339805121421092144810571795564303920507629727875302986258230349275738386201450357065682362746791212665804342946483468153668610728294708468610400151829472449448139299389339410646217555801748142606422895505530990837923408286269608928064693059140004517460617449362889243240393342407063273076123107846972935898927743876497033290079043144916664331289095822995143688101219136089332916666303212799520685815272244290029123595130090031783531053053446765255401759436865113089421158326553036850717180720348911117588158503528443443349338238016018099843506435352183774171183904613861571357059841109129290849868638732239412497511656136818644664744705241315119531079035372512468621908489549678214031371735724490606147598692125304503104221570814514409698210133879413397378487374087786746241589474404561373425083246773170448076528249835550527346503700324986749078732011699191733229373934784522295744547963993044081004522363434785008443038988296175492680296774766610832212119658717274067829275926355777927640872703009784987872740878946041732700496206427434202757777106813005743822822752185688087505482892885912560436387812925603178298135420780451 16063127344609777040708674002833579177637899253486763290492873212423140157498406112816990686133013266944778983047789748970317288478812756570822978063366552174232151699689521328201568403485430712451129519670051031284896550267855172704577098092999185600388361004627585389001542328366810152626739515189870308574670959047767590285623205990123005852710188096639770443547203012387737441527002168744958514835170718959474928215256191319598995787916167076299863059005187164764520884016031698586346747864843098640950692502410266716242926377301385026168827182061607404183397470986898554352203005052075428550332695520734310790856962226085346088305780269086152188842583972347572616740775515643971440866222361534236384551455157802246173760771170514044034020689539027129255689638140784258174531944695313837417612347652752641489668439889771907317388893861691534553927898875726348706650400913486602222863013203973888443847497336607406305684255834332809903587374621536027470569668684672260138059396717783753552070803945128721097943706968676945195650355283839475972177595687215895265437277578743197666181170124838877265425870848715377761085032849688045515171594161446950779018516939691695097007606281137304859222881405208459667486352144584909598213086446168007539574437163453645957837935313386522599066035044315626904123985539069743562782687554743195713110591970985819196965643286745463278804602018223417882328268381974710288394606739653204498 25990686009196464290745790889698693217932872766015918912270017164604880785717099523987295375510930671942881460373798989257814230532826573988295899326171500358671383962794599361361195857574799383905520707567079842411265866839098636001892534002137481408419707229446282726678794891267725907217806826529675429995763103858339385849927126497752733728013174354870119719285589213838094507209364915536171180639513665442943081883866919614307464398316318905772312507144486554103931530233587500334489354287738604171941530425818552985851854441994444166173344642679056767072640711380240961415476081175183275523268594448478187287890252305128491004970111558181975183986272073566708706073692181947184240386908176806480674580578752932336205544302223567490799276091298463994368779059299110811211382661876034186328729935811256169933111789228009923335488737368126886737702070059630962568221757973327711352153863072612620683259994848263543124328920579038051218706905700571399983038290593161809816273428089519478042676951543820846402446811190247759710060053493973355385574974174589983052183519168217602227554595208085650435873947376965213311612379353388370501920672893458649970751746313626479619303350829101297903303885927571894452494795183573205773705766742942774150406649283112363231905764589312878376993675917018636689111858279948689604515388050949623147313349748092632202709466109497648966892107501116303794888704769787635891572904875073984949 42053813353806241331454464892532272395570772019502682202762890377028020943215505636804286061643943938887660443421588738228131519011639330559118877389538052532903535662484120689562764261060230096356650227237130873696162417106953808706469632095136667008808068234073868115680337219634536059844546341719545738570434062906106976135550332487875739580723362451509890162832792226225831948736367084281129695474684384402418010099123110933906460186232485982072175566149673718868452414249619198920836102152581702812892222928228819702094780819295829192342171824740664171256038182367139515767679086227258704073601289969212498078747214531213837093275891827268127372828856045914281322814467697591155681253130538340717059132033910734582379305073394081534833296780837491123624468697439895069385914606571348023746342283464008811422780229117781830652877631229818421291629968935357311274872158886814313575016876276586509127107492184870949430013176413370861122294280322107427453607959277834069954332824807303231594747755488949567500390518158924704905710408777812831357752569861805878317620796746960799893735765332924527701299818225680591072697412203076416017092267054905600749770263253318174716310957110238602762526767332780354119981147328158115371918853189110781689981086446566009189743699902699400976059710961334263593235843819018433167298075605692818860423941719078451399675109396243112245696709519339721677216973151762346179967511614727189447 68044499363002705622200255782230965613503644785518601115032907541632901728932605160791581437154874610830541903795387727485945749544465904547414776715709552891574919625278720050923960118635029480262170934804210716107428283946052444708362166097274148417227775463520150842359132110902261967062353168249221168566197166764446361985477458985628473308736536806380009882118381440063926455945731999817300876114198049845361091982990030548213924584548804887844488073294160272972383944483206699255325456440320306984833753354047372687946635261290273358515516467419720938328678893747380477183155167402441979596869884417690685366637466836342328098246003385450102556815128119480990028888159879538339921640038715147197733712612663666918584849375617649025632572872135955117993247756739005880597297268447382210075072219275264981355892018345791753988366368597945308029332038994988273843093916860142024927170739349199129810367487033134492554342096992408912341001186022678827436646249870995879770606252896822709637424707032770413902837329349172464615770462271786186743327544036395861369804315915178402121290360541010178137173765602645804384309791556464786519012939948364250720522009566944654335614307939339900665830653260352248572475942511731321145624619932053555840387735729678372421649464492012279353053386878352900282347702098967122771813463656642442007737291467171083602384575505740761212588817020456025472105677921549982071540416489801174396 110098312716808946953654720674763238009074416805021283317795797918660922672148110797595867498798818549718202347216976465714077268556105235106533654105247605424478455287762840740486724379695259576618821162041341589803590701053006253414831798192410815426035843697594018958039469330536798026906899509968766907136631229670553338121027791473504212889459899257889900044951173666289758404682099084098430571588882434247779102082113141482120384770781290869916663639443833991840836358732825898176161558592902009797725976282276192390041416080586102550857688292160385109584717076114519992950834253629700683670471174386903183445384681367556165191521895212718229929643984165395271351702627577129495602893169253487914792844646574401500964154449011730560465869652973446241617716454178900949983211875018730233821414502739273792778672247463573584641243999827763729320962007930345585117966075746956338502187615625785638937474979218005441984355273405779773463295466344786254890254209148829949724939077704125941232172462521719981403227847508097169521480871049599018101080113898201739687425112662139202015026125873934705838473583828326395457007203759541202536105207003269851470292272820262829051925265049578503428357420593132602692457089839889436517543473121164337530368822176244381611393164394711680329113097839687163875583545917985555939111539262335260868161233186249535002059684901983873458285526539795747149322651073312328251507928104528363843 178142812079811652575854976456994203622578061590539884432828705460293824401080715958387448935953693160548744251012364193200023018100571139653948430820957158316053374913041560791410684498330289056880992096845552305911018984999058698123193964289684963843263619161114169800398601441439059993969252678217988075702828396434999700106505250459132686198196436064269909927069555106353684860627831083915731447703080484093140194065103172030334309355330095757761151712737994264813220303216032597431487015033222316782559729636323565077988051341876375909373204759580106047913395969861900470133989421032142663267341058804593868812022148203898493289767898598168332486459112284876261380590787456667835524533207968635112526557259238068419549003824629379586098442525109401359610964210917906830580509143466112443896486722014538774134564265809365338629610368425709037350294046925333858961059992607098363429358354974984768747842466251139934538697370398188685804296652367465082326900459019825829495545330600948650869597169554490395306065176857269634137251333321385204844407657934597601057229428577317604136316486414944883975647349430972199841316995316005989055118146951634102190814282387207483387539572988918404094188073853484851264933032351620757663168093053217893370756557905922754033042628886723959682166484718040064157931248016952678710925002918977702875898524653420618604444260407724634670874343560251772621428328994862310323048344594329538239 288241124796620599529509697131757441631652478395561167750624503378954747073228826755983316434752511710266946598229340658914100286656676374760482084926204763740531830200804401531897408878025548633499813258886893895714609686052064951538025762482095779269299462858708188758438070771975858020876152188186754982839459626105553038227533041932636899087656335322159809972020728772643443265309930168014162019291962918340919296147216313512454694126111386627677815352181828256654056661948858495607648573626124326580285705918599757468029467422462478460230893051740491157498113045976420463084823674661843346937812233191497052257406829571454658481289793810886562416103096450271532732293415033797331127426377222123027319401905812469920513158273641110146564312178082847601228680665096807780563721018484842677717901224753812566913236513272938923270854368253472766671256054855679444079026068354054701931545970600770407685317445469145376523052643803968459267592118712251337217154668168655779220484408305074592101769632076210376709293024365366803658732204370984222945487771832799340744654541239456806151342612288879589814120933259298595298324199075547191591223353954903953661106555207470312439464838038496907522545494446617453957390122191510194180711566174382230901125380082167135644435793281435640011279582557727228033514793934938234650036542181312963744059757839670153606503945309708508129159870100047519770750980068174638574556272698857902082 466383936876432252105364673588751645254230539986101052183453208839248571474309542714370765370706204870815690849241704852114123304757247514414430515747161922056585205113845962323308093376355837690380805355732446201625628671051123649661219726771780743112563082019822358558836672213414918014845404866404743058542288022540552738334038292391769585285852771386429719899090283878997128125937761251929893466995043402434059490212319485542789003481441482385438967064919822521467276965164891093039135588659346643362845435554923322546017518764338854369604097811320597205411509015838320933218813095693986010205153291996090921069428977775353151771057692409054894902562208735147794112884202490465166651959585190758139845959165050538340062162098270489732662754703192248960839644876014714611144230161950955121614387946768351341047800779082304261900464736679181804021550101781013303040086060961153065360904325575755176433159911720285311061750014202157145071888771079716419544055127188481608716029738906023242971366801630700772015358201222636437795983537692369427789895429767396941801883969816774410287659098703824473789768282690270795139641194391553180646341500906538055851920837594677795827004411027415311616733568300102305222323154543130951843879659227600124271881937988089889677478422168159599693446067275767292191446041951890913360961545100290666619958282493090772210948205717433142800034213660299292392179309063036948897604617293187440321 754625061673052851634874370720509086885883018381662219934077712218203318547538369470354081805458716581082637447471045511028223591413923889174912600673366685797117035314650363855205502254381386323880618614619340097340238357103188601199245489253876522381862544878530547317274742985390776035721557054591498041381747648646105776561571334324406484373509106708589529871111012651640571391247691419944055486287006320774978786359535799055243697607552869013116782417101650778121333627113749588646784162285470969943131141473523080014046986186801332829834990863061088362909622061814741396303636770355829357142965525187587973326835807346807810252347486219941457318665305185419326845177617524262497779385962412881167165361070863008260575320371911599879227066881275096562068325541111522391707951180435797799332289171522163907961037292355243185171319104932654570692806156636692747119112129315207767292450296176525584118477357189430687584802658006125604339480889791967756761209795357137387936514147211097835073136433706911148724651225588003241454715742063353650735383201600196282546538511056231216439001710992704063603889215949569390437965393467100372237564854861442009513027392802148108266469249065912219139279062746719759179713276734641146024591225401982355173007318070257025321914215449595239704725649833494520224960835886829148010998087281603630364018040332760925817452151027141650929194083760346812162930289131211587472160889992045342403 1221008998549485103740239044309260732140113558367763272117530921057451890021847912184724847176164921451898328296712750363142346896171171403589343116420528607853702240428496326178513595630737224014261423970351786298965867028154312250860465216025657265494425626898352905876111415198805694050566961920996241099924035671186658514895609626716176069659361878095019249770201296530637699517185452671873948953282049723209038276571855284598032701088994351398555749482021473299588610592278640681685919750944817613305976577028446402560064504951140187199439088674381685568321131077653062329522449866049815367348118817183678894396264785122160962023405178628996352221227513920567120958061820014727664431345547603639307011320235913546600637482470182089611889821584467345522907970417126237002852181342386752920946677118290515249008838071437547447071783841611836374714356258417706050159198190276360832653354621752280760551637268909715998646552672208282749411369660871684176305264922545618996652543886117121078044503235337611920740009426810639679250699279755723078525278631367593224348422480873005626726660809696528537393657498639840185577606587858653552883906355767980065364948230396825904093473660093327530756012631046822064402036431277772097868470884629582479444889256058346914999392637617754839398171717109261812416406877838720061371959632381894296983976322825851698028400356744574793729228297420646104555109598194248536369765507285232782724 1975634060222537955375113415029769819025996576749425492051608633275655208569386281655078928981623638032980965744183795874170570487585095292764255717093895293650819275743146690033719097885118610338142042584971126396306105385257500852059710705279533787876288171776883453193386158184196470086288518975587739141305783319832764291457180961040582554032870984803608779641312309182278270908433144091818004439569056043984017062931391083653276398696547220411672531899123124077709944219392390270332703913230288583249107718501969482574111491137941520029274079537442773931230753139467803725826086636405644724491084342371266867723100592468968772275752664848937809539892819105986447803239437538990162210731510016520474176681306776554861212802842093689491116888465742442084976295958237759394560132522822550720278966289812679156969875363792790632243102946544490945407162415054398797278310319591568599945804917928806344670114626099146686231355330214408353750850550663651933066474717902756384589058033328218913117639669044523069464660652398642920705415021819076729260661832967789506894960991929236843165662520689232600997546714589409576015571981325753925121471210629422074877975623198974012359942909159239749895291693793541823581749708012413243893062110031564834617896574128603940321306853067350079102897366942756332641367713725549209382957719663497927347994363158612623845852507771716444658422381180992916718039887325460123841926397277278125127 3196643058772023059115352459339030551166110135117188764169139554333107098591234193839803776157788559484879294040896546237312917383756266696353598833514423901504521516171643016212232693515855834352403466555322912695271972413411813102920175921305191053370713798675236359069497573383002164136855480896583980241229818991019422806352790587756758623692232862898628029411513605712915970425618596763691953392851105767193055339503246368251309099785541571810228281381144597377298554811671030952018623664175106196555084295530415885134175996089081707228713168211824459499551884217120866055348536502455460091839203159554945762119365377591129734299157843477934161761120333026553568761301257553717826642077057620159781188001542690101461850285312275779103006710050209787607884266375363996397412313865209303641225643408103194405978713435230338079314886788156327320121518673472104847437508509867929432599159539681087105221751895008862684877908002422691103162220211535336109371739640448375381241601919445339991162142904382134990204670079209282599956114301574799807785940464335382731243383472802242469892323330385761138391204213229249761593178569184407478005377566397402140242923853595799916453416569252567280651304324840363887983786139290185341761532994661147314062785830186950855320699490685104918501069084052018145057774591564269270754917352045392224331970685984464321874252864516291238387650678601639021273149485519708660211691904562510907851 5172277118994561014490465874368800370192106711866614256220748187608762307160620475494882705139412197517860259785080342111483487871341361989117854550608319195155340791914789706245951791400974444690545509140294039091578077798669313954979886626584724841247001970452119812262883731567198634223143999872171719382535602310852187097809971548797341177725103847702236809052825914895194241334051740855509957832420161811177072402434637451904585498482088792221900813280267721455008499031063421222351327577405394779804192014032385367708287487227023227257987247749267233430782637356588669781174623138861104816330287501926212629842465970060098506574910508326871971301013152132540016564540695092707988852808567636680255364682849466656323063088154369468594123598515952229692860562333601755791972446388031854361504609697915873562948588799023128711557989734700818265528681088526503644715818829459498032544964457609893449891866521108009371109263332637099456913070762198988042438214358351131765830659952773558904279782573426658059669330731607925520661529323393876537046602297303172238138344464731479313057985851074993739388750927818659337608750550510161403126848777026824215120899476794773928813359478411807030546596018633905711565535847302598585654595104692712148680682404315554795642006343752454997603966450994774477699142305289818480137875071708890151679965049143076945720105372288007683046073059782631937991189372845168784053618301839789032978 8368920177766584073605818333707830921358216846983803020389887741941869405751854669334686481297200757002739553825976888348796405255097628685471453384122743096659862308086432722458184484916830279042948975695616951786850050212081127057900062547889915894617715769127356171332381304950200798359999480768755699623765421301871609904162762136554099801417336710600864838464339520608110211759670337619201911225271267578370127741937883820155894598267630364032129094661412318832307053842734452174369951241580500976359276309562801252842463483316104934486700415961091692930334521573709535836523159641316564908169490661481158391961831347651228240874068351804806133062133485159093585325841952646425815494885625256840036552684392156757784913373466645247697130308566162017300744828708965752189384760253241158002730253106019067968927302234253466790872876522857145585650199761998608492153327339327427465144123997290980555113618416116872055987171335059790560075290973734324151809953998799507147072261872218898895441925477808793049874000810817208120617643624968676344832542761638554969381727937533721782950309181460754877779955141047909099201929119694568881132226343424226355363823330390573845266776047664374311197900343474269599549321986592783927416128099353859462743468234502505650962705834437559916105035535046792622756916896854087750892792423754282376011935735127541267594358236804298921433723738384270959264338858364877444265310206402299940829 13541197296761145088096284208076631291550323558850417276610635929550631712912475144829569186436612954520599813611057230460279893126438990674589307934731062291815203100001222428704136276317804723733494484835910990878428128010750441012879949174474640735864717739579475983595265036517399432583143480640927419006301023612723797001972733685351440979142440558303101647517165435503304453093722078474711869057691429389547200144372521272060480096749719156254029907941680040287315552873797873396721278818985895756163468323595186620550750970543128161744687663710358926361117158930298205617697782780177669724499778163407371021804297317711326747448978860131678104363146637291633601890382647739133804347694192893520291917367241623414107976461621014716291253907082114246993605391042567507981357206641273012364234862803934941531875891033276595502430866257557963851178880850525112136869146168786925497689088454900874005005484937224881427096434667696890016988361735933312194248168357150638912902921824992457799721708051235451109543331542425133641279172948362552881879145058941727207520072402265201096008295032535748617168706068866568436810679670204730284259075120451050570484722807185347774080135526076181341744496362108175311114857833895382513070723204046571611424150638818060446604712178190014913709001986041567100456059202143906231030667495463172527691900784270618213314463609092306604479796798166902897255528231210046228318928508242088973807 21910117474527729161702102541784462212908540405834220297000523671492501118664329814164255667733813711523339367437034118809076298381536619360060761318853805388475065408087655151162320761234635002776443460531527942665278178222831568070780011722364556630482433508706832154927646341467600230943142961409683118630066444914595406906135495821905540780559777268903966485981504956111414664853392416093913780282962696967917327886310405092216374695017349520286159002603092359119622606716532325571091230060566396732522744633157987873393214453859233096231388079671450619291451680504007741454220942421494234632669268824888529413766128665362554988323047211936484237425280122450727187216224600385559619842579818150360328470051633780171892889835087659963988384215648276264294350219751533260170741966894514170366965115909954009500803193267530062293303742780415109436829080612523720629022473508114352962833212452191854560119103353341753483083606002756680577063652709667636346058122355950146059975183697211356695163633529044244159417332353242341761896816573331229226711687820580282176901800339798922878958604213996503494948661209914477536012608789899299165391301463875276925848546137575921619346911573740555652942396705582444910664179820488166440486851303400431074167618873320566097567418012627574829814037521088359723212976098997993981923459919217454903703836519398159480908821845896605525913520536551173856519867089574923672584238714644388914636 35451314771288874249798386749861093504458863964684637573611159601043132831576804958993824854170426666043939181048091349269356191507975610034650069253584867680290268508088877579866457037552439726509937945367438933543706306233582009083659960896839197366347151248286308138522911377984999663526286442050610537636367468527319203908108229507256981759702217827207068133498670391614719117947114494568625649340654126357464528030682926364276854791767068676540188910544772399406938159590330198967812508879552292488686212956753174493943965424402361257976075743381809545652568839434305947071918725201671904357169046988295900435570425983073881735772026072068162341788426759742360789106607248124693424190274011043880620387418875403586000866296708674680279638122730390511287955610794100768152099173535787182731199978713888951032679084300806657795734609037973073288007961463048832765891619676901278460522300907092728565124588290566634910180040670453570594052014445600948540306290713100784972878105522203814494885341580279695268960663895667475403175989521693782108590832879522009384421872742064123974966899246532252112117367278781045972823288460104029449650376584326327496333268944761269393427047099816736994686893067690620221779037654383548953557574507447002685591769512138626544172130190817589743523039507129926823669035301141900212954127414680627431395737303668777694223285454988912130393317334718076753775395320784969900903167222886477888443 57361432245816603411500489291645555717367404370518857870611683272535633950241134773158080521904240377567278548485125468078432489889512229394710830572438673068765333916176532731028777798787074729286381405898966876208984484456413577154439972619203753996829584756993140293450557719452599894469429403460293656266433913441914610814243725329162522540261995096111034619480175347726133782800506910662539429623616823325381855916993331456493229486784418196826347913147864758526560766306862524538903738940118689221208957589911162367337179878261594354207463823053260164944020519938313688526139667623166138989838315813184429849336554648436436724095073284004646579213706882193087976322831848510253044032853829194240948857470509183757893756131796334644268022338378666775582305830545634028322841140430301353098165094623842960533482277568336720089038351818388182724837042075572553394914093185015631423355513359284583125243691643908388393263646673210251171115667155268584886364413069050931032853289219415171190048975109323939428377996248909817165072806095025011335302520700102291561323673081863046853925503460528755607066028488695523508835897250003328615041678048201604422181815082337191012773958673557292647629289773273065132443217474871715394044425810847433759759388385459192641739548203445164573337077028218286546882011400139894194877587333898082335099573823066937175132107300885517656306837871269250610295262410359893573487405937530866803079 92812747017105477661298876041506649221826268335203495444222842873578766781817939732151905376074667043611217729533216817347788681397487839429360899826023540749055602424265410310895234836339514455796319351266405809752690790689995586238099933516042951363176736005279448431973469097437599557995715845510904193902801381969233814722351954836419504299964212923318102752978845739340852900747621405231165078964270949682846383947676257820770084278551486873366536823692637157933498925897192723506716247819670981709895170546664336861281145302663955612183539566435069710596589359372619635598058392824838043347007362801480330284906980631510318459867099356072808921002133641935448765429439096634946468223127840238121569244889384587343894622428505009324547660461109057286870261441339734796474940313966088535829365073337731911566161361869143377884772960856361256012845003538621386160805712861916909883877814266377311690368279934475023303443687343663821765167681600869533426670703782151716005731394741618985684934316689603634697338660144577292568248795616718793443893353579624300945745545823927170828892402707061007719183395767476569481659185710107358064692054632527931918515084027098460406201005773374029642316182840963685354222255129255264347602000318294436445351157897597819185911678394262754316860116535348213370551046701281794407831714748578709766495311126735714869355392755874429786700155205987327364070657731144863474390573160417344691522 150174179262922081072799365333152204939193672705722353314834526146114400732059074505309985897978907421178496278018342285426221171287000068824071730398462213817820936340441943041924012635126589185082700757165372685961675275146409163392539906135246705360006320762272588725424026816890199452465145248971197850169235295411148425536595680165582026840226208019429137372459021087066986683548128315893704508587887773008228239864669589277263313765335905070192884736840501916460059692204055248045619986759789670931104128136575499228618325180925549966391003389488329875540609879310933324124198060448004182336845678614664760134243535279946755183962172640077455500215840524128536741752270945145199512255981669432362518102359893771101788378560301343968815682799487724062452567271885368824797781454396389888927530167961574872099643639437480097973811312674749438737682045614193939555719806046932541307233327625661894815611971578383411696707334016874072936283348756138118313035116851202647038584683961034156874983291798927574125716656393487109733321601711743804779195874279726592507069218905790217682817906167589763326249424256172092990495082960110686679733732680729536340696899109435651418974964446931322289945472614236750486665472604126979741646426129141870205110546283057011827651226597707918890197193563566499917433058101421688602709302082476792101594884949802652044487500056759947443006993077256577974365920141504757047877979097948211494601 242986926280027558734098241374658854161019941040925848759057369019693167513877014237461891274053574464789714007551559102774009852684487908253432630224485754566876538764707353352819247471466103640879020108431778495714366065836404749630639839651289656723183056767552037157397495914327799010460861094482102044072036677380382240258947635002001531140190420942747240125437866826407839584295749721124869587552158722691074623812345847098033398043887391943559421560533139074393558618101247971552336234579460652640999298683239836089899470483589505578574542955923399586137199238683552959722256453272842225683853041416145090419150515911457073643829271996150264421217974166063985507181710041780145980479109509670484087347249278358445683000988806353293363343260596781349322828713225103621272721768362478424756895241299306783665805001306623475858584273531110694750527049152815325716525518908849451191111141892039206505980251512858435000151021360537894701451030357007651739705820633354363044316078702653142559917608488531208823055316538064402301570397328462598223089227859350893452814764729717388511710308874650771045432820023648662472154268670218044744425787313257468259211983136534111825175970220305351932261655455200435840887727733382244089248426447436306650461704180654831013562904991970673207057310098914713287984104802703483010541016831055501868090196076538366913842892812634377229707148283243905338436577872649620522268552258365556186123 393161105542949639806897606707811059100213613746648202073891895165807568245936088742771877172032481885968210285569901388200231023971487977077504360622947968384697475105149296394743260106592692825961720865597151181676041340982813913023179745786536362083189377529824625882821522731217998462926006343453299894241271972791530665795543315167583557980416628962176377497896887913474826267843878037018574096140046495699302863677015436375296711809223297013752306297373640990853618310305303219597956221339250323572103426819815335318517795664515055544965546345411729461677809117994486283846454513720846408020698720030809850553394051191403828827791444636227719921433814690192522248933980986925345492735091179102846605449609172129547471379549107697262179026060084505411775395985110472446070503222758868313684425409260881655765448640744103573832395586205860133488209094767009265272245324955781992498344469517701101321592223091241846696858355377411967637734379113145770052740937484557010082900762663687299434900900287458782948771972931551512034891999040206403002285102139077485959883983635507606194528215042240534371682244279820755462649351630328731424159519993987004599908882245969763244150934667236674222207128069437186327553200337509223830894852576578176855572250463711842841214131589678592097254503662481213205417162904125171613250318913532293969685081026341018958330392869394324672714141360500483312802498014154377570146531356313767680724 636148031822977198540995848082469913261233554787574050832949264185500735759813102980233768446086056350757924293121460490974240876655975885330936990847433722951574013869856649747562507578058796466840740974028929677390407406819218662653819585437826018806372434297376663040219018645545797473386867437935401938313308650171912906054490950169585089120607049904923617623334754739882665852139627758143443683692205218390377487489361283473330109853110688957311727857906780065247176928406551191150292455918710976213102725503055171408417266148104561123540089301335129047815008356678039243568710966993688633704551761446954940972544567102860902471620716632377984342651788856256507756115691028705491473214200688773330692796858450487993154380537914050555542369320681286761098224698335576067343224991121346738441320650560188439431253642050727049690979859736970828238736143919824590988770843864631443689455611409740307827572474604100281697009376737949862339185409470153421792446758117911373127216841366340441994818508775989991771827289469615914336462396368669001225374329998428379412698748365224994706238523916891305417115064303469417934803620300546776168585307307244472859120865382503875069326904887542026154468783524637622168440928070891467920143279024014483506033954644366673854777036581649265304311813761395926493401267706828654623791335744587795837775277102879385872173285682028701902421289643744388651239075886803998092415083614679323866847 1029309137365926838347893454790280972361447168534222252906841159351308304005749191723005645618118538236726134578691361879174471900627463862408441351470381691336271488975005946142305767684651489292802461839626080859066448747802032575676999331224362380889561811827201288923040541376763795936312873781388701832554580622963443571850034265337168647101023678867099995121231642653357492119983505795162017779832251714089680351166376719848626821662333985971064034155280421056100795238711854410748248677257961299785206152322870506726935061812619616668505635646746858509492817474672525527415165480714535041725250481477764791525938618294264731299412161268605704264085603546449030005049672015630836965949291867876177298246467622617540625760087021747817721395380765792172873620683446048513413728213880215052125746059821070095196702282794830623523375445942830961726945238686833856261016168820413436187800080927441409149164697695342128393867732115361829976919788583299191845187695602468383210117604030027741429719409063448774720599262401167426371354395408875404227659432137505865372582732000732600900766738959131839788797308583290173397452971930875507592744827301231477459029747628473638313477839554778700376675911594074808495994128408400691751038131600592660361606205108078516695991168171327857401566317423877139698818430610953826237041654658120089807460358129220404830503678551423026575135431004244871964041573900958375662561614970993091547571 1665457169188904036888889302872750885622680723321796303739790423536809039765562294703239414064204594587484058871812822370148712777283439747739378342317815414287845502844862595889868275262710285759643202813655010536456856154621251238330818916662188399695934246124577951963259560022309593409699741219324103770867889273135356477904525215506753736221630728772023612744566397393240157972123133553305461463524456932480057838655738003321956931515444674928375762013187201121347972167118405601898541133176672275998308877825925678135352327960724177792045724948081987557307825831350564770983876447708223675429802242924719732498483185397125633771032877900983688606737392402705537761165363044336328439163492556649507991043326073105533780140624935798373263764701447078933971845381781624580756953205001561790567066710381258534627955924845557673214355305679801789965681382606658447249787012685044879877255692337181716976737172299442410090877108853311692316105198053452613637634453720379756337334445396368183424537917839438766492426551870783340707816791777544405453033762135934244785281480365957595607005262876023145205912372886759591332256592231422283761330134608475950318150613010977513382804744442320726531144695118712430664435056479292159671181410624607143867640159752445190550768204752977122705878131185273066192219698317782480860832990402707885645235635232099790702676964233451728477556720647989260615280649787762373754976698585672415414418 2694766306554830875236782757663031857984127891856018556646631582888117343771311486426245059682323132824210193450504184249323184677910903610147819693788197105624116991819868542032174042947361775052445664653281091395523304902423283814007818247886550780585496057951779240886300101399073389346012615000712805603422469896098800049754559480843922383322654407639123607865798040046597650092106639348467479243356708646569738189822114723170583753177778660899439796168467622177448767405830260012646789810434633575783515030148796184862287389773343794460551360594828846066800643306023090298399041928422758717155052724402484524024421803691390365070445039169589392870822995949154567766215035059967165405112784424525685289289793695723074405900711957546190985160082212871106845466065227673094170681418881776842692812770202328629824658207640388296737730751622632751692626621293492303510803181505458316065055773264623126125901869994784538484744840968673522293024986636751805482822149322848139547452049426395924854257326902887541213025814271950767079171187186419809680693194273440110157864212366690196507772001835154984994709681470049764729709564162297791354074961909707427777180360639451151696282583997099426907820606712787239160429184887692851422219542225199804229246364860523707246759372924304980107444448609150205891038128928736307097874645060827975452695993361320195533180642784874755052692151652234132579322223688720749417538313556665506961989 4360223475743734912125672060535782743606808615177814860386422006424926383536873781129484473746527727411694252322317006619471897455194343357887198036106012519911962494664731137922042318210072060812088867466936101931980161057044535052338637164548739180281430304076357192849559661421382982755712356220036909374290359169234156527659084696350676119544285136411147220610364437439837808064229772901772940706881165579049796028477852726492540684693223335827815558181654823298796739572948665614545330943611305851781823907974721862997639717734067972252597085542910833624108469137373655069382918376130982392584854967327204256522904989088515998841477917070573081477560388351860105527380398104303493844276276981175193280333119768828608186041336893344564248924783659950040817311447009297674927634623883338633259879480583587164452614132485945969952086057302434541658308003900150750760590194190503195942311465601804843102639042294226948575621949821985214609130184690204419120456603043227895884786494822764108278795244742326307705452366142734107786987978963964215133726956409374354943145692732647792114777264711178130200622054356809356061966156393720075115405096518183378095330973650428665079087328439420153438965301831499669824864241366985011093400952849806948096886524612968897797527577677282102813322579794423272083257827246518787958707635463535861097931628593419986235857607018326483530248872300223393194602873476483123172515012142337922376407 7054989782298565787362454818198814601590936507033833417033053589313043727308185267555729533428850860235904445772821190868795082133105246968035017729894209625536079486484599679954216361157433835864534532120217193327503465959467818866346455412435289960866926362028136433735859762820456372101724971220749714977712829065332956577413644177194598502866939544050270828476162477486435458156336412250240419950237874225619534218299967449663124437871001996727255354350122445476245506978778925627192120754045939427565338938123518047859927107507411766713148446137739679690909112443396745367781960304553741109739907691729688780547326792779906363911922956240162474348383384301014673293595433164270659249389061405700878569622913464551682591942048850890755234084865872821147662777512236970769098316042765115475952692250785915794277272340126334266689816808925067293350934625193643054271393375695961512007367238866427969228540912289011487060366790790658736902155171326956224603278752366076035432238544249160033133052571645213848918478180414684874866159166150384024814420150682814465101009905099337988622549266546333115195331735826859120791675720556017866469480058427890805872511334289879816775369912436519580346785908544286908985293426254677862515620495075006752326132889473492605044286950601587082920767028403573477974295956175255095056582280524363836550627621954740181769038249803201238582941023952457525773925097165203872590053325699003429338396 11415213258042300699488126878734597345197745122211648277419475595737970110845059048685214007175378587647598698095138197488266979588299590325922215766000222145448041981149330817876258679367505896676623399587153295259483627016512353918685092576984029141148356666104493626585419424241839354857437327440786624352003188234567113105072728873545274622411224680461418049086526914926273266220566185152013360657119039804669330246777820176155665122564225332555070912531777268775042246551727591241737451697657245279347162846098239910857566825241479738965745531680650513315017581580770400437164878680684723502324762659056893037070231781868422362753400873310735555825943772652874778820975831268574153093665338386876071849956033233380290777983385744235319483009649532771188480088959246268444025950666648454109212571731369502958729886472612280236641902866227501835009242629093793805031983569886464707949678704468232812331179954583238435635988740612643951511285356017160643723735355409303931317025039071924141411847816387540156623930546557418982653147145114348239948147107092188820044155597831985780737326531257511245395953790183668476853641876949737941584885154946074183967842307940308481854457240875939733785751210375786578810157667621662873609021447924813700423019414086461502841814528278869185734089608197996750057553783421773883015289915987899697648559250548160168004895856821527722113189896252680918968527970641686995762568337841341351714803 18470203040340866486850581696933411946788681629245481694452529185051013838153244316240943540604229447883503143867959388357062061721404837293957233495894431770984121467633930497830475040524939732541157931707370488586987092975980172785031547989419319102015283028132630060321279187062295726959162298661536339329716017299900069682486373050739873125278164224511688877562689392412708724376902597402253780607356914030288864465077787625818789560435227329282326266881899714251287753530506516868929572451703184706912501784221757958717493932748891505678893977818390193005926694024167145804946838985238464612064670350786581817617558574648328726665323829550898030174327156953889452114571264432844812343054399792576950419578946697931973369925434595126074717094515405592336142866471483239213124266709413569585165263982155418753007158812738614503331719675152569128360177254287436859303376945582426219957045943334660781559720866872249922696355531403302688413440527344116868327014107775379966749263583321084174544900388032754005542408726972103857519306311264732264762567257775003285145165502931323769359875797803844360591285526010527597645317597505755808054365213373964989840353642230188298629827153312459314132537118920073487795451093876340736124641942999820452749152303559954107886101478880456268654856636601570228031849739597028978071872196512263534199186872502900349773934106624728960696130920205138444742453067806890868352621663540344781053199 29885416298383167186338708575668009291986426751457129971872004780788983948998303364926157547779608035531101841963097585845329041309704427619879449261894653916432163448783261315706733719892445629217781331294523783846470719992492526703716640566403348243163639694237123686906698611304135081816599626102322963681719205534467182787559101924285147747689388904973106926649216307338981990597468782554267141264475953834958194711855607801974454682999452661837397179413676983026330000082234108110667024149360429986259664630319997869575060757990371244644639509499040706320944275604937546242111717665923188114389433009843474854687790356516751089418724702861633586000270929606764230935547095701418965436719738179453022269534979931312264147908820339361394200104164938363524622955430729507657150217376062023694377835713524921711737045285350894739973622541380070963369419883381230664335360515468890927906724647802893593890900821455488358332344272015946639924725883361277512050749463184683898066288622393008315956748204420294162166339273529522840172453456379080504710714364867192105189321100763309550097202329061355605987239316194196074498959474455493749639250368320039173808195950170496780484284394188399047918288329295860066605608761498003609733663390924634153172171717646415610727916007159325454388946244799566978089403523018802861087162112500163231847746123051060517778829963446256682809320816457819363710981038448577864115190001381686132768002 48355619338724033673189290272601421238775108380702611666324533965839997787151547681167101088383837483414604985831056974202391103031109264913836682757789085687416284916417191813537208760417385361758939263001894272433457812968472699488748188555822667345178922722369753747227977798366430808775761924763859303011435222834367252470045474975025020872967553129484795804211905699751690714974371379956520921871832867865247059176933395427793244243434679991119723446295576697277617753612740624979596596601063614693172166414541755828292554690739262750323533487317430899326870969629104692047058556651161652726454103360630056672305348931165079816084048532412531616174598086560653683050118360134263777779774137972029972689113926629244237517834254934487468917198680343955860765821902212746870274484085475593279543099695680340464744204098089509243305342216532640091729597137668667523638737461051317147863770591137554375450621688327738281028699803419249328338166410705394380377763570960063864815552205714092490501648592453048167708748000501626697691759767643812769473281622642195390334486603694633319457078126865199966578524842204723672144277071961249557693615581694004163648549592400685079114111547500858362050825448215933554401059855374344345858305333924454605921324021206369718614017486039781723043802881401137206121253262615831839159034309012426766046932995553960867552764070070985643505451736662957808453434106255468732467811664922030913821201 78241035637107200859527998848269430530761535132159741638196538746628981736149851046093258636163445518945706827794154560047720144340813692533716132019683739603848448365200453129243942480309830990976720594296418056279928532960965226192464829122226015588342562416606877434134676409670565890592361550866182266693154428368834435257604576899310168620656942034457902730861122007090672705571840162510788063136308821700205253888789003229767698926434132652957120625709253680303947753694974733090263620750424044679431831044861753697867615448729633994968172996816471605647815245234042238289170274317084840840843536370473531526993139287681830905502773235274165202174869016167417913985665455835682743216493876151482994958648906560556501665743075273848863117302845282319385388777332942254527424701461537616973920935409205262176481249383440403983278964757912711055099017021049898187974097976520208075770495238940447969341522509783226639361044075435195968262892294066671892428513034144747762881840828107100806458396796873342329875087274031149537864213224022893274183995987509387495523807704457942869554280455926555572565764158398919746643236546416743307332865950014043337456745542571181859598395941689257409969113777511793621006668616872347955591968724849088759093495738852785329341933493199107177432749126200704184210656785634634700246196421512589997894679118605021385331594033517242326314772553120777172164415144704046596583001666303717046589203 126596654975831234532717289120870851769536643512862353304521072712468979523301398727260359724547283002360311813625211534250111247371922957447552814777472825291264733281617644942781151240727216352735659857298312328713386345929437925681213017678048682933521485138976631181362654208036996699368123475630041569704589651203201687727650051874335189493624495163942698535073027706842363420546211542467308985008141689565452313065722398657560943169868812644076844072004830377581565507307715358069860217351487659372603997459403509526160170139468896745291706484133902504974686214863146930336228830968246493567297639731103588199298488218846910721586821767686696818349467102728071597035783815969946520996268014123512967647762833189800739183577330208336332034501525626275246154599235155001397699185547013210253464035104885602641225453481529913226584306974445351146828614158718565711612835437571525223634265830078002344792144198110964920389743878854445296601058704772066272806276605104811627697393033821193296960045389326390497583835274532776235555972991666706043657277610151582885858294308152576189011358582791755539144289000603643418787513618377992865026481531708047501105295134971866938712507489190115772019939225727727175407728472246692301450274058773543365014819760059155047955950979238888900476552007601841390331910048250466539405230730525016763941612114158982252884358103588227969820224289783734980617849250959515329050813331225747960410404 204837690612938435392245287969140282300298178645022094942717611459097961259451249773353618360710728521306018641419366094297831391712736649981268946797156564895113181646818098072025093721037047343712380451594730384993314878890403151873677846800274698521864047555583508615497330617707562589960485026496223836397744079572036122985254628773645358114281437198400601265934149713933036126118051704978097048144450511265657566954511401887328642096302945297033964697714084057885513261002690091160123838101911704052035828504265263224027785588198530740259879480950374110622501460097189168625399105285331334408141176101577119726291627506528741627089595002960862020524336118895489511021449271805629264212761890274995962606411739750357240849320405482185195151804370908594631543376568097255925123887008550827227384970514090864817706702864970317209863271732358062201927631179768463899586933414091733299404761069018450314133666707894191559750787954289641264863950998838738165234789639249559390579233861928294103418442186199732827458922548563925773420186215689599317841273597660970381382102012610519058565639038718311111710053159002563165430750164794736172359347481722090838562040677543048798310903430879373181989053003239520796414397089119040257042242783622632124108315498911940377297884472437996077909301133802545574542566833885101239651427152037606761836291232764003638215952137105470296134996842904512152782264395663561925633814997529465006999607 331434345588769669924962577090011134069834822157884448247238684171566940782752648500613978085258011523666330455044577628547942639084659607428821761574629390186377914928435743014806244961764263696448040308893042713706701224819841077554890864478323381455385532694560139796859984825744559289328608502126265406102333730775237810712904680647980547607905932362343299801007177420775399546664263247445406033152592200831109880020233800544889585266171757941110808769718914435467078768310405449229984055453399363424639825963668772750187955727667427485551585965084276615597187674960336098961627936253577827975438815832680707925590115725375652348676416770647558838873803221623561108057233087775575785209029904398508930254174572940157980032897735690521527186305896534869877697975803252257322823072555564037480849005618976467458932156346500230436447578706803413348756245338487029611199768851663258523039026899096452658925810906005156480140531833144086561465009703610804438041066244354371018276626895749487400378487575526123325042757823096702008976159207356305361498551207812553267240396320763095247576997621510066650854342159606206584218263783172729037385829013430138339667335812514915737023410920069488954008992228967247971822125561365732558492516842396175489123135258971095425253835451676884978385853141404386964874476882135567779056657882562623525777903346922985891100310240693698265955221132688247133400113646623077254684628328755212967410011 536272036201708105317207865059151416370133000802906543189956295630664902042203898273967596445968740044972349096463943722845774030797396257410090708371785955081491096575253841086831338682801311040160420760487773098700016103710244229428568711278598079977249580250143648412357315443452121879289093528622489242500077810347273933698159309421625905722187369560743901066941327134708435672782314952423503081297042712096767446974745202432218227362474703238144773467432998493352592029313095540390107893555311067476675654467934035974215741315865958225811465446034650726219689135057525267587027041538909162383579991934257827651881743231904393975766011773608420859398139340519050619078682359581205049421791794673504892860586312690515220882218141172706722338110267443464509241352371349513247946959564114864708233976133067332276638859211470547646310850439161475550683876518255493510786702265754991822443787968114902973059477613899348039891319787433727826328960702449542603275855883603930408855860757677781503796929761725856152501680371660627782396345423045904679339824805473523648622498333373614306142636660228377762564395318608769749649013947967465209745176495152229178229376490057964535334314350948862135998045232206768768236522650484772815534759626018807613231450757883035802551719924114881056295154275206932539417043716020669018708085034600230287614194579686989529316262377799168562090217975592759286182378042286639180318443326284677974409618 867706381790477775242170442149162550439967822960790991437194979802231842824956546774581574531226751568638679551508521351393716669882055864838912469946415345267869011503689584101637583644565574736608461069380815812406717328530085306983459575756921461432635112944703788209217300269196681168617702030748754648602411541122511744411063990069606453330093301923087200867948504555483835219446578199868909114449634912927877326994979002977107812628646461179255582237151912928819670797623500989620091949008710430901315480431602808724403697043533385711363051411118927341816876810017861366548654977792486990359018807766938535577471858957280046324442428544255979698271942562142611727135915447356780834630821699072013823114760885630673200915115876863228249524416163978334386939328174601770570770032119678902189082981752043799735571015557970778082758429145964888899440121856742523121986471117418250345482814867211355631985288519904504520031851620577814387793970406060347041316922127958301427132487653427268904175417337251979477544438194757329791372504630402210040838376013286076915862894654136709553719634281738444413418737478214976333867277731140194247131005508582367517896712302572880272357725271018351090007037461174016740058648211850505374027276468414983102354586016854131227805555375791766034681007416611319504291520598156236797764742917162853813392097926609975420416572618492866828045439108281006419582491688909716435003071655039890941819629 1403978417992185880559378307208313966810100823763697534627151275432896744867160445048549170977195491613611028647972465074239490700679452122249003178318201300349360108078943425188468922327366885776768881829868588911106733432240329536412028287035519541409884693194847436621574615712648803047906795559371243891102489351469785678109223299491232359052280671483831101934889831690192270892228893152292412195746677625024644773969724205409326039991121164417400355704584911422172262826936596530010199842564021498377991134899536844698619438359399343937174516857153578068036565945075386634135682019331396152742598799701196363229353602189184440300208440317864400557670081902661662346214597806937985884052613493745518715975347198321188421797334018035934971862526431421798896180680545951283818716991683793766897316957885111132012209874769441325729069279585126364450123998374998016632773173383173242167926602835326258605044766133803852559923171408011542214122931108509889644592778011562231835988348411105050407972347098977835630046118566417957573768850053448114720178200818759600564485392987510323859862270941966822175983132796823746083516291679107659456876182003734596696126088792630844807692039621967213226005082693380785508295170862335278189562036094433790715586036774737167030357275299906647090976161691818252043708564314176905816472827951763084101006292506296964949732834996292035390135657083873765705764869731196355615321514981324568916229247 2271684799782663655801548749357476517250068646724488526064346255235128587692116991823130745508422243182249708199480986425633207370561507987087915648264616645617229119582633009290106505971932460513377342899249404723513450760770414843395487862792441002842519806139551224830791915981845484216524497590119998539704900892592297422520287289560838812382373973406918302802838336245676106111675471352161321310196312537952522100964703208386433852619767625596655937941736824350991933624560097519630291791572731929279306615331139653423023135402932729648537568268272505409853442755093248000684336997123883143101617607468134898806825461146464486624650868862120380255942024464804274073350513254294766718683435192817532539090108083951861622712449894899163221386942595400133283120008720553054389487023803472669086399939637154931747780890327412103811827708731091253349564120231740539754759644500591492513409417702537614237030054653708357079955023028589356601916901514570236685909700139520533263120836064532319312147764436229815107590556761175287365141354683850324761016576832045677480348287641647033413581905223705266589401870275038722417383569410247853704007187512316964214022801095203725080049764892985564316012120154554802248353819074185783563589312562848773817940622791591298258162830675698413125657169108429571548000084912333142614237570868925937914398390432906940370149407614784902218181096192154772125347361420106072050324586636364459858048876 3675663217774849536360927056565790484060169470488186060691497530668025332559277436871679916485617734795860736847453451499872698071240960109336918826582817945966589227661576434478575428299299346290146224729117993634620184193010744379807516149827960544252404499334398661452366531694494287264431293149491242430807390244062083100629510589052071171434654644890749404737728167935868377003904364504453733505942990162977166874934427413795759892610888790014056293646321735773164196451496694049640491634136753427657297750230676498121642573762332073585712085125426083477890008700168634634820019016455279295844216407169331262036179063335648926924859309179984780813612106367465936419565111061232752602736048686563051255065455282273050044509783912935098193249469026821932179300689266504338208204015487266435983716897522266063759990765096853429540896988316217617799688118606738556387532817883764734681336020537863872842074820787512209639878194436600898816039832623080126330502478151082765099109184475637369720120111535207650737636675327593244938910204737298439481194777650805278044833680629157357273444176165672088765385003071862468500899861089355513160883369516051560910148889887834569887741804514952777542017202847935587756648989936521061753151348657282564533526659566328465288520105975605060216633330800247823591708649226510048430710398820689022015404682939203905319882242611076937608316753276028537831112231151302427665646101617689028774278123 5947348017557513192162475805923267001310238117212674586755843785903153920251394428694810661994039977978110445046934437925505905441802468096424834474847434591583818347244209443768681934271231806803523567628367398358133634953781159223203004012620401547094924305473949886283158447676339771480955790739611240970512291136654380523149797878612909983817028618297667707540566504181544483115579835856615054816139302700929688975899130622182193745230656415610712231588058560124156130076056791569270783425709485356936604365561816151544665709165264803234249653393698588887743451455261882635504356013579162438945834014637466160843004524482113413549510178042105161069554130832270210492915624315527519321419483879380583794155563366224911667222233807834261414636411622222065462420697987057392597691039290739105070116837159420995507771655424265533352724697047308871149252238838479096142292462384356227194745438240401487079104875441220566719833217465190255417956734137650363016412178290603298362230020540169689032267875971437465845227232088768532304051559421148764242211354482850955525181968270804390687026081389377355354786873346901190918283430499603366864890557028368525124171690983038294967791569407938341858029323002490390005002809010706845316740661220131338351467282357919763546682936651303473342290499908677395139708734138843191044947969689614959929803073372110845690031650225861839826497849468183309956459592571408499715970688254053488632326999 9623011235332362728523402862489057485370407587700860647447341316571179252810671865566490578479657712773971181894387889425378603513043428205761753301430252537550407574905785878247257362570531153093669792357485391992753819146791903603010520162448362091347328804808348547735524979370834058745387083889102483401319681380716463623779308467664981155251683263188417112278294672117412860119484200361068788322082292863906855850833558035977953637841545205624768525234380295897320326527553485618911275059846238784593902115792492649666308282927596876819961738519124672365633460155430517270324375030034441734790050421806797422879183587817762340474369487222089941883166237199736146912480735376760271924155532565943635049221018648497961711732017720769359607885880649043997641721387253561730805895054778005541053833734681687059267762420521118962893621685363526488948940357445217652529825280268120961876081458778265359921179696228732776359711411901791154233996566760730489346914656441686063461339205015807058752387987506645116582863907416361777242961764158447203723406132133656233570015648899961747960470257555049444120171876418763659419183291588958880025773926544420086034320580870872864855533373922891119400046525850425977761651798947227907069892009877413902884993941924248228835203042626908533558923830708925218731417383365353239475658368510303981945207756311314751009913892836938777434814602744211847787571823722710927381616789871742517406605122 15570359252889875920685878668412324486680645704913535234203185102474333173062066294261301240473697690752081626941322327350884508954845896302186587776277687129134225922149995322015939296841762959897193359985852790350887454100573062826213524175068763638442253110282298434018683427047173830226342874628713724371831972517370844146929106346277891139068711881486084819818861176298957343235064036217683843138221595564836544826732688658160147383072201621235480756822438856021476456603610277188182058485555724141530506481354308801210973992092861680054211391912823261253376911610692399905828731043613604173735884436444263583722188112299875754023879665264195102952720368032006357405396359692287791245575016445324218843376582014722873378954251528603621022522292271266063104142085240619123403586094068744646123950571841108054775534075945384496246346382410835360098192596283696748672117742652477189070826897018666847000284571669953343079544629366981409651953300898380852363326834732289361823569225555976747784655863478082582428091139505130309547013323579595967965617486616507189095197617170766138647496338944426799474958749765664850337466722088562246890664483572788611158492271853911159823324943330829461258075848852916367766654607957934752386632671097545241236461224282167992381885979278212006901214330617602613871126117504196430520606338199918941875010829683425596699945543062800617261312452212395157744031416294119427097587478125796006038932121 25193370488222238649209281530901381972051053292614395881650526419045512425872738159827791818953355403526052808835710216776263112467889324507948341077707939666684633497055781200263196659412294112990863152343338182343641273247364966429224044337517125729789581915090646981754208406418007888971729958517816207773151653898087307770708414813942872294320395144674501932097155848416370203354548236578752631460303888428743400677566246694138101020913746826860249282056819151918796783131163762807093333545401962926124408597146801450877282275020458556874173130431947933619010371766122917176153106073648045908525934858251061006601371700117638094498249152486285044835886605231742504317877095069048063169730549011267853892597600663220835090686269249372980630408172920310060745863472494180854209481148846750187177784306522795114043296496466503459139968067774361849047132953728914401201943022920598150946908355796932206921464267898686119439256041268772563885949867659111341710241491173975425284908430571783806537043850984727699010955046921492086789975087738043171689023618750163422665213266070727886607966596499476243595130626184428509756650013677521126916438410117208697192812852724784024678858317253720580658122374703342345528306406905162659456524680974959144121455166206416221217089021905120540460138161326527832602543500869549669996264706710222923820218585994740347709859435899739394696127054956607005531603240016830354479204267997538523445537243 40763729741112114569895160199313706458731698997527931115853711521519845598934804454089093059427053094278134435777032544127147621422735220810134928853985626795818859419205776522279135956254057072888056512329190972694528727347938029255437568512585889368231835025372945415772891833465181719198072833146529932144983626415458151917637521160220763433389107026160586751916017024715327546589612272796436474598525483993579945504298935352298248403985948448095730038879258007940273239734774039995275392030957687067654915078501110252088256267113320236928384522344771194872387283376815317081981837117261650082261819294695324590323559812417513848522128817750480147788606973263748861723273454761335854415305565456592072735974182677943708469640520777976601652930465191576123850005557734799977613067242915494833301734878363903168818830572411887955386314450185197209145325550012611149874060765573075340017735252815599053921748839568639462518800670635753973537903168557492194073568325906264787108477656127760554321699714462810281439046186426622396336988411317639139654641105366670611760410883241494025255462935443903043070089375950093360094116735766083373807102893689997308351305124578695184502183260584550041916198223556258713294961014863097411843157352072504385357916390488584213598975001183332547361352491944130446473669618373746100516871044910141865695229415678165944409804978962540011957439507169002163275634656310949781576791746123334529484469364 65957100229334353219104441730215088430782752290142326997504237940565358024807542613916884878380408497804187244612742760903410733890624545318083269931693566462503492916261557722542332615666351185878919664672529155038170000595302995684661612850103015098021416940463592397527100239883189608169802791664346139918135280313545459688345935974163635727709502170835088684013172873131697749944160509375189106058829372422323346181865182046436349424899695274955979320936077159859070022865937802802368725576359649993779323675647911702965538542133778793802557652776719128491397655142938234258134943190909695990787754152946385596924931512535151943020377970236765192624493578495491366041150549830383917585036114467859926628571783341164543560326790027349582283338638111886184595869030228980831822548391762245020479519184886698282862127068878391414526282517959559058192458503741525551076003788493673490964643608612531260843213107467325581958056711904526537423853036216603535783809817080240212393386086699544360858743565447537980450001233348114483126963499055682311343664724116834034425624149312221911863429531943379286665220002134521869850766749443604500723541303807206005544117977303479209181041577838270622574320598259601058823267421768260071299682033047463529479371556695000434816064023088453087821490653270658279076213119243295770513135751620364789515448001672906292119664414862279406653566562125609168807237896327780136055996014120873052930006607 106720829970446467788999601929528794889514451287670258113357949462085203623742347068005977937807461592082321680389775305030558355313359766128218198785679193258322352335467334244821468571920408258766976177001720127732698727943241024940099181362688904466253251965836537813299992073348371327367875624810876072063118906729003611605983457134384399161098609196995675435929189897847025296533772782171625580657354856415903291686164117398734597828885643723051709359815335167799343262600711842797644117607317337061434238754149021955053794809247099030730942175121490323363784938519753551340116780308171346073049573447641710187248491324952665791542506787987245340413100551759240227764424004591719772000341679924451999364545966019108252029967310805326183936269103303462308445874587963780809435615634677739853781254063250601451680957641290279369912596968144756267337784053754136700950064554066748830982378861428130314764961947035965044476857382540280510961756204774095729857378142986504999501863742827304915180443279910348261889047419774736879463951910373321450998305829483504646186035032553715937118892467387282329735309378084615229944883485209687874530644197497203313895423101882174393683224838422820664490518821815859772118228436631357483142839385119967914837287947183584648415039024271785635182843145214788725549882737617041871030006796530506655210677417351072236529469393824819418611006069294611332082872552638729917632787760244207582414475971 172677930199780821008104043659743883320297203577812585110862187402650561648549889681922862816187870089886508925002518065933969089203984311446301468717372759720825845251728891967363801187586759444645895841674249282770868728538544020624760794212791919564274668906300130210827092313231560935537678416475222211981254187042549071294329393108548034888808111367830764119942362770978723046477933291546814686716184228838226637868029299445170947253785338998007688680751412327658413285466649645600012843183676987055213562429796933658019333351380877824533499827898209451855182593662691785598251723499081042063837327600588095784173422837487817734562884758224010533037594130254731593805574554422103689585377794392311925993117749360272795590294100832675766219607741415348493041743618192761641258164026439984874260773248137299734543084710168670784438879486104315325530242557495662252026068342560422321947022470040661575608175054503290626434914094444807048385609240990699265641187960066745211895249829526849276039186845357886242339048653122851362590915409429003762341970553600338680611659181865937848982321999330661616400529380219137099795650234653292375254185501304409319439541079185653602864266416261091287064839420075460830941495858399617554442521418167431444316659503878585083231103047360238723004333798485447004626095856860337641543142548150871444726125419023978528649133808687098825264572631420220500890110448966510053688783774365080635344482578 279398760170227288797103645589272678209811654865482843224220136864735765272292236749928840753995331681968830605392293370964527444517344077574519667503051952979148197587196226212185269759507167703412872018675969410503567456481785045564859975575480824030527920872136668024127084386579932262905554041286098284044373093771552682900312850242932434049906720564826439555871552668825748343011706073718440267373539085254129929554193416843905545082670982721059398040566747495457756548067361488397656960790994324116647801183945955613073128160627976855264442003019699775218967532182445336938368503807252388136886901048229805971421914162440483526105391546211255873450694682013971821569998559013823461585719474316763925357663715379381047620261411638001950155876844718810801487618206156542450693779661117724728042027311387901186224042351458950154351476454249071592868026611249798952976132896627171152929401331468791890373137001539255670911771476985087559347365445764794995498566103053250211397113572354154191219630125268234504228096072897588242054867319802325213340276383083843326797694214419653786101214466717943946135838758303752329740533719862980249784829698801612633334964181067827996547491254683911951555358241891320603059724295030975037585360803287399359153947451062169731646142071632024358187176943700235730175978594477379512573149344681378099936802836375050765178603202511918243875578700714831832972983001605239971321571534609288217758958549 452076690370008109805207689249016561530108858443295428335082324267386326920842126431851703570183201771855339530394811436898496533721328389020821136220424712699974042838925118179549070947093927148058767860350218693274436185020329066189620769788272743594802589778436798234954176699811493198443232457761320496025627280814101754194642243351480468938714831932657203675813915439804471389489639365265254954089723314092356567422222716289076492336456321719067086721318159823116169833534011133997669803974671311171861363613742889271092461512008854679797941830917909227074150125845137122536620227306333430200724228648817901755595336999928301260668276304435266406488288812268703415375573113435927151171097268709075851350781464739653843210555512470677716375484586134159294529361824349304091951943687557709602302800559525200920767127061627620938790355940353386918398269168745461205002201239187593474876423801509453465981312056042546297346685571429894607732974686755494261139754063119995423292363401881003467258816970626120746567144726020439604645782729231328975682246936684182007409353396285591635083536466048605562536368138522889429536183954516272625039015200106021952774505260253481599411757670945003238620197661966781434001220153430592592027882221454830803470606954940754814877245118992263081191510742185682734802074451337717154116291892832249544662928255399029293827737011199017069140151332135052333863093450571750025010355308974368853103441127 731475450540235398602311334838289239739920513308778271559302461132122092193134363181780544324178533453824170135787104807863023978238672466595340803723476665679122240426121344391734340706601094851471639879026188103778003641502114111754480745363753567625330510650573466259081261086391425461348786499047418780070000374585654437094955093594412902988621552497483643231685468108630219732501345438983695221463262399346486496976416133132982037419127304440126484761884907318573926381601372622395326764765665635288509164797688844884165589672636831535062383833937609002293117658027582459474988731113585818337611129697047707727017251162368784786773667850646522279938983494282675236945571672449750612756816743025839776708445180119034890830816924108679666531361430852970096016980030505846542645723348675434330344827870913102106991169413086571093141832394602458511266295779995260157978334135814764627805825132978245356354449057581801968258457048414982167080340132520289256638320166173245634689476974235157658478447095894355250795240798918027846700650049033654189022523319768025334207047610705245421184750932766549508672206896826641759276717674379252874823844898907634586109469441321309595959248925628915190175555903858102037060944448461567629613243024742230162624554406002924546523387190624287439378687685885918464978053045815096666689441237513627644599731091774080059006340213710935313015730032849884166836076452176989996331926843583657070862399676 1183552140910243508407519024087305801270029371752073699894384785399508419113976489613632247894361735225679509666181916244761520511960000855616161939943901378379096283265046462571283411653695021999530407739376406797052439826522443177944101515152026311220133100429010264494035437786202918659792018956808739276095627655399756191289597336945893371927336384430140846907499383548434691121990984804248950175552985713438843064398638849422058529755583626159193571483203067141690096215135383756392996568740336946460370528411431734155258051184645686214860325664855518229367267783872719582011608958419919248538335358345865609482612588162297086047441944155081788686427272306551378652321144785885677763927914011734915628059226644858688734041372436579357382906846016987129390546341854855150634597667036233143932647628430438303027758296474714192031932188334955845429664564948740721362980535375002358102682248934487698822335761113624348265605142619844876774813314819275783517778074229293241057981840376116161125737264066520475997362385524938467451346432778264983164704770256452207341616401006990837056268287398815155071208575035349531188812901628895525499862860099013656538883974701574791195371006596573918428795753565824883471062164601892160221641125246197060966095161360943679361400632309616550520570198428071601199780127497152813820805733130345877189262659347173109352834077224909952382155881364984936500699169902748740021342282152558025923965840803 1915027591450478907009830358925595041009949885060851971453687246531630511307110852795412792218540268679503679801969021052624544490198673322211502743667378044058218523691167806963017752360296116851002047618402594900830443468024557289698582260515779878845463611079583730753116698872594344121140805455856158056165628029985410628384552430540306274915957936927624490139184851657064910854492330243232645397016248112785329561375054982555040567174710930599320056245087974460264022596736756378788323333506002581748879693209120579039423640857282517749922709498793127231660385441900302041486597689533505066875946488042913317209629839324665870834215612005728310966366255800834053889266716458335428376684730754760755404767671824977723624872189360688037049438207447840099486563321885360997177243390384908578262992456301351405134749465887800763125074020729558303940930860728735981520958869510817122730488074067465944178690210171206150233863599668259858941893654951796072774416394395466486692671317350351318784215711162414831248157626323856495298047082827298637353727293576220232675823448617696082477453038331581704579880781932176172948089619303274778374686704997921291124993444142896100791330255522202833618971309469682985508123109050353727851254368270939291128719715766946603907924019500240837959948886113957519664758180542967910487495174367859504833862390438947189411840417438620887695171611397834820667535246354925730017674208996141682994828240479 3098579732360722415417349383012900842279979256812925671348072031931138930421087342409045040112902003905183189468150937297386065002158674177827664683611279422437314806956214269534301164013991138850532455357779001697882883294547000467642683775667806190065596711508593995247152136658797262780932824412664897332261255685385166819674149767486199646843294321357765337046684235205499601976483315047481595572569233826224172625773693831977099096930294556758513627728291041601954118811872140135181319902246339528209250221620552313194681692041928203964783035163648645461027653225773021623498206647953424315414281846388778926692242427486962956881657556160810099652793528107385432541587861244221106140612644766495671032826898469836412358913561797267394432345053464827228877109663740216147811841057421141722195640084731789708162507762362514955157006209064514149370595425677476702883939404885819480833170323001953643001025971284830498499468742288104735716706969771071856292194468624759727750653157726467479909952975228935307245520011848794962749393515605563620518432063832672440017439849624686919533721325730396859651089356967525704136902520932170303874549565096934947663877418844470891986701262118776752047767063035507868979185273652245888072895493517136352094814877127890283269324651809857388480519084542029120864538308040120724308300907498205382023125049786120298764674494663530840077327492762819757168234416257674470039016491148699708918794081282 5013607323811201322427179741938495883289929141873777642801759278462769441728198195204457832331442272584686869270119958350010609492357347500039167427278657466495533330647382076497318916374287255701534502976181596598713326762571557757341266036183586068911060322588177726000268835531391606902073629868521055388426883715370577448058702198026505921759252258285389827185869086862564512830975645290714240969585481939009502187148748814532139664105005487357833683973379016062218141408608896513969643235752342109958129914829672892234105332899210721714705744662441772692688038667673323664984804337486929382290228334431692243901872266811628827715873168166538410619159783908219486430854577702556534517297375521256426437594570294814135983785751157955431481783260912667328363672985625577144989084447806050300458632541033141113297257228250315718282080229794072453311526286406212684404898274396636603563658397069419587179716181456036648733332341956364594658600624722867929066610863020226214443324475076818798694168686391350138493677638172651458047440598432862257872159357408892672693263298242383002011174364061978564230970138899701877084992140235445082249236270094856238788870862987366992778031517640979585666738372505190854487308382702599615924149861788075643223534592894836887177248671310098226440467970655986640529296488583088634795796081866064886856987440225067488176514912102151727772499104160654577835769662612600200056690700144841391913622321761 8112187056171923737844529124951396725569908398686703314149831310393908372149285537613502872444344276489870058738270895647396674494516021677866832110889936888932848137603596346031620080388278394552066958333960598296596210057118558224983949811851392258976657034096771721247420972190188869683006454281185952720688139400755744267732851965512705568602546579643155164232553322068064114807458960338195836542154715765233674812922442646509238761035300044116347311701670057664172260220481036649150963137998681638167380136450225205428787024941138925679488779826090418153715691893446345288483010985440353697704510180820471170594114694298591784597530724327348510271953312015604918972442438946777640657910020287752097470421468764650548342699312955222825914128314377494557240782649365793292800925505227192022654272625764930821459764990612830673439086438858586602682121712083689387288837679282456084396828720071373230180742152740867147232801084244469330375307594493939785358805331644985942193977632803286278604121661620285445739197650021446420796834114038425878390591421241565112710703147867069921544895689792375423882059495867227581221894661167615386123785835191791186452748281831837884764732779759756337714505435540698723466493656354845503997045355305211995318349470022727170446573323119955614920987055198015761393834796623209359104096989364270268880112490011187786941189406765682567849826596923474335004004078870274670095707191293541100832416403043 13125794379983125060271708866889892608859837540560480956951590588856677813877483732817960704775786549074556928008390853997407283986873369177905999538168594355428381468250978422528938996762565650253601461310142194895309536819690115982325215848034978327887717356684949447247689807721580476585080084149707008109115023116126321715791554163539211490361798837928544991418422408930628627638434605628910077511740197704243177000071191461041378425140305531474180995675049073726390401629089933163120606373751023748125510051279898097662892357840349647394194524488532190846403730561119668953467815322927283079994738515252163414495986961110220612313403892493886920891113095923824405403297016649334175175207395809008523908016039059464684326485064113178257395911575290161885604455634991370437790009953033242323112905166798071934757022218863146391721166668652659055993647998489902071693735953679092687960487117140792817360458334196903795966133426200833925033908219216807714425416194665212156637302107880105077298290348011635584232875288194097878844274712471288136262750778650457785403966446109452923556070053854353988113029634766929458306886801403060468373022105286647425241619144819204877542764297400735923381243808045889577953802039057445119921195217093287638541884062917564057623821994430053841361455025854002401923131285206297993899893071230335155737099930236255275117704318867834295622325701084128912839773741482874870152397891438382492746038724804 21237981436155048798116237991841289334429745939247184271101421899250586186026769270431463577220130825564426986746661749644803958481389390855772831649058531244361229605854574768560559077150844044805668419644102793191905746876808674207309165659886370586864374390781721168495110779911769346268086538430892960829803162516882065983524406129051917058964345417571700155650975730998692742445893565967105914053894913469476851812993634107550617186175605575590528307376719131390562661849570969812271569511749705386292890187730123303091679382781488573073683304314622609000119422454566014241950826308367636777699248696072634585090101655408812396910934616821235431163066407939429324375739455596111815833117416096760621378437507824115232669184377068401083310039889667656442845238284357163730590935458260434345767177792563002756216787209475977065160253107511245658675769710573591458982573632961548772357315837212166047541200486937770943198934510445303255409215813710747499784221526310198098831279740683391355902412009631921029972072938215544299641108826509714014653342199892022898114669593976522845100965743646729411995089130634157039528781462570675854496807940478438611694367426651042762307497077160492261095749243586588301420295695412290623918240572398499633860233532940291228070395317550009456282442081052018163316966081829507353003990060594605424617212420247443062058893725633516863472152298007603247843777820353149540248105082731923593578455127847 34363775816138173858387946858731181943289583479807665228053012488107263999904253003249424281995917374638983914755052603642211242468262760033678831187227125599789611074105553191089498073913409695059269880954244988087215283696498790189634381507921348914752091747466670615742800587633349822853166622580599968938918185633008387699315960292591128549326144255500245147069398139929321370084328171596015991565635111173720028813064825568591995611315911107064709303051768205116953063478660902975392175885500729134418400239010021400754571740621838220467877828803154799846523153015685683195418641631294919857693987211324797999586088616519033009224338509315122352054179503863253729779036472245445991008324811905769145286453546883579916995669441181579340705951464957818328449693919348534168380945411293676668880082959361074690973809428339123456881419776163904714669417709063493530676309586640641460317802954352958864901658821134674739165067936646137180443124032927555214209637720975410255468581848563496433200702357643556614204948226409642178485383538981002150916092978542480683518636040085975768657035797501083400108118765401086497835668263973736322869830045765086036935986571470247639850261374561228184476993051632477879374097734469735743839435789491787272402117595857855285694217311980063297643897106906020565240097367035805346903883131824940580354312350483698337176598044501351159094477999091732160683551561836024410400502974170306086324493852651 55601757252293222656504184850572471277719329419054849499154434387357850185931022273680887859216048200203410901501714353287015200949652150889451662836285656844150840679960127959650057151064253739864938300598347781279121030573307464396943547167807719501616466138248391784237911367545119169121253161011492929768721348149890453682840366421643045608290489673071945302720373870928014112530221737563121905619530024643196880626058459676142612797491516682655237610428487336507515725328231872787663745397250434520711290426740144703846251123403326793541561133117777408846642575470251697437369467939662556635393235907397432584676190271927845406135273126136357783217245911802683054154775927841557806841442228002529766664891054707695149664853818249980424015991354625474771294932203705697898971880869554111014647260751924077447190596637815100522041672883675150373345187419637084989658883219602190232675118791565124912442859308072445682364002447091440435852339846638302713993859247285608354299861589246887789103114367275477644177021164625186478126492365490716165569435178434503581633305634062498613758001541147812812103207896035243537364449726544412177366637986243524648630353998121290402157758451721720445572742295219066180794393429882026367757676361890286906262351128798146513764612629530072753926339187958038728557063448865312699907873192419546004971524770731141399235491770134868022566630297099335408527329382189173950648608056902229679902948980498 89965533068431396514892131709303653221008912898862514727207446875465114185835275276930312141211965574842394816256766956929226443417914910923130494023512782443940451754065681150739555224977663434924208181552592769366336314269806254586577928675729068416368557885715062399980711955178468991974419783592092898707639533782898841382156326714234174157616633928572190449789772010857335482614549909159137897185165135816916909439123285244734608408807427789719946913480255541624468788806892775763055921282751163655129690665750166104600822864025165014009438961920932208693165728485937380632788109570957476493087223118722230584262278888446878415359611635451480135271425415665936783933812400087003797849767039908298911951344601591275066660523259431559764721942819583293099744626123054232067352826280847787683527343711285152138164406066154223978923092659839055088014605128700578520335192806242831692992921745918083777344518129207120421529070383737577616295463879565857928203496968261018609768443437810384222303816724919034258381969391034828656611875904471718316485528156976984265151941674148474382415037338648896212211326661436330035200117990518148500236468032008610685566340569591538042008019826282948630049735346851544060168491164351762111597112151382074178664468724656001799458829941510136051570236294864059293797160815901118046811756324244486585325837121214839736412089814636219181661108296191067569210880944025198361049111031072535766227442833149 145567290320724619171396316559876124498728242317917364226361881262822964371766297550611200000428013775045805717758481310216241644367567061812582156859798439288091292434025809110389612376041917174789146482150940550645457344843113718983521475843536787917985024023963454184218623322723588161095672944603585828476360881932789295064996693135877219765907123601644135752510145881785349595144771646722259802804695160460113790065181744920877221206298944472375184523908742878131984514135124648550719666680001598175840981092490310808447073987428491807551000095038709617539808303956189078070157577510620033128480459026119663168938469160374723821494884761587837918488671327468619838088588327928561604691209267910828678616235656298970216325377077681540188737934174208767871039558326759929966324707150401898698174604463209229585355002703969324500964765543514205461359792548337663509994076025845021925668040537483208689787377437279566103893072830829018052147803726204160642197356215546626964068305027057272011406931092194511902558990555660015134738368269962434482054963335411487846785247308210972996173038879796709024314534557471573572564567717062560677603106018252135334196694567712828444165778278004669075622477642070610240962884594233788479354788513272361084926819853454148313223442571040208805496575482822098022354224264766430746719629516664032590297361891945981135647581584771087204227738593290402977738210326214372311697719087974765446130391813647 235532823389156015686288448269179777719737155216779878953569328138288078557601572827541512141639979349888200534015248267145468087785481972735712650883311221732031744188091490261129167601019580609713354663703533320011793659112919973570099404519265856334353581909678516584199335277902057153070092728195678727184000415715688136447153019850111393923523757530216326202299917892642685077759321555881397699989860296277030699504305030165611829615106372262095131437388998419756453302942017424313775587962752761830970671758240476913047896851453656821560439056959641826232974032442126458702945687081577509621567682144841893753200748048821602236854496397039318053760096743134556622022400728015565402540976307819127590567580257890245282985900337113099953459876993792060970784184449814162033677533431249686381701948174494381723519408770123548479887858203353260549374397677038242030329268832087853618660962283401292467131895566486686525422143214566595668443267605770018570400853183807645573836748464867656233710747817113546160940959946694843791350244174434152798540491492388472111937188982359447378588076218445605236525861218907903607764685707580709177839574050260746019763035137304366486173798104287617705672212988922154301131375758585550590951900664654435263591288578110150112682272512550344857066811777686157316151385080667548793531385840908519175623199013160820872059671399407306385888846889481470546949091270239570672746830119047301212357834646796 381100113709880634857684764829055902218465397534697243179931209401111042929367870378152712142067993124934006251773729577361709732153049034548294807743109661020123036622117299371518779977061497784502501145854473870657251003956033692553620880362802644252338605933641970768417958600625645314165765672799264555660361297648477431512149712985988613689430881131860461954810063774428034672904093202603657502794555456737144489569486775086489050821405316734470315961297741297888437817077142072864495254642754360006811652850730787721494970838882148629111439151998351443772782336398315536773103264592197542750048141170961556922139217209196326058349381158627155972248768070603176460110989055944127007232185575729956269183815914189215499311277414794640142197811168000828841823742776574092000002240581651585079876552637703611308874411474092872980852623746867466010734190225375905540323344857932875544329002820884501156919273003766252629315216045395613720591071331974179212598209399354272537905053491924928245117678909308058063499950502354858926088612444396587280595454827799959958722436290570420374761115098242314260840395776379477180329253424643269855442680068512881353959729705017194930339576382292286781294690630992764542094260352819339070306689177926796348518108431564298425905715083590553662563387260508255338505609345433979540251015357572551765920560905106802007707252984178393590116585482771873524687301596453942984444549207022066658488226460443 616632937099036650543973213098235679938202552751477122133500537539399121486969443205694224283707972474822206785788977844507177819938531007284007458626420882752154780810208789632647947578081078394215855809558007190669044663068953666123720284882068500586692187843320487352617293878527702467235858400994943282844361713364165567959302732836100007612954638662076788157109981667070719750663414758485055202784415753014175189073791805252100880436511688996565447398686739717644891120019159497178270842605507121837782324608971264634542867690335805450671878208957993270005756368840441995476048951673775052371615823315803450675339965258017928295203877555666474026008864813737733082133389783959692409773161883549083859751396172079460782297177751907740095657688161792889812607927226388254033679774012901271461578500812197993032393820244216421460740481950220726560108587902414147570652613690020729162989965104285793624051168570252939154737359259962209389034338937744197782999062583161918111741801956792584478828426726421604224440910449049702717438856618830740079135946320188432070659625272929867753349191316687919497366256995287380788093939132223979033282254118773627373722764842321561416513374486579904486966903619914918843225636111404889661258589842581231612109397009674448538587987596140898519630199038194412654656994426101528333782401198481070941543759918267622879766924383585699976005432372253344071636392866693513657191379326069367870846061107239 997733050808917285401657977927291582156667950286174365313431746940510164416337313583846936425775965599756213037562707421868887552091580041832302266369530543772277817432326089004166727555142576178718356955412481061326295667024987358677341165244871144839030793776962458121035252479153347781401624073794207838504723011012642999471452445822088621302385519793937250111920045441498754423567507961088712705578971209751319678643278580338589931257917005731035763359984481015533328937096301570042766097248261481844593977459702052356037838529217954079783317360956344713778538705238757532249152216265972595121663964486765007597479182467214254353553258714293629998257632884340909542244378839903819417005347459279040128935212086268676281608455166702380237855499329793718654431670002962346033682014594552856541455053449901604341268231718309294441593105697088192570842778127790053110975958547953604707318967925170294780970441574019191784052575305357823109625410269718376995597271982516190649646855448717512723946105635729662287940860951404561643527469063227327359731401147988392029382061563500288128110306414930233758206652771666857968423192556867248888724934187286508727682494547338756346852950868872191268261594250907683385319896464224228731565279020508027960627505441238746964493702679731452182193586298702667993162603771535507874033416556053622707464320823374424887474177367764093566122017855025217596323694463147456641635928533091434529334287567682 1614365987907953935945631191025527262094870503037651487446932284479909285903306756789541160709483938074578419823351685266376065372030111049116309724995951426524432598242534878636814675133223654572934212764970488251995340330093941024801061450126939645425722981620282945473652546357681050248637482474789151121349084724376808567430755178658188628915340158456014038269030027108569474174230922719573767908363386962765494867717070385590690811694428694727601210758671220733178220057115461067221036939853768603682376302068673316990580706219553759530455195569914337983784295074079199527725201167939747647493279787802568458272819147725232182648757136269960104024266497698078642624377768623863511826778509342828123988686608258348137063905632918610120333513187491586608467039597229350600067361788607454128003033554262099597373662051962525715902333587647308919130951366030204200681628572237974333870308933029456088405021610144272130938789934565320032498659749207462574778596334565678108761388657405510097202774532362151266512381771400454264360966325682058067438867347468176824100041686836430155881459497731618153255572909766954238756517131689091227922007188306060136101405259389660317763366325355452095755228497870822602228545532575629118392823868863089259572736902450913195503081690275872350701823785336897080647819598197637036207815817754534693649008080741642047767241101751349793542127450227278561667960087329840970298827307859160802400180348674921 2612099038716871221347289168952818844251538453323825852760364031420419450319644070373388097135259903674334632860914392688244952924121691090948611991365481970296710415674860967640981402688366230751652569720382969313321635997118928383478402615371810790264753775397245403594687798836834398030039106548583358959853807735389451566902207624480277250217725678249951288380950072550068228597798430680662480613942358172516814546360348965929280742952345700458636974118655701748711548994211762637263803037102030085526970279528375369346618544748771713610238512930870682697562833779317957059974353384205720242614943752289333465870298330192446437002310394984253734022524130582419552166622147463767331243783856802107164117621820344616813345514088085312500571368686821380327121471267232312946101043803202006984544488607712001201714930283680835010343926693344397111701794144157994253792604530785927938577627900954626383185992051718291322722842509870677855608285159477180951774193606548194299411035512854227609926720637997880928800322632351858826004493794745285394798598748616165216129423748399930444009569804146548387013779562538621096724940324245958476810732122493346644829087753936999074110219276224324287023490092121730285613865429039853347124389147883597287533364407892151942467575392955603802884017371635599748640982201969172544081849234310588316356472401565016472654715279119113887108249468082303779264283781792988426940463236392252236929514636242603 4226465026624825157292920359978346106346408956361477340207296315900328736222950827162929257844743841748913052684266077954621018296151802140064921716361433396821143013917395846277796077821589885324586782485353457565316976327212869408279464065498750435690476757017528349068340345194515448278676589023372510081202892459766260134332962803138465879133065836705965326649980099658637702772029353400236248522305745135282309414077419351519971554646774395186238184877326922481889769051327223704484839976955798689209346581597048686337199250968325473140693708500785020681347128853397156587699554552145467890108223540091901924143117477917678619651067531254213838046790628280498194790999916087630843070562366144935288106308428602964950409419721003922620904881874312966935588510864461663546168405591809461112547522161974100799088592335643360726246260280991706030832745510188198454474233103023902272447936833984082471591013661862563453661632444435997888106944908684643526552789941113872408172424170259737707129495170360032195312704403752313090365460120427343462237466096084342040229465435236360599891029301878166540269352472305575335481457455935049704732739310799406780930493013326659391873585601579776382778718589992552887842410961615482465517213016746686547106101310343065137970657083231476153585841156972496829288801800166809580289665052065123010005480482306658520421956380870463680650376918309582340932243869122829397239290544251413039329694984917524 6838564065341696378640209528931164950597947409685303192967660347320748186542594897536317354980003745423247685545180470642865971220273493231013533707726915367117853429592256813918777480509956116076239352205736426878638612324331797791757866680870561225955230532414773752663028144031349846308715695571955869041056700195155711701235170427618743129350791514955916615030930172208705931369827784080898729136248103307799123960437768317449252297599120095644875158995982624230601318045538986341748643014057828774736316861125424055683817795717097186750932221431655703378909962632715113647673907936351188132723167292381235390013415808110125056653377926238467572069314758862917746957622063551398174314346222947042452223930248947581763754933809089235121476250561134347262709982131693976492269449395011468097092010769686102000803522619324195736590186974336103142534539654346192708266837633809830211025564734938708854777005713580854776384474954306675743715230068161824478326983547662066707583459683113965317056215808357913124113027036104171916369953915172628857036064844700507256358889183636291043900599106024714927283132034844196432206397780181008181543471433292753425759580767263658465983804877804100669802208682114283173456276390655335812641602164630283834639465718235217080438232476187079956469858528608096577929784002135982124371514286375711326361952883871674993076671659989577567758626386391886120196527650915817824179753780643665276259209621160127 11065029091966521535933129888909511056944356366046780533174956663221076922765545724699246612824747587172160738229446548597486989516425295371078455424088348763938996443509652660196573558331546001400826134691089884443955588651544667200037330746369311661645707289432302101731368489225865294587392284595328379122259592654921971835568133230757209008483857351661881941680910271867343634141857137481134977658553848443081433374515187668969223852245894490831113343873309546712491087096866210046233482991013627463945663442722472742021017046685422659891625929932440724060257091486112270235373462488496656022831390832473137314156533286027803676304445457492681410116105387143415941748621979639029017384908589091977740330238677550546714164353530093157742381132435447314198298492996155640038437854986820929209639532931660202799892114954967556462836447255327809173367285164534391162741070736833732483473501568922791326368019375443418230046107398742673631822174976846468004879773488775939115755883853373703024185710978717945319425731439856485006735414035599972319273530940784849296588354618872651643791628407902881467552484507149771767687855236116057886276210744092160206690073780590317857857390479383877052580927272106836061298687352270818278158815181376970381745567028578282218408889559418556110055699685580593407218585802302791704661179338440834336367433366178333513498628040860041248409003304701468461128771520038647221419044324895078315588904606077651 17903593157308217914573339417840676007542303775732083726142617010541825109308140622235563967804751332595408423774627019240352960736698788602091989131815264131056849873101909474115351038841502117477065486896826311322594200975876464991795197427239872887600937821847075854394396633257215140896107980167284248163316292850077683536803303658375952137834648866617798556711840444076049565511684921562033706794801951750880557334952955986418476149845014586475988502869292170943092405142405196387982126005071456238681980303847896797704834842402519846642558151364096427439167054118827383883047370424847844155554558124854372704169949094137928732957823383731148982185420146006333688706244043190427191699254812039020192554168926498128477919287339182392863857382996581661461008475127849616530707304381832397306731543701346304800695637574291752199426634229663912315901824818880583871007908370643562694499066303861500181145025089024273006430582353049349375537405045008292483206757036438005823339343536487668341241926787075858443538758475960656923105367950772601176309595785485356552947243802508942687692227513927596394835616541993968199894253016297066067819682177384913632449654547853976323841195357187977722383135954221119234754963742926154090800417346007254216385032746813499298847122035605636066525558214188689985148369804438773829032693624816545662729386250050008506575299700849618816167629691093354581325299170954465045598798105538743591848114227237778 28968622249274739450506469306750187064486660141778864259317573673762902032073686346934810580629498919767569162004073567837839950253124083973170444555903612894995846316611562134311924597173048118877891621587916195766549789627421132191832528173609184549246645111279377956125765122483080435483500264762612627285575885504999655372371436889133161146318506218279680498392750715943393199653542059043168684453355800193961990709468143655387700002090909077307101846742601717655583492239271406434215608996085083702627643746570369539725851889087942506534184081296537151499424145604939654118420832913344500178385948957327510018326482380165732409262268841223830392301525533149749630454866022829456209084163401130997932884407604048675192083640869275550606238515432028975659306968124005256569145159368653326516371076633006507600587752529259308662263081484991721489269109983414975033748979107477295177972567872784291507513044464467691236476689751792023007359580021854760488086530525213944939095227389861371365427637765793803762964489915817141929840781986372573495583126726270205849535598421381594331483855921830477862388101049143739967582108252413123954095892921477073839139728328444294181698585836571854774964063226327955296053651095196972368959232527384224598130599775391781517256011595024192176581257899769283392366955606741565533693872963257379999096819616228342020073927741709660064576632995794823042454070690993112267017842430433821907437018833315429 46872215406582957365079808724590863072028963917510947985460190684304727141381826969170374548434250252362977585778700587078192910989822872575262433687718877026052696189713471608427275636014550236354957108484742507089143990603297597183627725600849057436847582933126453810520161755740295576379608244929896875448892178355077338909174740547509113284153155084897479055104591160019442765165226980605202391248157751944842548044421099641806176151935923663783090349611893888598675897381676602822197735001156539941309624050418266337430686731490462353176742232660633578938591199723767038001468203338192344333940507082181882722496431474303661142220092224954979374486945679156083319161110066019883400783418213170018125438576530546803670002928208457943470095898428610637120315443251854873099852463750485723823102620334352812401283390103551060861689715714655633805170934802295558904756887478120857872471634176645791688658069553491964242907272104841372382896985066863052971293287561651950762434570926349039706669564552869662206503248391777798852946149937145174671892722511755562402482842223890537019176083435758074257223717591137708167476361268710190021915575098861987471589382876298270505539781193759832497347199180549074530808614838123126459759649873391478814515632522205280816103133630629828243106816113957973377515325411180339362726566588073925661826205866278350526649227442559278880744262686888177623779369861947577312616640535972565499285133060553207 75840837655857696815586278031341050136515624059289812244777764358067629173455513316105185129063749172130546747782774154916032861242946956548432878243622489921048542506325033742739200233187598355232848730072658702855693780230718729375460253774458241986094228044405831766645926878223376011863108509692509502734468063860076994281546177436642274430471661303177159553497341875962835964818769039648371075701513552138804538753889243297193876154026832741090192196354495606254259389620948009256413343997241623643937267796988635877156538620578404859710926313957170730438015345328706692119889036251536844512326456039509392740822913854469393551482361066178809766788471212305832949615976088849339609867581614301016058322984134595478862086569077733494076334413860639612779622411375860129668997623119139050339473696967359320001871142632810369523952797199647355294440044785710533938505866585598153050444202049430083196171114017959655479383961856633395390256565088717813459379818086865895701529798316210411072097202318663465969467738307594940782786931923517748167475849238025768252018440645272131350659939357588552119611818640281448135058469521123313976011468020339061310729111204742564687238367030331687272311262406877029826862265933320098828718882400775703412646232297597062333359145225654020419688074013727256769882281017921904896420439551331305660923025482506692546723155184268938945320895682683000666233440552940689579634482966406387406722151893868636 122713053062440654180666086755931913208544587976800760230237955042372356314837340285275559677497999424493524333561474741994225772232769829123695311931341366947101238696038505351166475869202148591587805838557401209944837770834016326559087979375307299422941810977532285577166088633963671588242716754622406378183360242215154333190720917984151387714624816388074638608601933035982278729983996020253573466949671304083647086798310342939000052305962756404873282545966389494852935287002624612078611078998398163585246891847406902214587225352068867212887668546617804309376606545052473730121357239589729188846266963121691275463319345328773054693702453291133789141275416891461916268777086154869223010650999827471034183761560665142282532089497286191437546430312289250249899937854627715002768850086869624774162576317301712132403154532736361430385642512914302989099610979588006092843262754063719010922915836226075874884829183571451619722291233961474767773153550155580866430673105648517846463964369242559450778766766871533128175970986699372739635733081860662922839368571749781330654501282869162668369836022793346626376835536231419156302534830789833503997927043119201048782318494081040835192778148224091519769658461587426104357670880771443225288478532274167182227161864819802343149462278856283848662794890127685230147397606429102244259147006139405231322749231348785043073372382626828217826065158369571178290012810414888266892251123502378952906007284954421843 198553890718298350996252364787272963345060212036090572475015719400439985488292853601380744806561748596624071081344248896910258633475716785672128190174963856868149781202363539093905676102389746946820654568630059912800531551064735055934548233149765541409036039021938117343812015512187047600105825264314915880917828306075231327472267095420793662145096477691251798162099274911945114694802765059901944542651184856222451625552199586236193928459989589145963474742320885101107194676623572621335024422995639787229184159644395538091743763972647272072598594860574975039814621890381180422241246275841266033358593419161200668204142259183242448245184814357312598908063888103767749218393062243718562620518581441772050242084544799737761394176066363924931622764726149889862679560266003575132437847709988763824502050014269071452405025675369171799909595310113950344394051024373716626781768620649317163973360038275505958081000297589411275201675195818108163163410115244298679890052923735383742165494167558769861850863969190196594145438725006967680418520013784180671006844420987807098906519723514434799720495962150935178496447354871700604437593300310956817973938511139540110093047605285783399880016515254423207041969723994303134184533146704763324117197414674942885639808097117399405482821424081937869082482964141412486917279887447024149155567445690736536983672256831291735620095537811097156771386054052254178956246250967828956471885606468785340312729436848290479 321266943780739005176918451543204876553604800012891332705253674442812341803130193886656304484059748021117595414905723638904484405708486614795823502106305223815251019898402044445072151971591895538408460407187461122745369321898751382493636212525072840831977849999470402920978104146150719188348542018937322259101188548290385660662988013404945049859721294079326436770701207947927393424786761080155518009600856160306098712350509929175193980765952345550836757288287274595960129963626197233413635501994037950814431051491802440306330989324716139285486263407192779349191228435433654152362603515430995222204860382282891943667461604512015502938887267648446388049339304995229665487170148398587785631169581269243084425846105464880043926265563650116369169195038439140112579498120631290135206697796858388598664626331570783584808180208105533230295237823028253333493662003961722719625031374713036174896275874501581832965829481160862894923966429779582930936563665399879546320726029383901588629458536801329312629630736061729722321409711706340420054253095644843593846212992737588429561021006383597468090331984944281804873282891103119760740128131100790321971865554258741158875366099366824235072794663478514726811628185581729238542204027476206549405675946949110067866969961937201748632283702938221717745277854269097717064677493876126393414714451830141768306421488180076778693467920437925374597451212421825357246259061382717223364136729971164293218736721802712322 519820834499037356173170816330477839898665012048981905180269393843252327291423047488037049290621496617741666496249972535814743039184203400467951692281269080683400801100765583538977828073981642485229114975817521035545900872963486438428184445674838382241013889021408520264790119658337766788454367283252238140019016854365616988135255108825738712004817771770578234932800482859872508119589526140057462552252041016528550337902709515411387909225941934696800232030608159697067324640249769854748659924989677738043615211136197978398074753297363411358084858267767754389005850325814834574603849791272261255563453801444092611871603863695257951184072082005758986957403193098997414705563210642306348251688162711015134667930650264617805320441630014041300791959764589029975259058386634865267644545506847152423166676345839855037213205883474705030204833133142203677887713028335439346406799995362353338869635912777087791046829778750274170125641625597691094099973780644178226210778953119285330794952704360099174480494705251926316466848436713308100472773109429024264853057413725395528467540729898032267810827947095216983369730245974820365177721431411747139945804065398281268968413704652607634952811178732937933853597909576032372726737174180969873522873361624052953506778059054601154115105127020159586827760818410510203981957381323150542570281897520878305290093745011368514313563458249022531368837266474079536202505312350546179836022336439949633531466158651002801 841087778279776361350089267873682716452269812061873237885523068286064669094553241374693353774681244638859261911155696174719227444892690015263775194387574304498651820999167627984049980045573538023637575383004982158291270194862237820921820658199911223072991739020878923185768223804488485976802909302189560399120205402656002648798243122230683761864539065849904671703501690807799901544376287220212980561852897176834649050253219444586581889991894280247636989318895434293027454603875967088162295426983715688858046262628000418704405742622079550643571121674960533738197078761248488726966453306703256477768314183726984555539065468207273454122959349654205375006742498094227080192733359040894133882857743980258219093776755729497849246707193664157669961154803028170087838556507266155402851243303705541021831302677410638622021386091580238260500070956170457011381375032297162066031831370075389513765911787278669624012659259911137065049608055377274025036537446044057772531504982503186919424411241161428487110125441313656038788258148419648520527026205073867858699270406462983958028561736281629735901159932039498788243013137077940125917849562512537461917669619657022427843779804019431870025605842211452660665226095157761611268941201657176422928549308573163021373748020991802902747388829958381304573038672679607921046634875199276935984996349351020073596515233191445293007031378686947905966288478895904893448764373733263403200159066411113926750202880453715123 1360908612778813717523260084204160556350934824110855143065792462129316996385976288862730403065302741256600928407405668710533970484076893415731726886668843385182052622099933211523027808119555180508866690358822503193837171067825724259350005103874749605314005628042287443450558343462826252765257276585441798539139222257021619636933498231056422473869356837620482906636302173667672409663965813360270443114104938193363199388155928959997969799217836214944437221349503593990094779244125736942910955351973393426901661473764198397102480495919442962001655979942728288127202929087063323301570303097975517733331767985171077167410669331902531405307031431659964361964145691193224494898296569683200482134545906691273353761707405994115654567148823678198970753114567617200063097614893901020670495788810552693444997979023250493659234591975054943290704904089312660689269088060632601412438631365437742852635547700055757415059489038661411235175249680974965119136511226688235998742283935622472250219363945521527661590620146565582355255106585132956620999799314502892123552327820188379486496102466179662003711987879134715771612743383052760491095570993924284601863473685055303696812193508672039504978417020944390594518824004733793983995678375838146296451422670197215974880526080046404056862493956978540891400799491090118125028592256522427478555278246871898378886608978202813807320594836935970437335125745369984429651269686083809583036181402851063560281669039104717924 2201996391058590078873349352077843272803204636172728380951315530415381665480529530237423756839983985895460190318561364885253197928969583430995502081056417689680704443099100839507077788165128718532504265741827485352128441262687962080271825762074660828386997367063166366636326567267314738742060185887631358938259427659677622285731741353287106235733895903470387578339803864475472311208342100580483423675957835370197848438409148404584551689209730495192074210668399028283122233848001704031073250778957109115759707736392198815806886238541522512645227101617688821865400007848311812028536756404678774211100082168898061722949734800109804859429990781314169736970888189287451575091029928724094616017403650671531572855484161723613503813856017342356640714269370645370150936171401167176073347032114258234466829281700661132281255978066635181551204975045483117700650463092929763478470462735513132366401459487334427039072148298572548300224857736352239144173048672732293771273788918125659169643775186682956148700745587879238394043364733552605141526825519576759982251598226651363444524664202461291739613147811174214559855756520130700617013420556436822063781143304712326124655973312691471375004022863155843255184050099891555595264619577495322719379971978770378996254274101038206959609882786936922195973838163769726046075227131721704414540274596222918452483124211394259100327626215622918343301414224265889323100034059817072986236340469262177487031871919558433047 3562905003837403796396609436282003829154139460283583524017107992544698661866505819100154159905286727152061118725967033595787168413046476846727228967725261074862757065199034051030105596284683899041370956100649988545965612330513686339621830865949410433701002995105453810086884910730140991507317462473073157477398649916699241922665239584343528709603252741090870484976106038143144720872307913940753866790062773563561047826565077364582521488427566710136511432017902622273217013092127440973984206130930502542661369210156397212909366734460965474646883081560417109992602936935375135330107059502654291944431850154069138890360404132012336264737022212974134098935033880480676069989326498407295098151949557362804926617191567717729158381004841020555611467383938262570214033786295068196743842820924810927911827260723911625940490570041690124841909879134795778389919551153562364890909094100950875219037007187390184454131637337233959535400107417327204263309559899420529770016072853748131419863139132204483810291365734444820749298471318685561762526624834079652105803926046839742931020766668640953743325135690308930331468499903183461108108991550361106665644616989767629821468166821363510879982439884100233849702874104625349579260297953333469015831394648967594971134800181084611016472376743915463087374637654859844171103819388244131893095552843094816831369733189597072907648221052558888780636539969635873752751303745900882569272521872113241047313540958663150971 5764901394895993875269958788359847101957344096456311904968423522960080327347035349337577916745270713047521309044528398481040366342016060277722731048781678764543461508298134890537183384449812617573875221842477473898094053593201648419893656628024071262088000362168620176723211477997455730249377648360704516415658077576376864208396980937630634945337148644561258063315909902618617032080650014521237290466020608933758896264974225769167073177637297205328585642686301650556339246940129145005057456909887611658421076946548596028716252973002487987292110183178105931858002944783686947358643815907333066155531932322967200613310138932122141124167012994288303835905922069768127645080356427131389714169353208034336499472675729441342662194860858362912252181653308907940364969957696235372817189853039069162378656542424572758221746548108325306393114854180278896090570014246492128369379556836464007585438466674724611493203785635806507835624965153679443407482608572152823541289861771873790589506914318887439958992111322324059143341836052238166904053450353656412088055524273491106375545430871102245482938283501483144891324256423314161725122412106797928729425760294479955946124140134054982254986462747256077104886924204516905174524917530828791735211366627737973967389074282122817976082259530852385283348475818629570217179046519965836307635827439317735283852857400991332007975847268181807123937954193901763075851337805717955555508862341375418534345412878221584018 9327806398733397671666568224641850931111483556739895428985531515504778989213541168437732076650557440199582427770495432076827534755062537124449960016506939839406218573497168941567288980734496516615246177943127462444059665923715334759515487493973481695789003357274073986810096388727596721756695110833777673893056727493076106131062220521974163654940401385652128548292015940761761752952957928461991157256083382497319944091539303133749594666064863915465097074704204272829556260032256585979041663040818114201082446156704993241625619707463453461938993264738523041850605881719062082688750875409987358099963782477036339503670543064134477388904035207262437934840955950248803715069682925538684812321302765397141426089867297159071820575865699383467863649037247170510579003743991303569561032673963880090290483803148484384162237118150015431235024733315074674480489565400054493260288650937414882804475473862114795947335422973040467371025072571006647670792168471573353311305934625621922009370053451091923769283477056768879892640307370923728666580075187736064193859450320330849306566197539743199226263419191792075222792756326497622833231403657159035395070377284247585767592306955418493134968902631356310954589798309142254753785215484162260751042761276705568938523874463207428992554636274767848370723113473489414388282865908209968200731380282412552115222590590588404915624068320740695904574494163537636828602641551618838124781384213488659581658953836884734989 15092707793629391546936527013001698033068827653196207333953955038464859316560576517775309993395828153247103736815023830557867901097078597402172691065288618603949680081795303832104472365184309134189121399785604936342153719516916983179409144121997552957877003719442694163533307866725052452006072759194482190308714805069452970339459201459604798600277550030213386611607925843380378785033607942983228447722103991431078840356513528902916667843702161120793682717390505923385895506972385730984099119950705725859503523103253589270341872680465941449231103447916628973708608826502749030047394691317320424255495714800003540116980681996256618513071048201550741770746878020016931360150039352670074526490655973431477925562543026600414482770726557746380115830690556078450943973701687538942378222527002949252669140345573057142383983666258340737628139587495353570571059579646546621629668207773878890389913940536839407440539208608846975206650037724686091078274777043726176852595796397495712598876967769979363728275588379092939035982143423161895570633525541392476281914974593821955682111628410845444709201702693275220114117012749811784558353815763956964124496137578727541713716447089473475389955365378612388059476722513659159928310133014991052486254127904443542905912948745330246968636895805620233654071589292118984605461912428175804508367207721730287399075447991579736923599915588922503028512448357439399904453979357336793680290246554864078116004366715106319007 24420514192362789218603095237643548964180311209936102762939486553969638305774117686213042070046385593446686164585519262634695435852141134526622651081795558443355898655292472773671761345918805650804367577728732398786213385440632317938924631615971034653666007076716768150343404255452649173762767870028259864201771532562529076470521421981578962255217951415865515159899941784142140537986565871445219604978187373928398784448052832036666262509767025036258779792094710196215451767004642316963140782991523840060585969259958582511967492387929394911170096712655152015559214708221811112736145566727307782355459497277039879620651225060391095901975083408813179705587833970265735075219722278208759338811958738828619351652410323759486303346592257129847979479727803248961522977445678842511939255200966829342959624148721541526546220784408356168863164320810428245051549145046601114889956858711293773194389414398954203387874631581887442577675110295692738749066945515299530163901731023117634608247021221071287497559065435861818928622450794085624237213600729128540475774424914152804988677825950588643935465121885067295336909769076309407391585219421115999519566514862975127481308754044891968524924268009968699014066520822801414682095348499153313237296889181149111844436823208537675961191532080388082024794702765608398993744778336385772709098588004142839514298038582168141839223983909663198933086942520977036733056620908955631805071630768352737697663320551991053996 39513221985992180765539622250645246997249138863132310096893441592434497622334694203988352063442213746693789901400543093192563336949219731928795342147084177047305578737087776605776233711103114784993488977514337335128367104957549301118333775737968587611543010796159462313876712122177701625768840629222742054510486337631982046809980623441183760855495501446078901771507867627522519323020173814428448052700291365359477624804566360939582930353469186157052462509485216119601347273977028047947239902942229565920089492363212171782309365068395336360401200160571780989267823534724560142783540258044628206610955212077043419737631907056647714415046131610363921476334711990282666435369761630878833865302614712260097277214953350359900786117318814876228095310418359327412466951147366381454317477727969778595628764494294598668930204450666696906491303908305781815622608724693147736519625066485172663584303354935793610828413840190734417784325148020378829827341722559025707016497527420613347207123988991050651225834653814954757964604594217247519807847126270521016757689399507974760670789454361434088644666824578342515451026781826121191949939035185072963644062652441702669195025201134365443914879633388581087073543243336460574610405481514144365723551017085592654750349771953867922929828427886008315678866292057727383599206690764561577217465795725873126913373486573747878762823899498585701961599390878416436637510600266292425485361877323216815813667687267097373003 63933736178354969984142717488288795961429450073068412859832928146404135928108811890201394133488599340140476065986062355827258772801360866455417993228879735490661477392380249379447995057021920435797856555243069733914580490398181619057258407353939622265209017872876230464220116377630350799531608499251001918712257870194511123280502045422762723110713452861944416931407809411664659861006739685873667657678478739287876409252619192976249192863236211193311242301579926315816799040981670364910380685933753405980675461623170754294276857456324731271571296873226933004827038242946371255519685824771935988966414709354083299358283132117038810317021215019177101181922545960548401510589483909087593204114573451088716628867363674119387089463911072006076074790146162576373989928593045223966256732928936607938588388643016140195476425235075053075354468229116210060674157869739748851409581925196466436778692769334747814216288471772621860362000258316071568576408668074325237180399258443730981815371010212121938723393719250816576893227045011333144045060726999649557233463824422127565659467280312022732580131946463409810787936550902430599341524254606188963163629167304677796676333955179257412439803901398549786087609764159261989292500830013297678960847906266741766594786595162405598891019959966396397703660994823335782592951469100947349926564383730015966427671525155916020602047883408248900894686333399393473370567221175248057290433508091569553511331007819088426999 103446958164347150749682339738934042958678588936200722956726369738838633550443506094189746196930813086834265967386605449019822109750580598384213335375963912537967056129468025985224228768125035220791345532757407069042947595355730920175592183091908209876752028669035692778096828499808052425300449128473743973222744207826493170090482668863946483966208954308023318702915677039187179184026913500302115710378770104647354034057185553915832123216705397350363704811065142435418146314958698412857620588875982971900764953986382926076586222524720067631972497033798713994094861777670931398303226082816564195577369921431126719095915039173686524732067346629541022658257257950831067945959245539966427069417188163348813906082317024479287875581229886882304170100564521903786456879740411605420574210656906386534217153137310738864406629685741749981845772137421991876296766594432896587929206991681639100362996124270541425044702311963356278146325406336450398403750390633350944196896785864344329022494999203172589949228373065771334857831639228580663852907853270170573991153223930102326330256734673456821224798771041752326238963332728551791291463289791261926807691819746380465871359156313622856354683534787130873161153007495722563902906311527442044684398923352334421345136367116273521820848387852404713382527286881063166192158159865508927144030179455889093341045011729663899364871782906834602856285724277809910008077821441540482775795385414786369324998695086185800002 167380694342702120733825057227222838920108039009269135816559297885242769478552317984391140330419412426974742033372667804847080882551941464839631328604843648028628533521848275364672223825146955656589202088000476802957528085753912539232850590445847832141961046541911923242316944877438403224832057627724745891935002078021004293370984714286709207076922407169967735634323486450851839045033653186175783368057248843935230443309804746892081316079941608543674947112645068751234945355940368777768001274809736377881440415609553680370863079981044798903543793907025646998921900020617302653822911907588500184543784630785210018454198171290725335049088561648718123840179803911379469456548729449054020273531761614437530534949680698598674965045140958888380244890710684480160446808333456829386830943585842994472805541780326879059883054920816803057200240366538201936970924464172645439338788916878105537141688893605289239260990783735978138508325664652521966980159058707676181377296044308075310837866009415294528672622092316587911751058684239913807897968580269820131224617048352229891989724014985479553804930717505162137026899883630982390632987544397450889971320987051058262547693111492880268794487436185680659248762771654984553195407141540739723645246829619076187939922962278679120711868347818801111086188281704398948785109628966456277070594563185905059768716536885579919966919666315083503750972057677203383378645042616788540066228893506355922836329702905274227001 270827652507049271483507396966156881878786627945469858773285667624081403028995824078580886527350225513809008000759273253866902992302522063223844663980807560566595589651316301349896452593271990877380547620757883872000475681109643459408442773537756042018713075210947616020413773377246455650132506756198489865157746285847497463461467383150655691043131361477991054337239163490039018229060566686477899078436018948582584477366990300807913439296647005894038651923710211186653091670899067190625621863685719349782205369595936606447449302505764866535516290940824360993016761798288234052126137990405064380121154552216336737550113210464411859781155908278259146498437061862210537402507974989020447342948949777786344441031997723077962840626370845770684414991275206383946903688073868434807405154242749381007022694917637617924289684606558553039046012503960193813267691058605542027267995908559744637504685017875830664305693095699334416654651070988972365383909449341027125574192830172419639860361008618467118621850465382359246608890323468494471750876433539990705215770272282332218319980749658936375029729488546914463265863216359534181924450834188712816779012806797438728419052267806503125149170970972811532409915779150707117098313453068181768329645752971410609285059329394952642532716735671205824468715568585462114977267788831965204214624742641794153109761548615243819331791449221918106607257781955013293386722864058329022842024278921142292161328397991460027003 438208346849751392217332454193379720798894666954738994589844965509324172507548142062972026857769637940783750034131941058713983874854463528063475992585651208595224123173164576714568676418418946533969749708758360674958003766863555998641293363983603874160674121752859539262730718254684858874964564383923235757092748363868501756832452097437364898120053768647958789971562649940890857274094219872653682446493267792517814920676795047699994755376588614437713599036355279937888037026839435968393623138495455727663645785205490286818312382486809665439060084847850007991938661818905536705949049897993564564664939183001546756004311381755137194830244469926977270338616865773590006859056704438074467616480711392223874975981678421676637805671511804659064659881985890864107350496407325264194236097828592375479828236697964496984172739527375356096246252870498395750238615522778187466606784825437850174646373911481119903566683879435312555162976735641494332364068508048703306951488874480494950698227018033761647294472557698947158359949007708408279648845013809810836440387320634562110309704764644415928834660206052076600292763099990516572557438378586163706750333793848496990966745379299383393943658407158492191658678550805691670293720594608921491974892582590486797224982291673631763244585083490006935554903850289861063762377417798421481285219305827699212878478085500823739298711115537001610358229839632216676765367906675117562908253172427498214997658100896734254004 709035999356800663700839851159536602677681294900208853363130633133405575536543966141552913385119863454592758034891214312580886867156985591287320656566458769161819712824480878064465129011690937411350297329516244546958479447973199458049736137521359916179387196963807155283144491631931314525097071140121725622250494649715999220293919480588020589163185130125949844308801813430929875503154786559131581524929286741100399398043785348507908194673235620331752250960065491124541128697738503159019245002181175077445851154801426893265761684992574531974576375788674368984955423617193770758075187888398628944786093735217883493554424592219549054611400378205236416837053927635800544261564679427094914959429661170010219417013676144754600646297882650429749074873261097248054254184481193699001641252071341756486850931615602114908462424133933909135292265374458589563506306581383729493874780733997594812151058929356950567872376975134646971817627806630466697747977957389730432525681704652914590558588026652228765916323023081306404968839331176902751399721447349801541656157592916894328629685514303352303864389694598991063558626316350050754481889212774876523529346600645935719385797647105886519092829378131303724068594329956398787392034047677103260304538335561897406510041621068584405777301819161212760023619418875323178739645206630386685499844048469493365988239634116067558630502564758919716965487621587229970152090770733446585750277451348640507158986498888194281007 1147244346206552055918172305352916323476575961854947847952975598642729748044092108204524940242889501395376508069023155371294870742011449119350796649152109977757043835997645454779033805430109883945320047038274605221916483214836755456691029501504963790340061318716666694545875209886616173400061635524044961379343243013584500977126371578025385487283238898773908634280364463371820732777249006431785263971422554533618214318720580396207902950049824234769465849996420771062429165724577939127412868140676630805109496940006917180084074067479384197413636460636524376976894085436099307464024237786392193509451032918219430249558735973974686249441644848132213687175670793409390551120621383865169382575910372562234094392995354566431238451969394455088813734755246988112161604680888518963195877349899934131966679168313566611892635163661309265231538518244956985313744922104161916960481565559435444986797432840838070471439060854569959526980604542271961030112046465438433739477170579133409541256815044685990413210795580780253563328788338885311031048566461159612378096544913551456438939390278947768232699049900651067663851389416340567327039327591361040230279680394494432710352543026405269913036487785289795915727272880762090457685754642286024752279430918152384203735023912742216169021886902651219695578523269165184242502022624428808166785063354297192578866717719616891297929213680295921327323717461219446646917458677408564148658530623776138722156644599784928535011 1856280345563352719619012156512452926154257256755156701316106231776135323580636074346077853628009364849969266103914369683875757609168434710638117305718568746918863548822126332843498934441800821356670344367790849768874962662809954914740765639026323706519448515680473849829019701518547487925158706664166687001593737663300500197420291058613406076446424028899858478589166276802750608280403792990916845496351841274718613716764365744715811144723059855101218100956486262186970294422316442286432113142857805882555348094808344073349835752471958729388212836425198745961849509053293078222099425674790822454237126653437313743113160566194235304053045226337450104012724721045191095382186063292264297535340033732244313810009030711185839098267277105518562809628508085360215858865369712662197518601971275888453530099929168726801097587795243174366830783619415574877251228685545646454356346293433039798948491770195021039311437829704606498798232348902427727860024422828164172002852283786324131815403071338219179127118603861559968297627670062213782448287908509413919752702506468350767569075793251120536563439595250058727410015732690618081521216804135916753809026995140368429738340673511156432129317163421099639795867210718489245077788689963128012583969253714281610245065533810800574799188721812432455602142688040507421241667831059194852284907402766685944854957353732958856559716245054841044289205082806676617069549448142010734408808075124779229315631098673122816018 3003524691769904775537184461865369249630833218610104549269081830418865071624728182550602793870898866245345774172937525055170628351179883829988913954870678724675907384819771787622532739871910705301990391406065454990791445877646710371431795140531287496859509834397140544374894911405163661325220342188211648380936980676885001174546662636638791563729662927673767112869530740174571341057652799422702109467774395808336828035484946140923714094772884089870683950952907033249399460146894381413844981283534436687664845034815261253433909819951342926801849297061723122938743594489392385686123663461183015963688159571656743992671896540168921553494690074469663791188395514454581646502807447157433680111250406294478408203004385277617077550236671560607376544383755073472377463546258231625393395951871210020420209268242735338693732751456552439598369301864372560190996150789707563414837911852868484785745924611033091510750498684274566025778836891174388757972070888266597911480022862919733673072218116024209592337914184641813531626416008947524813496854369669026297849247420019807206508466072198888769262489495901126391261405149031185408560544395496956984088707389634801140090883699916426345165804948710895555523140091480579702763543332249152764863400171866665813980089446553016743821075624463652151180665957205691663743690455488003019069970757063878523721675073349850154488929925350762371612922544026123263987008125550574883067338698900917951472275698458051351029 4859805037333257495156196618377822175785090475365261250585188062195000395205364256896680647498908231095315040276851894739046385960348318540627031260589247471594770933641898120466031674313711526658660735773856304759666408540456665286172560779557611203378958350077614394203914612923711149250379048852378335382530718340185501371966953695252197640176086956573625591458697016977321949338056592413618954964126237083055441752249311885639525239495943944971902051909393295436369754569210823700277094426392242570220193129623605326783745572423301656190062133486921868900593103542685463908223089135973838417925286225094057735785057106363156857547735300807113895201120235499772741884993510449697977646590440026722722013013415988802916648503948666125939354012263158832593322411627944287590914553842485908873739368171904065494830339251795613965200085483788135068247379475253209869194258146301524584694416381228112550061936513979172524577069240076816485832095311094762083482875146706057804887621187362428771465032788503373499924043679009738595945142278178440217601949926488157974077541865450009305825929091151185118671420881721803490081761199632873737897734384775169569829224373427582777295122112131995195319007302199068947841332022212280777447369425580947424225154980363817318620264346276084606782808645246199084985358286547197871354878159830564468576632427082809011048646170405603415902127626832799881056557573692585617476146774025697180787906797131174167047 7863329729103162270693381080243191425415923693975365799854269892613865466830092439447283441369807097340660814449789419794217014311528202370615945215459926196270678318461669908088564414185622231960651127179921759750457854418103375657604355920088898700238468184474754938578809524328874810575599391040589983763467699017070502546513616331890989203905749884247392704328227757151893290395709391836321064431900632891392269787734258026563239334268828034842586002862300328685769214716105205114122075709926679257885038164438866580217655392374644582991911430548644991839336698032077849594346752597156854381613445796750801728456953646532078411042425375276777686389515749954354388387800957607131657757840846321201130216017801266419994198740620226733315898396018232304970785957886175912984310505713695929293948636414639404188563090708348053563569387348160695259243530264960773284032169999170009370440340992261204060812435198253738550355906131251205243804166199361359994962898009625791477959839303386638363802946973145187031550459687957263409441996647847466515451197346507965180586007937648898075088418587052311509932826030752988898642305595129830721986441774409970709920108073344009122460927060842890750842147393679648650604875354461433542310769597447613238205244426916834062441339970739736757963474602451890748729048742035200890424848916894442992298307500432659165537576095756365787515050170858923145043565699243160500543485472926615132260182495589225518076 12723134766436419765849577698621013601201014169340627050439457954808865862035456696343964088868715328435975854726641314533263400271876520911242976476049173667865449252103568028554596088499333758619311862953778064510124262958560040943776916699646509903617426534552369332782724137252585959825978439892968319145998417357256003918480570027143186844081836840821018295786924774129215239733765984249940019396026869974447711539983569912202764573764771979814488054771693624122138969285316028814399170136318921828105231294062471907001400964797946239181973564035566860739929801574763313502569841733130692799538732021844859464242010752895235268590160676083891581590635985454127130272794468056829635404431286347923852229031217255222910847244568892859255252408281391137564108369514120200575225059556181838167688004586543469683393429960143667528769472831948830327490909740213983153226428145471533955134757373489316610874371712232911074932975371328021729636261510456122078445773156331849282847460490749067135267979761648560531474503366967002005387138926025906733053147272996123154663549803098907380914347678203496628604246912474792388724066794762704459884176159185140279749332446771591899756049172974885946161154695878717598446207376673714319758139023028560662430399407280651381061604317015821364746283247698089833714407028582398761779727076725007460874939927515468176586222266161969203417177797691723026100123272935746118019632246952312313048089292720399685123 20586464495539582036542958778864205026616937863315992850293727847422731328865549135791247530238522425776636669176430734327480414583404723281858921691509099864136127570565237936643160502684955990579962990133699824260582117376663416601381272619735408603855894719027124271361533661581460770401577830933558302909466116374326506464994186359034176047987586725068411000115152531281108530129475376086261083827927502865839981327717827938766003908033600014657074057633993952807908184001421233928521245846245601085990269458501338487219056357172590822173884994584211852579266499606841163096916594330287547181152177818595661192698964399427313679632586051360669267980151735408481518660595425663961293162272132669124982445049018521642905045985189119592571150804299623442534894327400296113559535565269877767461636641001182873871956520668491721092338860180109525586734440005174756437258598144641543325575098365750520671686806910486649625288881502579226973440427709817482073408671165957640760807299794135705499070926734793747563024963054924265414829135573873373248504344619504088335249557740747805456002766265255808138537072943227781287366372389892535181870617933595110989669440520115601022216976233817776697003302089558366249051082731135147862068908620476173900635643834197485443502944287755558122709757850149980582443455770617599652204575993619450453173247427948127342123798361918334990932227968550646171143688972178906618563117719878927445308271788309625203199 33309599261976001802392536477485218627817952032656619900733185802231597190901005832135211619107237754212612523903072048860743814855281244193101898167558273532001576822668805965197756591184289749199274853087477888770706380335223457545158189319381918507473321253579493604144257798834046730227556270826526622055464533731582510383474756386177362892069423565889429295902077305410323769863241360336201103223954372840287692867701397850968768481798371994471562112405687576930047153286737262742920415982564522914095500752563810394220457321970537061355858558619778713319196301181604476599486436063418239980690909840440520656940975152322548948222746727444560849570787720862608648933389893720790928566703419017048834674080235776865815893229758012451826403212581014580099002696914416314134760624826059605629324645587726343555349950628635388621108333012058355914225349745388739590485026290113077280709855739239837282561178622719560700221856873907248703076689220273604151854444322289490043654760284884772634338906496442308094499466421891267420216274499899279981557491892500211489913107543846712836917113943459304767141319855702573676090439184655239641754794092780251269418772966887192921973025406792662643164456785437083847497290107808862181827047643504734563066043241478136824564548604771379487456041097848070416157862799199998413984303070344457914048187355463595518710020628080304194349405766242369197243812245114652736582749966831239758356361081030024888322 53896063757515583838935495256349423654434889895972612751026913649654328519766554967926459149345760179989249193079502783188224229438685967474960819859067373396137704393234043901840917093869245739779237843221177713031288497711886874146539461939117327111329215972606617875505791460415507500629134101760084924964930650105909016848468942745211538940057010290957840296017229836691432299992716736422462187051881875706127674195419225789734772389831972009128636170039681529737955337288158496671441661828810124000085770211065148881439513679143127883529743553203990565898462800788445639696403030393705787161843087659036181849639939551749862627855332778805230117550939456271090167593985319384752221728975551686173817119129254298508720939214947132044397554016880638022633897024314712427694296190095937373090961286588909217427306471297127109713447193192167881500959789750563496027743624434754620606284954104990357954247985533206210325510738376486475676517116930091086225263115488247130804462060079020478133409833231236055657524429476815532835045410073772653230061836512004299825162665284594518292919880208715112905678392798930354963456811574547774823625412026375362259088213487002793944190001640610439340167758874995450096548372838944010043895956263980908463701687075675622268067492892526937610165798947998050998601318569817598066188879063963908367221434783411722860833818989998639185281633734793015368387501217293559355145867686710167203664632869339650091521 87205663019491585641328031733834642282252841928629232651760099451885925710667560800061670768452997934201861716982574832048968044293967211668062718026625646928139281215902849867038673685053535488978512696308655601801994878047110331691697651258499245618802537226186111479650049259249554230856690372586611547020395183837491527231943699131388901832126433856847269591919307142101756069855958096758663290275836248546415367063120623640703540871630344003600198282445369106668002490574895759414362077811374646914181270963628959275659971001113664944885602111823769279217659101970050116295889466457124027142533997499476702506580914704072411576078079506249790967121727177133698816527375213105543150295678970703222651793209490075374536832444705144496223957229461652602732899721229128741829056814921996978720285932176635560982656421925762498334555526204226237415185139495952235618228650724867697886994809844230195236809164155925771025732595250393724379593806150364690377117559810536620848116820363905250767748739727678363752023895898706800255261684573671933211619328404504511315075772828441231129836994152174417672819712654632928639547250759203014465380206119155613528506986453889986866163027047403101983332215660432533944045662946752872225723003907485643026767730317153759092632041497298317097621840045846121414759181369017596480173182134308366281269622138875318379543839618078943379631039501035384565631313462408212091728617653541406962020993950369674979843 141101726777007169480263526990184065936687731824601845402787013101540254230434115767988129917798758114191110910062077615237192273732653179143023537885693020324276985609136893768879590778922781228757750539529833314833283375758997205838237113197616572730131753198792729355155840719665061731485824474346696471985325833943400544080412641876600440772183444147805109887936536978793188369848674833181125477327718124252543041258539849430438313261462316012728834452485050636405957827863054256085803739640184770914267041174694108157099484680256792828415345665027759845116121902758495755992292496850829814304377085158512884356220854255822274203933412285055021084672666633404788984121360532490295372024654522389396468912338744373883257771659652276540621511246342290625366796745543841169523353005017934351811247218765544778409962893222889608048002719396394118916144929246515731645972275159622318493279763949220553191057149689131981351243333626880200056110923080455776602380675298783751652578880442925728901158572958914419409548325375522333090307094647444586441681164916508811140238438113035749422756874360889530578498105453563283603004062333750789289005618145530975787595199940892780810353028688013541323499974535427984040594035785696882269618960171466551490469417392829381360699534389825254707787638993844172413360499938835194546362061198272274648491056922287041240377658608077582564912673235828399934018814679701771446874485340251574165685626819709325071364 228307389796498755121591558724018708218940573753231078054547112553426179941101676568049800686251756048392972627044652447286160318026620390811086255912318667252416266825039743635918264463976316717736263235838488916635278253806107537529934764456115818348934290424978840834805889978914615962342514846933308019005721017780892071312356341007989342604309878004652379479855844120894944439704632929939788767603554372798958408321660473071141854133092660016329032734930419743073960318437950015500165817451559417828448312138323067432759455681370457773300947776851529124333781004728545872288181963307953841446911082657989586862801768959894685780011491791304812051794393810538487800648735745595838522320333493092619120705548234449257794604104357421036845468475803943228099696466772969911352409819939931330531533150942180339392619315148652106382558245600620356331330068742467967264200925884490016380274573793450748427866313845057752376975928877273924435704729230820466979498235109320372500695700806830979668907312686592783161572221274229133345568779221116519653300493321013322455314210941476980552593868513063948251317818108196212242551313092953803754385824264686589316102186394782767676516055735416643306832190195860517984639698732449754495341964078952194517237147709983140453331575887123571805409479039690293828119681307852791026535243332580640929760679061162359619921498226156525944543712736863784499650128142109983538603102993792981127706620770079000051207 369409116573505924601855085714202774155628305577832923457334125654966434171535792336037930604050514162584083537106730062523352591759273569954109793798011687576693252434176637404797855242899097946494013775368322231468561629565104743368171877653732391079066043623771570189961730698579677693828339321280004490991046851724292615392768982884589783376493322152457489367792381099688132809553307763120914244931272497051501449580200322501580167394554976029057867187415470379479918146301004271585969557091744188742715353313017175589858940361627250601716293441879288969449902907487041628280474460158783655751288167816502471219022623215716959983944904076359833136467060443943276784770096278086133894344988015482015589617886978823141052375764009697577466979722146233853466493212316811080875762824957865682342780369707725117802582208371541714430560964997014475247474997988983698910173201044112334873554337742671301618923463534189733728219262504154124491815652311276243581878910408104124153274581249756708570065885645507202571120546649751466435875873868561106094981658237522133595552649054512729975350742873953478829815923561759495845555375426704593043391442410217565103697386335675548486869084423430184630332164731288502025233734518146636764960924250418746007706565102812521814031110276948826513197118033534466241480181246687985572897304530852915578251735983449400860299156834234108509456385972692184433668942821811754985477588334044555293392247589788325122571 597716506370004679723446644438221482374568879331064001511881238208392614112637468904087731290302270210977056164151382509809512909785893960765196049710330354829109519259216381040716119706875414664230277011206811148103839883371212280898106642109848209428000334048750411024767620677494293656170854168213312509996767869505184686705125323892579125980803200157109868847648225220583077249257940693060703012534826869850459857901860795572722021527647636045386899922345890122553878464738954287086135374543303606571163665451340243022618396042997708375017241218730818093783683912215587500568656423466737497198199250474492058081824392175611645763956395867664645188261454254481764585418832023681972416665321508574634710323435213272398846979868367118614312448197950177081566189679089780992228172644897797012874313520649905457195201523520193820813119210597634831578805066731451666174374126928602351253828911536122050046789777379247486105195191381428048927520381542096710561377145517424496653970282056587688238973198332099985732692767923980599781444653089677625748282151558535456050866859995989710527944611387017427081133741669955708088106688519658396797777266674904154419799572730458316163385140158846827937164354927149020009873433250596391260302888329370940524943712812795662267362686164072398318606597073224760069599862554540776599432547863433556508012415044611760480220655060390634454000098709555968933319070963921738524080691327837536421098868359867325173778 967125622943510604325301730152424256530197184908896924969215363863359048284173261240125661894352784373561139701258112572332865501545167530719305843508342042405802771693393018445513974949774512610724290786575133379572401512936317024266278519763580600507066377672521981214729351376073971349999193489493317000987814721229477302097894306777168909357296522309567358215440606320271210058811248456181617257466099366901961307482061118074302188922202612074444767109761360502033796611039958558672104931635047795313879018764357418612477336404624958976733534660610107063233586819702629128849130883625521152949487418290994529300847015391328605747901299944024478324728514698425041370188928301768106311010309524056650299941322192095539899355632376816191779427920096410935032682891406592073103935469855662695217093890357630574997783731891735535243680175594649306826280064720435365084547327972714686127383249278793351665713240913437219833414453885582173419336033853372954143256055925528620807244863306344396809039083977607188303813314573732066217320526958238731843263809796057589646419509050502440503295354260970905910949665231715203933662063946362989841168709085121719523496959066133864650254224582277012567496519658437522035107167768743028025263812579789686532650277915608184081393796441021224831803715106759226311080043801228762172329852394286472086264151028061161340519811894624742963456484682248153366988013785733493509558279661882091714491115949655650296349 1564842129313515284048748374590645738904766064239960926481096602071751662396810730144213393184655054584538195865409495082142378411331061491484501893218672397234912290952609399486230094656649927274954567797781944527676241396307529305164385161873428809935066711721272392239496972053568265006170047657706629510984582590734661988803019630669748035338099722466677227063088831540854287308069189149242320270000926236752421165383921913647024210449850248119831667032107250624587675075778912845758240306178351401885042684215697661635095732447622667351750775879340925157017270731918216629417787307092258650147686668765486587382671407566940251511857695811689123512989968952906805955607760325450078727675631032631285010264757405367938746335500743934806091876118046588016598872570496373065332108114753459708091407411007536032192985255411929356056799386192284138405085131451887031258921454901317037381212160814915401712503018292684705938609645267010222346856415395469664704633201442953117461215145362932085048012282309707174036506082497712665998765180047916357591545961354593045697286369046492151031239965647988332992083406901670912021768752466021386638945975760025873943296531796592180813639364741123840504660874585586542044980601019339419285566700909160627057593990728403846348756482605093623150410312179983986380679906355769538771762400257720028594276566072672921820740466955015377417456583391804122300307084749655232033638970989719628135589984309522975470127 2531967752257025888374050104743069995434963249148857851450311965935110710680983991384339055079007838958099335566667607654475243912876229022203807736727014439640715062646002417931744069606424439885678858584357077907248642909243846329430663681637009410442133089393794373454226323429642236356169241147199946511972397311964139290900913937446916944695396244776244585278529437861125497366880437605423937527467025603654382472865983031721326399372052860194276434141868611126621471686818871404430345237813399197198921702980055080247573068852247626328484310539951032220250857551620845758266918190717779803097174087056481116683518422958268857259758995755713601837718483651331847325796688627218185038685940556687935310206079597463478645691133120750997871304038142998951631555461902965138436043584609122403308501301365166607190768987303664891300479561786933445231365196172322396343468782874031723508595410093708753378216259206121925772024099152592395766192449248842618847889257368481738268460008669276481857051366287314362340319397071444732216085707006155089434809771150650635343705878096994591534535319908959238903033072133386115955430816412384376480114684845147593466793490862726045463893589323400853072157394244024064080087768788082447310830513488950313590244268644012030430150279046114847982214027286743212691759950156998300944092252652006500680540717100734083161260278849640120380913068074052275667295098535388725543197250651601719850081100259178625766476 4096809881570541172422798479333715734339729313388818777931408568006862373077794721528552448263662893542637531432077102736617622324207290513688309629945686836875627353598611817417974164263074367160633426382139022434924884305551375634595048843510438220377199801115066765693723295483210501362339288804906576022956979902698801279703933568116664980033495967242921812341618269401979784674949626754666257797467951840406803638249904945368350609821903108314108101173975861751209146762597784250188585543991750599083964387195752741882668801299870293680235086419291957377268128283539062387684705497810038453244860755821967704066189830525209108771616691567402725350708452604238653281404448952668263766361571589319220320470837002831417392026633864685803963180156189586968230428032399338203768151699362582111399908712372702639383754242715594247357278947979217583636450327624209427602390237775348760889807570908624155090719277498806631710633744419602618113048864644312283552522458811434855729675154032208566905063648597021536376825479569157398214850887054071447026355732505243681040992247143486742565775285556947571895116479035057027977199568878405763119060660605173467410090022659318226277532954064524693576818268829610606125068369807421866596397214398110940647838259372415876778906761651208471132624339466727199072439856512767839715854652909726529274817283173407004982000745804655497798369651465856397967602183285043957576836221641321347985671084568701601236603 6628777633827567060796848584076785729774692562537676629381720533941973083758778712912891503342670732500736866998744710391092866237083519535892117366672701276516342416244614235349718233869498807046312284966496100342173527214795221964025712525147447630819332890508861139147949618912852737718508529952106522534929377214662940570604847505563581924728892212019166397620147707263105282041830064360090195324934977444061186111115887977089677009193955968508384535315844472877830618449416655654618930781805149796282886090175807822130241870152117920008719396959242989597518985835159908145951623688527818256342034842878448820749708253483477966031375687323116327188426936255570500607201137579886448805047512146007155630676916600294896037717766985436801834484194332585919861983494302303342204195283971704514708410013737869246574523230019259138657758509766151028867815523796531823945859020649380484398402981002332908468935536704928557482657843572195013879241313893154902400411716179916593998135162701485048762115014884335898717144876640602130430936594060226536461165503655894316384698125240481334100310605465906810798149551168443143932630385290790139599175345450321060876883513522044271741426543387925546648975663073634670205156138595504313907227727887061254238082528016427907209057040697323319114838366753470411764199806669766140659946905561733029955358000274141088143261024654295618179282719539908673634897281820432683120033472292923067835752184827880227003079 10725587515398108233219647063410501464114421875926495407313129101948835456836573434441443951606333626043374398430821813127710488561290810049580426996618388113391969769843226052767692398132573174206945711348635122777098411520346597598620761368657885851196532691623927904841672914396063239080847818757013098557886357117361741850308781073680246904762388179262088209961765976665085066716779691114756453122402929284467989749365792922458027619015859076822492636489820334629039765212014439904807516325796900395366850477371560564012910671451988213688954483378534946974787114118698970533636329186337856709586895598700416524815898084008687074802992378890519052539135388859809153888605586532554712571409083735326375951147753603126313429744400850122605797664350522172888092411526701641545972346983334286626108318726110571885958277472734853386015037457745368612504265851420741251548249258424729245288210551910957063559654814203735189193291587991797631992290178537467185952934174991351449727810316733693615667178663481357435093970356209759528645787481114297983487521236161137997425690372383968076666085891022854382693266030203500171909829954169195902718236006055494528286973536181362498018959497452450240225793931903245276330224508402926180503624942285172194885920787388843783987963802348531790247462706220197610836639663182533980375801558471459559230175283447548093125261770458951115977652371005765071602499465105476640696869693934244415821423269396581828239682 17354365149225675294016495647487287193889114438464172036694849635890808540595352147354335454949004358544111265429566523518803354798374329585472544363291089389908312186087840288117410632002071981253257996315131223119271938735141819562646473893805333482015865582132789043989622533308915976799356348709119621092815734332024682420913628579243828829491280391281254607581913683928190348758609755474846648447337906728529175860481680899547704628209815045330877171805664807506870383661431095559426447107602050191649736567547368386143152541604106133697673880337777936572306099953858878679587952874865674965928930441578865345565606337492165040834368066213635379727562325115379654495806724112441161376456595881333531581824670203421209467462167835559407632148544854758807954395021003944888176542267305991140816728739848441132532800702754112524672795967511519641372081375217273075494108279074109729686613532913289972028590350908663746675949431563992645871531492430622088353345891171268043725945479435178664429293678365693333811115232850361659076724075174524519948686739817032313810388497624449410766396496488761193491415581371943315842460339459986042317411351505815589163857049703406769760386040840375786874769594976879946535380646998430494410852670172233449124003315405271691197020843045855109362301072973668022600839469852300121035748464033192589185533283721689181268522795113246734156935090545673745237396746925909323816903166227167483657175454224462055242761 28079952664623783527236142710897788658003536314390667444007978737839643997431925581795779406555337984587485663860388336646513843359665139635052971359909477503300281955931066340885103030134645155460203707663766345896370350255488417161267235262463219333212398273756716948831295447704979215880204167466132719650702091449386424271222409652924075734253668570543342817543679660593275415475389446589603101569740836012997165609847473822005732247225674122153369808295485142135910148873445535464233963433398950587016587044918928950156063213056094347386628363716312883547093214072557849213224282061203531675515826040279281870381504421500852115637360445104154432266697713975188808384412310644995873947865679616659907532972423806547522897206568685682013429812895376931696046806547705586434148889250640277766925047465959013018491078175488965910687833425256888253876347226638014327042357537498838974974824084824247035588245165112398935869241019555790277863821670968089274306280066162619493453755796168872280096472341847050768905085589060121187722511556288822503436207975978170311236078870008417487432482387511615576184681611575443487752290293629181945035647357561310117450830585884769267779345538292826027100563526880125222865605155401356674914477612457405644009924102794115475184984645394386899609763779193865633437479133034834101411550022504652148415708567169237274393784565572197850134587461551438816839896212031385964513772860161411899478598723621043883482443 45434317813849458821252638358385075851892650752854839480702828373730452538027277729150114861504342343131596929289954860165317198158039469220525515723200566893208594142018906629002513662136717136713461703978897569015642288990630236723913709156268552815228263855889505992820917981013895192679560516175252340743517825781411106692136038232167904563744948961824597425125593344521465764233999202064449750017078742741526341470329154721553436875435489167484246980101149949642780532534876631023660410541001000778666323612466297336299215754660200481084302244054090820119399314026416727892812234936069206641444756481858147215947110758993017156471728511317789811994260039090568462880219034757437035324322275497993439114797094009968732364668736521241421061961440231690504001201568709531322325431517946268907741776205807454151023878878243078435360629392768407895248428601855287402536465816572948704661437617737537007616835516021062682545190451119782923735353163398711362659625957333887537179701275604050944525766020212744102716200821910482846799235631463347023384894715795202625046467367632866898198878884000376769676097192947386803594750633089167987353058709067125706614687635588176037539731579133201813975333121857005169400985802399787169325330282629639093133927418199387166382005488440242008972064852167533656038318602887134222447298486537844737601241850890926455662307360685444584291522552097112562077292958957295288330676026388579383135774177845505938725204 73514270478473242348488781069282864509896187067245506924710807111570096535459203310945894268059680327719082593150343196811831041517704608855578487083110044396508876097949972969887616692271362292173665411642663914912012639246118653885180944418731772148440662129646222941652213428718874408559764683641385060394219917230797530963358447885091980297998617532367940242669273005114741179709388648654052851586819578754523507080176628543559169122661163289637616788396635091778690681408322166487894373974399951365682910657385226286455278967716294828470930607770403703666492528098974577106036516997272738316960582522137429086328615180493869272109088956421944244260957753065757271264631345402432909272187955114653346647769517816516255261875305206923434491774335608622200048008116415117756474320768586546674666823671766467169514957053732044346048462818025296149124775828493301729578823354071787679636261702561784043205080681133461618414431470675573201599174834366800636965906023496507030633457071772923224622238362059794871621286410970604034521747187752169526821102691773372936282546237641284385631361271511992345860778804522830291347040926718349932388706066628435824065518221472945305319077117426027841075896648737130392266590957801143844239807895087044737143851520993502641566990133834628908581828631361399289475797735921968323858848509042496886016950418060163730056091926257642434426110013648551378917189170988681252844448886549991282614372901466549822207647 118948588292322701169741419427667940361788837820100346405413635485300549073486481040096009129564022670850679522440298056977148239675744078076104002806310611289717470239968879598890130354408079428887127115621561483927654928236748890609094653575000324963668925985535728934473131409732769601239325199816637401137737743012208637655494486117259884861743566494192537667794866349636206943943387850718502601603898321496049848550505783265112605998096652457121863768497785041421471213943198797511554784515400952144349234269851523622754494722376495309555232851824494523785891842125391304998848751933341944958405339003995576302275725939486886428580817467739734056255217792156325734144850380159869944596510230612646785762566611826484987626544041728164855553735775840312704049209685124649078799752286532815582408599877573921320538835931975122781409092210793704044373204430348589132115289170644736384297699320299321050821916197154524300959621921795356125334527997765511999625531980830394567813158347376974169148004382272538974337487232881086881320982819215516550205997407568575561329013605274151283830240155512369115536875997470217094941791559807517919741764775695561530680205857061121342858808696559229655051229770594135561667576760200931013565138177716683830277778939192889807948995622274870917553893483528932945514116338809102546306146995580341623618192268951090185718399286943087018717632565745663940994482129945976541175124912938570665750147079312055760932851 192462858770795943518230200496950804871685024887345853330124442596870645608945684351041903397623702998569762115590641253788979281193448686931682489889420655686226346337918852568777747046679441721060792527264225398839667567482867544494275597993732097112109588115181951876125344838451644009799089883458022461531957660243006168618852934002351865159742184026560477910464139354750948123652776499372555453190717900250573355630682411808671775120757815746759480556894420133200161895351520963999449158489800903510032144927236749909209773690092790138026163459594898227452384370224365882104885268930614683275365921526133005388604341119980755700689906424161678300516175545222083005409481725562302853868698185727300132410336129643001242888419346935088290045510111448934904097217801539766835274073055119362257075423549340388490053792985707167127457555028819000193497980258841890861694112524716524063933961022861105094026996878287985919374053392470929326933702832132312636591438004326901598446615419149897393770242744332333845958773643851690915842730006967686077027100099341948497611559842915435669461601427024361461397654801993047386288832486525867852130470842323997354745724078534066648177885813985257496127126419331265953934167718002074857804946072803728567421630460186392449515985756109499826135722114890332234989914074731070870164995504622838509635142687011253915774491213200729453143742579394215319911671300934657794019573799488561948364519980778605583140498 311411447063118644687971619924618745233473862707446199735538078082171194682432165391137912527187725669420441638030939310766127520869192765007786492695731266975943816577887732167667877401087521149947919642885786882767322495719616435103370251568732422075778514100717680810598476248184413611038415083274659862669695403255214806274347420119611750021485750520753015578259005704387155067596164350091058054794616221746623204181188195073784381118854468203881344325392205174621633109294719761511003943005201855654381379197088273531964268412469285447581396311419392751238276212349757187103734020863956628233771260530128581690880067059467642129270723891901412356771393337378408739554332105722172798465208416339946918172902741469486230514963388663253145599245887289247608146427486664415914073825341652177839484023426914309810592628917682289908866647239612704237871184689190479993809401695361260448231660343160426144848913075442510220333675314266285452268230829897824636216969985157296166259773766526871562918247126604872820296260876732777797163712826183202627233097506910524058940573448189586953291841582536730576934530799463264481230624046333385771872235618019558885425929935595187991036694510544487151178356189925401515601744478203005871370084250520412397699409399379282257464981378384370743689615598419265180504030413540173416471142500203180133253334955962344101492890500143816471861375145139879260906153430880634335194698712427132614114667060090661344073349 503874305833914588206201820421569550105158887594792053065662520679041840291377849742179815924811428667990203753621580564555106802062641451939468982585151922662170162915806584736445624447766962871008712170150012281606990063202483979597645849562464519187888102215899632686723821086636057620837504966732682324201653063498220974893200354121963615181227934547313493488723145059138103191248940849463613507985334121997196559811870606882456156239612283950640824882286625307821795004646240725510453101495002759164413524124325023441174042102562075585607559771014290978690660582574123069208619289794571311509137182056261587079484408179448397829960630316063090657287568882600491744963813831284475652333906602067247050583238871112487473403382735598341435644755998738182512243645288204182749347898396771540096559446976254698300646421903389457036324202268431704431369164948032370855503514220077784512165621366021531238875909953730496139707728706737214779201933662030137272808407989484197764706389185676768956688489870937206666255034520584468713006442833150888704260197606252472556552133291105022622753443009561092038332185601456311867519456532859253624002706460343556240171654014129254639214580324529744647305482609256667469535912196205080729175030323324140965121039859565674706980967134493870569825337713309597415493944488271244286636138004826018642888477642973598017267381713344545925005117724534094580817824731815292129214272511915694562479187040869266927213847 815285752897033232894173440346188295338632750302238252801200598761213034973810015133317728451999154337410645391652519875321234322931834216947255475280883189638113979493694316904113501848854484020956631813035799164374312558922100414701016101131196941263666616316617313497322297334820471231875920050007342186871348466753435781167547774241575365202713685068066509066982150763525258258845105199554671562779950343743819763993058801956240537358466752154522169207678830482443428113940960487021457044500204614818794903321413296973138310515031361033188956082433683729928936794923880256312353310658527939742908442586390168770364475238916039959231354207964503014058962219978900484518145937006648450799115018407193968756141612581973703918346124261594581244001886027430120390072774868598663421723738423717936043470403169008111239050821071746945190849508044408669240349637222850849312915915439044960397281709181957383724823029173006360041404021003500231470164491927961909025377974641493930966162952203640519606736997542079486551295397317246510170155659334091331493295113162996615492706739294609576045284592097822615266716400919576348750080579192639395874942078363115125597583949724442630251274835074231798483838799182068985137656674408086600545114573844553362820449258944956964445948512878241313514953311728862595997974901811417703107280505029198776141812598935942118760272213488362396866492869673973841723978162695926464408971224342827176593854100959928271287196 1319160058730947821100375260767757845443791637897030305866863119440254875265187864875497544376810583005400849145274100439876341124994475668886724457866035112300284142409500901640559126296621446891965343983185811445981302622124584394298661950693661460451554718532516946184046118421456528852713425016740024511073001530251656756060748128363538980383941619615380002555705295822663361450094046049018285070765284465741016323804929408838696693598079036105162994089965455790265223118587201212531910145995207373983208427445738320414312352617593436618796515853447974708619597377498003325520972600453099251252045624642651755849848883418364437789191984524027593671346531102579392229481959768291124103133021620474441019339380483694461177321728859859936016888757884765612632633718063072781412769622135195258032602917379423706411885472724461203981515051776476113100609514585255221704816430135516829472562903075203488622600732982903502499749132727740715010672098153958099181833785964125691695672552137880409476295226868479286152806329917901715223176598492484980035753492719415469172044840030399632198798727601658914653598902002375888216269537112051893019877648538706671365769237963853697269465855159603976445789321408438736454673568870613167329720144897168694327941489118510631671426915647372111883340291025038460011491919390082661989743418509855217419030290241909540136027653926832908321871610594208068422541802894511218593623243736258521739073041141829195198501043 2134445811627981053994548701113946140782424388199268558668063718201467910238997880008815272828809737342811494536926620315197575447926309885833979933146918301938398121903195218544672628145475930912921975796221610610355615181046684808999678051824858401715221334849134259681368415756277000084589345066747366697944349997005092537228295902605114345586655304683446511622687446586188619708939151248572956633545234809484836087797988210794937230956545788259685163297644286272708651232528161699553367190495411988802003330767151617387450663132624797651985471935881658438548534172421883581833325911111627190994954067229041924620213358657280477748423338731992096685405493322558292714000105705297772553932136638881634988095522096276434881240074984121530598132759770793042753023790837941380076191345873618975968646387782592714523124523545532950926705901284520521769849864222478072554129346050955874432960184784385446006325556012076508859790536748744215242142262645886061090859163938767185626638715090084049995901963866021365639357625315218961733346754151819071367246787832578465787537546769694241774844012193756737268865618403295464565019617691244532415752590617069786491366821913578139899717129994678208244273160207620805439811225545021253930265259471013247690761938377455588635872864160250353196855244336767322607489894291894079692850699014884416195172102840845482254787926140321270718738103463882042264265781057207145058032214960601348915666895242789123469788239 3453605870358928875094923961881703986226216026096298864534926837641722785504185744884312817205620320348212343682200720755073916572920785554720704391012953414238682264312696120185231754442097377804887319779407422056336917803171269203298340002518519862166776053381651205865414534177733528937302770083487391209017351527256749293289044030968653325970596924298826514178392742408851981159033197297591241704310519275225852411602917619633633924554624824364848157387609742062973874351115362912085277336490619362785211758212889937801763015750218234270781987789329633147168131549919886907354298511564726442246999691871693680470062242075644915537615323256019690356752024425137684943482065473588896657065158259356076007434902579970896058561803843981466615021517655558655385657508901014161488960968008814234001249305162016420935009996269994154908220953060996634870459378807733294258945776186472703905523087859588934628926288994980011359539669476484930252814360799844160272692949902892877322311267227964459472197190734500651792163955233120676956523352644304051403000280551993934959582386800093873973642739795415651922464520405671352781289154803296425435630239155776457857136059877431837169182985154282184690062481616059541894484794415634421259985404368181942018703427495966220307299779807622465080195535361805782618981813681976741682594117524739633614202393082755022390815580067154179040609714058090110686807583951718363651655458696859870654739936384618318668289282 5588051681986909929089472662995650127008640414295567423202990555843190695743183624893128090034430057691023838219127341070271492020847095440554684324159871716177080386215891338729904382587573308717809295575629032666692532984217954012298018054343378263881997388230785465546782949934010529021892115150234757906961701524261841830517339933573767671557252228982273025801080188995040600867972348546164198337855754084710688499400905830428571155511170612624533320685254028335682525583643524611638644526986031351587215088980041555189213678882843031922767459725211291585716665722341770489187624422676353633241953759100735605090275600732925393286038661988011787042157517747695977657482171178886669210997294898237710995530424676247330939801878828102997213154277426351698138681299738955541565152313882433209969895692944609135458134519815527105834926854345517156640309243030211366813075122237428578338483272643974380635251845007056520219330206225229145494956623445730221363552113841660062948949982318048509468099154600522017431521580548339638689870106796123122770247068384572400747119933569788115748486751989172389191330138808966817346308772494540957851382829772846244348502881791009977068900115148960392934335641823680347334296019960655675190250663839195189709465365873421808943172643967872818277050779698573105226471707973870821375444816539624049809374495923600504645603506207475449759347817521972152951073365008925508709687673657461219570406831627407442138077521 9041657552345838804184396624877354113234856440391866287737917393484913481247369369777440907240050378039236181901328061825345408593767880995275388715172825130415762650528587458915136137029670686522696615355036454723029450787389223215596358056861898126048773441612436671412197484111744057959194885233722149115979053051518591123806383964542420997527849153281099539979472931403892582027005545843755440042166273359936540911003823450062205080065795436989381478072863770398656399934758887523723921863476650714372426847192931492990976694633061266193549447514540924732884797272261657396541922934241080075488953450972429285560337842808570308823653985244031477398909542172833662600964236652475565868062453157593787002965327256218226998363682672084463828175795081910353524338808639969703054113281891247443971144998106625556393144516085521260743147807406513791510768621837944661072020898423901282244006360503563315264178134002036531578869875701714075747770984245574381636245063744552940271261249546012968940296345335022669223685535781460315646393459440427174173247348936566335706702320369881989722129491784588041113794659214638170127597927297837383287013068928622702205638941668441814238083100303242577624398123439739889228780814376290096450236068207377131728168793369388029250472423775495283357246315060378887845453521655847563058038934064363683423576889006355527036419086274629628799957531580062263637880948960643872361343132354321090225146768012025760806366803 14629709234332748733273869287873004240243496854687433710940907949328104176990552994670568997274480435730260020120455402895616900614614976435830073039332696846592843036744478797645040519617243995240505910930665487389721983771607177227894376111205276389930770829843222136958980434045754586981087000383956907022940754575780432954323723898116188669085101382263372565780553120398933182894977894389919638380022027444647229410404729280490776235576966049613914798758117798734338925518402412135362566390462682065959641936172973048180190373515904298116316907239752216318601462994603427885729547356917433708730907210073164890650613443541495702109692647232043264441067059920529640258446407831362235079059748055831497998495751932465557938165561500187461041330072508262051663020108378925244619265595773680653941040691051234691851279035901048366578074661752030948151077864868156027885096020661329860582489633147537695899429979009093051798200081926943221242727607691304602999797177586213003220211231864061478408395499935544686655207116329799954336263566236550296943494417321138736453822253939670105470616243773760430305124798023604987473906699792378341138395898701468946554141823459451791306983215452202970558733765263420236563076834336945771640486732046572321437634159242809838193645067743368101634297094758951993071925229629718384433483750603987733232951384929956031682022592482105078559305349102034416588954313969569381071030806011782309795553599639433202944444324 23671366786678587537458265912750358353478353295079299998678825342813017658237922364448009904514530813769496202021783464720962309208382857431105461754505521977008605687273066256560176656646914681763202526285701942112751434558996400443490734168067174515979544271455658808371177918157498644940281885617679056138919807627299024078130107862658609666612950535544472105760026051802825764921983440233675078422188300804583770321408552730552981315642761486603296276830981569132995325453161299659086488253939332780332068783365904541171167068148965564309866354754293141051486260266865085282271470291158513784219860661045594176210951286350066010933346632476074741839976602093363302859410644483837800947122201213425285001461079188683784936529244172271924869505867590172405187358917018894947673378877664928097912185689157860248244423551986569627321222469158544739661846486706100688957116919085231142826495993651101011163608113011129583377069957628657296990498591936878984636042241330765943491472481410074447348691845270567355878892652111260269982657025676977471116741766257705072160524574309552095192745735558348471418919457238243157601504627090215724425408967630091648759780765127893605545066315755445548183131888703160125791857648713235868090722800253949453165802952612197867444117491518863384991543409819330880917378751285565947491522684668351416656528273936311558718441678756734707359262880682096680226835262930213253432373938366103400020700367651458963750811127 38301076021011336270732135200623362593721850149766733709619733292141121835228475359118578901789011249499756222142238867616579209822997833866935534793838218823601448724017545054205217176264158677003708437216367429502473418330603577671385110279272450905910315101298880945330158352203253231921368886001635963161860562203079457032453831760774798335698051917807844671540579172201758947816961334623594716802210328249230999731813282011043757551219727536217211075589099367867334250971563711794449054644402014846291710719538877589351357441664869862426183261994045357370087723261468513168001017648075947492950767871118759066861564729891561713043039279708118006281043662013892943117857052315200036026181949269256782999956831121149342874694805672459385910835940098434456850379025397820192292644473438608751853226380209094940095702587887617993899297130910575687812924351574256716842212939746561003408985626798638707063038092020222635175270039555600518233226199628183587635839418916978946711683713274135925757087345206112042534099768441060224318920591913527768060236183578843808614346828249222200663361979332108901724044255261848145075411326882594065563804866331560595313922588587345396852049531207648518741865653966580362354934483050181639731209532300521774603437111855007705637762559262231486625840504578282873989303980915284331925006435272339149889479658866267590400464271238839785918568229784131096815789576899782634503404744377885709816253967290892166695255451 61972442807689923808190401113373720947200203444846033708298558634954139493466397723566588806303542063269252424164022332337541519031380691298040996548343740800610054411290611310765393832911073358766910963502069371615224852889599978114875844447339625421889859372754539753701336270360751876861650771619315019300780369830378481110583939623433408002311002453352316777300605224004584712738944774857269795224398629053814770053221834741596738866862489022820507352420080937000329576424725011453535542898341347626623779502904782130522524509813835426736049616748338498421573983528333598450272487939234461277170628532164353243072516016241627723976385912184192748121020264107256245977267696799037836973304150482682068001417910309833127811224049844731310780341807688606862037737942416715139966023351103536849765412069366955188340126139874187621220519600069120427474770838280357405799329858831792146235481620449739718226646205031352218552339997184257815223724791565062572271881660247744890203156194684210373105779190476679398412992420552320494301577617590505239176977949836548880774871402558774295856107714890457373142963712500091302676915953972809789989213833961652244073703353715239002397115846963094066924997542669740488146792131763417507821932332554471227769240064467205573081880050781094871617383914397613754906682732200850279416529119940690566546007932802579149118905949995574493277831110466227777042624839829995887935778682743989109836954334942351130446066578 100273518828701260078922536313997083540922053594612767417918291927095261328694873082685167708092553312769008646306261199954120728854378525164976531342181959624211503135308156364970611009175232035770619400718436801117698271220203555786260954726612076327800174474053420699031494622564005108783019657620950982462640932033457938143037771384208206338009054371160161448841184396206343660555906109480864512026608957303045769785035116752640496418082216559037718428009180304867663827396288723247984597542743362472915490222443659719873881951478705289162232878742383855791661706789802111618273505587310408770121396403283112309934080746133189437019425191892310754402063926121149189095124749114237872999486099751938851001374741430982470685918855517190696691177747787041318888116967814535332258667824542145601618638449576050128435828727761805615119816730979696115287695189854614122641542798578353149644467247248378425289684297051574853727610036739858333456950991193246159907721079164723836914839907958346298862866535682791440947092188993380718620498209504033007237214133415392689389218230807996496519469694222566274867007967761939447752327280855403855553018700293212839387625942302584399249165378170742585666863196636320850501726614813599147553141864854993002372677176322213278719642610043326358243224418975896628895986713116134611341535555213029716435487591668846739519370221234414279196399340250358873858414416729778522439183427121874819653208302233243297141322029 162245961636391183887112937427370804488122257039458801126216850562049400822161270806251756514396095376038261070470283532291662247885759216463017527890525700424821557546598767675736004842086305394537530364220506172732923124109803533901136799173951701749690033846807960452732830892924756985644670429240266001763421301863836419253621711007641614340320056824512478226141789620210928373294850884338134307251007586356860539838256951494237235284944705581858225780429261241867993403821013734701520140441084710099539269725348441850396406461292540715898282495490722354213235690318135710068545993526544870047292024935447465553006596762374817160995811104076503502523084190228405435072392445913275709972790250234620919002792651740815598497142905361922007471519555475648180925854910231250472224691175645682451384050518943005316775954867635993236340336331048816542762466028134971528440872657410145295879948867698118143516330502082927072279950033924116148680675782758308732179602739412468727117996102642556671968645726159470839360084609545701212922075827094538246414192083251941570164089633366770792375577409113023648009971680262030750429243234828213645542232534254865083461329296017823401646281225133836652591860739306061338648518746577016655375074197409464230141917240789418851801522660824421229860608333373510383802669445316984890758064675153720282981495524471425888638276171229988772474230450716586650901039256559774410374962109865863929490162637175594427587388607 262519480465092443966035473741367888029044310634071568544135142489144662150856143888936924222488648688807269716776544732245782976740137741627994059232707660049033060681906924040706615851261537430308149764938942973850621395330007089687397753900563778077490208320861381151764325515488762094427690086861216984226062233897294357396659482391849820678329111195672639674982974016417272033850756993818998819277616543659906309623292068246877731703026922140895944208438441546735657231217302457949504737983828072572454759947792101570270288412771246005060515374233106210004897397107937821686819499113855278817413421338730577862940677508508006598015236295968814256925148116349554624167517195027513582972276349986559770004167393171798069183061760879112704162697303262689499813971878045785804483359000187828053002688968519055445211783595397798851460153062028512658050161217989585651082415455988498445524416114946496568806014799134501926007560070663974482137626773951554892087323818577192564032836010600902970831512261842262280307176798539081931542574036598571253651406216667334259553307864174767288895047103335589922876979648023970198181570515683617501095251234548077922848955238320407800895446603304579238258723935942382189150245361390615802928216062264457232514594417111632130521165270867747588103832752349407012698656158433119502099600230366749999416983116140272628157646392464403051670629790966945524759453673289552932814145536987738749143370939408837724728710636 424765442101483627853148411168738692517166567673530369670351993051194062973017414695188680736884744064845530787246828264537445224625896958091011587123233360473854618228505691716442620693347842824845680129159449146583544519439810623588534553074515479827180242167669341604497156408413519080072360516101482985989483535761130776650281193399491435018649168020185117901124763636628200407145607878157133126528624130016766849461549019741114966987971627722754169988867702788603650635038316192651024878424912782671994029673140543420666694874063786720958797869723828564218133087426073531755365492640400148864705446274178043415947274270882823759011047400045317759448232306577960059239909640940789292945066600221180689006960044912613667680204666241034711634216858738337680739826788277036276708050175833510504386739487462060761987738463033792087800489393077329200812627246124557179523288113398643741404364982644614712322345301217428998287510104588090630818302556709863624266926557989661291150832113243459642800157988001733119667261408084783144464649863693109500065598299919275829717397497541538081270624512448613570886951328286000948610813750511831146637483768802943006310284534338231202541727828438415890850584675248443527798764107967632458303290259673921462656511657901050982322687931692168817964441085722917396501325603750104392857664905520470282398478640611698516795922563694391824144860241683532175660492929849327343189107646853602678633533576584432152316099243 687284922566576071819183884910106580546210878307601938214487135540338725123873558584125604959373392753652800504023372996783228201366034699719005646355941020522887678910412615757149236544609380255153829894098392120434165914769817713275932306975079257904670450488530722756261481923902281174500050602962699970215545769658425134046940675791341255696978279215857757576107737653045472440996364871976131945806240673676673159084841087987992698690998549863650114197306144335339307866255618650600529616408740855244448789620932644990936983286835032726019313243956934774223030484534011353442184991754255427682118867612908621278887951779390830357026283696014132016373380422927514683407426835968302875917342950207740459011127438084411736863266427120147415796914162001027180553798666322822081191409176021338557389428455981116207199522058431590939260642455105841858862788464114142830605703569387142186928781097591111281128360100351930924295070175252065112955929330661418516354250376566853855183668123844362613631670249843995399974438206623865076007223900291680753717004516586610089270705361716305370165671615784203493763930976309971146792384266195448647732735003351020929159239772658639003437174431742995129109308611190825716949009469358248261231506321938378695171106075012683112843853202559916406068273838072324409199981762183223894957265135887220281815461756751971144953568956158794875815490032650477700419946603138880276003253183841341427776904515993269877044809879 1112050364668059699672332296078845273063377445981132307884839128591532788096890973279314285696258136818498331291270201261320673425991931657810017233479174380996742297138918307473591857237957223079999510023257841267017710434209628336864466860049594737731850692656200064360758638332315800254572411119064182956205029305419555910697221869190832690715627447236042875477232501289673672848141972750133265072334864803693440008546390107729107665678970177586404284186173847123942958501293934843251554494833653637916442819294073188411603678160898819446978111113680763338441163571960084885197550484394655576546824313887086664694835226050273654116037331096059449775821612729505474742647336476909092168862409550428921148018087482997025404543471093361182127431131020739364861293625454599858357899459351854849061776167943443176969187260521465383027061131848183171059675415710238700010128991682785785928333146080235725993450705401569359922582580279840155743774231887371282140621176934556515146334500237087822256431828237845728519641699614708648220471873763984790253782602816505885918988102859257843451436296128232817064650882304595972095403198016707279794370218772153963935469524306996870205978902260181411019959893286439269244747773577325880719534796581612300157827617732913734095166541134252085224032714923795241805701307365933328287814930041407690564213940397363669661749491519853186699960350274334009876080439532988207619192360830694944106410438092577702029360909122 1799335287234635771491516180988951853609588324288734246099326264131871513220764531863439890655631529572151131795293574258103901627357966357529022879835115401519629976049330923230741093782566603335153339917356233387451876348979446050140399167024673995636521143144730787117020120256218081429072461722026882926420575075077981044744162544982173946412605726451900633053340238942719145289138337622109397018141105477370113167631231195717100364369968727450054398383479991459282266367549553493852084111242394493160891608915005833402540661447733852172997424357637698112664194056494096238639735476148911004228943181499995285973723177829664484473063614792073581792194993152432989426054763312877395044779752500636661607029214921081437141406737520481329543228045182740392041847424120922680439090868527876187619165596399424293176386782579896973966321774303289012918538204174352842840734695252172928115261927177826837274579065501921290846877650455092220856730161218032700656975427311123369001518168360932184870063498487689723919616137821332513296479097664276471007499607333092496008258808220974148821601967744017020558414813280905943242195582282902728442102953775504984864628764079655509209416076691924406149069201897630094961696783046684128980766302903550678852998723807926417208010394336812001630100988761867566214901289128116552182772195177294910846029402154115640806703060476011981575775840306984487576500386136127087895195614014536285534187342608570971906405719001 2911385651902695471163848477067797126672965770269866553984165392723404301317655505142754176351889666390649463086563775519424575053349898015339040113314289782516372273188249230704332951020523826415152849940614074654469586783189074387004866027074268733368371835800930851477778758588533881683644872841091065882625604380497536955441384414173006637128233173687943508530572740232392818137280310372242662090475970281063553176177621303446208030048938905036458682569653838583225224868843488337103638606076048131077334428209079021814144339608632671619975535471318461451105357628454181123837285960543566580775767495387081950668558403879938138589100945888133031568016605881938464168702099789786487213642162051065582755047302404078462545950208613842511670659176203479756903141049575522538796990327879731036680941764342867470145574043101362356993382906151472183978213619884591542850863686934958714043595073258062563268029770903490650769460230734932376600504393105403982797596604245679884147852668598020007126495326725535452439257837436041161516950971428261261261282210149598381927246911080231992273038263872249837623065695585501915337598780299610008236473172547658948800098288386652379415394978952105817169029095184069364206444556624010009700301099485162979010826341540840151303176935471064086854133703685662808020602596494049880470587125218702601410243342551479310468452551995865168275736190581318497452580825669115295514387974845231229640597780701148673935766628123 4710720939137331242655364658056748980282554094558600800083491656855275814538420037006194067007521195962800594881857349777528476680707864372868062993149405184036002249237580153935074044803090429750306189857970308041921463132168520437145265194098942729004892978945661638594798878844751963112717334563117948809046179455575518000185546959155180583540838900139844141583912979175111963426418647994352059108617075758433666343808852499163308394418907632486513080953133830042507491236393041830955722717318442624238226037124084855216685001056366523792972959828956159563769551684948277362477021436692477585004710676887077236642281581709602623062164560680206613360211599034371453594756863102663882258421914551702244362076517325159899687356946134323841213887221386220148944988473696445219236081196407607224300107360742291763321960825681259330959704680454761196896751824058944385691598382187131642158857000435889400542608836405411941616337881190024597457234554323436683454572031556803253149370836958952191996558825213225176358873975257373674813430069092537732268781817482690877935505719301206141094640231616266858181480508866407858579794362582512736678576126323163933664727052466307888624811055644030223318098297081699459168141339670694138681067402388713657863825065348766568511187329807876088484234692447530374235503885622166432653359320395997512256272744705594951275155612471877149851512030888302985029081211805242383409583588859767515174785123309719645842172347124 7622106591040026713819213135124546106955519864828467354067657049578680115856075542148948243359410862353450057968421125296953051734057762388207103106463694966552374522425829384639406995823614256165459039798584382696391049915357594824150131221173211462373264814746592490072577637433285844796362207404209014691671783836073054955626931373328187220669072073827787650114485719407504781563698958366594721199093046039497219519986473802609516424467846537522971763522787668625732716105236530168059361323394490755315560465333163877030829340664999195412948495300274621014874909313402458486314307397236044165780478172274159187310839985589540761651265506568339644928228204916309917763458962892450369472064076602767827117123819729238362233307154748166352884546397589699905848129523271967758033071524287338260981049125085159233467534868782621687953087586606233380874965443943535928542462069122090356202452073693951963810638607308902592385798111924956974057738947428840666252168635802483137297223505556972199123054151938760628798131812693414836330381040520798993530064027632289259862752630381438133367678495488516695804546204451909773917393142882122744915049298870822882464825340852960268040206034596136040487127392265768823374585896294704148381368501873876636874651406889606719814364265278940175338368396133193182256106482116216313123946445614700113666516087257074261743608164467742318127248221469621482481662037474357678923971563704998744815382904010868319777938975247 12332827530177357956474577793181295087238073959387068154151148706433955930394495579155142310366932058316250652850278475074481528414765626761075166099613100150588376771663409538574481040626704685915765229656554690738312513047526115261295396415272154191378157793692254128667376516278037807909079541967326963500717963291648572955812478332483367804209910973967631791698398698582616744990117606360946780307710121797930885863795326301772824818886754170009484844475921498668240207341629571999015084040712933379553786502457248732247514341721365719205921455129230780578644460998350735848791328833928521750785188849161236423953121567299143384713430067248546258288439803950681371358215825995114251730485991154470071479200337054398261920664100882490194098433618975920054793117996968412977269152720694945485281156485827450996789495694463881018912792267060994577771717268002480314234060451309221998361309074129841364353247443714314534002135993114981571514973501752277349706740667359286390446594342515924391119612977151985805157005787950788511143811109613336725798845845114980137798258349682644274462318727104783553986026713318317632497187505464635481593625425193986816129552393319268156665017090240166263805225689347468282542727235965398287062435904262590294738476472238373288325551595086816263822603088580723556491610367738382745777305766010697625922788831962669213018763776939619467978760252357924467510743249279600062333555152564766259990168027320587965620111322371 19954934121217384670293790928305841194193593824215535508218805756012636046250571121304090553726342920669700710818699600371434580148823389149282269206076795117140751294089238923213888036450318942081224269455139073434703562962883710085445527636445365653751422608438846618739954153711323652705441749371535978192389747127721627911439409705811555024878983047795419441812884417990121526553816564727541501506803167837428105383781800104382341243354600707532456607998709167293972923446866102167074445364107424134869346967790412609278343682386364914618869950429505401593519370311753194335105636231164565916565667021435395611263961552888684146364695573816885903216668008866991289121674788887564621202550067757237898596324156783636624153971255630656546982980016565619960641247520240380735302224244982283746262205610912610230257030563246502706865879853667227958646682711946016242776522520431312354563761147823793328163886051023217126387934105039938545572712449181118015958909303161769527743817848072896590242667129090746433955137600644203347474192150134135719328909872747269397661010980064082407829997222593300249790572917770227406414580648346758226508674724064809698594377734172228424705223124836302304292353081613237105917313132260102435443804406136466931613127879127980008139915860365756439160971484713916738747716849854599058901252211625397739589304919219743474762371941407361786106008473827545949992405286753957741257526716269765004805550931331456285398050297618 32287761651394742626768368721487136281431667783602603662369954462446591976645066700459232864093274978985951363668978075445916108563589015910357435305689895267729128065752648461788369077077023627996989499111693764173016076010409825346740924051717519845129580402131100747407330669989361460614521291338862941693107710419370200867251888038294922829088894021763051233511283116572738271543934171088488281814513289635358991247577126406155166062241354877541941452474630665962213130788495674166089529404820357514423133470247661341525858024107730633824791405558736182172163831310103930183896965065093087667350855870596632035217083120187827531078125641065432161505107812817672660479890614882678872933036058911707970075524493838034886074635356513146741081413635541540015434365517208793712571376965677229231543362096740061227046526257710383725778672120728222536418399979948496557010582971740534352925070221953634692517133494737531660390070098154920117087685950933395365665649970521055918190412190588820981362280106242732239112143388594991858618003259747472445127755717862249535459269329746726682292315949698083803776599631088545038911768153811393708102300149258796514723930127491496581370240215076468568097578770960705388460040368225500722506240310399057226351604351366353296465467455452572702983574573294640295239327217592981804678557977636095365512093751182412687781135718346981254084768726185470417503148536033557803591081868834531264795718958652044251018161619989 52242695772612127297062159649792977475625261607818139170588760218459228022895637821763323417819617899655652074487677675817350688712412405059639704511766690384869879359841887385002257113527342570078213768566832837607719638973293535432186451688162885498881003010569947366147284823700685113319963040710398919885497457547091828778691297744106477853967877069558470675324167534562859798097750735816029783321316457472787096631358926510537507305595955585074398060473339833256186054235361776333163974768927781649292480438038073950804201706494095548443661355988241583765683201621857124519002601296257653583916522892032027646481044673076511677442821214882318064721775821684663949601565403770243494135586126668945868671848650621671510228606612143803288064393652107159976075613037449174447873601210659512977805567707652671457303556820956886432644551974395450495065082691894512799787105492171846707488831369777428020681019545760748786778004203194858662660398400114513381624559273682825445934230038661717571604947235333478673067280989239195206092195409881608164456665590609518933120280309810809090122313172291384053567172548858772445326348802158151934610974873323606213318307861663725006075463339912770872389931852573942494377353500485603157950044716535524157964732230494333304605383315818329142144546058008557033987044067447580863579810189261493105101398670402156162543507659754343040190777200013016367495553822787515544848608585104296269601269889983500536416211917607 84530457424006869923830528371280113757056929391420742832958714680905819999540704522222556281912892878641603438156655751263266797276001420969997139817456585652599007425594535846790626190604366198075203267678526601780735714983703360778927375739880405344010583412701048113554615493690046573934484332049261861578605167966462029645943185782401400683056771091321521908835450651135598069641684906904518065135829747108146087878936052916692673367837310462616339512947970499218399185023857450499253504173748139163715613908285735292330059730601826182268452761546977765937847032931961054702899566361350741251267378762628659681698127793264339208520946855947750226226883634502336610081456018652922367068622185580653838747373144459706396303241968656950029145807287648699991509978554657968160444978176336742209348929804392732684350083078667270158423224095123673031483482671843009356797688463912381060413901591731062713198153040498280447168074301349778779748084351047908747290209244203881364124642229250538552967227341576210912179424377834187064710198669629080609584421308471768468579549639557535772414629121989467857343772179947317484238116955969545642713275022582402728042237989155221587445703554989239440487510623534647882837393868711103880456285026934581384316336581860686601070850771270901845128120631303197329226371285040562668258368166897588470613492421584568850324643378101324294275545926198486784998702358821073348439690453938827534396988848635544787434373537596 136773153196618997220892688021073091232682190999238882003547474899365048022436342343985879699732510778297255512644333427080617485988413826029636844329223276037468886785436423231792883304131708768153417036245359439388455353956996896211113827428043290842891586423270995479701900317390731687254447372759660781464102625513553858424634483526507878537024648160879992584159618185698457867739435642720547848457146204580933184510294979427230180673433266047690737573421310332474585239259219226832417478942675920813008094346323809243134261437095921730712114117535219349703530234553818179221902167657608394835183901654660687328179172466340850885963768070830068290948659456187000559683021422423165861204208312249599707419221795081377906531848580800753317210200939755859967585591592107142608318579386996255187154497512045404141653639899624156591067776069519123526548565363737522156584793956084227767902732961508490733879172586259029233946078504544637442408482751162422128914768517886706810058872267912256124572174576909689585246705367073382270802394079510688774041086899081287401699829949368344862536942294280851910910944728806089929564465758127697577324249895906008941360545850818946593521166894902010312877442476108590377214747369196707038406329743470105542281068812355019905676234087089230987272666689311754363213415352488143531838178356159081575714891091986725012868151037855667334466323126211503152494256181608588893288299039043123803998258738619045323850585455203 221303610620625867144723216392353204989739120390659624836506189580270868021977046866208435981645403656938858950800989178343884283264415246999633984146679861690067894211030959078583509494736074966228620303923886041169191068940700256990041203167923696186902169835972043593256515811080778261188931704808922643042707793480015888070577669308909279220081419252201514492995068836834055937381120549625065913592975951689079272389231032343922854041270576510307077086369280831692984424283076677331670983116424059976723708254609544535464321167697747912980566879082197115641377267485779233924801734018959136086451280417289347009877300259605190094484714926777818517175543090689337169764477441076088228272830497830253546166594939541084302835090549457703346356008227404559959095570146765110768763557563332997396503427316438136826003722978291426749491000164642796558032048035580531513382482419996608828316634553239553447077325626757309681114152805894416222156567102210330876204977762090588174183514497162794677539401918485900497426129744907569335512592749139769383625508207553055870279379588925880634951571416270319768254716908753407413802582714097243220037524918488411669402783839974168180966870449891249753364953099643238260052141237907810918862614770404686926597405394215706506747084858360132832400787320614951692439786637528706200096546523056670046328383513571293863192794415956991628741869052409989937492958540429662241727989492981951338395247587254590111284958992799 358076763817244864365615904413426296222421311389898506840053664479635916044413389210194315681377914435236114463445322605424501769252829073029270828475903137727536780996467382310376392798867783734382037340169245480557646422897697153201155030595966987029793756259243039072958416128471509948443379077568583424506810418993569746495212152835417157757106067413081507077154687022532513805120556192345613762050122156270012456899526011771153034714703842557997814659790591164167569663542295904164088462059099980789731802600933353778598582604793669643692680996617416465344907502039597413146703901676567530921635182071950034338056472725946040980448482997607886808124202546876337729447498863499254089477038810079853253585816734622462209366939130258456663566209167160419926681161738872253377082136950329252583657924828483540967657362877915583340558776234161920084580613399318053669967276376080836596219367514748044180956498213016338915060231310439053664565049853372753005119746279977294984242386765075050802111576495395590082672835111980951606314986828650458157666595106634343271979209538294225497488513710551171679165661637559497343367048472224940797361774814394420610763329690793114774488037344793260066242395575751828637266888607104517957268944513874792468878474206570726412423318945449363819673454009926706055653201990016849731934724879215751622043274605558018876060945453812658963208192178621493089987214722038251135016288532025075142393506325873635435135544448002 579380374437870731510339120805779501212160431780558131676559854059906784066390436076402751663023318092174973414246311783768386052517244320028904812622582999417604675207498341388959902293603858700610657644093131521726837491838397410191196233763890683216695926095215082666214931939552288209632310782377506067549518212473585634565789822144326436977187486665283021570149755859366569742501676741970679675643098107959091729288757044115075888755974419068304891746159871995860554087825372581495759445175524040766455510855542898314062903772491417556673247875699613580986284769525376647071505635695526667008086462489239381347933772985551231074933197924385705325299745637565674899211976304575342317749869307910106799752411674163546512202029679716160009922217394564979885776731885637364145845694513662249980161352144921677793661085856207010090049776398804716642612661434898585183349758796077445424536002067987597628033823839773648596174384116333469886721616955583083881324724042067883158425901262237845479650978413881490580098964856888520941827579577790227541292103314187399142258589127220106132440085126821491447420378546312904757169631186322184017399299732882832280166113530767282955454907794684509819607348675395066897319029845012328876131559284279479395475879600786432919170403803809496652074241330541657748092988627545555932031271402272421668371658119129312739253739869769650591950061231031483027480173262467913376744278025007026480788753913128225546420503440801 937457138255115595875955025219205797434581743170456638516613518539542700110803825286597067344401232527411087877691634389192887821770073393058175641098486137145141456203965723699336295092471642434992694984262377002284483914736094563392351264359857670246489682354458121739173348068023798158075689859946089492056328631467155381061001974979743594734293554078364528647304442881899083547622232934316293437693220264229104186188283055886228923470678261626302706405950463160028123751367668485659847907234624021556187313456476252092661486377285087200365928872317030046331192271564974060218209537372094197929721644561189415685990245711497272055381680921993592133423948184442012628659475168074596407226908117989960053338228408786008721568968809974616673488426561725399812457893624509617522927831463991502563819276973405218761318448734122593430608552632966636727193274834216638853317035172158282020755369582735641808990322052789987511234615426772523551286666808955836886444470322045178142668288027312896281762554909277080662771799968869472548142566406440685698958698420821742414237798665514331629928598837372663126586040183872402100536679658547124814761074547277252890929443221560397729942945139477769885849744251146895534585918452116846833400503798154271864354353807357159331593722749258860471747695340468363803746190617562405663965996281488173290414932724687331615314685323582309555158253409652976117467387984506164511760566557032101623182260239001860981556047888803 1516837512692986327386294146024985298646742174951014770193173372599449484177194261362999819007424550619586061291937946172961273874287317713087080453721069136562746131411464065088296197386075501135603352628355508524011321406574491973583547498123748353463185608449673204405388280007576086367708000642323595559605846843940741015626791797124070031711481040743647550217454198741265653290123909676286973113336318372188195915477040100001304812226652680694607598152110335155888677839193041067155607352410148062322642824312019150406724390149776504757039176748016643627317477041090350707289715173067620864937808107050428797033924018697048503130314878846379297458723693822007687527871451472649938724976777425900066853090640082949555233770998489690776683410643956290379698234625510146981668773525977653752543980629118326896554979534590329603520658329031771353369805936269115224036666793968235727445291371650723239437024145892563636107408999543105993438008283764538920767769194364113061301094189289550741761413533323158571242870764825757993489970145984230913240250801735009141556496387792734437762368683964194154574006418730185306857706310844869308832160374280160085171095556752327680685397852934162279705457092926541962431904948297129175709532063082433751259830233408143592250764126553068357123821936671010021551839179245107961595997267683760594958786590843816644354568425193351960147108314640684459144947561246974077888504844582039128103971014152130086527976551329604 2454294650948101923262249171244191096081323918121471408709786891138992184287998086649596886351825783146997149169629580562154161696057391106145256094819555273707887587615429788787632492478547143570596047612617885526295805321310586536975898762483606023709675290804131326144561628075599884525783690502269685051662175475407896396687793772103813626445774594822012078864758641623164736837746142610603266551029538636417300101665323155887533735697330942320910304558060798315916801590560709552815455259644772083878830137768495402499385876527061591957405105620333673673648669312655324767507924710439715062867529751611618212719914264408545775185696559768372889592147642006449700156530926640724535132203685543890026906428868491735563955339967299665393356899070518015779510692519134656599191701357441645255107799906091732115316297983324452196951266881664737990096999211103331862889983829140394009466046741233458881246014467945353623618643614969878516989294950573494757654213664686158239443762477316863638043176088232435651905642564794627466038112712390671598939209500155830883970734186458248769392297282801566817700592458914057708958242990503416433646921448827437338062024999973888078415340798073640049591306837177688857966490866749246022542932566880588023124184587215500751582357849302327217595569632011478385355585369862670367259963263965248768249201523568503975969883110516934269702266568050337435262414949231480242400265411139071229727153274391131947509532599218407 3971132163641088250648543317269176394728066093072486178902960263738441668465192348012596705359250333766583210461567526735115435570344708819232336548540624410270633719026893853875928689864622644706199400240973394050307126727885078510559446260607354377172860899253804530549949908083175970893491691144593280611268022319348637412314585569227883658157255635565659629082212840364430390127870052286890239664365857008605496017142363255888838547923983623015517902710171133471805479429753750619971062612054920146201472962080514552906110266676838096714444282368350317300966146353745675474797639883507335927805337858662047009753838283105594278316011438614752187050871335828457387684402378113374473857180462969790093759519508574685119189110965789356170040309714474306159208927144644803580860474883419299007651780535210059011871277517914781800471925210696509343466805147372447086926650623108629736911338112884182120683038613837917259726052614512984510427303234338033678421982859050271300744856666606414379804589621555594223148513329620385459528082858374902512179460301890840025527230574250983207154665966765760972274598877644243015815949301348285742479081823107597423233120556726215759100738651007802329296763930104230820398395815046375198252464629963021774384014820623644343833121975855395574719391568682488406907424549107778328855960531649009363207988114412320620324451535710286229849374882691021894407362510478454320288770255721110357831124288543262034037509150548011 6425426814589190173910792488513367490809390011193957587612747154877433852753190434662193591711076116913580359631197107297269597266402099925377592643360179683978521306642323642663561182343169788276795447853591279576602932049195665047535345023090960400882536190057935856694511536158775855419275381646862965662930197794756533809002379341331697284603030230387671707946971481987595126965616194897493506215395395645022796118807686411776372283621314565336428207268231931787722281020314460172786517871699692230080303099849009955405496143203899688671849387988683990974614815666401000242305564593947050990672867610273665222473752547514140053501707998383125076643018977834907087840933304754099008989384148513680120665948377066420683144450933089021563397208784992321938719619663779460180052176240860944262759580441301791127187575501239233997423192092361247333563804358475778949816634452249023746377384854117641001929053081783270883344696229482863027416598184911528436076196523736429540188619143923278017847765709788029875054155894415012925566195570765574111118669802046670909497964760709231976546963249567327789975191336558300724774192291851702176126003271935034761295145556700103837516079449081442378888070767281919678364886681795621220795397196843609797508199407839145095415479825157722792314961200693966792263009918970448696115923795614258131457189637980824596294334646227220499551641450741359329669777459709934562689035666860181587558277562934393981547041749766418 10396558978230278424559335805782543885537456104266443766515707418615875521218382782674790297070326450680163570092764634032385032836746808744609929191900804094249155025669217496539489872207792432982994848094564673626910058777080743558094791283698314778055397089311740387244461444241951826312767072791456246274198220114105171221316964910559580942760285865953331337029184322352025517093486247184383745879761252653628292135950049667665210831545298188351946109978403065259527760450068210792757580483754612376281776061929524508311606409880737785386293670357034308275580962020146675717103204477454386918478205468935712232227590830619734331817719436997877263693890313663364475525335682867473482846564611483470214425467885641105802333561898878377733437518499466628097928546808424263760912651124280243270411360976511850139058853019154015797895117303057756677030609505848226036743285075357653483288722967001823122612091695621188143070748843995847537843901419249562114498179382786700840933475810529692397652355331343624098202669224035398385094278429140476623298130103937510935025195334960215183701629216333088762249790214202543740590141593199987918605085095042632184528266113426319596616818100089244708184834697386150498763282496841996419047861826806631571892214228462789439248601801013118367034352769376455199170434468078227024971884327263267494665177752393145216618786181937506729401016333432381224077139970188388882977805922581291945389401851477656015584550900314429 16821985792819468598470128294295911376346846115460401354128454573493309373971573217336983888781402567593743929723961741329654630103148908669987521835260983778227676332311541139203051054550962221259790295948155953203512990826276408605630136306789275178937933279369676243938972980400727681732042454438319211937128417908861705030319344251891278227363316096341003044976155804339620644059102442081877252095156648298651088254757736079441583115166612753688374317246634997047250041470382670965544098355454304606362079161778534463717102553084637474058143058345718299250195777686547675959408769071401437909151073079209377454701343378133874385319427435381002340336909291498271563366268987621572491835948759997150335091416262707526485478012831967399296834727284458950036648166472203723940964827365141187533170941417813641266246428520393249795318309395419004010594413864324004986559919527606677229666107821119464124541144777404459026415445073478710565260499604161090550574375906523130381122094954452970415500121041131653973256825118450411310660473999906050734416799905984181844523160095669447160248592465900416552224981550760844465364333885051690094731088366977666945823411670126423434132897549170687087072905464668070177128169178637617639843259023650241369400413636301934534664081626170841159349313970070421991433444387048675721087808122877525626122367390373969812913120828164727228952657784173740553746917429898323445666841589441473532947679414412049997131592650080847 27218544771049747023029464100078455261884302219726845120644161992109184895189956000011774185851729018273907499816726375362039662939895717414597451027161787872476831357980758635742540926758754654242785144042720626830423049603357152163724927590487589956993330368681416631183434424642679508044809527229775458211326638022966876251636309162450859170123601962294334382005340126691646161152588689266260997974917900952279380390707785747106793946711910942040320427225038062306777801920450881758301678839208916982643855223708058972028708962965375259444436728702752607525776739706694351676511973548855824827629278548145089686928934208753608717137146872378879604030799605161636038891604670489045974682513371480620549516884148348632287811574730845777030272245783925578134576713280627987701877478489421430803582302394325491405305281539547265593213426698476760687625023370172231023303204602964330712954830788121287247153236473025647169486193917474558103104401023410652665072555289309831222055570764982662813152476372475278071459494342485809695754752429046527357714930009921692779548355430629662343950221682233505314474771764963388205954475478251678013336173462020299130351677783552743030749715649259931795257740162054220675891451675479614058891120850456872941292627864764723973912683427183959526383666739446877190603878855126902746059692450140793120787545142767115029531907010102233958353674117606121777824057400086712328644647512022765478337081265889706012716143550395276 44040530563869215621499592394374366638231148335187246474772616565602494269161529217348758074633131585867651429540688116691694293043044626084584972862422771650704507690292299774945591981309716875502575439990876580033936040429633560769355063897276865135931263648051092875122407405043407189776851981668094670148455055931828581281955653414342137397486918058635337426981495931031266805211691131348138250070074549250930468645465521826548377061878523695728694744471673059354027843390833552723845777194663221589005934385486593435745811516050012733502579787048470906775972517393242027635920742620257262736780351627354467141630277586887483102456574307759881944367708896659907602257873658110618466518462131477770884608300411056158773289587562813176327106973068384528171224879752831711642842305854562618336753243812139132671551710059940515388531736093895764698219437234496236009863124130571007942620938609240751371694381250430106195901638990953268668364900627571743215646931195832961603177665719435633228652597413606932044716319460936221006415226428952578092131729915905874624071515526299109504198814148133921866699753315724232671318809363303368108067261828997966076175089453679166464882613198430618882330645626722290853019620854117231698734379874107114310693041501066658508576765053354800685732980709517299182037323242175578467147500573018318746909912533141084842445027838266961187306331901779862331570974829985035774311489101464239011284760680301756009847736200476123 71259075334918962644529056494452821900115450554914091595416778557711679164351485217360532260484860604141558929357414492053733955982940343499182423889584559523181339048273058410688132908068471529745360584033597206864359090032990712933079991487764455092924594016732509506305841829686086697821661508897870128359781693954795457533591962576792996567610520020929671808986836057722912966364279820614399248044992450203209849036173307573655171008590434637769015171696711121660805645311284434482147456033872138571649789609194652407774520479015387992947016515751223514301749257099936379312432716169113087564409630175499556828559211795641091819593721180138761548398508501821543641149478328599664441200975502958391434125184559404791061101162293658953357379218852310106305801593033459699344719784343984049140335546206464624076856991599487780981745162792372525385844460604668467033166328733535338655575769397362038618847617723455753365387832908427826771469301650982395880719486485142792825233236484418296041805073786082210116175813803422030702169978857999105449846659925827567403619870956928771848149035830367427181174525080687620877273284841555046121403435291018265206526767237231909495632328847690550677588385788776511528911072529596845757625500724563987251985669365831382482489448480538760212116647448964176372641202097302481213207193023159111867697457675908199871976934848369195145660006019385984109395032230071748102956136613487004489621841946191462022563879750871399 115299605898788178266028648888827188538346598890101338070189395123314173433513014434709290335117992190009210358898102608745428249025984969583767396752007331173885846738565358185633724889378188405247936024024473786898295130462624273702435055385041320228855857664783602381428249234729493887598513490565964798508236749886624038815547615991135133965097438079565009235968331988754179771575970951962537498115066999454140317681638829400203548070468958333497709916168384181014833488702117987205993233228535360160655723994681245843520331995065400726449596302799694421077721774493178406948353458789370350301189981802854023970189489382528574922050295487898643492766217398481451243407351986710282907719437634436162318733484970460949834390749856472129684486191920694634477026472786291410987562090198546667477088790018603756748408701659428296370276898886268290084063897839164703043029452864106346598196708006602789990541998973885859561289471899381095439834202278554139096366417680975754428410902203853929270457671199689142160892133264358251708585205286951683541978389841733442027691386483227881352347849978501349047874278396411853548592094204858414229470697120016231282701856690911075960514942046121169559919031415498802381930693383714077456359880598671101562678710866898040991066213533893560897849628158481475554678525339478059680354693596177430614607370209049284714421962686636156332966337921165846440966007060056783877267625714951243500906602626493218032411615951347522 186558681233707140910557705383280010438462049445015429665606173681025852597864499652069822595602852794150769288255517100799162205008925313082949820641591890697067185786838416596321857797446659934993296608058070993762654220495614986635515046872805775321780451681516111887734091064415580585420174999463834926868018443841419496349139578567928130532707958100494681044955168046477092737940250772576936746160059449657350166717812136973858719079059392971266725087865095302675639134013402421688140689262407498732305513603875898251294852474080788719396612818550917935379471031593114786260786174958483437865599611978353580798748701178169666741644016668037405041164725900302994884556830315309947348920413137394553752858669529865740895491912150131083041865410773004740782828065819751110332281874542530716617424336225068380825265693258916077352022061678640815469908358443833170076195781597641685253772477403964828609389616697341612926677304807808922211303503929536534977085904166118547253644138688272225312262744985771352277067947067780282410755184144950788991825049767561009431311257440156653200496885808868776229048803477099474425865379046413460350874132411034496489228623928142985456147270893811720237507417204275313910841765913310923213985381323235088814664380232729423473555662014432321109966275607445651927319727436780540893561886619336542482304827884957484586398897535005351478626343940551830550361039290128531980223762328438247990528444572684680054975495702218921 301858287132495319176586354272107198976808648335116767735795568804340026031377514086779112930720844984159979647153619709544590454034910282666717217393599221870953032525403774781955582686824848340241232632082544780660949350958239260337950102257847095550636309346299714269162340299145074473018688490029799725376255193728043535164687194559063264497805396180059690280923500035231272509516221724539474244275126449111490484399450966374062267149528351304764435004033479483690472622715520408894133922490942858892961237598557144094815184469146189445846209121350612356457192806086293193209139633747853788166789593781207604768938190560698241663694312155936048533930943298784446127964182302020230256639850771830716071592154500326690729882662006603212726351602693699375259854538606042521319843964741077384094513126243672137573674394918344373722298960564909105553972256282997873119225234461748031851969185410567618599931615671227472487966776707190017651137706208090674073452321847094301682055040892126154582720416185460494437960080332138534119340389431902472533803439609294451459002643923384534552844735787370125276923081873511327974457473251271874580344829531050727771930480619054061416662212939932889797426448619774116292772459297025000670345261921906190377343091099627464464621875548325882007815903765927127481998252776258600573916580215513973096912198094006769300820860221641507811592681861717676991327046350185315857491388043389491491435047199177898087387111653566443 488416968366202460087144059655387209415270697780132197401401742485365878629242013738848935526323697778310748935409136810343752659043835595749667038035191112568020218312242191378277440484271508275234529240140615774423603571453854246973465149130652870872416761027815826156896431363560655058438863489493634652244273637569463031513826773126991395030513354280554371325878668081708365247456472497116410990435185898768840651117263103347920986228587744276031160091898574786366111756728922830582274611753350357625266751202433042346110036943226978165242821939901530291836663837679407979469925808706337226032389205759561185567686891738867908405338328823973453575095669199087441012521012617330177605560263909225269824450824030192431625374574156734295768217013466704116042682604425793631652125839283608100711937462468740518398940088177260451074321022243549921023880614726831043195421016059389717105741662814532447209321232368569085414644081514998939862441210137627209050538226013212848935699179580398379894983161171231846715028027399918816530095573576853261525628489376855460890313901363541187753341621596238901505971885350610802400322852297685334931218961942085224261159104547197046872809483833744610034933865824049430203614225210335923884330643245141279192007471332356887938177537562758203117782179373372779409317980213039141467478466834850515579217025978964253887219757756646859290219025802269507541688085640313847837715150371827739481963491771862578142362607355785364 790275255498697779263730413927494408392079346115248965137197311289705904660619527825628048457044542762470728582562756519888343113078745878416384255428790334438973250837645966160233023171096356615475761872223160555084552922412093507311415251388499966423053070374115540426058771662705729531457551979523434377620528831297506566678513967686054659528318750460614061606802168116939637756972694221655885234710312347880331135516714069721983253378116095580795595095932054270056584379444443239476408534244293216518227988800990186440925221412373167611089031061252142648293856643765701172679065442454191014199178799540768790336625082299566150069032640979909502109026612497871887140485194919350407862200114681055985896042978530519122355257236163337508494568616160403491302537143031836152971969804024685484806450588712412655972614483095604824796619982808459026577852871009828916314646250521137748957710848225100065809252848039796557902610858222188957513578916345717883123990547860307150617754220472524534477703577356692341152988107732057350649435963008755734059431928986149912349316545286925722306186357383609026782894967224122130374780325548957209511563791473135952033089585166251108289471696773677499832360314443823546496386684507360924554675905167047469569350562431984352402799413111084085125598083139299906891316232989297742041395047050364488676129224072971023188040617978288367101811707663987184533015131990499163695206538415217230973398538971040476229749719009351807 1278692223864900239350874473582881617807350043895381162538599053775071783289861541564476983983368240540781477517971893330232095772122581474166051293463981447006993469149888157538510463655367864890710291112363776329508156493865947754284880400519152837295469831401931366582955203026266384589896415469017069029864802468866969598192340740813046054558832104741168432932680836198648003004429166718772296225145498246649171786633977173069904239606703839856826755187830629056422696136173366070058683145997643574143494740003423228787035258355600145776331853001153672940130520481445109152148991251160528240231568005300329975904311974038434058474370969803882955684122281696959328153006207536680585467760378590281255720493802560711553980631810320071804262785629627107607345219747457629784624095643308293585518388051181153174371554571272865275870941005052008947601733485736659959510067266580527466063452511039632513018574080408365643317254939737187897376020126483345092174528773873519999553453400052922914372686738527924187868016135131976167179531536585608995585060418363005373239630446650466910059527978979847928288866852574732932775103177846642544442782753415221176294248689713448155162281180607422109867294180267872976700000909717696848439006548412188748761358033764341240340976950673842288243380262512672686300634213202336883508873513885215004255346250051935277075260375734935226392030733466256692074703217630813011532921688787044970455362030742903054372112326365137171 2068967479363598018614604887510376026199429390010630127675796365064777687950481069390105032440412783303252206100534649850120438885201327352582435548892771781445966719987534123698743486826464221506186052984586936884592709416278041261596295651907652803718522901776046907009013974688972114121353967448540503407485331300164476164870854708499100714087150855201782494539483004315587640761401860940428181459855810594529502922150691242791887492984819935437622350283762683326479280515617809309535091680241936790661722728804413415227960479767973313387420884062405815588424377125210810324828056693614719254430746804841098766240937056338000208543403610783792457793148894194831215293491402456030993329960493271337241616536781091230676335889046483409312757354245787511098647756890489465937596065447332979070324838639893565830344169054368470100667560987860467974179586356746488875824713517101665215021163359264732578827826928448162201219865797959376854889599042829062975298519321733827150171207620525447448850390315884616529021004242864033517828967499594364729644492347349155285588946991937392632365714336363456955071761819798855063149883503395599753954346544888357128327338274879699263451752877381099609699654494711696523196387594225057772993682453579236218330708596196325592743776363784926373368978345651972593191950446191634625550268560935579492931475474124906300263300993713223593493842441130243876607718349621312175228128227202262201428760569713943530601862045374488978 3347659703228498257965479361093257644006779433906011290214395418839849471240342610954582016423781023844033683618506543180352534657323908826748486842356753228452960189137422281237253950481832086396896344096950713214100865910143989015881176052426805641013992733177978273591969177715238498711250382917557572437350133769031445763063195449312146768645982959942950927472163840514235643765831027659200477685001308841178674708784668415861791732591523775294449105471593312382901976651791175379593774826239580364805217468807836644014995738123573459163752737063559488528554897606655919476977047944775247494662314810141428742145249030376434267017774580587675413477271175891790543446497609992711578797720871861618497337030583651942230316520856803481117020139875414618705992976637947095722220161090641272655843226691074719004715723625641335376538501992912476921781319842483148835334780783682192681084615870304365091846401008856527844537120737696564752265619169312408067473048095607347149724661020578370363223077054412540716889020377996009685008499036179973725229552765712160658828577438587859542425242315343304883360628672373587995924986681242242298397129298303578304621586964593147418614034057988521719566948674979569499896388503942754621432689001991424967092066629960666833084753314458768661612358608164645279492584659393971509059142074820794497186821724176841577338561369448158819885873174596500568682421567252125186761049915989307171884122600456846584973974371739626149 5416627182592096276580084248603633670206208823916641417890191783904627159190823680344687048864193807147285889719041193030472973542525236179330922391249525009898926909124956404935997437308296307903082397081537650098693575326422030277477471704334458444732515634954025180600983152404210612832604350366098075844835465069195921927934050157811247482733133815144733422011646844829823284527232888599628659144857119435708177630935359658653679225576343710732071455755355995709381257167408984689128866506481517155466940197612250059242956217891546772551173621125965304116979274731866729801805104638389966749093061614982527508386186086714434475561178191371467871270420070086621758739989012448742572127681365132955738953567364743172906652409903286890429777494121202129804640733528436561659816226537974251726168065330968284835059892680009805477206062980772944895960906199229637711159494300783857896105779229569097670674227937304690045756986535655941607155218212141471042771567417341174299895868641103817812073467370297157245910024620860043202837466535774338454874045113061315944417524430525252174790956651706761838432390492172443059074870184637842052351475843191935432948925239472846682065786935369621329266603169691266023092776098167812394426371455570661185422775226156992425828529678243695034981336953816617872684535105585606134609410635756373990118297198301747877601862363161382413379715615726744445290139916873437361989178143191569373312883170170790115575836417114115127 8764286885820594534545563609696891314212988257822652708104587202744476630431166291299269065287974830991319573337547736210825508199849145006079409233606278238351887098262378686173251387790128394299978741178488363312794441236566019293358647756761264085746508368132003454192952330119449111543854733283655648282185598838227367690997245607123394251379116775087684349483810685344058928293063916258829136829858428276886852339720028074515470958167867486026520561226949308092283233819200160068722641332721097520272157666420086703257951956015120231714926358189524792645534172338522649278782152583165214243755376425123956250531435117090868742578952771959143284747691245978412302186486622441454150925402236994574236290597948395115136968930760090371546797633996616748510633710166383657382036387628615524382011292022043003839775616305651140853744564973685421817742226041712786546494275084466050577190395099873462762520628946161217890294107273352506359420837381453879110244615512948521449620529661682188175296544424709697962799044998856052887845965571954312180103597878773476603246101869113111717216198967050066721793019164546031054999856865880084350748605141495513737570512204065994100679820993358143048833551844670835522989164602110567015859060457562086152514841856117659258913282992702463696593695561981263152177119764979577643668552710577168487305118922478589454940423732609541233265588790323245013972561484125562548750228059180876545197005770627636700549810788853741276 14180914068412690811125647858300524984419197081739294125994778986649103789621989971643956114152168638138605463056588929241298481742374381185410331624855803248250814007387335091109248825098424702203061138260026013411488016562988049570836119461095722530479024003086028634793935482523659724376459083649753724127021063907423289618931295764934641734112250590232417771495457530173882212820296804858457795974715547712595029970655387733169150183744211196758592016982305303801664490986609144757851507839202614675739097864032336762500908173906667004266099979315490096762513447070389379080587257221555180992848438040106483758917621203805303218140130963330611156018111316065034060926475634890196723053083602127529975244165313138288043621340663377261976575128117818878315274443694820219041852614166589776108179357353011288674835508985660946330950627954458366713703132240942424257653769385249908473296174329442560433194856883465907936051093809008447966576055593595350153016182930289695749516398302786005987370011795006855208709069619716096090683432107728650634977642991834792547663626299638363892007155618756828560225409656718474114074727050517926403100080984687449170519437443538840782745607928727764378100155014362101546081940700278379410285431913132747337937617082274651684741812670946158731575032515797881024861654870565183778277963346333542477423416120780337332542286095770923646645304406049989459262701400998999910739406202372445918509888940798426816125647205967856403 22945200954233285345671211467997416298632185339561946834099366189393580420053156262943225179440143469129925036394136665452123989942223526191489740858462081486602701105649713777282500212888553096503039879438514376724282457799554068864194767217856986616225532371218032088986887812643108835920313816933409372409206662745650657309928541372058035985491367365320102120979268215517941141113360721117286932804573975989481882310375415807684621141912078682785112578209254611893947724805809304826574149171923712196011255530452423465758860129921787235981026337505014889408047619408912028359369409804720395236603814465230440009449056320896171960719083735289754440765802562043446363112962257331650873978485839122104211534763261533403180590271423467633523372762114435626825908153861203876423889001795205300490190649375054292514611125291312087184695192928143788531445358282655210804148044469715959050486569429316023195715485829627125826345201082360954325996892975049229263260798443238217199136927964468194162666556219716553171508114618572148978529397679682962815081240870608269150909728168751475609223354585806895282018428821264505169074583916398010753848686126182962908089949647604834883425428922085907426933706859032937069071105302388946426144492370694833490452458938392310943655095663648622428168728077779144177038774635544761421946516056910710964728535043258926787482709828380464879910893196373234473235262885124562459489634261553322463706894711426063516675457994821597679 37126115022645976156796859326297941283051382421301240960094145176042684209675146234587181293592312107268530499450725594693422471684597907376900072483317884734853515113037048868391749037986977798706101017698540390135770474362542118435030886678952709146704556374304060723780823295166768560296772900583163096536227726653073946928859837136992677719603617955552519892474725745691823353933657525975744728779289523702076912281030803540853771325656289879543704595191559915695612215792418449584425657011126326871750353394484760228259768303828454240247126316820504986170561066479301407439956667026275576229452252505336923768366677524701475178859214698620365596783913878108480424039437892221847597031569441249634186778928574671691224211612086844895499947890232254505141182597556024095465741615961795076598370006728065581189446634276973033515645820882602155245148490523597635061801813854965867523782743758758583628910342713093033762396294891369402292572948568644579416276981373527912948653326267254200150036568014723408380217184238288245069212829787411613450058883862443061698573354468389839501230510204563723842243838477982979283149310966915937156948767110870412078609387091143675666171036850813671805033861873395038615153046002667325836429924283827580828390076020666962628396908334594781159743760593577025201900429506109945200224479403244253442151951164039264120024995924151388526556197602423223932497964286123562370229040463925768382216783652224490332801105200789454082 60071315976879261502468070794295357581683567760863187794193511365436264629728302497530406473032455576398455535844862260145546461626821433568389813341779966221456216218686762645674249250875530895209140897137054766860052932162096187299225653896809695762930088745522092812767711107809877396217086717516572468945434389398724604238788378509050713705094985320872622013453993961209764495047018247093031661583863499691558794591406219348538392467568368562328817173400814527589559940598227754410999806183050039067761608924937183694018628433750241476228152654325519875578608685888213435799326076830995971466056066970567363777815733845597647139578298433910120037549716440151926787152400149553498471010055280371738398313691836205094404801883510312529023320652346690131967090751417227971889630617757000377088560656103119873704057759568285120700341013810745943776593848806252845865949858324681826574269313188074606824625828542720159588741495973730356618569841543693808679537779816766130147790254231722394312703124234439961551725298856860394047742227467094576265140124733051330849483082637141315110453864790370619124262267299247484452223894883313947910797453237053374986699336738748510549596465772899579231967568732427975684224151305056272262574416654522414318842534959059273572052003998243403587912488671356169378939204141654706622170995460154964406880486207298190907507705752531853406467090798796458405733227171248124829718674725479090845923678363650553849476563195611051761 97197430999525237659264930120593298864734950182164428754287656541478948839403448732117587766624767683666986035295587854838968933311419340945289885825097850956309731331723811514065998288862508693915241914835595156995823406524638305734256540575762404909634645119826153536548534402976645956513859618099735565481662116051798551167648215646043391424698603276425141905928719706901587848980675773068776390363153023393635706872437022889392163793224658441872521768592374443285172156390646203995425463194176365939511962319421943922278396737578695716475278971146024861749169752367514843239282743857271547695508319475904287546182411370299122318437513132530485634333630318260407211191838041775346068041624721621372585092620410876785629013495597157424523268542578944637108273348973252067355372233718795453686930662831185454893504393845258154215986834693348099021742339329850480927751672179647694098052056946833190453536171255813193351137790865099758911142790112338388095814761190294043096443580498976594462739692249163369931942483095148639116955057254506189715199008595494392548056437105531154611684374994934342966506105777230463735373205850229885067746220347923787065308723829892186215767502623713251037001430605823014299377197307723598099004340938349995147232610979726236200448912332838184747656249264933194580839633647764651822395474863399217849032437371337455027532701676683241933023288401219682338231191457371687199947715189404859228140462015875044182277668396400505843 157268746976404499161733000914888656446418517943027616548481167906915213469131751229647994239657223260065441571140450114984515394938240774513679699166877817177765947550410574159740247539738039589124382811972649923855876338686734493033482194472572100672564733865348246349316245510786523352730946335616308034427096505450523155406436594155094105129793588597297763919382713668111352344027694020161808051947016523085194501463843242237930556260793027004201338941993188970874732096988873958406425269377226405007273571244359127616297025171328937192703431625471544737327778438255728279038608820688267519161564386446471651323998145215896769458015811566440605671883346758412333998344238191328844539051680001993110983406312247081880033815379107469953546589194925634769075364100390480039245002851475795830775491318934305328597562153413543274916327848504094042798336188136103326793701530504329520672321370134907797278161999798533352939879286838830115529712631656032196775352541007060173244233834730698988775442816483603331483667781952009033164697284721600765980339133328545723397539519742672469722138239785304962090768373076477948187597100733543832978543673584977162052008060568640696765363968396612830268968999338250989983601348612779870361578757592872409466075145938785509772500916331081588335568737936289363959778837789419358444566470323554182255912923578635645935040407429215095339490379200016140743964418628619812029666389914883950074064140379525598031754231592011557604 254466177975929736820997931035481955311153468125192045302768824448394162308535199961765582006281990943732427606436037969823484328249660115458969584991975668134075678882134385673806245828600548283039624726808245080851699745211372798767738735048334505582199378985174399885864779913763169309244805953716043599908758621502321706574084809801137496554492191873722905825311433375012940193008369793230584442310169546478830208336280265127322720054017685446073860710585563414159904253379520162401850732571402770946785533563781071538575421908907632909178710596617569599076948190623243122277891564545539066857072705922375938870180556586195891776453324698971091306216977076672741209536076233104190607093304723614483568498932657958665662828874704627378069857737504579406183637449363732106600375085194591284462421981765490783491066547258801429132314683197442141820078527465953807721453202683977214770373427081740987731698171054346546291017077703929874440855421768370584871167302197354216340677415229675583238182508732766701415610265047157672281652341976106955695538141924040115945595956848203624333822614780239305057274478853708411922970306583773718046289893932900949117316784398532882981131471020326081305970429944074004282978545920503468460583098531222404613307756918511745972949828663919773083224987201222558540618471437184010266961945186953400104945360949973100962573109105898337272513667601235823082195610085991499229614105104288809302204602395400642214031899988412063447 411734924952334235982730931950370611757571986068219661851249992355309375777666951191413576245939214203797869177576488084807999723187900889972649284158853485311841626432544959833546493368338587872164007538780895004707576083898107291801220929520906606254764112850522646235181025424549692661975752289332351634335855126952844861980521403956231601684285780471020669744694147043124292537036063813392392494257186069564024709800123507365253276314810712450275199652578752385034636350368394120808276001948629175954059104808140199154872447080236570101882142222089114336404726628878971401316500385233806586018637092368847590194178701802092661234469136265411696978100323835085075207880314424433035146144984725607594551905244905040545696644253812097331616446932430214175259001549754212145845377936670387115237913300699796112088628700672344704048642531701536184618414715602057134515154733188306735442694797216648785009860170852879899230896364542759989970568053424402781646519843204414389584911249960374572013625325216370032899278046999166705446349626697707721675877275252585839343135476590876094055960854565544267148042851930186360110567407317317551024833567517878111169324844967173579746495439416938911574939429282324994266579894533283338822161856124094814079382902857297255745450744995001361418793725137511922500397309226603368711528415510507582360858284528608746897613516535113432612004046801251963826160028714611311259280495019172759376268742774926240245786131580423621051 666201102928263972803728862985852567068725454193411707154018816803703538086202151153179158252221205147530296784012526054631484051437561005431618869150829153445917305314679345507352739196939136155203632265589140085559275829109480090568959664569241111836963491835697046121045805338312861971220558243048395234244613748455166568554606213757369098238777972344743575570005580418137232730044433606622976936567355616042854918136403772492575996368828397896349060363164315799194540603747914283210126734520031946900844638371921270693447868989144203011060852818706683935481674819502214523594391949779345652875709798291223529064359258388288553010922460964382788284317300911757816417416390657537225753238289449222078120404177562999211359473128516724709686304669934793581442638999117944252445753021864978399700335282465286895579695247931146133180957214898978326438493243068010942236607935872283950213068224298389772741558341907226445521913442246689864411423475192773366517687145401768605925588665190050155251807833949136734314888312046324377728001968673814677371415417176625955288731433439079718389783469345783572205317330783894772033537713901091269071123461450779060286641629365706462727626910437264992880909859226398998549558440453786807282744954655317218692690659775809001718400573658921134502018712338734481041015780663787378978490360697460982465803645478581847860186625641011769884517714402487786908355638800602810488894600123461568678473345170326882459818031568835684498 1077936027880598208786459794936223178826297440261631369005268809159012913863869102344592734498160419351328165961589014139439483774625461895404268153309682638757758931747224305340899232565277724027367639804370035090266851913007587382370180594090147718091727604686219692356226830762862554633196310532380746868580468875408011430535127617713600699923063752815764245314699727461261525267080497420015369430824541685606879627936527279857829272683639110346624260015743068184229176954116308404018402736468661122854903743180061469848320316069380773112942995040795798271886401448381185924910892335013152238894346890660071119258537960190381214245391597229794485262417624746842891625296705081970260899383274174829672672309422468039757056117382328822041302751602365007756701640548872156398291130958535365514938248583165083007668323948603490837229599746600514511056907958670068076751762669060590685655763021515038557751418512760106344752809806789449854381991528617176148164206988606182995510499915150424727265433159165506767214166359045491083174351595371522399047292692429211794631866910029955812445744323911327839353360182714081132144105121218408820095957028968657171455966474332880042474122349854203904455849288508723992816138334987070146104906810779412032772073562633106257463851318653922495920812437476246403541413089890390747690018776207968564826661930007190594757800142176125202496521761203739750734515667515214121748175095142634328054742087945253122705604163149259305549 1744137130808862181590188657922075745895022894455043076159287625962716451950071253497771892750381624498858462745601540194070967826063022900835887022460511792203676237061903650848251971762216860182571272069959175175826127742117067472939140258659388829928691096521916738477272636101175416604416868775429142102825082623863177999089733831470969798161841725160507820884705307879398757997124931026638346367391897301649734546072931052350405269052467508242973320378907383983423717557864222687228529470988693069755748381551982740541768185058524976124003847859502482207368076267883400448505284284792497891770056688951294648322897218578669767256314058194177273546734925658600708042713095739507486652621563624051750792713600031038968415590510845546750989056272299801338144279547990100650736883980400343914638583865630369903248019196534636970410556961499492837495401201738079018988370604932874635868831245813428330492976854667332790274723249036139718793415003809949514681894134007951601436088580340474882517240993114643501529054671091815460902353564045337076418708109605837749920598343469035530835527793257111411558677513497975904177642835119500089167080490419436231742608103698586505201749260291468897336759147735122991365696775440856953387651765434729251464764222408915259182251892312843630422831149814980884582428870554178126668509136905429547292465575485772442617986767817136972381039475606227537642871306315816932237069695266095896733215433115580005165422194718094990047 2822073158689460390376648452858298924721320334716674445164556435121729365813940355842364627248542043850186628707190554333510451600688484796240155175770194430961435168809127956189151204327494584209938911874329210266092979655124654855309320852749536548020418701208136430833499466864037971237613179307809888971405551499271189429624861449184570498084905477976272066199405035340660283264205428446653715798216438987256614174009458332208234541736106618589597580394650452167652894511980531091246932207457354192610652124732044210390088501127905749236946842900298280479254477716264586373416176619805650130664403579611365767581435178769050981501705655423971758809152550405443599668009800821477747552004837798881423465023022499078725471707893174368792291807874664809094845920096862257049028014938935709429576832448795452910916343145138127807640156708100007348552309160408147095740133273993465321524594267328466888244395367427439135027533055825589573175406532427125662846101122614134596946588495490899609782674152280150268743221030137306544076705159416859475466000802035049544552465253498991343281272117168439250912037696212057036321747956337908909263037519388093403198574578031466547675871610145672801792608436243846984181835110427927099492558576214141284236837785042021516646103210966766126343643587291227288123841960444568874358527913113398112119127505492963037375786909993262174877561236809967288377386973831031053985244790408730224787957521060833127871026357867354295596 4566210289498322571966837110780374670616343229171717521323844061084445817764011609340136519998923668349045091452792094527581419426751507697076042198230706223165111405871031607037403176089711444392510183944288385441919107397241722328248461111408925377949109797730053169310772102965213387842030048083239031074230634123134367428714595280655540296246747203136779887084110343220059041261330359473292062165608336288906348720082389384558639810788574126832570900773557836151076612069844753778475461678446047262366400506284026950931856686186430725360950690759800762686622553984147986821921460904598148022434460268562660415904332397347720748758019713618149032355887476064044307710722896560985234204626401422933174257736622530117693887298404019915543280864146964610432990199644852357699764898919336053344215416314425822814164362341672764778050713669599500186047710362146226114728503878926339957393425513141895218737372222094771925302256304861729291968821536237075177527995256622086198382677075831374492299915145394793770272275701229122004979058723462196551884708911640887294473063596968026874116799910425550662470715209710032940499390791457408998430118009807529634941182681730053052877620870437141699129367583978969975547531885868784052880210341648870535701602007450936775828355103279609756766474737106208172706270830998747001027037050018827659411593080978735479993773677810399147258600712416194826020258280146847986222314485674826121521172954176413133036448552585449285643 7388283448187782962343485563638673595337663563888391966488400496206175183577951965182501147247465712199231720159982648861091871027439992493316197374000900654126546574680159563226554380417206028602449095818617595708012087052366377183557781964158461925969528498938189600144271569829251359079643227391048920045636185622405556858339456729840110794331652681113051953283515378560719324525535787919945777963824775276162962894091847716766874352524680745422168481168208288318729506581825284869722393885903401454977052631016071161321945187314336474597897533660099043165877031700412573195337637524403798153098863848174026183485767576116771730259725369042120791165040026469487907378732697382462981756631239221814597722759645029196419359006297194284335572672021629419527836119741714614748792913858271762773792248763221275725080705486810892585690870377699507534600019522554373210468637152919805278918019780470362106981767589522211060329789360687318865144228068664200840374096379236220795329265571322274102082589297674944039015496731366428549055763882879056027350709713675936839025528850467018217398072027593989913382752905922089976821138747795317907693155529195623038139757259761519600553492480582814500921976020222816959729366996296711152372768917863011819938439792492958292474458314246375883110118324397435460830112791443315875385564963132225771530720586471698517369560587803661322136161949226162114397645253977879040207559276083556346309130475237246260907474910452803581239 11954493737686105534310322674419048265954006793060109487812244557290621001341963574522637667246389380548276811612774743388673290454191500190392239572231606877291657980551191170263957556506917472994959279762905981149931194449608099511806243075567387303918638296668242769455043672794464746921673275474287951119866819745539924287054052010495651090578399884249831840367625721780778365786866147393237840129433111565069311614174237101325514163313254872254739381941766124469806118651670038648197855564349448717343453137300098112253801873500767199958848224419899805852499585684560560017259098429001946175533324116736686599390099973464492479017745082660269823520927502533532215089455593943448215961257640644747771980496267559314113246304701214199878853536168594029960826319386566972448557812777607816118007665077647098539245067828483657363741584047299007720647729884700599325197141031846145236311445293612257325719139811616982985632045665549048157113049604901276017902091635858306993711942647153648594382504443069737809287772432595550554034822606341252579235418625316824133498592447435045091514871938019540575853468115632122917320529539252726906123273539003152673080939941491572653431113351019956200051343604201786935276898882165495205252979259511882355640041799943895068302813417525985639876593061503643633536383622442062876412602013151053430942313667450433997363334265614060469394762661642356940417903534124727026429873761758382467830303429413659393943923463038252866882 19342777185873888496653808238057721861291670356948501454300645053496796184919915539705138814493855092747508531772757392249765161481631492683708436946232507531418204555231350733490511936924123501597408375581523576857943281501974476695364025039725849229888166795606432369599315242623716106001316502865336871165503005367945481145393508740335761884910052565362883793651141100341497690312401935313183618093257886841232274508266084818092388515837935617676907863109974412788535625233495323517920249450252850172320505768316169273575747060815103674556745758079998849018376617384973133212596735953405744328632187964910712782875867549581264209277470451702390614685967529003020122468188291325911197717888879866562369703255912588510532605310998408484214426208190223449488662439128281587197350726635879578891799913840868374264325773315294549949432454424998515255247749407254972535665778184765950515229465074082619432700907401139194045961835026236367022257277673565476858276188015094527789041208218475922696465093740744681848303269163961979103090586489220308606586128338992760972524121297902063308912943965613530489236221021554212894141668287048044813816429068198775711220697201253092253984605831602770700973319624424603895006265878462206357625748177374894175578481592436853360777271731772361522986711385901079094366496413885378751798166976283279202473034253922132514732894853417721791530924610868519054815548788102606066637433037841938814139433904650905654851398373491056448121 31297270923559994030964130912476770127245677150008610942112889610787417186261879114227776481740244473295785343385532135638438451935822992874100676518464114408709862535782541903754469493431040974592367655344429558007874475951582576207170268115293236533806805092274675139054358915418180852922989778339624822285369825113485405432447560750831412975488452449612715634018766822122276056099268082706421458222690998406301586122440321919417902679151190489931647245051740537258341743885165362166118105014602298889663958905616267385829548934315870874515593982499898654870876203069533693229855834382407690504165512081647399382265967523045756688295215534362660438206895031536552337557643885269359413679146520511310141683752180147824645851615699622684093279744358817479449488758514848559645908539413487395009807578918515472803570841143778207313174038472297522975895479291955571860862919216612095751540910367694876758420047212756177031593880691785415179370327278466752876178279650952834782753150865629571290847598183814419657591041596557529657125409095561561185821546964309585106022713745337108400427815903633071065089689137186335811462197826300771719939702607201928384301637142744664907415719182622726901024663228626390830283164760627701562878727436886776531218523392380748429080085149298347162863304447404722727902880036327441628210768989434332633415347921372566512096229119031782260925687272510875995233452322227333093067306799600321281969737334064565048795321836529309315003 50640048109433882527617939150534491988537347506957112396413534664284213371181794653932915296234099566043293875158289527888203613417454485557809113464696621940128067091013892637244981430355164476189776030925953134865817757453557052902534293155019085763694971887881107508653674158041896958924306281204961693450872830481430886577841069491167174860398505014975599427669907922463773746411670018019605076315948885247533860630706406737510291194989126107608555108161714950046877369118660685684038354464855149061984464673932436659405295995130974549072339740579897503889252820454506826442452570335813434832797700046558112165141835072627020897572685986065051052892862560539572460025832176595270611397035400377872511387008092736335178456926698031168307705952549040928938151197643130146843259266049366973901607492759383847067896614459072757262606492897296038231143228699210544396528697401378046266770375441777496191120954613895371077555715718021782201627604952032229734454467666047362571794359084105493987312691924559101505894310760519508760215995584781869792407675303302346078546835043239171709340759869246601554325910158740548705603866113348816533756131675400704095522334343997757161400325014225497601997982853050994725289430639089907920504475614261670706797004984817601789857356881070708685850015833305801822269376450212820380008935965717611835888382175294699026829123972449504052456611883379395050049001110329939159704739837442260096109171238715470703646720210020365763124 81937319032993876558582070063011262115783024656965723338526424275071630557443673768160691777974344039339079218543821663526642065353277478431909789983160736348837929626796434540999450923786205450782143686270382692873692233405139629109704561270312322297501776980155782647708033073460077811847296059544586515736242655594916292010288630241998587835886957464588315061688674744586049802510938100726026534538639883653835446753146728656928193874140316597540202353213455487305219113003826047850156459479457447951648423579548704045234844929446845423587933723079796158760129023524040519672308404718221125336963212128205511547407802595672777585867901520427711491099757592076124797583476061864630025076181920889182653070760272884159824308542397653852400985696907858408387639956157978706489167805462854368911415071677899319871467455602850964575780531369593561207038707991166116257391616617990142018311285809472372949541001826651548109149596409807197380997932230498982610632747317000197354547509949735065278160290108373521163485352357077038417341404680343430978229222267611931184569548788576280109768575772879672619415599295926884517066063939649588253695834282602632479823971486742422068816044196848224503022646081677385555572595399717609483383203051148447238015528377198350218937442030369055848713320280710524550172256486540262008219704955151944469303730096667265538925353091481286313382299155890271045282453432557272252772046637042581378078908572780035752442042046549675078127 132577367142427759086200009213545754104320372163922835734939958939355843928625468422093607074208443605382373093702111191414845678770731963989718903447857358288965996717810327178244432354141369926971919717196335827739509990858696682012238854425331408061196748868036890156361707231501974770771602340749548209187115486076347178588129699733165762696285462479563914489358582667049823548922608118745631610854588768901369307383853135394438485069129442705148757461375170437352096482122486733534194813944312597013632888253481140704640140924577819972660273463659693662649381843978547346114760975054034560169760912174763623712549637668299798483440587506492762543992620152615697257609308238459900636473217321267055164457768365620495002765469095685020708691649456899337325791153801108853332427071512221342813022564437283166939364070061923721838387024266889599438181936690376660653920314019368188285081661251249869140661956440546919186705312127828979582625537182531212345087214983047559926341869033840559265472982032932622669379663117596547177557400265125300770636897570914277263116383831815451819109335642126274173741509454667433222669930052998404787451965958003336575346305830740179230216369211073722105020628934728380280862026038807517403887678665410117944812533362015952008794798911439764534563336114016326372441632936753082388228640920869556305192112271961964565754477063930790365838911039269666095331454542887211412476786474484841474188079811495506456088762256570040841251 214514686175421635644782079276557016220103396820888559073466383214427474486069142190254298852182787644721452312245932854941487744124009442421628693431018094637803926344606761719243883277927575377754063403466718520613202224263836311121943415695643730358698525848192672804069740304962052582618898400294134724923358141671263470598418329975164350532172419944152229551047257411635873351433546219471658145393228652555204754136999864051366678943269759302688959814588625924657315595126312781384351273423770044965281311833029844749874985854024665396248207186739489821409510867502587865787069379772255685506724124302969135259957440263972576069308489026920474035092377744691822055192784300324530661549399242156237817528528638504654827074011493338873109677346364757745713431109959087559821594876975075711724437636115182486810831525664774686414167555636483160645220644681542776911311930637358330303392947060722242090202958267198467295854908537636176963623469413030194955719962300047757280889378983575624543633272141306143832865015474673585594898804945468731748866119838526208447685932620391731928877911415005946793157108750594317739735993992647993041147800240605969055170277317482601299032413407921946608043275016405765836434621438525126887270881716558565182828061739214302227732240941808820383276656394726850922613889423293344396448345876021500774495842368629230104679830155412076679221210195159937140613907975444483665248833111527422852266988384275542208530804303119715919378 347092053317849394730982088490102770324423768984811394808406342153783318414694610612347905926391231250103825405948044046356333422894741406411347596878875452926769923062417088897488315632068945304725983120663054348352712215122532993134182270120975138419895274716229562960431447536464027353390500741043682934110473627747610649186548029708330113228457882423716144040405840078685696900356154338217289756247817421456574061520852999445805164012399202007837717275963796362009412077248799514918546087368082641978914200086510985454515126778602485368908480650399183484058892711481135211901830354826290245676485036477732758972507077932272374552749076533413236579084997897307519312802092538784431298022616563423292981986297004125149829839480589023893818368995821657083039222263760196413154021948487297054537460200552465653750195595726698408252554579903372760083402581371919437565232244656726518588474608311972111230864914707745386482560220665465156546249006595561407300807177283095317207231248017416183809106254174238766502244678592270132772456205210594032519503017409440485710802316452207183747987247057132220966898618205261750962405924045646397828599766198609305630516583148222780529248782618995668713063903951134146117296647477332644291158560381968683127640595101230254236527039853248584917839992508743177295055522360046426784676986796891057079687954640591194670434307219342867045060121234429603235945362518331695077725619586012264326455068195771048664619566559689756760629 561606739493271030375764167766659786544527165805699953881872725368210792900763752802602204778574018894825277718193976901297821167018750848832976290309893547564573849407023850616732198909996520682480046524129772868965914439386369304256125685816618868778593800564422235764501187841426079936009399141337817659033831769418874119784966359683494463760630302367868373591453097490321570251789700557688947901641046074011778815657852863497171842955668961310526677090552422286666727672375112296302897360791852686944195511919540830204390112632627150765156687837138673305468403578983723077688899734598545931183209160780701894232464518196244950622057565560333710614177375641999341367994876839108961959572015805579530799514825642629804656913492082362766928046342186414828752653373719283972975616825462372766261897836667648140561027121391473094666722135539855920728623226053462214476544175294084848891867555372694353321067872974943853778415129203101333509872476008591602256527139583143074488120627000991808352739526315544910335109694066943718367355010156062764268369137247966694158488249072598915676865158472138167760055726955856068702141918038294390869747566439215274685686860465705381828281196026917615321107178967539911953731268915857771178429442098527248310468656840444556464259280795057405301116648903470028217669411783339771181125332672912557854183797009220424775114137374754943724281331429589540376559270493776178742974452697539687178722056580046590873150370862809472680007 908698792811120425106746256256762556868950934790511348690279067521994111315458363414950110704965250144929103124142020947654154589913492255244323887188769000491343772469440939514220514542065465987206029644792827217318626654508902297390307955937594007198489075280651798724932635377890107289399899882381500593144305397166484768971514389391824576989088184791584517631858937569007267152145854895906237657888863495468352877178705862942977006968068163318364394366516218648676139749623911811221443448159935328923109712006051815658905239411229636134065168487537856789527296290464858289590730089424836176859694197258434653204971596128517325174806642093746947193262373539306860680796969377893393257594632369002823781501122646754954486752972671386660746415338008071911791875637479480386129638773949669820799358037220113794311222717118171502919276715443228680812025807425381652041776419950811367480342163684666464551932787682689240260975349868566490056121482604153009557334316866238391695351875018407992161845780489783676837354372659213851139811215366656796787872154657407179869290565524806099424852405529270388726954345161117819664547842083940788698347332637824580316203443613928162357529978645913284034171082918674058071027916393190415469588002480495931438109251941674810700786320648305990218956641412213205512724934143386197965802319469803614933871751649811619445548444594097810769341452664019143612504633012107873820700072283551951505177124775817639537769937422499229440636 1470305532304391455482510424023422343413478100596211302572151792890204904216222116217552315483539269039754380842335997848951975756932243104077300177498662548055917621876464790130952713452061986669686076168922600086284541093895271601646433641754212875977082875845074034489433823219316187225409299023719318252178137166585358888756480749075319040749718487159452891223312035059328837403935555453595185559529909569480131692836558726440148849923737124628891071457068640935342867421999024107524340808951788015867305223925592645863295352043856786899221856324676530094995699869448581367279629824023382108042903358039136547437436114324762275796864207654080657807439749181306202048791846217002355217166648174582354581015948289384759143666464753749427674461680194486740544529011198764359105255599412042587061255873887761934872249838509644597585998850983084601540649033478843866518320595244896216372209719057360817873000660657633094039390479071667823565993958612744611813861456449381466183472502019399800514585306805328587172464066726157569507166225522719561056241291905373874027778814597405015101717564001408556487010072116973888366689760122235179568094899077039855001890304079633544185811174672830899355278261886213970024759185309048186648017444579023179748577908782119367165045601443363395520073290315683233730394345926725969146927652142716172788055548659032044220662581968852754493622784093608683989063903505884052563674524981091638683899181355864230410920308285308702120643 2379004325115511880589256680280184900282429035386722651262430860412199015531680479632502426188504519184683483966478018796606130346845735359321624064687431548547261394345905729645173227994127452656892105813715427303603167748404173899036741597691806883175571951125725833214366458597206294514809198906100818845322442563751843657727995138467143617738806671951037408855170972628336104556081410349501423217418773064948484570015264589383125856891805287947255465823584859584019007171622935918745784257111723344790414935931644461522200591455086423033287024812214386884522996159913439656870359913448218284902597555297571200642407710453279600971670849747827605000702122720613062729588815594895748474761280543585178362517070936139713630419437425136088420877018202558652336404648678244745234894373361712407860613911107875729183472555627816100505275566426313282352674840904225518560097015195707583852551882742027282424933448340322334300365828940234313622115441216897621371195773315619857878824377037807792676431087295112264009818439385371420646977440889376357844113446562781053897069380122211114526569969530678945213964417278091708031237602206175968266442231714864435318093747693561706543341153318744183389449344804888028095787101702238602117605447059519111186687160723794177865831922091669385739029931727896439243119280070112167112729971612519787721927300308843663666211026562950565262964236757627827601568536517991926384374597264643590189076306131681869948690245707807931561279 3849309857419903336071767104303607243695907135982933953834582653302403919747902595850054741672043788224437864808814016645558106103777978463398924242186094096603179016222370519776125941446189439326578181982638027389887708842299445500683175239446019759152654826970799867703800281816522481740218497929820137097500579730337202546484475887542462658488525159110490300078483007687664941960016965803096608776948682634428616262851823315823274706815542412576146537280653500519361874593621960026270125066063511360657720159857237107385495943498943209932508881136890916979518696029362021024149989737471600392945500913336707748079843824778041876768535057401908262808141871901919264778380661811898103691927928718167532943533019225524472774085902178885516095338698397045392880933659877009104340149972773754994921869784995637664055722394137460698091274417409397883893323874383069385078417610440603800224761601799388100297934108997955428339756308011902137188109399829642233185057229765001324062296879057207593191016394100440851182282506111528990154143666412095918900354738468154927924848194719616129628287533532087501700974489395065596397927362328411147834537130791904290319984051773195250729152327991575082744727606691101998120546287011286788765622891638542290935265069505913545030877523535032781259103222043579672973513625996838136259657623755235960509982848967875707886873608531803319756587020851236511590632440023875978948049122245735228872975487487546100359610553993116633681922 6228314182535415216661023784583792143978336171369656605097013513714602935279583075482557167860548307409121348775292035442164236450623713822720548306873525645150440410568276249421299169440316891983470287796353454693490876590703619399719916837137826642328226778096525700918166740413728776255027696835920955942823022294089046204212471026009606276227331831061527708933653980316001046516098376152598031994367455699377100832867087905206400563707347700523402003104238360103380881765244895945015909323175234705448135095788881568907696534954029632965795905949105303864041692189275460681020349650919818677848098468634278948722251535231321477740205907149735867808843994622532327507969477406793852166689209261752711306050090161664186404505339604021604516215716599604045217338308555253849575044346135467402782483696103513393239194949765276798596549983835711166245998715287294903638514625636311384077313484541415382722867557338277762640122136952136450810224841046539854556253003080621181941121256095015385867447481395553115192100945496900410801121107301472276744468185030935981821917574841827244154857503062766446914938906673157304429164964534587116100979362506768725638077799466756957272493481310319266134176951495990026216333388713525390883228338698061402121952230229707722896709445626702166998133153771476112216632906066950303372387595367755748231910149276719371553084635094753885019551257608864339192200976541867905332423719510378819062051793619227970308300799700924565243201 10077624039955318552732790888887399387674243307352590558931596167017006855027485671332611909532592095633559213584106052087722342554401692286119472549059619741753619426790646769197425110886506331310048469778991482083378585433003064900403092076583846401480881605067325568621967022230251257995246194765741093040323602024426248750696946913552068934715856990172018009012136988003665988476115341955694640771316138333805717095718911221029675270522890113099548540384891860622742756358866855971286034389238746066105855255646118676293192478452972842898304787085996220843560388218637481705170339388391419070793599381970986696802095360009363354508740964551644130616985866524451592286350139218691955858617137979920244249583109387188659178591241782907120611554414996649438098271968432262953915194318909222397704353481099151057294917343902737496687824401245109050139322589670364288716932236076915184302075086340803483020801666336233190979878444964038587998334240876182087741310232845622506003418135152222979058463875495993966374383451608429400955264773713568195644822923499090909746765769561443373783145036594853948615913396068222900827092326862998263935516493298673015958061851239952208001645809301894348878904558187092024336879675724812179648851230336603693057217299735621267927586969161734948257236375815055785190146532063788439632045219122991708741892998244595079439958243626557204776138278460100850782833416565743884280472841756114047935027281106774070667911353694041198925123 16305938222490733769393814673471191531652579478722247164028609680731609790307068746815169077393140403042680562359398087529886579005025406108840020855933145386904059837358923018618724280326823223293518757575344936776869462023706684300123008913721673043809108383163851269540133762643980034250273891601662048983146624318515294954909417939561675210943188821233545717945790968319667034992213718108292672765683594033182817928585999126236075834230237813622950543489130220726123638124111751916301943712413980771553990351435000245200889013407002475864100693035101524707602080407912942386190689039311237748641697850605265645524346895240684832248946871701379998425829861146983919794319616625485808025306347241672955555633199548852845583096581386928725127770131596253483315610276987516803490238665044689800486837177202664450534112293668014295284374385080820216385321304957659192355446861713226568379388570882218865743669223674510953620000581916175038808559081922721942297563235926243687944539391247238364925911356891547081566484397105329811756385881015040472389291108530026891568683344403270617938002539657620395530852302741380205256257291397585380036495855805441741596139650706709165274139290612213615013081509683082050553213064438337570532079569034665095179169529965328990824296414788437115255369529586531897406779438130738743004432814490747456973803147521314450993042878721311089795689536068965189975034393107611789612896561266492866997079074726002040976212153394965764168324 26383562262446052322126605562358590919326822786074837722960205847748616645334554418147780986925732498676239775943504139617608921559427098394959493404992765128657679264149569787816149391213329554603567227354336418860248047456709749200526100990305519445289989988231176838162100784874231292245520086367403142023470226342941543705606364853113744145659045811405563726957927956323333023468329060063987313536999732366988535024304910347265751104753127926722499083874022081348866394482978607887587978101652726837659845607081118921494081491859975318762405480121097745551162468626550424091361028427702656819435297232576252342326442255250048186757687836253024129042815727671435512080669755844177763883923485221593199805216308936041504761687823169835845739324546592902921413882245419779757405432983953912198191190658301815507829029637570751791972198786325929266524643894628023481072379097790141752681463657223022348764470890010744144599879026880213626806893322798904030038873468771866193947957526399461343984375232387541047940867848713759212711650654728608668034114032029117801315449113964713991721147576252474344146765698809603106083349618260583643972012349104114757554201501946661373275785099914107963891986067870174074890092740163149750180930799371268788236386829700950258751883383950172063512605905401587682596925970194527182636478033613739165715696145765909530433001122347868294571827814529066040757867809673355673893369403022606914932106355832776111644123507089006963093447 42689500484936786091520420235829782450979402264797084886988815528480226435641623164962950064318872901718920338302902227147495500564452504503799514260925910515561739101508492806434873671540152777897085984929681355637117509480416433500649109904027192489099098371395028107702234547518211326495793977969065191006616850661456838660515782792675419356602234632639109444903718924643000058460542778172279986302683326400171352952890909473501826938983365740345449627363152302074990032607090359803889921814066707609213835958516119166694970505266977794626506173156199270258764549034463366477551717467013894568076995083181517987850789150490733019006634707954404127468645588818419431874989372469663571909229832463266155360849508484894350344784404556764570867094678189156404729492522407296560895671648998601998678027835504479958363141931238766087256573171406749482909965199585682673427825959503368321060852228105241214508140113685255098219879608796388665615452404721625972336436704698109881892496917646699708910286589279088129507352245819089024468036535743649140423405140559144692884132458367984609659150115910094739677618001550983311339606909658169024008508204909556499150341152653370538549924390526321578905067577553256125443305804601487320713010368405933883415556359666279249576179798738609178767975434988119580003705408325265925640910848104486622689499293287223981426044001069179384367517350598031230732902202780967463506265964289099781929185430558778152620335660483972727261771 69073062747382838413647025798188373370306225050871922609949021376228843080976177583110731051244605400395160114246406366765104422123879602898759007665918675644219418365658062594251023062753482332500653212284017774497365556937126182701175210894332711934389088359626204945864335332392442618741314064336468333030087077004398382366122147645789163502261280444044673171861646880966333081928871838236267299839683058767159887977195819820767578043736493667067948711237174383423856427090068967691477899915719434446873681565597238088189051997126953113388911653277297015809927017661013790568912745894716551387512292315757770330177231405740781205764322544207428256511461316489854943955659128313841335793153317684859355166065817420935855106472227726600416606419224782059326143374767827076318301104632952514196869218493806295466192171568809517879228771957732678749434609094213706154500205057293510073742315885328263563272611003695999242819758635676602292422345727520530002375310173469976075840454444046161052894661821666629177448220094532848237179687190472257808457519172588262494199581572332698601380297692162569083824383700360586417422956527918752667980520554013671256704542654600031911825709490440429542797053645423430200333398544764637070893941167777202671651943189367229508328063182688781242280581340389707262600631378519793108277388881718225788405195439053133511859045123417047678939345165127097271490770012454323137399635367311706696861291786391554264264459167572979690355218 111762563232319624505167446034018155821285627315669007496937836904709069516617800748073681115563478302114080452549308593912599922688332107402558521926844586159781157467166555400685896734293635110397739197213699130134483066417542616201824320798359904423488186731021233053566569879910653945237108042305533524036703927665855221026637930438464582858863515076683782616765365805609333140389414616408547286142366385167331240930086729294269404982719859407413398338600326685498846459697159327495367821729786142056087517524113357254884022502393930908015417826433496286068691566695477157046464463361730445955589287398939288318028020556231514224770957252161832383980106905308274375830648500783504907702383150148125510526915325905830205451256632283364987473513902971215730872867290234372879196776281951116195547246329310775424555313500048283966485345129139428232344574293799388827928031016796878394803168113433504777780751117381254341039638244472990958037798132242155974711746878168085957732951361692860761804948410945717306955572340351937261647723726215906948880924313147407187083714030700683211039447808072663823502001701911569728762563437576921691989028758923227755854883807253402450375633880966751121702121222976686325776704349366124391606951536183136555067499549033508757904242981427390421048556775377826842604336786845059033918299729822712411094694732340357493285089124486227063306862515725128502223672215235290600905901331600806478790477216950332416884794828056952417616989 180835625979702462918814471832206529191591852366540930106886858280937912597593978331184412166808083702509240566795714960677704344812211710301317529592763261804000575832824617994936919797047117442898392409497716904631848623354668798902999531692692616357877275090647437999430905212303096563978422106642001857066791004670253603392760078084253746361124795520728455788627012686575666222318286454644814585982049443934491128907282549115036983026456353074481347049837501068922702886787228295186845721645505576502961199089710595343073074499520884021404329479710793301878618584356490947615377209256446997343101579714697058648205251961972295430535279796369260640491568221798129319786307629097346243495536467832984865692981143326766060557728860009965404079933127753275057016242058061449197497880914903630392416464823117070890747485068857801845714117086872106981779183388013094982428236074090388468545483998761768341053362121077253583859396880149593250460143859762685977087057051638062033573405805739021814699610232612346484403792434884785498827410916688164757338443485735669681283295603033381812419745500235232907326385402272156146185519965495674359969549312936899012559426461853434362201343371407180664499174868400116526110102894130761462500892703960339226719442738400738266232306164116171663329138115767534105204968165364852142195688611540938199499890171393491005144134247903274742246207680852225773714442227689613738305536698912513175651769003341886681149253995629932107972207 292598189212022087423981917866224685012877479682209937603824695185646982114211779079258093282371562004623321019345023554590304267500543817703876051519607847963781733299991173395622816531340752553296131606711416034766331689772211415104823852491052520781365461821668671052997475092213750509215530148947535381103494932336108824419398008522718329219988310597412238405392378492184999362707701071053361872124415829101822369837369278409306388009176212481894745388437827754421549346484387622682213543375291718559048716613823952597957097001914814929419747306144289587947310151051968104661841672618177443298690867113636346966233272518203809655306237048531093024471675127106403695616956129880851151197919617981110376219896469232596266008985492293330391553447030724490787889109348295822076694657196854746587963711152427846315302798568906085812199462216011535214123757681812483810356267090887266863348652112195273118834113238458507924899035124622584208497941992004841951798803929806147991306357167431882576504558643558063791359364775236722760475134642904071706219367798883076868367009633734065023459193308307896730828387104183725874948083403072596051958578071860126768414310269106836812576977252373931786201296091376802851886807243496885854107844240143475781786942287434247024136549145543562084377694891145360947809304952209911176113988341363650610594584903733848498429223372389501805553070196577354275938114442924904339211438030513319654442246220292219098034048823686884525589196 473433815191724550342796389698431214204469332048750867710711553466584894711805757410442505449179645707132561586140738515268008612312755528005193581112371109767782309132815791390559736328387869996194524016209132939398180313126880214007823384183745137139242736912316109052428380304516847073193952255589537238170285937006362427812158086606972075581113106118140694194019391178760665585025987525698176458106465273036313498744651827524343371035632565556376092438275328823344252233271615917869059265020797295062009915703534547941030171501435698950824076785855082889825928735408459052277218881874624440641792446828333405614438524480176105085841516844900353664963243348904533015403263758978197394693456085814095241912877612559362326566714352303295795633380158477765844905351406357271274192538111758376980380175975544917206050283637763887657913579302883642195902941069825578792784503164977655331894136110957041459887475359535761508758432004772177458958085851767527928885860981444210024879762973170904391204168876170410275763157210121508259302545559592236463557811284618746549650305236767446835878938808543129638154772506455882021133603368568270411928127384797025780973736730960271174778320623781112450700470959776919377996910137627647316608736944103815008506385025834985290368855309659733747706833006912895053014273117574763318309676952904588810094475075127339503573357620292776547799277877429580049652556670614518077516974729425832830094015223634105779183302819316816633561403 766032004403746637766778307564655899217346811730960805314536248652231876826017536489700598731551207711755882605485762069858312879813299345709069632631978957731564042432806964786182552859728622549490655622920548974164512002899091629112647236674797657920608198733984780105425855396730597582409482404537072619273780869342471252231556095129690404801101416715552932599411769670945664947733688596751538330230881102138135868582021105933649759044808778038270837826713156577765801579756003540551272808396089013621058632317358500538987268503350513880243824091999372477773238886460427156939060554492801883940483313941969752580671796998379914741147753893431446689434918476010936711020219888859048545891375703795205618132774081791958592575699844596626187186827189202256632794460754653093350887195308613123568343887127972763521353082206669973470113041518895177410026698751638062603140770255864922195242788223152314578721588597994269433657467129394761667456027843772369880684664911250358016186120140602786967708727519728474067122521985358231019777680202496308169777179083501823418017314870501511859338132116851026368983159610639607896081686771640866463886705456657152549388047000067107987355297876155044236901767051153722229883717381124533170716581184247290790293327313269232314505404455203295832084527898058256000823578069784674494423665294268239420689059978861188002002580992682278353352348074006934325590671113539422416728412759939152484536261443926324877217351643003701159150599 1239465819595471188109574697263087113421816143779711673025247802118816771537823293900143104180730853418888444191626500585126321492126054873714263213744350067499346351565622756176742289188116492545685179639129681913562692316025971843120470620858542795059850935646300889157854235701247444655603434660126609857444066806348833680043714181736662480382214522833693626793431160849706330532759676122449714788337346375174449367326672933457993130080441343594646930264988485401110053813027619458420332073416886308683068548020893048480017440004786212831067900877854455367599167621868886209216279436367426324582275760770303158195110321478556019826989270738331800354398161824915469726423483647837245940584831789609300860045651694351320919142414196899921982820207347680022477699812161010364625079733420371500548724063103517680727403365844433861128026620821778819605929639821463641395925273420842577527136924334109356038609063957530030942415899134166939126414113695539897809570525892694568041065883113773691358912896395898884342885679195479739279080225762088544633334990368120569967667620107268958695217070925394156007137932117095489917215290140209136875814832841454178330361783731027379162133618499936156687602238010930641607880627518752180487325318128351105798799712339104217604874259764863029579791360904971151053837851187359437812733342247172828230783535053988527505575938612975054901151625951436514375243227784153940494245387489364985314630276667560430656400654462320517792712002 2005497823999217825876353004827743012639162955510672478339784050771048648363840830389843702912282061130644326797112262654984634371939354219423332846376329025230910393998429720962924842047845115095175835262050230887727204318925063472233117857533340452980459134380285669263280091097978042238012917064663682476717847675691304932275270276866352885183315939549246559392842930520651995480493364719201253118568227477312585235908694039391642889125250121632917768091701641978875855392783622998971604881812975322304127180338251549019004708508136726711311724969853827845372406508329313366155339990860228208522759074712272910775782118476935934568137024631763247043833080300926406437443703536696294486476207493404506478178425776143279511718114041496548170007034536882279110494272915663457975966928728984624117067950231490444248756448051103834598139662340673997015956338573101703999066043676707499722379712557261670617330652555524300376073366263561700793870141539312267690255190803944926057252003254376478326621623915627358410008201180837970298857905964584852803112169451622393385684934977770470554555203042245182376121091727735097813296976911850003339701538298111330879749830731094487149488916376091200924504005062084363837764344899876713658041899312598396589093039652373449919379664220066325411875888803029407054661429257144112307157007541441067651472595032849715507578519605657333254503974025443448700833898897693362910973800249304137799166538111486755533618006105324218951862601 3244963643594689013985927702090830126060979099290384151365031852889865419901664124289986807093012914549532770988738763240110955864065409093137596060120679092730256745564052477139667131235961607640861014901179912801289896634951035315353588478391883248040310070026586558421134326799225486893616351724790292334161914482040138612318984458603015365565530462382940186186274091370358326013253040841650967906905573852487034603235366972849636019205691465227564698356690127379985909205811242457391936955229861630987195728359144597499022148512922939542379625847708283212971574130198199575371619427227654533105034835482576068970892439955491954395126295370095047398231242125841876163867187184533540427061039283013807338224077470494600430860528238396470152827241884562301588194085076673822601046662149356124665792013335008124976159813895537695726166283162452816621885978394565345394991317097550077249516636891371026655939716513054331318489265397728639920284255234852165499825716696639494098317886368150169685534520311526242752893880376317709577938131726673397436447159819742963353352555085039429249772273967639338383259023844830587730512267052059140215516371139565509210111614462121866311622534876027357612106243073015005445644972418628894145367217440949502387892751991477667524253923984929354991667249708000558108499280444503550119890349788613895882256130086838243013154458218632388155655599976879963076077126681847303405219187738669123113796814779047186190018660567644736744574603 5250461467593906839862280706918573138700142054801056629704815903660914068265504954679830510005294975680177097785851025895095590236004763312560928906497008117961167139562482198102591973283806722736036850163230143689017100953876098787586706335925223701020769204406872227684414417897203529131629268789453974810879762157731443544594254735469368250748846401932186745579117021891010321493746405560852221025473801329799619839144061012241278908330941586860482466448391769358861764598594865456363541837042836953291322908697396146518026857021059666253691350817562111058343980638527512941526959418087882741627793910194848979746674558432427888963263320001858294442064322426768282601310890721229834913537246776418313816402503246637879942578642279893018322834276421444580698688357992337280577013590878340748782859963566498569224916261946641530324305945503126813637842316967667049394057360774257576971896349448632697273270369068578631694562631661290340714154396774164433190080907500584420155569889622526648012156144227153601162902081557155679876796037691258250239559329271365356739037490062809899804327477009884520759380115572565685543809243963909143555217909437676840089861445193216353461111451252118558536610248135099369283409317318505607803409116753547898976985791643851117443633588204995680403543138511029965163160709701647662427047357330054963533728725119687958520732977824289721410159574002323411776911025579540666316192987987973260912963352890533941723636666672968955696437204 8495425111188595853848208409009403264761121154091440781069847756550779488167169078969817317098307890229709868774589789135206546100070172405698524966617687210691423885126534675242259104519768330376897865064410056490306997588827134102940294814317106949061079274433458786105548744696429016025245620514244267145041676639771582156913239194072383616314376864315126931765391113261368647506999446402503188932379375182286654442379427985090914927536633052088047164805081896738847673804406107913755478792272698584278518637056540744017049005533982605796070976665270394271315554768725712516898578845315537274732828745677425048717566998387919843358389615371953341840295564552610158765178077905763375340598286059432121154626580717132480373439170518289488475661518306006882286882443069011103178060253027696873448651976901506694201076075842179226050472228665579630259728295362232394789048677871807654221412986340003723929210085581632963013051897059018980634438652009016598689906624197223914253887775990676817697690664538679843915795961933473389454734169417931647676006489091108320092390045147849329054099750977523859142639139417396273274321511015968283770734280577242349299973059655338219772733986128145916148716491208114374729054289737134501948776334194497401364878543635328784967887512189925035395210388219030523271659990146151212546937707118668859415984855206526201533887436042922109565815173979203374852988152261387969721412175726642384026760167669581127913655327240613692441011807 13745886578782502693710489115927976403461263208892497410774663660211693556432674033649647827103602865909886966560440815030302136336074935718259453873114695328652591024689016873344851077803575053112934715227640200179324098542703232890527001150242330650081848478840331013789963162593632545156874889303698241955921438797503025701507493929541751867063223266247313677344508135152378969000745851963355409957853176512086274281523488997332193835867574638948529631253473666097709438403000973370119020629315535537569841545753936890535075862555042272049762327482832505329659535407253225458425538263403420016360622655872274028464241556820347732321652935373811636282359886979378441366488968626993210254135532835850434971029083963770360316017812798182506798495794727451462985570801061348383755073843906037622231511940468005263425992337788820756374778174168706443897570612329899444183106038646065231193309335788636421202480454650211594707614528720309321348593048783181031879987531697808334409457665613203465709846808765833445078698043490629069331530207109189897915565818362473676831427535210659228858427227987408379902019254989961958818130754979877427325952190014919189389834504848554573233845437380264474685326739343213744012463607055640109752185450948045300341864335279179902411521100394920715798753526730060488434820699847798874973985064448723822949713580326214160054620413867211830975974747981526786629899177840928636037605163714615644939723520560115069637291993913582648137449011 22241311689971098547558697524937379668222384362983938191844511416762473044599843112619465144201910756139596835335030604165508682436145108123957978839732382539344014909815551548587110182323343383489832580292050256669631096131530366993467295964559437599142927753273789799895511907290061561182120509817942509100963115437274607858420733123614135483377600130562440609109899248413747616507745298365858598890232551694372928723902916982423108763404207691036576796058555562836557112207407081283874499421588234121848360182810477634552124868089024877845833304148102899600975090175978937975324117108718957291093451401549699077181808555208267575680042550745764978122655451531988600131667046532756585594733818895282556125655664680902840689456983316471995274157313033458345272453244130359486933134096933734495680163917369511957627068413630999982425250402834286074157298907692131838972154716517872885414722322128640145131690540231844557720666425779328301983031700792197630569894155895032248663345441603880283407537473304513288994494005424102458786264376527121545591572307453581996923817580358508557912526978964932239044658394407358232092452265995845711096686470592161538689807564503892793006579423508410390834043230551328118741517896792774611700961785142542701706742878914508687379408612584845751193963914949091011706480689993950087520922771567392682365698435532740361588507849910133940541789921960730161482887330102316605759017339441258028966483688229696197550947321154196340578460818 35987198268753601241269186640865356071683647571876435602619175076974166601032517146269112971305513622049483801895471419195810818772220043842217432712847077867996605934504568421931961260126918436602767295519690456848955194674233599883994297114801768249224776232114120813685475069883694106338995399121640751056884554234777633559928227053155887350440823396809754286454407383566126585508491150329214008848085728206459203005426405979755302599271782329985106427312029228934266550610408054653993520050903769659418201728564414525087200730644067149895595631630935404930634625583232163433749655372122377307454074057421973105646050112028615308001695486119576614405015338511367041498156015159749795848869351731132991096684748644673201005474796114654502072653107760909808258024045191707870688207940839772117911675857837517221053060751419820738800028577002992518054869520022031283155260755163938116608031657917276566334170994882056152428280954499637623331624749575378662449881687592840583072803107217083749117384282070346734073192048914731528117794583636311443507138125816055673755245115569167786770954206952340618946677649397320190910583020975723138422638660607080728079642069352447366240424860888674865519369969894541862753981503848414721453147236090588002048607214193688589790929712979766466992717441679151500141301389841748962494907836016116505315412015858954521643128263777345771517764669942256948112786507943245241796622503155873673906207208789811267188239315067778988715909829 58228509958724699788827884165802735739906031934860373794463686493736639645632360258888578115507424378189080637230502023361319501208365151966175411552579460407340620844320119970519071442450261820092599875811740713518586290805763966877461593079361205848367703985387910613580986977173755667521115908939583260157847669672052241418348960176770022833818423527372194895564306631979874202016236448695072607738318279900832131729329322962178411362675990021021683223370584791770823662817815135937868019472492003781266561911374892159639325598733092027741428935779038304531609715759211101409073772480841334598547525458971672182827858667236882883681738036865341592527670790043355641629823061692506381443603170626415547222340413325576041694931779431126497346810420794368153530477289322067357621342037773506613591839775207029178680129165050820721225278979837278592212168427714163122127415471681811002022753980045916711465861535113900710148947380278965925314656450367576293019775843487872831736148548820964032524921755374860023067686054338833986904058960163432989098710433269637670679062695927676344683481185917272857991336043804678423003035286971568849519325131199242266769449633856340159247004284397085256353413200445869981495499400641189333154109021233130703755350093108197277170338325564612218186681356628242511847782079835699050015830607583509187681110451391694883231636113687479712059554591902987109595673838045561847555639842597131702872690897019507464739186636221975329294370647 94215708227478301030097070806668091811589679506736809397082861570710806246664877405157691086812938000238564439125973442557130319980585195808392844265426538275337226778824688392451032702577180256695367171331431170367541485479997566761455890194162974097592480217502031427266462047057449773860111308061224011214732223906829874978277187229925910184259246924181949182018714015546000787524727599024286616586404008107291334734755728941933713961947772351006789650682614020705090213428223190591861539523395773440684763639939306684726526329377159177637024567409973709462244341342443264842823427852963711906001599516393645288473908779265498191683433522984918206932686128554722683127979076852256177292472522357548538319025161970249242700406575545780999419463528555277961788501334513775228309549978613278731503515633044546399733189916470641460025307556840271110267037947736194405282676226845749118630785637963193277800032529995956862577228334778603548646281199942954955469657531080713414808951656038047781642306037445206757140878103253565515021853543799744432605848559085693344434307811496844131454435392869613476938013693201998613913618307947291987941963791806322994849091703208787525487429145285760121872783170340411844249480904489604054607256257323718705803957307301885866961268038544378685179398798307394011989083469677448012510738443599625692996522467250649404874764377464825483577319261845244057708460345988807089352262345753005376778898105809318731927425951289754318010280476 152444218186203000818924954972470827551495711441597183191546548064447445892297237664046269202320362378427645076356475465918449821188950347774568255818005998682677847623144808362970104145027442076787967047143171883886127776285761533638917483273524179945960184202889942040847449024231205441381227217000807271372579893578882116396626147406695933018077670451554144077583020647525874989540964047719359224324722288008123466464085051904112125324623762372028472874053198812475913876246038326529729558995887777221951325551314198844365851928110251205378453503189012013993854057101654366251897200333805046504549124975365317471301767446502381075365171559850259799460356918598078324757802138544762558736075692983964085541365575295825284395338354976907496766273949349646115318978623835842585930892016386785345095355408251575578413319081521462181250586536677549702479206375450357527410091698527560120653539618009109989265894065109857572726175715057569473960937650310531248489433374568586246545100204859011814167227792820066780208564157592399501925912503963177421704558992355331015113370507424520476137916578786886334929349737006677036916653594918860837461288923005565261618541337065127684734433429682845378226196370786281825744980305130793387761365278556849409559307400410083144131606364108990903366080154935636523836865549513147062526569051183134880677632918642344288106400491152305195636873853748231167304134184034368936907902188350137079651589002828826196666612587511729647304651123 246659926413681301849022025779138919363085390948333992588629409635158252138962115069203960289133300378666209515482448908475580141169535543582961100083432536958015074401969496755421136847604622333483334218474603054253669261765759100400373373467687154043552664420391973468113911071288655215241338525062031282587312117485711991374903334636621843202336917375736093259601734663071875777065691646743645840911126296115414801198840780846045839286571534723035262524735812833181004089674261517121591098519283550662636089191253505529092378257487410383015478070598985723456098398444097631094720628186768758410550724491758962759775676225767879267048605082835178006393043047152801007885781215397018736028548215341512623860390737266074527095744930522688496185737477904924077107479958349617814240441995000064076598871041296121978146508997992103641275894093517820812746244323186551932692767925373309239284325255972303267065926595105814435303404049836173022607218850253486203959090905649299661354051860897059595809533830265273537349442260845965016947766047762921854310407551441024359547678318921364607592351971656499811867363430208675650830271902866152825403252714811888256467633040273915210221862574968605500098979541126693669994461209620397442368621535880568115363264707711969011092874402653369588545478953243030535825949019190595075037307494782760573674155385892993692981164868617130679214193115593475225012594530023176026260164534103142456430487108638144928594038538801483965314931599 399104144599884302667946980751609746914581102389931175780175957699605698031259352733250229491453662757093854591838924374394029962358485891357529355901438535640692922025114305118391240992632064410271301265617774938139797038051520634039290856741211333989512848623281915508961360095519860656622565742062838553959892011064594107771529482043317776220414587827290237337184755310597750766606655694463005065235848584123538267662925832750157964611195297095063735398789011645656917965920299843651320657515171327884587414742567704373458230185597661588393931573787997737449952455545751997346617828520573804915099849467124280231077443672270260342413776642685437805853399965750879332643583353941781294764623908325476709401756312561899811491083285499595992952011427254570192426458582185460400171334011386849421694226449547697556559828079513565822526480630195370515225450698636909460102859623900869359937864873981413256331820660215672008029579764893742496568156500564017452448524280217885907899152065756071409976761623085340317558006418438364518873678551726099276014966543796355374661048826345885083730268550443386146796713167215352687746925497785013662864541637817453518086174377339042894956296004651450878325175911912975495739441514751190830129986814437417524922572108122052155224480766762360491911559108178667059662814568703742137563876545965895454351788304535337981087565359769435874851066969341706392316728714057544963168066722453279536082076111466971125260651126313213612619582722 645764071013565604516969006530748666277666493338265168368805367334763950170221467802454189780586963135760064107321373282869610103528021434940490455984871072598707996427083801873812377840236686743754635484092377992393466299817279734439664230208898488033065513043673888977075271166808515871863904267124869836547204128550306099146432816679939619422751505203026330596786489973669626543672347341206650906146974880238953068861766613596203803897766831818098997923524824478837922055594561360772911756034454878547223503933821209902550608443085071971409409644386983460906050853989849628441338456707342563325650573958883242990853119898038139609462381725520615812246443012903680340529364569338800030793172123666989333262147049827974338586828216022284489137748905159494269533938540535078214411776006386913498293097490843819534706337077505669463802374723713191327971695021823461392795627549274178599222190129953716523397747255321486443332983814729915519175375350817503656407615185867185569253203926653131005786295453350613854907448679284329535821444599489021130325374095237379734208727145267249691322620522099885958664076597424028338577197400651166488267794352629341774553807417612958105178158579620056378424155453039669165733902724371588272498608350317985640285836815834021166317355169415730080457038061421697595488763587894337212601184040748656028025943690428331674068730228386566554065260084935181617329323244080720989428231256556421992512563220105116053854689665114697577934514321 1044868215613449907184915987282358413192247595728196344148981325034369648201480820535704419272040625892853918699160297657263640065886507326298019811886309608239400918452198106992203618832868751154025936749710152930533263337868800368478955086950109822022578361666955804486036631262328376528486470009187708390507096139614900206917962298723257395643166093030316567933971245284267377310279003035669655971382823464362491336524692446346361768508962128913162733322313836124494840021514861204424232413549626206431810918676388914276008838628682733559803341218174981198356003309535601625787956285227916368240750423426007523221930563570308399951876158368206053618099842978654559673172947923280581325557796031992466042663903362389874150077911501521880482089760332414064461960397122720538614583110017773762919987323940391517091266165157019235286328855353908561843197145720460370852898487173175047959160055003935129779729567915537158451362563579623658015743531851381521108856139466085071477152355992409202415763057076435954172465455097722694054695123151215120406340340639033735108869775971613134775052889072543272105460789764639381026324122898436180151132335990446795292639981794952001000134454584271507256749331364952644661473344239122779102628595164755403165208408923956073321541835936178090572368597169600364655151578156598079350165060586714551482377731994963669655156295588156002428916327054276888009646051958138265952596297979009701528594639331572087179115340791427911190554097043 1690632286627015511701884993813107079469914089066461512517786692369133598371702288338158609052627589028613982806481670940133250169414528761238510267871180680838108914879281908866015996673105437897780572233802530922926729637686080102918619317159008310055643874710629693463111902429136892400350374276312578227054300268165206306064395115403197015065917598233342898530757735257937003853951350376876306877529798344601444405386459059942565572406728960731261731245838660603332762077109422565197144169584081084979034422610210124178559447071767805531212750862561964659262054163525451254229294741935258931566400997384890766212783683468346539561338540093726669430346285991558240013702312492619381356350968155659455375926050412217848488664739717544164971227509237573558731494335663255616828994886024160676418280421431235336625972502234524904750131230077621753171168840742283832245694114722449226558382245133888846303127315170858644894695547394353573534918907202199024765263754651952257046405559919062333421549352529786568027372903777007023590516567750704141536665714734271114843078503116880384466375509594643158064124866362063409364901320299087346639400130343076137067193789212564959105312613163891563635173486817992313827207246963494367375127203515073388805494245739790094487859191105593820652825635231022062250640341744492416562766244627463207510403675685392001329225025816542568982981587139212069626975375202218986942024529235566123521107202551677203232970030456542608768488611364 2735500502240465418886800981095465492662161684794657856666768017403503246573183108873863028324668214921467901505641968597396890235301036087536530079757490289077509833331480015858219615505974189051806508983512683853459992975554880471397574404109118132078222236377585497949148533691465268928836844285500286617561396407780106512982357414126454410709083691263659466464728980542204381164230353412545962848912621808963935741911151506288927340915691089644424464568152496727827602098624283769621376583133707291410845341286599038454568285700450539091016092080736945857618057473061052880017251027163175299807151420810898289434714247038654939513214698461932723048446128970212799686875260415899962681908764187651921418589953774607722638742651219066045453317269569987623193454732785976155443577996041934439338267745371626853717238667391544140036460085431530315014365986462744203098592601895624274517542300137823976082856883086395803346058110973977231550662439053580545874119894118037328523557915911471535837312409606222522199838358874729717645211690901919261943006055373304849951948279088493519241428398667186430169585656126702790391225443197523526790532466333522932359833771007516960105447067748163070891922818182944958488680591202617146477755798679828791970702654663746167809401027041771911225194232400622426905791919901090495912931305214177758992781407680355670984381321404698571411897914193488957636621427160357252894620827214575825049701841883249290412085371247970519959042708407 4426132788867480930588685974908572572132075773861119369184554709772636844944885397212021637377295803950081884312123639537530140404715564848775040347628670969915618748210761924724235612179079626949587081217315214776386722613240960574316193721268126442133866111088215191412260436120602161329187218561812864844615696675945312819046752529529651425775001289497002364995486715800141385018181703789422269726442420153565380147297610566231492913322420050375686195813991157331160364175733706334818520752717788376389879763896809162633127732772218344622228842943298910516880111636586504134246545769098434231373552418195789055647497930507001479074553238555659392478792414961771039700577572908519344038259732343311376794516004186825571127407390936610210424544778807561181924949068449231772272572882066095115756548166802862190343211169626069044786591315509152068185534827205028035344286716618073501075924545271712822385984198257254448240753658368330805085581346255779570639383648769989585569963475830533869258861762136009090227211262651736741235728258652623403479671770107575964795026782205373903707803908261829588233710522488766199756126763496610873429932596676599069427027560220081919210759680912054634527096305000937272315887838166111513852883002194902180776196900403536262297260218147365731878019867631644489156432261645582912475697549841640966503185083365747672313606347221241140394879501332701027263596802362576239836645356450141948570809044434926493645055401704513128727531319771 7161633291107946349475486956004038064794237458655777225851322727176140091518068506085884665701964018871549785817765608134927030640016600936311570427386161258993128581542241940582455227685053816001393590200827898629846715588795841045713768125377244574212088347465800689361408969812067430258024062847313151462177093083725419332029109943656105836484084980760661831460215696342345766182412057201968232575355041962529315889208762072520420254238111140020110660382143654058987966274357990104439897335851495667800725105183408201087696018472668883713244935024035856374498169109647557014263796796261609531180703839006687345082212177545656418587767937017592115527238543931983839387452833324419306720168496530963298213105957961433293766150042155676255877862048377548805118403801235207927716150878108029555094815912174489044060449837017613184823051400940682383199900813667772238442879318513697775593466845409536798468841081343650251586811769342308036636243785309360116513503542888026914093521391742005405096174171742231612427049621526466458880939949554542665422677825480880814746975061293867422949232306929016018403296178615468990147352206694134400220465063010122001786861331227598879316206748660217705419019123183882230804568429368728660330638800874730972746899555067282430106661245189137643103214100032266916062224181546673408388628855055818725495966491046103343297987668625939711806777415526189984900218229522933492731266183664717773620510886318175784057140772952483648686574028178 11587766079975427280064172930912610636926313232516896595035877436948776936462953903297906303079259822821631670129889247672457171044732165785086610775014832228908747329753003865306690839864133442950980671418143113406233438202036801620029961846645371016345954458554015880773669405932669591587211281409126016306792789759670732151075862473185757262259086270257664196455702412142487151200593760991390502301797462116094696036506372638751913167560531190395796856196134811390148330450091696439258418088569284044190604869080217363720823751244887228335473777967334766891378280746234061148510342565360043762554256257202476400729710108052657897662321175573251508006030958893754879088030406232938650758428228874274675007621962148258864893557433092286466302406827185109987043352869684439699988723760174124670851364078977351234403661006643682229609642716449834451385435640872800273787166035131771276669391390681249620854825279600904699827565427710638841721825131565139687152887191658016499663484867572539274355035933878240702654260884178203200116668208207166068902349595588456779542001843499241326657036215190845606637006701104235189903478970190745273650397659686721071213888891447680798526966429572272339946115428184819503120456267534840174183521803069633153523096455470818692403921463336503374981233967663911405218656443192256320864326404897459691999151574411851015611594015847180852201656916858891012163815031885509732567911540114859722191319930753102277702196174656996777414105347949 18749399371083373629539659886916648701720550691172673820887200164124917027981022409383790968781223841693181455947654855807384201684748766721398181202400993487901875911295245805889146067549187258952374261618971012036080153790832642665743729972022615590558042806019816570135078375744737021845235344256439167768969882843396151483104972416841863098743171251018326027915918108484832917383005818193358734877152504078624011925715134711272333421798642330415907516578278465449136296724449686543698315424420779711991329974263625564808519769717556112048718712991370623265876449855881618162774139361621653293734960096209163745811922285598314316250089112590843623533269502825738718475483239557357957478596725405237973220727920109692158659707475247962722180268875562658792161756670919647627704874638282154225946179991151840278464110843661295414432694117390516834585336454540572512230045353645469052262858236090786419323666360944554951414377197052946878358068916874499803666390734546043413757006259314544679451210105620472315081310505704669658997608157761708734325027421069337594288976904793108749606268522119861625040302879719704180050831176884879673870862722696843073000750222675279677843173178232490045365134551368701733925024696903568834514160603944364126269996010538101122510582708525641018084448067696178321280880624738929729252955259953278417495118065457954358909581684473120564008434332385080997064033261408443225299177723779577495811830817071278061759336947609480426100679376127 30337165451058800909603832817829259338646863923689570415923077601073693964443976312681697271860483664514813126077544103479841372729480932506484791977415825716810623241048249671195836907413320701903354933037114125442313591992869444285773691818667986606903997264573832450908747781677406613432446625665565184075762672603066883634180834890027620361002257521275990224371620520627320068583599579184749237178949966194718707962221507350024246589359173520811704372774413276839284627174541382982956733512990063756181934843343842928529343520962443340384192490958705390157254730602115679311284481926981697056289216353411640146541632393650972213912410288164095131539300461719493597563513645790296608237024954279512648228349882257951023553264908340249188482675702747768779205109540604087327693598398456278896797544070129191512867771850304977644042336833840351285970772095413372786017211388777240328932249626772036040178491640545459651241942624763585720079894048439639490819277926204059913420491126887083953806246039498713017735571389882872859114276365968874803227377016657794373830978748292350076263304737310707231677309580823939369954310147075624947521260382383564144214639114122960476370139607804762385311249979553521237045480964438409008697682407013997279793092466008919814914504171862144393065682035360089726499537067931186050117281664850738109494269639869805374521175700320301416210091249243972009227848293293952957867089263894437218003150747824380339461533122266477203514784724076 49086564822142174539143492704745908040367414614862244236810277765198610992424998722065488240641707506207994582025198959287225574414229699227882973179816819204712499152343495477084982974962507960855729194656085137478393745783702086951517421790690602197462040070593649021043826157422143635277681969922004351844732555446463035117285807306869483459745428772294316252287538629112152985966605397378107972056102470273342719887936642061296580011157815851227611889352691742288420923898991069526655048937410843468173264817607468493337863290679999452432911203950076013423131180457997297474058621288603350350024176449620803892353554679249286530162499400754938755072569964545232316038996885347654565715621679684750621449077802367643182212972383588211910662944578310427571366866211523734955398473036738433122743724061281031791331882693966273058475030951230868120556108549953945298247256742422709381195107862862822459502158001490014602656319821816532598437962965314139294485668660750103327177497386201628633257456145119185332816881895587542518111884523730583537552404437727131968119955653085458825869573259430568856717612460543643550005141323960504621392123105080407217215389336798240154213312786037252430676384530922222970970505661341977843211843010958361406063088476547020937425086880387785411150130103056268047780417692670115779370236924804016526989387705327759733430757384793421980218525581629053006291881554702396183166266987674014713814981564895658401220870069875957629615464100203 79423730273200975448747325522575167379014278538551814652733355366272304956868975034747185512502191170722807708102743062767066947143710631734367765157232644921523122393391745148280819882375828662759084127693199262920707337776571531237291113609358588804366037335167481471952573939099550248710128595587569535920495228049529918751466642196897103820747686293570306476659159149739473054550204976562857209235052436468061427850158149411320826600516989372039316262127105019127705551073532452509611782450400907224355199660951311421867206811642442792817103694908781403580385911060112976785343103215585047406313392803032444038895187072900258744074909688919033886611870426264725913602510531137951173952646633964263269677427684625594205766237291928461099145620281058196350571975752127822283092071435194712019541268131410223304199654544271250702517367785071219406526880645367318084264468131199949710127357489634858499680649642035474253898262446580118318517857013753778785304946586954163240597988513088712587063702184617898350552453285470415377226160889699458340779781454384926341950934401377808902132877996741276088394922041367582919959451471036129568913383487463971361430028450921200630583452393842014815987634510475744208015986625780386851909525417972358685856180942555940752339591052249929804215812138416357774279954760601301829487518589654754636483657345197565107951933085113723396428616830873025015519729847996349141033356251568451931818132312720038740682403192142434833130248824279 128510295095343149987890818227321075419381693153414058889543633131470915949293973756812673753143898676930802290127942022054292521557940330962250738337049464126235621545735240625365802857338336623614813322349284400399101083560273618188808535400049191001828077405761130492996400096521693883987810565509573887765227783495992953868752449503766587280493115065864622728946697778851626040516810373940965181291154906741404147738094791472617406611674805223266928151479796761416126474972523522036266831387811750692528464478558779915205070102322442245250014898858857417003517091518110274259401724504188397756337569252653247931248741752149545274237409089673972641684440390809958229641507416485605739668268313649013891126505486993237387979209675516673009808564859368623921938841963651557238490544471933145142284992192691255095531537238237523760992398736302087527082989195321263382511724873622659091322465352497680959182807643525488856554582268396650916955819979067918079790615247704266567775485899290341220321158329737083683369335181057957895338045413430041878332185892112058310070890054463267728002451256171844945112534501911226469964592794996634190305506592544378578645417787719440784796765179879267246664019041397967178986492287122364695121368428930720091919269419102961689764677932637715215365942241472625822060372453271417608857755514458771163473045050525324841382690469907145376647142412502078021811611402698745324199623239242466645633113877615697141903273262018392462745712924482 207934025368544125436638143749896242798395971691965873542276988497743220906162948791559859265646089847653609998230685084821359468701650962696618503494282109047758743939126985773646622739714165286373897450042483663319808421336845149426099649009407779806194114740928611964948974035621244132697939161097143423685723011545522872620219091700663691101240801359434929205605856928591099095067015350503822390526207343209465575588252940883938233212191794595306244413606901780543832026046055974545878613838212657916883664139510091337072276913964885038067118593767638820583903002578223251044744827719773445162650962055685691970143928825049804018312318778593006528296310817074684143244017947623556913620914947613277160803933171618831593745446967445134108954185140426820272510817715779379521582615907127857161826260324101478399731191782508774463509766521373306933609869840688581466776193004822608801449822842132539458863457285560963110452844714976769235473676992821696865095561834658429808373474412379053807384860514354982033921788466528373272564206303129500219111967346496984652021824455841076630135329252913121033507456543278809389924044266032763759218890080008349940075446238640641415380217573721282062651653551873711387002478912902751547030893846903078777775450361658902442104268984887645019581754379888983596340327213872719438345274104113525799956702395722889949334623555020868773075759243375103037331341250695094465232979490810918577451246190335735882585676454160827295875961748761 336444320463887275424528961977217318217777664845379932431820621629214136855456922548372533018789988524584412288358627106875651990259591293658869241831331573173994365484862226399012425597052501909988710772391768063718909504897118767614908184409456970808022192146689742457945374132142938016685749726606717311450950795041515826488971541204430278381733916425299551934552554707442725135583825724444787571817362249950869723326347732356555639823866599818573172565086698541959958501018579496582145445226024408609412128618068871252277347016287327283317133492626496237587420094096333525304146552223961842918988531308338939901392670577199349292549727868266979169980751207884642372885525364109162653289183261262291051930438658612068981724656642961807118762749999795444194449659679430936760073160379061002304111252516792733495262729020746298224502165257675394460692859036009844849287917878445267892772288194630220418046264929086451967007426983373420152429496971889614944886177082362696376148960311669395027706018844092065717291123647586331167902251716559542097444153238609042962092714510304344358137780509084965978619991045190035859888637061029397949524396672552728518720864026360082200176982753600549309315672593271678565988971200025116242152262275833798869694719780761864131868946917525360234947696621361609418400699667144137047203029618572296963429747446248214790717314024928014149722901655877181059142952653393839789432602730053385223084360067951433024488949716179219758621674673243 544378345832431400861167105727113561016173636537345805974097610126957357761619871339932392284436078372238022286589312191697011458961242256355487745325613682221753109423989212172659048336766667196362608222434251727038717926233963917041007833418864750614216306887618354422894348167764182149383688887703860735136673806587038699109190632905093969482974717784734481140158411636033824230650841074948609962343569593160335298914600673240493873036058394413879416978693600322503790527064635471128024059064237066526295792757578962589349623930252212321384252086394135058171323096674556776348891379943735288081639493364024631871536599402249153310862046646859985698277062024959326516129543311732719566910098208875568212734371830230900575470103610406941227716935140222264466960477395210316281655776286188859465937512840894211894993920803255072688011931779048701394302728876698426316064110883267876694222111036762759876909722214647415077460271698350189387903173964711311809981738917021126184522434724048448835090879358447047751212912114114704440466458019689042316556120585106027614114538966145420988273109761998087012127447588468845249812681327062161708743286752561078458796310265000723615557200327321831371967326145145389952991450112927867789183156122736877647470170142420766573973215902413005254529451001250593014741026881016856485548303722685822763386449841971104740051937579948882922798660899252284096474293904088934254665582220864303800535606258287168907074626170340047054497636422004 880822666296318676285696067704330879233951301382725738405918231756171494617076793888304925303226066896822434574947939298572663449220833550014356987156945255395747474908851438571671473933819169106351318994826019790757627431131082684655916017828321721422238499034308096880839722299907120166069438614310578046587624601628554525598162174109524247864708634210034033074710966343476549366234666799393397534160931843111205022240948405597049512859924994232452589543780298864463749028083214967710169504290261475135707921375647833841626970946539539604701385579020631295758743190770890301653037932167697131000628024672363571772929269979448502603411774515126964868257813232843968889015068675841882220199281470137859264664810488842969557194760253368748346479685140017708661410137074641253041728936665249861770048765357686945390256649824001370912514097036724095854995587912708271165352028761713144586994399231392980294955987143733867044467698681723609540332670936600926754867915999383822560671395035717843862796898202539113468504035761701035608368709736248584414000273823715070576207253476449765346410890271083052990747438633658881109701318388091559658267683425113806977517174291360805815734183080922380681282998738417068518980421312952984031335418398570676517164889923182630705842162819938365489477147622612202433141726548160993532751333341258119726816197288219319530769251604876897072521562555129465155617246557482774044098184950917689023619966326238601931563575886519266813119311095247 1425201012128750077146863173431444440250124937920071544380015841883128852378696665228237317587662145269060456861537251490269674908182075806369844732482558937617500584332840650744330522270585836302713927217260271517796345357365046601696923851247186472036454805921926451303734070467671302315453127502014438781724298408215593224707352807014618217347683351994768514214869377979510373596885507874342007496504501436271540321155549078837543385895983388646332006522473899186967539555147850438838193563354498541662003714133226796430976594876791751926085637665414766353930066287445447078001929312111432419082267518036388203644465869381697655914273821161986950566534875257803295405144611987574601787109379679013427477399182319073870132664863863775689574196620280239973128370614469851569323384712951438721235986278198581157285250570627256443600526028815772797249298316789406697481416139644981021281216510268155740171865709358381282121927970380073798928235844901312238564849654916404948745193829759766292697887777560986161219716947875815740048835167755937626730556394408821098190321792442595186334684000033081140002874886222127726359513999715153721367010970177674885436313484556361529431291383408244212053250324883562458471971871425880851820518574521307554164635060065603397279815378722351370744006598623862795447882753429177850018299637063943942490202647130190424270821189184825779995320223454381749252091540461571708298763767171781992824155572584525770838638202056859313867616947517251 2306023678425068753432559241135775319484076239302797282785934073639300346995773459116542242890888212165882891436485190788842338357402909356384201719639504193013248059241692089316001996204405005409065246212086291308553972788496129286352839869075508193458693304956234548184573792767578422481522566116325016828311923009844147750305514981124142465212391986204802547289580344322986922963120174673735405030665433279382745343396497484434592898755908382878784596066254198051431288583231065406548363067644760016797711635508874630272603565823331291530787023244435397649688809478216337379654967244279129550082895542708751775417395139361146158517685595677113915434792688490647264294159680663416484007308661149151286742063992807916839689859624117144437920676305420257681789780751544492822365113649616688583006035043556268102675507220451257814513040125852496893104293904702114968646768168406694165868210909499548720466821696502115149166395669061797408468568515837913165319717570915788771305865224795484136560684675763525274688220983637516775657203877492186211144556668232536168766529045919044951681094890304164192993622324855786607469215318103245281025278653602788692413830658847722335247025566489166592734533323621979526990952292738833835851853992919878230681799949988786027985657541542289736233483746246474997881024479977338843551050970405202062217018844418409743801590440789702677067841786009511214407708787019054482342861952122699681847775538910764372770201777943378580680736258612498 3731224690553818830579422414567219759734201177222868827165949915522429199374470124344779560478550357434943348298022442279112013265584985162754046452122063130630748643574532740060332518474990841711779173429346562826350318145861175888049763720322694665495148110878160999488307863235249724796975693618339455610036221418059740975012867788138760682560075338199571061504449722302497296560005682548077412527169934715654285664552046563272136284651891771525116602588728097238398828138378915845386556630999258558459715349642101426703580160700123043456872660909850164003618875765661784457656896556390561969165163060745139979061861008742843814431959416839100866001327563748450559699304292650991085794418040828164714219463175126990709822524487980920127494872925700497654918151366014344391688498362568127304242021321754849259960757791078514258113566154668269690353592221491521666128184308051675187149427419767704460638687405860496431288323639441871207396804360739225403884567225832193720051059054555250429258572453324511435907937931513332515706039045248123837875113062641357266956850838361640138015778890337245332996497211077914333828729317818399002392289623780463577850144143404083864678316949897410804787783648505541985462924164164714687672372567441185784846435010054389425265472920264641106977490344870337793328907233406516693569350607469146004707221491548600168072411629974528457063162009463892963659800327480626190641625719294481674671931111495290143608839980000237894548353206129749 6037248368978887584011981655702995079218277416525666109951883989161729546370243583461321803369438569600826239734507633067954351622987894519138248171761567323643996702816224829376334514679395847120844419641432854134904290934357305174402603589398202858953841415834395547672881656002828147278498259734664472438348144427903888725318382769262903147772467324404373608794030066625484219523125857221812817557835367995037031007948544047706729183407800154403901198654982295289830116721609981251934919698644018575257426985150976056976183726523454334987659684154285561653307685243878121837311863800669691519248058603453891754479256148103989972949645012516214781436120252239097823993463973314407569801726701977316000961527167934907549512384112098064565415549231120755336707932117558837214053612012184815887248056365311117362636265011529772072626606280520766583457886126193636634774952476458369353017638329267253181105509102362611580454719308503668615865372876577138569204284796747982491356924279350734565819257129088036710596158915150849291363242922740310049019669730873893435723379884280685089696873780641409525990119535933700941297944635921644283417568277383252270263974802251806199925342516386577397522316972127521512453876456903548523524226560361064015528234960043175453251130461806930843210974091116812791209931713383855537120401577874348066924240335967009911874002070764231134131003795473404178067509114499680672984487671417181356519706650406054516379041757943616475229089464742247 9768473059532706414591404070270214838952478593748534937117833904684158745744713707806101363847988927035769588032530075347066364888572879681892294623883630454274745346390757569436667033154386688832623593070779416961254609080218481062452367309720897524448989526712556547161189519238077872075473953353003928048384365845963629700331250557401663830332542662603944670298479788927981516083131539769890230085005302710691316672500590610978865468059691925929017801243710392528228944859988897097321476329643277133717142334793077483679763887223577378444532345064135725656926561009539906294968760357060253488413221664199031733541117156846833787381604429355315647437447815987548383692768265965398655596144742805480715180990343061898259334908600078984692910422156821252991626083483573181605742110374752943191490077687065966622597022802608286330740172435189036273811478347685158300903136784510044540167065749034957641744196508223108011743042947945539823262177237316363973088852022580176211407983333905984995077829582412548146504096846664181807069281967988433886894782793515250702680230722642325227712652670978654858986616747011615275126673953740043285809857901163715848114118945655890064603659466283988202310100620633063497916800621068263211196599127802249800374669970097564878516603382071571950188464435987150584538838946790372230689752185343494071631461827515610079946413700738759591194165804937297141727309441980306863626113390711663031191637761901344659987881737943854369777442670871996 15805721428511593998603385725973209918170756010274201047069717893845888292114957291267423167217427496636595827767037708415020716511560774201030542795645197777918742049206982398813001547833782535953468012712212271096158900014575786236854970899119100383402830942546952094834071175240906019353972213087668400486732510273867518425649633326664566978105009987008318279092509855553465735606257396991703047642840670705728347680449134658685594651467492080332918999898692687818059061581598878349256396028287295708974569319944053540655947613747031713432192029218421287310234246253418028132280624157729945007661280267652923488020373304950823760331249441871530428873568068226646207686232239279806225397871444782796716142517510996805808847292712177049258325971387942008328334015601132018819795722386937759078738134052377083985233287814138058403366778715709802857269364473878794935678089260968413893184704078302210822849705610585719592197762256449208439127550113893502542293136819328158702764907613256719560897086711500584857100255761815031098432524890728743935914452524389144138403610606923010317409526451620064384976736282945316216424618589661687569227426178546968118378093747907696264529001982670565599832417592760585010370677077971811734720825688163313815902904930140740331767733843878502793399438527103963375748770660174227767810153763217842138555702163482619991820415771502990725325169600410701319794818556479987536610601062128844387711344412307399176366923495887470845006532135614243 25574194488044300413194789796243424757123234604022735984187551798530047037859670999073524531065416423672365415799567783762087081400133653882922837419528828232193487395597739968249668580988169224786091605782991688057413509094794267299307338208839997907851820469259508641995260694478983891429446166440672328535116876119831148125980883884066230808437552649612262949390989644481447251689388936761593277727845973416419664352949725269664460119527184006261936801142403080346288006441587775446577872357930572842691711654737131024335711500970609091876724374282557012967160807262957934427249384514790198496074501931851955221561490461797657547712853871226846076311015884214194591379000505245204880994016187588277431323507854058704068182201312256033951236393544763261319960099084705200425537832761690702270228211739443050607830310616746344734106951150898839131080842821563953236581226045478458433351769827337168464593902118808827603940805204394748262389727351209866515381988841908334914172890947162704555974916293913133003604352608479212905501806858717177822809235317904394841083841329565335545122179122598719243963353029956931491551292543401730855037284079710683966492212693563586329132661448954553802142518213393648508287477699040074945917424815965563616277574900238305210284337225950074743587902963091113960287609606964599998499905948561336210187163990998230071766829472241750316519335405347998461522127998460294400236714452840507418902982174208743836354805233831325214783974806486239 41379915916555894411798175522216634675293990614296937031257269692375935329974628290340947698282843920308961243566605492177107797911694428083953380215174026010112229444804722367062670128821951760739559618495203959153572409109370053536162309107959098291254651411806460736829331869719889910783418379528340729021849386393698666551630517210730797786542562636620581228483499500034912987295646333753296325370686644122148012033398859928350054770994676086594855801041095768164347068023186653795834268386217868551666280974681184564991659114717640805308916403500978300277395053516375962559530008672520143503735782199504878709581863766748481308044103313098376505184583952440840799065232744525011106391887632371074147466025365055509877029494024433083209562364932705269648294114685837219245333555148628461348966345791820134593063598430884403137473729866608641988350207295442748172259315306446872326536473905639379287443607729394547196138567460843956701517277465103369057675125661236493616937798560419424116872003005413717860704608370294244003934331749445921758723687842293538979487451936488345862531705574218783628940089312902247707975911133063418424264710258257652084870306441471282593661663431625119401974935806154233518658154777011886680638250504128877432180479830379045542052071069828577536987341490195077336036380267138827766310059711779178348742866154480850063587245243744741041844505005758699781316946554940281936847315514969351806614326586516143012721728729718796059790506942100482 66954110404600194824992965318460059432417225218319673015444821490905982367834299289414472229348260343981326659366173275939194879311828081966876217634702854242305716840402462335312338709810120985525651224278195647210985918204164320835469647316799096199106471881065969378824592564198873802212864545969013057556966262513529814677611401094797028594980115286232844177874489144516360238985035270514889603098532617538567676386348585198014514890521860092856792602183498848510635074464774429242412140744148441394357992629418315589327370615688249897185640777783535313244555860779333896986779393187310341999810284131356833931143354228546138855756957184325222581495599836655035390444233249770215987385903819959351578789533219114213945211695336689117160798758477468530968254213770542419670871387910319163619194557531263185200893909047630747871580681017507481119431050117006701408840541351925330759888243732976547752037509848203374800079372665238704963907004816313235573057114503144828531110689507582128672846919299326850864308960978773456909436138608163099581532923160197933820571293266053681407653884696817502872903442342859179199527203676465149279301994337968336051362519135034868922794324880579673204117454019547882026945632476051961626555675320094441048458054730617350752336408295778652280575244453286191296323989874103427764809965660340514558930030145479080135354074715986491358363840411106698242839074553400576337084029967809859225517308760724886849076533963550121274574481748586721 108334026321156089236791140840676694107711215832616610046702091183281917697808927579755419927631104264290287902932778768116302677223522510050829597849876880252417946285207184702375008838632072746265210842773399606364558327313534374371631956424758194490361123292872430115653924433918763712996282925497353786578815648907228481229241918305527826381522677922853425406357988644551273226280681604268185928469219261660715688419747445126364569661516536179451648403224594616674982142487961083038246409130366309946024273604099500154319029730405890702494557181284513613521950914295709859546309401859830485503546066330861712640725217995294620163801060497423599086680183789095876189509465994295227093777791452330425726255558584169723822241189361122200370361123410173800616548328456379638916204943058947624968160903323083319793957507478515151009054410884116123107781257412449449581099856658372203086424717638615927039481117577597921996217940126082661665424282281416604630732240164381322148048488068001552789718922304740568725013569349067700913370470357609021340256611002491472800058745202542027270185590271036286501843531655761426907503114809528567703566704596225988136232825576506151516455988312204792606092389825702115545603787253063848307193925824223318480638534560996396294388479365607229817562585943481268632360370141242255531120025372119692907672896299959930198941319959731232400208345416865398024156021108340858273931345482779211032131635347241029861798262693268917334364988690687203 175288136725756284061784106159136753540128441050936283062146912674187900065643226869169892156979364608271614562298952044055497556535350592017705815484579734494723663125609647037687347548442193731790862067051595253575544245517698695207101603741557290689467595173938399494478516998117637515209147471466366844135781911420758295906853319400324854976502793209086269584232477789067633465265716874783075531567751879199283364806096030324379084552038396272308441005408093465185617216952735512280658549874514751340382266233517815743646400346094140599680197959068048926766506775075043756533088795047140827503356350462218546571868572223840759019558017681748821668175783625750911579953699244065443081163695272289777305045091803283937767452884697811317531159881887642331584802542226922058587076330969266788587355460854346504994851416526145898880635091901623604227212307529456150989940398010297533846312961371592474791518627425801296796297312791321366629331287097729840203789354667526150679159177575583681462565841604067419589322530327841157822806608965772120921789534162689406620630038468595708677839474967853789374746973998620606107030318485993716982868698934194324187595344711541020439250313192784465810209843845249997572549419729115809933749601144317759529096589291613747046724887661385882098137830396767459928684360015345683295929991032460207466602926445439010334295394675717723758572185827972096266995095661741434611015375450589070257648944107965916710874796656819038608939470439273924 283622163046912373298575246999813447647839656883552893108849003857469817763452154448925312084610468872561902465231730812171800233758873102068535413334456614747141609410816831740062356387074266478056072909824994859940102572831233069578733560166315485179828718466810829610132441432036401228205430396963720630714597560327986777136095237705852681358025471131939694990590466433618906691546398479051261460036971140859999053225843475450743654213554932451760089408632688081860599359440696595318904959004881061286406539837617315897965430076500031302174755140352562540288457689370753616079398196906971313006902416793080259212593790219135379183359078179172420754855967414846787769463165238360670174941486724620203031300650387453661589694074058933517901521005297816132201350870683301697503281274028214413555516364177429824788808924004661049889689502785739727334993564941905600571040254668669736932737679010208401830999745003399218792515252917404028294755569379146444834521594831907472827207665643585234252284763908807988314336099676908858736177079323381142262046145165180879420688783671137735948025065238890075876590505654382033014533433295522284686435403530420312323828170288047171955706301504989258416302233670952113118153206982179658240943526968541078009735123852610143341113367026993111915700416340248728561044730156587938827050016404579900374275822745398940533236714635448956158780531244837494291151116770082292884946720933368281289780579455206946572673059350087955943304459129961127 458910299772668657360359353158950201187968097934489176170995916531657717829095381318095204241589833480833517027530682856227297790294223694086241228819036349241865272536426478777749703935516460209846934976876590113515646818348931764785835163907872775869296313640749229104610958430154038743414577868430087474850379471748745073042948557106177536334528264341025964574822944222686540156812115353834336991604723020059282418031939505775122738765593328724068530414040781547046216576393432107599563508879395812626788806071135131641611830422594171901854953099420611467054964464445797372612486991954112140510258767255298805784462362442976138202917095860921242423031751040597699349416864482426113256105181996909980336345742190737599357146958756744835432680887185458463786153412910223756090357604997481202142871825031776329783660340530806948770324594687363331562205872471361751560980652678967270779050640381800876622518372429200515588812565708725394924086856476876285038310949499433623506366843219168915714850605512875407903658630004750016558983688289153263183835679327870286041318822139733444625864540206743865251337479653002639121563751781516001669304102464614636511423514999588192394956614697773724226512077516202110690702626711295468174693128112858837538831713144223890387838254688378994013838246737016188489729090171933622122980007437040107840878749190837950867532109311166679917352717072809590558146212431823727495962096383957351547429523563172863283547856006906994552243929569235051 742532462819581030658934600158763648835807754818042069279844920389127535592547535767020516326200302353395419492762413668399098024053096796154776642153492963989006881947243310517812060322590726687903007886701584973455749391180164834364568724074188261049125032107560058714743399862190439971620008265393808105564977032076731850179043794812030217692553735472965659565413410656305446848358513832885598451641694160919281471257782981225866392979148261175828619822673469628906815935834128702918468467884276873913195345908752447539577260499094203204029708239773174007343422153816550988691885188861083453517161184048379064997056152662111517386276174040093663177887718455444487118880029720786783431046668721530183367646392578191260946841032815678353334201892483274595987504283593525453593638879025695615698388189209206154572469264535467998660014097473103058897199437413267352132020907347637007711788319392009278453518117432599734381327818626129423218842425856022729872832544331341096333574508862754149967135369421683396217994729681658875295160767612534405445881824493051165462007605810871180573889605445633941127927985307384672136097185077038286355739505995034948835251685287635364350662916202762982642814311187154223808855833693475126415636655081399915548566836996834033728951621715372105929538663077264917050773820328521560950030023841620008215154571936236891400768823946615636076133248317647084849297329201906020380908817317325632837210103018379809856220915356994950495548388699196178 1201442762592249688019293953317713850023775852752531245450840836920785253421642917085115720567790135834228936520293096524626395814347320490241017870972529313230872154483669789295561764258107186897749942863578175086971396209529096599150403887982061036918421345748309287819354358292344478715034586133823895580415356503825476923221992351918207754027081999813991624140236354878991987005170629186719935443246417180978563889289722487000989131744741589899897150236714251175953032512227560810518031976763672686539984151979887579181189090921688375105884661339193785474398386618262348361304372180815195594027419951303677870781518515105087655589193269901014905600919469496042186468296894203212896687151850718440163703992134768928860303987991572423188766882779668733059773657696503749209683996484023176817841260014240982484356129605066274947430338692160466390459405309884629103693001560026604278490838959773810155076036489861800249970140384334854818142929282332899014911143493830774719839941352081923065681985974934558804121653359686408891854144455901687668629717503820921451503326427950604625199754145652377806379265464960387311257660936858554288025043608459649585346675200287223556745619530900536706869326388703356334499558460404770594590329783194258753087398550141057924116789876403751099943376909814281105540502910500455183073010031278660116056033321127074842268300933257782315993485965390456675407443541633729747876870913701282984384639626581552673139768771363901945047792318268431229 1943975225411830718678228553476477498859583607570573314730685757309912789014190452852136236893990438187624356013055510193025493838400417286395794513126022277219879036430913099813373824580697913585652950750279760060427145600709261433514972612056249297967546377855869346534097758154534918686654594399217703685980333535902208773401036146730237971719635735286957283705649765535297433853529143019605533894888111341897845360547505468226855524723889851075725770059387720804859848448061689513436500444647949560453179497888640026720766351420782578309914369578966959481741808772078899349996257369676279047544581135352056935778574667767199172975469443941108568778807187951486673587176923923999680118198519439970347071638527347120121250829024388101542101084672152007655761161980097274663277635363048872433539648203450188638928598869601742946090352789633569449356604747297896455825022467374241286202627279165819433529554607294399984351468202960984241361771708188921744783976038162115816173515860944677215649121344356242200339648089368067767149305223514222074075599328313972616965334033761475805773643751098011747507193450267771983393758121935592574380783114454684534181926885574858921096282447103299689512140699890510558308414294098245721005966438275658668635965387137891957845741498119123205872915572891546022591276730828976744023040055120280124271187893063311733669069757204397952069619213708103760256740870835635768257779731018608617221849729599932482995989686720896895543340706967627407 3145417988004080406697522506794191348883359460323104560181526594230698042435833369937251957461780574021853292533348606717651889652747737776636812384098551590450751190914582889108935588838805100483402893613857935147398541810238358032665376500038310334885967723604178634353452116446879397401689180533041599266395690039727685696623028498648445725746717735100948907845886120414289420858699772206325469338134528522876409249837227955227844656468631440975622920296101971980812880960289250323954532421411622246993163649868527605901955442342470953415799030918160744956140195390341247711300629550491474641572001086655734806560093182872286828564662713842123474379726657447528860055473818127212576805350370158410510775630662116048981554817015960524730867967451820740715534819676601023872961631847072049251380908217691171123284728474668017893520691481794035839816010057182525559518024027400845564693466238939629588605591097156200234321608587295839059504700990521820759695119531992890536013457213026600281331107319290801004461301449054476659003449679415909742705316832134894068468660461712080430973397896750389553886458915228159294651419058794146862405826722914334119528602085862082477841901978003836396381467088593866892807972754503016315596296221469917421723363937278949881962531374522874305816292482705827128131779641329431927096050086398940240327221214190386575937370690462180268063105179098560435664184412469365516134650644719891601606489356181485156135758458084798840591133025236058636 5089393213415911125375751060270668847742943067893677874912212351540610831450023822789388194355771012209477648546404116910677383491148155063032606897224573867670630227345495988922309413419503014069055844364137695207825687410947619466180349112094559632853514101460047980887549874601414316088343774932259302952376023575629894470024064645378683697466353470387906191551535885949586854712228915225931003233022639864774254610384733423454700181192521292051348690355489692785672729408350939837391032866059571807446343147757167632622721793763253531725713400497127704437882004162420147061296886920167753689116582222007791742338667850639486001540132157783232043158533845399015533642650742051212256923548889598380857847269189463169102805646040348626272969052123972748371295981656698298536239267210120921684920556421141359762213327344269760839611044271427605289172614804480422015343046494775086850896093518105449022135145704450600218673076790256823300866472698710742504479095570155006352186973073971277496980228663647043204800949538422544426152754902930131816780916160448866685433994495473556236747041647848401301393652365495931278045177180729739436786609837369018653710528971436941398938184425107136085893607788484377451116387048601262036602262659745576090359329324416841839808272872641997511689208055597373150723056372158408671119090141519220364598409107253698309606440447666578220132724392806664195920925283305001284392430375738500218828339085781417639131748144805695736134473732203686043 8234811201419991532073273567064860196626302528216782435093738945771308873885857192726640151817551586231330941079752723628329273143895892839669419281323125458121381418260078878031245002258308114552458737977995630355224229221185977498845725612132869967739481825064226615241001991048293713490032955465300902218771713615357580166647093144027129423213071205488855099397422006363876275570928687432256472571157168387650663860221961378682544837661152733026971610651591664766485610368640190161345565287471194054439506797625695238524677236105724485141512431415288449394022199552761394772597516470659228330688583308663526548898761033511772830104794871625355517538260502846544393698124560178424833728899259756791368622899851579218084360463056309151003837019575793489086830801333299322409200899057192970936301464638832530885498055818937778733131735753221641128988624861662947574861070522175932415589559757045078610740736801606800452994685377552662360371173689232563264174215102147896888200430286997877778311335982937844209262250987477021085156204582346041559486232992583760753902654957185636667720439544598790855280111280724090572696596239523886299192436560283352773239131057299023876780086403110972482275074877078244343924359803104278352198558881215493512082693261695791721770804247164871817505500538303200278854836013487840598215140227918160604925630321444084885543811138128758488195829571905224631585109695774366800527081020458391820434828441962902795267506602890494576725606757439744679 13324204414835902657449024627335529044369245596110460310005951297311919705335881015516028346173322598440808589626156840539006656635044047902702026178547699325792011645605574866953554415677811128621514582342133325563049916632133596965026074724227429600592995926524274596128551865649708029578376730397560205171147737190987474636671157789405813120679424675876761290948957892313463130283157602658187475804179808252424918470606694802137245018853674025078320301007081357552158339776991129998736598153530765861885849945382862871147399029868978016867225831912416153831904203715181541833894403390826982019805165530671318291237428884151258831644927029408587560696794348245559927340775302229637090652448149355172226470169041042387187166109096657777276806071699766237458126782989997620945440166267313892621222021059973890647711383163207539572742780024649246418161239666143369590204117016951019266485653275150527632875882506057400671667762167809485661237646387943305768653310672302903240387403360969155275291564646584887414063200525899565511308959485276173376267149153032627439336649452659192904467481192447192156673763646220021850741773420253625735979046397652371426949660028735965275718270828218108568168682665562621795040746851705540388800821540961069602442022586112633561579077119806869329194708593900573429577892385646249269334230369437380969524039428697783195150251585795336708328553964711888827506034979079368084919511396196892039263167527744320434399254747696190312860080489643430722 21559015616255894189522298194400389240995548124327242745099690243083228579221738208242668497990874184672139530705909564167335929778939940742371445459870824783913393063865653744984799417936119243173973320320128955918274145853319574463871800336360299568332477751588501211369553856698001743068409685862861107389919450806345054803318250933432942543892495881365616390346379898677339405854086290090443948375336976640075582330828656180819789856514826758105291911658673022318643950145631320160082163441001959916325356743008558109672076265974702502008738263327704603225926403267942936606491919861486210350493748839334844840136189917663031661749721901033943078235054851092104321038899862408061924381347409111963595093068892621605271526572152966928280643091275559726544957584323296943354641065324506863557523485698806421533209438982145318305874515777870887547149864527806317165065187539126951682075213032195606243616619307664201124662447545362148021608820077175869032827525774450800128587833647967033053602900629522731623325451513376586596465164067622214935753382145616388193239304409844829572187920737045983011953874926944112423438369659777512035171482957935724200188791086034989152498357231329081050443757542640866138965106654809818740999380422176563114524715847808425283349881366971741146700209132203773708432728399134089867549370597355541574449669750141868080694062723924095196524383536617113459091144674853734885446592416655283859697995969707223229666761350586684889585687247083175401 34883220031091796846971322821735918285364793720437703055105641540395148284557619223758696844164196783112948120332066404706342586413983988645073471638418524109705404709471228611938353833613930371795487902662262281481324062485453171428897875060587729168925473678112775807498105722347709772646786416260421312561067187997332529439989408722838755664571920557242377681295337790990802536137243892748631424179516784892500500801435350982957034875368500783183612212665754379870802289922622450158818761594532725778211206688391420980819475295843680518875964095240120757057830606983124478440386323252313192370298914370006163131373618801814290493394648930442530638931849199337664248379675164637699015033795558467135821563237933663992458692681249624705557449162975325964003084367313294564300081231591820756178745506758780312180920822145352857878617295802520133965311104193949686755269304556077970948560866307346133876492501813721601796330209713171633682846466465119174801480836446753703368975237008936188328894465276107619037388652039276152107774123552898388312020531298649015632575953862504022476655401929493175168627638573164134274180143080031137771150529355588095627138451114770954428216628059547189618612440208203487934005853506515359129800201963137632716966738433921058844928958486778610475894917726104347138010620784780339136883600966792922543973709178839651275844314309719431904852937501329002286597179653933102970366103812852175898961163497451543664066016098282875202445767736726606123 56442235647347691036493621016136307526360341844764945800205331783478376863779357432001365342155070967785087651037975968873678516192923929387444917098289348893618797773336882356923153251550049614969461222982391237399598208338772745892769675396948028737257951429701277018867659579045711515715196102123282419950986638803677584243307659656271698208464416438607994071641717689668141941991330182839075372554853761532576083132264007163776824731883327541288904124324427402189446240068253770318900925035534685694536563431399979090491551561818383020884702358567825360283757010251067415046878243113799402720792663209341007971509808719477322155144370831476473717166904050429768569418575027045760939415142967579099416656306826285597730219253402591633838092254250885690548041951636591507654722296916327619736268992457586733714130261127498176184491811580391021512460968721756003920334492095204922630636079339541740120109121121385802920992657258533781704455286542295043834308362221204503497563070656903221382497365905630350660714103552652738704239287620520603247773913444265403825815258272348852048843322666539158180581513500108246697618512739808649806322012313523819827327242200805943580714985290876270669056197750844354072970960161325177870799582385314195831491454281729484128278839853750351622595126858308120846443349183914429004432971564148464118423378928981519356538377033643527101377321037946115745688324328786837855812696229507459758659159467158766893732777448869560092031454983809781524 91325455678439487883464943837872225811725135565202648855310973323873525148336976655760062186319267750898035771370042373580021102606907918032518388736707873003324202482808110968861507085163979986764949125644653518880922270824225917321667550457535757906183425107814052826365765301393421288361982518383703732512053826801010113683297068379110453873036336995850371752937055480658944478128574075587706796734370546425076583933699358146733859607251828324472516336990181782060248529990876220477719686630067411472747770119791400071311026857662063539760666453807946117341587617234191893487264566366112595091091577579347171102883427521291612648539019761919004356098753249767432817798250191683459954448938526046235238219544759949590188911934652216339395541417226211654551126318949886071954803528508148375915014499216367045895051083272851034063109107382911155477772072915705690675603796651282893579196945646887873996601622935107404717322866971705415387301753007414218635789198667958206866538307665839409711391831181737969698102755591928890812013411173418991559794444742914419458391212134852874525498724596032333349209152073272380971798655819839787577472541669111915454465693315576898008931613350423460287668637959047842006976813667840537000599784348451828548458192715650542973207798340528962098490044584412467984453969968694768141316572530941386662397088107821170632382691343362959006230258539275118032285503982719940826178800042359635657620322964610310557798793547152435294477222720536387647 147767691325787178919958564854008533338085477409967594655516305107351902012116334087761427528474338718683123422408018342453699618799831847419963305834997221896943000256144993325784660336714029601734410348627044756280520479162998663214437225854483786643441376537515329845233424880439132804077178620506986152463040465604687697926604728035382152081500753434458365824578773170327086420119904258426782169289224307957652667065963365310510684339135155865761420461314609184249694770059129990796620611665602097167284333551191379161802578419480446560645368812375771477625344627485259308534142809479911997811884240788688179074393236240768934803683390593395478073265657300197201387216825218729220893864081493625334654875851586235187919131188054807973233633671477097345099168270586477579609525825424475995651283491673953779609181344400349210247600918963302176990233041637461694595938288746487816209833024986429614116710744056493207638315524230239197091757039549709262470097560889162710364101378322742631093889197087368320358816859144581629516252698793939594807568358187179823284206470407201726574342047262571491529790665573380627669417168559648437383794553982635735281792935516382841589646598641299730956724835709892196079947773829165714871399366733766024379949646997380027101486638194279313721085171442720588830897319152609197145749544095089850780820467036802689988921068377006486107607579577221233777973828311506778681991496271867095416279482431769077451531570996021995386508677704346169171 239093147004226666803423508691880759149810612975170243510827278431225427160453310743521489714793606469581159193778060716033720721406739765452481694571705094900267202738953104294646167421878009588499359474271698275161442749987224580536104776312019544549624801645329382671599190181832554092439161138890689884975094292405697811609901796414492605954537090430308737577515828650986030898248478334014488966023594854382729250999662723457244543946386984190233936798304790966309943300050006211274340298295669508640032103670982779233113605277142510100406035266183717594966932244719451202021407375846024592902975818368035350177276663762060547452222410355314482429364410549964634205015075410412680848313020019671569893095396346184778108043122707024312629175088703308999650294589536363651564329353932624371566297990890320825504232427673200244310710026346213332468005114553167385271542085397770709789029970633317488113312366991600612355638391201944612479058792557123481105886759557120917230639685988582040805281028269106290056919614736510520328266109967358586367362802930094242742597682542054601099840771858603824878999817646653008641215824379488224961267095651747650736258628831959739598578211991723191244393473668940038086924587497006251871999151082217852928407839713030570074694436534808275819575216027133056815351289121303965287066116626031237443217555144623860621303759720369445113837838116496351810259332294226719508170296314226731073899805396379388009330364543174430680985900424882556818 386860838330013845723382073545889292487896090385137838166343583538577329172569644831282917243267945188264282616186079058487420340206571612872445000406702316797210202995098097620430827758592039190233769822898743031441963229150223243750542002166503331193066178182844712516832615062271686896516339759397676037438134758010385509536506524449874758036037843864767103402094601821313117318368382592441271135312819162340381918065626088767755228285522140055995357259619400150559638070109136202070960909961271605807316437222174158394916183696622956661051404078559489072592276872204710510555550185325936590714860059156723529251669900002829482255905800948709960502630067850161835592231900629141901742177101513296904547971247932419966027174310761832285862808760180406344749462860122841231173855179357100367217581482564274605113413772073549454558310945309515509458238156190629079867480374144258525998862995619747102230023111048093819993953915432183809570815832106832743575984320446283627594741064311324671899170225356474610415736473881092149844518808761298181174931161117274066026804152949256327674182819121175316408790483220033636310632992939136662345061649634383386018051564348342581188224810633022922201118309378832234166872361326171966743398517815983877308357486710410597176181074729087589540660387469853645646248608273913162432815660721121088224038022181426550610224828097375931221445417693717585588233160605733498190161792586093826490179287828148465460861935539196426067494578129228725989 625953985334240512526805582237770051637706703360308081677170861969802756333022955574804406958061551657845441809964139774521141061613311378324926694978407411697477405734051201915076995180470048778733129297170441306603405979137447824286646778478522875742690979828174095188431805244104240988955500898288365922413229050416083321146408320864367363990574934295075840979610430472299148216616860926455760101336414016723111169065288812224999772231909124246229294057924191116869581370159142413345301208256941114447348540893156937628029788973765466761457439344743206667559209116924161712576957561171961183617835877524758879428946563764890029708128211304024442931994478400126469797246976039554582590490121532968474441066644278604744135217433468856598491983848883715344399757449659204882738184533289724738783879473454595430617646199746749698869020971655728841926243270743796465139022459542029235787892966253064590343335478039694432349592306634128422049874624663956224681871080003404544825380750299906712704451253625580900472656088617602670172784918728656767542293964047368308769401835491310928774023590979779141287790300866686644951848817318624887306328745286131036754310193180302320786803022624746113445511783047772272253796948823178218615397668898201730236765326423441167250875511263895865360235603496986702461599897395217127719881777347152325667255577326050411231528587817745376335283255810213937398492492899960217698332088900320557564079093224527853470192300082370856748480478554111282807 1012814823664254358250187655783659344125602793745445919843514445508380085505592600406087324201329496846109724426150218833008561401819882991197371695385109728494687608729149299535507822939062087968966899120069184338045369208287671068037188780645026206935757158011018807705264420306375927885471840657686041959851363808426468830682914845314242122026612778159842944381705032293612265534985243518897031236649233179063493087130914900992755000517431264302224651317543591267429219440268278615416262118218212720254664978115331096022945972670388423422508843423302695740151485989128872223132507746497897774332695936681482408680616463767719511964034012252734403434624546250288305389478876668696484332667223046265378989037892211024710162391744230688884354792609064121689149220309782046113912039712646825106001460956018870035731059971820299153427331916965244351384481426934425545006502833686287761786755961872811692573358589087788252343546222066312231620690456770788968257855400449688172420121814611231384603621478982055510888392562498694820017303727489954948717225125164642374796205988440567256448206410100954457696580784086720281262481810257761549651390394920514422772361757528644901975027833257769035646630092426604506420669310149350185358796186714185607545122813133851764427056585992983454900895990966840348107848505669130290152697438068273413891293599507476961841753415915121307556728673503931522986725653505693715888493881486414384054258381052676318931054235621567282815975056683340008796 1638768808998494870776993238021429395763309497105754001520685307478182841838615555980891731159391048503955166236114358607529702463433194369522298390363517140192165014463200501450584818119532136747700028417239625644648775187425118892323835559123549082678448137839192902893696225550480168874427341555974407882264592858842552151829323166178609486017187712454918785361315462765911413751602104445352791337985647195786604256196203713217754772749340388548453945375467782384298800810427421028761563326475153834702013519008488033650975761644153890183966282768045902407710695106053033935709465307669858957950531814206241288109563027532609541672162223556758846366619024650414775186725852708251066923157344579233853430104536489629454297609177699545482846776457947837033548977759441250996650224245936549844785340429473465466348706171567048852296352888620973193310724697678222010145525293228316997574648928125876282916694067127482684693138528700440653670565081434745192939726480453092717245502564911138097308072732607636411361048651116297490190088646218611716259519089212010683565607823931878185222230001080733598984371084953406926214330627576386436957719140206645459526671950708947222761830855882515149092141875474376778674466258972528403974193855612387337781888139557292931677932097256879320261131594463827050569448403064347417872579215415425739558549176833527373073282003732866683892011929314145460385218146405653933586825970386734941618337474277204172401246535703938139564455535237451291603 2651583632662749229027180893805088739888912290851199921364199752986562927344208156386979055360720545350064890662264577440538263865253077360719670085748626868686852623192349800986092641058594224716666927537308809982694144395712789960361024339768575289614205295850211710598960645856856096759899182213660449842115956667269020982512238011492851608043800490614761729743020495059523679286587347964249822574634880374850097343327118614210509773266771652850678596693011373651728020250695699644177825444693366554956678497123819129673921734314542313606475126191348598147862181095181906158841973054167756732283227750887723696790179491300329053636196235809493249801243570900703080576204729376947551255824567625499232419142428700654164460000921930234367201569067011958722698198069223297110562263958583374950786801385492335502079766143387348005723684805586217544695206124612647555152028126914604759361404889998687975490052656215270937036684750766752885291255538205534161197581880902780889665624379522369481911694211589691922249441213614992310207392373708566664976744214376653058361813812372445441670436411181688056680951869040127207476812437834147986609109535127159882299033708237592124736858689140284184738771967900981285095135569121878589332990042326572945327010952691144696104988683249862775162027585430667398677296908733477708025276653483699153449842776341004334915035419647987991448740602818076983371943799911347649475319851873149325672595855329880491332300771325505422380430591920791300399 4290352441661244099804174131826518135652221787956953922884885060464745769182823712367870786520111593854020056898378936048067966328686271730241968476112144008879017637655550302436677459178126361464366955954548435627342919583137908852684859898892124372292653433689404613492656871407336265634326523769634857724380549526111573134341561177671461094060988203069680515104335957825435093038189452409602613912620527570636701599523322327428264546016112041399132542068479156036026821061123120672939388771168520389658692016132307163324897495958696203790441408959394500555572876201234940094551438361837615690233759565093964984899742518832938595308358459366252096167862595551117855762930582085198618178981912204733085849246965190283618757610099629779850048345524959795756247175828664548107212488204519924795572141814965800968428472314954396858020037694207190738005930822290869565297553420142921756936053818124564258406746723342753621729823279467193538961820619640279354137308361355873606911126944433507579219766944197328333610489864731289800397481019927178381236263303588663741927421636304323626892666412262421655665322953993534133691143065410534423566828675333805341825705658946539347498689545022799333830913843375358063769601828094406993307183897938960283108899092248437627782920780506742095423159179894494449246745311797825125897855868899124893008391953174531707988317423380854675340752532132222443757161946317001583062145822259884267290933329607084663733547307029443561944886127158242592002 6941936074323993328831355025631606875541134078808153844249084813451308696527031868754849841880832139204084947560643513488606230193939349090961638561860770877565870260847900103422770100236720586181033883491857245610037063978850698813045884238660699661906858729539616324091617517264192362394225705983295307566496506193380594116853799189164312702104788693684442244847356452884958772324776800373852436487255407945486798942850440941638774319282883694249811138761490529687754841311818820317117214215861886944615370513256126292998819230273238517396916535150743098703435057296416846253393411416005372422516987315981688681689922010133267648944554695175745345969106166451820936339135311462146169434806479830232318268389393890937783217611021560014217249914591971754478945373897887845217774752163103299746358943200458136470508238458341744863743722499793408282701136946903517120449581547057526516297458708123252233896799379558024558766508030233946424253076157845813515334890242258654496576751323955877061131461155787020255859931078346282110604873393635745046213007517965316800289235448676769068563102823444109712346274823033661341167955503244682410175938210460965224124739367184131472235548234163083518569685811276339348864737397216285582640173940265533228435910044939582323887909463756604870585186765325161847924042220531302833923132522382824046458234729515536042903352843028842666789493134950299427129105746228349232537465674133033592963529184936965155065848078354948984325316719079033892401 11232288515985237428635529157458125011193355866765107767133969873916054465709855581122720628400943733058105004459022449536674196522625620821203607037972914886444887898503450405859447559414846947645400839446405681237379983561988607665730744137552824034199512163229020937584274388671528628028552229752930165290877055719492167251195360366835773796165776896754122759951692410710393865362966252783455050399875935516123500542373763269067038865298995735648943680829969685723781662372941940990056602987030407334274062529388433456323716726231934721187357944110137599259007933497651786347944849777842988112750746881075653666589664528966206244252913154541997442136968762002938792102065893547344787613788392034965404117636359081221401975221121189794067298260116931550235192549726552393324987240367623224541931085015423937438936710773296141721763760194000599020707067769194386685747134967200448273233512526247816492303546102900778180496331309701139963214896777486092869472198603614528103487878268389384640351228099984348589470420943077571911002354413562923427449270821553980542216657084981092695455769235706531368011597777027195474859098568655216833742766885794770565950445026130670819734237779185882852400599654651697412634339225310692575947357838204493511544809137188019951670830244263346966008345945219656297170787532329127959820988391281948939466626682690067750891670266409697342130245667082521870886267692545350815599611496392917860254462514544049818799395385384392546270202846237276484403 18174224590309230757466884183089731886734489945573261611383054687367363162236887449877570470281775872262189952019665963025280426716564969912165245599833685764010758159351350509282217659651567533826434722938262926847417047540839306478776628376213523696106370892768637261675891905935720990422777935736225472857373561912872761368049159556000086498270565590438565004799048863595352637687743053157307486887131343461610299485224204210705813184581879429898754819591460215411536503684760761307173817202892294278889433042644559749322535956505173238584274479260880697962442990794068632601338261193848360535267734197057342348279586539099473893197467849717742788106074928454759728441201205009490957048594871865197722386025752972159185192832142749808284548174708903304714137923624440238542761992530726524288290028215882073909444949231637886585507482693794007303408204716097903806196716514257974789530971234371068726200345482458802739262839339935086387467972935331906384807088845873182600064629592345261701482689255771368845330352021423854021607227807198668473662278339519297342505892533657861764018872059150641080357872600060856816027054071899899243918705096255735790075184393314802291969786013348966370970285465928036761499076622526978158587531778470026739980719182127602275558739708019951836593532710544818145094829752860430793744120913664772985924861412205603793795023109438540008919738802032821298015373438773700048137077170525951453217991699481014973865243463739341530595519565316310376804 29406513106294468186102413340547856897927845812338369378517024561283417627946743031000291098682719605320294956478688412561954623239190590733368852637806600650455646057854800915141665219066414481471835562384668608084797031102827914144507372513766347730305883055997658199260166294607249618451330165489155638148250617632364928619244519922835860294436342487192687764750741274305746503050709305940762537287007278977733800027597967479772852049880875165547698500421429901135318166057702702297230420189922701613163495572032993205646252682737107959771632423371018297221450924291720418949283110971691348648018481078132996014869251068065680137450381004259740230243043690457698520543267098556835744662383263900163126503662112053380587168053263939602351846434825834854949330473350992631867749232898349748830221113231306011348381660004934028307271242887794606324115272485292290491943851481458423062764483760618885218503891585359580919759170649636226350682869712817999254279287449487710703552507860734646341833917355755717434800772964501425932609582220761591901111549161073277884722549618638954459474641294857172448369470377088052290886152640555116077661471982050506356025629419445473111704023792534849223370885120579734174133415847837670734534889616674520251525528319315622227229569952283298802601878655764474442265617285189558753565109304946721925391488094895671544686693375848237351049984469115343168901641131319050863736688666918869313472454214025064792664638849123734076865722411553586861207 47580737696603698943569297523637588784662335757911630989900079248650780790183630480877861568964495477582484908498354375587235049955755560645534098237640286414466404217206151424423882878717982015298270285322931534932214078643667220623284000889979871426412253948766295460936058200542970608874108101225381111005624179545237689987293679478835946792706908077631252769549790137901099140738452359098070024174138622439344099512822171690478665234462754595446453320012890116546854669742463463604404237392814995892052928614677552954968788639242281198355906902631898995183893915085789051550621372165539709183286215275190338363148837607165154030647848853977483018349118618912458248984468303566326701710978135765360848889687865025539772360885406689410636394609534738159663468396975432870410511225429076273118511141447188085257826609236571914892778725581588613627523477201390194298140567995716397852295454994989953944704237067818383659022009989571312738150842648149905639086376295360893303617137453079908043316606611527086280131124985925279954216810027960260374773827500592575227228442152296816223493513354007813528727342977148909106913206712455015321580177078306242146100813812760275403673809805883815594341170586507770935632492470364648893122421395144546991506247501443224502788309660303250639195411366309292587360447038049989547309230218611494911316349507101275338481716485286777359969723271148164466917014570092750911873765837444820766690445913506079766529882312863075607461241976869897238011 76987250802898167129671710864185445682590181570250000368417103809934198418130373511878152667647215082902779864977042788149189673194946151378902950875446887064922050275060952339565548097784396496770105847707600143017011109746495134767791373403746219156718137004763953660196224495150220227325438266714536749153874797177602618606538199401671807087143250564823940534300531412206845643789161665038832561461145901417077899540420139170251517284343629760994151820434320017682172835800166165901634657582737697505216424186710546160615041321979389158127539326002917292405344839377509470499904483137231057831304696353323334378018088675230834168098229858237223248592162309370156769527735402123162446373361399665523975393349977078920359528938670629012988241044360573014612798870326425502278260458327426021948732254678494096606208269241505943200049968469383219951638749686682484790084419477174820915059938755608839163208128653177964578781180639207539088833712360967904893365663744848604007169645313814554385150523967282803714931897950426705886826392248721852275885376661665853111950991770935770682968154648864985977096813354236961397799359353010131399241649060356748502126443232205748515377833598418664817712055707087505109765908318202319627657311011819067243031775820758846730017879612586549441797290022073767029626064323239548300874339523558216836707837601996946883168409861135014711019707740263507635818655701411801775610454504363690080162900127531144559194521161986809684326964388423484099218 124567988499501866073241008387823034467252517328161631358317183058584979208314003992756014236611710560485264773475397163736424723150701712024437049113087173479388454492267103763989430976502378512068376133030531677949225188390162355391075374293726090583130390953530249121132282695693190836199546367939917860159498976722840308593831878880507753879850158642455193303850321550107944784527614024136902585635284523856421999053242310860730182518806384356440605140447210134229027505542629629506038894975552693397269352801388099115583829961221670356483446228634816287589238754463298522050525855302770767014590911628513672741166926282395988198746078712214706266941280928282615018512203705689489148084339535430884824283037842104460131889824077318423624635653895311174276267267301858372688771683756502295067243396125682181864034878478077858092828694050971833579162226888072679088224987472891218767355393750598793107912365720996348237803190628778851826984555009117810532452040040209497310786782766894462428467130578809889995063022936351985841043202276682112650659204162258428339179433923232586906461668002872799505824156331385870504712566065465146720821826138662990648227257044966023919051643404302480412053226293595276045398400788566968520779732406963614234538023322202071232806189272889800080992701388383059616986511361289537848183569742169711748024187109098222221650126346421792070989431011411672102735670271504552687484220341808510846853346041037224325724403474849885291788206365293381337229 201555239302400033202912719252008480149842698898411631726734286868519177626444377504634166904258925643388044638452439951885614396345647863403339999988534060544310504767328056103554979074286775008838481980738131820966236298136657490158866747697472309739848527958294202781328507190843411063524984634654454609313373773900442927200370078282179560966993409207279133838150852962314790428316775689175735147096430425273499898593662450030981699803150014117434756960881530151911200341342795795407673552558290390902485776988098645276198871283201059514610985554637733579994583593840807992550430338440001824845895607981837007119185014957626822366844308570451929515533443237652771788039939107812651594457700935096408799676387819183380491418762747947436612876698255884188889066137628283874967032142083928317015975650804176278470243147719583801292878662520355053530800976574755163878309406950066039682415332506207632271120494374174312816584371267986390915818267370085715425817703785058101317956428080709016813617654546092693709994920886778691727869594525403964926544580823924281451130425694168357589429822651737785482920969685622831902511925418475278120063475199019739150353700277171772434429477002721145229765282000682781155164309106769288148437043418782681477569799142960917962824068885476349522789991410456826646612575684529086149057909265727928584732024711095169104818536207556806782009138751675179738554325972916354463094674846172200927016246168568368884918924636836694976115170753716865436447 326123227801901899276153727639831514617095216226573263085051469927104156834758381497390181140870636203873309411927837115622039119496349575427777049101621234023698959259595159867544410050789153520906858113768663498915461486526819845549942121991198400322978918911824451902460789886536601899724531002594372469472872750623283235794201957162687314846843567849734327142001174512422735212844389713312637732731714949129921897646904760891711882321956398473875362101328740286140227846885425424913712447533843084299755129789486744391782701244422729871094431783272549867583822348304106514600956193742772591860486519610350679860351941240022810565590387282666635782474724165935386806552142813502140742542040470527293623959425661287840623308586825265860237512352151195363165333404930142247655803825840430612083219046929858460334278026197661659385707356571326887109963203462827842966534394422957258449770726256806425379032860095170661054387561896765242742802822379203525958269743825267598628743210847603479242084785124902583705057943823130677568912796802086077577203784986182709790309859617400944495891490654610584988745126017008702407224491483940424840885301337682729798580957322137796353481120407023625641818508294278057200562709895336256669216775825746295712107822465162989195630258158366149603782692798839886263599087045818623997241479007897640332756211820193391326468662553978598852998569763086851841289996244420907150578895187980711773869592209605593210643328111686580267903377119010246773676 527678467104301932479066446891839994766937915124984894811785756795623334461202759002024348045129561847261354050380277067507653515841997438831117049090155294568009464026923215971099389125075928529745340094506795319881697784663477335708808869688670710062827446870118654683789297077380012963249515637248827078786246524523726162994572035444866875813836977057013460980152027474737525641161165402488372879828145374403421796240567210922693582125106412591310119062210270438051428188228221220321386000092133475202240906777585389667981572527623789385705417337910283447578405942144914507151386532182774416706382127592187686979536956197649632932434695853118565298008167403588158594592081921314792336999741405623702423635813480471221114727349573213296850389050407079552054399542558426122622835967924358929099194697734034738804521173917245460678586019091681940640764180037583006844843801373023298132186058763014057650153354469344973870971933164751633658621089749289241384087447610325699946699638928312496055702439670995277415052864709909369296782391327490042503748365810106991241440285311569302085321313306348370471666095702631534309736416902415702960948776536702468948934657599309568787910597409744770871583790294960838355727019002105544817653819244528977189677621608123907158454327043842499126572684209296712910211662730347710146299388273625568917488236531288560431287198761535405635007708514762031579844322217337261613673570034152912700885838378173962095562252748523275244018547872727112210123 853801694906203831755220174531671509384033131351558157896837226722727491295961140499414529186000198051134663462308114183129692635338347014258894098191776528591708423286518375838643799175865082050652198208275458818797159271190297181258750991679869110385806365781943106586250086963916614862974046639843199548259119275147009398788773992607554190660680544906747788122153201987160260854005555115801010612559860323533343693887471971814405464447062811065185481163539010724191656035113646645235098447625976559501996036567072134059764273772046519256799849121182833315162228290449021021752342725925547008566868647202538366839888897437672443498025083135785201080482891569523545401144224734816933079541781876150996047595239141759061738035936398479157087901402558274915219732947488568370278639793764789541182413744663893199138799200114907120064293375663008827750727383500410849811378195795980556581956785019820483029186214564515634925359495061516876401423912128492767342357191435593298575442849775915975297787224795897861120110808533040046865695188129576120080952150796289701031750144928970246581212803960958955460411221719640236716960908386356127801834077874385198747515614921447365141391717816768396513402298589238895556289728897441801486870595070275272901785444073286896354084585202208648730355377008136599173810749776166334143540867281523209250244448351481951757755861315514004488006278277848883421134318461758168764252465222133624474755430587779555306205580860209855511921924991737358983799 1381480162010505764234286621423511504150971046476543052708622983518350825757163899501438877231129759898396017512688391250637346151180344453090011147281931823159717887313441591809743188300941010580397538302782254138678857055853774516967559861368539820448633812652061761270039384041296627826223562277092026627045365799670735561783346028052421066474517521963761249102305229461897786495166720518289383492388005697936765490128039182737099046572169223656495600225749281162243084223341867865556484447718110034704236943344657523727745846299670308642505266459093116762740634232593935528903729258108321425273250774794726053819425853635322076430459778988903766378491058973111703995736306656131725416541523281774698471231052622230282852763285971692453938290452965354467274132490046994492901475761689148470281608442397927937943320374032152580742879394754690768391491563537993856656221997169003854714142843782834540679339569033860608796331428226268510060045001877782008726444639045918998522142488704228471353489664466893138535163673242949416162477579457066162584700516606396692273190430240539548666534117267307325932077317422271771026697325288771830762782854411087667696450272520756933929302315226513167384986088884199733912016747899547346304524414314804250091463065681410803512538912246051147856928061217433312084022412506514044289840255555148778167732684882770512189043060077049410123013986792610915000978640679095430377926035256286537175641268965953517401767833608733130755940472864464471193922 2235281856916709595989506795955183013535004177828101210605460210241078317053125040000853406417129957949530680974996505433767038786518691467348905245473708351751426310599959967648386987476806092631049736511057712957476016327044071698226310853048408930834440178434004867856289471005213242689197608916935226175304485074817744960572120020659975257135198066870509037224458431449058047349172275634090394104947866021470109184015511154551504511019232034721681081389288291886434740258455514510791582895344086594206232979911729657787510120071716827899305115580275950077902862523042956550656071984033868433840119421997264420659314751072994519928484862124688967458973950542635249396880531390948658496083305157925694518826291763989344590799222370171611026191855523629382493865437535562863180115555453938011464022187061821137082119574147059700807172770417699596142218947038404706467600192964984411296099628802655023708525783598376243721690923287785386461468914006274776068801830481512297097585338480144446651276889262790999655274481775989463028172767586642282665652667402686393304940575169509795247746921228266281392488539141912007743658233675127958564616932285472866443965887442204299070694033043281563898388387473438629468306476796989147791395009385079522993248509754697699866623497448259796587283438225569911257833162282680378433381122836671987417977133234252463946798921392563414611020265070459798422112959140853599142178500478420161650396699553733072707973414468942986267862397856201830177721 3616762018927215360223793417378694517685975224304644263314083193759429142810288939502292283648259717847926698487684896684404384937699035920438916392755640174911144197913401559458130175777747103211447274813839967096154873382897846215193870714416948751283073991086066629126328855046509870515421171194027252802349850874488480522355466048712396323609715588834270286326763660910955833844338996152379777597335871719406874674143550337288603557591401258378176681615037573048677824481797382376348067343062196628910469923256387181515255966371387136541810382039369066840643496755636892079559801242142189859113370196791990474478740604708316596358944641113592733837465009515746953392616838047080383912624828439700392990057344386219627443562508341864064964482308488983849767997927582557356081591317143086481745630629459749075025439948179212281550052165172390364533710510576398563123822190133988266010242472585489564387865352632236852518022351514053896521513915884056784795246469527431295619727827184372918004766553729684138190438155018938879190650347043708445250353184009083085578131005410049343914281038495573607324565856564183778770355558963899789327399786696560534140416159962961232999996348269794731283374476357638363380323224696536494095919423699883773084711575436108503379162409694310944444211499443003223341855574789194422723221378391820765585709818117022976135841981469612824734034251863070713423091599819949029520104535734706698826037968519686590109741248077676117023802870720666301371643 5852043875843924956213300213333877531220979402132745473919543404000507459863413979503145690065389675797457379462681402118171423724217727387787821638229348526662570508513361527106517163254553195842497011324897680053630889709941917913420181567465357682117514169520071496982618326051723113204618780110962478977654335949306225482927586069372371580744913655704779323551222092360013881193511271786470171702283737740876983858159061491840108068610633293099857763004325864935112564740252896887139650238406283223116702903168116839302766086443103964441115497619645016918546359278679848630215873226176058292953489618789254895138055355781311116287429503238281701296438960058382202789497369438029042408708133597626087508883636150208972034361730712035675990674164012613232261863365118120219261706872597024493209652816521570212107559522326271982357224935590089960675929457614803269591422383098972677306342101388144588096391136230613096239713274801839282982982829890331560864048300008943592717313165664517364656043442992475137845712636794928342218823114630350727916005851411769478883071580579559139162027959723839888717054395706095786514013792639027747892016718982033400584382047405165532070690381313076295181762863831076992848629701493525641887314433084963296077960085190806203245785907142570741031494937668573134599688737071874801156602501228492753003686951351275440082640902862176239345054516933530511845204558960802628662283036213126860476434668073419662817714662546619103291665268576868131549364 9468805894771140316437093630712572048906954626437389737233626597759936602673702919005437973713649393645384077950366298802575808661916763308226738030984988701573714706426763086564647339032300299053944286138737647149785763092839764128614052281882306433400588160606138126108947181098232983720039951304989731780004186823794706005283052118084767904354629244539049609877985753270969715037850267938849949299619609460283858532302611829128711626202034551478034444619363437983790389222050279263487717581468479852027172826424504020818022052814491100982925879659014083759189856034316740709775674468318248152066859815581245369616795960489627712646374144351874435133903969574129156182114207485109426321332962037326480498940980536428599477924239053899740955156472501597082029861292700677575343298189740110974955283445981319287132999470505484263907277100762480325209639968191201832715244573232960943316584573973634152484256488862849948757735626315893179504496745774388345659294769536374888337040992848890282660809996722159276036150791813867221409473461674059173166359035420852564461202585989608483076308998219413496041620252270279565284369351602927537219416505678593934724798207368126765070686729582871026465137340188715356228952926190062135983233856784847069162671660626914706624948316836881685475706437111576357941544311861069223879823879620313518589396769468298416218482884331789064079088768796601225268296158780751658182387571947833559302472636593106252927455910624295220315468139297534432921007 15320849770615065272650393844046449580127934028570135211153170001760444062537116898508583663779039069442841457413047700920747232386134490696014559669214337228236285214940124613671164502286853494896441297463635327203416652802781682042034233849347664115518102330126209623091565507149956096924658731415952210757658522773100931488210638187457139485099542900243828933429207845630983596231361539725320121001903347201160842390461673320968819694812667844577892207623689302918902953962303176150627367819874763075143875729592620860120788139257595065424041377278659100677736215312996589339991547694494306445020349434370500264754851316270938828933803647590156136430342929632511358971611576923138468730041095634952568007824616686637571512285969765935416945830636514210314291724657818797794605005062337135468164936262502889499240558992831756246264502036352570285885569425806005102306666956331933620622926675361778740580647625093463044997448901117732462487479575664719906523343069545318481054354158513407647316853439714634413881863428608795563628296576304409901082364886832622043344274166569167622238336957943253384758674647976375351798383144241955285111433224660627335309180254773292297141377110895947321646900204019792349077582627683587777870548289869810365240631745817720909870734223979452426507201374780149492541233048932944025036426380848806271593083720819573856301123787193965303424143285730131737113500717741554286844670608160960419778907304666525915745170573170914323607133407874402564470371 24789655665386205589087487474759021629034888655007524948386796599520380665210819817514021637492688463088225535363413999723323041048051254004241297700199325929809999921366887700235811841319153793950385583602372974353202415895621446170648286131229970548918690490732347749200512688248189080644698682720941942537662709596895637493493690305541907389454172144782878543307193598901953311269211807664170070301522956661444700922764285150097531321014702396055926652243052740902693343184353455414115085401343242927171048556017124880938810192072086166406967256937673184436926071347313330049767222162812554597087209249951745634371647276760566541580177791942030571564246899206640515153725784408247895051374057672279048506765597223066170990210208819835157900987109015807396321585950519475369948303252077246443120219708484208786373558463337240510171779137115050611095209393997206935021911529564894563939511249335412893064904113956312993755184527433625641991976321439108252182637839081693369391395151362297929977663436436793689918014220422662785037770037978469074248723922253474607805476752558776105314645956162666880800294900246654917082752495844882822330849730339221270033978462141419062212063840478818348112037544208507705306535553873649913853782146654657434403303406444635616495682540816334111982907811891725850482777360794013248916250260469119790182480490287872272519606671525754367503232054526732962381796876522305945027058180108793979081379941259632168672626483795209543922601547171936997391378 40110505436001270861737881318805471209162822683577660159539966601280824727747936716022605301271727532531066992776461700644070273434185744700255857369413663158046285136307012313906976343606007288846826881066008301556619068698403128212682519980577634664436792820858557372292078195398145177569357414136894153295321232369996568981704328492999046874553715045026707476736401444532936907500573347389490191303426303862605543313225958471066351015827370240633818859866742043821596297146656631564742453221218006002314924285609745741059598331329681231831008634216332285114662286660309919389758769857306861042107558684322245899126498593031505370513981439532186707994589828839151874125337361331386363781415153307231616514590213909703742502496178585770574846817745530017710613310608338273164553308314414381911285155970987098285614117456168996756436281173467620896980778819803212037328578485896828184562437924697191633645551739049776038752633428551358104479455897103828158705980908627011850445749309875705577294516876151428103799877649031458348666066614282878975331088809086096651149750919127943727552982914105920265558969548223030268881135640086838107442282954999848605343158716914711359353440951374765669758937748228300054384118181557237691724330436524467799643935152262356526366416764795786538490109186671875343024010409726957273952676641317926061775564211107446128820730458719719670927375340256864699495297594263860231871728788269754398860287245926158084417797056966123867529734955046339561861749 64900161101387476450825368793564492838197711338585185107926763200801205392958756533536626938764415995619292528139875700367393314482236998704497155069612989087856285057673900014142788184925161082797212464668381275909821484594024574383330806111807605213355483311590905121492590883646334258214056096857836095832983941966892206475198018798540954264007887189809586020043595043434890218769785155053660261604949260524050244235990243621163882336842072636689745512109794784724289640331010086978857538622561248929485972841626870621998408523401767398237975891154005469551588358007623249439525992020119415639194767934273991533498145869792071912094159231474217279558836728045792389279063145739634258832789210979510665021355811132769913492706387405605732747804854545825106934896558857748534501611566491628354405375679471307071987675919506237266608060310582671508075988213800418972350490015461722748501949174032604526710455853006089032507817955984983746471432218542936410888618747708705219837144461238003507272180312588221793717891869454121133703836652261348049579812731339571258955227671686719832867628870268587146359264448469685185963888135931720929773132685339069875377137179056130421565504791853584017870975292436807759690653735430887605578112583179125234047238558706992142862099305612120650473016998563601193506787770520970522868926901787045851958044701395318401340337130245474038430607394783597661877094470786166176898786968378548377941667187185790253090423540761333411452336502218276559253127 105010666537388747312563250112369964047360534022162845267466729802082030120706693249559232240036143528150359520916337401011463587916422743404753012439026652245902570193980912328049764528531168371644039345734389577466440553292427702596013326092385239877792276132449462493784669079044479435783413510994730249128305174336888775456902347291540001138561602234836293496779996487967827126270358502443150452908375564386655787549216202092230233352669442877323564371976536828545885937477666718543599991843779254931800897127236616363058006854731448630068984525370337754666250644667933168829284761877426276681302326618596237432624644462823577282608140671006403987553426556884944263404400507071020622614204364286742281535946025042473655995202565991376307594622600075842817548207167196021699054919880906010265690531650458405357601793375675234023044341484050292405056767033603631009679068501358550933064387098729796160356007592055865071260451384536341850950888115646764569594599656335717070282893771113709084566697188739649897517769518485579482369903266544227024910901540425667910104978590814663560420611784374507411918233996692715454845023776018559037215415640338918480720295895970841780918945743228349687629913040665107814074771916988125297302443019703593033691173710969348669228516070407907188963126185235476536530798180247927796821603543104971913733608912502764530161067588965193709357982735040462361372392065050026408770515756648302776801954433111948337508220597727457278982071457264616121114876 169910827638776223763388618905934456885558245360748030375393493002883235513665449783095859178800559523769652049056213101378856902398659742109250167508639641333758855251654812342192552713456329454441251810402770853376262037886452276979344132204192845091147759444040367615277259962690813693997469607852566344961289116303780981932100366090080955402569489424645879516823591531402717345040143657496810714513324824910706031785206445713394115689511515514013309884086331613270175577808676805522457530466340503861286869968863486985056415378133216028306960416524343224217839002675556418268810753897545692320497094552870228966122790332615649194702299902480621267112263284930736652683463652810654881446993575266252946557301836175243569487908953396982040342427454621667924483103726053770233556531447397638620095907329929712429589469295181471289652401794632963913132755247404049982029558516820273681566336272762400687066463445061954103768269340521325597422320334189700980483218404044422290120038232351712591838877501327871691235661387939700616073739918805575074490714271765239169060206262501383393288240654643094558277498445162400640808911911950279966988548325677988356097433075026972202484450535081933705500888333101915573765425652419012902880555602882718267738412269676340812090615376020027839436143183799077730037585950768898319690530444892017765691653613898082931501404719210667747788590129824060023249486535836192585669302725026851154743621620297738590598644138488790690434407959482892680368003 274921494176164971075951869018304420932918779382910875642860222804965265634372143032655091418836703051920011569972550502390320490315082485514003179947666293579661425445635724670242317241987497826085291156137160430842702591178879979575357458296578084968940035576489830109061929041735293129780883118847296594089594290640669757389002713381620956541131091659482173013603588019370544471310502159939961167421700389297361819334422647805624349042180958391336874256062868441816061515286343524066057522310119758793087767096100103348114422232864664658375944941894680978884089647343489587098095515774971969001799421171466466398747434795439226477310440573487025254665689841815680916087864159881675504061197939552995228093247861217717225483111519388358347937050054697510742031310893249791932611451328303648885786438980388117787191262670856705312696743278683256318189522281007680991708627018178824614630723371492196847422471037117819175028720725057667448373208449836465550077818060380139360402932003465421676405574690067521588753430906425280098443643185349802099401615812190907079165184853316046953708852439017601970195732441855116095653935687968839004203963966016906836817728970997813983403396278310283393130801373767023387840197569407138200182998622586311301429585980645689481319131446427935028399269369034554266568384131016826116512133987996989679425262526400847461662472308175861457146572864864522384621878600886218994439818481675153931545576053409686928106864736216247969416479416747508801482879 444832321814941194839340487924238877818477024743658906018253715807848501148037592815750950597637262575689663619028763603769177392713742227623253347456305934913420280697290537012434869955443827280526542966539931284218964629065332256554701590500770930060087795020530197724339189004426106823778352726699862939050883406944450739321103079471701911943700581084128052530427179550773261816350645817436771881935025214208067851119629093519018464731692473905350184140149200055086237093095020329588515052776460262654374637064963590333170837610997880686682905358419024203101928650019046005366906269672517661322296515724336695364870225128054875672012740475967646521777953126746417568771327812692330385508191514819248174650549697392960794971020472785340388279477509319178666514414619303562166167982775701287505882346310317830216780731966038176602349145073316220231322277528411730973738185534999098296197059644254597534488934482179773278796990065578993045795528784026166530561036464424561650522970235817134268244452191395393279989092294364980714517383104155377173892330083956146248225391115817430346997093093660696528473230887017516736462847599919118971192512291694895192915162046024786185887846813392217098631689706868938961605623221826151103063554225469029569167998250322030293409746822447962867835412552833631996605970081785724436202664432889007445116916140298930393163877027386529204935162994688582407871365136722411580109121206702005086289197673707425518705508874705038659850887376230401481850882 719753815991106165915292356942543298751395804126569781661113938612813766782409735848406042016473965627609675189001314106159497883028824713137256527403972228493081706142926261682677187197431325106611834122677091715061667220244212236130059048797349015029027830597020027833401118046161399953559235845547159533140477697585120496710105792853322868484831672743610225544030767570143806287661147977376733049356725603505429670454051741324642813773873432296687058396212068496902298608381363853654572575086580021447462404161063693681285259843862545345058850300313705181986018297362535592465001785447489630324095936895803161763617659923494102149323181049454671776443642968562098484859191972574005889569389454372243402743797558610678020454131992173698736216527564016689408545725512553354098779434104004936391668785290705948003971994636894881915045888351999476549511799809419411965446812553177922910827783015746794381911405519297592453825710790636660494168737233862632080638854524804701010925902239282555944650026881462914868742523200790260812961026289505179273293945896147053327390575969133477300705945532678298498668963328872632832116783287887957975396476257711802029732891017022600169291243091702500491762491080635962349445820791233289303246552848055340870597584230967719774728878268875897896234681921868186263174354212802550552714798420885997124542178666699777854826349335562390662081735859553104792493243737608630574548939688377159017834773727117112446812373610921286629267366792977910283333761 1164586137806047360754632844866782176569872828870228687679367654420662267930447328664156992614111228203299338808030077709928675275742566940760509874860278163406501986840216798695112057152875152387138377089217022999280631849309544492684760639298119945089115625617550225557740307050587506777337588572247022472191361104529571236031208872325024780428532253827738278074457947120917068104011793794813504931291750817713497521573680834843661278505565906202037242536361268551988535701476384183243087627863040284101837041226027284014456097454860426031741755658732729385087946947381581597831908055120007291646392452620139857128487885051548977821335921525422318298221596095308516053630519785266336275077580969191491577394347256003638815425152464959039124496005073335868075060140131856916264947416879706223897551131601023778220752726602933058517395033425315696780834077337831142939184998088177021207024842660001391916400340001477365732622700856215653539964266017888798611199890989229262661448872475099690212894479072858308148731615495155241527478409393660556447186275980103199575615967084950907647703038626338995027142194215890149568579630887807076946588988549406697222648053063047386355179089905094717590394180787504901311051444013059440406310107073524370439765582481289750068138625091323860764070094474701818259780324294588274988917462853775004569659094806998708247990226362948919867016898854241687200364608874331042154658060895079164104123971400824537965517882485626325289118254169208311765184643 1884339953797153526669925201809325475321268632996798469340481593033476034712857064512563034630585193830909013997031391816088173158771391653897766402264250391899583692983143060377789244350306477493750211211894114714342299069553756728814819688095468960118143456214570253391141425096748906730896824417794182005331838802114691732741314665178347648913363926571348503618488714691060874391672941772190237980648476421218927192027732576168304092279439338498724300932573337048890834309857748036897660202949620305549299445387090977695741357298722971376800605959046434567073965244744117190296909840567496921970488389515943018892105544975043079970659102574876990074665239063870614538489711757840342164646970423563734980138144814614316835879284457132737860712532637352557483605865644410270363726850983711160289219916891729726224724721239827940432440921777315173330345877147250554904631810641354944117852625675748186298311745520774958186448411646852314034133003251751430691838745514033963672374774714382246157544505954321223017474138695945502340439435683165735720480221876250252903006543054084384948408984159017293525811157544762782400696414175695034921985464807118499252380944080069986524470332996797218082156671868140863660497264804292729709556659921579711310363166712257469842867503360199758660304776396570004522954678507390825541632261274661001694201273473698486102816575698511310529098634713794791992857852611939672729207000583456323121958745127941650412330256096547611918385620962186222048518404 3048926091603200887424558046676107651891141461867027157019849247454138302643304393176720027244696422034208352805061469526016848434513958594658276277124528555306085679823359859072901301503181629880888588301111137713622930918863301221499580327393588905207259081832120478948881732147336413508234412990041204477523199906644262968772523537503372429341896180399086781692946661811977942495684735567003742911940227238932424713601413411011965370785005244700761543468934605600879370011334132220140747830812660589651136486613118261710197454753583397408542361617779163952161912192125698788128817895687504213616880842136082876020593430026592057791995024100299308372886835159179130592120231543106678439724551392755226557532492070617955651304436922091776985208537710688425558666005776267186628674267863417384186771048492753504445477447842760998949835955202630870111179954485081697843816808729531965324877468335749578214712085522252323919071112503067967574097269269640229303038636503263226333823647189481936370438985027179531166205754191100743867917845076826292167666497856353452478622510139035292596112022785356288552953351760652931969276045063502111868574453356525196475028997143117372879649422901891935672550852655645764971548708817352170115866766995104081750128749193547219911006128451523619424374870871271822782735002801979100530549724128436006263860368280697194350806802061460230396115533568036479193222461486270714883865061478535487226082716528766188377848138582173937207503875131394533813703047 4933266045400354414094483248485433127212410094863825626360330840487614337356161457689283061875281615865117366802092861342105021593285350248556042679388778947205669372806502919450690545853488107374638799513005252427965229988417057950314400015489057865325402538046690732340023157244085320239131237407835386482855038708758954701513838202681720078255260106970435285311435376503038816887357677339193980892588703660151351905629145987180269463064444583199485844401507942649770204321191880257038408033762280895200435932000209239405938812052306368785342967576825598519235877436869815978425727736255001135587369231652025894912698975001635137762654126675176298447552074223049745130609943300947020604371521816318961537670636885232272487183721379224514845921070348040983042271871420677456992401118847128544475990965384483230670202169082588939382276876979946043441525831632332252748448619370886909442730094011497764513023831043027282105519524149920281608230272521391659994877382017297190006198421903864182527983490981500754183679892887046246208357280759992027888146719732603705381629053193119677544521006944373582078764509305415714369972459239197146790559918163643695727409941223187359404119755898689153754707524523786628632045973621644899825423426916683793060491915905804689753873631811723378084679647267841827305689681309369926072181985403097007958061641754395680453623377759971540925214168281831271186080314098210387613072062061991810348041461656707838790178394678721549125889496093580755862221451 7982192137003555301519041295161540779103551556730852783380180087941752639999465850866003089119978037899325719607154330868121870027799308843214318956513307502511755052629862778523591847356669737255527387814116390141588160907280359171813980342882646770532661619878811211288904889391421733747365650397876590960378238615403217670286361740185092507597156287369522067004382038315016759383042412906197723804528930899083776619230559398192234833849449827900247387870442548250649574332526012477179155864574941484851572418613327501116136266805889766193885329194604762471397789628995514766554545631942505349204250073788108770933292405028227195554649150775475606820438909382228875722730174844053699044096073209074188095203128955850228138488158301316291831129608058729408600937877196944643621075386710545928662762013877236735115679616925349938332112832182576913552705786117413950592265428100418874767607562347247342727735916565279606024590636652988249182327541791031889297916018520560416340022069093346118898422476008680285349885647078146990076275125836818320055813217588957157860251563332154970140633029729729870631717861066068646339248504302699258659134371520168892202438938366304732283769178800581089427258377179432393603594682438997069941290193911787874810620665099351909664879760263246997509054518139113650088424684111349026602731709531533014221922010035092874804430179821431771321329701849867750379302775584481102496937123540527297574124178185474027168026533260895486333393371224975289675924498 12915458182403909715613524543646973906315961651594678409740510928429366977355627308555286150995259653764443086409247192210226891621084659091770361635902086449717424425436365697974282393210157844630166187327121642569553390895697417122128380358371704635858064157925501943628928046635507053986496887805711977443233277324162172371800199942866812585852416394339957352315817414818055576270400090245391704697117634559235128524859705385372504296913894411099733232271950490900419778653717892734217563898337222380052008350613536740522075078858196134979228296771430360990633667065865330744980273368197506484791619305440134665845991380029862333317303277450651905267990983605278620853340118145000719648467595025393149632873765841082500625671879680540806677050678406770391643209748617622100613476505557674473138752979261719965785881786007938877714389709162522956994231617749746203340714047471305784210337656358745107240759747608306888130110160802908530790557814312423549292793400537857606346220490997210301426405966990181039533565539965193236284632406596810347943959937321560863241880616525274647685154036674103452710482370371484360709220963541896405449694289683812587929848879589492091687888934699270243181965901703219022235640656060641969766713620828471667871112581005156599418753392074970375593734165406955477394114365420718952674913694934630022179983651789488555258053557581403312246543870131699021565383089682691490110009185602519107922165639842181865958204927939617035459282867318556045538145949 20897650319407465017132565838808514685419513208325531193120691016371119617355093159421289240115237691663768806016401523078348761648883967934984680592415393952229179478066228476497874240566827581885693575141238032711141551802977776293942360701254351406390725777804313154917832936026928787733862538203588568403611515939565390042086561683051905093449572681709479419320199453133072335653442503151589428501646565458318905144090264783564739130763344238999980620142393039151069352986243905211396719762912163864903580769226864241638211345664085901173113625966035123462031456694860845511534819000140011833995869379228243436779283785058089528871952428226127512088429892987507496576070292989054418692563668234467337728076894796932728764160037981857098508180286465499800244147625814566744234551892268220401801514993138956700901561402933288816046502541345099870546937403867160153932979475571724658977945218705992449968495664173586494154700797455896779972885356103455438590709419058418022686242560090556420324828442998861324883451187043340226360907532433628667999773154910518021102132179857429617825787066403833323342200231437553007048469467844595664108828661203981480132287817955796823971658113499851332609224278882651415839235338499639039708003814740259542681733246104508509083633152338217373102788683546069127482539049532067979277645404466163036401905661824581430062483737402835083567873571981566771944685865267172592606946309143046405496289818027655893126231461200512521792676238543531335214070447 33813108501811374732746090382455488591735474859920209602861201944800486594710720467976575391110497345428211892425648715288575653269968627026755042228317480401946603903502594174472156633776985426515859762468359675280694942698675193416070741059626056042248789935729815098546760982662435841720359426009300545846844793263727562413886761625918717679301989076049436771636016867951127911923842593396981133198764200017554033668949970168937243427677238650099713852414343530051489131639961797945614283661249386244955589119840400982160286424522282036152341922737465484452665123760726176256515092368337518318787488684668378102625275165087951862189255705676779417356420876592786117429410411134055138341031263259860487360950660638015229389831917662397905185230964872270191887357374432188844848028397825894874940267972400676666687443188941227693760892250507622827541169021616906357273693523043030443188282875064737557209255411781893382284810958258805310763443170415878987883502819596275629032463051087766721751234409989042364417016727008533462645539939030439015943733092232078884344012796382704265510941103077936776052682601809037367757690431386492069558522950887794068062136697545288915659547048199121575791190180585870438074875994560281009474717435568731210552845827109665108502386544413187748696522848953024604876653414952786931952559099400793058581889313614069985320537294984238395814417442113265793510068954949864082716955494745565513418455457869837759084436389140129557251959105862087380752216396 54710758821218839749878656221264003277154988068245740795981892961171606212065813627397864631225735037091980698442050238366924414918852594961739722820732874354175783381568822650970030874343813008401553337609597707991836494501652969710013101760880407448639515713534128253464593918689364629454221964212889114250456309203292952455973323308970622772751561757758916190956216321084200247577285096548570561700410765475872938813040234952501982558440582889099694472556736569202558484626205703157011003424161550109859169889067265223798497770186367937325455548703500607914696580455587021768049911368477530152783358063896621539404558950146041391061208133902906929444850769580293614005480704123109557033594931494327825089027555434947958153991955644255003693411251337769992131505000246755589082580290094115276741782965539633367589004591874516509807394791852722698088106425484066511206672998614755102166228093770730007177751075955479876439511755714702090736328526519334426474212238654693651718705611178323142076062852987903689300467914051873689006447471464067683943506247142596905446144976240133883336728169481770099394882833246590374806159899231087733667351612091775548194424515501085739631205161698972908400414459468521853914111333059920049182721250308990753234579073214173617586019696751405121799311532499093732359192464484854911230204503866956094983794975438651415383021032387073479382291014094832565454754820217036675323901803888611918914745275897493652210667850340642079044635344405618715966286843 88523867323030214482624746603719491868890462928165950398843094905972092806776534095374440022336232382520192590867698953655500068188821221988494765049050354756122387285071416825442187508120798434917413100077957383272531437200328163126083842820506463490888305649263943352011354901351800471174581390222189660097301102467020514869860084934889340452053550833808352962592233189035328159501127689945551694899174965493426972481990205121439225986117821539199408324971080099254047616266167501102625287085410936354814759008907666205958784194708649973477797471440966092367361704216313198024565003736815048471570846748564999642029834115233993253250463839579686346801271646173079731434891115257164695374626194754188312449978216072963187543823873306652908878642216210040184018862374678944433930608687920010151682050937940310034276447780815744203568287042360345525629275447100972868480366521657785545354510968835467564387006487737373258724322713973507401499771696935213414357715058250969280751168662266089863827297262976946053717484641060407151651987410494506699887239339374675789790157772622838148847669272559706875447565435055627742563850330617579803225874562979569616256561213046374655290752209898094484191604640054392291988987327620201058657438685877721963787424900323838726088406241164592870495834381452118337235845879437641843182763603267749153565684289052721400703558327371311875196708456208098358964823775166900758040857298634177432333200733767331411295104239480771636296594450267706096718503239 143234626144249054232503402824983495146045450996411691194824987867143699018842347722772304653561967419612173289309749192022424483107673816950234487869783229110298170666640239476412218382464611443318966437687555091264367931701981132836096944581386870939527821362798071605475948820041165100628803354435078774347757411670313467325833408243859963224805112591567269153548449510119528407078412786494122256599585730969299911295030440073941208544558404428299102797527816668456606100892373204259636290509572486464673928897974931429757281964895017910803253020144466700282058284671900219792614915105292578624354204812461621181434393065380034644311671973482593276246122415753373345440371819380274252408221126248516137539005771507911145697815828950907912572053467547810176150367374925700023013188978014125428423833903479943401865452372690260713375681834213068223717381872585039379687039520272540647520739062606197571564757563692853135163834469688209492236100223454547840831927296905662932469874273444413005903360115964849743017952555112280840658434881958574383830745586517272695236302748862972032184397442041476974842448268302218117370010229848667536893226175071345164450985728547460394921957371597067392592019099522914145903098660680121107840159936186712717022003973538012343674425937915997992295145913951212069595038343922496754412968107134705248549479264491372816086579359758385354578999470302930924419578595383937433364759102522789351247946009664825063505772089821413715341229794673324812684790082 231758493467279268715128149428702987014935913924577641593668082773115791825618881818146744675898199802132365880177448145677924551296495038938729252918833583866420557951711656301854405890585409878236379537765512474536899368902309295962180787401893334430416127012062014957487303721392965571803384744657268434445058514137333982195693493178749303676858663425375622116140682699154856566579540476439673951498760696462726883777020645195380434530676225967498511122498896767710653717158540705362261577594983422819488687906882597635716066159603667884281050491585432792649419988888213417817179918842107627095925051561026620823464227180614027897562135813062279623047394061926453076875262934637438947782847321002704449988983987580874333241639702257560821450695683757850360169229749604644456943797665934135580105884841420253436141900153506004916943968876573413749346657319686012248167406041930326192875250031441665135951764051430226393888157183661716893735871920389761255189642355156632213221042935710502869730657378941795796735437196172687992310422292453081083717984925891948485026460521485810181032066714601183850290013703357845859933860560466247340119100738050914780707546941593835050212709581495161876783623739577306437892085988300322166497598622064434680809428873861851069762832179080590862790980295403330406830884223360138597595731710402454402115163553544094216790137687129697229775707926511029283384402370550838191405616401156966783581146743432156474800876329302185351637824244941030909403293321 374993119611528322947631552253686482160981364920989332788493070640259490844461229540919049329460167221744539169487197337700349034404168855888963740788616812976718728618351895778266624273050021321555345975453067565801267300604290428798277731983280205369943948374860086562963252541434130672432188099092347208792815925807647449521526901422609266901663776016942891269689132209274384973657953262933796208098346427432026795072051085269321643075234630395797613920026713436167259818050913909621897868104555909284162616804857529065473348124498685795084303511729899492931478273560113637609794833947400205720279256373488242004898620245994062541873807786544872899293516477679826422315634754017713200191068447251220587527989759088785478939455531208468734022749151305660536319597124530344479956986643948261008529718744900196838007352526196265630319650710786481973064039192271051627854445562202866840395989094047862707516521615123079529051991653349926385971972143844309096021569652062295145690917209154915875634017494906645539753389751284968832968857174411655467548730512409221180262763270348782213216464156642660825132461971660063977303870790314914877012326913122259945158532670141295445134666953092229269375642839100220583795184648980443274337758558251147397831432847399863413437258116996588855086126209354542476425922567282635352008699817537159650664642818035467032876717046888082584354707396813960207803980965934775624770375503679756134829092753096981538306648419123599066979054039614355722088083403 606751613078807591662759701682389469175917278845566974382161153413375282670080111359065794005358367023876905049664645483378273585700663894827692993707450396843139286570063552080121030163635431199791725513218580040338166669506599724760458519385173539800360075386922101520450556262827096244235572843749615643237874439944981431717220394601358570578522439442318513385829814908429241540237493739373470159597107123894753678849071730464702077605910856363296125042525610203877913535209454614984159445699539332103651304711740126701189414284102353679365354003315332285580898262448327055426974752789507832816204307934514862828362847426608090439435943599607152522340910539606279499190897688655152147973915768253925037516973746669659812181095233466029555473444835063510896488826874134988936900784309882396588635603586320450274149252679702270547263619587359895722410696511957063876021851604133193033271239125489527843468285666553305922940148837011643279707844064234070351211212007218927358911960144865418745364674873848441336488826947457656825279279466864736551266715438301169665289223791834592394248530871243844675422475675017909837237731350781162217131427651173174725866079611735130495347376534587391146159266578677527021687270637280765440835357180315582078640861721261714483200090296077179717877106504757872883256806790642773949604431527939614052779806371579561249666854734017779814130415323324989491188383336485613816175991904836722918410239496529138013107524748425784418616878284555386631491376724 981744732690335914610391253936075951336898643766556307170654224053634773514541340899984843334818534245621444219151842821078622620104832750716656734496067209819858015188415447858387654436685452521347071488671647606139433970110890153558736251368453745170304023761782188083413808804261226916667760942841962852030690365752628881238747296023967837480186215459261404655518947117703626513895447002307266367695453551326780473921122815734023720681145486759093738962552323640045173353260368524606057313804095241387813921516597655766662762408601039474449657515045231778512376536008440693036769586736908038536483564308003104833261467672602152981309751386152025421634427017286105921506532442672865348164984215505145625044963505758445291120550764674498289496193986369171432808423998665333416857770953830657597165322331220647112156605205898536177583270298146377695474735704228115503876297166336059873667228219537390550984807281676385451992140490361569665679816208078379447232781659281222504602877354020334620998692368755086876242216698742625658248136641276392018815445950710390845551987062183374607464995027886505500554937646677973814541602141096077094143754564295434671024612281876425940482043487679620415534909417777747605482455286261208715173115738566729476472294568661577896637348413073768572963232714112415359682729357925409301613131345476773703444449189615028282543571780905862398485122720138949698992364302420389440946367408516479053239332249626119551414173167549383485595932324169742353579460127 1588496345769143506273150955618465420512815922612123281552815377467010056184621452259050637340176901269498349268816488304456896205805496645544349728203517606662997301758478999938508684600320883721138797001890227646477600639617489878319194770753627284970664099148704289603864365067088323160903333786591578495268564805697610312955967690625326408058708654901579918041348762026132868054132940741680736527292560675221534152770194546198725798287056343122389864005077933843923086888469823139590216759503634573491465226228337782467852176692703393153815011518360564064093274798456767748463744339526415871352687872242517967661624315099210243420745694985759177943975337556892385420697430131328017496138899983759070662561937252428105103301645998140527844969638821432682329297250872800322353758555263713054185800925917541097386305857885600806724846889885506273417885432216185179379898148770469252906938467345026918394453092948229691374932289327373212945387660272312449798443993666500149863514837498885753366363367242603528212731043646200282483527416108141128570082161389011560510841210854017967001713525899130350175977413321695883651779333491877239311275182215468609396890691893611556435829420022267011561694175996455274627169725923541974156008472918882311555113156289923292379837438709150948290840339218870288242939536148568183251217562873416387756224255561194589532210426514923642212615538043463939190180747638906003257122359313353201971649571746155257564521697915975167904212810608725128985070836851 2570241078459479420883542209554541371849714566378679588723469601520644829699162793159035480674995435515119793487968331125535518825910329396261006462699584816482855316946894447796896339037006336242485868490561875252617034609728380031877931022122081030140968122910486477687278173871349550077571094729433541347299255171450239194194714986649294245538894870360841322696867709143836494568028387743988002894988014226548314626691317361932749518968201829881483602967630257483968260241730191664196274073307729814879279147744935438234514939101304432628264669033405795842605651334465208441500513926263323909889171436550521072494885782771812396402055446371911203365609764574178491342203962574000882844303884199264216287606900758186550394422196762815026134465832807801853762105674871465655770616326217543711782966248248761744498462463091499342902430160183652651113360167920413294883774445936805312780605695564564308945437900229906076826924429817734782611067476480390829245676775325781372368117714852906087987362059611358615088973260344942908141775552749417520588897607339721951356393197916201341609178520927016855676532350968373857466320935632973316405418936779764044067915304175487982376311463509946631977229085414233022232652181209803182871181588657449041031585450858584870276474787122224716863803571932982703602622265506493592552830694218893161459668704750809617814753998295829504611100660763602888889173111941326392698068726721869681024888903995781377115935871083524551389808742932894871338650296978 4158737424228622927156693165173006792362530488990802870276284978987654885883784245418086118015172336784618142756784819429992415031715826041805356190903102423145852618705373447735405023637327219963624665492452102899094635249345869910197125792875708315111632222059190767291142538938437873238474428516025119842567819977147849507150682677274620653597603525262421240738216471169969362622161328485668739422280574901769848779461511908131475317255258173003873466972708191327891347130200014803786490832811364388370744373973273220702367115794007825782079680551766359906698926132921976189964258265789739781241859308793039040156510097871022639822801141357670381309585102131070876762901392705328900340442784183023286950168838010614655497723842760955553979435471629234536091402925744265978124374881481256765968767174166302841884768320977100149627277050069158924531245600136598474263672594707274565687544162909591227339890993178135768201856719145107995556455136752703279044120768992281522231632552351791841353725426853962143301704303991143190625302968857558649158979768728733511867234408770219308610892046826147205852509764290069741118100269124850555716694118995232653464805996069099538812140883532213643538923261410688296859821907133345157027190061576331352586698607148508162656312225831375665154643911151852991845561801655061775804048257092309549215892960312004207346964424810753146823716198807066828079353859580232395955191086035222882996538475741936634680457568999499719294021553541620000323721133829 6728978502688102348040235374727548164212245055369482458999754580508299715582947038577121598690167772299737936244753150555527933857626155438066362653602687239628707935652267895532301362674333556206110533983013978151711669859074249942075056814997789345252600344969677244978420712809787423316045523245458661189867075148598088701345397663923914899136498395623262563435084180313805857190189716229656742317268589128318163406152829270064224836223460002885357069940338448811859607371930206467982764906119094203250023521718208658936882054895312258410344349585172155749304577467387184631464772192053063691131030745343560112651395880642835036224856587729581584675194866705249368105105355279329783184746668382287503237775738768801205892146039523770580113901304437036389853508600615731633894991207698800477751733422415064586383230784068599492529707210252811575644605768057011769147447040644079878468149858474155536285328893408041845028781148962842778167522613233094108289797544318062894599750267204697929341087486465320758390677564336086098767078521606976169747877376068455463223627606686420650220070567753164061529042115258443598584421204757823872122113055774996697532721300244587521188452347042160275516152346824921319092474088343148339898371650233780393618284058007093032932787012953600382018447483084835695448184067161555368356878951311202710675561665062813825161718423106582651434816859570669716968526971521558788653259812757092564021427379737718011796393440083024270683830296474514871662371430807 10887715926916725275196928539900554956574775544360285329276039559495954601466731283995207716705340109084356079001537969985520348889341981479871718844505789662774560554357641343267706386311660776169735199475466081050806305108420119852272182607873497660364232567028868012269563251748225296554519951761483781032434895125745938208496080341198535552734101920885683804173300651483775219812351044715325481739549164030088012185614341178195700153478718175889230536913046640139750954502130221271769255738930458591620767895691481879639249170689320084192424030136938515656003503600309160821429030457842803472372890054136599152807905978513857676047657729087251965984779968836320244868006747984658683525189452565310790187944576779415861389869882284726134093336776066270925944911526359997612019366089180057243720500596581367428267999105045699642156984260321970500175851368193610243411119635351354444155694021383746763625219886586177613230637868107950773723977749985797387333918313310344416831382819556489770694812913319282901692381868327229289392381490464534818906857144797188975090862015456639958830962614579311267381551879548513339702521473882674427838807174770229350997527296313687060000593230574373919055075608235609615952295995476493496925561711810111746204982665155601195589099238784976047173091394236688687293745868816617144160927208403512259891454625374818032508682847917335798258533058377736545047880831101791184608450898792315447017965855479654646476851009082523989977851850016134871986092564636 17616694429604827623237163914628103120787020599729767788275794140004254317049678322572329315395507881384094015246291120541048282746968136917938081498108476902403268490009909238800007748985994332375845733458480059202517974967494369794347239422871287005616832911998545257247983964558012719870565475006942442222301970274344026909841478005122450451870600316508946367608384831797581077002540760944982224056817753158406175591767170448259924989702178178774587606853385088951610561874060427739752020645049552794870791417409690538576131225584632342602768379722110671405308081067696345452893802649895867163503920799480159265459301859156692712272514316816833550659974835541569612973112103263988466709936120947598293425720315548217067282015921808496714207238080503307315798420126975729245914357296878857721472234018996432014651229889114299134686691470574782075820457136250622012558566675995434322623843879857902299910548779994219458259419017070793551891500363218891495623715857628407311431133086761187700035900399784603660083059432663315388159460012071510988654734520865644438314489622143060609051033182332475328910593994806956938286942678640498299960920230545226048530248596558274581189045577616534194571227955060530935044770083819641836823933362043892139823266723162694228521886251738576429191538877321524382741929935978172512517806159714714970567016290437631857670401271023918449693349917948406262016407802623349973261710711549408011039393235217372658273244449165548260661682146490649743648463995443 28504410356521552898434092454528658077361796144090053117551833699500208918516409606567537032100847990468450094247829090526568631636310118397809800342614266565177829044367550582067714135297655108545580932933946140253324280075914489646619422030744784665981065479027413269517547216306238016425085426768426223254736865400089965118337558346320986004604702237394630171781685483281356296814891805660307705796366917188494187777381511626455625143180896354663818143766431729091361516376190649011521276383980011386491559313101172418215380396273952426795192409859049187061311584668005506274322833107738670635876810853616758418267207837670550388320172045904085516644754804377889857841118851248647150235125573512909083613664892327632928671885804093222848300574856569578241743331653335726857933723386058914965192734615577799442919228994159998776843675730896752575996308504444232255969686311346788766779537901241649063535768666580397071490056885178744325615478113204688882957634170938751728262515906317677470730713313103886561775441300990544677551841502536045807561591665662833413405351637599700567881995796911786596292145874355470277989464152523172727799727405315455399527775892871961641189638808190908113626303563296140550997066079296135333749495073854003886028249388318295424110985490523552476364630271558213070035675804794789656678733368118227230458470915812449890179084118941254247951882976326142807064288633725141157870161610341723458057359090697027304750095458248072250639533996506784615634556560079 46121104786126380521671256369156761198148816743819820905827627839504463235566087929139866347496355871852544109494120211067616914383278255315747881840722743467581097534377459820867721884283649440921426666392426199455842255043408859440966661453616071671597898391025958526765531180864250736295650901775368665477038835674433992028179036351443436456475302553903576539390070315078937373817432566605289929853184670346900363369148682074715550132883074533438405750619816818042972078250251076751273297029029564181362350730510862956791511621858584769397960789581159858466619665735701851727216635757634537799380731653096917683726509696827243100592686362720919067304729639919459470814230954512635616945061694460507377039385207875849995953901725901719562507812937072885557541751780311456103848080682937772686664968634574231457570458883274297911530367201471534651816765640694854268528252987342223089403381781099551363446317446574616529749475902249537877506978476423580378581350028567159039693648993078865170766613712888490221858500733653860065711301514607556796216326186528477851719841259742761176933028979244261925202739869162427216276406831163671027760647635860681448058024489430236222378684385807442308197531518356671486041836163115777170573428435897896025851516111480989652632871742262128905556169148879737452777605740772962169196539527832942201025487206250081747849485389965172697645232894274549069080696436348491131131872321891131469096752325914399963023339907413620511301216142997434359283020555522 74625515142647933420105348823685419275510612887909874023379461539004672154082497535707403379597203862320994203741949301594185546019588373713557682183337010032758926578745010402935436019581304549467007599326372339709166535119323349087586083484360856337578963870053371796283078397170488752720736328543794888731775701074523957146516594697764422461080004791298206711171755798360293670632324372265597635649551587535394551146530193701171175276063970888102223894386248547134333594626441725762794573413009575567853910043612035375006892018132537196193153199440209045527931250403707358001539468865373208435257542506713676101993717534497793488912858408625004583949484444297349328655349805761282767180187267973416460653050100203482924625787529994942410808387793642463799285083433647182961781804068996687651857703250152030900489687877434296688374042932368287227813074145139086524497939298689011856182919682341200426982086113155013601239532787428282203122456589628269261538984199505910767956164899396542641497327025992376783633942034644404743263143017143602603777917852191311265125192897342461744815024776156048521494885743517897494265870983686843755560375041176136847585800382302197863568323193998350421823835081652812037038902242411912504322923509751899911879765499799285076743857232785681381920799420437950522813281545567751825875272895951169431483958122062531638028569508906426945597115870600691876144985070073632289002033932232854927154111416611427267773435365661692761940750139504218974917577115601 120746619928774313941776605192842180473659429631729694929207089378509135389648585464847269727093559734173538313236069512661802460402866629029305564024059753500340024113122470223803157903864953990388434265718798539165008790162732208528552744937976928009176862261079330323048609578034739489016387230319163554208814536748957949174695631049207858917555307345201783250561826113439231044449756938870887565502736257882294914515678875775886725408947045421540629645006065365177305672876692802514067870442039139749216260774122898331798403639991121965591113989021368903994550916139409209728756104623007746234638274159810593785720227231325036589505544771345923651254214084216808799469580760273918384125248962433923837692435308079332920579689255896661973316200730715349356826835213958639065629884751934460338522671884726262358060146760708594599904410133839821879629839785833940793026192286031234945586301463440751790428403559729630130989008689677820080629435066051849640120334228073069807649813892475407812263940738880867005492442768298264808974444531751159399994244038719789116845034157085222921748053755400310446697625612680324710542277814850514783321022677036818295643824871732434085947007579805792730021366600009483523080738405527689674896351945649795937731281611280274729376728975047810287476968569317687975590887286340713995071812423784111632509445328312613385878054898871599643242348764875240945225681506422123420133906254123986396250863742525827230796775273075313273241966282501653334200597671123 195372135071422247361881954016527599749170042519639568952586550917513807543731083000554673106690763596494532516978018814255988006422455002742863246207396763533098950691867480626738593923446258539855441865045170878874175325282055557616138828422337784346755826131132702119331687975205228241737123558862958442940590237823481906321212225746972281378635312136499989961733581911799524715082081311136485201152287845417689465662209069477057900685011016309642853539392313912311639267503134528276862443855048715317070170817734933706805295658123659161784267188461577949522482166543116567730295573488380954669895816666524269887713944765822830078418403179970928235203698528514158128124930566035201151305436230407340298345485408282815845205476785891604384124588524357813156111918647605822027411688820931147990380375134878293258549834638142891288278453066208109107442913930973027317524131584720246801769221145781952217410489672884643732228541477106102283751891655680118901659318427578980575605978791871950453761267764873243789126384802942669552237587548894762003772161890911100381970227054427684666563078531556358968192511356198222204808148798537358538881397718212955143229625254034631949515330773804143151845201681662295560119640647939602179219275455401695849611047111079559806120586207833491669397767989755638498404168831908465820947085319735281063993403450375145023906624407778026588839464635475932821370666576495755709135940186356841323404975159137254498570210638737006035182716422005872309118174786724 316118755000196561303658559209369780222829472151369263881793640296022942933379668465401942833784323330668070830214088326917790466825321631772168810231456517033438974804989950850541751827311212530243876130763969418039184115444787766144691573360314712355932688392212032442380297553239967730753510789182121997149404774572439855495907856796180140296190619481701773212295408025238755759531838250007372766655024103299984380177887945252944626093958061731183483184398379277488944940379827330790930314297087855066286431591857832038603699298114781127375381177482946853517033082682525777459051678111388700904534090826334863673434171997147866667923947951316851886457912612730966927594511326309119535430685192841264136037920716362148765785166041788266357440789255073162512938753861564461093041573572865608328903047019604555616609981398851485888182863200047930987072753716806968110550323870751481747355522609222704007838893232614273863217550166783922364381326721731968541779652655652050383255792684347358266025208503754110794618827571240934361212032080645921403766405929630889498815261211512907588311132286956669414890136968878546915350426613387873322202420395249773438873450125767066035462338353609935881866568281671779083200379053467291854115627401051491787342328722359834535497315182881301956874736559073326473995056118249179816018897743519392696502848778687758409784679306649626232081813400351173766596348082917879129269846440480827719655838901663081729366985911812319308424682704507525643318772457847 511490890071618808665540513225897379971999514671008832834380191213536750477110751465956615940475086927162603347192107141173778473247776634515032056438853280566537925496857431477280345750757471070099317995809140296913359440726843323760830401782652496702688514523344734561711985528445195972490634348045080440089995012395921761817120082543152421674825931618201763174028989937038280474613919561143857967807311948717673845840097014730002526778969078040826336723790693189800584207882961859067792758152136570383356602409592765745408994956238440289159648365944524803039515249225642345189347251599769655574429907492859133561148116762970696746342351131287780121661611141245125055719441892344320686736121423248604434383406124644964610990642827679870741565377779430975669050672509170283120453262393796756319283422154482848875159816036994377176461316266256040094515667647779995428074455455471728549124743755004656225249382905498917595446091643890024648133218377412087443438971083231030958861771476219308719786476268627354583745212374183603913449619629540683407538567820541989880785488265940592254874210818513028383082648325076769120158575411925231861083818113462728582103075379801697984977669127414079033711769963334074643320019701406894033334902856453187636953375833439394341617901390714793626272504548828964972399224950157645636965983063254673760496252229062903433691303714427652820921278035827106587967014659413634838405786626837669043060814060800336227937196550549325343607399126513397952436947244571 827609645071815369969199072435267160194828986822378096716173831509559693410490419931358558774259410257830674177406195468091568940073098266287200866670309797599976900301847382327822097578068683600343194126573109714952543556171631089905521975142967209058621202915556767004092283081685163703244145137227202437239399786968361617313027939339332561971016551099903536386324397962277036234145757811151230734462336052017658226017984959982947152872927139772009819908189072467289529148262789189858723072449224425449643034001450597784012694254353221416535029543427471656556548331908168122648398929711158356478963998319193997234582288760118563414266299082604632008119523753976091983313953218653440222166806616089868570421326841007113376775808869468137099006167034504138181989426370734744213494835966662364648186469174087404491769797435845863064644179466303971081588421364586963538624779326223210296480266364227360233088276138113191458663641810673947012514545099144055985218623738883081342117564160566666985811684772381465378364039945424538274661651710186604811304973750172879379600749477453499843185343105469697797972785293955316035509002025313105183286238508712502020976525505568764020440007481024014915578338245005853726520398754874185887450530257504679424295704555799228877115216573596095583147241107902291446394281068406825452984880806774066456999101007750661843475983021077279053003091436178280354563362742331513967675633067318496762716652962463417957304182462361644652032081831020923595755719702418 1339100535143434178634739585661164540166828501493386929550554022723096443887601171397315174714734497184993277524598302609265347413320874900802232923109163078166514825798704813805102443328826154670442512122382250011865902996898474413666352376925619705761309717438901501565804268610130359675734779485272282877329394799364283379130148021882484983645842482718105299560353387899315316708759677372295088702269648000735332071858081974712949679651896217812836156631979765657090113356145751048926515830601360995832999636411043363529421689210591661705694677909371996459596063581133810467837746181310928012053393905812053130795730405523089260160608650213892412129781134895221217039033395110997760908902928039338473004804732965652077987766451697148007840571544813935113851040098879905027333948098360459120967469891328570253366929613472840240241105495732560011176104089012366958966699234781694938845605010119232016458337659043612109054109733454563971660647763476556143428657594822114112300979335636785975705598161041008819962109252319608142188111271339727288218843541570714869260386237743394092098059553923982726181055433619032085155667577437238337044370056622175230603079600885370462005417676608438093949290108208339928369840418456281079920785433113957867061249080389238623218733117964310889209419745656731256418793506018564471089950863870028740217495353236813565277167286735504931873924369472005386942530377401745148806081419694156165805777467023263754185241379012910969995639480957534321548192666946989 2166710180215249548603938658096431700361657488315765026266727854232656137298091591328673733488993907442823951702004498077356916353393973167089433789779472875766491726100552196132924540906894838270785706248955359726818446553070105503571874352068586914819930920354458268569896551691815523378978924622499485314568794586332644996443175961221817545616859033818008835946677785861592352942905435183446319436731984052752990297876066934695896832524823357584845976540168838124379642504408540238785238903050585421282642670412493961313434383464944883122229707452799468116152611913041978590486145111022086368532357904131247128030312694283207823574874949296497044137900658649197309022347348329651201131069734655428341575226059806659191364542260566616144939577711848439252033029525250639771547442934327121485615656360502657657858699410908686103305749675198863982257692510376953922505324014107918149142085276483459376691425935181725300512773375265237918673162308575700199413876218560997193643096899797352642691409845813390285340473292265032680462772923049913893030148515320887748639986987220847591941244897029452423979028218912987401191176579462551442227656295130887732624056126390939226025857684089462108864868446453345782096360817211155265808235963371462546485544784945037852095848334537906984792566986764633547865187787086971296542935744676802806674494454244564227120643269756582210926927460908183667297093740144076662773757052761474662568494119985727172142545561475272614647671562788555245143948386649407 3505810715358683727238678243757596240528485989809151955817281876955752581185692762725988908203728404627817229226602800686622263766714848067891666712888635953933006551899257009938026984235720992941228218371337609738684349549968579917238226728994206620581240637793359770135700820301945883054713704107771768191898189385696928375573323983104302529262701516536114135507031173760907669651665112555741408139001632053488322369734148909408846512176719575397682133172148603781469755860554291287711754733651946417115642306823537324842856072675536544827924385362171464575748675494175789058323891292333014380585751809943300258826043099806297083735483599510389456267681793544418526061380743440648962039972662694766814580030792772311269352308712263764152780149256662374365884069624130544798881391032687580606583126251831227911225629024381526343546855170931423993433796599389320881472023248889613087987690286602691393149763594225337409566883108719801890333810072052256342842533813383111305944076235434138618397008006854399105302582544584640822650884194389641181248992056891602617900373224964241684039304450953435150160083652532019486346844156899789779272026351753062963227135727276309688031275360697900202814158554661685710466201235667436345729021396485420413546793865334276475314581452502217874001986732421364804283981293105535767632886608546831546891989807481377792397810556492087142800851830380189054239624117545821811579838472455630828374271587008990926327786940488183584643311043746089566692141053596396 5672520895573933275842616901854027940890143478124916982084009731188408718483784354054662641692722312070641180928607298763979180120108821234981100502668108829699498277999809206070951525142615831212013924620292969465502796103038685420810101081062793535401171558147818038705597371993761406433692628730271253506466983972029573372016499944326120074879560550354122971453708959622500022594570547739187727575733616106241312667610215844104743344701542932982528109712317441905849398364962831526496993636702531838398284977236031286156290456140481427950154092814970932691901287407217767648810036403355100749118109714074547386856355794089504907310358548806886500405582452193615835083728091770300163171042397350195156155256852578970460716850972830380297719726968510813617917099149381184570428833967014702092198782612333885569084328435290212446852604846130287975691489109766274803977347262997531237129775563086150769841189529407062710079656483985039809006972380627956542256410031944108499587173135231491261088417852667789390643055836849673503113657117439555074279140572212490366540360212185089275980549347982887574139111871445006887538020736362341221499682646883950695851191853667248914057133044787362311679027001115031492562562052878591611537257359856882960032338650279314327410429787040124858794553719185998352149169080192507064175822353223634353566484261725942019518453826248669353727779291288372721536717857689898474353595525217105490942765706994718098470332501963456199290982606534644811836089440245803 9178331610932617003081295145611624181418629467934068937901291608144161299669477116780651549896450716698458410155210099450601443886823669302872767215556744783632504829899066216008978509378336824153242142991630579204187145653007265338048327810057000155982412195941177808841298192295707289488406332838043021698365173357726501747589823927430422604142262066890237106960740133383407692246235660294929135714735248159729635037344364753513589856878262508380210242884466045687319154225517122814208748370354478255513927284059568610999146528816017972778078478177142397267649962901393556707133927695688115129703861524017847645682398893895801991045842148317275956673264245738034361145108835210949125211015060044961970735287645351281730069159685094144450499876225173187983801168773511729369310224999702282698781908864165113480309957459671738790399460017061711969125285709155595685449370511887144325117465849688842162990953123632400119646539592704841699340782452680212885098943845327219805531249370665629879485425859522188495945638381434314325764541311829196255528132629104092984440733437149330960019853798936322724299195523977026373884864893262131000771708998637013659078327580943558602088408405485262514493185555776717203028763288546027957266278756342303373579132515613590802725011239542342732796540451607363156433150373298042831808708961770465900458474069207319811916264382740756496528631121668561775776341975235720285933433997672736319317037294003709024798119442451639783934293650280734378528230493842199 14850852506506550278923912047465652122308772946058985919985301339332570018153261470835314191589173028769099591083817398214580624006932490537853867718224853613332003107898875422079930034520952655365256067611923548669689941756045950758858428891119793691383583754088995847546895564289468695922098961568314275204832157329756075119606323871756542679021822617244360078414449093005907714840806208034116863290468864265970947704954580597618333201579805441362738352596783487593168552590479954340705742007057010093912212261295599897155436984956499400728232570992113329959551250308611324355943964099043215878821971238092395032538754687985306898356200697124162457078846697931650196228836926981249288382057457395157126890544497930252190786010657924524748219603193684001601718267922892913939739058966716984790980691476498999049394285894961951237252064863191999944816774818921870489426717774884675562247241412774992932832142653039462829726196076689881508347754833308169427355353877271328305118422505897121140573843712189977886588694218283987828878198429268751329807273201316583350981093649334420236000403146919210298438307395422033261422885629624472222271391645520964354929519434610807516145541450272624826172212556891748695591325341424619568803536116199186333611471165892905130135441026582467591591094170793361508582319453490549895984531314994100254024958330933261831434718208989425850256410412956934497313059832925618760287029522889841810259803000998427123268451944415095983225276256815379190364319934088002 24029184117439167282005207193077276303727402413993054857886592947476731317822738587615965741485623745467558001239027497665182067893756159840726634933781598396964507937797941638088908543899289479518498210603554127873877087409053216096906756701176793847365995950030173656388193756585175985410505294406357296903197330687482576867196147799186965283164084684134597185375189226389315407087041868329045999005204112425700582742298945351131923058458067949742948595481249533280487706815997077154914490377411488349426139545355168508154583513772517373506311049169255727227201213210004881063077891794731331008525832762110242678221153581881108889402042845441438413752110943669684557373945762192198413593072517440119097625832143281533920855170343018669198719479418857189585519436696404643309049283966419267489762600340664112529704243354633690027651524880253711913942060528077466174876088286771819887364707262463835095823095776671862949372735669394723207688537285988382312454297722598548110649671876562751020059269571712166382534332599718302154642739741097947585335405830420676335421827086483751196020256945855533022737502919399059635307750522886603223043100644157978014007847015554366118233949855757887340665398112668465898620088629970647526069814872541489707190603681506495932860452266124810324387634622400724665015469826788592727793240276764566154483432400140581643350982591730182346785041534625496273089401808161339046220463520562578129576840295002136148066571386866735767159569907096113568892550427930201 38880036623945717560929119240542928426036175360052040777871894286809301335976000058451279933074796774236657592322844895879762691900688650378580502652006452010296511045696817060168838578420242134883754278215477676543567029165099166855765185592296587538749579704119169503935089320874644681332604255974671572108029488017238651986802471670943507962185907301378957263789638319395223121927848076363162862295672976691671530447253525948750256260037873391105686948078033020873656259406477031495620232384468498443338351806650768405310020498729016774234543620161369057186752463518616205419021855893774546887347804000202637710759908269866415787758243542565600870830957641601334753602782689173447701975129974835276224516376641211786111641181000943193946939082612541191187237704619297557248788342933136252280743291817163111579098529249595641264903589743445711858758835346999336664302806061656495449611948675238828028655238429711325779098931746084604716036292119296551739809651599869876415768094382459872160633113283902144269123026818002289983520938170366698915142679031737259686402920735818171432020660092774743321175810314821092896730636152511075445314492289678942368937366450165173634379491306030512166837610669560214594211413971395267094873350988740676040802074847399401062995893292707277915978728793194086173597789280279142623777771591758666408508390731073843474785700800719608197041451947582430770402461641086957806507493043452419939836643296000563271335023331281831750384846163911492759256870362018203 62909220741384884842934326433620204729763577774045095635758487234286032653798738646067245674560420519704215593561872393544944759794444810219307137585788050407261018983494758698257747122319531614402252488819031804417444116574152382952671942293473381386115575654149343160323283077459820666743109550381028869011226818704721228853998619470130473245349991985513554449164827545784538529014889944692208861300877089117372113189552471299882179318495941340848635543559282554154143966222474108650534722761879986792764491352005936913464604012501534147740854669330624784413953676728621086482099747688505877895873636762312880388981061851747524677160286388007039284583068585271019310976728451365646115568202492275395322142208784493320032496351343961863145658562031398380772757141315702200557837626899555519770505892157827224108802772604229331292555114623699423772700895875076802839178894348428315336976655937702663124478334206383188728471667415479327923724829405284934052263949322468424526417766259022623180692382855614310651657359417720592138163677911464646500478084862157936021824747822301922628040917038630276343913313234220152532038386675397678668357592933836920382945213465719539752613441161788399507503008782228680492831502601365914620943165861282165747992678528905896995856345558832088240366363415594810838613259107067735351571011868523232562991823131214425118136683392449790543826493482207927043491863449248296852727956564014998069413483591002699419401594718148567517544416071007606328149420789948404 101789257365330602403863445674163133155799753134097136413630381521095333989774738704518525607635217293940873185884717289424707451695133460597887640237794502417557530029191575758426585700739773749286006767034509480961011145739251549808437127885769968924865155358268512664258372398334465348075713806355700441119256306721959880840801091141073981207535899286892511712954465865179761650942738021055371723596550065809043643636805997248632435578533814731954322491637315575027800225628951140146154955146348485236102843158656705318774624511230550921975398289491993841600706140247237291901121603582280424783221440762515518099740970121613940464918529930572640155414026226872354064579511140539093817543332467110671546658585425705106144137532344905057092597644643939571959994845934999757806625969832691772051249183974990335687901301853824972557458704367145135631459731222076139503481700410084810786588604612941491153133572636094514507570599161563932639761121524581485792073600922338300942185860641482495341325496139516454920780386235722882121684616081831345415620763893895195708227668558120094060061577131405019665089123549041245428769022827908754113672085223515862751882579915884713386992932467818911674340619451788895087042916572761181715816516850022841788794753376305298058852238851539366156345092208788897012211048387346877975348783460281898971500213862288268592922384193169398740867945429790357813894325090335254659235449607467418009250126887003262690736618049430399267929262234919099087406291151966607 164698478106715487246797772107783337885563330908142232049388868755381366643573477350585771282195637813645088779446589682969652211489578270817194777823582552824818549012686334456684332823059305363688259255853541285378455262313403932761109070179243350310980731012417855824581655475794286014818823356736729310130483125426681109694799710611204454452885891272406066162119293410964300179957627965747580584897427154926415756826358468548514614897029756072802958035196598129181944191851425248796689677908228472028867334510662642232239228523732085069716252958822618626014659816975858378383221351270786302679095077524828398488722031973361465142078816318579679439997094812143373375556239591904739933111534959386066868800794210198426176633883688866920238256206675337952732751987250701958364463596732247291821755076132817559796704074458054303850013818990844559404160627097152942342660594758513126123565260550644154277611906842477703236042266577043260563485950929866419844337550244806725468603626900505118522017878995130765572437745653443474259848293993295991916098848756053131730052416380422016688102494170035296009002436783261397960807409503306432782029678157352783134827793381604253139606373629607311181843628234017575579874419174127096336759682711305007536787431905211195054708584410371454396711455624383707850824307494414613326919795328805131534492036993502693711059067585619189284694438911998284857386188539583551511963406171482416078663610478005962110138212767578966785473678305926705415555711941915011 266487735472046089650661217781946471041363084042239368463019250276476700633348216055104296889830855107585961965331306972394359663184711731415082418061377055242376079041877910215110918523799079112974266022888050766339466408052655482569546198065013319235845886370686368488840027874128751362894537163092429751249739432148640990535600801752278435660421790559298577875073759276144061830900365986802952308493977220735459400463164465797147050475563570804757280526833913704209744417480376388942844633054576957264970177669319347551013853034962635991691651248314612467615365957223095670284342954853066727462316518287343916588463002094975405606997346249152319595411121039015727440135750732443833750654867426496738415459379635903532320771416033771977330853851319277524692746833185701716171089566564939063873004260107807895484605376311879276407472523357989695035620358319229081846142295168597936910153865163585645430745479478572217743612865738607193203247072454447905636411151167145026410789487541987613863343375134647220493218131889166356381532910075127337331719612649948327438280084938542110748164071301440315674091560332302643389576432331215186895701763380868645886710373297488966526599306097426222856184247685806470666917335746888278052576199561327849325582185281516493113560823261910820553056547833172604863035355881761491302268578789087030505992250855790962303981451778788588025562384341788642671280513629918806171198855778949834087913737365009224800874830817009366053402940540845804502962003093881618 431186213578761576897458989889729808926926414950381600512408119031858067276921693405690068172026492921231050744777896655364011874674290002232277195884959608067194628054564244671795251346858384476662525278741592051717921670366059415330655268244256669546826617383104224313421683349923037377713360519829159061380222557575322100230400512363482890113307681831704644037193052687108362010857993952550532893391404375661875157289522934345661665372593326877560238562030511833391688609331801637739534310962805429293837512179981989783253081558694721061407904207137231093630025774198954048667564306123853030141411595812172315077185034068336870749076162567731999035408215851159100815691990324348573683766402385882805284260173846101958497405299722638897569110057994615477425498820436403674535553163297186355694759336240625455281309450769933580257486342348834254439780985416382024188802889927111063033719125714229799708357386321049920979655132315650453766733023384314325480748701411951751879393114442492732385361254129777986065655877542609830641381204068423329247818461406001459168332501318964127436266565471475611683093997115564041350383841834521619677731441538221429021538166679093219666205679727033534038027875919824046246791754921015374389335882272632856862369617186727688168269407672282274949768003457556312713859663376176104629188374117892162040484287849293656015040519364407777310256823253786927528666702169502357683162261950432250166577347843015186911013043584588332838876618846772509918517715035796629 697673949050807666548120207671676279968289498992620968975427369308334767910269909460794365061857348028817012710109203627758371537859001733647359613946336663309570707096442154886906169870657463589636791301629642818057388078418714897900201466309269988782672503753790592802261711224051788740607897682921588812629961989723963090766001314115761325773729472391003221912266811963252423841758359939353485201885381596397334557752687400142808715848156897682317519088864425537601433026812178026682378944017382386558807689849301337334266934593657357053099555455451843561245391731422049718951907260976919757603728114099516231665648036163312276356073508816884318630819336890174828255827741056792407434421269812379543699719553482005490818176715756410874899963909313893002118245653622105390706642729862125419567763596348433350765914827081812856664958865706823949475401343735611106034945185095708999943872990877815445139102865799622138723267998054257646969980095838762231117159852579096778290182601984480346248704629264425206558874009431776187022914114143550666579538074055949786606612586257506238184430636772915927357185557447866684739960274165736806573433204919090074908248539976582186192804985824459756894212123605630516913709090667903652441912081833960706187951802468244181281830230934193095502824551290728917576895019257937595931456952906979192546476538705084618319021971143196365335819207595575570199947215799421163854361117729382084254491085208024411711887874401597698892279559387618314421479718129678247 1128860162629569243445579197561406088895215913943002569487835488340192835187191602866484433233883840950048063454887100283122383412533291735879636809831296271376765335151006399558701421217515848066299316580371234869775309748784774313230856734553526658329499121136894817115683394573974826118321258202750747874010184547299285190996401826479244215887037154222707865949459864650360785852616353891904018095276785972059209715042210334488470381220750224559877757650894937370993121636143979664421913254980187815852645202029283327117520016152352078114507459662589074654875417505621003767619471567100772787745139709911688546742833070231649147105149671384616317666227552741333929071519731381140981118187672198262348983979727328107449315582015479049772469073967308508479543744474058509065242195893159311775262522932589058806047224277851746436922445208055658203915182329151993130223748075022820062977592116592045244847460252120672059702923130369908100736713119223076556597908553991048530169575716426973078634065883394203192624529886974386017664295318211973995827356535461951245774945087576470365620697202244391539040279554563430726090344116000258426251164646457311503929786706655675405859010665551493290932239999525454563160500845588919026831247964106593563050321419654971869450099638606475370452592554748285230290754682634113700560645327024871354586960826554378274334062490507604142646076030849362497728613917968923521537523379679814334421068433051039598622900917986186031731156178234390824339997433165474876 1826534111680376909993699405233082368863505412935623538463262857648527603097461512327278798295741188978865076164996303910880754950392293469526996423777632934686336042247448554445607591088173311655936107882000877687832697827203489211131058200862796647112171624890685409917945105798026614858929155885672336686640146537023248281762403140595005541660766626613711087861726676613613209694374713831257503297162167568456544272794897734631279097068907122242195276739759362908594554662956157691104292198997570202411452891878584664451786950746009435167607015118040918216120809237043053486571378828077692545348867824011204778408481106394961423461223180201500636297046889631508757327347472437933388552608942010641892683699280810112940133758731235460647369037876622401481661990127680614455948838623021437194830286528937492156813139104933559293587404073762482153390583672887604236258693260118529062921465107469860689986563117920294198426191128424165747706693215061838787715068406570145308459758318411453424882770512658628399183403896406162204687209432355524662406894609517901032381557673833976603805127839017307466397465112011297410830304390165995232824597851376401578838035246632257592051815651375953047826452123131085080074209936256822679273160045940554269238273222123216050731929869540668465955417106039014147867649701892051296492102279931850547133437365259462892653084461650800507981895238444938067928561133768344685391884497409196418675559518259064010334788792387783730623435737622009138761477151295153123 2955394274309946153439278602794488457758721326878626107951098345988720438284653115193763231529625029928913139619883404194003138362925585205406633233608929206063101377398454954004309012305689159722235424462372112557608007575988263524361914935416323305441670746027580227033628500372001440977250414088423084560650331084322533472758804967074249757547803780836418953811186541263973995546991067723161521392438953540515753987837108069119749478289657346802073034390654300279587676299100137355526205453977758018264098093907867991569306966898361513282114474780629992870996226742664057254190850395178465333094007533922893325151314176626610570566372851586116953963274442372842686398867203819074369670796614208904241667679008138220389449340746714510419838111843930909961205734601739123521191034516180748970092809461526550962860363382785305730509849281818140357305766002039597366482441335141349125899057224061905934834023370040966258129114258794073848443406334284915344312976960561193838629334034838426503516836396052831591807933783380548222351504750567498658234251144979852278156502761410446969425825041261699005437744666574728136920648506166253659075762497833713082767821953287932997910826316927446338758692122656539643234710781845741706104408010047147832288594641778187920182029508147143836408009660787299378158404384526164997052747606956721901720398191813841166987146952158404650627971269294300565657175051737268206929407877089010753096627951310103608957689710373969762354591915856399963101474584460627999 4781928385990323063432978008027570826622226739814249646414361203637248041382114627521042029825366218907778215784879708104883893313317878674933629657386562140749437419645903508449916603393862471378171532344372990245440705403191752735492973136279119952553842370918265636951573606170028055836179569974095421247290477621345781754521208107669255299208570407450130041672913217877587205241365781554419024689601121108972298260632005803751028575358564469044268311130413663188182230962056295046630497652975328220675550985786452656021093917644370948449721489898670911087117035979707110740762229223256157878442875357934098103559795283021571994027596031787617590260321332004351443726214676257007758223405556219546134351378288948333329583099477949971067207149720553311442867724729419737977139873139202186164923095990464043119673502487718865024097253355580622510696349674927201602741134595259878188820522331531766624820586487961260456555305387218239596150099549346754132028045367131339147089092353249879928399606908711459990991337679786710427038714182923023320641145754497753310538060435244423573230952880279006471835209778586025547750952896332248891900360349210114661605857199920190589962641968303399386585144245787624723308920718102564385377568055987702101526867863901403970913959377687812302363426766826313526026054086418216293544849886888572448853835557073304059640231413809205158609866507739238633585736185505612892321292374498207171772187469569167619292478502761753492978027653478409101862951735755781122 7737322660300269216872256610822059284380948066692875754365459549625968479666767742714805261354991248836691355404763112298887031676243463880340262890995491346812538797044358462454225615699551631100406956806745102803048712979180016259854888071695443257995513116945845863985202106542029496813429984062518505807940808705668315227280013074743505056756374188286548995484099759141561200788356849277580546082040074649488052248469113872870778053648221815846341345521067963467769907261156432402156703106953086238939649079694320647590400884542732461731835964679300903958113262722371167994953079618434623211536882891856991428711109459648182564593968883373734544223595774377194130125081880076082127894202170428450376019057297086553719032440224664481487045261564484221404073459331158861498330907655382935135015905451990594082533865870504170754607102637398762868002115676966798969223575930401227314719579555593672559654609858002226714684419646012313444593505883631669476341022327692532985718426388088306431916443304764291582799271463167258649390218933490521978875396899477605588694563196654870542656777921540705477272954445160753684671601402498502550976122847043827744373679153208123587873468285230845725343836368444164366543631499948306091481976066034849933815462505679591891095988885834956138771436427613612904184458470944381290597597493845294350574233748887145226627378365967609809237837777033539199242911237242881099250700251587217924868815420879271228250168213135723255332619569334809064964426320216409121 12519251046290592280305234618849630111003174806507125400779820753263216521048882370235847291180357467744469571189642820403770924989561342555273892548382053487561976216690261970904142219093414102478578489151118093048489418382371768995347861207974563210549355487864111500936775712712057552649609554036613927055231286327014096981801221182412760355964944595736679037157012977019148406029722630831999570771641195758460350509101119676621806629006786284890609656651481626655952138223212727448787200759928414459615200065480773303611494802187103410181557454577971815045230298702078278735715308841690781089979758249791089532270904742669754558621564915161352134483917106381545573851296556333089886117607726647996510370435586034887048615539702614452554252411285037532846941184060578599475470780794585121299939001442454637202207368358223035778704355992979385378698465351894000571964710525661105503540101887125439184475196345963487171239725033230553040743605432978423608369067694823872132807518741338186360316050213475751573790609142953969076428933116413545299516542653975358899232623631899294115887730801819711949108164223746779232422554298830751442876483196253942405979536353128314177836110253534245111928980614231789089852552218050870476859544122022552035342330369580995862009948263522768441134863194439926430210512557362597584142447380733866799428069305960449286267609779776814967847704284772777832828647422748493991571992626085425096641002890448438847542646715897476748310647222813218166827378055972190243 20256573706590861497177491229671689395384122873200001155145280302889185000715650112950652552535348716581160926594405932702657956665804806435614155439377544834374515013734620433358367834792965733578985445957863195851538131361551785255202749279670006468544868604809957364921977819254087049463039538099132432863172095032682412209081234257156265412721318784023228032641112736160709606818079480109580116853681270407948402757570233549492584682655008100736951002172549590123722045484369159850943903866881500698554849145175093951201895686729835871913393419257272719003343561424449446730668388460125404301516641141648080960982014202317937123215533798535086678707512880758739703976378436409172014011809897076446886389492883121440767647979927278934041297672849521754251014643391737460973801688449968056434954906894445231284741234228727206533311458630378148246700581028860799541188286456062332818259681442719111744129806203965713885924144679242866485337111316610093084710090022516405118525945129426492792232493518240043156589880606121227725819152049904067278391939553452964487927186828554164658544508723360417426381118668907532917094155701329253993852606043297770150353215506336437765709578538765090837272816982675953456396183717999176568341520188057401969157792875260587753105937149357724579906299622053539334394971028306978874740044874579161150002303054847594512894988145744424777085542061806317032071558659991375090822692877672643021509818311327710075792814929033200003643266792148027231791804376188599364 32775824752881453777482725848521319506387297679707126555925101056152401521764532483186499843715706184325630497784048753106428881655366148990888047987759598321936491230424882404262510053886379836057563935108981288900027549743923554250550610487644569679094224092674068865858753531966144602112649092135746359918403381359696509190882455439569025768686263379759907069798125713179858012847802110941579687625322466166408753266671353226114391311661794385627560658824031216779674183707581887299731104626809915158170049210655867254813390488916939282094950873835244534048573860126527725466383697301816185391496399391439170493252918944987691681837098713696438813191429987140285277827674992742261900129417623724443396759928469156327816263519629893386595550084134559287097955827452316060449272469244553177734893908336899868486948602586950242312015814623357533625399046380754800113152996981723438321799783329844550928605002549929201057163869712473419526080716749588516693079157717340277251333463870764679152548543731715794730380489749075196802248085166317612577908482207428323387159810460453458774432239525180129375489282892654312149516710000160005436729089239551712556332751859464751943545688792299335949201797596907742546248735936050047045201064310079954004500123244841583615115885412880493021041162816493465764605483585669576458882492255313027949430372360808043799162597925521239744933246346579094864900206082739869082394685503758068118150821201776148923335461644930676751953914014961245398619182432160789607 53032398459472315274660217078193008901771420552907127711070381359041586522480182596137152396251054900906791424378454685809086838321170955426502203427137143156311006244159502837620877888679345569636549381066844484751565681105475339505753359767314576147639092697484026230780731351220231651575688630234878792781575476392378921399963689696725291181407582163783135102439238449340567619665881591051159804479003736574357156024241586775606975994316802486364511660996580806903396229191951047150675008493691415856724898355830961206015286175646775154008344293092517253051917421550977172197052085761941589693013040533087251454234933147305628805052632512231525491898942867899024981804053429151433914141227520800890283149421352277768583911499557172320636847756984081041348970470844053521423074157694521234169848815231345099771689836815677448845327273253735681872099627409615599654341283437785771140059464772563662672734808753894914943088014391716286011417828066198609777789247739856682369859409000191171944781037249955837886970370355196424528067237216221679856300421760881287875086997289007623432976748248540546801870401561561845066610865701489259430581695282849482706685967365801189709255267331064426786474614579583696002644919654049223613542584498137355973657916120102171368221822562238217600947462438547005099000454613976555333622537129892189099432675415655638312057586071265664522018788408385411896971764742731244173217378381430711139660639513103858999128276573963876755597180807109272630410986808349388971 85808223212353769052142942926714328408158718232614254266995482415193988044244715079323652239966761085232421922162503438915515719976537104417390251414896741478247497474584385241883387942565725405694113316175825773651593230849398893756303970254959145826733316790158095096639484883186376253688337722370625152699978857752075430590846145136294316950093845543543042172237364162520425632513683701992739492104326202740765909290912940001721367305978596871992072319820612023683070412899532934450406113120501331014894947566486828460828676664563714436103295166927761787100491281677504897663435783063757775084509439924526421947487852092293320486889731225927964305090372855039310259631728421893695814270645144525333679909349821434096400175019187065707232397841118640328446926298296369581872346626939074411904742723568244968258638439402627691157343087877093215497498673790370399767494280419509209461859248102408213601339811303824116000251884104189705537498544815787126470868405457196959621192872870955851097329580981671632617350860104271621330315322382539292434208903968309611262246807749461082207408987773720676177359684454216157216127575701649264867310784522401195263018719225265941652800956123363762735676412176491438548893655590099270658743648808217309978158039364943754983337707975118710621988625255040470863605938199646131792505029385205217048863047776463682111220183996786904266952034754964506761871970825471113255612063885188779257811460714880007922463738218894553507551094822070518029030169240510178578 138840621671826084326803160004907337309930138785521381978065863774235574566724897675460804636217815986139213346540958124724602558297708059843892454842033884634558503718743888079504265831245070975330662697242670258403158911954874233262057330022273721974372409487642121327420216234406607905264026352605503945481554334144454351990809834833019608131501427707326177274676602611860993252179565293043899296583329939315123065315154526777328343300295399358356583980817192830586466642091483981601081121614192746871619845922317789666843962840210489590111639460020279040152408703228482069860487868825699364777522480457613673401722785239598949291942363738159489796989315722938335241435781851045129728411872665326223963058771173711864984086518744238027869245598102721369795896769140423103295420784633595646074591538799590068030328276218305140002670361130828897369598301199985999421835563857294980601918712874971876274074620057719030943339898495905991548916372881985736248657653197053641991052281871147023042110618231627470504321230459468045858382559598760972290509325729190899137333805038468705640385736022261222979230086015778002282738441403138524297892479805250677969704686591067131362056223454428189522151026756075134551538575244148494272286233306354665951815955485045926351559530537356928222936087693587475962606392813622687126127566515097406148295723192119320423277770068052568788970823163349918658843735568202357428829442266619490397472100227983866921592014792858430263148275629179790659441156048859567549 224648844884179853378946102931621665718088857018135636245061346189429562610969612754784456876184577071371635268703461563640118278274245164261282706256930626112806001193328273321387653773810796381024776013418496032054752142804273127018361300277232867801105726277800216424059701117592984158952364074976129098181533191896529782581655979969313925081595273250869219446913966774381418884693248995036638788687656142055888974606067466779049710606273996230348656300637804854269537054991016916051487234734694077886514793488804618127672639504774204026214934626948040827252899984905986967523923651889457139862031920382140095349210637331892269778832094964087454102079688577977645501067510272938825542682517809851557642968120995145961384261537931303735101643439221361698242823067436792685167767411572670057979334262367835036288966715620932831160013449007922112867096974990356399189329844276804190063777960977380089875414431361543146943591782600095697086414917697772862719526058654250601612245154742102874139440199213299103121672090563739667188697881981300264724718229697500510399580612787929787847794723795981899156589770469994159498866017104787789165203264327651873232723405816333073014857179577791952257827438932566573100432230834247764931029882114571975929973994849989681334897238512475638844924712948627946826212331013268818918632595900302623197158770968583002534497954064839473055922857918314425420715706393673470684441506151808269655283560942863874844055753011752983770699370451250308688471325289369746127 363489466556005937705749262936529003028018995803657018223127209963665137177694510430245261512402393057510848615244419688364720836571953224105175161098964510747364504912072161400891919605055867356355438710661166290457911054759147360280418630299506589775478135765442337751479917351999592064216390427581633043663087526040984134572465814802333533213096700958195396721590569386242412136872814288080538085270986081371012039921221993556378053906569395588705240281454997684856003697082500897652568356348886824758134639411122407794516602344984693616326574086968319867405308688134469037384411520715156504639554400839753768750933422571491219070774458702246943899069004300915980742503292123983955271094390475177781606026892168857826368348056675541762970889037324083068038719836577215788463188196206265704053925801167425104319294991839237971162683810138751010236695276190342398611165408134099170665696673852351966149489051419262177886931681096001688635331290579758598968183711851304243603297436613249897181550817444926573625993321023207713047080441580061237015227555426691409536914417826398493488180459818243122135819856485772161781604458507926313463095744132902551202428092407400204376913403032220141779978465688641707651970806078396259203316115420926641881789950335035607686456769049832567067860800642215422788818723826891506044760162415400029345454494160702322957775724132892041844893681081664344079559441961875828113270948418427760052755661170847741765647767804611414033847646080430099347912481338229313676 588138311440185791084695365868150668746107852821792654468188556153094699788664123185029718388586970128882483883947881252004839114846198388366457867355895136860170506105400434722279573378866663737380214724079662322512663197563420487298779930576739457576583862043242554175539618469592576223168754502557762141844620717937513917154121794771647458294691974209064616168504536160623831021566063283117176873958642223426901014527289460335427764512843391819053896582092802539125540752073517813704055591083580902644649432899927025922189241849758897642541508713916360694658208673040456004908335172604613644501586321221893864100144059903383488849606553666334398001148692878893626243570802396922780813776908285029339248995013164003787752609594606845498072532476545444766281542904014008473630955607778935762033260063535260140608261707460170802322697259146673123103792251180698797800495252410903360729474634829732056024903482780805324830523463696097385721746208277531461687709770505554845215542591355352771320991016658225676747665411586947380235778323561361501739945785124191919936495030614328281335975183614225021292409626955766321280470475612714102628299008460554424435151498223733277391770582610012094037805904621208280752403036912644024134345997535498617811763945185025289021354007562308205912785513590843369615031054840160324963392758315702652542613265129285325492273678197731514900816538999978769500275148355549298797712454570236029708039222113711616609703520816364397804547016531680408036383806627599059803 951627777996191728790444628804679671774126848625449672691315766116759836966358633615274979900989363186393332499192300940369559951418151612471633028454859647607535011017472596123171492983922531093735653434740828612970574252322567847579198560876246047352061997808684891927019535821592168287385144930139395185507708243978498051726587609573980991507788675167260012890095105546866243158438877571197714959229628304797913054448511453891805818419412787407759136863547800223981544449156018711356623947432467727402784072311049433716705844194743591258868082800884680562063517361174925042292746693319770149141140722061647632851077482474874707920381012368581341900217697179809606986074094520906736084871298760207120855021905332861614120957651282387261043421513869527834320262740591224262094143803985201466087185864702685244927556699299408773485381069285424133340487527371041196411660660545002531395171308682084022174392534200067502717455144792099074357077498857290060655893482356859088818840027968602668502541834103152250373658732610155093282858765141422738755173340550883329473409448440726774824155643432468143428229483441538483062074934120640416091394752593456975637579590631133481768683985642232235817784370309849988404373842991040283337662112956425259693553895520060896707810776612140772980646314233058792403849778667051831008152920731102681888067759289987648450049402330623556745710220081643113579834590317425126910983402988663789760794883284559358375351288620975811838394662612110507384296287965828373479 1539766089436377519875139994672830340520234701447242327159504322269854536755022756800304698289576333315275816383140182192374399066264350000838090895810754784467705517122873030845451066362789194831115868158820490935483237449885988334877978491452985504928645859851927446102559154291184744510553899432697157327352328961916011968880709404345628449802480649376324629058599641707490074180004940854314891833188270528224814068975800914227233582932256179226813033445640602763107085201229536525060679538516048630047433505210976459638895086044502488901409591514801041256721726034215381047201081865924383793642727043283541496951221542378258196769987566034915739901366390058703233229644896917829516898648207045236460104016918496865401873567245889232759115953990414972600601805644605232735725099411764137228120445928237945385535818406759579575808078328432097256444279778551739994212155912955905892124645943511816078199296016980872827547978608488196460078823707134821522343603252862413934034382619323955439823532850761377927121324144197102473518637088702784240495119125675075249409904479055055056160130827046693164720639110397304804342545409733354518719693761054011400072731088854866759160454568252244329855590274931058269156776879903684307472008110491923877505317840705086185729164784174448978893431827823902162018880833507212155971545679046805334430681024419272973942323080528355071646526759081621883080109738672974425708695857558899819468834105398270974985054809437340209642941679143790915420680094593427433282 2491393867432569248665584623477510012294361550072691999850820088386614373721381390415579678190565696501669148882332483132743959017682501613309723924265614432075240528140345626968622559346711725924851521593561319548453811702208556182457177052329231552280707857660612338029578690112776912797939044362836552512860037205894510020607297013919609441310269324543584641948694747254356317338443818425512606792417898833022727123424312368119039401351668966634572170309188402987088629650385555236417303485948516357450217577522025893355600930239246080160277674315685721818785243395390306089493828559244153942783867765345189129802299024853132904690368578403497081801584087238512840215718991438736252983519505805443580959038823829727015994524897171620020159375504284500434922068385196456997819243215749338694207631792940630630463375106058988349293459397717521389784767305922781190623816573500908423519817252193900100373688551180940330265433753280295534435901205992111582999496735219273022853222647292558108326074684864530177494982876807257566801495853844206979250292466225958578883313927495781830984286470479161308148868593838843287404620343853994934811088513647468375710310679486000240929138553894476565673374645240908257561150722894724590809670223448349137198871736225147082436975560786589751874078142056960954422730612174263986979698599777908016318748783709260622392372482858978628392236979163264996659944328990399552619679260547563609229628988682830333360406098058316021481336341755901422804976382559255806761 4031159956868946768540724618150340352814596251519934327010324410656468910476404147215884376480142029816944965265472665325118358083946851614147814820076369216542946045263218657814073625709500920755967389752381810483937049152094544517335155543782217057209353717512539784132137844403961657308492943795533709840212366167810521989488006418265237891112749973919909271007294388961846391518448759279827498625606169361247541192400113282346272984283925145861385203754829005750195714851615091761477983024464564987497651082733002352994496016283748569061687265830486763075506969429605687136694910425168537736426594808628730626753520567231391101460356144438412821702950477297216073445363888356565769882167712850680041063055742326592417868092143060852779275329494699473035523874029801689733544342627513475922328077721178576015999193512818567925101537726149618646229047084474521184835972486456814315644463195705716178572984568161813157813412361768491994514724913126933105343099988081686956887605266616513548149607535625908104616307021004360040320132942546991219745411591901033828293218406550836887144417297525854472869507704236148091747165753587349453530782274701479775783041768340867000089593122146720895528964920171966526717927602798408898281678333940273014704189576930233268166140344961038730767509969880863116441611445681476142951244278824713350749429808128533596334695563387333700038763738244886879740054067663373978328375118106463428698463094081101308345460907495656231124278020899692338225656477152683240043 6522553824301516017206309241627850365108957801592626326861144499043083284197785537631464054670707726318614114147805148457862317101629353227457538744341983648618186573403564284782696185056212646680818911345943130032390860854303100699792332596111448609490061575173152122161716534516738570106431988158370262353072403373705032010095303432184847332423019298463493912955989136216202708856892577705340105418024068194270268315824425650465312385635594112495957374064017408737284344502000646997895286510413081344947868660255028246350096946522994649221964940146172484894292212824995993226188738984412691679210462573973919756555819592084524006150724722841909903504534564535728913661082879795302022865687218656123622022094566156319433862617040232472799434704998983973470445942414998146731363585843262814616535709514119206646462568618877556274394997123867140036013814390397302375459789059957722739164280447899616278946673119342753488078846115048787528950626119119044688342596723300959979740827913909071656475682220490438282111289897811617607121628796391198198995704058126992407176532334046618718128703768005015781018376298074991379151786097441344388341870788348948151493352447826867241018731676041197461202339565412874784279078325693133489091348557388622151903061313155380350603115905747628482641588111937824070864342057855740129930942878602621367068178591837794218727068046246312328431000717408151876399998396653773530948054378654027037928092082763931641705867005553972252605614362655593761030632859711939046804 10553713781170462785747033859778190717923554053112560653871468909699552194674189684847348431150849756135559079413277813782980675185576204841605353564418352865161132618666782942596769810765713567436786301098324940516327910006397645217127488139893665666699415292685691906293854378920700227414924931953903972193284769541515553999583309850450085223535769272383403183963283525178049100375341336985167604043630237555517809508224538932811585369919519258357342577818846414487480059353615738759373269534877646332445519742988030599344592962806743218283652205976659247969799182254601680362883649409581229415637057382602650383309340159315915107611080867280322725207485041832944987106446768151867792747854931506803663085150308482911851730709183293325578710034493683446505969816444799836464907928470776290538863787235297782662461762131696124199496534850016758682242861474871823560295761546414537054808743643605332457519657687504566645892258476817279523465351032245977793685696711382646936628433180525585204625289756116346386727596918815977647441761738938189418741115650028026235469750740597455605273121065530870253887884002311139470898951851028693841872653063050427927276394216167734241108324798187918356731304485584841310997005928491542387373026891328895166607250890085613618769256250708667213409098081818687187305953503537216272882187157427334717817608399966327815061763609633646028469764455653038756140052464317147509276429496760490466626555176845032950051327913049628483729892383555286099256289336864622286847 17076267605471978802953343101406041083032511854705186980732613408742635478871975222478812485821557482454173193561082962240842992287205558069062892308760336513779319192070347227379465995821926214117605212444268070548718770860700745916919820736005114276189476867858844028455570913437438797521356920112274234546357172915220586009678613282634932555958788570846897096919272661394251809232233914690507709461654305749788077824048964583276897755555113370853299951882863823224764403855616385757268556045290727677393388403243058845694689909329737867505617146122831732864091395079597673589072388393993921094847519956576570139865159751400439113761805590122232628712019606368673900767529647947169815613542150162927285107244874639231285593326223525798378144739492667419976415758859797983196271514314039105155399496749416989308924330750573680473891531973883898718256675865269125935755550606372259793973024091504948736466330806847320133971104591866067052415977151365022482028293434683606916369261094434656861100971976606784668838886816627595254563390535329387617736819708155018642646283074644074323401824833535886034906260300386130850050737948470038230214523851399376078769746663994601482127056474229115817933644050997716095276084254184675876464375448717517318510312203240993969372372156456295696050686193756511258170295561392956402813130036029956084885786991804122033788831655879958356900765173061190632540050860970921040224483875414517504554647259608964591757194918603600736335506746210879860286922196576561333651 27629981386642441588700376961184231800956065907817747634604082318442187673546164907326160916972407238589732272974360776023823667472781762910668245873178689378940451810737130169976235806587639781554391513542593011065046680867098391134047308875898779942888892160544535934749425292358139024936281852066178206739641942456736140009261923133085017779494557843230300280882556186572300909607575251675675313505284543305305887332273503516088483125474632629210642529701710237712244463209232124516641825580168374009838908146231089445039282872136481085789269352099490980833890577334199353951956037803575150510484577339179220523174499910716354221372886457402555353919504648201618887873976416099037608361397081669730948192395183122143137324035406819123956854773986350866482385575304597819661179442784815395694263283984714771971386092882269804673388066823900657400499537340140949496051312152786796848781767735110281193985988494351886779863363068683346575881328183611000275713990146066253852997694274960242065726261732723131055566483735443572902005152274267577036477935358183044878116033815241529928674945899066756288794144302697270320949689799498732072087176914449804006046140880162335723235381272417034174664948536582557406273090182676218263837402340046412485117563093326607588141628407164962909459784275575198445476249064930172675695317193457290802703395391770449848850595265513604385370529628714229388680103325288068549500913372175007971181202436453997541808522831653229220065399129766165959543211533441183620498 44706248992114420391653720062590272883988577762522934615336695727184823152418140129804973402793964721043905466535443738264666659759987320979731138181939025892719771002807477397355701802409565995671996725986861081613765451727799137050967129611903894219078369028403379963204996205795577822457638772178452441285999115371956726018940536415719950335453346414077197377801828847966552718839809166366183022966938849055093965156322468099365380881029746000063942481584574060937008867064848510273910381625459101687232296549474148290733972781466218953294886498222322713697981972413797027541028426197569071605332097295755790663039659662116793335134692047524787982631524254570292788641506064046207423974939231832658233299640057761374422917361630344922334999513479018286458801334164395802857450957098854500849662780734131761280310423632843485147279598797784556118756213205410075431806862759159056642754791826615229930452319301199206913834467660549413628297305334976022757742283580749860769366955369394898926827233709329915724405370552071168156568542809596964654214755066338063520762316889885604252076770732602642323700404603083401171000427747968770302301700765849180084815887544156937205362437746646149992598592587580273501549174436860894140301777788763929803627875296567601557514000563621258605510470469331709703646544626323129078508447229487246887589182383574571882639426921393562742271294801775420021220154186258989589725397247589525475735849696062962133565717750256829956400905875977045819830133730017744954149 72336230378756861980354097023774504684944643670340682249940778045627010825964305037131134319766371959633637739509804514288490327232769083890399384055117715271660222813544607567331937608997205777226388239529454092678812132594897528185014438487802674161967261188947915897954421498153716847393920624244630648025641057828692866028202459548804968114947904257307497658684385034538853628447384418041858336472223392360399852488595971615453864006504378629274585011286284298649253330274080634790552207205627475697071204695705237735773255653602700039084155850321813694531872549747996381492984464001144222115816674634935011186214159572833147556507578504927343336551028902771911676515482480145245032336336313502389181492035240883517560241397037164046291854287465369152941186909468993622518630399883669896543926064718846533251696516515113289820667665621685213519255750545551024927858174911945853491536559561725511124438307795551093693697830729232760204178633518587023033456273726816114622364649644355140992553495442053046779971854287514741058573695083864541690692690424521108398878350705127134180751716631669398612494548905780671491950117547467502374388877680298984090862028424319272928597819019063184167263541124162830907822264619537112404139180128810342288745438389894209145655628970786221514970254744906908149122793691253301754203764422944537690292577775345021731490022186907167127641824430489649409900257511547058139226310619764533446917052132516959675374240581910059176466305005743211779373345263458928574647 117042479370871282372007817086364777568933221432863616865277473772811833978382445166936107722560336680677543206045248252553156986992756404870130522237056741164379993816352084964687639411406771772898384965516315174292577584322696665235981568099706568381045630217351295861159417703949294669851559396423083089311640173200649592047142995964524918450401250671384695036486213882505406347287193584408041359439162241415493817644918439714819244887534124629338527492870858359586262197338929145064462588831086577384303501245179386026507228435068918992379042348544136408229854522161793409034012890198713293721148771930690801849253819234949940891642270552452131319182553157342204465156988544191452456311275545335047414791675298644891983158758667508968626853800944387439399988243633389425376081356982524397393588845452978294532006940147956774967947264419469769638011963750961100359665037671104910134291351388340741054890627096750300607532298389782173832475938853563045791198557307565975391731605013750039919380729151382962504377224839585909215142237893461506344907445490859171919640667595012738432828487364272040936194953508864072662950545295436272676690578446148164175677915968476210133960256765709334159862133711743104409371439056398006544440957917574272092373313686461810703169629534407480120480725214238617852769338317576430832712211652431784577881760158919593614129449108300729869913119232265069431120411697806047728951707867354058922652901828579921808939958332166889132867210881720257599203478993476673528796 189378709749628144352361914110139282253877865103204299115218251818438844804346750204067242042326708640311180945555052766841647314225525488760529906292174456436040216629896692532019577020403977550124773205045769266971389716917594193420996006587509242543012891406299211759113839202103011517245480020667713737337281231029342458075345455513329886565349154928692192695170598917044259975734578002449899695911385633775893670133514411330273108894038503258613112504157142658235515527613009779855014796036714053081374705940884623762280484088671619031463198198865950102761727071909789790526997354199857515836965446565625813035467978807783088448149849057379474655733582060114116141672471024336697488647611858837436596283710539528409543400155704673014918708088409756592341175153102383047894711756866194293937514910171824827783703456663070064788614930041154983157267714296512125287523212583050763625827910950066252179328934892301394301230129119014934036654572372150068824654831034382090014096254658105180911934224593436009284349079127100650273715932977326048035600135915380280318519018300139872613580203995941439548689502414644744154900662842903775051079456126447148266539944392795483062558075784772518327125674835905935317193703675935118948580138046384614381118752076356019848825258505193701635450979959145526001892132008829732586915976075376322268174337934264615345619471295207896997554943662754718841020669209353105868178018487118592369569953961096881484314198914076948309333515887463469378576824256935602103443 306421189120499426724369731196504059822811086536067915980495725591250678782729195371003349764887045320988724151600301019394804301218281893630660428529231197600420210446248777496707216431810749323023158170562084441263967301240290858656977574687215810924058521623650507620273256906052306187097039417090796826648921404229992050122488451477854805015750405600076887731656812799549666323021771586857941055350547875191387487778432851045092353781572627887951639997028001017821777724951938924919477384867800630465678207186064009788787712523740538023842240547410086510991581594071583199561010244398570809558114218496316614884721798042733029339792119609831605974916135217456320606829459568528149944958887404172484011075385838173301526558914372181983545561889354144031741163396735772473270793113848718691331103755624803122315710396811026839756562194460624752795279678047473225647188250254155673760119262338406993234219561989051694908762427508797107869130511225713114615853388341948065405827859671855220831314953744818971788726303966686559488858170870787554380507581406239452238159685895152611046408691360213480484884455923508816817851208138340047727770034572595312442217860361271693196518332550481852486987808547649039726565142732333125493021095963958886473492065762817830551994888039601181755931705173384143854661470326406163419628187727808106846056098093184208959748920403508626867468062895019788272141080907159153597129726354472651292222855789676803293254157246243837442200726769183726977780303250412275632239 495799898870127571076731645306643342076688951639272215095713977409689523587075945575070591807213753961299905097155353786236451615443807382391190334821405654036460427076145470028726793452214726873147931375607853708235357018157885052077973581274725053467071413029949719379387096108155317704342519437758510563986202635259334508197833906991184691581099560528769080426827411716593926298756349589307840751261933508967281157911947262375365462675611131146564752501185143676057293252564948704774492180904514683547052913126948633551068196612412157055305438746276036613753308665981372990088007598598428325395079665061942427920189776850516117787941968667211080630649717277570436748501930592864847433606499263009920607359096377701711069959070076854998464269977763900624082338549838155521165504870714912985268618665796627950099413853474096904545177124501779735952547392343985350934711462837206437385947173288473245413548496881353089209992556627812041905785083597863183440508219376330155419924114329960401743249178338254981073075383093787209762574103848113602416107717321619732556678704195292483659988895356154920033573958338153560972751870981243822778849490699042460708757804754067176259076408335254370814113483383554975043758846408268244441601234010343500854610817839173850400820146544794883391382685132529669856553602335235896006544163803184429114230436027448824305368391698716523865023006557774507113161750116512259465307744841591243661792809750773684777568356160320785751534242656647196356357127507347877735682 802221087990626997801101376503147401899500038175340131076209703000940202369805140946073941572100799282288629248755654805631255916662089276021850763350636851636880637522394247525434009884025476196171089546169938149499324319398175910734951155961940864391129934653600226999660353014207623891439558854849307390635124039489326558320322358469039496596849966128845968158484224516143592621778121176165781806612481384158668645690380113420457816457183759034516392498213144693879070977516887629693969565772315314012731120313012643339855909136152695079147679293686123124744890260052956189649017842996999134953193883558259042804911574893249147127734088277042686605565852495026757355331390161392997378565386667182404618434482215875012596517984449036982009831867118044655823501946573927994436297984563631676599722421421431072415124250285123744301739318962404488747827070391458576581899713091362111146066435626880238647768058870404784118754984136609149774915594823576298056361607718278220825751974001815622574564132083073952861801687060473769251432274718901156796615298727859184794838390090445094706397586716368400518458414261662377790603079119583870506619525271637773150975665115338869455594740885736223301101291931204014770323989140601369934622329974302387328102883601991680952815034584396065147314390305913813711215072661642059426172351530992535960286534120633033265117312102225150732491069452794295385302831023671413062437471196063894954015665540450488070822513406564623193734969425830923334137430757760153367921 1298020986860754568877833021809790743976188989814612346171923680410629725956881086521144533379314553243588534345911008591867707532105896658413041098172042505673341064598539717554160803336240203069319020921777791857734681337556060962812924737236665917858201347683549946379047449122362941595782078292607817954621326674748661066518156265460224188177949526657615048585311636232737518920534470765473622557874414893125949803602327375795823279132794890181081144999398288369936364230081836334468461746676829997559784033439961276890924105748564852134453118039962159738498198926034329179737025441595427460348273548620201470725101351743765264915676056944253767236215569772597194103833320754257844812171885930192325225793578593576723666477054525891980474101844881945279905840496412083515601802855278544661868341087218059022514538103759220648846916443464184224700374462735443927516611175928568548532013608915353484061316555751757873328747540764421191680700678421439481496869827094608376245676088331776024317813310421328933934877070154260979014006378567014759212723016049478917351517094285737578366386482072523320552032372599815938763354950100827693285469015970680233859733469869406045714671149220990594115214775314758989814082835548869614376223563984645888182713701441165531353635181129190948538697075438443483567768674996877955432716515334176965074516970148081857570485703800941674597514076010568802498464581140183672527745216037655138615808475291224172848390869566885408945269212082478119690494558265108031103603 2100242074851381566678934398312938145875689027989952477248133383411569928326686227467218474951415352525877163594666663397498963448767985934434891861522679357310221702120933965079594813220265679265490110467947730007234005656954236873547875893198606782249331282337150173378707802136570565487221637147457125345256450714237987624838478623929263684774799492786461016743795860748881111542312591941639404364486896277284618449292707489216281095589978649215597537497611433063815435207598723964162431312449145311572515153752973920230780014884717547213600797333648282863243089186087285369386043284592426595301467432178460513530012926637014412043410145221296453841781422267623951459164710915650842190737272597374729844228060809451736262995038974928962483933711999989935729342442986011510038100839842176338468063508639490094929662354044344393148655762426588713448201533126902504098510889019930659678080044542233722709084614622162657447502524901030341455616273245015779553231434812886597071428062333591646892377442504402886796678757214734748265438653285915916009338314777338102146355484376182673072784068788891721070490786861478316553958029220411563792088541242318007010709134984744915170265890106726817416316067245963004584406824689470984310845893958948275510816585043157212306450215713587013686011465744357297278983747658520014858888866865169501034803504268714890835603015903166825330005145463363097883767412163855085590182687233719033569824140831674660919213382973450032139004181508309043024631989022868184471524 3398263061712136135556767420122728889851878017804564823420057063822199654283567313988363008330729905769465697940577671989366670980873882592847932959694721862983562766719473682633755616556505882334809131389725521864968686994510297836360800630435272700107532630020700119757755251258933507083003715440064943299877777388986648691356634889389487872952749019444076065329107496981618630462847062707113026922361311170410568252895034865012104374722773539396678682497009721433751799437680560298630893059125975309132299187192935197121704120633282399348053915373610442601741288112121614549123068726187854055649740980798661984255114278380779676959086202165550221077996992040221145562998031669908687002909158527567055070021639403028459929472093500820942958035556881935215635182939398095025639903695120721000336404595857549117444200457803565041995572205890772938148575995862346431615122064948499208210093653457587206770401170373920530776250065665451533136316951666455261050101261907494973317104150665367671210190752925731820731555827368995727279445031852930675222061330826817019497872578661920251439170550861415041622523159461294255317312979321239257077557557212998240870442604854150960884937039327717411531530842560721994398489660238340598687069457943594163693530286484322743660085396842777962224708541182800780846752422655397970291605382199346466109320474416796748406088719704108499927519221473931900382231993304038758117927903271374172185632616122898833767604252540335441084273393590787162715126547287976215575127 5498505136563517702235701818435667035727567045794517300668190447233769582610253541455581483282145258295342861535244335386865634429641868527282824821217401220293784468840407647713350429776771561600299241857673251872202692651464534709908676523633879482356863912357850293136463053395504072570225352587522068645134228103224636316195113513318751557727548512230537082072903357730499742005159654648752431286848207447695186702187742354228385470312752188612276219994621154497567234645279284262793324371575120620704814340945909117352484135517999946561654712707258725464984377298208899918509112010780280650951208412977122497785127205017794089002496347386846674919778414307845097022162742585559529193646431124941784914249700212480196192467132475749905441969268881925151364525382384106535678004534962897338804468104497039212373862811847909435144227968317361651596777528989248935713632953968429867888173697999820929479485784996083188223752590566481874591933224911471040603332696720381570388532212998959318102568195430134707528234584583730475544883685138846591231399645604155121644228063038102924511954619650306762693013946322772571871271008541650820869646098455316247881151739838895876055202929434444228947846909806684998982896484927811582997915351902542439204346871527479955966535612556364975910720006927158078125736170313917985150494249064515967144123978685511639241691735607275325257524366937294998265999405467893843708110590505093205755456756954573494686817635513785473223277575099096205739758536310844400046651 8896768198275653837792469238558395925579445063599082124088247511055969236893820855443944491612875164064808559475822007376232305410515751120130757780912123083277347235559881330347106046333277443935108373247398773737171379645974832546269477154069152182464396542378550412894218304654437579653229068027587011945012005492211285007551748402708239430680297531674613147402010854712118372468006717355865458209209518618105754955082777219240489845035525728008954902491630875931319034082959844561424217430701095929837113528138844314474188256151282345909708628080869168066725665410330514467632180736968134706600949393775784482040241483398573765961582549552396895997775406348066242585160774255468216196555589652508839984271339615508656121939225976570848400004825763860366999708321782201561317908230083618339140872700354588329818063269651474477139800174208134589745353524851595367328755018916929076098267351457408136249886955370003719000002656231933407728250176577926301653433958627876543705636363664326989312758948355866528259790411952726202824328716991777266453460976430972141142100641700023175951125170511721804315537105784066827188583987862890077947203655668314488751594344693046836940139968762161640479377752367406993381386145166152181684984809846136602897877158011802699626621009399142938135428548109958858972488592969315955442099631263862433253444453102308387647780455311383825185043588411226898648231398771932601826038493776467377941089373077472328454421888054120914307550968689883368454885083598820615621778 14395273334839171540028171056994062961307012109393599424756437958289738819504074396899525974895020422360151421011066342763097939840157619647413582602129524303571131704400288978060456476110049005535407615105072025609374072297439367256178153677703031664821260454736400706030681358049941652223454420615109080590146233595435921323746861916026990988407846043905150229474914212442618114473166372004617889496057726065800941657270519573468875315348277916621231122486252030428886268728239128824217541802276216550541927869084753431826672391669282292471363340788127893531710042708539414386141292747748415357552157806752906979825368688416367854964078896939243570917553820655911339607323516841027745390202020777450624898521039827988852314406358452320753841974094645785518364233704166308096995912765046515677945340804851627542191926081499383912284028142525496241342131053840844303042387972885358943986441049457229065729372740366086907223755246798415282320183401489397342256766655348258114094168576663286307415327143786001235788024996536456678369212402130623857684860622035127262786328704738126100463079790162028567008551052106839399059854996404540898816849754123630736632746084531942712995342898196605869427224662174091992364282630093963764682900161748679042102224029539282655593156621955507914046148555037116937098224763283233940592593880328378400397568431787820026889472190918659150442567955348521896914230804239826445534149084281560583696546130032045823141239523567906387530828543788979574194643619909665015668429 23292041533114825377820640295552458886886457172992681548844685469345708056397895252343470466507895586424959980486888350139330245250673370767544340383041647386848478939960170308407562522443326449470515988352470799346545451943414199802447630831772183847285656997114951118924899662704379231876683488642696092535158239087647206331298610318735230419088143575579763376876925067154736486941173089360483347705267244683906696612353296792709365160383803644630186024977882906360205302811198973385641759232977312480379041397223597746300860647820564638381071968868997061598435708118869928853773473484716550064153107200528691461865610171814941620925661446491640466915329227003977582192484291096495961586757610429959464882792379443497508436345584428891602241978920409645885363942025948509658313820995130134017086213505206215872009989351150858389423828316733630831087484578692439670371142991802288020084708400914637201979259695736090626223757903030348690048433578067323643910200613976134657799804940327613296728086092141867764047815408489182881193541119122401124138321598466099403928429346438149276414204960673750371324088157890906226248438984267430976764053409791945225384340429224989549935482866958767509906602414541498985745668775260115946367884971594815645000101187551085355219777631354650852181577103147075796070713356252549896034693511592240833651012884890128414537252646230042975627611543759748795562462203011759047360187578058027961637635503109518151595661411622027301838379512478862942649528703508485631290207 37687314867953996917848811352546521848193469282386280973601123427635446875901969649242996441402916008785111401497954692902428185090830990414957922985171171690419610644360459286468018998553375455005923603457542824955919524240853567058625784509475215512106917451851351824955581020754320884100137909257805173125304472683083127655045472234762221407495989619484913606351839279597354601414339461365101237201324970749707638269623816366178240475732081561251417147464134936789091571539438102209859301035253529030920969266308351178127533039489846930852435309657124955130145750827409343239914766232464965421705265007281598441690978860231309475889740343430884037832883047659888921799807807937523706976959631207410089781313419271486360750751942881212356083953015055431403728175730114817755309733760176649695031554310057843414201915432650242301707856459259127072429615632533283973413530964687646964071149450371866267708632436102177533447513149828763972368616979556720986166967269324392771893973516990899604143413235927868999835840405025639559562753521253024981823182220501226666714758051176275376877284750835778938332639209997745625308293980671971875580903163915575962017086513756932262930825765155373379333827076715590978109951405354079711050785133343494687102325217090368010812934253310158766227725658184192733168938119535783836627287391920619234048581316677948441426724837148702126070179499108270692476693007251585492894336662339588545334181633141563974736900935189933689369208056267842516844172323418150646958636 60979356401068822295669451648098980735079926455378962522445808896981154932299864901586466907910811595210071381984843043041758430341504361182502263368212819077268089584320629594875581520996701904476439591810013624302464976184267766861073415341247399359392574448966302943880480683458700115976821397900501265660462711770730333986344082553497451826584133195064676983228764346752091088355512550725584584906592215433614334881977113158887605636115885205881603172442017843149296874350637075595501060268230841511300010663531948924428393687310411569233507278526122016728581458946279272093688239717181515485858372207810289903556589032046251096815401789922524504748212274663866503992292099034019668563717241637369554664105798714983869187097527310103958325931935465077289092117756063327413623554755306783712117767815264059286211904783801100691131684775992757903517100211225723643784673956489934984155857851286503469687892131838268159671271052859112662417050557624044630077167883300527429693778457318512900871499328069736763883655813514822440756294640375426105961503818967326070643187397614424653291489711509529309656727367888651851556732964939402852344956573707521187401426942981921812866308632114140889240429491257089963855620180614195657418670104938310332102426404641453366032711884664809618409302761331268529239651475788333732661980903512860067699594201568076855963977483378745101697791042868019488039155210263344540254524240397616506971817136251082126332562346811960991207587568746705459493701026926636278248843 98666671269022819213518263000645502583273395737765243496046932324616601808201834550829463349313727603995182783482797735944186615432335351597460186353383990767687700228681088881343600519550077359482363195267556449258384500425121333919699199850722614871499491900817654768836061704213021000076959307158306438785767184453813461641389554788259673234080122814549590589580603626349445689769852012090685822107917186183321973151600929525065846111847966767133020319906152779938388445890075177805360361303484370542220979929840300102555926726800258500085942588183246971858727209773688615333603005949646480907563637215091888345247567892277560572705142133353408542581095322323755425792099906971543375540676872844779644445419217986470229937849470191316314409884950520508692820293486178145168933288515483433407149322125321902700413820216451342992839541235251884975946715843759007617198204921177581948227007301658369737396524567940445693118784202687876634785667537180765616244135152624920201587751974309412505014912563997605763719496218540462000319048161628451087784686039468552737357945448790700030168774462345308247989366577886397476865026945611374727925859737623097149418513456738854075797134397269514268574256567972680941965571585968275368469455238281805019204751621731821376845646137974968384637028419515461262408589595324117569289268295433479301748175518246025297390702320527447227767970541976290180515848217514930033148860902737205052305998769392646101069463282001894680576795625014547976337873350344786925207479 159646027670091641509187714648744483318353322193144206018492741221597756740501699452415930257224539199205254165467640778985945045773839712779962449721596809844955789813001718476219182040546779263958802787077570073560849476609389100780772615191970014230892066349783957712716542387671721116053780705058807704446229896224543795627733637341757125060664256009614267572809367973101536778125364562816270407014509401616936308033578042683953451747963851973014623492348170623087685320240712253400861421571715212053520990593372249026984320414110670069319449866709368988587308668719967887427291245666827996393422009422902178248804156924323811669520543923275933047329307596987621929784392006005563044104394114482149199109525016701454099124946997501420272735816885985585981912411242241472582556843270790217119267089940585961986625725000252443683971226011244642879463816054984731260982878877667516932382865152944873207084416699778713852790055255546989297202718094804810246321303035925447631281530431627925405886411892067342527603152032055284441075342802003877193746189858435878808001132846405124683460264173854837557646093945775049328421759910550777580270816311330618336819940399720775888663443029383655157814686059229770905821191766582471025888125343220115351307178026373274742878358022639778003046331180846729791648241071112451301951249198946339369447769719814102153354679803906192329465761584844309668555003427778274573403385143134821559277815905643728227402025628813855671784383193761253435831574377271423203456322 258312698939114460722705977649389985901626717930909449514539673546214358548703534003245393606538266803200436948950438514930131661206175064377422636074980800612643490041682807357562782560096856623441165982345126522819233977034510434700471815042692629102391558250601612481552604091884742116130740012217114143231997080678357257269123192130016798294744378824163858162389971599450982467895216574906956229122426587800258281185178972209019297859811818740147643812254323403026073766130787431206221782875199582595741970523212549129540247140910928569405392454892615960446035878493656502760894251616474477300985646637994066594051724816601372242225686056629341589910402919311377355576491912977106419645070987326928843554944234687924329062796467692736587145701836506094674732704728419617751490131786273650526416412065907864687039545216703786676810767246496527855410531898743738878181083798845098880609872454603242944480941267719159545908839458234865931988385631985575862565438188550367832869282405937337910901324456064948291322648250595746441394390963632328281530875897904431545359078295195824713629038636200145805635460523661446805286786856162152308196676048953715486238453856459629964460577426653169426388942627202451847786763352550746394357580581501920370511929648105096119724004160614746387683359600362191054056830666436568871240517494379818671195945238060127450745382124433639557233732126820599849070851645293204606552246045872026611583814675036374328471488910815750352361178818775801412169447727616210128663801 417958726609206102231893692298134469219980040124053655533032414767812115289205233455661323863762806002405691114418079293916076706980014777157385085796577610457599279854684525833781964600643635887399968769422696596380083453643899535481244430234662643333283624600385570194269146479556463232184520717275921847678226976902901052896856829471773923355408634833778125735199339572552519246020581137723226636136935989417194589218757014892972749607775670713162267304602494026113759086371499684607083204446914794649262961116584798156524567555021598638724842321601984949033344547213624390188185497283302473694407656060896244842855881740925183911746229979905274637239710516298999285360883918982669463749465101809078042664469251389378428187743465194156859881518722491680656645115970661090334046975057063867645683502006493826673665270216956230360781993257741170734874347953728470139163962676512615812992737607548116151565357967497873398698894713781855229191103726790386108886741224475815464150812837565263316787736348132290818925800282651030882469733765636205475277065756340310353360211141600949397089302810054983363281554469436496133708546766712929888467492360284333823058394256180405853124020456036824584203628686432222753607955119133217420245705924722035721819107674478370862602362183254524390729690781208920845705071737549020173191766693326158040643714957874229604100061928339831886699493711664909517625855073071479179955631189006848170861630580680102555873514539629606024145562012537054848001022104887633332120123 676271425548320562954599669947524455121606758054963105047572088314026473837908767458906717470301072805606128063368517808846208368186189841534807721871558411070242769896367333191344747160740492510841134751767823119199317430678409970181716245277355272435675182850987182675821750571441205348315260729493035990910224057581258310165980021601790721650153013657941983897589311172003501713915797712630182865259362577217452870403935987101992047467587489453309911116856817429139832852502287115813304987322114377245004931639797347286064814695932527208130234776494600909479380425707280892949079748899776950995393302698890311436907606557526556153971916036534616227150113435610376640937375831959775883394536089136006886219413486077302757250539932886893447027220558997775331377820699080708085537106843337518172099914072401691360704815433660017037592760504237698590284879852472209017345046475357714693602610062151359096046299235217032944607734172016721161179489358775961971452179413026183297020095243502601227689060804197239110248448533246777323864124729268533756807941654244741898719289436796774110718341446255129168917014993097942938995333622875082196664168409238049309296848112640035817584597882689994010592571313634674601394718471683963814603286506223956092331037322583466982326366343869270778413050381571111899761902403985589044432284187705976711839660195934357054845444052773471443933225838485509366696706718364683786507877234878874782445445255716476884345003450445356376506740831312856260170469832503843460783924 1094230152157526665186493362245658924341586798179016760580604503081838589127114000914568041334063878808011819177786597102762285075166204618692192807668136021527842049751051859025126711761384128398241103521190519715579400884322309505662960675512017915768958807451372752870090897050997668580499781446768957838588451034484159363062836851073564645005561648491720109632788650744556020959936378850353409501396298566634647459622693001994964797075363160166472178421459311455253591938873786800420388191769029171894267892756382145442589382250954125846855077098096585858512724972920905283137265246183079424689800958759786556279763488298451740065718146016439890864389823951909375926298259750942445347144001190945084928883882737466681185438283398081050306908739281489455988022936669741798419584081900401385817783416078895518034370085650616247398374753761978869325159227806200679156509009151870330506595347669699475247611657202714906343306628885798576390370593085566348080338920637501998761170908081067864544476797152329529929174248815897808206333858494904739232085007410585052252079500578397723507807644256310112532198569462534439072703880389588012085131660769522383132355242368820441670708618338726818594796200000066897355002673590817181234848992430945991814150144997061837844928728527123795169142741162780032745466974141534609217624050881032134752483375153808586658945505981113303330632719550150418884322561791436162966463508423885722953307075836396579440218517990074962400652302843849911108171491937391476792904047 1770501577705847228141093032193183379463193556233979865628176591395865062965022768373474758804364951613617947241155114911608493443352394460227000529539694432598084819647419192216471458922124620909082238272958342834778718315000719475844676920789373188204633990302359935545912647622438873928815042176261993829498675092065417673228816872675355366655714662149662093530377961916559522673852176562983592366655661143852100330026628989096956844542950649619782089538316128884393424791376073916233693179091143549139272824396179492728654196946886653054985311874591186767992105398628186176086344995082856375685194261458676867716671094855978296219690062052974507091539937387519752567235635582902221230538537280081091815103296223543983942688823330967943753935959840487231319400757368822506505121188743738903989883330151297209395074901084276264435967514266216567915444107658672888173854055627228045200197957731850834343657956437931939287914363057815297551550082444342310051791100050528182058191003324570465772165857956526769039422697349144585530197983224173272988892949064829794150798790015194497618525985702565241701115584455632382011699214012463094281795829178760432441652090481460477488293216221416812605388771313701571956397392062501145049452278937169947906481182319645304827255094870993065947555791544351144645228876545520198262056335068738111464323035349742943713790950033886774774565945388635928251019268509800846752971385658764597735752521092113056324563521440520318777159043675162767368341961769895320253687971 2864731729863373893327586394438842303804780354412996626208781094477703652092136769288042800138428830421629766418941712014370778518518599078919193337207830454125926869398471051241598170683508749307323341794148862550358119199323028981507637596301391103973592797753732688416003544673436542509314823623030951668087126126549577036291653723748920011661276310641382203163166612661115543633788555413337001868051959710486747789649321991091921641618313809786254267959775440339647016730249860716654081370860172721033540717152561638171243579197840778901840388972687772626504830371549091459223610241265935800374995220218463423996434583154430036285408208069414397955929761339429128493533895333844666577682538471026176743987178961010665128127106729048994060844699121976687307423694038564304924705270644140289807666746230192727429444986734892511834342268028195437240603335464873567330363064779098375706793305401550309591269613640646845631220991943613873941920675529908658132130020688030180819361911405638330316642655108856298968596946165042393736531841719078012220977956475414846402878290593592221126333629958875354233314153918166821084403094402051106366927489948282815574007332850280919159001834560143631200184971313768469311400065653318326284301271368115939720631327316707142672183823398116861116698532707131177390695850687054807479680385949770246216806410503551530372736456015000078105198664938786347135341830301237009719434894082650320689059596928509635764782039430595281177811346519012678476513453707286797046592018 4635233307569221121468679426632025683267973910646976491836957685873568715057159537661517558942793782035247713660096826925979271961870993539146193866747524886724011689045890243458069629605633370216405580067107205385136837514323748457352314517090764292178226788056092623961916192295875416438129865799292945497585801218614994709520470596424275378316990972791044296693544574577675066307640731976320594234707620854338848119675950980188878486161264459406036357498091569224040441521625934632887774549951316270172813541548741130899897776144727431956825700847278959394496935770177277635309955236348792176060189481677140291713105678010408332505098270122388905047469698726948881060769530916746887808221075751107268559090475184554649070815930060016937814780658962463918626824451407386811429826459387879193797550076381489936824519887819168776270309782294412005156047443123546455504217120406326420906991263133401143934927570078578784919135355001429171493470757974250968183921120738558362877552914730208796088808513065383068008019643514186979266729824943251285209870905540244640553677080608786718744859615661440595934429738373799203096102308414514200648723319127043248015659423331741396647295050781560443805573742627470041267797457715819471333753550305285887627112509636352447499438918269109927064254324251482322035924727232575005741736721018508357681129445853294474086527406048886852879764610327422275386361098811037856472406279741414918424812118020622692089345560871115599954970390194175445844855415477182117300279989 7499965037432595014796265821070867987072754265059973118045738780351272367149296306949560359081222612456877480079038538940350050480389592618065387203955355340849938558444361294699667800289142119523728921861256067935494956713646777438859952113392155396151819585809825312377919736969311958947444689422323897165672927345164571745812124320173195389978267283432426499856711187238790609941429287389657596102759580564825595909325272971280800127779578269192290625457867009563687458251875795349541855920811488991206354258701302769071141355342568210858666089819966732021001766141726369094533565477614727976435184701895603715709540261164838368790506478191803303003399460066378009554303426250591554385903614222133445303077654145565314198943036789065931875625358084440605934248145445951116354531730032019483605216822611682664253964874554061288104652050322607442396650778588420022834580185185424796613784568534951453526197183719225630550356346945043045435391433504159626316051141426588543696914826135847126405451168174239366976616589679229373003261666662329297430848862015659486956555371202378939871193245620315950167743892291966024180505402816565307015650809075326063589666756182022315806296885341704075005758713941238510579197523369137797618054821673401827347743836953059590171622741667226788180952856958613499426620577919629813221417106968278603897935856356846004459263862063886930984963275266208622521702929112274866191841173824065239113871714949132327854127600301710881132781736713188124321368869184468914346872007 12135198345001816136264945247702893670340728175706949609882696466224841082206455844611077918024016394492125193739135365866329322442260586157211581070702880227573950247490251538157737429894775489740134501928363273320631794227970525896212266630482919688330046373865917936339835929265187375385574555221616842663258728563779566455332594916597470768295258256223470796550255761816465676249070019365978190337467201419164444029001223951469678613940842728598326982955958578787727899773501729982429630470762805261379167800250043899971039131487295642815491790667245691415498701911903646729843520713963520152495374183572744007422645939175246701295604748314192208050869158793326890615072957167338442194124689973240713862168129330119963269758966849082869690406017046904524561072596853337927784358189419898677402766898993172601078484762373230064374961832617019447552698221711966478338797305591751217520775831668352597461124753797804415469491701946472216928862191478410594499972262165146906574467740866055922494259681239622434984636233193416352269991491605580582640719767555904127510232451811165658616052861281756546102173630665765227276607711231079507664374128202369311605326179513763712453591936123264518811332456568708551846994981084957268951808371978687714974856346589412037671061659936336715245207181210095821462545305152204818963153827986786961579065302210140478545791268112773783864727885593630897908064027923312722664247453565480157538683832969755019943473161172826481087752126907363570166224284661651031647151996 19635163382434411151061211068773761657413482440766922727928435246576113449355752151560638277105239006949002673818173904806679372922650178775276968274658235568423888805934612832857405230183917609263863423789619341256126750941617303335072218743875075084481865959675743248717755666234499334333019244643940739828931655908944138201144719236770666158273525539655897296406966949055256286190499306755635786440226781983990039938326496922750478741720420997790617608413825588351415358025377525331971486391574294252585522058951346669042180486829863853674157880487212423436500468053630015824377086191578248128930558885468347723132186200340085070086111226505995511054268618859704900169376383417929996580028304195374159165245783475685277468702003638148801566031375131345130495320742299289044138889919451918161007983721604855265332449636927291352479613882939626889949349000300386501173377490777176014134560400203304050987321937517030046019848048891515262364253624982570220816023403591735450271382567001903048899710849413861801961252822872645725273253158267909880071568629571563614466787823013544598487246106902072496269917522957731251457113114047644814680024937277695375194992935695786028259888821464968593817091170509947062426192504454095066569863193652089542322600183542471627842684401603563503426160038168709320889165883071834632184570934955065565477001158566986483005055130176660714849691160859839520429766957035587588856088627389545396652555547918887347797600761474537362220533863620551694487593153846119945994024003 31770361727436227287326156316476655327754210616473872337811131712800954531562207996171716195129255401441127867557309270673008695364910764932488549345361115795997839053424864371015142660078693099003997925717982614576758545169587829231284485374357994772811912333541661185057591595499686709718593799865557582492190384472723704656477314153368136926568783795879368092957222710871721962439569326121613976777693983403154483967327720874220157355661263726388944591369784167139143257798879255314401116862337099513964689859201390569013219618317159496489649671154458114851999169965533662554220606905541768281425933069041091730554832139515331771381715974820187719105137777653031790784449340585268438774152994168614873027413912805805240738460970487231671256437392178249655056393339152626971923248108871816838410750620598027866410934399300521416854575715556646337502047222012352979512174796368927231655336231871656648448446691314834461489339750837987479293115816460980815315995665756882356845850307867958971393970530653484236945889056066062077543244649873490462712288397127467741977020274824710257103298968183829042372091153623496478733720825278724322344399065480064686800319115209549740713480757588233112628423627078655614273187485539052335521671565630777257297456530131883665513746061539900218671367219378805142351711188224039451147724762941852527056066460777126961550846398289434498714419046453470418337830984958900311520336080955025554191239380888642367741073922647363843308285990527915264653817438507770977641175999 51405525109870638438387367385250416985167693057240795065739566959377067980917960147732354472234494408390130541375483175479688068287560943707765517620019351364421727859359477203872547890262610708267861349507601955832885296111205132566356704118233069857293778293217404433775347261734186044051613044509498322321122040381667842857622033390138803084842309335535265389364189659926978248630068632877249763217920765387144523905654217796970636097381684724179562199783609755490558615824256780646372603253911393766550211918152737238055400105147023350163807551641670538288499638019163678378597693097120016410356491954509439453687018339855416841467827201326183230159406396512736690953825724003198435354181298363989032192659696281490518207162974125380472822468767309594785551714081451916016062138028323734999418734342202883131743384036227812769334189598496273227451396222312739480685552287146103245789896632074960699435768628831864507509187799729502741657369441443551036132019069348617807117232874869862020293681380067346038907141878938707802816497808141400342783857026699031356443808097838254855590545075085901538642008676581227730190833939326369137024424002757760061995312050905335768973369579053201706445514797588602676699379989993147402091534759282866799620056713674355293356430463143463722097527257547514463240877071295874083332295697896918092533067619344113444555901528466095213564110207313309938767597941994487900376424708344570950843794928807529715538674684121901205528819854148466959141410592353890923635200002 83175886837306865725713523701727072312921903673714667403550698672178022512480168143904070667363749809831258408932792446152696763652471708640254066965380467160419566912784341574887690550341303807271859275225584570409643841280792961797641189492591064630105690626759065618832938857233872753770206844375055904813312424854391547514099347543506940011411093131414633482321412370798700211069637958998863739995614748790299007872981938671190793453042948450568506791153393922629701873623136035960773720116248493280514901777354127807068619723464182846653457222796128653140498807984697340932818300002661784691782425023550531184241850479370748612849543176146370949264544174165768481738275064588466874128334292532603905220073609087295758945623944612612144078906159487844440608107420604542987985386137195551837829484962800910998154318435528334186188765314052919564953443444325092460197727083515030477445232863946617347884215320146698968998527550567490220950485257904531851448014735105500163963083182737820991687651910720830275853030935004769880359742458014890805496145423826499098420828372662965112693844043269730581014099830204724208924554764605093459368823068237824748795631166114885509686850336641434819073938424667258290972567475532199737613206324913644056917513243806238958870176524683363940768894476926319605592588259519913534480020460838770619589134080121240406106747926755529712278529253766780357105428926953388211896760789299596505035034309696172083279748606769265048837105844676382223795228030861661901276376001 134581411947177504164100891086977489298089596730955462469290265631555090493398128291636425139598244218221388950308275621632384831940032652348019584585399818524841294772143818778760238440603914515539720624733186526242529137391998094363997893610824134487399468919976470052608286118968058797821819888884554227134434465236059390371721380933645743096253402466949898871685602030725678459699706591876113503213535514177443531778636156468161429550424633174748068990937003678120260489447392816607146323370159887047065113695506865045124019828611206196817264774437799191428998446003861019311415993099781801102138916978059970637928868819226165454317370377472554179423950570678505172692100788591665309482515590896592937412733305368786277152786918737992616901374926797439226159821502056459004047524165519286837248219305003794129897702471756146955522954912549192792404839666637831940883279370661133723235129496021578047319983948978563476507715350296992962607854699348082887580033804454117971080316057607683011981333290788176314760172813943477683176240266156291148280002450525530454864636470501219968284389118355632119656108506785951939115388703931462596393247070995584810790943217020221278660219915694636525519453222255860967671947465525347139704741084196510856537569957480594252226606987826827662866421734473834068833465330815787617812316158735688712122201699465353850662649455221624925842639461080090295873026868947876112273185497644167455878829238503701798818423290891166254365925698824849182936638623215552824911576003 217757298784484369889814414788704561611011500404670129872840964303733113005878296435540495806961994028052647359241068067785081595592504360988273651550780285685260861684928160353647928990945218322811579899958771096652172978672791056161639083103415199117505159546735535671441224976201931551592026733259610131947746890090450937885820728477152683107664495598364532354007014401524378670769344550874977243209150262967742539651618095139352223003467581625316575782090397600749962363070528852567920043486408380327580015472860992852192639552075389043470721997233927844569497253988558360244234293102443585793921342001610501822170719298596914067166913553618925128688494744844273654430375853180132183610849883429196842632806914456082036098410863350604760980281086285283666767928922661001992032910302714838675077704267804705128052020907284481141711720226602112357358283110962924401081006454176164200680362359968195395204199269125262445506242900864483183558339957252614739028048539559618135043399240345504003668985201509006590613203748948247563535982724171181953776147874352029553285464843164185080978233161625362700670208336990676148039943468536556055762070139233409559586574383135106788347070252336071344593391646923119258644514941057546877317947409110154913455083201286833211096783512510191603635316211400153674426053590335701152292336619574459331711335779586594256769397381977154638121168714846870652978455795901264324169946286943763960913863548199873882098171897660431303203031543501231406731866654077214726187952004 352338710731661874053915305875682050909101097135625592342131229935288203499276424727176920946560238246274036309549343689417466427532537013336293236136180104210102156457071979132408167431549132838351300524691957622894702116064789150525636976714239333604904628466712005724049511095169990349413846622144164359082181355326510328257542109410798426203917898065314431225692616432250057130469051142751090746422685777145186071430254251607513652553892214800064644773027401278870222852517921669175066366856568267374645129168367857897316659380686595240287986771671727035998495699992419379555650286202225386896060258979670472460099588117823079521484283931091479308112445315522778827122476641771797493093365474325789780045540219824868313251197782088597377881656013082722892927750424717460996080434468234125512325923572808499257949723379040628097234675139151305149763122777600756341964285824837297923915491855989773442524183218103825922013958251161476146166194656600697626608082344013736106123715297953187015650318492297182905373376562891725246712222990327473102056150324877560008150101313665405049262622279980994820326316843776628087155332172468018652155317210228994370377517600155328067007290168030707870112844869178980226316462406582894017022688493306665769992653158767427463323390500337019266501737945873987743259518921151488770104652778310148043833537479051948107432046837198779563963808175926960948851482664849140436443131784587931416792692786703575680916595188551597557568957242326080589668505277292767551099528007 570096009516146243943729720664386612520112597540295722214972194239021316505154721162717416753522232274326683668790411757202548023125041374324566887686960389895363018142000139486056096422494351161162880424650728719546875094737580206687276059817654532722409788013447541395490736071371921901005873355403774491029928245416961266143362837887951109311582393663678963579699630833774435801238395693626067989631836040112928611081872346746865875557359796425381220555117798879620185215588450521742986410342976647702225144641228850749509298932761984283758708768905654880567992953980977739799884579304668972689981600981280974282270307416419993588651197484710404436800940060367052481552852494951929676704215357754986622678347134280950349349608645439202138861937099368006559695679347378462988113344770948964187403627840613204386001744286325109238946395365753417507121405888563680743045292279013462124595854215957968837728382487229088367520201152025959329724534613853312365636130883573354241167114538298691019319303693806189495986580311839972810248205714498655055832298199229589561435566156829590130240855441606357520996525180767304235195275641004574707917387349462403929964091983290434855354360420366779214706236516102099484960977347640440894340635902416820683447736360054260674420174012847210870137054157274141417685572511487189922396989397884607375544873258638542364201444219175934202084976890773831601829938460750404760613078071531695377706556334903449563014767086212028860771988785827311996400371931369982277287480011 922434720247808117997645026540068663429213694675921314557103424174309520004431145889894337700082470520600719978339755446620014450657578387660860123823140494105465174599072118618464263854043483999514180949342686342441577210802369357212913036531893866327314416480159547119540247166541912250419719977547938850112109600743471594400904947298749535515500291728993394805392247266024492931707446836377158736054521817258114682512126598354379528111252011225445865328145200158490408068106372190918052777199544915076870273809596708646825958313448579524046695540577381916566488653973397119355534865506894359586041859960951446742369895534243073110135481415801883744913385375889831308675329136723727169797580832080776402723887354105818662600806427527799516743593112450729452623429772095923984193779239183089699729551413421703643951467665365737336181070504904722656884528666164437085009578103850760048511346071947742280252565705332914289534159403187435475890729270454009992244213227587090347290829836251878034969622186103372401359956874731698056960428704826128157888448524107149569585667470494995179503477721587352341322842024543932322350607813472593360072704559691398300341609583445762922361650588397487084819081385281079711277439754223334911363324395723486453440389518821688137743564513184230136638792103148129160945091432638678692501642176194755419378410737690490471633491056374713766048785066700792550681421125599545197056209856119626794499249121607025243931362274763626418340946028153392586068877208662749828387008018 1492530729763954361941374747204455275949326292216217036772075618413330836509585867052611754453604702794927403647130167203822562473782619761985427011510100884000828192741072258104520360276537835160677061373993415061988452305539949563900189096349548399049724204493607088515030983237913834151425593332951713341142037846160432860544267785186700644827082685392672358385091878099798928732945842530003226725686357857371043293593998945101245403668611807650827085883262999038110593283694822712661039187542521562779095418450825559396335257246210563807805404309483036797134481607954374859155419444811563332276023460942232421024640202950663066698786678900512288181714325436256883790228181631675656846501796189835763025402234488386769011950415072967001655605530211818736012319109119474386972307124010132053887133179254034908029953211951690846575127465870658140164005934554728117828054870382864222173107200287905711117980948192562002657054360555213394805615263884307322357880344111160444588457944374550569054288925879909561897346537186571670867208634419324783213720746723336739131021233627324585309744333163193709862319367205311236557545883454477168067990091909153802230305701566736197777716011008764266299525317901383179196238417101863775805703960298140307136888125878875948812163738526031441006775846260422270578630663944125868614898631574079362794923283996329032835834935275550647968133761957474624152511359586349949957669287927651322172205805456510474806946129360975655279112934813980704582469249140032732105674488029 2414965450011762479939019773744523939378539986892138351329179042587640356514017012942506092153687173315528123625469922650442576924440198149646287135333241378106293367340144376722984624130581319160191242323336101404430029516342318921113102132881442265377038620973766635634571230404455746401845313310499652191254147446903904454945172732485450180342582977121665753190484125365823421664653289366380385461740879674629157976106125543455624931779863818876272951211408199196601001351801194903579091964742066477855965692260422268043161215559659143331852099850060418713700970261927771978510954310318457691862065320903183867767010098484906139808922160316314171926627710812146715098903510768399384016299377021916539428126121842492587674551221500494801172349123324269465464942538891570310956500903249315143586862730667456611673904679617056583911308536375562862820890463220892554913064448486714982221618546359853453398233513897894916946588519958400830281505993154761332350124557338747534935748774210802447089258548066012934298706494061303368924169063124150911371609195247443888700606901097819580489247810884781062203642209229855168879896491267949761428062796468845200530647311150181960700077661597161753384344399286664258907515856856087110717067284693863793590328515397697636949907303039215671143414638363570399739575755376764547307400273750274118214301694734019523307468426331925361734182547024175416703192780711949495154725497783770948966705054578117500050877491635739281697453880842134097168538126348695481934061496047 3907496179775716841880394520948979215327866279108355388101254661000971193023602879995117846607291876110455527272600089854265139398222817911631714146843342262107121560081216634827504984407119154320868303697329516466418481821882268485013291229230990664426762825467373724149602213642369580553270906643451365532396185293064337315489440517672150825169665662514338111575576003465622350397599131896383612187427237532000201269700124488556870335448475626527100037094671198234711594635496017616240131152284588040635061110711247827439496472805869707139657504159543455510835451869882146837666373755130021024138088781845416288791650301435569206507708839216826460108342036248403598889131692400075040862801173211752302453528356330879356686501636573461802827954653536088201477261648011044697928808027259447197473995909921491519703857891568747430486436002246221002984896397775620672741119318869579204394725746647759164516214462090456919603642880513614225087121257039068654708004901449907979524206718585353016143547473945922496196053031247875039791377697543475694585329941970780627831628134725144165798992144047974772065961576435166405437442374722426929496052888377999002760953012716918158477793672605926019683869717188047438103754273957950886522771244992004100727216641276573585762071041565247112150190484623992670318206419320890415922298905324353481009224978730348556143303361607476009702316308981650040855704140298299445112394785711422271138910860034627974857823620996714936976566815656114801751007375488728214039735984076 6322461629787479321819414294693503154706406266000493739430433703588611549537619892937623938760979049425983650898070012504707716322663016061278001282176583640213414927421361011550489608537700473481059546020665617870848511338224587406126393362112432929803801446441140359784173444046825326955116219953951017723650332739968241770434613250157601005512248639636003864766060128831445772062252421262763997649168117206629359245806250032012495267228339445403372988306079397431312595987297212519819223117026654518491026802971670095482657688365528850471509604009603874224536422131809918816177328065448478716000154102748600156558660399920475346316630999533140632034969747060550313988035203168474424879100550233668841881654478173371944361052858073956604000303776860357666942204186902615008885308930508762341060858640588948131377762571185804014397744538621783865805786860996513227654183767356294186616344293007612617914447975988351836550231400472015055368627250193829987058129458788655514459955492796155463232806022011935430494759525309178408715546760667626605956939137218224516532235035822963746288239954932755834269603785665021574317338865990376690924115684846844203291600323867100119177871334203087773068214116474711697011270130814037997239838529685867894317545156674271222711978344604462783293605122987563070057782174697654963229699179074627599223526673464368079450771787939401371436498856005825457558896921010248940267120283495193220105615914612745474908701112632454218674020696498248898919545501837423695973797480123 10229957809563196163699808815642482370034272545108849127531688364589582742561222772932741785368270925536439178170670102358972855720885833972909715429019925902320536487502577646377994592944819627801927849717995134337266993160106855891139684591343423594230564271908514083933775657689194907508387126597402383256046518033032579085924053767829751830681914302150341976341636132297068122459851553159147609836595354738629560515506374520569365602676815071930473025400750595666024190622793230136059354269311242559126087913682917922922154161171398557611167108169147329735371874001692065653843701820578499740138242884594016445350310701356044552824339838749967092143311783308953912877166895568549465741901723445421144335182834504251301047554494647418406828258430396445868419465834913659706814116957768209538534854550510439651081620462754551444884180540868004868790683258772133900395303086225873391011070039655371782430662438078808756153874280985629280455748507232898641766134360238563493984162211381508479376353495957857926690812556557053448506924458211102300542269079189005144363863170548107912087232098980730606335565362100187979754781240712803620420168573224843206052553336584018277655665006809013792752083833662759135115024404771988883762609774677871995044761797950844808474049386169709895443795607611555740375988594018545379151998084398981080232751652194716635594075149546877381138815164987475498414601061308548385379515069206615491244526774647373449766524733629169155650587512154363700670552877326151910013533464199 16552419439350675485519223110335985524740678811109342866962122068178194292098842665870365724129249974962422829068740114863680572043548850034187716711196509542533951414923938657928484201482520101282987395738660752208115504498331443297266077953455856524034365718349654443717949101736020234463503346551353400979696850773000820856358667017987352836194162941786345841107696261128513894522103974421911607485763471945258919761312624552581860869905154517333846013706829993097336786610090442655878577386337897077617114716654588018404811849536927408082676712178751203959908296133501984470021029886026978456138396987342616601908971101276519899140970838283107724178281530369504226865202098737023890621002273679089986216837312677623245408607352721375010828562207256803535361670021816274715699425888276971879595713191099387782459383033940355459281925079489788734596470119768647128049486853582167577627414332662984400345110414067160592704105681457644335824375757426728628824263819027219008444117704177663942609159517969793357185572081866231857222471218878728906499208216407229660896098206371071658375472053913486440605169147765209554072120106703180311344284258071687409344153660451118396833536341012101565820297950137470832126294535586026881002448304363739889362306954625116031186027730774172678737400730599118810433770768716200342381697263473608679456278325659084715044846937486278752575314020993300955973497982318797325646635352701808711350142689260118924675225846261623374324608208652612599590098379163575605987330944322 26782377248913871649219031925978467894774951356218191994493810432767777034660065438803107509497520900498862007239410217222653427764434684007097432140216435444854487902426516304306478794427339729084915245456655886545382497658438299188405762544799280118264929990258168527651724759425215141971890473148755784235743368806033399942282720785817104666876077243936687817449332393425582016981955527581059217322358826683888480276818999073151226472581969589264319039107580588763360977232883672791937931655649139636743202630337505941326966010708325965693843820347898533695280170135194050123864731706605478196276639871936633047259281802632564451965310677033074816321593313678458139742368994305573356362903997124511130552020147181874546456161847368793417656820637653249403781135856729934422513542846045181418130567741609827433541003496694906904166105620357793603387153378540781028444789939808040968638484372318356182775772852145969348857979962443273616280124264659627270590398179265782502428279915559172421985513013927651283876384638423285305729395677089831207041477295596234805259961376919179570462704152894217046940734509865397533826901347415983931764452831296530615396706997035136674489201347821115358572381783800229967241318940358015764765058079041611884407068752575960839660077116943882574181196338210674550809759362734745721533695347872589759689029977853801350638922087033156133714129185980776454388099043627345711026150421908424202594669463907492374441750579890792529975195720806976300260651256489727516000864408521 43334796688264547134738255036314453419515630167327534861455932500945971326758908104673473233626770875461284836308150332086333999807983534041285148851412944987388439317350454962234962995909859830367902641195316638753498002156769742485671840498255136642299295708607822971369673861161235376435393819700109185215440219579034220798641387803804457503070240185723033658557028654554095911504059502002970824808122298629147400038131623625733087342487124106598165052814410581860697763842974115447816509041987036714360317346992093959731777860245253373776520532526649737655188466268696034593885761592632456652415036859279249649168252903909084351106281515316182540499874844047962366607571093042597246983906270803601116768857459859497791864769200090168428485382844910052939142805878546209138212968734322153297726280932709215216000386530635262363448030699847582337983623498309428156494276793390208546265898704981340583120883266213129941562085643900917952104500022086355899414661998293001510872397619736836364594672531897444641061956720289517162951866895968560113540685512003464466156059583290251228838176206807703487545903657630607087899021454119164243108737089368218024740860657486255071322737688833216924392679733937700799367613475944042645767506383405351773769375707201076870846104847718055252918597068809793361243530131450946063915392611346198439145308303512886065683769024519434886289443206974077410361597025946143036672785774610232913944812153167611299116976426152415904299803929459588899850749635653303121988195352843 70117173937178418783957286962292921314290581523545726855949742933713748361418973543476580743124291775960146843547560549308987427572418218048382580991629380432242927219776971266541441790337199559452817886651972525298880499815208041674077603043054416760564225698865991499021398620586450518407284292848864969451183588385067620740924108589621562169946317429659721476006361047979677928486015029584030042130481125313035880314950622698884313815069093695862484091921991170624058741075857788239754440697636176351103519977329599901058743870953579339470364352874548271350468636403890084717750493299237934848691676731215882696427534706541648803071592192349257356821468157726420506349940087348170603346810267928112247320877607041372338320931047458961846142203482563302342923941735276143560726511580367334715856848674319042649541390027330169267614136320205375941370776876850209184939066733198249514904383077299696765896656118359099290420065606344191568384624286745983170005060177558784013300677535296008786580185545825095924938341358712802468681262573058391320582162807599699271416020960209430799300880359701920534486638167496004621725922801535148174873189920664748640137567654521391745811939036654332282965061517737930766608932416302058410532564462446963658176444459777037710506181964661937827099793407020467912053289494185691785449087959218788198834338281366687416322691111552591020003572392954853864749696069573488747698936196518657116539481617075103673558727006043208434274999650266565200111400892143030637989059761364 113451970625442965918695541998607374733806211690873261717405675434659719688177881648150053976751062651421431679855710881395321427380401752089667729843042325419631366537127426228776404786247059389820720527847289164052378501971977784159749443541309553402863521407473814470391072481747685894842678112548974154666623807964101841539565496393426019673016557615382755134563389702533773839990074531587000866938603423942183280353082246324617401157556217802460649144736401752484756504918831903687570949739623213065463837324321693860790521731198832713246884885401198009005657102672586119311636254891870391501106713590495132345595787610450733154177873707665439897321343001774382872957511180390767850330716538731713364089735066900870130185700247549130274627586327473355282066747613822352698939480314689488013583129607028257865541776557965431631062167020052958279354400375159637341433343526588458061170281782281037349017539384572229231982151250245109520489124308832339069419722175851785524173075155032845151174858077722540566000298079002319631633129469026951434122848319603163737572080543499682028139056566509624022032541825126611709624944255654312417981927010032966664878428312007646817134676725487549207357741251675631565976545892246101056300070845852315431945820166978114581352286812379993080018390475830261273296819625636637849364480570564986637979646584879573482006460136072025906293015599928931275111293095519631784371721971128890030484293770242714972675703432195624338574803579726154099962150527796333759977255114207 183569144562621384702652828960900296048096793214418988573355418368373468049596855191626634719875354427381578523403271430704308854952819970138050310834671705851874293756904397495317846576584258949273538414499261689351259001787185825833827046584363970163427747106339805969412471102334136413249962405397839124117807396349169462280489604983047581842962875045042476610569750750513451768476089561171030909069084549255219160668032869023501714972625311498323133236658392923108815245994689691927325390437259389416567357301651293761849265602152412052717249238275746280356125739076476204029386748191108326349798390321711015042023322316992381957249465900014697254142811159500803379307451267738938453677526806659825611410612673942242468506631295008092120769789810036657624990689349098496259665991895056822729439978281347300515083166585295600898676303340258334220725177252009846526372410259786707576074664859580734114914195502931328522402216856589301088873748595578322239424782353410569537473752690328853937755043623547636490938639437715122100314392042085342754705011127202863008988101503709112827439936926211544556519179992622616331350867057189460592855116930697715305015995966529038562946615762141881490322802769413562332585478308548159466832635308299279090122264626755152291858468777041930907118183882850729185350109119822329634813568529783774836813984866246260898329151247624616926296587992883785139860989165093120532070658167647547147023775387317818646234430438238832772849803229992719300073551419939364397966314875571 297021115188064350621348370959507670781903004905292250290761093803033187737774736839776688696626417078803010203258982312099630282333221722227718040677714031271505660294031823724094251362831318339094258942346550853403637503759163609993576490125673523566291268513813620439803543584081822308092640517946813278784431204313271303820055101376473601515979432660425231745133140453047225608466164092758031776007687973197402441021115115348119116130181529300783782381394794675593571750913521595614896340176882602482031194625972987622639787333351244765964134123676944289361782841749062323341023003082978717850905103912206147387619109927443115111427339607680137151464154161275186252264962448129706304008243345391538975500347740843112598692331542557222395397376137510012907057436962920848958605472209746310743023107888375558380624943143261032529738470360311292500079577627169483867805753786375165637244946641861771463931734887503557754384368106834410609362872904410661308844504529262355061646827845361699088929901701270177056938937516717441731947521511112294188827859446806026746560182047208794855578993492721168578551721817749228040975811312843773010837043940730681969894424278536685380081292487629430697680544021089193898562024200794260523132706154151594522068084793733266873210755589421923987136574358680990458646928745458967484178049100348761474793631451125834380335611383696642832589603592812716414972282260612752316442380138776437177508069157560533618910133870434457111424606809718873400035701947735698157943569989778 480590259750685735324001199920407966829999798119711238864116512171406655787371592031403323416501771506184588726662253742803939137286041692365768351512385737123379954050936221219412097939415577288367797356845812542754896505546349435827403536710037493729719015620153426409216014686415958721342602923344652402902238600662440766100544706359521183358942307705467708355702891203560677376942253653929062685076772522452621601689147984371620831102806840799106915618053187598702386996908211287542221730614141991898598551927624281384489052935503656818681383361952690569717908580825538527370409751274087044200703494233917162429642432244435497068676805507694834405606965320775989631572413715868644757685770152051364586910960414785355067198962837565314516167165947546670532048126312019345218271464104803133472463086169722858895708109728556633428414773700569626720804754879179330394178164046161873213319611501442505578845930390434886276786584963423711698236621499988983548269286882672924599120580535690553026684945324817813547877576954432563832261913553197636943532870574008889755548283550917907683018930418932713135070901810371844372326678370033233603692160871428397274910420245065723943027908249771312188003346790502756231147502509342419989965341462450873612190349420488419165069224366463854894254758241531719643997037865281297118991617630132536311607616317372095278664762631321259758886191585696501554833271425705872848513038306423984324531844544878352265144564308673289884274410039711592700109253367675062555909884865349 777611374938750085945349570879915637611902803025003489154877605974439843525146328871180012113128188584987598929921236054903569419619263414593486392190099768394885614344968044943506349302246895627462056299192363396158534009305513045820980026835711017296010284133967046849019558270497781029435243441291465681686669804975712069920599807735994784874921740365892940100836031656607902985408417746687094461084460495650024042710263099719739947232988370099890697999447982274295958747821732883157118070791024594380629746553597269007128840268854901584645517485629634859079691422574600850711432754357065762051608598146123309817261542171878612180104145115374971557071119482051175883837376163998351061694013497442903562411308155628467665891294380122536911564542085056683439105563274940194176876936314549444215486194058098417276333052871817665958153244060880919220884332506348814261983917832537038850564558143304277042777665277938444031170953070258122307599494404399644857113791411935279660767408381052252115614847026087990604816514471150005564209435064309931132360730020814916502108465598126702538597923911653881713622623628121072413302489682877006614529204812159079244804844523602409323109200737400742885683890811591950129709526710136680513098047616602468134258434214221686038279979955885778881391332600212710102643966610740264603169666730481297786401247768497929659000374015017902591475795178509217969805553686318625164955418445200421502039913702438885884054698179107746995699016849430466100144955315410760713853454855127 1258201634689435821269350770800323604441902601144714728018994118145846499312517920902583335529629960091172187656583489797707508556905305106959254743702485505518265568395904266162918447241662472915829853656038175938913430514851862481648383563545748511025729299754120473258235572956913739750777846364636118084588908405638152836021144514095515968233864048071360648456538922860168580362350671400616157146161233018102645644399411084091360778335795210898997613617501169872998345744729944170699339801405166586279228298481221550391617893204358558403326900847582325428797600003400139378081842505631152806252312092380040472246903974416314109248780950623069805962678084802827165515409789879866995819379783649494268149322268570413822733090257217687851427731708032603353971153689586959539395148400419352577687949280227821276172041162600374299386568017761450545941689087385528144656162081878698912063884169644746782621623595668373330307957538033681834005836115904388628405383078294608204259887988916742805142299792350905804152694091425582569396471348617507568075893600594823806257656749149044610221616854330586594848693525438492916785629168052910240218221365683587476519715264768668133266137108987172055073687237602094706360857029219479100503063389079053341746448783634710105203349204322349633775646090841744429746641004476021561722161284360613834098008864085870024937665136646339162350361986764205719524638825112024498013468456751624405826571758247317238149199262487781036879973426889142058800254208683085823269763339720476 2035813009628185907214700341680239242053805404169718217173871724120286342837664249773763347642758148676159786586504725852611077976524568521552741135892585273913151182740872311106424796543909368543291909955230539335071964524157375527469363590381459528321739583888087520107255131227411520780213089805927583766275578210613864905941744321831510753108785788437253588557374954516776483347759089147303251607245693513752669687109674183811100725568783580998888311616949152147294304492551677053856457872196191180659858045034818819398746733473213459987972418333211960287877291425974740228793275259988218568303920690526163782064165516588192721428885095738444777519749204284878341399247166043865346881073797146937171711733576726042290398981551597810388339296250117660037410259252861899733572025336733902021903435474285919693448374215472191965344721261822331465162573419891876958918145999711235950914448727788051059664401260946311774339128491103939956313435610308788273262496869706543483920655397297795057257914639376993794757510605896732574960680783681817499208254330615638722759765214747171312760214778242240476562316149066613989198931657735787246832750570495746555764520109292270542589246309724572797959371128413686656490566555929615781016161436695655809880707217848931791241629184278235412657037423441957139849284971086761826325330951091095131884410111854367954596665510661357064941837781942714937494444378798343123178423875196824827328611671949756124033253960666888783875672443738572524900399163998496583983616794575603 3294014644317621728484051112480562846495708005314432945192865842266132842150182170676346683172388108767331974243088215650318586533429873628511995879595070779431416751136776577269343243785571841459121763611268715273985395039009238009117747153927208039347468883642207993365490704184325260530990936170563701850864486616252017741962888835927026721342649836508614237013913877376945063710109760547919408753406926531855315331509085267902461503904578791897885925234450322020292650237281621224555797673601357766939086343516040369790364626677572018391299319180794285716674891429374879606875117765619371374556232782906204254311069491004506830677666046361514583482427289087705506914656955923732342700453580796431439861055845296456113132071808815498239767027958150263391381412942448859272967173737153254599591384754513740969620415378072566264731289279583782011104262507277405103574308081589934862978332897432797842286024856614685104647086029137621790319271726213176901667879948001151688180543386214537862400214431727899598910204697322315144357152132299325067284147931210462529017421963896215922981831632572827071411009674505106905984560825788697487050971936179334032284235374060938675855383418711744853033058366015781362851423585149094881519224825774709151627156001483641896444978388600585046432683514283701569595925975562783388047492235451708965982418975940237979534330647307696227292199768706920657019083203910367621191892331948449233155183430197073362182453223154669820755645870627714583700653372681582407253380134296079 5329827653945807635698751454160802088549513409484151162366737566386419184987846420450110030815146257443491760829592941502929664509954442150064737015487656053344567933877648888375768040329481210002413673566499254609057359563166613536587110744308667567669208467530295513472745835411736781311204025976491285617140064826865882647904633157758537474451435624945867825571288831893721547057868849695222660360652620045607985018618759451713562229473362372896774236851399474167586954729833298278412255545797548947598944388550859189189111360150785478379271737514006246004552182855349619835668393025607589942860153473432368036375235007592699552106551142099959361002176493372583848313904121967597689581527377943368611572789422022498403531053360413308628106324208267923428791672195310759006539199073887156621494820228799660663068789593544758230076010541406113476266835927169282062492454081301170813892781625220848901950426117560996878986214520241561746632707336521965174930376817707695172101198783512332919658129071104893393667715303219047719317832915981142566492402261826101251777187178643387235742046410815067547973325823571720895183492483524484733883722506675080588048755483353209218444629728436317650992429494429468019341990141078710662535386262470364961507863219332573687686607572878820459089720937725658709445210946649545214372823186542804097866829087794605934130996157969053292234037550649635594513527582708710744370316207145274060483795102146829486215707183821558604631318314366287108601052536680078991236996928871682 8623842298263429364182802566641364935045221414798584107559603408652552027138028591126456713987534366210823735072681157153248251043384315778576732895082726832775984685014425465645111284115053051461535437177767969883042754602175851545704857898235875607016677351172503506838236539596062041842194962147054987468004551443117900389867521993685564195794085461454482062585202709270666610767978610243142069114059546577463300350127844719616023733377941164794660162085849796187879604967114919502968053219398906714538030732066899558979475986828357496770571056694800531721227074284724499442543510791226961317416386256338572290686304498597206382784217188461473944484603782460289355228561077891330032281980958739800051433845267318954516663125169228806867873352166418186820173085137759618279506372811040411221086204983313401632689204971617324494807299820989895487371098434446687166066762162891105676871114522653646744236450974175681983633300549379183536951979062735142076598256765708846860281742169726870782058343502832792992577920000541362863674985048280467633776550193036563780794609142539603158723878043387894619384335498076827801168053309313182220934694442854414620332990857414147894300013147148062504025487860445249382193413726227805544054611088245074113135019220816215584131585961479405505522404452009360279041136922212328602420315421994513063849248063734843913665326805276749519526237319356556251532610786619078365562208539093723293638978532343902848398160406976228425386964184994001692301705909361661398490377063167761 13953669952209236999881554020802167023594734824282735269926340975038971212125875011576566744802680623654315495902274098656177915553338757928641469910570382886120552618892074354020879324444534261463949110744267224492100114165342465082291968642544543174685885818702799020310982375007798823153398988123546273085144616269983783037772155151444101670245521086400349888156491541164388157825847459938364729474712166623071285368746604171329585962851303537691434398937249270355466559696948217781380308765196455662136975120617758748168587346979142975149842794208806777725779257140074119278211903816834551260276539729770940327061539506189905934890768330561433305486780275832873203542465199858927721863508336683168663006634689341452920194178529642115495979676374686110248964757333070377286045571884927567842581025212113062295757994565162082724883310362396008963637934361615969228559216244192276490763896147874495646186877091736678862619515069620745283584686399257107251528633583416542032382940953239203701716472573937686386245635303760410582992817964261610200268952454862665032571796321182990394465924454202962167357661321648548696351545792837666954818416949529495208381746340767357112744642875584380155017917354874717401535403867306516206589997350715439074642882440148789271818193534358225964612125389735018988486347868861873816793138608537317161716077151529449847796322963245802811760274870006191846046138369327789109932524746238997354122773634490732334613867590797787030018282499360288800902758446041740389727373992039443 22577512250472666364064356587443531958639956239081319377485944383691523239263903602703023458790214989865139230974955255809426166596723073707218202805653109718896537303906499819665990608559587312925484547922035194375142868767518316627996826540780418781702563169875302527149218914603860864995593950270601260553149167713101683427639677145129665866039606547854831950741694250435054768593826070181506798588771713200534585718874448890945609696229244702486094561023099066543346164664063137284348361984595362376675005852684658307148063333807500471920413850903607309447006331424798618720755414608061512577692925986109512617747844004787112317674985519022907249971384058293162558771026277750257754145489295422968714440479956660407436857303698870922363853028541104297069137842470829995565551944695967979063667230195426463928447199536779407219690610183385904451009032796062656394625978407083382167635010670528142390423328065912360846252815618999928820536665461992249328126890349125388892664683122966074483774816076770479378823555304301773446667803012542077834045502647899228813366405463722593553189802497590856786741996819725376497519599102150849175753111392383909828714737198181505007044656022732442659043405215319966783728817593534321750644608438960513187777901660965004855949779495837631470134529841744379267527484791074202419213454030531830225565325215264293761461649768522552331286512189362748097578749155946867475494733285332720647761752166834635183012027997774015455405246684354290493204464355403401788217751055207204 36531182202681903363945910608245698982234691063364054647412285358730494451389778614279590203592895613519454726877229354465604082150061831635859672716223492605017089922798574173686869933004121574389433658666302418867242982932860781710288795183324961956388448988578101547460201289611659688148992938394147533638293783983085466465411832296573767536285127634255181838898185791599442926419673530119871528063483879823605871087621053062275195659080548240177528959960348336898812724361011355065728670749791818038811980973302417055316650680786643447070256645112414087172785588564872737998967318424896063837969465715880452944809383510977018252565753849584340555458164334126035762313491477609185476008997632106137377447114646001860357051482228513037859832704915790407318102599803900372851597516580895546906248255407539526224205194101941489944573920545781913414646967157678625623185194651275658658398906818402638036610205157649039708872330688620674104121351861249356579655523932541930925047624076205278185491288650708165765069190608062184029660620976803688034314455102761893845938201784905583947655726951793818954099658141373925193871144894988516130571528341913405037096483538948862119789298898316822814061322570194684185264221460840837957234605789675952262420784101113794127767973030195857434746655231479398256013832659936076236006592639069147387281402366793743609257972731768355143046787059368939943624887525274656585427258031571718001884525801325367517625895588571802485423529183714579294107222801445142177945125047246647 59108694453154569728010267195689230940874647302445374024898229742422017690653682216982613662383110603384593957852184610275030248746784905343077875521876602323913627226705073993352860541563708887314918206588337613242385851700379098338285621724105380738091012158453404074609420204215520553144586888664748794191442951696187149893051509441703433402324734182110013789639880042034497695013499600301378326652255593024140456806495501953220805355309792942663623520983447403442158889025074492350077032734387180415486986825987075362464714014594143918990670496016021396619791919989671356719722733032957576415662391701989965562557227515764130570240739368607247805429548392419198321084517755359443230154486927529106091887594602662267793908785927383960223685733456894704387240442274730368417149461276863525969915485602965990152652393638720897164264530729167817865655999953741282017811173058359040826033917488930780427033533223561400555125146307620602924658017323241605907782414281667319817712307199171352669266104727478645143892745912363957476328423989345765868359957750661122659304607248628177500845529449384675740841654961099301691390743997139365306324639734297314865811220737130367126833954921049265473104727785514650968993039054375159707879214228636465450198685762078798983717752526033488904881185073223777523541317451010278655220046669600977612846727582058037370719622500290907474333299248731688041203636681221524060921991316904438649646277968160002700637923586345817940828775868068869787311687156848543966162876102453851 95639876655836473091956177803934929923109338365809428672310515101152512142043460831262203865976006216904048684729413964740634330896846736978937548238100094928930717149503648167039730474567830461704351865254640032109628834633239880048574416907430342694479461147031505622069621493827180241293579827058896327829736735679272616358463341738277200938609861816365195628538065833633940621433173130421249854715739472847746327894116555015496001014390341182841152480943795740340971613386085847415805703484178998454298967799289492417781364695380787366060927141128435483792577508554544094718690051457853640253631857417870418507366611026741148822806493218191588360887712726545234083398009232968628706163484559635243469334709248664128150960268155896998083518438372685111705343042078630741268746977857759072876163741010505516376857587740662387108838451274949731280302967111419907640996367709634699484432824307333418463643738381210440263997476996241277028779369184490962487437938214209250742759931275376630854757393378186810908961936520426141505989044966149453902674412853423016505242809033533761448501256401178494694941313102473226885261888892127881436896168076210719902907704276079229246623253819366088287166050355709335154257260515215997665113820018312417712619469863192593111485725556229346339627840304703175779555150110946354891226639308670125000128129948851780979977595232059262617380086308100627984828524206496180646349249348476156651530803769485370218263819174917620426252305051783449081418909958293686144108001149700498 154748571108991042819966444999624160863983985668254802697208744843574529832697143048244817528359116820288642642581598575015664579643631642322015423759976697252844344376208722160392591016131539349019270071842977645352014686333618978386860038631535723432570473305484909696679041698042700794438166715723645122021179687375459766251514851179980634340934595998475209418177945875668438316446672730722628181367995065871886784700612056968716806369700134125504776001927243143783130502411160339765882736218566178869785954625276567780246078709974931285051597637144456880412369428544215451438412784490811216669294249119860384069923838542505279393047232586798836166317261118964432404482526988328071936317971487164349561222303851326395944869054083280958307204171829579816092583484353361109685896439134622598846079226613471506529509981379383284273102982004117549145958967065161189658807540767993740310466741796264198890677271604771840819122623303861879953437386507732568395220352495876570560472238474547983524023498105665456052854682432790098982317468955495219771034370604084139164547416282161938949346785850563170435782968063572528576652632889267246743220807810508034768718925013209596373457208740415353760270778141223986123250299569591157372993034246948883162818155625271392095203478082262835244509025377926953303096467561956633546446685978271102612974857530909818350697217732350170091713385556832316026032160887717704707271240665380595301177081737645372918901742761263438367081080919852318868730597115142230110270877252154349 250388447764827515911922622803559090787093324034064231369519259944727041974740603879507021394335123037192691327311012539756298910540478379300952971998076792181775061525712370327432321490699369810723621937097617677461643520966858858435434455538966066127049934452516415318748663191869881035731746542782541449850916423054732382609978192918257835279544457814840405046716011709302378937879845861143878036083734538719633112594728611984212807384090475308345928482871038884124102115797246187181688439702745177324084922424566060198027443405355718651112524778272892364204946937098759546157102835948664856922926106537730802577290449569246428215853725804990424527204973845509666487880536221296700642481456046799593030557013099990524095829322239177956390722610202264927797926526431991850954643416992381671722242967623977022906367569120045671381941433279067280426261934176581097299803908477628439794899566103597617354321009985982281083120100300103156982216755692223530882658290710085821303232169749924614378780891483852266961816618953216240488306513921644673673708783457507155669790225315695700397848042251741665130724281166045755461914521781395128180116975886718754671626629289288825620080462559781442047436828496933321277507560084807155038106854265261300875437625488463985206689203638492181584136865682630129082651617672902988437673325286941227613102987479761599330674812964409432709093471864932944010860685094213885353620490013856751952707885507130743137165561936181058793333385971635767950149507073435916254378878401854847 405137018873818558731889067803183251651077309702319034066728004788301571807437746927751838922694239857481333969892611114771963490184110021622968395758053489434619405901921092487824912506830909159742892008940595322813658207300477836822294494170501789559620407758001325015427704889912581830169913258506186571872096110430192148861493044098238469620479053813315614464893957584970817254326518591866506217451729604591519897295340668952929613753790609433850704484798282027907232618208406526947571175921311356193870877049842627978273522115330649936164122415417349244617316365642974997595515620439476073592220355657591186647214288111751707608900958391789260693522234964474098892363063209624772578799427533963942591779316951316920040698376322458914697926782031844743890510010785352960640539856127004270568322194237448529435877550499428955655044415283184829572220901241742286958611449245622180105366307899861816244998281590754121902242723603965036935654142199956099277878643205962391863704408224472597902804389589517723014671301386006339470623982877139893444743154061591294834337641597857639347194828102304835566507249229618284038567154670662374923337783697226789440345554302498421993537671300196795807707606638157307400757859654398312411099888512210184038255781113735377301892681720755016828645891060557082385748085234859621984120011265212330226077845010671417681372030696759602800806857421765260036892845981931590060891730679237347253884967244776116056067304697444497160414466891488086818880104188578146364649755654009196 655525466638646074643811690606742342438170633736383265436247264733028613782178350807258860317029362894674025297203623654528262400724588400923921367756130281616394467427633462815257233997530278970466513946038213000275301728267336695257728949709467855686670342210517740334176368081782462865901659801288728021723012533484924531471471237016496304900023511628156019511609969294273196192206364453010384253535464143311153009890069280937142421137881084742196632967669320912031334734005652714129259615624056533517955799474408688176300965520686368587276647193690241608822263302741734543752618456388140930515146462195321989224504737680998135824754684196779685220727208809983765380243599430921473221280883580763535622336330051307444136527698561636871088649392234109671688436537217344811595183273119385942290565161861425552342245119619474627036985848562252109998482835418323384258415357723250619900265874003459433599319291576736402985362823904068193917870897892179630160536933916048213166936577974397212281585281073369989976487920339222579958930496798784567118451937519098450504127866913553339745042870354046500697231530395664039500481676452057503103454759583945544111972183591787247613618133859978237855144435135090628678265419739205467449206742777471484913693406602199362508581885359247198412782756743187211468399702907762610421793336552153557839180832490433017012046843661169035509900329286698204047753531076145475414512220693094099206592852751906859193232866633625555953747852863123854769029611262014062619028634055864043 1060662485512464633375700758409925594089247943438702299502975269521330185589616097735010699239723602752155359267096234769300225890908698422546889763514183771051013873329554555303082146504361188130209405954978808323088959935567814532080023443879969645246290749968519065349604072971695044696071573059794914593595108643915116680332964281114734774520502565441471633976503926879244013446532883044876890470987193747902672907185409949890072034891671694176047337452467602939938567352214059241076830791545367889711826676524251316154574487636017018523440769609107590853439579668384709541348134076827617004107366817852913175871719025792749843433655642588568945914249443774457864272606662640546245800080311114727478214115647002624364177226074884095785786576174265954415578946548002697772235723129246390212858887356098874081778122670118903582692030263845436939570703736660065671217026806968872800005632181903321249844317573167490524887605547508033230853525040092135729438415577122010605030640986198869810184389670662887712991159221725228919429554479675924460563195091580689745338465508511410979092237698456351336263738779625282323539048831122719878026792543281172333552317737894285669607155805160175033662852041773247936079023279393603779860306631289681668951949187715934739810474567080002215241428647803744293854147788142622232405913347817365888065258677501104434693418874357928638310707186708463464084646377058077065475403951372331446460477819996682975249300171331070053114162319754611941587909715450592208983678389709873239 1716187952151110708019512449016667936527418577175085564939222534254358799371794448542269559556752965646829384564299858423828488291633286823470811131270314052667408340757188018118339380501891467100675919901017021323364261663835151227337752393589437500932961092179036805683780441053477507561973232861083642615318121177400041211804435518131231079420526077069627653488113896173517209638739247497887274724522657891213825917075479230827214456029552778918243970420136923851969902086219711955206090407169424423229782475998660004330875453156703387110717416802797832462261842971126444085100752533215757934622513280048235165096223763473747979258410326785348631134976652584441629652850262071467719021361194695491013836451977053931808313753773445732656875225566500064087267383085220042583830906402365776155149452517960299634120367789738378209729016112407689049569186572078389055475442164692123419905898055906780683443636864744226927872968371412101424771395937984315359598952511038058818197577564173267022465974951736257702967647142064451499388484976474709027681647029099788195842593375424964318837280568810397836960970310020946363039530507574777381130247302865117877664289921486072917220773939020153271517996476908338564757288699132809247309513374067153153865642594318134102319056452439249413654211404546931505322547491050384842827706684369519445904439509991537451705465718019097673820607515995161668132399908134222540889916172065425545667070672748589834442533037964695609067910172617735796356939326712606271602707023765737282 2776850437663575341395213207426593530616666520613787864442197803775688984961410546277280258796476568398984743831396093193128714182541985246017700894784497823718422214086742573421421527006252655230885325855995829646453221599402965759417775837469407146179251842147555871033384514025172552258044805920878557208913229821315157892137399799245965853941028642511099287464617823052761223085272130542764165195509851639116498824260889180717286490921224473094291307872604526791908469438433771196282921198714792312941609152522911320485449940792720405634158186411905423315701422639511153626448886610043374938729880097901148340967942789266497822692065969373917577049226096358899493925456924712013964821441505810218492050567624056556172490979848329828442661801740766018502846329633222740356066629531612166368008339874059173715898490459857281792421046376253125989139890308738454726692468971660996219911530237810101933287954437911717452760573918920134655624920978076451089037368088160069423228218550372136832650364622399145415958806363789680418818039456150633488244842120680477941181058883936375297929518267266749173224709089646228686578579338697497259157039846146290211216607659380358586827929744180328305180848518681586500836311978526413027169820005356834822817591782034068842129531019519251628895640052350675799176695279193007075233620032186885333969698187492641886398884592377026312131314702703625132217046285192299606365320123437756992127548492745272809691833209295765662182072492372347737944849042163198480586385413475610521 4493038389814686049414725656443261467144085097788873429381420338030047784333204994819549818353229534045814128395695951616957202474175272069488512026054811876385830554843930591539760907508144122331561245757012850969817483263238116986755528231058844647112212934326592676717164955078650059820018038781962199824231350998715199103941835317377196933361554719580726940952731719226278432724011378040651439920032509530330324741336368411544500946950777252012535278292741450643878371524653483151489011605884216736171391628521571324816325393949423792744875603214703255777963265610637597711549639143259132873352393377949383506064166552740245801950476296159266208184202748943341123578307186783481683842802700505709505887019601110487980804733621775561099537027307266082590113712718442782939897535933977942523157792392019473350018858249595660002150062488660815038709076880816843782167911136353119639817428293716882616731591302655944380633542290332236080396316916060766448636320599198128241425796114545403855116339574135403118926453505854131918206524432625342515926489149780266137023652259361339616766798836077147010185679399667175049618109846272274640287287149011408088880897580866431504048703683200481576698844995589925065593600677659222274479333379423987976683234376352202944448587471958501042549851456897607304499242770243391918061326716556404779874137697484179338104350310396123985951922218698786800349446193326522147255236295503182537794619165493862644134366247260461271249982664990083534301788368875804752189092437241347803 7269888827478261390809938863869854997760751618402661293823618141805736769294615541096830077149706102444798872227092044810085916656717257315506212920839309700104252768930673164961182434514396777562446571613008680616270704862641082746173304068528251793291464776474148547750549469103822612078062844702840757033144580820030356996079235116623162787302583362091826228417349542279039655809283508583415605115542361169446823565597257592261787437872001725106826586165345977435786840963087254347771932804599009049113000781044482645301775334742144198379033789626608679093664688250148751337998525753302507812082273475850531847032109342006743624642542265533183785233428845302240617503764111495495648664244206315927997937587225167044153295713470105389542198829048032101092960042351665523295964165465590108891166132266078647065917348709452941794571108864913941027848967189555298508860380108014115859728958531526984550019545740567661833394116209252370736021237894137217537673688687358197664654014664917540687766704196534548534885259869643812337024563888775976004171331270460744078204711143297714914696317103343896183410388489313403736196689184969771899444326995157698300097505240246790090876633427380809881879693514271511566429912656185635301649153384780822799500826158386271786578118491477752671445491509248283103675938049436398993294946748743290113843835884976821224503234902773150298083236921402411932566492478518821753620556418940939529922167658239135453826199456556226933432055157362431272246637411039003232775477850716958324 11762927217292947440224664520313116464904836716191534723205038479835784553627820535916379895502935636490613000622787996427043119130892529384994724946894121576490083323774603756500943342022540899894007817370021531586088188125879199732928832299587096440403677710800741224467714424182472671898080883484802956857375931818745556100021070434000359720664138081672553169370081261505318088533294886624067045035574870699777148306933626003806288384822778977119361864458087428079665212487740737499260944410483225785284392409566053970118100728691567991123909392841311934871627953860786349049548164896561640685434666853799915353096275894746989426593018561692449993417631594245581741082071298278977332507046906821637503824606826277532134100447091880950641735856355298183683073755070108306235861701399568051414323924658098120415936206959048601796721171353574756066558044070372142291028291244367235499546386825243867166751137043223606214027658499584606816417554810197983986310009286556325906079810779462944542883043770669951653811713375497944255231088321401318520097820420241010215228363402659054531463115939421043193596067888980578785814799031242046539731614144169106388978402821113221594925337110581291458578538509861436632023513333844857576128486764204810776184060534738474731026705963436253713995342966145890408175180819679790911356273465299694893717973582461000562607585213169274284035159140101198732915938671845343900875792714444122067716786823732998097960565703816688204682037822352514806548425779914807984964570287958306127 19032816044771208831034603384182971462665588334594196017028656621641521322922436077013209972652641738935411872849880041237129035787609786700500937867733431276594336092705276921462125776536937677456454388983030212202358892988520282479102136368115348233695142487274889772218263893286295283976143728187643713890520512638775913096100305550623522507966721443764379397787430803784357744342578395207482650151117231869223971872530883596068075822694780702226188450623433405515452053450827991847032877215082234834397393190610536615419876063433712189502943182467920613965292642110935100387546690649864148497516940329650447200128385236753733051235560827225633778651060439547822358585835409774472981171291113137565501762194051444576287396160561986340183934685403330284776033797421773829531825866865158160305490056924176767481853555668501543591292280218488697094407011259927440799888671352381351359275345356770851716770682783791268047421774708836977552438792704335201523983697973914523570733825444380485230649747967204500188696973245141756592255652210177294524269151690701754293433074545956769446159433042764939377006456378293982522011488216211818439175941139326804689075908061360011685801970537962101340458232024132948198453425990030492877777640148985633575684886693124746517604824454914006385440834475394173511851118869116189904651220214042985007561809467437821787110820115942424582118396061503610665482431150364165654496349133385061597638954481972133551786765160372915138114092979714946078795063190953811217740048138675264451 30795743262064156271259267904496087927570425050785730740233695101477305876550256612929589868155577375426024873472668037664172154918502316085495662814627552853084419416479880677963069118559478577350462206353051743788447081114399482212030968667702444674098820198075630996685978317468767955874224611672446670747896444457521469196121375984623882228630859525436932567157512065289675832875873281831549695186692102569001120179464509599874364207517559679345550315081520833595117265938568729346293821625565460619681785600176590585537976792125280180626852575309232548836920595971721449437094855546425789182951607183450362553224661131500722477828579388918083772068692033793404099667906708053450313678338019959203005586800877722108421496607653867290825670541758628468459107552491882135767687568264726211719813981582274887897789762627550145388013451572063453160965055330299583090916962596748586858821732182014718883521819827014874261449433208421584368856347514533185510293707260470849476813636223843429773532791737874451842508686620639700847486740531578613044366972110942764508661437948615823977622548982185982570602524267274561307826287247453864978907555283495911078054310882473233280727307648543392799036770533994384830476939323875350453906126913190444351868947227863221248631530418350260099436177441540063920026299688795980816007493679342679901279783049898822349718405329111698866153555201604809398398369822209509555372141847829183665355741305705131649747330864189603342796130802067460885343488970868619202704618426633570578 49828559306835365102293871288679059390236013385379926757262351723118827199472692689942799840808219114361436746322548078901301190706112102785996600682360984129678755509185157599425194895096416254806916595336081955990805974102919764691133105035817792907793962685350520768904242210755063239850368339860090384638416957096297382292221681535247404736597580969201311964944942869074033577218451677039032345337809334438225092051995393195942440030212340381571738765704954239110569319389396721193326698840647695454079178790787127200957852855558992370129795757777153162802213238082656549824641546196289937680468547513100809753353046368254455529064140216143717550719752473341226458253742117827923294849629133096768507348994929166684708892768215853631009605227161958753235141349913655965299513435129884372025304038506451655379643318296051688979305731790552150255372066590227023890805633949129938218097077538785570600292502610806142308871207917258561921295140218868387034277405234385373047547461668223915004182539705078952031205659865781457439742392741755907568636123801644518802094512494572593423781982024950921947608980645568543829837775463665683418083496422822715767130218943833244966529278186505494139495002558127333028930365313905843331683767062176077927553833920987967766236354873264266484877011916934237431877418557912170720658713893385664908841592517336644136829225445054123448271951263108420063880800972573675209868490981214245262994695787677265201534096024562518480910223781782406964138552161822430420444666565308835029 80624302568899521373553139193175147317806438436165657497496046824596133076022949302872389708963796489787461619795216116565473345624614418871492263496988536982763174925665038277388264013655894832157378801689133699779253055217319246903164073703520237581892782883426151765590220528223831195724592951532537055386313401553818851488343057519871286965228440494638244532102454934363709410094324958870582040524501437007226212231459902795816804237729900060917289080786475072705686585327965450539620520466213156073760964390963717786495829647684272550756648333086385711639133834054377999261736401742715726863420154696551172306577707499755178006892719605061801322788444507134630557921648825881373608527967153055971512935795806888793130389375869720921835275768920587221694248902405538101067201003394610583745118020088726543277433080923601834367319183362615603416337121920526606981722596545878525076918809720800289483814322437821016570320641125680146290151487733401572544571112494856222524361097892067344777715331442953403873714346486421158287229133273334520613003095912587283310755950443188417401404531007136904518211504912843105137664062711119548396991051706318626845184529826306478247256585835048886938531773092121717859407304637781193785589893975366522279422781148851189014867885291614526584313189358474301351903718246708151536666207572728344810121375567235466486547630774165822314425506464713229462279170794783184765240632829043428928350437093382396851281426888752121823706354583849867849482041132691049623149284991942405607 130452861875734886475847010481854206708042451821545584254758398547714960275495641992815189549772015604148898366117764195466774536330726521657488864179349521112441930434850195876813458908752311086964295397025215655770059029320239011594297178739338030489686745568776672534494462738978894435574961291392627440024730358650116233780564739055118691701826021463839556497047397803437742987312776635909614385862310771445451304283455295991759244267942240442489027846491429311816255904717362171732947219306860851527840143181750844987453682503243264920886444090863538874441347072137034549086377947939005664543888702209651982059930753868009633535956859821205518873508196980475857016175390943709296903377596286152740020284790736055477839282144085574552844880996082545974929390252319194066366714438524494955770422058595178198657076399219653523346624915153167753671709188510753630872528230495008463295015887259585860084106825048627158879191849042938708211446627952269959578848517729241595571908559560291259781897871148032355904920006352202615726971526015090428181639219714231802112850462937761010825186513032087826465820485558411648967501838174785231815074548129141342612314748770139723213785864021554381078026775650249050888337669951687037117273661037542600206976615069839156781104240164878793069190201275408538783781136804620322257324921466114009718962968084572110623376856219219945762697457727821649526159971767356859975109123810257674191345132881059662052815522913314640304616578365632274813620593294513480043593951557251240636 211077164444634407849400149675029354025848890257711241752254445372311093351518591295687579258735812093936359985912980312032247881955340940528981127676338058095205105360515234154201722922408205919121674198714349355549312084537558258497461252442858268071579528452202824300084683267202725631299554242925164495411043760203935085268907796574989978667054461958477801029149852737801452397407101594780196426386812208452677516514915198787576048505672140503406316927277904384521942490045327622272567739773074007601601107572714562773949512150927537471643092423949924586080480906191412548348114349681721391407308856906203154366508461367764811542849579426267320196296641487610487574097039769590670511905563439208711533220586542944270969671519955295474680156765003133196623639154724732167433915441919105539515540078683904741934509480143255357713944098515783357088046310431280237854250827040886988371934696980386149567921147486448175449512490168618854501598115685671532123419630224097818096269657452358604559613202590985759778634352838623774014200659288424948794642315626819085423606413380949428226591044039224730984031990471254754105165900885904780212065599835459969457499278596446201461042449856603268016558548742370768747744974589468230902863555012909122486399396218690345795972125456493319653503390633882840135684855051328473793991129038842354529084343651807577109924486993385768077122964192534878988439142562140044740349756639301103119695569974442058904096949802066762128322932949482142663102634427204529666743236549193646243 341530026320369294325247160156883560733891342079256826007012843920026053627014233288502768808507827698085258352030744507499022418286067462186469991855687579207647035795365430031015181831160517006085969595739565011319371113857797270091758431182196298561266274020979496834579146006181620066874515534317791935435774118854051319049472535630108670368880483422317357526197250541239195384719878230689810812249122979898128820798370494779335292773614380945895344773769333696338198394762689794005514959079934859129441250754465407761403194654170802392529536514813463460521827978328447097434492297620727055951197559115855136426439215235774445078806439247472839069804838468086344590272430713299967415283159725361451553505377278999748808953664040870027525037761085679171553029407043926233800629880443600495285962137279082940591585879362908881060569013668951110759755498942033868726779057535895451666950584239972009652027972535075334328704339211557562713044743637941491702268147953339413668178217012649864341511073739018115683554359190826389741172185303515376976281535341050887536456876318710439051777557071312557449852476029666403072667739060690012027140147964601312069814027366585924674828313878157649094585324392619819636082644541155268020137216050451722693376011288529502577076365621372112722693591909291378919465991855948796051316050504956364248047311736379687733301343212605713839820421920356528514599114329496904715458880449558777311040702855501720956912472715381402432939511315114417476723227721718009710337188106444886879 552607190765003702174647309831912914759740232336968067759267289292337146978532824584190348067243639792021618337943724819531270300241408402715451119532025637302852141155880664185216904753568722925207643794453914366868683198395355528589219683625054566632845802473182321134663829273384345698174069777242956430846817879057986404318380332205098649035934945380795158555347103279040647782126979825470007238635935188350806337313285693566911341279286521449301661701047238080860140884808017416278082698853008866731042358327179970535352706805098339864172628938763388046602308884519859645782606647302448447358506416022058290792947676603539256621656018673740159266101479955696832164369470482890637927188723164570163086725963821944019778625183996165502205194526088812368176668561768658401234545322362706034801502215962987682526095359506164238774513112184734467847801809373314106581029884576782440038885281220358159219949120021523509778216829380176417214642859323613023825687778177437231764447874465008468901124276330003875462188712029450163755372844591940325770923850967869972960063289699659867278368601110537288433884466500921157177833639946594792239205747800061281527313305963032126135870763734760917111143873134990588383827619130623498923000771063360845179775407507219848373048491077865432376196982543174219055150846907277269845307179543798718777131655388187264843225830205991481916943386112891407503038256891636949455808637088859880430736272829943779861009422517448164561262444264596560139825862148922539377080424655638533122 894137217085372996499894469988796475493631574416224893766280133212363200605547057872693116875751467490106876689974469327030292718527475864901921111387713216510499176951246094216232086584729239931293613390193479378188054312253152798680978114807250865194112076494161817969242975279565965765048585311560748366282591997912037723367852867835207319404815428803112516081544353820279843166846858056159818050885058168248935158111656188346246634052900902395197006474816571777198339279570707210283597657932943725860483609081645378296755901459269142256702165453576851507124136862848306743217098944923175503309703975137913427219386891839313701700462457921212998335906318423783176754641901196190605342471882889931614640231341100943768587578848037035529730232287174491539729697968812584635035175202806306530087464353242070623117681238869073119835082125853685578607557308315347975307808942112677891705835865460330168871977092556598844106921168591733979927687602961554515527955926130776645432626091477658333242635350069021991145743071220276553496545029895455702747205386308920860496520166018370306330146158181849845883736942530587560250501379007284804266345895764662593597127333329618050810699077612918566205729197527610408019910263671778766943137987113812567873151418795749350950124856699237545098890574452465597974616838763226065896623230048755083025178967124566952576527173418597195756763808033247936017637371221133854171267517538418657741776975685445500817921895232829566994201955579710977616549089870640549087417612762083420001 1446744407850376698674541779820709390253371806753192961525547422504700347584079882456883464942995107282128495027918194146561563018768884267617372230919738853813351318107126758401448991338297962856501257184647393745056737510648508327270197798432305431826957878967344139103906804552950311463222655088803704797129409876970024127686233200040305968440750374183907674636891457099320490948973837881629825289520993356599741495424941881913157975332187423844498668175863809858058480164378724626561680356785952592591525967408825348832108608264367482120874794392340239553726445747368166388999705592225623950668210391159971718012334568442852958322118476594953157602007798379480008919011371679081243269660606054501777726957304922887788366204032033201031935426813263303907906366530581243036269720525169012564888966569205058305643776598375237358609595238038420046455359117688662081888838826689460331744721146680688328091926212578122353885137997971910397142330462285167539353643704308213877197073965942666802143759626399025866607931783249726717251917874487396028518129237276790833456583455718030173608514759292387134317621409031508717428335018953879596505551643564723875124440639292650176946569841347679483316873070662600996403737882802402265866138758177173413052926826302969199323173347777102977475087556995639817029767685670503335741930409592553801802310622512754217419753003624588677673707194146139343520675628112770803627076154627278538172513248515389280678931317750277731555464399844307537756374952019563088464498037417721953123 2340881624935749695174436249809505865747003381169417855291827555717063548189626940329576581818746574772235371717892663473591855737296360132519293342307452070323850495058372852617681077923027202787794870574840873123244791822901661125951175913239556297021069955461505957073149779832516277228271240400364453163412001874882061851054086067875513287845565802987020190718435810919600334115820695937789643340406051524848676653536598070259404609385088326239695674650680381635256819443949431836845278014718896318452009576490470727128864509723636624377576959845917091060850582610216473132216804537148799453977914366297885145231721460282166660022580934516166155937914116803263185673653272875271848612132488944433392367188646023831556953782880070236561665659100437795447636064499393827671304895727975319094976430922447128928761457837244310478444677363892105625062916426004010057196647768802138223450557012141018496963903305134721197992059166563644377070018065246722054881599630438990522629700057420325135386394976468047857753674854470003270748462904382851731265334623585711693953103621736400479938660917474236980201358351562096277678836397961164400771897539329386468721567972622268227757268918960598049522602268190211404423648146474181032809276745290985980926078245098718550273298204476340522573978131448105415004384524433729401638553639641308884827489589637321169996280177043185873430471002179387279538312999333904657798343672165697195914290224200834781496853212983107298549666355424018515372924041890203637551915650179805373124 3787626032786126393848978029630215256000375187922610816817374978221763895773706822786460046761741682054363866745810857620153418756065244400136665573227190924137201813165499611019130069261325165644296127759488266868301529333550169453221373711671861728848027834428850096177056584385466588691493895489168157960541411751852085978740319267915819256286316177170927865355327268018920825064794533819419468629927044881448418148961539952172562584717275750084194342826544191493315299608328156463406958371504848911043535543899296075960973117988004106498451754238257330614577028357584639521216510129374423404646124757457856863244056028725019618344699411111119313539921915182743194592664644554353091881793094998935170094145950946719345319986912103437593601085913701099355542431029975070707574616253144331659865397491652187234405234435619547837054272601930525671518275543692672139085486595491598555195278158821706825055829517712843551877197164535554774212348527531889594235243334747204399826774023362991937530154602867073724361606637719729988000380778870247759783463860862502527409687077454430653547175676766624114518979760593604995107171416915043997277449182894110343846008611914918404703838760308277532839475338852812400827386029276583298675415503468159393979005071401687749596471552253443500049065688443745232034152210104232737380484049233862686629800212150075387416033180667774551104178196325526623058988627446675461425419826792975734086803472716224062175784530733385030105130755268326053129298993909766726016413687597527326247 6128507657721876089023414279439721121747378569092028672109202533938827443963333763116036628580488256826599238463703521093745274493361604532655958915534642994461052308223872463636811147184352368432090998334329139991546321156451830579172549624911418025869097789890356053250206364217982865919765135889532611123953413626734147829794405335791332544131881980157948056073763078938521159180615229757209111970333096406297094802498138022431967194102364076323890017477224573128572119052277588300252236386223745229495545120389766803089837627711640730876028714084174421675427610967801112653433314666523222858624039123755742008475777489007186278367280345627285469477836031986006380266317917429624940493925583943368562461334596970550902273769792173674155266745014138894803178495529368898378879511981119650754841828414099316163166692272863858315498949965822631296581191969696682196282134364293736778645835170962725322019732822847564749869256331099199151282366592778611649116842965186194922456474080783317072916549579335121582115281492189733258748843683253099491048798484448214221362790699190831133485836594240861094720338112155701272786007814876208398049346722223496812567576584537186632461107679268875582362077607043023805251034175750764331484692248759145374905083316500406299869769756729784022623043819891850647038536734537962139019037688875171571457289801787396557412313357710960424534649198504913902597301626780580119223763498958672930001093696917058843672637743716492328654797110692344568502223035799970363568329337777332699371 9916133690508002482872392309069936377747753757014639488926577512160591339737040585902496675342229938880963105209514378713898693249426848932792624488761833918598254121389372074655941216445677534076387126093817406859847850490002000032393923336583279754717125624319206149427262948603449454611259031378700769084494825378586233808534724603707151800418198157328875921429090346957441984245409763576628580600260141287745512951459677974604529778819639826408084360303768764621887418660605744763659194757728594140539080664289062879050810745699644837374480468322431752290004639325385752174649824795897646263270163881213598871719833517732205896711979756738404783017757947168749574858982561983978032375718678942303732555480547917270247593756704277111748867830927839994158720926559343969086454128234263982414707225905751503397571926708483406152553222567753156968099467513389354335367620959785335333841113329784432147075562340560408301746453495634753925494715120310501243352086299933399322283248104146309010446704182202195306476888129909463246749224462123347250832262345310716748772477776645261787033012271007485209239317872749306267893179231791252395326795905117607156413585196452105037164946439577153115201552945895836206078420205027347630160107752227304768884088387902094049466241308983227522672109508335595879072688944642194876399521738109034258087090013937471944828346538378734975638827394830440525656290254227255580649183325751648664087897169633282905848422274449877358759927865960670621631522029709737089584743025374860025618 16044641348229878571895806588509657499495132326106668161035780046099418783700374349018533303922718195707562343673217899807643967742788453465448583404296476913059306429613244538292752363630029902508478124428146546851394171646453830611566472961494697780586223414209562202677469312821432320531024167268233380208448239005320381638329129939498484344550080137486823977502853425895963143426024993333837692570593237694042607753957815997036496972922003902731974377780993337750459537712883333063911431143952339370034625784678829682140648373411285568250509182406606173965432250293186864828083139462420869121894203004969340880195611006739392175079260102365690252495593979154755955125300479413602972869644262885672295016815144887821149867526496450785904134575941978888961899422088712867465333640215383633169549054319850819560738618981347264468052172533575788264680659483086036531649755324079072112486948500747157469095295163407973051615709826733953076777081713089112892468929265119594244739722184929626083363253761537316888592169622099196505498068145376446741881060829758930970135268475836092920518848865248346303959655984905007540679187046667460793376142627341103968981161780989291669626054118846028697563630552938860011329454380778111961644800000986450143789171704402500349336011065713011545295153328227446526111225679180157015418559426984205829544379815724868502240659896089695400173476593335354428253591881007835699872946824710321594088990866550341749521060018166369687414724976653015190133745065509707453153072363152192724989 25960775038737881054768198897579593877242886083121307649962357558260010123437414934921029979264948134588525448882732278521542660992215302398241207893058310831657560551002616612948693580075707436584865250521963953711242022136455830643960396298077977535303349038528768352104732261424881775142283198646934149292943064383906615446863854543205636144968278294815699898931943772853405127671434756910466273170853378981788120705417493971641026751741643729140058738084762102372346956373489077827570625901680933510573706448967892561191459119110930405624989650729037926255436889618572617002732964258318515385164366886182939751915444524471598071791239859104095035513351926323505529984283041397581005245362941827976027572295692805091397461283200727897653002406869818883120620348648056836551787768449647615584256280225602322958310545689830670620605395101328945232780126996475390867017376283864407446328061830531589616170857503968381353362163322368707002271796833399614135821015565052993567022970289075935093809957943739512195069057752008659752247292607499793992713323175069647718907746252481354707551861136255831513198973857654313808572366278458713188702938532458711125394746977441396706791000558423181812765183498834696217407874585805459591804907753213754912673260092304594398802252374696239067967262836563042405183914623822351891818081165093240087631469829662340447069006434468430375812303988165794953909882135235091280522130150461970258176888036183624655369482292616247046174652842613685811765267095219444542737815388527052750607 42005416386967759626664005486089251376738018409227975810998137604359428907137789283939563283187666330296087792555950178329186628735003755863689791297354787744716866980615861151241445943705737339093343374950110500562636193782909661255526869259572675315889572452738330554782201574246314095673307365915167529501391303389226997085192984482704120489518358432302523876434797198749368271097459750244303965741446616675830728459375309968677523724663647631872033115865755440122806494086372410891482057045633272880608332233646722243332107492522215973875498833135644100220869139911759481830816103720739384507058569891152280632111055531210990246870499961469785288008945905478261485109583520811183978115007204713648322589110837692912547328809697178683557136982811797772082519770736769704017121408665031248753805334545453142519049164671177935088657567634904733497460786479561427398667131607943479558815010331278747085266152667376354404977873149102660079048878546488727028289944830172587811762692474005561177173211705276829083661227374107856257745360752876240734594384004828578689043014728317447628070710001504177817158629842559321349251553325126173982079081159799815094375908758430688376417054677269210510328814051773556228737328966583571553449707754200205056462431796707094748138263440409250613262416164790488931295140303002508907236640592077445917175849645387208949309666330558125775985780581501149382163474016242926980395076975172291852265878902733966404890542310782616733589377819266701001899012160729151995890887751679245475596 67966191425705640681432204383668845253980904492349283460960495162619439030575204218860593262452614464884613241438682456850729289727219058261930999190413098576374427531618477764190139523781444775678208625472074454273878215919365491899487265557650652851192921491267098906886933835671195870815590564562101678794334367773133612532056839025909756634486636727118223775366740971602773398768894507154770238912299995657618849164792803940318550476405291361012091853950517542495153450459861488719052682947314206391182038682614614804523566611633146379500488483864682026476306029530332098833549067979057899892222936777335220384026500055682588318661739820573880323522297831801767015093866562208764983360370146541624350161406530498003944790092897906581210139389681616655203140119384826540568909177114678864338061614771055465477359710361008605709262962736233678730240913476036818265684507891807887005143072161810336701437010171344735758340036471471367081320675379888341164110960395225581378785662763081496270983169649016341278730285126116516009992653360376034727307707179898226407950760980798802335622571137760009330357603700213635157823919603584887170782019692258526219770655735872085083208055235692392323093997550608252446145203552389031145254615507413959969135691889011689146940515815105489681229679001353531336479054926824860799054721757170686004807319475049549396378672765026556151798084569666944336073356151478018260917207125634262110442766938917591060260024603398863779764030661880386813664279255948596538628703140206298226203 109971607812673400308096209869758096630718922901577259271958632766978867937712993502800156545640280795180701033994632635179915918462222814125620790487767886321091294512234338915431585467487182114771552000422184954836514409702275153155014134817223328167082493944005429461669135409917509966488897930477269208295725671162360609617249823508613877124004995159420747651801538170352141669866354257399074204653746612333449577624168113908996074201068938992884124969816272982617959944546233899610534739992947479271790370916261337047855674104155362353375987317000326126697175169442091580664365171699797284399281506668487501016137555586893578565532239782043665611531243737280028500203450083019948961475377351255272672750517368190916492118902595085264767276372493414427285659890121596244586030585779710113091866949316508607996408875032186540797920530371138412227701699955598245664351639499751366563958082493089083786703162838721090163317909620574027160369553926377068192400905225398169190548355237087057448156381354293170362391512500224372267738014113252275461902091184726805096993775709116249963693281139264187147516233542772956507075472928711061152861100852058341314146564494302773459625109912961602833422811602381808674882532518972602698704323261614165025598123685718783895078779255514740294492095166144020267774195229827369706291362349248131921983169120436758345688339095584681927783865151168093718236830167720945241312284100806553962708645841651557465150566914181480513353408481147087815563291416677748534519590891885543701799 177937799238379040989528414253426941884699827393926542732919127929598306968288197721660749808092895260065314275433315092030645208189441872387551789678180984897465722043852816679621724991268626890449760625894259409110392625621640645054501400374873981018275415435272528368556069245588705837304488495039370887090060038935494222149306662534523633758491631886538971427168279141954915068635248764553844443566046607991068426788960917849314624677474230353896216823766790525113113395006095388329587422940261685662972409598875951852379240715788508732876475800865008153173481198972423679497914239678855184291504443445822721400164055642576166884193979602617545935053541569081795515297316645228713944835747497796897022911923898688920436908995492991845977415762175031082488800009506422785154939762894388977429928564087564073473768585393195146507183493107372090957942613431635063930036147391559253569101154654899420488140173010065825921657946092045394241690229306265409356511865620623750569334018000168553719139551003309511641121797626340888277730667473628310189209798364625031504944536689915052299315852277024196477873837242986591664899392532295948323643120544316867533917220230174858542833165148653995156516809152990061121027736071361633843958938769028124994733815574730473042019295070620229975721774167497551604253250156652230505346084106418817926790488595486307742067011860611238079581949720835038054310186319198963502229491226440816073151412780569148525410591517580344293117439143027474629227570672626345073148294032091841928002 287909407051052441297624624123185038515418750295503802004877760696577174906001191224460906353733176055246015309427947727210561126651664686513172580165948871218557016556087155595053310458755809005221312626316444363946907035323915798209515535192097309185357909379277957830225204655506215803793386425516640095385785710097854831766556486043137510882496627045959719078969817312307056738501603021952918648219793220324518004413129031758310698878543169346780341793583063507731073339552329287940122162933209164934762780515137288900234914819943871086252463117865334279870656368414515260162279411378652468690785950114310222416301611229469745449726219384661211546584785306361824015500766728248662906311124849052169695662441266879836929027898088077110744692134668445509774459899628019029740970348674099090521795513404072681470177460425381687305104023478510503185644313387233309594387786891310620133059237147988504274843335848786916084975855712619421402059783232642477548912770846021919759882373237255611167295932357602682003513310126565260545468681586880585651111889549351836601938312399031302263009133416288383625390070785759548171974865461007009476504221396375208848063784724477632002458275061615597989939620755371869795910268590334236542663262030642290020331939260449256937098074326134970270213869333641571872027445386479600211637446455666949848773657715923066087755350956195920007365814872003131772547016486919908743541775327247370035860058622220705990561158431761824806470847624174562444790862089304093607667884923977385629801 465847206289431482287153038376611980400118577689430344737796888626175481874289388946121656161826071315311329584861262819241206334841106558900724369844129856116022738599939972274675035450024435895671073252210703773057299660945556443264016935566971290203633324814550486198781273901094921641097874920556010982475845749033349053915863148577661144640988258932498690506138096454261971807136851786506763091785839828315586431202089949607625323556017399700676558617349854032844186734558424676269709585873470850597735190114013240752614155535732379819128938918730342433044137567386938939660193651057507652982290393560132943816465666872045912333920198987278757481638326875443619530798083373477376851146872346849066718574365165568757365936893581068956722107896843476592263259909134441814895910111568488067951724077491636754943946045818576833812287516585882594143586926818868373524423934282869873702160391802887924762983508858852742006633801804664815643750012538907886905424636466645670329216391237424164886435483360912193644635107752906148823199349060508895840321687913976868106882849088946354562324985693312580103263908028746139836874257993302957800147341940692076381981004954652490545291440210269593146456429908361930916938004661695870386622200799670415015065754835179729979117369396755200245935643501139123476280695543131830716983530562085767775564146311409373829822362816807158086947764592838169826857202806118872245771266553688186109011471402789854515971749949342169099588286767202037074018432761930438680816178956069227557803 753756613340483923584777662499797018915537327984934146742674649322752656780290580170582562515559247370557344894289210546451767461492771245413896950010078727334579755156027127869728345908780244900892385878527148137004206696269472241473532470759068599388991234193828444029006478556601137444891261346072651077861631459131203885682419634620798655523484885978458409585107913766569028545638454808459681740005633048640104435615218981365936022434560569047456900410932917540575260074110753964209831748806680015532497970629150529652849070355676250905381402036595676712914793935801454199822473062436160121673076343674443166232767278101515657783646418371939969028223112181805443546298850101726039757457997195901236414236806432448594294964791669146067466800031511922102037719808762460844636880460242587158473519590895709436414123506243958521117391540064393097329231240206101683118811721174180493835219628950876429037826844707639658091609657517284237045809795771550364454337407312667590089098764474679776053731415718514875648148417879471409368668030647389481491433577463328704708821161487977656825334119109600963728653978814505688008849123454309967276651563337067285230044789679130122547749715271885191136396050663733800712848273252030106929285462830312705035397694095628986916215443722890170516149512834780695348308140929611430928620977017752717624337804027332439917577713773003078094313579464841301599404219293038780989313041880935556144871530025010560506532908381103993906059134391376599518809294851234532288484063880046613187604 1219603819629915405871930700876408999315655905674364491480471537948928138654579969116704218677385318685868674479150473365692973796333877804314621319854208583450602493755967100144403381358804680796563459130737851910061506357215028684737549406326039889592624559008378930227787752457696059085989136266628662060337477208164552939598282783198459800164473144910957100091246010220831000352775306594966444831791472876955690866817308930973561345990577968748133459028282771573419446808669178640479541334680150866130233160743163770405463225891408630724510340955326019145958931503188393139482666713493667774655366737234576110049232944973561570117566617359218726509861439057249063077096933475203416608604869542750303132811171598017351660901685250215024188907928355398694300979717896902659532790571811075226425243668387346191358069552062535354929679056650275691472818167024970056643235655457050367537380020753764353800810353566492400098243459321949052689559808310458251359762043779313260418315155712103940940166899079427069292783525632377558191867379707898377331755265377305572815704010576924011387659104802913543831917886843251827845723381447612925076798905277759361612025794633782613093041155482154784282852480572095731629786277913725977315907663629983120050463448930808716895332813119645370762085156335919818824588836472743261645604507579838485399901950338741813747400076589810236181261344057679471426261422099157653235084308434623742253883001427800415022504658330446163005647421158578636592827727613164970969300242836115840745407 1973360432970399329456708363376206018231193233659298638223146187271680795434870549287286781192944566056426019373439683912144741257826649049728518269864287310785182248911994228014131727267584925697455845009265000047065713053484500926211081877085108488981615793202207374256794231014297196530880397612701313138199108667295756825280702417819258455687958030889415509676353923987400028898413761403426126571797105925595795302432527912339497368425138537795590359439215689113994706882779932604689373083486830881662731131372314300058312296247084881629891742991921695858873725438989847339305139775929827896328443080909019276282000223075077227901213035731158695538084551239054506623395783576929456366062866738651539547047978030465945955866476919361091655707959867320796338699526659363504169671032053662384898763259283055627772193058306493876047070596714668788802049407231071739762047376631230861372599649704640782838637198274132058189853116839233289735369604082008615814099451091980850507413920186783716993898314797941944940931943511848967560535410355287858823188842840634277524525172064901668212993223912514507560571865657757515854572504901922892353450468614826646842070584312912735640790870754039975419248531235829532342634551165756084245193126460295825085861143026437703811548256842535541278234669170700514172896977402354692574225484597591203024239754366074253664977790362813314275574923522520773025665641392196434224397350315559298398754531452810975529037566711550156911706555549955236111637022464399503257784306716162453933011 3192964252600314735328639064252615017546849139333663129703617725220608934089450518403990999870329884742294693852590157277837715054160526854043139589718495894235784742667961328158535108626389606494019304140002851957127219410699529610948631283411148378574240352210586304484581983471993255616869533879329975198536585875460309764878985201017718255852431175800372609767599934208231029251189067998392571403588578802551486169249836843313058714415716506543723818467498460687414153691449111245168914418166981747792964292115478070463775522138493512354402083947247715004832656942178240478787806489423495670983809818143595386331233168048638798018779653090377422047945990296303569700492717052132872974667736281401842679859149628483297616768162169576115844615888222719490639679244556266163702461603864737611324006927670401819130262610369029230976749653364944480274867574256041796405283032088281228909979670458405136639447551840624458288096576161182342424929412392466867173861494871294110925729075898887657934065213877369014233715469144226525752402790063186236154944108217939850340229182641825679600652328715428051392489752501009343700295886349535817430249373892586008454096378946695348733832026236194759702101011807925263972420829079482061561100790090278945136324591957246420706881069962180912040319825506620332997485813875097954219829992177429688424141704704816067412377866952623550456836267580200244451927063491354087459481658750183040652637532880611390551542225041996319917353976708533872704464750077564474227084549552278294678418 5166324685570714064785347427628821035778042372992961767926763912492289729524321067691277781063274450798720713226029841189982456311987175903771657859582783205020966991579955556172666835893974532191475149149267852004192932464184030537159713160496256867555856145412793678741376214486290452147749931492031288336735694542756066590159687618836976711540389206689788119443953858195631058149602829401818697975385684728147281471682364755652556082840855044339314177906714149801408860574229043849858287501653812629455695423487792370522087818385578393984293826939169410863706382381168087818092946265353323567312252899052614662613233391123716025919992688821536117586030541535358076323888500629062329340730603020053382226907127658949243572634639088937207500323848090040286978378771215629667872132635918399996222770186953457446902455668675523107023820250079613269076916981487113536167330408719512090282579320163045919478084750114756516477949693000415632160299016474475482987960945963274961433142996085671374927963528675310959174647412656075493312938200418474094978132951058574127864754354706727347813645552627942558953061618158766859554868391251458709783699842507412655296166963259608084374622896990234735121349543043754796315055380245238145806293916550574770222185734983684124518429326804716453318554494677320847170382791277452646794055476775020891448381459070890321077355657315436864732411191102721017477592704883550521683879009065742339051392064333422366080579791753546476829060532258489108816101772541963977484868856268440748611429 8359288938171028800113986491881436053324891512326624897630381637712898663613771586095268780933604335541015407078619998467820171366147702757814797449301279099256751734247916884331201944520364138685494453289270703961320151874883560148108344443907405246130096497623379983225958197958283707764619465371361263535272280418216376355038672819854694967392820382490160729211553792403862087400791897400211269378974263530698767640932201598965614797256571550883037996374212610488823014265678155095027201919820794377248659715603270440985863340524071906338695910886417125868539039323346328296880752754776819238296062717196210048944466559172354823938772341911913539633976531831661646024381217681195202315398339301455224906766277287432541189402801258513323344939736312759777618058015771895831574594239783137607546777114623859266032718279044552338000569903444557749351784555743155332572613440807793319192558990621451056117532301955380974766046269161597974585228428866942350161822440834569072358872071984559032862028742552679973408362881800302019065340990481660331133077059276513978204983537348553027414297881343370610345551370659776203255164277600994527213949216399998663750263342206303433108454923226429494823450554851680060287476209324720207367394706640853715358510326940930545225310396766897365358874320183941180167868605152550601013885468952450579872523163775706388489733524268060415189247458682921261929519768374904609143360667815925379704029597214033756632122016795542796746414508967022981520566522619528451711953405820719043289847 13525613623741742864899333919510257089102933885319586665557145550205188393138092653786546561996878786339736120304649839657802627678134878661586455308884062304277718725827872440503868780414338670876969602438538555965513084339067590685268057604403662113685952643036173661967334412444574159912369396863392551872007974960972442945198360438691671678933209589179948848655507650599493145550394726802029967354359948258846049112614566354618170880097426595222352174280926760290231874839907198944885489421474607006704355139091062811507951158909650300322989737825586536732245421704514416114973699020130142805608315616248824711557699950296070849858765030733449657220007073367019722348269718310257531656128942321508607133673404946381784762037440347450530845263584402800064596436786987525499446726875701537603769547301577316712935173947720075445024390153524171018428701537230268868739943849527305409475138310784496975595617052070137491243995962162013606745527445341417833149783386797844033792015068070230407789992271227990932583010294456377512378279190900134426111210010335088106069737892055280375227943433971313169298612988818543062810032668852453236997649058907411319046430305465911517483077820216664229944800097895434856602531589569958353173688623191428485580696061924614669743739723571613818677428814861262027338251396430003247807940945727471471320904622846596709567089181583497279921658649785642279407112473258455130827239676881667718755421661547456122712701808549089273575475041225512090336668295161492429196822262089159791901276 21884902561912771665013320411391693142427825397646211563187527187918087056751864239881815342930483121880751527383269838125622799044282581419401252758185341403534470460075789324835070724934702809562464055727809259926833236213951150833376402048311067359816049140659553645193292610402857867676988862234753815407280255379188819300237033258546366646326029971670109577867061443003355232951186624202241236733334211789544816753546767953583785677353998146105390170655139370779054889105585354039912691341295401383953014854694333252493814499433722206661685648712003662600784461027860744411854451774906962043904378333445034760502166509468425673797537372645363196853983605198681368372650935991452733971527281622963832040439682233814325951440241605963854190203320715559842214494802759421331021321115484675211316324416201175978967892226764627783024960056968728767780486092973424201312557290335098728667697301405948031713149354025518466010042231323611581330755874208360183311605827632413106150887140054789440652021013780670905991373176256679531443620181381794757244287069611602084274721429403833402642241315314683779644164359478319266065196946453447764211598275307409982796693647672214950591532743443093724768250652747114916890007798894678560541083329832282200939206388865545214969050120338511184036303135045203207506120001582553848821826414679922051193427786622303098056822705851557695110906108468563541336632241633359739970600344697593098459451258761489879344823825344632070321889550192535071857234817781020880908775667909878835191123 35410516185654514529912654330901950231530759282965798228744672738123275449889956893668361904927361908220487647687919677783425426722417460080987708067069403707812189185903661765338939505349041480439433658166347815892346320553018741518644459652714729473502001783695727307160627022847432027589358259098146367279288230340161262245435393697238038325259239560850058426522569093602848378501581351004271204087694160048390865866161334308201956557451424741327742344936066131069286763945492552984798180762770008390657369993785396064001765658343372506984675386537590199333029882732375160526828150795037104849512693949693859472059866459764496523656302403378812854073990678565701090720920654301710265627656223944472439174113087180196110713477681953414385035466905118359906810931589746946830468047991186212815085871717778492691903066174484703228049350210492899786209187630203693070052501139862404138142835612190445007308766406095655957254038193485625188076283319549778016461389214430257139942902208125019848442013285008661838574383470713057043821899372281929183355497079946690190344459321459113777870184749285996948942777348296862328875229615305901001209247334214821301843123953138126468074610563659757954713050750642549773492539388464636913714771953023710686519902450790159884712789843910125002713731949906465234844371398012557096629767360407393522514332409468899807623911887435054975032564758254205820743744714891814870797840021579260817214872920308946002057525633893721343897364591418047162193903112942513310105597929999038627092399 57295418747567286194925974742293643373958584680612009791932199926041362506641821133550177247857845030101239175071189515909048225766700041500388960825254745111346659645979451090174010230283744290001897713894157075819179556766969892352020861701025796833318050924355280952353919633250289895266347121332900182686568485719350081545672426955784404971585269532520168004389630536606203611452767975206512440821028371837935682619708102261785742234805422887433132515591205501848341653051077907024710872104065409774610384848479729316495580157777094713646361035249593861933814343760235904938682602569944066893417072283138894232562032969232922197453839776024176050927974283764382459093571590293162999599183505567436271214552769414010436664917923559378239225670225833919749025426392506368161489369106670888026402196133979668670870958401249331011074310267461628553989673723177117271365058430197502866810532913596393039021915760121174423264080424809236769407039193758138199772995042062670246093789348179809289094034298789332744565756646969736575265519553663723940599784149558292274619180750862947180512426064600680728586941707775181594940426561759348765420845609522231284639817600810341418666143307102851679481301403389664690382547187359315474255855282855992887459108839655705099681839964248636186750035084951668442350491399595110945451593775087315573707760196091202905680734593286612670143470866722769362080376956525174610768440366276853915674324179070435881402349459238353414219254141610582234051137930723534191014373597908917462283522 92705934933221800724838629073195593605489343963577808020676872664164637956531778027218539152785206938321726822759109193692473652489117501581376668892324148819158848831883112855512949735632785770441331372060504891711525877319988633870665321353740526306820052708051008259514546656097721922855705380431046549965856716059511343791107820653022443296844509093370226430912199630209051989954349326210783644908722531886326548485869436569987698792256847628760874860527271632917628416996570460009509052866835418165267754842265125380497345816120467220631036421787184061266844226492611065465510753364981171742929766232832753704621899428997418721110142179402988905001964962330083549814492244594873265226839729511908710388665856594206547378395605512792624261137130952279655836357982253314991957417097857100841488067851758161362774024575734034239123660477954528340198861353380810341417559570059907004953368525786838046330682166216830380518118618294861957483322513307916216234384256492927386036691556304829137536047583797994583140140117682793619087418925945653123955281229504982464963640072322060958382610813886677677529719056072043923815656177065249766630092943737052586482941553948467886740753870762609634194352154032214463875086575823952387970627235879703573979011290445864984394629808158761189463767034858133677194862797607668042081361135494709096222092605560102713304646480721667645176035624976975182824121671416989481566280387856114732889197099379381883459875093132074758116618733028629396245041043666047501119971527907956089375921 150001353680789086919764603815489236979447928644189817812609072590206000463173599160768716400643051968422965997830298709601521878255817543081765629717578893930505508477862563945686959965916530060443229085954661967530705434086958526222686183054766323140138103632406289211868466289348011818122052501763946732652425201778861425336780247608806848268429778625890394435301830166815255601407117301417296085729750903724262231105577538831773441027062270516194007376118477134765970070047648367034219924970900827939878139690744854696992925973897561934277397457036777923200658570252846970404193355934925238636346838515971647937183932398230340918563981955427164955929939246094466008908063834888036264826023235079344981603218626008216984043313529072170863486807356786199404861784374759683153446786204527988867890263985737830033644982976983365250197970745416156894188535076557927612782618000257409871763901439383231085352597926338004803782199043104098726890361707066054416007379298555597632130480904484638426630081882587327327705896764652530194352938479609377064555065379063274739582820823185008138895036878487358406116660763847225518756082738824598532050938553259283871122759154758809305406897177865461313675653557421879154257633763183267862226482518735696461438120130101570084076469772407397376213802119809802119545354197202778987532954910582024669929852801651305618985381074008280315319506491699744544904498627942164092334720754132968648563521278449817764862224552370428172335872874639211630296178974389581692134345125816873551659443 242707288614010887644603232888684830584937272607767625833285945254370638419705377187987255553428258906744692820589407903293995530744935044663142298609903042749664357309745676801199909701549315830884560458015166859242231311406947160093351504408506849446958156340457297471383012945445733740977757882194993282618281917838372769127888068261829291565274287719260620866214029797024307591361466627628079730638473435610588779591446975401761139819319118144954882236645748767683598487044218827043728977837736246105145894533009980077490271790018029154908433878823961984467502796745458035869704109299906410379276604748804401641805831827227759639674124134830153860931904208424549558722556079482909530052862964591253691991884482602423531421709134584963487747944487738479060698142357012998145404203302385089709378331837495991396419007552717399489321631223370685234387396429938737954200177570317316876717269965170069131683280092554835184300317661398960684373684220373970632241763555048525018167172460789467564166129466385321910846036882335323813440357405555030188510346608568257204546460895507069097277647692374036083646379819919269442571738915889848298681031496996336457605700708707277192147651048628070947870005711454093618132720339007220250197109754615400035417131420547435068471099580566158565677569154667935796740216994810447029614316046076733766151945407211408332290027554729947960495542116676719727728620299359153573901001141989083381452718377829199648322099645502502930452491607667841026541220018055629193254316653724829641035364 392708642294799974564367836704174067564385201251957443645895017844576638882878976348755971954071310875167658818419706612895517409000752587744907928327481936680169865787608240746886869667465845891327789543969828826772936745493905686316037687463273172587096259972863586683251479234793745559099810383958940015270707119617234194464668315870636139833704066345151015301515859963839563192768583929045375816368224339334851010697024514233534580846381388661148889612764225902449568557091867194077948902808637074045024034223754834774483197763915591089185831335860739907668161366998305006273897465234831649015623443264776049578989764225458100558238106090257318816861843454519015567630619914370945794878886199670598673595103108610640515465022663657134351234751844524678465559926731772681298850989506913078577268595823233821430063990529700764739519601968786842128575931506496665566982795570574726748481171404553300217035878018892839988082516704503059411264045927440025048249142853604122650297653365274105990796211348972649238551933646987854007793295885164407253065411987631531944129281718692077236172684570861394489763040583766494961327821654714446830731970050255620328728459863466086497554548226493532261545659268875972772390354102190488112423592273351096496855251550649005152547569352973555941891371274477737916285571192013226017147270956658758436081798208862713951275408628738228275815048608376464272633118927301317666235721896122052030016239656279017413184324197872931102788364482307052656837398992445210885388661779541703192694807 635415930908810862208971069592858898149322473859725069479180963098947277302584353536743227507499569781912351639009114516189512939745687632408050226937384979429834223097353917548086779369015161722212350001984995686015168056900852846409389191871780022034054416313320884154634492180239479300077568266153933297888989037455606963592556384132465431398978354064411636167729889760863870784130050556673455547006697774945439790288471489635295720665700506806103771849409974670133167044136086021121677880646373320150169928756764814851973469553933620244094265214684701892135664163743763042143601574534738059394900048013580451220795596052685860197912230225087472677793747662943565126353175993853855324931749164261852365586987591213064046886731798242097838982696332263157526258069088785679444255192809298168286646927660729812826482998082418164228841233192157527362963327936435403521182973140892043625198441369723369348719158111447675172382834365902020095637730147813995680490906408652647668464825826063573554962340815357971149397970529323177821233653290719437441575758596199789148675742614199146333450332263235430573409420403685764403899560570604295129413001547251956786334160572173363689702199275121603209415664980330066390523074441197708362620702027966496532272382971196440221018668933539714507568940429145673713025788186823673046761587002735492202233743616074122283565436183468176236310590725053184000361739226660471240136723038111135411468958034108217061506423843375434033240856089974893683378619010500840078642978433266532833730171 1028124573203610836773338906297032965713707675111682513125075980943523916185463329885499199461570880657080010457428821129085030348746440220152958155264866916110004088884962158294973649036481007613540139545954824512788104802394758532725426879335053194621150676286184470837885971415033224859177378650112873313159696157072841158057224700003101571232682420409562651469245749724703433976898634485718831363374922114280290800985496003868830301512081895467252661462174200572582735601227953215199626783455010394195193962980519649626456667317849211333280096550545441799803825530742068048417499039769569708410523491278356500799785360278143960756150336315344791494655591117462580693983795908224801119810635363932451039182090699823704562351754461899232190217448176787835991817995820558360743106182316211246863915523483963634256546988612118928968360835160944369491539259442932069088165768711466770373679612774276669565755036130340515160465351070405079506901776075254020728740049262256770318762479191337679545758552164330620387949904176311031829026949175883844694641170583831321092805024332891223569623016834096825063172460987452259365227382225318741960144971597507577115062620435639450187256747501615135470961324249206039162913428543388196475044294301317593029127634521845445373566238286513270449460311703623411629311359378836899063908857959394250638315541824936836234840844812206404512125639333429648272994858153961788906372444934233187441485197690387234474690748041248365136029220572281946340216018002946050964031640212808236026424978 1663540504112421698982309975889891863863030148971407582604256944042471193488047683422242426969070450438992362096437935645274543288492127852561008382202251895539838311982316075843060428405496169335752489547939820198803272859295611379134816071206833216655205092599505354992520463595272704159254946916266806611048685194528448121649781084135567002631660774473974287636975639485567304761028685042392286910381619889225730591273967493504126022177782402273356433311584175242715902645364039236321304664101383714345363891737284464478430136871782831577374361765230143691939489694485831090561100614304307767805423539291936952020580956330829820954062566540432264172449338780406145820336971902078656444742384528194303404769078291036768609238486260141330029200144509050993518076064909344040187361375125509415150562451144693447083029986694537093197202068353101896854502587379367472609348741852358813998878054144000038914474194241788190332848185436307099602539506223068016409230955670909417987227305017401253100720892979688591537347874705634209650260602466603282136216929180031110241480766947090369903073349097332255636581881391138023769126942795923037089557973144759533901396781007812813876958946776736738680376989229536105553436502984585904837664996329284089561400017493041885594584907220052984957029252132769085342337147565660572110670444962129742840549285441010958518406280995674580748436230058482832273356597380622260146509167972344322852954155724495451536197171884623799169270076662256840023594637013446891042674618646074768860155149 2691665077316032535755648882186924829576737824083090095729332924985995109673511013307741626430641331096072372553866756774359573637238568072713966537467118811649842400867278234138034077441977176949292629093894644711591377661690369911860242950541886411276355768885689825830406435010305929018432325566379679924208381351601289279707005784138668573864343194883536939106221389210270738737927319528111118273756542003506021392259463497372956323689864297740609094773758375815298638246591992451520931447556394108540557854717804114104886804189632042910654458315775585491743315225227899138978599654073877476215947030570293452820366316608973781710212902855777055667104929897868726514320767810303457564553019892126754443951168990860473171590240722040562219417592685838829509894060729902400930467557441720662014477974628657081339576975306656022165562903514046266346041846822299541697514510563825584372557666918276708480229230372128705493313536506712179109441282298322037137971004933166188305989784208738932646479445144019211925297778881945241479287551642487126830858099763862431334285791279981593472696365931429080699754342378590283134354325021241779049702944742267111016459401443452264064215694278351874151338313478742144716349931527974101312709290630601682590527652014887330968151145506566255406489563836392496971648506944497471174579302921523993478864827265947794753247125807880985260561869391912480546351455534584049052881612906577510294439353414882686010887919925872164305299297234538786363810655016392942006706258858883004886580127 4355205581428454234737958858076816693439767973054497678333589869028466303161558696729984053399711781535064734650304692419634116925730695925274974919669370707189680712849594309981094505847473346285045118641834464910394650520985981290995059021748719627931560861485195180822926898605578633177687272482646486535257066546129737401356786868274235576496003969357511226743197028695838043498956004570503405184138161892731751983533430990877082345867646700013965528085342551058014540891956031687842236111657777822885921746455088578583316941061414874488028820081005729183682804919713730229539700268378185244021370569862230404840947272939803602664275469396209319839554268678274872334657739712382114009295404420321057848720247281897241780828726982181892248617737194889823027970125639246441117828932567230077165040425773350528422606962001193115362764971867148163200544434201667014306863252416184398371435721062276747394703424613916895826161721943019278711980788521390053547201960604075606293217089226140185747200338123707803462645653587579451129548154109090408967075028943893541575766558227071963375769715028761336336336223769728306903481267817164816139260917887026644917856182451265077941174641055088612831715302708278250269786434512560006150374286959885772151927669507929216562736052726619240363518815969161582313985654510158043285249747883653736319414112706958753271653406803555566008998099450395312819708052915206309199390780878921833147393509139378137547085091810495963474569373896795626387405292029839833049380877504957773746735276 7046870658744486770493607740263741523016505797137587774062922794014461412835069710037725679830353112631137107204171449193993690562969263997988941457136489518839523113716872544119128583289450523234337747735729109621986028182676351202855301972290606039207916630370885006653333333615884562196119598049026166459465447897731026681063792652412904150360347164241048165849418417906108782236883324098614523457894703896237773375792894488250038669557510997754574622859100926873313179138548024139363167559214171931426479601172892692688203745251046917398683278396781314675426120144941629368518299922452062720237317600432523857661313589548777384374488372251986375506659198576143598848978507522685571573848424312447812292671416272757714952418967704222454468035329880728652537864186369148842048296490008950739179518400402007609762183937307849137528327875381194429546586281023966556004377762980009982743993387980553455874932654986045601319475258449731457821422070819712090685172965537241794599206873434879118393679783267727015387943432469524692608835705751577535797933128707755972910052349507053556848466080960190417036090566148318590037835592838406595188963862629293755934315583894717342005390335333440486983053616187020394986136366040534107463083577590487454742455321522816547530887198233185495770008379805554079285634161454655514459829050805177729798278939972906548024900532611436551269559968842307793366059508449790358252272393785499343441832862554260823557973011736368127779868671131334412751215947046232775056087136363840778633315403 11402076240172941005231566598340558216456273770192085452396512663042927715996628406767709733230064894166201841854476141613627807488699959923263916376805860226029203826566466854100223089136923869519382866377563574532380678703662332493850360994039325667139477491856080187476260232221463195373806870531672652994722514443860764082420579520687139726856351133598559392592615446601946825735839328669117928642032865788969525359326325479127121015425157697768540150944443477931327720030504055827205403670871949754312401347627981271271520686312461791886712098477787043859108925064655359598058000190830247964258688170294754262502260862488580987038763841648195695346213467254418471183636247235067685583143828732768870141391663554654956733247694686404346716653067075618475565834312008395283166125422576180816344558826175358138184790899309042252891092847248342592747130715225633570311241015396194381115429109042830203269636079599962497145636980392750736533402859341102144232374926141317400892423962661019304140880121391434818850589086057104143738383859860667944765008157651649514485818907734125520224235795988951753372426789918046896941316860655571411328224780516320400852171766345982419946564976388529099814768918895298645255922800553094113613457864550373226894382991030745764093623250959804736133527195774715661599619815964813557745078798688831466117693052679865301296553939414992117278558068292703106185767561364996667451663174664421176589226371693638961105058103546864091254438045028130039138621239076072608105468013868798552380050679 18448946898917427775725174338604299739472779567329673226459435457057389128831698116805435413060418006797338949058647590807621498051669223921252857833942349744868726940283339398219351672426374392753720614113292684154366706886338683696705662966329931706347394122226965194129593565837347757569926468580698819454187962341591790763484372173100043877216698297839607558442033864508055607972722652767732452099927569685207298735119219967377159684982668695523114773803544404804640899169052079966568571230086121685738880948800873963959724431563508709285395376874568358534535045209596988966576300113282310684496005770727278120163574452037358371413252213900182070852872665830562070032614754757753257156992253045216682434063079827412671685666662390626801184688396956347128103698498377544125214421912585131555524077226577365747946974836616891390419420722629537022293716996249600126315618778376204363859422497023383659144568734586008098465112238842482194354824930160814234917547891678559195491630836095898422534559904659161834238532518526628836347219565612245480562941286359405487395871257241179077072701876949142170408517356066365486979152453493978006517188643145614156786487350240699761951955311721969586797822535082319040242059166593628221076541442140860681636838312553562311624510449192990231903535575580269740885253977419469072204907849494009195915971992652771849321454472026428668548118037135010899551827069814787025703935568449920520031059234247899784663031115283232219034306716159464451889837186122305383161555150232639331013366082 29851023139090368780956740936944857955929053337521758678855948120100316844828326523573145146290482900963540790913123732421249305540369183844516774210748209970897930766849806252319574761563298262273103480490856258686747385590001016190556023960369257373486871614083045381605853798058810952943733339112371472448910476785452554845904951693787183604073049431438166951034649311110002433708561981436850380741960435474176824094445545446504280700407826393291654924747987882735968619199556135793773974900958071440051282296428855235231245117875970501172107475352355402393643970274252348564634300304112558648754693941022032382665835314525939358452016055548377766199086133084980541216251001992820942740136081777985552575454743382067628418914357077031147901341464031965603669532810385939408380547335161312371868636052752723886131765735925933643310513569877879615040847711475233696626859793772398744974851606066213862414204814185970595610749219235232930888227789501916379149922817819876596384054798756917726675440026050596653089121604583732980085603425472913425327949444011055001881690164975304597296937672938093923780944145984412383920469314149549417845413423661934557638659116586682181898520288110498686612591453977617685497981967146722334689999306691233908531221303584308075718133700152794968037062771354985402484873793384282629949986648182840662033665045332637150618008411441420785826676105427714005737594631179783693155598743114341696620285605941538745768089218830096310288744761187594491028458425198377991267023164101437883393416761 48299970038007796556681915275549157695401832904851431905315383577157705973660024640378580559350900907760879739971771323228870803592038407765769632044690559715766657707133145650538926433989672655026824094604148942841114092476339699887261686926699189079834265736310010575735447363896158710513659807693070291903098439127044345609389323866887227481289747729277774509476683175618058041681284634204582832841888005159384122829564765413881440385390495088814769698551532287540609518368608215760342546131044193125790163245229729199190969549439479210457502852226923760928179015483849337531210600417394869333250699711749310502829409766563297729865268269448559837051958798915542611248865756750574199897128334823202235009517823209480300104581019467657949086029860988312731773231308763483533594969247746443927392713279330089634078740572542825033729934292507416637334564707724833822942478572148603108834274103089597521558773548771978694075861458077715125243052719662730614067470709498435791875685634852816149209999930709758487327654123110361816432822991085158905890890730370460489277561422216483674369639549887236094189461502050777870899621767643527424362602066807548714425146466827381943850475599832468273410413989059936725740041133740350555766540748832094590168059616137870387342644149345785199940598346935255143370127770803751702154894497676849857949637037985408999939462883467849454374794142562724905289421700994570718859534311564262216651344840189438530431120334113328529323051477347058942918295611320683374428578314334077214406782843 78150993177098165337638656212494015651330886242373190584171331697258022818488351163951725705641383808724420530884895055650120109132407591610286406255438769686664588473982951902858501195552970917299927575095005201527861478066340716077817710887068446453321137350393055957341301161954969663457393146805441764352008915912496900455294275560674411085362797160715941460511332486728060475389846615641433213583848440633560946924010310860385721085798321482106424623299520170276578137568164351554116521032002264565841445541658584434422214667315449711629610327579279163321822985758101686095844900721507427982005393652771342885495245081089237088317284324996937603251044932000523152465116758743395142637264416601187787584972566591547928523495376544689096987371325020278335442764119149422941975516582907756299261349332082813520210506308468758677040447862385296252375412419200067519569338365921001853809125709155811383972978362957949289686610677312948056131280509164646993217393527318312388259740433609733875885439956760355140416775727694094796518426416558072331218840174381515491159251587191788271666577222825330017970405648035190254820091081793076842208015490469483272063805583414064125748995887942966960023005443037554411238023100887072890456540055523328498699280919722178463060777849498580167977661118290240545855001564188034332104881145859690519983302083318046150557471294909270240201470247990438911027016332174354412015133054678603913271630446130977276199209552943424839611796238534653433946754036519061365695601478435515097800199604 126450963215105961894320571488043173346732719147224622489486715274415728792148375804330306264992284716485300270856666378878990912724445999376056038300129329402431246181116097553397427629542643572326751669699154144368975570542680415965079397813767635533155403086703066533076748525851128373971052954498512056255107355039541246064683599427561638566652544889993715969988015662346118517071131249846016046425736445792945069753575076274267161471188816570921194321851052457817187655936772567314459067163046457691631608786888313633613184216754928922087113179806202924250002001241951023627055501138902297315256093364520653388324654847652534818182552594445497440303003730916065763713982515493969342534392751424390022594490389801028228628076396012347046073401186008591067215995427912906475570485830654200226654062611412903154289246881011583710770382154892712889709977126924901342511816938069604962643399812245408905531751911729927983762472135390663181374333228827377607284864236816748180135426068462550025095439887470113627744429850804456612951249407643231237109730904751975980436813009408271946036216772712566112159867150085968125719712849436604266570617557277031986488952050241446069599471487775435233433419432097491136978064234627423446223080804355423088867340535860048850403421998844365367918259465225495689225129334991786034259775643536540377932939121303455150496934178377119694576264390553163816316438033168925130874667366242866129922975286320415806630329887056753368934847715881712376865049647839744740124179792769592312206982447 204601956392204127231959227700537188998063605389597813073658046971673751610636726968282031970633668525209720801741561434529111021856853590986342444555568099089095834655099049456255928825095614489626679244794159345896837048609021132042897108700836081986476540437096122490418049687806098037428446101303953820607116270952038146519977874988236049652015342050709657430499348149074178992460977865487449260009584886426506016677585387134652882556987138053027618945150572628093765793504936918868575588195048722257473054328546898068035398884070378633716723507385482087571824987000052709722900401860409725297261487017291996273819899928741771906499836919442435043554048662916588916179099274237364485171657168025577810179462956392576157151571772557036143060772511028869402658759547062329417546002413561956525915411943495716674499753189480342387810830017278009142085389546124968862081155303990606816452525521401220289504730274687877273449082812703611237505613737992024600502257764135060568395166502072283900980879844230468768161205578498551409469675824201303568328571079133491471596064596600060217702793995537896130130272798121158380539803931229681108778633047746515258552757633655510195348467375718402193456424875135045548216087335514496336679620859878751587566621455582227313464199848342945535895920583515736235080130899179820366364656789396230897916241204621501301054405473286389934777734638543602727343454365343279542889800420921470043194605732451393082829539440000178208546643954416365810811803684358806105819781271205107410007182051 331052919607310089126279799188580362344796324536822435563144762246089480402785102772612338235625953241695021072598227813408101934581299590362398482855697428491527080836215147009653356454638258061953430914493313490265812619151701548007976506514603717519631943523799189023494798213657226411399499055802465876862223625991579392584661474415797688218667886940703373400487363811420297509532109115333465306435321332219451086431160463408920044028175954623948813267001625085910953449441709486183034655358095179949104663115435211701648583100825307555803836687191685011821826988242003733349955902999312022612517580381812649662144554776394306724682389513887932483857052393832654679893081789731333827706049919449967832773953346193604385779648168569383189134173697037460469874754974975235893116488244216156752569474554908619828789000070491926098581212172170722031795366673049870204592972242060211779095925333646629195036482186417805257211554948094274418879946966819402207787122000951808748530592570534833926076319731700582395905635429303008022420925231844534805438301983885467452032877606008332163739010768250462242290139948207126506259516780666285375349250605023547245041709683896956264947938863493837426889844307232536685194151570141919782902701664234174676433961991442276163867621847187310903814180048741231924305260234171606400624432432932771275849180325924956451551339651663509629353999029096766543659892398512204673764467787164336173117581018771808889459869327056931577481491670298078187676853332198550845943961063974699722214164498 535654875999514216358239026889117551342859929926420248636802809217763232013421829740894370206259621766904741874339789247937212956438153181348740927411265527580622915491314196465909285279733872551580110159287472836162649667760722680050873615215439799506108483960895311513912847901463324448827945157106419697469339896943617539104639349404033737870683228991413030830986711960494476501993086980820914566444906218645957103108745850543572926585163092676976432212152197714004719242946646405051610243553143902206577717443982109769683981984895686189520560194577167099393651975242056443072856304859721747909779067399104645935964454705136078631182226433330367527411101056749243596072181063968698312877707087475545642953416302586180542931219941126419332194946208066329872533514522037565310662490657778113278484886498404336503288753259972268486392042189448731173880756219174839066674127546050818595548450855047849484541212461105682530660637760797885656385560704811426808289379765086869316925759072607117827057199575931051164066841007801559431890601056045838373766873063018958923628942202608392381441804763788358372420412746328284886799320711895966484127883652770062503594467317552466460296406239212239620346269182367582233410238905656416119582322524112926264000583447024503477331821695530256439710100632256968159385391133351426766989089222329002173765421530546457752605745124949899564131733667640369271003346763855484216654268208085806216312186751223201972289408767057109786028135624714443998488657016557356951763742335179807132221346549 866707795606824305484518826077697913687656254463242684199947571463852712416206932513506708441885575008599762946938017061345314891019452771711139410266962956072149996327529343475562641734372130613533541073780786326428462286912424228058850121730043517025740427484694500537407646115120550860227444212908885574331563522935196931689300823819831426089351115932116404231474075771914774011525196096154379872880227550865408189539906313952492970613339047300925245479153822799915672692388355891234644898911239082155682380559417321471332565085720993745324396881768852111215478963484060176422812207859033770522296647780917295598109009481530385355864615947218300011268153450581898275965262853700032140583757006925513475727369648779784928710868109695802521329119905103790342408269497012801203778978901994270031054361053312956332077753330464194584973254361619453205676122892224709271267099788111030374644376188694478679577694647523487787872192708892160075265507671630829016076501766038678065456351643141951753133519307631633559972476437104567454311526287890373179205175046904426375661819808616724545180815532038820614710552694535411393058837492562251859477134257793609748636177001449422725244345102706077047236113489600118918604390475798335902485024188347100940434545438466779641199443542717567343524280680998200083690651367523033167613521655261773449614601856471414204157084776613409193485732696737135814663239162367688890418735995250142389429767769995010861749278094114041363509627295012522186165510348755907797707703399154506854435511047 1402362671606338521842757852966815465030516184389662932836750380681615944429628762254401078648145196775504504821277806309282527847457605953059880337678228483652772911818843539941471927014106003165113651233068259162591111954673146908109723736945483316531848911445589812051320494016583875309055389370015305271800903419878814470793940173223865163960034344923529435062460787732409250513518283076975294439325133769511365292648652164496065897198502139977901677691306020513920391935335002296286255142464382984362260098003399431241016547070616679934844957076346019210609130938726116619495668512718755518432075715180021941534073464186666463987046842380548667538679254507331141872037443917668730453461464094401059118680785951365965471642088050822221853524066113170120214941784019050366514441469559772383309539247551717292835366506590436463071365296551068184379556879111399548337941227334161848970192827043742328164118907108629170318532830469690045731651068376442255824365881531125547382382110715749069580190718883562684724039317444906126886202127343936211552972048109923385299290762011225116926622620295827178987130965440863696279858158204458218343605017910563672252230644319001889185540751341918316667582382671967701152014629381454752022067346712460027204435128885491283118531265238247823783234381313255168243076042500874459934602610877590775623380023387017871956762829901563308757617466364377505085666585926223173107073004203335948605741954521218212834038686861171151149537762919726966184654167365313264749471445734334313986656857596 2269070467213162827327276679044513378718172438852905617036697952145468656845835694767907787090030771784104267768215823370627842738477058724771019747945191439724922908146372883417034568748478133778647192306849045489019574241585571136168573858675526833557589338930284312588728140131704426169282833582924190846132466942814011402483240997043696590049385460855645839293934863504324024525043479173129674312205361320376773482188558478448558867811841187278826923170459843313836064627723358187520900041375622066517942478562816752712349112156337673680169353958114871321824609902210176795918480720577789288954372362960939237132182473668196849342911458327766967549947407957913040148002706771368762594045221101326572594408155600145750400352956160518024374853186018273910557350053516063167718220448461766653340593608605030249167444259920900657656338550912687637585233002003624257609208327122272879344837203232436806843696601756152658106405023178582205806916576048073084840442383297164225447838462358891021333324238191194318284011793882010694340513653631826584732177223156827811674952581819841841471803435827865999601841518135399107672916995697020470203082152168357282000866821320451311910785096444624393714818496161567820070619019857253087924552370900807128144869674323958062759730708780965391126758661994253368326766693868397493102216132532852549072994625243489286160919914678176717951103199061114640900329825088590861997491740198586090995171722291213223695787964955285192513047390214739488370819677714069172547179149133488820841092368643 3671433138819501349170034532011328843748688623242568549873448332827084601275464457022308865738175968559608772589493629679910370585934664677830900085623419923377695819965216423358506495762584136943760843539917304651610686196258718044278297595621010150089438250375874124640048634148288301478338222952939496117933370362692825873277181170267561754009419805779175274356395651236733275038561762250104968751530495089888138774837210642944624765010343327256728600861765863827756456563058360483807155183840005050880202576566216183953365659226954353615014311034460890532433740840936293415414149233296544807386448078140961178666255937854863313329958300708315635088626662465244182020040150689037493047506685195727631713088941551511715871995044211340246228377252131444030772291837535113534232661918021539036650132856156747542002810766511337120727703847463755821964789881115023805947149554456434728315030030276179135007815508864781828424937853648272251538567644424515340664808264828289772830220573074640090913514957074757003008051111326916821226715780975762796285149271266751196974243343831066958398426056123693178588972483576262803952775153901478688546687170078920954253097465639453201096325847786542710382400878833535521222633649238707839946619717613267155349304803209449345878261974019213214909993043307508536569842736369271953036818743410443324696374648630507158117682744579740026708720665425492145985996411014814035104564744401922039600913676812431436529826651816456343662585153134466454555473845079382437296650594867823134827749226239 5940503606032664176497311211055842222466861062095474166910146284972553258121300151790216652828206740343713040357709453050538213324411723402601919833568611363102618728111589306775541064511062270722408035846766350140630260437844289180446871454296536983647027589306158437228776774279992727647621056535863686964065837305506837275760422167311258344058805266634821113650330514741057299563605241423234643063735856410264912257025769121393183632822184514535555524032225707141592521190781718671328055225215627117398145055129032936665714771383292027295183664992575761854258350743146470211332629953874334096340820441101900415798438411523060162672869759036082602638574070423157222168042857460406255641551906297054204307497097151657466272348000371858270603230438149717941329641891051176701950882366483305689990726464761777791170255026432237778384042398376443459550022883118648063556357881578707607659867233508615941851512110620934486531342876826854457345484220472588425505250648125453998278059035433531112246839195265951321292062905208927515567229434607589381017326494423579008649195925650908799870229491951559178190814001711661911625692149598499158749769322247278236253964286959904513007110944231167104097219374995103341293252669095960927871172088514074283494174477533407408637992682800178606036751705301761904896609430237669446139034875943295873769369273873996444278602659257916744659823864486606786886326236103404897102056484600508130596085399103644660225614616771741536175632543349205942926293522793451609843829744001311955668841594882 9611936744852165525667345743067171066215549685338042716783594617799637859396764608812525518566382708903321812947203082730448583910346388080432819919192031286480314548076805730134047560273646407666168879386683654792240946634103007224725169049917547133736465839682032561868825408428281029125959279488803183081999207668199663149037603337578820098068225072413996388006726165977790574602167003673339611815266351500153051031862979764337808397832527841792284124893991570969348977753840079155135210409055632168278347631695249120619080430610246380910197976027036652386692091584082763626746779187170878903727268519242861594464694349377923476002828059744398237727200732888401404188083008149443748689058591492781836020586038703169182144343044583198516831607690281161972101933728586290236183544284504844726640859320918525333173065792943574899111746245840199281514812764233671869503507436035142335974897263784795076859327619485716314956280730475126708884051864897103766170058912953743771108279608508171203160354152340708324300114016535844336793945215583352177302475765690330205623439269481975758268655548075252356779786485287924715578467303499977847296456492326199190507061752599357714103436792017709814479620253828638862515886318334668767817791806127341438843479280742856754516254656819391820946744748609270441466452166606941399175853619353739198465743922504503602396285403837656771368544529912098932872322647118218932206621229002430170196999075916076096755441268588197879838217696483672397481767367872834047140480338869135090496590821121 15552440350884829702164656954123013288682410747433516883693740902772191117518064760602742171394589449247034853304912535780986797234758111483034739752760642649582933276188395036909588624784708678388576915233450004932871207071947296405172040504214084117383493428988190999097602182708273756773580336024666870046065044973706500424798025504890078442127030339048817501657056680718847874165772245096574254879002207910417963288888748885730992030654712356327839648926217278110941498944621797826463265634271259285676492686824282057284795201993538408205381641019612414240950442327229233838079409141045213000068088960344762010263132760900983638675697818780480840365774803311558626356125865609850004330610497789836040328083135854826648416691044955056787434838128430879913431575619637466938134426650988150416631585785680303124343320819375812677495788644216642741064835647352319933059865317613849943634764497293411018710839730106650801487623607301981166229536085369692191675309561079197769386338643941702315407193347606659645592176921744771852361174650190941558319802260113909214272635195132884558138885040026811534970600486999586627204159453098477006046225814573477426761026039559262227110547736248876918576839628823742203809138987430629695688963894641415722337653758276264163154247339619570426983496453911032346363061596844610845314888495297035072235113196378500046674888063095573516028368394398705719758648883221623829308677713602938300793084475019720756981055885359939416013850239832878340408060890666285656984310082870447046165432416003 25164377095736995227832002697190184354897960432771559600477335520571828976914829369415267689960972158150356666252115618511435381145104499563467559671952673936063247824265200767043636185058355086054745794620133659725112153706050303629897209554131631251119959268670223560966427591136554785899539615513470053128064252641906163573835628842468898540195255411462813889663782846696638448767939248769913866694268559410571014320751728650068800428487240198120123773820208849080290476698461876981598476043326891453954840318519531177903875632603784789115579617046649066627642533911311997464826188328216091903795357479587623604727827110278907114678525878524879078092975536199960030544208873759293753019669089282617876348669174557995830561034089538255304266445818712041885533509348223757174317970935492995143272445106598828457516386612319387576607534890056842022579648411585991802563372753648992279609661761078206095570167349592367116443904337777107875113587950266795957845368474032941540494618252449873518567547499947367969892290938280616189155119865774293735622278025804239419896074464614860316407540588102063891750386972287511342782626756598454853342682306899676617268087792158619941213984528266586733056459882652381066325025305765298463506755700768757161181133039019120917670501996438962247930241202520302787829513763451552244490742114650774270700857118883003649071173466933230287396912924310804652630971530339842761515298942605368470990083550935796853736497153948137295852067936316550737889828258539119704124790421739582136662023237124 40716817446621824929996659651313197643580371180205076484171076423344020094432894130018009861355561607397391519557028154292422178379862611046502299424713316585646181100453595803953224809843063764443322709853583664657983360777997600035069250058345715368503452697658414560064029773844828542673119951538136923174129297615612663998633654347358976982322285750511631391320839527415486322933711493866488121573270767320988977609640477535799792459141952554447963422746426127191231975643083674808061741677598150739631333005343813235188670834597323197320961258066261480868592976238541231302905597469261304903863446439932385614990959871179890753354223697305359918458750339511518656900334739369143757350279587072453916676752310412822478977725134493312091701283947142921798965084967861224112452397586481145559904030892279131581859707431695200254103323534273484763644484058938311735623238071262842223244426258371617114281007079699017917931527945079089041343124035636488149520678035112139309880956896391575833974740847554027615484467860025388041516294515965235293942080285918148634168709659747744874546425628128875426720987459287097969986786209696931859388908121473154044029113831717882168324532264515463651633299511476123270134164293195928159195719595410172883518786797295385080824749336058532674913737656431335134192575360296163089805630609947809342935970315261503695746061530028803803425281318709510372389620413561466590823976656208306771783168025955517610717553039308076711865918176149429078297889149205405361109100504610029182827455653127 65881194542358820157828662348503381998478331612976636084648411943915849071347723499433277551316533765547748185809143772803857559524967110609969859096665990521709428924718796570996860994901418850498068504473717324383095514484047903664966459612477346619623411966328638121030457364981383328572659567051606976302193550257518827572469283189827875522517541161974445280984622374112124771701650742636401988267539326731559991930392206185868592887629192752568087196566634976271522452341545551789660217720925042193586173323863344413092546467201107986436540875112910547496235510149853228767731785797477396807658803919520009219718786981458797868032749575830238996551725875711478687444543613128437510369948676355071793025421484970818309538759224031567395967729765854963684498594316084981286770368521974140703176475998877960039376094044014587830710858424330326786224132470524303538186610824911834502854088019449823209851174429291385034375432282856196916456711985903284107366046509145080850375575148841449352542288347501395585376758798306004230671414381739529029564358311722388054064784124362605190953966216230939318471374431574609312769412966295386712731590428372830661297201623876502109538516792782050384689759394128504336459189598961226622702475296178930044699919836314505998495251332497494922843978858951637922022089123747715334296372724598583613636827434144507344817234996962034090822194243020315025020591943901309352339275598813675242773251576891314464454050193256214007717986112465979816187717407744525065233890926349611319489478890251 106598011988980645087825321999816579642058702793181712568819488367259869165780617629451287412672095372945139705366171927096279737904829721656472158521379307107355610025172392374950085804744482614941391214327300989041078875262045503700035709670823061988126864663987052681094487138826211871245779518589743899476322847873131491571102937537186852504839826912486076672305461901527611094635362236502890109840810094052548969540032683721668385346771145307016050619313061103462754427984629226597721959398523192933217506329207157648281217301798431183757502133179172028364828486388394460070637383266738701711522250359452394834709746852638688621386973273135598915010476215222997344344878352497581267720228263427525709702173795383640788516484358524879487669013712997885483463679283946205399222766108455286263080506891157091621235801475709788084814181958603811549868616529462615273809848896174676726098514277821440324132181508990402952306960227935285957799836021539772256886724544257220160256532045233025186517029195055423200861226658331392272187708897704764323506438597640536688233493784110350065500391844359814745192361890861707282756199175992318572120498549845984705326315455594384277863049057297514036323058905604627606593353892157154781898194891589102928218706633609891079320000668556027597757716515382973056214664484043878424102003334546392956572797749406011040563296526990837894247475561729825397410212357462775943163252255021982014556419602846832075171603232564290719583904288615408894485606556949930426342991430959640502316934543378 172479206531339465245653984348319961640537034406158348653467900311175718237128341128884564963988629138492887891175315699900137297429796832266442017618045297629065038949891188945946946799645901465439459718801018313424174389746093407365002169283300408607750276630315690802124944503807595199818439085641350875778516398130650319143572220727014728027357368074460521953290084275639735866337012979139292098108349420784108961470424889907536978234400338059584137815879696079734276880326174778387382177119448235126803679653070502061373763768999539170194043008292082575861063996538247688838369169064216098519181054278972404054428533834097486489419722848965837911562202090934476031789421965626018778090176939782597502727595280354459098055243582556446883636743478852849167962273600031186685993134630429426966256982890035051660611895519724375915525040382934138336092748999986918811996459721086511228952602297271263533983355938281787986682392510791482874256548007443056364252771053402301010632107194074474539059317542556818786237985456637396502859123279444293353070796909362924742298277908472955256454358060590754063663736322436316595525612142287705284852088978218815366623517079470886387401565850079564421012818299733131943052543491118381404600670187768032972918626469924397077815252001053522520601695374334610978236753607791593758398376059144976570209625183550518385380531523952871985069669804750140422430804301364085295502527853835657257329671179738146539625653425820504727301890401081388710673323964694455491576882357309251821806413433629 279077218520320110333479306348136541282595737199340061222287388678435587402908958758335852376660724511438027596541487626996417035334626553922914176139424604736420648975063581320897032604390384080380850933128319302465253265008138911065037878954123470595877141294302743483219431642633807071064218604231094775254839246003781810714675158264201580532197194986946598625595546177167346960972375215642182207949159514836657931010457573629205363581171483366600188435192757183197031308310804004985104136517971428060021185982277659709654981070797970353951545141471254604225892482926642148909006552330954800230703304638424798889138280686736175110806696122101436826572678306157473376134300318123600045810405203210123212429769075738099886571727941081326371305757191850734651425952883977392085215900738884713229337489781192143281847696995434164000339222341537949885961365529449534085806308617261187955051116575092703858115537447272190938989352738726768832056384028982828621139495597659521170888639239307499725576346737612241987099212114968788775046832177149057676577235507003461430531771692583305321954749904950568808856098213298023878281811318280023856972587528064800071949832535065270665264614907377078457335877205337759549645897383275536186498865079357135901137333103534288157135252669609550118359411889717584034451418091835472182500379393691369526782422932956529425943828050943709879317145366479965819841016658826861238665780108857639271886090782584978614797256658384795446885794689696797605158930521644385917919873788268892324123347977007 451556425051659575579133290696456502923132771605498409875755288989611305640037299887220417340649353649930915487716803326896554332764423386189356193757469902365485687924954770266843979404036285545820310651929337615889427654754232318430040048237423879203627417924618434285344376146441402270882657689872445651033355644134432129858247378991216308559554563061407120578885630452807082827309388194781474306057508935620766892480882463536742341815571821426184326251072453262931308188636978783372486313637419663186824865635348161771028744839797509524145588149763337180086956479464889837747375721395170898749884358917397202943566814520833661600226418971067274738134880397091949407923722283749618823900582142992720715157364356092558984626971523637773254942500670703583819388226484008578771209035369314140195594472671227194942459592515158539915864262724472088222054114529436452897802768338347699184003718872363967392098893385553978925671745249518251706312932036425884985392266651061822181520746433381974264635664280169060773337197571606185277905955456593351029648032416366386172830049601056260578409107965541322872519834535734340473807423460567729141824676506283615438573349614536157052666180757456642878348695505070891492698440874393917591099535267125168874055959573458685234950504670663072638961107264052195012688171699627065940898755452836346096992048116507047811324359574896581864386815171230106242271820960190946534168307962693296529215761962323125154422910084205300174187685090778186315832254486338841409496756145578144145929761410636 730633643571979685912612597044593044205728508804838471098042677668046893042946258645556269717310078161368943084258290953892971368099049940112270369896894507101906336900018351587741012008426669626201161585057656918354680919762371229495077927191547349799504559218921177768563807789075209341946876294103540426288194890138213940572922537255417889091751758048353719204481176629974429788281763410423656514006668450457424823491340037165947705396743304792784514686265210446128339496947782788357590450155391091246846051617625821480683725910595479878097133291234591784312848962391531986656382273726125698980587663555822001832705095207569836711033115093168711564707558703249422784058022601873218869710987346202843927587133431830658871198699464719099626248257862554318470814179367985970856424936108198853424931962452419338224307289510592703916203485066010038108015480058885986983609076955608887139054835447456671250214430832826169864661097988245020538369316065408713606531762248721343352409385672689473990212011017781302760436409686574974052952787633742408706225267923369847603361821293639565900363857870491891681375932749032364352089234778847752998797264034348415510523182149601427717930795664833721335684572710408651042344338257669453777598400346482304775193292676992973392085757340272622757320519153769779047139589791462538123399134846527715623774471049463577237268187625840291743703960537710072062112837619017807772834088071550935801101852744908103769220166742590095621073479780474983920991185007983227327416629933847036470053109387643 1182190068623639261491745887741049547128861280410336880973797966657658198682983558532776687057959431811299858571975094280789525700863473326301626563654364409467392024824973121854584991412462955172021472236986994534244108574516603547925117975428971229003131977143539612053908183935516611612829533983975986077321550534272646070431169916246634197651306321109760839783366807082781512615591151605205130820064177386078191715972222500702690047212315126218968840937337663709059647685584761571730076763792810754433670917252973983251712470750392989402242721440997928964399805441856421824403757995121296597730472022473219204776271909728403498311259534064235986302842439100341372191981744885622837693611569489195564642744497787923217855825670988356872881190758533257902290202405851994549627633971477512993620526435123646533166766882025751243832067747790482126330069594588322439881411845293956586323058554319820638642313324218380148790332843237763272244682248101834598591924028899783165533930132106071448254847675297950363533773607258181159330858743090335759735873300339736233776191870894695826478772965836033214553895767284766704825896658239415482140621940540632030949096531764137584770596976422290364214033268215479542535042779132063371368697935613607473649249252250451658627036262010935695396281626417821974059827761491089604064297890299364061720766519165970625048592547200736873608090775708940178304384658579208754307002396034244232330317614707231228923643076826795395795261164871253170236823439494322068736913386079425180615982870798279 1912823712195618947404358484785642591334589789215175352071840644325705091725929817178332956775269509972668801656233385234682497068962523266413896933551258916569298361724991473442326003420889624798222633822044651452598789494278974777420195902620518578802636536362460789822471991724591820954776410278079526503609745424410860011004092453502052086743058079158114558987847983712755942403872915015628787334070845836535616539463562537868637752609058431011753355623602874155187987182532544360087667213948201845680516968870599804732396196660988469280339854732232520748712654404247953811060140268847422296711059686029041206608977004935973335022292649157404697867549997803590794976039767487496056563322556835398408570331631219753876727024370453075972507439016395812220761016585219980520484058907585711847045458397576065871391074171536343947748271232856492164438085074647208426865020922249565473462113389767277309892527755051206318654993941226008292783051564167243312198455791148504508886339517778760922245059686315731666294210016944756133383811530724078168442098568263106081379553692188335392379136823706525106235271700033799069177985893018263235139419204574980446459619713913739012488527772087124085549717840925888193577387117389732825146296335960089778424442544927444632019122019351208318153602145571591753106967351282552142187697025145891777344540990215434202285860734826577165351794736246650250366497496198226562079836484105795168131419467452139332692863243569385491416334644651728154157814624502305296064330016013272217086035980185922 3095013780819258208896104372526692138463451069625512233045638610983363290408913375711109643833228941783968660228208479515472022769825996592715523497205623326036690386549964595296910994833352579970244106059031645986842898068795578325345313878049489807805768513506000401876380175660108432567605944262055512580931295958683506081435262369748686284394364400267875398771214790795537455019464066620833918154135023222613808255435785038571327799821373557230722196560940537864247634868117305931817743977741012600114187886123573787984108667411381458682582576173230449713112459846104375635463898263968718894441531708502260411385248914664376833333552183221640684170392436903932167168021512373118894256934126324593973213076129007677094582850041441432845388629774929070123051218991071975070111692879063224840665984832699712404557841053562095191580338980646974290768154669235530866746432767543522059785171944087097948534841079269586467445326784463771565027733812269077910790379820048287674420269649884832370499907361613682029827983624202937292714670273814413928177971868602842315155745563083031218857909789542558320789167467318565774003882551257678717280041145115612477408716245677876597259124748509414449763751109141367736112429896521796196514994271573697252073691797177896290646158281362144013549883771989413727166795112773641746251994915445255839065307509381404827334453282027314038959885511955590428670882154777435316386838880140039400461737082159370561616506320396180887211595809522981324394638063996627364801243402092697397702018850984201 5007837493014877156300462857312334729798040858840687585117479255309068382134843192889442600608498451756637461884441864750154519838788519859129420430756882242605988748274956068739236998254242204768466739881076297439441687563074553102765509780670008386608405049868461191698852167384700253522382354540135039084541041383094366092439354823250738371137422479425989957759062774508293397423336981636462705488205869059149424794899347576439965552430431988242475552184543412019435622050649850291905411191689214445794704854994173592716504864072369927962922430905462970461825114250352329446524038532816141191152591394531301617994225919600350168355844832379045382037942434707522962144061279860614950820256683159992381783407760227430971309874411894508817896068791324882343812235576291955590595751786648936687711443230275778275948915225098439139328610213503466455206239743882739293611453689793087533247285333854375258427368834320792786100320725689779857810785376436321222988835611196792183306609167663593292744967047929413696122193641147693426098481804538492096620070436865948396535299255271366611237046613249083427024439167352364843181868444275941952419460349690592923868335959591615609747652520596538535313468950067255929689817013911529021661290607533787030498134342105340922665280300713352331703485917561005480273762464056193888439691940591147616409848499596839029620314016853891204311680248202240679037379650975661878466675364245834568593156549611509894309369563965566378627930454174709478552452688498932660865573418105969614788054831170123 8102851273834135365196567229839026868261491928466199818163117866292431672543756568600552244441727393540606122112650344265626542608614516451844943927962505568642679134824920664036147993087594784738710845940107943426284585631870131428110823658719498194414173563374461593575232343044808686089988298802190551665472337341777872173874617192999424655531786879693865356530277565303830852442801048257296623642340892281763233050335132615011293352251805545473197748745483949883683256918767156223723155169430227045908892741117747380700613531483751386645505007078693420174937574096456705081987936796784860085594123103033562029379474834264727001689397015600686066208334871611455129312082792233733845077190809484586354996483889235108065892724453335941663284698566253952466863454567363930660707444665712161528377428062975490680506756278660534330908949194150440745974394413118270160357886457336609593032457277941473206962209913590379253545647510153551422838519188705399133779215431245079857726878817548425663244874409543095725950177265350630718813152078352906024798042305468790711691044818354397830094956402791641747813606634670930617185750995533620669699501494806205401277052205269492207006777269105952985077220059208623665802246910433325218176284879107484282571826139283237213311438582075496345253369689550419207440557576829835634691686856036403455475156008978243856954767298881205243271565760157831107708261805753097194853514244385873969054893631770880455925875884361747265839526263697690802947090752495560025666816820198667012490073682154324 13110688766849012521497030087151361598059532787306887403280597121601500054678599761489994845050225845297243583997092209015781062447403036310974364358719387811248667883099876732775384991341836989507177585821184240865726273194944684530876333439389506581022578613242922785274084510429508939612370653342325590750013378724872238266313972016250163026669209359119855314289340339812124249866138029893759329130546761340912657845234480191451258904682237533715673300930027361903118878969417006515628566361119441491703597596111920973417118395556121314608427437984156390636762688346809034528511975329601001276746714497564863647373700753865077170045241847979731448246277306318978091456144072094348795897447492644578736779891649462539037202598865230450481180767357578834810675690143655886251303196452361098216088871293251268956455671503758973470237559407653907201180634157001009453969340147129697126279742611795848465389578747911172039645968235843331280649304565141720356768051042441872041033487985212018955989841457472509422072370906498324144911633882891398121418112742334739108226344073625764441332003016040725174838045802023295460367619439809562622118961844496798325145388164861107816754429789702491520390689009275879595492063924344854239837575486641271313069960481388578135976718882788848676956855607111424687714320040886029523131378796627551071885004508575082886575081315735096447583246008360071786745641456728759073320189608631708537648050181382390350235245448327313644467456717872400281499543440994492686532390238304636627278128513324447 21213540040683147886693597316990388466321024715773087221443714987893931727222356330090547089491953238837849706109742553281407605056017552762819308286681893379891347017924797396811532984429431774245888431761292184292010858826814815958987157098109004775436752176617384378849316853474317625702358952144516142415485716066650110440188589209249587682200996238813720670819617905115955102308939078151055952772887653622675890895569612806462552256934043079188871049675511311786802135888184162739351721530549668537612490337229668354117731927039872701253932445062849810811700262443265739610499912126385861362340837600598425676753175588129804171734638863580417514454612177930433220768226864328082640974638302129165091776375538697647103095323318566392144465465923832787277539144711019816912010641118073259744466299356226759636962427782419507801146508601804347947155028570119279614327226604466306719312199889737321672351788661501551293191615745996882703487823753847119490547266473686951898760366802760444619234715867015605148022548171848954863724785961244304146216155047803529819917388891980162271426959418832366922651652436694226077553370435343183291818463339303003726422440370130600023761207058808444505467909068484503261294310834778179458013860365748755595641786620671815349288157464864345022210225296661843895154877617715865157823065652663954527360160517553326743529848614616301690854811768517902894453903262481856268173703853017582506702943813153270806161121332689060910306982981570091084446634193490052712199207058503303639768202195478771 34324228807532160408190627404141750064380557503079974624724312109495431781900956091580541934542179084135093290106834762297188667503420589073793672645401281191140014901024674129586917975771268763753066017582476425157737132021759500489863490537498511356459330789860307164123401363903826565314729605486841733165499094791522348706502561225499750708870205597933575985108958244928079352175077108044815281903434414963588548740804092997913811161616280612904544350605538673689921014857601169254980287891669110029316087933341589327534850322595994015862359883047006201448462950790074774139011887455986862639087552098163289324126876341994881341779880711560148962700889484249411312224370936422431436872085794773743828556267188160186140297922183796842625646233281411622088214834854675703163313837570434357960555170649478028593418099286178481271384068009458255148335662727120289068296566751596003845591942501533170137741367409412723332837583981840213984137128318988839847315317516128823939793854787972463575224557324488114570094919078347279008636419844135702267634267790138268928143732965605926712758962434873092097489698238717521537920989875152745913937425183799802051567828534991707840515636848510936025858598077760382856786374759123033697851435852390026908711747102060393485264876347653193699167080903773268582869197658601894680954444449291505599245165026128409630104929930351398138438057776877974681199544719210615341493893461649291044350993994535661156396366781016374554774439699442491365946177634484545398731597296807940267046330708803218 55537768848215308294884224721132138530701582218853061846168027097389363509123312421671089024034132322972942996216577315578596272559438141836612980932083174571031361918949471526398450960200700537998954449343768609449747990848574316448850647635607516131896082966477691542972718217378144191017088557631357875580984810858172459146691150434749338391071201836747296655928576150044034454484016186195871234676322068586264439636373705804376363418550323692093415400281049985476723150745785331994332009422218778566928578270571257681652582249635866717116292328109856012260163213233340513749511799582372724001428389698761715000880051930124685513514519575140566477155501662179844532992597800750514077846724096902908920332642726857833243393245502363234770111699205244409365753979565695520075324478688507617705021470005704788230380527068597989072530576611262603095490691297239568682623793356062310564904142391270491810093156070914274626029199727837096687624952072835959337862583989815775838554221590732908194459273191503719718117467250196233872361205805380006413850422837941798748061121857586088984185921853705459020141350675411747615474360310495929205755888523102805777990268905122307864276843907319380531326507146244886118080685593901213155865296218138782504353533722732208834553033812517538721377306200435112478024075276317759838777510101955460126605325543681736373634778544967699829292869545395877575653447981692471609667597314666873551053937807688931962557488113705435465081422681012582450392811827974598110930804355311243906814532904281989 89861997655747468703074852125273888595082139721933036470892339206884795291024268513251630958576311407108036286323412077875784940062858730910406653577484455762171376819974145655985368935971969301752020466926245034607485122870333816938714138173106027488355413756337998707096119581281970756331818163118199608746483905649694807853193711660249089099941407434680872641037534394972113806659093294240686516579756483549852988377177798802290174580166604304997959750886588659166644165603386501249312297313887888596244666203912847009187432572231860732978652211156862213708626164023415287888523687038359586640515941796925004325006928272119566855294400286700715439856391146429255845216968737172945514718809891676652748888909915018019383691167686160077395757932486656031453968814420371223238638316258941975665576640655182816823798626354776470343914644620720858243826354024359857750920360107658314410496084892803661947834523480326997958866783709677310671762080391824799185177901505944599778348076378705371769683830515991834288212386328543512880997625649515708681484690628080067676204854823192015696944884288578551117631048914129269153395350185648675119693313706902607829558097440114015704792480755830316557185105224005268974867060353024246853716732070528809413065280824792602319817910160170732420544387104208381060893272934919654519731954551246965725850490569810146003739708475319097967730927322273852256852992700903086951161490776316164595404931802224593118953854894721810019855862380455073816338989462459143509662401652119184173860863613085207 145399766503962776997959076846406027125783721940786098317060366304274158800147580934922719982610443730080979282539989393454381212622296872747019634509567630333202738738923617182383819896172669839750974916270013644057233113718908133387564785808713543620251496722815690250068837798660114947348906720749557484327468716507867266999884862094998427491012609271428169296966110545016148261143109480436557751256078552136117428013551504606666537998716927997091375151167638644643367316349171833243644306736106667163173244474484104690840014821867727450094944539266718225968789377256755801638035486620732310641944331495686719325886980202244252368808919861841281917011892808609100378209566537923459592565533988579561669221552641875852627084413188523312165869631691900440819722793986066743313962794947449593370598110660887605054179153423374459416445221231983461339317045321599426433544153463720624975400227284074153757927679551241272584895983437514407359387032464660758523040485495760375616902297969438279964143103707495554006329853578739746753358831454895715095335113466021866424265976680778104681130806142284010137772399589541016768869710496144604325449202230005413607548366345236323569069324663149697088511612370250155092947745946925460009582028288667591917418814547524811154370943972688271141921693304643493538917348211237414358509464653202425852455816113491882377374487020286797797023796867669729832506440682595558560829088090983038146458869609913525081511343008427245484937285061467656266731801290433741620593206007430428080675396517367196 235261764159710245701033928971679915720865861662719134787952705511158954091171849448174350941186755137189015568863401471330166152685155603657426288087052086095374115558897762838369188832144639141502995383196258678664718236589241950326278923981819571108606910479153688957164957379942085703680724883867757093073952622157562074853078573755247516590954016706109041938003644939988262067802202774677244267835835035685970416390729303408956712578883532302089334902054227303810011481952558334492956604049994555759417910678396951700027447394099588183073596750423580439677415541280171089526559173659091897282460273292611723650893908474363819224103320148541997356868283955038356223426535275096405107284343880256214418110462556893872010775580874683389561627564178556472273691608406437966552601111206391569036174751316070421877977779778150929760359865852704319583143399345959284184464513571378939385896312176877815705762203031568270543762767147191718031149112856485557708218387001704975395250374348143651733826934223487388294542239907283259634356457104411423776819804094101934100470831503970120378075690430862561255403448503670285922265060681793279445142515936908021437106463785350339273861805418980013645696717594255424067814806299949706863298760359196401330484095372317413474188854132859003562466080408851874599810621146157068878241419204449391578306306683302028381114195495605895764754724189943582089359433383498645511990578867299202741863801412138118200465197903149055504793147441922730083070790752892885130255607659549612254536260130452403 380661530663673022698993005818085942846649583603505233105013071815433112891319430383097070923797198867269994851403390864784547365307452476404445922596619716428576854297821380020753008728317308981253970299466272322721951350308150083713843709790533114728858407201969379207233795178602200651029631604617314577401421338665429341852963435850245944081966625977537211234969755485004410328945312255113802019091913587822087844404280808015623250577600460299180710053221865948453378798301730167736600910786101222922591155152881056390867462215967315633168541289690298665646204918536926891164594660279824207924404604788298442976780888676608071592912240010383279273880176763647456601636101813019864699849877868835776087332015198769724637859994063206701727497195870456913093414402392504709866563906153841162406772861976958026932156933201525389176805087084687780922460444667558710618008667035099564361296539460951969463689882582809543128658750584706125390536145321146316231258872497465351012152672317581931697970037930982942300872093486023006387715288559307138872154917560123800524736808184748225059206496573146571393175848093211302691134771177937883770591718166913435044654830130586662842931130082129710734208329964505579160762552246875166872880788647863993247902909919842224628559798105547274704387773713495368138727969357394483236750883857651817430762122796793910758488682515892693561778521057613311921865874066094204072819666958282240888322671022051643281976540911576300989730432503390386349802592043326626750848813666980040335211656647819599 615923294823383268400026934789765858567515445266224367892965777326592066982491279831271421864983954004459010420266792336114713517992608080061872210683671802523950969856719142859122197560461948122756965682662531001386669586897392034040122633772352685837465317681123068164398752558544286354710356488485071670475373960822991416706042009605493460672920642683646253172973400424992672396747515029791046286927748623508058260795010111424579963156483992601270044955276093252263390280254288502229557514836095778682009065831278008090894909610066903816242138040113879105323620459817097980691153833938916105206864878080910166627674797150971890817015560158925276630748460718685812825062637088116269807134221749091990505442477755663596648635574937890091289124760049013385367106010798942676419165017360232731442947613293028448810134712979676318937164952937392100505603844013517994802473180606478503747192851637829785169452085614377813672421517731897843421685258177631873939477259499170326407403046665725583431796972154470330595414333393306266022071745663718562648974721654225734625207639688718345437282187004009132648579296596881588613399831859731163215734234103821456481761293915937002116792935501109724379905047558761003228577358546824873736179549007060394578387005292159638102748652238406278266853854122347242738538590503551552114992303062101209009068429480095939139602878011498589326533245247556894011225307449592849584810245825581443630186472434189761482441738814725356494523579945313116432873382796219511881104421326529652589747916778272002 996584825487056291099019940607851801414165028869729600997978849142025179873810710214368492788781152871729005271670183200899260883300060556466318133280291518952527824154540522879875206288779257104010935982128803324108620937205542117753966343562885800566323724883092447371632547737146487005739988093102386247876795299488420758559005445455739404754887268661183464407943155909997082725692827284904848306019662211330146105199290919440203213734084452900450755008497959200716769078556018669966158425622197001604600220984159064481762371826034219449410679329804177770969825378354024871855748494218740313131269482869208609604455685827579962409927800169308555904628637482333269426698738901136134506984099617927766592774492954433321286495569001096793016621955919470298460520413191447386285728923514073893849720475269986475742291646181201708113970040022079881428064288681076705420481847641578068108489391098781754633141968197187356801080268316603968812221403498778190170736131996635677419555718983307515129767010085453272896286426879329272409787034223025701521129639214349535149944447873466570496488683577155704041755144690092891304534603037669046986325952270734891526416124046523664959724065583239435114113377523266582389339910793700040609060337654924387826289915212001862731308450343953552971241627835842610877266559860946035351743186919753026439830552276889849898091560527391282888311766305170205933091181515687053657629912783863684518509143456241404764418279726301657484254012448703502782675974839546138631953234993509692924959573426091601 1612508120310439559499046875397617659981680474135953968890944626468617246856301990045639914653765106876188015691936975537013974401292668636528190343963963321476478794011259665738997403849241205226767901664791334325495290524102934151794088977335238486403789042564215515536031300295690773360450344581587457918352169260311412175265047455061232865427807911344829717580916556334989755122440342314695894592947410834838204365994301030864783176890568445501720799963774052452980159358810307172195715940458292780286609286815437072572657281436101123265652817369918056876293445838171122852546902328157656418338134360950118776232130482978551853226943360328233832535377098201019082251761375989252404314118321367019757098216970710096917935131143938986884305746715968483683827626423990390062704893940874306625292668088563014924552426359160878027051134992959471981933668132694594700222955028248056571855682242736611539802594053811565170473501786048501812233906661676410064110213391495806003826958765649033098561563982239923603491700760272635538431858779886744264170104360868575269775152087562184915933770870581164836690334441286974479917934434897400210202060186374556348008177417962460667076517001084349159494018425082027585617917269340524914345239886661984782404676920504161500834057102582359831238095481958189853615805150364497587466735489981854235448898981756985789037694438538889872214845011552727099944316488965279903242440158609445128148695615890431166246860018541027013978777592394016619215549357635765650513057656320039345514707490204363603 2609092945797495850598066816005469461395845503005683569888923475610642426730112700260008407442546259747917020963607158737913235284592729192994508477244254840429006618165800188618872610138020462330778837646920137649603911461308476269548055320898124286970112767447307962907663848032837260366190332674689844166228964559799832933824052900516972270182695180006013181988859712244986837848133169599600742898967073046168350471193591950304986390624652898402171554972272011653696928437366325842161874366080489781891209507799596137054419653262135342715063496699722234647263271216525147724402650822376396731469403843819327385836586168806131815636871160497542388440005735683352351678460114890388538821102420984947523690991463664530239221626712940083677322368671887953982288146837181837448990622864388380519142388563833001400294718005342079735165105032981551863361732421375671405643436875889634639964171633835393294435736022008752527274582054365105781046128065175188254280949523492441681246514484632340613691330992325376876387987187151964810841645814109769965691234000082924804925096535435651486430259554158320540732089585977067371222469037935069257188386138645291239534593542008984332036241066667588594608131802605294168007257180134224954954300224316909170230966835716163363565365552926313384209337109794032464493071710225443622818478676901607261888729534033875638935785999066281155103156777857897305877407670480966956900070071393308812667204759346672571011278298267328671463031604842720121998225332475311789145010891313549038439667063630455204 4221601066107935410097113691403087121377525977141637538779868102079259673586414690305648322096311366624105036655544134274927209685885397829522698821208218161905485412177059854357870013987261667557546739311711471975099201985411410421342144298233362773373901810011523478443695148328528033726640677256277302084581133820111245109089100355578205135610503091350842899569776268579976592970573511914296637491914483881006554837187892981169769567515221343903892354936046064106677087796176633014357590306538782562177818794615033209627076934698236465980716314069640291523556717054696270576949553150534053149807538204769446162068716651784683668863814520825776220975382833884371433930221490879640943135220742351967280789208434374627157156757856879070561628115387856437666115773261172227511695516805262687144435056652396016324847144364502957762216240025941023845295400554070266105866391904137691211819853876572004834238330075820317697748083840413607593280034726851598318391162914988247685073473250281373712252894974565300479879687947424600349273504593996514229861338360951500074700248622997836402364030424739485377422424027264041851140403472832469467390446325019847587542770959971444999112758067751937754102150227687321753625174449474749869299540110978893952635643756220324864399422655508673215447432591752222318108876860589941210285214166883461497337628515790861427973480437605171027318001789410624405821724159446246860142510230002753940815900375237103737258138316808355685441809197236736741213774690111077439658068547633588383954374553834818807 6830694011905431260695180507408556582773371480147321108668791577689902100316527390565656729538857626372022057619151293012840444970478127022517207298452473002334492030342860042976742624125282129888325576958631609624703113446719886690890199619131487060344014577458831441351358996361365294092831009930967146250810098379911078042913153256095177405793198271356856081558635980824963430818706681513897380390881556927174905308381484931474755958139874242306063909908318075760374016233542958856519464672619272344069028302414629346681496587960371808695779810769362526170819988271221418301352203972910449881276942048588773547905302820590815484500685681323318609415388569567723785608681605770029481956323163336914804480199898039157396378384569819154238950484059744391648403920098354064960686139669651067663577445216229017725141862369845037497381345058922575708657132975445937511509828780027325851784025510407398128674066097829070225022665894778713374326162792026786572672112438480689366319987734913714325944225966890677356267675134576565160115150408106284195552572361034424879625345158433487888794289978897805918154513613241109222362872510767538724578832463665138827077364501980429331148999134419526348710282030292615921632431629608974824253840335295803122866610591936488227964788208434986599656769701546254782601948570815384833103692843785068759226358049824737066909266436671452182421158567268521711699131829927213817042580301396062753483105134583776308269416615075684356904840802079456863212000022586389228803079438947137422394041617465274011 11052295078013366670792294198811643704150897457288958647448659679769161773902942080871305051635168992996127094274695427287767654656363524852039906119660691164239977442519919897334612638112543797445872316270343081599802315432131297112232343917364849833717916387470354919795054144689893327819471687187244448335391232200022323152002253611673382541403701362707698981128412249404940023789280193428194017882796040808181460145569377912644525525655095586209956264844364139867051104029719591870877054979158054906246847097029662556308573522658608274676496124839002817694376705325917688878301757123444503031084480253358219709974019472375499153364500202149094830390771403452095219538903096649670425091543905688882085269408332413784553535142426698224800578599447600829314519693359526292472381656474913754808012501868625034049989006734347995259597585084863599553952533529516203617376220684165017063603879386979402962912396173649387922770749735192320967606197518878384891063275353468937051393460985195088038197120941455977836147363082001165509388655002102798425413910721985924954325593781431324291158320403637291295576937640505151073503275983600008191969278788684986414620135461951874330261757202171464102812432257979937675257606079083724693553380446274697075502254348156813092364210863943659815104202293298477100710825431405326043388907010668530256563986565615598494882746874276623209739160356679146117520855989373460677185090531398816694299005509820880045527554931884040042346649999316193604425774712697466668461147986580725806348416171300092818 17882989089918797931487474706220200286924268937436279756117451257459063874219469471436961781174026619368149151893846720300608099626841651874557113418113164166574469472862779940311355262237825927334197893228974691224505428878851183803122543536496336894061930964929186361146413141051258621912302697118211594586201330579933401194915406867768559947196899634064555062687048230229903454607986874942091398273677597735356365453950862844119281483794969828516020174752682215627425120263262550727396519651777327250315875399444291902990070110618980083372275935608365343865196693597139107179653961096354952912361422301946993257879322292966314637865185883472413439806159973019819005147584702419699907047867069025796889749608230452941949913526996517379039529083507345220962923613457880357433067796144564822471589947084854051775130869104193032756978930143786175262609666504962141128886049464192342915387904897386801091586462271478458147793415629971034341932360310905171463735387791949626417713448720108802364141346908346655192415038216577730669503805410209082620966483083020349833950938939864812179952610382535097213731451253746260295866148494367546916548111252350125241697499963932303661410756336590990451522714288272553596890037708692699517807220781570500198368864940093301320328999072378646414760971994844731883312774002220710876492599854453599015790344615440335561792013310948075392160318923947667829219987819300674494227670832794879447782110644404656353796971546959724399251490801395650467637774735283855897264227425527863228742457788765366829 28935284167932164602279768905031843991075166394725238403566110937228225648122411552308266832809195612364276246168542147588375754283205176726597019537773855330814446915382699837645967900350369724780070209499317772824307744310982480915354887453861186727779847352399541280941467285741151949731774384305456042921592562779955724346917660479441942488600600996772254043815460479634843478397267068370285416156473638543537825599520240756763807009450065414725976439597046355494476224292982142598273574630935382156562722496473954459298643633277588358048772060447368161559573398923056796057955718219799455943445902555305212967853341765341813791229686085621508270196931376471914224686487799069370332139410974714678975019016562866726503448669423215603840107682954946050277443306817406649905449452619478577279602448953479085825119875838541028016576515228649774816562200034478344746262270148357359978991784284366204054498858445127846070564165365163355309538557829783556354798663145418563469106909705303890402338467849802633028562401298578896178892460412311881046380393805006274788276532721296136471110930786172388509308388894251411369369424477967555108517390041035111656317635425884177991672513538762454554335146546252491272147643787776424211360601227845197273871119288250114412693209936322306229865174288143208984023599433626036919881506865122129272354331181055934056674760185224698601899479280626813946740843808674135171412761364193696142081116154225536399324526478843764441598140800711844072063549447981322565725375412108589035090873960065459647 46818273257850962533767243611252044277999435332161518159683562194687289522341881023745228613983222231732425398062388867888983853910046828601154132955887019497388916388245479777957323162588195652114268102728292464048813173189833664718477430990357523621841778317328727642087880426792410571644077081423667637507793893359889125541833067347210502435797500630836809106502508709864746933005253943312376814430151236278894191053471103600883088493245035243241996614349728571121901344556244693325670094282712709406878597895918246362288713743896568441421047996055733505424770092520195903237609679316154408855807324857252206225732664058308128429094871969093921710003091349491733229834072501489070239187278043740475864768624793319668453362196419732982879636766462291271240366920275287007338517248764043399751192396038333137600250744942734060773555445372435950079171866539440485875148319612549702894379689181753005146085320716606304218357580995134389651470918140688727818534050937368189886820358425412692766479814758149288220977439515156626848396265822520963667346876888026624622227471661160948651063541168707485723039840147997671665235572972335102025065501293385236898015135389816481653083269875353445005857860834525044869037681496469123729167822009415697472239984228343415733022209008700952644626146282987940867336373435846747796374106719575728288144675796496269618466773496172773994059798204574481775960831627974809665640432196988575589863226798630192753121498025803488840849631602107494539701324183265178462989602837636452263833331748830826476 75753557425783127136047012516283888269074601726886756563249673131915515170464292576053495446792417844096701644230931015477359608193252005327751152493660874828203363303628179615603291062938565376894338312227610236873120917500816145633832318444218710349621625669728268923029347712533562521375851465729123680429386456139844849888750727826652444924398101627609063150317969189499590411402521011682662230586624874822432016652991344357646895502695100657967973053946774926616377568849226835923943668913648091563441320392392200821587357377174156799469820056503101666984343491443252699295565397535953864799253227412557419193586005823649942220324558054715429980200022725963647454520560300558440571326689018455154839787641356186394956810865842948586719744449417237321517810227092693657243966701383521977030794844991812223425370620781275088790131960601085724895734066573918830621410589760907062873371473466119209200584179161734150288921746360297744961009475970472284173332714082786753355927268130716583168818282607951921249539840813735523027288726234832844713727270693032899410504004382457085122174471954879874232348229042249083034604997450302657133582891334420348554332770815700659644755783414115899560193007380777536141185325284245547940528423237260894746111103516593530145715418945023258874491320571131149851359972869472784716255613584697857560499006977552203675141533681397472595959277485201295722701675436648944837053193561182271731944342952855729152446024504647253282447772402819338611764873631246501028714978249745041298924205708896286123 122571830683634089669814256127535932547074037059048274722933235326602804692806173599798724060775640075829127042293319883366343462103298833928905285449547894325592279691873659393560614225526761029008606414955902700921934090690649810352309749434576233971463403987056996565117228139325973093019928547152791317937180349499733975430583795173862947360195602258445872256820477899364337344407774954995039045016776111101326207706462447958529983995940135901209969668296503497738278913405471529249613763196360800970319918288310447183876071121070725240890868052558835172409113583963448602533175076852108273655060552269809625419318669881958070649419430023809351690203114075455380684354632802047510810513967062195630704556266149506063410173062262681569599381215879528592758177147367980664582483950147565376781987241030145361025621365724009149563687405973521674974905933113359316496558909373456765767751162647872214346669499878340454507279327355432134612480394111161011991866765020154943242747626556129275935298097366101209470517280328892149875684992057353808381074147581059524032731476043618033773238013123587359955388069190246754699840570422637759158648392627805585452347906205517141297839053289469344566050868215302581010223006780714671669696245246676592218351087744936945878737627953724211519117466854119090718696346305319532512629720304273585848643682774048473293608307177570246590019075689775777498662507064623754502693625758170847321807569751485921905567522530450742123297404004926833151466197814511679491704581087381493562757537457727112599 198325388109417216805861268643819820816148638785935031286182908458518319863270466175852219507568057919925828686524250898843703070296550839256656437943208769153795642995501839009163905288465326405902944727183512937795055008191465955986142067878794944321085029656785265488146575851859535614395780012881914998366566805639578825319334523000515392284593703886054935407138447088863927755810295966677701275603400985923758224359453792316176879498635236559177942722243278424354656482254698365173557432110008892533761238680702648005463428498244882040360688109061936839393457075406701301828740474388062138454313779682367044612904675705608012869743988078524781670403136801419028138875193102605951381840656080650785544343907505692458366983928105630156319125665296765914275987374460674321826450651531087353812782086021957584450991986505284238353819366574607399870639999687278147117969499134363828641122636113991423547253679040074604796201073715729879573489870081633296165199479102941696598674894686845859104116379974053130720057121142627672902973718292186653094801418274092423443235480426075118895412485078467234187736298232495837734445567872940416292231283962225934006680677021217800942594836703585244126243875596080117151408332064960219610224668483937486964462191261530476024453046898747470393608787425250240570056319174792317228885333888971443409142689751600676968749840858967719185978353174977073221364182501272699339746819319353119053751912704341651058013547035097995405745176407746171763231071445758180520419559337126534861681743166623398722 320897218793051306475675524771355753363222675844983306009116143785121124556076639775650943568343697995754955728817570782210046532399849673185561723392756663479387922687375498402724519513992087434911551142139415638716989098882115766338451817313371178292548433643842262053263803991185508707415708560034706316303747155139312800749918318174378339644789306144500807663958924988228265100218070921672740320620177097025084432065916240274706863494575372460387912390539781922092935395660169894423171195306369693504081156969013095189339499619315607281251556161620772011802570659370149904361915551240170412109374331952176670032223345587566083519163418102334133360606250876874408823229825904653462192354623142846416248900173655198521777156990368311725918506881176294507034164521828654986408934601678652730594769327052102945476613352229293387917506772548129074845545932800637463614528408507820594408873798761863637893923178918415059303480401071162014185970264192794308157066244123096639841422521242975135039414477340154340190574401471519822778658710349540461475875565855151947475966956469693152668650498202054594143124367422742592434286138295578175450879676590031519459028583226734942240433889993054588692294743811382698161631338845674891279920913730614079182813279006467421903190674852471681912726254279369331288752665480111849741515054193245029257786372525649150262358148036537965775997428864752850720026689565896453842440445077523966375559482455827572963581069565548737529042580412673004914697269260269860012124140424508028424439280624350511321 519222606902468523281536793415175574179371314630918337295299052243639444419347105951503163075911755915680784415341821681053749602696400512442218161335965432633183565682877337411888424802457413840814495869322928576512044107073581722324593885192166122613633463300627527541410379843045044321811488572916621314670313960778891626069252841174893731929383010030555743071097372077092192856028366888350441596223578082948842656425370032590883742993210609019565855112783060346447591877914868259596728627416378586037842395649715743194802928117560489321612244270682708851196027734776851206190656025628232550563688111634543714645128021293174096388907406180858915031009387678293436962105019007259413574195279223497201793244081160890980144140918473941882237632546473060421310151896289329308235385253209740084407551413074060529927605338734577626271326139122736474716185932487915610732497907642184423049996434875855061441176857958489664099681474786891893759460134274427604322265723226038336440097415929820994143530857314207470910631522614147495681632428641727114570676984129244370919202436895768271564062983280521828330860665655238430168731706168518591743110960552257453465709260247952743183028726696639832818538619407462815313039670910635110890145582214551566147275470267997897927643721751219152306335041704619571858808984654904166970400388082216472666929062277249827231107988895505684961975782039729923941390872067169153182187264396877085429311395160169224021594616600646732934787756820419176677928340706028040532543699761634563286121023790973910043 840119825695519829757212318186531327542593990475901643304415196028760568975423745727154106644255453911435740144159392463263796135096250185627779884728722096112571488370252835814612944316449501275726047011462344215229033205955697488663045702505537300906181896944469789594674183834230553029227197132951327630974061115918204426819171159349272071574172316175056550735056297065320457956246437810023181916843755179973927088491286272865590606487785981479953767503322842268540527273575038154019899822722748279541923552618728838384142427736876096602863800432303480862998598394147001110552571576868402962673062443586720384677351366880740179908070824283193048391615638555167845785334844911912875766549902366343618042144254816089501921297908842253608156139427649354928344316418117984294644319854888392815002320740126163475404218690963871014188832911670865549561731865288553074347026316150005017458870233637718699335100036876904723403161875858053907945430398467221912479331967349134976281519937172796129182945334654361811101205924085667318460291138991267576046552549984396318395169393365461424232713481482576422473985033077981022603017844464096767193990637142288972924737843474687685423462616689694421510833363218845513474671009756310002170066495945165645330088749274465319830834396603690834219061295983988903147561650135016016711915442275461501924715434802898977493466136932043650737973210904482774661417561633065607024627709474401051804870877615996796985175686166195470463830337233092181592625609966297900544667840186142591710560304415324421364 1359342432597988353038749111601706901721965305106819980599714248272400013394770851678657269720167209827116524559501214144317545737792650698069998046064687528745755054053130173226501369118906915116540542880785272791741077313029279210987639587697703423519815360245097317136084563677275597351038685705867948945644375076697096052888424000524165803503555326205612293806153669142412650812274804698373623513067333262922769744916656305456474349480996590499519622616105902614988119151489906413616628450139126865579765948268444581578945355854436585924476044702986189714194626128923852316743227602496635513236750555221264099322479388173914276296978230464051963422625026233461282747439863919172289340745181589840819835388335976980482065438827316195490393771974122415349654468314407313602879705108098132899409872153200224005331824029698448640460159050793602024277917797776468685079524223792189440508866668513573760776276894835394387502843350644945801704890532741649516801597690575173312721617353102617123326476191968569282011837446699814814141923567632994690617229534113640689314371830261229695796776464763098250804845698733219452771749550632615358937101597694546426390447103722640428606491343386334254329371982626308328787710680666945113060212078159717211477364219542463217758478118354909986525396337688608475006370634789920183682315830357677974591644497080148804724574125827549335699948992944212698602808433700234760206814973871278137234182272776166021006770302766842203398618094053511358270553950672325941077211539947777154996681328206298331407 2199462258293508182795961429788238229264559295582721623904129444301160582370194597405811376364422663738552264703660606607581341872888900883697777930793409624858326542423383009041114313435356416392266589892247617006970110518984976699650685290203240724425997257189567106730758747511506150380265882838819276576618436192615300479707595159873437875077727642380668844541209966207733108768521242508396805429911088442896696833407942578322064955968782571979473390119428744883528646425064944567636528272861875145121689500887173419963087783591312682527339845135289670577193224523070853427295799179365038475909812998807984483999830755054654456205049054747245011814240664788629128532774708831085165107295083956184437877532590793069983986736736158449098549911401771770277998784732525297897524024962986525714412192893326387480736042720662319654648991962464467573839649663065021759426550539942194457967736902151292460111376931712299110906005226502999709650320931208871429280929657924308289003137290275413252509421526622931093113043370785482132602214706624262266663782084098037007709541223626691120029489946245674673278830731811200475374767395096712126131092234836835399315184947197328114029953960076028675840205345845153842262381690423255115230278574104882856807452968816928537589312514958600820744457633672597378153932284924936200394231272633139476516359931883047782218040262759592986437922203848695473264225995333300367231442683345679189039053150392162817991945988933037673862448431286603539863179560638623841621879380133919746707241632621622752771 3558804690891496535834710541389945130986524600689541604503843692573560595764965449084468646084589873565668789263161820751898887610681551581767775976858097153604081596476513182267615682554263331508807132773032889798711187832014255910638324877900944147945812617434664423866843311188781747731304568544687225522262811269312396532596019160397603678581282968586281138347363635350145759580796047206770428942978421705819466578324598883778539305449779162478993012735534647498516765576554850981253156723001002010701455449155618001542033139445749268451815889838275860291387850651994705744039026781861673989146563554029248583322310143228568732502027285211296975236865691022090411280214572750257454448040265546025257712920926770050466052175563474644588943683375894185627653253046932611500403730071084658613822065046526611486067866750360768295109151013258069598117567460841490444506074763734383898476603570664866220887653826547693498408848577147945511355211463950520946082527348499481601724754643378030375835897718591500375124880817485296946744138274257256957281011618211677697023913053887920815826266411008772924083676430544419928146516945729327485068193832531381825705632050919968542636445303462362930169577328471462171050092371090200228290490652264600068284817188359391755347790633313510807269853971361205853160302919714856384076547102990817451108004428963196586942614388587142322137871196792908171867034429033535127438257657216957326273235423168328838998716291699879877261066525340114898133733511310949782699090920081696901703922960827921084178 5758266949185004718630671971178183360251083896272263228407973136874721178135160046490280022449012537304221053966822427359480229483570452465465553907651506778462408138899896191308729995989619747901073722665280506805681298350999232610289010168104184872371809874624231530597602058700287898111570451383506502098881247461927697012303614320271041553659010610966949982888573601557878868349317289715167234372889510148716163411732541462100604261418561734458466402854963392382045412001619795548889684995862877155823144950042791421505120923037061950979155734973565530868581075175065559171334825961226712465056376552837233067322140898283223188707076339958541987051106355810719539812989281581342619555335349502209695590453517563120450038912299633093687493594777665955905652037779457909397927755034071184328234257939852998966803909471023087949758142975722537171957217123906512203932625303676578356444340472816158680999030758259992609314853803650945221005532395159392375363457006423789890727891933653443628345319245214431468237924188270779079346352980881519223944793702309714704733454277514611935855756357254447597362507162355620403521284340826039611199286067368217225020816998117296656666399263538391606009782674316616013312474061513455343520769226369482925092270157176320292937103148272111628014311605033803231314235204639792584470778375623956927624364360846244369160654651346735308575793400641603645131260424366835494669700340562636515312288573560491656990662280632917551123514956626718437996913071949573624320970300215616648411164593449543836949 9317071640076501254465382512568128491237608496961804832911816829448281773900125495574748668533602410869889843229984248111379117094252004047233329884509603932066489735376409373576345678543883079409880855438313396604392486183013488520927335046005129020317622492058895954464445369889069645842875019928193727621144058731240093544899633480668645232240293579553231121235937236908024627930113336921937663315867931854535629990057140345879143566868340896937459415590498039880562177578174646530142841718863879166524600399198409423047154062482811219430971624811841391159968925827060264915373852743088386454202940106866481650644451041511791921209103625169838962287972046832809951093203854331600074003375615048234953303374444333170916091087863107738276437278153560141533305290826390520898331485105155842942056322986379610452871776221383856244867293988980606770074784584748002648438700067410962254920944043481024901886684584807686107723702380798890732360743859109913321445984354923271492452646577031474004181216963805931843362805005756076026090491255138776181225805320521392401757367331402532751682022768263220521446183592900040331667801286555367096267479899899599050726449049037265199302844567000754536179360002788078184362566432603655571811259878634082993377087345535712048284893781585622435284165576395009084474538124354648968547325478614774378732368789809440956103269039933877630713664597434511816998294853400370622107957997779593841585523996728820495989378572332797428384581481966833336130646583260523407020061220297313550115087554277464921127 15075338589261505973096054483746311851488692393234068061319789966323002952035285542065028690982614948174110897196806675470859346577822456512698883792161110710528897874276305564885075674533502827310954578103593903410073784534012721131216345214109313892689432366683127485062047428589357543954445471311700229720025306193167790557203247800939686785899304190520181104124510838465903496279430626637104897688757442003251793401789681807979747828286902631395925818445461432262607589579794442079032526714726756322347745349241200844552274985519873170410127359785406922028550001002125824086708678704315098919259316659703714717966591939795015109916179965128380949339078402643529490906193135912942693558710964550444648893827961896291366130000162740831963930872931226097438957328605848430296259240139227027270290580926232609419675685692406944194625436964703143942032001708654514852371325371087540611365284516297183582885715343067678717038556184449835953366276254269305696809441361347061383180538510684917632526536209020363311600729194026855105436844236020295405170599022831107106490821608917144687537779125517668118808690755255660735189085627381406707466765967267816275747266047154561855969243830539146142189142677104694197675040494117110915332029105003565918469357502712032341221996929857734063298477181428812315788773328994441553018103854238731306356733150655685325263923691280612939289457998076115462129555277767206116777658338342230356897812570289312152980040852965714979508096438593551774127559655210097031341031520512930198526252147727008758076 24392410229338007227561436996314440342726300890195872894231606795771284725935411037639777359516217359044000740426790923582238463672074460559932213676670714642595387609652714938461421353077385906720835433541907300014466270717026209652143680260114442913007054858742023439526492798478427189797320491239893957341169364924407884102102881281608332018139597770073412225360448075373928124209543963559042561004625373857787423391846822153858891395155243528333385234035959472143169767157969088609175368433590635488872345748439610267599429048002684389841098984597248313188518926829186089002082531447403485373462256766570196368611042981306807031125283590298219911627050449476339441999396990244542767562086579598679602197202406229462282221088025848570240368151084786238972262619432238951194590725244382870212346903912612219872547461913790800439492730953683750712106786293402517500810025438498502866286228559778208484772399927875364824762258565248726685727020113379219018255425716270332875633185087716391636707753172826295154963534199782931131527335491159071586396404343352499508248188940319677439219801893780888640254874348155701066856886913936773803734245867167415326473715096191827055272088397539900678368502679892772382037606926720766487143288983637648911846444848247744389506890711443356498582642757823821400263311453349090521565429332853505685089101940465126281367192731214490570003122595510627279127850131167576738885616336121824198483336567018132648969419425298512407892677920560385110258206238470620438361092740810243748641339702004473679203 39467748818599513200657491480060752194214993283429940955551396762094287677970696579704806050498832307218111637623597599053097810249896917072631097468831825353124285483929020503346497027610888734031790011645501203424540055251038930783360025474223756805696487225425150924588540227067784733751765962551594187061194671117575674659306129082548018804038901960593593329484958913839831620488974590196147458693382815861039216793636503961838639223442146159729311052481420904405777356737763530688207895148317391811220091097680811112151704033522557560251226344382655235217068927831311913088791210151718584292721573426273911086577634921101822141041463555426600860966128852119868932905590126157485461120797544149124251091030368125753648351088188589402204299024016012336411219948038087381490849965383609897482637484838844829292223147606197744634118167918386894654138788002057032353181350809586043477651513076075392067658115270943043541800814749698562639093296367648524715064867077617394258813723598401309269234289381846658466564263393809786236964179727179366991567003366183606614739010549236822126757581019298556759063565103411361802045972541318180511201011834435231602220981143346388911241332228079046820557645356997466579712647420837877402475318088641214830315802350959776730728887641301090561881119939252633716052084782343532074583533187092236991445835091120811606631116422495103509292580593586742741257405408934782855663274674464054555381149137307444801949460278264227387400774359153936884385765893680717469702124261323173947167591849731482437279 63860159047937520428218928476375192536941294173625813849783003557865572403906107617344583410015049666262112378050388522635336273921971377632563311145502539995719673093581735441807918380688274640752625445187408503439006325968065140435503705734338199718703542084167174364115033025546211923549086453791488144402364036041983558761409010364156350822178499730667005554845406989213759744698518553755190019698008189718826640185483326115697530618597389688062696286517380376548947123895732619297383263581908027300092436846120421379751133081525241950092325328979903548405587854660498002090873741599122069666183830192844107455188677902408629172166747145724820772593179301596208374904987116402028228682884123747803853288232774355215930572176214437972444667175100798575383482567470326332685440690627992767694984388751457049164770609519988545073610898872070645366245574295459549853991376248084546343937741635853600552430515198818408366563073314947289324820316481027743733320292793887727134446908686117700905942042554672953621527797593592717368491515218338438577963407709536106122987199489556499565977382913079445399318439451567062868902859455254954314935257701602646928694696239538215966513420625618947498926148036890238961750254347558643889618607072278863742162247199207521120235778352744447060463762697076455116315396235692622596148962519945742676534937031585937887998309153709594079295703189097370020385255540102359594548891010585878753864485704325577450918879703562739795293452279714321994643972132151337908063217002133417695808931551735956116482 103327907866537033628876419956435944731156287457055754805334400319959860081876804197049389460513881973480224015673986121688434084171868294705194408614334365348843958577510755945154415408299163374784415456832909706863546381219104071218863731208561956524400029309592325288703573252613996657300852416343082331463558707159559233420715139446704369626217401691260598884330365903053591365187493143951337478391391005579865856979119830077536169842039535847792007338998801280954724480633496149985591158730225419111312527943801232491902837115047799510343551673362558783622656782491809915179664951750840653958905403619118018541766312823510451313208210701151421633559308153716077307810577242559513689803681667896928104379263142480969578923264403027374648966199116810911794702515508413714176290656011602665177621873590301878456993757126186289707729066790457540020384362297516582207172727057670589821589254711928992620088630469761451908363888064645851963913612848676268448385159871505121393260632284519010175176331936519612088092060987402503605455694945517805569530411075719712737726210038793321692734963932378002158382004554978424670948831996573134826136269536037878530915677382884604877754752853697994319483793393887705541462901768396521292093925160920078572478049550167297850964665994045537622344882636329088832367481018036154670732495707037979667980772122706749494629425576204697588588283782684112761642660949037142450212165685049933309245634841633022252868339981826967182694226638868258879029738025832055377765341263456591642976523401467438553761 167188066914474554057095348432811137268097581630681568655117403877825432485782911814393972870528931639742336393724374644323770358093839672337757719759836905344563631671092491386962333788987438015537040902020318210302552707187169211654367436942900156243103571393759499652818606278160208580849938870134570475865922743201542792182124149810860720448395901421927604439175772892267351109886011697706527498089399195298692497164603156193233700460636925535854703625516181657503671604529228769282974422312133446411404964789921653871653970196573041460435877002342462332028244637152307917270538693349962723625089233811962125996954990725919080485374957846876242406152487455312285682715564358961541918486565791644731957667495916836185509495440617465347093633374217609487178185082978740046861731346639595432872606262341758927621764366646174834781339965662528185386629936592976132061164103305755136165526996347782593172519145668579860274926961379593141288733929329704012181705452665392848527707540970636711081118374491192565709619858580995220973947210163856244147493818785255818860713409528349821258712346845457447557700444006545487539851691451828089141071527237640525459610373622422820844268173479316941818409941430777944503213156115955165181712532233198942314640296749374818971200444346789984682808645333405543948682877253728777266881458226983722344515709154292687382627734729914291667883986971781482782027916489139502044761056695635812063110120545958599703787219685389706977987678918582580873673710157983393285828558265590009338785454953203394670243 270515974781011587685971768389247081999253869087737323460451804197785292567659716011443362331042813613222560409398360766012204442265707967042952128374171270693407590248603247332116749197286601390321456358853227917166099088406273282873231168151462112767503600703351824941522179530774205238150791286477652807329481450361102025602839289257565090074613303113188203323506138795320942475073504841657864976480790200878558354143722986270769870302676461383646710964514982938458396085162724919268565581042358865522717492733722886363556807311620840970779428675705021115650901419644117832450203645100803377583994637431080144538721303549429531798583168548027664039711795609028362990526141601521055608290247459541660062046759059317155088418705020492721742599573334420398972887598487153761038022002651198098050228135932060806078758123772361124489069032452985725407014298890492714268336830363425725987116251059711585792607776138341312183290849444238993252647542178380280630090612536897969920968173255155721256294706427712177797711919568397724579402905109374049717024229860975531598439619567143142951447310777835449716082448561523912210800523448401223967207796773678403990526051005307425722022926333014936137893734824665650044676057884351686473806457394119020887118346299542116822165110340835522305153527969734632781050358271764931937613953934021702012496481276999436877257160306118989256472270754465595543670577438176644494973222380685745372355755387591621956655559667216674160681905557450839752703448183815448663593899529046600981761978354670833224004 437704041695486141743067116822058219267351450718418892115569208075610725053442627825837335201571745252964896803122735410335974800359547639380709848134008176037971221919695738719079082986274039405858497260873546127468651795593442494527598605094362269010607172097111324594340785808934413819000730156612223283195404193562644817784963439068425810523009204535115807762681911687588293584959516539364392474570189396177250851308326142464003570763313386919501414590031164595962067689691953688551540003354492311934122457523644540235210777508193882431215305678047483447679146056796425749720742338450766101209083871243042270535676294275348612283958126394903906445864283064340648673241705960482597526776813251186392019714254976153340597914145637958068836232947552029886151072681465893807899753349290793530922834398273819733700522490418535959270408998115513910793644235483468846329500933669180862152643247407494178965126921806921172458217810823832134541381471508084292811796065202290818448675714225792432337413080918904743507331778149392945553350115273230293864518048646231350459153029095492964210159657623292897273782892568069399750652214900229313108279324011318929450136424627730246566291099812331877956303676255443594547889214000306851655518989627317963201758643048916935793365554687625506987962173303140176729733235525493709204495412161005424357012190431292124259884895036033280924356257726247078325698493927316146539734279076321557435465875933550221660442779352606381138669584476033420626377158341798841949422457794636610320547433307874227894247 708220016476497729429038885211305301266605319806156215576021012273396017621102343837280697532614558866187457212521096176348179242625255606423661976508179446731378812168298986051195832183560640796179953619726774044634750883999715777400829773245824381778110772800463149535862965339708619057151521443089876090524885643923746843387802728325990900597622507648304011086188050482909236060033021381022257451050979597055809205452049128734773441065989848303148125554546147534420463774854678607820105584396851177456839950257367426598767584819814723401994734353752504563330047476440543582170945983551569478793078508674122415074397597824778144082541294942931570485576078673369011663767847562003653135067060710728052081761014035470495686332850658450790578832520886450285123960279953047568937775351941991628973062534205880539779280614190897083759478030568499636200658534373961560597837764032606588139759498467205764757734697945262484641508660268071127794029013686464573441886677739188788369643887480948153593707787346616921305043697717790670132753020382604343581542278507206882057592648662636107161606968401128346989865341129593311961452738348630537075487120784997333440662475633037672288314026145346814094197411080109244592565271884658538129325447021436984088876989348459052615530665028461029293115701272874809510783593797258641142109366095027126369508671708291561137142055342152270180828528480712673869369071365492791034707501457007302807821631321141843617098339019823055299351490033484260379080606525614290613016357323683211302309411662545061118251 1145924058171983871172106002033363520533956770524575107691590220349006742674544971663118032734186304119152354015643831586684154042984803245804371824642187622769350034087994724770274915169834680202038450880600320172103402679593158271928428378340186650788717944897574474130203751148643032876152251599702099373720289837486391661172766167394416711120631712183419818848869962170497529644992537920386649925621168993233060056760375271198777011829303235222649540144577312130382531464546632296371645587751343489390962407781011966833978362328008605833210040031799988011009193533236969331891688322002335580002162379917164685610073892100126756366499421337835476931440361737709660337009553522486250661843873961914444101475269011623836284246996296408859415065468438480171275032961418941376837528701232785159895896932479700273479803104609433043029887028684013546994302769857430406927338697701787450292402745874699943722861619752183657099726471091903262335410485194548866253682742941479606818319601706740585931120868265521664812375475867183615686103135655834637446060327153438232516745677758129071371766626024421244263648233697662711712104953248859850183766444796316262890798900260767918854605125957678692050501087335552839140454485884965389784844436648754947290635632397375988408896219716086536281077874576014986240516829322752350346604778256032550726520862139583685397026950378185551105184786206959752195067565292808937574441780533328860243287507254692065277541118372429436438021074509517681005457764867413132562438815118319821622856844970419289012498 1854144074648481600601144887244668821800562090330731323267611232622402760295647315500398730266800862985339811228164927763032333285610058852228033801150367069500728846256293710821470747353395320998218404500327094216738153563592874049329258151586011032566828717698037623666066716488351651933303773042791975464245175481410138504560568895720407611718254219831723829935058012653406765705025559301408907376672148590288869262212424399933550452895293083525797665699123459664802995239401310904191751172148194666847802358038379393432745947147823329235204774385552492574339241009677512914062634305553905058795240888591287100684471489924904900449040716280767047417016440411078672000777401084489903796910934672642496183236283047094331970579846954859649993897989324930456398993241371988945775304053174776788868959466685580813259083718800330126789365059252513183194961304231391967525176461734394038432162244341905708480596317697446141741235131359974390129439498881013439695569420680668395187963489187688739524828655612138586117419173584974285818856156038438981027602605660645114574338326420765178533373594425549591253513574827256023673557691597490387259253565581313596331461375893805591142919152103025506144698498415662083733019757769623927914169883670191931379512621745835041024426884744547565574193575848889795751300423120010991488714144351059677096029533847875246534169005720337821286013314687672426064436636658301728609149281990336163051109138575833908894639457392252491737372564543001941384538371393027423175455172442003032925166256632964350130749 3000068132820465471773250889278032342334518860855306430959201452971409502970192287163516763000987167104492165243808759349716487328594862098032405625792554692270078880344288435591745662523230001200256855380927414388841556243186032321257686529926197683355546662595612097796270467636994684809456024642494074837965465318896530165733335063114824322838885932015143648783927974823904295350018097221795557302293317583521929318972799671132327464724596318748447205843700771795185526703947943200563396759899538156238764765819391360266724309475831935068414814417352480585348434542914482245954322627556240638797403268508451786294545382025031656815540137618602524348456802148788332337786954606976154458754808634556940284711552058718168254826843251268509408963457763410627674026202790930322612832754407561948764856399165281086738886823409763169819252087936526730189264074088822374452515159436181488724564990216605652203457937449629798840961602451877652464849984075562305949252163622148002006283090894429325455949523877660250929794649452157901504959291694273618473662932814083347091084004178894249905140220449970835517161808524918735385662644846350237443020010377629859222260276154573509997524278060704198195199585751214922873474243654589317699014320318946878670148254143211029433323104460634101855271450424904781991817252442763341835318922607092227822550395987458931931195956098523372391198100894632178259504201951110666183591062523665023294396645830525974172180575764681928175393639052519622389996136260440555737893987560322854548023101603383639143247 4854212207468947072374395776522701164135080951186037754226812685593812263265839602663915493267788030089831976471973687112748820614204920950260439426942921761770807726600582146413216409876625322198475259881254508605579709806778906370586944681512208715922375380293649721462337184125346336742759797685286050302210640800306668670293903958835231934557140151846867478718985987477311061055043656523204464678965466173810798581185224071065877917619889402274244871542824231459988521943349254104755147932047732823086567123857770753699470256623655264303619588802904973159687675552591995160016956933110145697592644157099738886979016871949936557264580853899369571765473242559867004338564355691466058255665743307199436467947835105812500225406690206128159402861447088341084073019444162919268388136807582338737633815865850861899997970542210093296608617147189039913384225378320214341977691621170575527156727234558511360684054255147075940582196733811852042594289482956575745644821584302816397194246580082118064980778179489798837047213823037132187323815447732712599501265538474728461665422330599659428438513814875520426770675383352174759059220336443840624702273575958943455553721652048379101140443430163729704339898084166877006606494001424213245613184203989138810049660875889046070457749989205181667429465026273794577743117675562774333324033066958151904918579929835334178465364961818861193677211415582304604323940838609412394792740344514001186345505784406359883066820033156934419912766203595521563774534507653467978913349160002325887473189358236347989273996 7854280340289412544147646665800733506469599812041344185186014138565221766236031889827432256268775197194324141715782446462465307942799783048292845052735476454040886606944870582004962072399855323398732115262181922994421266049964938691844631211438406399277922042889261819258607651762341021552215822327780125140176106119203198836027239021950056257396026083862011127502913962301215356405061753745000021981258783757332727900158023742198205382344485721022692077386525003255174048647297197305318544691947270979325331889677162113966194566099487199372034403220257453745036110095506477405971279560666386336390047425608190673273562253974968214080120991517972096113930044708655336676351310298442212714420551941756376752659387164530668480233533457396668811824904851751711747045646953849591000969561989900686398672265016142986736857365619856466427869235125566643573489452409036716430206780606757015881292224775117012887512192596705739423158336263729695059139467032138051594073747924964399200529670976547390436727703367459087977008472489290088828774739426986217974928471288811808756506334778553678343654035325491262287837191877093494444882981290190862145293586336573314775981928202952611137967708224433902535097669918091929479968245078802563312198524308085688719809130032257099891073093665815769284736476698699359734934928005537675159351989565244132741130325822793110396560917917384566068409516476936782583445040560523060976331407037666209639902430236885857239000608921616348088159842648041186164530643913908534651243147562648742021212459839731628417243 12708492547758359616522042442323434670604680763227381939412826824159034029501871492491347749536563227284156118187756133575214128557004703998553284479678398215811694333545452728418178482276480645597207375143436431600000975856743845062431575892950615115200297423182911540720944835887687358294975620013066175442386746919509867506321142980785288191953166235708878606221899949778526417460105410268204486660224249931143526481343247813264083299964375123296936948929349234715162570590646451410073692623995003802411899013534932867665664822723142463675653992023162426904723785648098472565988236493776532033982691582707929560252579125924904771344701845417341667879403287268522341014915665989908270970086295248955813220607222270343168705640223663524828214686351940092795820065091116768859389106369572239424032488130867004886734827907829949763036486382314606556957714830729251058407898401777332543038019459333628373571566447743781680005355070075581737653428949988713797238895332227780796394776251058665455417505882857257925024222295526422276152590187159698817476194009763540270421928665378213106782167850201011689058512575229268253504103317734031486847567162295516770329703580251331712278411138388163606874995754084968936086462246503015808925382728297224498769470005921303170348823082870997436714201502972493937478052603568312008483385056523396037659710255658127288861925879736245759745620932059241386907385879169935455769071751551667395985408214643245740305820642078550768000926046243562749939065151567376513564592307564974629494401818076079617691239 20562772888047772160669689108124168177074280575268726124598840962724255795737903382318780005805338424478480259903538580037679436499804487046846129532413874669852580940490323310423140554676335968995939490405618354594422241906708783754276207104389021514478219466072173359979552487650028379847191442340846300582562853038713066342348382002735344449349192319570889733724813912079741773865167164013204508641483033688476254381501271555462288682308860844319629026315874237970336619237943648715392237315942274781737230903212094981631859388822629663047688395243419880649759895743604949971959516054442918370372739008316120233526141379899872985424822836935313763993333331977177677691266976288350483684506847190712189973266609434873837185873757120921497026511256791844507567110738070618450390075931562140110431160395883147873471685273449806229464355617440173200531204283138287774838105182384089558919311684108745386459078640340487419428513406339311432712568417020851848832969080152745195595305922035212845854233586224717013001230768015712364981364926586685035451122481052352079178435000156766785125821885526502951346349767106361747948986299024222348992860748632090085105685508454284323416378846612597509410093424003060865566430491581818372237581252605310187489279135953560270239896176536813205998937979671193297212987531573849683642737046088640170400840581480920399258486797653630325814030448536178169490830919730458516745403158589333605625310644880131597544821251000167116089085888891603936103595795481285048215835455127623371515614277915811246108482 33271265435806131777191731550447602847678961338496108064011667786883289825239774874810127755341901651762636378091294713612893565056809191045399414012092272885664275274035776038841319036952816614593146865549054786194423217763452628816707782997339636629678516889255084900700497323537715738142167062353912476024949599958222933848669524983520632641302358555279768339946713861858268191325272574281408995301707283619619780862844519368726371982273235967616565975245223472685499189828590100125465929939937278584149129916747027849297524211545772126723342387266582307554483681391703422537947752548219450404355430591024049793778720505824777756769524682352655431872736619245700018706182642278258754654593142439668003193873831705217005891513980784446325241197608731937303387175829187387309779182301134379534463648526750152760206513181279755992500841999754779757488919113867538833246003584161422101957331143442373760030645088084269099433868476414893170365997367009565646071864412380525991990082173093878301271739469081974938025453063542134641133955113746383852927316490815892349600363665534979891907989735727514640404862342335630001453089616758253835840427910927606855435389088705616035694789985000761116285089178088029801652892738084834181162963980902534686258749141874863440588719259407810642713139482643687234691040135142161692126122102612036208060550837139047688120412677389876085559651380595419556398216798900393972514474910141001001610718859523377337850641893078717884090011935135166686042660947048661561780427762692598001010016095991890863799721 53834038323853903937861420658571771024753241913764834188610508749607545620977678257128907761147240076241116637994833293650573001556613678092245543544506147555516856214526099349264459591629152583589086355954673140788845459670161412570983990101728658144156736355327258260680049811187744117989358504694758776607512452996936000191017906986255977090651550874850658073671527773938009965190439738294613503943190317308096035244345790924188660664582096811936195001561097710655835809066533748840858167255879553365886360819959122830929383600368401789771030782510002188204243577135308372509907268602662368774728169599340170027304861885724650742194347519287969195866069951222877696397449618566609238339099989630380193167140441140090843077387737905367822267708865523781810954286567258005760169258232696519644894808922633300633678198454729562221965197617194952958020123397005826608084108766545511660876642827551119146489723728424756518862381882754204603078565784030417494904833492533271187585388095129091147125973055306691951026683831557847006115320040333068888378438971868244428778798665691746677033811621254017591751212109441991749402075915782476184833288659559696940541074597159900359111168831613358625695182602091090667219323229666652553400545233507844873748028277828423710828615435944623848712077462314880531904027666716011375768859148700676378461391418619968087378899475043506411373681829131597725889047718630852489259878068730334607236029504403508935395463144078885000179097824026770622146256742529946609996263217820221372525630373907702109908203 87105303759660035715053152209019373872432203252260942252622176536490835446217453131939035516489141728003753016086128007263466566613422869137644957556598420441181131488561875388105778628581969198182233221503727926983268677433614041387691773099068294773835253244582343161380547134725459856131525567048671252632462052955158934039687431969776609731953909430130426413618241635796278156515712312576022499244897600927715816107190310292915032646855332779552760976806321183341334998895123848966324097195816831950035490736706150680226907811914173916494373169776584495758727258527011795047855021150881819179083600190364219821083582391549428498963872201640624627738806570468577715103632260844867992993693132070048196361014272845307848968901718689814147508906474255719114341462396445393069948440533830899179358457449383453393884711636009318214466039616949732715509042510873365441330112350706933762833973970993492906520368816509025618296250359169097773444563151039983140976697904913797179575470268222969448397712524388666889052136895099981647249275154079452741305755462684136778379162331226726568941801356981532232156074451777621750855165532540730020673716570487303795976463685865516394805958816614119741980271780179120468872215967751486734563509214410379560006777419703287151417334695352434491425216944958567766595067801858173067894981251312712586521942255759015775499312152433382496933333209727017282287264517531246461774352978871335608846748363926886273246105037157602884269109759161937308188917689578608171776690980512819373535646469899592973707924 140939342083513939652914572867591144897185445166025776441232685286098381067195131389067943277636381804244869654080961300914039568170036547229890501101104567996697987703087974737370238220211121781771319577458401067772114137103775453958675763200796952917991989599909601422060596945913203974120884071743430029239974505952094934230705338956032586822605460304981084487289769409734288121706152050870636003188087918235811851351536101217103693311437429591488955978367418893997170807961657597807182264451696385315921851556665273511156291412282575706265403952286586683962970835662320167557762289753544187953811769789704389848388444277274079241158219720928593823604876521691455411501081879411477231332793121700428389528154713985398692046289456595181969776615339779500925295748963703398830117698766527418824253266372016754027562910090738880436431237234144685673529165907879192049414221117252445423710616798544612053010092544933782137158632241923302376523128935070400635881531397447068367160858363352060595523685579695358840078820726657828653364595194412521629684194434552381207157960996918473245975612978235549823907286561219613500257241448323206205507005230047000736517538283025416753917127648227478367675454382270211136091539197418139287964054447918224433754805697531710862245950131297058340137294407273448298499095468574184443663840400013388964983333674378983862878211627476888908307015038858615008176312236162098951034231047601670216082777868330395208641568181236487884448207583188707930335174432108554781772954198333040746061276843807295083616127 228044645843173975367967725076610518769617648418286718693854861822589216513412584521006978794125523532248622670167089308177506134783459416367535458657702988437879119191649850125476016848793090979953552798962128994755382814537389495346367536299865247691827242844491944583441144080638663830252409638792101281872436558907253868270392770925809196554559369735111510900908011045530566278221864363446658502432985519163527667458726411510018725958292762371041716955173740077338505806856781446773506361647513217265957342293371424191383199224196749622759777122063171179721698094189331962605617310904426007132895369980068609669472026668823507740122091922569218451343683092160033126604714140256345224326486253770476585889168986830706541015191175284996117285521814035220039637211360148791900066139300358318003611723821400207421447621726748198650897276851094418389038208418752557490744333467959379186544590769538104959530461361442807755454882601092400149967692086110383776858229302360865546736328631575030043921398104084025729130957621757810300613870348491974370989949897236517985537123328145199814917414335217082056063361012997235251112406980863936226180721800534304532494001968890933148723086464841598109655726162449331604963755165169626022527563662328603993761583117234998013663284826649492831562511352232016065094163270432357511558821651326101551505275930137999638377523779910271405240348248585632290463576753693345412808584026473005824929526232257281481887673218394090768717317342350645238524092121687162953549645178845860119596923313706888057324051 368983987926687915020882297944201663666803093584312495135087547108687597580607715910074922071761905336493492324248050609091545702953495963597425959758807556434577106894737824862846255069004212761724872376420530062527496951641164949305043299500662200609819232444401546005501741026551867804373293710535531311112411064859348802501098109881841783377164830040092595388197780455264854399928016414317294505621073437399339518810262512727122419269730191962530672933541158971335676614818439044580688626099209602581879193850036697702539490636479325329025181074349757863684668929851652130163379600657970195086707139769772999517860470946097586981280311643497812274948559613851488538105796019667822455659279375470904975417323700816105233061480631880178087062137153814720964932960323852190730183838066885736827864990193416961449010531817487079087328514085239104062567374326631749540158554585211824610255207568082717012540553906376589892613514843015702526490821021180784412739760699807933913897186994927090639445083683779384569209778348415638953978465542904496000674144331788899192695084325063673060893027313452631879970647574216848751369648429187142431687727030581305269011540251916349902640214113069076477331180544719542741055294362587765310491618110246828427516388814766708875909234957946551171699805759505464363593258739006541955222662051339490516488609604516983501255735407387160313547363287444247298639888989855444363842815074074676041012304100587676690529241399630578653165524925539353168859266553795717735322599377178900865658200157514183140940178 597028633769861890388850023020812182436420742002599213828942408931276814094020300431081900865887428868742114994415139917269051837736955379964961418416510544872456226086387674988322271917797303741678425175382659057282879766178554444651410835800527448301646475288893490588942885107190531634625703349327632592984847623766602670771490880807650979931724199775204106289105791500795420678149880777763953008054058956562867186268988924237141145228022954333572389888714899048674182421675220491354194987746722819847836536143408121893922689860676074951784958196412929043406367024040984092768996911562396202219602509749841609187332497614921094721402403566067030726292242706011521664710510159924167679985765629241381561306492687646811774076671807165174204347658967849941004570171684000982630249977367244054831476714014817168870458153544235277738225790936333522451605582745384307030902888053171203796799798337620821972071015267819397648068397444108102676458513107291168189597990002168799460633515626502120683366481787863410298340735970173449254592335891396470371664094229025417178232207653208872875810441648669713936034008587214084002482055410051078657868448831115609801505542220807283051363300577910674586986906707168874346019049527757391333019181772575432421277971932001706889572519784596044003262317111737480428687422009438899466781483702665592067993885534654983139633259187297431718787711536029879589103465743548789776651399100547681865941830332844958172416914618024669421882842267889998407383358675482880688872244556024760985255123471221071198264229 966012621696549805409732320965013846103223835586911708964029956039964411674628016341156822937649334205235607318663190526360597540690451343562387378175318101307033332981125499851168526986801516503403297551803189119810376717819719393956454135301189648911465707733295036594444626133742399438998997059863163904097258688625951473272588990689492763308889029815296701677303571956060275078077897192081247513675132393962206705079251436964263564497753146296103062822256058020009859036493659535934883613845932422429715729993444819596462180497155400280810139270762686907091035953892636222932376512220366397306309649519614608705192968561018681702682715209564843001240802319863010202816306179591990135645045004712286536723816388462917007138152439045352291409796121664661969503132007853173360433815434129791659341704208234130319468685361722356825554305021572626514172957072016056571061442638383028407055005905703538984611569174195987540681912287123805202949334128471952602337750701976733374530702621429211322811565471642794867550514318589088208570801434300966372338238560814316370927291978272545936703468962122345816004656161430932753851703839238221089556175861696915070517082472723632954003514690979751064318087251888417087074343890345156643510799882822260848794360746768415765481754742542595174962122871242944792280680748445441422004145754005082584482495139171966640888994594684592032335074823474126887743354733404234140494214174622357906954134433432634862946156017655248075048367193429351576242625229278598424194843933203661850913323628735254339204407 1563041255466411695798582343985826028539644577589510922792972364971241225768648316772238723803536763073977722313078330443629649378427406723527348796591828646179489559067513174839490798904598820245081722727185848177093256483998273838607864971101717097213112183022188527183387511240932931073624700409190796497082106312392554144044079871497143743240613229590500807966409363456855695756227777969845200521729191350525073891348240361201404709725776100629675452710970957068684041458168880027289078601592655242277552266136852941490384870357831475232595097467175615950497402977933620315701373423782762599525912159269456217892525466175939776424085118775631873727533045025874531867526816339516157815630810633953668098030309076109728781214824246210526495757455089514602974073303691854155990683792801373846490818418223051299189926838905957634563780095957906148965778539817400363601964330691554232203854804243324360956682584442015385188750309731231907879407847235763120791935740704145532835164218247931332006178047259506205165891250288762537463163137325697436744002332789839733549159499631481418812513910610792059752038664748645016756333759249289299747424624692812524872022624693530916005366815268890425651304993959057291433093393418102547976529981655397693270072332678770122655054274527138639178224439982980425220968102757884340888785629456670674652476380673826949780522253781982023751122786359504006476846820476953023917145613275170039772895964766277593035363070635679917496931209461319349983625983904761479113067088489228422836168447099956325537468636 2529053877162961501208314664950839874642868413176422631757002321011205637443276333113395546741186097279213329631741520969990246919117858067089736174767146747486522892048638674690659325891400336748485020278989037296903633201817993232564319106402906746124577890755483563777832137374675330512623697469053960401179365001018505617316668862186636506549502259405797509643712935412915970834305675161926448035404323744487280596427491798165668274223529246925778515533227015088693900494662539563223962215438587664707267996130297761086847050854986875513405236737938302857588438931826256538633749936003128996832221808789070826597718434736958458126767833985196716728773847345737542070343122519108147951275855638665954634754125464572645788352976685255878787167251211179264943576435699707329351117608235503638150160122431285429509395524267679991389334400979478775479951496889416420173025773329937260610909810149027899941294153616211372729432222018355713082357181364235073394273491406122266209694920869360543328989612731149000033441764607351625671733938759998403116340571350654049920086791609753964749217379572914405568043320910075949510185463088527520836980800554509439942539707166254548959370329959870176715623081210945708520167737308447704620040781538219954118866693425538538420536029269681234353186562854223370013248783506329782310789775210675757236958875812998916421411248376666615783457861182978133364590175210357258057639827449792397679850099199710227898309226653335165571979576654748701559868609134040077537261932422432084687081770728691579876673043 4092095132629373197006897008936665903182512990765933554549974685982446863211924649885634270544722860353191051944819851413619896297545264790617084971358975393666012451116151849530150124795999156993566743006174885473996889685816267071172184077504623843337690073777672090961219648615608261586248397878244756898261471313411059761360748733683780249790115488996298317610122298869771666590533453131771648557133515095012354487775732159367072983949305347555453968244197972157377941952831419590513040817031242906984820262267150702577231921212818350746000334205113918808085841909759876854335123359785891596358133968058527044490243900912898234550852952760828590456306892371612073937869938858624305766906666272619622732784434540682374569567800931466405282924706300693867917649739391561485341801401036877484640978540654336728699322363173637625953114496937384924445730036706816783774990104021491492814764614392352260897976738058226757918182531749587620961765028599998194186209232110267799044859139117291875335167659990655205199333014896114163134897076085695839860342904140493783469246291241235383561731290183706465320081985658720966266519222337816820584405425247321964814562331859785464964737145228760602366928075170002999953261130726550252596570763193617647388939026104308661075590303796819873531411002837203795234216886264214123199575404667346431889435256486825866201933502158648639534580647542482139841436995687310281974785440724962437452746063965987820933672297289015083068910786116068051543494593038801556650329020911660507523250217828647905414141679 6621149009792334698215211673887505777825381403942356186306977006993652500655200982999029817285908957632404381576561372383610143216663122857706821146126122141152535343164790524220809450687399493742051763285163922770900522887634260303736503183907530589462267964533155654739051785990283592098872095347298717299440836314429565378677417595870416756339617748402095827253835234282687637424839128293698096592537838839499635084203223957532741258172834594481232483777424987246071842447493959153737003032469830571692088258397448463664078972067805226259405570943052221665674280841586133392968873295789020593190355776847597871087962335649856692677620786746025307185080739717349616008213061377732453718182521911285577367538560005255020357920777616722284070091957511873132861226175091268814692919009272381122791138663085622158208717887441317617342448897916863699925681533596233203948015877351428753425674424541380160839270891674438130647614753767943334044122209964233267580482723516390065254554059986652418664157272721804205232774779503465788806631014845694242976683475491147833389333082850989348310948669756620870888125306568796915776704685426344341421386225801831404757102039026040013924107475188630779082551156380948708473428868034997957216611544731837601507805719529847199496126333066501107884597565691427165247465669770543905510365179878022189126394132299824782623344750535315255318038508725460273206027170897667540032425268174754835132596163165698048831981523942350248640890362770816753103363202172841634187590953334092592210331988557339485290814722 10713244142421707895222108682824171681007894394708289740856951692976099363867125632884664087830631817985595433521381223797230039514208387648323906117485097534818547794280942373750959575483398650735618506291338808244897412573450527374908687261412154432799958038310827745700271434605891853685120493225543474197702307627840625140038166329554197006129733237398394144863957533152459304015372581425469745149671353934511989571978956116899814242122139942036686452021622959403449784400325378744250043849501073478676908520664599166241310893280623577005405905148166140473760122751346010247303996655574912189548489744906124915578206236562754927228473739506853897641387632088961689946083000236356759485089188183905200100322994545937394927488578548188689353016663812567000778875914482830300034720410309258607432117203739958886908040250614955243295563394854248624371411570303049987723005981372920246240439038933732421737247629732664888565797285517530955005887238564231461766691955626657864299413199103944293999324932712459410432107794399579951941528090931390082837026379631641616858579374092224731872679959940327336208207292227517882043223907764161162005791651049153369571664370885825478888844620417391381449479231550951708426689998761548209813182307925455248896744745634155860571716636863320981416008568528630960481682556034758028709940584545368621015829388786650648825278252693963894852619156267942413047464166584977822007210708899717272585342227131685869765653821231365331709801148886884804646857795211643190837919974245753099733582206385987390704956401 17334393152214042593437320356711677458833275798650645927163928699969751864522326615883693905116540775617999815097942596180840182730871510506030727263611219675971083137445732897971769026170798144477670269576502731015797935461084787678645190445319685022262226002843983400439323220596175445783992588572842191497143143942270190518715583925424613762469350985800489972117792767435146941440211709719167841742209192774011624656182180074432555500294974536517918935799047946649521626847819337897987046881970904050368996779062047629905389865348428803264811476091218362139434403592932143640272869951363932782738845521753722786666168572212611619906094526252879204826468371806311305954296061614089213203271710095190777467861554551192415285409356164910973423108621324440133640102089574099114727639419581639730223255866825581045116758138056272860638012292771112324297093103899283191671021858724348999666113463475112582576518521407103019213412039285474289050009448528464729347174679143047929553967259090596712663482205434263615664882573903045740748159105777084325813709855122789450247912456943214080183628629696948207096332598796314797819928593190505503427177876850984774328766409911865492812952095606022160532030387931900416900118866796546167029793852657292850404550465164003060067842969929822089300606134220058125729148225805301934220305764423390810142223521086475431448623003229279150170657664993402686253491337482645362039635977074472107717938390297383918597635345173715580350691511657701557750220997384484825025510927579845691943914194943326875995771123 28047637294635750488659429039535849139841170193358935668020880392945851228389452248768357992947172593603595248619323819978070222245079898154354633381096317210789630931726675271722728601654196795213288775867841539260695348034535315053553877706731839455062184041154811146139594655202067299469113081798385665694845451570110815658753750254978810768599084223198884116981750300587606245455584291144637586891880546708523614228161136191332369742417114478554605387820670906052971411248144716642237090731471977529045905299726646796146700758629052380270217381239384502613194526344278153887576866606938844972287335266659847702244374808775366547134568265759733102467856003895272995900379061850445972688360898279095977568184549097129810212897934713099662776125285137007134418978004056929414762359829890898337655373070565539932024798388671228103933575687625360948668504674202333179394027840097269245906552502408845004313766151139767907779209324803005244055896687092696191113866634769705793853380458194541006662807138146723026096990368302625692689687196708474408650736234754431067106491831035438812056308589637275543304539891023832679863152500954666665432969527900138143900430780797690971701796716023413541981509619482852125326808865558094376842976160582748099301295210798158920639559606793143070716614702748689086210830781840059962930246348968759431158052909873126080273901255923243045023276821261345099300955504067623184046846685974189380303280617429069788363289166405080912060492660544586362397078792596128015863430901825598791677496401329314266700727524 45382030446849793082096749396247526598674445992009581595184809092915603092911778864652051898063713369221595063717266416158910404975951408660385360644707536886760714069172408169694497627824994939690959045444344270276493283495620102732199068152051524477324410043998794546578917875798242745253105670371227857191988595512381006177469334180403424531068435208999374089099543068022753186895796000863805428634089739482535238884343316265764925242712089015072524323619718852702493038095964054540224137613442881579414902078788694426052090623977481183535028857330602864752628929937210297527849736558302777755026180788413570488910543380987978167040662792012612307294324375701584301854675123464535185891632608374286755036046103648322225498307290878010636199233906461447268059080093631028529489999249472538067878628937391120977141556526727500964571587980396473272965597778101616371065049698821618245572665965883957586890284672546870926992621364088479533105906135621160920461041313912753723407347717285137719326289343580986641761872942205671433437846302485558734464446089877220517354404287978652892239937219334223750400872489820147477683081094145172168860147404751122918229197190709556464514748811629435702513540007414752542226927732354640543872770013240040949705845675962161980707402576722965160017220836968747211939979007645361897150552113392150241300276430959601511722524259152522195193934486254747785554446841550268546086482663048661488021219007726453706960924511578796492411184172202287920147299789980612840888941829405444483621410596272641142696498647 73429667741485543570756178435783375738515616185368517263205689485861454321301231113420409891010885962825190312336590236136980627221031306814739994025803854097550345000899083441417226229479191734904247821312185809537188631530155417785752945858783363932386594085153605692718512531000310044722218752169613522886834047082491821836223084435382235299667519432198258206081293368610359432351380292008443015525970286191058853112504452457097294985129203493627129711440389758755464449344108771182461228344914859108460807378515341222198791382606533563805246238569987367365823456281488451415426603165241622727313516055073418191154918189763344714175231057772345409762180379596857297755054185314981158579993506653382732604230652745452035711205225591110298975359191598454402478058097687957944252359079363436405534002007956660909166354915398729068505163668021834221634102452303949550459077538918887491479218468292802591204050823686638834771830688891484777161802822713857111574907948682459517260728175479678725989096481727709667858863310508297126127533499194033143115182324631651584460896119014091704296245808971499293705412380843980157546233595099838834293116932651261062129627971507247436216545527652849244495049626897604667553736597912734920715746173822789049007140886760320901346962183516108230733835539717436298150809789485421860080798462360909672458329340832727591996425515075765240217211307516092884855402345617891730133329349022850868324499625155523495324213677983877404471676832746874282544378582576740856752372731231043275298906997601955409397226171 118811698188335336652852927832030902337190062177378098858390498578777057414213009978072461789074599332046785376053856652295891032196982715475125354670511390984311059070071491611111723857304186674595206866756530079813681915025775520517952014010834888409711004129152400239297430406798552789975324422540841380078822642594872828013692418615785659830735954641197632295180836436633112619247176292872248444160060025673594091996847768722862220227841292508699654035060108611457957487440072825722685365958357740687875709457304035648250882006584014747340275095900590232118452386218698748943276339723544400482339696843486988680065461570751322881215893849784957717056504755298441599609729308779516344471626115027669487640276756393774261209512516469120935174593098059901670537138191318986473742358328835974473412630945347781886307911442126230033076751648418307494599700230405565921524127237740505737051884434176760178094335496233509761764452052979964310267708958335018032035949262595213240668075892764816445315385825308696309620736252713968559565379801679591877579628414508872101815300406992744596536183028305723044106284870664127635229314689245011003153264337402383980358825162216803900731294339282284947008589634312357209780664330267375464588516187062829998712986562722482882054364760239073390751056376686183510090788797130783757231350575753059913758605771792329103718949774228287435411145793770840670409849187168160276219812012071512356345718632881977202285138189562673896882861004949162202691678372557353697641314560636487758920317593874596552093724818 192241365929820880223609106267814278075705678362746616121596188064638511735514241091492871680085485294871975688390446888432871659418014022289865348696315245081861404070970575052528950086783378409499454688068715889350870546555930938303704959869618252342097598214306005932015942937798862834697543174710454902965656689677364649849915503051167895130403474073395890501262129805243472051598556584880691459686030311864652945109352221179959515212970496002326783746500498370213421936784181596905146594303272599796336516835819376870449673389190548311145521334470577599484275842500187200358702942888786023209653212898560406871220379760514667595391124907557303126818685134895298897364783494094497503051619621681052220244507409139226296920717742060231234149952289658356073015196289006944417994717408199410878946632953304442795474266357524959101581915316440141716233802682709515471983204776659393228531102902469562769298386319920148596536282741871449087429511781048875143610857211277672757928804068244495171304482307036405977479599563222265685692913300873625020694810739140523686276196526006836300832428837277222337811697251508107792775548284344849837446381270053645042488453133724051336947839866935134191503639261209961877334400928180110385304262360885619047720127449482803783401326943755181621484891916403619808241598586616205617312149038113969586216935112625056695715375289304052675628357101286933555265251532786052006353141361094363224670218258037500697609351867546551301354537837696036485236056955134094554393687291867531034219224591476551961490950989 311053064118156216876462034099845180412895740540124714979986686643415569149727251069565333469160084626918761064444303540728762691614996737764990703366826636066172463141042066663640673944087565084094661554825245969164552461581706458821656973880453140751808602343458406171313373344597415624672867597251296283044479332272237477863607921666953554961139428714593522796442966241876584670845732877752939903846090337538247037106199989902821735440811788511026437781560606981671379424224254422627831960261630340484212226293123412518700555395774563058485796430371167831602728228718885949301979282612330423691992909742047395551285841331265990476607018757342260843875189890193740496974512802874013847523245736708721707884784165533000558130230258529352169324545387718257743552334480325930891737075737035385352359263898652224681782177799651189134658666964858449210833502913115081393507332014399898965582987336646322947392721816153658358300734794851413397697220739383893175646806473872885998596879961009311616619868132345102287100335815936234245258293102553216898274439153649395788091496932999580897368611865582945381917982122172235428004862973589860840599645607456029022847278295940855237679134206217419138512228895522319087115065258447485849892778547948449046433114012205286665455691703994255012235948293089803318332387383746989374543499613867029499975540884417385799434325063532340111039502895057774225675100719954212282572953373165875581015936890919477899894490057109225198237398842645198687927735327691448252035001852504018793139542185351148513584675807 503294430047977097100071140367659458488601418902871331101582874708054080885241492161058205149245569921790736752834750429161634351033010760054856052063141881148033867212012641716169624030870943493594116242893961858515423008137637397125361933750071393093906200557764412103329316282396278459370410771961751186010136021949602127713523424718121450091542902787989413297705096047120056722444289462633631363532120649402899982215552211082781250653782284513353221528061105351884801361008436019532978554564902940280548743128942789389150228784965111369631317764841745431087004071219073149660682225501116446901646122640607802422506221091780658071998143664899563970693875025089039394339296296968511350574865358389773928129291574672226855050948000589583403474497677376613816567530769332875309731793145234796231305896851956667477256444157176148236240582281298590927067305595824596865490536791059292194114090239115885716691108136073806954837017536722862485126732520432768319257663685150558756525684029253806787924350439381508264579935379158499930951206403426841918969249892789919474367693459006417198201040702860167719729679373680343220780411257934710678046026877509674065335731429664906574626974073152553330015868156732280964449466186627596235197040908834068094153241461688090448857018647749436633720840209493423126573985970363194991855648651980999086192475997042442495149700352836392786667859996344707780940352252740264288926094734260238805686155148956978597503841924655776499591936680341235173163792282825542806428689144371549827358766776827700475075626796 814347494166133313976533174467504638901497159442996046081569561351469650034968743230623538618405654548709497817279053969890397042648007497819846755429968517214206330353054708379810297974958508577688777797719207827679975469719343855947018907630524533845714802901222818274642689626993694084043278369213047469054615354221839605577131346385075005052682331502582936094148062288996641393290022340386571267378210986941147019321752200985602986094594073024379659309621712333556180785232690442160810514826533280764760969422066201907850784180739674428117114195212913262689732299937959098962661508113446870593639032382655197973792062423046648548605162422241824814569064915282779891313809099842525198098111095098495636014075740205227413181178259118935572799043065094871560119865249658806201468868882270181583665160750608892159038621956827337370899249246157040137900808508939678258997868805459191159697077575762208664083829952227465313137752331574275882823953259816661494904470159023444755122563990263118404544218571726610551680271195094734176209499505980058817243689046439315262459190392005998095569652568443113101647661495852578648785274231524571518645672484965703088183009725605761812306108279369972468528097052254600051564531445075082085089819456782517140586355473893377114312710351743691645956788502583226444906373354110184366399148265848028586168016881459828294584025416368732897707362891402482006615452972694476571499048107426114386702092039876456497398331981765001697829335522986433861091527610516991058463690996875568620498308962178848988660302603 1317641924214110411076604314835164097390098578345867377183152436059523730920210235391681743767651224470500234570113804399052031393681018257874702807493110398362240197565067350095979922005829452071282894040613169686195398477856981253072380841380595926939621003458987230377972005909389972543413689141174798655064751376171441733290654771103196455144225234290572349391853158336116698115734311803020202630910331636344047001537304412068384236748376357537732880837682817685440982146241126461693789069391436221045309712551008991297001012965704785797748431960054658693776736371157032248623343733614563317495285155023263000396298283514827306620603306087141388785262939940371819285653105396811036548672976453488269564143367314877454268232126259708518976273540742471485376687396018991681511200662027504977814971057602565559636295066114003485607139831527455631064968114104764275124488405596518483353811167814878094380774938088301272267974769868297138367950685780249429814162133844174003511648248019516925192468569011108118816260206574253234107160705909406900736212938939229234736826883851012415293770693271303280821377340869532921869565685489459282196691699362475377153518741155270668386933082352522525798543965208986881016013997631702678320286860365616585234739596935581467563169728999493128279677628712076649571480359324473379358254796917829027672360492878502270789733725769205125684375222887747189787555805225434740860425142841686353192388247188833435094902173906420778197421272203327669034255319893342533864892380141247118447857075739006549463735929399 2131989418380243725053137489302668736291595737788863423264721997410993380955178978622305282386056879019209732387392858368942428436329025755694549562923078915576446527918122058475790219980787960648971671838332377513875373947576325109019399749011120460785335806360210048652614695536383666627456967510387846124119366730393281338867786117488271460196907565793155285486001220625113339509024334143406773898288542623285194020859056613053987222842970430562112540147304530018997162931473816903854599584217969501810070681973075193204851797146444460225865546155267571956466468671094991347586005241728010188088924187405918198370090345937873955169208468509383213599832004855654599176966914496653561746771087548586765200157443055082681681413304518827454549072583807566356936807261268650487712669530909775159398636218353174451795333688070830822978039080773612671202868922613703953383486274401977674513508245390640303044858768040528737581112522199871414250774639040066091309066604003197448266770812009780043597012787582834729367940477769347968283370205415386959553456627985668549999286074243018413389340345839746393923025002365385500518350959720983853715337371847441080241701750880876430199239190631892498267072062261241481067578529076777760405376679822399102375325952409474844677482439351236819925634417214659876016386732678583563724653945183677056258528509759962099084317751185573858582082585779149671794171258198129217431924190949112467579090339228709891592300505888185779895250607726314102895346847503859524923356071138122687068355384701185398452396232002 3449631342594354136129741804137832833681694316134730800447874433470517111875389214013987026153708103489709966957506662767994459830010044013569252370416189313938686725483189408571770141986617412720254565878945547200070772425433306362091780590391716387724956809819197279030586701445773639170870656651562644779184118106564723072158440888591467915341132800083727634877854378961230037624758645946426976529198874259629241022396361025122371459591346788099845420984987347704438145077714943365548388653609405722855380394524084184501852810112149246023613978115322230650243205042252023596209348975342573505584209342429181198766388629452701261789811774596524602385094944796026418462620019893464598295444064002075034764300810369960135949645430778535973525346124550037842313494657287642169223870192937280137213607275955740011431628754184834308585178912301068302267837036718468228507974679998496157867319413205518397425633706128830009849087292068168552618725324820315521123228737847371451778419060029296968789481356593942848184200684343601202390530911324793860289669566924897784736112958094030828683111039111049674744402343234918422387916645210443135912029071209916457395220492036147098586172272984415024065616027470228362083592526708480438725663540188015687610065549345056312240652168350729948205312045926736525587867092003056943082908742101506083930889002638464369874051476954778984266457808666896861581727063423563958292349333790798820771478586417543326687202679794606558092671879929641771929602167397202058788248451279369805516212460440191947916132161401 5581620760974597861182879293440501569973290053923594223712596430881510492830568192636292308539764982508919699344899521136936888266339069769263801933339268229515133253401311467047560361967405373369226237717277924713946146373009631471111180339402836848510292616179407327683201396982157305798327624161950490903303484836958004411026227006079739375538040365876882920363855599586343377133782980089833750427487416882914435043255417638176358682434317218661957961132291877723435308009188760269402988237827375224665451076497159377706704607258593706249479524270589802606709673713347014943795354217070583693673133529835099397136478975390575216959020243105907815984926949651681017639586934390118160042215151550661799964458253425042817631058735297363428074418708357604199250301918556292656936539723847055296612243494308914463226962442255665131563217993074680973470705959332172181891460954400473832380827658596158700470492474169358747430199814268039966869499963860381612432295341850568900045189872039077012386494144176777577552141162112949170673901116740180819843126194910566334735399032337049242072451384950796068667427345600303922906267604931426989627366443057357537636922242917023528785411463616307522332688089731469843151171055785258199131040220010414789985391501754531156918134607701966768130946463141396401604253824681640506807562687285183140189417512398426468958369228140352842848540394446046533375898321621693175724273524739911288350568925646253218279503185682792337987922487655955874824949014901061583711604522417492492584567845141377346368528393403 9031252103568951997312621097578334403654984370058325024160470864352027604705957406650279334693473085998629666302406183904931348096349113782833054303755457543453819978884500875619330503954022786089480803596223471914016918798442937833202960929794553236235249425998604606713788098427930944969198280813513135682487602943522727483184667894671207290879173165960610555241709978547573414758541626036260726956686291142543676065651778663298730142025664006761803382117279225427873453086903703634951376891436780947520831471021243562208557417370742952273093502385912033256952878755599038540004703192413157199257342872264280595902867604843276478748832017702432418370021894447707436102206954283582758337659215552736834728759063795002953580704166075899401599764832907642041563796575843934826160409916784335433825850770264654474658591196440499440148396905375749275738542996050640410399435634398969990248147071801677097896126180298188757279287106336208519488225288680697133555524079697940351823608932068373981175975500770720425736341846456550373064432028064974680132795761835464119471511990431080070755562424061845743411829688835222345294184250141870125539395514267273995032142734953170627371583736600722546398304117201698205234763582493738637856703760198430477595457051099587469158786776052696716336258509068132927192120916684697449890471429386689224120306515036890838832420705095131827114998203112943394957625385045257134016622858530710109122047512063796544966705865477398896080594367585597646754551182298263642499852973696862298100780305581569294284660554804 14612872864543549858495500391018835973628274423981919247873067295233538097536525599286571643233238068507549365647305705041868236362688183552096856237094725772968953232285812342666890865921428159458707041313501396627963065171452569304314141269197390084745542042178011934396989495410088250767525904975463626585791087780480731894210894900750946666417213531837493475605565578133916791892324606126094477384173708025458111108907196301475088824459981225423761343249571103151308761096092463904354365129264156172186282547518402939915262024629336658522573026656501835863662552468946053483800057409483740892930476402099379993039346580233851695707852260808340234354948844099388453741793888673700918379874367103398634693217317220045771211762901373262829674183541265246240814098494400227483096949640631390730438094264573568937885553638696164571711614898450430249209248955382812592290896588799443822628974730397835798366618654467547504709486920604248486357725252541078745987819421548509251868798804107450993562469644947498003288483008569499543738333144805155499975921956746030454206911022768129312828013809012641812079257034435526268200451855073297115166761957324631532669064977870194156156995200217030068730992206933168048385934638278996836987743980208845267580848552854118626076921383754663484467204972209529328796374741366337956698034116671872364309724027435317307790789933235484669963538597558989928333523706666950309740896383270621397472616437710049763246209051160191234068516855241553521579500197199325226211457496114354790685348150722946640653188948207 23644124968112501855808121488597170377283258794040244272033538159585565702242483005936850977926711154506179031949711888946799584459037297334929910540850183316422773211170313218286221369875450945548187844909724868541979983969895507137517102198991943320980791468176616541110777593838019195736724185788976762268278690724003459377395562795422153957296386697798104030847275556681490206650866232162355204340859999168001787174558974964773818966485645232185564725366850328579182214182996167539305742020700937119707114018539646502123819442000079610795666529042413869120615431224545092023804760601896898092187819274363660588942214185077128174456684278510772652724970738547095889844000842957283676717533582656135469421976381015048724792467067449162231273948374172888282377895070244162309257359557415726164263945034838223412544144835136664011860011803826179524947791951433453002690332223198413812877121802199512896262744834765736261988774026940457005845950541221775879543343501246449603692407736175824974738445145718218429024824855026049916802765172870130180108717718581494573678423013199209383583576233074487555491086723270748613494636105215167240706157471591905527701207712823364783528578936817752615129296324134866253620698220772735474844447740407275745176305603953706095235708159807360200803463481277662255988495658051035406588505546058561588430030542472208146623210638330616497078536800671933323291149091712207443757519241801331506594663949773846308212914916637590130149111222827151168334051379497588868711310469811217088786128456304515934937849503011 38256997832656051714303621879616006350911533218022163519906605454819103799779008605223422621159949223013728397597017593988667820821725480887026766777944909089391726443456125560953112235796879105006894886223226265169943049141348076441831243468189333405726333510354628475507767089248107446504250090764440388854069778504484191271606457696173100623713600229635597506452841134815406998543190838288449681725033707193459898283466171266248907790945626457609326068616421431730490975279088631443660107149965093291893396566058049442039081466629416269318239555698915704984277983693491145507604818011380638985118295676463040581981560765310979870164536539319112887079919582646484343585794731630984595097407949759534104115193698235094496004229968822425060948131915438134523191993564644389792354309198047116894702039299411792350429698473832828583571626702276609774157040906816265594981228811997857635506096532597348694629363489233283766698260947544705492203675793762854625531162922794958855561206540283275968300914790665716432313307863595549460541098317675285680084639675327525027885334035967338696411590042087129367570343757706274881695087960288464355872919428916537060370272690693558939685574137034782683860288531068034302006632859051732311832191720616121012757154156807824721312629543562023685270668453487191584784870399417373363286539662730433952739754569907525454414000571566101167042075398230923251624672798379157753498415625071952904067280387483896071459123967797781364217628078068704689913551576696914094922767965925571879471476607027462575591038451218 61901122800768553570111743368213176728194792012062407791940143614404669502021491611160273599086660377519907429546729482935467405280762778221956677318795092405814499654626438779239333605672330050555082731132951133711923033111243583579348345667181276726707124978531245016618544683086126642240974276553417151122348469228487650649002020491595254581009986927433701537300116691496897205194057070450804886065893706361461685458025146231022726757431271689794890793983271760309673189462084798982965849170666030411600510584597695944162900908629495880113906084741329574104893414918036237531409578613277537077306114950826701170923774950388108044621220817829885539804890321193580233429795574588268271814941532415669573537170079250143220796697036271587292222080289611022805569888634888552101611668755462843058965984334250015762973843308969492595431638506102789299104832858249718597671561035196271448383218334796861590892108323999020028687034974485162498049626334984630505074506424041408459253614276459100943039359936383934861338132718621599377343863490545415860193357393909019601563757049166548079995166275161616923061430480977023495189724065503631596579076900508442588071480403516923723214153073852535298989584855202900555627331079824467786676639461023396757933459760761530816548337703369383886074131934764853840773366057468408769875045208788995541169785112379733601037211209896717664120612198902856574915821890091365197255934866873284410661944337257742379672038884435371494366739300895855858247602956194502963634078435736788968257605063331978510528887954229 100158120633424605284415365247829183079106325230084571311846749069223773301800500216383696220246609600533635827143747076924135226102488259108983444096740001495206226098082564340192445841469209155561977617356177398881866082252591660021179589135370610132433458488885873492126311772334234088745224367317857539976418247732971841920608478187768355204723587157069299043752957826312304203737247908739254567790927413554921583741491317497271634548376898147404216862599693192040164164741173430426625956320631123703493907150655745386201982375258912149432145640440245279089171398611527383039014396624658176062424410627289741752905335715699087914785757357148998426884809903840064577015590306219252866912349482175203677652363777485237716800927005094012353170212205049157328761882199532941893965977953509959953668023633661808113403541782802321179003265208379399073261873765065984192652789847194129083889314867394210285521471813232303795385295922029867990253302128747485130605669346836367314814820816742376911340274727049651293651440582217148837884961808220701540277997069236544629449091085133886776406756317248746290631774238683298376884812025792095952451996329424979648441753094210482662899727210887317982849873386270934857633963938876200098508831181639517770690613917569355537860967246931407571344800388252045425558236456885782133161584871519429493909539682287259055451211781462818831162687597133779826540494688470522950754350491945237314729224724741638451131162852233152858584367378964560548161154532891417058556846401662360847729081670359441086119926405447 162059243434193158854527108616042359807301117242146979103786892683628442803821991827543969819333269978053543256690476559859602631383251037330940121415535093901020725752709003119431779447141539206117060348489128532593789115363835243600527934802551886859140583467417118508744856455420360730986198643871274691098766716961459492569610498679363609785733574084503000581053074517809201408931304979190059453856821119916383269199516463728294361305808169837199107656582964952349837354203258229409591805491297154115094417735253441330364883283888408029546051725181574853194064813529563620570423975237935713139730525578116442923829110666087195959406978174978883966689700225033644810445385880807521138727291014590873251189533856735380937597624041365599645392292494660180134331770834421493995577646708972803012634007967911823876377385091771813774434903714482188372366706623315702790324350882390400532272533202191071876413580137231323824072330896515030488302928463732115635680175770877775774068435093201477854379634663433586154989573300838748215228825298766117400471354463145564231012848134300434856401922592410363213693204719660321872074536091295727549031073229933422236513233497727406386113880284739853281839458241473835413261295018700667885185470642662914528624073678330886354409304950300791457418932323016899266331602514354190903036630080308425035079324794666992656488422991359536495283299796036636401456316578561888148010285358818521725391169061999380830803201736668524352951106679860416406408757489085920022190924837399149815986686733691419596648814359676 262217364067617764138942473863871542886407442472231550415633641752852216105622492043927666039579879578587179083834223636783737857485739296439923565512275095396226951850791567459624225288610748361679037965845305931475655197616426903621707523937922496991574041956302992000871168227754594819731423011189132231075184964694431334490218976867131964990457161241572299624806032344121505612668552887929314021647748533471304852941007781225565995854185067984603324519182658144390001518944431659836217761811928277818588324885909186716566865659147320178978197365621820132283236212141091003609438371862593889202154936205406184676734446381786283874192735532127882393574510128873709387460976187026774005639640496766076928841897634220618654398551046459611998562504699709337463093653033954435889543624662482762966302031601573631989780926874574134953438168922861587445628580388381686982977140729584529616161848069585282161935051950463627619457626818544898478556230592479600766285845117714143088883255909943854765719909390483237448641013883055897053113787106986818940749351532382108860461939219434321632808678909659109504324978958343620248959348117087823501483069559358401884954986591937889049013607495627171264689331627744770270895258957576867983694301824302432299314687595900241892270272197232199028763732711268944691889838971239973036198214951827854528988864476954251711939634772822355326445987393170416227996811267032411098764635850763759040120393786741019281934364588901677211535474058824976954569912021977337080747771239061510663715768404050860682768740765123 424276607501810922993469582479913902693708559714378529519420534436480658909444483871471635858913149556640722340524700196643340488868990333770863686927810189297247677603500570579056004735752287567796098314334434464069444312980262147222235458740474383850714625423720110509616024683174955550717621655060406922173951681655890827059829475546495574776190735326075300205859106861930707021599857867119373475504569653387688122140524244953860357159993237821802432175765623096739838873147689889245809567303225431933682742621162628046931748943035728208524249090803394985477301025670654624179862347100529602341885461783522627600563557047873479833599713707106766360264210353907354197906362067834295144366931511356950180031431490955999591996175087825211643954797194369517597425423868375929885121271371455565978936039569485455866158311966345948727873072637343775817995287011697389773301491611974930148434381271776354038348632087694951443529957715059928966859159056211716401966020888591918862951691003145332620099544053916823603630587183894645268342612405752936341220705995527673091474787353734756489210601502069472718018183678003942121033884208383551050514142789291824121468220089665295435127487780367024546528789869218605684156553976277535868879772466965346827938761274231128246679577147532990486182665034285843958221441485594163939234845032136279564068189271621244368428057764181891821729287189207052629453127845594299246774921209582280765511562848740400112737566325570201564486580738685393360978669511063257102938696076460660479702455137742280279417555124799 686493971569428687132412056343785445580116002186610079935054176189332875015066975915399301898493029135227901424358923833427078346354729630210787252440085284693474629454292138038680230024363035929475136280179740395545099510596689050843942982678396880842288667380023102510487192910929550370449044666249539153249136646350322161550048452413627539766647896567647599830665139206052212634268410755048687497152318186858992975081532026179426353014178305806405756694948281241129840392092121549082027329115153709752271067507071814763498614602183048387502446456425215117760537237811745627789300718963123491544040397988928812277298003429659763707792449239234648753838720482781063585367338254861069150006572008123027108873329125176618246394726134284823642517301894078855060519076902330365774664896033938328945238071171059087855939238840920083681311241560205363263623867400079076756278632341559459764596229341361636200283684038158579062987584533604827445415389648691317168251866006306061951834946913089187385819453444400061052271601066950542321456399512739755281970057527909781951936726573169078122019280411728582222343162636347562369993232325471374551997212348650226006423206681603184484141095275994195811218121496963375955051812933854403852574074291267779127253448870131370138949849344765189514946397745554788650111280456834136975433059983964134093057053748575496080367692537004247148175274582377468857449939112626710345539557060346039805631956635481419394671930914471878776022054797510370315548581533040594183686467315522171143418223541793140962186295889922 1110770579071239610125881638823699348273824561900988609454474710625813533924511459786870937757406178691868623764883624030070418835223719963981650939367895473990722307057792708617736234760115323497271234594514174859614543823576951198066178441418871264693003292803743213020103217594104505921166666321309946075423088328006212988609877927960123114542838631893722900036524246067982919655868268622168060972656887840246681097222056271133286710174171543628208188870713904337869679265239811438327836896418379141685953810128234442810430363545218776596026695547228610103237838263482400251969163066063653093885925859772451439877861560477533243541392162946341415114102930836688417783273700322695364294373503519479977288904760616132617838390901222110035286472099088448372657944500770706295659786167405393894924174110740544543722097550807266032409184314197549139081619154411776466529580123953534389913030610613137990238632316125853530506517542248664756412274548704903033570217886894897980814786637916234520005918997498316884655902188250845187589799011918492691623190763523437455043411513926903834611229881913798054940361346314351504491027116533854925602511355137942050127891426771268479919268583056361220357746911366181981639208366910131939721453846758233125955192210144362498385629426492298180001129062779840632608332721942428300914667905016100413657125243020196740448795750301186138969904561771584521486903066958221009592314478269928320571143519484221819507409497240042080340508635536195763676527251044103851286625163391982831623120678679535421241603851014721 1797264550640668297258293695167484793853940564087598689389528886815146408939578435702270239655899207827096525189242547863497497181578449594192438191807980758684196936512084846656416464784478359426746370874693915255159643334173640248910121424097268145535291960183766315530590410505034056291615710987559485228672224974356535150159926380373750654309486528461370499867189385274035132290136679377216748469809206027105674072303588297312713063188349849434613945565662185578999519657331932987409864225533532851438224877635306257573928978147401824983529142003653825220998375501294145879758463785026776585429966257761380252155159563907193007249184612185576063867941651319469481368641038577556433444380075527603004397778089741309236084785627356394858928989400982527227718463577673036661434451063439332223869412181911603631578036789648186116090495555757754502345243021811855543285858756295093849677626839954499626438916000164012109569505126782269583857689938353594350738469752901204042766621584829323707391738450942716945708173789317795729911255411431232446905160821051347236995348240500072912733249162325526637162704508950699066861020348859326300154508567486592276134314633452871664403409678332355416168965032863145357594260179843986343574027921049500905082445659014493868524579275837063369516075460525395421258444002399262437890100965000064547750182296768772236529163442838190386118079836353961990344353006070847719937854035330274360376775476119703238902081428154513959116530690333706133992075832577144445470311630707505002766538902221328562203790146904643 2908035129711907907384175333991184142127765125988587298844003597440959942864089895489141177413305386518965148954126171893567916016802169558174089131175876232674919243569877555274152699544593682924017605469208090114774187157750591446976299865516139410228295252987509528550693628099138562212782377308869431304095313302362748138769804308333873768852325160355093399903713631342018051946004947999384809442466093867352355169525644568445999773362521393062822134436376089916869198922571744425737701121951911993124178687763540700384359341692620601579555837550882435324236213764776546131727626851090429679315892117533831692033021124384726250790576775131917478982044582156157899151914738900251797738753579047082981686682850357441853923176528578504894215461500070975600376408078443742957094237230844726118793586292652148175300134340455452148499679869955303641426862176223632009815438880248628239590657450567637616677548316289865640076022669030934340269964487058497384308687639796102023581408222745558227397657448441033830364075977568640917501054423349725138528351584574784692038759754426976747344479044239324692103065855265050571352047465393181225757019922624534326262206060224140144322678261388716636526711944229327339233468546754118283295481767807734031037637869158856366910208702329361549517204523305236053866776724341690738804768870016164961407307539788968976977959193139376525087984398125546511831256073029068729530168513600202680947918995603925058409490925394556039457039325869901897668603083621248296756936794099487834389659580900863983445393997919364 4705299680352576204642469029158668935981705690076185988233532484256106351803668331191411417069204594346061674143368719757065413198380619152366527322983856991359116180081962401930569164329072042350763976343902005369933830491924231695886421289613407555763587213171275844081284038604172618504398088296428916532767538276719283288929730688707624423161811688816463899770903016616053184236141627376601557912275299894458029241829232865758712836550871242497436080002038275495868718579903677413147565347485444844562403565398846957958288319840022426563084979554536260545234589266070692011486090636117206264745858375295211944188180688291919258039761387317493542849986233475627380520555777477808231183133654574685986084460940098751090007962155934899753144450901053502828094871656116779618528688294284058342662998474563751806878171130103638264590175425713058143772105198035487553101297636543722089268284290522137243116464316453877749645527795813203924127654425412091735047157392697306066348029807574881934789395899383750776072249766886436647412309834780957585433512405626131929034107994927049660077728206564851329265770364215749638213067814252507525911528490111126602396520693677011808726087939721072052695676977092472696827728726598104626869509688857234936120083528173350235434787978166424919033279983830631475125220726740953176694869835016229509157489836557741213507122635977566911206064234479508502175609079099916449468022548930477041324694471723628297311572353549069998573570016203608031660678916198392742227248424806992837156198483122192545649184144824007 7613334810064484112026644363149853078109470816064773287077536081697066294667758226680552594482509980865026823097494891650633329215182788710540616454159733224034035423651839957204721863873665725274781581813110095484708017649674823142862721155129546965991882466158785372631977666703311180717180465605298347836862851579082031427699534997041498192014136849171557299674616647958071236182146575375986367354741393761810384411354877434204712609913392635560258214438414365412737917502475421838885266469437356837686582253162387658342647661532643028142640817105418695869470803030847238143213717487207635944061750492829043636221201812676645508830338162449411021832030815631785279672470516378060028921887233621768967771143790456192943931138684513404647359912401124478428471279734560522575622925525128784461456584767215899982178305470559090413089855295668361785198967374259119562916736516792350328858941741089774859794012632743743389721550464844138264397618912470589119355845032493408089929438030320440162187053347824784606436325744455077564913364258130682723961863990200916621072867749354026407422207250804176021368836219480800209565115279645688751668548412735660928658726753901151953048766201109788689222388921321800036061197273352222910164991456664968967157721397332206602344996680495786468550484507135867528991997451082643915499638705032394470564797376346710190485081829116943436294048632605055014006865152128985178998191062530679722272613467327553355721063278943626038030609342073509929329281999819641038984185218906480671545858064023056529094578142743371 12318634490417060316669113392308522014091176506140959275311068565953172646471426557871964011551714575211088497240863611407698742413563407862907143777143590215393151603733802359135291028202737767625545558157012100854641848141599054838749142444742954521755469679330061216713261705307483799221578553901727264369630389855801314716629265685749122615175948537988021199445519664574124420418288202752587925267016693656268413653184110299963425446464263878057694294440452640908606636082379099252032831816922801682248985818561234616300935981372665454705725796659954956414705392296917930154699808123324842208807608868124255580409382500968564766870099549766904564682017049107412660193026293855868260105020888196454953855604730554944033939100840448304400504363302177981256566151390677302194151613819412842804119583241779651789056476600662728677680030721381419928971072572294607116018034153336072418127226031611912102910476949197621139367078260657342188525273337882680854403002425190714156277467837895322096976449247208535382508575511341514212325674092911640309395376395827048550106975744281076067499935457369027350634606583696549847778183093898196277580076902846787531055247447578163761774854140830860741918065898414272732888925999950327537034501145522203903277804925505556837779784658662211387583764490966499004117218177823597092194508540048623979722287212904451403992204465094510347500112867084563516182474231228901628466213611461156763597307939051181653032635632492696036604179358277117960989960916018033781211433643713473508702056547145249074743762287567378 19931969300481544428695757755458375092200647322205732562388604647650238941139184784552516606034224556076115320338358503058332071628746196573447760231303323439427187027385642316340012892076403492900327139970122196339349865791273877981611863599872501487747352145488846589345239372010794979938759019507025612206493241434883346144328800682790620807190085387159578499120136312532195656600434778128574292621758087418078798064538987734168138056377656513617952508878867006321344553584854521090918098286360158519935568071723622274643583642905308482848366613765373652284176195327765168297913525610532478152869359360953299216630584313645210275700437712216315586514047864739197939865496810233928289026908121818223921626748521011136977870239524961709047864275703302459685037431125237824769774539344541627265576168008995551771234782071221819090769886017049781714170039946553726678934770670128422746986167772701686962704489581941364529088628725501480452922892250353269973758847457684122246206905868215762259163502595033319988944901255796591777239038351042323033357240386027965171179843493635102474922142708173203372003442803177350057343298373543885029248625315582448459713974201479315714823620341940649431140454819736072768950123273302550447199492602187172870435526322837763440124781339157997856134248998102366533109215628906241007694147245081018450287084589251161594477286294211453783794161499689618530189339383357886807464404673991836485869921406378735008753698911436322074634788700350627890319242915837674820195618862619954180247914611168305603838340430310749 32250603790898604745364871147766897106291823828346691837699673213603411587610611342424480617585939131287203817579222114466030814042309604436354904008446913654820338631119444675475303920279141260525872698127134297193991713932872932820361006044615456009502821824818907806058501077318278779160337573408752876576123631290684660860958066368539743422366033925147599698565655977106320077018722980881162217888774781074347211717723098034131563502841920391675646803319319647229951189667233620342950930103282960202184553890284856890944519624277973937554092410425328608698881587624683098452613333733857320361676968229077554797039966814613775042570537261983220151196064913846610600058523104089796549131929010014678875482353251566081011809340365410013448368639005480440941603582515915126963926153163954470069695751250775203560291258671884547768449916738431201643141112518848333794952804823464495165113393804313599065614966531138985668455706986158822641448165588235950828161849882874836402484373706111084356139951842241855371453476767138105989564712443953963342752616781855013721286819237916178542422078165542230722638049386873899905121481467442081306828702218429235990769221649057479476598474482771510173058520718150345501839049273252877984233993747709376773713331248343320277904565997820209243718013489068865537226433806729838099888655785129642430009371802155612998469490759305964131294274366774182046371813614586788435930618285452993249467229345429916661786334543929018111238968058627745851309203831855708601407052506333427688949971158313554678582102717878127 52182573091380149174060628903225272198492471150552424400088277861253650528749796126976997223620163687363319137917580617524362885671055801009802664239750237094247525658505086991815316812355544753426199838097256493533341579724146810801972869644487957497250173970307754395403740449329073759099096592915778488782616872725568007005286867051330364229556119312307178197685792289638515733619157759009736510510532868492426009782262085768299701559219576905293599312198186653551295743252088141433869028389643118722120121962008479165588103267183282420402459024190702260983057782952448266750526859344389798514546327590030854013670551128258985318270974974199535737710112778585808539924019914323724838158837131832902797109101772577217989679579890371722496232914708782900626641013641152951733700692508496097335271919259770755331526040743106366859219802755480983357311152465402060473887575493592917912099561577015286028319456113080350197544335711660303094371057838589220801920697340558958648691279574326846615303454437275175360398378022934697766803750794996286376109857167882978892466662731551281017344220873715434094641492190051249962464779840985966336077327534011684450483195850536795191422094824712159604198975537886418270789172546555428431433486349896549644148857571181083718029347336978207099852262487171232070335649435636079107582803030210660880296456391406774592946777053517417915088435866463800576561152997944675243395022959444829735337150751808651670540033455365340185873756758978373741628446747693383421602671368953381869197885769481860282420443148188876 84433176882278753919425500050992169304784294978899116237787951074857062116360407469401477841206102818650522955496802731990393699713365405446157568248197150749067864289624531667290620732634686013952072536224390790727333293657019743622333875689103413506752995795126662201462241526647352538259434166324531365358740504016252667866244933419870107651922153237454777896251448266744835810637880739890898728399307649566773221499985183802431265062061497296969246115517506300781246932919321761776819958492926078924304675852293336056532622891461256357956551434616030869681939370577131365203140193078247118876223295819108408810710517942872760360841512236182755888906177692432419139982543018413521387290766141847581672591455024143299001488920255781735944601553714263341568244596157068078697626845672450567404967670510545958891817299414990914627669719493912185000452264984250394268840380317057413077212955381328885093934422644219335866000042697819125735819223426825171630082547223433795051175653280437930971443406279517030731851854790072803756368463238950249718862473949737992613753481969467459559766299039257664817279541576925149867586261308428047642906029752440920441252417499594274668020569307483669777257496256036763772628221819808306415667480097605926417862188819524403995933913334798416343570275976240097607562083242365917207471458815340303310305828193562387591416267812823382046382710233237982622932966612531463679325641244897822984804380097238568332326367999294358297112724817606119592937650579549092023009723875286809558147856927795414961002545866067003 136615749973658903093486128954217441503276766129451540637876228936110712645110203596378475064826266506013842093414383349514756585384421206455960232487947387843315389948129618659105937544990230767378272374321647284260674873381166554424306745333591371004003169765434416596865981975976426297358530759240309854141357376741820674871531800471200471881478272549761956093937240556383351544257038498900635238909840518059199231282247269570730966621281074202262845427715692954332542676171409903210688986882569197646424797814301815222120726158644538778359010458806733130664997153529579631953667052422636917390769623409139262824381069071131745679112487210382291626616290471018227679906562932737246225449603273680484469700556796720516991168500146153458440834468423046242194885609798221030431327538180946664740239589770316714223343340158097281486889522249393168357763417449652454742727955810650330989312516958344171122253878757299686063544378409479428830190281265414392432003244563992753699866932854764777586746860716792206092250232813007501523172214033946536094972331117620971506220144701018740577110519912973098911921033766976399830051041149414013978983357286452604891735613350131069859442664132195829381456471793923182043417394366363734847100966447502476062011046390705487713963260671776623443422538463411329677897732678001996315054261845550964190602284584969162184363044866340799961471146099701783199494119610476138922720664204342652720141530849047220002866401454659698482986481576584493334566097327242475444612395244240191427345742697277275243422989014255879 221048926855937657012911629005209610808061061108350656875664180010967774761470611065779952906032369324664365048911186081505150285097786611902117800736144538592383254237754150326396558277624916781330344910546038074988008167038186298046640621022694784510756165560561078798328223502623778835617964925564841219500097880758073342737776733891070579533400425787216733990188688823128187354894919238791533967309148167625972452782232453373162231683342571499232091543233199255113789609090731664987508945375495276570729473666595151278653349050105795136315561893422764000346936524106710997156807245500884036266992919228247671635091587014004506039953999446565047515522468163450646819889105951150767612740369415528066142292011820863815992657420401935194385436022137309583763130205955289109128954383853397232145207260280862673115160639573088196114559241743305353358215682433902849011568336127707744066525472339673056216188301401519021929544421107298554566009504692239564062085791787426548751042586135202708558190266996309236824102087603080305279540677272896785813834805067358964119973626670486200136876818952230763729200575343901549697637302457842061621889387038893525332988030849725344527463233439679499158713968049959945816045616186172041262768446545108402479873235210229891709897174006575039786992814439651427285459815920367913522525720660891267500908112778531549775779312679164182007853856332939765822427086223007602602046305449240475704945910946285788335192769453954056780099206394190612927503747906791567467622119119527000985493599625072690204425534880322882 357664676829596560106397757959427052311337827237802197513540408947078487406580814662158427970858635830678207142325569431019906870482207818358078033224091926435698644185883768985502495822615147548708617284867685359248683040419352852470947366356286155514759335325995495395194205478600205132976495684805151073641455257499894017609308534362271051414878698336978690084125929379511538899151957737692169206218988685685171684064479722943893198304623645701494936970948892209446332285262141568198197932258064474217154271480896966500774075208750333914674572352229497131011933677636290629110474297923520953657762542637386934459472656085136251719066486656947339142138758634468874499795668883888013838189972689208550611992568617584332983825920548088652826270490560355825958015815753510139560281922034343896885446850051179387338503979731185477601448763992698521715979099883555303754296291938358075055837989298017227338442180158818707993088799516777983396199785957653956494089036351419302450909518989967486144937127713101442916352320416087806802712891306843321908807136184979935626193771371504940713987338865203862641121609110877949527688343607256075600872744325346130224723644199856414386905897571875328540170439843883127859463010552535776109869412992610878541884281600935379423860434678351663230415352903062756963357548598369909837579982506442231691510397363500711960142357545504981969325002432641549021921205833483741524766969653583128425087441795333008338059170908613755263085687970775106262069845234034042912234514363767192412839342322349965447848523894578761 578713603685534217119309386964636663119398888346152854389204588958046262168051425727938380876891005155342572191236755512525057155579994430260195833960236465028081898423637919311899054100240064330038962195413723434236691207457539150517587987378980940025515500886556574193522428981223983968594460610369992293141553138257967360347085268253341630948279124124195424074314618202639726254046876976483703173528136853311144136846712176317055429987966217200727028514182091464560121894352873233185706877633559750787883745147492117779427424258856129050990134245652261131358870201743001626267281543424404989924755461865634606094564243099140757759020486103512386657661226797919521319684774835038781450930342104736616754284580438448148976483340950023847211706512697665409721146021708799248689236305887741129030654110332042060453664619304273673716008005736003875074194782317458152765864628066065819122363461637690283554630481560337729922633220624076537962209290649893520556174828138845851201952105125170194703127394709410679740454408019168112082253568579740107722641941252338899746167398041991140850864157817434626370322184454779499225325646065098137222762131364239655557711675049581758914369131011554827698884407893843073675508626738707817372637859537719281021757516811165271133757608684926703017408167342714184248817364518737823360105703167333499192418510142032261735921670224669163977178858765581314844348292056491344126813275102823604130033352741618796673251940362567812043184894364965719189573593140825610379856633483294193398332941947422655652274058774901643 936378280515130777225707144924063715430736715583955051902744997905124749574632240390096808847749640986020779333562324943544964026062202248618273867184328391463780542609521688297401549922855211878747579480281408793485374247876892002988535353735267095540274836212552069588716634459824189101570956295175143366783008395757861377956393802615612682363157822461174114158440547582151265153198834714175872379747125538996315820911191899260948628292589862902221965485130983674006454179615014801383904809891624225005038016628389084280201499467606462965664706597881758262370803879379292255377755841347925943582518004503021540554036899184277009478086972760459725799799985432388395819480443718926795289120314793945167366277149056032481960309261498112500037977003258021235679161837462309388249518227922085025916100960383221447792168599035459151317456769728702396790173882201013456520160920004423894178201450935707510893072661719156437915722020140854521358409076607547477050263864490265153652861624115137680848064522422512122656806728435255918884966459886583429631449077437318835372361169413496081564851496682638489011443793565657448753013989672354212823634875689585785782435319249438173301275028583430156239054847737726201534971637291243593482507272530330159563641798412100650557618043363278366247823520245776941212174913117107733197685685673775730883928907505532973696064027770174145946503861198222863866269497889975085651580244756406732555120794536951805011311111271181567306270582335740825451643438374859653292091147847061385811172284269772621100122582669480404 1515091884200664994345016531888700378550135603930107906291949586863171011742683666118035189724640646141363351524799080456070021181642196678878469701144564856491862441033159607609300604023095276208786541675695132227722065455334431153506123341114248035565790337099108643782239063441048173070165416905545135659924561534015828738303479070868954313311436946585369538232755165784790991407245711690659575553275262392307459957757904075578004058280556080102948993999313075138566576073967888034569611687525183975792921761775881202059628923726462592016654840843534019393729674081122293881645037384772330933507273466368656146648601142283417767237107458863972112457461212230307917139165218553965576740050656898681784120561729494480630936792602448136347249683515955686645400307859171108636938754533809826154946755070715263508245833218339732825033464775464706271864368664518471609286025548070489713300564912573397794447703143279494167838355240764931059320618367257440997606438692629111004854813729240307875551191917131922802397261136454424030967220028466323537354091018689657735118528567455487222415715654500073115381765978020436947978339635737452350046397007053825441340146994299019932215644159594984983937939255631569275210480264029951410855145132068049440585399315223265921691375652048205069265231687588491125460992277635845556557791388841109230076347417647565235431985697994843309923682719963804178710617789946466429778393519859230336685154147278570601684563051633749379349455476700706544641217031515685263671947781330355579209505226217195276752396641444382047 2451470164715795771570723676812764093980872319514062958194694584768295761317315906508131998572390287127384130858361405399614985207704398927496743568328893247955642983642681295906702153945950488087534121155976541021207439703211323156494658694849515131106065173311660713370955697900872362171736373200720279026707569929773690116259872873484566995674594769046543652391195713366942256560444546404835447933022387931303775778669095974838952686573145943005170959484444058812573030253582902835953516497416808200797959778404270286339830423194069054982319547441415777656100477960501586137022793226120256877089791470871677687202638041467694776715194431624431838257261197662696312958645662272892372029170971692626951486838878550513112897101863946248847287660519213707881079469696633418025188272761731911180862856031098484956038001817375191976350921545193408668654542546719485065806186468074913607478766363509105305340775804998650605754077260905785580679027443864988474656702557119376158507675353355445556399256439554434925054067864889679949852186488352906966985540096126976570490889736868983303980567151182711604393209771586094396731353625409806562870031882743411227122582313548458105516919188178415140176994103369295476745451901321195004337652404598379600149041113635366572248993695411483435513055207834268066673167190752953289755477074514884960960276325153098209128049725765017455870186581162027042576887287836441515429973764615637069240274941815522406695874162904930946655726059036447370092860469890544916964038929177416965020677510486967897852519224113862451 3966562048916460765915740208701464472531007923444170864486644171631466773059999572626167188297030933268747482383160485855685006389346595606375213269473458104447505424675840903516002757969045764296320662831671673248929505158545754310000782035963763166671855510410769357153194761341920535241901790106265414686632131463789518854563351944353521308986031715631913190623950879151733247967690258095495023486297650323611235736427000050416956744853702023108119953483757133951139606327550790870523128184941992176590881540180151488399459346920531646998974388284949797049830152041623880018667830610892587810597064937240333833851239183751112543952301890488403950714722409893004230097810880826857948769221628591308735607400608044993743833894466394385194537344035169394526479777555804526662127027295541737335809611101813748464283835035714924801384386320658114940518911211237956675092212016145403320779331276082503099788478948278144773592432501670716639999645811122429472263141249748487163362489082595753431950448356686357727451329001344103980819406516819230504339631114816634305609418304324470526396282805682784719774975749606531344709693261147258912916428889797236668462729307847478037732563347773400124114933359000864751955932165351146415192797536666429040734440428858632493940369347459688504778286895422759192134159468388798846313268463355994191036623742800663444560035423759860765793869301125831221287505077782907945208367284474867405925429089094093008380437214538680326005181535737153914734077501406230180635986710507772544230182736704163174604915865558244498 6418032213632256537486463885514228566511880242958233822681338756399762534377315479134299186869421220396131613241521891255299991597050994533871956837802351352403148408318522199422704911914996252383854783987648214270136944861757077466495440730813278297777920683722430070524150459242792897413638163306985693713339701393563208970823224817838088304660626484678456843015146592518675504528134804500330471419320038254915011515096096025255909431426847966113290912968201192763712636581133693706476644682358800377388841318584421774739289770114600701981293935726365574705930630002125466155690623837012844687686856408112011521053877225218807320667496322112835788971983607555700543056456543099750320798392600283935687094239486595506856730996330340634041825004554383102407559247252437944687315300057273648516672467132912233420321836853090116777735307865851523609173453757957441740898398484220316928258097639591608405129254753276795379346509762576502220678673254987417946919843806867863321870164435951198988349704796240792652505396866233783930671593005172137471325171210943610876100308041193453830376849956865496324168185521192625741441046886557065475786460772540647895585311621395936143249482535951815264291927462370160228701384066672341419530449941264808640883481542493999066189363042871171940291342103257027258807326659141752136068745537870879151996900067953761653688085149524878221664055882287858263864392365619349460638341049090504475165704030909615415076311377443611272660907594773601284826937971296775097600025639685189509250860247191131072457435089672106949 10384594262548717303402204094215693039042888166402404687167982928031229307437315051760466375166452153664879095624682377110984997986397590140247170107275809456850653832994363102938707669884042016680175446819319887519066450020302831776496222766777041464449776194133199427677345220584713432655539953413251108399971832857352727825386576762191609613646658200310370033639097471670408752495825062595825494905617688578526247251523096075672866176280549989221410866451958326714852242908684484576999772867300792553979722858764573263138749117035132348980268324011315371755760782043749346174358454447905432498283921345352345354905116408969919864619798212601239739686706017448704773154267423926608269567614228875244422701640094640500600564890796735019236362348589552496934039024808242471349442327352815385852482078234725981884605671888805041579119694186509638549692364969195398415990610500365720249037428915674111504917733701554940152938942264247218860678319066109847419182985056616350485232653518546952420300153152927150379956725867577887911490999521991367975664802325760245181709726345517924356773132762548281043943161270799157086150740147704324388702889662337884564048040929243414180982045883725215388406860821371024980657316232023487834723247477931237681617921971352631560129732390330860445069628998679786450941486127530550982382014001226873343033523810754425098248120573284738987457925183413689485151897443402257405846708333565371881091133120003708423456748591982291598666089130510755199561015472703005278236012350192962053481042983895294247062350955230351447 16802626476180973840888667979729921605554768409360638509849321684430991841814630530894765562035873374061010708866204268366284989583448584674119126945078160809253802241312885302361412581799038269064030230806968101789203394882059909242991663497590319762227696877855629498201495679827506330069178116720236802113311534250915936796209801580029697918307284684988826876654244064189084257023959867096155966324937726833441258766619192100928775607707397955334701779420159519478564879489818178283476417549659592931368564177348995037878038887149733050961562259737680946461691412045874812330049078284918277185970777753464356875958993634188727185287294534714075528658689625004405316210723967026358590366006829159180109795879581236007457295887127075653278187353143935599341598272060680416036757627410089034369154545367638215304927508741895158356855002052361162158865818727152840156889008984586037177295526555265719910046988454831735532285452026823721081356992321097265366102828863484213807102817954498151408649857949167943032462122733811671842162592527163505446989973536703856057810034386711378187149982719413777368111346791991782827591787034261389864489350434878532459633352550639350324231528419677030652698788283741185209358700298695829254253697419196046322501403513846630626319095433202032385360971101936813709748812786672303118450759539097752495030423878708186751936205722809617209121981065701547749016289809021606866485049382655876356256837150913323838533059969425902871326996725284356484387953443999780375836037989878151562731903231086425319519786044902458396 27187220738729691144290872073945614644597656575763043197017304612462221149251945582655231937202325527725889804490886645477269987569846174814366297052353970266104456074307248405300120251683080285744205677626287989308269844902362741019487886264367361226677473071988828925878840900412219762724718070133487910513283367108268664621596378342221307531953942885299196910293341535859493009519784929691981461230555415411967506018142288176601641783987947944556112645872117846193417122398502662860476190416960385485348287036113568301016788004184865399941830583748996318217452194089624158504407532732823709684254699098816702230864110043158647049907092747315315268345395642453110089364991390952966859933621058034424532497519675876508057860777923810672514549701733488096275637296868922887386199954762904420221636623602364197189533180630700199935974696238870800708558183696348238572879619484951757426332955470939831414964722156386675685224394291070939942035311387207112785285813920100564292335471473045103828950011102095093412418848601389559753653592049154873422654775862464101239519760732229302543923115481962058412054508062790939913742527181965714253192240097216417023681393479882764505213574303402246041105649105112210190016016530719317088976944897127284004119325485199262186448827823532892830430600100616600160690298914202854100832773540324625838063947689462611850184326296094356196579906249115237234168187252423864272331757716221248237347970270917032261989808561408194469993085855795111683948968916702785654072050340071113616212946214981719566582137000132809843 43989847214910664985179540053675536250152424985123681706866626296893212991066576113549997499238198901786900513357090913843554977153294759488485423997432131075358258315620133707661532833482118554808235908433256091097473239784422650262479549761957680988905169949844458424080336580239726092793896186853724712626594901359184601417806179922251005450261227570288023786947585600048577266543744796788137427555493142245408764784761480277530417391695345899890814425292277365671982001888320841143952607966619978416716851213462563338894826891334598450903392843486677264679143606135498970834456611017741986870225476852281059106823103677347374235194387282029390797004085267457515405575715357979325450299627887193604642293399257112515515156665050886325792737054877423695617235568929603303422957582172993454590791168970002412494460689372595358292829698291231962867424002423501078729768628469537794603628482026205551325011710611218411217509846317894661023392303708304378151388642783584778099438289427543255237599869051263036444880971335201231595816184576318378869644749399167957297329795118940680731073098201375835780165854854782722741334314216227104117681590532094949483314746030522114829445102723079276693804437388853395399374716829415146343230642316323330326620728999045892812767923256734925215791571202553413870439111700875157219283533079422378333094371568170798602120532018903973405701887314816784983184477061445471138816807098877124593604807421830356100522868530834097341320082581079468168336922360702566029908088329949265178944849446068144886101923045035268239 71177067953640356129470412127621150894750081560886724903883930909355434140318521696205229436440524429512790317847977559320824964723140934302851721049786101341462714389927382112961653085165198840552441586059544080405743084686785391281967436026325042215582643021833287349959177480651945855518614256987212623139878268467453266039402558264472312982215170455587220697240927135908070276063529726480118888786048557657376270802903768454132059175683293844446927071164395211865399124286823504004428798383580363902065138249576131639911614895519463850845223427235673582896595800225123129338864143750565696554480175951097761337687213720506021285101480029344706065349480909910625494940706748932292310233248945228029174790918932989023573017442974696998307286756610911791892872865798526190809157536935897874812427792572366609683993870003295558228804394530102763575982186119849317302648247954489552029961437497145382739976432767605086902734240608965600965427615095511490936674456703685342391773760900588359066549880153358129857299819936590791349469776625473252292299525261632058536849555851169983274996213683337894192220362917573662655076841398192818370873830629311366506996139510404879334658677026481522734910086493965605589390733360134463432207587213450614330740054484245154999216751080267818046222171303170014031129410615078011320116306619747004171158319257633410452304858314998329602281793563932022217352664313869335411148564815098372830952777692747388362512677092242291811313168436874579852285891277405351683980138670020378795157795661049864452684060045168078082 115166915168551021114649952181296687144902506546010406610750557206248647131385097809755226935678723331299690831205068473164379941876435693791337145047218232416820972705547515820623185918647317395360677494492800171503216324471208041544446985788282723204487812971677745774039514060891671948312510443840937335766473169826637867457208738186723318432476398025875244484188512735956647542607274523268256316341541699902785035587665248731662476567378639744337741496456672577537381126175144345148381406350200342318781989463038694978806441786854062301748616270722350847575739406360622100173320754768307683424705652803378820444510317397853395520295867311374096862353566177368140900516422106911617760532876832421633817084318190101539088174108025583324100023811488335487510108434728129494232115119108891329403218961542369022178454559375890916521634092821334726443406188543350396032416876424027346633589919523350934064988143378823498120244086926860261988819918803815869088063099487270120491212050328131614304149749204621166302180791271792022945285961201791631161944274660800015834179350970110664006069311884713729972386217772356385396411155614419922488555421161406315990310885540926994164103779749560799428714523882819000988765450189549609775438229529773944657360783483291047811984674337002743262013742505723427901568522315953168539399839699169382504252690825804209054425390333902303007983680878748807200537141375314806549965371913975497424557585114577744463035545623076389152633251017954048020622813638107917713888226999969643974102645107118009338785983090203346321 186343983122191377244120364308917838039652588106897131514634488115604081271703619505960456372119247760812481149053046032485204906599576628094188866097004333758283687095474897933584839003812516235913119080552344251908959409157993432826414421814607765420070455993511033123998691541543617803831124700828149958906351438294091133496611296451195631414691568481462465181429439871864717818670804249748375205127590257560161306390569017185794535743061933588784668567621067789402780250461967849152810204733780706220847127712614826618718056682373526152593839697958024430472335206585745229512184898518873379979185828754476581782197531118359416805397347340718802927703047087278766395457128855843910070766125777649662991875237123090562661191551000280322407310568099247279402981300526655685041272656044789204215646754114735631862448429379186474750438487351437490019388374663199713335065124378516898663551357020496316804964576146428585022978327535825862954247533899327360024737556190955462882985811228719973370699629357979296159480611208382814294755737827264883454243799922432074371028906821280647281065525568051624164606580689930048051487997012612740859429251790717682497307025051331873498762456776042322163624610376784606578156183549684073207645816743224558988100837967536202811201425417270561308235913808893441932697932931031179859516146318916386675411010083437619506730248648900632610265474442680829417889805689184141961113936729073870255510362807325132825548222715318680963946419454828627872908704915513269397868365669990022769260440768167873791470043135371424403 301510898290742398358770316490214525184555094652907538125385045321852728403088717315715683307797971092112171980258114505649584848476012321885526011144222566175104659801022413754208024922459833631273796575045144423412175733629201474370861407602890488624558268965188778898038205602435289752143635144669087294672824608120729000953820034637918949847167966507337709665617952607821365361278078773016631521469131957462946341978234265917457012310440573333122410064077740366940161376637112194301191611083981048539629117175653521597524498469227588454342455968680375278048074612946367329685505653287181063403891481557855402226707848516212812325693214652092899790056613264646907295973550962755527831299002610071296808959555313192101749365659025863646507334379587582766913089735254785179273387775153680533618865715657104654040902988755077391272072580172772216462794563206550109367482000802544245297141276543847250869952719525252083143222414462686124943067452703143229112800655678225583374197861556851587674849378562600462461661402480174837240041699029056514616188074583232090205208257791391311287134837452765354136992798462286433447899152627032663347984672952123998487617910592258867662866236525603121592339134259603607566921633739233682983084046272998503645461621450827250623186099754273304570249656314616869834266455246984348398915986018085769179663700909241828561155638982802935618249155321429636618426947064498948511079308643049367680067947921902877288583768338395070116579670472782675893531518553621187111756592669959666743363085875285883130256026225574770724 487854881412933775602890680799132363224207682759804669640019533437456809674792336821676139679917218852924653129311160538134789755075588949979714877241226899933388346896497311687792863926272349867186915655597488675321135142787194907197275829417498254044628724958699812022036897143978907555974759845497237253579176046414820134450431331089114581261859534988800174847047392479686083179948883022765006726596722215023107648368803283103251548053502506921907078631698808156342941627099080043454001815817761754760476244888268348216242555151601114606936295666638399708520409819532112559197690551806054443383077310312331984008905379634572229131090561992811702717759660351925673691430679818599437902065128387720959800834792436282664410557210026143968914644947686830046316071035781440864314660431198469737834512469771840285903351418134263866022511067524209706482182937869749822702547125181061143960692633564343567674917295671680668166200741998511987897314986602470589137538211869181046257183672785571561045549007920579758621142013688557651534797436856321398070431874505664164576237164612671958568200363020816978301599379152216481499387149639645404207413924742841680984924935643590741161628693301645443755963744636388214145077817288917756190729863016223062633562459418363453434387525171543865878485570123510311766964388178015528258432132337002155855074710992679448067885887631703568228514629764110466036316752753683090472193245372123237935578310729228010114131991053713751080526089927611303766440223469134456509624958339949689512623526643453756921726069360946195127 789365779703676173961660997289346888408762777412712207765404578759309538077881054137391822987715189945036825109569275043784374603551601271865240888385449466108493006697519725442000888848732183498460712230642633098733310876416396381568137237020388742669186993923888590920075102746414197308118394990166324548252000654535549135404251365727033531109027501496137884512665345087507448541226961795781638248065854172486053990347037549020708560363943080255029488695776548523283103003736192237755193426901742803300105362063921869813767053620828703061278751635318774986568484432478479888883196205093235506786968791870187386235613228150785041456783776644904602507816273616572580987404230781354965733364130997792256609794347749474766159922869052007615421979327274412813229160771036226043588048206352150271453378185428944939944254406889341257294583647696981922944977501076299932070029125983605389257833910108190818544870015196932751309423156461198112840382439305613818250338867547406629631381534342423148720398386483180221082803416168732488774839135885377912686619949088896254781445422404063269855335200473582332438592177614502914947286302266678067555398597694965679472542846235849608824494929827248565348302878895991821711999451028151439173813909289221566279024080869190704057573624925817170448735226438127181601230843424999876657348118355087925034738411901921276629041526614506503846763785085540102654743699818182038983272554015172605615646258651130887402715759392108821197105760400393979659971742022755643621381551009909356255986612518739640051982095586520965851 1277220661116609949564551678088479251632970460172516877405424112196766347752673390959067962667632408797961478238880435581919164358627190221844955765626676366041881353594017037129793752775004533365647627886240121774054446019203591288765413066437886996713815718882588402942111999890393104864093154835663561801831176700950369269854682696816148112370887036484938059359712737567193531721175844818546644974662576387509161638715840832123960108417445587176936567327475356679626044630835272281209195242719504558060581606952190218030009608772429817668215047301957174695088894252010592448080886756899289950170046102182519370244518607785357270587874338637716305225575933968498254678834910599954403635429259385513216410629140185757430570480079078151584336624274961242859545231806817666907902708637550620009287890655200785225847605825023605123317094715221191629427160438946049754772576251164666533218526543672534386219787310868613419475623898459710100737697425908084407387877079416587675888565207127994709765947394403759979703945429857290140309636572741699310757051823594560419357682587016735228423535563494399310740191556766719396446673451906323471762812522437807360457467781879440349986123623128894009104266623532380035857077268317069195364543772305444628912586540287554157491961150097361036327220796561637493368195231603015404915780250692090080889813122894600724696927414246210072075278414849650568691060452571865129455465799387295843551224569380358897516847750445822572277631850328005283426411965491890100131006509349859045768610139162193396973708164947467160978 2066586440820286123526212675377826140041733237585229085170828690956075885830554445096459785655347598742998303348449710625703538962178791493710196654012125832150374360291536762571794641623736716864108340116882754872787756895619987670333550303458275739383002712806476993862187102636807302172211549825829886350083177355485918405258934062543181643479914537981075943872378082654700980262402806614328283222728430559995215629062878381144668668781388667431966056023251905202909147634571464518964388669621247361360686969016112087843776662393258520729493798937275949681657378684489072336964082961992525456957014894052706756480131835936142312044658115282620907733392207585070835666239141381309369368793390383305473020423487935232196730402948130159199758603602235655672774392577853892951490756843902770280741268840629730165791860231912946380611678362918173552372137940022349686842605377148271922476360453780725204764657326065546170785047054920908213578079865213698225638215946963994305519946741470417858486345780886940200786748846026022629084475708627077223443671772683456674139128009420798498278870763967981643178783734381222311393959754173001539318211120132773039930010628115289958810618552956142574452569502428371857569076719345220634538357681594666195191610621156744861549534775023178206775956022999764674969426075028015281573128369047178005924551534796522001325968940860716575922042199935190671345804152390047168438738353402468449166870828031489784919563509837931393474737610728399263086383707514645743752388060359768402024596751680933037025690260533988126829 3343807101936896073090764353466305391674703697757745962576252803152842233583227836055527748322980007540959781587330146207622703320805981715555152419638802198192255713885553799701588394398741250229755968003122876646842202914823578959098963369896162736096818431689065396804299102527200407036304704661493448151914354056436287675113616759359329755850801574466014003232090820221894511983578651432874928197391006947504377267778719213268628777198834254608902623350727261882535192265406736800173583912340751919421268575968302305873786271165688338397708846239233124376746272936499664785044969718891815407127060996235226126724650443721499582632532453920337212958968141553569090345074051981263773004222649768818689431052628120989627300883027208310784095227877196898532319624384671559859393465481453390290029159495830515391639466056936551503928773078139365181799298378968399441615181628312938455694886997453259590984444636934159590260670953380618314315777291121782633026093026380581981408511948598412568252293175290700180490694275883312769394112281368776534200723596278017093496810596437533726702406327462380953918975291147941707840633206079325011081023642570580400387478409994730308796742176085036583556836125960751893426153987662289829902901453900110824104197161444299019041495925120539243103176819561402168337621306631030686488908619739268086814364657691122726022896355106926647997320614784841240036864604961912297894204152789764292718095397411848682436411260283753965752369461056404546512795673006535843883394569709627447793206890843126433999398425481455287807 5410393542757182196616977028844131531716436935342975047747081494108918119413782281151987533978327606283958084935779856833326242282984773209265349073650928030342630074177090562273383036022477967093864308120005631519629959810443566629432513673354438475479821144495542390666486205164007709208516254487323334501997531411922206080372550821902511399330716112447089947104468902876595492245981458047203211420119437507499592896841597594413297445980222922040868679373979167085444339899978201319137972581961999280781955544984414393717562933558946859127202645176509074058403651620988737122009052680884340864084075890287932883204782279657641894677190569202958120692360349138639926011313193362573142373016040152124162451476116056221824031285975338469983853831479432554205094016962525452810884222325356160570770428336460245557431326288849497884540451441057538734171436318990749128457787005461210378171247451233984795749101962999705761045718008301526527893857156335480858664308973344576286928458690068830426738638956177640381277443121909335398478587989995853757644395368961473767635938605858332224981277091430362597097759025529164019234592960252326550399234762703353440317489038110020267607360729041179158009405628389123750995230707007510464441259135494777019295807782601043880591030700143717449879132842561166843307047381659045968062036988786446092738916192487644727348865295967643223919362814720031911382668757351959466332942506192232741884966225443338467355974770121685359227107071784803809599179380521181587635782630069395849817803642524059471025088686015443414636 8754200644694078269707741382310436923391140633100721010323334297261760352997010117207515282301307613824917866523110003040948945603790754924820501493289730228534885788062644361974971430421219217323620276123128508166472162725267145588531477043250601211576639576184607787470785307691208116244820959148816782653911885468358493755486167581261841155181517686913103950336559723098490004229560109480078139617510444455003970164620316807681926223179057176649771302724706428967979532165384938119311556494302751200203224120952716699591349204724635197524911491415742198435149924557488401907054022399776156271211136886523159009929432723379141477309723023123295333651328490692209016356387245343836915377238689920942851882528744177211451332169002546780767949059356629452737413641347197012670277687806809550860799587832290760949070792345786049388469224519196903915970734697959148570072968633774148833866134448687244386733546599933865351306388961682144842209634447457263491690401999725158268336970638667242994990932131468340561768137397792648167872700271364630291845118965239490861132749202295865951683683418892743551016734316677105727075226166331651561480258405273933840704967448104750576404102905126215741566241754349875644421384694669800294344160589394887843400004944045342899632526625264256692982309662122569011644668688290076654550945608525714179553280850178767453371761651074569871916683429504873151419533362313871764227146658981997034603061622855187149792386030405439324979476532841208356111975053527717431519177199779023297611010533367185905024487111496898702443 14164594187451260466324718411154568455107577568443696058070415791370678472410792398359502816279635220108875951458889859874275187886775528134085850566940658258877515862239734924248354466443697184417484584243134139686102122535710712217963990716605039687056460720680150178137271512855215825453337213636140117155909416880280699835858718403164352554512233799360193897441028625975085496475541567527281351037629881962503563061461914402095223669159280098690639982098685596053423872065363139438449529076264750480985179665937131093308912138283582056652114136592251272493553576178477139029063075080660497135295212776811091893134215003036783371986913592326253454343688839830848942367700438706410057750254730073067014334004860233433275363454977885250751802890836062006942507658309722465481161910132165711431570016168751006506502118634635547273009675960254442650142171016949897698530755639235359212037381899921229182482648562933571112352106969983671370103491603792744350354710973069734555265429328736073421729571087645980943045580519701983566351288261360484049489514334200964628768687808154198176664960510323106148114493342206269746309819126583978111879493167977287281022456486214770844011463634167394899575647382738999395416615401677310758785419724889664862695812726646386780223557325407974142861442504683735854951716069949122622612982597312160272292197042666412180720626947042213095836046244224905062802202119665831230560089165174229776488027848298525617148360800527124684206583604626012165711154434048899019154959829848419147428814175891245376049575797512342117079 22918794832145338736032459793465005378498718201544417068393750088632438825407802515567018098580942833933793817981999862915224133490566283058906352060230388487412401650302379286223325896864916401741104860366262647852574285260977857806495467759855640898633100296864757965608056820546423941698158172784956899809821302348639193591344885984426193709693751486273297847777588349073575500705101677007359490655140326417507533226082231209777149892338337275340411284823392025021403404230748077557761085570567501681188403786889847792900261343008217254177025628007993470928703500735965540936117097480436653406506349663334250903063647726415924849296636615449548787995017330523057958724087684050246973127493419994009866216533604410644726695623980432031519751950192691459679921299656919478151439597938975262292369604001041767455572910980421596661478900479451346566112905714909046268603724273009508045903516348608473569216195162867436463658495931665816212313126051250007842045112972794892823602399967403316416720503219114321504813717917494631734223988532725114341334633299440455489901437010450064128348643929215849699131227658883375473385045292915629673359751573251221121727423934319521420415566539293610641141889137088875039838000096347111053129580314284552706095817670691729679856083950672230835843752166806304866596384758239199277163928205837874451845477892845179634092388598116782967752729673729778214221735481979702994787235824156226811091089471153712766940746830932564009186060137467220521823129487576616450674137029627442445039824709258431281074062909009240819522 37083389019596599202357178204619573833606295769988113126464165880003117297818594913926520914860578054042669769440889722789499321377341811192992202627171046746289917512542114210471680363308613586158589444609396787538676407796688570024459458476460680585689561017544908143745328333401639767151495386421097016965730719228919893427203604387590546264205985285633491745218616975048660997180643244534640841692770208380011096287544145611872373561497617374031051266922077621074827276296111216996210614646832252162173583452826978886209173481291799310829139764600244743422257076914442679965180172561097150541801562440145342796197862729452708221283550207775802242338706170353906901091788122756657030877748150067076880550538464644078002059078958317282271554841028753466622428957966641943632601508071140973723939620169792773962075029615057143934488576439705789216255076731858943967134479912244867257940898248529702751698843725801007576010602901649487582416617655042752192399823945864627378867829296139389838450074306760302447859298437196615300575276794085598390824147633641420118670124818604262305013604439538955847245721001089645219694864419499607785239244741228508402749880420534292264427030173461005540717536519827874435254615498024421811915000039174217568791630397338116460079641276080204978705194671490040721548100828188321899776910803150034724137674935511591814813015545158996063588775917954683277023937601645534225347324989330456587579117319452238384089107631459688693392643742093232687534283921625515469829096859475861592468638885149676657123638706521582936601 60002183851741937938389637998084579212105013971532530194857915968635556123226397429493539013441520887976463587422889585704723454867908094251898554687401435233702319162844493496695006260173529987899694304975659435391250693057666427830954926236316321484322661314409666109353385153948063708849653559206053916775552021577559087018548490372016739973899736771906789592996205324122236497885744921542000332347910534797518629513626376821649523453835954649371462551745469646096230680526859294553971700217399753843361987239716826679109434824300016565006165392608238214350960577650408220901297270041533803948307912103479593699261510455868633070580186823225351030333723500876964859815875806806904004005241570061086746767072069054722728754702938749313791306791221444926302350257623561421784041106010116236016309224170834541417647940595478740595967476919157135782367982446767990235738204185254375303844414597138176320915038888668444039669098833315303794729743706292760034444936918659520202470229263542706255170577525874623952673016354691247034799265326810712732158780933081875608571561829054326433362248368754805546376948659973020693079909712415237458598996314479729524477304354853813684842596712754616181859425656916749475092615594371532865044580353458770274887448068029846139935725226752435814548946838296345588144485586427521176940839008987909175983152828356771448905404143275779031341505591684461491245673083625237220134560813486683398670206790605951151029854462392252702578703879560453209357413409202131920503233889103304037508463594408107938197701615530823756123 97085572871338537140746816202704153045711309741520643321322081848638673421044992343420059928302098942019133356863779308494222776245249905444890757314572481979992236675386607707166686623482143574058283749585056222929927100854354997855414384712777002070012222331954574253098713487349703476001148945627150933741282740806478980445752094759607286238105722057540281338214822299170897495066388166076641174040680743177529725801170522433521897015333572023402513818667547267171057956822970511550182314864232006005535570692543805565318608305591815875835305157208482957773217654564850900866477442602630954490109474543624936495459373185321341291863737031001153272672429671230871760907663929563561034882989720128163627317610533698800730813781897066596062861632250198392924779215590203365416642614081257209740248844340627315379722970210535884530456053358862924998623059178626934202872684097499242561785312845667879072613882614469451615679701734964791377146361361335512226844760864524147581338058559682096093620651832634926400532314791887862335374542120896311122982928566723295727241686647658588738375852808293761393622669661062665912774774131914845243838241055708237927227184775388105949269626886215621722576962176744623910347231092395954676959580392632987843679078465367962600015366502832640793254141509786386309692586414615843076717749812137943900120827763868363263718419688434775094930281509639144768269610685270771445481885802817139986249324110058189535118962093851941395971347621653685896891697330827647390332330748579165629977102479557784595321340322052406692724 157087756723080475079136454200788732257816323713053173516179997817274229544271389772913598941743619829995596944286668894198946231113157999696789312001973917213694555838231101203861692883655673561957978054560715658321177793912021425686369310949093323554334883646364240362452098641297767184850802504833204850516834762384038067464300585131624026212005458829447070931211027623293133992952133087618641506388591277975048355314796899255171420469169526672773976370413016913267288637349829806104154015081631759848897557932260632244428043129891832440841470549816721172124178232215259121767774712644164758438417386647104530194720883641189974362443923854226504303006153172107836620723539736370465038888231290189250374084682602753523459568484835815909854168423471643319227129473213764787200683720091373445756558068511461856797370910806014625126423530278020060780991041625394924438610888282753617865629727442806055393528921503137895655348800568280095171876105067628272261289697783183667783808287823224802348791229358509550353205331146579109370173807447707023855141709499805171335813248476712915171738101177048566939999618321035686605854683844330082702437237370187967451704489130241919634112223598970237904436387833661373385439846686767487542004160746091758118566526533397808739951091729585076607803088348082731897837072001043364253658588821125853076103980592225134712623823831710554126271787101323606259515283768896008665616446616303823384919530900664140686148816556244194098550051501214139106249110740029779310835564637682469667485566073965892533519041937583230448847 254173329594419012219883270403492885303527633454573816837502079665912902965316382116333658870045718772014730301150448202693169007358407905141680069316546399193686792513617708911028379507137817136016261804145771881251104894766376423541783695661870325624347105978318814615550812128647470660851951450460355784258117503190517047910052679891231312450111180886987352269425849922464031488018521253695282680429272021152578081115967421688693317484503098696176490189080564180438346594172800317654336329945863765854433128624804437809746651435483648316676775707025204129897395886780110022634252155246795712928526861190729466690180256826511315654307660885227657575678582843338708381631203665934026073771221010317414001402293136452324190382266732882505917030055721841712151908688803968152617326334172630655496806912852089172177093881016550509656879583636882985779614100804021858641483572380252860427415040288473934466142804117607347271028502303244886549022466428963784488134458647707815365146346382906898442411881191144476753737645938466971705548349568603334978124638066528467063054935124371503910113953985342328333622287982098352518629457976244927946275478425896205378931673905630025583381850485185859627013350010405997295787077779163442218963741138724745962245604998765771339966458232417717401057229857869118207529658415659207330376338633263796976224808356093497976342243520145329221202068610962751027784894454166780111098332419120963371168855010722330221267778650096135494521399122867825003140808070857426701167895386261635297462668553523677128840382259635637141571 411261086317499487299019724604281617561343957167626990353682077483187132509587771889247257811789338602010327245437117096892115238471565904838469381318520316407381348351848810114890072390793490697974239858706487539572282688678397849228153006610963649178681989624683054978002910769945237845702753955293560634774952265574555115374353265022855338662116639716434423200636877545757165480970654341313924186817863299127626436430764320943864737953672625368950466559493581093705635231522630123758490345027495525703330686557065070054174694565375480757518246256841925302021574118995369144402026867890960471366944247837833996884901140467701290016751584739454161878684736015446545002354743402304491112659452300506664375486975739205847649950751568698415771198479193485031379038162017732939818010054264004101253364981363551028974464791822565134783303113914903046560605142429416783080094460663006478293044767731279989859671725620745242926377302871524981720898571496592056749424156430891483148954634206131700791203110549654027106942977085046081075722157016310358833266347566333638398868183601084419081852055162390895273621906303134039124484141820575010648712715796084172830636163035871945217494074084156097531449737844067370681226924465930929760967901884816504080812131532163580079917549962002794008860318205951850105366730416702571584034927454389650052328788948318632688966067351855883347473855712286357287300178223062788776714779035424786756088385911386470907416595206340329593071450624081964109389918810887206012003460023944104964948234627489569662359424197218867590418 665434415911918499518902995007774502864871590622200807191184157149100035474904154005580916681835057374025057546587565299585284245829973809980149450635066715601068140865466519025918451897931307833990501662852259420823387583444774272769936702272833974803029095603001869593553722898592708506554705405753916419033069768765072163284405944914086651112227820603421775470062727468221196968989175595009206867247135320280204517546731742632558055438175724065126956748574145274143981825695430441412826674973359291557763815181869507863921346000859129074195021963867129431918970005775479167036279023137756184295471109028563463575081397294212605671059245624681819454363318858785253383985947068238517186430673310824078376889268875658171840333018301580921688228534915326743530946850821701092435336388436634756750171894215640201151558672839115644440182697551786032340219243233438641721578033043259338720459808019753924325814529738352590197405805174769868269921037925555841237558615078599298514100980589038599233614991740798503860680623023513052781270506584913693811390985632862105461923118725455922991966009147733223607244194285232391643113599796819938594988194221980378209567836941501970800875924569341957158463087854473367977014002245094371979931643023541250043057736530929351419884008194420511409917548063820968312896388832361778914411266087653447028553597304412130665308310872001212568675924323249108315085072677229568887813111454545750127257240922108801128684373856436465087592849746949789112530726881744632713171355410205740262410903181013246791199806456854504731989 1076695502229417986817922719612056120426215547789827797544866234632287167984491925894828174493624395976035384792024682396477399484301539714818618831953587032008449489217315329140808524288724798531964741521558746960395670272123172121998089708883797623981711085227684924571556633668537946352257459361047477053808022034339627278658759209936941989774344460319856198670699605013978362449959829936323131054064998619407830953977496063576422793391848349434077423308067726367849617057218060565171317020000854817261094501738934577918096040566234609831713268220709054733940544124770848311438305891028716655662415356866397460459982537761913895687810830364135981333048054874231798386340690470543008299090125611330742752376244614864019490283769870279337459427014108811774909985012839434032253346442700638858003536875579191230126023464661680779223485811466689078900824385662855424801672493706265817013504575751033914185486255359097833123783108046294849990819609422147897986982771509490781663055614795170300024818102290452530967623600108559133856992663601224052644657333199195743860791302326540342073818064310124118880866100588366430767597741617394949243700910018064551040203999977373916018369998653498054689912825698540738658240926711025301740899544908357754123869868063092931499801558156423305418777866269772818418263119249064350498446193542043097080882386252730763354274378223857095916149780035535465602385250900292357664527890489970536883345626833495272036100969062776794680664300371031753221920645692631838725174815434149845227359137808502816453559230654073372322407 1742129918141336486336825714619830623291087138412028604736050391781387203459396079900409091175459453350060442338612247696062683730131513524798768282588653747609517630082781848166726976186656106365955243184411006381219057855567946394768026411156631598784740180830686794165110356567130654858812164766801393472841091803104699441943165154851028640886572280923277974140762332482199559418949005531332337921312133939688035471524227806208980848830024073499204380056641871641993598882913491006584143694974214108818858316920804085782017386567093738905908290184576184165859514130546327478474584914166472839957886465894960924035063935056126501358870075988817800787411373733017051770326637538781525485520798922154821129265513490522191330616788171860259147655549024138518440931863661135124688682831137273614753708769794831431277582137500796423663668509018475111241043628896294066523250526749525155733964383770787838511300785097450423321188913221064718260740647347703739224541386588090080177156595384208899258433094031251034828304223132072186638263170186137746456048318832057849322714421051996265065784073457857342488110294873598822410711341414214887838689104240044929249771836918875886819245923222840011848375913553014106635254928956119673720831187931899004166927604594022282919685566350843816828695414333593786731159508081426129412857459629696544109435983557142894019582689095858308484825704358784573917470323577521926552341001944516287010602867755604073164785342919213259768257150117981542334451372574376471438346170844355585489770040989516063244759037110927877054396 2818825420370754473154748434231886743717302686201856402280916626413674371443888005795237265669083849326095827130636930092540083214433053239617387114542240779617967119300097177307535500475380904897919984705969753341614728127691118516766116120040429222766451266058371718736666990235668601211069624127848870526649113837444326720601924364787970630660916741243134172811461937496177921868908835467655468975377132559095866425501723869785403642221872422933281803364709598009843215940131551571755460714975068926079952818659738663700113427133328348737621558405285238899800058255317175789912890805195189495620301822761358384495046472818040397046680906352953782120459428607248850156667328009324533784610924533485563881641758105386210820900558042139596607082563132950293350916876500569156942029273837912472757245645374022661403605602162477202887154320485164190141868014559149491324923020455790972747468959521821752696787040456548256444972021267359568251560256769851637211524158097580861840212210179379199283251196321703565795927823240631320495255833787361799100705652031253593183505723378536607139602137767981461368976395461965253178309083031609837082390014258109480289975836896249802837615921876338066538288739251554845293495855667144975461730732840256758290797472657115214419487124507267122247473280603366605149422627330490479911303653171739641190318369809873657373857067319715404400975484394320039519855574477814284216868892434486823893948494589099345200886311981990054448921450489013295556372018267008310163520986278505430717129178798018879698318267765001249376803 4560955338512090959491574148851717367008389824613885007016967018195061574903284085695646356844543302676156269469249177788602766944564566764416155397130894527227484749382879025474262476662037011263875227890380759722833785983259064911534142531197060821551191446889058512901777346802799256069881788894650263999490205640549026162545089519638999271547489022166412146952224269978377481287857840998987806896689266498783901897025951675994384491051896496432486183421351469651836814823045042578339604409949283034898811135580542749482130813700422087643529848589861423065659572385863503268387475719361662335578188288656319308530110407874166898405550982341771582907870802340265901926993965548106059270131723455640385010907271595908402151517346213999855754738112157088811791848740161704281630712104975186087510954415168854092681187739663273626550822829503639301382911643455443557848173547205316128481433343292609591208087825553998679766160934488424286512300904117555376436065544685670942017368805563588098541684290352954600624232046372703507133519003973499545556753970863311442506220144430532872205386211225838803857086690335564075589020424445824724921079118498154409539747673815125689656861845099178078386664652804568951928750784623264649182561920772155762457725077251137497339172690858110939076168694936960391880582135411916609324161112801436185299754353367016551393439756415573712885801188753104613437325898055336210769209894379003110904551362344703418365671654901203314217178600606994837890823390841384781601867157122861016206899219787534942943077304875929126431199 7379780758882845432646322583083604110725692510815741409297883644608735946347172091490883622513627152002252096599886107881142850158997620004033542511673135306845451868682976202781797977137417916161795212596350513064448514110950183428300258651237490044317642712947430231638444337038467857280951413022499134526139319477993352883147013884426969902208405763409546319763686207474555403156766676466643275872066399057879768322527675545779788133273768919365767986786061067661680030763176594150095065124924351960978763954240281413182244240833750436381151406995146661965459630641180679058300366524556851831198490111417677693025156880692207295452231888694725365028330230947514752083661293557430593054742647989125948892549029701294612972417904256139452361820675290039105142765616662273438572741378813098560268200060542876754084793341825750829437977149988803491524779658014593049173096567661107101228902302814431343904874866010546936211132955755783854763861160887407013647589702783251803857581015742967297824935486674658166420159869613334827628774837760861344657459622894565035689725867809069479344988348993820265226063085797529328767329507477434562003469132756263889829723510711375492494477766975516144924953392056123797222246640290409624644292653612412520748522549908252711758659815365378061323641975540326997030004762742407089235464765973175826490072723176890208767296823735289117286776673147424652957181472533150494986078786813489934798499856933802763566557966883193368666100051096008133447195409108393091765388143401366446924028398585553822641395572640930375808002 11940736097394936392137896731935321477734082335429626416314850662803797521250456177186529979358170454678408366069135285669745617103562186768449697908804029834072936618065855228256060453799454927425670440486731272787282300094209248339834401182434550865868834159836488744540221683841267113350833201917149398525629525118542379045692103404065969173755894785575958466715910477452932884444624517465631082768755665556663670219553627221774172624325665415798254170207412537313516845586221636728434669534873634995877575089820824162664375054534172524024681255585008085031119203027044182326687842243918514166776678400073997001555267288566374193857782871036496947936201033287780654010655259105536652324874371444766333903456301297203015123935250470139308116558787447127916934614356823977720203453483788284647779154475711730846765981081489024455988799979492442792907691301470036607021270114866423229710335646107040935112962691564545615977293890244208141276162065004962390083655247468922745874949821306555396366619777027612767044391915986038334762293841734360890214213593757876478195946012239602351550374560219659069083149776133093404356349931923259286924548251254418299369471184526501182151339612074694223311618044860692749150997424913674273826854574384568283206247627159390209097832506223489000399810670477287388910586898154323698559625878774612011789827076543906760160736580150862830172577861900529266394507370588486705755288681192493045703051219278506181932229621784396682883278651703002971338018799949777873367255300524227463130927618373088765584472877516859502239201 19320516856277781824784219315018925588459774846245367825612734307412533467597628268677413601871797606680660462669021393550888467262559806772483240420477165140918388486748831431037858430936872843587465653083081785851730814205159431768134659833672040910186476872783918976178666020879734970631784614939648533051768844596535731928839117288492939075964300548985504786479596684927488287601391193932274358640822064614543438542081302767553960757599434335164022156993473604975196876349398230878529734659797986956856339044061105575846619295367922960405832662580154746996578833668224861384988208768475365997975168511491674694580424169258581489310014759731222312964531264235295406094316552662967245379617019433892282796005330998497628096353154726278760478379462737167022077379973486251158776194862601383208047354536254607600850774423314775285426777129481246284432470959484629656194366682527530330939237948921472279017837557575092552188426845999991996040023225892369403731244950252174549732530837049522694191555263702270933464551785599373162391068679495222234871673216652441513885671880048671830895362909213479334309212861930622733123679439400693848928017384010682189199194695237876674645817379050210368236571436916816546373244065204083898471147227996980803954770177067642920856492321588867061723452646017614385940591660896730787795090644747787838279899799720796968928033403886151947459354535047953919351688843121637200741367468005982980501551076212308945498787588667590051549378702799011104785214209058170965132643443925593910054956016958642588225868450157789878047203 31261252953672718216922116046954247066193857181674994241927584970216330988848084445863943581229968061359068828738156679220634084366121993540932938329281194974991325104814686659293918884736327771013136093569813058639013114299368680107969061016106591776055311032620407720718887704721002083982617816856797931577398369715078110974531220692558908249720195334561463253195507162380421172046015711397905441409577730171207108761634929989328133381925099750962276327200886142288713721935619867606964404194671621952733914133881929738510994349902095484430513918165162832027698036695269043711676051012393880164751846911565671696135691457824955683167797630767719260900732297523076060104971811768503897704491390878658616699461632295700643220288405196418068594938250184294939011994330310228878979648346389667855826509011966338447616755504803799741415577108973689077340162260954666263215636797393953560649573595028513214130800249139638168165720736244200137316185290897331793814900197721097295607480658356078090558175040729883700508943701585411497153362521229583125085886810410317992081617892288274182445737469433138403392362638063716137480029371323953135852565635265100488568665879764377856797156991124904591548189481777509295524241490117758172298001802381549087161017804227033129954324827812356062123263316494901774851178559051054486354716523522399850069726876264703729088769984037014777631932396948483185746196213710123906496656149198476026204602295490815127431017210451986734432657354502014076123233009007948838499898744449821373185883635331731353810341327674649380286404 50581769809950500041706335361973172654653632027920362067540319277628864456445712714541357183101765668039729291407178072771522551628681800313416178749758360115909713591563518090331777315673200614600601746652894844490743928504528111876103720849778632686241787905404326696897553725600737054614402431796446464629167214311613842903370337981051847325684495883546968039675103847307909459647406905330179800050399794785750547303716232756882094139524534086126298484194359747263910598285018098485494138854469608909590253177943035314357613645270018444836346580745317579024276870363493905096664259780869246162727015423057346390716115627083537172477812390498941573865263561758371466199288364431471143084108410312550899495466963294198271316641559922696829073317712921461961089374303796480037755843208991051063873863548220946048467529928118575026842354238454935361772633220439295919410003479921483891588811543949985493148637806714730720354147582244192133356208516789701197546145147973271845340011495405600784749730304432154633973495487184784659544431200724805359957560027062759505967289772336946013341100378646617737701575499994338870603708810724646984780583019275782677767860575002254531442974370175114959784760918694325841897485555321842070769149030378529891115787981294676050810817149401223123846715962512516160791770219947785274149807168270187688349626675985500698016803387923166725091286931996437105097885056831761107238023617204459006706153371703124072929804799119576785982036057301025180908447218066119803632542188375415283240839652290373942036209777832439258333607 81843022763623218258628451408927419720847489209595356309467904247845195445293797160405300764331733729398798120145334751992156635994803793854349117079039555090901038696378204749625696200409528385613737840222707903129757042803896791984072781865885224462297098938024734417616441430321739138597020248653244396206565584026691953877901558673610755575404691218108431292870611009688330631693422616728085241459977524956957656065351162746210227521449633837088574811395245889552624320220637966092458543049141230862324167311824965052868607995172113929266860498910480411051974907058762948808340310793263126327478862334623018086851807084908492855645610021266660834765995859281447526304260176199975040788599801191209516194928595589898914536929965119114897668255963105756900101368634106708916735491555380718919700372560187284496084285432922374768257931347428624439112795481393962182625640277315437452238385138978498707279438055854368888519868318488392270672393807687032991361045345694369140947492153761678875307905345162038334482439188770196156697793721954388485043446837473077498048907664625220195786837848079756141093938138058055008083738182048600120633148654540883166336526454766632388240131361300019551332950400471835137421727045439600243067150832760078978276805785521709180765141977213579185969979279007417935642948778998839760504523691792587538419353552250204427105573371960181502723219328944920290844081270541885013734679766402935032910755667193939200360822009571563520414693411803039257031680227074068642132440932825236656426723287622105295846551105507088638620011 132424792573573718300334786770900592375501121237515718377008223525474059901739509874946657947433499397438527411552512824763679187623485594167765295828797915206810752287941722839957473516082729000214339586875602747620500971308424903860176502715663857148538886843429061114513995155922476193211422680449690860835732798338305796781271896654662602901089187101655399332545714856996240091340829522058265041510377319742708203369067395503092321660974167923214873295589605636816534918505656064577952681903610839771914420489768000367226221640442132374103207079655797990076251777422256853905004570574132372490205877757680364477567922711992030028123422411765602408631259421039818992503548540631446183872708211503760415690395558884097185853571525041811726741573676027218861190742937903188954491334764371769983574236108408230544551815361040949795100285585883559800885428701833258102035643757236921343827196682928484200428075862569099608874015900732584404028602324476734188907190493667640986287503649167279660057635649594192968455934675954980816242224922679193845001006864535837004016197436962166209127938226726373878795513638052393878687446992773247105413731673816665844104387029768886919683105731475134511117711319166160979319212600761442313836299863138608869392593766816385231575959126614802309816695241519934096434718998946625034654330860062775226768980228235705125122376759883348227814506260941357395941966327373646120972703383607394039616909038897063273290626808691140306396729469104064437940127445140188445764983121200651939667562939912479237882760883339527896953618 214267815337196936558963238179828012096348610447111074686476127773319255347033307035351958711765233126837325531697847576755835823618289388022114412907837470297711790984319927589583169716492257385828077427098310650750258014112321695844249284581549081610835985781453795532130436586244215331808442929102935257042298382364997750659173455328273358476493878319763830625416325866684570723034252138786350282970354844699665859434418558249302549182423801760303448106984851526369159238726294030670411224952752070634238587801592965420094829635614246303370067578566278401128226684481019802713344881367395498817684740092303382564419729796900522883769032433032263243397255280321266518807808716831421224661308012694969931885324154473996100390501490160926624409829639132975761292111572009897871226826319752488903274608668595515040636100793963324563358216933312184239998224183227220284661284034552358796065581821906982907707513918423468497393884219220976674700996132163767180268235839362010127234995802928958535365540994756231302938373864725176972940018644633582330044453702008914502065105101587386404914776074806130019889451776110448886771185174821847226046880328357549010440913484535519307923237092775154062450661719637996116740939646201042556903450695898687847669399552338094412341101103828381495786674520527352032077667777945464795158854551855362765188333780485909552227950131843529730537725589886277686786047597915531134707383150010329072527664706091002473651448818262703826811422880907103694971807672214257087897424054025888596094286227534584533729311988846616535573629 346692607910770654859298024950728604471849731684626793063484351298793315248772816910298616659198732524275852943250360401519515011241774982189879708736635385504522543272261650429540643232574986386042417013973913398370758985420746599704425787297212938759374872624882856646644431742166691525019865609552626117878031180703303547440445351982935961377583065421419229957962040723680810814375081660844615324480732164442374062803485953752394870843397969683518321402574457163185694157231950095248363906856362910406153008291360965787321051276056378677473274658222076391204478461903276656618349451941527871307890617849983747041987652508892552911892454844797865652028514701361085511311357257462867408534016224198730347575719713358093286244073015202738351151403315160194622482854509913086825718161084124258886848844777003745585187916155004274358458502519195744040883652885060478386696927791789280139892778504835467108135589780992568106267900119953561078729598456640501369175426333029651113522499452096238195423176644350424271394308540680157789182243567312776175045460566544751506081302538549552614042714301532503898684965414162842765458632167595094331460612002174214854545300514304406227606342824250288573568373038804157096060152246962484870739750559037296717061993319154479643917060230443183805603369762047286128512386776892089829813185411918137991957314008721614677350326891726877958352231850827635082728013925289177255680086533617723112144573744988065746942075626953844133208152350011168132911935117354445533662407175226540535761849167447063771612072872186144432527247 560960423247967591418261263130556616568198342131737867749960479072112570595806123945650575370963965651113178474948207978275350834860064370211994121644472855802234334256581578019123812949067243771870494441072224049121016999533068295548675071878762020370210858406336652178774868328410906856828308538655561374920329563068301298099618807311209319854076943741183060583378366590365381537409333799630965607451087009142039922237904512001697420025821771443821769509559308689554853395958244125918775131809114981040391596092953931207415880911670624980843342236788354792332705146384296459331694333308923370125575357942287129606407382305793075795661487277830128895425769981682352030119165974294288633195324236893700279461043867832089386634574505363664975561232954293170383774966081922984696944987403876747790123453445599260625824016948967598921816719452507928280881877068287698671358211826341638935958360326742450015843103699416036603661784339174537753430594588804268549443662172391661240757495255025196730788717639106655574332682405405334762122262211946358505089914268553666008146407640136939018957490376338633918574417190273291652229817342416941557507492330531763864986213998839925535529579917025442636019034758442153212801091893163527427643201254935984564731392871492574056258161334271565301390044282574638160590054554837554624972039963773500757145647789207524229578277023570407688889957440713912769514061523204708390387469683628052184672238451079068220593524445216547960019575230918271827883742789568702621559831229252429131856135394981648305341384861032760968100876 907653031158738246277559288081285221040048073816364660813444830370905885844578940855949192030162698175389031418198568379794865846101839352401873830381108241306756877528843228448664456181642230157912911455046137447491775984953814895253100859175974959129585731031219508825419300070577598381848174148208187492798360743771604845540064159294145281231660009162602290541340407314046192351784415460475580931931819173584413985041390465754092290869219741127340090912133765852740547553190194221167139038665477891446544604384314896994736932187727003658316616895010431183537183608287573115950043785250451241433465975792270876648395034814685628707553942122627994547454284683043437541430523231757156041729340461092430627036763581190182672878647520566403326712636269453365006257820591836071522663148488001006676972298222603006211011933103971873280275221971703672321765529953348177058055139618130919075851138831577917123978693480408604709929684459128098832160193045444769918619088505421312354279994707121434926211894283457079845726990946085492551304505779259134680135374835098417514227710178686491633000204677871137817259382604436134417688449510012035888968104332705978719531514513144331763135922741275731209587407797246310308861244140126012298382951813973281281793386190647053700175221564714749106993414044621924289102441331729644454785225375691638749102961797929138906928603915297285647242189291541547852242075448493885646067556217245775296816812196067133967535600072170392093227727580929439960795677906923148155222238404478969667617984562428712076953457733218905400628123 1468613454406705837695820551211841837608246415948102528563405309443018456440385064801599767401126663826502209893146776358070216680961903722613867952025581097108991211785424806467788269130709473929783405896118361496612792984486883190801775931054736979499796589437556161004194168398988505238676482686863748867718690306839906143639682966605354601085736952903785351124718773904411573889193749260106546539382906182726453907279294977755789710895041512571161860421693074542295400949148438347085914170474592872486936200477268828202152813099397628639159959131798785975869888754671869575281738118559374611559041333734558006254802417120478704503215429400458123442880054664725789571549689206051444674924664697986130906497807449022272059513222025930068302273869223746535390032786673759056219608135891877754467095751668202266836835950052939472202091941424211600602647407021635875729413351444472558011809499158320367139821797179824641313591468798302636585590787634249038468062750677812973595037489962146631657000611922563735420059673351490827313426767991205493185225289103652083522374117818823430651957695054209771735833799794709426069918266852428977446475596663237742584517728511984257298665502658301173845606442555688463521662336033289539726026153068909265846524779062139627756433382898986314408383458327196562449692495886567199079757265339465139506248609587136663136506880938867693336132146732255460621756136971698594036455025900873827481489050647146202188129124517386940053247302811847711788679420696491850776782069633731398799474119957410360382294842594251666368728999 2376266485565444083973379839293127058648294489764467189376850139813924342284964005657548959431289362001891241311345344737865082527063743075015741782406689338415748089314268034916452725312351704087696317351164498944104568969440698086054876790230711938629382320468775669829613468469566103620524656835071936360517051050611510989179747125899499882317396962066387641666059181218457766240978164720582127471314725356310867892320685443509882001764261253698501951333826840395035948502338632568253053209140070763933480804861583725196889745287124632297476576026809217159407072362959442691231781903809825852992507309526828882903197451935164333210769371523086117990334339347769227112980212437808600716654005159078561533534571030212454732391869546496471628986505493199900396290607265595127742271284379878761144068049890805273047847883156911345482367163395915272924412936974984052787468491062603477087660637989898284263800490660233246023521153257430735417750980679693808386681839183234285949317484669268066583212506206020815265786664297576319864731273770464627865360663938750501036601827997509922284957899732080909553093182399145560487606716362441013335443700995943721304049243025128589061801425399576905055193850352934773830523580173415552024409104882882547128318165252786681456608604463701063515376872371818486738794937218296843534542490715156778255351571385065802043435484854164978983374336023797008473998212420192479682522582118119602778305862843213336155664724589557332146475030392777151749475098603414998932004308038210368467092104519839072459248300327470571769357122 3844879939972149921669200390504968896256540905712569717940255449256942798725349070459148726832416025828393451204492121095935299208025646797629609734432270435524739301099692841384240994443061178017479723247282860440717361953927581276856652721285448918129178909906331830833807636868554608859201139521935685228235741357451417132819430092504854483403133914970172992790777955122869340130171913980688674010697631539037321799599980421265671712659302766269663811755519914937331349451487070915338967379614663636420417005338852553399042558386522260936636535158608003135276961117631312266513520022369200464551548643261386889157999869055643037713984800923544241433214394012495016684529901643860045391578669857064692440032378479234726791905091572426539931260374716946435786323393939354183961879420271756515611163801559007539884683833209850817684459104820126873527060343996619928516881842507076035099470137148218651403622287840057887337112622055733372003341768313942846854744589861047259544354974631414698240213118128584550685846337649067147178158041761670121050585953042402584558975945816333352936915594786290681288926982193854986557524983214869990781919297659181463888566971537112846360466928057878078900800292908623237352185916206705091750435257951791812974842944314926309213041987362687377923760330699015049188487433104864042614299756054621917761600180972202465179942365793032672319506482756052469095754349391891073718977608018993430259794913490359538343793849106944272199722333204624863538154519299906849708786377671941767266566224477249432841543142921722238138086121 6221146425537594005642580229798095954904835395477036907317105589070867141010313076116697686263705387830284692515837465833800381735089389872645351516838959773940487390413960876300693719755412882105176040598447359384821930923368279362911529511516160856758561230375107500663421105338120712479725796357007621588752792408062928121999177218404354365720530877036560634456837136341327106371150078701270801482012356895348189691920665864775553714423564019968165763089346755332367297953825703483592020588754734400353897810200436278595932303673646893234113111185417220294684033480590754957745301926179026317544055952788215772061197320990807370924754172446630359423548733360264243797510114081668646108232675016143253973566949509447181524296961118923011560246880210146336182614001204949311704150704651635276755231851449812812932531716366762163166826268216042146451473280971603981304350333569679512187130775138116935667422778500291133360633775313164107421092748993636655241426429044281545493672459300682764823425624334605365951633001946643467042889315532134748915946616981153085595577773813843275221873494518371590842020164593000547045131699577311004117362998655125185192616214562241435422268353457454983955994143261558011182709496380120643774844362834674360103161109567712990669650591826388441439137203070833535927282370323160886148842246769778696016951752357268267223377850647197651302880818779849477569752561812083553401500190137113033038100776333572874499458573696501604346197363597402015287629617903321848640790685710152135733658328997088505300791443249192809907443243 10066026365509743927311780620303064851161376301189606625257361038327809939735662146575846413096121413658678143720329586929735680943115036670274961251271230209465226691513653717684934714198474060122655763845730219825539292877295860639768182232801609774887740140281439331497228742206675321338926935878943306816988533765514345254818607310909208849123664792006733627247615091464196446501321992681959475492709988434385511491520646286041225427082866786237829574844866670269698647405312774398930987968369398036774314815539288831994974862060169154170749646344025223429960994598222067224258821948548226782095604596049602661219197190046450408638738973370174600856763127372759260482040015725528691499811344873207946413599327988681908316202052691349551491507254927092771968937395144303495666030124923391792366395653008820352817215549576612980851285373036169019978533624968223909821232176076755547286600912286335587071045066340349020697746397368897479424434517307579502096171018905328805038027433932097463063638742463189916637479339595710614221047357293804869966532570023555670154553719630176628158789089304662272130947146786855533602656682792180994899282296314306649081183186099354281782735281515333062856794436170181248534895412586825735525279620786466173078004053882639299882692579189075819362897533769848585115769803428024928763142002824400613778551933329470732403320216440230323622387301535901946665506911203974627120477798156106463297895689823932412843252422803445876545919696802026878825784137203228698349577063382093903000224553474337938142334586170915048045529364 16287172791047337932954360850101160806066211696666643532574466627398677080745975222692544099359826801488962836236167052763536062678204426542920312768110189983405714081927614593985628433953886942227831804444177579210361223800664140002679711744317770631646301370656546832160649847544796033818652732235950928405741326173577273376817784529313563214844195669043294261704452227805523552872472071383230276974722345329733701183441312150816779141506430806205995337934213425602065945359138477882523008557124132437128212625739725110590907165733816047404862757529442443724645028078812822182004123874727253099639660548837818433280394511037257779563493145816804960280311860733023504279550129807197337608044019889351200387166277498129089840499013810272563051754135137239108151551396349252807370180829575027069121627504458633165749747265943375144018111641252211166430006905939827891125582509646435059473731687424452522738467844840640154058380172682061586845527266301216157337597447949610350531699893232780227887064366797795282589112341542354081263936672825939618882479187004708755750131493444019903380662583823033862972967311379856080647788382369491999016645294969431834273799400661595717205003634972788046812788579431739259717604908966946379300123983621140533181165163450352290552343171015464260802034736840682121043052173751185814911984249594179309795503685686738999626698067087427974925268120315751424235259473016058180521977988293219496335996466157505287342710996499947480892117060399428894113413755106550546990367749092246038733882882471426443443126029420107857952972607 26353199156557081860266141470404225657227587997856250157831827665726487020481637369268390512455948215147640979956496639693271743621319463213195274019381420192870940773441268311670563148152361002350487568289907799035900516677960000642447893977119380406534041510937986163657878589751471355157579668114894235222729859939091618631636391840222772063967860461050027888952067319269719999373794064065189752467432333764119212674961958436858004568589297592443824912779080095871764592764451252281453996525493530473902527441279013942585882027793985201575612403873467667154606022677034889406262945823275479881735265144887421094499591701083708188202232119186979561137074988105782764761590145532726029107855364762559146800765605486810998156701066501622114543261390064331880120488791493556303036210954498418861488023157467453518566962815519988124869397014288380186408540530908051800946814685723190606760332599710788109809512911180989174756126570050959066269961783608795659433768466854939155569727327164877690950703109260985199226591681138064695484984030119744488849011757028264425904685213074196531539451673127696135103914458166711614250445065161672993915927591283738483354982586760949998987738916488121109669583015601920508252500321553772114825403604407606706259169217332991590435035750204540080164932270610530706158821977179210743675126252418579923574055619016209732030018283527658298547655421851653370900766384220032807642455786449325959633892155981437700185963419303393357438036757201455772939197892309779245339944812474339941734107435945764381585460615591022905998501971 42640371947604419793220502320505386463293799694522893690406294293125164101227612591960934611815775016636603816192663692456807806299523889756115586787491610176276654855368882905656191582106247944578319372734085378246261740478624140645127605721437151038180342881594532995818528437296267388976232400350845163628471186112668892008454176369536335278812056130093322150656519547075243552246266135448420029442154679093852913858403270587674783710095728398649820250713293521473830538123589730163977005082617662911030740067018739053176789193527801248980475161402910110879251050755847711588267069698002732981374925693725239527779986212120965967765725265003784521417386848838806269041140275339923366715899384651910347187931882984940087997200080311894677595015525201570988272040187842809110406391784073445930609650661926086684316710081463363268887508655540591352838547436847879692072397195369625666234064287135240632547980756021629328814506742733020653115489049910011816771365914804549506101427220397657918837767476058780481815704022680418776748920702945684107731490944032973181654816706518216434920114256950729998076881769546567694898233447531164992932572886253170317628781987422545716192742551460909156482371595033659767970105230520718494125527588028747239440334380783343880987378921220004340966967007451212827201874150930396558587110502012759233369559304702948731656716350615086273472923542167404795136025857236090988164433774742545455969888622138942987528674415803340838330153817600884667052611647416329792330312561566585980467990318417190825028586645011130763951474578 68993571104161501653486643790909612120521387692379143848238121958851651121709249961229325124271723231784244796149160332150079549920843352969310860806873030369147595628810151217326754730258608946928806941023993177282162257156584141287575499698556531444714384392532519159476407027047738744133812068465739398851201046051760510640090568209759107342779916591143350039608586866344963551620060199513609781909587012857972126533365229024532788278685025991093645163492373617345595130888040982445431001608111193384933267508297752995762671221321786450556087565276377778033857073432882600994530015521278212863110190838612660622279577913204674155967957384190764082554461836944589033802730420872649395823754749414469493988697488471751086153901146813516792138276915265902868392528979336365413442602738571864792097673819393540202883672896983351393756905669828971539247087967755931493019211881092816272994396886846028742357493667202618503570633312783979719385450833518807476205134381659488661671154547562535609788470585319765681042295703818483472233904733065428596580502701061237607559501919592412966459565930078426133180796227713279309148678512692837986848500477536908800983764574183495715180481467949030266151954610635580276222605552074490608950931192436353945699503598116335471422414671424544421131899278061743533360696128109607302262236754431339156943614923719158463686734634142744572020578964019058166036792241456123795806889561191871415603780778120380687714637835106734195768190574802340439991809539726109037670257374040925922202097754362955206614047260602153669949976549 111633943051765921446707146111414998583815187386902037538644416251976815222936862553190259736087498248420848612341824024606887356220367242725426447594364640545424250484179034122982946312364856891507126313758078555528423997635208281932703105419993682482894727274127052155294935464344006133110044468816584562479672232164429402648544744579295442621591972721236672190265106413420207103866326334962029811351741691951825040391768499612207571988780754389743465414205667138819425669011630712609408006690728856295964007575316492048939460414849587699536562726679287888913108124188730312582797085219280945844485116532337900150059564125325640123733682649194548603971848685783395302843870696212572762539654134066379841176629371456691174151101227125411469733292440467473856664569167179174523848994522645310722707324481319626887200382978446714662644414325369562892085635404603811185091609076462441939228461173981269374905474423224247832385140055517000372500939883428819292976500296464038167772581767960193528626238061378546162857999726498902248982825436011112704311993645094210789214318626110629401379680187029156131257677997259847004046911960224002979781073363790079118612546561606041431373224019409939422634326205669240044192710782595209103076458780465101185139837978899679352409793592644548762098866285512956360562570279040003860849347256444098390313174228422107195343450984757830845493502506186462961172818098692214783971323335934416871573669400259323675243312250910075034098344392403225107044421187142438830000569935607511902670088072780146031642633905613284433901451127 180627514155927423100193789902324610704336575079281181386882538210828466344646112514419584860359221480205093408490984356756966906141210595694737308401237670914571846112989185340309701042623465838435933254782071732810586254791792423220278605118550213927609111666659571314771342491391744877243856537282323961330873278216189913288635312789054549964371889312380022229873693279765170655486386534475639593261328704809797166925133728636740360267465780380837110577698040756165020799899671695054839008298840049680897275083614245044702131636171374150092650291955665666946965197621612913577327100740559158707595307370950560772339142038530314279701640033385312686526310522727984336646601117085222158363408883480849335165326859928442260305002373938928261871569355733376725057098146515539937291597261217175514804998300713167090084055875430066056401319995198534431332723372359742678110820957555258212222858060827298117262968090426866335955773368300980091886390716947626769181634678123526829443736315522729138414708646698311843900295430317385721216730169076541300892496346155448396773820545703042367839246117107582264438474224973126313195590472916840966629573841326987919596311135789537146553705487358969688786280816304820320415316334669699712027389972901455130839341577016014823832208264069093183230765563574699893923266407149611163111584010875437547256789152141265659030185618900575417514081470205521127209610340148338579778212897126288287177450178379704362957950086016809229866534967205565547036230726868547867670827309648437824872185827143101238256681166215438103851427676 292261457207693344546900936013739609288151762466183218925526954462805281567582975067609844596446719728625942020832808381363854262361577838420163755995602311459996096597168219463292647354988322729943059568540150288339010252427000705152981710538543896410503838940786623470066277955735751010353901006098908523810545510380619315937180057368349992585963862033616694420138799693185377759352712869437669404613070396761622207316902228248947932256246534770580575991903707894984446468911302407664247014989568905976861282658930737093641592051020961849629213018634953555860073321810343226160124185959840104552080423903288460922398706163855954403435322682579861290498159208511379639490471813297794920903063017547229176341956231385133434456103601064339731604861796200850581721667313694714461140591783862486237512322782032793977284438853876780719045734320568097323418358776963553863202430034017700151451319234808567492168442513651114168340913423817980464387330600376446062158134974587564997216318083482922667040946708076858006758295156816287970199555605087654005204489991249659185988139171813671769218926304136738395696152222232973317242502433140843946410647205117067038208857697395578577926929506768909111420607021974060364608027117264908815103848753366556315979179555915694176242001856713641945329631849087656254485836686189615023960931267319535937569963380563372854373636603658406263007583976391984088382428438840553363749536233060705158751119578639028038201262336926884263964879359608790654080651914010986697671397245255949727542273899923247269899315071828722537752878803 472888971363620767647094725916064219992488337545464400312409492673633747912229087582029429456805941208831035429323792738120821168502788434114901064396839982374567942710157404803602348397611788568378992823322222021149596507218793128373260315657094110338112950607446194784837620447127495887597757543381232485141418788596809229225815370157404542550335751345996716650012492972950548414839099403913308997874399101571419374242035956885688292523712315151417686569601748651149467268810974102719086023288408955657758557742544982138343723687192335999721863310590619222807038519431956139737451286700399263259675731274239021694737848202386268683136962715965173977024469731239363976137072930383017079266471901028078511507283091313575694761105975003267993476431151934227306778765460210254398432189045079661752317321082745961067368494729306846775447054315766631754751082149323296541313250991572958363674177295635865609431410604077980504296686792118960556273721317324072831339769652711091826660054399005651805455655354775169850658590587133673691416285774164195306096986337405107582761959717516714137058172421244320660134626447206099630438092906057684913040221046444054957805168833185115724480634994127878800206887838278880685023343451934608527131238726268011446818521132931709000074210120782735128560397412662356148409103093339226187072515278194973484826752532704638513403822222558981680521665446597505215592038778988891943527749130186993445928569757018732401159212422943693493831414326814356201116882640879534565342224554904387552414459727066348508155996238044160641604306479 765150428571314112193995661929803829280640100011647619237936447136439029479812062649639274053252660937456977450156601119484675430864366272535064820392442293834564039307325624266894995752600111298322052391862372309488606759645793833526242026195638006748616789548232818254903898402863246897951658549480141008951964298977428545162995427525754535136299613379613411070151292666135926174191812273350978402487469498333041581558938185134636224779958849921998262561505456546133913737722276510383333038277977861634619840401475719231985315738213297849351076329225572778667111841242299365897575472660239367811756155177527482617136554366242223086572285398545035267522628939750743615627544743680812000169534918575307687849239322698709129217209576067607725081292948135077888500432773904968859572780828942147989829643864778755044652933583183627494492788636334729078169440926286850404515681025590658515125496530444433101599853117729094672637600215936941020661051917700518893497904627298656823876372482488574472496602062852027857416885743949961661615841379251849311301476328654766768750098889330385906277098725381059055830778669439072947680595339198528859450868251561121996014026530580694302407564500896787911627494860252941049631370569199517342235087479634567762797700688847403176316211977496377073890029261750012402894939779528841211033446545514509422396715913268011367777458826217387943529249422989489303974467217829445307277285363247698604679689335657760439360474759870577757796293686423146855197534554890521263013621800160337279956733626989595778055311309872883179357185282 1238039399934934879841090387845868049273128437557112019550345939810072777392041150231668703510058602146288012879480393857605496599367154706649965884789282276209131982017483029070497344150211899866701045215184594330638203266864586961899502341852732117086729740155679013039741518849990742785549416092861373494093383087574237774388810797683159077686635364725610127720163785639086474589030911677264287400361868599904460955800974142020324517303671165073415949131107205197283381006533250613102419061566386817292378398144020701370329039425405633849072939639816192001474150360674255505635026759360638631071431886451766504311874402568628491769709248114510209244547098670990107591764617674063829079436006819603386199356522414012284823978315551070875718557724100069305195279198234115223258004969874021809742146964947524716112021428312490474269939842952101360832920523075610146945828932017163616878799673826080298711031263721807075176934287008055901576934773235024591724837674280009748650536426881494226277952257417627197708075476331083635353032127153416044617398462666059874351512058606847100043335271146625379715965405116645172578118688245256213772491089298005176953819195363765810026888199495024666711834382698531821734654714021134125869366326205902579209616221821779112176390422098279112202450426674412368551304042872868067398105961823709482907223468445972649881181281048776369624050914869586994519566505996818337250805034493434692050608259092676492840519687182814271251627708013237503056314417195770055828355846355064724832371193354055944286211307547917043820961491761 2003189828506248992035086049775671878553768537568759638788282386946511806871853212881307977563311263083744990329636994977090172030231520979185030705181724570043696021324808653337392339902812011165023097607046966640126810026510380795425744368048370123835346529703911831294645417252853989683501074642341514503045347386551666319551806225208913612822934978105223538790315078305222400763222723950615265802849338098237502537359912327154960742083630014995414211692612661743417294744255527123485752099844364678926998238545496420602314355163618931698424015969041764780141262201916554871532602232020877998883188041629293986929010956934870714856281533513055244512069727610740851207392162417744641079605541738178693887205761736710993953195525127138483443639017048204383083779631008020192117577750702963957731976608812303471156674361895674101764432631588436089911089964001896997350344613042754275393925170356524731812631116839536169849571887223992842597595825152725110618335578907308405474412799363982800750448859480479225565492362075033597014647968532667893928699938994714641120262157496177485949612369872006438771796183786084245525799283584454742631941957549566298949833221894346504329295763995921454623461877558784762784286084590333643211601413685537146972413922510626515352706634075775489276340455936162380954198982652396908609139408369223992329620184359240661248958739874993757567580164292576483823540973214647782558082319856682390655287948428334253279880161942684849009424001699660649911511951750660577091369468155225062112327926981045540064266618857789927000318677043 3241229228441183871876176437621539927826896975125871658338628326756584584263894363112976681073369865230033003209117388834695668629598675685834996589971006846252828003342291682407889684053023911031724142822231560970765013293374967757325246709901102240922076269859590844334386936102844732469050490735202887997138730474125904093940617022892072690509570342830833666510478863944308875352253635627879553203211206698141963493160886469175285259387301180068830160823719866940700675750788777736588171161410751496219376636689517121972643394589024565547496955608857956781615412562590810377167628991381516629954619928081060491240885359503499206625990781627565453756616826281730958799156780091808470159041548557782080086562284150723278777173840678209359162196741148273688279058829242135415375582720576985767474123573759828187268695790208164576034372474540537450744010487077507144296173545059917892272724844182605030523662380561343245026506174232048744174530598387749702343173253187318154124949226245477027028401116898106423273567838406117232367680095686083938546098401660774515471774216103024585992947641018631818487761588902729418103917971829710956404433046847571475903652417258112314356183963490946121335296260257316584518940798611467769080967739891439726182030144332405627529097056174054601478790882610574749505503025525264976007245370192933475236843652805213311130140020923770127191631079162163478343107479211466119808887354350117082705896207521010746120399849125499120261051709712898152967826368946430632919725314510289786944699120335101484350477926405706970821280168804 5244419056947432863911262487397211806380665512694631297126910713703096391135747575994284658636681128313777993538754383811785840659830196665020027295152731416296524024667100335745282023955835922196747240429278527610891823319885348552750991077949472364757422799563502675629032353355698722152551565377544402500184077860677570413492423248100986303332505320936057205300793942249531276115476359578494819006060544796379466030520798796330246001470931195064244372516332528684117970495044304860073923261255116175146374875235013542574957749752643497245920971577899721561756674764507365248700231223402394628837807969710354478169896316438369921482272315140620698268686553892471810006548942509553111238647090295960773973768045887434272730369365805347842605835758196478071362838460250155607493160471279949725206100182572131658425370152103838677798805106128973540655100451079404141646518158102672167666650014539129762336293497400879414876078061456041586772126423540474812961508832094626559599362025609459827778849976378585648839060200481150829382328064218751832474798340655489156592036373599202071942560010890638257259557772688813663629717255414165699036375004397137774853485639152458818685479727486867575958758137816101347303226883201801412292569153576976873154444066843032142881803690249830090755131338546737130459702008177661884616384778562157467566463837164453972379098760798763884759211243454739962166648452426113902366969674206799473361184155949344999400280011068183969270475711412558802879338320697091210011094782665514849057027047316147024414744545263496897821598845847 8485648285388616735787438925018751734207562487820502955465539040459680975399641939107261339710050993543810996747871772646481509289428872350855023885123738262549352028009392018153171708008859833228471383251510088581656836613260316310076237787850574605679499069423093519963419289458543454621602056112747290497322808334803474507433040270993058993842075663766890871811272806193840151467729995206374372209271751494521429523681685265505531260858232375133074533340052395624818646245833082596662094422665867671365751511924530664547601144341668062793417927186757678343372087327098175625867860214783911258792427897791414969410781675941869128108263096768186152025303380174202768805705722601361581397688638853742854060330330038157551507543206483557201768032499344751759641897289492291022868743191856935492680223756331959845694065942312003253833177580669510991399110938156911285942691703162590059939374858721734792859955877962222659902584235688090330946657021928224515304682085281944713724311251854936854807251093276692072112628038887268061750008159904835771020896742316263672063810589702226657935507651909270075747319361591543081733635227243876655440808051244709250757138056410571133041663690977813697294054398073417931822167681813269181373536893468416599336474211175437770410900746423884692233922221157311879965205033702926860623630148755090942803307489969667283509238781722534011950842322616903440509755931637580022175857028556916556067080363470355745520679860193683089531527421125456955847164689643521842930820097175804636001726167651248508765222471669203868642879014651 13730067342336049599698701412415963540588228000515134252592449754162777366535389515101545998346732121857588990286626156458267349949259069015875051180276469678845876052676492353898453731964695755425218623680788616192548659933145664862827228865800046970436921868986596195592451642814242176774153621490291692997506886195481044920925463519094045297174580984702948077112066748443371427583206354784869191215332296290900895554202484061835777262329163570197318905856384924308936616740877387456736017683920983846512126387159544207122558894094311560039338898764657399905128762091605540874568091438186305887630235867501769447580677992380239049590535411908806850293989934066674578812254665110914692636335729149703628034098375925591824237912572288905044373868257541229831004735749742446630361903663136885217886323938904091504119436094415841931631982686798484532054211389236315427589209861265262227606024873260864555196249375363102074778662297144131917718783445468699328266190917376571273323673277464396682586101069655277720951688239368418891132336224123587603495695082971752828655846963301428729878067662799908333006877134280356745363352482658042354477183055641847025610623695563029951727143418464681273252812535889519279125394565015070593666106047045393472490918278018469913292704436673714782989053559704049010424907041880588745240014927317248410369771327134121255888337542521297896710053566071643402676404384063693924542826702763716029428264519419700744920959871261867058802003132538015758726503010340613052941914879841319485058753214967395533179967016932700766464477860498 22215715627724666335486140337434715274795790488335637208057988794622458341935031454208807338056783115401399987034497929104748859238687941366730075065400207941395228080685884372051625439973555588653690006932298704774205496546405981172903466653650621576116420938409689715555870932272785631395755677603038983494829694530284519428358503790087104291016656648469838948923339554637211579050936349991243563424604047785422325077884169327341308523187395945330393439196437319933755262986710470053398112106586851517877877899084074871670160038435979622832756825951415078248500849418703716500435951652970217146422663765293184416991459668322108177698798508676993002319293314240877347617960387712276274034024368003446482094428705963749375745455778772462246141900756885981590646633039234737653230646854993820710566547695236051349813502036727845185465160267467995523453322327393226713531901564427852287545399731982599348056205253325324734681246532832222248665440467396923843570873002658515987047984529319333537393352162931969793064316278255686952882344384028423374516591825288016500719657553003655387813575314709178408754196495871899827096987709901919009917991106886556276367761751973601084768807109442494970546866933962937210947562246828339775039642940513810071827392489193907683703605183097599475222975780861360890390112075583515605863645076072339353173078817103788539397576324243831908660895888688546843186160315701273946718683731320632585495344882890056490441639731455550148333530553663472714573667699984134895872734977017124121060479382618644041945189488601904635107356875149 35945782970060715935184841749850678815384018488850771460650438548785235708470420969310353336403515237258988977321124085563016209187947010382605126245676677620241104133362376725950079171938251344078908630613087320966754156479551646035730695519450668546553342807396285911148322575087027808169909299093330676492336580725765564349283967309181149588191237633172787026035406303080583006634142704776112754639936344076323220632086653389177085785516559515527712345052822244242691879727587857510134129790507835364390004286243619078792718932530291182872095724716072478153629611510309257375004043091156523034052899632794953864572137660702347227289333920585799852613283248307551926430215052823190966670360097153150110128527081889341199983368351061367290515769014427211421651368788977184283592550518130705928452871634140142853932938131143687117097142954266480055507533716629542141121111425693114515151424605243463903252454628688426809459908829976354166384223912865623171837063920035087260371657806783730219979453232587247514016004517624105844014680608152010978012286908259769329375504516305084117691642977509086741761073630152256572460340192559961364395174162528403301978385447536631036495950527907176243799679469852456490072956811843410368705748987559203544318310767212377596996309619771314258212029340565409900815019117464104351103660003389587763542850144237909795285913866765129805370949454760190245862564699764967871261510434084348614923609402309757235362599602717417207135533686201488473300170710324747948814649856858443606119232597586039575125156505534605401571834735647 58161498597785382270670982087285394090179808977186408668708427343407694050405452423519160674460298352660388964355622014667765068426634951749335201311076885561636332214048261098001704611911806932732598637545386025740959653025957627208634162173101290122669763745805975626704193507359813439565664976696369659987166275256050083777642471099268253879207894281642625974958745857717794585685079054767356318064540391861745545709970822716518394308703955460858105784249259564176447142714298327563532241897094686882267882185327693950462878970966270805704852550667487556402130460929012973875439994744126740180475563398088138281563597329024455404988132429262792854932576562548429274048175440535467240704384465156596592222955787853090575728824129833829536657669771313193012298001828211921936823197373124526639019419329376194203746440167871532302562303221734475578960856044022768854653012990120966802696824337226063251308659882013751544141155362808576415049664380262547015407936922693603247419642336103063757372805395519217307080320795879792796897024992180434352528878733547785830095162069308739505505218292218265150515270126024156399557327902461880374313165269414959578346147199510232121264757637349671214346546403815393701020519058671750143745391928073013616145703256406285280699914802868913733435005121426770791205131193047619956967305079461927116715928961341698334683490191008961714031845343448737089048725015466241817980194165404981200418954285199813725804239334172967355469064239864961187873838410308882844687384833875567727179711980204683617070345994136510036679191610796 94107281567846098205855823837136072905563827466037180129358865892192929758875873392829514010863813589919377941676746100230781277614581962131940327556753563181877436347410637823951783783850058276811507268158473346707713809505509273244364857692551958669223106553202261537852516082446841247735574275789700336479502855981815648126926438408449403467399131914815413000994152160798377592319221759543469072704476735938068766342057476105695480094220514976385818129302081808419139022441886185073666371687602522246657886471571313029255597903496561988576948275383560034555760072439322231250444037835283263214528463030883092146135734989726802632277466349848592707545859810855981200478390493358658207374744562309746702351482869742431775712192480895196827173438785740404433949370617189106220415747891255232567472290963516337057679378299015219419659446176000955634468389760652310995774124415814081317848248942469527154561114510702178353601064192784930581433888293128170187245000842728690507791300142886793977352258628106464821096325313503898640911705600332445330541165641807555159470666585613823623196861269727351892276343756176412972017668095021841738708339431943362880324532647046863157760708165256847458146225873667850191093475870515160512451140915632217160464014023618662877696224422640227991647034461992180692020150310511724308070965082851514880258779105579608129969404057774091519402794798208927334911289715231209689241704599489329815342563687509570961166838936890384562604597926066449661174009120633630793502034690734011333298944577790723192195502499671115438251026346443 152268780165631480476526805924421466995743636443223588798067293235600623809281325816348674685324111942579766906032368114898546346041216913881275528867830448743513768561458898921953488395761865209544105905703859372448673462531466900452999019865653248791892870299008237164556709589806654687301239252486069996466669131237865731904568909507717657346607026196458038975952898018516172178004300814310825390769017127799814312052028298822213874402924470437243923913551341372595586165156184512637198613584697209128925768656899006979718476874462832794281800826051047590957890533368335205125884032579410003395004026428971230427699332318751258037265598779111385562478436373404410474526565933894125448079129027466343294574438657595522351441016610729026363831108557053597446247372445401028157238945264379759206491710292892531261425818466886751722221749397735431213429245804675079850427137405935048120545073279695590405869774392715929897742219555593506996483552673390717202652937765422293755210942478989857734725064023625682128176646109383691437808730592512879683070044375355340989565828654922563128702079561945617042791613882200569371574995997483722113021504701358322458670679846557095279025465802606518672492772277483243892113994929186910656196532843705230776609717280024948158396139225509141725082039583418951483225281503559344265038270162313441996974708066921306464652894248783053233434640141657664423960014730697451507221898764894311015761517972709384686971078271063351918073662165931410849047847530942513638189419524609579060478656557995406809265848493807625474930217957239 246376061733477578682382629761557539901307463909260768927426159127793553568157199209178188696187925532499144847709114215129327623655798876013215856424584011925391204908869536745905272179611923486355613173862332719156387272036976173697363877558205207461115976852210498702409225672253495935036813528275770332946171987219681380031495347916167060814006158111273451976947050179314549770323522573854294463473493863737883078394085774927909354497144985413629742042853423181014725187598070697710864985272299731375583655128470320008974074777959394782858749101434607625513650605807657436376328070414693266609532489459854322573835067308478060669543065128959978270024296184260391675004956427252783655453873589776089996925921527337954127153209091624223191004547342794001880196743062590134377654693155634991773964001256408868319105196765901971141881195573736386847897635565327390846201261821749129438393322222165117560430888903418108251343283748378437577917440966518887389897938608150984263002242621876651712077322651732146949272971422887590078720436192845325013611210017162896149036495240536386751898940831672968935067957638376982343592664092505563851729844133301685338995212493603958436786173967863366130638998151151094083207470799702071168647673759337447937073731303643611036092363648149369716729074045411132175245431814071068573109235245164956877233487172500914594622298306557144752837434939866591758871304445928661196463603364383640831104081660218955648137917207953736480678260091997860510221856651576144431691454215343590393777601135786130001461350993478740913181244303682 398644841899109059158909435685979006897051100352484357725493452363394177377438525025526863381512037475078911753741482330027873969697015789894491385292414460668904973470328435667858760575373788695899719079566192091605060734568443074150362897423858456253008847151218735866965935262060150622338052780761840329412841118457547111936064257423884718160613184307731490952899948197830721948327823388165119854242510991537697390446114073750123228900069455850873665956404764553610311352754255210348063598856996940504509423785369326988692551652422227577140549927485655216471541139175992641502212102994103270004536515888825553001534399627229318706808663908071363832502732557664802149531522361146909103533002617242433291500360184933476478594225702353249554835655899847599326444115507991162534893638420014750980455711549301399580531015232788722864102944971471818061326881370002470696628399227684177558938395501860707966300663296134038149085503303971944574400993639909604592550876373573278018213185100866509446802386675357829077449617532271281516529166785358204696681254392518237138602323895458949880601020393618585977859571520577551715167660089989285964751348834660007797665892340161053715811639770469884803131770428634337975321465728888981824844206603042678713683448583668559194488502873658511441811113628830083658470713317630412838147505407478398874208195239422221059275192555340197986272075081524256182831319176626112703685502129277951846865599632928340335108995479017088398751922257929271359269704182518658069880873739953169454256257693781536810727199487286366388111462260921 645020903632586637841292065447536546798358564261745126652919611491187730945595724234705052077699963007578056601450596545157201593352814665907707241716998472594296178379197972413764032754985712182255332253428524810761448006605419247847726774982063663714124824003429234569375160934313646557374866309037610662359013105677228491967559605340051778974619342419004942929846998377145271718651345962019414317716004855275580468840199848678032583397214441264503407999258187734625036540352325908058928584129296671880093078913839646997666626430381622359999299028920262841985191744983650077878540173408796536614069005348679875575369466935707379376351729037031342102527028741925193824536478788399692758986876207018523288426281712271430605747434793977472745840203242641601206640858570581296912548331575649742754419712805710267899636211998690694005984140545208204909224516935329861542829661049433306997331717724025825526731552199552146400428787052350382152318434606428491982448814981724262281215427722743161158879709327089976026722588955158871595249602978203529710292464409681133287638819135995336632499961225291554912927529158954534058760324182494849816481192967961693136661104833765012152597813738333250933770768579785432058528936528591052993491880362380126650757179887312170230580866521807881158540187674241215833716145131701481411256740652643355751441682411923135653897490861897342739109510021390847941702623622554773900149105493661592677969681293147295983246912686970824879430182349927131869491560834094802501572327955296759848033858829567666812188550480765107301292706564603 1043665745531695697000201501133515553695409664614229484378413063854581908323034249260231915459212000482656968355192078875185075563049830455802198627009412933263201151849526408081622793330359500878155051332994716902366508741173862321998089672405922119967133671154647970436341096196373797179712919089799450991771854224134775603903623862763936497135232526726736433882746946574975993666979169350184534171958515846813277859286313922428155812297283897115377073955662952288235347893106581118406992182986293612384602502699208973986359178082803849937139848956405918058456732884159642719380752276402899806618605521237505428576903866562936698083160392945102705935029761299589995974068001149546601862519878824260956579926641897204907084341660496330722300675859142489200533084974078572459447441969995664493734875424355011667480167227231479416870087085516680022970551398305332332239458060277117484556270113225886533493032215495686184549514290356322326726719428246338096574999691355297540299428612823609670605682096002447805104172206487430153111778769763561734406973718802199370426241143031454286513100981618910140890787100679532085773927984272484135781232541802621700934326997173926065868409453508803135736902539008419770033850402257480034818336086965422805364440628470980729425069369395466392600351301303071299492186858449331894249404246060121754625649877651345356713172683417237540725381585102915104124533942799180886603834607622939544524835280926075636318355908165987913278182104607856403228761265016613460571453201695249929302290116523349203622915749968051473689404168825524 1688686649164282334841493566581052100493768228875974611031332675345769639268629973494936967536911963490235024956642675420342277156402645121709905868726411405857497330228724380495386826085345213060410383586423241713127956747779281569845816447387985783681258495158077205005716257130687443737087785398837061654130867329812004095871183468103988276109851869145741376812593944952121265385630515312203948489674520702088858328126513771106188395694498338379880481954921140022860384433458907026465920767115590284264695581613048620984025804513185472297139147985326180900441924629143292797259292449811696343232674526586185304152273333498644077459512121982134048037556790041515189798604479937946294621506755031279479868352923609476337690089095290308195046516062385130801739725832649153756359990301571314236489295137160721935379803439230170110876071226061888227879775915240662193782287721326550791553601830949912359019763767695238330949943077408672708879037862852766588557448506337021802580644040546352831764561805329537781130894795442589024707028372741765264117266183211880503713879962167449623145600942844201695803714629838486619832688308454978985597713734770583394070988102007691078021007267247136386670673307588205202092379338786071087811827967327802932015197808358292899655650235917274273758891488977312515325903003581033375660660986712765110377091560063268492367070174279134883464491095124305952066236566421735660503983713116601137202804962219222932301602820852958738157612286957783535098252825850708263073025529650546689150323975352916870435104300448816580990696875390127 2732352394695978031841695067714567654189177893490204095409745739200351547591664222755168882996123963972891993311834754295527352719452475577512104495735824339120698482078250788577009619415704713938565434919417958615494465488953143891843906119793907903648392166312725175442057353327061240916800704488636512645902721553946779699774807330867924773245084395872477810695340891527097259052609684662388482661633036548902136187412827693534344207991782235495257555910584092311095732326565488144872912950101883896649298084312257594970384982595989322234278996941732098958898657513302935516640044726214596149851280047823690732729177200061580775542672514927236753972586551341105185772672481087492896484026633855540436448279565506681244774430755786638917347191921527620002272810806727726215807432271566978730224170561515733602859970666461649527746158311578568250850327313545994526021745781603668276109871944175798892512795983190924515499457367764995035605757291099104685132448197692319342880072653369962502370243901331985586235067001930019177818807142505326998524239902014079874140121105198903909658701924463111836694501730518018705606616292727463121378946276573205095005315099181617143889416720755939522407575846596624972126229741043551122630164054293225737379638436829273629080719605312740666359242790280383814818089862030365269910065232772886865002741437714613849080242857696372424189872680227221056190770509220916547107818320739540681727640243145298568619958729018946651435794391565639938327014090867321723644478731345796618452614091876266074058020050416868054680101044215651 4421039043860260366683188634295619754682946122366178706441078414546121186860294196250105850533035927463127018268477429715869629875855120699222010364462235744978195812306975169072396445501049926998975818505841200328622422236732425461689722567181893687329650661470802380447773610457748684653888489887473574300033588883758783795645990798971913049354936265018219187507934836479218524438240199974592431151307557250990994515539341464640532603686280573875138037865505232333956116760024395171338833717217474180913993665925306215954410787109174794531418144927058279859340582142446228313899337176026292493083954574409876036881450533560224853002184636909370802010143341382620375571276961025439191105533388886819916316632489116157582464519851076947112393707983912750804012536639376879972167422573138292966713465698676455538239774105691819638622229537640456478730103228786656719804033502930219067663473775125711251532559750886162846449400445173667744484795153951871273689896704029341145460716693916315334134805706661523367365961797372608202525835515247092262641506085225960377854001067366353532804302867307313532498216360356505325439304601182442106976660011343788489076303201189308221910423988003075909078249154184830174218609079829622210441992021621028669394836245187566528736369841230014940118134279257696330143992865611398645570726219485651975379832997777882341447313031975507307654363775351527008257007075642652207611802033856141818930445205364521500921561549871905389593406678523423473425266916718029986717504260996343307602938067229182944493124350865684635670797919605778 7153391438556238398524883702010187408872124015856382801850824153746472734451958419005274733529159891436019011580312184011396982595307596276734114860198060084098894294385225957649406064916754640937541253425259158944116887725685569353533628686975801590978042827783527555889830963784809925570689194376110086945936310437705563495420798129839837822600020660890696998203275728006315783490849884636980913812940593799893130702952169158174876811678062809370395593776089324645051849086589883316211746667319358077563291750237563810924795769705164116765697141868790378818239239655749163830539381902240888642935234622233566769610627733621805628544857151836607555982729892723725561343949442112932087589560022742360352764912054622838827238950606863586029740899905440370806285347446104606187974854844705271696937636260192189141099744772153469166368387849219024729580430542332651245825779284533887343773345719301510144045355734077087361948857812938662780090552445050975958822344901721660488340789347286277836505049607993508953601028799302627380344642657752419261165745987240040251994122172565257442463004791770425369192718090874524031045920893909905228355606287916993584081618300370925365799840708759015431485825000781455146344838820873173333072156075914254406774474682016840157817089446542755606477377069538080144962082727641763915480791452258538840382574435492496190527555889671879731844236455578748064447777584863568754719620354595682500658085448509820069541520278890852041029201070089063411752281007585351710361982992342139926055552159105449018551144401282552690350898963821429 11574430482416498765208072336305807163555070138222561508291902568292593921312252615255380584062195818899146029848789613727266612471162716975956125224660295829077090106692201126721802510417804567936517071931100359272739309962417994815223351254157695278307693489254329936337604574242558610224577684263583661245969899321464347291066788928811750871954956925908916185711210564485534307929090084611573344964248151050884125218491510622815409415364343383245533631641594556979007965846614278487550580384536832258477285416162870026879206556814338911297115286795848658677579821798195392144438719078267181136019189196643442806492078267182030481547041788745978357992873234106345936915226403138371278695093411629180269081544543738996409703470457940533142134607889353121610297884085481486160142277417843564663651101958868644679339518877845288804990617386859481208310533771119307965629812787464106411436819494427221395577915484963250208398258258112330524575347599002847232512241605751001633801506041202593170639855314655032320966990596675235582870478172999511523807252072466000629848123239931610975267307659077738901690934451231029356485225495092347335332266299260782073157921501560233587710264696762091340564074154966285320563447900702795543514148097535283076169310927204406686553459287772770546595511348795776475106075593253162561051517671744190815762407433270378531974868921647387039498600230930275072704784660506220962331422388451824319588530653874341570463081828762757430622607748612486885177547924303381697079487253338483233658490226334631963044268752148237326021696883427207 18727821920972737163732956038315994572427194154078944310142726722039066655764211034260655317591355710335165041429101797738663595066470313252690240084858355913175984401077427084371208575334559208874058325356359518216856197688103564168756979941133496869285736317037857492227435538027368535795266878639693748191906209759169910786487587058651588694554977586799613183914486292491850091419939969248554258777188744850777255921443679780990286227042406192615929225417683881624059814933204161803762327051856190336040577166400433837804002326519503028062812428664639037495819061453944555974978100980508069778954423818877009576102706000803836110091898940582585913975603126830071498259175845251303366284653434371540621846456598361835236942421064804119171875507794793492416583231531586092348117132262548836360588738219060833820439263649998757971359005236078505937890964313451959211455592071997993755210165213728731539623271219040337570347116071050993304665900044053823191334586507472662122142295388488871007144904922648541274568019395977862963215120830751930784972998059706040881842245412496868417730312450848164270883652542105553387531146389002252563687872587177775657239539801931158953510105405521106772049899155747740466908286721575968876586304173449537482943785609221246844370548734315526153072888418333856620068158320894926476532309124002729656144981868762874722502424811319266771342836686509023137152562245369789717051042743047506820246616102384161640004602107653609471651808818701550296929828931888733407441470245680623159714042385440080981595413153430790016372595847248636 30302252403389235928941028374621801735982264292301505818434629290331660577076463649516035901653551529234311071277891411465930207537633030228646365309518651742253074507769628211093011085752363776810575397287459877489595507650521558983980331195291192147593429806292187428565040112269927146019844562903277409437876109080634258077554375987463339566509934512708529369625696856977384399349030053860127603741436895901661381139935190403805695642406749575861462857059278438603067780779818440291312907436393022594517862582563303864683208883333841939359927715460487696173398883252139948119416820058775250914973613015520452382594784267985866591638940729328564271968476360936417435174402248389674644979746846000720890928001142100831646645891522744652314010115684146614026881115617067578508259409680392401024239840177929478499778782527844046776349622622937987146201498084571267177085404859462100166646984708155952935201186704003587778745374329163323829241247643056670423846828113223663755943801429691464177784760237303573595535009992653098546085599003751442308780250132172041511690368652428479392997620109925903172574586993336582744016371884094599899020138886438557730397461303491392541220370102283198112613973310714025787471734622278764420100452270984820559113096536425653530924008022088296699668399767129633095174233914148089037583826795746920471907389302033253254477293732966653810841436917439298209857346905876010679382465131499331139835146756258503210467683936416366902274416567314037182107376856192115104520957499019106393372532611774712944639681905579027342394292730675843 49030074324361973092673984412937796308409458446380450128577356012370727232840674683776691219244907239569476112706993209204593802604103343481336605394377007655429058908847055295464219661086922985684633722643819395706451705338625123152737311136424689016879166123330044920792475650297295681815111441542971157629782318839804168864041963046114928261064912099508142553540183149469234490768970023108681862518625640752438637061378870184795981869449155768477392082476962320227127595713022602095075234488249212930558439748963737702487211209853344967422740144125126733669217944706084504094394921039283320693928036834397461958697490268789702701730839669911150185944079487766488933433578093640978011264400280372261512774457740462666883588312587548771485885623478940106443464347148653670856376541942941237384828578396990312320218046177842804747708627859016493084092462398023226388540996931460093921857149921884684474824457923043925349092490400214317133907147687110493615181414620696325878086096818180335184929665159952114870103029388630961509300719834503373093753248191878082393532614064925347810727932560774067443458239535442136131547518273096852462708011473616333387637001105422551494730475507804304884663872466461766254380021343854733296686756444434358042056882145646900375294556756403822852741288185463489715242392235043015514116135919749650128052371170796127976979718544285920582184273603948321347009909151245800396433507874546837960081762858642664850472286044069976373926225386015587479037205788080848511962427744699729553086574997214793926235095059009817358766888577924479 79332326727751209021615012787559598044391722738681955947011985302702387809917138333292727120898458768803787183984884620670524010141736373709982970703895659397682133416616683506557230746839286762495209119931279273196047212989146682136717642331715881164472595929622232349357515762567222827834956004446248567067658427920438426941596339033578267827574846612216671923165880006446618890118000076968809466260062536654100018201314060588601677511855905344338854939536240758830195376492841042386388141924642235525076302331527041567170420093187186906782667859585614429842616827958224452213811741098058571608901649849917914341292274536775569293369780399239714457912555848702906368607980342030652656244147126372982403702458882563498530234204110293423799895739163086720470345462765721249364635951623333638409068418574919790819996828705686851524058250481954480230293960482594493565626401790922194088504134630040637410025644627047513127837864729377640963148395330167164039028242733919989634029898247871799362714425397255688465638039381284060055386318838254815402533498324050123905222982717353827203725552670699970616032826528778718875563890157191452361728150360054891118034462408913944035950845610087502997277845777175792041851755966133497716787208715419178601169978682072553906218564778492119552409687952593122810416626149191104551699962715496570599959760472829381231457012277252574393025710521387619556867256057121811075815973006046169099916909614901168060939969980486343276200641953329624661144582644272963616483385243718835946459107608989506870874776964588844701161181308600322 128362401052113182114288997200497394352801181185062406075589341315073115042757813017069418340143366008373263296691877829875117812745839717191319576098272667053111192325463738802021450407926209748179842842575098668902498918327771805289454953468140570181351762052952277270149991412864518509650067445989219724697440746760242595805638302079693196088639758711724814476706063155915853380886970100077491328778688177406538655262692930773397659381305061112816247022013203079057322972205863644481463376412891448455634742080490779269657631303040531874205408003710741163511834772664308956308206662137341892302829686684315376299989764805565271995100620069150864643856635336469395302041558435671630667508547406745243916476916623026165413822516697842195285781362642026826913809809914374920221012493566274875793896996971910103140214874883529656271766878340970973314386422880617719954167398722382288010361284551925321884850102550091438476930355129591958097055543017277657654209657354616315512115995066052134547644090557207803335741068769915021564687038672758188496286746515928206298755596782279175014453485231474038059491066064220855007111408430288304824436161833671224505671463514336495530681321117891807881941718243637558296231777309988231013473965159853536643226860827719454281513121534895942405150976138056612525659018384234120065816098635246220728012131643625509208436730821538494975209984125335940903877165208367611472249480880593007059998672473543832911412256024556319650126867339345212140181788432353812128445812988418565499545682606204300797109872023598662059928069886524801 207694727779864391135904009988056992397192903923744362022601326617775502852674951350362145461041824777177050480676762450545641822887576090901302546802168326450793325742080422308578681154765496510675051962506377942098546131316918487426172595799856451345824357982574509619507507175431741337485023450435468291765099174680681022747234641113271463916214605323941486399871943162362472271004970177046300795038750714060638673464006991361999336893160966457155101961549443837887518348698704686867851518337533683980711044412017820836828051396227718780988075863296355593354451600622533408522018403235400463911731336534233290641282039342340841288470400468390579101769191185172301670649538777702283323752694533118226320179375505589663944056720808135619085677101805113547384155272680096169585648445189608514202965415546829893960211703589216507795825128822925453544680383363212213519793800513304482098865419181965959294875747177138951604768219858969599060203938347444821693237900088536305146145893313923933910358515954463491801379108151199081620073357511013003898820244839978330203978579499633002218179037902174008675523892592999573882675298587479757186164312193726115623705925923250439566632166727979310879219564020813350338083533276121728730261173875272715244396839509792008187731686313388061957560664090649735336075644533425224617516061350742791327971892116454890439893743098791069368235694646723560460744421265489422548065453886639176159915582088445000972352226005042662926327509292674836801326371076626775744929198232137401446004790215193807667984648988187506761089251195125123 336057128831977573250193007188554386749994085108806768098190667932848617895432764367431563801185190785550313777368640280420759635633415808092622122900440993503904518067544161110600131562691706258854894805081476611001045049644690292715627549267997021527176120035526786889657498588296259847135090896424688016462539921440923618552872943192964660004854364035666300876578006318278325651891940277123792123817438891467177328726699922135396996274466027569971348983562646916944841320904568331349314894750425132436345786492508600106485682699268250655193483867007096756866286373286842364830225065372742356214561023218548666941271804147906113283571020537541443745625826521641696972691097213373913991261241939863470236656292128615829357879237505977814371458464447140374297965082594471089806660938755883389996862412518739997100426578472746164067592007163896426859066806243829933473961199235686770109226703733891281179725849727230390081698574988561557157259481364722479347447557443152620658261888379976068458002606511671295137120176921114103184760396183771192395106991355906536502734176281912177232632523133648046735014958657220428889786707017768062010600474027397340129377389437586935097313487845871118761161282264450908634315310586109959743735139035126251887623700337511462469244807848284004362711640228706347861734662917659344683332159985989012055984023760080399648330473920329564343445678772059501364621586473857034020314934767232183219914254561988833883764482029598982576454376632020048941508159508980587873375011220555966945550472821398108465094521011786168821017321081649924 543751856611841964386097017176611379147186989032551130120791994550624120748107715717793709262227015562727364258045402730966401458520991898993924669702609319954697843809624583419178812717457202769529946767587854553099591180961608780141800145067853472873000478018101296509165005763728001184620114346860156308227639096121604641300107584306236123921068969359607787276449949480640797922896910454170092918856189605527816002190706913497396333167626994027126450945112090754832359669603273018217166413087958816417056830904526420943313734095495969436181559730303452350220737973909375773352243468608142820126292359752781957582553843490246954572041421005932022847395017706813998643340635991076197315013936472981696556835667634205493301935958314113433457135566252253921682120355274567259392309383945491904199827828065569891060638282061962671863417135986821880403747189607042146993754999748991252208092122915857240474601596904369341686466794847531156217463419712167301040685457531688925804407781693900002368361122466134786938499285072313184804833753694784196293927236195884866706712755781545179450811561035822055410538851250220002772462005605247819196764786221123455753083315360837374663945654573850429640380846285264258972398843862231688473996312910398967132020539847303470656976494161672066320272304319356083197810307451084569300848221336731803383955915876535290088224217019120633711681373418783061825366007739346456568380388653871359379829836650433834856116708034641645502781885924694885742834530585607363618304209452693368391555263036591916133079169999973675582106572276775047 879808985443819537636290024365165765897181074141357898218982662483472738643540480085225273063412206348277678035414043011387161094154407707086546792603050313458602361877168744529778944280148909028384841572669331164100636230606299072857427694335850494400176598053628083398822504352024261031755205243284844324690179017562528259852980527499200783925923333395274088153027955798919123574788850731293885042673628496994993330917406835632793329442093021597097799928674737671777200990507841349566481307838383948853402617397035021049799416794764220091375043597310549107087024347196218138182468533980885176340853382971330624523825647638153067855612441543473466593020844228455695616031733204450111306275178412845166793491959762821322659815195820091247828594030699394295980085437869038349198970322701375294196690240584309888161064860534708835931009143150718307262813995850872080467716198984678022317318826649748521654327446631599731768165369836092713374722901076889780388133014974841546462669670073876070826363728977806082075619461993427287989594149878555388689034227551791403209446932063457356683444084169470102145553809907440431662248712623015881207365260248520795882460704798424309761259142419721548401542128549715167606714154448341648217731451945525219019644240184814933126221302009956070682983944548062431059544970368743913984180381322720815439939939636615689736554690939450198055127052190842563189987594213203490588695323421103542599744091212422668739881190064240628079236262556714934684342690094587951491679220673249335337105735857990024598173691011759844403123893358424971 1423560842055661502022387041541777145044368063173909028339774657034096859391648195803018982325639221911005042293459445742353562552675399606080471462305659633413300205686793327948957756997606111797914788340257185717200227411567907852999227839403703967273177076071729379907987510115752262216375319590145000632917818113684132901153088111805436907846992302754881875429477905279559921497685761185463977961529818102522809333108113749130189662609720015624224250873786828426609560660111114367783647720926342765270459448301561441993113150890260189527556603327614001457307762321105593911534712002589027996467145742724112582106379491128400022427653862549405489440415861935269694259372369195526308621289114885826863350327627397026815961751154134204681285729596951648217662205793143605608591279706646867198396518068649879779221703142596671507794426279137540187666561185457914227461471198733669274525410949565605762128929043535969073454632164683623869592186320789057081428818472506530472267077451767776073194724851443940869014118747065740472794427903573339584982961463747676269916159687845002536134255645205292157556092661157660434434710718228263700404130046469644251635544020159261684425204796993571978041922974834979426579112998310573336691727764855924186151664780032118403783197796171628137003256248867418514257355277819828483285028602659452618823895855513150979824778907958570831766808425609625625015353601952549947157075712074974901979573927862856503595997898098882273582018148481409820427177220680195315109983430125942703728660998894581940731252861011733519985230465635200018 2303369827499481039658677065906942910941549137315266926558757319517569598035188675888244255389051428259282720328873488753740723646829807313167018254908709946871902567563962072478736701277755020826299629912926516881300863642174206925856655533739554461673353674125357463306810014467776523248130524833429844957607997131246661161006068639304637691772915636150155963582505861078479045072474611916757863004203446599517802664025520584762982992051813037221322050802461566098386761650618955717350129028764726714123862065698596463042912567685024409618931646924924550564394786668301812049717180536569913172807999125695443206630205138766553090283266304092878956033436706163725389875404102399976419927564293298672030143819587159848138621566349954295929114323627651042513642291231012643957790250029348242492593208309234189667382768003131380343725435422288258494929375181308786307929187397718347296842729776215354283783256490167568805222797534519716582966909221865946861816951487481372018729747121841652144021088580421746951089738209059167760784022053451894973671995691299467673125606619908459892817699729374762259701646471065100866096959430851279581611495306718165047518004724957685994186463939413293526443465103384694594185827152758914984909459216801449405171309020216933336909419098181584207686240193415480945316900248188572397269208983982173434263835795149766669561333598898021029821935477800468188205341196165753437745771035496078444579318019075279172335879088163122901661254411038124755111519910774783266601662650799192039065766734752571965329426552023493364388354358993624989 3726930669555142541681064107448720055985917200489175954898531976551666457426836871691263237714690650170287762622332934496094286199505206919247489717214369580285202773250755400427694458275361132624214418253183702598501091053742114778855883373143258428946530750197086843214797524583528785464505844423574845590525815244930794062159156751110074599619907938905037839011983766358038966570160373102221840965733264702040611997133634333893172654661533052845546301676248394524996322310730070085133776749691069479394321514000157905036025718575284599146488250252538552021702548989407405961251892539158941169275144868419555788736584629894953112710920166642284445473852568098995084134776471595502728548853408184498893494147214556874954583317504088500610400053224602690731304497024156249566381529735995109690989726377884069446604471145728051851519861701425798682595936366766700535390658596452016571368140725780960045912185533703537878677429699203340452559095542655003943245769959987902490996824573609428217215813431865687820103856956124908233578449957025234558654957155047143943041766307753462428951955374580054417257739132222761300531670149079543282015625353187809299153548745116947678611668736406865504485388078219674020764940151069488321601186981657373591322973800249051740692616894353212344689496442282899459574255526008400880554237586641626053087731650662917649386112506856591861588743903410093813220694798118303384902846747571053346558891946938135675931876986262005175243272559519534575538697131454978581711646080925134742794427733647153906060679413035226884373584824628825007 6030300497054623581339741173355662966927466337804442881457289296069236055462025547579507493103742078429570482951206423249835009846335014232414507972123079527157105340814717472906431159553116153450514048166110219479801954695916321704712538906882812890619884424322444306521607539051305308712636369257004690548133812376177455223165225390414712291392823575055193802594489627436518011642634985018979703969936711301558414661159154918656155646713346090066868352478709960623383083961349025802483905778455796193518183579698754368078938286260309008765419897177463102586097335657709218010969073075728854342083143994114998995366789768661506202994186470735163401507289274262720474010180573995479148476417701483170923637966801716723093204883854042796539514376852253733244946788255168893524171779765343352183582934687118259113987239148859432195245297123714057177525311548075486843319845994170363868210870501996314329695442023871106683900227233723057035526004764520950805062721447469274509726571695451080361236902012287434771193595165184075994362472010477129532326952846346611616167372927661922321769655103954816676959385603287862166628629579930822863627120659905974346671553470074633672798132675820159030928853181604368614950767303828403306510646198458822996494282820465985077602035992534796552375736635698380404891155774196973277823446570623799487351567445812684318947446105754612891410679381210562001426035994284056822648617783067131791138209966013414848267756074425128076904526970557659330650217042229761848313308731724326781860194468399725871390105965058720248761939183622449996 9757231166609766123020805280804383022913383538293618836355821272620902512888862419270770730818432728599858245573539357745929296045840221151661997689337449107442308114065472873334125617828477286074728466419293922078303045749658436483568422280026071319566415174519531149736405063634834094177142213680579536138659627621108249285324382141524786891012731513960231641606473393794556978212795358121201544935669976003599026658292789252549328301374879142912414654154958355148379406272079095887617682528146865672912505093698912273114964004835593607911908147430001654607799884647116623972220965614887795511358288862534554784103374398556459315705106637377447846981141842361715558144957045590981877025271109667669817132114016273598047788201358131297149914430076856423976251285279325143090553309501338461874572661065002328560591710294587484046765158825139855860121247914842187378710504590622380439579011227777274375607627557574644562577656932926397488085100307175954748308491407457177000723396269060508578452715444153122591297452121308984227940921967502364090981910001393755559209139235415384750721610478534871094217124735510623467160299729010366145642746013093783645825102215191581351409801412227024535414241259824042635715707454897891628111833180116196587817256620715036818294652886888008897065233077981279864465411300205374158377684157265425540439299096475601968333558612611204752999423284620655814646730792402360207551464530638185137697101912951550524199633060687133252147799530077193906188914173684740430024954812649461524654622202046879777450785378093947133135524008251275003 15787531663664389704360546454160045989840849876098061717813110568690138568350887966850278223922174807029428728524745780995764305892175235384076505661460528634599413454880190346240556777381593439525242514585404141558105000445574758188280961186908884210186299598841975456258012602686139402889778582937584226686793439997285704508489607531939499182405555089015425444200963021231074989855430343140181248905606687305157441319451944171205483948088225232979283006633668315771762490233428121690101588306602661866430688673397666641193902291095902616677328044607464757193897220304825841983190038690616649853441432856649553779470164167217965518699293108112611248488431116624436032155137619586461025501688811150840740770080817990321140993085212174093689428806929110157221198073534494036614725089266681814058155595752120587674578949443446916242010455948853913037646559462917674222030350584792744307789881729773588705303069581445751246477884166649454523611105071696905553371212854926451510449967964511588939689617456440557362491047286493060222303393977979493623308862847740367175376512163077307072491265582489687771176510338798485633788929308941189009269866672999757992496655685266215024207934088047183566343094441428411250666474758726294934622479378575019584311539441181021895896688879422805449440969713679660269356567074402347436201130727889225027790866542288286287281004718365817644410102665831217816072766786686417030200082313705316928835311878964965372467389135112261329052326500634853236839131215914502278338263544373788306514816670446605648840891343152667381897463191873724999 25544762830274155827381351734964429012754233414391680554168931841311041081239750386121048954740607535629286974098285138741693601938015456535738503350797977742041721568945663219574682395210070725599970981004698063636408046195233194671849383466934955529752714773361506605994417666320973497066920796618163762825453067618393953793813989673464286073418286602975657085807436415025631968068225701261382793841276663308756467977744733423754812249463104375891697660788626670920141896505507217577719270834749527539343193767096578914308866295931496224589236192037466411801697104951942465955411004305504445364799721719184108563573538565774424834404399745490059095469572958986151590300094665177442902526959920818510557902194834263919188781286570305390839343237005966581197449358813819179705278398768020275932728256817122916235170659738034400288775614773993768897767807377759861600740855175415124747368892957550863080910697139020395809055541099575852011696205378872860301679704262383628511173364233572097518142332900593679953788499407802044450244315945481857714290772849134122734585651398492691823212876061024558865393635074309109100949229037951555154912612686093541638321757900457796375617735500274208101757335701252453886382182213624186562734312558691216172128796061896058714191341766310814346506202791660940133821978374607721594578814885154650568230165638763888255614563330977022397409525950451873630719497579088777237751546844343502066532413791916515896667022195799394581200126030712047143028045389599242708363218357023249831169438872493485426291676721246614515032987200125000002 41332294493938545531741898189124475002595083290489742271982042410001179649590638352971327178662782342658715702623030919737457907830190691919815009012258506376641135023825853565815239172591664165125213495590102205194513046640807952860130344653843839739939014372203482062252430269007112899956699379555747989512246507615679658302303597205403785255823841691991082530008399436256706957923656044401564042746883350613913909297196677594960296197551329608870980667422294986691904386738935339267820859141352189405773882440494245555502768587027398841266564236644931168995594325256768307938601042996121095218241154575833662343043702732992390353103692853602670343958004075610587622455232284763903928028648731969351298672275652254240329774371782479484528772043935076738418647432348313216320003488034702089990883852569243503909749609181481316530786070722847681935414366840677535822771205760207869055158774687324451786213766720466147055533425266225306535307310450569765855050917117310080021623332198083686457831950357034237316279546694295104672547709923461351337599635696874489909962163561569998895704141643514246636570145413107594734738158346892744164182479359093299630818413585724011399825669588321391668100430142680865137048656972350481497356791937266235756440335503077080610088030645733619795947172505340600403178545449010069030779945613043875596021032181052174542895568049342840041819628616283091446792264365775194267951629158048818995367725670881481269134411330911655910252452531346900379867176605513744986701481901397038137684255542940091075132568064399281896930450391998725001 66877057324212701359123249924088904015349316704881422826150974251312220730830388739092376133403389878288002676721316058479151509768206148455553512363056484118682856592771516785389921567801734890725184476594800268830921092836041147531979728120778795269691729145564988668246847935328086397023620176173911752337699575234073612096117586878868071329242128294966739615815835851282338925991881745662946836588160013922670377274941411018715108447014433984762678328210921657612046283244442556845540129976101716945117076207590824469811634882958895065855800428682397580797291430208710773894012047301625540583040876295017770906617241298766815187508092599092729439427577034596739212755326949941346830555608652787861856574470486518159518555658352784875368115280941043319616096791162132396025281886802722365923612109386366420144920268919515716819561685496841450833182174218437397423512060935622993802527667644875314867124463859486542864588966365801158547003515829442626156730621379693708532796696431655783975974283257627917270068046102097149122792025868943209051890408546008612644547814960062690718917017704538805501963780487416703835687387384844299319095092045186841269140171486181807775443405088595599769857765843933319023430839185974668060091104495957451928569131564973139324279372412044434142453375297001540537000523823617790625358760498198526164251197819816062798510131380319862439229154566734965077511761944863971505703176002392321061900139462797997165801433526711050491452578562058947522895221995112987695064700258420287968853694415433576501424244785645896411963437592123725003 108209351818151246890865148113213379017944399995371165098133016661313400380421027092063703312066172220946718379344346978216609417598396840375368521375314990495323991616597370351205160740393399055850397972184902474025434139476849100392110072774622635009630743517768470730499278204335199296980319555729659741849946082849753270398421184084271856585065969986957822145824235287539045883915537790064510879335043364536584286572138088613675404644565763593633658995633216644303950669983377896113360989117453906350890958648085070025314403469986293907122364665327328749792885755465479081832613090297746635801282030870851433249660944031759205540611785452695399783385581110207326835210559234705250758584257384757213155246746138772399848330030135264359896887324876120058034744223510445612345285374837424455914495961955609924054669878100997033350347756219689132768596541059114933246283266695830862857686442332199766653338230579952689920122391632026465082310826280012392011781538497003788554420028629739470433806233614662154586347592796392253795339735792404560389490044242883102554509978521632689614621159348053052138533925900524298570425545731737043483277571404280140899958585071905819175269074676916991437958195986614184160479496158325149557447896433223687685009467068050219934367403057778053938400547802342140940179069272627859656138706111242401760272230000868237341405699429662702481048783183018056524304026310639165773654805160441140057267865133679478434935844857622706401705031093405847902762398600626732681766182159817326106537949958373667576556812850045178308893887984122450004 175086409142363948249988398037302283033293716700252587924283990912625621111251415831156079445469562099234721056065663036695760927366602988830922033738371474614006848209368887136595082308195133946575582448779702742856355232312890247924089800895401430279322472663333459398746126139663285694003939731903571494187645658083826882494538770963139927914308098281924561761640071138821384809907419535727457715923203378459254663847079499632390513091580197578396337323844138301915996953227820452958901119093555623296008034855675894495126038352945188972978165094009726330590177185674189855726625137599372176384322907165869204156278185330526020728119878051788129222813158144804066047965886184646597589139866037545075011821216625290559366885688488049235265002605817163377650841014672578008370567261640146821838108071341976344199590147020512750169909441716530583601778715277552330669795327631453856660214109977075081520462694439439232784711357997827623629314342109455018168512159876697497087216725061395254409780516872290071856415638898489402918131761661347769441380452788891715199057793481695380333538177052591857640497706387941002406112933116581342802372663449466982169098756558087626950712479765512591207815961830547503183910335344299817617539000929181139613578598633023359258646775469822488080853923099343681477179593096245650281497466609440927924523427820684300139915830809982564920277937749753021601815788255503137279357981162833461119168004596477475600737278384333756893157609655464795425657620595739720376830882418237614075391644373807244077981057635691074720857325576246175007 283295760960515195140853546150515662051238116695623753022417007573939021491672442923219782757535734320181439435410010014912370344964999829206290555113686465109330839825966257487800243048588533002425980420964605216881789371789739348316199873670024065288953216181101930129245404343998484990984259287633231236037591740933580152892959955047411784499374068268882383907464306426360430693822957325791968595258246742995838950419217588246065917736145961172029996319477354946219947623211198349072262108211009529646898993503760964520440441822931482880100529759337055080383062941139668937559238227897118812185604938036720637405939129362285226268731663504483529006198739255011392883176445419351848347724123422302288167067962764062959215215718623313595161889930693283435685585238183023620715852636477571277752604033297586268254260025121509783520257197936219716370375256336667263916078594327284719517900552309274848173800925019391922704833749629854088711625168389467410180293698373701285641636753691134724843586750486952226442763231694881656713471497453752329830870497031774817753567772003328069948159336400644909779031632288465300976538478848318386285650234853747123069057341629993446125981554442429582645774157817161687344389831502624967174986897362404827298588065701073579193014178527600542019254470901685822417358662368873509937636172720683329684795657821552537481321530239645267401326720932771078126119814566142303053012786323274601176435869730156954035673123241956463294862640748870643328420019196366453058597064578054940181929594332180911654537870485736253029751213560368625011 458382170102879143390841944187817945084531833395876340946700998486564642602923858754375862203005296419416160491475673051608131272331602818037212588852057939723337688035335144624395325356783666949001562869744307959738144604102629596240289674565425495568275688844435389527991530483661770684988199019536802730225237399017407035387498726010551712413682166550806945669104377565181815503730376861519426311181450121455093614266297087878456430827726158750426333643321493248135944576439018802031163227304565152942907028359436859015566480175876671853078694853346781410973240126813858793285863365496490988569927845202589841562217314692811246996851541556271658229011897399815458931142331603998445936863989459847363178889179389353518582101407111362830426892536510446813336426252855601629086419898117718099590712104639562612453850172142022533690166639652750299972153971614219594585873921958738576178114662286349929694263619458831155489545107627681712340939510498922428348805858250398782728853478752529979253367267359242298299178870593371059631603259115100099272250949820666532952625565485023450281697513453236767419529338676406303382651411964899729088022898303214105238156098188081073076694034207942173853590119647709190528300166846924784792525898291585966912166664334096938451660953997423030100108394001029503894538255465119160219133639330124257609319085642236837621237361049627832321604658682524099727935602821645440332370767486108062295603874326634429636410401626290220188020250404335438754077639792106173435427946996292554257321238705988155732518928121427327750608539136614800018 741677931063394338531695490338333607135769950091500093969118006060503664094596301677595644960541030739597599926885683066520501617296602647243503143965744404832668527861301402112195568405372199951427543290708913176619933975892368944556489548235449560857228905025537319657236934827660255675972458307170033966262829139950987188280458681057963496913056234819689329576568683991542246197553334187311394906439696864450932564685514676124522348563872119922456329962798848194355892199650217151103425335515574682589806021863197823536006921998808154733179224612683836491356303067953527730845101593393609800755532783239310478968156444055096473265583205060755187235210636654826851814318777023350294284588112882149651345957142153416477797317125734676425588782467203730249022011491038625249802272534595289377343316137937148880708110197263532317210423837588970016342529227950886858501952516286023295696015214595624777868064544478223078194378857257535801052564678888389838529099556624100068370490232443664704096954017846194524741942102288252716345074756568852429103121446852441350706193337488351520229856849853881677198560970964871604359189890813218115373673133156961228307213439818074519202675588650371756499364277464870877872689998349549751967512795653990794210754730035170517644675132525023572119362864902715326311896917833992670156769812050807587294114743463789375102558891289273099722931379615295177854055417387787743385383553809382663472039744056791383672083524868246683482882891153206082082497658988472626494025011574347494439250833038169067387056798607163580780359752696983425029 1200060101166273481922537434526151552220301783487376434915819004547068306697520160431971507163546327159013760418361356118128632889628205465280715732817802344556006215896636546736590893762155866900429106160453221136358078579994998540796779222800875056425504593869972709185228465311322026360960657326706836696488066538968394223667957407068515209326738401370496275245673061556724061701283711048830821217621146985906026178951811764002978779391598278672882663606120341442491836776089235953134588562820139835532713050222634682551573402174684826586257919466030617902329543194767386524130964958890100789325460628441900320530373758747907720262434746617026845464222534054642310745461108627348740221452102341997014524846321542769996379418532846039256015675003714177062358437743894226878888692432713007476934028242576711493161960369405554850900590477241720316314683199565106453087826438244761871874129876881974707562328163937054233683923964885217513393504189387312266877905414874498851099343711196194683350321285205436823041120972881623775976678015683952528375372396673107883658818902973374970511554363307118444618090309641277907741841302778117844461696031460175333545369538006155592279369622858313930352954397112580068400990165196474536760038693945576761122921394369267456096336086522446602219471258903744830206435173299111830375903451380931844903433829106026212723796252338900932044536038297819277581991020209433183717754321295490725767643618383425813308493926494536903670903141557541520836575298780578799929452958570640048696572071744157223119575726728590908530968291833598225047 1941738032229667820454232924864485159356071733578876528884937010607571970792116462109567152124087357898611360345247039184649134506924808112524218876783546749388674743757937948848786462167528066851856649451162134312978012555887367485353268771036324617282733498895510028842465400138982282036933115633876870662750895678919381411948416088126478706239794636190185604822241745548266307898837045236142216124060843850356958743637326440127501127955470398595338993568919189636847728975739453104238013898335714518122519072085832506087580324173492981319437144078714454393685846262720914254976066552283710590080993411681210799498530202803004193528017951677782032699433170709469162559779885650699034506040215224146665870803463696186474176735658580715681604457470917907311380449234932852128690964967308296854277344380513860373870070566669087168111014314830690332657212427515993311589778954530785167570145091477599485430392708415277311878302822142753314446068868275702105407004971498598919469833943639859387447275303051631347783063075169876492321752772252804957478493843525549234365012240461726490741411213161000121816651280606149512101031193591335959835369164617136561852582977824230111482045211508685686852318674577450946273680163546024288727551489599567555333676124404437973741011219047470174338834123806460156518332091133104500532673263431739432197548572569815587826355143628174031767467417913114455436046437597220927103137875104873389239683362440217196980577451362783587153786032710747602919072957769051426423477970144987543135822904782326290506632525335754489311328044530581650076 3141798133395941302376770359390636711576373517066252963800756015154640277489636622541538659287633685057625120763608395302777767396553013577804934609601349093944680959654574495585377355929683933752285755611615355449336091135882366026150047993837199673708238092765482738027693865450304308397893772960583707359238962217887775635616373495194993915566533037560681880067914807104990369600120756284973037341681990836262984922589138204130479907347068677268221657175039531079339565751828689057372602461155854353655232122308467188639153726348177807905695063544745072296015389457488300779107031511173811379406454040123111120028903961550911913790452698294808878163655704764111473305240994278047774727492317566143680395649785238956470556154191426754937620132474632084373738886978827079007579657400021304331211372623090571867032030936074642019011604792072410648971895627081099764677605392775547039444274968359574192992720872352331545562226787027970827839573057663014372284910386373097770569177654836054070797596588257068170824184048051500268298430787936757485853866240198657118023831143435101461252965576468118566434741590247427419842872496369453804297065196077311895397952515830385703761414834366999617205273071690031014674670328742498825487590183545144316456597518773705429837347305569916776558305382710204986724767264432216330908576714812671277100982401675841800550151395967074963812003456210933733018037457806654110820892196400364115007326980823643010289071377857320490824689174268289123755648256549630226352930928715627591832394976526483513626208252064345397842296336364179875123 5083536165625609122831003284255121870932445250645129492685693025762212248281753084651105811411721042956236481108855434487426901903477821690329153486384895843333355703412512444434163818097212000604142405062777489762314103691769733511503316764873524290990971591660992766870159265589286590434826888594460578021989857896807157047564789583321472621806327673750867484890156552653256677498957801521115253465742834686619943666226464644257981035302539075863560650743958720716187294727568142161610616359491568871777751194394299694726734050521670789225132207623459526689701235720209215034083098063457521969487447451804321919527434164353916107318470649972590910863088875473580635865020879928746809233532532790290346266453248935142944732889850007470619224589945549991685119336213759931136270622367329601185488717003604432240902101502743729187122619106903100981629108054597093076267384347306332207014420059837173678423113580767608857440529609170724142285641925938716477691915357871696690039011598475913458244871891308699518607247123221376760620183560189562443332360083724206352388843383896827951994376789629118688251392870853576931943903689960789764132434360694448457250535493654615815243460045875685304057591746267481960948350492288523114215141673144711871790273643178143403578358524617386950897139506516665143243099355565320831441249978244410709298530974245657388376506539595248995579470874124048188454083895403875037924030071505237504247010343263860207269648829220104077978475206979036726674721214318681652776408898860615134968217881308809804132840777400099887153624380894761525199 8225334299021550425207773643645758582508818767711382456486449040916852525771389707192644470699354728013861601872463829790204669300030835268134088095986244937278036663067086940019541174026895934356428160674392845211650194827652099537653364758710723964699209684426475504897853131039590898832720661555044285381228820114694932683181163078516466537372860711311549364958071359758247047099078557806088290807424825522882928588815602848388460942649607753131782307918998251795526860479396831218983218820647423225432983316702766883365887776869848597130827271168204598985716625177697515813190129574631333348893901491927433039556338125904828021108923348267399789026744580237692109170261874206794583961024850356434026662103034174099415289044041434225556844722420182076058858223192587010143850279767350905516700089626695004107934132438818371206134223898975511630601003681678192840944989740081879246458695028196747871415834453119940403002756396198694970125214983601730849976825744244794460608189253311967529042468479565767689431431171272877028918614348126319929186226323922863470412674527331929413247342366097237254686134461101004351786776186330243568429499556771760352648488009485001519004874880242684921262864817957512975623020821031021939702731856689856188246871161951848833415705830187303727455444889226870129967866619997537162349826693057081986399513375921499188926657935562323959391474330334981921472121353210529148744922267905601619254337324087503217558720207077424568803164381247325850430369470868311879129339827576242726800612857835293317759049029464445284995920717258941400322 13308870464647159548038776927900880453441264018356511949172142066679064774053142791843750282111075770970098082981319264277631571203508656958463241582371140780611392366479599384453704992124107934960570565737170334973964298519421833049156681523584248255690181276087468271768012396628877489267547550149504863403218678011502089730745952661837939159179188385062416849848227912411503724598036359327203544273167660209502872255042067492646441977952146828995342958662956972511714155206964973380593835180138992097210734511097066578092621827391519386355959478791664125675417860897906730847273227638088855318381348943731754959083772290258744128427393998239990699889833455711272745035282754135541393194557383146724372928556283109242360021933891441696176069312365732067743977559406346941280120902134680506702188806630299436348836233941562100393256843005878612612230111736275285917212374087388211453473115088033921549838948033887549260443286005369419112410856909540447327668741102116491150647200851787880987287340370874467208038678294494253789538797908315882372518586407647069822801517911228757365241719155726355942937527331954581283730679876291033332561933917466208809899023503139617334248334926118370225320456564224994936571371313319545053917873529834568060037144805129992236994064354804690678352584395743535273210965975562857993791076671301492695698044350167156577303164475157572954970945204459030109926205248614404186668952339410839123501347667351363424828369036297528646781639588226362577105090685186993531905748726436857861768830739144103121891889806864545172149545098153702925521 21534204763668709973246550571546639035950082786067894405658591107595917299824532499036394752810430498983959684853783094067836240503539492226597329678357385717889429029546686324473246166151003869316998726411563180185614493347073932586810046282294972220389390960513943776665865527668468388100268211704549148784447498126197022413927115740354405696552049096373966214806299272169750771697114917133291835080592485732385800843857670341034902920601754582127125266581955224307241015686361804599577054000786415322643717827799833461458509604261367983486786749959868724661134486075604246660463357212720188667275250435659187998640110416163572149536317346507390488916578035948964854205544628342335977155582233503158399590659317283341775310977932875921732914034785914143802835782598933951423971181902031412218888896256994440456770366380380471599391066904854124242831115417953478758157363827470090699931810116230669421254782487007489663446042401568114082536071893142178177645566846361285611255390105099848516329808850440234897470109465767130818457412256442202301704812731569933293214192438560686778489061521823593197623661793055585635517456062621276900991433474237969162547511512624618853253209806361055146583321382182507912194392134350566993620605386524424248284015967081841070409770184991994405808029284970405403178832595560395156140903364358574682097557726088655766229822410719896914362419534794012031398326601824933335413874607316440742755684991438866642387089243374953215584803969473688427535460156055305411035088554013100588569443596979396439650938836328990457145465815412644325843 34843075228315869521285327499447519489391346804424406354830733174274982073877675290880145034921506269954057767835102358345467811707048149185060571260728526498500821396026285708926951158275111804277569292148733515159578791866495765635966727805879220476079572236601412048433877924297345877367815761854054012187666176137699112144673068402192344855731237481436383064654527184581254496295151276460495379353760145941888673098899737833681344898553901411122468225244912196818955170893326777980170889180925407419854452338896900039551131431652887369842746228751532850336552346973510977507736584850809043985656599379390942957723882706422316277963711344747381188806411491660237599240827382477877370350139616649882772519215600392584135332911824317617908983347151646211546813342005280892704092084036711918921077702887293876805606600321942571992647909910732736855061227154228764675369737914858302153404925204264590971093730520895038923889328406937533194946928802682625505314307948477776761902590956887729503617149221314702105508787760261384607996210164758084674223399139217003116015710349789444143730780677549949140561189125010166919248135938912310233553367391704177972446535015764236187501544732479425371903777946407502848765763447670112047538478916358992308321160772211833307403834539796685084160613680713940676389798571123253149931980035660067377795602076255812343532986885877469869333364739253042141324531850439337522082826946727279866257032658790230067215458279672481862366443557700051004640550841242298942940837280449958450338274336123499561542828643193535629295010913566347251364 56377279991984579494531878070994158525341429590492300760489324281870899373702207789916539787731936768938017452688885452413304052210587641411657900939085912216390250425572972033400197324426115673594568018560296695345193285213569698222776774088174192696468963197115355825099743451965814265468083973558603160972113674263896134558600184142546750552283286577810349279460826456751005267992266193593787214434352631674274473942757408174716247819155655993249593491826867421126196186579688582579747943181711822742498170166696733501009641035914255353329532978711401574997686833049115224168199942063529232652931849815050130956363993122585888427500028691254771677722989527609202453446372010820213347505721850153041172109874917675925910643889757193539641897381937560355349649124604214844128063265938743331139966599144288317262376966702323043592038976815586861097892342572182243433527101742328392853336735320495260392348513007902528587335370808505647277483000695824803682959874794839062373157981061987578019946958071754937002978897226028515426453622421200286975928211870786936409229902788350130922219842199373542338184850918065752554765592001533587134544800865942147134994046528388855040754754538840480518487099328590010760960155582020679041159084302883416556605176739293674377813604724788679489968642965684346079568631166683648306072883400018642059893159802344468109762809296597366783695784274047054172722858452264270857496701554043720609012717650229096709602547523047435077951247527173739432176010997297604353975925834463059038907717933102896001193767479522526086440476728978991577207 91220355220300449015817205570441678014732776394916707115320057456145881447579883080796684822653443038892075220523987810758771863917635790596718472199814438714891071821599257742327148482701227477872137310709030210504772077080065463858743501894053413172548535433716767873533621376263160142835899735412657173159779850401595246703273252544739095408014524059246732344115353641332259764287417470054282593788112777616163147041657146008397592717709557404372061717071779617945151357473015360559918832362637230162352622505593633540560772467567142723172279207462934425334239180022626201675936526914338276638588449194441073914087875829008204705463740036002152866529401019269440052687199393298090717855861466802923944629090518068510045976801581511157550880729089206566896462466609495736832155349975455250061044302031582194067983567024265615584686886726319597952953569726411008108896839657186695006741660524759851363442243528797567511224699215443180472429929498507429188274182743316839135060572018875307523564107293069639108487684986289900034449832585958371650151611010003939525245613138139575065950622876923491478746040043075919474013727940445897368098168257646325107440581544153091228256299271319905890390877274997513609725919029690791088697563219242408864926337511505507685217439264585364574129256646398286755958429737806901456004863435678709437688761878600280453295796182474836653029149013300096314047390302703608379579528500771000475269750309019326776818005802719916940317691084873790436816561838539903296916763114913017489245992269226395562736596122716061715735487642545338828571 147597635212285028510349083641435836540074205985409007875809381738016780821282090870713224610385379807830092673212873263172075916128223432008376373138900350931281322247172229775727345807127343151466705329269326905849965362293635162081520275982227605869017498630832123698633364828228974408303983708971260334131893524665491381261873436687285845960297810637057081623576180098083265032279683663648069808222465409290437620984414554183113840536865213397621655208898647039071347544052703943139666775544349052904850792672290367041570413503481398076501812186174336000331926013071741425844136468977867509291520299009491204870451868951594093132963768727256924544252390546878642506133571404118304065361583316955965116738965435744435956620691338704697192778111026766922246111591213710580960218615914198581201010901175870511330360533726588659176725863541906459050845912298593251542423941399515087860078395845255111755790756536700096098560070023948827749912930194332232871234057538155901508218553080862885543511065364824576111466582212318415460903455007158658626079822880790875934475515926489705988170465076297033816930890961141672028779319941979484502642969123588472242434628072541946269011053810160386408877976603587524370686074611711470129856647522125825421531514250799182063031043989374044064097899612082632835527060904490549762077746835697351497581921680944748563058605479072203436724933287347150486770248754967879237076230054814721084282467959248423486420553325767352018268938612047529868992572835837507650892688949376076528153710202329291563930363602238587802175964371524330405778 238817990432585477526166289211877514554806982380325714991129439194162662268861973951509909433038822846722167893736861073930847780045859222605094845338714789646172394068771487518054494289828570629338842639978357116354737439373700625940263777876281019041566034064548891572166986204492134551139883444383917507291673375067086627965146689232024941368312334696303813967691533739415524796567101133702352402010578186906600768026071700191511433254574770801993716925970426657016498901525719303699585607906986283067203415177884000582131185971048540799674091393637270425666165193094367627520072995892205785930108748203932278784539744780602297838427508763259077410781791566148082558820770797416394783217444783758889061368055953812946002597492920215854743658840115973489142574057823206317792373965889653831262055203207452705398344100750854274761412750268226057003799482025004259651320781056701782866820056370014963119233000065497663609784769239392008222342859692839662059508240281472740643279125099738193067075172657894215219954267198608315495353287593117030276231433890794815459721129064629281054121087953220525295676931004217591502793047882425381870741137381234797349875209616695037497267353081480292299268853878585037980411993641402261218554210741368234286457851762304689748248483253959408638227156258480919591485490642297451218082610271376060935270683559545029016354401661547040089754082300647246800817639057671487616655758555585721559552218268267750263238559128487268958586629696921320305809134674377410947809452064289094017399702471555687126666959724954649517911452014069669234349 386415625644870506036515372853313351094881188365734722866938820932179443090144064822223134043424202654552260566949734337102923696174082654613471218477615140577453716315943717293781840096955913780805547969247684022204702801667335788021784053858508624910583532695381015270800351032721108959443867153355177841423566899732578009227020125919310787328610145333360895591267713837498789828846784797350422210233043596197038389010486254374625273791439984199615372134869073696087846445578423246839252383451335335972054207850174367623701599474529938876175903579811606425998091206166109053364209464870073295221629047213423483654991613732196390971391277490516001955034182113026725064954342201534698848579028100714854178107021389557381959218184258920551936436951142740411388685649036916898752592581803852412463066104383323216728704634477442933938138613810132516054645394323597511193744722456216870726898452215270074875023756602197759708344839263340835972255789887171894930742297819628642151497678180601078610586238022718791331420849410926730956256742600275688902311256771585691394196644991118987042291553029517559112607821965359263531572367824404866373384106504823269592309837689236983766278406891640678708146830482172562351098068253113731348410858263494059707989366013103871811279527243333452702325055870563552427012551546788000980160357107073412432852605240489777579413007140619243526479015587994397287587887812639366853731988610400442643834686227516173749659112454254620976855568308968850174801707510214918598702141013665170545553412673884978690597323327193237320087416385593999640127 625233616077455983562681662065190865649688170746060437858068260126342105359006038773733043476463025501274428460686595411033771476219941877218566063816329930223626110384715204811836334386784484410144390609226041138559440241041036413962047831734789643952149566759929906842967337237213243510583750597739095348715240274799664637192166815151335728696922480029664709558959247576914314625413885931052774612243621783103639157036557954566136707046014755001609089060839500353104345347104142550538837991358321619039257623028058368205832785445578479675849994973448876851664256399260476680884282460762279081151737795417355762439531358512798688809818786253775079365815973679174807623775112998951093631796472884473743239475077343370327961815677179136406680095791258713900531259706860123216544966547693506243725121307590775922127048735228297208699551364078358573058444876348601770845065503512918653593718508585285037994256756667695423318129608502732844194598649580011556990250538101101382794776803280339271677661410680613006551375116609535046451610030193392719178542690662380506853917774055748268096412640982738084408284752969576855034365415706830248244125243886058066942185047305932021263545759973120971007415684360757600331510061894515992566965069004862293994447217775408561559528010497292861340552212129044472018498042189085452198242967378449473368123288800034806595767408802166283616233097888641644088405526870310854470387747165986164203386904495783924012897671582741889935442198005890170480610842184592329546511593077954264562953115145440665817264283052147886837998868399663668874476 1011649241722326489599197034918504216744569359111795160725007081058521548449150103595956177519887228155826689027636329748136695172394024531832037282293945070801079826700658922105618174483740398190949938578473725160764143042708372201983831885593298268862733099455310922113767688269934352470027617751094273190138807174532242646419186941070646516025532625363025605150226961414413104454260670728403196822476665379300677546047044208940761980837454739201224461195708574049192191792682565797378090374809656955011311830878232735829534384920108418552025898553260483277662347605426585734248491925632352376373366842630779246094522972244995079781210063744291081320850155792201532688729455200485792480375500985188597417582098732927709921033861438056958616532742401454311919945355897040115297559129497358656188187411974099138855753369705740142637689977888491089113090270672199282038810225969135524320616960800555112869280513269893183026474447766073680166854439467183451920992835920730024946274481460940350288247648703331797882795966020461777407866772793668408080853947433966198248114419046867255138704194012255643520892574934936118565937783531235114617509350390881336534494884995169005029824166864761649715562514842930162682608130147629723915375927268356353702436583788512433370807537740626314042877267999608024445510593735873453178403324485522885800975894040524584175180415942785527142712113476636041375993414682950221324119735776386606847221590723300097762556784036996510912297766314859020655412549694807248145213734091619435108506527819325644507861606379341124158086284785257668514603 1636882857799782473161878696983695082394257529857855598583075341184863653808156142369689220996350253657101117488322925159170466648613966409050603346110275001024705937085374126917454508870524882601094329187699766299323583283749408615945879717328087912814882666215240828956735025507147595980611368348833368538854047449331907283611353756221982244722455105392690314709186208991327419079674556659455971434720287162404316703083602163506898687883469494202833550256548074402296537139786708347916928366167978574050569453906291104035367170365686898227875893526709360129326604004687062415132774386394631457525104638048135008534054330757793768591028849998066160686666129471376340312504568199436886112171973869662340657057176076298037882849538617193365296628533660168212451205062757163331842525677190864899913308719564875060982802104934037351337241341966849662171535147020801052883875729482054177914335469385840150863537269937588606344604056268806524361453089047195008911243374021831407741051284741279621965909059383944804434171082629996823859476802987061127259396638096346705102032193102615523235116834994993727929177327904512973600303199238065362861634594276939403476679932301101026293369926837882620722978199203687763014118192042145716482340996273218647696883801563920994930335548237919175383429480128652496464008635924958905376646291863972359169099182840559390770947824744951810758945211365277685464398941553261075794507482942372771050608495219084021775454455619738400847739964320749191136023391879399577691725327169573699671459642964766310325125889431489010996085153184921337389079 2648532099522108962761075731902199299138826888969650759308082422243385202257306245965645398516237481812927806515959254907307161821007990940882640628404220071825785763786033049023072683354265280792044267766173491460087726326457780817929711602921386181677615765670551751070502713777081948450638986099927641728992854623864149930030540697292628760747987730755715919859413170405740523533935227387859168257196952541704994249130646372447660668720924233404058011452256648451488728932469274145295018740977635529061881284784523839864901555285795316779901792079969843406988951610113648149381266312026983833898471480678914254628577303002788848372238913742357242007516285263577873001234023399922678592547474854850938074639274809225747803883400055250323913161276061622524371150418654203447140084806688223556101496131538974199838555474639777493974931319855340751284625417693000334922685955451189702234952430186395263732817783207481789371078504034880204528307528514378460832236209942561432687325766202219972254156708087276602316967048650458601267343575780729535340250585530312903350146612149482778373821029007249371450069902839449092166240982769300477479143944667820740011174817296270031323194093702644270438540714046617925696726322189775440397716923541575001399320385352433428301143085978545489426306748128260520909519229660832358555049616349495244970075076881083974946128240687737337901657324841913726840392356236211297118627218718759377897830085942384119538011239656734911760037730635608211791435941574206825836939061261193134779966170784091954832987495810830135154171437970179005903682 4285414957321891435922954428885894381533084418827506357891157763428248856065462388335334619512587735470028924004282180066477628469621957349933243974514495072850491700871407175940527192224790163393138596953873257759411309610207189433875591320249474094492498431885792580027237739284229544431250354448761010267846902073196057213641894453514611005470442836148406234568599379397067942613609784047315139691917239704109310952214248535954559356604393727606891561708804722853785266072255982493211947107145614103112450738690814943900268725651482215007777685606679203536315555614800710564514040698421615291423576118727049263162631633760582616963267763740423402694182414734954213313738591599359564704719448724513278731696450885523785686732938672443689209789809721790736822355481411366778982610483879088456014804851103849260821357579573814845312172661822190413456160564713801387806561684933243880149287899572235414596355053145070395715682560303686728889760617561573469743479583964392840428377050943499594220065767471221406751138131280455425126820378767790662599647223626659608452178805252098301608937864002243099379247230743962065766544182007365840340778538944760143487854749597371057616564020540526891161518913250305688710844514231921156880057919814793649096204186916354423231478634216464664809736228256913017373527865585791263931695908213467604139174259721643365717076065432689148660602536207191412304791297789472372913134701661132148948438581161468141313465695276473312607777694956357402927459333453606403528664388430766834451425813748858265158113385242319146150256591155100343292761 6933947056844000398684030160788093680671911307797157117199240185671634058322768634300980018028825217282956730520241434973784790290629948290815884602918715144676277464657440224963599875579055444185182864720046749219499035936664970251805302923170860276170114197556344331097740453061311492881889340548688651996839756697060207143672435150807239766218430566904122154428012549802808466147545011435174307949114192245814305201344894908402220025325317961010949573161061371305273995004725256638506965848123249632174332023475338783765170280937277531787679477686649046943304507224914358713895307010448599125322047599405963517791208936763371465335506677482780644701698699998532086314972614999282243297266923579364216806335725694749533490616338727694013122951085783413261193505900065570226122695290567312012116300982642823460659913054213592339287103981677531164740785982406801722729247640384433582384240329758630678329172836352552185086761064338566933418068146075951930575715793906954273115702817145719566474222475558498009068105179930914026394163954548520197939897809156972511802325417401581079982758893009492470829317133583411157932785164776666317819922483612580883499029566893641088939758114243171161600059627296923614407570836421696597277774843356368650495524572268787851532621720195010154236042976385173538283047095246623622486745524562962849109249336602727340663204306120426486562259861049105139145183654025683670031761920379891526846268667103852260851476934933208224367815425591965614718895275027813229365603449691959969231391984532950219991100881053149281304428029125279349196443 11219362014165891834606984589673988062204995726624663475090397949099882914388231022636314637541412952752985654524523615040262418760251905640749128577433210217526769165528847400904127067803845607578321461673920006978910345546872159685680894243420334370662612629442136911124978192345541037313139694997449662264686658770256264357314329604321850771688873403052528388996611929199876408761154795482489447641031431949923616153559143444356779381929711688617841134869866094159059261076981239131718912955268863735286782762166153727665439006588759746795457163293328250479620062839715069278409347708870214416745623718133012780953840570523954082298774441223204047395881114733486299628711206598641808001986372303877495538032176580273319177349277400137702332740895505203998015861381476937005105305774446400468131105833746672721481270633787407184599276643499721578196946547120603110535809325317677462533528229330866092925527889497622580802443624642253662307828763637525400319195377871347113544079868089219160694288243029719415819243311211369451520984333316310860539545032783632120254504222653679381591696757011735570208564364327373223699329346784032158160701022557341026986884316491012146556322134783698052761578540547229303118415350653617754157832763171162299591728759185142274764100354411474819045779204642086555656574960832414886418441432776430453248423596324370706380280371553115635222862397256296551449974951815156042944896622041023675794707248265320402164942630209681536975593120548323017646354608481419632894267838122726803682817798281808485149214266295468427454684620280379692489204 18153309071009892233291014750462081742876907034421820592289638134771516972710999656937294655570238170035942385044765050014047209050881853931565013180351925362203046630186287625867726943382901051763504326393966756198409381483537129937486197166591194646832726826998481242222718645406852530195029035546138314261526415467316471500986764755129090537907303969956650543424624479002684874908699806917663755590145624195737921354904038352758999407255029649628790708030927465464333256081706495770225878803392113367461114785641492511430609287526037278583136640979977297422924570064629427992304654719318813542067671317538976298745049507287325547634281118705984692097579814732018385943683821597924051299253295883241712344367902275022852667965616127831715455691981288617259209367281542507231228001065013712480247406816389496182141183688000999523886380625177252742937732529527404833265056965702111044917768559089496771254700725850174765889204688980820595725896909713477330894911171778301386659782685234938727168510718588217424887348491142283477915148287864831058479442841940604632056829640055260461574455650021228041037881497910784381632114511560698475980623506169921910485913883384653235496080249026869214361638167844152917525986187075314351435607606527530950087253331453930126296722074606484973281822181027260093939622056079038508905186957339393302357672932927098047043484677673542121785122258305401690595158605840839712976658542420915202640975915369172663016419565142889761343408546140288632365249883509232862259871287814686772914209782814758705140315147348617708759112649405659041685647 29372671085175784067897999340136069805081902761046484067380036083871399887099230679573609293111651122788928039569288665054309627811133759572314141757785135579729815795715135026771854011186746659341825788067886763177319727030409289623167091410011529017495339456440618153347696837752393567508168730543587976526213074237572735858301094359450941309596177373009178932421236408202561283669854602400153203231177056145661537508463181797115778789184741338246631842900793559623392517158687734901944791758660977102747897547807646239096048294114797025378593804273305547902544632904344497270714002428189027958813295035671989079698890077811279629933055559929188739493460929465504685572395028196565859301239668187119207882400078855296171845314893527969417788432876793821257225228663019444236333306839460112948378512650136168903622454321788406708485657268676974321134679076648007943800866291019788507451296788420362864180228615347797346691648313623074258033725673351002731214106549649648500203862553324157887862798961617936840706591802353652929436132621181141919018987874724236752311333862708939843166152407032963611246445862238157605331443858344730634141324528727262937472798199875665382052402383810567267123216708391382220644401537728932105593440369698693249678982090639072401060822429017959792327601385669346649596197016911453395323628390115823755606096529251468753423765049226657757007984655561698242045133557655995755921555164461938878435683163634493065181362195352571298319001666688611650011604491990652495154139125937413576597027581096567190289529413644086136213797269686038734174851 47525980156185676301189014090598151547958809795468304659669674218642916859810230336510903948681889292824870424614053715068356836862015613503879154938137060941932862425901422652639580954569647711105330114461853519375729108513946419560653288576602723664328066283439099395570415483159246097703197766089726290787739489704889207359287859114580031847503481342965829475845860887205246158578554409317816958821322680341399458863367220149874778196439770987875422550931721025087725773240394230672170670562053090470209012333449138750526657581640834303961730445253282845325469202968973925263018657147507841500880966353210965378443939585098605177567336678635173431591040744197523071516078849794489910600492964070360920226767981130319024513280509655801133244124858082438516434595944561951467561307904473825428625919466525665085763638009789406232372037893854227064072411606175412777065923256721899552369065347509859635434929341197972112580853002603894853759622583064480062109017721427949886863645238559096615031309680206154265593940293495936407351280909045972977498430716664841384368163502764200304740608057054191652284327360148941986963558369905429110121948034897184847958712083260318617548482632837436481484854876235535138170387724804246457029047976226224199766235422093002527357544503624444765609423566696606743535819072990491904228815347455217057963769462178566800467249726900199878793106913867099932640292163496835468898213706882854081076659079003665728197781760495461059662410212828900282376854375499885357414010413752100349511237363911325895429844560992703844972909919091697775860498 76898651241361460369087013430734221353040712556514788727049710302514316746909461016084513241793540415613798464183342380122666464673149373076193296695922196521662678221616557679411434965756394370447155902529740282553048835544355709183820379986614252681823405739879717548918112320911639665211366496633314267313952563942461943217588953474030973157099658715975008408267097295407807442248409011717970162052499736487060996371830401946990556985624512326122054393832514584711118290399081965574115462320714067572956909881256784989622705875755631329340324249526588393228013835873318422533732659575696869459694261388882954458142829662909884807500392238564362171084501673663027757088473877991055769901732632257480128109168059985615196358595403183770551032557734876259773659824607581395703894614743933938377004432116661833989386092331577812940857695162531201385207090682823420720866789547741688059820362135930222499615157956545769459272501316226969111793348256415482793323124271077598387067507791883254502894108641824091106300532095849589336787413530227114896517418591389078136679497365473140147906760464087155263530773222387099592295002228250159744263272563624447785431510283135983999600885016648003748608071584626917358814789262533178562622488345924917449445217512732074928418366932642404557937024952365953393132016089901945299552443737571040813569865991430035553891014776126857635801091569428798174685425721152831224819768871344792959512342242638158793379143955848032357981411879517511932388458867490537852568149539689513926108264945007893085719373974636789981186707188777736510035349 124424631397547136670276027521332372900999522351983093386719384521157233606719691352595417190475429708438668888797396095191023301535164986580072451634059257463595540647517980332051015920326042081552486016991593801928777944058302128744473668563216976346151472023318816944488527804070885762914564262723040558101692053647351150576876812588611005004603140058940837884112958182613053600826963421035787120873822416828460455235197622096865335182064283313997476944764235609798844063639476196246286132882767158043165922214705923740149363457396465633302054694779871238553483038842292347796751316723204710960575227742093919836586769248008489985067728917199535602675542417860550828604552727785545680502225596327841048335936041115934220871875912839571684276682592958698290094420552143347171455922648407763805630351583187499075149730341367219173229733056385428449279502288998833497932712804463587612189427483440082135050087297743741571853354318830863965552970839479962855432141992505548273931153030442351117925418322030245371894472389345525744138694439273087874015849308053919521047660868237340452647368521141346915815100582536041579258560598155588854385220598521632633390222366396302617149367649485440230092926460862452496985176987337425019651536322151141649211452934825077455775911436266849323546448519062560136667835162892437203781259085026257871533635453608602354358264503027057514594198483295898107325717884649666693717982578227647040589001321641824521576925716343493417643822092346412214765313242990423209982159953441614275619502308919218981149218535629493826159617107869434285895847 201323282638908597039363040952066594254040234908497882113769094823671550353629152368679930432268970124052467352980738475313689766208314359656265748329981453985258218869134538011462450886082436451999641919521334084481826779602657837928294048549831229027974877763198534493406640124982525428125930759356354825415644617589813093794465766062641978161702798774915846292380055478020861043075372432753757282926322153315521451607028024043855892167688795640119531338596750194509962354038558161820401595203481225616122832095962708729772069333152096962642378944306459631781496874715610770330483976298901580420269489130976874294729598910918374792568121155763897773760044091523578585693026605776601450403958228585321176445104101101549417230471316023342235309240327834958063754245159724742875350537392341702182634783699849333064535822672945032114087428218916629834486592971822254218799502352205275672009789619370304634665245254289511031125855635057833077346319095895445648755266263583146660998660822325605620819526963854336478195004485195115080926107969500202770533267899442997657727158233710480600554128985228502179345873804923141171553562826405748598648493162146080418821732649532286616750252666133443978700998045489369855799966249870603582274024668076059098656670447557152384194278368909253881483473471428513529799851252794382503333702822597298685103501445038637908249279279153915150395290052724696282011143605802497918537751449572440000101343564279983314956069672191525775625233971863924147153772110480961062550309493131128201727767253927112066868592510266283807346324296647170795931196 325747914036455733709639068473398967155039757260480975500488479344828783960348843721275347622744399832491136241778134570504713067743479346236338199964040711448853759516652518343513466806408478533552127936512927886410604723660959966672767717113048205374126349786517351437895167929053411191040495022079395383517336671237164244371342578651252983166305938833856684176493013660633914643902335853789544403800144570143981906842225646140721227349753078954117008283360985804308806417678034358066687728086248383659288754310668632469921432790548562595944433639086330870334979913557903118127235293022106291380844716873070794131316368158926864777635850072963433376435586509384129414297579333562147130906183824913162224781040142217483638102347228862913919585922920793656353848665711868090046806460040749465988265135283036832139685553014312251287317161275302058283766095260821087716732215156668863284199217102810386769715332552033252602979209953888697042899289935375408504187408256088694934929813852767956738744945285884581850089476874540640825064802408773290644549117207496917178774819101947821053201497506369849095160974387459182750812123424561337453033713760667713052211955015928589233899620315618884208793924506351822352785143237208028601925560990227200747868123382382229839970189805176103205029921990491073666467686415686819707114961907623556556637136898647240262607543782180972664989488536020594389336861490452164612255734027800087040690344885921807836532995388535019193269056064210336361919085353471384272532469446572742477347269562846331048017811045895777633505941404516605081827043 527071196675364330749002109425465561409079992168978857614257574168500334313977996089955278055013369956543603594758873045818402833951793705892603948294022165434111978385787056354975917692490914985551769856034261970892431503263617804601061765662879434402101227549715885931301808054035936619166425781435750208932981288826977338165808344713894961328008737608772530468873069138654775686977708286543301686726466723459503358449253670184577119517441874594236539621957735998818768771716592519887089323289729609275411586406631341199693502123700659558586812583392790502116476788273513888457719269321007871801114206004047668426045967069845239570203971228727331150195630600907707999990605939338748581310142053498483401226144243319033055332818544886256154895163248628614417602910871592832922156997433091168170899918982886165204221375687257283401404589494218688118252688232643341935531717508874138956209006722180691404380577806322763634105065588946530120245609031270854152942674519671841595928474675093562359564472249738918328284481359735755905990910378273493415082385106939914836501977335658301653755626491598351274506848192382323922365686250967086051682206922813793471033687665460875850649872981752328187494922551841192208585109487078632184199585658303259846524793829939382224164468174085357086513395461919587196267537668481202210448664730220855241740638343685878170856823061334887815384778588745290671348005096254662530793485477372527040791688450201791151489065060726544968894290036074260509072857463952345335082778939703870679075036816773443114886403556162061440852265701163775877758239 852819110711820064458641177898864528564119749429459833114746053513329118274326839811230625677757769789034739836537007616323115901695273052128942148258062876882965737902439574698489384498899393519103897792547189857303036226924577771273829482775927639776227577336233237369196975983089347810206920803515145592450317960064141582537150923365147944494314676442629214645366082799288690330880044140332846090526611293603485265291479316325298346867194953548353547905318721803127575189394626877953777051375977992934700340717299973669614934914249222154531246222479121372451456701831417006584954562343114163181958922877118462557362335228772104347839821301690764526631217110291837414288185272900895712216325878411645626007184385536516693435165773749170074481086169422270771451576583460922968963457473840634159165054265922997343906928701569534688721750769520746402018783493464429652263932665543002240408223824991078174095910358356016237084275542835227163144898966646262657130082775760536530858288527861519098309417535623500178373958234276396731055712787046784059631502314436832015276796437606122706957123997968200369667822579841506673177809675528423504715920683481506523245642681389465084549493297371212396288847058193014561370252724286660786125146648530460594392917212321612064134657979261460291543317452410660862735224084168021917563626637844411798377775242333118433464366843515860480374267124765885060684866586706827143049219505172614081482033336123598988022060449261564162163346100284596870991942817423729607615248386276613156422306379619774162904214602057839074358207105680380959585282 1379890307387184395207643287324330089973199741598438690729003627681829452588304835901185903732771139745578343431295880662141518735647066758021546096552085042317077716288226631053465302191390308504655667648581451828195467730188195575874891248438807074178328804885949123300498784037125284429373346584950895801383299248891118920702959268079042905822323414051401745114239151937943466017857752426876147777253078017062988623740732986509875466384636828142590087527276457801946343961111219397840866374665707602210111927123931314869308437037949881713118058805871911874567933490104930895042673831664122034983073128881166130983408302298617343918043792530418095676826847711199545414278791212239644293526467931910129027233328628855549748767984318635426229376249418050885189054487455053755891120454906931802330064973248809162548128304388826818090126340263739434520271471726107771587795650174417141196617230547171769578476488164678779871189341131781757283390507997917116810072757295432378126786763202955081457873889785362418506658439594012152637046623165320277474713887421376746851778773773264424360712750489566551644174670772223830595543495926495509556398127606295299994279330346850340935199366279123540583783769610034206769955362211365292970324732306833720440917711042260994288299126153346817378056712914330248059002761752649224128012291368065267040118413586018996604321189904850748295759045713511175732032871682961489673842704982545141122273721786325390139511125509988109131057636136358857380064800281376074942698027325980483835497343196393217277790618158219900515210472806844156837343521 2232709418099004459666284465223194618537319491027898523843749681195158570862631675712416529410528909534613083267832888278464634637342339810150488244810147919200043454190666205751954686690289702023759565441128641685498503957112773347148720731214734713954556382222182360669695760020214632239580267388466041393833617208955260503240110191444190850316638090494030959759605234737232156348737796567208993867779689310666473889032212302835173813251831781690943635432595179605073919150505846275794643426041685595144812267841231288538923371952199103867649305028351033247019390191936347901627628394007236198165032051758284593540770637527389448265883613832108860203458064821491382828566976485140540005742793810321774653240513014392066442203150092384596303857335587473155960506064038514678860083912380772436489230027514732159892035233090396352778848091033260180922290255219572201240059582839960143437025454372162847752572398523034796108273616674616984446535406964563379467202840071192914657645051730816600556183307320985918685032397828288549368102335952367061534345389735813578867055570210870547067669874487534752013842493352065337268721305602023933061114048289776806517524973028239806019748859576494752980072616668227221331325614935651953756449878955364181035310628254582606352433784132608277669600030366740908921737985836817246045575918005909678838496188828352115037785556748366608776133312838277060792717738269668316816891924487717755203755755122448989127533185959249673293220982236643454251056743098799804550313275712257096991919649576012991440694832760277739589568679912524537796928803 3612599725486188854873927752547524708510519232626337214572753308876988023450936511613602433143300049280191426699128768940606153372989406568172034341362232961517121170478892836805419988881680010528415233089710093513693971687300968923023611979653541788132885187108131483970194544057339916668953613973416937195216916457846379423943069459523233756138961504545432704873844386675175622366595548994085141645032767327729462512772945289345049279636468609833533722959871637407020263111617065673635509800707393197354924194965162603408231808990148985580767363834222945121587323682041278796670302225671358233148105180639450724524178939826006792183927406362526955880284912532690928242845767697380184299269261742231903680473841643247616190971134411020022533233585005524041149560551493568434751204367287704238819295000763541322440163537479223170868974431296999615442561726945679972827855233014377284633642684919334617331048886687713575979462957806398741729925914962480496277275597366625292784431814933771682014057197106348337191690837422300702005148959117687339009059277157190325718834343984134971428382624977101303658017164124289167864264801528519442617512175896072106511804303375090146954948225855618293563856386278261428101280977147017246726774611262197901476228339296843600640732910285955095047656743281071156980740747589466470173588209373974945878614602414371111642106746653217357071892358551788236524750609952629806490734629470262896326029476908774379267044311469237782424278618373002311631121543380175879493011303038237580827416992772406208718485450918497640104779152719368694634272324 5845309143585193314540212217770719327047838723654235738416502990072146594313568187326018962553828958814804509966961657219070788010331746378322522586172380880717164624669559042557374675571969712552174798530838735199192475644413742270172332710868276502087441569330313844639890304077554548908533881361882978589050533666801639927183179650967424606455599595039463664633449621412407778715333345561294135512812456638395936401805157592180223092888300391524477358392466817012094182262122911949430153226749078792499736462806393891947155180942348089448416668862573978368606713873977626698297930619678594431313137232397735318064949577353396240449811020194635816083742977354182311071412744182520724305012055552553678333714354657639682633174284503404618837090920592997197110066615532083113611288279668476675308525028278273482332198770569619523647822522330259796364851982165252174067914815854337428070668139291497465083621285210748372087736574481015726176461321927043875744478437437818207442076866664588282570240504427334255876723235250589251373251295070054400543404666893003904585889914195005518496052499464636055671859657476354505132986107130543375678626224185848913029329276403329952974697085432113046543929002946488649432606592082669200483224490217562082511538967551426206993166694418563372717256773647812065902478733426283716219164127379884624717110791242723226679892303401583965848025671390065297317468348222298123307626553957980651529785232031223368394577497428487455717499600609645765882178286478975684043324578750494677819336642348419200159180283678775379694347832631893232431201127 9457908869071382169414139970318244035558357956280572952989256298949134617764504698939621395697129008094995936666090426159676941383321152946494556927534613842234285795148451879362794664453649723080590031620548828712886447331714711193195944690521818290220326756438445328610084848134894465577487495335299915784267450124648019351126249110490658362594561099584896369507294008087583401081928894555379277157845223966125398914578102881525272372524769001358011081352338454419114445373739977623065663027456471989854660657771556495355386989932497075029184032696796923490194037556018905494968232845349952664461242413037186042589128517179403032633738426557162771964027889886873239314258511879900908604281317294785582014188196300887298824145418914424641370324505598521238259627167025651548362492646956180914127820029041814804772362308048842694516796953627259411807413709110932146895770048868714712704310824210832082414670171898461948067199532287414467906387236889524372021754034804443500226508681598359964584297701533682593068414072672889953378400254187741739552463944050194230304724258179140489924435124441737359329876821600643672997250908659062818296138400081921019541133579778420099929645311287731340107785389224750077533887569229686447209999101479759983987767306848269807633899604704518467764913516928883222883219481015750186392752336753859570595725393657094338321999050054801322919918029941853533842218958174927929798361183428243547855814708939997747661621808897725238141778218982648077513299829859151563536335881788732258646753635120825408877665734597273019799126985351261927065473451 15303218012656575483954352188088963362606196679934808691405759289021281212078072886265640358250957966909800446633052083378747729393652899324817079513706994722951450419818010921920169340025619435632764830151387563912078922976128453463368277401390094792307768325768759173249975152212449014486021376697182894373317983791449659278309428761458082969050160694624360034140743629499991179797262240116673412670657680604521335316383260473705495465413069392882488439744805271431208627635862889572495816254205550782354397120577950387302542170874845164477600701559370901858800751429996532193266163465028547095774379645434921360654078094532799273083549446751798588047770867241055550385671256062421632909293372847339260347902550958526981457319703417829260207415426191518435369693782557734661973780926624657589436345057320088287104561078618462218164619475957519208172265691276184320963684864723052140774978963502329547498291457109210320154936106768430194082848558816568247766232472242261707668585548262948247154538205961016848945137307923479204751651549257796140095868610943198134890614172374146008420487623906373415001736479076998178130237015789606193974764624267769932570462856181750052904342396719844386651714392171238726966494161312355647693223591697322066499306274399696014627066299123081840482170290576695288785698214442033902611916464133744195312836184899817565001891353456385288767943701331918831159687306397226053105987737386224199385599940971221116056199306326212693859277819592293843395478116338127247579660460539226936466090277469244609036846018276048399493474817983155159496674578 24761126881727957653368492158407207398164554636215381644395015587970415829842577585205261753948086975004796383299142509538424670776974052271311636441241608565185736214966462801282964004479269158713354861771936392624965370307843164656564222091911913082528095082207204501860060000347343480063508872032482810157585433916097678629435677871948741331644721794209256403648037637587574580879191134672052689828502904570646734230961363355230767837937838394240499521097143725850323073009602867195561479281662022772209057778349506882657929160807342239506784734256167825348994788986015437688234396310378499760235622058472107403243206611712202305717287873308961360011798757127928789699929767942322541513574690142124842362090747259414280281465122332253901577739931790039673629320949583386210336273573580838503564165086361903091876923386667304912681416429584778619979679400387116467859454913591766853479289787713161629912961629007672268222135639055844661989235795706092619787986507046705207895094229861308211738835907494699442013551380596369158130051803445537879648332554993392365195338430553286498344922748348110774331613300677641851127487924448669012270903024349690952111596435960170152833987708007575726759499781395988804500381730542042094903222693177082050487073581247965822260965903827600308247083807505578511668917695457784089004668800887603765908561578556911903323890403511186611687861731273772365001906264572153982904348920814467747241414649911218863717821115223937932001056038574941920908777946197278811115996342327959195112843912590070017914511752873321419292601803334417086562148029 40064344894384533137322844346496170760770751316150190335800774876991697041920650471470902112199044941914596829932194592917172400170626951596128715954948603288137186634784473723203133344504888594346119691923323956537044293283971618119932499493302007874835863407975963675110035152559792494549530248729665704530903417707547337907745106633406824300694882488833616437788781267087565760676453374788726102499160585175168069547344623828936263303350907787122987960841948997281531700645465756768057295535867573554563454898927457269960471331682187403984385435815538727207795540416011969881500559775407046856010001703907028763897284706245001578800837320060759948059569624368984340085601024004744174422868062989464102709993298217941261738784825750083161785155357981558108999014732141120872310054500205496093000510143681991378981484465285767130846035905542297828151945091663300788823139778314818994254268751215491177411253086116882588377071745824274856072084354522660867554218979288966915563679778124256458893374113455716290958688688519848362881703352703334019744201165936590500085952602927432506765410372254484189333349779754640029257724940238275206245667648617460884682059292141920205738330104727420113411214173567227531466875891854397742596446284874404116986379855647661836888032202950682148729254098082273800454615909899817991616585265021347961221397763456729468325781756967571900455805432605691196161593570969380036010336658200691946627014590882439979774020421550150625860333858167235764304256062535406058695656802867186131578934190059314626951357771149369818786076621317572246058822607 64825471776112490790691336504903378158935305952365571980195790464962112871763228056676163866147131916919393213231337102455597070947601003867440352396190211853322922849750936524486097348984157753059474553695260349162009663591814782776496721585213920957363958490183168176970095152907135974613039120762148514688488851623645016537180784505355565632339604283042872841436818904675140341555644509460778792327663489745814803778305987184167031141288746181363487481939092723131854773655068623963618774817529596326772512677276964152618400492489529643491170170071706552556790329402027407569734956085785546616245623762379136167140491317957203884518125193369721308071368381496913129785530791947066715936442753131588945072084045477355542020249948082337063362895289771597782628335681724507082646328073786334596564675230043894470858407851953072043527452335127076448131624492050417256682594691906585847733558538928652807324214715124554856599207384880119518061320150228753487342205486335672123458774007985564670632210020950415732972240069116217521011755156148871899392533720929982865281291033480719005110333120602594963664963080432281880385212864686944218516570672967151836793655728102090358572317812734995840170713954963216335967257622396439837499668978051486167473453436895627659148998106778282456976337905587852312123533605357602080621254065908951727129959342013641371649672160478758512143667163879463561163499835541534018914685579015159693868429240793658843491841536774088557861389896742177685213034008732684869811653145195145326691778102649384644865869524022691238078678424651989332620970636 104889816670497023928014180851399548919706057268515762315996565341953809913683878528147065978346176858833990043163531695372769471118227955463569068351138815141460109484535410247689230693489046347405594245618584305699053956875786400896429221078515928832199821898159131852080130305466928469162569369491814219219392269331192354444925891138762389933034486771876489279225600171762706102232097884249504894826824074920982873325650611013103294444639653968486475442781041720413386474300534380731676070353397169881335967576204421422578871824171717047475555605887245279764585869818039377451235515861192593472255625466286164931037776024202205463318962513430481256130938005865897469871131815951810890359310816121053047782077343695296803759034773832420225148050647753155891627350413865627954956382573991830689565185373725885849839892317238839174373488240669374276283569583713718045505734470221404841987827290144143984735467801241437444976279130704394374133404504751414354896424465624639039022453786109821129525584134406132023930928757636065883893458508852205919136734886866573365367243636408151511875743492857079152998312860186921909642937804925219424762238321584612721475715020244010564310647917462415953581928128530443867434133514250837580096115262925890284459833292543289496037030309728964605705592003670126112578149515257420072237839330930299688351357105470370839975453917446330412599472596485154757325093406510914054925022237215851640495443831676098823265861958324239183721723754909413449517290071268090928507309948062331458270712292708699271817227295172061056864755045969561578679793243 169715288446609514718705517356302927078641363220881334296192355806915922785447106584823229844493308775753383256394868797828366542065828959331009420747329026994783032334286346772175328042473204100465068799313844654861063620467601183672925942663729849789563780388342300029050225458374064443775608490253962733907881120954837370982106675644117955565374091054919362120662419076437846443787742393710283687154487564666797677103956598197270325585928400149849962924720134443545241247955603004695294845170926766208108480253481385575197272316661246690966725775958951832321376199220066785020970471946978140088501249228665301098178267342159409347837087706800202564202306387362810599656662607898877606295753569252641992854161389172652345779284721914757288510945937524753674255686095590135037602710647778165286129860603769780320698300169191911217900940575796450724415194075764135302188329162127990689721385829072796792059682516365992301575486515584513892194724654980167842238629951960311162481227794095385800157794155356547756903168826752283404905213665001077818529268607796556230648534669888870516986076613459674116663275940619203790028150669612163643278808994551764558269370748346100922882965730197411793752642083493660203401391136647277417595784240977376451933286729438917155186028416507247062681929909257978424701683120615022152859093396839251415481316447484012211625126077925088924743139760364618318488593242052448073839707816231011334363873072469757666757703495098327741583113651651591134730324080000775798318963093257476784962490395358083916683096819194752294943433470621550911300763879 274605105117106538646719698207702475998347420489397096612188921148869732699130985112970295822839485634587373299558400493201136013184056914794578489098467842136243141818821757019864558735962250447870663044932428960560117577343387584569355163742245778621763602286501431881130355763840992912938177859745776953127273390286029725427032566782880345498408577826795851399888019248200552546019840277959788581981311639587780550429607209210373620030568054118336438367501176163958627722256137385426970915524323936089444447829685806997776144140832963738442281381846197112085962069038106162472205987808170733560756874694951466029216043366361614811156050220230683820333244393228708069527794423850688496655064385373695040636238732867949149538319495747177513658996585277909565883036509455762992559093221769995975695045977495666170538192486430750392274428816465825000698763659477853347694063632349395531709213119216940776795150317607429746551765646288908266328129159731582197135054417584950201503681580205206929683378289762679780834097584388349288798672173853283737666003494663129596015778306297022028861820106316753269661588800806125699671088474537383068041047316136377279745085768590111487193613647659827747334570212024104070835524650898114997691899503903266736393120021982206651223058726236211668387521912928104537279832635872442225096932727769551103832673552954383051600579995371419337342612356849773075813686648563362128764730053446862974859316904145856490023565453422566925304837406561004584247614151268866726826273041319808243233202688066783188500324114366813351808188516591112489980557122 444320393563716053365425215564005403076988783710278430908381276955785655484578091697793525667332794410340756555953269291029502555249885874125587909845796869131026174153108103792039886778435454548335731844246273615421181197810988768242281106405975628411327382674843731910180581222215057356713786349999739687035154511240867096409139242426998301063782668881715213520550438324638398989807582671670072269135799204254578227533563807407643945616496454268186401292221310607503868970211740390122265760695250702297552928083167192572973416457494210429409007157805148944407338268258172947493176459755148873649258123923616767127394310708521024158993137927030886384535550780591518669184457031749566102950817954626337033490400122040601495317604217661934802169942522802663240138722605045898030161803869548161261824906581265446491236492655622661610175369392262275725113957735241988649882392794477386221430598948289737568854832833973422048127252161873422158522853814711750039373684369545261363984909374300592729841172445119227537737266411140632693703885838854361556195272102459685826664312976185892545847896719776427386324864741425329489699239144149546711319856310688141838014456516936212410076579377857239541087212295517764274236915787545392415287683744880643188326406751421123806409087142743458731069451822186082961981515756487464377956026124608802519313990000438395263225706073296508262085752117214391394302279890615810202604437869677874309223189976615614156781268948520894666887951058212595718977938231269642525145236134577285028195693083424867105183420933561565646751621987212663401281321001 718925498680822592012144913771707879075336204199675527520570198104655388183709076810763821490172280044928129855511669784230638568433942788920166398944264711267269315971929860811904445514397704996206394889178702575981298775154376352811636270148221407033090984961345163791310936986056050269651964209745516640162427901526896821836171809209878646562191246708511064920438457572838951535827422949629860851117110843842358777963171016618017565647064508386522839659722486771462496692467877775549236676219574638386997375912852999570749560598327174167851288539651346056493300337296279109965382447563319607210014998618568233156610354074882638970149188147261570204868795173820226738712251455600254599605882340000032074126638854908550644855923713409112315828939108080572806021759114501661022720897091318157237519952558761112661774685142053412002449798208728100725812721394719841997576456426826781753139812067506678345649983151580851794679017808162330424850982974443332236508738787130211565488590954505799659524550734881907318571363995528981982502558012707645293861275597122815422680091282482914574709716826093180655986453542231455189370327618686929779360903626824519117759542285526323897270193025517067288421782507541868345072440438443507412979583248783909924719526773403330457632145868979670399456973735114187499261348392359906603052958852378353623146663553392778314826286068667927599428364474064164470115966539179172331369167923124737284082506880761470646804834401943461592192788464773600303225552382538509251971509175897093271428895771491650293683745047928378998559810503803775891261878123 1163245892244538645377570129335713282152324987909953958428951475060441043668287168508557347157505074455268886411464939075260141123683828663045754308790061580398295490125037964603944332292833159544542126733424976191402479972965365121053917376554197035444418367636188895701491518208271107626365750559745256327197582412767763918245311051636876947625973915590226278440988895897477350525635005621299933120252910048096937005496734824025661511263560962654709240951943797378966365662679618165671502436914825340684550303996020192143722977055821384597260295697456495000900638605554452057458558907318468480859273122542185000284004664783403663129142326074292456589404345954411745407896708487349820702556700294626369107617038976949152140173527931071047117998881630883236046160481719547559052882700960866318499344859140026559153011177797676073612625167600990376450926679129961830647458849221304167974570411015796415914504815985554273842806269970035752583373836789155082275882423156675472929473500328806392389365723180001134856308630406669614676206443851562006850056547699582501249344404258668807120557613545869608042311318283656784679069566762836476490680759937512660955773998802462536307346772403374306829508994803059632619309356225988899828267266993664553113045933524824454264041233011723129130526425557300270461242864148847370981008984976987156142460653553831173578051992141964435861514116591278555864418246429794982533973605792802611593305696857377084803586103350464356259080739522986196022203490613808151777116745310474378299624588854916517398867165981489944645311432491016439292543199124 1882171390925361237389715043107421161227661192109629485949521673165096431851996245319321168647677354500197016266976608859490779692117771451965920707734326291665564806096967825415848777807230864540748521622603678767383778748119741473865553646702418442477509352597534059492802455194327157896017714769490772967360010314294660740081482860846755594188165162298737343361427353470316302061462428570929793971370020891939295783459905840643679076910625471041232080611666284150428862355147495941220739113134399979071547679908873191714472537654148558765111584237107841057393938942850731167423941354881788088069288121160753233440615018858286302099291514221554026794273141128231972146608959942950075302162582634626401181743677831857702785029451644480159433827820738963808852182240834049220075603598052184475736864811698787671814785862939729485615074965809718477176739400524681672645035305648130949727710223083303094260154799137135125637485287778198083008224819763598414512391161943805684494962091283312192048890273914883042174879994402198596658709001864269652143917823296705316672024495541151721695267330371962788698297771825888239868439894381523406270041663564337180073533541087988860204616965428891374117930777310601500964381796664432407241246850242448463037765460298227784721673378880702799529983399292414457960504212541207277584061943829365509765607317107223951892878278210632363460942481065342720334534212968974154865342773715927348877388203738138555450390937752407817851273527987759796325429042996346661029088254486371471571053484626408167692550911029418323643871242994820215183805077247 3045417283169899882767285172443134443379986180019583444378473148225537475520283413827878515805182428955465902678441547934750920815801600115011675016524387872063860296222005790019793110100064024085290648356028654958786258721085106594919471023256615477921927720233722955194293973402598265522383465329236029294557592727062424658326793912483632541814139077888963621802416249367793652587097434192229727091622930940036232788956640664669340588174186433695941321563610081529395228017827114106892241550049225319756097983904893383858195514709969943362371879934564336058294577548405183224882500262200256568928561243702938233724619683641689965228433840295846483383677487082643717554505668430299896004719282929252770289360716808806854925202979575551206551826702369847044898342722553596779128486299013050794236209670838814230967797040737405559227700133410708853627666079654643503292494154869435117702280634099099510174659615122689399480291557748233835591598656552753496788273585100481157424435591612118584438255997094884177031188624808868211334915445715831658993974370996287817921368899799820528815824943917832396740609090109545024547509461144359882760722423501849841029307539890451396511963737832265680947439772113661133583691152890421307069514117236113016150811393823052238985714611892425928660509824849714728421747076690054648565070928806352665908067970661055125470930270352596799322456597656621276198952459398769137399316379508729960470693900595515640253977041102872174110354267510745992347632533610154812806204999796845849870678073481324685091418077010908268289182675485836654476348276371 4927588674095261120157000215550555604607647372129212930327994821390633907372279659147199684452859783455662918945418156794241700507919371566977595724258714163729425102318973615435641887907294888626039169978632333726170037469204848068785024669959033920399437072831257014687096428596925423418401180098726802261917603041357085398408276773330388136002304240187700965163843602838109954648559862763159521062992951831975528572416546505313019665084811904737173402175276365679824090372974610048112980663183625298827645663813766575572668052364118502127483464171672177115688516491255914392306441617082044656997849364863691467165234702499976267327725354517400510177950628210875689701114628373249971306881865563879171471104394640664557710232431220031365985654523108810853750524963387645999204089897065235269973074482537601902782582903677135044842775099220427330804405480179325175937529460517566067429990857182402604434814414259824525117776845526431918599823476316351911300664747044286841919397682895430776487146271009767219206068619211066807993624447580101311137892194292993134593393395340972250511092274289795185438906861935433264415949355525883289030764087066187021102841080978440256716580703261157055065370549424262634548072949554853714310760967478561479188576854121280023707387990773128728190493224142129186382251289231261926149132872635718175673675287768279077363808548563229162783399078721963996533486672367743292264659153224657309348082104333654195704367978855279991961627795498505788673061576606501473835293254283217321441731558107732852783968988040326591933053918480656869660153353618 7973005957265161002924285387993690047987633552148796374706467969616171382892563072975078200258042212411128821623859704728992621323720971681989270740783102035793285398540979405455434998007358912711329818334660988684956296190289954663704495693215649398321364793064979969881390401999523688940784645427962831556475195768419510056735070685814020677816443318076664586966259852205903607235657296955389248154615882772011761361373187169982360253258998338433114723738886447209219318390801724155005222213232850618583743647718659959430863567074088445489855344106236513173983094039661097617188941879282301225926410608566629700889854386141666232556159194813246993561628115293519407255620296803549867311601148493131941760465111449471412635435410795582572537481225478657898648867685941242778332576196078286064209284153376416133750379944414540604070475232631136184432071559833968679230023615387001185132271491281502114609474029382513924598068403274665754191422132869105408088938332144767999343833274507549360925402268104651396237257244019935019328539893295932970131866565289280952514762295140792779326917218207627582179515952044978288963458816670243171791486510568036862132148620868891653228544441093422736012810321537923768131764102445275021380275084714674495339388247944332262693102602665554656851003048991843914803998365921316574714203801442070841581743258429334202834738818915825962105855676378585272732439131766512429663975532733387269818776004929169835958345019958152166071982063009251781020694110216656286641498254080063171312409631589057537875387065051234860222236593966493524136501629989 12900594631360422123081285603544245652595280924278009305034462791006805290264842732122277884710901995866791740569277861523234321831640343248966866465041816199522710500859953020891076885914653801337368988313293322411126333659494802732489520363174683318720801865896236984568486830596449112359185825526689633818392798809776595455143347459144408813818747558264365552130103455044013561884217159718548769217608834603987289933789733675295379918343810243170288125914162812889043408763776334203118202876416475917411389311532426535003531619438206947617338808277908690289671610530917012009495383496364345882924259973430321168055089088641642499883884549330647503739578743504395096956734925176799838618483014057011113231569506090135970345667842015613938523135748587468752399392649328888777536666093143521334182358635914018036532962848091675648913250331851563515236477040013293855167553075904567252562262348463904719044288443642338449715845248801097672791245609185457319389603079189054841263230957402980137412548539114418615443325863231001827322164340876034281269758759582274087108155690481765029838009492497422767618422813980411553379408172196126460822250597634223883234989701847331909945125144354579791078180870962186402679837052000128735691036052193235974527965102065612286400490593438683385041496273133973101186249655152578500863336674077789017255418546197613280198547367479055124889254755100549269265925804134255721928634685958044579166858109262824031662712998813432158033609858507757569693755686823157760476791508363280492754141189696790390659356053091561452155290512447150393796654983607 20873600588625583126005570991537935700582914476426805679740930760622976673157405805097356084968944208277920562193137566252226943155361314930956137205824918235315995899400932426346511883922012714048698806647954311096082629849784757396194016056390332717042166658961216954449877232595972801299970470954652465374867994578196105511878418144958429491635190876341030139096363307249917169119874456673938017372224717375999051295162920845277740171602808581603402849653049260098262727154578058358123425089649326535995132959251086494434395186512295393107194152384145203463654704570578109626684325375646647108850670581996950868944943474783308732440043744143894497301206858797914504212355221980349705930084162550143054992034617539607382981103252811196511060616974066126651048260335270131555869242289221807398391642789290434170283342792506216252983725564482699699668548599847262534397576691291568437694533839745406833653762473024852374313913652075763426982667742054562727478541411333822840607064231910529498337950807219070011680583107250936846650704234171967251401625324871555039622917985622557809164926710705050349797938766025389842342866988866369632613737108202260745367138322716223563173669585448002527090991192500110170811601154445403757071311136907910469867353350009944549093593196104238041892499322125817015990248021073895075577540475519859858837161804626947483033286186394881086995110431479134541998364935900768151592610218691431848985634114191993867621058018771584324105591921517009350714449797039814047118289762443343664066550821285847928534743118142796312377527106413643917933156613596 33774195219986005249086856595082181353178195400704814984775393551629781963422248537219633969679846204144712302762415427775461264987001658179923003670866734434838706400260885447237588769836666515386067794961247633507208963509279560128683536419565016035762968524857453939018364063192421913659156296481342099193260793387972700967021765604102838305453938434605395691226466762293930731004091616392486786589833551979986341228952654520573120089946618824773690975567212072987306135918354392561241627966065802453406522270783513029437926805950502340724532960662053893753326315101495121636179708872010992991774930555427272037000032563424951232323928293474542001040785602302309601169090147157149544548567176607154168223604123629743353326771094826810449583752722653595403447652984599020333405908382365328732574001425204452206816305640597891901896975896334263214905025639860556389565129767196135690256796188209311552698050916667190824029758900876861099773913351240020046868144490522877681870295189313509635750499346333488627123908970481938673972868575048001532671384084453829126731073676104322839002936203202473117416361580005801395722275161062496093435987705836484628602128024563555473118794729802582318169172063462296573491438206445532492762347189101146444395318452075556835494083789542921426933995595259790117176497676226473576440877149597648876092580350824560763231833553873936211884365186579683811264290740035023873521244904649476428152492223454817899283771017585016482139201780024766920408205483862971807595081270806624156820692010982638319194099171234357764532817618860794311729811597203 54647795808611588375092427586620117053761109877131620664516324312252758636579654342316990054648790412422632864955552994027688208142362973110879140876691652670154702299661817873584100653758679229434766601609201944603291593359064317524877552475955348752805135183818670893468241295788394714959126767435994564568128787966168806478900183749061267797089129310946425830322830069543847900123966073066424803962058269355985392524115575365850860261549427406377093825220261333085568863072932450919365053055715128989401655230034599523872321992462797733831727113046199097216981019672073231262864034247657640100625601137424222905944976038208259964763972037618436498341992461100224105381445369137499250478651339157297223215638741169350736307874347638006960644369696719722054495913319869151889275150671587136130965644214494886377099648433104108154880701460816962914573574239707818923962706458487704127951330027954718386351813389692043198343672552952624526756581093294582774346685901856700522477359421224039134088450153552558638804492077732875520623572809219968784073009409325384166353991661726880648167862913907523467214300346031191238065142149928865726049724814038745373969266347279779036292464315250584845260163255962406744303039360890936249833658326009056914262671802085501384587676985647159468826494917385607133166745697300368652018417625117508734929742155451508246265119740268817298879475618058818353262655675935792025113855123340908277138126337646811766904829036356600806244793701541776271122655280902785854713371033249967820887242832268486247728842289377154076910344725274438229662968210799 88421991028597593624179284181702298406939305277836435649291717863882540600001902879536624024328636616567345167717968421803149473129364631290802144547558387104993408699922703320821689423595345744820834396570449578110500556868343877653561088895520364788568103708676124832486605358980816628618283063917336663761389581354141507445921949353164106102543067745551821521549296831837778631128057689458911590551891821335971733753068229886423980351496046231150784800787473406072874998991286843480606681021780931442808177500818112553310248798413300074556260073708252990970307334773568352899043743119668633092400531692851494942945008601633211197087900331092978499382778063402533706550535516294648795027218515764451391439242864799094089634645442464817410228122419373317457943566304468172222681059053952464863539645639699338583915954073702000056777677357151226129478599879568375313527836225683839818208126216164029939049864306359234022373431453829485626530494444534602821214830392379578204347654610537548769838949499886047265928401048214814194596441384267970316744393493779213293085065337831203487170799117109996584630661926036992633787417310991361819485712519875230002571394371843334509411259045053167163429335319424703317794477567336468742596005515110203358657990254161058220081760775190080895760490512645397250343243373526842228459294774715157611022322506276069009496953294142753510763840804638502164526946415970815898635100027990384705290618561101629666188600053941617288383995481566543191530860764765757662308452304056591977707934843251124566922941460611511841443162344135232541392779808002 143069786837209181999271711768322415460700415154968056313808042176135299236581557221853614078977427028989978032673521415830837681271727604401681285424250039775148110999584521194405790077354024974255600998179651522713792150227408195178438641371475713541373238892494795725954846654769211343577409831353331228329518369320310313924822133102225373899632197056498247351872126901381626531252023762525336394513950090691957126277183805252274840613045473637527878626007734739158443862064219294399971734077496060432209832730852712077182570790876097808387987186754452088187288354445641584161907777367326273193026132830275717848889984639841471161851872368711414997724770524502757811931980885432148045505869854921748614654881605968444825942519790102824370872492116093039512439479624337324111956209725539600994505289854194224961015602506806108211658378817968189044052174119276194237490542684171543946159456244118748325401677696051277220717104006782110153287075537829185595561516294236278726825014031761587903927399653438605904732893125947689715220014193487939100817402903104597459439056999558084135338662031017520051844962272068183871852559460920227545535437333913975376540660719123113545703723360303752008689498575387110062097516928227404992429663841119260272920662056246559604669437760837240364586985430031004383509989070827210880477712399832666345952064661727577255762073034411570809643316422697320517789602091906607923748955151331292982428744898748441433093429090298218094628789183108319462653516045668543517021823337306559798595177675519610814651783749988665918353507069409670771055748018801 231491777865806775623450995950024713867639720432804491963099760040017839836583460101390238103306063645557323200391489837633987154401092235692483429971808426880141519699507224515227479500949370719076435394750101100824292707095752072831999730266996078329941342601170920558441452013750027972195692895270667892090907950674451821370744082455389480002175264802050068873421423733219405162380081451984247985065841912027928860030252035138698820964541519868678663426795208145231318861055506137880578415099276991875018010231670824630492819589289397882944247260462705079157595689219209937060951520486994906285426664523127212791834993241474682358939772699804393497107548587905291518482516401726796840533088370686200006094124470767538915577165232567641781100614535466356970383045928805496334637268779492065858044935493893563544931556580508108268436056175119415173530773998844569551018378909855383764367582460282778264451542002410511243090535460611595779817569982363788416776346686615856931172668642299136673766349153324653170661294174162503909816455577755909417561796396883810752524122337389287622509461148127516636475624198105176505639976771911589365021149853789205379112055090966448055114982405356919172118833894811813379891994495563873735025669356229463631578652310407617824751198536027321260347475942676401633853232444354053108937007174547823956974387168003646265259026328554324320407157227335822682316548507877423822384055179321677687719363459850071099282029144239835383012784664674862654184376810434301179330275641363151776303112518770735381574725210600177759796669413544903312448527826803 374561564703015957622722707718347129328340135587772548276907802216153139073165017323243852182283490674547301233065011253464824835672819840094164715396058466655289630699091745709633269578303395693332036392929752623538084857323160268010438371638471791871314581493665716284396298668519239315773102726623999120420426319994762135295566215557614853901807461858548316225293550634601031693632105214509584379579792002719885986307435840390973661577586993506206542052802942884389762723119725432280550149176773052307227842962523536707675390380165495691332234447217157167344884043664851521222859297854321179478452797353402930640724977881316153520791645068515808494832319112408049330414497287158944886038958225607948620749006076735983741519685022670466151973106651559396482822525553142820446593478505031666852550225348087788505947159087314216480094434993087604217582948118120763788508921594026927710527038704401526589853219698461788463807639467393705933104645520192974012337862980852135657997682674060724577693748806763259075394187300110193625036469771243848518379199299988408211963179336947371757848123179145036688320586470173360377492536232831816910556587187703180755652715810089561600818705765660671180808332470198923441989511423791278727455333197348723904499314366654177429420636296864561624934461372707406017363221515181263989414719574380490302926451829731223521021099362965895130050473650033143200106150599784031746133010330652970670148108358598512532375458234538053477641573847783182116837892856102844696352098978669711574898290194290346196226508960588843678150176482954574083504275845604 606053342568822733246173703668371843195979856020577040240007562256170978909748477424634090285589554320104624433456501091098811990073912075786648145367866893535431150398598970224860749079252766412408471787679853724362377564418912340842438101905467870201255924094836636842837750682269267287968795621894667012511334270669213956666310298013004333903982726660598385098714974367820436856012186666493832364645633914747814846337687875529672482542128513374885205479598151029621081584175231570161128564276050044182245853194194361338168209969454893574276481707679862246502479732884061458283810818341316085763879461876530143432559971122790835879731417768320201991939867700313340848897013688885741726572046596294148626843130547503522657096850255238107933073721187025753453205571481948316781230747284523732710595160841981352050878715667822324748530491168207019391113722116965333339527300503882311474894621164684304854304761700872299706898174928005301712922215502556762429114209667467992589170351316359861251460097960087912246055481474272697534852925348999757935940995696872218964487301674336659380357584327272553324796210668278536883132513004743406275577737041492386134764770901056009655933688171017590352927166365010736821881505919355152462481002553578187536077966677061795254171834832891882885281937315383807651216453959535317098351726748928314259900838997734869786280125691520219450457630877368965882422699107661455568517065509974648357867471818448583631657487378777888860654358512458044771022269666537145875682374620032863351201402713061081577801234171189021437946845896499477395952803672407 980614907271838690868896411386718972524319991608349588516915364472324117982913494747877942467873044994651925666521512344563636825746731915880812860763925360190720781097690715934494018657556162105740508180609606347900462421742072608852876473543939662072570505588502353127234049350788506603741898348518666132931760590663976091961876513570619187805790188519146701324008525002421468549644291881003416744225425917467700832645123715920646144119715506881091747532401093914010844307294957002441678713452823096489473696156717898045843600349620389265608716154897019413847363776548912979506670116195637265242332259229933074073284949004106989400523062836836010486772186812721390179311510976044686612611004821902097247592136624239506398616535277908574085046827838585149936028097035091137227824225789555399563145386190069140556825874755136541228624926161294623608696670235086097128036222097909239185421659869085831444157981399334088170705814395399007646026861022749736441452072648320128247168033990420585829153846766851171321449668774382891159889395120243606454320194996860627176450481011284031138205707506417590013116797138451897260625049237575223186134324229195566890417486711145571256752393936678261533735498835209660263871017343146431189936335750926911440577281043715972683592471129756444510216398688091213668579675474716581087766446323308804562827290827466093307301225054486114580508104527402109082528849707445487314650075840627619028015580177047096164032945613315942338295932360241226887860162522639990572034473598702574926099692907351427774027743131777865116097022379454051479457079518011 1586668249840661424115070115055090815720299847628926628756922926728495096892661972172512032753462599314756550099978013435662448815820643991667461006131792253726151931496289686159354767736808928518148979968289460072262839986160984949695314575449407532273826429683338989970071800033057773891710693970413333145443094861333190048628186811583623521709772915179745086422723499370241905405656478547497249108871059832215515678982811591450318626661844020255976953011999244943631925891470188572602807277728873140671719549350912259384011810319075282839885197862576881660349843509432974437790480934536953351006211721106463217505844920126897825280254480605156212478712054513034731028208524664930428339183051418196245874435267171743029055713385533146682018120549025610903389233668517039454009054973074079132273740547032050492607704590422958865977155417329501642999810392352051430467563522601791550660316281033770136298462743100206387877603989323404309358949076525306498870566282315788120836338385306780447080613944726939083567505150248655588694742320469243364390261190693732846140937782685620690518563291833690143337913007806730434143757562242318629461712061270687953025182257612201580912686082107695851886662665200220397085752523262501583652417338304505098976655247720777767937764305962648327395498336003475021319796129434251898186118173072237118822728129825200963093581350746006334030965735404771074964951548815106942883167141350602267385883051995495679795690432992093831198950290872699271658882432189177136447716848218735438277301095620412509351828977302966886554043868275953528875409883190418 2567283157112500114983966526441809788244619839237276217273838291200819214875575466920389975221335644309408475766499525780226085641567375907548273866895717613916872712593980402093848786394365090623889488148899066420163302407903057558548191048993347194346396935271841343097305849383846280495452592318931999278374855451997166140590063325154242709515563103698891787746732024372663373955300770428500665853096485749683216511627935307370964770781559527137068700544400338857642770198765145575044485991181696237161193245507630157429855410668695672105493914017473901074197207285981887417297151050732590616248543980336396291579129869131004814680777543441992222965484241325756121207520035640975114951794056240098343122027403795982535454329920811055256103167376864196053325261765552130591236879198863634531836885933222119633164530465178095407205780343490796266608507062587137527595599744699700789845737940902855967742620724499540476048309803718803317004975937548056235312018354964108249083506419297201032909767791493790254888954819023038479854631715589486970844581385690593473317388263696904721656768999340107733351029804945182331404382611479893852647846385499883519915599744323347152169438476044374113420398164035430057349623540605648014842353674055432010417232528764493740621356777092404771905714734691566234988375804908968479273884619395545923385555420652667056400882575800492448611473839932173184047480398522552430197817217191229886413898632172542775959723378605409773537246223232940498546742594711817127019751321817438013203400788527763937125856720434744751670140890655407580354866962708429 4153951406953161539099036641496900603964919686866202846030761217929314311768237439092902007974798243624165025866477539215888534457388019899215734873027509867643024644090270088253203554131174019142038468117188526492426142394064042508243505624442754726620223364955180333067377649416904054387163286289345332423817950313330356189218250136737866231225336018878636874169455523742905279360957248975997914961967545581898732190610746898821283397443403547393045653556399583801274696090235334147647293268910569377832912794858542416813867220987770954945379111880050782734547050795414861855087631985269543967254755701442859509084974789257902639961032024047148435444196295838790852235728560305905543290977107658294588996462670967725564510043306344201938121287925889806956714495434069170045245934171937713664110626480254170125772235055601054273182935760820297909608317454939188958063163267301492340506054221936626104041083467599746863925913793042207626363925014073362734182584637279896369919844804603981479990381736220729338456459969271694068549374036058730335234842576384326319458326046382525412175332291173797876688942812751912765548140173722212482109558446770571472940782001935548733082124558152069965307060829235650454435376063868149598494771012359937109393887776485271508559121083055053099301213070695041256308171934343220377460002792467783042208283550477868019494463926546498782642439575336944259012431947337659373080984358541832153799781684168038455755413811597503604736196514105639770205625026900994263467468170036173451480701884148176446477685697737711638224184758931361109230276845898847 6721234564065661654083003167938710392209539526103479063304599509130133526643812906013291983196133887933573501632977064996114620098955395806764008739923227481559897356684250490347052340525539109765927956266087592912589444801967100066791696673436101920966620300227021676164683498800750334882615878608277331702192805765327522329808313461892108940740899122577528661916187548115568653316258019404498580815064031331581948702238682206192248168224963074530114354100799922658917466289000479722691779260092265614994106040366172574243722631656466627050873025897524683808744258081396749272384783036002134583503299681779255800664104658388907454641809567489140658409680537164546973443248595946880658242771163898392932118490074763708099964373227155257194224455302754003010039757199621300636482813370801348195947512413476289758936765520779149680388716104311094176216824517526326485658763012001193130351792162839482071783704192099287339974223596761010943368900951621418969494602992244004619003351223901182512900149527714519593345414788294732548404005751648217306079423962074919792775714310079430133832101290513905610039972617697095096952522785202106334757404832270454992856381746258895885251563034196444078727458993271080511784999604473797613337124686415369119811120305249765249180477860147457871206927805386607491296547739252188856733887411863328965593838971130535075895346502346991231253913415269117443059912345860211803278801575733062040213680316340581231715137190202913378273442737338580268752367621612811390487219491853611464684102672675940383603542418172456389894325649586768689585143808607276 10875185971018823193182039809435610996174459212969681909335360727059447838412050345106193991170932131557738527499454604212003154556343415705979743612950737349202922000774520578600255894656713128907966424383276119405015587196031142575035202297878856647586843665182202009232061148217654389269779164897622664126010756078657878519026563598629975171966235141456165536085643071858473932677215268380496495777031576913480680892849429105013531565668366621923160007657199506460192162379235813870339072529002834992827018835224714991057589852644237581996252137777575466543291308876811611127472415021271678550758055383222115309749079447646810094602841591536289093853876833003337825678977156252786201533748271556687521114952745731433664474416533499459132345743228643809966754252633690470681728747542739061860058138893730459884709000576380203953571651865131392085825141972465515443721926279302685470857846384776108175824787659699034203900137389803218569732825965694781703677187629523900988923196028505163992890531263935248931801874757566426616953379787706947641314266538459246112234040356461955546007433581687703486728915430449007862500662958924318816866963279041026465797163748194444618333687592348514044034519822506730966220375668341947211831895698775306229205008081735036757739598943202510970508140876081648747604719673595409234193890204331112007802122521608403095389810428893490013896352990606061702072344293197871176359785934274894194013462000508619687470551001800416983009639251444220038957992648513805653954687661889784916164804556824116830081228115910168028118510408518129798815420654506123 17596420535084484847265042977374321388383998739073160972639960236189581365055863251119485974367066019491312029132431669208117774655298811512743752352873964830762819357458771068947308235182252238673894380649363712317605031997998242641826898971314958568553463965409223685396744647018404724152395043505899995828203561843985400848834877060522084112707134264033694198001830619974042585993473287784995076592095608245062629595088111311205779733893329696453274361757999429119109628668236293593030851789095100607821124875590887565301312484300704209047125163675100150352035566958208360399857198057273813134261355065001371110413184106035717549244651159025429752263557370167884799122225752199666859776519435455080453233442820495141764438789760654716326570198531397812976794009833311771318211560913540410056005651307206749643645766097159353633960367969442486262041966489991841929380689291303878601209638547615590247608491851798321543874360986564229513101726917316200673171790621767905607926547252406346505790680791649768525147289545861159165357385539355164947393690500534165905009754666541385679839534872201609096768888048146102959453185744126425151624368111311481458653545494453340503585250626544958122761978815777811478005375272815744825169020385190675349016128386984802006920076803349968841715068681468256238901267412847598090927777616194440973395961492738938171285156931240481245150266405875179145132256639058082979638587510007956234227142316849200919185688192003330361283081988782800307710360270126617044441907153743396380848907229500057213684770534082624418012836058104898488400564463113399 28471606506103308040447082786809932384558457952042842881975320963249029203467913596225679965537998151049050556631886273420120929211642227218723495965824702179965741358233291647547564129838965367581860805032639831722620619194029385216862101269193815216140307630591425694628805795236059113422174208403522659954214317922643279367861440659152059284673369405489859734087473691832516518670688556165491572369127185158543310487937540416219311299561696318376434369415198935579301791047472107463369924318097935600648143710815602556358902336944941791043377301452675616895326875835019971527329613078545491685019410448223486420162263553682527643847492750561718846117434203171222624801202908452453061310267707011767974348395566226575428913206294154175458915941760041622943548262467002241999940308456279471916063790200937209528354766673539557587532019834573878347867108462457357373102615570606564072067484932391698423433279511497355747774498376367448082834552883010982376848978251291806596849743280911510498681212055585017456949164303427585782310765327062112588707957038993412017243795023003341225846968453889312583497803478595110821953848703050743968491331390352507924450709242647785121918938218893472166796498638284542444225750941157692037000916083965981578221136468719838764659675746552479812223209557549904986505987086443007325121667820525552981198084014347341266674967360133971259046619396481240847204600932255954155998373444282850428240604317357820606656239193803747344292721240227020346668352918640422698396594815633181297013711786324174043765998649992792446131346466623028287215985117619522 46068027041187792887712125764184253772942456691116003854615281199438610568523776847345165939905064170540362585764317942628238703866941038731467248318698667010728560715692062716494872365021217606255755185682003544040225651192027627858689000240508773784693771596000649380025550442254463837574569251909422655782417879766628680216696317719674143397380503669523553932089304311806559104664161843950486648961222793403605940083025651727425091033455026014829708731173198364698411419715708401056400776107193036208469268586406490121660214821245646000090502465127775767247362442793228331927186811135819304819280765513224857530575447659718245193092143909587148598380991573339107423923428660652119921086787142466848427581838386721717193351996054808891785486140291439435920342272300314013318151869369819881972069441508143959172000532770698911221492387804016364609909074952449199302483304861910442673277123480007288671041771363295677291648859362931677595936279800327183050020768873059712204776290533317857004471892847234785982096453849288744947668150866417277536101647539527577922253549689544726905686503326090921680266691526741213781407034447177169120115699501663989383104254737101125625504188845438430289558477454062353922231126213973436862169936469156656927237264855704640771579752549902448653938278239018161225407254499290605416049445436719993954594045507086279437960124291374452504196885802356419992336857571314037135636960954290806662467746634207021525841927385807077705575803229009820654378713188767039742838501969376577677862619015824231257450769184075416864144182524727926775616549580732921 74539633547291100928159208550994186157500914643158846736590602162687639771991690443570845905443062321589413142396204216048359633078583265950190744284523369190694302073925354364042436494860182973837615990714643375762846270386057013075551101509702589000834079226592075074654356237490522950996743460312945315736632197689271959584557758378826202682053873075013413666176778003639075623334850400115978221330349978562149250570963192143644402333016722333206143100588397300277713210763180508519770700425290971809117412297222092678019117158190587791133879766580451384142689318628248303454516424214364796504300175961448343950737711213400772836939636660148867444498425776510330048724631569104572982397054849478616401930233952948292622265202348963067244402082051481058863890534767316255318092177826099353888133231709081168700355299444238468809024407638590242957776183414906556675585920432517006745344608412398987094475050874793033039423357739299125678770832683338165426869747124351518801626033814229367503153104902819803439045618152716330729978916193479390124809604578520989939497344712548068131533471779980234263764495005336324603360883150227913088607030892016497307554963979748910747423127064331902456354976092346896366456877155131128899170852553122638505458401324424479536239428296454928466161487796568066211913241585733612741171113257245546935792129521433620704635091651508423763243505198837660839541458503569991291635334398573657090708350951564842132498166579610825049868524469236841001047066107407462441235096785009758974876330802148405301216767834068209310275528991350955062832534698352443 120607660588478893815871334315178439930443371334274850591205883362126250340515467290916011845348126492129775728160522158676598336945524304681657992603222036201422862789617417080537308859881400580093371176396646919803071921578084640934240101750211362785527850822592724454679906679744986788571312712222367971519050077455900639801254076098500346079434376744536967598266082315445634727999012244066464870291572771965755190653988843871069493366471748348035851831761595664976124630478888909576171476532484008017586680883628582799679331979436233791224382231708227151390051761421476635381703235350184101323580941474673201481313158873119018030031780569736016042879417349849437472648060229756692903483841991945464829512072339670009815617198403771959029888222342920494784232807067630268636244047195919235860202673217225127872355832214937380030516795442606607567685258367355755978069225294427449418621731892406275765516822238088710331072217102230803274707112483665348476890515997411231006402324347547224507624997750054589421142072002005075677647067059896667660911252118048567861750894402092795037219975106071155944031186532077538384767917597405082208722730393680486690659218716850036372927315909770332745913453546409250288688003369104565761340789022279295432695666180129120307819180846357377120099766035586227437320496085024218157220558693965540890386175028519900142595215942882876267440391001194080831878316074884028427272295352864463753176097585771863658340093965417902755444327698246661655425779296174502184073598754386336652738949817972636558667537018143626174419711516078881838449084279085364 195147294135769994744030542866172626087944285977433697327796485524813890112507157734486857750791188813719188870556726374724957970024107570631848736887745405392117164863542771444579745354741583553930987167111290295565918191964141654009791203259913951786361930049184799529334262917235509739568056172535313287255682275145172599385811834477326548761488249819550381264442860319084710351333862644182443091621922750527904441224952036014713895699488470681241994932349992965253837841242069418095942176957774979826704093180850675477698449137626821582358261998288678535532741080049724938836219659564548897827881117436121545432050870086519790866971417229884883487377843126359767521372691798861265885880896841424081231442306292618302437882400752735026274290304394401553648123341834946523954336225022018589748335904926306296572711131659175848839541203081196850525461441782262312653655145726944456163966340304805262859991873112881743370495574841529928953477945167003513903760263121762749808028358161776592010778102652874392860187690154721406407625983253376057785720856696569557801248239114640863168753446886051390207795681537413862988128800747632995297329761285696983998214182696598947120350442974102235202268429638756146655144880524235694660511641575401933938154067504553599844058609142812305586261253832154293649233737670757830898391671951211087826178304549953520847230307594391300030683896200031741671419774578454019718907629751438120843884448537336705790838260545028727805312852167483502656472845403581964625308695539396095627615280620121041859884304852211835484695240507429836901281618977437807 315754954724248888559901877181351066018387657311708547919002368886940140453022625025402869596139315305848964598717248533401556306969631875313506729490967441593540027653160188525117054214622984134024358343507937215368990113542226294944031305010125314571889780871777523984014169596980496528139368884757681258774732352601073239187065910575826894840922626564087348862708942634530345079332874888248907961913495522493659631878940879885783389065960219029277846764111588630229962471720958327672113653490258987844290774064479258277377781117063055373582644229996905686922792841471201574217922894914732999151462058910794746913364028959638808897003197799620899530257260476209204994020752028617958789364738833369546060954378632288312253499599156506985304178526737322048432356148902576792590580272217937825608538578143531424445066963874113228870057998523803458093146700149618068631724371021371905582588072197211538625508695350970453701567791943760732228185057650668862380650779119173980814430682509323816518403100402928982281329762156726482085273050313272725446632108814618125662999133516733658205973421992122546151826868069491401372896718345038077506052491679377470688873401413448983493277758883872567948181883185165396943832883893340260421852430597681229370849733684682720151877789989169682706361019867740521086554233755782049055612230645176628716564479578473420989825523537274176298124287201225822503298090653338048146179925104302584597060546123108569449178354510446630560757179865730164311898624699756466809382294293782432280354230438093678418551841870355461659114952023508718739730703256523171 510902248860018883303932420047523692106331943289142245246798854411754030565529782759889727346930504119568153469273974908126514276993739445945355466378712846985657192516702959969696799569364567687955345510619227510934908305506367948953822508270039266358251710920962323513348432514216006267707425057292994546030414627746245838572877745053153443602410876383637730127151802953615055430666737532431351053535418273021564073103892915900497284765448689710519841696461581595483800312963027745768055830448033967670994867245329933755076230254689876955940906228285584222455533921520926513054142554479281896979343176346916292345414899046158599763974615029505783017635103602568972515393443827479224675245635674793627292396684924906614691381999909242011578468831131723602080479490737523316544916497239956415356874483069837721017778095533289077709599201605000308618608141931880381285379516748316361746554412502016801485500568463852197072063366785290661181663002817672376284411042240936730622459040671100408529181203055803375141517452311447888492899033566648783232352965511187683464247372631374521374726868878173936359622549606905264361025519092671072803382252965074454687087584110047930613628201857974803150450312823921543598977764417575955082364072173083163309003801189236319995936399131981988292622273699894814735787971426539879954003902596387716542742784128426941837055831131665476328808183401257564174717865231792067865087554855740705440944994660445275240016615055475358366070032033213666968371470103338431434690989833178527907969511058214720278436146722567297143810192530938555641012322233960978 826657203584267771863834297228874758124719600600850793165801223298694171018552407785292596943069819425417118067991223441528070583963371321258862195869680288579197220169863148494813853783987551821979703854127164726303898419048594243897853813280164580930141491792739847497362602111196502795846793942050675804805146980347319077759943655628980338443333502947725078989860745588145400509999612420680259015448913795515223704982833795786280673831408908739797688460573170225713762784683986073440169483938292955515285641309809192032454011371752932329523550458282489909378326762992128087272065449394014896130805235257711039258778928005797408660977812829126682547892364078778177509414195856097183464610374508163173353351063557194926944881599065748996882647357869045650512835639640100109135496769457894240965413061213369145462845059407402306579657200128803766711754842081498449917103887769688267329142484699228340111009263814822650773631158729051393409848060468341238665061821360110711436889723180424225047584303458732357422847214468174370578172083879921508678985074325805809127246506148108179580700290870296482511449417676396665733922237437709150309434744644451925375960985523496914106905960741847371098632196009086940542810648310916215504216502770764392679853534873919040147814189121151670998983293567635335822342205182321929009616133241564345259307263706900362826881354668939652626932470602483386678015955885130116011267479960043290038005540783553844689194969565921988926827211898943831280270094803094898244073284126960960188323741496308398696987988592922758802925144554447274380743025490484149 1337559452444286655167766717276398450231051543889993038412600077710448201584082190545182324290000323544985271537265198349654584860957110767204217662248393135564854412686566108464510653353352119509935049364746392237238806724554962192851676321550203847288393202713702171010711034625412509063554218999343670350835561608093564916332821400682133782045744379331362809117012548541760455940666349953111610068984332068536787778086726711686777958596857598450317530157034751821197563097647013819208225314386326923186280508555139125787530241626442809285464456686568074131833860684513054600326208003873296793110148411604627331604193827051956008424952427858632465565527467681347150024807639683576408139856010182956800645747748482101541636263598974991008461116189000769252593315130377623425680413266697850656322287544283206866480623154940691384289256401733804075330362984013378831202483404518004629075696897201245141596509832278674847845694525514342054591511063286013614949472863601047442059348763851524633576765506514535732564364666779622259071071117446570291911338039836993492591493878779482700955427159748470418871071967283301930094947756530380223112816997609526380063048569633544844720534162599822174249082508833008484141788412728492170586580574943847555988857336063155360143750588253133659291605567267530150558130176608861808963620035837952061802050047835327304663937185800605128955740654003740950852733821116922183876355034815783995478950535443999119929211584621397347292897243932157498248641564906433329678764273960139488096293252554523118975424135315490055946735337085385830021755347724445127 2164216656028554427031601014505273208355771144490843831578401301009142372602634598330474921233070142970402389605256421791182655444920482088463079858118073424144051632856429256959324507137339671331914753218873556963542705143603556436749530134830368428218534694506442018508073636736609011859401012941394346155640708588440883994092765056311114120489077882279087888106873294129905856450665962373791869084433245864052011483069560507473058632428266507190115218617607922046911325882330999892648394798324619878701566149864948317819984252998195741614988007144850564041212187447505182687598273453267311689240953646862338370862972755057753417085930240687759148113419831760125327534221835539673591604466384691119973999098812039296468581145198040740005343763546869814903106150770017723534815910036155744897287700605496576011943468214348093690868913601862607842042117826094877281119587292287692896404839381900473481707519096093497498619325684243393448001359123754354853614534684961158153496238487031948858624349809973268089987211881247796629649243201326491800590323114162799301718740384927590880536127450618766901382521384959698595828869993968089373422251742253978305439009555157041758827440123341669545347714704842095424684599061039408386090797077714611948668710870937074400291564777374285330290588860835165486380472381791183737973236169079516407061357311542227667490818540469544781582673124606224337530749777002052299887622514775827285516956076227552964618406554187319336219724455831101329528911659709528227922837558087100448284616994050831517672412123908412814749660481639833104402498373214929276 3501776108472841082199367731781671658586822688380836869991001378719590574186716788875657245523070466515387661142521620140837240305877592855667297520366466559708906045542995365423835160490691790841849802583619949200781511868158518629601206456380572275506927897220144189518784671362021520922955231940738016506476270196534448910425586456993247902534822261610450697223885842671666312391332312326903479153417577932588799261156287219159836591025124105640432748774642673868108888979978013711856620112710946801887846658420087443607514494624638550900452463831418638173046048132018237287924481457140608482351102058466965702467166582109709425510882668546391613678947299441472477559029475223249999744322394874076774644846560521398010217408797015731013804879735870584155699465900395346960496323302853595553609988149779782878424091369288785075158170003596411917372480810108256112322070696805697525480536279101718623304028928372172346465020209757735502592870187040368468564007548562205595555587250883473492201115316487803822551576548027418888720314318773062092501661153999792794310234263707073581491554610367237320253593352243000525923817750498469596535068739863504685502058124790586603547974285941491719596797213675103908826387473767900556677377652658459504657568207000229760435315365627418989582194428102695636938602558400045546936856204917468468863407359377554972154755726270149910538413778609965288383483598118974483763977549591611280995906611671552084547618138808716683512621699763258827777553224615961557601601832047239936380910246605354636647836259223902870696395818725218934424253720939374403 5665992764501395509230968746286944866942593832871680701569402679728732946789351387206132166756140609485790050747778041932019895750798074944130377378484539983852957678399424622383159667628031462173764555802493506164324217011762075066350736591210940703725462591726586208026858308098630532782356244882132362662116978784975332904518351513304362023023900143889538585330759136801572168841998274700695348237850823796640810744225847726632895223453390612830547967392250595915020214862309013604505014911035566680589412808285035761427498747622834292515440470976269202214258235579523419975522754910407920171592055705329304073330139337167462842596812909234150761792367131201597805093251310762923591348788779565196748643945372560694478798553995056471019148643282740399058805616670413070495312233339009340450897688755276358890367559583636878766027083605459019759414598636203133393441657989093390421885375661002192105011548024465669845084345894001128950594229310794723322178542233523363749051825737915422350825465126461071912538788429275215518369557520099553893091984268162592096028974648634664462027682060986004221636114737202699121752687744466558969957320482117482990941067679947628362375414409283161264944511918517199333510986534807308942768174730373071453326279077937304160726880143001704319872783288937861123319074940191229284910092373996984875924764670919782639645574266739694692121086903216189625914233375121026783651600064367438566512862687899105049166024692996036019732346155594360157306464884325489785524439390134340384665527240656186154320248383132315685446056300365052038826752094154303679 9167768872974236591430336478068616525529416521252517571560404058448323520976068176081789412279211076001177711890299662072857136056675667799797674898851006543561863723942419987806994828118723253015614358386113455365105728879920593695951943047591512979232390488946730397545642979460652053705311476822870379168593248981509781814943937970297609925558722405499989282554644979473238481233330587027598827391268401729229610005382134945792731814478514718470980716166893269783129103842287027316361635023746513482477259466705123205035013242247472843415892934807687840387304283711541657263447236367548528653943157763796269775797305919277172268107695577780542375471314430643070282652280785986173591093111174439273523288791933082092489015962792072202032953523018610983214505082570808417455808556641862936004507676905056141768791650952925663841185253609055431676787079446311389505763728685899087947365911940103910728315576952837842191549366103758864453187099497835091790742549782085569344607412988798895843026580442948875735090364977302634407089871838872615985593645422162384890339208912341738043519236671353241541889708089445699647676505494965028566492389221980987676443125804738214965923388695224652984541309132192303242337374008575209499445552383031530957983847284937533921162195508629123309454977717040556760257677498591274831846948578914453344788172030297337611800329993009844602659500681826154914297716973240001267415577613959049847508769299570657133713642831804752703244967855357618985084018108941451343126041222181580321046437487261540790968084642356218556142452119090270973251005815093678082 14833761637475632100661305224355561392472010354124198273129806738177056467765419563287921579035351685486967762638077704004877031807473742743928052277335546527414821402341844610190154495746754715189378914188606961529429945891682668762302679638802453682957853080673316605572501287559282586487667721705002741830710227766485114719462289483601971948582622549389527867885404116274810650075328861728294175629119225525870420749607982672425627037931905331301528683559143865698149318704596040920866649934782080163066672274990158966462511989870307135931333405783957042601562519291065077238969991277956448825535213469125573849127445256444635110704508487014693137263681561844668087745532096749097182441899954004470271932737305642786967814516787128673052102166301351382273310699241221487951120789980872276455405365660332500659159210536562542607212337214514451436201678082514522899205386674992478369251287601106102833327124977303512036633711997759993403781328808629815112921092015608933093659238726714318193852045569409947647629153406577849925459429358972169878685629690324976986368183560976402505546918732339245763525822826648398769429193239431587536449709704098470667384193484685843328298803104507814249485821050709502575848360543382518442213727113404602411310126362874838081889075651630827629327761005978417883576752438782504116757040952911438220712936701217120251445904259749539294780587585042344540211950348361028051067177678326488414021631987469762182879667524800788722977314010951979142390482993266941128650480612315920705711964727917726945288333025488534241588508419455323012077757909247981761 24001530510449868692091641702424177918001426875376715844690210796625379988741487739369710991314562761488145474528377366077734167864149410543725727176186553070976685126284264597997149323865477968204993272574720416894535674771603262458254622686393966662190243569620047003118144267019934640192979198527873120999303476747994896534406227453899581874141344954889517150440049095748049131308659448755893003020387627255100030754990117618218358852410420049772509399726037135481278422546883068237228284958528593645543931741695282171497525232117779979347226340591644882988866803002606734502417227645504977479478371232921843624924751175721807378812204064795235512734995992487738370397812882735270773535011128443743795221529238724879456830479579200875085055689319962365487815781812029905406929346622735212459913042565388642427950861489488206448397590823569883112988757528825912404969115360891566316617199541210013561642701930141354228183078101518857856968428306464906903663641797694502438266651715513214036878626012358823382719518383880484332549301197844785864279275112487361876707392473318140549066155403692487305415530916094098417105698734396616102942098926079458343827319289424058294222191799732467234027130182901805818185734551957727941659279496436133369293973647812372003051271160259950938782738723018974643834429937373778948603989531825891565501108731514457863246234252759383897440088266868499454509667321601029318482755292285538261530401287040419316593310356605541426222281866309598127474501102208392471776521834497501026758402215179267736256417667844752797730960538545593985328763724341659843 38835292147925500792752946926779739310473437229500914117820017534802436456506907302657632570349914446975113237166455070082611199671623153287653779453522099598391506528626109208187303819612232683394372186763327378423965620663285931220557302325196420345148096650293363608690645554579217226680646920232875862830013704514480011253868516937501553822723967504279045018325453212022859781383988310484187178649506852780970451504598100290643985890342325381074038083285181001179427741251479109158094934893310673808610604016685441137960037221988087115278559746375601925590429322293671811741387218923461426305013584702047417474052196432166442489516712551809928649998677554332406458143344979484367955976911082448214067154266544367666424644996366329548137157855621313747761126481053251393358050136603607488915318408225721143087110072026050749055609928038084334549190435611340435304174502035884044685868487142316116394969826907444866264816790099278851260749757115094722016584733813303435531925890442227532230730671581768771030348671790458334258008730556816955742964904802812338863075576034294543054613074136031733068941353742742497186534891973828203639391808630177929011211512774109901622520994904240281483512951233611308394034095095340246383873006609840735780604100010687210084940346811890778568110499728997392527411182376156283065361030484737329786214045432731578114692138512508923192220675851910843994721617669962057369549932970612026675552033274510181499472977881406330149199595877261577269864984095475333600427002446813421732470366943096994681544750693333287039319468958000916997406521633589641604 62836822658375369484844588629203917228474864104877629962510228331427816445248395042027343561664477208463258711694832436160345367535772563831379506629708652669368191654910373806184453143477710651599365459338047795318501295434889193678811925011590387007338340219913410611808789821599151866873626118760748983829317181262474907788274744391401135696865312459168562168765502307770908912692647759240080181669894480036070482259588217908862344742752745430846547483011218136660706163798362177395323219851839267454154535758380723309457562454105867094625786086967246808579296125296278546243804446568966403784491955934969261098976947607888249868328916616605164162733673546820144828541157862219638729511922210891957862375795783092545881475475945530423222213544941276113248942262865281298764979483226342701375231450791109785515060933515538955504007518861654217662179193140166347709143617396775611002485686683526129956612528837586220492999868200797709117718185421559628920248375610997937970192542157740746267609297594127594413068190174338818590558031754661741607244179915299700739782968507612683603679229539724220374356884658836595603640590708224819742333907556257387355038832063533959916743186703972748717540081416513114212219829647297974325532286106276869149898073658499582087991617972150729506893238452016367171245612313530062013965020016563221351715154164246035977938372765268307089660764118779343449231284991563086688032688262897564937082434561550600816066288238011871575421877743571175397339485197683726072203524281310922759228769158276262417801168361178039837050429496546510982735285357931301447 101672114806300870277597535555983656538948301334378544080330245866230252901755302344684976132014391655438371948861287506242956567207395717119033286083230752267759698183536483014371756963089943334993737646101375173742466916098175124899369227336786807352486436870206774220499435376178369093554273038993624846659330885776954919042143261328902689519589279963447607187090955519793768694076636069724267360319401332817040933764186318199506330633095070811920585566296399137840133905049841286553418154745149941262765139775066164447417599676093954209904345833342848734169725447589950357985191665492427830089505540637016678573029144040054692357845629168415092812732351101152551286684502841704006685488833293340171929530062327460212306120472311859971359371400562589861010068743918532692123029619829950190290549859016830928602171005541589704559617446899738552211369628751506783013318119432659655688354173825842246351582355745031086757816658300076560378467942536654350936833109424301373502118432599968278498339969175896365443416861964797152848566762311478697350209084718112039602858544541907226658292303675755953443298238401579092790175482682053023381725716186435316366250344837643861539264181608213030201053032650124422606253924742638220709405292716117604930502173669186792172931964784041508075003738181013759698656794689686345079326050501300551137929199596977614092630511277777230281881439970690187443952902661525144057582621233509591612634467836060782315539266119418201724621473620832752667204469293159059672630526728124344491699136101373257099345919054511326876369898454547427980141806991520943051 164508937464676239762442124185187573767423165439256174042840474197658069347003697386712319693678868863901630660556119942403301934743168280950412792712939404937127889838446856820556210106567653986593103105439422969060968211533064318578181152348377194359824777090120184832308225197777520960427899157754373830488648067039429826830418005720303825216454592422616169355856457827564677606769283828964347541989295812853111416023774536108368675375847816242767133049307617274500840068848203463948741374596989208716919675533446887756875162130199821304530131920310095542749021572886228904228996112061394233873997496571985939672006091647942942226174545785020256975466024647972696115225660703923645415000755504232129791905858110552758187595948257390394581584945503865974259011006783813990888009103056292891665781309807940714117231939057128660063624965761392769873548821891673130722461736829435266690839860509368376308194884582617307250816526500874269496186127958213979857081485035299311472310974757709024765949266770023959856485052139135971439124794066140438957453264633411740342641513049519910261971533215480173817655123060415688393816073390277843124059623742692703721289176901177821456007368312185778918593114066637536818473754389936195034937578822394474080400247327686374260923582756192237581896976633030126869902407003216407093291070517863772489644353761223650070568884043045537371542204089469530893184187653088230745615309496407156549716902397611383131605554357430073300043351364403928064543954490842785744834051009435267250927905259649519517147087415689366713420327951093938962877092349452244498 266181052270977110040039659741171230306371466773634718123170720063888322248758999731397295825693260519340002609417407448646258501950563998069446078796170157204887588021983339834927967069657597321586840751540798142803435127631239443477550379685164001712311213960326959052807660573955890053982172196747998677147978952816384745872561267049206514736043872386063776542947413347358446300845919898688614902308697145670152349787960854307875006008942887054687718615604016412340973973898044750502159529342139149979684815308513052204292761806293775514434477753652944276918747020476179262214187777553822063963503037209002618245035235687997634584020174953435349788198375749125247401910163545627652100489588797572301721435920438012970493716420569250365940956346066455835269079750702346683011038722886243081956331168824771642719402944598718364623242412661131322084918450643179913735779856262094922379194034335210622659777240327648394008633184800950829874654070494868330793914594459600684974429407357677303264289235945920325299901914103933124287691556377619136307662349351523779945500057591427136920263836891236127260953361461994781183991556072330866505785339929128020087539521738821682995271549920398809119646146716761959424727679132574415744342871538512079010902420996873166433855547540233745656900714814043886568559201692902752172617121019164323627573553358201264163199395320822767653423644060159718337137090314613374803197930729916748162351370233672165447144820476848275024664824985236680731748423784001845417464577737559611742627041361022776616493006470200693589790226405641366943018899340973187549 430689989735653349802481783926358804073794632212890892166011194261546391595762697118109615519372129383241633269973527391049560436693732279019858871509109562142015477860430196655484177176225251308179943856980221111864403339164303762055731532033541196072135991050447143885115885771733411014410071354502372507636627019855814572702979272769510339952498464808679945898803871174923123907615203727652962444297992958523263765811735390416243681384790703297454851664911633686841814042746248214450900903939128358696604490841959939961167923936493596818964609673963039819667768593362408166443183889615216297837500533780988557917041327335940576810194720738455606763664400397097943517135824249551297515490344301804431513341778548565728681312368826640760522541291570321809528090757486160673899047825942535973622112478632712356836634883655847024686867378422524091958467272534853044458241593091530189070033894844578998967972124910265701259449711301825099370840198453082310650996079494899996446740382115386328030238502715944285156386966243069095726816350443759575265115613984935520288141570640947047182235370106716301078608484522410469577807629462608709629844963671820723808828698639999504451278918232584588038239260783399496243201433522510610779280450360906553091302668324559540694779130296425983238797691447074013438461608696119159265908191537028096117217907119424914233768279363868305024965848149629249230321277967701605548813240226323904712068272631283548578750374834278348324708176349640608796292378274844631162298628746994878993554946620672296133640093885890060303210554356735305905895991690425432047 696871042006630459842521443667530034380166098986525610289181914325434713844521696849506911345065389902581635879390934839695818938644296277089304950305279719346903065882413536490412144245882848629766784608521019254667838466795543205533281911718705197784447205010774102937923546345689301068392243551250371184784605972672199318575540539818716854688542337194743722441751284522281570208461123626341577346606690104193416115599696244724118687393733590352142570280515650099182788016644292964953060433281267508676289306150472992165460685742787372333399087427615984096586515613838587428657371667169038361801003570989991176162076563023938211394214895691890956551862776146223190919045987795178949615979933099376733234777698986578699175028789395891126463497637636777644797170508188507356910086548828779055578443647457483999556037828254565389310109791083655414043385723178032958194021449353625111449227929179789621627749365237914095268082896102775929245494268947950641444910673954500681421169789473063631294527738661864610456288880347002220014507906821378711572777963336459300233641628232374184102499206997952428339561845984405250761799185534939576135630303600948743896368220378821187446550468152983397157885407500161455667929112655085026523623321899418632102205089321432707128634677836659728895698406261117900007020810389021911438525312556192419744791460477626178396967674684691072678389492209788967567458368282314980352011170956240652874419642864955714025895195311126623349373001334877289528040802058846476579763206484554490736181987981695072750133100356090753893000780762376672848914891031398619596 1127561031742283809645003227593888838453960731199416502455193108586981105440284393967616526864437519285823269149364462230745379375338028556109163821814389281488918543742843733145896321422108099937946728465501240366532241805959846967589013443752246393856583196061221246823039432117422712082802314905752743692421232992528013891278519812588227194641040802003423668340555155697204694116076327353994539790904683062716679881411431635140362368778524293649597421945427283786024602059390541179403961337220395867372893796992432932126628609679280969152363697101579023916254284207200995595100555556784254659638504104770979734079117890359878788204409616430346563315527176543321134436181812044730247131470277401181164748119477535144427856341158222531886986038929207099454325261265674668030809134374771315029200556126090196356392672711910412413996977169506179506001852995712886002652263042445155300519261824024368620595721490148179796527532607404601028616334467401032952095906753449400677867910171588449959324766241377808895612675846590071315741324257265138286837893577321394820521783198873321231284734577104668729418170330506815720339606814997548285765475267272769467705196919018820691897829386385567985196124668283560951911130546177595637302903772260325185193507757645992247823413808133085712134496097708191913445482419085141070704433504093220515862009367597051092630735954048559377703355340359418216797779646250016585900824411182564557586487915496239262604645570145404971674081177684517898324333180333691107742061835231549369729736934602367368883773194241980814196211335119111978754810882721824051643 1824432073748914269487524671261418872834126830185942112744375022912415819284806090817123438209502909188404905028755397070441198313982324833198468772119669000835821609625257269636308465667990948567713513074022259621200080272755390173122295355470951591641030401071995349760962978463112013151194558457003114877205838965200213209854060352406944049329583139198167390782306440219486264324537450980336117137511373166910095997011127879864481056172257884001739992225942933885207390076034834144357021770501663376049183103142905924292089295422068341485762784529195008012840799821039583023757927223953293021439507675760970910241194453383816999598624512122237519867389952689544325355227799839909196747450210500557897982897176521723127031369947618423013449536566843877099122431773863175387719220923600094084778999773547680355948710540164977803307086960589834920045238718890918960846284491798780411968489753204158242223470855386093891795615503507376957861828736348983593540817427403901359289079961061513590619293980039673506068964726937073535755832164086516998410671540657854120755424827105695415387233784102621157757732176491220971101406000532487861901105570873718211601565139397641879344379854538551382354010075783722407579059658832680663826527094159743817295712846967424954952048485969745441030194503969309813452503229474162982142958816649412935606800828074677271027703628733250450381744832569207184365238014532331566252835582138805210460907558361194976630540765456531595023454179019395187852373982392537584321825041716103860465918922584062441633906294598071568089212115881488651603725773753222671239 2951993105491198079132527898855307711288087561385358615199568131499396924725090484784739965073940428474228174178119859301186577689320353389307632593934058282324740153368101002782204787090099048505660241539523499987732322078715237140711308799223197985497613597133216596584002410580534725233996873362755858569627071957728227101132580164995171243970623941201591059122861595916690958440613778334330656928416056229626775878422559515004843424950782177651337414171370217671231992135425375323760983107722059243422076900135338856418717905101349310638126481630774031929095084028240578618858482780737547681078011780531950644320312343743695787803034128552584083182917129232865459791409611884639443878920487901739062731016654056867554887711105840954900435575496050976553447693039537843418528355298371409113979555899637876712341383252075390217304064130096014426047091714603804963498547534243935712487751577228526862819192345534273688323148110911977986478163203750016545636724180853302037156990132649963549944060221417482401681640573527144851497156421351655285248565117979248941277208025979016646671968361207289887175902506998036691441012815530036147666580838146487679306762058416462571242209240924119367550134744067283359490190205010276301129430866420069002489220604613417202775462294102831153164690601677501726897985648559304052847392320742633451468810195671728363658439582781809828085100172928625401163017660782348152153659993321369768047395473857434239235186335601936566697535356703913086176707162726228692063886876947653230195655857186429810517679488840052382285423451000600630358536656475046722882 4776425179240112348620052570116726584122214391571300727943943154411812744009896575601863403283443337662633079206875256371627776003302678222506101366053727283160561762993358272418513252758089997073373754613545759608932402351470627313833604154694149577138643998205211946344965389043646738385191431819758973446832910922928440310986640517402115293300207080399758449905168036136177222765151229314666774065927429396536871875433687394869324481123040061653077406397313151556439382211460209468118004878223722619471260003278244780710807200523417652123889266159969039941935883849280161642616410004690840702517519456292921554561506797127512787401658640674821603050307081922409785146637411724548640626370698402296960713913830578590681919081053459377913885112062894853652570124813401018806247576221971503198758555673185557068290093792240368020611151090685849346092330433494723924344832026042716124456241330432685105042663200920367580118763614419354944339991940099000139177541608257203396446070093711477140563354201457155907750605300464218387252988585438172283659236658637103062032632853084712062059202145309911044933634683489257662542418816062524009567686409020205890908327197814104450586589095462670749904144819851005767069249863842956964955957960579812819784933451580842157727510780072576594194885105646811540350488878033467034990351137392046387075611023746405634686143211515060278466845005497832585528255675314679718406495575460174978508303032218629215865727101058468161720989535723308274029081145118766276385711918663757090661574779770492252151585783438123950374635566882089281962262430228269394121 7728418284731310427752580468972034295410301952956659343143511285911209668734987060386603368357383766136861253384995115672814353692623031611813733959987785565485301916361459275200718039848189045579033996153069259596664724430185864454544912953917347562636257595338428542928967799624181463619188305182514832016459982880656667412119220682397286537270831021601349509028029632052868181205765007648997430994343485626163647753856246909874167906073822239304414820568683369227671374346885584791878987985945781862893336903413583637129525105624766962762015747790743071871030967877520740261474892785428388383595531236824872198881819140871208575204692769227405686233224211155275244938047023609188084505291186304036023444930484635458236806792159300332814320687558945830206017817852938862224775931520342912312738111572823433780631477044315758237915215220781863772139422148098528887843379560286651836943992907661211967861855546454641268441911725331332930818155143849016684814265789110505433603060226361440690507414422874638309432245873991363238750145006789827568907801776616352003309840879063728708731170506517200932109537190487294353983431631592560157234267247166693570215089256230567021828798336386790117454279563918289126559440068853233266085388826999881822274154056194259360502973074175407747359575707324313267248474526592771087837743458134679838544421219418133998344582794296870106551945178426457986691273336097027870560155568781544746555698506076063455100913436660404728418524892427221360205788307844994968449598795611410320857230636956922062669265272278176332660059017882689912320799086703316117003 12504843463971422776372633039088760879532516344527960071087454440323022412744883635988466771640827103799494332591870372044442129695925709834319835326041512848645863679354817547619231292606279042652407750766615019205597126781656491768378517108611497139774901593543640489273933188667828202004379737002273805463292893803585107723105861199799401830571038102001107958933197668189045403970916236963664205060270915022700519629289934304743492387196862300957492226965996520784110756558345794259996992864169504482364596906691828417840332306148184614885905013950712111812966851726800901904091302790119229086113050693117793753443325937998721362606351409902227289283531293077685030084684435333736725131661884706332984158844315214048918725873212759710728205799621840683858587942666339881031023507742314415511496667246008990848921570836556126258526366311467713118231752581593252812188211586329367961400234238093897072904518747375008848560675339750687875158147083948016823991807397367708830049130320072917831070768624331794217182851174455581626003133592227999852567038435253455065342473732148440770790372651827111977043171873976552016525850447655084166801953656186899461123416454044671472415387431849460867358424383769294893628689932696190231041346787579694642059087507775101518230483854247984341554460812971124807598963404626238122828094595526726225620032243164539633030726005811930385018790183924290572219529011411707588966651144241719725064001538294692670966640537718872890139514428150529634234869452963761244835310714275167411518805416727414314820851055716300283034694584764779194283061516931585511124 20233261748702733204125213508060795174942818297484619414230965726234232081479870696375070139998210869936355585976865487717256483388548741446133569286029298414131165595716276822819949332454468088231441746919684278802261851211842356222923430062528844702411159188882069032202900988292009665623568042184788637479752876684241775135225081882196688367841869123602457467961227300241913585176681244612661636054614400648864167383146181214617660293270684540261907047534679890011782130905231379051875980850115286345257933810105412054969857411772951577647920761741455183683997819604321642165566195575547617469708581929942665952325145078869929937811044179129632975516755504232960275022731458942924809636953071010369007603774799849507155532665372060043542526487180786514064605760519278743255799439262657327824234778818832424629553047880871884496441581532249576890371174729691781700031591146616019798344227145755109040766374293829650117002587065082020805976302227797033508806073186478214263652190546434358521578183047206432526615097048446944864753278599017827421474840211869807068652314611212169479521543158344312909152709064463846370509282079247644324036220903353593031338505710275238494244185768236250984812703947687584020188130001549423497126735614579576464333241563969360878733456928423392088914036520295438074847437931219009210665838053661406064164453462582673631375308800108800491570735362350748558910802347508735459526806713023264471619700044370756126067553974379277618558039320577750994440657760808756213284909509886577732376036053684336377490116327994476615694753602647469106603860603634901628127 32738105212674155980497846547149556054475334642012579485318420166557254494224754332363536911639037973735849918568735859761698613084474451280453404612070811262777029275071094370439180625060747130883849497686299298007858977993498847991301947171140341842186060782425709521476834176959837867627947779187062442943045770487826882858330943081996090198412907225603565426894424968430958989147597481576325841114885315671564687012436115519361152680467546841219399274500676410795892887463577173311872973714284790827622530716797240472810189717921136192533825775692167295496964671331122544069657498365666846555821632623060459705768471016868651300417395589031860264800286797310645305107415894276661534768614955716701991762619115063556074258538584819754270732286802627197923193703185618624286822947004971743335731446064841415478474618717428010754967947843717290008602927311285034512219802732945387759744461383849006113670893041204658965563262404832708681134449311745050332797880583845923093701320866507276352648951671538226743797948222902526490756412191245827274041878647123262133994788343360610250311915810171424886195880938440398387035132526902728490838174559540492492461922164319909966659573200085711852171128331456878913816819934245613728168082402159271106392329071744462396963940782671376430468497333266562882446401335845247333493932649188132289784485705747213264406034805920730876589525546275039131130331358920443048493457857264984196683701582665448797034194512098150508697553748728280628675527213772517458120220224161745143894841470411750692310967383710776898729448187412248300886922120566487139251 52971366961376889184623060055210351229418152939497198899549385892791486575704625028738607051637248843672205504545601347478955096473023192726586973898100109676908194870787371193259129957515215219115291244605983576810120829205341204214225377233669186544597219971307778553679735165251847533251515821371851080422798647172068657993556024964192778566254776349206022894855652268672872574324278726188987477169499716320428854395582296733978812973738231381481306322035356300807675018368808552363748954564400077172880464526902652527780047129694087770181746537433622479180962490935444186235223693941214464025530214553003125658093616095738581238228439768161493240317042301543605580130147353219586344405568026727070999366393914913063229791203956879797813258773983413711987799463704897367542622386267629071159966224883673840108027666598299895251409529375966866898974102040976816212251393879561407558088688529604115154437267335034309082565849469914729487110751539542083841603953770324137357353511412941634874227134718744659270413045271349471355509690790263654695516718858993069202647102954572779729833458968515737795348590002904244757544414606150372814874395462894085523800427874595148460903758968321962836983832279144462934004949935795037225294818016738847570725570635713823275697397711094768519382533853562000957293839267064256544159770702849538353948939168329886895781343606029531368160260908625787690041133706429178508020264570288248668303401627036204923101748486477428127255593069306031623116184974581273671405129734048322876270877524096087069801083711705253514424201790059717407490782724201388767378 85709472174051045165120906602359907283893487581509778384867806059348741069929379361102143963276286817408055423114337207240653709557497644007040378510170920939685224145858465563698310582575962349999140742292282874817979807198840052205527324404809528386783280753733488075156569342211685400879463600558913523365844417659895540851886968046188868764667683574809588321750077237103831563471876207765313318284385031991993541408018412253339965654205778222700705596536032711603567905832385725675621928278684868000502995243699893000590236847615223962715572313125789774677927162266566730304881192306881310581351847176063585363862087112607232538645835357193353505117329098854250885237563247496247879174182982443772991129013029976619304049742541699552083991060786040909910993166890515991829445333272600814495697670948515255586502285315727906006377477219684156907577029352261850724471196612506795317833149913453121268108160376238968048129111874747438168245200851287134174401834354170060451054832279448911226876086390282886014210993494251997846266102981509481969558597506116331336641891297933389980145374778687162681544470941344643144579547133053101305712570022434578016262350038915058427563332168407674689154960610601341847821769870040650953462900418898118677117899707458285672661338493766144949851031186828563839740240602909503877653703352037670643733424874077100160187378411950262244749786454900826821171465065349621556513722427553232864987103209701653720135942998575578635953146818034312251791712188353791129525349958210068020165718994507837762112051095416030413153649977471965708377704844767875906629 138680839135427934349743966657570258513311640521006977284417191952140227645634004389840751014913535661080260927659938554719608806030520836733627352408271030616593419016645836756957440540091177569114431986898266451628100636404181256419752701638478714931380500725041266628836304507463532934130979421930764603788643064831964198845442993010381647330922459924015611216605729505776704137796154933954300795453884748312422395803600708987318778627944009604182011918571389012411242924201194278039370882843084945173383459770602545528370283977309311732897318850559412253858889653202010916540104886248095774606882061729066711021955703208345813776874275125354846745434371400397856465367710600715834223579751009170843990495406944889682533840946498579349897249834769454621898792630595413359372067719540229885655663895832189095694529951914027801257787006595651023806551131393238666936722590492068202875921838443057236422545427711273277130694961344662167655355952390829218016005788124494197808408343692390546101103221109027545284624038765601469201775793771773136665075316365109400539288994252506169709978833747202900476893060944248887902123961739203474120586965485328663540062777913510206888467091136729637526138792889745804781826719805835688178757718435636966247843470343172108948358736204860913469233565040390564797034079869973760421813474054887208997682364042406987055968722017979793612910047363526614511212598771778800064533986997841481533290504836737858643237691485053006763208739887340343874907897162935064800930479692258390896436596518603924831913134807121283927577851767531683115868487568969264674007 224390311309478979514864873259930165797205128102516755669284998011488968715563383750942894978189822478488316350774275761960262515588018480740667730918441951556278643162504302320655751122667139919113572729190549326446080443603021308625280026043288243318163781478774754703992873849675218335010443022489678127154487482491859739697329961056570516095590143498825199538355806742880535701268031141719614113738269780304415937211619121240658744282149787826882717515107421724014810830033580003714992811121769813173886455014302438528960520824924535695612891163685202028536816815468577646844986078554977085188233908905130296385817790320953046315520110482548200250551700499252107350605273848212082102753933991614616981624419974866301837890689040278901981240895555495531809785797485929351201513052812830700151361566780704351281032237229755707264164483815335180714128160745500517661193787104574998193754988356510357690653588087512245178824073219409605823601153242116352190407622478664258259463175971839457327979307499310431298835032259853467048041896753282618634633913871225731875930885550439559690124208525890063158437531885593531046703508872256575426299535507763241556325127952425265316030423305137312215293753500347146629648489675876339132220618854535084924961370050630394621020074698627058419084596227219128636774320472883264299467177406924879641415788916484087216156100429930055857659833818427441332384063837128421621047709425394714398277608046439512363373634483628585399161886705374656126699609351288855930455829650468458916602315513111762594025185902537314340731501745003648824246192413737140580636 363071150444906913864608839917500424310516768623523732953702189963629196361197388140783645993103358139568577278434214316679871321618539317474295083326712982172872062179150139077613191662758317488228004716088815778074181080007202565045032727681766958249544282203816021332829178357138751269141422444420442730943130547323823938542772954066952163426512603422840810754961536248657239839064186075673914909192154528616838333015219830227977522910093797431064729433678810736426053754234774281754363693964854758347269914784904984057330804802233847428510210014244614282395706468670588563385090964803072859795115970634197007407773493529298860092394385607903046995986071899649963815972984448927916326333685000785460972119826919755984371731635538858251878490730324950153708578428081342710573580772353060585807025462612893446975562189143783508521951490410986204520679292138739184597916377596643201069676826799567594113199015798785522309519034564071773478957105632945570206413410603158456067871519664230003429082528608337976583459071025454936249817690525055755299709230236335132415219879802945729400103042273092963635330592829842418948827470611460049546886500993091905096387905865935472204497514441866949741432546390092951411475209481712027310978337290172051172804840393802503569378810903487971888318161267609693433808400342857024721280651461812088639098152958891074272124822447909849470569881181954055843596662608907221685581696423236195931568112883177371006611325968681592162370626592715000001607506514223920731386309342726849813038912031715687425938320709658598268309353512535331940114679982706405254643 587461461754385893379473713177430590107721896726040488622987187975118165076760771891726540971293180618056893629208490078640133837206557798214962814245154933729150705341654441398268942785425457407341577445279365104520261523610223873670312753725055201567708063682590776036822052206813969604151865466910120858097618029815683678240102915123522679522102746921666010293317342991537775540332217217393529022930424308921254270226838951468636267192243585257947446948786232460440864584268354285469356505086624571521156369799207422586291325627158383124123101177929816310932523284139166210230077043358049944983349879539327303793591283850251906407914496090451247246537772398902071166578258297139998429087618992400077953744246894622286209622324579137153859731625880445685518364225567272061775093825165891285958387029393597798256594426373539215786115974226321385234807452884239702259110164701218199263431815156077951803852603886297767488343107783481379302558258875061922396821033081822714327334695636069460757061836107648407882294103285308403297859587278338373934343144107560864291150765353385289090227250798983026793768124715435949995530979483716624973186036500855146652713033818360737520527937747004261956726299890440098041123699157588366443198956144707136097766210444432898190398885602115030307402757494828822070582720815740289020747828868736968280513941875375161488280922877839905328229715000381497175980726446035643306629405848630910329845720929616883369984960452310177561532513298089656128307115865512776661842138993195308729641227544827450019963506612195912609040855257538980764360872396443545835279 950532612199292807244082553094931014418238665349564221576689377938747361437958160032510186964396538757625470907642704395320005158825097115689257897571867915902022767520804580475882134448183774895569582161368180882594442603617426438715345481406822159817252345886406797369651230563952720873293287911330563589040748577139507616782875869190474842948615350344506821048278879240195015379396403293067443932122578837538092603242058781696613790102337382689012176382465043196866918338503128567223720199051479329868426284584112406643622130429392230552633311192174430593328229752809754773615168008161122804778465850173524311201364777379550766500308881698354294242523844298552034982551242746067914755421303993185538925864073814378270581353960117995405738222356205395839226942653648614772348674597518951871765412492006491245232156615517322724308067464637307589755486745022978886857026542297861400333108641955645545917051619685083289797862142347553152781515364508007492603234443684981170395206215300299464186144364715986384465753174310763339547677277803394129234052374343895996706370645156331018490330293072075990429098717545278368944358450095176674520072537493947051749100939684296209725025452188871211698158846280533049452598908639300393754177293434879187270571050838235401759777696505603002195720918762438515504391121158597313742028480330549056919612094834266235760405745325749754798799596182335553019577389054942864992211102271867106261413833812794254376596286420991769723903139890804656129914622379736697393228448335922158542680139576543137445901827321854510877350208770074312704475552379149951089922 1537994073953678700623556266272361604525960562075604710199676565913865526514718931924236727935689719375682364536851194473960138996031654913904220711817022849631173472862459021874151077233609232302911159606647545987114704127227650312385658235131877361384960409568997573406473282770766690477445153378240684447138366606955191295022978784313997522470718097266172831341596222231732790919728620510460972955053003146459346873468897733165250057294580967946959623331251275657307782922771482852693076704138103901389582654383319829229913456056550613676756412370104246904260753036948920983845245051519172749761815729712851614994956061229802672908223377788805541489061616697454106149129501043207913184508922985585616879608320709000556790976284697132559597953982085841524745306879215886834123768422684843157723799521400089043488751041890861940094183438863628974990294197907218589116136706999079599596540457111723497720904223571381057286205250131034532084073623383069415000055476766803884722540910936368924943206200823634792348047277596071742845536865081732503168395518451456860997521410509716307580557543871059017222866842260714318939889429578893299493258573994802198401813973502656947245553389935875473654885146170973147493722607796888760197376249579586323368337261282668299950176582107718032503123676257267337574973841974337602762776309199286025200126036709641397248686668203589660127029311182717050195558115500978508298840508120498016591259554742411137746581246873301947285435653188894312258221738245249474055070587329117467272321367121370587465865333934050423486391064027613293468836424775593496925201 2488526686152971507867638819367292618944199227425168931776365943852612887952677091956746914900086258133307835444493898869280144154856752029593478609388890765533196240383263602350033211681793007198480741768015726869709146730845076751101003716538699521202212755455404370776124513334719411350738441289571248036179115184094698911805854653504472365419333447610679652389875101471927806299125023803528416887175581983997439476710956514861863847396918350635971799713716318854174701261274611419916796903189583231258008938967432235873535586485942844229389723562278677497588982789758675757460413059680295554540281579886375926196320838609353439408532259487159835731585460996006141131680743789275827939930226978771155805472394523378827372330244815127965336176338291237363972249532864501606472443020203795029489212013406580288720907657408184664402250903500936564745780942930197475973163249296940999929649099067369043637955843256464347084067392478587684865588987891076907603289920451785055117747126236668389129350565539621176813800451906835082393214142885126632402447892795352857703892055666047326070887836943135007651965559805992687884247879674069974013331111488749250150914913186953156970578842124746685353043992451506196946321516436189153951553543014465510638908312120903701709954278613321034698844595019705853079364963132934916504804789529835082119738131543907633009092413529339414925828907365052603215135504555921373291051610392365122852673388555205392123177533294293717009338793079698968388136360624986171448299035665039625815001506697913724911767161255904934363741272797687606173311977154743448015123 4026520760106650208491195085639654223470159789500773641976042509766478414467396023880983642835775977508990199981345093343240283150888406943497699321205913615164369713245722624224184288915402239501391901374663272856823850858072727063486661951670576882587173165024401944182597796105486101828183594667811932483317481791049890206828833437818469887890051544876852483731471323703660597218853644313989389842228585130456786350179854248027113904691499318582931423044967594511482484184046094272609873607327687132647591593350752065103449042542493457906146135932382924401849735826707596741305658111199468304302097309599227541191276899839156112316755637275965377220647077693460247280810244832483741124439149964356772685080715232379384163306529512260524934130320377078888717556412080388440596211442888638187213011534806669332209658699299046604496434342364565539736075140837416065089299956296020599526189556179092541358860066827845404370272642609622216949662611274146322603345397218588939840288037173037314072556766363255969161847729502906825238751007966859135570843411246809718701413466175763633651445380814194024874832402066707006824137309252963273506589685483551448552728886689610104216132232060622159007929138622479344440044124233077914148929792594051834007245573403572001660130860721039067201968271276973190654338805107272519267581098729121107319864168253549030257779081732929075052858218547769653410693620056899881589892118512863139443932943297616529869758780167595664294774446268593280646358098870235645503369622994157093087322873819284312377632495189955357850132336825300899642148401930336944940324 6515047446259621716358833905006946842414359016925942573752408453619091302420073115837730557735862235642298035425838992212520427305745158973091177930594804380697565953628986226574217500597195246699872643142678999726532997588917803814587665668209276403789385920479806314958722309440205513178922035957383180519496596975144589118634688091322942253309384992487532136121346425175588403517978668117517806729404167114454225826890810762888977752088417669218903222758683913365657185445320705692526670510517270363905600532318184300976984629028436302135535859494661601899438718616466272498766071170879763858842378889485603467387597738448509551725287896763125212952232538689466388412490988621759569064369376943127928490553109755758211535636774327388490270306658668316252689805944944890047068654463092433216702223548213249620930566356707231268898685245865502104481856083767613541062463205592961599455838655246461584996815910084309751454340035088209901815251599165223230206635317670373994958035163409705703201907331902877145975648181409741907631965150851985767973291304042162576405305521841810959722333217757329032526797961872699694708385188927033247519920796972300698703643799876563261186711074185368844360973131073985541386365640669267068100483335608517344646153885524475703370085139334360101900812866296679043733703768240207435772385888258956189439602299797456663266871495262268489978687125912822256625829124612821254880943728905228262296606331852821921992936313461889381304113239348292249034494459495221816951668658659196718902324380517198037289399656445860292213873609622988505815460379085080392955447 10541568206366271924850028990646601065884518806426716215728450963385569716887469139718714200571638213151288235407184085555760710456633565916588877251800717995861935666874708850798401789512597486201264544517342272583356848446990530878074327619879853286376559085504208259141320105545691615007105630625195113002814078766194479325463521529141412141199436537364384619852817748879249000736832312431507196571632752244911012177070665010916091656779916987801834645803651507877139669629366799965136544117844957496553192125668936366080433671570929760041681995427044526301288454443173869240071729282079232163144476199084831008578874638287665664042043534039090590172879616382926635693301233454243310188808526907484701175633824988137595698943303839649015204436979045395141407362357025278487664865905981071403915235083019918953140225056006277873395119588230067644217931224605029606151763161888982198982028211425554126355675976912155155824612677697832118764914210439369552809980714888962934798323200582743017274464098266133115137495910912648732870716158818844903544134715288972295106718988017574593373778598571523057401630363939406701532522498179996521026510482455852147256372686566173365402843306245991003368902269696464885826409764902344982249413128202569178653399458928047705030216000055399169102781137573652234388042573347479955039966986988077296759466468051005693524650576995197565031545344460591910036522744669721136470835847418091401740539275150438451862695093629485045598887685616885529680852558365457462455038281653353811989647254336482349667032151635815650064005946448289405457608781015417337895771 17056615652625893641208862895653547908298877823352658789480859417004661019307542255556444758307500448793586270833023077768281137762378724889680055182395522376559501620503695077372619290109792732901137187660021272309889846035908334692661993288089129690165945005984014574100042414985897128186027666582578293522310675741339068444098209620464354394508821529851916755974164174054837404254810980549025003301036919359365238003961475773805069408868334657020737868562335421242796855074687505657663214628362227860458792657987120667057418300599366062177217854921706128200727173059640141738837800452958996021986855088570434475966472376736175215767331430802215803125112155072393024105792222076002879253177903850612629666186934743895807234580078167037505474743637713711394097168301970168534733520369073504620617458631233168574070791412713509142293804834095569748699787308372643147214226367481943798437866866672015711352491886996464907278952712786042020580165809604592783016616032559336929756358363992448720476371430169010261113144092322390640502681309670830671517426019331134871512024509859385553096111816328852089928428325812106396240907687107029768546431279428152845960016486442736626589554380431359847729875400770450427212775405571612050349896463811086523299553344452523408400301139389759271003594003870331278121746341587687390812352875247033486199068767848462356791522072257466055010232470373414166662351869282542391351779576323319664037145607003260373855631407091374426903000924965177778715347017860679279406706940312550530891971634853680386956431808081675942277879556071277911273069160100497730851218 27598183858992165566058891886300148974183396629779375005209310380390230736195011395275158958879138661944874506240207163324041848219012290806268932434196240372421437287378403928171021079622390219102401732177363544893246694482898865570736320907968982976542504091488222833241362520531588743193133297207773406525124754507533547769561731149605766535708258067216301375826981922934086404991643292980532199872669671604276250181032140784721161065648251644822572514365986929119936524704054305622799758746207185357011984783656057033137851972170295822218899850348750654502015627502814010978909529735038228185131331287655265484545347015023840879809374964841306393297991771455319659799093455530246189441986430758097330841820759732033402933523382006686520679180616759106535504530658995447022398386275054576024532693714253087527211016468719787015688924422325637392917718532977672753365989529370925997419895078097569837708167863908620063103565390483874139345080020043962335826596747448299864554681564575191737750835528435143376250640003235039373373397468489675575061560734620107166618743497876960146469890414900375147330058689751513097773430185287026289572941761884004993216389173008909991992397686677350851098777670466915313039185170473957032599309592013655701952952803380571113430517139445158440106375141443983512509788914935167345852319862235110782958535235899468050316172649252663620041777814834006076698874613952263527822615423741411065777684882153698825718326500720859472501888610582063308396199576226136741861745221965904342881618889190162736623463959717491592341885502519567316730677941115915068746989 44654799511618059207267754781953696882482274453132033794690169797394891755502553650831603717186639110738460777073230241092322985981391015695948987616591762748980938907882099005543640369732182952003538919837384817203136540518807200263398314196058112666708449097472237407341404935517485871379160963790351700047435430248872616213659940770070120930217079597068218131801146096988923809246454273529557203173706590963641488184993616558526230474516586301843310382928322350362733379778741811280462973374569413217470777441643177700195270272769661884396117705270456782702742800562454152717747330187997224207118186376225699960511819391760016095576706395643522196423103926527712683904885677606249068695164334608709960508007694475929210168103460173724026153924254472817929601698960965615557131906644128080645150152345486256101281807881433296157982729256421207141617505841350315900580215896852869795857761944769585549060659750905084970382518103269916159925245829648555118843212780007636794311039928567640458227206958604153637363784095557430013876078778160506246578986753951242038130768007736345699566002231229227237258487015563619494014337872394056058119373041312157839176405659451646618581952067108710698828653071237365740251960576045569082949206055824742225252506147833094521830818278834917711109969145314314790631535256522854736664672737482144269157604003747930407107694721510129675052010285207420243361226483234805919174395000064730729814830489156959199573957907812233899404889535547241087111546594086816021268452162278454873773590524043843123579895767799167534619765058590845228003747101216412799598207 72252983370610224773326646668253845856665671082911408799899480177785122491697565046106762676065777772683335283313437404416364834200403306502217920050788003121402376195260502933714661449354573171105940652014748362096383235001706065834134635104027095643250953188960460240582767456049074614572294260998125106572560184756406163983221671919675887465925337664284519507628128019923010214238097566510089403046376262567917738366025757343247391540164837946665882897294309279482669904482796116903262732120776598574482762225299234733333122244939957706615017555619207437204758428065268163696656859923035452392249517663880965445057166406783856975386081360484828589721095697983032343703979133136495258137150765366807291349828454207962613101626842180410546833104871231924465106229619961062579530292919182656669682846059739343628492824350153083173671653678746844534535224374327988653946205426223795793277657022867155386768827614813705033486083493753790299270325849692517454669809527455936658865721493142832195978042487039297013614424098792469387249476246650181821640547488571349204749511505613305846035892646129602384588545705315132591787768057681082347692314803196162832392794832460556610574349753786061549927430741704281053291145746519526115548515647838397927205458951213665635261335418280076151216344286758298303141324171458022082516992599717255052116139239647398457423867370762793295093788100041426320060101097187069446997010423806141795592515371310658025292284408533093371906778146129304395507746170312952763130197384244359216655209413234005860203359727516659126961650561110412544734425042332327868345196 116907782882228283980594401450207542739147945536043442594589649975180014247200118696938366393252416883421796060386667645508687820181794322198166907667379765870383315103142601939258301819086756123109479571852133179299519775520513266097532949300085208309959402286432697647924172391566560485951455224788476806619995615005278780196881612689746008396142417261352737639429274116911934023484551840039646606220082853531559226551019373901773622014681424248509193280222631629845403284261537928183725705495346011791953539666942412433528392517709619591011135260889664219907501228627722316414404190111032676599367704040106665405568985798543873070962787756128350786144199624510745027608864810742744326832315099975517251857836148683891823269730302354134572987029125704742394707928580926678136662199563310737314832998405225599729774632231586379331654382935168051676152730215678304554526421323076665589135418967636740935829487365718790003868601597023706459195571679341072573513022307463573453176761421710472654205249445643450650978208194349899401125555024810688068219534242522591242880279513349651545601894877358829621847032720878752085802105930075138405811687844508320671569200491912203229156301820894772248756083812941646793543106322565095198497721703663140152457965099046760157092153697114993862326313432072613093772859427980876819181665337199399321273743243395328864531562092272922970145798385248846563421327580421875366171405423870872525407345860467617224866242316345327271311667681676545482619292764399768784398649546522814090428799937277848983783255495315826661581415619701257772738172143548740667943403 189160766252838508753921048118461388595813616618954851394489130152965136738897683743045129069318194656105131343700105049925052654382197628700384827718167768991785691298403104872972963268441329294215420223866881541395903010522219331931667584404112303953210355475393157888506939847615635100523749485786601913192555799761684944180103284609421895862067754925637257147057402136834944237722649406549736009266459116099476964917045131245021013554846262195175076177516940909328073188744334045086988437616122610366436301892241647166861514762649577297626152816508871657112259656692990480111061050034068128991617221703987630850626152205327730046348869116613179375865295322493777371312843943879239584969465865342324543207664602891854436371357144534545119820133996936666859814158200887740716192492482493393984515844464964943358267456581739462505326036613914896210687954590006293208472626749300461382413075990503896322598314980532495037354685090777496758465897529033590028182831834919510112042482914853304850183291932682747664592632293142368788375031271460869889860081731093940447629791018962957391637787523488432006435578426193884677589873987756220753504002647704483503961995324372759839730651574680833798683514554645927846834252069084621314046237351501538079663424050260425792353489115395070013542657718830911396914183599438898901698657936916654373389882483042727321955429463035716265239586485290272883481428677608944813168415847677014320999861231778275250158526724878420643218445827805849878127038934712721547528846930767173307084009350511854843986615222832485788543066180811670317472597185881068536288599 306068549135066792734515449568668931334961562154998293989078780128145150986097802439983495462570611539526927404086772695433740474563991950898551735385547534862169006401545706812231265087528085417324899795719014720695422786042732598029200533704197512263169757761825855536431112239182195586475204710575078719812551414766963724376984897299167904258210172186989994786486676253746878261207201246589382615486541969631036191468064505146794635569527686443684269457739572539173476473005871973270714143111468622158389841559184059600389907280359196888637288077398535877019760885320712796525465240145100805590984925744094296256195138003871603117311656872741530162009494947004522398921708754621983911801780965317841795065500751575746259641087446888679692807163122641409254522086781814418852854692045804131299348842870190543088042088813325841836980419549082947886840684805684597762999048072377126971548494958140637258427802346251285041223286687801203217661469208374662601695854142383083565219244336563777504388541378326198315570840487492268189500586296271557958079615973616531690510070532312608937239682400847261628282611147072636763391979917831359159315690492212804175531195816284963068886953395575606047439598367587574640377358391649716512543959055164678232121389149307185949445642812510063875868971150903524490687043027419775720880323274116053694663625726438056186486991555308639235385384870539119446902756258030820179339821271547886846407207092245892475024769041223747914530113509482395360746331699112490331927496477289987397512809287789703827769870718148312450124481800512928090210769329429809204232002 495229315387905301488436497687130319930775178773953145383567910281110287724995486183028624531888806195632058747786877745358793128946189579598936563103715303853954697699948811685204228355969414711540320019585896262091325796564951929960868118108309816216380113237219013424938052086797830686998954196361680633005107214528648668557088181908589800120277927112627251933544078390581822498929850653139118624753001085730513156385109636391815649124373948638859345635256513448501549661750206018357702580727591232524826143451425706767251422043008774186263440893907407534132020542013703276636526290179168934582602147448081927106821290209199333163660525989354709537874790269498299770234552698501223496771246830660166338273165354467600696012444591423224812627297119578076114336244982702159569047184528297525283864687335155486446309545395065304342306456162997844097528639395690890971471674821677588353961570948644533581026117326783780078577971778578699976127366737408252629878685977302593677261727251417082354571833311008945980163472780634636977875617567732427847939697704710472138139861551275566328877469924335693634718189573266521440981853905587579912819693139917287679493191140657722908617604970256439846123112922233502487211610460734337826590196406666216311784813199567611741799131927905133889411628869734435887601226626858674622578981211032708068053508209480783508442421018344355500624971355829392330384184935639764992508237119224901167407068324024167725183295766102168557748559337288245238873370633825211879456343408057160704596818638301558671756485940980798238667547981324598407683366515310877740520601 801297864522972094222951947255799251265736740928951439372646690409255438711093288623012119994459417735158986151873650440792533603510181530497488298489262838716123704101494518497435493443497500128865219815304910982786748582607684527990068651812507328479549870999044868961369164325980026273474158906936759352817658629295612392934073079207757704378488099299617246720030754644328700760137051899728501240239543055361549347853174141538610284693901635082543615092996085987675026134756077991628416723839059854683215985010609766367641329323367971074900728971305943411151781427334416073161991530324269740173587073192176223363016428213070936280972182862096239699884285216502822169156261453123207408573027795978008133338666106043346955653532038311904505434460242219485368858331764516578421901876574101656583213530205346029534351634208391146179286875712080791984369324201375488734470722894054715325510065906785170839453919673035065119801258466379903193788835945782915231574540119685677242480971587980859858960374689335144295734313268126905167376203864003985806019313678327003828649932083588175266117152325182955263000800720339158204373833823418939072135383632130091855024386956942685977504558365832045893562711289821077127588968852384054339134155461830894543906202348874797691244774740415197765280600020637960378288269654278450343459304485148761762717133935918839694929412573652994736010356226368511777286941193670585171848058390772788013814275416270060200208064807325916472278672846770640599619702332937702211383839885347148102109627926091262499526356659129110688792029781837526497894135844740686944752603 1296527179910877395711388444942929571196511919702904584756214600690365726436088774806040744526348223930791044899660528186151326732456371110096424861592978142570078401801443330182639721799466914840405539834890807244878074379172636457950936769920817144695929984236263882386307216412777856960473113103298439985822765843824261061491161261116347504498766026412244498653574833034910523259066902552867619864992544141092062504238283777930425933818275583721402960728252599436176575796506284009986119304566651087208042128462035473134892751366376745261164169865213350945283801969348119349798517820503438674756189220640258150469837718422270269444632708851450949237759075486001121939390814151624430905344274626638174471611831460510947651665976629735129318061757361797561483194576747218737990949061102399181867078217540501515980661179603456450521593331875078636081897963597066379705942397715732303679471636855429704420480036999818845198379230244958603169916202683191167861453226096988270919742698839397942213532208000344090275897786048761542145251821431736413653959011383037475966789793634863741594994622249518648897718990293605679645355687729006518984955076772047379534517578097600408886122163336088485739685824212054579614800579313118392165724351868497110855691015548442409433043906668320331654692228890372396265889496281137124966038285696181469830770642145399623203371833591997350236635327582197904107671126129310350164356295509997689181221343740294227925391360573428085030027232184058885838493072966762914090840183293404308806706446564392821171282842600109908927459577763162124905577502360051564685273204 2097825044433849489934340392198728822462248660631856024128861291099621165147182063429052864520807641665950031051534178626943860335966552640593913160082240981286202105902937848680075215242964414969270759650195718227664822961780320985941005421733324473175479855235308751347676380738757883233947272010235199338640424473119873454425234340324105208877254125711861745373605587679239224019203954452596121105232087196453611852091457919469036218512177218803946575821248685423851601931262362001614536028405710941891258113472645239502534080689744716336064898836519294356435583396682535422960509350827708414929776293832434373832854146635341205725604891713547188937643360702503944108547075604747638313917302422616182604950497566554294607319508668047033823496217604017046852052908511735316412850937676500838450291747745847545515012813811847596700880207587159428066267287798441868440413120609787019004981702762214875259933956672853910318180488711338506363705038628974083093027766216673948162223670427378802072492582689679234571632099316888447312628025295740399459978325061364479795439725718451916861111774574701604160719791013944837849729521552425458057090460404177471389541965054543094863626721701920531633248535501875656742389548165502446504858507330328005399597217897317207124288681408735529419972828911010356644177765935415575309497590181330231593487776081318462898301246165650344972645683808566415884958067322980935336204353900770477195035619156564288125599425380754001502305905030829526438112775299700616302224023178751456908816074490484083670809199259239019616251607544999651403471638204792251630025807 3394352224344726885645728837141658393658760580334760608885075891789986891583270838235093609047155865596741075951194706813095187068422923750690338021675219123856280507704381178862714937042431329809676299485086525472542897340952957443891942191654141617871409839471572633733983597151535740194420385113533639324463190316944134515916395601440452713376020152124106244027180420714149747278270857005463740970224631337545674356329741697399462152330452802525349536549501284860028177727768646011600655332972362029099300241934680712637426832056121461597229068701732645301719385366030654772759027171331147089685965514472692524302691865057611475170237600564998138175402436188505066047937889756372069219261577049254357076562329027065242258985485297782163141557974965814608335247485258954054403799998778900020317369965286349061495673993415304047222473539462238064148165251395508248146355518325519322684453339617644579680413993672672755516559718956297109533621241312165250954480992313662219081966369266776744286024790690023324847529885365649989457879846727476813113937336444401955762229519353315658456106396824220253058438781307550517495085209281431977042045537176224850924059543152143503749748885038009017372934359713930236357190127478620838670582859198825116255288233445759616557332588077055861074665057801382752910067262216552700275535875877511701424258418226718086101673079757647695209281011390764319992629193452291285500560649410768166376256962896858516050990785954182086532333137214888412276605848266463530393064206472155765715522521054876904842092041859348928543711185308161776309049140564843816315299011 5492177268778576375580069229340387216121009240966616633013937182889608056730452901664146473567963507262691107002728885440039047404389476391284251181757460105142482613607319027542790152285395744778947059135282243700207720302733278429832947613387466091046889694706881385081659977890293623428367657123768838663103614790064007970341629941764557922253274277835967989400786008393388971297474811458059862075456718533999286208421199616868498370842630021329296112370749970283879779659031008013215191361378072970990558355407325952139960912745866177933293967538251939658154968762713190195719536522158855504615741808305126898135546011692952680895842492278545327113045796891009010156484965361119707533178879471870539681512826593619536866304993965829196965054192569831655187300393770689370816650936455400858767661713032196607010686807227151643923353747049397492214432539193950116586768638935306341689435042379859454940347950345526665834740207667635615897326279941139334047508758530336167244190039694155546358517373379702559419161984682538436770507872023217212573915661505766435557669245071767575317218171398921857219158572321495355344814730833857435099135997580402322313601508206686598613375606739929549006182895215805893099579675644123285175441366529153121654885451343076823681621269485791390494637886712393109554245028151968275585033466058841933017746194308036548999974325923298040181926695199330735877587260775272220836765003311538643571292582053422804176590211334936088034639042245717938714718623566164146695288229650907222624338595545360988512901241118587948159962792853161427712520778769636067945324818 8886529493123303261225798066482045609779769821301377241899013074679594948313723739899240082615119372859432182953923592253134234472812400141974589203432679228998763121311700206405505089327827074588623358620368769172750617643686235873724889805041607708918299534178454018815643575041829363622788042237302477987566805107008142486258025543205010635629294429960074233427966429107538718575745668463523603045681349871544960564750941314267960523173082823854645648920251255143907957386799654024815846694350435000089858597342006664777387744801987639530523036239984584959874354128743844968478563693490002594301707322777819422438237876750564156066080092843543465288448233079514076204422855117491776752440456521124896758075155620684779125290479263611360106612167535646263522547879029643425220450935234300879085031678318545668506360800642455691145827286511635556362597790589458364733124157260825664373888381997504034620761944018199421351299926623932725430947521253304585001989750843998386326156408960932290644542164069725884266691870048188426228387718750694025687852997950168391319898764425083233773324568223142110277597353629045872839899940115289412141181534756627173237661051358830102363124491777938566379117254929736129456769803122744123846024225727978237910173684788836440238953857562847251569302944513775862464312290368520975860569341936353634442004612534754635101647405680945735391207706590095055870216454227563506337325652722306809947549544950281320227580997289118174566972179460606350991324471832627677088352436123062988339861116600237893354993282977936876703673978161323204021569919334479884260623829 14378706761901879636805867295822432825900779062267993874912950257569203005044176641563386556183082880122123289956652477693173281877201876533258840385190139334141245734919019233948295241613222819367570417755651012872958337946419514303557837418429073799965189228885335403897303552932122987051155699361071316650670419897072150456599655484969568557882568707796042222828752437500927689873220479921583465121138068405544246773172140931136458894015712845183941761291001225427787737045830662038031038055728507971080416952749332616917348657547853817463817003778236524618029322891457035164198100215648858098917449131082946320573783888443516836961922585122088792401494029970523086360907820478611484285619335992995436439587982214304315991595473229440557071666360105477918709848272800332796037101871689701737852693391350742275517047607869607335069181033561033048577030329783408481319892796196132006063323424377363489561109894363726087186040134291568341328273801194443919049498509374334553570346448655087837003059537449428443685853854730726862998895590773911238261768659455934826877568009496850809090542739622063967496755925950541228184714670949146847240317532337029495551262559565516700976500098517868115385300150145542022556349478766867409021465592257131359565059136131913263920575127048638642063940831226168972018557318520489251445602807995195567459750806842791184101621731604243775573134401789425791747803715002835727174090656033845453518842127003704124404171208624054262601611221706324289706043095398791823783640665773970210964199712145598881867894524096524824863636771014484631734090698104115952205948647 23265236255025182898031665362304478435680548883569371116811963332248797953357900381462626638798202252981555472910576069946307516350014276675233429588622818563140008856230719440353800330941049893956193776376019782045708955590105750177282727223470681508883488763063789422712947127973952350673943741598373794638237225004080292942857681028174579193511863137756116456256718866608466408448966148385107068166819418277089207337923082245404419417188795669038587410211252480571695694432630316062846884750078942971170275550091339281694736402349841456994340040018221109577903677020200880132676663909138860693219156453860765743012021765194080993028002677965632257689942263050037162565330675596103261038059792514120333197663137834989095116885952493051917178278527641124182232396151829976221257552806924002616937725069669287944023408408512063026215008320072668604939628120372866846053016953456957670437211806374867524181871838381925508537340060915501066759221322447748504051488260218332939896502857616020127647601701519154327952545724778915289227283309524605263949621657406103218197466773921934042863867307845206077774353279579587101024614611064436259381499067093656668788923610924346803339624590295806681764417405075278152013119281889611532867489817985109597475232820920749704159528984611485893633243775739944834482869608889010227306172149931549201901755419377545819203269137285189510964342108379520847618020169230399233511416308756152263466391671953985444631752205913172437168583401166930640697367567231419500871993101897033199304060828745836775222887807074461701567310749175807835755660617438595836466572476 37643943016927062534837532658126911261581327945837364991724913589818000958402077023026013194981285133103678762867228547639480798227216153208492269973812957897281254591149738674302095572554272713323764194131670794918667293536525264480840564641899755308848677991949124826610250680906075337725099440959445111288907644901152443399457336513144147751394431845552158679085471304109394098322186628306690533287957486682633454111095223176540878311204508514222529171502253705999483431478460978100877922805807450942250692502840671898612085059897695274458157043796457634195932999911657915296874764124787718792136605584943712063585805653637597829989925263087721050091436293020560248926238496074714745323679128507115769637251120049293411108481425722492474249944887746602100942244424630309017294654678613704354790418461020030219540456016381670361284189353633701653516658450156275327372909749653089676500535230752231013742981732745651595723380195207069408087495123642192423100986769592667493466849306271107964650661238968582771638399579509642152226178900298516502211390316862038045075034783418784851954410047467270045271109205530128329209329282013583106621816599430686164340186170489863504316124688813674797149717555220820174569468760656478941888955410242240957040291957052662968080104111660124535697184606966113806501426927409499478751774957926744769361506226220337003304890868889433286537476510168946639365823884233234960685506964789997716985233798957689569035923414537226699770194622873254930403410662630211324655633767671003410268260540891435657090782331170986526430947520190292467489751315542711788672521123 60909179271952245432869198020431389697261876829406736108536876922066798911759977404488639833779487386085234235777804617585788314577230429883725699562435776460421263447380458114655895903495322607279957970507690576964376249126631014658123291865370436817732166755012914249323197808880027688399043182557818905927144869905232736342315017541318726944906294983308275135342190170717860506771152776691797601454776904959722661449018305421945297728393304183261116581713506186571179125911091294163724807555886393913420968052932011180306821462247536731452497083814678743773836676931858795429551428033926579485355762038804477806597827418831678823017927941053353307781378556070597411491569171670818006361738921021236102834914257884282506225367378215544391428223415387726283174640576460285238552207485537706971728143530689318163563864424893733387499197673706370258456286570529142173425926703110047346937747037127098537924853571127577104260720256122570474846716446089940927152475029811000433363352163887128092298262940487737099590945304288557441453462209823121766161011974268141263272501557340718894818277355312476123045462485109715430233943893078019366003315666524342833129109781414210307655749279109481478914134960296098326582588042546090474756445228227350554515524777973412672239633096271610429330428382706058640984296536298509706057947107858293971263261645597882822508160006174622797501818618548467486983844053463634194196923273546149980451625470911675013667675620450399136938778024040185571100778229861630825527626869568036609572321369637272432313670138245448227998258269366100303245411932981307625139093599 98553122288879307967706730678558300958843204775244101100261790511884799870162054427514653028760772519188912998645033165225269112804446583092217969536248734357702518038530196788957991476049595320603722164639361371883043542663156279138963856507270192126580844746962039075933448489786103026124142623517264017216052514806385179741772354054462874696300726828860433814427661474827254605093339404998488134742734391642356115560113528598486176039597812697483645753215759892570662557389552272264602730361693844855671660555772683078918906522145232005910654127611136377969769676843516710726426192158714298277492367623748189870183633072469276653007853204141074357872814849091157660417807667745532751685418049528351872472165377933575917333848803938036865678168303134328384116885001090594255846862164151411326518561991709348383104320441275403748783387027340071911972945020685417500798836452763137023438282267879329551667835303873228699984100451329639882934211569732133350253461799403667926830201470158236056948924179456319871229344883798199593679641110121638268372402291130179308347536340759503746772687402779746168316571690639843759443273175091602472625132265955028997469295951904073811971873967923156276063852515516918501152056803202569416645400638469591511555816735026075640319737207931734965027612989672172447485723463708009184809722065785038740624767871818219825813050875064056084039295128717414126349667937696869154882430238336147697436859269869364582703599034987625836708972646913440501504188892491842150183260637239040019840581910528708089404452469416434754429205789556392770735163248524019413811614722 159462301560831553400575928698989690656105081604650837208798667433951598781922031832003292862540259905274147234422837782811057427381677012975943669098684510818123781485910654903613887379544917927883680135147051948847419791789787293797087148372640628944313011501974953325256646298666130714523185806075082923143197384711617916084087371595781601641207021812168708949769851645545115111864492181690285736197511296602078777009131834020431473767991116880744762334929266079141841683300643566428327537917580238769092628608704694259225727984392768737363151211425815121743606353775375506155977620192640877762848129662552667676781460491300955476025781145194427665654193405161755071909376839416350758047156970549587975307079635817858423559216182153581257106391718522054667291525577550879494399069649689118298246705522398666546668184866169137136282584701046442170429231591214559674224763155873184370376029305006428089592688875000805804244820707452210357780928015822074277405936829214668360193553634045364149247187119944056970820290188086757035133103319944760034533414265398320571620037898100222641590964758092222291362034175749559189677217068169621838628447932479371830598405733318284119627623247032637754977987475813016827734644845748659891401845866696942066071341512999488312559370304203345394358041372378231088470020000006518890867669173643332711888029517416102648321210881238678881541113747265881613333511991160503349079353511882297677888484740781039596371274655438024973647750670953626072604967122353472975710887506807076629412903280165980521718122607661882982427464058922493073980575181505327038950708321 258015423849710861368282659377547991614948286379894938309060457945836398652084086259517945891301032424463060233067870948036326540186123596068161638634933245175826299524440851692571878855594513248487402299786413320730463334452943572936051004879910821070893856248936992401190094788452233740647328429592346940359249899518003095825859725650244476337507748641029142764197513120372369716957831586688773870940245688244434892569245362618917649807588929578228408088145025971712504240690195838692930268279274083624764289164477377338144634506538000743273805339036951499713376030618892216882403812351355176040340497286300857546965093563770232129033634349335502023527008254252912732327184507161883509732575020077939847779245013751434340893064986091618122784560021656383051408410578641473750245931813840529624765267514108014929772505307444540885065971728386514082402176611899977175023599608636321393814311572885757641260524178874034504228921158781850240715139585554207627659398628618336287023755104203600206196111299400376842049635071884956628812744430066398302905816556528499879967574238859726388363652160871968459678605866389402949120490243261224311253580198434400828067701685222357931599497214955794031041839991329935328886701648951229308047246505166533577627158248025563952879107512135080359385654362050403535955743463714528075677391239428371452512797389234322474134261756302734965580408875983295739683179928857372503961783750218445375325344010650404179074873690425650810356723317867066574109156014845315125894148144046116649253485190694688611122575077078317736856669848478885844715738430029346452762323043 417477725410542414768858588076537682271053367984545775517859125379787997434006118091521238753841292329737207467490708730847383967567800609044105307733617755993950081010351506596185766235139431176371082434933465269577883126242730866733138153252551450015206867750911945726446741087118364455170514235667429863502447284229621011909947097246026077978714770453197851713967364765917484828822323768379059607137756984846513669578377196639349123575580046458973170423074292050854345923990839405121257806196854322393856917773182071597370362490930769480636956550462766621456982384394267723038381432543996053803188626948853525223746554055071187605059415494529929689181201659414667804236561346578234267779731990627527823086324649569292764452281168245199379890951740178437718699936156192353244645001463529647923011973036506681476440690173613678021348556429432956252831408203114536849248362764509505764190340877892185730853213053874840308473741866234060598496067601376281905065335457833004647217308738248964355443298419344433812869925259971713663945847750011158337439230821926820451587612136959949029954616918964190751040640042138962138797707311430846149882028130913772658666107418540642051227120461988431786019827467142952156621346494699889199449092371863475643698499761025052265438477816338425753743695734428634624425763463721046966545060413071704164400826906650425122455472637541413847121522623249177353016691920017875853041137262100743053213828751431443775446148345863675784004473988820692646714123137198788101605035650853193278666388470860669132840697684740200719284133907401378918696313611534673491713031364 675493149260253276137141247454085673886001654364440713826919583325624396086090204351039184645142324754200267700558579678883710507753924205112266946368551001169776380534792358288757645090733944424858484734719878590308346460695674439669189158132462271086100723999848938127636835875570598195817842665259776803861697183747624107735806822896270554316222519094226994478164877886289854545780155355067833478078002673090948562147622559258266773383168976037201578511219318022566850164681035243814188074476128406018621206937659448935514996997468770223910761889499718121170358415013159939920785244895351229843529124235154382770711647618841419734093049843865431712708209913667580536563745853740117777512307010705467670865569663320727105345346154336817502675511761834820770108346734833826994890933277370177547777240550614696406213195481058218906414528157819470335233584815014514024271962373145827158004652450777943372113737232748874812702663025015910839211207186930489532724734086451340934241063842452564561639409718744810654919560331856670292758592180077556640345047378455320331555186375819675418318269079836159210719245908528365087918197554692070461135608329348173486733809103762999982826617676944225817061667458472887485508048143651118507496338877030009221325658009050616218317585328473506113129350096479038160381506927435575042222451652500075616913624295884747596589734393844148812701931499232473092699871848875248357002921012319188428539172762081847954521022036289326594361197306687759220823279152044103227499183794899309927919873661555357743963272761818518456140803755880264763412052041564019944475354407 1092970874670795690905999835530623356157055022348986489344778708705412393520096322442560423398983617083937475168049288409731094475321724814156372254102168757163726461545143864884943411325873375601229567169653343859886229586938405306402327311385013721101307591750760883854083576962688962650988356900927206667364144467977245119645753920142296632294937289547424846192132242652207339374602479123446893085215759657937462231725999755897615896958749022496174748934293610073421196088671874648935445880672982728412478124710841520532885359488399539704547718439962484742627340799407427662959166677439347283646717751184007907994458201673912607339152465338395361401889411573082248340800307200318352045292039001332995493951894312890019869797627322582016882566463502013258488808282891026180239535934740899825470789213587121377882653885654671896927763084587252426588064993018129050873520325137655332922194993328670129102966950286623715121176404891249971437707274788306771437790069544284345581458372580701528917082708138089244467789485591828383956704439930088714977784278200382140783142798512779624448272885998800349961759885950667327226715904866122916611017636460261946145399916522303642034053738138932657603081494925615839642129394638351007706945431248893484865024157770075668483756063144811931866873045830907672784807270391156622008767512065571779781314451202535172719045207031385562659823454122481650445716563768893124210044058274419931481753001513513291729967170382153002378365671295508451867537402289242891329104219445752503206586262132416026876803970446558719175424937663281643682108365653098693436188385771 1768464023931048967043141082984709030043056676713427203171698292031036789606186526793599608044125941838137742868607868088614804983075649019268639200470719758333502842079936223173701056416607320026088051904373222450194576047634079746071516469517475992187408315750609821981720412838259560846806199566186983471225841651724869227381560743038567186611159808641651840670297120538497193920382634478514726563293762331028410793873622315155882670341917998533376327445512928095988046253352909892749633955149111134431099331648500969468400356485868309928458480329462202863797699214420587602879951922334698513490246875419162290765169849292754027073245515182260793114597621486749828877364053054058469822804346012038463164817463976210746975142973476918834385241975263848079258916629625860007234426868018270003018566454137736074288867081135730115834177612745071896923298577833143564897792287510801160080199645779448072475080687519372589933879067916265882276918481975237260970514803630735686515699436423154093478722117856834055122709045923685054249463032110166271618129325578837461114697984888599299866591155078636509172479131859195692314634102420814987072153244789610119632133725626066642016880355815876883420143162384088727127637442782002126214441770125923494086349815779126284702073648473285437980002395927386710945188777318592197050989963718071855398228075498419920315634941425229711472525385621714123538416435617768372567046979286739119910292174275595139684488192418442328972726868602196211088360681441286994556603403240651813134506135793971384620767243208377237631565741419161908445520417694662713380663740178 2861434898601844657949140918515332386200111699062413692516477000736449183126282849236160031443109558922075218036657156498345899458397373833425011454572888515497229303625080088058644467742480695627317619074026566310080805634572485052473843780902489713288715907501370705835803989800948523497794556467114190138589986119702114347027314663180863818906097098189076686862429363190704533294985113601961619648509521988965873025599622071053498567300667021029551076379806538169409242342024784541685079835822093862843577456359342490001285715974267849633006198769424687606425040013828015265839118599774045797136964626603170198759628050966666634412397980520656154516487033059832077218164360254376821868096385013371458658769358289100766844940600799500851267808438765861337747724912516886187473962802759169828489355667724857452171520966790402012761940697332324323511363570851272615771312612648456493002394639108118201578047637805996305055055472807515853714625756763544032408304873175020032097157809003855622395804825994923299590498531515513438206167472040254986595913603779219601897840783401378924314864041077436859134239017809863019541350007286937903683170881249872065777533642148370284050934093954809541023224657309704566769766837420353133921387201374816978951373973549201953185829711618097369846875441758294383729996047709748819059757475783643635179542526700955093034680148456615274132348839744195773984132999386661496777091037561159051392045175789108431414455362800595331351092539897704662955898083730529885885707622686404316341092397926387411497571213654935956806990679082443552127628783347761406816852125949 4629898922532893624992282001500041416243168375775840895688175292767485972732469376029759639487235500760212960905265024586960704441473022852693650655043608273830732145705016311232345524159088015653405670978399788760275381682206564798545360250419965705476124223251980527817524402639208084344600756033301173609815827771426983574408875406219431005517256906830728527532726483729201727215367748080476346211803284319994283819473244386209381237642585019562927403825319466265397288595377694434434713790971204997274676788007843459469686072460136159561464679098886890470222739228248602868719070522108744310627211502022332489524797900259420661485643495702916947631084654546581906095528413308435291690900731025409921823586822265311513820083574276419685653050414029709417006641542142746194708389670777439831507922121862593526460388047926132128596118310077396220434662148684416180669104900159257653082594284887566274053128325325368894988934540723781735991544238738781293378819676805755718612857245427009715874526943851757354713207577439198492455630504150421258214042929358057063012538768289978224181455196156073368306718149669058711855984109707752890755324126039482185409667367774436926067814449770686424443367819693793293897404280202355260135828971500740473037723789328328237887903360091382807826877837685681094675184825028341016110747439501715490577770602199375013350315089881844985604874225365909897522549435004429869344138016847898171302337350064703571098943555219037660323819408499900874044258765171816880442311025927056129475598533720358796118338456863313194438556420501605460573149201042424120197515866127 7491333821134738282941422920015373802443280074838254588204652293503935155858752225265919670930345059682288178941922181085306603899870396686118662109616496789327961449330096399290989991901568711280723290052426355070356187316779049851019204031322455418764840130753351233653328392440156607842395312500415363748405813891129097921436190069400294824423354005019805214395155846919906260510352861682437965860312806308960156845072866457262879804943252040592478480205126004434806530937402478976119793626793298860118254244367185949470971788434404009194470877868311578076647779242076618134558189121882790107764176128625502688284425951226087295898041476223573102147571687606413983313692773562812113558997116038781380482356180554412280665024175075920536920858852795570754754366454659632382182352473536609659997277789587450978631909014716534141358059007409720543946025719535688796440417512807714146084988923995684475631175963131365200043990013531297589706169995502325325787124549980775750710015054430865338270331769846680654303706108954711930661797976190676244809956533137276664910379551691357148496319237233510227440957167478921731397334116994690794438495007289354251187201009922807210118748543725495965466592477003497860667171117622708394057216172875557451989097762877530191073733071709480177673753279443975478405180872738089835170504915285359125757313128900330106384995238338460259737223065110105671506682434391091366121229054409057222694382525853812002513398918019632991674911948397605537000156848902346766328018648613460445816690931646746207615909670518249151245547099584049012700777984390185527014367992076 12121232743667631907933704921515415218686448450614095483892827586271421128591221601295679310417580560442501139847187205672267308341343419538812312764660105063158693595035112710523335516060656726934128961030826143830631568998985614649564564281742421124240964354005331761470852795079364692186996068533716537358221641662556081495845065475619725829940610911850533741927882330649107987725720609762914312072116090628954440664546110843472261042585837060155405884030445470700203819532780173410554507417764503857392931032375029408940657860894540168755935556967198468546870518470325221003277259643991534418391387630647835177809223851485507957383684971926490049778656342152995889409221186871247405249897847064191302305943002819723794485107749352340222573909266825280171761007996802378576890742144314049491505199911450044505092297062642666269954177317487116764380687868220104977109522412966971799167583208883250749684304288456734095032924554255079325697714234241106619165944226786531469322872299857875054144858713698438009016913686393910423117428480341097503023999462495333727922918319981335372677774433389583595747675317147980443253318226702443685193819133328836436596868377697244136186562993496182389909960296697291154564575397825063654193045144376297925026821552205858428961636431800862985500631117129656573080365697766430851281252354787074616335083731099705119735310328220305245342097290476015569029231869395521235465367071256955393996719875918515573612342473238670651998731356897506411044415614074163646770329674540516575292289465367105003734248127381562345684103520085654473273927185432609647211883858203 19612566564802370190875127841530789021129728525452350072097479879775356284449973826561598981347925620124789318789109386757573912241213816224930974874276601852486655044365209109814325507962225438214852251083252498900987756315764664500583768313064876543005804484758682995124181187519521300029391381034131901106627455553685179417281255545020020654363964916870338956323038177569014248236073471445352277932428896937914597509618977300735140847529089100747884364235571475135010350470182652386674301044557802717511185276742215358411629649328944177950406434835510046623518297712401839137835448765874324526155563759273337866093649802711595253281726448150063151926228029759409872722913960434059518808894963102972682788299183374136075150131924428260759494768119620850926515374451462010959073094617850659151502477701037495483724206077359200411312236324896837308326713587755793773549939925774685945252572132878935225315480251588099295076914567786376915403884229743431944953068776767307220032887354288740392415190483545118663320619795348622353779226456531773747833955995632610392833297871672692521174093670623093823188632484626902174650652343697134479632314140618190687784069387620051346305311537221678355376552773700789015231746515447772048250261317251855377015919315083388620035369503510343163174384396573632051485546570504520686451757270072433742092396860000035226120305566558765505079320355586121240535914303786612601586596125666012616691102401772327576125741391258303643673643305295111948044572462976510413098348323153977021108980397013851211350157797899811496929650619669703485974705169822795174226251850279 31733799308470002098808832763046204239816176976066445555990307466046777413041195427857278291765506180567290458636296592429841220582557235763743287638936706915645348639400321820337661024022882165148981212114078642731619325314750279150148332594807297667246768838764014756595033982598885992216387449567848438464849097216241260913126321020639746484304575828720872698250920508218122235961794081208266590004544987566869038174165088144207401890114926160903290248266016945835214170002962825797228808462322306574904116309117244767352287510223484346706341991802708515170388816182727060141112708409865858944546951389921173043902873654197103210665411420076553201704884371912405762132135147305306924058792810167163985094242186193859869635239673780600982068677386446131098276382448264389535963836762164708643007677612487539988816503140001866681266413642383954072707401455975898750659462338741657744420155341762185974999784540044833390109839122041456241101598463984538564119013003553838689355759654146615446560049197243556672337533481742532776896654936872871250857955458127944120756216191654027893851868104012677418936307801774882617903970570399578164826133273947027124380937765317295482491874530717860745286513070398080169796321913272835702443306461628153302042740867289247048997005935311206148675015513703288624565912268270951537733009624859508358427480591099740345855615894779070750421417646062136809565146173182133837051963196922968010687822277690843149738083864496974295672374662192618359088988077050674059868677997694493596401269862380956215084405925281373842613754139755357959248632355255404821438135708482 51346365873272372289683960604576993260945905501518795628087787345822133697491169254418877273113431800692079777425405979187415132823771051988674262513213308768132003683765530930151986531985107603363833463197331141632607081630514943650732100907872174210252573323522697751719215170118407292245778830601980339571476552769926440330407576565659767138668540745591211654573958685787136484197867552653618867936973884504783635683784065444942542737644015261651174612501588420970224520473145478183903109506880109292415301585859460125763917159552428524656748426638218561793907113895128899278948157175740183470702515149194510909996523456908698463947137868226616353631112401671815634855049107739366442867687773270136667882541369567995944785371598208861741563445506066982024791756899726400495036931380015367794510155313525035472540709217361067092578649967280791381034115043731692524209402264516343689672727474641121200315264791632932685186753689827833156505482693727970509072081780321145909388647008435355838975239680788675335658153277091155130675881393404644998691911453760554513589514063326720415025961774635771242124940286401784792554622914096712644458447414565217812165007152937346828797186067939539100663065844098869185028068428720607750693567778880008679058660182372635669032375438821549311849399910276920676051458838775472224184766894931942100519877451099775571975921461337836255500738001648258050101060476968746438638559322588980627378924679463170725863825255755277939346017967487730307133560540027184472967026320848470617510250259394807426434563723181185339543404759425061445223337525078199995664387558761 83080165181742374388492793367623197500762082477585241184078094811868911110532364682276155564878937981259370236061702571617256353406328287752417550152150015683777352323165852750489647556007989768512814675311409784364226406945265222800880433502679471877499342162286712508314249152717293284462166280169828778036325649986167701243533897586299513622973116574312084352824879194005258720159661633861885457941518872071652673857949153589149944627758941422554464860767605366805438690476108303981131917969202415867319417894976704893116204669775912871363090418440927076964295930077855959420060865585606042415249466539115683953899397111105801674612549288303169555335996773584221396987184255044673366926480583437300652976783555761855814420611271989462723632122892513113123068139347990790031000768142180076437517832926012575461357212357362933773845063609664745453741516499707591274868864603258001434092882816403307175315049331677766075296592811869289397607081157712509073191094783874984598744406662581971285535288878032232007995686758833687907572536330277516249549866911888498634345730254980748308877829878648448661061248088176667410458593484496290809284580688512244936545944918254642311289060598657399845949578914496949354824390341993443453136874240508161981101401049661882718029381374132755460524415423980209300617371107046423761917776519791450458947358042199515917831537356116907005922155647710394859666206650150880275690522519511948638066746957154013875601909120252252235018392629680348666222548617077858532835704318542964213911520121775763641518969648462559182157158899180419404471969880333604817102523267243 134426531055014746678176753972200190761707987979104036812165882157691044808023533936695032837992369781951450013487108550804671486230099339741091812665363324451909356006931383680641634087993097371876648138508740925996833488575780166451612534410551646087751915485809410260033464322835700576707945110771809117607802202756094141573941474151959280761641657319903296007398837879792395204357529186515504325878492756576436309541733219034092487365402956684205639473269193787775663210949253782165035027476082525159734719480836165018880121829328341396019838845079145638758203043972984858699009022761346225885951981688310194863895920568014500138559687156529785908967109175256037031842233362784039809794168356707437320859324925329851759205982870198324465195568398580095147859896247717190526037699522195444232027988239537610933897921574724000866423713576945536834775631543439283799078266867774345123765610291044428375630314123310698760483346501697122554112563851440479582263176564196130508133053671017327124510528558820907343653840035924843038248417723682161248241778365649053147935244318307468723903791653284219903186188374578452203013216398593003453743028103077462748710952071191989140086246666596938946612644758595818539852458770714051203830442019388170660160061232034518387061756812954304772373815334257129976668829945821895986102543414723392559467235493299291489807458817454743261422893649358652909767267127119626714329081842100929265445671636617184601465734376007530174364410597168078973356109157105043005802730639391434831421770381170571067953533371643744521700563658605480849695307405411804812766910826004 217506696236757121066669547339823388262470070456689277996243976969559955918555898618971188402871307763210820249548811122421927839636427627493509362817513340135686708330097236431131281644001087140389462813820150710361059895521045389252492967913231117965251257648096122768347713475552993861170111390941637895644127852742261842817475371738258794384614773894215380360223717073797653924517190820377389783820011628648088983399682372623242431993161898106760104334036799154581101901425362086146166945445284941027054137375812869911996326499104254267382929263520072715722498974050840818119069888346952268301201448227425878817795317679120301813172236444832955464303105948840258428829417617828713176720648940144737973836108481091707573626594142187787188827691291093208270928035595707980557038467664375520669545821165550186395255133932086934640268777186610282288517148043146875073947131471032346557858493107447735550945363454988464835779939313566411951719645009152988655454271348071115106877460333599298410045817436853139351649526794758530945820954053959677497791645277537551782280974573288217032781621531932668564247436462755119613471809883089294263027608791589707685256896989446631451375307265254338792562223673092767894676849112707494656967316259896332641261462281696401105091138187087060232898230758237339277286201052868319748020319934514843018414593535498807407638996173571650267345049297069047769433473777270506990019604361612877903512418593771198477067643496259782409382803226848427639578657774182901538638434957934399045333290502946334709472503020106303703857722557785900254167277285745409629869434093247 351933227291771867744846301312023579024178058435793314808409859127251000726579432555666221240863677545162270263035919673226599325866526967234601175482876664587596064337028620111772915731994184512266110952328891636357893384096825555704105502323782764053003173133905533028381177798388694437878056501713447013251930055498355984391416845890218075146256431214118676367622554953590049128874720006892894109698504385224525292941415591657334919358564854790965743807305992942356765112374615868311201972921367466186788856856649034930876448328432595663402768108599218354480702018023825676818078911108298494187153429915736073681691238247134801951731923601362741373270215124096295460671650980612752986514817296852175294695433406421559332832577012386111654023259689673303418787931843425171083076167186570964901573809405087797329153055506810935506692490763555819123292779586586158873025398338806691681624103398492163926575677578299163596263285815263534505832208860593468237717447912267245615010514004616625534556345995674046695303366830683373984069371777641838746033423643186604930216218891595685756685413185216888467433624837333571816485026281682297716770636894667170433967849060638620591461553931851277739174868431688586434529307883421545860797758279284503301421523513730919492152895000041365005272046092494469253955030998690215734122863349238235577881829028798098897446454991026393528767942946427700679200740904390133704348686203713807168958090230388383078533377872267312583747213824016506612934766931287944544441165597325833876755060884116905777426036391750048225558286216391381103862584691157214442636344919251 569439923528528988811515848651846967286648128892482592804653836096810956645135331174637409643734985308373090512584730795648527165502954594728110538300390004723282772667125856542904197375995271652655573766149042346718953279617870944956598470237013882018254430782001655796728891273941688299048167892655084908896057908240617827208892217628476869530871205108334056727846272027387703053391910827270283893518516013872614276341097964280577351351726752897725848141342792096937867013799977954457368918366652407213842994232461904842872774827536849930785697372119291070203200992074666494937148799455250762488354878143161952499486555926255103764904160046195696837573321072936553889501068598441466163235466236996913268531541887513266906459171154573898842850950980766511689715967439133151640114634850946485571119630570637983724408189438897870146961267950166101411809927629733033946972529809839038239482596505939899477521041033287628432043225128829946457551853869746456893171719260338360721887974338215923944602163432527186046952893625441904929890325831601516243825068920724156712497193464883902789467034717149557031681061300088691429956836164771591979798245686256878119224746050085252042836861197105616531737092104781354329206156996129040517765074539180835942682985795427320597244033187128425238170276850731808531241232051558535482143183283753078596296422564296906305085451164598043796112992243496748448634214681660640694368290565326685072470508824159581555601021368527094993130017050864934252513424705470846083079600555260232922088351387063240486898539411856351929416008774177281358029861976902624072505779012498 921373150820300856556362149963870546310826187328275907613063695224061957371714763730303630884598662853535360775620650468875126491369481561962711713783266669310878837004154476654677113107989456164921684718477933983076846663714696500660703972560796646071257603915907188825110069072330382736926224394368531922147987963738973811600309063518694944677127636322452733095468826980977752182266630834163178003217020399097139569282513555937912270710291607688691591948648785039294632126174593822768570891288019873400631851089110939773749223155969445594188465480718509424683903010098492171755227710563549256675508308058898026181177794173389905716636083647558438210843536197032849350172719579054219149750283533849088563226975293934826239291748166960010496874210670439815108503899282558322723190802037517450472693439975725781053561244945708805653653758713721920535102707216319192819997928148645729921106699904432063404096718611586792028306510944093480963384062730339925130889167172605606336898488342832549479158509428201232742256260456125278913959697609243354989858492563910761642713412356479588546152447902366445499114686137422263246441862446453889696568882580924048553192595110723872634298415128956894270911960536469940763735464879550586378562832818465339244104509309158240089396928187169790243442322943226277785196263050248751216266046632991314174178251593095005202531906155624437324880935189924449127834955586050774398716976769040492241428599054547964634134399240794407576877230874881440865448191636758790627520766152586066798843412271180146264324575803606400154974294990568662461892446668059838515142123931749 1490813074348829845367877998615717513597474316220758500417717531320872914016850094904941040528333648161908451288205381264523653656872436156690822252083656674034161609671280333197581310483984727817577258484626976329795799943332567445617302442797810528089512034697908844621838960346272071035974392287023616831044045871979591638809201281147171814207998841430786789823315099008365455235658541661433461896735536412969753845623611520218489622062018360586417440089991577136232499139974571777225939809654672280614474845321572844616621997983506295524974162852837800494887104002173158666692376510018800019163863186202059978680664350099645009481540243693754135048416857269969403239673788177495685312985749770846001831758517181448093145750919321533909339725161651206326798219866721691474363305436888463936043813070546363764777969434384606675800615026663888021946912634846052226766970457958484768160589296410371962881617759644874420460349736072923427420935916600086382024060886432943967058786462681048473423760672860728418789209154081567183843850023440844871233683561484634918355210605821363491335619482619516002530795747437510954676398698611225481676367128267180926672417341160809124677135276326062510802649052641251295092941621875679626896327907357646175186787495104585560686640961374298215481612599793958086316437495101807286698409229916744392770474674157391911507617357320222481120993927433421197576469170267711415093085267334367177313899107878707546189735420609321502570007247925746375117961616342229636710600366707846299720931763658243386751223115215462752084390303764745943819922308644962462587647902944247 2412186225169130701924240148579588059908300503549034408030781226544934871388564858635244671412932311015443812063826031733398780148241917718653533965866923343345040446675434809852258423591974183982498943203104910312872646607047263946278006415358607174160769638613816033446949029418602453772900616681392148753192033835718565450409510344665866758885126477753239522918783925989343207417925172495596639899952556812066893414906125076156401892772309968275109032038640362175527131266149165599994510700942692154015106696410683784390371221139475741119162628333556309919571007012271650838447604220582349275839371494260958004861842144273034915198176327341312573259260393467002252589846507756549904462736033304695090394985492475382919385042667488493919836599372321646141906723766004249797086496238925981386516506510522089545831530679330315481454268785377609942482015342062371419586968386107130498081695996314804026285714478256461212488656247017016908384319979330426307154950053605549573395684951023881022902919182288929651531465414537692462757809721050088226223542054048545679997924018177843079881771930521882448029910433574933217922840561057679371372936010848104975225609936271532997311433691455019405073561013177721235856677086755230213274890740176111514430892004413743800776037889561468005725054922737184364101633758152056037914675276549735706944652925750486916710149263475846918445874862623345646704304125853762189491802244103407669555327706933255510823869819850115910146884478800627815983409807978988427338121132860432366519775175929423533015547691019069152239364598755314606281814755313022301102790026875996 3902999299517960547292118147195305573505774819769792908448498757865807785405414953540185711941265959177352263352031412997922433805114353875344356217950580017379202056346715143049839734075958911800076201687731886642668446550379831391895308858156417702250281673311724878068787989764874524808875008968415765584236079707698157089218711625813038573093125319184026312742099024997708662653583714157030101796688093225036647260529736596374891514834328328861526472128631939311759630406123737377220450510597364434629581541732256629006993219122982036644136791186394110414458111014444809505139980730601149295003234680463017983542506494372679924679716571035066708307677250736971655829520295934045589775721783075541092226744009656831012530793586810027829176324533972852468704943632725941271449801675814445322560319581068453310609500113714922157254883812041497964428927976908423646353938844065615266242285292725175989167332237901335632949005983089940335805255895930512689179010940038493540454471413704929496326679855149658070320674568619259646601659744490933097457225615533180598353134623999206571217391413141398450560706181012444172599239259668904853049303139115285901898027277432342121988568967781081915876210065818972530949618708630909840171218647533757689617679499518329361462678850935766221206667522531142450418071253253863324613084506466480099715127599907878828217766620796069399566868790056766844280773296121473604584887511437774846869226814811963057013605240459437412716891726726374191101371424321218064048721499568278666240706939587666919766770806234531904323754902520060550101737063957984763690437929820243 6315185524687091249216358295774893633414075323318827316479279984410742656793979812175430383354198270192796075415857444731321213953356271593997890183817503360724242503022149952902098157667933095782575144890836796955541093157427095338173315273515024876411051311925540911515737019183476978581775625649807914337428113543416722539628221970478905331978251796937265835660882950987051870071508886652626741696640650037103540675435861672531293407606638297136635504167272301487286761672272902977214961211540056588644688238142940413397364440262457777763299419519950420334029118026716460343587584951183498570842606174723975988404348638645714839877892898376379281566937644203973908419366803690595494238457816380236182621729502132213931915836254298521749012923906294498610611667398730191068536297914740426709076826091590542856441030793045237638709152597419107906910943318970795065940907230172745764323981289039980015453046716157796845437662230106957244189575875260938996333960993644043113850156364728810519229599037438587721852139983156952109359469465541021323680767669581726278351058642177049651099163343663280898590616614587377390522079820726584224422239149963390877123637213703875119300002659236101320949771078996693766806295795386140053446109387709869204048571503932073162238716740497234226931722445268326814519705011405919362527759783016215806659780525658365744927915884271916318012743652680112490985077421975235794076689755541182516424554521745218567837475060309553322863776205527002007084781232300206491386842632428711032760482115517090452782318497253601056563119501275375156383551819271007064793227956696239 10218184824205051796508476442970199206919850143088620224927778742276550442199394765715616095295464229370148338767888857729243647758470625469342246401768083378103444559368865095951937891743892007582651346578568683598209539707806926730068624131671442578661332985237265789584525008948351503390650634618223679921664193251114879628846933596291943905071377116121292148402981975984760532725092600809656843493328743262140187935965598268906184922440966625998161976295904240799046392078396640354435411722137421023274269779875197042404357659385439814407436210706344530748487229041161269848727565681784647865845840855186993971946855133018394764557609469411445989874614894940945564248887099624641084014179599455777274848473511789044944446629841108549578189248440267351079316611031456132339986099590554872031637145672658996167050530906760159795964036409460605871339871295879218712294846074238361030566266581765156004620378954059132478386668213196897579994831771191451685512971933682536654304627778433740015556278892588245792172814551776211755961129210031954421137993285114906876704193266176256222316554756804679349151322795599821563121319080395489077471542289078676779021664491136217241288571627017183236825981144815666297755914504017049893617328035243626893666251003450402523701395591433000448138389967799469264937776264659782687140844289482695906374908125566244573145682505067985717579612442736879335265850718096709398661577266978957363293781336557181624851080300768990735580667932253376198186152656621424555435564131996989699001189055104757372549089303488132960886874403795435706485288883228991828483665886516482 16533370348892143045724834738745092840333925466407447541407058726687293098993374577891046478649662499562944414183746302460564861711826897063340136585585586738827687062391015048854036049411825103365226491469405480553750632865234022068241939405186467455072384297162806701100262028131828481972426260268031594259092306794531602168475155566770849237049628913058557984063864926971812402796601487462283585189969393299243728611401459941437478330047604923134797480463176542286333153750669543331650372933677477611918958018018137455801722099647897592170735630226294951082516347067877730192315150632968146436688447029910969960351203771664109604435502367787825271441552539144919472668253903315236578252637415836013457470203013921258876362466095407071327202172346561849689928278430186323408522397505295298740713971764249539023491561699805397434673189006879713778250814614850013778235753304411106794890247870805136020073425670216929323824330443303854824184407646452390681846932927326579768154784143162550534785877930026833514024954534933163865320598675572975744818760954696633155055251908353305873415718100467960247741939410187198953643398901122073301893781439042067656145301704840092360588574286253284557775752223812360064562210299403189947063437422953496097714822507382475685940112331930234675070112413067796079457481276065702049668604072498911713034688651224610318073598389339902035592356095416991826250928140071945192738267022520139879718335858302400192688555361078544058444444137780378205270933888921631046822406764425700731761671170621847825331407800741734017449993905070810862868840702499998893276893843212721 26751555173097194842233311181715292047253775609496067766334837468963843541192769343606662573945126728933092752951635160189808509470297522532682382987353670116931131621759880144805973941155717110947877838047974164151960172573040948798310563536857910033733717282400072490684787037080179985363076894886255274180756500045646481797322089163062793142121006029179850132466846902956572935521694088271940428683298136561383916547367058210343663252488571549132959456759080783085379545829066183686085784655814898635193227797893334498206079759033337406578171840932639481831003576109039000041042716314752794302534287885097963932298058904682504368993111837199271261316167434085865036917141002939877662266817015291790732318676525710303820809095936515620905391420786829200769244889461642455748508497095850170772351117436908535190542092606565557230637225416340319649590685910729232490530599378649467825456514452570292024693804624276061802210998656500752404179239417643842367359904861009116422459411921596290550342156822615079306197769086709375621281727885604930165956754239811540031759445174529562095732272857272639596893262205787020516764717981517562379365323728120744435166966195976309601877145913270467794601733368628026362318124803420239840680765458197122991381073510832878209641507923363235123208502380867265344395257540725484736809448361981607619409596776790854891219280894407887753171968538153871161516778858168654591399844289499097243012117194859581817539635661847534794025112070033754403457086545543055602257970896422690430762860225726605197880497104229866978336868308866246569354129585728990721760559729729203 43284925521989337887958145920460384887587701075903515307741896195651136640186143921497709052594789228496037167135381462650373371182124419596022519572939256855758818684150895193660009990567542214313104329517379644705710805438274970866552502942044377488806101579562879191785049065212008467335503155154286868439848806840178083965797244729833642379170634942238408116530711829928385338318295575734224013873267529860627645158768518151781141582536176472267756937222257325371712699579735727017736157589492376247112185815911471954007801858681234998748907471158934432913519923176916730233357866947720940739222734915008933892649262676346613973428614204987096532757719973230784509585394906255114240519454431127804189788879539631562697171562031922692232593593133391050459173167891828779157030894601145469513065089201158074214033654306370954665310414423220033427841500525579246268766352683060574620346762323375428044767230294492991126035329099804607228363647064096233049206837788335696190614196064758841085128034752641912820222723621642539486602326561177905910775515194508173186814697082882867969147990957740599844635201615974219470408116882639635681259105167162812091312267900816401962465720199523752352377485592440386426880335102823429787744202881150619089095896018215353895581620255293469798278614793935061423852738816791186786478052434480519332444285428015465209292879283747789788764324633570862987767706998240599784138111312019237122730453053161982010228191022926078852469556207814132608728020434464686649080377660848391162524531396348453023211904904971600995786862213937057432222970288228989615037453572941924 70036480695086532730191457102175676934841476685399583074076733664614980181378913265104371626539915957429129920087016622840181880652421942128704902560292926972689950305910775338465983931723259325260982167565353808857670978011315919664863066478902287522539818861962951682469836102292188452698580050040542142620605306885824565763119333892896435521291640971418258248997558732884958273839989664006164442556565666422011561706135576362124804835024748021400716393981338108457092245408801910703821942245307274882305413613804806452213881617714572405327079312091573914744523499285955730274400583262473735041757022800106897824947321581029118342421726042186367794073887407316649546502535909194991902786271446419594922107556065341866517980657968438313137985013920220251228418057353471234905539391696995640285416206638066609404575746912936511895947639839560353077432186436308478759296952061710042445803276775945720069461034918769052928246327756305359632542886481740075416566742649344812613073607986355131635470191575256992126420492708351915107884054446782836076732269434319713218574142257412430064880263815013239441528463821761239987172834864157198060624428895283556526479234096792711564342866112794220146979218961068412789198459906243669628424968339347742080476969529048232105223128178656704921487117174802326768247996357516671523287500796462126951853882204806320100512160178155677541936293171724734149284485856409254375537955601518334365742570248021563827767826684773613646494668277847887012185106980007742251338348557271081593287391622075058221092402009201467974123730522803304001577099873957980336798013302671127 113321406217075870618149603022636061822429177761303098381818629860266116821565057186602080679134705185925167087222398085490555251834546361724727422133232183828448768990061670532125993922290801539574086497082733453563381783449590890531415569420946665011345920441525830874254885167504196920034083205194829011060454113726002649728916578622730077900462275913656666365528270562813343612158285239740388456429833196282639206864904094513905946417560924493668473331203595433828804944988537637721558099834799651129417599429716278406221683476395807404075986783250508347658043422462872460507758450210194675780979757715115831717596584257375732315850340247173464326831607380547434056087930815450106143305725877547399111896435604973429215152220000361005370578607053611301687591225245300014062570286298141109798481295839224683618609401219307466561258054262780386505273686961887725028063304744770617066150039099321148114228265213262044054281656856109966860906533545836308465773580437680508803687804051113972720598226327898904946643216329994454594486381007960741987507784628827886405388839340295298034028254772753839286163665437735459457580951746796833741883534062446368617791501997609113526808586312317972499356704553508799216078795009067099416169171220498361169572865547263586000804748433950174719765731968737388192100735174307858309765553230942646284298167632821785309805039461903467330700617805295597137052192854649854159676066913537571488473023301183545837996017707699692498964224485662019620913127414472428900418726218119472755811923018423511244304306914173068969910592736740361433800070162186969951835466875613051 183357886912162403348341060124811738757270654446702681455895363524881097002943970451706452305674621143354297007309414708330737132486968303853432324693525110801138719295972445870591977854014060864835068664648087262421052761460906810196278635899848952533885739303488782556724721269796385372732663255235371153681059420611827215492035912515626513421753916885074924614525829295698301885998274903746552898986398862704650768571039670876030751252585672515069189725184933542285897190397339548425380042080106926011723013043521084858435565094110379809403066095342082262402566921748828190782159033472668410822736780515222729542543905838404850658272066289359832120905494787864083602590466724645098046091997323966994034003991670315295733132877968799318508563620973831552916009282598771248968109677995136750083897502477291293023185148132243978457205694102340739582705873398196203787360256806480659511953315875266868183689300132031096982527984612415326493449420027576383882340323087025321416761412037469104356068417903155897073063709038346369702370435454743578064240054063147599623962981597707728098908518587767078727692129259496699444753786610954031802507962957729925144270736094401825091151452425112192646335923514577212005277254915310769044594139559846103250049835076311818106027876612606879641252849143539714960348731531824529833053054027404773236152049837628105410317199640059144872636910977020331286336678711059108535214022515055905854215593549205109665763844392473306145458892763509906633098234394480171151757074775390554349099314640498569465396708923374536944034323259543665435377170036144950288633480178284178 296679293129238273966490663147447800579699832208005779837713993385147213824509027638308532984809326329279464094531812793821292384321514665578159746826757294629587488286034116402717971776304862404409155161730820715984434544910497700727694205320795617545231659745014613430979606437300582292766746460430200164741513534337829865220952491138356591322216192798731590980054099858511645498156560143486941355416232058987289975435943765389936697670146597008737663056388528976114702135385877186146938141914906577141140612473237363264657248570506187213479052878592590610060610344211700651289917483682863086603716538230338561260140490095780582974122406536533296447737102168411517658678397540095204189397723201514393145900427275288724948285097969160323879142228027442854603600507844071263030679964293277859882378798316515976641794549351551445018463748365121126087979560360083928815423561551251276578103354974588016297917565345293141036809641468525293354355953573412692348113903524705830220449216088583077076666644231054802019706925368340824296856816462704320051747838691975486029351820938003026132936773360520918013855794697232158902334738357750865544391497020176293762062238092010938617960038737430165145692628068086011221356049924377868460763310780344464419622700623575404106832625046557054361018581112277103152449466706132388142818607258347419520450217470449890720122239101962612203337528782315928423388871565708962694890089428593477342688616850388655503759862100172998644423117249171926254011361808952600052175800993510027104911237658922080709701015837547605913944915996284026869177240198331920240468947053897229 480037180041400677314831723272259539336970486654708461293609356910028310827452998090014985290483947472633761101841227502152029516808482969431592071520282405430726207582006562273309949630318923269244223826378907978405487306371404510923972841220644570079117399048503395987704327707096967665499409715665571318422572954949657080712988403653983104743970109683806515594579929154209947384154835047233494254402630921691940744006983436265967448922732269523806852781573462518400599325783216734572318183995013503152863625516758448123092813664616567022882118973934672872463177265960528842072076517155531497426453318745561290802684395934185433632394472825893128568642596956275601261268864264740302235489720525481387179904418945604020681417975937959642387705849001274407519609790442842511998789642288414609966276300793807269664979697483795423475669442467461865670685433758280132602783818357731936090056670849854884481606865477324238019337626080940619847805373600989076230454226611731151637210628126052181432735062134210699092770634406687193999227251917447898115987892755123085653314802535710754231845291948287996741547923956728858347088524968704897346899459977906218906332974186412763709111491162542357792028551582663223226633304839688637505357450340190567669672535699887222212860501659163934002271430255816818112798198237956917975871661285752192756602267308077996130439438742021757075974439759336259709725550276768071230104111943649383196904210399593765169523706492646304789882010012681832887109596203432771203932875768900581454010552299420650175097724760922142857979239255827692304554410234476870529102427232181407 776716473170638951281322386419707339916670318862714241131323350295175524651962025728323518275293273801913225196373040295973321901129997635009751818347039700060313695868040678676027921406623785673653378988109728694389921851281902211651667046541440187624349058793518009418683934144397549958266156176095771483164086489287486945933940894792339696066186302482538106574634029012721592882311395190720435609818862980679230719442927201655904146592878866532544515837961991494515301461169093920719256325909920080294004237989995811387750062235122754236361171852527263482523787610172229493361994000838394584030169856975899852062824886029966016606516879362426425016379699124687118919947261804835506424887443726995780325804846220892745629703073907119966266848077028717262123210298286913775029469606581692469848655099110323246306774246835346868494133190832582991758664994118364061418207379908983212668160025824442900779524430822617379056147267549465913202161327174401768578568130136436981857659844214635258509401706365265501112477559775028018296084068380152218167735731447098571682666623473713780364782065308808914755403718653961017249423263326455762891290956998082512668395212278423702327071529899972522937721179650749234447989354764066505966120761120535032089295236323462626319693126705720988363290011368093921265247664944089306118690268544099612277052484778527886850561677843984369279311968541652188133114421842477033924994201372242860539592827249982420673283568592819303434305127261853759141120958012385371256108676762410608558921789958342730884798740598469748771924155252111719173731650432808790769571374286078636 1256753653212039628596154109691966879253640805517422702424932707205203835479415023818338503565777221274546986298214267798125351417938480604441343889867322105491039903450047240949337871036942708942897602814488636672795409157653306722575639887762084757703466457842021405406388261851494517623765565891761342801586659444237144026646929298446322800810156412166344622169213958166931540266466230237953929864221493902371171463449910637921871595515611136056351368619535454012915900786952310655291574509904933583446867863506754259510842875899739321259243290826461936354986964876132758335434070517993926081456623175721461142865509281964151450238911352188319553585022296080962720181216126069575808660377164252477167505709265166496766311121049845079608654553926029991669642820088729756287028259248870107079814931399904130515971753944319142291969802633300044857429350427876644194020991198266715148758216696674297785261131296299941617075484893630406533049966700775390844809022356748168133494870472340687439942136768499476200205248194181715212295311320297600116283723624202221657335981426009424534596627357257096911496951642610689875596511788295160660238190416975988731574728186464836466036183021062514880729749731233412457674622659603755143471478211460725599758967772023349848532553628364884922365561441623910739378045863182046224094561929829851805033654752086605882981001116586006126355286408300988447842839972119245105155098313315892243736497037649576185842807275085465608224187137274535592028230554215818142460041552531311190012932342257763381059896465359391891629903394507939411478286060667285661298673801518260043 2033470126382678579877476496111674219170311124380136943556256057500379360131377049546662021841070495076460211494587308094098673319068478239451095708214361805551353599318087919625365792443566494616550981802598365367185331008935208934227306934303524945327815516635539414825072195995892067582031722067857114284750745933524630972580870193238662496876342714648882728743847987179653133148777625428674365474040356883050402182892837839577775742108490002588895884457497445507431202248121404576010830835814853663740872101496750070898592938134862075495604462678989199837510752486304987828796064518832320665486793032697360994928334167994117466845428231550745978601401995205649839101163387874411315085264607979472947831514111387389511940824123752199574921402003058708931766030387016670062057728855451799549663586499014453762278528191154489160463935824132627849188015421995008255439198578175698361426376722498740686040655727122558996131632161179872446252128027949792613387590486884605115352530316555322698451538474864741701317725753956743230591395388677752334451459355649320229018648049483138314961409422565905826252355361264650892845935051621616423129481373974071244243123398743260168363254550962487403667470910884161692122612014367821649437598972581260631848263008346812474852246755070605910728851452992004660643293528126135530213252198373951417310707236865133769831562794429990495634598376842640635975954393961722139080092514688135104276089864899558606516090843678284911658492264536389351169351512228203513716150229293721798571854132216106111944695205957861640401827549760051130652017711100094452068245175804338679 3290223779594718208473630605803641098423951929897559645981188764705583195610792073365000525406847716351007197792801575892224024737006958843892439598081683911042393502768135160574703663480509203559448584617087002039980740166588515656802946822065609703031281974477560820231460457847386585205797287959618457086337405377761774999227799491684985297686499126815227350913061945346584673415243855666628295338261850785421573646342748477499647337624101138645247253077032899520347103035073715231302405345719787247187739965003504330409435814034601396754847753505451136192497717362437746164230135036826246746943416208418822137793843449958268917084339583739065532186424291286612559282379513943987123745641772231950115337223376553886278251945173597279183575955929088700601408850475746426349085988104321906629478517898918584278250282135473631452433738457432672706617365849871652449460189776442413510184593419173038471301787023422500613207117054810278979302094728725183458196612843632773248847400788896010138393675243364217901522973948138458442886706708975352450735182979851541886354629475492562849558036779823002737749307003875340768442446839916777083367671790950059975817851585208096634399437572025002284397220642117574149797234673971576792909077184041986231607230780370162323384800383435490833094412894615915400021339391308181754307814128203803222344361988951739652812563911015996621989884785143629083818794366080967244235190828004027348012586902549134792358898118763750519882679401810924943197582066444021656176191781825032988584786474473869493004591671317253532031730944267990542130303771767380113366918977322598722 5323693905977396788351107101915315317594263054277696589537444822205962555742169122911662547247918211427467409287388883986322698056075437083343535306296045716593747102086223080200069455924075698175999566419685367407166071175523724591030253756369134648359097491113100235056532653843278652787829010027475571371088151311286405971808669684923647794562841841464110079656909932526237806564021481095302660812302207668471975829235586317077423079732591141234143137534530345027778305283195119807313236181534640910928612066500254401308028752169463472250452216184440336030008469848742733993026199555658567412430209241116183132722177617952386383929767815289811510787826286492262398383542901818398438830906380211423063168737487941275790192769297349478758497357932147409533174880862763096411143716959773706179142104397933038040528810326628120612897674281565300555805381271866660704899388354618111871610970141671779157342442750545059609338749215990151425554222756674976071584203330517378364199931105451332836845213718228959602840699702095201673478102097653104785186642335500862115373277524975701164519446202388908564001662365139991661288381891538393506497153164924131220060974983951356802762692122987489688064691553001735841919846688339398442346676156623246863455493788716974798237047138506096743823264347607920060664632919434317284521066326577754639655069225816873422644126705445987117624483161986269719794748760042689383315283342692162452288676767448693398874988962442035431541171666347314294366933578672225169892342011118754787156640606689975604949286877275115172433558494028041672782321482867474565435164153126937401 8613917685572114996824737707718956416018214984175256235518633586911545751352961196276663072654765927778474607080190459878546722793082395927235974904377729627636140604854358240774773119404584901735448151036772369447146811342112240247833200578434744351390379465590661055287993111690665237993626297987094028457425556689048180971036469176608633092249340968279337430569971877872822479979265336761930956150564058453893549475578334794577070417356692279879390390611563244548125408318268835038615641527254428158116352031503758731717464566204064869005299969689891472222506187211180480157256334592484814159373625449535005270516021067910655301014107399028877042974250577778874957665922415762385562576548152443373178505960864495162068444714470946757942073313861236110134583731338509522760229705064095612808620622296851622318779092462101752065331412738997973262422747121738313154359578131060525381795563560844817628644229773967560222545866270800430404856317485400159529780816174150151613047331894347342975238888961593177504363673650233660116364808806628457235921825315352404001727907000468264014077482982211911301750969369015332429730828731455170589864824955874191195878826569159453437162129695012491972461912195119309991717081362310975235255753340665233095062724569087137121621847521941587576917677242223835460685972310742499038828880454781557861999431214768613075456690616461983739614367947129898803613543126123656627550474170696189800301263669997828191233887081205785951423851068158239237564515645116246826068533792943787775741427081163845097953878548592368704465289438296032214912625254634854678802083130449536123 13937611591549511785175844809634271733612478038452952825056078409117508307095130319188325619902684139205942016367579343864869420849157833010579510210673775344229887706940581320974842575328660599911447717456457736854312882517635964838863454334803878999749476956703761290344525765533943890781455308014569599828513708000334586942845138861532280886812182809743447510226881810399060286543286817857233616962866266122365525304813921111654493497089283421113533528146093589575903713601463954845928877708789069069044964098004013133025493318373528341255752185874331808252514657059923214150282534148143381571803834690651188403238198685863041684943875214318688553762076864271137356049465317580784001407454532654796241674698352436437858637483768296236700570671793383519667758612201272619171373422023869318987762726694784660359307902788729872678229087020563273818228128393604973859258966485678637253406533702516596785986672524512619831884615486790581830410540242075135601365019504667529977247262999798675812084102679822137107204373352328861789842910904281562021108467650853266117101184525443965178596929184600819865752631734155324091019210622993564096361978120798322415939801553110810239924821817999981660526603748121045833636928050650373677602429497288479958518218357804111919858894660447684320740941589831755521350605230176816323349946781359312501654500440585486498100817321907970857238851109116168523408291886166346010865757513388352252589940437446521590108876043647821382965022734505553531931449223788471995960875804062542562898067687853820702903165425867483876898847932324073887694946737502329244237247283576473524 22551529277121626782000582517353228149630693022628209060574711996029054058448091515464988692557450066984416623447769803743416143642240228937815485115051504971866028311794939561749615694733245501646895868493230106301459693859748205086696654913238623351139856422294422345632518877224609128775081606001663628285939264689382767913881608038140913979061523778022784940796853688271882766522552154619164573113430324576259074780392255906231563914445975700992923918757656834124029121919732789884544519236043497227161316129507771864742957884577593210261052155564223280475020844271103694307538868740628195731177460140186193673754219753773696985957982613347565596736327442050012313715387733343169563984002685098169420180659216931599927082198239242994642643985654619629802342343539782141931603127087964931796383348991636282678086995250831624743560499759561247080650875515343287013618544616739162635202097263361414414630902298480180054430481757591012235266857727475295131145835678817681590294594894146018787322991641415314611568047002562521906207719710910019257030292966205670118829091525912229192674412166812731167503601103170656520750039354448734686226803076672513611818628122270263677086951513012473632988515943240355825354009412961348912858182837953713053580942926891249041480742182389271897658618832055590982036577540919315362178827236140870363653931655354099573557507938369954596853219056246067327021835012290002638416231684084542052891204107444349781342763124853607334388873802663792769495964868904718822029409597006330338639494769017665800857043974459852581364137370620106102607571992137183923039330414026009647 36489140868671138567176427326987499883243171061081161885630790405146562365543221834653314312460134206190358639815349147608285564491398061948394995325725280316095916018735520882724458270061906101558343585949687843155772576377384169925560109248042502350889333378998183635977044642758553019556536914016233228114452972689717354856726746899673194865873706587766232451023735498670943053065838972476398190076296590698624600085206177017886057411535259122106457446903750423699932835521196744730473396944832566296206280227511784997768451202951121551516804341438555088727535501331026908457821402888771577302981294830837382076992418439636738670901857827666254150498404306321149669764853050923953565391457217752965661855357569368037785719682007539231343214657448003149470100955741054761102976549111834250784146075686420943037394898039561497421789586780124520898879003908948260872877511102417799888608630965878011200617574822992799886315097244381594065677397969550430732510855183485211567541857893944694599407094321237451718772420354891383696050630615191581278138760617058936235930276051356194371271341351413551033256232837325980611769249977442298782588781197470836027758429675381073917011773331012455293515119691361401658990937463611722590460612335242193012099161284695360961339636842836956218399560421887346503387182771096131685528774017500182865308432095939586071658325260277925454092070165362235850430126898456348649281989197472894305481144544890871371451639168501428717353896537169346301427414092693190817990285401068872901537562456871486503760209400327336458262985302944179990302518729639513167276577697602483171 59040670145792765349177009844340728032873864083709370946205502401175616423991313350118303005017584273174775263263118951351701708133638290886210480440776785287961944330530460444474073964795151603205239454442917949457232270237132375012256764161281125702029189801292605981609563519983162148331618520017896856400392237379100122770608354937814108844935230365789017391820589186942825819588391127095562763189726915274883674865598432924117621325981234823099381365661407257823961957440929534615017916180876063523367596357019556862511409087528714761777856497002778369202556345602130602765360271629399773034158754971023575750746638193410435656859840441013819747234731748371161983480240784267123129375459902851135082036016786299637712801880246782225985858643102622779272443299280836903034579676199799182580529424678057225715481893290393122165350086539685767979529879424291547886496055719156962523810728229239425615248477121472979940745579001972606300944255697025725863656690862302893157836452788090713386730085962652766330340467357453905602258350326101600535169053583264606354759367577268423563945753518226282200759833940496637132519289331891033468815584274143349639577057797651337594098724844024928926503635634601757484344946876573071503318795173195906065680104211586610002820379025226228116058179253942937485423760312015447047707601253641053228962363751293685645215833198647880050945289221608303177451961910746351287698220881557436358372348652335221152794402293355036051742770339833139070923378961597909640019694998075203240177057225889152304617253374787189039627122673564286092910090721776697090315908111628492818 95529811014463903916353437171328227916117035144790532831836292806322178789534535184771617317477718479365133903078468098959987272625036352834605475766502065604057860349265981327198532234857057704763583040392605792613004846614516544937816873409323628052918523180290789617586608162741715167888155434034130084514845210068817477627335101837487303710808936953555249842844324685613768872654230099571960953266023505973508274950804609942003678737516493945205838812565157681523894792962126279345491313125708629819573876584531341860279860290479836313294660838441333457930091846933157511223181674518171350337140049801860957827739056633047174327761698268680073897733136054692311653245093835191076694766917120604100743891374355667675498521562254321457329073300550625928742544255021891664137556225311633433364675500364478168752876791329954619587139673319810288878408883333239808759373566821574762412419359195117436815866051944465779827060676246354200366621653666576156596167546045788104725378310682035407986137180283890218049112887712345289298308980941293181813307814200323542590689643628624617935217094869639833234016066777822617744288539309333332251404365471614185667335487473032411511110498175037384220018755325963159143335884340184794093779407508438099077779265496281970964160015868063184334457739675830283988810943083111578733236375271141236094270795847233271716874158458925805505037359386970539027882088809202699936980210079030330663853493197226092524246041461856464769096666877002485372350793054291100458009980399144076141714619682760638808377462775114525497890107976508466083212609451416210257592485809230975989 154570481160256669265530447015668955948990899228499903778041795207497795213525848534889920322495302752539909166341587050311688980758674643720815956207278850892019804679796441771672606199652209307968822494835523742070237116851648919950073637570604753754947712981583395599196171682724877316219773954052026940915237447447917600397943456775301412555744167319344267234664913872556594692242621226667523716455750421248391949816403042866121300063497728768305220178226564939347856750403055813960509229306584693342941472941550898722791269378008551075072517335444111827132648192535288113988541946147571123371298804772884533578485694826457609984621538709693893644967867803063473636725334619458199824142377023455235825927391141967313211323442501103683314931943653248708014987554302728567172135901511432615945204925042535394468358684620347741752489759859496056857938762757531356645869622540731724936230087424356862431114529065938759767806255248326806667565909363601882459824236908090997883214763470126121372867266246542984379453355069799194900567331267394782348476867783588148945449011205893041499162848387866115434775900718319254876807828641224365720219949745757535306912545270683749105209223019062313146522390960564916627680831216757865597098202681634005143459369707868580966980394893289412450515918929773221474234703395127025780943976524782289323233159598526957362089991657573685555982648608578842205334050719949051224678430960587767022225841849561313677040443755211500820839437216835624443274172015889010098029675397219279381891676908649791112994716149901714537517230650072752176122700173192907347908393920859468807 250100292174720573181883884186997183865107934373290436609878088013819974003060383719661537639973021231905043069420055149271676253383710996555421431973780916496077665029062423098871138434509267012732405535228129534683241963466165464887890510979928381807866236161874185216782779845466592484107929388086157025430082657516735078025278558612788716266553104272899517077509238558170363564896851326239484669721773927221900224767207652808124978801014222713511058990791722620871751543365182093306000542432293323162515349526082240583071129668488387388367178173885445285062740039468445625211723620665742473708438854574745491406224751459504784312383236978373967542701003857755785289970428454649276518909294144059336569818765497634988709845004755425140644005244203874636757531809324620231309692126823066049309880425407013563221235475950302361339629433179306345736347646090771165405243189362306487348649446619474299246980581010404539594866931494681007034187563030178039055991782953879102608593074152161529359004446530433202428566242782144484198876312208687964161784681983911691536138654834517659434379943257505948668791967496141872621096367950557697971624315217371720974248032743716160616319721194099697366541146286528075771016715556942659690877610190072104221238635204150551931140410761352596784973658605603505463045646478238604514180351795923525417503955445760229078964150116499491061020007995549381233216139529151751161658641039618097686079335046787406201286485217067965589936104093838109815624965070180110556039655796363355523606296591410429921372178925016240035407338626581218259335309624609117605500879730090444796 404670773334977242447414331202666139814098833601790340387919883221317769216586232254551457962468323984444952235761642199583365234142385640276237388181059767388097469708858864870543744634161476320701228030063653276753479080317814384837964148550533135562813949143457580815978951528191469800327703342138183966345320104964652678423222015388090128822297271592243784312174152430726958257139472552907008386177524348470292174583610695674246278864511951481816279169018287560219608293768237907266509771738878016505456822467633139305862399046496938463439695509329557112195388232003733739200265566813313597079737659347630024984710446285962394297004775688067861187668871660819258926695763074107476343051671167514572395746156639602301921168447256528823958937187857123344772519363627348798481828028334498665255085350449548957689594160570650103092119193038802402594286408848302522051112811903038212284879534043831161678095110076343299362673186743007813701753472393779921515816019861970100491807837622287650731871712776976186808019597851943679099443643476082746510261549767499840481587666040410700933542791645372064103567868214461127497904196591782063691844264963129256281160578014399909721528944213162010513063537247092992398697546773700525287975812871706109364698004912019132898120805654642009235489577535376726937280349873365630295124328320705814740737115044287186441054141774073176617002656604128223438550190249100802386337072000205864708305176896348719878326928972279466410775541310673734258899137086069120654069331193582634905497973500060221034366895074917954572924569276653970435458009797802024953409273650949913603 654771065509697815629298215389663323679206767975080776997797971235137743219646615974212995602441345216349995305181697348855041487526096636831658820154840683884175134737921287969414883068670743333433633565291782811436721043783979849725854659530461517370680185305331766032761731373658062284435632730224340991775402762481387756448500574000878845088850375865143301389683390988897321822036323879146493055899298275692192399350818348482371257665526174195327338159810010181091359837133420000572510314171171339667972171993715379888933528714985325851806873683215002397258128271472179364411989187479056070788176513922375516390935197745467178609388012666441828730369875518575044216666191528756752861960965311573908965564922137237290631013452011953964602942432060997981530051172951969029791520155157564714564965775856562520910829636520952464431748626218108748330634054939073687456356001265344699633528980663305460925075691086747838957540118237688820735941035423957960571807802815849203100400911774449180090876159307409389236585840634088163298319955684770710672046231751411532017726320874928360367922734902878012772359835710603000119000564542339761663468580180500977255408610758116070337848665407261707879604683533621068169714262330643184978853423061778213585936640116169684829261216415994606020463236140980232400325996351604234809304680116629340158241070490047415520018291890572667678022664599677604671766329778252553547995713039823962394384511943136126079613414189347432000711645404511844074524102156249231210108986989945990429104270091470650955739073999934194608331907903235188694793319422411142558910153381040358399 1059441838844675058076712546592329463493305601576871117385717854456455512436232848228764453564909669200794947540943339548438406721668482277107896208335900451272272604446780152839958627702832219654134861595355436088190200124101794234563818808080994652933494134448789346848740682901849532084763336072362524958120722867446040434871722589388968973911147647457387085701857543419624280079175796432053501442076822624162484573934429044156617536530038125677143617328828297741310968130901657907839020085910049356173428994461348519194795927761482264315246569192544559509453516503475913103612254754292369667867914173270005541375645644031429572906392788354509689918038747179394303143361954602864229205012636479088481361311078776839592552181899268482788561879619918121326302570536579317828273348183492063379820051126306111478600423797091602567523867819256911150924920463787376209507468813168382911918408514707136622603170801163091138320213304980696634437694507817737882087623822677819303592208749396736830822747872084385576044605438486031842397763599160853457182307781518911372499313986915339061301465526548250076875927703925064127616904761134121825355312845143630233536569188772515980059377609620423718392668220780714060568411809104343710266829235933484322950634645028188817727382022070636615255952813676356959337606346224969865104429008437335154898978185534334601961072433664645844295025321203805828110316520027353355934332785040029827102689688839484845957940343161626898411487186715185578333423239242318351864178318183528625334602243591530871990105969074852149181256477179889159130251329220213167512319427031990272002 1714212904354372873706010761981992787172512369551951894383515825691593255655879464202977449167351014417144942846125036897293448209194578913939555028490741135156447739184701440809373510771502962987568495160647218899626921167885774084289673467611456170304174319754121112881502414275507594369198968802586865949896125629927428191320223163389847818999998023322530387091540934408521601901212120311199994497976120899854676973285247392638988794195564299872470955488638307922402327968035077908411530400081220695841401166455063899083729456476467590167053442875759561906711644774948092468024243941771425738656090687192381057766580841776896751515780801020951518648408622697969347360028146131620982066973601790662390326876000914076883183195351280436753164822051979119307832621709531286858064868338649628094385016902162673999511253433612555031955616445475019899255554518726449896963824814433727611551937495370442083528246492249838977277753423218385455173635543241695842659431625493668506692609661171186010913624031391794965281191279120120005696083554845624167854354013270322904517040307790267421669388261451128089648287539635667127735905325676461587018781425324131210791977799530632050397226275027685426272272904314335128738126071434986895245682658995262536536571285144358502556643238486631221276416049817337191737932342576574099913733688553964495057219256024382017481090725555218511973047985803483432782082849805605909482328498079853789497074200782620972037553757350974330412198832119697422407947341398567583074287305173474615763706513683001522945845043074786343789588385083124347825044648642624310071229580413030630401 2773654743199047931782723308574322250665817971128823011769233680148048768092112312431741902732260683617939890387068376445731854930863061191047451236826641586428720343631481593649332138474335182641703356756002654987817121291987568318853492275692450823237668454202910459730243097177357126453962304874949390908016848497373468626191945752778816792911145670779917472793398477828145881980387916743253495940052943524017161547219676436795606330725602425549614572817466605663713296098936735816250550485991270052014830160916412418278525384237949854482300012068304121416165161278424005571636498696063795406524004860462386599142226485808326324422173589375461208566447369877363650503390100734485211271986238269750871688187079690916475735377250548919541726701671897240634135192246110604686338216522141691474205068028468785478111677230704157599479484264731931050180474982513826106471293627602110523470346010077578706131417293412930115597966728199082089611330051059433724747055448171487810284818410567922841736371903476180541325796717606151848093847154006477625036661794789234277016354294705606482970853787999378166524215243560731255352810086810583412374094270467761444328546988303148030456603884648109144664941125095049189306537880539330605512511894928746859487205930172547320284025260557267836532368863493694151075538688801543965018162696991299649956197441558716619442163159219864356268073307007289260892399369832959265416661283119883616599763889622105817995494100512601228823686018834883000741370580640885934938465623357003241098308757274532394935951012149638492970844862263013506955295977862837477583549007445020902403 4487867647553420805488734070556315037838330340680774906152749505839642023747991776634719351899611698035084833233193413343025303140057640104987006265317382721585168082816183034458705649245838145629271851916649873887444042459873342403143165743303906993541842773957031572611745511452864720823161273677536256857912974127300896817512168916168664611911143694102447859884939412236667483881600037054453490438029064423871838520504923829434595124921166725422085528306104913586115624066971813724662080886072490747856231327371476317362254840714417444649353454944063683322876806053372098039660742637835221145180095547654767656908807327585223075937954390396412727214855992575332997863418246866106193338959840060413262015063080604993358918572601829356294891523723876359941967813955641891544403084860791319568590084930631459477622930664316712631435100710206950949436029501240276003435118442035838135022283505448020789659663785662769092875720151417467544784965594301129567406487073665156316977428071739108852649995934867975506606987996726271853789930708852101792891015808059557181533394602495873904640242049450506256172502783196398383088715412487044999392875695791892655120524787833780080853830159675794570937214029409384318044663951974317500758194553924009396023777215316905822840668499043899057808784913311031342813471031378118064931896385545264145013416697583098636923253884775082868241121292810772693674482219638565174898989781199737406096838090404726790033047857863575559235884850954580423149317922039453518012752928530477856862015270957533917881796055224424836760433247346137854780340626505461787654778587858051532804 7261522390752468737271457379130637288504148311809597917921983185987690791840104089066461254631872381653024723620261789788757158070920701296034457502144024308013888426447664628108037787720173328270975208672652528875261163751860910721996658018996357816779511228159942032341988608630221847277123578552485647765929822624674365443704114668947481404822289364882365332678337890064813365861987953797706986378082007947889000067724600266230201455646769150971700101123571519249828920165908549540912631372063760799871061488287888735640780224952367299131653467012367804739041967331796103611297241333899016551704100408117154256051033813393549400360127979771873935781303362452696648366808347600591404610946078330164133703250160295909834653949852378275836618225395773600576103006201752496230741301382933011042795152959100244955734607895020870230914584974938881999616504483754102109906412069637948658492629515525599495791081079075699208473686879616549634396295645360563292153542521836644127262246482307031694386367838344156047932784714332423701883777862858579417927677602848791458549748897201480387611095837449884422696718026757129638441525499297628411766969966259654099449071776136928111310434044323903715602155154504433507351201832513648106270706448852756255510983145489453143124693759601166894341153776804725493889009720179662029950059082536563794969614139141815256365417043994947224509194599818061954566881589471524440315651064319621022696601980026832608028541958376176788059570869789463423890688502680339452951218551887481097960324028232066312817747067374063329731278109609151361735636604368299265238327595303072435207 11749390038305889542760191449686952326342478652490372824074732691827332815588095865701180606531484079688109556853455203131782461210978341401021463767461407029599056509263847662566743436966011473900247060589302402762705206211734253125139823762300264810321354002116973604953734120083086568100284852230021904623842796751975262261216283585116146016733433058984813192563277302301480849743587990852160476816111072371760838588229524095664796580567935876393785629429676432835944544232880363265574712258136251547727292815659365053003035065666784743781006921956431488061918773385168201650957983971734237696884195955771921912959841140978772476298082370168286662996159355028029646230226594466697597949905918390577395718313240900903193572522454207632131509749119649960518070820157394387775144386243724330611385237889731704433357538559337582862349685685145832949052533984994378113341530511673786793514913020973620285450744864738468301349407031034017179181261239661692859560029595501800444239674554046140547036363773212131554539772711058695555673708571710681210818693410908348640083143499697354292251337886900390678869220809953528021530240911784673411159845662051546754569596563970708192164264203999698286539369183913817825395865784487965607028901002776765651534760360806358965965362258645065952149938690115756836702480751557780094881955468081827939983030836724913893288670928770030092750315892628834648241363809110089615214640845519358428793440070431559398061589816239752347295455720744043847040006424719792970963971480417958954822339299189600230699543122598488166491711356955289216515977230873761052893106183161123968011 19010912429058358280031648828817589614846626964299970741996715877815023607428199954767641861163356461341134280473716992920539619281899042697055921269605431337612944935711512290674781224686184802171222269261954931637966369963595163847136481781296622627100865230276915637295722728713308415377408430782507552389772619376649627704920398254063627421555722423867178525241615192366294215605575944649867463194193080319649838655954124361894998036214705027365485730553247952085773464398788912806487343630200012347598354303947253788643815290619152042912660388968799292800960740716964305262255225305633254248588296363889076169010874954372321876658210349940160598777462717480726294597034942067289002560851996720741529421563401196813028226472306585907968127974515423561094173826359146884005885687626657341654180390848831949389092146454358453093264270660084714948669038468748480223247942581311735452007542536499219781241825943814167509823093910650566813577556885022256151713572117338444571501921036353172241422731611556287602472557425391119257557486434569260628746371013757140098632892396898834679862433724350275101565938836710657659971766411082301822926815628311200854018668340107636303474698248323602002141524338418251332747067617001613713299607451629521907045743506295812109090056018246232846491092466920482330591490471737442124832014550618391734952644975866729149654087972764977317259510492446896602808245398581614055530291909838979451490042050458392006090131774615929135355026590533507270930694927400132423915190032305440052782663327421666543517290189972551496222989466564440578251613835242060318131433778464196403218 30760302467364247822791840278504541941189105616790343566071448569642356423016295820468822467694840541029243837327172196052322080492877384098077385037066838367212001444975359953241524661652196276071469329851257334400671576175329416972276305543596887437422219232393889242249456848796394983477693283012529457013615416128624889966136681839179773438289155482851991717804892494667775065349163935502027940010304152691410677244183648457559794616782640903759271359982924384921718008631669276072062055888336263895325647119606618841646850356285936786693667310925230780862879514102132506913213209277367491945472492319660998081970716095351094352956292720108447261773622072508755940827261536533986600510757915111318925139876642097716221798994760793540099637723635073521612244646516541271781030073870381672265565628738563653822449685013696035955613956345230547897721572453742858336589473092985522245522455557472840066692570808552635811172500941684583992758818124683949011273601712840245015741595590399312788459095384768419157012330136449814813231195006279941839565064424665488738716035896596188972113771611250665780435159646664185681502007322866975234086661290362747608588264904078344495638962452323300288680893522332069158142933401489579320328508454406287558580503867102171075055418276891298798641031157036239167293971223295222219713970018700219674935675812591643042942758901535007410009826385075731251049609207691703670744932755358337880283482120889951404151721590855681482650482311277551117970701352119925394879161512723399007605002626611266774216833312571039662714700823519729794767591066115821371024539961625320371229 49771214896422606102823489107322131556035732581090314308068164447457380030444495775236464328858197002370378117800889188972861699774776426795133306306672269704824946380686872243916305886338381078242691599113212266038637946138924580819412787324893510064523084462670804879545179577509703398855101713795037009403388035505274517671057080093243400859844877906719170243046507687034069280954739880151895403204497233011060515900137772819454792652997345931124757090536172337007491473030458188878549399518536276242924001423553872630290665646905088829606327699894030073663840254819096812175468434583000746194060788683550074250981591049723416229614503070048607860551084789989482235424296478601275603071609911832060454561440043294529250025467067379448067765698150497082706418472875688155786915761497039013919746019587395603211541831468054489048878227005315262846390610922491338559837415674297257697529998093972059847934396752366803320995594852335150806336375009706205162987173830178689587243516626752485029881826996324706759484887561840934070788681440849202468311435438422628837348928293495023651976205335600940882001098483374843341473773733949277057013476918673948462606933244185980799113660700646902290822417860750320490890001018491193033628115906035809465626247373397983184145474295137531645132123623956721497885461695032664344545984569318611409888320788458372192596846874299984727269336877522627853857854606273317726275224665197317331773524171348343410241853365471610618005508901811058388901396279520057818794351545028839060387665954032933317734123502543591158937690290084170373019204901357881689155973740089516774447 80531517363786853925615329385826673497224838197880657874139613017099736453460791595705286796553037543399621955128061385025183780267653810893210691343739108072036947825662232197157830547990577354314160928964469600439309522314253997791689092868490397501945303695064694121794636426306098382332794996807566466417003451633899407637193761932423174298134033389571161960851400181701844346303903815653923343214801385702471193144321421277014587269779986834884028450519096721929209481662127464950611455406872540138249648543160491471937516003191025616299995010819260854526719768921229319088681643860368238139533281003211072332952307145074510582570795790157055122324706862498238176251558015135262203582367826943379379701316685392245471824461828172988167403421785570604318663119392229427567945835367420686185311648325959257033991516481750525004492183350545810744112183376234196896426888767282779943052453651444899914626967560919439132168095794019734799095193134390154174260775543018934602985112217151797818340922381093125916497217698290748884019876447129144307876499863088117576064964190091212624089976946851606662436258130039029022975781056816252291100138209036696071195198148264325294752623152970202579503311383082389649032934419980772353956624360442097024206751240500154259200892572028830443773154780992960665179432918327886564259954588018831084823996601050015235539605775834992137279163262598359104907463813965021397020157420555655212057006292238294814393574956327292100655991213088609506872097631639983213673513057752238067992668580644200091950956815114630821652391113603900167786795967473703060180513701714837145676 130302732260209460028438818493148805053260570778970972182207777464557116483905287370941751125411234545770000072928950573998045480042430237688343997650411377776861894206349104441074136434328958432556852528077681866477947468453178578611101880193383907566468388157735499001339816003815801781187896710602603475820391487139173925308250842025666575157978911296290332203897907868735913627258643695805818746419298618713531709044459194096469379922777332766008785541055269058936700954692585653829160854925408816381173649966714364102228181650096114445906322710713290928190560023740326131264150078443368984333594069686761146583933898194797926812185298860205662982875791652487720411675854493736537806653977738775439834262756728686774721849928895552436235169119936067687025081592267917583354861596864459700105057667913354860245533347949805014053370410355861073590502794298725535456264304441580037640582451745416959762561364313286242453163690646354885605431568144096359337247949373197624190228628843904282848222749377417832675982105260131682954808557887978346776187935301510746413413892483586236276066182282452547544437356613413872364449554790765529348113615127710644533802131392450306093866283853617104870325729243832710139922935438471965387584740266477906489832998613898137443346366867166362088905278404949682163064894613360550908805939157337442494712317389508387428136452650134976864548500140120986958765318420238339123295382085752972543830530463586638224635428321798902718661500114899667895773493911160041032467864602781077128380334534677133409685080317658221980590081403688070540806000868831584749336487441804353920123 210834249623996313954054147878975478550485408976851630056347390481656852937366078966647037921964272089169622028057011959023229260310084048581554688994150485848898842032011336638231966982319535786871013457042151466917256990767432576402790973061874305068413691852800193123134452430121900163520691707410169942237394938773073332945444603958089749456112944685861494164749308050437757973562547511459742089634100004416002902188780615373483967192557319600892813991574365780865910436354713118779772310332281356519423298509874855574165697653287140062206317721532551782717279792661555450352831722303737222473127350689972218916886205339872437394756094650362718105200498514985958587927412508871800010236345565718819213964073414079020193674390723725424402572541721638291343744711660147010922807432231880386290369316239314117279524864431555539057862593706406884334614977674959732352691193208862817583634905396861859677188331874205681585331786440374620404526761278486513511508724916216558793213741061056080666563671758510958592479322958422431838828434335107491084064435164598863989478856673677448900156159229304154206873614743452901387425335847581781639213753336747340604997329540714631388618907006587307449829040626915099788955869858452737741541364626920003514039749854398291702547259439195192532678433185942642828244327531688437473065893745356273579536313990558402663676058425969969001827663402719346063672782234203360520315539506308627755887536755824933039029003278126194819317491327988277402645591542800024246141377660533315196373003115321333501636037132772852802242472517291970708592796836305287809517001143519191065799 341136981884205773982492966372124283603745979755822602238555167946213969421271366337588789047375506634939622100985962533021274740352514286269898686644561863625760736238360441079306103416648494219427865985119833333395204459220611155013892853255258212634882080010535692124474268433937701944708588418012773418057786425912247258253695445983756324614091855982151826368647215919173671600821191207265560836053398623129534611233239809469953347115334652366901599532629634839802611391047298772608933165257690172900596948476589219676393879303383254508112640432245842710907839816401881581616981800747106206806721420376733365500820103534670364206941393510568381088076290167473678999603267002608337816890323304494259048226830142765794915524319619277860637741661657705978368826303928064594277669029096340086395426984152668977525058212381360553111233004062267957925117771973685267808955497650442855224217357142278819439749696187491924038495477086729506009958329422582872848756674289414182983442369904960363514786421135928791268461428218554114793636992223085837860252370466109610402892749157263685176222341511756701751310971356866773751874890638347310987327368464457985138799460933164937482485190860204412320154769870747809928878805296924703129126104893397910003872748468296429145893626306361554621583711590892324991309222145048988381871832902693716074248631380066790091812511076104945866376163542840333022438100654441699643610921592061600299718067219411571263664431599925097537978991442887945298419085453960065278609242263314392324753337649998466911321117450431074782832553920980041249398797705136872558853488585323544985922 551971231508202087936547114251099762154231388732674232294902558427870822358637445304235826969339778724109244129042974492044504000662598334851453375638712349474659578270371777717538070398968030006298879442161984800312461449988043731416683826317132517703295771863335885247608720864059602108229280125422943360295181364685320591199140049941846074070204800668013320533396523969611429574383738718725302925687498627545537513422020424843437314307891971967794413524204000620668521827402011891388705475589971529420020246986464075250559576956670394570318958153778394493625119609063437031969813523050843429279848771066705584417706308874542801601697488160931099193276788682459637587530679511480137827126668870213078262190903556844815109198710343003285040314203379344269712571015588211605200476461328220472685796300391983094804583076812916092169095597768674842259732749648645000161646690859305672807852262539140679116938028061697605623827263527104126414485090701069386360265399205630741776656110966016444181350092894439749860940751176976546632465426558193328944316805630708474392371605830941134076378500741060855958184586100319675139300226485929092626541121801205325743796790473879568871104097866791719769983810497662909717834675155377440870667469520317913517912498322694720848440885745556747154262144776834967819553549676737425854937726648049989653784945370625192755488569502074914868203826945559679086110882888645060163926461098370228055605603975236504302693434878051292357296482770876222701064676996760089524750619923847707521126340765319800412957154583203927585075026438272011957991594541442160368370489728842736051721 893108213392407861919040080623224045757977368488496834533457726374084791779908811641824616016715285359048866230028937025065778741015112621121352062283274213100420314508732218796844173815616524225726745427281818133707665909208654886430576679572390730338177851873871577372082989297997304052937868543435716778352967790597567849452835495925602398684296656650165146902043739888785101175204929925990863761740897250675072124655260234313390661423226624334696013056833635460471133218449310663997638640847661702320617195463053294926953456260053649078431598586024237204532959425465318613586795323797949636086570191443438949918526412409213165808638881671499480281353078849933316587133946514088475644016992174707337310417733699610610024723029962281145678055865037050248081397319516276199478145490424560559081223284544652072329641289194276645280328601830942800184850521622330267970602188509748528032069619681419498556687724249189529662322740613833632424443420123652259209022073495044924760098480870976807696136514030368541129402179395530661426102418781279166804569176096818084795264354988204819252600842252817557709495557457186448891175117124276403613868490265663310882596251407044506353589288726996132090138580368410719646713480452302143999793574413715823521785246790991149994334512051918301775845856367727292810862771821786414236809559550743705728033576750691982847301080578179860734579990488400012108548983543086759807537382690431828355323671194648075566357866477976389895275474213764167999483762450720154803359862187162099845879678415318267324278272033635002367907580359252053207390392246579032927223978314166281037643 1445079444900609949855587194874323807912208757221171066828360284801955614138546256946060442986055064083158110359071911517110282741677710955972805437921986562575079892779103996514382244214584554232025624869443802934020127359196698617847260505889523248041473623737207462619691710162056906161167148668858660138648149155282888440651975545867448472754501457318178467435440263858396530749588668644716166687428395878220609638077280659156827975731118596302490426581037636081139655045851322555386344116437633231740637442449517370177513033216724043648750556739802631698158079034528755645556608846848793065366418962510144534336232721283755967410336369832430579474629867532392954174664626025568613471143661044920415572608637256455425133921740305284430718370068416394517793968335104487804678621951752781031767019584936635167134224366007192737449424199599617642444583271270975268132248879369054200839921882220560177673625752310887135286150004140937758838928510824721645569287472700675666536754591836993251877486606924808290990342930572507208058567845339472495748885981727526559187635960819145953328979342993878413667680143557506124030475343610205496240409612066868636626393041880924075224693386593787851860122390866073629364548155607679584870461043934033737039697745113685870842775397797475048930108001144562260630416321498523840091747286198793695381818522121317175602789650080254775602783817433959691194659866431731819971463843788802056410929275169884579869051301356027682252571956984640390700548439447480244328110482111009807367006019180638067737235426616838929952982606797524065165381986788021193295594468043009017089364 2338187658293017811774627275497547853670186125709667901361818011176040405918455068587885059002770349442206976589100848542176061482692823577094157500205260775675500207287836215311226418030201078457752370296725621067727793268405353504277837185461913978379651475611079039991774699460054210214105017212294376917001116945880456290104811041793050871438798113968343614337484003747181631924793598570707030449169293128895681762732540893470218637154345220637186439637871271541610788264300633219383982757285294934061254637912570665104466489476777692727182155325826868902691038459994074259143404170646742701452989153953583484254759133692969133218975251503930059755982946382326270761798572539657089115160653219627752883026370956066035158644770267565576396425933453444765875365654620764004156767442177341590848242869481287239463865655201469382729752801430560442629433792893305536102851067878802728871991501901979676230313476560076664948472744754771391263371930948373904778309546195720591296853072707970059573623120955176832119745109968037869484670264120751662553455157824344643982900315807350772581580185246695971377175701014692572921650460734481899854278102332531947508989293287968581578282675320783983950260971234484349011261636059981728870254618347749560561482991904677020837109909849393350705953857512289553441279093320310254328556845749537401109852098872009158450090730658434636337363807922359703303208849974818579779001226479233884766252946364532655435409167834004072147847431198404558700032201898200399131470344298171907212885697595956335061513698650473932320890187156776118372772379034600226222818446357175298127007 3783267103193627761630214470371871661582394882930838968190178295977996020057001325533945501988825413525365086948172760059286344224370534533066962938127247338250580100066940211825608662244785632689777995166169424001747920627602052122125097691351437226421125099348286502611466409622111116375272165881153037055649266101163344730756786587660499344193299571286522081772924267605578162674382267215423197136597689007116291400809821552627046612885463816939676866218908907622750443310151955774770326873722928165801892080362088035281979522693501736375932712065629500600849117494522829904700013017495535766819408116463728018590991854976725100629311621336360639230612813914719224936463198565225702586304314264548168455635008212521460292566510572850007114796001869839283669333989725251808835389393930122622615262454417922406598090021208662120179177001030178085074017064164280804235099947247856929711913384122539853903939228870963800234622748895709150102300441773095550347597018896396257833607664544963311451109727879985123110088040540545077543238109460224158302341139551871203170536276626496725910559528240574385044855844572198696952125804344687396094687714399400584135382335168892656802976061914571835810383362100557978375809791667661313740715662281783297601180737018362891679885307646868399636061858656851814071695414818834094420304131948331096491670620993326334052880380738689411940147625356319394497868716406550399750465070268035941177182221534417235304460469190031754400419388183044949400580641345680643459580826409181714579891716776594402798749125267312862273872793954300183538154365822621419518412914400184315216371 6121454761486645573404841745869419515252581008640506869551996307154036425975456394121830560991595762967572063537273608601462405707063358110161120438332508113926080307354776427136835080274986711147530365462895045069475713896007405626402934876813351204800776574959365542603241109082165326589377183093447413972650383047043801020861597629453550215632097685254865696110408271352759794599175865786130227585766982136011973163542362446097265250039809037576863305856780179164361231574452588994154309631008223099863146718274658700386446012170279429103114867391456369503540155954516904163843417188142278468272397270417311502845750988669694233848286872840290698986595760297045495698261771104882791701464967484175921338661379168587495451211280840415583511221935323284049544699644346015812992156836107464213463505323899209646061955676410131502908929802460738527703450857057586340337951015126659658583904886024519530134252705431040465183095493650480541365672372721469455125906565092116849130460737252933371024732848835161955229833150508582947027908373580975820855796297376215847153436592433847498492139713487270356422031545586891269873776265079169295948965816731932531644371628456861238381258737235355819760644333335042327387071427727643042610970280629532858162663728923039912516995217496261750342015716169141367512974508139144348748860977697868497601522719865335492502971111397124048277511433278679097801077566381368979529466296747269825943435167898949890739869637024035826548266819381449508100612843243881042591051170707353621792777414372550737860262823917786794594762981111076301910926744857221645741231360757359613343378 9904721864680273335035056216241291176834975891571345837742174603132032446032457719655776062980421176492937150485446368660748749931433892643228083376459755452176660407421716638962443742519772343837308360629064469071223634523609457748528032568164788431221901674307652045214707518704276442964649348974600451028299649148207145751618384217114049559825397256541387777883332538958337957273558133001553424722364671143128264564352183998724311862925272854516540172075689086787111674884604544768924636504731151265665038798636746735668425534863781165479047579457085870104389273449039734068543430205637814235091805386881039521436742843646419334477598494176651338217208574211764720634724969670108494287769281748724089794296387381108955743777791413265590626017937193123333214033634071267621827546230037586836078767778317132052660045697618793623088106803490916612777467921221867144573050962374516588295818270147059384038191934302004265417718242546189691467972814494565005473503583988513106964068401797896682475842576715147078339921191049128024571146483041199979158137436928087050323972869060344224402699241727844741466887390159089966825902069423856692043653531131333115779753963625753895184234799149927655571027695435600305762881219395304356351685942911316155763844465941402804196880525143130149978077574825993181584669922957978443169165109646199594093193340858661826555851492135813460217659058634998492298946282787919379279931367015305767120617389433367126044330106214067580948686207564494457501193484589561686050631997116535336372669131149145140659011949185099656868635775065376485449081110679843065259644275157543928559749 16026176626166918908439897962110710692087556900211852707294170910286068872007914113777606623972016939460509214022719977262211155638497250753389203814792263566102740714776493066099278822794759054984838726091959514140699348419616863374930967444978139636022678249267017587817948627786441769554026532068047865000950032195250946772479981846567599775457494941796253473993740810311097751872733998787683652308131653279140237727894546444821577112965081892093403477932469265951472906459057133763078946135739374365528185516911405436054871547034060594582162446848542239607929429403556638232386847393780092703364202657298351024282493832316113568325885367016942037203804334508810216332986740774991285989234249232900011132957766549696451194989072253681174137239872516407382758733278417283434819703066145051049542273102216341698722001374028925125997036605951655140480918778279453484911001977501176246879723156171578914172444639733044730600813736196670232833645187216034460599410149080629956094529139050830053500575425550309033569754341557710971599054856622175800013933734304302897477409461494191722894838955215115097888918935745981236699678334503025987992619347863265647424125592082615133565493536385283475331672028770642633149952647122947398962656223540849013926508194864442716713875742639391900320093290995134549097644431097122791918026087344068091694716060723997319058822603532937508495170491913677590100023849169288358809397663762575593064052557332317016784199743238103407496953026945943965601806327833442728641683167823888958165446545521695878519274773102886451463398756176452787360007855537064711000875635914903541903127 25930898490847192243474954178352001868922532791783198545036345513418101318040371833433382686952438115953446364508166345922959905569931143396617287191252019018279401122198209705061722565314531398822147086721023983211922982943226321123459000013142928067244579923574669633032656146490718212518675881042648316029249681343458092524098366063681649335282892198337641251877073349269435709146292131789237077030496324422268502292246730443545888975890354746609943650008158352738584581343661678532003582640470525631193224315548152171723297081897841760061210026305628109712318702852596372300930277599417906938456008044179390545719236675962532902803483861193593375421012908720574936967711710445099780277003530981624100927254153930805406938766863666946764763257809709530715972766912488551056647249296182637885621040880533473751382047071647718749085143409442571753258386699501320629484052939875692835175541426318638298210636574035048996018531978742859924301618001710599466072913733069143063058597540848726735976418002265456111909675532606838996170201339663375779172071171232389947801382330554535947297538196942959839355806325905071203525580403926882680036272878994598763203879555708369028749728335535211130902699724206242938912833866518251755314342166452165169690352660805845520910756267782522050298170865821127730682314354055101235087191196990267685787909401582659145614674095668750968712829550548676082398970131957207738089329030777881360184669946765684142828529849452170988445639234510438423102999812423004414692315164940424294538115676670841019178286722287986108332034531241829272809088966216907776260519911072447470462876 41957075117014111151914852140462712561010089691995051252330516423704170190048285947210989310924455055413955578530886323185171061208428394150006491006044282584382141836974702771161001388109290453806985812812983497352622331362843184498389967458121067703267258172841687220850604774277159982072702413110696181030199713538709039296578347910249249110740387140133894725870814159580533461019026130576920729338627977701408740020141276888367466088855436638703347127940627618690057487802718812295082528776209899996721409832459557607778168628931902354643372473154170349320248132256153010533317124993197999641820210701477741570001730508278646471129369228210535412624817243229385153300698451220091066266237780214524112060211920480501858133755935920627938900497682225938098731500190905834491466952362327688935163313982749815450104048445676643875082180015394226893739305477780774114395054917376869082055264582490217212383081213768093726619345714939530157135263188926633926672323882149773019153126679899556789476993427815765145479429874164549967769256196285551579186004905536692845278791792048727670192377152158074937244725261651052440225258738429908668028892226857864410628005147790984162315221871920494606234371752976885572062786513641199154276998389993014183616860855670288237624632010421913950618264156816262279779958785152224027005217284334335777482625462306656464673496699201688477208000042462353672498993981126496096898726694540456953248722504098001159612729592690274395942592261456382388704806140256447143333998332764313252703562222192536897697561495390872559795433287418282060169096821753972487261395546987351012366003 67887973607861303395389806318814714429932622483778249797366861937122271508088657780644371997876893171367401943039052669108130966778359537546623778197296301602661542959172912476222723953423821852629132899534007480564545314306069505621848967471263995770511838096416356853883260920767878194591378294153344497059449394882167131820676713973930898446023279338471535977747887508849969170165318262366157806369124302123677242312388007331913355064745791385313290777948785971428642069146380490827086111416680425627914634148007709779501465710829744114704582499459798459032566835108749382834247402592615906580276218745657132115720967184241179373932853089404128788045830151949960090268410161665190846543241311196148212987466074411307265072522799587574703663755491935468814704267103394385548114201658510326820784354863283289201486095517324362624167323424836798646997692177282094743879107857252561917230806008808855510593717787803142722637877693682390081436881190637233392745237615218916082211724220748283525453411430081221257389105406771388963939457535948927358358076076769082793080174122603263617489915349101034776600531587556123643750839142356791348065165105852463173831884703499353191064950207455705737137071477183128510975620380159450909591340556445179353307213516476133758535388278204436000916435022637390010462273139207325262092408481324603463270534863889315610288170794870439445920829593011029754897964113083703834988055725318338313433392450863685302441259442142445384388231495966820811807805952679451558026313497704737547241677898863377916875848217678858668127467818660111332978185787970880263521915458059798482828879 109845048724875414547304658459277426990942712175773301049697378360826441698136943727855361308801348226781357521569938992293302027986787931696630269203340584187043684796147615247383725341533112306436118712346990977917167645668912690120238934929385063473779096269258044074733865695045038176664080707264040678089649108420876171117255061884180147556763666478605430703618701668430502631184344392943078535707752279825085982332529284220280821153601228024016637905889413590118699556949099303122168640192890325624636043980467267387279634339761646469347954972613968808352814967364902393367564527585813906222096429447134873685722697692519825845062222317614664200670647395179345243569108612885281912809479091410672325047677994891809123206278735508202642564253174161406913435767294300220039581154020838015755947668846033104651590143963001006499249503440231025540736997655062868858274162774629430999286070591299072722976799001571236449257223408621920238572144379563867319417561497368689101364850900647840314930404857896986402868535280935938931708713732234478937544080982305775638358965914651991287682292501259109713845256849207176083976097880786700016094057332710327584459889851290337353380172079376200343371443230160014083038406893800650063868338946438193536924074372146421996160020288626349951534699179453652290242231924359549289097625765658939240753160326195972074961667494072127923128829635473383427396958094210199931886782419858795266682114954961686462053989034832719780330823757423203200512612092935898701360311830469050799945240121055914814573409713069731227922901106078393393147282609724852750783311005047149495194882 177733022332736717942694464778092141420875334659551550847064240297948713206225601508499733306678241398148759464608991661401432994765147469243254047400636885789705227755320527723606449294956934159065251611880998458481712959974982195742087902400649059244290934365674400928617126615812916371255459001417385175149098503303043302937931775858111046002786945817076966681366589177280471801349662655309236342076876581948763224644917291552194176218347019409329928683838199561547341626095479793949254751609570751252550678128474977166781100050591390584052537472073767267385381802473651776201811930178429812802372648192792005801443664876761005218995075407018792988716477547129305333837518774550472759352720402606820538035144069303116388278801535095777346228008666096875728140034397694605587695355679348342576732023709316393853076239480325369123416826865067824187734689832344963602153270631881992916516876600107928233570516789374379171895101102304310320009025570201100712162799112587605183576575121396123840383816287978207660257640687707327895648171268183406295902157059074858431439140037255254905172207850360144490445788436763299727726937023143491364159222438562790758291774554789690544445122286831906080508514707343142594014027273960100973459679502883372890231287888622555754695408566830785952451134202091042300704505063566874551190034246983542704023695190085287685249838288942567369049659228484413182294922207293903766874838145177133580115507405825371764495248476975165164719055253390024012320418045615350259386625328173788347186918019919292731449257930748589896050368924738504726125468397695733014305226463106947978023761 287578071057612132489999123237369568411818046835324851896761618658775154904362545236355094615479589624930116986178930653694735022751935400939884316603977469976748912551468142970990174636490046465501370324227989436398880605643894885862326837330034122718070030634932445003350992310857954547919539708681425853238747611723919474055186837742291193559550612295682397384985290845710974432534007048252314877784628861773849206977446575772474997371948247433346566589727613151666041183044579097071423391802461076877186722108942244554060734390353037053400492444687736075738196769838554169569376457764243719024469077639926879487166362569280831064057297724633457189387124942308650577406627387435754672162199494017492863082822064194925511485080270603979988792261840258282641575801691994825627276509700186358332679692555349498504666383443326375622666330305298849728471687487407832460427433406511423915802947191407000956547315790945615621152324510926230558581169949764968031580360609956294284941426022043964155314221145875194063126175968643266827356885000417885233446238041380634069798105951907246192854500351619254204291045285970475811703034903930191380253279771273118342751664406080027897825294366208106423879957937503156677052434167760751037328018449321566427155362260768977750855428855457135903985833381544694590946736987926423840287660012642481944776855516281259760211505783014695292178488863957796609691880301504103698761620565035928846797622360787058226549237511807884945049879010813227212833030138551248960746937158642839147132158140975207546022667643818321123973270030816898119272751007420585765088537468154097473218643 465311093390348850432693588015461709832693381494876402743825858956723868110588146744854827922157831023078876450787922315096168017517082870183138364004614355766454140306788670694596623931446980624566621936108987894880593565618877081604414739730683181962360965000606845931968118926670870919174998710098811028387846115026962776993118613600402239562337558112759364066351880022991446233883669703561551219861505443722612431622363867324669173590295266842676495273565812713213382809140058891020678143412031828129737400237417221720841834440944427637453029916761503343123578572312205945771188387942673531826841725832718885288610027446041836283052373131652250178103602489437955911244146161986227431514919896624313401117966133498041899763881805699757335020270506355158369715836089689431214971865379534700909411716264665892357742622923651744746083157170366673916206377319752796062580704038393416832319823791514929190117832580319994793047425613230540878590195519966068743743159722543899468518001143440087995698037433853401723383816656350594723005056268601291529348395100455492501237245989162501098026708201979398694736833722733775539429971927073682744412502209835909101043438960869718442270416653040012504388472644846299271066461441720852010787697952204939317386650149391533505550837422287921856436967583635736891651242051493298391477694259626024648800550706366547445461344071957262661228148092442209791986802508798007465636458710213062426913129766612429991044485988783050109768934264203251225153448184166599220133562486816627494319076160894500277471925574566911020023638955555402845398219405116318779393763931261045451242404 752889164447960982922692711252831278244511428330201254640587477615499023014950691981209922537637420648008993436966852968790903040269018271123022680608591825743203052858256813665586798567937027090067992260336977331279474171262771967466741577060717304680430995635539290935319111237528825467094538418780236881626593726750882251048305451342693433121888170408441761451337170868702420666417676751813866097646134305496461638599810443097144170962243514276023061863293425864879423992184637988092101535214492905006924122346359466274902568831297464690853522361449239418861775342150760115340564845706917250851310803472645764775776390015322667347109670856285707367490727431746606488650773549421982103677119390641806264200788197692967411248962076303737323812532346613441011291637781684256842248375079721059242091408820015390862409006366978120368749487475665523644678064807160628523008137444904840748122770982921930146665148371265610414199750124156771437171365469731036775323520332500193753459427165484052151012258579728595786509992624993861550361941269019176762794633141836126571035351941069747290881208553598652899027879008704251351133006831003874124665781981109027443795103366949746340095711019248118928268430582349455948118895609481603048115716401526505744542012410160511256406266277745057760422800965180431482597979039419722231765354272268506593577406222647807205672849854971957953406636956400006401678682810302111164398079275248991273710752127399488217593723500590935054818813275016478437986478322717848180880499645459466641451234301869707823494593218385232143996908986372300964670970412536904544482301399415142924461047 1218200257838309833355386299268292988077204809825077657384413336572222891125538838726064750459795251671087869887754775283887071057786101141306161044613206181509657193165045484360183422499384007714634614196445965226160067736881649049071156316791400486642791960636146136867287230164199696386269537128879047910014439841777845028041424064943095672684225728521201125517689050891693866900301346455375417317507639749219074070222174310421813344552538781118699557136859238578092806801324696879112779678626524733136661522583776687995744403272241892328306552278210742761985353914462966061111753233649590782678152529305364650064386417461364503630162043987937957545594329921184562399894919711408209535192039287266119665318754331191009311012843882003494658832802852968599381007473871373688057220240459255760151503125084681283220151629290629865114832644646032197560884442126913424585588841483298257580442594774436859336782980951585605207247175737387312315761560989697105519066680055044093221977428308924140146710296013581997509893809281344456273366997537620468292143028242291619072272597930232248388907916755578051593764712731438026890562978758077556869078284190944936544838542327819464782366127672288131432656903227195755219185357051202455058903414353731445061928662559552044761957103700032979616859768548816168374249221090913020623243048531894531242377956929014354651134193926929220614634785048842216193665485319100118630034537985462053700623881894011918208638209489373985164587747539219729663139926506884447401014062132276094135770310462764208100966518792952143164020547941927703810069189817653223323876065330676188375703451 1971089422286270816278079010521124266321716238155278912025000814187721914140489530707274672997432672319096863324721628252677974098055119412429183725221798007252860246023302298025770221067321034804702606456782942557439541908144421016537897893852117791323222956271685427802606341401728521853364075547659284791641033568528727279089729516285789105806113898929642886969026221760396287566719023207189283415153774054715535708821984753518957515514782295394722619000152664442972230793509334867204881213841017638143585644930136154270646972103539357019160074639659982180847129256613726176452318079356508033529463332778010414840162807476687170977271714844223664913085057352931168888545693260830191638869158677907925929519542528883976722261805958307231982645335199582040392299111653057944899468615538976819393594533904696674082560635657607985483582132121697721205562506934074053108596978928203098328565365757358789483448129322851215621446925861544083752932926459428142294390200387544286975436855474408192297722554593310593296403801906338317823728938806639645054937661384127745643307949871301995679789125309176704492792591740142278241695985589081430993744066172053963988633645694769211122461838691536250360925333809545211167304252660684058107019130755257950806470674969712556018363369977778037377282569513996599856847200130332742855008402804163037835955363151662161856807043781901178568041422005242222595344168129402229794432617260711044974334634021411406426231932989964920219406560814236208101126404829602295581894561777735560777221544764633915924461112011337375308017456928300004774740160230190127868358366730091331300164498 3189289680124580649633465309789417254398921047980356569409414150759944805266028369433339423457227923990184733212476403536565045155841220553735344769835004188762517439188347782385953643566705042519337220653228907783599609645026070065609054210643518277966014916907831564669893571565928218239633612676538332701655473410306572307131153581228884778490339627450844012486715272652090154467020369662564700732661413803934609779044159063940770860067321076513422176137011903021065037594834031746317660892467542371280247167513912842266391375375781249347466626917870724942832483171076692237564071313006098816207615862083375064904549224938051674607433758832161622458679387274115731288440612972238401174061197965174045594838296860074986033274649840310726641478138052550639773306585524431632956688855998232579545097658989377957302712264948237850598414776767729918766446949060987477694185820411501355909007960531795648820231110274436820828694101598931396068694487449125247813456880442588380197414283783332332444432850606892590806297611187682774097095936344260113347080689626419364715580547801534244068697042064754756086557304471580305132258964347158987862822350362998900533472188022588675904827966363824381793582237036740966386489609711886513165922545108989395868399337529264600780320473677811016994142338062812768231096421221245763478251451336057569078333320080676516507941237708830399182676207054084438789009653448502348424467155246173098674958515915423324634870142479338905383994308353455937764266331336486742982908623910011654912991855227398124025427630804289518472038004870227708584809350047843351192234432060767519675867949 5160379102410851465911544320310541520720637286135635481434414964947666719406517900140614096454660596309281596537198031789243019253896339966164528495056802196015377685211650080411723864634026077324039827110011850341039151553170491082146952104495636069289237873179516992472499912967656740092997688224197617493296506978835299586220883097514673884296453526380486899455741494412486442033739392869753984147815187858650145487866143817459728375582103371908144795137164567464037268388343366613522542106308560009423832812444048996537038347479320606366626701557530707123679612427690418414016389392362606849737079194861385479744712032414738845584705473676385287371764444627046900176986306233068592812930356643081971524357839388958962755536455798617958624123473252132680165605697177489577856157471537209398938692192894074631385272900605845836081996908889427639972009455995061530802782799339704454237573326289154438303679239597288036450141027460475479821627413908553390107847080830132667172851139257740524742155405200203184102701413094021091920824875150899758402018351010547110358888497672836239748486167373931460579349896211722583373954949936240418856566416535052864522105833717357887027289805055360632154507570846286177553793862372570571272941675864247346674870012498977156798683843655589054371424907576809368087943621351578506333259854140220606914288683232338678364748281490731577750717629059326661384353821577904578218899772506884143649293149936834731061102075469303825603400869167692145865392736166089038564803185687747215690213399992032039949888742815626893780055461798527713359549510278033479060592798790858850976032447 8349668782535432115545009630099958775119558334115992050843829115707611524672546269573953519911888520299466329749674435325808064409737560519899873264891806384777895124399997862797677508200731119843377047763240758124638761198196561147756006315139154347255252790087348557142393484533584958332631300900735950194951980389141871893352036678743558662786793153831330911942456767064576596500759762532318684880476601662584755266910302881400499235649424448421566971274176470485102305983177398359840202998776102380704079979957961838803429722855101855714093328475401432066512095598767110651580460705368705665944695056944760544649261257352790520192139232508546909830443831901162631465426919205306993986991554608256017119196136249033948788811105638928685265601611304683319938912282701921210812846327535441978483789851883452588687985165554083686680411685657157558738456405056049008496968619751205810146581286820950087123910349871724857278835129059406875890321901357678637921303961272721047370265423041072857186588255807095774908999024281703866017920811495159871749099040636966475074469045474370483817183209438686216665907200683302888506213914283399406719388766898051765055578021739946562932117771419185013948089807883027143940283472084457084438864220973236742543269350028241757579004317333400071365567245639622136319040042572824269811511305476278175992622003313015194872689519199561976933393836113411100173363475026406926643366927753057242324251665852258055695972217948642730987395177521148083629659067502575781547711809597758870603205255219430163975316373619916412252093466668755421944358860325876830252827230851626370651900396 13510047884946283581456553950410500295840195620251627532278244080655278244079064169714567616366549116608747926286872467115051083663633900486064401759948608580793272809611647943209401372834757197167416874873252608465677912751367052229902958419634790416544490663266865549614893397501241698425628989124933567688248487367977171479572919776258232547083246680211817811398198261477063038534499155402072669028291789521234900754776446698860227611231527820329711766411341037949139574371520764973362745105084662390127912792402010835340468070334422462080720030032932139190191708026457529065596850097731312515681774251806146024393973289767529365776844706184932197202208276528209531642413225438375586799921911251337988643553975637992911544347561437546643889725084556816000104517979879410788669003799072651377422482044777527220073258066159929522762408594546585198710465861051110539299751419090910264384154613110104525427589589469012893728976156519882355711949315266232028029151042102853714543116562298813381928743661007298959011700437375724957938745686646059630151117391647513585433357543147206723565669376812617677245257096895025471880168864219639825575955183433104629577683855457304449959407576474545646102597378729313321494077334457027655711805896837484089218139362527218914377688160988989125736992153216431504406983663924402776144771159616498782906910686545353873237437800690293554684111465172737761557717296604311504862266700259941385973544815789092786757074293417946556590796046688840229495051803668664820112514995285506086293418655211462203925205116435543306032148928467283135303908370603910309313420029642485221627932843 21859716667481715697001563580510459070959753954367619583122073196362889768751610439288521136278437636908214256036546902440859148073371461005964275024840414965571167934011645806007078881035488317010793922636493366590316673949563613377658964734773944763799743453354214106757286882034826656758260290025669517883200467757119043372924956455001791209870039834043148723340655028541639635035258917934391353908768391183819656021686749580260726846880952268751278737685517508434241880354698163333202948103860764770831992772359972674143897793189524317794813358508333571256703803625224639717177310803100018181626469308750906569043234547120319885968983938693479107032652108429372163107840144643682580786913465859594005762750111887026860333158667076475329155326695861499320043430262581331999481850126608093355906271896660979808761243231714013209442820280203742757448922266107159547796720038842116074530735899931054612551499939340737751007811285579289231602271216623910665950455003375574761913381985339886239115331916814394733920699461657428823956666498141219501900216432284480060507826588621577207382852586251303893911164297578328360386382778503039232295343950331156394633261877197251012891525347893730660050687186612340465434360806541484740150670117810720831761408712555460671956692478322389197102559398856053640726023706497227045956282465092776958899532689858369068110127319889855531617505301286148861731080771630718431505633628012998628297796481641350842453046511366589287578191224209988313124710871171240601660226804883264956896623910430892367900521490055459718284242395136038557248267230929787139566247260494111592279833239 35369764552427999278458117530920959366799949574619247115400317277018168012830674609003088752644986753516962182323419369555910231737005361492028676784789023546364440743623293749216480253870245514178210797509745975055994586700930665607561923154408735180344234116621079656372180279536068355183889279150603085571448955125096214852497876231260023756953286514254966534738853290018702673569758073336464022937060180705054556776463196279120954458112480089080990504096858546383381454726218928306565693208945427160959905564761983509484365863523946779875533388541265710446895511651682168782774160900831330697308243560557052593437207836887849251745828644878411304234860384957581694750253370082058167586835377110931994406304087525019771877506228514021973045051780418315320147948242460742788150853925680744733328753941438507028834501297873942732205228874750327956159388127158270087096471457933026338914890513041159137979089528809750644736787442099171587314220531890142693979606045478428476456498547638699621044075577821693692932399899033153781895412184787279132051333823931993645941184131768783930948521963063921571156421394473353832266551642722679057871299133764261024210945732654555462850932924368276306153284565341653786928438140998512395862476014648204920979548075082679586334380639311378322839551552072485145133007370421629822101053624709275741806443376403722941347565120580149086301616766458886623288798068235029936367900328272940014271341297430443629210120804784535844168987270898828542619762674839905421772741800168771043190042565642354571825726606491003024316391323603321692552175601533697448879667290136596813907766082 57229481219909714975459681111431418437759703528986866698522390473381057781582285048291609888923424390425176438359966271996769379810376822497992951809629438511935608677634939555223559134905733831189004720146239341646311260650494278985220887889182679944143977569975293763129467161570895011942149569176272603454649422882215258225422832686261814966823326348298115258079508318560342308605016991270855376845828571888874212798149945859381681304993432357832269241782376054817623335080917091639768641312806191931791898337121956183628263656713471097670346747049599281703599315276906808499951471703931348878934712869307959162480442384008169137714812583571890411267512493386953857858093514725740748373748842970526000169054199412046632210664895590497302200378476279814640191378505042074787632704052288838089235025838099486837595744529587955941648049154954070713608310393265429634893191496775142413445626412972213750530589468150488395744598727678460818916491748514053359930061048854003238369880532978585860159407494636088426853099360690582605852078682928498633951550256216473706449010720390361138331374549315225465067585692051682192652934421225718290166643084095417418844207609851806475742458272262006966203971751953994252362798947539997136013146132458925752740956787638140258291073117633767519942110950928538785859031076918856868057336089802052700705976066262092009457692440470004617919122067745035485019878839865748367873533956285938642569137779071794471663167316151125131747178495108816855744473546011146023432968605052036000086666476073246939726248096546462742600633718739360249800442832463484588445914550630708406187599321 92599245772337714253917798642352377804559653103606113813922707750399225794412959657294698641568411143942138620683385641552679611547382183990021628594418462058300049421258233304440039388775979345367215517655985316702305847351424944592782811043591415124488211686596373419501647441106963367126038848326875689026098378007311473077920708917521838723776612862553081792818361608579044982174775064607319399782888752593928769574613142138502635763105912446913259745879234601201004789807136019946334334521751619092751803901883939693112629520237417877545880135590864992150494826928588977282725632604762679576242956429865011755917650220896018389460641228450301715502372878344535552608346884807798915960584220081457994575358286937066404088171124104519275245430256698129960339326747502817575783557977969582822563779779537993866430245827461898673853278029704398669767698520423699721989662954708168752360516926013372888509678996960239040481386169777632406230712280404196053909667094332431714826379080617285481203483072457782119785499259723736387747490867715777766002884080148467352390194852159145069279896512379147036224007086525036024919486063948397348037942217859678443055153342506361938593391196630283272357256317295648039291237088538509531875622147107130673720504862720819844625453756945145842781662503001023930992038447340486690158389714511328442512419442665814950805257561050153704220738834203922108308676908100778304241434284558878656840479076502238100873288120935660975916165766007645398364236220851051445205710405220807043276709041715601511551974703037465766917025042342681942352618433997182037325581840767305220095365403 149828726992247429229377479753783796242319356632592980512445098223780283575995244705586308530491835534367315059043351913549448991357759006488014580404047900570235658098893172859663598523681713176556220237802224658348617108001919223578003698932774095068632189256571667182631114602677858379068188417503148292480747800889526731303343541603783653690599939210851197050897869927139387290779792055878174776628717324482802982372763087997884317068099344804745528987661610656018628124888053111586102975834557811024543702239005895876740893176950888975216226882640464273854094142205495785782677104308694028455177669299172970918398092604904187527175453812022192126769885371731489410466440399533539664334333063051983994744412486349113036298836019695016577445808732977944600530705252544892363416262030258420911798805617637480704025990357049854615501327184658469383376008913689129356882854451483311165806143338985586639040268465110727436225984897456093225147204028918249413839728143186434953196259613595871341362890567093870546638598620414318993599569550644276399954434336364941058839205572549506207611271061694372501291592778576718217572420485174115638204585301955095861899360952358168414335849468892290238561228069249642291654036036078506667888768279566056426461461650358960102916526874578913362723773453929562716851069524259343558215725804313381143218395508927906960262950001520158322139860901948957593328555747966526672114968240844817299409616855574032572536455437086786107663344261116462254108709766862197468638679010272843043363375517788848451278222799583928509517658761082042192153061266460666625771496391398013626282964724 242427972764585143483295278396136174046879009736199094326367805974179509370408204362881007172060246678309453679726737555102128602905141190478036208998466362628535707520151406164103637912457692521923435755458209975050922955353344168170786509976365510193120400943168040602132762043784821746194227265830023981506846178896838204381264250521305492414376552073404278843716231535718432272954567120485494176411606077076731751947376230136386952831205257251658788733540845257219632914695189131532437310356309430117295506140889835569853522697188306852762107018231329266004588969134084763065402736913456708031420625729037982674315742825800205916636095040472493842272258250076024963074787284341338580294917283133441989319770773286179440387007143799535852691238989676074560870032000047709939199820008228003734362585397175474570456236184511753289354605214362868053143707434112829078872517406191479918166660264998959527549947462070966476707371067233725631377916309322445467749395237518866668022638694213156822566373639551652666424097880138055381347060418360054165957318416513408411229400424708651276891167574073519537515599865101754242491906549122512986242527519814774304954514294864530352929240665522573510918484386545290330945273124617016199764390426673187100181966513079779947541980631524059205505435956930586647843107971599830248374115518824709585730814951593721911068207562570312026360599736152879701637232656067304976356402525403695956250095932076270673409743558022447083579510027124107652472945987713248913844389415493650086640084559504449962830197502621394276434683803424724134505679700457848663097078232165318846378330127 392256699756832572712672758149919970289198366368792074838812904197959792946403449068467315702552082212676768738770089468651577594262900196966050789402514263198771365619044579023767236436139405698479655993260434633399540063355263391748790208909139605261752590199739707784763876646462680125262415683333172273987593979786364935684607792125089146104976491284255475894614101462857819563734359176363668953040323401559534734320139318134271269899304602056404317721202455913238261039583242243118540286190867241141839208379895731446594415874139195827978333900871793539858683111339580548848079841222150736486598295028210953592713835430704393443811548852494685969042143621807514373541227683874878244629250346185425984064183259635292476685843163494552430137047722654019161400737252592602302616082038486424646161391014812955274482226541561607904855932399021337436519716347801958435755371857674791083972803603984546166590215927181693912933355964689818856525120338240694881589123380705301621218898307809028163929264206645523213062696500552374374946629969004330565911752752878349470068605997258157484502438635767892038807192643678472460064327034296628624447112821769870166853875247222698767265090134414863749479712455794932622599309160695522867653158706239243526643428163438740050458507506102972568229209410860149364694177495859173806589841323138090728949210460521628871331157564090470348500460638101837294965788404033831648471370766248513255659712787650303245946198995109233191242854288240569906581655754575446382483068425766493130003460077293298414108420302205322785952342564506766326658740966918515288868574623563332472661294851 634684672521417716195968036546056144336077376104991169165180710172139302316811653431348322874612328890986222418496827023753706197168041387444086998400980625827307073139195985187870874348597098220403091748718644608450463018708607559919576718885505115454872991142907748386896638690247501871456642949163196255494440158683203140065872042646394638519353043357659754738330332998576251836688926296849163129451929478636266486267515548270658222730509859308063106454743301170457893954278431374650977596547176671259134714520785567016447938571327502680740440919103122805863272080473665311913482578135607444518018920757248936267029578256504599360447643892967179811314401871883539336616014968216216824924167629318867973383954032921471917072850307294088282828286712330093722270769252640312241815902046714428380523976411988429844938462726073361194210537613384205489663423781914787514627889263866271002139463868983505694140163389252660389640727031923544487903036647563140349338518618224168289241537002022184986495637846197175879486794380690429756293690387364384731869071169391757881298006421966808761393606209841411576322792508780226702556233583419141610689640341584644471808389542087229120194330799937437260398196842340222953544582285312539067417549132912430626825394676518519998000488137627031773734645367790736012537285467459004054963956841962800314680025412115350782399365126660782374861060374254716996603021060101136624827773291652209211909808719726573919355942553131680274822364315364677559054601742288695296327457841260143216643544636797748376938617804826717062387026367931490461164420667376363951965652855728651319039624978 1026941372278250288908640794695976114625275742473783244003993614370099095263215102499815638577164411103662991157266916492405283791430941584410137787803494889026078438758240564211638110784736503918882747741979079241850003082063870951668366927794644720716625581342647456171660515336710181996719058632496368529482034138469568075750479834771483784624329534641915230632944434461434071400423285473212832082492252880195801220587654866404929492629814461364467424175945757083696154993861673617769517882738043912400973922900681298463042354445466698508718774819974916345721955191813245860761562419357758181004617215785459889859743413687208992804259192745461865780356545493691053710157242652091095069553417975504293957448137292556764393758693470788640712965334434984112883671506505232914544431984085200853026685367426801385119420689267634969099066470012405542926183140129716745950383261121541062086112267472968051860730379316434354302574082996613363344428156985803835230927641998929469910460435309831213150424902052842699092549490881242804131240320356368715297780823922270107351366612419224966245896044845609303615129985152458699162620560617715770235136753163354514638662264789309927887459420934352301009877909298135155576143891446008061935070707839151674153468822839957260048458995643730004341963854778650885377231462963318177861553798165100891043629235872636979653730522690751252723361521012356554291568809464134968273299144057900722467569521507376877165302141548240913466065218603605247465636257496864141678810526267026636346647004714091046791047038107032039848339368932438256787823161634294879240834227479291983791700919829 1661626044799668005104608831242032258961353118578774413169174324542238397580026755931163961451776739994649213575763743516158989988598982971854224786204475514853385511897436549399508985133333602139285839490697723850300466100772478511587943646680149836171498572485555204558557154026957683868175701581659564784976474297152771215816351877417878423143682577999574985371274767460010323237112211770061995211944182358832067706855170414675587715360324320672530530630689058254154048948140104992420495479285220583660108637421466865479490293016794201189459215739078039151585227272286911172675044997493365625522636136542708826126772991943713592164706836638429045591670947365574593046773257620307311894477585604823161930832091325478236310831543778082728995793621147314206605942275757873226786247886131915281407209343838789814964359151993708330293277007625789748415846563911631533465011150385407333088251731341951557554870542705687014692214810028536907832331193633366975580266160617153638199701972311853398136920539899039874972036285261933233887534010743733100029649895091661865232664618841191775007289651055450715191452777661238925865176794201134911845826393504939159110470654331397157007653751734289738270276106140475378529688473731320601002488256972064104780294217516475780046459483781357036115698500146441621389768748430777181916517755007063691358309261284752330436129887817412035098222581386611271288171830524236104898126917349552931679479330227103451084658084101372593740887582918969925024690859239152836975137984108286779563290549350888795167985655911858756910726395300369747248987582301671243192799880335020635110740544807 2688567417077918294013249625938008373586628861052557657173167938912337492843241858430979600028941151098312204733030660008564273780029924556264362574007970403879463950655677113611147095918070106058168587232676803092150469182836349463256310574474794556888124153828202660730217669363667865864894760214155933314458508435622339291566831712189362207768012112641490216004219201921444394637535497243274827294436435239027868927442825281080517207990138782036997954806634815337850203942001778610190013362023264496061082560322148163942532647462260899698177990559052955497307182464100157033436607416851123806527253352328168715986516405630922584968966029383890911372027492859265646756930500272398406964031003580327455888280228618035000704590237248871369708758955582298319489613782263106141330679870217116134433894711265591200083779841261343299392343477638195291342029704041348279415394411506948395174363998814919609415600922022121368994788893025150271176759350619170810811193802616083108110162407621684611287345441951882574064585776143176038018774331100101815327430719013931972584031231260416741253185695901060018806582762813697625027797354818850682080963146668293673749132919120707084895113172668642039280154015438610534105832365177328662937558964811215778933763040356433040094918479425087040457662354925092506767000211394095359778071553172164582401938497157389310089860410508163287821584102398967825579740639988371073171426061407453654147048851734480328249960225649613507206952801522575172490327116736016978653948510375313415909937554064979841959032694018890796759065764232808004036810743935966122433634107814312618902441464636 4350193461877586299117858457180040632547981979631332070342342263454575890423268614362143561480717891092961418308794403524723263768628907528118587360212445918732849462553113663010656081051403708197454426723374526942450935283608827974844254221154944393059622726313757865288774823390625549733070461795815498099434982732775110507383183589607240630911694690641065201375493969381454717874647709013336822506380617597859936634297995695756104923350463102709528485437323873592004252890141883602610508841308485079721191197743615029422022940479055100887637206298130994648892409736387068206111652414344489432049889488870877542113289397574636177133672866022319956963698440224840239803703757892705718858508589185150617819112319943513237015421781026954098704552576729612526095556058020979368116927756349031415841104055104381015048138993255051629685620485263985039757876267952979812880405561892355728262615730156871166970471464727808383687003703053687179009090544252537786391459963233236746309864379933538009424265981850922449036622061405109271906308341843834915357080614105593837816695850101608516260475346956510733998035540474936550892974149019985593926789540173232832859603573452104241902766924402931777550430121579085912635520838908649263940047221783279883714057257872908820141377963206444076573360855071534128156768959824872541694589308179228273760247758442141640525990298325575322919806683785579096867912470512607178069552978757006585826528181961583779334618309750986100947840384441545097515017975975169815629086494483600195473228103415868637127018349930749553669792159533177751285798326237637365626433988149333254013182009443 7038760878955504593131108083118049006134610840683889727515510202366913383266510472793123161509659042191273623041825063533287537548658832084382949934220416322612313413208790776621803176969473814255623013956051330034601404466445177438100564795629738949947746880141960526018992492754293415597965222009971431413893491168397449798950015301796602838679706803282555417379713171302899112512183206256611649800817052836887805561740820976836622131340601884746526440243958688929854456832143662212800522203331749575782273758065763193364555587941316000585815196857183950146199592200487225239548259831195613238577142841199046258099805803205558762102638895406210868335725933084105886560634258165104125822539592765478073707392548561548237720012018275825468413311532311910845585169840284085509447607626566147550274998766369972215131918834516394929077963962902180331099905971994328092295799973399304123436979728971790776386072386749929752681792596078837450185849894871708597202653765849319854420026787555222620711611423802805023101207837548285309925082672943936730684511333119525810400727081362025257513661042857570752804618303288634175920771503838836276007752686841526506608736492572811326797880097071573816830584137017696446741353204085977926877606186594495662647820298229341860236296442631531117031023209996626634923769171218967901472660861351392856162186255599530950615850708833738610741390786184546922447653110500978251240979040164460239973577033696064107584578535400599608154793185964120270005345092711186794283035004858913611383165657480848479086051043949640350428857923765985755322609070173603488060068095963645872915623474079 11388954340833090892248966540298089638682592820315221797857852465821489273689779087155266722990376933284235041350619467058010801317287739612501537294432862241345162875761904439632459258020877522453077440679425856977052339750054005412944819016784683343007369606455718391307767316144918965331035683805786929513328473901172560306333198891403843469591401493923620618755207140684353830386830915269948472307197670434747742196038816672592727054691064987456054925681282562521858709722285545815411031044640234655503464955809378222786578528420371101473452403155314944795092001936874293445659912245540102670627032330069923800213095200780194939236311761428530825299424373308946126364338016057809844681048181950628691526504868505061474735433799302779567117864109041523371680725898305064877564535382915178966116102821474353230180057827771446558763584448166165370857782239947307905176205535291659851699595459128661943356543851477738136368796299132524629194940439124246383594113729082556600729891167488760630135877405653727472137829898953394581831391014787771646041591947225119648217422931463633773774136389814081486802653843763570726813745652858821869934542227014759339468340066024915568700647021474505594381014258596782359376874042994627190817653408377775546361877556102250680377674405837975193604384065068160763080538131043840443167250169530621129922434014041672591141841007159313933661197469970126019315565581013585429310532018921466825800105215657647886919196845151585709102633570405665367520363068686356609912121499342513806856393760896717116213069393880389904098650083299163506608407396411240853686502084112979126928805483522 18427715219788595485380074623416138644817203660999111525373362668188402656956289559948389884500035975475508664392444530591298338865946571696884487228653278563957476288970695216254262434990351336708700454635477187011653744216499182851045383812414422292955116486597678917326759808899212380929000905815758360927221965069570010105283214193200446308271108297206176036134920311987252942899014121526560122108014723271635547757779637649429349186031666872202581365925241251451713166554429208028211553247971984231285738713875141416151134116361687102059267600012498894941291594137361518685208172076735715909204175171268970058312901003985753701338950656834741693635150306393052012924972274222913970503587774716106765233897417066609712455445817578605035531175641353434217265895738589150387012143009481326516391101587844325445311976662287841487841548411068345701957688211941635997472005508690963975136575188100452719742616238227667889050588895211362079380790333995954980796767494931876455149917955043983250847488829456532495239037736501679891756473687731708376726103280344645458618150012825659031287797432671652239607272147052204902734517156697658145942294913856285846077076558597726895498527118546079411211598395614478806118227247080605117695259594972271209009697854331592540613970848469506310635407275064787398004307302262808344639911030882013986084620269641203541757691715993052544402588256154672941763218691514563680551511059085927065773682249353711994503775380552185317257426756369785637525708161397543404195156504201427418239559418377565595299120437830030254527508007065149261931016466584844341746570180076624999844428957601 29816669560621686377629041163714228283499796481314333323231215134009891930646068647103656607490412908759743705743063997649309140183234311309386024523086140805302639164732599655886721693011228859161777895314903043988706083966553188263990202829199105635962486093053397308634527125044131346260036589621545290440550438970742570411616413084604289777862509791129796654890127452671606773285845036796508594415212393706383289953818454322022076240722731859658636291606523813973571876276714753843622584292612218886789203669684519638937712644782058203532720003167813839736383596074235812130868084322275818579831207501338893858525996204765948640575262418263272518934574679701998139289310290280723815184635956666735456760402285571671187190879616881384602649039750394957588946621636894215264576678392396505482507204409318678675492034490059288046605132859234511072815470451888943902648211043982623826836170647229114663099160089705406025419385194343886708575730773120201364390881224014433055879809122532743880983366235110259967376867635455074473587864702519480022767695227569765106835572944289292805061933822485733726409925990815775629548262809556480015876837140871045185545416624622642464199174140020585005592612654211261165495101290075232308512913003350046755371575410433843220991645254307481504239791340132948161084845433306648787807161200412635116007054283682876132899532723152366478063785726124798961078784272528149109862043078007393891573787465011359881422972225703771026360060326775451005046071230083900014107278003543941225095953179274282711512189831710420158626158090364312768539423862996085195433072264189604126773234441123 48244384780410281863009115787130366928317000142313444848604577802198294587602358207052046491990448884235252370135508528240607479049180883006270511751739419369260115453703294872140984128001580195870478349950380231000359828183052371115035586641613527928917602579651076225961286933943343727189037495437303651367772404040312580516899627277804736086133618088335972691025047764658859716184859158323068716523227116978018837711598091971451425426754398731861217657531765065425285042831143961871834137540584203118074942383559661055088846761143745305591987603180312734677675190211597330816076256399011534489035382672607863916838897208751702341914213075098014212569724986095050152214282564503637785688223731382842221994299702638280899646325434459989638180215391748391806212517375483365651588821401877831998898305997163004120804011152347129534446681270302856774773158663830579900120216552673587801972745835329567382841776327933073914469974089555248787956521107116156345187648718946309511029727077576727131830855064566792462615905371956754365344338390251188399493798507914410565453722957114951836349731255157385966017198137867980532282779966254138161819132054727331031622493183220369359697701258566664416804211049825739971613328537155837426208172598322317964381273264765435761605616102776987814875198615197735559089152735569457132447072231294649102091674553324079674657224439145419022466373982279471902842002964042712790413554137093320957347469714365071875926747606255956343617487083145236642571779391481443418302434507745368643335512597651848306811310269540450413153666097429462030470440329580929537179642444266229126617663398724 78061054341031968240638156950844595211816796623627778171835792936208186518248426854155703099480861792994996075878572525889916619232415194315656536274825560174562754618435894528027705821012809055032256245265283274989065912149605559379025789470812633564880088672704473534595814058987475073449074085058848941808322843011055150928516040362409025863996127879465769345915175217330466489470704195119577310938439510684402127665416546293473501667477130591519853949138288879398856919107858715715456721833196422004864146053244180694026559405925803509124707606348126574414058786285833142946944340721287353068866590173946757775364893413517650982489475493361286731504299665797048291503592854784361600872859688049577678754701988209952086837205051341374240829255142143349395159139012377580916165499794274337481405510406481682796296045642406417581051814129537367847588629115719523802768427596656211628808916482558682045940936417638479939889359283899135496532251880236357709578529942960742566909536200109471012814221299677052429992773007411828838932203092770668422261493735484175672289295901404244641411665077643119692427124128683756161831042775810618177695969195598376217167909807843011823896875398587249422396823704037001137108429827231069734721085601672364719752848675199278982597261357084469319114989955330683720173998168876105920254233431707284218098728837006955807556757162297785500530159708404270863920787236570861900275597215100714848921257179376431757349719831959727369977547409920687647617850621565343432409712511289309868431465776926131018323500101250870571779824187793774799009864192577014732612714708455833253390897839847 126305439121442250103647272737974962140133796765941223020440370738406481105850785061207749591471310677230248446014081054130524098281596077321927048026564979543822870072139189400168689949014389250902734595215663505989425740332657930494061376112426161493797691252355549760557100992930818800638111580496152593176095247051367731445415667640213761950129745967801742036940222981989326205655563353442646027461666627662420965377014638264924927094231529323381071606670053944824141961939002677587290859373780625122939088436803841749115406167069548814716695209528439309091733976497430473763020597120298887557901972846554621692203790622269353324403688568459300944074024651892098443717875419287999386561083419432419900749001690848232986483530485801363879009470533891741201371656387860946567754321196152169480303816403644686917100056794753547115498495399840224622361787779550103702888644149329799430781662317888249428782712745571553854359333373454384284488772987352514054766178661907052077939263277686198144645076364243844892608678379368583204276541483021856821755292243398586237743018858519196477761396332800505658444322266551736694113822742064756339515101250325707248790402991063381183594576657153913839201034753862741108721758364386907160929258199994682684134121939964714744202877459861457133990188570528419279263150904445563052701305663001933320190403390331035482213981601443204522996533690683742766762790200613574690689151352194035806268726893741503633276467438215683713595034493065924290189630013046786850712147019034678511766978374577979325134810370791320984933490285223236829480304522157944269792357152722062380008561238571 204366493462474218344285429688819557351950593389569001192276163674614667624099211915363452690952172470225244521892653580020440717514011271637583584301390539718385624690575083928196395770027198305934990840480946780978491652482263489873087165583238795058677779925060023295152915051918293874087185665555001534984418090062422882373931708002622787814125873847267511382855398199319792695126267548562223338400106138346823093042431184558398428761708659914900925555808342824222998881046861393302747581206977047127803234490048022443141965572995352323841402815876565883505792762783263616709964937841586240626768563020501379467568684035787004306893164061820587675578324317689146735221468274072360987433943107481997579503703679058185073320735537142738119838725676035090596530795400238527483919820990426506961709326810126369713396102437159964696550309529377592469950416895269627505657071745986011059590578800446931474723649163210033794248692657353519781021024867588871764344708604867794644848799477795669157459297663920897322601451386780412043208744575792525244016785978882761910032314759923441119173061410443625350871446395235492855944865517875374517211070445924083465958312798906393007491452055741163261597858457899742245830188191617976895650343801667047403886970615163993726800138816945926453105178525859102999437149073321668972955539094709217538289132227337991289770738763740990023526693399088013630683577437184436590964748567294750655189984073117935390626187270175411083572581902986611937807480634612130283121859530323988380198444151504110343458310472042191556713314473017011628490168714734959002405071861177895633399459078418 330671932583916468447932702426794519492084390155510224212716534413021148729949996976571202282423483147455492967906734634150964815795607348959510632327955519262208494762714273328365085719041587556837725435696610286967917392814921420367148541695664956552475471177415573055710016044849112674725297246051154128160513337113790613819347375642836549764255619815069253419795621181309118900781830902004869365861772766009244058419445822823323355855940189238281997162478396769047140842985864070890038440580757672250742322926851864192257371740064901138558098025405005192597526739280694090472985534961885128184670535867056001159772474658056357631296852630279888619652348969581245178939343693360360373995026526914417480252705369906418059804266022944101998848196209926831797902451788099474051674142186578676442013143213771056630496159231913511812048804929217817092312204674819731208545715895315810490372241118335180903506361908781587648608026030807904065509797854941385819110887266774846722788062755481867302104374028164742215210129766148995247485286058814382065772078222281348147775333618442637596934457743244131009315768661787229550058688259940130856726171696249790714748715789969774191086028712895077100798893211762483354551946556004884056579602001661730088021092555128708471003016276807383587095367096387522278700299977767232025656844757711150858479535617669026771984720365184194546523227089771756397446367637798011281653899919488786461458710966859439023902654708391094797167616396052536227997110647658917133834006549358666891965422526082089668593120842833512541646804758240248457970473236892903272197429013899958013408020316989 535038426046390686792218132115614076844034983545079225404992698087635816354049208891934654973375655617680737489799388214171405533309618620597094216629346058980594119453289357256561481489068785862772716276177557067946409045297184910240235707278903751611153251102475596350862931096767406548812482911606155663144931427176213496193279083645459337578381493662336764802651019380628911595908098450567092704261878904356067151461877007381721784617648849153182922718286739593270139724032725464192786021787734719378545557416899886635399337313060253462399500841281571076103319502063957707182950472803471368811439098887557380627341158693843361938190016692100476295230673287270391914160811967432721361428969634396415059756409048964603133125001560086840118686921885961922394433247188338001535593963177005183403722470023897426343892261669073476508599114458595409562262621570089358714202787641301821549962819918782112378230011071991621442856718688161423846530822722530257583455595871642641367636862233277536459563671692085639537811581152929407290694030634606907309788864201164110057807648378366078716107519153687756360187215057022722406003553777815505373937242142173874180707028588876167198577480768636240362396751669662225600382134747622860952229945803328777491908063170292702197803155093753310040200545622246625278137449051088900998612383852420368396768667845007018061755459128925184570049920488859770028129945074982447872618648486783537116648695039977374414528841978566505880740198299039148165804591282271047416955866079682655272163866677586200012051431314875704098360119231257260086460641951627862274602500875077853646807479395407 865710358630307155240150834542408596336119373700589449617709232500656965083999205868505857255799138765136230457706122848322370349105225969556604848957301578242802614216003630584926567208110373419610441711874167354914326438112106330607384248974568708163628722279891169406572947141616519223537780157657309791305444764290004110012626459288295887342637113477406018222446640561938030496689929352571962070123651670365311209881322830205045140473589038391464919880765136362317280567018589535082824462368492391629287880343751750827656709053125154600957598866686576268700846241344651797655936007765356496996109634754613381787113633351899719569486869322380364914883022256851637093100155660793081735423996161310832540009114418871021192929267583030942117535118095888754192335698976437475587268105363583859845735613237668482974388420900986988320647919387813226654574826244909089922748503536617632040335061037117293281736372980773209091464744718969327912040620577471643402566483138417488090424924988759403761668045720250381753021710919078402538179316693421289375560942423445458205582981996808716313041976896931887369502983718809951956062242037755636230663413838423664895455744378845941389663509481531317463195644881424708954934081303627745008809547804990507579929155725421410668806171370560693627295912718634147556837749028856133024269228610131519255248203462676044833740179494109379116573147578631526425576312712780459154272548406272323578107406006836813438431496686957600677907814695091684393801701929929964550789872629041322164129289203668289680644552157709216640006923989497508544431115188520765546799929888977811660215499712396 1400748784676697842032368966658022673180154357245668675022701930588292781438048414760440512229174794382816967947505511062493775882414844590153699065586647637223396733669292987841488048697179159282383157988051724422860735483409291240847619956253472459774781973382366765757435878238383925772350263069263465454450376191466217606205905542933755224921018607139742783025097659942566942092598027803139054774385530574721378361343199837586766925091237887544647842599051875955587420291051314999275610484156227111007833437760651637463056046366185408063357099707968147344804165743408609504838886480568827865807548733642170762414454792045743081507676886014480841210113695544122029007260967628225803096852965795707247599765523467835624326054269143117782236222039981850676586768946164775477122862068540589043249458083261565909318280682570060464829247033846408636216837447814998448636951291177919453590297880955899405659966384052764830534321463407130751758571443300001900986022079010060129458061787222036940221231717412336021290833292072007809828873347328028196685349806624609568263390630375174795029149496050619643729690198775832674362065795815571141604600655980597539076162772967722108588240990250167557825592396551086934555316216051250605961039493608319285071837218895714112866609326464314003667496458340880772834975198079945034022881612462551887652016871307683062895495638623034563686623068067491296453706257787762907026891196893055860694756101046814187852960338665524106558648012994130832559606293212201011967745738708723977436293155881254489692695983472584920738367043220754768630891757140148627821402430764055665307022979107803 2266459143307004997272519801200431269516273730946258124640411163088949746522047620628946369484973933147953198405211633910816146231520070559710303914543949215466199347885296618426414615905289532701993599699925891777775061921521397571455004205228041167938410695662257935164008825380000444995888043226920775245755820955756221716218532002222051112263655720617148801247544300504504972589287957155711016844509182245086689571224522667791812065564826925936112762479817012317904700858069904534358434946524719502637121318104403388290712755419310562664314698574654723613505011984753261302494822488334184362803658368396784144201568425397642801077163755336861206124996717800973666100361123289018884832276961957018080139774637886706645518983536726148724353757158077739430779104645141212952710130173904172903095193696499234392292669103471047453149894953234221862871412274059907538559699794714537085630632941993016698941702757033538039625786208126100079670612063877473544388588562148477617548486712210796343982899763132586403043855002991086212367052664021449486060910749048055026468973612371983511342191472947551531099193182494642626318128037853326777835264069819021203971618517346568049977904499731698875288788041432511643510250297354878350969849041413309792651766374621135523535415497834874697294792371059514920391812947108801167047150841072683406907265074770359107729235818117143942803196215646122822879282570500543366181163745299328184272863507053651001291391835352481707236555827689222516953407995142130976518535611337765299600422445084922779373340535630294137378373967210252277175322872328669393368202360653033476967238478820199 3667207927983702839304888767858453942696428088191926799663113093677242527960096035389386881714148727530770166352717144973309922113934915149864002980130596852689596081554589606267902664602468691984376757687977616200635797404930688812302624161481513627713192669044624700921444703618384370768238306296184240700206197147222439322424437545155806337184674327756891584272641960447071914681885984958850071618894712819808067932567722505378578990656064813480760605078868888273492121149121219533634045430680946613644954755865055025753768801785495970727671798282622870958309177728161870807333708968903012228611207102038954906616023217443385882584840641351342047335110413345095695107622090917244687929129927752725327739540161354542269845037805869266506589979198059590107365873591305988429832992242444761946344651779760800301610949786041107917979141987080630499088249721874905987196651085892456539220930822948916104601669141086302870160107671533230831429183507177475445374610641158537747006548499432833284204131480544922424334688295063094022195926011349477682746260555672664594732364242747158306371340968998171174828883381270475300680193833668897919439864725799618743047781290314290158566145489981866433114380437983598578065566513406128956930888535021629077723603593516849636402024824299188700962288829400395693226788145188746201070032453535235294559281946078042170624731456740178506489819283713614119332988828288306273208054942192384044967619608100465189144352174018005813795203840683353349513014288354331988486281350046489277036715600966177269066036519102879058116741010431007045806214629468818021189604791417089142274261457928002 5933667071290707836577408569058885212212701819138184924303524256766192274482143656018333251199122660678723364757928778884126068345454985709574306894674546068155795429439886224694317280507758224686370357387903507978410859326452086383757628366709554795651603364706882636085453528998384815764126349523105015945962018102978661038642969547377857449448330048374040385520186260951576887271173942114561088463403895064894757503792245173170391056220891739416873367558685900591396822007191124067992480377205666116282076073969458414044481557204806533391986496857277594571814189712915132109828531457237196591414865470435739050817591642841028683662004396688203253460107131146069361207983214206263572761406889709743407879314799241248915364021342595415230943736356137329538144978236447201382543122416348934849439845476260034693903618889512155371129036940314852361959661995934813525756350880606993624851563764941932803543371898119840909785893879659330911099795571054948989763199203307015364555035211643629628187031243677508827378543298054180234562978675370927168807171304720719621201337855119141817713532441945722705928076563765117926998321871522224697275128795618639947019399807660858208544049989713565308403168479416110221575816810761007307900737576434938870375369968137985159937440322134063398257081200459910613618601092297547368117183294607918701466547020848401278353967274857322449293015499359736942212271398788849639389218687491712229240483115154116190435744009370487521031759668372575866466422283496462965004816961384254576637138046051100048439377054733173195495114977641259322981537501797487414557807152070122619241499936748201 9600874999274410675882297336917339154909129907330111723966637350443434802442239691407720132913271388209493531110645923857435990459389900859438309874805142920845391510994475830962219945110226916670747115075881124179046656731382775196060252528191068423364796033751507337006898232616769186532364655819289256646168215250201100361067407092533663786633004376130931969792828221398648801953059927073411160082298607884702825436359967678548970046876956552897633972637554788864888943156312343601626525807886612729927030829834513439798250358990302504119658295139900465530123367441077002917162240426140208820026072572474693957433614860284414566246845038039545300795217544491165056315605305123508260690536817462468735618854960595791185209059148464681737533715554196919645510851827753189812376114658793696795784497256020834995514568675553263289108178927395482861047911717809719512953001966499450164072494587890848908145041039206143779946001551192561742528979078232424435137809844465553111561583711076462912391162724222431251713231593117274256758904686720404851553431860393384215933702097866300124084873410943893880756959945035593227678515705191122616714993521418258690067181097975148367110195479695431741517548917399708799641383324167136264831626111456567948098973561654834796339465146433252099219370029860306306845389237486293569187215748143153996025828966926443448978698731597500955782834783073351061545260227077155912597273629684096274208102723254581379580096183388493334826963509055929215979436571850794953491098311430743853673853647017277317505413573836052253611855988072266368787752131266305435747411943487211761515761394676203 15534542070565118512459705905976224367121831726468296648270161607209627076924383347426053384112394048888216895868574702741562058804844886569012616769479688989001186940434362055656537225617985141357117472463784632157457516057834861579817880894900623219016399398458389973092351761615154002296491005342394272592130233353179761399710376639911521236081334424504972355313014482350225689224233869187972248545702502949597582940152212851719361103097848292314507340196240689456285765163503467669619006185092278846209106903803971853842731916195109037511644791997178060101937557153992135026990771883377405411440938042910433008251206503125443249908849434727748554255324675637234417523588519329771833451943707172212143498169759837040100573080491060096968477451910334249183655830064200391194919237075142631645224342732280869689418187565065418660237215867710335223007573713744533038709352847106443788924058352832781711688412937325984689731895430851892653628774649287373424901009047772568476116618922720092540578193967899940079091774891171454491321883362091332020360603165114103837135039952985441941798405852889616586685036508800711154676837576713347313990122317036898637086580905636006575654245469408997049920717396815819021217200134928143572732363687891506818474343529792819956276905468567315497476451230320216920463990329783840937304399042751072697492375987774844727332666006454823405075850282433088003757531625866005551986492317175808503448585838408697570015840192758980855858723177428505082445858855347257918495915272814998430310991693068377365944790628569225449106970965713525691769289633063792850305219095557334380757261331424404 25135417069839529188342003242893563522030961633798408372236798957653061879366623038833773517025665437097710426979220626598998049264234787428450926644284831909846578451428837886618757170728212058027864587539665756336504172789217636775878133423091691642381195432209897310099249994231923188828855661161683529238298448603380861760777783732445185022714338800635904325105842703748874491177293796261383408628001110834300408376512180530268331149974804845212141312833795478321174708319815811271245531992978891576136137733638485293640982275185411541631303087137078525632060924595069137944153012309517614231467010615385126965684821363409857816155694472767293855050542220128399473839193824453280094142480524634680879117024720432831285782139639524778706011167464531168829166681891953581007295351733936328441008839988301704684932756240618681949345394795105818084055485431554252551662354813605893952996552940723630619833453976532128469677896982044454396157753727519797860038818892238121587678202633796555452969356692122371330805006484288728748080788048811736871914035025507488053068742050851742065883279263833510467441996453836304382355353281904469930705115838455157327153762003611154942764440949104428791438266314215527820858583459095279837563989799348074766573317091447654752616370615000567596695821260180523227309379567270134506491614790894226693518204954701288176311364738052324360858685065506439065302791852943161464583765946859904777656688561663278949595936376147474190685686686484434298425295427198052871987013584245742283984845340085654683450204202405277702718826953785792060557041764330098286052631039044546142273022726100607 40669959140404647700801709148869787889152793360266705020506960564862688956291006386259826901138059485985927322847795329340560108069079673997463543413764520898847765391863199942275294396346197199384982060003450388493961688847052498355696014317992314861397594830668287283191601755847077191125346666504077801830428681956560623160488160372356706258795673225140876680418857186099100180401527665449355657173703613783897991316664393381987692253072653137526648653030036167777460473483319278940864538178071170422345244637442457147483714191380520579142947879134256585733998481749061272971143784192895019642907948658295559973936027866535301066064543907495042409305866895765633891362782343783051927594424231806893022615194480269871386355220130584875674488619374865418012822511956153972202214588809078960086233182720582574374350943805684100609582610662816153307063059145298785590371707660712337741920611293556412331521866913858113159409792412896347049786528376807171284939827940010690063794821556516647993547550660022311409896781375460183239402671410903068892274638190621591890203782003837184007681685116723127054127032962637015537032190858617817244695238155492055964240342909247161518418686418513425841358983711031346842075783594023423410296353487239581585047660621240474708893276083567883094172272490500740147773369897053975443796013833645299391010580942476132903644030744507147765934535347939527069060323478809167016570258264035713281105274400071976519611776568906455046544409863912939380871154282545310790482928857060740714295837033154032049394994830974503151825797919499317752326331397393891136357850134601880523030284057525011 65805376210244176889143712391763351411183754994065113392743759522515750835657629425093600418163724923083637749827015955939558157333314461425914470058049352808694343843292037828894051567074409257412846647543116144830465861636270135131574147741084006503778790262878184593290851750079000379954202327665761331068727130559941484921265944104801891281510012025776781005524699889847974671578821461710739065801704724618198399693176573912256023403047457982738789965863831646098635181803135090212110070171050061998481382371080942441124696466565932120774250966271335111366059406344130410915296796502412633874374959273680686939620849229945158882220238380262336264356409115894033365201976168236332021736904756441573901732219200702702672137359770109654380499786839396586841989193848107553209509940543015288527242022708884279059283700046302782558928005457921971391118544576853038142034062474318231694917164234280042951355320890390241629087689394940801445944282104326969144978646832248811651473024190313203446516907352144682740701787859748911987483459459714805764188673216129079943272524054688926073564964380556637521569029416473319919387544140522287175400353993947213291394104912858316461183127367617854632797250025246874662934367053118703247860343286587656351620977712688129461509646698568450690868093750681263375082749464324109950287628624539526084528785897177421079955395482559472126793220413445966134363115331752328481154024210895618058761962961735255469207712945053929237230096550397373679296449709743363662469942441306482998280682373239686732845199033379780854544624873285109812883373161723989422410481173646426665303306783625618 106475335350648824589945421540633139300336548354331818413250720087378439791948635811353427319301784409069565072674811285280118265402394135423378013471813873707542109235155237771169345963420606456797828707546566533324427550483322633487270162059076321365176385093546471876482453505926077571079548994169839132899155812516502108081754104477158597540305685250917657685943557075947074851980349127160094722975408338402096391009840967294243715656120111120265438618893867813876095655286454369152974608349121232420826627008523399588608410657946452699917198845405591697100057888093191683886440580695307653517282907931976246913556877096480459948284782287757378673662276011659667256564758512019383949331328988248466924347413680972574058492579900694530054988406214262004854811705804261525411724529352094248613475205429466853433634643851986883168510616120738124698181603722151823732405770135030569436837775527836455282877187804248354788497481807837148495730810481134140429918474772259501715267845746829851440064458012166994150598569235209095226886130870617874656463311406750671833476306058526110081246649497279764575696062379110335456419734999140104420095592149439269255634447822105477979601813786131280474156233736278221505010150647142126658156696773827237936668638333928604170402922782136333785040366241182003522856119361378085394083642458184825475539366839653553983599426227066619892727755761385493203423438810561495497724282474931331339867237361807231988819489513960384283774506414310313060167603992288674452952871298367223712576519406393718782240193864354284006370422792784427565209704559117880558768331308248307188333590841150629 172280711560893001479089133932396490711520303348396931805994479609894190627606265236447027737465509332153202822501827241219676422735708596849292483529863226516236453078447275600063397530495015714210675355089682678154893412119592768618844309800160327868955175356424656469773305256005077951033751321835600463967882943076443593003020048581960488821815697276694438691468256965795049523559170588870833788777113063020294790703017541206499739059167569103004228584757699459974730837089589459365084678520171294419308009379604342029733107124512384820691449811676926808466117294437322094801737377197720287391657867205656933853177726326425618830505020668019714938018685127553700621766734680255715971068233744690040826079632881675276730629939670804184435488193053658591696800899652369078621234469895109537140717228138351132492918343898289665727438621578660096089300148299004861874439832609348801131754939762116498234232508694638596417585171202777949941675092585461109574897121604508313366740869937143054886581365364311676891300357094958007214369590330332680420651984622879751776748830113215036154811613877836402097265091795583655375807279139662391595495946143386482547028552734963794440784941153749135106953483761525096167944517700260829906017040060414894288289616046616733631912569480704784475908459991863266897938868825702195344371271082724351560068152736830975063554821709626092019520976174831459337786554142313823978878306685826949398629200323542487458027202459014313521004602964707686739464053702032038115422813739673706710857201779633405515085392897734064860915047666069537378093077720841869981178812481894733853636897624776247 278756046911541826069034555473029630011856851702728750219245199697272630419554901047800455056767293741222767895176638526499794688138102732272670497001677100223778562313602513371232743493915622171008504062636249211479320962602915402106114471859236649234131560449971128346255758761931155522113300316005439596867038755592945701084774153059119086362121382527612096377411814041742124375539519716030928511752521401422391181712858508500743454715287680223269667203651567273850826492376043828518059286869292526840134636388127741618341517782458837520608648657082518505566175182530513778688177957893027940908940775137633180766734603422906078778789802955777093611680961139213367878331493192275099920399562732938507750427046562647850789122519571498714490476599267920596551612605456630604032958999247203785754192433567817985926552987750276548895949237699398220787481752021156685606845602744379370568592715289952953517109696498886951206082653010615098437405903066595250004815596376767815082008715683972906326645823376478671041898926330167102441255721200950555077115296029630423610225136171741146236058263375116166672961154174693990832227014138802496015591538292825751802663000557069272420386754939880415581109717497803317672954668347402956564173736834242132224958254380545337802315492262841118260948826233045270420794988187080280738454913540909177035607519576484529047154247936692711912248731936216952541209992952875319476602589160758280738496437685349719446846691972974697804779109379017999799631657694320712568375685038040930423433721186027124297325586762088348867285470458853964943302782279959750539947143790143041041970488465926876 451036758472434827548123689405426120723377155051125682025239679307166821047161166284247482794232803073375970717678465767719471110873811329121962980531540326740015015392049788971296141024410637885219179417725931889634214374722508170724958781659396977103086735806395784816029064017936233473147051637841040060834921698669389294087794201641079575183937079804306535068880071007537173899098690304901762300529634464442685972415876049707243193774455249326273895788409266733825557329465633287883143965389463821259442645767732083648074624906971222341300098468759445314032292476967835873489915335090748228300598642343290114619912329749331697609294823623796808549699646266767068500098227872530815891467796477628548576506679444323127519752459242302898925964792321579188248413505108999682654193469142313322894909661706169118419471331648566214623387859278058316876781900320161547481285435353728171700347655052069451751342205193525547623667824213393048379080995652056359579712717981276128448749585621115961213227188740790347933199283425125109655625311531283235497767280652510175386973966284956182390869877252952568770226245970277646208034293278464887611087484436212234349691553292033066861171696093629550688063201259328413840899186047663786470190776894657026513247870427162071434228061743545902736857286224908537318733857012782476082826184623633528595675672313315504110709069646318803931769708111048411878996547095189143455480895846585230137125638008892206904873894431989011325783712343725686539095711396352750683798498777714637134290922965660529812410979659822413728200518124923502321395860000801620521125956272037774895607386090703123 729792805383976653617158244878455750735234006753854432244484879004439451466716067332047937851000096814598738612855104294219265799011914061394633477533217426963793577705652302342528884518326260056227683480362181101113535337325423572831073253518633626337218296256366913162284822779867388995260351953846479657701960454262334995172568354700198661546058462331918631446291885049279298274638210020932690812282155865865077154128734558207986648489742929549543562992060834007676383821841677116401203252258756348099577282155859825266416142689430059861908747125841963819598467659498349652178093292983776169209539417480923295386646933172237776388084626579573902161380607405980436378429721064805915811867359210567056326933726006970978308874978813801613416441391589499784800026110565630286687152468389517108649102095273987104346024319398842763519337096977456537664263652341318233088131038098107542268940370342022405268451901692412498829750477224008146816486898718651609584528314358043943530758301305088867539873012117269018975098209755292212096881032732233790574882576682140598997199102456697328626928140628068735443187400144971637040261307417267383626679022729037986152354553849102339281558451033509966269172918757131731513853854395066743034364513728899158738206124807707409236543554006387020997806112457953807739528845199862756821281098164542705631283191889800033157863317583011515844018440047265364420206540048064462932083485007343510875622075694241926351720586404963709130562821722743686338727369090673463252174183815755567557724644151687654109736566421910762595485988583777467264698642280761371061073100062180815937577874556629999 1180829563856411481165281934283881871458611161804980114269724558311606272513877233616295420645232899887974709330533570061938736909885725390516596458064757753703808593097702091313825025542736897941446862898088112990747749712047931743556032035178030603440305032062762697978313886797803622468407403591687519718536882152931724289260362556341278236729995542136225166515171956056816472173736900325834453112811790330307763126544610607915229842264198178875817458780470100741501941151307310404284347217648220169359019927923591908914490767596401282203208845594601409133630760136466185525668008628074524397510138059824213410006559262921569473997379450203370710711080253672747504878527948937336731703335155688195604903440405451294105828627438056104512342406183911078973048439615674629969341345937531830431544011756980156222765495651047408978142724956255514854541045552661479780569416473451835713969288025394091857019794106885938046453418301437401195195567894370707969164241032339320071979507886926204828753100200858059366908297493180417321752506344263517026072649857334650774384173068741653511017798017881021304213413646115249283248295600695732271237766507165250220502046107141135406142730147127139516957236120016460145354753040442730529504555290623556185251453995234869480670771615749932923734663398682862345058262702212645232904107282788176234226958864203115537268572387229330319775788148158313776299203087143253606387564380853928741012747713703134133256594480836952720456346534066469372877823080487026213935972682593470204692015567117348183922147546081733176323686506708700969586094502281562991582199056334218590833185260647333122 1910622369240388134782440179162337622193845168558834546514209437316045723980593300948343358496232996702573447943388674356158002708897639451911229935597975180667602170803354393656353910061063157997674546378450294091861285049373355316387105288696664229777523328319129611140598709577671011463667755545533999376238842607194059284432930911041476898276054004468143797961463841106095770448375110346767143925093946196172840280673345166123216490753941108425361021772530934749178324973148987520685550469906976517458597210079451734180906910285831342065117592720443372953229227795964535177846101921058300566719677477305136705393206196093807250385464076782944612872460861078727941256957670002142647515202514898762661230374131458265084137502416869906125758847575500578757848465726240260256028498405921347540193113852254143327111519970446251741662062053232971392205309205002798013657547511549943256238228395736114262288246008578350545283168778661409342012054793089359578748769346697364015510266188231293696292973212975328385883395702935709533849387376995750816647532434016791373381372171198350839644726158509090039656601046260220920288556908112999654864445529894288206654400660990237745424288598160649483226409038773591876868606894837797272538919804352455343989660120042576889907315169756319944732469511140816152797791547412507989725388380952718939858242056092915570426435704812341835619806588205579140719409627191318069319647865861272251888369789397376059608315067241916429586909355789213059216550449577699677188146866409225772249740211269035838031884112503643938919172495292478436850793144562324362643272156396399406770763135203963121 3091451933096799615947722113446219493652456330363814660783933995627651996494470534564638779141465896590548157273922244418096739618783364842427826393662732934371410763901056484970178935603800055939121409276538407082609034761421287059943137323874694833217828360381892309118912596375474633932075159137221519094775724760125783573693293467382755135006049546604368964476635797162912242622112010672601597037905736526480603407217955774038446333018139287301178480553001035490680266124456297924969897687555196686817617138003043643095397677882232624268326438315044782086859987932430720703514110549132824964229815537129350115399765459015376724382843526986315323583541114751475446135485618939479379218537670586958266133814536909559189966129854926010638101253759411657730896905341914890225369844343453177971737125609234299549877015621493660719804787009488486246746354757664277794226963985001778970207516421130206119308040115464288591736587080098810537207622687460067547913010379036684087489774075157498525046073413833387752791693196116126855601893721259267842720182291351442147765545239940004350662524176390111343870014692375470203536852508808731926102212037059538427156446768131373151567018745287789000183645158790052022223359935280527802043475094976011529241114115277446370578086785506252868467132909823678497856054249625153222629495663740895174085200920296031107695008092041672155395594736363892917018612714334571675707212246715200992901117503100510192864909548078869150043255889855682432094373530064725891124119549002695976941755778386384021954031658585377115242859002001179406436887646843887354225471212730617997603948395851296243 5002074302337187750730162292608557115846301498922649207298143432943697720475063835512982137637698893293121605217310918774254742327681004294339056329260708115039012934704410878626532845664863213936795955654988701174470319810794642376330242612571359062995351688701021920259511305953145645395742914682755518471014567367319842858126224378424232033282103551072512762438099638269008013070487121019368740962999682722653443687891300940161662823772080395726539502325531970239858591097605285445655448157462173204276214348082495377276304588168063966333444031035488155040089215728395255881360212470191125530949493014434486820792971655109183974768307603769259936456001975830203387392443288941622026733740185485720927364188668367824274103632271795916763860101334912236488745371068155150481398342749374525511930239461488442876988535591939912461466849062721457638951663962667075807884511496551722226445744816866320381596286124042639137019755858760219879219677480549427126661779725734048103000040263388792221339046626808716138675088899051836389451281098255018659367714725368233521146917411138355190307250334899201383526615738635691123825409416921731580966657566953826633810847429121610896991307343448438483410054197563643899091966830118325074582394899328466873230774235320023260485401955262572813199602420964494650653845797037661212354884044693614113943442976388946678121443796854013991015401324569472057738022341525889745026860112576473244789487292497886252473224615320785579630165245644895491310923979642425568312266415411921749191495989655419859985915771089021054162031497293657843287680791406211716868743369127017404374711531055259364 8093526235433987366677884406054776609498757829286463868082077428571349716969534370077620916779164789883669762491233163192351481946464369136766882722923441049410423698605467363596711781268663269875917364931527108257079354572215929436273379936446053896213180049082914229378423902328620279327818073819977037565790292127445626431819517845806987168288153097676881726914735435431920255692599131691970338000905419249134047095109256714200109156790219683027717982878533005730538857222061583370625345845017369891093831486085539020371702266050296590601770469350532937126949203660825976584874323019323950495179308551563836936192737114124560699151151130755575260039543090581678833527928907881101405952277856072679193498003205277383464069762126721927401961355094323894219642276410070040706768187092827703483667365070722742426865551213433573181271636072209943885698018720331353602111475481553501196653261237996526500904326239506927728756342938859030416427300168009494674574790104770732190489814338546290746385120040642103891466782095167963245053174819514286502087897016719675668912462651078359540969774511289312727396630431011161327362261925730463507068869604013365060967294197252984048558326088736227483593699356353695921315326765398852876625869994304478402471888350597469631063488740768825681666735330788173148509900046662814434984379708434509288028643896684977785816451888895686146410996060933364974756635055860461420734072359291674237690604795598396445338134163399654729673421135500577923405297509707151459436385964414617726133251768041803881939947429674398169404890499294837249724568438250099071094214581857635401978659926906555607 13095600537771175117408046698663333725345059328209113075380220861515047437444598205590603054416863683176791367708544081966606224274145373431105939052184149164449436633309878242223244626933526483812713320586515809431549674383010571812603622549017412959208531737783936149637935208281765924723560988502732556036804859494765469289945742224231219201570256648749394489352835073700928268763086252711339078963905101971787490783000557654361771980562300078754257485204064975970397448319666868816280794002479543095370045834168034397648006854218360556935214500386021092167038419389221232466234535489515076026128801565998323756985708769233744673919458734524835196495545066411882220920372196822723432686018041558400120862191873645207738173394398517844165821456429236130708387647478225191188166529842202228995597604532211185303854086805373485642738485134931401524649682682998429409995986978105223423099006054862846882500612363549566865776098797619250295646977648558921801236569830504780293489854601935082967724166667450820030141870994219799634504455917769305161455611742087909190059380062216714731277024846188514110923246169646852451187671342652195088035527170967191694778141626374594945549633432184665967003753553917339820407293595517177951208264893632945275702662585917492891548890696031398494866337751752667799163745843700475647339263753128123401972086873073924463937895685749700137426397385502837032494657397386351165760932471868147482480092088096282697811358778720440309303586381145473414716221489349577027748652379826539475324747757697223741925863200763419223566921996588495093012249229656310787962957950984652806353371457961814971 21189126773205162484085931104718110334843817157495576943462298290086397154414132575668223971196028473060461130199777245158957706220609742567872821775107590213859860331915345605819956408202189753688630685518042917688629028955226501248877002485463466855421711786866850379016359110610386204051379062322709593602595151622211095721765260070038206369858409746426276216267570509132848524455685384403309416964810521220921537878109814368561881137352519761781975468082597981700936305541728452186906139847496912986463877320253573418019709120268657147536984969736554029293987623050047209051108858508839026521308110117562160693178445883358305373070609865280410456535088156993561054448301104703824838638295897631079314360195078922591202243156525239771567782811523560024928029923888295231894934716935029932479264969602933927730719638018807058824010121207141345410347701403329783012107462459658724619752267292859373383404938603056494594532441736478280712074277816568416475811359935275512483979668940481373714109286708092923921608653089387762879557630737283591663543508758807584858971842713295074272246799357477826838319876600658013778549933268382658595104396774980556755745435823627578994107959520920893450597452910271035741722620360916030827834134887937423678174550936514962522612379436800224176533073082540840947673645890363290082323643461562632690000730769758902249754347574645386283837393446436202007251292453246812586495004831159821720170696883694679143149492942120095038977007516646051338121518999056728487185038344241157201457999525739027623865810630437817392971812495883332342736817667906409859057172532842288208332031384868370578 34284727310976337601493977803381444060188876485704690018842519151601444591858730781258827025612892156237252497908321327125563930494755115998978760827291739378309296965225223848043201035135716237501344006104558727120178703338237073061480625034480879814630243524650786528654294318892152128774940050825442149639400011116976565011711002294269425571428666395175670705620405582833776793218771637114648495928715623192709028661110372022923653117914819840536232953286662957671333753861395321003186933849976456081833923154421607815667715974487017704472199470122575121461026042439268441517343393998354102547436911683560484450164154652592050046990068599805245653030633223405443275368673301526548271324313939189479435222386952567798940416550923757615733604267952796155636417571366520423083101246777232161474862574135145113034573724824180544466748606342072746934997384086328212422103449437763948042851273347722220265905550966606061460308540534097531007721255465127338277047929765780292777469523542416456681833453375543743951750524083607562514062086655052896824999120500895494049031222775511789003523824203666340949243122770304866229737604611034853683139923945947748450523577450002173939657592953105559417601206464188375562129913956433208779042399781570368953877213522432455414161270132831622671399410834293508746837391734063765729662907214690756091972817642832826713692243260395086421263790831939039039745949850633163752255937303027969202650788971790961840960851720840535348280593897791524752837740488406305514933690724067696676782747283436251365791673831201236616538734492471827435749066897562720647020130483826941014685402842830185549 55473854084181500085579908908099554395032693643200266962304817441687841746272863356927050996808920629297713628108098572284521636715364858566851582602399329592169157297140569453863157443337905991189974691622601644808807732293463574310357627519944346670051955311517636907670653429502538332826319113148151743241995162739187660733476262364307631941287076141601946921887976091966625317674457021517957912893526144413630566539220186391485534255267339602318208421369260939372270059403123773190093073697473369068297800474675181233687425094755674852009184439859129150755013665489315650568452252507193129068745021801122645143342600535950355420060678465085656109565721380399004329816974406230373109962609836820558749582582031490390142659707448997387301387079476356180564447495254815654978035963712262093954127543738079040765293362842987603290758727549214092345345085489657995434210911897422672662603540640581593649310489569662556054840982270575811719795533281695754752859289701055805261449192482897830395942740083636667873359177172995325393619717392336488488542629259703078908003065488806863275770623561144167787562999370962880008287537879417512278244320720928305206269013273629752933765552474026452868198659374459411303852534317349239606876534669507792632051764458947417936773649569631846847932483916834349694511037624427055811986550676253388781973548412591728963446590835040472705101184278375241046997242303879976338750942134187790922821485855485640984110344662960630387257601414437576090959259487463034002118729068308853878240746809175278989657484461639054009510546988355159778485884565469130506077303016669229223017434227698556127 89758581395157837687073886711480998455221570128904956981147336593289286338131594138185878022421812785534966126016419899410085567210119974565830343429691068970478454262365793301906358478473622228691318697727160371928986435631700647371838252554425226484682198836168423436324947748394690461601259163973593892881395173856164225745187264658577057512715742536777617627508381674800402110893228658632606408822241767606339595200330558414409187373182159442854441374655923897043603813264519094193280007547449825150131723629096789049355141069242692556481383909981704272216039707928584092085795646505547231616181933484683129593506755188542405467050747064890901762596354603804447605185647707756921381286923776010038184804968984058189083076258372755003034991347429152336200865066621336078061137210489494255428990117873224153799867087667168147757507333891286839280342469575986207856314361335186620705454813988303813915216040536268617515149522804673342727516788746823093029907219466836098038918716025314287077776193459180411825109701256602887907681804047389385313541749760598572957034288264318652279294447764810508736806122141267746238025142490452365961384244666876053656792590723631926873423145427132012285799865838647786865982448273782448385918934451078161585928977981379873350934919702463469519331894751127858441348429358490821541649457890944144873946366055424555677138834095435559126364975110314280086743192154513140091006879437215760125472274827276602825071196383801165735538195312229100843796999975869339517052419792376550555023494092611530355449158292840290626049281480826987214234951463031851153097433500496170237702837070528741676 145232435479339337772653795619580552850254263772105223943452154034977128084404457495112929019230733414832679754124518471694607203925484833132681926032090398562647611559506362755769515921811528219881293389349762016737794167925164221682195880074369573154734154147686060343995601177897228794427578277121745636123390336595351886478663527022884689454002818678379564549396357766767027428567685680150564321715767912019970161739550744805894721628449499045172649796025184836415873872667642867383373081244923194218429524103771970283042566163998367408490568349840833422971053373417899742654247899012740360684926955285805774736849355724492760887111425529976557872162075984203451935002622113987294491249533612830596934387551015548579225735965821752390336378426905508516765312561876151733039173174201756349383117661611303194565160450510155751048266061440500931625687555065644203290525273232609293368058354628885407564526530105931173569990505075249154447312322028518847782766509167891903300367908508212117473718933542817079698468878429598213301301521439725873802084379020301651865037353753125515555065071325954676524369121512230626246312680369869878239628565387804358863061603997261679807188697901158465153998525213107198169834982591131687992795469120585954217980742440327291287708569272095316367264378667962208135859466982917877353636008567197533655919914468016284640585424930476031831466159388689521133740434458393116429757821571403551048293760682762243809181541046761796122795796726666676934756259463332373519171148860685404433264240901786809345106642754479344635559828469182146992720836028500981659174736517165399460720271298227297803 234991016874497175459727682331061551305475833901010180924599490628266414422536051633298807041652546200367645880140938371104692771135604807698512269461781467533126065821872156057675874400285150448572612087076922388666780603556864869054034132628794799639416352983854483780320548926291919256028837441095339529004785510451516112223850791681461746966718561215157182176904739441567429539460914338783170730538009679626309756939881303220303909001631658488027091170681108733459477685932161961576653088792373019368561247732868759332397707233241059964971952259822537695187093081346483834740043545518287592301108888770488904330356110913035166354162172594867459634758430588007899540188269821744215872536457388840635119192519999606768308812224194507393371369774334660852966177628497487811100310384691250604812107779484527348365027538177323898805773395331787770906030024641630411146839634567795914073513168617189221479742570642199791085140027879922497174829110775341940812673728634728001339286624533526404551495127001997491523578579686201101208983325487115259115626128780900224822071642017444167834359519090765185261175243653498372484337822860322244201012810054680412519854194720893606680611843328290477439798391051754985035817430864914136378714403571664115803909720421707164638643488974558785886596273419090066577207896341408698895285466458141678529866280523440840317724259025911590957831134499003801220483626612906256520764701008619311173766035510038846634252737430562961858333992038895777778553259439201713036223568653061954988287734994398339700555801047319635261609109950009134206955787491532832812272170017661569698423108368756039479 380223452353836513232381477950642104155730097673115404868051644663243542506940509128411736060883279615200325634265456842799299975061089640831194195493871866095773677381378518813445390322096678668453905476426684405404574771482029090736230012703164372794150507131540544124316150104189148050456415718217085165128175847046867998702514318704346436420721379893536746726301097208334456968028600018933735052253777591646279918679432048026198630630081157533199740966706293569875351558599804828960026170037296213586990771836640729615440273397239427373462520609663371118158146454764383577394291444531027952986035844056294679067205466637527927241273598124844017506920506572211351475190891935731510363785991001671232053580071015155347534548190016259783707748201240169369731490190373639544139483558893006954195225441095830542930187988687479649854039456772288702531717579707274614437364907800405207441571523246074629044269100748130964655130532955171651622141432803860788595440237802619904639654533041738522025214060544814571222047458115799314510284846926841132917710507801201876687108995770569683389424590416719861785544365165728998730650503230192122440641375442484771382915798718155286487800541229448942593796916264862183205652413456045824371509872692250070021890462862034455926352058246654102253860652087052274713067363324326576248921475025339212185786194991457124958309683956387622789297293887693322354224061071299372950522522580022862222059796192801090443434278477324757981129788765562454713309518902534086555394717513747359421551975896185149045662443801798979897168938419191281199676623520033814471446906534826969159143379666983337282 615214469228333688692109160281703655461205931574125585792651135291509956929476560761710543102535825815567971514406395213903992746196694448529706464955653333628899743203250674871121264722381829117026517563503606794071355375038893959790264145331959172433566860115395027904636699030481067306485253159312424694132961357498384110926365110385808183387439941108693928903205836649901886507489514357716905782791787271272589675619313351246502539631712816021226832137387402303334829244531966790536679258829669232955552019569509488947837980630480487338434472869485908813345239536110867412134334990049315545287144732826783583397561577550563093595435770719711477141678937160219251015379161757475726236322448390511867172772591014762115843360414210767177079117975574830222697667818871127355239793943584257559007333220580357891295215526864803548659812852104076473437747604348905025584204542368201121515084691863263850524011671390330755740270560835094148796970543579202729408113966437347905978941157575264926576709187546812062745626037802000415719268172413956392033336636582102101509180637788013851223784109507485047046719608819227371214988326090514366641654185497165183902769993439048893168412384557739420033595307316617168241469844320959960750224276263914185825800183283741620564995547221212888140456925506142341290275259665735275144206941483480890715652475514897965276033942982299213747128428386697123574707687684205629471287223588642173395825831702839937077687015907887719839463780804458232491862778341735799591618286166809314409839710890583488746218244849118615158778048369200415406632411011566647283719076552488538857566488035739376761 995437921582170201924490638232345759616936029247240990660702779954753499436417069890122279163419105430768297148671852056703292721257784089360900660449525199724673420584629193684566655044478507785480423039930291199475930146520923050526494158035123545227717367246935572028952849134670215356941668877529509859261137204545252109628879429090154619808161321002230675629506933858236343475518114376650640835045564862918869594298745399272701170261793973554426573104093695873210180803131771619496705428866965446542542791406150218563278254027719914711896993479149279931503385990875250989528626434580343498273180576883078262464767044188091020836709368844555494648599443732430602490570053693207236600108439392183099226352662029917463377908604227026960786866176814999592429158009244766899379277502477264513202558661676188434225403515552283198513852308876365175969465184056179640021569450168606328956656215109338479568280772138461720395401093790265800419111976383063518003554204239967810618595690617003448601923248091626633967673495917799730229553019340797524951047144383303978196289633558583534613208699924204908832263973984956369945638829320706489082295560939649955285685792157204179656212925787188362627392223581479351447122257777005785121734148956164255847690646145776076491347605467866990394317577593194616003342622990061851393128416508820102901438670506355090234343626938686836536425722274390445928931748755505002421809746168665035617885627895641027521121294385212477820593569570020687205172297244269886147013003680556673831391686786768637791880688650917595055946986788391696606309034531600461755165983087315508016709867702722714043 1610652390810503890616599798514049415078141960821366576453353915246263456365893630651832822265954931246336268663078247270607285467454478537890607125405178533353573163787879868555687919766860336902506940603433897993547285521559817010316758303367082717661284227362330599933589548165151282663426922036841934553394098562043636220555244539475962803195601262110924604532712770508138229983007628734367546617837352134191459269918058750519203709893506789575653405241481098176545010047663738410033384687696634679498094810975659707511116234658200402050331466348635188744848625526986118401662961424629659043560325309709861845862328621738654114432145139564266971790278380892649853505949215450682962836430887782694966399125253044679579221269018437794137865984152389829815126825828115894254619071446061522072209891882256546325520619042417086747173665160980441649407212788405084665605773992536807450471740906972602330092292443528792476135671654625359949216082519962266247411668170677315716597536848192268375178632435638438696713299533719800145948821191754753916984383780965406079705470271346597385836992809431689955878983582804183741160627155411220855723949746436815139188455785596253072824625310344927782660987530898096519688592102097965745871958425220078441673490829429517697056343152689079878534774503099336957293617882655797126537335357992300993617091146021253055510377569920986050283554150661087569503639436439710631893096969757307209013711459598480964598808310293100197660057350374478919697035075586005685738631289847365988241231397677352126538098933500036210214725035157592112012941445543167109038885059639804046874276355738462090804 2606090312392674092541090436746395174695077990068607567114056695201016955802310700541955101429374036677104565811750099327310578188712262627251507785854703733078246584372509062240254574811338844687987363643364189193023215668080740060843252461402206262889001594609266171962542397299821498020368590914371444412655235766588888330184123968566117423003762583113155280162219704366374573458525743111018187452882916997110328864216804149791904880155300763130079978345574794049755190850795510029530090116563600126040637602381809926074394488685920316762228459827784468676352011517861369391191587859210002541833505886592940108327095665926745135268854508408822466438877824625080455996519269143890199436539327174878065625477915074597042599177622664821098652850329204829407555983837360661153998348948538786585412450543932734759746022557969369945687517469856806825376677972461264305627343442705413779428397122081940809660573215667254196531072748415625749635194496345329765415222374917283527216132538809271823780555683730065330680973029637599876178374211095551441935430925348710057901759904905180920450201509355894864711247556789140111106265984731927344806245307376465094474141577753457252480838236132116145288379754479575871135714359874971530993692574176242697521181475575293773547690758156946868929092080692531573296960505645858977930463774501121096518529816527608145744721196859672886819979872935478015432571185195215634314906715925972244631597087494121992119929604678312675480650919944499606902207372830275571885644293527922662072623084464120764329979622150953805270672021945983808619250480074767570794051042727119554890986223441184804847 4216742703203177983157690235260444589773219950889974143567410610447280412168204331193787923695328967923440834474828346597917863656166741165142114911259882266431819748160388930795942494578199181590494304246798087186570501189640557071160010764769288980550285821971596771896131945464972780683795512951213378966049334328632524550739368508042080226199363845224079884694932474874512803441533371845385734070720269131301788134134862900311108590048807552705733383587055892226300200898459248439563474804260234805538732413357469633585510723344120718812559926176419657421200637044847487792854549283839661585393831196302801954189424287665399249700999647973089438229156205517730309502468484594573162272970214957573032024603168119276621820446641102615236518834481594659222682809665476555408617420394600308657622342426189281085266641600386456692861182630837248474783890760866348971233117435242221229900138029054543139752865659196046672666744403040985698851277016307596012826890545594599243813669387001540198959188119368504027394272563357400022127195402850305358919814706314116137607230176251778306287194318787584820590231139593323852266893140143148200530195053813280233662597363349710325305463546477043927949367285377672390824306461972937276865650999396321139194672305004811470604033910846026747463866583791868530590578388301656104467799132493422090135620962548861201255098766780658937103534023596565584936210621634926266208003685683279453645308547092602956718737914971412873140708270318978526599242448416281257624275583375288650313854482141472890868078555650990015485397057103575920632191925617934679832936102366923601765262579179646895651 6822833015595852075698780672006839764468297940958581710681467305648297367970515031735743025124703004600545400286578445925228441844879003792393622697114585999510066332532897993036197069389538026278481667890162276379593716857721297132003263226171495243439287416580862943858674342764794278704164103865584823378704570095221412880923492476608197649203126428337235164857152179240887376900059114956403921523603186128412116998351667050103013470204108315835813361932630686276055391749254758469093564920823834931579370015739279559659905212030041035574788386004204126097552648562708857184046137143049664127227337082895742062516519953592144384969854156381911904668034030142810765498987753738463361709509542132451097650081083193873664419624263767436335171684810799488630238793502837216562615769343139095243034792970122015845012664158355826638548700100694055300160568733327613276860460877947635009328535151136483949413438874863300869197817151456611448486471512652925778242112920511882771029801925810812022739743803098569358075245592994999898305569613945856800855245631662826195508990081156959226737395828143479685301478696382463963373159124875075545336440361189745328136738941103167577786301782609160073237747039857248261960020821847908807859343573572563836715853780580105244151724669002973616392958664484400103887538893947515082398262906994543186654150779076469346999819963640331823923513896532043600368781806830141900522910401609251698276905634586724948838667519649725548621359190263478133501449821246556829509919876903211312386477566605593655198058177801943820756069079049559729251442405692702250626987145094043156656248802620831700498 11039575718799030058856470907267284354241517891848555854248877916095577780138719362929530948820031972523986234761406792523146305501045744957535737608374468265941886080693286923832139563967737207868975972136960363566164218047361854203163273990940784223989573238552459715754806288229767059387959616816798202344753904423853937431662860984650277875402490273561315049552084654115400180341592486801789655594323455259713905132486529950414122060252915868541546745519686578502355592647714006908657039725084069737118102429096749193245415935374161754387348312180623783518753285607556344976900686426889325712621168279198544016705944241257543634670853804355001342897190235660541075001456238333036523982479757090024129674684251313150286240070904870051571690519292394147852921603168313771971233189737739403900657135396311296930279305758742283331409882731531303774944459494193962248093578313189856239228673180191027089166304534059347541864561554497597147337748528960521791069003466106482014843471312812352221698931922467073385469518156352399920432765016796162159775060337976942333116220257408737533024590146931064505891709835975787815640052265018223745866635415003025561799336304452877903091765329086204001187114325234920652784327283820846084724994572968884975910526085584916714755758579849000363856825248276268634478117282249171186866062039487965276789771741625330548254918730420990761027047920128609185304992428465068166730914087292531151922214181679327905557405434621138421762067460582456660100692269662838087134195460278499962700332048747066546066136733452933836241466136153135649883634331310636930459923247460966758421511381800478596149 17862408734394882134555251579274124118709815832807137564930345221743875148109234394665273973944734977124531635047985238448374747345924748749929360305489054265451952413226184916868336633357275234147457640027122639945757934905083151335166537217112279467428860655133322659613480630994561338092123720682383025723458474519075350312586353461258475524605616701898550214409236833356287557241651601758193577117926641388126022130838197000517135530457024184377360107452317264778410984396968765377750604645907904668697472444836028752905321147404202789962136698184827909616305934170265202160946823569938989839848505362094286079222464194849688019640707960736913247565224265803351840500443992071499885691989299222475227324765334507023950659695168637487906862204103193636483160396671150988533848959080878499143691928366433312775291969917098109969958582832225359075105028227521575524954039191137491248557208331327511038579743408922648411062378705954208595824220041613447569311116386618364785873273238623164244438675725565642743544763749347399818738334630742018960630305969639768528625210338565696759761985975074544191193188532358251779013211389893299291203075776192770889936075245556045480878067111695364074424861365092168914744348105668754892584338146541448812626379866165021958907483248851973980249783912760668738365656176196686269264324946482508463443922520701799895254738694061322584950561816660652785673774235295210067253824488901782850199119816266052854396072954270863970383426650845934793602142090909394916644115337181711275086809615352660201264194911254877656997535215202695379135076737003339181086910392555009915077760184421310296647 28901984453193912193411722486541408472951333724655693419179223137839452928247953757594804922764766949648517869809392030971521052846970493707465097913863522531393838493919471840700476197325012442016433612164083003511922152952445005538329811208053063691418433893685782375368286919224328397480083337499181228068212378942929287744249214445908753400008106975459865263961321487471687737583244088559983232712250096647839927263324726950931257590709940052918906852972003843280766577044682772286407644370991974405815574873932777946150737082778364544349485010365451693135059219777821547137847509996828315552469673641292830095928408436107231654311561765091914590462414501463892915501900230404536409674469056312499356999449585820174236899766073507539478552723395587784336081999839464760505082148818617903044349063762744609705571275675840393301368465563756662850049487721715537773047617504327347487785881511518538127746047942981995952926940260451805743161968570573969360380119852724846800716744551435516466137607648032716129014281905699799739171099647538181120405366307616710861741430595974434292786576122005608697084898368334039594653263654911523037069711191195796451735411550008923383969832440781568075611975690327089567528675389489600977309332719510333788536905951749938673663241828700974344106609161036937372843773458445857456130386985970473740233694262327130443509657424482313345977609736789261970978766663760278233984738576194314002121333997945380759953478388892002392145494111428391453702834360572233003778310797460211237787141664099726747330331644707811493239001351355831029018711068313976111546833640015976673499271566221788892796 46764393187588794327966974065815532591661149557462830984109568359583328076357188152260078896709501926773049504857377269419895800192895242457394458219352576796845790907145656757568812830682287676163891252191205643457680087857528156873496348425165343158847294548819105034981767550218889735572207058181564253791670853462004638056835567907167228924613723677358415478370558320827975294824895690318176809830176738035965949394162923951448393121166964237296266960424321108059177561441651537664158249016899879074513047318768806699056058230182567334311621708550279602751365153948086749298794333566767305392318179003387116175150872630956919673952269725828827838027638767267244756002344222476036295366458355534974584324214920327198187559461242145027385414927498781420819242396510615749038931107899496402188040992129177922480863245592938503271327048395982021925154515949237113298001656695464838736343089842846049166325791351904644363989318966406014338986188612187416929691236239343211586590017790058680710576283373598358872559045655047199557909434278280200081035672277256479390366640934540131052548562097080152888278086900692291373666475044804822328272786967388567341671486795564968864847899552476932150036837055419258482273023495158355869893670866051782601163285817914960632570725077552948324356393073797606111209429634642543725394711932452982203677616783028930338764396118543635930928171553449914756652540899055488301238563065096096852320453814211433614349551343162866362528920762274326247304976451481627920422426134641922512873951279452386948594526555962689150236536566558526408153787805317315292633744032570986588577031750643099189443 75666377640782706521378696552356941064612483282118524403288791497422781004605141909854883819474268876421567374666769300391416853039865736164859556133216099328239629401065128598269289028007300118180324864355288646969602240809973162411826159633218406850265728442504887410350054469443218133052290395680745481859883232404933925801084782353075982324621830652818280742331879808299663032408139778878160042542426834683805876657487650902379650711876904290215173813396324951339944138486334309950565893387891853480328622192701584645206795312960931878661106718915731295886424373725908296436641843563595620944787852644679946271079281067064151328263831490920742428490053268731137671504244452880572705040927411847473941323664506147372424459227315652566863967650894369205155324396350080509544013256718114305232390055891922532186434521268778896572695513959738684775204003670952651071049274199792186224128971354364587294071839294886640316916259226857820082148157182761386290071356092068058387306762341494197176713891021631075001573327560746999297080533925818381201441038584873190252108071530514565345335138219085761585362985269026330968319738699716345365342498158584363793406898345573892248817731993258500225648812745746348049801698884647956847203003585562116389700191769664899306233966906253922668463002234834543484053203093088401181525098918423455943911311045356060782274053543025949276905781290239176727631307562815766535223301641290410854441787812156814374303029732054868754674414873702717701007810812053860924200736932102133750661092943552113695924858200670500643475537917914357437172498873631291404180577672586963262076303316864888082239 122430770828371500849345670618172473656273632839581355387398359857006109080962330062114962716183770803194616879524146569811312653232760978622254014352568676125085420308210785355838101858689587794344216116546494290427282328667501319285322508058383750009113022991323992445331822019662107868624497453862309735651554085866938563857920350260243211249235554330176696220702438129127638327233035469196336852372603572719771826051650574853828043833043868527511440773820646059399121699927985847614724142404791732554841669511470391344262853543143499212972728427466010898637789527673995045735436177130362926337106031648067062446230153698021071002216101216749570266517692035998382427506588675356609000407385767382448525647879426474570612018688557797594249382578393150625974566792860696258582944364617610707420431048021100454667297766861717399844022562355720706700358519620189764369050930895257024960472061197210636460397630646791284680905578193263834421134345794948803219762592331411269973896780131552877887290174395229433874132373215794198854989968204098581282476710862129669642474712465054696397883700316165914473641072169718622341986213744521167693615285125972931135078385141138861113665631545735432375685649801165606532074722379806312717096674451613898990863477587579859938804691983806870992819395308632149595262632727730944906919810850876438147588927828384991121038449661569585207833952843689091484283848461871254836461864706386507706762241626368247988652581075217735117203335635977043948312787263535488844623163066744056263535044223004500644519384756633189793712074484472883845326286678948606696814321705157949850653335067507987271682 198097148469154207370724367170529414720886116121699879790687151354428890085567471971969846535658039679616184254190915870202729506272626714787113570485784775453325049709275913954107390886696887912524540980901782937396884569477474481697148667691602156859378751433828879855681876489105326001676787849543055217511437318271872489659005132613319193573857384982994976963034317937427301359641175248074496894915030407403577702709138225756207694544920772817726614587216971010739065838414320157565290035792683586035170291704171975989469648856104431091633835146381742194524213901399903342172078020693958547281893884292747008717309434765085222330479932707670312695007745304729520099010833128237181705448313179229922466971543932621943036477915873450161113350229287519831129891189210776768126957621335725012652821103913022986853732288130496296416718076315459391475562523291142415440100205095049211184601032551575223754469469941677924997821837420121654503282502977710189509833948423479328361203542473047075064004065416860508875705700776541198152070502129916962483917749447002859894582783995569261743218838535251676059004057438744953310305952444237513058957783284557294928485283486712753362483363538993932601334462546911954581876421264454269564299678037176015380563669357244759245038658890060793661282397543466693079315835820819346088444909769299894091500238873741051903312503204595534484739734133928268211915156024687021371685166347676918561204029438525062362955610807272603871877750509679761649320598075589349768823899998846190014196137166556614340444242957303690437187612402387241282498785552579898100994899377744913112729638384372875353921 320527919297525708220070037788701888377159748961281235178085511211434999166529802034084809251841810482810801133715062440014042159505387693409367584838353451578410470017486699309945492745386475706868757097448277227824166898144975800982471175749985906868491774425152872301013698508767433870301285303405364953162991404138811053516925482873562404823092939313171673183736756066554939686874210717270833747287633980123349528760788800610035738377964641345238055361037617070138187538342306005180014178197475318590011961215642367333732502399247930304606563573847753093162003429073898387907514197824321473618999915940814071163539588463106293332696033924419882961525437340727902526517421803593790705855698946612370992619423359096513648496604431247755362732807680670457104457982071473026709901985953335720073252151934123441521030054992213696260740638671180098175921042911332179809151135990306236145073093748785860214867100588469209678727415613385488924416848772658992729596540754890598335100322604599952951294239812089942749838073992335397007060470334015543766394460309132529537057496460623958141102538851417590532645129608463575652292166188758680752573068410530226063563668627851614476148995084729364977020112348077561113951143644260582281396352488789914371427146944824619183843350873867664654101792852098842674578468548550290995364720620176332239089166702126043024350952866165119692573686977617359696199004486558276208147031054063426267966271064893310351608191882490338989081086145656805597633385339124838613447063065590246277731181389561114984963627713936880230899686886860125127825072231528504797809221082902862963382973451880862625603 518625067766679915590794404959231303098045865082981114968772662565863889252097274006054655787499850162426985387905978310216771665778014408196481155324138227031735519726762613264052883632083363619393298078350060165221051467622450282679619843441588063727870525858981752156695574997872759871978073152948420170674428722410683543175930615486881598396950324296166650146771074003982241046515385965345330642202664387526927231469927026366243432922885414162964669948254588080877253376756626162745304213990158904625182252919814343323202151255352361396240398720229495287686217330473801730079592218518280020900893800233561079880849023228191515663175966632090195656533182645457422625528254931830972411304012125842293459590967291718456684974520304697916476083036968190288234349171282249794836859607289060732726073255847146428374762343122709992677458714986639489651483566202474595249251341085355447329674126300361083969336570530147134676549253033507143427699351750369182239430489178369926696303865077647028015298305228950451625543774768876595159130972463932506250312209756135389431640280456193219884321377386669266591649187047208528962598118632996193811530851695087520992048952114564367838632358623723297578354574894989515695827564908714851845696030525965929751990816302069378428882009763928458315384190395565535753894304369369637083809630389476226330589405575867094927663456070760654177313421111545627908114160511245297579832197401740344829170300503418372714563802689762942860958836655336567246953983414714188382270963064436436291927318556117729325407870671240570668087299289247366410323857784108402898804120460647776076112611836253737979524 839152987064205623810864442747933191475205614044262350146858173777298888418627076040139465039341660645237786521621040750230813825283402101605848740162491678610145989744249312573998376377469839326262055175798337393045218365767426083662091019191573970596362300284134624457709273506640193742279358456353785123837420126549494596692856098360444003220043263609338323330507830070537180733389596682616164389490298367650276760230715826976279171300850055508202725309292205151015440915098932167925318392187634223215194214135456710656934653654600291700846962294077248380848220759547700117987106416342601494519893716174375151044388611691297808995872000556510078618058619986185325152045676735424763117159711072454664452210390650814970333471124735945671838815844648860745338807153353722821546761593242396452799325407781269869895792398114923688938199353657819587827404609113806775058402477075661683474747220049146944184203671118616344355276668646892632352116200523028174969027029933260525031404187682246980966592545041040394375381848761211992166191442797948050016706670065267918968697776916817178025423916238086857124294316655672104614890284821754874564103920105617747055612620742415982314781353708452662555374687243067076809778708552975434127092383014755844123417963246893997612725360637796122969485983247664378428472772917919928079174351009652558569678572277993137952014408936925773869887108089162987604313164997803573787979228455803771097136571568311683066171994572253281850039922800993372844587368753839026995718026130026682569658499945678844310371498385177450898986986176107491538148930015636907696613341543550639039495585288134600605127 1357778054830885539401658847707164494573251479127243465115630836343162777670724350046194120826841510807664771909527019060447585491061416509802329895486629905641881509471011925838051260009553202945655353254148397558266269833389876366341710862633162034324232826143116376614404848504512953614257431609302205294511848848960178139868786713847325601616993587905504973477278904074519421779904982647961495031692962755177203991700642853342522604223735469671167395257546793231892694291855558330670622606177793127840376467055271053980136804909952653097087361014306743668534438090021501848066698634860881515420787516407936230925237634919489324659047967188600274274591802631642747777573931667255735528463723198296957911801357942533427018445645040643588314898881617051033573156324635972616383621200531457185525398663628416298270554741237633681615658068644459077478888175316281370307653818161017130804421346349508028153540241648763479031825921680399775779815552273397357208457519111630451727708052759894008981890850269990846000925623530088587325322415261880556267018879821403308400338057373010397909745293624756123715943503702880633577488403454751068375634771800705268047661572856980350153413712332175960133729262138056592505606273461690285972788413540721773875408779548963376041607370401724581284870173643229914182367077287289565162983981399128784900267977853860232879677865007686428047200529200708615512427325509048871367811425857544115926306872071730055780735797262016224710998759456329940091541352168553215377988989194463118861585818501796573635779369056418021567074285465354857948472787799745310595417462004198415115608197124388338584651 2196931041895091163212523290455097686048457093171505815262489010120461666089351426086333585866183171452902558431148059810678399316344818611408178635649121584252027499215261238412049636387023042271917408429946734951311488199157302450003801881824736004920595126427251001072114122011153147356536790065655990418349268975509672736561642812207769604837036851514843296807786734145056602513294579330577659421183261122827480751931358680318801775524585525179370120566838998382908135206954490498595940998365427351055570681190727764637071458564552944797934323308383992049382658849569201966053805051203483009940681232582311381969626246610787133654919967745110352892650422617828072929619608402680498645623434270751622364011748593348397351916769776589260153714726265911778911963477989695437930382793773853638324724071409686168166347139352557370553857422302278665306292784430088145366056295236678814279168566398654972337743912767379823387102590327292408131931752796425532177484549044890976759112240442140989948483395311031240376307472291300579491513858059828606283725549886671227369035834289827575935169209862842980840237820358552738192378688276505942939738691906323015103274193599396332468195066040628622689103949381123669315384982014665720099880796555477617998826742795857373654332731039520704254356156890894292610839850205209493242158332408781343469946550131853370831692273944612201917087637289871603116740490506852445155790654313347887023443443640041738846907791834269506561038682257323312936128720922392242373707015324489801431244318447475417946150867441595472466061271641462349486621717815382218292030803547749054155103782412522939189778 3554709096725976702614182138162262180621708572298749280378119846463624443760075776132527706693024682260567330340675078871125984807406235121210508531135751489893909008686273164250100896396576245217572761684095132509577758032547178816345512744457898039244827952570367377686518970515666100970794221674958195712861117824469850876430429526055095206454030439420348270285065638219576024293199561978539154452876223878004684743632001533661324379748320994850537515824385791614800829498810048829266563604543220478895947148245998818617208263474505597895021684322690735717917096939590703814120503686064364525361468748990247612894863881530276458313967934933710627167242225249470820707193540069936234174087157469048580275813106535881824370362414817232848468613607882962812485119802625668054314003994305310823850122735038102466436901880590191052169515490946737742785180959746369515673710113397695945083589912748163000491284154416143302418928512007692183911747305069822889385942068156521428486820293202034998930374245581022086377233095821389166816836273321709162550744429708074535769373891662837973844914503487599104556181324061433371769867091731257011315373463707028283150935766456376682621608778372804582822833211519180261820991255476356006072669210096199391874235522344820749695940101441245285539226330534124206793206927492499058405142313807910128370214527985713603711370138952298629964288166490580218629167816015901316523602080170892002949750315711771794627643589096285731272037441713653253027670073090945457751696004518952920292830136949271991581930236498013494033135557106817207435094505615127528887448265551947469270711979536911277774429 5751640138621067865826705428617359866670165665470255095640608856584086109849427202218861292559207853713469888771823138681804384123751053732618687166784873074145936507901534402662150532783599287489490170114041867460889246231704481266349314626282634044165423078997618378758633092526819248327331011740614186131210386799979523612992072338262864811291067290935191567092852372364632626806494141309116813874059485000832165495563360213980126155272906520029907636391224789997708964705764539327862504602908647829951517829436726583254279722039058542692956007631074727767299755789159905780174308737267847535302149981572558994864490128141063591968887902678820980059892647867298893636813148472616732819710591739800202639824855129230221722279184593822108622328334148874591397083280615363492244386788079164462174846806447788634603249019942748422723372913249016408091473744176457661039766408634374759362758479146817972829028067183523125806031102334984592043679057866248421563426617201412405245932533644175988878857640892053326753540568112689746308350131381537768834469979594745763138409725952665549780083713350442085396419144419986109962245780007762954255112155613351298254209960055773015089803844413433205511937160900303931136376237491021726172550006651677009873062265140678123350272832480765989793582487425018499404046777697708551647300646216691471840161078117566974543062412896910831881375803780451821745908306522753761679392734484239889973193759351813533474551380930555237833076123970976565963798794013337700125403019843442721724074455396747409528081103939608966499196828748279556921716223430509747179479069099696523425815761949434216964207 9306349235347044568440887566779622047291874237769004376018728703047710553609502978351388999252232535974037219112498217552930368931157288853829195697920624564039845516587807566912251429180175532707062931798136999970467004264251660082694827370740532083410251031567985756445152063042485349298125233415572381844071504624449374489422501864317960017745097730355539837377918010584208651099693703287655968326935708878836850239195361747641450535021227514880445152215610581612509794204574588157129068207451868308847464977682725401871487985513564140587977691953765463485216852728750609594294812423332212060663618730562806607759354009671340050282855837612531607227134873116769714344006688542552966993797749208848782915637961665112046092641599411054957090941942031837403882203083241031546558390782384475286024969541485891101040150900532939474892888404195754150876654703922827176713476522032070704446348391894980973320312221599666428224959614342676775955426362936071310949368685357933833732752826846210987809231886473075413130773663934078913125186404703246931385214409302820298907783617615503523624998216838041189952600468481419481732112871739019965570485619320379581405145726512149697711412622786237788334770372419484192957367492967377732245219216747876401747297787485498873046212933922011275332808817959142706197253705190207610052442960024601600210375606103280578254432551849209461845663970271032040375076122538655078202994814655131892922944075063585328102194970026840969105113565684629818991468867104283157877099024362395642016904592346019401110011340437622460532332385855096764356810729045637276066927334651643992696527741486345494738636 15057989373968112434267592995396981913962039903239259471659337559631796663458930180570250291811440389687507107884321356234734753054908342586447882864705497638185782024489341969574401961963774820196553101912178867431356250495956141349044141997023166127575674110565604135203785155569304597625456245156186567975281891424428898102414574202580824829036165021290731404470770382948841277906187844596772782200995193879669015734758721961621576690294134034910352788606835371610218758910339127484991572810360516138798982807119451985125767707552622683280933699584840191252516608517910515374469121160600059595965768712135365602623844137812403642251743740291352587287027520984068607980819837015169699813508340948648985555462816794342267814920784004877065713270276180711995279286363856395038802777570463639748199816347933679735643399920475687897616261317444770558968128448099284837753242930666445463809106871041798946149340288783189554030990716677661367999105420802319732512795302559346238978685360490386976688089527365128739884314232046768659433536536084784700219684388897566062046193343568169073405081930188483275349019612901405591694358651746782919825597774933730879659355686567922712801216467199670993846707533319788124093743730458399458417769223399553411620360052626176996396485766402777265126391305384161205601300482887916161699743606241293072050536684220847552797494964746120293727039774051483862120984429061408839882387549139371782896137834415398861576746350957396206938189689655606384955267661117620858002502044205838363740979047742766810638092444377231427031529214603376321278526952476147023246406403751340516122343503435779711702843 24364338609315157002708480562176603961253914141008263847678066262679507217068433158921639291063672925661544326996819573787665121986065631440277078562626122202225627541077149536486653391143950352903616033710315867401823254760207801431738969367763698210985925142133589891648937218611789946923581478571758949819353396048878272591837076066898784846781262751646271241848688393533049929005881547884428750527930902758505865973954083709263027225315361549790797940822445953222728553114913715642120641017812384447646447784802177386997255693066186823868911391538605654737733461246661124968763933583932271656629387442698172210383198147483743692534599577903884194514162394100838322324826525557722666807306090157497768471100778459454313907562383415932022804212218212549399161489447097426585361168352848115034224785889419570836683550821008627372509149721640524709844783152022112014466719452698516168255455262936779919469652510382855982255950331020338143954531783738391043462163987917280072711438187336597964497321413838204153015087895980847572558722940788031631604898798200386360953976961183672597030080147026524465301620081382825073426471523485802885396083394254110461064501413080072410512629089985908782181477905739272317051111223425777190662988440147429813367657840111675869442698700324788540459200123343303911798554188078123771752186566265894672260912290324128131051927516595329755572703744322515902496060551600063918085382363794503675819081909478984189678941320984237176043303255340236203946736528221904015879601068568234005757883640088786211748103784814853887563861600458473085635337681521784299313333738402984508818871244922125206441479 39422327983283269436976073557573585875215954044247523319337403822311303880527363339491889582875113315349051434881140930022399875040973974026724961427331619840411409565566491506061055353107725173100169135622494734833179505256163942780783111364786864338561599252699194026852722374181094544549037723727945517794635287473307170694251650269479609675817427772937002646319458776481891206912069392481201532728926096638174881708712805670884603915609495584701150729429281324832947312025252843127112213828172900586445430591921629372123023400618809507149845091123445845990250069764571640343233054744532331252595156154833537813007042285296147334786343318195236781801189915084906930305646362572892366620814431106146754026563595253796581722483167420809088517482494393261394440775810953821624163945923311754782424602237353250572326950741484315270125411039085295268812911600121396852219962383364961632064562133978578865618992799166045536286941047697999511953637204540710775974959290476626311690123547826984941185410941203332892899402128027616231992259476872816331824583187097952423000170304751841670435162077215007740650639694284230665120830175232585805221681169187841340723857099647995123313845557185579776028185439059060441144854953884176649080757663546983224988017892737852865839184466727565805585591428727465117399854670966039933451930172507187744311448974544975683849422481341450049299743518373999764617044980661472757967769912933875458715219743894383051255687671941633382981492944995842588902004189339524873882103112774072369498862687831553022386196229192085314595390815061849406913864633997931322559740142154325024941214748357904918144322 63786666592598426439684554119750189836469868185255787167015470084990811097595796498413528873938786241010595761877960503810064997027039605467002039989957742042637037106643641042547708744251675526003785169332810602235002760016371744212522080732550562549547524394832783918501659592792884491472619202299704467613988683522185443286088726336378394522598690524583273888168147170014941135917950940365630283256856999396680747682666889380147631140924857134491948670251727278055675865140166558769232854845985285034091878376723806759120279093684996331018756482662051500727983531011232765311996988328464602909224543597531710023390240432779891027320942896099120976315352309185745252630472888130615033428120521263644522497664373713250895630045550836741111321694712605810793602265258051248209525114276159869816649388126772821409010501562492942642634560760725819978657694752143508866686681836063477800320017396915358785088645309548901518542891378718337655908168988279101819437123278393906384401561735163582905682732355041537045914490024008463804550982417660847963429481985298338783954147265935514267465242224241532205952259775667055738547301698718388690617764563441951801788358512728067533826474647171488558209663344798332758195966177309953839743746103694413038355675732849528735281883167052354346044791552070769029198408859044163705204116738773082416572361264869103814901349997936779804872447262696515667113105532261536676053152276728379134534301653373367240934628992925870559024796200336078792848740717561428889761704181342306375256746327920339234134300014006939202159252415520322492549202315519715621873073880557309533760085993280030124585801 103208994575881695876660627677323775711685822229503310486352873907302114978123159837905418456813899556359647196759101433832464872068013579493727001417289361883048446672210132548608764097359400699103954304955305337068182265272535686993305192097337426888109123647531977945354381966973979036021656926027649985408623970995492613980340376605858004198416118297520276534487605946496832342830020332846831815985783096034855629391379695051032235056534352719193099399681008602888623177165419401896345068674158185620537308968645436131243302494303805838168601573785497346718233600775804405655230043072996934161819699752365247836397282718076038362107286214294357758116542224270652182936119250703507400048934952369791276524227968967047477352528718257550199839177206999072188043041069005069833689060199471624599073990364126071981337452303977257912759971799811115247470606352264905718906644219428439432384579530893937650707638108714947054829832426416337167861806192819812595412082568870532696091685282990567846868143296244869938813892152036080036543241894533664295254065172396291206954317570687355937900404301456539946602899469951286403668131873950974495839445732629793142512215612376062657140320204357068334237848783857393199340821131194130488824503767241396263343693625587381601121067633779920151630382980798234146598263530010203638656046911280270160883810239414079498750772479278229854172190781070515431730150512923009434020922189662254593249521397267750292190316664867503942006289145331921381750744906900953763643807294116378744755609015751892256520496243199024516754643230582171899463066949517646944432814022711634558701300741637935042730123 166995661168480122316345181797073965548155690414759097653368343992292926075718956336318947330752685797370242958637061937642529869095053184960729041407247103925685483778853773591156472841611076225107739474288115939303185025288907431205827272829887989437656648042364761863856041559766863527494276128327354453022612654517678057266429102942236398721014808822103550422655753116511773478747971273212462099242640095431536377074046584431179866197459209853685048069932735880944299042305585960665577923520143470654629187345369242890363581587988802169187358056447548847446217131787037170967227031401461537071044243349896957859787523150855929389428229110393478734431894533456397435566592138834122433477055473633435799021892342680298372982574269094291311160871919604882981645306327056318043214174475631494415723378490898893390347953866470200555394532560536935226128301104408414585593326055491917232704596927809296435796283418263848573372723805134674823769975181098914414849205847264439080493247018154150752550875651286406984728382176044543841094224312194512258683547157694629990908464836622870205365646525698072152555159245618342142215433572669363186457210296071744944300574125104130190966794851528556892447512128655725957536787308504084328568249870935809301699369358436910336402950800832274497675174532869003175796672389054367343860163650053352577456171504283183313652122477215009659044638043767031098843256045184546110074074466390633727783823050641117533124945657793374501031085345668000174599485624462382653405511475458685120012355343672231490654796257205963718913895646102494392012269265037362566305887903268944092461386734917965167315924 270204655744361818193005809474397741259841512644262408139721217899595041053842116174224365787566585353729890155396163371474994741163066764454456042824536465808733930451063906139765236938970476924211693779243421276371367290561443118199132464927225416325765771689896739809210423526740842563515933054355004438431236625513170671246769479548094402919430927119623826957143359063008605821577991606059293915228423191466392006465426279482212101253993562572878147469613744483832922219471005362561922992194301656275166496314014679021606884082292608007355959630233046194164450732562841576622457074474458471232863943102262205696184805868931967751535515324687836492548436757727049618502711389537629833525990426003227075546120311647345850335102987351841511000049126603955169688347396061387876903234675103119014797368855024965371685406170447458468154504360348050473598907456673320304499970274920356665089176458703234086503921526978795628202556231551011991631781373918727010261288416134971776584932301144718599419018947531276923542274328080623877637466206728176553937612330090921197862782407310226143266050827154612099158058715569628545883565446620337682296656028701538086812789737480192848107115055885625226685360912513119156877608439698214817392753638177205565043062984024291937524018434612194649305557513667237322394935919064570982516210561333622738339981743697262812402894956493239513216828824837546530573406558107555544094996656052888321033344447908867825315262322660878443037374490999921556350230531363336417049318769575063864767964359424123747175292500404988235668538876684666291475336214555009510738701925980578651162687476555900210046047 437200316912841940509350991271471706807997203059021505793089561891887967129561072510543313118319271151100133114033225309117524610258119949415185084231783569734419414229917679730921709780581553149319433253531537215674552315850350549404959737757113405763422419732261501673066465086507706091010209182682358891453849280030848728513198582490330801640445735941727377379799112179520379300325962879271756014471063286897928383539472863913391967451452772426563195539546480364777221261776591323227500915714445126929795683659383921911970465670281410176543317686680595041610667864349878747589684105875920008303908186452159163555972329019787897140963744435081315226980331291183447054069303528371752267003045899636662874568012654327644223317677256446132822160921046208838151333653723117705920117409150734613430520747345923858762033360036917659023549036920884985699727208561081734890093296330412273897793773386512530522300204945242644201575280036685686815401756555017641425110494263399410857078179319298869351969894598817683908270656504125167718731690518922688812621159487785551188771247243933096348631697352852684251713217961187970688098999019289700868753866324773283031113363862584323039073909907414182119132873041168845114414395748202299145961003509113014866742432342461202273926969235444469146980732046536240498191608308118938326376374211386975315796153247980446126055017433708249172261466868604577629416662603292101654169071122443522048817167498549985358440207980454252944068459836667921730949716155825719070454830245033748984780319703096355237830088757610951954582434522787160683487605479592372077044589829249522743624074211473865377361971 707404972657203758702356800745869448067838715703283913932810779791483008183403188684767678905885856504830023269429388680592519351421186713869641127056320035543153344680981585870686946719552030073531127032774958492045919606411793667604092202684338822089188191422158241482276888613248548654526142237037363329885085905544019399759968062038425204559876663061351204336942471242528985121903954485331049929699486478364320390004899143395604068705446334999441343009160224848610143481247596685789423907908746783204962179973398600933577349752574018183899277316913641235775118596912720324212141180350378479536772129554421369252157134888719864892499259759769151719528768048910496672572014917909382100529036325639889950114132965974990073652780243797974333160970172812793321022001119179093797020643825837732445318116200948824133718766207365117491703541281233036173326116017755055194593266605332630562882949845215764608804126472221439829777836268236698807033537928936368435371782679534382633663111620443587951388913546348960831812930832205791596369156725650865366558771817876472386634029651243322491897748180007296350871276676757599233982564465910038551050522353474821117926153600064515887181024963299807345818233953681964271292004187900513963353757147290220431785495326485494211450987670056663796286289560203477820586544227183509308892584772720598054136134991677708938457912390201488685478295693442124159990069161399657198264067778496410369850511946458853183755470303115131387105834327667843287299946687189055487504149014608812849548284062520478985005381258015940190250973399471826974962941694147381587783291755230101394786761688029765587408018 1144605289570045699211707792017341154875835918762305419725900341683370975312964261195310992024205127655930156383462613989710043961679306663284826211288103605277572758910899265601608656500133583222850560286306495707720471922262144217009051940441452227852610611154419743155343353699756254745536351419719722221338935185574868128273166644528756006200322399003078581716741583422049364422229917364602805944170549765262248773544372007308996036156899107426004538548706705213387364743024188009016924823623191910134757863632782522845547815422855428360442595003594236277385786461262599071801825286226298487840680316006580532808129463908507762033463004194850466946509099340093943726641318446281134367532082225276552824682145620302634296970457500244107155321891219021631472355654842296799717138052976572345875838863546872682895752126244282776515252578202118021873053324578836790084686562935744904460676723231728295131104331417464084031353116304922385622435294483954009860482276942933793490741290939742457303358808145166644740083587336330959315100847244573554179179931305662023575405276895176418840529445532859980602584494637945569922081563485199739419804388678248104149039517462648838926254934870713989464951106994850809385706399936102813109314760656403235298527927668946696485377956905501132943267021606739718318778152535302447635268958984107573369932288239658155064512929823909737857739762562046701789406731764691758852433138900939932418667679445008838542195678283569384331174294164335765018249662843014774557958979259642561834328603765616834222835470015626892144833407922258987658450547173739753664827881584479624138410835899503630964769989 1852010262227249457914064592763210602943674634465589333658711121474853983496367449880078670930090984160760179652892002670302563313100493377154467338344423640820726103591880851472295603219685613296381687319081454199766391528673937884613144143125791049941798802576577984637620242313004803400062493656757085551224021091118887528033134706567181210760199062064429786053684054664578349544133871849933855873870036243626569163549271150704600104862345442425445881557866930061997508224271784694806348731531938693339720043606181123779125165175429446544341872320507877513160905058175319396013966466576676967377452445561001902060286598797227626925962263954619618666037867389004440399213333364190516468061118550916442774796278586277624370623237744042081488482861391834424793377655961475893514158696802410078321156979747821507029470892451647894006956119483351058046379440596591845279279829541077535023559673076944059739908457889685523861130952573159084429468832412890378295854059622468176124404402560186045254747721691515605571896518168536750911470003970224419545738703123538495962039306546419741332427193712867276953455771314703169156064127951109777970854911031722925266965671062713354813435959834013796810769340948532773656998404124003327072668517803693455730313422995432190696828944575557796739553311166943196139364696762485956944161543756828171424068423231335864002970842214111226543218058255488825949396800926091416050697206679436342788518191391467691725951148586684515718280128492003608305549609530203830045463128274251374683876887828137313207840851273642832335084381321730814633413488867887135252611173339709725533197597587533396552178007 2996615551797295157125772384780551757819510553227894753384611463158224958809331711075389662954296111816690336036354616660012607274779800040439293549632527246098298862502780117073904259719819196519232247605387949907486863450936082101622196083567243277794409413730997727792963596012761058145598845076476807772562956276693755656306301351095937216960521461067508367770425638086627713966363789214536661818040586008888817937093643158013596141019244549851450420106573635275384872967295972703823273555155130603474477907238963646624672980598284874904784467324102113790546691519437918467815791752802975455218132761567582434868416062705735388959425268149470085612546966729098384125854651810471650835593200776192995599478424206580258667593695244286188643804752610856056265733310803772693231296749778982424196995843294694189925223018695930670522208697685469079919432765175428635363966392476822439484236396308672354871012789307149607892484068878081470051904126896844388156336336565401969615145693499928502558106529836682250311980105504867710226570851214797973724918634429200519537444583441596160172956639245727257556040265952648739078145691436309517390659299709971029416005188525362193739690894704727786275720447943383583042704804060106140181983278460096691028841350664378887182206901481058929682820332773682914458142849297788404579430502740935744794000711470994019067483772038020964400957820817535527738803532690783174903130345580376275207185870836476530268146826870253900049454422656339373323799272373218604603422107533893936518205491593754147430676321289269724479917789243989802291864036041626888917439054924189349671608433487037027516947996 4848625814024544615039836977543762360763185187693484087043322584633078942305699160955468333884387095977450515689246619330315170587880293417593760887976950886919024966094660968546199862939504809815613934924469404107253254979610019986235340226693034327736208216307575712430583838325765861545661338733233893323786977367812643184339436057663118427720720523131938153824109692751206063510497661064470517691910622252515387100642914308718196245881589992276896301664440565337382381191567757398629622286687069296814197950845144770403798145773714321449126339644609991303707596577613237863829758219379652422595585207128584336928702661502963015885387532104089704278584834118102824525067985174662167303654319327109438374274702792857883038216932988328270132287614002690481059110966765248586745455446581392502518152823042515696954693911147578564529164817168820137965812205772020480643246222017899974507796069385616414610921247196835131753615021451240554481372959309734766452190396187870145739550096060114547812854251528197855883876623673404461138040855185022393270657337552739015499483889988015901505383832958594534509496037267351908234209819387419295361514210741693954682970859588075548553126854538741583086489788891916356699703208184109467254651796263790146759154773659811077879035846056616726422373643940626110597507546060274361523592046497763916218069134702329883070454614252132190944175879073024353688200333616874590953827552259812617995704062227944221994097975456938415767734551148342981629348881903422434648885235808145311202082379421891460638517172562912556815002170565720616925277524909514024170050228263899075204806031074570424069126003 7845241365821839772165609362324314118582695740921378840427934047791303901115030872030857996838683207794140851725601235990327777862660093458033054437609478133017323828597441085620104122659324006334846182529857354014740118430546102087857536310260277605530617630038573440223547434338526919691260183809710701096349933644506398840645737408759055644681241984199446521594535330837833777476861450279007179509951208261404205037736557466731792386900834542128346721771014200612767254158863730102452895841842199900288675858084108417028471126371999196353910806968712105094254288097051156331645549972182627877813717968696166771797118724208698404844812800253559789891131800847201208650922636985133818139247520103302433973753126999438141705810628232614458776092366613546537324844277569021279976752196360374926715148666337209886879916929843509235051373514854289217885244970947449116007212614494722413992032465694288769481934036503984739646099090329322024533277086206579154608526732753272115354695789560043050370960781364880106195856729178272171364611706399820366995575971981939535036928473429612061678340472204321792065536303220000647312355510823728812752173510451664984098976048113437742292817749243469369362210236835299939742408012244215607436635074723886837787996124324189965061242747537675656105193976714309025055650395358062766103022549238699661012069846173323902137938386290153155345133699890559881427003866307657765856957897840188893202889933064420752262244802327192315817188973804682354953148154276641039252307343342039247720287871015645608069193493852182281294919959809710419217141560951140913087489283188088424876414464561607451586073999 12693867179846384387205446339868076479345880928614862927471256632424382843420730032986326330723070303771591367414847855320642948450540386875626815325586429019936348794692102054166303985598828816150460117454326758121993373410156122074092876536953311933266825846346149152654131272664292781236921522542944594420136911012319042024985173466422174072401962507331384675418645023589039840987359111343477697201861830513919592138379471775449988632782424534405243023435454765950149635350431487501082518128529269197102873808929253187432269272145713517803037146613322096397961884674664394195475308191562280300409303175824751108725821385711661420730200332357649494169716634965304033175990622159795985442901839430411872348027829792296024744027561220942728908379980616237018383955244334269866722207642941767429233301489379725583834610840991087799580538332023109355851057176719469596650458836512622388499828535079905184092855283700819871399714111780562579014650045516313921060717128941142261094245885620157598183815032893077962079733352851676632502652561584842760266233309534678550536412363417627963183724305162916326575032340487352555546565330211148108113687721193358938781946907701513290845944603782210952448700025727216296442111220428325074691286870987676984547150897984001042940278593594292382527567620654935135653157941418337127626614595736463577230138980875653785208393000542285346289309578963584235115204199924532356810785450100001511198593995292364974256342777784130731584923524953025336582497036180063473901192579150184558922370250437537068707710666415094838109922130375431036142419085860654937257539511451987500081220495636177875655200002 20539108545668224159371055702192390597928576669536241767899190680215686744535760905017184327561753511565732219140449091310970726313200480333659869763195907152953672623289543139786408108258152822485306299984184112136733491840702224161950412847213589538797443476384722592877678707002819700928181706352655295516486844656825440865630910875181229717083204491530831197013180354426873618464220561622484876711813038775323797176116029242181781019683259076533589745206468966562916889509295217603535413970371469097391549667013361604460740398517712714156947953582034201492216172771715550527120858163744908178223021144520917880522940109920359825575013132611209284060848435812505241826913259144929803582149359533714306321780956791734166449838189453557187684472347229783555708799521903291146698959839302142355948450155716935470714527770834597034631911846877398573736302147666918712657671451007344802491861000774193953574789320204804611045813202109884603547927131722893075669243861694414376448941675180200648554775814257958068275590082029948803867264267984663127261809281516618085573340836847240024862064777367238118640568643707353202858920841034876920865861231645023922880922955814951033138762353025680321810910262562516236184519232672540682127921945711563822335147022308191008001521341131968038632761597369244160708808336776399893729637144975163238242208827048977687346331386832438501634443278854144116542208066232190122667743347940190404401483928356785726518587580111323047402112498757707691535645190456704513153499922492223806642658121453182676776904160267277119404842090185141455359560646811795850345028794640075924957634960197785327241274001 33232975725514608546576502042060467077274457598151104695370447312640069587956490938003510658284823815337323586555296946631613674763740867209286685088782336172890021417981645193952712093856981638635766417438510870258726865250858346236043289384166901472064269322730871745531809979667112482165103228895599889936623755669144482890616084341603403789485166998862215872431825378015913459451579672965962573913674869289243389314495501017631769652465683610938832768641923732513066524859726705104617932098900738294494423475942614791893009670663426231959985100195356297890178057446379944722596166355307188478632324320345668989248761495632021246305213464968858778230565070777809275002903881304725789025051198964126178669808786584030191193865750674499916592852327846020574092754766237561013421167482243909785181751645096661054549138611825684834212450178900507929587359324386388309308130287519967190991689535854099137667644603905624482445527313890447182562577177239206996729960990635556637543187560800358246738590847151036030355323434881625436369916829569505887528042591051296636109753200264867988045789082530154445215600984194705758405486171246025028979548952838382861662869863516464323984706956807891274259610288289732532626630453100865756819208816699240806882297920292192050941799934726260421160329218024179296361966278194737021356251740711626815472347807924631472554724387374723847923752857817728351657412266156722479478528798040191915600077923649150700774930357895453778987036023710733028118142226636767987054692501642408365565028371890719745484614826682371957514764220560572491501979732672450787602568306092063425038855455833963202896474003 53772084271182832705947557744252857675203034267687346463269637992855756332492251843020694985846577326903055805695746037942584401076941347542946554851978243325843694041271188333739120202115134461121072717422694982395460357091560570397993702231380491010861712799115594338409488686669932183093284935248255185453110600325969923756246995216784633506568371490393047069445005732442787077915800234588447450625487908064567186490611530259813550672148942687472422513848392699075983414369021922708153346069272207391885973142955976396353750069181138946116933053777390499382394230218095495249717024519052096656855345464866586869771701605552381071880226597580068062291413506590314516829817140449655592607200558497840484991589743375764357643703940128057104277324675075804129801554288140852160120127321546052141130201800813596525263666382660281868844362025777906503323661472053307021965801738527311993483550536628293091242433924110429093491340516000331786110504308962100072399204852329971013992129235980558895293366661408994098630913516911574240237181097554169014789851872567914721683094037112108012907853859897392563856169627902058961264407012280901949845410184483406784543792819331415357123469309833571596070520550852248768811149685773406438947130762410804629217444942600383058943321275858228459793090815393423457070774614971136915085888885686790053714556634973609159901055774207162349558196136671872468199620332388912602146272145980382320001561852005936427293517938006776826389148522468440719653787417093472500208192424134632172207686493343902422261518986949649076919606310745713946861540379484246637947597100732139349996490416031748530137748004 87005059996697441252524059786313324752477491865838451158640085305495825920448742781024205644131401142240379392251042984574198075840682214752233239940760579498733715459252833527691832295972116099756839134861205852654187222342418916634036991615547392482925982121846466083941298666337044665258388164143855075389734355995114406646863079558388037296053538489255262941876831110458700537367379907554410024539162777353810575805107031277445320324614626298411255282490316431589049939228748627812771278168172945686380396618898591188246759739844565178076918153972746797272572287664475439972313190874359285135487669785212255859020463101184402318185440062548926840521978577368123791832721021754381381632251757461966663661398529959794548837569690802557020870177002921824703894309054378413173541294803789961926311953445910257579812804994485966703056812204678414432911020796439695331273932026047279184475240072482392228910078528016053575936867829890778968673081486201307069129165842965527651535316796780917142031957508560030128986236951793199676607097927123674902317894463619211357792847237376976000953642942427547009071770612096764719669893183526926978824959137321789646206662682847879681108176266641462870330130839141981301437780138874272195766339579110045436099742862892575109885121210584488880953420033417602753432740893165873936442140626398416869186904442898240632455780161581886197481948994489600819857032598545635081624800944020574235601639775655087128068448295902230605376184546179173747771929643730240487262884925777040537772714865234622167746133813632021034434370531306286438363520112156697425550165406824202775035345871865711733034222007 140777144267880273958471617530566182427680526133525797621909723298351582252940994624044900629977978469143435197946789022516782476917623562295179794792738822824577409500524021861430952498087250560877911852283900835049647579433979487032030693846927883493787694920962060422350787353006976848351673099392110260842844956321084330403110074775172670802621909979648310011321836842901487615283180142142857475164650685418377762295718561537258870996763568985883677796338709130665033353597770550520924624237445153078266369761854567584600509809025704124193851207750137296654966517882570935222030215393411381792343015250078842728792164706736783390065666660128994902813392083958438308662538162204036974239452315959807148652988273335558906481273630930614125147501677997628833695863342519265333661422125336014067442155246723854105076471377146248571901174230456320936234682268493002353239733764574591177958790609110685320152512452126482669428208345891110754783585795163407141528370695295498665527446032761476037325324169969024227617150468704773916844279024677843917107746336187126079475941274489084013861496802324939572927940239998823680934300195807828928670369321805196430750455502179295038231645576475034466400651389994230070248929824647678634713470341520850065317187805492958168828442486442717340746510848811026210503515508137010851528029512085206922901461077871849792356835935789048547040145131161473288056652930934547683771073090000956555603201627661023555361966233909007431765333068647614467425717060823712987471077349911672709980401358578524590007652800581670111353976842052000385225060491640944063497762507556342125031836287897460263171970011 227782204264577715210995677316879507180158017999364248780549808603847408173389737405069106274109379611383814590197832007090980552758305777047413034733499402323311124959776855389122784794059366660634750987145106687703834801776398403666067685462475275976713677042808526506292086019344021513610061263535965336232579312316198737049973154333560708098675448468903572953198667953360188152650560049697267499703813462772188338100825592814704191321378195284294933078829025562254083292826519178333695902405618098764646766380753158772847269548870269302270769361722884093927538805547046375194343406267770666927830685035291098587812627807921185708251106722677921743335370661326562100495259183958418355871704073421773812314386803295353455318843321733171146017678680919453537590172396897678507202716929125975993754108692634111684889276371632215274957986435134735369145703064932697684513665790621870362434030681593077549062590980142536245365076175781889723456667281364714210657536538261026317062762829542393179357281678529054356603387420497973593451376951801518819425640799806337437268788511866060014815139744752486581999710852095588400604193379334755907495328459126986076957118185027174719339821843116497336730782229136211371686709963521950830479809920630895501416930668385533278713563697027206221699930882228628963936256401302884787970170138483623792088365520770090424812616097370934744522094125651074107913685529480182765395874034021530791204841403316110683430414529811238037141517614826788215197646704553953474733962275688713247753116223813146757753786614213691145788347373358286823588580603797641489047927914380544900067182159763171996206192018 368559348532457989169467294847445689607838544132890046402459531902198990426330732029114006904087358080527249788144621029607763029675929339342592829526238225147888534460300877250553737292146617221512662839429007522753482381210377890698098379309403159470501371963770586928642873372350998361961734362928075597075424268637283067453083229108733378901297358448551882964520504796261675767933740191840124974868464148190566100396544154351963062318141764270178610875167734692919116646424289728854620526643063251842913136142607726357447779357895973426464620569473021390582505323429617310416373621661182048720173700285369941316604792514657969098316773382806916646148762745285000409157797346162455330111156389381580960967375076630912361800116952663785271165180358917082371286035739416943840864139054461990061196263939357965789965747748778463846859160665591056305380385333425700037753399555196461540392821290703762869215103432269018914793284521673000478240253076528121352185907233556524982590208862303869216682605848498078584220537889202747510295655976479362736533387135993463516744729786355144028676636547077426154927651092094412081538493575142584836165697780932182507707573687206469757571467419591531803131433619130441441935639788169629465193280262151745566734118473878491447542006183469923562446441731039655174439771909439895639498199650568830714989826598641940217169452033159983291562239256812547395970338460414730449166947124022487346808043030977134238792380763720245468906850683474402682623363765377666462205039625600385957733517582391671347761439414795361257142324215410287208813641095438585552545690421936887025099018447660632259378162029 596341552797035704380462972164325196787996562132254295183009340506046398599720469434183113178196737691911064378342453036698743582434235116390005864259737627471199659420077732639676522086205983882147413826574114210457317182986776294364166064771878435447215049006579113434934959391695019875571795626464040933308003580953481804503056383442294086999972806917455455917719172749621863920584300241537392474572277610962754438497369747166667253639519959554473543953996760255173199939250808907188316429048681350607559902523360885130295048906766242728735389931195905484510044128976663685610717027928952715648004385320661039904417420322579154806567880105484838389484133406611562509653056530120873685982860462803354773281761879926265817118960274396956417182859039836535908876208136314622348066855983587966054950372631992077474855024120410679121817147100725791674526088398358397722267065345818331902826851972296840418277694412411555160158360697454890201696920357892835562843443771817551299652971691846262396039887527027132940823925309700721103747032928280881555959027935799800954013518298221204043491776291829912736927361944190000482142686954477340743661026240059168584664691872233644476911289262708029139862215848266652813622349751691580295673090182782641068151049142264024726255569880497129784146372613268284138376028310742780427468369789052454507078192119412030641982068130530918036084333382463621503884023989894913214562821158044018138012884434293244922222795293531483506048368298301190897821010469931619936939001901289099205486633806204818105515226029009052402930671588768574032402221699236227041593618336317431925166200607423804255584354047 964900901329493693549930267011770886395835106265144341585468872408245389026051201463297120082284095772438314166487074066306506612110164455732598693785975852619088193880378609890230259378352601103660076666003121733210799564197154185062264444081281594917716420970349700363577832764046018237533529989392116530383427849590764871956139612551027465901270165366007338882239677545883539688518040433377517449440741759153320538893913901518630315957661723824652154829164494948092316585675098636042936955691744602450473038665968611487742828264662216155200010500668926875092549452406280996027090649590134764368178085606030981221022212837237123904884653488291755035632896151896562918810853876283329016094016852184935734249136956557178178919077227060741688348039398753618280162243875731566188930995038049956116146636571350043264820771869189142968676307766316847979906473731784097760020464901014793443219673263000603287492797844680574074951645219127890679937173434420956915029351005374076282243180554150131612722493375525211525044463198903468614042688904760244292492415071793264470758248084576348072168412838907338891855013036284412563681180529619925579826724020991351092372265559440114234482756682299560942993649467397094255557989539861209760866370444934386634885167616142516173797576063967053346592814344307939312815800220182676066966569439621285222068018718053970859151520163690901327646572639276168899854362450309643663729768282066505484820927465270379161015176057251728974955218981775593580444374235309286399144041526889485163220151388596489453276665443804413660072995804178861241215862794674812594139308758254318950265219055084436514962516076 1561242454126529397930393239176096083183831668397398636768478212914291787625771670897480233260480833464349378544829527103005250194544399572122604558045713480090287853300456342529906781464558584985807490492577235943668116747183930479426430508853160030364931469976928813798512792155741038113105325615856157463691431430544246676459195995993321552901242972283462794799958850295505403609102340674914909924013019370116074977391283648685297569597181683379125698783161255203265516524925907543231253384740425953058032941189329496618037877171428458883935400431864832359602593581382944681637807677519087480016182470926692021125439633159816278711452533593776593425117029558508125428463910406404202702076877314988290507530898836483443996038037501457698105530898438590154189038452012046188536997851021637922171097009203342120739675795989599822090493454867042639654432562130142495482287530246833125346046525235297443705770492257092129235110005916582780881634093792313792477872794777191627581896152245996394008762380902552344465868388508604189717789721833041125848451443007593065424771766382797552115660189130737251628782374980474413045823867484097266323487750261050519677036957431673758711394045945007590082855865315663747069180339291552790056539460627717027703036216758406540900053145944464183130739186957576223451191828530925456494434939228673739729146210837466001501133588294221819363730906021739790403738386440204556878292589440110523622833811899563624083237971350783212481003587280076784478265384705240906336083043428178584368706785194801307558791891472813466063003667392947435273618084493911039635732927094571750875431419662508240770546870123 2526143355456023091480323506187866969579666774662542978353947085322537176651822872360777353342764929236787692711316601169311756806654564027855203251831689332709376047180834952420137040842911186089467567158580357676878916311381084664488694952934441625282647890947278514162090624919787056350638855605248273994074859280135011548415335608544349018802513137649470133682198527841388943297620381108292427373453761129269395516285197550203927885554843407203777853612325750151357833110601006179274190340432170555508505979855298108105780705436090675039135410932533759234695143033789225677664898327109222244384360556532723002346461845997053402616337187082068348460749925710404688347274764282687531718170894167173226241780035793040622174957114728518439793878937837343772469200695887777754725928846059687878287243645774692164004496567858788965059169762633359487634339035861926593242307995147847918789266198498298046993263290101772703310061651135710671561571267226734749392902145782565703864139332800146525621484874278077555990912851707507658331832410737801370140943858079386329895530014467373900187828601969644590520637388016758825609505048013717191903314474282041870769409222991113872945876802627307151025849514783060841324738328831413999817405831072651414337921384374549057073850722008431236477332001301884162764007628751108132561401508668295024951214229555519972360285108457912720691377478661015959303592748890514200542022357722177029107654739364834003244253147408034941455958806261852378058709758940550192735227084955068069531926936583397797012068556916617879723076663197126296514833947288585852229872235852826069825696638717592677285509386199 4087385809582552489410716745363963052763498443059941615122425298236828964277594543258257586603245762701137071256146128272317007001198963599977807809877402812799663900481291294950043822307469771075275057651157593620547033058565015143915125461787601655647579360924207327960603417075528094463744181221104431457766290710679258224874531604537670571703756109932932928482157378136894346906722721783207337297466780499385470493676481198889225455152025090582903552395487005354623349635526913722505443725172596508566538921044627604723818582607519133923070811364398591594297736615172170359302706004628309724400543027459415023471901479156869681327789720675844941885866955268912813775738674689091734420247771482161516749310934629524066170995152229976137899409836275933926658239147899823943262926697081325800458340654978034284744172363848388787149663217500402127288771597992069088724595525394681044135312723733595490699033782358864832545171657052293452443205361019048541870774940559757331446035485046142919630247255180629900456781240216111848049622132570842495989395301086979395320301780850171452303488791100381842149419762997233238655328915497814458226802224543092390446446180422787631657270848572314741108705380098724588393918668122966789873945291700368442040957601132955597973903867952895419608071188259460386215199457282033589055836447896968764680360440392985973861418696752134540055108384682755749707331135330718757420314947162287552730488551264397627327491118758818153936962393541929162536975143645791099071310128383246653900633721778199104570860448389431345786080330590073731788452031782496891865605162947397820701128058380100918056056256322 6613529165038575580891040251551830022343165217722484593476372383559366140929417415619034939946010691937924763967462729441628763807853527627833011061709092145509039947662126247370180863150380957164742624809737951297425949369946099808403820414722043280930227251871485842122694041995315150814383036826352705451841149990814269773289867213082019590506269247582403062164355905978283290204343102891499764670920541628654866009961678749093153340706868497786681406007812755505981182746127919901779634065604767064075044900899925712829599288043609808962206222296932350828992879648961396036967604331737531968784903583992138025818363325153923083944126907757913290346616880979317502123013438971779266138418665649334742991090970422564688345952266958494577693288774113277699127439843787601697988855543141013678745584300752726448748668931707177752208832980133761614923110633853995681966903520542528962924578922231893537692297072460637535855233308188004124004776628245783291263677086342323035310174817846289445251732129458707456447694091923619506381454543308643866130339159166365725215831795317545352491317393070026432670057151013992064264833963511531650130116698825134261215855403413901504603147651199621892134554894881785429718656996954380789691351122773019856378878985507504655047754589961326656085403189561344548979207086033141721617237956565263789631574669948505946221703805210047260746485863343771709010923884221232957962337304884464581838143290629231630571744266166853095392921199803781540595684902586341291806537213338314723432560658361596901582929005306049225509156993787200028303285979071082744095477398800223890526824697097693595341565642521 10700914974621128070301756996915793075106663660782426208598797681796195105207011958877292526549256454639061835223608857713945770809052491227810818871586494958308703848143417542320224685457850728240017682460895544917972982428511114952318945876509644936577806612795693170083297459070843245278127218047457136909607440701493527998164398817619690162210025357515335990646513284115177637111065824674707101968387322128040336503638159947982378795858893588369584958403299760860604532381654833624285077790777363572641583821944553317553417870651128942885277033661330942423290616264133566396270310336365841693185446611451553049290264804310792765271916628433758232232483836248230315898752113660871000558666437131496259740401905052088754516947419188470715592698610389211625785678991687425641251782240222339479203924955730760733492841295555566539358496197634163742211882231846064770691499045937210007059891645965489028391330854819502368400404965240297576447981989264831833134452026902080366756210302892432364881979384639337356904475332139731354431076675879486362119734460253345120536133576167716804794806184170408274819476914011225302920162879009346108356918923368226651662301583836689136260418499771936633243260274980510018112575665077347579565296414473388298419836586640460253021658457914222075693474377820804935194406543315175310673074404462232554311935110341491920083122501962181800801594248026527458718255019551951715382652252046752134568631841893629257899235384925671249329883593345710703132660046232132390877847341721561377333194380139796006153789453695480571295237324377273760091738010853579635961082561747621711227952755477794513397621898843 17314444139659703651192797248467623097449828878504910802075170065355561246136429374496327466495267146576986599191071587155574534616906018855643829933295587103817743795805543789690405548608231685404760307270633496215398931798457214760722766291231688217508033864667179012205991501066158396092510254873809842361448590692307797771454266030701709752716294605097739052810869190093460927315408927566206866639307863756695202513599838697075532136565762086156266364411112516366585715127782753526064711856382130636716628722844479030383017158694738751847483255958263293252283495913094962433237914668103373661970350195443691075108628129464715849216043536191671522579100717227547818021765552632650266697085102780831002731492875474653442862899686146965293285987384502489324913118835475027339240637783363353157949509256483487182241510227262744291567329177767925357134992865700060452658402566479738969984470568197382566083627927280139904255638273428301700452758617510615124398129113244403402066385120738721810133711514098044813352169424063350860812531219188130228250073619419710845751965371485262157286123577240434707489534065025217367184996842520877758487035622193360912878156987250590640863566150971558525377815169862295447831232662031728369256647537246408154798715572147964908069413047875548731778877567382149484173613629348317032290312361027496343943509780289997866304826307172229061548080111370299167729178903773184673344989556931216716406775132522860888470979651092524344722804793149492243728344948818473682684384555059876100765755038501392907736718459001529796804394318164473788395023989924662380056559960547845601754777452575488108739187541364 28015359114280831721494554245383416172556492539287337010673967747151756351343441333373619993044523601216048434414680444869520305425958510083454648804882082062126447643948961332010630234066082413644777989731529041133371914226968329713041712167741333154085840477462872182289288960137001641370637472921266979271056031393801325769618664848321399914926319962613075043457382474208638564426474752240913968607695185884735539017237998645057910932424655674525851322814412277227190247509437587150349789647159494209358212544789032347936435029345867694732760289619594235675574112177228528829508225004469215355155796806895244124398892933775508614487960164625429754811584553475778133920517666293521267255751539912327262471894780526742197379847105335436008878685994891700950698797827162452980492420023585692637153434212214247915734351522818310830925825375402089099346875097546125223349901612416948977044362214162871594474958782099642272656043238668599276900740606775446957532581140146483768822595423631154175015690898737382170256644756203082215243607895067616590369808079673055966288098947652978962080929761410842982309010979036442670105159721530223866843954545561587564540458571087279777123984650743495158621075444842805465943808327109075948821943951719796453218552158788425161091071505789770807472351945202954419368020172663492342963386765489728898255444890631489786387948809134410862349674359396826626447433923325136388727641808977968850975406974416490146370215036018195594052688386495202946861004995050606073562231896781437478098949418641188913890507912697010368099631642541747548486762000778242016017642522295467312982730208053282622136809440207 45329803253940535372687351493851039270006321417792247812749137812507317597479870707869947459539790747793035033605752032025094840042864528939098478738177669165944191439754505121701035782674314099049538297002162537348770846025425544473764478458973021371593874342130051194495280461203160037463147727795076821632504622086109123541072930879023109667642614567710814096268251664302099491741883679807120835247003049641430741530837837342133443068990417760682117687225524793593775962637220340676414501503541624846074841267633511378319452188040606446580243545577857528927857608090323491262746139672572589017126147002338935199507521063240224463704003700817101277390685270703325951942283218926171533952836642693158265203387656001395640242746791482401302164673379394190275611916662637480319733057806949045795102943468697735097975861750081055122493154553170014456481867963246185676008304178896687947028832782360254160558586709379782176911681512096900977353499224286062081930710253390887170888980544369875985149402412835426983608814180266433076056139114255746818619881699092766812040064319138241119367053338651277689798545044061660037290156564051101625330990167754948477418615558337870417987550801715053683998890614705100913775040989140804318078591488966204608017267730936390069160484553665319539251229512585103903541633802011809375253699126517225242198954670921487652692775116306639923897754470767125794176612827098321062072631365909185567382182106939351034841194687110719938775493179644695190589349943869079756246616451841313578864704457142581821627226371698540164904025960706221336881785990702904396074202482843312914737507660628770730875996981571 73345162368221367094181905739234455442562813957079584823423105559659073948823312041243567452584314349009083468020432476894615145468823039022553127543059751228070639083703466453711666016740396512694316286733691578482142760252393874186806190626714354525679714819592923376784569421340161678833785200716343800903560653479910449310691595727344509582568934530323889139725634138510738056168358432048034803854698235526166280548075835987191354001415073435207969010039937070820966210146657927826764291150701119055433053812422543726255887217386474141313003835197451764603431720267552020092254364677041804372281943809234179323906413997015733078191963865442531032202269824179104085862800885219692801208588182605485527675282436528137837622593896817837311043359374285891226310714489799933300225477830534738432256377680911983013710213272899365953418979928572103555828743060792310899358205791313636924073194996523125755033545491479424449567724750765500254254239831061509039463291393537370939711575968001030160165093311572809153865458936469515291299747009323363408989689778765822778328163266791220081447983100062120672107556023098102707395316285581325492174944713316536041959074129425150195111535452458548842619966059547906379718849316249880266900535440686001061235819889724815230251556059455090346723581457788058322909653974675301718217085892006954140454399561552977439080723925441050786247428830163952420624046750423457450800273174887154418357589081355841181211409723128915532828181566139898137450354938919685829808848348622751056963653875783770735517734284395550533003657603247968885368547991481146412091845005138780227720237868682053353012806421778 118674965622161902466869257233085494712569135374871832636172243372166391546303182749113514912124105096802118501626184508919709985511687567961651606281237420394014830523457971575412701799414710611743854583735854115830913606277819418660570669085687375897273589161722974571279849882543321716296932928511420622536065275566019572851764526606367619250211549098034703235993885802812837547910242111855155639101701285167597022078913673329324797070405491195890086697265461864414742172783878268503178792654242743901507895080056055104575339405427080587893247380775309293531289328357875511355000504349614393389408090811573114523413935060255957541895967566259632309592955094882430037805084104145864335161424825298643792878670092529533477865340688300238613208032753680081501922631152437413619958535637483784227359321149609718111686075022980421075912134481742118012310611024038496575366509970210324871102027778883379915592132200859206626479406262862401231607739055347571121394001646928258110600556512370906145314495724408236137474273116735948367355886123579110227609571477858589590368227585929461200815036438713398361906101067159762744685472849632427117505934881071484519377689687763020613099086254173602526618856674253007293493890305390684584979126929652205669253087620661205299412040613120409885974810970373162226451287776687111093470785018524179382653354232474465091773499041747690710145183300931078214800659577521778512872904540796339985739771188295192216052604410239635471603674745784593328039704882788765586055464800464064635828358332926352557144960656094090697907683563954190222250333982184050808166047487982093142457745529310824083888803403349 192020127990383269561051162972319950155131949331951417459595348931825465495126494790357082364708419445811201969646616985814325130980510606984204733824297171622085469607161438029124367816155107124438170870469545694313056366530213292847376859712401730422953303981315897948064419303883483395130718129227764423439625929045930022162456122333712128832780483628358592375719519941323575604078600543903190442956399520693763302626989509316516151071820564631098055707305398935235708382930536196329943083804943862956940948892478598830831226622813554729206251215972761058134721048625427531447254869026656197761690034620807293847320349057271690620087931431702163341795224919061534123667884989365557136370013007904129320553952529057671315487934585118075924251392127965972728233345642237346920184013468018522659615698830521701125396288295879787029331114410314221568139354084830807474724715761523961795175222775406505670625677692338631076047131013627901485861978886409080160857293040465629050312132480371936305479589035981045291339732053205463658655633132902473636599261256624412368696390852720681282263019538775519034013657090257865452080789135213752609680879594388020561336763817188170808210621706632151369238822733800913673212739621640564851879662370338206730488907510386020529663596672575500232698392428161220549360941751362412811687870910531133523107753794027442530854222967188741496392612131095030635424706327945235963673177715683494404097360269651033397264014133368551004431856311924491465490059821708451415864313149086815692792012208710123292662694940489641230911341167202159107618881973665197220257892493120873370177983397992877436901609825127 310695093612545172027920420205405444867701084706823250095767592303991857041429677539470597276832524542613320471272801494734035116492198174945856340105534592016100300130619409604537069615569817736182025454205399810143969972808032711507947528798089106320226893143038872519344269186426805111427651057739185045975691204611949595014220648940079748082992032726393295611713405744136413151988842655758346082058100805861360324705903182645840948142226055826988142404570860799650450555714414464833121876459186606858448843972534653935406566028240635317099498596748070351666010376983303042802255373376270591151098125432380408370734284117527648161983898997961795651388180013943964161472969093511421471531437833202773113432622621587204793353275273418314537459424881646054230155976794674760540142549105502306886975019980131419237082363318860208105243248892056339580449965108869304050091225731734286666277250554289885586217809893197837702526537276490302717469717941756651282251294687393887160912688992742842450794084760389281428814005169941412026011519256481583864208832734483001959064618438650142483078055977488917395919758157417628196766261984846179727186814475459505080714453504951191421309707960805753895857679408053920966706629927031249436858789299990412399741995131047225829075637285695910118673203398534382775812229528049523905158655929055312905761108026501907622627722008936432206537795432026108850225365905467014476546082256479834389837131457946225613316618543608186476035531057709084793529764704497217001919777949550880328620370541636475849807655596583731928819024731156349329869215955849248028423939981102966512635728927303701520790413228476 502715221602928441588971583177725395022833034038774667555362941235817322536556172329827679641540943988424522440919418480548360247472708781930061073929831763638185769737780847633661437431724924860620196324674945504457026339338246004355324388510490836743180197124354770467408688490310288506558369186966949469415317133657879617176676771273791876915772516354751887987432925685459988756067443199661536525014500326555123627332892691962357099214046620458086198111876259734886158938644950661163064960264130469815389792865013252766237792651054190046305749812720831409800731425608730574249510242402926788912788160053187702218054633174799338782071830429663958993183404933005498285140854082876978607901450841106902433986575150644876108841209858536390461710817009612026958389322436912107460326562573520829546590718810653120362478651614739995134574363302370561148589319193700111524815941493258248461452473329696391256843487585536468778573668290118204203331696828165731443108587727859516211224821473114778756273673796370326720153737223146875684667152389384057500808093991107414327761009291370823765341075516264436429933415247675493648847051120059932336867694069847525642051217322139362229520329667437905265096502141854834639919369548671814288738451670328619130230902641433246358739233958271410351371595826695603325173171279411936716846526839586446428868861820529350153481944976125173702930407563121139485650072233412250440219259972163328793934491727597259010580632676976737480467387369633576259019824526205668417784091098637696021412382750346599142470350537073373159730365898358508437488097929514445248681832474223839882813712325296578957692023053603 813410315215473613616892003383130839890534118745597917651130533539809179577985849869298276918373468531037842912192219975282395363964906956875917414035366355654286069868400257238198507047294742596802221778880345314600996312146278715863271917308579943063407090267393642986752957676737093617986020244706134515391008338269829212190897420213871624998764549081145183599146331429596401908056285855419882607072601132416483952038795874608198047356272676285074340516447120534536609494359365125996186836723317076673838636837547906701644358679294825363405248409468901761466741802592033617051765615779197380063886285485568110588788917292326986944055729427625754644571584946949462446613823176388400079432888674309675547419197772232080902194485131954704999170241891258081188545299231586868000469111679023136433565738790784539599561014933600203239817612194426900729039284302569415574907167224992535127729723883986276843061297478734306481100205566608506920801414769922382725359882415253403372137510465857621207067758556759608148967742393088287710678671645865641365016926725590416286825627730020966248419131493753353825853173405093121845613313104906112064054508545307030722765670827090553650830037628243659160954181549908755606625999475703063725597240970319031529972897772480472187814871243967320470044799225229986100985400807461460622005182768641759334629969847031257776109666985061605909468202995147248335875438138879264916765342228643163183771623185543484623897251220584923956502918427342661052549589230702885419703869048188576350032753291983074992278006133657105088549390629514857767357313885363693277105772455326806395449441252600280478482436282079 1316125536818402055205863586560856234913367152784372585206493474775626502114542022199125956559914412519462365353111638455830755611437615738805978487965198119292471839606181104871859944479019667457422418103555290819058022651484524720218596305819070779806587287391748413454161646167047382124544389431673083984806325471927708829367574191487663501914537065435897071586579257115056390664123729055081419132087101458971607579371688566570555146570319296743160538628323380269422768433004315787159251796987447546489228429702561159467882151330349015409710998222189733171267473228200764191301275858182124168976674445538755812806843550467126325726127559857289713637754989879954960731754677259265378687334339515416577981405772922876957011035694990491095460881058900870108146934621668498975460795674252543965980156457601437659962039666548340198374391975496797461877628603496269527099723108718250783589182197213682668099904785064270775259673873856726711124133111598088114168468470143112919583362331938972399963341432353129934869121479616235163395345824035249698865825020716697830614586637021391790013760207010017790255786588652768615494460364224966044400922202615154556364816888149229915880350367295681564426050683691763590246545369024374878014335692640647650660203800413913718546554105202238730821416395051925589426158572086873397338851709608228205763498831667560607929591611961186779612398610558268387821525510372291515356984602200806491977706114913140743634477883897561661436970305796976237311569413756908553837487960146826272371445136042329674134748356670730478248279756527873366204845411814878138525787604929550646278263153577896859436174459335682 2129535852033875668822755589943987074803901271529970502857624008315435681692527872068424233478287881050500208265303858431113150975402522695681895902000564474946757909474581362110058451526314410054224639882435636133659018963630803436081868223127650722869994377659142056440914603843784475742530409676379218500197333810197538041558471611701535126913301614517042255185725588544652792572180014910501301739159702591388091531410484441178753193926591973028234879144770500803959377927363680913155438633710764623163067066540109066169526510009643840773116246631658634932734215030792797808353041473961321549040560731024323923395632467759453312670183289284915468282326574826904423178368500435653778766767228189726253528824970695109037913230180122445800460051300792128189335479920900085843461264785931567102413722196392222199561600681481940401614209587691224362606667887798838942674630275943243318716911921097668944942966082543005081740774079423335218044934526368010496893828352558366322955499842404830021170409190909889543018089222009323451106024495681115340230841947442288246901412264751412756262179338503771144081639762057861737340073677329872156464976711160461587087582558976320469531180404923925223587004865241672345853171368500077941739932933610966682190176698186394190734368976446206051291461194277155575527143972894334857960856892376869965098128801514591865705701278946248385521866813553415636157400948511170780273749944429449655161477738098684228258375135118146585393473224224318898364119002987611439257191829195014848721477889334312749127026362804387583336829147157388223972202725700241831802893377384877452673712594830497139914656895617761 3445661388852277724028619176504843309717268424314343088064117483091062183807069894267550190038202293569962573618415496886943906586840138434487874389965762594239229749080762466981918396005334077511647057985990926952717041615115328156300464528946721502676581665050890469895076250010831857867074799108052302485003659282125246870926045803189198628827838679952939326772304845659709183236303743965582720871246804050359699110782173007749308340496911269771395417773093881073382146360367996700314690430698212169652295496242670225637408661339992856182827244853848368104001688258993561999654317332143445718017235176563079736202476018226579638396310849142205181920081564706859383910123177694919157454101567705142831510230743617985994924265875112936895920932359692998297482414542568584818922060460184111068393878653993659859523640348030280599988601563188021824484296491295108469774353384661494102306094118311351613042870867607275857000447953280061929169067637966098611062296822701479242538862174343802421133750623263019477887210701625558614501370319716365039096666968158986077515998901772804546275939545513788934337426350710630352834534041554838200865898913775616143452399447125550385411530772219606788013055548933435936099716737524452819754268626251614332850380498600307909280923081648444782112877589329081164953302544981208255299708601985098170861627633182152473635292890907435165134265424111684023978926458883462295630734546630256147139183853011824971892853019015708246830443530021295135675688416744519993094679789341841121092923025376642423261774719475118061585108903685261590177048137515119970328680982314428098951975748408393999350831354953443 5575197240886153392851374766448830384521169695844313590921741491406497865499597766335974423516490174620462781883719355318057057562242661130169770291966327069185987658555343829091976847531648487565871697868426563086376060578746131592382332752074372225546576042710032526335990853854616333609605208784431520985200993092322784912484517414890733755741140294469981581958030434204361975808483758876084022610406506641747790642192657448928061534423503242799630296917864381877341524287731677613470129064408976792815362562782779291806935171349636696955943491485507003036735903289786359808007358806104767267057795907587403659598108485986032951066494138427120650202408139533763807088491678130572936220868795894869085039055714313095032837496055235382696380983660485126486817894463468670662383325246115678170807600850385882059085241029512221001602811150879246187090964379093947412448983660604737421023006039409020557985836950150280938741222032703397147214002164334109107956125175259845565494362016748632442304159814172909020905299923634882065607394815397480379327508915601274324417411166524217302538118884017560078419066112768492090174607718884710357330875624936077730539982006101870854942711177143532011600060414175108281952888106024530761494201559862581015040557196786702100015292058094650833404338783606236740480446517875543113260565494361968135959756434696744339340994169853683550656132237665099660136327407394633075904484491059705802300661591110509200151228154133854832223916754245614034039807419732131432351871618536855969814400914710955172388801082279505644921938050842649814149250863215361802131574359699305551625688343238891139265488250571204 9020858629738431116879993942953673694238438120158656678985858974497560049306667660603524613554692468190425355502134852205000964149082799564657644681932089663425217407636106296073895243536982565077518755854417490039093102193861459748682797281021093728223157707760922996231067103865448191476680007892483823470204652374448031783410563218079932384568978974422920908730335279864071159044787502841666743481653310692107489752974830456677369874920414512571025714690958262950723670648099674313784819495107188962467658059025449517444343832689629553138770736339355371140737591548779921807661676138248212985075031084150483395800584504212612589462804987569325832122489704240623190998614855825492093674970363600011916549286457931081027761761930348319592301916020178124784300309006037255481305385706299789239201479504379541918608881377542501601591412714067268011575260870389055882223337045266231523329100157720372171028707817757556795741669985983459076383069802300207719018421997961324808033224191092434863437910437435928498792510625260440680108765135113845418424175883760260401933410068297021848814058429531349012756492463479122443009141760439548558196774538711693873992381453227421240354241949363138799613115963108544218052604843548983581248470186114195347890937695387010009296215139743095615517216372935317905433749062856751368560274096347066306821384067878896812976287060761118715790397661776783684115253866278095371535219037689961949439845444122334172044081173149563079054360284266909169715495836476651425446551407878697090907323940087597595650575801754623706507046954527911404326299000730481772460255342013733650577664091647285138616319605524647 14596055870624584509731368709402504078759607816002970269907600465904057914806265426939499037071182642810888137385854207523058021711325460694827414973898416732611205066191450125165872091068631052643390453722844053125469162772607591341065130033095465953769733750470955522567057957720064525086285216676915344455405645466770816695895080632970666140310119268892902490688365714068433134853271261717750766092059817333855280395167487905605431409343917755370656011608822644828065194935831351927254948559516165755283020621808228809251279004039266250094714227824862374177473494838566281615669034944352980252132826991737887055398692990198645540529299125996446482324897843774386998087106533956065029895839159494881001588342172244176060599257985583702288682899680663251271118203469505926143688710952415467410009080354765423977694122407054722603194223864946514198666225249483003294672320705870968944352106197129392729014544767907837734482892018686856223597071966634316826974547173221170373527586207841067305742070251608837519697810548895322745716159950511325797751684799361534726350821234821239151352177313548909091175558576247614533183749479324258915527650163647771604532363459329292095296953126506670811213176377283652500005492949573514342742671745976776362931494892173712109311507197837746448921555156541554645914195580732294481820839590709034442781140502575641152317281230614802266446529899441883344251581273672728447439703528749667751740507035232843372195309327283417911278277038512523203755303256208782857798423026415553060721724854798552768039376884034129351428985005370561218475549863945843574591829701713039202203352434886176277881807856095851 23616914500363015626611362652356177772998045936161626948893459440401617964112933087543023650625875111001313492887989059728058985860408260259485059655830506396036422473827556421239767334605613617720909209577261543164562264966469051089747927314116559681992891458231878518798125061585512716562965224569399167925610297841218848479305643851050598524879098243315823399418700993932504293898058764559417509573713128025962770148142318362282801284264332267941681726299780907778788865583931026241039768054623354717750678680833678326695622836728895803233484964164217745318211086387346203423330711082601193237207858075888370451199277494411258129992104113565772314447387548015010189085721389781557123570809523094892918137628630175257088361019915932021880984815700841376055418512475543181624994096658715256649210559859144965896303003784597224204785636579013782210241486119872059176895657751137200467681206354849764900043252585665394530224562004670315299980141768934524545992969171182495181560810398933502169179980689044766018490321174155763425824925085625171216175860683121795128284231303118261000166235743080258103932051039726736976192891239763807473724424702359465478524744912556713335651195075869809610826292340392196718058097793122497923991141932090971710822432587560722118607722337580842064438771529476872551347944643589045850381113687056100749602524570454537965293568291375920982236927561218667028366835139950823818974922566439629701180352479355177544239390500432980990332637322779432373470799092685434283244974434294250151629048794886150363689952685788753057936031959898472622801848864676325347052085043726772852781016526533461416498127461620498 38212970370987600136342731361758681851757653752164597218801059906305675878919198514482522687697057753812201630273843267251117007571733720954312474629728923128647627540019006546405639425674244670364299663300105596290031427739076642430813057347212025635762625208702834041365183019305577241649250441246314512381015943307989665175200724484021264665189217512208725890107066708000937428751330026277168275665772945359818050543309806267888232693608250023312337737908603552606854060519762378168294716614139520473033699302641907135946901840768162053328199191989080119495684581225912485038999746026954173489340685067626257506597970484609903670521403239562218796772285391789397187172827923737622153466648682589773919725970802419433148960277901515724169667715381504627326536715945049107768682807611130724059219640213910389873997126191651946807979860443960296408907711369355062471567978457008169412033312551979157629057797353573232264707454023357171523577213735568841372967516344403665555088396606774569474922050940653603538188131723051086171541085036136497013927545482483329854635052537939500151518413056629167195107609615974351509376640719088066389252074866007237083057108371886005430948148202376480422039468717675849218063590742696012266733813678067748073753927479734434227919229535418588513360326686018427197262140224321340332201953277765135192383665073030179117610849521990723248683457460660550372618416413623552266414626095189297452920859514588020916434699827716398901610914361291955577226102348894217141043397460709803212350773649684703131729329569822882409365016965269033841277398728622168921643914745439812054984368961419637694379935317716349 61829884871350615762954094014114859624755699688326224167694519346707293843032131602025546338322932864813515123161832326979175993432141981213797534285559429524684050013846562967645406760279858288085208872877367139454593692705545693520560984661328585317755516666934712560163308080891089958212215665815713680306626241149208513654506368335071863190068315755524549289525767701933441722649388790836585785239486073385780820691452124630171033977872582291254019464208384460385642926103693404409334484668762875190784377983475585462642524677497057856561684156153297864813895667613258688462330457109555366726548543143514627957797247979021161800513507353127991111219672939804407376258549313519179277037458205684666837863599432594690237321297817447746050652531082346003381955228420592289393676904269845980708430200073055355770300129976249171012765497022974078619149197489227121648463636208145369879714518906828922529101049939238626794932016028027486823557355504503365918960485515586160736649207005708071644102031629698369556678452897206849597366010121761668230103406165605124982919283841057761151684648799709425299039660655701088485569531958851873862976499568366702561581853284442718766599343278246290032865761058068045936121688535818510190724955610158719784576360067295156346526951872999430577799098215495299748610084867910386182583066964821235941986189643484717082904417813366644230920385021879217400985251553574376085389548661628927154101211993943198460674090328149379891943551684071387950696901441579651424288371895004053363979822444570853495419282255611635467301048925167506464079247593298494268695999789166584907765385487953099110878062779336847 100042855242338215899296825375873541476513353440490821386495579253012969721951330116508069026019990618625716753435675594230293001003875702168110008915288352653331677553865569514051046185954102958449508536177472735744625120444622335951374042008540610953518141875637546601528491100196667199861466107062028192687642184457198178829707092819093127855257533267733275179632834409934379151400718817113754060905259018745598871234761930898059266671480832314566357202116988012992496986623455782577629201282902395663818077286117492598589426518265219909889883348142377984309580248839171173501330203136509540215889228211140885464395218463631065471034910592690209907991958331593804563431377237256801430504106888274440757589570235014123386281575718963470220320246463850630708491944365641397162359711880976704767649840286965745644297256167901117820745357466934375028056908858582184120031614665153539291747831458808080158158847292811859059639470051384658347134569240072207291928001859989826291737603612482641119024082570351973094866584620257935768907095157898165244030951648088454837554336378997261303203061856338592494147270271675439994946172677939940252228574434373939644638961656328724197547491480622770454905229775743895154185279278514522457458769288226467858330287547029590574446181408418019091159424901513726945872225092231726514785020242586371134369854716514896200515267335357367479603842482539767773603667967197928351804174756818224607022071508531219377108790155865778793554466045363343527923003790473868565331769355713856576330596094255556627148611825434517876666065890436540305356646321920663190339914534606396962749754449372736805257998097053196 161872740113688831662250919389988401101269053128817045554190098599720263564983461718533615364342923483439231876597507921209468994436017683381907543200847782178015727567712132481696452946233961246534717409054839875199218813150168029471935026669869196271273658542572259161691799181087757158073681772877741872994268425606406692484213461154164991045325849023257824469158602111867820874050107607950339846144745092131379691926214055528230300649353414605820376666325372473378139912727149186986963685951665270854602455269593078061231951195762277766451567504295675849123475916452429861963660660246064906942437771354655513422192466442652227271548417945818201019211631271398211939689926550775980707541565093959107595453169667608813623602873536411216270972777546196634090447172786233686556036616150822685476080040360021101414597386144150288833510854489908453647206106347809305768495250873298909171462350365637002687259897232050485854571486079412145170691924744575573210888487375575987028386810618190712763126114200050342651545037517464785366273105279659833474134357813693579820473620220055022454887710656048017793186930927376528480515704636791814115205074002740642206220814940771442964146834758869060487770990833811941090306967814333032648183724898385187642906647614324746920973133281417449668958523117009026694482309960142112697368087207407607076356044359999613283419685148724011710524227504418985174588919520772304437193723418447151761123283502474417837782880484015158685498017729434731478619905232053519989620141250717909940310418538826410122567894081046153343967114815604046769435893915219157459035914323772981870515139937325835916136060876390043 261915595356027047561547744765861942577782406569307866940685677852733233286934791835041684390362914102064948630033183515439761995439893385550017552116136134831347405121577701995747499132188064204984225945232312610943843933594790365423309068678409807224791800418209805763220290281284424357935147879939770065681910610063604871313920553973258118900583382290991099648791436521802200025450826425064093907050004110876978563160975986426289567320834246920386733868442360486370636899350604969564592887234567666518420532555710570659821377714027497676341450852438053833433056165291601035464990863382574447158326999565796398886587684906283292742583328538508410927203589602992016503121303788032782138045671982233548353042739902622937009884449255374686491293024010047264798939117151875083718396328031799390243729880646986847058894642312051406654256211956842828675263015206391489888526865538452448463210181824445082845418744524862344914210956130796803517826493984647780502816489235565813320124414230673353882150196770402315746411622137722721135180200437557998718165309461782034658027956599052283758090772512386610287334201199051968475461877314731754367433648437114581850859776597100167161694326239491830942676220609555836244492247092847555105642494186611655501236935161354337495419314689835468760117948018522753640354535052373839212153107449993978210725899076514509483934952484081379190128069986958752948192587487970232788997898175265376368145355011005637214891670639880937479052483774798075006542909022527388554951910606431766516641014633081966749716505906480671220633180706040587074792540237139820649375828858379378833264894386698572721394058973443239 423788335469715879223798664155850343679051459698124912494875776452453496851918253553575299754705837585504180506630691436649230989875911068931925095316983917009363132689289834477443952078422025451518943354287152486143062746744958394895244095348279003496065458960782064924912089462372181516008829652817511938676179035670011563798134015127423109945909231314248924117950038633670020899500934033014433753194749203008358255087190041954519867970187661526207110534767732959748776812077754156551556573186232937373022987825303648721053328909789775442793018356733729682556532081744030897428651523628639354100764770920451912308780151348935520014131746484326611946415220874390228442811230338808762845587237076192655948495909570231750633487322791785902762265801556243898889386289938108770274432944182622075719809921007007948473492028456201695487767066446751282322469121554200795657022116411751357634672532190082085532678641756912830768782442210208948688518418729223353713704976611141800348511224848864066645276310970452658397956659655187506501453305717217832192299667275475614478501576819107306212978483168434628080521132126428496955977581951523568482638722439855224057080591537871610125841160998360891430447211443367777334799214907180587753826219084996843144143582775679084416392447971252918429076471135531780334836845012515951909521194657401585287081943436514122767354637632805390900652297491377738122781507008742537226191621593712528129268638513480055052674551123896096164550501504232806485162814254580908544572051857149676456951433171908376872284399987526824564600295521644633844228434152358978108411743182152360703780034324024408637530119849833282 685703930825742926785346408921712286256833866267432779435561454305186730138853045388616984145068751687569129136663874952088992985315804454481942647433120051840710537810867536473191451210610089656503169299519465097086906680339748760318553164026688810720857259378991870688132379743656605873943977532757282004358089645733616435112054569100681228846492613605240023766741475155472220924951760458078527660244753313885336818248166028380809435291021908446593844403210093446119413711428359126116149460420800603891443520381014219380874706623817273119134469209171783515989588247035631932893642387011213801259091770486248311195367836255218812756715075022835022873618810477382244945932534126841544983632909058426204301538649472854687643371772047160589253558825566291163688325407089983853992829272214421465963539801653994795532386670768253102142023278403594110997732136760592285545548981950203806097882714014527168378097386281775175682993398341005752206344912713871134216521465846707613668635639079537420527426507740854974144368281792910227636633506154775830910464976737257649136529533418159589971069255680821238367855333325480465431439459266255322850072370876969805907940368134971777287535487237852722373123432052923613579291462000028142859468713271608498645380517937033421911811762661088387189194419154054533975191380064889791121674302107395563497807842513028632251289590116886770090780367478336491070974094496712770015189519768977904497413993524485692267566221763777033643602985279030881491705723277108297099523962463581442973592447804990343622000905894007495785233476227685220919020974389498798757787572040531739537044928710722981358924178823276521 1109492266295458806009145073077562629935885325965557691930437230757640226990771298942192283899774589273073309643294566388738223975191715523413867742750103968850073670500157370950635403289032115108022112653806617583229969427084707155213797259374967814216922718339773935613044469206028787389952807185574793943034268681403627998910188584228104338792401844919488947884691513789142241824452694491092961413439502516893695073335356070335329303261209569972800954937977826405868190523506113282667706033607033541264466508206317868101928035533607048561927487565905513198546120328779662830322293910639853155359856541406700223504147987604154332770846821507161634820034031351772473388743764465650307829220146134618860250034559043086438276859094838946492015824627122535062577711697028092624267262216397043541683349722661002744005878699224454797629790344850345393320201258314793081202571098361955163732555246204609253910776028038688006451775840551214700894863331443094487930226442457849414017146863928401487172702818711307632542324941448097734138086811871993663102764644012733263615031110237266896184047738849255866448376465451908962387417041217778891332711093316825029965020959672843387413376648236213613803570643496291390914090676907208730613294932356605341789524100712712506328204210632341305618270890289586314310028225077405743031195496764797148784889785949542755018644227749692160991432664969714229193755601505455307241381141362690432626682632037965747320240772887673129808153486783263687976868537531689205644096014320731119430543880976898720494285305881534320349833771749329854763249408541857776866199315222684100240824963034747389996454298673109803 1795196197121201732794491481999274916192719192232990471365998685062826957129624344330809268044843340960642438779958441340827216960507519977895810390183224020690784208311024907423826854499642204764525281953326082680316876107424455915532350423401656624937779977718765806301176848949685393263896784718332075947392358327137244434022243153328785567638894458524728971651432988944614462749404454949171489073684255830779031891583522098716138738552231478419394799341187919851987604234934472408783855494027834145155910028587332087482802742157424321681061956775077296714535708575815294763215936297651066956618948311892948534699515823859373145527561896529996657693652841829154718334676298592491852812853055193045064551573208515941125920230866886107081269383452688826226266037104118076478260091488611465007646889524314997539538265369992707899771813623253939504317933395075385366748120080312158969830437960219136422288873414320463182134769238892220453101208244156965622146747908304557027685782503007938907700129326452162606686693223241007961774720318026769494013229620749990912751560643655426486155116994530077104816231798777389427818856500484034214182783464193794835872961327807815164700912135474066336176694075549215004493382138907236873472763645628213840434904618649745928240015973293429692807465309443640848285219605142295534152869798872192712282697628462571387269933817866578931082213032448050720264729696002168077256570661131668337124096625562451439587806994651450163451756472062294569468574260808797502743619976784312562404136328781889064116286211775541816135067247977015075682270382931356575623986887263215839777869891745470371355378477496386324 2904688463416660538803636555076837546128604518198548163296435915820467184120395643273001551944617930233715748423253007729565440935699235501309678132933327989540857878811182278374462257788674319872547394607132700263546845534509163070746147682776624439154702696058539741914221318155714180653849591903906869890426627008540872432932431737556889906431296303444217919536124502733756704573857149440264450487123758347672726964918878169051468041813441048392195754279165746257855794758440585691451561527634867686420376536793649955584730777691031370242989444340982809913081828904594957593538230208290920111978804853299648758203663811463527478298408718037158292513686873180927191723420063058142160642073201327663924801607767559027564197089961725053573285208079811361288843748801146169102527353705008508549330239246976000283544144069217162697401603968104284897638134653390178447950691178674114133562993206423745676199649442359151188586545079443435153996071575600060110076974350762406441702929366936340394872832145163470239229018164689105695912807129898763157115994264762724176366591753892693382339164733379332971264608264229298390206273541701813105515494557510619865837982287480658552114288783710279949980264719045506395407472815814445604086058577984819182224428719362458434568220183925770998425736199733227162595247830219701277184065295636989861067587414412114142288578045616271092073645697417764949458485297507623384497951802494358769750779257600417186908047767539123293259909958845558257445442798340486708387715991105043681834680209758787784610571517657076136484901019726344930445519791473214352490186202485899940018694854780217761351832776169496127 4699884660537862271598128037076112462321323710431538634662434600883294141250019987603810819989461271194358187203211449070392657896206755479205488523116552010231642087122207185798289112288316524637072676560458782943863721641933618986278498106178281064092482673777305548215398167105399573917746376622238945837818985335678116866954674890885675474070190761968946891187557491678371167323261604389435939560808014178451758856502400267767606780365672526811590553620353666109843398993375058100235417021662701831576286565380982043067533519848455691924051401116060106627617537480410252356754166505941987068597753165192597292903179635322900623825970614567154950207339715010081910058096361650634013454926256520708989353180976074968690117320828611160654554591532500187515109785905264245580787445193619973556977128771290997823082409439209870597173417591358224401956068048465563814698811258986273103393431166642882098488522856679614370721314318335655607097279819757025732223722259066963469388711869944279302572961471615632845915711387930113657687527447925532651129223885512715089118152397548119868494281727909410076080840063006687818025130042185847319698278021704414701710943615288473716815200919184346286156958794594721399900854954721682477558822223613033022659333338012204362808236157219200691233201509176868010880467435361996811336935094509182573350285042874685529558511863482850023155858729865815669723214993509791461754522463626027106874875883162868626495854762190573456711666430907852826914017059149284211131335967889356244238816538540676848726857729432617952619968267703360006127790174404570928114173089749115779796564746525688132707211253665882451 7604573123954522810401764592152950008449928228630086797958870516703761325370415630876812371934079201428073935626464456799958098831905990980515166656049879999772499965933389464172751370076990844509620071167591483207410567176442782057024645788954905503247185369835845290129619485261113754571595968526145815728245612344218989299887106628442565380501487065413164810723681994412127871897118753829700390047931772526124485821421278436819074822179113575203786307899519412367699193751815643791686978549297569517996663102174631998652264297539487062167040845457042916540699366385005209950292396714232907180576558018492246051106843446786428102124379332604313242721026588191009101781516424708776174096999457848372914154788743633996254314410790336214227839799612311548803953534706410414683314798898628482106307368018266998106626553508427033294575021559462509299594202701855742262649502437660387236956424373066627774688172299038765559307859397779090761093351395357085842300696609829369911091641236880619697445793616779103085144729552619219353600334577824295808245218150275439265484744151440813250833446461288743047345448327235986208231403583887660425213772579215034567548925902769132268929489702894626236137223513640227795308327770536128081644880801597852204883762057374662797376456341144971689658937708910095173475715265581698088521000390146172434417872457286799671847089909099121115229504427283580619181700291017414846252474266120385876625655140763285813403902529729696749971576389753411084359459857489770919519051958994399926073496748299464633337429247089694089104869287429704936573309965877785280604359292235015719815259601305905894059044029835378578 12304457784492385081999892629229062470771251939061625432621305117587055466620435618480623191923540472622432122829675905870350756728112746459720655179166432010004142053055596649971040482365307369146692747728050266151274288818376401043303143895133186567339668043613150838345017652366513328489342345148384761566064597679897106166841781519328240854571677827382111701911239486090499039220380358219136329608739786704576244677923678704586681602544786102015376861519873078477542592745190701891922395570960271349572949667555614041719797817387942754091092246573103023168316903865415462307046563220174894249174311183684843344010023082109328725950349947171468192928366303201091011839612786359410187551925714369081903507969719708964944431731618947374882394391144811736319063320611674660264102244092248455663284496789557995929708962947636903891748439150820733701550270750321306077348313696646660340349855539709509873176695155718379930029173716114746368190631215114111574524418868896333380480353106824899000018755088394735931060440940549333011287862025749828459374442035788154354602896548988933119327728189198153123426288390242674026256533626073507744912050600919449269259869518057605985744690622078972522294182308234949195209182725257810559203703025210885227543095395386867160184692498364172380892139218086963184356182700943694899857935484655355007768157500161485201405601772581971138385363157149396288904915284527206308006996729746412983500531023926154439899757291920270206683242820661263911273476916639055130650387926883756170312313286840141482064286976522312041724837555133064942701100140282356208718532381984131499611824347831594026766255283501261029 19909030908446907892401657221382012479221180167691712230580175634290816791990851249357435563857619674050506058456140362670308855560018737440235821835216312009776642018988986114143791852442298213656312818895641749358684855994819183100327789684088092070586853413448996128474637137627627083060938313674530577294310210024116095466728888147770806235073164892795276512634921480502626911117499112048836719656671559230700730499344957141405756424723899677219163169419392490845241786497006345683609374120257840867569612769730246040372062114927429816258133092030145939709016270250420672257338959934407801429750869202177089395116866528895756828074729279775781435649392891392100113621129211068186361648925172217454817662758463342961198746142409283589110234190757123285123016855318085074947417042990876937769591864807824994036335516456063937186323460710283243001144473452177048339997816134307047577306279912776137647864867454757145489337033113893837129283982610471197416825115478725703291571994343705518697464548705173839016205170493168552364888196603574124267619660186063593620087640700429746370161174650486896170771736717478660234487937209961168170125823180134483836808795420826738254674180324973598758431405821875176990517510495793938640848583826808737432426857452761529957561148839509144070551076926997058357831897966525392988378935874801527442186029957448284873252691681681092253614867584432976908086615575544621154259470995866798860126186164689440253303659821649966956654819210414674995632936774128826050169439885878156096385810035139606115401716223612006130829706842562769879274410106160141489322891674219147219427083949137499920825299313336639607 32213488692939292974401549850611074949992432106753337663201480751877872258611286867838058755781160146672938181285816268540659612288131483899956477014382744019780784072044582764114832334807605582803005566623692015509959144813195584143630933579221278637926521457062146966819654789994140411550280658822915338860374807704013201633570669667099047089644842720177388214546160966593125950337879470267973049265411345935276975177268635845992438027268685779234540030939265569322784379242197047575531769691218112217142562437285860082091859932315372570349225338603248962877333174115836134564385523154582695678925180385861932739126889611005085554025079226947249628577759194593191125460741997427596549200850886586536721170728183051926143177874028230963992628581901935021442080175929759735211519287083125393432876361597382989966044479403700841078071899861103976702694744202498354417346129830953707917656135452485647521041562610475525419366206830008583497474613825585308991349534347622036672052347450530417697483303793568574947265611433717885376176058629323952726994102221851747974690537249418679489488902839685049294198025107721334260744470836034675915037873781053933106068664938884344240418870947052571280725588130110126185726693221051749200052286852019622659969952848148397117745841337873316451443216145084021542188080667469087888236871359456882449954187457609770074658293454263063392000230741582373196991530860071827462266467725613211843626717188615594693203417113570237163338062031075938906906413690767881180819827812761912266698123321979747597466003200134318172554544397695834821975510246442497698041424056203278719038908296969093947591554596837900636 52122519601386200866803207071993087429213612274445049893781656386168689050602138117195494319638779820723444239741956631210968467848150221340192298849599056029557426091033568878258624187249903796459318385519333764868644000808014767243958723263309370708513374870511143095294291927621767494611218972497445916154685017728129297100299557814869853324718007612972664727181082447095752861455378582316809768922082905165977705676613592987398194451992585456453703200358658060168026165739203393259141143811475953084712175207016106122463922047242802386607358430633394902586349444366256806821724483088990497108676049588039022134243756139900842382099808506723031064227152085985291239081871208495782910849776058803991538833486646394887341924016437514553102862772659058306565097031247844810158936330074002331202468226405207984002379995859764778264395360571387219703839217654675402757343945965260755494962415365261785168906430065232670908703239943902420626758596436056506408174649826347739963624341794235936394947852498742413963470781926886437741064255232898076994613762407915341594778177949848425859650077490171945464969761825199994495232408045995844085163696961188416942877460359711082495093051272026170039156993951985303176244203716845687840900870678828360092396810300909927075306990177382460521994293072081079900019978633994480876615807234258409892140217415058054947910985135944155645615098326015350105078146435616448616525938721480010703752903353305034946507076935220204119992881241490613902539350464896707230989267698640068363083933357119353712867719423746324303384251240258604701249920352602639187364315730422425938465992246106593868416853910174540243 84336008294325493841204756922604162379206044381198387556983137138046561309213424985033553075419939967396382421027772899751628080136281705240148775863981800049338210163078151642373456522057509379262323952143025780378603145621210351387589656842530649346439896327573290062113946717615907906161499631320361255015059825432142498733870227481968900414362850333150052941727243413688878811793258052584782818187494251101254680853882228833390632479261271235688243231297923629490810544981400440834672913502694065301854737644301966204555781979558174956956583769236643865463682618482092941386110006243573192787601229973900954873370645750905927936124887733670280692804911280578482364542613205923379460050626945390528260004214829446813485101890465745517095491354560993328007177207177604545370455617157127724635344588002590973968424475263465619342467260432491196406533961857173757174690075796214463412618550817747432689947992675708196328069446773911004124233210261641815399524184173969776635676689244766354092431156292310988910736393360604323117240313862222029721607864629767089569468715199267105349138980329856994759167786932921328755976878882030520000201570742242350048946125298595426735511922219078741319882582082095429361970896937897437040953157530847982752366763149058324193052831515255776973437509217165101442208059301463568764852678593715292342094404872667825022569278590207219037615329067597723302069677295688276078792406447093222547379620541920629639710494048790441283330943272566552809445764155664588411809095511401980629782056679099101310333722623880642475938795637954439523225430599045136885405739786625704657504900543075687816008408507012440879 136458527895711694708007963994597249808419656655643437450764793524215250359815563102229047395058719788119826660769729530962596547984431926580341074713580856078895636254111720520632080709307413175721642337662359545247247146429225118631548380105840020054953271198084433157408238645237675400772718603817807171169744843160271795834169785296838753739080857946122717668908325860784631673248636634901592587109577156267232386530495821820788826931253856692141946431656581689658836710720603834093814057314170018386566912851318072327019704026800977343563942199870038768050032062848349748207834489332563689896277279561939977007614401890806770318224696240393311757032063366563773603624484414419162370900403004194519798837701475841700827025906903260070198354127220051634572274238425449355529391947231130055837812814407798957970804471123230397606862621003878416110373179511849159932034021761475218907580966183009217858854422740940867236772686717813424750991806697698321807698834000317516599301031039002290487379008791053402874207175287490760858304569095120106716221627037682431164246893149115531208789057820028940224137548758121323251209286928026364085365267703430766991823585658306509230604973491104911359039576034080732538215100654743124881854028209676342844763573449968251268359821692638237495431802289246181342228037935458049641468485827973702234234622287725879970480263726151374683230427393613073407147823731304724695318345168573233251132523895225664586217570984010645403323824514057166711985114620561295642798363210042048992865990036218455023201442047626966779323046878213044224475350951647776072770055517048130595970892789182281684425262417186981122 220794536190037188549212720917201412187625701036841825007747930662261811669028988087262600470478659755516209081797502430714224628120713631820489850577562656128233846417189872163005537231364922554983966289805385325625850292050435470019138036948370669401393167525657723219522185362853583306934218235138168426184804668592414294568040012778807654153443708279272770610635569274473510485041894687486375405297071407368487067384378050654179459410515127927830189662954505319149647255702004274928486970816864083688421650495620038531575486006359152300520525969106682633513714681330442689593944495576136882683878509535840931880985047641712698254349583974063592449836974647142255968167097620342541830951029949585048058841916305288514312127797369005587293845481781044962579451445603053900899847564388257780473157402410389931939228946386696016949329881436369612516907141369022917106724097557689682320199517000756650548802415416649063564842133491724428875225016959340137207223018174287293234977720283768644579810165083364391784943568648095083975544882957342136437829491667449520733715608348382636557928038149885934983305335691042652007186165810056884085566838445673117040769710956901935966116895710183652678922158116176161900185997592640561922807185740524325597130336599026575461412653207894014468869311506411282784436097236921618406321164421688994576329027160393704993049542316358593720845756461210796709217501026993000774110751615666455798512144437146294225928065032801086686654767786623719521430878776225884054607458721444029622648046715317556333535164671507609255261842516167483747700781550692912958175795303673835253475793332257969500433670924199422001 357253064085748883257220684911798661996045357692485262458512724186477062028844551189491647865537379543636035742567231961676821176105145558400830925291143512207129482671301592683637617940672335730705608627467744870873097438479660588650686417054210689456346438723742156376930424008091258707706936838955975597354549511752686090402209798075646407892524566225395488279543895135258142158290531322387967992406648563635719453914873872474968286341768984619972136094611087008808483966422608109022301028131034102074988563346938110858595190033160129644084468168976721401563746744178792437801778984908700572580155789097780908888599449532519468572574280214456904206869038013706029571791582034761704201851432953779567857679617781130215139153704272265657492199609001096597151725684028503256429239511619387836310970216818188889910033417509926414556192502440248028627280320880872077038758119319164901227780483183765868407656838157589930801614820209537853626216823657038459014921852174604809834278751322770935067189173874417794659150743935585844833849452052462243154051118705131951897962501497498167766717095969914875207442884449163975258395452738083248170932106149103884032593296615208445196721869201288564037961734150256894438401098247383686804661213950200668441893910048994826729772474900532251964301113795657464126664135172379668047789650249662696810563649448119584963529806042509968404076183854823870116365324758297725469429096784239689049644668332371958812145636016811732089978592300680886233415993396787179697405821931486078615514036751536011356736606719134576034584889394380527972176132502340689030945850820721965849446686121440251184858933341386403123 578047600275786071806433405829000074183671058729327087466260654848738873697873539276754248336016039299152244824364734392391045804225859190221320775868706168335363329088491464846643155172037258285689574917273130196498947730530096058669824454002581358857739606249399879596452609370944842014641155074094144023539354180345100384970249810854454062045968274504668258890179464409731652643332426009874343397703719971004206521299251923129147745752284112547802325757565592327958131222124612383950787998947898185763410213842558149390170676039519281944604994138083404035077461425509235127395723480484837455264034298633621840769584497174232166826923864188520496656706012660848285539958679655104246032802462903364615916521534086418729451281501641271244786045090782141559731177129631557157329087076007645616784127619228578821849262363896622431505522383876617641144187462249894994145482216876854583547980000184522518956459253574238994366456953701262282501441840616378596222144870348892103069256471606539579646999338957782186444094312583680928809394335009804379591880610372581472631678109845880804324645134119800810190748220140206627265581618548140132256498944594777001073363007572110381162838764911472216716883892266433056338587095840024248727468399690724994039024246648021402191185128108426266433170425302068746911100232409301286454110814671351691386892676608513289956579348358868562124921940316034666825582825785290726243539848399906144848156812769518253038073701049612818776633360087304605754846872173013063752013280652930108238162083466853567690271771390642185289846731910548011719876914053033601989121646124395801102922479453698220685292604265585825124 935300664361534955063654090740798736179716416421812349924773379035215935726718090466245896201553418842788280566931966354067866980331004748622151701159849680542492811759793057530280773112709594016395183544740875067372045169009756647320510871056792048314086044973142035973383033379036100722348091913050119620893903692097786475372459608930100469938492840730063747169723359544989794801622957332262311390110368534639925975214125795604116032094053097167774461852176679336766615188547220492973089027078932287838398777189496260248765866072679411588689462307060125436641208169688027565197502465393538027844190087731402749658183946706751635399498144402977400863575050674554315111750261689865950234653895857144183774201151867548944590435205913536902278244699783238156882902813660060413758326587627033453095097836046767711759295781406548846061714886316865669771467783130767071184240336196019484775760483368288387364116091731828925168071773910800136127658664273417055237066722523496912903535222929310514714188512832199981103245056519266773643243787062266622745931729077713424529640611343378972091362230089715685398191104589370602523977071286223380427431050743880885105956304187318826359560634112760780754845626416689950776988194087407935532129613640925662480918156697016228920957603008958518397471539097726211037764367581680954501900464921014388197456326056632874920109154401378530528998124170858536941948150543588451712968945184145833897801481101890211850219337066424550866611952387985491988262865569800243449419102584416186853676120218389579047008378109776761324431621304928539692053046555374291020067496945117766952369165575138471870151537606972228247 1513348264637321026870087496569798810363387475151139437391034033883954809424591629743000144537569458141940525391296700746458912784556863938843472477028555848877856140848284522376923928284746852302084758462014005263870992899539852705990335325059373407171825651222541915569835642749980942736989246987144263644433257872442886860342709419784554531984461115234732006059902823954721447444955383342136654787814088505644132496513377718733263777846337209715576787609742271664724746410671832876923877026026830473601808991032054409638936542112198693533294456445143529471718669595197262692593225945878375483108224386365024590427768443880983802226422008591497897520281063335402600651708941344970196267456358760508799690722685953967674041716707554808147064289790565379716614079943291617571087413663634679069879225455275346533608558145303171277567237270193483310915655245380662065329722553072874068323740483552810906320575345306067919534528727612062418629100504889795651459211592872389015972791694535850094361187851789982167547339369102947702452638122072071002337812339450294897161318721189259776416007364209516495588939324729577229789558689834363512683929995338657886179319311759429207522399399024232997471729518683123007115575289927432184259598013331650656519942403345037631112142731117384784830641964399794957948864599990982240956011279592366079584349002665146164876688502760247092653920064486893203767530976328879177956508793584051978745958293871408464888293038116037369643245312475290097743109737742813307201432383237346295091838203685243146737280149500418946614278353215476551411929960608407893009189143069513568055291645028836692555444141872558053371 2448648928998855981933741587310597546543103891572951787315807412919170745151309720209246040739122876984728805958228667100526779764887868687465624178188405529420348952608077579907204701397456446318479942006754880331243038068549609353310846196116165455485911696195683951543218676129017043459337338900194383265327161564540673335715169028714655001922953955964795753229626183499711242246578340674398966177924457040284058471727503514337379809940390306883351249461918951001491361599219053369896966053105762761440207768221550669887702408184878105121983918752203654908359877764885290257790728411271913510952414474096427340085952390587735437625920152994475298383856114009956915763459203034836146502110254617652983464923837821516618632151913468345049342534490348617873496982756951677984845740251261712522974323291322114245367853926709720123628952156510348980687123028511429136513962889268893553099500966921099293684691437037896844702600501522862554756759169163212706696278315395885928876326917465160609075376364622182148650584425622214476095881909134337625083744068528008321690959332532638748507369594299232180987130429318947832313535761120586893111361046082538771285275615946748033881960033136993778226575145099812957892563484014840119791727626972576319000860560042053860033100334126343303228113503497521168986628967572663195457911744513380467781805328721779039796797657161625623182918188657751740709479126872467629669477738768197812643759774973298676738512375182461920509857264863275589731372603312613550650851485821762481945514323903632725784288527610195707938709974520405091103983007163782184029256640014631335007660810603975164425595679479530281618 3961997193636177008803829083880396356906491366724091224706841446803125554575901349952246185276692335126669331349525367846985692549444732626309096655216961378298205093456362102284128629682203298620564700468768885595114030968089462059301181521175538862657737347418225867113054318878997986196326585887338646909760419436983560196057878448499209533907415071199527759289529007454432689691533724016535620965738545545928190968240881233070643587786727516598928037071661222666216108009890886246820843079132593235042016759253605079526638950297076798655278375197347184380078547360082552950383954357150288994060638860461451930513720834468719239852342161585973195904137177345359516415168144379806342769566613378161783155646523775484292673868621023153196406824280913997590111062700243295555933153914896391592853548746597460778976412072012891401196189426703832291602778273892091201843685442341767621423241450473910200005266782343964764237129229134924973385859674053008358155489908268274944849118612001010703436564216412164316197923794725162178548520031206408627421556407978303218852278053721898524923376958508748676576069754048525062103094450954950405795291041421196657464594927706177241404359432161226775698304663782935965008138773942272304051325640304226975520802963387091491145243065243728088058755467897316126935493567563645436413923024105746547366154331386925204673486159921872715836838253144644944477010103201346807625986532352249791389718068844707141626805413298499290153102577338565687474482341055426857852283869059108777037352527588875872521568677110614654552988327735881642515912967772190077038445783084144903062952455632811856981039821352088334989 6410646122635032990737570671190993903449595258297043012022648859722296299727211070161492226015815212111398137307754034947512472314332601313774720833405366907718554046064439682191333331079659744939044642475523765926357069036639071412612027717291704318143649043613909818656272995008015029655663924787533030175087581001524233531773047477213864535830369027164323512519155190954143931938112064690934587143663002586212249439968384747408023397727117823482279286533580173667707469609109939616717809132238355996482224527475155749414341358481954903777262293949550839288438425124967843208174682768422202505013053334557879270599673225056454677478262314580448494287993291355316432178627347414642489271676867995814766620570361597000911306020534491498245749358771262615463608045457194973540778894166158104115827872037919575024344265998722611524825141583214181272289901302403520338357648331610661174522742417395009493689958219381861608939729730657787528142618843216221064851768223664160873725445529466171312511940581034346464848508220347376654644401940340746252505300476506311540543237386254537273430746552807980857563200183367472894416630212075537298906652087503735428749870543652925275286319465298220553924879808882748922900702257957112423843053267276803294521663523429145351178343399370071391286868971394837295922122535136308631871834768619127015147959660108704244470283817083498339019756441802396685186489230073814437295464271120447604033477843818005818365317788480961210662959842201841277205854944368040408503135354880871258982866851492508598305857204720810362491698302256286733619895974935972261067702423098776238070613266236787021406635500831618616607 10372643316271209999541399755071390260356086625021134236729490306525421854303112420113738411292507547238067468657279402794498164863777333940083817488622328286016759139520801784475461960761863043559609342944292651521471100004728533471913209238467243180801386391032135685769327313887013015851990510674871677084848000438507793727830925925713074069737784098363851271808684198408576621629645788707470208109401548132140440408209265980478666985513845340081207323605241396333923577619000825863538652211370949231524241286728760828940980308779031702432540669146898023668516972485050396158558637125572491499073692195019331201113394059525173917330604476166421690192130468700675948593795491794448832041243481373976549776216885372485203979889155514651442156183052176613053719108157438269096712048081054495708681420784517035803320678070735502926021331009918013563892679576295611540201333773952428795945983867868919693695225001725826373176858959792712501528478517269229423007258131932435818574564141467182015948504797446510781046432015072538833192921971547154879926856884484614759395515439976435798354123511316729534139269937415997956519724663030487704701943128924932086214465471359102516690678897459447329623184472665684887908841031899384727894378907581030270042466486816236842323586464613799479345624439292153422857616102699954068285757792724873562514113991495629449143769977005371054856594694947041629663499333275161244921450803472697395423195912662712959992123201779460500816062419540406964680337285423467266355419223939980036020219379081384470827425881831425017044686629992168376135808942708162338106148206182921141133565721869598878387675322183706951596 16783289438906242990278970426262384163805681883318177248752139166247718154030323490275230637308322759349465605965033437742010637178109935253858538322027695193735313185585241466666795291841522788498653985419816417447828169041367604884525236955758947498945035434646045504425600308895028045507654435462404707259935581440032027259603973402926938605568153125528174784327839389362720553567757853398404795253064550718352689848177650727886690383240963163563486610138821570001631047228110765480256461343609305228006465814203916578355321667260986606209802963096448862956955397610018239366733319893994694004086745529577210471713067284581628594808866790746870184480123760055992380772422839209091321312920349369791316396787246969486115285909690006149687905541823439228517327153614633242637490942247212599824509292822436610827664944069458114450846472593132194836182580878699131878558982105563089970468726285263929187385183221107687982116588690450500029671097360485450487859026355596596692300009670933353328460445378480857245894940235419915487837323911887901132432157360990926299938752826230973071784870064124710391702470120783470850936354875106025003608595216428667514964336015012027791976998362757667883548064281548433810809543289856497151737432174857833564564130010245382193501929863983870870632493410686990718779738637836262700157592561344000577662073651604333693614053794088869393876351136749438314849988563348975682216915074593144999456673756480718778357440990260421711479022261742248241886192229791507674858554578820851295003086230573893069133283086552235379536384932248455109755704917644134599173850629281697379204178988106385899794310823015325568203 27155932755177452989820370181333774424161768508339311485481629472773140008333435910388969048600830306587533074622312840536508802041887269193942355810650023479752072325106043251142257252603385832058263328364109068969299269046096138356438446194226190679746421825678181190194927622782041061359644946137276384344783581878539820987434899328640012675305937223892026056136523587771297175197403642105875003362466098850493130256386916708365357368754808503644693933744062966335554624847111591343795113554980254459530707100932677407296301976040018308642343632243346886625472370095068635525291957019567185503160437724596541672826461344106802512139471266913291874672254228756668329366218331003540153354163830743767866173004132341971319265798845520801130061724875615841571046261772071511734202990328267095533190713606953646630985622140193617376867803603050208400075260454994743418760315879515518766414710153132848881080408222833514355293447650243212531199575877754679910866284487529032510874573812400535344408950175927368026941372250492454321030245883435056012359014245475541059334268266207408870138993575441439925841740058199468807456079538136512708310538345353599601178801486371130308667677260217115213171248754214118698718384321755881879631811082438863834606596497061619035825516328597670349978117849979144141637354740536216768443350354068874140176187643099963142757823771094240448732945831696479944513487896624136927138365878065842394879869669143431738349564192039882212295084681282655206566529515214974941213973802760831331023305609655277539960708968383660396581071562240623485891513860352296937279998835464618520337744709975984778181986145199032519799 43939222194083695980099340607596158587967450391657488734233768639020858162363759400664199685909153065936998680587346278278519439219997204447800894132677718673487385510691284717809052544444908620556917313783925486417127438087463743240963683149985138178691457260324226694620527931677069106867299381599681091604719163318571848247038872731566951280874090349420200840464362977134017728765161495504279798615530649568845820104564567436252047751995771667208180543882884536337185672075222356824051574898589559687537172915136593985651623643301004914852146595339795749582427767705086874892025276913561879507247183254173752144539528628688431106948338057660162059152377988812660710138641170212631474667084180113559182569791379311457434551708535526950817967266699055070088373415386704754371693932575479695357700006429390257458650566209651731827714276196182403236257841333693875297319297985078608736883436438396778068465591443941202337410036340693712560870673238240130398725310843125629203174583483333888672869395554408225272836312485912369808867569795322957144791171606466467359273021092438381941923863639566150317544210178982939658392434413242537711919133561782267116143137501383158100644675622974783096719313035762552509527927611612379031369243257296697399170726507307001229327446192581541220610611260666134860417093378372479468600942915412874717838261294704296836371877565183109842609296968445918259363476459973112609355280952658987394336543425624150516707005182300303923774106943024903448452721745006482616072528381581682626026391840229170609093992054935895776117456494489078595647218777996431536453849464746315899541923698082370677976296968214358088002 71095154949261148969919710788929933012129218899996800219715398111793998170697195311053168734509983372524531755209659118815028241261884473641743249943327742153239457835797327968951309797048294452615180642148034555386426707133559881597402129344211328858437879086002407884815455554459110168226944327736957475949502745197111669234473772060206963956180027573312226896600886564905314903962565137610154801977996748419338950360951484144617405120750580170852874477626947502672740296922333948167846688453569814147067880016069271392947925619341023223494490227583142636207900137800155510417317233933129065010407620978770293817365989972795233619087809324573453933824632217569329039504859501216171628021248010857327048742795511653428753817507381047751948028991574670911659419677158776266105896922903746790890890720036343904089636188349845349204582079799232611636333101788688618716079613864594127503298146591529626949545999666774716692703483990936925092070249115994810309591595330654661714049157295734424017278345730335593299777684736404824129897815678758013157150185851942008418607289358645790812062857215007590243385950237182408465848513951379050420229671907135866717321938987754288409312352883191898309890561789976671208246311933368260911001054339735561233777323004368620265152962521179211570588729110645279002054448118908696237044293269481748858014448937804259979129701336277350291342242800142398203876964356597249536493646830724829789216413094767582255056569374340186136069191624307558655019251260221457557286502184342513957049697449884448149054701023319556172698528056729702081538732638348728473733848300210934419879668408058355456158283113413390607801 115034377143344844950019051396526091600096669291654288953949166750814856333060954711717368420419136438461530435797005397093547680481881678089544144076005460826726843346488612686760362341493203073172097955931960041803554145221023624838365812494196467037129336346326634579435983486136179275094243709336638567554221908515683517481512644791773915237054117922732427737065249542039332632727726633114434600593527397988184770465516051580869452872746351838061055021509832039009925968997556304991898263352159373834605052931205865378599549262642028138346636822922938385790327905505242385309342510846690944517654804232944045961905518601483664726036147382233615992977010206381989749643500671428803102688332190970886231312586890964886188369215916574702765996258273725981747793092545481020477590855479226486248590726465734161548286754559497081032296355995415014872590943122382494013398911849672736240181583029926405018011591110715919030113520331630637652940922354234940708316906173780290917223740779068312690147741284743818572613997222317193938765385474080970301941357458408475777880310451084172753986720854573740560930160416165348124240948364621588132148805468918133833465076489137446509957028506166681406609874825739223717774239544980639942370297597032258632948049511675621494480408713760752791199340371311413862471541497281175705645236184894623575852710232508556815501578901460460133951539768588316463240440816570362145848927783383817183552956520391732771763574556640490059843298567332462103471973005227940173359030565924196583076089290113618758148693078255451948815984551218780677185951416345160010187697764957250319421592106140726134134580081627748695803 186129532092605993919938762185456024612225888191651089173664564862608854503758150022770537154929119810986062191006664515908575921743766151731287394019333202979966301182285940655711672138541497525787278598079994597189980852354583506435767941838407795895567215432329042464251439040595289443321188037073596043503724653712795186715986416851980879193234145496044654633666136106944647536690291770724589402571524146407523720826467535725486857993496932008913929499136779541682666265919890253159744951805729187981672932947275136771547474881983051361841127050506081021998228043305397895726659744779820009528062425211714339779271508574278898345123956706807069926801642423951318789148360172644974730709580201828213280055382402618314942186723297622454714025249848396893407212769704257286583487778382973277139481446502078065637922942909342430236878435794647626508924044911071112729478525714266863743479729621456031967557590777490635722817004322567562745011171470229751017908501504434952631272898074802736707426087015079411872391681958722018068663201152838983459091543310350484196487599809729963566049578069581330804316110653347756590089462316000638552378477376054000550787015476891734919269381389358579716500436615715894926020551478348900853371351936767819866725372516044241759633371234939964361788069481956692864525989616189871942689529454376372433867159170312816794631280237737810425293782568730714667117405173167611682342574614108646972769369615159315026820143930980676195912490191640020758491224265449397730645532750266710540125786739998066907203394101575008121514512607948482758724684054693888483921546065168184739301260514199081590292863195041139303604 301163909235950838869957813581982116212322557483305378127613731613423710836819104734487905575348256249447592626803669913002123602225647829820831538095338663806693144528774553342472034480034700598959376554011954638993534997575607131274133754332604262932696551778655677043687422526731468718415431746410234611057946562228478704197499061643754794430288263418777082370731385648983980169418018403839024003165051544395708491291983587306356310866243283846974984520646611580692592234917446558151643215157888561816277985878481002150147024144625079500187763873429019407788555948810640281036002255626510954045717229444658385741177027175762563071160104089040685919778652630333308538791860844073777833397912392799099511367969293583201130555939214197157480021508122122875155005862249738307061078633862199763388072172967812227186209697468839511269174791790062641381514988033453606742877437563939599983661312651382436985569181888206554752930524654198200397952093824464691726225407678215243548496638853871049397573828299823230445005679181039212007428586626919953761032900768758959974367910260814136320036298924155071365246271069513104714330410680622226684527282844972134384252091966029181429226409895525261123110311441455118643794791023329540795741649533800078499673422027719863254113779948700717152987409853268106726997531113471047648334765639270996009719869402821373610132859139198270559245322337319031130357845989737973828191502397492464156322326135551047798583718487621166255755788758972482861963197270677337904004563316190907123201876030111685665352087179830460070330497159167263435910635471039048494109243830125435058722852620339807724427443276668887999407 487293441328556832789896575767438140824548445674956467301278296476032565340577254757258442730277376060433654817810334428910699523969413981552118932114671866786659445711060493998183706618576198124746655152091949236183515849930190637709901696171012058828263767210984719507938861567326758161736619783483830654561671215941273890913485478495735673623522408914821737004397521755928627706108310174563613405736575690803232212118451123031843168859740215855888914019783391122375258500837336811311388166963617749797950918825756138921694499026608130862028890923935100429786783992116038176762662000406330963573779654656372725520448535750041461416284060795847755846580295054284627327940221016718752564107492594627312791423351696201516072742662511819612194046757970519768562218631953995593644566412245173040527553619469890292824132640378181941506053227584710267890439032944524719472355963278206463727141042272838468953126772665697190475747528976765763142963265294694442744133909182650196179769536928673786104999915314902642317397361139761230076091787779758937220124444079109444170855510070544099886085876993736402169562381722860861304419872996622865236905760221026134935039107442920916348495791284883840839610748057171013569815342501678441649113001470567898366398794543764105013747151183640681514775479335224799591523520729660919591024295093647368443587028573134190404764139376936080984539104906049745797475251162905585510534077011601111129091695750710362825403862418601842451668278950612503620454421536126735634650096066457617663327662770109752572555481281405468191845009767115746194635319525732936978030789895293619798024113134538889314720306471710027303011 788457350564507671659854389349420257036871003158261845428892028089456276177396359491746348305625632309881247444614004341912823126195061811372950470210010530593352590239835047340655741098610898723706031706103903875177050847505797768984035450503616321760960318989640396551626284094058226880152051529894065265619617778169752595110984540139490468053810672333598819375128907404912607875526328578402637408901627235198940703410434710338199479725983499702863898540430002703067850735754783369463031382121506311614228904704237141071841523171233210362216654797364119837575339940926678457798664256032841917619496884101031111261625562925804024487444164884888441766358947684617935866732081860792530397505404987426412302791320989784717203298601726016769674068266092642643717224494203733900705645046107372803915625792437702520010342337847021452775228019374772909271954020977978326215233400842146063710802354924220905938695954553903745228678053630963963540915359119159134470359316860865439728266175782544835502573743614725872762403040320800442083520374406678890981157344847868404145223420331358236206122175917891473534808652792373966018750283677245091921433043065998269319291199408950097777722201180409101962721059498626132213610133525007982444854651004367976866072216571483968267860931132341398667762889188492906318521051843131967239359060732918364453306897975955564014896998516134351543784427243368776927833097152643559338725579409093575285414021886261410623987580906223008707424067709584986482417618806804073538654659382648524786529538800221438237907568461235928262175506926283009630545954996771985472140033725419054856746965754878697039147749748378915302418 1275750791893064504449750965116858397861419448833218312730170324565488841517973614249004791035903008370314902262424338770823522650164475792925069402324682397380012035950895541338839447717187096848452686858195853111360566697435988406693937146674628380589224086200625116059565145661384985041888671313377895920181288994111026486024470018635226141677333081248420556379526429160841235581634638752966250814638202926002172915528885833370042648585723715558752812560213393825443109236592120180774419549085124061412179823529993279993536022197841341224245545721299220267362123933042716634561326256439172881193276538757403836782074098675845485903728225680736197612939242738902563194672302877511282961612897582053725094214672685986233276041264237836381868115024063162412279443126157729494350211458352545844443179411907592812834474978225203394281281246959483177162393053922503045687589364120352527437943397197059374891822727219600935704425582607729726683878624413853577214493226043515635908035712711218621607573658929628515079800401460561672159612162186437828201281788926977848316078930401902336092208052911627875704371034515234827323170156673867957158338803287024404254330306851871014126217992465292942802331807555797145783425476026686424093967652474935875232471011115248073281608082315982080182538368523717705910044572572792886830383355826565732896893926549089754419661137893070432528323532149418522725308348315549144849259656420694686414505717636971773449391443324824851159092346660197490102872040342930809173304755449106142449857201570331190810463049742641396454020516693398755825181274522504922450170823620712674654771078889417586353868056220088942605429 2064208142457572176109605354466278654898290451991480158159062352654945117695369973740751139341528640680196149707038343112736345776359537604298019872534692927973364626190730588679495188815797995572158718564299756986537617544941786175677972597178244702350184405190265512611191429755443211922040722843271961185800906772280779081135454558774716609731143753582019375754655336565753843457160967331368888223539830161201113618939320543708242128311707215261616711100643396528510959972346903550237450931206630373026408728234230421065377545369074551586462200518663340104937463873969395092359990512472014798812773422858434948043699661601649510391172390565624639379298190423520499061404384738303813359118302569480137397005993675770950479339865963853151542183290155805055996667620361463395055856504459918648358805204345295332844817316072224847056509266334256086434347074900481371902822764962498591148745752121280280830518681773504680933103636238693690224793983533012711684852542904381075636301888493763457110147402544354387842203441781362114243132536593116719182439133774846252461302350733260572298330228829519349239179687307608793341920440351113049079771846353022673573621506260821111903940193645702044765052867054423277997035609551694406538822303479303852098543227686732041549469013448323478850301257712210612228565624415924854069742416559484097350200824525045318434558136409204784072107959392787299653141445468192704187985235829788261699919739523233184073379024231047859866516414369782476585289659149734882711959414831754667236386740370552629048370618203877324716196023619681765455727229519276907922310857346131729511518044644296283393015805968467857907847 3339958934350636680559356319583137052759709900824698470889232677220433959213343587989755930377431649050511051969462681883559868426524013397223089274859375325353376662141626130018334636532985092420611405422495610097898184242377774582371909743852873082939408491390890628670756575416828196963929394156649857105982195766391805567159924577409942751408476834830439932134181765726595079038795606084335139038178033087203286534468206377078284776897430930820369523660856790353954069208939023731011870480291754434438588551764223701058913567566915892810707746239962560372299587807012111726921316768911187680006049961615838784825773760277494996294900616246360836992237433162423062256076687615815096320731200151533862491220666361757183755381130201689533410298314218967468276110746519192889406067962812464492801984616252888145679292294297428241337790513293739263596740128822984417590412129082851118586689149318339655722341408993105616637529218846423416908672607946866288899345768947896711544337601204982078717721061473982902922003843241923786402744698779554547383720922701824100777381281135162908390538281741147224943550721822843620665090597024981006238110649640047077827951813112692126030158186110994987567384674610220423780461085578380830632789955954239727331014238801980114831077095764305559032839626235928318138610196988717740900125772386049830247094751074135072854219274302275216600431491542205822378449793783741849037244892250482948114425457160204957522770467555872711025608761029979966688161699492665691885264170280860809686243941940883819858833667946518721170216540313080521280908504041781830372481680966844404166289123533713869746883862188556800513276 5404167076808208856668961674049415707658000352816178629048295029875379076908713561730507069718960289730707201676501024996296214202883551001521109147394068253326741288332356718697829825348783087992770123986795367084435801787319560758049882341031117785289592896581156141281948005172271408885970116999921818291783102538672584648295379136184659361139620588412459307888837102292348922495956573415704027261717863248404400153407526920786526905209138146081986234761500186882465029181285927281249321411498384807464997279998454122124291112935990444397169946758625900477237051680981506819281307281383202478818823384474273732869473421879144506686073006811985476371535623585943561317481072354118909679849502721013999888226660037528134234720996165542684952481604374772524272778366880656284461924467272383141160789820598183478524109610369653088394299779627995350031087203723465789493234894045349709735434901439619936552860090766610297570632855085117107133466591479879000584198311852277787180639489698745535827868464018337290764207285023285900645877235372671266566160056476670353238683631868423480688868510570666574182730409130452414007011037376094055317882495993069751401573319373513237934098379756697032332437541664643701777496695130075237171612259433543579429557466488712156380546109212629037883140883948138930367175821404642594969868188945533927597295575599180391288777410711480000672539450934993122031591239251934553225230128080271209814345196683438141596149491786920570892125175399762443273451358642400574597223585112615476922630682311436448907204286150396045886412563932762286736635733561058738294792538312976133677807168178010153139899668157024658421123 8744126011158845537228317993632552760417710253640877099937527707095813036122057149720263000096391938781218253645963706879856082629407564398744198422253443578680117950473982848716164461881768180413381529409290977182333986029697335340421792084883990868229001387972046769952704580589099605849899511156571675397765298305064390215455303713594602112548097423242899240023018868018944001534752179500039166299895896335607686687875733297864811682106569076902355758422356977236419098390224951012261191891790139241903585831762677823183204680502906337207877692998588460849536639487993618546202624050294390158824873346090112517695247182156639502980973623058346313363773056748366623573557759969934006000580702872547862379447326399285317990102126367232218362779918593739992548889113399849173867992430084847633962774436851071624203401904667081329732090292921734613627827332546450207083647023128200828322124050757959592275201499759715914208162073931540524042139199426745289483544080800174498724977090903727614545589525492320193686211128265209687048621934152225813949880979178494454016064913003586389079406792311813799126281130953296034672101634401075061555993145633116829229525132486205363964256565867692019899822216274864125557957780708456067804402215387783306760571705290692271211623204976934596915980510184067248505786018393360335869993961331583757844390326673315464142996685013755217272970942477198944410041033035676402262475020330754157928770653843643099118919959342793281917733936429742409961613058135066266482487755393476286608874624252320268766037954096914767056629104245842808017544237602840568667274219279820537844096291711724022886783530345581458934399 14148293087967054393897279667681968468075710606457055728985822736971192113030770711450770069815352228511925455322464731876152296832291115400265307569647511832006859238806339567413994287230551268406151653396086344266769787817016896098471674425915108653518594284553202911234652585761371014735869628156493493689548400843736974863750682849779261473687718011655358547911855970311292924030708752915743193561613759584012086841283260218651338587315707222984341993183857164118884127571510878293510513303288524049368583111761131945307495793438896781605047639757214361326773691168975125365483931331677592637643696730564386250564720604035784009667046629870331789735308680334310184891038832324052915680430205593561862267673986436813452224823122532774903315261522968512516821667480280505458329916897357230775123564257449255102727511515036734418126390072549729963658914536269915996576881917173550538057558952197579528828061590526326211778794929016657631175605790906624290067742392652452285905616580602473150373457989510657484450418413288495587694499169524897080516041035655164807254748544872009869768275302882480373309011540083748448679112671777169116873875641626186580631098451859718601898354945624389052232259757939507827335454475838531304976014474821326886190129171779404427592169314189563634799121394132206178872961839798002930839862150277117685441685902272495855431774095725235217945510393412192066441632272287610955487705148411025367743115850527081240715069451129713852809859111829504853235064416777466841079711340506091763531505306563756717673242240247310812943041668178605094754179971163899306962066757592796671521903459889734176026683198502606117355522 22892419099125899931125597661314521228493420860097932828923350444067005149152827861171033069911744167293143708968428438756008379461698679799009505991900955410686977189280322416130158749112319448819533182805377321449103773846714231438893466510799099521747595672525249681187357166350470620585769139313065169087313699148801365079205986563373863586235815434898257787934874838330236925565460932415782359861509655919619773529158993516516150269422276299886697751606214141355303225961735829305771705195078663291272168943523809768490700473941803118812925332755802822176310330656968743911686555381971982796468570076654498768259967786192423512648020252928678103099081737082676808464596592293986921681010908466109724647121312836098770214925248900007121678041441562252509370556593680354632197909327442078409086338694300326726930913419703815747858480365471464577286741868816366203660528940301751366379683002955539121103263090286042125986957002948198155217744990333369579551286473452626784630593671506200764919047515002977678136629541553705274743121103677122894465922014833659261270813457875596258847682095194294172435292671037044483351214306178244178429868787259303409860623584345923965862611511492081072132081974214371952893412256546987372780416690209110192950700877070096698803792519166498231715101904316273427378747858191363266709856111608701443286076228945811319574770780738990435218481335889391010851673305323287357750180168741779525671886504370724339833989410472507134727593048259247263196677474912533107562199095899568050140379930816076986439280194344225579999670772424447902771724208766739875629340976872617209365999751601458198913466728848187576289921 37040712187092954325022877328996489696569131466554988557909173181038197262183598572621803139727096395805069164290893170632160676293989795199274813561548467242693836428086661983544153036342870717225684836201463665715873561663731127537365140936714208175266189957078452592422009752111841635321638767469558662776862099992538339942956669413153125059923533446553616335846730808641529849596169685331525553423123415503631860370442253735167488856737983522871039744790071305474187353533246707599282218498367187340640752055284941713798196267380699900417972972513017183503084021825943869277170486713649575434112266807218885018824688390228207522315066882799009892834390417416986993355635424618039837361441114059671586914795299272912222439748371432782024993302964530765026192224073960860090527826224799309184209902951749581829658424934740550165984870438021194540945656405086282200237410857475301904437241955153118649931324680812368337765751931964855786393350781239993869619028866105079070536210252108673915292505504513635162587047954842200862437620273202019974981963050488824068525562002747606128615957398076774545744304211120792932030326977955413295303744428885489990491722036205642567760966457116470124364341732153879780228866732385518677756431165030437079140830048849501126395961833356061866514223298448479606251709697989366197549718261885819128727762131218307175006544876464225653163991729301583077293305577610898313237885317152804893415002354897805580549058861602220987537452160088752116431741891689999948641910436405659813671885237379833704112522434591536392942712440603052997525904179930639182591407734465413880887903211491192374940149927350793693645443 59933131286218854256148474990311010925062552326652921386832523625105202411336426433792836209638840563098212873259321609388169055755688474998284319553449422653380813617366984399674311785455190166045218019006840987164977335510445358976258607447513307697013785629603702273609366918462312255907407906782623831864175799141339705022162655976526988646159348881451874123781605646971766775161630617747307913284633071423251633899601247251683639126160259822757737496396285446829490579494982536905053923693445850631912920998808751482288896741322503019230898305268820005679394352482912613188857042095621558230580836883873383787084656176420631034963087135727687995933472154499663801820232016912026759042452022525781311561916612109010992654673620332789146671344406093017535562780667641214722725735552241387593296241646049908556589338354444365913843350803492659118232398273902648403897939797777053270816924958108657771034587771098410463752708934913053941611095771573363449170315339557705855166803923614874680211553019516612840723677496395906137180741376879142869447885065322483329796375460623202387463639493271068718179596882157837415381541284133657473733613216144793400352345620551566533623577968608551196496423706368251733122278988932506050536847855239547272091530925919597825199754352522560098229325202764753033630457556180729464259574373494520572013838360164118494581315657203216088382473065190974088144978882934185670988065485894584419086888859268529920383048272074728122265045208347999379628419366602533056204109532305227863812265168195910690551802628935761972942383213027500900297628388697379058220748711338031090253902963092650573853616656198981269935364 96973843473311808581171352319307500621631683793207909944741696806143399673520025006414639349365936958903282037550214780020329732049678270197559133114997889896074650045453646383218464821798060883270902855208304652880850897174176486513623748384227515872279975586682154866031376670574153891229046674252182494641037899133878044965119325389680113706082882328005490459628336455613296624757800303078833466707756486926883494270043500986851127982898243345628777241186356752303677933028229244504336142191813037972553673054093693196087093008703202919648871277781837189182478374308856482466027528809271133664693103691092268805909344566648838557278154018526697888767862571916650795175867441530066596403893136585452898476711911381923215094421991765571171664647370623782561755004741602074813253561777040696777506144597799490386247763289184916079828221241513853659178054678988930604135350655252355175254166913261776420965912451910778801518460866877909728004446552813357318789344205662784925703014175723548595504058524030248003310725451238106999618361650081162844429848115811307398321937463370808516079596891347843263923901093278630347411868262089070769037357645030283390844067656757209101384544425725021320860765438522131513351145721318024728293279020269984351232360974769098951595716185878621964743548501213232639882167254170095661809292635380339700741600491382425669587860533667441741546464794492557165438284460545083984225950803047389312501891214166335500932107133676949109802497368436751496060161258292533004846019968710887677484150405575744394664325063527298365885095653630553897823532568628018240812156445803444971141806174583842948793766583549774963580807 156906974759530662837319827309618511546694236119860831331574220431248602084856451440207475559004777522001494910809536389408498787805366745195843452668447312549455463662820630782892776607253251049316120874215145640045828232684621845489882355831740823569293761216285857139640743589036466147136454581034806326505213698275217749987281981366207102352242231209457364583409942102585063399919430920826141379992389558350135128169644748238534767109058503168386514737582642199133168512523211781409390065885258888604466594052902444678375989750025705938879769583050657194861872726791769095654884570904892691895273940574965652592994000743069469592241241154254385884701334726416314596996099458442093355446345159111234210038628523490934207749095612098360318335991776716800097317785409243289535979297329282084370802386243849398942837101643629281993671572045006512777410452952891579008033290453029408446071091871370434192000500223009189265271169801790963669615542324386720767959659545220490780869818099338423275715611543546860844034402947634013136799103026960305713877733181133790728118312923994010903543236384618911982103497975436467762793409546222728242770970861175076791196413277308775635008122394333572517357189144890383246473424710250530778830126875509531623323891900688696776795470538401182062972873703977985673512624810350825126068867008874860272755438851546544164169176190870657829928937859683531253583263343479269655214016288941973731588780073434865421315155405751677232067542576784750875688580624895066061050129501016115541296415573771655085216127692463060338827478866658054798121160957325397299032905157141476061395709137676493522647383239748756233516171 253880818232842471418491179628926012168325919913068741276315917237392001758376476446622114908370714480904776948359751169428828519855045015393402585783445202445530113708274277166111241429051311932587023729423450292926679129858798332003506104215968339441573736802968012005672120259610620038365501255286988821146251597409095794952401306755887216058325113537462855043038278558198360024677231223904974846700146045277018622439688249225385895091956746514015291978768998951436846445551441025913726208077071926577020267106996137874463082758728908858528640860832494384044351101100625578120912099714163825559967044266057921398903345309718308149519395172781083773469197298332965392171966899972159951850238295696687108515340434872857422843517603863931490000639147340582659072790150845364349232859106322781148308530841648889329084864932814198073499793286520366436588507631880509612168641108281763621325258784632210612966412674919968066789630668668873397619988877200078086749003750883275706572832275061971871219670067577108847345128398872120136417464677041468558307581296945098126440250387364819419622833275966755246027399068715098110205277808311799011808328506205360182040480934065984736392666820058593838217954583412514759824570431568555507123405895779515974556252875457795728391186724279804027716422205191218313394792064520920787878159644255199973497039342928969833757036724538099571475402654176088419021547804024353639439967091989363044090671287601200922247262539428626341870039945221502371748741883187599065896149469727003218780565979347399479880452755990358704712574520288608695944693525953415539845061602944921032537515312260336471441149823298531197096978 410787792992373134255811006938544523715020156032929572607890137668640603843232927886829590467375492002906271859169287558837327307660411760589246038451892514994985577371094907949004018036304562981903144603638595932972507362543420177493388460047709163010867498019253869145312863848647086185501955836321795147651465295684313544939683288122094318410567344746920219626448220660783423424596662144731116226692535603627153750609332997463920662201015249682401806716351641150570014958074652807323116273962330815181486861159898582552839072508754614797408410443883151578906223827892394673775796670619056517455240984841023573991897346052787777741760636327035469658170532024749279989168066358414253307296583454807921318553968958363791630592613215962291808336630924057382756390575560088653885212156435604865519110917085498288271921966576443480067171365331526879213998960584772088620201931561311172067396350656002644804966912897929157332060800470459837067235531201586798854708663296103766487442650374400395146935281611123969691379531346506133273216567704001774272185314478078888854558563311358830323166069660585667228130897044151565872998687354534527254579299367380436973236894211374760371400789214392166355575143728302898006297995141819086285953532771289047597880144776146492505186657262680986090689295909169203986907416874871745913947026653130060246252478194475513997926212915408757401404340513859619672604811147503623294653983380931336775679451361036066343562417945180303573937582522006253247437322508082665126946278970743118760076981553119054565096580448453419043540053386946663494065854483278812838877966760086397093933224449936829994088533063047287430613149 664668611225215605674302186567470535883346075945998313884206054906032605601609404333451705375746206483811048807529038728266155827515456775982648624235337717440515691079369185115115259465355874914490168333062046225899186492402218509496894564263677502452441234822221881150984984108257706223867457091608783968797716893093409339892084594877981534468892458284383074669486499218981783449273893368636091073392681648904172373049021246689306557292971996196417098695120640102006861403626093833236842482039402741758507128266894720427302155267483523655937051304715645962950574928993020251896708770333220343015208029107081495390800691362506085891280031499816553431639729323082245381340033258386413259146821750504608427069309393236649053436130819826223298337270071397965415463365710934018234445015541927646667419447927147177601006831509257678140671158618047245650587468216652598232370572669592935688721609440634855417933325572849125398850431139128710464855520078786876941457667046987042194015482649462367018154951678701078538724659745378253409634032381043242830492895775023986980998813698723649742788902936552422474158296112866663983203965162846326266387627873585797155277375145440745107793456034450760193793098311715412766122565573387641793076938667068563572436397651604288233577843986960790118405718114360422300302208939392666701825186297385260219749517537404483831683249639946856972879743168035708091626358951527976934093950472920699819770122648637267265809680484608929915807622467227755619186064391270264192842428440470121978857547532466454044977033204443777748252627907235272190010548009232228378723028363031318126470739762197166465529682886345818627710127 1075456404217588739930113193506015059598366231978927886492096192574673209444842332220281295843121698486717320666698326287103483135175868536571894662687230232435501268450464093064119277501660437896393312936700642158871693854945638686990283024311386665463308732841475750296297847956904792409369412927930579116449182188777722884831767883000075852879459803031303294295934719879765206873870555513367207300085217252531326123658354244153227219493987245878818905411472281252576876361700746640559958756001733556939993989426793302980141227776238138453345461748598797541856798756885414925672505440952276860470449013948105069382698037415293863633040667826852023089810261347831525370508099616800666566443405205312529745623278351600440684028744035788515106673900995455348171853941271022672119657171977532512186530365012645465872928798085701158207842523949574124864586428801424686852572504230904107756117960096637500222900238470778282730911231609588547532091051280373675796166330343090808681458133023862762165090233289825048230104191091884386682850600085045017102678210253102875835557377010082480065954972597138089702289193157018229856202652517380853520966927240966234128514269356815505479194245248842926549368242040018310772420560715206728079030471438357611170316542427750780738764501249641776209095014023529626287209625814264412615772212950515320466001995731879997829609462555355614374284083681895327764231170099031600228747933853852036595449574009673333609372098429789233489745204989234008866623386899352929319788707411213240738934529085585508610073613652897196791792681294181935684076402492511041217600995123117715220403964212133996459618215949393106058323276 1740125015442804345604415380073485595481712307924926200376302247480705815046451736553733001218867904970528369474227365015369638962691325312554543286922567949876016959529833278179234536967016312810883481269762688384770880347347857196487177588575064167915749967663697631447282832065162498633236870019539363085246899081871132224723852477878057387348352261315686368965421219098746990323144448882003298373477898901435498496707375490842533776786959242075236004106592921354583737765326840473796801238041136298698501117693688023407443383043721662109282513053314443504807373685878435177569214211285497203485657043055186564773498728777799949524320699326668576521449990670913770751848132875187079825590226955817138172692587744837089737464874855614738405011171066853313587317306981956690354102187519460158853949812939792643473935629594958836348513682567621370515173897018077285084943076900497043444839569537272355640833564043627408129761662748717257996946571359160552737623997390077850875473615673325129183245184968526126768828850837262640092484632466088259933171106028126862816556190708806129808743875533690512176447489269884893839406617680227179787354555114552031283791644502256250586987701283293686743161340351733723538543126288594369872107410105426174742752940079355068972342345236602566327500732137890048587511834753657079317597399247900580685751513269284481661292712195302471347163826849931035855857529050559577162841884326772736415219696658310600875181778914398163405552827456461764485809451290623193512631135851683362717792076618051962655050646857340974540045309201417207874086950501743269596324023486149033346874703974331162925147898835738924686033403 2815581419660393085534528573579500655080078539903854086868398440055379024491294068774014297061989603457245690140925691302473122097867193849126437949609798182311518227980297371243353814468676750707276794206463330543642574202293495883477460612886450833379058700505173381743580680022067291042606282947469942201696081270648855109555620360878133240227812064346989663261355938978512197197015004395370505673563116153966824620365729734995760996280946487954054909518065202607160614127027587114356759994042869855638495107120481326387584610819959800562627974801913241046664172442763850103241719652237774063956106057003291634156196766193093813157361367153520599611260252018745296122356232491987746392033632161129667918315866096437530421493618891403253511685072062308661759171248252979362473759359496992671040480177952438109346864427680659994556356206517195495379760325819501971937515581131401151200957529633909855863733802514405690860672894358305805529037622639534228533790327733168659556931748697187891348335418258351174998933041929147026775335232551133277035849316281229738652113567718888609874698848130828601878736682426903123695609270197608033308321482355518265412305913859071756066181946532136613292529582391752034310963687003801097951137881543783785913069482507105849711106846486244342536595746161419674874721460567921491933369612198415901151753509001164479490902174750658085721447910531826363620088699149591177391589818180624773010669270667983934484553877344187396895298032445695773352432838189976122832419843262896603456726605703637471265124260510238171331837990495599143558163352994254310813925018609266748567278668186465159384766114785132030744356679 4555706435103197431138943953652986250561790847828780287244700687536084839537745805327747298280857508427774059615153056317842761060558519161680981236532366132187535187510130649422588351435693063518160275476226018928413454549641353079964638201461515001294808668168871013190863512087229789675843152967009305286942980352519987334279472838756190627576164325662676032226777158077259187520159453277373804047041015055402323117073105225838294773067905730029290913624658123961744351892354427588153561232084006154336996224814169349795027993863681462671910487855227684551471546128642285280810933863523271267441763100058478198929695494970893762681682066480189176132710242689659066874204365367174826217623859116946806091008453841274620158958493747017991916696243129161975346488555234936052827861547016452829894429990892230752820800057275618830904869889084816865894934222837579257022458658031898194645797099171182211504567366558033098990434557107023063525984193998694781271414325123246510432405364370513020531580603226877301767761892766409666867819865017221536969020422309356601468669758427694739683442723664519114055184171696788017535015887877835213095676037470070296696097558361328006653169647815430300035690922743485757849506813292395467823245291649209960655822422586460918683449191722846908864096478299309723462233295321578571250967011446316481837505022270448961152194886945960557068611737381757399475946228200150754554431702507397509425888967326294535359735656258585560300850859902157537838242289480599316345050979114579966174518682321689433920174907367579145871883299697016351432250303495997580410249042095415781914153372160796322309914013620870955430390082 7371287854763590516673472527232486905641869387732634374113099127591463864029039874101761595342847111885019749756078747620315883158425713010807419186142164314499053415490428020665942165904369814225437069682689349472056028751934848963442098814347965834673867368674044394934444192109297080718449435914479247488639061623168842443835093199634323867803976390009665695488133097055771384717174457672744309720604131209369147737438834960834055769348852217983345823142723326568904966019382014702510321226126876009975491331934650676182612604683641263234538462657140925598135718571406135384052653515761045331397869157061769833085892261163987575839043433633709775743970494708404362996560597859162572609657491278076474009324319937712150580452112638421245428381315191470637105659803487915415301620906513445500934910168844668862167664484956278825461226095602012361274694548657081228959974239163299345846754628805092067368301169072438789851107451465328869055021816638229009805204652856415169989337113067700911879916021485228476766694934695556693643155097568354814004869738590586340120783326146583349558141571795347715933920854123691141230625158075443246403997519825588562108403472220399762719351594347566913328220505135237792160470500296196565774383173192993746568891905093566768394556038209091251400692224460729398336954755889500063184336623644732382989258531271613440643097061696618642790059647913583763096034927349741931946021520688022282436558237994278469844289533602772957196148892347853311190675127670575439177470822377476569631245288025326905185299167877817317203721290192615494990413656490251891224174060704682530481432040347261481694680128406002986174746761 11926994289866787947812416480885473156203660235561414661357799815127548703566785679429508893623704620312793809371231803938158644218984232172488400422674530446686588603000558670088530517340062877743597345158915368400469483301576202043406737015809480835968676036842915408125307704196526870394292588881488552775582041975688829778114566038390514495380140715672341727714910255133030572237333910950118113767645146264771470854511940186672350542416757948012636736767381450530649317911736442290663882458210882164312487556748820025977640598547322725906448950512368610149607264700048420664863587379284316598839632257120248032015587756134881338520725500113898951876680737398063429870764963226337398827281350395023280100332773778986770739410606385439237345077558320632612452148358722851468129482453529898330829340159736899614988464542231897656366095984686829227169628771494660485982432897195197540492551727976274278872868535630471888841542008572351932581006010636923791076618977979661680421742477438213932411496624712105778534456827461966360510974962585576350973890160899942941589453084574278089241584295459866829989105025820479158765641045953278459499673557295658858804501030581727769372521242162997213363911427878723550009977313588592033597628464842203707224714327680027687078005229931938160264788702760039121799188051211078634435303635091048864826763553542062401795291948642579199858671385295341162571981155549892686500453223195419791862447205320573005204025189861358517496999752250010849028917417151174755522521801492056535805763970347016339105474075245396463075604589889631846422663959986249471634423102800098312395585412508057804004594142026873941605136843 19298282144630378464485889008117960061845529623294049035470898942719012567595825553531270488966551732197813559127310551558474527377409945183295819608816694761185642018490986690754472683244432691969034414841604717872525512053511051006848835830157446670642543405516959803059751896305823951112742024795967800264221103598857672221949659238024838363184117105682007423203043352188801956954508368622862423488249277474140618591950775147506406311765610165995982559910104777099554283931118456993174203684337758174287978888683470702160253203230963989140987413169509535747742983271454556048916240895045361930237501414182017865101480017298868914359768933747608727620651232106467792867325561085499971436938841673099754109657093716698921319862719023860482773458873512103249557808162210766883431103360043343831764250328581568477156129027188176481827322080288841588444323320151741714942407136358496886339306356781366346241169704702910678692649460037680801636027827275152800881823630836076850411079590505914844291412646197334255301151762157523054154130060153931164978759899490529281710236410720861438799725867255214545923025879944170299996266204028721705903671077121247420912904502802127532091872836510564126692131933013961342170447813884788599372011638035197453793606232773594455472561268141029411665480927220768520136142807100578697619640258735781247816022084813675842438389010339197842648731033208924925668016082899634618446474743883442074299005443314851475048314723464131474693148644597864160219592544821750194699992623869533105437009258372343244290773243123213780279325880082247341413077616476501362858597163504780842877017452855319285699274270432876927779883604 31225276434497166412298305489003433218049189858855463696828698757846561271162611232960779382590256352510607368498542355496633171596394177355784220031491225207872230621491545360843003200584495569712631760000520086272994995355087253050255572845966927506611219442359875211185059600502350821507034613677456353039803145574546502000064225276415352858564257821354349150917953607321832529191842279572980537255894423738912089446462715334178756854182368114008619296677486227630203601842854899283838086142548640338600466445432290728137893801778286715047436363681878145897350247971502976713779828274329678529077133671302265897117067773433750252880494433861507679497331969504531222738090524311837370264220192068123034209989867495685692059273325409299720118536431832735862009956520933618351560585813573242162593590488318468092144593569420074138193418064975670815613952091646402200924840033553694426831858084757640625114038240333382567534191468610032734217033837912076591958442608815738530832822067944128776702909270909440033835608589619489414665105022739507515952650060390472223299689495295139528041310162715081375912130905764649458761907249982000165403344634416906279717405533383855301464394078673561340056043360892684892180425127473380632969640102877401161018320560453622142550566498072967571930269629980807641935330858311657332054943893826830112642785638355738244233680958981777042507402418504266088239997238449527304946927967078861866161452648635424480252339913325489992190148396847875009248509961972924950222514425361589641242773228719359583396247318368610243354930469971879187835741576462750834493020266304879155272602865363377089703868412459750869385020447 50523558579127544876784194497121393279894719482149512732299597700565573838758436786492049871556808084708420927625852907055107698973804122539080039640307919969057872639982532051597475883828928261681666174842124804145520507408598304057104408676124374177253762847876835014244811496808174772619776638473424153304024249173404174222013884514440191221748374927036356574120996959510634486146350648195842960744143701213052708038413490481685163165947978280004601856587591004729757885773973356277012289826886398512888445334115761430298147005009250704188423776851387681645093231242957532762696069169375040459314635085484283762218547790732619167240263367609116407117983201610999015605416085397337341701159033741222788319646961212384613379136044433160202891995305344839111567764683144385234991689173616585994357840816900036569300722596608250620020740145264512404058275411798143915867247169912191313171164441539006971355207945036293246226840928647713535853061665187229392840266239651815381243901658450043620994321917106774289136760351777012468819235082893438680931409959881001505009925906016000966841036029970295921835156785708819758758173454010721871307015711538153700630310036185982833556266915184125466748175293906646234350872941358169232341651740912598614811926793227216598023127766213996983595750557201576162071473665412236029674584152562611360458807723169414086672069969320974885156133451713191013908013321349161923393402710962303940460458091950275955300654636789621466883297041445739169468102506794675144922507049231122746679782487091702827687020561491824023634256350054126529248819192939252197351617429809659998149620318218696375403142682892627797164904051 81748835013624711289082499986124826497943909341004976429128296458412135109921048019452829254147064437219028296124395262551740870570198299894864259671799145176930103261474077412440479084413423831394297934842644890418515502763685557107359981522091301683864982290236710225429871097310525594126811252150880506343827394747950676222078109790855544080312632748390705725038950566832467015338192927768823498000038124951964797484876205815863920020130346394013221153265077232359961487616828255560850375969435038851488911779548052158436040806787537419235860140533265827542443479214460509476475897443704718988391768756786549659335615564166369420120757801470624086615315171115530238343506609709174711965379225809345822529636828708070305438409369842459923010531737177574973577721204078003586552274987189828156951431305218504661445316166028324758214158210240183219672227503444546116792087203465885740003022526296647596469246185369675813761032397257746270070095503099305984798708848467553912076723726394172397697231188016214322972368941396501883484340105632946196884060020271473728309615401311140494882346192685377297747287691473469217520080703992722036710360345955059980347715569569838135020660993857686806804218654799331126531298068831549865311291843789999775830247353680838740573694264286964555526020187182383804006804523723893361729528046389441473101593361525152330905750928302751927663535870217457102148010559798689228340330678041165806621910740585700435552994550115111459073445438293614178716612468767600095145021474592712387922555715811062411083267879860434266989186820026005717084560769402003031844637696114539153422223183582073465107011095352378666549924498 132272393592752256165866694483246219777838628823154489161427894158977708948679484805944879125703872521927449223750248169606848569544002422433944299312107065145987975901456609464037954968242352093075964109684769694564036010172283861164464390198215675861118745138113545239674682594118700366746587890624304659647851643921354850444091994305295735302061007675427062299159947526343101501484543575964666458744181826165017505523289696297549083186078324674017823009852668237089719373390801611837862665796321437364377357113663813588734187811796788123424283917384653509187536710457418042239171966613079759447706403842270833421554163354898988587361021169079740493733298372726529253948922695106512053666538259550568610849283789920454918817545414275620125902527042522414085145485887222388821543964160806414151309272122118541230746038762636575378234898355504695623730502915242690032659334373378077053174186967835654567824454130405969059987873325905459805923157168286535377638975088119369293320625384844216018691553105122988612109129293173514352303575188526384877815469980152475233319541307327141461723382222655673219582444477182288976278254158003443908017376057493213680978025605755820968576927909041812273552393948705977360882171010189719097652943584702598390642174146908055338596822030500961539121770744383959966078278189136129391404112198952052833560401084694566417577820897623726812819669321930648116056023881147851151733733389003469747082368832535976390853649186904732925956742479739353348184714975562275240067528523823835134602338202902765238770288441352258290623443170080132246333379962341255229196255125924199151571843501800769840510153778245006463714828549 214021228606376967454949194469371046275782538164159465590556190617389844058600532825397708379850936959146477519874643432158589440114200722328808558983906210322918079162930686876478434052655775924470262044527414584982551512935969418271824371720306977544983727428350255465104553691429225960873399142775185165991679038669305526666170104096151279382373640423817768024198898093175568516822736503733489956744219951116982303008165902113413003206208671068031044163117745469449680861007629867398713041765756476215866268893211865747170228618584325542660144057917919336729980189671878551715647864056784478436098172599057383080889778919065358007481778970550364580348613543842059492292429304815686765631917485359914433378920618628525224255954784118080048913058779699989058723207091300392408096239147996242308260703427337045892191354928664900136449056565744878843402730418687236149451421576843962793177209494132302164293700315775644873748905723163206075993252671385841362437683936586923205397349111238388416388784293139202935081498234570016235787915294159331074699530000423948961629156708638281956605728415341050517329732168655758193798334861996165944727736403448273661325741175325659103597588902899499080356612603505308487413469079021268962964235428492598166472421500588894079170516294787926094647790931566343770085082712860022753133640245341494306661994446219718748483571825926478740483205192148105218204034440946540380074064067044635553704279573121676826406643737019844385030187918032967526901327444329875335212549998416547522524893918713827649853556321212692557612629990106137963417940731743258261040892822038738304994066685382843305617164873597385130264753047 346293622199129223620815888952617266053621166987313954751984084776367553007280017631342587505554809481073926743624891601765438009658203144762752858296013275468906055064387296340516389020898128017546226154212184279546587523108253279436288761918522653406102472566463800704779236285547926327619987033399489825639530682590660377110262098401447014684434648099244830323358845619518670018307280079698156415488401777281999808531455598410962086392286995742048867172970413706539400234398431479236575707562077913580243626006875679335904416430381113666084427975302572845917516900129296593954819830669864237883804576441328216502443942273964346594842800139630105074081911916568588746241351999922198819298455744910483044228204408548980143073500198393700174815585822222403143868692978522781229640203308802656459569975549455587122937393691301475514683954921249574467133233333929926182110755950222039846351396461967956732118154446181613933736779049068665881916409839672376740076659024706292498717974496082604435080337398262191547190627527743530588091490482685715952514999980576424194948698015965423418329110637996723736912176645838047170076589019999609852745112460941487342303766781081480072174516811941311353909006552211285848295640089210988060617179013195196557114595647496949417767338325288887633769561675950303736163360901996152144537752444293547140222395530914285166061392723550205553302874514078753334260058322094391531807797456048105300786648405657653217260292923924577310986930397772320875086042419892150575280078522240382657127232121616592888623844762564950848236073160186270209751320694084513490237147947962937456565910187183613146127318651842391593979581596 560314850805506191075765083421988312329403705151473420342540275393757397065880550456740295885405746440220404263499535033924027449772403867091561417279919485791824134227317983216994823073553903942016488198739598864529139036044222697708113133638829630951086199994814056169883789976977152288493386176174674991631209721259965903776432202497598294066808288523062598347557743712694238535130016583431646372232621728398982111539621500524375089598495666810079911336088159175989081095406061346635288749327834389796109894900087545083074645048965439208744572033220492182647497089801175145670467694726648716319902749040385599583333721193029704602324579110180469654430525460410648238533781304737885584930373230270397477607125027177505367329454982511780223728644601922392202591900069823173637736442456798898767830678976792633015128748619966375651133011486994453310535963752617162331562177527066002639528605956100258896411854761957258807485684772231871957909662511058218102514342961293215704115323607320992851469121691401394482272125762313546823879405776845047027214529981000373156577854724603705374934839053337774254241908814493805363874923881995775797472848864389761003629507956407139175772105714840810434265619155716594335709109168232257023581414441687794723587017148085843496937854620076813728417352607516647506248443614856174897671392689635041446884389977134003914544964549476684293786079706226858552464092763040931911881861523092740854490927978779330043666936660944421696017118315805288401987369864222025910492628520656930179652126040330420538477401083777643405848703150292408173169261425827771751278040770001675761559976872566456451744483525439776724244334643 906608473004635414696580972374605578383024872138787375094524360170124950073160568088082883390960555921294331007124426635689465459430607011854314275575932761260730189291705279557511212094452031959562714352951783144075726559152475977144401895557352284357188672561277856874663026262525078616113373209574164817270740403850626280886694300899045308751242936622307428670916589332212908553437296663129802787721023505680981920071077098935337175990782662552128778509058572882528481329804492825871864456889912303376353520906963224418979061479346552874829000008523065028565013989930471739625287525396512954203707325481713816085777663466994051197167379249810574728512437376979236984775133304660084404228828975180880521835329435726485510402955180905480398544230424144795346460593048345954867376645765601555227400654526248220138066142311267851165816966408244027777669197086547088513672933477288042485880002418068215628530009208138872741222463821300537839826072350730594842591001985999508202833298103403597286549459089663586029462753290057077411970896259530762979729529961576797351526552740569128793263949691334497991154085460331852533951512901995385650217961325331248345933274737488619247946622526782121788174625707927880184004749257443245084198593454882991280701612795582792914705192945365701362186914283466951242411804516852327042209145133928588587106785508048289080606357273026889847088954220305611886724151085135323443689658979140846155277576384436983260927229584868999007004048713577609277073412284114176485772707042897312836779358161947013427101245846342594254084776310478678382920582119912285241515188717964613218125887059750069597871802177282168318223916239 1466923323810141605772346055796593890712428577290260795437064635563882347139041118544823179276366302361514735270623961669613492909203010878945875692855852247052554323519023262774506035168005935901579202551691382008604865595196698674852515029196181915308274872556091913044546816239502230904606759385748839808901950125110592184663126503396643602818051225145370027018474333044907147088567313246561449159953645234079964031610698599459712265589278329362208689845146732058517562425210554172507153206217746693172463415807050769502053706528311992083573572041743557211212511079731646885295755220123161670523610074522099415669111384660023755799491958359991044382942962837389885223308914609397969989159202205451277999442454462903990877732410163417260622272875026067187549052493118169128505113088222400453995231333503040853153194890931234226816949977895238481088205160839164250845235111004354045125408608374168474524941863970096131548708148593532409797735734861788812945105344947292723906948621710724590138018580781064980511734879052370624235850302036375810006944059942577170508104407465172834168198788744672272245395994274825657897826436783991161447690810189721009349562782693895758423718728241622932222440244863644474519713858425675502107780007896570786004288629943668636411643047565442515090604266890983598748660248131708501939880537823563630033991175485182292995151321822503574140875033926532470439188243848176255355571520502233587009768504363216313304594166245813420703021167029382897679060782148336202396265335563554243016431484202277433965578646930120237659933479460771086556089843545740056992793229487966288979685863932316526049616285702721945042468250882 2373531796814777020468927028171199469095453449429048170531588995734007297212201686632906062667326858282809066277748388305302958368633617890800189968431785008313284512810728542332017247262457967861141916904643165152680592154349174651996916924753534199665463545117369769919209842502027309520720132595323004626172690528961218465549820804295688911569294161767677455689390922377120055642004609909691251947674668739760945951681775698395049441580060991914337468354205304941046043755015046998379017663107658996548816936714013993921032768007658544958402572050266622239777525069662118624921042745519674624727317400003813231754889048127017806996659337609801619111455400214369122208084047914058054393388031180632158521277783898630476388135365344322741020817105450211982895513086166515083372489733988002009222631988029289073291261033242502077982766944303482508865874357925711339358908044481642087611288610792236690153471873178235004289930612414832947637561807212519407787696346933292232109781919814128187424568039870728566541197632342427701647821198295906572986673589904153967859630960205741962961462738436006770236550079735157510431777949685986547097908771515052257695496057431384377671665350768405054010614870571572354703718607683118747191978601351453777284990242739251429326348240510808216452791181174450549991072052648560828982089682957492218621097960993230582075757679095530463987963988146838082325912394933311578799261179481374433165046080747653296565521395830682419710025215742960506956134194432450378882038042606451555853210842364224447392679892776462831914018255771249764939010425665652342234308418205930902197811750992066595647488087880004113360692167121 3840455120624918626241273083967793359807882026719308965968653631297889644351242805177729241943693160644323801548372349974916451277836628769746065661287637255365838836329751805106523282430463903762721119456334547161285457749545873326849431953949716114973738417673461682963756658741529540425326891981071844435074640654071810650212947307692332514387345386913047482707865255422027202730571923156252701107628313973840909983292474297854761707169339321276546158199352036999563606180225601170886170869325405689721280352521064763423086474535970537041976144092010179450990036149393765510216797965642836295250927474525912647424000432787041562796151295969792663494398363051759007431392962523456024382547233386083436520720238361534467265867775507740001643089980476279170444565579284684211877602822210402463217863321532329926444455924173736304799716922198720989954079518764875590204143155485996132736697219166405164678413737148331135838638761008365357435297542074308220732801691880584956016730541524852777562586620651793547052932511394798325883671500332282382993617649846731138367735367670914797129661527180679042481946074009983168329604386469977708545599581704773267045058840125280136095384079010027986233055115435216829223432466108794249299758609248024563289278872682920065737991288076250731543395448065434148739732300780269330921970220781055848655089136478412875070909000918034038128839022073370552765100638781487834154832699983608020174814585110869609870115562076495840413046382772343404635194976580786581278303378170005798869642326566501881358258539706583069573951735232020851495100269211392399227101647693897191177497614924383121697104373582726058403160418003 6213986917439695646710200112138992828903335476148357136500242627031896941563444491810635304611020018927132867826120738280219409646470246660546255629719422263679123349140480347438540529692921871623863036360977712313966049903895047978846348878703250314639201962790831452882966501243556849946047024576394849061247331183033029115762768111988021425956639548680724938397256177799147258372576533065943953055302982713601855934974249996249811148749400313190883626553557341940609649935240648169265188532433064686270097289235078757344119242543629082000378716142276801690767561219055884135137840711162510919978244874529725879178889480914059369792810633579594282605853763266128129639477010437514078775935264566715595041998022260164943654003140852062742663907085926491153340078665451199295250092556198404472440495309561618999735716957416238382782483866502203498819953876690586929563051199967638220347985829958641854831885610326566140128569373423198305072859349286827628520498038813877188126512461338980964987154660522522113594130143737226027531492698628188955980291239750885106227366327876656760091124265616685812718496153745140678761382336155964255643508353219825524740554897556664513767049429778433040243669986006789183927151073791912996491737210599478340574269115422171495064339528587058947996186629239884698730804353428830159904059903738548067276187097471643457146666680013564502116803010220208635091013033714799412954093879464982453339860665858522906435636957907178260123071598515303911591329171013236960160341420776457354722853168930726328750938432483045901487969991003270616434110694877044741461410065899828093375309365916449717344592461462730171763852585124 10054442038064614272951473196106786188711217502867666102468896258329786585914687296988364546554713179571456669374493088255135860924306875430292321291007059519044962185470232152545063812123385775386584155817312259475251507653440921305695780832652966429612940380464293135846723159985086390371373916557466693496321971837104839765975715419680353940343984935593772421105121433221174461103148456222196654162931296687442765918266724294104572855918739634467429784752909378940173256115466249340151359401758470375991377641756143520767205717079599619042354860234286981141757597368449649645354638676805347215229172349055638526602889913701100932588961929549386946100252126317887137070869972960970103158482497952799031562718260621699410919870916359802744306997066402770323784644244735883507127695378408806935658358631093948926180172881589974687582200788700924488774033395455462519767194355453634353084683049125047019510299347474897275967208134431563662508156891361135849253299730694462144143243002863833742549741281174315660647062655132024353415164198960471338973908889597616244595101695547571557220785792797364855200442227755123847090986722625941964189107934924598791785613737681944649862433508788461026476725101442006013150583539900707245791495819847502903863547988105091560802330816663309679539582077305318847470536654209099490826030124519603915931276233950056332217575680931598540245642032293579187856113672496287247108926579448590473514675250969392516305752519983674100536117981287647316226524147594023541438644798946463153592495495497228210109196972189628971061921726235291467929210964088437140688511713593725284552806980840832839041696835045456230167013003127 16268428955504309919661673308245779017614552979016023238969138885361683527478131788798999851165733198498589537200613826535355270570777122090838576920726481782724085534610712499983604341816307647010447192178289971789217557557335969284542129711356216744252142343255124588729689661228643240317420941133861542557569303020137868881738483531668375366300624484274497359502377611020321719475724989288140607218234279401044621853240974290354384004668139947658313411306466720880782906050706897509416547934191535062261474930991222278111324959623228701042733576376563782832525158587505533780492479387967858135207417223585364405781779394615160302381772563128981228706105889584015266710346983398484181934417762519514626604716282881864354573874057211865486970904152329261477124722910187082802377787934607211408098853940655567925915889839006213070364684655203127987593987272146049449330245555421272573432668879083688874342184957801463416095777507854761967581016240647963477773797769508339332269755464202814707536895941696837774241192798869250380946656897588660294954200129348501350822468023424228317311910058414050667918938381500264525852369058781906219832616288144424316526168635238609163629482938566894066720395087448795197077734613692620242283233030446981244437817103527263055866670345250368627535768706545203546201341007637929650730090028258151983207463331421699789364242360945163042362445042513787822947126706211086660063020458913572926854535916827915422741389477890852360659189579802951227817853318607260501598986219722920508315348664427954538860135404672674872549891717238562084363321658965481882149921779493553377928116346757282556386289296508186401930865588251 26322870993568924192613146504352565206325770481883689341438035143691470113392819085787364397720446378070046206575106914790491131495083997521130898211733541301769047720080944652528668153939693422397031347995602231264469065210776890590237910544009183173865082723719417724576412821213729630688794857691328236053891274857242708647714198951348729306644609419868269780607499044241496180578873445510337261381165576088487387771507698584458956860586879582125743196059376099820956162166173146849567907335950005438252852572747365798878530676702828320085088436610850763974282755955955183425847118064773205350436589572641002932384669308316261234970734492678368174806358015901902403781216956359454285092900260472313658167434543503563765493744973571668231277901218732031800909367154922966309505483313016018343757212571749516852096062720596187757946885443904052476368020667601511969097439910874906926517351928208735893852484305276360692062985642286325630089173132009099327027097500202801476412998467066648450086637222871153434888255454001274734361821096549131633928109018946117595417569718971799874532695851211415523119380609255388372943355781407848184021724223069023108311782372920553813491916447355355093197120188890801210228318153593327488074728850294484148301365091632354616669001161913678307075350783850522393671877661847029141556120152777755899138739565371756121581818041876761582608087074807367010803240378707373907171947038362163400369211167797307939047141997874526461195307561090598544044377466201284043037631018669383661907844159925182748969332376862303843611813443473853552292532623053919022838433493087278662480923327598115395427986131553642632097878591378 42591299949073234112274819812598344223940323460899712580407174029053153640870950874586364248886179576568635743775720741325846402065861119611969475132460023084493133254691657152512272495756001069407478540173892203053686622768112859874780040255365399918117225066974542313306102482442372871006215798825189778611460577877380577529452682483017104672945233904142767140109876655261817900054598434798477868599399855489532009624748672874813340865255019529784056607365842820701739068216880044358984455270141540500514327503738588076989855636326057021127822012987414546806807914543460717206339597452741063485644006796226367338166448702931421537352507055807349403512463905485917670491563939757938467027318022991828284772150826385428120067619030783533718248805371061293278034090065110049111883271247623229751856066512405084778011952559602400828311570099107180463962007939747561418427685466296179499950020807292424768194669263077824108158763150141087597670189372657062804800895269711140808682753931269463157623533164567991209129448252870525115308477994137791928882309148294618946240037742396028191844605909625466191038318990755652898795724840189754403854340511213447424837951008159162977121399385922249159917515276339596407306052767285947730357961880741465392739182195159617672535671507164046934611119490395725939873218669484958792286210181035907882346202896793455910946060402821924624970532117321154833750367084918460567234967497275736327223747084625223361788531475765378821854497140893549771862230784808544544636617238392304170223192824353137287829467781534978716161705160712415636655854282019400904988355272580832040409039674355397951814275428061829034028744179629 68914170942642158304887966316950909430266093942783401921845209172744623754263769960373728646606625954638681950350827656116337533560945117133100373344193564386262180974772601805040940649695694491804509888169494434318155687978889750465017950799374583091982307790693960037882515303656102501695010656516518014665351852734623286177166881434365833979589843324011036920717375699503314080633471880308815129980565431578019397396256371459272297725841899111909799803425218920522695230383053191208552362606091545938767180076485953875868386313028885341212910449598265310781090670499415900632186715517514268836080596368867370270551118011247682772323241548485717578318821921387820074272780896117392752120218283464141942939585369888991885561364004355201949526706589793325078943457220033015421388754560639248095613279084154601630108015280198588586258455543011232940330028607349073387525125377171086426467372735501160662047153568354184800221748792427413227759362504666162131827992769913942285095752398336111607710170387439144644017703706871799849670299090686923562810418167240736541657607461367828066377301760836881714157699600011041271739080621597602587876064734282470533149733381079716790613315833277604253114635465230397617534370920879275218432690731035949541040547286791972289204672669077725241686470274246248333545096331331987933842330333813663781484942462165212032527878444698686207578619192128521844553607463625834474406914535637899727592958252422531300835673473639905283049804701984148315906608251009828587674248257061687832131036984278320036798800158397282559773518604186269188948386905073319927826788765668110702889963001953513347242261559615471666126622771007 111505470891715392417162786129549253654206417403683114502252383201797777395134720834960092895492805531207317694126548397442183935626806236745069848476653587470755314229464258957553213145451695561211988428343386637371842310747002610339797991054739983010099532857668502351188617786098475372701226455341707793276812430612003863706619563917382938652535077228153804060827252354765131980688070315107292998579965287067551407021005044334085638591096918641693856410791061741224434298599933235567536817876233086439281507580224541952858241949354942362340732462585679857587898585042876617838526312970255332321724603165093737608717566714179104309675748604293066981831285826873737744764344835875331219147536306455970227711736196274420005628983035138735667775511960854618356977547285143064533272025808262477847469345596559686408119967839800989414570025642118413404292036547096634805952810843467265926417393542793585430241822831432008908380511942568500825429551877323224936628888039625083093778506329605574765333703552007135853147151959742324964978777084824715491692727315535355487897645203763856258221907670462347905196018590766694170534805461787356991730405245495917957987684389238879767734715219199853413032150741569994024840423688165222948790652611777414933779729481951589961740344176241772176297589764641974273418315000816946726128540514849571663831145358958667943473938847520610832549151309449676678303974548544295041641882032913636054816705337047754662624204949405284104904301842877698087768839035818373132310865495453992002354229808631457324628267939932261275935223764898684825604241187092720832815144038248942743299002676308911299056536987677300700155366950636 180419641834357550722050752446500163084472511346466516424097592374542401149398490795333821542099431485845999644477376053558521469187751353878170221820847151857017495204236860762594153795147390053016498316512881071689997998725892360804815941854114566102081840648362462389071133089754577874396237111858225807942164283346627149883786445351748772632124920552164840981544628054268446061321542195416108128560530718645570804417261415793357936316938817753603656214216280661747129528982986426776089180482324632378048687656710495828726628262383827703553642912183945168368989255542292518470713028487769601157805199533961107879268684725426787081998990152778784560150107748261557819037125731992723971267754589920112170651321566163411891190347039493937617302218550647943435921004505176079954660780368901725943082624680714288038227983119999578000828481185129646344622065154445708193477936220638352352884766278294746092288976399786193708602260734995914053188914381989387068456880809539025378874258727941686373043873939446280497164855666614124814649076175511639054503145482776092029555252665131684324599209431299229619353718190777735442273886083384959579606469979778388491137417770318596558348031052477457666146786206800391642374794609044498167223343342813364474820276768743562250945016845319497417984060038888222606963411332148934659970870848663235445316087821123879976001817292219297040127770501578198522857582012170129516048796568551535782409663589470285963459878423045189387954106544861846403675447286828201719985113752515679834485266792909777361427068098329543835708742369084954014552628092166040760641932803917053446188965678262424646298798547292772366281989721643 291925112726072943139213538576049416738678928750149630926349975576340178544533211630293914437592237017053317338603924451000705404814557590623240070297500739327772809433701119720147366940599085614228486744856267709061840309472894971144613932908854549112181373506030964740259750875853053247097463567199933601218976713958631013590406009269131711284659997780318645042371880409033578042009612510523401127140496005713122211438266460127443574908035736395297512625007342402971563827582919662343625998358557718817330195236935037781584870211738770065894375374769625025956887840585169136309239341458024933479529802699054845487986251439605891391674738757071851541981393575135295563801470567868055190415290896376082398363057762437831896819330074632673285077730511502561792898551790319144487932806177164203790551970277273974446347950959800567415398506827248059748914101701542342999430747064105618279302159821088331522530799231218202616982772677564414878618466259312612005085768849164108472652765057547261138377577491453416350312007626356449779627853260336354546195872798311447517452897868895540582821117101761577524549736781544429612808691545172316571336875225274306449125102159557476326082746271677311079178936948370385667215218297209721116013995954590779408600006250695152212685361021561269594281649803530196880381726332965881386099411363512807109147233180082547919475756139739907872676921811027875201161556560714424557690678601465171837226368926518040626084083372450473492858408387739544491444286322646574852295979247969671836839496601541234686055336038261805111643966133983638840156869279258761593457076842165996189487968354571335945355335534970073066437356672279 472344754560430493861264291022549579823151440096616147350447567950882579693931702425627735979691668502899316983081300504559226874002308944501410292118347891184790304637937980482741520735746475667244985061369148780751838308198787331949429874762969115214263214154393427129330883965607631121493700679058159409161140997305258163474192454620880483916784918332483486023916508463302024103331154705939509255701026724358693015855527875920801511224974554148901168839223623064718693356565906089119715178840882351195378882893645533610311498474122597769448018286953570194325877096127461654779952369945794534637335002233015953367254936165032678473673728909850636102131501323396853382838596299860779161683045486296194569014379328601243788009677114126610902379949062150505228819556295495224442593586546065929733634594957988262484575934079800145416226988012377706093536166855988051192908683284743970632186926099383077614819775631004396325585033412560328931807380641301999073542649658703133851527023785488947511421451430899696847476863292970574594276929435847993600699018281087539547008150534027224907420326533060807143903454972322165055082577628557276150943345205052694940262519929876072884430777324154768745325723155170777309590012906254219283237339297404143883420283019438714463630377866880767012265709842418419487345137665114816046070282212176042554463321001206427895477573431959204912804692312606073724019138572884554073739475170016707619636032515988326589543961795495662880812514932601390895119733609474776572281093000485351671324763394451012047482404136591348947352708503068592854709497371424802354099009646083049635676934032833760591654134082262845432719346393922 764269867286503437000477829598598996561830368846765778276797543527222758238464914055921650417283905519952634321685224955559932278816866535124650362415848630512563114071639100202888887676345561281473471806225416489813678617671682303094043807671823664326444587660424391869590634841460684368591164246258093010380117711263889177064598463890012195201444916112802131066288388872335602145340767216462910382841522730071815227293794336048245086133010290544198681464230965467690257184148825751463341177199440070012709078130580571391896368685861367835342393661723195220282764936712630791089191711403819468116864804932070798855241187604638569865348467666922487644112894898532148946640066867728834352098336382672276967377437091039075684829007188759284187457679573653067021718108085814368930526392723230133524186565235262236930923885039600712831625494839625765842450268557530394192339430348849588911489085920471409137350574862222598942567806090124743810425846900614611078628418507867242324179788843036208649799028922353113197788870919327024373904782696184348146894891079398987064461048402922765490241443634822384668453191753866594667891269173729592722280220430327001389387622089433549210513523595832079824504660103541162976805231203463940399251335251994923292020289270133866676315738888442036606547359645948616367726863998080697432169693575688849663610554181288975814953329571699112785481614123633948925180695133598978631430153771481879456862401442506367215628045167946136373670923320340935386564019932121351424577072248455023508164259995992246733537740174853154058996674637052231694866366650683563947556086488249045825164902387405096537009469617232918499156703066201 1236614621846933930861742120621148576384981808943381925627245111478105337932396616481549386396975574022851951304766525460119159152819175479626060654534196521697353418709577080685630408412092036948718456867594565270565516925870469635043473682434792779540707801814817818998921518807068315490084864925316252419541258708569147340538790918510892679118229834445285617090204897335637626248671921922402419638542549454430508243149322211969046597357984844693099850303454588532408950540714731840583056356040322421208087961024226105002207867159983965604790411948676765414608642032840092445869144081349614002754199807165086752222496123769671248339022196576773123746244396221929002329478663167589613513781381868968471536391816419640319472838684302885895089837628635803572250537664381309593373119979269296063257821160193250499415499819119400858247852482852003471935986435413518445385248113633593559543676012019854486752170350493226995268152839502685072742233227541916610152171068166570376175706812628525156161220480353252810045265734212297598968181712132032341747593909360486526611469198936949990397661770167883191812356646726188759722973846802286868873223565635379696329650142019309622094944300919986848569830383258711940286395244109718159682488674549399067175440572289572581139946116755322803618813069488367035855072001663195513478239975787864892218073875182495403710430903003658317698286306436240022649199833706483532705169628941498587076498433958494693805172006963441799254483438252942326281683753541596127996858165248940375179489023390443258781020144311444503006349383140120824549575864022108366301655096134332095460841836420238857128663603699495763931876049460123 2000884489133437367862219950219747572946812177790147703904042655005328096170861530537471036814259479542804585626451750415679091431636042014750711016950045152209916532781216180888519296088437598230191928673819981760379195543542151938137517490106616443867152389475242210868512153648528999858676029171574345429921376419833036517603389382400904874319674750558087748156493286207973228394012689138865330021384072184502323470443116548017291683490995135237298531767685554000099207724863557592046397533239762491220797039154806676394104235845845333440132805610399960634891406969552723236958335792753433470871064612097157551077737311374309818204370664243695611390357291120461151276118730035318447865879718251640748503769253510679395157667691491645179277295308209456639272255772467123962303646371992526196782007725428512736346423704159001571079477977691629237778436703971048839577587543982443148455165097940325895889520925355449594210720645592809816552659074442531221230799486674437618499886601471561364811019509275605923243054605131624623342086494828216689894488800439885513675930247339872755887903213802705576480809838480055354390865115976016461595503786065706697719037764108743171305457824515818928394335043362253103263200475313182100081740009801393990467460861559706447816261855643764840225360429134315652222798865661276210910409669363553741881684429363784379525384232575357430483767920559873971574380528840082511336599782712980466533360835401001061020800052131387935628154361573283261668247773473717479421435237497395398687653283386435505514557884486297657065346057777173056244442230672791930249211182622581141286006738807643953665673073316728682431032752526324 3237499110980371298723962070840896149331793986733529629531287766483433434103258147019020423211235053565656536931218275875798250584455217494376771671484241673907269951490793261574149704500529635178910385541414547030944712469412621573180991172541409223407860191290060029867433672455597315348760894096890597849462635128402183858142180300911797553437904585003373365246698183543610854642684611061267749659926621638932831713592438759986338280848979979930398382071140142532508158265578289432629453889280084912428885000179032781396312103005829299044923217559076726049500049002392815682827479874103047473625264419262244303300233435143981066543392860820468735136601687342390153605597393202908061379661100120609220040161069930319714630506375794531074367132936845260211522793436848433555676766351261822260039828885621763235761923523278402429327330460543632709714423139384567284962835657616036707998841109960180382641691275848676589478873485095494889294892301984447831382970554841007994675593414100086520972239989628858733288320339343922222310268206960249031642082709800372040287399446276822746285564983970588768293166485206244114113838962778303330468727351701086394048687906128052793400402125435805776964165426620965043549595719422900259764228684350793057642901433849279028956207972399087643844173498622682688077870867324471724388649645151418634099758304546279783235815135579015748182054226996113994223580362546566044041769411654479053609859269359495754825972059094829734882637799826225587949931527015313607418293402746335773867142306776878764295578028797742160071695440917293880794018094694900296550866278756913236746848575227882810794336677016224446362908801986447 5238383600113808666586182021060643722278606164523677333435330421488761530274119677556491460025494533108461122557670026291477342016091259509127482688434286826117186484272009442462669000588967233409102314215234528791323908012954773511318508662648025667275012580765302240735945826104126315207436923268464943279384011548235220375745569683312702427757579335561461113403191469751584083036697300200133079681310693823435155184035555308003629964339975115167696913838825696532607365990441847024675851422519847403649682039333839457790416338851674632485056023169476686684391455971945538919785815666856480944496329031359401854377970746518290884747763525064164346526958978462851304881716123238226509245540818372249968543930323440999109788174067286176253644428245054716850795049209315557517980412723254348456821836611050275972108347227437404000406808438235261947492859843355616124540423201598479856454006207900506278531212201204126183689594130688304705847551376426979052613770041515445613175480015571647885783259498904464656531374944475546845652354701788465721536571510240257553963329693616695502173468197773294344773976323686299468504704078754319792064231137766793091767725670236795964705859949951624705358500469983218146812796194736082359845968694152187048110362295408985476772469828042852484069533927756998340300669732985747935299059314514972375981442733910064162761199368154373178665822147555987965797960891386648555378369194367459520143220104760496815846772111226217670510792161399508849618179300489031086839728640243731172554795590163314269810135913284039817137041498694466937038460325367692226800077461379494378032855314035526764460009750332953128793941554512771 8475882711094179965310144091901539871610400151257206962966618187972194964377377824575511883236729586674117659488888302167275592600546477003504254359918528500024456435762802704036818705089496868588012699756649075822268620482367395084499499835189434890682872772055362270603379498559723630556197817365355541128846646676637404233887749984224499981195483920564834478649889653295194937679381911261400829341237315462367986897627994067989968245188955095098095295909965839065115524256020136457305305311799932316078567039512872239186728441857503931529979240728553412733891504974338354602613295540959528418121593450621646157678204181662271951291156385884633081663560665805241458487313516441134570625201918492859188584091393371318824418680443080707328011561181899977062317842646163991073657179074516170716861665496672039207870270750715806429734138898778894657207282982740183409503258859214516564452847317860686661172903477052802773168467615783799595142443678411426883996740596356453607851073429671734406755499488533323389819695283819469067962622908748714753178654220040629594250729139893518248459033181743883113067142808892543582618543041532623122532958489467879485816413576364848758106262075387430482322665896604183190362391914158982619610197378502980105753263729258264505728677800441940127913707426379681028378540600310219659687708959666391010081201038456343945997014503733388926847876374552101960021541253933214599420138606021938573753079374119992570672744170321047405393429961225734437568110827504344694258022042990066946421937896940193034105713942081781977208736939611760817832478420062592523350943740136407614779703889263409575254346427349177575156850356499218 13714266311207988631896326112962183593889006315780884296401948609460956494651497502132003343262224119782578782046558328458752934616637736512631737048352815326141642920034812146499487705678464101997115013971883604613592528495322168595818008497837460557957885352820664511339325324663849945763634740633820484408230658224872624609633319667537202408953063256126295592053081123046779020716079211461533909022548009285803142081663549375993598209528930210265792209748791535597722890246461983481981156734319779719728249078846711696977144780709178564015035263898030099418282960946283893522399111207816009362617922481981048012056174928180562836038919910948797428190519644268092763369029639679361079870742736865109157128021716812317934206854510366883581655989426954693913112891855479548591637591797770519173683502107722315179978617978153210430140947337014156604700142826095799534043682060812996420906853525761192939704115678256928956858061746472104300989995054838405936610510637871899221026553445243382292538758987437788046351070228295015913614977610537180474715225730280887148214058833510213750632501379517177457841119132578843051123247120286942914597189627234672577584139246601644722812122025339055187681166366587401337175188108895064979456166072655167153863626024667249982501147628484792611983241354136679368679210333295967594986768274181363386062643772366408108758213871887762105513698522108089925819502145319863154798507800389398093896299478880489386519516281547265075904222122625243287186290127993375781097750683233798118976733487103507303915849855365821794345778438306227754870938745430284750151021201515901992812559203298936339714356177682130703950791911011989 22190149022302168597206470204863723465499406467038091259368566797433151459028875326707515226498953706456696441535446630626028527217184213516135991408271343826166099355797614850536306410767960970585127713728532680435861148977689563680317508333026895448640758124876026781942704823223573576319832557999176025537077304901510028843521069651761702390148547176691130070702970776341973958395461122722934738363785324748171128979291543443983566454717885305363887505658757374662838414502482119939286462046119712035806816118359583936163873222566682495545014504626583512152174465920622248125012406748775537780739515932602694169734379109842834787330076296833430509854080310073334221856343156120495650495944655357968345712113110183636758625534953447590909667550608854670975430734501643539665294770872286689890545167604394354387848888728869016859875086235793051261907425808835982943546940920027512985359700843621879600877019155309731730026529362255903896132438733249832820607251234228352828877626874915116699294258475971111436170765512114484981577600519285895227893879950321516742464787973403731999091534561261060570908261941471386633741790161819566037130148116702552063400552822966493480918384100726485670003832263191584527537580023054047599066363451158147259616889753925514488229825428926732739896948780516360397057750933606187254674477233847754396143844810822752054755228375621151032361574896660191885841043399253077754218646406411336667649378853000481957192260451868312481297652083850977724754400955497720475355772726223865065398671384043700338021563797447603771554515377917988572703417165492877273501964941652309607592263092562345914968702605031308279107642267511207 35904415333510157229102796317825907059388412782818975555770515406894107953680372828839518569761177826239275223582004959084781461833821950028767728456624159152307742275832426997035794116446425072582242727700416285049453677473011732276135516830864356006598643477696691293282030147887423522083467298632996509945307963126382653453154389319298904799101610432817425662756051899388752979111540334184468647386333334033974271060955092819977164664246815515629679715407548910260561304748944103421267618780439491755535065197206295633141018003275861059560049768524613611570457426866906141647411517956591547143357438414583742181790554038023397623368996207782227938044599954341426985225372795799856730366687392223077502840134826995954692832389463814474491323540035809364888543626357123088256932362670057209064228669712116669567827506707022227290016033572807207866607568634931782477590622980840509406266554369383072540581134833566660686884591108728008197122433788088238757217761872100252049904180320158498991833017463408899482521835740409500895192578129823075702609105680602403890678846806913945749724035940778238028749381074050229684865037282106508951727337743937224640984692069568138203730506126065540857684998629778985864712768131949112578522529523813314413480515778592764470730973057411525351880190134653039765736961266902154849661245508029117782206488583189160163513442247508913137875273418768281811660545544572940909017154206800734761545678331880971343711776733415577557201874206476221011940691083491096256453523409457663184375404871147207641937413652813425565900293816224216327574355910923162023652986143168211600404822295861282254683058782713438983058434178523196 58094564355812325826309266522689630524887819249857066815139082204327259412709248155547033796260131532695971665117451589710809989051006163544903719864895502978473841631630041847572100527214386043167370441428948965485314826450701295956453025163891251455239401602572718075224734971110997098403299856632172535482385268027892682296675458971060607189250157609508555733459022675730726937507001456907403385750118658782145400040246636263960731118964700820993567221066306284923399719251426223360554080826559203791341881315565879569304891225842543555105064273151197123722631892787528389772423924705367084924096954347186436351524933147866232410699072504615658447898680264414761207081715951920352380862632047581045848552247937179591451457924417262065400991090644664035863974360858766627922227133542343898954773837316511023955676395435891244149891119808600259128514994443767765421137563900868022391626255213004952141458153988876392416911120470983912093254872521338071577825013106328604878781807195073615691127275939380010918692601252523985876770178649108970930502985630923920633143634780317677748815570502039298599657643015521616318606827443926074988857485860639776704385244892534631684648890226792026527688830892970570392250348155003160177588892974971461673097405532518278958960798486338258091777138915169400162794712200508342104335722741876872178350333394011912218268670623130064170236848315428473697501588943826018663235800613212071429195057184881453300904037185283890038499526290327198736695092038988816731809296135681528249774076255190907979958977450261029337454809194142204900277773076416039297154951084820521207997085388423628169651761387744747262166076446034403 93998979689322483055412062840515537584276232032676042370909597611221367366389620984386552366021309358935246888699456548795591450884828113573671448321519662130781583907462468844607894643660811115749613169129365250534768503923713028232588541994755607461838045080269409368506765118998420620486767155265169045427693231154275335749829848290359511988351768042325981396215074575119479916618541791091872033136451992816119671101201729083937895783211516336623246936473855195183961024000370326781821699606998695546876946512772175202445909229118404614665114041675810735293089319654434531419835442661958632067454392761770178533315487185889630034068068712397886385943280218756188192307088747720209111229319439804123351392382764175546144290313881076539892314630680473400752517987215889716179159496212401108019002507028627693523503902142913471439907153381407466995122563078699547898728186881708531797892809582388024682039288822443053103795711579711920290377306309426310335042774978428856928685987515232114682960293402788910401214436992933486771962756778932046633112091311526324523822481587231623498539606442817536628407024089571846003471864726032583940584823604577001345369936962102769888379396352857567385373829522749556256963116286952272756111422498784776086577921311111043429691771543749783443657329049822439928531673467410496953996968249905989960556821977201072381782112870638977308112121734196755509162134488398959572252954820012806190740735516762424644615813918699467595701400496803419748635783122479912988262819545139191434149481126338115621896391103074454903355103010366421227852128987339201320807937227988732808401907684284910424334820170458186245224510624557599 152093544045134808881721329363205168109164051282533109186048679815548626779098869139933586162281440891631218553816908138506401439935834277118575168186415165109255425539092510692179995170875197158916983610558314216020083330374414324189041567158646858917077446682842127443731500090109417718890067011897341580910078499182168018046505307261420119177601925651834537129674097250850206854125543247999275418886570651598265071141448365347898626902176217157616814157540161480107360743251796550142375780433557899338218827828338054771750800454960948169770178314827007859015721212441962921192259367367325716991551347108956614884840420333755862444767141217013544833841960483170949399388804699640561492091951487385169199944630701355137595748238298338605293305721325137436616492348074656344101386629754745006973776344345138717479180297578804715589798273190007726123637557522467313319865750782576554189519064795392976823497442811319445520706832050695832383632178830764381912867788084757461807467794710305730374087569342168921319907038245457472648732935428041017563615076942450245156966116367549301247355176944856835228064667105093462322078692169958658929442309465216778049755181854637401573028286579649593913062660415720126649213464441955432933700315473756237759675326843629322388652570030088041535434467964991840091326385667918839058332690991782862138907155371212984600050783493769041478348970049625229206663723432224978235488755433224877619935792701643877945519851103983357634200926787130618485330875161468729720072115680820719683923557381529023601855368553335484240809912204508626128129902063755240617962888312809254016398993072708538593986581558202933507390587070592002 246092523734457291937133392203720705693440283315209151556958277426769994145488490124320138528302750250566465442516364687301992890820662390692246616507934827240037009446554979536787889814536008274666596779687679466554851834298127352421630109153402466378915491763111536812238265209107838339376834167162510626337771730336443353796335155551779631165953693694160518525889171825969686770744085039091147452023022644414384742242650094431836522685387733494240061094014016675291321767252166876924197480040556594885095774341110229974196709684079352784435292356502818594308810532096397452612094810029284349059005739870726793418155907519645492478835209929411431219785240701927137591695893447360770603321270927189292551337013465530683740038552179415145185620352005610837369010335290546060280546125967146114992778851373766411002684199721718187029705426571415193118760120601166861218593937664285085987411874377781001505536731633762498624502543630407752674009485140190692247910563063186318736153782225537845057047862744957831721121475238390959420695692206973064196727168253976569680788597954780924745894783387674371856471691194665308325550556895991242870027133069793779395125118816740171461407682932507161298436489938469682906176580728907705689811737972541013846253248154740365818344341573837824979091797014814280019858059135329336012329659241688852099463977348414056981832896364408018786461091783821984715825857920623937807741710253237683810676528218406302590135665022682825229902327283934038233966658283948642708334935225959911118073038507867139223751759656409939144165015214875047355982031051094441938770825540797986824800900756993449018321401728661119752615097695149601 398186067779592100818854721566925873802604334597742260743006957242318620924587359264253724690584191142197683996333272825808394330756496667810821784694349992349292434985647490228967884985411205433583580390245993682574935164672541676610671676312049325295992938445953664255969765299217256058266901179059852207247850229518611371842840462813199750343555619345995055655563269076819893624869628287090422870909593296012649813384098459779735149587563950651856875251554178155398682510503963427066573260474114494223314602169448284745947510139040300954205470671329826453324531744538360373804354177396610066050557086979683408302996327853401354923602351146424976053627201185098086991084698147001332095413222414574461751281644166885821335786790477753750478926073330748273985502683365202404381932755721891121966555195718905128481864497300522902619503699761422919242397678123634174538459688446861640176930939173173978329034174445081944145209375681103585057641663970955074160778351147943780543621576935843575431135432087126753041028513483848432069428627635014081760342245196426814837754714322330225993249960332531207084536358299758770647629249065949901799469442535010557444880300671377573034435969512156755211499150354189809555390045170863138623512053446297251605928574998369688206996911603925866514526264979806120111184444803248175070662350233471714238371132719627041581883679858177060264810061833447213922489581352848916043230465686462561430612320920050180535655516126666182864103254071064656719297533445417372428407050906780630801996595889396162825607128209745423384974927419383673484111933114849682556733713853607240841199893829701987612307983286864053260005684765741603 644278591514049392755988113770646579496044617912951412299965234669088615070075849388573863218886941392764149438849637513110387221577159058503068401202284819589329444432202469765755774799947213708250177169933673149129786998970669029032301785465451791674908430209065201068208030508325094397643735346222362833585621959855054725639175618364979381509509313040155574181452440902789580395613713326181570322932615940427034555626748554211571672272951684146096936345568194830690004277756130303990770740514671089108410376510558514720144219823119653738640763027832645047633342276634757826416448987425894415109562826850410201721152235373046847402437561075836407273412441887025224582780591594362102698734493341763754302618657632416505075825342657168895664546425336359111354513018655748464662478881689037236959334047092671539484548697022241089649209126332838112361157798724801035757053626111146726164342813550954979834570906078844442769711919311511337731651149111145766408688914211130099279775359161381420488183294832084584762149988722239391490124319841987145957069413450403384518543312277111150739144743720205578941008049494424078973179805961941144669496575604804336840005419488117744495843652444663916509935640292659492461566625899770844313323791418838265452181823153110054025341253177763691493618061994620400131042503938577511082992009475160566337835110068041098563716576222585079051271153617269198638315439273472853850972175939700245241288849138456483125791181149349008094005581354998694953264191729366015136741986132740541920069634397263302049358887866155362529139942634258720840093964165944124495504539394405227666000794586695436630629385015525173012620782460891204 1042464659293641493574842835337572453298648952510693673042972191911407235994663208652827587909471132534961833435182910338918781552333655726313890185896634811938621879417849959994723659785358419141833757560179666831704722163643210705642973461777501116970901368655018865324177795807542350455910636525282215040833472189373666097482016081178179131853064932386150629837015709979609474020483341613271993193842209236439684369010847013991306821860515634797953811597122372986088686788260093731057344000988785583331724978680006799466091729962159954692846233699162471500957874021173118200220803164822504481160119913830093610024148563226448202326039912222261383327039643072123311573865289741363434794147715756338216053900301799302326411612133134922646143472498667107385340015702020950869044411637410928358925889242811576667966413194322763992268712826094261031603555476848435210295513314558008366341273752724128958163605080523926386914921294992614922789292813082100840569467265359073879823396936097224995919318726919211337803178502206087823559552947477001227717411658646830199356298026599441376732394704052736786025544407794182849620809055027891046468966018139814894284885720159495317530279621956820671721434790646849302016956671070633982936835844865135517058110398151479742232338164781689558008144326974426520242226948741825686153654359708632280576206242787668140145600256080762139316081215450716412560805020626321769894202641626162806671901170058506663661446697276015190958108835426063351672561725174783387565149037039521172722066230286659464874966016075900785914114870053642394324205897280793807052238253248012468507200688416397424242937368302389226272626467226632807 1686743250807690886330830949108219032794693570423645085342937426580495851064739058041401451128358073927725982874032547852029168773910814784816958587098919631527951323850052429760479434585305632850083934730113339980834509162613879734675275247242952908645809798864084066392385826315867444853554371871504577874419094149228720823121191699543158513362574245426306204018468150882399054416097054939453563516774825176866718924637595568202878494133467318944050747942690567816778691066016224035048114741503456672440135355190565314186235949785279608431486996726995116548591216297807876026637252152248398896269682740680503811745300798599495049728477473298097790600452084959148536156645881335725537492882209098101970356518959431718831487437475792091541808018924003466496694528720676699333706890519099965595885223289904248207450961891345005081917921952427099143964713275573236246052566940669155092505616566275083937998175986602770829684633214304126260520943962193246606978156179570203979103172295258606416407502021751295922565328490928327215049677267318988373674481072097233583874841338876552527471539447772942364966552457288606928593988860989832191138462593744619231124891139647613062026123274401484588231370430939508794478523296970404827250159636283973782510292221304589796257679417959453249501762388969046920373269452680403197236646369183792846914041352855709238709316832303347218367352369067985611199120459899794623745174817565863051913190019196963146787237878425364199052114416781062046625825916904149402701891023172261714642135864683922766924324903942056148443254812687901115164299861446737931547742792642417696173201483003092860873566753317914399285247249687524011 2729207910101332379905673784445791486093342522934338758385909618491903087059402266694229039037829206462687816309215458190947950326244470511130848772995554443466573203267902389755203094370664051991917692290293006812539231326257090440318248709020454025616711167519102931716563622123409795309465008396786792915252566338602386920603207780721337645215639177812456833855483860862008528436580396552725556710617034413306403293648442582194185315993982953742004559539812940802867377854276317766105458742492242255771860333870572113652327679747439563124333230426157588049549090318980994226858055317070903377429802654510597421769449361825943252054517385520359173927491728031271847730511171077088972287029924854440186410419261231021157899049608927014187951491422670573882034544422697650202751302156510893954811112532715824875417375085667769074186634778521360175568268752421671456348080255227163458846890318999212896161781067126697216599554509296741183310236775275347447547623444929277858926569231355831412326820748670507260368506993134415038609230214795989601391892730744063783231139365475993904203934151825679150992096865082789778214797916017723237607428611884434125409776859807108379556402896358305259952805221586358096495479968041038810186995481149109299568402619456069538490017582741142807509906715943473440615496401422228883390300728892425127490247595643377378854917088384109357683433584518702023759925480526116393639377459192025858585091189255469810448684575701379390010223252207125398298387642078932790267040060211782887364202094970582231799290920017956934357369682741543509488505758727531738599981045890430164680402171419490285116504121620303625557873716914156818 4415951160909023266236504733554010518888036093357983843728847045072398938124141324735630490166187280390413799183248006042977119100155285295947807360094474074994524527117954819515682528955969684842001627020406346793373740488870970174993523956263406934262520966383186998108949448439277240163019380268291370789671660487831107743724399480264496158578213423238763037873952011744407582852677451492179120227391859590173122218286038150397063810127450272686055307482503508619646068920292541801153573483995698928211995689061137427838563629532719171555820227153152704598140306616788870253495307469319302273699485395191101233514750160425438301782994858818456964527943812990420383887157052412814509779912133952542156766938220662739989386487084719105729759510346674040378729073143374349536458192675610859550696335822620073082868336977012774156104556730948459319532982027994907702400647195896318551352506885274296834159957053729468046284187723600867443831180737468594054525779624499481838029741526614437828734322770421803182933835484062742253658907482114977975066373802841297367105980704352546431675473599598621515958649322371396706808786777007555428745891205629053356534667999454721441582526170759789848184175652525866890974003265011443637437155117433083082078694840760659334747697000700596057011669104912520360988765854102632080626947098076217974404288948499086617564233920687456576050785953586687634959045940425911017384552276757888910498281208452432957235922454126743589062337668988187444924213558983082192968931083384044602006337959654504998723615823960013082800624495429444624652805620174269670147723838532847860853603654422583145990070874938218024843120966601680829 7145159071010355646142178517999802004981378616292322602114756663564302025183543591429859529204016486853101615492463464233925069426399755807078656133090028518461097730385857209270885623326633736833919319310699353605912971815128060615311772665283860959879232133902289929825513070562687035472484388665078163704924226826433494664327607260985833803793852601051219871729435872606416111289257848044904676938008894003479525511934480732591249126121433226428059867022316449422513446774568859567259032226487941183983856022931709541490891309280158734680153457579310292647689396935769864480353362786390205651129288049701698655284199522251381553837512244338816138455435541021692231617668223489903482066942058806982343177357481893761147285536693646119917711001769344614260763617566071999739209494832121753505507448355335897958285712062680543230291191509469819495101250780416579158748727451123482010199397204273509730321738120856165262883742232897608627141417512743941502073403069428759696956310757970269241061143519092310443302342477197157292268137696910967576458266533585361150337120069828540335879407751424300666950746187454186485023584693025278666353319817513487481944444859261829821138929067118095108136980874112224987469483233052482447624150598582192381647097460216728873237714583441738864521575820855993801604262255524860964017247826968643101894536544142463996419151009071565933734219538105389658718971420952027411023929735949914769083372397707902767684607029828122979072560921195312843222601201062014983235971143595827489370540054625087230522906743977970017157994178170988134141311378901801408747704884423278025534005825842073431106574996558521650400994683515837647 11561110231919378912378683251553812523869414709650306445843603708636700963307684916165490019370203767243515414675711470276902188526555041103026463493184502593455622257503812028786568152282603421675920946331105700399286712303999030790305296621547267894141753100285476927934462519001964275635503768933369534494595887314264602408052006741250329962372066024289982909603387884350823694141935299537083797165400753593652647730220518882988312936248883499114115174504819958042159515694861401368412605710483640112195851711992846969329454938812877906235973684732462997245829703552558734733848670255709507924828773444892799888798949682676819855620507103157273102983379354012112615504825275902717991846854192759524499944295702556501136672023778365225647470512116018654639492690709446349275667687507732613056203784177955971041154049039693317386395748240418278814634232808411486861149374647019800561551904089547806564481695174585633309167929956498476070972598250212535556599182693928241534986052284584707069795466289514113626236177961259899545927045179025945551524640336426658517443100774181086767554881351022922182909395509825583191832371470032834095099211023142540838479112858716551262721455237877884956321156526638091878443486498063926085061305716015275463725792300977388207985411584142334921533244925768514162593028109627493044644194925044861076298825492641550613983384929759022509785005491692077293678017361377938428408482012707803679581653606160335724920529483954866568134898590183500288146814760045097176204902226979872091376878014279592229246522567937983099958618673600432758794116999076071078895428722956125886387609480264656577096645871496739675244115650117518476 18706269302929734558520861769553614528850793325942629047958360372201002988491228507595349548574220254096617030168174934510827257952954796910105119626274531111916719987889669238057453775609237158509840265641805054005199684119127091405617069286831128854020985234187766857759975589564651311107988157598447698199520114140698097072379614002236163766165918625341202781332823756957239805431193147581988474103409647597132173242154999615579562062370316725542175041527136407464672962469430260935671637936971581296179707734924556510820346248093036640916127142311773289893519100488328599214202033042099713575958061494594498544083149204928201409458019347496089241438814895033804847122493499392621473913796251566506843121653184450262283957560472011345565181513885363268900256308275518349014877182339854366561711232533291868999439761102373860616686939749888098309735483588828066019898102098143282571751301293821316294803433295441798572051672189396084698114015762956477058672585763357001231942363042554976310856609808606424069538520438457056838195182875936913127982906870012019667780220844009627103434289102447222849860141697279769676855956163058112761452530840656028320423557717978381083860384304995980064458137400750316865912969731116408532685456314597467845372889761194117081223126167584073786054820746624507964197290365152354008661442752013504178193362036784014610402535938830588443519225029797466952396988782329965839432411748657718448665026003868238492605136513782989547207459511378813131369415961107112159440873370575699580747418068904679459769429311915953117116612851771420892935428377977872487643133607379403911921615306106730008203220868055261325645110333633356123 30267379534849113470899545021107427052720208035592935493801964080837703951798913423760839567944424021340132444843886404787729446479509838013131583119459033705372342245393481266844021927891840580185761211972910754404486396423126122195922365908378396748162738334473243785694438108566615586743491926531817232694116001454962699480431620743486493728537984649631185690936211641308063499573128447119072271268810401190784820972375518498567874998619200224656290216031956365506832478164291662304084243647455221408375559446917403480149801186905914547152100827044236287139348804040887333948050703297809221500786834939487298432882098887605021265078526450653362344422194249045917462627318775295339465760650444326031343065948887006763420629584250376571212652026001381923539748998984964698290544869847586979617915016711247840040593810142067178003082687990306377124369716397239552881047476745163083133303205383369122859285128470027431881219602145894560769086614013169012615271768457285242766928415327139683380652076098120537695774698399716956384122228054962858679507547206438678185223321618190713870989170453470145032769537207105352868688327633090946856551741863798569158902670576694932346581839542873865020779293927388408744356456229180334617746762030612743309098682062171505289208537751726408707588065672393022126790318474779847053305637677058365254492187529425565224385920868589610953304230521489544246075006143707904267840893761365522128246679610028574217525665997737856115342358101562313419516230721152209335645775597555571672124296083184271689015951879853936217075231525371853651729545377053943566538562330335529798309224786371386585299866739552001000889225983750874599 48973648837778848029420406790661041581571001361535564541760324453038706940290141931356189116518644275436749475012061339298556704432464634923236702745733564817289062233283150504901475703501077738695601477614715808409686080542253213601539435195209525602183723568661010643454413698131266897851480084130264930893636115595660796552811234745722657494703903274972388472269035398265303305004321594701060745372220048787916994214530518114147437060989516950198465257559092772971505440633721923239755881584426802704555267181841959990970147434998951188068227969356009577032867904529215933162252736339908935076744896434081796976965248092533222674536545798149451585861009144079722309749812274687960939674446695892538186187602071457025704587144722387916777833539886745192440005307260483047305422052187441346179626249244539709040033571244441038619769627740194475434105199986067618900945578843306365705054506677190439154088561765469230453271274335290645467200629776125489673944354220642243998870778369694659691508685906726961765313218838174013222317410930899771807490454076450697853003542462200340974423459555917367882629678904385122545544283796149059618004272704454597479326228294673313430442223847869845085237431328138725610269425960296743150432218345210211154471571823365622370431663919310482493642886419017530090987608839932201061967080429071869432685549566209579834788456807420199396823455551287011198471994926037870107273305510023240576911705613896812710130802511520845662549817612941126550885646682259321495086648968131271252871714152088951148785381191769889334191844377143274544664973755031816054181695937714933710230840092478116593503087607607262326534336317384230722 79241028372627961500319951811768468634291209397128500035562288533876410892089055355117028684463068296776881919855947744086286150911974472936368285865192598522661404478676631771745497631392918318881362689587626562814172476965379335797461801103587922350346461903134254429148851806697882484594972010662082163587752117050623496033242855489209151223241887924603574163205247039573366804577450041820133016641030449978701815186906036612715312059608717174854755473591049138478337918798013585543840125231882024112930826628759363471119948621904865735220328796400245864172216708570103267110303439637718156577531731373569095409847346980138243939615072248802813930283203393125639772377131049983300405435097140218569529253550958463789125216728972764487990485565888127115979754306245447745595966922035028325797541265955787549080627381386508216622852315730500852558474916383307171781993055588469448838357712060559562013373690235496662334490876481185206236287243789294502289216122677927486765799193696834343072160762004847499461087917237890969606439638985862630486998001282889376038226864080391054845412630009387512915399216111490475414232611429240006474556014568253166638228898871368245777024063390743710106016725255527134354625882189477077768178980375822954463570253885537127659640201671036891201230952091410552217777927314712048115272718106130234687177737095635145059174377676009810350127686072776555444547001069745774375114199271388762705158385223925386927656468509258701777892175714503439970401877403411530830732424565686842924996010235273222837801333071623825551267075902515128196394519132085759620720258268050463508540064878849503178802954347159263327423562301135105321 128214677210406809529740358602429510215862210758664064577322612986915117832379197286473217800981712572213631394868009083384842855344439107859604988610926163339950466711959782276646973334893996057576964167202342371223858557507632549399001236298797447952530185471795265072603265504829149382446452094792347094481388232646284292586054090234931808717945791199575962635474282437838670109581771636521193762013250498766618809401436554726862749120598234125053220731150141911449843359431735508783596006816308826817486093810601323462090096056903816923288556765756255441205084613099319200272556175977627091654276627807650892386812595072671466614151618046952265516144212537205362082126943324671261345109543836111107715441153029920814829803873695152404768319105774872308419759613505930792901388974222469671977167515200327258120660952630949255242621943470695327992580116369374790682938634431775814543412218737750001167462252000965892787762150816475851703487873565419991963160476898569730764669972066529002763669447911574461226401136076064982828757049916762402294488455359340073891230406542591395819836089565304880798028895015875597959776895225389066092560287272707764117555127166041559207466287238613555191254156583665859964895308149773820918611198721033165618041825708902750030071865590347373694873838510428082308765536154644249177239798535202104119863286661844724893962834483430009746951141624063566643018995995783644482387504781412003282070090837822199637787271020779547440441993327444566521287524085670852325819073533818114177867724387362173986586714263393714885458920279658402741059492887117575674901954205765397218770904971327619772306041954766525653957898618519336043 207455705583034771030060310414197978850153420155792564612884901520791528724468252641590246485444780868990513314723956827471129006256413580795973274476118761862611871190636414048392470966286914376458326856789968934038031034473011885196463037402385370302876647374929519501752117311527031867041424105454429258069140349696907788619296945724140959941187679124179536798679529477412036914159221678341326778654280948745320624588342591339578061180206951299907976204741191049928181278229749094327436132048190850930416920439360686933210044678808682658508885562156501305377301321669422467382859615615345248231808359181219987796659942052809710553766690295755079446427415930331001854504074374654561750544640976329677244694703988384603955020602667916892758804671662999424399513919751378538497355896257497997774708781156114807201288334017457471865474259201196180551055032752681962464931690020245263381769930798309563180835942236462555122253027297661057939775117354714494252376599576497217530469165763363345835830209916421960687489053313955952435196688902625032781486456642229449929457270622982450665248719574692393713428111127366073374009506654629072567116301840960930755784026037409804984490350629357265297270881839192994319521190339250898686790179096856120081612079594439877689712067261384264896104790601838634526543463469356297292512516641332338807041023757479869953137212159439820097078827696840122087565997065529418857501704052800765987228476061747586565443739530038249218334169041948006491689401489082383156551498099504957102863734622635396824388047335017540436725996182173530937454012019203335295622212473815860727310969850177122951108996301925788981381460919654441364 335670382793441580559800669016627489066015630914456629190207514507706646556847449928063464286426493441204144709591965910855971861600852688655578263087044925202562337902596196325039444301180910434035291023992311305261889591980644434595464273701182818255406832846724784574355382816356181249487876200246776352550528582343192081205351035959072768659133470323755499434153811915250707023740993314862520540667531447511939433989779146066440810300805185424961196935891332961378024637661484603111032138864499677747903014249962010395300140735712499581797442327912756746582385934768741667655415791592972339886084986988870880183472537125481177167918308342707344962571628467536363936631017699325823095654184812440784960135857018305418784824476363069297527123777437871732819273533257309331398744870479967669751876296356442065321949286648406727108096202671891508543635149122056753147870324452021077925182149536059564348298194237428447910015178114136909643262990920134486215537076475066948295139137829892348599499657827996421913890189390020935263953738819387435075974912001569523820687677165573846485084809139997274511457006143241671333786401880018138659676589113668694873339153203451364191956637867970820488525038422858854284416498489024719605401377817889285699653905303342627719783932851731638590978629112266716835308999624000546469752315176534442926904310419324594847100046642869829844029969320903688730584993061313063339889208834212769269298566899569786203231010550817796658776162369392573012976925574753235482370571633323071280731459009997570810974761598411255322184916461831933678513504906320910970524166679581257946081874821504742723415038256692314635339359538173777407 543126088376476351589860979430825467916169051070249193803092416028498175281315702569653710771871274310194658024315922738327100867857266269451551537563163687065174209093232610373431915267467824810493617880782280239299920626453656319791927311103568188558283480221654304076107500127883213116529300305701205610619668932040099869824647981683213728600321149447935036232833341392662743937900214993203847319321812396257260058578121737406018871481012136724869173140632524011306205915891233697438468270912690528678319934689322697328510185414521182240306327890069258051959687256438164135038275407208317588117893346170090867980132479178290887721684998638462424408999044397867365791135092073980384846198825788770462204830561006690022739845079030986190285928449100871157218787453008687869896100766737465667526585077512556872523237620665864198973570461873087689094690181874738715612802014472266341306952080334369127529134136473891003032268205411797967583038108274848980467913676051564165825608303593255694435329867744418382601379242703976887699150427722012467857461368643798973750144947788556297150333528714689668224885117270607744707795908534647211226792890954629625629123179240861169176446988497328085785795920262051848603937688828275618292191556914745405781265984897782505409496000113115903487083419714105351361852463093356843762264831817866781733945334176804464800237258802309649941108797017743810818150990126842482197390912887013535256527042961317372768674750080856045877110331411340579504666327063835618638922069732828028383595193632632967635362808933428795758910912644005464615967516925524246266146379153397118673392844671681865674524034558618103616720820457828218771 878796471169917932149661648447452956982184681984705822993299930536204821838163152497717175058297767751398802733907888649183072729458118958107129800650208612267736546995828806698471359568648735244528908904774591544561810218434300754387391584804751006813690313068379088650462882944239394366017176505947981963170197514383291951029999017642286497259454619771690535666987153307913450961641208308066367859989343843769199492567900883472459681781817322149830370076523856972684230553552718300549500409777190206426222948939284707723810326150233681822103770217982014798542073191206905802693691198801289928003978333158961748163605016303772064889603306981169769371570672865403729727766109773306207941853010601211247164966418024995441524669555394055487813052226538742890038060986265997201294845637217433337278461373868998937845186907314270926081666664544979197638325330996795468760672338924287419232134229870428691877432330711319450942283383525934877226301099194983466683450752526631114120747441423148043034829525572414804515269432093997822963104166541399902933436280645368497570832624954130143635418337854686942736342123413849416041582310414665349886469480068298320502462332444312533368403626365298906274320958684910702888354187317300337897592934732634691480919890201125133129279932964847542078062048826372068197161462717357390232017146994401224660849644596129059647337305445179479785138766338647499548735983188155545537280121721226304525825609860887158971905760631673842535886493780733152517643252638588854121292641366151099664326652642630538446337570531840051081095829105837398294481021831845157236670545832978376619474719493186608397939072815310418252060179996001996178 1421922559546394283739522627878278424898353733054955016796392346564702997119478855067370885830169042061593460758223811387510173597315385227558681338213372299332910756089061417071903274836116560055022526785556871783861730844887957074179318895908319195371973793290033392726570383072122607482546476811649187573789866446423391820854646999325500225859775769219625571899820494700576194899541423301270215179311156240026459551146022620878478553262829458874699543217156380983990436469443951997987968680689880735104542883628607405052320511564754864062410098108051272850501760447645069937731966606009607516121871679329052616143737495482062952611288305619632193780569717263271095518901201847286592788051836389981709369796979031685464264514634425041678098980675639614047256848439274685071190946403954899004805046451381555810368424527980135125055237126418066886733015512871534184373474353396553760539086310204797819406566467185210453974551588937732844809339207469832447151364428578195279946355745016403737470159393316833187116648674797974710662254594263412370790897649289167471320977572742686440785751866569376610961227240684457160749378218949312561113262371022927946131585511685173702544850614862626992060116878946962551492291876145575956189784491647380097262185875098907638538775933077963445565145468540477419559013925810714233994281978812268006394794978772933524447574564247489129726247563356391310366886973314998027734671034608239839782352652822204531740580510712529888412996825192073732022309579702424472760214711098979128047921846275263506081700379465268846840006741749842862910448538757369403502816924986375495292867564164868474072463107373928521868781000453830214949 2300719030716312215889184276325731381880538415039660839789692277100907818957642007565088060888466809812992263492131700036693246326773504185665811138863580911600647303084890223770374634404765295299551435690331463328423541063322257828566710480713070202185664106358412481377033266016362001848563653317597169536960063960806683771884646016967786723119230388991316107566807648008489645861182631609336583039300500083795659043713923504350938235044646781024529913293680237956674667022996670298537469090467070941530765832567892112776130837714988545884513868326033287649043833638851975740425657804810897444125850012488014364307342511785835017500891612600801963152140390128674825246667311620592800729904846991192956534763397056680905789184189819097165912032902178356937294909425540682272485792041172332342083507825250554748213611435294406051136903790963046084371340843868329653134146692320841179771220540075226511283998797896529904916834972463667722035640306664815913834815181104826394067103186439551780504988918889247991631918106891972533625358760804812273724333929934535968891810197696816584421170204424063553697569364098306576790960529363977910999731851091226266634047844129486235913254241227925898334437837631873254380646063462876294087377426380014788743105765300032771668055866042810987643207517366849487756175388528071624226299125806669231055644623369062584094911869692668609511386329695038809915622956503153573271951156329466144308178262683091690712486271344203730948883318972806884539952832341013326881507352465130227712248498917894044528037949997108897921102570855680261204929560589214560739487470819353871912342283658055082470402180189238940120841180449832211127 3722641590262706499628706904204009806778892148094615856586084623665610816077120862632458946718635851874585724250355511424203419924088889413224492477076953210933558059173951640842277909240881855354573962475888335112285271908210214902746029376621389397557637899648445874103603649088484609331110130129246357110749930407230075592739293016293286948979006158210941679466628142709065840760724054910606798218611656323822118594859946125229416788307476239899229456510836618940665103492440622296525437771156951676635308716196499517828451349279743409946923966434084560499545594086497045678157624410820504960247721691817066980451080007267897970112179918220434156932710107391945920765568513467879393517956683381174665904560376088366370053698824244138844011013577817970984551757864815367343676738445127231346888554276632110558582035963274541176192140917381112971104356356739863837507621045717394940310306850280024330690565265081740358891386561401400566844979514134648360986179609683021674013458931455955517975148312206081178748566781689947244287613355068224644515231579223703440212787770439503025206922070993440164658796604782763737540338748313290472112994222114154212765633355814659938458104856090552890394554716578835805872937939608452250277161918027394886005291640398940410206831799120774433208352985907326907315189314338785858220581104618937237450439602141996108542486433940157739237633893051430120282509929818151601006622190937705984090530915505296222453066782056733619361880144164880616562262412043437799641722063564109355760170345193157550609738329462377744761109312605523124115378099346583964242304395805729367205209847822923556542865287563167461989622180903662426076 6023360620979018715517891180529741188659430563134276696375776900766518635034762870197547007607102661687577987742487211460896666250862393598890303615940534122534205362258841864612652543645647150654125398166219798440708812971532472731312739857334459599743302006006858355480636915104846611179673783446843526647709994368036759364623939033261073672098236547202257787033435790717555486621906686519943381257912156407617777638573869629580355023352123020923759369804516856897339770515437292595062906861624022618166074548764391630604582186994731955831437834760117848148589427725349021418583282215631402404373571704305081344758422519053732987613071530821236120084850497520620746012235825088472194247861530372367622439323773145047275842883014063236009923046479996327921846667290356049616162530486299563688972062101882665306795647398568947227329044708344159055475697200608193490641767738038236120081527390355250841974564062978270263808221533865068288880619820799464274820994790787848068080562117895507298480137231095329170380484888581919777912972115873036918239565509158239409104597968136319609628092275417503718356365968881070314331299277677268383112726073205380479399681199944146174371359097318478788728992554210709060253584003071328544364539344407409674748397405698973181874887665163585420851560503274176395071364702866857482446880230425606468506084225511058692637398303632826348749020222746468930198132886321305174278573347267172128398709178188387913165553053400937350310763463137687501102215244384451126523229416029239583472418844111051595137776279459486642682211883461203385320307659935798524981791866625083239117552131480978639013267467752406402110463361353494637203 9746002211241725215146598084733750995438322711228892552961861524432129451111883732830005954325738513562163711992842722885100086174951283012114796093017487333467763421432793505454930452886529006008699360642108133552994084879742687634058769233955848997300939905655304229584240564193331220510783913576089883758459924775266834957363232049554360621077242705413199466500063933426621327382630741430550179476523812731439896233433815754809771811659599260822988826315353475838004874007877914891588344632780974294801383264960891148433033536274475365778361801194202408648135021811846067096740906626451907364621293396122148325209502526321630957725251449041670277017560604912566666777804338556351587765818213753542288343884149233413645896581838307374853934060057814298906398425155171416959839268931426795035860616378514775865377683361843488403521185625725272026580053557348057328149388783755631060391834240635275172665129328060010622699608095266468855725599334934112635807174400470869742094021049351462816455285543301410349129051670271867022200585470941261562754797088381942849317385738575822634835014346410943883015162573663834051871638025990558855225720295319534692165314555758806112829463953409031679123547270789544866126521942679780794641701262434804560753689046097913592081719464284359854059913489181503302386554017205643340667461335044543705956523827653054801179884737572984087986654115797899050480642816139456775285195538204878112489240093693684135618619835457670969672643607302568117664477656427888926164951479593348939232589189304209145747514608921864387443321196066726509435685759282382489224096262430812606322761979303902195556132755315573864100085542257157063279 15769362832220743930664489265263492184097753274363169249337638425198648086146646603027552961932841175249741699735329934345996752425813676611005099708958021456001968783691635370067582996532176156662824758808327931993702897851275160365371509091290308597044241911662162585064877479298177831690457697022933410406169919143303594321987171082815434293175479252615457253533499724144176814004537427950493560734435969139057673872007685384390126835011722281746748196119870332735344644523315207486651251494404996912967457813725282779037615723269207321609799635954320256796724449537195088515324188842083309768994865100427229669967925045375363945338322979862906397102411102433187412790040163644823782013679744125909910783207922378460921739464852370610863857106537810626828245092445527466576001799417726358724832678480397441172173330760412435630850230334069431082055750757956250818791156521793867180473361630990526014639693391038280886507829629131537144606219155733576910628169191258717810174583167246970114935422774396739519509536558853786800113557586814298480994362597540182258421983706712142244463106621828447601371528542544904366202937303667827238338446368524915171564995755702952287200823050727510467852539825000253926380105945751109339006240606842214235502086451796886773956607129447945274911473992455679697457918720072500823114341565470150174462608053164113493817283041205810436735674338544367980678775702460761949563768885472050240887949271882072048784172888858608319983407070440255618766692900812340052688180895622588522705008033415260740885290888381351030125533079527929894755993419218181014205888129055895845440314110784880834569400223067980266210548903610651700482 25515365043462469145811087349997243179536075985592061802299499949630777537258530335857558916258579688811905411728172657231096838600764959623119895801975508789469732205124428875522513449418705162671524119450436065546696982731017847999430278325246157594345181817317466814649118043491509052201241610599023294164629843918570429279350403132369794914252721958028656720033563657570798141387168169381043740210959781870497570105441501139199898646671321542569737022435223808573349518531193122378239596127185971207768841078686173927470649259543682687388161437148522665444859471349041155612065095468535217133616158496549377995177427571696994903063574428904576674119971707345754079567844502201175369779497957879452199127092071611874567636046690677985717791166595624925734643517600698883535841068349153153760693294858912217037551014122255924034371415959794703108635804315304308146940545305549498240865195871625801187304822719098291509207437724398006000331818490667689546435343591729587552268604216598432931390708317698149868638588229125653822314143057755560043749159685922125107739369445287964879298120968239391484386691116208738418074575329658386093564166663844449863730310311461758400030287004136542146976087095789798792506627888430890133647941869277018796255775497894800366038326593732305128971387481637182999844472737278144163781802900514693880419131880817168294997167778778794524722328454342267031159418518600218724848964423676928353377189365575756184402792724316279289656050677742823736431170557240228978853132375215937461937597222719469886632805497303215417568854275594656404191679178500563503429984391486708451763076090088783030125532978383554130310634445867808763761 41284727875683213076475576615260735363633829259955231051637138374829425623405176938885111878191420864061647111463502591577093591026578636234124995510933530245471700988816064245590096445950881319334348878258763997540399880582293008364801787416536466191389423728979629399713995522789686883891699307621956704570799763061874023601337574215185229207428201210644113973567063381714974955391705597331537300945395751009555243977449186523590025481683043824316485218555094141308694163054508329864890847621590968120736298892411456706508264982812890008997961073102842922241583920886236244127389284310618526902611023596976607665145352617072358848401897408767483071222382809778941492357884665845999151793177702005362109910299993990335489375511543048596581648273133435552562888610046226350111842867766879512485525973339309658209724344882668359665221646293864134190691555073260558965731701827343365421338557502616327201944516110136572395715267353529543144938037646401266457063512782988305362443187383845403046326131092094889388148124787979440622427700644569858524743522283462307366161353152000107123761227590067839085758219658753642784277512633326213331902613032369365035295306067164710687231110054864052614828626920790052718886733834181999472654182476119233031757861949691687139994933723180250403882861474092862697302391457350644986896144465984844054881739933981281788814450819984604961458002792886635011838194221060980674412733309148978594265138637457828233186965613174887609639457748183079355197863458052569031541313270838525984642605256134730627518096385684566447694387355122586298947672597718744517635872520542604297203390200873663864694933201451534396521183349478460464243 66800092919145682222286663965257978543169905245547292853936638324460203160663707274742670794450000552873552523191675248808190429627343595857244891312909039034941433193940493121112609895369586482005872997709200063087096863313310856364232065741782623785734605546297096214363113566281195936092940918220979998735429606980444452880687977347555024121680923168672770693600627039285773096778873766712581041156355532880052814082890687662789924128354365366886222240990317949882043681585701452243130443748776939328505139971097630633978914242356572696386122510251365587686443392235277399739454379779153744036227182093525985660322780188769353751465471837672059745342354517124695571925729168047174521572675659884814309037392065602210057011558233726582299439439729060478297532127646925233647683936116032666246219268198221875247275359004924283699593062253658837299327359388564867112672247132892863662203753374242128389249338829234863904922705077927549145269856137068956003498856374717892914711791600443835977716839409793039256786713017105094444741843702325418568492681969384432473900722597288072003059348558307230570144910774962381202352087962984599425466779696213814899025616378626469087261397059000594761804714016579851511393361722612889606302124345396251828013637447586487506033260316912555532854248955730045697146864194628789150677947366499537935300871814798450083811618598763399486180331247228902042997612739661199399261697732825906947642328003033584417589758337491166899295508425925903091629034015292798010394445646054463446580202478854200514150901882987781865263241630717242703139351776219308021065856912029312748966466290962446894820466179835088526831817795346269228004 108084820794828895298762240580518713906803734505502523905573776699289628784068884213627782672641421416935199634655177840385284020653922232091369886823842569280413134182756557366702706341320467801340221875967964060627496743895603864729033853158319089977124029275276725614077109089070882819984640225842936703306229370042318476482025551562740253329109124379316884667167690421000748052170579364044118342101751283889608058060339874186379949610037409191202707459545412091190737844640209782108021291370367907449241438863509087340487179225169462705384083583354208509928027313121513643866843664089772270938838205690502593325468132805841712599867369246439542816564737326903637064283613833893173673365853361890176418947692059592545546387069776775178881087712862496030860420737693151583759526803882912178731745241537531533456999703887592643364814708547522971490018914461825426078403948960236229083542310876858455591193854939371436300637972431457092290207893783470222460562369157706198277154978984289239024042970501887928644934837805084535067169544346895277093236204252846739840062075749288179126820576148375069655903130433716023986629600596310812757369392728583179934320922445791179774492507113864647376633340937369904230280095556794889078956306821515484859771499397278174646028194040092805936737110429822908394449255651979434137574091832484381990182611748779731872626069418748004447638334040115537054835806960722180073674431041974885541907466640491412650776723950666054508934966174108982446826897473345367041935758916892989431222807734988931141668998268672348312957628985839829002087024373938052538701729432571917046169856491836110759515399381286622923353001144824729692247 174884913713974577521048904545776692449973639751049816759510415023749831944732591488370453467091421969808752157846853089193474450281265827948614778136751608315354567376697050487815316236690054283346094873677164123714593607208914721093265918900101713762858634821573821828440222655352078756077581144063916702041658977022762929362713528910295277450790047547989655360768317460286521148949453130756699383258106816769660872143230561849169873738391774558088929700535730041072781526225911234351151735119144846777746578834606717974466093467526035401770206093605574097614470705356791043606298043868926014975065387784028578985790912994611066351332841084111602561907091844028332636209343001940348194938529021774990727985084125194755603398628010501761180527152591556509157952865340076817407210739998944844977964509735753408704275062892516927064407770801181808789346273850390293191076196093129092745746064251100583980443193768606300205560677509384641435477749920539178464061225532424091191866770584733075001759809911680967901721550822189629511911388049220695661728886222231172313962798346576251129879924706682300226048041208678405188981688559295412182836172424796994833346538824417648861753904172865242138438054953949755741673457279407778685258431166911736687785136844864662152061454357005361469591359385552954091596119846608223288252039198983919925483483563578181956437688017511403933818665287344439097833419700383379472936128774800792489549794643524997068366482288157221408230474600034885538455931488638165052330204562947452877803010213843131655819900151660130178220870616557071705226376150157360559767586344601229795136322782798557654335865561121711450184818940170998920251 282969734508803472819811145126295406356777374256552340665084191723039460728801475701998236139732843386743951792502030929578758470935188060039984664960594177595767701559453607854518022578010522084686316749645128184342090351104518585822299772058420803739982664096850547442517331744422961576062221369906853405347888347065081405844739080473035530779899171927306540027936007881287269201120032494800817725359858100659268930203570436035549823348429183749291637160081142132263519370866121016459173026489512754226988017698115805314953272692695498107154289676959782607542498018478304687473141707958698285913903593474531172311259045800452778951200210330551145378471829170931969700492956835833521868304382383665167146932776184787301149785697787276940061614865454052540018373603033228401166737543881857023709709751273284942161274766780109570429222479348704780279365188312215719269480145053365321829288375127959039571637048707977736506198649940841733725685643704009400924623594690130289469021749569022314025802780413568896546656388627274164579080932396115972754965090475077912154024874095864430256700500855057369881951171642394429175611289155606224940205565153380174767667461270208828636246411286729889515071395891319659971953552836202667764214737988427221547556636242142836798089648397098167406328469815375862486045375498587657425826131031468301915666095312357913829063757436259408381456999327459976152669226661105559546610559816775678031457261284016409719143206238823275917165440774143867985282828961983532094265963479840442309025817948832062797488898420332478491178499602396900707313400524095413098469315777173146841306179274634668413851264942408334373537820084995728612498 457854648222778050340860049672072098806751014007602157424594606746789292673534067190368689606824265356552703950348884018772232921216453887988599443097345785911122268936150658342333338814700576368032411623322292308056683958313433306915565690958522517502841298918424369270957554399775040332139802513970770107389547324087844335207452609383330808230689219475296195388704325341573790350069485625557517108617964917428929802346800997884719697086820958307380566860616872173336300897092032250810324761608657601004734596532722523289419366160221533508924495770565356705156968723835095731079439751827624300888968981258559751297049958795063845302533051414662747940378921014960302336702299837773870063242911405440157874917860309982056753184325797778701242142018045609049176326468373305218573948283880801868687674261009038350865549829672626497493630250149886589068711462162606012460556341146494414575034439379059623552080242476584036711759327450226375161163393624548579388684820222554380660888520153755389027562590325249864448377939449463794090992320445336668416693976697309084467987672442440681386580425561739670107999212851072834364592977714901637123041737578177169601014000094626477498000315459595131653509450845269415713627010115610446449473169155338958235341773087007498950151102754103528875919829200928816577641495345195880714078170230452221841149578875936095785501445453770812315275664614804415250502646361488939019546688591576470521007055927541406787509688526980497325395915374178753523738760450621697146596168042787895186828828162675194453308798571992608669399370218953972412539776674252773658236902121774376636442502057433226068187130503530045823722639025166727532749 740824382731581523160671194798367505163528388264154498089678798469828753402335542892366925746557108743296655742850914948350991392151641948028584108057939963506889970495604266196851361392711098452718728372967420492398774309417951892737865463016943321242823963015274916713474886144198001908202023883877623512737435671152925741052191689856366339010588391402602735416640333222861059551189518120358334833977823018088198732550371433920269520435250142056672204020698014305599820267958153267269497788098170355231722614230838328604372638852917031616078785447525139312699466742313400418552581459786322586802872574733090923608309004595516624253733261745213893318850750185892272037195256673607391931547293789105325021850636494769357902970023585055641303756883499661589194700071406533619740685827762658892397384012282323293026824596452736067922852729498591369348076650474821731730036486199859736404322814507018663123717291184561773217957977391068108886849037328557980313308414912684670129910269722777703053365370738818760995034328076737958670073252841452641171659067172386996622012546538305111643280926416797039989950384493467263540204266870507862063247302731557344368681461364835306134246726746325021168580846736589075685580562951813114213687907143766179782898409329150335748240751151201696282248299016304679063686870843783538139904301261920523756815674188294009614565202890030220696732663942264391403171873022594498566157248408352148552464317211557816506652894765803773242561356148322621509021589412605229240862131522628337495854646111507257250797696992325087160577869821350873119853177198348186756706217898947523477748681332067894482038395445938380197260459110162456145247 1198679030954359573501531244470439603970279402271756655514273405216618046075869610082735615353381374099849359693199798967123224313368095836017183551155285749418012239431754924539184700207411674820751139996289712800455458267731385199653431153975465838745665261933699285984432440543973042240341826397848393620126982995240770076259644299239697147241277610877898930805344658564434849901259003745915851942595787935517128534897172431804989217522071100364052770881314886478936121165050185518079822549706827956236457210763560851893792005013138565125003281218090496017856435466148496149632021211613946887691841555991650674905358963390580469556266313159876641259229671200852574373897556511381261994790205194545482896768496804751414656154349382834342545898901545270638371026539779838838314634111643460761085058273291361643892374426125362565416482979648477958416788112637427744190592827346354150979357253886078286675797533661145809929717304841294484048012430953106559701993235135239050790798789876533092080927961064068625443412267526201752761065573286789309588353043869696081090000218980745793029861351978536710097949597344540097904797244585409499186289040309734513969695461459461783632247042205920152822090297581858491399207573067423560663161076299105138018240182416157834698391853905305225158168128217233495641328366188979418853982471492372745597965253064230105400066648343801033012008328557068806653674519384083437585703936999928619073471373139099223294162583292784270567957271522501375032760349863226926387458299565416232682683474274182451704106495564317695829977240040304845532392953872600960414943120020721900114191183389501120550225525949468426020983098135329183677996 1939503413685941096662202439268807109133807790535911153603952203686446799478205152975102541099938482843146015436050713915474215705519737784045767659213225712924902209927359190736036061600122773273469868369257133292854232577149337092391296616992409159988489224948974202697907326688171044148543850281726017132864418666393695817311835989096063486251866002280501666221984991787295909452448521866274186776573610953605327267447543865725258737957321242420724974902012900784535941433008338785349320337804998311468179824994399180498164643866055596741082066665615635330555902208461896568184602671400269474494714130724741598513667967986097093809999574905090534578080421386744846411092813184988653926337498983650807918619133299520772559124372967889983849655785044932227565726611186372458055319939406119653482442285573684936919199022578098633339335709147069327764864763112249475920629313546213887383680068393096949799514824845707583147675282232362592934861468281664540015301650047923720920709059599310795134293331802887386438446595602939711431138826128241950760012111042083077712012765519050904673142278395333750087899981838007361445001511455917361249536343041291858338376922824297089766493768952245173990671144318447567084788136019236674876848983442871317801138591745308170446632605056506921440416427233538174705015237032762956993886772754293269354780927252524115014631851233831253708740992499333198056846392406677936151861185408280767625935690350657039800815478058588043810518627670823996541781939275832155628320431088044570178538120385689708954904192556642782990555109861655718652246131070949147171649337919669423591939864721569015032263921395406806218243557245491639823243 3138182444640300670163733683739246713104087192807667809118225608903064845554074763057838156453319856942995375129250512882597440018887833620062951210368511462342914449359114115275220761807534448094221008365546846093309690844880722292044727770967874998734154486882673488682339767232144086388885676679574410752991401661634465893571480288335760633493143613158400597027329650351730759353707525612190038719169398889122455802344716297530247955479392342784777745783327787263472062598058524303429142887511826267704637035757960032391956648879194161866085347883706131348412337674610392717816623883014216362186555686716392273419026931376677563366265888064967175837310092587597420784990369696369915921127704178196290815387630104272187215278722350724326395554686590202865936753150966211296369954051049580414567500558865046580811573448703461198755818688795547286181652875749677220111222140892568038363037322279175236475312358506853393077392587073657076982873899234771099717294885183162771711507849475843887215221292866956011881858863129141464192204399415031260348365154911779158802012984499796697703003630373870460185849579182547459349798756041326860435825383351026372308072384283758873398740811158165326812761441900306058483995709086660235540010059741976455819378774161466005145024458961812146598584555450771670346343603221742375847869244246666014952746180316754220414698499577632286720749321056402004710520911790761373737565122408209386699407063489756263094978061351372314378475899193325371574542289139059082015778730653460802861221594659872160659010688120960478820532349901960564184639084943550107586592457940391323706131048111070135582489447344875232239226655380820823501239 5077685858326241766825936123008053822237894983343578962722177812589511645032279916032940697553258339786141390565301226798071655724407571404108718869581737175267816659286473306011256823407657221367690876734803979386163923422030059384436024387960284158722643711831647691380247093920315130537429526961300427885855820328028161710883316277431824119745009615438902263249314642139026668806156047478464225495743009842727783069792260163255506693436713585205502720685340688048008004031066863088778463225316824579172816860752359212890121292745249758607167414549321766678968239883072289286001226554414485836681269817441133871932694899362774657176265462970057710415390513974342267196083182881358569847465203161847098734006763403792959774403095318614310245210471635135093502479762152583754425273990455700068049942844438731517730772471281559832095154397942616613946517638861926696031851454438781925746717390672272186274827183352560976225067869306019669917735367516435639732596535231086492632216909075154682349514624669843398320305458732081175623343225543273211108377265953862236514025750018847602376145908769204210273749561020554820794800267497244221685361726392318230646449307108055963165234580110410500803432586218753625568783845105896910416859043184847773620517365906774175591657064018319068039000982684309845051358840254505332841756017000959284307527107569278335429330350811463540429490313555735202767367304197439309889426307816490154325342753840413302895793539409960358188994526864149368116324228414891237644099161741505373039759715045561869613914880677603261811087459763616282836885216014499254758241795860060747298070912832639150614753368740282038457470212626312463324482 8215868302966542436989669806747300535341982176151246771840403421492576490586354679090778854006578196729136765694551739680669095743295405024171670079950248637610731108645587421286477585215191669461911885100350825479473614266910781676480752158928159157456798198714321180062586861152459216926315203640874838638847221989662627604454796565767584753238153228597302860276644292490757428159863573090654264214912408731850238872136976460785754648916105927990280466468668475311480066629125387392207606112828650846877453896510319245282077941624443920473252762433027898027380577557682682003817850437428702198867825504157526145351721830739452220542531351035024886252700606561939687981073552577728485768592907340043389549394393508065146989681817669338636640765158225337959439232913118795050795228041505280482617443403303778098542345919985021030850973086738163900128170514611603916143073595331349964109754712951447422750139541859414369302460456379676746900609266751206739449891420414249264343724758550998569564735917536799410202164321861222639815547624958304471456742420865641395316038734518644300079149539143074670459599140203102280144599023538571082121187109743344602954521691391814836563975391268575827616194028119059684052779554192557145956869102926824229439896140068240180736681522980131214637585538135081515397702443476247708689625261247625299260273287886032555844028850389095827150239634612137207477888215988200683626991430224699541024749817330169565990771600761332672567470426057474739690866517553950319659877892394966175900981309705434030272925568798563740631619809665576847021524300958049362344834253800452071004201960943709286197242816085157270696696868007133286825721 13293554161292784203815605929755354357579877159494825734562581234082088135618634595123719551559836536515278156259852966478740751467702976428280388949531985812878547767932060727297734408622848890829602761835154804865637537688940841060916776546888443316179441910545968871442833955072774347463744730602175266524703042317690789315338112843199408872983162844036205123525958934629784096966019620569118489710655418574578021941929236624041261342352819513195783187154009163359488070660192250480986069338145475426050270757262678458172199234369693679080420176982349664706348817440754971289819076991843188035549095321598660017284416730102226877718796814005082596668091120536281955177156735459087055616058110501890488283401156911858106764084912987952946885975629860473052941712675271378805220502031960980550667386247742509616273118391266580862946127484680780514074688153473530612174925049770131889856472103623719609024966725211975345527528325685696416818344634267642379182487955645335756975941667626153251914250542206642808522469780593303815438890850501577682565119686819503631830064484537491902455295447912278880733348701223657100939399291035815303806548836135662833600970998499870799729209971378986328419626614337813309621563399298454056373728146111672003060413505975014356328338586998450282676586520819391360449061283730753041531381278248584583567800395455310891273359201200559367579729948167872410245255520185639993516417738041189695350092571170582868886565140171293030756464952921624107807190745968841557303977054136471548940741024750995899886840449476167002442707269429193129858409516972548617103076049660512818302272873776348436811996184825439309154167080633445750150203 21509422464259326640805275736502654892921859335646072506402984655574664626204989274214498405566414733244414921954404706159409847210998381452452059029482234450489278876577648148584211993838040560291514646935505630345111151955851622737397528705816602473636240109260290051505420816225233564390059934243050105163550264307353416919792909408966993626221316072633507983802603227120541525125883193659772753925567827306428260814066213084827015991268925441186063653622677638670968137289317637873193675450974126272927724653772997703454277175994137599553672939415377562733729394998437653293636927429271890234416920825756186162636138560841679098261328165040107482920791727098221643158230288036815541384651017841933877832795550419923253753766730657291583526740788085811012380945588390173856015730073466261033284829651046287714815464311251601893797100571418944414202858668085134528317998645101481853966226816575167031775106267071389714829988782065373163718953901018849118632379376059585021319666426177151821478986459743442218724634102454526455254438475459882154021862107685145027146103219056136202534444987055353551192947841426759381083998314574386385927735945879007436555492689891685636293185362647562156035820642456872993674342953491011202330597249038496232500309646043254537065020109978581497314172058954472875846763727207000750221006539496209882828073683341343447117388051589655194729969582780009617723143736173840677143409168265889236374842388500752434877336740932625703323935378979098847498057263522791876963854946531437724841722334456429930159766018274730743074327079094769976879933817930597979447910303460964889306474834720057723009239000910596579850863948640579036975924 34802976625552110844620881666258009250501736495140898240965565889656752761823623869338217957126251269759693078214257672638150598678701357880732447979014220263367826644509708875881946402460889451121117408770660435210748689644792463798314305252705045789815682019806258922948254771298007911853804664845225371688253306625044206235131022252166402499204478916669713107328562161750325622091902814228891243636223245881006282755995449708868277333621744954381846840776686802030456207949509888354179744789119601698977995411035676161626476410363831278634093116397727227440078212439192624583456004421115078269966016147354846179920555290943905975980124979045190079588882847634503598335387023495902597000709128343824366116196707331781360517851643645244530412716417946284065322658263661552661236232105427241583952215898788797331088582702518182756743228056099724928277546821558665140492923694871613743822698920198886640800072992283365060357517107751069580537298535286491497814867331704920778295608093803305073393237001950085027247103883047830270693329325961459836586981794504648658976167703593628104989740434967632431926296542650416482023397605610201689734284782014670270156463688391556436022395334026548484455447256794686303295906352789465258704325395150168235560723152018268893393358696977031779990758579773864236295825010937753791752387817744794466395874078796654338390747252790214562309699530947882027968399256359480670659826906307078931724934959671335303763901881103918734080400331900722955305248009491633434267832000667909273782463359207425830046606467750897745517034348523963106738343334903146596550986353121477707608747708496406159821235185736035889005031029274024787126127 56312399089811437485426157402760664143423595830786970747368550545231417388028613143552716362692666003004108000168662378797560445889699739333184507008496454713857105521087357024466158396298930011412632055706166065555859841600644086535711833958521648263451922129066548974453675587523241476243864599088275476851803570932397623154923931661133396125425794989303221091131165388870867147217786007888663997561791073187434543570061662793695293324890670395567910494399364440701424345238827526227373420240093727971905720064808673865080753586357968878187766055813104790173807607437630277877092931850386968504382936973111032342556693851785585074241453144085297562509674574732725241493617311532718138385360146185758243948992257751704614271618374302536113939457206032095077703603852051726517251962178893502617237045549835085045904047013769784650540328627518669342480405489643799668810922339973095597788925736774053672575179259354754775187505889816442744256252436305340616447246707764505799615274519980456894872223461693527245971737985502356725947767801421341990608843902189793686122270922649764307524185422022985983119244384077175863107395920184588075662020727893677706711956378283242072315580696674110640491267899251559296970249306280476461034922644188664468061032798061523430458378806955613277304930638728337112142588738144754541973394357241004349223947762137997785508135304379869757039669113727891645691542992533321347803236074572968168099777348172087738641238622036544437404335710879821802803305273014425311231686947199346998624185693663855760206372486025628488591361427618733083618277152833744575998896656582442596915222543216463882830474186646632468855894977914603824102051 91115375715363548330047039069018673393925332325927868988334116434888170149852237012890934319818917272763801078382920051435711044568401097213916954987510674977224932165597065900348104798759819462533749464476826500766608531245436550334026139211226694053267604148872807897401930358821249388097669263933500848540056877557441829390054953913299798624630273905972934198459727550621192769309688822117555241198014319068440826326057112502563570658512415349949757335176051242731880553188337414581553165029213329670883715475844350026707229996721800156821859172210832017613885819876822902460548936271502046774348953120465878522477249142729491050221578123130487642098557422367228839829004335028620735386069274529582610065188965083485974789470017947780644352173623978379143026262115713279178488194284320744201189261448623882376992629716287967407283556683618394270757952311202464809303846034844709341611624656972940313375252251638119835545022997567512324793550971591832114262114039469426577910882613783761968265460463643612273218841868550186996641097127382801827195825696694442345098438626243392412513925856990618415045540926727592345130793525794789765396305509908347976868420066674798508337976030700659124946715156046245600266155659069941719739248039338832703621755950079792323851737503932645057295689218502201348438413749082508333725782174985798815619821840934652123898882557170084319349368644675773673659942248892802018463062980880047099824712307843423042405140503140463171484736042780544758108553282506058745499518947867256272406649052871281590252978953776526234108395776142696190356620487736891172549883009703920304523970251712870042651709372382668357860926007188628611228178 147427774805174985815473196471779337537348928156714839735702666980119587537880850156443650682511583275767909078551582430233271490458100836547101461996007129691082037686684422924814263195058749473946381520182992566322468372846080636869737973169748342316719526277939356871855605946344490864341533863021776325391860448489839452544978885574433194750056068895276155289590892939492059916527474830006219238759805392255875369896118775296258863983403085745517667829575415683433304898427164940808926585269307057642789435540653023891787983583079769035009625228023936807787693427314453180337641868121889015278731890093576910865033942994515076124463031267215785204608231997099954081322621646561338873771429420715340854014181222835190589061088392250316758291630830010474220729865967765005695740156463214246818426306998458967422896676730057752057823885311137063613238357800846264478114768374817804939400550393746993985950431510992874610732528887383955069049803407897172730709360747233932377526157133764218863137683925337139519190579854052543722588864928804143817804669598884236031220709548893156720038111279013604398164785310804768208238189445979377841058326237802025683580376444958040580653556727374769765437983055297804897236404965350418180774170683527497171682788748141315754310116310888258334600619857230538460581002487227262875699176532226803164843769603072649909407017861549954076389037758403665319351485241426123366266299055453015267924489656015510781046379125177007608889071753660366560911858555520484056731205895066603271030834746535137350459351439802154722699757203761429273974897640570635748548779666286362901439192794929333925482183559029300826716820985103232435330229 238543150520538534145520235540798010931274260482642708724036783415007757687733087169334585002330500548531710156934502481668982535026501933761018416983517804668306969852281488825162367993818568936480130984659819067089076904091517187203764112380975036369987130426812164769257536305165740252439203126955277173931917326047281281935033839487732993374686342801249089488050620490113252685837163652123774479957819711324316196222175887798822434641915501095467425164751466926165185451615502355390479750298520387313673151016497373918495213579801569191831484400234768825401579247191276082798190804393391062053080843214042789387511192137244567174684609390346272846706789419467182921151625981589959609157498695244923464079370187918676563850558410198097402643804453988853363756128083478284874228350747534991019615568447082849799889306446345719465107441994755457883996310112048729287418614409662514281012175050719934299325683762630994446277551884951467393843354379489004844971474786703358955437039747547980831403144388980751792409421722602730719229962056186945645000495295578678376319148175136549132552037136004222813210326237532360553368982971774167606454631747710373660448796511632839088991532758075428890384698211344050497502560624420359900513418722866329875304544698221108078161853814820903391896309075732739809019416236309771209424958707212601980463591444007302033305900418720038395738406403079438993011427490318925384729362036333062367749201963858933823451519628317470780373807796440911319020411838026542802230724842933859543437483799406418940712330393578680956808152979904125464331518128307526921098662675990283205963163046642203968133892931411969184577746992291861046558407 385970925325713519960993432012577348468623188639357548459739450395127345225613937325778235684842083824299619235486084911902254025484602770308119878979524934359389007538965911749976631188877318410426512504842811633411545276937597824073502085550723378686706656704751521641113142251510231116780736989977053499323777774537120734480012725062166188124742411696525244777641513429605312602364638482129993718717625103580191566118294663095081298625318586840985092994326882609598490350042667296199406335567827444956462586557150397810283197162881338226841109628258705633189272674505729263135832672515280077331812733307619700252545135131759643299147640657562058051315021416567137002474247628151298482928928115960264318093551410753867152911646802448414160935435283999327584485994051243290569968507210749237838041875445541817222785983176403471522931327305892521497234667912894993765533382784480319220412725444466928285276115273623869057010080772335422462893157787386177575680835533937291332963196881312199694540828314317891311600001576655274441818826984991089462805164894462914407539857724029705852590148415017827211375111548337128761607172417753545447512957985512399344029172956590879669645089485450198655822681266641855394738965589770778081287589406393827046987333446362423832471970125709161726496928932963278269600418723537034085124135239439405145307361047079951942712918280269992472127444161483104312362912731745048750995661091786077635673691619874444604497898753494478389262879550101277879932270393547026858961930738000462814468318545941556291171681833380835679507910183665554738306415768878162669647442342276646107402355841571537893616076490441270011294567977395093481888636 624514075846252054106513667553375359399897449122000257183776233810135102913347024495112820687172584372831329392420587393571236560511104704069138295963042739027695977391247400575138999182695887346906643489502630700500622181029115011277266197931698415056693787131563686410370678556675971369219940116932330673255695100584402016415046564549899181499428754497774334265692133919718565288201802134253768198675444814904507762340470550893903733267234087936452518159078349535763675801658169651589886085866347832270135737573647771728778410742682907418672594028493474458590851921697005345934023476908671139384893576521662489640056327269004210473832250047908330898021810836034319923625873609741258092086426811205187782172921598672543716762205212646511563579239737988180948242122134721575444196857958284228857657443892624667022675289622749190988038769300647979381230978024943723052951997194142833501424900495186862584601799036254863503287632657286889856736512166875182420652310320640650288400236628860180525943972703298643104009423299258005161048789041178035107805660190041592783859005899166254985142185551022050024585437785869489314976155389527713053967589733222773004477969468223718758636622243525627546207379477985905892241526214191137981801008129260156922291878144583531910633823940530065118393238008696018078619834959846805294549093946652007125770952491087253976018818698990030867865850564562543305374340222063974135725023128119140003422893583733378427949418381811949169636687346542189198952682231573569661192655580934322357905802345347975231884012226959516636316063163569680202637933897185689590746105018266929313365518888213741861749969421853239195872314969686954528447043 1010485001171965574067507099565952707868520637761357805643515684205262448138960961820891056372014668197130948627906672305473490585995707474377258174942567673387084984930213312325115630371573205757333155994345442333912167457966712835350768283482421793743400443836315208051483820808186202486000677106909384172579472875121522750895059289612065369624171166194299579043333647349323877890566440616383761917393069918484699328458765213988985031892552674777437611153405232145362166151700836947789292421434175277226598324130798169539061607905564245645513703656752180091780124596202734609069856149423951216716706309829282189892601462400763853772979890705470388949336832252601456926100121237892556575015354927165452100266473009426410869673852015094925724514675021987508532728116185964866014165365169033466695699319338166484245461272799152662510970096606540500878465645937838716818485379978623152721837625939653790869877914309878732560297713429622312319629669954261359996333145854577941621363433510172380220484801017616534415609424875913279602867616026169124570610825084504507191398863623195960837732333966039877235960549334206618076583327807281258501480547718735172348507142424814598428281711728975826202030060744627761286980491803961916063088597535653983969279211590945955743105794066239226844890166941659296348220253683383839379673229186091412271078313538167205918731736979260023339993294726045647617737252953809022886720684219905217639096585203607823032447317135306427558899566896643467078884952625120596520154586318934785172374120891289531523055694060340352315823973347235234940944349666063852260393547360543575420767874729785279755366045912294509207166882947082048010335679 1634999077018217628174020767119328067268418086883358062827291918015397551052307986316003877059187252569962278020327259699044727146506812178446396470905610412414780962321460712900254629554269093104239799483848073034412789638995827846628034481414120208800094230967878894461854499364862173855220617223841714845835167975705924767310105854161964551123599920692073913309025781269042443178768242750637530116068514733389207090799235764882888765159786762713890129312483581681125841953359006599379178507300523109496734061704445941267840018648247153064186297685245654550370976517899739955003879626332622356101599886350944679532657789669768064246812140753378719847358643088635776849725994847633814667101781738370639882439394608098954586436057227741437288093914759975689480970238320686441458362223127317695553356763230791151268136562421901853499008865907188480259696623962782439871437377172765986223262526434840653454479713346133596063585346086909202176366182121136542416985456175218591909763670139032560746428773720915177519618848175171284763916405067347159678416485274546099975257869522362215822874519517061927260545987120076107391559483196808971555448137451957945352985111893038317186918333972501453748237440222613667179222018018153054044889605664914140891571089735529487653739618006769291963283404950355314426840088643230644674222323132743419396849266029254459894750555678250054207859145290608190923111593175872997022445707348024357642519478787341201460396735517118376728536254243185656277837634856694166181347241899869107530279923236637506754939706287299868952140036510804915143582283563249541851139652378810504734133393617999021617116015334147748403039197916769002538782722 2645484078190183202241527866685280775136938724644715868470807602220659999191268948136894933431201920767093226648233932004518217732502519652823654645848178085801865947251674025225370259925842298861572955478193515368324957096962540681978802764896542002543494674804194102513338320173048376341221294330751099018414640850827447518205165143774029920747771086886373492352359428618366321069334683367021292033461584651873906419258000978871873797052339437491327740465888813826488008105059843547168470928734698386723332385835244110806901626553811398709700001341997834642151101114102474564073735775756573572818306196180226869425259252070531918019792031458849108796695475341237233775826116085526371242117136665536091982705867617525365456109909242836363012608589781963198013698354506651307472527588296351162249056082568957635513597835221054516009978962513728981138162269900621156689922757151389138945100152374494444324357627656012328623883059516531514495995852075397902413318602029796533531127103649204940966913574738531711935228273051084564366784021093516284249027310359050607166656733145558176660606853483101804496506536454282725468142811004090230056928685170693117701492254317852915615200045701477279950267500967241428466202509822114970107978203200568124860850301326475443396845412073008518808173571892014610775060342326614484053895552318834831667927579567421665813482292657510077547852440016653838540848846129682019909166391567929575281616063990949024492844052652424804287435821139829123356722587481814762701501828218803892702654044127927038277995400347640221267964009858040150084526633229313394111533199739354080154901268347784301372482061246442257610206080863851050549118401 4280483155208400830415548633804608842405356811528073931298099520236057550243576934452898810490389173337055504668561191703562944879009331831270051116753788498216646909573134738125624889480111391965812754962041588402737746735958368528606837246310662211343588905772072996975192819537910550196441911554592813864249808826533372285515270997935994471871371007578447405661385209887408764248102926117658822149530099385263113510057236743754762562212126200205217869778372395507613850058418850146547649436035221496220066447539690052074741645202058551773886299027243489192522077632002214519077615402089195928919906082531171548957917041740299982266604172212227828644054118429873010625552110933160185909218918403906731865145262225624320042545966470577800300702504541938887494668592827337748930889811423668857802412845799748786781734397642956369508987828420917461397858893863403596561360134324155125168362678809335097778837341002145924687468405603440716672362034196534444830304058205015125440890773788237501713342348459446889454847121226255849130700426160863443927443795633596707141914602667920392483481373000163731757052523574358832859702294200899201612376822622651063054477366210891232802118379673978733698504941189855095645424527840268024152867808865482265752421391062004931050585030079777810771456976842369925201900430969845128728117875451578251064776845596676125708232848335760131755711585307262029463960439305555016931612098915953932924135542778290225953240788169543181015972075383014779634560222338508928882849070118673000232933967364564545032935106634940090220104046368845065228108916792562935962672852118164584889034661965783322989598076580590006013245278780620053087901123 6925967233398584032657076500489889617542295536172789799768907122456717549434845882589793743921591094104148731316795123708081162611511851484093705762601966584018512856824808763350995149405953690827385710440235103771062703832920909210585640011207204213887083580576267099488531139710958926537663205885343912882664449677360819803720436141710024392619142094464820898013744638505775085317437609484680114182991684037137019929315237722626636359264465637696545610244261209334101858163478693693716120364769919882943398833374934162881643271755869950483586300369241323834673178746104689083151351177845769501738212278711398418383176293810831900286396203671076937440749593771110244401378227018686557151336055069442823847851129843149685498655875713414163313311094323902085508366947333989056403417399720020020051468928368706422295332232864010885518966790934646442536021163764024753251282891475544264113462831183829542103194968658158253311351465119972231168357886271932347243622660234811658972017877437442442680255923197978601390075394277340413497484447254379728176471105992647314308571335813478569144088226483265536253559060028641558327845105204989431669305507793344180755969620528744148417318425375456013648772442157096524111627037662382994260846012066050390613271692388480374447430442152786329579630548734384535976960773296459612782013427770413082732704425164097791521715140993270209303564025323915868004809285435237036840778490483883508205751606769239250446084840821967985303407896522843902991282809820323691584350898337476892935588011492491583310930506982580311488068056226885215312635550021876330074206051857518665043935930313567624362080137827032263623451359644471103637019524 11206450388606984863072625134294498459947652347700863731067006642692775099678422817042692554411980267441204235985356315411644107490521183315363756879355755082235159766397943501476620038886065082793198465402276692173800450568879277739192477257517866425230672486348340096463723959248869476734105117439936726746914258503894192089235707139646018864490513102043268303675129848393183849565540535602338936332521783422400133439372474466381398921476591837901763480022633604841715708221897543840263769800805141379163465280914624214956384916957928502257472599396484813027195256378106903602228966579934965430658118361242569967341093335551131882553000375883304766084803712200983255026930337951846743060554973473349555712996392068774005541201842183991963614013598865840973003035540161326805334307211143688877853881774168455209077066630506967255027954619355563903933880057627428349812643025799699389281825509993164639882032309660304177998819870723412947840719920468466792073926718439826784412908651225679944393598271657425490844922515503596262628184873415243172103914901626244021450485938481398961627569599483429268010611583603000391187547399405888633281682330415995243810446986739635381219436805049434747347277383346951619757051565502651018413713820931532656365693083450485305498015472232564140351087525576754461178861204266304741510131303221991333797481270760773917229947989329030341059275610631177897468769724740792053772390589399837441129887149547529476399325628991511166319379971905858682625843032158832620467199968456149893168521978857056128343865613617520401708172102595730280540744466814439266036878903975683249932970592279350947351678214407622269636696638425091156724920647 18132417622005568895729701634784388077489947883873653530835913765149492649113268699632486298333571361545352967302151439119725270102033034799457462641957721666253672623222752264827615188292018773620584175842511795944863154401800186949778117268725070639117756066924607195952255098959828403271768323325280639629578708181255011892956143281356043257109655196508089201688874486898958934882978145087019050515513467459537153368687712189008035280741057475598309090266894814175817566385376237533979890165575061262106864114289558377838028188713798452741058899765726136861868435124211592685380317757780734932396330639953968385724269629361963782839396579554381703525553305972093499428308564970533300211891028542792379560847521911923691039857717897406126927324693189743058511402487495315861737724610863708897905350702537161631372398863370978140546921410290210346469901221391453103063925917275243653395288341176994181985227278318462431310171335843385179009077806740399139317549378674638443384926528663122387073854194855404092234997909780936676125669320669622900280386007618891335759057274294877530771657825966694804264170643631641949515392504610878064950987838209339424566416607268379529636755230424890760996049825504048143868678603165034012674559832997583046978964775838965679945445914385350469930718074311138997155821977562764354292144730992404416530185695924871708751663130322300550362839635955093765473579010176029090613169079883720949335638756316768726845410469813479151622787868428702585617125841979156312051550866793626786104109990349547711654796120600100713196240158822615495853380016836315596111084955833201914976906522592918571713758352234654533260147998069562260361940171 29338868010612553758802326769078886537437600231574517261902920407842267748791691516675178852745551628986557203287507754531369377592554218114821219521313476748488832389620695766304235227178083856413782641244788488118663604970679464688970594526242937064348428553272947292415979058208697880005873440765217366376492966685149203982191850421002062121600168298551357505364004335292142784448518680689357986848035250881937286808060186655389434202217649313500072570289528419017533274607273781374243659966380202641270329395204182592794413105671726954998531499162210949889063691502318496287609284337715700363054449001196538353065362964913095665392396955437686469610357018173076754455238902922380043272446002016141935273843913980697696581059560081398090541338292055584031514438027656642667072031822007397775759232476705616840449465493877945395574876029645774250403781279018881452876568943074943042677113851170158821867259587978766609308991206566798126849797727208865931391476097114465227797835179888802331467452466512829583079920425284532938753854194084866072384300909245135357209543212776276492399227425450124072274782227234642340702939904016766698232670168625334668376863594008014910856192035474325508343327208850999763625730168667685031088273653929115703344657859289450985443461386617914610281805599887893458334683181829069095802276034214395750327666966685645625981611119651330891422115246586271662942348734916821144385559669283558390465525905864298203244736098804990317942167840334561268242968874137988932518750835249776679272631969206603839998661734217621114904412261418345776394124483650754862147963859808885164909877114872269519065436566642276802896844636494653417086860818 47471285632618122654532028403863274614927548115448170792738834172991760397904960216307665151079122990531910170589659193651094647694587252914278682163271198414742505012843448031131850415470102630034366817087300284063526759372479651638748711794968007703466184620197554488368234157168526283277641764090498006006071674866404215875147993702358105378709823495059446707052878822191101719331496825776377037363548718341474440176747898844397469482958706789098381660556423233193350840992650018908223550131955263903377193509493740970632441294385525407739590398927937086750932126626530088972989602095496435295450779641150506738789632594275059448231793534992068173135910324145170253883547467892913343484337030558934314834691435892621387620917277978804217468662985245327090025840515151958528809756432871106673664583179242778471821864357248923536121797439935984596873682500410334555940494860350186696072402192347153003852486866297229040619162542410183305858875533949265070709025475789103671182761708551924718541306661368233675314918335065469614879523514754488972664686916864026692968600487071154023170885251416818876538952870866284290218332408627644763183658006834674092943280201276394440492947265899216269339377034355047907494408771832719043762833486926698750323622635128416665388907301003265080212523674199032455490505159391833450094420765206800166857852662610517334733274249973631441784954882541365428415927745092850234998728749167279339801164662181066930090146568618469469564955708763263853860094716117145244570301702043403465376741959556151551653457854817721828100652420240961272247504500487070458259048815642087079886783637465188090779194918876931336156992634564215677448800989 76810153643230676413334355172942161152365148347022688054641754580834028146696651732982844003824674619518467373877166948182464025287141471029099901684584675163231337402464143797436085642648186486448149458332088772182190364343159116327719306321210944767814613173470501780784213215377224163283515204855715372382564641551553419857339844123360167500309991793610804212416883157483244503780015506465735024211583969223411726984808085499786903685176356102598454230845951652210884115599923800282467210098335466544647522904697923563426854400057252362738121898090148036639995818128848585260598886433212135658505228642347045091854995559188155113624190490429754642746267342318247008338786370815293386756783032575076250108535349873319084201976838060202308010001277300911121540278542808601195881788254878504449423815655948395312271329851126868931696673469581758847277463779429216008817063803425129738749516043517311825719746454275995649928153748976981432708673261158131002100501572903568898980596888440727050008759127881063258394838760350002553633377708839355045048987826109162050178143699847430515570112676866942948813735098100926630921272312644411461416328175460008761320143795284409351349139301373541777682704243206047671120138940500404074851107140855814453668280494417867650832368687621179690494329274086925913825188341220902545896696799421195917185519629296162960714885369624962333207070129127637091358276480009671379384288418450837730266690568045365133334882667423459787507123549097825122103063590255134177089052537293180144649373928762755391652119589035342943005064681659307048641628984137825320407012675450972244796660752337457609844631485519208139053837271058869094535661807 124281439275848799067866383576805435767292696462470858847380588753825788544601611949290509154903797610050377544466826141833558672981728723943378583847855873577973842415307591828567936058118289116482516275419389056245717123715638767966468018116178952471280797793668056269152447372545750446561156968946213378388636316417957635732487837825718272879019815288670250919469761979674346223111512332242112061575132687564886167161555984344184373168135062891696835891402374885404234956592573819190690760230290730448024716414191664534059295694442777770477712297018085123390927944755378674233588488528708570953956008283497551830644628153463214561855984025421822815882177666463417262222333838708206730241120063134010564943226785765940471822894116039006525478664262546238211566119057960559724691544687749611123088398835191173784093194208375792467818470909517743444151146279839550564757558663775316434821918235864464829572233320573224690547316291387164738567548795107396072809527048692672570163358596992651768550065789249296933709757095415472168512901223593844017713674742973188743146744186918584538740997928283761825352687968967210921139604721272056224599986182294682854263423996560803791842086567272758047022081277561095578614547712333123118613940627782513203991903129546284316221275988624444770706852948285958369315693500612735995991117564627996084043372291906680295448159619598593774992025011669002519774204225102521614383017167618117070067855230226432063425029236041929257072079257861088975963158306372279421659354239336583610026115888318906943305577443853064771105717101900268320889133484624895778666061491093059324683444389802645700623826404396139475210829905623084771984462796 201091592919079475481200738749747596919657844809493546902022343334659816691298263682273353158728472229568844918343993090016022698268870194972478485532440548741205179817771735626004021700766475602930665733751477828427907488058797884294187324437389897239095410967138558049936660587922974609844672173801928750771200957969511055589827681949078440379329807082281055131886645137157590726891527838707847085786716656788297894146364069843971276853311418994295290122248326537615119072192497619473157970328626196992672239318889588097486150094500030133215834195108233160030923762884227259494187374961920706612461236925844596922499623712651369675480174515851577458628445008781664270561120209523500116997903095709086815051762135639259556024870954099208833488665539847149333106397600769160920573332942628115572512214491139569096364524059502661399515144379099502291428610059268766573574622467200446173571434279381776655291979774849220340475470040364146171276222056265527074910028621596241469143955485433378818558824917130360192104595855765474722146278932433199062762662569082350793324887886766015054311110605150704774166423067068137552060877033916467686016314357754691615583567791845213143191225868646299824704785520767143249734686652833527193465047768638327657660183623964151967053644676245624461201182222372884283140881841833638541887814364049192001228891921202843256163044989223556108199095140796639611132480705112192993767305586068954800334545798271797196759911903465389044579202806958914098066221896627413598748406776629763754675489817081662334957697032888407714110781783559575369530762468762721099073074166544031569480105142140103310468457889915347614264667176681953866520124603 325373032194928274549067122326553032686950541271964405749402932088485605235899875631563862313632269839619222462810819231849581371250598918915857069380296422319179022233079327454571957758884764719413182009170866884673624611774436652260655342553568849710376208760806614319089107960468725056405829142748142129159837274387468691322315519774796713258349622370951306051356407116831936950003040170949959147361849344353184061307920054188155650021446481885992126013650701423019354028785071438663848730558916927440696955733081252631545445788942807903693546492126318283421851707639605933727775863490629277566417245209342148753144251866114584237336158541273400274510622675245081532783454048231706847239023158843097379994988921405200027847765070138215358967329802393387544672516658729720645264877630377726695600613326330742880457718267878453867333615288617245735579756339108317138332181130975762608393352515246241484864213095422445031022786331751310909843770851372923147719555670288914039307314082426030587108890706379657125814352951180946890659180156027043080476337312055539536471632073684599593052108533434466599519111036035348473200481755188523910616300540049374469846991788406016935033312435919057871726866798328238828349234365166650312078988396420840861652086753510436283274920664870069231908035170658842652456575342446374537878931928677188085272264213109523551611204608822149883191120152465642130906684930214714608150322753687071870402401028498229260184941139507318301651282064820003074029380202999693020407761015966347364701605705400569278263274476741472485216498885459843690419895953387616877739135657637090894163549531942749011092284294311487089475497082305038638504587399 526464625114007750030267861076300629606608386081457952651425275423145421927198139313837215472360742069188067381154812321865604069519469113888335554912736971060384202050851063080575979459651240322343847742922344713101532099833234536554842666990958746949471619727945172369025768548391699666250501316550070879931038232356979746912143201723875153637679429453232361183243052253989527676894568009657806233148566001141481955454284124032126926874757900880287416135899027960634473100977569058137006700887543124433369195051970840729031595883442838036909380687234551443452775470523833193221963238452549984178878482135186745675643875578765953912816333057124977733139067684026745803344574257755206964236926254552184195046751057044459583872636024237424192455995342240536877778914259498881565838210573005842268112827817470311976822242327381115266848759667716748027008366398377083711906803598176208781964786794628018140156192870271665371498256372115457081119992907638450222629584291885155508451269567859409405667715623510017317918948806946421612805459088460242143238999881137890329796519960450614647363219138585171373685534103103486025261358789104991596632614897804066085430559580251230078224538304565357696431652319095382078083921018000177505544036165059168519312270377474588250328565341115693693109217393031726935597457184280013079766746292726380086501156134312366807774249598045705991390215293262281742039165635326907601917628339756026670736946826770026456944853042972707346230484871778917172095602099627106619156167792596111119377095522482231613220971509629880199327280669019419059950658422150337976812209824181122463643654674082852321560742184226834703740164258986992505024712002 851837657308936024579334983402853662293558927353422358400828207511631027163098014945401077785993011908807289843965631553715185440770068032804192624293033393379563224283930390535147937218536005041757029752093211597775156711607671188815498009544527596659847828488751786688114876508860424722656330459298213009090875506744448438234458721498671866896029051824183667234599459370821464626897608180607765380510415345494666016762204178220282576896204382766279542149549729383653827129762640496800855431446460051874066150785052093360577041672385645940602927179360869726874627178163439126949739101943179261745295727344528894428788127444880538150152491598398378007649690359271827336128028305986913811475949413395281575041739978449659611720401094375639551423325144633924422451430918228602211103088203383568963713441143801054857279960595259569134182374956333993762588122737485400850238984729151971390358139309874259625020405965694110402521042703866767990963763759011373370349139962174069547758583650285439992776606329889674443733301758127368503464639244487285223715337193193429866268152034135214240415327672019637973204645139138834498461840544293515507248915437853440555277551368657247013257850740484415568158519117423620906433155383166827817623024561480009380964357130985024533603486005985762925017252563690569588054032526726387617645678221403568171773420347421890359385454206867855874581335445727923872945850565541622210067951093443098541139347855268255717129794182480025647881766936598920246124982302626799639563928808562458484078701227882800891484245986371352684543779554479262750370554375537954854551345481818213357807204206025601332653026478538321793215661341292031143529299401 1378302282422943774609602844479154291900167313434880311052253482934776449090296154259238293258353753977995357225120443875580789510289537146692528179205770364439947426334781453615723916678187245364100877495015556310876688811440905725370340676535486343609319448216696959057140645057252124388906831775848283889021913739101428185146601923222547020533708481277416028417842511624810992303792176190265571613658981346636147972216488302252409503770962283646566958285448757344288300230740209554937862132334003176307435345837022934089608637555828483977512307866595421170327402648687272320171702340395729245924174209479715640104432003023646492062968824655523355740788758043298573139472602563742120775712875667947465770088491035494119195593037118613063743879320486874461300230345177727483776941298776389411231826268961271366834102202922640684401031134624050741789596489135862484562145788327328180172322926104502277765176598835965775774019299075982225072083756666649823592978724254059225056209853218144849398444321953399691761652250565073790116270098332947527366954337074331320196064671994585828887778546810604809346890179242242320523723199333398507103881530335657506640708110948908477091482389045049773264590171436519002984517076401167005323167060726539177900276627508459612783932051347101456618126469956722296523651489711006400697412424514129948258274576481734257167159703804913561865971550738990205614985016200868529811985579433199125211876294682038282174074647225452732994112251808377837418220584402253906258720096601158569603455796750365032504705217496001232883871060223498681810321212797688292831363555305999335821450858880108453654213768662765156496955825600279023648554011403 2230139939731879799188937827882007954193726240788302669453081690446407476253394169204639371044346765886802647069086075429295974951059605179496720803498803757819510650618711844150871853896723250405857907247108767908651845523048576914185838686080013940269167276705448745745255521566112549111563162235146496898112789245845876623381060644721218887429737533101599695652441970995632456930689784370873336994169396692130813988978692480472692080667166666412846500434998486727942127360502850051738717563780463228181501496622075027450185679228214129918115235045956290897202029826850711447121441442338908507669469936824244534533220130468527030213121316253921733748438448402570400475600630869729034587188825081342747345130231013943778807313438212988703295302645631508385722681776095956085988044386979772980195539710105072421691382163517900253535213509580384735552184611873347885412384773056480151562681065414376537390197004801659886176540341779848993063047520425661196963327864216233294603968436868430289391220928283289366205385552323201158619734737577434812590669674267524750062332824028721043128193874482624447320094824381381155022185039877692022611130445773510947195985662317565724104740239785534188832748690553942623890950231784333833140790085288019187281240984639444637317535537353087219543143722520412866111705522237732788315058102735533516430047996829156147526545158011781417740552886184718129487930866766410152022053530526642223753015642537306537891204441407932758641994018744976757664345566704880705898284025409721028087534497978247833396189463482372585568414839777977944560691767173226247685914900787817549179258063086134054986866795141303478290171486941571054792083310804 3608442222154823573798540672361162246093893554223182980505335173381183925343690323463877664302700519864798004294206519304876764461349142326189248982704574122259458076953493297766595770574910495769958784742124324219528534334489482639556179362615500283878486724922145704802396166623364673500469994010994780787134702984947304808527662567943765907963446014379015724070284482620443449234481960561138908607828378038766961961195180782725101584438128950059413458720447244072230427591243059606676579696114466404488936842459097961539794316784042613895627542912551712067529432475537983767293143782734637753593644146303960174637652133492173522276090140909445089489227206445868973615073233433471155362901700749290213115218722049437898002906475331601767039181966118382847022912121273683569764985685756162391427365979066343788525484366440540937936244644204435477341781101009210369974530561383808331735003991518878815155373603637625661950559640855831218135131277092311020556306588470292519660178290086575138789665250236689057967037802888274948736004835910382339957624011341856070258397496023306872015972421293229256666985003623623475545908239211090529715011976109168453836693773266474201196222628830583962097338861990461626875467308185500838463957146014558365181517612147904250101467588700188676161270192477135162635357011948739189012470527249663464688322573310890404693704861816694979606524436923708335102915882967278681834039109959841348964891937219344820065279088633385491636106270553354595082566151107134612157004122010879597690990294728612865900894680978373818452285900001476626371012979970914540517278456093816885000708921966242508641080563804068634787127312541850078440637322207 5838582161886703372987478500243170200287619795011485649958416863827591401597084492668517035347047285751600651363292594734172739412408747505685969786203377880078968727572205141917467624471633746175816691989233092128180379857538059553742018048695514224147654001627594450547651688189477222612033156246141277685247492230793181431908723212664984795393183547480615419722726453616075906165171744932012245601997774730897775950173873263197793665105295616472259959155445730800172554951745909658415297259894929632670438339081172988989979996012256743813742777958508002964731462302388695214414585225073546261263114083128204709170872263960700552489211457163366823237665654848439374090673864303200189950090525830632960460348953063381676810219913544590470334484611749891232745593897369639655753030072735935371622905689171416210216866529958441191471458153784820212893965712882558255386915334440288483297685056933255352545570608439285548127099982635680211198178797517972217519634452686525814264146726955005428180886178519978424172423355211476107355739573487817152548293685609380820320730320052027915144166295775853703987079828005004630568093279088782552326142421882679401032679435584039925300962868616118150930087552544404250766417539969834671604747231302577552462758596787348887419003126053275895704413914997548028747062534186471977327528629985196981118370570140046552220250019828476397347077323108426464590846749733688833856092640486483572717907579756651357956483530041318250278100289298331352746911717812015318055288147420600625778524792706860699297084144460746404020700739779454570931704747144140788203193356881634434179966985052376563627947358945372113077298799483421133232720633011 9447024384041526946786019172604332446381513349234668630463752037208775326940774816132394699649747805616398655657499114039049503873757889831875218768907952002338426804525698439684063395046544241945775476731357416347708914192027542193298197411311014508026140726549740155350047854812841896112503150257136058472382195215740486240436385780608750703356629561859631143793010936236519355399653705493151154209826152769664737911369054045922895249543424566531673417875892974872402982542988969265091876956009396037159375181540270950529774312796299357709370320871059715032260894777926678981707729007808184014856758229432164883808524397452874074765301598072811912726892861294308347705747097736671345312992226579923173575567675112819574813126388876192237373666577868274079768506018643323225518015758492097763050271668237759998742350896398982129407702797989255690235746813891768625361445895824096815032689048452134167700944212076911210077659623491511429333310074610283238075941041156818333924325017041580566970551428756667482139461158099751056091744409398199492505917696951236890579127816075334787160138717069082960654064831628628106114001518299873082041154397991847854869373208850514126497185497446702113027426414534865877641884848155335510068704377317135917644276208935253137520470714753464571865684107474683191382419546135211166339999157234860445806693143450936956913954881645171376953601760032134799693762632700967515690131750446324921682799516975996178021762618674703741914206559851685947829477868919149930212292269431480223469515087435473565197978825439120222472986639780931197302717727115055328720471812975451319180675907018619072269027922749440747864426112025271211673357955218 15285606545928230319773497672847502646669133144246154280422168901036366728537859308800911734996795091367999307020791708773222243286166637337561188555111329882417395532097903581601531019518177988121592168720590508475889294049565601747040215460006528732173794728177334605897699543002319118724536306503277336157629687446533667672345108993273735498749813109340246563515737389852595261564825450425163399811823927500562513861542927309120688914648720183003933377031338705672575537494734878923507174215904325669829813520621443939519754308808556101523113098829567717996992357080315374196122314232881730276119872312560369592979396661413574627254513055236178735964558516142747721796420962039871535263082752410556134035916628176201251623346302420782707708151189618165312514099916012962881271045831228033134673177357409176208959217426357423320879160951774075903129712526774326880748361230264385298330374105385389520246514820516196758204759606127191640531488872128255455595575493843344148188471743996585995151437607276645906311884513311227163447483982886016645054211382560617710899858136127362702304305012844936664641144659633632736682094797388655634367296819874527255902052644434554051798148366062820263957513967079270128408302388125170181673451608619713470107034805722602024939473840806740467570098022472231220129482080321683143667527787220057426925063713590983509134204901473647774300679083140561264284609382434656349546224390932808494400707096732647535978246148716021992192306849150017300576389586731165248267580416852080849248039880142334264495062969899866626493687379560385768234422474259196116923665169857085753360642892070995635896975281694812860941724911508692344906078588229 24732630929969757266559516845451835093050646493480822910885920938245142055478634124933306434646542896984397962678290822812271747159924527169436407324019281884755822336623602021285594414564722230067367645451947924823598208241593143940338412871317543240199935454727074761247747397815161014837039456760413394630011882662274153912781494773882486202106442671199877707308748326089114616964479155918314554021650080270227251772911981355043584164192144749535606794907231680544978520037723848188599051171913721706989188702161714890049528621604855459232483419700627433029253251858242053177830043240689914290976630541992534476787921058866448702019814653308990648691451377437056069502168059776542880576074978990479307611484303289020826436472691296974945081817767486439392282605934656286106789061589720130897723449025646936207701568322756405450286863749763331593365459340666095506109807126088482113363063153837523687947459032593107968282419229618703069864798946738538693671516535000162482112796761038166562121989036033313388451345671410978219539228392284216137560129079511854601478985952202697489464443729914019625295209491262260842796096315688528716408451217866375110771425853285068178295333863509522376984940381614136006050187236280505691742155985936849387751311014657855162459944555560205039435782129946914411511901626456894310007526944454917872731756857041920466048159783118819151254280843172696063978372015135623865236356141379133416083506613708643714000008767390725734106513409001703248405867455650315178479872686283561072717554967577807829693041795338986848966674019341316965537140201374251445644136982832537072541318799089614708166003204444253608806151023533963556579436543447 40018237475897987586333014518299337739719779637726977191308089839281508784016493433734218169643337988352397269699082531585493990446091164506997595879130611767173217868721505602887125434082900218188959814172538433299487502291158745687378628331324071972373730182904409367145446940817480133561575763263690730787641570108807821585126603767156221700856255780540124270824485715941709878529304606343477953833474007770789765634454908664164273078840864932539540171938570386217554057532458727112106225387818047376819002222783158829569282930413411560755596518530195151026245608938557427373952357473571644567096502854552904069767317720280023329274327708545169384656009893579803791298589021816414415839157731401035441647400931465222078059818993717757652789968957104604704796705850669248988060107420948164032396626383056112416660785749113828771166024701537407496495171867440422386858168356352867411693437259222913208193973853109304726487178835745894710396287818866794149267092028843506630301268505034752557273426643309959294763230184722205382986712375170232782614340462072472312378844088330060191768748742758956289936354150895893579478191113077184350775748037740902366673478497719622230093482229572342640942454348693406134458489624405675873415607594556562857858345820380457187399418396366945507005880152419145631641383706778577453675054731674975299656820570632903975182364684592466925554959926313257328262981397570280214782580532311941910484213710441291249978254916106747726298820258151720548982257042381480426747453103135641921965594847720142094188104765238853475460361398901702733771562675633447562567802152689622825901961691160610344062978486139066469747875935042655901485515131676 64750868405867744852892531363751172832770426131207800102194010777526650839495127558667524604289880885336795232377373354397765737606015691676434003203149893651929040205345107624172719848647622448256327459624486358123085710532751889627717041202641615212573665637631484128393194338632641148398615220024104125417653452771081975497908098541038707902962698451740001978133234042030824495493783762261792507855124088041017017407366890019207857243033009682075146966845802066762532577570182575300705276559731769083808190924944873719618811552018267019988079938230822584055498860796799480551782400714261558858073133396545438546555238779146472031294142361854160033347461271016859860800757081592957296415232710391514749258885234754242904496291685014732597871786724591044097079311785325535094849169010668294930120075408703048624362354071870234221452888451300739089860631208106517892967975482441349525056500413060436896141432885702412694769598065364597780261086765605332842938608563843669112414065266072919119395415679343272683214575856133183602525940767454448920174469541584326913857830040532757681233192472672975915231563642158154422274287428765713067184199255607277477444904351004690408388816093081865017927394730307542140508676860686181565157763580493412245609656835038312349859362951927150546441662282366060043153285333235471763682581676129893172388577427674824441230524467711286076809240769485953392241353412705904080018936673691075326567720324149934963978263683497473460405333667153423797388124498031795605227325789419202994683149815297949923881146560577840324427035418243019699308702877007699008211939135522159898443280490250225052228981690583320078554026958576619458064951675123 104769105881765732439225545882050510572490205768934777293502100616808159623511620992401742773933218873689192502076455885983259728052106856183431599082280505419102258074066613227059845282730522666445287273797024791422573212823910635315095669533965687184947395820535893495538641279450121281960190983287794856205295022879889797083034702308194929603818954232280126248957719757972534374023088368605270461688598095811806783041821798683372130321873874614614687138784372452980086635102641302412811501947549816460627193147728032549188094482431678580743676456761017735081744469735356907925734758187833203425169636251098342616322556499426495360568470070399329418003471164596663652099346103409371712254390441792550190906286166219464982556110678732490250661755681695648801876017635994784082909276431616458962516701791759161041023139820984062992618913152838146586355803075546940279826143838794216936749937672283350104335406738811717421256776901110492490657374584472126992205700592687175742715333771107671676668842322653231977977806040855388985512653142624681702788810003656799226236674128862817873001941215431932205167917793054048001752478541842897417959947293348179844118382848724312638482298322654207658869849079000948274967166485091857438573371175049975103468002655418769537258781348294096053447542434785205674794669040014049217357636407804868472045397998307728416412889152303753002364200695799210720504334810276184294801517206003017237051934034591226213956518599604221186704153925305144346370381540413276031974778892554844916648744663018092018069251325816693799887396817144722433080265552641146570779741288211782724345242181410835396291960176722386548301902893619275359550466806799 169519974287633477292118077245801683405260631900142577395696111394334810463006748551069267378223099759025987734453829240381025465658122547859865602285430399071031298279411720851232565131378145114701614733421511149545658923356662524942812710736607302397521061458167377623931835618082762430358806203311898981622948475650971772580942800849233637506781652684020128227090953800003358869516872130867062969543722183852823800449188688702579987564906884296689834105630174519742619212672823877713516778507281585544435384072672906268806906034449945600731756394991840319137243330532156388477517158902094762283242769647643781162877795278572967391862612432253489451350932435613523512900103185002329008669623152184064940165171400973707887052402363747222848533542406286692898955329421320319177758445442284753892636777200462209665385493892854297214071801604138885676216434283653458172794119321235566461806438085343787000476839624514130116026374966475090270918461350077459835144309156530844855129399037180590796064258001996504661192381896988572588038593910079130622963279545241126140094504169395575554235133688104908120399481435212202424026765970608610485144146548955457321563287199729003046871114415736072676797243809308490415475843345778039003731134755543387349077659490457081887118144300221246599889204717151265717947954373249520981040218083934761644433975425982552857643413620015039079173441465285164112745688222982088374820453879694092563619654358741161177934782283101694647109487592458568143758506038445071637202104681974047911331894478316041941950397886394534124314432235387742132388968429648845578991680423733942622788522671661060448520941867305706626855929852195894817615418481922 274289080169399209731343623127852193977750837669077354689198212011142970086518369543471010152156318632715180236530285126364285193710229404043297201367710904490133556353478334078292410414108667781146902007218535940968232136180573160257908380270572989582468457278703271119470476897532883712318997186599693837828243498530861569663977503157428567110600606916300254476048673557975893243539960499472333431232320279664630583491010487385952117886780758911304521244414546972722705847775465180126328280454831402005062577220400938817995000516881624181475432851752858054218987800267513296403251917089927965708412405898742123779200351777999462752431082502652818869354403600210187164999449288411700720924013593976615131071457567193172869608513042479713099195298087982341700831347057315103260667721873901212855153478992221370706408633713838360206690714756977032262572237359200398452620263160029783398556375757627137104812246363325847537283151867585582761575835934549586827350009749218020597844732808288262472733100324649736639170187937843961573551247052703812325752089548897925366331178298258393427237074903536840325567399228266250425779244512451507903104093842303637165681670048453315685353412738390280335667092888309438690443009830869896442304505930593362452545662145875851424376925648515342653336747151936471392742623413263570198397854491739630116479373424290281274056302772318792081537642161084374833250023033258272669621971085697109800671588393332387391891300882705915833813641517763712490128887578858347669176883574528892827980639141334133960019649212211227924201829052532464565469233982289992149771421711945725347133764853071895844812902044028093175157832745815170177165885288721 443809054457032687023461700373653877383011469569219932084894323405477780549525118094540277530379418391741167970984114366745310659368351951903162803653141303561164854632890054929524975545486812895848516740640047090513891059537235685200721091007180291979989518736870648743402312515615646142677803389911592819451191974181833342244920304006662204617382259600320382703139627357979252113056832630339396400776042463517454383940199176088532105451687643207994355350044721492465325060448289057839845058962112987549497961293073845086801906551331569782207189246744698373356231130799669684880769075992022727991655175546385904942078147056572430144293694934906308320705336035823710677899552473414029729593636746160680071236628968166880756660915406226935947728840494269034599786676478635422438426167316185966747790256192683580371794127606692657420762516361115917938788671642853856625414382481265349860362813842970924105289085987839977653309526834060673032494297284627046662494318905748865452974131845468853268797358326646241300362569834832534161589840962782942948715369094139051506425682467653968981472208591641748445966880663478452849806010483060118388248240391259094487244957248182318732224527154126353012464336697617929105918853176647935446035640686136749801623321636332933311495069948736589253225951869087737110690577786513091179438072575674391760913348850272834131699716392333831160711083626369538945995711256240361044442424965391202364291242752073548569826083165807610480923129110222280633887393617303419306378988256502940739312533619650175901970047098605762048516261287920206697858202411938837728763102135679667969922287524732956293333843911333799802013762598011064994781303770643 718098134626431896754805323501506071360762307238297286774092535416620750636043487638011287682535737024456348207514399493109595853078581355946460005020852208051298410986368389007817385959595480676995418747858583031482123195717808845458629471277753281562457976015573919862872789413148529854996800576511286657279435472712694911908897807164090771727982866516620637179188300915955145356596793129811729832008362743182084967431209663474484223338468402119298876594459268465188030908223754237966173339416944389554560538513474783904796907068213193963682622098497556427575218931067182981284020993081950693700067581445128028721278498834571892896724777437559127190059739636033897842899001761825730450517650340137295202308086535360053626269428448706649046924138582251376300618023535950525699093889190087179602943735184904951078202761320531017627453231118092950201360909002054255078034645641295133258919189600598061210101332351165825190592678701646255794070133219176633489844328654966886050818864653757115741530458651295977939532757772676495735141088015486755274467458643036976872756860765912362408709283495178588771534279891744703275585254995511626291352334233562731652926627296635634417577939892516633348131429585927367796361863007517831888340146616730112254168983782208784735871995597251931906562699021024208503433201199776661377835927067414021877392722274563115405756019164652623242248725787453913779245734289498633714064396051088312164962831145405935961717384048513526314736770627985993124016281196161766975555871831031833567293172760984309861989696310816989972718090340452671263327436394228829878534523847625393317056052377804852138146745955361892977171595343826235171947189059364 1161907189083464583778267023875159948743773776807517218858986858822098531185568605732551565212915155416197516178498513859854906512446933307849622808673993511612463265619258443937342361505082293572843935488498630121996014255255044530659350562284933573542447494752444568606275101928764175997674603966422879476730627446894528254153818111170752976345365126116941019882327928273934397469653625760151126232784405206699539351371408839563016328790156045327293231944503989957653355968672043295806018398379057377104058499806548628991598813619544763745889811345242254800931450061866852666164790069073973421691722756991513933663356645891144323041018472372465435510765075671857608520798554235239760180111287086297975273544715503526934382930343854933584994652979076520410900404700014585948137520056506273146350733991377588531449996888927223675048215747479208868140149580644908111703449028122560483119282003443568985315390418339005802843902205535706928826564430503803680152338647560715751503792996499225969010327816977942219239895327607509029896730928978269698223182827737176028379182543233566331390181492086820337217501160555223156125391265478571744679600574624821826140171584544817953149802467046642986360595766283545296902280716184165767334375787302866862055792305418541718047367065545988521159788650890111945614123778986289752557273999643088413638306071124835949537455735556986454402959809413823452725241445545738994758506821016479514529254073897479484531543467214321136795659899738208273757903674813465186281934860087534774306605706380634485763959743409422752021234351628372877961185638806167667607297625983305061286978339902537808431480589866695692779185357941837300166728492830007 1880005323709896480533072347376666020104536084045814505633079394238719281821612093370562852895450892440653864386012913352964502365525514663796082813694845719663761676605626832945159747464677774249839354236357213153478137450972853376117980033562686855104905470768018488469147891341912705852671404542934166134010062919607223166062715918334843748073347992633561657061516229189889542826250418889962856064792767949881624318802618503037500552128624447446592108538963258422841386876895797533772191737796001766658619038320023412896395720687757957709572433443739811228506668992934035647448811062155924115391790338436641962384635144725716215937743249810024562700824815307891506363697555997065490630628937426435270475852802038886988009199772303640234041577117658771787201022723550536473836613945696360325953677726562493482528199650247754692675668978597301818341510489646962366781483673763855616378201193044167046525491750690171628034494884237353184620634563722980313642182976215682637554611861152983084751858275629238197179428085380185525631872016993756453497650286380213005251939403999478693798890775581998925989035440446967859400976520474083370970952908858384557793098211841453587567380406939159619708727195869472664698642579191683599222715933919596974309961289200750502783239061143240453066351349911136154117556980186066413935109926710502435515698793399399064943211754721639077645208535201277366504487179835237628472571217067567826694216905042885420493260851262834663110396670366194266881919956009626953257490731918566607873898879141618795625949439720239741993952441968825549224513075200396497485832149830930454604034392280342660569627335822057585756356953285663535338675681889371 3041912512793361064311339371251825968848309860853331724492066253060817813007180699103114418108366047856851380564511427212819408877972447971645705622368839231276224942224885276882502108969760067822683289724855843275474151706227897906777330595847620428647352965520463057075422993270676881850346008509357045610740690366501751420216534029505596724418713118750502676943844157463823940295904044650113982297577173156581163670174027342600516880918780492773885340483467248380494742845567840829578210136175059143762677538126572041887994534307302721455462244788982066029438119054800888313613601131229897537083513095428155896047991790616860538978761722182489998211589890979749114884496110232305250810740224512733245749397517542413922392130116158573819036230096735292198101427423565122421974134002202633472304411717940082013978196539174978367723884726076510686481660070291870478484932701886416099497483196487736031840882169029177430878397089773060113447198994226783993794521623776398389058404857652209053762186092607180416419323412987694555528602945972026151720833114117389033631121947233045025189072267668819263206536601002191015526367785952655115650553483483206383933269796386271540717182873985802606069322962153017961600923295375849366557091721222463836365753594619292220830606126689228974226140000801248099731680759172356166492383926353590849154004864524235014480667490278625532048168344615100819229728625380976623231078038084047341223470978940364905024804318477155799906056570104402540639823630823092139539425592006101382180504585522253281389909183129662494015186793597198427185698714006564165093129775814235515891012732182880469001107925688753278535542311227500835505404174719378 4921917836503257544844411718628491988952845944899146230125145647299537094828792792473677271003816940297505244950524340565783911243497962635441788436063684950939986618830512109827661856434437842072522643961213056428952289157200751282895310629410307283752258436288481545544570884612589587703017413052291211744750753286108974586279249947840440472492061111384064334005360386653713483122154463540076838362369941106462787988976645845638017433047404940220477449022430506803336129722463638363350401873971060910421296576446595454784390254995060679165034678232721877257944788047734923961062412193385821652475303433864797858432626935342576754916504971992514560912414706287640621248193666229370741441369161939168516225250319581300910401329888462214053077807214394063985302450147115658895810747947898993798258089444502575496506396189422733060399553704673812504823170559938832845266416375650271715875684389531903078366373919719349058912891974010413298067833557949764307436704599992081026613016718805192138514044368236418613598751498367880081160474962965782605218483400497602038883061351232523718987963043250818189195572041449158874927344306426738486621506392341590941726368008227725128284563280924962225778050158022490626299565874567532965779807655142060810675714883820042723613845187832469427292491350712384253849237739358422580427493853064093284669703657923634079423879245000264609693376879816378185734215805216214251703649255151615167917687883983250325518065169739990463016453240470596807521743586832719092796916323924667990054403464663872077015858622849902236009139235566023976410211789206960662578961925645165970495047124463223129570735261510810864291899264513164370844079856608749 7963830349296618609155751089880317957801155805752477954617211900360354907835973491576791689112182988154356625515035767778603320121470410607087494058432524182216211561055397386710163965404197909895205933686068899704426440863428649189672641225257927712399611401808944602619993877883266469553363421561648257355491443652610726006495783977346037196910774230134567010949204544117537423418058508190190820659947114263043951659150673188238534313966185432994362789505897755183830872568031479192928612010146120054183974114573167496672384789302363400620496923021703943287382907102535812274676013324615719189558816529292953754480618725959437293895266694175004559124004597267389736132689776461675992252109386451901761974647837123714832793460004620787872114037311129356183403877570680781317784881950101627270562501162442657510484592728597711428123438430750323191304830630230703323751349077536687815373167586019639110207256088748526489791289063783473411515032552176548301231226223768479415671421576457401192276230460843599030018074911355574636689077908937808756939316514614991072514183298465568744177035310919637452402108642451349890453712092379393602272059875824797325659637804613996669001746154910764831847373120175508587900489169943382332336899376364524647041468478439334944444451314521698401518631351513632353580918498530778746919877779417684133823708522447869093904546735278890141741545224431479004963944430597190874934727293235662509141158862923615230542869488217146262922509810574999348161567217655811232336341915930769372234908050186125358405767805979564730024326029163222403595910503213524827672091701459401486386059856646103598571843187199564142827441575740665206349484031328127 12885748185799876154000162808508809946754001750651624184742357547659892002664766284050468960115999928451861870465560108344387231364968373242529282494496209133156198179885909496537825821838635751967728577647281956133378730020629400472567951854668234996151869838097426148164564762495856057256380834613939469100242196938719700592775033925186477669402835341518631344954564930771250906540212971730267659022317055369506739648127319033876551747013590373214840238528328261987167002290495117556279013884117180964605270691019762951456775044297424079785531601254425820545327695150270736235738425518001540842034119963157751612913245661302014048811771666167519120036419303555030357380883442691046733693478548391070278199898156705015743194789893083001925191844525523420168706327717796440213595629898000621068820590606945233006990988918020444488522992135424135696128001190169536169017765453186959531248851975551542188573630008467875548704181037793886709582866110126312608667930823760560442284438295262593330790274829080017643616826409723454717849552871903591362157799915112593111397244649698092463164998354170455641597680683900508765381056398806132088893566268166388267386005812841721797286309435835727057625423278197999214200055044510915298116707031506585457717183362259377668058296502354167828811122702226016607430156237889201327347371632481777418493412180371503173328425980279154751434922104247857190698160235813405126638376548387277677058846746906865556060934657957136725938963051045596155683310804488530325133258239855437362289311514849997435421626428829466966033465264729246380006122292420485490251053627104567456881106981109326728142578448710375007119340840253829577193563887936876 20849578535096494763155913898389127904555157556404102139359569448020246910500739775627260649228182916606218495980595876122990551486438783849616776552928733315372409740941306883247989787242833661862934511333350855837805170884058049662240593079926162708551481239906370750784558640379122526809744256175587726455733640591330426599270817902532514866313609571653198355903769474888788329958271479920458479682264169632550691307277992222115086060979775806209203028034226017170997874858526596749207625894263301018789244805592930448129159833599787480406028524276129763832710602252806548510414438842617260031592936492450705367393864387261451342707038360342523679160423900822420093513573219152722725945587934842972040174545993828730575988249897703789797305881836652776352110205288477221531380511848102248339383091769387890517475581646618155916646430566174458887432831820400239492769114530723647346622019561571181298780886097216402038495470101577360121097898662302860909899157047529039857955859871719994523066505289923616673634901321079029354538630780841400119097116429727584183911427948163661207342033665090093093999789326351858655834768491185525691165626143991185593045643617455718466288055590746491889472796398373507802100544214454297630453606407871110104758651840698712612502747816875866230329754053739648961011074736419980074267249411899461552317120702819372267232972715558044893176467328679336195662104666410596001573103841622940186200005609830480786603804146174282988861472861620595503844878022144341557469600155786206734524219565036122793827394234809031696057791293892468783602032795634010317923145328563968943267166837755430326714421635909939149946782415994494783543047919265003 33735326720896370917156076706897937851309159307055726324101926995680138913165506059677729609344182845058080366446155984467377782851407157092146059047424942448528607920827216379785815609081469413830663088980632811971183900904687450134808544934594397704703351078003796898949123402874978584066125090789527195555975837530050127192045851827718992535716444913171829700858334405660039236498484451650726138704581225002057430955405311255991637807993366179424043266562554279158164877149021714305486639778380481983394515496612693399585934877897211560191560125530555584378038297403077284746152864360618800873627056455608456980307110048563465391518810026510042799196843204377450450894456661843769459639066483234042318374444150533746319183039790786791722497726362176196520816533006273661744976141746102869408203682376333123524466570564638600405169422701598594583560833010569775661786879983910606877870871537122723487354516105684277587199651139371246830680764772429173518567087871289600300240298166982587853856780119003634317251727730802484072388183652744991481254916344840177295308672597861753670507032019260548735597470010252367421215824889991657780059192412157573860431649430297440263574365026582218947098219676571507016300599258965212928570313439377695562475835202958090280561044319230034059140876755965665568441230974309181401614621044381238970810532883190875440561398695837199644611389432927193386360264902224001128211480390010217863258852356737346342664738804131419714800435912666191659528188826632871882602858395641644096813531079886120229249020663638498662091256558621715163608155088054495808174198955668536400148273818864757054857000084620314157066123256248324360736611807201879 54584905255992865680311990605287065755864316863459828463461496443700385823666245835304990258572365761664298862426751860590368334337845940941762835600353675763901017661768523263033805396324303075693597600313983667808989071788745499797049138014520560413254832317910167649733682043254101110875869346965114922011709478121380553791316669730251507402030054484825028056762103880548827566456755931571184618386845394634608122262683303478106723868973141985633246294596780296329162752007548311054694265672643783002183760302205623847715094711496999040597588649806685348210748899655883833256567303203236060905219992948059162347700974435824916734225848386852566478357267105199870544408029880996492185584654418077014358548990144362476895171289688490581519803608198828972872926738294750883276356653594205117747586774145721014041942152211256756321815853267773053470993664830970015154555994514634254224492891098693904786135402202900679625695121240948606951778663434732034428466244918818640158196158038702582376923285408927250990886629051881513426926814433586391600352032774567761479220100546025414877849065684350641829597259336604226077050593381177183471224818556148759453477293047753158729862420617328710836571016074945014818401143473419510559023919847248805667234487043656802893063792136105900289470630809705314529452305710729161475881870456280700523127653586010247707794371411395244537787856761606529582022369568634597129784584231633158049458857966567827129268542950305702703661908774286787163373066848777213440072458551427850831337750644922243023076414898447530358149047852514183947210187883688506126097344284232505343415440656620187381571421720530253307012905672242819144279659726466882 88320231976889236597468067312185003607173476170515554787563423439380524736831751894982719867916548606722379228872907845057746117189253098033908894647778618212429625582595739642819621005405772489524260689294616479780172972693432949931857682949114958117958183395913964548682805446129079694941994437754642117567685315651430680983362521557970499937746499397996857757620438286208866802955240383221910757091426619636665553218088614734098361676966508165057289561159334575487327629156570025360180905451024264985578275798818317247301029589394210600789148775337240932588787197058961118002720167563854861778847049403667619328008084484388382125744658413362609277554110309577320995302486542840261645223720901311056676923434294896223214354329479277373242301334561005169393743271301024545021332795340307987155790456522054137566408722775895356726985275969371648054554497841539790816342874498544861102363762635816628273489918308584957212894772380319853782459428207161207947033332790108240458436456205685170230780065527930885308138356782683997499314998086331383081606949119407938774528773143887168548356097703611190565194729346856593498266418271168841251284010968306333313908942478050598993436785643910929783669235751516521834701742732384723487594233286626501229710322246614893173624836455335934348611507565670980097893536685038342877496491500661939493938186469201123148355770107232444182399246194533722968382634470858598257996064621643375912717710323305173471933281754437122418462344686952978822901255675410085322675316947069494928151281724808363252325435562086029020240304411135899110818342971743001934271543239901041743563714475484944436428421805150567464079028928491143505016271533668761 142905137232882102277780057917472069363037793033975383251024919883080910560497997730287710126488914368386678091299659705648114451527099038975671730248132293976330643244364262905853426401730075565217858289608600147589162044482178449728906820963635518531213015713824132198416487489383180805817863784719757039579394793772811234774679191288222007339776553882821885814382542166757694369411996314793095375478272014271273675480771918212205085545939650150690535855756114871816490381164118336414875171123668047987762036101023941095016124300891209641386737425143926280799536096714844951259287470767090922684067042351726781675709058920213298859970506800215175755911377414777191539710516423836753830808375319388071035472424439258700109525619167767954762104942759834142266670009595775428297689448934513104903377230667775151608350874987152113048801129237144701525548162672509805970898869013179115326856653734510533059625320511485636838589893621268460734238091641893242375499577708926880616632614244387752607703350936858136299024985834565510926241812519917774681958981893975700253748873689912583426205163387961832394791988683460819575317011652346024722508829524455092767386235525803757723299206261239640620240251826461536653102886205804234046618153133875306896944809290271696066688628591441834638082138375376294627345842395767504353378361956942640017065840055211370856150141518627688720187102956140252550405004039493195387780648853276533962176568289873000601201824704742825122124253461239765986274322524187298762747775498497345759489032369730606275401850460533559378389352263650083058028530855431508060368887524133547086979155132105131817999843525680820771091934600733962649295931260135643 231225369209771338875248125229657072970211269204490938038588343322461435297329749625270429994405462975109057320172567550705860568716352137009580624895910912188760268826960002548673047407135848054742118978903216627369335017175611399660764503912750476649171199109738096747099292935512260500759858222474399157147080109424241915758041712846192507277523053280818743572002980452966561172367236698015006132569698633907939228698860532946303447222906158315747825416915449447303818010320688361775056076574692312973340311899842258342317153890285420242175886200481167213388323293773806069262007638330945784462914091755394401003717143404601680985715165213577785033465487724354512535013002966677015476032096220699127712395858734154923323879948647045328004406277320839311660413280896799973319022244274821092059167687189829289174759597763047469775786405206516349580102660514049596787241743511723976429220416370327161333115238820070594051484666001588314516697519849054450322532910499035121075069070450072922838483416464789021607163342617249508425556810606249157763565931013383639028277646833799751974561261091573022959986718030317413073583429923514865973792840492761426081295178003854356716735991905150570403909487577978058487804628938188957534212386420501808126655131536886589240313465046777768986693645941047274725239379080805847230874853457604579511004026524412494004505911625860132902586349150673975518787638510351793645776713474919909874894278613178174073135106459179947540586598148192744809175578199597384085423092445566840687640314094538969527727286022619588398629656674785982168846873827174509994640430764034588830542869607590076254428265330831388235170963529225106154312202793804404 374130506442653441153028183147129142333249062238466321289613263205542345857827747355558140120894377343495735411472227256353975020243451175985252355144043206165090912071324265454526473808865923619959977268511816774958497061657789849389671324876385995180384214823562228945515780424895441306577722007194156196726474903197053150532720904134414514617299607163640629386385522619724255541779233012808101508047970648179212904179632451158508532768845808466438361272671564319120308391484806698189931247698360360961102348000866199437333278191176629883562623625625093494187859390488651020521295109098036707146981134107121182679426202324814979845685672013792960789376865139131704074723519390513769306840471540087198747868283173413623433405567814813282766511220080673453927083290492575401616711693209334196962544917857604440783110472750199582824587534443661051105650823186559402758140612524903091756077070104837694392740559331556230890074559622856775250935611490947692698032488207962001691701684694460675446186767401647157906188328451815019351798623126166932445524912907359339282026520523712335400766424479534855354778706713778232648900441575860890696301670017216518848681413529658114440035198166390211024149739404439595140907515143993191580830539554377115023599940827158285307002093638219603624775784316423569352585221476573351584253215414547219528069866579623864860656053144487821622773452106814228069192642549844989033557362328196443837070846903051174674336931163922772662710851609432510795449900723784682848170867944064186447129346464269575803129136483153147777019008938436065226875404682606018055009318288168135917522024739695208072428108856512209006262898129959068803608134053940047 605355875652424780028276308376786215303460331442957259328201606528003781155157496980828570115299840318604792731644794807059835588959803312994832980039954118353851180898284268003199521216001771674702096247415033402327832078833401249050435828789136471829555413933300325692615073360407701807337580229668555353873555012621295066290762616980607021894822660444459372958388503072690816714146469710823107640617669282087152132878492984104811979991751966782186186689587013766424126401805495059964987324273052673934442659900708457779650432081462050125738509826106260707576182684262457089783302747428982491609895225862515583683143345729416660831400837227370745822842352863486216609736522357190784782872567760786326460264141907568546757285516461858610770917497401512765587496571389375374935733937484155289021712605047433729957870070513247052600373939650177400685753483700608999545382356036627068185297486475164855725855798151626824941559225624445089767633131340002143020565398706997122766770755144533598284670183866436179513351671069064527777355433732416090209090843920742978310304167357512087375327685571107878314765424744095645722483871499375756670094510509977944929976591533512471156771190071540781428059226982417653628712144082182149115042925974878923150255072364044874547315558684997372611469430257470844077824600557379198815128068872151799039073893104036358865161964770347954525359801257488203587980281060196782679334075803116353711965125516229348747472037623102720203297449757625255604625478923382066933593960389631027134769660558808545330856422505772736175648665613222047395722278509780528049649749052202724748064894347285284326856374187343597241433861659184174957920336847744451 979486382095078221181304491523915357636709393681423580617814869733546127012985244336386710236194217662100528143117022063413810609203254488980085335183997324518942092969608533457725995024867695294662073515926850177286329140491191098440107153665522467009939628756862554638130853785303143113915302236862711550600029915818348216823483521115021536512122267608100002344774025692415072255925702723631209148665639930266365037058125435263320512760597775248624547962258578085544434793290301758154918571971413034895545007901574657216983710272638680009301133451731354201764042074751108110304597856527019198756876359969636766362569548054231640677086509241163706612219218002617920684460041747704554089713039300873525208132425080982170190691084276671893537428717482186219514579861881950776552445630693489485984257522905038170740980543263446635424961474093838451791404306887168402303522968561530159941374556580002550118596357483183055831633785247301865018568742830949835718597886914959124458472439838994273730856951268083337419539999520879547129154056858583022654615756828102317592330687881224422776094110050642733669544131457873878371384313075236647366396180527194463778658005063170585596806388237930992452208966386857248769619659226175340695873465529256038173855013191203159854317652323216976236245214573894413430409822033952550399381284286699018567143759683660223725818017914835776148133253364302431657172923610041771712891438131312797549035972419280523421808968787025492866008301367057766400075379647166749781764828333695213581899007023078121133985558988925883952667674551658112622597683192386546104659067340370860665586919086980492399284483043855806247696759789143243761528470901684498 1584842257747503001209580799900701572940169725124380839946016476261549908168142741317215280351494057980705320874761816870473646198163057801974918315223951442872793273867892801460925516240869466969364169763341883579614161219324592347490542982454658938839495042690162880330745927145710844921252882466531266904473584928439643283114246138095628558406944928052559375303162528765105888970072172434454316789283309212353517169936618419368132492752349742030810734651845591851968561195095796818119905896244465708829987667802283114996634142354100730135039643277837614909340224759013565200087900603956001690366771585832152350045712893783648301508487346468534452435061570866104137294196564104895338872585607061659851668396566988550716947976600738530504308346214883698985102076433271326151488179568177644775005970127952471900698850613776693688025335413744015852477157790587777401848905324598157228126672043055167405844452155634809880773193010871746954786201874170951978739163285621956247225243194983527872015527135134519516932891670589944074906509490590999112863706600748845295902634855238736510151421795621750611984309556201969524093868184574612404036490691037172408708634596596683056753577578309471773880268193369274902398331803308357489810916391504134961324110085555248034401633211008214348847714644831365257508234422591331749214509353158850817606217652787696582590979982685183730673493054621790635245153204670238554392225513934429151261001097935509872169281006410128213069305751124683022004700858570548816715358788723326240716668667581886666464841981494698620128316340164880160018319961702167074154308816392573585413651813434265776726140857231199403489130621448327418719448807749428949 2564328639842581222390885291424616930576879118805804420563831345995096035181127985653601990587688275642805849017878838933887456807366312290955003650407948767391735366837501334918651511265737162264026243279268733756900490359815783445930650136120181405849434671447025434968876780931013988035168184703393978455073614844257991499937729659210650094919067195660659377647936554457520961225997875158085525937948949142619882206994743854631453005512947517279435282614104169937512995988386098576274824468215878743725532675703857772213617852626739410144340776729568969111104266833764673310392498460483020889123647945801789116408282441837879942185573855709698159047280788868722057978656605852599892962298646362533376876528992069532887138667685015202397845774932365885204616656295153276928040625198871134260990227650857510071439831157040140323450296887837854304268562097474945804152428293159687388068046599635169955963048513117992936604826796119048819804770617001901814457761172536915371683715634822522145746384086402602854352431670110823622035663547449582135518322357576947613494965543119960932927515905672393345653853687659843402465252497649849051402886871564366872487292601659853642350383966547402766332477159756132151167951462534532830506789857033390999497965098746451194255950863331431325083959859405259670938644244625284299613890637445549836173361412471356806316798000600019506821626307986093066902326128280280326105116952065741948810037070354790395591089975197153705935314052491740788404776238217715566497123617057021454298567674604964787598827540483624504080984014716538272640917644894553620258967883732944446079238732521246269125425340275055209736827381237470662480977278651113447 4149170897590084223600466091325318503517048843930185260509847822256645943349270726970817270939182333623511169892640655804361103005529370092929921965631900210264528640705394136379577027506606629233390413042610617336514651579140375793421193118574840344688929714137188315299622708076724832956421067169925245359547199772697634783051975797306278653326012123713218752951099083222626850196070047592539842727232258354973399376931362273999585498265297259310246017265949761789481557183481895394394730364460344452555520343506140887210251994980840140279380420007406584020444491592778238510480399064439022579490419531633941466453995335621528243694061202178232611482342359734826195272853169957495231834884253424193228544925559058083604086644285753732902154121147249584189718732728424603079528804767048779035996197778809981972138681770816834011475632301581870156745719888062723206001333617757844616194718642690337361807500668752802817378019806990795774590972491172853793196924458158871618908958829806050017761911221537122371285323340700767696942173038040581248382028958325792909397600398358697443078937701294143957638163243861812926559120682224461455439377562601539281195927198256536699103961544856874540212745353125407053566283265842890320317706248537525960822075184301699228657584074339645673931674504236624928446878667216616048828399990604400653779579065259053388907777983285203237495119362607883702147479332950518880497342466000171100071038168290300267760370981607281919004619803616423810409477096788264383212482405780347695015236342186851454063669521978323124209300354881418432659237606596720694413276700125518031492890545955512045851566197506254613225958002685798081200426086400542396 6713499537432665445991351382749935434093927962735989681073679168251741978530398712624419261526870609266317018910519494738248559812895682383884925616039848977656264007542895471298228538772343791497416656321879351093415141938956159239351843254695021750538364385584213750268499489007738820991589251873319223814620814616955626282989705456516928748245079319373878130599035637680147811422067922750625368665181207497593281583926106128631038503778244776589681299880053931726994553171867993970669554832676223196281053019209998659423869847607579550423721196736975553131548758426542911820872897524922043468614067477435730582862277777459408185879635057887930770529623148603548253251509775810095124797182899786726605421454551127616491225311970768935299999896079615469394335389023577880007569429965919913296986425429667492043578512927856974334925929189419724461014281985537669010153761910917532004262765242325507317770549181870795753982846603109844594395743108174755607654685630695786990592674464628572163508295307939725225637755010811591318977836585490163383900351315902740522892565941478658376006453606966537303292016931521656329024373179874310506842264434165906153683219799916390341454345511404277306545222512881539204734234728377423150824496105570916960320040283048150422913534937671076999015634363641884599385522911841900348442290628049950489952940477730410195224575983885222744316745670593976769049805461230799206602459418065913048881075238645090663351460956804435624939933856108164598814253335005979949709606022837369149313804016791816241662497062461947628290284369597956705300155251491274314672244583858462477572129278476758314976991537781309822962785383923268743681403365051655843 10862670435022749669591817474075253937610976806666174941583526990508387921879669439595236532466052942889828188803160150542609662818425052476814847581671749187920792648248289607677805566278950420730807069364489968429929793518096535032773036373269862095227294099721402065568122197084463653948010319043244469174168014389653261066041681253823207401571091443087096883550134720902774661618137970343165211392413465852566680960857468402630624002043542035899927317146003693516476110355349889365064285197136567648836573362716139546634121842588419690703101616744382137151993250019321150331353296589361066048104487009069672049316273113080936429573696260066163382011965508338374448524362945767590356632067153210919833966380110185700095311956256522668202154017226865053584054121752002483087098234732968692332982623208477474015717194698673808346401561491001594617760001873600392216155095528675376620457483885015844679578049850623598571360866410100640368986715599347609400851610088854658609501633294434622181270206529476847596923078351512359015920009623530744632282380274228533432290166339837355819085391308260681260930180175383469255583493862098771962281641996767445434879146998172927040558307056261151846757967866006946258300517994220313471142202354108442921142115467349849651571119012010722672947308867878509527832401579058516397270690618654351143732519542989463584132353967170425981811865033201860471197284794181318087099801884066084148952113406935390931111831938411717543944553659724588409223730431794244332922088428617716844329040358978667695726166584440270752499584724479375137959392858087995009085521283983980509065019824432270360828557735287564436188743386609066824881829451452198239 17576169972455415115583168856825189371704904769402164622657206158760129900410068152219655793992923552156145207713679645280858222631320734860699773197711598165577056655791185078976034105051294212228223725686369319523344935457052694272124879627964883845765658485305615815836621686092202474939599570916563692988788829006608887349031386710340136149816170762460975014149170358582922473040205893093790580057594673350159962544783574531261662505821786812489608617026057625243470663527217883335733840029812790845117626381926138206057991690195999241126822813481357690283542008445864062152226194114283109516718554486505402632178550890540344615453331317954094152541588656941922701775872721577685481429250052997646439387834661313316586537268227291603502153913306480522978389510775580363094667664698888605629969048638144966059295707626530782681327490680421319078774283859138061226308857439592908624720249127341351997348599032494394325343713013210484963382458707522365008506295719550445600094307759063194344778501837416572822560833362323950334897846209020908016182731590131273955182732281316014195091844915227218564222197106905125584607867041973082469123906430933351588562366798089317382012652567665429153303190378888485463034752722597736621966698459679359881462155750398000074484653949681799671962943231520394127217924490900416745712981246704301633685460020719873779356929951055648726128610703795837240247090255412117293702261302131997197833188645580481594463292895216153168884487515832753008037983766800224282631694451455085993642844375770483937388663646902218380789869094077331843259548109579269323757765867842442986637149102909028675805549273068874259151528770532335568563232816503854082 28438840407478164785174986330900443309315881576068339564240733149268517822289737591814892326458976495045973396516839795823467885449745787337514620779383347353497849304039474686653839671330244632959030795050859287953274728975149229304897916001234745940992952585027017881404743883176666128887609889959808162162956843396262148415073067964163343551387262205548071897699305079485697134658343863436955791450008139202726643505641042933892286507865328848389535934172061318759946773882567772700798125226949358493954199744642277752692113532784418931829924430225739827435535258465185212483579490703644175564823041495575074681494824003621281045027027578020257534553554165280297150300235667345275838061317206208566273354214771499016681849224483814271704307930533345576562443632527582846181765899431857297962951671846622440075012902325204591027729052171422913696534285732738453442463952968268285245177733012357196676926648883117992896704579423311125332369174306869974409357905808405104209595941053497816526048708366893420419483911713836309350817855832551652648465111864359807387472898621153370014177236223487899825152377282288594840191360904071854431405548427700797023441513796262244422570959623926581000061158244895431721335270716818050093108900813787802802604271217747849726055772961692522344910252099398903655050326069958933142983671865358652777417979563709337363489283918226074707940475736997697711444375049593435380802063186198081346785302052515872525575124833627870712829041175557341417261714198594468615553782880072802837971884734749151633114830231342489133289453818556706981218940967667264332843287151826423495702168927341299036634107008356438695340272157141402393445062267956052321 46015010379933579900758155187725632681020786345470504186897939308028647722699805744034548120451900047202118604230519441104326108081066522198214393977094945519074905959830659765629873776381538845187254520737228607476619664432201923577022795629199629786758611070332633697241365569268868603827209460876371855151745672402871035764104454674503479701203432968009046911848475438068619607698549756530746371507602812552886606050424617465153949013687115660879144551198118944003417437409785656036531965256762149339071826126568415958750105222980418172956747243707097517719077266911049274635805684817927285081541595982080477313673374894161625660480358895974351687095142822222219852076108388922961319490567259206212712742049432812333268386492711105875206461843839826099540833143303163209276433564130745903592920720484767406134308609951735373709056542851844232775308569591876514668772810407861193869897982139698548674275247915612387222048292436521610295751633014392339417864201527955549809690248812561010870827210204309993242044745076160259685715702041572560664647843454491081342655630902469384209269081138715118389374574389193720424799227946044936900529454858634148612003880594351561804583612191592010153364348623783917184370023439415786715075599273467162684066426968145849800540426911374322016873195330919297782268250560859349888696653112062954411103439584429211142846213869281723434069086440793534951691465305005552674504324488330078544618490698096354120038417728844023881713528691390094425299697965394692898185477331527888831614729110519635570503493878244707514079322912634038824478489077246533656601053019668866482339318030250327712439656281425312954491800927673737962008295084459906403 74453850787411744685933141518626075990336667921538843751138672457297165544989543335849440446910876542248092000747359236927793993530812309535729014756478292872572755263870134452283713447711783478146285315788087895429894393407351152881920711630434375727751563655359651578646109452445534732714819350836180017314702515799133184179177522638666823252590695173557118809547780517554316742356893619967702162957610951755613249556065660399046235521552444509268680485370180262763364211292353428737330090483711507833026025871210693711442218755764837104786671673932837345154612525376234487119385175521571460646364637477655551995168198897782906705507386473994609221648696987502517002376344056268237157551884465414778986096264204311349950235717194920146910769774373171676103276775830746055458199463562603201555872392331389846209321512276939964736785595023267146471842855324614968111236763376129479115075715152055745351201896798730380118752871859832735628120807321262313827222107336360654019286189866058827396875918571203413661528656789996569036533557874124213313112955318850888730128529523622754223446317362203018214526951671482315264990588850116791331935003286334945635445394390613806227154571815518591153425506868679348905705294156233836808184500087254965486670698185893699526596199873066844361783447430318201437318576630818283031680324977421607188521419148138548506335497787507798142009562177791232663135840354598988055306387674528159891403792750612226645613542562471894594542569866947435842561412163989161513739260211600691669586613845268787203618324109587196647368776731190745805697430044913797989444340171495289978041486957591626749073763289781751649832073084815140355453357352415958724 120468861167345324586691296706351708671357454267009347938036611765325813267689349079883988567362776589450210604977878678032120101611878831733943408733573238391647661223700794217913587224093322323333539836525316502906514057839553076458943507259634005514510174725692285275887475021714403336542028811712551872466448188202004219943281977313170302953794128141566165721396255955622936350055443376498448534465213764308499855606490277864200184535239560170147825036568299206766781648702139084773862055740473657172097851997779109670192323978745255277743418917639934862873689792287283761755190860339498745727906233459736029308841573791944532365987745369968960908743839809724736854452452445191198477042451724620991698838313637123683218622209906026022117231618212997775644109919133909264734633027693349105148793112816157252343630122228675338445842137875111379247151424916491482780009573783990672984973697291754294025477144714342767340801164296354345923872440335654653245086308864316203828976438678619838267703128775513406903573401866156828722249259915696773977760798773341970072784160426092138432715398500918136603901526060676035689789816796161728232464458144969094247449274984965368031738184007110601306789855492463266090075317595649623523260099360722128170737125154039549327136626784441166378656642761237499219586827191677632920376978089484561599624858732567759649181711656789521576078648618584767614827305659604540729810712162858238436022283448708580765651960291315918476256098558337530267861110129383854411924737543128580501201342955788422774121817987831904161448099643824784630175919122160331646045393191164156460380804987841954461513419571207064604323874012488878317461652436875865127 194922711954757069272624438224977784661694122188548191689175284222622978812678892415733429014273653131698302605725237914959914095142691141269672423490051531264220416487570928670197300671805105801479825152313404398336408451246904229340864218890068381242261738381051936854533584474159938069256848162548731889781150704001137404122459499951837126206384823315123284530944036473177253092412336996466150697422824716064113105162555938263246420056792004679416505521938479469530145859994492513511192146224185165005123877868989803381634542734510092382530090591572772208028302317663518248874576035861070206374270870937391581304009772689727439071495131843963570130392536797227253856828796501459435634594336190035770684934577841435033168857927100946169028001392586169451747386694964655320192832491255952306704665505147547098552951634505615303182627732898378525718994280241106450891246337160120152100049412443810039376679041513073147459554036156187081551993247656916967072308416200676857848262628544678665664579047346716820565102058656153397758782817789820987290873754092192858802912689949714892656161715863121154818428477732158350954780405646278519564399461431304039882894669375579174258892755822629192460215362361142614995780611751883460331444599447977093657407823339933248853732826657508010740440090191555700656905403822495915952057303066906168788146277880706308155517209444297319718088210796376000277963146014203528785117099837386398327426076199320807411265502853787813070798668425284966110422522293373015925663997754729272170787956801057209977740142097419100808816876375015530435873349167074129635489733362659446438422291945433581210587182860988816254155947097304018672915009789291823851 315391573122102393859315734931329493333051576455557539627211895987948792080368241495617417581636429721148513210703116592992034196754569973003615832223624769655868077711271722888110887895898428124813364988838720901242922509086457305799807726149702386756771913106744222130421059495874341405798876974261283762247598892203141624065741477265007429160178951456689450252340292428800189442467780372964599231888038480372612960769046216127446604592031564849564330558506778676296927508696631598285054201964658822177221729866768913051826866713255347660273509509212707070901992109950802010629766896200568952102177104397127610612851346481671971437482877213932531039136376606951990711281248946650634111636787914656762383772891478558716387480137006972191145233010799167227391496614098564584927465518949301411853458617963704350896581756734290641628469870773489904966145705157597933671255910944110825085023109735564333402156186227415914800355200452541427475865687992571620317394725064993061677239067223298503932282176122230227468675460522310226481032077705517761268634552865534828875696850375807031088877114364039291422330003792834386644570222442440247796863919576273134130343944360544542290630939829739793767005217853605881085855929347533083854704698808699221828144948493972798180869453441949177119096732952793199876492231014173548872434281156390730387771136613274067804698921101086841294166859414960767892790451673808069514927812000244636763448359648029388176917463145103731547054766983622496378283632422756870337588735297857852671989299756845632751861960085251004970264976018840315066049268289234461281535126553823602898803096933275535672100602432195880858479821109792896990376662226167688978 510314285076859463131940173156307277994745698644105731316387180210571770893047133911350846595910082852846815816428354507951948291897261114273288255713676300920088494198842651558308188567703533926293190141152125299579330960333361535140671945039770767999033651487796158984954643970034279475055725136810015652028749596204279028188200977216844555366563774771812734783284328901977442534880117369430749929310863196436726065931602154390693024648823569528980836080445258145827073368691124111796246348188843987182345607735758716433461409447765440042803600100785479278930294427614320259504342932061639158476447975334519191916861119171399410508978009057896101169528913404179244568110045448110069746231124104692533068707469319993749556338064107918360173234403385336679138883309063219905120298010205253718558124123111251449449533391239905944811097603671868430685139985398704384562502248104230977185072522179374372778835227740489062259909236608728509027858935649488587389703141265669919525501695767977169596861223468947048033777519178463624239814895495338748559508306957727687678609540325521923745038830227160446240758481524992737599350628088718767361263381007577174013238613736123716549523695652368986227220580214748496081636541099416544186149298256676315485552771833906047034602280099457187859536823144348900533397634836669464824491584223296899175917414493980375960216130545384161012255070211336768170753597688011598300044911837631035090874435847350195588182965998891544617853435408907462488706154716129886263252733052587124842777256557902842729602102182670105779081852393855845501922617456308590917024859916483049337225388878709116882687785293184697112635768207096915663291672015459512829 825705858198961856991255908087636771327797275099663270943599076198520562973415375406968264177546512573995329027131471100943982488651831087276904087937301070575956571910114374446419076463601962051106555129990846200822253469419818840940479671189473154755805564594540381115375703465908620880854602111071299414276348488407420652253942454481851984526742726228502185035624621330777631977347897742395349161198901676809339026700648370518139629240855134378545166638952036822124000877387755710081300550153502809359567337602527629485288276161020787703077109609998186349832286537565122270134109828262208110578625079731646802529712465653071381946460886271828632208665290011131235279391294394760703857867912019349295452480360798552465943818201114890551318467414184503906530379923161784490047763529154555130411582741074955800346115147974196586439567474445358335651285690556302318233758159048341802270095631914938706180991413967904977060264437061269936503724623642060207707097866330662981202740762991275673529143399591177275502452979700773850720846973200856509828142859823262516554306390701328954833915944591199737663088485317827124243920850531159015158127300583850308143582558096668258840154635482108779994225798068354377167492470446949628040853997065375537313697720327878845215471733541406364978633556097142100409889865850843013696925865379687629563688551107254443764915051646471002306421929626297536063544049361819667814972723837875671854322795495379583765100429143995276164908202392529958866989787138886756600841468350444977514766556314748475481464062267921110749346828412696160567971885745543052198559986470306652236028485811984652554788387725380577971115589316889812653668334241627201807 1336020143275821320123196081243944049322542973743769002259986256409092333866462509318319110773456595426842144843559825608895930780549092201550192343650977371496045066108957026004727265031305495977399745271142971500401584429753180376081151616229243922754839216082336540100330347435942900355910327247881315066305098084611699680442143431698696539893306501000314919818908950232755074512228015111826099090509764873246065092632250524908832653889678703907526002719397294967951074246078879821877546898342346796541912945338286345918749685608786227745880709710783665628762580965179442529638452760323847269055073055066165994446573584824470792455438895329724733378194203415310479847501339842870773604099036124041828521187830118546215500156265222808911491701817569840585669263232225004395168061539359808848969706864186207249795648539214102531250665078117226766336425675955006702796260407152572779455168154094313078959826641708394039320173673669998445531583559291548795096801007596332900728242458759252843126004623060124323536230498879237474960661868696195258387651166780990204232915931026850878578954774818360183903846966842819861843271478619877782519390681591427482156821171832791975389678331134477766221446378283102873249129011546366172227003295322051852799250492161784892250074013640863552838170379241491000943287500687512478521417449602984528739605965601234819725131182191855163318676999837634304234297647049831266115017635675506706945197231342729779353283395142886820782761637801437421355695941855016642864094201403032102357543812872651318211066164450591216528428680806552006069894503201851643115584846386789701573253874690693769437476173018565275083751357523986728316960006257086714636 2161726001474783177114451989331580820650340248843432273203585332607612896839877884725287374951003108000837473870691296709839913269200923288827096431588278442072001638019071400451146341494907458028506300401133817701223837899172999217021631287418717077510644780676876921215706050901851521236764929358952614480581446573019120332696085886180548524420049227228817104854533571563532706489575912854221448251708666550055404119332898895426972283130533838286071169358349331790075075123466635531958847448495849605901480282940813975404037961769807015448957819320781851978594867502744564799772562588586055379633698134797812796976286050477542174401899781601553365586859493426441715126892634237631477461966948143391123973668190917098681443974466337699462810169231754344492199643155386788885215825068514363979381289605261163050141763687188299117690232552562585101987711366511309021030018566200914581725263786009251785140818055676299016380438110731268382035308182933609002803898873926995881930983221750528516655148022651301599038683478580011325681508841897051768215794026604252720787222321728179833412870719409559921566935452160646986087192329151036797677517982175277790300403729929460234229832966616586546215672176351457250416621481993315800267857292387427390112948212489663737465545747182269917816803935338633101353177366538355492218343314982672158303294516708489263490046233838326165625098929463931840297841696411650933929990359513382378799520026838109363118383824286882096947669840193967380222685728993903399464935669753477079872310369187399793692530226718512327277775509219248166637866388947394695314144832857096353809282360502678421992264560743945853054866946840876540970628340498713916443 3497746144750604497237648070575524869972883222587201275463571589016705230706340394043606485724459703427679618714251122318735844049750015490377288775239255813568046704128028426455873606526212954005906045672276789201625422328926179593102782903647961000265483996759213461316036398337794421592675256606833929546886544657630820013138229317879245064313355728229132024673442521796287781001803927966047547342218431423301469211965149420335804937020212542193597172077746626758026149369545515353836394346838196402443393228279100321322787647378593243194838529031565517607357448467924007329411015348909902648688771189863978791422859635302012966857338676931278098965053696841752194974393974080502251066065984267432952494856021035644896944130731560508374301871049324185077868906387611793280383886607874172828350996469447370299937412226402401648940897630679811868324137042466315723826278973353487361180431940103564864100644697384693055700611784401266827566891742225157797900699881523328782659225680509781359781152645711425922574913977459248800642170710593247026603445193385242925020138252755030711991825494227920105470782419003466847930463807770914580196908663766705272457224901762252209619511297751064312437118554634560123665750493539681972494860587709479242912198704651448629715619760823133470654974314580124102296464867225867970739760764585656687042900482309724083215177416030181328943775929301566144532139343461482200045007995188889085744717258180839142471667219429768917730431477995404801578381670848920042329029871156509182229854182060051111903596391169103543806204190025800172707760892149246338429729679243886055382536235193372191429740733762511128138618304364863269287588346755800631079 5659472146225387674352100059907105690623223471430633548667156921624318127546218278768893860675462811428517092584942419028575757318950938779204385206827534255640048342147099826907019948021120412034412346073410606902849260228099178810124414191066678077776128777436090382531742449239645942829440185965786544027467991230649940345834315204059793588733404955457949129527976093359820487491379840820268995593927097973356873331298048315762777220150746380479668341436095958548101224493012150885795241795334046008344873511219914296726825609148400258643796348352347369585952315970668572129183577937495958028322469324661791588399145685779555141259238458532831464551913190268193910101286608318133728528032932410824076468524211952743578388105197898207837112040281078529570068549542998582165599711676388536807732286074708533350079175913590700766631130183242396970311848408977624744856297539554401942905695726112816649241462753060992072081049895132535209602199925158766800704598755450324664590208902260309876436300668362727521613597456039260126323679552490298794819239219989495645807360574483210545404696213637480027037717871164113834017656136921951377874426645941983062757628631691712443849344264367650858652790730986017374082371975532997772762717880096906633025146917141112367181165508005403388471778249918757203649642233764223462958104079568328845346194999018213346705223649868507494568874858765497984829981039873133133974998354702271464544237285018948505590051043716651014678101318189372181801067399842823441793965540909986262102164551247450905596126617887615871083979699245048339345627281096641033743874512100982409191818595696050613422005294506456981193485251205739810258216687254514547522 9157218290975992171589748130482630560596106694017834824130728510641023358252558672812500346399922514856196711299193541347311601368700954269581673982066790069208095046275128253362893554547333366040318391745687396104474682557025358403227197094714639078041612774195303843847778847577440364422115442572620473574354535888280760358972544521939038653046760683687081154201418615156108268493183768786316542936145529396658342543263197736098582157170958922673265513513842585306127373862557666239631636142172242410788266739499014618049613256526993501838634877383912887193309764438592579458594593286405860677011240514525770379822005321081568108116577135464109563516966887109946105075680582398635979594098916678257028963380232988388475332235929458716211413911330402714647937455930610375445983598284262709636083282544155903650016588139993102415572027813922208838635985451443940468682576512907889304086127666216381513342107450445685127781661679533802037169091667383924598605298636973653447249434582770091236217453314074153444188511433498508926965850263083545821422684413374738570827498827238241257396521707865400132508500290167580681948119944692865958071335309708688335214853533453964653468855562118715171089909285620577497748122469072679745257578467806385875937345621792560996896785268828536859126752564498881305946107100990091433697864844153985532389095481327937429920401065898688823512650788067064129362120383334615334020006349891160550288954543199787648061718263146419932408532796184776983379449070691743484122995412066495444332018733307502017499723009056719414890183889270848512053388173245887372173604191344868464574354830889422804851746028268968109332103555570603079545805034010315178601 14816690437201379845941848190389736251219330165448468372797885432265341485798776951581394207075385326284713803884135960375887358687651893048786059188894324324848143388422228080269913502568453778074730737819098003007323942785124537213351611285781317155817741551631394226379521296817086307251555628538407017601822527118930700704806859725998832241780165639145030283729394708515928755984563609606585538530072627370015215874561246051861359377321705303152933854949938543854228598355569817125426877937506288419133140250718928914776438865675393760482431225736260256779262080409261151587778171223901818705333709839187561968221151006861123249375815593996941028068880077378140015176967190716769708122131849089081105431904444941132053720341127356924048525951611481244218006005473608957611583309960651246443815568618864437000095764053583803182203157997164605808947833860421565213538874052462291246991823392329198162583570203506677199862711574666337246771291592542691399309897392423978111839643485030401112653753982436880965802108889537769053289529815573844616241923633364234216634859401721451802801217921502880159546218161331694515965776081614817335945761955650671397972482165145677097318199826486366029742700016606594871830494444605677518020296347903292508962492538933673364077950776833940247598530814417638509595749334754314896655968923722314377735290480346150776625624715767196318081525646832562114192101423207748467995004704593432014833191828218736153651769306863070947086634114374149165180516470534566925916960952976481706434183284554952923095849626944335285974163588515896851399015454342528405917478703445850873766173426585473418273751322775425090525588806776342889804021721264829726123 23973908728177372017531596320872366811815436859466303196928613942906364844051335624393894553475307841140910515183329501723198960056352847318367733170961114394056238434697356333632807057115787144115049129564785399111798625342149895616578808380495956233859354325826698070227300144394526671673671071111027491176177063007211461063779404247937870894826926322832111437930813323672037024477747378392902081466218156766673558417824443787959941534492664225826199368463781129160355972218127483365058514079678530829921406990217943532826052122202387262321066103120173143972571844847853731046372764510307679382344950353713332348043156327942691357492392729461050591585846964488086120252647773115405687716230765767338134395284677929520529052577056815640259939862941883958865943461404219333057566908244913956079898851163020340650112352193576905597775185811086814647583819311865505682221450565370180551077951058545579675925677653952362327644373254200139283940383259926615997915196029397631559089078067800492348871207296511034409990620323036277980255380078657390437664608046738972787462358228959693060197739629368280292054718451499275197913896026307683294017097265359359733187335698599641750787055388605081200832609302227172369578616913678357263277874815709678384899838160726234360974736045662477106725283378916519815541856435744406330353833767876299910124385961674088206546025781665885141594176434899626243554221806542363802015011054484592565122146371418523801713487570009490879495166910558926148559965541226310410039956365042977150766202017862454940595572636001054700864347477786745363452403627588415778091082894790719338340528257474896223125497351044393199857692362346945969349826755275144904724 38790599165378751863473444511262103063034767024914771569726499375171706329850112575975288760550693167425624319067465462099086318744004740367153792359855438718904381823119584413902720559684240922189779867383883402119122568127274432829930419666277273389677095877458092296606821441211612978925226699649434508777999590126142161768586263973936703136607091961977141721660208032187965780462310987999487619996290784136688774292385689839821300911814369528979133223413719673014584570573697300490485392017184819249054547240936872447602490987877781022803497328856433400751833925257114882634150935734209498087678660192900894316264307334803814606868208323457991619654727041866226135429614963832175395838362614856419239827189122870652582772918184172564308465814553365203083949466877828290669150218205565202523714419781884777650208116247160708779978343808251420456531653172287070895760324617832471798069774450874777838509247857459039527507084828866476530711674852469307397225093421821609670928721552830893461524961278947915375792729212574047033544909894231235053906531680103207004097217630681144862998957550871160451600936612830969713879672107922500629962859221010031131159817863745318848105255215091447230575309318833767241409111358284034781298171163612970893862330699659907725052686822496417354323814193334158325137605770498721227009802691598614287859676442020238983171650497433081459675702081732188357746323229750112270010015759078024579955338199637259955365256876872561826581801024933075313740482011760877335956917318019458857200385302417407863691422262945389986838511066302642214851419081930944184008561598236570212106701684060369641399248673819818290383281169123288859153848476539974630847 62764507893556123881005040832134469874850203884381074766655113318078071173901448200369183314026001008566534834250794963822285278800357587685521525530816553112960620257816940747535527616800028066304828996948668801230921193469424328446509228046773229623536450203284790366834121585606139650598897770760461999954176653133353622832365668221874574031434018284809253159591021355860002804940058366392389701462508940903362332710210133627781242446307033754805332591877500802174940542791824783855543906096863350078975954231154815980428543110080168285124563431976606544724405770104968613680523700244517177470023610546614226664307463662746505964360601052919042211240574006354312255682262736947581083554593380623757374222473800800173111825495240988204568405677495249161949892928282047623726717126450479158603613270944905118300320468440737614377753529619338235104115472484152576577981775183202652349147725509420357514434925511411401855151458083066615814652058112395923395140289451219241230017799620631385810396168575458949785783349535610325013800289972888625491571139726842179791559575859640837923196697180239440743655655064330244911793568134230183923979956486369390864347153562344960598892310603696528431407918621060939610987728271962392044576045979322649278762168860386142086027422868158894461049097572250678140679462206243127557363636459474914197984062403694327189717676279098966601269878516631814601300545036292476072025026813562617145077484571055783757078744446882052706076967935492001462300447552987187745996873683062436007966587320279862804286994898946444687702858544089387578303822709519359962099644493027289550447229941535265864524746024864211490240973531470234828503675231815119535571 101555107058934875744478485343396572937884970909295846336381612693249777503751560776344472074576694175992159153318260425921371597544362328052675317890671991831865002080936525161438248176484268988494608864332552203350043761596698761276439647713050503013213546080742882663440943026817752629524124470409896508732176243259495784600951932195811277168041110246786394881251229388047968585402369354391877321458799725040051107002595823467602543358121403283784465815291220475189525113365522084346029298114048169328030501472091688428031034097957949307928060760833039945476239695362083496314674635978726675557702270739515120980571770997550320571228809376377033830895301048220538391111877700779756479392955995480176614049662923670825694598413425160768876871492048614365033842395159875914395867344656044361127327690726789895950528584687898323157731873427589655560647125656439647473742099801035124147217499960295135352944173368870441382658542911933092345363732964865230792365382873040850900946521173462279271921129854406865161576078748184372047345199867119860545477671406945386795656793490321982786195654731110601195256591677161214625673240242152684553942815707379421995506971426090279446997565818787975661983227939894706852396839630246426825874217142935620172624499560046049811080109690655311815372911765584836465817067976741848784373439151073528485843738845714566172889326776532048060945580598364002959046868266042588342035042572640641725032822770693043712444001323754614532658768960425076776040929564748065081953791001081894865166972622697270667978417161891834674541369610392029793155241791450304146108206091263859762553931625595635505923994698684029780624254700593523687657523708355094166418 164319614952490999625483526175531042812735174793676921103036726011327848677653008976713655388602695184558693987569055389743656876344719915738196843421488544944825622338753465908973775793284297054799437861281221004580964955066123089722948875759823732636749996284027673030275064612423892280123022241170358508686352896392849407433317600417685851199475128531595648040842250743907971390342427720784267022921308665943413439712805957095383785804428437038589798407168721277364465656157346868201573204210911519407006455703246504408459577208038117593052624192809646490200645465467052109995198336223243853027725881286129347644879234660296826535589410429296076042135875054574850646794140437727337562947549376103933988272136724470998806423908666148973445277169543863526983735323441923538122584471106523519730940961671695014250849053128635937535485403046927890664762598140592224051723874984237776496365225469715492867379098880281843237810000994999708160015791077261154187505672324260092130964320794093665082317298429865814947359428283794697061145489840008486037048811133787566587216369349962820709392351911350041938912246741491459537466808376382868477922772193748812859854124988435240045889876422484504093391146560955646463384567902208818870450263122258269451386668420432191897107532558814206276422009337835514606496530182984976341737075610548442683827801249408893362607003055631014662215459114995817560347413302335064414060069386203258870110307341748827469522745770636667238735736895917078238341377117735252827950664684144330873133559942977133472265412060838279362244228154481417371459064500969664108207850584291149313001161567130901370448740723548241270865228232063758516161198940170213701989 265874722011425875369962011518927615750620145702972767439418338704577626181404569753058127463179389360550853140887315815665028473889082243790872161312160536776690624419689991070412023969768566043294046725613773207931008716662821850999388523472874235649963542364770555693716007639241644909647146711580255017418529139652345192034269532613497128367516238778382042922093480131955939975744797075176144344380108390983464546715401780562986329162549840322374264222459941752553990769522868952547602502324959688735036957175338192836490611305996066900980684953642686435676885160829135606309872972201970528585428152025644468625451005657847147106818219805673109873031176102795389037906018138507094042340505371584110602321799648141824501022322091309742322148661592477892017577718601799452518451815762567880858268652398484910201377637816534260693217276474517546225409723797031871525465974785272900643582725430010628220323272249152284620468543906932800505379524042126384979871055197300943031910841967555944354238428284272680108935507031979069108490689707128346582526482540732953382873162840284803495588006642460643134168838418652674163140048618535553031865587901128234855361096414525519492887442241272479755374374500850353315781407532455245696324480265193889624011167980478241708187642249469518091794921103420351072313598159726825126110514761621971169671540095123459535496329832163062723161039713359820519394281568377652756095111958843900595143130112441871181966747094391281771394505856342155014382306682483317909904455685226225738300532565674404140243829222730114036785597764873447164614306292419968254316056675555009075555093192726536876372735422232271051489482932657282203818722648525307868407 430194336963916874995445537694458658563355320496649688542455064715905474859057578729771782851782084545109547128456371205408685350233802159529069004733649081721516246758443456979385799763052863098093484586894994212511973671728944940722337399232697968286713538648798228723991072251665537189770168952750613526104882036045194599467587133031182979566991367309977690962935730875863911366087224795960411367301417056926877986428207737658370114966978277360964062629628663029918456425680215820749175706535871208142043412878584697244950188514034184494033309146452332925877530626296187716305071308425214381613154033311773816270330240318143973642407630234969185915167051157370239684700158576234431605288054747688044590593936372612823307446230757458715767425831136341419001313042043722990641036286869091400589209614070179924452226690945170198228702679521445436890172321937624095577189849769510677139947950899726121087702371129434127858278544901932508665395315119387539167376727521561035162875162761649609436555726714138495056294935315773766169636179547136832619575293674520519970089532190247624204980358553810685073081085160144133700606856994918421509788360094877047715215221402960759538777318663756983848765521061805999779165975434664064566774743387452159075397836400910433605295174808283724368216930441255865678810128342711801467847590372170413853499341344532352898103332887794077385376498828355638079741694870712717170155181345047159465253437454190698651489492865027949010130242752259233252723683800218570737855120369370556611434092508651537612509241283568393399029825919354864536073370793389632362523907259846158388556254759857438246821476145780512322354711164721040719979921588695521570396 696069058975342750365407549213386274313975466199622455981873403420483101040462148482829910314961473905660400269343687021073713824122884403319941166045809618498206871178133448049797823732821429141387531312508767420442982388391766791721725922705572203936677081013568784417707079890907182099417315664330868543523411175697539791501856665644680107934507606088359733885029211007819851341832021871136555711681525447910342533143609518221356444129528117683338326852088604782472447195203084773296778208860830896877080370053922890081440799820030251395013994100095019361554415787125323322614944280627184910198582185337418284895781245975991120749225850040642295788198227260165628722606176714741525647628560119272155192915736020754647808468552848768458089574492728819311018890760645522443159488102631659281447478266468664834653604328761704458921919955995962983115582045734655967102655824554783577783530676329736749308025643378586412478747088808865309170774839161513924147247782718861978194786004729205553790794154998411175165230442347752835278126869254265179202101776215253473352962695030532427700568365196271328207249923578796807863746905613453974541653947996005282570576317817486279031664760905029463604139895562656353094947382967119310263099223652646048699409004381388675313482817057753242460011851544676216751123726502438626593958105133792385023170881439655812433599662719957140108537538541715458599135976439090369926250293303891060060396567566632569833456239959419230781524748608601388267105990482701888647759576054596782349734625074325941752753070506298507435815423684228311700687677085809600616839963935401167464111347952583975123194211568012783373844194097378322923798644237220829438803 1126263395939259625360853086907844932877330786696272144524328468136388575899519727212601693166743558450769947397800058226482399174356686562849010170779458700219723117936576905029183623495874292239481015899403761632954956060120711732444063321938270172223390619662367013141698152142572719289187484617081482069628293211742734390969443798675863087501498973398337424847964941883683762707919246667096967078982942504837220519571817255879726559096506395044302389481717267812390903620883300594045953915396702105019123782932507587326390988334064435889047303246547352287431946413421511038920015589052399291811736218649192101166111486294135094391633480275611481703365278417535868407306335290975957252916614866960199783509672393367471115914783606227173857000323865160730020203802689245433800524389500750682036687880538844759105831019706874657150622635517408420005754367672280062679845674324294254923478627229462870395728014508020540337025633710797817836170154280901463314624510240423013357661167490855163227349881712549670221525377663526601447763048801402011821677069889773993323052227220780051905548723750082013280331008738940941564353762608372396051442308090882330285791539220447038570442079568786447452905416624462352874113358401783374829873967040098207774806840782299108918777991866036966828228781985932082429933854845150428061805695505962798876670222784188165331702995607751217493914037370071096678877671309803087096405474648938219525650005020823268484945732824447179791654991360860621519829674282920459385614696423967338961168717582977479365262311789866900834845249603583176236761047879199232979363871195247325852667602712441413370015687713793295696198905262099363643778565825916351009199 1822332454914602375726260636121231207191306252895894600506201871556871676939981875695431603481705032356430347667143745247556112998479570966168951336825268318717929989114710353078981447228695721380868547211912529053397938448512478524165789244643842376160067700675935797559405232033479901388604800281412350613151704387440274182471300464320543195436006579486697158732994152891503614049751268538233522790664467952747563052715426774101083003226034512727640716333805872594863350816086385367342732124257533001896204152986430477407831788154094687284061297346642371648986362200546834361534959869679584202010318403986610386061892732270126215140859330316253777491563505677701497129912512005717482900545174986232354976425408414122118924383336454995631946574816593980041039094563334767876960012492132409963484166147007509593759435348468579116072542591513371403121336413406936029782501498879077832707009303559199619703753657886606952815772722519663127006944993442415387461872292959284991552447172220060717018144036710960845386755820011279436725889918055667191023778846105027466676014922251312479606117088946353341487580932317737749428100668221826370593096256086887612856367857037933317602106840473815911057045312187118705969060741368902685092973190692744256474215845163687784232260808923790209288240633530608299181057581347589054655763800639755183899841104223843977765302658327708357602451575911786555278013647748893457022655767952829279586046572587455838318401972783866410573179739969462009786935664765622348033374272478564121310903342657303421118015382296165408270660673287811487937448724965008833596203835130648493316778950665025388493209899281806079070043099359477686567577210063137180448002 2948595850853862001087113723029076140068637039592166745030530339693260252839501602908033296648448590807200295064943803474038512172836257529017961507604727018937653107051287258108165070724570013620349563111316290686352894508633190256609852566582112548383458320338302810701103384176052620677792284898493832682779997599183008573440744262996406282937505552885034583580959094775187376757670515205330489869647410457584783572287244029980809562322540907771943105815523140407254254436969685961388686039654235106915327935918938064734222776488159123173108600593189723936418308613968345400454975458731983493822054622635802487228004218564261309532492810591865259194928784095237365537218847296693440153461789853192554759935080807489590040298120061222805803575140459140771059298366024013310760536881633160645520854027546354352865266368175453773223165227030779823127090781079216092462347173203372087630487930788662490099481672394627493152798356230460944843115147723316850776496803199708004910108339710915880245493918423510515608281197674806038173652966857069202845455915994801459999067149472092531511665812696435354767911941056678690992454430830198766644538564177769943142159396258380356172548920042602358509950728811581058843174099770686059922847157732842464249022685945986893151038800789827176116469415516540381610991436192739482717569496145717982776511327008032143097005653935459575096365613281857651956891319058696544119061242601767499111696577608279106803347705608313590364834731330322631306765339048542807418988968902531460272072060240280900483277694086032309105505922891394664174209772844208066575567706325895819169446553377466801863225586995599374766242004621577050211355775889053531457201 4770928305768464376813374359150307347259943292488061345536732211250131929779483478603464900130153623163630642732087548721594625171315828495186912844429995337655583096165997611187146517953265735001218110323228819739750832957145668780775641811225954924543526021014238608260508616209532522066397085179906183295931701986623282755912044727316949478373512132371731742313953247666690990807421783743564012660311878410332346625002670804081892565548575420499583822149329013002117605253056071328731418163911768108811532088905368542142054564642253810457169897939832095585404670814515179761989935328411567695832373026622412873289896950834387524673352140908119036686492289772938862667131359302410923054006964839424909736360489221611708964681456516218437750149957053120812098392929358781187720549373765570609005020174553863946624701716644032889295707818544151226248427194486152122244848672082449920337497234347862109803235330281234445968571078750124071850060141165732238238369096158992996462555511930976597263637955134471360995037017686085474899542884912736393869234762099828926675082071723405011117782901642788696255492873374416440420555099052025137237634820264657555998527253296313673774655760516418269566996040998699764812234841139588745015820348425586720723238531109674677383299609713617385404710049047148680792049017540328537373333296785473166676352431231876120862308312263167932698817189193644207234904966807590001141717010554596778697743150195734945121749678392180000938014471299784641093701003814165155452363241381095581582975402897584321601293076382197717376166596179206152111658497809216900171771541456544312486225504042492190356435486277405453836285103981054736778932985952190711905203 7719524156622326377900488082179383487328580332080228090567262550943392182618985081511498196778602213970830937797031352195633137344152086024204874352034722356593236203217284869295311588677835748621567673434545110426103727465778859037385494377808067472926984341352541418961612000385585142744189370078400015978711699585806291329352788990313355761311017685256766325894912342441878367565092298948894502529959288867917130197289914834062702127871116328271526927964852153409371859690025757290120104203566003215726860024824306606876277341130412933630278498533021819521822979428483525162444910787143551189654427649258215360517901169398648834205844951499984295881421073868176228204350206599104363207468754692617464496295570029101299004979576577441243553725097512261583157691295382794498481086255398731254525874202100218299489968084819486662518873045574931049375517975565368214707195845285822007967985165136524599902717002675861939121369434980585016693175288889049089014865899358701001372663851641892477509131873557981876603318215360891513073195851769805596714690678094630386674149221195497542629448714339224051023404814431095131413009529882223903882173384442427499140686649554694029947204680559020628076946769810280823655408940910274804938667506158429184972261217055661570534338410503444561521179464563689062403040453733068020090902792931191149452863758239908263959313966198627507795182802475501859191796285866286545260778253156364277809439727804014051925097384000493591302849202630107272400466342862707962871352210283627041855047463137865222084570770468230026481672519070600816285868270653424966747339247782440131655672057419958992219661073273004828602527108602631786990288761841244243362404 12490452462390790754713862441329690834588523624568289436103994762193524112398468560114963096908755837134461580529118900917227762515467914519391787196464717694248819299383282480482458106631101483622785783757773930165854560422924527818161136189034022397470510362366780027222120616595117664810586455258306199274643401572429574085264833717630305239684529817628498068208865590108569358372514082692458515190271167278249476822292585638144594693419691748771110750114181166411489464943081828618851522367477771324538392113729675149018331905772666744087448396472853915107227650242998704924434846115555118885486800675880628233807798120233036358879197092408103332567913363641115090871481565901515286261475719532042374232656059250713007969661033093659681303875054565382395256084224741575686201635629164301863530894376654082246114669801463519551814580864119082275623945170051520336952044517368271928305482399484386709705952332957096385089940513730709088543235430054781327253234995517693997835219363572869074772769828692453237598355233046976987972738736682541990583925440194459313349231292918902553747231615982012747278897687805511571833564628934249041119808204707085055139213902851007703721860441075438897643942810808980588467643782049863549954487854584015905695499748165336247917638020217061946925889513610837743195089471273396557464236089716664316129216189471784384821622278461795440493999991669146066426701252673876546402495263710961056507182877999748997046847062392673592240863673929891913494167346676873118323715451664722623438022866035449543685863846850427743857839115249806968397526768462641866919110789238984444141897561462451182576096559550410282438812212583686523769221747793434955267607 20209976619013117132614350523509074321917103956648517526671257313136916295017453641626461293687358051105292518326150253112860899859620000543596661548499440050842055502600567349777769695308937232244353457192319040591958287888703386855546630566842089870397494703719321446183732616980702807554775825336706215253355101158235865414617622707943661000995547502885264394103777932550447725937606381641353017720230456146166607019582500472207296821290808077042637678079033319820861324633107585908971626571043774540265252138553981755894609246903079677717726895005875734629050629671482230086879756902698670075141228325138843594325699289631685193085042043908087628449334437509291319075831772500619649468944474224659838728951629279814306974640609671100924857600152077643978413775520124370184682721884563033118056768578754300545604637886283006214333453909694013324999463145616888551659240362654093936273467564620911309608669335632958324211309948711294105236410718943830416268100894876394999207883215214761552281901702250435114201673448407868501045934588452347587298616118289089700023380514114400096376680330321236798302302502236606703246574158816472945001981589149512554279900552405701733669065121634459525720889580619261412123052722960138354893155360742445090667760965220997818451976430720506508447068978174526805598129925006464577555138882647855465582079947711692648780936244660422948289182794144647925618497538540163091663273516867325334316622605803763048971944446393167183543712876559999185894633689539581081195067661948349665293070329173314765770434617318657770339511634320407784683395039116066833666450037021424575797569618882410174795757632823415111041339321186318310759510509634679198630011 32700429081403907887328212964838765156505627581216806962775252075330440407415922201741424390596113888239754098855269154030088662375087915062988448744964157745090874801983849830260227801940038715867139240950092970757812848311627914673707766755876112267868005066086101473405853233575820472365362280595012414527998502730665439499882456425573966240680077320513762462312643522659017084310120464333811532910501623424416083841875086110351891514710499825813748428193214486232350789576189414527823148938521545864803644252283656904912941152675746421805175291478729649736278279914480935011314603018253788960628029001019471828133497409864721551964239136316190961017247801150406409947313338402134935730420193756702212961607688530527314944301642764760606161475206643026373669859744865945870884357513727334981587662955408382791719307687746525766148034773813095600623408315668408888611284880022365864578949964105298019314621668590054709301250462442003193779646148998611743521335890394088997043102578787630627054671530942888351800028681454845489018673325134889577882541558483549013372611807033302650123911946303249545581200190042118275080138787750721986121789793856597609419114455256709437390925562709898423364832391428242000590696505010001904847643215326460996363260713386334066369614450937568455372958491785364548793219396279861135019374972364519781711296137183477033602558523122218388783182785813793992045198791214039638065768780578286390823805483803512046018791508785840775784576550489891099388801036216454199518783113613072288731093195208764309456298464169085514197350749570214753080921807578708700585560826260409019939467180344861357371854192373825393480151533770004834528732257428114153897618 52910405700417025019942563488347839478422731537865324489446509388467356702433375843367885684283471939345046617181419407142949562234707915606585110293463597795932930304584417180037997497248975948111492698142412011349771136200331301529254397322718202138265499769805422919589585850556523279920138105931718629781353603888901304914500079133517627241675624823399026856416421455209464810247726845975164550630732079570582690861457586582559188336001307902856386106272247806053212114209297000436794775509565320405068896390837638660807550399578826099522902186484605384365328909585963165098194359920952459035769257326158315422459196699496406745049281180224278589466582238659697729023145110902754585199364667981362051690559317810341621918942252435861531019075358720670352083635264990316055567079398290368099644431534162683337323945574029531980481488683507108925622871461285297440270525242676459800852417528726209328923291004223013033512560411153297299016056867942442159789436785270483996250985794002392179336573233193323466001702129862713990064607913587237165181157676772638713395992321147702746500592276624486343883502692278724978326712946567194931123771383006110163699015007662411171059990684344357949085721972047503412713749227970140259740798576068906087031021678607331884821590881658074963820027469959891354391349321286325712574513855012375247293376084895169682383494767782641337072365579958441917663696329754202729729042297445611725140428089607275094990735955179007959328289427049890285283434725756035280713850775561421954024163524382079075226733081487743284536862383890622537764316846694775534252010863281833595737036799227271532167611825197240504521490854956323145288242767062793352527629 85610834781820932907270776453186604634928359119082131452221761463797797109849298045109310074879585827584800716036688561173038224609795830669573559038427755541023805106568267010298225299189014663978631939092504982107583984511959216202962164078594314406133504835891524392995439084132343752285500386526731044309352106619566744414382535559091593482355702143912789318729064977868481894557847310308976083541233702994998774703332672692911079850711807728670134534465462292285562903785486414964617924448086866269872540643121295565720491552254572521328077477963335034101607189500444100109508962939206247996397286327177787250592694109361128297013520316540469550483830039810104138970458449304889520929784861738064264652167006340868936863243895200622137180550565363696725753495009856261926451436912017703081232094489571066129043253261776057746629523457320204526246279776953706328881810122698825665431367492831507348237912672813067742813810873595300492795703016941053903310772675664572993294088372790022806391244764136211817801730811317559479083281238722126743063699235256187726768604128181005396624504222927735889464702882320843253406851734317916917245561176862707773118129462919120608450916247054256372450554363475745413304445732980142164588441791395367083394282391993665951191205332595643419192985961745255903184568717566186847593888827376895029004672222078646715986053290904859725855548365772235909708895120968242367794811078023898115964233573410787141009527463964848735112865977539781384672235761972489480232633889174494242755256719590843384683031545656828798734213133460837290845238654273484234837571689542242615676503979572132889539466017571065898001642388726327979816975024490907506425247 138521240482237957927213339941534444113351090656947455941668270852265153812282673888477195759163057766929847333218107968315987786844503746276158669331891353336956735411152684190336222796437990612090124637234916993457355120712290517732216561401312516544399004605696947312585024934688867032205638492458449674090705710508468049328882614692609220724031326967311816175145486433077946704805574156284140634171965782565581465564790259275470268186713115631526520640737710098338775017994783415401412699957652186674941437033958934226528041951833398620850979664447940418466936099086407265207703322860158707032166543653336102673051890808857535042062801496764748139950412278469801867993603560207644106129149529719426316342726324151210558782186147636483668199625924084367077837130274846577982018516310308071180876526023733749466367198835805589727111012140827313451869151238239003769152335365375285466283785021557716677161203677036080776326371284748597791811759884883496063100209460935056989545074166792414985727817997329535283803432941180273469147889152309363908244856912028826440164596449328708143125096499552222233348205574599568231733564680885111848369332559868817936817144470581531779510906931398614321536276335523248826018194960950282424329240367464273170425304070600997836012796214253718383013013431705147257575918038852512560168402682389270276298048306973816398369548058687501062927913945730677827372591450722445097523853375469509841104661663018062236000263419143856694441155404589671669955670487728524760946484664735916196779420243972922459909764627144572083271075517351459828609555500968259769089582552824076211413540778799404421707077842768306402523133243682651125105217791553700858952876 224132075264058890834484116394721048748279449776029587393890032316062950922131971933586505834042643594514648049254796529489026011454299576945732228370319108877980540517720951200634448095627005276068756576327421975564939105224249733935178725479906830950532509441588471705580464018821210784491138878985180718400057817128034793743265150251700814206387029111224605493874551410946428599363421466593116717713199485560580240268122931968381348037424923360196655175203172390624337921780269830366030624405739052944813977677080229792248533504087971142179057142411275452568543288586851365317212285799364955028563829980513889923644584918218663339076321813305217690434242318279906006964062009512533627058934391457490580994893330492079495645430042837105805380176489448063803590625284702839908469953222325774262108620513304815595410452097581647473740535598147517978115431015192710098034145488074111131715152514389224025399116349849148519140182158343898284607462901824549966410982136599629982839162539582437792119062761465747101605163752497832948231170391031490651308556147285014166933200577509713539749600722479958122812908456920411485140416415203028765614893736731525709935273933500652387961823178452870693986830698998994239322640693930424588917682158859640253819586462594663787204001546849361802205999393450403160760486756418699407762291509766165305302720529052463114355601349592360788783462311502913737081486571690687465318664453493407957068895236428849377009790883108705429554021382129453054627906249701014241179118553910410439534676963563765844592796172801400882005288650812297119454794155241744003927154242366318827090044758371537311246543860339372300524775632408979104922192816044608365378123 362653315746296848761697456336255492861630540432977043335558303168328104734414645822063701593205701361444495382472904497805013798298803323221890897702210462214937275928873635390970670892064995888158881213562338969022294225936540251667395286881219347494931514047285419018165488953510077816696777371443630392490763527636502843072147764944310034930418356078536421669020037844024375304168995622877257351885165268126161705832913191243851616224138038991723175815940882488963112939775053245767443324363391239619755414711039164018776575455921369763030036806859215871035479387673258630524915608659523662060730373633849992596696475727076198381139123310069965830384654596749707874957665569720177733188083921176916897337619654643290054427616190473589473579802413532430881427755559549417890488469532633845442985146537038565061777650933387237200851547738974831429984582253431713867186480853449396597998937535946940702560320026885229295466553443092496076419222786708046029511191597534686972384236706374852777846880758795282385408596693678106417379059543340854559553413059313840607097797026838421682874697222032180356161114031519979716873981096088140613984226296600343646752418404082184167472730109851485015523107034522243065340835654880707013246922526323913424244890533195661623216797761103080185219012825155550418336404795271211967930694192155435581600768836026279512725149408279861851711376257233591564454078022413132562842517828962917798173556899446911613010054302252562123995176786719124724583576737429539002125603218646326636314097207536688304502560799945972965276364168163756948064349656210003773016736795190395038503585537170941732953621703107678703047908876091630230027410607598309224330999 586785391010355739596181572730976541609909990209006630729448335484391055656546617755650207427248344955959143431727701027294039809753102900167623126072529571092917816446594586591605118987692001164227637789889760944587233331160789985602574012361126178445464023488873890723745952972331288601187916250428811110890821344764537636815412915196010849136805385189761027162894589254970803903532417089470374069598364753686741946101036123212232964261562962351919830991144054879587450861555323076133473948769130292564569392388119393811025108960009340905209093949270491323604022676260109995842127894458888617089294203614363882520341060645294861720215445123375183520818896915029613881921727579232711360247018312634407478332512985135369550073046233310695278959978902980494685018380844252257798958422754959619705093767050343380657188103030968884674592083337122349408100013268624423965220626341523507729714090050336164727959436376734377814606735601436394361026685688532595995922173734134316955223399245957290569965943520261029487013760446175939365610229934372345210861969206598854774030997604348135222624297944512138478974022488440391202014397511291169379599120033331869356687692337582836555434553288304355709509937733521237304663476348811131602164604685183553678064476995790325410420799307952441987425012218605953579096891551689911375692985701921600886903489365078742627080750757872222640494838568736505301535564594103820028161182282456325755242452135875760990019845185361267553549198168848577779211482987130553243304721772556737075848774171100454149095356972747373847281652818976054067519143811451747776943891037556713865593630295542479044200165563447051003572684508500609334949603423642917589709122 949438706756652588357879029067232034471540530641983674065006638652719160390961263577713909020454046317403638814200605525099053608051906223389514023774740033307855092375468221982575789879756997052386519003452099913609527557097330237269969299242345525940395537536159309741911441925841366417884693621872441503381584872401040479887560680140320884067223741268297448831914627098995179207701412712347631421483530021812903651933949314456084580485701001343643006807084937368550563801330376321900917273132521532184324807099158557829801684415930710668239130756129707194639502063933368626367043503118412279150024577248213875117037536372371060101354568433445149351203551511779321756879393148952889093435102233811324375670132639778659604500662423784284752539781316512925566446136403801675689446892287593465148078913587381945718965753964356121875443631076097180838084595522056137832407107194972904327713027586283105430519756403619607110073289044528890437445908475240642025433365331669003927607635952332143347812824279056311872422357139854045782989289477713199770415382265912695381128794631186556905498995166544318835135136519960370918888378607379309993583346329932213003440110741665020722907283398155840725033044768043480370004312003691838615411527211507467102309367528985987033637597069055522172644025043761503997433296346961123343623679894077036468504258201105022139805900166152084492206214825970096865989642616516952591003700111419243553416009035322672603029899487613829677544374955567702503795059724560092245430324991203063712162871378637142453597917772693346812558016987139811015583493467661751549960627832747108904097215832713420777153787266554729706620593384592239564977014031241226814040121 1536224097767008327954060601798208576081450520850990304794454974137110216047507881333364116447702391273362782245928306552393093417805009123557137149847269604400772908822062808574180908867448998216614156793341860858196760888258120222872543311603471704385859561025033200465657394898172655019072609872301252614272406217165578116702973595336331733204029126458058475994809216353965983111233829801818005491081894775499645598034985437668317544747263963695562837798228992248138014662885699398034391221901651824748894199487277951640826793375940051573448224705400198518243524740193478622209171397577300896239318780862577757637378597017665921821570013556820332872022448426808935638801120728185600453682120546445731854002645624914029154573708657094980031499760219493420251464517248053933488405315042553084853172680637725326376153856995325006550035714413219530246184608790680561797627733536496412057427117636619270158479192780353984924680024645965284798472594163773238021355539065803320882831035198289433917778767799317341359436117586029985148599519412085544981277351472511550155159792235534692128123293111056457314109159008400762120902776118670479373182466363264082360127803079247857278341836686460196434542982501564717674667788352502970217576131896691020780373844524776312444058396377007964160069037262367457576530187898651034719316665595998637355407747566183764766886650924024307132701053394706602167525207210620772619164882393875569308658461171198433593049744672975097231093573124416280283006542711690645488735046763759800788011645549737596602693274745440720659839669806115865083102637279113499326904518870303822769690846128255899821353952830001780710193277893092848899926617454884144403749243 2485662804523660916311939630865440610552991051492973978859461612789829376438469144911078025468156437590766421060128912077492147025856915346946651173622009637708628001197531030556756698747205995269000675796793960771806288445355450460142512610845817230326255098561192510207568836824014021436957303494173694117653991089566618596590534275476652617271252867726355924826723843452961162318935242514165636912565424797312549249968934752124402125232964965039205844605313929616688578464216075719935308495034173356933219006586436509470628477791870762241687355461529905712883026804126847248576214900695713175389343358110791632754416133390036981922924581990265482223225999938588257395680513877138489547117222780257056229672778264692688759074371080879264784039541536006345817910653651855609177852207330146550001251594225107272095119610959681128425479345489316711084269204312736699630034840731469316385140145222902375588998949183973592034753313690494175235918502639013880046788904397472324810438671150621577265591592078373653231858474725884030931588808889798744751692733738424245536288586866721249033622288277600776149244295528361133039791154726049789366765812693196295363567913820912878001249120084616037159576027269608198044672100356194808832987659108198487882683212053762299477695993446063486332713062306128961573963484245612158062940345490075673823912005767288786906692551090176391624907268220676699033514849827137725210168582505294812862074470206521106196079644160588926908637948079983982786801602436250737734165371754962864500174516928374739056291192518134067472397686793255676098686130746775250876865146703050931673788061960969320598507740096556510416813871277685088464903631486125371217789364 4021886902290669244266000232663649186634441572343964283653916586926939592485977026244442141915858828864129203306057218629885240443661924470503788323469279242109400910019593839130937607614654993485614832590135821630003049333613570683015055922449288934712114659586225710673226231722186676456029913366474946731926397306732196713293507870812984350475281994184414400821533059806927145430169072315983642403647319572812194848003920189792719669980228928734768682403542921864826593127101775117969699716935825181682113206073714461111455271167810813815135580166930104231126551544320325870785386298273014071628662138973369390391794730407702903744494595547085815095248448365397193034481634605324090000799343326702788083675423889606717913648079737974244815539301755499766069375170899909542666257522372699634854424274862832598471273467955006134975515059902536241330453813103417261427662574267965728442567262859521645747478141964327576959433338336459460034391096802787118068144443463275645693269706348911011183370359877690994591294592311914016080188328301884289732970085210935795691448379102255941161745581388657233463353454536761895160693930844720268739948279056460377723695716900160735279590956771076233594119009771172915719339888708697779050563791004889508663057056578538611921754389823071450492782099568496419150493672144263192782257011086074311179319753333472551673579202014200698757608321615383301201040057037758497829333464899170382170732931377719539789129388833564024139731521204400263069808145147941383222900418518722665288186162478112335658984467263574788132237356599371541181788768025888750203769665573354754443478908089225220419861692926558291127007149170777937364830248941009515621538607 6507549706814330160577939863529089797187432623836938262513378199716768968924446171155520167384015266454895624366186130707377387469518839817450439497091288879818028911217124869687694306361860988754615508386929782401809337778969021143157568533295106165038369758147418220880795068546200697892987216860648640849580388396298815309884042146289636967746534861910770325648256903259888307749104314830149279316212744370124744097972854941917121795213193893773974527008856851481515171591317850837905008211969998538615332212660150970582083748959681576056822935628460009944009578348447173119361601198968727247018005497084161023146210863797739885667419177537351297318474448303985450430162148482462579547916566106959844313348202154299406672722450818853509599578843291506111887285824551765151844109729702846184855675869087939870566393078914687263400994405391852952414723017416153961057697414999435044827707408082424021336477091148301168994186652026953635270309599441800998114933347860747970503708377499532588448961951956064647823153067037798047011777137191683034484662818949360041227736965968977190195367869666258009612597750065123028200485085570770058106714091749656673087263630721073613280840076855692270753695037040781113764011989064892587883551450113087996545740268632300911399450383269134936825495161874625380724457156389875350845197356576149985003231759100761338580271753104377090382515589836060000234554906864896223039502047404465195032807401584240645985209032994152951048369469284384245856609747584192120957065790273685529788360679406487074715275659781708855604635043392627217280474898772664001080634812276405686117266970050194541018369433023114801543821020448463025829733880427134886839327971 10529436609104999404843940096192738983821874196180902546167294786643708561410423197399962309299874095319024827672243349337262627913180764287954227820560568121927429821236718708818631913976515982240230340977065604031812387112582591826172624455744395099750484417733643931554021300268387374349017130227123587581506785703031012023177550017102621318221816856095184726469789963066815453179273387146132921719860063942936938945976775131709841465193422822508743209412399773346341764718419625955874707928905823720297445418733865431693539020127492389871958515795390114175136129892767498990146987497241741318646667636057530413538005594205442789411913773084437112413722896669382643464643783087786669548715909433662632397023626043906124586370530556827754415118145047005877956660995451674694510367252075545819710100143950772469037666546869693398376509465294389193745176830519571222485359989267400773270274670941945667083955233112628745953619990363413095304700696244588116183077791324023616196978083848443599632332311833755642414447659349712063091965465493567324217632904160295836919185345071233131357113451054915243075951204601884923361179016415490326846662370806117050810959347621234348560431033626768504347814046811954029483351877773590366934115241117977505208797325210839523321204773092206387318277261443121799874950828534138543627454367662224296182551512434233890253850955118577789140123911451443301435594963902654720868835512303635577203540332961960185774338421827716975188100990488784508926417892732133504179966208792408195076546841884599410374260127045283643736872399991998758462263666798552751284404477849760440560745878139419761438231125949673092670828169619240963194564129368144402460866578 17036986315919329565421879959721828781009306820017840808680672986360477530334869368555482476683889361773920452038429480044640015382699604105404667317651857001745458732453843578506326220338376970994845849363995386433621724891551612969330192989039501264788854175881062152434816368814588072242004347087772228431087174099329827333061592163392258285968351718005955052118046866326703760928377701976282201036072808313061683043949630073626963260406616716282717736421256624827856936309737476793779716140875822258912777631394016402275622769087173965928781451423850124119145708241214672109508588696210468565664673133141691436684216458003182675079332950621788409732197344973368093894805931570249249096632475540622476710371828198205531259092981375681264014696988338511989843946820003439846354476981778392004565776013038712339604059625784380661777503870686242146159899847935725183543057404266835818097982079024369688420432324260929914947806642390366730575010295686389114298011139184771586700686461347976188081294263789820290237600726387510110103742602685250358702295723109655878146922311040210321552481320721173252688548954667007951561664101986260384953376462555773723898222978342307961841271110482460775101509083852735143247363866838482954817666691231065501754537593843140434720655156361341324143772423317747180599407984924013894472651724238374281185783271534995228834122708222954879522639501287503301670149870767550943908337559708100772236347734546200831759547454821869926236470459773168754783027640316325625137031999066093724864907521291086485089535786826992499341507443384625975742738565571216752365039290126166126678012848189614302456600558972787894214649190067703989024298009795279289300194549 27566422925024328970265820055914567764831181016198743354847967773004186091745292565955444785983763457092945279710672829381902643295880368393358895138212425123672888553690562287324958134314892953235076190341060990465434112004134204795502817444783896364539338593614706083988837669082975446591021477314895816012593959802360839356239142180494879604190168574101139778587836829393519214107651089122415122755932872255998621989926405205336804725600039538791460945833656398174198701028157102749654424069781645979210223050127881833969161789214666355800739967219240238294281838133982171099655576193452209884311340769199221850222222052208625464491246723706225522145920241642750737359449714658035918645348384974285109107395454242111655845463511932509018429815133385517867800607815455114540864844233853937824275876156989484808641726172654074060154013335980631339905076678455296406028417393534236591368256749966315355504387557373558660901426632753779825879710991930977230481088930508795202897664545196419787713626575623575932652048385737222173195708068178817682919928627269951715066107656111443452909594771776088495764500159268892874922843118401750711800038833361890774709182325963542310401702144109229279449323130664689172730715744612073321751781932349043006963334919053979958041859929453547711462049684760868980474358813458152438100106091900598577368334783969229119087973663341532668662763412738946603105744834670205664777173072011736349439888067508161017533885876649586901424571450261953263709445533048459129316998207858501919941454363175685895463795913872276143078379843376624734205002232369769503649443767975926567238758726329034063894831684922460986885477359686944952218862139163423691761061127 44603409240943658535687700015636396545840487836216584163528640759364663622080161934510927262667652818866865731749102309426542658678579972498763562455864282125418347286144405865831284354653269924229922039705056376899055836895685817764833010433823397629328192769495768236423654037897563518833025824402668044443681133901690666689300734343887137890158520292107094830705883695720222975036028791098697323792005680569060305033876035278963767986006656255074178682254913023002055637337894579543434140210657468238123000681521898236244784558301840321729521418643090362413427546375196843209164164889662678449976013902340913286906438510211808139570579674328013931878117586616118831254255646228285167741980860514907585817767282440317187104556493308190282444512121724029857644554635458554387219321215632329828841652170028197148245785798438454721931517206666873486064976526391021589571474797801072409466238828990685043924819881634488575849233275144146556454721287617366344779100069693566789598351006544395975794920839413396222889649112124732283299450670864068041622224350379607593213029967151653774462076092497261748453049113935900826484507220388011096753415295917664498607405304305850272242973254591690054550832214517424315978079611450556276569448623580108508717872512897120392762515085814889035605822108078616161073766798382166332572757816138972858554118055504224347922096371564487548185402914026449904775894705437756608685510631719837121676235802054361849293433331471456827661041910035122018492473173364784754454030206924595644806361884466772380553331700699268642419887286761250709947740797940986256014483058102092693916771574518648366351432243895248881100126549754648941243160148958702981061255676 72169832165967987505953520071550964310671668852415327518376608532368849713825454500466372048651416275959811011459775138808445301974460340892122457594076707249091235839834968153156242488968162877464998230046117367364489948899820022560335827878607293993867531363110474320412491706980538965424047301717563860456275093704051506045539876524382017494348688866208234609293720525113742189143679880221112446547938552825058927023802440484300572711606695793865639628088569421176254338366051682293088564280439114217333223731649780070213946347516506677530261385862330600707709384509179014308819741083114888334287354671540135137128660562420433604061826398034239454024037828258869568613705360886321086387329245489192694925162736682428842950020005240699300874327255109547725445162450913668928084165449486267653117528327017681956887511971092528782085530542647504825970053204846317995599892191335309000834495578957000399429207439008047236750659907897926382334432279548343575260189000202361992496015551740815763508547415036972155541697497861954456495158739042885724542152977649559308279137623263097227371670864273350244217549273204793701407350338789761808553454129279555273316587630269392582644675398700919334000155345182113488708795356062629598321230555929151515681207431951100350804375015268436747067871792839485141548125611840318770672863908039571435922452839473453467010070034906020216848166326765396507881639540107962273462683703731573471116123869562522866827319208121043729085613360297075282201918706413243883771028414783097564747816247642458276017127614571544785498267130137875444152743030310755759663926826078019261155530300847682430246263928817709867985603909441593893462022288122126672822316803 116773241406911646041641220087187360856512156688631911681905249291733513335905616434977299311319069094826676743208877448234987960653040313390886020049940989374509583125979374018987526843621432801694920269751173744263545785795505840325168838312430691623195724132606242556836145744878102484257073126120231904899956227605742172734840610868269155384507209158315329439999604220833965164179708671319809770339944233394119232057678475763264340697613352048939818310343482444178309975703946261836522704491096582455456224413171678306458730905818346999259782804505420963121136930884375857517983905972777566784263368573881048424035099072632241743632406072362253385902155414874988399867961007114606254129310106004100280742930019122746030054576498548889583318839376833577583089717086372223315303486665118597481959180497045879105133297769530983504017047749314378312035029731237339585171366989136381410300734407947685443354027320642535812599893183042072938789153567165709920039289069895928782094366558285211739303468254450368378431346609986686739794609409906953766164377328029166901492167590414751001833746956770611992670598387140694527891857559177772905306869425197219771923992934575242854887648653292609388550987559699537804686874967513185874890679179509260024399079944848220743566890101083325782673693900918101302621892410222485103245621724178544294476570894977677814932166406470507765033569240791846412657534245545718882148194335451410592792359671616884716120752539592500556746655270332197300694391879778028638225058621707693209554178132109230656570459315270813427918154416899126154100483828251742015678409884180111955072301875366330796597696172712958749085730459196242834705182437080829653883572479 188943073572879633547594740158738325167183825541047239200281857824102363049731070935443671359970485370786487754668652587043433262627500654283008477644017696623600818965814342172143769332589595679159918499797291111628035734695325862885504666191037985617063255495716716877248637451858641449681120427837795765356231321309793678780380487392651172878855898024523564049293324745947707353323388551540922216887882786219178159081480916247564913409220047842805457938432051865354564314069997944129611268771535696672789448144821458376672677253334853676790044190367751563828846315393554871826803647055892455118550723245421183561163759635052675347694232470396492839926193243133857968481666368000927340516639351493292975668092755805174873004596503789588884193166631943125308534879537285892243387652114604865135076708824063561062020809740623512286102578291961883138005082936083657580771259180471690411135229986904685842783234759650583049350553090939999321123585846714053495299478070098290774590382110026027502812015669487340533973044107848641196289768148949839490706530305678726209771305213677848229205417821043962236888147660345488229299207897967534713860323554476775045240580564844635437532324051993528722551142904881651293395670323575815473211909735438411540080287376799321094371265116351762529741565693757586444170018022062803873918485632218115730399023734451131281942236441376527981881735567557242920539173785653681155610878039182984063908483541179407582948071747713544285832268630629272582896310586191272521996087036490790774301994379751688932587586929842358213416421547037001598253226858562497775342336710258131216227832176214013226843960101530668617071334368637836728167204725202956326705889282 305716314979791279589235960245925686023695982229679150882187107115835876385636687370420970671289554465613164497877530035278421223280540967673894497693958685998110402091793716191131296176211028480854838769548464855891581520490831703210673504503468677240258979628322959434084783196736743933938193553958027670256187548915535851515221098260920328263363107182838893489292928966781672517503097222860731987227827019613297391139159392010829254106833399891745276248775534309532874289773944205966133973262632279128245672557993136683131408159153200676049826994873172526949983246277930729344787553028670021902814091819302231985198858707684917091326638542758746225828348658008846368349627375115533594645949457497393256411022774927920903059173002338478467512006008776702891624596623658115558691138779723462617035889321109440167154107510154495790119626041276261450040112667320997165942626169608071821435964394852371286137262080293118861950446273982072259912739413879763415338767139994219556684748668311239242115483923937708912404390717835327936084377558856793256870907633707893111263472804092599231039164777814574229558746047486182757191065457145307619167192979673994817164573499419878292419972705286138111102130464581189098082545291089001348102588914947671564479367321647541837938155217435088312415259594675687746791910432285288977164107356396660024875594629428809096874402847847035746915304808349089333196708031199400037759072374634394656700843212796292299068824287306044842578923900961469883590702465969301160221145658198483983856172511860919589158046245113171641334575963936127752353710686814239791020746594438243171300134051580344023441656274243627366157064827834079562872387162283785980589461761 494659388552670913136830700404664011190879807770726390082468964939938239435367758305864642031260039836399652252546182622321854485908041621956902975337976382621711221057608058363275065508800624160014757269345755967519617255186157566096178170694506662857322235124039676311333420648595385383619313981795823435612418870225329530295601585653571501142219005207362457538586253712729379870826485774401654204115709805832475550220640308258394167516053447734550734187207586174887438603843942150095745242034167975801035120702814595059804085412488054352839871185240924090778829561671485601171591200084562477021364815064723415546362618342737592439020871013155239065754541901142704336831293743116460935162588808990686232079115530733095776063769506128067351705172640719828200159476160944007802078790894328327752112598145173001229174917250778008076222204333238144588045195603404654746713885350079762232571194381757057128920496839943701911300999364922071581036325260593816910638245210092510331275130778337266744927499593425049446377434825683969132374145707806632747577437939386619321034778017770447460244582598858536466446893707831670986490273355112842333027516534150769862405154064264513729952296757279666833653273369462840391478215614664816821314498650386083104559654698446862932309420333786850842156825288433274190961928454348092851082592988614775755274618363879940378816639289223563728797040375906332253735881816853081193369950413817378720609326753975699882016896035019589128411192531590742466487013052160573682217232694689274758158166891612608521745633174955529854750997510973129350606937545376737566363083304696374387527966227794357250285616375774295983228399196471916291039591887486742307295351043 800375703532462192726066660650589697214575790000405540964656072055774115821004445676285612702549594302012816750423712657600275709188582589630797473031935068619821623149401774554406361685011652640869596038894220823411198775676989269306851675197975340097581214752362635745418203845332129317557507535753851105868606419140865381810822683914491829405582112390201351027879182679511052388329582997262386191343536825445772941359799700269223421622886847626296010435983120484420312893617886356061879215296800254929280793260807731742935493571641255028889698180114096617728812807949416330516378753113232498924178906884025647531561477050422509530347509555913985291582890559151550705180921118231994529808538266488079488490138305661016679122942508466545819217178649496531091784072784602123360769929674051790369148487466282441396329024760932503866341830374514406038085308270725651912656511519687834054007158776609428415057758920236820773251445638904143840949064674473580325977012350086729887959879446648505987042983517362758358781825543519297068458523266663426004448345573094512432298250821863046691283747376673110696005639755317853743681338812258149952194709513824764679569727563684392022372269462565804944755403834044029489560760905753818169417087565333754669039022020094404770247575551221939154572084883108961937753838886633381828246700345011435780150212993308749475691042137070599475712345184255421586932589848052481231129022788451773377310169966771992181085720322325633970990116432552212350077715518129874842438378352887758742014339403473528110903679420068701496085573474909257102960648232190977357383829899134617558828100279374701273727272650017923349385464024305995853911979049770528287884812804 1295035092085133105862897361055253708405455597771131931047125036995712355256372203982150254733809634138412469002969895279922130195096624211587700448369911451241532844207009832917681427193812276800884353308239976790930816030863146835403029845892482002954903449876402312056751624493927514701176821517549674541481025289366194912106424269568063330547801117597563808566465436392240432259156068771664040395459246631278248491580440008527617589138940295360846744623190706659307751497461828506157624457330968230730315913963622326802739578984129309381729569365355020708507642369620901931687969953197794975945543721948749063077924095393160101969368380569069224357337432460294255042012214861348455464971127075478765720569253836394112455186712014594613170922351290216359291943548945546131162848720568380118121261085611455442625503942011710511942564034707752550626130503874130306659370396869767596286578353158366485543978255760180522684552445003826215421985389935067397236615257560179240219235010224985772731970483110787807805159260369203266200832668974470058752025783512481131753333028839633494151528329975531647162452533463149524730171612167370992285222226047975534541974881627948905752324566219845471778408677203506869881038976520418634990731586215719837773598676718541267702556995885008789996728910171542236128715767340981474679329293333626211535424831357188689854507681426294163204509385560161753840668471664905562424498973202269152097919496720747692063102616357345223099401308964142954816564728570290448524655611047577033500172506295086136632649312595024231350836570985882386453567585777567714923746913203830991946356066507169058524012889025792219332613863220777912144951570937257270595180163847 2095410795617595298588964021705843405620031387771537472011781109051486471077376649658435867436359228440425285753393607937522405904285206801218497921401846519861354467356411607472087788878823929441753949347134197614342014806540136104709881521090457343052484664628764947802169828339259644018734329053303525647349631708507060293917246953482555159953383229987765159594344619071751484647485651768926426586802783456724021432940239708796841010761827142987142755059173827143728064391079714862219503672627768485659596707224430058545675072555770564410619267545469117326236455177570318262204348706311027474869722628832774710609485572443582611499715890124983209648920323019445805747193135979580449994779665341966845209059392142055129134309654523061158990139529939712890383727621730148254523618650242431908490409573077737884021832966772643015808905865082266956664215812144855958572026908389455430340585511934975913959036014680417343457803890642730359262934454609540977562592269910265970107194889671634278719013466628150566163941085912722563269291192241133484756474129085575644185631279661496540842812077352204757858458173218467378473852950979629142237416935561800299221544609191633297774696835682411276723164081037550899370599737426172453160148673781053592442637698738635672472804571436230729151300995054651198066469606227614856507575993678637647315575044350497439330198723563364762680221730744417175427601061512958043655627995990720925475229666687519684244188336679670857070391425396695167166642444088420323367093989400464792242186845698559664743552992015092932846922144460791643556528234009758692281130743102965609505184166786543759797740161675810142681999327245083907998863549987027798883064976651 3390445887702728404451861382761097114025486985542669403058906146047198826333748853640586122170168862578837754756363503217444536099381831012806198369771757971102887311563421440389769216072636206242638302655374174405272830837403282940112911366982939346007388114505167259858921452833187158719911150570853200188830656997873255206023671223050618490501184347585328968160810055463991916906641720540590466982262030088002269924520679717324458599900767438347989499682364533803035815888541543368377128129958736716389912621188052385348414651539899873792348836910824138034744097547191220193892318659508822450815266350781523773687409667836742713469084270694052434006257755479740060789205350840928905459750792417445610929628645978449241589496366537655772161061881229929249675671170675694385686467370810812026611670658689193326647336908784353527751469899790019507290346316018986265231397305259223026627163865093342399503014270440597866142356335646556574684919844544608374799207527470445210326429899896620051450983949738938373969100346281925829470123861215603543508499912598056775938964308501130034994340407327736405020910706681616903204024563147000134522639161609775833763519490819582203527021401902256748501572758241057769251638713946591088150880259996773430216236375457176940175361567321239519148029905226193434195185373568596331186905287012263858850999875707686129184706404989658925884731116304578929268269533177863606080126969192990077573149163408267376307290953037016080169792734360838121983207172658710771891749600448041825742359351993645801376202304610117164197758715446674030010095819787326407204877656306796601451540233293712818321753050701602362014613190465861820143815120924285069478245140498 5485856683320323703040825404466940519645518373314206875070687255098685297411125503299021989606528091019263040509757111154966942003667037814024696291173604490964241778919833047861857004951460135684392252002508372019614845643943419044822792888073396689059872779133932207661091281172446802738645479624156725836180288706380315499940918176533173650454567577573094127755154674535743401554127372309516893569064813544726291357460919426121299610662594581335132254741538360946763880279621258230596631802586505202049509328412482443894089724095670438202968104456293255360980552724761538456096667365819849925684988979614298484296895240280325324968800160819035643655178078499185866536398486820509355454530457759412456138688038120504370723806021060716931151201411169642140059398792405842640210086021053243935102080231766931210669169875556996543560375764872286463954562128163842223803424213648678456967749377028318313462050285121015209600160226289286933947854299154149352361799797380711180433624789568254330169997416367088940133041432194648392739415053456737028264974041683632420124595588162626575837152484679941162879368879900084281677877514126629276760056097171576132985064100011215501301718237584668025224736839278608668622238451372763541311028933777827022658874074195812612648166138757470248299330900280844632261654979796211187694481280690901506166574920058183568514905128553023688564952847048996104695870594690821649735754965183711003048378830095787060551479289716686937240184159757533289149849616747131095258843589848506617984546197692205466119755296625210097044680859907465673566624053797085099486008399409762210956724400080256578119493212377412504696612517710945728142678670911312868361310117149 8876302571023052107492686787228037633671005358856876278129593401145884123744874356939608111776696953598100795266120614372411478103048868826830894660945362462067129090483254488251626221024096341927030554657882546424887676481346701984935704255056336035067260893639099467520012734005633961458556630195009926025010945704253570705964589399583792140955751925158423095915964729999735318460769092850107360551326843632728561281981599143445758210563362019683121754423902894749799696168162801598973759932545241918439421949600534829242504375635570311995316941367117393395724650271952758649988986025328672376500255330395822257984304908117068038437884431513088077661435833978925927325603837661438260914281250176858067068316684098953612313302387598372703312263292399571389735069963081537025896553391864055961713750890456124537316506784341350071311845664662305971244908444182828489034821518907901483594913242121660712965064555561613075742516561935843508632774143698757727161007324851156390760054689464874381620981366106027314102141778476574222209538914672340571773473954281689196063559896663756610831492892007677567900279586581701184881902077273629411282695258781351966748583590830797704828739639486924773726309597519666437873877165319354629461909193774600452875110449652989552823527706078709767447360805507038066456840353364807518881386567703165365017574795765869697699611533542682614449683963353575033964140127868685255815881934376701080621527993504054436858770242753703017409976894118371411133056789405841867150593190296548443726905549685851267495957601235327261242439575354139703576719873584411506690886055716558812408264633373969396441246263079014866711225708176807548286493791835597937839555257647 14362159254343375810533512191694978153316523732171083153200280656244569421155999860238630101383225044617363835775877725527378420106715906640855590952118966953031370869403087536113483225975556477611422806660390918444502522125290121029758497143129732724127133672773031675181104015178080764197202109819166651861191234410633886205905507576116965791410319502731517223671119404535478720014896465159624254120391657177454852639442518569567057821225956601018254009165441255696563576447784059829570391735131747120488931278013017273136594099731240750198285045823410648756705202996714297106085653391148522302185244310010120742281200148397393363406684592332123721316613912478111793862002324481947616368811707936270523207004722219457983037108408659089634463464703569213529794468755487379666106639412917299896815831122223055747985676659898346614872221429534592435199470572346670712838245732556579940562662619149979026427114840682628285342676788225130442580628442852907079522807122231867571193679479033128711790978782473116254235183210671222614948953968129077600038447995965321616188155484826383186668645376687618730779648466481785466559779591400258688042751355952928099733647690842013206130457877071592798951046436798275106496115616692118170772938127552427475533984523848802165471693844836180015746691705787882698718495333161018706575867848394066871184149715824053266214516662095706303014636810402571138660010722559506905551636899560412083669906823599841497410249532470389954650161053875904700282906406152972962409436780145055061711451747378056733615712897860537358287120435261605377143343927381496606176894455126321023364989033454225974560739475456427371407838225887753276429172462746910806200865374796 23238461825366427918026198978923015786987529091027959431329874057390453544900874217178238213159921998215464631041998339899789898209764775467686485613064329415098499959886342024365109446999652819538453361318273464869390198606636823014694201398186068759194394566412131142701116749183714725655758740014176577886202180114887456911870096975700757932366071427889940319587084134535214038475665558009731614671718500810183413921424117713012816031789318620701375763589344150446363272615946861428544151667676989038928353227613552102379098475366811062193601987190528042152429853268667055756074639416477194678685499640405943000265505056514461401844569023845211798978049746457037721187606162143385877283092958113128590275321406318411595350410796257462337775727995968784919529538718568916692003192804781355858529582012679180285302183444239696686184067094196898406444379016529499201873067251464481424157575861271639739392179396244241361085193350160973951213402586551664806683814447083023961953734168498003093411960148579143568337324989147796837158492882801418171811921950247010812251715381490139797500138268695296298679928053063486651441681668673888099325446614734280066482231281672810910959197516558517572677356034317941544369992782011472800234847321327027928409094973501791718295221550914889783194052511294920765175335686525826225457254416097232236201724511589922963914128195638388917464320773756146172624150850428192161367518833937113164291434817103895934269019775224092972060137947994276111415963195558814829560029970441603505438357297063908001111670499095864619529560010615745080720063800965908112867780510842879835773253666828195371001985738535442238119063934064560824715666254582508744040420632443 37600621079709803728559711170617993940304052823199042584530154713635022966056874077416868314543147042832828466817876065427168318316480682108542076565183296368129870829289429560478592672975209297149876167978664383313892720731926944044452698541315801483321528239185162817882220764361795489852960849833343229747393414525521343117775604551817723723776390930621457543258203539070692758490562023169355868792110157987638266560866636282579873853015275221719629772754785406142926849063730921258114543402808736159417284505626569375515692575098051812391887033013938690909135056265381352862160292807625716980870743950416063742546705204911854765251253616177335520294663658935149515049608486625333493651904666049399113482326128537869578387519204916551972239192699537998449324007474056296358109832217698655755345413134902236033287860104138043301056288523731490841643849588876169914711312984021061364720238480421618765819294236926869646427870138386104393794031029404571886206621569314891533147413647531131805202938931052259822572508199819019452107446850930495771850369946212332428439870866316522984168783645382915029459576519545272118001461260074146787368197970687208166215878972514824117089655393630110371628402471116216650866108398703590971007785448879455403943079497350593883766915395751069798940744217082803463893831019686844932033122264491299107385874227413976230128644857734095220478957584158717311284161572987699066919155733497525247961341640703737431679269307694482926710299001870180811698869601711787791969466750586658567149809044441964734727383396956401977816680445877350457863407728347404719044674965969200859138242700282421345562725213991869609526902159952314101144838717329419550241286007239 60839082905076231646585910149541009727291581914227002015860028771025476510957748294595106527703069041048293097859874405326958216526245457576228562178247625783228370789175771584843702119974862116688329529296937848183282919338563767059146899939501870242515922805597293960583337513545510215508719589847519807633595594640408800029645701527518481656142462358511397862845287673605906796966227581179087483463828658797821680482290753995592689884804593842421005536344129556589290121679677782686658695070485725198345637733240121477894791050464862874585489020204466733061564909534048408618234932224102911659556243590822006742812210261426316167095822640022547319272713405392187236237214648768719370934997624162527703757647534856281173737930001174014310014920695506783368853546192625213050113025022480011613874995147581416318590043548377739987240355617928389248088228605405669116584380235485542788877814341693258505211473633171111007513063488547078345007433615956236692890436016397915495101147816029134898614899079631403390909833188966816289265939733731913943662291896459343240691586247806662781668921914078211328139504572608758769443142928748034886693644585421488232698110254187635028048852910188627944305758505434158195236101180715063771242632770206483332352174470852385602062136946665959582134796728377724229069166706212671157490376680588531343587598739003899194042773053372484137943278357914863483908312423415891228286674567434638412252776457807633365948289082918575898770436949864456923114832797270602621529496721028262072588166341505872735839053896052266597346240456493095538583471529313312831912455476812080694911496367110616716564710952527311847645966094016874925860504971911928294281706639682 98439703984786035375145621320159003667595634737426044600390183484660499477014622372011974842246216083881121564677750470754126534842726139684770638743430922151358241618465201145322294792950071413838205697275602231497175640070490711103599598480817671725837451044782456778465558277907305705361680439680863037380989009165930143147421306079336205379918853289132855406103491212676599555456789604348443352255938816785459947043157390278172563737819869064140635309098914962732216970743408703944773238473294461357762922238866690853410483625562914686977376053218405423970699965799429761480395225031728628640426987541238070485358915466338170932347076256199882839567377064327336751286823135394052864586902290211926817239973663394150752125449206090566282254113395044781818177553666681509408222857240178667369220408282483652351877903652515783288296644141659880089732078194281839031295693219506604153598052822114877271030767870097980653940933626933182738801464645360808579097057585712807028248561463560266703817838010683663213482341388785835741373386584662409715512661842671675669131457114123185765837705559461126357599081092154030887444604188822181674061842556108696398913989226702459145138508303818738315934160976550374846102209579418654742250418219085938736295253968202979485829052342417029381075540945460527692962997725899516089523498945079830450973472966417875424171417911106579358422235942073580795192473996403590295205830300932163660214118098511370797627558390613058825480735951734637734813702398982390413498963471614920639737975385947837470566437293008668575162920902370445996446879257660717550957130442781281554049739067393038062127436166519181457172868253969189027005343689241347844522992646921 159278786889862267021731531469700013394887216651653046616250212255685975987972370666607081369949285124929414662537624876081084751368971597260999200921678547934586612407640972730165996912924933530526535226572540079680458559409054478162746498420319541968353373850379750739048895791452815920870400029528382845014584603806338943177067007606854687036061315647644253268948778886282506352423017185527530835719767475583281627525448144273765253622624462906561640845443044519321507092423086486631431933543780186556108559972106812331305274676027777561562865073422872157032264875333478170098630157255831540299983231132060077228171125727764487099442898896222430158840090469719523987524037784162772235521899914374454520997621198250431925863379207264580592269034090551565187031099859306722458335882262658678983095403430065068670467947200893523275536999759588269337820306799687508147880073454992146942475867163808135776242241503269091661453997115480261083808898261317045271987493602110722523349709279589401602432737090315066604392174577752652030639326318394323659174953739131018909823043361929848547506627473539337685738585664762789656887747117570216560755487141530184631612099480890094173187361214007366260239919481984533041338310760133718513493050989292422068647428439055365087891189289082988963210337673838251922032164432112187247013875625668361794561071705421774618214190964479063496365514299988444279100786419819481523492504868366802072466894556319004163575847473531634724251172901599094657928535196252993035028460192643182712326141727453710206405491189060935172509161358863541535030350786974030382869585919593362248961235434503654778692147119046493304818834347986063952865848661153276138804699286603 257718490874648302396877152789859017062482851389079091216640395740346475464986993038619056212195501208810536227215375346835211286211697736945769839665109470085944854026106173875488291705875004944364740923848142311177634199479545189266346096901137213694190824895162207517514454069360121626232080469209245882395573612972269086324488313686190892415980168936777108675052270098959105907879806789875974187975706292368741574568605534551937817360444331970702276154541959482053724063166495190576205172017074647913871482210973503184715758301590692248540241126641277581002964841132907931579025382287560168940410218673298147713530041194102658031789975152422312998407467534046860738810860919556825100108802204586381338237594861644582677988828413355146874523147485596347005208653525988231866558739502837346352315811712548721022345850853409306563833643901248149427552384993969347179175766674498751096073919985923013047273009373367072315394930742413443822610362906677853851084551187823529551598270743149668306250575100998729817874515966538487772012712903056733374687615581802694578954500476053034313344333033000464043337666756916820544332351306392398234817329697638881030526088707592553318325869517826104576174080458534907887440520339552373255743469208378360804942682407258344573720241631500018344285878619298779614995162158011703336537374570748192245534544671839650042385608875585642854787750242062025074293260416223071818698335169298965732681012654830374961203405864144693549731908853333732392742237595235383448527423664258103352064117113401547676971928482069603747672082261233987531477230044634747933826716362374643803010974501896692840819583285565674761991702601955252979871192350394623983327691933524 416997277764510569418608684259559030457370068040732137832890607996032451452959363705226137582144786333739950889753000222916296037580669334206769040586788018020531466433747146605654288618799938474891276150420682390858092758888599667429092595321456755662544198745541958256563349860812937547102480498737628727410158216778608029501555321293045579452041484584421361944001048985241612260302823975403505023695473767952023202094053678825703070983068794877263916999985004001375231155589581677207637105560854834469980042183080315516021032977618469810103106200064149738035229716466386101677655539543391709240393449805358224941701166921867145131232874048644743157247558003766384726334898703719597335630702118960835859235216059895014603852207620619727466792181576147912192239753385294954324894621765496025335411215142613789692813798054302829839370643660836418765372691793656855327055840129490898038549787149731148823515250876636163976848927857893704906419261167994899123072044789934252074947980022739069908683312191313796422266690544291139802652039221451057033862569320933713488777543837982882860850960506539801729076252421679610201220098423962614795572816839169065662138188188482647491513230731833470836413999940519440928778831099686091769236520197670782873590110846313709661611430920583007307496216293137031537027326590123890583551250196416554040095616377261424660599799840064706351153264542050469353394046836042553342190840037665767805147907211149379124779253337676328273983081754932827050670772791488376483555883856901286064390258840855257883377419671130538920181243620097529066507580831608778316696302281968006051972209936400347619511730404612168066810536949941316932737041011547900122132391220127 674715768639158871815485837049418047519852919429811229049531003736378926917946356743845193794340287542550487116968375569751507323792367071152538880251897488106476320459853320481142580324674943419256017074268824702035726958368144856695438692222593969356735023640704165774077803930173059173334560967946874609805731829750877115826043634979236471868021653521198470619053319084200718168182630765279479211671180060320764776662659213377640888343513126847966193154526963483428955218756076867783842277577929482383851524394053818700736791279209162058643347326705427319038194557599294033256680921830951878180803668478656372655231208115969803163022849201067056155655025537813245465145759623276422435739504323547217197472810921539597281841036033974874341315329061744259197448406911283186191453361268333371687727026855162510715159648907712136403204287562084568192925076787626202506231606803989649134623707135654161870788260250003236292243858600307148729029624074672752974156595977757781626546250765888738214933887292312526240141206510829627574664752124507790408550184902736408067732044314035917174195293539540265772413919178596430745552449730355013030390146536807946692664276896075200809839100249659575412588080399054348816219351439238465024979989406049143678532793253572054235331672552083025651782094912435811152022488748135593920088624767164746285630161049101074702985408715650349205941014784112494427687307252265625160889175206964733537828919865979754085982659201821021823714990608266559443413010386723759932083307521159389416454375954256805560349348153200142667853325881331516597984810876243526250523018644342649854983184438297040460331313690177842828802239551896569912608233361942524105460083153651 1091713046403669441234094521308977077977222987470543366882421611732411378370905720449071331376485073876290438006721375792667803361373036405359307920838685506127007786893600467086796868943474881894147293224689507092893819717256744524124531287544050725019279222386246124030641153790985996720437041466684503337215890046529485145327598956272282051320063138105619832563054368069442330428485454740682984235366653828272787978756712892203343959326581921725230110154511967484804186374345658544991479383138784316853831566577134134216757824256827631868746453526769577057073424274065680134934336461374343587421197118284014597596932375037836948294255723249711799312902583541579630191480658326996019771370206442508053056708026981434611885693243654594601808107510637892171389688160296578140516347983033829397023138241997776300407973446962014966242574931222920986958297768581283057833287446933480547173173494285385310694303511126639400269092786458200853635448885242667652097228640767692033701494230788627808123617199483626322662407897055120767377316791345958847442412754223670121556509588152018800035046254046080067501490171600276040946772548154317627825962963375977012354802465084557848301352330981493046249002080339573789744998182538924556794216509603719926552122904099885763896943103472666032959278311205572842689049815338259484503639874963581300325725777426362499363585208555715055557094279326162963781081354088308178503080015244630501342976827077129133210761912539497350097698072363199386494083783178212136415639191378060675480844634795112063443726767824330681588034569501429045664492391707852304567219320926310655906955394374697388079843044094790010895612776501837886845345274373490424227592474373778 1766428815042828313049580358358395125497075906900354595931952615468790305288852077192916525170825361418840925123689751362419310685165403476511846801090582994233484107353453787567939449268149825313403310298958331794929546675624889380819969979766644694376014246026950289804718957721159055893771602434631377947021621876280362261153642591251518523188084791626818303182107687153643048596668085505962463447037833888593552755419372105580984847670095048573196303309038930968233141593101735412775321660716713799237683090971187952917494615536036793927389800853475004376111618831664974168191017383205295465602000786762670970252163583153806751457278572450778855468557609079392875656626417950272442207109710766055270254180837902974209167534279688569476149422839699636430587136567207861326707801344302162768710865268852938811123133095869727102645779218785005555151222845368909260339519053737470196307797201421039472565091771376642636561336645058508002364478509317340405071385236745449815328040481554516546338551086775938848902549103565950394951981543470466637850962939126406529624241632466054717209241547585620333273904090778872471692324997884672640856353109912784959047466741980633049111191431231152621661590160738628138561217533978163021819196499009769070230655697353457818132274776024749058611060406118008653841072304086395078423728499730746046611355938475463574066570617271365404763035294110275458208768661340573803663969190451595234880805746943108887296744571741318371921413062971465945937496793564935896347722498899220064897299010749368869004076115977530824255887895382760562262477202584095830817742339570653305761938578812994428540174357784967853724415016053734456757953507735432948333052557527429 2858141861446497754283674879667372203474298894370897962814374227201201683659757797641987856547310435295131363130411127155087114046538439881871154721929268500360491894247054254654736318211624707207550603523647838887823366392881633904944501267310695419395293468413196413835360111512145052614208643901315881284237511922809847406481241547523800574508147929732438135745162055223085379025153540246645447682404487716866340734176084997784328806996676970298426413463550898453037327967447393957766801043855498116091514657548322087134252439792864425796136254380244581433185043105730654303125353844579639053023197905046685567849095958191643699751534295700490654781460192620972505848107076277268461978479917208563323310888864884408821053227523343164077957530350337528601976824727504439467224149327335992165734003510850715111531106542831742068888354150007926542109520613950192318172806500670950743480970695706424783259395282503282036830429431516708855999927394560008057168613877513141849029534712343144354462168286259565171564957000621071162329298334816425485293375693350076651180751220618073517244287801631700400775394262379148512639097546038990268682316073288761971402269207065190897412543762212645667910592241078201928306215716517087578613413008613488996782778601453343582029217879497415091570338717323581496530122119424654562927368374694327346937081715901826073430155825827080460320129573436438421989850015428881982167049205696225736223782574020238020507506484280815722019111135334665332431580576743148032763361690277280740378143645544480932447802883801861505843922464884189607926969594291948135384961660496963961668893973187691816620017401879757864620027792555572343603298782108923372560645031901207 4624570676489326067333255238025767328971374801271252558746326842669991988948609874834904381718135796713972288254100878517506424731703843358383001523019851494593976001600508042222675767479774532520953913822606170682752913068506523285764471247077340113771307714440146703640079069233304108507980246335947259231259133799090209667634884138775319097696232721359256438927269742376728427621821625752607911129442321605459893489595457103365313654666772018871622716772589829421270469560549129370542122704572211915329197748519510040051747055328901219723526055233719585809296661937395628471316371227784934518625198691809356538101259541345450451208812868151269510250017801700365381504733494227540904185589627974618593565069702787383030220761803031733554106953190037165032563961294712300793931950671638154934444868779703653922654239638701469171534133368792932097260743459319101578512325554408420939788767897127464255824487053879924673391766076575216858364405903877348462239999114258591664357575193897660900800719373035504020467506104187021557281279878286892123144338632476483180804992853084128234453529349217320734049298353158020984331422543923662909538669183201546930449735949045823946523735193443798289572182401816830066867433250495250600432609507623258067013434298806801400161492655522164150181399123441590150371194423511049641351096874425073393548437654377289647496726443098445865083164867546713880198618676769455785831018396147820971104588320963346907804251056022134093940524198306131278369077370308083929111084189176500805275442656293849801451878999779392330099810360266950170189446796876043966202704000067617267430832552000686245160191759664725718344442808609306800361252289844356320893697589428636 7482712537935823821616930117693139532445673695642150521560701069871193672608367672476892238265446232009103651384512005672593538778242283240254156244949119994954467895847562296877412085691399239728504517346254009570576279461388157190708972514388035533166601182853343117475439180745449161122188890237263140515496645721900057074116125686299119672204380651091694574672431797599813806646975165999253358811846809322326234223771542101149642461663448989170049130236140727874307797527996523328308923748427710031420712406067832127185999495121765645519662309613964167242481705043126282774441725072364573571648396596856042105950355499537094150960347163851760165031477994321337887352840570504809366164069545183181916875958567671791851273989326374897632064483540374693634540786022216740261156099998974147100178872290554369034185346181533211240422487518800858639370264073269293896685132055079371683269738592833889039083882336383206710222195508091925714364333298437356519408612991771733513387109906240805255262887659295069192032463104808092719610578213103317608437714325826559831985744073702201751697817150849021134824692615537169496970520089962653178220985256490308901852005156111014843936278955656443957482774642895031995173648967012338179046022516236747063796212900260144982190710535019579241751737840765171646901316542935704204278465249119400740485519370279115720926882268925526325403294440983152302188468692198337767998067601844046707328370894983584928311757540302949815959635333640796610800657947051231961874445879453781545653586301838330733899681883581253835943732825151139778116416391167992101587665660564581229099726525188378061780209161544483582964470601164879143964551071953279693454342621329843 12107283214425149888950185355718906861417048496913403080307027912541185661556977547311796619983582028723075939638612884190099963509946126598637157767968971489548443897448070339100087853171173772249458431168860180253329192529894680476473443761465375646937908897293489821115518249978753269630169136573210399746755779520990266741751009825074438769900613372450951013599701539976542234268796791751861269941289130927786127713366999204514956116330221008041671847008730557295578267088545652698851046452999921946749910154587342167237746550450666865243188364847683753051778366980521911245758096300149508090273595288665398644051615040882544602169160032003029675281495796021703268857574064732350270349659173157800510441028270459174881494751129406631186171436730411858667104747316929041055088050670612302034623741070258022956839585820234680411956620887593790736631007532588395475197457609487792623058506489961353294908369390263131383613961584667142572728739202314704981648612106030325177744685100138466156063607032330573212499969208995114276891858091390209731582052958303043012790736926786329986151346500066341868873990968695190481301942633886316087759654439691855832301741105156838790460014149100242247054957044711862062041082217507588779478632023860005130809647199066946382352203190541743391933136964206761797272510966446753845629562123544474134033957024656405368423608712023972190486459308529866182387087368967793553829085997991867678432959215946931836116008596325083909900159531946927889169735317359315890985530068630282350929028958132180535351560883360646166043543185418089948305863188044036067790369660632198496530559077189064306940400921209209301308913409774185944325803361797636014348040210758479 19589995752360973710567115473412046393862722192555553601867728982412379334165345219788688858249028260732179591023124889862693502288188409838891314012918091484502911793295632635977499938862573011977962948515114189823905471991282837667182416275853411180104510080146832938590957430724202430752358026810473540262252425242890323815867135511373558442104994023542645588272133337576356040915771957751114628753135940250112361937138541305664598577993669997211720977244871285169886064616542176027159970201427631978170622560655174294423746045572432510762850674461647920294260072023648194020199821372514081661921991885521440750001970540419638753129507195854789840312973790343041156210414635237159636513728718340982427316986838130966732768740455781528818235920270786552301645533339145781316244150669586449134802613360812391991024932001767891652379108406394649376001271605857689371882589664567164306328245082795242333992251726646338093836157092759068287093072500752061501057225097802058691131795006379271411326494691625642404532432313803206996502436304493527340019767284129602844776481000488531737849163650915363003698683584232359978272462723848969265980639696182164734153746261267853634396293104756686204537731687606894057214731184519926958524654540096752194605860099327091364542913725561322633684874804971933444173827509382458049908027372663874874519476394935521089350490980949498515889753749513018484575556061166131321827153599835914385761330110930516764427766136628033725859794865587724499970393264410547852859975948084063896582615259970511269251242766941900001987276010569229726422279579212028169378035321196779725630285602377442368720610082753692884273384010939065088290354433750915707802382832088322 31697278966786123599517300829130953255279770689468956682174756894953564995722322767100485478232610289455255530661737774052793465798134536437528471780887062974051355690743702975077587792033746784227421379683974370077234664521177518143655860037318786827042418977440322759706475680702955700382527163383683940009008204763880590557618145336447997212005607395993596601871834877552898275184568749502975898694425071177898489650505540510179554694323891005253392824253601842465464331705087828726011016654427553924920532715242516461661492596023099376006039039309331673346038439004170105265957917672663589752195587174186839394053585581302183355298667227857819515594469586364744425067988699969509906863387891498782937758015108590141614263491585188160004407357001198410968750280656074822371332201340198751169426354431070414947864517822002572064335729293988440112632279138446084847080047274054956929386751572756595628900621116909469477450118677426210859821811703066766482705837203832383868876480106517737567390101723956215617032401522798321273394294395883737071601820242432645857567217927274861724000510150981704872572674552927550459574405357735285353740294135874020566455487366424692424856307253856928451592688732318756119255813402027515738003286563956757325415507298394037746895116916103066025618011769178695241446338475829211895537589496208349008553433419591926457774099692973470706376213058042884666962643430133924875656239597827782064194289326877448600543774732953117635759954397534652389140128581769863743845506016714346247511644218102691804602803650302546168030819195987319674728142767256064237168404981828978222160844679566506675661011003962902185582297420713251032616157795548551722150423042846801 51287274719147097310084416302542999649142492882024510284042485877365944329887667986889174336481638550187435121684862663915486968086322946276419785793805154458554267484039335611055087730896319796205384328199088559901140136512460355810838276313172198007146929057587155698297433111427158131134885190194157480271260630006770914373485280847821555654110601419536242190143968215129254316100340707254090527447561011428010851587644081815844153272317561002465113801498473127635350396321630004753170986855855185903091155275897690756085238641595531886768889713770979593640298511027818299286157739045177671414117579059708280144055556121721822108428174423712609355907443376707785581278403335206669543377116609839765365075001946721108347032232040969688822643277271984963270395813995220603687576352009785200304228967791882806938889449823770463716714837700383089488633550744303774218962636938622121235714996655551837962892872843555807571286275770185279146914884203818827983763062301634442560008275112897008978716596415581858021564833836601528269896730700377264411621587526562248702343698927763393461849673801897067876271358137159910437846868081584254619720933832056185300609233627692546059252600358613614656130420419925650176470544586547442696527941104053509520021367397721129111438030641664388659302886574150628685620165985211669945445616868872223883072909814527447547124590673922969222265966807555903151538199491300056197483393197663696449955619437807965364971540869581151361619749263122376889110521846180411596705481964798410144094259478073203073854046417244446170018095206556549401150422346468092406546440303025757947791130281943949044381621086716595069855681431652316120906512229299467429952805874935123 82984553685933220909601717131673952904422263571493466966217242772319509325609990753989659814714248839642690652346600437968280433884457482713948257574692217432605623174783038586132675522930066580432805707883062929978374801033637873954494136350490984834189348035027478458003908792130113831517412353577841420280268834770651504931103426184269552866116208815529838792015803092682152591284909456757066426141986082605909341238149622326023707966641452007718506625752074970100814728026717833479182003510282739828011687991140207217746731237618631262774928753080311266986336950031988404552115656717841261166313166233895119538109141703024005463726841651570428871501912963072530006346392035176179450240504501338548302833017055311249961295723626157848827050634273183374239146094651295426058908553349983951473655322222953221886753967645773035781050566994371529601265829882749859066042684212677078165101748228308433591793493960465277048736394447611490006736695906885594466468899505466826428884755219414746546106698139538073638597235359399849543291025096261001483223407768994894559910916855038255185850183952878772748844032690087460897421273439319539973461227967930205867064720994117238484108907612470543107723109152244406295726357988574958434531227668010266845436874696115166858333147557767454684920898343329323927066504461040881840983206365080572891626343234119374004898690366896439928642179865598787818500842921433981073139632795491478514149908764685413965515315602534268997379703660657029278250650427950275340550987981512756391605903696175894878456850067546992338048914402543869075878565113724156643714845284854736169951974961510455720042632090679497255437978852365567153522670024848019152103228917781924 134271828405080318219686133434216952553564756453517977250259728649685453655497658740878834151195887389830125774031463101883767401970780428990368043368497371891159890658822374197187763253826386376638190036082151489879514937546098229765332412663663182841336277092614634156301341903557271962652297543771998900551529464777422419304588707032091108520226810235066080982159771307811406907385250164011156953589547094033920192825793704141867861238959013010183620427250548097736165124348347838232352990366137925731102843267037897973831969879214163149543818466851290860626635461059806703838273395763018932580430745293603399682164697824745827572155016075283038227409356339780315587624795370382848993617621111178313667908019002032358308327955667127537649693911545168337509541908646516029746484905359769151777884290014836028825643417469543499497765404694754619089899380627053633285005321151299199400816744883860271554686366804021084620022670217796769153651580110704422450231961807101268988893030332311755524823294555119931660162069196001377813187755796638265894844995295557143262254615782801648647699857754775840625115390827247371335268141520903794593182161799986391167673954621809784543361507971084157763853529572170056472196902575122401131059168772063776365458242093836295969771178199431843344223784917479952612686670446252551786428823233952796774699253048646821552023281040819409150908146673154690970039042412734037270623025993155174964105528202493379330486856472115420358999452923779406167361172274130686937256469946311166535700163174249097952310896484791438508067009609100418477028987460192249050261285587880494117743105243454404764424253177396092325293660284017883274429182254147486582056034792717047 217256382091013539129287850565890905457987020025011444216476971422004962981107649494868493965910136229472816426378063539852047835855237911704316300943189589323765513833605412783320438776756452957070995743965214419857889738579736103719826549014154167675525625127642112614305250695687385794169709897349840320831798299548073924235692133216360661386343019050595919774175574400493559498670159620768223379731533176639829534063943326467891569205600465017902127053002623067836979852375065671711534993876420665559114531258178105191578701116832794412318747219931602127612972411091795108390389052480860193746743911527498519220273839527769833035881857726853467098911269302852845593971187405559028443858125612516861970741036057343608269623679293285386476744545818351711748688003297811455805393458709753103251539612237789250712397385115316535278815971689126148691165210509803492351048005363976277565918493112168705146479860764486361668759064665408259160388276017590016916700861312568095417777785551726502070929992694658005298759304555401227356478780892899267378068403064552037822165532637839903833550041707654613373959423517334832232689414960223334566643389767916597034738675615927023027470415583554700871576638724414462767923260563697359565590396440074043210895116789951462828104325757199298029144683260809276539753174907293433627412029599033369666325596282766195556921971407715849079550326538753478788539885334168018343762658788646653478255436967178793296002172074649689356379156584436435445611822702080962277807457927823922927306066870424992830767746552338430846115924011644287552907552573916405693976130872735230287695080204964860484466885268075589580731639136383450427951852278995505734159263710498971 351528210496093857348973984000107858011551776478529421466736700071690416636605308235747328117106023619302942200409526641735815237826018340694684344311686961214925404492427786980508202030582839333709185780047365909737404676125834333485158961677817350516861902220256746770606592599244657756822007441121839221383327764325496343540280840248451769906569829285662000756335345708304966406055409784779380333321080270673749726889737030609759430444559478028085747480253171165573144976723413509943887984242558591290217374525216003165410670996046957561862565686782892988239607872151601812228662448243879126327174656821101918902438537352515660608036873802136505326320625642633161181595982775941877437475746723695175638649055059375966577951634960412924126438457363520049258229911944327485551878364069522255029423902252625279538040802584860034776581376383880767781064591136857125636053326515275476966735237996028976701166227568507446288781734883205028314039856128294439366932823119669364406670815884038257595753287249777936958921373751402605169666536689537533272913398360109181084420148420641552481249899462430453999074814344582203567957556481127129159825551567902988202412630237736807570831923554638858635430168296584519240120163138819760696649565212137819576353358883787758797875503956631141373368468178289229152439845353545985413840852832986166441024849331413017108945252448535258230458473211908169758578927746902055614385684781801828442360965169672172626489028546765109715378609508215841612972994976211649215063927874135089463006230044674090783078643037129869354182933620744706029936540034108654744237416460615724405438185448419265248891138445471681906025299420401333702381034533142992316215298503216018 568784592587107396478261834565998763469538796503540865683213671493695379617712957730615822083016159848775758626787590181587863073681256252399000645254876550538690918326033199763828640807339292290780181524012580329595294414705570437204985510691971518192387527347898859384911843294932043550991717338471679542215126063873570267775972973464812431292912848336257920530510920108798525904725569405547603713052613447313579260953680357077650999650159943045987874533255794233410124829098479181655422978118979256849331905783394108356989372112879751974181312906714495115852580283243396920619051500724739320073918568348600438122712376880285493643918731528989972425231894945486006775567170181500905881333872336212037609390091116719574847575314253698310603183003181871761006917915242138941357271822779275358280963514490414530250438187700176570055397348073006916472229801646660617987101331879251754532653731108197681847646088332993807957540799548613287474428132145884456283633684432237459824448601435764759666683279944435942257680678306803832526145317582436800650981801424661218906585681058481456314799941170085067373034237861917035800646971441350463726468941335819585237151305853663830598302339138193559507006807020998982008043423702517120262239961652211862787248475673739221625979829713830439402513151439098505692193020260839419041252882432019536107350445614179212665867223856251107310008799750661648547118813081070073958148343570448481920616402136850965922491200621414799071757766092652277058584817678292611492871385801959012390312296915099083613846389589468300200298857632388993582844092608025060438213547333350954693133265653384125733358023713547271486756938556784784130332886812138498050374562213714989 920312803083201253827235818566106621481090572982070287149950371565385796254318265966363150200122183468078700827197116823323678311507274593093684989566563511753616322818460986744336842837922131624489367304059946239332699090831404770690144472369788868709249429568155606155518435894176701307813724779593518763598453828199066611316253813713264201199482677621919921286846265817103492310780979190326984046373693717987328987843417387687410430094719421074073622013508965398983269805821892691599310962361537848139549280308610111522400043108926709536043878593497388104092188155394998732847713948968618446401093225169702357025150914232801154251955605331126477751552520588119167957163152957442783318809619059907213248039146176095541425526949214111234729621460545391810265147827186466426909150186848797613310387416743039809788478990285036604831978724456887684253294392783517743623154658394527231499388969104226658548812315901501254246322534431818315788467988274178895650566507551906824231119417319803017262436567194213879216602052058206437695811854271974333923895199784770399991005829479123008796049840632515521372109052206499239368604527922477592886294492903722573439563936091400638169134262692832418142436975317583501248163586841336880958889526864349682363601834557526980423855333670461580775881619617387734844632865614385404455093735265005702548375294945592229774812476304786365540467272962569818305697740827972129572534028352250310362977367306523138548980229168179908787136375600868118671557812654504260707935313676094101853318526959773174396925032626598169554481791253133699612780632642133715182450963793966679098571451101803390982249162159018953392782237977186117832713921345281490366589860716931007 1489097395670308650305497653132105384950629369485611152833164043059081175872031223696978972283138343316854459453984707004911541385188530845492685634821440062292307241144494186508165483645261423915269548828072526568927993505536975207895129983061760386901636956916054465540430279189108744858805442118065198305813579892072636879092226787178076632492395525958177841817357185925902018215506548595874587759426307165300908248797097744765061429744879364120061496546764759632393394634920371873254733940480517104988881186092004219879389415221806461510225191500211883219944768438638395653466765449693357766475011793518302795147863291113086647895874336860116450176784415533605174732730323138943689200143491396119250857429237292815116273102263467809545332804463727263571272065742428605368266422009628072971591350931233454340038917177985213174887376072529894600725524194430178361610255990273778986032042700212424340396458404234495062203863333980431603262896120420063351934200191984144284055568018755567776929119847138649821474282730365010270221957171854411134574877001209431618897591510537604465110849781802600588745143290068416275169251499363828056612763434239542158676715241945064468767436601831025977649443782338582483256207010543854001221129488516561545150850310231266202049835163384292020178394771056486240536825885875224823496346617697025238655725740559771442440679700161037472850476072713231466852816553909042203530682371922698792283593769443374104471471429789594707858894141693520395730142630332796872200806699478053114243630823874872258010771422216066469754780648885522693195624725250158775620664511127317633791704716755187516715607185872566224879539176533970901963046808157419988416964422930645996 2409410198753509904132733471698212006431719942467681439983114414624466972126349489663342122483260526784933160281181823828235219696695805438586370624388003574045923563962955173252502326483183555539758916132132472808260692596368379978585274455431549255610886386484210071695948715083285446166619166897658717069412033720271703490408480600891340833691878203580097763104203451743005510526287527786201571805800000883288237236640515132452471859839598785194135118560273725031376664440742264564854044902842054953128430466400614331401789458330733171046269070093709271324036956594033394386314479398661976212876105018688005152173014205345887802147829942191242927928336936121724342689893476096386472518953110456026464105468383468910657698629212681920780062425924272655381537213569615071795175572196476870584901738347976494149827396168270249779719354796986782284978818587213696105233410648668306217531431669316650998945270720135996316450185868412249919051364108694242247584766699536051108286687436075370794191556414332863700690884782423216707917769026126385468498772200994202018888597340016727473906899622435116110117252342274915514537856027286305649499057927143264732116279178036465106936570864523858395791880757656165984504370597385190882180019015380911227514452144788793182473690497054753600954276390673873975381458751489610227951440352962030941204101035505363672215492176465823838390943345675801285158514294737014333103216400274949102646571136749897243020451658957774616646030517294388514401700442987301132908742013154147216096949350834645432407696454842664639309262440138656392808405357892292490803115474921284312890276167856990907697856348031585178272321414511157019795760729502701478783554283647577003 3898507594423818554438231124830317391382349311953292592816278457683548147998380713360321094766398870101787619735166530833146761081884336284079056259209443636338230805107449359760667810128444979455028464960204999377188686101905355186480404438493309642512523343400264537236378994272394191025424609015723915375225613612344340369500707388069417466184273729538275604921560637668907528741794076382076159565226308048589145485437612877217533289584478149314196615107038484663770059075662636438108778843322572058117311652492618551281178873552539632556494261593921154543981725032671790039781244848355333979351116812206307947320877496458974450043704279051359378105121351655329517422623799235330161719096601852145714962897620761725773971731476149730325395230387999918952809279312043677163441994206104943556493089279209948489866313346255462954606730869516676885704342781643874466843666638942085203563474369529075339341729124370491378654049202392681522314260229114305599518966891520195392342255454830938571120676261471513522165167512788226978139726197980796603073649202203633637786188850554331939017749404237716698862395632343331789707107526650133706111821361382806890792994419981529575704007466354884373441324539994748467760577607929044883401148503897472772665302455020059384523525660439045621132671161730360215918284637364835051447786970659056179859826776065135114656171876626861311241419418389032752011330848646056536633898772197647894930164906193271347491923088747369324504924658987908910131843073320098005109548712632200330340580174709517690418467877058731109064043089024179086004030083142451266423779986048601946681980884612178424413463533904151403151860591045127921758807537660121467200518706578222999 6307917793177328458570964596528529397814069254420974032799392872308015120124730203023663217249659396886720780016348354661381980778580141722665426883597447210384154369070404533013170136611628534994787381092337472185449378698273735165065678893924858898123409729884474608932327709355679637192043775913382632444637647332616043859909187988960758299876151933118373368025764089411913039268081604168277731371026308931877382722078128009670005149424076934508331733667312209695146723516404901002962823746164627011245742118893232882682968331883272803602763331687630425868018681626705184426095724247017310192227221830894313099493891701804862252191534221242602306033458287777053860112517275331716634238049712308172179068366004230636431670360688831651105457656312272574334346492881658748958617566402581814141394827627186442639693709514525712734326085666503459170683161368857570572077077287610391421094906038845726338286999844506487695104235070804931441365624337808547847103733591056246500628942890906309365312232675804377222856052295211443686057495224107182071572421403197835656674786190571059412924649026672832808979647974618247304244963553936439355610879288526071622909273598017994682640578330878742769233205297650914452264948205314235765581167519278384000179754599808852566997216157493799222086947552404234191299743388854445279399227323621087121063927811570498786871664053092685149632362764064834037169845143383070869737115172472596997576736042943168590512374747705143941150955176282297424533543516307399138018290725786347546437529525544163122826164331901395748373305529162835478812435441034743757226895460969886259572257052469169332111319881935736581424182005556284941554568267162822945984072990225800002 10206425387601147013009195721358846789196418566374266625615671329991563268123110916383984312016058266988508399751514885494528741860464478006744483142806890846722385174177853892773837946740073514449815846052542471562638064800179090351546083332418168540635933073284739146168706703628073828217468384929106547819863260944960384229409895377030175766060425662656648972947324727080820568009875680550353890936252616980466528207515740886887538439008555083822528348774350694358916782592067537441071602589487199069363053771385851433964147205435812436159257593281551580412000406659376974465876969095372644171578338643100621046814769198263836702235238500293961684138579639432383377535141074567046795957146314160317894031263624992362205642092164981381430852886700272493287155772193702426122059560608686757697887916906396391129560022860781175688932816536020136056387504150501445038920743926552476624658380408374801677628728968876979073758284273197612963679884566922853446622700482576441892971198345737247936432908937275890745021219807999670664197221422087978674646070605401469294460975041125391351942398430910549507842043606961579093952071080586573061722700649908878513702268017999524258344585797233627142674529837645662920025525813243280648982316023175856772845057054828911951520741817932844843219618714134594407218028026219280330847014294280143300923754587635633901527835929719546460873782182453866789181175992029127406371013944670244892506900949136439938004297836452513265655879835270206334665386589627497143127839438418547876778109700253680813244632208960126857437348618187014564816465524177195023650675447018488206254237937081347756524783415839887984576042596601412863313375804822944413184591696804023001 16514343180778475471580160317887376187010487820795240658415064202299578388247841119407647529265717663875229179767863240155910722639044619729409910026404338057106539543248258425787008083351702049444603227144879943748087443498452825516611762226343027438759342803169213755101034412983753465409512160842489180264500908277576428089319083365990934065936577595775022340973088816492733607277957284718631622307278925912343910929593868896557543588432632018330860082441662904054063506108472438444034426335651826080608795890279084316647115537319085239762020924969182006280019088286082158891972693342389954363805560473994934146308660900068698954426772721536563990172037927209437237647658349898763430195196026468490073099629629222998637312452853813032536310543012545067621502265075361175080677127011268571839282744533582833769253732375306888423258902202523595227070665519359015610997821214162868045753286447220528015915728813383466768862519344002544405045508904731401293726434073632688393600141236643557301745141613080267967877272103211114350254716646195160746218492008599304951135761231696450764867047457583382316821691581579826398197034634523012417333579938434950136611541616017518940985164128112369911907735135296577372290474018557516414563483542454240773024811654637764518517957975426644065306566266538828598517771415073725610246241617901230421987682399206132688399499982812231610506144946518700826351021135412198276108129117142841890083636992079608528516672584157657206806835011552503759198930105934896281146130164204895423215639225797843936070796540861522605810654147349850043628900965211938780877570907988374465826494989550517088636103297775624566000224602157697804867944071985767359168664687029823003 26720768568379622484589356039246222976206906387169507284030735532291141656370952035791631841281775930863737579519378125650439464499509097736154393169211228903828924717426112318560846030091775563894419073197422415310725508298631915868157845558761195979395275876453952901269741116611827293626980545771595728084364169222536812318728978743021109831997003258431671313920413543573554175287832965268985513243531542892810439137109609783445082027441187102153388431216013598412980288700539975885106028925139025149971849661664935750611262742754897675921278518250733586692019494945459133357849662437762598535383899117095555193123430098332535656662011221830525674310617566641820615182799424465810226152342340628807967130893254215360842954545018794413967163429712817560908658037269063601202736687619955329537170661439979224898813755236088064112191718738543731283458169669860460649918565140715344670411666855595329693544457782260445842620803617200157368725393471654254740349134556209130286571339582380805238178050550356158712898491911210785014451938068283139420864562614000774245596736272821842116809445888493931824663735188541405492149105715109585479056280588343828650313809634017043199329749925345997054582264972942240292315999831800797063545799565630097545869868709466676470038699793359488908526184980673423005735799441293005941093255912181373722911436986841766589927335912531778071379927128972567615532197127441325682479143061813086782590537941216048466520970420610170472462714846822710093864316695562393424273969602623443299993748926051524749315428749821649463248002765536864608445366489389133804528246355006862672080732926631864845160886713615512550576267198759110668181319876808711772353256383833846004 43235111749158097956169516357133599163217394207964747942445799734590720044618793155199279370547493594738966759287241365806350187138553717465564303195615566960935464260674370744347854113443477613339022300342302359058812951797084741384769607785104223418154618679623166656370775529595580759036492706614084908348865077500113240408048062109012043897933580854206693654893502360066287782565790249987617135550810468805154350066703478680002625615873819120484248513657676502467043794809012414329140455260790851230580645551944020067258378280073982915683299443219915592972038583231541292249822355780152552899189459591090489339432090998401234611088783943367089664482655493851257852830457774364573656347538367097298040230522883438359480266997872607446503473972725362628530160302344424776283413814631223901376453405973562058668067487611394952535450620941067326510528835189219476260916386354878212716164953302815857709460186595643912611483322961202701773770902376385656034075568629841818680171480819024362539923192163436426680775764014421899364706654714478300167083054622600079196732497504518292881676493346077314141485426770121231890346140349632597896389860526778778786925351250034562140314914053458366966490000108238817664606473850358313478109283108084338318894680364104440988556657768786132973832751247212251604253570856366731551339497530082604144899119386047899278326835895344009681886072075491268441883218262853523958587272178955928672674174933295656995037643004767827679269549858375213853063246801497289705420099766828338723209388151849368685386225290683172069058656912886714652074267454601072585405817262995237137907227916182381933796990011391137116576491800916808473049263948794479131521921070863669007 69955880317537720440758872396379822139424300595134255226476535266881861700989745190990911211829269525602704338806619491456789651638062815201718696364826795864764388978100483062908700143535253177233441373539724774369538460095716657252927453343865419397549894556077119557640516646207408052663473252385680636433229246722650052726777040852033153729930584112638364968813915903639841957853623215256602648794342011697964789203813088463447707643315006222637636944873690100880024083509552390214246484185929876380552495213608955817869641022828880591604577961470649179664058078177000425607672018217915151434573358708186044532555521096733770267750795165197615338793273060493078468013257198830383882499880707726106007361416137653720323221542891401860470637402438180189438818339613488377486150502251179230913624067413541283566881242847483016647642339679611057793987004859079936910834951495593557386576620158411187403004644377904358454104126578402859142496295848039910774424703186050948966742820401405167778101242713792585393674255925632684379158592782761439587947617236600853442329233777340134998485939234571245966149161958662637382495246064742183375446141115122607437239160884051605339644663978804364021072265081181057956922473682159110541655082673714435864764549073571117458595357562145621882358936227885674609989370297659737492432753442263977867810556372889665868254171807875787753265999204463836057415415390294849641066415240769015455264712874511705461558613425377998151732264705197923946927563497059683129694069369451782023203137077900893434701654040504821532306659678423579260519633943990206389934063618002099809987960842814246778957876725006649667152758999675919141230583825603190903875177454697515011 113190992066695818396928388753513421302641694803099003168922335001472581745608538346190190582376763120341671098093860857263139838776616532667282999560442362825699853238774853807256554256978730790572463673882027133428351411892801398637697061128969642815704513235700286214011292175802988811699965958999765544782094324222763293134825102961045197627864164966845058623707418263706129740419413465244219784345152480503119139270516567143450333259188825343121885458531366603347067878318564804543386939446720727611133140765552975885128019302902863507287877404690564772636096661408541717857494373998067704333762818299276533871987612095135004878839579108564705003275928554344336320843714973194957538847419074823404047591939021092079803488540764009306974111375163542817968978641957913153769564316882403132290077473387103342234948730458877969183092960620678384304515840048299413171751337850471770102741573461227045112464830973548271065587449539605560916267198224425566808500271815892767646914301220429530318024434877229012074450019940054583743865247497239739755030671859200932639061731281858427880162432580648560107634588728783869272841386414374781271836001641901386224164512134086167479959578032262730987562265189419875621528947532517424019764365781798774183659229437675558447152015330931754856191687475097926214242941154026469043772250972346582012709675758937565146581007703219797435152071279955104499298633653148373599653687419724944127938887807807362456596256430145825831001814563573137799990810298556972835114169136280120746412525229750262120087879331187993601365316591310293912593901398591278975339880880997336947895188758996628712754866736397786783729250800592727614279847774397670035397098525561184018 183146872384233538837687261149893243442065995398233258395398870268354443446598283537181101794206032645944375436900480348719929490414679347869001695925269158690464242216875336870165254400513983967805905047421751907797889871988518055890624514472835062213254407791777405771651808822010396864363439211385446181215323570945413345861602143813078351357794749079483423592521334167345971698273036680500822433139494492201083928474329655606898040902503831565759522403405056704227091961828117194757633423632650603991685635979161931702997660325731744098892455366161213952300154739585542143465166392215982855768336177007462578404543133191868775146590374273762320342069201614837414788856972172025341421347299782549510054953355158745800126710083655411167444748777601723007407796981571401531255714819133582363203701540800644625801829973306360985830735300300289442098502844907379350082586289346065327489318193619638232515469475351452629519691576118008420058763494072465477582924975001943716613657121621834698096125677591021597468124275865687268123023840280001179342978289095801786081390965059198562878648371815219806073783750687446506655336632479116964647282142757023993661403673018137772819604242011067095008634530270600933578451421214676534561419448455513210048423778511246675905747372893077376738550623702983600824232311451686206536205004414610559880520232131827231014835179511095585188418070484418940556714049043443223240720102660493959583203600682319067918154869855523823982734079268771061746918373795616655964808238505731902769615662307651155554789533371692815133671976269733873173113535342581485365273944498999436757883149601810875491712743461404436450882009800268646755510431600000860939272275980258699029 296337864450929357234615649903406664744707690201332261564321205269827025192206821883371292376582795766286046534994341205983069329191295880536284695485711521516164095455650190677421808657492714758378368721303779041226241283881319454528321575601804705028958921027477691985663100997813385676063405170385211725997417895168176638996427246774123548985658914046328482216228752431052101438692450145745042217484646972704203067744846222750348374161692656908881407861936423307574159840146681999301020363079371331602818776744714907588125679628634607606180332770851778724936251400994083861322660766214050560102098995306739112276530745287003780025429953382327025345345130169181751109700687145220298960194718857372914102545294179837879930198624419420474418860152765265825376775623529314685025279136015985495493779014187747968036778703765238955013828260920967826403018684955678763254337627196537097592059767080865277627934306325000900585279025657613980975030692296891044391425246817836484260571422842264228414150112468250609542574295805741851866889087777240919098008960955002718720452696341056990758810804395868366181418339416230375928178018893491745919118144398925379885568185152223940299563820043329825996196795460020809199980368747193958581183814237311984232083007948922234352899388224009131594742311178081527038475252605712675579977255386957141893229907890764796161416187214315382623570141764374045056012682696591596840373790080218903711142488490126430374751126285669649813735893832344199546909184094173628799922407642012023516028187537401417674877412702880808735037292861044167085707436741172764340613825379996773705778338360807504204467610197802223234611260600861374369790279374398530974669374505819883047 479484736835162896072302911053299908186773685599565519959720075538181468638805105420552394170788828412230421971894821554702998819605975228405286391410980680206628337672525527547587063058006698726184273768725530949024131155869837510418946090074639767242213328819255097757314909819823782540426844381770657907212741466113589984858029390587201900343453663125811905808750086598398073136965486826245864650624141464905286996219175878357246415064196488474640930265341480011801251801974799194058653786712021935594504412723876839291123339954366351705072788137012992677236406140579626004787827158430033415870435172314201690681073878478872555172020327656089345687414331784019165898557659317245640381542018639922424157498649338583680056908708074831641863608930366988832784572605100716216280993955149567858697480554988392593838608677071599940844563561221257268501521529863058113336923916542602425081377960700503510143403781676453530104970601775622401033794186369356521974350221819780200874228544464098926510275790059272207010698571671429119989912928057242098440987250050804504801843661400255553637459176211088172255202090103676882583514651372608710566400287155949373546971858170361713119168062054396921004831325730621742778431789961870493142603262692825194280506786460168910258646761117086508333292934881065127862707564057398882116182259801567701773750140022592027176251366725410967811988212248792985612726731740034820081093892740712863294346089172445498292905996141193473796469973101115261293827557889790284764730646147743926285643849845052573229666946074573623868709269130778040258820972083754249705887769878996210463661487962618379696180353659206659685493270401130021125300710974399391913941650486078582076 775822601286092253306918560956706572931481375800897781524041280808008493831011927303923686547371624178516468506889162760686068148797271108941571086896692201722792433128175718225008871715499413484562642490029309990250372439751156964947267665676444472271172249846732789742978010817637168216490249552155869633210159361281766623854456637361325449329112577172140388024978839029450174575657936971990906868108788437609490063964022101107594789225889145383522338127277903319375411642121481193359674149791393267197323189468591746879249019583000959311253120907864771402172657541573709866110487924644083975972534167620940802957604623765876335197450281038416371032759461953200917008258346462465939341736737497295338260043943518421559987107332494252116282469083132254658161348228630030901306273091165553354191259569176140561875387380836838895858391822142225094904540214818736876591261543739139522673437727781368787771338088001454430690249627433236382008824878666247566365775468637616685134799967306363154924425902527522816553272867477170971856802015834483017538996211005807223522296357741312544396269980606956538436620429519907258511692670266100456485518431554874753432540043322585653418731882097726747001028121190642551978412158709064451723787076930137178512589794409091144611546149341095639928035246059146654901182816663111557696159515188524843666980047913356823337667553939726350435558354013167030668739414436626416921467682820931767005488577662571928667657122426863123610205866933459460840736741983963913564653053789755949801672037382453990904544358777454432603746561991822207344528408824927014046501595258992984169439826323425883900647963857008882920104531001991395495090990348797922888611024991898465123 1255307338121255149379221472010006481118255061400463301483761356346189962469817032724476080718160452590746890478783984315389066968403246337346857478307672881929420770800701245772595934773506112210746916258754840939274503595620994475366213755751084239513385578665987887500292920637460950756917093933926527540422900827395356608712486027948527349672566240297952293833728925627848247712623423798236771518732929902514777060183197979464841204290085633858163268392619383331176663444096280387418327936503415202791827602192468586170372359537367311016325909044877764079409063682153335870898315083074117391842969339935142493638678502244748890369470608694505716720173793737220082906816005779711579723278756137217762417542592857005240044016040569083758146078013499243490945920833730747117587267046315121212888740124164533155713996057908438836702955383363482363406061744681794989928185460281741947754815688481872297914741869677907960795220229208858783042619065035604088340125690457396886009028511770462081434701692586795023563971439148600091846714943891725115979983461056611728324140019141568098033729156818044710691822519623584141095207321638709167051918718710824126979511901492947366537899944152123668005859446921264294756843948670934944866390339622962372793096580869260054870192910458182148261328180940211782763890380720510439812341774990092545440730187935948850513918920665137318247546566261960016281466146176661237002561575561644630299834666835017426960563118568056597406675840034574722134564299873754198329383699937499876087315887227506564134211304852028056472455831122600247603349380908681263752389365137989194633101314286044263596828317516215542605597801403121416620391701323197314802552675477977047199 2031129939407347402686140032966713054049736437201361083007802637154198456300828960028399767265532076769263358985673147076075135117200517446288428565204365083652213203928876963997604806489005525695309558748784150929524876035372151440313481421427528711784557828512720677243270931455098118973407343486082397173633060188677123232566942665309852799001678817470092681858707764657298422288281360770227678386841718340124267124147220080572435993515974779241685606519897286650552075086217761580778002086294808469989150791661060333049621379120368270327579029952742535481581721223727045737008803007718201367815503507556083296596283126010625225566920889732922087752933255690420999915074352242177519065015493634513100677586536375426800031123373063335874428547096631498149107269062360778018893540137480674567079999693340673717589383438745277732561347205505707458310601959500531866519447004020881470428253416263241085686079957679362391485469856642095165051443943701851654705901159095013571143828479076825236359127595114317840117244306625771063703516959726208133518979672062418951846436376882880642429999137425001249128442949143491399606899991904809623537437150265698880412051944815533019956631826249850415006887568111906846735256107379999396590177416553099551305686375278351199481739059799277788189363426999358437665073197383621997508501290178617389107710235849305673851586474604863668683104920275127046950205560613287653924029258382576397305323244497589355628220240994919721016881706968034182975301041857718111894036753727255825888987924609960555038755663629482489076202393114422454947877789733608277798890960396982178802541140609470147497476281373224425525702332405112812115482691671995237691163700469875512322 3286437277528602552065361504976719535167991498601824384491563993500388418770645992752875847983692529360010249464457131391464202085603763783635286043512037965581633974729578209770200741262511637906056475007538991868799379630993145915679695177178612951297943407178708564743563852092559069730324437420008924714055961016072479841279428693258380148674245057768044975692436690285146670000904784568464449905574648242639044184330418060037277197806060413099848874912516669981728738530314041968196330022798223672780978393853528919219993738657735581343904938997620299560990784905880381607907118090792318759658472847491225790234961628255374115936391498427427804473107049427641082821890358021889098788294249771730863095129129232432040075139413632419632574625110130741640053189896091525136480807183795795779968739817505206873303379496653716569264302588869189821716663704182326856447632464302623418183069104745113383600821827357270352280690085850953948094063008737455743046026849552410457152856990847287317793829287701112863681215745774371155550231903617933249498963133119030680170576396024448740463728294243045959820265468767075540702107313543518790589355868976523007391563846308480386494531770401974083012747015033171141492100056050934341456567756176061924098782956147611254351931970257459936450691607939570220428963578104132437320843065168709934548440423785254524365505395270000986930651486537087063231671706789948890926590833944221027605157911332606782588783359562976318423557547002608905109865341731472310223420453664755701976303811837467119172966968481510545548658224237022702551227170642289541551280325534971373435642454895514411094304598889439968131300133808234228735874392995192552493716375947852559521 5317567216935949954751501537943432589217727935803185467499366630654586875071474952781275615249224606129273608450130278467539337202804281229923714608716403049233847178658455173767805547751517163601366033756323142798324255666365297355993176598606141663082501235691429241986834783547657188703731780906091321887689021204749603073846371358568232947675923875238137657551144454942445092289186145338692128292416366582763311308477638140609713191322035192341534481432413956632280813616531803548974332109093032142770129185514589252269615117778103851671483968950362835042572506129607427344915921098510520127473976355047309086831244754265999341503312388160349892226040305118062082736964710264066617853309743406243963772715665607858840106262786695755507003172206762239789160458958452303155374347321276470347048739510845880590892762935398994301825649794374897280027265663682858722967079468323504888611322521008354469286901785036632743766159942493049113145506952439307397751928008647424028296685469924112554152956882815430703798460052400142219253748863344141383017942805181449632017012772907329382893727431668047208948708417910566940309007305448328414126793019242221887803615791124013406451163596651824498019634583145077988227356163430933738046745172729161475404469331425962453833671030056737724640055034938928658094036775487754434829344355347327323656150659634560198217091869874864655613756406812214110181877267403236544850620092326797424910481155830196138217003600557896039440439253970643088085166383589190422117457207392011527865291736447427674211722632110993034624860617351445157499104960375897819350171285931953552238183595504984558591780880262664393657002466213347040851357084667187790184880076417728071843 8604004494464552506816863042920152124385719434405009851990930624154975293842120945534151463232917135489283857914587409859003539288408045013559000652228441014815481153388033383538006289014028801507422508763862134667123635297358443271672871775784754614380444642870137806730398635640216258434056218326100246601744982220822082915125800051826613096350168933006182633243581145227591762290090929907156578197991014825402355492808056200646990389128095605441383356344930626614009552146845845517170662131891255815551107579368118171489608856435839433015388907947983134603563291035487808952823039189302838887132449202538534877066206382521373457439703886587777696699147354545703165558855068285955716641603993177974826867844794840290880181402200328175139577797316892981429213648854543828291855154505072266127017479328351087464196142432052710871089952383244087101743929367865185579414711932626128306794391625753467852887723612393903096046850028344003061239569961176763140797954858199834485449542460771399871946786170516543567479675798174513374803980766962074632516905938300480312187589168931778123357455725911093168768973886677642481011114618991847204716148888218744895195179637432493792945695367053798581032381598178249129719456219481868079503312928905223399503252287573573708185603000314197661090746642878498878523000353591886872150187420516037258204591083419814722582597265144865642544407893349301173413548974193185435777210926271018452515639067162802920805786960120872357863996800973251993195031725320662732340877661056767229841595548284894793384689600592503580173518841588467860050332131018187360901451611466924925673826050400498969686085479152104361788302600021581269587231477662380342678596452365580631364 13921571711400502461568364580863584713603447370208195319490297254809562168913595898315427078482141741618557466364717688326542876491212326243482715260944844064049328332046488557305811836765545965108788542520185277465447890963723740627666048374390896277462945878561567048717233419187873447137787999232191568489434003425571685988972171410394846044026092808244320290794725600170036854579277075245848706490407381408165666801285694341256703580450130797782917837777344583246290365763377649066144994240984287958321236764882707423759223974213943284686872876898345969646135797165095236297738960287813359014606425557585843963897451136787372798943016274748127588925187659663765248295819778550022334494913736584218790640560460448149720287664987023930646580969523655221218374107812996131447229501826348736474066218839196968055088905367451705172915602177618984381771195031548044302381791400949633195405714146761822322174625397430535839813009970837052174385076913616070538549882866847258513746227930695512426099743053331974271278135850574655594057729630306216015534848743481929944204601941839107506251183157579140377717682304588209421320121924440175618842941907460966782998795428556507199396858963705623079052016181323327117946812382912801817550058101634384874907721618999536162019274030370935385730801677817427536617037129079641306979531775863364581860741743054374920799689135019730298158164300161515283595426241596421980627831018597815877426120222992999059022790560678768397304436054943895081280198108909853154458334868448778757706887284732322467596412232703496614798379458939913017549437091394085180251622897398878477912009645905483528277866359414768755445305066234928310438588562329568132863476528783308703207 22525576205865054968385227623783736837989166804613205171481227878964537462755716843849578541715058877107841324279305098185546415779620371257041715913173285078864809485434521940843818125779574766616211051284047412132571526261082183899338920150175650891843390521431704855447632054828089705571844217558291815091178985646393768904097971462221459140376261741250502924038306745397628616869368005153005284688398396233568022294093750541903693969578226403224301194122275209860299917910223494583315656372875543773872344344250825595248832830649782717702261784846329104249699088200583045250561999477116197901738874760124378840963657519308746256382720161335905285624335014209468413854674846835978051136517729762193617508405255288440600469067187352105786158766840548202647587756667539959739084656331421002601083698167548055519285047799504416044005554560863071483515124399413229881796503333575761502200105772515290175062349009824438935859859999181055235624646874792833679347837725047092999195770391466912298046529223848517838757811648749168968861710397268290648051754681782410256392191110770885629608638883490233546486656191265851902331236543432022823559090795679711678193975065989000992342554330759421660084397779501576247666268602394669897053371030539608274410973906573109870204877030685133046821548320695926415140037482671528179129719196379401840065332826474189643382286400164595940702572193510816457008975215789607416405041944868834329941759290155801979828577520799640755168432855917147074475229834230515886799212529505545987548482833017217260981101833296000194971898300528380877599769222412272541153074508865803403585835696305982497963951838566873117233607666256509580025820039991948475542072981148889334571 36447147917265557429953592204647321551592614174821400490971525133774099631669312742165005620197200618726398790644022786512089292270832697500524431174118129142914137817481010498149629962545120731724999593804232689598019417224805924527004968524566547169306336399993271904164865474015963152709632216790483383580612989071965454893070142872616305184402354549494823214833032345567665471448645080398853991178805777641733689095379444883160397550028357201007219031899619793106590283673601143649460650613859831732193581109133533019008056804863726002389134661744675073895834885365678281548300959764929556916345300317710222804861108656096119055325736436084032874549522673873233662150494625386000385631431466346412408148965715736590320756732174376036432739736364203423865961864480536091186314158157769739075149917006745023574373953166956121216921156738482055865286319430961274184178294734525394697605819919277112497236974407254974775672869970018107410009723788408904217897720591894351512941998322162424724146272277180492110035947499323824562919440027574506663586603425264340200596793052609993135859822041069373924204338495854061323651358467872198442402032703140678461192770494545508191739413294465044739136413960824903365613080985307471714603429132173993149318695525572646032224151061056068432552349998513353951757074611751169486109250972242766421926074569528564564181975535184326238860736493672331740604401457386029397032872963466650207367879513148801038851368081478409152472868910861042155755427943140369041257547397954324745255370117749539728577514065999496809770277759468293895149206313806357721404697406264681881497845342211466026241818197981641872678912732491437890464408602321516608405549509932198037778 58972724123130612398338819828431058389581780979434605662452753012738637094425029586014584161912259495834240114923327884697635708050453068757566147087291414221778947302915532438993448088324695498341210645088280101730590943485888108426343888674742198061149726921424976759612497528844052858281476434348775198671791974718359223797168114334837764324778616290745326138871339090965294088318013085551859275867204173875301711389473195425064091519606583604231520226021895002966890201583824638232776306986735375506065925453384358614256889635513508720091396446591004178145533973566261326798862959242045754818084175077834601645824766175404865311708456597419938160173857688082702076005169472221978436767949196108606025657370971025030921225799361728142218898503204751626513549621148076050925398814489190741676233615174293079093659000966460537260926711299345127348801443830374504065974798068101156199805925691792402672299323417079413711532729969199162645634370663201737897245558316941444512137768713629337022192801501029009948793759148072993531781150424842797311638358107046750456988984163380878765468460924559607470690994687119913225982595011304221265961123498820390139386745560534509184081967625224466399220811740326479613279349587702141611656800162713601423729669432145755902429028091741201479373898319209280366897112094422697665238970168622168261991407396002754207564261935348922179563308687183148197613376673175636813437914908335484537309638803304603018679945602278049907641301766778189230230657777370884928056759927459870732803852950766756989558615899295497004742176059996674772748975536218630262557771915130485285083681038517448524205770036548514989912520398747947470490228642313465083947622491081087372349 95419872040396169828292412033078379941174395154256006153424278146512736726094342328179589782109460114560638905567350671209725000321285766258090578261409543364693085120396542937143078050869816230066210238892512791328610360710694032953348857199308745230456063321418248663777363002860016010991108651139258582252404963790324678690238257207454069509180970840240149353704371436532959559766658165950713267046009951517035400484852640308224489069634940805238739257921514796073480485257425781882236957600595207238259506562517891633264946440377234722480531108335679252041368858931939608347163919006975311734429475395544824450685874831500984367034193033503971034723380361955935738155664097607978822399380662455018433806336686761621241982531536104178651638239568955050379511485628612142111712972646960480751383532181038102668032954133416658477847868037827183214087763261335778250153092802626550897411745611069515169536297824334388487205599939217270055644094451610642115143278908835796025079767035791761746339073778209502058829706647396818094700590452417303975224961532311090657585777215990871901328282965628981394895333182973974549633953479176419708363156201961068600579516055080017375821380919689511138357225701151382978892430573009613326260229294887594573048364957718401934653179152797269911926248317722634318654186706173867151348221140864934683917481965531318771746237470533248418424045180855479938217778130561666210470787871802134744677518316453404057531313683756459060114170677639231385986085720511253969314307325414195478059223068516296718136129965294993814512453819464968667898181850024987983962469321395167166581526380728914550447588234530156862591433131239385360954637244634981692353172001013285410127 154392596163526782226631231861509438330756176133690611815877031159251373820519371914194173944021719610394879020490678555907360708371738835015656725348700957586472032423312075376136526139194511728407420883980792893059201304196582141379692745874050943291605790242843225423389860531704068869272585085488033780924196938508683902487406371542291833833959587130985475492575710527498253648084671251502572542913214125392337111874325835733288580589241524409470259483943409799040370686841250420115013264587330582744325432015902250247521836075890743442571927554926683430186902832498200935146026878249021066552513650473379426096510641006905849678742649630923909194897238050038637814160833569829957259167329858563624459463707657786652163208330897832320870536742773706676893061106776688193037111787136151222427617147355331181761691955099877195738774579337172310562889207091710282316127890870727707097217671302861917841835621241413802198738329908416432701278465114812380012388837225777240537217535749421098768531875279238512007623465795469811626481740877260101286863319639357841114574761379371750666796743890188588865586327870093887775616548490480640974324279700781458739966261615614526559903348544913977537578037441477862592171780160711754937917029457601195996778034389864157837082207244538471391300146636931914685551298800596564816587191309487102945908889361534072979310499405882170597987353868038628135831154803737303023908702780137619281987157119758007076211259286034508967755472444417420616216743497882138897371067252874066210863076019283053707694745864590490819254629879461643440647157386243618246520241236525652451665207419246363074653358271078671852503953529987332831444865886948446776300794492094372782476 249812468203922952054923643894587818271930571287946617969301309305764110546613714242373763726131179724955517926058029227117085708693024601273747303610110500951165117543708618313279604190064327958473631122873305684387811664907276174333041603073359688522061853564261474087167223534564084880263693736627292363176601902299008581177644628749745903343140557971225624846280081964031213207851329417453285809959224076909372512359178476041513069658876465214708998741864924595113851172098676201997250222187925789982584938578420141880786782516267978165052458663262362682228271691430140543493190797255996378286943125868924250547196515838406834045776842664427880229620618411994573552316497667437936081566710521018642893270044344548273405190862433936499522174982342661727272572592405300335148824759783111703179000679536369284429724909233293854216622447374999493776976970353046060566280983673354257994629416913931433011371919065748190685943929847633702756922559566423022127532116134613036562297302785212860514870949057448014066453172442866629721182331329677405262088281171668931772160538595362622568125026855817570260481661053067862325250501969657060682687435902742527340545777670694543935724729464603488675935263142629245571064210733721368264177258752488790569826399347582559771735386397335741303226394954654549004205485506770431967935412450352037629826371327065391751056736876415419016411399048894108074048932934298969234379490651939754026664675436211411133742572969790968027869643122056652002202829218393392866685374578288261688922299087799350425830875829885484633767083698926612108545339236268606230482710557920819618246733799975277625100946505608828715095386661226718192399503131583428468653966493107658192603 404205064367449734281554875756097256602686747421637229785178340465015484367133086156567937670152899335350396946548707783024446417064763436289404028958811458537637149967020693689416130329258839686881052006854098577447012969103858315712734348947410631813667643807104699510557084066268153749536278822115326144100798840807692483665051000292037737177100145102211100338855792491529466855936000668955858352872438202301709624233504311774801650248117989624179258225808334394154221858939926622112263486775256372726910370594322392128308618592158721607624386218189046112415174523928341478639217675505017444839456776342303676643707156845312683724519492295351789424517856462033211366477331237267893340734040379582267352733752002334925568399193331768820392711725116368404165633699181988528185936546919262925606617826891700466191416864333171049955397026712171804339866177444756342882408874544081965091847088216793350853207540307161992884682259756050135458201024681235402139920953360390277099514838534633959283402824336686526074076638238336441347664072206937506548951600811026772886735299974734373234921770746006159126067988923161750100867050460137701657011715603523986080512039286309070495628078009517466213513300584107108163235990894433123202094288210089986566604433737446717608817593641874212694526541591586463689756784307366996784522603759839140575735260688599464730367236282297589614398752916932736209880087738036272258288193432077373308651832555969418209953832255825476995625115566474072618419572716275531764056441831162327899785375107082404133525621694475975453021713578388255549192496622512224477002951794446472069911941219221640699754304776687500567599340191214051023844369018531875244954760985202030975079 654017532571372686336478519650685074874617318709583847754479649770779594913746800398941701396284079060305914872606737010141532125757788037563151332568921959488802267510729312002695734519323167645354683129727404261834824634011134490045775952020770320335729497371366173597724307600832238629799972558742618507277400743106701064842695629041783640520240703073436725185135874455560680063787330086409144162831662279211082136592682787816314719906994454838888256967673258989268073031038602824109513708963182162709495309172742534009095401108426699772676844881451408794643446215358482022132408472761013823126399902211227927190903672683719517770296334959779669654138474874027784918793828904705829422300750900600910246003796346883198973590055765705319914886707459030131438206291587288863334761306702374628785618506428069750621141773566464904172019474087171298116843147797802403448689858217436223086476505130724783864579459372910183570626189603683838215123584247658424267453069495003313661812141319846819798273773394134540140529810681203071068846403536614911811039881982695704658895838570096995803046797601823729386549649976229612426117552429794762339699151506266513421057816957003614431352807474120954889448563726736353734300201628154491466271546962578777136430833085029277380552980039209953997752936546241012693962269814137428752458016210191178205561632015664856481423973158713008630810151965826844283929020672335241492667684084017127335316507992180829343696405225616445023494758688530724620622401934668924630741816409450589588707674194881754559356497524361460086788797277314867657737835858780830707485662352367291688158675019196918324855251282296329282694726852440769216243872150115303713608727478309689167682 1058222596938822420618033395406782331477304066131221077539657990235795079280879886555509639066436978395656311819155444793165978542822551473852555361527733418026439417477750005692111864848582007332235735136581502839281837603114992805758510300968180952149397141178470873108281391667100392379336251380857944651378199583914393548507746629333821377697340848175647825523991666947090146919723330755365002515704100481512791760826187099591116370155112444463067515193481593383422294889978529446221777195738438535436405679767064926137404019700585421380301231099640454907058620739286823500771626148266031267965856678553531603834610829529032201494815827255131459078656331336060996285271160141973722763034791280183177598737548349218124541989249097474140307598432575398535603839990769277391520697853621637554392236333319770216812558637899635954127416500799343102456709325242558746331098732761518188178323593347518134717786999680072176455308449359733973673324608928893826407374022855393590761326979854480779081676597730821066214606448919539512416510475743552418359991482793722477545631138544831369037968568347829888512617638899391362526984602889932463996710867109790499501569856243312684926980885483638421102961864310843461897536192522587614668365835172668763703035266822475994989370573681084166692279478137827476383719054121504425536980619970030318781296892704264321211791209441010598245208904882759580493809108410371513750955877516094500643968340548150247553650237481441922019119874255004797239041974650944456394798258240612917488493049301964158692882119218837435539810510855703123206930332481293055184488614146813763758070616238418559024609556058983829850294067043654820240088241168647178958563488463511720142761 1712240129510195106954511915057467406351921384840804925294137640006574674194626686954451340462721057455962226691762181803307510668580339511415706694096655377515241684988479317694807599367905174977590418266308907101116662237126127295804286252988951272485126638549837046706005699267932631009136223939600563158655600327021094613350442258375605018217581551249084550709127541402650826983510660841774146678535762760723873897418869887407431090062106899301955772161154852372690367921017132270331290904701620698145900988939807460146499420809012121152978075981091863701702066954645305522904034621027045091092256580764759531025514502212751719265112162214911128732794806210088781204064989046679552185335542180784087844741344696101323515579304863179460222485140034428667042046282356566254855459160324012183177854839747839967433700411466100858299435974886514400573552473040361149779788590978954411264800098478242918582366459052982360025934638963417811888448193176552250674827092350396904423139121174327598879950371124955606355136259600742583485356879280167330171031364776418182204526977114928364841015365949653617899167288875620974953102155319727226336410018616057012922627673200316299358333692957759375992410428037579815631836394150742106134637382135247540839466099907505272369923553720294120690032414684068489077681323935641854289438636180221496986858524719929177693215182599723606876019056848586424777738129082706755243623561600111627979284848540331076897346642707058367042614632943535521859664376585613381025540074650063507077200723496845913252238616743198895626599308133017990864668168340073885891974276499181055446229291257615477349464807341280159132988793896095589456332113318762482672172215941821409310443 2770462726449017527572545310464249737829225450972026002833795630242369753475506573509960979529158035851618538510917626596473489211402890985268262055624388795541681102466229323386919464216487182309826153402890409940398499840241120101562796553957132224634523779728307919814287090935033023388472475320458507810033799910935488161858188887709426395914922399424732376233119208349740973903233991597139149194239863242236665658245056986998547460217219343765023287354636445756112662810995661716553068100440059233582306668706872386283903440509597542533279307080732318608760687693932129023675660769293076359058113259318291134860125331741783920759927989470042587811451137546149777489336149188653274948370333460967265443478893045319448057568553960653600530083572609827202645886273125843646376157013945649737570091173067610184246259049365736812426852475685857503030261798282919896110887323740472599443123691825761053300153458733054536481243088323151785561772802105446077082201115205790495184466101028808377961626968855776672569742708520282095901867355023719748531022847570140659750158115659759733878983934297483506411784927775012337480086758209659690333120885725847512424197529443628984285314578441397797095372292348423277529372586673329720803003217307916304542501366729981267359294127401378287382311892821895965461400378057146279826419256150251815768155417424193498905006392040734205121227961731346005271547237493078268994579439116206128623253189088481324450996880188500289061734507198540319098706351236557837420338332890676424565693772798810071945120735962036331166409818988721114071598500821366941076462890645994819204299907496034036374074363400263988983282860939750409696420354487409661630735704405333129453204 4482702855959212634527057225521717144181146835812830928127933270248944427670133260464412319991879093307580765202679808399780999879983230496683968749721044173056922787454708641081727063584392357287416571669199317041515162077367247397367082806946083497119650418278144966520292790202965654397608699260059070968689400237956582775208631146085031414132503950673816926942246749752391800886744652438913295872775626002960539555663926874405978550279326243066979059515791298128803030732012793986884359005141679931728207657646679846430402861318609663686257383061824182310462754648577434546579695390320121450150369840083050665885639833954535640025040151684953716544245943756238558693401138235332827133705875641751353288220237741420771573147858823833060752568712644255869687932555482409901231616174269661920747946012815450151679959460831837670726288450572371903603814271323281045890675914719427010707923790304003971882519917786036896507177727286569597450220995281998327757028207556187399607605222203135976841577339980732278924878968121024679387224234303887078702054212346558841954685092774688098719999300247137124310952216650633312433188913529386916669530904341904525346825202643945283643648271399157173087782720386003093161208980824071826937640599443163845381967466637486539729217681121672408072344307505964454539081701992788134115857892330473312755013942144122676598221574640457811997247018579932430049285366575785024238203000716317756602538037628812401348343522895558656104349140142075840958370727822171218445878407540739931642894496295655985197359352705235226793009127121739104936266669161440826968437167145175874650529198753649513723539170741544148116271654835845999152752467806172144302907920347154538763647 7253165582408230162099602535985966882010372286784856930961728900491314181145639833974373299521037129159199303713597434996254489091386121481952230805345432968598603889920937964468646527800879539597242725072089726981913661917608367498929879360903215721754174198006452886334579881137998677786081174580517578778723200148892070937066820033794457810047426350098549303175365958102132774789978644036052445067015489245197205213908983861404526010496545586832002346870427743884915693543008455703437427105581739165310514326353552232714306301828207206219536690142556500919223442342509563570255356159613197809208483099401341800745765165696319560784968141154996304355697081302388336182737287423986102082076209102718618731699130786740219630716412784486661282652285254083072333818828608253547607773188215311658318037185883060335926218510197574483153140926258229406634076069606200942001563238459899610151047482129765025182673376519091432988420815609721383011993797387444404839229322761977894792071323231944354803204308836508951494621676641306775289091589327606827233077059916699501704843208434447832598983234544620630722737144425645649913275671739046607002651790067752037771022732087574267928962849840554970183155012734426370690581567497401547740643816751080149924468833367467807088511808523050695454656200327860420000482080049934413942277148480725128523169359568316175503227966681192017118474980311278435320832604068863293232782439832523885225791226717293725799340403084058945166083647340616160057077079058729055866216740431416356208588269094466057142480088667271557959418946110460219007865169982807768044900057791170693854829106249683550097613534141808137099554515775596408849172822293581805933643624752487668216851 11735868438367442796626659761507684026191519122597687859089662170740258608815773094438785619512916222466780068916277243396035488971369351978636199555066477141655526677375646605550373591385271896884659296741289044023428823994975614896296962167849299218873824616284597852854872671340964332183689873840576649747412600386848653712275451179879489224179930300772366230117612707854524575676723296474965740939791115248157744769572910735810504560775871829898981406386219042013718724275021249690321786110723419097038721984000232079144709163146816869905794073204380683229686196991086998116835051549933319259358852939484392466631404999650855200810008292839950020899943025058626894876138425659318929215782084744469972019919368528160991203864271608319722035220997898338942021751384090663448839389362484973579065983198698510487606177971029412153879429376830601310237890340929481987892239153179326620858971272433768997065193294305128329495598542896290980462214792669442732596257530318165294399676545435080331644781648817241230419500644762331454676315823631493905935131272263258343659528301209135931318982534791757755033689361076278962346464585268433523672182694409656563117847934731519551572611121239712143270937733120429463851790548321473374678284416194243995306436300004954346817729489644723103527000507833824874539563782042722548058135040811198441278183301712438852101449541321649829115721998891210865370117970644648317470985440548841641828329264346106127147683925979617601270432787482692001015447806880900274312095147972156287851482765390122042339839441372506784752428073232199323944131839144248595013337224936346568505358305003333063821152704883352285215826170611442408001925290099753950236551545099642206980498 18989034020775672958726262297493650908201891409382544790051391071231572789961412928413158919033953351625979372629874678392289978062755473460588430360411910110254130567296584570019020119186151436481902021813378771005342485912583982395226841528752514940627998814291050739189452552478963009969771048421094228526135800535740724649342271213673947034227356650870915533292978665956657350466701940511018186006806604493354949983481894597215030571272417416730983753256646785898634417818029705393759213216305158262349236310353784311859015464975024076125330763346937184148909639333596561687090407709546517068567336038885734267377170165347174761594976433994946325255640106361015231058875713083305031297858293847188590751618499314901210834580684392806383317873283152422014355570212698916996447162550700285237384020384581570823532396481226986637032570303088830716871966410535682929893802391639226231010018754563534022247866670824219762484019358506012363474208590056887137435486853080143189191747868667024686447985957653750181914122321403638229965407412959100733168208332179957845364371509643583763917965769336378385756426505501924612259740257007480130674834484477408600888870666819093819501573971080267113454092745854855834542372115818874922418928232945324145230905133372422153906241298167773798981656708161685294540045862092656962000412189291923569801352661280755027604677508002841846234196979202489300690950574713511610703767880381365527054120491063399852947024329063676546436516434823308161072524885939629330178311888403572644060071034484588099482319530039778342711847019342659542951997009127056363058237282727517262360187411253016613918766239025160422315380686387038816851098112393335756170195169852129875197349 30724902459143115755352922059001334934393410531980232649141053241971831398777186022851944538546869574092759441546151921788325467034124825439224629915478387251909657244672231175569393710571423333366561318554667815028771309907559597291523803696601814159501823430575648592044325223819927342153460922261670878273548400922589378361617722393553436258407286951643281763410591373811181926143425236985983926946597719741512694753054805333025535132048289246629965159642865827912353142093050955084080999327028577359387958294354016391003724628121840946031124836551317867378595836324683559803925459259479836327926188978370126734008575164998029962404984726834896346155583131419642125935014138742623960513640378591658562771537867843062202038444956001126105353094281050760956377321596789580445286551913185258816450003583280081311138574452256398790911999679919432027109856751465164917786041544818552851868990026997303019313059965129348091979617901402303343936423382726329870031744383398308483591424414102105018092767606470991412333622966165969684641723236590594639103339604443216189023899810852719695236948304128136140790115866578203574606204842275913654347017178887065164006718601550613371074185092319979256725030478975285298394162664140348297097212649139568140537341433377376500723970787812496902508657215995510169079609644135379510058547230103122011079535962993193879706127049324491675349918978093700166061068545358159928174753320930207168882449755409505980094708255043294147706949222306000162087972692820529604490407036375728931911553799874710141822158971412285127464275092574858866896128848271304958071574507663863830865545716256349677739918943908512707531206856998481224853023402493089706406746714951772082177847 49713936479918788714079184356494985842595301941362777439192444313203404188738598951265103457580822925718738814176026600180615445096880298899813060275890297362163787811968815745588413829757574769848463340368046586034113795820143579686750645225354329100129822244866699331233777776298890352123231970682765106799684201458330103010959993607227383292634643602514197296703570039767839276610127177497002112953404324234867644736536699930240565703320706663360948912899512613810987559911080660477840212543333735621737194604707800702862740093096865022156455599898255051527505475658280121491015866969026353396493525017255861001385745330345204723999961160829842671411223237780657356993889851825928991811498672438847153523156367157963412873025640393932488670967564203182970732891809488497441733714463885544053834023967861652134670970933483385427944569983008262743981823162000847847679843936457779082879008781560837041560926635953567854463637259908315707410631972783217007467231236478451672783172282769129704540753564124741594247745287569607914607130649549695372271547936623174034388271320496303459154914073464514526546542372080128186865945099283393785021851663364473764895589268369707190575759063400246370179123224830141132936534779959223219516140882084892285768246566749798654630212085980270701490313924157195463619655506228036472058959419395045580880888624273948907310804557327333521584115957296189466752019120071671538878521201311572695936570246472905833041732584106970694143465657129308323160497578760158934668718924779301575971624834359298241304478501452063470176122111917518409848125857398361321129811790391381093225733127509366291658685182933673129846587543385520041704121514886425462576941884803901957375196 80438838939061904469432106415496320776988712473343010088333497555175235587515784974117047996127692499811498255722178521968940912131005124339037690191368684614073445056641046921157807540328998103215024658922714401062885105727703176978274448921956143259631645675442347923278103000118817694276692892944435985073232602380919481372577716000780819551041930554157479060114161413579021202753552414482986039900002043976380339489591505263266100835368995909990914072542378441723340702004131615561921211870362312981125152899061817093866464721218705968187580436449572918906101311982963681294941326228506189724419713995625987735394320495343234686404945887664739017566806369200299482928903990568552952325139051030505716294694235001025614911470596395058594024061845253943927110213406278077887020266377070802870284027551141733445809545385739784218856569662927694771091679913466012765465885481276331934747998808558140060873986601082915946443255161310619051347055355509546877498975619876760156374596696871234722633521170595733006581368253735577599248853886140290011374887541066390223412171131349023154391862377592650667336658238658331761472149941559307439368868842251538928902307869920320561649944155720225626904153703805426431330697444099571516613353531224460426305588000127175155354182873792767603998971140152705632699265150363415982117506649498167591960424587267142787016931606651825196934034935389889632813087665429831467053274522241779864819020001882411813136440839150264841850414879435308485248470271580688539159125961155030507883178634234008383126637472864348597640397204492377276744254705669666279201386298055244924091278843765715969398604126842185837377794400384001266557144917379515168983688599755674039553043 130152775418980693183511290771991306619584014414705787527525941868378639776254383925382151453708515425530237069898205122149556357227885423238850750467258981976237232868609862666746221370086572873063487999290760987096998901547846756665025094147310472359761467920309047254511880776417708046399924863627201091872916803839249584383537709608008202843676574156671676356817731453346860479363679591979988152853406368211247984226128205193506666538689702573351862985441891055534328261915212276039761424413696048602862347503769617796729204814315570990344036036347827970433606787641243802785957193197532543120913239012881848736780065825688439410404907048494581688978029606980956839922793842394481944136637723469352869817850602158989027784496236788991082695029409457126897843105215766575328753980840956346924118051519003385580480516319223169646801139645935957515073503075466860613145729417734111017627007590118977102434913237036483800906892421218934758757687328292763884966206856355211829157768979640364427174274734720474600829113541305185513855984535689985383646435477689564257800442451845326613546776451057165193883200610738459948338095040842701224390720505616012693797897138290027752225703219120471997083276928635567564267232224058794736129494413309352712073834566876973809984394959773038305489285064309901096318920656591452454176466068893213172841313211541091694327736163979158718518150892686079099565106785501503005931795723553352560755590248355317646178173423257235535993880536564616808408967850340847473827844885934332083854803468593306624431115974316412067816519316409895686592380563068027600331198088446626017317011971275082261057289309775858967224381943769521308261266432265940631560630484559575996928239 210591614358042597652943397187487627396572726888048797615859439423553875363770168899499199449836207925341735325620383644118497269358890547577888440658627666590310677925250909587904028910415570976278512658213475388159884007275549933643299543069266615619393113595751395177789983776536525740676617756571637076946149406220169065756115425608789022394718504710829155416931892866925881682117232006462974192753408412187628323715719710456772767374058698483342777057984269497257668963919343891601682636284058361583987500402831434890595669535534276958531616472797400889339708099624207484080898519426038732845332953008507836472174386321031674096809852936159320706544835976181256322851697832963034896461776774499858586112544837160014642695966833184049676719091254711070824953318622044653215774247218027149794402079070145119026290061704962953865657709308863652286165182988932873378611614899010442952375006398677117163308899838119399747350147582529553810104742683802310762465182476231971985532365676511599149807795905316207607410481795040763113104838421830275395021323018755954481212613583194349767938638828649815861219858849396791709810244982402008663759589347867551622700205008210348313875647374840697623987430632440993995597929668158366252742847944533813138379422567004148965338577833565805909488256204462606729018185806954868436293972718391380764801737798808234481344667770630983915452185828075968732378194450931334472985070245795132425574610250237729459314614262407500377844295415999925293657438121921536012986970847089362591737982102827315007557753447180760665456916520902272963336635268737693879532584386501870941408290815040798230455893436618044804602176344153522574818411349645455800544319084315250036481282 340744389777023290836454687959478934016156741302754585143385381291932515140024552824881350903544723350871972395518588766268053626586775970816739191125886648566547910793860772254650250280502143849342000657504236375256882908823396690308324637216577087979154581516060442432301864552954233787076542620198838168819066210059418650139653135216797225238395078867500831773749624320272742161480911598442962345606814780398876307941847915650279433912748401056694640043426160552791997225834556167641444060697754410186849847906601052687324874349849847948875652509145228859773314887265451286866855712623571275966246192021389685208954452146720113507214759984653902395522865583162213162774491675357516840598414497969211455930395439319003670480463069973040759414120664168197722796423837811228544528228058983496718520130589148504606770578024186123512458848954799609801238686064399733991757344316744553970002013988796094265743813075155883548257040003748488568862430012095074647431389332587183814690134656151963576982070640036682208239595336345948626960822957520260778667758496445518739013056035039676381485415279706981055103059460135251658148340023244709888150309853483564316498102146500376066101350593961169621070707561076561559865161892217160988872342357843165850453257133881122775322972793338844214977541268772507825337106463546320890470438787284593937643051010349326175672403934610142633970336720762047831943301236432837478916865969348484986330200498593047105492787685664735913838175952564542102066405972262383486814815733023694675592785571420621631988869421497172733273435837312168649929015831805721479863782474948496958725302786315880491513182746393903771826558287923043883079677781911396432104949568874826033409521 551336004135065888489398085146966561412729468190803382759244820715486390503794721724380550353380931276213707721138972410386550895945666518394627631784514315156858588719111681842554279190917714825620513315717711763416766916098946623951624180285843703598547695111811837610091848329490759527753160376770475245765215616279587715895768560825586247633113583578329987190681517187198623843598143604905936538360223192586504631657567626107052201286807099540037417101410430050049666189753900059243126696981812771770837348309432487577920543885384124907407268981942629749113022986889658770947754232049610008811579145029897521681128838467751787604024612920813223102067701559343469485626189508320551737060191272469070042042940276479018313176429903157090436133211918879268547749742459855881760302475277010646512922209659293623633060639729149077378116558263663262087403869053332607370368959215754996922377020387473211429052712913275283295607187586278042378967172695897385409896571808819155800222500332663562726789866545352889815650077131386711740065661379350536173689081515201473220225669618234026149424054108356796916322918309532043367958585005646718551909899201351115939198307154710724379976997968801867245058138193517555555463091560375527241615190302376978988832679700885271740661550626904650124465797473235114554355292270501189326764411505675974702444788809157560657017071705241126549422522548838016564321495687364171951901936215143617411904810748830776564807401948072236291682471368564467395723844094183919499801786580113057267330767674247936639546622868677933398730352358214441613265651100543415359396366861450367900133593601356678721969076183011948576428734632076566457898089131556852232649268653190076069890803 892080393912089179325852773106445495428886209493557967902630202007418905643819274549261901256925654627085680116657561176654604522532442489211366822910400963723406499512972454097204529471419858674962513973221948138673649824922343314259948817502420791577702276627872280042393712882444993314829702996969313414584281826339006366035421696042383472871508662445830818964431141507471366005079055203348898883967037972985380939599415541757331635199555500596732057144836590602841663415588456226884570757679567181957687196216033540265245418235233972856282921491087858608886337874155110057814609944673181284777825337051287206890083290614471901111239372905467125497590567142505682648400681183678068577658605770438281497973335715798021983656892973130131195547332583047466270546166297667110304830703335994143231442340248442128239831217753335200890575407218462871888642555117732341362126303532499550892379034376269305694796525988431166843864227590026530947829602707992460057327961141406339614912634988815526303771937185389572023889672467732660367026484336870796952356840011646991959238725653273702530909469388063777971425977769667295026106925028891428440060209054834680255696409301211100446078348562763036866128845754594117115328253452592688230487532660220144839285936834766394515984523420243494339443338742007622379692398734047510217234850292960568640087839819506886832689475639851269183392859269600064396264796923797009430818802184492102398235011247423823670300189633736972205520647321129009497790250066446302986616602313136751942923553245668558271535492290175106132003788195526610263194666932349136839260149336398864858858896387672559213482258929405852348255292919999610340977766913468248664754218222064902103300324 1443416398047155067815250858253412056841615677684361350661875022722905296147613996273642451610306585903299387837796533587041155418478109007605994454694915278880265088232084135939758808662337573500583027288939659902090416741021289938211572997788264495176249971739684117652485561211935752842582863373739788660349497442618594081931190256867969720504622246024160806155112658694669989848677198808254835422327261165571885571256983167864383836486362600136769474246247020652891329605342356286127697454661379953728524544525466027843165962120618097763690190473030488357999360861044768828762364176722791293589404482081184728571212129082223688715263985826280348599658268701849152134026870691998620314718797042907351540016275992277040296833322876287221631680544501926734818295908757522992065133178613004789744364549907735751872891857482484278268691965482126133976046424171064948732495262748254547814756054763742517123849238901706450139471415176304573326796775403889845467224532950225495415135135321479089030561803730742461839539749599119372107092145716221333126045921526848465179464395271507728680333523496420574887748896079199338394065510034538146991970108256185796194894716455921824826055346531564904111186983948111672670791345012968215472102722962597123828118616535651666256646074047148144463909136215242736934047691004548699543999261798636543342532628628664447489706547345092395732815381818438080960586292611161181382720738399635719810139821996254600235107591581809208497203118689693476893514094160630222486418388893249809210254320919916494911082115158853039530734140553741051876460318032892552198656516197849232758992489989029237935451335112417800924684027552076176798875856045025100897403486875254978173191127 2335496791959244247141103631359857552270501887177919318564505224730324201791433270822904352867232240530385067954454094763695759941010551496817361277605316242603671587745056590036963338133757432175545541262161608040764066565943633252471521815290685286753952248367556397694879274094380746157412566370709102074933779268957600447966611952910353193376130908469991625119543800202141355853756254011603734306294299138557266510856398709621715471685918100733501531391083611255732993020930812513012268212340947135686211740741499568108411380355852070619973111964118346966885698735199878886576974121395972578367229819132471935461295419696695589826503358731747474097248835844354834782427551875676688892377402813345633037989611708075062280490215849417352827227877084974201088842075055190102369963881948998932975806890156177880112723075235819479159267372700589005864688979288797290094621566280754098707135089140011822818645764890137616983335642766331104274626378111882305524552494091631835030047770310294615334333740916132033863429422066852032474118630053092130078402761538495457138703120924781431211242992884484352859174873848866633420172435063429575432030317311020476450591125757132925272133695094327940977315829702705789786119598465560903702590255622817268667404553370418060772630597467391638803352474957250359313740089738596209761234112091597111982620468448171334322396022984943664916208241088038145356851089534958190813539540584127822208374833243678423905407781215546180702723766010822486391304344227076525473034991206386561153177874165585053182617607449028145662737928749267662139654984965241689037916665534248097617851386376701797148933594041823653272939320472075787139853622958493349562157705097319880276491451 3778913190006399314956354489613269609112117564862280669226380247453229497939047267096546804477538826433684455792250628350736915359488660504423355732300231521483936675977140725976722146796095005676128568551101267942854483306964923190683094813078949781930202220107240515347364835306316498999995429744448890735283276711576194529897802209778322913880753154494152431274656458896811345702433452819858569728621560304129152082113381877486099308172280700870271005637330631908624322626273168799139965667002327089414736285266965595951577342476470168383663302437148835324885059596244647715339338298118763871956634301213656664032507548778919278541767344558027822696907104546203986916454422567675309207096199856252984578005887700352102577323538725704574458908421586900935907137983812713094435097060562003722720171440063913631985614932718303757427959338182715139840735403459862238827116829029008646521891143903754339942495003791844067122807057942635677601423153515772150991777027041857330445182905631773704364895544646874495702969171665971404581210775769313463204448683065343922318167516196289159891576516380904927746923769928065971814237945097967722424000425567206272645485842213054750098189041625892845088502813650817462456910943478529119174692978585414392495523169906069727029276671514539783267261611172493096247787780743144909305233373890233655325153097076835781812102570330036060649023622906476226317437382146119372196260278983763542018514655239933024140515372797355389199926884700515963284818438387706747959453380099636370363432195085501548093699722607881185193472069303008714016115302998134241236573181732097330376843876365731035084384929154241454197623348024151963938729479003518450459561191972574858449682578 6114409981965643562097458120973127161382619452040199987790885472183553699730480537919451157344771066964069523746704723114432675300499212001240717009905547764087608263722197316013685484929852437851674109813262875983618549872908556443154616628369635068684154468474796913042244109400697245157407996115157992810217055980533794977864414162688676107256884062964144056394200259098952701556189706831462304034915859442686418592969780587107814779858198801603772537028414243164357315647203981312152233879343274225100948026008465164059988722832322239003636414401267182291770758331444526601916312419514736450323864120346128599493802968475614868368270703289775296794155940390558821698881974443351998099473602669598617615995499408427164857813754575121927286136298671875136995980058867903196805060942511002655695978330220091512098338007954123236587226710883304145705424382748659528921738395309762745229026233043766162761140768681981684106142700708966781876049531627654456516329521133489165475230675942068319699229285563006529566398593732823437055329405822405593282851444603839379456870637121070591102819509265389280606098643776932605234410380161397297856030742878226749096076967970187675370322736720220786065818643353523252243030541944090022877283234208231661162927723276487787801907268981931422070614086129743455561527870481741119066467485981830767307773565525007116134498593314979725565231863994514371674288471681077563009799819567891364226889488483611448045923154012901569902650650711338449676122782614783273432488371306022931516610069251086601276317330056909330856209998052276376155770287963375930274489847266345427994695262742432832233318523196065107470562668496227751078583101962011800021718897069894738726174029 9893323171972042877053812610586396770494737016902480657017265719636783197669527805015997961822309893397753979538955351465169590659987872505664072742205779285571544939699338041990407631725947443527802678364364143926473033179873479633837711441448584850614356688582037428389608944707013744157403425859606883545500332692109989507762216372466999021137637217458296487668856717995764047258623159651320873763537419746815570675083162464593914088030479502474043542665744875072981638273477150111292199546345601314515684311275430760011566065308792407387299716838416017616655817927689174317255650717633500322280498421559785263526310517254534146910038047847803119491063044936762808615336397011027307306569802525851602194001387108779267435137293300826501745044720258776072903118042680616291240158003073006378416149770284005144083952940672426994015186049066019285546159786208521767748855224338771391750917376947520502703635772473825751228949758651602459477472685143426607508106548175346495920413581573842024064124830209881025269367765398794841636540181591719056487300127669183301775038153317359750994396025646294208353022413704998577048648325259365020280031168445433021741562810183242425468511778346113631154321457004340714699941485422619142051976212793646053658450893182557514831183940496471205337875697302236551809315651224886028371700859872064422632926662601842897946601163645015786214255486900990597991725853827196935206060098551654906245404143723544472186438526810256959102577535411854412960941221002490021391941751405659301880042264336588149370017052664790516049682067355285090171885590961510171511063028998442758371539139108163867317703452350306561668186016520379715017312580965530250481280089042469597175856607 16007733153937686439151270731559523931877356468942680644808151191820336897400008342935449119167080960361823503285660074579602265960487084506904789752111327049659153203421535358004093116655799881379476788177627019910091583052782036076992328069818219919298511157056834341431853054107710989314811421974764876355717388672643784485626630535155675128394521280422440544063056977094716748814812866482783177798453279189501989268052943051701728867888678304077816079694159118237338953920681131423444433425688875539616632337283895924071554788141114646390936131239683199908426576259133700919171963137148236772604362541905913863020113485730149015278308751137578416285218985327321630314218371454379305406043405195450219809996886517206432292951047875948429031181018930651209899098101548519488045218945584009034112128100504096656182290948626550230602412759949323431251584168957181296670593619648534136979943609991286665464776541155807435335092459360569241353522216771081064024436069308835661395644257515910343763354115772887554835766359131618278691869587414124649770151572273022681231908790438430342097215534911683488959121057481931182283058705420762318136061911323659770837639778153430100838834515066334417220140100357863966942972027366709164929259447001877714821378616459045302633091209478402627408489783431980007370843521706627147438168345853895189940700228126850014081099756959995511779487350895504969666014325508274498215859918119546270472293632207155920232361680823158529005228186123192862637064003617273294824430122711682233396652333587674750646334382721699846905892065407561466327655878924886101785552876264788186366234401850596699551021975546371669138748685016607466095895682927542050502998986112364335902030636 25901056325909729316205083342145920702372093485845161301825416911457120095069536147951447080989390853759577482824615426044771856620474957012568862494317106335230698143120873399994500748381747324907279466541991163836564616232655515710830039511266804769912867845638871769821461998814724733472214847834371759901217721364753773993388846907622674149532158497880737031731913695090480796073436026134104051561990698936317559943136105516295642955919157806551859622359903993310320592194158281534736632972034476854132316648559326684083120853449907053778235848078099217525082394186822875236427613854781737094884860963465699126546424002984683162188346798985381535776282030264084438929554768465406612712613207721301822003998273625985699728088341176774930776225739189427282802216144229135779285376948657015412528277870788101800266243889298977224617598809015342716797743955165703064419448843987305528730860986938807168168412313629633186564042218012171700830994901914507671532542617484182157316057839089752367827478945982768580105134124530413120328409769005843706257451699942205983006946943755790093091611560557977697312143471186929759331707030680127338416093079769092792579202588336672526307346293412448048374461557362204681642913512789328306981235659795523768479829509641602817464275149974873832746365480734216559180159172931513175809869205725959612573626890728692912027700920605011297993742837796495567657740179335471433421920016671201176717697775930700392418800207633415488107805721535047275598005224619763316216371874117341535276694597924262900016351435386490362955574132762846556499541469886396273296615905263230944737773540958760566868725427896678230806934701536987181113208263893072300984279075154833933077887243 41908789479847415755356354073705444634249449954787841946633568103277456992469544490886896200156471814121400986110275500624374122580962041519473652246428433384889851346542408757998593865037547206286756254719618183746656199285437551787822367581085024689211379002695706111253315052922435722787026269809136636256935110037397558479015477442778349277926679778303177575794970672185197544888248892616887229360443978125819549211189048567997371823807836110629675702054063111547659546114839412958181066397723352393748948985843222608154675641591021700169171979317782417433508970445956576155599576991929973867489223505371612989566537488714832177466655550122959952061501015591406069243773139919785918118656612916752041813995160143192132021039389052723359807406758120078492701314245777655267330595894241024446640405971292198456448534837925527455220011568964666148049328124122884361090042463635839665710804596930093833633188854785440621899134677372740942184517118685588735556978686793017818711702096605662711590833061755656134940900483662031399020279356419968356027603272215228664238855734194220435188827095469661186271264528668860941614765736100889656552154991092752563416842366490102627146180808478782465594601657720068648585885540156037471910495106797401483301208126100648120097366359453276460154855264166196566551002694638140323248037551579854802514327118855542926108800677565006809773230188692000537323754504843745931637779934790747447189991408137856312651161888456574017113033907658240138235069228237036611040801996829023768673346931511937650662685818108190209861466198170408022827197348811282375082168781528019131104007942809357266419747403443049899945683386553594647209103946820614351487278061267198268979917879 67809845805757145071561437415851365336621543440633003248458985014734577087539080638838343281145862667880978468934890926669145979201436998532042514740745539720120549489663282157993094613419294531194035721261609347583220815518093067498652407092351829459124246848334577881074777051737160456259241117643508396158152831402151332472404324350401023427458838276183914607526884367275678340961684918750991280922434677062137109154325154084293014779726993917181535324413967104857980138308997694492917699369757829247881265634402549292237796495040928753947407827395881634958591364632779451392027190846711710962374084468837312116112961491699515339655002349108341487837783045855490508173327908385192530831269820638053863817993433769177831749127730229498290583632497309505775503530390006791046615972842898039859168683842080300256714778727224504679837610377980008864847072079288587425509491307623145194441665583868901001801601168415073808463176895384912643015512020600096407089521304277199976027759935695415079418312007738424715046034608192444519348689125425812062285054972157434647245802677950010528280438656027638883583407999855790700946472766781016994968248070861845355996044954826775153453527101891230513969063215082273330228799052945365778891730766592925251781037635742250937561641509428150292901220744900413125731161867569653499057906757305814415087954009584235838136501598170018107766973026488496104981494684179217365059699951461948623907689184068556705069962096089989505220839629193287413833074452856799927257173870946365303950041529436200550679037253494680572817040330933254579326738818697678648378784686791250075841781483768117833288472831339728130752618088090581828322312210713686652471557136422032202057805122 109718635285604560826917791489556809970870993395420845195092553118012034080008625129725239481302334482002379455045166427293520101782399040051516166987173973105010400836205690915991688478456841737480791975981227531329877014803530619286474774673436854148335625851030283992328092104659596179046267387452645032415087941439548890951419801793179372705385518054487092183321855039460875885849933811367878510282878655187956658365514202652290386603534830027811211026468030216405639684423837107451098765767481181641630214620245771900392472136631950454116579806713664052392100335078736027547626767838641684829863307974208925105679498980414347517121657899231301439899284061446896577417101048304978448949926433554805905631988593912369963770167119282221650391039255429584268204844635784446313946568737139064305809089813372498713163313565150032135057621946944675012896400203411471786599533771258984860152470180798994835434790023200514430362311572757653585200029139285685142646499991070217794739462032301077791009145069494080849986935091854475918368968481845780418312658244372663311484658412144230963469265751497300069854672528524651642561238502881906651520403061954597919412887321316877780599707910370012979563664872802341978814684593101403250802225873390326735082245761842899057659007868881426753056076009066609692282164562207793822305944308885669217602281128439778764245302275735024917540203215180496642305249189022963296697479886252696071097680592206413017721123984546563522333873536851527552068143681093836538297975867775389072623388460948138201341723071602870782678506529103662602153936167508961023460953468319269206945789426577475099708220234782778030698301474644176475531416157534301003958835197689230471037723001 177528481091361705898479228905408175307492536836053848443551538132746611167547705768563582762448197149883357923980057353962666080983836038583558681727919512825130950325868973073984783091876136268674827697242836878913097830321623686785127181765788683607459872699364861873402869156396756635305508505096153428573240772841700223423824126143580396132844356330671006790848739406736554226811618730118869791205313332250093767519839356736583401383261823944992746350881997321263619822732834801944016465137239010889511480254648321192630268631672879208063987634109545687350691699711515478939653958685353395792237392443046237221792460472113862856776660248339642927737067107302387085590428956690170979781196254192859769449982027681547795519294849511719940974671752739090043708375025791237360562541580037104164977773655452798969878092292374536814895232324924683877743472282700059212109025078882130054594135764667895837236391191615588238825488468142566228215541159885781549736021295347417770767221967996492870427457077232505565032969700046920437717657607271592480597713216530097958730461090094241491749704407524938953438080528380442343507711269662923646488651132816443275408932276143652934053235012261243493532728087884615309043483646046769029693956639983251986863283397585149995220649378309577045957296753967022818013326429777447321363851066191483632690235138024014602381803873905043025307176241668992747286743873202180661757179837714644695005369776274969722791086080636553027554713166044814965901218133950636465555149738721754376573429990384338752020760325097551355495546860036917181480674986206639671839738155110519282787570910345592932996693066122506161450919562734758303853728368247987656430392334111262673095528123 287247116376966266725397020394964985278363530231474693638644091250758645247556330898288822243750531631885737379025223781256186182766235078635074848715093485930141351162074663989976471570332978006155619673224064410242974845125154306071601956439225537755795498550395145865730961261056352814351775892548798460988328714281249114375243927936759768838229874385158098974170594446197430112661552541486748301488191987438050425885353559388873787986796653972803957377350027537669259507156671909395115230904720192531141694874894093093022740768304829662180567440823209739742792034790251506487280726523995080622100700417255162327471959452528210373898318147570944367636351168749283663007530004995149428731122687747665675081970621593917759289461968793941591365711008168674311913219661575683674509110317176168470786863468825297683041405857524568949952854271869358890639872486111530998708558850141114914746605945466890672671181214816102669187800040900219813415570299171466692382521286417635565506684000297570661436602146726586415019904791901396356086626089117372898910371460902761270215119502238472455218970159022239023292753056905093986068949772544830298009054194771041194821819597460530714652942922631256473096392960686957287858168239148172280496182513373578721945529159428049052879657247191003799013372763033632510295490991985241143669795375077152850292516266463793366627106149640067942847379456849489389591993062225143958454659723967340766103050368481382740512210065183116549888586702896342517969361815044473003853125606497143449196818451332476953362483396700422138174053389140579783634611153715600695300691623429788489733360336923068032704913300905284192149221037378934779385144525782288660389227531800493144133251124 464775597468327972623876249300373160585856067067528542082195629383505256415104036666852405006198728781769095303005281135218852263750071117218633530443012998755272301487943637063961254662209114274830447370466901289156072675446777992856729138205014221363255371249760007739133830417453109449657284397644951889561569487122949337799068054080340164971074230715829105765019333852933984339473171271605618092693505319688144193405192916125457189370058477917796703728232024858932879329889506711339131696041959203420653175129542414285653009399977708870244555074932755427093483734501766985426934685209348476414338092860301399549264419924642073230674978395910587295373418276051670748597958961685320408512318941940525444531952649275465554808756818305661532340382760907764355621594687366921035071651897213272635764637124278096652919498149899105764848086596794042768383344768811590210817583929023244969340741710134786509907572406431690908013288509042786041631111459057248242118542581765053336273905968294063531864059223959091980052874491948316793804283696388965379508084677432859228945580592332713946968674566547177976730833585285536329576661042207753944497705327587484470230751873604183648706177934892499966629121048571572596901651885194941310190139153356830708808812557013199048100306625500580844970669517000655328308817421762688465033646441268636482982751404487807969008910023545110968154555698518482136878736935427324620211839561681985461108420144756352463303296145819669577443299868941157483870579948995109469408275345218897825770248441716815705383243721797973493669600249177496965115286139922240367140429778540307772520931247268660965701606367027790353600140600113693083238872894030276316819619865911755817228779247 752022713845294239349273269695338145864219597299003235720839720634263901662660367565141227249949260413654832682030504916475038446516306195853708379158106484685413652650018301053937726232542092280986067043690965699399047520571932298928331094644239759119050869800155153604864791678509462264009060290193750350549898201404198452174311982017099933809304105100987204739189928299131414452134723813092366394181697307126194619290546475514330977356855131890600661105582052396602138837046178620734246926946679395951794870004436507378675750168282538532425122515755965166836275769292018491914215411733343557036438793277556561876736379377170283604573296543481531663009769444800954411605488966680469837243441629688191119613923270869383314098218787099603123706093769076438667534814348942604709580762214389441106551500593103394335960904007423674714800940868663401659023217254923121209526142779164359884087347655601677182578753621247793577201088549943005855046681758228714934501063868182688901780589968591634193300661370685678395072779283849713149890909785506338278418456138335620499160700094571186402187644725569417000023586642190630315645610814752584242506759522358525665052571471064714363359120857523756439725514009258529884759820124343113590686321666730409430754341716441248100979963872691584643984042280034287838604308413747929608703441816345789333275267670951601335636016173185178911001935155367971526470729997652468578666499285649326227211470513237735203815506211002786127331886571837500001839941764039582473261400951716041274967066893049292658745727118498395631843653638318076748749897293637841062441121401970096262254291584191728998406519667933074545749361637492627862624017419812564977208847397712248961362030371 1216798311313622211973149518995711306450075664366531777803035350017769158077764404231993632256147989195423927985035786051693890710266377313072341909601119483440685954137961938117898980894751206555816514414157866988555120196018710291785060232849253980482306241049915161343998622095962571713666344687838702240111467688527147789973380036097440098780378335816816310504209262152065398791607895084697984486875202626814338812695739391639788166726913609808397364833814077255535018166935685332073378622988638599372448045133978921664328759568260247402669677590688720593929759503793785477341150096942692033450776886137857961426000799301812356835248274939392118958383187720852625160203447928365790245755760571628716564145875920144848868906975605405264656046476529984203023156409036309525744652414111602713742316137717381490988880402157322780479649027465457444427406562023734711420343726708187604853428089365736463692486326027679484485214377058985791896677793217285963176619606449947742238054495936885697725164720594644770375125653775798029943695193481895303657926540815768479728106280686903900349156319292116594976754420227476166645222271856960338187004464849946010135283323344668898012065298792416256406354635057830102481661472009538054900876460820087240139563154273454447149080270498192165488954711797034943166913125835510618073737088257614425816258019075439409304644926196730289879156490853886453663349466933079793198878338847331311688319890657994087667118802356822455704775186440778657485710521713034691942669676296934939100737315334766108364128970840296369125513253887495573713865183433560081429581551180510404034775222831460389964108126034960864899349502237606320945862890313842841294028467263624004778590809618 1968821025158916451322422788691049452314295261665535013523875070652033059740424771797134859506097249609078760667066290968168929156782683508926050288759225968126099606787980239171836707127293298836802581457848832687954167716590642590713391327493493739601357110850070314948863413774472033977675404978032452590661365889931346242147692018114540032589682440917803515243399190451196813243742618897790350881056899933940533431986285867154119144083768741698998025939396129652137157003981863952807625549935317995324242915138415429043004509736542785935094800106444685760766035273085803969255365508676035590487215679415414523302737178678982640439821571482873650621392957165653579571808936895046260082999202201316907683759799191014232183005194392504867779752570299060641690691223385252130454233176325992154848867638310484885324841306164746455194449968334120846086429779278657832629869869487351964737515437021338140875065079648927278062415465608928797751724474975514678111120670318130431139835085905477331918465381965330448770198433059647743093586103267401641936344996954104100227266980781475086751343964017686011976778006869666796960867882671712922429511224372304535800335894815733612375424419649940012846080149067088632366421292133881168491562782486817649570317495989895695250060234370883750132938754077069231005517434249258547682440530073960215149533286746391010640280942369915468790158426009254425189820196930732261777544838132980637915531361171231822870934308567825241832107073012616157487550463477074274415931077248650980375704382227815401022874697958794764757356907525813650462615080727197922492022672582480500297029514415652118962514645702893939445098863875098948808486907733655406271237314661336253739952839989 3185619336472538663295572307686760758764370926032066791326910420669802217818189176029128491762245238804502688652102077019862819867049060821998392198360345451566785560925942177289735688022044505392619095872006699676509287912609352882498451560342747720083663351899985476292862035870434605691341749665871154830772833578458494032121072054211980131370060776734619825747608452603262212035350513982488335367932102560754872244682025258793907310810682351507395390773210206907672175170917549284881004172923956594696690960272394350707333269304803033337764477697133406354695794776879589446596515605618727623937992565553272484728737977980794997275069846422265769579776144886506204732012384823412050328754962772945624247905675111159081051912169997910132435799046829044844713847632421561656198885590437594868591183776027866376313721708322069235674098995799578290513836341302392544050213596195539569590943526387074604567551405676606762547629842667914589648402268192800641287740276768078173377889581842363029643630102559975219145324086835445773037281296749296945594271537769872579955373261468378987100500283309802606953532427097142963606090154528673260616515689222250545935619218160402510387489718442356269252434784124918734848082764143419223392439243306904889709880650263350142399140504869075915621893465874104174172430560084769165756177618331574640965791305821830419944925868566645758669314916863140878853169663863812054976423176980311949603851251829225910538053110924647697536882259453394814973260985190108966358600753545585919476441697562581509387003668799091133882870161413309224176480264160758003921604223762990904331804737247112508926622771737854804344448366112705269754349798047498247565265781924960258518543649607 5154440361631455114617995096377810211078666187697601804850785491321835277558613947826263351268342488413581449319168367988031749023831744330924442487119571419692885167713922416461572395149337804229421677329855532364463455629199995473211842887836241459685020462750055791241725449644906639669017154643903607421434199468389840274268764072326520163959743217652423340991007643054459025279093132880278686248989002494695405676668311125948026454894451093206393416712606336559809332174899413237688629722859274590020933875410809779750337779041345819272859277803578092115461830049965393415851881114294763214425208244968687008031475156659777637714891417905139420201169102052159784303821321718458310411754164974262531931665474302173313234917364390415000215551617128105486404538855806813786653118766763587023440051414338351261638563014486815690868548964133699136600266120581050376680083465682891534328458963408412745442616485325534040610045308276843387400126743168315319398860947086208604517724667747840361562095484525305667915522519895093516130867400016698587530616534723976680182640242249854073851844247327488618930310433966809760566958037200386183046026913594555081735955112976136122762914138092296282098514933192007367214504056277300391884002025793722539280198146253245837649200739239959665754832219951173405177947994334027713438618148405534856115324592568221430585206810936561227459473342872395304042989860794544316753968015113292587519382613000457733408987419492472939368989332466010972460811448667183240774531830794236899852146079790396910409878366757885898640227068939122874639095344887955926413626896345471404628834251662764627889137417440748743789547229987804218562836705781153653836503096586296512258496489596 8340059698103993777913567404064570969843037113729668596177695911991637495376803123855391843030587727218084137971270445007894568890880805152922834685479916871259670728639864593751308083171382309622040773201862232040972743541809348355710294448178989179768683814650041267534587485515341245360358904309774762252207033046848334306389836126538500295329803994387043166738616095657721237314443646862767021616921105055450277921350336384741933765705133444713788807485816543467481507345816962522569633895783231184717624835683204130457671048346148852610623755500711498470157624826844982862448396719913490838363200810521959492760213134640572634989961264327405189780945246938665989035833706541870360740509127747208156179571149413332394286829534388325132651350663957150331118386488228375442852004357201181892031235190366217637952284722808884926542647959933277427114102461883442920730297061878431103919402489795487350010167891002140803157675150944757977048529011361115960686601223854286777895614249590203391205725587085280887060846606730539289168148696765995533124888072493849260138013503718233060952344530637291225883842861063952724173048191729059443662542602816805627671574331136538633150403856534652551350949717316926102062586820420719615276441269100627428990078796516595980048341244109035581376725685825277579350378554418796879194795766737109497081115898390051850530132679503206986128788259735536182896159524658356371730391192093604537123233864829683643947040530417120636905871591919405787434072433857292207133132584339822819328587777352978419796882035556977032523097230352432098815575609048713930335231120108462308960638988909877136815760189178603548133995596100509488317186503828651901401768878511256770777040139203 13494500059735448892531562500442381180921703301427270401028481403313472772935417071681655194298930215631665587290438812995926317914712549483847277172599488290952555896353787010212880478320720113851462450531717764405436199171009343828922137336015230639453704277400097058776312935160247885029376058953678369673641232515238174580658600198865020459289547212039466507729623738712180262593536779743045707865910107550145683598018647510689960220599584537920182224198422880027290839520716375760258263618642505774738558711094013910208008827387494671883483033304289590585619454876810376278300277834208254052788409055490646500791688291300350272704852682232544609982114348990825773339655028260328671152263292721470688111236623715505707521746898778740132866902281085255817522925344035189229505123123964768915471286604704568899590847737295700617411196924066976563714368582464493297410380527561322638247861453203900095452784376327674843767720459221601364448655754529431280085462170940495382413338917338043752767821071610586554976369126625632805299016096782694120655504607217825940320653745968087134804188777964779844814153295030762484740006228929445626708569516411360709407529444112674755913317994626948833449464650508933469277090876698020007160443294894349968270276942769841817697541983348995247131557905776450984528326548752824592633413915142644353196440490958273281115339490439768213588261602607931486939149385452900688484359207206897124642616477830141377356027949909593576274860924385416759894883882524475447907664415134059719180733857143375330206760402314862931163324299291554973454670953936669856748858016453933713589473240572641764704897606619352291923542826088313706880023209609805555238271975097553283035536628799 21834559757839442670445129904506952150764740415156938997206177315305110268312220195537047037329517942849749725261709258003820886805593354636770111858079405162212226624993651603964188561492102423473503223733579996446408942712818692184632431784194219819222388092050138326310900420675589130389734963263453131925848265562086508887048436325403520754619351206426509674468239834369901499907980426605812729482831212605595961519368983895431893986304717982633971031684239423494772346866533338282827897514425736959456183546777218040665679875733643524494106788805001089055777079703655359140748674554121744891151609866012605993551901425940922907694813946559949799763059595929491762375488734802199031892772420468678844290807773128838101808576433167065265518252945042406148641311832263564672357127481165950807502521795070786537543132460104585543953844884000253990828471044347936218140677589439753742167263942999387445462952267329815646925395610166359341497184765890547240772063394794782160308953166928247143973546658695867442037215733356172094467164793548689653780392679711675200458667249686320195756533308602071070697996156094715208913054420658505070371112119228166337079103775249213389063721851161601384800414367825859571339677697118739622436884563994977397260355739286437797745883227458030828508283591601728563878705103171621471828209681879753850277556389348325131645472169942975199717049862343467669835308910111257060214750399300501661765850342659825021303068480326714213180732516304822547328956316381767655040796999473882538509321634496353750003642437871839963686421529643987072270246562985383787084089136562396022550112229482518901520657795797955840057538422188823195197209713438457456640040853608810053812576768002 35329059817574891562976692404949333331686443716584209398234658718618583041247637267218702231628448158481415312552148070999747204720305904120617389030678893453164782521347438614177069039812822537324965674265297760851845141883828036013554569120209450458676092369450235385087213355835837015419111022217131501599489498077324683467707036524268541213908898418465976182197863573082081762501517206348858437348741320155741645117387631406121854206904302520554153255882662303522063186387249714043086161133068242734194742257871231950873688703121138196377589822109290679641396534580465735419048952388329998943940018921503252494343589717241273180399666628792494409745173944920317535715143763062527703045035713190149532402044396844343809330323331945805398385155226127661966164237176298753901862250605130719722973808399775355437133980197400286161365041808067230554542839626812429515551058117001076380415125396203287540915736643657490490693116069387960705945840520419978520857525565735277542722292084266290896741367730306453997013584859981804899766180890331383774435897286929501140779320995654407330560722086566850915512149451125477693653060649587950697079681635639527046486633219361888144977039845788550218249879018334793040616768573816759629597327858889327365530632682056279615443425210807026075639841497378179548407031651924446064461623597022398203473996880306598412760811660382743413305311464951399156774458295564157748699109606507398786408466820489966398659096430236307789455593440690239307223840198906243102948461414607942257690055491639729080210402840186702894849745828935542045724917516922053643832947153016329736139585470055160666225555402417308131981081248277136902077232923048263011878312828706363336848113396801 57163619575414334233421822309456285482451184131741148395440836033923693309559857462755749268957966101331165037813857329003568091525899258757387500888758298615377009146341090218141257601304924960798468897998877757298254084596646728198187000904403670277898480461500373711398113776511426145808845985480584633525337763639411192354755472849672061968528249624892485856666103407451983262409497632954671166831572532761337606636756615301553748193209020503188124287566901727016835533253783052325914058647493979693650925804648449991539368578854781720871696610914291768697173614284121094559797626942451743835091628787515858487895491143182196088094480575352444209508233540849809298090632497864726734937808133658828376692852169973181911138899765112870663903408171170068114805549008562318574219378086296670530476330194846141974677112657504871705318886692067484545371310671160365733691735706440830122582389339202674986378688910987306137618511679554320047443025286310525761629588960530059703031245251194538040714914389002321439050800593337976994233345683880073428216289966641176341237988245340727526317255395168921986210145607220192902566115070246455767450793754867693383565736994611101534040761696950151603050293386160652611956446270935499252034212422884304762790988421342717413189308438265056904148125088979908112285736755096067536289833278902152053751553269654923544406283830325718613022361327294866826609767205675414808913860005807900448174317163149791419962164910563022002636325956995061854552796515288010757989258414081824796199377126136082830214045278058542858536167358579529117995164079907437430917036289578725758689697699537679567746213198215263972038619670465960097274442636486720468518353682315173390660690164803 92492679392989225796398514714405618814137627848325357793675494752542276350807494729974451500586414259812580350366005400003315296246205162878004889919437192068541791667688528832318326641117747498123434572264175518150099226480474764211741570024613120736574572830950609096485327132347263161227957007697716135124827261716735875822462509373940603182437148043358462038863966980534065024911014839303529604180313852917079251754144246707675602400113323023742277543449564030538898719641032766369000219780562222427845668062519681942413057281975919917249286433023582448338570148864586829978846579330781742779031647709019110982239080860423469268494147204144938619253407485770126833805776260927254437982843846848977909094896566817525720469223097058676062288563397297730080969786184861072476081628691427390253450138594621497411811092854905157866683928500134715099914150297972795249242793823441906502997514735405962527294425554644796628311627748942280753388865806730504282487114526265337245753537335460828937456282119308775436064385453319781893999526574211457202652187253570677482017309240995134856877977481735772901722295058345670596219175719834406464530475390507220430052370213972989679017801542738701821300172404495445652573214844752258881631540281773632128321621103398997028632733649072082979787966586358087660692768407020513600751456875924550257225550149961521957167095490708462026327672792246265983384225501239572557612969612315299234582783983639757818621261340799329792091919397685301161776636714194253860937719828689767053889432617775811910424448118245245753385913187515071163720081596829491074749983442595055494829283169592840233971768600632572104019700918743096999351675559534983480396666511021536727508803561604 149656298968403560029820337023861904296588811980066506189116330786465969660367352192730200769544380361143745388179862729006883387772104421635392390808195490683918800814029619050459584242422672458921903470263053275448353311077121492409928570929016791014473053292450982807883440908858689307036802993178300768650165025356147068177217982223612665150965397668250947895530070387986048287320512472258200771011886385678416858390900862009229350593322343526930401831016465757555734252894815818694914278428056202121496593867168131933952425860830701638120983043937874217035743763148707924538644206273233486614123276496534969470134572003605665356588627779497382828761641026619936131896408758791981172920651980507806285787748736790707631608122862171546726191971568467798195775335193423391050301006777724060783926468789467639386488205512410029572002815192202199645285460969133160982934529529882736625579904074608637513673114465632102765930139428496600800831891093041030044116703486795396948784782586655366978171196508311096875115186046657758888232872258091530630868477220211853823255297486335862383195232876904694887932440665565863498785290790080862231981269145374913813618107208584091213058563239688853424350465790656098264529661115687758133665752704657936891112609524741714441822042087337139883936091675337995772978505162116581137041290154826702310977103419616445501573379321034180639350034119541132809993992706914987366526829618123199682757101146789549238583426251362351794728245354680363016329433229482264618926978242771591850088809743911894740638493396303788611922080546094600281715245676736928505667019732173781253518980869130519801717981798847836076058320589209057096626118196021703948915020193336710118169493726407 242148978361392785826218851738267523110726439828391863982791825539008246011174846922704652270130794620956325738545868129010198684018309584513397280727632682752460592481718147882777910883540419957045338042527228793598452537557596256621670140953629911751047626123401591904368768041205952468264760000876016903774992287072882943999680491597553268333402545711609409934394037368520113312231527311561730375192200238595496110145045108716904952993435666550672679374466029788094632972535848585063914498208618424549342261929687813876365483142806621555370269476961456665374313912013294754517490785604015229393154924205554080452373652864029134625082774983642321448015048512390062965702185019719235610903495827356784194882645303608233352077345959230222788480534965765528276745121378284463526382635469151451037376607384089136798299298367315187438686743692336914745199611267105956232177323353324643128577418810014600040967540020276899394241767177438881554220756899771534326603818013060734194538319922116195915627478627619872311179571499977540782232398832302987833520664473782531305272606727330997240073210358640467789654735723911534095004466509915268696511744535882134243670477422557080892076364782427555245650638195151543917102875960440017015297292986431569019434230628140711470454775736409222863724058261696083433671273569137094737792747030751252568202653569577967458740474811742642665677706911787398793378218208154559924139799230438498917339885130429307057204687592161681586820164752365664178106069943676518479864698071461358903978242361687706651062941514549034365307993733609671445435327273566419580417003174768836748348264038723360035689750399480408180078021507952154095977793755556687429311686704358246845678297288011 391805277329796345856039188762129427407315251808458370171908156325474215671542199115434853039675174982100071126725730858017082071790414006148789671535828173436379393295747766933237495125963092415967241512790282069046805848634717749031598711882646702765520679415852574712252208950064641775301562994054317672425157312429030012176898473821165933484367943379860357829924107756506161599552039783819931146204086624273912968535945970726134303586758010077603081205482495545650367225430664403758828776636674626670838855796855945810317909003637323193491252520899330882410057675162002679056134991877248716007278200702089049922508224867634799981671402763139704276776689539009999097598593778511216783824147807864590480670394040398940983685468821401769514672506534233326472520456571707854576683642246875511821303076173556776184787503879725217010689558884539114390485072236239117215111852883207379754157322884623237554640654485909002160171906605935482355052647992812564370720521499856131143323102508771562893798675135930969186294757546635299670465271090394518464389141693994385128527904213666859623268443235545162677587176389477397593789757299996130928493013681257048057288584631141172105134928022116408670001103985807642181632537076127775148963045691089505910546840152882425912276817823746362747660149937034079206649778731253675874834037185577954879179756989194412960313854132776823305027741031328531603372210915069547290666628848561698600096986277218856295788113843524033381548410107046027194435503173158783098791676314232950754067052105599601391701434910852822977230074279704271727150572950303348086084022906942618001867244907853879837407732198328244256136342097161211192603911951578391378226706897694956963847791014418 633954255691189131682258040500396950518041691636850234154699981864482461682717046038139505309805969603056396865271598987027280755808723590662186952263460856188839985777465914816015406009503512373012579555317510862645258386192314005653268852836276614516568305539254166616620976991270594243566322994930334576200149599501912956176578965418719201817770489091469767764318145125026274911783567095381661521396286862869409078680991079443039256580193676628275760579948525333745000197966512988822743274845293051220181117726543759686683392146443944748861521997860787547784371587175297433573625777481263945400433124907643130374881877731663934606754177746782025724791738051400062063300778798230452394727643635221374675553039344007174335762814780631992303153041499998854749265577949992318103066277716026962858679683557645912983086802247040404449376302576876029135684683503345073447289176236532022882734741694637837595608194506185901554413673783374363909273404892584098697324339512916865337861422430887758809426153763550841497474329046612840452697669922697506297909806167776916433800510940997856863341653594185630467241912113388931688794223809911399625004758217139182300959062053698252997211292804543963915651742180959186098735413036567792164260338677521074929981070781023137382731593560155585611384208198730162640321052300390770612626784216329207447382410558772380419054328944519465970705447943115930396750429123224107214806428079000197517436871407648163352992801435685714968368574859411691372541573116835301578656374385694309658045294467287308042764376425401857342538068013313943172585900223869767666501026081711454750215508946577239873097482597808652436214363605113365288581705707135078807538393602053203809526088302429 1025759533020985477538297229262526377925356943445308604326608138189956677354259245153574358349481144585156467991997329845044362827599137596810976623799289029625219379073213681749252901135466604788979821068107792931692064234827031754684867564718923317282088984955106741328873185941335236018867885988984652248625306911930942968353477439239885135302138432471330125594242252881532436511335606879201592667600373487143322047216937050169173560166951686705878841785431020879395367423397177392581572051481967677891019973523399705497001301150081267942352774518760118430194429262337300112629760769358512661407711325609732180297390102599298734588425580509921730001568427590410061160899372576741669178551791443085965156223433384406115319448283602033761817825548034232181221786034521700172679749919962902474679982759731202689167874306126765621460065861461415143526169755739584190662401029119739402636892064579261075150248848992094903714585580389309846264326052885396663068044861012772996481184524939659321703224828899481810683769086593248140123162941013092024762298947861771301562328415154664716486610096829730793144829088502866329282583981109907530553497771898396230358247646684839425102346220826660372585652846166766828280367950112695567313223384368610580840527910933905563295008411383901948359044358135764241846970831031644446487460821401907162326562167547966793379368183077296289275733188974444462000122640038293654505473056927561896117533857684867019648780915279209748349916984966457718566977076289994084677448050699927260412112346572886909434465811336254680319768142293018214899736473174173115752585048988654072752082753854431119710505214796136896692350705702274576481185617658713470185765100499748160773373879316847 1659713788712174609220555269762923328443398635082158838481308120054439139036976291191713863659287114188212864857268928832071643583407861187473163576062749885814059364850679596565268307144970117161992400623425303794337322621019345760338136417555199931798657290494360907945494162932605830262434208983914986824825456511432855924530056404658604337119908921562799893358560398006558711423119173974583254188996660350012731125897928129612212816747145363334154602365379546213140367621363690381404315326327260729111201091249943465183684693296525212691214296516620905977978800849512597546203386546839776606808144450517375310672271980330962669195179758256703755726360165641810123224200151374972121573279435078307339831776472728413289655211098382665754120978589534231035971051612471692490782816197678929437538662443288848602150961108373806025909442164038291172661854439242929264109690205356271425519626806273898912745857043498280805268999254172684210173599457777980761765369200525689861819045947370547080512650982663032652181243415639860980575860610935789531060208754029548217996128926095662573349951750423916423612071000616255260971378204919818930178502530115535412659206708738537678099557513631204336501304588347726014379103363149263359477483723046131655770508981714928700677740004944057533970428566334494404487291883332035217100087605618236369773944578106739173798422512021815755246438636917560392396873069161517761720279485006562093634970729092515183001773716714895463318285559825869409939518649406829386256104425085621570070157641040174217477230187761656537662306210306332158072322373398042883419086075070365527502298262801008359583602697393945549128565069307387941769767323365848548993303494101801364582899967619276 2685473321733160086758852499025449706368755578527467442807916258244395816391235536345288222008768258773369332849266258677116006411006998784284140199862038915439278743923893278314521208280436721950972221691533096726029386855846377515023003982274123249080746275449467649274367348873941066281302094972899639073450763423363798892883533843898489472422047354034130018952802650888091147934454780853784846856597033837156053173114865179781386376914097050040033444150810567092535735044760867773985887377809228407002221064773343170680685994446606480633567071035381024408173230111849897658833147316198289268215855776127107490969662082930261403783605338766625485727928593232220184385099523951713790751831226521393304987999906112819404974659381984699515938804137568463217192837646993392663462566117641831912218645203020051291318835414500571647369508025499706316188024194982513454772091234476010828156518870853159987896105892490375708983584834561994056437925510663377424833414061538462858300230472310206402215875811562514462865012502233109120699023551948881555822507701891319519558457341250327289836561847253647216756900089119121590253962186029726460732000302013931643017454355423377103201903734457864709086957434514492842659471313261958926790707107414742236611036892648834263972748416327959482329472924470258646334262714363679663587548427020143532100506745654705967177790695099112044522171825892004854396995709199811416225752541934123989752504586777382202650554631994105211668202544792327128506495725696823470933552475785548830482269987613061126911695999097911217982074352599350372972058846572215999171671124059019600254381016655439479294107912190082445820915775009662518250952941024562019179068594601549525356273846936123 4345187110445334695979407768788373034812154213609626281289224378298834955428211827537002085668055372961582197706535187509187649994414859971757303775924788801253338108774572874879789515425406839112964622314958400520366709476865723275361140399829323180879403565943828557219861511806546896543736303956814625898276219934796654817413590248557093809541956275596929912311363048894649859357573954828368101045593694187168784299012793309393599193661242413374188046516190113305676102666124558155390202704136489136113422156023286635864370687743131693324781367552001930386152030961362495205036533863038065875024000226644482801641934063261224072978785097023329241454288758874030307609299675326685912325110661599700644819776378841232694629870480367365270059782727102694253163889259465085154245382315320761349757307646308899893469796522874377673278950189537997488849878634225442718881781439832282253676145677127058900641962935988656514252584088734678266611524968441358186598783262064152720119276419680753482728526794225547115046255917872970101274884162884671086882716455920867737554586267345989863186513597677563640368971089735376851225340390949545390910502832129467055676661064161914781301461248089069045588262022862218857038574676411222286268190830460873892381545874363762964650488421272017016299901490804753050821554597695714880687636032638379901874451323761445140976213207120927799768610462809565246793868778361329177946032026940686083387475315869897385652328348709000674986488104618196538446014375103652857189656900871170400552427628653235344388926186859567755644380562905682531044381219970258882590757199129385127756679279456447838877710609584027994949480844317050460020720264390410568172372088703350889939173814555399 7030660432178494782738260267813822741180909792137093724097140636543230771819447363882290307676823631734951530555801446186303656405421858756041443975786827716692616852698466153194310723705843561063936844006491497246396096332712100790384144382103446429960149841393296206494228860680487962825038398929714264971726983358160453710297124092455583281964003629631059931264165699782741007292028735682152947902190728024324837472127658489174985570575339463414221490667000680398211837710885425929376090081945717543115643220796629806545056682189738173958348438587382954794325261073212392863869681179236355143239856002771590292611596146191485476762390435789954727182217352106250491994399199278399703076941888121093949807776284954052099604529862352064785998586864671157470356726906458477817707948432962593261975952849328951184788631937374949320648458215037703805037902829207956173653872674308293081832664547980218888538068828479032223236168923296672323049450479104735611432197323602615578419506891990959884944402605788061577911268420106079221973907714833552642705224157812187257113043608596317153023075444931210857125871178854498441479302576979271851642503134143398698694115419585291884503364982546933754675219457376711699698045989673181213058897937875616128992582767012597228623236837599976498629374415275011697155817312059394544275184459658523433974958069416151108154003902220039844290782288701570101190864487561140594171784568874810073139979902647279588302882980703105886654690649410523666952510100800476328123209376656719231034697616266296471300622185957478973626454915505032904016440066542474881762428323188404728011060296111887318171818521774110440770396619326712978271673205414972587351440683304900415295447661491522 11375847542623829478717668036602195775993064005746720005386365014842065727247659191419292393344879004696533728262336633695491306399836718727798747751711616517945954961473039028074100239131250400176901466321449897766762805809577824065745284781932769610839553407337124763714090372487034859368774702886528890870003203292957108527710714341012677091505959905227989843575528748677390866649602690510521048947784422211493621771140451798568584764236581876788409537183190793703887940377009984084766292786082206679229065376819916442409427369932869867283129806139384885180477292034574888068906215042274421018263856229416073094253530209452709549741175532813283968636506110980280799603698874605085615402052549720794594627552663795284794234400342719430056058369591773851723520616165923562971953330748283354611733260495637851078258428460249326993927408404575701293887781463433398892535654114140575335508810225107277789180031764467688737488753012031350589660975447546093798030980585666768298538783311671713367672929400013608692957524337979049323248791877718223729587940613733054994667629875942307016209589042608774497494842268589875292704642967928817242553005966272865754370776483747206665804826230636002800263481480238930556736620666084403499327088768336490021374128641376360193273725258871993514929275906079764747977371909755109424962820492296903335849409393177596249130217109340967644059392751511135347984733265922469772117816595815496156527455218517176973955211329412106561641178754028720205398524475904129185312866277527889631587125244919531815689548372817046729270835478410715435060821286512733764353185522317789855767739575568335157049529131358138435719877463643763438292393469805383155523812772008251305234621476046921 18406507974802324261455928304416018517173973797883813729483505651385296499067106555301582701021702636431485258818138079881794962805258577483840191727498444234638571814171505181268410962837093961240838310327941395013158902142289924856129429164036216040799703248730420970208319233167522822193813101816243155841730186651117562238007838433468260373469963534859049774839694448460131873941631426192673996849975150235818459243268110287743570334811921340202631027850191474102099778087895410014142382868027924222344708597616546248954484052122608041241478244726767839974802553107787280932775896221510776161503712232187663386865126355644195026503565968603238695818723463086531291598098073883485318478994437841888544435328948749336893838930205071494842056956456445009193877343072382040789661279181245947873709213344966802263047060397624276314575866619613405098925684292641355066189526788448868417341474773087496677718100592946720960724921935328022912710425926650829409463177909269383876958290203662673252617332005801670270868792758085128545222699592551776372293164771545242251780673484538624169232664487539985354620713447444373734183945544908089094195509100416264453064891903332498550308191213182936554938700937615642256434666655757584712385986706212106150366711408388957421896962096471970013558650321354776445133189221814503969238004951955426769824367462593747357284221011561007488350175040212705449175597753483610366289601164690306229667435121164456562258094310115212448295869403439243872351034576704605513436075654184608862621822861185828286990170558774525702897290393915748339077261353055208646115613845506194583778799871680222475221347653132248876490274082970476416564066675220355742875253455313151720530069137538443 29782355517426153740173596341018214293167037803630533734869870666227362226314765746720875094366581641128018987080474713577286269205095296211638939479210060752584526775644544209342511201968344361417739776649391292779921707951867748921874713945968985651639256656067545733922409605654557681562587804702772046711733389944074670765718552774480937464975923440087039618415223197137522740591234116703195045797759572447312081014408562086312155099048503216991040565033382267805987718464905394098908675654110130901573773974436462691363911422055477908524608050866152725155279845142362169001682111263785197179767568461603736481118656565096904576244741501416522664455229574066812091201796948488570933881046987562683139062881612544621688073330547790924898115326048218860917397959238305603761614609929529302485442473840604653341305488857873603308503275024189106392813465756074753958725180902589443752850284998194774466898132357414409698213674947359373502371401374196923207494158494936152175497073515334386620290261405815278963826317096064177868471491470270000101881105385278297246448303360480931185442253530148759852115555716034249026888588512836906336748515066689130207435668387079705216113017443818939355202182417854572813171287321841988211713075474548596171740840049765317615170687355343963528487926227434541193110561131569613394200825444252330105673776855771343606414438120901975132409567791723840797160331019406080138407417760505802386194890339681633536213305639527319009937048157467964077749559052608734698748941931712498494208948106105360102679718931591572432168125872326463774138082639567942410468799367823984439546539447248557632270876784490387312210151546614239854856460145025738898399066227321403025764690613585364 48188863492228478001629524645434232810341011601514347464353376317612658725381872302022457795388284277559504245898612793459081232010353873695479131206708504987223098589816049390610922164805438322658578086977332687793080610094157673778004143110005201692438959904797966704130728838822080503756400906519015202553463576595192233003726391207949197838445886974946089393254917645597654614532865542895869042647734722683130540257676672374055725433860424557193671592883573741908087496552800804113051058522138055123918482572053008940318395474178085949766086295592920565130082398250149449934458007485295973341271280693791399867983782920741099602748307470019761360273953037153343382799895022372056252360041425404571683498210561293958581912260752862419740172282504663870111275302310687644551275889110775250359151687185571455604352549255497879623079141643802511491739150048716109024914707691038312170191759771282271144616232950361130658938596882687396415081827300847752616957336404205536052455363718997059872907593411616949234695109854149306413694191062821776474174270156823539498228976845019555354674918017688745206736269163478622761072534057744995430944024167105394660500560290412203766421208657001875910140883355470215069605953977599572924099062180760702322107551458154275037067649451815933542046576548789317638243750353384117363438830396207756875498144318365090963698659132462982620759742831936546246335928772889690504697018925196108615862325460846090098471399949642531458232917560907207950100593629313340212185017585897107356830770967291188389669889490366098135065416266242212113215343992623151056584413213330179023325339318928780107492224437622636188700425629584716271420526820246094641274319682634554746294759751123807 77971219009654631741803120986452447103508049405144881199223246983840020951696638048743332889754865918687523232979087507036367501215449169907118070685918565739807625365460593599953433366773782684076317863626723980573002318046025422699878857055974187344078216560865512438053138444476638185318988711221787249265196966539266903769444943982430135303421810415033129011670140842735177355124099659599064088445494295130442621272085234460367880532908927774184712157916956009714075215017706198211959734176248186025492256546489471631682306896233563858290694346459073290285362243392511618936140118749081170521038849155395136349102439485838004178993048971436284024729182611220155474001691970860627186241088412967254822561092173838580269985591300653344638287608552882731028673261548993248312890499040304552844594161026176108945658038113371482931582416667991617884552615804790862983639888593627755923042044769477045611514365307775540357152271830046769917453228675044675824451494899141688227952437234331446493197854817432228198521426950213484282165682533091776576055375542101836744677280205500486540117171547837505058851824879512871787961122570581901767692539233794524867936228677491908982534226100820815265343065773324787882777241299441561135812137655309298493848391507919592652238336807159897070534502776223858831354311484953730757639655840460086981171921174136434570113097253364957753169310623660387043496259792295770643104436685701911002057215800527723634684705589169850468169965718375172027850152681922074910933959517609605851039719073396548492349608421957670567233542138568675887353426632191093467053212581154163462871878766177337739763101222113023500910577176198956126276986965271833539673385909955957772059450364709171 126160082501883109743432645631886679913849061006659228663576623301452679677078510350765790685143150196247027478877700300495448733225803043602597201892627070727030723955276642990564355531579221006734895950604056668366082928140183096477883000165979389036517176465663479142183867283298718689075389617740802451818660543134459136773171335190379333141867697389979218404925058488332831969656965202494933131093229017813573161529761906834423605966769352331378383750800529751622162711570507002325010792698386241149410739118542480572000702370411649808056780642051993855415444641642661068870598126234377143862310129849186536217086222406579103781741356441456045385003135648373498856801586993232683438601129838371826506059302735132538851897852053515764378459891057546601139948563859680892864166388151079803203745848211747564550010587368869362554661558311794129376291765853506972008554596284666068093233804540759316756130598258136671016090868712734166332535055975892428441408831303347224280407800953328506366105448229049177433216536804362790695859873595913553050229645698925376242906257050520041894792089565526250265588094042991494549033656628326897198636563400899919528436788967904112748955434757822691175483949128795002952383195277041134059911199836070000815955942966073867689305986258975830612581079325013176469598061838337848121078486236667843856670065492501525533811756385827940373929053455596933289832188565185461147801455610898019617919541261373813733156105538812381926402883279282379977950746311235415123118977103506713207870490040687736882019497912323768702298958404810888000568770624814244523637625794484342486197218085106117847255325659735659689611002805783672397697513785517928180947705592590512518354210115832978 204131301511537741485235766618339127017357110411804109862799870285292700628775148399509123574898016114934550711856787807531816234441252213509715272578545636466838349320737236590517788898353003690811213814230780648939085246186208519177761857221953576380595393026528991580237005727775356874394378328962589701083857509673726040542616279172809468445289507805012347416595199331068009324781064862093997219538723312944015782801847141294791486499678280105563095908717485761336237926588213200536970526874634427174902995665031952203683009266645213666347474988511067145700806885035172687806738244983458314383348979004581672566188661892417107960734405412892329409732318259593654330803278964093310624842218251339081328620394908971119121883443354169109016747499610429332168621825408674141177056887191384356048340009237923673495668625482240845486243974979785747260844381658297834992194484878293824016275849310236362367644963565912211373243140542780936249988284650937104265860326202488912508360238187659952859303303046481405631737963754576274978025556129005329626285021241027212987583537256020528434909261113363755324439918922504366336994779198908798966329102634694444396373017645396021731489660858643506440827014902119790835160436576482695195723337491379299309804334473993460341544323066135727683115582101237035300952373323291578878718142077127930837841986666637960103924853639192898127098364079257320333328448357481231790905892296599930619976757061901537367840811127982232394572848997657552005800898993157490034052936621116319058910209114084285374369106334281439269532500543379563887922197257005337990690838375638505949069096851283455587018426881848683190521579981982628523974500750789761720621091502546470290413660480542149 330291384013420851228668412250225806931206171418463338526376493586745380305853658750274914260041166311181578190734488108027264967667055257112312474471172707193869073276013879581082144429932224697546109764834837317305168174326391615655644857387932965417112569492192470722420873011074075563469767946703392152902518052808185177315787614363188801587157205194991565821520257819400841294438030064588930350631952330757588944331609048129215092466447632436941479659518015512958400638158720202861981319573020668324313734783574432775683711637056863474404255630563061001116251526677833756677336371217835458245659108853768208783274884298996211742475761854348374794735453907967153187604865957325994063443348089710907834679697644103657973781295407684873395207390667975933308570389268355034041223275342464159252085857449671238045679212851110208040905533291579876637136147511804807000749081162959892109509653850995679123775561824048882389334009255515102582523340626829532707269157505836136788768039140988459225408751275530583064954500558939065673885429724918882676514666939952589230489794306540570329701350678890005590028012965495860886028435827235696164965666035594363924809806613300134480445095616466197616310964030914793787543631853523829255634537327449300125760277440067328030850309325111558295696661426250211770550435161629426999796628313795774694512052159139485637736610025020838501027417534854253623160636922666692938707347907497950237896298323275351100996916666794614320975732276939931983751645304392905157171913724623032266780699154772022256388604246605207971831458948190451888490967881819582514328464170122848435266314936389573434273752541584342880132582787766300921672014536307689901568797095136982808767870596375127 534422685524958592713904178868564933948563281830267448389176363872038080934628807149784037834939182426116128902591275915559081202108307470622027747049718343660707422596751116171599933328285228388357323579065617966244253420512600134833406714609886541797707962518721462302657878738849432437864146275665981853986375562481911217858403893535998270032446713000003913238115457150468850619219094926682927570170675643701604727133456189424006578966125912542504575568235501274294638564746933403398951846447655095499216730448606384979366720903702077140751730619074128146817058411713006444484074616201293772629008087858349881349463546191413319703210167267240704204467772167560807518408144921419304688285566341049989163300092553074777095664738761853982411954890278405265477192214677029175218280162533848515300425866687594911541347838333351053527149508271365623897980529170102641992943566041253716125785503161232041491420525389961093762577149798296038832511625277766636973129483708325049297128277328648412084712054322011988696692464313515340651910985853924212302799688180979802218073331562561098764610611792253760914467931888000227223023215026144495131294768670288808321182824258696156211934756475109704057137978933034584622704068430006524451357874818828599435564611914060788372394632391247285978812243527487247071502808484921005878514770390923705532354038825777445741661463664213736628125781614111573956489085280147924729613240204097880857873055385176888468837727794776846715548581274597483989552544297550395191224850345739351325690908268856307630757710580886647241363959491570015776413165138824920505019302545761354384335411787673029021292179423433026070654162769748929445646515287097451622189888597683453099181531076917276 864714069538379443942572591118790740879769453248730786915552857458783461240482465900058952094980348737297707093325764023586346169775362727734340221520891050854576495872764995752682077758217453085903433343900455283549421594838991750489051571997819507214820532010913933025078751749923508001333914222369374006888893615290096395174191507899187071619603918194995479059635714969869691913657124991271857920802627974459193671465065237553221671432573544979446055227753516787253039202905653606260933166020675763823530465232180817755050432540758940615155986249637189147933309938390840201161410987419129230874667196712118090132738430490409531445685929121589078999203226075527960706013010878745298751728914430760896997979790197178435069446034169538855807162280946381198785762603945384209259503437876312674552511724137266149587027051184461261568055041562945500535116676681907448993692647204213608235295157012227720615196087214009976151911159053811141415034965904596169680398641214161186085896316469636871310120805597542571761646964872454406325796415578843094979314355120932391448563125869101669094311962471143766504495944853496088109051650853380191296260434705883172245992630871996290692379852091575901673448942963949378410247700283530353706992412146277899561324889354128116403244941716358844274508904953737458842053243646550432878311398704719480226866090984916931379398073689234575129153199148965827579649722202814617668320588111595831095769353708452239569834644461571461036524313551537415973304189601943300348396764070362383592471607423628329887146314827491855213195418439760467664904133020644503019347766715884202819601726724062602455565931965017368950786745557515230367318529823405141523758685692820435907949401673292403 1399136755063338036656476769987355674828332735078998235304729221330821542175111273049842989929919531163413835995917039939145427371883670198356367968570609394515283918469516111924282011086502681474260756922966073249793675015351591885322458286607706049012528494529635395327736630488772940439198060498035355860875269177772007613032595401435185341652050631194999392297751172120338542532876219917954785490973303618160798398598521426977228250398699457521950630795989018061547677767652587009659885012468330859322747195680787202734417153444461017755907716868711317294750368350103846645645485603620423003503675284570467971482201976681822851148896096388829783203670998243088768224421155800164603440014480771810886161279882750253212165110772931392838219117171224786464262954818622413384477783600410161189852937590824861061128374889517812315095204549834311124433097205852010090986636213245467324361080660173459762106616612603971069914488308852107180247546591182362806653528124922486235383024593798285283394832859919554560458339429185969746977707401432767307282114043301912193666636457431662767858922574263397527418963876741496315332074865879524686427555203376171980567175455130692446904314608566685605730586921896983963032951768713536878158350286965106498996889501268188904775639574107606130253321148481224705913556052131471438756826169095643185759220129810694377121059537353448311757278980763077401536138807482962542397933828315693711953642409093629128038672372256348307752072894826134899962856733899493695539621614416101734918162515692484637517904025408378502454559377931330483441317298159469423524367069261645557203937138511735631476858111388450395021440908327264159812965045110502593145948574290503889007130932750209679 2263850824601717480599049361106146415708102188327729022220282078789605003415593738949901942024899879900711543089242803962731773541659032926090708190091500445369860414342281107676964088844720134560164190266866528533343096610190583635811509858605525556227349026540549328352815382238696448440531974720404729867764162793062104008206786909334372413271654549389994871357386887090208234446533344909226643411775931592619992070063586664530449921831273002501396686023742534848800716970558240615920818178489006623146277660912968020489467585985219958371063703118348506442683678288494686846806896591039552234378342481282586061614940407172232382594582025510418862202874224318616728930434166678909902191743395202571783159259672947431647234556807100931694026279452171167663048717422567797593737287038286473864405449314962127210715401940702273576663259591397256624968213882533917539980328860449680932596375817185687482721812699817981046066399467905918321662581557086958976333926766136647421468920910267922154704953665517097132219986394058424153303503817011610402261428398422844585115199583300764436953234536734541293923459821594992403441126516732904877723815638082055152813168086002688737596694460658261507404035864860933341443199468997067231865342699111384398558214390622317021178884515823964974527830053434962164755609295778021871635137567800362665986086220795611308500457611042682886886432179912043229115788529685777160066254416427289543049411762802081367608507016717919768788597208377672315936160923501436995888018378486464118510634123116112967405050340235870357667754796371090951106221431180113926543714835977529760023538865235798233932424043353467763972227653884779390180283574933907734669707259983324324915080334423502082 3662987579665055517255526131093502090536434923406727257525011300120426545590705011999744931954819411064125379085159843901877200913542703124447076158662109839885144332811797219601246099931222816034424947189832601783136771625542175521133968145213231605239877521070184723680552012727469388879730035218440085728639431970834111621239382310769557754923705180584994263655138059210546776979409564827181428902749235210780790468662108091507678172229972460023347316819731552910348394738210827625580703190957337482469024856593755223223884739429680976126971419987059823737434046638598533492452382194659975237882017765853054033097142383854055233743478121899248645406545222561705497154855322479074505631757875974382669320539555697684859399667580032324532245396623395954127311672241190210978215070638696635054258386905786988271843776830220085891758464141231567749401311088385927630966965073695148256957456477359147244828429312421952115980887776758025501910128148269321782987454891059133656851945504066207438099786525436651692678325823244393900281211218444377709543542441724756778781836040732427204812157110997938821342423698336488718773201382612429564151370841458227133380343541133381184501009069224947113134622786757917304476151237710604110023692986076490897555103891890505925954524089931571104781151201916186870669165347909493310391963736896005851745306350606305685621517148396131198643711160675120630651927337168739702464188244742983255003054171895710495647179388974268076540670103203807215899017657400930691427639992902565853428796638808597604922954365644248860122314174302421434547538729339583350068081905239175317227476003747533865409282154741918158993668562212043549993248620044410327815655834273828213922211267173711761 5926838404266772997854575492199648506244537111734456279745293378910031549006298750949646873979719290964836922174402647864608974455201736050537784348753610285255004747154078327278210188775942950594589137456699130316479868235732759156945478003818757161467226547610734052033367394966165837320262009938844815596403594763896215629446169220103930168195359729974989135012524946300755011425942909736408072314525166803400782538725694756038128094061245462524744002843474087759149111708769068241501521369446344105615302517506723243713352325414900934498035123105408330180117724927093220339259278785699527472260360247135640094712082791026287616338060147409667507609419446880322226085289489157984407823501271176954452479799228645116506634224387133256226271676075567121790360389663758008571952357676983108918663836220749115482559178770922359468421723732628824374369524970919845170947293934144829189553832294544834727550242012239933162047287244663943823572709705356280759321381657195781078320866414334129592804740190953748824898312217302818053584715035455988111804970840147601363897035624033191641765391647732480115265883519931481122214327899345334441875186479540282286193511627136069922097703529883208620538658651618850645919350706707671341889035685187875296113318282512822947133408605755536079308981255351149035424774643687515182027101304696368517731392571401916994121974759438814085530143340587163859767715866854516862530442661170272798052465934697791863255686405692187845329267311581479531835178580902367687315658371389029971939430761924710572328004705880119217790068970673512385653760160519697276611796741216705077251014868983332099341706198095385922965896216096822940173532194978318062485363094257152538837291601597213843 9589825983931828515110101623293150596780972035141183537270304679030458094597003762949391805934538702028962301259562491766486175368744439174984860507415720125140149079965875546879456288707165766629014084646531732099616639861274934678079446149031988766707104068680918775713919407693635226199992045157284901325043026734730327250685551530873487923119064910559983398667663005511301788405352474563589501217274402014181573007387802847545806266291217922548091319663205640669497506446979895867082224560403681588084327374100478466937237064844581910625006543092468153917551771565691753831711660980359502710142378012988694127809225174880342850081538269308916153015964669442027723240144811637058913455259147151337121800338784342801366033891967165580758517072698963075917672061904948219550167428315679743972922223126536103754402955601142445360180187873860392123770836059305772801914259007839977446511288771903981972378671324661885278028175021421969325482837853625602542308836548254914735172811918400337030904526716390400517576638040547211953865926253900365821348513281872358142678871664765618846577548758730418936608307218267969840987529281957764006026557320998509419573855168269451106598712599108155733673281438376767950395501944418275451912728671264366193668422174403328873087932695687107184090132457267335906093939991597008492419065041592374369476698922008222679743491907834945284173854501262284490419643204023256564994630905913256053055520106593502358902865794666455921869937414785286747734196238303298378743298364291595825368227400733308177250959071524368077912383144975933820201298889859280626679878646455880394478490872730865964750988352837304081959564778308866490166780815022728390301018928530980752759502868770925604 15516664388198601512964677115492799103025509146875639817015598057940489643603302513899038679914257992993799223433965139631095149823946175225522644856169330410395153827119953874157666477483108717223603222103230862416096508097007693835024924152850745928174330616291652827747286802659801063520254055096129716921446621498626542880131720750977418091314424640534972533680187951812056799831295384299997573531799568817582355546113497603583934360352463385072835322506679728428646618155748964108583745929850025693699629891607201710650589390259482845123041666197876484097669496492784974170970939766059030182402738260124334222521307965906630466419598416718583660625384116322349949325434300795043321278760418328291574280138012987917872668116354298836984788748774530197708032451568706228122119785992662852891586059347285219236962134372064804828601911606489216498140361030225617972861552941984806636065121066448816699928913336901818440075462266085913149055547558981883301630218205450695813493678332734466623709266907344149342474950257850030007450641289356353933153484122019959506575907288798810488342940406462899051874190738199450963201857181303098447901743800538791705767366795405521028696416128991364354211940089995618596314852651125946793801764356452241489781740456916151820221341301442643263399113712618484941518714635284523674446166346288742887208091493410139673865466667273759369703997841849448350187359070877773427525073567083528851107986041291294222158552200358643767199204726366766279569374819205666066058956735680625797307658162658018749578963777404487295702452115649446205855059050378977903291675387672585471729505741714198064092694550932690004925460994405689430340313010001046452786382022788133291596794470368139447 25106490372130430028074778738785949699806481182016823354285902736970947738200306276848430485848796695022761524693527631397581325192690614400507505363585050535535302907085829421037122766190274483852617306749762594515713147958282628513104370301882734694881434684972571603461206210353436289720246100253414618246489648233356870130817272281850906014433489551094955932347850957323358588236647858863587074749073970831763928553501300451129740626643681307620926642169885369098144124602728859975665970490253707281783957265707680177587826455104064755748048209290344638015221268058476728002682600746418532892545116273113028350330533140786973316501136686027499813641348785764377672565579112432102234734019565479628696080476797330719238702008321464417743305821473493273625704513473654447672287214308342596864508282473821322991365089973207250188782099480349608621911197089531390774775811949824784082576409838352798672307584661563703718103637287507882474538385412607485843939054753705610548666490251134803654613793623734549860051588298397241961316567543256719754501997403892317649254778953564429334920489165193317988482497956467420804189386463260862453928301121537301125341221963674972135295128728099520087885221528372386546710354595544222245714493027716607683450162631319480693309273997129750447489246169885820847612654626881532166865231387881117256684790415418362353608958575108704653877852343111732840607002274901029992519704472996784904163506147884796581061417995025099689069142141152053027303571057508964444802255099972221622675885563391326926829922848928855373614835260625380026056357940238258529971554034128465866207996614445064028843682903769994086885025772714555920507093825023774843087400951319114044356297339139065051 40623154760329031541039455854278748802831990328892463171301500794911437381803608790747469165763054688016560748127492771028676475016636789626030150219754380945930456734205783295194789243673383201076220528852993456931809656055290322348129294454733480623055765301264224431208493013013237353240500155349544335167936269731983413010948993032828324105747914191629928466028038909135415388067943243163584648280873539649346284099614798054713674986996144692693761964676565097526790742758477824084249716420103732975483587157314881888238415845363547600871089875488221122112890764551261702173653540512477563074947854533237362572851841106693603782920735102746083474266732902086727621891013413227145556012779983807920270360614810318637111370124675763254728094570248023471333736965042360675794407000301005449756094341821106542228327224345272055017384011086838825120051558119757008747637364891809590718641530904801615372236497998465522158179099553593795623593932971589369145569272959156306362160168583869270278323060531078699202526538556247271968767208832613073687655481525912277155830686242363239823263429571656217040356688694666871767391243644563960901830044922076092831108588759080493163991544857090884442097161618368005143025207246670169039516257384168849173231903088235632513530615298572393710888359882504305789131369262166055841311397734169860143892881908828502027474425242382464023581850184961181190794361345778803420044778040080313755271492189176090803219970195383743456268346867518819306872945876714630510861211835652847419983543726049345676408886626333342669317287376274826231911416990617236433263229421801051337937502356159262092936377454702684091810486767120245350847406835024821295873782974107247335953091809507204498 65729645132459461569114234593064698502638471510909286525587403531882385120003915067595899651611851383039322272821020402426257800209327404026537655583339431481465759641291612716231912009863657684928837835602756051447522804013572950861233664756616215317937199986236796034669699223366673642960746255602958953414425917965340283141766265314679230120181403742724884398375889866458773976304591102027171723029947510481110212653116098505843415613639826000314688606846450466624934867361206684059915686910357440257267544423022562065826242300467612356619138084778565760128112032609738430176336141258896095967492970806350390923182374247480577099421871788773583287908081687851105294456592525659247790746799549287548966441091607649356350072132997227672471400391721516744959441478516015123466694214609348046620602624294927865219692314318479305206166110567188433741962755209288399522413176841634374801217940743154414044544082660029225876282736841101678098132318384196854989508327712861916910826658835004073932936854154813249062578126854644513930083776375869793442157478929804594805085465195927669158183918736849535028839186651134292571580630107824823355758346043613393956449810722755465299286673585190404529982383146740391689735561842214391285230750411885456856682065719555113206839889295702144158377606052390126636744023889047588008176629122050977400577672324246864381083383817491168677459702528072914031401363620679833412564482513077098659434998337060887384281388190408843145337489008670872334176516934223594955663466935625069042659429289440672603238809475262198042932122636900206257967774930855494963234783455929517204145498970604326121780060358472678178695512539834801271354500660048596138961183925426361380309389148646269549 106352799892788493110153690447343447305470461839801749696888904326793822501807523858343368817374906071055883020948513173454934275225964193652567805803093812427396216375497396011426701253537040886005058364455749508379332460068863273209362959211349695940992965287501020465878192236379910996201246410952503288582362187697323696152715258347507554225929317934354812864403928775594189364372534345190756371310821050130456496752730896560557090600635970693008450571523015564151725610119684508144165403330461173232751131580337443954064658145831159957490227960266786882241002797161000132349989681771373659042440825339587753496034215354174180882342606891519666762174814589937832916347605938886393346759579533095469236801706417967993461442257672990927199494961969540216293178443558375799261101214910353496376696966116034407448019538663751360223550121654027258862014313329045408270050541733443965519859471647956029416780580658494748034461836394695473721726251355786224135077600672018223272986827418873344211259914685891948265104665410891785898850985208482867129812960455716871960916151438290908981447348308505752069195875345801164338971873752388784257588390965689486787558399481835958463278218442281288972079544765108396832760769088884560324747007796054306029913968807790745720370504594274537869265965934894432425875393151213643849488026856220837544470554233075366408557809059873632701041552713034095222195724966458636832609260553157412414706490526236978187501358385792586601605835876189691641049462810938225466524678771277916462642973015490018279647696101595540712249410013175032489879191921472731396498012877730568542083001326763588214716437813175362270505999306955046622201907495073417434834966899533608716262480958153474047 172082445025247954679267925040408145808108933350711036222476307858676207621811438925939268468986757454095205293769533575881192075435291597679105461386433243908861976016789008727658613263400698570933896200058505559826855264082436224070596623967965911258930165273737816500547891459746584639161992666555462241996788105662663979294481523662186784346110721677079697262779818642052963340677125447217928094340768560611566709405846995066400506214275796693323139178369466030776660477480891192204081090240818613490018676003360006019890900446298772314109366045045352642369114829770738562526325823030269755009933796145938144419216589601654757981764478680293250050082896277788938210804198464545641137506379082383018203242798025617349811514390670218599670895353691056961252619922074390922727795429519701542997299590410962272667711852982230665429716232221215692603977068538333807792463718575078340321077412391110443461324663318523973910744573235797151819858569739983079124585928384880140183813486253877418144196768840705197327682792265536299828934761584352660571970439385521466766001616634218578139631267045355287098035061996935456910552503860213607613346737009302880744008210204591423762564892027471693502061927911848788522496330931098951609977758207939762886596034527345858927210393889976682027643571987284559062619417040261231857664655978271814945048226557322230789641192877364801378501255241107009253597088587138470245173743066234511074141488863297865571782746576201429746943324884860563975225979745161820422188145706902985505302402304930690882886505576857738755181532650075238747846966852328226359732796333660085746228500297367914336496498171648040449201511846789847893556408155122013573796150824959970096571870106799743596 278435244918036447789421615487751593113579395190512785919365212185470030123618962784282637286361663525151088314718046749336126350661255791331673267189527056336258192392286404739085314516937739456938954564514255068206187724151299497279959583179315607199923130561238836966426083696126495635363239077507965530579150293359987675447196782009694338572040039611434510127183747417647152705049659792408684465651589610742023206158577891626957596814911767386331589749892481594928386087600575700348246493571279786722769807583697449973955558592129932271599594005312139524610117626931738694876315504801643414052374621485525897915250804955828938864107085571812916812257710867726771127151804403432034484265958615478487440044504443585343272956648343209526870390315660597177545798365632766721988896644430055039373996556526996680115731391645982025653266353875242951465991381867379216062514260308522305840936884039066472878105243977018721945206409630492625541584821095769303259663529056898363456800313672750762355456683526597145592787457676428085727785746792835527701783399841238338726917768072509487121078615353861039167230937342736621249524377612602391870935127974992367531566609686427382225843110469752982474141472676957185355257100019983511934724766003994068916510003335136604647580898484251219896909537922178991488494810191474875707152682834492652489518780790397597198199001937238434079542807954141104475792813553597107077783003619391923488847979389534843759284104961994016348549160761050255616275442556100045888712824478180901967945375320420709162534201678453279467430942663250271237726158773800957756230809211390654288311501624131502551212935984823402719707511153744894515758315650195431008631117724493578812834351064953217643 450517689943284402468689540528159738921688328541223822141841520044146237745430401710221905755348420979246293608487580325217318426096547389010778728575960300245120168409075413466743927780338438027872850764572760628033042988233735721350556207147281518458853295834976653466973975155873080274525231744063427772575938399022651654741678305671881122918150761288514207389963566059700116045726785239626612559992358171353589915564424886693358103029187564079654728928261947625705046565081466892552327583812098400212788483587057455993846459038428704585708960050357492166979232456702477257402641327831913169062308417631464042334467394557483696845871564252106166862340607145515709337956002867977675621772337697861505643287302469202693084471039013428126541285669351654138798418287707157644716692073949756582371296146937958952783443244628212691082982586096458644069968450405713023854977978883600646162014296430176916339429907295542695855950982866289777361443390835752382384249457441778503640613799926628180499653452367302342920470249941964385556720508377188188273753839226759805492919384706728065260709882399216326265265999339672078160076881472815999484281864984295248275574819891018805988408002497224675976203400588805973877753430951082463544702524211933831803106037862482463574791292374227901924553109909463550551114227231736107564817338812764467434567007347719827987840194814603235458044063195248113729389902140735577322956746685626434562989468252832709331066851538195446095492485645910819591501422301261866310900970185083887473247777625351400045420707255311018222612475313325509985573125626129184115963605545050740034540001921499416887709434156471443168909023000534742409314723805317444582427268549453548909406221171752961239 728952934861320850258111156015911332035267723731736608061206732229616267869049364494504543041710084504397381923205627074553444776757803180342451995765487356581378360801361818205829242297276177484811805329087015696239230712385035218630515790326597125658776426396215490433400058851999575909888470821571393303155088692382639330188875087681575461490190800899948717517147313477347268750776445032035297025643947782095613121723002778320315699844099331465986318678154429220633432652682042592900574077383378186935558291170754905967802017630558636857308554055669631691589350083634215952278956832633556583114683039116989940249718199513312635709978649823919083674598318013242480465107807271409710106038296313339993083331806912788036357427687356637653411675985012251316344216653339924366705588718379811621745292703464955632899174636274194716736248939971701595535959832273092239917492239192122952002951180469243389217535151272561417801157392496782402903028211931521685643912986498676867097414113599378942855110135893899488513257707618392471284506255170023715975537239067998144219837152779237552381788497753077365432496936682408699409601259085418391355216992959287615807141429577446188214251112966977658450344873265763159233010530971065975479427290215927900719616041197619068222372190858479121821462647831642542039609037423210983271970021647257119924085788138117425186039196751841669537586871149389218205182715694332684400739750305018358051837447642367553090350956500189462444041646406961075207776864857361912199613794663264789441193152945772109207954908933764297690043417976575781223299284399930141872194414756441394322851503545630919438922370141294845888616534154279636925073039455512875591058386273947127722240572236706178882 1179470624804605252726800696544071070956956052272960430203048252273762505614479766204726448797058505483643675531693207399770763202854350569353230724341447656826498529210437231672573170077614615512684656093659776324272273700618770939981071997473878644117629722231192143900374034007872656184413702565634821075731027091405290984930553393353456584408341562188462924907110879537047384796503230271661909585636305953449203037287427665013673802873286895545641047606416376846338479217763509485452901661195476587148346774757812361961648476668987341443017514106027123858568582540336693209681598160465469752176991456748453982584185594070796332555850214076025250536938925158758189803063810139387385727810634011201498726619109381990729441898726370065779952961654363905455142634941047082011422280792329568204116588850402914585682617880902407407819231526068160239605928282678805263772470218075723598164965476899420305556965058568104113657108375363072180264471602767274068028162443940455370738027913526007123354763588261201831433727957560356856841226763547211904249291078294757949712756537485965617642498380152293691697762936022080777569678140558234390839498857943582864082716249468464994202659115464202334426548273854569133110763961922148439024129814427861732522722079060101531797163483232707023746015757741106092590723264654947090836787360460021587358652795485837253173879391566444904995630934344637331934572617835068261723696496990644792614826915895200262421417808038384908539534132052871894799278287158623778510514764848348676914440930571123509253375616189075315912655893289901291208872410026059325988158020301492134357391505467130336326631804297766289057525557154814379334387763260830320173485654823400676631646793408459140121 1908423559665926102984911852559982402992223776004697038264254984503378773483529130699230991838768589988041057454898834474324207979612153749695682720106935013407876890011799049878402412374890792997496461422746792020511504413003806158611587787800475769776406148627407634333774092859872232094302173387206214378886115783787930315119428481035032045898532363088411642424258193014394653547279675303697206611280253735544816159010430443333989502717386227011627366284570806066971911870445552078353475738578854774083905065928567267929450494299545978300326068161696755550157932623970909161960554993099026335291674495865443922833903793584108968265828863899944334211537243172000670268171617410797095833848930324541491809950916294778765799326413726703433364637639376156771486851594387006378127869510709379825861881553867870218581792517176602124555480466039861835141888114951897503689962457267846550167916657368663694774500209840665531458265767859854583167499814698795753672075430439132237835442027125386066209873724155101319946985665178749328125733018717235620224828317362756093932593690265203170024286877905371057130259872704489476979279399643652782194715850902870479889857679045911182416910228431179992876893147120332292343774492893214414503557104643789633242338120257720600019535674091186145567478405572748634630332302078158074108757382107278707282738583623954678359918588318286574533217805494026550139755333529400946124436247295663150666664363537567815511768764538574370983575778459832970007055152015985690710128559511613466355634083516895618461330525122839613602699311266477072432171694425989467860352435057933528680243009012761255765554174439061134946142091309094016259460802716343195764544041097347804353887365645165319003 3087894184470531355711712549104053473949179828277657468467303236777141279098008896903957440635827095471684732986592041874094971182466504319048913444448382670234375419222236281550975582452505408510181117516406568344783778113622577098592659785274354413894035870858599778234148126867744888278715875952841035454617142875193221300049981874388488630306873925276874567331369072551442038343782905575359116196916559688994019196297858108347663305590673122557268413890987182913310391088209061563806377399774331361232251840686379629891098970968533319743343582267723879408726515164307602371642153153564496087468665952613897905418089387654905300821679077975969584748476168330758860071235427550184481561659564335742990536570025676769495241225140096769213317599293740062226629486535434088389550150303038948029978470404270784804264410398079009532374711992108022074747816397630702767462432675343570148332882134268084000331465268408769645115374143222926763431971417466069821700237874379587608573469940651393189564637312416303151380713622739106184966959782264447524474119395657514043645350227751168787666785258057664748828022808726570254548957540201887173034214708846453343972573928514376176619569343895382327303441420974901425454538454815362853527686919071651365765060199317822131816699157323893169313494163313854727221055566733105164945544742567300294641391379109791931533797979884731479528848739838663882074327951364469207848132744286307943281491279432768077933186572576959279523109910512704864806333439174609469220643324359962143270075014088019127714706141311914929515355204556378363641044104452048793848510455359425663037634514479891592092185978736827424003667648463908395593848565977173515938029695920748480985534159053624459124 4996317744136457458696624401664035876941403604282354506731558221280520052581538027603188432474595685459725790441490876348419179162078658068744596164555317683642252309234035331429377994827396201507677578939153360365295282526626383257204247573074830183670442019486007412567922219727617120373018049340047249833503258658981151615169410355423520676205406288365286209755627265565836691891062580879056322808196813424538835355308288551681652808308059349568895780175557988980282302958654613642159853138353186135316156906614946897820549465268079298043669650429420634958884447788278511533602708146663522422760340448479341828251993181239014269087507941875913918960013411502759530339407044960981577395508494660284482346520941971548261040551553823472646682236933116218998116338129821094767678019813748327855840351958138655022846202915255611656930192458147883909889704512582600271152395132611416698500798791636747695105965478249435176573639911082781346599471232164865575372313304818719846408911967776779255774511036571404471327699287917855513092692800981683144698947713020270137577943918016371957691072135963035805958282681431059731528236939845539955228930559749323823862431607560287359036479572326562320180334568095233717798312947708577268031244023715440999007398319575542731836234831415079314880972568886603361851387868811263239054302124674579001924129962733746609893716568203018054062066545332690432214083284893870153972568991581971093948155642970335893444955337115533650506685688972537834813388591190595159930771883871575609625709097604914746176036666434754543118054515822855436073215798878038261708862890417359191717877523492652847857740153175888558949809739773002411853309368693516711702573737018096285339421524698789778127 8084211928606988814408336950768089350890583432560011975198861458057661331679546924507145873110422780931410523428082918222514150344545162387793509609003700353876627728456271612980353577279901610017858696455559928710079060640248960355796907358349184597564477890344607190802070346595362008651733925292888285288120401534174372915219392229812009306512280213642160777086996338117278730234845486454415439005113373113532854551606146660029316113898732472126164194066545171893592694046863675205966230538127517496548408747301326527711648436236612617787013232697144514367610962952586113905244861300228018510229006401093239733670082568893919569909187019851883503708489579833518390410642472511166058957168058996027472883090967648317756281776693920241859999836226856281224745824665255183157228170116787275885818822362409439827110613313334621189304904450255905984637520910213303038614827807954986846833680925904831695437430746658204821689014054305708110031442649630935397072551179198307454982381908428172445339148348987707622708412910656961698059652583246130669173067108677784181223294145767540745357857394020700554786305490157629986077194480047427128263145268595777167835005536074663535656048916221944647483775989070135143252851402523940121558930942787092364772458518893364863652933988738972484194466732200458089072443435544368403999846867241879296565521341843538541427514548087749533590915285171354314288411236258339361820701735868279037229646922403103971378141909692492930029795599485242699619722030365204629151415208231537752895784111692933873890742807746669472633409720379233799714259903330087055557373345776784854755512037972544439949926131912715982953477388236910807447157934670690227640603432938844766324955683752414237251 13080529672743446273104961352432125227831987036842366481930419679338181384261084952110334305585018466391136313869573794570933329506623820456538105773559018037518880037690306944409731572107297811525536275394713289075374343166875343613001154931424014781234919909830614603369992566322979129024751974632935535121623660193155524530388802585235529982717686502007446986842623603683115422125908067333471761813310186538071689906914435211710968922206791821695059974242103160873874997005518288848126083676480703631864565653916273425532197901504691915830682883126565149326495410740864625438847569446891540932989346849572581561922075750132933838996694961727797422668502991336277920750049517472147636352676553656311955229611909619866017322328247743714506682073159972500222862162795076277924906189930535603741659174320548094849956816228590232846235096908403789894527225422795903309767222940566403545334479717541579390543396224907639998262653965388489456630913881795800972444864484017027301391293876204951701113659385559112094036112198574817211152345384227813813872014821698054318801238063783912703048929529983736360744588171588689717605431419892967083492075828345100991697437143634950894692528488548506967664110557165368861051164350232517389590174966502533363779856838468907595489168820154051799075439301087061450923831304355631643054148991916458298489651304577285151321231116290767587652981830504044746502494521152209515793270727450250131177802565373439864823097246808026580536481288457780534433110621555799789082187092103113362521493209297848620066779474181424015751464236202089235787475702208125317266236236194144046473389561465197287807666285088604541903287128009913219300467303364206939343177169956941051664377208451204015378 21164741601350435087513298303200214578722570469402378457129281137395842715940631876617480178695441247322546837297656712793447479851168982844331615382562718391395507766146578557390085149387199421543394971850273217785453403807124303968798062289773199378799397800175221794172062912918341137676485899925823820409744061727329897445608194815047539289229966715649607763929619941800394152360753553787887200818423559651604544458520581871740285036105524293821224168308648332767467691052381964054092314214608221128412974401217599953243846337741304533617696115823709663694106373693450739344092430747119559443218353250665821295592158319026853408905881981579680926376992571169796311160691989983313695309844612652339428112702877268183773604104941663956366681909386828781447607987460331461082134360047322879627477996682957534677067429541924854035540001358659695879164746333009206348382050748521390392168160643446411085980826971565844819951668019694197566662356531426736369517415663215334756373675784633124146452807734546819716744525109231778909211997967473944483045081930375838500024532209551453448406786924004436915530893661746319703682625899940394211755221096940878159532442679709614430348577404770451615147886546235504004304015752756457511149105909289625728552315357362272459142102808893024283269906033287519539996274739900000047053995859158337595055172646420823692748745664378517121243897115675399060790905757410548877613972463318529168407449487776543836201239156500519510566276887943023234052832651921004418233602300334651115417277320990782493957522281928093488384873956581323035501735605538212372823609581970928901228901599437741727757592417001320524856764516246824026747625238034897166983780602895785817989332892203618252629 34245271274093881360618259655632339806554557506244744939059700816734024100201716828727814484280459713713683151167230507364380809357792803300869721156121736428914387803836885501799816721494497233068931247244986506860827746973999647581799217221197214160034317710005836397542055479241320266701237874558759355531367721920485421975996997400283069271947653217657054750772243545483509574486661621121358962631733746189676234365435017083451253958312316115516284142550751493641342688057900252902218397891088924760277540055133873378776044239245996449448378998950274813020601784434315364782940000194011100376207700100238402857514234069159787247902576943307478349045495562506074231910741507455461331662521166308651383342314786888049790926433189407670873363982546801281670470150255407739007040549977858483369137171003505629527024245770515086881775098267063485773691971755805109658149273689087793937502640360987990476524223196473484818214321985082687023293270413222537341962280147232362057764969660838075847566467120105931810780637307806596120364343351701758296917096752073892818825770273335366151455716453988173276275481833335009421288057319833361295247296925285979151229879823344565325041105893318958582811997103400872865355180102988974900739280875792159092332172195831180054631271629047076082345345334374580990920106044255631690108144851074795893544823950998108844069976780669284708896878946179443807293400278562758393407243190768779299585252053149983701024336403308546091102758176400803768485943273476804207315789392437764477938770530288631114024301756109517504136338192783412271289211307746337690089845818165072947702291160902939015565258702089925066760051644256737246048092541399104106326957772852726869653710100654822268007 55410012875444316448131557958832554385277127975647123396188981954129866816142348705345294662975900961036229988464887220157828289208961786145201336538684454820309895569983464059189901870881696654612326219095259724646281150781123951550597279510970413538833715510181058191714118392159661404377723774484583175941111783647815319421605192215330608561177619933306662514701863487283903726847415174909246163450157305841280778823955598955191538994417840409337508310859399826408810379110282216956310712105697145888690514456351473332019890576987300983066075114773984476714708158127766104127032430941130659819426053350904224153106392388186640656808458924887159275422488133675870543071433497438775026972365778960990811455017664156233564530538131071627240045891933630063118078137715739200089174910025181362996615167686463164204091675312439940917315099625723181652856718088814316006531324437609184329670801004434401562505050168039329638165990004776884589955626944649273711479695810447696814138645445471199994019274854652751527525162417038375029576341319175702779962178682449731318850302482886819599862503377992610191806375495081329124970683219773755507002518022226857310762322503054179755389683298089410197959883649636376869659195855745432411888386785081784820884487553193452513773374437940100365615251367662100530916380784155631737162140710233133488599996597418932536818722445047801830140776061854842868084306035973307271021215654087308467992701540926527537225575559809065601669035064343827002538775925397808625549391692772415593356047851279413607981824038037610992521212149364735306790946913284550062913455400136001848931192760340680743322851119091245591616816160503561272795717779434001273310738375748512687643042992858440520636 89655284149538197808749817614464894191831685481891868335248682770863890916344065534073109147256360674749913139632117727522209098566754589446071057694806191249224283373820349560989718592376193887681257466340246231507108897755123599132396496732167627698868033220186894589256173871400981671078961649043342531472479505568300741397602189615613677833125273150963717265474107032767413301334076796030605126081891052030957013189390616038642792952730156524853792453410151320050153067168182469858529109996786070648968054511485346710795934816233297432514454113724259289735309942562081468909972431135141760195633753451142627010620626457346427904711035868194637624467983696181944774982175004894236358634886945269642194797332451044283355456971320479298113409874480431344788548287971146939096215460003039846365752338689968793731115921082955027799090197892786667426548689844619425664680598126696978267173441365422392039029273364512814456380311989859571613248897357871811053441975957680058871903615106309275841585741974758683338305799724844971149940684670877461076879275434523624137676072756222185751318219831980783468081857328416338546258740539607116802249814947512836461992202326398745080430789191408368780771880753037249735014375958734407312627667660873943913216659749024632568404646066987176447960596702036681521836486828411263427270285561307929382144820548417041380888699225717086539037655008034286675377706314536065664428458844856087767577953594076511238249911963117611692771793240744630771024719198874612832865181085210180071294818381568044722006125794147128496657550342148147578080158221030887753003301218301074796633483921243619758888109821181170658376867804760298518843810320833105379637696148601239557296753093513262788643 145065297024982514256881375573297448577108813457538991731437664724993757732486414239418403810232261635786143128097004947680037387775716375591272394233490646069534178943803813620179620463257890542293583685435505956153390048536247550682993776243138041237701748730367952780970292263560643075456685423527925707413591289216116060819207381830944286394302893084270379780175970520051317028181491970939851289532048357872237792013346214993834331947147996934191300764269551146458963446278464686814839822102483216537658568967836820042815825393220598415580529228498243766450018100689847573037004862076272420015059806802046851163727018845533068561519494793081796899890471829857815318053608502333011385607252724230633006252350115200516919987509451550925353455766414061407906626425686886139185390370028221209362367506376431957935207596395394968716405297518509849079405407933433741671211922564306162596844242369856793601534323532552144094546301994636456203204524302521084764921671768127755686042260551780475835605016829411434865830962141883346179517025990053163856841454116973355456526375239109005351180723209973393659888232823497667671229423759380872309252332969739693772754524829452924835820472489497778978731764402673626604673571814479839724516054445955728734101147302218085082178020504927276813575848069698782052752867612566895164432426271541062870744817145835973917707421670764888369178431069889129543462012350509372935449674498943396235570655135003038775475487522926677294440828305088457773563495124272421458414572777982595664650866232847458329987949832184739489178762491512882884871105134315437815916756618437076645564676681584300502210960940272416249993683965263859791639528100267106652948434524349752244939796086371703309279 234720581174520712065631193187762342768940498939430860066686347495857648648830479773491512957488622310536056267729122675202246486342470965037343451928296837318758462317624163181169339055634084429974841151775752187660498946291371149815390272975305668936569781950554847370226466134961624746535647072571268238886070794784416802216809571446557964227428166235234097045650077552818730329515568766970456415613939409903194805202736831032477124899878153459045093217679702466509116513446647156673368932099269287186626623479322166753611760209453895848094983342222503056185328043251929041946977293211414180210693560253189478174347645302879496466230530661276434524358455526039760093035783507227247744242139669500275201049682566244800275444480772030223466865640894492752695174713658033078281605830031261055728119845066400751666323517478349996515495495411296516505954097778053167335892520691003140864017683735279185640563596897064958550926613984496027816453421660392895818363647725807814557945875658089751677190758804170118204136761866728317329457710660930624933720729551496979594202447995331191102498943041954177127970090151914006217488164298987989111502147917252530234746727155851669916251261680906147759503645155710876339687947773214247037143722106829672647317807051242717650582666571914453261536444771735463574589354440978158591702711832848992252889637694253015298596120896481974908216086077923416218839718665045438599878133343799484003148608729079550013725399486044288987212621545833088544588214323147034291279753863192775735945684614415503051994075626331867985836312833661030462951263355346325568920057836738151442198160602827920261099070761453586908370551770024158310483338421100212032586130672950991802236549179884966097922 379785878199503226322512568761059791346049312396969851798124012220851406381316894012909916767720883946322199395826127622882283874118187340628615846161787483388292641261427976801348959518891974972268424837211258143813888994827618700498384049218443710174271530680922800151196758398522267821992332496099193946299662084000532863036016953277502250621731059319504476825826048072870047357697060737910307705145987767775432597216083046026311456847026150393236393981949253612968079959725111843488208754201752503724285192447158986796427585602674494263675512570720746822635346143941776614983982155287686600225753367055236329338074664148412565027750025454358231424248927355897575411089392009560259129849392393730908207302032681445317195431990223581148820321407308554160601801139344919217466996200059482265090487351442832709601531113873744965231900792929806365585359505711486909007104443255309303460861926105135979242097920429617102645472915979132484019657945962913980583285319493935570243988136209870227512795775633581553069967724008611663508974736650983788790562183668470335050728823234440196453679666251927570787858322975411673888717588058368861420754480886992224007501251985304594752071734170403926738235409558384502944361519587694086761659776552785401381418954353460802732760687076841730075112292841434245627342222053545053756135138104390055123634454840088989216303542567246863277394517147812545762301731015554811535327807842742880238719263864082588789200887008970966281653449850921546318151709447419455749694326641175371400596550847262961381982025458516607475015075325173913347822368489661763384836814455175228087762837284412220763310031701726003158364235735288018102122866521367318685534565197300744047176345266256669407201 614506459374023938388143761948822134114989811336400711864810359716709055030147373786401429725209506256858255663555250298084530360460658305665959298090084320707051103579052139982518298574526059402243265988987010331474387941118989850313774322193749379110841312631477647521423224533483892568527979568670462185185732878784949665252826524724060214849159225554738573871476125625688777687212629504880764120759927177678627402418819877058788581746904303852281487199628956079477196473171759000161577686301021790910911815926481153550039345812128390111770495912943249878820674187193705656930959448499100780436446927308425807512422309451292061493980556115634665948607382881937335504125175516787506874091532063231183408351715247690117470876470995611372287187048203046913296975853002952295748602030090743320818607196509233461267854631352094961747396288341102882091313603489540076342996963946312444324879609840415164882661517326682061196399529963628511836111367623306876401648967219743384801934011867959979189986534437751671274104485875339980838432447311914413724282913219967314644931271229771387556178609293881747915828413127325680106205752357356850532256628804244754242247979141156264668322995851310074497739054714095379284049467360908333798803498659615074028736761404703520383343353648756183336648737613169709201931576494523212347837849937239047376524092534342004514899663463728838185610603225735961981141449680600250135205941186542364241867872593162138802926286495015255268866071396754634862739923770566490040974080504368147136542235461678464433976101084848475460851388158834943810773631845008088953756872291913379529960997887240141024409102463179590066734787505312176412606204942467530718120695870251735849412894446141635505123 994292337573527164710656330709881925461039123733370563662934371937560461411464267799311346492930390203180455059381377920966814234578845646294575144251871804095343744840480116783867258093418034374511690826198268475288276935946608550812158371412193089285112843312400447672619982932006160390520312064769656131485394962785482528288843478001562465470890284874243050697302173698558825044909690242791071825905914945454059999634902923085100038593930454245517881181578209692445276432896870843649786440502774294635197008373640140346466931414802884375446008483663996701456020331135482271914941603786787380662200294363662136850496973599704626521730581569992897372856310237834910915214567526347766003940924456962091615653747929135434666308461219192521107508455511601073898776992347871513215598230150225585909094547952066170869385745225839926979297081270909247676673109201026985350101407201621747785741535945551144124759437756299163841872445942760995855769313586220856984934286713678955045922148077830206702782310071333224344072209883951644347407183962898202514845096888437649695660094464211584009858275545809318703686736102737353994923340415725711953011109691236978249749231126460859420394730021714001235974464272479882228410986948602420560463275212400475410155715758164323116104040725597913411761030454603954829273798548068266103972988041629102500158547374430993731203206030975701463005120373548507743443180696155061670533749029285244480587136457244727592127173503986221550519521247676181180891633217985945790668407145543518537138786308941425815958126543365082935866463484008857158596000334669852338593686747088607617723835171652361787719134164905593225099023240600194514729071463834849403655261067552479896589239712398304912324 1608798796947551103098800092658704059576028935069771275527744731654269516441611641585712776218139896460038710722936628219051344595039503951960534442341956124802394848419532256766385556667944093776754956815185278806762664877065598401125932693605942468395954155943878095194043207465490052959048291633440118316671127841570432193541670002725622680320049510428981624568778299324247602732122319747671835946665842123132687402053722800143888620340834758097799368381207165771922472906068629843811364126803796085546108824300121293896506277226931274487216504396607246580276694518329187928845901052285888161098647221672087944362919283050996688015711137685627563321463693119772246419339743043135272878032456520193275024005463176825552137184932214803893394695503714647987195752845350823808964200260240968906727701744461299632137240376577934888726693369612012129767986712690567061693098371147934192110621145785966309007420955082981225038271975906389507691880681209527733386583253933422339847856159945790185892768844509084895618176695759291625185839631274812616239128010108404964340591365693982971566036884839691066619515149230063034101129092773082562485267738495481732491997210267617124088717725873024075733713518986575261512460454309510754359266773872015549438892477162867843499447394374354096748409768067773664031205375042591478451810837978868149876682639908772998246102869494704539648615723599284469724584630376755311805739690215827608722455009050406866395053459999001476819385592644430816043631556988552435831642487649911665673681021770619890249934227628213558396717851642843800969369632179677941292350559039001987147684833058892502812128236628085183291833810745912370927335276406302380121775956937804215746002134158539940417447 2603091134521078267809456423368585985037068058803141839190679103591829977853075909385024122711070286663219165782318006140018158829618349598255109586593827928897738593260012373550252814761362128151266647641383547282050941813012206951938091065018135557681066999256278542866663190397496213349568603698209774448156522804355914721830513480727185145790939795303224675266080473022806427777032009990462907772571757068586747401688625723228988658934765212343317249562785375464367749338965500687461150567306570380181305832673761434242973208641734158862662512880271243281732714849464670200760842656072675541760847516035750081213416256650701314537441719255620460694320003357607157334554310569483038881973380977155366639659211105960986803493393433996414502203959226249061094529837698695322179798490391194492636796292413365803006626121803774815705990450882921377444659821891594047043199778349555939896362681731517453132180392839280388880144421849150503547649994795748590371517540647101294893778308023620392595551154580418119962248905643243269533246815237710818753973106996842614036251460158194555575895160385500385323201885332800388096052433188808274438278848186718710741746441394077983509112455894738076969687983259055143740871441258113174919730049084416024849048192921032166615551435099952010160170798522377618860479173590659744555783826020497252376841187283203991977306075525680241111620843972832977468027811072910373476273439245112853203042145507651593987180633502987698369905113892106997224523190206538381622310894795455184210819808079561316065892354171578641332584315126852658127965632514347793630944245786090594765408668230544864599847370792990776516932833986512565442064347870137229525431218005356695642591373870938245329771 4211889931468629370908256516027290044613096993872913114718423835246099494294687550970736898929210183123257876505254634359069503424657853550215644028935784053700133441679544630316638371429306221928021604456568826088813606690077805353064023758624078026077021155200156638060706397862986266308616895331649892764827650645926346915372183483452807826110989305732206299834858772347054030509154329738134743719237599191719434803742348523372877279275599970441116617943992541236290222245034130531272514694110366465727414656973882728139479485868665433349879017276878489862009409367793858129606743708358563702859494737707838025576335539701698002553152856941248024015783696477379403753894053612618311760005837497348641663664674282786538940678325648800307896899462940897048290282683049519131143998750632163399364498036874665435143866498381709704432683820494933507212646534582161108736298149497490132006983827517483762139601347922261613918416397755540011239530676005276323758100794580523634741634467969410578488319999089503015580425601402534894719086446512523434993101117105247578376842825852177527141932045225191451942717034562863422197181525961890836923546586682200443233743651661695107597830181767762152703401502245630405253331895567623929278996822956431574287940670083900010114998829474306106908580566590151282891684548633251223007594663999365402253523827191976990223408945020384780760236567572117447192612441449665685282013129460940461925497154558058460382234093501989175189290706536537813268154747195090817453953382445366849884500829850181206315826581799792199729302166769696459097335264694025734923294804825092581913093501289437367411975607421075959808766644732424936369399624276439609647207174943160911388593508029478185747218 6814981065989707638717712939395876029650165052676054953909102938837929472147763460355761021640280469786477042287572640499087662254276203148470753615529611982597872034939557003866891186190668350079288252097952373370864548503090012305002114823642213583758088154456435180927369588260482479658185499029859667212984173450282261637202696964179992971901929101035430975100939245369860458286186339728597651491809356260306182205430974246601865938210365182784433867506777916700657971583999631218733665261416936845908720489647644162382452694510399592212541530157149733143742124217258528330367586364431239244620342253743588106789751796352399317090594576196868484710103699834986561088448364182101350641979218474504008303323885388747525744171719082796722399103422167146109384812520748214453323797241023357892001294329288031238150492620185484520138674271377854884657306356473755155779497927847046071903346509249001215271781740761542002798560819604690514787180670801024914129618335227624929635412775993030971083871153669921135542674507045778164252333261750234253747074224102090192413094286010372082717827205610691837265918919895663810293233959150699111361825434868919153975490093055773091106942637662500229673089485504685548994203336825737104198726872040847599136988863004932176730550264574258117068751365112528901752163722223910967563378490019862654630365014475180982200715020546065021871857411544950424660640252522576058758286568706053315128539300065710054369414727004976873559195820428644810492677937401629199076264277240822034095320637929742522381718935971370841061886481896549117225300897208373528554239050611183176678502169519982232011822978214066736325699478718937501811463972146576839172638392948517607031184881900416431076989 11026870997458337009625969455423166074263262046548968068627526774084028966442451011326497920569490652909734918792827274858157165678934056698686397644465396036298005476619101634183529557619974572007309856554521199459678155193167817658066138582266291609835109309656591818988075986123468745966802394361509559977811824096208608552574880447632800798012918406767637274935798017716914488795340669466732395211046955452025617009173322769974743217485965153225550485450770457936948193829033761750006179955527303311636135146621526890521932180379065025562420547434028223005751533585052386459974330072789802947479836991451426132366087336054097319643747433138116508725887396312365964842342417794719662401985055971852649966988559671534064684850044731597030296002885108043157675095203797733584467795991655521291365792366162696673294359118567194224571358091872788391869952891055916264515796077344536203910330336766484977411383088683803616716977217360230526026711346806301237887719129808148564377047243962441549572191152759424151123100108448313058971419708262757688740175341207337770789937111862549609859759250835883289208635954458527232490415485112589948285372021551119597209233744717468198704772819430262382376490987750315954247535232393361033477723694997279173424929533088832186845549094048564223977331931702680184643848270857162190570973154019228056883888841667157972424123965566449802632093979117067871853252693972241744040299698166993777054036454623768514751648820506966048748486526965182623760832684596720016530217659686188883979821467779923728697545517771163040791188648666245576322636161902399263477533855436275758591595670809419599423798585635142696134466123451362438180863596423016448819845567891678518419778389929894616824207 17841852063448044648343682394819042103913427099225023022536629712921958438590214471682258942209771122696211961080399915357244827933210259847157151259995008018895877511558658638050420743810642922086598108652473572830542703696257829963068253405908505193593197464113026999915445574383951225624987893391369227190795997546490870189777577411812793769914847507803068250036737263086774947081527009195330046702856311712331799214604297016576609155696330336009984352957548374637606165413033392968739845216944240157544855636269171052904384874889464617774962077591177956149493657802310914790341916437221042192100179245195014239155839132406496636734342009334984993435991096147352525930790781976821013043964274446356658270312445060281590429021763814393752695106307275189267059907724545948037791593232678879183367086695450727911444851738752678744710032363250643276527259247529671420295294005191582275813676846015486192683164829445345619515538036964921040813892017607326152017337465035773494012460019955472520656062306429345286665774615494091223223752970012991942487249565309427963203031397872921692577586456446575126474554874354191042783649444263289059647197456420038751184723837773241289811715457092762612049580473255001503241738569219098137676450567038126772561918396093764363576099358622822341046083296815209086396011993081073158134351644039090711514253856142338954624838986112514824503951390662018296513892946494817802798586266873047092182575754689478569121063547511942922307682347393827434253510621998349215606481936927010918075142105709666251079264453742533881853075130562794693547937059110772792031772906047458935270097840329401831435621563849209432460165602170299939992327568569593287992483960840196125450963271830311047901196 28868723060906381657969651850242208178176689145773991091164156487005987405032665483008756862779261775605946879873227190215401993612144316545843548904460404055193882988177760272233950301430617494093907965206994772290220858889425647621134391988174796803428306773769618818903521560507419971591790287752878787168607821642699478742352457859445594567927765914570705524972535280803689435876867678662062441913903267164357416223777619786551352373182295489235534838408318832574554359242067154718746025172471543469180990782890697943426317055268529643337382625025206179155245191387363301250316246510010845139580016236646440371521926468460593956378089442473101502161878492459718490773133199771540675445949330418209308237301004731815655113871808545990782991109192383232424735002928343681622259389224334400474732879061613424584739210857319872969281390455123431668397212138585587684811090082536118479724007182781971170094547918129149236232515254325151566840603364413627389905056594843922058389507263917914070228253459188769437788874723942404282195172678275749631227424906516765733992968509735471302437345707282458415683190828812718275274064929375879007932569477971158348393957582490709488516488276523024994426071461005317457489273801612459171154174262035405945986847929182596550421648452671386565023415228517889271039860263938235348705324798058318768398142697809496927048962951678964627136045369779086168367145640467059546838885965040040869236612209313247083872712368018908971056168874359010058014343306595069232136699596613199802054963573489589979776809971513696922644263779229040269870573221013172055509306761483734693861693511138821430859420149484352128594631725621662378173191164992609736812329528731874643870741661760205664725403 46710575124354426306313334245061250282090116244999014113700786199927945843622879954691015804989032898302158840953627105572646821545354576393000700164455412074089760499736418910284371045241260416180506073859468345120763562585683477584202645394083301997021504237882645818818967134891371197216778181144248014359403819189190348932130035271258388337842613422373773775009272543890464382958394687857392488616759578876689215438381916803127961528878625825245519191365867207212160524655100547687485870389415783626725846419159868996330701930157994261112344702616384135304738849189674216040658162947231887331680195481841454610677765600867090593112431451808086495597869588607071016703923981748361688489913604864565966507613449792097245542893572360384535686215499658421691794910652889629660050982457013279658099965757064152496184062596072551713991422818374074944924471386115259105106384087727700755537684028797457362777712747574494855748053291290072607654495382020953541922394059879695552401967283873386590884315765618114724454649339436495505418925648288741573714674471826193697195999907608392995014932163729033542157745703166909318057714373639168067579766934391197099578681420263950778328203733615787606475651934260318960731012370831557308830624829073532718548766325276360913997747811294208906069498525333098357435872257019308506839676442097409479912396553951835881673801937791479451639996760441104464881038586961877349637472231913087961419187964002725652993775915530851893363851221752837492267853928593418447743181533540210720130105679199256230856074425256230804497338909791834963418510280123944847541079667531193629131791351468223262295041713333561561054797327791962318165518733562203024804813489572070769321704933590516712626599 75579298185260807964282986095303458460266805390773005204864942686933933248655545437699772667768294673908105720826854295788048815157498892938844249068915816129283643487914179182518321346671877910274414039066463117410984421475109125205337037382258098800449811011652264637722488695398791168808568468897126801528011640831889827674482493130703982905770379336944479299981807824694153818835262366519454930530662846041046631662159536589679313902060921314481054029774186039786714883897167702406231895561887327095906837202050566939757018985426523904449727327641590314459984040577037517290974409457242732471260211718487894982199692069327684549490520894281187997759748081066789507477057181519902363935862935282775274744914454523912900656765380906375318677324692041654116529913581233311282310371681347680132832844818677577080923273453392424683272813273497506613321683524700846789917474170263819235261691211579428532872260665703644091980568545615224174495098746434580931827450654723617610791474547791300661112569224806884162243524063378899787614098326564491204942099378342959431188968417343864297452277871011491957840936531979627593331779303015047075512336412362355447972639002754660266844692010138812600901723395265636418220286172444016479984799091108938664535614254458957464419396263965595471092913753850987628475732520957543855545001240155728248310539251761332808722764889470444078776042130220190633248184227428936896476358196953128830655800173315972736866488283549760864420020096111847550282197235188487679879881130153410522185069252688846210632884396769927727141602689020875233289083501137116903050386429014928322993484862607044693154461862817913689649429053413624696338709898554812761617143018303945413192446595350722377352002 122289873309615234270596320340364708742356921635772019318565728886861879092278425392390788472757327572210264561780481401360695636702853469331844949233371228203373403987650598092802692391913138326454920112925931462531747984060792602789539682776341400797471315249534910456541455830290162366025346650041374815887415460021080176606612528401962371243612992759318253074991080368584618201793657054376847419147422424917735847100541453392807275430939547139726573221140053246998875408552268250093717765951303110722632683621210435936087720915584518165562072030257974449764722889766711733331632572404474619802940407200329349592877457670194775142602952346089274493357617669673860524180981163268264052425776540147341241252527904316010146199658953266759854363540191700075808324824234122940942361354138360959790932810575741729577107336049464976397264236091871581558246154910816105895023858257991519990799375240376885895649973413278138947728621836905296782149594128455534473749844714603313163193441831664687251996884990424998886698173402815395293033023974853232778656773850169153128384968324952257292467210034740525499998682235146536911389493676654215143092103346753552547551320423018611045172895743754600207377375329525955378951298543275573788815423920182471383084380579735318378417144075259804377162412279184085985911604777976852362384677682253137728222935805713168690396566827261923530416038890661295098129222814390814246113830428866216792074988137318698389860264199080612757783871317864685042550051163781906127623062663693621242315174931888102441488958822026158531638941598812710196707593781261061750591466096546121952125276214075267955449503576151475250704226381205587014504228632117015786421956507876016182514151528941239089978601 197869171494876042234879306435668167202623727026545024523430671573795812340933970830090561140525622246118370282607335697148744451860352362270689198302287044332657047475564777275321013738585016236729334151992394579942732405535901727994876720158599499597921126261187175094263944525688953534833915118938501617415427100852970004281095021532666354149383372096262732374972888193278772020628919420896302349678085270958782478762700989982486589333000468454207627250914239286785590292449435952499949661513190437818539520823261002875844739901011042070011799357899564764224706930343749250622606981861717352274200618918817244575077149739522459692093473240370462491117365750740650031658038344788166416361639475430116515997442358839923046856424334173135173040864883741729924854737815356252224671725819708639923765655394419306658030609502857401080537049365369088171567838435516952684941332428255339226061066451956314428522234078981783039709190382520520956644692874890115405577295369326930773984916379455987913109454215231883048941697466194295080647122301417723983598873228512112559573936742296121589919487905752017457839618767126164504721272979669262218604439759115907995523959425773271312017587753893412808279098724791591797171584715719590268800223011291410047619994834194275842836540339225399848255326033035073614387337298934396217929678922408865976533475057474501499119331716732367609192081020881485731377407041819751142590188625819345622730788310634671126726752482630373622203891413976532592832248398970393807502943793847031764500244184576948652121843218796086258780544287833585429996677282398178653641852525561050275118761076682312648603965438969388940353655434619211710842938530671828548039099526179961595706598124291961467330603 320159044804491276505475626776032875944980648662317043841996400460657691433212396222481349613282949818328634844387817098509440088563205831602534147535658272536030451463215375368123706130498154563184254264918326042474480389596694330784416402934940900395392441510722085550805400355979115900859261768979876433302842560874050180887707549934628725392996364855580985449963968561863390222422576475273149768825507695876518325863242443375293864763940015593934200472054292533784465701001704202593667427464493548541172204444471438811932460816595560235573871388157539213989429820110460983954239554266191972077141026119146594167954607409717234834696425586459736984474983420414510555839019508056430468787416015577457757249970263155933193056083287439895027404405075441805733179562049479193167033079958069599714698465970161036235137945552322377477801285457240669729813993346333058579965190686246859216860441692333200324172207492259921987437812219425817738794287003345649879327140083930243937178358211120675165106339205656881935639870869009690373680146276270956762255647078681265687958905067248378882386697940492542957838301002272701416110766656323477361696543105869460543075279848791882357190483497648013015656474054317547176122883258995164057615646931473881430704375413929594221253684414485204225417738312219159600298942076911248580314356604662003704756410863187670189515898543994291139608119911542780829506629856210565388704019054685562414805776447953369516587016681710986379987762731841217635382299562752299935126006457540653006815419116465051093610802040822244790419485886646295626704271063659240404233318622107172227244037290757580604053469015120864191057881815824798725347167162788844334461056034055977778220749653233200557309204 518028216299367318740354933211701043147604375688862068365427072034453503774146367052571910753808572064447005126995152795658184540423558193873223345837945316868687498938780152643444719869083170799913588416910720622417212795132596058779293123093540399993313567771909260645069344881668069435693176887918378050718269661727020185168802571467295079542379736951843717824936856755142162243051495896169452118503592966835300804625943433357780454096940484048141827722968531820570055993451140155093617088977683986359711725267732441687777200717606602305585670746057103978214136750454210234576846536127909324351341645037963838743031757149239694526789898826830199475592349171155160587497057852844596885149055491007574273247412621995856239912507621613030200445269959183535658034299864835445391704805777778239638464121364580342893168555055179778558338334822609757901381831781850011264906523114502198442921508144289514752694441571241705027147002601946338695438979878235765284904435453257174711163274590576663078215793420888764984581568335203985454327268577688680745854520307193378247532841809544500472306185846244560415677919769398865920832039635992739580300982864985368538599239274565153669208071251541425823935572779109138973294467974714754326415869942765291478324370248123870064090224753710604073673064345254233214686279375845644798244035527070869681289885920662171688635230260726658748800200932424266560884036898030316531294207680504908037536564758588040643313769164341360002191654145817750228214547961722693742628950251387684771315663301041999745732645259618331049200030174479881056700948346057419057875171147668222502362798367439893252657434454090253131411537250444010436190105693460672882500155560235939373927347777525162024639807 838187261103858595245830559987733919092585024351179112207423472495111195207358763275053260367091521882775639971382969894167624628986764025475757493373603589404717950401995528011568425999581325363097842681829046664891693184729290389563709526028481300388706009282631346195874745237647185336552438656898254484021112222601070366056510121401923804935376101807424703274900825317005552465474072371442601887329100662711819130489185876733074318860880499642076028195022824354354521694452844357687284516442177534900883929712203880499709661534202162541159542134214643192203566570564671218531086090394101296428482671157110432910986364558956929361486324413289936460067332591569671143336077360901027353936471506585032030497382885151789432968590909052925227849675034625341391213861914314638558737885735847839353162587334741379128306500607502156036139620279850427631195825128183069844871713800749057659781949836622715076866649063501627014584814821372156434233266881581415164231575537187418648341632801697338243322132626545646920221439204213675828007414853959637508110167385874643935491746876792879354692883786737103373516220771671567336942806292316216941997525970854829081674519123357036026398554749189438839592046833426686149417351233709918384031516874239172909028745662053464285343909168195808299090802657473392814985221452756893378558392131732873386046296783849841878151128804720949888408320843967047390390666754240881919998226735190470452342341206541410159900785846052346382179416877658967863596847524474993677754956708928337778131082417507050839343447300440575839619516061126176683405219409716659462108489769775394729606835658197473856710903469211117322469419066268809161537272856249517216961211594291917152148097430758362581949011 1356215477403225913986185493199434962240189400040041180572850544529564698981505130327625171120900093947222645098378122689825809169410322219348980839211548906273405449340775680655013145868664496163011431098739767287308905979861886448343002649122021700382019577054540606840944090119315254772245615544816632534739381884328090551225312692869218884477755838759268421099837682072147714708525568267612054005832693629547119935115129310090854772957820983690217855917991356174924577687903984512780901605419861521260595654979936322187486862251808764846745212880271747170417703321018881453107932626522010620779824316195074271654018121708196623888276223240120135935659681762724831730833135213745624239085526997592606303744795507147645672881098530665955428294944993808877049248161779150083950442691513626078991626708699321722021475055662681934594477955102460185532577656910033081109778236915251256102703457980912229829561090634743332041731817423318495129672246759817180449136010990444593359504907392274001321537926047434411904803007539417661282334683431648318253964687693068022183024588686337379826999069632981663789194140541070433257774845928308956522298508835840197620273758397922189695606626000730864663527619612535825122711819208424672710447386817004464387353115910177334349434133921906412372763867002727626029671500828602538176802427658803743067336182704512013566786359065447608637208521776391313951274703652271198451292434415695378489878905965129450803214555010393706384371071023476718091811395486197687420383906960316022549446745718549050585076092560058906888819546235606057740106167755774078519983660917443617231969634025637367109368337923301370453880956316712819597727378549710190099461367154527856526075445208283524606588818 2194402738507084509232016053187168881332774424391220292780274017024675894188863893602678431487991615829998285069761092583993433798397086244824738332585152495678123399742771208666581571868245821526109273780568813952200599164591176837906712175150503000770725586337171953036818835356962440108798054201714887018760494106929160917281822814271142689413131940566693124374738507389153267173999640639054655893161794292258939065604315186823929091818701483332293884113014180529279099382356828870468186121862039056161479584692140202687196523786010927387904755014486390362621269891583552671639018716916111917208306987352184704565004486267153553249762547653410072395727014354294502874169212574646651593021998504177638334242178392299435105849689439718880656144620028434218440462023693464722509180577249473918344789296034063101149781556270184090630617575382310613163773482038216150954649950716000313762485407817534944906427739698244959056316632244690651563905513641398595613367586527632012007846540193971339564860058673980058825024446743631337110342098285607955762074855078942666118516335563130259181691953419718767162710361312742000594717652220625173464296034806695026701948277521279225722005180749920303503119666445962511272129170442134591094478903691243637296381861572230798634778043090102220671854669660201018844656722281359431555360819790536616453382479488361855444937487870168558525616842620358361341665370406512080371290661150885848942221247171670860963115340856446052766550487901135685955408243010672681098138863669244360327577828136056101424419539860499482728439062296732234423511387165490737982092150687219011961576469683834840966079241392512487776350375382981628759264651405959707316422578748819773678223542639041887188537829 3550618215910310423218201546386603843572963824431261473353124561554240593170369023930303602608891709777220930168139215273819242967807408464173719171796701401951528849083546889321594717736910317689120704879308581239509505144453063286249714824272524701152745163391712559877762925476277694881043669746531519553499875991257251468507135507140361573890887779325961545474576189461300981882525208906666709898994487921806059000719444496914783864776522467022511740031005536704203677070260813383249087727281900577422075239672076524874683386037819692234649967894758137533038973212602434124746951343438122537988131303547258976219022607975350177138038770893530208331386696117019334605002347788392275832107525501770244637986973899447080778730787970384836084439565022243095489710185472614806459623268763099997336416004733384823171256611932866025225095530484770798696351138948249232064428187631251569865188865798447174735988830332988291098048449668009146693577760401215776062503597518076605367351447586245340886397984721414470729827454283048998392676781717256274016039542772010688301540924249467639008691023052700430951904501853812433852492498148934129986594543642535224322222035919201415417611806750651168166647286058498336394840989650559263804926290508248101683734977482408132984212177012008633044618536662928644874328223109961969732163247449340359520718662192873869011723846935616167162825364396749675292940074058783278822583095566581227432100153136800311766329895866839759150921558924612404047219638496870368518522770629560382877024573854605152009495632420558389617258608532338292163617554921264816502075811604662629193546103709472208075447579315813858230231331699694448356992029955669897415883945903347630204298987847325411795126647 5745020954417394932450217599573772724905738248822481766133398578578916487359232917532982034096883325607219215237900307857812676766204494708998457504381853897629652248826318097988176289605156139215229978659877395191710104309044240124156426999423027701923470749728884512914581760833240134989841723948246406572260370098186412385788958321411504263304019719892654669849314696850454249056524849545721365792156282214064998066323759683738712956595223950354805624144019717233482776452617642253717273849143939633583554824364216727561879909823830619622554722909244527895660243104185986796385970060354234455196438290899443680784027094242503730387801318546940280727113710471313837479171560363038927425129524005947882972229152291746515884580477410103716740584185050677313930172209166079528968803846012573915681205300767447924321038168203050115855713105867081411860124620986465383019078138347251883627674273615982119642416570031233250154365081912699798257483274042614371675871184045708617375197987780216680451258043395394529554851901026680335503018880002864229778114397850953354420057259812597898190382976472419198114614863166554434447210150369559303450890578449230251024170313440480641139616987500571471669766952504460847666970160092693854899405194199491738980116839054638931618990220102110853716473206323129663718984945391321401287524067239876975974101141681235724456661334805784725688442207017108036634605444465295359193873756717467076374321400308471172729445236723285811917472046825748090002627881507543049616661634298804743204602401990661253433915172281057872345697670829070526587128942086755554484167962291881641155122573393307049041526820708326346006581707082676077116256681361629604732306524652167403882522530486367298983664476 9295639170327705355668419145960376568478702073253743239486523140133157080529601941463285636705775035384440145406039523131631919734011903173172176676178555299581181097909864987309771007342066456904350683539185976431219609453497303410406141823695552403076215913120597072792344686309517829870885393694777926125760246089443663854296093828551865837194907499218616215323890886311755230939050058452388075691150770135871057067043204180653496821371746417377317364175025253937686453522878455636966361576425840211005630064036293252436563295861650311857204690804002665428699216316788420921132921403792356993184569594446702657003049702217853907525840089440470489058500406588333172084173908151431203257237049507718127610216126191193596663311265380488552825023750072920409419882394638694335428427114775673913017621305500832747492294780135916141080808636351852210556475759934714615083506325978503453492863139414429294378405400364221541252413531580708944951061034443830147738374781563785222742549435366462021337656028116809000284679355309729333895695661720120503794153940622964042721598184062065537199073999525119629066519365020366868299702648518493433437485122091765475346392349359682056557228794251222639836414238562959184061811149743253118704331484707739840663851816537047064603202397114119486761091742986058308593313168501283371019687314689217335494819803874109593468385181741400892851267571413857711927545518524078638016456852284048303806421553445271484495775132590125571068393605750360494049847520004413418135184404928365126081626975845266405443410804701616261962956279361408818750746497008020370986243773896544270348668677102779257116974400024140204236813038782370525473248711317299502148190470555515034086821518333692710778791123 15040660124745100288118636745534149293384440322076225005619921718712073567888834858996267670802658360991659360643939830989444596500216397882170634180560409197210833346736183085297947296947222596119580662199063371622929713762541543534562568823118580104999686662849481585706926447142757964860727117643024332698020616187630076240085052149963370100498927219111270885173205583162209479995574907998109441483307052349936055133366963864392209777966970367732122988319044971171169229975496097890683635425569779844589184888400509979998443205685480931479759413713247193324359459420974407717518891464146591448381007885346146337787076796460357637913641407987410769785614117059647009563345468514470130682366573513666010582445278482940112547891742790592269565607935123597723350054603804773864397230960788247828698826606268280671813332948338966256936521742218933622416600380921179998102584464325755337120537413030411414020821970395454791406778613493408743208544308486444519414245965609493840117747423146678701788914071512203529839531256336409669398714541722984733572268338473917397141655443874663435389456975997538827181134228186921302746912798888052736888375700540995726370562662800162697696845781751794111506181191067420031728781309835946973603736678907231579643968655591685996222192617216230340477564949309187972312298113892604772307211381929094311468920945555345317925046516547185618539709778430965748562150962989373997210330609001515380180742953753742657225220369313411382985865652576108584052475401511956467751846039227169869286229377835927658877325976982674134308653950190479345337875439094775925470411736188425911503791250496086306158501220732466550243394745865046602589505392678929106880496995207682437969344048820060009762455599 24336299295072805643787055891494525861863142395329968245106444858845230648418436800459553307508433396376099506049979354121076516234228301055342810856738964496792014444646048072607718304289289053023931345738249348054149323216038846944968710646814132508075902575970078658499271133452275794731612511337802258823780862277073740094381145978515235937693834718329887100497096469473964710934624966450497517174457822485807112200410168045045706599338716785109440352494070225108855683498374553527649997001995620055594814952436803232435006501547131243336964104517249858753058675737762828638651812867938948441565577479792848994790126498678211545439481497427881258844114523647980181647519376665901333939603623021384138192661404674133709211203008171080822390631685196518132769936998443468199825658075563921741716447911769113419305627728474882398017330378570785832973076140855894613186090790304258790613400552444840708399227370759676332659192145074117688159605342930274667152620747173279062860296858513140723126570099629012530124210611646139003294410203443105237366422279096881439863253627936728972588530975522658456247653593207288171046615447406546170325860822632761201716955012159844754254074576003016751342595429630379215790592459579200092308068163614971420307820472128733060825395014330349827238656692295246280905611282393888143326898696618311646963740749429454911393431698288586511390977349844823460489696481513452635226787461285563683987164507199014141720995501903536954054259258326469078102322921516369885887030444155534995367856353681194064320736781684290396271610229551888164088621936102796296456655510084970181852459927598865563275475620756606754480207784647417128062754103996228609028687465763197472056165567153752720541246722 39376959419817905931905692637028675155247582717406193250726366577557304216307271659455820978311091757367758866693919185110521112734444698937513445037299373694002847791382231157905665601236511649143512007937312719677079036978580390479531279469932712613075589238819560244206197580595033759592339628980826591521801478464703816334466198128478606038192761937441157985670302052636174190930199874448606958657764874835743167333777131909437916377305687152841563340813115196280024913473870651418333632427565399900183999840837313212433449707232612174816723518230497052077418135158737236356170704332085539889946585365138995332577203295138569183353122905415292028629728640707627191210864845180371464621970196535050148775106683157073821759094750961673091956239620320115856119991602248242064222889036352169570415274518037394091118960676813848654953852120789719455389676521777074611288675254630014127733937965475252122420049341155131124065970758567526431368149651416719186566866712782772902978044281659819424915484171141216059963741867982548672693124745166089970938690617570798837004909071811392407977987951520197283428787821394209473793528246294598907214236523173756928087517674960007451950920357754810862848776620697799247519373769415147065911804842522202999951789127720419057047587631546580167716221641604434253217909396286492915634110078547405958432661694984800229318478214835772129930687128275789209051847444502826632437118070287079064167907460952756798946215871216948337040124910902577662154798323028326353638876483382704864654085731517121723198062758666964530580264179742367509426497375197572221927067246273396093356251178094951869433976841489073304723602530512463730652259496675157715909184460970879910025509615973812730303702321 63713258714890711575692748528523201017110725112736161495832811436402534864725708459915374285819525153743858372743898539231597628968672999992856255894038338190794862236028279230513383905525800702167443353675562067731228360194619237424499990116746845121151491814789638902705468714047309554323952140318628850345582340741777556428847344106993841975886596655771045086167398522110138901864824840899104475832222697321550279534187299954483622976644403937951003693307185421388880596972245204945983629429561019955778814793274116444868456208779743418153687622747746910830476810896500064994822517200024488331512162844931844327367329793816780728792604402843173287473843164355607372858384221846272798561573819556434286967768087831207530970297759132753914346871305516633988889928600691710264048547111916091312131722429806507510424588405288731052971182499360505288362752662632969224474766044934272918347338517920092830819276711914807456725162903641644119527754994346993853719487459956051965838341140172960148042054270770228590087952479628687675987534948609195208305112896667680276868162699748121380566518927042855739676441414601497644840143693701145077540097345806518129804472687119852206204994933757827614191372050328178463309966228994347158219873006137174420259609599849152117872982645876929994954878333899680534123520678680381058961008775165717605396402444414255140711909913124358641321664478120612669541543926016279267663905531572642748155071968151770940667211373120485291094384169229046740257121244544696239525906927538239860021942085198315787518799540351254926851874409294255673515119311300368518383722756358366275208711105693817432709452462245680059203810315159880858715013600671386324937871926734077382081675183127565450844949043 103090218134708617507598441165551876172358307830142354746559178013959839081032980119371195264130616911111617239437817724342118741703117698930369700931337711884797710027410510388419049506762312351310955361612874787408307397173199627904031269586679557734227081053609199146911666294642343313916291769299455441867383819206481372763313542235472448014079358593212203071837700574746313092795024715347711434489987572157293446867964431863921539353950091090792567034120300617668905510446115856364317261857126419855962814634111429657301905916012355592970411140978243962907894946055237301350993221532110028221458748210070839659944533088955349912145727308258465316103571805063234564069249067026644263183544016091484435742874770988281352729392510094427006303110925836749845009920202939952328271436148268260882546996947843901601543549082102579707925034620150224743752429184410043835763441299564287046081276483395344953239326053069938580791133662209170550895904645763713040286354172738824868816385421832779572957538441911444650051694347611236348680659693775285179243803514238479113873071771559513788544506878563053023105229235995707118633671939995743984754333868980275057891990362079859658155915291512638477040148671025977710829339998409494224131677848659377420211398727569571174920570277423510162671099975504114787341430074966873974595118853713123563829064139399055370030388127960130771252351606396401878593391370519105900101023601859721812322979429104527739613427244337433628134509080131624402411919567573022593164783410920944724676027816715437510716862299018219457432138589036623182941616686497940740310790002631762368564962283788769302143429303734753363927412845672344589367273097346544040847056387704957292107184799101378181148651364 166803476849599329083291189694075077189469032942878516242391989450362373945758688579286569549950142064855475612181716263573716370671790698923225956825376050075592572263438789618932433412288113053478398715288436855139535757367818865328531259703426402855378572868398838049617135008689652868240243909618084292212966159948258929192160886342466289989965955248983248158005099096856451994659849556246815910322210269478843726402151731818405162330594495028743570727427486039057786107418361061310300891286687439811741629427385546102170362124792099011124098763725990873738371756951737366345815738732134516552970911055002683987311862882772130640938331711101638603577414969418841936927633288872917061745117835647918722710642858819488883699690269227180920649982231353383833899848803631662592319983260184352194678719377650409111968137487391310760896217119510730032115181847043013060238207344498559964428615001315437784058602764984746037516296565850814670423659640110706894005841632694876834654726562005739720999592712681673240139646827239924024668194642384480387548916410906159390741234471307635169111025805605908762781670650597204763473815633696889062294431214786793187696463049199711864360910225270466091231520721354156174139306227403841382351550854796551840471008327418723292793552923300440157625978309403795321464950753647255033556127628878841169225466583813310510742298041084489412574016084517014548134935296535385167764929133432364560478051397256298680280638617457918919228893249360671142669040812117718832690690338459184584697969901913753298235661839369474384284012998330878856456735997798309258694512758990128643773673389482586734852881765980433423131223160832225448082286698017930365784928314439034674188859982228943631993600407 269893694984307946590889630859626953361827340773020870988951167464322213026791668698657764814080758975967092851619533987915835112374908397853595657756713761960390282290849300007351482919050425404789354076901311642547843154541018493232562529290105960589605653922008037196528801303331996182156535678917539734080349979154740301955474428577938738004045313842195451229842799671602765087454874271594527344812197841636137173270116163682326701684544586119536137761547786656726691617864476917674618153143813859667704444061496975759472268040804454604094509904704234836646266703006974667696808960264244544774429659265073523647256395971727480553084059019360103919680986774482076500996882355899561324928661851739403158453517629807770236429082779321607926953093157190133678909769006571614920591419408452613077225716325494310713511686569493890468821251739660954775867611031453056896001648644062847010509891484710782737297928818054684618307430228059985221319564285874419934292195805433701703471111983838519293957131154593117890191341174851160373348854336159765566792719925144638504614306242867148957655532684168961785886899886592911882107487573692633047048765083767068245588453411279571522516825516783104568271669392380133884968646225813335606483228703455929260682407054988294467714123200723950320297078284907910108806380828614129008151246482591964733054530723212365880772686169044620183826367690913416426728326667054491067865952735292086372801030826360826419894065861795352547363402329492295545080960379690741425855473749380129309373997718629190808952524138387693841716151587367502039398352684296249999005302761621891012338635673271356036996311069715186787058636006504570037449559795364474406631984702143991966296044781330321813142251771 436697171833907275674180820553702030551296373715899387231343156914684586972550357277944334364030901040822568463801250251489551483046699096776821614582089812035982854554288089626283916331338538458267752792189748497687378911908837358561093788993532363444984226790406875246145936312021649050396779588535624026293316139102999231147635314920405027994011269091178699387847898768459217082114723827841343255134408111114980899672267895500731864015139081148279708488975272695784477725282837978984919044430501299479446073488882521861642630165596553615218608668430225710384638459958712034042624698996379061327400570320076207634568258854499611194022390730461742523258401743900918437924515644772478386673779687387321881164160488627259120128773048548788847603075388543517512809617810203277512911402668636965271904435703144719825479824056885201229717468859171684807982792878496069956239855988561406974938506486026220521356531583039430655823726793910799891743223925985126828298037438128578538125838545844259014956723867274791130330988002091084398017048978544245954341636336050797895355540714174784126766558489774870548668570537190116645581303207389522109343196298553861433284916460479283386877735742053570659503190113734290059107952453217176988834779558252481101153415382407017760507676124024390477923056594311705430271331582261384041707374111470805902279997307025676391514984210129109596400383775430430974863261963589876235630881868724450933279082223617125100174704479253271466592295578852966687750001191808460258546164087839313894071967620542944107188185977757168226000164585698380895855088682094559257699815520612019656112309062753942771849192835695620210189859167336795485531846493382404772416913016583026640484904763559265445135852178 706590866818215222265070451413328983913123714488920258220294324379006799999342025976602099178111660016789661315420784239405386595421607494630417272338803573996373136845137389633635399250388963863057106869091060140235222066449855851793656318283638324034589880712414912442674737615353645232553315267453163760373666118257739533103109743498343765998056582933374150617690698440061982169569598099435870599946605952751118072942384059183058565699683667267815846250523059352511169343147314896659537197574315159147150517550379497621114898206401008219313118573134460547030905162965686701739433659260623606101830229585149731281824654826227091747106449749821846442939388518382994938921398000672039711602441539126725039617678118435029356557855827870396774556168545733651191719386816774892433502822077089578349130152028639030538991510626379091698538720598832639583850403909949126852241504632624253985448397970737003258654460401094115274131157021970785113062788211859546762590233243562280241596950529682778308913855021867909020522329176942244771365903314704011521134356261195436399969846957041933084422091173943832334555470423783028527688790781082155156391961382320929678873369871758854909394561258836675227774859506114423944076598679030512595318008261708410361835822437395312228221799324748340798220134879219615539077712410875513049858620594062770635334528030238042272287670379173729780226751466343847401591588630644367303496834604016537306080113049977951520068770341048624013955697908345262232830961571499201684401637837219443203445965339172134916140710116144862067716316173065882935253441366390809256705118282233910668450944736025298808845503905410806997248495173841365522981406288746879179048897718727018606780949544889587258278103949 1143288038652122497939251271967031014464420088204819645451637481293691386971892383254546433542142561057612229779222034490894938078468306591407238886920893386032355991399425479259919315581727502321324859661280808637922600978358693210354750107277170687479574107502821787688820673927375294282950094855988787786666982257360738764250745058418748793992067852024552850005538597208521199251684321927277213855081014063866098972614651954683790429714822748416095554739498332048295647068430152875644456242004816458626596591039262019482757528371997561834531727241564686257415543622924398735782058358257002667429230799905225938916392913680726702941128840480283588966197790262283913376845913645444518098276221226514046920781838607062288476686628876419185622159243934277168704529004626978169946414224745726543621034587731783750364471334683264292928256189458004324391833196788445196808481360621185660960386904456763223780010991984133545929954883815881585004806012137844673590888270681690858779722789075527037323870578889142700150853317179033329169382952293248257475475992597246234295325387671216717211188649663718702883224040960973145173270093988471677265735157680874791112158286332238138296272297000890245887278049619848714003184551132247689584152787819960891462989237819802329988729475448772731276143191473531320969349043993136897091565994705533576537614525337263718663802654589302839376627135241774278376454850594234243539127716472740988239359195273595076620243474820301895480547993487198228920580962763307661942947801925058757097517932959715079023328896093902030293716480758764263831108530048485368514404933802845930324563253798779241580694696741106427207438354341178161008513252782129283951465810735310045247265854308448852703413956127 1849878905470337720204321723380359998377543802693739903671931805672698186971234409231148532720254221074401891094642818730300324673889914086037656159259696960028729128244562868893554714832116466184381966530371868778157823044808549062148406425560809011514163988215236700131495411542728939515503410123441951547040648375618478297353854801917092559990124434957927000623229295648583181421253920026713084455027620016617217045557036013866848995414506415683911400990021391400806816411577467772303993439579131617773747108589641517103872426578398570053844845814699146804446448785890085437521492017517626273531061029490375670198217568506953794688235290230105435409137178780666908315767311646116557809878662765640771960399516725497317833244484704289582396715412480010819896248391443753062379917046822816121970164739760422780903462845309643384626794910056836963975683600698394323660722865253809914945835302427500227038665452385227661204086040837852370117868800349704220353478503925253139021319739605209815632784433911010609171375646355975573940748855607952268996610348858441670695295234628258650295610740837662535217779511384756173700958884769553832422127119063195720791031656203996993205666858259726921115052909125963137947261149811278202179470796081669301824825060257197642216951274773521072074363326352750936508426756404012410141424615299596347172949053367501760936090324968476569156853886708118125778046439224878610842624551076757525545439308323573028140312245161350519494503691395543491153411924334806863627349439762278200300963898298887213939469606210046892361432796931830146766361971414876177771110052085079840993014198534804540389540200646517234204686849515019526531494659070876163130514708454037063854046803853338439961692060076 2993166944122460218143572995347391012841963890898559549123569286966389573943126792485694966262396782132014120873864853221195262752358220677444895046180590346061085119643988348153474030413843968505706826191652677416080424023167242272503156532837979698993738095718058487820316085470104233798453504979430739333707630632979217061604599860335841353982192286982479850628767892857104380672938241953990298310108634080483316018171687968550639425129329164100006955729519723449102463480007620647948449681583948076400343699628903536586629954950396131888376573056263833061861992408814484173303550375774628940960291829395601609114610482187680497629364130710389024375334969042950821692613225291561075908154883992154818881181355332559606309931113580708768018874656414287988600777396070731232326331271568542665591199327492206531267934179992907677555051099514841288367516797486839520469204225874995575906222206884263450818676444369361207134040924653733955122674812487548893944366774606943997801042528680736852956655012800153309322228963535008903110131807901200526472086341455687904990620622299475367506799390501381238101003552345729318874228978758025509687862276744070511903189942536235131501939155260617167002330958745811851950445700943525891763623583901630193287814298076999972205680750222293803350506517826282257477775800397149307232990610005129923710563578704765479599892979557779408533481021949892404154501289819112854381752267549498513784798503597168104760555719981652414975051684882741720073992887098114525570297241687336957398481831258602292962798502303948922655149277690594410597470501463361546285514985887925771317577452333583781970234897387623661412125203856197687540007911853005447081980519189347109101312658161787292665106016203 4843045849592797938347894718727751011219507693592299452795501092639087760914361201716843498982651003206416011968507671951495587426248134763482551205440287306089814247888551217047028745245960434690088792722024546194238247067975791334651562958398788710507902083933295187951811497012833173313956915102872690880748279008597695358958454662252933913972316721940406851251997188505687562094192161980703382765136254097100533063728723982417488420543835579783918356719541114849909279891585088420252443121163079694174090808218545053690502381528794701942221418870962979866308441194704569610825042393292255214491352858885977279312828050694634292317599420940494459784472147823617730008380536937677633718033546757795590841580872058056924143175598284998350415590068894298808497025787514484294706248318391358787561364067252629312171397025302551062181846009571678252343200398185233844129927091128805490852057509311763677857341896754588868338126965491586325240543612837253114297845278532197136822362268285946668589439446711163918493604609890984477050880663509152795468696690314129575685915856927734017802410131339043773318783063730485492575187863527579342109989395807266232694221598740232124707606013520344088117383867871774989897706850754804093943094379983299495112639358334197614422632024995814875424869844179033193986202556801161717374415225304726270883512632072267240535983304526255977690334908658010529932547729043991465224376818626256039330237811920741132900867965143002934469555376278285211227404811432921389197646681449615157699445729557489506902268108513995815016582074622424557363832472878237724056625037973005612310591650868388322359775098034140895616812053371217214071502570923881610212495227643384172955359462015125732626798076279 7836212793715258156491467714075142024061471584490859001919070379605477334857487994202538465245047785338430132842372525172690850178606355440927446251620877652150899367532539565200502775659804403195795618913677223610318671091143033607154719491236768409501640179651353675772127582482937407112410420082303430214455909641576912420563054522588775267954509008922886701880765081362791942767130403934693681075244888177583849081900411950968127845673164743883925312449060838299011743371592709068200892802747027770574434507847448590277132336479190833830597991927226812928170433603519053784128592769066884155451644688281578888427438532882314789946963551650883484159807116866568551700993762229238709626188430749950409722762227390616530453106711865707118434464725308586797097803183585215527032579589959901453152563394744835843439331205295458739736897109086519540710717195672073364599131317003801066758279716196027128676018341123950075472167890145320280363218425324802008242212053139141134623404796966683521546094459511317227815833573425993380161012471410353321940783031769817480676536479227209385309209521840425011419786616076214811449416842285604851797851672551336744597411541276467256209545168780961255119714826617586841848152551698329985706717963884929688400453656411197586628312775218108678775376362005315451463978357198311024607405835309856194594076210777032720135876284084035386223815930607902934087049018863104319606129086175754553115036315517909237661423685124655349444607061161026931301397698531035914767943923136952115097927560816091799865066610817944737671731352313018967961302974341599270342140023860931383628169103201972104330009995421764557028937257227414901611510482776887057294475746832731282056672120176913025291904092482 12679258643308056094839362432802893035280979278083158454714571472244565095771849195919381964227698788544846144810880197124186437604854490204409997457061164958240713615421090782247531520905764837885884411635701769804556918159118824941806282449635557120009542263584648863723939079495770580426367335185176121095204188650174607779521509184841709181926825730863293553132762269868479504861322565915397063840381142274684382145629135933385616266217000323667843669168601953148921023263177797488453335923910107464748525316065993643967634718007985535772819410798189792794478874798223623394953635162359139369942997547167556167740266583576949082264562972591377943944279264690186281709374299166916343344221977507746000564343099448673454596282310150705468850054794202885605594828971099699821738827908351260240713927461997465155610728230598009801918743118658197793053917593857307208729058408132606557610337225507790806533360237878538943810294855636906605603762038162055122540057331671338271445767065252630190135533906222481146309438183316977857211893134919506117409479722083947056362452336154943403111619653179468784738569679806700304024604705813184193907841068358602977291633140016699380917151182301305343237098694489361831745859402453134079649812343868229183513093014745395201050944800213923554200246206184348645450180913999472741981821060614582465477588842849299960671859588610291363914150839265913464019596747907095784830505904802010592445274127438650370562291650267658283914162437439312142528802509963957303965590604586567272797373290373581306767334719331940552688313426935443525325135447219836994398765061833936995938760754070360426689785093455905452645749310598632115683013053700768667506970974476115455012031582192038757918702168761 20515471437023314251330830146878035059342450862574017456633641851850042430629337190121920429472746573883276277653252722296877287783460845645337443708682042610391612982953630347448034296565569241081680030549378993414875589250261858548961001940872325529511182443236002539496066661978707987538777755267479551309660098291751520200084563707430484449881334739786180255013527351231271447628452969850090744915626030452268231227529547884353744111890165067551768981617662791447932766634770506556654228726657135235322959823913442234244767054487176369603417402725416605722649308401742677179082227931426023525394642235449135056167705116459263872211526524242261428104086381556754833410368061396155052970410408257696410287105326839289985049389022016412587284519519511472402692632154684915348771407498311161693866490856742300999050059435893468541655640227744717333764634789529380573328189725136407624368616941703817935209378579002489019282462745782226885966980463486857130782269384810479406069171862219313711681628365733798374125271756742971237372905606329859439350262753853764537038988815382152788420829175019893796158356295882915115474021548098789045705692740909939721889044681293166637126696351082266598356813521106948673594011954151464065356530307753158871913546671156592787679257575432032232975622568189664096914159271197783766589226895924438660071665053626332680807735872694326750137966769873816398106645766770200104436634990977765145560310442956559608223715335392313633358769498600339073830200208494993218733534527723519387895300851189673106632401330149885290360044779248462493286438421561436264740905085694868379566929857272332531019795088877670009674686567826047017294523536477655724801446721308846737068703702368951783210606261243 33194730080331370346170192579680928094623430140657175911348213324094607526401186386041302393700445362428122422464132919421063725388315335849747441165743207568632326598374721129695565817471334078967564442185080763219432507409380683490767284390507882649520724706820651403220005741474478567965145090452655672404864286941926127979606072892272193631808160470649473808146289621099750952489775535765487808756007172726952613373158683817739360378107165391219612650786264744596853789897948304045107564650567242700071485139979435878212401772495161905376236813523606398517128183199966300574035863093785162895337639782616691223907971700036212954476089496833639372048365646246941115119742360563071396314632385765442410851448426287963439645671332167118056134574313714358008287461125784615170510235406662421934580418318739766154660787666491478343574383346402915126818552383386687782057248133269014181978954167211608741742738816881027963092757601419133491570742501648912253322326716481817677514938927471943901817162271956279520434709940059949094584798741249365556759742475937711593401441151537096191532448828199362580896925975689615419498626253911973239613533809268542699180677821309866018043847533383571941593912215596310505339871356604598145006342651621388055426639685901987988730202375645955787175868774374012742364340185197256508571047956539021125549253896475632641479595461304618114052117609139729862126242514677295889267140895779775738005584570395209978786006985659971917272931936039651216359002718458950522699125132310086660692674141563254413399736049481825843048358206183906018611573868781273259139670147528805375505690611342692957709580182333575462320435878424679132977536590178424392308417695784962192080735284560990541129308430004 53710201517354684597501022726558963153965881003231193367981855175944649957030523576163222823173191936311398700117385641717941013171776181495084884874425250179023939581328351477143600114036903320049244472734459756634308096659642542039728286331380208179031907150056653942716072403453186555503922845720135223714524385233677648179690636599702678081689495210435654063159816972331022400118228505615578553671633203179220844600688231702093104489997330458771381632403927536044786556532718810601761793377224377935394444963892878112457168826982338274979654216249023004239777491601708977753118091025211186420732282018065826280075676816495476826687616021075900800152452027803695948530110421959226449285042794023138821138553753127253424695060354183530643419093833225830410980093280469530519281642904973583628446909175482067153710847102384946885230023574147632460583187172916068355385437858405421806347571108915426676952117395883516982375220347201360377537722965135769384104596101292297083584110789691257613498790637690077894559981696802920331957704347579224996110005229791476130440429966919248979953278003219256377055282271572530534972647802010762285319226550178482421069722502603032655170543884465838539950725736703259178933883310756062210362872959374546927340186357058580776409459951077988020151491342563676839278499456395040275160274852463459785620918950101965322287331333998944864190084379013546260232888281447495993703775886757540883565895013351769587009722321052285550631701434639990290189202926953943741432659660033606048587974992752927520032137379631711133408402985432368511898012290342709523880575233223673755072620468615025488729375271211245471995122446250726150272060126656080117109864417093808929149438986929942324339914691247 86904931597686054943671215306239891248589311143888369279330068500039257483431709962204525216873637298739521122581518561139004738560091517344832326040168457747656266179703072606839165931508237399016808914919540519853740604069023225530495570721888090828552631856877305345936078144927665123469067936172790896119388672175603776159296709491974871713497655681085127871306106593430773352608004041381066362427640375906173457973846915519832464868104495849990994283190192280641640346430667114646869358027791620635465930103872313990669570599477500180355891029772629402756905674801675278327153954118996349316069921800682517503983648516531689781163705517909540172200817674050637063649852782522297845599675179788581231990002179415216864340731686350648699553668146940188419267554406254145689791878311636005563027327494221833308371634768876425228804406920550547587401739556302756137442685991674435988326525276127035418694856212764544945467977948620493869108465466784681637426922817774114761099049717163201515315952909646357414994691636862869426542503088828590552869747705729187723841871118456345171485726831418618957952208247262145954471274055922735524932760359447025120250400323912898673214391417849410481544637952299569684273754667360660355369215610995934982766826042960568765139662326723943807327360116937689581642839641592296783731322809002480911170172846577597963766926795303562978242201988153276122359130796124791882970916782537316621571479583746979565795729306712257467904633370679641506548205645412894264131784792343692709280649134316181933431873429113536976456761191616274530509586159123982783020245380752479130578311079957718446438955453544820934315558324675405283249596716834504509418282112878771121230174271490932865469223121251 140615133115040739541172238032798854402555192147119562647311923675983907440462233538367748040046829235050919822698904202856945751731867698839917210914593707926680205761031424083982766045545140719066053387654000276488048700728665767570223857053268299007584539006933959288652150548380851678972990781892926119833913057409281424338987346091677549795187150891520781934465923565761795752726232546996644916099273579085394302574535147221925569358101826308762375915594119816686426902963385925248631151405015998570860375067765192103126739426459838455335545246021652406996683166403384256080272045144207535736802203818748343784059325333027166607851321538985440972353269701854333012179963204481524294884717973811720053128555932542470289035792040534179342972761980166018830247647686723676209073521216609589191474236669703900462082481871261372114034430494698180047984926729218824492828123850079857794674096385042462095646973608648061927843198295821854246646188431920451021531518919066411844683160506854459128814743547336435309554673333665789758500207436407815548979752935520663854282301085375594151439004834637875335007490518834676489443921857933497810251986909625507541320122826515931328384935302315249021495363689002828863207637978116722565732088570370481910107012400019149541549122277801931827478851459501366420921339097987337058891597661465940696791091796679563286054258129302507842432286367166822382592019077572287876674692669294857505137374597098749152805451627764543018536334805319631796737408572366838005564444452377298757868624127069109453464010808745248109865164177048643042407598449466692306900820613976152885650931548572743935168330724756066406310680770926131433521656843490584626528146529972580050379613258420875189809137812498 227520064712726794484843453339038745651144503291007931926641992176023164923893943500572273256920466533790440945280422763995950490291959216184749536954762165674336471940734496690821931977053378118082862302573540796341789304797688993100719427775156389836137170863811264634588228693308516802442058718065717015953301729584885200498284055583652421508684806572605909805772030159192569105334236588377711278526913954991567760548382062741758034226206322158753370198784312097328067249394053039895500509432807619206326305171637506093796310025937338635691436275794281809753588841205059534407425999263203885052872125619430861288042973849558856389015027056894981144554087375904970075829815987003822140484393153600301285118558111957687153376523726884828042526430127106207249515202092977821898865399528245594754501564163925733770454116640137797342838837415248727635386666285521580630270809841754293783000621661169497514341829821412606873311176244442348115754653898705132658958441736840526605782210224017660644130696456982792724549364970528659185042710525236406101849500641249851578124172203831939322924731666056494292959698766096822443915195913856233335184747269072532661570523150428830001599326720164659503040001641302398547481392645477382921101304181366416892873838442979718306688784604525875634806211576439056002564178739579633842622920470468421607961264643257161249821184924606070820674488355320098504951149873697079759645609451832174126708854180845728718601180934476800486440968175999273303285614217779732269696229244720991467149273261385291386895884237858785086321925368664917572917184608590675089921065994728632016229242628530462381607286178300887340626239095601536716771253560325089135946428642851351171609787529911808055278360933749 368135197827767534026015691371837600053699695438127494573953915852007072364356177038940021296967295768841360767979326966852896242023826915024666747869355873601016677701765920774804698022598518837148915690227541072829838005526354760670943284828424688843721709870745223923240379241689368481415049499958643135787214786994166624837271401675329971303871957464126691740237953724954364858060469135374356194626187534076962063122917209963683603584308148467515746114378431914014494152357438965144131660837823617777186680239402698196923049452397177091026981521815934216750272007608443790487698044407411420789674329438179205072102299182586022996866348595880422116907357077759303088009779191485346435369111127412021338247114044500157442412315767419007385499192107272226079762849779701498107938920744855183945975800833629634232536598511399169456873267909946907683371593014740405123098933691834151577674718046211959609988803430060668801154374540264202362400842330625583680489960655906938450465370730872119772945440004319228034104038304194448943542917961644221650829253576770515432406473289207533474363736500694369627967189284931498933359117771789731145436734178698040202890645976944761329984262022479908524535365330305227410689030623594105486833392751736898802980850842998867848237906882327807462285063035940422423485517837566970901514518131934362304752356439936724535875443053908578663106774722486920887543168951269367636320302121127031631846228777944477871406632562241343504977302981318905100023022790146570275260673697098290225017897388454400840359895046604033196187089545713560615324783058057367396821886608704784901880174177103206316775616903056953746936919866527668150292910403815673762474575172823931221989400788332683245087498746247 595655262540494328510859144710876345704844198729135426500595908028030237288250120539512294553887762302631801713259749730848846732315786131209416284824118039275353149642500417465626629999651896955231777992801081869171627310324043753771662712603581078679858880734556488557828607934997885283857108218024360151740516516579051825335555457258982392812556764036732601546009983884146933963394705723752067473153101489068529823671299272705441637810514470626269116313162744011342561401751492005039632170270631236983512985411040204290719359478334515726718417797610216026503860848813503324895124043670615305842546455057610066360145273032144879385881375652775403261461444453664273163839595178489168575853504281012322623365672156457844595788839494303835428025622234378433329278051872679320006804320273100778700477364997555368002990715151536966799712105325195635318758259300261985753369743533588445360675339707381457124330633251473275674465550784706550478155496229330716339448402392747465056247580954889780417076136461302020758653403274723108128585628486880627752678754218020367010530645493039472797288468166750863920926888051028321377274313685645964480621481447770572864461169127373591331583588742644568027575366971607625958170423269071488407934696933103315695854689285978586154926691486853683097091274612379478426049696577146604744137438602402783912713621083193885785696627978514649483781263077807019392494318824966447395965911572959205758555082958790206590007813496718143991418271157318178403308637007926302544956902941819281692167170649839692227255779284462818282509014914378478188241967666648042486742952603433416918109416805633668698382903081357841087563158962129204867064163964140762898421003815675282393599188318244491300365859679996 963790460368261862536874836082713945758543894167262921074549823880037309652606297578452315850855058071473162481239076697701742974339613046234083032693473912876369827344266338240431328022250415792380693683028622942001465315850398514442605997432005767523580590605301712481068987176687253765272157717983003287527731303573218450172826858934312364116428721500859293286247937609101298821455174859126423667779289023145491886794216482669125241394822619093784862427541175925357055554108930970183763831108454854760699665650442902487642408930731692817745399319426150243254132856421947115382822088078026726632220784495789271432247572214730902382747724248655825378368801531423576251849374369974515011222615408424343961612786200958002038201155261722842813524814341650659409040901652380818114743241017955962646453165831185002235527313662936136256585373235142543002129852315002390876468677225422596938350057753593416734319436681533944475619925324970752840556338559956300019938363048654403506712951685761900190021576465621248792757441578917557072128546448524849403508007794790882442937118782247006271652204667445233548894077335959820310633431457435695626058215626468613067351815104318352661567850765124476552110732301912853368859453892665593894768089684840214498835540128977454003164598369181490559376337648319900849535214414713575645651956734337146217465977523130610321572071032423228146888037800293940280037487776235815032286213694086237390401311736734684461414446058959487496395574138637083503331659798072872820217576638917571917185068038294093067615674331066851478696104460092038803566750724705409883564839212138201819989590982736875015158519984414794834500078828656873017357074367956436660895578988499213615588589106577174545453358426243 1559445722908756191047733980793590291463388092896398347575145731908067546940856418117964610404742820374104964194498826428550589706655399177443499317517591952151722976986766755706057958021902312747612471675829704811173092626174442268214268710035586846203439471339858201038897595111685139049129265936007363439268247820152270275508382316193294756928985485537591894832257921493248232784849880582878491140932390512214021710465515755374566879205337089720053978740703919936699616955860422975223396001379086091744212651061483106778361768409066208544463817117036366269757993705235450440277946131748642032474767239553399337792392845246875781768629099901431228639830245985087849415688969548463683587076119689436666584978458357415846633989994756026678241550436576029092738318953525060138121547561291056741346930530828740370238518028814473103056297478560338178320888111615264376629838420759011042299025397460974873858650069933007220150085476109677303318711834789287016359386765441401868562960532640651680607097712926923269551410844853640665200714174935405477156186762012811249453467764275286479068940672834196097469820965386988141687907745143081660106679697074239185931812984231691943993151439507769044579686099273520479327029877161737082302702786617943530194690229414956040158091289856035173656467612260699379275584910991860180389789395336739930130179598606324496107268699010937877630669300878100959672531806601202262428252125267045443148956394695524891051422259555677631487813845295955261906640296805999175365174479580736853609352238688133785294871453615529669761205119374470516991808718391353452370307791815571618738099007788370543713541423065772635922063237790786077884421238332097199559316582804174496009187777424821665845819218106239 2523236183277018053584608816876304237221931987063661268649695555788104856593462715696416926255597878445578126675737903126252332680995012223677582350211065865028092804331033093946489286044152728539993165358858327753174557942024840782656874707467592613727020061945159913519966582288372392814401423653990366726795979123725488725681209175127607121045414207038451188118505859102349531606305055442004914808711679535359513597259732238043692120600159708813838841168245095862056672509969353945407159832487540946504912316711926009266004177339797901362209216436462516513012126561657397555660768219826668759106988024049188609224640417461606684151376824150087054018199047516511425667538343918438198598298735097861010546591244558373848672191150017749521055075250917679752147359855177440956236290802309012703993383696659925372474045342477409239312882851795480721323017963930266767506307097984433639237375455214568290592969506614541164625705401434648056159268173349243316379325128490056272069673484326413580797119289392544518344168286432558222272842721383930326559694769807602131896404883057533485340592877501641331018715042722947961998541176600517355732737912700707798999164799336010296654719290272893521131796831575433332695889331054402676197470876302783744693525769543933494161255888225216664215843949909019280125120125406573756035441352071077076347645576129455106428840770043361105777557338678394899952569294377438077460538338961131680539357706432259575512836705614637118984209419434592345409971956604072048185392056219654425526537306726427878362487127946596521239901223834562555795375469116058862253872631027709820558088598771107418728699943050187430756563316619442950901778312700053636220212161792673709624776366531398840391272576532482 4082681906185774244632342797669894528685320079960059616224841287696172403534319133814381536660340698819683090870236729554802922387650411401121081667728657817179815781317799849652547244066055041287605637034688032564347650568199283050871143417503179459930459533285018114558864177400057531863530689589997730166064226943877759001189591491320901877974399692576043082950763780595597764391154936024883405949644070047573535307725247993418258999805496798533892819908949015798756289465829776920630555833866627038249124967773409116044365945748864109906673033553498882782770120266892847995938714351575310791581755263602587947017033262708482465920005924051518282658029293501599275083227313466901882185374854787297677131569702915789695306181144773776199296625687493708844885678808702501094357838363600069445340314227488665742712563371291882342369180330355818899643906075545531144136145518743444681536400852675543164451619576547548384775790877544325359477980008138530332738711893931458140632634016967065261404217002319467787895579131286198887473556896319335803715881531820413381349872647332819964409533550335837428488536008109936103686448921743599015839417609774946984930977783567702240647870729780662565711482930848953812022919208216139758500173662920727274888215998958889534319347178081251837872311562169718659400705036398433936425230747407817006477825174735779602536109469054298983408226639556495859625101100978640339888790464228177123688314101127784466564258965170314750472023264730547607316612253410071223550566535800391279135889545414561663657358581562126191001106343209033072787184187507412314624180422843281439296187606559477962442241366115960066678626554410229028786199551032150835779528744596848205633964143956220506237091794638721 6605918089462792298216951614546198765907252067023720884874536843484277260127781849510798462915938577265261217545974632681055255068645423624798664017939723682207908585648832943599036530110207769827598802393546360317522208510224123833528018124970772073657479595230178028078830759688429924677932113243988096892860206067603247726870800666448508999019813899614494271069269639697947295997459991466888320758355749582933048904984980231461951120405656507347731661077194111660812961975799130866037715666354167984754037284485335125310370123088662011268882249989961399295782246828550245551599482571401979550688743287651776556241673680170089150071382748201605336676228341018110700750765657385340080783673589885158687678160947474163543978372294791525720351700938411388597033038663879942050594129165909082149333697924148591115186608713769291581682063182151299620966924039475797911642452616727878320773776307890111455044589083162089549401496278978973415637248181487773649118037022421514412702307501293478842201336291712012306239747417718757109746399617703266130275576301628015513246277530390353449750126427837478759507251050832884065684990098344116371572155522475654783930142582903712537302590020053556086843279762424387144718808539270542434697644539223511019581741768502823028480603066306468502088155512078737939525825161805007692460672099478894082825470750865234708964950239097660089185783978234890759577670395356078417349328803189308804227671807560044042077095670784951869456232684165139952726584210014143271735958592020045704662426852140989542019845709508722712241007567043595628582559656623471176878053053870991259854276205330585381170941309166147497435189871029671979687977863732204471999740906389521915258740510487619346628364371171203 10688599995648566542849294412216093294592572146983780501099378131180449663662100983325179999576279276084944308416211362235858177456295835025919745685668381499387724366966632793251583774176262811115204439428234392881869859078423406884399161542473951533587939128515196142637694937088487456541462802833985827058924433011481006728060392157769410876994213592190537354020033420293545060388614927491771726707999819630506584212710228224880210120211153305881624480986143127459569251441628907786668271500220795023003162252258744241354736068837526121175555283543460282078552367095443093547538196922977290342270498551254364503258706942878571615991388672253123619334257634519709975833992970852241962969048444672456364809730650389953239284553439565301919648326625905097441918717472582443144951967529509151594674012151637256857899172085061173924051243512507118520610830115021329055778598135471323002310177160565654619496208659709637934177287156523298775115228189626303981856748916352972553334941518260544103605553294031480094135326549004955997219956514022601933991457833448428894596150177723173414159659978173316187995787058942820169371439020087715387411573132250601768861120366471414777950460749834218652554762693273340956741727747486682193197818202144238294469957767461712562799950244387720339960467074248456598926530198203441628885902846886711089303295925601014311501059708151959072594010617791386619202771496334718757238119267417485927915985908687828508641354635955266619928255948895687560043196463424214495286525127820436983798316397555551205677204291070848903242113910252628701369743844130883491502233476714272699150463811890063343613182675282107564113816425439901008474177414764355307779269650986370120892704654443839852865456165809924 17294518085111358841066246026762292060499824214007501385973914974664726923789882832835978462492217853350205525962185994916913432524941258650718409703608105181595632952615465736850620304286470580942803241821780753199392067588647530717927179667444723607245418723745374170716525696776917381219394916077973923951784639079084254454931192824217919876014027491805031625089303059991492356386074918958660047466355569213439633117695208456342161240616809813229356142063337239120382213417428038652705987166574963007757199536744079366665106191926188132444437533533421681374334613923993339099137679494379269892959241838906141059500380623048660766062771420454728956010485975537820676584758628237582043752722034557615052487891597864116783262925734356827640000027564316486038951756136462385195546096695418233744007710075785847973085780798830465505733306694658418141577754154497126967421050752199201323083953468455766074540797742871727483578783435502272190752476371114077630974785938774486966037249019554022945806889585743492400375073966723713106966356131725868064267034135076444407842427708113526863909786406010794947503038109775704235056429118431831758983728654726256552791262949375127315253050769887774739398042455697728101460536286757224627895462741367749314051699535964535591280553310694188842048622586327194538452355360008449321346574946365605172128766676466249020466009947249619161779794596026277378780441891690797174587448070606794732143657716247872550718450306740218489384488633060827512769780673438357767022483719840482688460743249696540747697050000579571615483121477296224329952303500754354668380286530585263959004740017220648724784123984448255061549006296469572988162155278496559779779010557375892036151445164931459199493820536981127 27983118080759925383915540438978385355092396360991281887073293105845176587451983816161158462068497129435149834378397357152771609981237093676638155389276486680983357319582098530102204078462733392058007681250015146081261926667070937602326341209918675140833357852260570313354220633865404837760857718911959751010709072090565261182991584981987330753008241083995568979109336480285037416774689846450431774174355388843946217330405436681222371360827963119110980623049480366579951464859056946439374258666795758030760361789002823608019842260763714253619992817076881963452886981019436432646675876417356560235229740390160505562759087565927232382054160092707852575344743610057530652418751599089824006721770479230071417297622248254070022547479173922129559648354190221583480870473609044828340498064224927385338681722227423104830984952883891639429784550207165536662188584269518456023199648887670524325394130629021420694037006402581365417756070592025570965867704560740381612831534855127459519372190537814567049412442879774972494510400515728669104186312645748469998258491968524873302438577885836700278069446384184111135498825168718524404427868138519547146395301786976858321652383315846542093203511519721993391952805148971069058202264034243906821093280943511987608521657303426248154080503555081909182009089660575651137378885558211890950232477793252316261432062602067263331967069655401578234373805213817663997983213388025515931825567338024280660059643624935701059359804942695485109312744581956515072812977136862572262309008847660919672259059647252091953374254291650420518725235387548853031322047344885238159882520007299536658155203829110712068397306659730362625662822721909473996636332693260915087558280208362262157044149819375299052359276702791051 45277636165871284224981786465740677415592220574998783273047208080509903511241866648997136924560714982785355360340583352069685042506178352327356565092884591862578990272197564266952824382749203973000810923071795899280653994255718468320253520877363398748078776576005944484070746330642322218980252634989933674962493711169649515637922777806205250629022268575800600604198639540276529773160764765409091821640710958057385850448100645137564532601444772932340336765112817605700333678276484985092080245833370721038517561325746902974684948452689902386064430350610303644827221594943429771745813555911735830128188982229066646622259468188975893148116931513162581531355229585595351329003510227327406050474492513787686469785513846118186805810404908278957199648381754538069519822229745507213536044160920345619082689432303208952804070733682722104935517856901823954803766338424015582990620699639869725648478084097477186768577804145453092901334854027527843156620180931854459243806320793901946485409439557368589995219332465518464894885474482452382211152668777474338062525526103601317710281005593950227141979232790194906083001863278494228639484297256951378905379030441703114874443646265221669408456562289609768131350847604668797159662800321001131448988743684879736922573356839390783745361056865776098024057712246902845675831240918220340271579052739617921433560829278533512352433079602651197396153599809843941376763655279716313106413015408631075392203301341183573610078255249435703598697233215017342585582757810300930029331492567501402360719802896948632701071304292229992134208356864845077361274350845639592828262806537884800617159943846331360793181430644178617687211829018379046984798487971757474867337290765738154193195594984306758251853097239772178 73260754246631209608897326904719062770684616935990065160120501186355080098693850465158295386629212112220505194718980709222456652487415446003994720482161078543562347591779662797055028461211937365058818604321811045361915920922789405922579862087282073888912134428266514797424966964507727056741110353901893425973202783260214776820914362788192581382030509659796169583307976020561567189935454611859523595815066346901332067778506081818786903962272736051451317388162297972280285143135541931531454504500166479069277923114749726582704790713453616639684423167687185608280108575962866204392489432329092390363418722619227152185018555754903125530171091605870434106699973195652881981422261826417230057196262993017757887083136094372256828357884082201086759296735944759653000692703354552041876542225145273004421371154530632057635055686566613744365302407108989491465954922693534039013820348527540249973872214726498607462614810548034458319090924619553414122487885492594840856637855649029406004781630095183157044631775345293437389395874998181051315338981423222808060784018072126191012719583479786927420048679174379017218500688447212753043912165395470926051774332228679973196096029581068211501660073809331761523303652753639866217865064355245038270082024628391724531095014142817031899441560420858007206066801907478496813210126476432231221811530532870237694992891880600775684400149258052775630527405023661605374746868667741829038238582746655356052262944966119274669438060192131188708009977796973857658395734947163502291640501415162322032978862544200724654445558583880412652933592252393930392596398190524830988145326545184337275315147675442072861578737303908980312874651740288520981434820665018389954895570974100416350239744803682057304212373942563229 118538390412502493833879113370459740186276837510988848433167709266864983609935717114155432311189927095005860555059564061292141694993593798331351285575045670406141337863977227064007852843961141338059629527393606944642569915178507874242833382964645472636990911004272459281495713295150049275721362988891827100935696494429864292458837140594397832011052778235596770187506615560838096963096219377268615417455777304958717918226606726956351436563717508983791654153275115577980618821412026916623534750333537200107795484440496629557389739166143519025748853518297489253107330170906295976138302988240828220491607704848293798807278023943879018678288023119033015638055202781248233310425772053744636107670755506805444356868649940490443634168288990480043958945117699297722520514933100059255412586386065618623504060586833841010439126420249335849300820264010813446269721261117549622004441048167409975622350298823975794231192614693487551220425778647081257279108066424449300100444176442931352490191069652551747039851107810811902284281349480633433526491650200697146123309544175727508723000589073737154562027911964573923301502551725706981683396462652422304957153362670383088070539675846289880910116636098941529654654500358308663377527864676246169719070768313271461453668370982207815644802617286634105230124514154381342489041367394652571493390583272488159128553721159134288036833228860703973026681004833505546751510523947458142144651598155286431444466246307302848279516315441566892306707211011991200243978492757464432320971993982663724393698665441149357355516862876110404787141949117239007753870749036164423816408133083069137892475091521773433654760167948087598000086480758667567966233308636775864822232861739838570543435339787988815556065471182335407 191799144659133703442776440275178802956961454446978913593288210453220063708629567579313727697819139207226365749778544770514598347481009244335346006057206748949703685455756889861062881305173078703118448131715417990004485836101297280165413245051927546525903045432538974078920680259657776332462473342793720526908899277690079069279751503382590413393083287895392939770814591581399664153031673989128139013270843651860049986005112808775138340525990245035242971541437413550260903964547568848154989254833703679177073407555246356140094529879597135665433276685984674861387438746869162180530792420569920610855026427467520950992296579698782144208459114724903449744755175976901115291848033880161866164867018499823202243951786034862700462526173072681130718241853644057375521207636454611297289128611210891627925431741364473068074182106815949593666122671119802937735676183811083661018261396694950225596222513550474401693807425241522009539516703266634671401595951917044140957082032091960758494972699747734904084482883156105339673677224478814484841830631623919954184093562247853699735720172553524081982076591138952940520003240172919734727308628047893231008927694899063061266635705427358092411776709908273291177958153111948529595392929031491207989152792941663185984763385125024847544244177707492112436191316061859839302251493871084802715202113805358396823546613039735063721233378118756748657208409857167152126257392615199971182890180901941787496729191273422122948954375633698081014717188808965057902374227704627934612612495397826046426677527985350082009962421459990817440075541369632938146467147226689254804553459628253475167790239197215506516338905251996578312961132498956088947668129301794254777128432713938986893675084591670872860277845124898636 310337535071636197276655553645638543143238291957967762026455919720085047318565284693469160009009066302232226304838108831806740042474603042666697291632252419355845023319734116925070734149134220041178077659109024934647055751279805154408246628016573019162893956436811433360416393554807825608183836331685547627844595772119943361738588643976988245404136066130989709958321207142237761116127893366396754430726620956818767904231719535731489777089707754019034625694712529128241522785959595764778524005167240879284868891995742985697484269045740654691182130204282164114494768917775458156669095408810748831346634132315814749799574603642661162886747137843936465382810378758149348602273805933906502272537774006628646600820435975353144096694462063161174677186971343355098041722569554670552701714997276510251429492328198314078513308527065285442966942935130616384005397444928633283022702444862360201218572812374450195925000039935009560759942481913715928680704018341493441057526208534892110985163769400286651124333990966917241957958573959447918368322281824617100307403106423581208458720761627261236544104503103526863821505791898626716410705090700315535966081057569446149337175381273647973321893346007214820832612653470257192972920793707737377708223561254934647438431756107232663189046794994126217666315830216241181791292861265737374208592697077846555952100334198869351758066606979460721683889414690672698877767916562658113327541779057228218941195437580724971228470691075264973321424399820956258146352720462092366933584489380489770820376193426499439365479284336101222227217490486871945900337896262853678620961592711322613060265330718988940171099073200084176313047613257623656913901437938570119599361294453777557437110424379659688416343316307234043 502136679730769900719431993920817346100199746404946675619744130173305111027194852272782887706828205509458592054616653602321338389955612287002043297689459168305548708775491006786133615454307298744296525790824442924651541587381102434573659873068500565688797001869350407439337073814465601940646309674479268154753495049810022431018340147359578658797219354026382649729135798723637425269159567355524893443997464608678817890236832344506628117615697999054277597236149942678502426750507164612933513260000944558461942299550989341837578798925337790356615406890266838975882207664644620337199887829380669442201660559783335700791871183341443307095206252568839915127565554735050463894121839814068368437404792506451848844772222010215844559220635135842305395428824987412473562930206009281849990843608487401879354924069562787146587490633881235036633065606250419321741073628739716944040963841557310426814795325924924597618807465176531570299459185180350600082299970258537582014608240626852869480136469148021555208816874123022581631635798438262403210152913448537054491496668671434908194440934180785318526181094242479804341509032071546451138013718748208766975008752468509210603811086701006065733670055915488112010570806582205722568313722739228585697376354196597833423195141232257510733290972701618330102507146278101021093544355136822176923794810883204952775646947238604415479299985098217470341097824547839851004025309177858084510431959959170006437924628854147094177425066708963054336141588629921316048726948166720301546196984778315817247053721411849521375441705796092039667293031856504884046805043489542933425515052339576088228055569916204446687437978452080754626008745756579745861569567240364374376489727167716544330785508971330561276621161432132679 812474214802406097996087547566455889243438038362914437646200049893390158345760136966252047715837271811690818359454762434128078432430215329668740589321711587661393732095225123711204349603441518785474603449933467859298597338660907588981906501085073584851690958306161840799753467369273427548830146006164815782598090821929965792756928791336566904201355420157372359687457005865875186385287460721921647874724085565497585794468551880238117894705405753073312222930862471806743949536466760377712037265168185437746811191546732327535063067971078445047797537094549003090376976582420078493868983238191418273548294692099150450591445786984104469981953390412776380510375933493199812496395645747974870709942566513080495445592657985568988655915097199003480072615796330767571604652775563952402692558605763912130784416397761101225100799160946520479600008541381035705746471073668350227063666286419670628033368138299374793543807505111541131059401667094066528763003988600031023072134449161744980465300238548308206333150865089939823589594372397710321578475195273154154798899775095016116653161695808046555070285597346006668163014823970173167548718809448524302941089810037955359940986467974654039055563401922702932843183460052462915541234516446965963405599915451532480861626897339490173922337767695744547768822976494342202884837216402559551132387507961051508727747281437473767237366592077678192024987239238512549881793225740516197837973739016398225379120066434872065405895757784228027657565988450877574195079668628812668479781474158805588067429914838348960740920990132193261894510522343376829947142939752396612046476645050898701288320900635193386858537051652164930939056359014203402775471005178934493975851021621494101767895933350990249692964477739366722 1314610894533175998715519541487273235343637784767861113265944180066695269372954989239034935422665477321149410414071416036449416822385827616670783887011170755966942440870716130497337965057748817529771129240757910783950138926042010023555566374153574150540487960175512248239090541183739029489476455680644083937351585871739988223775268938696145562998574774183755009416592804589512611654447028077446541318721550174176403684705384224744746012321103752127589820167012414485246376286973924990645550525169129996208753491097721669372641866896416235404412943984815842066259184247064698831068871067572087715749955251882486151383316970325547777077159642981616295637941488228250276390517485562043239147347359019532344290364879995784833215135732334845785468044621318180045167582981573234252683402214251314010139340467323888371688289794827755516233074147631455027487544702408067171104630127976981054848163464224299391162614970288072701358860852274417128845303958858568605086742689788597849945436707696329761541967739212962405221230170835972724788628108721691209290396443766451024847602629988831873596466691588486472504523856041719618686732528196733069916098562506464570544797554675660104789233457838191044853754266634668638109548239186194549102976269648130314284822038571747684655628740397362877871330122772443223978381571539381728056182318844256461503394228676078182716666577175895662366085063786352400885818534918374282348405698975568231817044695289019159583320824493191081993707577080798890243806616795532970025978458937121405314483636250198482116362695928285301561803554199881713993947983241939545471991697390474789516376470551397833545975030104245685565065104770783148637040572419298868352340748789210646098681442322320810969585639171499401 2127085109335582096711607089053729124587075823130775550912144229960085427718715126205286983138502749132840228773526178470577495254816042946339524476332882343628336172965941254208542314661190336315245732690691378643248736264702917612537472875238647735392178918481674089038844008553012457038306601686808899719949676693669954016532197730032712467199930194341127369104049810455387798039734488799368189193445635739673989479173936104982863907026509505200902043097874886291990325823440685368357587790337315433955564682644453996907704934867494680452210481079364845156636160829484777324937854305763505989298249943981636601974762757309652247059113033394392676148317421721450088886913131310018109857289925532612839735957537981353821871050829533849265540660417648947616772235757137186655375960820015226140923756865084989596789088955774275995833082689012490733234015776076417398168296414396651682881531602523674184706422475399613832418262519368483657608307947458599628158877138950342830410736946244637967875118604302902228810824543233683046367103303994845364089296218861467141500764325796878428666752288934493140667538680011892786235451337645257372857188372544419930485784022650314143844796859760893977696937726687131553650782755633160512508576185099662795146448935911237858577966508093107425640153099266785426863218787941941279188569826805307970231141510113551949954033169253573854391072303024864950767611760658890480186379437991966457196164761723891224989216582277419109651273565531676464438886285424345638505759933095926993381913551088547442857283686060478563456314076543258543941090922994336157518468342441373490804697371186591220404512081756410616504121463784986551412511577598233362328191770410704747866577375673311060662550116910866123 3441696003868758095427126630541002359930713607898636664178088410026780697091670115444321918561168226453989639187597594507026912077201870563010308363344053099595278613836657384705880279718939153845016861931449289427198875190744927636093039249392221885932666878657186337277934549736751486527783057367452983657301262565409942240307466668728858030198504968524882378520642615044900409694181516876814730512167185913850393163879320329727609919347613257328491863264887300777236702110414610359003138315506445430164318173742175666280346801763910915856623425064180687222895345076549476156006725373335593705048205195864122753358079727635200024136272676376008971786258909949700365277430616872061349004637284552145184026322417977138655086186561868695051008705038967127661939818738710420908059363034266540151063097332408877968477378750602031512066156836643945760721560478484484569272926542373632737729695066747973575869037445687686533777123371642900786453611906317168233245619828738940680356173653940967729417086343515864634032054714069655771155731412716536573379692662627918166348366955785710302263218980522979613172062536053612404922183865841990442773286935050884501030581577325974248634030317599085022550691993321800191760330994819355061611552454747793109431270974482985543233595248490470303511483222039228650841600359481323007244752145649564431734535738789630132670699746429469516757157366811217351653430295577264762534785136967534689013209457012910384572537406770610191644981142612475354682692902219878608531738392033048398696397187338745924973646381988763865018117630743140257935038906236275702990460039831848280321073841737989053950487111860656302069186568555769700049552150017532230680532519199915393965258817995631871632135756082365524 5568781113204340192138733719594731484517789431029412215090232639986866124810385241649608901699670975586829867961123772977604407332017913509349832839676935443223614786802598638914422594380129490160262594622140668070447611455447845248630512124630869621324845797138860426316778558289763943566089659054261883377250939259079896256839664398761570497398435162866009747624692425500288207733916005676182919705612821653524382643053256434710473826374122762529393906362762187069227027933855295727360726105843760864119882856386629663188051736631405596308833906143545532379531505906034253480944579679099099694346455139845759355332842484944852271195385709770401647934576331671150454164343748182079458861927210084758023762279955958492476957237391402544316549365456616075278712054495847607563435323854281766291986854197493867565266467706376307507899239525656436493955576254560901967441222956770284420611226669271647760575459921087300366195385891011384444061919853775767861404496967689283510766910600185605697292204947818766862842879257303338817522834716711381937468988881489385307849131281582588730929971269457472753839601216065505191157635203487247815630475307595304431516365599976288392478827177359979000247629720008931745411113750452515574120128639847455904577719910394223401811561756583577729151636321306014077704819147423264286433321972454872401965677248903182082624732915683043371148229669836082302421042056236155242721164574959501146209374218736801609561753989048029301296254708144151819121579187644224247037498325128975392078310738427293367830930068049242428474431707286398801876129829230611860508928382273221771125771212924580274354999193617066918573308032340756251462063727615765593008724289610620141831836193668942932294685872993231647 9010477117073098287565860350135733844448503038928048879268321050013646821902055357093930820260839202040819507148721367484631319409219784072360141203020988542818893400639256023620302874099068644005279456553589957497646486646192772884723551374023091507257512675796046763594713108026515430093872716421714867034552201824489838497147131067490428527596940131390892126145335040545188617428097522552997650217780007567374775806932576764438083745721736019857885769627649487846463730044269906086363864421350206294284201030128805329468398538395316512165457331207726219602426850982583729636951305052434693399394660335709882108690922212580052295331658386146410619720835241620850819441774365054140807866564494636903207788602373935631132043423953271239367558070495583202940651873234558028471494686888548306443049951529902745533743846456978339019965396362300382254677136733045386536714149499143917158340921736019621336444497366774986899972509262654285230515531760092936094650116796428224191123084254126573426709291291334631496874933971372994588678566129427918510848681544117303474197498237368299033193190249980452367011663752119117596079819069329238258403762242646188932546947177302262641112857494959064022798321713330731937171444745271870635731681094595249014008990884877208945045157005074048032663119543345242728546419506904587293678074118104436833700212987692812215295432662112512887905387036647299654074472351813420005255949711927035835222583675749711994134291395818639492941235850756627173804272089864102855569236717162023790774707925766039292804576450038006293492549338029539059811168735466887563499388422105070051446845054662569328305486305477723220642494600896525951511615877633297823689256808810535535797095011664574803926821629075597171 14579258230277438479704594069730465328966292469957461094358553690000512946712440598743539721960510177627649375109845140462235726741237697581709974042697923986042508187441854662534725468479198134165542051175730625568094098101640618133354063498653961128582358472934907189911491666316279373659962375475976750411803141083569734753986795466251999024995375294256901873770027466045476825162013528229180569923392829220899158449985833199148557572095858782387279675990411674915690757978125201813724590527193967158404083886515434992656450275026722108474291237351271751981958356888617983117895884731533793093741115475555641464023764697524904566527044095916812267655411573292001273606118113236220266728491704721661231550882329894123609000661344673783684107435952199278219363927730405636034930010742830072735036805727396613099010314163354646527864635887956818748632712987606288504155372455914201578952148405291269097019957287862287266167895153665669674577451613868703956054613764117507701889994854312179124001496239153398359717813228676333406201400846139300448317670425606688782046629518950887764123161519437925120851264968184622787237454272816486074034237550241493364063312777278551033591684672319043023045951433339663682582558495724386209851809734442704918586710795271432346856718761657625761814755864651256806251238654327851580111396090559309235665890236595994297920165577795556259053616706483381956495514408049575247977114286886536981431957894486513603696045384866668794237490558900778992925851277508327102606735042290999182853018664193332660635506518087248721966981045315937861687298564697499424008316804378291822572616267587149602660485499094790139215802633237282202973679605249063416697981098421155677628931205333517736221507502068828818 23589735347350536767270454419866199173414795508885509973626874740014159768614495955837470542221349379668468882258566507946867046150457481654070115245718912528861401588081110686155028342578266778170821507729320583065740584747833391018077614872677052635839871148730953953506204774342794803753835091897691617446355342908059573251133926533742427552592315425647793999915362506590665442590111050782178220141172836788273934256918409963586641317817594802245165445618061162762154488022395107900088454948544173452688284916644240322124848813422038620639748568558997971584385207871201712754847189783968486493135775811265523572714686910104956861858702482063222887376246814912852093047892478290361074595056199358564439339484703829754741044085297945023051665506447782481160015800964963664506424697631378379178086757257299358632754160620332985547830032250257201003309849720651675040869521955058118737293070141310890433464454654637274166140404416319954905092983373961640050704730560545731893013079108438752550710787530488029856592747200049327994879966975567218959166351969723992256244127756319186797316351769418377487862928720303740383317273342145724332437999792887682296610259954580813674704542167278107045844273146670395619754003240996256845583490829037953932595701680148641291901875766731673794477875407996499534797658161232438873789470208663746069366103224288806513215598239908069146959003743130681610569986759862995253233063998813572816654541570236225597830336780685308287178726409657406166730123367372429958175971759453022973627726589959371953440082968125255015459530383345476921498467300164386987507705226483361874019461322249718930965971804572513359858297234133808154485295482882361240387237907231691213426026216998092540148329131144425989 38168993577627975246975048489596664502381087978842971067985428430014672715326936554581010264181859557296118257368411648409102772891695179235780089288416836514903909775522965348689753811057464912336363558905051208633834682849474009151431678371331013764422229621665861143417696440659074177413797467373668367858158483991629308005120721999994426577587690719904695873685389972636142267752124579011358790064565666009173092706904243162735198889913453584632445121608472837677845246000520309713813045475738140611092368803159675314781299088448760729114039805910269723566343564759819695872743074515502279586876891286821165036738451607629861428385746577980035155031658388204853366654010591526581341323547904080225670890367033723878350044746642618806735772942399981759379379728695369300541354708374208451913123562984695971731764474783687632075694668138214019751942562708257963545024894410972320316245218546602159530484411942499561432308299569985624579670434987830344006759344324663239594903073962750931674712283769641428216310560428725661401081367821706519407484022395330681038290757275270074561439513288856302608714193688488363170554727614962210406472237343129175660673572731859364708296226839597150068890224580010059302336561736720643055435300563480658851182412475420073638758594528389299556292631272647756341048896815560290453900866299223055305031993460884800811135763817703625406012620449614063567065501167912570501210178285700109798086499464722739201526382165551977081416216968558185159655974644880757060782706801744022156480745254152704614075589486212503737426511428661414783185765864861886411516022030861653696592077589836868533626457303667303499074099867371090357458975088131424657085219005652846891054957422331610276369836633213254807 61758728924978512014245502909462863675795883487728481041612303170028832483941432510418480806403208936964587139626978156355969819042152660889850204534135749043765311363604076034844782153635731690507185066634371791699575267597307400169509293244008066400262100770396815096923901215001868981167632559271359985304513826899688881256254648533736854130180006145552489873600752479226807710342235629793537010205738502797447026963822653126321840207731048386877610567226534000439999734022915417613901500424282314063780653719803915636906147901870799349753788374469267695150728772631021408627590264299470766080012667098086688609453138517734818290244449060043258042407905203117705459701903069816942415918604103438790110229851737553633091088831940563829787438448847764240539395529660332965047779406005586831091210320241995330364518635404020617623524700388471220755252412428909638585894416366030439053538288687913049963948866597136835598448703986305579484763418361791984057464074885208971487916153071189684225423071300129458072903307628774989395961334797273738366650374365054673294534885031589261358755865058274680096577122408792103553872000957107934738910237136016857957283832686440178383000769006875257114734497726680454922090564977716899901018791392518612783778114155568714930660470295120973350770506680644255875846554976792729327690336507886801374398096685173607324351362057611694552971624192744745177635487927775565754443242284513682614741041034958964799356718946237285368594943378215591326386098012253187018958678561197045130108471844112076567515672454337758752886041812006891704684233165026273399023727257345015570611538912086587464592429108239816858932397101504898511944270571013785897472456912884538104480983639329702816518165764357680796 99927722502606487261220551399059528178176971466571452109597731600043505199268369064999491070585068494260705396995389804765072591933847840125630293822552585558669221139127041383534535964693196602843548625539423000333409950446781409320940971615339080164684330392062676240341597655660943158581430026645028353162672310891318189261375370533731280707767696865457185747286142451862949978094360208804895800270304168806620119670726896289057039097644501971510055688835006838117844980023435727327714545900020454674873022522963590951687446990319560078867828180379537418717072337390841104500333338814973045666889558384907853646191590125364679718630195638023293197439563591322558826355913661343523757242152007519015781120218771277511441133578583182636523211391247745999918775258355702265589134114379795283004333883226691302096283110187708249699219368526685240507194975137167602130919310777002759369783507234515209494433278539636397030757003556291204064433853349622328064223419209872211082819227033940615900135355069770886289213868057500650797042702618980257774134396760385354332825642306859335920195378347130982705291316097280466724426728572070145145382474479146033617957405418299543091296995846472407183624722306690514224427126714437542956454091955999271634960526630988788569419064823510272907063137953292012216895451792353019781591202807109856679430090146058408135487125875315319958984244642358808744700989095688136255653420570213792412827540499681704000883101111789262450011160346773776486042072657133944079741385362941067286589217098264781181591261940550262490312553240668306487869999029888159810539749288206669267203616501923455998218886411907120358006496968875988869403245659145210554557675918537384995535941061661313092888002397570935603 161686451427584999275466054308522391853972854954299933151210034770072337683209801575417971876988277431225292536622367961121042410976000501015480498356688334602434532502731117418379318118328928293350733692173794792032985218044088809490450264859347146564946431162459491337265498870662812139749062585916388338467186137791007070517630019067468134837947703011009675620886894931089757688436595838598432810476042671604067146634549549415378879305375550358387666256061540838557844714046351144941616046324302768738653676242767506588593594892190359428621616554848805113867801110021862513127923603114443811746902225482994542255644728643099498008874644698066551239847468794440264286057816731160466173160756110957805891350070508831144532222410523746466310649840095510240458170788016035230636913520385382114095544203468686632460801745591728867322744068915156461262447387566077240716813727143033198423321795922428259458382145136773232629205707542596783549197271711414312121687494095081182570735380105130300125558426369900344362117175686275640193004037416253996140784771125440027627360527338448597278951243405405662801868438506072570278298729529178079884292711615162891575241238104739721474297764853347664298359220033370969146517691692154442857472883348517884418738640786557503500079535118631246257833644633936268092742006769145749109281539314996658053828186831232015459838487932927014511955868835103553922336477023463702010096662854727475027568581534640668800239820058026547818606103724989367812428170669387131098700063924138112416697688942376857749106934394888021243198595052675198192554232194914433209563476545551684837815155414010043462811315520146937216938894070380887381347516230158996452030132831421923100016924700991015909406168161928616399 261614173930191486536686605707581920032149826420871385260807766370115842882478170640417462947573345925485997933617757765886115002909848341141110792179240920161103753641858158801913854083022124896194282317713217792366395168490870218811391236474686226729630761554522167577607096526323755298330492612561416691629858448682325259779005389601199415545715399876466861368173037382952707666530956047403328610746346840410687266305276445704435918403020052329897721944896547676675689694069786872269330592224323223413526698765731097540281041882509919507489444735228342532584873447412703617628256941929416857413791783867902395901836318768464177727504840336089844437287032385762823112413730392503989930402908118476821672470289280108655973355989106929102833861231343256240376946046371737496226047634765177397099878086695377934557084855779437117021963437441841701769642362703244842847733037920035957793105303156943468952815423676409629659962711098887987613631125061036640185910913304953393653554607139070916025693781439671230651331043743776290990046740035234253914919167885825381960186169645307933199146621752536645507159754603353037002725458101248225029675186094308925193198643523039264565594760699820071481983942340061483370944818406591985813926975304517156053699167417546292069498599942141519164896782587228280309637458561498768890872742122106514733258276977290423595325613808242334470940113477462362667037466119151838265750083424941267440396122034322372801122921169815810268617264071763144298470243326521075178441449287079179703286906040641638930698196335438283733511148293343504680424231224802593020103225833758354105018771915933499461030201932054057574945391039256876250750761889304207006587808749959308095552865762652329002294170559499552002 423300625357776485812152660016104311886122681375171318412017801140188180565687972215835434824561623356711290470240125727007157413885848842156591290535929254763538286144589276220293172201351053189545016009887012584399380386534959028301841501334033373294577192716981658914872595396986567438079555198477805030097044586473332330296635408668667550383663102887476536989059932314042465354967551886001761421222389512014754412939825995119814797708395602688285388200958088515233534408116138017210946638548625992152180375008498604128874636774700278936111061290077147646452674557434566130756180545043860669160694009350896938157481047411563675736379485034156395677134501180203087398471547123664456103563664229434627563820359788939800505578399630675569144511071438766480835116834387772726862961155150559511195422290164064567017886601371165984344707506356998163032089750269322083564546765063069156216427099079371728411197568813182862289168418641484771162828396772450952307598407400034576224289987244201216151252207809571575013448219430051931183050777451488250055703939011265409587546696983756530478097865157942308309028193109425607281024187630426304913967897709471816768439881627778986039892525553167735780343162373432452517462510098746428671399858653035040472437808204103795569578135060772765422730427221164548402379465330644518000154281437103172787086463808522439055164101741169348982895982312565916589373943142615540275846746279668742467964703568963041601362741227842358087223367796752512110898413995908206277141513211217292119984594983018496679805130730326304976709743346018702872978463419717026229666702379310038942833927329943542923841517452200994791884285109637763632098278119463203458617941581381231195569790463643344911700338721428168401 684914799287967972348839265723686231918272507796042703672825567510304023448166142856252897772134969282197288403857883492893272416795697183297702082715170174924642039786447435022207026284373178085739298327600230376765775555025829247113232737808719600024207954271503826492479691923310322736410047811039221721726903035155657590075640798269866965929378502763943398357232969696995173021498507933405090031968736352425441679245102440824250716111415655018183110145854636191909224102185924889480277230772949215565707073774229701669155678657210198443600506025305490179037548004847269748384437486973277526574485793218799334059317366180027853463884325370246240114421533565965910510885277516168446033966572347911449236290649069048456478934388737604671978372302782022721212062880759510223089008789915736908295300376859442501574971457150603101366670943798839864801732112972566926412279802983105114009532402236315197364012992489592491949131129740372758776459521833487592493509320704987969877844594383272132176945989249242805664779263173828222173097517486722503970623106897090791547732866629064463677244486910478953816187947712778644283749645731674529943643083803780741961638525150818250605487286252987807262327104713493935888407328505338414485326833957552196526136975621650087639076735002914284587627209808392828712016923892143286891027023559209687520344740785812862650489715549411683453836095790028279256411409261767378541596829704610009908360825603285414402485662397658168355840631868515656409368657322429281455582962498296471823271501023660135610503327065764588710220891639362207553402694644519619249769928213068393047852699245877042384871719384255052366829676148894639882849040008767410465205750331340539291122656226295673913994509280927720403 1108215424645744458160991925739790543804395189171214022084843368650492204013854115072088332596696592638908578874098009219900429830681546025454293373251099429688180325931036711242500198485724231275284314337487242961165155941560788275415074239142752973318785146988485485407352287320296890174489603009517026751823947621628989920372276206938534516313041605651419935346292902011037638376466059819406851453191125864440196092184928435944065513819811257706468498346812724707142758510302062906691223869321575207717887448782728305798030315431910477379711567315382637825490222562281835879140618032017138195735179802569696272216798413591591529200263810404402635791556034746168997909356824639832902137530236577346076800111008857988256984512788368280241122883374220789202047179715147282949951969945066296419490722667023507068592858058521769085711378450155838027833821863241889009976826568046174270225959501315686925775210561302775354238299548381857529939287918605938544801107728105022546102134581627473348328198197058814380678227482603880153356148294938210754026327045908356201135279563612820994155342352068421262125216140822204251564773833362100834857610981513252558730078406778597236645379811806155543042670267086926388405869838604084843156726692610587236998574783825753883208654870063687050010357637029557377114396389222787804891181304996312860307431204594335301705653817290581032436732078102594195845785352404382918817443575984278752376325529172248456003848403625500526443063999665268168520267071318337487732724475709513763943256096006678632290308457796090893686930634985380910426381158064236645479436630592378431990686626575820585308713236836456047158713961258532403514947318128230613923823691912721770486692446689939018825694848002355888804 1793130223933712430509831191463476775722667696967256725757668936160796227462020257928341230368831561921105867277955892712793702247477243208751995455966269604612822365717484146264707224770097409361023612665087473337930931496586617522528306976951472573342993101259989311899831979243607212910899650820556248473550850656784647510447917005208401482242420108415363333703525871708032811397964567752811941485159862216865637771430030876768316229931226912724651608492667360899051982612487987796171501100094524423283594522556958007467185994089120675823312073340688128004527770567129105627525055518990415722309665595788495606276115779771619382664148135774648875905977568312134908420242102156001348171496808925257526036401657927036713463447177105884913101255677002811923259242595906793173040978734982033327786023043882949570167829515672372187078049393954677892635553976214455936389106371029279384235491903552002123139223553792367846187430678122230288715747440439426137294617048810010515979979176010745480505144186308057186343006745777708375529245812424933257996950152805446992683012430241885457832586838978900215941404088534982895848523479093775364801254065317033300691716931929415487250867098059143350304997371800420324294277167109423257642053526568139433524711759447403970847731605066601334597984846837950205826413313114931091782208328555522547827775945380148164356143532839992715890568173892622475102196761666150297359040405688888762284686354775533870406334066023158694798904631533783824929635728640766769188307438207810235766527597030338767900811784861855482397151526624743117979783852708756264729206558805446825038539325821697627693584956220711099525543637407427043397796358136998024389029442244062309777815102916234692739689357283283609207 2901345648579456888670823117203267319527062886138470747842512304811288431475874373000429562965528154560014446152053901932694132078158789234206288829217369034301002691648520857507207423255821640636307927002574716299096087438147405797943381216094225546661778248248474797307184266563904103085389253830073275225374798278413637430820193212146935998555461714066783269049818773719070449774430627572218792938350988081305833863614959312712381743751038170431120106839480085606194741122790050702862724969416099631001481971339686313265216309521031153203023640656070765830017993129410941506665673551007553918044845398358191878492914193363210911864411946179051511697533603058303906329598926795834250309027045502603602836512666785024970447959965474165154224139051223601125306422311054076122992948680048329747276745710906456638760687574194141272789427844110515920469375839456344946365932939075453654461451404867689048914434115095143200425730226504087818655035359045364682095724776915033062082113757638218828833342383366871567021234228381588528885394107363144012023277198713803193818291993854706451987929191047321478066620229357187147413297312455876199658865046830285859421795338708012723896246909865298893347667638887346712700147005713508100798780219178726670523286543273157854056386475130288384608342483867507582940809702337718896673389633551835408135207149974483466061797350130573748327300251995216670947982114070533216176483981673167514661011883947782326410182469648659221241968631199051993449902799959104256921031913917323999709783693037017400191120242657946376084082161610124028406165010772992910208643189397825257029225952397518213002298193057167146684257598665959446912743676265228638312853134156784080264507549606173711565384205285639498011 4694475872513169319180654308666744095249730583105727473600181240972084658937894630928770793334359716481120313430009794645487834325636032442958284285183638638913825057366005003771914648025919049997331539667662189637027018934734023320471688193045698120004771349508464109207016245807511315996288904650629523698925648935198284941268110217355337480797881822482146602753344645427103261172395195325030734423510850298171471635044990189480697973682265083155771715332147446505246723735278038499034226069510624054285076493896644320732402303610151829026335713996758893834545763696540047134190729069997969640354510994146687484769029973134830294528560081953700387603511171370438814749841028951835598480523854427861128872914324712061683911407142580050067325394728226413048565664906960869296033927415030363075062768754789406208928517089866513459867477238065193813104929815670800882755039310104733038696943308419691172053657668887511046613160904626318107370782799484790819390341825725043578062092933648964309338486569674928753364240974159296904414639919788077270020227351519250186501304424096591909820516030026221694008024317892170043261820791549651564460119112147319160113512270637428211147114007924442243652665010687767036994424172822931358440833745746866104047998302720561824904118080196889719206327330705457788767223015452649988455597962107357955962983095354631630417940882970566464217868425887839146050178875736683513535524387362056276945698238723316196816516535671817916040873262732835818379538528599871026109339352125134235476311290067356168091932027519801858481233688234867146385948863481749174937849748203272082067765278219215840695883149277878246209801236073386490310540034402226662701882576400846390042322652522408404305073562568923107218 7595821521092626207851477425870011414776793469244198221442693545783373090413769003929200356299887871041134759582063696578181966403794821677164573114401007673214827749014525861279122071281740690633639466670236905936123106372881429118415069409139923666666549597756938906514200512371415419081678158480702798924300447213611922372088303429502273479353343536548929871803163419146173710946825822897249527361861838379477305498659949502193079717433303253586891822171627532111441464858068089201896951038926723685286558465236330633997618613131182982229359354652829659664563756825950988640856402621005523558399356392504879363261944166498041206392972028132751899301044774428742721079439955747669848789550899930464731709426991497086654359367108054215221549533779450014173872087218014945419026876095078692822339514465695862847689204664060654732656905082175709733574305655127145829120972249180186693158394713287380220968091783982654247038891131130405926025818158530155501486066602640076640144206691287183138171828953041800320385475202540885433300034027151221282043504550233053380319596417951298361808445221073543172074644547249357190675118104005527764118984158977605019535307609345440935043360917789741137000332649575113749694571178536439459239613964925592774571284845993719678960504555327178103814669814572965371708032717790368885128987595659193364098190245329115096479738233101140212545168677883055816998160989807216729712008369035223791606710122671098523226699005320477137282841893931887811829441328558975283030371266042458235186094983104373568283052270177748234565315849844991174792113874254742085146492937601097339096991230616734053698181342335045392894058834739345937223283710667455301014735710557630470306830202128582115870457767854562605229 12290297393605795527032131734536755510026524052349925695042874786755457749351663634857971149634247587522255073012073491223669800729430854120122857399584646312128652806380530865051036719307659740630971006337899095573150125307615452438886757602185621786671320947265403015721216758178926735077967063131332322623226096148810207313356413646857610960151225359031076474556508064573276972119221018222280261785372688677648777133704939691673777691115568336742663537503774978616688188593346127700931177108437347739571634959132974954730020916741334811255695068649588553499109520522491035775047131691003493198753867386651566848030974139632871500921532110086452286904555945799181535829280984699505447270074754358325860582341316209148338270774250634265288874928507676427222437752124975814715060803510109055897402283220485269056617721753927168192524382320240903546679235470797946711876011559284919731855338021707071393021749452870165293652052035756724033396600958014946320876408428365120218206299624936147447510315522716729073749716176700182337714673946939298552063731901752303566820900842047890271628961251099764866082668865141527233936938895555179328579103271124924179648819879982869146190474925714183380652997660262880786688995351359370817680447710672458878619283148714281503864622635524067823020997145278423160475255733243018873584585557766551320061173340683746726897679116071706676763037103770894963048339865543900243247532756397280068552408361394414720043215540992295053323715156664723630208979857158846309139710618167592470662406273171729736374984297697550093046549538079858321178062737736491260084342685804369421164756508835949894394064491612923639103860070812732427533823745069681963716618286958476860349152854650990520175531330423485712447 19886118914698421734883609160406766924803317521594123916485568332538830839765432638787171505934135458563389832594137187801851767133225675797287430513985653985343480555395056726330158790589400431264610473008136001509273231680496881557301827011325545453337870545022341922235417270550342154159645221612035121547526543362422129685444717076359884439504568895580006346359671483719450683066046841119529789147234527057126082632364889193866857408548871590329555359675402510728129653451414216902828128147364071424858193424369305588727639529872517793485054423302418213163673277348442024415903534312009016757153223779156446211292918306130912707314504138219204186205600720227924256908720940447175296059625654288790592291768307706234992630141358688480510424462287126441396309839342990760134087679605187748719741797686181131904306926417987822925181287402416613280253541125925092540996983808465106425013732734994451613989841236852819540690943166887129959422419116545101822362475031005196858350506316223330585682144475758529394135191379241067771014707974090519834107236451985356947140497259999188633437406472173308038157313412390884424612056999560707092698087430102529199184127489328310081233835843503924517653330309837994536383566529895810276920061675598051653190567994708001182825127190851245926835666959851388532183288451033387758713573153425744684159363586012861823377417349172846889308205781653950780046500855351116972959541125432503860159118484065513243269914546312772190606557050596611442038421185717821592170081884210050705848501256276103304658036567875298327611865387924849495970176611991233345230835623405466760261747739452683948092245833947969031997918905552078364757107455737137264731353997516107330655983056779572636045989098278048317676 32176416308304217261915740894943522434829841573944049611528443119294288589117096273645142655568383046085644905606210679025521567862656529917410287913570300297472133361775587591381195509897060171895581479346035097082423356988112333996188584613511167240009191492287744937956634028729268889237612284743367444170752639511232336998801130723217495399655794254611082820916179548292727655185267859341810050932607215734774859766069828885540635099664439927072218897179177489344817842044760344603759305255801419164429828383502280543457660446613852604740749491952006766662782797870933060190950666003012509955907091165808013059323892445763784208236036248305656473110156666027105792738001925146680743329700408647116452874109623915383330900915609322745799299390794802868618747591467966574849148483115296804617144080906666400960924648171914991117705669722657516826932776596723039252872995367750026156869070756701523007011590689722984834342995202643853992819020074560048143238883459370317076556805941159478033192459998475258467884907555941250108729381921029818386170968353737660513961398102047078905066367723273072904239982277532411658548995895115886421277190701227453378832947369311179227424310769218107898306327970100875323072561881255181094600509386270510531809851143422282686689749826375313749856664105129811692658544184276406632298158711192296004220536926696608550275096465244553566071242885424845743094840720895017216207073881829783928711526845459927963313130087305067243930272207261335072247401042876667901309792502377643176510907529447833041033020865572848420658414926004707817148239349727724605315178309209836181426504248288633842486310325560892671101778976364810792290931200806819228447972284474584191005135911430563156221520428701534030123 52062535223002638996799350055350289359633159095538173528014011451833119428882528912432314161502518504649034738200347866827373334995882205714697718427555954282815613917170644317711354300486460603160191952354171098591696588668609215553490411624836712693347062037310086860192051299279611043397257506355402565718279182873654466684245847799577379839160363150191089167275851032012178338251314700461339840079841742791900942398434718079407492508213311517401774256854580000072947495496174561506587433403165490589288021807871586132185299976486370398225803915254424979826456075219375084606854200315021526713060314944964459270616810751894696915550540386524860659315757386255030049646722865593856039389326062935907045165877931621618323531056968011226309723853081929310015057430810957334983236162720484553336885878592847532865231574589902814042886957125074130107186317722648131793869979176215132581882803491695974621001431926575804375033938369530983952241439191105149965601358490375513934907312257382808618874604474233787862020098935182317879744089895120338220278204805723017461101895362046267538503774195446380942397295689923296083161052894676593513975278131329982578017074858639489308658146612722032415959658279938869859456128411150991371520571061868562185000419138130283869514877017226559676692331064981200224841832635309794391011731864618040688379900512709470373652513814417400455379448667078796523141341576246134189166615007262287788870645329525441206583044633617839434536829257857946514285822228594489493479874386587693882359408785723936345691057433448146748270280313929557313118415961718957950546013932615302941688251987741317790578556159508861703099697881916889157048038656543956493179326281990691521661118968210135792267509526979582347799 84238951531306856258715090950293811794463000669482223139542454571127408017999625186077456817070901550734679643806558545852894902858538735632108006341126254580287747278946231909092549810383520775055773431700206195674119945656721549549678996238347879933356253529597831798148685328008879932634869791098770009889031822384886803683046978522794875238816157404802171988192030580304905993436582559803149891012448958526675802164504546964948127607877751444473993154033757489417765337540934906110346738658966909753717850191373866675642960423100223002966553407206431746489238873090308144797804866318034036668967406110772472329940703197658481123786576634830517132425914052282135842384724790740536782719026471583023498039987555537001654431972577333972109023243876732178633805022278923909832384645835781357954029959499513933826156222761817805160592626847731646934119094319371171046742974543965158738751874248397497628013022616298789209376933572174837945060459265665198108840241949745831011464118198542286652067064472709046329905006491123567988473471816150156606449173159460677975063293464093346443570141918719453846637277967455707741710048789792479935252468832557435956850022227950668536082457381940140314265986250039745182528690292406172466121080448139072716810270281552566556204626843601873426548995170111011917500376819586201023309890575810336692600437439406078923927610279661954021450691552503642266236182297141151405373688889092071717582172174985369169896174720922906678467101465119281586533223271471157394789666888965337058870316315171769386724078299020995168928695239934265130266655311446682555861192241825139123114756236029951633064866485069754374201476858281699949338969857350775721627298566465275712666254879640698948489029955681116377922 136301486754309495255514441005644101154096159765020396667556466022960527446882154098509770978573420055383714382006906412680268237854420941346805724768682208863103361196116876226803904110869981378215965384054377294265816534325330765103169407863184592626703315566907918658340736627288490976032127297454172575607311005258541270367292826322372255077976520554993261155467881612317084331687897260264489731092290701318576744562939265044355620116091062961875767410888337489490712833037109467616934172062132400343005871999245452807828260399586593401192357322460856726315694948309683229404659066633055563382027721055736931600557513949553178039337117021355377791741671438537165892031447656334392822108352534518930543205865487158619977963029545345198418747096958661488648862453089881244815620808556265911290915838092361466691387797351720619203479583972805777041305412042019302840612953720180291320634677740093472249014454542874593584410871941705821897301898456770348074441600440121344946371430455925095270941668946942834191925105426305885868217561711270494826727377965183695436165188826139613982073916114165834789034573657379003824871101684469073449227746963887418534867097086590157844740603994662172730225644529978615041984818703557163837641651510007634901810689419682850425719503860828433103241326235092212142342209454895995414321622440428377380980337952115549297580124094079354476830140219582438789377523873387285594540303896354359506452817504510810376479219354540746113003930722977228100819045500065646888269541275553030941229725100895705732415135732469141917198975553863822443385071273165640506407206174440442064803008223771269423643422644578616077301174740198589106387008513894732214806624848455967234327373847850834740756539482660698725721 220540438285616351514229531955937912948559160434502619807098920594087935464881779284587227795644321606118394025813464958533163140712959676978913731109808463443391108475063108135896453921253502153271738815754583489939936479982052314652848404101532472560059569096505750456489421955297370908666997088552942585496342827643428074050339804845167130316792677959795433143659912192621990325124479820067639622104739659845252546727443812009303747723968814406349760564922094978908478170578044373727280910721099310096723722190619319483471220822686816404158910729667288472804933821399991374202463932951089600050995127166509403930498217147211659163123693656185894924167585490819301734416172447074929604827379006101954041245853042695621632395002122679170527770340835393667282667475368805154648005454392047269244945797591875400517544020113538424364072210820537423975424506361390473887355928264145450059386551988490969877027477159173382793787805513880659842362357722435546183281842389867175957835548654467381923008733419651880521830111917429453856691033527420651433176551124644373411228482290232960425644058032885288635671851624834711566581150474261553384480215796444854491717119314540826380823061376602313044491630780018360224513508995963336303762731958146707618620959701235416981924130704430306529790321405203224059842586274482196437631513016238714073580775391521628221507734373741308498280831772086081055613706170528436999913992785446431224034989679496179546375394075463652791471032188096509687352268771536804283059208164518368000100041416067475119139214031490137086127670793798087573651726584612323062268398416265581187917764459801221056708289129648370451502651598480289055725978371245507936433923414921242946993628727491533689245569438341815103643 356841925039925846769743972961582014102655320199523016474655386617048462911763933383096998774217741661502108407820371371213431378567380618325719455878490672306494469671179984362700358032123483531487704199808960784205753014307383079756017811964717065186762884663413669114830158582585861884699124386007115161103653832901969344417632631167539385394769198514788694299127793804939074656812377080332129353197030361163829291290383077053659367840059877368225527975810432468399191003615153841344215082783231710439729594189864772291299481222273409805351268052128145199120628769709674603607122999584145163433022848222246335531055731096764837202460810677541272715909256929356467626447620103409322426935731540620884584451718529854241610358031668024368946517437794055155931529928458686399463626262948313180535861635684236867208931817465259043567551794793343201016729918403409776727968881984325741380021229728584442126041931702047976378198677455586481739664256179205894257723442829988520904206979110392477193950402366594714713755217343735339724908595238691146259903929089828068847393671116372574407717974147051123424706425282213715391452252158730626833707962760332273026584216401130984225563665371264485774717275309996975266498327699520500141404383468154342520431649120918267407643634565258739633031647640295436202184795729378191851953135456667091454561113343637177519087858467820662975110971991668519844991230043915722594454296681800790730487807184006989922854613430004398904474962911073737788171314271602451171328749440071398941329766516963180851554349763959279003326646347661910017036797857777963568675604590706023252720772683572490480351711774226986528803826338678878162112986885140240151240548263377210181321002575342368430002108921002513829364 577382363325542198283973504917519927051214480634025636281754307211136398376645712667684226569862063267620502433633836329746594519280340295304633186988299135749885578146243092498596811953376985684759443015563544274145689494289435394408866216066249537746822453759919419571319580537883232793366121474560057746599996660545397418467972436012706515711561876474584127442787705997561064981936856900399768975301770021009081838017826889062963115564028691774575288540732527447307669174193198215071495993504331020536453316380484091774770702044960226209510178781795433671925562591109665977809586932535234763484017975388755739461553948243976496365584504333727167640076842420175769360863792550484252031763110546722838625697571572549863242753033790703539474287778629448823214197403827491554111631717340360449780807433276112267726475837578797467931624005613880624992154424764800250615324810248471191439407781717075412003069408861221359171986482969467141582026613901641440441005285219855696862042527764859859116959135786246595235585329261164793581599628766111797693080480214472442258622153406605534833362032179936412060378276907048426958033402632992180218188178556777127518301335715671810606386726747866798819208906090015335491011836695483836445167115426301050139052608822153684389567765269689046162821969045498660262027382003860388289584648472905805528141888735158805740595592841561971473391803763754600900604936214444159594368289467247221954522796863503169469230007505468051695945995099170247475523583043139255454387957604589766941429807933030655970693563795449416089454317141459997590688524442390286630944003006971604440638537143373711537060000903875356980306477937159167217838965256385748087674471678298453128314631302833902119247678359344328933007 934224288365468045053717477879101941153869800833548652756409693828184861288409646050781225344079804929122610841454207700960025897847720913630352642866789808056380047817423076861297169985500469216247147215372505058351442508596818474164884028030966602933585338423333088686149739120469094678065245860567172907703650493447366762885605067180245901106331074989372821741915499802500139638749233980731898328498800382172911129308209966116622483404088569142800816516542959915706860177808352056415711076287562730976182910570348864066070183267233636014861446833923578871046191360819340581416709932119379926917040823611002074992609679340741333568045315011268440355986099349532236987311412653893574458698842087343723210149290102404104853111065458727908420805216423503979145727332286177953575257980288673630316669068960349134935407655044056511499175800407223826008884343168210027343293692232796932819429011445659854129111340563269335550185160425053623321690870080847334698728728049844217766249506875252336310909538152841309949340546604900133306508224004802943952984409304300511106015824522978109241080006326987535485084702189262142349485654791722807051896141317109400544885552116802794831950392119131284593926181400012310757510164395004336586571498894455392659484257943071951797211399834947785795853616685794096464212177733238580141537783929572896982703002078795983259683451309382634448502775755423120745596166258359882188822586149048012685010604047510159392084620935472450600420958010243985263694897314741706625716707044661165882759574449993836822247913559408695092780963489121907607725322300168250199619607597677627693359309826946202017411712678102343509110304275838045379951952141525988238915019941675663309635633878176270549249787280346842762371 1511606651691010243337690982796621868205084281467574289038164001039321259665055358718465451913941868196743113275088044030706620417128061208934985829855088943806265625963666169359893981938877454901006590230936049332497132002886253868573750244097216140680407792183252508257469319658352327471431367335127230654303647153992764181353577503192952416817892951463956949184703205800061204620686090881131667303800570403181992967326036855179585598968117260917376105057275487363014529352001550271487207069791893751512636226950832955840840885312193862224371625615719012542971753951929006559226296864654614690401058798999757814454163627584717829933629819344995607996062941769708006348175205204377826490461952634066561835846861674953968095864099249431447895092995052952802359924736113669507686889697629034080097476502236461402661883492622853979430799806021104451001038767933010277958618502481268124258836793162735266132180749424490694722171643394520764903717483982488775139734013269699914628292034640112195427868673939087905184925875866064926888107852770914741646064889518772953364637977929583644074442038506923947545462979096310569307519057424714987270084319873886528063186887832474605438337118866998083413135087490027646248522001090488173031738614320756442798536866765225636186779165104636831958675585731292756726239559737098968431122432402478702510844890813954789000279044150944605921894579519177721646201102472804041783190875616295234639533400911013328861314628440940502296366953109414232739218480357880962080104664649250932824189382383024492792941477354858111182235280630581905198413846742558536830563610604649232133997846970319913554471713581977700489416782212997212597790917397911736326589491619974116437950265181010172668497465639691171695378 2445830940056478288391408460675723809358954082301122941794573694867506120953465004769246677258021673125865724116542251731666646314975782122565338472721878751862645673781089246221191151924377924117253737446308554390848574511483072342738634272128182743613993130606585596943619058778821422149496613195694403562007297647440130944239182570373198317924224026453329770926618705602561344259435324861863565632299370785354904096634246821296208082372205830060176921573818447278721389529809902327902918146079456482488819137521181819906911068579427498239233072449642591414017945312748347140643006796773994617318099622610759889446773306925459163501675134356264048352049041119240243335486617858271400949160794721410285045996151777358072948975164708159356315898211476456781505652068399847461262147677917707710414145571196810537597291147666910490929975606428328277009923111101220305301912194714065057078265804608395120261292089987760030272356803819574388225408354063336109838462741319544132394541541515364531738778212091929215134266422470965060194616076775717685599049298823073464470653802452561753315522044833911483030547681285572711657004712216437794321980461190995928608072439949277400270287510986129368007061268890039957006032165485492509618310113215211835458021124708297587983990564939584617754529202417086853190451737470337548572660216332051599493547892892750772259962495460327240370397355274600842391797268731163923972013461765343247324544004958523488253399249376412952896787911119658218002913377672622668705821371693912098706948956833018329615189390914266806275016244119703812806139169042726787030183218202326859827357156797266115571883426260080043998527086488835257977742869539437724565504511561649779747585899059186443217747252920038014457749 3957437591747488531729099443472345677564038363768697230832737695906827380618520363487712129171963541322608837391630295762373266732103843331500324302576967695668911299744755415581085133863255379018260327677244603723345706514369326211312384516225398884294400922789838105201088378437173749620927980530821634216310944801432895125592760073566150734742116977917286720111321911402622548880121415742995232936099941188536897063960283676475793681340323090977553026631093934641735918881811452599390125215871350234001455364472014775747751953891621360463604698065361603956989699264677353699869303661428609307719158421610517703900936934510176993435304953701259656348111982888948249683661823062649227439622747355476846881843013452312041044839263957590804210991206529409583865576804513516968949037375546741790511622073433271940259174640289764470360775412449432728010961879034230583260530697195333181337102597771130386393472839412250724994528447214095153129125838045824884978196754589244047022833576155476727166646886031017120319192298337029987082723929546632427245114188341846417835291780382145397389964083340835430576010660381883280964523769641152781592064781064882456671259327781752005708624629853127451420196356380067603254554166575980682650048727535968278256557991473523224170769730044221449713204788148379609916691297207436517003782648734530302004392783706705561260241539611271846292291934793778564037998371203967965755204337381638481964077405869536817114713877817353455193154864229072450742131858030503630785926036343163031531138339216042822408130868269124917457251524750285718004553015785285323860746828806976091961355003767586029126355139842057744487943868701832470575533786937349460892094003181623896185536164240196615886244718559729186153127 6403268531803966820120507904148069486922992446069820172627311390774333501571985368256958806429985214448474561508172547494039913047079625454065662775298846447531556973525844661802276285787633303135514065123553158114194281025852398554051018788353581627908394053396423702144707437215995171770424593726516037778318242448873026069831942643939349052666341004370616491037940617005183893139556740604858798568399311973891801160594530497772001763712528921037729948204912381920457308411621354927293043361950806716490274501993196595654663022471048858702837770515004195371007644577425700840512310458202603925037258044221277593347710241435636156936980088057523704700161024008188493019148440920920628388783542076887131927839165229670113993814428665750160526889418005866365371228872913364430211185053464449500925767644630082477856465787956674961290751018877761005020884990135450888562442891909398238415368402379525506654764929400010755266885251033669541354534192109160994816659495908788179417375117670841258905425098122946335453458720807995047277340006322350112844163487164919882305945582834707150705486128174746913606558341667455992621528481857590575914045242255878385279331767731029405978912140839256819427257625270107560260586332061473192268358840751180113714579116181820812154760294983806067467733990565466463107143034677774065576442865066581901497940676599456333520204035071599086662689290068379406429795639935131889727217799146981729288621410828060305368113127193766408089942775348730668745045235703126299491747408037075130238087296049061152023320259183391723732267768869989530810692184828012110890930047009302951788712160564852144698238566102137788486470955190667728553276656476787185457598514743273675933122063299383059103991971479767200610876 10360706123551455351849607347620415164487030809838517403460049086681160882190505731744670935601948755771083398899802843256413179779183468785565987077875814143200468273270600077383361419650888682153774392800797761837539987540221724765363403304578980512202794976186261807345795815653168921391352574257337671994629187250305921195424702717505499787408457982287903211149262528407806442019678156347854031504499253162428698224554814174247795445052852012015282974836006316562193227293432807526683168577822156950491729866465211371402414976362670219166442468580365799327997343842103054540381614119631213232756416465831795297248647175945813150372285041758783361048273006897136742702810263983569855828406289432363978809682178681982155038653692623340964737880624535275949236805677426881399160222429011191291437389718063354418115640428246439431651526431327193733031846869169681471822973589104731419752471000150655893048237768812261480261413698247764694483660030154985879794856250498032226440208693826317986072071984153963455772651019145025034360063935868982540089277675506766300141237363216852548095450211515582344182569002049339273586052251498743357506110023320760841950591095512781411687536770692384270847453981650175163515140498637453874918407568287148391971137107655344036325530025028027517180938778713846073023834331885210582580225513801112203502333460306161894780445574682870932954981224862157970467794011139099855482422136528620211252698816697597122482827005011119863283097639577803119487177093733629930277673444380238161769225635265103974431451127452516641189519293620275248815245200613297434751676875816279043750067164332438173824593705944195532974414823892500199128810443414136646349692517924897572118658227539579674990236690039496386764003 16763974655355422171970115251768484651410023255908337576087360477455494383762491100001629742031933970219557960407975390750453092826263094239631649853174660590732025246796444739185637705438521985289288457924350919951734268566074123319414422092932562140111189029582685509490503252869164093161777167983853709772947429699178947265256645361444848840074798986658519702187203145412990335159234896952712830072898565136320499385149344672019797208765380933053012923040918698482650535705054162453976211939772963666982004368458407967057077998833719077869280239095369994699004988419528755380893924577833817157793674510053072890596357417381449307309265129816307065748434030905325235721958704904490484217189831509251110737521343911652269032468121289091125264770042541142314608034550340245829371407482475640792363157362693436895972106216203114392942277450204954738052731859305132360385416481014129658167839402530181399703002698212272235528298949281434235838194222264146874611515746406820405857583811497159244977497082276909791226109739953020081637403942191332652933441162671686182447182946051559698800936339690329257789127343716795266207580733356333933420155265576639227229922863243810817666448911531641090274711606920282723775726830698927067186766409038328505685716223837164848480290320011833584648672769279312536130977366562984648156668378867694105000274136905618228300649609754470019617670514930537376897589651074231745209639935675601940541320227525657427850940132204886271373040414926533788232222329436756229769420852417313292007312931314165126454771386635908364921787062490264779625937385441309545642606922825581995538779324897290318522832272046333321460885779083167927682087099890923831807291032668171248051780290838962734094228661519263587374879 27124680778906877523819722599388899815897054065746854979547409564136655265952996831746300677633882725990641359307778234006866272605446563025197636931050474733932493520067044816568999125089410667443062850725148681789274256106295848084777825397511542652313984005768947316836299068522333014553129742241191381767576616949484868460681348078950348627483256968946422913336465673820796777178913053300566861577397818298749197609704158846267592653818232945068295897876925015044843762998486969980659380517595120617473734234923619338459492975196389297035722707675735794027002332261631809921275538697465030390550090975884868187845004593327262457681550171575090426796707037802461978424768968888060340045596120941615089547203522593634424071121813912432090002650667076418263844840227767127228531629911486832083800547080756791314087746644449553824593803881532148471084578728474813832208390070118861077920310402680837292751240467024533715789712647529198930321854252419132754406371996904852632297792505323477231049569066430873246998760759098045115997467878060315193022718838178452482588420309268412246896386551205911601971696345766134539793632984855077290926265288897400069180513958756592229353985682224025361122165588570457887290867329336380942105173977325476897656853331492508884805820345039861101829611547993158609154811698448195230736893892668806308502607597211780123081095184437340952572651739792695347365383662213331600692062072204222151794019044223254550333767137216006134656138054504336907719399423170386160047094296797551453776538566579269100886222514088425006111306356110540028441182586054606980394283798641861039288846489229728492347425977990528854435300602975668126810897543305060478156983550593068820170438518378542409084465351558759974138882 43888655434262299695789837851157384467307077321655192555634770041592149649715487931747930419665816696210199319715753624757319365431709657264829286784225135324664518766863489555754636830527932652732351308649499601741008524672369971404192247490444104792425173035351632826326802321391497107714906910225045091540524046648663815725937993440395197467558055955604942615523668819233787112338147950253279691650296383435069696994853503518287389862583613878121308820917843713527494298703541132434635592457368084284455738603382027305516570974030108374905002946771105788726007320681160565302169463275298847548343765485937941078441362010708711764990815301391397492545141068707787214146727673792550824262785952450866200284724866505286693103589935201523215267420709617560578452874778107373057903037393962472876163704443450228210059852860652668217536081331737103209137310587779946192593806551132990736088149805211018692454243165236805951318011596810633166160048474683279629017887743311673038155376316820636476027066148707783038224870499051065197634871820251647845956160000850138665035603255319971945697322890896240859760823689482929806001213718211411224346420554474039296410436822000403047020434593755666451396877195490740611066594160035308009291940386363805403342569555329673733286110665051694686478284317272471145285789065011179878893562271536500413502881734117398351381744794191810972190322254723232724262973313287563345901702007879824092335339271748911978184707269420892406029178469430870695951621752607142389816515149214864745783851497893434227340993900724333371033093418600804808067119971495916526036890721467443034827625814127018810870258250036862175896186382058836054492984643195984309964274583261240068222218809217505143178694013078023561513761 71013336213169177219609560450546284283204131387402047535182179605728804915668484763494231097299699422200840679023531858764185638037156220290026923715275610058597012286930534372323635955617343320175414159374648283530282780778665819488970072887955647444739157041120580143163101389913830122268036652466236473308100663598148684186619341519345546095041312924551365528860134493054583889517061003553846553227694201733818894604557662364554982516401846823189604718794768728572338061702028102415294972974963204901929472838305646643976063949226497671940725654446841582753009652942792375223445001972763877938893856461822809266286366604035974222672365472966487919341848106510249192571496642680611164308382073392481289831928389098921117174711749113955305270071376693978842297715005874500286434667305449304959964251524207019524147599505102222042129885213269251680221889316254760024802196621251851814008460207891855985205483632261339667107724244339832096481902727102412383424259740216525670453168822144113707076635215138656285223631258149110313632339698311963038978878839028591147624023564588384192593709442102152461732520035249064345794846703066488515272685843371439365590950780756995276374420275979691812519042784061198498357461489371688951397114363689282300999422886822182618091931010091555788307895865265629754440600763459375109630456164205306722005489331329178474462839978629151924762973994515928071628356975500894946593764080084046244129358315972166528518474406636898540685316523935207603671021175777528549863609446012416199560390064472703328227216414812758377144399774711344836508302557550523506431174520109304074116472303356747303217684228027391030331486985034504181303882186501044788121258133854308888392657327596047552263159364636783535652643 114901991647431476915399398301703668750511208709057240090816949647320954565383972695242161516965516118411039998739285483521505003468865877554856210499500745383261531053794023928078272786145275972907765468024147885271291305451035790893162320378399752237164330076472212969489903711305327229982943562691281564848624710246812499912557334959740743562599368880156308144383803312288371001855208953807126244877990585168888591599411165882842372378985460701310913539712612442099832360405569234849930565432331289186385211441687673949492634923256606046845728601217947371479016973623952940525614465248062725487237621947760750344727728614744685987663180774357885411886989175218036406718224316473161988571168025843347490116653255604207810278301684315478520537492086311539420750589783981873344337704699411777836127955967657247734207452365754890259665966545006354889359199904034706217396003172384842550096610013102874677659726797498145618425735841150465262641951201785692012442147483528198708608545138964750183103701363846439323448501757200175511267211518563610884935038839878729812659626819908356138291032332998393321493343724731994151796060421277899739619106397845478662001387602757398323394854869735358263915919979551939109424055649406996960689054750053087704341992442151856351378041675143250474786180182538100899726389828470554988524018435741807135508371065446576825844584772820962896953296249239160795891330288788458292495466087963870336464697587721078506703181676057790946714494993366078299622642928384670939680124595227280945344241562366137555568210315537091748177493193312149644575422529046440032468065241576747108944098117483766114087942478064253206227673367093340235796866829697029098085532717115548956614876136813552695441853377714807097166404 185915327860600654135008958752249953033715340096459287625999129253049759481052457458736392614265215540611880677762817342285690641506022097844883134214776355441858543340724558300401908741762619293083179627398796168801574086229701610382132393266355399681903487117592793112653005101219157352250980215157518038156725373844961184099176676479086289657640681804707673673243937805342954891372269957360972798105684786902707486203968828247397354895387307524500518258507381170672170422107597337265225538407294494088314684279993320593468698872483103718786454255664788954232026626566745315749059467220826603426131478409583559611014095218780660210335546247324373331228837281728285599289720959153773152879550099235828779948581644703128927453013433429433825807563463005518263048304789856373630772372004861082796092207491864267258355051870857112301795851758275606569581089220289466242198199793636694364105070220994730662865210429759485285533460085490297359123853928888104395866407223744724379061713961108863890180336578985095608672133015349285824899551216875573923913917678907320960283650384496740330884741775100545783225863759981058497590907124344388254891792241216918027592338383514393599769275145715050076434962763613137607781517138778685912086169113742370005341415328974038969469972685234806263094076047803730654166990591929930098154474599947113857513860396775755300307424751450114821716270243755088867519687264289353239089230168047916580594055903693245035221656082694689487399811517301285903293664104162199489543734041239697144904631626838840883795426730349850125321892968023494481083725086596963538899239761686051183060570420840513417305626706091644236559160352127844417100749016198073886206790850969857845007533464409600247705012742351590632819047 300817319508032131050408357053953621784226548805516527716816078900370714046436430153978554131230731659022920676502102825807195644974887975399739344714277100825120074394518582228480181527907895265990945095422944054072865391680737401275294713644755151919067817194065006082142908812524484582233923777848799603005350084091773684011734011438827033220240050684863981817627741117631325893227478911168099042983675372071596077803379994130239727274372768225811431798219993612772002782513166572115156103839625783274699895721680994542961333795739709765632182856882736325711043600190698256274673932468889328913369100357344309955741823833525346197998727021682258743115826456946322006007945275626935141450718125079176270065234900307336737731315117744912346345055549317057683798894573838246975110076704272860632220163459521514992562504236612002561461818303281961458940289124324172459594202966021536914201680234097605340524937227257630903959195926640762621765805130673796408308554707272923087670259100073614073284037942831534932120634772549461336166762735439184808848956518786050772943277204405096469175774108098939104719207484713052649386967545622287994510898639062396689593725986271791923164130015450408340350882743165076717205572788185682872775223863795457709683407771125895320848014360378056737880256230341831553893380420400485086678493035688920993022231462222332126152009524271077718669566492994249663411017553077811531584696256011786917058753491414323541924837758752480434114306510667364202916307032546870429223858636466978090248873189204978439363637045886941873499386161335644125659147615643403571367305003262798292004668538324279531393569184155897442786833719221184652897615845895102984292323568085406801622409601223152943146866120066397729985451 486732647368632785185417315806203574817941888901975815342815208153420473527488887612714946745495947199634801354264920168092886286480910073244622478929053456266978617735243140528882090269670514559074124722821740222874439477910439011657427106911110551600971304311657799194795913913743641934484903993006317641162075457936734868110910687917913322877880732489571655490871678922974280784599748868529071841089360158974303564007348822377637082169760075750311950056727374783444173204620763909380381642246920277363014580001674315136430032668222813484418637112547525279943070226757443572023733399689715932339500578766927869566755919052306006408334273269006632074344663738674607605297666234780708294330268224315005050013816545010465665184328551174346172152619012322575946847199363694620605882448709133943428312370951385782250917556107469114863257670061557568028521378344613638701792402759658231278306750455092336003390147657017116189492656012131059980889659059561900804174961931017647466731973061182477963464374521816630540792767787898747161066313952314758732762874197693371733226927588901836800060515883199484887945071244694111146977874669966676249402690880279314717186064369786185522933405161165458416785845506778214324987089926964368784861392977537827715024823100099934290317987045612863000974332278145562208060371012330415184832967635636034850536091858998087426459434275721192540385836736749338530930704817367164770673926424059703497652809395107568577146493841447169921514118027968650106209971136709069918767592677706675235153504816043819323159063776236791998821279129359138606742872702240367110266544764948849475065238959164792948699195890247541679345994071349029069998364862093176870499114419055264646629943065632753190851878862417988362804498 787549966876664916235825672860157196602168437707492343059631287053791187573925317766693500876726678858657722030767022993900081931455798048644361823643330557092098692129761722757362271797578409825065069818244684276947304869591176412932721820555865703520039121505722805276938822726268126516718827770855117244167425542028508552122644699356740356098120783174435637308499420040605606677827227779697170884073035531045899641810728816507876809444132843976123381854947368396216175987133930481495537746086546060637714475723355309679391366463962523250050819969430261605654113826948141828298407332158605261252869679124272179522497742885831352606333000290688890817460490195620929611305611510407643435780986349394181320079051445317802402915643668919258518497674561639633630646093937532867580992525413406804060532534410907297243480060344081117424719488364839529487461667468937811161386605725679768192508430689189941343915084884274747093451851938771822602655464190235697212483516638290570554402232161256092036748412464648165472913402560448208497233076687753943541611830716479422506170204793306933269236289991298423992664278729407163796364842215588964243913589519341711406779790356057977446097535176615866757136728249943291042192662715150051657636616841333285424708230871225829611166001405990919738854588508487393761953751432730900271511460671324955843558323321220419552611443799992270259055403229743588194341722370444976302258622680071490414711562886521892119071331600199650355628424538636014309126278169255940347991451314173653325402378005248797762522700822123733872320665290694782732402020317883770681633849768211647767069907497489072480092765074403439122132827790570213722895980707988279854791437987140671448252352666855906133998744982484386092789949 1274282614245297701421242988666360771420110326609468158402446495207211661101414205379408447622222626058292523385031943161992968217936708121888984302572384013359077309865004863286244362067248924384139194541066424499821744347501615424590148927466976255121010425817380604471734736640011768451203731763861434885329500999965243420233555387274653678976001515664007292799371098963579887462426976648226242725162395690020203205818077638885513891613892919726435331911674743179660349191754694390875919388333466338000729055725029624815821399132185336734469457081977786885597184053705585400322140731848321193592370257891200049089253661938137359014667273559695522891805153934295537216603277745188351730111254573709186370092867990328268068099972220093604690650293573962209577493293301227488186874974122540747488844905362293079494397616451550232287977158426397097515983045813551449863179008485337999470815181144282277347305232541291863282944507950902882583545123249797598016658478569308218021134205222438570000212786986464796013706170348346955658299390640068702274374704914172794239397132382208770069296805874497908880609349974101274943342716885555640493316280399621026123965854725844162969030940337781325173922573756721505367179752642114420442498009818871113139733053971325763901483988451603782739828920786632955970014122445061315456344428306960990694094415180218506979070878075713462799441239966492926725272427187812141072932549104131193912364372281629460696217825441646820277142542566604664415336249305965010266759043991880328560555882821292617085681764598360525871141944420053921339144893020124137791900394533160497242135146456653865428791960964650980801478821861919242792894345570081456725290552406195936094882295732488659324850623844902374455594447 2061832581121962617657068661526517968022278764316960501462077782261002848675339523146101948498949304916950245415798966155893050149392506170533346126215714570451176001994766586043606633864827334209204264359311108776769049217092791837522870748022841958641049547323103409748673559366279894967922559534716552129496926541993751972356200086631394035074122298838442930107870519004185494140254204427923413609235431221066102847628806455393390701058025763702558713766622111575876525178888624872371457134420012398638443531448384934495212765596147859984520277051408048491251297880653727228620548064006926454845239937015472228611751404823968711621000273850384413709265644129916466827908889255595995165892240923103367690171919435646070471015615889012863209147968135601843208139387238760355767867499535947551549377439773200376737877676795631349712696646791236627003444713282489261024565614211017767663323611833472218691220317425566610376396359889674705186200587440033295229141995207598788575536437383694662036961199451112961486619572908795164155532467327822645815986535630652216745567337175515703338533095865796332873273628703508438739707559101144604737229869918962737530745645081902140415128475514397191931059302006664796409372415357264472100134626660204398564441284842551593512649989857594702478683509295120349731967873877792215727855888978285946537652738501438926531682321875705733058496643196236514919614149558257117375191171784202684327075935168151352815289157041846470632770967105240678724462527475220950614750495306053981885958260826541414848204465420484259743462609710748704071546913338007908473534244301372145009205053954142937908884726039054419923611649652489456515790326278069736580081990393336607543134648399344565458849368827386760548384396 3336115195367260319078311650192878739442389090926428659864524277468214509776753728525510396121171930975242768800830909317886018367329214292422330428788098583810253311859771449329850995932076258593343458900377533276590793564594407262113019675489818213762059973140484014220408296006291663419126291298577987014826427541958995392589755473906047714050123814502450222907241617967765381602681181076149656334397826911086306053446884094278904592671918683428994045678296854755536874370643319263247376522753478736639172587173414559311034164728333196718989734133385835376848481934359312628942688795855247648437610194906672277701005066762106070635667547410079936601070798064212004044512167000784346896003495496812554060264787425974338539115588109106467899798261709564052785632680539987843954742473658488299038222345135493456232275293247181582000673805217633724519427759096040710887744622696355767134138792977754496038525549966858473659340867840577587769745710689830893245800473776907006596670642606133232037173986437577757500325743257142119813831857967891348090361240544825010984964469557724473407829901740294241753882978677609713683050275986700245230546150318583763654711499807746303384159415852178517104981875763386301776552167999378892542632636479075511704174338813877357414133978309198485218512430081753305701981996322853531184200317285246937231747153681657433510753199951419195857937883162729441644886576746069258448123720888333878239440307449780813511506982483493290909913509671845343139798776781185960881509539297934310446514143647834031933886230018844785614604554130802625410691806358132046265434638834532642251340200410796803337676687003705400725090471514408699308684671848151193305372542799532543638016944131833224783699992672289135003978843 5397947776489222936735380311719396707464667855243389161326602059729217358452093251671612344620121235892193014216629875473779068516721720462955676555003813154261429313854538035373457629796903592802547723259688642053359842781687199099635890423512660172403109520463587423969081855372571558387048850833294539144323354083952747364945955560537441749124246113340893153015112136971950875742935385504073069943633258132152408901075690549672295293729944447131552759444918966331413399549531944135618833657173491135277616118621799493806246930324481056703510011184793883868099779815013039857563236859862174103282850131922144506312756471586074782256667821260464350310336442194128470872421056256380342061895736419915921750436706861620409010131203998119331108946229845165895993772067778748199722609973194435850587599784908693832970152970042812931713370452008870351522872472378529971912310236907373534797462404811226714729745867392425084035737227730252292955946298129864188474942468984505795172207079989827894074135185888690718986945316165937283969364325295713993906347776175477227730531806733240176746362997606090574627156607381118152422757835087844849967776020237546501185457144889648443799287891366575709036041177770051098185924583356643364642767263139279910268615623656428950926783968166793187697195939376873655433949870200645746912056206263532883769399892183096360042435521827124928916434526358965956564500726304326375823314892672536562566516242617932166326796139525339761542684476777086021864261304256406911496260034603988292332472404474375446782090695439329045358067163841551329482238719696139954738968883135904787260545254364939741246561413042759820648702121166898155824474998126220929885454533192869151181151592531177790242549361499675895552363239 8734062971856483255813691961912275446907056946169817821191126337197431868228846980197122740741293166867435783017460784791665086884050934755378006983791911738071682625714309484703308625728979851395891182160066175329950636346281606361748910099002478386165169493604071438189490151378863221806175142131872526159149781625911742757535711034443489463174369927843343375922353754939716257345616566580222726278031085043238714954522574643951199886401863130560546805123215821086950273920175263398866210179926969871916788705795214053117281095052814253422499745318179719244948261749372352486505925655717421751720460326828816784013761538348180852892335368670544286911407240258340474916933223257164688957899231916728475810701494287594747549246792107225799008744491554729948779404748318736043677352446852924149625822130044187289202428263289994513714044257226504076042300231474570682800054859603729301931601197788981210768271417359283557695078095570829880725692008819695081720742942761412801768877722595961126111309172326268476487271059423079403783196183263605341996709016720302238715496276290964650154192899346384816381039586058727866105808111074545095198322170556130264840168644697394747183447307218754226141023053533437399962476751356022257185399899618355421972789962470306308340917946475991672915708369458626961135931866523499278096256523548779821001147045864753793553188721778544124774372409521695398209387303050395634271438613560870440805956550067712979838303122008833052452597986448931365004060081037592872377769573901922602778986548122209478715976925458173830972671717972353954892930526054272001004403521970437429511885454775736544584238100046465221373792592681306855133159669974372123190827075992401694819168536663011015026249354171965030556342082 14132010748345706192549072273631672154371724801413206982517728396926649226680940231868735085361414402759628797234090660265444155400772655218333683538795724892333111939568847520076766255525883444198438905419754817383310479127968805461384800522515138558568279014067658862158572006751434780193223992965167065303473135709864490122481666594980931212298616041184236528937465891911667133088551952084295796221664343175391123855598265193623495180131807577692099564568134787418363673469707207534485043837100461007194404824417013546923528025377295310126009756502973603113048041564385392344069162515579595855003310458750961290326518009934255635149003189931008637221743682452468945789354279513545031019794968336644397561138201149215156559377996105345130117690721399895844773176816097484243399962420047360000213421914952881122172581233332807445427414709235374427565172703853100654712365096511102836729063602600207925498017284751708641730815323301082173681638306949559270195685411745918596941084802585789020185444358214959195474216375589016687752560508559319335903056792895779466446028083024204826900555896952475391008196193439846018528565946162389945166098190793676766025625789587043190982735198585329935177064231303488498148401334712665621828167162757635332241405586126735259267701914642784860612904308835500616569881736724145025008312729812312704770546938047850153595624243605669053690806935880661354773888029354722010094753506233407003372472792685645146165099261534172813995282463226017386868321385293999783874029608505910895111458952596584925498067620897502876330738881813905284375169245750411955743372405106342216772430709140676285830799513089225042022494713848205010957634668100593053076281609185270846000320129194188805268798715671640926108705321 22866073720202189448362764235543947601278781747583024803708854734124081094909787212065857826102707569627064580251551445057109242284823589973711690522587636630404794565283157004780074881254863295594330087579820992713261115474250411823133710621517616944733448507671730300348062158130298001999399135097039591462622917335776232880017377629424420675472985969027579904859819646851383390434168518664518522499695428218629838810120839837574695066533670708252646369691350608505313947389882470933351254017027430879111193530212227600040809120430109563548509501821153322357996303313757744830575088171297017606723770785579778074340279548282436488041338558601552924133150922710809420706287502770709719977694200253372873371839695436809904108624788212570929126435212954625793552581564416220287077314866900284149839244044997068411375009496622801959141458966461878503607472935327671337512419956114832138660664800389189136266288702110992199425893418871912054407330315769254351916428354507331398709962525181750146296753530541227671961487435012096091535756691822924677899765809616081705161524359315169477054748796298860207389235779498573884634374057236935040364420361349807030865794434284437938166182505804084161318087284836925898110878086068687879013567062375990754214195548597041567608619861118776533528612678294127577705813603247644303104569253361092525771693983912603947148812965384213178465179345402356752983275332405117644366192119794277444178429342753358126003402383543005866447880449674948751872381466331592656251799182407833497890445500718794404214044546355676707303410599786259239268099771804683956747775927076779646284316163916412830415037613135690263396287306529511866090794338074965176267108685177672540819488665857199820295048069843605956665047403 36998084468547895640911836509175619755650506548996231786226583131050730321590727443934592911464121972386693377485642105322553397685596245192045374061383361522737906504852004524856841136780746739792768992999575810096571594602219217284518511144032755503301727521739389162506634164881732782192623128062206656766096053045640723002499044224405351887771602010211816433797285538763050523522720470748814318721359771394020962665719105031198190246665478285944745934259485395923677620859589678467836297854127891886305598354629241146964337145807404873674519258324126925471044344878143137174644250686876613461727081244330739364666797558216692123190341748532561561354894605163278366495641782284254750997489168590017270932977896586025060668002784317916059244125934354521638325758380513704530477277286947644150052665959949949533547590729955609404568873675697252931172645639180771992224785052625934975389728402989397061764305986862700841156708742172994228088968622718813622112113766253249995651047327767539166482197888756186867435703810601112779288317200382244013802822602511861171607552442339374303955304693251335598397431972938419903162940003399324985530518552143483796891420223871481129148917704389414096495151516140414396259279420781353500841734225133626086455601134723776826876321775761561394141516987129628194275695339971789328112881983173405230542240921960454100744437208989882232155986281283018107757163361759839654460945626027684447550902135439003272168501645077178680443162912900966138740702851625592440125828790913744393001904453315379329712112167253179583634149481600164523643269017555095912491148332183121863056746873057089116245837126224915305418782020377716877048429006175558229343390294362943386819808795051388625563846785515246882773752724 59864158188750085089274600744719567356929288296579256589935437865174811416500514656000450737566829542013757957737193550379662639970419835165757064583970998153142701070135161529636916018035610035387099080579396802809832710076469629107652221765550372448035176029411119462854696323012030784192022263159246248228718970381416955882516421853829772563244587979239396338657105185614433913956888989413332841221055199612650801475839944868772885313199148994197392303950836004428991568249472149401187551871155322765416791884841468747005146266237514437223028760145280247829040648191900882005219338858173631068450852029910517439007077106499128611231680307134114485488045527874087787201929285054964470975183368843390144304817592022834964776627572530486988370561147309147431878339944929924817554592153847928299891910004947017944922600226578411363710332642159131434780118574508443329737205008740767114050393203378586198030594688973693040582602161044906282496298938488067974028542120760581394361009852949289312778951419297414539397191245613208870824073892205168691702588412127942876769076801654543781010053489550195805786667752436993787797314060636260025894938913493290827757214658155919067315100210193498257813238800977340294370157506850041379855301287509616840669796683320818394484941636880337927670129665423755771981508943219433631217451236534497756313934905873058047893250174374095410621165626685374860740438694164957298827137745821961891729331478192361398171904028620184546891043362575914890613084317957185096377627973321577890892349954034173733926156713608856290937560081386423762911368789359779869238924259259901509341063036973501946660874739360605568815069326907228743139223344250523405610498979540615927639297460908588445858894855358852839438800127 96862242657297980730186437253895187112579794845575488376162020996225541738091242099935043649030951514400451335222835655702216037656016080357802438645354359675880607574987166054493757154816356775179868073578972612906404304678688846392170732909583127951336903551150508625361330487893763566384645391221452904994815023427057678885015466078235124451016189989451212772454390724377484437479609460162147159942414971006671764141559049899971075559864627280142138238210321400352669189109061827869023849725283214651722390239470709893969483412044919310897548018469407173300084993070044019179863589545050244530177933274241256803673874664715820734422022055666676046842940133037366153697571067339219221972672537433407415237795488608860025444630356848403047614687081663669070204098325443629348031869440795572449944575964896967478470190956534020768279206317856384365952764213689215321961990061366702089440121606367983259794900675836393881739310903217900510585267561206881596140655887013831390012057180716828479261149308053601406832895056214321650112391092587412705505411014639804048376629243993918084965358182801531404184099725375413690960254064035585011425457465636774624648634882027400196464017914582912354308390317117754690629436927631394880697035512643242927125397818044595221361263412641899321811646652553383966257204283191222959330333219707902986856175827833512148637687383363977642777151907968392968497602055924796953288083371849646339280233613631364670340405673697363227334206275476881029353787169582777536503456764235322283894254407349553063638268880862035874571709562986588286554637806914875781730072591443023372397809910030591062906711865585520874233851347284945620187652350426081634953889273903559314459106255959977071422741640874099722212552851 156726400846048065819461037998614754469509083142154744966097458861400353154591756755935494386597781056414209292960029206081878677626435915523559503229325357829023308645122327584130673172851966810566967154158369415716237014755158475499822954675133500399372079580561628088216026810905794350576667654380699153223533993808474634767531887932064897014260777968690609111111495909991918351436498449575480001163470170619322565617398994768743960873063776274339530542161157404781660757358533977270211401596438537417139182124312178640974629678282433748120576778614687421129125641261944901185082928403223875598628785304151774242680951771214949345653702362800790532330985660911453940899500352394183692947855906276797559542613080631694990221257929378890035985248228972816502082438270373554165586461594643500749836485969843985423392791183112432131989538960015515800732882788197658651699195070107469203490514809746569457825495364810086922321913064262806793081566499694949570169198007774412784373067033666117792040100727351015946230086301827530520936464984792581397207999426767746925145706045648461865975411672351727209970767477812407478757568124671845037320396379130065452405849540183319263779118124776410612121629118095094984999594434481436260552336800152859767795194501365413615846205049522237249481776317977139738238713226410656590547784456242400743170110733706570196530937557738073053398317534653767829238040750089754252115221117671608231009565091823726068512309702317547774225249638052795919966871487539962632881084737556900174786604361383726797564425594470892165509269644373012049466006596274655650968996850702924881738872947004093009567586604946126443048920674192174363326875694676605040564388253444175242098403716868565517281636496232952561651352978 253588643503346046549647475252509941582088877987730233342259479857625894892682998855870538035628732570814660628182864861784094715282451995881361941874679717504903916220109493638624430327668323585746835227737342028622641319433847321891993687584716628350708983131712136713577357298799557916961313045602152058218349017235532313652547354010300021465276967958141821883565886634369402788916107909737627161105885141625994329758958044668715036432928403554481668780371478805134329946467595805139235251321721752068861572363782888534944113090327353059018124797084094594429210634331988920364946517948274120128806718578393031046354826435930770080075724418467466579173925793948820094597071419733402914920528443710204974780408569240555015665888286227293083599935310636485572286536595817183513618331035439073199781061934740952901862982139646452900268745277871900166685647001886873973661185131474171292930636416114552717620396040646480804061223967480707303666834060901831166309853894788244174385124214382946271301250035404617353062981358041852171048856077379994102713410441407550973522335289642379950940769855153258614154867203187821169717822188707430048745853844766840077054484422210719460243136039359322966430019435212849675629031362112831141249372312796102694920592319410008837207468462164136571293422970530523704495917509601879549878117675950303730026286561540082345168624941102050696175469442622160797735642806014551205403304489521254570289798705455090738852715376014911001559455913529676949320658657122740169384541501792222458680858768733279861202694475332928040080979207359600336020644403189531432699069442145948254136682857034684072474298470531647317282772021477119983514528045102686675518277527347734556557509972828542588704378137107052283863905829 410315044349394112369108513251124696051597961129884978308356938719026248047274755611806032422226513627228869921142894067865973392908887911404921445104005075333927224865231821222755103500520290396313802381895711444338878334189005797391816642259850128750081062712273764801793384109705352267537980699982851211441883011044006948420079241942364918479537745926832430994677382544361321140352606359313107162269355312245316895376357039437458997305992179828821199322532636209915990703826129782409446652918160289486000754488095067175918742768609786807138701575698782015558336275593933821550029446351497995727435503882544805289035778207145719425729426781268257111504911454860274035496571772127586607868384349987002534323021649872250005887146215606183119585183539609302074368974866190737679204792630082573949617547904584938325255773322758885032258284237887415967418529790084532625360380201581640496421151225861122175445891405456567726383137031743514096748400560596780736479051902562656958758191248049064063341350762755633299293067659869382691985321062172575499921409868175297898668041335290841816916181527504985824125634681000228648475390313379275086066250223896905529460333962394038724022254164135733578551648553307944660628625796594267401801709112948962462715786820775422453053673511686373820775199288507663442734630736012536140425902132192704473196397295246652541699562498840123749573786977275928626973683556104305457518525607192862801299363797278816807365025078332458775784705551582472869287530144662702802265626239349122633467463130117006658767120069803820205590248851732612385486650999464187083668066292848873135875555804038777082041885075477773760331692695669294346841403739779291716082665780791909798655913689697108105986014633340004845515258807 663903687852740158918755988503634637633686839117615211650616418576652142939957754467676570457855246198043530549325758929650068108191339907286283386978684792838831141085341314861379533828188613982060637609633053472961519653622853119283810329844566757100790045843985901515370741408504910184499293745585003269660232028279539262072626595952664939944814713884974252878243269178730723929268714269050734323375240453871311225135315084106174033738920583383302868102904115015050320650293725587548681904239882041554862326851877955710862855858937139866156826372782876609987546909925922741914975964299772115856242222460937836335390604643076489505805151199735723690678837248809094130093643191860989522788912793697207509103430219112805021553034501833476203185118850245787646655511462007921192823123665521647149398609839325891227118755462405337932527029515759316134104176791971406599021565333055811789351787641975674893066287446103048530444360999224221400415234621498611902788905797350901133143315462432010334642600798160250652356049017911234863034177139552569602634820309582848872190376624933221767856951382658244438280501884188049818193212502086705134812104068663745606514818384604758184265390203495056544981667988520794336257657158707098543051081425745065157636379140185431290261141973850510392068622259038187147230548245614415690304019808143008203222683856786734886868187439942174445749256419898089424709326362118856662921830096714117371589162502733907546217740454347369777344161465112149818608188801785442971650167741141345092148321898850286519969814545136748245671228059092212721507295402653718516367135734994821390012238661073461154516183546009421077614464717146414330355931784881978391600943308139644355213423662525650694690392770447057129379164636 1074218732202134271287864501754759333685284800247500189958973357295678390987232510079482602880081759825272400470468652997516041501100227818691204832082689868172758365950573136084134637328708904378374439991528764917300397987811858916675626972104416885850871108556259666317164125518210262452037274445567854481102115039323546210492705837895029858424352459811806683872920651723092045069621320628363841485644595766116628120511672123543633031044912763212124067425436751224966311354119855369958128557158042331040863081339973022886781598627546926673295527948481658625545883185519856563465005410651270111583677726343482641624426382850222208931534577981003980802183748703669368165590214963988576130657297143684210043426451868985055027440180717439659322770302389855089721024486328198658872027916295604221099016157743910829552374528785164222964785313753646732101522706582055939224381945534637452285772938867836797068512178851559616256827498030967735497163635182095392639267957699913558091901506710481074397983951560915883951649116677780617555019498201725145102556230177758146770858417960224063584773132910163230262406136565188278466668602815465980220878354292560651135975152346998796908287644367630790123533316541828738996886282955301365944852790538694027620352165960960853743314815485536884212843821547545850589965178981626951830729921940335712676419081152033387428567749938782298195323043397174018051683009918223162120440355703906980172888526300012724353582765532679828553128867016694622687895718946448145773915793980490467725615785028967293178736934614940568451261476910824825106993946402117905600035202027843694525887794465112238236558068621487194837946157412815708677197335524661270107683609088931554153869337352222758800676407403787061974894423443 1738122420054874430206620490258393971318971639365115401609589775872330533927190264547159173337937006023315931019794411927166109609291567725977488219061374661011589507035914450945514171156897518360435077601161818390261917641434712035959437301948983642951661154400245567832534866926715172636536568191152857750762347067603085472565332433847694798369167173696780936751163920901822768998890034897414575809019836219987939345646987207649807064783833346595426935528340866240016632004413580957506810461397924372595725408191850978597644454486484066539452354321264535235533430095445779305379981374951042227439919948804420477959816987493298698437339729180739704492862585952478462295683858155849565653446209937381417552529882088097860048993215219273135525955421240100877367679997790206580064851039961125868248414767583236720779493284247569560897312343269406048235626883374027345823403510867693264075124726509812471961578466297662664787271859030191956897578869803594004542056863497264459225044822172913084732626552359076134604005165695691852418053675341277714705191050487340995643048794585157285352630084292821474700686638449376328284861815317552685355690458361224396742489970731603555092553034571125846668514984530349533333143940114008464487903871964439092777988545101146285033575957459387394604912443806584037737195727227241367521033941748478720879641765008820122315435937378724472641072299817072107476392336280342018783362185800621097544477688802746631899800505987027198330473028481806772506503907748233588745565961721631812817764106927817579698706749160077316696932704969917037828501241804771624116402337762838515915900033126185699391074252167496615915560622129962123007553267309543248499284552397071198509082761014748409495366800174234119104273588079 2812341152257008701494484992013153305004256439612615591568563133168008924914422774626641776218018765848588331490263064924682151110391795544668693051144064529184347872986487587029648808485606422738809517592690583307562315629246570952635064274053400528802532262956505234149698992444925435088573842636720712231864462106926631683058038271742724656793519633508587620624084572624914814068511355525778417294664431986104567466158659331193440095828746109807551002953777617464982943358533436327464939018555966703636588489531824001484426053114030993212747882269746193861079313280965635868844986785602312339023597675147903119584243370343520907368874307161743685295046334656147830461274073119838141784103507081065627595956333957082915076433395936712794848725723629955967088704484118405238936878956256730089347430925327147550331867813032733783862097657023052780337149589956083285047785456402330716360897665377649269030090645149222281044099357061159692394742504985689397181324821197178017316946328883394159130610503919992018555654282373472469973073173543002859807747280665099142413907212545381348937403217202984704963092775014564606751530418133018665576568812653785047878465123078602352000840678938756636792048301072178272330030223069309830432756662503133120398340711062107138776890772944924278817756265354129888327160906208868319351763863688814433556060846160853509744003687317506770836395343214246125528075346198565180903802541504528077717366215102759356253383271519707026883601895498501395194399626694681734519481755702122280543379891956784872877443683775017885148194181880741862935495188206889529716437539790682210441787827591297937627632320788983810753506779542777831684750602834204518606968161486002752662952098366971168296043207578021181079168011522 4550463572311883131701105482271547276323228078977730993178152909040339458841613039173800949555955771871904262510057476851848260719683363270646181270205439190195937380022402037975162979642503941099244595193852401697824233270681282988594501576002384171754193417356750801982233859371640607725110410827873569982626809174529717155623370705590419455162686807205368557375248493526737583067401390423192993103684268206092506811805646538843247160612579456402977938482118483704999575362947017284971749479953891076232313897723674980082070507600515059752200236591010729096612743376411415174224968160553354566463517623952323597544060357836819605806214036342483389787908920608626292756957931275687707437549717018447045148486216045180775125426611155985930374681144870056844456384481908611819001729996217855957595845692910384271111361097280303344759410000292458828572776473330110630871188967270023980436022391887461740991669111446884945831371216091351649292321374789283401723381684694442476541991151056307243863237056279068153159659448069164322391126848884280574512938331152440138056956007130538634290033301495806179663779413463940935036392233450571350932259271015009444620955093810205907093393713509882483460563285602527805663174163183318294920660534467572213176329256163253423810466730404311673422668709160713926064356633436109686872797805437293154435702611169673632059439624696231243477467643031318233004467682478907199687164727305149175261843903905505988153183777506734225214074923980308167700903534442915323265047717423754093361143998884602452576150432935095201845126886850658900763996430011661153832839877553520726357687860717483637018706572956480426669067401672739954692303870143747767106252713883073951172034859381719577791410007752255300183441599601 7362804724568891833195590474284700581327484518590346584746716042208348383756035813800442725773974537720492594000320541776530411830075158815314874321349503719380285253008889625004811788128110363838054112786542985005386548899927853941229565850055784700556725680313256036131932851816566042813684253464594282214491271281456348838681408977333144111956206440713956177999333066151652397135912745948971410398348700192197074277964305870036687256441325566210528941435896101169982518721480453612436688498509857779868902387255498981566496560714546052964948118860756922957692056657377051043069954946155666905487115299100226717128303728180340513175088343504227075082955255264774123218232004395525849221653224099512672744442550002263690201860007092698725223406868500012811545088966027017057938608952474586046943276618237531821443228910313037128621507657315511608909926063286193915918974423672354696796920057265111010021759756596107226875470573152511341687063879774972798904706505891620493858937479939701402993847560199060171715313730442636792364200022427283434320685611817539280470863219675919983227436518698790884626872188478505541787922651583590016508828083668794492499420216888808259094234392448639120252611586674706077993204386252628125353417196970705333574669967225360562587357503349235952240424974514843814391517539644978006224561669126107587991763457330527141803443312013738014313862986245564358532543028677472380590967268809677252979210119008265344406567049026441252097676819478809562895303161137597057784529473125876373904523890841387325453594116710113086993321068731400763699491618218550683549277417344202936799475688308781574646338893745464237422574181215517786377054472977952285713220875369076703834986957748690746087453215330276481262609611123 11913268296880774964896695956556247857650712597568077577924868951248687842597648852974243675329930309592396856510378018628378672549758522085961055591554942909576222633031291662979974767770614304937298707980395386703210782170609136929824067426058168872310919097670006838114166711188206650538794664292467852197118080455986065994304779682923563567118893247919324735374581559678389980203314136372164403502032968398289581089769952408879934417053905022613506879918014584874982094084427470897408437978463748856101216284979173961648567068315061112717148355451767652054304800033788466217294923106709021471950632923052550314672364086017160118981302379846710464870864175873400415975189935671213556659202941117959717892928766047444465327286618248684655598088013370069656001473447935628876940338948692442004539122311147916092554590007593340473380917657607970437482702536616304546790163390942378677232942449152572751013428868042992172706841789243862990979385254564256200628088190586062970400928630996008646857084616478128324874973178511801114755326871311564008833623942969979418527819226806458617517469820194597064290651601942446476824314885034161367441087354683803937120375310699014166187628105958521603713174872277233883656378549435946420274077731438277546750999223388613986397824233753547625663093683675557740455874173081087693097359474563400742427466068500200773862882936709969257791330629276882591537010711156379580278131996114826428241054022913771332559750826533175477311751743459117730596206695580512381049577190549630467265667889725989778029744549645208288838447955582059664463488048230211837382117294897723663157163549026265211665045466701944664091641582888257741069358343121700052819473589252150655007021817130410323878863223082531781446051210724 19276073021449666798092286430840948438978197116158424162671584993457036226353684666774686401103904847312889450510698560404909084379833680901275929912904446628956507886040181287984786555898724668775352820766938371708597331070536990871053633276113953572867644777983262874246099563004772693352478917757062134411609351737442414832986188660256707679075099688633280913373914625830042377339226882321135813900381668590486655367734258278916621673495230588824035821353910686044964612805907924509845126476973606635970118672234672943215063629029607165682096474312524575011996856691165517260364878052864688377437748222152777031800667814197500632156390723350937539953819431138174539193421940066739405880856165217472390637371316049708155529146625341383380821494881870082467546562413962645934878947901167028051482398929385447913997818917906377602002425314923482046392628599902498462709137814614733374029862506417683761035188624639099399582312362396374332666449134339228999532794696477683464259866110935710049850932176677188496590286908954437907119526893738847443154309554787518698998682446482378600744906338893387948917523790420952018612237536617751383949915438352598429619795527587822425281862498407160723965786458951939961649582935688574545627494928408982880325669190613974548985181737102783577903518658190401554847391712726065699321921143689508330419229525830727915666326248723707272105193615522446950069553739833851960869099264924503681220264141922036676966317875559616729409428562937927293491509856718109438834106663675506841170191780567377103483338666355321375831769024313460428162979666448762520931394712241926599956639237335046786311384360447408901514215764103775527446412816099652338532694464621227358842008774879101069966316438412808262708660821847 31189341318330441762988982387397196296628909713726501740596453944705724068951333519748930076433835156905286307021076579033287756929592202987236985504459389538532730519071472950964761323669338973712651528747333758411808113241146127800877700702172122445178563875653269712360266274192979343891273582049529986608727432193428480827290968343180271246193992936552605648748496185508432357542541018693300217402414636988776236457504210687796556090549135611437542701271925270919946706890335395407253564455437355492071334957213846904863630697344668278399244829764292227066301656724953983477659801159573709849388381145205327346473031900214660751137693103197648004824683607011574955168611875737952962540059106335432108530300082097152620856433243590068036419582895240152123548035861898274811819286849859470056021521240533364006552408925499718075383342972531452483875331136518803009499301205557112051262804955570256512048617492682091572289154151640237323645834388903485200160882887063746434660794741931718696708016793155316821465260087466239021874853765050411451987933497757498117526501673288837218262376159087985013208175392363398495436552421651912751391002793036402366740170838286836591469490604365682327678961331229173845305961485124520965901572659847260427076668414002588535383005970856331203566612341865959295303265885807153392419280618252909072846695594330928689529209185433676529896524244799329541606564450990231541147231261039330109461318164835808009526068702092792206721180306397045024087716552298621819883683854225137308435859670293366881513083216000529664670216979895520092626467714678974358313512007139650263113802786361311997976429827149353565605857346992033268515771159221352391352168053873378013849030592009511393845179661495340044154712032571 50465414339780108561081268818238144735607106829884925903268038938162760295305018186523616477537740004218175757531775139438196841309425883888512915417363836167489238405111654238949547879568063642488004349514272130120405444311683118671931333978286076018046208653636532586606365837197752037243752499806592121020336783930870895660277157003436978925269092625185886562122410811338474734881767901014436031302796305579262891825238468966713177764044366200261578522625835956964911319696243319917098690932410962128041453629448519848078694326374275444081341304076816802078298513416119500738024679212438398226826129367358104378273699714412161383294083826548585544778503038149749494362033815804692368420915271552904499167671398146860776385579868931451417241077777110234591094598275860920746698234751026498107503920169918811920550227843406095677385768287454934530267959736421301472208439020171845425292667461987940273083806117321190971871466514036611656312283523242714199693677583541429898920660852867428746558948969832505318055546996420676928994380658789258895142243052545016816525184119771215819007282497981372962125699182784350514048789958269664135340918231389000796359966365874659016751353102772843051644747790181113806955544420813095511529067588256243307402337604616563084368187707959114781470131000056360850150657598533219091741201761942417403265925120161656605195535434157383802001717860321776491676118190824083502016330525963833790681582306757844686492386577652408936130608869334972317579226409016731258717790517900644149606051450860743984996421882355851040501986004208980520789447381127736879244906719381576863070442023696358784287814187596762467120073111095808795962183975321004729884862518494605372691039366888612463811496099908148306863372854418 81654755658110550324070251205635341032236016543611427643864492882868484364256351706272546553971575161123462064552851718471484598239018086875749900921823225706021968924183127189914309203237402616200655878261605888532213557552829246472809034680458198463224772529289802298966632111390731381135026081856122107629064216124299376487568125346617250171463085561738492210870906996846907092424308919707736248705210942568039128282742679654509733854593501811699121223897761227884858026586578715324352255387848317620112788586662366752942325023718943722480586133841109029144600170141073484215684480372012108076214510512563431724746731614626822134431776929746233549603186645161324449530645691542645330960974377888336607697971480244013397242013112521519453660660672350386714642634137759195558517521600885968163525441410452175927102636768905813752769111259986387014143290872940104481707740225728957476555472417558196785132423610003282544160620665676848979958117912146199399854560470605176333581455594799147443266965762987822139520807083886915950869234423839670347130176550302514934051685793060053037269658657069357975333874575147749009485342379921576886731921024425403163100137204161495608220843707138525379323709121410287652261505905937616477430640248103503734479006018619151619751193678815445985036743341922320145453923484340372484160482380195326476112620714492585294724744619591060331898242105121106033282682641814315043163561787003163900142900471593652696018455279745201142851789175732017341666942961315353078601474372125781458041911121154110866509505098356380705172202984104500613415915095806711237558418726521227126184244810057670782264244014746116032725930458087842064477955134542357121237030572367983386540069958898123857656675761403488351018084886989 132120169997890658885151520023873485767843123373496353547132531821031244659561369892796163031509315165341637822084626857909681439548443970764262816339187061873511207329294781428863857082805466258688660227775878018652619001864512365144740368658744274481270981182926334885572997948588483418378778581662714228649401000055170272147845282350054229096732178186924378772993317808185381827306076820722172280008007248147302020107981148621222911618637868011960699746523597184849769346282822035241450946320259279748154242216110886601021019350093219166561927437917925831222898683557192984953709159584450506303040639879921536103020431329038983517725860756294819094381689683311073943892679507347337699381889649441241106865642878390874173627592981452970870901738449460621305737232413620116305215756351912466271029361580370987847652864612311909430154879547441321544411250609361405953916179245900802901848139879546137058216229727324473516032087179713460636270401435388913599548238054146606232502116447666576189825914732820327457576354080307592879863615082628929242272419602847531750576869912831268856276941155050730937459573757932099523534132338191241022072839255814403959460103570036154624972196809911368430968456911591401459217050326750711988959707836359747041881343623235714704119381386774560766506874341978680995604581082873591575901684142137743879378545834654241899920280053748444133899959965442882524958800832638398545179892312966997690824482778351497382510841857397610078982398045066989659246169370332084337319264890026425607647962572014854851505926980712231745674188988313481134205362476934448116803325445902803989254686833754029566552058202342878499846003569183650860440139109863361851121893090862588759231109325786736321468171861311636657881457741407 213774925656001209209221771229508826800079139917107781190997024703899729023817721599068709585480890326465099886637478576381166037787462057640012717261010287579533176253477908618778166286042868874889316106037483907184832559417341611617549403339202472944495753712216137184539630059979214799513804663518836336278465216179469648635413407696671479268195263748662870983864224805032288919730385740429908528713218190715341148390723828275732645473231369823659820970421358412734627372869400750565803201708107597368267030802773253353963344373812162889042513571759034860367498853698266469169393639956462614379255150392484967827767162943665805652157637686041052643984876328472398393423325198889983030342864027329577714563614358634887570869606093974490324562399121811008020379866551379311863733277952798434434554802990823163774755501381217723182923990807427708558554541482301510435623919471629760378403612297104333843348653337327756060192707845390309616228519347535112999402798524751782566083572042465723633092880495808149597097161164194508830732849506468599589402596153150046684628555705891321893546599812120088912793448333079848533019474718112817908804760280239807122560240774197650233193040517049893810292166033001689111478556232688328466390348084463250776360349641854866323870575065590006751543617683901001141058504567213964060062166522333070355491166549146827194645024673339504465798202070563988558241483474452713588343454099970161590967383249945150078529297137142811221834187220799007000913112331647437415920739262152207065689873693168965718015432079068612450846391972417981747621277572741159354361744172424031115438931643811700348816302217088994532571934027271492924918094244405718972358923663230572145771179284684860179124847622715125008899542628396 345895095653891868094373291253382312567922263290604134738129556524930973683379091491864872616990205491806737708722105434290847477335906028404275533600197349453044383582772690047642023368848335133577976333813361925837451561281853976762289771997946747425766734895142472070112628008567698217892583245181550564927866216234639920783258690046725708364927441935587249756857542613217670747036462561152080808721225438862643168498704976896955557091869237835620520716944955597584396719152222785807254148028366877116421273018884139954984363723905382055604441009676960691590397537255459454123102799540913120682295790272406503930787594272704789169883498442335871738366566011783472337316004706237320729724753676770818821429257237025761744497199075427461195464137571271629326117098964999428168949034304710900705584164571194151622408365993529632613078870354869030102965792091662916389540098717530563280251752176650470901564883064652229576224795025103770252498920782924026598951036578898388798585688490132299822918795228628477054673515244502101710596464589097528831675015755997578435205425618722590749823540967170819850253022091011948056553607056304058930877599536054211082020344344233804858165237326961262241260622944593090570695606559439040455350055920822997818241693265090581027989956452364567518050492025879682136663085650087555635963850664470814234869712383801069094565304727087948599698162036006871083200284307091112133523346412937159281791866028296647461040138994540421300816585265865996660159281701979521753240004152178632673337836265183820569521359059780844196520580960731462881826640049675607471165069618326835104693618477565729915368360419431873032417937596455143785358233354269080823480816754093160905002288610471596500593019484026761666781000369803 559670021309893077303595062482891139368001403207711915929126581228830702707196813090933582202471095818271837595359584010672013515123368086044288250861207637032577559836250598666420189654891204008467292439850845833022284120699195588379839175337149220370262488607358609254652258068546913017406387908700386901206331432414109569418672097743397187633122705684250120740721767418249959666766848301581989337434443629577984316889428805172688202565100607659280341687366314010319024092021623536373057349736474474484688303821657393308947708097717544944646954581435995551957896390953725923292496439497375735061550940664891471758554757216370594822041136128376924382351442340255870730739329905127303760067617704100396535992871595660649315366805169401951520026536693082637346496965516378740032682312257509335140138967562017315397163867374747355796002861162296738661520333573964426825164018189160323658655364473754804744913536401979985636417502870494079868727440130459139598353835103650171364669260532598023456011675724436626651770676408696610541329314095566128421077611909147625119833981324613912643370140779290908763046470424091796589573081774416876839682359816294018204580585118431455091358277844011156051552788977594779682174162792127368921740404005286248594602042906945447351860531517954574269594109709780683277721590217301519696026017186803884590360878932947896289210329400427453065496364106570859641441767781543825721866800512907320872759249278241797539569436131683232522650772486665003661072394033626959169160743414330839739027709958352786287536791138849456647366972933149444629447917622416766825526813790750866220132550121377430264184662636520867564989871623726636710276327598674799795839740417323733050773467895156456679717867106741886675680542998199 905565116963784945397968353736273451935923666498316050667256137753761676390575904582798454819461301310078575304081689444962860992459274114448563784461404986485621943419023288714062213023739539142045268773664207758859735681981049565142128947335095967796029223502501081324764886077114611235298971153881937466134197648648749490201930787790122895998050147619837370497579310031467630413803310862734070146155669068440627485388133782069643759656969845494900862404311269607903420811173846322180311497764841351601109576840541533263932071821622927000251395591112956243548293928209185377415599239038288855743846730937297975689342351489075383991924634570712796120718008352039343068055334611364624489792371380871215357422128832686411059864004244829412715490674264354266672614064481378168201631346562220235845723132133211467019572233368276988409081731517165768764486125665627343214704116906690886938907116650405275646478419466632215212642297895597850121226360913383166197304871682548560163254949022730323278930470953065103706444191653198712251925778684663657252752627665145203555039406943336503393193681746461728613299492515103744646126688830720935770559959352348229286600929462665259949523515170972418292813411922187870252869769351566409377090459926109246412843736172036028379850487970319141787644601735660365414384675867389075331989867851274698825230591316748965383775634127515401665194526142577730724642052088634937855390146925844480154551115306538445000609575126223653823467357752531000321231675735606480922400747566509472412365546223536606857058150198630300843887553893880907511274557672092374296691883409077701324826168598943160179553023055952740597407809220181780495634560952943880619320557171416893955775756505628053180310886590768648342461543368002 1465235138273678022701563416219164591303925069706027966596382718982592379097772717673732037021932397128350412899441273455634874507582642200492852035322612623518199503255273887380482402678630743150512561213515053591882019802680245153521968122672245188166291712109859690579417144145661524252705359062582324367340529081062859059620602885533520083631172853304087491238301077449717590080570159164316059483590112698018611802277562587242331962222070453154181204091677583618222444903195469858553368847501315826085797880662198926572879779919340471944898350172548951795506190319162911300708095678535664590805397671602189447447897108705445978813965770699089720503069450692295213798794664516491928249859989084971611893415000428347060375230809414231364235517210957436904019111029997756908234313658819729570985862099695228782416736100743024344205084592679462507426006459239591770039868135095851210597562481124160080391391955868612200849059800766091929989953801043842305795658706786198731527924209555328346734942146677501730358214868061895322793255092780229785673830239574292828674873388267950416036563822525752637376345962939195541235699770605137812610242319168642247491181514581096715040881793014983574344366200899782649935043932143693778298830863931395495007445779078981475731711019488273716057238711445441048692106266084690595028015885038078583415591470249696861672985963527942854730690890249148590366083819870178763577256947438751801027310364584780242540179011257906886346118130239196003982304069769233440091561490980840312151393256181889393144594941337479757491254526827030352140722475294509141122218697199828567544958718720320590443737685692473608162397680843908417205910888551618680415160297588740627006549224400784509860028753697510535018142086366201 2370800255237462968099531769955438043239848736204344017263638856736354055488348622256530491841393698438428988203522962900597735500041916314941415819784017610003821446674297176094544615702370282292557829987179261350741755484661294718664097070007341155962320935612360771904182030222776135488004330216464261833474726729711608549822533673323642979629223000923924861735880387481185220494373470027050129629745781766459239287665696369311975721879040298649082066495988853226125865714369316180733680345266157177686907457502740459836811851740963398945149745763661908039054484247372096678123694917573953446549244402539487423137239460194521362805890405269802516623787459044334556866849999127856552739652360465842827250837129261033471435094813659060776951007885221791170691725094479135076435945005381949806831585231828440249436308334111301332614166324196628276190492584905219113254572252002542097536469597774565356037870375335244416061702098661689780111180161957225471992963578468747291691179158578058670013872617630566834064659059715094035045180871464893442926582867239438032229912795211286919429757504272214365989645455454299285881826459435858748380802278520990476777782444043761974990405308185955992637179612821970520187913701495260187675921323857504741420289515251017504111561507458592857844883313181101414106490941952079670360005752889353282240822061566445827056761597655458256395885416391726321090725871958813701432647094364596281181861479891318687540788586384130540169585487991727004303535745504839921013962238547349784563758802405426000001653091536110058335142080720911259651997032966601515418910580608906268869784887319263750623290708748426348759805490064090197701545449504562561034480854760157520962324980906412563040339640288279183360603629734203 3836035393511140990801095186174602634543773805910371983860021575718946434586121339930262528863326095566779401102964236356232610007624558515434267855106630233522020949929571063475027018381001025443070391200694314942623775287341539872186065192679586344128612647722220462483599174368437659740709689279046586200815255810774467609443136558857163063260395854228012352974181464930902810574943629191366189113335894464477851089943258956554307684101110751803263270587666436844348310617564786039287049192767473003772705338164939386409691631660303870890048095936210859834560674566535007978831790596109618037354642074141676870585136568899967341619856175968892237126856909736629770665644663644348480989512349550814439144252129689380531810325623073292141186525096179228074710836124476891984670258664201679377817447331523669031853044434854325676819250916876090783616499044144810883294440387098393308134032078898725436429262331203856616910761899427781710101133963001067777788622285254946023219103368133387016748814764308068564422873927776989357838435964245123228600413106813730860904786183479237335466321326797967003365991418393494827117526230040996560991044597689632724268963958624858690031287101200939566981545813721753170122957633638953965974752187788900236427735294329998979843272526946866573902122024626542462798597208036770265388021637927431865656413531816142688729747561183401111126576306640874911456809691828992465009904041803348082209171844476098930080967597642037426515703618230923008285839815274073361105523729528190096715152058587315393146248032873589815826396607547941611792719508261110656541129277808734836414743606039584341067028394440899956922203170907998614907456338056181241449641152348898147968874205307197072900368393985789718378745716100404 6206835648748603958900626956130040677783622542114716001123660432455300490074469962186793020704719794005208389306487199256830345507666474830375683674890647843525842396603868239569571634083371307735628221187873576293365530772002834590850162262686927500090933583334581234387781204591213795228714019495510848034289982540486076159265670232180806042889618855151937214710061852412088031069317099218416318743081676230937090377608955325866283405980151050452345337083655290070474176331934102220020729538033630181459612795667679846246503483401267269835197841699872767873615158813907104656955485513683571483903886476681164293722376029094488704425746581238694753750644368780964327532494662772205033729164710016657266395089258950414003245420436732352918137532981401019245402561218956027061106203669583629184649032563352109281289352768965627009433417241072719059806991629050029996549012639100935405670501676673290792467132706539101032972463998089471490212314124958293249781585863723693314910282526711445686762687381938635398487532987492083392883616835710016671526995974053168893134698978690524254896078831070181369355636873847794112999352689476855309371846876210623201046746402668620665021692409386895559618725426543723690310871335134214153650673511646404977848024809581016483954834034405459431747005337807643876905088149988849935748027390816785147897235593382588515786509158838859367522461723032601232547535563787806166442551136167944363391033324367417617621756184026167966685289106222650012589375560778913282119485968075539881278910860992741393147901124409699874161538688268852871444716541227712171960039858417641105284528493358848091690319103189326305682008660972088812609001787560743802484122007109055668931199186213609635940708034274068901739349345834607 10042871042259744949701722142304643312327396348025087984983682008174246924660591302117055549568045889571987790409451435613062955515291033345809951529997278077047863346533439303044598652464372333178698612388567891235989306059344374463036227455366513844219546231056801696871380378959651454969423708774557434235105238351260543768708806791037969106150014709379949567684243317342990841644260728409782507856417570695414941467552214282420591090081261802255608607671321726914822486949498888259307778730801103185232318133832619232656195115061571140725245937636083627708175833380442112635787276109793189521258528550822841164307512597994456046045602757207586990877501278517594098198139326416553514718677059567471705539341388639794535055746059805645059324058077580247320113397343432919045776462333785308562466479894875778313142397203819952686252668157948809843423490673194840879843453026199328713804533755572016228896395037742957649883225897517253200313448087959361027570208148978639338129385894844832703511502146246703962910406915269072750722052799955139900127409080866899754039485162169761590362400157868148372721628292241288940116878919517851870362891473900255925315710361293479355052979510587835126600271240265476860433828968773168119625425699435305214275760103911015463798106561352326005649127362434186339703685358025620201136049028744217013553649125198731204516256720022260478649038029673476144004345255616798631452455177971292445600205168843516547702723781668205393200992724453573020875215376052986643225009697603729977994062919580056786294149157283289689987935295816794483237436049488822828501169136226375941699272099398432432757347497630226262604211831880087427516458125616925043933763159457953816900073391520806708841076428259858620118095061935011 16249706691008348908602349098434683990111018890139803986107342440629547414735061264303848570272765683577196179715938634869893301022957508176185635204887925920573705743137307542614170286547743640914326833576441467529354836831347209053886389718053441344310479814391382931259161583550865250198137728270068282269395220891746619927974477023218775149039633564531886782394305169755078872713577827628198826599499246926352031845161169608286874496061412852707953944754977016985296663281432990479328508268834733366691930929500299078902698598462838410560443779335956395581790992194349217292742761623476761005162415027504005458029888627088944750471349338446281744628145647298558425730633989188758548447841769584128971934430647590208538301166496537997977461591058981266565515958562388946106882666003368937747115512458227887594431749972785579695686085399021528903230482302244870876392465665300264119475035432245307021363527744282058682855689895606724690525762212917654277351794012702332653039668421556278390274189528185339361397939902761156143605669635665156571654405054920068647174184140860285845258478988938329742077265166089083053116231608994707179734738350110879126362456763962100020074671919974730686218996666809200550744700303907382273276099211081710192123784913492031947752940595757785437396132700241830216608773508014470136884076419561002161450884718581319720302765878861119846171499752706077376551880819404604797895006314139236808991238493210934165324479965694373359886281830676223033464590936831899925344495665679269859272973780572798179442050281692989564149473984085647354682152590716535000461208994644017046983800592757280524447666600819552568286220492852176240125459913177668846417885166567009485831272577734416344781784462533927521857444407769618 26292577733268093858304071240739327302438415238164891971091024448803794339395652566420904119840811573149183970125390070482956256538248541521995586734885203997621569089670746845658768939012115974093025445965009358765344142890691583516922617173419955188530026045448184628130541962510516705167561437044625716504500459243007163696683283814256744255189648273911836350078548487098069714357838556037981334455916817621766973312713383890707465586142674654963562552426298743900119150230931878738636286999635836551924249063332918311558893713524409551285689716972040023289966825574791329928530037733269950526420943578326846622337401225083400796516952095653868735505646925816152523928773315605312063166518829151600677473772036230003073356912556343643036785649136561513885629355905821865152659128337154246309581992353103665907574147176605532381938753556970338746653972975439711756235918691499592833279569187817323250259922782025016332738915793123977890839210300877015304922002161680971991169054316401111093785691674432043324308346818030228894327722435620296471781814135786968401213669303030047435620879146806478114798893458330371993233110528512559050097629824011135051678167125255579375127651430562565812819267907074677411178529272680550392901524910517015406399545017403047411551047157110111443045260062676016556312458866040090338020125448305219175004533843780050924819022598883380324820537782379553520556226075021403429347461492110529254591443662054450713027203747362578753087274555129796054339806312884886568569505363282999837267036700152854965736199438976279254137409279902441837919588640205357828962378130870392988683072692155712957205014098449778830890432324732263667641918038794593890351648326024963302731345969255223053622860890793786141975539469704629 42542284424276442766906420339174011292549434128304695957198366889433341754130713830724752690113577256726380149841328705352849557561206049698181221939773129918195274832808054388272939225559859615007352279541450826294698979722038792570809006891473396532840505859839567559389703546061381955365699165314693998773895680134753783624657760837475519404229281838443723132472853656853148587071416383666180161055416064548119005157874553498994340082204087507671516497181275760885415813512364869217964795268470569918616179992833217390461592311987247961846133496307996418871757817769140547221272799356746711531583358605830852080367289852172345546988301434100150480133792573114710949659407304794070611614360598735729649408202683820211611658079052881641014247240195542780451145314468210811259541794340523184056697504811331553502005897149391112077624838955991867649884455277684582632628384356799856952754604620062630271623450526307075015594605688730702581364972513794669582273796174383304644208722737957389484059881202617382685706286720791385037933392071285453043436219190707037048387853443890333280879358135744807856876158624419455046349342137507266229832368174122014178040623889217679395202323350537296499038264573883877961923229576587932666177624121598725598523329930895079359303987752867896880441392762917846772921232374054560474904201867866221336455418562361370645121788477744500170992037535085630897108106894426008227242467806249766063582682155265384878351683713056952112973556385806019087804397249716786493914001028962269696540010480725653145178249720669268818286883263988089192601741230921892829423587125514410035666873284912993481652680699269331399176652817584439907767377951972262736769533492591972788562618546989639398404645353327713663832983877474247 68834862157544536625210491579913338594987849366469587928289391338237136093526366397145656809954388829875564119966718775835805814099454591220176808674658333915816843922478801233931708164571975589100377725506460185060043122612730376087731624064893351721370531905287752187520245508571898660533260602359319715278396139377760947321341044651732263659418930112355559482551402143951218301429254939704161495511332882169885978470587937389701805668346762162635079049607574504785534963743296747956601082268106406470540429056166135702020486025511657513131823213280036442161724643343931877149802837090016662058004302184157698702704691077255746343505253529754019215639439498930863473588180620399382674780879427887330326881974720050214685014991609225284051032889332104294336774670374032676412200922677677430366279497164435219409580044325996644459563592512962206396538428253124294388864303048299449786034173807879953521883373308332091348333521481854680472204182814671684887195798336064276635377777054358500577845572877049426010014633538821613932261114506905749515218033326494005449601522746920380716500237282551285971675052082749827039582452666019825279929997998133149229718791014473258770329974781099862311857532480958555373101758849268483059079149032115741004922874948298126770855034909978008323486652825593863329233691240094650812924327316171440511459952406141421569940811076627880495812575317465184417664332969447411656589929298360295318174125817319835591378887460419530866060830940935815142144203562601673062483506392245269533807047180878508110914449159645548072424292543890531030521329871127250658385965256384803024349945977068706438857694797719110230067085142316703575409295990766856627121181818616936091293964516244862452027506244121499805808523347178876 111377146581820979392116911919087349887537283494774283885487758227670477847657080227870409500067966086601944269808047481188655371660660640918358030614431463834012118755286855622204647390131835204107730005047911011354742102334769168658540630956366748254211037765127319746909949054633280615898959767674013714052291819512514730945998805489207783063648211950799282615024255800804366888500671323370341656566748946718004983628462490888696145750550849670306595546788850265670950777255661617174565877536576976389156609048999353092482078337498905474977956709588032861033482461113072424371075636446763373589587660789988550783071980929428091890493554963854169695773232072045574423247587925193453286395240026623059976290177403870426296673070662106925065280129527647074787919984842243487671742717018200614422977001975766772911585941475387756537188431468954074046422883530808877021492687405099306738788778427942583793506823834639166363928127170585383053569155328466354469469594510447581279586499792315890061905454079666808695720920259612998970194506578191202558654252517201042497989376190810713997379595418296093828551210707169282085931794803527091509762366172255163407759414903690938165532298131637158810895797054842433335024988425856415725256773153714466603446204879193206130159022662845905203928045588511710102154923614149211287828529184037661847915370968502792215062599554372380666804612852550815314772439863873419883832397104610061381756807972585220469730571173476482979034387326741834229948600812318459556397507421207539230347057661604161256092698880314816890711175807878620223123071102049143487809552381899213060016819261981699920510375496988441629243737959901143483176673942739119363890715311208908879856583063234501850432151597449213469641507224653123 180212008739365516017327403499000688482525132861243871813777149565907613941183446625016066310022354916477508389774766257024461185760115232138534839289089797749828962677765656856136355554703810793208107730554371196414785224947499544746272255021260099975581569670415071934430194563205179276432220370033333429330687958890275678267339850140940046723067142063154842097575657944755585189929926263074503152078081828887890962099050428278397951418897611832941674596396424770456485740998958365131166959804683382859697038105165488794502564363010562988109779922868069303195207104457004301520878473536780035647591962974146249485776672006683838233998808493608188911412671570976437896835768545592835961176119454510390303172152123920640981688062271332209116313018859751369124694655216276164083943639695878044789256499140201992321165985801384400996752023981916280442961311783933171410356990453398756524822952235822537315390197142971257712261648652440063525773338143138039356665392846511857914964276846674390639751026956716234705735553798434612902455621085096952073872285843695047947590898937731094713879832700847379800226262789919109125514247469546916789692364170388312637478205918164196935862272912737021122753329535800988708126747275124898784335922185830207608369079827491332901014057572823913527414698414105573431388614854243862100752856500209102359375323374644213785003410631000261162617188170015999732436772833320831540422326402970356699930933789905056061109458633896013845095218267677649372092804374920132618881013813452808764154104842482669367007148039960364963135468351769151253644400973176394146195517638284016084366765239050406359368070294707551859310823102217847058585969933505975991011897129825844971150547579479364302459657841570713275450030571831999 291589155321186495409444315418088038370062416356018155699264907793578091788840526852886475810090321003079452659582813738213116557420775873056892869903521261583841081433052512478341002944835645997315837735602282207769527327282268713404812885977626848229792607435542391681340143617838459892331180137707347143382979778402790409213338655630147829786715354013954124712599913745559952078430597586444844808644830775605895945727512919167094097169448461503248270143185275036127436518254619982305732837341260359248853647154164841886984642700509468463087736632456102164228689565570076725891954109983543409237179623764134800268848652936111930124492363457462358607185903643022012320083356470786289247571359481133450279462329527791067278361132933439134181593148387398443912614640058519651755686356714078659212233501115968765232751927276772157533940455450870354489384195314742048431849677858498063263611730663765121108897020977610424076189775823025446579342493471604393826134987356959439194550776638990280701656481036383043401456474058047611872650127663288154632526538360896090445580275128541808711259428119143473628777473497088391211446042273074008299454730342643476045237620821855135101394571044374179933649126590643422043151735700981314509592695339544674211815284706684539031173080235669818731342744002617283533543538468393073388581385684246764207290694343147006000066010185372641829421801022566815047209212697194251424254723507580418081687741762490276530840029807372496824129605594419483602041405187238592175278521234660347994501162504086830623099846920275181853846644159647771476767472075225537634005070020183229144383584501032106279878445791695993488554561062118990541762643876245095354902612441034753851007130642713866152891809439019926745091537796485122 471801164060552011426771718917088726852587549217262027513042057359485705730023973477902542120112675919556961049357579995237577743180891105195427709192611059333670044110818169334477358499539456790523945466156653404184312552229768258151085140998886948205374177105957463615770338181043639168763400507740680572713667737293066087480678505771087876509782496077108966810175571690315537268360523849519347960722912604493786907826563347445492048588346073336189944739581699806583922259253578347436899797145943742108550685259330330681487207063520031451197516555324171467423896670027081027412832583520323444884771586738281049754625324942795768358491171951070547518598575213998450216919125016379125208747478935643840582634481651711708260049195204771343297906167247149813037309295274795815839629996409956704001490000256170757553917913078156558530692479432786634932345507098675219842206668311896819788434682899587658424287218120581681788451424475465510105115831614742433182800380203471297109515053485664671341407507993099278107192027856482224775105748748385106706398824204591138393171174066272903425139260819990853429003736287007500336960289742620925089147094513031788682715826740019332037256843957111201056402456126444410751278482976106213293928617525374881820184364534175871932187137808493732258757442416722856964932153322636935489334242184455866566666017717791219785069420816372902992038989192582814779645985530515082964677049910550774781618675552395332591949488441268510669224823862097132974134209562158724794159535048113156758655267346569499990106994960235546816982112511416922730411873048401931780200587658467245228750349740082512639246516086403545347865384164336837600348613809751071345914509570860598822157678222193230455351467280590640020541568368317121 763390319381738506836216034335176765222649965573280183212306965153063797518864500330789017930202996922636413708940393733450694300601666978252320579096132320917511125543870681812818361444375102787839783201758935611953839879512036971555898026976513796435166784541499855297110481798882099061094580645448027716096647515695856496694017161401235706296497850091063091522775485435875489346791121435964192769367743380099682853554076266612586145757794534839438214882766974842711358777508198329742632634487204101357404332413495172568471849764029499914285253187780273631652586235597157753304786693503866854121951210502415850023473977878907698482983535408532906125784478857020462537002481487165414456318838416777290862096811179502775538410328138210477479499315634548256949923935333315467595316353124035363213723501372139522786669840354928716064632934883656989421729702413417268274056346170394883052046413563352779533184239098192105864641200298490956684458325086346827008935367560430736304065830124654952043063989029482321508648501914529836647755876411673261338925362565487228838751449194814712136398688939134327057781209784095891548406332015694933388601824855675264727953447561874467138651415001485380990051582717087832794430218677087527803521312864919556031999649240860410963360218044163550990100186419340140498475691791030008877915627868702630773956712060938225785135431001745544821460790215149629826855198227709334388931773418131192863306417314885609122789518248641007493354429456516616576175614749397316969438056282773504753156429850656330613206841880510728670828756671064694207179345123627469414205657678650474373133934241114618919124961878099538836419945226455828142111257685996166700817122011895352673164808864907096608243276719610566765633106164802243 1235191483442290518262987753252265492075237514790542210725349022512549503248888473808691560050315672842193374758297973728688272043782558083447748288288743380251181169654688851147295719943914559578363728667915589016138152431741805229706983167975400744640540961647457318912880819979925738229857981153188708288810315252988922584174695667172323582806280346168172058332951057126191026615151645285483540730090655984593469761380639614058078194346140608175628159622348674649295281036761776677179532431633147843465955017672825503249959056827549531365482769743104445099076482905624238780717619277024190299006722797240696899778099302821703466841474707359603453644383054071018912753921606503544539665066317352421131444731292831214483798459523342981820777405482881698069987233230608111283434946349533992067215213501628310280340587753433085274595325414316443624354075209512092488116263014482291702840481096462940437957471457218773787653092624773956466789574156701089260191735747763902033413580883610319623384471497022581599615840529771012061422861625160058368045324186770078367231922623261087615561537949759125180486784946071103391885366621758315858477748919368707053410669274301893799175908258958596582046454038843532243545708701653193741097449930390294437852184013775036282895547355852657283248857628836062997463407845113666944367249870053158497340622729778729445570204851818118447813499779407732444606501183758224417353608823328681967644925092867280941714739006689909518162579253318613749550309824311556041763597591330886661511811697197225830603313836840746275487810869182481616937591218172029401194406245337117719601884283981197131558371477964503084184285329390792665742459871495747238046731631582755951495322487087100327063594744000201206786174674533119364 1998581802824029025099203787587442257297887480363822393937655987665613300767752974139480577980518669764829788467238367462138966344384225061700068867384875701168692295198559532960114081388289662366203511869674524628091992311253842201262881194951914541075707746188957174209991301778807837290952561798636736004906962768684779080868712828573559289102778196259235149855726542562066515961942766721447733499458399364693152614934715880670664340103935143015066374505115649492006639814269975006922165066120351944823359350086320675818430906591579031279768022930884718730729069141221396534022405970528057153128674007743112749801573280700611165324458242768136359770167532928039375290924087990709954121385155769198422306828104010717259336869851481192298256904798516246326937157165941426751030262702658027430428937003000449803127257593788013990659958349200100613775804911925509756390319360652686585892527510026293217490655696316965893517733825072447423474032481787436087200671115324332769717646713734974575427535486052063921124489031685541898070617501571731629384249549335565596070674072455902327697936638698259507544566155855199283433772953774010791866350744224382318138622721863768266314559673960081963036505621560620076340138920330281268900971243255213993884183663015896693858907573896820834238957815255403137961883536904696953245165497921861128114579441839667671355340282819863992634960569622882074433356381985933751742540596746813160508231510182166550837528524938550525655933682775130366126485439060953358733035647613660166264968127047882161216520678721257004158639625853546311144770563295656870608611903015768193975018218222311750477496439842602623020705274617248493884571129181743404747548753594651304168487295952007423671838020719811773551807780697921607 3233773286266319543362191540839707749373124995154364604663005010178162804016641447948172138030834342607023163225536341190827238388166783145147817155673619081419873464853248384107409801332204221944567240537590113644230144742995647430969864362927315285716248707836414493122872121758733575520810542951825444293717278021673701665043408495745882871909058542427407208188677599688257542577094412006931274229549055349286622376315355494728742534450075751190694534127464324141301920851031751684101697497753499788289314367759146179068389963419128562645250792673989163829805552046845635314740025247552247452135396804983809649579672583522314632165932950127739813414550586999058288044845694494254493786451473121619553751559396841931743135329374824174119034310281397944396924390396549538034465209052192019497644150504628760083467845347221099265255283763516544238129880121437602244506582375134978288733008606489233655448127153535739681170826449846403890263606638488525347392406863088234803131227597345294198812006983074645520740329561456553959493479126731789997429573736105643963302596695716989943259474588457384688031351101926302675319139575532326650344099663593089371549291996165662065490467932918678545082959660404152319885847621983475009998421173645508431736367676790932976754454929749478117487815444091466135425291382018363897612415367975019625455202171618397116925545134637982440448460349030614519039857565744158169096149420075495128153156603049447492552267531628460043818512936093744115676795263372509400496633238944546827776779824245107991819834515562003279646450495036027928082361781467686271803018148352885913576902502203508882035867917807105707204990604008041159627031000677490642794280385177407255663809783039107750735432764720012980337982455231040971 5232355089090348568461395328427150006671012475518186998600660997843776104784394422087652716011353012371852951692774708652966204732551008206847886023058494782588565760051807917067523882720493884310770752407264638272322137054249489632232745557879229826791956454025371667332863423537541412811763104750462180298624240790358480745912121324319442161011836738686642358044404142250324058539037178728379007729007454713979774991250071375399406874554010894205760908632579973633308560665301726691023862563873851733112673717845466854886820870010707593925018815604873882560534621188067031848762431218080304605264070812726922399381245864222925797490391192895876173184718119927097663335769782484964447907836628890817976058387500852649002472199226305366417291215079914190723861547562490964785495471754850046928073087507629209886595102941009113255915242112716644851905685033363112000896901735787664874625536116515526872938782849852705574688560274918851313737639120275961434593077978412567572848874311080268774239542469126709441864818593142095857564096628303521626813823285441209559373270768172892270957411227155644195575917257781501958752912529306337442210450407817471689687914718029430331805027606878760508119465281964772396225986542313756278899392416900722425620551339806829670613362503646298951726773259346869273387174918923060850857580865896880753569781613458064788280885417457846433083420918653496593473213947730091920838690016822308288661388113231614043389796056567010569474446618868874481803280702433462759229668886558206994041747951292990153036355194283260283805090120889574239227132344763343142411630051368654107551920720425820632513364357649708330225695878625289653511602129859234047541829138772058559832297078991115174407270785439824753889790235928962578 8466128375356668111823586869266857756044137470672551603263666008021938908801035870035824854042187354978876114918311049843793443120717791351995703178732113864008439224905056301174933684052698106255337992944854751916552281797245137063202609920806545112508205161861786160455735545296274988332573647702287624592341518812032182410955529820065325032920895281114049566233081741938581601116131590735310281958556510063266397367565426870128149409004086645396455442760044297774610481516333478375125560061627351521401988085604613033955210833429836156570269608278863046390340173234912667163502456465632552057399467617710732048960918447745240429656324143023615986599268706926155951380615476979218941694288102012437529809946897694580745607528601129540536325525361312135120785937959040502819960680807042066425717238012257969970062948288230212521170525876233189090035565154800714245403484110922643163358544723004760528386910003388445255859386724765255204001245758764486781985484841500802375980101908425562973051549452201354962605148154598649817057575755035311624243397021546853522675867463889882214216885815613028883607268359707804634072052104838664092554550071410561061237206714195092397295495539797439053202424942368924716111834164297231288897813590546230857356919016597762647367817433395777069214588703438335408812466300941424748469996233871900379024983785076461905206430552095828873531881267684111112513071513474250089934839436897803416814544716281061535942063588195470613292959554962618597480075965805972159726302125502753821818527775538098144856189709845263563451540615925602167309494126231029414214648199721540021128823222629329514549232275456814037430686482633330813138633130536724690336109523949465815496106862030222925142703550159837734227772691160003549 13698483464447016680284982197694007762715149946190738601864327005865715013585430292123477570053540367350729066611085758496759647853268799558843589201790608646597004984956864218242457566773191990566108745352119390188874418851494626695435355478685774939300161615887157827788598968833816401144336752452749804890965759602390663156867651144384767193932732019800691924277485884188905659655168769463689289687563964777246172358815498245527556283558097539602216351392624271407919042181635205066149422625501203254514661803450079888842031703440543750495288423883736928950874794422979699012264887683712856662663538430437654448342164311968166227146715335919492159783986826853253614716385259464183389602124730903255505868334398547229748079727827434906953616740441226325844647485521531467605456152561892113353790325519887179856658051229239325777085767988949833941941250188163826246300385846710308037984080839520287401325692853241150830547946999684106517738884879040448216578562819913369948828976219505831747291091921328064404469966747740745674621672383338833251057220306988063082049138232062774485174297042768673079183185617489306592824964634145001534765000479228032750925121432224522729100523146676199561321890224333697112337820706610987567797206007446953282977470356404592317981179937042076020941361962785204682199641219864485599327577099768781132594765398534526693487315969553675306615302186337607705986285461204342010773529453720111705475932829512675579331859644762481182767406173831493079283356668239434918955971012060960815860275726831088297892544904128523847256630736815176406536626470994372556626278251090194128680743943055150147062596633106522367656382361258620466650235260395958737877938662721524375328403941021338099549974335599662488117562927088966127 22164611839803684792108569066960865518759287416863290205127993013887653922386466162159302424095727722329605181529396808340553090973986590910839292380522722510605444209861920519417391250825890096821446738296974142105426700648739763758637965399492320051808366777748943988244334514130091389476910400155037429483307278414422845567823180964450092226853627300914741490510567626127487260771300360198999571646120474840512569726380925115655705692562184184998671794152668569182529523697968683441274982687128554775916649889054692922797242536870379907065558032162599975341214967657892366175767344149345408720063006048148386497303082759713406656803039478943108146383255533779409566097000736443402331296412832915693035678281296241810493687256428564447489942265802538460965433423480571970425416833368934179779507563532145149826720999517469538298256293865183023031976815342964540491703869957632951201342625562525047929712602856629596086407333724449361721740130637804934998564047661414172324809078127931394720342641373529419367075114902339395491679248138374144875300617328534916604725005695952656699391182858381701962790453977197111226897016738983665627319550550638593812162328146419615126396018686473638614524315166702621828449654870908218856695019597993184140334389373002354965348997370437853090155950666223540091012107520805910347797573333640681511619749183610988598693746521649504180147183454021718818499356974678592100708368890617915122290477545793737115273923232957951796060365728794111676763432634045407078682273137563714637678803502369186442748734613973787410708171352740778573846120597225401970840926450811734149809567165684479661611828908563336405087068843891951279788868390932683428214048186670990190824510803051561024692677885759500222345335618248969676 35863095304250701472393551264654873281474437363054028806992320019753368935971896454282779994149268089680334248140482566837312738827255390469682881582313331157202449194818784737659848817599082087387555483649093532294301119500234390454073320878178094991108528393636101816032933482963907790621247152607787234374273038016813508724690832108834859420786359320715433414788053510316392920426469129662688861333684439617758742085196423361183261976120281724600888145545292840590448565879603888507424405312629758030431311692504772811639274240310923657560846456046336904292089762080872065188032231833058265382726544478586040945645247071681572883949754814862600306167242360632663180813385995907585720898537563818948541546615694789040241766984255999354443559006243764786810080909002103438030872985930826293133297889052032329683379050746708864075342061854132856973918065531128366738004255804343259239326706402045335331038295709870746916955280724133468239479015516845383215142610481327542273638054347437226467633733294857483771545081650080141166300920521712978126357837635522979686774143928015431184565479901150375041973639594686417819721981373128667162084551029866626563087449578644137855496541833149838175846205391036318940787475577519206424492225605440137423311859729406947283330177307479929111097312629008744773211748740670395947125150433409462644214514582145515292181062491203179486762485640359326524485642435882934111481898344338026827766410375306412694605782877720432978827771902625604756046789302284841997638244149624675453539079229200274740641279518102311257964802089555954980382747068219774527467204701901928278490311108739629808674425541669858772743451205150571746439103651328642166091986849392514566152914744072899124242652221359162710462898545337935803 58027707144054386264502120331615738800233724779917319012120313033641022858358362616442082418244995812009939429669879375177865829801241981380522173962836053667807893404680705257077240068424972184209002221946067674399727820148974154212711286277670415042916895171385045804277267997093999180098157552762824663857580316431236354292514013073284951647639986621630174905298621136443880181197769489861688432979804914458271311811577348476838967668682465909599559939697961409772978089577572571948699387999758312806347961581559465734436516777181303564626404488208936879633304729738764431363799575982403674102789550526734427442948329831394979540752794293805708452550497894412072746910386732350988052194950396734641577224896991030850735454240684563801933501272046303247775514332482675408456289819299760472912805452584177479510100050264178402373598355719315880005894880874092907229708125761976210440669331964570383260750898566500343003362614448582829961219146154650318213706658142741714598447132475368621187976374668386903138620196552419536657980168660087123001658454964057896291499149623968087883956662759532077004764093571883529046618998112112332789404101580505220375249777725063752981892560519623476790370520557738940769237130448427425281187245203433321563646249102409302248679174677917782201253263295232284864223856261476306294922723767050144155834263765756503890874809012852683666909669094381045342984999410561526212190267234955941950056887921100149809879706110678384774888137631419716432810221936330249076320517287188390091217882731569461183390014132076098668672973442296733554228867665445176498308131152713662428299878274424109470286254450233195177830520049042523026227972042261325594306035036063504756977425547124460148935330107118662932808234163586905479 93890802448305087736895671596270612081708162142971347819112633053394391794330259070724862412394263901690273677810361942015178568628497371850205055545149384825010342599499489994737088886024054271596557705595161206694028939649208544666784607155848510034025423565021147620310201480057906970719404705370611898231853354448049863017204845182119811068426345942345608320086674646760273101624238619524377294313489354076030053896773771838022229644802747634200448085243254250363426655457176460456123793312388070836779273274064238546075791017492227222187250944255273783925394491819636496551831807815461939485516095005320468388593576903076552424702549108668308758717740255044735927723772728258573773093487960553590118771512685819890977221224940563156377060278290068034585595241484778846487162805230586766046103341636209809193479101010887266448940417573448736979812946405221273967712381566319469679996038366615718591789194276371089920317895172716298200698161671495701428849268624069256872085186822805847655610107963244386910165278202499677824281089181800101128016292599580875978273293551983519068522142660682452046737733166569946866340979485240999951488652610371846938337227303707890837389102352773314966216725948775259710024606025946631705679470808873458986958108831816249532009351985397711312350575924241029637435605002146702242047874200459606800048778347902019183055871504055863153672154734740371867470641846444460323672165579293968777823298296406562504485488988398817753715909534045321188857011238615091073958761436813065544756961960769735924031293650178409926637775531852688534611614733664951025775335854615590706790189383163739278960679991903053950573971254193094772667075693589967760398021885456019323130340291197359273177982328477825643271132708924841282 151918509592359474001397791927886350881941886922888666831232946087035414652688621687166944830639259713700213107480241317193044398429739353230727229507985438492818236004180195251814328954449026455805559927541228881093756759798182698879495893433518925076942318736406193424587469477151906150817562258133436562089433670879286217309718858255404762716066332563975783225385295783204153282822008109386065727293294268534301365708351120314861197313485213543800008024941215660136404745034749032404823181312146383643127234855623704280512307794673530786813655432464210663558699221558400927915631383797865613588305645532054895831541906734471531965455343402474017211268238149456808674634159460609561825288438357288231695996409676850741712675465625126958310561550336371282361109573967454254943452624530347238958908794220387288703579151275065668822538773292764616985707827279314181197420507328295680120665370331186101852540092842871432923680509621299128161917307826146019642555926766810971470532319298174468843586482631631290048785474754919214482261257841887224129674747563638772269772443175951606952478805420214529051501826738453475912959977597353332740892754190877067313587005028771643819281662872396791756587246506514200479261736474374056986866716012306780550604357934225551780688526663315493513603839219473314501659461263623008536970597967509750955883042113658523073930680516908546820581823829121417210455641257005986535862432814249910727880186217506712314365195099077202528604047165465037621667233174945340150279278724001455635974844692339197107421307782254508595310748974149422088840482399110127524083467007329253135090067657587848749246934442136249128404491303235617798895047735851293354704056921519524080107765838321819422113312435596488576079366872511746761 245809312040664561738293463524156962963650049065860014650345579140429806447018880757891807243033523615390486785290603259208222967058236725080932285053134823317828578603679685246551417840473080727402117633136390087787785699447391243546280500589367435110967742301427341044897670957209813121536966963504048460321287025327336080326923703437524573784492678506321391545471970429964426384446246728910443021606783622610331419605124892152883426958287961178000456110184469910499831400491925492860946974624534454479906508129687942826588098812165758009000906376719484447484093713378037424467463191613327553073821740537375364220135483637548084390157892511142325969985978404501544602357932188868135598381926317841821814767922362670632689896690565690114687621828626439316946704815452233101430615429760934005005012135856597097897058252285952935271479190866213353965520773684535455165132888894615149800661408697801820444329287119242522843998404794015426362615469497641721071405195390880228342617506120980316499196590594875676958950752957418892306542347023687325257691040163219648248045736727935126021000948080896981098239559905023422779300957082594332692381406801248914251924232332479534656670765225170106722803972455289460189286342500320688692546186821180239537562466766041801312697878648713204825954415143714344139095066265769710779018472167969357755931820461560542256986552020964409974253978563861789077926283103450446859534598393543879505703484513913274818850684087476020282319956699510358810524244413560431224238040160814521180731806653108933031452601432432918521948524506002110623452097132775078549858802861944843841880257040751588028207614434039303078978462557428712571562123429441261115102078806975543403238106129519178695291294764074314219350499581436588043 397727821633024035739691255452043313845591935988748681481578525227465221099707502445058752073672783329090699892770844576401267365487976078311659514561120261810646814607859880498365746794922107183207677560677618968881542459245573942425776394022886360187910061037833534469485140434361719272354529221637485022410720696206622297636642561692929336500559011070297174770857266213168579667268254838296508748900077891144632785313476012467744624271773174721800464135125685570636236145526674525265770155936680838123033742985311647107100406606839288795814561809183695111042792934936438352383094575411193166662127386069430260051677390372019616355613235913616343181254216553958353276992091649477697423670364675130053510764332039521374402572156190817072998183378962810599307814389419687356374068054291281243963920930076984386600637403561018604094017964158977970951228600963849636362553396222910829921326779028987922296869379962113955767678914415314554524532777323787740713961122157691199813149825419154785342783073226506967007736227712338106788803604865574549387365787726858420517818179903886732973479753501111510149741386643476898692260934679947665433274160992125981565511237361251178475952428097566898479391218961803660668548078974694745679412902833487020088166824700267353093386405312028698339558254363187658640754527529392719315989070135479108711814862575219065330917232537872956794835802392983206288381924360456433395397031207793790233583670731419987133215879186553222810924003864975396432191477588505771374517318884815976816706651345448130138873909214687427117259273480151532712292579531885206073942269869274096976970324698339436777454548876175552207382953860664330370457171165292554469806135728495067483345871967840998117404607199670802795429866453948334804 643537133673688597477984718976200276809241985054608696131924104367895027546726383202950559316706306944481186678061447835609490332546212803392591799614255085128475393211539565744917164635395187910609795193814009056669328158692965185972056894612253795298877803339260875514382811391571532393891496185141533482732007721533958377963566265130453910285051689576618566316329236643133006051714501567206951770506861513754964204918600904620628051230061135899800920245310155481136067546018600018126717130561215292602940251114999589933688505419005046804815468185903179558526886648314475776850557767024520719735949126606805624271812874009567700745771128424758669151240194958459897879350023838345833022052290992971875325532254402192007092468846756507187685805207589249916254519204871920457804683484052215248968933065933581484497695655846971539365497155025191324916749374648385091527686285117525979721988187726789742741198667081356478611677319209329980887148246821429461785366317548571428155767331540135101841979663821382643966686980669756999095345951889261874645056827890078068765863916631821858994480701582008491247980946548500321471561891762541998125655567793374895817435469693730713132623193322737005202195191417093120857834421475015434371959089654667259625729291466309154406084283960741903165512669506902002779849593795162430095007542303448466467746683036779607587903784558837366769089780956844995366308207463906880254931629601337669739287155245333261952066563274029243093243960564485755242715722002066202598755359045630497997438457998557063170326510647120345639207797986153643335744676664660284623801072731218940818850581739091024805662163310214855286361416418093042942019294594733815584908214535470610886583978097360176812695901963745117014780366035384922847 1041264955306712633217675974428243590654833921043357377613502629595360248646433885648009311390379090273571886570832292412010757698034188881704251314175375346939122207819399446243282911430317295093817472754491628025550870617938539128397833288635140155486787864377094409983867951825933251666246025406779018505142728417740580675600208826823383246785610700646915741087186502856301585718982756405503460519406939404899596990232076917088372675501834310621601384380435841051772303691545274543392487286497896130725973994100311237040788912025844335600630029995086874669569679583250914129233652342435713886398076512676235884323490264381587317101384364338375012332494411512418251156342115487823530445722655668101928836296586441713381495041002947324260683988586552060515562333594291607814178751538343496492932853996010565871098333059407990143459515119184169295867977975612234727890239681340436809643314966755777665038068047043470434379356233624644535411681024145217202499327439706262627968917156959289887184762737047889610974423208382095105884149556754836424032422615616936489283682096535708591967960455083120001397722333191977220163822826442489663558929728785500877382946707054981891608575621420303903681586410378896781526382500449710180051371992488154279713896116166576507499470689272770601505070923870089661420604121324555149410996612438927575179561545611998672918821017096710323563925583349828201654690131824363313650328660809131459972870825976753249085282442460582465904167964429461151674907199590571973973272677930446474814145109344005193309200419861807772756467071466305176048037256196545490697743342600493037795820906437430461583116712186390407493744370278757373312476465760026370054714350263965678369929850065201174930100509163415919810210232489333257651 1684802088980401230695660693404443867464075906097966073745426733963255276193160268850959870707085397218053073248893740247620248030580401685096843113789630432067597601030939011988200076065712483004427267948305637082220198776631504314369890183247393950785665667716355285498250763217504784060137521591920551987874736139274539053563775091953837157070662390223534307403515739499434591770697257972710412289913800918654561195150677821709000726731895446521402304625745996532908371237563874561519204417059111423328914245215310826974477417444849382405445498180990054228096566231565389906084210109460234606134025639283041508595303138391155017847155492763133681483734606470878149035692139326169363467774946661073804161828840843905388587509849703831448369793794141310431816852799163528271983435022395711741901787061944147355596028715254961682825012274209360620784727350260619819417925966457962789365303154482567407779266714124826912991033552833974516298829270966646664284693757254834056124684488499424989026742400869272254941110189051852104979495508644098298677479443507014558049546013167530450962441156665128492645703279740477541635384718205031661684585296578875773200382176748712604741198814743040908883781601795989902384216921924725614423331082142821539339625407632885661905554973233512504670583593376991664200453715119717579506004154742376041647308228648778280506724801655547690333015364306673197020998339288270193905260290410469129712157981222086511037349005734611708997411924993946906917622921592638176572028036976076972811583567342562256479526930508928118395674869452458819383781932861205775321544415331711978614671488176521486388778875496605262780105786696850416254495760354760185639622564799436289256513828162561351742796411127161036824990598524718180498 2726067044287113863913336667832687458118909827141323451358929363558615524839594154498969182097464487491624959819726032659631005728614590566801094427965005779006719808850338458231482987496029778098244740702797265107771069394570043442767723471882534106272453532093449695482118715043438035726383546998699570493017464557015119729163983918777220403856273090870450048490702242355736177489680014378213872809320740323554158185382754738797373402233729757143003689006181837584680674929109149104911691703557007554054888239315622064015266329470693718006075528176076928897666245814816304035317862451895948492532102151959277392918793402772742334948539857101508693816229017983296400192034254813992893913497602329175732998125427285618770082550852651155709053782380693370947379186393455136086162186560739208234834641057954713226694361774662951826284527393393529916652705325872854547308165647798399599008618121238345072817334761168297347370389786458619051710510295111863866784021196961096684093601645458714876211505137917161865915533397433947210863645065398934722709902059123951047333228109703239042930401611748248494043425612932454761799207544647521325243515025364376650583328883803694496349774436163344812565368012174886683910599422374435794474703074630975819053521523799462169405025662506283106175654517247081325621057836444272728917000767181303616826869774260776953425545818752258013896940947656501398675688471112633507555588951219600589685028807198839760122631448195194174901579889423408058592530121183210150545300714906523447625728676686567449788727350370735891152141940918763995431819189057751266019287757932205016410492394613951947971895587682995670273850156975607789566972226114786555694336915063401967626443678227762526672896920290576956635200831014051438149 4410869133267515094608997361237131325582985733239289525104356097521870801032754423349929052804549884709678033068619772907251253759194992251897937541754636211074317409881277470219683063561742261102672008651102902189991268171201547757137613655129928057058119199809804980980369478260942819786521068590620122480892200696289658782727759010731057560926935481093984355894217981855170769260377272350924285099234541242208719380533432560506374128965625203664405993631927834117589046166673023666430896120616118977383802484530932890989743746915543100411521026357066983125762812046381693941402072561356183098666127791242318901514096541163897352795695349864642375299963624454174549227726394140162257381272548990249537159954268129524158670060702354987157423576174834681379196039192618664358145621583134919976736428119898860582290390489917913509109539667602890537437432676133474366726091614256362388373921275720912480596601475293124260361423339292593568009339566078510531068714954215930740218286133958139865238247538786434120856643586485799315843140574043033021387381502630965605382774122870769493892842768413376986689128892672932303434592262852552986928100321943252423783711060552407101090973250906385721449149613970876586294816344299161408898034156773797358393146931432347831310580635739795610846238110624072989821511551563990308423004921923679658474178002909555233932270620407805704229956311963174595696686810400903701460849241630069719397186788420926271159980453929805883898991814417354965510153042775848327117328751882600420437312244029129706268254280879664009547816810371222814815601121918957041340832173263916995025163882790473434360674463179600933053955943672458205821467986469546741333959479862838256882957506390323878415693331417737993460191429538769618647 7136936177554628958522334029069818783701895560380612976463285461080486325872348577848898234902014372201302992888345805566882259487809582818699031969719641990081037218731615928451166051057772039200916749353900167297762337565771591199905337127012462163330572731903254676462488193304380855512904615589319692973909665253304778511891742929508277964783208571964434404384920224210906946750057286729138157908555281565762877565916187299303747531199354960807409682638109671702269721095782172771342587824173126531438690723846554955005010076386236818417596554533143912023429057861197997976719935013252131591198229943201596294432889943936639687744235206966151069116192642437470949419760648954155151294770151319425270158079695415142928752611555006142866477358555528052326575225586073800444307808143874128211571069177853573808984752264580865335394067060996420454090138002006328914034257262054761987382539396959257553413936236461421607731813125751212619719849861190374397852736151177027424311887779416854741449752676703595986772176983919746526706785639441967744097283561754916652716002232574008536823244380161625480732554505605387065233799807500074312171615347307629074367039944356101597440747687069730534014517626145763270205415766673597203372737231404773177446668455231810000715606298246078717021892627871154315442569388008263037340005689104983275301047777170332187357816439160063718126897259619675994372375281513537209016438192849670309082215595619766031282611902125000058800571703840763024102683163959058477662629466789123868063040920715697156056981631250399900699958751289986810247420310976708307360119931196122011435656277404425382332570050862596603327806100648065995388440212584333297028296394926240224509401184618086405088590251708314950095392260552821056796 11547805310822144053131331390306950109284881293619902501567641558602357126905103001198827287706564256910981025956965578474133513247004575070596969511474278201155354628612893398670849114619514300303588758005003069487753605736973138957042950782142390220388691931713059657442857671565323675299425684179939815454801865949594437294619501940239335525710144053058418760279138206066077716010434559080062443007789822807971596946449619859810121660164980164471815676270037505819858767262455196437773483944789245508822493208377487845994753823301779918829117580890210895149191869907579691918122007574608314689864357734443915195946986485100537040539930556830793444416156266891645498647487043094317408676042700309674807318033963544667087422672257361130023900934730362733705771264778692464802453429727009048188307497297752434391275142754498778844503606728599310991527570678139803280760348876311124375756460672680170034010537711754545868093236465043806187729189427268884928921451105392958164530173913374994606688000215490030107628820570405545842549926213485000765484665064385882258098776355444778030716087148575002467421683398278319368668392070352627299099715669250881498150751004908508698531720937976116255463667240116639856500232110972758612270771388178570535839815386664157832026186933985874327868130738495227305264080939572253345763010611028662933775225780079887421290087059567869422356853571582850590069062091914440910477287434479740028479402384040692302442592356054805942699563518258117989612836206734906804779958218671724288500353164744826862325235912130063910247775561661209625063021432895665348700952104460039006460820160194898816693244514042197536381762044320524201209908199053880038362255874789078481392358691008410283504283583126052943555583690091590675443 18684741488376773011653665419376768892986776854000515478030927019682843452777451579047725522608578629112284018845311384041015772734814157889296001481193920191236391847344509327122015165677286339504505507358903236785515943302744730156948287909154852383719264663616314333905345864869704530812330299769259508428711531202899215806511244869747613490493352625022853164664058430276984662760491845809200600916345104373734474512365807159113869191364335125279225358908147177522128488358237369209116071768962372040261183932224042800999763899688016737246714135423354807172620927768777689894841942587860446281062587677645511490379876429037176728284165763796944513532348909329116448067247692048472559970812851629100077476113658959810016175283812367272890378293285890786032346490364766265246761237870883176399878566475606008200259895019079644179897673789595731445617708680146132194794606138365886363139000069639427587424473948215967475825049590795018807449039288459259326774187256569985588842061692791849348137752892193626094400997554325292369256711852926968509581948626140798910814778588018786567539331528736627948154237903883706433902191877852701611271331016558510572517790949264610295972468625045846789478184866262403126705647877646355815643508619583343713286483841895967832741793232231953044890023366366381620706650327580516383103016300133646209076273557250219608647903498727933140483750831202526584441437373427978119493725627329410337561617979660458333725204258179806001500135222098881013715519370693965282442587685460848156563394085460524018382217543380463810947734312951196435310441743872373656061072035656161017896476437599324199025814564904794139709568144968590196598348411638213335390552269715318705901759875626496688592873834834367893650975950644411732239 30232546799198917064784996809683719002271658147620417979598568578285200579682554580246552810315142886023265044802276962515149285981818732959892970992668198392391746475957402725792864280296800639808094265363906306273269549039717869113991238691297242604107956595329373991348203536435028206111755983949199323883513397152493653101130746809986949016203496678081271924943196636343062378770926404889263043924134927181706071458815427018923990851529315289751041035178184683341987255620692565646889555713751617549083677140601530646994517722989796656075831716313565702321812797676357381812963950162468760970926945412089426686326862914137713768824096320627737957948505176220761946714734735142789968646855551938774884794147622504477103597956069728402914279228016253519738117755143458730049214667597892224588186063773358442591535037773578423024401280518195042437145279358285935475554955014677010738895460742319597621435011659970513343918286055838824995178228715728144255695638361962943753372235606166843954825753107683656202029818124730838211806638066411969275066613690526681168913554943463564598255418677311630415575921302162025802570583948205328910371046685809392070668541954173118994504189563021963044941852106379042983205879988619114427914280007761914249126299228560125664767980166217827372758154104861608925970731267152769728866026911162309142851499337330107029937990558295802562840604402785377174510499465342419029971013061809150366041020363701150636167796614234611944199698740356999003328355577428872087222545904132572445063747250205350880707453455510527721195509874612406060373463176768039004762024140116200024357296597794223015719059078946991676091330189289114397808256610692093373752808144504397187294118566634906972097157417960420837206559640736002407682 48917288287575690076438662229060487895258435001620933457629495597968044032460006159294278332923721515135549063647588346556165058716632890849188972473862118583628138323301912052914879445974086979312599772722809543058785492342462599270939526600452094987827221258945688325253549401304732736924086283718458832312224928355392868907641991679734562506696849303104125089607255066620047041531418250698463644840480031555440545971181234178037860042893650415030266394086331860864115743978929934856005627482713989589344861072825573447994281622677813393322545851736920509494433725445135071707805892750329207251989533089734938176706739343174890497108262084424682471480854085549878394781982427191262528617668403567874962270261281464287119773239882095675804657521302144305770464245508224995295975905468775400988064630248964450791794932792658067204298954307790773882762988038432067670349561153042897102034460811959025208859485608186480819743335646633843802627268004187403582469825618532929342214297298958693302963505999877282296430815679056130581063349919338937784648562316667480079728333531482351165794750206048258363730159206045732236472775826058030521642377702367902643186332903437729290476658188067809834420036972641446109911527866265470243557788627345257962412783070456093497509773398449780417648177471227990546677381594733286111969043211295955351927772894580326638585894057023735703324355233987903758951936838770397149464738689138560703602638343361608969893000872414417945699833962455880017043874948122837369665133589593420601627141335665874899089670998890991532143244187563602495683904920640412660823096175772361042253773035393547214744873643851785815800898334257704594406605022330306709143360414219715893195878442261403660690031252794788730857535591380414139921 79149835086774607141223659038744206897530093149241351437228064176253244612142560739540831143238864401158814108449865309071314344698451623809081943466530316976019884799259314778707743726270887619120694038086715849332055041382180468384930765291749337591935177854275062316601752937739760943035842267667658156195738325507886522008772738489721511522900345981185397014550451702963109420302344655587726688764614958737146617429996661196961850894422965704781307429264516544206102999599622500502895183196465607138428538213427104094988799345667610049398377568050486211816246523121492453520769842912797968222916478501824364863033602257312604265932358405052420429429359261770640341496717162334052497264523955506649847064408903968764223371195951824078718936749318397825508582000651683725345190573066667625576250694022322893383329970566236490228700234825985816319908267396718003145904516167719907840929921554278622830294497268156994163661621702472668797805496719915547838165463980495873095586532905125537257789259107560938498460633803786968792869987985750907059715176007194161248641888474945915764050168883359888779306080508207758039043359774263359432013424388177294713854874857610848284980847751089772879361889079020489093117407854884584671472068635107172211539082299016219162277753564667607790406331576089599472648112861886055840835070122458264494779272231910433668523884615319538266164959636773280933462436304112816179435751750947711069643658707062759606060797486649029889899532702812879020372230525551709456887679493725993046690888585871225779797124454401519253338754062176008556057368097408451665585120315888561066611069633187770230463932722798777491892228523546818992214861633022400082896168558724113080489997008896310632787188670755209568064095232116416547603 128067123374350297217662321267804694792788528150862284894857559774221288644602566898835109476162585916294363172097453655627479403415084514658270915940392435559648023122561226831622623172244974598433293810809525392390840533724643067655870291892201432579762399113220750641855302339044493679959928551386116988507963253863279390916414730169456074029597195284289522104157706769583156461833762906286190333605094990292587163401177895374999710937316616119811573823350848405070218743578552435358900810679179596727773399286252677542983080968345423442720923419787406721310680248566627525228575735663127175474906011591559303039740341600487494763040620489477102900910213347320518736278699589525315025882192359074524809334670185433051343144435833919754523594270620542131279046246159908720641166478535443026564315324271287344175124903358894557432999189133776590202671255435150070816254077320762804942964382366237648039153982876343474983404957349106512600432764724102951420635289599028802437800830204084230560752765107438220794891449482843099373933337905089844844363738323861641328370222006428266929844919089408147143036239714253490275516135600321389953655802090545197357041207761048577575457505939157582713781926051661935203028935721150054915029857262452430173951865369472312659787526963117388208054509047317590019325494456619341952804113333754219846707045126490760307109778672343273969489314870761184692414373142883213328900490440086271773246297050424368575953798359063447835599366665268759037416105473674546826552813083319413648318029921537100678886795453292510785481998249739611051741273018048864326408216491660922108864842668581317445208806366650563307693126857804523586621466655352706792039528972943828973685875451157714293477219923549998298921630823496830687524 207216958461124904358885980306548901690318621300103636332085623950474533256745127638375940619401450317453177280547318964698793748113536138467352859406922752535667907921820541610330366898515862217553987848896241241722895575106823536040801057183950770171697576967495812958457055276784254622995770819053775144703701579371165912925187468659177585552497541265474919118708158472546265882136107561873917022369709949029733780831174556571961561831739581824592881252615364949276321743178174935861795993875645203866201937499679781637971880314013033492119300987837892933126926771688119978749345578575925143697822490093383667902773943857800099028972978894529523330339572609091159077775416751859367523146716314581174656399079089401815566515631785743833242531019938939956787628246811592445986357051602110652140566018293610237558454873925131047661699423959762406522579522831868073962158593488482712783894303920516270869448480144500469147066579051579181398238261444018499258800753579524675533387363109209767818542024214999159293352083286630068166803325890840751904078914331055802577012110481374182693895087972768035922342320222461248314559495374584749385669226478722492070896082618659425860438353690247355593143815130682424296146343576034639586501925897559602385490947668488531822065280527784995998460840623407189491973607318505397793639183456212484341486317358401193975633663287662812235654274507534465625876809446996029508336242191033982842889955757487128182014595845712477725498899368081638057788335999226256283440492577045406695008918507408326458683919907694030038820752311915619607798641115457315991993336807549483175475912301769087675672739089449340799585355381351342578836328288375106874935697531667942054175872460054024926264408594305207866985726055613247235127 335284081835475201576548301574353596483107149450965921226943183724695821901347694537211050095564036233747540452644772620326273151528620653125623775347315188095315931044381768441952990070760836815987281659705766634113736108831466603696671349076152202751459976080716563600312357615828748302955699370439892133211664833234445303841602198828633659582094736549764441222865865242129422343969870468160107355974804939322320944232352451946961272769056197944404455075966213354346540486756727371220696804554824800593975336785932459180954961282358456934840224407625299654437607020254747503977921314239052319172728501684942970942514285458287593792013599384006626231249785956411677814054116341384682549028908673655699465733749274834866909660067619663587766125290559482088066674492971501166627523530137553678704881342564897581733579777284025605094698613093538996725250778267018144778412670809245517726858686286753918908602463020843944130471536400685693998671026168121450679436043178553477971188193313293998379294789322437380088243532769473167540736663795930596748442652654917443905382332487802449623740007062176183065378559936714738590075630974906139339325028569267689427937290379708003435895859629404938306925741182344359499175279297184694501531783160012032559442813037960844481852807490902384206515349670724779511299101775124739746443296789966704188193362484891954282743441960006086205143589378295650318291182589879242837236732631120254616136252807911496757968394204775925561098266033350397095204441472900803109993305660364820343326948428945427137570715360986540824302750561655230659539914133506180318401553299210405284340754970350405120881545456099904107278482239155866165457794943727813666975226504611771027861747911211739219741628517855206165907356879110077922651 542501040296600105935434281880902498173425770751069557559028807675170355158092822175586990714965486551200717733192091585025066899642156791592976634754237940630983838966202310052283356969276699033541269508602007875836631683938290139737472406260102972923157553048212376558769412892613002925951470189493667277915366412605611216766789667487811245134592277815239360341574023714675688226105978030034024378344514888352054725063527008518922834600795779768997336328581578303622862229934902307082492798430470004460177274285612240818926841596371490426959525395463192587564533791942867482727266892814977462870550991778326638845288229316087692820986578278536149561589358565502836891829533093244050072175624988236874122132828364236682476175699405407421008656310498422044854302739783093612613880581739664330845447360858507819292034651209156652756398037053301403247830301098886218740571264297728230510752990207270189778050943165344413277538115452264875396909287612139949938236796758078153504575556422503766197836813537436539381595616056103235707539989686771348652521566985973246482394442969176632317635095034944218987720880159175986904635126349490888724994255047990181498833372998367429296334213319652293900069556313026783795321622873219334088033709057571634944933760706449376303918088018687380204976190294131969003272709093630137540082480246179188529679679843293148258377105247668898440797863885830115944167992036875272345572974822154237459026208565398624939982990050488403286597165401432035152992777472127059393433798237410227038335866936353753596254635268680570863123502873570850267338555248963496310394890106759888459816667272119492796554284545549244906863837620507208744294123232102920541910924036279713082037620371265764146006037112160414032893082934723325157778 877785122132075307511982583455256094656532920202035478785971991399866177059440516712798040810529522784948258185836864205351340051170777444718600410101553128726299770010584078494236347040037535849528551168307774509950367792769756743434143755336255175674617529128928940159081770508441751228907169559933559411127031245840056520608391866316444904716687014365003801564439888956805110570075848498194131734319319827674375669295879460465884107369851977713401791404547791657969402716691629678303189602985294805054152611071544699999881802878729947361799749803088492242002140812197614986705188207054029782043279493463269609787802514774375286613000177662542775792839144521914514705883649434628732621204533661892573587866577639071549385835767025071008774781601057904132920977232754594779241404111877218009550328703423405401025614428493182257851096650146840399973081079365904363518983935106973748237611676494024108686653406186188357408009651852950569395580313780261400617672839936631631475763749735797764577131602859873919469839148825576403248276653482701945400964219640890690387776775456979081941375102097120402053099440095890725494710757324397028064319283617257870926770663378075432732230072949057232206995297495371143294496902170404028589565492217583667504376573744410220785770895509589764411491539964856748514571810868754877286525777036145892717873042328185102541120547207674984645941453264125766262459174626754515182809707453274492075162461373310121697951384255264328847695431434782432248197218945027862503427103897775047381662815365299180733825350629667111687426253435226080926878469382469676628796443405970293744157422242469897917435830001649149014142319859663074909751918175830734208886150540891484109899368282477503365747665630015620198800439813833403080429 1420286162428675413447416865336158592829958690953105036345000799075036532217533338888385031525495009336148975919028955790376406950812934236311577044855791069357283608976786388546519704009314234883069820676909782385786999476708046883171616161596358148597775082177141316717851183401054754154858639749427226689042397658445667737375181533804256149851279292180243161906013912671480798796181826528228156112663834716026430394359406468984806941970647757482399127733129369961592264946626531985385682401415764809514329885357156940818808644475101437788759275198551684829566674604140482469432455099869007244913830485241596248633090744090462979433986755941078925354428503087417351597713182527872782693380158650129447709999406003308231862011466430478429783437911556326177775279972537688391855284693616882340395776064281913220317649079702338910607494687200141803220911380464790582259555199404701978748364666701294298464704349351532770685547767305215444792489601392401350555909636694709784980339306158301530774968416397310458851434764881679638955816643169473294053485786626863936870171218426155714259010197132064621040820320255066712399345883673887916789313538665248052425604036376442862028564286268709526107064853808397927089818525043623362677599201275155302449310334450859597089688983528277144616467730258988717517844519962385014826608257282325081247552722171478250799497652455343883086739317149955882206627166663629787528382682275428729534188669938708746637934374305752732134292596836214467401189996417154921896860902135185274419998682301652934330079985898347682550549756308796931194217024631433172939191333512730182203974089514589390713990114547198393921006157480170283654046041407933654750797074577171197191936988653743267511753702742176034231693522748556728238207 2298071284560750720959399448791414687486491611155140515130972790474902709276973855601183072336024532121097234104865819995727747001983711681030177454957344198083583378987370467040756051049351770732598371845217556895737367269477803626605759916932613324272392611306070256876932953909496505383765809309360786100169428904285724257983573400120701054567966306545246963470453801628285909366257675026422287846983154543700806063655285929450691049340499735195800919137677161619561667663318161663688872004401059614568482496428701640818690447353831385150559025001640177071568815416338097456137643306923037026957109978704865858420893258864838266046986933603621701147267647609331866303596831962501515314584692312022021297865983642379781247847233455549438558219512614230310696257205292283171096688805494100349946104767705318621343263508195521168458591337346982203193992459830694945778539134511675726985976343195318407151357755537721128093557419158166014188069915172662751173582476631341416456103055894099295352100019257184378321273913707256042204093296652175239454450006267754627257947993883134796200385299229185023093919760350957437894056640998284944853632822282505923352374699754518294760794359217766758314060151303769070384315427214027391267164693492738969953686908195269817875459879037866909027959270223845466032416330831139892113134034318470973965425764499663353340618199663018867732680770414081648469086341290384302711192389728703221609351131312018868335885758561017060981988028270996899649387215362182784400288006032960321801661497666952115063905336528014794237976009744023012121095494013902849567987776918700475948131511757059288631425944548847542935148477339833358563797959583764388959683225118062681301836356936220770877501368372191654430493962562390131318636 3718357446989426134406816314127573280316450302108245551475973589549939241494507194489568103861519541457246210023894775786104153952796645917341754499813135267440866987964156855587275755058666005615668192522127339281524366746185850509777376078528971472870167693483211573594784137310551259538624449058788012789211826562731391995358754933924957204419245598725490125376467714299766708162439501554650443959646989259727236458014692398435497991311147492678200046870806531581153932609944693649074554405816824424082812381785858581637499091828932822939318300200191861901135490020478579925570098406792044271870940463946462107053984002955301245480973689544700626501696150696749217901310014490374298007964850962151469007865389645688013109858699886027868341657424170556488471537177829971562951973499110982690341880831987231841660912587897860079066086024547124006414903840295485528038094333916377705734341009896612705616062104889253898779105186463381458980559516565064101729492113326051201436442362052400826127068435654494837172708678588935681159909939821648533507935792894618564128119212309290510459395496361249644134740080606024150293402524672172861642946360947753975777978736130961156789358645486476284421125005112166997474133952257650753944763894767894272402997242646129414965148862566144053644427000482834183550260850793524906939742291600796055212978486671141604140115852118362750819420087564037530675713507954014090239575072004131951143539801250727614973820132866769793116280625107211367050577211779337706297148908168145596221660179968605049393985322426362476788525766052819943315312518645336022507179110431430658152105601271648679345416059096045936856154634820003642217844000991698043710480299695233878493773345589964038389255071114367688662187485310946859556843 6016428731550176855366215762918987967802941913263386066606946380024841950771481050090751176197544073578343444128760595781831900954780357598371931954770479465524450366951527322628031806108017776348266564367344896177261734015663654136383135995461584797142560304789281830471717091220047764922390258368148798889381255467017116253342328334045658258987211905270737088846921515928052617528697176581072731806630143803428042521669978327886189040651647227874000966008483693200715600273262855312763426410217884038651294878214560222456189539182764208089877325201832038972704305436816677381707741713715081298828050442651327965474877261820139511527960623148322327648963798306081084204906846452875813322549543274173490305731373288067794357705933341577306899876936784786799167794383122254734048662304605083040287985599692550463004176096093381247524677361894106209608896300126180473816633468428053432720317353091931112767419860426975026872662605621547473168629431737726852903074589957392617892545417946500121479168454911679215493982592296191723364003236473823772962385799162373191386067206192425306659780795590434667228659840956981588187459165670457806496579183230259899130353435885479451550153004704243042735185156415936067858449379471678145211928588260633242356684150841399232840608741604010962672386270706679649582677181624664799052876325919267029178404251170804957480734051781381618552100857978119179144799849244398392950767461732835172752890932562746483309705891427786854098268653378208266699964427141520490697436914201105918023321677635557164457890658954377271026501775796842955436408012659238872075166887350131134100237113028707967976842003644893479791303112159837000781641960575462432670163524813296559795609702526184809266756439486559343092681447873336990875479 9734786178539602989773032077046561248119392215371631618082919969574781192265988244580319280059063615035589654152655371567936054907577003515713686454583614732965317354915684178215307561166683781963934756889472235458786100761849504646160512073990556270012727998272493404066501228530599024461014707426936811678593082029748508248701083267970615463406457503996227214223389230227819325691136678135723175766277133063155278979684670726321687031962794720552201012879290224781869532883207548961837980816034708462734107260000418804093688631011697031029195625402023900873839795457295257307277840120507125570698990906597790072528861264775440757008934312693022954150659949002830302106216860943250111330514394236324959313596762933755807467564633227605175241534360955343287639331560952226297000635803716065730629866431679782304665088683991241326590763386441230216023800140421666001854727802344431138454658362988543818383481965316228925651767792084928932149188948302790954632566703283443819328987779998900947606236890566174052666691270885127404523913176295472306470321592056991755514186418501715817119176291951684311363399921563005738480861690342630668139525544178013874908332172016440608339511650190719327156310161528103065332583331729328899156692483028527514759681393487528647805757604170155016316813271189513833132938032418189705992618617520063084391382737841946561620849903899744369371520945542156709820513357198412483190342533736967123896430733813474098283526024294556647214549278485419633750541638920858196994585822369251514244981857604162213851875981380739747815027541849662898751720531304574894582345997781561792252342714300356647322258062740939416647457746979840642999485961567160476380643824508530438289383048116148847656011510600927031754868933184283850432322 15751214910089779845139247839965549215922334128635017684689866349599623143037469294671070456256607688613933098281415967349767955862357361114085618409354094198489767721867211500843339367274701558312201321256817131636047834777513158782543648069452141067155288303061775234538218319750646789383404965795085610567974337496765624502043411602016273722393669409266964303070310746155871943219833854716795907572907276866583321501354649054207876072614441948426201978887773917982585133156470404274601407226252592501385402138214979026549878170194461239119072950603855939846544100894111934688985581834222206869527041349249118038003738526595580268536894935841345281799623747308911386311123707396125924653063937510498449619328136221823601825270566569182482141411297740130086807125944074481031049298108321148770917852031372332767669264780084622574115440748335336425632696440547846475671361270772484571174975716080474931150901825743203952524430397706476405317818380040517807535641293240836437221533197945401069085405345477853268160673863181319127887916412769296079432707391219364946900253624694141123778957087542118978592059762519987326668320856013088474636104727408273774038685607901920059889664654894962369891495317944039133191032711201007044368621071289160757116365544328927880646366345774165978989199541896193482715615214042854505045494943439330113569786989012751519101583955681125987923621803520275888965313206442810876141109995469802296649321666376220581593231915722343501312817931863627900450506066062378687692022736570357432268303535239719378309766640335117018841529317646505854188128543963813766657512885131692926352579827329064615299100066385832896438760859139677643781127922142622909050807349321826998084992750642333656922767950087486374847550381057620841307801 25486001088629382834912279917012110464041726344006649302772786319174404335303457539251389736315671303649522752434071338917704010769934364629799304863937708931455085076782895679058646928441385340276136078146289367094833935539362663428704160143442697337168016301334268638604719548281245813844419673222022422246567419526514132750744494869986889185800126913263191517293699976383691268910970532852519083339184409929738600481039319780529563104577236668978402991767064142764454666039677953236439388042287300964119509398215397830643566801206158270148268576005879840720383896351407191996263421954729332440226032255846908110532599791371021025545829248534368235950283696311741688417340568339376035983578331746823408932924899155579409292835199796787657382945658695473374446457505026707328049933912037214501547718463052115072334353464075863900706204134776566641656496580969512477526089073116915709629634079069018749534383791059432878176198189791405337467007328343308762168207996524280256550520977944302016691642236044027320827365134066446532411829589064768385903028983276356702414440043195856940898133379493803289955459684082993065149182546355719142775630271586287648947017779918360668229176305085681697047805479472142198523616042930335943525313554317688271876046937816456528452123949944320995306012813085707315848553246461044211038113560959393197961169726854698080722433859580870357295142749062432598785826563641223359331452529206769420545752400189694679876757940016900148527367210349047534201047704983236884686608558939608946513285392843881592161642621715856766656556859496168752939849075268388661239858882913254718604922541629421262621358129126772313086218606119518286780613883709783385431451173830357436374375798758482504578779460688413406602419314241904691740123 41237215998719162680051527756977659679964060472641666987462652668774027478340926833922460192572278992263455850715487306267471966632291725743884923273291803129944852798650107179901986295716086898588337399403106498730881770316875822211247808212894838404323304604396043873142937868031892603227824639017108032814541757023279757252787906472003162908193796322530155820364010722539563212130804387569314990912091686796321921982393968834737439177191678617404604970654838060747039799196148357511040795268539893465504911536430376857193444971400619509267341526609735780566927997245519126685249003788951539309753073605096026148536338317966601294082724184375713517749907443620653074728464275735501960636642269257321858552253035377403011118105766365970139524356956435603461253583449101188359099232020358363272465570494424447840003618244160486474821644883111903067289193021517358953197450343889400280804609795149493680685285616802636830700628587497881742784825708383826569703849289765116693772054175889703085777047581521880588988038997247765660299746001834064465335736374495721649314693667889998064677090467035922268547519446602980391817503402368807617411734998994561422985703387820280728118840959980644066939300797416181331714648754131342987893934625606849028992412482145384409098490295718486974295212354981900798564168460503898716083608504398723311530956715867449599824017815261996345218764552582708487751139770084034235472562524676571717195074066565915261469989855739243649840185142212675434651553771045615572378631295509966378781588928083600970471409262050973785498086177142674607127977619232202427897371768044947644957502368958485877920458195512605209524979465259195930561741805852406294482258523152184434459368549400816161501547410775899781449969695299525533047924 66723217087348545514963807673989770144005786816648316290235438987948431813644384373173849928887950295912978603149558645185175977402226090373684228137229512061399937875433002858960633224157472238864473477549395865825715705856238485639951968356337535741491320905730312511747657416313138417072244312239130455061109176549793890003532401341990052093993923235793347337657710698923254481041774920421834074251276096726060522463433288615267002281768915286383007962421902203511494465235826310747480183310827194429624420934645774687837011772606777779415610102615615621287311893596926318681512425743680871749979105860942934259068938109337622319628553432910081753700191139932394763145804844074877996620220601004145267485177934532982420410940966162757796907302615131076835700040954127895687149165932395577774013288957476562912337971708236350375527849017888469708945689602486871430723539417006315990434243874218512430219669407862069708876826777289287080251833036727135331872057286289396950322575153834005102468689817565907909815404131314212192711575590898832851238765357772078351729133711085855005575223846529725558502979130685973456966685948724526760187365270580849071932721167738641396348017265066325763987106276888323530238264797061678931419248179924537300868459419961840937550614245662807969601225168067608114412721706964942927121722065358116509492126442722147680546451674842866702513907301645141086536966333725257594804015053883341137740826466755609941346747795756143798367552352561722968852601476028852457065239854449575325294874320927482562633051883766830552154643036638843360067826694500591089137230650958202363562424910587907140541816324639377522611198071378714217342355689562189679913709696982541870833744348159298666080326871464313188052389009541430224788047 107960433086067708195015335430967429823969847289289983277698091656722459291985311207096310121460229288176434453865045951452647944034517816117569151410521315191344790674083110038862619519873559137452810876952502364556597476173114307851199776569232374145814625510126356384890595284345031020300068951256238487875650933573073647256320307813993215002187719558323503158021721421462817693172579307991149065163367783522382444445827257450004441458960593903787612933076740264258534264431974668258520978579367087895129332471076151545030456744007397288682951629225351401854239890842445445366761429532632411059732179466038960407605276427304223613711277617285795271450098583553047837874269119810379957256862870261467126037430969910385431529046732528727936431659571566680296953624403229084046248397952753941046478859451901010752341589952396836850349493901000372776234882624004230383920989760895716271238853669368006110904955024664706539577455364787168823036658745110961901575906576054513644094629329723708188245737399087788498803443128561977853011321592732897316574501732267800001043827378975853070252314313565647827050498577288953848784189351093334377599100269575410494918424555558922124466858225046969830926407074304504861952913551193021919313182805531386329860871902107225346649104541381294943896437523049508912976890167468841643205330569756839821023083158589597280370469490104863047732671854227849574288106103809291830276577578559912854935900533321525202816737651495387448207737494774398403504155247074468029443871149959541704076463249011083533104461145817804337652729213781517967195804313732793517034602419003150008519927279546393018462274520151982732136177536637910147904097495414595974395968220134726305293112897560114827581874282240212969502358704840955757835971 174683650173416253709979143104957199967975634105938299567933530644670891105629695580270160050348179584089413057014604596637823921436743906491253379547750827252744728549516112897823252744031031376317284354501898230382313182029352793491151744925569909887305946415856668896638252700658169437372313263495368942936760110122867537259852709155983267096181642794116850495679432120386072174214354228412983139414643880248442966909260546065271443740729509190170620895498642467770028729667800979006001161890194282324753753405721926232867468516614175068098561731840967023141551784439371764048273855276313282809711285326981894666674214536641845933339831050195877025150289723485442601020073963885257953877083471265612393522608904443367851939987698691485733338962186697757132653665357356979733397563885149518820492148409377573664679561660633187225877342918888842485180572226491101814644529177902032261673097543586518541124624432526776248454282142076455903288491781838097233447963862343910594417204483557713290714427216653696408618847259876190045722897183631730167813267090039878352772961090061708075827538160095373385553477707974927305750875299817861137786465540156259566851145723297563520814875490113295594913513351192828392191178348254700850732430985455923630729331322069066284199718787044102913497662691117117027389611874433784570327052635114956330515209601311744960916921164947729750246579155872990660825072437534549425080592632443253992676727000077135144163485447251531246575289847336121372356756723103320486509111004409117029371337569938566095737513029584634889807372250420361327263631008233384606171833069961352372082352190134300159004090844791360254747375608016624365246453184976785654309677917117268176126857245719413493662201153704526157554747714382385982624018 282644083259483961904994478535924629791945481395228282845631622301393350397615006787366470171808408872265847510879650548090471865471261722608822530958272142444089519223599222936685872263904590513770095231454400594938910658202467101342351521494802284033120571925983025281528847985003200457672382214751607430812411043695941184516173016969976482098369362352440353653701153541848889867386933536404132204578011663770825411355087803515275885199690103093958233828575382732028562994099775647264522140469561370219883085876798077777897925260621572356781513361066318424995791675281817209415035284808945693869443464793020855074279490963946069547051108667481672296600388307038490438894343083695637911133946341527079519560039874353753283469034431220213669770621758264437429607289760586063779645961837903459866971007861278584417021151613030024076226836819889215261415454850495332198565518938797748532911951212954524652029579457191482788031737506863624726325150526949059135023870438398424238511833813281421478960164615741484907422290388438167898734218776364627484387768822307678353816788469037561146079852473661021212603976285263881154535064650911195515385565809731670061769570278856485645281733715160265425839920425497333254144091899447722770045613790987309960590203224176291630848823328425397857394100214166625940366502041902626213532383204871796151538292759901342241287390655052592797979251010100840235113178541343841255357170211003166847612627533398660346980223098746918694783027342110519775860911970177788515952982154368658733447800818949649628841974175402439227460101464201879294459435321966178123206435488964502380602279469680693177466365364943342986883553144654534513150550680391381628705646137251994481419970143279528321244075435944739127057106419223341740459989 457327733432900215614973621640881829759921115501166582413565152946064241503244702367636630222156588456355260567894255144728295786908005629100075910506022969696834247773115335834509125007935621890087379585956298825321223840231819894833503266420372193920426518341839694178167100685661369895044695478246976373749171153818808721776025726125959749194551005146557204149380585662234962041601287764817115343992655544019268378264348349580547328940419612284128854724074025199798591723767576626270523302359755652544636839282520004010765393777235747424880075092907285448137343459721188973463309140085258976679154750120002749740953705500587915480390939717677549321750678030523933039914417047580895865011029812792691913082648778797121135409022129911699403109583944962194562260955117943043513043525723052978687463156270656158081700713273663211302104179738778057746596027076986434013210048116699780794585048756541043193154203889718259036486019648940080629613642308787156368471834300742334832929038296839134769674591832395181316041137648314357944457115959996357652201035912347556706589749559099269221907390633756394598157453993238808460285939950729056653172031349887929628620716002154049166096609205273561020753433776690161646335270247702423620778044776443233591319534546245357915048542115469500770891762905283742967756113916336410783859435839986752482053502361213087202204311820000322548225830165973830895938250978878390680437762843446420840289354533475795491143708545998449941358317189446641148217668693281109002462093158777775762819138388888215724579487204987074117267473714622240621723066330199562729378268558925854752684631659814993336470456209734703241630928752671158878397003865368167283015324054369262657546827388998941814906276589649265284611854133605727723084007 739971816692384177519968100176806459551866596896394865259196775247457591900859709155003100393964997328621108078773905692818767652379267351708898441464295112140923766996714558771194997271840212403857474817410699420260134498434286996175854787915174477953547090267822719459695948670664570352717077692998583804561582197514749906292198743095936231292920367498997557803081739204083851908988221301221247548570667207790093789619436153095823214140109715378087088552649407931827154717867352273535045442829317022764519925159318081788663319037857319781661588453973603873133135135003006182878344424894204670548598214913023604815233196464533985027442048385159221618351066337562423478808760131276533776144976154319771432642688653150874418878056561131913072880205703226631991868244878529107292689487560956438554434164131934742498721864886693235378331016558667273008011481927481766211775567055497529327496999969495567845183783346909741824517757155803705355938792835736215503495704739140759071440872110120556248634756448136666223463428036752525843191334736360985136588804734655235060406538028136830367987243107417415810761430278502689614821004601640252168557597159619599690390286281010534811378342920433826446593354202187494900479362147150146390823658567430543551909737770421649545897365443894898628285863119450368908122615958239036997391819044858548633591795121114429443491702475052915346205081176074671131051429520222231935794933054449587687901982066874455838123931644745368636141344531557160924078580663458897518415075313146434496266939207837865353421461380389513344727575178824119916182501652165740852584704047890357133286911129495686513936821574678046228514481897325693391547554545759548911720970191621257138966797532278470136150352025594004411668960552829069463543996 1197299550125284393134941721817688289311787712397561447672761928193521833404104411522639730616121585784976368646668160837547063439287272980808974351970318081837758014769829894605704122279775834293944854403366998245581358338666106891009358054335546671873973608609662413637863049356325940247761773171245560178310753351333558628068224469221895980487471372645554761952462324866318813950589509066038362892563322751809362167883784502676370543080529327662215943276723433131625746441634928899805568745189072675309156764441838085799428712815093067206541663546880889321270478594724195156341653564979463647227752965033026354556186901965121900507832988102836770940101744368086356518723177178857429641156005967112463345725337431947995554287078691043612475989789648188826554129199996472150805733013284009417241897320402590900580422578160356446680435196297445330754607509004468200224985615172197310122082048726036611038337987236628000861003776804743785985552435144523371871967539039883093904369910406959691018309348280531847539504565685066883787648450696357342788789840647002791766996287587236099589894633741173810408918884271741498075106944552369308821729628509507529319011002283164583977474952125707387467346787978877656546814632394852570011601703343873777143229272316667007460945907559364399399177626024734111875878729874575447781251254884845301115645297482327516645696014295053237894430911342048502026989680499100622616232695897896008528191336600350251329267640190743818577499661721003802072296249356740006520877168471924210259086077596726081078000948585376587461995048893446360537905567982365303581962972606816211885971542789310679850407277784412749470145410649996852269944558411127716194736294245990519796513624921277411951056628615243269696280814686434797186628003 1937271366817668570654909821994494748863654309293956312931958703440979425304964120677642831010086583113597476725442066530365831091666540332517872793434613193978681781766544453376899119551616046697802329220777697665841492837100393887185212842250721149827520698877485133097558998026990510600478850864244143982872335548848308534360423212317832211780391740144552319755544064070402665859577730367259610441133989959599455957503220655772193757220639043040303031829372841063452901159502281173340614188018389698073676689601156167588092031852950386988203252000854493194403613729727201339219997989873668317776351179946049959371420098429655885535275036487995992558452810705648779997531937310133963417300982121432234778368026085098869973165135252175525548869995351415458545997444875001258098422500844965855796331484534525643079144443047049682058766212856112603762618990931949966436761182227694839449579048695532178883521770583537742685521533960547491341491227980259587375463243779023852975810782517080247266944104728668513762967993721819409630839785432718327925378645381658026827402825615372929957881876848591226219680314550244187689927949154009560990287225669127129009401288564175118788853295046141213913940142181065151447293994542002716402425361911304320695139010087088657006843273003259298027463489144184480784001345832814484778643073929703849749237092603441946089187716770106153240635992518123173158041110019322854552027628952345596216093318667224707167391571835489187213641006252560962996374830020198904039292243785070644755353016804563946431422409965766100806722624072270480454088069634531044434547676654706569019258453918806366364344099359090795698659892547322545661492112956887265106457264437611776935480422453555882087206980640837274107949775239263866650171999 3134570916942952963789851543812183038175442021691517760604720631634501258709068532200282561626208168898573845372110227367912894530953813313326847145404931275816439796536374347982603241831391880991747183624144695911422851175766500778194570896586267821701494307487147546735422047383316450848240624035489704161183088900181867162428647681539728192267863112790107081708006388936721479810167239433297973333697312711408818125387005158448564300301168370702518975106096274195078647601137210073146182933207462373382833454042994253387520744668043454194744915547735382515674092324451396495561651554853131965004104144979076313927607000394777786043108024590832763498554555073735136516255114488991393058456988088544698124093363517046865527452213943219138024859784999604285100126644871473408904155514128975273038228804937116543659567021207406128739201409153557934517226499936418166661746797399892149571661097421568789921859757820165743546525310765291277327043663124782959247430782818906946880180692924039938285253453009200361302472559406886293418488236129075670714168486028660818594399113202609029547776510589765036628599198821985685765034893706378869812016854178634658328412290847339702766328247171848601381286930159942807994108626936855286414027065255178097838368282403755664467789180562623697426641115168918592659880075707389932559894328814549150864882390085769462734883731065159391135066903860171675185030790518423477168260324850241604744284655267574958496659212026233005791140667973564765068671079376938910560169412256994855014439094401290027509423358551142688268717672965716840991993637616896348016510649261522780905229996708117046214751377143503545168805303197319397931436671368014981301193558683602296731994047374833294038263609256080543804230589925698663836800002 5071842283760621534444761365806677787039096330985474073536679335075480684014032652877925392636294752012171322097552293898278725622620353645844719938839544469795121578302918801359502361383007927689549512844922393577264344012866894665379783738836988971529015006364632679832981045410306961448719474899733848144055424449030175696789070893857560404048254852934659401463550453007124145669744969800557583774831302671008274082890225814220758057521807413742822006935469115258531548760639491246486797121225852071456510143644150420975612776520993841182948167548589875710077706054178597834781649544726800282780455324925126273299027098824433671578383061078828756057007365779383916513787051799125356475757970209976932902461389602145735500617349195394663573729780351019743646124089746474667002578014973941128834560289471642186738711464254455810797967622009670538279845490868368133098507979627586989021240146117100968805381528403703486232046844725838768668534891105042546622894026597930799855991475441120185552197557737868875065440553128705703049328021561793998639547131410318845421801938817981959505658387438356262848279513372229873454962842860388430802304079847761787337813579411514821555181542217989815295227072341007959441402621478858002816452427166482418533507292490844321474632453565882995454104604313103073443881421540204417338537402744253000614119482689211408824071447835265544375702896378294848343071900537746331720287953802587200960377973934799665664050783861722193004781674226125728065045909397137814599461656042065499769792111205853973940845768516908789075440297037987321446081707251427392451058325916229349924488450626923412579095476502594340867465195744641943592928784324902246407650823121214073667474469828389176125470589896917817912180365164962530486972001 8206413200703574498234612909618860825214538352676991834141399966709981942723101185078207954262502920910745167469662521266191620153574166959171567084244475745611561374839293149342105603214399808681296696469067089488687195188633395443574354635423256793230509313851780226568403092793623412296960098935223552305238513349212042859217718575397288596316117965724766483171556841943845625479912209233855557108528615382417092208277230972669322357822975784445340982041565389453610196361776701319632980054433314444839343597687144674363133521189037295377693083096325258225751798378629994330343301099579932247784559469904202587226634099219211457621491085669661519555561920853119053030042166288116749534214958298521631026554753119192601028069563138613801598589565350624028746250734617948075906733529102916401872789094408758730398278485461861939537169031163228472797071990804786299760254777027479138592901243538669758727241286223869229778572155491130045995578554229825505870324809416837746736172168365160123837451010747069236367913112535591996467816257690869669353715617438979664016201052020590989053434898028121299476878712194215559219997736566767300614320934026396445666225870258854524321509789389838416676514002500950767435511248415713289230479492421660516371875574894599985942421634128506692880745719482021666103761497247594349898431731558802151479001872774980871558955178900424935510769800238466523528102691056169808888548278652828805704662629202374624160709995887955198795922342199690493133716988774076725159631068299060354784231205607144001450269127068051477344157970003704162438075344868323740467568975177752130829718447335040458793846853646097886036270498941961341524365455692917227708844381804816370399468517203222470163734199152998361716410955090661194323772003 13278255484464196032679374275425538612253634683662465907678079301785462626737133837956133346898797672922916489567214815164470345776194520605016287023084020215406682953142211950701607964597407736370846209313989483065951539201500290108954138374260245764759524320216412906401384138203930373745679573834957400449293937798242218556006789469254849000364372818659425884635107294950969771149657179034413140883359918053425366291167456786890080415344783198188162988977034504712141745122416192566119777175659166516295853741331295095338746297710031136560641250644915133935829504432808592165124950644306732530565014794829328860525661198043645129199874146748490275612569286632502969543829218087242106009972928508498563929016142721338336528686912334008465172319345701643772392374824364422742909311544076857530707349383880400917136989949716317750335136653172899011076917481673154432858762756655066127614141389655770727532622814627572716010619000216968814664113445334868052493218836014768546592163643806280309389648568484938111433353665664297699517144279252663667993262748849298509438002990838572948559093285466477562325158225566445432674960579427155731416625013874158233004039449670369345876691331607828231971741074841958726876913869894571292046931919588142934905382867385444307417054087694389688334850323795124739547642918787798767236969134303055152093121355464192280383026626735690479886472696616761371871174591593916140608836232455416006665040603137174289824760779749677391800704016425816221198762898171214539759092724341125854554023316812997975391114895584960266419598267041691483884157052119751132918627301093981480754206897961963871372942330148692226903735694686603285117294240017819474116495204926030444066942987031611646289204789049916179628591320255623724810744004 21484668685167770530913987185044399437468173036339457741819479268495444569460235023034341301161300593833661657036877336430661965929768687564187854107328495961018244327981505100043713567811807545052142905783056572554638734390133685552528493009683502557990033634068193132969787230997553786042639672770180952754532451147454261415224508044652137596680490784384192367806664136894815396629569388268268697991888533435842458499444687759559402773167758982633503971018599894165751941484192893885752757230092480961135197339018439769701879818899068431938334333741240392161581302811438586495468251743886664778349574264733531447752295297262856586821365232418151795168131207485622022573871384375358855544187886807020194955570895840530937556756475472622266770908911052267801138625558982370818816045073179773932580138478289159647535268435178179689872305684336127483873989472477940732619017533682545266207042633194440486259864100851441945789191155708098860659691999564693558363543645431606293328335812171440433227099579232007347801266778199889695984960536943533337346978366288278173454204042859163937612528183494598861802036937760660991894958315993923032030945947900554678670265319929223870198201120997666648648255077342909494312425118310284581277411412009803451277258442280044293359475721822896381215596043277146405651404416035393117135400865861857303572123228239173151941981805636115415397242496855227895399277282650085949497384511108244812369703232339548913985470775637632590596626358625506714332479886945291264918723792640186209338254522420141976841384022653011743763756237045395646322232396988074873386196276271733611583925345297004330166789183794790112940006193628564626641659695710736701825339586730846814466411504234834116452938988202914541345002275346284919134516007 34762924169631966563593361460469938049721807720001923649497558570280907196197368860990474648060098266756578146604092151595132311705963208169204141130412516176424927281123717050745321532409215281422989115097046055620590273591633975661482631383943748322749557954284606039371171369201484159788319246605138353203826388945696479971231297513906986597044863603043618252441771431845785167779226567302681838875248451489267824790612144546449483188512542180821666959995634398877893686606609086451872534405751647477431051080349734865040626116609099568498975584386155526097410807244247178660593202388193397308914589059562860308277956495306501716021239379166642070780700494118124992117700602462600961554160815315518758884587038561869274085443387806630731943228256753911573531000383346793561725356617256631463287487862169560564672258384894497440207442337509026494950906954151095165477780290337611393821184022850211213792486915479014661799810155925067675323805444899561610856762481446374839920499455977720742616748147716945459234620443864187395502104816196197005340241115137576682892207033697736886171621468961076424127195163327106424569918895421078763447570961774712911674304769599593216074892452605494880619996152184868221189338988204855873324343331597946386182641309665488600776529809517286069550446367072271145199047334823191884372370000164912455665244583703365432325008432371805895283715193471989267270451874244002090106220743563660819034743835476723203810231555387309982397330375051322935531242785116505804677816516981312063892277839233139952232498918237972010183354504087087130206389449107826006304823577365715092338132243258968201539731513943482339843741888315167911758953935728556175941834791656877258533354491266445762742143777252830720973593595601908643945260011 56247592854799737094507348645514337487189980756341381391317037838776351765657603884024815949221398860590239803640969488025794277635731895733391995237741012137443171609105222150789035100221022826475132020880102628175229007981767661214011124393627250880739591588352799172340958600199037945830958919375319305958358840093150741386455805558559124193725354387427810620248435568740600564408795955570950536867136984925110283290056832306008885961680301163455170931014234293043645628090801980337625291635844128438566248419368174634742505935508168000437309918127395918258992110055685765156061454132080062087264163324296391756030251792569358302842604611584793865948831701603747014691571986837959817098348702122538953840157934402400211642199863279252998714137167806179374669625942329164380541401690436405395867626340458720212207526820072677130079748021845153978824896426629035898096797824020156660028226656044651700052351016330456607589001311633166535983497444464255169220306126877981133248835268149161175843847726948952807035887222064077091487065353139730342687219481425854856346411076556900823784149652455675285929232101087767416464877211415001795478516909675267590344570089528817086273093573603161529268251229527777715501764106515140454601754743607749837459899751945532894136005531340182450766042410349417550850451750858585001507770866026769759237367811942538584266990238007921310680957690327217162669729156894088039603605254671905631404447067816272117795702331024942572993956733676829649863722672061797069596540309621498273230532361653281929073882940890983753947110741132482776528621846095900879691019853637448703922057588555972531706520697738272452783748081943732538400613631439292877767174378387724072999765995501279879195082765455745262318595870948193563079776018 91010517024431703658100710105984275536911788476343305040814596409057258961854972745015290597281497127346817950245061639620926589341695103902596136368153528313868098890228939201534356632630238107898121135977148683795819281573401636875493755777570999203489149542637405211712129969400522105619278165980457659162185229038847221357687103072466110790770217990471428872690207000586385732188022522873632375742385436414378108080668976852458369150192843344276837891009868691921539314697411066789497826041595775915997299499717909499783132052117267568936285502513551444356402917299932943816654656520273459396178752383859252064308208287875860018863843990751435936729532195721872006809272589300560778652509517438057712724744972964269485727643251085883730657365424560090948200626325675957942266758307693036859155114202628280776879785204967174570287190359354180473775803380780131063574578114357768053849410678894862913844837931809471269388811467558234211307302889363816780077068608324355973169334724126881918460595874665898266270507665928264486989170169335927348027460596563431539238618110254637709955771121416751710056427264414873841034796106836080558926087871449980502018874859128410302347986026208656409888247381712645936691103094719996327926098075205696223642541061611021494912535340857468520316488777421688696049499085681776885880140866191682214902612395645904016591998670379727205964672883799206429940181031138090129709825998235566450439190903292995321605933886412252555391287108728152585394965457178302874274356826602810337122810200886421881306381859128955764130465245219569906735011295203726885995843431003163796260189831814940733246252211681754792627489970258900450159567567167849053709009170044601331533120486767725641937226542708575983292189466550102207025036029 147258109879231440752608058751498613024101769232684686432131634247833610727512576629040106546502895987937057753886031127646720866977426999635988131605894540451311270499334161352323391732851260934373253156857251311971048289555169298089504880171198250084228741130990204384053088569599560051450237085355776965120544069131997962744142908631025234984495572377899239492938642569326986296596818478444582912609522421339488391370725809158467255111873144507732008822024102984965184942788213047127123117677439904354563547919086084134525637987625435569373595420640947362615395027355618708972716110652353521483442915708155643820338460080445218321706448602336229802678363897325619021500844576138520595750858219560596666564902907366669697369843114365136729371502592366270322870252268005122322808159998129442255022740543087000989087312025039851700366938381199334452600699807409166961671375938377924713877637334939514613897188948139927876977812779191400747290800333828071949297374735202337106418169992276043094304443601614851073306394887992341578476235522475657690714680077989286395585029186811538533739920773872426995985659365502641257499673318251082354404604781125248092363444948657227388621079599811817939156498611240423652192867201235136782527852818813446061102440813556554389048540872197650971082531187771106246899950836540361887387911732218451974139980207588442600858988908387648516645630574126423592609910188032178169313431252907472081843637971109267439401636217437195128385243842404982235258688129240099943870897136224308610353342562539703810380264800019939518077575986352052683263633141299627765686863284640612500182247420370913264952772909420027245411238052202632988560181198607141931476183548432325404532886482269005521132309308164321245610785337498295770104812047 238268626903663144410708768857482888561013557709027991472946230656890869689367549374055397143784393115283875704131092767267647456319122103538584267974048068765179369389563100553857748365481499042271374292834399995766867571128570934964998635948769249287717890673627609595765218539000082157069515251336234624282729298170845184101830011703491345775265790368370668365628849569913372028784841001318215288351907857753866499451394786010925624262065987852008846713033971676886724257485624113916620943719035680270560847418803993634308770039742703138309880923154498806971797944655551652789370767172626980879621668092014895884646668368321078340570292593087665739407896093047491028310117165439081374403367736998654379289647880330939183097486365451020460028868016926361271070878593681080265074918305822479114177854745715281765967097230007026270654128740553514926376503188189298025245954052735692767727048013834377527742026879949399146366624246749634958598103223191888729374443343526693079587504716402925012765039476280749339576902553920606065465405691811585038742140674552717934823647297066176243695691895289178706042086629917515098534469425087162913330692652575228594382319807785637690969065626020474349044745992953069588883970295955133110453950894019142284744981875167575883961076213055119491399019965192794942949449922222138773268052598410134189042592603234346617450987578767375722610303457925630022550091219170268299023257251143038532282828874402262761007570103849447683776530951133134820653653586418402818145253962827118947476152763426125691686646659148895282208041231571622589998644436503354651682706715643776296442437252185853998199025121101782038038728022461533438719748765774990985185192718476926736066006969036731163069535850872897228902974804048397977129848076 385526736782894585163316827608981501585115326941712677905077864904724480416880126003095503690287289103220933458017123894914368323296549103174572399579942609216490639888897261906181140098332759976644627449691651307737915860683740233054503516119967499371946631804617813979818307108599642208519752336692011589403273367302843146845972920334516580759761362746269907858567492139240358325381659479762798200961430279093354890822120595169392879373939132359740855535058074661851909200273837161043744061396475584625124395337890077768834408027368138707683476343795446169587192972011170361762086877824980502363064583800170539704985128448766296662276741195423895542086259990373110049810961741577601970154225956559251045854550787697608880467329479816157189400370609292631593941130861686202587883078303951921369200595288802282755054409255046877971021067121752849378977202995598464986917329991113617481604685348773892141639215828089327023344437025941035705888903557019960678671818078729030186005674708678968107069483077895600412883297441912947643941641214287242729456820752542004330408676483877714777435612669161605702027745995420156356034142743338245267735297433700476686745764756442865079590145225832292288201244604193493241076837497190269892981803712832588345847422688724130273009617085252770462481551152963901189849400758762500660655964330628586163182572810822789218309976487155024239255934032052053615160001407202446468336688504050510614126466845511530200409206321286642812161774793538117055912341715658502762016151099051427557829495325965829502066911459168834800285617217923675273262277577802982417369570000284388796624684672556767263151798030521809283449966074664166427279929964382132916661376266909252140598893451305736684201845159037218474513760141546693747234660123 623795363686557729574025596466464390146128884650740669378024095561615350106247675377150900834071682218504809162148216662182015779615671206713156667553990677981670009278460362460038888463814259018916001742526051303504783431812311168019502152068736748659664522478245423575583525647599724365589267588028246213686002665473688330947802932038007926535027153114640576224196341709153730354166500481081013489313338136847221390273515381180318503636005120211749702248092046338738633457759461274960365005115511264895685242756694071403143178067110841845993357266949944976558990916666722014551457644997607483242686251892185435589631796817087375002847033788511561281494156083420601078121078907016683344557593693557905425144198668028548063564815845267177649429238626218992865012009455367282852957996609774400483378450034517564521021506485053904241675195862306364305353706183787763012163284043849310249331733362608269669381242708038726169711061272690670664487006780211849408046261422255723265593179425081893119834522554176349752460199995833553709407046906098827768198961427094722265232323780943891021131304564450784408069832625337671454568612168425408181065990086275705281128084564228502770559210851852766637245990597146562829960807793145403003435754606851730630592404563891706156970693298307889953880571118156696132798850680984639433924016929038720352225165414057135835760964065922399961866237489977683637710092626372714767359945755193549146409295719913792961416776425136090495938305744671251876565995302076905580161405061878546505305648089391955193753558118317730082493658449495297863260922014306337069052276715928165093067121924742621261350823151623591321488694097125699865999678730157123901846568985386178876664900420342467847271381009910115703416734945595091724364508199 1009322100469452314737342424075445891731244211592453347283101960466339830523127801380246404524358971321725742620165340557096384102912220309887729067133933287198160649167357624366220028562147018995560629192217702611242699292496051401074005668188704248031611154282863237555401832756199366574109019924720257803089276032776531477793775852372524507294788515860910484082763833848394088679548159960843811690274768415940576281095635976349711383009944252571490557783150121000590542658033298436004109066511986849520809638094584149171977586094478980553676833610745391146146183888677892376313544522822587985605750835692355975294616925265853671665123774983935456823580416073793711127932040648594285314711819650117156470998749455726156944032145325083334838829609235511624458953140317053485440841074913726321852579045323319847276075915740100782212696262984059213684330909179386227999080614034962927730936418711382161811020458536128053193055498298631706370375910337231810086718079500984753451598854133760861226904005632071950165343497437746501353348688120386070497655782179636726595641000264821605798566917233612390110097578620757827810602754911763653448801287519976181967873849320671367850149356077685058925447235201340056071037645290335672896417558319684318976439827252615836429980310383560660416362122271120597322648251439747140094579981259667306515407738224879925054070940553077424201122171522029737252870094033575161235696634259244059760535762565425323161825982746422733308100080538209368932478337017735408342177556160929974063135143415357784695820469577486564882779275667418973136523199592109319486421846716212553889691806597299388524502621182145400604938660171789866293279608694539256818507945252295431017263793871648204531473226168947334177930495087141785471599168322 1633117464156010044311368020541910281877373096243194016661126056027955180629375476757397305358430653540230551782313557219278399882527891516600885734687923965179830658445817986826258917025961278014476630934743753914747482724308362569093507820257440996691275676761108661130985358403799090939698287512748504016775278698250219808741578784410532433829815668975551060306960175557547819033714660441924825179588106552787797671369151357530029886645949372783240260031242167339329176115792759710964474071627498114416494880851278220575120764161589822399670190877695336122705174805344614390865002167820195468848437087584541410884248722082941046667970808772447018105074572157214312206053119555610968659269413343675061896142948123754705007596961170350512488258847861730617323965149772420768293799071523500722335957495357837411797097422225154686454371458846365577989684615363173991011243898078812237980268152073990431480401701244166779362766559571322377034862917117443659494764340923240476717192033558842754346738528186248299917803697433580055062755735026484898265854743606731448860873324045765496819698221798063174518167411246095499265171367080189061629867277606251887249001933884899870620708566929537825562693225798486618900998453083481075899853312926536049607032231816507542586951003681868550370242693389277293455447102120731779528503998188706026867632903638937060889831904618999824162988409012007420890580186659947876003056580014437608906945058285339116123242759171558823804038386282880620809044332319812313922338961222808520568440791504749739889574027695804294965272934116914270999784121606415656555474123432140718982758928522042009785853444333768991926427354268915566159279287424696380720354514237681609893928694291990672378744607178857449881347230032736877195963676521 2642439564625462359048710444617356173608617307835647363944228016494295011152503278137643709882789624861956294402478897776374783985440111826488614801821857252377991307613175611192478945588108297010037260126961456525990182016804413970167513488446145244722886831043971898686387191159998457513807307437468761819864554731026751286535354636783056941124604184836461544389724009405941907713262820402768636869862874968728373952464787333879741269655893625354730817814392288339919718773826058146968583138139484963937304518945862369747098350256068802953347024488440727268851358694022506767178546690642783454454187923276897386178865647348794718333094583756382474928654988231008023333985160204205253973981232993792218367141697579480861951629106495433847327088457097242241782918290089474253734640146437227044188536540681157259073173337965255468667067721830424791674015524542560219010324512113775165711204570785372593291422159780294832555822057869954083405238827454675469581482420424225230168790887692603615573642533818320250083147194871326556416104423146870968763510525786368175456514324310587102618265139031675564628264989866853327075774121991952715078668565126228069216875783205571238470857923007222884488140460999826674972036098373816748796270871246220368583472059069123379016931314065429210786604815660397890778095353560478919623083979448373333383040641863816985943902845172077248364110580534037158143450280693523037238753214273681668667480820850764439285068741917981557112138466821089989741522669337547722264516517383738494631575934920107524585394497273290859848052209784333244136307321198524976041895970148353272872450735119341398310356065515914392531366014440705432452558896119235637538862459489977040911192488163638876910217833347804784059277725119878662667562844843 4275557028781472403360078465159266455485990404078841380605354072522250191781878754895041015241220278402186846184792454995653183867968003343089500536509781217557821966058993598018737862614069575024513891061705210440737664741112776539261021308703586241414162507805080559817372549563797548453505594950217265836639833429276971095276933421193589374954419853812012604696684184963489726746977480844693462049450981521516171623833938691409771156301842998137971077845634455679248894889618817857933057209766983078353799399797140590322219114417658625353017215366136063391556533499367121158043548858462978923302625010861438797063114369431735765001065392528829493033729560388222335540038279759816222633250646337467280263284645703235566959226067665784359815347304958972859106883439861895022028439217960727766524494036038994670870270760190410155121439180676790369663700139905734210021568410192587403691472722859363024771823861024461611918588617441276460440101744572119129076246761347465706885982921251446369920381062004568550000950892304906611478860158173355867029365269393099624317387648356352599437963360829738739146432401112948826340945489072141776708535842732479956465877717090471109091566489936760710050833686798313293873034551457297824696124184172756418190504290885630921603882317747297761156847509049675184233542455681210699151587977637079360250673545502754046833734749791077072527098989546044579034030467353470913241809794288119277574425879136103555408311501089540380916176853103970610550567001657360036186855478606547015200016726424857264474968524969095154813325143901247515136091442804940632597370093580493991855209663641383408096209509849683384457793368709620998611838183543932018259216973727658650805121182455629549288962440526662233940624955152615539863526521364 6917996593406934762408788909776622629094607711914488744549582089016545202934382033032684725124009903264143140587271352772027967853408115169578115338331638469935813273672169209211216808202177872034551151188666666966727846757917190509428534797149731486137049338849052458503759740723796005967312902387686027656504388160303722381812288057976646316079024038648474149086408194369431634460240301247462098919313856490244545576298726025289512425957736623492701895660026744019168613663444876004901640347906468042291103918743002960069317464673727428306364239854576790660407892193389627925222095549105762377756812934138336183241980016780530483334159976285211967962384548619230358874023439964021476607231879331259498630426343282716428910855174161218207142435762056215100889801729951369275763079364397954810713030576720151929943444098155665623788506902507215161337715664448294429031892922306362569402677293644735618063246020804756444474410675311230543845340572026794598657729181771690937054773808944049985494023595822888800084098087176233167894964581320226835792875795179467799773901972666939702056228499861414303774697390979802153416719611064094491787204407858708025682753500296042347562424412943983594538974147798139968845070649831114573492395055418976786773976349954754300620813631812726971943452324710073075011637809241689618774671957085452693633714187366571032777637594963154320891209570080081737177480748046993950480563008561800946241906699986867994693380243007521938028315319925060600292089670994907758451371995990285509831592661344964789060363022242386014661377353685580759272398764003465608639266063728847264727660398760724806406565575365597776989159383150326431064397079663167655798079433217635691716313670619268426199180273874467017999902680272494202531089366207 11193553622188407165768867374935889084580598115993330125154936161538795394716260787927725740365230181666329986772063807767681151721376118512667615874841419687493635239731162807229954670816247447059065042250371877407465511499029967048689556105853317727551211846654133018321132290287593554420818497337903293493144221589580693477089221479170235691033443892460486753783092379332921361207217782092155560968764838011760717200132664716699283582259579621630672973505661199698417508553063693862834697557673451120644903318540143550391536579091386053659381455220712854051964425692756749083265644407568741301059437944999774980305094386212266248335225368814041460996114109007452694414061719723837699240482525668726778893710988985951995870081241827002566957783067015187959996685169813264297791518582358682577237524612759146600813714858346075778909946083184005531001415804354028639053461332498949973094150016504098642835069881829218056392999292752507004285442316598913727733975943119156643940756730195496355414404657827457350085048979481139779373824739493582702822241064572567424091289621023292301494191860691153042921129792092750979757665100136236268495740250591187982148631217386513456653990902880744304589807834596453262718105201288412398188519239591733204964480640840385222224695949560024733100299833759748259245180264922900317926259934722532053884387732869325079611372344754231393418308559626126316211511215400464863722372802849920223816332579122971550101691744097062318944492173029031210842656672652267794638227474596832525031609387769822053535331547211481169474702497586828274408490206808406241236636157309341256582870062402108214502775085215281161446952751859947429676235263207099674057296406945294342521434853074897975488142714401129251940527635425109742394615887571 18111550215595341928177656284712511713675205827907818869704518250555340597650642820960410465489240084930473127359335160539709119574784233682245731213173058157429448513403332016441171479018425319093616193439038544374193358256947157558118090903003049213688261185503185476824892031011389560388131399725589321149648609749884415858901509537146882007112467931108960902869500573702352995667458083339617659888078694502005262776431390741988796008217316245123374869165687943717586122216508569867736337905579919162936007237283146510460854043765113481965745695075289644712372317886146377008487739956674503678816250879138111163547074402992796731669385345099253428958498657626683053288085159687859175847714404999986277524137332268668424780936415988220774100218829071403060886486899764633573554597946756637387950555189479298530757158956501741402698452985691220692339131468802323068085354254805312542496827310148834260898315902633974500867409968063737548130782888625708326391705124890847580995530539139546340908428253650346150169147066657372947268789320813809538615116859752035223865191593690232003550420360552567346695827183072553133174384711200330760282944658449896007831384717682555804216415315824727899128781982394593231563175851119526971680914295010709991738456990795139522845509581372751705043752158469821334256818074164589936700931891807984747518101920235896112389009939717385714309518129706208053388991963447458814202935811411721170058239279109839544795071987104584256972807492954091811134746343647175553089599470587118034863202049114786842595694569453867184136079851272409033680888970811871849875902221038188521310530461162833020909340660580878938436112135010273860740632342870267329855375840162930034237748523694166401687322988275596269940430315697603944925705253778 29305103837783749093946523659648400798255803943901148994859454412094135992366903608888136205854470266596803114131398968307390271296160352194913347088014477844923083753134494823671126149834672766152681235689410421781658869755977124606807647008856366941239473032157318495146024321298983114808949897063492614642792831339465109335990731016317117698145911823569447656652592953035274356874675865431773220856843532513765979976564055458688079590476895866754047842671349143416003630769572263730571035463253370283580910555823290060852390622856499535625127150296002498764336743578903126091753384364243244979875688824137886143852168789205062980004610713913294889954612766634135747702146879411696875088196930668713056417848321254620420651017657815223341058001896086591020883172069577897871346116529115319965188079802238445131570873814847817181608399068875226223340547273156351707138815587304262515590977326652932903733385784463192557260409260816244552416225205224622054125681068010004224936287269335042696322832911477803500254196046138512726642614060307392241437357924324602647956481214713524305044612221243720389616956975165304112932049811336567028778684909041083989980015935069069260870406218705472203718589816991046494281281052407939369869433534602443196702937631635524745070205530932776438144051992229569593501998339087490254627191826530516801402489653105221192000382284471617107727826689332334369600503178847923677925308614261641393874571858232811094896763731201646575917299665983123021977403016299443347727826945183950559894811436884608896131026116665348353610782348859237308089379177620278091112538378347529777893400523564941235412115745796160099883064886870221290416867606077367003912672247108224376759183376769064377175465702676725521880957951122713687320321141349 47416654053379091022124179944360912511931009771808967864563972662649476590017546429848546671343710351527276241490734128847099390870944585877159078301187536002352532266537826840112297628853098085246297429128448966155852228012924282164925737911859416154927734217660503971970916352310372675197081296789081935792441441089349525194892240553463999705258379754678408559522093526737627352542133948771390880744922227015771242752995446200676875598694212111877422711837037087133589752986080833598307373368833289446516917793106436571313244666621613017590872845371292143476709061465049503100241124320917748658691939703275997307399243192197859711673996059012548318913111424260818800990232039099556050935911335668699333941985653523288845431954073803444115158220725157994081769658969342531444900714475871957353138634991717743662328032771349558584306852054566446915679678741958674775224169842109575058087804636801767164631701687097167058127819228879982100547008093850330380517386192900851805931817808474589037231261165128149650423343112795885673911403381121201780052474784076637871821672808403756308595032581796287736312784158237857246106434522536897789061629567490979997811400652751625065086821534530200102847371799385639725844456903527466341550347829613153188441394622430664267915715112305528143187804150699390927758816413252080191328123718338501548920591573341117304389392224189002822037344819038542422989495142295382492128244425673362563932811137342650639691835718306230832890107158937214833112149359946618900817426415771068594758013485999395738726720686119215537746862200131646341770268148432149940988440599385718299203930984727774256321456406377039038319177021880495151157499948947634333768048087271154410996931900463230778862788690952321791821388266820317632246026395127 76721757891162840116070703604009313310186813715710116859423427074743612582384450038736682877198180618124079355622133097154489662167104938072072425389202013847275616019672321663783423778687770851398978664817859387937511097768901406771733384920715783096167207249817822467116940673609355790006031193852574550435234272428814634530882971569781117403404291578247856216174686479772901709416809814203164101601765759529537222729559501659364955189171107978631470554508386230549593383755653097328878408832086659730097828348929726632165635289478112553215999995667294642241045805043952629191994508685160993638567628527413883451251411981402922691678606772925843208867724190894954548692378918511252926024108266337412390359833974777909266082971731618667456216222621244585102652831038920429316246831004987277318326714793956188793898906586197375765915251123441673139020226015115026482362985429413837573678781963454700068365087471560359615388228489696226652963233299074952434643067260910856030868105077809631733554094076605953150677539158934398400554017441428594021489832708401240519778154023117280613639644803040008125929741133403161359038484333873464817840314476532063987791416587820694325957227753235672306565961616376686220125737955935405711419781364215596385144332254066189012985920643238304581331856142928960521260814752339570445955315544869018350323081226446338496389774508660619929765171508370876792589998321143306170053553039935003957807382995575461734588599449507877408807406824920337855089552376246062248545253360955019154652824922884004634857746802784563891357644548990883649859647326052428032100978977733248077097331508292715491733572152173199138202241908750716441574367555025001337680720334379378787756115277232295156038254393629047313702346217943031319566347536476 124138411944541931138194883548370225822117823487519084723987399737393089172401996468585229548541890969651355597112867226001589053038049523949231503690389549849628148286210148503895721407540868936645276093946308354093363325781825688936659122832575199251094941467478326439087857025919728465203112490641656486227675713518164159725775212123245117108662671332926264775696780006510529061958943762974554982346687986545308465482554947860041830787865320090508893266345423317683183136741733930927185782200919949176614746142036163203478879956099725570806872841038586785717754866509002132292235633006078742297259568230689880758650655173600782403352602831938391527780835615155773349682610957610808976960019602006111724301819628301198111514925805422111571374443346402579184422490008262960761147545480859234671465349785673932456226939357546934350222103178008120054699904757073701257587155271523412631766586600256467232996789158657526673516047718576208753510241392925282815160453453811707836799922886284220770785355241734102801100882271730284074465420822549795801542307492477878391599826831521036922234677384836295862242525291641018605144918856410362606901944044023043985602817240572319391044049287765872409413333415762325945970194859462872052970129193828749573585726876496853280901635755543832724519660293628351449019631165591650637283439263207519899243672799787455800779166732849622751802516327409419215579493463438688662181797465608366521740194132918112374280435167814108241697513983857552688201701736192681149362679776726087749410838408883400373584467488903779429104506749122529991629915474484577973089419577118966376301262493020489748055028558550238176521418930631211592731867503972635671448768421650533198753047177695525934901043084581369105523734484763348951812373931603 200860169835704771254265587152379539132304637203229201583410826812136701754786446507321912425740071587775434952735000323156078715205154462021303929079591563696903764305882470167679145186228639788044254758764167742030874423550727095708392507753290982347262148717296148906204797699529084255209143684494231036662909985946978794256658183693026234512066962911174120991871466486283430771375753577177719083948453746074845688212114449519406785977036428069140363820853809548232776520497387028256064191033006608906712574490965889835644515245577838124022872836705881427958800671552954761484230141691239735935827196758103764209902067155003705095031209604864234736648559806050727898374989876122061902984127868343524114661653603079107377597897537040779027590665967647164287075321047183390077394376485846511989792064579630121250125845943744310116137354301449793193720130772188727739950140700937250205445368563711167301361876630217886288904276208272435406473474692000235249803520714722563867668027964093852504339449318340055951778421430664682475019438263978389823032140200879118911377980854638317535874322187876303988172266425044179964183403190283827424742258520555107973394233828393013717001277041001544715979295032139012166095932815398277764389910558044345958730059130563042293887556398782137305851516436557311970280445917931221083238754808076538249566754026233794297168941241510242681567687835780296008169491784581994832235350505543370479547577128493574108869034617321985650504920808777890543291254112438743397907933137681106904063663331767405008442214291688343320462151298113413641489562800537006005190398554852214453398594001313205239788600710723437314723660839381928034306235058997637009129488756029911986509162454927821090939297478210416419226080702706380271378721468079 324998581780246702392460470700749764954422460690748286307398226549529790927188442975907141974281962557426790549847867549157667768243203985970535432769981113546531912592092618671574866593769508724689530852710476096124237749332552784645051630585866181598357090184774475345292654725448812720412256175135887522890585699465142953982433395816271351620729634244100385767568246492793959833334697340152274066295141732620154153694669397379448616764901748159649257087199232865915959657239120959183249973233926558083327320633002053039123395201677563694829745677744468213676555538061956893776465774697318478233086764988793644968552722328604487498383812436802626264429395421206501248057600833732870879944147470349635838963473231380305489112823342462890598965109314049743471497811055446350838541921966705746661257414365304053706352785301291244466359457479457913248420035529262428997537295972460662837211955163967634534358665788875412962420323926848644159983716084925518064963974168534271704467950850378073275124804560074158752879303702394966549484859086528185624574447693356997302977807686159354458108999572712599850414791716685198569328322046694190031644202564578151958997051068965333108045326328767417125392628447901338112066127674861149817360039751873095532315786007059895574789192154325970030371176730185663419300077083522871720522194071284058148810426826021250097948107974359865433370204163189715223748985248020683494417147971151737001287771261411686483149469785136093892202434792635443231492955848631424547270612914407194653474501740650805382026681780592122749566658047235943633119478275021583978279818131971180829699856494333694987843629269273675491245079770013139627038102562970272680578257177680445185262209632623347025840340562791785524749815187469729223191095399682 525858751615951473646726057853129304086727097893977487890809053361666492681974889483229054400022034145202225502582867872313746483448358447991839361849572677243435676897975088839254011779998148512733785611474643838155112172883279880353444138339157163945619238902070624251497452424977896975621399859630118559553495685412121748239091579509297586132796597155274506759439712979077390604710450917329993150243595478694999841906783846898855402741938176228789620908053042414148736177736507987439314164266933166990039895123967942874767910447255401818852618514450349641635356209614911655260695916388558214168913961746897409178454789483608192593415022041666861001077955227257229146432590709854932782928275338693159953625126834459412866710720879503669626555775281696907758573132102629740915936298452552258651049478944934174956478631245035554582496811780907706442140166301451156737487436673397913042657323727678801835720542419093299251324600135121079566457190776925753314767494883256835572135978814471925779464253878414214704657725133059649024504297350506575447606587894236116214355788540797671993983321760588903838587058141729378533511725236978017456386461085133259932391284897358346825046603369768961841371923480040350278162060490259427581749950309917441491045845137622937868676748553108107336222693166742975389580523001454092803760948879360596398377180852255044395117049215870108114937891998970011231918477032602678326652498476695107480835348389905260592018504402458079542707355601413333774784209961070167945178546052088301557538165072418210390468896072280466070028809345349357274609041075558589983470216686823395283098450495646900227632229979997112805968740609395067661344337621967909689707745933710357171771372087551168116779638041002201943975895890176109494569816867761 850857333396198176039186528553879069041149558584725774198207279911196283609163332459136196374303996702629016052430735421471414251691562433962374794619553790789967589490067707510828878373767657237423316464185119934279349922215832664998495768925023345543976329086845099596790107150426709696033656034766006082444081384877264702221524975325568937753526231399374892527007959471871350438045148257482267216538737211315153995601453244278304019506839924388438877995252275280064695834975628946622564137500859725073367215756969995913891305648932965513682364192194817855311911747676868549037161691085876692402000726735691054147007511812212680091798834478469487265507350648463730394490191543587803662872422809042795792588600065839718355823544221966560225520884595746651230070943158076091754478220419258005312306893310238228662831416546326799048856269260365619690560201830713585735024732645858575879869278891646436370079208207968712213744924061969723726440906861851271379731469051791107276603929664849999054589058438488373457537028835454615573989156437034761072181035587593113517333596226957026452092321333301503689001849858414577102840047283672207488030663649711411891388335966323679933091929698536378966764551927941688390228188165120577399109990061790537023361631144682833443465940707434077366593869896928638808880600084976964524283142950644654547187607678276294493065157190229973548308096162159726455667462280623361821069646447846844482123119651316947075167974187594173434909790394048777006277165809701592492449158966495496211012666813069015772495577852872588819595467392585300907728519350580173961750034818794576112798306989980595215475859249270788297213820379408207288382440184938182370286003111390802357033581720174515142619978603793987468725711077645838717760912267443 1376716085012149649685912586407008373127876656478703262089016333272862776291138221942365250774326030847831241555013603293785160735139920881954214156469126468033403266388042796350082890153765805750157102075659763772434462095099112545351939907264180509489595567988915723848287559575404606671655055894396124641997577070289386450460616554834866523886322828554649399286447672450948741042755599174812260366782332690010153837508237091177159422248778100617228498903305317694213432012712136934061878301767792892063407110880937938788659216096188367332534982706645167496947267957291780204297857607474434906570914688482588463325462301295820872685213856520136348266585305875720959540922782253442736445800698147735955746213726900299131222534265101470229852076659877443558988644075260705832670414518871810263963356372255172403619310047791362353631353081041273326132700368132164742472512169319256488922526602619325238205799750627062011465069524197090803292898097638777024694498963935047942848739908479321924834053312316902588162194753968514264598493453787541336519787623481829229731689384767754698446075643093890407527588908000143955636351772520650224944417124734844671823779620863682026758138533068305340808136475407982038668390248655380004980859940371707978514407476282305771312142689260542184702816563063671614198461123086431057328044091830005250945564788530531338888182206406100081663245988161129737687585939313226040147722144924541951962958468041222207667186478590052252977617145995462110781061375770771760437627705018583797768550831885487226162964473925153054889624276737934658182337560426138763945220251505617971395896757485627495443108089229267901103182560988803274949726777806906092059993749045101159528804953807725683259399616644796189412701606967821948212330729135204 2227573418408347825725099114960887442169026215063429036287223613184059059900301554401501447148630027550460257607444338715256574986831483315916588951088680258823370855878110503860911768527533462987580418539844883706713812017314945210350435676189203855033571897075760823445077666725831316367688711929162130724441658455166651152682141530160435461639849059954024291813455631922820091480800747432294527583321069901325307833109690335455463441755618025005667376898557592974278127847687765880684442439268652617136774326637907934702550521745121332846217346898839985352259179704968648753335019298560311598972915415218279517472469813108033552777012690998605835532092656524184689935412973797030540108673120956778751538802326966138849578357809323436790077597544473190210218715018418781924424892739291068269275663265565410632282141464337689152680209350301638945823260569962878328207536901965115064802395881510971674575878958835030723678814448259060527019339004500628296074230432986839050125343838144171923888642370755390961619731782803968880172482610224576097591968659069422343249022980994711724898167964427191911216590757858558532739191819804322432432447788384556083715167956830005706691230462766841719774901027335923727058618436820500582379969930433498515537769107426988604755608629967976262069410432960600253007341723171408021852327234780649905492752396208807633381247363596330055211554084323289464143253401593849401968791791372388796445081587692539154742354452777646426412526936389510887787338541580473352930076863985079293979563498698556241935460051778025643709219744130519959090066079776718937906970286324412547508695064475608090658583948478538689400396381368211482238109217991844274430279752156491961885838535527900198402019595248590176881427318045467786930091641402647 3604289503420497475411011701367895815296902871542132298376239946456921836191439776343866697922956058398291499162457942009041735721971404197870803107557806726856774122266153300210994658681299268737737520615504647479148274112414057755702375583453384364523167465064676547293365226301235923039343767823558255366439235525456037603142758084995301985526171888508673691099903304373768832523556346607106787950103402591335461670617927426632622864004396125622895875801862910668491559860399902814746320741036445509200181437518845873491209737841309700178752329605485152849206447662260428957632876906034746505543830103700867980797932114403854425462226547518742183798677962399905649476335756050473276554473819104514707285016053866437980800892074424907019929674204350633769207359093679487757095307258162878533239019637820583035901451512129051506311562431342912271955960938095043070680049071284371553724922484130296912781678709462092735143883972456151330312237102139405320768729396921886992974083746623493848722695683072293549781926536772483144770976064012117434111756282551251572980712365762466423344243607521082318744179665858702488375543592324972657376864913119400755538947577693687733449368995835147060583037502743905765727008685475880587360829870805206494052176583709294376067751319228518446772226996024271867205802846257839079180371326610655156438317184739338972269429570002430136874800072484419201830839340907075442116513936296930748408040055733761362409540931367698679390144082384972998568399917351245113367704569003663091748114330584043468098424525703178698598844020868454617272403640202857701852190537830030518904591821961235586101692037707806590503578942357014757187835995798750366490273501201593121414643489335625881661419211893386366294128925013289735142422370537851 5831862921828845301136110816328783257465929086605561334663463559640980896091741330745368145071586085948751756769902280724298310708802887513787392058646486985680144978144263804071906427208832731725317939155349531185862086129729002966052811259642588219556739362140437370738442893027067239407032479752720386090880893980622688755824899615155737447166020948462697982913358936296588924004357094039401315533424472492660769503727617762088086305760014150628563252700420503642769687708087668695430763180305098126336955764156753808193760259586431033024969676504325138201465627367229077710967896204595058104516745518919147498270401927511887978239239238517348019330770618924090339411748729847503816663146940061293458823818380832576830379249883748343810007271748823823979426074112098269681520199997453946802514682903385993668183592976466740658991771781644551217779221508057921398887585973249486618527318365641268587357557668297123458822698420715211857331576106640033616842959829908726043099427584767665772611338053827684511401658319576452024943458674236693531703724941620673916229735346757178148242411571948274229960770423717261021114735412129295089809312701503956839254115534523693440140599458601988780357938530079829492785627122296381169740799801238705009589945691136282980823359949196494708841637428984872120213144569429247101032698561391305061931069580948146605650676933598760192086354156807708665974092742500924844085305727669319544853121643426300517151895384145345105802671018774483886355738458931718466297781432988742385727677829282599710033884577481204342308063764998974576362469719979576639759160824154443066413286886436843676760275986186345279903975323725226239425945213790594640920553253358085083300482024863526080063438807141976543175556243058757522072514011940498 9436152425249342776547122517696679072762831958147693633039703506097902732283181107089234842994542144347043255932360222733340046430774291711658195166204293712536919100410417104282901085890132000463055459770854178665010360242143060721755186843095972584079906827205113918031808119328303162446376247576278641457320129506078726358967657700151039432692192836971371674013262240670357756527913440646508103483527875083996231174345545188720709169764410276251459128502283414311261247568487571510177083921341543635537137201675599681684969997427740733203722006109810291050672075029489506668600773110629804610060575622620015479068334041915742403701465786036090203129448581323995988888084485897977093217620759165808166108834434699014811180141958173250829936945953174457748633433205777757438615507255616825335753702541206576704085044488595792165303334212987463489735182446152964469567635044533858172252240849771565500139236377759216193966582393171363187643813208779438937611689226830613036073511331391159621334033736899978061183584856348935169714434738248810965815481224171925489210447712519644571586655179469356548704950089575963509490279004454267747186177614623357594793063112217381173589968454437135840940976032823735258512635807772261757101629672043911503642122274845577356891111268425013155613864425009143987418947415687086180213069888001960218369386765687485577920106503601190328961154229292127867804932083408000286201819663966250293261161699160061879561436315513043785192815101159456884924138376282963579665486001992405477475792159866643178132309103184383040906907785867429193634873360182434341611351361984473585317878708398079262861968023894151870407554266082240996613781209589345007410826754559678204715125514199151961724858019035362909469685168072047257214936382478349 15268015347078188077683233334025462330228761044753254967703167065738883628374922437834602988066128230295795012702262503457638357139577179225445587224850780698217064078554680908354807513098964732188373398926203709850872446371872063687807998102738560803636646189345551288770251012355370401853408727328999027548201023486701415114792557315306776879858213785434069656926621176966946680532270534685909419016952347576657000678073162950808795475524424426880022381202703917954030935276575240205607847101646641761874092965832353489878730257014171766228691682614135429252137702396718584379568669315224862714577321141539162977338735969427630381940705024553438222460219200248086328299833215745480909880767699227101624932652815531591641559391841921594639944217701998281728059507317876027120135707253070772138268385444592570372268637465062532824295105994632014707514403954210885868455221017783344790779559215412834087496794046056339652789280813886575044975389315419472554454649056739339079172938916158825393945371790727662572585243175925387194657893412485504497519206165792599405440183059276822719829066751417630778665720513293224530605014416583562836995490316127314434047178646741074613730567913039124621298914562903564751298262930068642926842429473282616513232067965981860337714471217621507864455501853994016107632091985116333281245768449393265280300456346635632183570783437199950521047508386099836533779024825908925130287125391635569838114283342586362396713331699658388890995486119933940771279876835214682045963267434981147863203469989149242888166193680665587383214971550866403769997343080162010981370512186138916651731165594834922939622244010080497150311529589807467236039726423379939648331380007917763288015607539062678041788296826177339452645241411130804779287450394418847 24704167772327530854230355851722141402991593002900948600742870571836786360658103544923837831060670374642838268634622726190978403570351470937103782391055074410753983178965098012637708598989096732651428858697057888515882806614015124409563184945834533387716553016550665206802059131683673564299784974905277669005521152992780141473760215015457816312550406622405441330939883417637304437060183975332417522500480222660653231852418708139529504645288834703131481509704987332265292182845062811715784931022988185397411230167507953171563700254441912499432413688723945720302809777426208091048169442425854667324637896764159178456407070011343372785642170810589528425589667781572082317187917701643458003098388458392909791041487250230606452739533800094845469881163655172739476692940523653784558751214508687597474022087985799147076353681953658324989598440207619478197249586400363850338022856062317202963031800065184399587636030423815555846755863207057938232619202524198911492066338283569952115246450247549985015279405527627640633768828032274322364372328150734315463334687389964524894650630771796467291415721930886987327370670602869188040095293421037830584181667930750672028840241758958455787320536367476260462239890595727300009810898737840904683944059145326528016874190240827437694605582486046521020069366279003160095051039400803419461458838337395225498669843112323117761490889940801140850008662615391964401583956909316925416488945055601820131375445041746424276274768015171432676188301221093397656204015211497645625628753436973553340679262149015886066298502783849970424121879336733832963632216440344445322981863548123390237049044303233002202484212033974649020719083855889708232653507632969284655742206762477441492730733053261830003513154845212702362114926579202852036502386776897196 39972183119405718931913589185747603733220354047654203568446037637575669989033025982758440819126798604938633281336885229648616760709928650162549369615905855108971047257519778920992516112088061464839802257623261598366755252985887188097371183048573094191353199205896216495572310144039043966153193702234276696553722176479481556588552772330764593192408620407839510987866504594604251117592454510018326941517432570237310232530491871090338300120813259130011503890907691250219323118121638051921392778124634827159285323133340306661442430511456084265661105371338081149554947479822926675427738111741079530039215217905698341433745805980771003167582875835142966648049886981820168645487750917388938912979156157620011415974140065762198094298925642016440109825381357171021204752447841529811678886921761758369612290473430391717448622319418720857813893546202251492904763990354574736206478077080100547753811359280597233675132824469871895499545144020944513277594591839618384046520987340309291194419389163708810409224777318355303206354071208199709559030221563219819960853893555757124300090813831073290011244788682304618106036391116162412570700307837621393421177158246877986462887420405699530401051104280515385083538805158630864761109161667909547610786488618609144530106258206809298032320053703668028884524868132997176202683131385919752742704606786788490778970299458958749945061673378001091371056171001491800935362981735225850546776070447237389969489728384332786672988099714829821567183787341027338427483892046712327671592020871954701203882732138165128954464696464515557807336850887600236733629559520506456304352375734262306888780209898067925142106456044055146171030613445697175468693234056349224304073586770395204780746340592324508045301451671390041814760167990333656815789837171316043 64676350891733249786143945037469745136211947050555152169188908209412456349691129527682278650187468979581471549971507955839595164280280121099653152006960929519725030436484876933630224711077158197491231116320319486882638059599902312506934367994407627579069752222446881702374369275722717530452978677139554365559243329472261698062312987346222409504959027030244952318806388012241555554652638485350744464017912792897963464382910579229867804766102093833142985400612678582484615300966700863637177709147623012556696553300848259833006130765897996765093519060062026869857757257249134766475907554166934197363853114669857519890152875992114375953225046645732495073639554763392250962675668619032396916077544616012921207015627315992804547038459442111285579706545012343760681445388365183596237638136270445967086312561416190864524976001372379182803491986409870971102013576754938586544500933142417750716843159345781633262768854893687451346301007228002451510213794363817295538587325623879243309665839411258795424504182845982943840122899240474031923402549713954135424188580945721649194741444602869757302660510613191605433407061719031600610795601258659224005358826177628658491727662164657986188371640647991645545778695754358164770920060405750452294730547763935672546980448447636735726925636189714549904594234412000336297734170786723172204163445124183716277640142571281867706552563318802232221064833616883765336946938644542775963265015502839210100865173426079210949262867730001254243372088562120736083687907258209973297220774308928254544561994287181015020763199248365528231458730224334069697261775960850901627334239282385697125829254201300927344590668078029795191749697301586883701346741689318508959815793532872646273477073645586338048814606516602744176875094569536508852292223948213239 104648534011138968718057534223217348869432301098209355737634945846988126338724155510440719469314267584520104831308393185488211924990208771262202521622866784628696077694004655854622740823165219662331033373943581085249393312585789500604305551042980721770422951428343098197946679419761761496606172379373831062112965505951743254650865759676987002697367647438084463306672892606845806672245092995369071405535345363135273696913402450320206104886915352963154489291520369832703938419088338915558570487272257839715981876434188566494448561277354081030754624431400108019412704737072061441903645665908013727403068332575555861323898681972885379120807922480875461721689441745212419608163419536421335829056700773632932622989767381755002641337385084127725689531926369514781886197836206713407916525058032204336698603034846582581973598320791100040617385532612122464006777567109513322750979010222518298470654518626378866937901679363559346845846151248946964787808386203435679585108312964188534504085228574967605833728960164338247046476970448673741482432771277173955385042474501478773494832258433943047313905299295496223539443452835194013181495909096280617426535984424506644954615082570357516589422744928507030629317500912989029532029222073659999905517036382544817077086706654446033759245689893382578789119102544997512500417302172642924946868051910972207056610442030240617651614236696803323592121004618375566272309920379768626510041085950076600070354901810411997622250967444831075810555875903148074511171799304922300968812795180882955748444726425346143975227895712881086038795581111934306430891335481357357931686615016648004014609464099368852486697124122084941362780310747284059170039975745667733263889380303267851054223414237910846094116058187992785991635262559870165668082061119529282 169324884902872218504201479260687094005644248148764507906823854056400582688415285038122998119501736564101576381279901141327807089270488892361855673629827714148421108130489532788252965534242377859822264490263900572132031372185691813111239919037388349349492703650789979900321048695484479027059151056513385427672208835424004952713178747023209412202326674468329415625479280619087362226897731480719815869553258156033237161296313029550073909653017446796297474692133048415188553720055039779195748196419880852272678429735036826327454692043252077795848143491462134889270461994321196208379553220074947924766921447245413381214051557964999755074032969126607956795328996508604670570839088155453732745134245389645853830005394697747807188375844526239011269238471381858542567643224571897004154163194302650303784915596262773446498574322163479223420877519021993435108791143864451909295479943364936049187497677972160500200670534257246798192147158476949416298022180567252975123695638588067777813751067986226401258233143010321190886599869689147773405835320991128090809231055447200422689573703036812804616565809908687828972850514554225613792291510354939841431894810602135303446342744735015502777794385576498676175096196667347194302949282479410452200247584146480489624067155102082769486171326083097128693713336956997848798151472959366097151031497035155923334250584601522485358166800015605555813185838235259331609256859024311402473306101452915810171220075236491208571513835174832330053927964465268810594859706563132274266033569489811210293006720712527158995991094961246614270254311336268376128153111442208259559020854299033701140438718300669779831287792200114736554530008048870942871386717434986242223705173836140497327700487883497184142930664704595530168510357129406674520374285067742521 273973418914011187222259013483904442875076549246973863644458799903388709027139440548563717588816004148621681212588294326816019014260697663624058195252694498777117185824494188642875706357407597522153297864207481657381424684771481313715545470080369071119915655079133078098267728115246240523665323435887216489785174341375748207364044506700196414899694321906413878932152173225933168899142824476088887275088603519168510858209715479870280014539932799759451963983653418247892492139143378694754318683692138691988660306169225392821903253320606158826602767922862242908683166731393257650283198885982961652169989779820969242537950239937885134194840891607483418517018438253817090179002507691875068574190946163278786452995162079502809829713229610366736958770397751373324453841060778610412070688252334854640483518631109356028472172642954579264038263051634115899115568710973965232046458953587454347658152196598539367138572213620806145037993309725896381085830566770688654708803951552256312317836296561194007091962103174659437933076840137821514888268092268302046194273529948679196184405961470755851930471109204184052512293967389419626973787419451220458858430795026641948400957827305373019367217130505005706804413697580336223834978504553070452105764620529025306701153861756528803245417015976479707482832439501995361298568775132009022097899548946128130390861026631763103009781036712408879405306842853634897881566779404080028983347187402992410241574977046903206193764802619663405864483840368416885106031505868054575234846364670694166041451447137873302971218990674127700309049892448202682559044446923565617490707469315681705155048182400038632317984916322199677917310318796155002041426693180653975487594554139408348381923902121408030237046722892588316160145619689276840188456346187271803 443298303816883405726460492744591536880720797395738371551282653959789291715554725586686715708317740712723257593868195468143826103531186555985913868882522212925538293954983721431128671891649975381975562354471382229513456056957173126826785389117757420469408358729923057998588776810730719550724474492400601917457383176799753160077223253723405827102020996374743294557631453845020531126040555956808703144641861675201748019506028509420353924192950246555749438675786466663081045859198418473950066880112019544261338735904262219149357945363858236622450911414324377797953628725714453858662752106057909576936911227066382623752001797902884889268873860734091375312347434762421760749841595847328801319325191552924640283000556777250617018089074136605748228008869133231867021484285350507416224851446637504944268434227372129474970746965118058487459140570656109334224359854838417141341938896952390396845649874570699867339242747878052943230140468202845797383852747337941629832499590140324090131587364547420408350195246184980628819676709826969288294103413259430137003504585395879618873979664507568656547036919112871881485144481943645240766078929806160300290325605628777251847300572040388522145011516081504382979509894247683418137927787032480904306012204675505796325221016858611572731588342059576836176545776458993210096720248091375119248931045981284053725111611233285588367947836728014435218492681088894229490823638428391431456653288855908220412795052283394414765278637794495735918411804833685695700891212431186849500879934160505376334458167850400461967210085635374314579304203784471058687197558365773877049728323614715406295486900700708412149272708522314414471840326845025944912813410615640217711299727975548845709624390004905214379977387597183846328655976818683514708830631255014324 717271722730894592948719506228495979755797346642712235195741453863178000742694166135250433297133744861344938806456489794959845117791884219609972064135216711702655479779477910074004378249057572904128860218678863886894880741728654440542330859198126491589324013809056136096856504925976960074389797928287818407242557518175501367441267760423602242001715318281157173489783627070953700025183380432897590419730465194370258877715743989290633938732883046315201402659439884910973537998341797168704385563804158236249999042073487611971261198684464395449053679337186620706636795457107711508945950992040871229106901006887351866289952037840770023463714752341574793829365873016238850928844103539203869893516137716203426735995718856753426847802303746972485186779266884605191475325346129117828295539698972359584751952858481485503442919608072637751497403622290225233339928565812382373388397850539844744503802071169239234477814961498859088268133777928742178469683314108630284541303541692580402449423661108614415442157349359640066752753549964790803182371505527732183197778115344558815058385625978324508477508028317055933997438449333064867739866349257380759148756400655419200248258399345761541512228646586510089783923591828019641972906291585551356411776825204531103026374878615140375977005358036056543659378215960988571395289023223384141346830594927412184115972637865048691377728873440423314623799523942529127372390417832471460440000476258900630654370029330297620959043440414159141782895645202102580806922718299241424735726298831199542375909614988273764938429076309502014888354096232673741246242005289339494540435792930397111450535083100747044467257624844514092389150645641180946954240103796294193198894282114957194091548292126313244617024110489772162488801596507960354897286977442286127 1160570026547777998675179998973087516636518144038450606747024107822967292458248891721937149005451485574068196400324685263103671221323070775595885933017738924628193773734461631505133050140707548286104422573150246116408336798685827567369116248315883912058732372538979194095445281736707679625114272420688420324699940694975254527518491014147008069103736314655900468047415080915974231151223936389706293564372326869572006897221772498710987862925833292870950841335226351574054583857540215642654452443916177780511337777977749831120619144048322632071504590751510998504590424182822165367608703098098780806043812233953734490041953835743654912732588613075666169141713307778660611678685699386532671212841329269128067018996275634004043865891377883578233414788136017837058496809631479625244520391145609864529020387085853614978413666573190696238956544192946334567564288420650799514730336747492235141349451945739939101817057709376912031498274246131587975853536061446571914373803131832904492581011025656034823792352595544620695572430259791760091476474918787162320201282700740438433932365290485893165024544947429927815482582931276710108505945279063541059439082006284196452095558971386150063657240162668014472763433486075703060110834078618032260717789029880036899351595895473751948708593700095633379835923992419981781492009271314759260595761640908696237841084249098334279745676710168437749842292205031423356863214056260862891896653765114808851067165081613692035724322078208654877701307450035788276507813930730428274236606232991704918710367782838674226905639161944876329467658300017144799933439563655113371590164116545112517746021983801455456616530333366828506860990972486206891867053514411934410910194010090506039801172682131218458997001498086956008817457573326643869606117608697300451 1877841749278672591623899505201583496392315490681162841942765561686145293200943057857187582302585230435413135206781175058063516339114954995205857997152955636330849253513939541579137428389765121190233282791829110003303217540414482007911447107514010403648056386348035330192301786662684639699504070348976238731942498213150755894959758774570610311105451632937057641537198707986927931176407316822603883984102792063942265774937516488001621801658716339186152243994666236485028121855882012811358838007720336016761336820051237443091880342732787027520558270088697619211227219639929876876554654090139652035150713240841086356331905873584424936196303365417240962971079180794899462607529802925736541106357466985331493754991994490757470713693681630550718601567402902442249972134977608743072815930844582224113772339944335100481856586181263333990453947815236559800904216986463181888118734598032079885853254016909178336294872670875771119766408024060330154323219375555202198915106673525484895030434686764649239234509944904260762325183809756550894658846424314894503399060816084997248990750916464217673502052975746983749480021380609774976245811628320921818587838406939615652343817370731911605169468809254524562547357077903722702083740370203583617129565855084568002377970774088892324685599058131689923495302208380970352887298294538143401942592235836108421957056886963382971123405583608861064466091728973952484235604474093334352336654241373709481721535110943989656683365518622814019484203095237890857314736649029669698972332531822904461086277397826947991844068238254378344356012396249818541179681568944452866130599909475509629196557066902202501083787958211342599250141618127387838821293618208228604109088292205463233892720974257531703614025608576728171306259169834604224503404586139586578 3038411775826450590299079504174671013028833634719613448689789669509112585659191949579124731308036716009481331607105860321167187560438025770801743930170694560959043027248401173084270478530472669476337705364979356119711554339100309575280563355829894315706788758887014524287747068399392319324618342769664659056642438908126010422478249788717618380209187947592958109584613788902902162327631253212310177548475118933514272672159288986712609664584549632057103085329892588059082705713422228454013290451636513797272674598028987274212499486781109659592062860840208617715817643822752042244163357188238432841194525474794820846373859709328079848928891978492907132112792488573560074286215502312269212319198796254459560773988270124761514579585059514128952016355538920279308468944609088368317336321990192088642792727030188715460270252754454030229410492008182894368468505407113981402849071345524315027202705962649117438111930380252683151264682270191918130176755437001774113288909805358389387611445712420684063026862540448881457897614069548310986135321343102056823600343516825435682923116206950110838526597923176911564962604311886485084751756907384462878026920413223812104439376342118061668826708971922539035310790563979425762194574448821615877847354884964604901729566669562644273394192758227323303331226200800952134379307565852902662538353876744804659798141136061717250869082293777298814308383934005375841098818530354197244233308006488518332788700192557681692407687596831468897185510545273679133822550579760097973208938764814609379796645180665622218749707400199254673823670696266963341113121132599566237720764026020622146942579050703657957700318291578171106111132590613594730688347132620163015019282302295969273693893656388750162611027106663684180123716743161248094109522194836887029 4916253525105123181922979009376254509421149125400776290632555231195257878860135007436312313610621946444894466813887035379230703899552980766007601927323650197289892280762340714663407906920237790666570988156808466123014771879514791583192010463343904719354845145235049854480048855062076959024122413118640897788584937121276766317438008563288228691314639580530015751121812496889830093504038570034914061532577910997456538447096805474714231466243265971243255329324558824544110827569304241265372128459356849814034011418080224717304379829513896687112621130928906236927044863462681919120718011278378084876345238715635907202705765582912504785125195343910148095083871669368459536893745305238005753425556263239791054528980264615518985293278741144679670617922941822721558441079586697111390152252834774312756565066974523815942126838935717364219864439823419454169372722393577163290967805943556394913055959979558295774406803051128454271031090294252248284499974812556976312204016478883874282641880399185333302261372485353142220222797879304861880794167767416951326999404332910432931913867123414328512028650898923895314442625692496260060997568535705384696614758820163427756783193712849973273996177781177063597858147641883148464278314819025199494976920740049172904107537443651536598079791816359013226826528409181922487266605860391046064480946112580913081755198023025100221992487877386159878774475662979328325334423004447531596569962247862227814510235303501671349091053115454282916669713640511569991137287228789767672181271296637513840882922578492570210593775638453633018179683092516781882292802701544019103851363935496131776139136117605860458784106249789513705361274208740982569509640750828391619128370594501432507586614630646281866225052715240412351429975912995852318612926780976473607 7954665300931573772222058513550925522449982760120389739322344900704370464519326957015437044918658662454375798420992895700397891459991006536809345857494344758248935308010741887747678385450710460142908693521787822242726326218615101158472573819173799035061633904122064378767795923461469278348740755888305556845227376029402776739916258352005847071523827528122973860706426285792732255831669823247224239081053029930970811119256094461426841130827815603300358414654451412603193533282726469719385418910993363611306686016109211991516879316295006346704683991769114854642862507285433961364881368466616517717539764190430728049079625292240584634054087322403055227196664157942019611179960807550274965744755059494250615302968534740280499872863800658808622634278480743000866910024195785479707488574824966401399357794004712531402397091690171394449274931831602348537841227800691144693816877289080709940258665942207413212518733431381137422295772564444166414676730249558750425492926284242263670253326111606017365288235025802023678120411948853172866929489110519008150599747849735868614836983330364439350555248822100806879405230004382745145749325443089847574641679233387239861222570054968034942822886753099602633168938205862574226472889267846815372824275625013777805837104113214180871473984574586336530157754609982874621645913426243948727019299989325717741553339159086817472861570171163458693082859596984704166433241534801728840803270254350746147298935496059353041498740712285751813855224185785249124959837808549865645390210061452123220679567759158192429343483038652887692003353788783745223405923834143585341572127961516753923081715168309518416484424541367684811472406799354577300197987883448554634147652896797401781280508287035032028836079821904096531553692656157100412722448975813360636 12870918826036696954145037522927180031871131885521166029954900131899628343379461964451749358529280608899270265234879931079628595359543987302816947784817994955538827588773082602411086292370948250809479681678596288365741098098129892741664584282517703754416479049357114233247844778523546237372863169006946454633812313150679543057354266915294075762838467108652989611828238782682562349335708393282138300613630940928427349566352899936141072597071081574543613743979010237147304360852030710984757547370350213425340697434189436708821259145808903033817305122698021091569907370748115880485599379744994602593885002906066635251785390875153089419179282666313203322280535827310479148073706112788280719170311322734041669831948799355799485166142541803488293252201422565722425351103782482591097640827659740714155922860979236347344523930625888758669139371655021802707213950194268307984784683232637104853314625921765708986925536482509591693326862858696414699176705062115726737696942763126137952895206510791350667549607511155165898343209828158034747723656877935959477599152182646301546750850453778767862583899721024702193847855696879005206746893978795232271256438053550667618005763767818008216819064534276666231027085847745722690751204086872014867801196365062950709944641556865717469553776390945349756984283019164797108912519286634994791500246101906630823308537182111917694854058048549618571857335259964032491767664539249260437373232502212973961809170799561024390589793827740034730524937826296819116097125037339633317571481358089637061562490337650762639937258677106520710183036881300527105698726535687604445423491897012885699220851285915378875268530791157198516833681008095559869707628634276946253276023491298834288867122917681313895061132537144508882983668569152952731335375756789834243 20825584126968270726367096036478105554321114645641555769277245032603998807898788921467186403447939271353646063655872826780026486819534993839626293642312339713787762896783824490158764677821658710952388375200384110608467424316744993900137158101691502789478112953479178612015640701985015515721603924895252011479039689180082319797270525267299922834362294636775963472534665068475294605167378216529362539694683970859398160685608994397567913727898897177843972158633461649750497894134757180704142966281343577036647383450298648700338138462103909380521989114467135946212769878033549841850480748211611120311424767096497363300865016167393674053233369988716258549477199985252498759253666920338555684915066382228292285134917334096079985039006342462296915886479903308723292261127978268070805129402484707115555280654983948878746921022316060153118414303486624151245055177994959452678601560521717814793573291863973122199444269913890729115622635423140581113853435311674477163189869047368401623148532622397368032837842536957189576463621777011207614653145988454967628198900032382170161587833784143207213139148543125509073253085701261750352496219421885079845898117286937907479228333822786043159641951287376268864196024053608296917224093354718830240625471990076728515781745670079898341027760965531686287142037629147671730558432712878943518519546091232348564861876341198735167715628219713077264940194856948736658200906074050989278176502756563720109108106295620377432088534540025786544380162012082068241056962845889498962961691419541760282242058096808955069280741715759408402186390670084272329104650369831189786995619858529639622302566454224897291752955332524883328306087807450137169905616517725500887423676388096236070147631204716345923897212359048605414537361225310053144057824732603194879 33696502953004967680512133559405285586192246531162721799232145164503627151278250885918935761977219880252916328890752757859655082179078981142443241427130334669326590485556907092569850970192606961761868056878980398974208522414874886641801742384209206543894592002836292845263485480508561753094467093902198466112852002330761862854624792182593998597200761745428953084362903851157856954503086609811500840308314911787825510251961894333708986324969978752387585902612471886897802254986787891688900513651693790461988080884488085409159397607912812414339294237165157037782677248781665722336080127956605722905309770002563998552650407042546763472412652655029461871757735812562977907327373033126836404085377704962333954966866133451879470205148884265785209138681325874445717612231760750661902770230144447829711203515963185226091444952941948911787553675141645953952269128189227760663386243754354919646887917785738831186369806396400320808949498281836995813030140373790203900886811810494539576043739133188718700387450048112355474806831605169242362376802866390927105798052215028471708338684237921975075723048264150211267100941398140755559243113400680312117154555340488575097234097590604051376461015821652935095223109901354019607975297441590845108426668355139679225726387226945615810581537356477036044126320648312468839470951999513938310019792193138979388170413523310652862569686268262695836797530116912769149968570613300249715549735258776694070917277095181401822678328367765821274905099838378887357154087883229132280533172777631397343804548434459717709218000392865929112369427551384799434803376905518794232419111755542525321523417740140276167021486123682081845139768815545697039613245152002447140699699879395070359014754122397659818958344896193114297521029794463005875393200489393029122 54522087079973238406879229595883391140513361176804277568509390197107625959177039807386122165425159151606562392546625584639681568998613974982069535069442674383114353382340731582728615648014265672714256432079364509582675946731619880541938900485900709333372704956315471457279126182493577268816071018797450477591891691510844182651895317449893921431563056382204916556897568919633151559670464826340863380002998882647223670937570888731276900052868875930231558061245933536648300149121545072393043479933037367498635464334786734109497536070016721794861283351632292983995447126815215564186560876168216843216734537099061361853515423209940437525646022643745720421234935797815476666581039953465392089000444087190626240101783467547959455244155226728082125025161229183169009873359739018732707899632629154945266484170947134104838365975258009064905967978628270105197324306184187213341987804276072734440461209649711953385814076310291049924572133704977576926883575685464681064076680857862941199192271755586086733225292585069545051270453382180449977029948854845894733996952247410641869926518022065182288862196807275720340354027099402505911739332822565391963052672627426482576462431413390094536102967109029203959419133954962316525199390796309675349052140345216407741508132897025514151609298322008722331268358277460140570029384712392881828539338284371327953032289864509388030285314487975773101737724973861505808169476687351238993726238015340414180025383390801779254766862907791607819285261850460955598211050729118631243494864197173157626046606531268672778498742108625337514555818221469071763908027275349984019414731614072164943825984194365173458774441456206965173445856622995834209518861669727948028123376267491306429162385327114005742855557255241719712058391019773059019451025221996224001 88218590032978206087391363155288676726705607707966999367741535361611253110455290693305057927402379031859478721437378342499336651177692956124512776496573009052440943867897638675298466618206872634476124488958344908556884469146494767183740642870109915877267296959151764302542611663002139021910538112699648943704743693841606045506520109632487920028763818127633869641260472770791008514173551436152364220311313794435049181189532783064985886377838854682619143963858405423546102404108332964081943993584731157960623545219274819518656933677929534209200577588797450021778124375596881286522641004124822566122044307101625360406165830252487200998058675298775182292992671610378454573908412986592228493085821792152960195068649600999838925449304110993867334163842555057614727485591499769394610669862773602774977687686910319330929810928199957976693521653769916059149593434373414974005374048030427654087349127435450784572183882706691370733521631986814572739913716059254884964963492668357480775236010888774805433612742633181900526077284987349692339406751721236821839795004462439113578265202259987157364585245071425931607454968497543261470982446223245704080207227967915057673696529003994145912563982930682139054642243856316336133174688237900520457478808700356086967234520123971129962190835678485758375394678925772609409500336711906820138559130477510307341202703387820040892855000756238468938535255090774274958138047300651488709275973274117108250942660485983181077445191275557429094190361688839842955365138612347763524028036974804554969851154965728390487716742501491266626925245772853871198711404180868778251833843369614690265349401934505449625795927579889047018585625438541531249132106821730395168823076146886376788177139449511665561813902151434834009579420814236064894844225711389253123 142740677112951444494270592751172067867218968884771276936250925558718879069632330500691180092827538183466041113984003927139018220176306931106582311566015683435555297250238370258027082266221138307190380921037709418139560415878114647725679543356010625210640001915467235759821737845495716290726609131497099421296635385352450228158415427082381841460326874509838786198158041690424160073844016262493227600314312677082272852127103671796262786430707730612850702025104338960194402553229878036474987473517768525459259009554061553628154469747946256004061860940429743005773571502412096850709201880293039409338778844200686722259681253462427638523704697942520902714227607408193931240489452940057620582086265879343586435170433068547798380693459337721949459189003784240783737358951238788127318569495402757720244171857857453435768176903457967041599489632398186164346917740557602187347361852306500388527810337085162737957997959016982420658093765691792149666797291744719566029040173526220421974428282644360892166838035218251445577347738369530142316436700576082716573791956709849755448191720282052339653447441878701651947808995596945767382721779045811096043259900595341540250158960417384240448666950039711343014061377811278652658374079034210195806530949045572494708742653020996644113800134000494480706663037203232749979529721424299701967098468761881635294234993252329428923140315244214242040272980064635780766307523988002727703002211289457522430968043876784960332212054183349036913475623539300798553576189341466394767522901171977712595897761496997063266215484610116604141481063994322942962619431456218762271248574983686855209175386128870623084570369036096012192031482061537365458650968491458343196946452414377683217339524776625671304669459406676553721637811834009123914295250933385477124 230959267145929650581661955906460744593924576592738276303992460920330132180087621193996238020229917215325519835421382269638354871353999887231095088062588692487996241118136008933325548884428010941666505409996054326696444885024609414909420186226120541087907298874619000062364349508497855312637147244196748365001379079194056273664935536714869761489090692637472655839418514461215168588017567698645591820625626471517322033316636454861248672808546585295469845988962744383740504957338211000556931467102499683419882554773336373146811403425875790213262438529227193027551695878008978137231842884417861975460823151302312082665847083714914839521763373241296085007220279018572385814397865926649849075172087671496546630239082669547637306142763448715816793352846339298398464844542738557521929239358176360495221859544767772766697987831657925018293011286168102223496511174931017161352735900336928042615159464520613522530181841723673791391615397678606722406711007803974450994003666194577902749664293533135697600450777851433346103425023356879834655843452297319538413586961172288869026456922542039497018032686950127583555263964094489028853704225269056800123467128563256597923855489421378386361230932970393482068703621667594988791548767272110716264009757745928581675977173144967774075990969678980239082057716129005359389030058136206522105657599239391942635437696640149469815995316000452710978808235155410055724445571288654216412278184563574630681910704362768141409657245458906466007665985228140641508941327953814158291550938146782267565748916462725453753932227111607870768406309767176814161330835637087540523082418353301545474524788063376072710366296615985059210617107500078896707783075313188738365769528561264060005516664226137336866483361558111387731217232648245188809139476644774730247 373699944258881095075932548657632812461143545477509553240243386479049011249719951694687418113057455398791560949405386196777373091530306818337677399628604375923551538368374379191352631150649149248856886331033763744836005300902724062635099729582131166298547300790086235822186087353993571603363756375693847786298014464546506501823350963797251602949417567147311442037576556151639328661861583961138819420939939148599594885443740126657511459239254315908320548014067083343934907510568089037031918940620268208879141564327397926774965873173822046217324299469656936033325267380421074987941044764710901384799601995502998804925528337177342478045468071183816987721447886426766317054887318866707469657258353550840133065409515738095435686836222786437766252541850123539182202203493977345649247808853579118215466031402625226202466164735115892059892500918566288387843428915488619348700097752643428431142969801605776260488179800740656212049709163370398872073508299548694017023043839720798324724092576177496589767288813069684791680772761726409976972280152873402254987378917882138624474648642824091836671480128828829235503072959691434796236426004314867896166727029158598138174014449838762626809897883010104825082764999478873641449922846306320912070540706791501076384719826165964418189791103679474719788720753332238109368559779560506224072756068001273577929672689892478898739135631244666953019081215220045836490753095276656944115280395853032153112878748239553101741869299642255502921141608767441440062517517295280553059073839318759980161646677959722517020147711721724474909887373761499757123950267093306302794330993336988400683700174192246695794936665652081071402648589561616262166434043804647081562715980975641743222856189002763008171152820964787941452855044482254312723434727578160207371 604659211404810745657594504564093557055068122070247829544235847399379143429807572888683656133287372614117080784826768466415727962884306705568772487691193068411547779486510388124678180035077160190523391741029818071532450185927333477544519915808251707386454599664705235884550436862491426916000903619890596151299393543740562775488286500512121364438508259784784097876995070612854497249879151659784411241565565620116916918760376581518760132047800901203790394003029827727675412467906300037588850407722767892299024119100734299921777276599697836430586737998884129060876963258430053125172887649128763360260425146805310887591375420892257317567231444425113072728668165445338702869285184793357318732430441222336679695648598407643072992978986235153583045894696462837580667048036715903171177048211755478710687890947392998969164152566773817078185512204734390611339940090419636510052833652980356473758129266126389783018361642464330003441324561049005594480219307352668468017047505915376227473756869710632287367739590921118137784197785083289811628123605170721793400965879054427493501105565366131333689512815778956819058336923785923825090130229583924696290194157721854736097869939260141013171128815980498307151468621146468630241471613578431628334550464537429658060696999310932192265782073358454958870778469461243468757589837696712746178413667240665520565110386532628368555130947245119663997889450375455892215198666565311160527558580416606783794789452602321243151526545101161968928807593995582081571458845249094711350624777465542247727395594422447970774079938833332345678293683528676571285281102730393843317413411690289946158224962255622768505302962268066130613265697061695158874217119117835819928485509536905803228372853228900345037636182522899329184072277130499501532574204222934937618 978359155663691840733527053221726369516211667547757382784479233878428154679527524583371074246344828012908641734232154663193101054414613523906449887319797444335099317854884767316030811185726309439380278072063581816368455486830057540179619645390382873685001900454791471706736524216484998519364659995584443937597408008287069277311637464309372967387925826932095539914571626764493825911740735620923230662505504768716511804204116708176271591287055217112110942017096911071610319978474389074620769348343036101178165683428132226696743149773519882647911037468541065094202230638851128113113932413839664745060027142308309692516903758069599795612699515608930060450116051872105019924172503660064788389688794773176812761058114145738508679815209021591349298436546586376762869251530693248820424857065334596926153922350018225171630317301889709138078013123300678999183369005908255858752931405623784904901099067732166043506541443204986215491033724419404466553727606901362485040091345636174552197849445888128877135028403990802929464970546809699788600403758044124048388344796936566117975754208190223170360992944607786054561409883477358621326556233898792592456921186880452874271884389098903639981026698990603132234233620625342271691394459884752540405091171328930734445416825476896610455573177037929678659499222793481578126149617257218970251169735241939098494783076425107267294266578489786617016970665595501728705951761841968104642838976269638936907668200841874344893395844743417471849949202763023521633976362544375264409698616784302227889042272382170487794227650555056820588181057290176328409231369823700146111744405027278346841925136447869464300239627920147202015914286623311421040651162922482901491201490512547546451229042231663353208789003487687270636927321612753814256008931801095144989 1583018367068502586391121557785819926571279789618005212328715081277807298109335097472054730379632200627025722519058923129608829017298920229475222375010990512746647097341395155440708991220803469629903669813093399887900905672757391017724139561198634581071456500119496707591286961078976425435365563615475040088896801552027632052799923964821494331826434086716879637791566697377348323161619887280707641904071070388833428722964493289695031723334856118315901336020126738799285732446380689112209619756065803993477189802528866526618520426373217719078497775467425194155079193897281181238286820062968428105320452289113620580108279178961857113179930960034043133178784217317443722793457688453422107122119235995513492456706712553381581672794195256744932344331243049214343536299567409151991601905277090075636841813297411224140794469868663526216263525328035069610523309096327892368805765058604141378659228333858555826524903085669316218932358285468410061033946914254030953057138851551550779671606315598761164502767994911921067249168331892989600228527363214845841789310675990993611476859773556354504050505760386742873619746807263282446416686463482717288747115344602307610369754328359044653152155514971101439385702241771810901932866073463184168739641635866360392506113824787828802721355250396384637530277692254725046883739454953931716429583402482604619059893462957735635849397525734906281014860115970957620921150428407279265170397556686245720702457653444195588044922389844579440778756796758605603205435207793469975760323394249844475616437866804618458568307589388389166266474740818852899694512472554093989429157816717568293000150098703492232805542590188213332629179983685006579914868282040318721419687000049453349679601895460563698246425186010586599820999598743253315788583136024030082607 2561377522732194427124648611007546296087491457165762595113194315156235452788862622055425804625977028639934364253291077792801930071713533753381672262330787957081746415196279922756739802406529779069283947885156981704269361159587448557903759206589017454756458400574288179298023485295461423954730223611059484026494209560314701330111561429130867299214359913648975177706138324141842149073360622901630872566576575157549940527168609997871303314621911335428012278037223649870896052424855078186830389104408840094655355485956998753315263576146737601726408812935966259249281424536132309351400752476808092850380479431421930272625182937031456908792630475642973193628900269189548742717630192113486895511808030768690305217764826699120090352609404278336281642767789635591106405551098102400812026762342424672562995735647429449312424787170553235354341538451335748609706678102236148227558696464227926283560327401590721870031444528874302434423392009887814527587674521155393438097230197187725331869455761486890041637796398902723996714138878702689388828931121258969890177655472927559729452613981746577674411498704994528928181156690740641067743242697381509881204036531482760484641638717457948293133182213961704571619935862397153173624260533347936709144732807195291126951530650264725413176928427434314316189776915048206625009889072211150686680753137724543717554676539382842903143664104224692898031830781566459349627102190249247369813236532955884657610125854286069932938318234587996912628705999521629124839411570337845240170022011034146703505480139186788946362535239943445986854655798109029228103743842377794135540902221744846639842075235151361697105782218108360534645094270308318000955519444962801622910888490562000896130830937692227051455214189498273870457926920356007130044592067825125227596 4144395889800697013515770168793366222658771246783767807441909396434042750898197719527480535005609229266960086772350000922410759089012453982856894637341778469828393512537675078197448793627333248699187617698250381592170266832344839575627898767787652035827914900693784886889310446374437849390095787226534524115391011112342333382911485393952361631040794000365854815497705021519190472234980510182338514470647645546383369250133103287566335037956767453743913614057350388670181784871235767299040008860474644088132545288485865279933784002519955320804906588403391453404360618433413490589687572539776520955700931720535550852733462115993314021972561435677016326807684486506992465511087880566909002633927266764203797674471539252501672025403599535081213987099032684805449941850665511552803628667619514748199837548944840673453219257039216761570605063779370818220229987198564040596364461522832067662219555735449277696556347614543618653355750295356224588621621435409424391154369048739276111541062077085651206140564393814645063963307210595678989057458484473815731966966148918553340929473755302932178462004465381271801800903498003923514159929160864227169951151876085068095011393045816992946285337728932806011005638104168964075557126606811120877884374443061651519457644475052554215898283677830698953720054607302931671893628527165082403110336540207148336614570002340578538993061629959599179046690897537416970548252618656526634983634089642130378312583507730265520983240624432576353407462796280234728044846778131315215930345405283991179121918005991407404930842829331835153121130538927882127798256314931888124970060038462414932842225333854853929911324808296573867274274253993324580870387727003120344330575490611454245810432833152790749701639375508860470278926519099260445833175203849155310203 6705773412532891440640418779800912518746262703949530402555103711590278203687060341582906339631586257906894451025641078715212689160725987736238566899672566426910139927733955000954188596033863027768471565583407363296439627991932288133531657974376669490584373301268073066187333931669899273344826010837594008141885220672657034713023046823083228930255153914014829993203843345661032621308341133083969387037224220703933309777301713285437638352578678789171925892094574038541077837296090845485870397964883484182787900774442864033249047578666692922531315401339357712653642042969545799941088325016584613806081411151957481125358645053024770930765191911319989520436584755696541208228718072680395898145735297532894102892236365951621762378013003813417495629866822320396556347401763613953615655429961939420762833284592270122765644044209769996924946602230706566829936665300800188823923157987059993945779883137039999566587792143417921087779142305244039116209295956564817829251599245927001443410517838572541247778360792717369060677446089298368377886389605732785622144621621846113070382087737049509852873503170375800729982060188744564581903171858245737051155188407567828579653031763274941239418519942894510582625573966566117249181387140159057587029107250256942646409175125317279629075212105265013269909831522351138296903517599376233089791089677931692054169246541723421442136725734184292077078521679103876320175354808905774004796870622598015035922709362016335453921558859020573266036168795801863852884258348469160456100367416318137882627398145178196351293378069275281139975786337036911355902000157309682260510962260207261572684300569006215627017107026404934401919368524301642581825907171965921967241463981173455141941263770845017801156853565007134340736853439455267575877767271674280537799 10850169302333588454156188948594278741405033950733298209997013108024320954585258061110386874637195487173854537797991079637623448249738441719095461537014344896738533440271630079151637389661196276467659183281657744888609894824277127709159556742164321526412288201961857953076644378044337122734921798064128532257276231784999368095934532217035590561295947914380684808701548367180223093543321643266307901507871866250316679027434816573003973390535446242915839506151924427211259622167326612784910406825358128270920446062928729313182831581186648243336221989742749166058002661402959290530775897556361134761782342872493031978092107169018084952737753346997005847244269242203533673739805953247304900779662564297097900566707905204123434403416603348498709616965855005202006289252429125506419284097581454168962670833537110796218863301248986758495551666010077385050166652499364229420287619509892061607999438872489277263144139757961539741134892600600263704830917391974242220405968294666277554951579915658192453918925186532014124640753299894047366943848090206601354111587770764666411311561492352442031335507635757072531782963686748488096063101019109964221106340283652896674664424809091934185703857671827316593631212070735081324738513746970178464913481693318594165866819600369833844973495783095712223629886129654069968797146126541315492901426218138840390783816544063999981129787364143891256125212576641293290723607427562300639780504712240145414235292869746600974904799483453149619443631592082098580929105126600475672030712821602129061749316151169603756224220898607116293096916875964793483700256472241570385481022298669676505526525902861069556928431834701508269193642778294967162696294898969042311572039471784909387751696603997808550858492940515994811015779958554528021710942475523435848002 17555942714866479894796607728395191260151296654682828612552116819614599158272318402693293214268781745080748988823632158352836137410464429455334028436686911323648673368005585080105825985695059304236130748865065108185049522816209415842691214716540991016996661503229931019263978309714236396079747808901722540399161452457656402808957579040118819491551101828395514801905391712841255714851662776350277288545096086954249988804736529858441611743114125032087765398246498465752337459463417458270780804790241612453708346837371593346431879159853341165867537391082106878711644704372505090471864222572945748567863754024450513103450752222042855883502945258316995367680853997900074881968524025927700798925397861829992003458944271155745196781429607161916205246832677325598562636654192739460034939527543393589725504118129380918984507345458756755420498268240783951880103317800164418244210777496952055553779322009529276829731931901379460828914034905844302821040213348539060049657567540593278998362097754230733701697285979249383185318199389192415744830237695939386976256209392610779481693649229401951884209010806132873261765023875493052677966272877355701272261528691220725254317456572366875425122377614721827176256786037301198573919900887129236051942588943575536812275994725687113474048707888360725493539717652005208265700663725917548582692515896070532444953063085787421423266513098328183333203734255745169610898962236468074644577375334838160450158002231762936428826358342473722885479800387883962433813363475069636128131080237920266944376714296347800107517598967882397433072703213001704839602256629551252645991984558876938078210826471867285183945538861106442671113011302596609744522202070934964278813503452958364529692960374842826352015346505523129151752633398009795597588709747197716385801 28406112017200068348952796676989470001556330605416126822549129927638920112857576463803680088905977232254603526621623237990459585660202871174429489973701256220387206808277215159257463375356255580703789932146722853073659417640486543551850771458705312543408949705191788972340622687758573518814669606965851072656437684242655770904892111257154410052847049742776199610606940080021478808394984419616585190052967953204566667832171346431445585133649571275003604904398422892963597081630744071055691211615599740724628792900300322659614710741039989409203759380824856044769647365775464381002640120129306883329646096896943545081542859391060940836240698605314001214925123240103608555708329979175005699705060426127089904025652176359868631184846210510414914863798532330800568925906621864966454223625124847758688174951666491715203370646707743513916049934250861336930269970299528647664498397006844117161778760882018554092876071659341000570048927506444566525871130740513302270063535835259556553313677669888926155616211165781397309958952689086463111774085786145988330367797163375445893005210721754393915544518441889945793547987562241540774029373896465665493367868974873621928981881381458809610826235286549143769887998108036279898658414634099414516856070636894130978142814326056947319022203671456437717169603781659278234497809852458864075593942114209372835736879629851421404396300462472074589328946832386462901622569664030375284357880047078305864393295101509537403731157825926872504923431979966061014742468601670111800161793059522396006126030447517403863741819866489513726169620088966498323302513101792823031473006857546614583737352374728354740873970695807950940306654080891576907218496969904006590385542924743273917444656978840634902873839446039123962768413356564323619299652222721152233803 45962054732066548243749404405384661261707627260098955435101246747253519271129894866496973303174758977335352515445255396343295723070667300629763518410388167544035880176282800239363289361051314884939920681011787961258708940456695959394541986175246303560405611208421719991604600997472809914894417415867573613055599136700312173713849690297273229544398151571171714412512331792862734523246647195966862478598064040158816656636907876289887196876763696307091370302644921358715934541094161529326472016405841353178337139737671916006046589900893330575071296771906962923481292070147969471474504342702252631897509850921394058184993611613103796719743643863630996582605977238003683437676854005102706498630458287957081907484596447515613827966275817672331120110631209656399131562560814604426489163152668241348413679069795872634187877992166500269336548202491645288810373288099693065908709174503796172715558082891547830922608003560720461398962962412288869346911344089052362319721103375852835551675775424119659857313497145030780495277152078278878856604323482085375306624006555986225374698859951156345799753529248022819055313011437734593451995646773821366765629397666094347183299337953825685035948612901270970946144784145337478472578315521228650568798659580469667790418809051744060793070911559817163210709321433664486500198473578376412658286458010279905280689942715638842827662813560800257922532681088131632512521531900498449928935255381916466314551297333272473832557516168400595390403232367850023448555832076739747928292873297442662950502744743865203971259418834371911159242323301968203162904769731344075677464991416423552661948178846595639924819509556914393611419665383488186651740699040838970869199046377701638447137617353683461254889185951562253114521046754574119216888361969918868619604 74368166749266616592702201082374131263263957865515082257650376674892439383987471330300653392080736209589956042066878634333755308730870171804193008384089423764423086984560015398620752736407570465643710613158510814332368358097182502946392757633951616103814560913613508963945223685231383433709087022833424685712036820942967944618741801554427639597245201313947914023119271872884213331641631615583447668651031993363383324469079222721332782010413267582094975207043344251679531622724905600382163228021441093902965932637972238665661300641933319984275056152731818968250939435923433852477144462831559515227155947818337603266536471004164737555984342468944997797531100478107291993385183984277712198335518714084171811510248623875482459151122028182746034974429741987199700488467436469392943386777793089107101854021462364349391248638874243783252598136742506625740643258399221713573207571510640289877336843773566385015484075220061461969011889918733435872782474829565664589784639211112392104989453094008586012929708310812177805236104767365341968378409268231363636991803719361671267704070672910739715298047689912764848860998999976134226025020670287032258997266640967969112281219335284494646774848187820114716032782253373758371236730155328065085654730217363798768561623377801008112093115231273600927878925215323764734696283430835276733880400124489278116426822345490264232059114023272332511861627920518095414144101564528825213293135428994772178944592434782011236288673994327467895326664347816084463298300678409859728454666356965058956628775191382607835001238700861424885411943390934701486207282833136898708937998273970167245685531221323994665693480252722344551726319464379763558959196010742977459584589302444912364582274332524096157763025397601377077289460111138442836188014192640020853407 120330221481333164836451605487758792524971585125614037692751623422145958655117366196797626695255495186925308557512134030677051031801537472433956526794477591308458967160842815637984042097458885350583631294170298775591077298553878462340934743809197919664220172122035228955549824682704193348603504438700998298767635957643280118332591491851700869141643352885119628435631603665746947854888278811550310147249096033522199981105987099011219978887176963889186345509688265610395466163819067129708635244427282447081303072375644154671707890542826650559346352924638781891732231506071403323951648805533812147124665798739731661451530082617268534275727986332575994380137077716110975431062037989380418696965977002041253718994845071391096287117397845855077155085060951643598832051028251073819432549930461330455515533091258236983579126631040744052589146339234151914551016546498914779481916746014436462592894926665114215938092078780781923367974852331022305219693818918618026909505742586965227656665228518128245870243205455842958300513256845644220824982732750316738943615810275347896642402930624067085515051576937935583904174010437710727678020667444108399024626664307062316295580557289110179682723461089091085662177566398711236843815045676556715654453389797833466558980432429545068905164026791090764138588246648988251234894757009211689392166858134769183397116765061129107059721927584072590434394309008649727926665633465027275142228390810911238493495889768054485068846190162728063285729896715666107911854132755149607656747539654407721907131519935247811806260657535233336044654266692902904649112052564480974386402989690393719907633710067919634590512989809636738163145984847867950210699895051581948328783635680146550811719891686207557412652211349163630191810506865712562053076376162558889473011 194698388230599781429153806570132923788235542991129119950402000097038398039104837527098280087336231396515264599579012665010806340532407644238149535178567015072882054145402831036604794833866455816227341907328809589923445656651060965287327501443149535768034733035648737919495048367935576782312591461534422984479672778586248062951333293406128508738888554199067542458750875538631161186529910427133757815900128026885583305575066321732552760897590231471281320716731609862074997786543972730090798472448723540984269005013616393337369191184759970543621409077370600859983170941994837176428793268365371662351821746558069264718066553621433271831712328801520992177668178194218267424447221973658130895301495716125425530505093695266578746268519874037823190059490693630798532539495687543212375936708254419562617387112720601332970375269914987835841744475976658540291659804898136493055124317525076752470231770438680600953576154000843385336986742249755741092476293748183691499290381798077619761654681612136831883172913766655136105749361613009562793361142018548102580607613994709567910107001296977825230349624627848348753035009437686861904045688114395431283623930948030285407861776624394674329498309276911200378210348652084995215051775831884780740108120015197265327542055807346077017257142022364365066467171864312015969591040440046966126047258259258461513543587406619371291781041607344922946255936929167823340809735029556100355521526239906010672440482202836496305134864157055531181056561063482192375152433433559467385202206011372780863760295126630419641261896236094760930066210083837606135319335397617873095340987964363887153319241289243629256206470062359082714872304312247713769659091062324925788368224982591463176302166018731653570415236746765007269099966976851004889264390355198910326418 315028609711932946265605412057891716313207128116743157643153623519184356694222203723895906782591726583440573157091146695687857372333945116672106061973044606381341021306245646674588836931325341166810973201499108365514522955204939427628262245252347455432254905157683966875044873050639770130916095900235421283247308736229528181283924785257829377880531907084187170894382479204378109041418189238684067963149224060407783286681053420743772739784767195360467666226419875472470463950363039859799433716876005988065572077389260548009077081727586621102967762002009382751715402448066240500380442073899183809476487545297800926169596636238701806107440315134096986557805255910329242855509259963038549592267472718166679249499938766657675033385917719892900345144551645274397364590523938617031808486638715750018132920203978838316549501900955731888430890815210810454842676351397051272537041063539513215063126697103794816891668232781625308704961594580778046312170112666801718408796124385042847418319910130265077753416119222498094406262618458653783618343874768864841524223424270057464552509931921044910745401201565783932657209019875397589582066355558503830308250595255092601703442333913504854012221770366002286040387915050796232058866821508441496394561509813030731886522488236891145922421168813455129205055418513300267204485797449258655518214116394027644910660352467748478351502969191417513380650245937817551267475368494583375497749917050817249165936371970890981373981054319783594466786457779148300287006566188709075041949745665780502770891815061878231447522553771328096974720476776740510784431387962098847481743977654757607060952951357163263846719459871995820878018289160115663980358986113906874117151860662738013988022057704939210983067448095928637460910473842563566942340766517757799799429 509726997942532727694759218628024640101442671107872277593555623616222754733327041250994186869927957979955837756670159360698663712866352760910255597151611621454223075451648477711193631765191796983038315108827917955437968611856000392915589746695496991200289638193332704794539921418575346913228687361769844267726981514815776244235258078663957886619420461283254713353133354743009270227948099665817825779049352087293366592256119742476325500682357426831748986943151485334545461736907012589890232189324729529049841082402876941346446272912346591646589171079379983611698573390061077676809235342264555471828309291855870190887663189860135077939152643935617978735473434104547510279956481936696680487568968434292104780005032461924253779654437593930723535204042338905195897130019626160244184423346970169580750307316699439649519877170870719724272635291187468995134336156295187765592165381064589967533358467542475417845244386782468694041948336830533787404646406414985409908086506183120467179974591742401909636589032989153230512011980071663346411705016787412944104831038264767032462616933218022735975750826193632281410244029313084451486112043672899261591874526203122887111304110537899528341720079642913486418598263702881227273918597340326277134669629828227997214064544044237222939678310835819494271522590377612283174076837889305621644261374653286106424203939874367849643284010798762436326906182866985374608285103524139475853271443290723259838376854173727477679115918476839125647843018842630492662158999622268542427151951677153283634652110188508651088784450007422857904786686860578116919750723359716720577084965619121494214272192646406893102925929934354903592890593472363377750018077176231799905520085645329477164324223723670864553482684842693644730010440819414571831605156872956710125847 824755607654465673960364630685916356414649799224615435236709247135407111427549244974890093652519684563396410913761306056386521085200297877582361659124656227835564096757894124385782468696517138149849288310327026320952491567060939820543851991947844446632544543351016671669584794469215117044144783262005265550974290251045304425519182863921787264499952368367441884247515833947387379269366288904501893742198576147701149878937173163220098240467124622192216653169571360807015925687270052449689665906200735517115413159792137489355523354639933212749556933081389366363413975838127318177189677416163739281304796837153671117057259826098836884046592959069714965293278690014876753135465741899735230079836441152458784029504971228581928813040355313823623880348593984179593261720543564777275992909985685919598883227520678277966069379071826451612703526106398279449977012507692239038129206444604103182596485164646270234736912619564094002746909931411311833716816519081787128316882630568163314598294501872666987390005152211651324918274598530317130030048891556277785629054462534824497015126865139067646721152027759416214067453049188482041068178399231403091900125121458215488814746444451404382353941850008915772458986178753677459332785418848767773529231139641258729100587032281128368862099479649274623476578008890912550378562635338564277162475491047313751334864292342116327994786979990179949707556428804802925875760472018722851351021360341540509004313226144618459053096972796622720114629476621778792949165565810977617469101697342933786405543925250386882536307003778750954879507163637318627704182111321815568058828943273879101275225144003570156949645389806350724470908882632479041730377063290138674022671946308067491152346281428610075536550132938622282190920914661978138773945923390714509925276 1334482605596998401655123849313940996516092470332487712830264870751629866160876286225884280522447642543352248670431465417085184798066650638492617256276267849289787172209542602096976100461708935132887603419154944276390460178916940213459441738643341437832834181544349376464124715887790463957373470623775109818701271765861080669754440942585745151119372829650696597600649188690396649497314388570319719521247928234994516471193292905696423741149482049023965640112722846141561387424177065039579898095525465046165254242195014430701969627552279804396146104160769349975112549228188395853998912758428294753133106129009541307944923015958971961985745603005332944028752124119424263415422223836431910567405409586750888809510003690506182592694792907754347415552636323084789158850563190937520177333332656089179633534837377717615589256242697171336976161397585748445111348663987426803721371825668693150129843632188745652582157006346562696788858268241845621121462925496772538224969136751283781778269093615068897026594185200804555430286578601980476441753908343690729733885500799591529477743798357090382696902853953048495477697078501566492554290442904302353491999647661338375926050554989303910695661929651829258877584442456558686606704016189094050663900769469486726314651576325365591801777790485094117748100599268524833552639473227869898806736865700599857759068232216484177638070990788942386034462611671788300484045575542862327204292803632263768842690080318345936732212891273461845762472495464409285611324565433246159896253649020087070040196035438895533625091453786173812784293850497896744623932834681532288635913908893000595489497336649977050052571319740705628063799476104842419480395140466370473928192031953396968316670505152280940090032817781315926920931355481392710605551080263671220051123 2159238213251464075615488479999857352930742269557103148066974117887036977588425531200774374174967327106748659584192771473471705883266948516074978915400924077125351268967436726482758569158226073282736891729481970597342951745977880034003293730591185884465378724895366048133709510357005581001518253885780375369675562016906385095273623806507532415619325198018138481848165022637784028766680677474821613263446504382695666350130466068916521981616606671216182293282294206948577313111447117489269564001726200563280667401987151920057492982192213017145703037242158716338526525066315714031188590174592034034437902966163212425002182842057808846032338562075047909322030814134301016550887965736167140647241850739209672839014974919088111405735148221577971295901230307264382420571106755714796170243318342008778516762358055995581658635314523622949679687503984027895088361171679665841850578270272796332726328796835015887319069625910656699535768199653157454838279444578559666541851767319447096376563595487735884416599337412455880348561177132297606471802799899968515362939963334416026492870663496158029418054881712464709545150127690048533622468842135705445392124769119553864740796999440708293049603779660745031336570621210236145939489435037861824193131909110745455415238608606493960663877270134368741224678608159437383931202108566434175969212356747913609093932524558600505632857970779122335742019040476591226359806047561585178555314163973804277847003306462964395785309864070084565877101972086188078560490131244223777365355346363020856445739960689282416161398457564924767663801014135215372328114946003347856694742852166879696764722480653547207002216709547056352534708358737321461210772203756509147950863978261464459469016786580891015626582950719938209111852270143370849379497003654385729976399 3493720818848462477270612329313798349446834739889590860897238988638666843749301817426658654697414969650100908254624236890556890681333599154567596171677191926415138441176979328579734669619935008415624495148636914873733411924894820247462735469234527322298212906439715424597834226244796044958891724509555485188376833782767465765028064749093277566738698027668835079448814211328180678263995066045141332784694432617690182821323758974612945722766088720240147933395017053090138700535624182528849462097251665609445921644182166350759462609744492821541849141402928066313639074294504109885187502933020328787571009095172753732947105858016780808018084165080380853350782938253725279966310189572599051214647260325960561648524978609594293998429941129332318711453866630349171579421669946652316347576650998097958150297195433713197247891557220794286655848901569776340199709835667092645571950095941489482856172429023761539901226632257219396324626467895003075959742370075332204766820904070730878154832689102804781443193522613260435778847755734278082913556708243659245096825464134007555970614461853248412114957735665513205022847206191615026176759285040007798884124416780892240666847554430012203745265709312574290214155063666794832546193451226955874857032678580232181729890184931859552465655060619462858972779207427962217483841581794304074775949222448513466853000756775084683270928961568064721776481652148379526843851623104447505759606967606068046689693386781310332517522755343546411639574467550597364171814696677469937261608995383107926485935996128177949786489911351098580448094864633112116952047780684880145330656761059880292254219817303524257054788029287761980598507834842163880691167344222879621879056010214861427785687291733171955716615768501254136032783625624763559985048083918056950027522 5652959032099926552886100809313655702377577009446694008964213106525703821337727348627433028872382296756849567838817008364028596564600547670642575087078116003540489710144416055062493238778161081698361386878118885471076363670872700281466029199825713206763591631335081472731543736601801625960409978395335860558052395799673850860301688555600809982358023225686973561296979233965964707030675743519962946048140937000385849171454225043529467704382695391456330226677311260038716013647071300018119026098977866172726589046169318270816955591936705838687552178645086782652165599360819823916376093107612362822008912061335966157949288700074589654050422727155428762672813752388026296517198155308766191861889111065170234487539953528682405404165089350910290007355096937613553999992776702367112517819969340106736667059553489708778906526871744417236335536405553804235288071007346758487422528366214285815582501225858777427220296258167876095860394667548160530798021814653891871308672671390177974531396284590540665859792860025716316127408932866575689385359508143627760459765427468423582463485125349406441533012617377977914567997333881663559799228127175713244276249185900446105407644553870720496794869488973319321550725684877030978485682886264817699050164587690977637145128793538353513129532330753831600197457815587399601415043690360738250745161579196427075946933281333685188903786932347187057518500692624970753203657670666032684314921131579872324536696693244274728302832619413630977516676439636785442732304827921693714626964341746128782931675956817460365947888368916023348111895878768327489280162726688228002025399613226759989018942297957071464057004738834818333133216193579485341901939547979388769829919988476325887254704078314062971343198719221192345144635895768134409364545087572442680003921 9146679850948389030156713138627454051824411749336284869861452095164370665087029166054091683569797266406950476093441245254585487245934146825210171258755307929955628151321395383642227908398096090113985882026755800344809775595767520528928764669060240529061804537774796897329377962846597670919301702904891345746429229582441316625329753304694087549096721253355808640745793445294145385294670809565104278832835369618076031992777984018142413427148784111696478160072328313128854714182695482546968488196229531782172510690351484621576418201681198660229401320048014848965804673655323933801563596040632691609579921156508719890896394558091370462068506892235809616023596690641751576483508344881365243076536371391130796136064932138276699402595030480242608718808963567962725579414446649019428865396620338204694817356748923421976154418428965211522991385307123580575487780843013851132994478462155775298438673654882538967121522890425095492185021135443163606757764184729224076075493575460908852686228973693345447302986382638976751906256688600853772298916216387287005556590891602431138434099587202654853647970353043491119590844540073278585975987412215721043160373602681338346074492108300732700540135198285893611764880748543825811031876337491773573907197266271209818875018978470213065595187391373294459170237023015361818898885272155042325521110801644940542799934038108769872174715893915251779294982344773350280047509293770480190074528099185940371226390080025585060820355374757177389156250907187382806904119524599163651888573337129236709417611952945638315734378280267121928559990743401439606232210507373108147356056374286640281273162115260595721111792768122580313731724028421649222593106892202268391708975998691187315040391370047234927059814487722446481177419521392897969349593171490499630031443 14799638883048315583042813947941109754201988758782978878825665201690074486424756514681524712442179563163800043932258253618614083810534694495852746345833423933496117861465811438704721147176257171812347268904874685815886139266640220810394793868885953735825396169109878370060921699448399296879711681300227206304481625382115167485631441860294897531454744479042782202042772679260110092325346553085067224880976306618461881164232209061671881131531479503152808386749639573167570727829766782565087514295207397954899099736520802892393373793617904498916953498693101631617970273016143757717939689148245054431588833217844686048845683258165960116118929619391238378696410443029777873000706500190131434938425482456301030623604885666959104806760119831152898726164060505576279579407223351386541383216589678311431484416302413130755060945300709628759326921712677384810775851850360609620417006828370061114021174880741316394341819148592971588045415802991324137555785999383115947384166246851086827217625258283886113162779242664693068033665621467429461684275724530914766016356319070854720897584712552061295180982970421469034158841873954942145775215539391434287436622788581784451482136662171453197335004687259212933315606433420856789517559223756591272957361853962187456020147772008566578724719722127126059367694838602761420313928962515780576266272380841367618746867319442455061078502826262438836813483037398321033251166964436512874389449230765812695763086773269859789123187994170808366672927346824168249636424352520857366515537678875365492349287909763098681682266649183145276671886622169767095512373234061336149381455987513400270292104413217667185168797506957398646864940222001134564495046440181657161538895987167513202295095448361297898403013206943638826322055417161032378714138259062942310035364 23946318733996704613199527086568563806026400508119263748687117296854445151511785680735616396011976829570750520025699498873199571056468841321062917604588731863451746012787206822346949055574353261926333150931630486160695914862407741339323558537946194264887200706884675267390299662294996967799013384205118552050910854964556484110961195164988985080551465732398590842788566124554255477620017362650171503713811676236537913157010193079814294558680263614849286546821967886296425442012462265112056002491436929737071610426872287513969791995299103159146354818741116480583774946671467691519503285188877746041168754374353405939742077816257330578187436511627047994720007133671529449484214845071496678014961853847431826759669817805235804209355150311395507444973024073539005158821670000405970248613210016516126301773051336552731215363729674840282318307019800965386263632693374460753411485290525836412459848535623855361463342039018067080230436938434487744313550184112340023459659822311995679903854231977231560465765625303669819939922310068283233983191940918201771572947210673285859331684299754716148828953323464960153749686414028220731751202951607155330596996391263122797556628770472185897875139885545106545080487181964682600549435561248364846864559120233397274895166750478779644319907113500420518537931861618123239212814234670822901787383182486308161546801357551224933253218720177690616108465382171671313298676258206993064463977329951753066989476853295444849943543368927985755829178254011551056540543877120021018404111016004602201766899862708736997416644929450267205231877365571206701744583741434444296737512361800040551565266528478262906280590275079978960596664250422783787088153332383925553247871985858700517335486818408532825462827694666085307499474938553930348063731430553441940066807 38745957617045020196242341034509673560228389266902242627512782498544519637936542195417141108454156392734550563957957752491813654867003535816915663950422155796947863874253018261051670202750610433738680419836505171976582054129047962149718352406832148000712596875994553637451221361743396264678725065505345758355392480346671651596592637025283882612006210211441373044831338803814365569945363915735238728594787982854999794321242402141486175690211743118002094933571607459463996169842229047677143516786644327691970710163393090406363165788917007658063308317434218112201745219687611449237442974337122800472757587592198091988587761074423290694306366131018286373416417576701307322484921345261628112953387336303732857383274703472194909016115270142548406171137084579115284738228893351792511631829799694827557786189353749683486276309030384469041645228732478350197039484543735070373828492118895897526481023416365171755805161187611038668275852741425811881869336183495455970843826069163082507121479490261117673628544867968362887973587931535712695667467665449116537589303529744140580229269012306777444009936293886429187908528287983162877526418490998589618033619179844907249038765432643639095210144572804319478396093615385539390066994785004956119821920974195584730915314522487346223044626835627546577905626700220884659526743197186603478053655563327675780293668676993679994331721546440129452921948419569992346549843222643505938853426560717565762752563626565304639066731363098794122502105600835719306176968229640878384919648694879967694116187772471835679098911578633412481903763987740973797256956975495780446118968349313440821857370941695930091449387782037377607461604472423918351583199772565582714786767973026213719630582266769830723865840901609724133821530355714962726777869689616384250102171 62692276351041724809441868121078237366254789775021506376199899795398964789448327876152757504466133222305301083983657251365013225923472377137978581555010887660399609887040225083398619258324963695665013570768135658137277968991455703489041910944778342265599797582879228904841521024038393232477738449710464310406303335311228135707553832190272867692557675943839963887619904928368621047565381278385410232308599659091537707478252595221300470248892006732851381480393575345760421611854691312789199519278081257429042320590265377920332957784216110817209663136175334592785520166359079140756946259526000546513926341966551497928329838890680621272493802642645334368136424710372836771969136190333124790968349190151164684142944521277430713225470420453943913616110108652654289897050563352198481880443009711343684087962405086236217491672760059309323963535752279315583303117237109531127239977409421733938940871951989027117268503226629105748506289679860299626182886367607795994303485891475078187025333722238349234094310493272032707913510241603995929650659606367318309162250740417426439560953312061493592838889617351389341658214702011383609277621442605744948630615571108030046595394203115824993085284458349426023476580797350221990616430346253320966686480094428982005810481272966125867364533949127967096443558561839007898739557431857426379841038745813983941840470034544904927584940266617820069030413801741663659848519480850499003317403890669318829742040479860749489010274732026779878331283854847270362717512106760899403323759710884569895883087635180572676515556508083679687135641353312180499001540716930224742856480711113481373422637470174192997729978057117356568058268722846702138671353104949508268034639958884914236966069085178363549328668596275809441321005294268893074841601120169826190168978 101438233968086745005684209155587910926483179041923749003712682293943484427384870071569898612920289615039851647941615003856826880790475912954894245505433043457347473761293243344450289461075574129403693990604640830113860023120503665638760263351610490266312394458873782542292742385781789497156463515215810068761695815657899787304146469215556750304563886155281336932451243732182986617510745194120648960903387641946537501799494997362786645939103749850853476413965182805224417781696920360466343036064725585121013030753658468326696123573133118475272971453609552704987265386046690589994389233863123346986683929558749589916917599965103911966800168773663620741552842287074144094454057535594752903921736526454897541526219224749625622241585690596492319787247193231769574635279456703990993512272809406171241874151758835919703767981790443778365608764484757665780342601780844601501068469528317631465421895368354198873073664414240144416782142421286111508052222551103251965147311960638160694146813212499466907722855361240395595887098173139708625318127271816434846751554270161567019790222324368271036848825911237818529566742989994546486804039933604334566664234750952937295634159635759464088295429031153745501872674412735761380683425131258277086508401068624566736725795795453472090409160784755513674349185262059892558266300629044029857894694309141659722134138711538584921916661813057949521952362221311656006398362703494004942170830451386884592494604106426054128077006095125574000833389455682989668894480336401777788243408405764537589999275407652408355614468086717092169039405341053154296258497692426005188975449060426922195280008411870123089179365839154734175519873195270620490254552877515090982821407931911127956596651351948194273194509497885533575142535649983855801619470809786210440271149 164130510319128469815126077276666148292737968816945255379912582089342449216833197947722656117386422837345152731925272255221840106713948290092872827060443931117747083648333468427848908719400537825068707561372776488251137992111959369127802174296388832531912192041753011447134263409820182729634201964926274379167999150969127923011700301405829617997121562099121300820071148660551607665076126472506059193211987301038075209277747592584087116187995756583704857894358758150984839393551611673255542555342806842550055351343923846247029081357349229292482634589784887297772785552405769730751335493389123893500610271525301087845247438855784533239293971416308955109689266997446980866423193725927877694890085716606062225669163746027056335467056111050436233403357301884423864532330020056189475392715819117514925962114163922155921259654550503087689572300237036981363645719017954132628308446937739365404362767320343225990342167640869250165288432101146411134235108918711047959450797852113238881172146934737816141817165854512428303800608414743704554968786878183753155913805010578993459351175636429764629687715528589207871224957692005930096081661376210079515294850322060967342229553838875289081380713489503171525349255210085983371299855477511598053194881163053548742536277068419597957773694733883480770792743823898900457005858060901456237735733054955643663974608746083489849501602079675769590982776023053319666246882184344503945488234342056203422236644586286803617087280827152353879164673310530260031611992443162677191567168116649107485882363042832981032130024594800771856175046694365334795260038409356229931831929771540403568702645882044316086909343896272090743578141918117322628925905982464599250856047890796042193562720437126557822523178094161343016463540944252748876461071929956036630440127 265568744287215214820810286432254059219221147858869004383625264383285933644218068019292554730306712452385004379866887259078666987504424203047767072565876974575094557409626711772299198180476111954472401551977417318364998015232463034766562437647999322798224586500626793989427005795601972226790665480142084447929694966627027710315846770621386368301685448254402637752522392392734594282586871666626708154115374942984612711077242589946873762127099506434558334308323940956209257175248532033721885591407532427671068382097582314573725204930482347767755606043394440002760050938452460320745724727252247240487294201084050677762165038820888445206094140189972575851242109284521124960877251261522630598811822243060959767195382970776681957708641801646928553190604495116193439167609476760180468904988628523686167836265922758075625027636340946866055181064721794647143988320798798734129376916466056996869784662688697424863415832055109394582070574522432522642287331469814299924598109812751399575318960147237283049540021215752823899687706587883413180286914150000188002665359280740560479141397960798035666536541439827026400791700682000476582885701309814414081959085073013904637863713474634753169676142520656917027221929622821744751983280608769875139703282231678115479262072863873070048182855518638994445141929085958793015272158689945486095630427364097303386108747457622074771418263892733719112935138244364975672645244887838508887659064793443088014731248692712857745164286922277927879998062766213249700506472779564454979810576522413645075881638450485389387744492681517864025214452035418489091518536101782235120807378831967325763982654293914439176088709735426824919098015113387943119180458859979690233677455822707170150159371789074752095717687592046876591606076594236604678080542739742247070711276 429699254606343684635936363708920207511959116675814259763537846472628382861051265967015210847693135289730157111792159514300507094218372493140639899626320905692841641057960180200148106899876649779541109113350193806616136007344422403894364611944388155330136778542379805436561269205422154956424867445068358827097694117596155633327547072027215986298807010353523938572593541053286201947662998139132767347327362244022687920354990182530960878315095263018263192202682699107194096568800143706977428146750339270221123733441506160820754286287831577060238240633179327300532836490858230051497060220641371133987904472609351765607412477676672978445388111606281530960931376281968105827300444987450508293701907959667021992864546716803738293175697912697364786593961797000617303699939496816369944297704447641201093798380086680231546287290891449953744753364958831628507634039816752866757685363403796362274147430009040650853757999695978644747359006623578933776522440388525347884048907664864638456491107081975099191357187070265252203488315002627117735255701028183941158579164291319553938492573597227800296224256968416234272016658374006406678967362686024493597253935395074871980093267313510042251056856010160088552571184832907728123283136086281473192898163394731664221798349932292668005956550252522475215934672909857693472278016750846942333366160419052947050083356203705564620919865972409488703917914267418295338892127072183012833147299135499291436967893278999661362251567749430281759162736076743509732118465222727132171377744639062752561764001493318370419874517276318635881389498729783823886778574511138465052639308603507729332685300175958755262998053631698915662676157031505265748106364842444289484533503713503212343722092226201309918240865686208219608069617538489353554541614669698283701151403 695267998893558899456746650141174266731180264534683264147163110855914316505269333986307765577999847742115161491659046773379174081722796696188406972192197880267936198467586891972447305080352761734013510665327611124981134022576885438660927049592387478128361365043006599425988275001024127183215532925210443275027389084223183343643393842648602354600492458607926576325115933446020796230249869805759475501442737187007300631432232772477834640442194769452821526511006640063403353744048675740699313738157871697892192115539088475394479491218313924827993846676573767303292887429310690372242784947893618374475198673693402443369577516497561423651482251796254106812173485566489230788177696248973138892513730202727981760059929687580420250884339714344293339784566292116810742867548973576550413202693076164887261634646009438307171314927232396819799934429680626275651622360615551600887062279869853359143932092697738075717173831751088039329429581146011456418809771858339647808647017477616038031810067229212382240897208286018076103176021590510530915542615178184129161244523572060114417633971558025835962760798408243260672808359056006883261853063995838907679213020468088776617956980788144795420732998530817005579793114455729472875266416695051348332601445626409779701060422796165738054139405771161469661076601995816486487550175440792428428996587783150250436192103661327639392338129865143207816853052511783271011537371960021521720806363928942379451699141971712519107415854671708209639160798842956759432624938002291587151188321161476397637645639943803759807619009957836499906603950765202312978297110612920700173446687435475055096667954469873194439086763367125740581774172144893208867286823702423979718210959536210382493881464015276062013958553278255096199675694132725958232622157409440530771862679 1124967253499902584092683013850094474243139381210497523910700957328542699366320599953322976425692983031845318603451206287679681175941169189329046871818518785960777839525547072172595411980229411513554619778677804931597270029921307842555291661536775633458498143585386404862549544206446282139640400370278802102125083201819338976970940914675818340899299468961450514897709474499306998177912867944892242848770099431029988551787222955008795518757290032471084718713689339170597450312848819447676741884908210968113315848980594636215233777506145501888232087309753094603825723920168920423739845168534989508463103146302754208976989994174234402096870363402535637773104861848457336615478141236423647186215638162395003752924476404384158544060037627041658126378528089117428046567488470392920357500397523806088355433026096118538717602218123846773544687794639457904159256400432304467644747643273649721418079522706778726570931831447066684076788587769590390195332212246864995692695925142480676488301174311187481432254395356283328306664336593137648650798316206368070319823687863379668356126545155253636258985055376659494944825017430013289940820426681863401276466955863163648598050248101654837671789854540977094132364299288637200998549552781332821525499609021141443922858772728458406060095956023683944877011274905674179959828192191639370762362748202203197486275459865033204013257995837552696520770966779201566350429499032204534553953663064441670888667035250712180469667422421138491398323534919700269164743403225018719322566065800539150199409641437122130227493527234155135787993449494986136865075685124059165226085996038982784429353254645831949702084816998824656244450329176398474615393188544868269202744463249713594837603556241477371932199418964463315807745311671215311787163772079138814473014082 1820235252393461483549429663991268740974319645745180788057864068184457015871589933939630742003692830773960480095110253061058855257663965885517453844010716666228714037993133964145042717060582173247568130444005416056578404052498193281216218711129163111586859508628393004288537819207470409322855933295489245377152472286042522320614334757324420695499791927569377091222825407945327794408162737750651718350212836618037289183219455727486630159199484801923906245224695979234000804056897495188376055623066082666005507964519683111609713268724459426716225933986326861907118611349479610795982630116428607882938301819996156652346567510671795825748352615198789744585278347414946567403655837485396786078729368365122985512984406091964578794944377341385951466163094381234238789435037443969470770703090599970975617067672105556845888917145356243593344622224320084179810878761047856068531809923143503080562011615404516802288105663198154723406218168915601846614141984105204643501342942620096714520111241540399863673151603642301404409840358183648179566340931384552199481068211435439782773760516713279472221745853784902755617633376486020173202673490677702308955679976331252425216007228889799633092522853071794099712157413744366673873815969476384169858101054647551223623919195524624144114235361794845414538087876901490666447378367632431799191359335985353447922467563526360843405596125702695904337624019290984837361966870992226056274760026993384050340366177222424699577083277092846701037484333762657028597368341227310306473754386962015547837055281380925890035112537191991635694597400260188449843372795736979865399532683474457839526021209115705144141171580365950396826224501321291683482680012247292248920955422785923977331485020256753433946157972242718412007421005803941270019785929488579345244876761 2945202505893364067642112677841363215217459026955678311968565025512999715237910533892953718429385813805805798698561459348738536433605135074846500715829235452189491877518681036317638129040811584761122750222683220988175674082419501123771510372665938745045357652213779409151087363413916691462496333665768047479277555487861861297585275672000239036399091396530827606120534882444634792586075605695543961198982936049067277735006678682495425677956774834394990963938385318404598254369746314636052797507974293634118823813500277747824947046230604928604458021296079956510944335269648531219722475284963597391401404966298910861323557504846030227845222978601325382358383209263403904019133978721820433264945006527517989265908882496348737339004414968427609592541622470351666836002525914362391128203488123777063972500698201675384606519363480090366889310018959542083970135161480160536176557566417152801980091138111295528859037494645221407483006756685192236809474196352069639194038867762577391008412415851587345105405998998584732716504694776785828217139247590920269800891899298819451129887061868533108480730909161562250562458393916033463143493917359565710232146932194416073814057476991454470764312707612771193844521713033003874872365522257716991383600663668692667546777968253082550174331317818529359415099151807164846407206559824071169953722084187556645408743023391394047418854121540248600858394986070186403712396370024430590828713690057825721229033212473136880046750699513985192435807868682357297762111744452329025796320452762554698036464922818048020262606064426146771482590849755174586708448480861039030625618679513440623955374463761537093843256397364775053070674830497690158098073200792160518123699886035637572169088576498230805878357391207181727815166317475156581806949701567718159717890843 4765437758286825551191542341832631956191778672700859100026429093697456731109500467832584460433078644579766278793671712409797391691269100960363954559839952118418205915511815000462680846101393758008690880666688637044754078134917694404987729083795101856632217160842172413439625182621387100785352266961257292856430027773904383618199610429324659731898883324100204697343360290389962586994238343446195679549195772667104566918226134409982055837156259636318897209163081297638599058426643809824428853131040376300124331778019960859434660314955064355320683955282406818418062946619128142015705105401392205274339706786295067513670125015517826053593575593800115126943661556678350471422789816207217219343674374892640974778893288588313316133948792309813561058704716851585905625437563358331861898906578723748039589568370307232230495436508836333960233932243279626263781013922528016604708367489560655882542102753515812331147143157843376130889224925600794083423616180457274282695381810382674105528523657391987208778557602640886137126345052960434007783480178975472469281960110734259233903647578581812580702476762946465006180091770402053636346167408037268019187826908525668499030064705881254103856835560684565293556679126777370548746181491734101161241701718316243891170697163777706694288566679613374773953187028708655512854584927456502969145081420172910093331210586917754890824450247242944505196019005361171241074363241016656647103473717051209771569399389695561579623833976606831893473292202445014326359480085679639332270074839724570245873520204198973910297718601618138407177188250015363036551821276598018896025151362987898463481395672877242237984427977730725449896899331818981841580753213039452767044655308821561549500573596754984239824515363449900139822587323279097851826735631056297504962767604 7710640264180189618833655019673995171409237699656537411994994119210456446347411001725538178862464458385572077492233171758535928124874236035210455275669187570607697793030496036780318975142205342769813630889371858032929752217337195528759239456461040601677574813055951822590712546035303792247848600627025340335707583261766244915784886101324898768297974720631032303463895172834597379580313949141739640748178708716171844653232813092477481515113034470713888173101466616043197312796390124460481650639014669934243155591520238607259607361185669283925141976578486774929007281888776673235427580686355802665741111752593978374993682520363856281438798572401440509302044765941754375441923794929037652608619381420158964044802171084662053472953207278241170651246339321937572461440089272694253027110066847525103562069068508907615101955872316424327123242262239168347751149084008177140884925055977808684522193891627107860006180652488597538372231682285986320233090376809343921889420678145251496536936073243574553883963601639470869842849747737219836000619426566392739082852010033078685033534640450345689183207672108027256742550164318087099489661325396833729419973840720084572844122182872708574621148268297336487401200839810374423618547013991818152625302381984936558717475132030789244462897997431904133368286180515820359261791487280574139098803504360466738739953610309148938243304368783193106054413991431357644786759611041087237932187407109035492798432602168698459670584676120817085909100071127371624121591830131968358066395292487124943909985127017021930560324666044285178659779099770537623260269757459057926650770042501339087436770136638779331827684375095500502967574162316671999678826413831613285168355194857199121669662173253215045702872754657081867637753640754254433633685332624015664680658447 12476078022467015170025197361506627127601016372357396512021423212907913177456911469558122639295543102965338356285904884168333319816143336995574409835509139689025903708542311037242999821243599100778504511556060495077683830352254889933746968540256142458309791973898124236030337728656690893033200867588282633192137611035670628533984496530649558500196858044731237000807255463224559966574552292587935320297374481383276411571458947502459537352269294107032785382264547913681796371223033934284910503770055046234367487369540199466694267676140733639245825931860893593347070228507904815251132686087748007940080818538889045888663807535881682335032374166201555636245706322620104846864713611136254871952293756312799938823695459672975369606901999588054731709951056173523478086877652631026114926016645571273143151637438816139845597392381152758287357174505518794611532163006536193745593292545538464567064296645142920191153323810331973669261456607886780403656706557266618204584802488527925602065459730635561762662521204280357006969194800697653843784099605541865208364812120767337918937182219032158269885684435054492262922641934720140735835828733434101748607800749245753071874186888753962678477983828981901780957879966587744972364728505725919313867004100301180449888172295808495938751464677045278907321473209224475872116376414737077108243884924533376832071164197226903829067754616026137611250432996792528885861122852057743885035661124160245264367831991864260039294418652727648979382392273572385950481071915811607690336470132211695189783505331215995840858043267662423585836967349785900659812091034057076822675921405489237550918165809516021569812112352826225952864473494135653841259579626871066052213010503678760671170235770008199285527388118106982007460340964033352285460420963680313169643426051 20186718286647204788858852381180622299010254072013933924016417332118369623804322471283660818158007561350910433778138055926869247941017573030784865111178327259633601501572807074023318796385804443548318142445432353110613582569592085462506207996717183059987366786954076058621050274691994685281049468215307973527845194297436873449769382631974457268494832765362269304271150636059157346154866241729674961045553190099448256224691760594937018867382328577746673555366014529724993684019424058745392154409069716168610642961060438073953875037326402923170967908439380368276077510396681488486560266774103810605821930291483024263657490056245538616471172738602996145547751088561859222306637406065292524560913137732958902868497630757637423079855206866295902361197395495461050548317741903720367953126712418798246713706507325047460699348253469182614480416767757962959283312090544370886478217601516273251586490536770028051159504462820571207633688290172766723889796934075962126474223166673177098602395803879136316546484805919827876812044548434873679784719032108257947447664130800416603970716859482503959068892107162519519665192099038227835325490058830935478027774589965837644718309071626671253099132097279238268359080806398119395983275519717737466492306482286117008605647427839285183214362674477183040689759389740296231378167902017651247342688428893843570811117807536052767311058984809330717304846988223886530647882463098831122967848531269280757166264594032958498965003328848466065291492344699757574602663745943576048402865424698820133693490458233017771418367933706708764496746449556438283072360791516134749326691447990576638354935946154800901639796727921726455832047656452325840938406040702679337381365698535959792839897943261414331230260872764063875098094604787606719094106296304328834324084498 32662796309114219958884049742687249426611270444371330436037840545026282801261233940841783457453550664316248790064042940095202567757160910026359274946687466948659505210115118111266318617629403544326822654001492848188297412921846975396253176536973325518297158760852200294651388003348685578314250335803590606719982805333107501983753879162624015768691690810093506305078406099283717312729418534317610281342927671482724667796150708097396556219651622684779458937630562443406790055242457993030302658179124762402978130330600637540648142713467136562416793840300273961623147738904586303737692952861851818545902748830372070152321297592127220951503546904804551781793457411181964069171351017201547396513206894045758841692193090430612792686757206454350634071148451668984528635195394534746482879143357990071389865343946141187306296740634621940901837591273276757570815475097080564632071510147054737818650787181912948242312828273152544876895144898059547127546503491342580331059025655201102700667855534514698079209006010200184883781239349132527523568818637650123155812476251567754522907899078514662228954576542217011782587834033758368571161318792265037226635575339211590716592495960380633931577115926261140049316960772985864368348004025443656780359310582587297458493819723647781121965827351522461948011232598964772103494544316754728355586573353427220402882282004762956596378813600835468328555279985016415416509005315156575008003509655429526021534096585897218538259421981576115044673884618272143525083735661755183738739335556910515323476995789449013612276411201369132350333713799342338942884451825573211572002612853479814189273101755670822471451909080747952408696521150587979682197985667573745389594376202214720464010133713269613616757648990871045882558435568820959004554527259984642003967510549 52849514595761424747742902123867871725621524516385264360054257877144652425065556412125444275611558225667159223842180996022071815698178483057144140057865794208293106711687925185289637414015207987875140796446925201298910995491439060858759384533690508578284525547806276353272438278040680263595299804018898580247827999630544375433523261794598473037186523575455775609349556735342874658884284776047285242388480861582172924020842468692333575087033951262526132492996576973131783739261882051775694812588194478571588773291661075614602017750793539485587761748739654329899225249301267792224253219635955629151724679121855094415978787648372759567974719643407547927341208499743823291477988423266839921074120031778717744560690721188250215766612413320646536432345847164445579183513136438466850832270070408869636579050453466234766996088888091123516318008041034720530098787187624935518549727748571011070237277718682976293472332735973116084528833188232313851436300425418542457533248821874279799270251338393834395755490816120012760593283897567401203353537669758381103260140382368171126878615937997166188023468649379531302253026132796596406486808851095972704663349929177428361310805032007305184676248023540378317676041579383983764331279545161394246851617064873414467099467151487066305180190025999644988700991988705068334872712218772379602929261782321063973693399812299009363689872585644799045860126973240301947156887778255406130971358186698806778700361179930177037224425310424581109965376962971901099686399407698759787142200981609335457170486247682031383694779135075841114830460248898777225956812617089346321329304301470390827628037701825623373091705808669678864528568807040305523136391708276424726975741900750680256850031656531027947987909863635109757656530173608565723648633556288970838291595047 85512310904875644706626951866555121152232794960756594796092098422170935226326790352967227733065108889983408013906223936117274383455339393083503415004553261156952611921803043296555956031644611532201963450448418049487208408413286036255012561070663834096581684308658476647923826281389365841909550139822489186967810804963651877417277140957222488805878214385549281914427962834626591971613703310364895523731408533064897591816993176789730131306685573947305591430627139416538573794504340044805997470767319240974566903622261713155250160464260676048004555589039928291522372988205854095961946172497807447697627427952227164568300085240499980519478266548212099709134665910925787360649339440468387317587326925824476586252883811618863008453369619774997170503494298833430107818708530973213333711413428398941026444394399607422073292829522713064418155599314311478100914262284705500150621237895625748888888064900595924535785161009125660961423978086291860978982803916761122788592274477075382499938106872908532474964496826320197644374523246699928726922356307408504259072616633935925649786515016511828416978045191596543084840860166554964977648127643361009931298925268389019077903300992387939116253363949801518366993002352369848132679283570605051027210927647460711925593286875134847427146017377522106936712224587669840438367256535527107958515835135748284376575681817061965960068686186480267374415406958256717363665893093411981138974867842128332800234457765827395575483847292000696154639261581244044624770135069453943525881536538519850780647482037131044995971190336444973465164174048241116168841264442662557893331917154950205016901139457496445844543614889417631273225089957628285205334377375850170116570118102965400720860165369800641564745558854506155640214965742429524728203160816273612842259105596 138361825500637069454369853990422992877854319477141859156146356299315587651392346765092672008676667115650567237748404932139346199153517876140647555062419055365245718633490968481845593445659819520077104246895343250786119403904725097113771945604354342674866209856464753001196264559430046105504849943841387767215638804594196252850800402751820961843064737961005057523777519569969466630497988086412180766119889394647070515837835645482063706393719525209831723923623716389670357533766222096581692283355513719546155676913922788769852178215054215533592317337779582621421598237507121888186199392133763076849352107074082258984278872888872740087452986191619647636475874410669610652127327863735227238661446957603194330813574532807113224219982033095643706935840145997875687002221667411680184543683498807810663023444853073656840288918410804187934473607355346198631013049472330435669170965644196759959125342619278900829257493745098777045952811274524174830419104342179665246125523298949662299208358211302366870719987642440210404967807144267329930275893977166885362332757016304096776665130954508994605001513840976074387093886299351561384134936494456982635962275197566447439214106024395244300929611973341896684669043931753831897010563115766445274062544712334126392692754026621913732326207403521751925413216576374908773239968754299487561445096918069348350269081629360975323758558772125066420275533931497019310822780871667387269946226028827139578934818945757572612708272602425277264604638544215945724456534477152703313023737520129186237817968284813076379665969471520814579994634297139893394798077059751904214661221456420595844529177159322069217635320698087310137753658764668590728470769084126594843545860003716080977710197026331669512733468718141265397871495916038090451851794372562583680550700643 223874136405512714160996805856978114030087114437898453952238454721486522877719137118059899741741776005633975251654628868256620582608857269224150970066972316522198330555294011778401549477304431052279067697343761300273327812318011133368784506675018176771447894165123229649120090840819411947414400083663876954183449609557848130268077543709043450648942952346554339438205482404596058602111691396777076289851297927711968107654828822271793837700405099157137315354250855806208931328270562141387689754122832960520722580536184501925102338679314891581596872926819510912943971225712975984148145564631570524546979535026309423552578958129372720606931252739831747345610540321595398012776667304203614556248773883427670917066458344425976232673351652870640877439334444831305794820930198384893518255096927206751689467839252681078913581747933517252352629206669657676731927311757035935819792203539822508848013407519874825365042654754224438007376789360816035809401908258940788034717797776025044799146465084210899345684484468760408049342330390967258657198250284575389621405373650240022426451645971020823021979559032572617471934746465906526361783064137817992567261200465955466517117407016783183417182975923143415051662046284123680029689846686371496301273472359794838318286040901756761159472224781043858862125441164044749211607225289826595519960932053817632726844763446422941283827244958605333794690940889753736674488673965079368408921093870955472379169276711584968188192119894425973419243900125459990349226669546606646838905274058649037018465450321944121375637159807965788045158808345381009563639341502414462107993138611370800861430316616818515062178935587504941410978748722296875933805146459976764960115978106681481698570362396132311077479027572647421038086461658467615180054955188836196522809806239 362235961906149783615366659847401106907941433915040313108384811020802110529111483883152571750418443121284542489403033800395966781762375145364798525129391371887444049188784980260247142922964250572356171944239104551059447216222736230482556452279372519446314104021587982650316355400249458052919250027505264721399088414152044383118877946460864412492007690307559396961983001974565525232609679483189257055971187322359038623492664467753857544094124624366969039277874572195879288862036784237969382037478346680066878257450107290694954516894369107115189190264599093534365569463220097872334344956765333601396331642100391682536857831018245460694384238931451394982086414732265008664903995167938841794910220841030865247880032877233089456893333685966284584375174590829181481823151865796573702798780426014562352491284105754735753870666344321440287102814025003875362940361229366371488963169184019268807138750139153726194300148499323215053329600635340210639821012601120453280843321074974707098354823295513266216404472111200618454310137535234588587474144261742274983738130666544119203116776925529817626981072873548691859028632765258087745918000632274975203223475663521913956331513041178427718112587896485311736331090215877511926700409802137941575336017072128964710978794928378674891798432184565610787538657740419657984847194044126083081406028971886981077113845075783916607585803730730400214966474821250755985311454836746755678867319899782611958104095657342540800900392496851250683848538669675936073683204023759350151929011578778223256283418606757197755303129279486602625153442642520902958437418562166366322654360067791396705959493776140584279814256285592251548732407486965466662275915544103359803661838110397562676280559422463980590212496290788686435957957574505705631906749561398780203360506882 586110098311662497776363465704379220938028548352938767060623265742288633406830621001212471492160219126918517741057662668652587364371232414588949495196363688409642379744078992038648692400268681624635239641582865851332775028540747363851340958954390696217761998186711212299436446241068870000333650111169141675582538023709892513386955490169907863140950642654113736400188484379161583834721370879966333345822485250071006731147493290025651381794529723524106354632125428002088220190307346379357071791601179640587600837986291792620056855573683998696786063191418604447309540688933073856482490521396904125943311177126701106089436789147618181301315491671283142327696955053860406677680662472142456351158994724458536164946491221659065689566685338836925461814509035660487276644082064181467221053877353221314041959123358435814667452414277838692639732020694661552094867672986402307308755372723841777655152157659028551559342803253547653060706389996156246449222920860061241315561118850999751897501288379724165562088956579961026503652467926201847244672394546317664605143504316784141629568422896550640648960631906121309330963379231164614107701064770092967770484676129477380473448920057961611135295563819628726787993136500001191956390256488509437876609489431923803029264835830135436051270656965609469649664098904464407196454419333952678601366961025704613803958608522206857891413048689335734009657415711004492659800128801826124087788413770738084337273372368927508989092512391277224103092438795135926422909873570365996990834285637427260274748868928701319130940289087452390670312250987901912522076760064580828430647498679162197567389810392959099341993191873097192959711156209262342596081062004080124763777816217079044374850921818596291667691523863436107474044419232973320811961704750234976726170313121 948346060217812281391730125551780327845969982267979080169008076763090743935942104884365043242578662248203060230460696469048554146133607559953748020325755060297086428932863972298895835323232932196991411585821970402392222244763483594333897411233763215664076102208299194949752801641318328053252900138674406396981626437861936896505833436630772275632958332961673133362171486353727109067331050363155590401793672572430045354640157757779508925888654347891075393910000000197967509052344130617326453829079526320654479095436399083315011372468053105811975253456017697981675110152153171728816835478162237727339642819227092788626294620165863641995699730602734537309783369786125415342584657640081298146069215565489401412826524098892155146460019024803210046189683626489668758467233929978040923852657779235876394450407464190550421323080622160132926834834719665427457808034215768678797718541907861046462290907798182277753642951752870868114035990631496457089043933461181694596404439925974458995856111675237431778493428691161644957962605461436435832146538808059939588881634983328260832685199822080458275941704779670001189992011996422701853619065402367942973708151792999294429780433099140038853408151716114038524324226715878703883090666290647379451945506504052767740243630758514110943069089150175080437202756644884065181301613378078761682772989997591594881072453597990774498998852420066134224623890532255248645111583638572879766655733670520696295377468026270049789992904888128474786940977464811862496593077594125347142763297216205483531032287535458516886243418366938993295465693630422815480514178626747194753301858746953594273349304169099683621807448158689444508443563696227809258356977548183484567439654327476607051131481241060272257904020154224793910002376807479026443868454311633756929530820003 1534456158529474779168093591256159548783998530620917847229631342505379377342772725885577514734738881375121577971518359137701141510504839974542697515522118748706728808676942964337544527723501613821626651227404836253724997273304230958185238370188153911881838100395010407249189247882387198053586550249843548072564164461571829409892788926800680138773908975615786869762359970732888692902052421243121923747616157822501052085787651047805160307683184071415181748542125428200055729242651476996683525620680705961242079933422690875935068228041737104508761316647436302428984650841086245585299325999559141853282953996353793894715731409313481823297015222274017679637480324839985822020265320112223754497228210289947937577773015320551220836026704363640135508004192662150156035111315994159508144906535132457190436409530822626365088775494899998825566566855414326979552675707202170986106473914631702824117443065457210829312985755006418521174742380627652703538266854321242935911965558776974210893357400054961597340582385271122671461615073387638283076818933354377604194025139300112402462253622718631098924902336685791310520955391227587315961320130172460910744192827922476674903229353157101649988703715535742765312317363215879895839480922779156817328554995935976570769508466588649546994339746115784550086866855549348472377756032712031440284139951023296208685031062120197632390411901109401868234281306243259741304911712440399003854444147441258780632650840395197558779085417279405698890033416259947788919502951164491344133597582853632743805781156464159836017183707454391383965777944618324728002590938691328023183949357426115791840739114562058782963800640031786637468154719905490151854438039552263609331217470544555651425982403059656563925595544017660901384046796040452347255830159061868733655701133124 2482802218747287060559823716807939876629968512888896927398639419268470121278714830769942557977317543623324638201979055606749695656638447534496445535847873809003815237609806936636440363046734546018618062813226806656117219518067714552519135781421917127545914202603309602198942049523705526106839450388517954469545790899433766306398622363431452414406867308577460003124531457086615801969383471606277514149409830394931097440427808805584669233571838419306257142452125428398023238294995607614009979449760232281896559028859089959250079600509790210320736570103454000410659760993239417314116161477721379580622596815580886683342026029479345465292714952876752216947263694626111237362849977752305052643297425855437338990599539419443375982486723388443345554193876288639824793578549924137549068759192911693066830859938286816915510098575522158958493401690133992407010483741417939664904192456539563870579733973255393107066628706759289389288778371259149160627310787782424630508369998702948669889213511730199029119075813962284316419577678849074718908965472162437543782906774283440663294938822540711557200844041465461311710947403224010017814939195574828853717900979715475969333009786256241688842111867251856803836641589931758599722571589069804196780500502440029338509752097347163657937408835265959630524069612194232537559057646090110201966912941020887803566103515718188406889410753529468002458905196775514989950023296078971883621099881111779476928028308421467608569078322167534173676974393724759651416096028758616691276360880069838227336813443999618352903427125821330377261243638248747543483105117318075217937251216173069386114088418731158466585608088190476081976598283601717961112795017100447093898657124872032258477113884300716836183499564171885695294049172847931373699698613373502490585231953127 4017258377276761839727917308064099425413967043509814774628270761773849498621487556655520072712056424998446216173497414744450837167143287509039143051369992557710544046286749900973984890770236159840244714040631642909842216791371945510704374151610071039427752302998320009448131297406092724160426000638361502542109955361005595716291411290232132553180776284193246872886891427819504494871435892849399437897025988217432149526215459853389829541255022490721438890994250856598078967537647084610693505070440938243138638962281780835185147828551527314829497886750890302839644411834325662899415487477280521433905550811934680578057757438792827288589730175150769896584744019466097059383115297864528807140525636145385276568372554739994596818513427752083481062198068950789980828689865918297057213665728044150257267269469109443280598874070422157784059968545548319386563159448620110651010666371171266694697177038712603936379614461765707910463520751886801864165577642103667566420335557479922880782570911785160626459658199233406987881192752236713001985784405516815147976931913583553065757192445259342656125746378151252622231902794451597333776259325747289764462093807637952644236239139413343338830815582787599569148958953147638495562052511848961014109055498376005909279260563935813204931748581381744180610936467743581009936813678802141642251052892044184012251134577838386039279822654638869870693186503018774731254935008519370887475544028553038257560679148816665167348163739446939872567007809984707440335598979923108035409958462923470971142594600463778188920610833275721761227021582867072271485696056009403241121200573599185177954827533293217249549408728222262719444753003507208112967233056652710703229874595416587909903096287360373400109095108189546596678095968888383720955528772435371224240933086251 6500060596024048900287741024872039302043935556398711702026910181042319619900202387425462630689373968621770854375476470351200532823781735043535588587217866366714359283896556837610425253816970705858862776853858449565959436309439660063223509933031988166973666505601629611647073346929798250267265451026879457011655746260439362022690033653663584967587643592770706876011422884906120296840819364455676952046435818612363246966643268658974498774826860910027696033446376284996102205832642692224703484520201170525035197991140870794435227429061317525150234456854344303250304172827565080213531648955001901014528147627515567261399783468272172753882445128027522113532007714092208296745965275616833859783823062000822615558972094159437972801000151140526826616391945239429805622268415842434606282424920955843324098129407396260196108972645944316742553370235682311793573643190038050315914858827710830565276911011967997043446243168524997299752299123145951024792888429886092196928705556182871550671784423515359655578734013195691304300770431085787720894749877679252691759838687866993729052131267800054213326590419616713933942850197675607351591198521322118618179994787353428613569248925669585027672927450039456372985600543079397095284624100918765210889556000816035247789012661282976862869157416647703811135006079937813547495871324892251844217965833065071815817238093556574446169233408168337873152091699794289721204958304598342771096643909664817734488707457238132775917242061614474046243982203709467091751695008681724726686319342993309198479408044463396541824037959097052138488265221115819814968801173327478459058451789772254564068915952024375716135016816412738801421351287108926074080028073753157797128531720288620168380210171661090236292594672361432291972145141736315094655227385808873714826165039378 10517318973300810740015658332936138727457902599908526476655180942816169118521689944080982703401430393620217070548973885095651369990925022552574731638587858924424903330183306738584410144587206865699107490894490092475801653100811605573927884084642059206401418808599949621095204644335890974427691451665240959553765701621444957738981444943895717520768419876963953748898314312725624791712255257305076389943461806829795396492858728512364328316081883400749134924440627141594181173370289776835396989590642108768173836953422651629620375257612844839979732343605234606089948584661890743112947136432282422448433698439450247839457540907065000042472175303178292010116751733558305356129080573481362666924348698146207892127344648899432569619513578892610307678590014190219786450958281760731663496090648999993581365398876505703476707846716366474526613338781230631180136802638658160966925525198882097259974088050680600979825857630290705210215819875032752888958466071989759763349041113662794431454355335300520282038392212429098292181963183322500722880534283196067839736770601450546794809323713059396869452336797767966556174752992127204685367457847069408382642088594991381257805488065082928366503743032827055942134559496227035590846676612767726224998611499192041157068273225218790067800905998029447991745942547681394557432685003694393486469018725109255828068372671394960485449056062807207743845278202813064452459893313117713658572187938217855992049386606054797943265405801061413918810990013694174532087293988604832762096277805916780169622002644927174730744648792372773899715286803982892086454497229336881700179652363371439742023743485317592965684425544635001520866104290616134187047261130405868500358406315705208078283306459021463636401689780550978888650241110624698815610756158244244939067098125629 17017379569324859640303399357808178029501838156307238178682091123858488738421892331506445334090804362241987924924450355446851902814706757596110320225805725291139262614079863576194835398404177571557970267748348542041761089410251265637151394017674047373375085314201579232742277991265689224694956902692120416565421447881884319761671478597559302488356063469734660624909737197631745088553074621760753341989897625442158643459501997171338827090908744310776830957887003426590283379202932469060100474110843279293209034944563522424055602686674162365129966800459578909340252757489455823326478785387284323462961846066965815100857324375337172796354620431205814123648759447650513652875045849098196526708171760147030507686316743058870542420513730033137134294981959429649592073226697603166269778515569955836905463528283901963672816819362310791269166709016912942973710445828696211282840384026592927825250999062648598023272100798815702509968118998178703913751354501875851960277746669845665982126139758815879937617126225624789596482733614408288443775284160875320531496609289317540523861454980859451082778927217384680490117603189802812036958656368391527000822083382344809871374736990752513394176670482866512315120160039306432686131300713686491435888167500008076404857285886501766930670063414677151802880948627619208104928556328586645330686984558174327643885610764951534931618289470975545616997369902607354173664851617716056429668831847882673726538094063292930719182647862675887965054972217403641623838988997286557488782597148910089368101410689390571272568686751469826038203552025098711901423298402664360159238104153143694306092659437341968681819442361047740322287455577725060261127289204159026297486938035993828246663516630682553872694284452912411180622386252361013910265983544053118653893263165007 27534698542625670380319057690744316756959740756215764655337272066674657856943582275587428037492234755862204995473424240542503272805631780148685051864393584215564165944263170314779245542991384437257077758642838634517562742511062871211079278102316106579776504122801528853837482635601580199122648354357361376119187149503329277500652923541455020009124483346698614373808051510357369880265329879065829731933359432271954039952360725683703155406990627711525965882327630568184464552573222245895497463701485388061382871897986174053675977944287007205109699144064813515430201342151346566439425921819566745911395544506416062940314865282402172838826795734384106133765511181208819009004126422579559193632520458293238399813661391958303112040027308925747441973571973619869378524184979363897933274606218955830486828927160407667149524666078677265795780047798143574153847248467354372249765909225475025085225087113329199003097958429106407720183938873211456802709820573865611723626787783508460413580495094116400219655518438053887888664696797730789166655818444071388371233379890768087318670778693918847952231264015152647046292356181930016722326114215460935383464171977336191129180225055835441760680413515693568257254719535533468276977977326454217660886778999200117561925559111720556998470969412706599794626891175300602662361241332281038817156003283283583471953983436346495417067345533782753360842648105420418626124744930833770088241019786100529718587480669347728662448053663737301883865962231097816155926282985891390250878874954826869537723413334317746003313335543842599937918838829081603987877795632001241859417756516515134048116402922659561647503867905682741843153559868341194448174550334564894797845344351699036324946823089704017509095974233463390069272627362985712725876739702297363592960361290636 44552078111950530020622457048552494786461578912523002834019363190533146595365474607093873371583039118104192920397874595989355175620338537744795372090199309506703428558343033890974080941395562008815048026391187176559323831921314136848230672119990153953151589437003108086579760626867269423817605257049481792684608597385213597262324402139014322497480546816433274998717788707989114968818404500826583073923257057714112683411862722855041982497899372022302796840214633994774747931776154714955597937812328667354591906842549696477731580630961169570239665944524392424770454099640802389765904707206851069374357390573381878041172189657739345635181416165589920257414270628859332661879172271677755720340692218440268907499978135017173654460541038958884576268553933049518970597411676967064203053121788911667392292455444309630822341485440988057064946756815056517127557694296050583532606293252067952910476086175977797026370059227922110230152057871390160716461175075741463683904534453354126395706634852932280157272644663678677485147430412139077610431102604946708902729989180085627842532233674778299035010191232537327536409959371732828759284770583852462384286255359681001000554962046587955154857083998560080572374879574839900963109278040140709096774946499208193966782844998222323929141032827383751597507839802919810767289797660867684147842987841457911115839594201298030348685635004758298977840018008027772799789596548549826517909851633983203445125574732640659381630701526413189848920934448501457779765271983177947739661472103736958905824824023708317275882022295312425976122390854180315889301094034665602018655860669658828354209062360001530329323310266730482165441015446066254709301839538723921095332282387692864571610339720386571381790258686375801249895013615346726636142723246350482246853624455643 72086776654576200400941514739296811543421319668738767489356635257207804452309056882681301409075273873966397915871298836531858448425970317893480423954592893722267594502606204205753326484386946446072125785034025811076886574432377008059309950222306260532928093559804636940417243262468849622940253611406843168803795746888542874762977325680469342506605030163131889372525840218346484849083734379892412805856616489986066723364223448538745137904889999733828762722542264562959212484349376960851095401513814055415974778740535870531407558575248176775349365088589205940200655441792148956205330629026417815285752935079797940981487054940141518474008211899974026391179781810068151670883298694257314913973212676733507307313639526975476766500568347884632018242125906669388349121596656330962136327728007867497879121382604717297971866151519665322860726804613200091281404942763404955782372202477542977995701173289306996029468017657028517950335996744601617519170995649607075407531322236862586809287129947048680376928163101732565373812127209869866777086921049018097273963369070853715161203012368697146987241455247689974582702315553662845481610884799313397767750427337017192129735187102423396915537497514253648829629599110373369240087255366594926757661725498408311528708404109942880927612002240090351392134730978220413429651038993148722964998991124741494587793577637644525765752980538541052338682666113448191425914341479383596606150871420083733163713055401988388044078755190150491732786896679599273935691554969069337990540347058563828443548237358026063279195357839155025914041229683261919877178889666666843878073617186173962402325465282661091976827178172413224008594575314407449157476389873288815893177626739391900896557162810090588890886232919839191319167640978332439362019462948647845839813985746279 116638854766526730421563971787849306329882898581261770323375998447740951047674531489775174780658312992070590836269173432521213624046308855638275796044792203228971023060949238096727407425782508454887173811425212987636210406353691144907540622342296414486079682996807745026997003889336119046757858868456324961488404344273756472025301727819483665004085576979565164371243628926335599817902138880718995879779873547700179406776086171393787120402789371756131559562756898557733960416125531675806693339326142722770566685583085567009139139206209346345589031033113598364971109541432951345971235336233268884660110325653179819022659244597880864109189628065563946648594052438927484332762470965935070634313904895173776214813617661992650420961109386843516594510679839718907319719008333298026339380849796779165271413838049026928794207636960653379925673561428256608408962637059455539314978495729610930906177259465284793055838076884950628180488054615991778235632170725348539091435856690216713204993764799980960534200807765411242858959557622008944387518023653964806176693358250939343003735246043475446022251646480227302119112274925395674240895655383165860152036682696698193130290149149011352070394581512813729402004478685213270203196533406735635854436671997616505495491249108165204856753035067474102989642570781140224196940836654016407112841978966199405703633171838942556114438615543299351316522684121475964225703938027933423124060723054066936608838630134629047425709456716563681581707831128100731715456826952247285730201819162300787349373061381734380555077380134467451890163620537442235766479983701332445896729477855832790756534527642662622306150488439143706174035590760473703866778229412012736988509909127084765468167502530477160272676491606214992569062654593679165998162186194998328086667610201922 188725631421102930822505486527146117873304218250000537812732633704948755499983588372456476189733586866036988752140472269053072072472279173531756219999385096951238617563555442302480733910169454900959299596459238798713096980786068152966850572564602675019007776556612381967414247151804968669698112479863168130292200091162299346788279053499953007510690607142697053743769469144682084666985873260611408685636490037686246130140309619932532258307679371489960322285299163120693172900474908636657788740839956778186541464323621437540546697781457523120938396121702804305171764983225100302176565965259686699945863260732977760004146299538022382583197839965537973039773834248995636003645769660192385548287117571907283522127257188968127187461677734728148612752805746388295668840604989628988475708577804646663150535220653744226766073788480318702786400366041456699690367579822860495097350698207153908901878432754591789085306094541979146130824051360593395754803166374955614498967178927079300014280894747029640911128970867143808232771684831878811164604944702982903450656727321793058164938258412172593009493101727917276701814590479058519722506540182479257919787110033715385260025336251434748985932079027067378231634077795586639443283788773330562612098397496024817024199653218108085784365037307564454381777301759360637626591875647165130077840970090940900291426749476587081880191596081840403655205350234924155651618279507317019730211594474150669772551685536617435469788211906714173314494727807700005651148381921316623720742166220864615792921298739760443834272737973622477804204850220704155643658873367999289774803095042006753158859992925323714282977666611556930182630166074881153024254619285301552881687535866476666364724665340567749163562724526054183888230295572011605360181649143646173926481595948201 305364486187629661244069458314995424203187116831262308136108632152689706547658119862231650970391899858107579588409645701574285696518588029170032016044177300180209640624504680399208141335951963355846473407884451786349307387139759297874391194906899089505087459553420126994411251041141087716455971348319493091780604435436055818813580781319436672514776184122262218115013098071017684484888012141330404565416363585386425536916395791326319378710468743246091881848056061678427133316600440312464482080166099500957108149906707004549685836987666869466527427154816402670142874524658051648147801301492955584605973586386157579026805544135903246692387468031101919688367886687923120336408240626127456182601022467081059736940874850960777608422787121571665207263485586107202988559613322927014815089427601425828421949058702771155560281425440972082712073927469713308099330216882316034412329193936764839808055692219876582141144171426929774311312105976585173990435337100304153590403035617296013219274659547010601445329778632555051091731242453887755552122968356947709627350085572732401168673504455648039031744748208144578820926865404454193963402195565645118071823792730413578390315485400446101056326660539881107633638556480799909646480322180066198466535069493641322519690902326273290641118072375038557371419872540500861823532712301181537190682949057140305995059921315529637994630211625139754971728034356400119877322217535250442854272317528217606381390315671246482895497668623277854896202558935800737366605208873563909450943985383165403142294360121494824389350118108089929694368470758146391410138857069331735671532572897839543915394520567986336589128155050700636356665756835354856891032848697314289870197444993561431832892167871044909436239216132269176457292950165690771358343835338644502013149206150123 494090117608732592066574944842141542076491335081262845948841265857638462047641708234688127160125486724144568340550117970627357768990867202701788236043562397131448258188060122701688875246121418256805773004343690585062404367925827450841241767471501764524095236110032508961825498192946056386154083828182661222072804526598355165601859834819389680025466791264959271858782567215699769151873885401941813251052853623072671667056705411258851637018148114736052204133355224799120306217075348949122270821006056279143649614230328442090232534769124392587465823276519206975314639507883151950324367266752642284551836847119135339030951843673925629275585307996639892728141720936918756340054010286319841730888140038988343259068132039928904795884464856299813820016291332495498657400218312556003290798005406072491572484279356515382326355213921290785498474293511170007789697796705176529509679892143918748709934124974468371226450265968908920442136157337178569745238503475259768089370214544375313233555554294040242356458749499698859324502927285766566716727913059930613078006812894525459333611762867820632041237849936061855522741455883512713685908735748124375991610902764128963650340821651880850042258739566948485865272634276386549089764110953396761078633466989666139543890555544381376425483109682603011753197174299861499450124587948346667268523919148081206286486670792116719874821807706980158626933384591324275528940497042567462584483912002368276153942001207863918365285880529992028210697286743500743017753590794880533171686151604030018935215658861255268223622856081712407498573320978850547053797730437331025446335667939846297074254513493310050872105821662257566539295922910236009915287467982615842751884980860038098197616833211612658599801940658323360345523245737702376718525484482290675939630802098324 799454603796362253310644403157136966279678451912525154084949898010328168595299828096919778130517386582252147928959763672201643465509455231871820252087739697311657898812564803100897016582073381612652246412228142371411711755065586748715632962378400854029182695663452635956236749234087144102610055176502154313853408962034410984415440616138826352540242975387221489973795665286717453636761897543272217816469217208459097203973101202585171015728616857982144085981411286477547439533675789261586752901172155780100757764137035446639918371756791262053993250431335609645457514032541203598472168568245597869157810433505292918057757387809828875967972776027741812416509607624841876676462250912447297913489162506069402996009006890889682404307251977871479027279776918602701645959831635483018105887433007498319994433338059286537886636639362262868210548220980883315889028013587492563922009086080683588517989817194344953367594437395838694753448263313763743735673840575563921679773250161671326452830213841050843801788528132253910416234169739654322268850881416878322705356898467257860502285267323468671072982598144206434343668321287966907649310931313769494063434695494542542040656307052326951098585400106829593498911190757186458736244433133462959545168536483307462063581457870654667066601182057641569124617046840362361273657300249528204459206868205221512281546592107646357869452019332119913598661418947724395406262714577817905438756229530585882535332316879110401260783549153269883106899845679301480384358799668444442622630136987195422077510018982750092612972974189802337192941791736996938463936587506662761117868240837685840989649034061296387461233976712958202895961679745590866806320316679930132622082425853599530030509001082657568036041156790592536802816195903393148076869319820935177952780008248447 1293544721405094845377219347999278508356169786993788000033791163867966630642941536331607905290642873306396716269509881642829001234500322434573608488131302094443106157000624925802585891828194799869458019416571832956474116122991414199556874729849902618553277931773485144918062247427033200488764139004684815535926213488632766150017300450958216032565709766652180761832578232502417222788635782945214031067522070831531768871029806613844022652746764972718196290114766511276667745750751138210709023722178212059244407378367363888730150906525915654641459073707854816620772153540424355548796535834998240153709647280624428257088709231483754505243558084024381705144651328561760633016516261198767139644377302545057746255077138930818587200191716834171292847296068251098200303360049948039021396685438413570811566917617415801920212991853283553653709022514492053323678725810292669093431688978224602337227923942168813324594044703364747615195584420650942313480912344050823689769143464706046639686385768135091086158247277631952769740737097025420888985578794476808935783363711361783319835897030191289303114220448080268289866409777171479621335219667061893870055045598258671505690997128704207801140844139673778079364183825033573007826008544086859720623802003472973601607472013415036043492084291740244580877814221140223860723781888197874871727730787353302718568033262899763077744273827039100072225594803539048670935203211620385368023240141532954158689274318086974319626069429683261911317597132422802223402112390463324975794316288591225441012725677844005360836595830271514744691515112715847485517734317943993786564203908777532138063903547554606438333339798375215769435257602655826876721607784662545975373967406713637628228125834294270226635843097448915897148339441641095524795394804303225853892410810346771 2092999325201457098687863751156415474635848238906313154118741061878294799238241364428527683421160259888648864198469645315030644700009777666445428740219041791754764055813189728903482908410268181482110265828799975327885827878057000948272507692228303472582460627436937780874298996661120344591374194181186969849779622450667177134432741067097042385105952742039402251806373897789134676425397680488486248883991288039990866075002907816429193668475381830700340376096177797754215185284426927472295776623350367839345165142504399335370069278282706916695452324139190426266229667572965559147268704403243838022867457714129721175146466619293583381211530860052123517561160936186602509692978512111214437557866465051127149251086145821708269604498968812042771874575845169700901949319881583522039502572871421069131561350955475088458099628492645816521919570735472936639567753823880161657353698064305285925745913759363158277961639140760586309949032683964706057216586184626387611448916714867717966139215981976141929960035805764206680156971266765075211254429675893687258488720609829041180338182297514757974187203046224474724210078098459446528984530598375663364118480293753214047731653435756534752239429539780607672863095015790759466562252977220322680168970539956281063671053471285690710558685473797886150002431267980586221997439188447403076186937655558524230849579855007409435613725846371219985824256222486773066341465926198203273461996371063540041224606634966084720886852978836531794424496978102103703786471190131769418416946425578420863090235696826755453449568804461317081884456904452844423981670905450656547682072149615217979053552581615902825794573775088173972331219282401417743527928101342476107996049832567237158258634835376927794671884254239508433951155637544488672872264124124161031845190818595218 3386544046606551944065083099155693982992018025900101154152532225746261429881182900760135588711803133195045580467979526957859645934510100101019037228350343886197870212813814654706068800238462981351568285245371808284359944001048415147829382422078206091135738559210422925792361244088153545080138333185871785385705835939299943284450041518055258417671662508691583013638952130291551899214033463433700279951513358871522634946032714430273216321222146803418536666210944309030882931035178065683004800345528579898589572520871763224100220184808622571336911397847045242887001821113389914696065240238242078176577104994754149432235175850777337886455088944076505222705812264748363142709494773309981577202243767596184895506163284752526856804690685646214064721871913420799102252679931531561060899258309834639943128268572890890378312620345929370175628593249964989963246479634172830750785387042529888262973837701531971602555683844125333925144617104615648370697498528677211301218060179573764605825601750111233016118283083396159449897708363790496100240008470370496194272084321190824500174079327706047277301423494304743014076487875630926150319750265437557234173525892011885553422650564460742553380273679454385752227278840824332474388261521307182400792772543429254665278525484700726754050769765538130730880245489120810082721221076645277947914668442911826949417613117907172513357999673410320058049851026025821737276669137818588641485236512596494199913880953053059040512922408519793705742094110524905927188583580595094394211262714169646304102961374670760814286164634732831826575972017168691909499405223394650334246276058392750117117456129170509264127913573463389741766476885057244620249535886005022083370017239280874786486760669671198021307727351688424331099495079185584197667658928427386885737601628941989 5479543371808009042752946850312109457627866264806414308271273287624556229119424265188663272132963393083694444666449172272890290634519877767464465968569385677952634268627004383609551708648731162833678551074171783612245771879105416096101890114306509563718199186647360706666660240749273889671512527367058755235485458389967120418882782585152300802777615250730985265445326028080686575639431143922186528835504646911513501021035622246702409989697528634118877042307122106785098116319604993155300576968878947737934737663376162559470289463091329488032363721986235669153231488686355473843333944641485916199444562708883870607381642470070921267666619804128628740266973200934965652402473285421196014760110232647312044757249430574235126409189654458256836596447758590500004201999813115083100401831181255709074689619528365978836412248838575186697548163985437926602814233458052992408139085106835174188719751460895129880517322984885920235093649788580354427914084713303598912666976894441482571964817732087374946078318889160366130054679630555571311494438146264183452760804931019865680512261625220805251488626540529217738286565974090372679304280863813220598292006185765099601154304000217277305619703219234993425090373856615091940950514498527505080961743083385535728949578955986417464609455239336016880882676757101396304718660265092681024101606098470351180267192972914581948971725519781540043874107248512594803618135064016791914947232883660034241138487588019143761399775387356325500166591088627009630975054770726863812628209139748067167193197071497516267735733439194148908460428921621536333481076128845306881928348208007968096171008710786412089922487348551563714097696167458662363777463987347498191366067071848111944745395505048125815979611605927932765050650716730072870539923052551547917582792447537207 8866087418414560986818029949467803440619884290706515462423805513370817659000607165948798860844766526278740025134428699230749936569029977868483503196919729564150504481440819038315620508887194144185246836319543591896605715880153831243931272536384715654853937745857783632459021484837427434751650860552930540621191294329267063703332824103207559220449277759422568279084278158372238474853464607355886808787018005783036135967068336676975626310919675437537413708518066415815981047354783058838305377314407527636524310184247925783570509647899952059369275119833280912040233309799745388539399184879727994376021667703638020039616818320848259154121708748205133962972785465683328795111968058731177591962354000243496940263412715326761983213880340104470901318319672011299106454679744646644161301089491090349017817888101256869214724869184504556873176757235402916566060713092225823158924472149365062451693589162427101483073006829011254160238266893196002798611583241980810213885037074015247177790419482198607962196601972556525579952387994346067411734446616634679647032889252210690180686340952926852528790050034833960752363053849721298829624031129250777832465532077776985154576954564678019858999976898689379177317652697439424415338776019834687481754515626814790394228104440687144218660225004874147611762922246222206387439881341737958972016274541382178129684806090821754462329725193191860101923958274538416540894804201835380556432469396256528441052368541072202801912697795876119205908685199151915558163638351321958206839471853917713471296158446168277082021898073926980735036400938790228242980481352239957216174624266400718213288464839956921354050400922014953455864173052515906984026999873352520274736084311128986731232156174719323837287338957616357096150145795915657068207581980978934803320394076479196 14345630790222570029570976799779912898247750555512929770695078800995373888120031431137462132977729919362434469800877871503640227203549855635947969165489115242103138750067823421925172217535925307018925387393715375508851487759259247340033162650691225218572136932505144339125681725586701324423163387919989295856676752719234184122215606688359860023226893010153553544529604186452925050492895751278073337622522652694549636988103958923678036300617204071656290750825188522601079163674388051993605954283286475374459047847624088343040799110991281547401638841819516581193464798486100862382733129521213910575466230412521890646998460790919180421788328552333762703239758666618294447514441344152373606722464232890808985020662145900997109623069994562727737914767430601799110656679557761727261702920672346058092507507629622848051137118023079743570724921220840843168874946550278815567063557256200236640413340623322231363590329813897174395331916681776357226525667955284409126552013968456729749755237214285982908274920861716891710007067624901638723228884762898863099793694183230555861198602578147657780278676575363178490649619823811671508928311993063998430757538263542084755731258564895297164619680117924372602408026554054516356289290518362192562716258710200326123177683396673561683269680244210164492645599003323602692158541606830639996117880639852529309951999063736336411301450712973400145798065523051011344512939265852172471379702279916562682190856129091346563312473183232444706075276287778925189138693122048822019467680993665780638489355517665793349757631513121129643496829860411764576461557481085264098102972474408686309459473550743333443972888270566517169961869219974569347804463860700018466102151382977098675977551679767449653266950563544289861200796512645729938747505033530482720903186524016403 23211718208637131016389006749247716338867634846219445233118884314366191547120638597086260993822496445641174494935306570734390163772579833504431472362408844806253643231508642460240792726423119451204172223713258967405457203639413078583964435187075940873426074678362927971584703210424128759174814248472919836477868047048501247825548430791567419243676170769576121823613882344825163525346360358633960146409540658477585772955172295600653662611536879509193704459343254938417060211029171110831911331597694003010983358031872014126611308758891233606770913961652797493233698108285846250922132314400941904951487898116159910686615279111767439575910037300538896666212544132301623242626409402883551198684818233134305925284074861227759092836950334667198639233087102613098217111359302408371423004010163436407110325395730879717265861987207584300443901678456243759734935659642504638725988029405565299092106929785749332846663336642908428555570183574972360025137251197265219340437051042471976927545656696484590870471522834273417289959455619247706134963331379533542746826583435441246041884943531074510309068726610197139243012673673532970338552343122314776263223070341319069910308213129573317023619657016613751779725679251493940771628066538196880044470774337015116517405787837360705901929905249084312104408521249545809079598422948568598968134155181234707439636805154558090873631175906165260247722023797589427885407743467687553027812171676173091123243224670163549365225170979108563911983961486930840747302331473370780226307152847583494109785513963834070431779529587048110378533230799201992819442038833325221314277596740809404522747938390700254798023289192581470625826042272490476331831463734052538740838235694106085407209707854486773490554289521160646957350942308561387006955087014509417524223580600495599 37557348998859701045959983549027629237115385401732375003813963115361565435240670028223723126800226365003608964736184442238030390976129689140379441527897960048356781981576465882165964943959044758223097611106974342914308691398672325923997597837767166091998211610868072310710384936010830083597977636392909132334544799767735431947764037479927279266903063779729675368143486531278088575839256109912033484032063311172135409943276254524331698912154083580849995210168443461018139374703559162825517285880980478385442405879496102469652107869882515154172552803472314074427162906771947113304865443922155815526954128528681801333613739902686619997698365852872659369452302798919917690140850747035924805407282466025114910304737007128756202460020329229926377147854533214897327768038860170098684706930835782465202832903360502565316999105230664044014626599677084602903810606192783454293051586661765535732520270409071564210253666456805602950902100256748717251662919152549628466989065010928706677300893910770573778746443695990308999966523244149344858192216142432405846620277618671801903083546109222168089347403185560317733662293497344641847480655115378774693980608604861154666039471694468614188239337134538124382133705805548457127917357056559072607187033047215442640583471234034267585199585493294476597054120252869411771756964555399238964252035821087236749588804218294427284932626619138660393520089320640439229920682733539725499191873956089653805434080799254895928537644162341008618059237774709765936441024595419602245774833841249274748274869481499863781537161100169240022030060659613757395903596314410485412380569215218090832207411941443588241996177463147987795787911492465045679635927594752557206940387077083184083187259534254223143821240084704936818551738821207116945702592048039900245126767124512002 60769067207496832062348990298275345575983020247951820236932847429727756982361308625309984120622722810644783459671491012972420554748709522644810913890306804854610425213085108342406757670382164209427269834820233310319765895038085404507962033024843106965424286289231000282295088146434958842772791884865828968812412846816236679773312468271494698510579234549305797191757368876103252101185616468545993630441603969649721182898448550124985361523690963090043699669511698399435199585732730273657428617478674481396425763911368116596263416628773748760943466765125111567660861015057793364226997758323097720478442026644841712020229019014454059573608403153411556035664846931221540932767260149919476004092100699159420835588811868356515295296970663897125016380941635827995544879398162578470107710940999218872313158299091382282582861092438248344458528278133328362638746265835288093019039616067330834824627200194820897056917003099714031506472283831721077276800170349814847807426116053400683604846550607255164649217966530263726289925978863397050993155547521965948593446861054113047944968489640296678398416129795757456976674967170877612186032998237693550957203678946180224576347684824041931211858994151151876161859385057042397899545423594755952651657807384230559157989259071394973487129490742378788701462641502415220851355387503967837932386191002321944189225609372852518158563802525303920641242113118229867115328426201227278527004045632262744928677305469418445293762815141449572530043199261640606683743356068790382472081986688832768858060383445333934213316690687217350400563291458815750215345635147735706726658165956027495354955350332143843040019466655729458421613953764955522011467391328805095947778622771189269490396967388740996634375529605865583775902681129768503952657679062549317769350347725007601 98326416206356533108308973847302974813098405649684195240746810545089322417601978653533707247422949175648392424407675455210450945724839211785190355418204764902967207194661574224572722614341208967650367445927207653234074586436757730431959630862610273057422497900099072593005473082445788926370769521258738101146957646583972111721076505751421977777482298329035472559900855407381340677024872578458027114473667280821856592841724804649317060435845046670893694879680141860453338960436289436482945903359654959781868169790864219065915524498656263915116019568597425642088023921829740477531863202245253536005396155173523513353842758917140679571306769006284215405117149730141458622908110896955400809499383165184535745893548875485271497756990993127051393528796169042892872647437022748568792417871835001337515991202451884847899860197668912388473154877810412965542556872028071547312091202729096370557147470603892461267170669556519634457374384088469794528463089502364476274415181064329390282147444518025738427964410226254035289892502107546395851347763664398354440067138672784849848052035749518846487763532981317774710337260668222254033513653353072325651184287551041379242387156518510545400098331285690000543993090862590855027462780651315025258844840431446001798572730305429241072329076235673265298516761755284632623112352059367076896638226823409180938814413591146945443496429144442581034762202438870306345249108934767004026195919588352398734111386268673341222300459303790581148102437036350372620184380664209984717856820530082043606335252926833797994853851787386590422593352118429507611249231462146192139038735171245586187162762273587431282015644118877446217401865257420567691103318923557653154719009848272453573584226922995219778196769690570520594454419950975620898360271110589218014477114849519603 159095483413853365170657964145578320389081425897636015477679657974817079399963287278843691368045671986293175884079166468182871500473548734430001269308511569757577632407746682566979480284723373177077637280747440963553840481474843134939921663887453380022846784189330072875300561228880747769143561406124567069959370493400208791494388974022916676288061532878341269751658224283484592778210489047004020744915271250471577775740173354774302421959536009760937394549191840259888538546169019710140374520838329441178293933702232335662178941127430012676059486333722537209748884936887533841758860960568351256483838181818365225374071777931594739144915172159695771440781996661362999555675371046874876813591483864343956581482360743841786793053961657024176409909737804870888417526835185327038900128812834220209829149501543267130482721290107160732931683155943741328181303137863359640331130818796427205381774670798713358324087672656233665963846667920190871805263259852179324081841297117730073886993995125280903077182376756517761579818480970943446844503311186364303033513999726897897793020525389815524886179662777075231687012227839099866219546651590765876608387966497221603818734841342552476611957325436841876705852475919633252927008204246070977910502647815676560956561989376824214559458566978052053999979403257699853474467739563334914829024417825731125128040022963999463602060231669746501676004315557100173460577535135994282553199965220615143662788691738091786516063274445240153678145636297990979303927736733000367189938807218914812464395636372167732208170542474603940823156643577245257826594866609881898865696901127273081542118112605731274322035110774606904639015819022376089702570710252362749102497632619461723063981194311736216412572299296436104370357101080744124851017950173138535783827462574527204 257421899620209898278966937992881295202179831547320210718426468519906401817565265932377398615468621161941568308486841923393322446198387946215191624726716334660544839602408256791552202899064582144728004726674648616787915067911600865371881294750063653080269282089429145468306034311326536695514330927383305171106328139984180903215465479774338654065543831207376742311559079690865933455235361625462047859388938531293434368581898159423619482395381056431831089428871982120341877506605309146623320424197984400960162103493096554728094465626086276591175505902319962851836908858717274319290724162813604792489234336991888738727914536848735418716221941165979986845899146391504458178583481943830277623090867029528492327375909619327058290810952650151227803438533973913781290174272208075607692546684669221547345140703995151978382581487776073121404838033754154293723860009891431187643222021525523575938922141402605819591258342212753300421221052008660666333726349354543800356256478182059464169141439643306641505146786982771796869710983078489842695851074850762657473581138399682747641072561139334371373943195758393006397349488507322120253060304943838202259572254048262983061121997861063022012055656722531877249845566782224107954470984897386003169347488247122562755134719682253455631787643213725319298496165012984486097580091622701991725662644649140306066854436555146409045556660814189082710766517995970479805826644070761286579395884808967542396900078006765127738363733749030734826248073334341351924112117397210351907795627748996856070730889299001530203024394261990531245749995695674765437844098072028091004735636298518667729280874879318705604050754893484350856417684279796657393674029175920402257216642467734176637565421234731436190769068987006624964811521031719745749378221283727753798304577424046807 416517383034063263449624902138459615591261257444956226196106126494723481217528553211221089983514293148234744192566008391576193946671936680645192894035227904418122472010154939358531683183787955321805642007422089580341755549386444000311802958637517033103116066278759218343606595540207284464657892333507872241065698633384389694709854453797255330353605364085718012063217303974350526233445850672466068604304209781765012144322071514197921904354917066192768483978063822380230416052774328856763694945036313842138456037195328890390273406753516289267234992236042500061585793795604808161049585123381956048973072518810253964101986314780330157861137113325675758286681143052867457734258852990705154436682350893872448908858270363168845083864914307175404213348271778784669707701107393402646592675497503441757174290205538419108865302777883233854336521189697895621905163147754790827974352840321950781320696812201319177915346014868986966385067719928851538138989609206723124438097775299789538056135434768587544582329163739289558449529464049433289540354386037126960507095138126580645434093086529149896260122858535468238084361716346421986472606956534604078867960220545484586879856839203615498624012982159373753955698042701857360881479189143456981079850136062799123711696709059077670191246210191777373298475568270684339572047831186036906554687062474871431194894459519145872647616892483935584386770833553070653266404179206755569132595850029582686059688769744856914254427008194270888504393709632332331228039854130210719097734434967911668535126525671169262411194936736594472068906639272920023264438964681909989870432537425791749271398987485049979926085865668091255495433503302172747096244739428283151359714275087195899701546615546467652603341368283442729335168622112463870600396171456866289582132039998574011 673939282654273161728591840131340910793441088992276436914532595014629883035093819143598488598982914310176312501052850314969516392870324626860384518761944239078667311612563196150083886082852537466533646734096738197129670617298044865683684253387580686183385348368188363811912629851533821160172223260891177412172026773368570597925319933571593984419149195293094754374776383665216459688681212297928116463693148313058446512903969673621541386750298122624599573406935804500572293559379638003387015369234298243098618140688425445118367872379602565858410498138362462913422702654322082480340309286195560841462306855802142702829900851629065576577359054491655745132580289444371915912842334934535432059773217923400941236234179982495903374675866957326632016786805752698450997875379601478254285222182172663304519430909533571087247884265659306975741359223452049915629023157646222015617574861847474357259618953603924997506604357081740266806288771937512204472715958561266924794354253481849002225276874411894186087475950722061355319240447127923132236205460887889617980676276526263393075165647668484267634066054293861244481711204853744106725667261478442281127532474593747569940978837064678520636068638881905631205543609484081468835950174040842984249197624309921686466831428741331125823033853405502692596971733283668825669627922808738898280349707124011737261748896074292281693173553298124667097537351549041133072230823277516855711991734838550228456588847751622041992790741943301623330641782966673683152151971527421071005530062716908524605857414970170792614219330998585003314656634968594788702283062753938080875168173724310417000679862364368685530136620561575606351851187581969404489918768604203553616930917554930076339112036781199088794110437270449354299980143144183616349774392740594043380436617422620818 1090456665688336425178216742269800526384702346437232663110638721509353364252622372354819578582497207458411056693618858706545710339542261307505577412797172143496789783622718135508615569266640492788339288741518827777471426166684488865995487212025097719286501414646947582155519225391741105624830115594399049653237725406752960292635174387368849314772754559378812766437993687639566985922127062970394185067997358094823458657226041187819463291105215188817368057384999626880802709612153966860150710314270612085237074177883754335508641279133118855125645490374404962975008496449926890641389894409577516890435379374612396666931887166409395734438496167817331503419261432497239373647101187925240586496455568817273390145092450345664748458540781264502036230135077531483120705576486994880900877897679676105061693721115071990196113187043542540830077880413149945537534186305401012843591927702169425138580315765805244175421950371950727233191356491866363742611705567767990049232452028781638540281412309180481730669805114461350913768769911177356421776559846925016578487771414652844038509258734197634163894188912829329482566072921200166093198274218013046359995492695139232156820835676268294019260081621041279385161241652185938829717429363184299965329047760372720810178528137800408796014280063597280065895447301554353165241675753994775804835036769598883168456643355593438154340790445782060251484308185102111786338635002484272424844587584868132914516277617496478956247217750137572511835035492599006014380191825657631790103264497684820193140983940641340055025414267735179475383563274241514811966722027435848070745600711150102166272078849849418665456222486229666861847284690884142151586163508032486704976645192642125976040658652327666741397451805553892083635148765256647486950170564197460332962568657421194829 1764395948342609586906808582401141437178143435429509100025171316523983247287716191498418067181480121768587369194671709021515226732412585934365961931559116382575457095235281331658699455349493030254872935475615565974601096783982533731679171465412678405469886763015135945967431855243274926785002338855290227065409752180121530890560494320940443299191903754671907520812770071304783445610808275268322301531690506407881905170130010861441004677855513311441967630791935431381375003171533604863537725683504910328335692318572179780627009151512721420984055988512767425888431199104248973121730203695773077731897686230414539369761788018038461311015855222308987248551841721941611289559943522859776018556228786740674331381326630328160651833216648221828668246921883284181571703451866596359155163119861848768366213152024605561283361071309201847805819239636601995453163209463047234859209502564016899495839934719409169172928554729032467499997645263803875947084421526329256974026806282263487542506689183592375916757281065183412269088010358305279554012765307812906196468447691179107431584424381866118431528254967123190727047784126053910199923941479491488641123025169732979726761814513332972539896150259923185016366785261670020298553379537225142949578245384682642496645359566541739921837313917002782758492419034838021990911303676803514703115386476722894905718392251667730436033963999080184918581845536651152919410865825761789280556579319706683142972866465248100998240008492080874135165677275565679697532343797185052861108794560401728717746841355611510847639633598733764478698219909210109600669005090189786151620768884874412583272758712213787350986359106791242468199135878466111556076082276636690258593576110197056052379770689108865830191562242824341437935128908400831103299944956938054376343005274843815647 2854852614030946012085025324670941963562845781866741763135810038033336611540338563853237645763977329226998425888290567728060937071954847241871539344356288526072246878857999467167315024616133523043212224217134393752072522950667022597674658677437776124756388177662083528122951080635016032409832454449689276718647477586874491183195668708309292613964658314050720287250763758944350431532935338238716486599687864502705363827356052049260467968960728500259335688176935058262177712783687571723688435997775522413572766496455934116135650430645840276109701478887172388863439695554175863763120098105350594622333065605026936036693675184447857045454351390126318751971103154438850663207044710785016605052684355557947721526419080673825400291757429486330704477056960815664692409028353591240056041017541524873427906873139677551479474258352744388635897120049751940990697395768448247702801430266186324634420250485214413348350505100983194733189001755670239689696127094097247023259258311045126082788101492772857647427086179644763182856780269482635975789325154737922774956219105831951470093683116063752595422443879952520209613857047254076293122215697504535001118517864872211883582650189601266559156231880964464401528026913855959128270808900409442914907293145055363306823887704342148717851593980600062824387866336392375156152979430798290507950423246321778074175035607261168590374754444862245170066153721753264705749500828246061705401166904574816057489144082744579954487226242218446647000712768164685711912535622842684651212059058086548910887825296252850902665047866468943954081783183451624412635727117625634222366369596024514749544837562063206016442581593020909330046420569350253707662245784669176963570221302839182028420429341436532571589014048378233521570277673657478590250115521135514709305573932265010476 4619248562373555598991833907072083400740989217296250863160981354557319858828054755351655712945457450995585795082962276749576163804367433176237501275915404908647703974093280798826014479965626553298085159692749959726673619734649556329353830142850454530226274940677219474090382935878290959194834793304979503784057229766996022073756163029249735913156562068722627808063533830249133877143743613507038788131378370910587268997486062910701472646816241811701303318968870489643552715955221176587226161681280432741908458815028113896762659582158561697093757467399939814751870894658424836884850301801123672354230751835441475406455463202486318356470206612435306000522944876380461952766988233644792623608913142298622052907745711001986052124974077708159372723978844099846264112480220187599211204137403373641794120025164283112762835329661946236441716359686353936443860605231495482562010932830203224130260185204623582521279059830015662233186647019474115636780548620426503997286064593308613625294790676365233564184367244828175451944790627787915529802090462550828971424666797011058901678107497929871026950698847075710936661641173307986493046157176996023642241543034605191610344464702934239099052382140887649417894812175525979426824188437634585864485538529738005803469247270883888639688907897602845582880285371230397147064283107601805211065809723044672979893427858928899026408718443942430088647999258404417625160366654007850985957746224281499200462010547992680952727234734299320782166390043730365409444879420027737512320853618488277628634666651864361750304681465202708432780003092661734013304732207815420373987138480898927332817596274276993367428940699812151798245556447816365263738328061305867222163797413036238080800200030545398401780576291202574959505406582058309693550060478073569085648579207108826123 7474101176404501611076859231743025364303834999162992626296791392590656470368393319204893358709434780222584220971252844477637100876322280418109040620271693434719950852951280265993329504581760076341297383909884353478746142685316578927028488820288230654982663118339303002213334016513306991604667247754668780502704707353870513256951831737559028527121220382773348095314297589193484308676678951745755274731066235413292632824842114959961940615776970311960639007145805547905730428738908748310914597679055955155481225311484048012898310012804401973203458946287112203615310590212600700647970399906474266976563817440468411443149138386934175401924558002561624752494048030819312615974032944429809228661597497856569774434164791675811452416731507194490077201035804915510956521508573778839267245154944898515222026898303960664242309588014690625077613479736105877434558000999943730264812363096389548764680435689837995869629564930998856966375648775144355326476675714523751020545322904353739708082892169138091211611453424472938634801570897270551505591415617288751746380885902843010371771790613993623622373142727028231146275498220562062786168372874500558643360060899477403493927114892535505658208614021852113819422839089381938555094997338044028779392831674793369110293134975226037357540501878202908407268151707622772303217262538400095719016232969366451054068463466190067616783472888804675258714152980157682330909867482253912691358913128856315257951154630737260907214460976517767429167102811895051121357415042870422163532912676574826539522491948117212652969729331671652386861786276113358425940459325441054596353508076923442082362433836340199383871522292833061128291977017166618971400573845975044185734018715875420109220629371981930973369590339580808481075684255715788283800175999209083794954153139373836599 12093349738778057210068693138815108765044824216459243489457772747147976329196448074556549071654892231218170016054215121227213264680689713594346541896187098343367654827044561064819343984547386629639382543602634313205419762419966135256382318963138685185208938059016522476303716952391597950799502041059648284286761937120866535330707994766808764440277782451495975903377831419442618185820422565252794062862444606323879901822328177870663413262593212123661942326114676037549283144694129924898140759360336387897389684126512161909660969594962963670297216413687052018367181484871025537532820701707597939330794569275909886849604601589420493758394764614996930753016992907199774568741021178074601852270510640155191827341910502677797504541705584902649449925014649015357220633988793966438478449292348272157016146923468243777005144917676636861519329839422459813878418606231439212826823295926592772894940620894461578390908624761014519199562295794618470963257224334950255017831387497662353333377682845503324775795820669301114086746361525058467035393506079839580717805552699854069273449898111923494649323841574103942082937139393870049279214530051496582285601603934082595104271579595469744757260996162739763237317651264907917981919185775678614643878370204531374913762382246109925997229409775805753990148437078853169450281545646001900930082042692411124033961891325118966643192191332747105347362152238562099956070234136261763677316659353137814458413165178729941859941695710817088211333492855625416530802294462898159675853766295063104168157158599981574403274410796874360819641789368775092439245191533256474970340646557822369415180030110617192751300462992645212926537533464982984235138901907280911407897816128911658190020829402527329375150166630783383440581090837774097977350236477282652880602732346482662722 19567450915182558821145552370558134129348659215622236115754564139738632799564841393761442430364327011440754237025467965704850365557011994012455582516458791778087605679995841330812673489129146705980679927512518666684165905105282714183410807783426915840191601177355825478517050968904904942404169288814317064789466644474737048587659826504367792967399002834269323998692129008636102494497101516998549337593510841737172534647170292830625353878370182435622581333260481585455013573433038673209055357039392343052870909437996209922559279607767365643500675359974164221982492075083626238180791101614072206307358386716378298292753739976354669160319322617558555505511040938019087184715054122504411080932108138011761601776075294353608956958437092097139527126050453930868177155497367745277745694447293170672238173821772204441247454505691327486596943319158565691312976607231382943091635659022982321659621056584299574260538189692013376165937944569762826289733900049474006038376710402016093041460575014641415987407274093774052721547932422329018540984921697128332464186438602697079645221688725917118271696984301132173229212637614432112065382902925997140928961664833559998598198694488005250415469610184591877056740490354289856537014183113722643423271201879324744024055517221335963354769911654008662397416588786475941753498808184401996649098275661777575088030354791309034259975664221551780606076305218719782286980101618515676368675572481994129716364319809467202767156156687334855640500595667520467652159709505768581839386678971637930707679650548098787056244140128546013206503575644888450865185650858697529566694154634745811497542463946957392135171985285478274054829510482149603206539475753255955593631834844787078299241458774509260348519756970364191921656775093489886261150412476491736675556885485856499321 31660800653960616031214245509373242894393483432081479605212336886886609128761289468317991502019219242658924253079683086932063630237701707606802124412645890121455260507040402395632017473676533335620062471115152979889585667525248849439793126746565601025400539236372347954820767921296502893203671329873965349076228581595603583918367821271176557407676785285765299902069960428078720680317524082251343400455955448061052436469498470701288767140963394559284523659375157623004296718127168598107196116399728730950260593564508371832220249202730329313797891773661216240349673559954651775713611803321670145638152955992288185142358341565775162918714087232555486258528033845218861753456075300579012933202618778166953429117985797031406461500142676999788977051065102946225397789486161711716224143739641442829254320745240448218252599423367964348116273158581025505191395213462822155918458954949575094554561677478761152651446814453027895365500240364381297252991124384424261056208097899678446374838257860144740763203094763075166808294293947387485576378427776967913181991991302551148918671586837840612921020825875236115312149777008302161344597432977493723214563268767642593702470274083474995172730606347331640294058141619197774518933368889401258067149572083856118937817899467445889351999321429814416387565025865329111203780353830403897579180318354188699121992246116428000903167855554298885953438457457281882243050335754777440045992231835131944174777484988197144627097852398151943851834088523145884182962003968666741515240445266701034875836809148080361459518550925420374026145365013663543304430842391954004537034801192568180912722494057574584886472448278123486981367043947132587441678377660536867001529650973698736489262288177036589723669923601147575362237865931263984238500648953774389556159617832339162043 51228251569143174852359797879931377023742142647703715720966901026625241928326130862079433932383546254099678490105151052636913995794713701619257706929104681899542866187036243726444690962805680041600742398627671646573751572630531563623203934529992516865592140413728173433337818890201407835607840618688282413865695226070340632506027647775544350375075788120034623900762089436714823174814625599249892738049466289798224971116668763531914121019333576994907104992635639208459310291560207271316251473439121074003131503002504581754779528810497694957298567133635380462332165635038278013894402904935742351945511342708666483435112081542129832079033409850114041764039074783237948938171129423083424014134726916178715030894061091385015418458579769096928504177115556877093574944983529456993969838186934613501492494567012652659500053929059291834713216477739591196504371820694205099010094613972557416214182734063060726911985004145041271531438184934144123542725024433898267094584808301694539416298832874786156750610368856849219529842226369716504117363349474096245646178429905248228563893275563757731192717810176368288541362414622734273409980335903490864143524933601202592300668968571480245588200216531923517350798631973487631055947552003123901490420773963180862961873416688781852706769233083823078784981614651805052957279162014805894228278594015966274210022600907737035163143519775850666559514762676001664530030437373293116414667804317126073891141804797664347394254009085486799492334684190666351835121713474435323354627124238338965583516459696179148515762691053966387232648940658551994169616493250651534103728955827313992410264958004531977021644433563601761036196554429282190648217853413792822595161485818485814788503746951545850072189680571511767283894641024753870499651061430266126231716503318195661364 82889052223103790883574043389304619918135626079785195326179237913511851057087420330397425434402765496758602743184834139568977626032415409226059831341750572020998126694076646122076708436482213377220804869742824626463337240155780413062997061276558117890992679650100521388158586811497910728811511948562247762941923807665944216424395469046720907782752573405799923802832049864793543855132149681501236138505421737859277407586167234233202888160296971554191628652010796831463607009687375869423447589838849804953392096567012953586999778013228024271096458907296596702681839194992929789608014708257412497583664298700954668577470423107904994997747497082669528022567108628456810691627204723662436947337345694345668460012046888416421879958722446096717481228180659823318972734469691168710193981926576056330746815312253100877752653352427256182829489636320616701695767034157027254928553568922132510768744411541821879563431818598069166896938425298525420795716148818322528150792906201372985791137090734930897513813463619924386338136520317103989693741777251064158828170421207799377482564862401598344113738636051604403853512191631036434754577768880984587358088202368845186003139242654955240760930822879255157644856773592685405574880920892525159557570346047036981899691316156227742058768554513637495172546640517134164161059515845209791807458912370154973332014847024165036066311375330149552512953220133283546773080773128070556460660036152258018065919289785861492021351861483638743344168772713812236018083717443102064869867569505040000459353268844259509975281241979386761258794305672215537474047335642605538640763757019882173322987452062106561908116881841725248017563598376414778089896231074329689596691136792184551277766035128582439795859604172659342646132506956017854738151710384040515787876121150534823407 134117303792246965735933841269235996941877768727488911047146138940137092985413551192476859366786311750858281233289985192205891621827129110845317538270855253920540992881112889848521399399287893418821547268370496273037088812786311976686200995806550634756584820063828694821496405701699318564419352567250530176807619033736284848930423116822265258157828361525834547703594139301508367029946775280751128876554888027657502378702835997765117009179630548549098733644646436039922917301247583140739699063277970878956523599569517535341779306823725719228395026040931977165014004830031207803502417613193154849529175641409621152012582504650034827076780906932783569786606183411694759629798334146745860961472072610524383490906107979801437298417302215193645985405296216700412547679453220625704163820113510669832239309879265753537252707281486548017542706114060207898200138854851232353938648182894689926982927145604882606475416822743110438428376610232669544338441173252220795245377714503067525207435923609717054264423832476773605867978746686820493811105126725160404474348851113047606046458137965356075306456446227972692394874606253770708164558104784475451501613135970047778303808211226435486349131039411178674995655405566173036630828472895649061047991120010217844861564732845009594765537787597460573957528255168939217118338677860015686035737506386121247542037447931902071229454895106000219072467982809285211303111210501363672875327840469384091957061094583525839415605870569125542836503456904478587853205430917537388224494693743378966042869728540438658491043933033353148491443246330767531643663828893257072744492712847196165733252410066638538929761315405327009053760152805696968738114084488122512191852622610670366066269782080128289868049284744171109930027147980771725237802771814306642019592624468730484771 217006356015350756619507884658540616860013394807274106373325376853648944042500971522874284801189077247616883976474819331774869247859544520071377369612605825941539119575189535970598107835770106796042352138113320899500426052942092389749198057083108752647577499713929216209654992513197229293230864515812777939749542841402229065354818585868986165940580934931634471506426189166301910885078924962252365015060309765516779786289003231998319897339927520103290362296657232871386524310934959010163146653116820683909915696136530488928779084836953743499491484948228573867695844025024137593110432321450567347112839940110575820590052927757939822074528404015453097809173292040151570321425538870408297908809418304870051950918154868217859178376024661290363466633476876523731520413922911794414357802040086726162986125191518854415005360633913804200372195750380824599895905889008259608867201751816822437751671557146704486038848641341179605325315035531194965134157322070543323396170620704440510998573014344647951778237296096697992206115267003924483504846903976224563302519272320846983529023000366954419420195082279577096248386797884807142919135873665460038859701338338892964306947453881390727110061862290433832640512179158858442205709393788174220605561466057254826761256049001237336824306342111098069130074895686073381279398193705225477843196418756276220874052294956067107295766270436149771585421202942568758076191983629434229335987876621642110022980384369387331436957732052764286180672229618290823871289148360639453094362263248418966502222997384698168466325175012739909750237552002983069117711164535862611385256469867078339056239862128745100837878197247052257071323751182111746828010315562452201788543759402854917344035817208710729663908888916830452576159654936789579975954482198347157807468745619265308178 351123659807597722355441725927776613801891163534763017420471515793786037027914522715351144167975388998475165209764804523980760869686673630916694907883461079862080112456302425819119507235058000214863899406483817172537514865728404366435399052889659387404162319777757911031151398214896547857650217083063308116557161875138513914285241702691251424098409296457469019210020328467810277915025700243003493891615197793174282164991839229763436906519558068652389095941303668911309441612182542150902845716394791562866439295706048024270558391660679462727886510989160551032709848855055345396612849934643722196642015581520196972602635432407974649151309310948236667595779475451846329951223873017154158870281490915394435441824262848019296476793326876484009452038773093224144068093376132420118521622153597395995225435070784607952258067915400352217914901864441032498096044743859491962805849934711512364734598702751587092514265464084290043753691645763864509472598495322764118641548335207508036206008937954365006042661128573471598074094013690744977315952030701384967776868123433894589575481138332310494726651528507549788643261404138577851083693978449935490361314474308940742610755665107826213459192901701612507636167584725031478836537866683823281653552586067472671622820781846246931589844129708558643087603150855012598397736871565241163878933925142397468416089742887969178525221165542149990657889185751853969379303194130797902211315717091026201980041478952913170852563602621889829017175686522769411724494579278176841318856956991797932545092725925136826957369108046093058241680798333750600761374993429119684129749182714274504789492272195383639767639512652379266125083903987808715566124400050574713980396382013525283410305599288839019531958173661001562506186802917561305213757254012653799827061370087995792949 568130015822948478974949610586317230661904558342037123793796892647434981070415494238225428969164466246092049186239623855755630117546218150988072277496066905803619232031491961789717615070828107010906251544597138072037940918670496756184597109972768140051739819491687127240806390728093777150881081598876086056306704716540742979640060288560237590038990231389103490716446517634112188800104625205255858906675507558691061951280842461761756803859485588755679458237960901782695965923117501161065992369511612246776354991842578513199337476497633206227377995937389124900405692880079482989723282256094289543754855521630772793192688360165914471225837714963689765404952767491997900272649411887562456779090909220264487392742417716237155655169351537774372918672249969747875588507299044214532879424193684122158211560262303462367263428549314156418287097614821857097991950632867751571673051686528334802486270259898291578553114105425469649079006681295059474606755817393307442037718955911948547204581952299012957820898424670169590280209280694669460820798934677609531079387395754741573104504138699264914146846610787126884891648202023384994002829852115395529221015812647833706917703118989216940569254763992046340276679763883889921042247260471997502259114052124727498384076830847484268414150471819656712217678046541085979677135065270466641722130343898673689290142037844036285820987435978299762243310388694422727455495177760232131547303593712668312003021863322300502289521334674654115197847916141060235595783727638816294413219220240216899047315723309834995423694283058832967991918350336733669879086157964982295515005652581352843845732134324128740605517709899431523196407655169920462394134715613026915768940141416380200754341416497549749195867062577832015082346457854350885189711736211000957634530115707261101127 919253675630546201330391336514093844463795721876800141214268408441221018098330016953576573137139855244567214396004428379736390987232891781904767185379527985665699344487794387608837122305886107225770150951080955244575455784398901122619996162862427527455902139269445038271957788942990325008531298681939394172863866591679256893925301991251489014137399527846572509926466846101922466715130325448259352798290705351865344116272681691525193710379043657408068554179264570694005407535300043311968838085906403809642794287548626537469895868158312668955264506926549675933115541735134828386336132190738011740396871103150969765795323792573889120377147025911926433000732242943844230223873284904716615649372400135658922834566680564256452131962678414258382370711023062972019656600675176634651401046347281518153436995333088070319521496464714508636201999479262889596087995376727243534478901621239847167220868962649878671067379569509759692832698327058923984079354312716071560679267291119456583410590890253377963863559553243641188354303294385414438136750965378994498856255519188636162679985277031575408873498139294676673534909606161962845086523830565331019582330286956774449528458784097043154028447665693658847912847348608921399878785127155820783912666638192200170006897612693731200003994601528215355305281197396098578074871936835707805601064269041071157706231780732005464346208601520449752901199574446276696834798371891030033758619310803694513983063342275213673142084937296543944215023602663829647320278306916993135732076177232014831592408449234971822381063391104926026233599148670484270640461151394101979644754835295627348635224406519512380373157222551810789321491559157729177960259115663601629749336523429905484164647015786388768727825236238833577588533260771912190403468990223654757461591485795256894076 1487383691453494680305340947100411075125700280218837265008065301088655999168745511191802002106304321490659263582244052235492021104779109932892839462875594891469318576519286349398554737376714214236676402495678093316613396703069397878804593272835195667507641958761132165512764179671084102159412380280815480229170571308219999873565362279811726604176389759235676000642913363736034655515234950653515211704966212910556406067553524153286950514238529246163748012417225472476701373458417544473034830455418016056419149279391205050669233344655945875182642502863938800833521234615214311376059414446832301284151726624781742558988012152739803591602984740875616198405685010435842130496522696792279072428463309355923410227309098280493607787132029952032755289383273032719895245107974220849184280470540965640311648555595391532686784925014028665054489097094084746694079946009594995106151953307768181969707139222548170249620493674935229341911705008353983458686110130109379002716986247031405130615172842552390921684457977913810778634512575080083898957549900056604029935642914943377735784489415730840323020344750081803558426557808185347839089353682680726548803346099604608156446161903086260094597702429685705188189527112492811320921032387627818286171780690316927668390974443541215468418145073347872067522959243937184557752007002106174447323194612939744846996373818576041750167196037498749515144509963140699424290293549651262165305922904516362825986085205597514175431606271971198059412871518804889882916062034555809430145295397472231730639724172544806817804757674163758994225517499007217940519547309359084275159760487876980192480956540843641120978674932451242312517899214327649640354393831276628545518276664846285684918988432283938517923692298816665592670879718626263075593180726434655715096121601502517995203 2406637367084040881635732283614504919589496002095637406222333709529877017267075528145378575243444176735226477978248480615228412092012001714797606648255122877135017921007080737007391859682600321462446553446759048561188852487468299001424589435697623194963544098030577203784721968614074427167943678962754874402034437899899256767490664271063215618313789287082248510569380209837957122230365276101774564503256918262421750183826205844812144224617572903571816566596490043170706780993717587785003668541324419866061943566939831588139129212814258544137907009790488476766636776350349139762395546637570313024548597727932712324783335945313692711980131766787542631406417253379686360720395981696995688077835709491582333061875778844750059919094708366291137660094296095691914901708649397483835681516888247158465085550928479603006306421478743173690691096573347636290167941386322238640630854929008029136928008185198048920687873244444989034744403335412907442765464442825450563396253538150861714025763732805768885548017531157451966988815869465498337094300865435598528791898434132013898464474692762415731893842889376480231961467414347310684175877513246057568385676386561382605974620687183303248626150095379364036102374461101732720799817514783639070084447328509127838397872056234946668422139674876087422828240441333283135826878938941882252924258881980816004702605599308047214513404639019199268045709537586976121125091921542292199064542215320057339969148547872727848573691209267742003627895121468719530236340341472802565877371574704246562232132621779778640185821065268685020459116647677702211160008460753186254804515323172607541116180947363153501351832155003053101839390773485378818314652946940230175267613188276191169083635448070327286651517535055499170259412979398175265996649716658310472557713087297774889279 3894021058537535561941073230714915994715196282314474671230399010618533016435821039337180577349748498225885741560492532850720433196791111647690446111130717768604336497526367086405946597059314535699122955942437141877802249190537696880229182708532818862471186056791709369297486148285158529327356059243570354631205009208119256641056026550874942222490179046317924511212293573573991777745600226755289776208223131172978156251379729998099094738856102149735564579013715515647408154452135132258038498996742435922481092846331036638808362557470204419320549512654427277600158010965563451138454961084402614308700324352714454883771348098053496303583116507663158829812102263815528491216918678489274760506299018847505743289184877125243667706226738318323892949477569128411810146816623618333019961987429212798776734106523871135693091346492771838745180193667432382984247887395917233746782808236776211106635147407746219170308366919380218376656108343766890901451574572934829566113239785182266844640936575358159807232475509071262745623328444545582236051850765492202558727541349075391634248964108493256054914187639458283790388025222532658523265231195926784117189022486165990762420782590269563343223852525065069224291901573594544041720849902411457356256228018826055506788846499776162136840284748223959490351199685270467693578885941048056700247453494920560851698979417884088964680600676517948783190219500727675545415385471193554364370465119836420165955233753470242024005297481238940063040766640273609413152402376028611996022666972176478292871856794324585457990578739432444014684634146684920151679555770112270529964275811049587733597137488206794622330507087454295414357289987813028458669046778216858720785889853122476854002623880354265804575209833872164762930292698024438341589830443092966187653834688800292884482 6300658425621576443576805514329420914304692284410112077452732720148410033702896567482559152593192674961112219538741013465948845288803113362488052759385840645739354418533447823413338456741914857161569509389196190438991101678005995881653772144230442057434730154822286573082208116899232956495299738206325229033239447108018513408546690821938157840803968333400173021781673783411948899975965502857064340711480049435399906435205935842911238963473675053307381145610205558818114935445852720043042167538066855788543036413270868226947491770284462963458456522444915754366794787315912590900850507721972927333248922080647167208554684043367189015563248274450701461218519517195214851937314660186270448584134728339088076351060655969993727625321446684615030609571865224103725048525273015816855643504317459957241819657452350738699397767971515012435871290240780019274415828782239472387413663165784240243563155592944268090996240163825207411400511679179798344217039015760280129509493323333128558666700308163928692780493040228714712612144314011080573146151630927801087519439783207405532713438801255671786808030528834764022349492636879969207441108709172841685574698872727373368395403277452866591850002620444433260394276034696276762520667417195096426340675347335183345186718556011108805262424423100046913179440126603750829405764879989938953171712376901376856401585017192136179194005315537148051235929038314651666540477392735846563435007335156477505924382301342969872578988690506682066668661761742328943388742717501414561900038546880724855103989416104364098176399804701129035143750794362622362839564230865456784768791134222195274713318435569948123682339242457348516196680761298407276983699725157088896053503041398668023086259328424593091226727368927663933189705677422613607586480159751276660211547776098067773761 10194679484159112005517878745044336909019888566724586748683131730766943050138717606819739729942941173186997961099233546316669278485594225010178498870516558414343690916059814909819285053801229392860692465331633332316793350868543692761882954852763260919905916211613995942379694265184391485822655797449895583664444456316137770049602717372813100063294147379718097532993967356985940677721565729612354116919703180608378062686585665841010333702329777203042945724623921074465523089897987852301080666534809291711024129259601904865755854327754667382779006035099343031966952798281476042039305468806375541641949246433361622092326032141420685319146364782113860291030621781010743343154233338675545209090433747186593819640245533095237395331548185002938923559049434352515535195341896634149875605491746672756018553763976221874392489114464286851181051483908212402258663716178156706134196471402560451350198303000690487261304607083205425788056620022946689245668613588695109695622733108515395403307636883522088500012968549299977458235472758556662809198002396420003646246981132282797166962402909748927841722218168293047812737517859412627730706339905099625802763721358893364130816185867722429935073855145509502484686177608290820804241517319606553782596903366161238851975565055787270942102709171324006403530639811874218522984650821037995653419165871821937708100564435076225143874605992055096834426148539042327211955862863929400927805472454992897671879616054813211896584286171745622129709428402015938356541145093530026557922705519057203147975846210428949556166978544133573049828384941047542514519120000977727314733066945271783008310455923776742746012846329911643930553970749111435735652746503373947616839392894521144877088883208778858895801937202799828696119998375447051949176310602844242847865382464898360658243 16495337909780688449094684259373757823324580851134698826135864450915353083841614174302298882536133848148110180637974559782618123774397338372666551629902399060083045334593262733232623510543144250022261974720829522755784452546549688643536726996993702977340646366436282515461902382083624442317955535656220812697683903424156283458149408194751257904098115713118270554775641140397889577697531232469418457631183230043777969121791601683921572665803452256350326870234126633283638025343840572344122834072876147499567165672872773092703346098039130346237462557544258786333747585597388632940155976528348468975198168514008789300880716184787874334709613056564561752249141298205958195091547998861815657674568475525681895991306189065231122956869631687553954168621299576619260243867169649966731248996064132713260373421428572613091886882435801863616922774148992421533079544960396178521610134568344691593761458593634755352300847247030633199457131702126487589885652604455389825132226431848523961974337191686017192793461589528692170847617072567743382344154027347804733766420915490202699675841711004599628530248697127811835087010496292596938147448614272467488338420231620737499211589145175296526923857765953935745080453642987097566762184736801650208937578713496422197162283611798379747365133594424053316710079938477969352390415701027934606590878248723314564502149452268361323068611307592244885662077577356978878496340256665247491240479790149375177803998356156181769163274862252304196378090163758267299929887811031441119822744065937928003079835626533313654343378348834702084972135735410164877358684231843184099501858079493978283023774359346690869695185572368992446750651510409843012636446228531036512892895935919812900175142537203451987028664571727492629309704052869665556762790762595519508076930240996428432004 26690017393939800454612563004418094732344469417859285574818996181682296133980331781122038612479075021335108141737208106099287402259991563382845050500418957474426736250653077643051908564344373642882954440052462855072577803415093381405419681849756963897246562578050278457841596647268015928140611333106116396362128359740294053507752125567564357967392263092836368087769608497383830255419096962081772574550886410652156031808377267524931906368133229459393272594858047707749161115241828424645203500607685439210591294932474677958459200425793797729016468592643601818300700383878864674979461445334724010617147414947370411393206748326208559653855977838678422043279763079216701538245781337537360866765002222712275715631551722160468518288417816690492877727670733929134795439209066284116606854487810805469278927185404794487484375996900088714797974258057204823791743261138552884655806605970905142943959761594325242613605454330236058987513751725073176835554266193150499520754959540363919365281974075208105692806430138828669629083089831124406191542156423767808380013402047772999866638244620753527470252466865420859647824528355705224668853788519372093291102141590514101630027775012897726461997712911463438229766631251277918371003702056408203991534482079657661049137848667585650689467842765748059720240719750352187875375066522065930260010044120545252272602713887344586466943217299647341720088226116399306090452203120594648419045952245142272849683614410969393665747561033997926326087518565774205656471032904561467677745449584995131151055681836962263210510356892968275134800520676457707391877804232820911414234925024765761291334230283123433615708031902280636377304622259521278748289192731904984129732288830440957777264025745982310882830601774527321325429702428316717505939101365439762355942312705894789090247 43185355303720488903707247263791852555669050268993984400954860632597649217821945955424337495015208869483218322375182665881905526034388901755511602130321356534509781585246340376284532074887517892905216414773292377828362255961643070048956408846750666874587208944486560973303499029351640370458566868762337209059812263164450336965901533762315615871490378805954638642545249637781719833116628194551191032182069640695934000930168869208853479033936681715743599465092174341032799140585668996989326334680561586710158460605347451051162546523832928075253931150187860604634447969476253307919617421863072479592345583461379200694087464510996433988565590895242983795528904377422659733337329336399176524439570698237957611622857911225699641245287448378046831896292033505754055683076235934083338103483874938182539300606833367100576262879335890578414897032206197245324822806098949063177416740539249834537721220187959997965906301577266692186970883427199664425439918797605889345887185972212443327256311266894122885599891728357361799930706903692149573886310451115613113779822963263202566314086331758127098782715562548671482911538851997821607001237133644560779440561822134839129239364158073022988921570677417373974847084894265015937765886793209854200472060793154083246300132279384030436832976360172113036950799688830157227765482223093864866600922369268566837104863339612947790011828607239586605750303693756284968948543377259895910286432035291648027487612767125575434910835896250230522465608729532472956400920715592908797568193650933059154135517463495576864853735241802977219772656411867872269236488464664095513736783104259739574358004642470124485403217474649628824055273769931121760925638960436020642625184766360770677439168283185762869859266346254813954739406481186383062701892128035281864019242946891217522251 69875372697660289358319810268209947288013519686853269975773856814279945351802277736546376107494283890818326464112390771981192928294380465138356652630740314008936517835899418019336440639231891535788170854825755232900940059376736451454376090696507630771833771522536839431145095676619656298599178201868453605421940622904744390473653659329879973838882641898791006730314858135165550088535725156632963606732956051348090032738546136733785385402069911175136872059950222048781960255827497421634529835288247025920749755537822129009621746949626725804270399742831462422935148353355117982899078867197796490209492998408749612087294212837204993642421568733921405838808667456639361271583110673936537391204572920950233327254409633386168159533705265068539709623962767434888851122285302218199944957971685743651818227792238161588060638876235979293212871290263402069116566067237501947833223346510154977481680981782285240579511755907502751174484635152272841260994184990756388866642145512576362692538285342102228578406321867186031429013796734816555765428466874883421493793225011036202432952330952511654569035182427969531130736067207703046275855025653016654070542703412648940759267139170970749450919283588880812204613716145542934308769588849618058192006542872811744295437980946969681126300819125920172757191519439182345103140548745159795126610966489813819109707577226957534256955045906886928325838529810155591059400746497854544329332384280433920877171227178094969100658396930248156848553127295306678612871953620154376475313643235928190305191199300457840075364092134771252354573177088325579661114292697485006927971708129025500865692234925593558101111249376930265201359896029452400509214831692341004772357473596801728454703194029168073752689868120782135280169108909503100568640993493475044219961555652786006612498 113060728001380778262027057532001799843682569955847254376728717446877594569624223691970713602509492760301544786487573437863098454328769366893868254761061670543446299421145758395620972714119409428693387269599047610729302315338379521503332499543258297646420980467023400404448594705971296669057745070630790814481752886069194727439555193092195589710373020704745645372860107772947269921652353351184154638915025692044024033668715005942638864436006592890880471525042396389814759396413166418623856169968808612630908216143169580060784293473459653879524330893019323027569596322831371290818696289060868969801838581870128812781381677348201427630987159629164389634337571834062021004920440010335713915644143619188190938877267544611867800778992713446586541520254800940642906805361538152283283061455560681834357528399071528688636901755571869871627768322469599314441388873336451011010640087049404812019402201970245238545418057484769443361455518579472505686434103788362278212529331484788806019794596608996351464006213595543393228944503638508705339314777325999034607573047974299404999266417284269781667817897990518202613647606059700867882856262786661214849983265234783779888506503329043772439840854266298186179460801039807950246535475642827912392478603665965827541738113226353711563133795486092285794142319128012502330906030968253659993211888859082385946812440566570482046966874514126514931588833503911876028349289875114440239618816315725568904658839945220544535569232826498387371018736024839151569272874335747285272881836886861249459326716763953416940217827376574229574345833500193451930350781162149102441708491233285240440050239568063682586514466851579894025415169799383522270140470652777025414982658363162499132142362312353836622549134467036949234908515390689483631342885621510326083980798599677224134749 182936100699041067620346867800211747131696089642700524352502574261157539921426501428517089710003776651119871250599964209844291382623149832032224907391801984552382817257045176414957413353351300964481558124424802843630242374715115972957708590239765928418254751989560239835593690382590952967656923272499244419903693508973939117913208852422075563549255662603536652103174965908112820010188078507817118245647981743392114066407261142676424249838076504066017343584992618438596719652240663840258386005257055638551657971680991709070406040423086379683794730635850785450504744676186489273717775156258665460011331580278878424868675890185406421273408728363085795473146239290701382276503550684272251306848716540138424266131677177998035960312697978515126251144217568375531757927646840370483228019427246425486175756191309690276697540631807849164840639612733001383557954940573952958843863433559559789501083183752530479124929813392272194535940153731745346947428288779118667079171476997365168712332881951098580042412535462729424657958300373325261104743244200882456101366272985335607432218748236781436236853080418487733744383673267403914158711288439677868920525968647432720647773642500014521890760137855178998384074517185350884555305064492445970584485146538777571837176094173323392689434614612012458551333838567194847434046579713413455119822855348896205056520017793528016303921920421013443257427363314067467087750036372968984568951200596159489781830067123315513636227629756746544219571863320145830182144827955901661748195480122789439764517916064411257015581919511345481928919010588519031591465073859634109369680199362310741305742474493657240687625716228510159226775065828835922779355302345118030187340131959964227586845556341521910375239002587819084515077624300192584199983879114985370303942354252463230747247 295996828700421845882373925332213546975378659598547778729231291708035134491050725120487803312513269411421416037087537647707389836951919198926093162152863655095829116678190934810578386067470710393174945394023850454359544690053495494461041089783024226064675732456583640240042285088562249636714668343130035234385446395043133845352764045514271153259628683308282297476035073681060089931840431859001272884563007435436138100075976148619063114274083096956897815110035014828411479048653830258882242175225864251182566187824161289131190333896546033563319061528870108478074340999017860564536471445319534429813170162149007237650057567533607848904395887992250185107483811124763403281423990694607965222492860159326615205008944722609903761091690691961712792664472369316174664733008378522766511080882807107320533284590381218965334442387379719036468407935202600697999343813910403969854503520608964601520485385722775717670347870877041637897395672311217852633862392567480945291700808482153974732127478560094931506418749058272817886902804011833966444058021526881490708939320959635012431485165521051217904670978409005936358031279327104782041567551226339083770509233882216500536280145829058294330600992121477184563535318225158834801840540135273882976963750204743399378914207399677104252568410098104744345476157695207349764952610681667115113034744207978591003332458360098498350888794935139958189016196817979343116099326248083424808570016911885058686488907068536058171796862583244931590590599344984981751417702291648947021077317009650689223844632828364673955799746887919711503264844088712483521815855021783211811388690595595981745792714061720923274140183080090053252190235628219445049495772997895055602322790323126726718987918653875746997788137054856033749986139690882067831326764736495696387923152852140454881996 478932929399462913502720793132425294107074749241248303081733865969192674412477226549004893022517046062541287287687501857551681219575069030958318069544665639648211933935236111225535799420822011357656503518448653297989787064768611467418749680022790154482930484446143880075635975471153202604371591615629279654289139904017072963265972897936346716808884345911818949579210039589172909942028510366818391130210989178828252166483237291295487364112159601022915158695027633267008198700894494099140628180482919889734224159505152998201596374319632413247113792164720893928579085675204349838254246601578199889824501742427885662518733457719014270177804616355335980580630050415464785557927541378880216529341576699465039471140621900607939721404388670476839043808689937691706422660655218893249739100310053532806709040781690909242031983019187568201309047547935602081557298754484356928698366954168524391021568569475306196795277684269313832433335826042963199581290681346599612370872285479519143444460360511193511548831284521002242544861104385159227548801265727763946810305593944970619863703913757832654141524058827493670102414952594508696200278839666016952691035202529649221184053788329072816221361129976656182947609835410509719357145604627719853561448896743520971216090301573000496942003024710117202896809996262402197198999190395080570232857599556874796059852476153626514654810715356153401446443560132046810203849362621052409377521217508044548468318974191851571808024492339991475810162462665130811933562530247550608769272797132440128988362548892775930971381666399265193432183854677231515113280928881417321181068889957906723051535188555378163961765899308600212478965301457055367828851075343013085789662922283090954305833474995397657373027139642675118265063763991074652031310643851481066691865507104603685629243 774929758099884759385094718464638841082453408839796081810965157677227808903527951669492696335030315473962703324775039505259071056526988229884411231697529294744041050613427046036114185488292721750831448912472503752349331754822106961879790769805814380547606216902727520315678260559715452241086259958759314888674586299060206808618736943450617870068513029220101247055245113270232999873868942225819664014773996614264390266559213439914550478386242697979812973805062648095419677749548324358022870355708784140916790347329314287332786708216178446810432853693591002406653426674222210402790718046897734319637671904576892900168791025252622119082200504347586165688113861540228188839351532073488181751834436858791654676149566623217843482496079362438551836473162307007881087393663597416016250181192860640127242325372072128207366425406567287237777455483138202779556642568394760898552870474777488992542053955198081914465625555146355470330731498354181052215153073914080557662573093961673118176587839071288443055250033579275060431763908396993193992859287254645437519244914904605632295189079278883872046195037236499606460446231921613478241846390892356036461544436411865721720333934158131110551962122098133367511145153635668554158986144762993736538412646948264370595004508972677601194571434808221947242286153957609546963951801076747685345892343764853387063184934513725013005699510291293359635459756950026153319948688869135834186091234419929607154807881260387629979821354923236407400753062010115793684980232539199555790350114142090818212207181721140604927181413287184904935448698765943998635096783903200532992457580553502704797327902617099087235906082388690265731155537085274812878346848340908141391985712606217681024821393649273404370815276697531152015049903681956719862637408587976763079788659956744140511239 1253862687499347672887815511597064135189528158081044384892699023646420483316005178218497589357547361536503990612462541362810752276102057260842729301242194934392252984548663157261649984909114733108487952430921157050339118819590718429298540449828604535030536701348871400391314236030868654845457851574388594542963726203077279771884709841386964586877397375131920196634455152859405909815897452592638055144984985793092642433042450731210037842498402299002728132500090281362427876450442818457163498536191704030651014506834467285534383082535810860057546645858311896335232512349426560241044964648475934209462173647004778562687524482971636389260005120702922146268743911955692974397279073452368398281176013558256694147290188523825783203900468032915390880281852244699587510054318816309265989281502914172933951366153763037449398408425754855439086503031073804861113941322879117827251237428946013383563622524673388111260903239415669302764067324397144251796443755260680170033445379441192261621048199582481954604081318100277302976625012782152421541660552982409384329550508849576252158892993036716526187719096063993276562861184516122174442125230558372989152579638941514942904387722487203926773323252074789550458754989046178273516131749390713590099861543691785341811094810545678098136574459518339150139096150220011744162950991471828255578749943321728183123037410667351527660510225647446761081903317082072963523798051490188243563612451927974155623126855452239201787845847263227883210915524675246605618542762786750164559622911274530947200569730613916535898563079686450098367632553443175513748377712784617854173526470511409427848863091172477251197671981697290478210120838542330180707197923683921227181648634889308635330654868644671061743842416340206270280113667673031371893948052439457829771654167061347826140482 2028792445599232432272910230061702976271981566920840466703664181323648292219533129887990285692577677010466693937237580868069823332629045490727140532939724229136294035162090203297764170397407454859319401343393660802688450574412825391178331219634418915578142918251598920706992496590584107086544111533147909431638312502137486580503446784837582456945910404352021443689700266129638909689766394818457719159758982407357032699601664171124588320884644996982541106305152929457847554199991142815186368891900488171567804854163781572867169790751989306867979499551902898741885939023648770643835682695373668529099845551581671462856315508224258508342205625050508311956857773495921163236630605525856580033010450417048348823439755147043626686396547395353942716755014551707468597447982413725282239462695774813061193691525835165656764833832322142676863958514212007640670583891273878725804107903723502376105676479871470025726528794562024773094798822751325304011596829174760727696018473402865379797636038653770397659331351679552363408388921179145615534519840237054821848795423754181884454082072315600398233914133300492883023307416437735652683971621450729025614124075353380664624721656645335037325285374172922917969900142681846827675117894153707326638274190640049712406099319518355699331145894326561097381382304177621291126902792548575940924642287086581570186222345181076540666209735938740120717363074032099116843746740359324077749703686347903762777934736712626831767667202186464290611668586685362399303522995325949720349973025416621765412776912335057140825744492973635003303081252209119512383474496687818387165984051064912132646190993789576338433578064085980743941276375627604993585544772024829368573634347495526316355476262293944466114657693037737422295163571354988091756585461027434592851442827018091966651721 3282655133098580105160725741658767111461509725001884851596363204970068775535538308106487875050125038546970684549700122230880575608731102751569869834181919163528547019710753360559414155306522187967807353774314817853027569394003543820476871669463023450608679619600470321098306732621452761932001963107536503974602038705214766352388156626224547043823307779483941640324155418989044819505663847411095774304743968200449675132644114902334626163383047295985269238805243210820275430650433961272349867428092192202218819360998248858401552873287800166925526145410214795077118451373075330884880647343849602738562019198586450025543839991195894897602210745753430458225601685451614137633909678978224978314186463975305042970729943670869409890297015428269333597036866796407056107502301230034548228744198688985995145057679598203106163242258076998115950461545285812501784525214152996553055345332669515759669299004544858136987432033977694075858866147148469555808040584435440897729463852844057641418684238236252352263412669779829666385013933961298037076180393219464206178345932603758136612975065352316924421633229364486159586168600953857827126096852009102014766703714294895607529109379132538964098608626247712468428655131728025101191249643544420916738135734331835054217194130064033797467720353844900247520478454397633035289853784020404196503392230408309753309259755848428068326719961586186881799266391114172080367544791849512321313316138275877918401061592164866033555513049449692173822584111360609004922065758112699884909595936691152712613346642948973676724307572660085101670713805652295026131852209472436241339510521576321560495054084962053589631250045783271222151397214169935174292742695708750595755282982384834951686131130938615527858500109377943692575277239028019463650533513466892422623096994079439792792203 5311447578697812537433635971720470087733491291922725318300027386293717067755071437994478160742702715557437378486937703098950398941360148242297010367121643392664841054872843563857178325703929642827126755117708478655716019968416369211655202889097442366186822537852069241805299229212036869018546074640684413406240351207352252932891603411062129500769218183835963084013855685118683729195430242229553493464502950607806707832245779073459214484267692292967810345110396140278122984850425104087536236319992680373786624215162030431268722664039789473793505644962117693819004390396724101528716330039223271267661864750168121488400155499420153405944416370803938770182459458947535300870540284504081558347196914392353391794169698817913036576693562823623276313791881348114524704950283643759830468206894463799056338749205433368762928076090399140792814420059497820142455109105426875278859453236393018135774975484416328162713960828539718848953664969899794859819637413610201625425482326246923021216320276890022749922744021459382029793402855140443652610700233456519028027141356357940021067057137667917322655547362664979042609476017391593479810068473459831040380827789648276272153831035777874001423894000420635386398555274409871928866367537698128243376409924971884766623293449582389496798866248171461344901860758575254326416756576568980137428034517494891323495482101029504608992929697524927002516629465146271197211291532208836399063019824623781681178996328877492865323180251636156464434252698045971404225588753438649605259568962107774478026123555284030817550052065633720104973795057861414538515326706160254628505494572641233693141245078751629928064828109869251966092673589797540167878287467733579964328917329880361268041607393232559993973157802415681114870440810383007555407118974494327015474539821097531759443924 8594102711796392642594361713379237199195001016924610169896390591263785843290609746100966035792827754104408063036637825329830974550091250993866880201303562556193388074583596924416592481010451830794934108892023296508743589362419913032132074558560465816795502157452539562903605961833489630950548037748220917380842389912567019285279760037286676544592525963319904724338011104107728548701094089640649267769246918808256382964889893975793840647650739588953079583915639351098398415500859065359886103748084872576005443576160279289670275537327589640719031790372332488896122841769799432413596977383072874006223883948754571513943995490616048303546627116557369228408061144399149438504449963482306536661383378367658434764899642488782446466990578251892609910828748144521580812452584873794378696951093152785051483806885031571869091318348476138908764881604783632644239634319579871831914798569062533895444274488961186299701392862517412924812531117048264415627677998045642523154946179090980662635004515126275102186156691239211696178416789101741689686880626675983234205487288961698157680032203020234247077180592029465202195644618345451306936165325468933055147531503943171879682940414910412965522502626668347854827210406137897030057617181242549160114545659303719820840487579646423294266586602016361592422339212972887361706610360589384333931426747903201076804741856877932677319649659111113884315895856260443277578836324058348720376335962899659599580057921042358898878693301085848638256836809406580409147654511551349490169164898798927190639470198233004494274359638293805206644508863513709564647178915632690869845005094217555253636299163713683517696078155652523188244070803967475342171030163442330560084200312265196219727738524171175521831657911793624807445718049411027019057652487961219438097636815176971552236127 13905550290494205180027997685099707286928492308847335488196417977557502911045681184095444196535530469661845441523575528428781373491451399236163890568425205948858229129456440488273770806714381473622060864009731775164459609330836282243787277447657908182982324695304608804708905191045526499969094112388905330787082741119919272218171363448348806045361744147155867808351866789226412277896524331870202761233749869416063090797135673049253055131918431881920889929026035491376521400351284169447422340068077552949792067791322309720938998201367379114512537435334450182715127232166523533942313307422296145273885748698922693002344150990036201709491043487361307998590520603346684739374990247986388095008580292760011826559069341306695483043684141075515886224620629492636105517402868517554209165157987616584107822556090464940632019394438875279701579301664281452786694743425006747110774251805455552031219249973377514462415353691057131773766196086948059275447315411655844148580428505337903683851324792016297852108900712698593725971819644242185342297580860132502262232628645319638178747089340688151569732727954694444244805120635737044786746233798928764095528359293591448151836771450688286966946396627088983241225765680547768958923984718940677403490955584275604587463781029228812791065452850187822937324199971548141688123366937158364471359461265398092400300223957907437286312579356636040886832525321406714474790127856267185119439355787523441280759054249919851764201873552722005102691089507452551813373243264989999095428733860906701668665593753517035311824411703927525311618303921375124103162505621792945498350499666858788946777544242465313445760906265521775154336744393765015510049317631175910524413117642145557487769345917403735515804815714209305922316158859794034574464771462455546453572176636274503311680051 22499653002290597822622359398478944486123493325771945658092808568821288754336290930196410232328358223766253504560213353758612348041542650230030770769728768505051617204040037412690363287724833304416994972901755071673203198693256195275919352006218373999777826852757148367612511152879016130919642150137126248167925131032486291503451123485635482589954270110475772532689877893334140826597618421510852029002996788224319473762025567025046895779569171470873969512941674842474919815852143234807308443816162425525797511367482589010609273738694968755231569225706782671611250073936322966355910284805369019280109632647677264516288146480652250013037670603918677226998581747745834177879440211468694631669963671127670261323968983795477929510674719327408496135449377637157686329855453391348587862109080769369159306362975496512501110712787351418610344183269065085430934377744586618942689050374518085926663524462338700762116746553574544698578727203996323691074993409701486671735374684428884346486329307142572954295057403937805422150236433343927031984461486808485496438115934281336336427121543708385816809908546723909447000765254082496093682399124397697150675890797534620031519711865598699932468899253757331096052976086685665988981601900183226563605501243579324408304268608875236085332039452204184529746539184521029049829977297747748805290888013301293477104965814785369963632229015747154771148421177667157752368964180325533839815691750423100880339112170962210663080566853807853740947926316859132222520897776541348585597898759705628859305063951750039806098771342221330518262812784888833667809684537425636368195504761076344200413843406178996963456984421174298342580815197732490852220347794618241084497317954410753707497084441574911037636473626002930729761876909205061593522423950416765891669813451451474863916178 36405203292784803002650357083578651773051985634619281146289226546378791665381972114291854428863888693428098946083788882187393721532994049466194661338153974453909846333496477900964134094439214778039055836911486846837662808024092477519706629453876282182760151548061757172321416343924542630888736262526031578955007872152405563721622486933984288635316014257631640341041744682560553104494142753381054790236746657640382564559161240074299950911487603352794859441967710333851441216203427404254730783884239978475589579158804898731548271940062347869744106661041232854326377306102846500298223592227665164553995381346599957518632297470688451722528714091279985225589102351092518917254430459455082726678543963887682087883038325102173412554358860402924382360070007129793791847258321908902797027267068385953267128919065961453133130107226226698311923484933346538217629121169593366053463302179973637957882774435716215224532100244631676472344923290944382966522308821357330820315803189766788030337654099158870806403958116636399148122056077586112374282042346940987758670744579600974515174210884396537386542636501418353691805885889819540880428632923326461246204250091126068183356483316286986899415295880846314337278741767233434947905586619123903967096456827854928995768049638104048876397492302392007467070739156069170737953344234906113276650349278699385877405189772692807249944808372383195657980946499073872227159092036592718959255047537946542161098166420882062427282440406529858843639015824311684035894141041531347681026632620612330527970657705267075117923183046148855829881116706263957770972190159218581866546004427935133147191387648644310409217890686696073496917559591497506362269665425794151608910435596556311195266430358978646553441289340212236652078035768999096167987195412872312345241990087725978175596229 58904856295075400825272716482057596259175478960391226804382035115200080419718263044488264661192246917194352450644002235946006069574536699696225432107882742958961463537536515313654497382164048082456050809813241918510866006717348672795625981460094656182537978400818905539933927496803558761808378412663157827122933003184891855225073610419619771225270284368107412873731622575894693931091761174891906819239743445864702038321186807099346846691056774823668828954909385176326361032055570639062039227700402404001387090526287487742157545678757316624975675886748015525937627380039169466654133877033034183834105013994277222034920443951340701735566384695198662452587684098838353095133870670923777358348507635015352349207007308897651342065033579730332878495519384766951478177113775300251384889376149155322426435282041457965634240820013578116922267668202411623648563498914179984996152352554491723884546298898054915986648846798206221170923650494940706657597302231058817492051177874195672376823983406301443760699015520574204570272292510930039406266503833749473255108860513882310851601332428104923203352545048142263138806651143902036974111032047724158396880140888660688214876195181885686831884195134603645433331717853919100936887188519307130530701958071434253404072318246979284961729531754596191996817278340590199787783321532653862081941237292000679354510155587478177213577037388130350429129367676741029979528056216918252799070739288369643041437278591844273090363007260337712584586942141170816258415038818072696266624531380317959387275721657017114924021954388370186348143929491152791438781874696644218234741509189011477347605231054823307372674875107870371839498374789229997214490013220412392693407753550967064902763514800553557591077762966215167381839912678204157761509619363289078236911803539177453039512407 95310059587860203827923073565636248032227464595010507950671261661578872085100235158780119090056135610622451396727791118133399791107530749162420093446036717412871309871032993214618631476603262860495106646724728765348528814741441150315332610913970938365298129948880662712255343840728101392697114675189189406077940875337297418946696097353604059860586298625739053214773367258455247035585903928272961609476490103505084602880348047173646797602544378176463688396877095510177802248258998043316770011584642382476976669685092386473705817618819664494719782547789248380264004686142015966952357469260699348388100395340877179553552741422029153458095098786478647678176786449930872012388301130378860085027051598903034437090045633999824754619392440133257260855589391896745270024372097209154181916643217541275693564201107419418767370927239804815234191153135758161866192620083773351049615654734465361842429073333771131211180947042837897643268573785885089624119611052416148312366981063962460407161637505460314567102973637210603718394348588516151780548546180690461013779605093483285366775543312501460589895181549560616830612537033721577854539664971050619643084390979786756398232678498172673731299491015449959770610459621152535884792775138431034497798414899289182399840367885083333838127024056988199463888017496659370525736665767559975358591586570700065231915345360170984463521845760513546087110314175814902206687148253510971758325786826316185202535445012726335517645447666867571428225957965482500294309179859604043947651164000930289915246379362284190041945137434519042178025046197416749209754064855862800101287513616946610494796618703467617781892765794566445336415934380727503576759678646206544302318189147523376098029945159532204144519052306427404033917948447203253929496814776161390582153793626903431215108636 154214915882935604653195790047693844291402943555401734755053296776778952504818498203268383751248382527816803847371793354079405860682067448858645525553919460371832773408569508528273128858767310942951157456537970683859394821458789823110958592374065594547836108349699568252189271337531660154505493087852347233200873878522189274171769707773223831085856582993846466088504989834349940966677665103164868428716233549369786641201534854272993644293601153000132517351786480686504163280314568682378809239285044786478363760211379874215863363297576981119695458434537263906201632066181185433606491346293733532222205409335154401588473185373369855193661483481677310130764470548769225107522171801302637443375559233918386786297052942897476096684426019863590139351108776663696748201485872509405566806019366696598119999483148877384401611747253382932156458821338169785514756118997953336045768007288957085726975372231826047197829793841044118814192224280825796281716913283474965804418158938158132783985620911761758327801989157784808288666641099446191186815050014439934268888465607365596218376875740606383793247726597702879969419188177623614828650697018774778039964531868447444613108873680058360563183686150053605203942177475071636821679963657738165028500372970723435803912686132062618799856555811584391460705295837249570313519987300213837440532823862700744586425500947649161677098883148643896516239681852555932186215204470429224557396526114685828243972723604570608608008454927205284012812900106653316552724218677676740214275695381248249302522101019301304965967091822889228526168975688569540648535939552507018336029022805958087842401849758290925154567640902436817175914309169957500791249691866618936995725942698490441000793459960085761735596815272642571415757861125407411691006434139450468819065597166080884254621043 249524975470795808481118863613330092323630408150412242705724558438357824589918733362048502841304518138439255244099584472212805651789598198021065618999956177784704083279602501742891760335370573803446264103262699449207923636200230973426291203288036532913134238298580230964444615178259761547202607763041536639278814753859486693118465805126827890946442881619585519303278357092805188002263569031437830038192723652874871244081882901446640441896145531176596205748663576196681965528573566725695579250869687168955340429896472260689569180916396645614415240982326512286465636752323201400558848815554432880610305804676031581142025926795399008651756582268155957808941256998700097119910472931681497528402610832821421223387098576897300851303818459996847400206698168560442018225857969718559748722662584237873813563684256296803168982674493187747390649974473927947380948739081726687095383662023422447569404445565597178409010740883882016457460798066710885905836524335891114116785140002120593191147258417222072894904962794995412007060989687962342967363596195130395282668070700848881585152419053107844383142908147263496800031725211345192683190361989825397683048922848234201011341552178231034294483177165503564974552637096224172706472738796169199526298787870012618203753054017145952637983579868572590924593313333908940839256653067773812799124410433400809818340846307820146140620728909157442603349996028370834392902352723940196315722312941002013446508168617296944125653902594072855441038858072135816847033398537280784161926859382178539217768480381585495007912229257408270704194021885986289858290004408369818437316536422904698337198468461758542936460406697003262512330243550685004368009370512825481298044131846013817098823405119617965880115867579069975449675809572610665620503248915611859401219390792984315469729679 403739891353731413134314653661023936615033351705813977460777855215136777094737231565316886592552900666256059091471377826292211512471665646879711144553875638156536856688172010271164889194137884746397421559800670133067318457659020796537249795662102127460970346648279799216633886515791421701708100850893883872479688632381675967290235512900051722032299464613431985391783346927155128968941234134602698466908957202244657885283417755719634086189746684176728723100450056883186128808888135408074388490154731955433704190107852134905432544213973626734110699416863776192667268818504386834165340161848166412832511214011185982730499112168768863845418065749833267939705727547469322227432644732984134971778170066739808009684151519794776947988244479860437539557806945224138766427343842227965315528681950934471933563167405174187570594421746570679547108795812097732895704858079680023141151669312379533296379817797423225606840534724926135271653022347536682187553437619366079921203298940278725975132879328983831222706951952780220295727630787408534154178646209570329551556536308214477803529294793714228176390634744966376769450913388968807511841059008600175723013454716681645624450425858289394857666863315557170178494814571295809528152702453907364554799160840736054007665740149208571437840135680156982385298609171158511152776640367987650239657234296101554404766347255469307817719612057801339119589677880926766579117557194369420873118839055687841690480892221867552733662357521278139453851758178789133399757617214957524376202554763426788520290581400886799973879321080297499230362997574555830506825943960876836773345559228862786179600318220049468091028047599440079688244552720642505159259062379444418293770074544504258099616865079703727615712682851712546865433670698018077311509683055062328220284987959065199724350722 653264866824527221615433517274354028938663759856226220166502413653494601684655964927365389433857418804695314335570962298505017164261263844900776763553831815941240939967774512014056649529508458549843685663063369582275242093859251769963540998950138660374104584946860030181078501694051183248910708613935420511758503386241162660408701318026879612978742346233017504695061704019960316971204803166040528505101680855119529129365300657166274528085892215353324928849113633079868094337461702133769967741024419124389044620004324395595001725130370272348525940399190288479132905570827588234724188977402599293442817018687217563872525038964167872497174648017989225748646984546169419347343117664665632500180780899561229233071250096692077799292062939857284939764505113784580784653201811946525064251344535172345747126851661470990739577096239758426937758770286025680276653597161406710236535331335801980865784263363020404015851275608808151729113820414247568093389961955257194037988438942399319166280137746205904117611914747775632302788620475370877121542242404700724834224607009063359388681713846822072559533542892229873569482638600314000195031420998425573406062377564915846635791978036520429152150040481060735153047451667519982234625441250076564081097948710748672211418794166354524075823715548729573309891922505067451992033293435761463038781644729502364223107193563289453958340340966958781722939673909297600972019909918309617188841151996689855136989060839164496859316260115350994894890616250924950246791015752238308538129414145605327738059061782472294981791550337705769934557019460542120365115948369246655210662095651767484516798786681808011027488454296443342200574796271327509527268432892269899591814206390518075198440270199321693495828550430782522315109480270628742932012931970674187621504378752049515194080401 1057004758178258634749748170935377965553697111562040197627280268868631378779393196492682276026410319470951373427042340124797228676732929491780487908107707454097777796655946522285221538723646343296241107222864039715342560551518272566500790794612240787835074931595139829397712388209842604950618809464829304384238192018622838627698936830926931335011041810846449490086845050947115445940146037300643226972010638057364187014648718412885908614275638899530053651949563689963054223146349837541844356231179151079822748810112176530500434269344343899082636639816054064671800174389331975068889529139250765706275328232698403546603024151132936736342592713767822493688352712093638741574775762397649767471958950966301037242755401616486854747280307419717722479322312059008719551080545654174490379780026486106817680690019066645178310171517986329106484867566098123413172358455241086733377687000648181514162164081160443629622691810333734287000766842761784250280943399574623273959191737882678045141413017075189735340318866700555852598516251262779411275720888614271054385781143317277837192211008640536300735924177637196250338933551989282807706872480007025749129075832281597492260242403894809824009816903796617905331542266238815791762778143703983928635897109551484726219084534315563095513663851228886555695190531676225963144809933803749113278438879025603918627873540818758761776059953024760120842529351790224367551137467112679038061959991052377696827469953061032049592978617636629134348742374429714083646548632967195832914331968909032116258349643183359094955670871418003269164920017035097950871941892330123491984007654880630270696399104901857479118516501895883421888819348991970014686527495271714317885584280935022333298057135279025421111541233282495069180543150968646820243522615025736515841789366711114714918431123 1710269625002785856365181688209731994492360871418266417793782682522125980464049161420047665460267738275646687762613302423302245840994193336681264671661539270039018736623721034299278188253154801846084792885927409297617802645377524336464331793562379448209179516541999859578790889903893788199529518078764724895996695404864001288107638148953810947989784157079466994781906754967075762911350840466683755477112318912483716144014019070052183142361531114883378580798677323042922317483811539675614323972203570204211793430116500926095435994474714171431162580215244353150933079960159563303613718116653364999718145251385621110475549190097104608839767361785811719436999696639808160922118880062315399972139731865862266475826651713178932546572370359575007419086817172793300335733747466121015444031371021279163427816870728116169049748614226087533422626336384149093449012052402493443614222331983983495027948344523464033638543085942542438729880663176031818374333361529880467997180176825077364307693154821395639457930781448331484901304871738150288397263131018971779220005750326341196580892722487358373295457720529426123908416190589596807901903901005451322535138209846513338896034381931330253161966944277678640484589717906335773997403584954060492716995058262233398430503328481917619589487566777616129005082454181293415136843227239510576317220523755106282850980734382048215734400293991718902565469025699521968523157377030988655250801143049067551964459013900196546452294877751980129243632990680639033893339648719434141452461383054637443996408704965831389937462421755709039099477036495640071237057840699370147194669750532397755213197891583665490146004956192326764089394145263297524213795928163984217477398487325540408496497405478347114607369783713277591495652631239275563175535546996410703463293745463164230112511524 2767274383181044491114929859145109960046057982980306615421062951390757359243442357912729941486678057746598061189655642548099474517727122828461752579769246724136796533279667556584499726976801145142325900108791449012960363196895796902965122588174620236044254448137139688976503278113736393150148327543594029280234887423486839915806574979880742283000825967925916484868751805914191208851496877767326982449122956969847903158662737482938091756637170014413432232748241013005976540630161377217458680203382721284034542240228677456595870263819058070513799220031298417822733254349491538372503247255904130705993473484084024657078573341230041345182360075553634213125352408733446902496894642459965167444098682832163303718582053329665787293852677779292729898409129231802019886814293120295505823811397507385981108506889794761347359920132212416639907493902482272506621370507643580176991909332632165009190112425683907663261234896276276725730647505937816068655276761104503741956371914707755409449106171896585374798249648148887337499821123000929699672984019633242833605786893643619033773103731127894674031381898166622374247349742578879615608776381012477071664214042128110831156276785826140077171783848074296545816131984145151565760181728658044421352892167813718124649587862797480715103151418006502684700272985857519378281653161043259689595659402780710201478854275200806977510460247016479023407998377489746336074294844143667693312761134101445248791928966961228596045273495388609263592375365110353117539888281686629974366793351963669560254758348149190484893133293173712308264397053530738022108999733029493639178677405413028025909596996485522969264521458088210185978213494255267538900323423435698535362982768260562741794554540757372535718911016995772660676195782207922383419058162022147219305083112174278945030942647 4477544008183830347480111547354841954538418854398573033214845633912883339707491519332777606946945796022244748952268944971401720358721316165143017251430785994175815269903388590883777915229955946988410692994718858310578165842273321239429454381736999684253433964679139548555294168017630181349677845622358754176231582828350841203914213128834553230990610125005383479650658560881266971762847718234010737926235275882331619302676756552990274898998701129296810813546918336048898858113972916893073004175586291488246335670345178382691306258293772241944961800246542770973666334309651101676116965372557495705711618735469645767554122531327145954022127437339445932562352105373255063419013522522280567416238414698025570194408705042844719840425048138867737317495946404595320222548040586416521267842768528665144536323760522877516409668746438504173330120238866421600070382560046073620606131664616148504218060770207371696899777982218819164460528169113847887029610122634384209953552091532832773756799326717981014256180429597218822401125994739079988070247150652214612825792643969960230353996453615253047326839618696048498155765933168476423510680282017928394199352251974624170052311167757470330333750792351975186300721702051487339757585313612104914069887226075951523080091191279398334692638984784118813705355440038812793418496388282770265912879926535816484329835009582855193244860541008197925973467403189268304597452221174656348563562277150512800756387980861425142497568373140589392836008355790992151433227930406064115819254735018307004251167053115021874830595714929421347363874090026378093346057573728863786373347155945425781122794888069188459410526414280536950067607639518565063114119351599682752840381255586103150291051946235719650326280800709050252171848413447197946594593709018557922768376857637443175143454171 7244818391364874838595041406499951914584476837378879648635908585303640698950933877245507548433623853768842810141924587519501194876448438993604769831200032718312611803183056147468277642206757092130736593103510307323538529039169118142394576969911619920297688412816279237531797446131366574499826173165952783456466470251837681119720788108715295513991436092931299964519410366795458180614344596001337720375358232852179522461339494035928366655635871143710243046295159349054875398744134294110531684378969012772280877910573855839287176522112830312458761020277841188796399588659142640048620212628461626411705092219553670424632695872557187299204487512893080145687704514106701965915908164982245734860337097530188873912990758372510507134277725918160467215905075636397340109362333706712027091654166036051125644830650317638863769588878650920813237614141348694106691753067689653797598040997248313513408173195891279360161012878495095890191175675051663955684886883738887951909924006240588183205905498614566389054430077746106159900947117740009687743231170285457446431579537613579264127100184743147721358221516862670872403115675747356039119456663030405465863566294102735001208587953583610407505534640426271732116853686196638905517767042270149335422779393889669647729679054076879049795790402790621498405628425896332171700149549326029955508539329316526685808689284783662170755320788024676949381465780679014640671747065318324041876323411251958049548316947822653738542841868529198656428383720901345268973116212092694090186048086981976564505925401264212359723729008103133655628271143557116115455057306758357425552024561358453807032391884554711428675047872368747136045821133773832602014442775035381288203364023846665892085606486993092186045191817704822912848044195655120330013651871040705142073459969811722120174396818 11722362399548705186075152953854793869122895691777452681850754219216524038658425396578285155380569649791087559094193532490902915235169755158747787082630818712488427073086444738352055557436713039119147286098229165634116694881442439381824031351648619604551122377495418786087091614148996755849504018788311537632698053080188522323635001237549848744982046217936683444170068927676725152377192314235348458301593508734511141764016250588918641554634572273007053859842077685103774256858107211003604688554555304260527213580919034221978482780406602554403722820524383959770065922968793741724737178001019122117416710955023316192186818403884333253226614950232526078250056619479957029334921687504526302276575512228214444107399463415355226974702774057028204533401022040992660331910374293128548359496934564716270181154410840516380179257625089424986567734380215115706762135627735727418204172661864462017626233966098651057060790860713915054651703844165511842714497006373272161863476097773420956962704825332547403310610507343324982302073112479089675813478320937672059257372181583539494481096638358400768685061135558719370558881608915832462630136945048333860062918546077359171260899121341080737839285432778246918417575388248126245275352355882254249492666619965621170809770245356277384488429387574740312110983865935144965118645937608800221421419255852343170138524294366517364000181329032874875354933183868282945269199286492980390439885688402470850304704928684078881040410241669788049264392076692337420406344142498758206005302822000283568757092454379234234554324723032555002992145233583494208801114880487221211925371717303879588155186772623899888085574286649284086113428773292397665128562126635064041043745279432769042376658433228811836371472618413873165019892609102318276608245580059263064841836827449165295317850989 18967180790913580024670194360354745783707372529156332330486662804520164737609359273823792703814193503559930369236118120010404110111618194152352556913830851430801038876269500885820333199643470131249883879201739472957655223920611557524218608321560239524848810790311698023618889060280363330349330191954264321089164523332026203443355789346265144258973482310867983408689479294472183332991536910236686178676951741586690664225355744624847008210270443416717296906137237034158649655602241505114136372933524317032808091491492890061265659302519432866862483840802225148566465511627936381773357390629480748529121803174576986616819514276441520552431102463125606223937761133586658995250829852486772037136912609758403318020390221787865734108980499975188671749306097677390000441272707999840575451151100600767395825985061158155243948846503740345799805348521563809813453888695425381215802213659112775531034407161989930417221803739209010944842879519217175798399383890112160113773400104014009140168610323947113792365040585089431142203020230219099363556709491223129505688951719197118758608196823101548490043282652421390242961997284663188501749593608078739325926484840180094172469487074924691145344820073204518650534429074444765150793119398152403584915446013855290818539449299433156434284219790365361810516612291831477136818795486934830176929958585168869855947213579150179534755502117057551824736398964547297585940946351811304432316209099654428899853021876506732619583252110198986705692775797593682689379460354591452296191350908982260133263017855643446594278053731135688658620416377140610324256172187245578637477396278662333395187578657178611316760622159018031222159249907066230267143004901670445329247109303279434934462264920221904022416664436118696077867936804757438606621897451099968206915296797260887415492247807 30689543190462285210745347314209539652830268220933785012337417023736688776267784670402077859194763153351017928330311652501307025346787949311100343996461670143289465949355945624172388757080183170369031165299968638591771918802053996906042639673208859129399933167807116809705980674429360086198834210742575858721862576412214725766990790583814993003955528528804666852859548222148908485368729224472034636978545250321201805989371995213765649764905015689724350765979314719262423912460348716117741061488079621293335305072411924283244142082926035421266206661326609108336531434596730123498094568630499870646538514129600302809006332680325853805657717413358132302187817753066616024585751539991298339413488121986617762127789685203220961083683274032216876282707119718382660773183082292969123810648035165483666007139471998671624128104128829770786373082901778925520216024323161108634006386320977237548660641128088581474282594599922925999494583363382687641113880896485432275636876201787430097131315149279661195675651092432756124505093342698189039370187812160801564946323900780658253089293461459949258728343787980109613520878893579020964379730553127073185989403386257453343730386196265771883184105505982765568952004462692891396068471754034657834408112633820911989349219544789433818772649177940102122627596157766622101937441424543630398351377841021213026085737873516696898755683446090426700091332148415580531210145638304284822756094788056899750157726805190811500623662351868774754957167874286020109785804497090210502196653730982543702020110310022680828832378454168243661612561610724104533057287067732799849402767995966212983342765429802511204846196445667315308272678680358627932271567028305509370290854582712203976838923353450715858788137054532569242887829413859756883230143031159231271757133624710052710810098796 49656723981375865235415541674564285436537640750090117342824079828256853513877143944225870563008956656910948297566429772511711135458406143463452900910292521574090504825625446509992721956723653301618915044501708111549427142722665554430261247994769098654248743958118814833324869734709723416548164402696840179811027099744240929210346579930080137262929010839672650261549027516621091818360266134708720815655496991907892470214727739838612657975175459106441647672116551753421073568062590221231877434421603938326143396563904814344509801385445468288128690502128834256902996946224666505271451959259980619175660317304177289425825846956767374358088819876483738526125578886653275019836581392478070376550400731745021080148179906991086695192663774007405548032013217395772661214455790292809699261799135766251061833124533156826868076950632570116586178431423342735333669913018586489849808599980090013079695048290078511891504398339131936944337462882599863439513264786597592389410276305801439237299925473226774988040691677522187266708113572917288402926897303383931070635275619977777011697490284561497748771626440401499856482876178242209466129324161205812511915888226437547516199873271190463028528925579187284219486433537137656546861591152187061419323558647676202807888668844222590253056868968305463933144208449598099238756236911478460575281336426190082882032951452666876433511185563147978524827731112962878117151091990115589255072303887711328650010748681697544120206914462067761460649943671879702799165264851681662798388004639964803835283128165666127423110432185303932320232977987864714857313459254978378486880164274628546378530344086981122521606818604685346530431928587424858199414571929975954699537963885991638911301188273672619881204801490651265320755766218617195489852040482259199478672430421970940126302346603 80346267171838150446160888988773825089367908971023902355161496851993542290144928614627948422203719810261966225896741425013018160805194092774553244906754191717379970774981392134165110713803836471987946209801676750141199061524719551336303887667977957783648677125925931643030850409139083502746998613439416038532889676156455654977337370513895130266884539368477317114408575738770000303728995359180755452634042242229094276204099735052378307740080474796165998438095866472683497480522938937349618495909683559619478701636316738627753943468371503709394897163455443365239528380821396628769546527890480489822198831433777592234832179637093228163746537289841870828313396639719891044422332932469368715963888853731638842275969592194307656276347048039622424314720337114155321987638872585778823072447170931734727840264005155498492205054761399887372551514325121660853885937341747598483814986301067250628355689418167093365786992939054862943832046245982551080627145683083024665047152507588869334431240622506436183716342769954943391213206915615477442297085115544732635581599520758435264786783746021447007499970228381609470003755071821230430509054714332885697905291612695000859930259467456234911713031085170049788438437999830547942930062906221719253731671281497114797237888389012024071829518146245566055771804607364721340693678336022090973632714267211295908118689326183573332266869009238405224919063261378458648361237628419874077828398675768228400168475486888355620830576813936536215607111546165722908951069348771873300584658370947347537303238475688808251942810639472175981845539598588819390370746322711178336282932270594759361873109516783633726453015050352661838704607267783486131686138958281464069828818468703842888140111627123335739992938545183834563643595632476952373082183513418430750429564046680992837112445399 130002991153214015681576430663338110525905549721114019697985576680250395804022072558853818985212676467172914523463171197524729296263600236238006145817046713291470475600606838644157832670527489773606861254303384861690626204247385105766565135662747056437897421084044746476355720143848806919295163016136256218343916775900696584187683950443975267529813550208149967375957603255391092122089261493889476268289539234136986746418827474890990965715255933902607646110212418226104571048585529158581495930331287497945622098200221552972263744853816971997523587665584277622142525327046063134040998487150461108997859148737954881660658026593860602521835357166325609354438975526373166064258914324947439092514289585476659922424149499185394351469010822047027972346733554509927983202094662878588522334246306697985789673388538312325360282005393970003958729945748464396187555850360334088333623586281157263708050737708245605257291391278186799888169509128582414520140410469680617054457428813390308571731166095733211171757034447477130657921320488532765845223982418928663706216875140736212276484274030582944756271596668783109326486631250063439896638378875538698209821179839132548376130132738646697940241956664357334007924871536968204489791654058408780673055229929173317605126557233234614324886387114551029988916013056962820579449915247500551548914050693401378790151640778850449765778054572386383749746794374341336765512329618535463332900702563479557050179224168585899741037491276004297676257055218045425708116334200453536098972663010912151372586366641354935675053242824776108302078517586453534247684205577689556823163096545223305740403453603764756248059833655038008369136535855208344331100710888257418769366782354695481799441299900795955621197740035835099884399361851094147862934223995677630229101994468651932963414792002 210349258325052166127737319652111935615273458692137922053147073532243938094167001173481767407416396277434880749359912622537747457068794329012559390723800905008850446375588230778322943384331326245594807464105061611831825265772104657102869023330725014221546098209970678119386570552987890422042161629575672256876806452057152239165021320957870397796698089576627284490366178994161092425818256853070231720923581476366081022622927209943369273455336408698773644548308284698788068529108468095931114426240971057565100799836538291600017688322188475706918484829039720987382053707867459762810545015040941598820057980171732473895490206230953830685581894456167480182752372166093057108681247257416807808478178439208298764700119091379702007745357870086650396661453891624083305189733535464367345406693477629720517513652543467823852487060155369891331281460073586057041441787702081686817438572582224514336406427126412698623078384217241662832001555374564965600767556152763641719504581320979177906162406718239647355473377217432074049134527404148243287521067534473396341798474661494647541271057776604391763771566897164718796490386321884670327147433589871583907726471451827549236060392206102932851954987749527383796363309536798752432721716964630499926786901210670432402364445622246638396715905260796596044687817664327541920143593583522642522546764960612674698270330105034023098044923581624788974665857635719795413873567246955337410729101239247785450347699655474255361868068089940833891864166764211148617067403549225409399557321381859498909889605117043743926996053464248284283924057185042353638054951900400735159446028815818065102276563120548389974512848705390670207841143122991830462786849846538882839195600823399324687581411527919291361190678581018934448042957483571100236016407509096060979531558515332925800527237401 340352249478266181809313750315450046141179008413251941751132650212494333898189073732335586392629072744607795272823083820062476753332394565250565536540847618300320921976195069422480776054858816019201668718408446473522451470019489762869434158993472070659443519294015424595742290696836697341337324645711928475220723227957848823352705271401845665326511639784777251866323782249552184547907518346959707989213120710503067769041754684834360239170592342601381290658520702924892639577693997254512610356572258555510722898036759844572281433176005447704442072494623998609524579034913522896851543502191402707817917128909687355556148232824814433207417251622493089537191347692466223172940161582364246900992468024684958687124268590565096359214368692133678369008187446134011288391828198342955867740939784327706307187041081780149212769065549339895290011405822050453228997638062415775151062158863381778044457164834658303880369775495428462720171064503147380120907966622444258773962010134369486477893572813972858527230411664909204707055847892681009132745049953402060048015349802230859817755331807187336520043163565947828122977017571948110223785812465410282117547651290960097612190524944749630792196944413884717804288181073766956922513371023039280599842131139843750007491002855481252721602292375347626033603830721290362499593508831023194071460815654014053488421970883884472863822978154011172724412652010061132179385896865490800743629803802727342500526923824060155102905559365945131568121221982256574325183737749678945498529984392771650282475971758398679602049296289024392586002574771495887885739157478090291982609125361041370842680016724313146222572682360428678576977678978200174793887560734796301608562383178094806487022711428715246982388418616854034332442319334665248098950631504773691208633552983984858763942029403 550701507803318347937051069967561981756452467105389863804279723744738271992356074905817353800045469022042676022182996442600224210401188894263124927264648523309171368351783300200803719439190142264796476182513508085354276735791594419972303182324197084880989617503986102715128861249824587763379486275287600732097529680015001062517726592359716063123209729361404536356689961243713276973725775200029939710136702186869148791664681894777729512625928751300154935206828987623680708106802465350443724782813229613075823697873298136172299121498193923411360557323663719596906632742780982659662088517232344306637975109081419829451638439055768263892999146078660569719943719858559280281621408839781054709470646463893257451824387681944798366959726562220328765669641337758094593581561733807323213147633261957426824700693625247973065256125704709786621292865895636510270439425764497461968500731445606292380863591961071002503448159712670125552172619877712345721675522775207900493466591455348664384055979532212505882703788882341278756190375296829252420266117487875456389813824463725507359026389583791728283814730463112546919467403893832780550933246055281866025274122742787646848250917150852563644151932163412101600651490610565709355235087987669780526629032350514182409855448477727891118318197636144222078291648385617904419737102414545836594007580614626728186692300988918495961867901735635961699078509645780927593259464112446138154358905041975127950874623479534410464773627455885965459985388746467722942251141298904354898087305774631149192365576875442423529045349753272676869926631956538241523794109378491027142055154176859435944956579844861536197085531065819348784818822101192005256674410581335184447757984001494131174604122956634538343579097197872968780485276818236348334967039013869752188165111499317784564469266804 891053757281584529746364820283012027897631475518641805555412373957232605890545148638152940192674541766650471295006080262662700963733583459513690463805496141609492290327978369623284495494048958283998144900921954558876728205811084182841737341317669155540433136798001527310871151946661285104716810920999529207318252907972849885870431863761561728449721369146181788223013743493265461521633293546989647699349822897372216560706436579612089751796521093901536225865349690548573347684496462604956335139385488168586546595910057980744580554674199371115802629818287718206431211777694505556513632019423747014455892237991107185007786671880582697100416397701153659257135067551025503454561570422145301610463114488578216138948656272509894726174095254354007134677828783892105881973389932150279080888573046285133131887734707028122278025191254049681911304271717686963499437063826913237119562890308988070425320756795729306383817935208098588272343684380859725842583489397652159267428601589718150861949552346185364409934200547250483463246223189510261553011167441277516437829174265956367176781721390979064803857894029060375042444421465780890774719058520692148142821774033747744460441442095602194436348876577296819404939671684332666277748459010709061126471163490357932417346451333209143839920490011491848111895479106908266919330611245569030665468396268640781675114271872802968825690879889647134423491161655842059772645360977936938897988708844702470451401547303594565567679186821831097028106610728724297267434879048583300396617290167402799474841548633841103131094646042297069455929206728034129409533266856581319124664279537900806787636596569174682419658213426248027361796501079392180050561971316131486056320367179588937661626834385349785325967515814727003112927596152901596433917670518643443396798664483302643328411296207 1441755265084902877683415890250574009654083942624031669359692097701970877882901223543970293992720010788693147317189076705262925174134772353776815391070144664918663658679761669824088214933239100548794621083435462644231004941602678602814040523641866240421422754301987630026000013196485872868096297196287129939415782587987850948388158456121277791572931098507586324579703704736978738495359068747019587409486525084241365352371118474389819264422449845201691161072178678172254055791298927955400059922198717781662370293783356116916879676172393294527163187141951437803337844520475488216175720536656091321093867347072527014459425110936350960993415543779814228977078787409584783736182979261926356319933760952471473590773043954454693093133821816574335900347470121650200475554951665957602294036206308242559956588428332276095343281316958759468532597137613323473769876489591410699088063621754594362806184348756800308887266094920768713824516304258572071564259012172860059760895193045066815246005531878397870292637989429591762219436598486339513973277284929152972827642998729681874535808110974770793087672624492172921961911825359613671325652304575974014168095896776535391308692359246454758080500808740708921005591162294898375632983546998378841653100195840872114827201899810937034958238687647636070190187127492526171339067713660114867259475976883267509861806572861721464787558781625283096122569671301622987365904825090383077052347613886677598402276170783128976032452814277717062488091999475192020209686020347487655294704595942033948667207125509283526660139995795569746325855838684572370933327376235072346266719433714760242732593176414036218616743744492067376146615323180584185307236381897466670504078351181083068836230957341984323669546613012599971893412872971137944768884709532513195584963775982620427892880563011 2332809022366487407429780710533586037551715418142673474915104471659203483773446372182123234185394552555343618612195156967925626137868355813290505854875640806528155949007740039447372710427288058832792765984357417203107733147413762785655777864959535395961855891099989157336871165143147157972813108117286659146734035495960700834258590319882839520022652467653768112802717448230244200016992362294009235108836347981613581913077555054001909016218970939103227386937528368720827403475795390560356395061584205950248916889693414097661460230846592665642965816960239156009769056298169993772689352556079838335549759585063634199467211782816933658093831941480967888234213854960610287190744549684071657930396875441049689729721700226964587819307917070928343035025298905542306357528341598107881374924779354527693088476163039304217621306508212809150443901409331010437269313553418323936207626512063582433231505105552529615271084030128867302096859988639431797406842501570512219028323794634784966107955084224583234702572189976842245682682821675849775526288452370430489265472172995638241712589832365749857891530518521233297004356246825394562100371363096666162310917670810283135769133801342056952516849685318005740410530833979231041910732006009087902779571359331230047244548351144146178798159177659127918302082606599434438258398324905683897924944373151908291536920844734524433613249661514930230546060832957465047138550186068320015950336322731380068853677718086723541600132001099548159516198610203916317477120899396070955691321886109436748142048674143124629791234641837866815781785045412606500342860643091653665391383713252661049520229772983210901036401957918315403508411824259976365357798353213598156560398718360672006497857791727334108995514128827326975006340469124039541202802380051156638981762440465923071221291859218 3774564287451390285113196600784160047205799360766705144274796569361174361656347595726093528178114563344036765929384233673188551312003128167067321245945785471446819607687501709271460925360527159381587387067792879847338738089016441388469818388601401636383278645401976787362871178339633030840909405313573789086149818083948551782646748776004117311595583566161354437382421152967222938512351431041028822518322873065854947265448673528391728280641420784304918548009707046893081459267094318515756454983782923731911287183476770214578339907018985960170129004102190593813106900818645481988865073092735929656643626932136161213926636893753284619087247485260782117211292642370195070926927528945998014250330636393521163320494744181419280912441738887502678935372769027192506833083293264065483668960985662770253045064591371580312964587825171568618976498546944333911039190043009734635295690133818176796037689454309329924158350125049636015921376292898003868971101513743372278789218987679851781353960616102981104995210179406434007902119420162189289499565737299583462093115171725320116248397943340520650979203143013406218966268072185008233426023667672640176479013567586818527077826160588511710597350494058714661416121996274129417543715553007466744432671555172102162071750250955083213756397865306763988492269734091960609597466038565798765184420350035175801398727417596245898400808443140213326668630504259088034504455011158703093002683936618057667255953888869852517632584815377265222004290609679108337686806919743558610986026482051470696809255799652408156451374637633436562107640884097178871276188019326726011658103146967421292252822949397247119653145702410382779655027147440560550665034735111064827064477069541755075334088749069318432665060741839926946899753342095177485971687089583669834566726216448543499114172422229 6107373309817877692542977311317746084757514778909378619189901041020377845429793967908216762363509115899380384541579390641114177449871483980357827100821426277974975556695241748718833635787815218214380153052150297050446471236430204174125596253560937032345134536501965944699742343482780188813722513430860448232883853579909252616905339095886956831618236033815122550185138601197467138529343793335038057627159221047468529178526228582393637296860391723408145934947235415613908862742889709076112850045367129682160204073170184312239800137865578625813094821062429749822875957116815475761554425648815767992193386517199795413393848676570218277181079426741750005445506497330805358117672078630069672180727511834570853050216444408383868731749655958431021970398067932734813190611634862173365043885765017297946133540754410884530585894333384377769420399956275344348308503596428058571503316645881759229269194559861859539429434155178503318018236281537435666377944015313884497817542782314636747461915700327564339697782369383276253584802241838039065025854189670013951358587344720958357960987775706270508870733661534639515970624319010402795526395030769306338789931238397101662846959961930568663114200179376720401826652830253360459454447559016554647212242914503332209316298602099229392554557042965891906794352340691395047855864363471482663109364723187084092935648262330770332014058104655143557214691337216553081643005197227023108953020259349437736109631606956576059232716816476813381520489219883024655163927819139629566677348368160907444951304473795532786242609279471303377889425929509785371619048662418379677049486860220082341773052722380458020689547660328698183163438971700536916022833088324662983624875787902427081831946540796652541660574870667253921906093811219217027174489469634826473548488656914466570335464281447 9881937597269267977656173912101906131963314139676083763464697610381552207086141563634310290541623679243417150470963624314302728761874612147425148346767211749421795164382743457990294561148342377595967540119943176897785209325446645562595414642162338668728413181903942732062613521822413219654631918744434237319033671663857804399552087871891074143213819599976476987567559754164690077041695224376066880145482094113323476443974902110785365577501812507713064482956942462506990322009984027591869305029150053414071491256646954526818140044884564585983223825164620343635982857935460957750419498741551697648837013449335956627320485570323502896268326912002532122656799139701000429044599607576067686431058148228092016370711188589803149644191394845933700905770836959927320023694928126238848712846750680068199178605345782464843550482158555946388396898503219678259347693639437793206799006779699936025306884014171189463587784280228139333939612574435439535349045529057256776606761769994488528815876316430545444692992548789710261486921662000228354525419926969597413451702516446278474209385719046791159849936804548045734936892391195411028952418698441946515268944805983920189924786122519080373711550673435435063242774826527489876998163112024021391644914469675434371388048853054312606310954908272655895286622074783355657453330402037281428293785073222259894334375679927016230414866547795356883883321841475641116147460208385726201955704195967495403365585495826428576865301631854078603524779829562132992850734738883188177663374850212378141760560273447940942693983917104739939997066813606964242895236681745105688707590007187503634025875671777705140342693362739080962818466119141097466687867823435727810689352857444182157166035289865970974325635612507180868805847153314394513146176559218496308115214873363010069449636703676 15989310907087145670199151223419652216720828918585462382654598651401930052515935531542527052905132795142797535012543014955416906211746096127782975447588638027396770721077985206709128196936157595810347693172093473948231680561876849736721010895723275701073547718405908676762355865305193408468354432175294685551917525243767057016457426967778030974832055633791599537752698355362157215571039017711104937772641315160792005622501130693179002874362204231121210417904177878120899184752873736667982155074517183096231695329817138839057940182750143211796318646227050093458858815052276433511973924390367465641030399966535752040714334246893721173449406338744282128102305637031805787162271686206137358611785660062662869420927632998187018375941050804364722876168904892662133214306562988412213756732515697366145312146100193349374136376491940324157817298459495022607656197235865851778302323425581695254576078574033049003017218435406642651957848855972875201726989544371141274424304552309125276277792016758109784390774918172986515071723903838267419551274116639611364810289861167236832170373494753061668720670466082685250907516710205813824478813729211252854058876044381021852771746084449649036825750852812155465069427656780850336452610671040576038857157384178766580704347455153541998865511951238547802080974415474750705309194765508764091403149796409343987270023942257786562428924652450500441098013178692194197790465405612749310908724455316933139475217102783004636098018448330891985045269049445157648014662558022817744340723218373285586711864747243473728936593196576043317886492743116749614514285344163485365757076867407585975798928394158163161032241023067779145981905090841634382710700911760390794314228645346609238997981830662623515986210483174434790711940964533611540320666028853322781663703530277476639785100985123 25871248504356413647855325135521558348684143058261546146119296261783482259602077095176837343446756474386214685483506639269719634973620708275208123794355849776818565885460728664699422758084499973406315233292036650846016889887323495299316425537885614369801960900309851408824969387127606628122986350919728922870951196907624861416009514839669105118045875233768076525320258109526847292612734242087171817918123409274115482066476032803964368451864016738834274900861120340627889506762857764259851460103667236510303186586464093365876080227634707797779542471391670437094841672987737391262393423131919163289867413415871708668034819817217224069717733250746814250759104776732806216206871293782205045042843808290754885791638821587990168020132445650298423781939741852589453238001491114651062469579266377434344490751445975814217686858650496270546214196962714700867003890875303644985101330205281631279882962588204238466605002715634781985897461430408314737076035073428398051031066322303613805093668333188655229083767466962696776558645565838495774076694043609208778261992377613515306379759213799852828570607270630730985844409101401224853431232427653199369327820850364942042696532206968729410537301526247590528312202483308340213450773783064597430502071853854200952092396308207854605176466859511203697367596490258106362762525167546045519696934869631603881604399622184802792843791200245857324981335020167835313937925613998475512864428651284428542840802598609433212963320080184970588570048879007290640865397296906005922004098068585663728472425020691414671630577113680783257883559556723713857409522025908591054464666874595089609824804065935868301374934385806860108800371209982731849398568735196118605003581502790791396164017120528594490311846095681615659517788117848006053466842588071819089778918403640486709234737688799 41860559411443559318054476358941210565404971976847008528773894913185412312118012626719364396351889269529012220496049654225136541185366804402991099241944487804215336606538713871408550955020657569216662926464130124794248570449200345036037436433608890070875508618715760085587325252432800036591340783095023608422868722151391918432466941807447136092877930867559676063072956464889004508183773259798276755690764724434907487688977163497143371326226220969955485318765298218748788691515731500927833615178184419606534881916281232204934020410384851009575861117618720530553700488040013824774367347522286628930897813382407460708749154064110945243167139589491096378861410413764612003369142979988342403654629468353417755212566454586177186396073496454663146658108646745251586452308054103063276226311782074800489802897546169163591823235142436594704031495422209723474660088111169496763403653630863326534459041162237287469622221151041424637855310286381189938803024617799539325455370874612739081371460349946765013474542385135683291630369469676763193627968160248820143072282238780752138550132708552914497291277736713416236751925811607038677910046156864452223386696894745963895468278291418378447363052379059745993381630140089190549903384454105173469359229238032967532796743763361396604041978810749751499448570905732857068071719933054809611100084666040947868874423564442589355272715852696357766079348198860029511728391019611224823773153106601361682316019701392437849061338528515862573615317928452448288880059854928823666344821286958949315184289767934888400567170310256826575770052299840463471923807370072076420221743742002675585623732460094031462407175408874639254782276300824366232109269646956509399317810148137400635161998951191218006298056578856050450229729082381617593787508616925141871442621933917963349019838673922 67731807915799972965909801494462768914089115035108554674893191174968894571720089721896201739798645743915226905979556293494856176158987512678199223036300337581033902491999442536107973713105157542622978159756166775640265460336523840335353861971494504440677469519025611494412294639560406664714327134014752531293819919059016779848476456647116241210923806101327752588393214574415851800796507501885448573608888133709022969755453196301107739778090237708789760219626418559376678198278589265187685075281851656116838068502745325570810100638019558807355403589010390967648542161027751216036760770654205792220765226798279169376783973881328169312884872840237910629620515190497418219576014273770547448697473276644172641004205276174167354416205942104961570440048388597841039690309545217714338695891048452234834293648992144977809510093792932865250245692384924424341663978986473141748504983836144957814342003750441525936227223866676206623752771716789504675879059691227937376486437196916352886465128683135420242558309852098380068189015035515258967704662203858028921334274616394267444929891922352767325861885007344147222596334913008263531341278584517651592714517745110905938164810498387107857900353905307336521693832623397530763354158237169770899861301091887168484889140071569251209218445670260955196816167395990963430834245100600855130797019535672551750478823186627392148116507052942215091060683219027864825666316633609700336637581757885790225156822300001871062024658608700833162185366807459738929745457151834829588348919355544613043656714788626303072197747423937609833653611856564177329333329395980667474686410616597765195448536526029899763782109794681499363582647510807098081507838382152628004321391650928192031326016071719812496609902674537666109747517200229623647254351204996960961221540337558450058254576362721 109592367327243532283964277853403979479494087011955563203667086088154306883838102348615566136150535013444239126475605947719992717344354317081190322278244825385249239098538156407516524668125815111839641086220296900434514030785724185371391298405103394511552978137741371579999619891993206701305667917109776139716688641210408698280943398454563377303801736968887428651466171039304856308980280761683725329299652858143930457444430359798251111104316458678745245538391716778125466889794320766115518690460036075723372950419026557775744121048404409816931264706629111498202242649067765040811128118176492421151663040180686630085533127945439114556052012429729007008481925604262030222945157253758889852352102744997590396216771730760344540812279438559624717098157035343092626142617599320777614922202830527035324096546538314141401333328935369459954277187807134147816324067097642638511908637467008284348801044912678813405849445017717631261608082003170694614682084309027476701941808071529091967836589033082185256032852237234063359819384505192022161332630364106849064406556855175019583480024630905681823153162744057563459348260724615302209251324741382103816101214639856869833633088789805486305263406284367082515075462763486721313257542691274944369220530329920136017685883834930647813260424481010706696264738301723820498905965033655664741897104201713499619353246751069981503389222905638572857140031417887894337394707653220925160410734864487151907472842001394308911085997137216695735800684735912187218625517006763653254693740642503562358841004556561191472764917734194436409423664156404640801257136766052743894908154358600440781072268986123931226189285203556138618364923811631464313617108029109137403639201799065592666488015022911030502907959253393716559977246282611241241041859821922102832664162271476413407274415036643 177324175243043505249874079347866748393583202047064117878560277263123201455558192070511767875949180757359466032455162241214848893503341829759389545314545162966283141590537598943624498381230972654462619245976463676074779491122248025706745160376597898952230447656766983074411914531553613366019995051124528671010508560269425478129419855101679618514725543070215181239859385613720708109776788263569173902908540991852953427199883556099358850882406696387535005758018135337502145088072910031303203765741887731840211018921771883346554221686423968624286668295639502465850784810095516256847888888830698213372428266978965799462317101826767283868936885269966917638102440794759448442521171527529437301049576021641763037220977006934511895228485380664586287538205423940933665832927144538491953618093878979270158390195530459119210843422728302325204522880192058572157988046084115780260413621303153242163143048663120339342076668884393837885360853719960199290561144000255414078428245268445444854301717716217605498591162089332443428008399540707281129037292567964877985740831471569287028409916553258449149015047751401710681944595637623565740592603325899755408815732384967775771797899288192594163163760189674419036769295386884252076611700928444715269081831421807304502575023906499899022478870151271661893080905697714783929740210134256519872694123737386051369832069937697373651505729958580787948200714636915759163061024286830625497048316622372942132629664301396179973110655745917528897986051543371926148370974158598482843042659998048175402497719345187494544962665158132046243077276012968818130590466162033411369594564975198205976520805512153830989971394998237637981947571322438562395124946411261765407960593449993784697814031094630842999517861927931382669724763482840864888296211026919063793885702609034863465528991399364 286916542570287037533838357201270727873077289059019681082227363351277508339396294419127334012099715770803705158930768188934841610847696146840579867592789988351532380689075755351141023049356787766302260332196760576509293521907972211078136458781701293463783425794508354654411534423546820067325662968234304810727197201479834176410363253556242995818527280039102609891325556653025564418757069025252899232208193849996883884644313915897609961986723155066280251296409852115627611977867230797418722456201923807563583969340798441122298342734828378441217933002268613964053027459163281297659017007007190634524091307159652429547850229772206398424988897699695924646584366399021478665466328781288327153401678766639353433437748737694856436040764819224211004636362459284026291975544743859269568540296709506305482486742068773260612176751663671785158800067999192719974312113181758418772322258770161526511944093575799152747926113902111469146968935723130893905243228309282890780370053339974536822138306749299790754624014326566506787827784045899303290369922932071727050147388326744306611889941184164130972168210495459274141292856362238867949843928067281859224916947024824645605430988077998080468427166474041501551844758150370973389869243619719659638302361751727440520260907741430546835739294632282368589345643999438604428646175167912184614591227939099550989185316688767355154894952864219360805340746054803653500455731940051550657459051486860094040102506302790488884196652883134224633786736279284113366996491165362136097736400640551737761338723901748686017727582892326482652500940169373458931847602928086155264502719333798646757593074498277762216160680201793776600312495134070026708742054440370902811599795249059377364302046117541873502425821181325099229702009765452106129338070848841166626549864880511276872803406436007 464240717813330542783712436549137476266660491106083798960787640614400709794954486489639101888048896528163171191385930430149690504351037976599969412907335151317815522279613354294765521430587760420764879578173224252584073013030220236784881619158299192416013873451275337728823448955100433433345658019358833481737705761749259654539783108657922614333252823109317791131184942266746272528533857288822073135116734841849837311844197471996968812869129851453815257054427987453129757065940140828721926221943811539403794988262570324468852564421252347065504601297908116429903812269258797554506905895837888847896519574138618229010167331598973682293925782969662842284686807193780927107987500308817764454451254788281116470658725744629368331269250199888797292174567883224959957808471888397761522158390588485575640876937599232379823020174391974110363322948191251292132300159265874199032735880073314768675087142238919492090002782786505307032329789443091093195804372309538304858798298608419981676440024465517396253215176415898950215836183586606584419407215500036605035888219798313593640299857737422580121183258246860984823237451999862433690436531393181614633732679409792421377228887366190674631590926663715920588614053537255225466480944548164374907384193173534745022835931647930445858218164783554030482426549697153388358386385302168704487285351676485602359017386626464728806400682822800148753541460691719412663516756226882176154507368109233036172732170604186668857307308629051753531772787822656039515367465323960618940779060638599913163836443246936180562690248050458528895578216182342277062438069090119566634097284308996852734113880010431593206132075200031414582260066456508589103867000851632668219560388699053162062116077212172716501943683109256481899426773248292971017634281875760230420435567489546140338332397835371 751157260383617580317550793750408204139737780165103480043015003965678218134350780908766435900148612298966876350316698619084532115198734123440549280500125139669347902968689109645906544479944548187067139910369984829093366534938192447863018077940000485879797299245783692383234983378647253500671320987593138292464902963229093830950146362214165610151780103148420401022510498919771836947290926314074972367324928691846721196488511387894578774855853006520095508350837839568757369043807371626140648678145735346967378957603368765591150907156080725506722534300176730393956839728422078852165922902845079482420610881298270658558017561371180080718914680669358766931271173592802405773453829090106091607852933554920469904096474482324224767310015019113008296810930342508986249784016632257031090698687297991881123363679668005640435196926055645895522123016190444012106612272447632617805058138843476295187031235814718644837928896688616776179298725166221987101047600618821195639168351948394518498578331214817187007839190742465457003663967632505887709777138432108332086035608125057900252189798921586711093351468742320258964530308362101301640280459460463473858649626434617066982659875444188755100018093137757422140458811687626198856350188167884034545686554925262185543096839389360992693957459415836399071772193696591992787032560470080889101876579615585153348202703315232083961295635687019509558882206746523066163972488166933726811966419596093130212834676906977157741503961512185978165559524101940152882363956489322755038515461279151650925175167148684866580417830942785011548079156351715735994285672018205721898600003642795499491706954508709355422292755401825191182572561590578615812609055292003571031160183948112539426418123329714590004369504290581581129128783013745077146972352724601397046985432370057417211135804271378 1215397978196948123101263230299545680406398271271187279003802644580078927929305267398405537788197508827130047541702629049234222619549772100040518693407460290987163425248302463940672065910532308607832019488543209081677439547968412684647899697098299678295811172697059030112058432333747686934016979006951971774202608724978353485489929470872088224485032926257738192153695441186518109475824783602897045502441663533696558508332708859891547587724982857973910765405265827021887126109747512454862574900089546886371173945865939090060003471577333072572227135598084846823860651997680876406672828798682968330317130455436888887568184892970153763012840463639021609215957980786583332881441329398923856062304188343201586374755200226953593098579265219001805588985498225733946207592488520654792612857077886477456764240617267238020258217100447620005885445964381695304238912431713506816837794018916791063862118378053638136927931679475122083211628514609313080296851972928359500497966650556814500175018355680334583261054367158364407219500151219112472129184353932144937121923827923371493892489656659009291214534726989181243787767760361963735330716990853645088492382305844409488359888762810379429731609019801473342729072865224881424322831132716048409453070748098796930565932771037291438552175624199390429554198743393745381145418945772249593589161931292070755707220089941696812767696318509819658312423667438242478827489244393815902966473787705326166385566847511163826598811270141237731697332311924596192397731421813283373979294521917751564089011610395621047143108078993243540443657372534058013056723741108325288532697287951792352225820834519140948628424830601856605764832628047087204916476056143636239250720572647165701488534200541887306506313187399838063028555556262038048164606634600361627467420999859603557549468202106749 1966555238580565703418814024049953884546136051436290759046817648545757146063656048307171973688346121126096923892019327668318754734748506223481067973907585430656511328216991573586578610390476856794899159398913193910770806082906605132510917775038300164175608471942842722495293415712394940434688299994545110066667511688207447316440075833086253834636813029406158593176205940106289946423115709916972017869766592225543279704821220247786126362580835864494006273756103666590644495153554884081003223578235282233338552903469307855651154378733413798078949669898261577217817491726102955258838751701528047812737741336735159546126202454341333843731755144308380376147229154379385738654895158489029947670157121898122056278851674709277817865889280238114813885796428568242932457376505152911823703555765184469337887604296935243660693414026503265901407568980572139316345524704161139434642852157760267359049149613868356781765860576163738859390927239775535067397899573547180696137135002505209018673596686895151770268893557900829864223164118851618359838961492364253269207959436048429394144679455580596002307886195731501502752298068724065036970997450314108562351031932279026555342548638254568184831627112939230764869531676912507623179181320883932443998757303024059116109029610426652431246133083615226828625970937090337373932451506242330482691038510907655909055422793256928896728991954196839167871305874184765544991461732560749629778440207301419296598401524418140984340315231653423709862891836026536345280095378302606129017809983196903215014186777544305913723525909936028551991736528885773749051009413126531010431297291594587851717527789027850304050717586003681796947405189637665820729085111435639810281880756595278240914952323871601896510682691690419644157684339275783125311578987324963024514406432229660974760604006378127 3181953216777513826520077254349499564952534322707478038050620293125836073992961315705577511476543629953226971433721956717552977354298278323521586667315045721643674753465294037527250676301009165402731178887456402992448245630875017817158817472136599842471419644639901752607351848046142627368705279001497081840870120413185800801930005303958342059121845955663896785329901381292808055898940493519869063372208255759239838213153929107677673950305818722467917039161369493612531621263302396535865798478324829119709726849335246945711157850310746870651176805496346424041678143723783831665511580500211016143054871792172048433694387347311487606744595607947401985363187135165969071536336487887953803732461310241323642653606874936231410964468545457116619474781926793976878664968993673566616316412843070946794651844914202481680951631126950885907293014944953834620584437135874646251480646176677058422911267991921994918693792255638860942602555754384848147694751546475540196635101653062023518848615042575486353529947925059194271442664270070730831968145846296398206329883263971800888037169112239605293522420922720682746540065829086028772301714441167753650843414238123436043702437401064947614563236132740704107598604542137389047502012453599980853451828051122856046674962381463943869798308707814617258180169680484082755077870452014580076280200442199726664762642883198625709496688272706658826183729541623008023818950976954565532744913995006745462983968371929304810939126501794661441560224147951132537677826800115889502997104505114654779103198387939926960866633988929272092435393901419831762107733154234856298963994579546380203943348623546991252679142416605538402712237817684753025645561167579276049532601329242443942403486524413489203016995879090257707186239895537821173476185621925324651981827432089264532310072208484876 5148508455358079529938891278399453449498670374143768797097437941671593220056617364012749485164889751079323895325741284385871732089046784547002654641222631152300186081682285611113829286691486022197630338286369596903219051713781622949669735247174900006647028116582744475102645263758537567803393578996042191907537632101393248118370081137044595893758658985070055378506107321399098002322056203436841081241974847984783117917975149355463800312886654586961923312917473160203176116416857280616869022056560111353048279752804554801362312229044160668730126475394608001259495635449886786924350332201739063955792613128907207979820589801652821450476350752255782361510416289545354810191231646376983751402618432139445698932458549645509228830357825695231433360578355362219811122345498826478440019968608255416132539449211137725341645045153454151808700583925525973936929961840035785686123498334437325781960417605790351700459652831802599801993482994160383215092651120022720892772236655567232537522211729470638123798841482960024135665828388922349191807107338660651475537842700020230282181848567820201295830307118452184249292363897810093809272711891481862213194446170402462599044986039319515799394863245679934872468136219049896670681193774483913297450585354146915162783991991890596301044441791429844086806140617574420129010321958256910558971238953107382573818065676455554606225680226903497994055035415807773568810412709515315162523354202308164759582369896347445795279441733448085151423115983977668882957922178418495632014914488311557994117385165484232874590159898865300644427130430305605511158742567361387309395291871140968055660876412574841556729860002609220199659643007322418846374646279014915859814482085837722183318438848285091099527678570780677351343924234813604298787764609250287676496233864318925507070676214863003 8330461672135593356458968532748953014451204696851246835148058234797429294049578679718326996641433381032550866759463241103424709443345062870524241308537676873943860835147579648641079962992495187600361517173825999895667297344656640766828552719311499849118447761222646227709997111804680195172098857997539273748407752514579048920300086441002937952880504940733952163836008702691906058220996696956710144614183103744022956131129078463141474263192473309429840352078842653815707737680159677152734820534884940472758006602139801747073470079354907539381303280890954425301173779173670618589861912701950080098847484921079256413514977148964309057220946360203184346873603424711323881727568134264937555135079742380769341586065424581740639794826371152348052835360282156196689787314492500045056336381451326362927191294125340207022596676280405037715993598870479808557514398975910431937604144511114384204871685597712346619153445087441460744596038748545231362787402666498261089407338308629256056370826772046124477328789408019218407108492658993080023775253184957049681867725963992031170219017680059806589352728041172866995832429726896122581574426332649615864037860408525898642747423440384463413958099378420638980066740761187285718183206228083894150902413405269771209458954373354540170842750499244461344986310298058502884088192410271490635251439395307109238580708559654180315722368499610156820238764957430781592629363686469880695268268197314910222566338268276750606218568235242746592983340131928801420635748978534385135012018993426212773220583553424159835456793887794572736862524331725437273266475721596243608359286450687348259604225036121832809409002419214758602371880825007171872020207446594191909347083415080166125721925372698580302544674449870935058530164130351425472263950231175612328478061296408190039380748423347879 13478970127493672886397859811148406463949875070995015632245496176469022514106196043731076481806323132111874762085204525489296441532391847417526895949760308026244046916829865259754909249683981209797991855460195596798886349058438263716498287966486399855765475877805390702812642375563217762975492436993581465655945384615972297038670167578047533846639163925804007542342116024091004060543052900393551225856157951728806074049104227818605274576079127896391763664996315814018883854097016957769603842591445051825806286354944356548435782308399068208111429756285562426560669414623557405514212244903689144054640098049986464393335566950617130507697297112458966708384019714256678691918799780641921306537698174520215040518523974227249868625184196847579486195938637518416500909659991326523496356350059581779059730743336477932364241721433859189524694182796005782494444360815946217623727642845551709986832103203502698319613097919244060546589521742705614577880053786520981982179574964196488593893038501516762601127630890979242542774321047915429215582360523617701157405568664012261452400866247880007885183035159625051245124793624706216390847138224131478077232306578928361241792409479703979213352962624100573852534876980237182388864400002567807448352998759416686372242946365245136471887192290674305431792450915632923013098514368528401194222678348414491812398774236109734921948048726513654814293800373238555161439776395985195857791622399623074982148708164624196401498009968690831744406456115906470303593671156952880767026933481737770767337968718908392710046953786659873381289654762031042784425218288957630917754578321828316315265101448696674366138862421823978802031523832329590718394853725609107769161565500917888309040364220983671402072353020651612409874088365165029771051714840425900004974295160727115546451424638210882 21809431799629266242856828343897359478401079767846262467393554411266451808155774723449403478447756513144425628844667766592721150975736910288051137258297984900187907751977444908395989212676476397398353372634021596694553646403094904483326840685797899704883923639028036930522639487367897958147591294991120739404353137130551345958970254019050471799519668866537959706178124726782910118764049597350261370470341055472829030180233306281746748839271601205821604017075158467834591591777176634922338663126329992298564292957084158295509252387753975747492733037176516851861843193797228024104074157605639224153487582971065720806850544099581439564918243472662151055257623138968002573646367914906858861672777916900984382104589398808990508420010567999927539031298919674613190696974483826568552692731510908141986922037461818139386838397714264227240687781666485591051958759791856649561331787356666094191703788801215044938766543006685521291185560491250845940667456453019243071586913272825744650263865273562887078456420298998460949882813706908509239357613708574750839273294628004292622619883927939814474535763200797918240957223351602338972421564556781093941270166987454259884539832920088442627311062002521212832601617741424468107047606230651701599255412164686457581701900738599676642729942789918766776778761213691425897186706778799891829474117743721601050979482795763915237670417226123811634532565330669336754069140082455076553059890596937985204715046432900947007716578203933578337389796247835271724229420135487265902038952475163983540558552272332552545503747674454446118152179093756480057691694010553874526113864772515664574869326484818507175547864841038737404403404657336762590415061172203299678508648915998054434762289593682251704617027470522547468404252495516455243315665071601512333452356457135305585832173061558761 35288401927122939129254688155045765942350954838841278099639050587735474322261970767180479960254079645256300390929872292082017592508128757705578033208058292926431954668807310168150898462360457607196345228094217193493439995461533168199825128652284299560649399516833427633335281862931115721123083731984702205060298521746523642997640421597098005646158832792341967248520240750873914179307102497743812596326499007201635104229337534100352023415350729102213367682071474281853475445874193592691942505717775044124370579312028514843945034696153043955604162793462079278422512608420785429618286402509328368208127681021052185200186111050198570072615540585121117763641642853224681265565167695548780168210476091421199422623113373036240377045194764847507025227237557193029691606634475153092049049081570489921046652780798296071751080119148123416765381964462491373546403120607802867185059430202217804178535892004717743258379640925929581837775082233956460518547510239540225053766488237022233244156903775079649679584051189977703492657134754823938454939974232192451996678863292016554075020750175819822359718798360422969486082016976308555363268702780912572018502473566382621126332242399792421840664024626621786685136494721661650495912006233219509047608410924103143953944847103844813114617135080593072208571212129324348910285221147328293023696796092136092863378257031873650159618465952637466448826365703907891915508916478440272410851512996561060186863754597525143409214588172624410081796252363741742027823091292440146669065885956901754307896520991240945255550701461114319499441833855787522842116912299511505443868443094343980890134427933515181541686727262862716206434928489666353308809914897812407447670214416915942743802653814665923106689380491174159878278340860681485014367379912027412338426651617862421132283597699769643 57097833726752205372111516498943125420752034606687540567032604999001926130417745490629883438701836158400726019774540058674738743483865667993629170466356277826619862420784755076546887675036934004594698600728238790187993641864628072683151969338082199265533323155861464563857921350299013679270675026975822944464651658877074988956610675616148477445678501658879926954698365477656824298071152095094073966796840062674464134409570840382098772254622330308034971699146632749688067037651370227614281168844105036422934872269112673139454287083907019703096895830638596130284355802218013453722360560114967592361615263992117906007036655149780009637533784057783268818899265992192683839211535610455639029883254008322183804727702771845230885465205332847434564258536476867642882303608958979660601741813081398063033574818260114211137918516862387644006069746128976964598361880399659516746391217558883898370239680805932788197146183932615103128960642725207306459214966692559468125353401509847977894420769048642536758040471488976164442539948461732447694297587940767202835952157920020846697640634103759636834254561561220887727039240327910894335690267337693665959772640553836881010872075319880864467975086629142999517738112463086118602959612463871210646863823088789601535646747842444489757347077870511838985349973343015774807471927926128184853170913835857693914357739827637565397288883178761278083358931034577228669578056560895348963911403593499045391578801030426090416931166376557988419186048611577013752052511427927412571104838432065737848455073263573497801054449135568765617594012949544002899808606310065379969982307866859645465003754418333688717234592103901453610838333147003115899224976070015707126178863332913997178564943408348174811306407961696707346682593356197940257683044983628924671879008074997726718115770761328404 92386235653875144501366204653988891363102989445528818666671655586737400452679716257810363398955915803657026410704412350756756335991994425699207203674414570753051817089592065244697786137397391611791043828822455983681433637326161240882977097990366498826182722672694892197193203213230129400393758758960525149524950180623598631954251097213246483091837334451221894203218606228530738477378254592837886563123339069876099238638908374482450795669973059410248339381218107031541542483525563820306223674561880080547305451581141187983399321780060063658701058624100675408706868410638798883340646962624295960569742945013170091207222766199978579710149324642904386582540908845417365104776703306004419198093730099743383227350816144881471262510400097694941589485774034060672573910243434132752650790894651887984080227599058410282888998636010511060771451710591468338144765001007462383931450647761101702548775572810650531455525824858544684966735724959163766977762476932099693179119889746870211138577672823722186437624522678953867935197083216556386149237562172959654832631021212037400772661384279579459193973359921643857213121257304219449698958970118606237978275114120219502137204317719673286308639111255764786202874607184747769098871618697090719694472234012892745489591594946289302871964212951104911193921185472340123717757149073456477876867709927993786777735996859511215556907349131398744532185296738485120585086973039335621374762916590060105578442555627951233826145754549182398500982300975318755779875602720367559240170724388967492156351594254814443056605150596683085117035846805331525741925518609576885413850750961203626355138182351848870258921319366764169817273261636669469208034890967828114573849077749829939922367597223014097917995788452870867224960934216879425272050424895656337010305659692860147850399368461098047 149484069380627349873477721152932016783855024052216359233704260585739326583097461748440246837657751962057752430478952409431495079475860093692836374140770848579671679510376820321244673812434325616385742429550694773869427279190789313566129067328448698091716045828556356761051124563529143079664433785936348093989601839500673620910861772829394960537515836110101821157916971706187562775449406687931960529920179132550563373048479214864549567924595389718283311080364739781229609521176934047920504843405985116970240323850253861122853608863967083361797954454739271538991224212856812337063007522739263552931358209005287997214259421349758589347683108700687655401440174837610048943988238916460058227976984108065567032078518916726702147975605430542376153744310510928315456213852393112413252532707733286047113802417318524494026917152872898704777521456720445302743126881407121900677841865319985600919015253616583319652672008791159788095696367684371073436977443624659161304473291256718189032998441872364723195664994167930032377737031678288833843535150113726857668583179132058247470302018383339096028227921482864744940160497632130344034649237456299903938047754674056383148076393039554150776614197884907785720612719647833887701831231160961930341336057101682347025238342788733792629311290821616750179271158815355898525229076999584662730038623763851480692093736687148780954196232310160022615544227773062349254665029600230970338674320183559150970021356658377324243076920925740386920168349586895769531928114148294971811275562821033230004806667518387940857659599732251850734629859754875528641734124919642265383833058828063271820141936770182558976155911470665623428111594783672585107259867037843821700027941082743937100932540631362272729302196414567574571643527573077365529733469879285261682184667767857874568515139222426451 241870305034502494374843925806920908146958013497745177900375916172476727035777178006250610236613667765714778841183364760188251415467854519392043577815185419332723496599968885565942459949831717228176786258373150757550860916516950554449106165318815196917898768501251248958244327776759272480058192544896873243514552020124272252865112870042641443629353170561323715361135577934718301252827661280769847093043518202426662611687387589347000363594568449128531650461582846812771152004702497868226728517967865197517545775431395049106252930644027147020499013078839946947698092623495611220403654485363559513501101154018458088421482187549737169057832433343592041983981083683027414048764942222464477426070714207808950259429335061608173410486005528237317743230084544988988030124095827245165903323602385174031194030016376934776915915788883409765548973167311913640887891882414584284609292513081087303467790826427233851108197833649704473062432092643534840414739920556758854483593181003588400171576114696086909633289516846883900312934114894845219992772712286686512501214200344095648242963402662918555222201281404508602153281754936349793733608207574906141916322868794275885285280710759227437085253309140672571923487326832581656800702849858052650035808291114575092514829937735023095501275503772721661373192344287696022242986226073041140606906333691845267469829733546659996511103581441558767147729524511547469839752002639566591713437236773619256548463912286328558069222675474922785421150650562214525311803716868662531051446287210000722161158261773202383914264750328934935851665706560207054383659643529219150797683809789266898175280119122031429235077230837429793245384856420342054315294758005671936273877018832573877023300137854376370647297984867438441796604461789956790801783894774941598692490327460718022418914507683524498 391354374415129844248321646959852924930813037549961537134080176758216053618874639754690857074271419727772531271662317169619746494943714613084879951955956267912395176110345705887187133762266042844562528687923845531420288195707739868015235232647263895009614814329807605719295452340288415559722626330833221337504153859624945873775974642872036404166869006671425536519052549640905864028277067968701807622963697334977225984735866804211549931519163838846814961541947586594000761525879431916147233361373850314487786099281648910229106539507994230382296967533579218486689316836352423557466662008102823066432459363023746085635741608899495758405515542044279697385421258520637462992753181138924535654047698315874517291507853978334875558461610958779693896974395055917303486337948220357579155856310118460078307832433695459270942832941756308470326494624032358943631018763821706185287134378401072904386806080043817170760869842440864261158128460327905913851717364181418015788066472260306589204574556568451632828954511014813932690671146573134053836307862400413370169797379476153895713265421046257651250429202887373347093442252568480137768257445031206045854370623468332268433357103798781587861867507025580357644100046480415544502534081019014580377144348216257439540068280523756888130586794594338411552463503103051920768215303072625803336944957455696748161923470233808777465299813751718789763273752284609819094417032239797562052111556957178407518485268944705882312299596400663172341319000149110294843731831016957502862721850031033952165964929291590324771924350061186786586295566315082583025393768448861416181516868617330169995422055892213988211233142308095416673496451204014639422554625043515757973904959915317814124232678485738643376600181282006016368247989363034156331517364654226860374674995228575896987429646905950949 633224679449632338623165572766773833077771051047706715034456092930692780654651817760941467310885087493487310112845681929807997910411569132476923529771141687245118672710314591453129593712097760072739314946296996288971149112224690422464341397966079091927513582831058854677539780117047688039780818875730094581018705879749218126641087512914677847796222177232749251880188127575624165281104729249471654716007215537403888596423254393558550295113732287975346612003530433406771913530581929784373961879341715512005331874713043959335359470152021377402795980612419165434387409459848034777870316493466382579933560517042204174057223796449232927463347975387871739369402342203664877041518123361389013080118412523683467550937189039943048968947616487017011640204479600906291516462044047602745059179912503634109501862450072394047858748730639718235875467791344272584518910646236290469896426891482160207854596906471051021869067676090568734220560552971440754266457284738176870271659653263894989376150671264538542462244027861697833003605261467979273829080574687099882671011579820249543956228823709176206472630484291881949246724007504829931501865652606112187770693492262608153718637814558009024947120816166252929567587373312997201303236930877067230412952639330832532054898218258779983631862298367060072925655847390747943011201529145666943943851291147542015631753203780468773976403395193277556911003276796157288934169034879364153765548793730797664066949181231034440381522271875585957762469650711324820155535547885620033914168137241034674327123191064792708686189100390121722437961272875289637409053411978080566979200678406597068170702175014245417446310373145525209918881307624356693737849383049187694247781978747891691147532816340115014023898166149444458164852451152990947133301259429168459067165322689293919406344154589475447 1024579053864762182871487219726626758008584088597668252168536269688908834273526457515632324385156507221259841384507999099427744405355283745561803481727097955157513848820660297340316727474363802917301843634220841820391437307932430290479576630613342986937128397160866460396835232457336103599503445206563315918522859739374164000417062155786714251963091183904174788399240677216530029309381797218173462338970912872381114581159121197770100226632896126822161573545478020000772675056461361700521195240715565826493117973994692869564466009660015607785092948145998383921076726296200458335336978501569205646366019880065950259692965405348728685868863517432151436754823600724302340034271304500313548734166110839557984842445043018277924527409227445796705537178874656823595002799992267960324215036222622094187809694883767853318801581672396026706201962415376631528149929410057996655183561269883233112241402986514868192629937518531432995378689013299346668118174648919594886059726125524201578580725227832990175291198538876511765694276408041113327665388437087513252840808959296403439669494244755433857723059687179255296340166260073310069270123097637318233625064115730940422151994918356790612808988323191833287211687419793412745805771011896081810790096987547089971594966498782536871762449092961398484478119350493799863779416832218292747280796248603238763793676674014277551441703208944996346674277029080767108028586067119161715817660350687976071585434450175740322693821868276249130103788650860435114999267378902577536776889987272068626493088120356383033458113450451308509024256839190372220434447180426941983160717547023927238166124230906459405657543515453620626592377758828371333160404008092703452221686938663209505271765494825853657400498347431450474533100440516025103464818624083395319441840317917869816393773801495426396 1657803733314394521494652792493400591086355139645374967202992362619601614928178275276573791696041594714747151497353681029235742315766852878038727011498239642402632521530974888793446321186461562990041158580517838109362586420157120712943918028579422078864641979991925315074375012574383791639284264082293410499541565619123382127058149668701392099759313361136924040279428804792154194590486526467645117054978128409785003177582375591328650521746628414797508185549008453407544588587043291484895157120057281338498449848707736828899825479812036985187888928758417549355464135756048493113207294995035588226299580397108154433750189201797961613332211492820023176124225942927967217075789427861702561814284523363241452393382232058220973496356843932813717177383354257729886519262036315563069274216135125728297311557333840247366660330403035744942077430206720904112668840056294287125079988161365393320095999892985919214499005194622001729599249566270787422384631933657771756331385778788096567956875899097528717753442566738209598697881669509092601494469011774613135511820539116652983625723068464610064195690171471137245586890267578140000771988750243430421395757607993548575870632732914799637756109139358086216779274793106409947109007942773149041203049626877922503649864717041316855394311391328458557403775197884547806790618361363959691224647539750780779425429877794746325418106604138273903585280305876924396962755101998525869583209144418773735652383631406774763075344140151835087866258301571759935154802926788197570691058124513103300820211311421175742144302550841430231462218112065661857843500592405022550139918225430524306336826405920704823103853888599145836511259066452728026898253391141891146469468917411101196419298311165968671424396513580894932697952891669016050598119883512563778509005640607163735800117956084901843 2682382787179156704366140012220027349094939228243043219371528632308510449201704732792206116081198101936006992881861680128663486721122136623600530493225337597560146370351635186133763048660825365907343002214738679929754023728089551003423494659192765065801770377152791775471210245031719895238787709288856726418064425358497546127475211824488106351722404545041098828678669482008684223899868323685818579393949041282166117758741496789098750748379524541619669759094486473408317263643504653185416352360772847164991567822702429698464291489472052592972981876904415933276540862052248951448544273496604793872665600277174104693443154607146690299201075010252174612879049543652269557110060732362016110548450634202799437235827275076498898023766071378610422714562228914553481522062028583523393489252357747822485121252217608100685461912075431771648279392622097535640818769466352283780263549431248626432337402879500787407128942713153434724977938579570134090502806582577366642391111904312298146537601126930518893044641105614721364392158077550205929159857448862126388352629498413056423295217313220043921918749858650392541927056527651450070042111847880748655020821723724488998022627651271590250565097462549919503990962212899822692914778954669230851993146614425012475244831215823853727156760484289857041881894548378347670570035193582252438505443788354019543219106551809023876859809813083270250259557334957691504991341169117687585400869495106749807237818081582515085769166008428084217970046952432195050154070305690775107467948111785171927313299431777558775602416001292738740486474951256034078277947772831964533300635772454451544502950636827164228761397404052766463103636825281099360058657399234594598691155856074310701691063805991822328824894861012345407231053332185041154062938507595959097950845958525033552193891757580328239 4340186520493551225860792804713427940181294367888418186574520994928112064129883008068779907777239696650754144379215361157899229036888989501639257504723577239962778891882610074927209369847286928897384160795256518039116610148246671716367412687772187144666412357144717090545585257606103686878071973371150136917605990977620928254533361493189498451481717906178022868958098286800838418490354850153463696448927169691951120936323872380427401270126152956417177944643494926815861852230547944670311509480830128503490017671410166527364116969284089578160870805662833482632004997808297444561751568491640382098965180674282259127193343808944651912533286503072197789003275486580236774185850160223718672362735157566040889629209507134719871520122915311424139891945583172283368041324064899086462763468492873550782432809551448348052122242478467516590356822828818439753487609522646570905343537592614019752433402772486706621627947907775436454577188145840921512887438516235138398722497683100394714494477026028047610798083672352930963090039747059298530654326460636739523864450037529709406920940381684653986114440030121529787513946795229590070814100598124179076416579331718037573893260384186389888321206601908005720770237006006232640023786897442379893196196241302934978894695932865170582551071875618315599285669746262895477360653554946212129730091328104800322644536429603770202277916417221544153844837640834615901954096271116213454984078639525523542890201712989289848844510148579919305836305254003954985308873232478972678159006236298275228133510743198734517746718552134168971948693063321695936121448365236987083440553997884975850839777042747869051865251292651912299614895891733827386956910790376485745160624773485411898110362117157791000249291374593240339929006223854057204661058391108522876459851599132197287994009713665230082 7022569307672707930226932816933455289276233596131461405946049627236622513331587740860986023858437798586761137261077041286562715758011126125239787997948914837522925262234245261060972418508112294804727163009995197968870633876336222719790907346964952210468182734297508866016795502637823582116859682660006863335670416336118474382008573317677604803204122451219121697636767768809522642390223173839282275842876210974117238695065369169526152018505677498036847703737981400224179115874052597855727861841602975668481585494112596225828408458756142171133852682567249415908545859860546396010295841988245175971630780951456363820636498416091342211734361513324372401882325030232506331295910892585734782911185791768840326865036782211218769543888986690034562606507812086836849563386093482609856252720850621373267554061769056448737584154553899288238636215450915975394306378988998854685607087023862646184770805651987494028756890620928871179555126725411055603390245098812505041113609587412692861032078152958566503842724777967652327482197824609504459814183909498865912217079535942765830216157694904697908033189888771922329441003322881040140856212446004927731437401055442526571915888035457980138886304064457925224761199218906055332938565852111610745189342855727947454139527148689024309707832359908172641167564294641243147930688748528464568235535116458819865863642981412794079137726230304814404104394975792307406945437440233901040384948134632273350128019794571804934613676157008003523806352206436150035462943538169747785626954348083447155446810174976293293349134553426907712435168014577730014399396138068951616741189770339427395342727679575033280626648696704678762718532717014926747015568189611080343851780629559722599801425923149613329074186235605585747160059556039098358723996898704481974410697557657230840187901471245558321 11362755828166259156087725621646883229457527964019879592520570622164734577461470748929765931635677495237515281640292402444461944794900115626879045502672492077485704154116855335988181788355399223702111323805251716007987244024582894436158320034737139355134595091442225956562380760243927268994931656031157000253276407313739402636541934810867103254685840357397144566594866055610361060880578023992745972291803380666068359631389241549953553288631830454454025648381476327040040968104600542526039371322433104171971603165522762753192525428040231749294723488230082898540550857668843840572047410479885558070595961625738622947829842225035994124267648016396570190885600516812743105481761052809453455273920949334881216494246289345938641064011902001458702498453395259120217604710158381696319016189343494924049986871320504796789706397032366804828993038279734415147793988511645425590950624616476665937204208424474200650384838528704307634132314871251977116277683615047643439836107270513087575526555178986614114640808450320583290572237571668802990468510370135605436081529573472475237137098076589351894147629918893452116954950118110630211670313044129106807853980387160564145809148419644370027207510666365930945531436224912287972962352749553990638385539097030882433034223081554194892258904235526488240453234040904138625291342303474676697965626444563620188508179411016564281415642647526358557949232616626923308899533711350114495369026774157796893018221507561094783458186305587922829642657460440105020771816770648720463785960584381722383580320918175027811095853105561076684383861077899425950520844503305938700181743768224403246182504722322902332491899989356591062333428608748754133972478979987566089012405403045134497911788040307404329323477610198826087089065779893155563385055289813004850870549156789428128181911184910788403 18385325135838967086314658438580338518733761560151340998466620249401357090793058489790751955494115293824276418901369443731024660552911241752118833500621406915008629416351100597049154206863511518506838486815246913976857877900919117155949227381702091565602777825739734822579176262881750851111791338691163863588946823649857877018550508128544708057889962808616266264231633824419883703270801197832028248134679591640185598326454610719479705307137507952490873352119457727264220083978653140381767233164036079840453188659635358979020933886796373920428576170797332314449096717529390236582343252468130734042226742577194986768466340641127336336002009529720942592767925547045249436777671945395188238185106741103721543359283071557157410607900888691493265104961207345957067168096251864306175268910194116297317540933089561245527290551586266093067629253730650390542100367500644280276557711640339312121975014076461694679141729149633178813687441596663032719667928713860148480949716857925780436558633331945180618483533228288235618054435396278307450282694279634471348298609109415241067353255771494049802180819807665374446395953440991670352526525490134034539291381442603090717725036455102350166093814730823856170292635443818343305900918601665601383574881952758829887173750230243219201966736595434660881620798335545381773222031052003141266201161561022440054371822392429358360553368877831172962053627592419230715844971151584015535753974908790070243146241302132899718071862462595926353449009666876255056234760308818468249412914932465169539027131093151321104444987658987984396819029092477155964920240641374890316922933538563830641525232401897935613118548686061269825051961325763680880988047169598646432864186032604857097713213963457017658397663845804411834249125335932253922109052188517486825281246714446658968369812656156346724 29748080964005226242402384060227221748191289524171220590987190871566091668254529238720517887129792789061791700541661846175486605347811357378997879003293898992494333570467955933037335995218910742208949810620498629984845121925502011592107547416439230920737372917181960779141557023125678120106722994722320863842223230963597279655092442939411811312575803166013410830826499880030244764151379221824774220426482972306253957957843852269433258595769338406944899000500934054304261052083253682907806604486469184012424791825158121732213459314836605669723299659027415212989647575198234077154390662948016292112822704202933609716296182866163330460269657546117512783653526063857992542259432998204641693459027690438602759853529360903096051671912790692951967603414602605077284772806410246002494285099537611221367527804410066042316996948618632897896622292010384805689894356012289705867508336256815978059179222500935895329526567678337486447819756467915009835945612328907791920785824128438868012085188510931794733124341678608818908626672967947110440751204649770076784380138682887716304490353848083401696328449726558826563350903559102300564196838534263141347145361829763654863534184874746720193301325397189787115824071668730631278863271351219592021960421049789712320207973311797414094225640830961149122074032376449520398513373355477817964166788005586060242880001803445922641969011525357531520002860209046154024744504862934130031123001682947867136164462809693994501530048768183849183091667127316360077006577079467188713198875516846891922607452011326348915540840764549061081202890170376581915441085144680829017104677306788233887707737124220837945610448675417860887385389934512435014960526149586212521876591435649991595625002003764421987721141456003237921338191115825409485494107478330491676151795871236087096551723841067135127 48133406099844193328717042498807560266925051084322561589453811120967448759047587728511269842623908082886068119443031289906511265900722599131116712503915305907502962986819056530086490202082422260715788297435745543961702999826421128748056774798141322486340150742921695601720733286007428971218514333413484727431170054613455156673642951067956519370465765974629677095058133704450128467422180419656802468561162563946439556284298462988912963902906846359435772352620391781568481136061906823289573837650505263852877980484793480711234393201632979590151875829824747527438744292727624313736733915416147026155049446780128596484762523507290666796271667075838455376421451610903241979037104943599829931644134431542324303212812432460253462279813679384445232708375809951034351940902662110308669554009731727518685068737499627287844287500204898990964251545741035196231994723512933986144066047897155290181154236577397590008668296827970665261507198064578042555613541042767940401735540986364648448643821842876975351607874906897054526681108364225417891033898929404548132678747792302957371843609619577451498509269534224201009746857000093970916723364024397175886436743272366745581259221329849070359395140128013643286116707112548974584764189952885193405535303002548542207381723542040633296192377426395810003694830711994902171735404407480959230367949566608500297251824195875281002522380403188704482056487801465384740589476014518145566876976591737937379310704111826894219601911230779775536540676794192615133241337388285656962611790449312061461634583104477670019985828423537045478021919262853737880361325786055719334027610845352064529232969526118773558728997361479130712437351260276115895948573319184858954740777468254848693338215967221439646118805301807649755587316451757663407603159666847978501433042585682746064921536497223481851 77881487063849419571119426559034782015116340608493782180441001992533540427302116967231787729753700871947859819984693136081997871248533956510114591507209204899997296557287012463123826197301333002924738108056244173946548121751923140340164322214580553407077523660103656380862290309133107091325237328135805591273393285577052436328735394007368330683041569140643087925884633584480373231573559641481576688987645536252693514242142315258346222498676184766380671353121325835872742188145160506197380442136974447865302772309951602443447852516469585259875175488852162740428391867925858390891124578364163318267872150983062206201058706373453997256541324621955968160074977674761234521296537941804471625103162121980927063066341793363349513951726470077397200311790412556111636713709072356311163839109269338740052596541909693330161284448823531888860873837751420001921889079525223692011574384153971268240333459078333485338194864506308151709326954532493052391559153371675732322521365114803516460729010353808770084732216585505873435307781332172528331785103579174624917058886475190673676333963467660853194837719260783027573097760559196271480920202558660317233582105102130400444793406204595790552696465525203430401940778781279605863627461304104785427495724052338254527589696853838047390418018257356959125768863088444422570248777762958777194534737572194560540131825999321203644491391928546236002059348010511538765333980877452275597999978274685804515475166921520888721131959998963624719632343921508975210247914467752845675810665966158953384242035115804018935526669188086106559224809433230319795802410930736548351132288152140298416940706650339611504339446036896991599822741194788550910909099468771071476617368903904840288963217970985861633839946757810887676925507567583072893097267145178470177584838456918833161473260338290616978 126014893163693612899836469057842342282041391692816343769894813113500989186349704695743057572377608954833927939427724425988509137149256555641231304011124510807500259544106068993210316399383755263640526405491989717908251121578344269088221097012721875893417674403025351982583023595140536062543751661549290318704563340190507593002378345075324850053507335115272765020942767288930501698995740061138379157548808100199133070526440778247259186401583031125816443705741717617441223324207067329486954279787479711718180752794745083154682245718102564850027051318676910267867136160653482704627858493780310344422921597763190802685821229880744664052812991697794423536496429285664476500333642885404301556747296553523251366279154225823602976231540149461842433020166222507145988654611734466619833393119001066258737665279409320618005571949028430879825125383492455198153883803038157678155640432051126558421487695655731075346863161334278816970834152597071094947172694414443672724256906101168164909372832196685745436340091492402927961988889696397946222819002508579173049737634267493631048177573087238304693346988795007228582844617559290242397643566583057493120018848374497146026052627534444860912091605653217073688057485893828580448391651256989978833031027054886796734971420395878680686610395683752769129463693800439324741984182170439736424902687138803060837383650195196484647013772331734940484115835811976923505923456891970421164876954866423741894785871033347782940733871229743400256173020715701590343489251856038502638422456415471014845876618220281688955512497611623152037246728696084057676163736716792267685159898997492362946173676176458385063068443398376122312260092455064666806857672787955930431358146372159688982301433938207301279958752059618537432512824019340736300700426812026448679017881042601579226394796835514098829 203896380227543032470955895616877124297157732301310125950335815106034529613651821662974845302131309826781787759412417562070507008397790512151345895518333715707497556101393081456334142596685088266565264513548233891854799243330267409428385419227302429300495198063129008363445313904273643153868988989685095909977956625767560029331113739082693180736548904255915852946827400873410874930569299702619955846536453636451826584768583093505605408900259215892197115058863043453313965512352227835684334721924454159583483525104696685598130098234572150109902226807529073008295528028579341095518983072144473662690793748746253008886879936254198661309354316319750391696571406960425711021630180827208773181850458675504178429345496019186952490183266619539239633331956635063257625368320806822930997232228270404998790261821319013948166856397851962768685999221243875200075772882563381370167214816205097826661821154734064560685058025840586968680161107129564147338731847786119405046778271215971681370101842550494515521072308077908801397296671028570474554604106087753797966796520742684304724511536554899157888184708055790256155942378118486513878563769141717810353600953476627546470846033739040651464788071178420504089998264675108186312019112561094764260526751107225051262561117249716728077028413941109728255232556888883747312232959933398513619437424710997621377515476194517688291505164260281176486175183822488462271257437769422696762876933141109546410261037954868671661865831228707024975805364637210565553737166323791348314233122381629968230118653336085707891039166799709258596471538129314377471966147647528816036292187149632661363114382826797996567407889435273113912082833649853217717766772256727001907975515276064529271264651909193162913798698817429425109438331586923809193797693957204918856602719499520412387868057173804715807 329911273391236645370792364674719466579199123994126469720230628219535518800001526358717902874508918781615715698840141988059016145547047067792577199529458226514997815645499150449544458996068843530205790919040223609763050364908611678516606516240024305193912872466154360346028337499414179216412740651234386228682519965958067622333492084158018030790056239371188617967770168162341376629565039763758335004085261736650959655295023871752864595301842247018013558764604761070755188836559295165171289001711933871301664277899441768752812343952674714959929278126205983276162664189232823800146841565924784007113715346509443811572701166134943325362167308017544815233067836246090187521963823712613074738597755229027429795624650245010555466414806769001082066352122857570403614022932541289550830625347271471257527927100728334566172428346880393648511124604736330398229656685601539048322855248256224385083308850389795636031921187174865785650995259726635242285904542200563077771035177317139846279474674747180260957412399570311729359285560724968420777423108596332971016534155010177935772689109642137462581531696850797484738786995677776756276207335724775303473619801851124692496898661273485512376879676831637577778055750568936766760410763818084743093557778162111847997532537645595408763638809624862497384696250689323072054217142103838250044340111849800682214899126389714172938518936592016116970291019634465385777180894661393117927753888007533288305046908988216454602599702458450425231978385352912155897226418179829850952655578797100983075995271556367396846551664411332410633718266825398435148129884364321083721452086147125024309288059003256381630476332833649236224342926104917884524624445044682932339333661648224218253566085847400464193757450877047962541951155606264545494498120769231367535620600542121991614262854009318814636 533807653618779677841748260291596590876356856295436595670566443325570048413653348021692748176640228608397503458252559550129523153944837579943923095047791942222495371746892231905878601592753931796771055432588457501617849608238879087944991935467326734494408070529283368709473651403687822370281729640919482138660476591725627651664605823240711211526605143627104470914597569035752251560134339466378290850621715373102786240063606965258470004202101462910210673823467804524069154348911523000855623723636388030885147803004138454350942442187246865069831504933735056284458192217812164895665824638069257669804509095255696820459581102389141986671521624337295206929639243206515898543594004539821847920448213904531608224970146264197507956598073388540321699684079492633661239391253348112481827857575541876256318188922047348514339284744732356417197123825980205598305429568164920418490070064461322211745130005123860196716979213015452754331156366856199389624636389986682482817813448533111527649576517297674776478484707648220530756582231753538895332027214684086768983330675752862240497200646197036620469716404906587740894729373796263270154771104866493113827220755327752238967744695012526163841667748010058081868054015244044953072429876379179507354084529269336899260093654895312136840667223565972225639928807578206819366450102037236763663777536560798303592414602584231861230024100852297293456466203456953848048438332430815814690630821148642834715307946943085126264465533687157450207783749990122721450963584503621199266888701178730951306113924892453104737590831211041669230189804954712812620096032011849899757744273296757685672402441830054378197884222268922350136425759754771102242391217301409934247309176924288747524830737756593627107556149694477387651389487193188354688295814726436286392223320041642404002130911183123530443 863718927010016323212540624966316057455555980289563065390797071545105567213654874380410651051149147390013219157092701538188539299491884647736500294577250168737493187392391382355423060588822775326976846351628681111380899973147490766461598451707351039688320942995437729055501988903102001586694470292153868367342996557683695273998097907398729242316661382998293088882367737198093628189699379230136625854706977109753745895358630837011334599503943709928224232588072565594824343185470818166026912725348321902186812080903580223103754786139921580029760783059941039560620856407044988695812666203994041676918224441765140632032282268524085312033688932354840022162707079452606086065557828252434922659045969133559038020594796509208063423012880157541403766036202350204064853414185889402032658482922813347513846116022775683080511713091612750065708248430716535996535086253766459466812925312717546596828438855513655832748900400190318539982151626582834631910540932187245560588848625850251373929051192044855037435897107218532260115867792478507316109450323280419739999864830763040176269889755839174083051248101757385225633516369474040026430978440591268417300840557178876931464643356286011676218547424841695659646109765812981719832840640197264250447642307431448747257626192540907545604306033190834723024625058267529891420667244141075013708117648410598985807313728973946034168543037444313410426757223091419233825619227092208932618384709156176123020354855931301580867065236145607875439762135343034877348190002683451050219544279975831934382109196448820501584142495622374079863908071780111247768225916376170983479196359443882709981690500833310759828360555102571586360768685859688986767015662346092866586642838572512965778396823603994091301313600571525350193340642799452900182793935495667653927843920583764395616393765192442345079 1397526580628796001054288885257912648331912836584999661061363514870675615627308222402103399227789375998410722615345261088318062453436722227680423389625042110959988559139283614261301662181576707123747901784217138612998749581386369854406590387174677774182729013524721097764975640306789823956976199933073350506003473149409322925662703730639440453843266526625397559796965306233845879749833718696514916705328692482856532135422237802269804603706045172838434906411540370118893497534382341166882536448984709933071959883907718677454697228327168445099592287993676095845079048624857153591478490842063299346722733537020837452491863370913227298705210556692135229092346322659121984609151832792256770579494183038090646245564942773405571379610953546081725465720281842837726092805439237514514486340498355223770164304944823031594850997836345106482905372256696741594840515821931379885302995377178868808573568860637516029465879613205771294313307993439034021535177322173928043406662074383362901578627709342529813914381814866752790872450024232046211441477537964506508983195506515902416767090402036210703520964506663972966528245743270303296585749545457761531128061312506629170432388051298537840060215172851753741514163781057026672905270516576443757801726836700785646517719847436219682444973256756806948664553865845736710787117346178311777371895184971397289399728331558177895398567138296610703883223426548373081874057559523024747309015530304818957735662802874386707131530769832765325647545885333157598799153587187072249486432981154562885688223121341273606321733326833415749094097876734824060388321948388020883236940632740640395654092942663365138026244777371493936497194445614460089009406879647502800833952015496801713303227561360587718408869750266002737844730129992641254871089750222103940320067240625406799618524676375565875522 2261245507638812324266829510224228705787468816874562726452160586415781182840963096782514050278938523388423941772437962626506601752928606875416923684202292279697481746531674996616724722770399482450724748135845819724379649554533860620868188838882028813871049956520158826820477629209891825543670670225227218873346469707093018199660801638038169696159927909623690648679333043431939507939533097926651542560035669592610278030780868639281139203209988882766659138999612935713717840719853159332909449174333031835258771964811298900558452014467090025129353071053617135405699905031902142287291157046057341023640957978785978084524145639437312610738899489046975251255053402111728070674709661044691693238540152171649684266159739282613634802623833703623129231756484193041790946219625126916547144823421168571284010420967598714675362710927957856548613620687413277591375602075697839352115920689896415405402007716151171862214780013396089834295459620021868653445718254361173603995510700233614275507678901387384851350278922085285050988317816710553527550927861244926248983060337278942593036980157875384786572212608421358192161762112744343323016727986049029948428901869685506101897031407584549516278762597693449401160273546870008392738111156773708008249369144132234393775346039977127228049279289947641671689178924113266602207784590319386791080012833381996275207042060532123929567110175740924114309980649639792315699676786615233679927400239460995080756017658805688287998596005978373201087308020676192476147343589870523299705977261130394820070332317790094107905875822455789828958005948514935308156547864764191866716136992184523105635783443496675897854605332474065522857963131474149075776422541993595667420594854069314679081624384964581809710183350837528088038070772792094155053883685717771594247911161209171195234918441568008220601 3658772088267608325321118395482141354119381653459562387513524101286456798468271319184617449506727899386834664387783223714824664206365329103097347073827334390657470305670958610878026384951976189574472649920062958337378399135920230475274779226056706588053778970044879924585453269516681649500646870158300569379349942856502341125323505368677610150003194436249088208476298349665785387689366816623166459265364362075466810166203106441550943806916034055605094045411153305832611338254235500499791985623317741768330731848719017578013149242794258470228945359047293231250778953656759295878769647888120640370363691515806815537016009010350539909444110045739110480347399724770850055283861493836948463818034335209740330511724682056019206182234787249704854697476766035879517039025064364431061631163919523795054174725912421746270213708764302963031518992944110019186216117897629219237418916067075284213975576576788687891680659626601861128608767613460902674980895576535101647402172774616977177086306610729914665264660736952037841860767840942599738992405399209432757966255843794845009804070559911595490093177115085331158690007856014646619602477531506791479556963182192135272329419458883087356338977770545203142674437327927035065643381673350151766051095980833020040293065887413346910494252546704448620353732789959003312994901936497698568451908018353393564606770392090301824965677314037534818193204076188165397573734346138258427236415769765814038491680461680074995130126775811138526734853906009350074946497177057595549192410242284957705758555439131367714227609149289205578052103825249759368544869813152212749953077624925163501289876386160041035880850109845559459355157577088609164785829421641098468254546869566116392384851946325169528119053101103530825882800902784735409924973435939875534567978401834577994853443117943574096123 5920017595906420649587947905706370059906850470334125113965684687702237981309234415967131499785666422775258606160221186341331265959293935978514270758029626670354952052202633607494751107722375672025197398055908778061758048690454091096142968064938735401924828926565038751405930898726573475044317540383527788252696412563595359324984307006715779846163122345872778857155631393097724895628899914549818001825400031668077088196983975080832083010126022938371753184410766241546329178974088659832701434797650773603589503813530316478571601257261348495358298430100910366656478858688661438166060804934177981394004649494592793621540154649787852520183009534786085731602453126882578125958571154881640157056574487381390014777884421338632840984858620953327983929233250228921307985244689491347608775987340692366338185146880020460945576419692260819580132613631523296777591719973327058589534836756971699619377584292939859753895439639997950962904227233482771328426613830896275251397683474850591452593985512117299516614939659037322892849085657653153266543333260454359006949316181073787602841050717786980276665389723506689350851769968758989942619205517555821427985865051877641374226450866467636872617740368238652543834710874797043458381492830123859774300465124965254434068411927390474138543531836652090292042911714072269915202686526817085359531920851735389839813812452622425754532787489778458932503184725827957713273411132753492107163816009226809119247698120485763283128722781789511727822161926685542551093840766928118848898387503415352525828887756921461822133484971744995407010109773764694676701417677916404616669214617109686606925659829656716933735455442319624982213120708562758240562251963634694135675141723635431071466476331289751337829236451941058913920871675576829564978857121657647128815889563043749190088361559511582316724 9578789684174028974909066301188511414026232123793687501479208788988694779777505735151748949292394322162093270548004410056155930165659265081611617831856961061012422357873592218372777492674351861599670047975971736399136447826374321571417747290995441989978607896609918675991384168243255124544964410541828357632046355420097700450307812375393389996166316782121867065631929742763510283318266731172984461090764393743543898363187081522383026817042056993976847229821919547378940517228324160332493420420968515371920235662249334056584750500055606965587243789148203597907257812345420734044830452822298621764368341010399609158556163660138392429627119580525196211949852851653428181242432648718588620874608822591130345289609103394652047167093408203032838626710016264800825024269753855778670407151260216161392359872792442207215790128456563782611651606575633315963807837870956277826953752824046983833353160869728547645576099266599812091512994846943674003407509407431376898799856249467568629680292122847214181879600395989360734709853498595753005535738659663791764915572024868632612645121277698575766758566838592020509541777824773636562221683049062612907542828234069776646555870325350724228956718138783855686509148202724078524024874503474011540351561105798274474361477814803821049037784383356538912396644504031273228197588463314783927983828870088783404420582844712727579498464803815993750696388802016123110847145478891750534400231778992623157739378582165838278258849557600650254557015832694892626040337943985714398090797745700310231587443196052829536361094121034200985062213599014454045246287491068617366622292242034850108215536215816757969616305552165184441568278285651367405348081385275792603929688593201547463851328277614920865948289553044589739803672578361564974903830557597522663383867964878327184941804677455156412847 15498807280080449624497014206894881473933082594127812615444893476690932761086740151118880449078060744937351876708225596397487196124953201060125888589886587731367374410076225825867528600396727533624867446031880514460894496516828412667560715355934177391903436823174957427397315066969828599589281950925356145884742767983693059775292119382109169842329439127994645922787561135861235178947166645722802462916164425411620986560171056603215109827168079932348600414232685788925269696202412820165194855218619288975509739475779650535156351757316955460945542219249113964563736671034082172210891257756476603158372990504992402780096318309926244949810129115311281943552305978536006307201003803600228777931183309972520360067493524733284888151952029156360822555943266493722133009514443347126279183138600908527730545019672462668161366548148824602191784220207156612741399557844283336416488589581018683452730745162668407399471538906597763054417222080426445331834123238327652150197539724318160082274277634964513698494540055026683627558939156248906272079071920118150771864888205942420215486171995485556043423956562098709860393547793532626504840888566618434335528693285947418020782321191818361101574458507022508230343859077521121982406367333597871314652026230763528908429889742194295187581316220008629204439556218103543143400274990131869287515749721824173244234395297335153334031252293594452683199573527844080824120556611645242641564047788219432276987076702651601561387572339390161982379177759380435177134178710913833246989185249115662757416330952974291358494579092779196392072323372779148721947705168985021983291506859144536715141196045473474903351760994484809423781398994214125645910333348910486739604830316836978535317804608904672203777526004985648653724544253938394539882687679255169792199757527922076375030166236966738729571 25077596964254478599406080508083392887959314717921500116924102265679627540864245886270629398370455067099445147256230006453643126290612466141737506421743548792379796767949818044240306093071079395224537494007852250860030944343202734238978462646929619381882044719784876103388699235213083724134246361467184503516789123403790760225599931757502559838495755910116512988419490878624745462265433376895786924006928819155164884923358138125598136644210136926325447644054605336304210213430736980497688275639587804347429975138028984591741102257372562426532786008397317562470994483379502906255721710578775224922741331515392011938652481970064637379437248695836478155502158830189434488443436452318817398805792132563650705357102628127936935319045437359393661182653282758522958033784197202904949590289861124689122904892464904875377156676605388384803435826782789928705207395715239614243442342405065667286083906032396955045047638173197575145930216927370119335241632645759029048997395973785728711954569757811727880374140451016044362268792654844659277614810579781942536780460230811052828131293273184131810182523400690730369935325618306263067062571615681047243071521520017194667338191517169085330531176645806363916853007280245200506431241837071882855003587336561803382791367556998116236619100603365168116836200722134816371597863453446653215499578591912956648654978142047880913529717097410446433895962329860203934967702090536993175964279567212055434726455284817439839646421896990812236936193592075327803174516654899547645079982994815972989003774149027120894855673213813397377134536971793602767193992660053639349913799101179386823356732261290232872968066546649993865349677279865493051258414734186279343534518910038525999169132886519593069725815558030238393528216832299959514786518236852692455583625492800403559971970914421895142418 40576404244334928223903094714978274361892397312049312732368995742370560301950986037389509847448515812036797023964455602851130322415565667201863395011630136523747171178026043870107834693467806928849404940039732765320925440860031146906539178002863796773785481542959833530786014302182912323723528312392540649401531891387483820000892051139611729680825195038111158911207052014485980641212600022618589386923093244566785871483529194728813246471378216858674048058287291125229479909633149800662883130858207093322939714613808635126897454014689517887478328227646431527034731154413585078466612968335251828081114322020384414718748800279990882329247377811147760099054464808725440795644440255919046176736975442536171065424596152861221823470997466515754483738596549252245091043298640550031228773428462033216853449912137367543538523224754212986995220046989946541446606953559522950659930931986084350738814651195065362444519177079795338200347439007796564667075755884086681199194935698103888794228847392776241578868680506042727989827731811093565549693882499900093308645348436753473043617465268669687853606479962789440230328873411838889571903460182299481578600214805964612688120512708987446432105635152828872147196866357766322488837609170669754169655613567325332291221257299192411424200416823373797321275756940238359514998138443578522503015328313737129892889373439383034247560969391004899117095535857704284759088258702182235817528327355431487711713531987469041401033994236380974219315371351455762980308695365813380892069168243931635746420105102001412253350252306592593769206860344572751489141697829038661333205305960323923538497928306763707776319827541134803289131076274079618697168748083096766083139349226875504534486937495424265273503341563015887047252761086238354054669205916107862247783383020722479935002137151388633871989 65654001208589406823309175223061667249851712029970812849293098008050187842815231923660139245818970879136242171220685609304773448706178133343600901433373685316126967945975861914348140786538886324073942434047585016180956385203233881145517640649793416155667526262744709634174713537395996047857774673859725152918321014791274580226491982897114289519320950948227671899626542893110726103478033399514376310930022063721950756406887332854411383115588353784999495702341896461533690123063886781160571406497794897670369689751837619718638556272062080314011114236043749089505725637793087984722334678914027053003855653535776426657401282250055519708684626506984238254556623638914875284087876708237863575542767575099821770781698780989158758790042903875148144921249832010768049077082837752936178363718323157905976354804602272418915679901359601371798655873772736470151814349274762564903373274391150018024898557227462317489566815252992913346277655935166684002317388529845710248192331671889617506183417150587969459242820957058772352096524465938224827308693079682035845425808667564525871748758541853819663789003363480170600264199030145152638966031797980528821671736325981807355458704226156531762636811798635236064049873638011522995268851007741637024659200903887135674012624856190527660819517426738965438111957662373175886596001897025175718514906905650086541544351581430915161090686488415345550991498187564488694055960792719228993492606922643543146439987272286481240680416133371786456251564943531090783483212020712928537149151238747608735423879251028533148205925520405991146341397316366354256335690489092300683119105061503310361854660568053940649287894087784797154480753553945111748427162817283045426673868136914030533656070381943858343229157121046125440780977918538313569455724152960554703367008513522883494974108065810529014407 106230405452924335047212269938039941611744109342020125581662093750420748144766217961049649093267486691173039195185141212155903771121743800545464296445003821839874139124001905784455975480006693252923347374087317781501881826063265028052056818652657212929453007805704543164960727839578908371581302986252265802319852906178758400227384034036726019200146145986338830810833594907596706744690633422132965697853115308288736627890416527583224629586966570643673543760629187586763170032697036581823454537356001990993309404365646254845536010286751598201489442463690180616540456792206673063188947647249278881084969975556160841376150082530046402037932004318131998353611088447640316079732316964156909752279743017635992836206294933850380582261040370390902628659846381263013140120381478302967407137146785191122829804716739639962454203126113814358793875920762683011598421302834285515563304206377234368763713208422527679934085992332788251546625094942963248669393144413932391447387267369993506300412264543364211038111501463101500341924256277031790377002575579582129154071157104317998915366223810523507517395483326269610830593072441984042210869491980280010400271951131946420043579216935143978194742446951464108211246739995777845484106460178411391194314814471212467965233882155382939085019934250112762759387714602611535401594140340603698221530235219387216434433725020813949408651655879420244668087034045268773453144219494901464811020934278075030858153519259755522641714410369752760675566936294986853763791907386526309429218319482679244481843984353029945401556177826998584915548257660939105745477388318130962016324411021827233900352588874817648425607721628919600443611829828024730445595910900379811509813217363789535068143007877368123616732498684062012488033739004776667624124930069068416951150391534245363429976245217199162886396 171884406661513741870521445161101608861595821371990938430955191758470935987581449884709788339086457570309281366405826821460677219827921933889065197878377507156001107069977767698804116266545579576997289808134902797682838211266498909197574459302450629085120534068449252799135441376974904419439077660111990955238173920970032980453876016933840308719467096934566502710460137800707432848168666821647342008783137372010687384297303860437636012702554924428673039462971084048296860155760923362984025943853796888663679094117483874564174566558813678515500556699733929706046182429999761047911282326163305934088825629091937268033551364780101921746616630825116236608167712086555191363820193672394773327822510592735814606987993714839539341051083274266050773581096213273781189197464316055903585500865108349028806159521341912381369883027473415730592531794535419481750235652109048080466677480768384386788611765649989997423652807585781164892902750878129932671710532943778101695579599041883123806595681693952180497354322420160272694020780742970015204311268659264164999496965771882524787114982352377327181184486689749781430857271472129194849835523778260539221943687457928227399037921161300509957379258750099344275296613633789368479375311186153028218974015375099603639246507011573466745839451676851728197499672264984711288190142237628873940045142125037302975978076602244864569742342367835590219078532232833262147200180287620693804513541200718574004593506532042003882394826503124547131818501238517944547275119407239237966367470721426853217267863604058478549762103347404576061889654977305460001813078807223262699443516083330544262207249442871589074895615716704397598092583381969842194023073717662856936487085500703565601799078259311981959961655805108137928814716923314981193580654222028971654517400047768246924950353283009691900803 278114812114438076917733715099141550473339930714011064012617285508891684132347667845759437432353944261482320561590968033616580990949665734434529494323381328995875246193979673483260091746552272829920637182222220579184720037329763937249631277955107842014573541874153795964096169216553812791020380646364256757558026827148791380681260050970566327919613242920905333521293732708304139592859300243780307706636252680299424012187720388020860642289521495072346583223600271635060030188457959944807480481209798879656988498483130129409710576845565276716989999163424110322586639222206434111100229973412584815173795604648098109409701447310148323784548635143248234961778800534195507443552510636551683080102253610371807443194288648689919923312123644656953402240942594536794329317845794358870992638011893540151635964238081552343824086153587230089386407715298102493348656954943333596029981687145618755552324974072517677357738799918569416439527845821093181341103677357710493142966866411876630107007946237316391535465823883261773035945037020001805581313844238846294153568122876200523702481206162900834698579970016019392261450343914113237060705015758540549622215638589874647442617138096444488152121705701563452486543353629567213963481771364564419413288829846312071604480389166956405830859385926964490956887386867596246689784282578232572161575377344424519410411801623058813978393998247255834887165566278102035600344399782522158615534475478793604862747025791797526524109236872877307807385437533504798311067026793765547395585790204106097699111847957088423951318281174403160977437912638244565747290467125354224715767927105157778162559838317689237500503337345623998041704413209994572639618984618042668446300302864493100669942086136680105576694154489170150416848455928091648817705584291097388605667791582013610354926598500208854787199 449999218775951818788255160260243159334935752086002002443572477267362620119929117730469225771440401831791601927996794855077258210777587668323594692201758836151876353263957441182064208013097852406917926990357123376867558248596262846447205737257558471099694075942603048763231610593528717210459458306476247712796200748118824361135136067904406636639080339855471836231753870509011572441027967065427649715419390052310111396485024248458496654992076419501019622686571355683356890344218883307791506425063595768320667592600614003973885143404378955232490555863158040028632821652206195159011512299575890749262621233740035377443252812090250245531165265968364471569946512620750698807372704308946456407924764203107622050182282363529459264363206918923004175822038807810575518515310110414774578138877001889180442123759423464725193969181060645819978939509833521975098892607052381676496659167914003142340936739722507674781391607504350581332430596699223114012814210301488594838546465453759753913603627931268572032820146303422045729965817762971820785625112898110459153065088648083048489596188515278161879764456705769173692307615386242431910540539536801088844159326047802874841655059257744998109500964451662796761839967263356582442857082550717447632262845221411675243726896178529872576698837603816219154387059132580957977974424815861446101620519469461822386389878225303678548136340615091425106244098510935297747544580070142852420048016679512178867340532323839530406504063376001854939203938772022742858342146201004785361953260925532950916379711561146902501080384521807737039327567615550025749103545932577487415211443188488322424767087760560826575398953062328395639796996591964414833642058335705525382787388365196666271741164395992087536655810294278288345663172851406630011286238513126360260185191629781857279876951783218546688002 728114030890389895705988875359384709808275682800013066456189762776254304252276785576228663203794346093273922489587762888693839201727253402758124186525140165147751599457937114665324299759650125236838564172579343956052278285926026783696837015212666313114267617816756844727327779810082530001479838952840504470354227575267615741816396118874972964558693582776377169753047603217315712033887267309207957422055642732609535408672744636479357297281597914573366205910171627318416920532676843252598986906273394647977656091083744133383595720249944231949480555026582150351219460874412629270111742272988475564436416838388133486852954259400398569315713901111612706531725313154946206250925214945498139488027017813479429493376571012219379187675330563579957578062981402347369847833155904773645570776888895429332078087997505017069018055334647875909365347225131624468447549561995715272526640855059621897893261713795025352139130407422919997771958442520316295353917887659199087981513331865636384020611574168584963568285970186683818765910854782973626366938957136956753306633211524283572192077394678178996578344426721788565953757959300355668971245555295341638466374964637677522284272197354189486261622670153226249248383320892923796406338853915281867045551675067723746848207285345486278407558223530780710111274446000177204667758707394094018263195896813886341796801679848362492526530338862347259993409664789037333347888979852665011035582492158305783730087558115637056930613300248879162746589376305527541169409172994770332757539051129639048615491559518235326452398665696210898016765480253794591496394013057931712130979370293646100587326926078250064075902290407952393681501409801958987473261042953748193829087691229689766941683250532672193113349964783448438762511628779498278828991822804223748865852983211795467634803550283427401475201 1178113249666341714494244035619627869143211434886015068899762240043616924372205903306697888975234747925065524417584557743771097412504841071081718878726899001299627952721894555847388507772747977643756491162936467332919836534522289630144042752470224784213961693759359893490559390403611247211939297259316752183150428323386440102951532186779379601197773922631849005984801473726327284474915234374635607137475032784919646805157768884937853952273674334074385828596742983001773810876895726560390493331336990416298323683684358137357480863654323187181971110889740190379852282526618824429123254572564366313699038072128168864296207071490648814846879167079977178101671825775696905058297919254444595895951782016587051543558853375748838452038537482502961753885020210157945366348466015188420148915765897318512520211756928481794212024515708521729344286734965146443546442169048096949023300022973625040234198453517533026920522014927270579104389039219539409366732097960687682820059797319396137934215202099853535601106116490105864495876672545945447152564070035067212459698300172366620681673583193457158458108883427557739646065574686598100881786094832142727310534290685480397125927256611934484371123634604889046010223288156280378849195936465999314677814520289135422091934181524016150984257061134596929265661505132758162645733132209955464364816416283348164183191558073666171074666679477438685099653763299972631095433559922807863455630508837817962597428090439476587337117363624881017685793315077550284027751319195775118119492312055171999531871271079382228953479050218018635056093047869344617245497558990509199546190813482134423012094013838810890651301243470280789321298406393923402306903101289453719211875079594886433213424414928664280650005775077726727108174801630904908840278061317350109126038174841577324914680502066645948163203 1906227280556731610200232910979012578951487117686028135355952002819871228624482688882926552179029094018339446907172320632464936614232094473839843065252039166447379552179831670512712807532398102880595055335515811288972114820448316413840879767682891097328229311576116738217887170213693777213419136212157256653504655898654055844767928305654352565756467505408226175737849076943642996508802501683843564559530675517529182213830513521417211249555272248647752034506914610320190731409572569812989480237610385064275979774768102270741076583904267419131451665916322340731071743401031453699234996845552841878135454910516302351149161330891047384162593068191589884633397138930643111309223134199942735383978799830066481036935424387968217639713868046082919331948001612505315214181621919962065719692654792747844598299754433498863230079850356397638709633960096770911993991731043812221549940878033246938127460167312558379059652422350190576876347481739855704720649985619886770801573129185032521954826776268438499169392086676789683261787527328919073519503027172023965766331511696650192873750977871636155036453310149346305599823533986953769853031650127484365776909255323157919410199453966123970632746304758115295258606609049204175255534790381281181723366195356859168940141466869502429391815284665377639376935951132935367313491839604049482628012313097234505979993237922028663601197018339785945093063428089009964443322539775472874491213000996123746327515648555113644267730663873760180432382691383077825197160492190545450877031363184811048147362830597617555405877715914229533072858528123139208741891572048440911677170183775780523599420939917060954727203533878233183002799816195882389780164144243201913040962770824576200155107665461336473763355739861175165870686430410403187669269884121573857991891158053372792549484052350073349638404 3084340530223073324694476946598640448094698552572043204255714242863488152996688592189624441154263841943404971324756878376236034026736935544921561943978938167747007504901726226360101315305146080524351546498452278621891951354970606043984922520153115881542191005335476631708446560617305024425358433471474008836655084222040495947719460492433732166954241428040075181722650550669970280983717736058479171697005708302448829018988282406355065201828946582722137863103657593321964542286468296373379973568947375480574303458452460408098557447558590606313422776806062531110924025927650278128358251418117208191834492982644471215445368402381696199009472235271567062735068964706340016367521053454387331279930581846653532580494277763717056091752405528585881085833021822663260580530087935150485868608420690066357118511511361980657442104366064919368053920695061917355540433900091909170573240901006871978361658620830091405980174437277461155980736520959395114087382083580574453621632926504428659889041978368292034770498203166895547757664199874864520672067097207091178226029811869016813555424561065093313494562193576904045245889108673551870734817744959627093087443546008638316536126710578058455003869939363004341268829897205484554104730726847280496401180715645994591032075648393518580376072345799974568642597456265693529959224971814004946992828729380582670163184795995694834675863697817224630192717191388982595538756099698280737946843509833941708924943738994590231604848027498641198118176006460628109224911811386320568996523675239983047679234101676999784359356766132248168128951575992483825987389131038950111223360997257914946611514953755871845378504777348513972324098222589805792087067245532655632252837850419462633368532080390000754413361514938901892978861232041308096509547945438923967117929332894950117464164554416719297801607 4990567810779804934894709857577653027046185670258071339611666245683359381621171281072550993333292935961744418231929199008700970640969030018761405009230977334194387057081557896872814122837544183404946601833968089910864066175418922457825802287836006978870420316911593369926333730830998801638777569683631265490159740120694551792487388798088084732710708933448301357460499627613613277492520237742322736256536383819978011232818795927772276451384218831369889897610572203642155273696040866186369453806557760544850283233220562678839634031462858025444874442722384871841995769328681731827593248263670050069969947893160773566594529733272743583172065303463156947368466103636983127676744187654330066663909381676720013617429702151685273731466273574668800417781023435168575794711709855112551588301075482814201716811265795479520672184216421317006763554655158688267534425631135721392123181779040118916489118788142649785039826859627651732857084002699250818808032069200461224423206055689461181843868754636730533939890289843685231019451727203783594191570124379115143992361323565667006429175538936729468531015503726250350845712642660505640587849395087111458864352801331796235946326164544182425636616244121119636527436506254688729360265517228561678124546911002853759972217115263021009767887630465352208019533407398628897272716811418054429620841042477817176143178033917723498277060716157010575285780619477992559982078639473753612438056510830065455252459387549703875872578691372401378550558697843705934422072303576866019873555038424794095826596932274617339765234482046477701201810104115623034729280703087391022900531181033695470210935893672932800105708311226747155326898038785688181867231389775857545293800621244038833523639745851337228176717254800077058849547662451711284178817829560497825109820490948322910013648606766792647440011 8074908341002878259589186804176293475140884222830114543867380488546847534617859873262175434487556777905149389556686077384937004667705965563682966953209915501941394561983284123232915438142690263929298148332420368532756017530389528501810724807989122860412611322247070001634780291448303826064136003155105274326814824342735047740206849290521816899664950361488376539183150178283583558476237973800801907953542092122426840251807078334127341653213165414092027760714229796964119815982509162559749427375505136025424586691673023086938191479021448631758297219528447402952919795256332009955951499681787258261804440875805244782039898135654439782181537538734724010103535068343323144044265241108717397943839963523373546197923979915402329823218679103254681503614045257831836375241797790263037456909496172880558835322777157460178114288582486236374817475350220605623074859531227630562696422680046990894850777408972741191020001296905112888837820523658645932895414152781035678044838982193889841732910733005022568710388493010580778777115927078648114863637221586206322218391135434683819984600100001822782025577697303154396091601751334057511322667140046738551951796347340434552482452875122240880640486183484123977796266403460173283464996244075842174525727626648848351004292763656539590143959976265326776662130863664322427231941783232059376613669771858399846306362829913418332952924413974235205478497810866975155520834739172034350384900020664007164177403126544294107477426718871042576668734704304334043646984114963186588870078713664777143505831033951617124124591248178725869330761680108106860716669834126341134123892178291610416822450847428804645484213088575261127650996261375493973954298635308513177546638471663501466892171826241337982590078769738978951828408894493019380688365774999421792227749823843273027477813161183511945241618 13065476151782683194483896661753946502187069893088185883479046734230206916239031154334726427820849713866893807788615276393637975308674995582444371962440892836135781619064842020105729560980234447334244750166388458443620083705808450959636527095825129839283031639158663371561114022279302627702913572838736539816974564463429599532694238088609901632375659294936677896643649805897196835968758211543124644210078475942404851484625874261899618104597384245461917658324802000606275089678550028746118881182062896570274869924893585765777825510484306657203171662250832274794915564585013741783544747945457308331774388768966018348634427868927183365353602842197880957472001171980306271721009428763047464607749345200093559815353682067087603554684952677923481921395068693000412169953507645375589045210571655694760552134042952939698786472798907553381581030005379293890609285162363351954819604459087109811339896197115390976059828156532764621694904526357896751703446221981496902468045037883351023576779487641753102650278782854266009796567654282431709055207345965321466210752459000350826413775638938552250556593201029404746937314393994563151910516535133850010816149148672230788428779039666423306277102427605243614323702909714862012825261761304403852650274537651702110976509878919560599911847606730678984681664271062951324504658594650113806234510814336217022449540863831141831229985130131245780764278430344967715502913378645787962822956531494072619429862514093997983350005410243443955219293402148039978069056418540052608743633752089571239332427966226234463889825730225203570532571784223729895445950537213732157024423359325305887033386741101737445589921399802008282977894300161182155821530025084370722840439092907540300415811572092675210766796024539056010677956556944730664867183604559919617337570314791595937491461767950304592681629 21140384492785561454073083465930239977327954115918300427346427222777054450856891027596901862308406491772043197345301353778574979976380961146127338915650808338077176181048126143338644999122924711263542898498808826976376101236197979461447251903814252699695642961405733373195894313727606453767049575993841814143789388806164647272901087379131718532040609656425054435826799984180780394444996185343926552163620568064831691736432952596026959757810549659553945419039031797570394905661059191305868308557568032595699456616566608852716016989505755288961468881779279677747835359841345751739496247627244566593578829644771263130674326004581623147535140380932604967575536240323629415765274669871764862551589308723467106013277661982489933377903631781178163425009113950832248545195305435638626502120067828575319387456820110399876900761381393789756398505355599899513684144693590982517516027139134100706190673606088132167079829453437877510532725050016542684598860374762532580512884020077240865309690220646775671360667275864846788573683581361079823918844567551527788429143594435034646398375738940375032582170898332559143028916145328620663233183675180588562767945496012665340911231914788664186917588611089367592119969313175035296290258005380246027176002164300550461980802642576100190055807582996005761343795134727273751736600377882173182848180586194616868755903693744560164182909544105480986242776241211942871023748117817822313207856552158079783607265640638292090827432129114486531888028106452374021716040533503239197613712465754348382838259000177851588014416978403929439863333464331836756162620371340073291148315537616916303855837588530542091074134488377269410628890561536676129775828660392883900387077564571041767307983398334013193356874794278034962506365451437750045555549379559341409565320138634868964969274929133816537923247 34205860644568244648556980127684186479515024009006486310825473957007261367095922181931628290129256205638937005133916630172212955285055956728571710878091701174212957800112968163444374560103159158597787648665197285419996184942006430421083778999639382538978674600564396744757008336006909081469963148832578353960763953269594246805595325467741620164416268951361732332470449790077977230413754396887051196373699044007236543221058826857926577862407933905015863077363833798176669995339609220051987189739630929165974326541460194618493842499990061946164640544030111952542750924426359493523040995572701874925353218413737281479308753873508806512888743223130485925047537412303935687486284098634812327159338653923560665828631344049577536932588584459101645346404182643832660715148813081014215547330639484270079939590863063339575687234180301343137979535360979193404293429855954334472335631598221210517530569803203523143139657609970642132227629576374439436302306596744029482980929057960591888886469708288528774010946058719112798370251235643511532974051913516849254639896053435385472812151377878927283138764099361963889966230539323183815143700210314438573584094644684896129340010954455087493194691038694611206443672222889897309115519766684649879826276701952252572957312521495660789967655189726684746025459405790225076241258972532286989082691400530833891205444557575701995412894674236726767007054671556910586526661496463610276030813083652152403037128154732290074177437539357930487107321508600413999785096952043291806357346217843919622170686966404086051904242708629133010395905248555566651608570908553805448172738896942222190889224329632279536664055888179277693606784861697858285597358685477254623227516657478582067723794970426688404123670818817090973184322008382480710422732984119261026902890453426464902460736697084121130604876 55346245137353806102630063593614426456842978124924786738171901179784315817952813209528530152437662697410980202479217983950787935261436917874699049793742509512290133981161094306783019559226083869861330547164006112396372286178204409882531030903453635238674317561970130117952902649734515535237012724826420168104553342075758894078496412846873338696456878607786786768297249774258757624858750582230977748537319612072068234957491779453953537620218483564569808496402865595747064901000668411357855498297198961761673783158026803471209859489495817235126109425809391630290586284267705245262537243199946441518932048058508544609983079878090429660423883604063090892623073652627565103251558768506577189710927962647027771841909006032067470310492216240279808771413296594664909260344118516652842049450707312845399327047683173739452587995561695132894378040716579092917977574549545316989851658737355311223721243409291655310219487063408519642760354626390982120901166971506562063493813078037832754196159928935304445371613334583959586943934817004591356892896481068377043069039647870420119210527116819302315720934997694523032995146684651804478376883885495027136352040140697561470251242869243751680112279649783978798563641536064932605405777772064895907002278866252803034938115164071760980023462772722690507369254540517498827977859350414460171930871986725450759961348251320262159595804218342207753249830912768853457550409614281432589238669635810232186644393795370582165004869668472417018995349615052788021501137485546531003971058683598268005008945966581937639918659687033062450259238712887403407771191279893878739321054434559138494745061918162821627738190376556547104235675423234534415373187345870138523614594222049623835031778368760701597480545613095125935690687459820230755978282363678602436468210592061333867430011626217937668528123 89552105781922050751187043721298612936358002133931273048997375136791577185048735391460158442566918903049917207613134614123000890546492874603270760671834210686503091781274062470227394119329243028459118195829203397816368471120210840303614809903093017777652992162534526862709910985741424616706975873658998522065317295345353140884091738314614958860873147559148519100767699564336734855272504979118028944911018656079304778178550606311880115482626417469585671573766699393923734896340277631409842688036829890927648109699486998089703701989485879181290749969839503582833337208694064738785578238772648316444285266472245826089291833751599236173312626827193576817670611064931500790737842867141389516870266616570588437670540350081645007243080800699381454117817479238497569975492931597667057596781346797115479266638546237079028275229741996476032357576077558286322271004405499651462187290335576521741251813212495178453359144673379161774987984202765421557203473568250591546474742135998424643082629637223833219382559393303072385314186052648102889866948394585226297708935701305805592022678494698229598859699097056486922961377223974988293520584095809465709936134785382457599591253823698839173306970688478590005007313758954829914521297538749545786828555568205055607895427685567421769991117962449375253394713946307723904219118322946747161013563387256284651166792808895964155008698892578934520256885584325764044077071110745042865269482719462384589681521950102872239182307207830347506102671123653202021286234437589822810328404901442187627179632932986023691822902395662195460655143961442970059379762188447684187493793331501360685634286247795101164402246264735824797842460284932392700970546031347393146842110879528205902755573339187390001604216431912216908875009468202711466401015347797863463371101045487798769890748323302058799132999 144898350919275856853817107314913039393200980258856059787169276316575893003001548600988688595004581600460897410092352598073788825807929792477969810465576720198793225762435156777010413678555326898320448742993209510212740757298415250186145840806546653016327309724504656980662813635475940151943988598485418690169870637421112034962588151161488297557330026166935305869064949338595492480131255561349006693448338268151373013136042385765833653102844901034155480070169564989670799797340946042767698186334028852689321892857513801560913561478981696416416859395648895213123923492961769984048115481972594757963217314530754370699274913629689665833736510431256667710293684717559065893989401635647966706581194579217616209512449356113712477553573016939661262889230775833162479235837050114319899646232054109960878593686229410818480863225303691608926735616794137379240248578955044968452038949072931832964973056621786833763578631736787681417748338829156403678104640539757153609968555214036257397278789566159137664754172727887031972258120869652694246759844875653603340777975349176225711233205611517531914580634094751009955956523908626792771897467981304492846288174926080019069842496692942590853419250338262568803570955295019762519927075310814441693830834434457858642833542849639182750014580735172065760763968486825222732196977673361207332944435373981735411128141060216226314604503110921142273506716497094617501627480725026475454508152355272616776325915745473454404187176876302764525098020738705990042787371923136353814299463585040455632188578899567961331741562082695257910914382674330373467150953468341562926814847766060499180379348165957922792140436641292371902078135708166927116343733377217531670456705101577829737787351707948091599084762045007342844565696928022942222379297711476465899839311637549132637320759949519996467661122 234450456701197907605004151036211652329558982392787332836166651453367470188050283992448847037571500503510814617705487212196789716354422667081240571137410930885296317543709219247237807797884569926779566938822412908029109228418626090489760650709639670793980301887039183843372724621217364768650964472144417212235187932766465175846679889476103256418203173726083824969832648902932227335403760540467035638359356924230677791314592992077713768585471318503741151643936264383594534693681223674177540874370858743616970002557000799650617263468467575597707609365488398795957260701655834722833693720745243074407502581003000196788566747381288902007049137258450244527964295782490566684727244502789356223451461195788204647182989706195357484796653817639042717007048255071660049211329981711986957243013400907076357860324775647897509138455045688084959093192871695665562519583360544619914226239408508354706224869834282012216937776410166843192736323031921825235308114108007745156443297350034682040361419203382970884136732121190104357572306922300797136626793270238829638486911050482031303255884106215761513440333191807496878917901132601781065418052077113958556224309711462476669433750516641430026726221026741158808578269053974592434448372849563987480659390002662914250728970535206604520005698697621441014158682433132946636416095996307954493957998761238020062294933869112190469613202003500076793763602081420381545704551835771518319777635074735001366007437695576326643369484084133112031200691862359192064073606360726176624627868486482643259368211832553985023564464478357453371569526635773343526530715656789247114308641097561859866013634413753023956542682906028196699920595993099319817314279408564924817298815981106035640542925047135481600688978476919559753440706396225653688780313059274329363210412683036931407211508272822055266794121 379348807620473764458821258351124691722759962651643392623335927769943363191051832593437535632576082103971712027797839810270578542162352459559210381602987651084089543306144376024248221476439896825100015681815622418241849985717041340675906491516186323810307611611543840824035538256693304920594953070629835902405058570187577210809268040637591553975533199893019130838897598241527719815535016101816042331807695192382050804450635377843547421688316219537896631714105829373265334491022169716945239060704887596306291895414514601211530824947449272014124468761137294009081184194617604706881809202717837832370719895533754567487841661010978567840785647689706912238257980500049632578716646138437322930032655775005820856695439062309069962350226834578703979896279030904822528447167031826306856889245455017037236454011005058715990001680349379693885828809665833044802768162315589588366265188481440187671197926456068845980516408146954524610484661861078228913412754647764898766411852564070939437640208769542108548890904849077136329830427791953491383386638145892432979264886399658257014489089717733293428020967286558506834874425041228573837315520058418451402512484637542495739276247209584020880145471365003727612149224348994354954375448160378429174490224437120772893562513384845787270020279432793506774922650919958169368613073669669161826902434135219755473423074929328416784217705114421219067270318578514999047332032560797993774285787430007618142333353441049781047556660960435876556298712601065182106860978283862530438927332071523098891556790732121946355306026561052711282483909310103716993681669125130810041123488863622359046392982579710946748683119547320568601998731701266246933658012785782456487755521082683865378330276755083573199773740521926902598006403324248595911159610770750795263049724320586064044532268222342051734455243 613799264321671672063825409387336344052318945044430725459502579223310833379102116585886382670147582607482526645503327022467368258516775126640450952740398581969385860849853595271486029274324466751879582620638035326270959214135667431165667142225825994604287913498583024667408262877910669689245917542774253114640246502954042386655947930113694810393736373619102955808730247144459947150938776642283077970167052116612728595765228369921261190273787538041637783358042093756859869184703393391122779935075746339923261897971515400862148088415916847611832078126625692805038444896273439429715502923463080906778222476536754764276408408392267469847834784948157156766222276282540199263443890641226679153484116970794025503878428768504427447146880652217746696903327285976482577658497013538293814132258855924113594314335780706613499140135395067778844922002537528710365287745676134208280491427889948542377422796290350858197454184557121367803220984893000054148720868755772643922855149914105621478001627972925079433027636970267240687402734714254288520013431416131262617751797450140288317744973823949054941461300478366003713792326173830354902733572135532409958736794349004972408709997726225450906871692391744886420727493402968947388823821009942416655149614439783687144291483920052391790025978130414947789081333353091116005029169665977116320860432896457775535718008798440607253830907117921295861033920659935380593036584396569512094063422504742619508340791136626107690926145044568988587499404463424374170934584644588707063555200558005742150925002564675931378870491039410164654053435945877060520212384781920057155432129961184218912406616993463970705225802453348765301919327694365566750972292194347381305054337063789901018873201802219054800462718998846462351447109720474249599939923830025124626260137003622995451743776495164107001249364 993148071942145436522646667738461035775078907696074118082838506993254196570153949179323918302723664711454238673301166832737946800679127586199661334343386233053475404155997971295734250750764363576979598302453657744512809199852708771841573633742012318414595525110126865491443801134603974609840870613404089017045305073141619597465215970751286364369269573512122086647627845385987666966473792744099120301974747308994779400215863747764808611962103757579534415072147923130125203675725563108068018995780633936229553793386030002073678913363366119625956546887762986814119629090891044136597312126180918739148942372070509331764250069403246037688620432637864069004480256782589831842160536779664002083516772745799846360573867830813497409497107486796450676799606316881305106105664045364600671021504310941150830768346785765329489141815744447472730750812203361755168055907991723796646756616371388730048620722746419704177970592704075892413705646754078283062133623403537542689267002478176560915641836742467187981918541819344377017233162506207779903400069562023695597016683849798545332234063541682348369482267764924510548666751215058928740049092193950861361249278986547468147986244935809471787017163756748614032876717751963302343199269170320845829639838876904460037853997304898179060046257563208454564003984273049285373642243335646278147762867031677531009141083727769024038048612232342514928304239238450379640368616957367505868349209934750237650674144577675888738482806005004865143798117064489556277795562928451237502482532629528841042481793296797877734176517600462875936537345255980777513894053907050867196555618824806577958799599573174917453908922000669333903918059395631813684630304980129837792809858146473766397203478557302628000236459520773364949453513044722845511099534600775919889309861324209059496276044717506158735704607 1606947336263817108586472077125797379827397852740504843542341086216565029949256065765210300972871247318936765318804493855205315059195902712840112287083784815022861265005851566567220280025088830328859180923091693070783768413988376203007240775967838313018883438608709890158852064012514644299086788156178342131685551576095661984121163900864981174763005947131225042456358092530447614117412569386382198272141799425607507995981092117686069802235891295621172198430190016886985072860428956499190798930856380276152815691357545402935827001779282967237788625014388679619158073987164483566312815049643999645927164848607264096040658477795513507536455217586021225770702533065130031105604427420890681237000889716593871864452296599317924856643988139014197373702933602857787683764161058902894485153763166865264425082682566471942988281951139515251575672814740890465533343653667858004927248044261337272426043519036770562375424777261197260216926631647078337210854492159310186612122152392282182393643464715392267414946178789611617704635897220462068423413500978154958214768481299938833649979037365631403310943568243290514262459077388889283642782664329483271319986073335552440556696242662034922693888856148493500453604211154932249732023090180263262484789453316688147182145481224950570850072235693623402353085317626140401378671413001623394468623299928135306544859092526209631291879519350263810789338159898385760233405201353937017962412632439492857159014935714301996429408951049573853731297521527913930448730147573039944566037733187534583193406795861473809113047008639873040590590781201857838034106438688970924351987748785990796871206216566638888159134724454018099205837387089997380435602597174477219097864195210263667416076680359521682800699178519619827300900622765197095111039458430801044515569998327832054948019821212670265736953971 2600095408205962545109118744864258415602476760436578961625179593209819226519410014944534219275594912030391003992105660687943261859875030299039773621427171048076336669161849537862954530775853193905838779225545350815296577613841084974848814409709850631433478963718836755650295865147118618908927658769582431148730856649237281581586379871616267539132275520643347129103985937916435281083886362130481318574116546734602287396196955865450878414197995053200706613502337940017110276536154519607258817926637014212382369484743575405009505915142649086863745171902151666433277703078055527702910127175824918385076107220677773427804908547198759545225075650223885294775182789847719862947764964200554683320517662462393718225026164430131422266141095625810648050502539919739092789869825104267495156175267477806415255851029352237272477423766883962724306423626944252220701399561659581801574004660632726002474664241783190266553395369965273152630632278401156620272988115562847729301389154870458743309285301457859455396864720608955994721869059726669848326813570540178653811785165149737378982213100907313751680425836008215024811125828603948212382831756523434132681235352322099908704682487597844394480906019905242114486480928906895552075222359350584108314429292193592607219999478529848749910118493256831856917089301899189686752313656337269672616386166959812837554000176253978655329928131582606325717642399136836139873773818311304523830761842374243094809689080291977885167891757054578718875095638592403486726525710501491182068520265817063424235888589158271686847223526240335916527128126457838615548000492596021791548543367610797374830005816139813805613043646454687433109755446485629194120232902154607056890674053356737433813280158916824310800935638040393192250354135809919940622138993031576964404879859652041114444295865930176424472658578 4207042744469779653695590821990055795429874613177083805167520679426384256468666080709744520248466159349327769310910154543148576919070933011879885908510955863099197934167701104430174810800942024234697960148637043886080346027829461177856055185677688944452362402327546645809147929159633263208014446925760773280416408225332943565707543772481248713895281467774572171560344030446882895201298931516863516846258346160209795392178047983136948216433886348821878811932527956904095349396583476106449616857493394488535185176101120807945332916921932054101533796916540346052435777065220011269222942225468918031003272069285037523845567024994273052761530867809906520545885322912849894053369391621445364557518552178987590089478461029449347122785083764824845424205473522596880473633986163170389641329030644671679680933711918709215465705718023477975882096441685142686234743215327439806501252704894063274900707760819960828928820147226470412847558910048234957483842607722157915913511307262740925702928766173251722811810899398567612426504956947131916750227071518333612026553646449676212632192138272945154991369404251505539073584905992837496025614420852917404001221425657652349261378730259879317174794876053735614940085140061827801807245449530847370799218745510280754402144959754799320760190728950455259270174619525330088130985069338893067085009466887948144098859268780188286621807650932870136506980559035221900107179019665241541793174474813735951968704016006279881597300708104152572606393160120317417175255858074531126634557999004598007429295385019745495960270534880208957117718907659696453582106931284992715900531116396788171701212032706452693772178370908705532315592833575626574555835499329084275988538248567001101229356839276345993601634816560013019551254758575117035733178451462378008920449857979873169392315687142846690209612549 6807138152675742198804709566854314211032351373613662766792700272636203482988076095654278739524061071379718773303015815231091838778945963310919659529938126911175534603329550642293129341576795218140536739374182394701376923641670546152704869595387539575885841366046383401459443794306751882116942105695343204429147264874570225147293923644097516253027556988417919300664329968363318176285185293647344835420374892894812082788375003848587826630631881402022585425434865896921205625932737995713708434784130408700917554660844696212954838832064581140965278968818692012485713480143275538972133069401293836416079379289962810951650475572193032597986606518033791815321068112760569757001134355822000047878036214641381308314504625459580769388926179390635493474708013442335973263503811267437884797504298122478094936784741270946487943129484907440700188520068629394906936142776987021608075257365526789277375372002603151095482215517191743565478191188449391577756830723285005645214900462133199669012214067631111178208675620007523607148374016673801765077040642058512265838338811599413591614405239180258906671795240259720563884710734596785708408446177376351536682456777979752257966061217857723711655700895958977729426566068968723353882467808881431479113648037703873361622144438284648070670309222207287116187263921424519774883298725676162739701395633847760981652859445034166941951735782515476462224622958172058039980952837976546065623936317187979046778393096298257766765192465158731291481488798712720903901781568576022308703078264821661431665183974178017182807494061120544873644847034117535069130107423881014507449074484007585546531217848846266499385222017363392965425348280061255768676068401483691332879212301923738535042636998193170304402570454600406211801608894385036976355317444493954973325329717631914283836611553073023114682271127 11014180897145521852500300388844370006462225986790746571960220952062587739456742176364023259772527230729046542613925969774240415698016896322799545438449082774274732537497251746723304152377737242375234699522819438587457269669500007330560924781065228520338203768373930047268591723466385145324956552621103977709563673099903168713001467416578764966922838456192491472224673998810201071486484225164208352266633239055021878180553051831724774847065767750844464237367393853825300975329321471820158051641623803189452739836945817020900171748986513195066812765735232358538149257208495550241356011626762754447082651359247848475496042597187305650748137385843698335866953435673419651054503747443445412435554766820368898403983086489030116511711263155460338898913486964932853737137797430608274438833328767149774617718453189655703408835202930918676070616510314537593170885992314461414576510070420852552276079763423111924411035664418213978325750098497626535240673331007163561128411769395940594715142833804362901020486519406091219574878973620933681827267713576845877864892458049089804246597377453204061663164644511226102958295640589623204434060598229268940683678203637404607227439948117603028830495772012713344366651209030551155689713258412278849912866783214154116024289398039447391430499951157742375457438540949849863014283795015055806786405100735709125751718713814355228573543433448346598731603517207279940088131857641787607417110792001714998747097112304537648362493173262883864087881958833038321077037426650553435337636263826259439094479359197762678767764596000753830762565941777231522712214355166007223349605600404373718232429881552719193157400388272098497740941113636882343231903900812775608867750550490739636271993837469516298004205271160419231352863652960154012088495895956332982245779575611787453228927240215869804891883676 17821319049821264051305009955698684217494577360404409338752921224698791222444818272018301999296588302108765315916941785005332254476962859633719204968387209685450267140826802389016433493954532460515771438897001833288834193311170553483265794376452768096224045134420313448728035517773137027441898658316447182138710937974473393860295391060676281219950395444610410772889003967173519247771669518811553187687008131949833960968928055680312601477697649152867049662802259750746506601262059467533866486425754211890370294497790513233855010581051094336032091734553924371023862737351771089213489081028056590863162030649210659427146518169380338248734743903877490151188021548433989408055638103265445460313590981461750206718487711948610885900637442546095832373621500407268827000641608698046159236337626889627869554503194460602191351964687838359376259136578943932500107028769301483022651767435947641829651451766026263019893251181609957543803941286947018112997504054292169206343312231529140263727356901435474079229162139413614826723252990294735446904308355635358143703231269648503395861002616633462968334959884770946666843006375186408912842506775605620477366134981617156865193501165975326740486196667971691073793217277999274509572181067293710329026514820918027477646433836324095462100809173365029491644702462374369637897582520691218546487800734583470107404578158848522170525279215963823060956226475379337980069084695618333673041047109189694045525490208602795415127685638421615155569370757545759224978818995226575744040714528647920870759663333375779861575258657121298704407412975894766591842321779047021730798680084411959264763647730398985692542622405635491463166289393698138111907972302296466941746962852414478171314630835662686602406775725760825443154472547345190988443813340450287955571109293243701737065538793288892919574154803 28835499946966785903805310344543054223956803347195155910713142176761378961901560448382325259069115532837811858530867754779572670174979755956518750406836292459724999678324054135739737646332269702891006138419821271876291462980670560813826719157517996616562248902794243495996627241239522172766855210937551159848274611074376562573296858477255046186873233900802902245113677965983720319258153743975761539953641371004855839149481107512037376324763416903711513900169653604571807576591380939354024538067378015079823034334736330254755182330037607531098904500289156729562011994560266639454845092654819345310244682008458507902642560766567643899482881289721188487054974984107409059110141850708890872749145748282119105122470798437641002412348705701556171272534987372201680737779406128654433675170955656777644172221647650257894760799890769278052329753089258470093277914761615944437228277506368494381927531529449374944304286846028171522129691385444644648238177385299332767471724000925080858442499735239836980249648658819706046298131963915669128731576069212204021568123727697593200107599994086667029998124529282172769801302015776032117276567373834889418049813185254561472420941114092929769316692439984404418159868487029825665261894325705989178939381604132181593670723234363542853531309124522771867102141003324219500911866315706274353274205835319179233156296872662877399098822649412169659687829992586617920157216553260121280458157901191409044272587320907333063490178811684499019657252716378797546055856421877129179378350792474180309854142692573542540343023253122052535169978917671998114554536134213028954148285684816332982996077611951704885700022793907589960907230507335020455139876203109242550614713402905217807586624673132202900410980996921244674507336200305345000532309236406620937816888868855489190294466033504762724466038479 46656818996788049955110320300241738441451380707599565249466063401460170184346378720400627258365703834946577174447809539784904924651942615590237955375223502145175266819150856524756171140286802163406777577316823105165125656291841114297092513533970764712786294037214556944724662759012659200208753869253998341986985549048849956433592249537931327406823629345413313018002681933157239567029823262787314727640649502954689800118409163192349977802461066056578563562971913355318314177853440406887891024493132226970193328832526843488610192911088701867130996234843081100585874731912037728668334173682875936173406712657669167329789078935947982148217625193598678638242996532541398467165779953974336333062736729743869311840958510386251888312986148247652003646156487779470507738421014826700592911508582546405513726724842110860086112764578607637428588889668202402593384943530917427459880044942316136211578983295475637964197538027638129065933632672391662761235681439591501973815036232454221122169856636675311059478810798233320873021384954210404575635884424847562165271354997346096595968602610720129998333084414053119436644308390962441030119074149440509895415948166871718337614442280068256509802889107956095491953085765029100174834075392999699507965896425050209071317157070687638315632118297887801358746843465698589138809448836397492899762006569902649340560875031511399569624101865375992720644056467965955900226301248878454953499205010381103089798077529510128478617864450106114175226623473924556771034675417103704923419065321122101180613806025949322401918281910243351239577391893566764706396857913260050684946965769228292247759725342350690578242645199543081424073519901033158567047848505405709492361676255319695978901255508794889502817756722682070117661808747650535988976122576856908893387998162099190927360004826793655644040193282 75492318943754835858915630644784792665408184054794721160179205578221549146247939168782952517434819367784389032978677294564477594826922371546756705782059794604900266497474910660495908786619071866297783715736644377041417119272511675110919232691488761329348542940008800440721290000252181372975609080191549501835260160123226519006889108015186373593696863246216215263116359899140959886287977006763076267594290873959545639267890270704387354127224482960290077463141566959890121754444821346241915562560510242050016363167263173743365375241126309398229900735132237830147886726472304368123179266337695281483651394666127675232431639702515626047700506483319867125297971516648807526275921804683227205811882478025988416963429308823892890725334853949208174918691475151672188476200420955355026586679538203183157898946489761117980873564469376915480918642757460872686662858292533371897108322448684630593506514824925012908501824873666300588063324057836307409473858824890834741286760233379301980612356371915148039728459457053026919319516918126073704367460494059766186839478725043689796076202604806797028331208943335292206445610406738473147395641523275399313465761352126279810035383394161186279119581547940499910112954252058925840095969718705688686905278029182390664987880305051181169163427422410573225848984469022808639721315152103767253036212405221828573717171904174276968722924514788162380331886460552573820383517802138576233957362911572512134070664850417461542108043261790613194883876190303354317090531838980834102797416113596281490467948718522864942261305163365403774747370811238762820951394047473079639095251454044625230755802954302395463942667993450671384980750408368179022187724708514952042976389658224913786487880181927092403228737719603314792169144947955880989508431813263529831204887030954680117654470860298418368506231761 122149137940542885814025950945026531106859564762394286409645268979681719330594317889183579775800523202730966207426486834349382519478864987136994661157283296750075533316625767185252079926905874029704561293053467482206542775564352789408011746225459526042134836977223357385445952759264840573184362949445547843822245709172076475440481357553117701000520492591629528281119041832298199453317800269550390995234940376914235439386299433896737331929685549016868641026113480315208435932298261753129806587053642469020209691999790017231975568152215011265360896969975318930733761458384342096791513440020571217657058107323796842562220718638463608195918131676918545763540968049190205993441701758657563538874619207769857728804387819210144779038321002196860178564847962931142696214621435782055619498188120749588671625671331871978066986329047984552909507532425663275280047801823450799356988367391000766805085498120400650872699362901304429653996956730227970170709540264482336715101796465833523102782213008590459099207270255286347792340901872336478280003344918907328352110833722389786392044805215526927026664293357388411643089918797700914177514715672715909208881709518997998147649825674229442788922470655896595402066040017088026014930045111705388194871174454232599736305037375738819484795545720298374584595827934721397778530763988501260152798218975124477914278046935685676538347026380164155100975942928518529720609819051017031187456567921953615223868742379927590020725907711896727370110499664227911088125207256084539026216481434718382671081754744472187344179587073608755014324762704805527527348251960733130324042217223272917478515528296653086042185313192993752809054270309401337589235573213920661535338065913544609765389135690721981906046494442285384909830953695606416978484554390120438724592885193053871045014475687092074012546425043 197641456884297721672941581589811323772267748817189007569824474557903268476842257057966532293235342570515355240405164128913860114305787358683751366939343091354975799814100677845747988713524945896002345008790111859247959894836864464518930978916948287371483379917232157826167242759517021946159972029637097345657505869295302994447370465568304074594217355837845743544235401731439159339605777276313467262829231250873781078654189704601124686056910031977158718489255047275098557686743083099371722149614152711070226055167053190975340943393341320663590797705107556760881648184856646464914692706358266499140709501989924517794652358340979234243618638160238412888838939565839013519717623563340790744686501685795846145767817128034037669763655856146068353483539438082814884690821856737410646084867658952771829524617821633096047859893517361468390426175183124147966710660115984171254096689839685397398592012945325663781201187774970730242060280788064277580183399089373171456388556699212825083394569380505607138935729712339374711660418790462551984370805412967094538950312447433476188121007820333724054995502300723703849535529204439387324910357195991308522347470871124277957685209068390629068042052203837095312178994269146951855026014830411076881776452483414990401292917680790000653958973142708947810444812403744206418252079140605027405834431380346306487995218839859953507069950894952317481307829389071103540993336853155607421413930833526127357939407230345051562833950973687340564994375854531265405215739095065373129013897548314664161549703462995052286440892236974158789072133516044290348299646008206209963137468677317542709271331250955481506127981186444424194035020717769516611423297922435613578314455571769523551877015872649074309275232161888699702000098643562297967992986203383968555797772224008551162668946547390492381052656804 319790594824840607486967532534837854879127313579583293979469743537584987807436574947150112069035865773246321447831650963263242633784652345820746028096626388105051333130726445031000068640430819925706906301843579341454502670401217253926942725142407813413618216894455515211613195518781862519344334979082645189479751578467379469887851823121421775594737848429475271825354443563737358792923577545863858258064171627788016518040489138497862017986595580994027359515368527590306993619041344852501528736667795180090435747166843208207316511545556331928951694675082875691615409643240988561706206146378837716797767609313721360356873076979442842439536769837156958652379907615029219513159325321998354283561120893565703874572204947244182448801976858342928532048387401013957580905443292519466265583055779702360501150289153505074114846222565346021299933707608787423246758461939434970611085057230686164203677511065726314653900550676275159896057237518292247750892939353855508171490353165046348186176782389096066238142999967625722504001320662799030264374150331874422891061146169823262580165813035860651081659795658112115492625448002140301502425072868707217731229180390122276105335034742620071856964522859733690714245034286234977869956059942116465076647626937647590137597955056528820138754518863007322395040640338465604196782843129106287558632650355470784402273265775545630045416977275116472582283772317589633261603155904172638608870498755479742581808149610272641583559858685584067935104875518759176493340946351149912155230378983033046832631458207467239630620479310582913803396896220849817875647897968939340287179685900590460187786859547608567548313294379438177003089291027170854200658871136356275113652521485314133317266151563371056215321726604174084611831052339168714946477540593504407280390657417062422207683422234482566393599081847 517432051709138329159909114124649178651395062396772301549294218095488256284278832005116644362271208343761676688236815092177102748090439704504497395035969479460027132944827122876748057353955765821709251310633691200702462565238081718445873704059356100785101596811687673037780438278298884465504307008719742535137257447762682464335222288689725850188955204267321015369589845295176518132529354822177325520893402878661797596694678843098986704043505612971186078004623574865405551305784427951873250886281947891160661802333896399182657454938897652592542492380190432452497057828097635026620898852737104215938477111303645878151525435320422076683155407997395371541218847180868233032876948885339145028247622579361550020340022075278220118565632714488996885531926839096772465596265149256876911667923438655132330674906975138170162706116082707489690359882791911571213469122055419141865181747070371561602269524011051978435101738451245890138117518306356525331076338443228679627878909864259173269571351769601673377078729679965097215661739453261582248744955744841517430011458617256738768286820856194375136655297958835819342160977206579688827335430064698526253576651261246554063020243811010700925006575063570786026424028555381929724982074772527541958424079421062580538890872737318820792713492005716270205485452742209810615034922269711314964467081735817090890268484615405583552486928170068790063591601706660736802596492757328246030284429589005869939747556840617693146393809659271408500099251373290441898556685446215285284244276531347710994181161670462291917061371547557072592469029736894108223947543977145550250317154577908002897058190798564049054441275565882601197124311744940370812082169058791888691966977057083656869143167436020130524596958766062784313831150982731012914470526796888375836188429641070973370352368781873058774651738651 837222646533978936646876646659487033530522375976355595528763961633073244091715406952266756431307074117007998136068466055440345381875092050325243423132595867565078466075553567907748125994386585747416157612477270542156965235639298972372816429201763914198719813706143188249393633797080746984848641987802387724617009026230061934223074111811147625783693052696796287194944288858913876925452932368041183778957574506449814114735167981596848722030101193965213437519992102455712544924825772804374779622949743071251097549500739607389973966484453984521494187055273308144112467471338623588327104999115941932736244720617367238508398512299864919122692177834552330193598754795897452546036274207337499311808743472927253894912227022522402567367609572831925417580314240110730046501708441776343177250979218357492831825196128643244277552338648053510990293590400698994460227583994854112476266804301057725805947035076778293089002289127521050034174755824648773081969277797084187799369263029305521455748134158697739615221729647590819719663060116060612513119106076715940321072604787080001348452633892055026218315093616947934834786425208719990329760502933405743984805831651368830168355278553630772781971097923304476740669062841616907594938134714644007035071706358710170676488827793847640931468010868723592600526093080675414811817765398817602523099732091287875292541750390951213597903905445185262645875374024250370064199648661500884639154928344485612521555706450890334729953668344855476435204126892049618391897631797365197439474655514380757826812619877929531547681850858139986395865925957743926099595441946084890537496840478498463084845050346172616602754569945320778200213602772111225012741040195148163805619498542397790186409318999391186739918685370236868925662203321899727860948067390392783116579087058133395578035791016355625168250820498 1354654698243117265806785760784136212181917438373127897078058179728561500375994238957383400793578282460769674824305281147617448129965531754829740818168565347025105599020380690784496183348342351569125408923110961742859427800877380690818690133261120014983821410517830861287174072075379631450352948996522130259754266473992744398558296400500873475972648256964117302564534134154090395057982287190218509299850977385111611711429846824695835426073606806936399515524615677321118096230610200756248030509231690962411759351834636006572631421423351637114036679435463740596609525299436258614948003851853046148674721831921013116659923947620286995805847585831947701734817601976765685578913223092676644340056366052288803915252249097800622685933242287320922303112241079207502512097973591033220088918902657012625162500103103781414440258454730761000680653473192610565673696706050273254341448551371429287408216559087830271524104027578766940172292274131005298413045616240312867427248172893564694725319485928299412992300459327555916935324799569322194761864061821557457751084063404336740116739454748249401354970391575783754176947402415299679157095932998104270238382482912615384231375522364641473706977672986875262767093091396998837319920209487171548993495785779772751215379700531166461724181502874439862806011545822885225426852687668528917487566813827104966182810235006356797150390833615254052709466975730911106866796141418829130669439357933491482461303263291508027876347478004126884935303378265340060290454317243580482723718932045728468820993781548391823464743222405697058988334955694638034323542985923230440787813995056406465981903241144736665657195845511203379397337914517051595824823209253940052497586475599481447055552486435411317264515644136299653239493354304630740775418594187281158952767516699204368948388159798228683942902559149 2191877344777096202453662407443623245712439814349483492606822141361634744467709645909650157224885356577777672960373747203057793511840623805154984241301161214590184065095934258692244309342728937316541566535588232285016393036516679663191506562462883929182541224223974049536567705872460378435201590984324517984371275500222806332781370512312021101756341309660913589759478423013004271983435219558259693078808551891561425826165014806292684148103708000901612953044607779776830641155435973560622810132181434033662856901335375613962605387907805621635530866490737048740721992770774882203275108850968988081410966552538380355168322459920151914928539763666500031928416356772663138124949497300014143651865109525216057810164476120323025253300851860152847720692555319318232558599682032809563266169881875370117994325299232424658717810793378814511670947063593309560133924290045127366817715355672487013214163594164608564613106316706287990206467029955654071495014894037397055226617435922870216181067620086997152607522188975146736654987859685382807274983167898273398072156668191416741465192088640304427573285485192731689011733827624019669486856435931510014223188314563984214399730800918272246488948770910179739507762154238615744914858344201815556028567492138482921891868528325014102655649513743163455406537638903560640238670453067346520010666545918392841475351985397308010748294739060439315355342349755161476930995790080330015308594286277977094982858969742398362606301146348982361370507505157389678682351949040945680163193587560109226647806401426321355012425073263837045384200881652381960423138427869315331325310835534904929066748291490909282259950415456524157597551517289162820837564249449088216303205974141879237241961805434802504004434329506536522165155557626530468636366661577673942069346603757337764526423950814584309111153379647 3546532043020213468260448168227759457894357252722611389684880321090196244843703884867033558018463639038547347784679028350675241641806155559984725059469726561615289664116314949476740492691071288885666975458699194027875820837394060354010196695724003944166362634741804910823741777947840009885554539980846648244125541974215550731339666912812894577728989566625030892324012557167094667041417506748478202378659529276673037537594861630988519574177314807838012468569223457097948737386046174316870840641413124996074616253170011620535236809331157258749567545926200789337331518070211140818223112702822034230085688384459393471828246407540438910734387349498447733663233958749428823703862720392690787991921475577504861725416725218123647939234094147473770023804796398525735070697655623842783355088784532382743156825402336206073158069248109575512351600536785920125807620996095400621159163907043916300622380153252438836137210344285054930378759304086659369908060510277709922653865608816434910906387106015296565599822648302702653590312659254705002036847229719830855823240731595753481581931543388553828928255876768515443188681230039319348643952368929614284461570797476599598631106323282913720195926443897055002274855245635614582234778553688987105022063277918255673107248228856180564379831016617603318212549184726445865665523140735875437498233359745497807658162220403664807898685572675693368064809325486072583797791931499159145978033644211468577444162233033906390482648624353109246305810883422729738972806266284526162886912519605837695468800182974713178477168295669534104372535837347019994746681413792545772113124830591311395048651532635645947917146260967727536994889431806214416662387458703028268800792449741360684297514291870213821268949973642836175404648911931161209411785255764955101022114120456542133474812110612812993054055938796 5738409387797309670714110575671382703606797067072094882291702462451830989311413530776683715243348995616325020745052775553733035153646779365139709300770887776205473729212249208168984802033800226202208541994287426312892213873910740017201703258186887873348903858965778960360309483820300388320756130965171166228496817474438357064121037425124915679485330876285944482083490980180098939024852726306737895457468081168234463363759876437281203722281022808739625421613831236874779378541482147877493650773594559029737473154505387234497842197238962880385098412416937838078053510840986023021498221553791022311496654936997773826996568867460590825662927113164947765591650315522091961828812217692704931643786585102720919535581201338446673192534946007626617744497351717843967629297337656652346621258666407752861151150701568630731875880041488390024022547600379229685941545286140527987976879262716403313836543747417047400750316660991342920585226334042313441403075404315106977880483044739305127087454726102293718207344837277849390245300518940087809311830397618104253895397399787170223047123632028858256501541361961247132200415057663339018130808804861124298684759112040583813030837124201185966684875214807234741782617399874230327149636897890802661050630770056738594999116757181194667035480530360766773619086823630006505904193593803221957508899905663890649133514205800972818646980311736132683420151675241234060728787721579489161286627930489445672427021202776304753088949770702091607676318388580119417655158215325471843050106107165946922116606584401034533489593368933371149756736718999401955169819841661861103438435666126216324115399824126555230177096676424251694592440949095377237499951708152116485103998423883239921539476097305016325273384303149372697569804469557691678048151917342629043091460724213879898001236061427397302165209318443 9284941430817523138974558743899142161501154319794706271976582783542027234155117415643717273261812634654872368529731803904408276795452934925124434360240614337820763393328564157645725294724871515087875517452986620340768034711304800371211899953910891817515266493707583871184051261768140398206310670946017814472622359448653907795460704337937810257214320442910975374407503537347193606066270233055216097836127610444907500901354738068269723296458337616577637890183054693972728115927528322194364491415007684025812089407675398855033079006570120139134665958343138627415385028911197163839721334256613056541582343321457167298824815275001029736397314462663395499254884274271520785532674938085395719635708060680225781260997926556570321131769040155100387768302148116369702699994993280495129976347450940135604307976103904836805033949289597965536374148137165149811749166282235928609136043169760319614458923900669486236887527005276397850963985638128972811311135914592816900534348653555740037993841832117590283807167485580552043835613178194792811348677627337935109718638131382923704629055175417412085429797238729762575389096287702658366774761173790738583146329909517183411661943447484099686880801658704289744057472645509844909384415451579789766072694047974994268106364986037375231415311546978370091831636008356452371569716734539097395007133265409388456791676426204637626545665884411826051484961000727306644526579653078648307264661574700914249871183435810211143571598395055200853982129272002849156627964481609998005937018626771784617585406767375747711966761664602905254129272556346421949916501255454406875551560496717527719164051356762201178094242937391979231587330380901591654162339166855144753904790873624600605836990389175230146542334276792208872974453381488852887459937173107584144113574844670422031476048172040210295219265257239 15023350818614832809688669319570524865107951386866801154268285245993858223466530946420400988505161630271197389274784579458141311949099714290264143661011502114026237122540813365814710096758671741290084059447274046653660248585215540388413603212097779690864170352673362831544360745588440786527066801911188980701119176923092264859581741763062725936699651319196919856490994517527292545091122959361953993293595691613141964265114614505550927018739360425317263311796885930847507494469010470071858142188602243055549562562180786089530921203809083019519764370760076465493438539752183186861219555810404078853078998258454941125821384142461620562060241575828343264846534589793612747361487155778100651279494645782946700796579127895016994324303986162727005512799499834213670329292330937147476597606117347888465459126805473467536909829331086355560396695737544379497690711568376456597112922432476722928295467648086533637637843666267740771549211972171286252714211318907923878414831698295045165081296558219884002014512322858401434080913697134880620660508024956039363614035531170093927676178807446270341931338600691009707589511345365997384905569978651862881831089021557767224692780571685285653565676873511524485840090045384075236534052349470592427123324818031732863105481743218569898450792077339136865450722831986458877473910328342319352516033171073279105925190632005610445192646196147958734905112675968540705255367374658137468551289505190359922298204638586515896660548165757292461658447660582968574283122696935469848987124733937731539702013351776782245456355033536276403886009275345823905086321097116267978989996162843744043279451180888756408271339613816230926179771329996968891662290875007261239008789297507840527376466486480246471815718579941581570544257851046544565508089090450213187205035568884301929477284233467607597384474575682 24308292249432355948663228063469667026609105706661507426244868029535885457621648362064118261766974264926069757804516383362549588744552649215388578021252116451847000515869377523460435391483543256377959576900260666994428283296520340759625503166008671508379436846380946702728412007356581184733377472857206795173741536371746172655042446101000536193913971762107895230898498054874486151157393192417170091129723302058049465166469352573820650315197698041894901201979940624820235610396538792266222633603609927081361651969856184944564000210379203158654430329103215092908823568663380350700940890067017135394661341579912108424646199417462650298457556038491738764101418864065133532894162093863496370915202706463172482057577054451587315456073026317827393281101647950583373029287324217642606573953568288024069767102909378304341943778620684321096770843874709529309439877850612385206248965602237042542754391548756019874525370671544138622513197610300259064025347233500740778949180351850785203075138390337474285821679808438953477916526875329673432009185652293974473332673662553017632305233982863682427361135839420772282978607633068655751680331152442601464977418931074950636354724019169385340446478532215814229897562690893920145918467801050382193196018866006727131211846729255945129866103624317506957282358840342911249043627062881416747523166436482667562716867058210248071738312080559784786390073676695847349781947027736785775815951079891274172169388074396727040232146560812493315640576932585817730911087178545467854924143360709516157287420119152529957423116698139181658015281831692245855002822352570674854541556659561271762443502537650957586365582551208210157767101710898560545824630041862405992913580171132441133213456875655476618358052856733790443518711232535397452968026263557797331318610413554723960953332405507817892603739832921 39331643068047188758351897383040191891717057093528308580513153275529743681088179308484519250272135895197267147079300962820690900693652363505652721682263618565873237638410190889275145488242214997668043636347534713648088531881735881148039106378106451199243607199054309534272772752945021971260444274768395775874860713294838437514624187864063262130613623081304815087389492572401778696248516151779124084423318993671191429431583967079371577333937058467212164513776826555667743104865549262338080775792212170136911214532036971034094921414188286178174194699863291558402262108415563537562160445877421214247740339838367049550467583559924270860517797614320082028947953453858746280255649249641597022194697352246119182854156182346604309780377012480554398793901147784797043358579655154790083171559685635912535226229714851771878853607951770676657167539612253908807130589418988841803361888034713765471049859196842553512163214337811879394062409582471545316739558552408664657364012050145830368156434948557358287836192131297354911997440572464554052669693677250013836946709193723111559981412790309952769292474440111781990568118978434653136585901131094464346808507952632717861047504590854670994012155405727338715737652736277995382452520150520974620319343684038459994317328472474515028316895701656643822733081672329370126517537391223736100039199607555946668642057690215858516930958276707743521295186352664388055037314402394923244367240585081634094467592712983242936892694726569785777299024593168786305194209875480937703911268094647247696989433470929312202879471731675458061901291107038069760089143449686942833531552822405015805722953718539713994636922165024441083946873040895529437486920916869667231922369468640281660589923362135723090173771436675372014062969083581942018476115354008010518523645982439025890430616638975425489988214408603 63639935317479544707015125446509858918326162800189816006758021305065629138709827670548637512039110160123336904883817346183240489438205012721041299703515735017720238154279568412735580879725758254046003213247795380642516815178256221907664609544115122707623044045435256237001184760301603155993821747625602571048602249666584610169666633965063798324527594843412710318287990627276264847405909344196294175553042295729240894598053319653192227649134756509107065715756767180487978715262088054604303409395822097218272866501893155978658921624567489336828625028966506651311085677078943888263101335944438349642401681418279157975113782977386921158975353652811820793049372317923879813149811343505093393109900058709291664911733236798191625236450038798381792075002795735380416387866979372432689745513253923936604993332624230076220797386572454997753938383486963438116570467269601227009610853636950808013804250745598573386688585009356018016575607192771804380764905785909405436313192401996615571231573338894832573657871939736308389913967447794227484678879329543988310279382856276129192286646773173635196653610279532554273546726611503308888266232283537065811785926883707668497402228610024056334458633937943152945635215427171915528370987951571356813515362550045187125529175201730460158182999325974150780015440512672281375561164454105152847562366044038614231358924748426106588669270357267528307685260029360235404819261430131709020183191664972908266636980787379969977124841287382279092939601525754604036105297054026405558835411455356763854276853590081842160302588429814639719916572938730315615091965802257617688073109481966287568166456256190671581002504716232651241713974751794089983311550958732073224835949639772722793803380237791199708531824293409162457581680316117339471444141617565807849842256395993749851383949044483243382591954241524 102971578385526733465367022829550050810043219893718124587271174580595372819798006979033156762311246055320604051963118309003931390131857376226694021385779353583593475792689759302010726367967973251714046849595330094290605347059992103055703715922221573906866651244489565771273957513246625127254266022393998346923462962961423047684290821829127060455141217924717525405677483199678043543654425495975418259976361289400432324029637286732563804983071814976319230229533593736155721820127637316942384185188034267355184081033930127012753843038755775515002819728829798209713347785494507425825261781821859563890142021256646207525581366537311192019493151267131902821997325771782626093405460593146690415304597410955410847765889419144795935016827051278936190868903943520177459746446634527222772917072939559849140219562339081848099650994524225674411105923099217346923701056688590068812972741671664573484854109942441126898851799347167897410638016775243349697504464338318070093677204452142445939388008287452190861494064071033663301911408020258781537348573006794002147226092049999240752268059563483587965946084719644336264114845589937962024852133414631530158594434836340386358449733200878727328470789343670491661372868163449910910823508102092331433834706234083647119846503674204975186499895027630794602748522185001651502078701845328888947601565651594560900000982438641965105600228633975271828980446382024623459856575832526632264550432250054542361104573500363212914017536013952064870238626118923390341299506929507343262746679550004011551266287061011154363182060161490097781817864045768385375181109251944560521604662304371303373889409974730385575639426881257092325660847792689619420798471875601740456758319108413004454393303599926922798705595730084534471644649399699281489920256971573818368365902378432775741814565683458668872580168650127 166611513703006278172382148276059909728369382693907940594029195885661001958507834649581794274350356215443940956846935655187171879570062388947735321089295088601313713946969327714746307247693731505760050062843125474933122162238248324963368325466336696614489695289924822008275142273548228283248087770019600917972065212628007657853957455794190858779668812768130235723965473826954308391060334840171712435529403585129673218627690606385756032632206571485426295945290360916643700535389725371546687594583856364573456947535823282991412764663323264851831444757796304861024433462573451314088363117766297913532543702674925365500695149514698113178468504919943723615046698089706505906555271936651783808414497469664702512677622655942987560253277090077317982943906739255557876134313613899655462662586193483785745212894963311924320448381096680672165044306586180785040271523958191295822583595308615381498658360688039700285540384356523915427213623968015154078269370124227475529990396854139061510619581626347023435151936010769971691825375468053009022027452336337990457505474906275369944554706336657223162599694999176890537661572201441270913118365698168595970380361720048054855851961810902783662929423281613644607008083590621826439194496053663688247350068784128834245375678875935435344682894353604945382763962697673932877639866299434041795163931695633175131359907187068071694269498991242800136665706411384858864675837262658341284733623915027450627741554287743182891142377301334343963178227644677994377404803983533748821582091005360775405543140651092996523484648591304737501734436984498700990273075054202178209677771786337590942055866230921057156641931597489743567374822544483709404110022834333813681594268748185727248196683837718122507237420023493696929226329715816620961364398589139626218208158774426525593198514727941912255172122891651 269583092088533011637749171105609960538412602587626065181300370466256374778305841628614951036661602270764545008810053964191103269701919765174429342475074442184907189739659087016757033615661704757474096912438455569223727509298240428019072041388558270521356346534414387779549099786794853410502353792413599264895528175589430705538248277623317919234810030692847761129642957026632351934714760336147130695505764874530105542657327893118319837615278386461745526174823954652799422355517362688489071779771890631928641028569753410004166607702079040366834264486626103070737781248067958739913624899588157477422685723931571573026276516052009305197961656187075626437044023861489131999960732529798474223719094880620113360443512075087783495270104141356254173812810682775735335880760248426878235579659133043634885432457302393772420099375620906346576150229685398131963972580646781364635556336980279954983512470630480827184392183703691812837851640743258503775773834462545545623667601306281507450007589913799214296646000081803634993736783488311790559376025343131992604731566956274610696822765900140811128545779718821226801776417791379232937970499112800126128974796556388441214301695011781510991400212625284136268380951754071737350018004155756019681184775018212481365222182550140410531182789381235739985512484882675584379718568144762930742765497347227736031360889625710036799869727625218071965646152793409482324532413095184973549284056165081992988846127788106395805159913315286408833416853763601384718704310913041092084328770555364786956809427712104150886666708752794835283552301030267086365454184306146738731282434090708894315945276205651442732281358478746835893035670337173328824908494709935554138352587856598731702589987437645045305943015753578231400870979115515902451284655560713444586574061152859301335013080411400581127752291541778 436194605791539289810131319381669870266781985281534005775329566351917376736813676278196745311011958486208485965656989619378275149271982154122164663564369530786220903686628414731503340863355436263234146975281581044156849671536488752982440366854894967135846041824339209787824242060343081693750441562433200182867593388217438363392205733417508778014478843460977996853608430853586660325775095176318843131035168459659778761285018499504075870247484957947171822120114315569443122890907088060035759374355746996502097976105576692995579372365402305218665709244422407931762214710641410054001988017354455390955229426606496938526971665566707418376430161107019350052090721951195637906516004466450258032133592350284815873121134731030771055523381231433572156756717422031293212015073862326533698242245326527420630645352265705696740547756717587018741194536271578917004244104604972660458139932288895336482170831318520527469932568060215728265065264711273657854043204586773021153657998160420568960627171540146237731797936092573606685562158956364799581403477679469983062237041862549980641377472236798034291145474717998117339437989992820503851088864810968722099355158276436496070153656822684294654329635906897780875389035344693563789212500209419707928534843802341315610597861426075845875865683734840685368276447580349517257358434444196972537929429042860911162720796812778108494139226616460872102311859204794341189208250357843314834017680080109443616587682075849578696302290616620752796595081408279379096109114896574840905910861560725562362352568363197147410151357344099572785286738014765787355727259360348916940960205877046485258001142436572499888923290076236579460410492881657038229018517544269367819946856604784458950786671275363167813180435777071928330097308831332523412649054149853070804782219927285826928211595139342493382924414433429 705777697880072301447880490487279830805194587869160070956629936818173751515119517906811696347673560756973030974467043583569378418973901919296594006039443972971128093426287501748260374479017141020708243887720036613380577180834729181001512408243453237657202388358753597567373341847137935104252795354846799447763121563806869068930454011040826697249288874153825757983251387880219012260489855512465973826540933334189884303942346392622395707862763344408917348294938270222242545246424450748524831154127637628430739004675330102999745980067481345585499973731048511002499995958709368793915612916942612868377915150538068511553248181618716723574391817294094976489134745812684769906476736996248732255852687230904929233564646806118554550793485372789826330569528104807028547895834110753411933821904459571055516077809568099469160647132338493365317344765956977048968216685251754025093696269269175291465683301949001354654324751763907541102916905454532161629817039049318566777325599466702076410634761453945452028443936174377241679298942444676590140779503022601975666968608818824591338200238136938845419691254436819344141214407784199736789059363923768848228329954832824937284455351834465805645729848532181917143769987098765301139230504365175727609719618820553796975820043976216256407048473116076425353788932463025101637077002588959903280694926390088647194081686438488145294008954241678944067958011998203823513740663453028288383301736245191436605433809863955974501462203931907161630011935171880763814813425809615932990239632116090349319161996075301298296818066096894408068839039045032873721181443666495655672242639967755379573946418642223942621204648554983415353446163218830367053927012254204921958299444461383190653376658713008213119123451530650159730968287946848425863933709710566515391356281080145128263224675550743074510676705975207 1141972303671611591258011809868949701071976573150694076731959503170091128251933194185008441658685519243181516940124033202947653568245884073418758669603813503757348997112915916479763715342372577283942390863001617657537426852371217933983952775098348204793048430183092807355197583907481016798003236917279999630630714952024307432322659744458335475263767717614803754836859818733805672586264950688784816957576101793849663065227364892126471578110248302356089170415052585791685668137331538808560590528483384624932836980780906795995325352432883650804165682975470918934262210669350778847917600934297068259333144577144565450080219847185424141950821978401114326541225467763880407812992741462698990287986279581189745106685781537149325606316866604223398487326245526838321759910907973079945632064149786098476146723161833805165901194889056080384058539302228555965972460789856726685551836201558070627947854133267521882124257319824123269367982170165805819483860243636091587930983597627122645371261932994091689760241872266950848364861101401041389722182980702071958729205650681374571979577710373736879710836729154817461480652397777020240640148228734737570327685113109261433354609008657150100300059484439079698019159022443458864928443004574595435538254462622895112586417905402292102282914156850917110722065380043374618894435437033156875818624355432949558356802483251266253788148180858139816170269871202998164702948913810871603217319416325300880222021491939805553197764494548527914426607016580160142910922540706190773896150493676815911681514564438498445706969423440993980854125777059798661076908703026844572613202845844801864831947561078796442510127938631219994813856656100487405282945529798474289778246301066167649604163329988371380932303887307722088061065596778180949276582763860419586196138501007430955191436270690085567893601120408636 1847750001551683892705892300356229531877171161019854147688589439988264879767052712091820138006359080000154547914591076786517031987219785992715352675643257476728477090539203418228024089821389718304650634750721654270918004033205947114985465183341801442450250818541846404922570925754618951902256032272126799078393836515831176501253113755499162172513056591768629512820111206614024684846754806201250790784117035128039547369169711284748867285973011646765006518709990856013928213383755989557085421682611022253363575985456236898995071332500364996389665656706519429936762206628060147641833213851239681127711059727682633961633468028804140865525213795695209303030360213576565177719469478458947722543838966812094674340250428343267880157110351977013224817895773631645350307806742083833357565886054245669531662800971401904635061842021394573749375884068185533014940677475108480710645532470827245919413537435216523236778582071588030810470899075620337981113677282685410154708309197093824721781896694448037141788685808441328090044160043845717979862962483724673934396174259500199163317777948510675725130527983591636805621866805561219977429207592658506418556015067942086370639064360491615905945789332971261615162929009542224166067673508939771163147974081443448909562237949378508358689962629966993536075854312506399720531512439622116779099319281823038205550884169689754399082157135099818760238227883201201988216689577263899891600621152570492316827455301803761527699226698480435076056618951752040906725735966515806706886390125792906261000676560513799744003787489537888388922964816104831534798090146693340228285445485812557244405893979721020385131332587186203410167302819319317772336872542052679211736545745527550840257539988701379594051427338838372247792033884725029375140516473570986101587494782087576083454660946240828642404277826383843 2989722305223295483963904110225179232949147734170548224420548943158356008018985906276828579665044599243336064854715109989464685555465670066134111345247070980485826087652119334707787805163762295588593025613723271928455430885577165048969417958440149647243299248724939212277768509662099968700259269189406798709024551467855483933575773499957497647776824309383433267656971025347830357433019756890035607741693136921889210434397076176875338864083259949121095689125043441805613881521087528365646012211094406878296412966237143694990396684933248647193831339681990348871024417297410926489750814785536749387044204304827199411713687875989565007476035774096323629571585681340445585532462219921646712831825246393284419446936209880417205763427218581236623305222019158483672067717650056913303197950204031768007809524133235709800963036910450654133434423370414088980913138264965207396197368672385316547361391568484045118902839391412154079838881245786143800597537526321501742639292794720947367153158627442128831548927680708278938409021145246759369585145464426745893125379910181573735297355658884412604841364712746454267102519203338240218069355821393243988883700181051347803993673369148766006245848817410341313182088031985683030996116513514366598686228544066344022148655854780800460972876786817910646797919692549774339425947876655273654917943637255987763907686652941020652870305315957958576408497754404200152919638491074771494817940568895793197049476793743567080896991193028962990483225968332201049636658507221997480782540619469722172682191124952298189710756912978882369777090593164630195874998849720184800898648331657359109237841540799816827641460525817423404981159475419805177619818071851153501514792046593718489861703318689750974983731226146094335853099481503210324417099237431405687783633283095007038646097216930914210297878946792479 4837472306774979376669796410581408764826318895190402372109138383146620887786038618368648717671403679243490612769306186775981717542685456058849464020890328457214303178191322752935811894985152013893243660364444926199373434918783112163954883141781951089693550067266785617200339435416718920602515301461533597787418387983686660434828887255456659820289880901152062780477082231961855042279774563091286398525810172049928757803566787461624206150056271595886102207835034297819542094904843517922731433893705429131659988951693380593985468017433613643583496996388509778807786623925471074131584028636776430514755264032509833373347155904793705873001249569791532932601945894917010763251931698380594435375664213205379093787186638223685085920537570558249848123117792790129022375524392140746660763836258277437539472325104637614436024878931845227882810307438599621995853815740073688106842901143212562466774929003700568355681421463000184890309780321406481781711214809006911897347601991814772088935055321890165973337613489149607028453181189092477349448107948151419827521554169681772898615133607395088329971892696338091072724386008899460195498563414051750407439715248993434174632737729640381912191638150381602928345017041527907197063790022454137761834202625509792931710893804159308819662839416784904182873774005056174059957460316277390434017262919079025969458570822630775051952462451057777336646725637605402141136328068338671386418561721466285513876932095547328608596217891509398066539844920084241956362394473737804187668930745262628433682867685466097933714544402516770758700055409269461730673088996413525029184093817469916353643735520520837212772793113003626815148462294739122949956690613903832713251337792121269330119243307391130569035158564984466583645133366228239699557615711002391789371128065182583122100758163171742852702156773176322 7827194611998274860633700520806587997775466629360950596529687326304976895805024524645477297336448278486826677624021296765446403098151126124983575366137399437700129265843442087643599700148914309481836685978168198127828865804360277212924301100222100736936849315991724829478107945078818889302774570650940396496442939451542144368404660755414157468066705210535496048134053257309685399712794319981322006267503308971817968237963863638499545014139531545007197896960077739625155976425931046288377446104799836009956401917930524288975864702366862290777328336070500127678811041222882000621334843422313179901799468337337032785060843780783270880477285343887856562173531576257456348784393918302241148207489459598663513234122848104102291683964789139486471428339811948612694443242042197659963961786462309205547281849237873324236987915842295882016244730809013710976766954005038895503040269815597879014136320572184613474584260854412338970148661567192625582308752335328413639986894786535719456088213949332294804886541169857885966862202334339236719033253412578165720646934079863346633912489266279500934813257409084545339826905212237700413567919235444994396323415430044781978626411098789147918437486967791944241527105073513590228059906535968504360520431169576136953859549658940109280635716203602814829671693697605948399383408192932664088935206556335013733366257475571795704822767767015735913055223392009602294055966559413442881236502290362078710926408889290895689493209084538361057023070888416443005999052980959801668451471364732350606365058810418396123425301315495653128477146002434091926548087846133709830082742149127275462881577061320654040414253638821050220129621770158928127576508685754986214766129838714987819980946626080881544018889791130560919498232847731450023974714948433797477154761348277590160746855380102657063000035719968801 12664666918773254237303496931387996762601785524551352968638825709451597783591063143014126015007851957730317290393327483541428120640836582183833039387027727894914432444034764840579411595134066323375080346342613124327202300723143389376879184242004051826630399383258510446678447380495537809905289872112473994283861327435228804803233548010870817288356586111687558828611135489271540441992568883072608404793313481021746726041530651100123751164195803140893300104795112037444698071330774564211108879998505265141616390869623904882961332719800475934360825332459009906486597665148353074752918872059089610416554732369846866158407999685576976753478534913679389494775477471174467112036325616682835583583153672804042607021309486327787377604502359697736319551457604738741716818766434338406624725622720586643086754174342510938673012794774141109899055038247613332972620769745112583609883170958810441480911249575885181830265682317412523860458441888599107364019967144335325537334496778350491545023269271222460778224154659007492995315383523431714068481361360729585548168488249545119532527622873674589264785150105422636412551291221137160609066482649496744803763130679038216153259148828429529830629125118173547169872122115041497425123696558422642122354633795085929885570443463099418100298555620387719012545467702662122459340868509210054522952469475414039702824828298202570756775230218073513249701949029615004435192294627752114267655064011828364224803340984838224298089426976047759123562915808500684962361447454697605856120402109994979040047926495884494057139845718012423887177201411703553657221176842547234859266835966597191816525312581841491253187046751824677035278084064898051077533199299658818928017467630836257150100189933472012113054048356115027503143366213959689723532330659436189266525889413460173282847613543274399915702192493145123 20491861530771529097937197452194584760377252153912303565168513035756574679396087667659603312344300236217143968017348780306874523738987708308816614753165127332614561709878206928223011295282980632856917032320781322455031166527503666589803485342226152563567248699250235276156555325574356699208064442763414390780304266886770949171638208766284974756423291322223054876745188746581225841705363203053930411060816789993564694279494514738623296178335334685900498001755189777069854047756705610499486326103305101151572792787554429171937197422167338225138153668529510034165408706371235075374253715481402790318354200707183898943468843466360247633955820257567246056949009047431923460820719534985076731790643132402706120255432334431889669288467148837222790979797416687354411262008476536066588687409182895848634036023580384262910000710616436991915299769056627043949387723750151479112923440774408320495047570148069795304849943171824862830607103455791732946328719479663739177321391564886211001111483220554755583110695828865378962177585857770950787514614773307751268815422329408466166440112139954090199598407514507181752378196433374861022634401884941739200086546109082998131885559927218677749066612085965491411399227188555087653183603094391146482875064964662066839429993122039527380934271823990533842217161400268070858724276702142718611887676031749053436191085773774366461597997985089249162757172421624606729248261187165557148891566302190442935729749874129119987582636060586120180585986696917127968360500435657407524571873474727329646412985306302890180565147033508077015654347414137645583769264688680944689349578115724467279406889643162145293601300390645727255407705835056979205109707985413805142783597469551244970081136559552893657072938147245588422641599061691139747507045607869986743680650761737763443594468923377056978702228213113924 33156528449544783335240694383582581522979037678463656533807338745208172462987150810673729327352152193947461258410676263848302644379824290492649654140192855227528994153912971768802422890417046956231997378663394446782233467250647055966682669584230204390197648082508745722835002706069894509113354314875888385064165594321999753974871756777155792044779877433910613705356324235852766283697932086126538815854130271015311420321025165838747047342531137826793798106550301814514552119087480174710595206101810366293189183657178334054898530141967814159498979000988519940652006371519588150127172587540492400734908933077030765101876843151937224387434355171246635551724486518606390572857045151667912315373796805206748727276741820759677046892969508534959110531255021426096128080774910874473213413031903482491720790197922895201583013505390578101814354807304240376922008493495264062722806611733218761975958819723954977135115625489237386691065545344390840310348686623999064714655888343236702546134752491777216361334850487872871957492969381202664855995976134037336816983910578953585698967735013628679464383557619929818164929487654512021631700884534438484003849676788121214285144708755648207579695737204139038581271349303596585078307299652813788605229698759747996725000436585138945481232827444378252854762629102930193318065145211352773134840145507163093139015914071976937218373228203162762412459121451239611164440555814917671416546630314018807160533090858967344285672063036633879304148902505417812930721947890355013380692275584722308686460911802187384237704992751520500902831548825841199240990441531228179548616414082321659095932202225003636546788347142470404290685789899955030282642907285072624070801065100387502120181326493024905770126986503360615925784965275650829471039376267306176010206540175197936726442082466651456894404420706259047 53648389980316312433177891835777166283356289832375960098975851780964747142383238478333332639696452430164605226428025044155177168118811998801466268893357982560143555863791178697025434185700027589088914410984175769237264633778150722556486154926456356953764896781758980998991558031644251208321418757639302775844469861208770703146509965543440766801203168756133668582101512982433992125403295289180469226914947061008876114600519680577370343520866472512694296108305491591584406166844185785210081532205115467444761976444732763226835727564135152384637132669518029974817415077890823225501426303021895191053263133784214664045345686618297472021390175428813881608673495566038314033677764686652989047164439937609454847532174155191566716181436657372181901511052438113450539342783387410539802100441086378340354826221503279464493014216007015093729654576360867420871396217245415541835730052507627082471006389872024772439965568661062249521672648800182573256677406103662803891977279908122913547246235712331971944445546316738250919670555238973615643510590907345088085799332908362051865407847153582769663981965134436999917307684087886882654335286419380223203936222897204212417030268682866885328762349290104529992670576492151672731490902747204935088104763724410063564430429707178472862167099268368786696979790503198264176789421913495491746727821538912146575206999845751303679971226188252011575216293872864217893688817002083228565438196616209250096262840733096464273254699097219999484734889202334940899082448326012420905264149059449638332873897108490274418270139785028577918485896239978844824759706219909124237965992198046126375339091868165781840389647533116131546093495735012009487752615270486429213584662569938747090262463052577799427199924650606204348426564337341969218546421875176162753887190936935700170036551390028513873106648919372971 86804918429861095768418586219359747806335327510839616632783190526172919605370389289007061967048604624112066484838701308003479812498636289294115923033550837787672550017704150465827857076117074545320911789647570216019498101028797778523168824510686561343962544864267726721826560737714145717434773072515191160908635455530770457121381722320596558845983046190044282287457837218286758409101227375307008042769077332024187534921544846416117390863397610339488094214855793406098958285931665959920676738306925833737951160101911097281734257706102966544136111670506549915469421449410411375628598890562387591788172066861245429147222529770234696408824530600060517160397982084644704606534809838320901362538236742816203574808915975951243763074406165907141012042307459539546667423558298285013015513472989860832075616419426174666076027721397593195544009383665107797793404710740679604558536664240845844446965209595979749575081194150299636212738194144573413567026092727661868606633168251359616093380988204109188305780396804611122877163524620176280499506567041382424902783243487315637564375582167211449128365522754366818082237171742398904286036170953818707207785899685325426702174977438515092908458086494243568573941925795748257809798202400018723693334462484158060289430866292317418343399926712747039551742419606128457494854567124848264881567967046075239714222913917728240898344454391414773987675415324103829058129372817000899981984826930228057256795931592063808558926762133853878788883791707752753829804396216367434285956424644171947019334808910677658655975132536549078821317445065820044065750147751137303786582406280367785471271294093169418387177994675586535836779285634967039770395522555559053284385727670326249210443789545602705197326911153966820274211529612992798689585798142482338764093731112133636896478633856679970767511069625632018 140453308410177408201596478055136914089691617343215576731759042307137666747753627767340394606745057054276671711266726352158656980617448288095582191926908820347816105881495329162853291261817102134409826200631745985256762734806948501079654979437142918297727441646026707720818118769358396925756191830154493936753105316739541160267891687864037325647186214946177950869559350200720750534504522664487477269684024393033063649522064526993487734384264082852182390323161284997683364452775851745130758270512041301182713136546643860508569985270238118928773244340024579890286836527301234601130025193584282782841435200645460093192568216388532168430214706028874398769071477650683018640212574524973890409702676680425658422341090131142810479255842823279322913553359897652997206766341685695552817613914076239172430442640929454130569041937404608289273663960025975218664800927986095146394266716748472926917971599468004522015046762811361885734410842944755986823703498831324672498610448159482529640627223916441160250225943121349373796834079859149896143017157948727512988582576395677689429783429320794218792347487888803817999544855830285786940371457373198930411722122582529639119205246121381978237220435784348098566612502287899930541289105147223658781439226208568123853861295999495891205567025981115826248722210109326721671643989038343756628295788584987386289429913763479544578315680579666785562891709196968046951818189819084128547423023546437307353058772325160272832181461231073878273618680910087694728886844542379855191220573703621585352208706019167933074245272321577656739803341305798888890509853971046428024548398478413911846610385961335200227567642208702667382872781369979049258148137826045482497970390240264996300706252598180504624526835804573024622638093950334767908132220017658501517980922049069337066515185246708484640617718545004989 227258226840038503970015064274496661896026944854055193364542232833310586353124017056347456573793661678388738196105427660162136793116084577389698114960459658135488655899199479628681148337934176679730737990279316201276260835835746279602823803947829479641689986510294434442644679507072542643190964902669685097661740772270311617389273410184633884493169261136222233157017187419007508943605750039794485312453101725057251184443609373409605125247661693191670484538017078403782322738707517705051435008818967134920664296648554957790304242976341085472909356010531129805756257976711645976758624084146670374629607267506705522339790746158766864839039236628934915929469459735327723246747384363294791772240913423241861997150006107094054242330248989186463925595667357192543874189899983980565833127387066100004506059060355628796645069658802201484817673343691083016458205638726774750952803380989318771364936809063984271590127956961661521947149037089329400390729591558986541105243616410842145734008212120550348556006339925960496673997604479326176642523724990109937891365819882993326994159011488005667920713010643170636081782027572684691226407628327017637619508022267855065821380223559897071145678522278591667140554428083648188351087307547242382474773688692726184143292162291813309548966952693862865800464629715455179166498556163192021509863755631062626003652827681207785476660134971081559550567124521071876009947562636085028529407850476665364609854703917224081391108223364927757062502472617840448558691240758747289477176998347793532371543514929845591730220404858126735561120786371618932956260001722183731811130804758781697317881680054504618614745636884289203219652067004946089028543660381604535782356117910591245511150042143783209821853746958539844896849623563327566597718018160140840282074653161202973962993819103388455408128788170637007 367711535250215912171611542329633575985718562197270770096301275140448253100877644823687851180538718732665409907372154012320793773733532865485280306887368478483304761780694808791534439599751278814140564190911062186533023570642694780682478783384972397939417428156321142163462798276430939568947156732824179034414846089009852777657165098048671210140355476082400184026576537619728259478110272704281962582137126118090314833965673900403092859631925776043852874861178363401465687191483369450182193279331008436103377433195198818298874228246579204401682600350555709696043094504012880577888649277730953157471042468152165615532358962547299033269253942657809314698540937386010741886959958888268682181943590103667520419491096238236864721586091812465786839149027254845541080956241669676118650741301142339176936501701285082927214111596206809774091337303717058235123006566712869897347070097737791698282908408531988793605174719773023407681559880034085387214433090390311213603854064570324675374635436036991508806232283047309870470831684338476072785540882938837450879948396278671016423942440808799886713060498531974454081326883402970478166779085700216568031230144850384704940585469681279049382898958062939765707166930371548118892376412694466041256212914901294307997153458291309200754533978674978692049186839824781900838142545201535778138159544216050012293082741444687330054975815550748345113458833718039922961765752455169157076830874023102671962913476242384354223289684596001635336121153527928143287578085301127144668397572051415117723752220949013524804465677179704392300924127677417821846769855693230159835679203237195609164492066015839818842313279092991870602524848374925138286691798207650018280326508150856241811856294741963714446380582763112869519487717513662334505850238177799341800055575210272311029509004350096940048746506715641996 594969762090254416141626606604130237881745507051325963460843507973758839454001661880035307754332380411054148103477581672482930566849617442874978421847828136618793417679894288420215587937685455493871302181190378387809284406478441060285302587332801877581107414666615576606107477783503482212138121635493864132076586861280164395046438508233305094633524737218622417183593725038735768421716022744076447894590227843147566018409283273812697984879587469235523359399195441805248009930190887155233628288149975571024041729843753776089178471222920289874591956361086839501799352480724526554647273361877623532100649735658871137872149708706065898108293179286744230628010397121338465133707343251563473954184503526909382416641102345330918963916340801652250764744694612038084955146141653656684483868688208439181442560761640711723859181255009011258909010647408141251581212205439644648299873478727110469647845217595973065195302676734684929628708917123414787605162681949297754709097680981166821108643648157541857362238622973270367144829288817802249428064607928947388771314216161664343418101452296805554633773509175145090163108910975655169393186714027234205650738167118239770761965693241176120528577480341531432847721358455196307243463720241708423730986603594020492140445620583122510303500931368841557849651469540237080004641101364727799648023299847112638296735569125895115531635950521829904664025958239111798971713315091254185606238724499768036572768180159608435614397907960929392398623626145768591846269326059874434145574570399208650095295735878859116534686082037831127862044914049036754803029857415413891646810007995977306482373746070344437457058915977281073822176915379871227315235458589254554062682626061447487323006336885746924268234329721652714416337341076989901103568256337940182082130228371475284992502823453485395456875294886279003 962681297340470328313238148933763813867464069248596733557144783114207092554879306703723158934871099143719558010849735684803724340583150308360258728735196615102098179460589097211750027537436734308011866372101440574342307977121135840967781370717774275520524842822936718769570276059934421781085278368318043166491432950290017172703603606281976304773880213301022601210170262658464027899826295448358410476727353961237880852374957174215790844511513245279376234260373805206713697121674256605415821567480984007127419163038952594388052699469499494276274556711642549197842446984737407132535922639608576689571692203811036753404508671253364931377547121944553545326551334507349207020667302139832156136128093630576902836132198583567783685502432614118037603893721866883626036102383323332803134609989350778358379062462925794651073292851215821033000347951125199486704218772152514545646943576464902167930753626127961858800477396507708337310268797157500174819595772339608968312951745551491496483279084194533366168470906020580237615660973156278322213605490867784839651262612440335359842043893105605441346834007707119544244435794378625647559965799727450773681968311968624475702551162922455169911476438404471198554888288826744426135840132936174464987199518495314800137599078874431711058034910043820249898838309365018980842783646566263577786182844063162650589818310570582445586611766072578249777484791957151721933479067546423342683069598522870708535681656401992789837687592556931027734744779673696735133847411361001578813972142450623767819047956827872641339151759217535520162969041726454576649799713108644051482489211233172915646865812086184256299372195070272944424701763754796365601927256796904572343009134212303729134862631627710638714614912484765583935825058590652235609418494515739523882185803581747596022011827803582335505621801601920999 1557651059430724744454864755537894051749209576299922697017988291087965932008880968583758466689203479554773706114327317357286654907432767751235237150583024751720891597140483385631965615475122189801883168553291818962151592383599576901253083958050576153101632257489552295375677753843437903993223400003811907298568019811570181567750042114515281399407404950519645018393763987697199796321542318192434858371317581804385446870784240448028488829391100714514899593659569247011961707051865143760649449855630959578151460892882706370477231170692419784150866513072729388699641799465461933687183196001486200221672341939469907891276658379959430829485840301231297775954561731628687672154374645391395630090312597157486285252773300928898702649418773415770288368638416478921710991248524976989487618478677559217539821623224566506374932474106224832291909358598533340738285430977592159193946817055192012637578598843723934923995780073242393266938977714280914962424758454288906723022049426532658317591922732352075223530709528993850604760490261974080571641670098796732228422576828601999703260145345402410995980607516882264634407544705354280816953152513754684979332706479086864246464516856163631290440053918746002631402609647281940733379303853177882888718186122089335292278044699457554221361535841412661807748489778905256060847424747930991377434206143910275288886553879696477561118247716594408154441510750196263520905192382637677528289308323022638745108449836561601225452085500517860420133368405819465326980116737420876012959546712849832417914343692706731757873837841255366648025013955775491331452829570524057943129299219229150222129239558156528693756431111047554018246878679134667592917162715386159126405691760273751216457868968513457562982849242206418298352162399667642136712986750853679705964316031953222881014514651257067730962497096488200002 2520332356771195072768102904471657865616673645548519430575133074202173024563760275287481625624074578698493264125177053042090379248015918059595495879318221366822989776601072482843715643012558924109895034925393259536493900360720712742220865328768350428622157100312489014145248029903372325774308678372129950465059452761860198740453645720797257704181285163820667619603934250355663824221368613640793268848044935765623327723159197622244279673902613959794275827919943052218675404173539400366065271423111943585278880055921658964865283870161919278427141069784371937897484246450199340819719118641094776911244034143280944644681167051212795760863387423175851321281113066136036879175041947531227786226440690788063188088905499512466486334921206029888325972532138345805337027350908300322290753088666909995898200685687492301026005766957440653324909706549658540224989649749744673739593760631656914805509352469851896782796257469750101604249246511438415137244354226628515691335001172084149814075201816546608589699180435014430842376151235130358893855275589664517068073839441042335063102189238508016437327441524589384178651980499732906464513118313482135753014674791055488722167068019086086460351530357150473829957497936108685159515143986114057353705385640584650092415643778331985932419570751456482057647328088270275041690208394497254955220388987973437939476372190267060006704859482666986404218995542153415242838671450184100870972377921545509453644131492963594015289773093074791447868113185493162062113964148781877591773518855300456185733391649534604399212989600472902168187982997501945908102629283632701994611788430462323137776105370242712950055803306117826962671580442889463958519089972183063698748700894486054945592731600141168201697464154691183882287987458258294372322405245369419229846501835534970477036526479060650066468118898090121001 4077983416201919817222967660009551917365883221848442127593121365290138956572641243871240092313278058253266970239504370399377034155448685810830733029901246118543881373741555868475681258487681113911778203478685078498645492744320289643473949286818926581723789357802041309520925783746810229767532078375941857763627472573430380308203687835312539103588690114340312637997698238052863620542910931833228127219362517570008774593943438070272768503293714674309175421579512299230637111225404544126714721278742903163430340948804365335342515040854339062578007582857101326597126045915661274506902314642580977132916376082750852535957825431172226590349227724407149097235674797764724551329416592922623416316753287945549473341678800441365188984339979445658614341170554824727048018599433277311778371567344469213438022308912058807400938241063665485616819065148191880963275080727336832933540577686848927443087951313575831706792037542992494871188224225719330099669112680917422414357050598616808131667124548898683813229889964008281447136641497104439465496945688461249296496416269644334766362334583910427433308049041471648813059525205087187281466270827236820732347381270142352968631584875249717750791584275896476461360107583390625892894447839291940242423571762673985384693688477789540153781106592869143865395817867175531102537633142428246332654595131883713228362926069963537567823107199261394558660506292349678763743863832821778399261686244568148198752581329525195240741858593592651868001481591312627389094080886202753604733065568150288603647735342241336157086827441728268816212996953277437239555458854156759937741087649691473359905344928399241643812234417165380980918459122024131551436252687569222825154392654759806162050600568654625764680313396897602180640149857925936509035391996223098935810817867488193358051041130317717797430615994578321003 6598315772973114889991070564481209782982556867396961558168254439492311981136401519158721717937352636951760234364681423441467413403464603870426228909219467485366871150342628351319396901500240038021673238404078338035139393105041002385694814615587277010345946458114530323666173813650182555541840756748071808228686925335290579048657333556109796807769975278160980257601632488408527444764279545474021396067407453335632102317102635692517048177196328634103451249499455351449312515398943944492779992701854846748709221004726024300207798911016258341005148652641473264494610292365860615326621433283675754044160410226031797180638992482385022351212615147583000418516787863900761430504458540453851202543193978733612661430584299953831675319261185475546940313702693170532385045950341577634069124656011379209336222994599551108426944008021106138941728771697850421188264730477081506673134338318505842248597303783427728489588295012742596475437470737157745236913466907545938105692051770700957945742326365445292402929070399022712289512792732234798359352221278125766364570255710686669829464523822418443870635490566061032991711505704820093745979389140718956485362056061197841690798652894335804211143114633046950291317605519499311052409591825405997596128957403258635477109332256121526086200677344325625923043145955445806144227841536925501287874984119857151167839298260230597574527966681928380962879501834503094006582535283005879270234064166113657652396712822488789256031631686667443315869594776805789451208045034984631196506584423450744789381126991775940556299817042201170984400979950779383147658088137789461932352876080153796497681450298641954593868037723283207943590039564913595509955342659752286523903093549245861107643332168795793966377777551588786062928137316184230881357797241592518165657319703023163835087567609378367863898734892668442004 10676299189175034707214038224490761700348440089245403685761375804782450937709042763029961810250630695205027204604185793840844447558913289681256961939120713603910752524084184219795078159987921151933451441882763416533784885849361292029168763902406203592069735815916571633187099597396992785309372835124013665992314397908720959356861021391422335911358665392501292895599330726461391065307190477307249523286769970905640876911046073762789816680490043308412626671078967650679949626624348488619494713980597749912139561953530389635550313951870597403583156235498574591091736338281521889833523747926256731177076786308782649716596817913557248941561842871990149515752462661665485981833875133376474618859947266679162134772263100395196864303601164921205554654873247995259433064549774854945847496223355848422774245303511609915827882249084771624558547836846042302151539811204418339606674916005354769691685255097003560196380332555735091346625694962877075336582579588463360520049102369317766077409450914343976216158960363030993736649434229339237824849166966587015661066671980331004595826858406328871303943539607532681804771030909907281027445659967955777217709437331340194659430237769585521961934698908943426752677713102889936945304039664697937838552529165932620861803020733911066239981783937194769788438963822621337246765474679353747620529579251740864396202224330194135142351073881189775521540008126852772770326399115827657669495750410681805851149294152013984496773490280260095183871076368118416840302125921187384801239649991601033393028862334017276713386644483929439800613976904056820387213546991946221870093963729845269857586795227041196237680272140448588924508498686937727061391595347321509349057486204005667269693932737450419731058090948486388243568287174110167390393189237815617101468137570511357193138608739696085661329350887246763007 17274614962148149597205108788971971483330996956642365243929630244274762918845444282188683528187983332156787438968867217282311860962377893551683190848340181089277623674426812571114475061488161189955124680286841754568924278954402294414863578517993480602415682274031101956853273411047175340851213591872085474221001323244011538405518354947532132719128640670662273153200963214869918510071470022781270919354177424241272979228148709455306864857686371942516077920578423002129262142023292433112274706682452596660848782958256413935758112862886855744588304888140047855586346630647382505160145181209932485221237196534814446897235810395942271292774458019573149934269250525566247412338333673830325821403141245412774796202847400349028539622862350396752494968575941165791818110500116432579916620879367227632110468298111161024254826257105877763500276608543892723339804541681499846279809254323860611940282558880431288685968627568477687822063165700034820573496046496009298625741154140018724023151777279789268619088030762053706026162226961574036184201388244712782025636927691017674425291382228747315174579030173593714796482536614727374773425049108674733703071493392538036350228890663921326173077813541990377043995318622389247997713631490103935434681486569191256338912352990032592326182461281520395711482109778067143390993316216279248908404563371598015564041522590424732716879040563118156484419509961355866776908934398833536939729814576795463503546006974502773752805121966927538499740671144924206291510170956172015997746234415051778182409989325793217269686461526130610785014956854836203534871635129735683802446839809999066355268245525683150831548309863731796868098538251851322571346938007073795872960579753251528377337264906246213697435868500075174306496424490294398271750986479408135267125457273534521028226176349074453525228085779915205011 27950914151323184304419147013462733183679437045887768929691006049057213856554487045218645338438614027361814643573053011123156308521291183232940152787460894693188376198510996790909553221476082341888576122169605171102709164803763586444032342420399684194485418089947673590040373008444168126160586426996099140213315721152732497762379376338954468630487306063163566048800293941331309575378660500088520442640947395146913856139194783218096681538176415250928704591657390652809211768647640921731769420663050346572988344911786803571308426814757453148171461123638622446678082968928904394993668929136189216398313982843597096613832628309499520234336300891563299450021713187231733394172208807206800440263088512091936930975110500744225403926463515317958049623449189161051251175049891287525764117102723076054884713601622770940082708506190649388058824445389935025491344352885918185886484170329215381631967813977434848882348960124212779168688860662911895910078626084472659145790256509336490100561228194133244835246991125084699762811661190913274009050555211299797686703599671348679021118240635076186478522569781126396601253567524634655800870709076630510920780930723878231009659128433506848135012512450933803796673031725279184943017671154801873273234015735123877200715373723943658566164245218715165499921073600688480637758790895632996528934142623338879960243746920618867859230114444307932005959518088208639547235333514661194609225564987477269354695301126516758249578612247187633683611747513042623131812296877359400798985884406652811575438851659810493983073106010060050585628933758893023922085182121681905672540803539844336212855040752724347069228582004180385792607036938789049632738533354395305222018065957257195647031197643696633428493959448561562550064711664404565662144175717223752368593594844045878221364785088770539186557436667161968018 45225529113471333901624255802434704667010434002530134173620636293331976775399931327407328866626597359518602082541920228405468169483669076784623343635801075782465999872937809362024028282964243531843700802456446925671633443758165880858895920938393164796901100363978775546893646419491343467011800018868184614434317044396744036167897731286486601349615946733825839202001257156201228085450130522869791361995124819388186835367343492673403546395862787193444782512235813654938473910670933354844044127345502943233837127870043217507066539677644308892759766011778670302264429599576286900153814110346121701619551179378411543511068438705441791527110758911136449384290963712797980806510542481037126261666229757504711727177957901093253943549325865714710544592025130326843069285550007720105680737982090303686995181899733931964337534763296527151559101053933827748831148894567418032166293424653075993572250372857866137568317587692690466990752026362946716483574672580481957771531410649355214123713005473922513454335021887138405788973888152487310193251943456012579712340527362366353446409622863823501653101599954720111397736104139362030574295758185305244623852424116416267359888019097428174308090325992924180840668350347668432940731302644905808707915502304315133539627726713976250892346706500235561211403183378755624028752107111912245437338705994936895524285269511043600576109155007426088490379028049564506324144267913494731548955379564272732858241308101019532002383734214115172183352418657966829423322467833531416796732118821704589757848840985603711252759567536190661370643890613729227456956817251417589474987643349843402568123286278407497900776891867912182660705575190640372204085471361469101094978645710508724024368462549942847125929827948636736856561136154698963933895162196631887635719052117580399249590961437844992711785522447077173029 73176443264794518206043402815897437850689871048417903103311642342389190631954418372625974205065211386880416726114973239528624478004960260017563496423261970475654376071448806152933581504440325873732276924626052096774342608561929467302928263358792848991386518453926449136934019427935511593172386445864283754647632765549476533930277107625441069980103252796989405250801551097532537660828791022958311804636072214535100691506538275891500227934039202444373487103893204307747685679318574276575813548008553289806825472781830021078374966492401762040931227135417292748942512568505191295147483039482310918017865162222008640124901067014941311761447059802699748834312676900029714200682751288243926701929318269596648658153068401837479347475789381032668594215474319487894320460599899007631444855084813379741879895501356702904420243269487176539617925499323762774322493247453336218052777594982291375204218186835300986450666547816903246159440887025858612393653298664954616917321667158691704224274233668055758289582013012223105551785549343400584202302498667312377399044127033715032467527863498899688131624169735846507998989671663996686375166467261935755544633354840294498369547147530935022443102838443857984637341382072947617883748973799707681981149518039439010740343100437919909458510951718950726711324256979444104666510898007545241966272848618275775484529016431662468435339269451734020496338546137773145871379601428155926158180944551750002212936609227536290251962346461302805866964166171009452555134764710890817595718003228357401333287692645414205235832673546250711956272824372622251379041999373099495147528446889687738780978327031131844970005473872092568453312612129429421836824004715864406316996711667765919671399660193639480554423787397198299406625847819103529596039337913855640004312646961626277470955746526615531898342959114239141047 118401972378265852107667658618332142517700305050948037276932278635721167407354349700033303071691808746399018808656893467934092647488629336802186840059063046258120375944386615514957609787404569405575977727082499022445976052320095348161824184297186013788287618817905224683827665847426855060184186464732468369081949809946220570098174838911927671329719199530815244452802808253733765746278921545828103166631197033923287526873881768564903774329901989637818269616129017962686159589989507631419857675354056233040662600651873238585441506170046070933690993147195963051206942168081478195301297149828432619637416341600420183635969505720383103288557818713836198218603640612827695007193293769281052963595548027101360385331026302930733291025115246747379138807499449814737389746149906727737125593066903683428875077401090634868757778032783703691177026553257590523153642142020754250219071019635367368776468559693167124018984135509593713150192913388805328877227971245436574688853077808046918347987239141978271743917034899361511340759437495887894395554442123324957111384654396081385913937486362723189784725769690566619396725775803358716949462225447241000168485778956710765729435166628363196751193164436782165478009732420616050824480276444613490689065020343754144279970827151896160350857658219186287922727440358199728695263005119457487403611554613212671008814285942706069011448424459160108986717574187337652195523869341650657707136324116022735071177917328555822254346080675417978050316584828976281978457232544422234392450122050061991091136533631017916488592241082441373326916714986351478835998816624517084622516090239531141349101613309539342870782365740004751114018187320069794040909476077333507411975357378274643695768122743582327680353615345835036263186983973802493529934500110487527640031699079206676720546707964460524610128481561316314076 191578415643060370313711061434229580368390176099365940380243920978110358039308768072659277276757020133279435534771866707462717125493589596819750336482325016733774752015835421667891191291844895279308254651708551119220318660882024815464752447655978862779674137271831673820761685275362366653356572910596752123729582575495697104028451946537368741309822452327804649703604359351266303407107712568786414971267269248458388218380420044456404002263941192082191756720022222270433845269308081907995671223362609522847488073433703259663816472662447832974622220282613255800149454736586669490448780189310743537655281503822428823760870572735324415050004878516535947052916317512857409207876045057524979665524866296698009043484094704768212638500904627780047733022973769302631710206749805735368570448151717063170754972902447337773178021302270880230794952052581353297476135389474090468271848614617658743980686746528468110469650683326496959309633800414663941270881269910391191606174744966738622572261472810034030033499047911584616892544986839288478597856940790637334510428781429796418381465349861622877916349939426413127395715447467355403324628692709176755713119133797005264098982314159298219194296002880640150115351114493563668708229250244321172670214538383193155020313927589816069809368609938137014634051697337643833361773903127002729369884403231488446493343302374368537446787693910894129483056120325110798066903470769806583865317268667772737284114526556092112506308427136720783917280750999985734533591997255313051988168125278419392424424226276432121724424914628692085283189539358973730215040815997616579770044537129218880130079940340671187840787839612097319567330799449499215877733480793197913728972069046040563367167782937221808234777402743033335669812831792906023125973838024343167644344346040832954191502454491076056508471440675555455123 309980388021326222421378720052561722886090481150313977657176199613831525446663117772692580348448828879678454343428760175396809772982218933621937176541388062991895127960222037182848801079249464684884232378791050141666294713202120163626576631953164876567961756089736898504589351122789221713540759375329220492811532385441917674126626785449296412639541651858619894156407167605000069153386634114614518137898466282381675745254301813021307776593843181720010026336151240233120004859297589539415528898716665755888150674085576498249257978832493903908313213429809218851356396904668147685750077339139176157292697845422849007396840078455707518338562697230372145271519958125685104215069338826806032629120414323799369428815121007698945929526019874527426871830473219117369099952899712463105696041218620746599630050303537972641935799335054583921971978605838943820629777531494844718490919634253026112757155306221635234488634818836090672459826713803469270148109241155827766295027822774785540920248711952012301777416082810946128233304424335176372993411382913962291621813435825877804295402836224346067701075709116979746792441223270714120274090918156417755881604912753716029828417480787661415945489167317422315593360846914179719532709526688934663359279558726947299300284754741712230160226268157323302556779137695843562057036908246460216773495957844701117502157588317074606458236118370054238469773694512448450262427340111457241572453592783795472355292443884647934760654507812138761967597335828962016512049229799735286380618247328481383515560759907450038213017155711133458610106254345325209051039632622133664392560627368750021479181553650210530711570205352102070681348986769569009918642956870531421140947426424315207062935905680804135915131018088868371932999815766708516655908338134830695284376045120039630912049162455536581118599922236871769199 501558803664386592735089781486791303254480657249679918037420120591941883485971885845351857625205849012957889878200626882859526898475808530441687513023713079725669879976057458850739992371094359964192487030499601260886613374084144979091329079609143739347635893361568572325351036398151588366897332285925972616541114960937614778155078731986665153949364104186424543860011526956266372560494346683400933109165735530840063963634721857477711778857784373802201783056173462503553850128605671447411200122079275278735638747519279757913074451494941736882935433712422474651505851641254817176198857528449919694947979349245277831157710651191031933388567575746908092324436275638542513422945383884331012294645280620497378472299215712467158568026924502307474604853446988420000810159649518198474266489370337809770385023205985310415113820637325464152766930658420297118105912920968935186762768248870684856737842052750103344958285502162587631769460514218133211418990511066218957901202567741524163492510184762046331810915130722530745125849411174464851591268323704599626132242217255674222676868186085968945617425648543392874188156670738069523598719610865594511594724046550721293927399794946959635139785170198062465708711961407743388240938776933255836029494097110140454320598682331528299969594878095460317190830835033487395418810811373462946143380361076189563995500890691443143905023812280948367952829814837559248329330810881263825437770861451568209639406970440740047266962934948859545884878086828947751045641227055048338368786372606900775939984986183882159937442070339825543893295793704298939266080448619750244162605164497968901609261493990881718552358044964199390248679786219068225796376437663729334869919495470355770430103688618025944149908420831901707602812647559614539781882176159173862928720391160872585103551616946612637627071362912427224322 811539191685712815156468501539353026140571138399993895694596320205773408932635003618044437973654677892636344221629387058256336671458027464063624689565101142717565007936279496033588793450343824649076719409290651402552908087286265142717905711562308615915597649451305470829940387520940810080438091661255193109352647346379532452281705517435961566588905756045044438016418694561266441713880980798015451247064201813221739708889023670499019555451627555522211809392324702736673854987903260986826729020795941034623789421604856256162332430327435640791248647142231693502862248545922964861948934867589095852240677194668126838554550729646739451727130272977280237595956233764227617638014722711137044923765694944296747901114336720166104497552944376834901476683920207537369910112549230661579962530588958556370015073509523283057049619972380048074738909264259240938735690452463779905253687883123710969494997358971738579446920320998678304229287228021602481567099752222046724196230390516309704412758896714058633588331213533476873359153835509641224584679706618561917754055653081552026972271022310315013318501357660372620980597894008783643872810529022012267476328959304437323755817275734621051085274337515484781302072808321923107773648303622190499388773655837087753620883437073240530129821146252783619747609972729330957475847719619923162916876318920890681497658479008517750363259930651002606422603509350007698591758150992721067010224454235363681994699414325387982027617442760998307852475422657909767557690456854783624749404619935382159455545746091332198150459226050959002503402048049624148317120081241883908555165791866718923088443047641092249263928250316301460930028772988637235715019394534260756010866921894670977493039594298830080065039438920770079535812463326323056437790514294004558213096436280912216015600779402149218745671285149298993521 1313097995350099407891558283026144329395051795649673813732016440797715292418606889463396295598860526905594234099830013941115863569933835994505312202588814222443234887912336954884328785821438184613269206439790252663439521461370410121809234791171452355263233542812874043155291423919092398447335423947181165725893762307317147230436784249422626720538269860231468981876430221517532814274375327481416384356229937344061803672523745527976731334309411929324413592448498165240227705116508932434237929142875216313359428169124136014075406881822377377674184080854654168154368100187177782038147792396039015547188656543913404669712261380837771385115697848724188329920392509402770131060960106595468057218410975564794126373413552432633263065579868879142376081537367195957370720272198748860054229019959296366140400096715508593472163440609705512227505839922679538056841603373432715092016456131994395826232839411721841924405205823161265935998747742239735692986090263288265682097432958257833867905269081476104965399246344256007618485003246684106076175948030323161543886297870337226249649139208396283958935927006203765495168754564746853167471530139887606779071053005855158617683217070681580686225059507713547247010784769729666496014587080555446335418267752947228207941482119404768830099416024348243936938440807762818352894658530993386109060256679997080245493159369699960894268283742931950974375433324187566946921088961873984892447995315686931891634106384766128029294580377709857853737353509486857518603331683909831963118190992542282935395530732275214358087901296390784546396697841753923087583200529861634152717770956364687824697704541631973967816286295280500851178708559207705461511395832197990090880786417365026747923143282916856024214947859752671787138625110885937596219672690453178421141816827441784801119152396348761856372742648061726217843 2124637187035812223048026784565497355535622934049667709426612761003488701351241893081440733572515204798230578321459400999372200241391863458568936892153915365160799895848616450917917579271782009262345925849080904065992429548656675264527140502733760971178831192264179513985231811440033208527773515608436358835246409653696679682718489766858588287127175616276513419892848916078799255988256308279431835603294139157283543381412769198475750889761039484846625401840822867976901560104412193421064658163671157347983217590728992270237739312149813018465432727996885861657230348733100746900096727263628111399429333738581531508266812110484510836842828121701468567516348743166997748698974829306605102142176670509090874274527889152799367563132813255977277558221287403494740630384747979521634191550548254922510415170225031876529213060582085560302244749186938778995577293825896494997270144015118106795727836770693580503852126144159944240228034970261338174553190015510312406293663348774143572318027978190163598987577557789484491844157082193747300760627736941723461640353523418778276621410230706598972254428363864138116149352458755636811344340668909619046547381965159595941439034346416201737310333845229032028312857578051589603788235384177636834807041408784315961562365556478009360229237170601027556686050780492149310370506250613309271977132998917970926990817848708478644631543673582953580798036833537574645512847112866705959458219769922295573628805799091516011322197820470856161589828932144767286161022140764615587867595612477665094851076478366546556238360522441743548900099889803547235900320611103518061272936748231406747786147589273066217080214545596802312108737332196342697226415226732250846891653339259697725416182877215686104279987298673441866674437574212260652657463204747182979354913263722697017134753175750911075118413933211025211364 3437735182385911630939585067591641684930674729699341523158629201801203993769848782544837029171375731703824812421289414940488063811325699453074249094742729587604034783760953405802246365093220193875615132288871156729431951010027085386336375293905213326442064735077053557140523235359125606975108939555617524561140171961013826913155274016281215007665445476507982401769279137596332070262631635760848219959524076501345347053936514726452482224070451414171038994289321033217129265220921125855302587306546373661342645759853128284313146193972190396139616808851540029811598448920278528938244519659667126946617990282494936177979073491322282221958525970425656897436741252569767879759934935902073159360587646073885000647941441585432630628712682135119653639758654599452111350656946728381688420570507551288650815266940540470001376501191791072529750589109618317052418897199329210089286600147112502621960676182415422428257331967321210176226782712501073867539280278798578088391096307031977440223297059666268564386823902045492110329160328877853376936575767264885005526651393756004526270549439102882931190355370067903611318107023502489978815870808797225825618434971014754559122251417097782423535393352942579275323642347781256099802822464733083170225309161731544169503847675882778190328653194949271493624491588254967663265164781606695381037389678915051172483977218408439538899827416514904555173470157725141592433936074740690851906215085609227465262912183857644040616778198180714015327182441631624804764353824674447550985786605019948030246607210641760914326261818832528095296797731557470323483521140965152213990707704596094572483852130905040184896500840877303163287445891404048158737811058930240937772439756624724473339326160132542128494935158426113653813062685098198248877135895200361400496730091164481818253905572099672931491156581272751429207 5562372369421723853987611852157139040466297663749009232585241962804692695121090675626277762743890936502055390742748815939860264052717562911643185986896644952764834679609569856720163944365002203137961058137952060795424380558683760650863515796638974297620895927341233071125755046799158815502882455164053883396386581614710506595873763783139803294792621092784495821662128053675131326250887944040280055562818215658628890435349283924928233113831490899017664396130143901194030825325333319276367245470217531009325863350582120554550885506122003414605049536848425891468828797653379275838341246923295238346047324021076467686245885601806793058801354092127125464953089995736765628458909765208678261502764316582975874922469330738231998191845495391096931197979942002946851981041694707903322612121055806211161230437165572346530589561773876632831995338296557096047996191025225705086556744162230609417688512953109002932109458111481154416454817682762412042092470294308890494684759655806121012541325037856432163374401459834976602173317411071600677697203504206608467167004917174782802891959669809481903444783733932041727467459482258126790160211477706844872165816936174350500561285763513984160845727198171611303636499925832845703591057848910720005032350570515860131066213232360787550557890365550299050310542368747116973635671032220004653014522677833022099474795067116918183531371090097858135971506991262716237946783187607396811364434855531523038891717982949160051938976018651570176917011373776392090925375965439063138853382217497613125097683689008307470564622341274271644196897621361017559383841752068670275263644452827501320269999720178106401976715386474105475396183223600390855964226285662491784664093095884422198755509037348228232774922457099555520487500259310458901534599099947544379851643354887178835388658747850584006609570514483776640571 9000107551807635484927196919748780725396972393448350755743871164605896688890939458171114791915266668205880203164038230880348327864043262364717435081639374540368869463370523262522410309458222397013576190426823217524856331568710846037199891090544187624062960662418286628266278282158284422477991394719671407957526753575724333509029037799421018302458066569292478223431407191271463396513519579801128275522342292159974237489285798651380715337901942313188703390419464934411160090546254445131669832776763904670668509110435248838864031700094193810744666345699965921280427246573657804776585766582962365292665314303571403864224959093129075280759880062552782362389831248306533508218844701110751420863351962656860875570410772323664628820558177526216584837738596602398963331698641436285011032691563357499812045704106112816531966062965667705361745927406175413100415088224554915175843344309343112039649189135524425360366790078802364592681600395263485909631750573107468583075855962838098452764622097522700727761225361880468712502477739949454054633779271471493472693656310930787329162509108912364834635139103999945338785566505760616768976082286504070697784251907189105059683537180611766584381120551114190578960142273614101803393880313643803175257659732247404300570060908243565740886543560499570543935033957002084636900835813826700034051912356748073271958772285525357722431198506612762691144977148987857830380719262348087663270649941140750504154630166806804092555754216832284192244193815408016895689729790113510689839168822517561155344290899650068384890884160106799739493695352918487882867362893033822489254352157423595892753851851083146586873216227351408638683629115004439014702037344592732722436532852509146672094835197480770361269857615525669174300562944408657150411734995147905780348373446051660653642564319950256938100727095756528069778 14562479921229359338914808771905919765863270057197359988329113127410589384012030133797392554659157604707935593906787046820208591916760825276360621068536019493133704142980093119242574253823224600151537248564775278320280712127394606688063406887183161921683856589759519699392033328957443237980873849883725291353913335190434840104902801582560821597250687662076974045093535244946594722764407523841408331085160507818603127924635082576308948451733433212206367786549608835605190915871587764408037078246981435679994372461017369393414917206216197225349715882548391812749256044227037080614927013506257603638712638324647871550470844694935868339561234154679907827342921244043299136677754466319429682366116279239836750492880103061896627012403672917313516035718538605345815312740336144188333644812619163710973276141271685163062555624739544338193741265702732509148411279249780620262400088471573721457337702088633428292476248190283519009136418078025897951724220867416359077760615618644219465305947135379132891135626821715445314675795151021054732330982775678101939860661228105570132054468778721846738079922837931987066253025988018743559136293764210915569950068843363455560244822944125750745226847749285801882596642199446947506984938162554523180290010302763264431636274140604353291444433926049869594245576325749201610536506846046704687066435034581095371433567352642275905962569596710620827116484140250574068327502449955484474635084796672273543046348149755964144494730235483854369161205189184408986615105755552573828692551040015174280441974588658375855455506501381071383690592974279505442251204645102492764517996610251097213023851571261252988849931613825514114079812338604829870666263630255224507100625948393568870850344234828998594044780072625224694788063203719116051946334095095450160200016800938839489031223067800840944710297610240304710349 23562587473036994823842005691654700491260242450645710744072984292016486072902969591968507346574424272913815797070825277700556919780804087641078056150175394033502573606350616381764984563281446997165113438991598495845137043696105452725263297977727349545746817252177806327658311611115727660458865244603396699311440088766159173613931839381981839899708754231369452268524942436218058119277927103642536606607502799978577365413920881227689663789635375525395071176969073770016351006417842209539706911023745340350662881571452618232278948906310391036094382228248357734029683290800694885391512780089219968931377952628219275414695803788064943620321114217232690189732752492349832644896599167430181103229468241896697626063290875385561255832961850443530100873457135207744778644438977580473344677504182521210785321845377797979594521687705212043555487193108907922248826367474335535438243432780916833496986891224157853652843038269085883601818018473289383861355971440523827660836471581482317918070569232901833618896852183595914027178272890970508786964762047149595412554317539036357461216977887634211572715061941931932405038592493779360328112376050714986267734320750552560619928360124737517329607968300399992461556784473061049310378818476198326355547670035010668732206335048847919032330977486549440138180610282751286247437342659873404721118347391329168643392339638167633628393768103323383518261461289238431898708221712303572137905734737813024047200978316562768237050484452316138561405399004592425882304835545666084518531719862532735435786265488308444240346390661487871123184288327197993325118567538136315253772348767674693105777703422344399575723147841176922752763441453609268885368300974847957229537158800902715542945179432309768955314637688150893869088626148127773202358069090243355940548390246990500142673787387751097882811024705996832780127 38125067394266354162756814463560620257123512507843070732402097419427075456914999725765899901233581877621751390977612324520765511697564912917438677218711413526636277749330709501007558817104671597316650687556373774165417755823500059413326704864910511467430673841937326027050344940073170898439739094487121990665353423956594013718834640964542661496959441893446426313618477681164652842042334627483944937692663307797180493338555963803998612241368808737601438963518682605621541922289429973947743989270726776030657254032469987625693866112526588261444098110796749546778939335027731966006439793595477572570090590952867146965166648483000811959882348371912598017075673736393131781574353633749610785595584521136534376556170978447457882845365523360843616909175673813090593957179313724661678322316801684921758597986649483142657077312444756381749228458811640431397237646724116155700643521252490554954324593312791281945319286459369402610954436551315281813080192307940186738597087200126537383376516368280966510032479005311359341854068041991563519295744822827697352414978767141927593271446666356058310794984779863919471291618481798103887248669814925901837684389593916016180173183068863268074834816049685794344153426672507996817363756638752849535837680337773933163842609189452272323775411412599309732426186608500487857973849505920109408184782425910264014825906990809909534356337700034004345377945429489005967035724162259056612540819534485297590247326466318732381545214687799992930566604193776834868919941301218658347224270902547909716228240076966820095801897162868942506874881301477498767369772183238808018290345377925790318801554993605652564573079455002436866843253792214098756034564605103181736637784749296284413795523667138767549359417760776118563876689351846889254304403185338806100748407047929339631705010455551938827521322316237137490476 61687654867303348986598820155215320748383754958488781476475081711443561529817969317734407247808006150535567188048437602221322431478369000558516733368886807560138851355681325882772543380386118594481764126547972270010554799519605512138590002842637861013177491094115132354708656551188898558898604339090518689976793512722753187332766480346524501396668196124815878582143420117382710961320261731126481544300166107775757858752476845031688276031004184262996510140487756375637892928707272183487450900294472116381320135603922605857972815018836979297538480339045107280808622625828426851397952573684697541501468543581086422379862452271065755580203462589145288206808426228742964426470952801179791888825052763033232002619461853833019138678327373804373717782632809020835372601618291305135022999820984206132543919832027281122251599000149968425304715651920548353646064014198451691138886954033407388451311484536949135598162324728455286212772455024604665674436163748464014399433558781608855301447085601182800128929331188907273369032340932962072306260506869977292764969296306178285054488424553990269883510046721795851876330210975577464215361045865640888105418710344468576800101543193600785404442784350085786805710211145569046127742575114951175891385350372784601896048944238300191356106388899148749870606796891251774105411192165793514129303129817239432658218246628977543162750105803357387863639406718727437865743945874562628750446554272298321637448304782881500618595699140116131491972003198369260751224776846884742865755990765080645152014505565275264336148287824356813630059169628675492092488339721375123272062694145600483424579258415950052140296227296179359619606695245823367641402865579951138966174943550198999956740703099448536504674055448927012432965315499974662456662472275582162041296797294919839774378797843303036710332347022233970270603 99812722261569703149355634618775941005507267466331852208877179130870636986732969043500307149041588028157318579026049926742087943175933913475955410587598221086775129105012035383780102197490790191798414814104346044175972555343105571551916707707548372480608164936052458381759001491262069457338343433577640680642146936679347201051601121311067162893627638018262304895761897798547363803362596358610426481992829415572938352091032808835686888272372993000597949104006438981259434850996702157435194889565198892411977389636392593483666681131363567558982578449841856827587561960856158817404392367280175114071559134533953569345029100754066567540085810961057886223884099965136096208045306434929402674420637284169766379175632832280477021523692897165217334691808482833925966558797605029796701322137785891054302517818676764264908676312594724807053944110732188785043301660922567846839530475285897943405636077849740417543481611187824688823726891575919947487516356056404201138030645981735392684823601969463766638961810194218632710886408974953635825556251692804990117384275073320212647759871220346328194305031501659771347621829457375568102609715680566789943103099938384592980274726262464053479277600399771581149863637818077042945106331753704025427223030710558535059891553427752463679881800311748059603032983499752261963385041671713623537487912243149696673044153619787452697106443503391392209017352148216443832779670036821685362987373806783619227695631249200233000140913827916124422538607392146095620144718148103401212980261667628554868242745642242084431950184987225756136934050930152990859858111904613931290353039523526273743380813409555704704869306751181796486449949038037466397437430185054320702812728299495284370536226766587304054033473209703130996842004851821551710966875460920968142045204342849179406083808298854975537853669338471107761079 161500377128873052135954454773991261753891022424820633685352260842314198516550938361234714396849594178692885767074487528963410374654302914034472143956485028646913980460693361266552645577876908786280178940652318314186527354862711083690506710550186233493785656030167590736467658042450968016236947772668159370618940449402100388384367601657591664290295834143078183477905317915930074764682858089736908026292995523348696210843509653867375164303377177263594459244494195356897327779703974340922645789859671008793297525240315199341639496150200546856521058788886964108396184586684585668802344940964872655573027678115039991724891553025132323120289273550203174430692526193879060634516259236109194563245690047202998381795094686113496160202020270969591052474441291854761339160415896334931724321958770097186846437650704045387160275312744693232358659762652737138689365675121019537978417429319305331856947562386689553141643935916279975036499346600524613161952519804868215537464204763344247986270687570646566767891141383125906079918749907915708131816758562782282882353571379498497702248295774336598077815078223455623223952040432953032317970761546207678048521810282853169780376269456064838883720384749857367955573848963646089072848906868655201318608381083343136955940497666052655035988189210896809473639780391004036068796233837507137666791042060389129331262400248764995859856549306748780072656758866943881698523615911384314113433928079081940865143936032081733618736612968032255914510610590515356371369494994988144078736252432709200020257251207517348768098472811582569766993220558828482952346451625989054562415733669126757167960071825505756845165534047361156106056644283860834038840295765005459668987671849694284327276929866035840558707528658630143429807320351796214167629347736503130183342001637769019180462606142158012248186016360705078031682 261313099390442755285310089392767202759398289891152485894229439973184835503283907404735021545891182206850204346100537455705498317830236827510427554544083249733689109565705396650332747775367698978078593754756664358362499910205816655242423418257734605974393820966220049118226659533713037473575291206245800051261087386081447589435968722968658827183923472161340488373667215714477438568045454448347334508285824938921634562934542462703062052575750170264192408348500634338156762630700676498357840679424869901205274914876707792825306177281564114415503637238728820935983746547540744486206737308245047769644586812648993561069920653779198890660375084511261060654576626159015156842561565671038597237666327331372764760970727518393973181725713168134808387166249774688687305719213501364728425644096555988241148955469380809652068951625339418039412603873384925923732667336043587384817947904605203275262583640236429970685125547104104663860226238176444560649468875861272416675494850745079640671094289540110333406852951577344538790805158882869343957373010255587272999737846452818710350008166994682926272120109725115394571573869890328600420580477226774467991624910221237762760650995718528892362997985149628949105437486781723132017955238622359226745831411793901672015832051093805118715869989522644869076672763890756298032181275509220761204278954303538826004306553868552448556962992810140172281674111015160325531303285948205999476421301885865560092839567281281966618877526795948380337049217982661451991514213143091545291716514100337754888499996849759433200048657798808325903927271488981473812204563530602985852768773192653030911340885235061461550034840798542952592506593321898300436277725950059780371800400149189568697813156632623144612741001868333274426649325203617765878596223197424098325387205980618198586546414441012987786039685699176185792761 422813476519315807421264544166758464513289312315973119579581700815499034019834845765969735942740776385543090113175024984668908692484539741544899698500568278380603090026398757916885393353244607764358772695408982672549027265068527738932930128807920839468179476996387639854694317576164005489812238978913959421880027835483547977820336324626250491474219306304418671851572533630407513332728312538084242534578820462270330773778052116570437216879127347527786867592994829695054090410404650839280486469284540909998572440117022992166945673431764661272024696027615785044379931134225330155009082249209920425217614490764033552794812206804331213780664358061464235085269152352894217477077824907147791800912017378575763142765822204507469341927733439104399439640691066543448644879629397699660149966055326085427995393120084855039229226938084111271771263636037663062422033011164606922796365333924508607119531202623119523826769483020384638896725584776969173811421395666140632212959055508423888657364977110756900174744092960470444870723908790785052089189768818369555882091417832317208052256462769019524349935187948571017795525910323281632738551238772982146040146720504090932541027265174593731246718369899486317061011335745369221090804145491014428064439792877244808971772548759857773751858178733541678550312544281760334100977509346727898871069996363927955335568954117317444416819542116888952354330869882104207229826901859590313589855229964947500957983503313363700237614139763980636251559828573176808362883708138079689370452766533046954908757248057276781968147130610390895670920492047809956764551015156592040415184506861779788079300957060567218395200374845904108698563237605759134475118021715065240040788071998883853025090086498658985171448530526963417856456645555413980046225570933927228508729207618387217767009020583171000034225702059881263824443 684126575909758562706574633559525667272687602207125605473811140788683869523118753170704757488631958592393294459275562440374407010314776569055327253044651528114292199592104154567218141128612306742437366450165647030911527175274344394175353547065655445442573297962607688972920977109877042963387530185159759473141115221564995567256305047594909318658142778465759160225239749344884951900773766986431577042864645401191965336712594579273499269454877517791979275941495464033210853041105327337638327148709410811203847354993730784992251850713328775687528333266344605980363677681766074641215819557454968194862201303413027113864732860583530104441039442572725295739845778511909374319639390578186389038578344709948527903736549722901442523653446607239207826806940841232135950598842899064388575610151882073669144348589465664691298178563423529311183867509422588986154700347208194307614313238529711882382114842859549494511895030124489302756951822953413734460890271527413048888453906253503529328459266650867233581597044537814983661529067673654396046562779073956828881829264285135918402264629763702450622055297673686412367099780213610233159131715999756614031771630725328695301678260893122623609716355049115266166448822527092353108759384113373654810271204671146480987604599853662892467728168256186547626985308172516632133158784855948660075348950667466781339875507985869892973782534927029124636004980897264532761130187807796313066276531850813061050823070594645666856491666559929016588609046555838260354397921281171234662169280633384709797257244907036215168195788409199221574847763536791430576755578687195026267953280054432818990641842295628679945235215644447061291069830927657434911395747665125020412588472148073421722903243131282129784189532395296692283105970759031745924821794131351326834116413599005416353555435024183987820265387759057449617204 1106940052429074370127839177726284131785976914523098725053392841604182903542953598936674493431372734977936384572450587425043315702799316310600226951545219806494895289618502912484103534481856914506796139145574629703460554440342872133108283675873576284910752774958995328827615294686041048453199769164073718895021143057048543545076641372221159810132362084770177832076812282975292465233502079524515819577443465863462296110490646695843936486334004865319766143534490293728264943451509978176918813617993951721202419795110753777159197524145093436959553029293960391024743608815991404796224901806664888620079815794177060666659545067387861318221703800634189530825114930864803591796717215485334180839490362088524291046502371927408911865581180046343607266447631907775584595478472296764048725576207208159097139741709550519730527405501507640582955131145460252048576733358372801230410678572454220489501646045482669018338664513144873941653677407730382908272311667193553681101412961761927417985824243761624133756341137498285428532252976464439448135752547892326384763920682117453126454521092532721974971990485622257430162625690536891865897682954772738760071918351229419627842705526067716354856434724948601583227460158272461574199563529604388082874710997548391289959377148613520666219586346989728226177297852454276966234136294202676558946418947031394736675444462103187337390602077043918076990335850779368739990957089667386626656131761815760562008806573908009367094105806323909652840168875129015068717281629419250924032622047166431664706014492964312997136342919019590117245768255584601387341306593843787066683137786916212607069942799356195898340435590490351169989633068533416569386513769380190260453376544146957274747993329629941114955638062922260110139562616314445725971047365065278555342845621217392634120564455607354987854491089818938713441647 1791066628338832932834413811285809799058664516730224330527203982392866773066072352107379250920004693570329679031726149865417722713114092879655554204589871334609187489210607067051321675610469221249233505595740276734372081615617216527283637222939231730353326072921603017800536271795918091416587299349233478368162258278613539112332946419816069128790504863235936992302052032320177417134275846510947396620308111264654261447203241275117435755788882383111745419475985757761475796492615305514557140766703362532406267150104484562151449374858422212647081362560304997005107286497757479437440721364119856814942017097590087780524277927971391422662743243206914826564960709376712966116356606063520569878068706798472818950238921650310354389234626653582815093254572749007720546077315195828437301186359090232766284090299016184421825584064931169894138998654882841034731433705580995538024991810983932371883760888342218512850559543269363244410629230683796642733201938720966729989866868015430947314283510412491367337938182036100412193782044138093844182315326966283213645749946402589044856785722296424425594045783295943842529725470750502099056814670772495374103689981954748323144383786960838978466151079997716849393908980799553927308322913717761737684982202219537770946981748467183558687314515245914773804283160626793598367295079058625219021767897698861518015319970089057230364384611970947201626340831676633272752087277475182939722408293666573623059629644502655033950597472883838669428777921684853329071679550700422158694791327799816374503271737871349212304538707428789338820616019121392817918062172530982092951091066970645426060584641651824578285670806134798231280702899461074004297909517045315280865965016295030696470896572761223244739827595317556802422668587073477471895869159196629882176962034816398050474119890631538975674756477577996163058851 2898006680767907302962252989012093930844641431253323055580596823997049676609025951044053744351377428548266063604176737290461038415913409190255781156135091141104082778829109979535425210092326135756029644741314906437832636055960088660391920898812808015264078847880598346628151566481959139869787068513307197263183401335662082657409587792037228938922866948006114824378864315295469882367777926035463216197751577128116557557693887970961372242122887248431511563010476051489740739944125283691475954384697314253608686945215238339310646899003515649606634391854265388029850895313748884233665623170784745435021832891767148447183822995359252740884447043841104357390075640241516557913073821548854750717559068886997109996741293577719266254815806699926422359702204656783305141555787492592486026762566298391863423832008566704152352989566438810477094129800343093083308167063953796768435670383438152861385406933824887531189224056414237186064306638414179551005513605914520411091279829777358365300107754174115501094279319534385840726035020602533292318067874858609598409670628520042171311306814829146400566036268918201272692351161287393964954497625545234134175608333184167950987089313028555333322585804946318432621369139072015501507886443322149820559693199767929060906358897080704224906900862235642999981581013081070564601431373261301777968186844730256254690764432192244567754986689014865278616676682456002012743044367142569566378540055482334185068436218410664401044703279207748322268946796813868397788961180119673082727413374966248039209286230835662209440881626448379456066384274705994205259368766374769159634228853886858033130527441008020476626106396625149401270335967994490573684423286425505541319341560441987971218889902391164359695465658239816912562231203387923197866916524261908437519807656033790684594684346238893963529247567396934876500498 4689073309106740235796666800297903729903305947983547386107800806389916449675098303151432995271382122118595742635902887155878761129027502069911335360724962475713270268039717046586746885702795357005263150337055183172204717671577305187675558121752039745617404920802201364428687838277877231286374367862540675631345659614275621769742534211853298067713371811242051816680916347615647299502053772546410612818059688392770819004897129246078807997911769631543256982486461809251216536436740589206033095151400676786014954095319722901462096273861937862253715754414570385034958181811506363671106344534904602249963849989357236227708100923330644163547190287048019183955036349618229524029430427612375320595627775685469928946980215228029620644050433353509237452956777405791025687633102688420923327948925388624629707922307582888574178573631369980371233128455225934118039600769534792306460662194422085233269167822167106044039783599683600430474935869097976193738715544635487141081146697792789312614391264586606868432217501570486252919817064740627136500383201824892812055420574922631216168092537125570826160082052214145115222076632037896064011312296317729508279298315138916274131473099989394311788736884944035282015278119871569428816209357039911558244675401987466831853340645547887783594215377481557773785864173707864162968726452319926996989954742429117772706084402281301798119371300985812480243017514132635285495131644617752506100948349148907808128065862913319434995300752091586991697724718498721726860640730820095241422204702766064413712557968707011421745420333877168794887000293827387023177430938905751252585319920857503459191112082659845054911777202759947632551038867455564577982332803470820822185306576737018667689786475152387604435293253557373714984899790461400669762785683458538319696769690850188735068804236870432939204004044974931039559349 7587079989874647538758919789309997660747947379236870441688397630386966126284124254195486739622759550666861806240079624446339799544940911260167116516860053616817353046868827026122172095795121492761292795078370089610037353727537393848067479020564847760881483768682799711056839404759836371156161436375847872894529060949937704427152122003890527006636238759248166641059780662911117181869831698581873829015811265520887376562591017217040180240034656879974768545496937860740957276380865872897509049536097991039623641040534961240772743172865453511860350146268835773064809077125255247904771967705689347684985682881124384674891923918689896904431637330889123541345111989859746081942504249161230071313186844572467038943721508805748886898866240053435659812658982062574330829188890181013409354711491687016493131754316149592726531563197808790848327258255569027201347767833488589074896332577860238094654574755991993575229007656097837616539242507512155744744229150550007552172426527570147677914499018760722369526496821104872093645852085343160428818451076683502410465091203442673387479399351954717226726118321132346387914427793325290028965809921862963642454906648323084225118562413017949645111322689890353714636647258943584930324095800362061378804368601755395892759699542628592008501116239717200773767445186788934727570157825581228774958141587159374027396848834473546365874357990000677758859694196588637298238176011760322072479488404631241993196502081323983836040004031299335313966671515312590124649601910939768324149618077732312452921844199542673631186301960325548250953384568533381228436799705280520412219548774744361492321639523667865531537883599385097033821374835450055151666756089896326363504648137179006638908676377543551964130758911797190627547130993849323867629702207720446757216577346883979419663488583109326902733251612371865916059847 12276153298981387774555586589607901390651253327220417827796198436776882575959222557346919734894141672785457548875982511602218560673968413330078451877585016092530623314908544072708918981497916849766555945415425272782242071399114699035743037142316887506498888689485001075485527243037713602442535804238388548525874720564213326196894656215743825074349610570490218457740697010526764481371885471128284441833870953913658195567488146463118988237946426511518025527983399669992173812817606462103542144687498667825638595135854684142234839446727391374114065900683406158099767258936761611575878312240593949934949532870481620902600024842020541067978827617937142725300148339477975605971934676773605391908814620257936967890701724033778507542916673406944897265615759468365356516821992869434332682660417075641122839676623732481300710136829178771219560386710794961319387368603023381381356994772282323327923742578159099619268791255781438047014178376610131938482944695185494693253573225362936990528890283347329237958714322675358346565669150083787565318834278508395222520511778365304603647491889080288052886200373346491503136504425363186092977122218180693150734204963462000499250035513007343956900059574834388996651925378815154359140305157401972937049044003742862724613040188176479792095331617198758547553309360496798890538884277901155771948096329588491800102933236754848163993729290986490239102711710721272583733307656378074578580436753780149801324567944237303271035304783390922305664396233811311851510242641759863565571822780498376866634402168249685052931722294202717045840384862360768251614230644186271664804868695601864951512751606327710586449660802145044666372413702905619729649088893367147185689954713916025306598462852695939568566052165354564342532030784310724537392487891178985076913347037734168154732292819979759841937255657346796955619196 19863233288856035313314506378917899051399200706457288269484596067163848702243346811542406474516901223452319355116062136048558360218909324590245568394445069709347976361777371098831091077293038342527848740493795362392279425126652092883810516162881735267380372458167800786542366647797549973598697240614236421420403781514151030624046778219634352080985849329738385098800477673437881663241717169710158270849682219434545572130079163680159168477981083391492794073480337530733131089198472335001051194223596658865262236176389645383007582619592844885974416046952241931164576336062016859480650279946283297619935215751606005577491948760710437972410464948826266266645260329337721687914438925934835463222001464830404006834423232839527394441782913460380557078274741530939687346010883050447742037371908762657615971430939882074027241700026987562067887644966363988520735136436511970456253327350142561422578317334151093194497798911879275663553420884122287683227173845735502245425999752933084668443389302108051607485211143780230440211521235426947994137285355191897632985602981807977991126891241035005279612318694478837891050932218688476121942932140043656793189111611785084724368597926025293602011382264724742711288572637758739289464400957764034315853412605498258617372739730805071800596447856915959321320754547285733618109042103482384546906237916747865827499782071228394529868087280987167997962405907309909881971483668138396651059925158411391794521070025561287107075308814690257619631067749123901976159844552699631889721440858230689319556246367792358684118024254528265296793769430894149480051030349466792077024417470346226443834391129995576117987544401530141700193788538355674881315844983263473549194602851095031945507139230239491532696811077151754970079161778160048405022190098899431834129924384618147574395781403089086744670507269718662871679043 32139386587837423087870092968525800442050454033677706097280794503940731278202569368889326209411042896237776903992044647650776920892877737920324020272030085801878599676685915171540010058790955192294404685909220635174521496525766791919553553305198622773879261147652801862027893890835263576041233044852624969946278502078364356820941434435378177155335459900228603556541174683964646144613602640838442712683553173348203767697567310143278156715927509903010819601463737200725304902016078797104593338911095326690900831312244329525242422066320236260088481947635648089264343594998778471056528592186877247554884748622087626480091973602730979040389292566763408991945408668815697293886373602708440855130816085088340974725124956873305901984699586867325454343890500999305043862832875919882074720032325838298738811107563614555327951836856166333287448031677158949840122505039535351837610322122424884750502059912310192813766590167660713710567599260732419621710118540920996938679572978296021658972279585455380845443925466455588786777190385510735559456119633700292855506114760173282594774383130115293332498519067825329394187436644051662214920054358224349943923316575247085223618633439032637558911441839559131707940498016573893648604706115166007252902456609241121341985779918981551592691779474114717868874063907782532508647926381383540318854334246336357627602715307983242693861816571973658237065117618031182465704791324516471229640361912191541595845637969798590378110613598081179925295463982935213827670087194459495455293263638729066186190648536042043737049746548730982342634154293254917731665260993653063741829286165948091395347142736323286704437205203675186366566202241261294610964933876630620734884557565011057252105602082935431101262863242506319312611192562470772942414677990078416911043271422352315729128074223068846586607762927065459827298239 52002619876693458401184599347443699493449654740134994366765390571104579980445916180431732683927944119690096259108106783699335281111787062510569588666475155511226576038463286270371101136083993534822253426403015997566800921652418884803364069468080358041259633605820602648570260538632813549639930285466861391366682283592515387444988212655012529236321309229966988655341652357402527807855319810548600983533235392782749339827646473823437325193908593294503613674944074731458435991214551132105644533134691985556163067488633974908250004685913081146062897994587890020428919931060795330537178872133160545174819964373693632057583922363441417012799757515589675258590668998153418981800812528643276318352817549918744981559548189712833296426482500327706011422165242530244731208843758970329816757404234600956354782538503496629355193536883153895355335676643522938360857641476047322293863649472567446173080377246461286008264389079539989374121020144854707304937292386656499184105572731229106327415668887563432452929136610235819226988711620937683553593404988892190488491717741981260585901274371150298612110837762304167285238368862740138336862986498268006737112428187032169947987231365057931160922824104283874419229070654332632938069107072930041568755869214739379959358519649786623393288227331030677190194818455068266126756968484865924865760572163084223455102497379211637223729903852960826235027523525341092347676274992654867880700287070602933390366707995359877485185922412771437544926531732059115803829931747159127345014704496959755505746894903834402421167770803259247639427923724149067211716291343119855818853703636294317839181533866318862822424749605205328066759990779616969492280778859894094284079160416106089197612741313174922633959674319658074282690354340630821347436868088977848745173195806970463303523855626157933331278270196784122698977282 84142006464530881489054692315969499935500108773812700464046185075045311258648485549321058893338987015927873163100151431350112202004664800430893608938505241313105175715149201441911111194874948727116658112312236632741322418178185676722917622773278980815138894753473404510598154429468077125681163330319486361312960785670879744265929647090390706391656769130195592211882827041367173952468922451387043696216788566130953107525213783966715481909836103197514433276407811932183740893230629929210237872045787312247063898800878304433492426752233317406151379942223538109693263526059573801593707464320037792729704712995781258537675895966172396053189050082353084250536077666969116275687186131351717173483633635007085956284673146586139198411182087195031465766055743529549775071676634890211891477436560439255093593646067111184683145373739320228642783708320681888200980146515582674131473971594992330923582437158771478822030979247200703084688619405587126926647410927577496122785145709525127986387948473018813298373062076691408013765902006448419113049524622592483343997832502154543180675657501265591944609356830129496679425805506791800551783040856492356681035744762279255171605864804090568719834265943843006127169568670906526586673813188096048821658325823980501301344299568768174985980006805145395059068882362850798635404894866249465184614906409420581082705212687194879917591720424934484472092641143372274813381066317171339110340648982794474986212345965158467863296536010852617470221995714994329631500018941618622800307968135688821691937543439876446158217517351990229982062078017403984943381552336772919560682989802242409234528676602642149526861954808880514433326193020878264103245712736524715018963717981117146449718343396110353735222537562164393595301546903101594289851546079056265656216467229322779032651929849226779917886033123849582526275521 136144626341224339890239291663413199428949763513947694830811575646149891239094401729752791577266931135617969422208258215049447483116451862941463197604980396824331751753612487712282212330958942261938911538715252630308123339830604561526281692241359338856398528359294007159168414968100890675321093615786347752679643069263395131710917859745403235627978078360162580867224479398769701760324242261935644679750023958913702447352860257790152807103744696492018046951351886663642176884445181061315882405180479297803226966289512279341742431438146398552214277936811428130122183457120369132130886336453198337904524677369474890595259818329613813065988807597942759509126746665122535257487998659994993491836451184925830937844221336298972494837664587522737477188220986059794506280520393860541708234840795040211448376184570607814038338910622474123998119384964204826561837787991629996425337621067559777096662814405232764830295368326740692458809639550441834231584703314233995306890718440754234313803617360582245751302198686927227240754613627386102666642929611484673832489550244135803766576931872415890556720194592433663964664174369531938888646027354760363418148172949311425119593096169148499880757090048126880546398639325239159524742920261026090390414195038719881260702819218554798379268234136176072249263700817919064762161863351115390050375478572504804537807710066406517141321624277895310707120164668713367161057341309826206991040936053397408376579053960518345348482458423624055015148527447053445435329950688777750145322672632648577197684438343710848579385288155249477621490001741553052155097843679892775379536693438536727073710210468961012349286704414085842500086183800495233595526491596418809303042878397223235647331084709285276369182211881822467877991901243732415637288414168034114401389663036293242336175785475384713249164303320633705225252803 220286632805755221379293983979382699364449872287760395294857760721195202497742887279073850470605918151545842585308409646399559685121116663372356806543485638137436927468761689154193323525833890989055569651027489263049445758008790238249199315014638319671537423112767411669766569397568967801002256946105834113992603854934274875976847506835793942019634847490358173079107306440136875712793164713322688375966812525044655554878074041756868289013580799689532480227759698595825917777675810990526120277226266610050290865090390583775234858190379715958365657879034966239815446983179942933724593800773236130634229390365256149132935714295786209119177857680295843759662824332091651533175184791346710665320084819932916894128894482885111693248846674717768942954276729589344281352197028750753599712277355479466541969830637718998721484284361794352640903093284886714762817934507212670556811592662552108020245251564004243652326347573941395543498258956028961158232114241811491429675864150279362300191565833601059049675260763618635254520515633834521779692454234077157176487382746290346947252589373681482501329551422563160644089979876323739440429068211252720099183917711590680291198960973239068600591355991969886673568207996145686111416733449122139212072520862700382562047118787322973365248240941321467308332583180769863397566758217364855234990384981925385620512922753601397058913344702829795179212805812085641974438407626997546101381585036191883362791399925676813211778994434476672485370523162047775066829969630396372945630640768337398889621981783587294737602805507239707603552079758957037098479396016665694940219683240779136308238887071603161876148659222966356933412376821373497698772204332943524322006596378340382097049428105395630104404749443986861473293448146834009927139960247090380057606130265616021368827715324611493167050336444483287751528324 356431259146979561269533275642795898793399635801708090125669336367345093736837289008826642047872849287163812007516667861449007168237568526313820004148466034961768679222374176866475535856792833250994481189742741893357569097839394799775481007255997658527935951472061418828934984365669858476323350561892181866672246924197670007687765366581197177647612925850520753946331785838906577473117406975258333055716836483958358002230934299547021096117325496181550527179111585259468094662120992051842002682406745907853517831379902863116977289628526114510579935815846394369937630440300312065855480137226434468538754067734731039728195532625400022185166665278238603268789570997214186790663183451341704157156536004858747831973115819184084188086511262240506420142497715649138787632717422611295307947118150519677990346015208326812759823194984268476639022478249091541324655722498842666982149213730111885116908065969237008482621715900682088002307898506470795389816817556045486736566582591033596613995183194183304800977459450545862495275129261220624446335383845561831008976932990426150713829521246097373058049746014996824608754154245855678329075095566013083517332090660902105410792057142387568481348446040096767219966847321384845636159653710148229602486715901420263822749938005877771744516475077497539557596283998688928159728621568480245285365863554430190158320632820007914200234968980725105886332970480799009135495748936823753092422521089589291739370453886195158560261452858100727500519050609101220502159920319174123090953313400985976087306420127298143316988093662489185225042081500510089253577239696558470319756376679315863381949097540564174225435363637052199433498560621868731294298695929362333625049474775563617744380512814680906473586961325809329351285349390566425564428374415124494458995793301909263705003500799996206416214639765116992976781127 576717891952734782648827259622178598157849508089468485420527097088540296234580176287900492518478767438709654592825077507848566853358685189686176810691951673099205606691135866020668859382626724240050050840770231156407014855848185038024680322270635978199473374584828830498701553763238826277325607507998015980664850779131944883664612873416991119667247773340878927025439092279043453185910571688581021431683649009003013557109008341303889385130906295871083007406871283855294012439796803042368122959633012517903808696470293446892212147818905830468945593694881360609753077423480254999580073937999670599172983458099987188861131246921186231304344522958534447028452395329305838323838368242688414822476620824791664726102010302069195881335357936958275363096774445238483068984914451362048907659395505999144532315845846045811481307479346062829279925571533978256087473657006055337538960806392663993137153317533241252134948063474623483545806157462499756548048931797856978166242446741312958914186749027784363850652720214164497749795644895055146226027838079638988185464315736716497661082110619778855559379297437559985252844134122179417769504163777265803616516008372492785701991018115626637081939802032066653893535055317530531747576387159270368814559236764120646384797056793200745109764716018819006865928867179458791557295379785845100520356248536355575778833555573609311259148313683554901065545776292884651109934156563821299193804106125781175102161853811871971772040447292577399985889573771148995568989889949570496036583954169323374976928401910885438054590899169728892828594161259467126352056635713224165259976059920094999690187984612167336101584022860018556366910937443242228993070900262305857947056071153903999841429940920076536577991710769796190824578797537400435491568334662214874516601923567525285073831216124607699583264976209600280728309451 933149151099714343918360535264974496951249143891176575546196433455885389971417465296727134566351616725873466600341745369297574021596253715999996814840417708060974285913510042887144395239419557491044532030512973049764583953687579837800161329526633636727409326056890249327636538128908684753648958069890197847337097703329614891352378239998188297314860699191399680971770878117950030659027978663839354487400485492961371559339942640850910481248231792052633534585982869114762107101917795094210125642039758425757326527850196310009189437447431944979525529510727754979690707863780567065435554075226105067711737525834718228589326779546586253489511188236773050297241966326520025114501551694030118979633156829650412558075126121253280069421869199198781783239272160887621856617631873973344215606513656518822522661861054372624241130674330331305918948049783069797412129379504898004521110020122775878254061383502478260617569779375305571548114055968970551937865749353902464902809029332346555528181932221967668651630179664710360245070774156275770672363221925200819194441248727142648374911631865876228617429043452556809861598288368035096098579259343278887133848099033394891112783075258014205563288248072163421113501902638915377383736040869418598417045952665540910207546994799078516854281191096316546423525151178147719717024001354325345805722112090785765937154188393617225459383282664280006951878746773683660245429905500645052286226627215370466841532307698067130332301900150678127486408624380250216071149810268744619127537267570309351064234822038183581371578992832218078053636242759977215605633875409782635579732436599410863072137082152731510327019386497070755800409498065110960287369596191668191572105545929467617585810453734757443051578672095605520175864146927966861055996709077339368975597716869434548778834716924603905999479615974717273705090578 1509867043052449126567187794887153095109098651980645060966723530544425686205997641584627627084830384164583121193166822877146140874954938905686173625532369381160179892604645908907813254622046281731094582871283204206171598809535764875824841651797269614926882700641719079826338091892147511030974565577888213828001948482461559775016991113415179416982108472532278607997209970396993483844938550352420375919084134501964385116448950982154799866379138087923716541992854152970056119541714598136578248601672770943661135224320489756901401585266337775448471123205609115589443785287260822065015628013225775666884720983934705417450458026467772484793855711195307497325694361655825863438339919936718533802109777654442077284177136423322475950757227136157057146336046606126104925602546325335393123265909162517967054977706900418435722438153676394135198873621317048053499603036510953342060070826515439871391214701035719512752517842849929055093920213431470308485914681151759443069051476073659514442368681249752032502282899878874857994866419051330916898391060004839807379905564463859146035993742485655084176808340890116795114442422490214513868083423120544690750364107405887676814774093373640842645228050104230075007036957956445909131312428028688967231605189429661556592344051592279261964045907115135553289454018357606511274319381140170446326078360627141341715987743967226536718531596347834908017424523066568311355364062064466351480030733341151641943694161509939102104342347443255527472298198151399211640139700218315115164121221739632726041163223949069019426169892001946970882230404019444341957690511123006800839708496519505862762325066764898846428603409357089312167320435508353189280440496453974049519161617083371617427240394654833979629570382865401711000442944465367296547565043739554243492199640436959833852665933049211605582744592184317554433400029 2443016194152163470485548330152127592060347795871821636512919964000311076177415106881354761651182000890456587793508568246443714896551192621686170440372787089221154178518155951794957649861465839222139114901796177255936182763223344713625002981323903251654292026698609329153974630021056195784623523647778411675339046185791174666369369353413367714296969171723678288968980848514943514503966529016259730406484619994925756675788893623005710347627369879976350076578837022084818226643632393230788374243712529369418461752170686066910591022713769720427996652716336870569134493151041389130451182088451880734596458509769423646039784806014358738283366899432080547622936327982345888552841471630748652781742934484092489842252262544575756020179096335355838929575318767013726782220178199308737338872422819036789577639567954791059963568828006725441117821671100117850911732416015851346581180846638215749645276084538197773370087622225234626642034269400440860423780430505661907971860505406006069970550613471719701153913079543585218239937193207606687570754281930040626574346813191001794410905374351531312794237384342673604976040710858249609966662682463823577884212206439282567927557168631655048208516298176393496120538860595361286515048468898107565648651142095202466799891046391357778818327098211452099712979169535754230991343382494495792131800472717927107653141932360843762177914879012114914969303269840251971600793967565111403766257360556522108785226469208006232436644247593933654958706822531649427711289510487059734291658489309942077105398045987252600797748884834165048935866646779421557563324386532789436419440933118916725834462148917630356755622795854160067967729933573464149567810092645642241091267163012839235013050848389591422681149054961007231176307091393334157603561752816893612467797357306394382631500649973815511582224208159034828138490607 3952883237204612597052736125039280687169446447852466697479643494544736762383412748465982388736012385055039708986675391123589855771506131527372344065905156470381334071122801860702770904483512120953233697773079381462107781572759109589449844633121172866581174727340328408980312721913203706815598089225666625503340994668252734441386360466828547131279077644255956896966190818911936998348905079368680106325568754496890141792237844605160510214006507967900066618571691175054874346185346991367366622845385300313079596976491175823811992607980107495876467775921945986158578278438302211195466810101677656401481179493704129063490242832482131223077222610627388044948630689638171751991181391567467186583852712138534567126429398967898231970936323471512896075911365373139831707822724524644130462138331981554756632617274855209495686006981683119576316695292417165904411335452526804688641251673153655621036490785573917286122605465075163681735954482831911168909695111657421351040911981479665584412919294721471733656195979422460076234803612258937604469145341934880433954252377654860940446899116837186396971045725232790400090483133348464123834746105584368268634576313845170244742331262005295890853744348280623571127575818551807195646360896926796532880256331524864023392235097983637040782373005326587653002433187893360742265662763634666238457878833345068449369129676328070298896446475359949822986727792906820282956158029629577755246288093897673750728920630717945334540986595037189182431005020683048639351429210705374849455779711049574803146561269936321620223918776836112019818097050798865899521014897655796237259149429638422588596787215682529203184226205211249380135050369081817338848250589099616290610428780096210852440291243044425402310719437826408942176750035858701454151126796556447855959996997743354216484166583023027117164968800343352382571890636 6395899431356776067538284455191408279229794243724288333992563458545047838560827855347337150387194385945496296780183959370033570668057324149058514506277943559602488249640957812497728554344977960175372812674875558718043964335982454303074847614445076118235466754038937738134287351934259902600221612873445037178680040854043909107755729820241914845576046815979635185935171667426880512852871608384939836732053374491815898468026738228166220561633877847876416695150528197139692572828979384598154997089097829682498058728661861890722583630693877216304464428638282856727712771589343600325917992190129537136077638003473552709530027638496489961360589510059468592571567017620517640544022863198215839365595646622627056968681661512473987991115419806868735005486684140153558490042902723952867801010754800591546210256842810000555649575809689845017434516963517283755323067868542656035222432519791871370681766870112115059492693087300398308377988752232352029333475542163083259012772486885671654383469908193191434810109058966045294474740805466544292039899623864921060528599190845862734857804491188717709765283109575464005066523844206713733801408788048191846518788520284452812669888430636950939062260646457017067248114679147168482161409365824904098528907473620066490192126144374994819600700103538039752715412357429114973257006146129162030589679306062995557022271608688914061074361354372064737956031062747072254556951997194689159012545454454195859514147099925951566977630842631122837389711843214698067062718721192434583747438200359516880251959315923574221021667661670277068753963697578287457084339284188585673678590362757339314431249364600159559939849001065409448102780302655281488416060681745258531701695943109050087453342091434016824991868492787416173353057127252035611754688549373341468427794355049748599115667232996842628747193008502387210710381243 10348782668561388664591020580230688966399240691576755031472206953089784600944240603813319539123206771000536005766859350493623426439563455676430858572183100029983822320763759673200499458828490081128606510447954940180151745908741563892524692247566248984816641481379266147114600073847463609415819702099111662682021035522296643549142090287070461976855124460235592082901362486338817511201776687753619943057622128988706040260264582833326730775640385815776483313722219372194566919014326375965521619934483129995577655705153037714534576238673984712180932204560228842886291050027645811521384802291807193537558817497177681773020270470978621184437812120686856637520197707258689392535204254765683025949448358761161624095111060480372219962051743278381631081398049513293390197865627248596998263149086782146302842874117665210051335582791372964593751212255934449659734403321069460723863684192945526991718257655686032345615298552375561990113943235064263198243170653820504610053684468365337238796389202914663168466305038388505370709544417725481896509044965799801494482851568500723675304703608025904106736328834808254405157006977555177857636154893632560115153364834129623057412219692642246829916004994737640638375690497698975677807770262751700631409163805144930513584361242358631860383073108864627405717845545322475715522668909763828269047558139408064006391401285016984359970807829732014560942758855653892537513110026824266914258833548351869610243067730643896901518617437668312019820716863897746706414147931897809433203217911409091683398520585859895841245586438506389088572060748377153356605354181844381910937739792395761903028036580282688763124075206276658828237830671737098827264311270844874822312124723205260939893633334478442227302587930613825115529807163110737065905815345929789324387791352793102815599833816019869745912161808845739593282271879 16744682099918164732129305035422097245629034935301043365464770411634832439505068459160656689510401156946032302547043309863656997107620779825489373078461043589586310570404717485698228013173468041303979323122830498898195710244724018195599539862011325103052108235418203885248887425781723512016041314972556699860701076376340552656897820107312376822431171276215227268836534153765698024054648296138559779789675503480521938728291321061492951337274263663652900008872747569334259491843305760563676617023580959678075714433814899605257159869367861928485396633198511699614003821616989411847302794481936730673636455500651234482550298109475111145798401630746325230091764724879207033079227117963898865315044005383788681063792721992846207953167163085250366086884733653446948687908529972549866064159841582737849053130960475210606985158601062809611185729219451733415057471189612116759086116712737398362400024525798147405107991639675960298491931987296615227576646195983587869066456955251008893179859111107854603276414097354550665184285223192026188548944589664722555011450759346586410162508099214621816501611944383718410223530821761891591437563681680751961672153354414075870082108123279197768978265641194657705623805176846144159969179628576604729938071278764997003776487386733626679983773212402667158433257902751590688779675055892990299637237445471059563413672893705898421045169184104079298898789918400964792070062024018956073271379002806065469757214830569848468496248280299434857210428707112444773476866653090244016950656111768608563650479901783470062267254100176666157326024445955440813689693466032967584616330155153101217459285944882848323063924207342068276340610974392380315680371952590133354013820666314311027346975425912459052294456423401241288882864290362772677660503895303130792815585707842851414715501049016712374659354817348126803992653122 27093464768479553396720325615652786212028275626877798396936977364724617040449309062973976228633607927946568308313902660357280423547184235501920231650644143619570132891168477158898727472001958122432585833570785439078347456153465582088124232109577574087868749716797470032363487499629187121431861017071668362542722111898637196206039910394382838799286295736450819351737896640104515535256424983892179722847297632469227978988555903894819682112914649479429383322594966941528826410857632136529198236958064089673653370138967937319791736108041846640666328837758740542500294871644635223368687596773743924211195272997828916255570568580453732330236213751433181867611962432137896425614431372729581891264492364144950305158903782473218427915218906363631997168282783166740338885774157221146864327308928364884151896005078140420658320741392435774204936941475386183074791874510681577482949800905682925354118282181484179750723290192051522288605875222360878425819816849804092479120141423616346131976248314022517771742719135743056035893829640917508085057989555464524049494302327847310085467211707240525923237940779191972815380537799317069449073718575313312076825518188543698927494327815921444598894270635932298343999495674545119837776949891328305361347235083909927517360848629092258540366846321267294564151103448074066404302343965656818568684795584879123569805074178722882781015977013836093859841548774054857329583172050843222987530212551157935080000282561213745370014865717967746877031145571010191479891014584988053450153874023177700247049000487643365903512840538683055245898085194332594170295047647877349495554069947548863120487322525165537086187999413618727104578441646129479142944683223435008176325945389519571967240608760390901279597044354015066404412671453473509743566319241232920117203377060635954230315334865036582120571516626193866397274925001 43838146868397718128849630651074883457657310562178841762401747776359449479954377522134632918144009084892600610860945970220937420654805015327409604729105187209156443461573194644596955485175426163736565156693615937976543166398189600283723771971588899190920857952215673917612374925410910633447902332044225062403423188274977748862937730501695215621717467012666046620574430793870213559311073280030739502636973135949749917716847224956312633450188913143082283331467714510863085902700937897092874853981645049351729084572782836925048895977409708569151725470957252242114298693261624635215990391255680654884831728498480150738120866689928843476034615382179507097703727157017103458693658490693480756579536369528738986222696504466064635868386069448882363255167516820187287573682687193696730391468769947622000949136038615631265305899993498583816122670694837916489849345700293694242035917618420323716518306707282327155831281831727482587097807209657493653396463045787680348186598378867355025156107425130372375019133233097606701078114864109534273606934145129246604505753087193896495629719806455147739739552723575691225604068621078961040511282256994064038497671542957774797576435939200642367872536277126956049623300851391263997746129519904910091285306362674924521137336015825885220350619533669961722584361350825657093082019021549808868322033030350183133218747072428781202061146197940173158740338692455822121653234074862179060801591553964000549757497391783593838511113998267181734241574278122636253367881238078297467104530134946308810699480389426835965780094638859721403224109640288034983984741113910317080170400102701964337946608470048385409251923620960795380919052620521859458625055176025141530339766055833882994587584186303360331891500777416307693295535743836282421226823136536050910018962768478805645030835914053294495230871443541993201267578123 70931611636877271525569956266727669669685586189056640159338725141084066520403686585108609146777617012839168919174848630578217844201989250829329836379749330828726576352741671803495682957177384286169150990264401377054890622551655182371848004081166473278789607669013143949975862425040097754879763349115893424946145300173614945068977640896078054421003762749116865972312327433974729094567498263922919225484270768418977896705403128851132315563103562622511666654062681452391912313558570033622073090939709139025382454711750774244840632085451555209818054308715992784614593564906259858584677988029424579096027001496309066993691435270382575806270829133612688965315689589154999884308089863423062647844028733673689291381600286939283063783604975812514360423450299986927626459456844414843594718777698312506152845141116756051923626641385934358021059612170224099564641220210975271724985718524103249070636588888766506906554572023779004875703682432018372079216279895591772827306739802483701157132355739152890146761852368840662736971944505027042358664923700593770654000055415041206581096931513695673662977493502767664040984606420396030489585000832307376115323189731501473725070763755122086966766806913059254393622796525936383835523079411233215452632541446584852038498184644918143760717465854937256286735464798899723497384362987206627437006828615229306703023821251151663983077123211776267018581887466510679451236406125705402048331804105121935629757779952997339208525979716234928611272719849132827733258895823066350917258404158124009057748480877070201869292935177542776649122194834620629154279788761787666575724470050250827458433930995213922495439923034579522485497494266651338601569738399460149706665711445353454961828192946694261611488545131431374097708207197309792164793142377768971027222339829114759875346170779089876615802388069735859598542503124 114769758505274989654419586917802553127342896751235481921740472917443516000358064107243242064921626097731769530035794600799155264856794266156739441108854518037883019814314866448092638442352810449905716146958017315031433788949844782655571776052755372469710465621228817867588237350451008388327665681160118487349568488448592693931915371397773270042721229761782912592886758227844942653878571543953658728121243904368727814422250353807444949013292475765593949985530395963254998216259507930714947944921354188377111539284533611169889528062861263778969779779673245026728892258167884493800668379285105233980858729994789217731812301960311419282305444515792196063019416746172103343001748354116543404423565103202428277604296791405347699651991045261396723678617816807114914033139531608540325110246468260128153794277155371683188932541379432941837182282865062016054490565911268965967021636142523572787154895596048834062385853855506487462801489641675865732612742941379453175493338181351056182288463164283262521780985601938269438050059369136576632271857845723017258505808502235103076726651320150821402717046226343355266588675041474991530096283089301440153820861274459248522647199694322729334639343190186210443246097377327647833269208931138125543917847809259776559635520660744028981068085388607218009319826149725380590466382008756436305328861645579489836242568323580445185138269409716440177322226158966501572889640200567581109133395659085936179515277344780933047037093714502110345514294127255463986626777061144648384362934293070317868447961266497037835073029816402498052346304474908664138264529875697983655894870152952791796380539465262307904691846655540317866416546887173198060194793575485291237005477501187337956415777132997621943380045908847681791003742941146074586019965514305021937241302597593565520377006693143171111033259513277852799810081247 185701370142152261179989543184530222797028482940292122081079198058527582520761750692351851211699243110570938449210643231377373109058783516986069277488603848866609596167056538251588321399530194736074867137222418692086324411501499965027419780133921845748500073290241961817564099775491106143207429030276011912295713788622207639000893012293851324463724992510899778565199085661819671748446069807876577953605514672787705711127653482658577264576396038388105616639593077415646910529818077964337021035861063327402493993996284385414730160148312818988787834088389237811343485823074144352385346367314529813076885731491098284725503737230693995088576273649404885028335106335327103227309838217539606052267593836876117568985897078344630763435596021073911084102068116794042540492596376023383919829024166572634306639418272127735112559182765367299858241895035286115619131786122244237692007354666626821857791484484815340968940425879285492338505172073694237811829022836971226002800077983834757339420818903436152668542837970778932175022003874163618990936781546316787912505863917276309657823582833846495065694539729111019307573281461871022019681283921608816269144051005960722247717963449444816301406150103245464836868893903264031668792288342371340996550389255844628598133705305662172741785551243544474296055290948625104087850744995963063742335690260808796539266389574732109168215392621492707195904113625477181024126046326272983157465199764207871809273057297778272255563073430737038956787013976388291719885672884210999301621338451194326926196442143567239704365964993945274701468499309529293292544318637485650231619340203203619254814470460476230400131769690119840351914041153824536661764531974945440943671188946540792918243970079691883554868591040279055888711950138455866750813107892073992964463642426708325395723177472233047726835647583013712398352584371 300471128647427250834409130102332775924371379691527604002819670975971098521119814799595093276620869208302707979246437832176528373915577783142808718597458366904492615981371404699680959841883005185980583284180436007117758200451344747682991556186677218218210538911470779685152337125942114531535094711436130399645282277070800332932808383691624594506446222272682691158085843889664614402324641351830236681726758577156433525549903836466022213589688514153699566625123473378901908746077585895051968980782417515779605533280817996584619688211174082767757613868062482838072378081242028846186014746599635047057744461485887502457316039191005414370881718165197081091354523081499206570311586571656149456691158940078545846590193869749978463087587066335307807780685933601157454525735907631924244939270634832762460433695427499418301491724144800241695424177900348131673622352033513203659028990809150394644946380080864175031326279734791979801306661715370103544441765778350679178293416165185813521709282067719415190323823572717201613072063243300195623208639392039805171011672419511412734550234153997316468411585955454374574161956503346013549777567010910256422964912280419970770365163143767545636045493293431675280114991280591679502061497273509466540468237065104405157769225966406201722853636632151692305375117098350484678317127004719500047664551906388286375508957898312554353353662031209147373226339784443682597015686526840564266598595423293807988788334642559205302600167145239149302301308103643755706512449945355647685984272744264644794644403410064277539438994810347772753814803784437957430808848513183633887514210356156411051195009925738538304823616345660158218330588040997734721959325550430732180676666447728130874659747212689505498248636949126737679715693079601941336833073406379014901704945024301890916100184165376218837868907096291565198162665618 486172498789579512014398673286862998721399862631819726083898869034498681041881565491946944488320112318873646428457081063553901482974361300128877996086062215771102212148427942951269281241413199922055450421402854699204082611952844712710411336320599063966710612201712741502716436901433220674742523741712142311940996065693007971933701395985475918970171214783582469723284929551484286150770711159706814635332273249944139236677557319124599478166084552541805183264716550794548819275895663859388990016643480843182099527277102381999349848359486901756545447956451720649415863904316173198571361113914164860134630192976985787182819776421699409459457991814601966119689629416826309797621424789195755508958752776954663415576090948094609226523183087409218891882754050395199995018332283655308164768294801405396767073113699627153414050906910167541553666072935634247292754138155757441351036345475777216502737864565679516000266705614077472139811833789064341356270788615321905181093494149020570861130100971155567858866661543496133788094067117463814614145420938356593083517536336787722392373816987843811534106125684565393881735237965217035569458850932519072692108963286380693018083126593212361937451643396677140116983885183855711170853785615880807537018626320949033755902931272068374464639187875696166601430408046975588766167872000682563790000242167197082914775347473044663521569054652701854569130453409920863621141732853113547424063795187501679798061391940337477558163240575976188259088322080032047426398122829566646987605611195458971720840845553631517243804959804293047455283303093967250723353167150669284119133550559360030306009480386214768704955386035779998570244629194822271383723857525376173124347855394268923792903717292381389053117227989405793568427643218057808087646181298453007866168587451010216311823361637609266564704554679305277596515249989 786643627437006762848807803389195774645771242323347330086718540010469779563001380291542037764940981527176354407703518895730429856889939083271686714683520582675594828129799347650950241083296205108036033705583290706321840812404189460393402892507276282184921151113183521187868774027375335206277618453148272711586278342763808304866509779677100513476617437056265160881370773441148900553095352511537051317059031827100572762227461155590621691755773066695504749889840024173450728021973249754440958997425898358961705060557920378583969536570660984524303061824514203487488241985558202044757375860513799907192374654462873289640135815612704823830339709979799047211044152498325516367933011360851904965649911717033209262166284817844587689610770153744526699663439983996357449544068191287232409707565436238159227506809127126571715542631054967783249090250835982378966376490189270645010065336284927611147684244646543691031592985348869451941118495504434444900712554393672584359386910314206384382839383038874983049190485116213335401166130360764010237354060330396398254529208756299135126924051141841128002517711640019768455897194468563049119236417943429329115073875566800663788448289736979907573497136690108815397098876464447390672915282889390274077486863386053438913672157238474576187492824507847858906805525145326073444484999005402063837664794073585369290284305371357217874922716683911001942356793194364546218157419379954111690662390610795487786849726582896682860763407721215337561389630183675803132910572774922294673589883939723616515485248963695794783243954614640820209098106878405208154162015663852918006647760915516441357204490311953307009779002381440156788575217235820006105683183075806905305024521841997054667563464505070894551365864938532531248143336297659749424479254704832022767873532475312107227923545802985485402573461775596842794677915607 1272816126226586274863206476676058773367171104955167056170617409044968460604882945783488982253261093846050000836160599959284331339864300383400564710769582798446697040278227290602219522324709405030091484126986145405525923424357034173103814228827875346151631763314896262690585210928808555881020142194860415023527274408456816276800211175662576432446788651839847630604655702992633186703866063671243865952391305077044711998905018474715221169921857619237309933154556574967999547297868913613829949014069379202143804587835022760583319384930147886280848509780965924136904105889874375243328736974427964767327004847439859076822955592034404233289797701794401013330733781915151826165554436150047660474608664493987872677742375765939196916133953241153745591546194034391557444562400474942540574475860237643555994579922826753725129593537965135324802756323771616626259130628345028086361101681760704827650422109212223207031859690962946924080930329293498786256983343008994489540480404463226955243969484010030550908057146659709469189260197478227824851499481268752991338046745093086857519297868129684939536623837324585162337632432433780084688695268875948401807182838853181356806531416330192269510948780086785955514082761648303101843769068505271081614505489707002472669575088510542950652132012383544025508235933192301662210652871006084627627665036240782452205059652844401881396491771336612856511487246604285409839299152233067659114726185798297167584911118523234160418926648297191525820477952263707850559308695604488941661195495135182588236326094517327312027048914418933867664381409972372458877515182814522202125781311474876471663213970698168075714734388417220155358819846430642277489407040601183078429372377236265978460467181797452283604483092927938324816570979515717557512125436003285030634042119926322323539746907440594751967278016454902120391193165596 2059459753663593037712014280065254548012942347278514386257335949055438240167884326075031020018202075373226355243864118855014761196754239466672251425453103381122291868408026638253169763408005610138127517832569436111847764236761223633497217121335151628336552914428079783878453984956183891087297760648008687735113552751220624581666720955339676945923406088896112791486026476433782087256961416182780917269450336904145284761132479630305842861677630685932814683044396599141450275319842163368270908011495277561105509648392943139167288921500808870805151571605480127624392347875432577288086112834941764674519379501902732366463091407647109057120137411774200060541777934413477342533487447510899565440258576211021081939908660583783784605744723394898272291209634018387914894106468666229772984183425673881715222086731953880296845136169020103108051846574607599005225507118534298731371167018045632438798106353858766898063452676311816376022048824797933231157695897402667073899867314777433339626808867048905533957247631775922804590426327838991835088853541599149389592575953849385992646221919271526067539141548964604930793529626902343133807931686819377730922256714419982020594979706067172177084445916776894770911181638112750492516684351394661355691992353093055911583247245749017526839624836891391884415041458337627735655137870011486691465329830314367821495343958215759099271414488020523858453844039798649956057456571613021770805388576409092655371760845106130843279690056018406863381867582447383653692219268379411236334785379074906204751811343481023106810292869033574687873479516850777667031677198478375120132429072390392913020418461010121382724513390798660312147395063666462283595090223676989983734396899078263033128030646302523178155848957866470856064714315813377306936604690708117053401915652401634430767670453243580237369851478230498963185871081203 3332275879890179312575220756741313321380113452233681442427953358100406700772767271858520002271463169219276356080024718814299092536618539850072816136222686179568988908686253928855389285732715015168219001959555581517373687661118257806601031350163026974488184677742976046569039195884992446968317902842869102758640827159677440858466932131002253378370194740735960422090682179426415273960827479854024783221841641981189996760037498105021064031599488305170124616198953174109449822617711076982100857025564656763249314236227965899750608306430956757086000081386446051761296453765306952531414849809369729441846384349342591443286046999681513290409935113568601073872511716328629168699041883660947225914867240705008954617651036349722981521878676636052017882755828052779472338668869141172313558659285911525271216666654780634021974729706985238432854602898379215631484637746879326817732268699806337266448528463070990105095312367274763300102979154091432017414679240411661563440347719240660294870778351058936084865304778435632273779686525317219659940353022867902380930622698942472850165519787401211007075765386289190093131162059336123218496626955695326132729439553273163377401511122397364446595394696863680726425264399761053594360453419899932437306497842800058384252822334259560477491756849274935909923277391529929397865790741017571319092994866555150273700403611060160980667906259357136714965331286402935365896755723846089429920114762207389822956671963629365003698616704315598389202345534711091504251527963983900177995980874210088792988137437998350418837341783452508555537860926823150125909192381292897322258210383865269384683632431708289458439247779215880467506214910097104561084497264278173062163769276314529011588497828099975461760332050794409180881285295329094864448730126711402084035957772327956754307417360684174989337129494685401083577064246799 5391735633553772350287235036806567869393055799512195828685289307155844940940651597933551022289665244592502711323888837669313853733372779316745067561675789560691280777094280567108559049140720625306346519792125017629221451897879481440098248471498178602824737592171055830447493180841176338055615663490877790493754379910898065440133653086341930324293600829632073213576708655860197361217788896036805700491291978885335281521169977735326906893277118991102939299243349773250900097937553240350371765037059934324354823884620909038917897227931765627891151652991926179385688801640739529819500962644311494116365763851245323809749138407328622347530072525342801134414289650742106511232529331171846791355125816916030036557559696933506766127623400030950290173965462071167387232775337807402086542842711585406986438753386734514318819865876005341540906449472986814636710144865413625549103435717851969705246634816929757003158765043586579676125027978889365248572375137814328637340215034018093634497587218107841618822552410211555078370112853156211495029206564467051770523198652791858842811741706672737074614906935253795023924691686238466352304558642514703863651696267693145397996490828464536623679840613640575497336446037873804086877137771294593792998490195893114295836069580008578004331381686166327794338318849867557133520928611029058010558324696869518095195747569275920079939320747377660573419175326201585321954212295459111200725503338616482478328432808735495846978306760334005252584213117158475157943747232363311414330766253284994997739948781479373525647634652486083243411340443673927792940869579771272442390639456255662297704050892718410841163761170014540779653609973763566844679587487955163045898166175392792044716528474402498639916181008660880036945999611142472171385334817419519137437873424729591185075087813927755226706980972915900046762935328002 8724011513443951662862455793547881190773169251745877271113242665256251641713418869792071024561128413811779067403913556483612946269991319166817883697898475740260269685780534495963948334873435640474565521751680599146595139558997739246699279821661205577312922269914031877016532376726168785023933566333746893252395207070575506298600585217344183702663795570368033635667390835286612635178616375890830483713133620866525278281207475840347970924876607296273063915442302947360349920555264317332472622062624591087604138120848874938668505534362722384977151734378372231146985255406046482350915812453681223558212148200587915253035185407010135637940007638911402208286801367070735679931571214832794017269993057621038991175210733283229747649502076667002308056721290123946859571444206948574400101501997496932257655420041515148340794595582990579973761052371366030268194782612292952366835704417658306971695163280000747108254077410861342976228007132980797265987054378225990200780562753258753929368365569166777703687857188647187352149799378473431154969559587334954151453821351734331692977261494073948081690672321542985117055853745574589570801185598210029996381135820966308775398001950861901070275235310504256223761710437634857681237591191194526230304988038693172680088891914268138481823138535441263704261596241397486531386719352046629329651319563424668368896151180336081060607227006734797288384506612604520687850968019305200630645618100823872301285104772364860850676923464649603641786558651869566662195275196347211592326747127495083790728086219477723944484976435938591798949201370497077918850061961064169764648849840120931682387683324426700299603008949230421247159824883860671405764084752233336108061935451707321056305026302502474101676513059455289217827284906471567035834064944130921221473831197057547939382505174611930216044110467601301130339999574801 14115747146997724013149690830354449060166225051258073099798531972412096582654070467725622046850793658404281778727802394152926800003364098483562951259574265300951550462874815063072507384014156265780912041543805616775816591456877220686797528293159384180137659862085087707464025557567345123079549229824624683746149586981473571738734238303686114026957396400000106849244099491146809996396405271927636184204425599751860559802377453575674877818153726287376003214685652720611250018492817557682844387099684525411958962005469783977586402762294488012868303387370298410532674057046786012170416775097992717674577912051833239062784323814338757985470080164254203342701091017812842191164100546004640808625118874537069027732770430216736513777125476697952598230686752195114246804219544755976486644344709082339244094173428249662659614461458995921514667501844352844904904927477706577915939140135510276676941798096930504111412842454447922652353035111870162514559429516040318838120777787276847563865952787274619322510409598858742430519912231629642649998766151802005921977020004526190535789003200746685156305579256796780140980545431813055923105744240724733860032832088659454173394492779326437693955075924144831721098156475508661768114728962489120023303478234586286975924961494276716486154520221607591498599915091265043664907647963075687340209644260294186464091898749612001140546547754112457861803681938806106009805180314764311831371121439440354779613537581100356697655230224983608894370771769028041820139022428710523006657513380780078788468035000957097470132611088424675042360541814171005711790931540835442207039489296376593980091734217145111140766770119244962026813434857624238250443672240188499153960101627100113101021554776904972741592694068116169254773284517614039207219399761550440358911704621787139124457592988539685442751091440517201177102934902803 22839758660441675676012146623902330250939394303003950370911774637668348224367489337517693071411922072216060846131715950636539746273355417650380834957472741041211820148655349559036455718887591906255477563295486215922411731015874959933496808114820589757450582131999119584480557934293513908103482796158371576998544794052049078037334823521030297729621191970368140484911490326433422631575021647818466667917559220618385838083584929416022848743030333583649067130127955667971599939048081875015317009162309116499563100126318658916254908296657210397845455121748670641679659312452832494521332587551673941232790060252421154315819509221348893623410087803165605550987892384883577871095671760837434825895111932158108018907981163499966261426627553364954906287408042319061106375663751704550886745846706579271501749593469764811000409057041986501488428554215718875173099710089999530282774844553168583648636961376931251219666919865309265628581042244850959780546483894266309038901340540535601493234318356441397026198266787505929782669711610103073804968325739136960073430841356260522228766264694820633237996251578339765258036399177387645493906929838934763856413967909625762948792494730188338764230311234649087944859866913143519449352320153683646253608466273279459656013853408544854967977658757048855202861511332662530196294367315122316669860963823718854832988049929948082201153774760847255150188188551410626697656148334069512462016739540264227080898642353465217548332153689633212536157330420897608482334297625057734598984260508275162579196121220434821414617587524363266841309743184668083630640993501899611971688339136497525662479417541571811440369779068475383273973259741484909656207756992421835262022037078807434157326581079407446843269207127571458472600569424085606243053464705681361580385535818844687063840098163151615658795201908118502307442934477604 36955505807439399689161837454256779311105619354262023470710306610080444807021559805243315118262715730620342624859518344789466546276719516133943786217047006342163370611530164622108963102901748172036389604839291832698228322472752180620294336407979973937588241994084207291944583491860859031183032025982996260744694381033522649776069061824716411756578588370368247334155589817580232627971426919746102852121984820370246397885962382991697726561184059871025070344813608388582849957540899432698161396261993641911522062131788442893841311058951698410713758509118969052212333369499618506691749362649666658907367972304254393378603833035687651608880167967419808893688983402696420062259772306842075634520230806695177046640751593716702775203753030062907504518094794514175353179883296460527373390191415661610745843766898014473660023518500982423003096056060071720078004637567706108198713984688678860325578759473861755331079762319757188280934077356721122295105913410306627877022118327812449057100271143716016348708676386364672213189623841732716454967091890938965995407861360786712764555267895567318394301830835136545399016944609200701417012674079659497716446799998285217122186987509514776458185387158793919665958023388652181217467049116172766276911944507865746631938814902821571454132178978656446701461426423927573861202015278198004010070608084013041297079948679560083341700322514959713011991870490216732707461328648833824293387860979704581860512179934565574245987383914616821430528102189925650302473320053768257605641773889055241367664156221391918884750198612787941883670284998839089342431925042735054178727828432874119642571151758716922581136549187720345300786694599109147906651429232610334415982138705907547258348135856312419584861901195687627727373853941699645450272864467231801939297240440631826188297691151691301101546293348635703484545869380407 59795264467881075365173984078159109562045013657265973841622081247748793031389049142761008189674637802836403470991234295426006292550074933784324621174519747383375190760185514181145418821789340078291867168134778048620640053488627140553791144522800563695038824126083326876425141426154372939286514822141367837743239175085571727813403885345746709486199780340736387819067080144013655259546448567564569520039544040988632235969547312407720575304214393454674137474941564056554449896588981307713478405424302758411085162258107101810096219355608908808559213630867639693891992681952451001213081950201340600140158032556675547694423342257036545232290255770585414444676875787579997933355444067679510460415342738853285065548732757216669036630380583427862410805502836833236459555547048165078260136038122240882247593360367779284660432575542968924491524610275790595251104347657705638481488829241847443974215720850793006550746682185066453909515119601572082075652397304572936915923458868348050550334589500157413374906943173870601995859335451835790259935417630075926068838702717047234993321532590387951632298082413476310657053343786588346910919603918594261572860767907910980070979482239703115222415698393443007610817890301795700666819369269856412530520410781145206287952668311366426422109837735705301904322937756590104057496382593320320679931571907731896130067998609508165542854097275806968162180059041627359405117476982903336755404600519968808941410822288030791794319537604250033966685432610823258784807617678825992204626034397330403946860277441826740299367786137151208724980028183507172973072918544634666150416167569371645305050569300288734021506328256195728574759954340594057562859186225032169678004175784714981415674716935719866428131108323259086199974423365785251693326329172913163519682776259476513252137789314842916760341495256754205791988803858011 96750770275320475054335821532415888873150633011527997312332387857829237838410608948004323307937353533456746095850752640215472838826794449918268407391566753725538561371715678803254381924691088250328256772974069881318868375961379321174085480930780537632627066120167534168369724918015231970469546848124364098487933556119094377589472947170463121242778368711104635153222669961593887887517875487310672372161528861358878633855509695399418301865398453325699207819755172445137299854129880740411639801686296400322607224389895544703937530414560607219272972139986608746104326051452069507904831312851007259047526004860929941073027175292724196841170423738005223338365859190276417995615216374521586094935573545548462112189484350933371811834133613490769915323597631347411812735430344625605633526229537902492993437127265793758320456094043951347494620666335862315329108985225411746680202813930526304299794480324654761881826444504823642190449196958293204370758310714879564792945577196160499607434860643873429723615619560235274209048959293568506714902509521014892064246564077833947757876800485955270026599913248612856056070288395789048327932277998253759289307567906196197193166469749217891680601085552236927276775913690447881884286418386029178807432355289010952919891483214187997876242016714361748605784364180517677918698397871518324690002179991744937427147947289068248884554419790766681174171929531844092112578805631737161048792461499673390801923002222596366040306921518866855397213534800748909087280937732594249810267808286385645314524433663218659184117984749939150608650313182346262315504843587369720329143996002245764947621721059005656602642877443916073875546648939703205469510615457642504093986314490622528674022852792032286012993009518946713927348277307484897143599193640144965458980016700108339440435480466534217861887788605389909276534673238418 156546034743201550419509805610574998435195646668793971153954469105578030869799658090765331497611991336293149566841986935641479131376869383702593028566086501108913752131901192984399800746480428328620123941108847929939508429450006461727876625453581101327665890246250861044794866344169604909756061670265731936231172731204666105402876832516209830728978149051841022972289750105607543147064324054875241892201072902347510869825057007807138877169612846780373345294696736501691749750718862048125118207110599158733692386648002646514033749770169516027832185770854248439996318733404520509117913263052347859187684037417605488767450517549760742073460679508590637783042734977856415928970660442201096555350916284401747177738217108150040848464514196918632326129100468180648272290977392790683893662267660143375241030487633573042980888669586920271986145276611652910580213332883117385161691643172373748274010201175447768432573126689890096099964316559865286446410708019452501708869036064508550157769450144030843098522562734105876204908294745404296974837927151090818133085266794881182751198333076343221658897995662089166713123632182377395238851881916848020862168335814107177264145951988921006903016783945679934887593803992243582551105787655885591337952766070156159207844151525554424298351854450067050510107301937107781976194780464838645369933751899476833557215945898576414427408517066573649336351988573471451517696282614640497804197062019642199743333824510627157834626459123116889363898967411572167872088555411420242014893842683716049261384711105045399483485770887090359333630341365853435288577762132004386479560163571617410252672290359294390624149205700111802450306603280297263032369801682674673771990490275337510089697569727752152441124117842205800127322700673270148836925522813058128978662792959584852692573269781377134622229283862144115068523477096429 253296805018522025473845627142990887308346279680321968466286856963407268708210267038769654805549344869749895662692739575856951970203663833620861435957653254834452313503616871787654182671171516578948380714082917811258376805411385782901962106384361638960292956366418395213164591262184836880225608518390096034719106287323760482992349779686672951971756517762945658125512420067201431034582199542185914264362601763706389503680566703206557179035011300106072553114451908946829049604848742788536758008796895559056299611037898191217971280184730123247105157910840857186100644784856590017022744575903355118235210042278535429840477692842484938914631103246595861121408594168132833924585876816722682650286489829950209289927701459083412660298647810409402241452698099528060085026407737416289527188497198045868234467614899366801301344763630871619480765942947515225909322318108529131841894457102900052573804681500102530314399571194713738290413513518158490817169018734332066501814613260669049765204310787904272822138182294341150413957254038972803689740436672105710197331830872715130509075133562298491685497908910702022769193920578166443566784159915101780151475903720303374457312421738138898583617869497916862164369717682691464435392206041914770145385121359167112127735634739742422174593871164428799115891666117625459894893178336356970059935931891221770984363893187644663311962936857340330510523918105315543630275088246377658852989523519315590545256826733223523874933380641983744761112502212321076959369493144014491825161650970101694575909144768264058667603755637029509942280654548199697604082605719374106808704159573863175200294011418300047226792083144027876325853252220000468501880417140317177865976804765960038763720422519784438454117127361152514054670977980755045980524716453203094437642809659693192133008750247911352484117072467534024345058150334847 409842839761723575893355432753565885743541926349115939620241326068985299578009925129534986303161336206043045229534726511498431101580533217323454464523739755943366065635518064772053983417651944907568504655191765741197885234861392244629838731837942740287958846612669256257959457606354441789981670188655827970950279018528426588395226612202882782700734666814786681097802170172808974181646523597061156156563674666053900373505623711013696056204624146886445898409148645448520799355567604836661876215907494717789991997685900837732005029954899639274937343681695105626096963518261110526140657838955702977422894079696140918607928210392245680988091782755186498904451329145989249853556537258923779205637406114351956467665918567233453508763162007328034567581798567708708357317385130206973420850764858189243475498102532939844282233433217791891466911219559168136489535650991646517003586100275273800847814882675550298746972697884603834390377830078023777263579726753784568210683649325177599922973760931935115920660745028447026618865548784377100664578363823196528330417097667596313260273466638641713344395904572791189482317552760543838805636041831949801013644239534410551721458373727059905486634653443596797051963521674935046986497993697800361483337887429323271335579786265296846472945725614495849625998968054733241871087958801195615429869683790698604541579839086221077739371453923913979846875906678786995147971370861018156657186585538957790288590651243850681709559839765100634125011469623893244831458048555434733840055493653817743837293855873309458151089526524119869275910995914053132892660367851378493288264323145480585452966301777594437850941288844139678776159855500297731534250218822991851637967295041297548853417992247536590895241245203358314181993678654025194817450239266261223416305602619278044825582020029288487106346356329678139413581627431276 663139644780245601367201059896556773051888206029437908086528183032392568286220192168304641108710681075792940892227466087355383071784197050944315900481393010777818379139134936559708166088823461486516885369274683552456262040272778027531800838222304379248251802979087651471124048868539278670207278707045924005669385305852187071387576391889555734672491184577732339223314590240010405216228723139247070420926276429760289877186190414220253235239635446992518451523600554395349848960416347625198634224704390276846291608723799028949976310139629762522042501592535962812197608303117700543163402414859058095658104121974676348448405903234730619902722886001782360025859923314122083778142414075646461855923895944302165757593620026316866169061809817737436809034496667236768442343792867623262948039262056235111709965717432306645583578196848663510947677162506683362398857969100175648845480557378173853421619564175652829061372269079317572680791343596182268080748745488116634712498262585846649688178071719839388742798927322788177032822802823349904354318800495302238527748928540311443769348600200940205029893813483493212251511473338710282372420201747051581165120143254713926178770795465198804070252522941513659216333239357626511421890199739715131628723008788490383463315421005039268647539596778924648741890634172358701765981137137552585489805615681920375525943732273865741051334390781254310357399824784102538778246459107395815510176109058273380833847477977074205584493220407084378886123971836214321790827541699449225665217144623919438413203000641573516818693282161149379218191650462252830496742973570752600096968482719343760653260313195894485077733371988167555102013107720298200036130635963309029503944099807257587617138414767321029349358372564510828236664656634780240797974955719464317853948412278971236958590770277199839590463428797212163758639777766123 1072982484541969177260556492650122658795430132378553847706769509101377867864230117297839627411872017281835986121762192598853814173364730268267770365005132766721184444774653001331762149506475406394085390024466449293654147275134170272161639570060247119536210649591756907729083506474893720460188948895701751976619664324380613659782803004092438517373225851392519020321116760412819379397875246736308226577489951095814190250691814125233949291444259593878964349932749199843870648315983952461860510440611884994636283606409699866681981340094529401796979845274231068438294571821378811069304060253814761073080998201670817267056334113626976300890814668756968858930311252460111333631698951334570241061561302058654122225259538593550319677824971825065471376616295234945476799661177997830236368890026914424355185463819965246489865811630066455402414588382065851498888393620091822165849066657653447654269434446851203127808344966963921407071169173674206045344328472241901202923181911911024249611151832651774504663459672351235203651688351607727005018897164318498766858166026207907757029622066839581918374289718056284401733829026099254121178056243579001382178764382789124477900229169192258709556887176385110456268296761032561558408388193437515493112060896217813654798895207270336115120485322393420498367889602227091943637069095938748200919675299472618980067523571360086818790705844705168290204275731462889533926217829968413972167362694597231171122438129220924887294053060172185013011135441460107566622285590254883959505272638277737182250496856514882974969782808685269248494102646376305963389403341422131093385232805864824346106226614973488922928674660832307233878172963220595931570380854786300881141911394848555136470556407014857620244599617767869142418658335288805435615425194985725541270254014898249281784172790306488326696809785126890303172221405197399 1736122129322214778627757552546679431847318338407991755793297692133770436150450309466144268520582698357628927013989658686209197245148927319212086265486525777499002823913787937891470315595298867880602275393741132846110409315406948299693440408282551498784462452570844559200207555343432999130396227602747675982289049630232800731170379395981994252045717035970251359544431350652829784614103969875555296998416227525574480127878004539454202526683895040871482801456349754239220497276400300087059144665316275271482575215133498895631957650234159164319022346866767031250492180124496511612467462668673819168739102323645493615504740016861706920793537554758751218956171175774233417409841365410216702917485198002956287982853158619867185846886781642802908185650791902182245242004970865453499316929288970659466895429537397553135449389826915118913362265544572534861287251589191997814694547215031621507691054011026855956869717236043238979751960517270388313425077217730017837635680174496870899299329904371613893406258599674023380684511154431076909373215964813801005385914954748219200798970667040522123404183531539777613985340499437964403550476445326052963343884526043838404078999964657457513627139699326624115484630000390188069830278393177230624740783905006304038262210628275375383768024919172345147109780236399450645403050233076300786409480915154539355593467303633952559842040235486422600561675556246992072704464289075809787677538803655504551956285607197999092878546280579269391897259413296321888413113131954333185170489782901656620663699857156456491788476090846418627712294296838558793886146314992883693482201288584168106759486928169383408006408032820474788980186070940894131606511490749609910645855494655812724087694821782178649593957990332379970655322991923585676413400150705189859124202427177220518742763560583688166287273213924102466930861182963522 2809104613864183955888314045196802090642748470786545603500067201235148304014680426763983895932454715639464913135751851285063011418513657587479856630491658544220187268688440939223232465101774274274687665418207582139764556590541118571855079978342798618320673102162601466929291061818326719590585176498449427958908713954613414390953182400074432769418942887362770379865548111065649164011979216611863523575906178621388670378569818664688151818128154634750447151389098954083091145592384252548919655105928160266118858821543198762313938990328688566116002192140998099688786751945875322681771522922488580241820100525316310882561074130488683221684352223515720077886482428234344751041540316744786943979046500061610410208112697213417505524711753467868379562267087137127722041666148863283735685819315885083822080893357362799625315201456981574315776853926638386360175645209283819980543613872685069161960488457878059084678062203007160386823129690944594358769405689971919040558862086407895148910481737023388398069718272025258584336199506038803914392113129132299772244080980956126957828592733880104041778473249596062015719169525537218524728532688905054345522648908832962881979229133849716223184026875711734571752926761422749628238666586614746117852844801224117693061105835545711498888510241565765645477669838626542589040119329015048987329156214627158335660990874994039378632746080191590890765951287709881606630682119044223759844901498252735723078723736418923980172599340751454404908394854756429455035398722209217144675762421179393802914196713671339466758258899531687876206396943214864757275549656415014786867434094448992452865713543142872330935082693652782022858359034161490063176892345535910791787766889504367860558251228797036269838557608100249113073981327212391112028825345690915400394456442075469800526936350890176492984082999050992770103082588160921 4545226743186398734516071597743481522490066809194537359293364893368918740165130736230128164453037413997093840149741509971272208663662584906691942895978184321719190092602228877114702780697073142155289940811948714985874965905948066871548520386625350117105135554733446026129498617161759718720981404101197103941197763584846215122123561796056427021464659923333021739409979461718478948626083186487418820574322406146963150506447823204142354344812049675621929952845448708322311642868784552635978799771244435537601434036676697657945896640562847730435024539007765130939278932070371834294238985591162399410559202848961804498065814147350390142477889778274471296842653604008578168451381682155003646896531698064566698190965855833284691371598535110671287747917879039309967283671119728737235002748604855743288976322894760352760764591283896693229139119471210921221462896798475817795238161087716690669651542468904915041547779439050399366575090208214982672194482907701936878194542260904766048209811641395002291475976871699281965020710660469880823765329093946100777629995935704346158627563400920626165182656781135839629704510024975182928279009134231107308866533434876801286058229098507173736811166575038358687237556761812937698068944979791976742593628706230421731323316463821086882656535160738110792587450075025993234443169562091349773738637129781697691254458178627991938474786315678013491327626843956873679335146408120033547522440301908240275035009343616923073051145621330723796805654268052751343448511854163550329846252204081050423577896570827795958546734990378106503918691240053423551161695971407898480349635383033160559625200471312255738941490726473256811838545105102384194783403836285520702433622384160180584645946050579214919432515598432629083729304319135976788442225496396105259518658869252690319269699911473864659271356212975095237033943771124443 7354331357050582690404385642940283613132815279981082962793432094604067044179811162994112060385492129636558753285493361256335220082176242494171799526469842865939377361290669816337935245798847416429977606230156297125639522496489185443403600364968148735425808656896047493058789678980086438311566580599646531900106477539459629513076744196130859790883602810695792119275527572784128112638062403099282344150228584768351820885017641868830506162940204310372377104234547662405402788461168805184898454877172595803720292858219896420259835630891536296551026731148763230628065684016247156976010508513650979652379303374278115380626888277839073364162242001790191374729136032242922919492921998899790590875578198126177108399078553046702196896310288578539667310184966176437689325337268592020970688567920740827111057216252123152386079792740878267544915973397849307581638542007759637775781774960401759831612030926782974126225841642057559753398219899159577030963888597673855918753404347312661197120293378418390689545695143724540549356910166508684738157442223078400549874076916660473116456156134800730206961130030731901645423679550512401453007541823136161654389182343709764168037458232356889959995193450750093258990483523235687326307611566406722860446473507454539424384422299366798381545045402303876438065119913652535823483288891106398761067793344408856026915449053622031317107532395869604382093578131666755285965828527164257307367341800160975998113733080035847053223744962082178201714049122809180798483910576372767474522014625260444226492093284499135425304993889909794380125088183268288308437245627822913267217069477482153012490914014455128069876573420126038834696904139263874257960296181821431494221389273664548445204197279376251189271073206532878196803285646348367900471050842087020659913115311328160119796636262364041152255439212026088007137026359285364 11899558100236981424920457240683765135622882089175620322086796987972985784344941899224240224838529543633652593435234871227607428745838827400863742422448027187658567453892898693452638026495920558585267547042105012111514488402437252314952120751593498852530944211629493519188288296141846157032547984700843635841304241124305844635200305992187286812348262734028813858685507034502607061264145589586701164724550990915314971391465465072972860507752253985994307057079996370727714431329953357820877254648417031341321726894896594078205732271454384026986051270156528361567344616086618991270249494104813379062938506223239919878692702425189463506640131780064662671571789636251501087944303681054794237772109896190743806590044408879986888267908823689210955058102845215747656609008388320758205691316525596570400033539146883505146844384024774960774055092869060228803101438806235455571019936048118450501263573395687889167773621081107959119973310107374559703158371505375792796947946608217427245330105019813392981021672015423822514377620826978565561922771317024501327504072852364819275083719535721356372143786811867741275128189575487584381286550957367268963255715778586565454095687330864063696806360025788451946228040285048625024376556546198699603040102213684961155707738763187885264201580563041987230652569988678529057926458453197748534806430474190553718169907232250023255582318711547617873421204975623628965300974935284290854889782102069216273148742423652770126274890583412901998519703390861932141932422430536317804368266829341494650069989855326931383851728880287900884043779423321711859598941599230811747566704860515313572116114485767383808818064146599295646535449244366258452743700018106952196655011657824729029850143329955466108703588804965507280532589965484344688913276338483125919431774180580850439066336173837905811526795425001183244170970130409807 19253889457287564115324842883624048748755697369156703284880229082577052828524753062218352285224021673270211346720728232483942648828015069895035541948917870053597944815183568509790573272294767975015245153272261309237154010898926437758355721116561647587956752868525541012247077975121932595344114565300490167741410718663765474148277050188318146603231865544724605977961034607286735173902207992685983508874779575683666792276483106941803366670692458296366684161314544033133117219791122163005775709525589627145042019753116490498465567902345920323537078001305291592195410300102866148246260002618464358715317809597518035259319590703028536870802373781854854046300925668494424007437225679954584828647688094316920914989122961926689085164219112267750622368287811392185345934345656912779176379884446337397511090755399006657532924176765653228318971066266909536384739980813995093346801711008520210332875604322470863293999462723165518873371530006534136734122260103049648715701350955530088442450398398231783670567367159148363063734530993487250300080213540102901877378149769025292391539875670522086579104916842599642920551869125999985834294092780503430617644898122296329622133145563220953656801553476538545205218523808284312350684168112605422463486575721139500580092161062554683645746625965345863668717689902331064881409747344304147295874223818599409745085356285872054572689851107417222255514783107290384251266803462448548162257123902230192271262475503688617179498635545495080200233752513671112940416333006909085278890281454601938876562083139826066809156722770197695264168867606590000168036187227053725014783774337997466584607028500222511878694637566725334481232353383630132710703996199928383690876400931489277475054340609331717297974662011498385477335875611832712589384327180570146579344889491909010558862972436201946963782234637027271251307996489695171 31153447557524545540245300124307813884378579458332323606967026070550038612869694961442592510062551216903863940155963103711550077573853897295899284371365897241256512269076467203243211298790688533600512700314366321348668499301363690073307841868155146440487697080155034531435366271263778752376662550001333803582714959788071318783477356180505433415580128278753419836646541641789342235166353582272684673599330566598981763667948572014776227178444712282360991218394540403860831651121075520826652964174006658486363746648013084576671300173800304350523129271461819953762754916189485139516509496723277737778256315820757955138012293128218000377442505561919516717872715304745925095381529361009379066419797990507664721579167370806675973432127935956961577426390656607933002543354045233537382071200971933967911124294545890162679768560790428189093026159135969765187841419620230548917821647056638660834139177718158752461773083804273477993344840113908696437280631608425441512649297563747515687780503418045176651589039174572185578112151820465815862002984857127403204882222621390111666623595206243442951248703654467384195680058701487570215580643737870699580900613900882895076228832894085017353607913502326997151446564093332937375060724658804122066526677934824461735799899825742568909948206528387850899370259891009593939336205797501895830680654292789963463255263518122077828272169818964840128935988082914013216567778397732839017146906004299408544411217927341387305773526128907982198753455904533045082348755437445403083258548283943433526632072995152998193008451650485596148212647029911712027635128826284536762350479198512780156723142985989895687512701713324630127767802627996391163447696218035335887531412589314006504904483939287183406678250816463892757868465577317057278297603519053272498776663672489860997929308610039852775309030062028454495478966620104978 50407337014812109655570143007931862633134276827489026891847255153127091441394448023660944795286572890174075286876691336195492726401868967190934826320283767294854457084260035713033784571085456508615757853586627630585822510200290127831663562984716794028444449948680575543682444246385711347720777115301823971324125678451836792931754406368823580018811993823478025814607576249076077409068561574958668182474110142282648555944431678956579593849137170578727675379709084436993948870912197683832428673699596285631405766401129575075136868076146224674060207272767111545958165216292351287762769499341742096493574125418275990397331883831246537248244879343774370764173640973240349102818755040963963895067486084824585636568290332733365058596347048224712199794678468000118348477699702146316558451085418271365422215049944896820212692737556081417411997225402879301572581400434225642264623358065158871167014782040629615755772546527438996866716370120442833171402891711475090228350648519277604130230901816276960322156406333720548641846682813953066162083198397230305082260372390415404058163470876765529530353620497067027116231927827487556049874736518374130198545512023179224698361978457305971010409466978865542356665087901617249725744892771409544530013253655963962315892060888297252555694832493733714568087949793340658820745953141806043126554878111389373208340619803994132400962020926382062384450771190204397467834581860181387179404029906529600815673693431030004485272161674403062398987208418204158022765088444354488362148829738545372403194156134979065002165174420683291412381514636501712195671316053338261777134253536510246741330171486212407566207339280049964609000156011626523874151692417963719578407813520803283979958824548618900704652912827962278235204341189149769867681930699623419078121553164398871556792281046241799739091264699055725746786963109800149 81560784572336655195815443132239676517512856285821350498814281223677130054264142985103537305349124107077939227032654439907042803975722864486834110691649664536110969353336502916276995869876145042216270553900993951934491009501653817904971404852871940468932147028835610075117810517649490100097439665303157774906840638239908111715231762549329013434392122102231445651254117890865419644234915157231352856073440708881630319612380250971355821027581882861088666598103624840854780522033273204659081637873602944117769513049142659651808168249946529024583336544228931499720920132481836427279278996065019834271830441239033945535344176959464537625687384905693887482046356277986274198200284401973342961487284075332250358147457703540041032028474984181673777221069124608051351021053747379853940522286390205333333339344490786982892461298346509606505023384538849066760422820054456191182445005121797532001153959758788368217545630331712474860061210234351529608683523319900531740999946083025119818011405234322136973745445508292734219958834634418882024086183254357708287142595011805515724787066083008972481602324151534411311911986528975126265455380256244829779446125924062119774590811351390988364017380481192539508111651994950187100805617430213666596539931590788424051691960714039821465643039022121565467458209684350252760082158939307938957235532404179336671595883322116210229234190745346902513386759273118410684402360257914226196550935910829009360084911358371391791045687803311044597740664322737203105113843881799891445407378022488805929826229130132063195173626071168887560594161666413424223306444879622798539484732735023026898053314472202303253720040993374594736767958639622915037599388635999055465939226110117290484863308487906084111331163644426170993072806766466827145979534218676691576898216836888732554721589656281652514400294761084180242265929729905127 131968121587148764851385586140171539150647133113310377390661536376804221495658591008764482100635696997252014513909345776102535530377591831677768937011933431830965426437596538629310780440961601550832028407487621582520313519701943945736634967837588734497376596977516185618800254764035201447818216780604981746230966316691744904646986168918152593453204115925709471465861694139941497053303476732190021038547550851164278875556811929927935414876719053439816341977812709277848729392945470888491510311573199229749175279450272234726945036326092753698643543816996043045679085348774187715042048495406761930765404566657309935932676060790711074873932264249468258246219997251226623301019039442937306856554770160156835994715748036273406090624822032406385977015747592608169699498753449526170498973371808476698755554394435683803105154035902591023917020609941728368333004220488681833447068363186956403168168741799417983973318176859151471726777580354794362780086415031375621969350594602302723948242307050599097295901851842013282861805517448371948186169381651588013369402967402220919782950536959774502011955944648601438428143914356462682315330116774618959977991637947241344472952789808696959374426847460058081864776739896567436826550510201623211126553185246752386367584021602337074021337871515855280035546159477690911580828112081113982083790410515568709879936503126110342630196211671728964897837530463322808152236942118095613375954965817358610175758604789401396276317849477714106996727872740941361127878932326154379807556207761034178333020385265111128197338800491852178972975676302915136418977760932961060316618986271533273639383485958414710819927380273424559345768114651249438911751081053962775044347039630920574464822133036524984815984076472388449228277147955616597013661464918300110655019770001287604111513870702523452253491559460139905989052892839705276 213528906159485420047201029272411215668159989399131727889475817600481351549922733993868019405984821104329953740942000216009578334353314696164603047703583096367076395790933041545587776310837746593048298961388615534454804529203597763641606372690460674966308744006351795693918065281684691547915656445908139521137806954931653016362217931467481606887596238027940917117115812030806916697538391889421373894620991560045909195169192180899291235904300936300905008575916334118703509914978744093150591949446802173866944792499414894378753204576039282723226880361224974545400005481256024142321327491471781765037235007896343881468020237750175612499619649155162145728266353529212897499219323844910649818042054235489086352863205739813447122653297016588059754236816717216221050519807196906024439495658198682032088893738926470785997615334249100630422043994480577435093427040543138024629513368308753935169322701558206352190863807190863946586838790589145892388769938351276153710350540685327843766253712284921234269647297350306017081764352082790830210255564905945721656545562414026435507737603042783474493558268800135849740055900885437808580785497030863789757437763871303464247543601160087947738444227941250621372888391891517623927356127631836877723093116837540810419275982316376895486980910537976845503004369162041164340910271020421921041025942919748046551532386448226552859430402417075867411224289736441218836639302376009839572505901728187619535843516147772788067363537281025151594468537063678564232992776207954271252963585783522984262846614395243191392512426563021066533569837969328560642284205812583858856103719006556300537436800430617014073647421266799154082536073290872353949350469689961830510286265741037864949685441524431068927315240116814620221349954722083424159640999136976802231917986838176336666235460358805104767891854221224086231318822569610403 345497027746634184898586615412582754818807122512442105280137353977285573045581325002632501506620518101581968254851345992112113864730906527842371984715516528198041822228529580174898556751799348143880327368876237116975118048905541709378241340528049409463685340983867981312718320045719892995733873226513121267368773271623397921009204100385634200340800353953650388582977506170748413750841868621611394933168542411210188070726004110827226650781019989740721350553729043396552239307924214981642102261020001403616120071949687129105698240902132036421870424178221017591079090830030211857363375986878543695802639574553653817400696298540886687373551913404630403974486350780439520800238363287847956674596824395645922347578953776086853213278119048994445731252564309824390750018560646432194938469030007158730844448133362154589102769370151691654339064604422305803426431261031819858076581731495710338337491443357624336164181984050015418313616370943940255168856353382651775679701135287630567714496019335520331565549149192319299943569869531162778396424946557533735025948529816247355290688140002557976505514213448737288168199815241900490896115613805482749735429401818544808720496390968784907112871075401308703237665131788085060753906637833460088849646302084293196786860003918713969508318782053832125538550528639732075921738383101535903124816353435316756431468889574336895489626614088804832309061820199764026988876244494105452948460867545546229711602120937174184343681386758739258591196409804619925360871708534108651060519793544557162595866999660354319589851227054873245506545514272243697061261966745544919172722705278089574176820286389031724893574801540223713428304187942121792861101550743924605554633305371958439414507574560956053743299316589203069449627102677700021173302464055276912886937756839463940777749331061328557021383413681363992220371715409315679 559025933906119604945787644684993970486967111911573833169613171577766924595504058996500520912605339205911921995793346208121692199084221224006975032419099624565118218019462621720486333062637094736928626330264852651429922578109139473019847713218510084429994084990219777006636385327404584543649529672421260788506580226555050937371422031853115807228396591981591305700093318201555330448380260511032768827789533971256097265895196291726517886685320926041626359129645377515255749222902959074792694210466803577483064864449102023484451445478171319145097304539445992136479096311286235999684703478350325460839874582449997698868716536291062299873171562559792549702752704309652418299457687132758606492638878631135008700442159515900300335931416065582505485489381027040611800538367843338219377964688205840762933341872288625375100384704400792284761108598902883238519858301574957882706095099804464273506814144915830688355045791240879364900455161533086147557626291733927929390051675972958411480749731620441565835196446542625317025334221613953608606680511463479456682494092230273790798425743045341450999072482248873137908255716127338299476901110836346539492867165689848272968039992128872854851315303342559324610553523679602684681262765465296966572739418921834007206135986235090864995299692591808971041554897801773240262648654121957824165842296355064802983001276022563448349057016505880699720286109936205245825515546870115292520966769273733849247445637084946972411044924039764410185664946868298489593864484742062922313483379328080146858713614055597510982363653617894312040115352241572257703546172558128778028826424284645874714257086819648738967222222807022867510840261232994146810452020433886436064919571112996304364193016085387122670614556706017689670977057399783445332943463192253715118855743677640277443984791420133661789275267902588078451690537978926082 904522961652753789844374260097576725305774234424015938449750525555052497641085383999133022419225857307493890250644692200233806063815127751849347017134616152763160040247992201895384889814436442880808953699141089768405040627014681182398089053746559493893679425974087758319354705373124477539383402898934382055875353498178448858380626132238750007569196945935241694283070824372303744199222129132644163760958076382466285336621200402553744537466340915782347709683374420911807988530827174056434796471486804981099184936398789152590149686380303355566967728717667009727558187141316447857048079465228869156642514157003651516269412834831948987246723475964422953677239055090091939099696050420606563167235703026780931048021113291987153549209535114576951216741945336865002550556928489770414316433718212999493777790005650779964203154074552483939100173203325189041946289562606777740782676831300174611844305588273455024519227775290894783214071532477026402726482645116579705069752811260588979195245750955961897400745595734944616968904091145116387003105458021013191708442622046521146089113883047899427504586695697610426076455531369238790373016724641829289228296567508393081688536383097657761964186378743868027848218655467687745435169403298757055422385721006127203992995990153804834503618474645641096580105426441505316184387037223493727290658649790381559414470165596900343838683630594685532029347930135969272814391791364220745469427636819280078959047758022121156754726310798503668776861356672918414954736193276171573374003172872637309454580613715951830572214880672767557546660866513815954764808139303673697201549129562735448891077373208680463860797024347246580939144449175115939671553571177811041619552876484954743778700590646343176413913873295220759120604160077483466506245927247530628005793500517104218221734122481462218810658681583952070672062253388241761 1463548895558873394790161904782570695792741346335589771619363697132819422236589442995633543331831196513405812246438038408355498262899348975856322049553715777328278258267454823615871222877073537617737580029405942419834963205123820655417936766965069578323673510964307535325991090700529062083032932571355642844381933724733499795752048164091865814797593537916832999983164142573859074647602389643676932588747610353722382602516396694280262424151661841823974068813019798427063737753730133131227490681953608558582249800847891176074601131858474674712065033257113001864037283452602683856732782943579194617482388739453649215138129371123011287119895038524215503379991759399744357399153737553365169659874581657915939748463272807887453885140951180159456702231326363905614351095296333108633694398406418840256711131877939405339303538778953276223861281802228072280466147864181735623488771931104638885351119733189285712874273566531774148114526694010112550284108936850507634459804487233547390675995482576403463235942042277569933994238312759069995609785969484492648390936714276794936887539626093240878503659177946483563984711247496577089849917835478175828721163733198241354656576375226530616815501682086427352458772179147290430116432168764054021995125139927961211199131976388895699498918167237450067621660324243278556447035691345451551456500946145446362397471441619463792187740647100566231749634040072174518639907338234336037990394406093013928206493395107068129165771234838268078962526303541216904548600678018234495687486552200717456313294227771549341554578534290661869586776218755388212468354311861802475230375553847381323605334460028329202828019247154269448449984710408110086482005591611697477684472447597951048142893606731730299084528430001238448791581217477266911839189390439784343124649244194744495665718913901595880599933949486540149123752791367167843 2368071857211627184634536164880147421098515580759605710069114222687871919877674826994766565751057053820899702497082730608589304326714476727705669066688331930091438298515447025511256112691509980498546533728547032188240003832138501837816025820711629072217352936938395293645345796073653539622416335470290024900257287222911948654132674296330615822366790483852074694266234966946162818846824518776321096349705686736188667939137597096834006961618002757606321778496394219338871726284557307187662287153440413539681434737246680328664750818238778030279032761974780011591595470593919131713780862408808063774124902896457300731407542205954960274366618514488638457057230814489836296498849787973971732827110284684696870796484386099874607434350486294736407918973271700770616901652224822879048010832124631839750488921883590185303506692853505760162961455005553261322412437426788513364271448762404813497195425321462740737393501341822668931328598226487138953010591581967087339529557298494136369871241233532365360636687638012514550963142403904186382612891427505505840099379336323316082976653509141140306008245873644093990061166778865815880222934560120005117949460300706634436345112758324188378779688060830295380306990834614978175551601572062811077417510860934088415192127966542700534002536641883091164201765750684783872631422728568945278747159595935827921811941607216364136026424277695251763778981970208143791454299129598556783459822042912294007165541153129189285920497545636771747739387660214135319503336871294406069061489725073354765767874841487501172126793414963429427133437085269204167233162451165476172431924683410116772496411833237009666688816271501516029389129159583226026153559162789508519304025324082905791921594197378073475498442303296459207912185377554750378345435317687314971130442744711848713887453036383058099410592631070492219795815044755409604 3831620752770500579424698069662718116891256927095195481688477919820691342114264269990400109082888250334305514743520769016944802589613825703561991116242047707419716556782901849127127335568583518116284113757952974608074967037262322493233962587676698650541026447902702828971336886774182601705449268041645667744639220947645448449884722460422481637164384021768907694249399109520021893494426908419998028938453297089911050541653993791114269385769664599430295847309414017765935464038287440318889777835394022098263684538094571504739351950097252704991097795231893013455632754046521815570513645352387258391607291635910949946545671577077971561486513553012853960437222573889580653898003525527336902486984866342612810544947658907762061319491437474895864621204598064676231252747521155987681705230531050680007200053761529590642810231632459036386822736807781333602878585290970248987760220693509452382546545054652026450267774908354443079443124920497251503294700518817594973989361785727683760547236716108768823872629680290084484957380716663256378222677396989998488490316050600111019864193135234381184511905051590577554045878026362392970072852395598180946670624033904875791001689133550718995595189742916722732765763013762268605668033740826865099412636000862049626391259942931596233501454809120541231823426074928062429078458419914396830203660542081274284209413048835827928214164924795817995528616010280318310094206467832892821450216449005307935372034548236257415086268780475039826701913963755352224051937549312640564748976277274072222081169069259050513681371949254091296720213304024592379701516763027278647662300237257498096101746293265338869516835518655785477839113869991336112635564754401205996988497771680856840064487804109803774582970733297697656703766595032017290184624708127099314255091988906593209553171950284653980010526580557032368919567836122577447 6199692609982127764059234234542865537989772507854801191757592142508563261991939096985166674833945304155205217240603499625534106916328302431267660182930379637511154855298348874638383448260093498614830647486500006796314970869400824331049988408388327722758379384841098122616682682847836141327865603511935692644896508170557397104017396756753097459531174505620982388515634076466184712341251427196319125288158983826099718480791590887948276347387667357036617625805808237104807190322844747506552064988834435637945119275341251833404102768336030735270130557206673025047228224640440947284294507761195322165732194532368250677953213783032931835853132067501492417494453388379416950396853313501308635314095151027309681341432045007636668753841923769632272540177869765446848154399745978866729716062655682519757688975645119775946316924485964796549784191813334594925291022717758762352031669455914265879741970376114767187661276250177112010771723146984390456305292100784682313518919084221820130418477949641134184509317318302599035920523120567442760835568824495504328589695386923427102840846644375521490520150925234671544107044805228208850295786955718186064620084334611510227346801891874907374374877803747018113072753848377246781219635312889676176830146861796138041583387909474296767503991451003632396025191825612846301709881148483342108950820138017102206021354656052192064240589202491069759307597980488462101548505597431449604910038491917601942537575701365446701006766326111811574441301623969487543555274420607046633810466002347426987849043910746551685808165364217520723853650389293796546934679214192754820094224920667614868598158126502348536205651790157301507228243029574562138789123917190714516292523095763762631986082001487877250081413036594156864615951972586767668530060025814414285385534733618441923440624986667712079421119211627524588715382880877987051 10031313362752628343483932304205583654881029434949996673446070062329254604106203366975566783916833554489510731984124268642478909505942128134829651299172427344930871412081250723765510783828677016731114761244452981404389937906663146824283950996065026373299405832743800951588019569622018743033314871553581360389535729118202845553902119217175579096695558527389890082765033185986206605835678335616317154226612280916010769022445584679062545733157331956466913473115222254870742654361132187825441842824228457736208803813435823338143454718433283440261228352438566038502860978686962762854808153113582580557339486168279200624498885360110903397339645620514346377931675962268997604294856839028645537801080017369922491886379703915398730073333361244528137161382467830123079407147267134854411421293186733199764889029406649366589127156118423832936606928621115928528169608008729011339791890149423718262288515430766793637929051158531555090214848067481641959599992619602277287508280869949503890965714665749903008381946998592683520877903837230699139058246221485502817080011437523538122705039779609902675032055976825249098152922831590601820368639351316367011290708368516386018348491025425626369970067546663740845838516862139515386887669053716541276242782862658187667974647852405893001005446260124173627848617900540908730788339568397738939154480680098376490230767704888019992454754127286887754836213990768780411642712065264342426360254940922909877909610249601704116093035106586851401143215587724839767607211969919687198559442279621499209930212980005602199489537313471612020573863693318388926636195977220033467756525157925112964699904419767687405722487308813086985067356899565898251424688671591920513281020867444619472050569805597681024664383769891854521319718567618784958714684733941513599640626722525035132993796936952366059431645792184556957634950717000564498 16231005972734756107543166538748449192870801942804797865203662204837817866098142463960733458750778858644715949224727768268013016422270430566097311482102806982442026267379599598403894232088770515345945408730952988200704908776063971155333939404453354096057785217584899074204702252469854884361180475065517053034432237288760242657919515973928676556226733033010872471280667262452391318176929762812636279514771264742110487503237175567010822080544999313503531098921030491975549844683976935331993907813062893374153923088777075171547557486769314175531358909645239063550089203327403710139102660874777902723071680700647451302452099143143835233192777688015838795426129350648414554691710152529954173115175168397232173227811748923035398827175285014160409701560337595569927561547013113721141137355842415719522578005051769142535444080604388629486391120434450523453460630726487773691823559605337984142030485806881560825590327408708667100986571214466032415905284720386959601027199954171324021384192615391037192891264316895282556798426957798141899893815045981007145669706824446965225545886423985424165552206902059920642259967636818810670664426307034553075910792703127896245695292917300533744344945350410758958911270710516762168107304366606217453072929724454325709558035761880189768509437711127806023873809726153755032498220716881081048105300818115478696252122360940212056695343329777957514143811971257242513191217662695792031270293432840511820447185950967150817099801432698662975584517211694327311162486390526733832369908281968926197779256890752153885297702677689132744427514082612185473570875191412788287850750078592727833298062546270035941928139098970388492295599929140460390213812588782635029573543963208382104036651807085558274745796806486011385935670540205552627244744759755927885026161456143477056434421923620078138852765003812081546350333597878551549 26262319335487384451027098842954032847751831377754794538649732267167072470204345830936300242667612413134226681208852036910491925928212558700926962781275234327372897679460850322169405015917447532077060169975405969605094846682727117979617890400518380469357191050328700025792721822091873627394495346619098413423967966406963088211821635191104255652922291560400762554045700448438597924012608098428953433741383545658121256525682760246073367813702331269970444572036252746846292499045109123157435750637291351110362726902212898509691012205202597615792587262083805102052950182014366472993910813988360483280411166868926651926950984503254738630532423308530185173357805312917412158986566991558599710916255185767154665114191452838434128900508646258688546862942805425693006968694280248575552558649029148919287467034458418509124571236722812462422998049055566451981630238735216785031615449754761702404319001237648354463519378567240222191201419281947674375505277339989236888535480824120827912349907281140940201273211315487966077676330795028841038952061267466509962749718261970503348250926203595326840584262878885169740412890468409412491033065658350920087201501071644282264043783942726160114315012897074499804749787572656277554994973420322758729315712587112513377532683614286082769514883971251979651722427626694663763286560285278819987259781498213855186482890065828232049150097457064845268980025962026022924833929727960134457630548373763421698356796200568854933192836539285514376727732799419167078769698360446421030929350561590425407709469870757756084787239991160744765001377775930574400207071168632821755607275236517840797997966966037723347650626407783475477362956828706358641638501260374555542854564830653001576087221612683239299410180576377865907255389107824337585959429493697441484666788178668512189428218860572444198284410795996638503985284314879116047 42493325308222140558570265381702482040622633320559592403853394472004890336302488294897033701418391271778942630433579805178504942350482989267024274263378041309814923946840449920573299248006218047423005578706358957805799755458791089134951829804971734565414976267913599099997424074561728511755675821684615466458400203695723330869741151165032932209149024593411635025326367710890989242189537861241589713256154810400231744028919935813084189894247330583473975670957283238821842343729086058489429658450354244484516649990989973681238569691971911791323946171729044165603039385341770183133013474863138386003482847569574103229403083646398573863725200996546023968783934663565826713678277144088553884031430354164386838342003201761469527727683931272848956564503143021262934530241293362296693696004871564638810045039510187651660015317327201091909389169490016975435090869461704558723439009360099686546349487044529915289109705975948889292187990496413706791410562060376196489562680778292151933734099896531977394164475632383248634474757752826982938845876313447517108419425086417468573796812627580751006136469780945090382672858105228223161697491965385473163112293774772178509739076860026693858659958247485258763661058283173039723102277786928976182388642311566839087090719376166272538024321682379785675596237352848418795784781002159901035365082316329333882735012426768444105845440786842802783123837933283265438025147390655926488900841806603933518803982151536005750292637971984177352312250011113494389932184750973154863299258843559351605488726761509909970084942668849877509428891858542759873777946360045610043458025315110568631296029512307759289578765506753863969658556757846819031852313849157190572428108793861383680123873419768797574155977382863877293191059648029890213204174253453369369692949634811989245862640784192522337137175799808720050335617912757667596 68755644643709525009597364224656514888374464698314386942503126739171962806506834125833333944086003684913169311642431842088996868278695547967951237044653275637187821626301300242742704263923665579500065748681764927410894602141518207114569720205490115034772167318242299125790145896653602139150171168303713879882368170102686419081562786356137187862071316153812397579372068159329587166202145959670543146997538356058353000554602696059157557707949661853444420242993535985668134842774195181646865409087645595594879376893202872190929581897174509407116533433812849267655989567356136656126924288851498869283894014438500755156354068149653312494257624305076209142141739976483238872664844135647153594947685539931541503456194654599903656628192577531537503427445948446955941498935573610872246254653900713558097512073968606160784586554050013554332387218545583427416721108196921343755054459114861388950668488282178269752629084543189111483389409778361381166915839400365433378098161602412979846084007177672917595437686947871214712151088547855823977797937580914027071169143348387971922047738831176077846720732659830260123085748573637635652730557623736393250313794846416460773782860802752853972974971144559758568410845855829317278097251207251734911704354898679352464623402990452355307539205653631765327318664979543082559071341287438721022624863814543189069217902492596676154995538243907648052103863895309288362859077118616060946531390180367355217160778352104860683485474511269691729039982810532661468701883111419575894228609405149777013198196632267666054872182660010622274430269634473334273985017528678431799065300551628409429293996478345482637229391914537339447021513586553177673490815109531746115282673624514385256211095032452036873566157959241743200446448755854227799163603747150810854359737813480501435290859644764966535421586595805358554320902227636783643 111248969951931665568167629606358996928997098018873979346356521211176853142809322420730367645504394956692111942076011647267501810629178537234975511308031316947002745573141750163316003511929883626923071327388123885216694357600309296249521550010461849600187143586155898225787569971215330650905846989988329346340768373798409749951303937521170120071220340747224032604698435870220576408391683820912132860253693166458584744583522631872241747602196992436918395913950819224489977186503281240136295067537999840079396026884192845872168151589146421198440479605541893433259028952697906839259937763714637255287376862008074858385757151796051886357982825301622233110925674640049065586343121279735707478979115894095928341798197856361373184355876508804386459991949091468218876029176866973168939950658772278196907557113478793812444601871377214646241776388035600402851811977658625902478493468474961075497017975326708185041738790519138000775577400274775087958326401460741629867660842380705131779818107074204894989602162580254463346625846300682806916643813894361544179588568434805440495844551458756828852857202440775350505758606678865858814428049589121866413426088621188639283521937662779547831634929392045017332071904139002357001199528994180711094092997210246191551714122366618627845563527336011551002914902332391501354856122289598622057989946130872522951952914919365120260840979030750450835227701828592553800884224509271987435432231986971288735964760503640866433778112483253869081352232821646155858634067862392730757527868248709128618686923393777576024957125328860499783859161493016094147762963888724041842523325866738978060590025990653241926808157421291203416680070344399996705343128958688936687710782418375768936334968452220834447722135342105620493637508403884118012367778000604180224052687448292490681153500428957488872558762395614078604656520140394451239 180004614595641190577764993831015511817371562717188366288859647950348815949316156546563701589590398641605281253718443489356498678907874085202926748352684592584190567199443050406058707775853549206423137076069888812627588959741827503364091270215951964634959310904398197351577715867868932790056018158292043226223136543901096169032866723877307307933291656901036430184070504029550163574593829780582676007251231522516937745138125327931399305310146654290362816156944355210158112029277476421783160476625645435674275403777395718063097733486320930605557013039354742700915018520054043495386862052566136124571270876446575613542111219945705198852240449606698442253067414616532304459007965415382861073926801434027469845254392510961276840984069086335923963419395039915174817528112440584041186205312672991755005069187447399973229188425427228200574163606581183830268533085855547246233547927589822464447686463608886454794367875062327112258966810053136469125242240861107063245759003983118111625902114251877812585039849528125678058776934848538630894441751475275571250757711783193412417892290289932906699577935100605610628844355252503494467158607212858259663739883467605100057304798465532401804609900536604775900482749994831674279296780201432446005797352108925544016337525357070983153102732989643316330233567311934583913927463577037343080614809945415712021170817411961796415836517274658098887331565723901842163743301627888048381963622167338643953125538855745727117263586994523560810392215632178817327335950973812306651756477653858905631885120026045242079829307988871122058289431127489428421747981417402473641588626418367387489884022468998724564037549335828542863701583930953174378833944068220682802993456042890154192546063484672871321288293301347363694083957159738345811531381747754991078412425261772992116444360073722455407980348991419437158977422368031234882 291253584547572856145932623437374508746368660736062345635216169161525669092125478967294069235094793598297393195794455136624000489537052622437902259660715909531193312772584800569374711287783432833346208403458012697844283317342136799613612820226413814235146454490554095577365285839084263440961865148280372572563904917699505918984170661398477428004511997648260462788768939899770739982985513601494808867504924688975522489721647959803641052912343646727281212070895174434648089215780757661919455544163645275753671430661588563935265885075467351803997492644896636134174047472751950334646799816280773379858647738454650471927868371741757085210223274908320675363993089256581370045351086695118568552905917328123398187052590367322650025339945595140310423411344131383393693557289307557210126155971445269951912626300926193785673790296804442846815939994616784233120345063514173148712041396064783539944704438935594639836106665581465113034544210327911557083568642321848693113419846363823243405720221326082707574642012108380141405402781149221437811085565369637115430346280217998852913736841748689735552435137541380961134602961931369353281586656801980126077165972088793739340826736128311949636244829928649793232554654133834031280496309195613157099890349319171735568051647723689610998666260325654867333148469644326085268783585866635965138604756076288234973123732331326916676677496305408549722559267552494395964627526137160035817395854154309932689090299359386593551041699477777429891744448453824973185970018836205037409284345902568034250572043419822818104786433317731621842148592620505522569510945306126515484111952285106365550474048459651966490845706757119746280381654275353171084177073026909619490704238461265923128881031936893705769010428643452984187721465563622463823899159748359171302465112710065482797597860502679944280539111387033515763633942508425686121 471258199143214046723697617268390020563740223453250711924075817111874485041441635513857770824685192239902674449512898625980499168444926707640829008013400502115383879972027850975433419063636982039769345479527901510471872277083964302977704090442365778870105765394952292928943001706953196231017883306572415798787041461600602088017037385275784735937803654549296892972839443929320903557579343382077484874756156211492460234859773287735040358222490301017644028227839529644806201245058234083702616020789290711427946834438984281998363618561788282409554505684251378835089065992805993830033661868846909504429918614901226085469979591687462284062463724515019117617060503873113674504359052110501429626832718762150868032306982878283926866324014681476234386830739171298568511085401748141251312361284118261706917695488373593758902978722231671047390103601197968063388878149369720394945589323654606004392390902544481094630474540643792225293511020381048026208810883182955756359178850346941355031622335577960520159681861636505819464179715997760068705527316844912686681103992001192265331629132038622642252013072641986571763447317183872847748745264014838385740905855556398839398131534593844351440854730465254569133037404128665705559793089397045603105687701428097279584389173080760594151768993315298183663382036956260669182711049443673308219219566021703946994294549743288713092514013580066648609890833276396238128370827765048084199359476321648576642215838215132320668305286472300990702136664086003790513305969810017344061040823556426939882457163445868060184615741306602743900438023747994950991258926723528989125700578703473753040358070928650691054883256092948289144083238206306345463011017095130302293697694504156077321427095421566577090298721944800347881805422723360809635430541496114162380877537971838474914042220576402399688519460378452952922611364876456921003 762511783690786902869630240705764529310108884189313057559291986273400154133567114481151840059779985838200067645307353762604499657981979330078731267674116411646577192744612651544808130351420414873115553882985914208316155594426101102591316910668779593105252219885506388506308287546037459671979748454852788371350946379300108007001208046674262163942315652197557355761608383829091643540564856983572293742261080900467982724581421247538681411134833947744925240298734704079454290460838991745622071564952935987181618265100572845933629503637255634213551998329148014969263113465557944164680461685127682884288566353355876557397847963429219369272686999423339792981053593129695044549710138805619998179738636090274266219359573245606576891663960276616544810242083302681962204642691055698461438517255563531658830321789299787544576769019036113894206043595814752296509223212883893543657630719719389544337095341480075734466581206225257338328055230708959583292379525504804449472598696710764598437342556904043227734323873744885960869582497146981506516612882214549802111450272219191118245365973787312377804448210183367532898050279115242201030331920816818511818071827645192578738958270722156301077099560393904362365592058262499736840289398592658760205578050747269015152440820804450205150435253640953050996530506600586754451494635310309273357824322097992181967418282074615629769191509885475198332450100828890634092998353902208120016755330475958509331306137574518914219346985950078420593881112539828763699275988646222381470325169458994974133029206865690878289402174624334365742586616368500473560769872029655504609812530988580118590832119388302657545728962850068035424464892481659516547188090122039921784401932965422000450308127358460282859309150588253332069526888286983273459329701244473333683342650681903957711640081079082343969058571765486468686245307384882607124 1233769982834000949593327857974154549873849107642563769483367803385274639175008749995009610884465178078102742094820252388584998826426906037719560275687516913761961072716640502520241549415057396912884899362513815718788027871510065405569021001111145371975357985280458681435251289252990655902997631761425204170137987840900710095018245431950046899880119306746854248734447827758412547098144200365649778617017237111960442959441194535273721769357324248762569268526574233724260491705897225829324687585742226698609565099539557127931993122199043916623106504013399393804352179458363937994714123553974592388718484968257102642867827555116681653335150723938358910598114097002808719054069190916121427806571354852425134251666556123890503757987974958092779197072822473980530715728092803839712750878539681793365748017277673381303479747741267784941596147197012720359898101362253613938603220043373995548729486244024556829097055746869049563621566251090007609501190408687760205831777547057705953468964892482003747894005735381391780333762213144741575222140199059462488792554264220383383576995105825935020056461282825354104661497596299115048779077184831656897558977683201591418137089805316000652517954290859158931498629462391165442400082487989704363311265752175366294736829993885210799302204246956251234659912543556847423634205684753982581577043888119696128961712831817904342861705523465541846942340934105286872221369181667256204216114806797607085973521975789651234887652272422379411296017776625832554212581958456239725531365993015421914015486370311558938474017915930937109643024640116495424552028798753184493735513109692053871631190190316953348600612218943016324568548130687965862010199107217170224078099627469578077771735222780026859949607872533053679951332311010344083094760242740587496064220188653742432625682301655484743657578032143939421608856672261339528127 1996281766524787852462958098679919079183957991831876827042659789658674793308575864476161450944245163916302809740127606151189498484408885367798291543361633325408538265461253154065049679766477811786000453245499729927104183465936166508160337911779924965080610205165965069941559576799028115574977380216277992541488934220200818102019453478624309063822434958944411604496056211587504190638709057349222072359278318012428425684022615782812403180492158196507494508825308937803714782166736217574946759150695162685791183364640129973865622625836299550836658502342547408773615292923921882159394585239102275273007051321612979200265675518545901022607837723361698703579167690132503763603779329721741425986309990942699400471026129369497080649651935234709324007314905776662492920370783859538174189395795245325024578339066973168848056516760303898835802190792827472656407324575137507482260850763093385093066581585504632563563636953094306901949621481798967192793569934192564655304376243768470551906307449386046975628329609126277741203344710291723081738753081274012290904004536439574501822361079613247397860909493008721637559547875414357249809409105648475409377049510846783996876048076038156953595053851253063293864221520653665179240371886582363123516843802922635309889270814689661004452639500597204285656443050157434178085700320064291854934868210217688310929131113892519972630897033351017045274791034934177506314367535569464324232870137273565595304828113364170149106999258372457831889898889165661317911857947102462107001691162474416888148515577177249816763420090555271475385611256484995898112798670782839998345325640680633990222022309705256006146341181793084359993013023169625378557387197339210145862501560435000078222043350138487142808917023121307012020859199297327356554089943985060829747562839335646390337322382734567087626636603909425890295101979646222135251 3230051749358788802056285956654073629057807099474440596526027593043949432483584614471171061828710341994405551834947858539774497310835791405517851819049150239170499338177893656585291229181535208698885352608013545645892211337446231913729358912891070337055968190446423751376810866052018771477975011977703196711626922061101528197037698910574355963702554265691265853230504039345916737736853257714871850976295555124388868643463810318086124949849482445270063777351883171527975273872633443404271446736437389384400748464179687101797615748035343467459765006355946802577967472382285820154108708793076867661725536289870081843133503073662582675942988447300057614177281787135312482657848520637862853792881345795124534722692685493387584407639910192802103204387728250643023636098876663377886940274334927118390326356344646550151536264501571683777398337989840193016305425937391121420864070806467380641796067829529189392660692699963356465571187732888974802294760342880324861136153790826176505375272341868050723522335344507669521537106923436464656960893280333474779696558800659957885399356185439182417917370775834075742221045471713472298588486290480132306936027194048375415013137881354157606113008142112222225362850983044830621640454374572067486828109555098001604626100808574871803754843747553455520316355593714281601719906004818274436511912098337384439890843945710424315492602556816558892217131969039464378535736717236720528448984944071172681278350089153821383994651530794837243185916665791493872124439905558701832533057155489838802164001947488808755237438006486208585028635896601491322664827469536024492080838750372687861853212500022209354746953400736100684561561153857591240567586304556380369940601187904578155993778572918514002758524895654360691972191510307671439648850186725648325811783027989388822963004684390051831284214636053365311903958651907561663378 5226333515883576654519244055333992708241765091306317423568687382702624225792160478947332512772955505910708361575075464690963995795244676773316143362410783564579037603639146810650340908948013020484885805853513275572996394803382398421889696824670995302136578395612388821318370442851046887052952392193981189253115856281302346299057152389198665027524989224635677457726560250933420928375562315064093923335573873136817294327486426100898528130341640641777558286177192109331690056039369660979218205887132552070191931828819817075663238373871643018296423508698494211351582765306207702313503294032179142934732587611483061043399178592208483698550826170661756317756449477267816246261627850359604279779191336737823935193718814862884665057291845427511427211702634027305516556469660522916061129670130172443414904695411619718999592781261875582613200528782667665672712750512528628903124921569560765734862649415033821956224329653057663367520809214687941995088330277072889516440530034594647057281579791254097699150664953633947262740451633728187738699646361607487070600563337099532387221717265052429815778280268842797379780593347127829548397895396128607716313076704895159411889185957392314559708061993365285519227072503698495800880826261154430610344953358020636914515371623264532808207483248150659805972798643871715779805606324882566291446780308555072750819975059602944288123499590167575937491923003973641884850104252806184852681855081344738276583178202517991533101650789167295075075815554957155190036297852661163939534748317964255690312517524666058572000858097041480060414247153086487220777626140318864490426164391053321852075234809727465360893294582529185044554574177027216619124973501895590515803102748339578234215821923057001145567441918775667703993050709604998796202940130710709155559345867325035213300327067124618918910851239962791202199060631553783798629 8456385265242365456575530011988066337299572190780758020094714975746573658275745093418503574601665847905113913410023323230738493106080468178833995181459933803749536941817040467235632138129548229183771158461526821218888606140828630335619055737562065639192546586058812572695181308903065658530927404171684385964742778342403874496094851299773020991227543490326943310957064290279337666112415572778965774311869428261206162970950236418984653080191123087047622063529075280859665329912003104383489652623569941454592680292999504177460854121906986485756188515054441013929550237688493522467612002825256010596458123901353142886532681665871066374493814617961813931933731264403128728919476370997467133572072682532948469916411500356272249464931755620313530416090362277948540192568537186293948069944465099561805231051756266269151129045763447266390598866772507858689018176449919750323988992376028146376658717244563011348885022353021019833091996947576916797383090619953214377576683825420823562656852133122148422673000298141616784277558557164652395660539641940961850297122137759490272621073450491612233695651044676873122001638818841301846986381686608740023249103898943534826902323838746472165821070135477507744589923486743326422521280635726498097173062913118638519141472431839404611962326995704115326289154237585997381525512329700840727958692406892457190710819005313368603616102146984134829709054973013106263385840970042905381130840025415910957861528291671812917096302319962132318261732220748649062160737758219865772067805473454094492476519472154867327238296103527688645442883049687978543442453609854888982507003141426009713928447309749674715640247983265285729116135330884807859692559806451970885743703936244156390209600495975515148325966814430028395965242219912670235851790317436357481371128895314424036263331751514670750195065876016156514103019283461345462007 13682718781125942111094774067322059045541337282087075443663402358449197884067905572365836087374621353815822274985098787921702488901325144952150138543870717368328574545456187277885973047077561249668656964315040096791885000944211028757508752562233060941329124981671201394013551751754112545583879796365665575217858634623706220795152003688971686018752532714962620768683624541212758594487977887843059697647443301398023457298436662519883181210532763728825180349706267390191355385951372765362707858510702493524784612121819321253124092495778629504052612023752935225281133002994701224781115296857435153531190711512836203929931860258079550073044640788623570249690180741670944975181104221357071413351264019270772405110130315219156914522223601047824957627792996305254056749038197709210009199614595272005220135747167885988150721827025322849003799395555175524361730926962448379227113913945588912111521366659596833305109352006078683200612806162264858792471420897026103894017213860015470619938431924376246121823665251775564047018010190892840134360186003548448920897685474859022659842790715544042049473931313519670501782232165969131395384277082737347739562180603838694238791509796138786725529132128842793263816995990441822223402106896880928707518016271139275433656844055103937420169810243854775132261952881457713161331118654583407019405472715447529941530794064916312891739601737151710767200977976986748148235945222849090233812695106760649234444706494189804450197953109129427393337547775705804252197035610881029711602553791418350182789036996820925899239154200569168705857130202774465764220079750173753472933167532479331566003682119477140076533542565794470773670709507912024478817533308347561401546806684583734624425422419032516293893408733205696099958292929517669032054730448147066636930474762639459249563658818639289669105917115978947716302079915015129260636 22139104046368307567670304079310125382840909472867833463758117334195771542343650665784339661976287201720936188395122111152440982007405613130984133725330651172078111487273227745121605185207109478852428122776566918010773607085039659093127808299795126580521671567730013966708733060657178204114807200537349961182601412966110095291246854988744707009980076205289564079640688831492096260600393460622025471959312729659229620269386898938867834290723886815872802413235342671051020715863375869746197511134272434979377292414818825430584946617685615989808800538807376239210683240683194747248727299682691164127648835414189346816464541923950616447538455406585384181623912006074073704100580592354538546923336701803720875026541815575429163987155356668138488043883358583202596941606734895503957269559060371567025366798924152257301850872788770115394398262327683383050749103412368129551102906321617058488180083904159844653994374359099703033704803109841775589854511516979318271593897685436294182595284057498394544496665549917180831295568748057492530020725645489410771194807612618512932463864166035654283169582358196543623783870984810433242370658769346087762811284502782229065693833634885258891350202264320301008406919477185148645923387532607426804691079184257913952798316486943342032132137239558890458551107119043710542856630984284247747364165122339987132241613070229681495355703884135845596910032949999854411621786192891995614943535132176560192306234785861617367294255429091559711599279996454453314357773369100895483670359264872444675265556468975793226477450304096857351300013252462444307662533360028642455440170673905341279932129429226814792173790549059756502786844838796832338510093114799532287290510620827891014635022915008031442219375547635724495923535149430339267906520765583424118301603657953883285826990570153960419300982991995104230405099198476474722643 35821822827494249678765078146632184428382246754954908907421519692644969426411556238150175749350908555536758463380220899074143470908730758083134272269201368540406686032729415023007578232284670728521085087091607014802658608029250687850636560862028187521850796549401215360722284812411290749698686996903015536400460047589816316086398858677716393028732608920252184848324313372704854855088371348465085169606756031057253077567823561458751015501256650544697982762941610061242376101814748635108905369644974928504161904536638146683709039113464245493861412562560311464491816243677895972029842596540126317658839546927025550746396402182030166520583096195208954431314092747745018679281684813711609960274600721074493280136672130794586078509378957715963445671676354888456653690644932604713966469173655643572245502546092038245452572699814092964398197657882858907412480030374816508778216820267205970599701450563756677959103726365178386234317609272106634382325932414005422165611111545451764802533715981874640666320330801692744878313578938950332664380911649037859692092493087477535592306654881579696332643513671716214125566103150779564637754935852083435502373465106620923304485343431024045616879334393163094272223915467626970869325494429488355512209095455397189386455160542047279452301947483413665590813060000501423704187749638867654766769637837787517073772407135145994387095305621287556364111010926986602559857731415741085848756230238937209426750941280051421817492208538220987104936827772160257566554808979981925195272913056290794858054593465796719125716604504666026057157143455236910071882613110202395928373338206384672845935811548703954868707333114854227276457554346708856817327626423147093688837317305411625639060445334040547736112784280841420595881828078948008299961251213730490755232078420593342535390649388793250088406900107974051946707179113491603983279 57960926873862557246435382225942309811223156227822742371179637026840740968755206903934515411327195757257694651775343010226584452916136371214118405994532019712484797520002642768129183417491780207373513209868173932813432215114290346943764369161823314102372468117131229327431017873068468953813494197440365497583061460555926411377645713666461100038712685125541748927965002204196951115688764809087110641566068760716482697837210460397618849791980537360570785176176952732293396817678124504855102880779247363483539196951456972114293985731149861483670213101367687703702499484361090719278569896222817481786488382341214897562860944105980782968121551601794338612938004753819092383382265406066148507197937422878214155163213946370015242496534314384101933715559713471659250632251667500217923738732716015139270869345016190502754423572602863079792595920210542290463229133787184638329319726588823029087881534467916522613098100724278089268022412381948409972180443930984740437205009230888058985129000039373035210816996351609925709609147687007825194401637294527270463287300700096048524770519047615350615813096029912757749349974135589997880125594621429523265184749609403152370179177065909304508229536657483395280630834944812119515248881962095782316900174639655103339253477028990621484434084722972556049364167119545134247044380623151902514133802960127504206014020205375675882451009505423401961021043876986456971479517608633081463699765371113769619057176065913039184786463967312546816536107768614710880912582349082820678943272321163239533320149934772512352194054808762883408457156707699354379545146470231038383813508880290014125867940977930769660881123663913983779244399185505689155837719537946625976127827926239516653695468249048579178332159828477145091805363228378347567867771979313914873533682078547225821217639958947210507707883099969156177112278311968078705922 93782749701356806925200460372574494239605402982777651278601156719485710395166763142084691160678104312794453115155563909300727923824867129297252678263733388252891483552732057791136761649776450935894598296959780947616090823143541034794400930023851501624223264666532444688153302685479759703512181194343381033983521508145742727464044572344177493067445294045793933776289315576901805970777136157552195811172824791773735775405034021856369865293237187905268767939118562793535772919492873139964008250424222291987701101488095118798003024844614106977531625663927999168194315728038986691308412492762943799445327929268240448309257346288010949488704647797003293044252097501564111062663950219777758467472538143952707435299886077164601321005913272100065379387236068360115904322896600104931890207906371658711516371891108228748206996272416956044190793578093401197875709164162001147107536546856028999687582985031673200572201827089456475502340021654055044354506376344990162602816120776339823787662716021247675877137327153302670587922726625958157858782548943565130155379793787573584117077173929195046948456609701628971874916077286369562517880530473512958767558214716024075674664520496933350125108871050646489552854750412439090384574376391584137829109270095052292725708637571037900936736032206386221640177227120046557951232130262019557280903440797915021279786427340521670269546315126710958325132054803973059531337249024374167312455995610050979045808117345964461002278672505533533921472935540774968447467391329064745874216185377454034391374743400569231477910659313428909465614300162936264451427759580433434312186847086674686971803752526634724529588456778768211055701953532214545973165345961093719664965145231651142292755913583089126914444944109318565687687191307326355867829023193044405628765760499140568356608289347740460596114783207943208123819457425459682689201 151743676575219364171635842598516804050828559210600393649780793746326451363921970046019206572005300070052147766930906919527312376741003500511371084258265407965376281072734700559265945067268231143268111506827954880429523038257831381738165299185674815726595732783663674015584320558548228657325675391783746531566582968701669138841690286010638593106157979171335682704254317781098757086465900966639306452738893552490218473242244482253988715085217725265839553115295515525829169737170997644819111131203469655471240298439552090912297010575763968461201838765295686871896815212400077410586982388985761281231816311609455345872118290393991732456826199398797631657190102255383203446046215625843906974670475566830921590463100023534616563502447586484167313102795781831775154955148267605149813946639087673850787241236124419250961419845019819123983389498303943488338938297949185785436856273444852028775464519499589723185299927813734564770362434036003454326686820275974903040021130007227882772791716060620711087954323504912596297531874312965983053184186238092400618667094487669632641847692976810397564269705731541729624266051421959560398006125094942482032742964325427228044843697562842654633338407708129884833485585357251209899823258353679920146009444734707396064962114600028522421170116929358777689541394239591692198276510885171459795037243758042525485800447545897346151997324632134360286153098680959516502816766633007248776155760981164748664865293411877500187065136472846080738009043309389679328379973678147566553159457698617273924694893335341743830104714122191792874071456870635618830972906050664472696000355966964701097671693504565494190469580442682194834946352717720235129003065499040345641092973157890658946451381832137706092777103937795710779492554535704703435696795172358320502299442577687794177825929306687671103822666307912364300931735737427761395123 245526426276576171096836302971091298290433962193378044928381950465812161759088733188103897732683404382846600882086470828828040300565870629808623762521998796218267764625466758350402706717044682079162709803787735828045613861401372416532566229209526317350818997450196118703737623244027988360837856586127127565550104476847411866305734858354816086173603273217129616480543633358000563057243037124191502263911718344263954248647278504110358580378454913171108321054414078319364942656663870784783119381627691947458941399927647209710300035420378075438733464429223686040091130940439064101895394881748705080677144240877695794181375636682002681945530847195800924701442199756947314508710165845621665442143013710783629025762986100699217884508360858584232692490031850191891059278044867710081704154545459332562303613127232647999168416117436775168174183076397344686214647462111186932544392820300881028463047504531262923757501754903191040272702455690058498681193196620965065642837250783567706560454432081868386965091650658215266885454600938924140911966735181657530774046888275243216758924866906005444512726315433170701499182128708329122915886655568455440800301179041451303719508218059776004758447278758776374386340335769690300284397634745264057975118714829759688790670752171066423357906149135744999329718621359638250149508641147191017075940684555957546765586874886419016421543639758845318611285153484932576034154015657381416088611756591215727710673410757841961189343808978379614659481978850164647775847365007212312427375643076071308316069636735910975308015373435620702339685757033571883282400665631097907008187203053639388069475446031200218720058037221450405890648306249934781102168411460134065306058118389541801239207295415226833007222048047114276467179745843031059303525818365402726131065203076828362534434218654428131699937449515855572424751193162887444084324 397270102851795535268472145569608102341262521403978438578162744212138613123010703234123104304688704452898748649017377748355352677306874130319994846780264204183644045698201458909668651784312913222430821310615690708475136899659203798270731528395201133077414730233859792719321943802576217018163531977910874097116687445549081005147425144365454679279761252388465299184797951139099320143708938090830808716650611896754172721889522986364347295463672638436947874169709593845194112393834868429602230512831161602930181698367199300622597045996142043899935303194519372911987946152839141512482377270734466361908960552487151140053493927075994414402357046594598556358632302012330517954756381471465572416813489277614550616226086124233834448010808445068400005592827632023666214233193135315231518101184547006413090854363357067250129835962456594292157572574701288174553585760060372717981249093745733057238512024030852646942801682716925605043064889726061953007880016896939968682858380790795589333246148142489098053045974163127863182986475251890123965150921419749931392713982762912849400772559882815842076996021164712431123448180130288683313892780663397922833044143366878531764351915622618659391785686466906259219825921126941510184220893098943978121128159564467084855632866771094945779076266065103777019260015599229942347785152032362476870977928314000072251387322432316362573540964390979678897438252165892092536970782290388664864767517572380476375538704169719461376408945451225695397491022159554327104227338685359878980535100774688582240764530071252719138120087557812495213757213904207502113373571681762379704187559020604089167147139535765712910527617664132600725594658967655016231171476959174410947151091547432460185658677247364539099999151984909987246672300378735762739222613537761046633364645654516156712260147961115802803760115823767936725682928900315205479447 642796529128371706365308448540699400631696483597356483506544694677950774882099436422227002037372108835745349531103848577183392977872744760128618609302263000401911810323668217260071358501357595301593531114403426536520750761060576214803297757604727450428233727684055911423059567046604205379001388564038001662666791922396492871453160002720270765453364525605594915665341584497099883200951975215022310980562330241018126970536801490474705875842127551608056195224123672164559055050498739214385349894458853550389123098294846510332897081416520119338668767623743058952079077093278205614377772152483171442586104793364846934234869563757997096347887893790399481060074501769277832463466547317087237858956502988398179641989072224933052332519169303652632698082859482215557273511238003025313222255730006338975394467490589715249298252079893369460331755651098632860768233222171559650525641914046614085701559528562115570700303437620116645315767345416120451689073213517905034325695631574363295893700580224357485018137624821343130068441076190814264877117656601407462166760871038156066159697426788821286589722336597883132622630308838617806229779436231853363633345322408329835483860133682394664150232965225682633606166256896631810468618527844208036096246874394226773646303618942161369136982415200848776348978636958868192497293793179553493946918612869957619016974197318735378995084604149824997508723405650824668571124797947770080953379274163596204086212114927561422565752754429605310056973001009718974880074703692572191407910743850759890556834166807163694446135460993433197553442970937779385395774237312860286712374762074243477236622585566965931630585654885583006616242965217589797333339888419308476253209209936974261424865972662591372107221200032024263713852046221766822042748431903163772764429848731344519246694366615543934503697565339623509150434122063202649563771 1040066631980167241633780594110307502972959005001334922084707438890089388005110139656350106342060813288644098180121226325538745655179618890448613456082527204585555856021869676169740010285670508524024352425019117244995887660719780013074029285999928583505648457917915704142381510849180422397164920541948875759783479367945573876600585147085725444733125777994060214850139535636199203344660913305853119697212942137772299692426324476839053171305800190045004069393833266009753167444333607643987580407290015153319304796662045810955494127412662163238604070818262431864067023246117347126860149423217637804495065345851998074288363490833991510750244940384998037418706803781608350418222928788552810275769992266012730258215158349166886780529977748721032703675687114239223487744431138340544740356914553345388485321853946782499428088042349963752489328225799921035321818982231932368506891007792347142940071552592968217643105120337042250358832235142182404696953230414845003008554012365158885226946728366846583071183598984470993251427551442704388842268578021157393559474853801068915560469986671637128666718357762595563746078488968906489543672216895251286466389465775208367248212049305013323542018651692588892825992178023573320652839420943152014217375033958693858501936485713256314916058681265952553368238652558098134845078945211915970817896541183957691268361519751051741568625568540804676406161657816716761108095580238158745818146791735976680461750819097280883942161699880831005454464023169273301984302042377932070388445844625448472797598696878416413584255548551245692767200184841986887509147808994622666416562321094847566403769725102731644541113272549715607341837624185244813564511365378482887200360301484406721610524649909955911207220352016934250960524346600502584781971045440924819397794494385860675958954514576659737307457681163391445876117050963517855043218 1682863161108538947999089042651006903604655488598691405591252133568040162887209576078577108379432922124389447711225074902722138633052363650577232065384790204987467666345537893429811368787028103825617883539422543781516638421780356227877327043604656033933882185601971615565441077895784627776166309105986877422450271290342066748053745149805996210186490303599655130515481120133299086545612888520875430677775272378790426662963125967313759047147927741653060264617956938174312222494832346858372930301748868703708427894956892321288391208829182282577272838442005490816146100339395552741237921575700809247081170139216845008523233054591988607098132834175397518478781305550886182881689476105640048134726495254410909900204230574099939113049147052373665401758546596454780761255669141365857962612644559684363879789344536497748726340122243333212821083876898553896090052204403492019032532921838961228641631081155083788343408557957158895674599580558302856386026443932750037334249643939522181120647308591204068089321223805814123319868627633518653719386234622564855726235724839224981720167413460458415256440694360478696368708797807524295773451653127104650099734788183538202732072182987407987692251616918271526432158434920205131121457948787360050313621908352920632148240104655417684053041096466801329717217289516966327342372738391469464764815154053915310285335717069787120563710172690629673914885063467541429679220378185928826771526065899572884547962934024842306507914454310436315511437024178992276864376746070504261796356588476208363354432863685580108030391009544678890320643155779766272904922046307482953128937083169091043640392310669697576171698927435298613958080589402834610897851253797791363453569511421380983035390622572547283314441552048958514674376392822269406824719477344088592162224343117205195205648881192203671811155246503014955026551173026720504606989 2722929793088706189632869636761314406577614493600026327675959572458129550892319715734927214721493735413033545891346301228260884288231982541025845521467317409573023522367407569599551379072698612349642235964441661026512526082500136240951356329604584617439530643519887319707822588744965050173331229647935753182233750658287640624654330296891721654919616081593715345365620655769498289890273801826728550374988214516562726355389450444152812218453727931698064334011790204184065389939165954502360510709038883857027732691618938132243885336241844445815876909260267922680213123585512899868098070998918447051576235485068843082811596545425980117848377774560395555897488109332494533299912404894192858410496487520423640158419388923266825893579124801094698105434233710694004249000100279706402702969559113029752365111198483280248154428164593296965310412102698474931411871186635424387539423929631308371581702633748052005986513678294201146033431815700485261082979674347595040342803656304681066347594036958050651160504822790285116571296179076223042561654812643722249285710578640293897280637400132095543923159052123074260114787286776430785317123870022355936566124253958746569980284232292421311234270268610860419258150612943778451774297369730512064530996942311614490650176590368673998969099777732753883085455942075064462187451683603385435582711695237873001553697236820838862132335741231434350321046721284258190787315958424087572589672857635549565009713753122123190450076154191267320965901047348265578848678788448436332184802433101656836152031560563996521614646558095924583087843340621753160414069855302105619545499404263938610044162035772429220712812199985014221299918213588079424462362619176274250653929812905787704645915272482503194521661904065892765634900739422771991606690522785013411560018837503065871164603395768863409118612927666406400902668223990238359650207 4405792954197245137631958679412321310182269982198717733267211706026169713779529291813504323100926657537422993602571376130983022921284346191603077586852107614560491188712945463029362747859726716175260119503864204808029164504280492468828683373209240651373412829121858935273263666640749677949497538753922630604684021948629707372708075446697717865106106385193370475881101775902797376435886690347603981052763486895353153018352576411466571265601655673351124598629747142358377612433998301360733441010787752560736160586575830453532276545071026728393149747702273413496359223924908452609335992574619256298657405624285688091334829600017968724946510608735793074376269414883380716181601880999832906545222982774834550058623619497366765006628271853468363507192780307148785010255769421072260665582203672714116244900543019777996880768286836630178131495979597028827501923391038916406571956851470269600223333714903135794329922236251360041708031396258788117469006118280345077677053300244203247468241345549254719249826046596099239891164806709741696281041047266287105011946303479518879000804813592553959179599746483552956483496084583955081090575523149460586665859042142284772712356415279829298926521885529131945690309047863983582895755318517872114844618850664535122798416695024091683022140874199555212802673231592030789529824421994854900347526849291788311839032953890625982696045913922064024235931784751799620466536336610016399361198923535122449557676687146965496957990608501703636477338071527257855713055534518940593981159021577865199506464424249576629645037567640603473408486496401519433318991901609588572674436487433029653684554346442126796884511127420312835257998802990914035360213872974065614107499324327168687681305895055050477836103456114851280309277132245041398431410000129102003722243180620271066370252276961067080929768174169421355929219397016958864257196 7128722747285951327264828316173635716759884475798744060943171278484299264671849007548431537822420392950456539493917677359243907209516328732628923108319425024133514711080353032628914126932425328524902355468305865834541690586780628709780039702813825268812943472641746254981086255385714728122828768401858383786917772606917347997362405743589439520025722466787085821246722431672295666326160492174332531427751701411915879373742026855619383484055383605049188932641537346542443002373164255863093951719826636417763893278194768585776161881312871174209026656962541336176572347510421352477434063573537703350233641109354531174146426145443948842794888383296188630273757524215875249481514285894025764955719470295258190217043008420633590900207396654563061612627014017842789259255869700778663368551762785743868610011741503058245035196451429927143441908082295503758913794577674340794111380781101577971805036348651187800316435914545561187741463211959273378551985792627940118019856956548884313815835382507305370410330869386384356462460985785964738842695859910009354297656882119812776281442213724649503102758798606627216598283371360385866407699393171816523231983296101031342692640647572250610160792154139992364948459660807762034670052688248384179375615792976149613448593285392765681991240651932309095888129173667095251717276105598240335930238544529661313392730190711464844828381655153498374556978506036057811253852295034103971950871781170672014567390440269088687408066762692970957443239118875523434561734322967376926165961454679522035658495984813573151259684125736528056496329837023272593733061756911694192219935891696968263728716382214556017597323327405327056557917016578993459822576492150339864761429137232956392327221167537553672357765360180744045944177871667813390038100522914115415282262018123336937534855672729930490048381101835827756831887621007197223907403 11534515701483196464896786995585957026942154457997461794210382984510468978451378299361935860923347050487879533096489053490226930130800674924232000695171532638694005899793298495658276874792152044700162474972170070642570855091061121178608723076023065920186356301763605190254349922026464406072326307155781014391601794555547055370070481190287157385131828851980456297127824207575093042762047182521936512480515188307269032392094603267085954749657039278400313531271284488900820614807162557223827392730614388978500053864770599039308438426383897902602176404664814749672931571435329805086770056148156959648891046733640219265481255745461917567741398992031981704650026939099255965663116166893858671500942453070092740275666627918000355906835668508031425119819794324991574269511639121850924034133966458457984854912284522836241915964738266557321573404061892532586415717968713257200683337632571847572028370063554323594646358150796921229449494608218061496020991910908285195696910256793087561284076728056560089660156915982483596353625792495706435123736907176296459309603185599331655282247027317203462282358545090180173081779455944340947498274916321277109897842338243316115404997062852079909087314039669124310638768708671745617565808006766256294220234643640684736247009980416857365013381526131864308690802405259126041247100527593095236277765393821449625231763144602090827524427569075562398792910290787857431720388631644120371312070704705794464125067127416054184366057371194674593920577190402781290274789857486317520147120476257387235164960409063149780904721693377131529904816333424792027052053658521282764894372379129997917413270728656682814481834454825639891815915819569907495182790365124405478868928461560125080008527062592604150193868816295595326253455003912854788469510523043217419004505198743608003905107949690997570978149276005249112761107018024156088164599 18663238448769147792161615311759592743702038933796205855153554262994768243123227306910367398745767443438336072590406730849470837340317003656860923803490957662827520610873651528287191001724577373225064830440475936477112545677841749888388762778836891188999299774405351445235436177412179134195155075557639398178519567162464403367432886933876596905157551318767542118374546639247388709088207674696269043908266889719184911765836630122705338233712422883449502463912821835443263617180326813086921344450441025396263947142965367625084600307696769076811203061627356085849503918945751157564204119721694662999124687842994750439627681890905866410536287375328170334923784463315131215144630452787884436456661923365350930492709636338633946807043065162594486732446808342834363528767508822629587402685729244201853464924026025894486951161189696484465015312144188036345329512546387597994794718413673425543833406412205511394962794065342482417190957820177334874572977703536225313716767213341971875099912110563865460070487785368867952816086778281671173966432767086305813607260067719144431563689241041852965385117343696807389680062827304726813905974309493093633129825634344347458097637710424330519248106193809116675587228369479507652235860695014640473595850436616834349695603265809623047004622178064173404578931578926221292964376633191335572208003938351110938624493335313555672352809224229060773349888796823915242974240926678224343262942485876466478692457567685142871774124133887645551363816309278304724836524180453694446313081930936909270823456393876722932164405819113659586401146170448064620785115415432976957114308270826966181141987110871238832079157782230966948373832836148900955005366857274745343630357598793081472335748230130157822551634176476339372197632875580668178507611045957332834286767216866944941439963622420928061026530377841076869592994639031353312072002 30197754150252344257058402307345549770644193391793667649363937247505237221574605606272303259669114493926215605686895784339697767471117678581092924498662490301521526510666950023945467876516729417925227305412646007119683400768902871066997485854859957109185656076168956635489786099438643540267481382713420412570121361718011458737503368124163754290289380170747998415502370846822481751850254857218205556388782078026453944157931233389791292983369462161849815995184106324344084231987489370310748737181055414374764001007735966664393038734080666979413379466292170835522435490381080962650974175869851622648015734576634969705108937636367783978277686367360152039573811402414387180807746619681743107957604376435443670768376264256634302713878733670625911852266602667825937798279147944480511436819695702659838319836310548730728867125927963041786588716206080568931745230515100855195478056046245273115861776475759834989609152216139403646640452428395396370593969614444510509413677470135059436383988838620425549730644701351351549169712570777377609090169674262602272916863253318476086845936268359056427667475888786987562761842283249067761404249225814370743027667972587663573502634773276410428335420233478240986225997078151253269801668701780896767816085080257519085942613246226480412018003704196037713269733984185347334211477160784430808485769332172560563856256479915646499877236793304623172142799087611772674694629558322344714575013190582260942817524695101197056140181505082320145284393499681086015111314037940011966460202407194296505988416802939872713069127512490791116305962503872856647837169073954259722008680649956964098555257839527921646560992237056606840189748655718808450188157222399150822499286060353206552344275292722761972745502992771934698451087879493522966977121569000550253291272415610552945345071572111925632004679653846325982354101657055509400236601 48860992599021492049220017619105142514346232325589873504517491510500005464697832913182670658414881937364551678277302515189168604811434682237953848302153447964349047121540601552232658878241306791150292135853121943596795946446744620955386248633696848298184955850574308080725222276850822674462636458271059810748640928880475862104936255058040351195446931489515540533876917486069870460938462531914474600297048967745638855923767863512496631217081885045299318459096928159787347849167816183397670081631496439771027948150701334289477639041777436056224582527919526921371939409326832120215178295591546285647140422419629720144736619527273650388813973742688322374497595865729518395952377072469627544414266299800794601261085900595268249520921798833220398584713411010660301327046656767110098839505424946861691784760336574625215818287117659526251604028350268605277074743061488453190272774459918698659695182887965346384571946281481886063831410248572731245166947317980735823130444683477031311483900949184291009801132486720219501985799349059048783056602441348908086524123321037620518409625509400909393052593232483794952441905110553794575310223535307464376157493606932011031600272483700740947583526427287357661813225447630760922037529396795537241411935516874353435638216512036103459022625882260211117848665563111568627175853793975766380693773270523671502480749815229202172230046017533683945492687884435687917668870485000569057837955676458727421509982262786339927914305638969965696648209808959390739947838218393706412773284338131205776811873196816595645233533331604450702707108674320921268622284489387236679122988920783930279697244950399160478640150019287573788563581491867709405193524079673896166129643659146288024680023522852919795297137169248274070648720755074191145484732614957883087578039632477497886785035194532853693031210031687402851947096296086862712308603 79058746749273836306278419926450692284990425717383541153881428758005242686272438519454973918083996431290767283964198299528866372282552360819046772800815938265870573632207551576178126754758036209075519441265767950716479347215647492022383734488556805407370611926743264716215008376289466214730117840984480223318762290598487320842439623182204105485736311660263538949379288332892352212788717389132680156685831045772092800081699096902287924200451347207149134454281034484131432081155305553708418818812551854145791949158437300953870677775858103035637961994211697756894374899707913082866152471461397908295156156996264689849845557163641434367091660110048474414071407268143905576760123692151370652371870676236238272029462164851902552234800532503846310436980013678486239125325804711590610276325120649521530104596647123355944685413045622568038192744556349174208819973576589308385750830506163971775556959363725181374181098497621289710471862676968127615760916932425246332544122153612090747867889787804716559531777188071571051155511919836426392146772115611510359440986574356096605255561777759965820720069121270782515203747393802862336714472761121835119185161579519674605102907256977151375918946660765598648039222525782014191839198098576434009228020597131872521580829758262583871040629586456248831118399547296915961387330954760197189179542602696232066337006295144848672107282810838307117635486972047460592363500043322913772412968867040988364327506957887536984054487144052285841932603308640476755059152256333718379233486745325502282800289999756468358302660844095241819013071178193777916459453563341496401131669570740894378252502789927082125201142256344180628753330147586517855381681302073046988628929719499494577024298815575681768042640162020208769099808634567714112461854183958433340869312048088050832130106766644779325035889685533728834301197953142372112545204 127919739348295328355498437545555834799336658042973414658398920268505248150970271432637644576498878368655318962241500814718034977093987043057000621102969386230219620753748153128410785632999343000225811577118889894313275293662392112977769983122253653705555567777317572796940230653140288889192754299255540034067403219478963182947375878240244456681183243149779079483256205818962222673727179921047154756982880013517731656005466960414784555417533232252448452913377962643918779930323121737106088900444048293916819897309138635243348316817635539091862544522131224678266314309034745203081330767052944193942296579415894409994582176690915084755905633852736796788569003133873423972712500764620998196786136976037032873290548065447170801755722331337066709021693424689146540452372461478700709115830545596383221889356983697981160503700163282094289796772906617779485894716638077761576023604966082670435252142251690527758753044779103175774303272925540858860927864250405982155674566837089122059351790736989007569332909674791790553141311268895475175203374556960418445965109895393717123665187287160875213772662353754577467645652504356656912024696296429299495342655186451685636703179740677892323502473088052956309852447973412775113876727495371971250639956114006225957219046270298687330063255468716459948967065110408484588563184748735963569873315873219903568817756110374050844337328828371991063128174856483148510032370528323482830250924543499715785837489220673876911968792783022251538580813117599867495006990474727424792006771083456708059612163196573064003536194175699692521720179852514699185081738052728733080254658491524824657949747740326242603841292275631754417316911639454227260575205381746943154758573378645782601704322338428601563339777331268482839748529389641905257946586798916316428447351680565548718915141961177633018067099717221131686248294249229234824853807 206978486097569164661776857472006527084327083760356955812280349026510490837242709952092618494582874799946086246205699114246901349376539403876047393903785324496090194385955704704588912387757379209301331018384657845029754640878039605000153717610810459112926179704060837513155239029429755103922872140240020257386165510077450503789815501422448562166919554810042618432635494151854574886515897310179834913668711059289824456087166057317072479617984579459597587367658997128050212011478427290814507719256600148062611846467575936197218994593493642127500506516342922435160689208742658285947483238514342102237452736412159099844427733854556519122997293962785271202640410402017329549472624456772368849158007652273271145320010230299073353990522863840913019458673438367632779577698266190291319392155666245904751993953630821337105189113208904662327989517462966953694714690214667069961774435472246642210809101615415709132934143276724465484775135602508986476688781182831228488218688990701212807219680524793724128864686862863361604296823188731901567350146672571928805406096469749813728920749064920841034492731475025359982849399898159519248739169057551134614527816765971360241806086997655043699421419748818554957891670499194789305715925593948405259867976711138098478799876028561271201103885055172708780085464657705400549950515703496160759052858475916135635154762405518899516444611639210298180763661828530609102395870571646396602663893410540704150164996178561413896023279927074537380513416426240344250066142731061143171240257828782210342412453196329532361838855019794934340733251030708477101541191616070229481386328062265719036202250530253324729042434531975935046070241787040745115956886683819990143387503098145277178728621154004283331382417493288691608848338024209619370408440982874749769316663728653599551045248727822412343102989402754860520549492202371606937399011 334898225445864493017275295017562361883663741803330370470679269295015738988212981384730263071081753168601405208447199928964936326470526446933048015006754710726309815139703857832999698020756722209527142595503547739343029934540431717977923700733064112818481747481378410310095469682570043993115626439495560291453568729556413686737191379662693018848102797959821697915891699970816797560243077231226989670651591072807556112092633017731857035035517811712046040281036959771968991941801549027920596619700648441979431743776714571440567311411129181219363051038474147113427003517777403489028814005567286296179749315828053509839009910545471603878902927815522067991209413535890753522185125221393367045944144628310304018610558295746244155746245195177979728480366863056779320030070727668992028507986211842287973883310614519318265692813372186756617786290369584733180609406852744831537798040438329312646061243867106236891687188055827641259078408528049845337616645433237210643893255827790334866571471261782731698197596537655152157438134457627376742553521229532347251371206365143530852585936352081716248265393828779937450495052402516176160763865353980434109870471952423045878509266738332936022923892836871511267744118472607564419592653089320376510507932825144324436018922298859958531167140523889168729052529768113885138513700452232124328926174349136039203972518515892950360781940467582289243891836685013757612428241099969879432914817954040419936002485399235290807992072710096788919094229543840211745073133205788567963247028912238918402024616392902596365375049195494626862453430883223176286622929668798962561640986553790543694151998270579567332883726807607689463387153426494972376532092065566933298146076476791059780432943492432884894722194824557174448596867413851524628355027781791066197764015409219148269960390689000045361170089119975992206797786451600841762252818 541876711543433657679052152489568888967990825563687326282959618321526229825455691336822881565664627968547491454652899043211837675847065850809095408910540035222400009525659562537588610408514101418828473613888205584372784575418471322978077418343874571931407927185439247823250708711999799097038498579735580548839734239633864190527006881085141581015022352769864316348527194122671372446758974541406824584320302132097380568179799075048929514653502391171643627648695956900019203953279976318735104338957248590042043590244290507637786306004622823346863557554817069548587692726520061774976297244081628398417202052240212609683437644400028123001900221778307339193849823937908083071657749678165735895102152280583575163930568526045317509736768059018892747939040301424412099607768993859283347900141878088192725877264245340655370881926581091418945775807832551686875324097067411901499572475910575954856870345482521946024621331332552106743853544130558831814305426616068439132111944818491547673791151786576455827062283400518513761734957646359278309903667902104276056777302834893344581506685417002557282758125303805297433344452300675695409503034411531568724398288718394406120315353735987979722345312585690066225635788971802353725308578683268781770375909536282422914818798327421229732271025579061877509137994425819285688464216155728285087979032825052174839127280921411849877226552106792587424655498513544366714824111671616276035578711364581124086167481577796704704015352637171326299607645970080555995139275936849711134487286741021128744437069589232128727213904215289561203186681913931653388164121284869192043027314616056262730354248800832892061926161339583624509457395213535717492488978749386923441533579574936336959161564646437168226104612317845866057445205438061143998763468764665815967080679137872747821005639416822457704273078522730852727347278653972448699651829 876774936989298150696327447507131250851654567367017696753638887616541968813668672721553144636746381137148896663100098972176774002317592297742143423917294745948709824665363420370588308429270823628355616209391753323715814509958903040956001119076938684749889674666817658133346178394569843090154125019231140840293302969190277877264198260747834599863125150729686014264418894093488170007002051772633814254971893204904936680272432092780786549689020202883689667929732916671988195895081525346655700958657897032021475334021005079078353617415752004566226608593291216662014696244297465264005111249648914694596951368068266119522447554945499726880803149593829407185059237473798836593842874899559102941046296908893879182541126821791561665483013254196872476419407164481191419637839721528275376408128089930480699760574859859973636574739953278175563562098202136420055933503920156733037370516348905267502931589349628182916308519388379748002931952658608677151922072049305649776005200646281882540362623048359187525259879938173665919173092103986655052457189131636623308148509200036875434092621769084273531023519132585234883839504703191871570266899765512002834268760670817451998824620474320915745269205422561577493379907444409918144901231772589158280883842361426747350837720626281188263438166102951046238190524193933170826977916607960409416905207174188214043099799437304800238008492574374876668547335198558124327252352771586155468493529318621544022169966977031995512007425347268115218701875513920767740212409142638279097734315653260047146461685982134725092588953410784188065640112797154829674787050953668154604668301169846806424506247071412459394809888147191313972844548640030689869021070814953856739679656051727396739594508138870053120826807142403040506042072851912668627118496546456882164844694547091896090966030105822503065443167642706844934145065105573290461904647 1418651648532731808375379599996700139819645392930705023036598505938068198639124364058376026202411009105696388117752998015388611678164658148551238832827834781171109834191022982908176918837784925047184089823279958908088599085377374363934078537420813256681297601852256905956596887106569642187192623598966721389133037208824142067791205141832976180878147503499550330612946088216159542453761026314040638839292195337002317248452231167829716064342522594055333295578428873572007399848361501665390805297615145622063518924265295586716139923420374827913090166148108286210602388970817527038981408493730543093014153420308478729205885199345527849882703371372136746378909061411706919665500624577724838836148449189477454346471695347836879175219781313215765224358447465905603519245608715387558724308269968018673425637839105200629007456666534369594509337906034688106931257600987568634536942992259481222359801934832150128940929850720931854746785496789167508966227498665374088908117145464773430214153774834935643352322163338692179680908049750345933362360857033740899364925812034930220015599307186086830813781644436390532317183957003867566979769934177043571558667049389211858119139974210308895467614518008251643719015696416212271870209810455857940051259751897709170265656518953702417995709191682012923747328518619752456515442132763688694504884239999240388882227080358716650115235044681167464093202833712102491042076464443202431504072240683202668108337448554828700216022777984439441518309521484001323735351685079487990232221602394281175890898755571366853819802857626073749268826794711086483062951172238537346647695615785903069154860495872245351456736049486774938482301943853566407361510049564340780181213235626663733698756072785307221346931419460248906563487278289973812625881965311122698131925373684964643911971669522644960769716246165437697661492343759545739161556476 2295426585522029959071707047503831390671299960297722719790237393554610167452793036779929170839157390242845284780853096987565385680482250446293382256745129527119819658856386403278765227267055748675539706032671712231804413595336277404890079656497751941431187276519074564089943065501139485277346748618197862229426340178014419945055403402580810780741272654229236344877364982309647712460763078086674453094264088541907253928724663260610502614031542796939022963508161790243995595743443027012046506256273042654084994258286300665794493540836126832479316774741399502872617085215114992302986519743379457787611104788376744848728332754291027576763506520965966153563968298885505756259343499477283941777194746098371333529012822169628440840702794567412637700777854630386794938883448436915834100716398057949154125398413965060602644031406487647770072900004236824526987191104907725367574313508608386489862733524181778311857238370109311602749717449447776186118149570714679738684122346111055312754516397883294830877582043276865845600081141854332588414818046165377522673074321234967095449691928955171104344805163568975767201023461707059438550036833942555574392935810060029310117964594684629811212883723430813221212395603860622190015111042228447098332143594259135917616494239579983606259147357784963969985519042813685627342420049371649103921789447173428602925326879796021450353243537255542340761750168910660615369328817214788586972565770001824212130507415531860695728030203331707556737011396997922091475564094222126269329955918047541223037360441553501578912391811036857937334466907508241312737738223192205501252363916955749875579366742943657810851545937633966252455146492493597097230531120379294636920892891678391130438350580924177274467758226602651947069529351141886481253000461857579580296770068232056540002937699628467463835159413808144542595637408865119029623461123 3714078234054761767447086647500531530490945353228427742826835899492678366091917400838305197041568399348541672898606095002953997358646908594844621089572964308290929493047409386186942146104840673722723795855951671139893012680713651768824158193918565198112484878371331470046539952607709127464539372217164583618559377386838562012846608544413786961619420157728786675490311070525807254914524104400715091933556283878909571177176894428440218678374065390994356259086590663816002995591804528677437311553888188276148513182551596252510633464256501660392406940889507789083219474185932519341967928237110000880625258208685223577934217953636555426646209892338102899942877360297212675924844124055008780613343195287848787875484517517465320015922575880628402925136302096292398458129057152303392825024668025967827551036253070261231651488073022017364582237910271512633918448705895294002111256500867867712222535459013928440798168220830243457496502946236943695084377069380053827592239491575828742968670172718230474229904206615558025280989191604678521777178903199118422038000133269897315465291236141257935158586808005366299518207418710927005529806768119599145951602859449241168237104568894938706680498241439064864931411300276834461885320852684305038383403346156845087882150758533686024254856549466976893732847561433438083857862182135337798426673687172668991807553960154738100468478581936709804854953002622763106411405281657991018476638010685026880238844864086689395944052981316146998255320918481923415210915779301614259562177520441822398928259197124868432732194668662931686603293702219327795800689395430742847900059532741652944734227238815903162308281987120741190937448436347163504592041169943635417102106127305054864137106653709484495814689646062900853633016629431860293878882427168702278428695441917021183914909369151112424604875659973582240257129752624664768785017599 6009504819576791726518793695004362921162245313526150462617073293047288533544710437618234367880725789591386957679459191990519383039129159041138003346318093835410749151903795789465707373371896422398263501888623383371697426276049929173714237850416317139543672154890406034136483018108848612741886120835362445847985717564852981957902011946994597742360692811958023020367676052835454967375287182487389545027820372420816825105901557689050721292405608187933379222594752454059998591335247555689483817810161230930233507440837896918305127005092628492871723715630907291955836559401047511644954447980489458668236362997061968426662550707927583003409716413304069053506845659182718432184187623532292722390537941386220121404497339687093760856625370448041040625914156726679193397012505589219226925741066083916981676434667035321834295519479509665134655137914508337160905639810803019369685570009476254202085268983195706752655406590939555060246220395684719881202526640094733566276361837686884055723186570601525305107486249892423870881070333459011110191996949364495944711074454504864410914983165096429039503391971574342066719230880417986444079843602062154720344538669509270478355069163579568517893381964869878086143806904137456651900431894912752136715546940415981005498644998113669630514003907251940863718366604247123711200282231506986902348463134346097594732880839950759550821722119192252145616703171533423721780734098872779605449203780686851092369352279618550091672083184647854554992332315479845506686479873523740528892133438489363621965619638678370011644586479699789623937760609727569108538427618622948349152423449697402820313593981759560973159827924754707443392594928840760601822572290322930054022999018983445994575457234633661770282447872665552800702545980573746775131882889026281858725465510149077723917847068779579888440035073781726782852767161489783798408478722 9723583053631553493965880342504894451653190666754578205443909192539966899636627838456539564922294188939928630578065286993473380397776067635982624435891058143701678644951205175652649519476737096120987297744575054511590438956763580942538396044334882337656157033261737504183022970716557740206425493052527029466545094951691543970748620491408384703980112969686809695857987123361262222289811286888104636961376656299726396283078452117490939970779673578927735481681343117876001586927052084366921129364049419206382020623389493170815760469349130153264130656520415081039056033586980030986922376217599459548861621205747192004596768661564138430055926305642171953449723019479931108109031747587301503003881136674068909279981857204559080872547946328669443551050458822971591855141562741522619750765734109884809227470920105583065947007552531682499237375824779849794824088516698313371796826510344121914307804442209635193453574811769798517742723341921663576286903709474787393868601329262712798691856743319755779337390456507981896162059525063689631969175852563614366749074587774761726380274401237686974661978779579708366237438299128913449609650370181753866296141528958511646592173732474507224573880206308942951075218204414291113785752747597057175098950286572826093380795756647355654768860456718917757451214165680561795058144413642324700775136821518766586540434800105497651290200701128961950471656174156186828192139380530770623925841791371877972608197143705239487616136165964001553247653233961768921897395652825354788454310958931186020893878835803238444376781148362721310541054311946896904339117014053691197052482982439055765047821220575464135468109911875448634330043365187924106414613460266565471125105146288500858712563888343146266097137518728453654335562610005607069010765316194984137154160952066098907832756437930692313044910733755309023109896914114448567193496321 15733087873208345220484674037509257372815435980280728668060982485587255433181338276074773932803019978531315588257524478983992763436905226677120627782209151979112427796855000965118356892848633518519250799633198437883287865232813510116252633894751199477199829188152143538319505988825406352948311613887889475314530812516544525928650632438402982446340805781644832716225663176196717189665098469375494181989197028720543221388980009806541661263185281766861114704276095571936000178262299640056404947174210650136615528064227390089120887474441758646135854372151322372994892592988027542631876824198088918217097984202809160431259319369491721433465642718946241006956568678662649540293219371119594225394419078060289030684479196891652841729173316776710484176964615549650785252154068330741846676506800193801790903905587140904900242527032041347633892513739288186955729728327501332741482396519820376116393073425405341946108981402709353577988943737606383457489430349569520960144963166949596854415043313921281084444876706400405767043129858522700742161172801928110311460149042279626137295257566334116014165370751154050432956669179546899893689493972243908586640680198467782124947242896054075742467262171178821037219025108551747765686184642509809311814497226988807098879440754761025285282864363970858621169580769927685506258426645149311603123599955864864181273315640056257202111922820321214096088359345689610549972873479403550229375045572058729064977549423323789579288219350611856108239985549441614428583875526349095317346444397420549642859498474481608456021367628062510934478814921674466012877544632676639546204906432136458585361415202335025108627937836630156077722638294028684708237185750589495525148104165271946853288021122976808036379585391394006455038108590579353844142648205221265995879626462215176631750603506710272201484945807537035805962664075604232365601975043 25456670926839898714450554380014151824468626647035306873504891678127222332817966114531313497725314167471244218835589765977466143834681294313103252218100210122814106441806206140771006412325370614640238097377773492394878304189577091058791029939086081814855986221413881042502528959541964093154737106940416504781075907468236069899399252929811367150320918751331642412083650299557979411954909756263598818950573685020269617672058461924032601233964955345788850185957438689812001765189351724423326076538260069342997548687616883259936647943790888799399985028671737454033948626575007573618799200415688377765959605408556352435856088031055859863521569024588412960406291698142580648402251118706895728398300214734357939964461054096211922601721263105379927728015074372622377107295631072264466427272534303686600131376507246487966189534584573030133129889564068036750553816844199646113279223030164498030700877867614977139562556214479152095731667079528047033776334059044308354013564496212309653106900057241036863782267162908387663205189383586390374130348654491724678209223630054387863675531967571802988827349530733758799194107478675813343299144342425662452936821727426293771539416628528582967041142377487763988294243312966038879471937390106866486913447513561633192260236511408380940051724820689776378620794935608247301316571058791636303898736777383630767813750440161754853402123521450176046560015519845797378165012859934320853300887363430607037585746567029029066904355516575857661487638783403383350481271179174450105800755356351735663753377310284846900398148776425232245019869233621362917216661646730330743257389414575514350409236422910489244096047748505604712052681659216608814651799210856060996273209311560447712000585011319954302476722910122460109373671200584960913153413521416250133033787414281275539583359944640964514529856541292344829072560989718680932795471364 41189758800048243934935228417523409197284062627316035541565874163714477765999304390606087430528334146002559807093114244961458907271586520990223880000309362101926534238661207105889363305174004133159488897010971930278166169422390601175043663833837281292055815409566024580822034948367370446103048720828305980095606719984780595828049885368214349596661724532976475128309313475754696601620008225639093000939770713740812839061038471730574262497150237112649964890233534261748001943451651364479731023712470719479613076751844273349057535418232647445535839400823059827028841219563035116250676024613777295983057589611365512867115407400547581296987211743534653967362860376805230188695470489826489953792719292794646970648940250987864764330894579882090411904979689922273162359449699403006313103779334497488391035282094387392866432061616614377767022403303356223706283545171700978854761619549984874147093951293020319085671537617188505673720610817134430491265764408613829314158527663161906507521943371162317948227143869308793430248319242109091116291521456419834989669372672334014000970789533905919002992720281887809232150776658222713236988638314669571039577501925894075896486659524582658709508404548666585025513268421517786645158122032616675798727944740550440291139677266169406225334589184660634999790375705535932807574997703940947907022336733248494949087066080218012055514046341771390142648374865535407928137886339337871082675932935489336102563295990352818646192574867187713769727624332844997779065146705523545423147199753772285306612875784766455356419516404487743179498684155295828930094206279406970289462295846711972935770651625245514352723985585135760789775319953245293522888984961445556521421313476832394565288606134296762338856308301516466564411779791164314757296061726637516128913413876496452171333963451351236716014802348829380635035225065322913298397446407 66646429726888142649385782797537561021752689274351342415070765841841700098817270505137400928253648313473804025928704010938925051106267815303327132218409572224740640680467413246660369717499374747799726994388745422673044473611967692233834693772923363106911801630979905623324563907909334539257785827768722484876682627453016665727449138298025716746982643284308117540392963775312676013574917981902691819890344398761082456733096933654606863731115192458438815076190972951560003708641003088903057100250730788822610625439461156608994183362023536244935824429494797281062789846138042689869475225029465673749017195019921865302971495431603441160508780768123066927769152074947810837097721608533385682191019507529004910613401305084076686932615842987470339632994764294895539466745330475270779531051868801174991166658601633880832621596201187407900152292867424260456837362015900624968040842580149372177794829160635296225234093831667657769452277896662477525042098467658137668172092159374216160628843428403354812009411032217181093453508625695481490421870110911559667878596302388401864646321501477721991820069812621568031344884136898526580287782657095233492514323653320369668026076153111241676549546926154349013807511734483825524630059422723542285641392254112073483399913777577787165386314005350411378411170641144180108891568762732584210921073510632125716900816520379766908916169863221566189208390385381205306302899199272191935976820298919943140149042557381847713096930383763571431215263116248381129546417884697995528947955110124020970366253095051302256817665180912975424518553388917191847310867926137301032719685261287487286179888048156003596820033333641365501828001612461902337540784172301617517694522788392842277289191145616716641333031211638926673785450991749275670449475248053766261947201290777727710917323395992201230544658890121725464107786055041594231192917771 107836188526936386584321011215060970219036751901667377956636640005556177864816574895743488358781982459476363833021818255900383958377854336293551012218718934326667174919128620352549733022673378880959215891399717352951210643034358293408878357606760644398967617040545930204146598856276704985360834548597028464972289347437797261555499023666240066343644367817284592668702277251067372615194926207541784820830115112501895295794135405385181126228265429571088779966424507213308005652092654453382788123963201508302223702191305429958051718780256183690471663830317857108091631065701077806120151249643242969732074784631287378170086902832151022457495992511657720895132012451753041025793192098359875635983738800323651881262341556071941451263510422869560751537974454217168701826195029878277092634831203298663382201940696021273699053657817801785667174696170780484163120907187601603822802462130134246324888780453655615310905631448856163443172888713796908016307862876271966982330619822536122668150786799565672760236554901525974523701827867804572606713391567331394657547968974722415865617111035383640994812790094509377263495660795121239817276420971764804532091825579214445564512735677693900386057951474820934039320780156001612169788181455340218084369336994662513774539591043747193390720903190011046378201546346680112916466566466673532117943410243880620665987882600597778964430216204992956331856765250916613234440785538610063018652753234409279242712338547734666359289505250951285200942887449093378908611564590221540952095154863896306276979128879817757613237181585400718604017237544213020777405074205544271322181981107999460221950539673401517949544018918777126291603321565707195860429769133747174039115836265225236842577797279913478980189339513155393238197230782913590427745536974691282390860615167274179882251286847343437946559461238951106099143011120364507529590364178 174482618253824529233706794012598531240789441176018720371707405847397877963633845400880889287035630772950167858950522266839309009484122151596878144437128506551407815599596033599210102740172753628758942885788462775624255116646325985642713051379684007505879418671525835827471162764186039524618620376365750949848971974890813927282948161964265783090627011101592710209095241026380048628769844189444476640720459511262977752527232339039787989959380622029527595042615480164868009360733657542285845224213932297124834327630766586567045902142279719935407488259812654389154420911839120495989626474672708643481091979651209243473058398263754463618004773279780787822901164526700851862890913706893261318174758307852656791875742861156018138196126265857031091170969218512064241292940360353547872165883072099838373368599297655154531675254018989193567326989038204744619958269203502228790843304710283618502683609614290911536139725280523821212625166610459385541349961343930104650502711981910338828779630227969027572245965933743155617155336493500054097135261678242954325426565277110817730263432536861362986632859907130945294840544932019766397564203628860038024606149232534815232538811830805142062607498400975283053128291890485437694418240878063760370010729248774587257939504821324980556107217195361457756612716987824293025358135229406116328864483754512746382888699120977545873346386068214522521065155636297818540743684737882254954629573533329222382861381105116514072386435634714856632158150565341760038157982474919536481043109974020327247345381974869059870054846766313694028535790933130212624715942131681572354901666369286947508130427721557521546364052252418491793431323178169098197970553306048791556810359053618079119866988425530195621522370724794319911982681774662866098195012222745048652807816458051907593168610243335639177104120129072831563250797175406101760783281949 282318806780760915818027805227659501459826193077686098328344045852954055828450420296624377645817613232426531691972340522739692967861976487890429156655847440878074990518724653951759835762846132509718158777188180128575465759680684279051591408986444651904847035712071766031617761620462744509979454924962779414821261322328611188838447185630505849434271378918877302877797518277447421243964770396986261461550574623764873048321367744424969116187646051600616375009039987378176015012826311995668633348177133805427058029822072016525097620922535903625879152090130511497246051977540198302109777724315951613213166764282496621643145301095905486075500765791438508718033176978453892888684105805253136954158497108176308673138084417227959589459636688726591842708943672729232943119135390231824964800714275398501755570539993676428230728911836790979234501685208985228783079176391103832613645766840417864827572390067946526847045356729379984655798055324256293557657824220202071632833331804446461496930417027534700332482520835269130140857164361304626703848653245574348982974534251833233595880543572245003981445650001640322558336205727141006214840624600624842556697974811749260797051547508499042448665449875796217092449072046487049864206422333403978454380066243437101032479095865072173946828120385372504134814263334504405941824701696079648446807893998393367048876581721575324837776602273207478852921920887214431775184470276492317973282326767738501625573719652851180431675940885666141833101038014435138946769547065141077433138264837916633524324510854686817483292028351714412632553028477343233402121016337225843677083647477286407730080967394959039495908071171195618085034644743876294058400322439795965595926195318843315962444785705443674601711710237949713150179912557576456525940549197436331043668431625326087475419897090679077123663581368023937662393808295770609290373646127 456801425034585445051734599240258032700615634253704818700051451700351933792084265697505266932853244005376699550922862789579001977346098639487307301092975947429482806118320687550969938503018886138477101662976642904199720876327010264694304460366128659410726454383597601859088924384648784034598075301328530364670233297219425116121395347594771632524898390020470013086892759303827469872734614586430738102271034135027850800848600083464757106147026673630143970051655467543044024373559969537954478572391066102551892357452838603092143523064815623561286640349943165886400472889379318798099404198988660256694258743933705865116203699359659949693505539071219296540934341505154744751575019512146398272333255416028965465013827278383977727655762954583622933879912891241297184412075750585372836966597347498340128939139291331582762404165855780172801828674247189973403037445594606061404489071550701483330255999682237438383185082009903805868423221934715679099007785564132176283336043786356800325710047255503727904728486769012285758012500854804680800983914923817303308401099528944051326143976109106366968078509908771267853176750659160772612404828229484880581304124044284076029590359339304184511272948276771500145577363936972487558624663211467738824390795492211688290418600686397154502935337580733961891426980322328698967182836925485764775672377752906113431765280842552870711122988341422001373987076523512250315928155014374572927911900301067724008435100757967694504062376520380998465259188579776898984927529540060613914181374811936960771669892829555877353346875118028106661088819410473446026836958468907416031985313846573355238211395116516561042272123423614109878465967922045392256370875745844757152736554372461395082311774130973870223234080962744033062162594332239322624135561420181379696476248083377995068588507334014716300767701497096769225644605471176711051156928076 739120231815346360869762404467917534160441827331390917028395497553305989620534685994129644578670857237803231242895203312318694945208075127377736457748823388307557796637045341502729774265865018648195260440164823032775186636007694543745895869352573311315573490095669367890706686005111528544577530226291309779491494619548036304959842533225277481959169768939347315964690277581274891116699384983416999563821608758792723849169967827889726222334672725230760345060695454921220039386386281533623111920568199907978950387274910619617241143987351527187165792440073677383646524866919517100209181923304611869907425508216202486759349000455565435769006304862657805258967518483608637640259125317399535226491752524205274138151911695611937317115399643310214776588856563970530127531211140817197801767311622896841884509679285008010993133077692571152036330359456175202186116621985709894018134838391119348157828389750183965230230438739283790524221277258971972656665609784334247916169375590803261822640464283038428237211007604281415898869665216109307504832568169391652291375633780777284922024519681351370949524159910411590411512956386301778827245452830109723138002098856033336826641906847803226959938398152567717238026435983459537422831085544871717278770861735648789322897696551469328449763457966106466026241243656833104909007538621565413222480271751299480480641862564128195548899590614629480226908997410726682091112625290866890901194227068806225634008820410818874935738317406047140298360226594212037931697076605201691347319639649853594295994403684242694836638903469742519293641847887816679428957974806133259709068961323859762968292362511475600538180194594809727963500612665921686314771198185640722748662749691304711044756559836417544824945791200693746212342506889815779150076110617617710740144679708704082544008404424693793424431282865120706888038413766947320341530574203 1195921656849931805921497003708175566861057461585095735728446949253657923412618951691634911511524101243179930793818066101897696922554173766865043758841799335737040602755366029053699712768883904786672362103141465936974907512334704808440200329718701970726299944479266969749795610389760312579175605527619840144161727916767461421081237880820049114484068158959817329051583036885102360989433999569847737666092642893820574650018567911354483328481699398860904315112350922464264063759946251071577590492959266010530842744727749222709384667052167150748452432790016843270046997756298835898308586122293272126601684252149908351875552699815225385462511843933877101799901859988763382391834144829545933498825007940234239603165738973995915044771162597893837710468769455211827311943286891402570638733908970395182013448818576339593755537243548351324838159033703365175589154067580315955422623909941820831488084389432421403613415520749187596392644499193687651755673395348466424199505419377160062148350511538542156141939494373293701656882166070913988305816483093208955599776733309721336248168495790457737917602669819182858264689707045462551439650281059594603719306222900317412856232266187107411471211346429339217383603799920432024981455748756339456103161657227860477613316297237866482952698795546840427917668223979161803876190375547051177998152649504205593912407143406681066260022578956051481600896073934238932407040780305241463829106127369873949642443921168786569439800693926428138763619415173988936916624606145262305261501014461790555067664296513798572189985778587770625954730667298290125455794933275040675741054275170433118206503757627992161580452318018423837841966580587967078571142073931485479901399304063766106127068333967391415048179872163437779274505101222055101774211672037799090436620927792082077612596911758708509725198984362217476113683019238124031392687502279 1935041888665278166791259408176093101021499288916486652756842446806963913033153637685764556090194958480983162036713269414216391867762248894242780216590622724044598399392411370556429487034748923434867622543306288969750094148342399352186096199071275282041873434574936337640502296394871841123753135753911149923653222536315497726041080414045326596443237927899164645016273314466377252106133384553264737229914251652613298499188535739244209550816372124091664660173046377385484103146332532605200702413527465918509793132002659842326625811039518677935618225230090520653693522623218352998517768045597883996509109760366110838634901700270790821231518148796534907058869378472372020032093270146945468725316760464439513741317650669607852361886562241204052487057626019182357439474498032219768440501220593292023897958497861347604748670321240922476874489393159540377775270689566025849440758748332940179645912779182605368843645959488471386916865776452659624412339005132800672115674794967963323970990975821580584379150501977575117555751831287023295810649051262600607891152367090498621170193015471809108867126829729594448676202663431764330266895733889704326857308321756350749682874173034910638431149744581906934621630235903891562404286834301211173381932518963509266936213993789335811402462253512946893943909467635994908785197914168616591220632921255505074393049005970809261808922169570680961827805071344965614498153405596108354730300354438680175276452741579605444375539011332475279061979641768200974848321682750463996608820654111644149363658700198041267026624682057513145248372515186106804884752908081173935450123236494292881174796120139467762118632512613233565805467193253888764885913272117126202650062053755070817171824893803808959873125663364131525486847608111870880924287782655416801176765607500786160156605316183402303149630267227338183001721433005071351734218076482 3130963545515209972712756411884268667882556750501582388485289396060621836445772589377399467601719059724163092830531335516114088790316422661107823975432422059781639002147777399610129199803632828221539984646447754906725001660677104160626296528789977252768173379054203307390297906784632153702928741281530990067814950453082959147122318294865375710927306086858981974067856351351479613095567384123112474896006894546433873149207103650598692879298071522952568975285397299849748166906278783676778292906486731929040635876730409065036010478091685828684070658020107363923740520379517188896826354167891156123110794012516019190510454400086016206694029992730412008858771238461135402423927414976491402224141768404673753344483389643603767406657724839097890197526395474394184751417784923622339079235129563687205911407316437687198504207564789273801712648426862905553364424757146341804863382658274761011133997168615026772457061480237658983309510275646347276168012400481267096315180214345123386119341487360122740521089996350868819212633997357937284116465534355809563490929100400219957418361511262266846784729499548777306940892370477226881706546014949298930576614544656668162539106439222018049902361091011246152005234035824323587385742583057550629485094176191369744549530291027202294355161049059787321861577691615156712661388289715667769218785570759710668305456149377490328068944748526732443428701145279204546905194185901349818559406481808554124918896662748392013815339705258903417825599056942189911764946288895726301870321668573434704431322996711839839216610460645283771203103182484396930340547841356214611191177511664725999381299877767459923699084830631657403647433773841855843457055346048611682551461357818836923298893227771200374921305535527569304761352709333925982698499454693215891613386535292868237769202227942110812874829251589555659115404452243195383126905578761 5066005434180488139504015820060361768904056039418069041242131842867585749478926227063164023691914018205146254867244604930330480658078671555350604192023044783826237401540188770166558686838381751656407607189754043876475095809019503512812392727861252534810046813629139645030800203179503994826681877035442139991468172989398456873163398708910702307370544014758146619084129665817856865201700768676377212125921146199047171648395639389842902430114443647044233635458443677235232270052611316281978995320014197847550429008733068907362636289131204506619688883250197884577434043002735541895344122213489040119619903772882130029145356100356807027925548141526946915917640616933507422456020685123436870949458528869113267085801040313211619768544287080301942684584021493576542190892282955842107519736350156979229809365814299034803252877886030196278587137820022445931139695446712367654304141406607701190779909947797632141300707439726130370226376052099006900580351405614067768430855009313086710090332463181703324900240498328443936768385828644960579927114585618410171382081467490718578588554526734075955651856329278371755617095033908991211973441748839003257433922866413018912221980612256928688333510835593153086626864271728215149790029417358761802867026695154879011485744284816538105757623302572734215805487159251151621446586203884284360439418492015215742698505155348299589877866918097413405256506216624170161403347591497458173289706836247234300195349404327997458190878716591378696887578698710390886613267971646190298479142322685078853794981696909881106243235142702796916451475697670503735225300749437388546641300748159018880556095997906927685817717343244890969452900967095744608342968618165737885201523411573907740470718121575009334794431198891700830248200317445796863622787237348632692790152142793654397925807544125513116024459518816893842117125885248266734861123655243 8196968979695698112216772231944630436786612789919651429727421238928207585924698816440563491293633077929309347697775940446444569448395094216458428167455466843607876403687966169776687886642014579877947591836201798783200097469696607673438689256651229787578220192683342952421098109964136148529610618316973130059283123442481416020285717003776078018297850101617128593151986017169336478297268152799489687021928040745481044797602743040441595309412515169996802610743840977084980436958890099958757288226500929776591064885463477972398646767222890335303759541270305248501174563382252730792170476381380196242730697785398149219655810500442823234619578134257358924776411855394642824879948100099928273173600297273787020430284429956815387175202011919399832882110416967970726942310067879464446598971479720666435720773130736722001757085450819470080299786246885351484504120203858709459167524064882462201913907116412658913757768919963789353535886327745354176748363806095334864746035223658210096209673950541826065421330494679312755981019826002897864043580119974219734873010567890938536006916037996342802436585828827149062557987404386218093679987763788302188010537411069687074761087051478946738235871926604399238632098307552538737175772000416312432352120871346248756035274575843740400112784351632521537667064850866308334107974493599952129658204062774926411003961304725789917946811666624145848685207361903374708308541777398807991849113318055788425114246067076389472006218421850282114713177755652580798378214260541916600349463991258513558226304693621720945459845603348080687654578880154900665565848590793603157832478259823744879937395875674387609516802173876548373100334740937600451800023964214349567752984769392744663769611349346209709715736734419270135009553026779722846321286692041848584403538678086522635695009772067623928899288770406449501232530337491462117988029234004 13262974413876186251720788052004992205690668829337720470969553081795793335403625043503727514985547096134455602565020545376775050106473765771809032359478511627434113805228154939943246573480396331534355199025955842659675193278716111186251081984512482322388267006312482597451898313143640143356292495352415270050751296431879872893449115712686780325668394116375275212236115682987193343498968921475866899147849186944528216445998382430284497739526958817041036246202284654320212707011501416240736283546515127624141493894196546879761283056354094841923448424520503133078608606384988272687514598594869236362350601558280279248801166600799630262545126275784305840694052472328150247335968785223365144123058826142900287516085470270027006943746298999701775566694438461547269133202350835306554118707829877645665530138945035756805009963336849666358886924066907797415643815650571077113471665471490163392693817064210291055058476359689919723762262379844361077328715211709402633176890232971296806300006413723529390321570993007756692749405654647858443970694705592629906255092035381657114595470564730418758088442158105520818175082438295209305653429512627305445444460277482705986983067663735875426569382762197552325258962579280753886965801417775074235219147566501127767521018860660278505870407654205255753472552010117459955554560697484236490097622554790142153702466460074089507824678584721559253941713578527544869711889368896266165138820154303022725309595471404386930197097138441660811600756454362971684991482232188106898828606313943592412021286390531602051703080746050877604106054577825404400791149340230991704473779007982763760493491873581315295334519517121439342553235708033345060142992582380087452954508180966652404240329470921219044510167933310970965257753344225519709944073929390481277193690820880177033620817316193137044923748289223343343349656222739728852849152889247 21459943393571884363937560283949622642477281619257371900696974320724000921328323859944291006279180174063764950262796485823219619554868859988267460526933978471041990208916121109719934460122410911412302790862157641442875290748412718859689771241163712109966487198995825549872996423107776291885903113669388400110034419874361288913734832716462858343966244217992403805388101700156529821796237074275356586169777227690009261243601125470726093048939473987037838856946125631405193143970391516199493571773016057400732558779660024852159929823576985177227207965790808381579783169767241003479685074976249432605081299343678428468456977101242453497164704410041664765470464327722793072215916885323293417296659123416687307946369900226842394118948310919101608448804855429517996075512418714771000717679309598312101250912075772478806767048787669136439186710313793148900147935854429786572639189536372625594607724180622949968816245279653709077298148707589715254077079017804737497922925456629506902509680364265355455742901487687069448730425480650756308014274825566849641128102603272595650602386602726761560525027986932669880733069842681427399333417276415607633454997688552393061744154715214822164805254688801951563891060886833292624141573418191386667571268437847376523556293436504018905983192005837777291139616860983768289662535191084188619755826617565068564706427764799879425771490251345705102626920940430919578020431146295074156987933472358811150423841538480776402203315560291942926313934210015552483369696492730023499178070305202105970247591084153322997162926349398958291760633457980305066356997931024594862306257267806508640430887749255702904851321690997987715653570448970945511943016546594437020707492950359397068009940820267428754225904667730241100267306371005242556265360621432329861597229498966699669315827088260760973823037059629792844582186560231190970837182123251 34722917807448070615658348335954614848167950448595092371666527402519794256731948903448018521264727270198220552827817031199994669661342625760076492886412490098476104014144276049663181033602807242946657989888113484102550484027128830045940853225676194432354754205308308147324894736251416435242195609021803670160785716306241161807183948429149638669634638334367679017624217383143723165295205995751223485317626414634537477689599507901010590788466432804078875103148410285725405850981892932440229855319531185024874052673856571731921212879931080019150656390311311514658391776152229276167199673571118668967431900901958707717258143702042083759709830685825970606164516800050943319551885670546658561419717949559587595462455370496869401062694609918803384015499293891065265208714769550077554836387139475957766781051020808235611777012124518802798073634380700946315791751505000863686110855007862788987301541244833241023874721639343628801060411087434076331405794229514140131099815689600803708809686777988884846064472480694826141479831135298614751984969531159479547383194638654252765197857167457180318613470145038190698908152280976636704986846789042913078899457966035099048727222378950697591374637450999503889150023466114046511107374835966460902790416004348504291077312297164297411853599660043033044612168871101228245217095888568425109853449172355210718408894224873968933596168836067264356568634518958464447732320515191340322126753626661833875733437009885163332400412698733603737914690664378524168361178724918130398006676619145698382268877474684925048866007095449835895866688035805709467148147271255586566780036275789272400924379622837018200185841208119427058206806157004290572086009128974524473662001131326049472250270291188647798736072601041212065525059715230762266209434550822811138790920319846876702936644404453898018746785348853136187931842782970919823686335012498 56182861201019954979595908619904237490645232067852464272363501723243795178060272763392309527543907444261985503090613517023214289216211485748343953413346468569518094223060397159383115493725218154358960780750271125545425774775541548905630624466839906542321241404304133697197891159359192727128098722691192070270820136180602450720918781145612497013600882552360082823012319083300252987091443070026580071487403642324546738933200633371736683837405906791116713960094535917130598994952284448639723427092547242425606611453516596584081142703508065196377864356102119896238174945919470279646884748547368101572513200245637136185715120803284537256874535095867635371634981127773736391767802555869951978716377072976274903408825270723711795181642920837904992464304149320583261284227188264848555554066449074269868031963096580714418544060912187939237260344694494095215939687359430650258750044544235414581909265425456190992690966918997337878358559795023791585482873247318877629022741146230310611319367142254240301807373968381895590210256615949371059999244356726329188511297241926848415800243770183941879138498131970860579641222123658064104320264065458520712354455654587492110471377094165519756179892139801455453041084352947339135248948254157847570361684442195880814633605733668316317836791665880810335751785732084996534879631079652613729609275789920279283115321989673848359367659087412969459195555459389384025752751661486414479114687099020645026157278548365939734603728259025546664228624874394076651730875217648153897184746924347804352516468558838248046028933444848794187627321493786014533505145202280181429086293543595781041355267372092721105037162899117414773860376605975236084029025675568961494369494081685446540260211111456076552961977268771453165792366086236004822474795172255141000388149818813576372252471492714658992569822408482929032514029343202110794523517135749 90905779008468025595254256955858852338813182516447556644030029125763589434792221666840328048808634714460206055918430548223208958877554111508420446299758958667994198237204673209046296527328025397305618770638384609647976258802670378951571477692516100974675995609612441844522785895610609162370294331712995740431605852486843612528102729574762135683235520886727761840636536466443976152386649065777803556805030056959084216622800141272747274625872339595195589063242946202856004845934177381079953282412078427450480664127373168316002355583439145215528520746413431410896566722071699555814084422118486770539945101147595843902973264505326621016584365781693605977799497927824679711319688226416610540136095022535862498871280641220581196244337530756708376479803443211648526492941957814926110390453588550227634813014117388950030321073036706742035333979075195041531731438864431513944860899552098203569210806670289432016565688558340966679418970882457867916888667476833017760122556835831114320129053920243125147871846449076721731690087751247985811984213887885808735894491880581101180998100937641122197751968277009051278549374404634700809307110854501433791253913620622591159198599473116217347554529590800959342191107819061385646356323090124308473152100446544385105710918030832613729690391325923843380363954603186224780096726968221038839462724962275490001524216214547817292963827923480233815764189978347848473485072176677754801241440725682478901890715558251103067004140957759150402143315538772600820092053942566284295191423543493502734785346033523173094894940540298630083494009529591724000653292473535767995866329819385053442279646994929739305223004107236841832067182762979526656115034804543485968031495213011496012510481402644724351698049869812665231317425801466767088684229723077952139179070138660453075189115897168557011316607757336065220445872126173030618209852148247 147088640209487980574850165575763089829458414584300020916393530849007384612852494430232637576352542158722191559009044065246423248093765597256764399713105427237512292460265070368429412021053243551664579551388655735193402033578211927857202102159356007516997237013916575541720677054969801889498393054404187810702425988667446063249021510720374632696836403439087844663648855549744229139478092135804383628292433699283630955556000774644483958463278246386312303023337482119986603840886461829719676709504625669876087275580889764900083498286947210411906385102515551307134741667991169835460969170665854872112458301393232980088688385308611158273458900877561241349434479055598416103087490782286562518852472095512137402280105911944292991425980451594613368944107592532231787777169146079774665944520037624497502844977213969664448865133948894681272594323769689136747671126223862164203610944096333618151120072095745623009256655477338304557777530677481659502371540724151895389145297982061424931448421062497365449679220417458617321900344367197356871983458244612137924405789122507949596798344707825064076890466408979911858190596528292764913627374919959954503608369275210083269669976567281737103734421730602414795232192172008724781605271344282156043513784888740265920344523764500930047527182991804653716115740335271221314976358047873652569072000752195769284639538204221665652331487010893203274959745437737232499237823838164169280356127824703123928047994106617042801607869216784697066371940413166677471822929160214438192376170467841307087301814592361421140923873985147424271121331023377738534158437675815949424952623362980834483634914367022460410260167006354256605927559368954762740144060480112447462400989294696942552770692514100800904660027138584118397109791887702771911159024895333093139567219957474029447441587389883216003886430165818994252959901469375141412733369283996 237994419217956006170104422531621942168271597100747577560423559974770974047644716097072965625161176873182397614927474613469632206971319708765184846012864385905506490697469743577475708548381268948970198322027040344841378292380882306808773579851872108491673232623529017386243462950580411051868687386117183551134031841154289675777124240295136768380071924325815606504285392016188205291864741201582187185097463756242715172178800915917231233089150585981507892086580428322842608686820639210799629991916704097326567939708262933216085853870386355627434905848928982718031308390062869391275053592784341642652403402540828823991661649813937779290043266659254847327233976983423095814407179008703173058988567118047999901151386553164874187670317982351321745423911035743880314270111103894700776334973626174725137657991331358614479186206985601423307928302844884178279402565088293678148471843648431821720330878766035055025822344035679271237196501559939527419260208200984913149267854817892539251577474982740490597551066866535339053590432118445342683967672132497946660300281003089050777796445645466186274642434685988963136739970932927465722934485774461388294862282895832674428868576040397954451288951321403374137423299991070110427961594434406464516665885335284651026055441795333543777217574317728497096479694938457446095073085016094691408534725714471259286163754418769482945295314934373437090723935416085080972722896014841924081597568550385602829938709664868145868612010174543847468515255951939278291914983102780722487567594011334809822087160625884594235818814525446054354615340552969462534811730149351717420818953182365887925914561361952199715483171113591098437994742131934289396259095284655933430432484507708438565281173916745525256358077008396783628427217689169538999843254618411045278746290096134482522630703287051773015203037923155059473405773595548172030943221432243 385083059427443986744954588107385031997730011685047598476817090823778358660497210527305603201513719031904589173936518678716055455065085306021949245725969813143018783157734813945905120569434512500634777873415696080034780325959094234665975682011228116008670469637445592927964140005550212941367080440521371361836457829821735739026145751015511401076908327764903451167934247565932434431342833337386570813389897455526346127734801690561715191552428832367820195109917910442829212527707101040519306701421329767202655215289152698116169352157333566039341290951444534025166050058054039226736022763450196514764861703934061804080350035122548937563502167536816088676668456039021511917494669790989735577841039213560137303431492465109167179096298433945935114368018628276112102047280249974475442279493663799222640502968545328278928051340934496104580522626614573315027073691312155842352082787744765439871450950861780678035078999513017575794974032237421186921631748925136808538413152799953964183025896045237856047230287283993956375490776485642699555951130377110084584706070125597000374594790353291250351532901094968874994930567461220230636561860694421342798470652171042757698538552607679691555023373052005788932655492163078835209566865778688620560179670224024916946399965559834473824744757309533150812595435273728667410049443063968343977606726466667028570803292622991148597626801945266640365683680853822313471960719853006093361953696375088726757986703771485188670219879391328544534887196365105955763737912262995160679943764479176116909388975218246015376742688510593478625736671576347201068970167825167666845771576545346722409549475728974660125743338119945355043922301500889052136403155764768380892833473802405381118051866430846326161018104146980902025537009576872310911002279513744138418313510053608511970072290676934989019089468088974053726365675064923313443676590716239 623077478645399992915059010639006974166001608785795176037240650798549332708141926624378568826674895905086986788863993292185687662036405014787134091738834199048525273855204557523380829117815781449604976195442736424876158618339976541474749261863100224500343702260974610314207602956130623993235767826638554912970489670976025414803269991310648169456980252090719057672219639582120639723207574538968757998487361211769061299913602606478946424641579418349328087196498338765671821214527740251318936693338033864529223154997415631332255206027719921666776196800373516743197358448116908618011076356234538157417265106474890628072011684936486716853545434196070936003902433022444607731901848799692908636829606331608137204582879018274041366766616416297256859791929664019992416317391353869176218614467289973947778160959876686893407237547920097527888450929459457493306476256400449520500554631393197261591781829627815733060901343548696847032170533797360714340891957126121721687681007617846503434603371027978346644781354150529295429081208604088042239918802509608031245006351128686051152391235998757436626175335780957838131670538394147696359496346468882731093332935066875432127407128648077646006312324373409163070078792154148945637528460213095085076845555559309567972455407355168017601962331627261647909075130212186113505122528080063035386141452181138287856967047041760631542922116879640077456407616269907394444683615867848017443551264925474329587925413436353334538831889565872392003402452317045234055652895365775883167511358490510926731476135844130609612561503036039532980352012129316663603781897974519384266590529727712610335464037090926859841226509233536453481917043632823341532662251049424314323265958310113819683333040347591851417376181155377685653964227266041849910845534132155183697059800149742994492702993963986762034292506012129113199771448660471485474619812148482 1008160538072843979660013598746392006163731620470842774514057741622327691368639137151684172028188614936991575962800511970901743117101490320809083337464804012191544057012939371469285949687250293950239754068858432504910938944299070776140724943874328340509014171898420203242171742961680836934602848267159926274806947500797761153829415742326159570533888579855622508840153887148053074154550407876355328811877258667295407427648404297040661616194008250717148282306416249208501033742234841291838243394759363631731878370286568329448424558185053487706117487751818050768363408506170947844747099119684734672182126810408952432152361720059035654417047601732887024680570889061466119649396518590682644214670645545168274508014371483383208545862914850243191974159948292296104518364671603843651660893960953773170418663928422015172335288888854593632468973556074030808333549947712605362852637419137962701463232780489596411095980343061714422827144566034781901262523706051258530226094160417800467617629267073216202692011641434523251804571985089730741795869932886718115829712421254283051526986026352048686977708236875926713126601105855367926996058207163304073891803587237918189825945681255757337561335697425414952002734284317227780847095325991783705637025225783334484918855372915002491426707088936794798721670565485914780915171971144031379363748178647805316427770339664751780140548918824906717822091297123729707916644335720854110805504961300563056345912117207838523209051768957200936538289648682151189819390807628771043847455122969687043640865111062376624989304191546633011606088683705663864672752065799687051112362106273059332745013512819901519966969847353481808525839345133712393669065406814192695216099432112519200801384906778438177578394285302358587679501236842914160821847813645899322115373310203351506462775284640921751053381974101103166926137123725394798918296402864721 1631238016718243972575072609385398980329733229256637950551298392420877024076781063776062740854863510842078562751664505263087430779137895335596217429203638211240069330868143928992666778805066075399844730264301168929787097562639047317615474205737428565009357874159394813556379345917811460927838616093798481187777437171773786568632685733636807739990868831946341566512373526730173713877757982415324086810364619879064468727562006903519608040835587669066476369502914587974172854956762581543157180088097397496261101525283983960780679764212773409372893684552191567511560766954287856462758175475919272829599391916883843060224373404995522371270593035928957960684473322083910727381298367390375552851500251876776411712597250501657249912629531266540448833951877956316096934682062957712827879508428243747118196824888298702065742526436774691160357424485533488301640026204113054883353192050531159963055014610117412144156881686610411269859315099832142615603415663177380251913775168035646971052232638101194549336792995585052547233653193693818784035788735396326147074718772382969102679377262350806123603883572656884551258271644249515623355554553632186804985136522304793621953352809903834983567648021798824115072813076471376726484623786204878790713870781342644052891310780270170509028669420564056446630745695698100894420294499224094414749889630828943604284737386706512411683471035704546795278498913393637102361327951588702128249056226226037385933837530644191857747883658523073328541692100999196423875043702994546927014966481460197970372341246906507234601865694582672544586440695834980528276533963774206435378952636000771943080477549910828379808196356587018262007756388766535735201727657863617009539365390422633020484717947126030028995770466457736273333465464108956010732693347778054505812433110353094500955478278604908513087674480113232280125908572385866284392916215013203 2639398554791087952235086208131790986493464849727480725065356134043204715445420200927746912883052125779070138714465017233989173896239385656405300766668442223431613387881083300461952728492316369350084484333159601434698036506938118093756199149611756905518372046057815016798551088879492297862441464360958407462584384672571547722462101475962967310524757411801964075352527413878226788032308390291679415622241878546359876155210411200560269657029595919783624651809330837182673888698997422834995423482856761127992979895570552290229104322397826897079011172304009618279924175460458804307505274595604007501781518727292795492376735125054558025687640637661844985365044211145376847030694885981058197066170897421944686220611621985040458458492446116783640808111826248612201453046734561556479540402389197520288615488816720717238077815325629284792826398041607519109973576151825660246205829469669122664518247390607008555252862029672125692686459665866924516865939369228638782139869328453447438669861905174410752028804637019575799038225178783549525831658668283044262904431193637252154206363288702854810581591809532811264384872750104883550351612760795490878876940109542711811779298491159592321128983719224239067075547360788604507331719112196662496350896007125978537810166153185173000455376509500851245352416261184015675335466470368125794113637809476748920712507726371264191824019954529453513100590210517366810277972287309556239054561187526600442279749647852030380956935427480274265079981749681347613694434510623317970862421604429885014013206357968883859591169886129305556192529379540644392949286029573893486491314742273831275825491062730729899775166203940500070533595733900248128870793064677809704755464822535152221286102853904468206574164751760094861012966700951870171554541161423953827927806420556446007418253563245830264141056454214335447052045696111261083311212617877924 4270636571509331924810158817517189966823198078984118675616654526464081739522201264703809653737915636621148701466129522497076604675377280992001518195872080434671682718749227229454619507297382444749929214597460770364485134069577165411371673355349185470527729920217209830354930434797303758790280080454756888650361821844345334291094787209599775050515626243748305641864900940608400501910066372707003502432606498425424344882772418104079877697865183588850101021312245425156846743655760004378152603570954158624254081420854536251009784086610600306451904856856201185791484942414746660770263450071523280331380910644176638552601108530050080396958233673590802946049517533229287574411993253371433749917671149298721097933208872486697708371121977383324089642063704204928298387728797519269307419910817441267406812313705019419303820341762403975953183822527141007411613602355938715129559021520200282627573262000724420699409743716282536962545774765699067132469355032406019034053644496489094409722094543275605301365597632604628346271878372477368309867447403679370409979149966020221256885740551053660934185475382189695815643144394354399173707167314427677683862076631847505433732651301063427304696631741023063182148360437259981233816342898401541287064766788468622590701476933455343509484045930064907691983161956882116569755760969592220208863527440305692524997245113077776603507490990234000308379089123911003912639300238898258367303617413752637828213587178496222238704819086003347593621673850680544037569478213617864897877388085890082984385547604875391094193035580711978100778970075375624921225819993348099921870267378274603218905968612641558279583362560527518332541352122666783864072520722541426714294830212957785241770820801030498235569935218217831134346432165060826182287234509202008333740239530909540508373731841850738777228730934327567727177954268497127367704128832891127 6910035126300419877045245025648980953316662928711599400682010660507286454967621465631556566620967762400218840180594539731065778571616666648406818962540522658103296106630310529916572235789698814100013698930620371799183170576515283505127872504960942376046101966275024847153481523676796056652721544815715296112946206516916882013556888685562742361040383655550269717217428354486627289942374762998682918054848376971784221037982829304640147354894779508633725673121576262339520632354757427213148027053810919752247061316425088541238888409008427203530916029160210804071409117875205465077768724667127287833162429371469434044977843655104638422645874311252647931414561744374664421442688139352491946983842046720665784153820494471738166829614423500107730450175530453540499840775532080825786960313206638787695427802521740136541898157088033260746010220568748526521587178507764375375764850989869405292091509391331429254662605745954662655232234431565991649335294401634657816193513824942541848391956448450016053394402269624204145310103551260917835699106071962414672883581159657473411092103839756515744767067191722507080028017144459282724058780075223168562739016741390217245511949792223019625825615460247302249223907798048585741148062010598203783415662795594601128511643086640516509939422439565758937335578218066132245091227439960346002977165249782441445709752839449040795331510944763453821479679334428370722917272526207814606358178601279238270493336826348252619661754513483621858701655600361891651263912724241182868739809690319967998398753962844274953784205466841283656971499454916269314175106022921993408361582120548434494731459675372288179358528764468018403074947856567031992943313787219236419050295035492937463056923654934966442144099969977925995359398866012696353841775670625962161668045951465986515791985405096569041369787388541903174229999964608388451015341450769051 11180671697809751801855403843166170920139861007695718076298665186971368194489822730335366220358883399021367541646724062228142383246993947640408337158412603092774978825379537759371191743087081258849942913528081142163668304646092448916499545860310127846573831886492234677508411958474099815443001625270472184763308028361262216304651675895162517411556009899298575359082329295095027791852441135705686420487454875397208565920755247408720025052759963097483826694433821687496367376010517431591300630624765078376501142737279624792248672495619027509982820886016411989862894060289952125848032174738650568164543340015646072597578952185154718819604107984843450877464079277603951995854681392723925696901513196019386882087029366958435875200736400883431820092239234658468798228504329600095094380224024080055102240116226759555845718498850437236699194043095889533933200780863703090505323872510069687919664771392055849954072349462237199617778009197265058781804649434040676850247158321431636258114050991725621354759999902228832491581981923738286145566553475641785082862731125677694667977844390810176678952542573912202895671161538813681897765947389650846246601093373237722679244601093286446930522247201270365431372268235308566974964404908999745070480429584063223719213120020095860019423468369630666629318740174948248814846988409552566211840692690088133970706997952526817398839001934997454129858768458339374635556572765106072973661796015031876098706924004844474858366573599486969452323329451042435688833390937859047766617197776210050982784301567719666047977241047553261757750469530291894235400926016270093330231849498823037713637428288013846458941891324995536735616299979233815857015834509760663133345125248450722704827744455965464677714035188195757129705831031073522536129010179827970495408285482375527024165717246947307818598518322869470901407954233105515818719470283660178 18090706824110171678900648868815151873456523936407317476980675847478654649457444195966922786979851161421586381827318601959208161818610614288815156120953125750878274932009848289287763978876780072949956612458701513962851475222607732421627418365271070222619933852767259524661893482150895872095723170086187480876254234878179098318208564580725259772596393554848845076299757649581655081794815898704369338542303252368992786958738076713360172407654742606117552367555397949835888008365274858804448657678575998128748204053704713333487560904627454713513736915176622793934303178165157590925800899405777855997705769387115506642556795840259357242249982296096098808878641021978616417297369532076417643885355242740052666240849861430174042030350824383539550542414765112009298069279861680920881340537230718842797667918748499692387616655938470497445204263664638060454787959371467465881088723499939093211756280783387279208734955208191862273010243628831050431139943835675334666440672146374178106506007440175637408154402171853036636892085474999203981265659547604199755746312285335168079069948230566692423719609765634709975699178683272964621824727464874014809340110114627939924756550885509466556347862661517667680596176033357152716112466919597948853896092379657824847724763106736376529362890809196425566654318393014381059938215849512912214817857939870575416416750791975858194170512879760907951338447792767745358473845291313887580019974616311114369200260831192727478028328112970591311024985051404327340097303662100230635357007466530018981183055530563941001761446514394545414721968985208163549576032039192086738593431619371472208368887963386134638300420089463555138691247835800847849959148296979899552395420283943660167884668110900431119858135158173683125065229897086218889970785850453932657076331433841513539957702652043876859968305711411374075637954197713904269734811734429229 29271378521919923480756052711981322793596384944103035553279341034450022843947266926302289007338734560442953923474042664187350545065604561929223493279365728843653253757389386048658955721963861331799899525986782656126519779868700181338126964225581198069193765739259494202170305440624995687538724795356659665639562263239441314622860240475887777184152403454147420435382086944676682873647257034410055759029758127766201352879493324122080197460414705703601379061989219637332255384375792290395749288303341076505249346790984338125736233400246482223496557801193034783797197238455109716773833074144428424162249109402761579240135748025414076061854090280939549686342720299582568413152050924800343340786868438759439548327879228388609917231087225266971370634653999770478096297784191281015975720761254798897899908034975259248233335154788907734144398306760527594387988740235170556386412596010008781131421052175443129162807304670429061890788252826096109212944593269716011516687830467805814364620058431901258762914402074081869128474067398737490126832213023245984838609043411012862747047792621376869102672152339546912871370340222086646519590674854524861055941203487865662604001151978795913486870109862788033111968444268665719691076871828597693924376521963721048566937883126832236548786359178827092195973058567962629874785204259065478426658550629958709387123748744502675593009514814758362081197216251107119994030418056419960553681770631342990467907184836037202336394901712457560763348314502446763028930694599959278401974205242740069963967357098283607049738687561947807172472438515500057784976958055462180068825281118194509922006316251399981097242311414459091874307547815034663706974982806740562685740545532394382872712412566865895797572170346369440254771060928159741426099796030281903152484616916217040564123419898991184678566824034280844977045908430819420088454282018089407 47362085346030095159656701580796474667052908880510353030260016881928677493404711122269211794318585721864540305301361266146558706884215176218038649400318854594531528689399234337946719700840641404749856138445484170089371255091307913759754382590852268291813699592026753726832198922775891559634447965442847146515816498117620412941068805056613036956748797008996265511681844594258337955442072933114425097572061380135194139838231400835440369868069448309718931429544617587168143392741067149200197945981917074633997550844689051459223794304873936937010294716369657577731500416620267307699633973550206280159954878789877085882692543865673433304104072577035648495221361321561184830449420456876760984672223681499492214568729089818783959261438049650510921177068764882487394367064052961936857061298485517740697575953723758940620951810727378231589602570425165654842776699606638022267501319509947874343177332958830408371542259878620924163798496454927159644084537105391346183128502614179992471126065872076896171068804245934905765366152873736694108097872570850184594355355696348030826117740851943561526391762105181622847069518905359611141415402319398875865281313602493602528757702864305380043217972524305700792564620302022872407189338748195642778272614343378873414662646233568613078149249988023517762627376960977010934723420108578390641476408569829284803540499536478533787180027694519270032535664043874865352504263347733848133701745247654104837107445667229929814423229825428152074373299553851090369027998262059509037331212709270088945150412628847548051500134076342352587194407500708221334552990094654266807418712737565982130375204214786115735542731503922647012998795650835511556934131103720462238135965816338043040597080677766326917430305504543123379836290825245960316070581880735835809560948350058554104081122551035061538535129745692219052683862628533324358189093752518636 76633463867950018640412754292777797460649293824613388583539357916378700337351978048571500801657320282307494228775403930333909251949819738147262142679684583438184782446788620386605675422804502736549755664432266826215891034960008095097881346816433466361007465331286247929002504363400887247173172760799506812155378761357061727563929045532500814140901200463143685947063931538935020829089329967524480856601819507901395492717724724957520567328484154013320310491533837224500398777116859439595947234285258151139246897635673389584960027705120419160506852517562692361528697655075377024473467047694634704322203988192638665122828291891087509365958162857975198181564081621143753243601471381677104325459092120258931762896608318207393876492525274917482291811722764652965490664848244242952832782059740316638597483988699018188854286965516285965734000877185693249230765439841808578653913915519956655474598385134273537534349564549049986054586749281023268857029130375107357699816333081985806835746124303978154933983206320016774893840220272474184234930085594096169432964399107360893573165533473320430629063914444728535718439859127446257661006077173923736921222517090359265132758854843101293530088082387093733904533064570688592098266210576793336702649136307099921981600529360400849626935609166850609958600435528939640809508624367643869068134959199787994190664248280981209380189542509277632113732880294981985346534681404153808687383515878997095305014630503267132150818131537885712837721614056297853397958692862018787439305417952010158909117769727131155101238821638290159759666846016208279119529948150116446876243993855760492052381520466186096832785042918381738887306343465870175263909113910461024923876511348732425913309493244632222715002475850912563634607351753405701742170377911017738962045565266275594668204542450026246217101953779973064029729771059352744446643375770608043 123995549213980113800069455873574272127702202705123741613799374798307377830756689170840712595975906004172034534076765196480467958834034914365300792080003438032716311136187854724552395123645144141299611802877750996305262290051316008857635729407285734652821164923313001655834703286176778806807620726242353958671195259474682140504997850589113851097649997472139951458745776133193358784531402900638905954173880888036589632555956125792960937196553602323039241921078454811668542169857926588796145180267175225773244448480362441044183822009994356097517147233932349939260198071695644332173101021244840984482158866982515751005520835756760942670062235435010846676785442942704938074050891838553865310131315801758423977465337408026177835753963324567993212988791529535452885031912297204889689843358225834379295059942422777129475238776243664197323603447610858904073542139448446600921415235029904529817775718093103945905891824427670910218385245735950428501113667480498703882944835696165799306872190176055051105052010565951680659206373146210878343027958164946354027319754803708924399283274325263992155455676549910158565509378032805868802421479493322612786503830692852867661516557707406673573306054911399434697097684872711464505455549324988979480921750650478795396263175593969462705084859154874127721227812489916651744232044476222259709611367769617278994204747817459743167369570203796902146268544338856850699038944751887656821085261126651200142122076170497061965241361363313864912094913610148943766986691124078296476636630661280247854268182355978703152738955714632512346861253516916500454082938244770713683662706593326474182756724680972212568327774422304385900305139116705686820843245014181487162012477165070468953906573922398549632432781355455687014443642578651662058240959791753574771606513616334148772285665001061307755637083525665283082413633687886068804832469523126679 200629013081930132440482210166352069588351496529737130197338732714686078168108667219412213397633226286479528762852169126814377210783854652512562934759688021470901093582976475111158070546449646877849367467310017822521153325011324103955517076223719201013828630254599249584837207649577666053980793487041860770826574020831743868068926896121614665238551197935283637405809707672128379613620732868163386810775700395937985125273680850750481504525037756336359552412612292036168940946974786028392092414552433376912491346116035830629143849715114775258023999751495042300788895726771021356646568068939475688804362855175154416128349127647848452036020398292986044858349524563848691317652363220230969635590407922017355740361945726233571712246488599485475504800514294188418375696760541447842522625417966151017892543931121795318329525741759950163057604324796552153304307579290255179575329150549861185292374103227377483440241388976720896272971995016973697358142797855606061582761168778151606142618314480033206039035216885968455553046593418685062577958043759042523460284153911069817972448807798584422784519590994638694283949237160252126463427556667246349707726347783212132794275412550507967103394137298493168601630749443400056603721759901782316183570886957578717377863704954370312332020468321724737679828248018856292553740668843866128777746326969405273184868996098440952547559112713074534260001424633838836045573626156041465508468777005648295447136706673764194116059492901199577749816527666446797164945383986097083915942048613290406763385952083109858253977777352922672106528099533124779573612886394887160559906700449086966235138245147158309401112817340686124787611482582575862084752358924642512085888988513802894867216067167030772347435257206368250649050994332057363800411337702771313733652078882609743440490207451087553972739037305638347112143404747238813251475845293734722 324624562295910246240551666039926341716053699234860871811138107512993455998865356390252925993609132290651563296928934323294845169617889566877863726839691459503617404719164329835710465670094791019148979270187768818826415615062640112813152805631004935666649795177912251240671910935754444860788414213284214729497769280306426008573924746710728516336201195407423588864555483805321738398152135768802292764949581283974574757829636976543442441721591358659398794333690746847837483116832712617188237594819608602685735794596398271673327671725109131355541146985427392240049093798466665688819669090184316673286521722157670167133869963404609394706082633727996891535134967506553629391703255058784834945721723723775779717827283134259749548000451924053468717789305823723871260728672838652732212468776191985397187603873544572447804764518003614360381207772407411057377849718738701780496744385579765715110149821320481429346133213404391806491357240752924125859256465336104765465706004474317405449490504656088257144087227451920136212252966564895940920986001923988877487603908714778742371732082123848414939975267544548852849458615193057995265849036160568962494230178476065000455791970257914640676700192209892603298728434316111521109177309226771295664492637608057512774126880548339775037105327476598865401056060508772944297972713320088388487357694739022552179073743915900695714928682916871436406269968972695686744612570907929122329554038132299495589258782844261256081300854264513442661911441276595740931932075110175380392578679274570654617654134439088561406716733067555184453389353050041280027695824639657874243569407042413440417894969828130521969440591762990510687916621699281548905595603938823999247901465678873363821122641089429321979868038561823937663494636910709025858652297494524888505258592498943892212775872452148861728376120831303630194557038435124882056308314816861401 525253575377840378681033876206278411304405195764598002008476840227679534166974023609665139391242358577131092059781103450109222380401744219390426661599379480974518498302140804946868536216544437896998346737497786641347568940073964216768669881854724136680478425432511500825509118585332110914769207700326075500324343301138169876642851642832343181574752393342707226270365191477450118011772868636965679575725281679912559883103317827293923946246629114995758346746303038884006424063807498645580330009372041979598227140712434102302471521440223906613565146736922434540837989525237687045466237159123792362090884577332824583262219091052457846742103032020982936393484492070402320709355618279015804581312131645793135458189228860493321260246940523538944222589820117912289636425433380100574735094194158136415080147804666367766134290259763564523438812097203963210682157298028956960072073536129626900402523924547858912786374602381112702764329235769897823217399263191710827048467173252469011592108819136121463183122444337888591765299559983581003498944045683031400947888062625848560344180889922432837724494858539187547133407852353310121729276592827815312201956526259277133250067382808422607780094329508385771900359183759511577712899069128553611848063524565636230151990585502710087369125795798323603080884308527629236851713382163954517265104021708427825363942740014341648262487795629945970666271393606534522790186197063970587838022815137947791036395489518025450197360347165713020411727968943042538096877459096272464308520727887861061381040086522198419660694510420477856559917452583166059601308711034545034803476107491500406653033214975288831370553409103676635475528104281857410990347962863466511333790454192676258688338708256460094327303295768192188312545631242766389659063635197296202238910671381553635653266079903236415701115158136941977306700443182363695307784160110596123 849878137673750624921585542246204753020458894999458873819614947740672990165839379999918065384851490867782655356710037773404067550019633786268290388439070940478135903021305134782579001886639228916147326007685555460173984555136604329581822687485729072347128220610423752066181029521086555775557621913610290229822112581444595885216776389543071697910953588750130815134920675282771856409925004405767972340674862963887134640932954803837366387968220473655157141079993785731843907180640211262768567604191650582283962935308832373975799193165333037969106293722349826780887083323704352734285906249308109035377406299490494750396089054457067241448185665748979827928619459576955950101058873337800639527033855369568915176016511994753070808247392447592412940379125941636160897154106218753306947562970350121812267751678210940213939054777767178883820019869611374268060007016767658740568817921709392615512673745868340342132507815785504509255686476522821949076655728527815592514173177726786417041599323792209720327209671789808727977552526548476944419930047607020278435491971340627302715912972046281252664470126083736399982866467546368116995125628988384274696186704735342133705859353066337248456794521718278375199087618075623098822076378355324907512556162173693742926117466051049862406231123274922468481940369036402181149686095484042905752461716447450377543016483930242343977416478546817407072541362579230209534798767971899710167576853270247286625654272362286706278661201430226463073639410219638279028809534206447844701099407162431715998694220961286981067411243488033041013306805633207339629004535674202909047045514533913847070928184803419353339994000866667146163444725981138959895943566802290510581691919871549622509461349345889416307171334330016125976040268153475415517715932691821090744169263880497527866041952355385277429491278968245607501257481617488577364092474927457524 1375131713051591003602619418452483164324864090764056875828091787968352524332813403609583204776093849444913747416491141223513289930421378005658717050038450421452654401323445939729447538103183666813145672745183342101521553495210568546350492569340453209027606646042935252891690148106418666690326829613936365730146455882582765761859628032375414879485705982092838041405285866760221974421697873042733651916400144643799694524036272631131290334214849588650915487826296824615850331244447709908348897613563692561882190076021266476278270714605556944582671440459272261321725072848942039779752143408431901397468290876823319333658308145509525088190288697769962764322103951647358270810414491616816444108345987015362050634205740855246392068494332971131357162968946059548450533579539598853881682657164508258227347899482877307980073345037530743407258831966815337478742164314796615700640891457839019515915197670416199254918882418166617212020015712292719772294054991719526419562640350979255428633708142928331183510332116127697319742852086532057947918874093290051679383380033966475863060093861968714090388964984622923947116274319899678238724402221816199586898143230994619266955926735874759856236888851226664147099446801835134676534975447483878519360619686739329973078108051553759949775356919073246071562824677564031418001399477647997423017565738155878202906959223944583992239904274176763377738812756185764732324984965035870298005599668408195077662049761880312156476021548595939483485367379162680817125686993302720309009620135050292777379734307483485400728105753908510897573224258216373399230313246708747943850521622025414253723961399778708184710547409970343781638972830262996370886291529665757021915482374064225881197800057602349510634474630098208314288585899396241805176779567889117292983079935262051163519308032258621693130606437105187584807957924799852272671876635038053647 2225009850725341628524204960698687917345322985763515749647706735709025514498652783609501270160945340312696402773201178996917357480441011791927007438477521361930790304344751074512026539989822895729292998752868897561695538050347172875932315256826182281374734866653359004957871177627505222465884451527546655959968568464027361647076404421918486577396659570842968856540206542042993830831622877448501624257075007607686829164969227434968656722183070062306072628906290610347694238425087921171117465217755343144166153011330098850254069907770889982551777734181622088102612156172646392514038049657740010432845697176313814084054397199966592329638474363518942592250723411224314220911473364954617083635379842384930965810222252849999462876741725418723770103348072001184611430733645817607188630220134858380039615651161088248194012399815297922291078851836426711746802171331564274441209709379548412131427871416284539597051390233952121721275702188815541721370710720247342012076813528706041845675307466720540903837541787917506047720404613080534892338804140897071957818872005307103165776006834014995343053435110706660347099140787446046355719527850804583861594329935729961400661786088941097104693683372944942522298534419910757775357051825839203426873175848913023716004225517604809812181588042348168540044765046600433599151085573132040328770027454603328580449975707874826336217320752723580784811354118764994941859783733007770008173176521678442364287704034242598862754682750026165946559006789382319096154496527509168153710719542212724493378428528444772381795516997396543938586531063849580738859317782382950852897567136559328100794889584582127538050541410837010927802417556244135330782235096468047532497174293935775503707261406948238926941645964428224440264626167549717220694495500580938383727249199142548691385349984614006970560097716073433192309215406417340850035969109965511171 3600141563776932632126824379151171081670187076527572625475798523677378038831466187219084474937039189757610150189692320220430647410862389797585724488515971783383444705668197014241474078093006562542438671498052239663217091545557741422282807826166635490402341512696294257849561325733923889156211281141483021690115024346610127408936032454293901456882365552935806897945492408803215805253320750491235276173475152251486523689005500066099947056397919650956988116732587434963544569669535631079466362831319035706048343087351365326532340622376446927134449174640894349424337229021588432293790193066171911830313988053137133417712705345476117417828763061288905356572827362871672491721887856571433527743725829400293016444427993705245854945236058389855127266317018060733061964313185416461070312877299366638266963550643965556174085744852828665698337683803242049225544335646360890141850600837387431647343069086700738851970272652118738933295717901108261493664765711966868431639453879685297274309015609648872087347873904045203367463256699612592840257678234187123637202252039273579028836100695983709433442400095329584294215415107345724594443930072620783448492473166724580667617712824815856960930572224171606669397981221745892451892027273323081946233795535652353689082333569158569761956944961421414611607589724164465017152485050780037751787593192759206783356934931819410328457225026900344162550166874950759674184768698043640306178776190086637441949753796122911019230704298622105430044374168544999913280183520811888462720339677263017270758162835928257782523622751305054836159755322065954138089631029091698796748088758584742354518850984360835722761088820807354709441390386507131701668526626133804554412656668000001384905061464550588437576120594526432754553212066945959025871275068470055676710329134404599854904658016872628663690704153178620777117173331217193122707845745003564818 5825151414502274260651029339849858999015510062291088375123505259386403553330118970828585745097984530070306552962893499217348004891303401589512731926993493145314235010012948088753500618082829458271731670250921137224912629595904914298215123082992817771777076379349653262807432503361429111622095732669029677650083592810637489056012436876212388034279025123778775754485698950846209636084943627939736900430550159859173352853974727501068603778580989713263060745638878045311238808094623552250583828049074378850214496098681464176786410530147336909686226908822516437526949385194234824807828242723911922263159685229450947501767102545442709747467237424807847948823550774095986712633361221526050611379105671785223982254650246555245317821977783808578897369665090061917673395046831234068258943097434225018306579201805053804368098144668126587989416535639668760972346506977925164583060310216935843778770940502985278449021662886070860654571420089923803215035476432214210443716267408391339119984323076369412991185415691962709415183661312693127732596482375084195595021124044580682194612107529998704776495835206036244641314555894791770950163457923425367310086803102454542068279498913756954065624255597116549191696515641656650227249079099162285373106971384565377405086559086763379574138533003769583151652354770764898616303570623912078080557620647362535363806910639694236664674545779623924947361520993715754616044552431051410314351952711765079806237457830365509881985387048648271376603380957927319009434680048321056616431059219475741764136591364373030164319139748701598774746286385915534876948948811474649649645655895144070455313740568942963260811630231644365637243807942751267032450761722601852086909830961935776888612322871498827364517766558954657194817838234495676246565770569050994060437578333547148546290008001486635634250801869252053969426388737634533972743814854969075989 9425292978279206892777853719001030080685697138818661000599303783063781592161585158047670220035023719827916703152585819437778652302165791387098456415509464928697679715681145102994974696175836020814170341748973376888129721141462655720497930909159453262179417892045947520656993829095353000778307013810512699340198617157247616464948469330506289491161390676714582652431191359649425441338264378430972176604025312110659876542980227567168550834978909364220048862371465480274783377764159183330050190880393414556262839186032829503318751152523783836820676083463410786951286614215823257101618435790083834093473673282588080919479807890918827165296000486096753305396378136967659204355249078097484139122831501185516998699078240260491172767213842198434024635982108122650735359360016650529329255974733591656573542752449019360542183889520955253687754219442910810197890842624286054724910911054323275426114009589686017300991935538189599587867137991032064708700242144181078875355721288076636394293338686018285078533289596007912782646918012305720572854160609271319232223376083854261223448208225982414209938235301365828935529971002137495544607387996046150758579276269179122735897211738572811026554827821288155861094496863402542679141106372485367319340766920217731094168892655921949336095477965190997763259944494929363633456055674692115832345213840121742147163845571513646993131770806524269109911687868666514290229321129095050620530728901851717248187211626488420901216091347270376806647755126472318922714863569132945079151398896738759034894754200301287946842762500006653610906041707981489015038579840566348446393744653728812809832591553303798983572719052451720346685198329258398734119288348735656641322487629935778273517384336049415802093887153481089949371050301441635272437045637521049737147907467951748401194666018359264297941506022430674746543562068851727095451660599972640807 15250444392781481153428883058850889079701207201109749375722809042450185145491704128876255965133008249898223256115479318655126657193469192976611188342502958074011914725694093191748475314258665479085902011999894514113042350737367570018713053992152271033956494271395600783464426332456782112400402746479542376990282209967885105520960906206718677525440415800493358406916890310495635077423208006370709077034575471969833229396954955068237154613559899077483109608010343525586022185858782735580634018929467793406477335284714293680105161682671120746506902992285927224478235999410058081909446678513995756356633358512039028421246910436361536912763237910904601254219928911063645916988610299623534750501937172970740980953728486815736490589191626007012922005647198184568408754406847884597588199072167816674880121954254073164910282034189081841677170755082579571170237349602211219307971221271259119204884950092671295750013598424260460242438558080955867923735718576395289319071988696467975514277661762387698069718705287970622197830579324998848305450642984355514827244500128434943418060315755981118986434070507402073576844526896929266494770845919471518068666079371633664804176710652329765092179083418404705052791012505059192906390185471647652692447738304783108499255451742685328910234010968960580914912299265694262249759626298604193912902834487484277510970756211207883657806316586148194057273208862382268906273873560146460934882681613616797054424669456853930783201478395918648183251136084399637932149543617454001695582458116214500799031345564674318111161902248708252385652328093897023891987528652040998096039400548872883265146332122246762244384349284096085983929006272009665766570050071337508728232318591871555162129707207548243166611653712435747144188888535937311519002816206572043797585485801498896947484674019845899932192307891682728715969950806486261068195475454941716796 24675737371060688046206736777851919160386904339928410376322112825513966737653289286923926185168031969726139959268065138092905309495634984363709644758012423002709594441375238294743450010434501499900072353748867891001172071878830225739210984901311724296135912163441548304121420161552135113178709760290055076330480827125132721985909375537224967016601806477207941059348081670145060518761472384801681253638600784080493105939935182635405705448538808441703158470381809005860805563622941918910684209809861207962740174470747123183423912835194904583327579075749338011429522613625881339011065114304079590450107031794627109340726718327280364078059238397001354559616307048031305121343859377721018889624768674156257979652806727076227663356405468205446946641629306307219144113766864535126917455046901408331453664706703092525452465923710037095364924974525490381368128192226497274032882132325582394630998959682357313051005533962450059830305696071987932632435960720576368194427709984544611908571000448405983148251994883978534980477497337304568878304803593626834059467876212289204641508523981963533196372305808767902512374497899066762039378233915517668827245355640812787540073922390902576118733911239692860913885509368461735585531291844133020011788505225000839593424344398607278246329488934151578678172243760623625883215681973296309745248048327606019658134601782721530650938087392672463167184896731048783196503194689241511555413410515468514302611881083342351684417569743189024989898891210871956854864407186586946774733857012953259833926099764975606058004664748714905996558369801878512907026108492607346542433145202601696074978923675550561227957068336547806330614204601268064500689338420073165369554806221807333435647091543597658968705540865916837093559938837378946791439861844093093534733393269450645348679340038205164230133813914113403462513512875337988163647136054914357603 39926181763842169199635619836702808240088111541038159752044921867964151883144993415800182150301040219624363215383544456748031966689104177340320833100515381076721509167069331486491925324693166978985974365748762405114214422616197795757924038893463995330092406434837149087585846494008917225579112506769597453320763037093017827506870281743943644542042222277701299466264971980640695596184680391172390330673176256050326335336890137703642860062098707519186268078392152531446827749481724654491318228739329001369217509755461416863529074517866025329834482068035265235907758613035939420920511792818075346806740390306666137761973628763641900990822476307905955813836235959094951038332469677344553640126705847126998960606535213891964153945597094212459868647276504491787552868173712419724505654119069225006333786660957165690362747957899118937042095729608069952538365541828708493340853353596841513835883909775028608801019132386710520072744254152943800556171679296971657513499698681012587422848662210793681217970700171949157178308076662303417183755446577982348886712376340724148059568839737944652182806376316169976089219024795996028534149079834989186895911435012446452344250633043232341210912994658097565966676521873520928491921477315780672704236243529783948092679796141292607156563499903112159593084543026317888132975308271900503658150882815090297169105357993929414308744403978820657224458105593431052102777068249387972490296092129085311357036550540196282467619048139107673173150027295271594787013950804040948470316315129167760632957445329649924169166566997423158382210697895775536799013637144648344638472545751474579340125255797797323472341417620643892314543210873277730267259388491410674097787124813678888597776798751145902135317194578352584237748827373316258310442678050665137332318879070949542296164014058051064162326121805796132178483463681824249231842611509856074399 64601919134902857245842356614554727400475015880966570128367034693478118620798282702724108335469072189350503174651609594840937276184739161704030477858527804079431103608444569781235375335127668478886046719497630296115386494495028021497135023794775719626228318598278697391707266655561052338757822267059652529651243864218150549492779657281168611558644028754909240525613053650785756114946152775974071584311777040130819441276825320339048565510637515960889426548773961537307633313104666573402002438549190209331957684226208540046952987353060929913162061143784603247337281226661820759931576907122154937256847422101293247102700347090922265068881714704907310373452543007126256159676329055065572529751474521283256940259341940968191817302002562417906815288905810799006696981940576954851423109165970633337787451367660258215815213881609156032407020704133560333906493734055205767373735485922423908466882869457385921852024666349160579903049950224931733188607640017548025707927408665557199331419662659199664366222695055927692158785573999607986062060250171609182946180252553013352701077363719908185379178682124937878601593522695062790573527313750506855723156790653259239884324555434134917329646905897790426880562031241982664077452769159913692716024748754784787686104140539899885402892988837263738271256786786941514016190990245196813403398931142696316827239959776650944959682491371493120391643002324479835299280262938629484045709502644553825659648431623538634152036617882296698163048918506143551641878357990627895245050172142121020466883545094625530227171231746138064378769067697654049706039745637255691180905690954076275415104179473347884700298485957191698645157415474545794767948726911483839467341931035486222033423890294743561104022735444269421331308766210695205101882539894758230867052272340400187644843354096256228392459935719909535640996976557162237395489747564770432002 104528100898745026445477976451257535640563127422004729880411956561442270503943276118524290485770112408974866390035154051588969242873843339044351310959043185156152612775513901267727300659820835457872021085246392701229600917111225817255059062688239714956320725033115846479293113149569969564336934773829249982972006901311168376999649939025112256100686251032610539991878025631426451711130833167146461914984953296181145776613715458042691425572736223480075694627166114068754461062586391227893320667288519210701175193981669956910482061870926955242996543211819868483245039839697760180852088699940230284063587812407959384864673975854564166059704191012813266187288778966221207198008798732410126169878180368410255900865877154860155971247599656630366683936182315290794249850114289374575928763285039858344121238028617423906177961839508274969449116433741630286444859275883914260714588839519265422302766779232414530653043798735871099975794204377875533744779319314519683221427107346569786754268324869993345584193395227876849337093650661911403245815696749591531832892628893737500760646203457852837561985058441107854690812547491058819107676393585496042619068225665705692228575188477367258540559900555887992847238553115503592569374246475694365420260992284568735778783936681192492559456488740375897864341329813259402149166298517097317061549813957786613996345317770580359268426895350313777616101107917910887402057331188017456536005594773639137016684982163734916619655666021404371336198945801415146428892308794668843715366487271288781099840990424275454396337798743561222760979765593429586505053382781904035819378236705550854755229435271145208172639903577835590959700626347823525035208115402894513565129055849165110631200689045889463239339930022622005569057593584011463412325217945423368199371151411349729941007368154307292554786057525705667819480440238986486627332359074626506401 169130020033647883691320333065812263041038143302971300008778991254920389124741558821248398821239184598325369564686763646429906519058582500748381788817570989235583716383958471048962675994948503936758067804744022997344987411606253838752194086483015434582549043631394543871000379805131021903094757040888902512623250765529318926492429596306280867659330279787519780517491079282212207826076985943120533499296730336311965217890540778381739991083373739440965121175940075606062094375691057801295323105837709420033132878207878496957435049223987885156158604355604471730582321066359580940783665607062385221320435234509252631967374322945486431128585905717720576560741321973347463357685127787475698699629654889693512841125219095828347788549602219048273499225088126089800946832054866329427351872451010491681908689396277682121993175721117431001856137137875190620351353009939120028088324325441689330769649648689800452505068465085031679878844154602807266933386959332067708929354516012126986085687987529193009950416090283804541495879224661519389307875946921200714779072881446750853461723567177761022941163740566045733292406070186121609681203707336002898342225016318964932112899743911502175870206806453678419727800584357486256646827015635608058136285741039353523464888077221092377962349477577639636135598116600200916165357288762294130464948745100482930823585277547231304228109386721806898007744110242390722701337594126646940581715097418192962676333413787273550771692283903701069499247864307558698070770666785296738960416659413409801566724535518900984623509030489699287139748833291083636211093128419159727000283927659627130170333614744493092872938389535027289604858041822369319803156842314378353032470986884651332664624579340633024343362665466891426900366359794706668514207757840181599066423423751749917585850722250563520947245993245615203460477416796148724022822106639396938403 273658120932392910136798309517069798681601270724976029889190947816362659628684834939772689307009297007300235954721917698018875761932425839792733099776614174391736329159472372316689976654769339394630088889990415698574588328717479656007253149171255149538869768664510390350293492954700991467431691814718152495595257666840487303492079535331393123760016530820130320509369104913638659537207819110266995414281683632493110994504256236424431416656109962921040815803106189674816555438277449029188643773126228630734308072189548453867917111094914840399155147567424340213827360906057341121635754307002615505384023046917212016832048298800050597188290096730533842748030100939568670555693926519885824869507835258103768741991096250688503759797201875678640183161270441380595196682169155704003280635736050350026029927424895106028171137560625705971305253571616820906796212285823034288802913164960954753072416427922214983158112263820902779854638358980682800678166278646587392150781623358696772839956312399186355534609485511681390832972875323430792553691643670792246611965510340488354222369770635613860503148799007153587983218617677180428788880100921498940961293241984670624341474932388869434410766707009566412575039137472989849216201262111302423556546733323922259243672013902284870521805966318015533999939446413460318314523587279391447526498559058269544819930595317811663496536282072120675623845218160301610103394925314664397117720692191832099693018395951008467391347949925105440835446810108973844499662975579965582675783146684698582666565525943176439019846829233260509900728598884513222716146511201063762819662164365177984925563050015638301045578293112862880564558668170192844838364957717272866597600042733816443295825268386522487582702595489513432469423953378718131926532975785604967265794575163099647526858090404870813502032050771320871279957857035135210650154465714023444804 442788140966040793828118642582882061722639414027947329897969939071283048753426393761021088128248481605625605519408681344448782280991008340541114888594185163627320045543430843365652652649717843331388156694734438695919575740323733494759447235654270584121418812295904934221293872759832013370526448855607055008218508432369806229984509131637673991419346810607650101026860184195850867363284805053387528913578413968805076212394797014806171407739483702362005936979046265280878649813968506830483966878963938050767440950397426950825352160318902725555313751923028811944409681972416922062419419914065000726704458281426464648799422621745537028316876002448254419308771422912916133913379054307361523569137490147797281583116315346516851548346804094726913682386358567470396143514224022033430632508187060841707938616821172788150164313281743136973161390709492011527147565295762154316891237490402644083842066076612015435663180728905934459733482513583490067611553237978655101080136139370823758925644299928379365485025575795485932328852099984950181861567590591992961391038391787239207684093337813374883444312539573199321275624687863302038470083808257501839303518258303635556454374676300371610280973513463244832302839721830476105863028277746910481692832474363275782708560091123377248484155443895655170135537563013661234479880876041685577991447304158752475643515872865042967724645668793927573631589328402692332804732519441311337699435789610025062369351809738282018163040233828806510334694674416532542570433642365262321636199806098108384233290061462077423643355859722959797040477432175596858927239639620223489819946092024805115095896664760131393918516682647890170169416709992562164641521800031651219630071029618467775960449847727155511926065260956404859369790313173424800440740733625786566332217998914849565112708812655434334449278044016936074740435273831283934672976572353420383207 716446261898433703964916952099951860404240684752923359787160886887645708382111228700793777435257778612925841474130599042467658042923434180333847988370799338019056374702903215682342629304487182726018245584724854394494164069041213150766700384825525733660288580960415324571587365714533004837958140670325207503813766099210293533476588666969067115179363341427780421536229289109489526900492624163654524327860097601298187206899053251230602824395593665283046752782152454955695205252245955859672610652090166681501749022586975404693269271413817565954468899490453152158237042878474263184055174221067616232088481328343676665631470920545587625505166099178788262056801523852484804469072980827247348438645325405901050325107411597205355308144005970405553865547629008850991340196393177737433913143923111191733968544246067894178335450842368842944466644281108832433943777581585188605694150655363598836914482504534230418821292992726837239588120872564172868289719516625242493230917762729520531765600612327565721019635061307167323161824975308380974415259234262785208003003902127727561906463108448988743947461338580352909258843305540482467258963909179000780264811500288306180795849608689241044691740220472811244877878859303465955079229539858212905249379207687198041952232105025662119005961410213670704135477009427121552794404463321077025517945863217022020463446468182854631221181950866048249255434546562993942908127444755975734817156481801857162062370205689290485554388183753911951170141484525506387070096617945227904311982952782806966899855587405253862663202688956220306941206031060110081643386150821287252639608256389983100021459714775769694964094975760753050733975378162755009479886757748924086227671072352284219256275116113677999508767856445918291839214266552142932367273709411391533598012574077949212639566903060305147951310094788256946020393130866419145323131038067443828011 1159234402864474497793035594682833922126880098780870689685130825958928757135537622461814865563506260218551446993539280386916440323914442520874962876964984501646376420246334059047995281954205026057406402279459293090413739809364946645526147620479796317781707393256320258792881238474365018208484589525932262512032274531580099763461097798606741106598710152035430522563089473305340394263777429217042053241438511570103263419293850266036774232135077367645052689761198720236573855066214462690156577531054104732269189972984402355518621431732720291509782651413481964102646724850891185246474594135132616958792939609770141314430893542291124653822042101627042681365572946765400938382452035134608872007782815553698331908223726943722206856490810065132467547933987576321387483710617199770864545652110172033441907161067240682328499764124111979917628034990600843961091342877347342922585388145766242920756548581146245854484473721632771699321603386147662935901272754603897594311053902100344290691244912255945086504660637102653255490677075293331156276826824854778169394042293914966769590556446262363627391773878153552230534467993403784505729047717436502619568329758591941737250224284989612654972713733936056077180718581133942060942257817605123386942211682050473824660792196149039367490116854109325874271014572440782787274285339362762603509393167375774496106962341047897598945827619659975822887023874965686275712859964197287072516592271411882224431722015427572503717428417582718461504836158942038929640530260310490225948182758880915351133145648867331286306558548679180103981683463235706940570625790441510742459554348414788215117356379535901088882611658408643220903392088155317174121408557780575305857742101970751995216724963840833511434833117402323151209004579725567732808014443037178099930230572992798777752275715715739482400588138805193020760828404697703079996107610420864211218 1875680664762908201757952546782785782531120783533794049472291712846574465517648851162608642998764038831477288467669879429384098366837876701208810865335783839665432794949237274730337911258692208783424647864184147484907903878406159796292848005305322051441995974216735583364468604188898023046442730196257470015846040630790393296937686465575808221778073493463210944099318762414829921164270053380696577569298609171401450626192903517267377056530671032928099442543351175192269060318460418549829188183144271413770938995571377760211890703146537857464251550903935116260883767729365448430529768356200233190881420938113817980062364462836712279327208200805830943422374470617885742851525015961856220446428140959599382233331138540927562164634816035538021413481616585172378823907010377508298458796033283225175875705313308576506835214966480822862094679271709676395035120458932531528279538801129841757671031085680476273305766714359608938909724258711835804190992271229140087541971664829864822456845524583510807524295698409820578652502050601712130692086059117563377397046196042694331497019554711352371339235216733905139793311298944266972988011626615503399833141258880247918046073893678853699664453954408867322058597440437408016021487357463336292191590889737671866613024301174701486496078264322996578406491581867904340068689802683839629027339030592796516570408809230752230167009570526024072142458421528680218620987408953262807333748753213739386494092221116862989271816601336630412674977643467545316710626878255718130260165711663722318033001236272585148969761237635400410922889494295817022214011941262797995099162604804771315138816094311670783846706634169396271637367466318072183601295315529499392085413174323036214473000079954511510943600973848241443048218846277710665175288152448569633528243147070747990391842618776044630351898233593449966781221535564122225319238648488308039229 3034915067627382699550988141465619704658000882314664739157422538805503222653186473624423508562270299050028735461209159816300538690752319222083773742300768341311809215195571333778333193212897234840831050143643440575321643687771106441818995625785118369223703367473055842157349842663263041254927319722189732527878315162370493060398784264182549328376783645498641466662408235720170315428047482597738630810737120741504714045486753783304151288665748400573152132304549895428842915384674881239985765714198376146040128968555780115730512134879258148974034202317417080363530492580256633677004362491332850149674360547883959294493258005127836933149250302432873624787947417383286681233977051096465092454210956513297714141554865484649769021125626100670488961415604161493766307617627577279163004448143455258617782866380549258835334979090592802779722714262310520356126463336279874450864926946896084678427579666826722127790240435992380638231327644859498740092265025833037681853025566930209113148090436839455894028956335512473834143179125895043286968912883972341546791088489957661101087576000973715998731009094887457370327779292348051478717059344052006019401471017472189655296298178668466354637167688344923399239316021571350076963745175068459679133802571788145691273816497323740853986195118432322452677506154308687127342975142046602232536732197968571012677371150278649829112837190185999895029482296494366494333847373150549879850341024625621610925814236544435492989245018919348874179813802409584246351157138566208356208348470544637669166146885139916435276319786314580514904572957531523962784637731704308737558716953219559530256172473847571872729318292578039492540759554473389357722703873310074697943155276293788209689725043795345022378434091250564594257223426003278397983302595485747733458473720063546768144118334491784112752486372398642987542049940261825305315346258909172250447 4910595732390290901308940688248405487189121665848458788629714251652077688170835324787032151561034337881506023928879039245684637057590195923292584607636552180977242010144808608508671104471589443624255698007827588060229547566177266238111843631090440420665699341689791425521818446852161064301370049918447202543724355793160886357336470729758357550154857138961852410761726998135000236592317535978435208380035729912906164671679657300571528345196419433501251574847901070621111975703135299789814953897342647559811067964127157875942402838025796006438285753221352196624414260309622082107534130847533083340555781485997777274555622467964549212476458503238704568210321888001172424085502067058321312900639097472897096374886004025577331185760442136208510374897220746666145131524637954787461463244176738483793658571693857835342170194057073625641817393534020196751161583795212405979144465748025926436098610752507198401096007150351989577141051903571334544283257297062177769394997231760073935604935961422966701553252033922294412795681176496755417660998943089904924188134686000355432584595555685068370070244311621362510121090591292318451705070970667509419234612276352437573342372072347320054301621642753790721297913462008758092985232532531795971325393461525817557886840798498442340482273382755319031083997736176591467411664944730441861564071228561367529247779959509402059279846760712023967171940718023046712954834782103812687184089777839360997419906457661298482261061620255979286854791445877129563061784016821926486468514182208359987199148121412501584246081023949980925827462451827340984998649672967106732657879558024330845394988568159242656576024926747435764178127020791461541323999188839574090028568450616824424162725123749856533322035065098806037305442272280989063158590747934317366986716867134294758535960953267828743104384605992092954323271475825947530634584907397480289676 7945510800017673600859928829714025191847122548163123527787136790457580910824021798411455660123304636931534759390088199061985175748342515145376358349937320522289051225340379942287004297684486678465086748151471028635551191253948372679930839256875558789889402709162847267679168289515424105556297369640636935071602670955531379417735254993940906878531640784460493877424135233855170552020365018576173839190772850654410878717166411083875679633862167834074403707152450966049954891087810181029800719611541023705851196932682937991672914972905054155412319955538769276987944752889878715784538493338865933490230142033881736569048880473092386145625708805671578192998269305384459105319479118154786405354850053986194810516440869510227100206886068236878999336312824908159911439142265532066624467692320193742411441438074407094177505173147666428421540107796330717107288047131492280430009392694922011114526190419333920528886247586344370215372379548430833284375522322895215451248022798690283048753026398262422595582208369434768246938860302391798704629911827062246470979223175958016533672171556658784368801253406508819880448869883640369930422130314719515438636083293824627228638670251015786408938789331098714120537229483580108169948977707600255650459196033313963249160657295822183194468468501187641483761503890485278594754640086777044094100803426529938541925151109788051888392683950898023862201423014517413207288682155254362567034430802464982608345720694205733975250306639175328161034605248286713809412941155388134842676862652752997656365295006552418019522400810264561440732035409358864947783287404671415470216596511243890375651161042006814529305343219325475256718886575264850899046703062149648787971723726910612633852450167545201555700469156349370631562665698284267461141893343420065100445190587197841526680079287759612855856870978390735941865321416087772835949931166306652540123 12856106532407964502168869517962430679036244214011582316416851042109658598994857123198487811684338974813040783318967238307669812805932711068668942957573872703266293235485188550795675402156076122089342446159298616695780738820125638918042682887965999210555102050852638693200986736367585169857667419559084137615327026748692265775071725723699264428686497923422346288185862231990170788612682554554609047570808580567317043388846068384447207979058587267575655282000352036671066866790945480819615673508883671265662264896810095867615317810930850161850605708760121473612359013199500797892072624186399016830785923519879513843604502941056935358102167308910282761208591193385631529404981185213107718255489151459091906891326873535804431392646510373087509711210045654826056570666903486854085930936496932226205100009768264929519675367204740054063357501330350913858449630926704686409153858442947937550624801171841118929982254736696359792513431452002167828658779619957393220643020030450356984357962359685389297135460403357062659734541478888554122290910770152151395167357861958371966256767112343852738871497718130182390569960474932688382127201285387024857870695570177064801981042323363106463240410973852504841835142945588866262934210240132051621784589494839780807047498094320625534950741883942960514845501626661870062166305031507485955664874655091306071172931069297453947672530711610047829373363732540459920243516937358175254218520580304343605765627151867032457511368259431307447889396694163843372474725172210061329145376834961357643564443127964919603768481834214542366559497861186205932781937077638522202874476069268221221046149610166057185881368146072911020897013596056312440370702250989222878000292177527437058015175291295058089022504221448176668868107970565256524300484091354382467431907454332136285216040241027441598961255584382828896188592891913720366584516073704132829799 20801617332425638103028798347676455870883366762174705844203987832567239509818878921609943471807643611744575542709055437369654988554275226214045301307511193225555344460825568493082679699840562800554429194310769645331331930074074011597973522144841558000444504760015485960880155025883009275413964789199721072686929697704223645192806980717640171307218138707882840165609997465845341340633047573130782886761581431221727922106012479468322887612920755101650058989152803002721021757878755661849416393120424694971513461829493033859288232783835904317262925664298890750600303766089379513676611117525264950321016065553761250412653383414149321503727876114581860954206860498770090634724460303367894123610339205445286717407767743046031531599532578609966509047522870562985968009809169018920710398628817125968616541447842672023697180540352406482484897609126681630965737678058196966839163251137869948665150991591175039458868502323040730007885811000433001113034301942852608671891042829140640033110988757947811892717668772791830906673401781280352826920822597214397866146581037916388499928938669002637107672751124639002271018830358573058312549331600106540296506778864001692030619712574378892872179200304951218962372372429168974432883187947732307272243785528153744056208155390142808729419210385130601998607005517147148656920945118284530049765678081621244613098082179085505836065214662508071691574786747057873127532199092612537821252951382769326214111347846072766432761674898606635608924001942450557181887666327598196171822239487714355299929738134517337623290882644479103807291533270545070880565224482309937673091072580512111596697310652172871715186711365398386277615900171321163339417405313138871665972015904438049691867625458840259644722973377797547300430773668849523985442377434774447567877098041529977811896119528787054454818126562773564838053914308001493202534447240010785369922 33657723864833602605197667865638886549919610976186288160620838874676898108813736044808431283491982586557616326028022675677324801360207937282714244265085065928821637696310757043878355101996638922643771640470068262027112668894199650516016205032807557210999606810868124654081141762250594445271632208758805210302256724452915910967878706441339435735904636631305186453795859697835512129245730127685391934332390011789044965494858547852770095591979342369225714271153155039392088624669701142669032066629308366237175726726303129726903550594766754479113531373059012224212662779288880311568683741711663967151801989073640764256257886355206256861830043423492143715415451692155722164129441488581001841865828356904378624299094616581835962992179088983054018758732916217812024580476072505774796329565314058194821641457610936953216855907557146536548255110457032544824187308984901653248317109580817886215775792763016158388850757059737089800399242452435168941693081562810001892534062859590997017468951117633201189853129176148893566407943260168906949211733367366549261313938899874760466185705781346489846544248842769184661588790833505746694676532885493565154377474434178756832600754897741999335419611278803723804207515374757840695817398187864358894028375022993524863255653484463434264369952269073562513452507143809018719087250149792016005430552736712550684271013248382959783737745374118119520948150479598333047775716029970713075471471963073669819876974997939798890273043158037943056813398636614400554362391499808257500967616322675712943494181262482257227059364478693646173851031131731276813347161559948459875965548649780332817743460262338928901068079511471297298512913767377475779788107564128094543972308081965486749882800750135317733745477599245723969298881639414780509742861526128830035309005495862114097112159769814496053779382147156393734242507199915213569118963313714918199721 54459341197259240708226466213315342420802977738360994004824826707244137618632614966418374755299626198302191868737078113046979789914483163496759545572596259154376982157136325536961034801837201723198200834780837907358444598968273662113989727177649115211444111570883610614961296788133603720685596997958526282989186422157139556160685687158979607043122775339188026619405857163680853469878777700816174821093971443010772887600871027321092983204900097470875773260305958042113110382548456804518448459749733061208689188555796163586191783378602658796376457037357902974812966545378259825245294859236928917472818054627402014668911269769355578365557919538074004669622312190925812798853901791948895965476167562349665341706862359627867494591711667593020527806255786780797992590285241524695506728194131184163438182905453608976914036447909553019033152719583714175789924987043098620087480360718687834880926784354191197847719259382777819808285053452868170054727383505662610564425105688731637050579939875581013082570797948940724473081345041449259776132555964580947127460519937791148966114644450349126954216999967408186932607621192078805007225864485600105450884253298180448863220467472120892207598811583754942766579887803926815128700586135596666166272160551147268919463808874606242993789162654204164512059512660956167376008195268076546055196230818333795297369095427468465619802960036626191212522937226656206175307915122583250896724423345842996033988322844012565323034718056644578665737400579064957736250057827406453672789855810390068243423919396999594850350247123172749981142564402276347693912386042258397549056621230292444414440770914511800616254790876869683576128813938698639119205512877266966209944323986403536441750426208975577378468450977043271269729655308264304495185238960903277603186103537392091909008279298601550508597508709929958572296421507916706771653410553725703569643 88117065062092843313424134078954228970722588714547282165445665581921035727446351011226806038791608784859808194765100788724304591274691100779473789837681325083198619853447082580839389903833840645841972475250906169385557267862473312630005932210456672422443718381751735269042438550384198165957229206717331493291443146610055467128564393600319042779027411970493213073201716861516365599124507828501566755426361454799817853095729575173863078796879439840101487531459113081505199007218157947187480526379041427445864915282099293313095333973369413275489988410416915199025629324667140136813978600948592884624620043701042778925169156124561835227387962961566148385037763883081534962983343280529897807341995919254043966005956976209703457583890756576074546564988702998610017170761314030470303057759445242358259824363064545930130892355466699555581407830040746720614112296028000273335797470299505721096702577117207356236570016442514909608684295905303338996420465068472612456959168548322634068048890993214214272423927125089618039489288301618166725344289331947496388774458837665909432300350231695616800761248810177371594196412025584551701902397371093670605261727732359205695821222369862891543018422862558666570787403178684655824517984323461025060300535574140793782719462359069677258159114923277727025512019804765186095095445417868562060626783555046345981640108675851425403540705410744310733471087706254539223083631152553963972195895308916665853865297841952364213307761214682521722550799215679358290612449327214711173757472133065781186918100659481852077409611601866396154993595534007624507259547602206857425022169880072777232184231176850729517322870388340980874641727706076114898993620441395060753916632068369023191633226959110895112213928576288995239028536947679085004928100487032107638495109033254206006120439068416046562376890857086352306538928707831920340772373867440621769364 142576406259352084021650600292269571391525566452908276170270492289165173346078965977645180794091234983162000063502178901771284381189174264276233335410277584237575602010583408117800424705671042369040173310031744076744001866830746974743995659388105787633887829952635345884003735338517801886642826204675857776280629568767195023289250080759298649822150187309681239692607574025197219069003285529317741576520332897810590740696600602494956062001779537310977260791765071123618309389766614751705928986128774488654554103837895456899287117351972072071866445447774818173838595870045399962059273460185521802097438098328444793594080425893917413592945882499640153054660076074007347761837245072478793772818163481603709307712819335837570952175602424169095074371244489779408009761046555555165809785953576426521698007268518154907044928803376252574614560549624460896404037283071098893423277831018193555977629361471398554084289275825292729416969349358171509051147848574135223021384274237054271118628830868795227354994725074030342512570633343067426501476845296528443516234978775457058398414994682044743754978248777585558526804033217663356709128261856693776056145981030539654559041689841983783750617234446313609337367290982611470953218570459057691226572696125288062702183271233675920251948277577481891537571532465721353471103640685945108115823014373380141279009204103319891023343665447370501945994024932910745398391546275137214868920318654759661887853620685964929536342479271327100388288199794744316026862507154621164846547327943455849430342020056481446927759858725039146136136159936283972201171933644465254974078791110365221646625002091362530133577661265210664450770541644774754018199133318662026963860956054772559633383653168086472490682379553332266508758192255943389500113339447935385241681212570646297915128718367017597070974399567016310878835350215748627112425784421166325339007 230693471321444927335074734371223800362248155167455558335716157871086209073525316988871986832882843768021808258267279690495588972463865365055707125247958909320774221864030490698639814609504883014882145785282650246129559134693220287374001591598562460056331548334387081153046173888902000052600055411393189269572072715377250490417814474359617692601177599280174452765809290886713584668127793357819308331946694352610408593792330177668819140798658977151078748323224184205123508396984772698893409512507815916100419019119994750212382451325341485347356433858191733372864225194712540098873252061134114686722058142029487572519249582018479248820333845461206301439697839957088882724820588353008691580160159400857753273718776312047274409759493180745169620936233192778018026931807869585636112843713021668879957831631582700837175821158842952130195968379665207617018149579099099166759075301317699277074331938588605910320859292267807639025653645263474848047568313642607835478343442785376905186677721862009441627418652199119960552059921644685593226821134628475939905009437613122967830715344913740360555739497587762930121000445243247908411030659227787446661407708762898860254862912211846675293635657308872275908154694161296126777736554782518716286873231699428856484902733592745597510107392500759618563083552270486539566199086103813670176449797928426487260649312779171316426884370858114812679465112639165284621475177427691178841116213963676327741718918527917293749650240486009622110838999010423674317474956481835876020304800076521630617260120715963299005169470326905542291129755470291596708431481246672112399100960990437998878809233268213259650900531653551645325412269350850868917192753760057087717777588123141582825016880127197367602896308129621261747786729203622474505041439934967492880176321603900503921249157435433643633351290424102663185374278923580547453198158288606947108371 373269877580797011356725334663493371753773721620363834505986650160251382419604282966517167626974078751183808321769458592266873353653039629331940460658236493558349823874613898816440239315175925383922319095314394322873561001523967262117997250986668247690219378287022427037049909227419801939242881616069047045852702284144445513707064555118916342423327786589855692458416864911910803737131078887137049908467027250420999334488930780163775202800438514462056009114989255328741817786751387450599338498636590404754973122957890207111669568677313557419222879305966551546702821064757940060932525521319636488819496240357932366113330007912396662413279727960846454494357916031096230486657833425487485352978322882461462581431595647884845361935095604914264695307477682557426036692854425140801922629666598095401655838900100855744220749962219204704810528929289668513422186862170198060182353132335892833051961300060004464405148568093100368442622994621646357098716162216743058499727717022431176305306552730804668982413377273150303064630554987753019728297979925004383421244416388580026229130339595785104310717746365348488647804478460911265120158921084481222717553689793438514813904602053830459044252891755185885245521985143907597730955125241576407513445927824716919187086004826421517762055670078241510100655084736207893037302726789758778292272812301806628539658516882491207450228036305485314625459137572076030019866723702828393710036532618435989629572539213882223285992719757336722499127198805167990344337463636457040866852128019977480047602140772444745932929329051944688427265915406575568909603414891137367373179752100803220525434235359575789784478192918762309776182810995625622935391887078719114681638544177914142458400533295283840093578687682953528256544921459565864005154779382902878121857534174546801836377875802451240704325689991118974064209629139329174565623942709773272447378 603963348902241938691800069034717172116021876787819392841702808031337591493129599955389154459856922519205616580036738282762462326116904994387647585906195402879124045738644389515080053924680808398804464880597044569003120136217187549491998842585230707746550926621409508190096083116321801991842937027462236315424774999521696004124879029478534035024505385870030145224226155798624388405258872244956358240413721603031407928281260957832594343599097491613134757438213439533865326183736160149492748011144406320855392142077884957324052020002655042766579313164158284919567046259470480159805777582453751175541554382387419938632579589930875911233613573422052755934055755988185113211478421778496176933138482283319215855150371959932119771694588785659434316243710875335444063624662294726438035473379619764281613670531683556581396571121062156835006497308954876130440336441269297226941428433653592110126293238648610374726007860360908007468276639885121205146284475859350893978071159807808081491984274592814110609832029472270263616690476632438612955119114553480323326253854001702994059845684509525464866457243953111418768804923704159173531189580312268669378961398556337375068767514265677134337888549064058161153676679305203724508691680024095123800319159524145775671988738419167115272163062579001128663738637006694432603501812893572448468722610230233115800307829661662523877112407163600127304924250211241314641341901130519572551152746582112317371291457741799517035642960243346344609966197815591664661812420118292916887156928096499110664862261488408044938098799378850230718395670876867165618034896137809479772280713091241219404243468627789049435378724572313955101595080346476491852584640838776202399416132301055725283417413422481207696474995812574790004331650663188338510196219317870371002033855778447305757627033237884884337676980415221637249583908062909722018822100998380219555749 977233226483038950048525403698210543869795598408183227347689458191588973912733882921906322086831001270389424901806196875029335679769944623719588046564431896437473869613258288331520293239856733782726783975911438891876681137741154811609996093571898955436770304908431935227145992343741603931085818643531283361277477283666141517831943584597450377447833172459885837682643020710535192142389951132093408148880748853452407262770191737996369546399536006075190766553202694862607143970487547600092086509780996725610365265035775164435721588679968600185802192470124836466269867324228420220738303103773387664361050622745352304745909597843272573646893301382899210428413672019281343698136255203983662286116805165780678436581967607816965133629684390573699011551188557892870100317516719867239958103046217859683269509431784412325617321083281361539817026238244544643862523303439495287123781565989484943178254538708614839131156428454008375910899634506767562245000638076093952477798876830239257797290827323618779592245406745420566681321031620191632683417094478484706747498270390283020288976024105310569177174990318459907416609402165070438651348501396749892096515088349775889882672116319507593382141440819244046399198664449111322239646805265671531313765087348862694859074743245588633034218732657242638764393721742902325640804539683331226760995422532039744339966346544153731327340443469085441930383387783317344661208624833347966261189279200548307000863996955681740321635680000683067109093396620759655006149883754749957754009056116476590712464402260852790871028128430794919145661586283442734527638311028946847145460465192044439929677703987364839219856917491076264877777891342102114787976527917495317081054676478969867741817946717765047790053683495528318260876572122754202515350998700773249123891389952994107594004909040336125042002670406340611313793537202238896584446043708153492003127 1581196575385280888740325472732927715985817475196002620189392266222926565405863482877295476546687923789595041481842935157791798005886849618107235632470627299316597915351902677846600347164537542181531248856508483460879801273958342361101994936157129663183321231529841443417242075460063405922928755670993519676702252283187837521956822614075984412472338558329915982906869176509159580547648823377049766389294470456483815191051452695828963889998633497688325523991416134396472470154223707749584834520925403046465757407113660121759773608682623642952381505634283121385836913583698900380544080686227138839902605005132772243378489187774148484880506874804951966362469428007466456909614676982479839219255287449099894291732339567749084905324273176233133327794899433228314163942179014593677993576425837623964883179963467968907013892204343518374823523547199420774302859744708792514065209999643077053304547777357225213857164288814916383379176274391888767391285113935444846455870036638047339289275101916432890202077436217690830298011508252630245638536209031965030073752124391986014348821708614836034043632234271571326185414325869229612182538081709018561475476486906113264951439630585184727720029989883302207552875343754315046748338485289766655114084246873008470531063481664755748306381795236243767428132358749596758244306352576903675229718032762272860140274176205816255204452850632685569235307637994558659302550525963867538812342025782660624372155454697481257357278640244029411719059594436351319667962303873042874641165984212975701377326663749260835809126927809645149864057257160309900145673207166756326917741178283285659333921172615153888655235642063390219979372971688578606640561168756271519480470808780025593025235360140246255486528679308103108265208222785942541025547218018643620125925245731441413351631942278221009379679650821562248563377445265148618603268144706533711558876 2558429801868319838788850876431138259855613073604185847537081724414515539318597365799201798633518925059984466383649132032821133685656794241826823679035059195754071784965160966178120640404394275964258032832419922352756482411699497172711991029729028618620091536438273378644388067803805009854014574314524803037979729566853979039788766198673434789920171730789801820589512197219694772690038774509143174538175219309936222453821644433825333436398169503763516290544618829259079614124711255349676921030706399772076122672149435286195495197362592243138183698104407957852106780907927320601282383790000526504263655627878124548124398785617421058527400176187851176790883100026747800607750932186463501505372092614880572728314307175566050038953957566806832339346087991121184264259695734460917951679472055483648152689395252381232631213287624879914640549785443965418165383048148287801188991565632561996482802316065840052988320717268924759290075908898656329636285752011538798933668913468286597086565929240051669794322842963111396979332539872821878321953303510449736821250394782269034637797732720146603220807224590031233602023728034300050833886583105768453571991575255889154834111746904692321102171430702546253952074008203426368987985290555438186427849334221871165390138224910344381340600527893486406192526080492499083885110892260234901990713455294312604480240522749969986531793294101771011165691025777876003963759150797215505073531304983208931373019451653162997678914320244712478828152991057110974674112187627792832395175040329452292089791066010113626680155056240440069009718843443752634673311518195703174063201643475330099263598876602518727875092559554466484857150863030680721428537696673766836561525485258995460767053306858011303276582362803631426526084794908696743540898216719416869249816635684435520945636851318557134421682321227902859877170982467387515187714188414687203562003 4139626377253600727529176349164065975841430548800188467726473990637442104724460848676497275180206848849579507865492067190612931691543643859934059311505686495070669700317063644024720987568931818145789281688928405813636283685657839533813985965886158281803412767968114822061630143263868415776943329985518322714681981850041816561745588812749419202392510289119717803496381373728854353237687597886192940927469689766420037644873097129654297326396803001451841814536034963655552084278934963099261755551631802818541880079263095407955268806045215886090565203738691079237943694491626220981826464476227665344166260633010896791502887973391569543407907050992803143153352528034214257517365609168943340724627380063980467020046646743315134944278230743039965667140987424349498428201874749054595945255897893107613035869358720350139645105491968398289464073332643386192468242792857080315254201565275639049787350093423065266845485006083841142669252183290545097027570865946983645389538950106333936375841031156484559996400279180802227277344048125452123960489512542414766895002519174255048986619441334982637264439458861602559787438053903529663016424664814787015047468062162002419785551377489877048822201420585848461504949351957741415736323775845204841541933581094879635921201706575100129646982323129730173620658439242095842129417244837138577220431488056585464620514698955786241736246144734456580400998663772434663266309676761083043885873330765869555745174906350644255036192960488741890547212585493462294342074491500835707036341024542427993467117729759374462489281984050085218873776100604062534818984725362459500980942821758615758597520049217672616530328201617856704836523834719259328069098865430038356041996294039021053792288666998257558763111042111734534791293017694639284566445434738060489375741881415876934297268793596778143801361972049465108440548427732536133790982333121220915120879 6698056179121920566318027225595204235697043622404374315263555715051957644043058214475699073813725773909563974249141199223434065377200438101760882990540745690824741485282224610202841627973326094110047314521348328166392766097357336706525976995615186900423504304406388200706018211067673425630957904300043125752661711416895795601534355011422853992312682019909519624085893570948549125927726372395336115465644909076356260098694741563479630762794972505215358105080653792914631698403646218448938676582338202590618002751412530694150764003407808129228748901843099037090050475399553541583108848266228191848429916260889021339627286759008990601935307227180654319944235628060962058125116541355406842229999472678861039748360953918881184983232188309846798006487075415470682692461570483515513896935369948591261188558753972731372276318779593278204104623118087351610633625841005368116443193130908201046270152409488905319833805723352765901959328092189201426663856617958522444323207863574620533462406960396536229790723122143913624256676587998274002282442816052864503716252913956524083624417174055129240485246683451633793389461781937829713850311247920555468619459637417891574619663124394569369924372851288394715457023360161167784724309066400643027969782915316750801311339931485444510987582851023216579813184519734594926014528137097373479211144943350898069100755221705756228268039438836227591566689689550310667230068827558298548959404635749078487118194358003807252715107280733454369375365576550573269016186679128628539431516064871880285556908795769488089169437040290525287883494944047815169492296243558162675044144465233945857861118925820191344405420761172323189693674697749940049497636562103805192603521779298016514559341973856268862039693404915365961317377812603336028107343651457477358625558517100312455242905644915335278223044293277367968317719410199923648978696521535908118682882 10837682556375521293847203574759270211538474171204562782990029705689399748767519063152196348993932622759143482114633266414046997068744081961694942302046432185895411185599288254227562615542257912255836596210276733980029049783015176240339962961501345182226917072374503022767648354331541841407901234285561448467343693266937612163279943824172273194705192309029237427582274944677403479165413970281529056393114598842776297743567838693133928089191775506667199919616688756570183782682581181548200432133970005409159882830675626102106032809453024015319314105581790116327994169891179762564935312742455857192596176893899918131130174732400560145343214278173457463097588156095176315642482150524350182954626852742841506768407600662196319927510419052886763673628062839820181120663445232570109842191267841698874224428112693081511921424271561676493568696450730737803101868633862448431697394696183840096057502502911970586679290729436607044628580275479746523691427483905506089712746813680954469838247991553020789787123401324715851534020636123726126242932328595279270611255433130779132611036615390111877749686142313236353176899835841359376866735912735342483666927699579893994405214501884446418746574271874243176961972712118909200460632842245847869511716496411630437232541638060544640634565174152946753433842958976690768143945381934512056431576431407483533721269920661542470004285583570684171967688353322745330496378504319381592845277966514948042863369264354451507751300241222196259922578162044035563358261170629464246467857089414308279024026525528862551658719024340610506757271044651877704311280968920622176025087286992561616458638975037863960935748962790179894530198532469199377566735427533843548645518073337037568351630640854526420802804447027100496108670830297975312673789086195537848001300398516189389540174438512113422024406265326833076758267837932459782769678854657129033803761 17535738735497441860165230800354474447235517793608937098253585420741357392810577277627895422807658396668707456363774465637481062445944520063455825292587177876720152670881512864430404243515584006365883910731625062146421815880372512946865939957116532082650421376780891223473666565399215267038859138585604574220005404683833407764814298835595127187017874328938757051668168515625952605093140342676865171858759507919132557842262580256613558851986748011882558024697342549484815481086227399997139108716308207999777885582088156796256796812860832144548063007424889153418044645290733304148044161008684049041026093154788939470757461491409550747278521505354111783041823784156138373767598691879757025184626325421702546516768554581077504910742607362733561680115138255290863813125015716085623739126637790290135412986866665812884197743051154954697673319568818089413735494474867816548140587827092041142327654912400875906513096452789372946587908367668947950355284101864028534035954677255575003300654951949557019577846523468629475790697224122000128525375144648143774327508347087303216235453789445241118234932825764870146566361617779189090717047160655897952286387336997785569024877626279015788670947123162637892418996072280076985184941908646490897481499411728381238543881569545989151622148025176163333247027478711285694158473519031885535642721374758381602822025142367298698272325022406911763534378042873055997726447331877680141804682602264026529981563622358258760466407521955650629297943738594608832374447849758092785899373154286188564580935321298350640828156064631135794640765988699692873803577212478784851069231752226507474319757900858055305341169723962503084223873230219139427064371989637648741249039852635054082910972614710795282842497851942466457426048642901311340781132737653015206626858915616501844783080083427448700247450558604201045075987248132383431748375376193037152486643 28373421291872963154012434375113744658773991964813499881243615126430757141578096340780091771801591019427850938478407732051528059514688602025150767594633610062615563856480801118657966859057841918621720506941901796126450865663387689187205902918617877264877338449155394246241314919730757108446760372871166022687349097950771019928094242659767400381723066637967994479250443460303356084258554312958394228251874106761908855585830418949747486941178523518549757944314031306054999263768808581545339540850278213408937768412763782898362829622313856159867377113006679269746038815181913066712979473751139906233622270048688857601887636223810110892621735783527569246139411940251314689410080842404107208139253178164544053285176155243273824838253026415620325353743201095111044933788460948655733581317905631989009637414979358894396119167322716631191242016019548827216837363108730264979837982523275881238385157415312846493192387182225979991216488643148694474046711585769534623748701490936529473138902943502577809364969924793345327324717860245726254768307473243423044938763780218082348846490404835352995984618968078106499743261453620548467583783073391240435953315036577679563430092128163462207417521395036881069380968784398986185645574750892338766993215908140011675776423207606533792256713199329110086680870437687976462302418900966397592074297806165865136543295063028841168276610605977595935502066396195801328222825836197061734649960568778974572844932886712710268217707763177846889220521900638644395732709020387557032367230243700496843604961846827213192486875088971746301398037033351570578114858181399407027094319039219069090778396875895919266276918686752682978754071762688338804631107417171492289894557925972091651262603255565321703645302298969566953534719473199286653454921823848553054628159314132691234323254521939562122271856823931034121834255086064843214518054230850166186290404 45909160027370405014177665175468219106009509758422436979497200547172114534388673618407987194609249416096558394842182197689009121960633122088606592887220787939335716527362313983088371102573425924987604417673526858272872681543760202134071842875734409347527759825936285469714981485129972375485619511456770596907354502634604427692908541495362527568740940966906751530918611975929308689351694655635259400110633614681041413428092999206361045793165271530432315969011373855539814744855035981542478649566586421408715653994851939694619626435174688304415440120431568423164083460472646370861023634759823955274648363203477797072645097715219661639900257288881681029181235724407453063177679534283864233323879503586246599801944709824351329748995633778353887033858339350401908746913476664741357320444543422279145050401846024707280316910373871585888915335588366916630572857583598081527978570350367922380712812327713722399705483635015352937804397010817642424401995687633563157784656168192104476439557895452134828942816448261974803115415084367726383293682617891566819266272127305385565081944194280594114219551793842976646309623071399737558300830234047138388239702373575465132454969754442477996088468518199518961799964856679063170830516659538829664474715319868392914320304777152522943878861224505273419927897916399262156460892419998283127717019180924246739365320205396139866548935628384507699036444439068857325949273168074741876454643171043001102826496509070969028684115285133497518518465639233253228107156870145649818266603397986685408185897168125563833315031153602882096038803022051263451918435393878191878163550791445576565098154776753974571618088410715186062977944992907478231695479406809141031143597778607145734173575870276116986487800150912033410960768116100597994236054561501568261255018229749193079106334605367010822519307382535235166910242334197226646266429607043203338777047 74282581319243368168190099550581963764783501723235936860740815673602871675966769959188078966410840435524409333320589929740537181475321724113757360481854398001951280383843115101746337961631267843609324924615428654399323547207147891321277745794352286612405098275091679715956296404860729483932379884327936619594703600585375447621002784155129927950464007604874746010169055436232664773610248968593653628362507721442950269013923418156108532734343795048982073913325405161594814008623844563087818190416864634817653422407615722592982456057488544464282817233438247692910122275654559437574003108510963861508270633252166654674532733939029772532521993072409250275320647664658767752587760376687971441463132681750790653087120865067625154587248660193974212387601540445512953680701937613397090901762449054268154687816825383601676436077696588217080157351607915743847410220692328346507816552873643803619097969743026568892897870817241332929020885653966336898448707273403097781533357659128633949578460838954712638307786373055320130440132944613452638061990091134989864205035907523467913928434599115947110204170761921083146052884525020286025884613307438378824193017410153144695885061882605940203505989913236400031180933641078049356476091410431168431467931228008404590096727984759056736135574423834383506608768354087238618763311320964680719791316987090111875908615268424981034825546234362103634538510835264658654172099004271803611104603739821975675671429395783679296901823048311344407738987539871897623839865890533206850633833641687182251790859014952777025801906242574628397436840055402834030033293575277598905257869830664645655876551652649893837895007097467869041732016755595817036326586823980633321038155704579237385436179125841438690133102449881600364495487589299884647690976385350121315883177543881884313429589127306572944791164206466269288744497420262069860784483837893369525067451 120191741346613773182367764726050182870793011481658373840238016220774986210355443577596066161020089851620967728162772127429546303435954846202363953369075185941286996911205429084834709064204693768596929342288955512672196228750908093455349588670086695959932858101027965185671277889990701859417999395784707216502058103219979875313911325650492455519204948571781497541087667412161973462961943624228913028473141336123991682442016417362469578527509066579414389882336779017134628753478880544630296839983451056226369076402467662287602082492663232768698257353869816116074205736127205808435026743270787816782918996455644451747177831654249434172422250361290931304501883389066220815765439910971835674787012185337037252889065574891976484336244293972328099421459879795914862427615414278138448222206992476547299738218671408308956752988070459802969072687196282660477983078275926428035795123224011725999810782070740291292603354452256685866825282664783979322850702961036660939318013827320738426018018734406847467250602821317294933555548028981179021355672709026556683471308034828853479010378793396541224423722555764059792362507596420023584185443541485517212432719783728609828340031637048418199594458431435918992980898497757112527306608069969998095942646547876797504417032761911579680014435648339656926536666270486500775224203740962963847508336168014358615273935473821120901374481862746611333574955274333515980121372172346545487559246910864976778497925904854648325585938333444841926257453179105150851947022760678856668900437039673867659976756183078340859116937396177510493475643077454097481951728969155790783421420622110222220974706429403868409513095508183055104709961748503295268022066230789774352181753483186383119609754996117555676620902600793633775456255705400482641927030946851689577138195773631077392535923732673583767310471589001504455654739754459296507050913444936572863844498 194474322665857141350557864276632146635576513204894310700978831894377857886322213536784145127430930287145377061483362057170083484911276570316121313850929583943238277295048544186581047025835961612206254266904384167071519775958055984776627334464438982572337956376119644901627574294851431343350379280112643836096761703805355322934914109805622383469668956176656243551256722848394638236572192592822566656835649057566941951455939835518578111261852861628396463795662184178729442762102725107718115030400315691044022498810083384880584538550151777232981074587308063808984328011781765246009029851781751678291189629707811106421710565593279206704944243433700181579822531053724988568353200287659807116250144867087827905976186439959601638923492954166302311809061420241427816108317351891535539123969441530815454426035496791910633189065767048020049230038804198404325393298968254774543611676097655529618908751813766860185501225269498018795846168318750316221299410234439758720851371486449372375596479573361560105558389194372615063995680973594631659417662800161546547676343942352321392938813392512488334627893317685142938415392121440309610070056848923896036625737193881754524225093519654358403100448344672319024161832138835161883782699480401166527410577775885202094513760746670636416150010072174040433145434624573739393987515061927644567299653155104470491182550742246101936200028097108714968113466109598174634293471176618349098663850650686952454169355300638327622487761381756186333996440718977048475786888651212063519534270681361049911767615198031117884918843638752138890912483132856931511985022544433389688679290452774867876851258082053762247408102605650924146441978504099112304348653054770407673219909187765620505045934121958994366754005050675234139951743294700367289618007332201810893021373317512961705965512859980156712101635795467773744399237174721366367835397282829942388911949 314666064012470914532925629002682329506369524686552684541216848115152844096677657114380211288451020138766344789646134184599629788347231416518485267220004769884525274206253973271415756090040655380803183609193339679743716004708964078231976923134525678532270814477147610087298852184842133202768378675897351052598819807025335198248825435456114838988873904748437741092344390260556611699534136217051479685308790393690933633897956252881047689789361928207810853677998963195864071515581605652348411870383766747270391575212551047168186621042815010001679331941177879925058533747908971054444056595052539495074108626163455558168888397247528640877366493794991112884324414442791209384118640198631642791037157052424865158865252014851578123259737248138630411230521300037342678535932766169673987346176434007362754164254168200219589942053837507823018302726000481064803376377244181202579406799321667255618719533884507151478104579721754704662671450983534295544150113195476419660169385313770110801614498307768407572808992015689909997551229002575810680773335509188103231147651977181174871949192185909029559051615873449202730777899717860333194255500390409413249058456977610364352565125156702776602694906776108238017142730636592274411089307550371164623353224323761999598930793508582216096164445720513697359682100895060240169211718802890608414807989323118829106456486216067222837574509959855326301688421383931690614414843348964894586223097561551929232667281205492975948073699715201028260253893898082199327733911411890920188434707721034917571744371381109458744035781034929649384388126210311028993936751513589180472100711074885090097825964511457630656921198113833979251151940252602407572370719285560182025401662670952003624655689118076550043374907651468867915407999000100849931545038279053500470159569091144039098501436592653740479412107384469278200053976929180662874886310727766515252756447 509140386678328055883483493279314476141946037891446995242195680009530701982999870651164356415881950425911721851129496241769713273258507986834606581070934353827763551501302517457996803115876616993009437876097723846815235780667020063008604257598964661104608770853267254988926426479693564546118757956009994888695581510830690521183739545261737222458542860925093984643601113108951249936106328809874046342144439451257875585353896088399625801051214789836207317473661147374593514277684330760066526900784082438314414074022634432048771159592966787234660406528485943734042861759690736300453086446834291173365298255871266664590598962840807847582310737228691294464146945496516197952471840486291449907287301919512693064841438454811179762183230202304932723039582720278770494644250118061209526470145875538178208590289664992130223131119604555843067532764804679469128769676212435977123018475419322785237628285698274011663605804991252723458517619302284611765449523429916178381020756800219483177210977881129967678367381210062525061546909976170442340190998309349649778823995919533496264888005578421517893679509191134345669193291839300642804325557239333309285684194171492118876790218676357135005795355120780557041304562775427436294872007030772331150763802099647201693444554255252852512314455792687737792827535519633979563199233864818252982107642478223299597639036958313324773774538056964041269801887493529865248708314525583243684886948212238881686836636506131303570561461096957214594250334617059247803520800063102983707968978402395967483511986579140576628954624673681788275300609343167960505921774058022570160780001527659957974677222593511392904329300719484903397593918756701519876719372340330589698621571858717624129701623240035544410128912702144102055359742294801217221163045611255311363180942408657000804466949452633897191513743179937051944453214103902029242721708010596457641668396 823806450690798970416409122281996805648315562577999679783412528124683546079677527765544567704332970564678066640775630426369343061605739403353091848290939123712288825707556490729412559205917272373812621485291063526558951785375984141240581180733490339636879585330414865076225278664535697748887136631907345941294401317856025719432564980717852061447416765673531725735945503369507861635640465026925526027453229844948809219251852341280673490840576718044018171151660110570457585793265936412414938771167849185584805649235185479216957780635781797236339738469663823659101395507599707354897143041886830668439406882034722222759487360088336488459677231023682407348471359939307407336590480684923092698324458971937558223706690469662757885442967450443563134270104020316113173180182884230883513816322309545540962754543833192349813073173442063666085835490805160533932146053456617179702425274740990040856347819582781163141710384713007428121189070285818907309599636625392598041190142113989593978825476188898375251176373225752435059098138978746253020964333818537753009971647896714671136837197764330547452731125064583548399971191557160975998581057629742722534742651149102483229355343833059911608490261896888795058447293412019710705961314581143495774117026423409201292375347763835068608478901513201435152509636414694219732410952667708861396915631801342128704095523174380547611349048016819367571490308877461555863123157874548138271110045773790810919503917711624279518635160812158242854504228515141447131254711474993903896403686123430885055256357960250035372990405708611437659688735553478989499858525571611750632880712602545048072503187104969023561250498833318882648745859009303927449090091625890771724023234529669627754357312358112094453503820353612969970767741294902067152708083890308811833340511499801039902968386045287637670925850564406330144507191033082692117608018738362972894424843 1332946837369127026299892615561311281790261600469446675025608208134214248062677398416708924120214920990589788491905126668139056334864247390187698429361873477540052377208859008187409362321793889366822059361388787373374187566043004204249185438332455000741488356183682120065151705144229262295005894587917340829989982828686716240616304525979589283905959626598625710379546616478459111571746793836799572369597669296206684804605748429680299291891791507880225488625321257945051100070950267172481465671951931623899219723257819911265728940228748584471000144998149767393144257267290443655350229488721121841804705137905988887350086322929144336041987968252373701812618305435823605289062321171214542605611760891450251288548128924473937647626197652748495857309686740594883667824433002292093040286468185083719171344833498184480036204293046619509153368255609840003060915729669053156825443750160312826093976105281055174805316189704260151579706689588103519075049160055308776422210898914209077156036454070028342929543754435814960120645048954916695361155332127887402788795643816248167401725203342752065346410634255717894069164483396461618802906614869076031820426845320594602106145562509417046614285617017669352099751856187447147000833321611915826924880828523056402985819902019087921120793357305889172945337171934328199295610186532527114379023274279565428301734560132693872385123586073783408841292196370991421111831472400131381955996993986029692606340554217755583089196621909115457448754563132200694934775511538096887604372664525826852538768344539390612001945030382293225934989344896646950005780299629634320793660714130205006047180409698480416465579799552803786046339777766005447325809463966221361422644806388387251884058935598147638863632733055757072026127483589703284373871129501564123196521453908458040707435335497921534862439593744343382088960405136984721360329726748959430536093239 2156753288059925996716301737843308087438577163047446354809020736258897794142354926182253491824547891555267855132680757094508399396469986793540790277652812601252341202916415498916821921527711161740634680846679850899933139351418988345489766619065945340378367941514096985141376983808764960043893031219824686771284384146542741960048869506697441345353376392272157436115492119847966973207387258863725098397050899141155494023857600770960972782732368225924243659776981368515508685864216203584896404443119780809484025372493005390482686720864530381707339883467813591052245652774890151010247372530607952510244112019940711110109573683017480824501665199276056109161089665375131012625652801856137635303936219863387809512254819394136695533069165103192058991579790760910996841004615886522976554102790494629260134099377331376829849277466488683175239203746415000536993061783125670336527869024901302866950323924863836337947026574417267579700895759873922426384648796680701374463401041028198671134861930258926718180720127661567395179743187933662948382119665946425155798767291712962838538562401107082612799141759320301442469135674953622594801487672498818754355169496469697085335500906342476958222775878914558147158199149599466857706794636193059322698997854946465604278195249782922989729272258819090608097846808349022419028021139200235975775938906080907557005830083307074419996472634090602776412782505248452976974954630274679520227107039759820503525844471929379862607831782721273700303258791647342142066030223013090791500776350649257737594024702499640647374935436090904663594678080450125939505638825201246071426541426732750054119683596803449440026830298386122668695085636775309374774899555592112133146668040918056879638416247956259733317136553409370041996895224884605351526579213391872935029861965408259080610403721543209172533365444308749712233467596170067413477937745487322403430518082 3489700125429053023016194353404619369228838763516893029834628944393112042205032324598962415944762812545857643624585883762647455731334234183728488707014686078792393580125274507104231283849505051107456740208068638273307326917461992549738952057398400341119856297697779105206528688952994222338898925807742027601274366975229458200665174032677030629259336018870783146495038736326426084779134052700524670766648568437362178828463349200641272074624159733804469148402302626460559785935166470757377870115071712433383245095750825301748415661093278966178340028465963358445389910042180594665597602019329074352048817157846699997459660005946625160543653167528429810973707970810954617914715123027352177909547980754838060800802948318610633180695362755940554848889477501505880508829048888815069594389258679712979305444210829561309885481759535302684392572002024840540053977512794723493353312775061615693044300030144891512752342764121527731280602449462025945459697956736010150885611939942407748290898384328955061110263882097382355300388236888579643743274998074312558587562935529211005940287604449834678145552393576019336538300158350084213604394287367894786175596341790291687441646468851894004837061495932227499257951005786914004707627957804975149623878683469522007264015151802010910850065616124979781043183980283350618323631325732763090154962180360472985307564643439768292381596220164386185254074701619444398086786102674810902183104033745850196132185026147135445697028404630389157752013354779542837000805734551187679105149015175084590132793047039031259376880466473197889529667425346772889511419124830880392220202140862955060166864006501929856492410097938926454741425414541314822100709019558333494569312847306444131522475183554407372180769286465127114023022708474308635900450342893437058226383419316717121317839057041130707395805038053093094322428001307052134838267472236281833966611321 5646453413488979019732496091247927456667415926564339384643649680652009836347387250781215907769310704101125498757266640857155855127804220977269278984667498680044734783041690006021053205377216212848091421054748489173240466268880980895228718676464345681498224239211876090347905672761759182382791957027566714372558751121772200160714043539374471974612712411142940582610530856174393057986521311564249769163699467578517672852320949971602244857356527959728712808179283994976068471799382674342274274558191493242867270468243830692231102381957809347885679911933776949497635562817070745675844974549937026862292929177787411107569233688964105985045318366804485920134797636186085630540367924883489813213484200618225870313057767712747328713764527859132613840469268262416877349833664775338046148492049174342239439543588160938139734759226023985859631775748439841077047039295920393829881181799962918559994623955008727850699369338538795310981498209335948371844346753416711525349012980970606419425760314587881779290984009758949750480131424822242592125394664020737714386330227242173844478850005556917290944694152896320779007435833303706808405881959866713540530765838259988772777147375194370963059837374846785646416150155386380862414422593998034472322876538415987611542210401584933900579337874944070389141030788632373037351652464932999065930901086441380542313394726746842712378068854254988961666857206867897375061740732949490422410211073505670699658029498076515308304860187351662858055272146426884979066835957564278470605925365824342327726817749538671906751815902564102553124345505796898829017057950032126463646743567595705114286547603305379296519240396325049123436511051316624196875608575150445627715980888224501011160891431510667105497905839874497156019917933358913987427029556285309993256245384724976201928242778584339879929170482361842806555895597477119548316205217723604237397129403 9136153538918032042748690444652546825896254690081232414478278625045121878552419575380178323714073516646983142381852524619803310859138455160997767691682184758837128363166964513125284489226721263955548161262817127446547793186342973444967670733862746022618080536909655195554434361714753404721690882835308741973833118097001658361379217572051502603872048430013723729105569592500819142765655364264774439930348036015879851680784299172243516931980687693533181956581586621436628257734549145099652144673263205676250515563994655993979518043051088314064019940399740307943025472859251340341442576569266101214341746335634111105028893694910731145588971534332915731108505606997040248455083047910841991123032181373063931113860716031357961894459890615073168689358745763922757858662713664153115742881307854055218744987798990499449620240985559288544024347750464681617101016808715117323234494575024534253038923985153619363451712102660323042262100658797974317304044710152721676234624920913014167716658698916836840401247891856332105780519661710822235868669662095050272973893162771384850419137610006751969090246546472340115545735991653791022010276247234608326706362180050280460218793844046264967896898870779013145674101161173294867122050551803009621946755221885509618806225553386944811429403491069050170184214768915723655675283790665762156085863266801853527620959370186611004759665074419375146920931908487341773148526835624301324593315107251520895790214524223650754001888591982052015807285501206427816067641692115466149711074380999426917859610796577703166128696369037300442654012931143671718528477074863006855866945708458660174453411609807309153011650494263975578177936465857939018976317594708779122285293735530945142683366615065074477678675126339624270042940641833222623327479899178747051482628804041693323246081835625470587324975520414935900878323598784171683154472689959886071363740724 14782606952407011062481186535900474282563670616645571799121928305697131714899806826161394231483384220748108641139119165476959165986942676138267046676349683438881863146208654519146337694603937476803639582317565616619788259455223954340196389410327091704116304776121531285902340034476512587104482839862875456346391869218773858522093261111425974578484760841156664311716100448675212200752176675829024209094047503594397524533105249143845761789337215653261894764760870616412696729533931819441926419231454698919117786032238486686210620425008897661949699852333517257440661035676322086017287551119203128076634675513421522212598127383874837130634289901137401651243303243183125878995450972794331804336516381991289801426918483744105290608224418474205782529828014026339635208496378439491161891373357028397458184531387151437589355000211583274403656123498904522694148056104635511153115676374987452813033547940162347214151081441199118353243598868133922689148391463569433201583637901883620587142419013504718619692231901615281856260651086533064827994064326115787987360223390013558694897987615563669260034940699368660894553171824957497830416158207101321867237128018310269232995941219240635930956736245625798792090251316559675729536473145801044094269631760301497230348435954971878712008741366013120559325245557548096693026936255598761222016764353243234069934354096933453717137733928674364108587789115355239148210267568573791747003526180757191595448244022300166062306748779333714873862557647633312795134477649679744620316999746823769245586428546116375072880512271601402995778358436940570547545535024895133319513689276054365288739959213112688449530890890589024701614447517174563215851926169859224750001274623755446153844258046575741583176580966214121426062858575192136610754509455464057044738874188766669525174324614209810467254146002776778707434219196261291231470677907683490308760870127 23918760491325043105229876980553021108459925306726804213600206930742253593452226401541572555197457737395091783520971690096762476846081131299264814368031868197718991509375619032271622183830658740759187743580382744066336052641566927785164060144189837726734385313031186481456774396191265991826173722698184198320224987315775516883472478683477477182356809271170388040821670041176031343517832040093798649024395539610277376213889548316089278721317903346795076721342457237849324987268480964541578563904717904595368301596233142680190138468059985976013719792733257565383686508535573426358730127688469229290976421849055633317627021078785568276223261435470317382351808850180166127450534020705173795459548563364353732540779199775463252502684309089278951219186759790262393067159092103644277634254664882452676929519186141937038975241197142562947680471249369204311249072913350628476350170950011987066072471925315966577602793543859441395505699526931897006452436173722154877818262822796634754859077712421555460093479793471613962041170748243887063862733988210838260334116552784943545317125225570421229125187245841001010098907816611288852426434454335930193943490198360549693214735063286900898853635116404811937764352477732970596658523697604053716216386982187006849154661508358823523438144857082170729509460326463820348702220046264523378102627620045087597555313467120064721897399003093739255508721023842580921358794404198093071596841288008712491238458546523816816308637371315766889669843148839740611202119341795210770028074127823196163446039342694078239009208640638703438432371368084242266074012099758140175380634984513025463193370822919997602542541384853000279792383983032502234828243764568003872286568359286391296527624661640816060855256092553745696105799217025359234081989354642804096221502992808362848420406449835281054579121523191714608312542795045462914625150597643376380124610851 38701367443732054167711063516453495391023595923372376012722135236439385308352033227702966786680841958143200424660090855573721642833023807437531861044381551636600854655584273551417959878434596217562827325897948360686124312096790882125360449554516929430850690089152717767359114430667778578930656562561059654666616856534549375405565739794903451760841570112327052352537770489851243544270008715922822858118443043204674900746994797459935040510655119000056971486103327854262021716802412783983504983136172603514486087628471629366400758893068883637963419645066774822824347544211895512376017678807672357367611097362477155530225148462660405406857551336607719033595112093363292006445984993499505599796064945355643533967697683519568543110908727563484733749014773816602028275655470543135439525628021910850135114050573293374628330241408725837351336594748273727005397129017986139629465847324999439879106019865478313791753874985058559748749298395065819695600827637291588079401900724680255342001496725926274079785711695086895818301821834776951891856798314326626247694339942798502240215112841134090489160127945209661904652079641568786682842592661437252061180618216670818926210676282527536829810371362030610729854603794292646326194996843405097810486018742488504079503097463330702235446886223095291288834705884011917041729156301863284600119391973288321667489667564053518439035132931768103364096510139197820069569061972771884818600367468765904086686702568823982878615386150649481763532400796473053406336596991474955390345073874646965409032467888810453311889720912240106434210729805024812813619547124653273494894324260567390751933330036032686052073432275442024981406831500207065450680169934427228622287842983041837450371882708216557644031837058767867122168657792217495844836498810106861140960377181575032373594731064045091521833267525968493315746761991306754146095828505326866688885480978 62620127935057097272940940497006516499483521230099180226322342167181638901804259629244539341878299695538292208181062545670484119679104938736796675412413419834319846164959892583689582062265254958322015069478331104752460364738357809910524509698706767157585075402183904248815888826859044570756830285259243852986841843850324892289038218478380928943198379383497440393359440531027274887787840756016621507142838582814952276960884345776024319231973022346852048207445785092111346704070893748525083547040890508109854389224704772046590897361128869613977139437800032388208034052747468938734747806496141586658587519211532788847852169541445973683080812772078036415946920943543458133896519014204679395255613508719997266508476883295031795613593036652763684968201533606864421342814562646779717159882686793302812043569759435311667305482605868400299017065997642931316646201931336768105816018275011426945178491790794280369356668528918001144254997921997716702053263811013742957220163547476890096860574438347829539879191488558509780342992583020838955719532302537464508028456495583445785532238066704511718285315191050662914750987458180075535269027115773182255124108415031368619425411345814437728664006478435422667618956272025616922853520541009151526702405724675510928657758971689525758885031080177462018344166210475737390431376348127807978222019593333409265044981031173583160932531934861842619605231163040400990927856376969977890197208756774616577925161115347799694924023521965248653202243945312794017538716333270166160373148002470161572478507231504531550898929552878809872643101173109055079693559224411413670274959245080416215126700858952683654615973660295025261199215483239567685508413698995232494574411342328228746899507369857373704887093151321612818274457009242855078918488164749665237181880174383395222015137513880372576412389049160207924059304786352217060720979102970243069010091829 101321495378789151440652004013460011890507117153471556239044477403621024210156292856947506128559141653681492632841153401244205762512128746174328536456794971470920700820544166135107541940699851175884842395376279465438584676835148692035884959253223696588435765491336622016175003257526823149687486847820303507653458700384874267694603958273284380704039949495824492745897211020878518432057849471939444365261281626019627177707879143235959359742628141346909019693549112946373368420873306532508588530177063111624340476853176401412991656254197753251940559082866807211032381596959364451110765485303813944026198616574009944378077318004106379089938364108685755449542033036906750140342504007704184995051678454075640800476174566814600338724501764216248418717216307423466449618470033189915156685510708704152947157620332728686295635724014594237650353660745916658322043330949322907735281865600010866824284511656272594161110543513976560893004296317063536397654091448305331036622064272157145438862071164274103619664903183645405598644814417797790847576330616864090755722796438381948025747350907838602207445443136260324819403067099748862218111619777210434316304726631702187545636087628341974558474377840466033397473560066318263249048517384414249337188424467164015008160856435020227994331917303272753307178872094487654432160532649991092578341411566621730932534648595227101599967664866629945983701741302238221060496918349741862708797576225540520664611863684171782573539409672614730416734644741785847423875313324745121550718221877117126981510975120314984862788650465118916306853830978133867893313106349064687165169283505647806967060030894985369706689405935737050242606046983446633136188583633422461116862254325370066197271390078073931348918930210089479940443114801460350923754986974856526378142257355958427595609868577925464098245656575128701239806066777658971206816807608297109757895572807 163941623313846248713592944510466528389990638383570736465366819570802663111960552486192045470437441349219784841022215946914689882191233684911125211869208391305240546985504058718797124002965106134206857464854610570191045041573506501946409468951930463746020840893520526264990892084385867720444317133079547360640300544235199159983642176751665309647238328879321933139256651551905793319845690227956065872404120208834579454668763489011983678974601163693761067900994898038484715124944200281033672077217953619734194866077881173459582553615326622865917698520666839599240415649706833389845513291799955530684786135785542733225929487545552352773019176880763791865488953980450208274239023021908864390307291962795638066984651450109632134338094800869012103685417841030330870961284595836694873845393395497455759201190092163997962941206620462637949370726743559589638689532880659675841097883875022293769463003447066874530467212042894562037259294239061253099707355259319073993842227819634035535722645602621933159544094672203915378987807000818629803295862919401555263751252933965393811279588974543113925730758327310987734154054557928937753380646892983616571428835046733556165061498974156412287138384318901456065092516338343880171902037925423400863890830191839525936818615406709753753216948383450215325523038304963391822591908998118900556563431159955140197579629626400684760900196801491788603306972465278622051424774726711840598994784982315137242537024799519582268463433194579979069936888687098641441414029658015287711091369879587288553989482351819516413687580017997726179496932151242922973006665573476100835444242750728223182186731753938053361305379596032075503805262466686200821696997332417693611436665667698294944170897447931305053806023361411092758717571810703206002673475139606191615324137530341822817625006091805836674658045624288909163865371564011188267537786711267352826905664636 265263118692635400154244948523926540280497755537042292704411296974423687322116845343139551598996583002901277473863369348158895644703362431085453748326003362776161247806048224853904665943664957310091699860230890035629629718408655193982294428205154160334456606384857148281165895341912690870131803980899850868293759244620073427678246135024949690351278278375146425885153862572784311751903539699895510237665401834854206632376642632247943038717229305040670087594544010984858083545817506813542260607395016731358535342931057574872574209869524376117858257603533646810272797246666197840956278777103769474710984752359552677604006805549658731862957540989449547315030987017356958414581527029613049385358970416871278867460826016924232473062596565085260522402634148453797320579754629026610030530904104201608706358810424892684258576930635056875599724387489476247960732863829982583576379749475033160593747515103339468691577755556871122930263590556124789497361446707624405030464292091791180974584716766896036779208997855849320977632621418616420650872193536265646019474049372347341837026939882381716133176201463571312553557121657677799971492266670194050887733561678435743710697586602498386845612762159367489462566076404662143420950555309837650201079254659003540944979471841729981747548865686722968632701910399451046254752441648109993134904842726576871130114278221627786360867861668121734587008713767516843111921693076453703307792361207855657907148888483691364842002842867194709486671533428884488865289342982760409261809591756704415535500457472134501276476230483116642486350763129376790866319771922540788000613526256376030149246762648923423067994785531769125746411309450132833957885580965840154728298919993068361141442287526005236402724953571500572699160686612163556926428462114462717993466394886300250413234874669731300772903702199417610403671438341670159474354594319564462584801237443 429204742006481648867837893034393068670488393920613029169778116545226350434077397829331597069434024352121062314885585295073585526894596115996578960195211754081401794791552283572701789946630063444298557325085500605820674759982161695928703897157084624080477447278377674546156787426298558590576121113979398228934059788855272587661888311776614999998516607254468359024410514124690105071749229927851576110069522043688786087045406121259926717691830468734431155495538909023342798670761707094575932684612970351092730209008938748332156763484850998983775956124200486409513212896373031230801792068903725005395770888145095410829936293095211084635976717870213339180519940997807166688820550051521913775666262379666916934445477467033864607400691365954272626088051989484128191541039224863304904376297499699064465560000517056682221518137255519513549095114233035837599422396710642259417477633350055454363210518550406343222044967599765684967522884795186042597068801966943479024306519911425216510307362369517969938753092528053236356620428419435050454168056455667201283225302306312735648306528856924830058906959790882300287711176215606737724872913563177667459162396725169299875759085576654799132751146478268945527658592743006023592852593235261051064970084850843066881798087248439735500765814070173183958224948704414438077344350646228893691468273886532011327693907848028471121768058469613523190315686232795465163346467803165543906787146190170795149685913283210947110466276061774688556608422115983130306703372640775696972900961636291704089489939823954017690163810501114368665847695280619713839326437496016888836057769007104253331433494402861476429300165127801201250216571916819034779582578298257848339735585660766656085613184973936541456530976932911665457878258422866762929101937254068909608790532416642073230859880761537137447561747823706519567536809905681347741892381030831815411706902079 694467860699117049022082841558319608950986149457655321874189413519650037756194243172471148668430607355022339788748954643232481171597958547082032708521215116857563042597600508426606455890295020754390257185316390641450304478390816889910998325362238784414934053663234822827322682768211249460707925094879249097227819033475346015340134446801564690349794885629614784909564376697474416823652769627747086347734923878542992719422048753507869756409059773775101243090082920008200882216579213908118193292007987082451265551939996323204730973354375375101634213727734133219786010143039229071758070846007494480106755640504648088433943098644869816498934258859662886495550928015164125103402077081134963161025232796538195801906303483958097080463287931039533148490686137937925512120793853889914934907201603900673171918810941949366480095067890576389148819501722512085560155260540624842993857382825088614956958033653745811913622723156636807897786475351310832094430248674567884054770812003216397484892079136414006717962090383902557334253049838051471105040249991932847302699351678660077485333468739306546192083161254453612841268297873284537696365180233371718346895958403605043586456672179153185978363908637636434990224669147668167013803148545098701266049339509846607826777559090169717248314679756896152590926859103865484332096792294338886826373116613108882457808186069656257482635920137735257777324400000312308275268160879619247214579507398026453056834801766902311952469118928969398043279955544867619171992715623536106234710553392996119624990397296088518966640040984231011152198458409996504705646209418557676836671295263480283480680257051784899497294950659570326996627881366951868737468159264098003068034505653835017227055472499941777859255930504412238157038945035030319855530399368531627602256927302942323644094755431268438220465450023124129971208248247351507216246975350396277996508139522 1123672602705598697889920734592712677621474543378268351043967530064876388190271641001802745737864631707143402103634539938306066698492554663078611668716426870938964837389152791999308245836925084198688814510401891247270979238372978585839702222519323408495411500941612497373479470194509808051284046208858647326161878822330618603002022758578179690348311492884083143933974890822164521895401999555598662457804445922231778806467454874767796474100890242509532398585621829031543680887340921002694125976620957433543995760948935071536887736839226374085410169851934619629299223039412260302559862914911219485502526528649743499263879391740080901134910976729876225676070869012971291792222627132656876936691495176205112736351780950991961687863979296993805774578738127422053703661833078753219839283499103599737637478811459006048701613205146095902697914615955547923159577657251267102411335016175144069320168552204152155135667690756402492865309360146496874691499050641511363079077331914641613995199441505931976656715182911955793690873478257486521559208306447600048585924653984972813133639997596231376250990121045335913128979474088891275421238093796549385806058355128774343462215757755807985111115055115905380517883261890674190606655741780359752331019424360689674708575646338609452749080493827069336549151807808279922409441142940567780517841390499640893785502093917684728604403978607348780967640086233107773438614628682784791121366653588197248206520715050113259062935394990744086599888377660850749478696088264311803207611515029287823714480337120042536656803851485345379818046153690616218544972646914574565672729064270584536812113751454646375926595115787371528246844453283770903517050737562355851407770091314601673312668657473878319315786907437323903614917203457897082784632336622600537211047459719584396874954636192805575668027197846830649538745058153032854958139356381228093408215041601 1818140463404715746912003576151032286572460692835923672918156943584526425946465884174273894406295239062165741892383494581538547870090513210160644377237641987796527879986753300425914701727220104953079071695718281888721283716763795475750700547881562192910345554604847320200802152962721057511991971303737896423389697855805964618342157205379744380698106378513697928843539267519638938719054769183345748805539369800774771525889503628275666230509950016284633641675704749039744563103920134910812319268628944515995261312888931394741618710193601749187044383579668752849085233182451489374317933760918713965609282169154391587697822490384950717633845235589539112171621797028135416895624704213791840097716727972743308538258084434950058768327267228033338923069424265359979215782626932643134774190700707500410809397622400955415181708273036672291846734117678060008719732917791891945405192399000232684277126585857897967049290413913039300763095835497807706785929299316079247133848143917858011480091520642345983374677273295858351025126528095537992664248556439532895888624005663632890618973466335537922443073282299789525970247771962175813117603274029921104152954313532379387048672429934961171089478963753541815508107931038342357620458890325458453597068763870536282535353205428779169997395173583965489140078666912145406741537935234906667344214507112749776243310279987340986087039898745084038744964486233420081713882789562404038335946160986223701263355516817015571015404513919713484643168333205718368650688803887847909442322068422283943339470734416131055623443892469576390970244612100612723250618856333132242509400359534064820292794008506431275423890066446941855243472334650722772254518896826453854475804596968436690539724129973820097175042837941736141771956148492927402640162735991132164813304387022526720519049391624074013888492647869954779509953306400384362174386331731624371404723181123 2941813066110314444801924310743744964193935236214192023962124473649402814136737525176076640144159870769309143996018034519844614568583067873239256045954068858735492717375906092425222947564145189151767886206120173135992262955136774061590402770400885601405757055546459817574281623157230865563276017512596543749551576678136583221344179963957924071046417871397781072777514158341803460614456768738944411263343815723006550332356958503043462704610840258794166040261326578071288243991261055913506445245249901949539257073837866466278506447032828123272454553431603372478384456221863749676877796675829933451111808697804135086961701882125031618768756212319415337847692666041106708687847331346448717034408223148948421274609865385942020456191246525027144697648162392782032919444460011396354613474199811100148446876433859961463883321478182768194544648733633607931879310575043159047816527415175376753597295138062050122184958104669441793628405195644304581477428349957590610212925475832499625475290962148277960031392456207814144716000006353024514223456862887132944474548659648605703752613463931769298694063403345125439099227246051067088538841367826470489959012668661153730510888187690769156200594018869447196025991192929016548227114632105818205928088188231225957243928851767388622746475667411034825689230474720425329150979078175474447862055897612390670028812373905025714691443877352432819712604572466527855152497418245188829457312814574420949469876231867128830078339908910457571243056710866569118129384892152159712649933583451571767053951071536173592280247743954921770788290765791228941795591503247706808182129423804649357104907759961077651350485182234313383490316787934493675771569634388809705883574688283038363852392787447698416490829745379060045386873351950824485424795072613732702024351846742111117394004027816879589556519845716785429048698364553417217132525688112852464812938222724 4759953529515030191713927886894777250766395929050115696880281417233929240083203409350350534550455109831474885888401529101383162438673581083399900423191710846532020597362659392851137649291365294104846957901838455024713546671900569537341103318282447794316102610151307137775083776119951923075267988816334440172941274533942547839686337169337668451744524249911479001621053425861442399333511537922290160068883185523781321858246462131319128935120790275078799681937031327111032807095181190824318764513878846465534518386726797861020125157226429872459498937011272125327469689404315239051195730436748647416721090866958526674659524372509982336402601447908954450019314463069242125583472035560240557132124951121691729812867949820892079224518513753060483620717586658142012135227086944039489387664900518600559256274056260916879065029751219440486391382851311667940599043492835050993221719814175609437874421723919948089234248518582481094391501031142112288263357649273669857346773619750357636955382482790623943406069729503672495741126534448562506887705419326665840363172665312238594371586930267307221137136685644914965069475018013242901656444641856391594111966982193533117559560617625730327290072982622989011534099123967358905847573522431276659525156952101762239779282057196167792743870840995000314829309141632570735892517013410381115206270404725140446272122653892366700778483776097516858457569058699947936866380207807592867793258975560644650733231748684144401093744422830171055886225044072287486780073696040007622092255651873855710393421805952304647903691636424498161758535377891841665046210359580839050691529783338714177397701768467508926774375248681255238733789122585216448026088531215263560359379285251475054392116917421518513665872583320796187158829500443751888064957808604864866837656233764637837913053419440953603445012493586740208558651670953801579306912019844476836217661403847 7701766595625344636515852197638522214960331165264307720842405890883332054219940934526427174694614980600784029884419563621227777007256648956639156469145779705267513314738565485276360596855510483256614844107958628160705809627037343598931506088683333395721859665697766955349365399277182788638544006328930983922492851212079131061030517133295592522790942121309260074398567584203245859947968306661234571332227001246787872190603420634362591639731630533872965722198357905182321051086442246737825209759128748415073775460564664327298631604259257995731953490442875497805854145626178988728073527112578580867832899564762661761621226254635013955171357660228369787867007129110348834271319366906689274166533174270640151087477815206834099680709760278087628318365749050924045054671546955435844001139100329700707703150490120878342948351229402208680936031584945275872478354067878210041038247229350986191471716861981998211419206623251922888019906226786416869740785999231260467559699095582857262430673444938901903437462185711486640457126540801587021111162282213798784837721324960844298124200394199076519831200088990040404168702264064309990195286009682862084070979650854686848070448805316499483490667001492436207560090316896375454074688154537094865453245140332988197023210908963556415490346508406035140518539616352996065043496091585855563068326302337531116300935027797392415469927653449949678170173631166475792018877626052781697250571790135065600203107980551273231172084331740628627129281754938856604909458588192167334742189235325427477447372877488478240183939380379419932546826143683070606841801862828545858873659207143363534502609528428586578124860430915568622224105910519710123797658165604073266242953973534513418244509704869216930156702328699856232545702852394576373489752881218597568862008080506748955307057447257833193001532339303525637607350035507218796439437707957329301030599626571 12461720125140374828229780084533299465726727094314423417722687308117261294303144343876777709245070090432258915772821092722610939445930230040039056892337490551799533912101224878127498246146875777361461802009797083185419356298937913136272609406965781190037962275849074093124449175397134711713811995145265424095434125746021678900716854302633260974535466371220739076019621010064688259281479844583524731401110186770569194048849882765681720574852420808951765404135389232293353858181623437562143974273007594880608293847291462188318756761485687868191452427454147623133323835030494227779269257549327228284553990431721188436280750627144996291573959108137324237886321592179590959854791402466929831298658125392331880900345765027726178905228274031148111939083335709066057189898633899475333388804000848301266959424546381795222013380980621649167327414436256943813077397560713261034259967043526595629346138585901946300653455141834403982411407257928529158004143648504930324906472715333214899386055927729525846843531915215159136198253075250149527998867701540464625200893990273082892495787324466383740968336774634955369238177282077552891851730651539253678182946633048219965630009422942229810780739984115425219094189440863734359922261676968371524978402092434750436802492966159724208234217349401035455347848757985566800936013104996236678274596707062671562573057681689759116248411429547466536627742689866423728885257833860374565043830765695710250936339729235417632265828754570799683015506799011144091689532284232174956834444887199283187840794683440782888087631016803918094305361521574912271888012222409384909565188990482077711900311296896095504899235679596823860957895033104926571823746696819336826602333258785988472636626622290735443822574912020652419704532352838328261554710689823462435699664314271386793220110866698786796446544832890265846166001706461020375746349727801806137248261030418 20163486720765719464745632282171821680687058259578731138565093199000593348523085278403204883939685071033042945657240656343838716453186878996678213361483270257067047226839790363403858843002386260618076646117755711346125165925975256735204115495649114585759821941546841048473814574674317500352356001474196408017926976958100809961747371435928853497326408492529999150418188594267934119229448151244759302733337188017357066239453303400044312214584051342824731126333747137475674909268065684299969184032136343295682069307856126515617388365744945863923405917897023120939177980656673216507342784661905809152386889996483850197901976881780010246745316768365694025753328721289939794126110769373619105465191299662972031987823580234560278585938034309235740257449084759990102244570180854911177389943101178001974662575036502673564961732210023857848263446021202219685555751628591471075298214272877581820817855447883944512072661765086326870431313484714946027744929647736190792466171810916072161816729372668427750280994100926645776655379616051736549110029983754263410038615315233927190619987718665460260799536863624995773406879546141862882047016661222115762253926283902906813700458228258729294271406985607861426654279757760109813996949831505466390431647232767738633825703875123280623724563857807070595866388374338562865979509196582092241342923009400202678873992709487151531718339082997416214797916321032899520904135459913156262294402555830775851139447709786690863437913086311428310144788553950000696598990872424342291576634122524710665288167560929261128271570397183338026852187665257982878729814085237930768438848197625441246402920825324682083024096110512392483182000943624636695621404862423410092845287232320501890881136327159952373979277240720508652250235205232904635044463571042060004561672394778135748527168313956619989448077172193791483773351741968239172185787435759135438278860656989 32625206845906094292975412366705121146413785353893154556287780507117854642826229622279982593184755161465301861430061749066449655899117109036717270253820760808866581138941015241531357089149262037979538448127552794531544522224913169871476724902614895775797784217395915141598263750071452212066167996619461832113361102704122488862464225738562114471861874863750738226437809604332622378510927995828284034134447374787926260288303186165726032789436472151776496530469136369769028767449689121862113158305143938176290363155147588703936145127230633732114858345351170744072501815687167444286612042211233037436940880428205038634182727508925006538319275876503018263639650313469530753980902171840548936763849425055303912888169345262286457491166308340383852196532420469056159434468814754386510778747102026303241621999582884468786975113190645507015590860457459163498633149189304732109558181316404177450163994033785890812726116906920730852842720742643475185749073296241121117372644526249287061202785300397953597124526016141804912853632691301886077108897685294728035239509305507010083115775043131844001767873638259951142645056828219415773898747312761369440436872916951126779330467651200959105052146969723286645748469198623844173919211508473837915410049325202489070628196841283004831958781207208106051214237132324129666915522301578328919617519716462874241447050391176910647966750512544882751425659010899323249789393293773530827338233321526486102075787439022108495703741840882227993160295352961144788288523156656517248411079009723993853128962244370044016359201413987256121157549186832895150617826307647315678004037188107518958303232122220777587923331790109216344139895976729563267445151559242746919447620491106490363517762949450687817801852152741161071954767558071232896599174260865522440261336709049522541747279180655406785894622005084057329939353448429259547932137163560941575527121687407 52788693566671813757721044648876942827100843613471885694852873706118447991349314900683187477124440232498344807087302405410288372352303988033395483615304031065933628365780805604935215932151648298597615094245308505877669688150888426606680840398264010361557606158942756190072078324745769712418523998093658240131288079662223298824211597174490967969188283356280737376855998198600556497740376147073043336867784562805283326527756489565770345004020523494601227656802883507244703676717754806162082342337280281471972432463003715219553533492975579596038264263248193865011679796343840660793954826873138846589327770424688888832084704390705016785064592644868712289392979034759470548107012941214168042229040724718275944875992925496846736077104342649619592453981505229046261679038995609297688168690203204305216284574619387142351936845400669364863854306478661383184188900817896203184856395589281759270981849481669835324798778672007057723274034227358421213494002943977311909838816337165359223019514673066381347405520117068450689509012307353622626218927669048991445278124620740937273735762761797304262567410501884946916051936374361278655945763973983485202690799200854033593030925879459688399323553955331148072402748956383953987916161339979304305841696557970227704453900716406285455683345065015176647080625506662692532895031498160421160960442725863076920321043100664062179685089595542298966223575331932222770693528753686687089632635877357261953215235148808799359141654927193656303305083906911145484887514029080859539987713132248704518417129805299305144630771811170594148009736852090878029347640392885246446442885385732960204706152947545459670947427900621608827321896920354199963066556421666157012292907723426992254398899276610640191781129393461669724205002763304137531643637831907582444823009103827658290274447494612026775342699177277848813712705190397498720117924599320077013805982344396 85413900412577908050696457015582063973514628967365040251140654213236302634175544522963170070309195393963646668517364154476738028251421097070112753869124791874800209504721820846466573021300910336577153542372861300409214210375801596478157565300878906137355390376338671331670342074817221924484691994713120072244649182366345787686675822913053082441050158220031475603293807802933178876251304142901327371002231937593209586816059675731496377793456995646377724187272019877013732444167443928024195500642424219648262795618151303923489678620206213328153122608599364609084181612031008105080566869084371884026268650852893927466267431899630023323383868521371730553032629348229001302087915113054716978992890149773579857764162270759133193568270650990003444650513925698102421113507810363684198947437305230608457906574202271611138911958591314871879445166936120546682822050007200935294414576905685936721145843515455726137524895578927788576116754970001896399243076240218433027211460863414646284222299973464334944530046133210255602362644998655508703327825354343719480517633926247947356851537804929148264335284140144898058696993202580694429844511286744854643127672117805160372361393530660647504375700925054434718151218155007798161835372848453142221251745883172716775082097557689290287642126272223282698294862638986822199810553799738750080577962442325951161768093491840972827651840108087181717649234342831546020482922047460217916970869198883748055291022587830907854845396768075884296465379259872290273176037185737376788398792141972698371546092049669349160989973225157850269167286038923773179965466700532562124446922573840479163009385069766237258870759690730825171461792897083763230511707980908903931740528214533482617916662226061328009582981546202830796159770321375370428242812092773104885084345812877180832021726675267433561237321182361906143652058638826758268050061762881018589333104031803 138202593979249721808417501664459006800615472580836925945993527919354750625524859423646357547433635626461991475604666559887026400603725085103508237484428822940733837870502626451401788953452558635174768636618169806286883898526690023084838405699142916498912996535281427521742420399562991636903215992806778312375937262028569086510887420087544050410238441576312212980149806001533735373991680289974370707870016500398492913343816165297266722797477519140978951844074903384258436120885198734186277842979704501120235228081155019143043212113181792924191386871847558474095861408374848765874521695957510730615596421277582816298352136290335040108448461166240442842425608382988471850194928054268885021221930874491855802640155196255979929645374993639623037104495430927148682792546805972981887116127508434913674191148821658753490848803991984236743299473414781929867010950825097138479270972494967695992127692997125561462323674250934846299390789197360317612737079184195744937050277200580005507241814646530716291935566250278706291871657306009131329546753023392710925795758546988884630587300566726452526902694642029844974748929576941973085790275260728339845818471318659193965392319410120335903699254880385582790553967111391752149751534188432446527093442441142944479535998274095575743325471337238459345375488145649514732705585297899171241538405168189028082089136592505035007336929703629480683872809674763768791176450801146905006603505076241010008506257736639707213987051695269540599770463166783435758063551214818236328386505274221402889963221854968654305620745036328444417177022891014651209313107093417808570889807959573439367715538017311696929818187591352433998783689817437963193578264402575060944033435937960474872315561502671968201364110939664500520364773084679507959886449924680687329907354916704839122296174169879460336580020359639754957364763829224256988167986362201095603139086376199 223616494391827629859113958680041070774130101548201966197134182132591053259700403946609527617742831020425638144122030714363764428855146182173620991353553614815534047375224447297868361974753468971751922178991031106696098108902491619562995971000021822636268386911620098853412762474380213561387907987519898384620586444394914874197563243000597132851288599796343688583443613804466914250242984432875698078872248437991702500159875841028763100590934514787356676031346923261272168565052642662210473343622128720768498023699306323066532890733388006252344509480446923083180043020405856870955088565041882614641865072130476743764619568189965063431832329687612173395458237731217473152282843167323602000214821024265435660404317467015113123213645644629626481755009356625251103906054616336666086063564813665522132097723023930364629760762583299108622744640350902476549833000832298073773685549400653632713273536512581287599848569829862634875507544167362214011980155424414177964261738063994651791464114619995051236465612383488961894234302304664640032874578377736430406313392473236831987438838371655600791237978782174743033445922779522667515634786547473194488946143436464354337753712940780983408074955805440017508705185266399550311586907036885588748345188324315661254618095831784866030967597609461742043670350784636336932516139097637921322116367610514979243857230084346007834988769811716662401522044017595314811659372848607122923574374275124758063797280324470615068832448463345424896235842426655726031239588400555613116785297416194101261509313904638003466610718261486294686344308929938424389278573793950370695336730533413918530724923087077934188688947282083259170245482714521726424089972383483964875773964152493957490232223728733296210947092485867331316524543406054878388129262017453792214991700729582019954317900845146893897817341542001661101016822468051015256218048125082114192472190408002 361819088371077351667531460344500077574745574129038892143127710051945803885225263370255885165176466646887629619726697274250790829458871267277129228837982437756267885245727073749270150928206027606926690815609200912982982007429181642647834376699164739135181383446901526375155182873943205198291123980326676696996523706423483960708450663088141183261527041372655901563593419806000649624234664722850068786742264938390195413503692006326029823388412033928335627875421826645530604685937841396396751186601833221888733251780461342209576102846569799176535896352294481557275904428780705636829610260999393345257461493408059560062971704480300103540280790853852616237883846114205945002477771221592487021436751898757291463044472663271093052859020638269249518859504787552399786698601422309647973179692322100435806288871845589118120609566575283345366044113765684406416843951657395212252956521895621328705401229509706849062172244080797481174898333364722531624717234608609922901312015264574657298705929266525767528401178633767668186105959610673771362421331401129141332109151020225716618026138938382053318140673424204588008194852356464640601425061808201534334764614755123548303146032350901319311774210685825600299259152377791302461338441225318035275438630765458605734154094105880441774293068946700201389045838930285851665221724395537092563654772778704007325946366676851042842325699515346143085394853692359083602835823649754027930177879351365768072303538061110322282819500158614965496006305593439161789303139615373849445171802690415504151472535759606657772231463297814739103521331820953075598591680887368179266226538492987357898440461104389631118507134873435693169029172531959689617668236786059025819807400090454432362547785231405264412311203425531831836889316490734386348015711942134479544899055646286859076614075015026354234397361901641416058381586297275272244386034487283209795611276784201 585435582762904981526645419024541148348875675677240858340261892184536857144925667316865412782919297667313267763848727988614555258314017449450750220191536052571801932620951521047138512902959496578678612994600232019679080116331673262210830347699186561771449770358521625228567945348323418759679031967846575081617110150818398834906013906088738316112815641168999590147037033610467563874477649155725766865614513376381897913663567847354792923979346548715692303906768749906802773250990484058607224530223961942657231275479767665276108993579957805428880405832741404640455947449186562507784698826041275959899326565538536303827591272670265166972113120541464789633342083845423418154760614388916089021651572923022727123448790130286206176072666282898876000614514144177650890604656038646314059243257135765957938386594869519482750370329158582453988788754116586882966676952489693286026642071296274961418674766022288136662020813910660116050405877532084745636697390033024100865573753328569309090170043886520818764866791017256630080340261915338411395295909778865571738422543493462548605464977310037654109378652206379331041640775135987308117059848355674728823710758191587902640899745291682302719849166491265617807964337644190852772925348262203624023783819089774266988772189937665307805260666556161943432716189714922188597737863493175013885771140389218986569803596761197050677314469327062805486916897709954398414495196498361150853752253626490526136100818385580937351651948621960390392242148020094887820542728015929462561957100106609605412981849664244661238842181559301033789865640750891499987870254681318549961563269026401276429165384191467565307196082155518952339274655246481416041758209169542990695581364242948389852780008960138560623258295911399163153413859896789264736144973959588271759890756375868879030931975860173248132214703443643077159398408765326287500604082612365323988083467192203 947254671133982333194176879369041225923621249806279750483389602236482661030150930687121297948095764314200897383575425262865346087772888716727879449029518490328069817866678594796408663831165524185605303810209432932662062123760854904858664724398351300906631153805423151603723128222266623957970155948173251778613633857241882795614464569176879499374342682541655491710630453416468213498712313878575835652356778314772093327167259853680822747367758582644027931782190576552333377936928325455003975716825795164545964527260229007485685096426527604605416302185035886197731851877967268144614309087040669305156788058946595863890562977150565270512393911395317405871225929959629363157238385610508576043088324821780018586493262793557299228931686921168125519474018931730050677303257460955962032422949457866393744675466715108600870979895733865799354832867882271289383520904147088498279598593191896290124075995531994985724193057991457597225304210896807277261414624641634023766885768593143966388875973153046586293267969651024298266446221526012182757717241179994713070531694513688265223491116248419707427519325630583919049835627492451948718484910163876263158475372946711450944045777642583622031623377177091218107223490021982155234263789487521659299222449855232872722926284043545749579553735502862144821762028645208040262959587888712106449425913167922993895749963438048093519640168842408948572311751402313482017331020148115178783930132977856294208404356446691259634471448780575355888248453613534049609845867631303312007128902797025109564454385423851319011073644857115772893386972571844575586461935568686729227789807519388634327605845295857196425703217028954645508303827778441105659426445955602016515388764333402822215327794191543825035569499336930994990303176387523651084160685901722751304789812022155738107546050875199602366612065345284493217779995062601559744990117099648533783694743976404 1532690253896887314720822298393582374272496925483520608823651494421019518175076598003986710731015061981514165147424153251479901346086906166178629669221054542899871750487630115843547176734125020764283916804809664952341142240092528167069495072097537862678080924163944776832291073570590042717649187916019826860230744008060281630520478475265617815487158323710655081857667487026935777373189963034301602517971291691153991240830827701035615671347105131359720235688959326459136151187918809513611200247049757107203195802739996672761794090006485410034296708017777290838187799327153830652399007913081945265056114624485132167718154249820830437484507031936782195504568013805052781311998999999424665064739897744802745709942052923843505405004353204067001520088533075907701567907913499602276091666206593632351683062061584628083621350224892448253343621621998858172350197856636781784306240664488171251542750761554283122386213871902117713275710088428892022898112014674658124632459521921713275479046017039567405058134760668280928346786483441350594153013150958860284808954238007150813828956093558457361536897977836963250091476402628439256835544758519550991982186131138299353584945522934265924751472543668356835915187827666173008007189137749725283323006268945007139711698473981211057384814402059024088254478218360130228860697451381887120335197053557141980465553560199245144196954638169471754059228649112267880431826216646476329637682386604346820344505174832272196986123397402535746280490601633628937430388595647232774569086002903634714977436235088095980249915826416416806683252613322736075574332190250005279189353076545789910756771229487324761732899299184473597847578483024922521701184655125145007210970128576351212068107803151682385658827795248330158143717036284312915820305659861311023064680568398024617138478026735372850498826768788927570377178403827927847245594199712013857771778211168607 2479944925030869647914999177762623600196118175289800359307041096657502179205227528691108008679110826295715062530999578514345247433859794882906509118250573033227941568354308710639955840565290544949889220615019097885003204363853383071928159796495889163584712077969367928436014201792856666675619343864193078638844377865302164426134943044442497314861501006252310573568297940443403990871902276912877438170328070005926084567998087554716438418714863714003748167471149903011469529124847134968615175963875552271749160330000225680247479186433013014639713010202813177035919651205121098797013317000122614570212902683431728031608717226971395707996900943332099601375793943764682144469237385609933241107828222566582764296435315717400804633936040125235127039562552007637752245211170960558238124089156051498745427737528299736684492330120626314052698454489881129461733718760783870282585839257680067541666826757086278108110406929893575310501014299325699300159526639316292148399345290514857241867921990192613991351402730319305226613232704967362776910730392138854997879485932520839079052447209806877068964417303467547169141312030120891205554029668683427255140661504085010804528991300576849546783095920845448054022411317688155163241452927237246942622228718800240012434624758024756806964368137561886233076240247005338269123657039270599226784622966725064974361303523637293237716594807011880702631540400514581362449157236794591508421612519582203114552909531278963456620594846183111102168739055247162987040234463278536086576214905700659824541890620511947299260989471273532579576639585894580651160794125818692008417142884065178545084377074783181958158602516213428243355882310803363627360611101080747023726358892909754034283435597343226210694397294585261153134020212671836566904466345763033774369470380420180355246024077610572452865438834134212063594958398890529406990584316811662391555472955145011 4012635178927756962635821476156205974468615100773320968130692591078521697380304126695094719410125888277229227678423731765825148779946701049085138787471627576127813318841938826483503017299415565714173137419828762837344346603945911238997654868593427026262793002133312705268305275363446709393268531780212905499075121873362446056655421519708115130348659329962965655425965427470339768245092239947179040688299361697080075808828915255752054090061968845363468403160109229470605680312765944482226376210925309378952356132740222353009273276439498424674009718220590467874107450532274929449412324913204559835269017307916860199326871476792226145481407975268881796880361957569734925781236385609357906172568120311385510006377368641244310038940393329302128559651085083545453813119084460160514215755362645131097110799589884364768113680345518762306042076111879987634083916617420652066892079922168238793209577518640561230496620801795693023776724387754591323057638653990950273031804812436570517346968007232181396409537490987586154960019188408713371063743543097715282688440170527989892881403303365334430501315281304510419232788432749330462389574427202978247122847635223310158113936823511115471534568464513804889937599145354328171248642064986972225945234987745247152146323232005967864349182539620910321330718465365468497984354490652486347119820020282206954826857083836538381913549445181352456690769049626849242880983453441067838059294906186549934897414706111235653606718243585646848449229656880791924470623058925768861145300908604294539519326855600043279510905297689949386259892199217316726735126316068697287606495960610968455841148304270506719891501815397901841203460793828286149061795756205892030937329021486105246351543400494908596353225089833591311277737248956149482724772005624344797434150948818204972384502104345945303364265602923139633972136802718457254236178516523676249327251166313618 6492580103958626610550820653918829574664733276063121327437733687736023876585531655386202728089236714572944290209423310280170396213806495931991647905722200609355754887196247537123458857864706110664062358034847860722347550967799294310925814665089316189847505080102680633704319477156303376068887875644405984137919499738664610482790364564150612445210160336215276228994263367913743759116994516860056478858627431703006160376827002810468492508776832559367216570631259132482075209437613079450841552174800861650701516462740448033256752462872511439313722728423403644910027101737396028246425641913327174405481919991348588230935588703763621853478308918600981398256155901334417070250473771219291147280396342877968274302812684358645114672876433454537255599213637091183206058330255420718752339844518696629842538537118184101452606010466145076358740530601761117095817635378204522349477919179848306334876404275726839338607027731689268334277738687080290623217165293307242421431150102951427759214889997424795387760940221306891381573251893376076147974473935236570280567926103048828971933850513172211499465732584772057588374100462870221667943604095886405502263509139308320962642928124087965018317664385359252943960010463042483334490094992224219168567463706545487164580947990030724671313550677182796554406958712370806767108011529923085573904442987007271929188160607473831619630144252193233159322309450141430605330140690235659346480907425768753049450324237390199110227313089768757950617968712127954911510857522204304947721515814304954364061217476111990578771894768963481965836531785111897377895920441887389296023638844676147000925525379053688678050104331611330084559343104631649776422406857286639054663687914395859280634978997838134807047622384418852464411757461627986049629238351387378571803621329238385327630526181956517756229704437057351697567095201608986661226762833335338640882724121458629 10505215282886383573186642130075035549133348376836442295568426278814545573965835782081297447499362602850173517887847042045995544993753196981076786693193828185483568206038186363606961875164121676378235495454676623559691897571745205549923469533682743216110298082235993338972624752519750085462156407424618889636994621612027056539445786083858727575558819666178241884420228795384083527362086756807235519546926793400086236185655918066220546598838801404730684973791368361952680889750379023933067928385726171029653872595480670386266025739312009863987732446643994112784134552269670957695837966826531734240750937299265448430262460180555847998959716893869863195136517858904151996031710156828649053452964463189353784309190052999889424711816826783839384158864722174728659871449339880879266555599881341760939649336708068466220719690811663838664782606713641104729901551995625174416369999102016545128085981794367400569103648533484961358054463074834881946274803947298192694462954915387998276561858004656976784170477712294477536533271081784789519038217478334285563256366273576818864815253816537545929967047866076568007606888895619552130333178523089383749386356774531631120756864947599080489852232849873057833897609608396811505738737057211191394512698694290734316727271222036692535662733216803706875737677177736275265092366020575571921024263007289478884015017691310370001543693697374585616013078499768279848211124143676727184540202331955302984347738943501434763834031333354404799067198369008746835981480581130073808866816722909248903580544331712033858282800066653431352096423984329214104631046757956086583630134805287115456766673683324195397941606147009231925762803898459935925484202613492531085601016935881964526986522398333043403400847474252443775689494710584135532354010357011723369237772278056590300015028286302463059593970039980491331539232004327443915462941349859014890209975287772247 16997795386845010183737462783993865123798081652899563623006159966550569450551367437467500175588599317423117808097270352326165941207559692913068434598916028794839323093234433900730420733028827787042297853489524484282039448539544499860849284198772059405957803162338673972676944229676053461531044283069024873774914121350691667022236150648009340020768980002393518113414492163297827286479081273667291998405554225103092396562482920876689039107615633964097901544422627494434756099187992103383909480560527032680355389058221118419522778202184521303301455175067397757694161654007066985942263608739858908646232857290614036661198048884319469852438025812470844593392673760238569066282183928047940200733360806067322058612002737358534539384693260238376639758078359265911865929779595301598018895444400038390782187873826252567673325701277808915023523137315402221825719187373829696765847918281864851462962386070094239907710676265174229692332201761915172569491969240605435115894105018339426035776748002081772171931417933601368918106522975160865667012691413570855843824292376625647836749104329709757429432780450848625595980989358489773798276782618975789251649865913839952083399793071687045508169897235232310777857620071439294840228832049435410563080162400836221481308219212067417206976283893986503430144635890107082032200377550498657494928705994296750813203178298784201621173837949567818775335387949909710453541264833912386531021109757724056033798063180891633874061344423123162749685167081136701747492338103334378756588332537214203267641761807824024437054694835616913317932955769441111482526967199843475879653773649963262457692199062377884075991710478620562010322147003091585701906609470779170140264704850277823807621501396171178210448469858671296240101252172212121581983248708399101941041393607294975627645554468258980815823674477037843029106327205936430576689704183194353531092699409230876 27503010669731393756924104914068900672931430029736005918574586245365115024517203219548797623087961920273291325985117394372161486201312889894145221292109856980322891299272620264337382608192949463420533348944201107841731346111289705410772753732454802622068101244574667311649568982195803546993200690493643763411908742962718723561681936731868067596327799668571759997834720958681910813841168030474527517952481018503178632748138838942909585706454435368828586518213995856387436988938371127316977408946253203710009261653701788805788803941496531167289187621711391870478296206276737943638101575566390642886983794589879485091460509064875317851397742706340707788529191619142721062313894084876589254186325269256675842921192790358423964096510087022216023916943081440640525801228935182477285451044281380151721837210534321033894045392089472753688305744029043326555620739369454871182217917383881396591048367864461640476814324798659191050386664836750054515766773187903627810357059933727424312338606006738748956101895645895846454639794056945655186050908891905141407080658650202466701564358146247303359399828316925193603587878254109325928609961142065173001036222688371583204156658019286125998022130085105368611755229679836106345967569106646601957592861095126955798035490434104109742639017110790210305882313067843357297292743571074229415952969001586229697218195990094571622717531646942404391348466449677990301752388977589113715561312089679359018145802124393068637895375756477567548752365450145448583473818684464452565455149260123452171222306139536058295337494902270344670029379753770325587158013957799562463283908455250377914458872745702079473933316625629793936084950901551521627390812084271701225865721786159788334608023794504221613849317332923740015790746882796257114337259065410825310279165885351565927660582754561443875417644517018334360645559210263874492152645533053368421302674697003123 44500806056576403940661567698062765796729511682635569541580746211915684475068570657016297798676561237696409134082387746698327427408872582807213655891025885775162214392507054165067803341221777250462831202433725592123770794650834205271622037931226862028025904406913341284326513211871857008524244973562668637186822864313410390583918087379877407617096779670965278111249213121979738100320249304141819516358035243606271029310621759819598624814070069332926488062636623350822193088126363230700886889506780236390364650711922907225311582143681052470590642796778789628172457860283804929580365184306249551533216651880493521752658557949194787703835768518811552381921865379381290128596078012924529454919686075323997901533195527716958503481203347260592663675021440706552391731008530484075304346488681418542504025084360573601567371093367281668711828881344445548381339926743284567948065835665746248054010753934555880384525001063833420742718866598665227085258742428509062926251164952066850348115354008820521128033313579497215372746317032106520853063600305475997250904951026828114538313462475957060788832608767773819199568867612599099726886743761040962252686088602211535287556451090973171506192027320337679389612849751275401186196401156082012520673023495963177279343709646171526949615301004776713736026948957950439329493121121572886910881674995882980510421374288878773243891369596510223166683854399587700755293653811501500246582421847403415051943865305284702511956720179600730298437532531282150330966156787798831322043481797337655438864067947360082732392189737887257987962335523211437069684981157643038342937682105213640372151071808079963549925027104250355946407097904643107329297421555050871366130426636437612142229525190675399824297787191595036255891999055008378696320507773809927251320559492646541555306137222820424691241318994056177389751886416200305068842349716247721952395374106233999 72003816726307797697585672612131666469660941712371575460155332457280799499585773876565095421764523157969700460067505141070488913610185472701358877183135742755485105691779674429405185949414726713883364551377926699965502140762123910682394791663681664650094005651488008595976082194067660555517445664056312400598731607276129114145600024111745475213424579339537038109083934080661648914161417334616347034310516262109449662058760598762508210520524504701755074580850619207209630077064734358017864298453033440100373912365624696031100386085177583637879830418490181498650754066560542873218466759872640194420200446470373006844119067014070105555233511225152260170451056998524011190909972097801118709106011344580673744454388318075382467577713434282808687591964522147192917532237465666552589797532962798694225862294894894635461416485456754422400134625373488874936960666112739439130283753049627644645059121799017520861339325862492611793105531435415281601025515616412690736608224885794274660453960015559270084135209225393061827386111089052176039114509197381138657985609677030581239877820622204364148232437084699012803156745866708425655496704903106135253722311290583118491713109110259297504214157405443048001368079431111507532163970262728614478265884591090133077379200080275636692254318115566924041909262025793796626785864692647116326834643997469210207639570278973344866608901243452627558032320849265691057046042789090613962143733937082774070089667429677771149852095936078297847189897981427598914439975472263283887498631057461107610086374086896141027729684640157602657991715276981762656842995115442600806221590560464018286609944553782043023858343729880149882492048806194628956688233639322572591996148422597400476837548985179621438147104524518776271682745937804635810657766839220752561599725377998107482966719977381868566658963511074511750397445626464179560994995249301090373698048803237122 116504622782884201638247240310194432266390453395007145001736078669196483974654344533581393220441084395666109594149892887768816341019058055508572533074161628530647320084286728594472989290636503964346195753811652292089272935412958115954016829594908526678119910058401349880302595405939517564041690637618981037785554471589539504729518111491622882830521359010502316220333147202641387014481666638758166550668551505715720691369382358582106835334594574034681562643487242558031823165191097588718751187959813676490738563077547603256411968228858636108470473215268971126823211926844347802798831944178889745953417098350866528596777624963264893259069279743963812552372922377905301319506050110725648164025697419904671645987583845792340971058916781543401351266985962853745309263245996150627894144021644217236729887379255468237028787578824036091111963506717934423318300592856024007078349588715373892699069875733573401245864326926326032535824398034080508686284258044921753662859389837861125008569314024379791212168522804890277200132428121158696892178109502857135908890560703858695778191283098161424937065045852472832002725613479307525382383448664147097506408399892794653779269560201232469010406184725780727390980929182386908718360371418810626998938908087053310356722909726447163641869619120343637777936210983744235956278985814220003237716318993352190718060944567852118110500270839962850724716175248853391812339696600592114208726155784486189122033532734962473661808816115679028145627430512709749245406132260062115209542112854798763048950442034256223760121874378044860645954050800193199726527976273085639149159272665677658658761016361862006573783370834130505828899146710837736285985655194373443958126575059035012619067074175855021262444891716113812527574744992813014506978274613030679812920284870644649038272857200202293257900282505130689140149332042664484629837344965548812326093422909471121 188508439509191999335832912922326098736051395107378720461891411126477283474240118410146488642205607553635810054217398028839305254629243528209931410257297371286132425776066403023878175240051230678229560305189578992054775076175082026636411621258590191328213915709889358476278677600007178119559136301675293438384286078865668618875118135603368358043945938350039354329417081283303035928643083973374513584979067767825170353428142957344615045855119078736436637224337861765241453242255831946736615486412847116591112475443172299287512354314036219746350303633759152625473965993404890676017298704051529940373617544821239535440896691977334998814302790969116072722823979376429312510416022208526766873131708764485345390441972163867723438636630215826210038858950485000938226795483461817180483941554607015930955749674150362872490204064280790513512098132091423298255261258968763446208633341765001537344128997532590922107203652788818644328929929469495790287309773661334444399467614723655399669023274039939061296303732030283339027518539210210872931292618700238274566876170380889277018069103720365789085297482937171844805882359346015951037880153567253232760130711183377772270982669311491766514620342131223775392349008613498416250524341681539241477204792678143443434102109806722800334123937235910561819845473009538032583064850506867119564550962990821400925700514846825462977109172083415478282748496098119082869385739389682728170869889721568963192123200164640244811660912051757325992817328494137348159846107732325399097040743912259870659036816121152364787851559018202463303945766077174962383370971388528239955380863226141676945370960915644049597641714564010655711391195517032365242673888833696016550122723481632413095904623161034642700591996240632588799257490930617650317636041452251432374520010248642756521239577177584161824559246016205200890546777669128664190832340214849902699791471712708243 305013062292076200974080153232520531002441848502385865463627489795673767448894462943727881862646691949301919648367290916608121595648301583718503943331458999816779745860353131618351164530687734642575756059001231284144048011588040142590428450853498718006333825768290708356581273005946695683600826939294274476169840550455208123604636247094991240874467297360541670549750228485944422943124750612132680135647619273540891044797525315926721881189713652771118199867825104323273276407446929535455366674372660793081851038520719902543924322542894855854820776849028123752297177920249238478816130648230419686327034643172106064037674316940599892073372070713079885275196901754334613829922072319252415037157406184390017036429556009660064409695546997369611390125936447854683536058729457967808378085576251233167685637053405831109518991643104826604624061638809357721573561851824787453286982930480375430043198873266164323353067979715144676864754327503576298973594031706256198062327004561516524677592588064318852508472254835173616227650967331369569823470728203095410475766731084747972796260386818527214022362528789644676808607972825323476420263602231400330266539111076172426050252229512724235525026526857004502783329937795885324968884713100349868476143700765196753790825019533169963975993556356254199597781683993282268539343836321087122802267281984173591643761459414677581087609442923378329007464671346972474681725435990274842379596045506055152314156732899602718473469728167436354138444759006847097405252239992387514306582856767058633707987258155408588547973433396247323949899816877368162109898947661613879104540135891819335604131977277506056171425085398141161540290342227870101528659544028069460508249298540667425714971697336889663963036887956746401326832235923430664824614316065282112187440295119287405559512434377786455082459528521335890030696109711793148820669685180398715025884894622179364 493521501801268200309913066154846629738493243609764585925518900922151050923134581353874370504852299502937729702584688945447426850277545111928435353588756371102912171636419534642229339770738965320805316364190810276198823087763122169226840072112088909334547741478180066832859950605953873803159963240969567914554126629320876742479754382698359598918413235710581024879167309769247458871767834585507193720626687041366061398225668273271336927044832731507554837092162966088514729649702761482191982160785507909672963513963892201831436676856931075601171080482787276377771143913654129154833429352281949626700652187993345599478571008917934890887674861682195957998020881130763926340338094527779181910289114948875362426871528173527787848332177213195821428984886932855621762854212919784988862027130858249098641386727556193982009195707385617118136159770900781019828823110793550899495616272245376967387327870798755245460271632503963321193684256973072089260903805367590642461794619285171924346615862104257913804775986865456955255169506541580442754763346903333685042642901465637249814329490538893003107660011726816521614490332171339427458143755798653563026669822259550198321234898824216002039646868988228278175678946409383741219409054781889109953348493443340197224927129339892764310117493592164761417627157002820301122408686827954242366818244974994992569461974261503044064718615006793807290213167445091557551111175379957570550465935227624115506279933064242963285130640219193680131262087500984445565098347724712913403623600679318504367024074276560953335824992414449787253845582954543124493269919050142119059920999117961012549502938193150105769066799962151817251681537744902466771333432861765477058372022022299838810876320497924306663628884197378990126089726854048315142250357517533544561960305367930162080752011555370616907018774537541090921242887380921813011502025395248617725676366334887607 798534564093344401283993219387367160740935092112150451389146390717824818372029044297602252367498991452239649350951979862055548445925846695646939296920215370919691917496772666260580504301426699963381072423192041560342871099351162311817268522965587627340881567246470775189441223611900569486760790180263842390723967179776084866084390629793350839792880533071122695428917538255191881814892585197639873856274306314906952443023193589198058808234546384278673036959988070411788006057149691017647348835158168702754814552484612104375360999399825931455991857331815400130068321833903367633649560000512369313027686831165451663516245325858534782961046932395275843273217782885098540170260166847031596947446521133265379463301084183187852258027724210565432819110823380710305298912942377752797240112707109482266327023780962025091528187350490443722760221409710138741402384962618338352782599202725752397430526744064919568813339612219107998058438584476648388234497837073846840524121623846688449024208450168576766313248241700630571482820473872950012578234075106429095518409632550385222610589877357420217130022540516461198423098304996662903878407358030053893293208933335722624371487128336940237564673395845232780959008884205269066188293767882238978429492194208536951015752148873062728286111049948418961015408840996102569661752523149041365169085526959168584213223433676180625152328057930172136297677838792064032232836611370232412930061980733679267820436665963845681758600368386630034269706846507831542970350587717100427710206457446377138075011332431969541883798425810697111203745399831911286603168866711755998164461135009780348153634915470656161940491885360292978791971879972772568299992976889834937566621320562967264525848017834813970626665772154125391452921962777478979966864673582815656749400600487217567640264445933157071989478303058876980951938997092714961832171710575647332751561260957066971 1292056065894612601593906285542213790479428335721915037314665291639975869295163625651476622872351290955177379053536668807502975296203391807575374650508971742022604089133192200902809844072165665284186388787382851836541694187114284481044108595077676536675429308724650842022301174217854443289920753421233410305278093809096961608564145012491710438711293768781703720308084848024439340686660419783147067576900993356273013841248861862469395735279379115786227874052151036500302735706852452499839330995943676612427778066448504306206797676256757007057162937814602676507839465747557496788482989352794318939728339019158797262994816334776469673848721794077471801271238664015862466510598261374810778857735636082140741890172612356715640106359901423761254248095710313565927061767155297537786102139837967731364968410508518219073537383057876060840896381180610919761231208073411889252278215474971129364817854614863674814273611244723071319252122841449720477495401642441437482985916243131860373370824312272834680118024228566087526737989980414530455332997422009762780561052534016022472424919367896313220237682552243277720037588637168002331336551113828707456319878755595272822692722027161156239604320264833461059134687830614652807407702822664128088382840687651877148240679278212955492596228543540583722433035997998922870784161209976995607535903771934163576782685407937683669217046672936965943587891006237155589783947786750189983480527915961303383326716599028088645043731008605823714400968934008815988535448935441813341113830058125695642442035406708530495219623418225146898457590982786454411096438785761898117224382134127741360703137853663806267709558685322444796043653417717675035071326409751600414624993342585267103336724338332738277290294656351504381579011689631527295109115031100349201311360905855147729721016457488527688896497077596418071873181884473636774843673735970895950477237627291954578 2090590629987957002877899504929580951220363427834065488703811682357800687667192669949078875239850282407417028404488648669558523742129238503222313947429187112942296006629964867163390348373592365247567461210574893396884565286465446792861377118043264164016310875971121617211742397829755012776681543601497252696002060988873046474648535642285061278504174301852826415737002386279631222501553004980786941433175299671179966284272055451667454543513925500064900911012139106912090741764002143517486679831101845315182592618933116410582158675656582938513154795146418076637907787581460864422132549353306688252756025850324248926511061660635004456809768726472747644544456446900961006680858428221842375805182157215406121353473696539903492364387625634326687067206533694276232360680097675290583342252545077213631295434289480244165065570408366504563656602590321058502633593036030227605060814677696881762248381358928594383086950856942179317310561425926368865729899479515284323510037866978548822395032762441411446431272470266718098220810454287480467911231497116191876079462166566407695035509245253733437367705092759738918460686942164665235214958471858761349613087688930995447064209155498096477168993660678693840093696714819921873595996590546367066812332881860414099256431427086018220882339593489002683448444838995025440445913733126036972704989298893332160995908841613864294369374730867138079885568845029219622016784398120422396410589896694982651147153264991934326802331376992453748670675780516647531505799523158913768824036515572072780517046739140500037103421844035844009661336382618365697699607652473654115388843269137521708856772769134462429650050570682737774835625297690447603371319386641435352191614663148234367862572356167552247916960428505629773031933652409006275075979704683164858060761506342365297361280903421684760885975380655295052825120881566351736675845446546543283228798888249021549 3382646695882569604471805790471794741699791763555980526018476973997776556962356295600555498112201573362594407458025317477061499038332630310797688597938158854964900095763157068066200192445758030531753849997957745233426259473579731273905485713120940700691740184695772459234043572047609456066602297022730663001280154797970008083212680654776771717215468070634530136045087234304070563188213424763934009010076293027452980125520917314136850278793304615851128785064290143412393477470854596017326010827045521927610370685381620716788956351913339945570317732961020753145747253329018361210615538706101007192484364869483046189505877995411474130658490520550219445815695110916823473191456689596653154662917793297546863243646308896619132470747527058087941315302244007842159422447252972828369444392383044944996263844797998463238602953466242565404552983770931978263864801109442116857339030152668011127066235973792269197360562101665250636562684267376089343225301121956721806495954110110409195765857074714246126549296698832805624958800434702010923244228919125954656640514700582430167460428613150046657605387645003016638498275579332667566551509585687468805932966444526268269756931182659252716773313925512154899228384545434574681003699413210495155195173569512291247497110705298973713478568137029586405881480836993948311230074943103032580240893070827495737778594249551547963586421403804104023473459851266375211800732184870612379891117812656286034473869864020022971846062385598277463071644714525463520041248458600727109937866573697768422959082145849030532323045262260990908118927365404820108796046438235552232613225403265263069559910622798268697359609256005182570879278715408122638442645796393035766816608005733501471199296694500290525207255084857134154610945342040533570185094735783514059372122412197513027082297360910212449782472458251713124698302766039988511519519182517439233706036515540976127 5473237325870526607349705295401375692920155191390046014722288656355577244629548965549634373352051855770011435862513966146620022780461868814020002545367345967907196102393121935229590540819350395779321311208532638630310824760045178066766862831164204864708051060666894076445785969877364468843283840624227915697282215786843054557861216297061832995719642372487356551782089620583701785689766429744720950443251592698632946409792972765804304822307230115916029696076429250324484219234856739534812690658147367242792963304314737127371115027569922884083472528107438829783655040910479225632748088059407695445240390719807295116016939656046478587468259247022967090360151557817784479872315117818495530468099950512952984597120005436522624835135152692414628382508777702118391783127350648118952786644928122158627559279087478707403668523874609069968209586361253036766498394145472344462399844830364892889314617332720863580447512958607429953873245693302458208955200601472006130005991977088958018160889837155657572980569169099523723179610888989491391155460416242146532719976867148837862495937858403780094973092737762755556958962521497332801766468057546230155546054133457263716821140338157349193942307586190848739322081260254496554599696003756862222007506451372705346753542132384991934360907730518589089329925675988973751675988676229069552945882369720827898774503091165412257955796134671242103359028696295594833817516582991034776301707709351268685621023129011957298648393762590731211742320495042111051547047981759640878761903089269841203476128884989530569426467106296834917780263748023185806495654090709206348002068672402784778416683391932731127009659826687920345714904013098570241813965183034471119008222668881735839061869050667842773124215513362763927642878994449539845261074440466678917432883918539878324443578264331897210668447838907008177523423647606340248195364629063982516934835403789997676 8855884021753096211821511085873170434619946954946026540740765630353353801591905261150189871464253429132605843320539283623681521818794499124817691143305504822872096198156279003295790733265108426311075161206490383863737084233624909340672348544285145565399791245362666535679829541924973924909886137646958578698562370584813062641073896951838604712935110443121886687827176854887772348877979854508654959453327885726085926535313890079941155101100534731767158481140719393736877696705711335552138701485192889170403333989696357844160071379483262829653790261068459582929402294239497586843363626765508702637724755589290341305522817651457952718126749767573186536175846668734607953063771807415148685131017743810499847840766314333141757305882679750502569697811021709960551205574603620947322231037311167103623823123885477170642271477340851635372762570132185015030363195254914461319738874983032904016380853306513132777808075060272680590435929960678547552180501723428727936501946087199367213926746911869903699529865867932329348138411323691502314399689335368101189360491567731268029956366471553826752578480382765772195457238100830000368317977643233698961479020577983531986578071520816601910715621511703003638550465805689071235603395416967357377202680020884996594250652837683965647839475867548175495211406512982922062906063619332102133186775440548323636553097340716960221542217538475346126832488547561970045618248767861647156192825522007554720094892993031980270494456148189008674813965209567574571588296440360367988699769662967609626435211030838561101749512368557825825899191113428005915291700528944758580615294075668047847976594014730999824369269082693102916594182728506692880256610979427506885824830674615237310261165745168133298331470598219898082253824336490073415446169176250192976805006330737391351525875625242109660450920297158721302221726413646328759714883811581421750640871919330973803 14329121347623622819171216381274546127540102146336072555463054286708931046221454226699824244816305284902617279183053249770301544599256367938837693688672850790779292300549400938525381274084458822090396472415023022494047908993670087407439211375449350430107842306029560612125615511802338393753169978271186494395844586371656117198935113248900437708654752815609243239609266475471474134567746284253375909896579478424718872945106862845745459923407764847683188177217148644061361915940568075086951392143340256413196297294011094971531186407053185713737262789175898412713057335149976812476111714824916398082965146309097636421539757307504431305595009014596153626535998226552392432936086925233644215599117694323452832437886319769664382141017832442917198080319799412078942988701954269066275017682239289262251382402972955878045940001215460705340972156493438051796861589400386805782138719813397796905695470639233996358255588018880110544309175653981005761135702324900734066507938064288325232087636749025561272510435037031853071318022212680993705555149751610247722080468434880105892452304329957606847551573120528527752416200622327333170084445700779929117025074711440795703399211858973951104657929097893852377872547065943567790203091420724219599210186472257701941004194970068957582200383598066764584541332188971895814582052295561171686132657810269151535327600431882372479498013673146588230191517243857564879435765350852681932494533231358823405715916122043937569142849910779739886556285704609685623135344422120008867461672752237450829911339915828091671175979474854660743679454861451191721787354619653964928617362748070832626393277406663730951378928909381023262309086741605263122070576162461978004833053343496973149323034795835976071455686111582662009896703330939613260707243616716871894237890249277269675969453889574006871119368136065729479745150061252669007910248440645404267575707323120971479 23185005369376719030992727467147716562160049101282099096203819917062284847813359487850014116280558714035223122503592533393983066418050867063655384831978355613651388498705679941821172007349567248401471633621513406357784993227294996748111559919734495995507633551392227147805445053727312318663056115918145073094406956956469179840009010200739042421589863258731129927436443330359246483445726138762030869349907364150804799480420752925686615024508299579450346658357868037798239612646279410639090093628533145583599631283707452815691257786536448543391053050244357995642459629389474399319475341590425100720689901898387977727062574958962384023721758782169340162711844895287000385999858732648792900730135438133952680278652634102806139446900512193419767778130821122039494194276557890013597248719550456365875205526858433048688211478556312340713734726625623066827224784655301267101877594796430700922076323945747129136063663079152791134745105614659553313316204048329462003009884151487692446014383660895464972040300904964182419456433536372496019954839086978348911440960002611373922408670801511433600130053503294299947873438723157333538402423344013628078504095289424327689977283379790553015373550609596856016423012871632639025806486837691576976412866493142698535254847807752923230039859465614940079752738701954817877488115914893273819319433250817475171880697772599332701040231211621934357024005791419534925054014118714329088687358753366378125810809115075917839637306058968748561370250914177260194723640862480376856161442415205060456346550946666652772925491843412486569578645974879197637079055148598723509232656823738880474369871421394730775748197992074126178903269470111956002327187141889484890657884018112210459584200541004109369787156709802560092150527667429686676153412792967064871042896580014661027495329514816116531570288433224450781966876474898997767625132252226826018216579242451945282 37514126717000341850163943848422262689700151247618171651666874203771215894034813714549838361096863998937840401686645783164284611017307235002493078520651206404430680799255080880346553281434026070491868106036536428851832902220965084155550771295183846425615475857421787759931060565529650712416226094189331567490251543328125297038944123449639480130244616074340373167045709805830720618013472423015406779246486842575523672425527615771432074947916064427133534835575016681859601528586847485726041485771873401996795928577718547787222444193589634257128315839420256408355516964539451211795587056415341498803655048207485614148602332266466815329316767796765493789247843121839392818935945657882437116329253132457405512716538953872470521587918344636336965858450620534118437182978512159079872266401789745628126587929831388926734151479771773046054706883119061118624086374055688072884016314609828497827771794584981125494319251098032901679054281268640559074451906373230196069517822215776017678102020409921026244550735941996035490774455749053489725509988838588596633521428437491479814860975131469040447681626623822827700289639345484666708486869044793557195529170000865123393376495238764504120031479707490708394295559937576206816009578258415796575623052965400400476259042777821880812240243063681704664294070890926713692070168210454445505452091061086626707208298204481705180538244884768522587215523035277099804489779469567011021181891984725201531526725237119855408780155969748488447926536618786945817858985284600385723623115167442511286257890862494744444101471318267147313258100836330389358866409768252688437850019571809713100763148828058461727127126901455149441212356211717219124397763304351462895490937361609183608907235336840085441242842821385222102047230998369299936860656409683936765280786829291930703464783404390123402689656569290180261712026536151666775535380692872230285792286565572916761 60699132086377060881156671315569979251860200348900270747870694120833500741848173202399852477377422712973063524190238316558267677435358102066148463352629562018082069297960760822167725288783593318893339739658049835209617895448260080903662331214918342421123109408814014907736505619256963031079282210107476640584658500284594476878953133650378522551834479333071503094482153136189967101459198561777437648596394206726328471905948368697118689972424364006583881493932884719657841141233126896365131579400406547580395559861426000602913701980126082800519368889664614403997976593928925611115062398005766599524344950105873591875664907225429199353038526578934833951959688017126393204935804390531230017059388570591358192995191587975276661034818856829756733636581441656157931377255070049093469515121340201994001793456689821975422362958328085386768441609744684185451311158710989339985893909406259198749848118530728254630382914177185692813799386883300112387768110421559658072527706367263710124116404070816491216591036846960217910230889285425985745464827925566945544962388440102853737269645932980474047811680127117127648163078068642000246889292388807185274033265290289451083353778618555057135405030317087564410718572809208845841816065096107373552035919458543099011513890585574804042280102529296644744046809592881531569558284125347719324771524311904101879088995977081037881578476096390456944239528826696634729543793588281340109869250738091579657337534352195773248417462028717237009296787532964206012582626147080762579784557582647571742604441809161397217026963161679633882836746811209586995945464916851411947082676395548593575133020249453192502875324893529275620115625681829175126724950446240947786148821379721394068491435877844194811029999531187782194197758665798986613014069202651001636323683409306591730960112919206239934259945002514631043678903011050664543160512945099056304008865808024862043 98213258803377402731320615163992241941560351596518442399537568324604716635882986916949690838474286711910903925876884099722552288452665337068641541873280768422512750097215841702514278570217619389385207845694586264061450797669225165059213102510102188846738585266235802667667566184786613743495508304296808208074910043612719773917897257100018002682079095407411876261527862942020687719472670984792844427842881049301852144331475984468550764920340428433717416329507901401517442669819974382091173065172279949577191488439144548390136146173715717057647684729084870812353493558468376822910649454421108098327999998313359206024267239491896014682355294375700327741207531138965786023871750048413667133388641703048763705711730541847747182622737201466093699495032062190276368560233582208173341781523129947622128381386521210902156514438099858432823148492863745304075397532766677412869910224016087696577619913115709380124702165275218594492853668151940671462220016794789854142045528583039727802218424480737517461141772788956253401005345034479475470974816764155542178483816877594333552130621064449514495493306750939955348452717414126666955376161433600742469562435291154574476730273857319561255436510024578272805014132746785052657825643354523170127658972423943499487772933363396684854520345592978349408340880483808245261628452335802164830223615372990728586297294181562743062116720981158979531455051861973734534033573057848351131051142722816781188864259589315628657197617998465725457223324151751151830441611431681148303407672750090083028862332671656141661128434479946781196094847647539976354811874685104100384932695967358306675896169077511654230002451794984425061327981893546394251122713750592410681639758741330577677398671214684280252272842352573004296244989664168286549874725612334938401604470238598522434424896323596363336949601571804811305390929547202331318695893637971286589801152373597778804 158912390889754463612477286479562221193420551945418713147408262445438217377731160119349543315851709424883967450067122416280819965888023439134790005225910330440594819395176602524682003859001212708278547585352636099271068693117485245962875433725020531267861694675049817575404071804043576774574790514404284848659568543897314250796850390750396525233913574740483379356010016078210654820931869546570282076439275256028180616237424353165669454892764792440301297823440786121175283811053101278456304644572686497157587048300570548993049848153841799858167053618749485216351470152397302434025711852426874697852344948419232797899932146717325214035393820954635161693167219156092179228807554438944897150448030273640121898706922129823023843657556058295850433131613503846434299937488652257266811296644470149616130174843211032877578877396427943819591590102608429489526708691477666752855804133422346895327468031646437634755085079452404287306653055035240783849988127216349512214573234950303437926334828551554008677732809635916471311236234319905461216439644689722487723446205317697187289400266997429988543304986878057082996615795482768667202265453822407927743595700581444025560084052475874618390841540341665837215732705555993898499641708450630543679694891882486598499286823948971488896800448122274994152387690076689776831186736461149884154995139684894830465386290158643780943695197077549436475694580688670369263577366646129691240920393460908360846201793941511401905615080027182962466520111684715357843024237578761910883192230332737654771466774480817538878155397641626415078931594458749563350757339601955512332015372362906900251029189326964846732877776688513700681443607575375569377847664196833358467788580121051971745890107092528475063302841883760786490442748329967273162888794814985940037928153647905114165385009242802603271209546574319442349069832558252995861856406583070342893810018181622640847 257125649693131866343797901643554463134980903541937155546945830770042934013614147036299234154325996136794871375944006516003372254340688776203431547099191098863107569492392444227196282429218832097663755431047222363332519490786710411022088536235122720114600279941285620243071637988830190518070298818701093056734478587510034024714747647850414527915992670147895255617537879020231342540404540531363126504282156305330032760568900337634220219813105220874018714152948687522692726480873075660547477709744966446734778536739715097383185994327557516915814738347834356028704963710865679256936361306847982796180344946732592003924199386209221228717749115330335489434374750295057965252679304487358564283836671976688885604418652671670771026280293259761944132626645566036710668497722234465440153078167600097238258556229732243779735391834527802252414738595472174793602106224244344165725714357438434591905087944762147014879787244727622881799506723187181455312208144011139366356618763533343165728553253032291526138874582424872724712241579354384936687414461453878029901930022195291520841530888061879503038798293628997038345068512896895334157641615256008670213158135872598600036814326333194179646278050366244110020746838302778951157467351805153713807353864306430097987059757312368173751320793715253343560728570560498022092815188796952048985218755057885559051683584340206524005811918058708416007149632550644103797610939703978042371971536183725142035066053530827030562812698025648687923743435836466509673465849010443059186599903082827737800329107152473680539283832121573196275026442106289539705569214287059612716948068330265206926925358404476500962880228483498125742771589468921963628970377947425769149428338862382549423288778307212755315575684236333790786687737994135559712763520427320878439532623886503636599809905566398966608159148146124253654460762105455327180552300221041629483611170555220419651 416038040582886329956275188123116684328401455487355868694354093215481151391345307155648777470177705561678838826011128932284192220228712215338221552325101429303702388887569046751878286288220044805942303016399858462603588183904195656984963969960143251382461974616335437818475709792873767292645089333105377905394047131407348275511598038600811053149906244888378634973547895098441997361336410077933408580721431561358213376806324690799889674705870013314320011976389473643868010291926176939003782354317652943892365585040285646376235842481399316773981791966583841245056433863262981690962073159274857494032689895151824801824131532926546442753142936284970651127541969451150144481486858926303461434284702250329007503125574801493794869937849318057794565758259069883144968435210886722706964374812070246854388731072943276657314269230955746072006328698080604283128814915722010918581518490860781487232555976408584649634872324180027169106159778222422239162196271227488878571191998483646603654888081583845534816607392060789196023477813674290397903854106143600517625376227512988708130931155059309491582103280507054121341684308379664001359907069078416597956753836454042625596898378809068798037119590707909947236479543858772849657109060255784257487048756188916696486346581261339662648121241837528337713116260637187798924001925258101933140213894742780389517069874498850304949507115136257852482844213239314473061188306350107733612891929644633502881267847472338432468427778052831650390263547521181867516490086589204970069792133415565392571795881633291219417439229763199611353958036565039103056326553889015125048963440693172107177954547731441347695758005172011826424215197044297533006818042144259127617216918983434521169178885399741230378878526120094577277130486324102832875652315242306818477460777534408750765194914809201569879368694720443696003530594663708323042408706804111972377421188736843060498 673163690276018196300073089766671147463382359029293024241299923985524085404959454191948011624503701698473710201955135448287564474569400991541653099424292528166809958379961490979074568717438876903606058447447080825936107674690906068007052506195265971497062254557621058061547347781703957810715388151806470962128525718917382300226345686451225581065898915036273890591085774118673339901740950609296535085003587866688246137375225028434109894518975234188338726129338161166560736772799252599551260064062619390627144121780000743759421836808956833689796530314418197273761397574128660947898434466122840290213034841884416805748330919135767671470892051615306140561916719746208109734166163413662025718121374227017893107544227473164565896218142577819738698384904635919855636932933121188147117452979670344092647287302675520437049661065483548324421067293552779076730921139966355084307232848299216079137643921170731664514659568907650050905666501409603694474404415238628244927810762016989769383441334616137060955481974485661920735719393028675334591268567597478547527306249708280228972462043121188994620901574136051159686752821276559335517548684334425268169911972326641225633712705142262977683397641074154057257226382161551800814576412060937971294402620495346794473406338573707836399442035552781681273844831197685821016817114055053982125432649800665948568753458839056828955319033194966268489993845789958576858799246054085775984863465828358644916333901003165463031240476078480338314006983357648377189955935599648029256392036498393130372124988785764899956723061884772807628984478671328642761895768176074737765911509023437314104879906135917848658638233655509952166986786513219496635788420091684896766645257845817070592467663706953985694454210356428368063818224318238392588415835669627696916993401420912387365004820375600536487527842866567949657991356769163650222961007025153601861032359292063480149 1089201730858904526256348277889787831791783814516648892935654017201005236796304761347596789094681407260152549027966264380571756694798113206879874651749393957470512347267530537730952855005658921709548361463846939288539695858595101724992016476155409222879524229173956495880023057574577725103360477484911848867522572850324730575737943725052036634215805159924652525564633669217115337263077360687229943665725019428046459514181549719233999569224845247502658738105727634810428747064725429538555042418380272334519509706820286390135657679290356150463778322281002038518817831437391642638860507625397697784245724737036241607572462452062314114224034987900276791689458689197358254215653022339965487152406076477346900610669802274658360766155991895877533264143163705803000605368144007910854081827791740590947036018375618797094363930296439294396427395991633383359859736055688366002888751339159997566370199897579316314149531893087677220011826279632025933636600686466117123499002760500636373038329416199982595772089366546451116759197206702965732495122673741079065152682477221268937103393198180498486203004854643105281028437129656223336877455753412841866126665808780683851230611083951331775720517231782064004493705926020324650471685472316722228781451376684263490959752919835047499047563277390310018986961091834873619940819039313155915265646544543446338085823333337907133904826148331224120972838059029273049919987552404193509597755395472992147797601748475503895499668254131311988704270530878830244706446022188852999326184169913958522943920870419056119374162291647972418982942515236367745818222322065089862814874949716609421282834453867359196354396238827521778591201983557517029642606462235944024383862176829251591761646549106695216073332736476522945340948710642341225464068150911934515394454178955321138130199735184802106366896537587011645661521951432871973265369713829265574238453548028906540647 1762365421134922722556421367656458979255166173545941917176953941186529322201264215539544800719185108958626259229921399828859321169367514198421527751173686485637322305647492028710027423723097798613154419911294020114475803533286007792999068982350675194376586483731577553941570405356281682914075865636718319829651098569242112875964289411503262215281704074960926416155719443335788677164818311296526478750728607294734705651556774747668109463743820481690997464235065795976989483837524682138106302482442891725146653828600287133895079516099312984153574852595420235792579229011520303586758942091520538074458759578920658413320793371198081785694927039515582932251375408943566363949819185753627512870527450704364793718214029747822926662374134473697271962528068341722856242301077129099001199280771410935039683305678294317531413591361922842720848463285186162436590657195654721087195984187459213645507843818750047978664191461995327270917492781041629628111005101704745368426813522517626142421770750816119656727571341032113037494916599731641067086391241338557612679988726929549166075855241301687480823906428779156440715189950932782672395004437747267134296577781107325076864323789093594753403914872856218061750932308181876451286261884377660200075853997179610285433159258408755335447005312943091700260805923032559440957636153368209897391079194344112286654576792176963962860145181526190389462831904819231626778786798458279285582618861301350792713935649478669358530908730209792327018277514236478621896401957788501028582576206412351653316045859204821019330885353532745226611926993907696388580118090241164600580786458740046735387714360003277045013034472483031730758188770070736526278394882327628921150507434675068662354114212813649201767786946832951313404766934960579618052483986581562212311447580376233525495204555560402642854424380453579595319513308202035623488330720854419176099485907320970020796 2851567151993827248812769645546246811046949988062590810112607958387534558997568976887141589813866516218778808257887664209431077864165627405301402402923080443107834652915022566440980278728756720322702781375140959403015499391881109517991085458506084417256110712905534049821593462930859408017436343121630168697173671419566843451702233136555298849497509234885578941720353112552904014427895671983756422416453626722781165165738324466902109032968665729193656202340793430787418230902250111676661344900823164059666163535420573524030737195389669134617353174876422274311397060448911946225619449716918235858704484315956900020893255823260395899918962027415859723940834098140924618165472208093593000022933527181711694328883832022481287428530126369574805226671232047525856847669221137009855281108563151525986719324053913114625777521658362137117275859276819545796450393251343087090084735526619211211878043716329364292813723355083004490929319060673655561747605788170862491925816283018262515460100167016102252499660707578564154254113806434606799581513915079636677832671204150818103179248439482185967026911283422261721743627080589006009272460191160109000423243589888008928094934873044926529124432104638282066244638234202201101757947356694382428857305373863873776392912178243802834494568590333401719247767014867433060898455192681365812656725738887558624740400125514871096764971329857414510435669963848504676698774350862472795180374256774342940511537397954173254030576984341104315722548045115308866602847979977354027908760376326310176259966729623877138705047645180717645594869509144064134398340412306254463395661408456656156670548813870636241367430711310553509349390753628253555921001344563572945534369611504320254115760761920344417841119683309474258745715645602920843516552137493496727705901759331554663625404290745204749221320918040591240981035259634907596753700434683684750337939455349876561443 4613932573128749971369191013202705790302116161608532727289561899574063881198833192426686390533051625177405067487809064038290399033533141603722930154096766928745156958562514595151007702451854518935857201286434979517491302925167117310990154440856759611632697196637111603763163868287141090931512208758348488526824769988808956327666522548058561064779213309846505357876072555888692691592713983280282901167182234017515870817295099214570218496712486210884653666575859226764407714739774793814767647383266055784812817364020860657925816711488982118770928027471842510103976289460432249812378391808438773933163243894877558434214049194458477685613889066931442656192209507084490982115291393847220512893460977886076488047097861770304214090904260843272077189199300389248713089970298266108856480389334562461026402629732207432157191113020284979838124322562005708233041050446997808177280719714078424857385887535079412271477914817078331761846811841715285189858610889875607860352629805535888657881870917832221909227232048610677191749030406166247866667905156418194290512659931080367269255103680783873447850817712201418162458817031521788681667464628907376134719821370995334004959258662138521282528346977494500127995570542384077553044209241072042628933159371043484061826071436652558169941573903276493419508572937899992501856091346049575710047804933231670911394976917691835059625116511383604899898501868667736303477561149320752080762993118075693733225473047432842612561485714550896642740825559351787488499249937765855056491336582738661829576012588828698158035932998713462872206796503051760522978458502547419063976447867196702892058263173873913286380465183793585240107579523698990082199396226891201866684877046179388916469874974733993619608906630142425572150482580563500461569036124075058940017349339707788189120608846305607392075745298494170836300548567836943220242031155538103926437425362670846582239 7465499725122577220181960658748952601349066149671123537402169857961598440196402169313827980346918141396183875745696728247721476897698769009024332557019847371852991611477537161591987981180611239258559982661575938920506802317048226828981239899362844028888807909542645653584757331218000498948948551879978657223998441408375799779368755684613859914276722544732084299596425668441596706020609655264039323583635860740297035983033423681472327529681151940078309868916652657551825945642024905491428992284089219844478980899441434181956553906878651253388281202348264784415373349909344196037997841525357009791867728210834458455107305017718873585532851094347302380133043605225415600280763601940813512916394505067788182375981693792785501519434387212846882415870532436774569937639519403118711761497897713987013121953786120546782968634678647116955400181838825254029491443698340895267365455240697636069263931251408776564291638172161336252776130902388940751606216678046470352278446088554151173341971084848324161726892756189241346003144212600854666249419071497830968345331135231185372434352120266059414877728995623679884202444112110794690939924820067485135143064960883342933054193535183447811652779082132782194240208776586278654802156597766425057790464744907357838218983614896361004436142493609895138756339952767425562754546538730941522704530672119229536135377043206706156390087841241019410334171832516240980176335500183224875943367374850036673737010445387015866592062698892000958463373604467096355102097917743209084400096959064972005835979318452575296740980643894180517801666012195824657376798914853673527372109275653359048728811987744549527747895895104138749456970277327243638120397571454774812219246657683709170585635736654338037450026313451899830896198226166421305085588261568555667723251099039342852746013137050812141297066216534762077281583827471850816995731590221788676775364818020723143682 12079432298251327191551151671951658391651182311279656264691731757535662321395235361740514370879969766573588943233505792286011875931231910612747262711116614300598148570040051756742995683632465758194417183948010918437998105242215344139971394340219603640521505106179757257347921199505141589880460760638327145750823211397184756107035278232672420979055935854578589657472498224330289397613323638544322224750818094757812906800328522896042546026393638150962963535492511884316233660381799699306196639667355275629291798263462294839882370618367633372159209229820107294519349639369776445850376233333795783725030972105712016889321354212177351271146740161278745036325253112309906582396054995788034025809855482953864670423079555563089715610338648056118959605069832826023283027609817669227568241887232276448039524583518327978940159747698932096793524504400830962262532494145338703444646174954776060926649818786488188835769552989239668014622942744104225941464827567922078212631075894090039831223842002680546070954124804799918537752174618767102532917324227916025258857991066311552641689455801049932862728546707825098046661261143632583372607389448974861269862886331878676938013452197321969094181126059627282322235779318970356207846365838838467686723624115950841900045055051548919174377716396886388558264912890667418064610637884780517232752335605350900447530353960898541216015204352624624310232673701183977283653896649503976956706360492925730406962483492819858479153548413442897601204199163818883843601347855509064140891433541803633835411991907281273454776913642607643390008462515247585180355257417401092591348557142850061940787075161618462814128361078897723989564549801026233720319793798345976678904123703863098087055510711388331657058932943594325403046680806729921766654624385643614607740600438747131041866621983356419533372811515028932913582132395308794037237762745759892603212790180691569725921 19544932023373904411733112330700610993000248460950779802093901615497260761591637531054342351226887907969772818979202520533733352828930679621771595268136461672451140181517588918334983664813076997452977166609586857358504907559263570968952634239582447669410313015722402910932678530723142088829409312518305802974821652805560555886404033917286280893332658399310673957068923892771886103633933293808361548334453955498109942783361946577514873556074790091041273404409164541868059606023824604797625631951444495473770779162903729021838924525246284625547490432168372078934722989279120641888374074859152793516898700316546475344428659229896224856679591255626047416458296717535322182676818597728847538726249988021652852799061249355875217129773035268965842020940365262797852965249337072346280003385129990435052646537304448525723128382377579213748924686239656216292023937843679598712011630195473696995913750037896965400061191161401004267399073646493166693071044245968548564909521982644191004565813087528870232681017560989159883755318831367957199166743299413856227203322201542738014123807921315992277606275703448777930863705255743378063547314269042346405005951292762019871067645732505416905833905141760064516475988095556634862648522436604892744514088860858199738264038666445280178813858890496283697021252843434843627365184423511458755456866277470129983665731004105247372405292193865643720566845533700218263830232149687201832649727867775767080699493938206874345745611112334898559667572768285980198703445773252273225291530500868605841247971225733848751517894286501823907810128527443409837732056332254766118720666418503420989515887149363012341876256974001862739021520078353477358440191369800751491123370361546807257641146448042669694508959257046225233942879032896343071740212647212170275463851537786473894612635120407231674669877731563694990863716222780644854233494335981681279988154998712292869603 31624364321625231603284264002652269384651430772230436066785633373032923082986872892794856722106857674543361762212708312819745228760162590234518857979253075973049288751557640675077979348445542755647394350557597775796503012801478915108924028579802051309931818121902160168280599730228283678709870073156632948725644864202745311993439312149958701872388594253889263614541422117102175501247256932352683773085272050255922849583690469473557419582468428242004236939901676426184293266405624304103822271618799771103062577426366023861721295143613917997706699661988479373454072628648897087738750308192948577241929672422258492233750013442073576127826331416904792452783549829845228765072873593516881564536105470975517523222140804918964932740111683325084801626010198088821135992859154741573848245272362266883092171120822776504663288130076511310542449190640487178554556431989018302156657805150249757922563568824385154235830744150640672282022016390597392634535871813890626777540597876734230835789655090209416303635142365789078421507493450135059732084067527329881486061313267854290655813263722365925140334822411273875977524966399375961436154703718017207674868837624640696809081097929827386000015031201387346838711767414526991070494888275443360431237712976809041638309093717994199353191575287382672255286165734102261691975822308291975988209201882821030431196084965003788588420496546490268030799519234884195547484128799191178789356088360701497487661977431026732824899159525777796160871771932104864042304793628761337366182964042672239676659963133015122206294807929109467297818591042690995018087313749655858710069223561353482930302962310981475156004618052899586728586069879379711078759985168146728170027494065409905344696657159431001351567892200640550636989559839626264838394837032855784883204451976533604936479257103763651208042689246592627904445848618089438891471257081741573883200945179403862595524 51169296344999136015017376333352880377651679233181215868879534988530183844578510423849199073333745582513134581191910833353478581589093269856290453247389537645500428933075229593412963013258619753100371517167184633155007920360742486077876662819384498979342131137624563079213278260951425767539279385674938751700466517008305867879843346067244982765721252653199937571610346009874061604881190226161045321419726005754032792367052416051072293138543218333045510344310840968052352872429448908901447903570244266576833356589269752883560219668860202623254190094156851452388795617928017729627124383052101370758828372738804967578178672671969800984505922672530839869241846547380550947749692191245729103262355458997170376021202054274840149869884718594050643646950563351618988958108491813920128248657492257318144817658127225030386416512454090524291373876880143394846580369832697900868669435345723454918477318862282119635891935312041676549421090037090559327606916059859175342450119859378421840355468177738286536316159926778238305262812281503016931250810826743737713264635469397028669937071643681917417941098114722653908388671655119339499702017987059554079874788917402716680148743662332802905848936343147411355187755510083625933143410712048253175751801837667241376573132384439479532005434177878955952307418577537105319341006731803434743666068160291160414861815969109035960825788740355911751366364768584413811314360948878380622005816228477264568361471369233607170644770638112694720539344700390844241008239402013610591474494543540845517907934358748970957812702215611291205628719570134404855819370081910624828789889979856903919818849460344487497880875026901449467607589957733188437200176537947479661150864426956712602337803607473671046076851457686775870932438872522607910135049680067955158668303514320078831091892224170882882712566978156322895309564840870083745704751417723255163189100178116155465127 82793660666624367618301640336005149762303110005411651935665168361563106927565383316644055795440603257056496343404619146173223810349255860090809311226642613618549717684632870268490942361704162508747765867724782408951510933162221401186800691399186550289273949259526723247493877991179709446249149458831571700426111381211051179873282658217203684638109846907089201186151768126976237106128447158513729094504998056009955641950742885524629712721011646575049747284212517394236646138835073213005270175189044037679895934015635776745281514812474120620960889756145330825842868246576914817365874691245049948000758045161063459811928686114043377112332254089435632322025396377225779712822565784762610667798460929972687899243342859193805082609996401919135445272960761440440124950967646555493976493929854524201236988778950001535049704642530601834833823067520630573401136801821716203025327240495973212841040887686667273871722679462682348831443106427687951962142787873749802119990717736112652676145123267947702839951302292567316726770305731638076663334878354073619199325948737251319325750335366047842558275920525996529885913638054495300935856721705076761754743626542043413489229841592160188905863967544534758193899522924610617003638298987491613606989514814476283014882226102433678885197009465261628207593584311639367011316829040095410731875270043112190846057900934112824549246285286846179782165884003468609358798489748069559411361904589178762056023448800260339995543930163890490881411116632495708283313033030774947957657458586213085194567897491764093164107510144720758503447310612825399873906683831566483538859113541210386850121811771325962653885493079801036196193659837112899515960161706094207831178358492366617947034460766904672397644743658327326507921998712148872748529886712923740041872755490853683767571149327934534090755256224748950799755413458959522637176008499464829046390045357520018060651 133962957011623503633319016669358030139954789238592867804544703350093290772143893740493254868774348839569630924596529979526702391938349129947099764474032151264050146617708099861903905374962782261848137384891967042106518853522963887264677354218571049268616080397151286326707156252131135213788428844506510452126577898219357047753126004284448667403831099560289138757762114136850298711009637384674774415924724061763988434317795301575702005859554864908095257628523358362288999011264522121906718078759288304256729290604905529628841734481334323244215079850302182278231663864504932546992999074297151318759586417899868427390107358786013178096838176761966472191267242924606330660572257976008339771060816388969858275264544913468645232479881120513186088919911324792059113909076138369414104742587346781519381806437077226565436121154984692359125196944400773968247717171654414103893996675841696667759518206548949393507614614774724025380864196464778511289749703933608977462440837595491074516500591445685989376267462219345555032033118013141093594585689180817356912590584206648347995687407009729759976217018640719183794302309709614640435558739692136315834618415459446130169378585254492991811712903887682169549087278434694242936781709699539866782741316652143524391455358486873158417202443643140584159901002889176472330657835771898845475541338203403351260919716903221860510072074027202091533532248772053023170112850696947940033367720817656026624384920169493947166188700802003185601950461332886552524321272432788558549131953129753930712475831850513064121920212360332049709076030182959804729726053913477108367649003521067290769940661231670450151766368106702485663801249794846087953160338244041687492329222919323330549372264374378343443721595116014102378854437584671480658664936392991695200541059005173762598663041552105416973467823202905273695064978299829606382880759917188084209579145535636173525778 216756617678247871251620657005363179902257899244004519740209871711656397699709277057137310664214952096626127268001149125699926202287604990037909075700674764882599864302340970130394847736666944770595903252616749451058029786685185288451478045617757599557890029656678009574201034243310844660037578303338082152552689279430408227626408662501652352041940946467378339943913882263826535817138084543188503510429722117773944076268538187100331718580566511483145004912735875756525645150099595334911988253948332341936625224620541306374123249293808443865175969606447513104074532111081847364358873765542201266760344463060931887202036044900056555209170430851402104513292639301832110373394823760770950438859277318942546174507887772662450315089877522432321534192872086232499238860043784924908081236517201305720618795216027228100485825797515294193959020011921404541648853973476130306919323916337669880600559094235616667379337294237406374212307302892466463251892491807358779582431555331603727192645714713633692216218764511912871758803423744779170257920567534890976111916532943899667321437742375777602534492939166715713680215947764109941371415461397213077589362042001489543658608426846653180717576871432216927742986801359304859940420008687031480389730831466619807406337584589306837302399453108402212367494587200815839341974664811994256207416608246515542106977617837334685059318359314048271315698132775521632528911340445017499444729625406834788680408368969754287161732630965893676483361577965382260807634305463563506506789411715967015907043729342277157286027722505052808212523340795785204603632737745043591906508117062277677620062473002996412805651861186503521859994909631958987469120499950135895323507581411689948496406725141283015841366338774341428886776436296820353407194823105915435242413814496027446366234190880039951064223079427654224494820391758789129020056768416652913255969190893156191586429 350719574689871374884939673674721210042212688482597387544754575061749688471853170797630565532989300936195758192597679105226628594225954119985008840174706916146650010920049069992298753111629727032444040637508716493164548640208149175716155399836328648826506110053829295900908190495441979873826007147844592604679267177649765275379534666786101019445772046027667478701675996400676834528147721927863277926354446179537932510586333488676033724440121376391240262541259234118814644161364117456818706332707620646193354515225446836002964983775142767109391049456749695382306195975586779911351872839839352585519930880960800314592143403686069733306008607613368576704559882226438441033967081736779290209920093707912404449772432686131095547569758642945507623112783411024558352769119923294322185979104548087240000601653104454665921946952499986553084216956322178509896571145130544410813320592179366548360077300784566060886951909012130399593171499357244974541642195740967757044872392927094801709146306159319681592486226731258426790836541757920263852506256715708333024507117150548015317125149385507362510709957807434897474518257473724581806974201089349393423980457460935673827987012101146172529289775319899097292074079793999102877201718386571347172472148118763331797792943076179995719601896751542796527395590089992311672632500583893101682957946449918893367897334740556545569390433341250362849230381547574655699024191141965439478097346224490815304793289139248234327921331767896862085312039298268813331955577896352065055921364845720946619519561192790221407947934865384857921599370978745009333358791658520700274157120583344968390003134234666862957418229293206007523796159426805075422280838194177582815836804331013279045778989515661359285087933890355531265630873881491834065859759498907130442954873501201208964897232432145368037690902630559498189885370058618735402937528333840997465548336428792365112207 567476192368119246136560330680084389944470587726601907284964446773406086171562447854767876197204253032821885460598828230926554796513559110022917915875381681029249875222390040122693600848296671803039943890125465944222578426893334464167633445454086248384396139710507305475109224738752824533863585451182674757231956457080173503005943329287753371487712992495045818645589878664503370345285806471051781436784168297311876586854871675776365443020687887874385267453995109875340289311463712791730694586655952988129979739845988142377088233068951210974567019063197208486380728086668627275710746605381553852280275344021732201794179448586126288515179038464770681217852521528270551407361905497550240648779371026854950624280320458793545862659636165377829157305655497257057591629163708219230267215621749392960619396869131682766407772750015280747043236968243583051545425118606674717732644508517036428960636395020182728266289203249536773805478802249711437793534687548326536627303948258698528901792020872953373808704991243171298549639965502699434110426824250599309136423650094447682638562891761284965045202896974150611154734205237834523178389662486562471013342499462425217486595438947799353246866646752116025035060881153303962817621727073602827562202979585383139204130527665486833022001349859945008894890177290808151014607165395887357890374554696434435474874952577891230628708792655298634164928514323096288227935531586982938922826971631325603985201658109002521489653962733790538568673617263651074139589883359915571562710776561687962526563290535067378693975657370437666134122711774530213936991529403564292180665237645622646010065607237663275763070090479709529383791069058764062891401338144313478139344385742703227542185714656944375126454272664696960152407310178312187473054582604822565685368687997228655331131423312185319101913982058213722684705761817407864422994296750493910721517527321948556698636 918195767057990621021500004354805599986683276209199294829719021835155774643415618652398441730193553969017643653196507336153183390739513230007926756050088597175899886142439110114992353959926398835483984527634182437387127067101483639883788845290414897210902249764336601376017415234194804407689592599027267361911223634729938778385477996073854390933485038522713297347265875065180204873433528398915059363138614476849809097441205164452399167460809264265625529995254343994154933472827830248549400919363573634323334255071434978380053216844093978083958068519946903868686924062255407187062619445220906437800206224982532516386322852272196021821187646078139257922412403754708992441328987234329530858699464734767355074052753144924641410229394808323336780418438908281615944398283631513552453194726297480200619998522236137432329719702515267300127453924565761561441996263737219128545965100696402977320713695804748789153241112261667173398650301606956412335176883289294293672176341185793330610938327032273055401191217974429725340476507260619697962933080966307642160930767244995697955688041146792327555912854781585508629252462711559104985363863575911864437322956923360891314582451048945525776156422072015122327134960947303065694823445460174174734675127704146471001923470741666828741603246611487805422285767380800462687239665979780459573332501146353328842772287318447776198099225996548997014158895870670943926959722728948378400924317855816419289994947248250755817575294501687400653985656561919887471545461256267636618632141407408909146082851727857600101923592235822524055722082753275223270350321062084992454822358228967614400068741472330138720488319772915536907587228485569138313682176338491060955181190073716506587964704172605734411542206555052491418038184059804021538914342103729696128323561498429864296028655744330687139604884688773220874591131876026599825931825084334908187065863750740921810843 1485671959426109867158060335034889989931153863935801202114683468608561860814978066507166317927397807001839529113795335567079738187253072340030844671925470278205149761364829150237685954808223070638523928417759648381609705493994818104051422290744501145595298389474843906851126639972947628941553178050209942119143180091810112281391421325361607762421198031017759115992855753729683575218719334869966840799922782774161685684296076840228764610481497152140010797449249453869495222784291543040280095506019526622453313994917423120757141449913045189058525087583144112355067652148924034462773366050602460290080481569004264718180502300858322310336366684542909939140264925282979543848690892731879771507478835761622305698333073603718187272889030973701165937724094405538673536027447339732782720410348046873161239395391367820198737492452530548047170690892809344612987421382343893846278609609213439406281350090824931517419530315511203947204129103856667850128711570837620830299480289444491859512730347905226429209896209217601023890116472763319132073359905216906951297354417339443380594250932908077292601115751755736119783986667949393628163753526062474335450665456385786108801177889996744879023023068824131147362195842100607028512445172533777002296878107289529610206053998407153661763604596471432814317175944671608613701846831375667817463707055842787764317647239896339006826808018651847631179087410193767232154895254315931317323751289487142023275196605357253277307229257235477939222659273825570961611135344616183208181342917969096871672646142262924978795899249606260190189844794527805437207341850465649284635487595874590260410134348709993414483558410252625066291378297544333201205083514482804539094525575816419734130150418829550109537996479219749451570445494238116209011968924708552261813692249495658519627160079056516006241518866746986943559296893693434464248926121834828818908583391072689478509479 2403867726484100488179560339389695589917837140145000496944402490443717635458393685159564759657591360970857172766991842903232921577992585570038771427975558875381049647507268260352678308768149469474007912945393830818996832561096301743935211136034916042806200639239180508227144055207142433349242770649237209481054403726540051059776899321435462153354683069540472413340121628794863780092152863268881900163061397251011494781737282004681163777942306416405636327444503797863650156257119373288829496425383100256776648249988858099137194666757139167142483156103091016223754576211179441649835985495823366727880687793986797234566825153130518332157554330621049197062677329037688536290019879966209302366178300496389660772385826748642828683118425782024502718142533313820289480425730971246335173605074344353361859393913603957631067212155045815347298144817375106174429417646081112974824574709909842383602063786629680306572771427772871120602779405463624262463888454126915123971656630630285190123668674937499484611087427192030749230592980023938830036292986183214593458285184584439078549938974054869620157028606537321628413239130660952733149117389638386199887988413309147000115760341045690404799179490896146269689330803047910094207268617993951177031553234993676081207977469148820490505207843082920619739461712052409076389086497355448277037039556989141093160419527214786783024907244648396628193246306064438176081854977044879695724675607342958442565191552605504033124804551737165339876644930387490849082680805872450844799975059376505780818728993990782578897822841842082714245566877281080660477692171527734277090309954103557874810203090182323553204046730025540603198965526029902339518765690821295600049706765890136240718115123002155843949538685774801942988483678297920230550883266812281957942015810994088383923188734800846693381123751435760164433888025569461064074857946919163727095649254823430400320322 3889539685910210355337620674424585579848991004080801699059085959052279496273371751666731077584989167972696701880787178470312659765245657910069616099901029153586199408872097410590364263576372540112531841363153479200606538055091119847986633426779417188401499028714024415078270695180090062290795948699447151600197583818350163341168320646797069915775881100558231529332977382524547355310872198138848740962984180025173180466033358844909928388423803568545647124893753251733145379041410916329109591931402626879229962244906281219894336116670184356201008243686235128578822228360103476112609351546425827017961169362991061952747327453988840642493921015163959136202942254320668080138710772698089073873657136258011966470718900352361015956007456755725668655866627719358963016453178310979117894015422391226523098789304971777829804704607576363394468835710184450787416839028425006821103184319123281789883413877454611823992301743284075067806908509320292112592600024964535954271136920074777049636399022842725913820983636409631773120709452787257962109652891400121544755639601923882459144189906962946912758144358293057748197225798610346361312870915700860535338653869694933108916938231042435283822202559720277417051526645148517122719713790527728179328431342283205691414031467555974152268812439554353434056637656724017690090933328731116094500746612831928857478066767111125789851715263300244259372333716258205408236750231360811013048426896830100465840388157962757310432033808972643279099304204213061810693816150488634052981317977345602652491375136253707557693722091448342904435411671808886097685034021993383561725797549978148135220337438892316967687605140278165669490343823574235540723849205304100139144232341706555974848265541831705953487535164994551394558929172536036439562852191520834219755708060489746903550348813857362699622642618182747107993184919262895528323784068753992546004232645896119878829801 6293407412394310843517181013814281169766828144225802196003488449495997131731765436826295837242580528943553874647779021373545581343238243480108387527876588028967249056379365670943042572344522009586539754308547310019603370616187421591921844562814333231207699667953204923305414750387232495640038719348684361081251987544890214400945219968232532069130564170098703942673099011319411135403025061407730641126045577276184675247770640849591092166366109984951283452338257049596795535298530289617939088356785727136006610494895139319031530783427323523343491399789326144802576804571282917762445337042249193745841857156977859187314152607119358974651475345785008333265619583358356616428730652664298376239835436754401627243104727101003844639125882537750171374009161033179252496878909282225453067620496735579884958183218575735460871916762622178741766980527559556961846256674506119795927759029033124173485477664084292130565073171056946188409687914783916375056488479091451078242793550705062239760067697780225398432071063601662522351302432811196792145945877583336138213924786508321537694128881017816532915172964830379376610464929271299094461988305339246735226642283004080109032698572088125688621382050616423686740857448196427216926982408521679356359984577276881772622008936704794642774020282637274053796099368776426766480019826086564371537786169821069950638486294325912572876622507948640887565580022322643584318605208405690708773102504173058908405579710568261343556838360709808618975949134600552659776496956361084897781293036722108433310104130244490136591544933290425618680978549089966758162726193521117838816107504081706010030540529074640520891651870303706272689309349604137880242614896125395739193939107596692215566380664833861797437073850769353337547412850833956670113735458333116177697723871483835287473537548658209393003766369618507272427072944832356592398642015673156273099881900719550279150123 10182947098304521198854801688238866749615819148306603895062574408548276628005137188493026914827569696916250576528566199843858241108483901390178003627777617182553448465251463081533406835920894549699071595671700789220209908671278541439908477989593750419609198696667229338383685445567322557930834668048131512681449571363240377742113540615029601984906445270656935472006076393843958490713897259546579382089029757301357855713803999694501020554789913553496930577232010301329940914339941205947048680288188354015236572739801420538925866900097507879544499643475561273381399032931386393875054688588675020763803026519968921140061480061108199617145396360948967469468561837679024696567441425362387450113492573012413593713823627453364860595133339293475840029875788752538215513332087593204570961635919126806408056972523547513290676621370198542136235816237744007749263095702931126617030943348156405963368891541538903954557374914341021256216596424104208487649088504055987032513930470779839289396466720622951312253054700011294295472011885598454754255598768983457682969564388432203996838318787980763445673317323123437124807690727881645455774859221040107270565296152699013217949636803130560972443584610336701103792384093344944339646696199049407535688415919560087464036040404260768795042832722191627487852737025500444456570953154817680466038532782652998808116553061437038362728337771248885146937913738580848992555355439766501721821529401003159374245967868531018653988872169682451898075253338813614470470313106849718950762611014067711085801479266498197694285267024738768523116390220898852855847760215514501400541905054059854145250877967966957488579257010581871942179653173178373420966464101429495878338171449303248190414646206665567750924609015763904732106342023369993109676587649853950397453431931973582191023886362515572092626408987801254380420257864095252120722426084427148819104114546615670157979924 16476354510698832042371982702053147919382647292532406091066062858044273759736902625319322752070150225859804451176345221217403822451722144870286391155654205211520697521630828752476449408265416559285611349980248099239813279287465963031830322552408083650816898364620434261689100195954555053570873387396815873762701558908130592143058760583262134054037009440755639414679175405163369626116922320954310023215075334577542530961574640544092112721156023538448214029570267350926736449638471495564987768644974081151243183234696559857957397683524831402887991043264887418183975837502669311637500025630924214509644883676946780327375632668227558591796871706733975802734181421037381312996172078026685826353328009766815220956928354554368705234259221831226011403884949785717468010210996875430024029256415862386293015155742123248751548538132820720878002796765303564711109352377437246412958702377189530136854369205623196085122448085397967444626284338888124862705576983147438110756724021484901529156534418403176710685125763612956817823314318409651546401544646566793821183489174940525534532447668998579978588490287953816501418155657152944550236847526379354005791938435703093326982335375218686661064966660953124790533241541541371556573678607571086892048400496836969236658049340965563437816853004828901541648836394276871223050972980904244837576318952474068758755039355762950935604960279197526034503493760903492576873960648172192430594631905176218282651547579099279997545710530392260517051202473414167130246810063210803848543904050789819519111583396742687830876811958029194141797368769988819614010486409035619239358012558141560155281418497041598009470908880885578214868962522782511301209078997554891617532110556899940405981026871499429548361682866533258069653754874203949779790323108187066575151155803457417478497423911173781485630175357419761652847330808927608713121068100100305092203996447335220437130047 26659301609003353241226784390292014668998466440839009986128637266592550387742039813812349666897719922776055027704911421061262063560206046260464394783431822394074145986882291834009856244186311108984682945651948888460023187958744504471738800542001834070426097061287663600072785641521877611501708055444947386444151130271370969885172301198291736038943454711412574886685251799007328116830819580500889405304105091878900386675378640238593133275945937091945144606802277652256677363978412701512036448933162435166479755974497980396883264583622339282432490686740448691565374870434055705512554714219599235273447910196915701467437112729335758208942268067682943272202743258716406009563613503389073276466820582779228814670751982007733565829392561124701851433760738538255683523543084468634594990892334989192701072128265670762042225159503019263014238613003047572460372448080368373029989645725345936100223260747162100039679822999738988700842880762992333350354665487203425143270654492264740818553001139026128022938180463624251113295326204008106300657143415550251504153053563372729531370766456979343424261807611077253626225846385034590006011706747419461276357234588402106544931972178349247633508551271289825894325625634886315896220374806620494427736816416397056700694089745226332232859685727020529029501573419777315679621926135721925303614851735127067566871592417199989298333298050446411181441407499484341569429316087938694152416161306179377656897515447630298651534582700074712415126455812227781600717123170060522799306515064857530604913062663240885525162078982767962664913758990887672469858246624550120639899917612201414300532296465008555498050165891467450157048615695960884722175543098984387495870282006203188596395673078164997299286291882297162801760096897573942889466910758041016972604587735430999669521310273689353578256584345221016033267588673022860833843494184527453911308110993950890595109971 43135656119702185283598767092345162588381113733371416077194700124636824147478942439131672418967870148635859478881256642278665886011928191130750785939086027605594843508513120586486305652451727668270294295632196987699836467246210467503569123094409917721242995425908097861761885837476432665072581442841763260206852689179501562028231061781553870092980464152168214301364427204170697742947741901455199428519180426456442917636953280782685245997101960630393358636372545003183413813616884197077024217578136516317722939209194540254840662267147170685320481730005336109749350707936725017150054739850523449783092793873862481794812745397563316800739139774416919074936924679753787322559785581415759102820148592546044035627680336562102271063651782955927862837645688323973151533754081344064619020148750851578994087284007794010793773697635839983892241409768351137171481800457805619442948348102535466237077629952785296124802271085136956145469165101880458213060242470350863254027378513749642347709535557429304733623306227237207931118640522417757847058688062117045325336542738313255065903214125977923402850297899031070127644002042187534556248554273798815282149173024105199871914307553567934294573517932242950684858867176427687452794053414191581319785216913234025937352139086191895670676538731849430571150409814054186902672899116626170141191170687601136325626631772962940233938258329643937215944901260387834146303276736110886583010793211355595939549063026729578649080293230466972932177658285641948730963933233271326647850419115647350124024646059983573356038890940797156806711127760876492083868733033585739879257930170342974455813714962050153507521074772353028371917578218743396023384622096539279113402392563103129002376699949664426847647974748830420871413851771777892669257233866228083547755743538888417148018734184863135063886759702640777686114919481950469546964562284627759003512107441286111032240018 69794957728705538524825551482637177257379580174210426063323337391229374535220982252944022085865590071411914506586168063339927949572134237391215180722517849999668989495395412420496161896638038777254977241284145876159859655204954971975307923636411751791669092487195761461834671478998310276574289498286710646651003819450872531913403362979845606131923918863580789188049679003178025859778561481956088833823285518335343304312331921021278379273047897722338503243174822655440091177595296898589060666511298951484202695183692520651723926850769509967752972416745784801314725578370780722662609454070122685056540704070778183262249858126899075009681407842099862347139667938470193332123399084804832379286969175325272850298432318569835836893044344080629714271406426862228835057297165812699214011041085840771695159412273464772835998857138859246906480022771398709631854248538173992472937993827881402337300890699947396164482094084875944846312045864872791563414907957554288397298033006014383166262536696455432756561486690861459044413966726425864147715831477667296829489596301685984597273980582957266827112105510108323753869848427222124562260261021218276558506407612507306416846279731917181928082069203532776579184492811314003349014428220812075747522033329631082638046228831418227903536224458869959600651983233831502582294825252348095444806022422728203892498224190162929532271556380090348397386308759872175715732592824049580735426954517534973596446578474359877300614875930541685347304114097869730331681056403331849447156934180504880728937708723224458881200969923565119471624886751764164553726979658135860519157847782544388756346011427058709005571240663820478528966193914704280745560165195523666609272674569306317598772373027829424146934266631127583673173948669351835558724144624269100520360331274319416817540044458552488642143344047861793719382508154973330380808056469155212914820218435237001627349989 112930613848407723808424318574982339845760693907581842140518037515866198682699924692075694504833460220047773985467424705618593835584062428521965966661603877605263833003908533006982467549089766445525271536916342863859696122451165439478877046730821669512912087913103859323596557316474742941646870941128473906857856508630374093941634424761399476224904383015749003489414106207348723602726303383411288262342465944791786221949285201803963625270149858352731861879547367658623504991212181095666084884089435467801925634392887060906564589117916680653073454146751120911064076286307505739812664193920646134839633497944640665057062603524462391810420547616516781422076592618223980654683184666220591482107117767871316885926112655131938107956696127036557577109052115186201986591051247156763833031189836692350689246696281258783629772554774699230798721432539749846803336048995979611915886341930416868574378520652732692289284365170012900991781210966753249776475150427905151651325411519764025513972072253884737490184792918098666975532607248843621994774519539784342154826139039999239663177194708935190229962403409139393881513850469409659118508815295017091840655580636612506288760587285485116222655587135775727264043359987741690801808481635003657067307250242865108575398367917610123574212763190719390171802393047885689484967724368974265585997193110329340218124855963125869766209814709734285613331210020260009862035869560160467318437747728890569535995641501089455949695169161008658279481772383511679062644989636603176095007353296152230852962354783208032237239860864362276278336014512640656637595712691721600398415777952887363212159726389108862513092315436173506900883772133447676768944787292062945722675067132409446601149072977493850994582241379958004544587800441129728227981378490497184068116074813207833965558778643415623706030103750502571405497427636923799927772618753782971918332325876523112659590007 182725571577113262333249870057619517103140274081792268203841374907095573217920906945019716590699050291459688492053592768958521785156196665913181147384121727604932822499303945427478629445727805222780248778200488740019555777656120411454184970367233421304581180400299620785431228795473053218221160439415184553508860328081246625855037787741245082356828301879329792677463785210526749462504864865367377096165751463127129526261617122825242004543197756075070365122722190314063596168807477994255145550600734419286128329576579581558288515968686190620826426563496905712378801864678286462475273647990768819896174202015418848319312461651361466820101955458616643769216260556694173986806583751025423861394086943196589736224544973701773944849740471117187291380458542048430821648348412969463047042230922533122384406108554723556465771411913558477705201455311148556435190297534153604388824335758298270911679411352680088453766459254888845838093256831626041339890058385459440048623444525778408680234608950340170246746279608960126019946573975269486142490351017451638984315735341685224260451175291892457057074508919247717635383698896631783680769076316235368399161988249119812705606867017402298150737656339308503843227852799055694150822909855815732814829283572496191213444596749028351477748987649589349772454376281717192067262549621322361030803215533057544110623080153288799298481371089824634010717518780132185577768462384210048053864702246425543132442219975449333250310045091550343626785886481381409394326046039935025542164287476657111581900063506432491118440830787927395749960901264404821191322692349857460917573625735431751968505737816167571518663556099993985429849966048151957514504952487586612331947741701715764199921446005323275141516508011085588217761749110481563786705523114766284588476406087527250783098823101968112348173447798364365124879935791897130308580675222938184833152544311760114286939996 295656185425520986141674188632601856948900967989374110344359412422961771900620831637095411095532510511507462477521017474577115620740259094435147114045725605210196655503212478434461096994817571668305520315116831603879251900107285850933062017098055090817493268313403480109027786111947796159868031380543658460366716836711620719796672212502644558581732684895078796166877891417875473065231168248778665358508217407918915748210902324629205629813347614427802227002269557972687101160019659089921230434690169887088053963969466642464853105086602871273899880710248026623442878150985792202287937841911414954735807699960059513376375065175823858630522503075133425191292853174918154641489768417246015343501204711067906622150657628833712052806436598153744868489510657234632808239399660126226880073420759225473073652804835982340095543966688257708503922887850898403238526346530133216304710677688715139486057932005412780743050824424901746829874467798379291116365208813364591699948856045542434194206681204224907736931072527058792995479181224113108137264870557235981139141874381684463923628370000827647287036912328387111516897549366041442799277891611252460239817568885732318994367454302887414373393243475084231107271212786797384952631391490819389882136533815361299788842964666638475051961750840308739944256769329602881552230273990296626616800408643386884328747936116414669064691185799558919624048728800392195439804331944370515372302449975316112668437861476538789200005214252559001906267658864893088456971035676538201637171640772809342434862418289640523355680691652289672028296915777045477828918405041579061315989403688319115180665464205276434031755871536167492330733738181599634283449739779649558054622808834125210801070518982817126136098749391043592762349549551611292014686901605263468656592480900735084748657601745383736054203551548866936530377363428820930236353293976721156751484870188283226946530003 478381757002634248474924058690221374052041242071166378548200787330057345118541738582115127686231560802967150969574610243535637405896455760348328261429847332815129478002516423861939726440545376891085769093317320343898807677763406262387246987465288512122074448713703100894459014907420849378089191819958843013875577164792867345651710000243889640938560986774408588844341676628402222527736033114146042454673968871046045274472519447454447634356545370502872592124991748286750697328827137084176375985290904306374182293546046224023141621055289061894726307273744932335821680015664078664763211489902183774631981901975478361695687526827185325450624458533750068960509113731612328628296352168271439204895291654264496358375202602535485997656177069270932159869969199283063629887748073095689927115651681758595458058913390705896561315378601816186209124343162046959673716644064286820693535013447013410397737343358092869196817283679790592667967724630005332456255267198824031748572300571320842874441290154565077983677352136018919015425755199382594279755221574687620123457609723369688184079545292720104344111421247634829152281248262673226480046967927487828638979557134852131699974321320289712524130899814392734950499065585853079103454301346635122696965817387857491002287561415666826529710738489898089716711145611320073619492823611618987647603624176444428439371016269703468363172556889383553634766247580524381017572794328580563426167152221741655800880081451988122450315259344109345533053545346274497851297081716473227179335928249466454016762481796073014474121522440217067778257817041450299020241097391436522233563029423750867149171202021444005550419427636161477760583704229751591797954692267236170386570550535840975000991964988140401277615257402129180980111298662092855801392424720029753245068886988262335531756424847351848402376999347231301655257299220718060544933969199659341584637414500043341233469999 774037942428155234616598247322823231000942210060540488892560199753019117019162570219210538781764071314474613447095627718112753026636714854783475375475572938025326133505728902296400823435362948559391289408434151947778059577870692113320309004563343602939567717027106581003486801019368645537957223200502501474242294001504488065448382212746534199520293671669487385011219568046277695592967201362924707813182186278964961022683421772083653264169892984930674819127261306259437798488846796174097606419981074193462236257515512866487994726141891933168626187983992958959264558166649870867051149331813598729367789601935537875072062592003009184081146961608883494151801966906530483269786120585517454548396496365332402980525860231369198050462613667424677028359479856517696438127147733221916807189072440984068531711718226688236656859345290073894713047231012945362912242990594420036998245691135728549883795275363505649939868108104692339497842192428384623572620476012188623448521156616863277068647971358789985720608424663077712010904936423495702417020092131923601262599484105054152107707915293547751631148333576021940669178797628714669279324859538740288878797126020584450694341775623177126897524143289476966057770278372650464056085692837454512579102351203218790791130526082305301581672489330206829660967914940922955171723097601915614264404032819831312768118952386118137427863742688942473258814976380916576457377126272951078798469602197057768469317942928526911650320473596668347439321204211167586308268117393011428816507569022275796451624900085713537829802214092506739806554732818495776849159502433015583549552433112069982329836666226720439582175299172328970091317442411351226081404432046885728441193359369966185802062483970957527413714006793172773742460848213704147816079326325293221901661367888997420280414026592735584456580550896098238185634662649538990781287263176380498336122284688326568180000002 1252419699430789483091522306013044605052983452131706867440760987083076462137704308801325666467995632117441764416670237961648390432533170615131803636905420270840455611508245326158340549875908325450477058501751472291676867255634098375707555992028632115061642165740809681897945815926789494916046415020461344488117871166297355411100092212990423840458854658443895973855561244674679918120703234477070750267856155150011006297155941219538100898526438355433547411252253054546188495817673933258273982405271978499836418551061559090511136347197180995063352495257737891295086238182313949531814360821715782503999771503911016236767750118830194509531771420142633563112311080638142811898082472753788893753291788019596899338901062833904684048118790736695609188229449055800760068014895806317606734304724122742663989770631617394133218174723891890080922171574174992322585959634658706857691780704582741960281532618721598519136685391784482932165809917058389956028875743211012655197093457188184119943089261513355063704285776799096631026330691622878296696775313706611221386057093828423840291787460586267855975259754823656769821460045891387895759371827466228117517776683155436582394316096943466839421655043103869701008269343958503543159539994184089635276068168591076281793418087497972128111383227820104919377679060552243028791215921213534601912007656996275741207489968655821605791036299578326026893581223961440957474949920601531642224636754418799424270198024380515034100635732940777692972374749557442084159565199109484655995843497271742250468387381881786552303923736532723807584812549859946075869400599824452105783115462535820849479007868248164445132594726808490447851901146641102817879359124314121898827763909905807160803054448959097928691329264195301954722572146875797003617471751045322975146730254877259755812170451440087432858957550243329539840891961870257051326221232376039839920759699188369909413470001 2026457641858944717708120553335867836053925662192247356333321186836095579156866879020536205249759703431916377863765865679761143459169885469915279012380993208865781745013974228454741373311271274009868347910185624239454926833504790489027864996591975718001209882767916262901432616946158140454003638220963845962360165167801843476548474425736958039979148330113383358866780812720957613713670435839995458081038341428975967319839362991621754162696331340364222230379514360805626294306520729432371588825253052693298654808577071956999131073339072928231978683241730850254350796348963820398865510153529381233367561105846554111839812710833203693612918381751517057264113047544673295167868593339306348301688284384929302319426923065273882098581404404120286216588928912318456506142043539539523541493796563726732521482349844082369875034069181963975635218805187937685498202625253126894690026395718470510165327894085104169076553499889175271663652109486774579601496219223201278645614613805047397011737232872145049424894201462174343037235628046373999113795405838534822648656577933477992399495375879815607606408088399678710490638843520102565038696687004968406396573809176021033088657872566643966319179186393346667066039622331154007215625687021544147855170519794295072584548613580277429693055717150311749038646975493165983962939018815450216176411689816107053975608921041939743218900042267268500152396200342357533932327046874482721023106356615857192739515967309041945750956206537446040411695953768609670467833316502496084812351066294018046920012281967500090133725950625230547391367282678441852718560102257467689332667895647890831808844534474884884714770025980819417943218589052454043960763556361007627268957269275773346605116932930055456105043270988474728465032995089501151433551077370616197048391622766257176092584478032823017315538101139427778026526624519796042107508495552420338256881983876696477593470003 3278877341289734200799642859348912441106909114323954223774082173919172041294571187821861871717755335549358142280436103641409533891703056085047082649286413479706237356522219554613081923187179599460345406411937096531131794089138888864735420988620607833062852048508725944799378432872947635370050053241425190450478036334099198887648566638727381880438002988557279332722342057395637531834373670317066208348894496578986973616995304211159855061222769695797769641631767415351814790124194662690645571230525031193135073359638631047510267420536253923295331178499468741549437034531277769930679870975245163737367332609757570348607562829663398203144689801894150620376424128182816107065951066093095242054980072404526201658327985899178566146700195140815895404818377968119216574156939345857130275798520686469396511252981461476503093208793073854056557390379362930008084162259911833752381807100301212470446860512806702688213238891673658203829462026545164535630371962434213933842708070993231516954826494385500113129179978261270974063566319669252295810570719545146044034713671761901832691282836466083463581667843223335480312098889411490460798068514471196523914350492331457615482973969510110805740834229497216368074308966289657550375165681205633783131238688385371354377966701078249557804438944970416668416326036045409012754154940028984818088419346812382795183098889697761349009936341845594527045977424303798491407276967476014363247743111034656617009713991689556979851591939478223733384070703326051754627398515611980740808194563565760297388399663849286642437649687157954354976179832538387928587960702081919795115783358183711681287852402723049329847364752789309865795119735693556861840122680675129526096721179181580507408171381889153384796372535183776683187605141965298155051022828415939172195121877643516931904754929472910450174495651382757317867418586390053093433729727928460178177641683065066387006940004 5305334983148678918507763412684780277160834776516201580107403360755267620451438066842398076967515038981274520144201969321170677350872941554962361661667406688572019101536193783067823296498450873470213754322122720770586720922643679353763285985212583551064061931276642207700811049819105775824053691462389036412838201501901042364197041064464339920417151318670662691589122870116595145548044106157061666429932838007962940936834667202781609223919101036161991872011281776157441084430715392123017160055778083886433728168215703004509398493875326851527309861741199591803787830880241590329545381128774544970734893715604124460447375540496601896757608183645667677640537175727489402233819659432401590356668356789455503977754908964452448245281599544936181621407306880437673080298982885396653817292317250196129032735331305558872968242862255818032192609184550867693582364885164960647071833496019682980612188406891806857289792391562833475493114136031939115231868181657415212488322684798278913966563727257645162554074179723445317100801947715626294924366125383680866683370249695379825090778212345899071188075931623014190802737732931593025836765201476164930310924301507478648571631842076754772060013415890563035140348588620811557590791368227177930986409208179666426962515314658526987497494662120728417454973011538574996717093958844435034264831036628489849158707810739701092228836384112863027198373624646156025339604014350497084270849467650513809749229958998598925602548146015669773795766657094661425095231832114476825620545629859778344308411945816786732571375637783184902367547115216829781306520804339387484448451253831602513096696937197934214562134778770129283738338324746010905800886237036137153365678448457353854013288314819208840901415806172251411652638137054799306484573905786555369243513500409774107997339407505733467490033752522185095893945210909849135541238223480880516434523666941762864600410007 8584212324438413119307406272033692718267743890840155803881485534674439661746009254664259948685270374530632662424638072962580211242575997640009444310953820168278256458058413337680905219685630472930559160734059817301718515011782568218498706973833191384126913979785368152500189482692053411194103744703814226863316237836000241251845607703191721800855154307227942024311464927512232677382417776474127874778827334586949914553829971413941464285141870731959761513643049191509255874554910054813662731286303115079568801527854334052019665914411580774822641040240668333353224865411519360260225252104019708708102226325361694809054938370160000099902297985539818298016961303910305509299770725525496832411648429193981705636082894863631014391981794685752077026225684848556889654455922231253784093090837936665525543988312767035376061451655329672088749999563913797701666527145076794399453640596320895451059048919698509545503031283236491679322576162577103650862240144091629146331030755791510430921390221643145275683254157984716291164368267384878590734936844928826910718083921457281657782061048811982534769743774846349671114836622343083486634833715947361454225274793838936264054605811586865577800847645387779403214657554910469107965957049432811714117647896565037781340482015736776545301933607091145085871299047583984009471248898873419852353250383440872644341806700437462441238772725958457554244351048949954516746880981826511447518592578685170426758943950688155905454140085493893507179837360420713179722630347726457566428740193425538641696811609666073375009025324941139257343726947755217709894481506421307279564234612015314194384549339920983544409499531559439149533458060439567767641008917711266679462399627638934361421459696708362225697788341356028094840243279020097461535596734202494541438635378053291039902094336978643917664529403904942413761363797299902228974967951409340694612165350006829251607350011 13889547307587092037815169684718472995428578667356357383988888895429707282197447321506658025652785413511907182568840042283750888593448939194971805972621226856850275559594607120748728516184081346400772915056182538072305235934426247572261992959045774935190975911062010360201000532511159187018157436166203263276154439337901283616042648767656061721272305625898604715900587797628827822930461882631189541208760172594912855490664638616723073509060971768121753385654330967666696958985625446936679891342081198966002529696070037056529064408286907626349950901981867925157012696291760950589770633232794253678837120040965819269502313910656601996659906169185485975657498479637794911533590384957898422768316785983437209613837803828083462637263394230688258647632991728994562734754905116650437910383155186861654576723644072594249029694517585490120942608748464665395248892030241755046525474092340578431671237326590316402792823674799325154815690298609042766094108325749044358819353440589789344887953948900790438237328337708161608265170215100504885659302970312507777401454171152661482872839261157881605957819706469363861917574355274676512471598917423526384536199095346414912626237653663620349860861061278342438355006143531280665556748417659989645104057104744704208302997330395303532799428269211873503326272059122559006188342857717854886618081420069362493500514511177163533467609110071320581442724673596110542086484996177008531789442046335684236508173909686754831056688231509563280975604017515374604817862179840934392049285823285316986005223555482860107580400962724324159711274062972047491201002310760694764012685865846916707481246277118917758971634310329568433271796385185578673441895154747403832828078076096288215434748011527571066599204147528279506492881416074896768020170639989049910682148878463065147899433744484377385154563156427127509655309008209751364516206174890221211046689016948592116207760018 22473759632025505157122575956752165713696322558196513187870374430104146943943456576170917974338055788042539844993478115246331099836024936834981250283575047025128532017653020458429633735869711819331332075790242355374023750946208815790760699932878966319317889890847378512701190015203212598212261180870017490139470677173901524867888256470847783522127459933126546740212052725141060500312879659105317415987587507181862770044494610030664537794202842500081514899297380159175952833540535501750342622628384314045571331223924371108548730322698488401172591942222536258510237561703280310849995885336813962386939346366327514078557252280816602096562204154725304273674459783548100420833361110483395255179965215177418915249920698691714477029245188916440335673858676577551452389210827347904222003473993123527180120711956839629625091146172915162209692608312378463096915419175318549445979114688661473882730286246288825948295854958035816834138266461186146416956348469840673505150384196381299775809344170543935713920582495692877899429538482485383476394239815241334688119538092609943140654900309969864140727563481315713533032410977617759999106432633370887838761473889185351176680843465250485927661708706666121841569663698441749773522705467092801359221705001309741989643479346132080078101361876303018589197571106706543015659591756591274738971331803510235137842321211614625974706381836029778135687075722546065058833365978003519979308034625020854663267117860374910736510828317003456788155441377936087784540492527567391958478026016710855627702035165148933482589426287665463417055001010727265201095483817182002043576920477862230901865795617039901303381133841889007582805254445625146441082904072458670512290477703735222576856207708235933292296992488884307601333124695094994229555767374191544452120784256516356187801528081463021302819092560332069923416672805509653593491174126299561905658854366955421367815110029 36363306939612597194937745641470638709124901225552870571859263325533854226140903897677575999990841201554447027562318157530081988429473876029953056256196273881978807577247627579178362252053793165732104990846424893446328986880635063363022692891924741254508865801909388872902190547714371785230418617036220753415625116511802808483930905238503845243399765559025151456112640522769888323243341541736506957196347679776775625535159248647387611303263814268203268284951711126842649792526160948687022513970465513011573860919994408165077794730985396027522542844204404183667250257995041261439766518569608216065776466407293333348059566191473204093222110323910790249331958263185895332366951495441293677948282001160856124863758502519797939666508583147128594321491668306546015123965732464554659913857148310388834697435600912223874120840690500652330635217060843128492164311205560304492504588781002052314401523572879142351088678632835141988953956759795189183050456795589717863969737636971089120697298119444726152157910833401039507694708697585888362053542785553842465520992263762604623527739571127745746685383187785077394949985332892436511578031550794414223297672984531766089307081118914106277522569767944464279924669841973030439079453884752791004325762106054446197946476676527383610900790145514892092523843165829102021847934614309129625589413223579597631342835722791789508173990946101098717129800396142175600919850974180528511097476671356538899775291770061665567567516548513020069131045395451462389358354707408326350527311839996172613707258720631793590169827250389787576766275073699312692296486127942696807589606343709147609347041894158819062352768152218576016077050830810725114524799227206074345118555779831510792290955719763504358896196636412587107826006111169890997575938014180594362802933134979421335700961825947398687973655716759197433071981813719404958007380301189783116705543383904013484022870047 58837066571638102352060321598222804422821223783749383759729637755638001170084360473848493974328896989596986872555796272776413088265498812864934306539771320907107339594900648037607995987923504985063437066636667248820352737826843879153783392824803707573826755692756767385603380562917584383442679797906238243555095793685704333351819161709351628765527225492151698196324693247910948823556221200841824373183935186958638395579653858678052149097466656768284783184249091286018602626066696450437365136598849827057145192143918779273626525053683884428695134786426940442177487819698321572289762403906422178452715812773620847426616818472289806189784314478636094523006418046733995753200312605924688933128247216338275040113679201211512416695753772063568929995350344884097467513176559812458881917331141433916014818147557751853499211986863415814540327825373221591589079730380878853938483703469663526197131809819167968299384533590870958823092223220981335600006805265430391369120121833352388896506642289988661866078493329093917407124247180071271838447782600795177153640530356372547764182639881097609887412946669100790927982396310510196510684464184165302062059146873717117265987924584164592205184278474610586121494333540414780212602159351845592363547467107364188187589956022659463689002152021817910681721414272535645037507526370900404364560745027089832769185156934406415482880372782130876852816876118688240659753216952184048490405511296377393563042409630436576304078344865516476857286486773387550173898847234975718309005337856707028241409293885780727072759253538055250993821276084426577893391969945124698851166526821571378511212837511198720365733901994107583598882305276435871555607703299664744857409033483566733369147163427999437651193189125296894709159130806264885227131705388372138814923717391495777523502489907410419990792748277091267356488654619229058551498554427489345022364397750859434851837980076 95200373511250699546998067239693443131946125009302254331588901081171855396225264371526069974319738191151433900118114430306495076694972688894887362795967594789086147172148275616786358239977298150795542057483092142266681724707478942516806085716728448828335621494666156258505571110631956168673098414942458996970720910197507141835750066947855474008926991051176849652437333770680837146799562742578331330380282866735414021114813107325439760400730471036488051469200802412861252418592857399124387650569315340068719053063913187438704319784669280456217677630631344625844738077693362833729528922476030394518492279180914180774676384663763010283006424802546884772338376309919891085567264101365982611076529217499131164977437703731310356362262355210697524316842013190643482637142292277013541831188289744304849515583158664077373332827553916466870963042434064720081244041586439158430988292250665578511533333392047110650473212223706100812046179980776524783057262061020109233089859470323478017203940409433388018236404162494956914818955877657160200501325386349019619161522620135152387710379452225355634098329856885868322932381643402633022262495734959716285356819858248883355295005703078698482706848242555050401419003382387810651681613236598383367873229213418634385536432699186847299902942167332802774245257438364747059355460985209533990150158250669430400527992657198204991054363728231975569946676514830416260673067926364577001502987967733932462817701400498241871645861414029496926417532168839012563257201942384044659532649696703200855116552606412520662929080788445038570587551158125890585688456073067395658756133165280526120559879405357539428086670146326159614959356107246596670132502526870819202527589263398244161438119147762942010089385761709481816985136917434776224707643402552733177726650526475198859203451733357818678766403993850464789560636432948463509505934728679128139069941134763448335860850123 154037440082888801899058388837916247554767348793051638091318538836809856566309624845374563948648635180748420772673910703082908164960471501759821669335738915696193486767048923654394354227900803135858979124119759391087034462534322821670589478541532156402162377187422923644108951673549540552115778212848697240525816703883211475187569228657207102774454216543328547848762027018591785970355783943420155703564218053694052416694466966003491909498197127804772834653449893698879855044659553849561752787168165167125864245207831966712330844838353164884912812417058285068022225897391684406019291326382452572971208091954535028201293203136052816472790739281182979295344794356653886838767576707290671544204776433837406205091116904942822773058016127274266454312192358074740950150318852089472423748519431178220864333730716415930872544814417332281411290867807286311670323771967318012369471995720329104708665143211215078949857745814577059635138403201757860383064067326450500602209981303675866913710582699422049884314897491588874321943203057728432038949107987144196772802052976507700151893019333322965521511276525986659250914777953912829532946959919125018347415966731966000621282930287243290687891126717165636522913336922802590864283772588443975731420696320782822573126388721846310988905094189150713455966671710900392096862987356109938354710903277759263169713149591604620473934736510362852422763552633518656920426284878548625491908499264111326025860111030934818175724206279545973783704018942226562737156049177359762968537987553410229096525846492193247735688334326500289564408827242552468479080426018192094509922659986851904631772716916556259793820572140433743213841661383682468225740205826535564059936622746964977530585282575762379661282574887006376526144267723699661451839348790924871992650367917970976382705941640768238669559152270941732146049291052177522061004489156168473161434338885622883187698830199 249237813594139501446056456077609690686713473802353892422907439917981711962534889216900633922968373371899854672792025133389403241655444190654709032131706510485279633939197199271180712467878101286654521181602851533353716187241801764187395564258260605230497998682089079902614522784181496720788876627791156237496537614080718617023319295605062576783381207594505397501199360789272623117155346685998487033944500920429466437809280073328931669898927598841260886122650696111741107463252411248686140437737480507194583298271745154151035164623022445341130490047689629693866963975085047239748820248858482967489700371135449208975969587799815826755797164083729864067683170666573777924334840808656654155281305651336537370068554608674133129420278482484963978629034371265384432787461144366485965579707720922525713849313875080008245877641971248748282253910241351031751567813553757170800460287970994683220198476603262189600330958038283160447184583182534385166121329387470609835299840773999344930914523108855437902551301654083831236762158935385592239450433373493216391963575596642852539603398785548321155609606382872527573847159597315462555209455654084734632772786590214883976577935990321989170597974959720686924332340305190401515965385825042359099293925534201456958662821421033158288808036356483516230211929149265139156218448341319472344861061528428693570241142248802825464989100238594827992710229148349073181099352804913202493411487231845258488677812431433060047370067693575470710121551111065575300413251119743807628070637250113429951642399098605768398617415114945328134996378400678359064768882091259490168678793152132430752332596321913799221907242286759902828801017490929064895872708353406383262464212010363221692023401723525321671371960648715858343129404641134437676546992193477605170377018444446175241909393374126057348325556264792196935609927485125985570510423884847601300504280020386331523559680322 403275253677028303345114844915525938241480822595405530514225978754791568528844514062275197871617008552648275445465935836472311406615915692414530701467445426181473120706246122925575066695778904422513500305722610924440750649776124585857985042799792761632660375869512003546723474457731037272904654840639853478022354317963930092210888524262269679557835424137833945349961387807864409087511130629418642737508718974123518854503747039332423579397124726646033720776100589810620962507911965098247893224905645674320447543479577120863366009461375610226043302464747914761889189872476731645768111575240935540460908463089984237177262790935868643228587903364912843363027965023227664763102417515947325699486082085173943575159671513616955902478294609759230432941226729340125382937779996455958389328227152100746578183044591495939118422456388581029693544778048637343421891585521075183169932283691323787928863619814477268550188703852860220082322986384292245549185396713921110437509822077675211844625105808277487786866199145672705558705361993114024278399541360637413164765628573150552691496418118871286677120882908859186824761937551228292088156415573209752980188753322180884597860866277565279858489101676886323447245677227992992380249158413486334830714621854984279531789210142879469277713130545634229686178600860165531253081435697429410699571964806187956739954291840407445938923836748957680415473781781867730101525637683461827985319986495956584514537923462367878223094273973121444493825570053292138037569300297103570596608624803523659048168245590799016134305749441445617699405205643230827543849308109451584678601453138984335384105313238470059015727814427193646042642678874611533121612914179941947322400834757328199222608684299287701332654535535722234869273672364834099128386340984402477163027386362417151624615335014894296017884708535733929081659218537303507631514913041016074461938618906009214711258510521 652513067271167804791171300993135628928194296397759422937133418672773280491379403279175831794585381924548130118257960969861714648271359883069239733599151936666752754645443322196755779163657005709168021487325462457794466837017926350045380607058053366863158374551601083449337997241912533993693531468431009715518891932044648709234207819867332256341216631732339342851160748597137032204666477315417129771453219894552985292313027112661355249296052325487294606898751285922362069971164376346934033662643126181515030841751322275014401174084398055567173792512437544455756153847561778885516931824099418507950608834225433446153232378735684469984385067448642707430711135689801442687437258324603979854767387736510480945228226122291089031898573092244194411570261100605509815725241140822444354907934873023272292032358466575947364300098359829777975798688289988375173459399074832353970392571662318471149062096417739458150519661891143380529507569566826630715306726101391720272809662851674556775539628917132925689417500799756536795467520928499616517849974734130629556729204169793405231099816904419607832730489291731714398609097148543754643365871227294487612961539912395768574438802267887269029087076636607010371578017533183393896214544238528693930008547389185736490452031563912627566521166902117745916390530009430670409299884038748883044433026334616650310195434089210271403912936987552508408184010930216803282624990488375030478731473727801843003215735893800938270464341666696915203947121164357713337982551416847378224679262053637088999810644689404784532923164556390945834401584043909186608618190200711074847280246291116766136437909560383858237635056713953548871443696365540598017485622533348330584865046767691420914632086022813023004026496184438093212403077005968536804933333177880082333404404806863326866524728389020353366210264800526126017269146022429493202025336925863675762442898926395546234818190843 1055788320948196108136286145908661567169675118993164953451359397427564849020223917341451029666202390477196405563723896806334026054887275575483770435066597362848225875351689445122330845859435910131681521793048073382235217486794050935903365649857846128495818750421113086996061471699643571266598186309070863193541246250008578801445096344129601935899052055870173288201122136405001441292177607944835772508961938868676504146816774151993778828693177052133328327674851875732983032479076341445181926887548771855835478385230899395877767183545773665793217094977185459217645343720038510531285043399340354048411517297315417683330495169671553113212972970813555550793739100713029107450539675840551305554253469821684424520387897635908044934376867702003424844511487829945635198663021137278402744236162025124018870215403058071886482722554748410807669343466338625718595350984595907537140324855353642259077925716232216726700708365744003600611830555951118876264492122815312830710319484929349768620164734725410413476283699945429242354172882921613640796249516094768042721494832742943957922596235023290894509851372200590901223371034699772046731522286800504240593150293234576653172299668545452548887576178313493333818823694761176386276463702652015028760723169244170016022241241706792096844234297447751975602569130869596201662381319736178293744004991140804607050149725929617717342836773736510188823657792712084533384150628171836858464051460223758427517753659356168816493558615639818359697772691217649851375551851713950948821287886857160748047978890280203800667228913997836563533806789687140014152467498310162659525881699430101101520543222798853917253362871141147194914086375240152131139098536713290277907265881525019620137240770322100724336681031720160328081676749370802635933319674162282559496431791169280478491140063403914649384094973336260055098928364559733000833540249966879750224381517832404760946076701364 1708301388219363912927457446901797196097869415390924376388492816100338129511603320620626861460787772401744535681981857776195740703158635458553010168665749299514978629997132767319086625023092915840849543280373535840029684323811977285948746256915899495358977124972714170445399468941556105260291717777501872909060138182053227510679304163996934192240268687602512631052282885002138473496844085260252902280415158763229489439129801264655134077989229377620622934573603161655345102450240717792115960550191898037350509226982221670892168357630171721360390887489623003673401497567600289416801975223439772556362126131540851129483727548407237583197358038262198258224450236402830550137976934165155285409020857558194905465616123758199133966275440794247619256081748930551145014388262278100847099144096898147291162247761524647833847022653108240585645142154628614093768810383670739891110717427015960730226987812649956184851228027635146981141338125517945506979798848916704550983129147781024325395704363642543339165701200745185779149640403850113257314099490828898672278224036912737363153696051927710502342581861492322615621980131848315801374888158027798728206111833146972421746738470813339817916663254950100344190401712294359780172678246890543722690731716633355752512693273270704724410755464349869721518959660879026872071681203774927176788438017475421257360345160018827988746749710724062697231841803642301336666775618660211888942782933951560270520969395249969754764022957306515274901719812382007564713534403130798327045967148910797837047789534969608585200152078554227509368208373731049200761085688510873734373161945721217867656981132359237775490997927855100743785530071605692729156584159246638608492130928292711041051872856344913747340707527904598421294079826376771172738253007340162641829836195976143805357664791792935002750305238136786181116197510582162494035565586892743425986824416758800307180894892207 2764089709167560021063743592810458763267544534384089329839852213527902978531827237962077891126990162878940941245705754582529766758045911034036780603732346662363204505348822212441417470882528825972531065073421609222264901810606028221852111906773745623854795875393827257441460940641199676526889904086572736102601384432061806312124400508126536128139320743472685919253405021407139914789021693205088674789377097631905993585946575416648912906682406429753951262248455037388328134929317059237297887437740669893185987612213121066769935541175945387153607982466808462891046841287638799948087018622780126604773643428856268812814222718078790696410331009075753809018189337115859657588516610005706590963274327379879329986004021394107178900652308496251044100593236760496780213051283415379249843380258923271310032463164582719720329745207856651393314485620967239812364161368266647428251042282369602989304913528882172911551936393379150581753168681469064383244290971732017381693448632710374094015869098367953752641984900690615021503813286771726898110349006923666714999718869655681321076292286951001396852433233692913516845351166548087848106410444828302968799262126381549074919038139358792366804239433263593678009225407055536166449141949542558751451454885877525768534934514977496821254989761797621697121528791748623073734062523511105470532443008616225864410494885948445706089586484460572886055499596354385870050926246832048747406834394175318698038723054606138571257581572946333634599492503599657416089086254844749275867255035767958585095768425249812385867380992552064072902015163418189214913553186821036393899043645151318969177524355158091692744360798996247938699616446845844860295682695959928886399396809817730661189113626667014471677388559624758749375756575747573808671572681502445201326267987145424283848804855196849652134400211473046236215125875141895494869105836859623176211205934591205068126971593571 4472391097386923933991201039712255959365413949775013706228345029628241108043430558582704752587777935280685476927687612358725507461204546492589790772398095961878183135345954979760504095905621741813380608353795145062294586134418005507800858163689645119213773000366541427886860409582755781787181621864074609011661522614115033822803704672123470320379589431075198550305687906409278388285865778465341577069792256395135483025076376681304046984671635807374574196822058199043673237379557777029413847987932567930536496839195342737662103898806117108513998869956431466564448338855239089364888993846219899161135769560397119942297950266486028279607689047337952067242639573518690207726493544170861876372295184938074235451620145152306312866927749290498663356674985691047925227439545693480096942524355821418601194710926107367554176767860964891978959627775595853906132971751937387319361759709385563719531901341532129096403164421014297562894506806987009890224089820648721932676577780491398419411573462010497091807686101435800800653453690621840155424448497752565387277942906568418684229988338878711899195015095185236132467331298396403649481298602856101697005373959528521496665776610172132184720902688213694022199627119349895946621820196433102474142186602510881521047627788248201545665745226147491418640488452627649945805743727286032647320881026091647121770840045967273694836336195184635583287341399996687206717701865492260636349617328126878968559692449856108326021604530252848909501212315981664980802620657975547602913222184678756422143557960219420971067533071106291582270223537149238415674638875331910128272205590872536836834505487517329468235358726851348682485146518451537589452266855206567494891527738110441702240986483011928219018096087529357170669836402124344981409825688842607843156104183121568089206469646989784654884705449609832417331323385724057988904671423752366602198030351350005375307866485778 7236480806554483955054944632522714722632958484159103036068197243156144086575257796544782643714768098159626418173393366941255274219250457526626571376130442624241387640694777192201921566788150567785911673427216754284559487945024033729652970070463390743068568875760368685328321350223955458314071525950647345114262907046176840134928105180250006448518910174547884469559092927816418303074887471670430251859169354027041476611022952097952959891354042237128525459070513236432001372308874836266711735425673237823722484451408463804432039439982062495667606852423239929455495180142877889312976012469000025765909412989253388755112172984564818976018020056413705876260828910634549865315010154176568467335569512317953565437624166546413491767580057786749707457268222451544705440490829108859346785904614744689911227174090690087274506513068821543372274113396563093718497133120204034747612801991755166708836814870414302007955100814393448144647675488456074273468380792380739314370026413201772513427442560378450844449671002126415822157266977393567053534797504676232102277661776224100005306280625829713296047448328878149649312682464944491497587709047684404665804636085910070571584814749530924551525142121477287700208852526405432113070962145975661225593641488388407289582562303225698366920734987945113115762017244376273019539806250797138117853324034707872986181334931915719400925922679645208469342840996351073076768628112324309383756451722302197666598415504462246897279186103199182544100704819581322396891706912820296878780477220446715007239326385469233356934914063658355655172238700567427630588192062152946522171249236023855806012029842675421160979719525847596621184762965297382449747949551166496381290924547928172363430100109678942690695484647154115920045592977871918790081398370345053044482372170266992373055274502186634307019105661082878653546449260865953483773777260611989778409236285941210443434838079349 11708871903941407889046145672234970681998372433934116742296542272784385194618688355127487396302546033440311895101080979299980781680455004019216362148528538586119570776040732171962425662693772309599292281781011899346854074079442039237453828234153035862282341876126910113215181759806711240101253147814721954125924429660291873957731809852373476768898499605623083019864780834225696691360753250135771828928961610422176959636099328779257006876025678044503099655892571435475674609688432613296125583413605805754258981290603806542094143338788179604181605722379671396019943518998116978677865006315219924927045182549650508697410123251050847255625709103751657943503468484153240073041503698347430343707864697256027800889244311698719804634507807077248370813943208142592630667930374802339443728428970566108512421885016797454828683280929786435351233741172158947624630104872141422066974561701140730428368716211946431104358265235407745707542182295443084163692470613029461247046604193693170932839016022388947936257357103562216622810720668015407208959246002428797489555604682792518689536268964708425195242463424063385781780013763340895147069007650540506362810010045438592068250591359703056736246044809690981722408479645755328059692782342408763699735828090899288810630190091473899912586480214092604534402505697003922965345549978083170765174205060799520107952174977882993095762258874829844052630182396347760283486329977816570020106069050429076635158107954318355223300790633452031453601917135562987377694327570795844481693699405125471429382884345688654328002447134764647237442462237716666046262830937484856650443454826896392642846535330192750629215078252698945303669909483748920039200216406373063876182452286038614065671086592690870909713580734683473090715429379996263771491224059187660887638476353388560462261744149176418961903811110692711070877772646590011472678448684364356380607266637291215818742704565127 18945352710495891844101090304757685404631330918093219778364739515940529281193946151672270040017314131599938313274474346241236055899705461545842933524658981210360958416735509364164347229481922877385203955208228653631413562024466072967106798304616426605350910751887278798543503110030666698415324673765369299240187336706468714092659915032623483217417409780170967489423873762042114994435640721806202080788130964449218436247122280877209966767379720281631625114963084671907675981997307449562837318839279043577981465742012270346526182778770242099849212574802911325475438699140994867990841018784219950692954595538903897452522296235615666231643729160165363819764297394787789938356513852523998811043434209573981366326868478245133296402087864863998078271211430594137336108421203911198790514333585310798423649059107487542103189793998607978723507854568722041343127237992345456814587363692895897137205531082360733112313366049801193852189857783899158437160851405410200561416630606894943446266458582767398780707028105688632444967987645408974262494043507105029591833266459016618694842549590538138491289911752941535431092696228285386644656716698224911028614646131348662639835406109233981287771186931168269422617332172160760172763744488384424925329469579287696100212752394699598279507215202037717650164522941380195984885356228880308883027529095507393094133509909798712496688181554475052521973023392698833360254958090140879403862520772731274301756523458780602120579976736651213997702621955144309774586034483616141360474176625572186436622210731157887684937361198423002892614700938284093676851022999637803172614704062920248448858565172868171790194797778546541924854672449046302488948165957539560257473376833966786429101186702369813600409065381837589010761022357868182561572622429532713932120848523655552835317018651363053268922916771775589724424221907455964956452225944976346159016502923232426262177542644476 30654224614437299733147235976992656086629703352027336520661281788724914475812634506799757436319860165040250208375555325541216837580160465565059295673187519796480529192776241536126772892175695186984496236989240552978267636103908112204560626538769462467633252628014188911758684869837377938516577821580091253366111766366760588050391724884996959986315909385794050509288654596267811685796393971941973909717092574871395395883221609656466973643405398326134724770855656107383350591685740062858962902252884849332240447032616076888620326117558421704030818297182582721495382218139111846668706025099439875619999778088554406149932419486666513487269438263917021763267765878941030011398017550871429154751298906830009167216112789943853101036595671941246449085154638736729966776351578713538234242762555876906936070944124284996931873074928394414074741595740880988967757342864486878881561925394036627565574247294307164216671631285208939559732040079342242600853322018439661808463234800588114379105474605156346716964385209250849067778708313424381471453289509533827081388871141809137384378818555246563686532375177004921212872709991626281791725724348765417391424656176787254708085997468937038024017231740859251145025811817916088232456526830793188625065297670186984910842942486173498192093695416130322184567028638384118950230906206963479648201734156306913202085684887681705592450440429304896574603205789046593643741288067957449423968589823160350936914631413098957343880767370103245451304539090707297152280362054411985842167876030697657866005095076846542012939808333187650130057163176000759723113853937122659823058158889816641091705100503060922419409876031245487228524581932795222528148382363912624133655829120005400494772273295060684510122646116521062101476451737864446333063846488720374819759324877044113297578762800539472230826727882468300795301994554045976429130674629340702539623769560523642080920247209603 49599577324933191577248326281750341491261034270120556299026021304665443757006580658472027476337174296640188521650029671782452893479865927110902229197846501006841487609511750900291120121657618064369700192197469206609681198128374185171667424843385889072984163379901467710302187979868044636931902495345460552606299103073229302143051639917620443203733319165965017998712528358309926680232034693748175990505223539320613832130343890533676940410785118607766349885818740779291026573683047512421800221092163892910221912774628347235146508896328663803880030871985494046970820917280106714659547043883659826312954373627458303602454715722282179718913167424082385583032063273728819949754531403395427965794733116403990533542981268188986397438683536805244527356366069330867302884772782624737024757096141187705359720003231772539035062868927002392798249450309603030310884580856832335696149289086932524702779778376667897328984997335010133411921897863241401038014173423849862369879865407483057825371933187923745497671413314939481512746695958833355733947333016638856673222137600825756079221368145784702177822286929946456643965406219911668436382441046990328420039302308135917347921403578171019311788418672027520567643143990076848405220271319177613550394767249474681011055694880873096471600910618168039834731551579764314935116262435843788531229263251814306296219194797480418089138621983779949096576229181745427003996246158098328827831110595891625238671154871879559464460744106754459449007161045851606926866396538028127202642052656269844302627305808004429697877169531610653022671864114284853399964876936760462995672862952736889540563665675929094209604673809792029153379254381841525017096548321452184391129205953972186923873459997430498110531711498358651112237474095732628894636468918253088751880173400699666132895781451902525499749644654243890519726216461501941385582900574317048698640272483756068343097789854079 80253801939370491310395562258742997577890737622147892819687303093390358232819215165271784912657034461680438730025584997323669731060026392675961524871034020803322016802287992436417893013833313251354196429186709759587948834232282297376228051382155351540617416007915656622060872849705422575448480316925551805972410869439989890193443364802617403190049228551759068508001182954577738366028428665690149900222316114192009228013565500190143914054190516933901074656674396886674377165368787575280763123345048742242462359807244424123766835013887085507910849169168076768466203135419218561328253068983099701932954151716012709752387135208948693206182605687999407346299829152669849961152548954266857120546032023233999700759094058132839498475279208746490976441520708067597269661124361338275258999858697064612295790947356057535966935943855396806872991046050484019278641923721319214577711214480969152268354025670975061545656628620219072971653937942583643638867495442289524178343100208071172204477407793080092214635798524190330580525404272257737205400622526172683754611008742634893463600186701031265864354662106951377856838116211537950228108165395755745811463958484923172056007401047108057335805650412886771712668955807992936637676798149970802175460064919661665921898637367046594663694606034298362019298580218148433885347168642807268179430997408121219498304879685162123681589062413084845671179434970792020647737534226055778251799700419051976175585786284978516808341511476857704900311700136558904079146758592440113044809928686967502168632400884850971710816977864798303152729027290285613123078730873883122818731021842553530632268766178990016629014549841037516381903836314636747545244930685364808524785035073977587418645733292491182620654357614879713213713925833597075227700315406973463571639498277743779430474544252441997730576372536712191315028211015547917814713575203657751238264042044279710424018037063682 129853379264303682887643888540493339069151771892268449118713324398055801989825795823743812388994208758320627251675614669106122624539892319786863754068880521810163504411799743336709013135490931315723896621384178966197630032360656482547895476225541240613601579387817124332363060829573467212380382812271012358578709972513219192336495004720237846393782547717724086506713711312887665046260463359438325890727539653512623060143909390723820854464975635541667424542493137665965403739051835087702563344437212635152684272581872771358913343910215749311790880041153570815437024052699325275987800112866759528245908525343471013354841850931230872925095773112081792929331892426398669910907080357662285086340765139637990234302075326321825895913962745551735503797886777398464572545897143963012283756954838252317655510950587830075001998812782399199671240496360087049589526504578151550273860503567901676971133804047642958874641625955229206383575835805825044676881668866139386548222965615554230029849340981003837712307211839129812093272100231091092939347955542811540427833146343460649542821554846815968042176949036897834500803522431449618664490606442746074231503260793059089403928804625279076647594069084914292280312099798069785042897069469148415725854832169136346932954332247919691135295516652466401854030131797912748820463431078651056710660260659935525794524074482642541770727684396864794767755664152537447651733780384154107079630811014943601414256941156858076272802255583612164349318861182410511006013155130468240247451981343237346471259706692855401408694147396408956175400891404570466523043607810643585814403884795290420172832431854919110838619223650829545535283090696478272562341479006816992915914241027949774342519193289921680731186069113238364325951399929329704122336784325226552323519671678443445563370325704344523230326017190956081834754427477049859200296475777974799936904314528035778767115826917761 210107181203674174198039450799236336647042509514416341938400627491446160222645010989015597301651243220001065981701199666429792355599918712462825278939914542613485521214087735773126906149324244567078093050570888725785578866592938779924123527607696592154218995395732780954423933679278889787828863129196564164551120841953209082529938369522855249583831776269483155014714894267465403412288892025128475790949855767704632288157474890913964768519166152475568499199167534552639780904420622662983326467782261377395146632389117195482680178924102834819701729210321647583903227188118543837316053181849859230178862677059483723107228986140179566131278378800081200275631721579068519872059629311929142206886797162871989935061169384454665394389241954298226480239407485466061842207021505301287542756813535316929951301897943887610968934756637796006544231542410571068868168428299470764851571718048870829239487829718618020420298254575448279355229773748408688315749164308428910726566065823625402234326748774083929926943010363320142673797504503348830144748578068984224182444155086095543006421741547847233906531611143849212357641638642987568892598771838501820042967219277982261459936205672387133983399719497801063992981055606062721680573867619119217901314897088798012854852969614966285798990122686764763873328712016061182705810599721458324890091258068056745292828954167804665452316746809949640438935099123329468299471314610209885331430511433995577589842727441836593081143767060469869249630561318969415085159913722908353292261910030204848639892107577706373119511125261207259328129918694856079646122338684526708633134906637843950805101198033909127467633773491867061917186927011115020107586409692181801440699276101927361761164926582412863351840426728118077539665325762926779350037099732200015895159169956187224993844869956786520960902389727668273149782638492597777015010050981632551175168356572315489191133863981443 339960560467977857085683339339729675716194281406684791057113951889501962212470806812759409690645451978321693233376814335535914980139811032249689033008795064423649025625887479109835919284815175882801989671955067691983208898953595262472019003833237832767820574783549905286786994508852357000209245941467576523129830814466428274866433374243093095977614323987207241521428605580353068458549355384566801681677395421217255348301384281637785622984141788017235923741660672218605184643472457750685889812219474012547830904970989966841593522834318584131492609251475218399340251240817869113303853294716618758424771202402954736462070837071410439056374151912162993204963614005467189782966709669591427293227562302509980169363244710776491290303204699849961984037294262864526414752918649264299826513768373569247606812848531717685970933569420195206215472038770658118457694932877622315125432221616772506210621633766260979294939880530677485738805609554233732992630833174568297274789031439179632264176089755087767639250222202449954767069604734439923084096533611795764610277301429556192549243296394663201948708560180747046858445161074437187557089378281247894274470480071041350863865010297666210630993788582715356273293155404132506723470937088267633627169729257934359787807301862885976934285639339231165727358843813973931526274030800109381600751518727992271087353028650447207223044431206814435206690763275866915951205094994363992411061322448939179004099668598694669353946022644082033598949422501379926091173068853376593539713891373442195111151814270561774528205272657616215503530810099426546169165946495170294447538791433134370977933629888828238306252997142696607452470017707593292669927888698998794356613517129877136103684119872334544083026495841356441865616725692256483472373884057426568218678841634630670557215195661131044191228406918624354984537065969647636215306526759607351112072671100351267958249690899204 550067741671652031283722790138966012363236790921101132995514579380948122435115817801775006992296695198322759215078014001965707335739729744712514311948709607037134546839975214882962825434139420449880082722525956417768787765546534042396142531440934424922039570179282686241210928188131246788038109070664140687680951656419637357396371743765948345561446100256690396536143499847818471870838247409695277472627251188921887636458859172551750391503307940492804422940828206771244965547893080413669216280001735389942977537360107162324273701758421418951194338461796865983243478428936412950619906476566477988603633879462438459569299823211590005187652530712244193480595335584535709655026338981520569500114359465381970104424414095231156684692446654148188464276701748330588256959940154565587369270581908886177558114746475605296939868326057991212759703581181229187325863361177093079977003939665643335450109463484878999715238135106125765094035383302642421308379997482997208001355097262805034498502838529171697566193232565770097440867109237788753228845111680779988792721456515651735555665037942510435855240171324596259216086799717424756449688150119749714317437699349023612323801215970053344614393508080516420266274211010195228404044804707386851528484626346732372642660271477852262733275762025995929600687555830035114232084630521567706490842776796049016380181982818251872675361178016764075645625862399196384250676409604573877742491833882934756593942396040531262435089789704551902848579983820349341176332982576284946831975801403647043751043921848268147647716397918823474831660728794282625815288285179697003080673698070978321783034827922737365773886770634563669369656944718708312777514298391180595797312793231804497864849046454747407434866922569474519405282051455183262822410983789626584113838011590817895551060065617917565152130796646292628134319704462245413230316577741239902287241027672666757149383554880647 890028302139629888369406129478695688079431072327785924052628531270450084647586624614534416682942147176644452448454828337501622315879540776962203344957504671460783572465862693992798744718954596332682072394481024109751996664500129304868161535274172257689860144962832591527997922696983603788247355012131717210810782470886065632262805118009041441539060424243897638057572105428171540329387602794262079154304646610139142984760243454189536014487449728510040346682488878989850150191365538164355106092221209402490808442331097129165867224592740003082686947713272084382583729669754282063923759771283096747028405081865393196031370660283000444244026682624407186685558949590002899437993048651111996793341921767891950273787658806007647974995651353998150448313996011195114671712858803829887195784350282455425164927595007322982910801895478186418975175619951887305783558294054715395102436161282415841660731097251139979010178015636803250832840992856876154301010830657565505276144128701984666762678928284259465205443454768220052207936713972228676312941645292575753402998757945207928104908334337173637803948731505343306074531960791861944006777528400997608591908179420064963187666226267719555245387296663231776539567366414327735127515741795654485155654355604666732430467573340738239667561401365227095328046399644009045758358661321677088091594295524041287467535011468699079898405609223578510852316625675063300201881504598937870153553156331873935598042064639225931789035812348633936447529406321729267267506051429661540371689692777089238862195736118829922175921670576439690335191538893709171984454231674867297528212489504112692760968457811565604080139767777260276822126962426301605447442187090179390153926310361681633968533166327081951517893418410830961270898777147439746294784867847053152332516853225448566108275261279048609343359203564916983118856770431893049445623104500847253399313698773018025107633245779851 1440096043811281919653128919617661700442667863248887057048143110651398207082702442416309423675238842374967211663532842339467329651619270521674717656906214278497918119305837908875761570153094016782562155117006980527520784430046663347264304066715106682611899715142115277769208850885114850576285464082795857898491734127305702989659176861774989787100506524500588034593715605275990012200225850203957356626931897799061030621219102626741286405990757669002844769623317085761095115739258618578024322372222944792433785979691204291490140926351161422033881286175068950365827208098690695014543666247849574735632038961327831655600670483494590449431679213336651380166154285174538609093019387632632566293456281233273920378212072901238804659688098008146338912590697759525702928672798958395474565054932191341602723042341482928279850670221536177631734879201133116493109421655231808475079440100948059177110840560736018978725416150742929015926876376159518575609390828140562713277499225964789701261181766813431162771636687333990149648803823210017429541786756973355742195720214460859663660573372279684073659188902829939565290618760509286700456465678520747322909345878769088575511467442237772899859780804743748196805841577424522963531560546503041336684138981951399105073127844818590502400837163391223024928733955474044159990443291843244794582437072320090303847716994286950952573766787240342586497942488074259684452557914203511747896044990214808692191984460679757194224125602053185839296109390142078608443839034005946487203665494180736282613239657967098069823638068495263165166852267687991797799742516854564300608886187575091014544003285734302969854026538411823946191783907145009918224956485481359985951239103593486131833382212781829358952760340980305480676180828602623009117195851636679736446354864816266461659335326896966174495490000211209611253176474894138462675939682242087155686554726445684782257016800660498 2330124345950911808022535049096357388522098935576672981100771641921848291730289067030843840358180989551611664111987670676968951967498811298636921001863718949958701691771700602868560314872048613115244227511488004637272781094546792652132465601989278940301759860104947869297206773582098454364532819094927575109302516598191768621921981979784031228639566948744485672651287710704161552529613452998219435781236544409200173605979346080930822420478207397512885116305805964750945265930624156742379428464444154194924594422022301420656008150943901425116568233888341034748410937768444977078467426019132671482660444043193224851632041143777590893675705895961058566851713234764541508531012436283744563086798203001165870651999731707246452634683749362144489360904693770720817600385657762225361760839282473797027887969936490251262761472117014364050710054821085003798892979949286523870181876262230475018771571657987158957735594166379732266759717369016394729910401658798128218553643354666774368023860695097690627977080142102210201856740537182246105854728402265931495598718972406067591765481706616857711463137634335282871365150721301148644463243206921744931501254058189153538699133668505492455105168101406979973345408943838850698659076288298695821839793337556065837503595418159328742068398564756450120256780355118053205748801953164921882674031367844131591315252005755650032472172396463921097350259113749322984654439418802449618049598146546682627790026525318983126013161414401819775743638796463807875711345085435608027575355186957825521475435394085927991999559739071702855502043806581700969784196748529431598137098677079203707304971743545868573934166306189084223013910869571311523672398672571539376105165413955167765801915379108911310470653759391136441947079605750062755411980719483732888778871718041715027767610588176014783838849203776126594372033245326031512121562786742934409085868425218702807364650046440349 3770220389762193727675663968714019088964766798825560038148914752573246498812991509447153264033419831926578875775520513016436281619118081820311638658769933228456619811077538511744321885025142629897806382628494985164793565524593455999396769668704385622913659575247063147066415624467213304940818283177723433007794250725497471611581158841559021015740073473245073707245003315980151564729839303202176792408168442208261204227198448707672108826468965066515729885929123050512040381669882775320403750836667098987358380401713505712146149077295062847150449520063409985114238145867135672093011092266982246218292483004521056507232711627272181343107385109297709947017867519939080117624031823916377129380254484234439791030211804608485257294371847370290828273495391530246520529058456720620836325894214665138630611012277973179542612142338550541682444934022218120292002401604518332345261316363178534195882412218723177936461010317122661282686593745175913305519792486938690931831142580631564069285042461911121790748716829436200351505544360392263535396515159239287237794439186866927255426055078896541785122326537165222436655769481810435344919708885442492254410599936958242114210601110743265354964948906150728170151250521263373662190636834801737158523932319507464942576723262977919244469235728147673145185514310592097365739245245008166677256468440164221895162969000042600985045939183704263683848201601823582669106997333005961365945643136761491319982010985998740320237287016455005615039748186605886484155184119441554514779020681138561804088675052053026061823197807566966020668896074269692767583939265383995898745984864654294721848975029280171543788192844600908169205694776716321441897355158052899362056404517548653897635297591890740669423414100371441922623260434352685764529176571120412625225226582857981489426945915072980958334339203987336205625209720220169974797502468985021564772423151664387589621666847100847 6100344735713105535698199017810376477486865734402233019249686394495094790543280576477997104391600821478190539887508183693405233586616893118948559660633652178415321502849239114612882199897191243013050610139982989802066346619140248651529235270693664563215419435352011016363622398049311759305351102272651008117096767323689240233503140821343052244379640421989559379896291026684313117259452756200396228189404986617461377833177794788602931246947172464028615002234929015262985647600506932062783179301111253182282974823735807132802157228238964272267017753951751019862649083635580649171478518286114917700952927047714281358864752771049772236783091005258768513869580754703621626155044260200121692467052687235605661682211536315731709929055596732435317634400085300967338129444114482846198086733497138935658498982214463430805373614455564905733154988843303124090895381553804856215443192625409009214653983876710336894196604483502393549446311114192308035430194145736819150384785935298338437308903157008812418725796971538410553362284897574509641251243561505218733393158159272994847191536785513399496585464171500505308020920203111583989382952092364237185911853995147395652909734779248757810070117007557708143496659465102224360849713123100432980363725657063530780080318681137247986537634292904123265442294665710150571488047198173088559930499808008353486478221005798251017518111580168184781198460715572905653761436751808410983995241283308173947772037511317723446250448430856825390783386983069694359866529204877162542354375868096387325564110446138954053822757546638668876170939880851393737368136013913427496883083541733498429153946772826040117722359150789992392219605646287632965569753830624438738161569931503821663437212970999651979894067859762578364570340040102748519941157290604145514004098300899696517194556503248995742173188407763462799997242965546201486919065255727955973858291576883090396986316893541196 9870565125475299263373862986524395566451632533227793057398601147068341289356272085925150368425020653404769415663028696709841515205734974939260198319403585406871941313926777626357204084922333872910856992768477974966859912143733704650926004939398050186129079010599074163430038022516525064246169385450374441124891018049186711845084299662902073260119713895234633087141294342664464681989292059402573020597573428825722582060376243496275040073416137530544344888164052065775026029270389707383186930137778352169641355225449312844948306305534027119417467274015161004976887229502716321264489610553097163919245410052235337866097464398321953579890476114556478460887448274642701743779076084116498821847307171470045452712423340924216967223427444102726145907895476831213858658502571203467034412627711804074289109994492436610347985756794115447415599922865521244382897783158323188560704508988587543410536396095433514830657614800625054832132904859368221340949986632675510082215928515929902506593945618919934209474513800974610904867829257966773176647758720744505971187597346139922102617591864409941281707790708665727744676689684922019334302660977806729440322453932105637767120335889992023165035065913708436313647909986365598023040349957902170138887657976570995722657041944115167231006870021051796410627808976302247937227292443181255237186968248172575381641190005840852002564050763872448465046662317396488322868434084814372349940884420069665267754048497316463766487735447311831005823135169675580844021713324318717057133396549234949129652785498191980115645955354205634896839835955121086504952075279297423395629068406387793151002921802106211661510551995390900561425300423003954407467108988677338100217974449052475561072510562890392649317481960134020287193600474455434284470333861724558139229324883757678006621502418321976700507527611750799005622452685766371461716567724712977538630714728547477986607983740642043 15970909861188404799072062004334772043938498267630026076648287541563436079899552662403147472816621474882959955550536880403246748792351868058208757980037237585287262816776016740970086284819525115923907602908460964768926258762873953302455240210091714749344498445951085179793660420565836823551520487723025449241987785372875952078587440484245125504499354317224192467037585369348777799248744815602969248786978415443183959893554038284877971320363309994572959890398981081038011676870896639445970109438889605351924330049185119977750463533772991391684485027966912024839536313138296970435968128839212081620198337099949619224962217169371725816673567119815246974757029029346323369934120344316620514314359858705651114394634877239948677152483040835161463542295562132181196787946685686313232499361208943009947608976706900041153359371249680353148754911708824368473793164712128044776147701613996552625190379972143851724854219284127448381579215973560529376380180778412329232600714451228240943902848775928746628200310772513021458230114155541282817899002282249724704580755505412916949809128649923340778293254880166233052697609888033603323685613070170966626234307927253033420030070669240780975105182921266144457144569451467822383890063081002603119251383633634526502737360625252415217544504313955919676070103642012398508715339641354343797117468056180928868119411011639103020082162344040633246245123032969393976629870836622783333936125703377839215526086008634187212738183878168656396606522152745275203888242529195879599487772417331336455216895944330934169468712900844303773010775835972480242320211293210850892512151948121291580156868574932251779232911146180892953644906069291587373036862819301776838379544380556297224509723533890044629211549819896598651763940514558182804411491152328703653233423184657374523816058921570972442680716019514261805619695651312572948635632980440933512489006305430568383594300634183239 25841474986663704062445924990859167610390130800857819134046888688631777369255824748328297841241642128287729371213565577113088263998086842997468956299440822992159204130702794367327290369741858988834764595676938939735786170906607657953381245149489764935473577456550159343223698443082361887797689873173399890366878803422062663923671740147147198764619068212458825554178879712013242481238036875005542269384551844268906541953930281781153011393779447525117304778563033146813037706141286346829157039576667957521565685274634432822698769839307018511101952301982073029816423542641013291700457739392309245539443747152184957091059681567693679396564043234371725435644477303989025113713196428433119336161667030175696567107058218164165644375910484937887609450191038963395055446449256889780266911988920747084236718971199336651501345128043795800564354834574345612856690947870451233336852210602584096035726776067577366555511834084752503213712120832928750717330167411087839314816642967158143450496794394848680837674824573487632363097943413508055994546761002994230675768352851552839052426720514333282060001045588831960797374299572955622657988274047977696066556761859358671187150406559232804140140248834974580770792479437833420406930413038904773258139041610205522225394402569367582448551374335007716086697912618314646445942632084535599034304436304353504249760601017479955022646213107913081711291785350365882299498304921437155683877010123447504483280134505950650979225919325480487402429657322420856047909955853514596656621168966566285584869681442522914285114668255049938669850611791093566747272286572508274288141220354509084731159790377038463440743463141571793515070206492295541780503971807979114938597518829608772785582234096780437278529031780030618938957540989013617088881825014053261792462748068415052530437561339892949143188243631265060811242148337078944410352200705153911051119721033978046370202284374825282 41812384847852108861517986995193939654328629068487845210695176230195213449155377410731445314058263603170689326764102457516335012790438711055677714279478060577446466947478811108297376654561384104758672198585399904504712429669481611255836485359581479684818075902501244523017358863648198711349210360896425339608866588794938616002259180631392324269118422529683018021216465081362020280486781690608511518171530259712090501847484320066030982714142757519690264668962014227851049383012182986275127149015557562873490015323819552800449233373080009902786437329948985054655959855779310262136425868231521327159642084252134576316021898737065405213237610354186972410401506333335348483647316772749739850476026888881347681501693095404114321528393525773049072992486601095576252234395942576093499411350129690094184327947906236692654704499293476153713109746283169981330484112582579278112999912216580648660917156039721218280366053368879951595291336806489280093710348189500168547417357418386384394399643170777427465875135346000653821328057569049338812445763285243955380349108356965756002235849164256622838294300468998193850071909460989225981673887118148662692791069786611704607180477228473585115245431756240725227937048889301242790820476119907376377390425243840048728131763194619997666095878648963635762768016260327044954657971725889942831421904360534433117880012029119058042728375451953714957536908383335276276128175758059939017813135826825343698806220514584838191964103203649143799036179475166131251798198382710476256108941383897622040086577386853848454583381155894242442861387627066046989592497865719125180653372302630376311316658951970715219976374287752686468715112561587129153540834627280891776977063210165070010091957630670481907740581599927217590721481503571799893293316166381965445696171253072427054253620261463921585868959650779322616861843988391517358987833685594844563608727339408614753796585009008521 67653859834515812923963911986053107264718759869345664344742064918826990818411202159059743155299905731458418697977668034629423276788525554053146670578918883569605671078181605475624667024303243093593436794262338844240498600576089269209217730509071244620291653359051403866241057306730560599146900234069825229975745392217001279925930920778539523033737490742141843575395344793375262761724818565614053787556082103980997043801414601847183994107922205044807569447525047374664087089153469333104284188592225520395055700598453985623148003212387028413888389631931058084472383398420323553836883607623830572699085831404319533407081580304759084609801653588558697846045983637324373597360513201182859186637693919057044248608751313568279965904304010710936682442677640058971307680845199465873766323339050437178421046919105573344156049627337271954277464580857515594187175060453030511449852122819164744696643932107298584835877887453632454809003457639418030811040515600588007862234000385544527844896437565626108303549959919488286184426000982557394806992524288238186056117461208518595054662569678589904898295346057830154647446209033944848639662161166126358759347831645970375794330883787706389255385680591215305998729528327134663197750889158812149635529466854045570953526165763987580114647252983971351849465928878641691400600603810425541865726340664887937367640613046599013065374588559866796668828693733701158575626480679497094701690145950272848182086355020535489171190022529129631201465836797586987299708154236225072912730110350463907624956258829376762739698049410944181112711999418159613736864784438227399468794592657139461042476449329009178660719837429324479983785319053882670934044806435260006715574582039773842795674191727450919186269613379957836529679022492585416982175141180435227238158919321487479584691181601356870729057203282044383428103992325470461769340034390748755614728448373386661123998869383833803 109466244682367921785481898981247046919047388937833509555437241149022204267566579569791188469358169334629108024741770492145758289578964265108824384858396944147052138025660416583922043678864627198352108992847738748745211030245570880465054215868652724305109729261552648389258416170378759310496110594966250569584611981011939895928190101409931847302855913271824861596611809874737283042211600256222565305727612363693087545648898921913214976822064962564497834116487061602515136472165652319379411337607783083268545715922273538423597236585467038316674826961880043139128343254199633815973309475855351899858727915656454109723103479041824489823039263942745670256447489970659722081007829973932599037113720807938391930110444408972394287432697536483985755435164241154547559915241142041967265734689180127272605374867011810036810754126630748107990574327140685575517659173035609789562852035035745393357561088147019803116243940822512406404294794445907310904750863790088176409651357803930912239296080736403535769425095265488940005754058551606733619438287573482141436466569565484351056898418842846527736589646526828348497518118494934074621336048284275021452138901432582080401511361016179974370631112347456031226666577216435905988571365278719526012919892097885619681657928958607577780743131632934987612233945138968736355258575536315484697148245025422370485520625075718071108102964011820511626365602117036434851754656437557033719503281777098191880892575535120327363154125732778775000502016272753118551506352618935549168839051734361529665042836216230611194281430566838423555573387045225660726457282303946524649447964959769837353793108280979893880696211717077166452500431615469800087585641062540898492551645249938912805766149358121401094010194979885054120400503996157216875468457346817192683855090574559906638944801862820792314926162932823706044965836313861979128327868076343600178337175712795275877795454392842324 177120104516883734709445810967300154183766148807179173900179306067849195085977781728850931624658075066087526722719438526775181566367489819161971055437315827716657809103842022059546710703167870291945545787110077592985709630821660149674271946377723968925401382620604052255499473477109319909643010829036075799560357373228941175854121022188471370336593404013966705172007154668112545803936418821836619093283694467674084589450313523760398970929987167609305403564012108977179223561319121652483695526200008603663601416520727524046745239797854066730563216593811101223600726652619957369810193083479182472557813747060773643130185059346583574432840917531304368102493473607984095678368343175115458223751414726995436178719195722540674253337001547194922437877841881213518867596086341507841032058028230564451026421786117383380966803753968020062268038907998201169704834233488640301012704157854910138054205020254318387952121828276144861213298252085325341715791379390676184271885358189475440084192518302029644072975055184977226190180059534164128426430811861720327492584030774002946111560988521436432634884992584658503144964327528878923260998209450401380211486733078552456195842244803886363626016792938671337225396105543570569186322254437531675648449358951931190635184094722595157895390384616906339461699874017610427755859179346741026562874585690310307853161238122317084173477552571687308295194295850737593427381137117054128421193427727371040062978930555655816534344148261908406201967853070340105851214506855160622081569162084825437289999095045607373933979479977782604668285386463385274463322066742173924118242557616909298396269557609989072541416049146401646436285750669352471021630447497800905208126227289712755601440341085572320280279808359842890650079526488742633857643598527252419922014009896047386223635983464177663043983366214868089473069828639332440897667902467092355793065624086181937001794323776676127 286586349199251656494927709948547201102813537745012683455616547216871399353544361298642120094016244400716634747461209018920939855946454084270795440295712771863709947129502438643468754382032497490297654779957816341730920661067231030139326162246376693230511111882156700644757889647488079220139121424002326369144969354240881071782311123598403217639449317285791566768618964542849828846148019078059184399011306831367172135099212445673613947752052130173803237680499170579694360033484773971863106863807791686932147132443001062470342476383321105047238043555691144362729069906819591185783502559334534372416541662717227752853288538388408064255880181474050038358940963578643817759376173149048057260865135534933828108829640131513068540769699083678908193313006122368066427511327483549808297792717410691723631796653129193417777557880598768170258613235138886745222493406524250090575556192890655531411766108401338191068365769098657267617593046531232652620542243180764360681536715993406352323488599038433179842400150450466166195934118085770862045869099435202468929050600339487297168459407364282960371474639111486851642482446023812997882334257734676401663625634511134536597353605820066337996647905286127368452062682760006475174893619716251201661369251049816810316842023681202735676133516249841327073933819156579164111117754883056511260022830715732678338681863198035155281580516583507819921559897967774028279135793554611162140696709504469231943871506090776143897498273994687181202469869343093224402720859474096171250408213819186966955041931261837985128260910544621028223858773508610935189779349046120448767690522576679135750062665890968966422112260863478812888786182284822271109216088560341803700677872539651668407206490443693721374290003339727944770480030484899850733112055874069612605869100470607292862580785326998455358909529147691795518035664953194420025995770543435955971402799798977212879589778169518451 463706453716135391204373520915847355286579686552191857355795853284720594439522143027493051718674319466804161470180647545696121422313943903432766495733028599580367756233344460703015465085200367782243200567067893934716630291888891179813598108624100662155912494502760752900257363124597399129782132253038402168705326727469822247636432145786874587976042721299758271940626119210962374650084437899895803492295001299041256724549525969434012918682039297783108641244511279556873583594803895624346802390007800290595748548963728586517087716181175171777801260149502245586329796559439548555593695642813716844974355409778001395983473597734991638688721099005354406461434437186627913437744516324163515484616550261929264287548835854053742794106700630873830631190848003581585295107413825057649329850745641256174658218439246576798744361634566788232526652143137087914927327640012890391588260350745565669465971128655656579020487597374802128830891298616557994336333622571440544953422074182881792407681117340462823915375205635443392386114177619934990472299911296922796421634631113490243280020395885719393006359631696145354787446773552691921143332467185077781875112367589686992793195850623952701622664698224798705677458788303577044361215874153782877309818610001748000952026118403797893571523900866747666535633693174189591866976934229797537822897416406042986191843101320352239455058069155195128216754193818511621706516930671665290561890137231840272006850436646431960431842422256595587404437722413433330253935366329256793331977375904012404245041026307445359062240390522403632892144159971996209653101415788294372885933080193588434146332223500958038963528310009880459325071932954174742130846536058142708908804099829364424008646831529266041654569811699570835420559556973642484590755654401322032527883110366654679086216768791176118402892895362559884991105493592526860923663673010528311764468423885159149881384101946194578 750292802915387047699301230864394556389393224297204540811412400501591993793066504326135171812690563867520796217641856564617061278260397987703561936028741371444077703362846899346484219467232865272540855347025710276447550952956122209952924270870477355386423606384917453545015252772085478349921253677040728537850296081710703319418743269385277805615492038585549838709245083753812203496232456977954987891306308130408428859648738415107626866434091427956911878925010450136567943628288669596209909253815591977527895681406729648987430192564496276825039303705193389949058866466259139741377198202148251217390897072495229148836762136123399702944601280479404444820375400765271731197120689473211572745481685796863092396378475985566811334876399714552738824503854125949651722618741308607457627643463051947898290015092375770216521919515165556402785265378275974660149821046537140482163816543636221200877737237056994770088853366473459396448484345147790646956875865752204905634958790176288144731169716378896003757775356085909558582048295705705852518169010732125265350685231452977540448479803250002353377834270807632206429929219576504919025666724919754183538738002100821529390549456444019039619312603510926074129521471063583519536109493870034078971187861051564811268868142085000629247657417116588993609567512330768755978094689112854049082920247121775664530524964518387394736638585738702948138314091786285649985652724226276452702586846736309503950721942737208104329340696251282768606907591756526554656656225803352964582385589723199371200082957569283344190501301067024661116002933480607144842880764834414821653623602770267569896394889391927005385640570873359272213858115238997013240062624618484512609481972369016092415853321972959763028859815039298780191039587458542335323867710275391645133752210837261971948797554118174573761802424510251680509141158545721280949659443553964267735871223684136362760973880115713029 1213999256631522438903674751780241911675972910849396398167208253786312588232588647353628223531364883334324957687822504110313182700574341891136328431761769971024445459596191360049499684552433233054784055914093604211164181244845013389766522379494578017542336100887678206445272615896682877479703385930079130706555622809180525567055175415172152393591534759885308110649871202964774578146316894877850791383601309429449685584198264384541639785116130725740020520169521729693441527223092565220556711643823392268123644230370458235504517908745671448602840563854695635535388663025698688296970893844961968062365252482273230544820235733858391341633322379484758851281809837951899644634865205797375088230098236058792356683927311839620554128983100345426569455694702129531237017726155133665106957494208693204072948233531622347015266281149732344635311917521413062575077148686550030873752076894381786870343708365712651349109340963848261525279375643764348641293209488323645450588380864359169937138850833719358827673150561721352950968162473325640842990468922029048061772319862566467783728500199135721746384193902503777561217375993129196840168999192104831965413850369690508522183745307067971741241977301735724779806980259367160563897325368023816956281006471053312812220894260488798522819181317983336660145201205504958347845071623342651586905817663527818650722368065838739634191696654893898076355068285604797271692169654897941743264476983968149775957572379383640064761183118507878356011345314169959884910591592132609757914362965627211775445123983876728703252741691589428294008147093452603354495982180622709194539556682963856004042727112892885044349168880883239731538930048193171755370909160676627221518286072198380516424500153502225804683429626738869615611599144432184819914623364676713677661635321203916651035014322909350692164695319872811565500246652138248141873323116564492579500339647569295512642357982061907607 1964292059546909486602975982644636468065366135146600938978620654287904582025655151679763395344055447201845753905464360674930243978834739878839890367790511342468523162959038259395983904019666098327324911261119314487611732197801135599719446650365055372928759707272595659990287868668768355829624639607119859244405918890891228886473918684557430199207026798470857949359116286718586781642549351855805779274907617559858114443847002799649266651550222153696932399094532179830009470851381234816766620897638984245651539911777187884491948101310167725427879867559889025484447529491957828038348092047110219279756149554768459693656997869981791044577923659964163296102185238717171375831985895270586660975579921855655449080305787825187365463859500059979308280198556255480888740344896442272564585137671745151971238248623998117231788200664897901038097182899689037235226969733087171355915893438018008071221445602769646119198194330321720921727859988912139288250085354075850356223339654535458081870020550098254831430925917807262509550210769031346695508637932761173327123005094019445324176980002385724099762028173311409767647305212705701759194665917024586148952588371791330051574294763511990780861289905246650853936501730430744083433434861893851035252194332104877623489762402573799152066838735099925653754768717835727103823166312455505635988737910649594315252893030357127028928335240632601024493382377391082921677822379124218195967063830704459279908294322120848169090523814759161124618252905926486439567247817935962722496748555350411146645206941446012047443242992656452955124150026933210499338862945457124016193180285734123573939122002284812049734809451756599003752788163432168768610971785295111734127768044567396608840353475475185567712289441778168395802638731890727155238491074952105322795387532041178622983811877027525265926497744383063246009387810683969422822982560118456847236210871253431875403331862177620636 3178291316178431925506650734424878379741339045995997337145828908074217170258243799033391618875420330536170711593286864785243426679409081769976218799552281313492968622555229619445483588572099331382108967175212918698775913442646148989485969029859633390471095808160273866435560484565451233309328025537198989950961541700071754453529094099729582592798561558356166060008987489683361359788866246733656570658508926989307800028045267184190906436666352879436952919264053909523450998074473800037323332541462376513775184142147646119996466010055839174030720431414584661019836192517656516335318985892072187342121402037041690238477233603840182386211246039448922147383995076669071020466851101067961749205678157914447805764233099664807919592842600405405877735893258385012125758071051575937671542631880438356044186482155620464247054481814630245673409100421102099810304118419637202229667970332399794941565153968482297468307535294169982447007235632676487929543294842399495806811720518894628019008871383817613659104076479528615460518373242356987538499106854790221388895324956585913107905480201521445846146222075815187328864681205834898599363665109129418114366438741481838573758040070579962522103267206982375633743481989797904647330760229917667991533200803158190435710656663062597674886020053083262313899969923340685451668237935798157222894555574177412965975261096195866663120031895526499100848450662995880193369992034022159939231540814672609055865866701504488233851706933267039480629598220096446324477839410068572480411111520977622922090330925322740750695984684245881249132297120385813853834845126079833210732736968697979577981849115177697094083978332639838735291718211625340523981880945971738955646054116765777125264853628977411372395719068517038011414237876322911975153114439628819000457022853245095274018826199936875958091193064255874811509634462822217564696305676682949426736550518822727388045689844239528243 5142583375725341412109626717069514847806705181142598276124449562362121752283898950713155014219475777738016465498751225460173670658243821648816109167342792655961491785514267878841467492591765429709433878436332233186387645640447284589205415680224688763399855515432869526425848353234219589138952665144318849195367460590962983340003012784287012792005588356827024009368103776401948141431415598589462349933416544549165914471892269983840173088216575033133885318358586089353460468925855034854089953439101360759426724053924834004488414111366006899458600298974473686504283722009614344373667077939182406621877551591810149932134231473821973430789169699413085443486180315386242396298836996338548410181258079770103254844538887489995285056702100465385186016091814640493014498415948018210236127769552183508015424730779618581478842682479528146711506283320791137045531088152724373585583863770417803012786599571251943587505729624491703368735095621588627217793380196475346163035060173430086100878891933915868490535002397335877970068584011388334234007744787551394716018330050605358432082460203907169945908250249126597096511986418540600358558331026154004263319027113273168625332334834091953302964557112229026487679983720228648730764195091811519026785395135263068059200419065636396826952858788183187967654738641176412555491404248253662858883293484827007281228154126552993692048367136159100125341833040386963115047814413146378135198604645377068335774161023625336402942230748026200605247851126022932764045087228004535202907860076328034068735537866768752798139227676902334204256447147319024353173708071536957226925917254432103151920971117462509143818787784396437739044506375057509292592852731266850689773822161333173734105207104452596940108008510295206407216876608213639130391605514580924323252410385286273897002638076964401224017690808638938057519022273506186987519288236801406273972761390076159263449021706417148879 8320874691903773337616277451494393227548044227138595613270278470436338922542142749746546633094896108274187177092038090245417097337652903418792327966895073969454460408069497498286951081163864761091542845611545151885163559083093433578691384710084322153870951323593143392861408837799670822448280690681517839146329002291034737793532106884016595384804149915183190069377091266085309501220281845323118920591925471538473714499937537168031079524882927912570838237622639998876911467000328834891413285980563737273201908196072480124484880121421846073489320730389058347524119914527270860708986063831254593963998953628851840170611465077662155817000415738862007590870175392055313416765688097406510159386936237684551060608771987154803204649544700870791063751985073025505140256486999594147907670401432621864059611212935239045725897164294158392384915383741893236855835206572361575815251834102817597954351753539734241055813264918661685815742331254265115147336675038874841969846780692324714119887763317733482149639078876864493430586957253745321772506851642341616104913655007191271539987940405428615792054472324941784425376667624375498957921996135283422377685465854755007199090374904671915825067824319211402121423465710026553378094955321729187018318595938421258494911075728698994501838878841266450281554708564517098007159642184051820081777849059004420247203415222748860355168399031685599226190283703382843308417806447168538074430145460049677391640027725129824636793937681293240085877449346119379088522926638073107683318971597305656990825868792091493548835212361148215453388744267704838207008553197616790437658654223130082729902820232640206237902766117036276474336224586682849816574733677238589645419876278098950859370060733430008312503727578812244418631114484536551105544719954209743323709433238531369171021464276901277182108883872894812869028656736328404552215593913484355700709311908898886651494711550656677122 13463458067629114749725904168563908075354749408281193889394728032798460674826041700459701647314371886012203642590789315705590767995896725067608437134237866625415952193583765377128418573755630190800976724047877385071551204723540718167896800390309010917270806839026012919287257191033890411587233355825836688341696462881997721133535119668303608176809738272010214078745195042487257642651697443912581270525342016087639628971829807151871252613099502945704723555981226088230371935926183869745503239419665098032628632249997314128973294232787852972947921029363532034028403636536885205082653141770437000585876505220661990102745696551484129247789585438275093034356355707441555813064525093745058569568194317454654315453310874644798489706246801336176249768076887665998154754902947612358143798170984805372075035943714857627204739846773686539096421667062684373901366294725085949400835697873235400967138353110986184643318994543153389184477426875853742365130055235350188132881840865754800220766655251649350640174081274200371400655541265133656006514596429893010820931985057796629972070400609335785737962722574068381521888654042916099316480327161437426641004492968028175824422709738763869128032381431440428609103449430255202108859150413540706045103991073684326554111494794335391328791737629449638249209447205693510562651046432305482940661142543831427528431569349301854047216766167844699351532116743769806423465620860314916209628750105426745727414188748755161039736168429319440691125300472142311852568013866077642886226831673633691059561406658860246346974440038050549657645191415023862560182261269153747664584571477562185881823791350102715381721553901432714213380730961740359109167586408505440335193698439432124593475267837882605252611736089107450825847991092750190235936325468790667646961843623817643068024102353865678406126574681533750926547679009834591539734882150285761974682073298975045914943733257073826001 21784332759532888087342181620058301302902793635419789502665006503234799597368184450206248280409267994286390819682827405951007865333549628486400765101132940594870412601653262875415369654919494951892519569659422536956714763806634151746588185100393333071141758162619156312148666028833561234035514046507354527488025465173032458927067226552320203561613888187193404148122286308572567143871979289235700191117267487626113343471767344319902332137982430858275561793603866087107283402926512704636916525400228835305830540446069794253458174354209699046437241759752590381552523551064156065791639205601691594549875458849513830273357161629146285064790001177137100625226531099496869229830213191151568728955130555139205376062082861799601694355791502206967313520061960691503295011389947206506051468572417427236134647156650096672930637011067844931481337050804577610757201501297447525216087531976052998921490106650720425699132259461815075000219758130118857512466730274225030102728621558079514340654418569382832789813160151064864831242498518878977779021448072234626925845640064987901512058341014764401530017194899010165947265321667291598274402323296720849018689958822783183023513084643435784953100205750651830730526915140281755486954105735269893063422587012105585049022570523034385830630616470716088530764155770210608569810688616357303022438991602835847775634984572050714402385165199530298577722400447152649731883427307483454284058895565476423119054216473884985676530106110612680777002749818261690941090940504150750569545803270939348050387275450951739895809652399198765111033935682728700767190814466770538102243225700692268611726611582742921619624320018468990687716955548423208925742320085744029980613574717531075452845328571312613565115463667919695244479105577286741341481045423000410970671276862349012239045566630766955588235458554428563795576335746162996091950476063770117675391385207873932566438444807730503123 35247790827162002837068085788622209378257543043700983392059734536033260272194226150665949927723639880298594462273616721656598633329446353554009202235370807220286364795237028252543788228675125142693496293707299922028265968530174869914484985490702343988412565001645169231435923219867451645622747402333191215829721928055030180060602346220623811738423626459203618226867481351059824786523676733148281461642609503713752972443597151471773584751081933803980285349585092175337655338852696574382419764819893933338459172696067108382431468586997552019385162789116122415580927187601041270874292347372128595135751964070175820376102858180630414312579586615412193659582886806938425042894738284896627298523324872593859691515393736444400184062038303543143563288138848357501449766292894818864195266743402232608209683100364954300135376857841531470577758717867261984658567796022533474616923229849288399888628459761706610342451254004968464184697185005972599877596785509575218235610462423834314561421073821032183429987241425265236231898039784012633785536044502127637746777625122784531484128741624100187267979917473078547469153975710207697590882650458158275659694451790811358847935794382199654081132587182092259339630364570536957595813256148810599108526578085789911603134065317369777159422354100165726779973602975904119132461735048662785963100134146667275304066553921352568449601931367374997929254517190922456155349048167798370493687645670903168846468405222640146716266274539932121468128050290404002793658954370228393455772634944573039109948682109811986242784092437249314768679127097752563327373075735924285766827797178254454493550402932845637001345873919901704901097686510163568034909906494249470315807273156963200046320596409195218817727199757027146070327096670036931577417370891791078617633120486166655307069668984632633994362033235962314722124014755997587631685358214055879650073458506848978481382178064804329124 57032123586694890924410267408680510681160336679120772894724741039268059869562410600872198208132907874584985281956444127607606498662995982040409967336503747815156777396890291127959157883594620094586015863366722458984980732336809021661073170591095677059554323164264325543584589248701012879658261448840545743317747393228062638987669572772944015300037514646397022374989767659632391930395656022383981652759876991339866315915364495791675916889064364662255847143188958262444938741779209279019336290220122768644289713142136902635889642941207251065822404548868712797133450738665197336665931552973820189685627422919689650649460019809776699377369587792549294284809417906435294272724951476048196027478455427733065067577476598244001878417829805750110876808200809049004744777682842025370246735315819659844344330257015050973066013868909376402059095768671839595415769297319980999833010761825341398810118566412427036041583513466783539184916943136091457390063515783800248338339083981913828902075492390415016219800401576330101063140538302891611564557492574362264672623265187772432996187082638864588797997112372088713416419297377499295865284973754879124678384410613594541871448879025635439034232792932744090070157279710818713082767361884080492171949165097895496652156635840404162990052970570881815310737758746114727702272423665020088985539125749503123079701538493403282851987096566905296506976917638075105887232475475281824777746541236379591965522621696525132392796380650544802245130800108665693734749894874379144025318438215512387160335957560763726138593744836448079879713062780481264094563890202694823869071022878946723105277014515588558620970193938370695588814642058586776960652226579993500296420847874494275499165924980507832382842663424946841314806202247323672918898416314791489588304397348515667546115235615399589582597491790390878517700350502160583723635834277825997325464843714722911047820622872534832247 92279914413856893761478353197302720059417879722821756286784475575301320141756636751538148135856547754883579744230060849264205131992442335594419169571874555035443142192127319380502946112269745237279512157074022381013246700866983891575558156081798021047966888165909494775020512468568464525281008851173736959147469321283092819048271918993567827038461141105600640601857249010692216716919332755532263114402486495053619288358961647263449501640146298466236132492774050437782594080631905853401756055040016701982748885838204011018321111528204803085207567337984835212714377926266238607540223900345948784821379386989865471025562877990407113689949174407961487944392304713373719315619689760944823326001780300326924759092870334688402062479868109293254440096339657406506194543975736844234442002059221892452554013357380005273201390726750907872636854486539101580074337093342514474449933991674629798698747026174133646384034767471752003369614128142064057267660301293375466573949546405748143463496566211447199649787643001595337295038578086904245350093537076489902419400890310556964480315824262964776065977029845167260885573273087706993456167624213037400338078862404405900719384673407835093115365380114836349409787644281355670678580618032891091280475743183685408255290701157773940149475324671047542090711361722018846834734158713682874948639259896170398383768092414755851301589027934280294436231434828997562042581523643080195271434186907282760811991026919165279109062655190476923713258850399069696528408849244607537481091073160085426270284639670575712381377837273697394648392189878233827421936965938619109635898820057201177598827417448434195622316067858272400489912328568750344995562133074242970612228121031457475545486521389703051200569863181973987385133298917360604496315787206582568205937517834682322853184904600032223576959525026353193239824365258158171355321192491881876975538302221571889529202800937339161371 149312038000551784685888620605983230740578216401942529181509216614569380011319047352410346343989455629468565026186504976871811630655438317634829136908378302850599919589017610508462103995864365331865528020440744839998227433203792913236631326672893698107521211330173820318605101717269477404939270300014282702465216714511155458035941491766511842338498655751997662976847016670324608647314988777916244767162363486393485604274326143055125418529210663128491979635963008700227532822411115132421092345260139470627038598980340913654210754469412054151029971886853548009847828664931435944206155453319768974507006809909555121675022897800183813067318762200510782229201722619809013588344641236993019353480235728059989826670346932932403940897697915043365316904540466455510939321658578869604688737375041552296898343614395056246267404595660284274695950255210941175490106390662495474282944753499971197508865592586560682425618280938535542554531071278155514657723817077175714912288630387661972365572058601862215869588044577925438358179116389795856914651029650852167092024155498329397476502906901829364863974142217255974301992570465206289321452597967916525016463273018000442590833552433470532149598173047580439479944923992174383761347979916971583452424908281580904907447336998178103139528295241929357401449120468133574537006582378702963934178385645673521463469630908159134153576124501185590943208352467072667929813999118362020049180728143662352777513648615690411501859035841021725958389650507735390263158744118986681506409511375597813430620597231339438519971582110145474528105252658715091516500856141313933504969842936147900704104431964022754243286261796643096078726970627337121956214359654236470908648968905951751044652446370210883583412526606920828699939501164684277415214203521374057794241915183197990399300140215431813159557016816744071757524715760318755078957026769707874301003145936294800577023423809873993618 241591952414408678447366973803285950799996096124764285468293692189870700153075684103948494479846003384352144770416565826136016762647880653229248306480252857886043061781144929888965050108134110569145040177514767221011474134070776804812189482754691719155488099496083315093625614185837941930220279151188019661612686035794248277084213410760079669376959796857598303578704265681016825364234321533448507881564849981447104892633287790318574920169356961594728112128737059138010126903043020985822848400300156172609787484818544924672531865997616857236237539224838383222562206591197674551746379353665717759328386196899420592700585775790590926757267936608472270173594027333182732903964330997937842679482016028386914585763217267620806003377566024336619757000880123862017133865634315713839130739434263444749452356971775061519468795322411192147332804741750042755564443484005009948732878745174600996207612618760694328809653048410287545924145199420219571925384118370551181486238176793410115829068624813309415519375687579520775653217694476700102264744566727342069511425045808886361956818731164794140929951172062423235187565843552913282777620222180953925354542135422406343310218225841305625264963553162416788889732568273530054439928597949862674732900651465266313162738038155952043289003619912976899492160482190152421371740741092385838882817645541843919847237723322914985455165152435465885379439787296070229972395522761442215320614915050945113589504675534855690610921691031498649671648500906805086791567593363594218987500584535683239700905236901915150901349419383842869176497442536948918938437822079933043140868662993349078302931849412456949865602329654915496568639299196087466951776492728479441520877089937409226590138967759913934783982389788894816085072800082044881911529990727956626000179433017880313252485044815464036736516541843097264997349081018476926434278219261589751276541448157866690106226224747213154989 390903990414960463133255594409269181540574312526706814649802908804440080164394731456358840823835459013820709796603070803007828393303318970864077443388631160736642981370162540397427154103998475901010568197955512061009701567274569718048820809427585417263009310826257135412230715903107419335159549451202302364077902750305403735120154902526591511715458452609595966555551282351341434011549310311364752648727213467840590496907613933373700338698567624723220091764700067838237659725454136118243940745560295643236826083798885838326742620467028911387267511111691931232410035256129110495952534806985486733835393006808975714375608673590774739824586698808983052402795749952991746492308972234930862032962251756446904412433564200553209944275263939379985073905420590317528073187292894583443819476809304997046350700586170117765736199918071476422028754996960983931054549874667505423015823498674572193716478211347255011235271329348823088478676270698375086583107935447726896398526807181072088194640683415171631388963732157446214011396810866495959179395596378194236603449201307215759433321638066623505793925314279679209489558414018119572099072820148870450371005408440406785901051778274776157414561726209997228369677492265704438201276577866834258185325559746847218070185375154130146428531915154906256893609602658285995908747323471088802816996031187517441310707354231074119608741276936651476322648139763142897902209521879804235369795643194607466367018324150546102112780726872520375630038151414540477054726337482580900493910095911281053131525834133254589421321001493988343704602695195664010454938678221246976645838505929496979007036281376479704108888591451558592647366269823424588907990852382715912429526058843360977634791414130124818367394916395815644785012301246729159326744194249330683794421348201078303651785185030895849896073558659841336754873796778795681513235246031297625577544594094161490683249648557087148607 632495942829369141580622568212555132340570408651471100118096600994310780317470415560307335303681462398172854567019636629143845155951199624093325749868884018622686043151307470286392204212132586470155608375470279282021175701345346522861010292182277136418497410322340450505856330088945361265379828602390322025690588786099652012204368313286671181092418249467194270134255548032358259375783631844813260530292063449287695389540901723692275258867924586317948203893437126976247786628497157104066789145860451815846613568617430762999274486464645768623505050336530314454972241847326785047698914160651204493163779203708396307076194449381365666581854635417455322576389777286174479396273303232868704712444267784833818998196781468174015947652829963716604830906300714179545207052927210297282950216243568441795803057557945179285204995240482668569361559738711026686618993358672515371748702243849173189924090830107949340044924377759110634402821470118594658508492053818278077884764983974482204023709308228481046908339419736966989664614505343196061444140163105536306114874247116102121390140369231417646723876486342102444677124257571032854876693042329824375725547543862813129211270004116081782679525279372414017259410060539234492641205175816696932918226211212113531232923413310082189717535535067883156385770084848438417280488064563474641699813676729361361157945077553989105063906429372117361702087927059213127874605044641246450690410558245552579956522999685401792723702417904019025301686652321345563846293930846175119481410680446964292832431071035169740322670420877831212881100137732612929393376500301180019786707168922846057309968130788936653974490921106474089216005569019512055859767345111195353950403148780770204224930381890038753151377306184710460870085101328774041238274184977287309794600781218958616904270229846359886632590100502938601752222877797272607947513465292887376854086042252028180789475873304300303596 1023399933244329604713878162621824313881144721178177914767899509798750860481865147016666176127516921411993564363622707432151673549254518594957403193257515179359329024521470010683819358316131062371166176573425791343030877268619916240909831101609862553681506721148597585918087045992052780600539378053592624389768491536405055747324523215813262692807876702076790236689806830383699693387332942156178013179019276917128285886448515657065975597566492211041168295658137194814485446353951293222310729891420747459083439652416316601326017106931674680010772561448222245687382277103455895543651448967636691226999172210517372021451803122972140406406441334226438374979185527239166225888582275467799566745406519541280723410630345668727225891928093903096589904811721304497073280240220104880726769693052873438842153758144115297050941195158554144991390314735672010617673543233340020794764525742523745383640569041455204351280195707107933722881497740816969745091599989266004974283291791155554292218349991643652678297303151894413203676011316209692020623535759483730542718323448423317880823462007298041152517801800621781654166682671589152426975765862478694826096552952303219915112321782390857940094087005582411245629087552804938930842481753683531191103551770958960749303108788464212336146067450222789413279379687506724413189235388034563444516809707916878802468652431785063224672647706308768838024736066822356025776814566521050686060206201440160046323541323835947894836483144776539400931724803735886040901020268328756019975320776358245345963956905168424329743991422371819556585702832928276939848315178522426996432545674852343036317004412165416358083379512558032681863371838842936644767758197493911266379929207624131181859721796020163571518772222580526105655097402575503200565018379226617993589022129420036920556055414877255736528663659162779938507096674576068289460748711324185002431630636346189671472725521861387452203 1655895876073698746294500730834379446221715129829649014885996110793061640799335562576973511431198383810166418930642344061295518705205718219050728943126399197982015067672777480970211562528263648841321784948896070625052052969965262763770841393792139690100004131470938036423943376080998141865919206655982946415459080322504707759528891529099933873900294951543984506824062378416057952763116574000991273709311340366415981275989417380758250856434416797359116499551574321790733232982448450326377519037281199274930053221033747364325291593396320448634277611784752560142354518950782680591350363128287895720162951414225768328527997572353506072988295969643893697555575304525340705284855578700668271457850787326114542408827127136901241839580923866813194735718022018676618487293147315178009719909296441880637956815702060476336146190399036813560751874474383037304292536592012536166513227986372918573564659871563153691325120084867044357284319210935564403600092043084283052168056775130036496242059299872133725205642571631380193340625821552888082067675922589266848833197695539420002213602376529458799241678286963884098843806929160185281852458904808519201822100496166033044323591786506939722773612284954825262888497613344173423483686929500228124021777982171074280536032201774294525863602985290672569665149772355162830469723452598038086216623384646240163626597509339052329736554135680886199726823993881569153651419611162297136750616759685712626280064323521349687560185562680558426233411456057231604747314199174931139456731456805209638796387976203594070066661843249650769466802970660889869241691678823607016219252843775189093626972542954353012057870433664506771079377407862448700627525542605106620330332356404901386084652177910202324670149528765236566525182503904277241803292564203905303383622910638995537460325644723615623161253759665718540259319552373340897408262176617072379285716678598217852262201395165687755799 2679295809318028351008378893456203760102859851007826929653895620591812501281200709593639687558715305222159983294265051493447192254460236814008132136383914377341344092194247491654030920844394711212487961522321861968082930238585179004680672495402002243781510852619535622342030422073050922466458584709575570805227571858909763506853414744913196566708171653620774743513869208799757646150449516157169286888330617283544267162437933037824226454000909008400284795209711516605218679336399743548688248928701946734013492873450063965651308700327995128645050173232974805829736796054238576135001812095924586947162123624743140349979800695325646479394737303870332072534760831764506931173437854168467838203257306867395265819457472805628467731509017769909784640529743323173691767533367420058736489602349315319480110573846175773387087385557590958552142189210055047921966079825352556961277753728896663957205228913018358042605315791974978080165816951752534148691692032350288026451348566285590788460409291515786403502945723525793397016637137762580102691211682072997391551521143962737883037064383827499951759480087585665753010489600749337708828224767287214027918653448469252959435913568897797662867699290537236508517585166149112354326168683183759315125329753130035029839140990238506862009670435513461982944529459861887243658958840632601530733433092563118966095249941124115554409201841989655037751560060703925179428234177683347822810822961125872672603605647357297582396668707457097827165136259793117645648334467503687159432052233163454984760344881372018399810653265621470326052505803589166809090006857346034012651798518627532129943976955119769370141249946222539452942749246705385345395283740099017886710261564029032567944373973930365896188921751345762672180279906479780442368310943430523296972645040059032458016381059600871359689917418828498478766416226949409186869010887941257381717347314944407523734926917027075208002 4335191685391727097302879624290583206324574980837475944539891731384874142080536272170613198989913689032326402224907395554742710959665955033058861079510313575323359159867024972624242483372658360053809746471217932593134983208550441768451513889194141933881514984090473658765973798154049064332377791365558517220686652181414471266382306274013130440608466605164759250337931587215815598913566090158160560597641957649960248438427350418582477310435325805759401294761285838395951912318848193875065767965983146008943546094483811329976600293724315577279327785017727365972091315005021256726352175224212482667325075038968908678507798267679152552383033273514225770090336136289847636458293432869136109661108094193509808228284599942529709571089941636722979376247765341850310254826514735236746209511645757200118067389548236249723233575956627772112894063684438085226258616417365093127790981715269582530769888784581511733930435876842022437450136162688098552291784075434571078619405341415627284702468591387920128708588295157173590357262959315468184758887604662264240384718839502157885250666760356958751001158374549549851854296529909522990680683672095733229740753944635286003759505355404737385641311575492061771406082779493285777809855612683987439147107735301109310375173192012801387873273420804134552609679232217050074128682293230639616950056477209359129721847450463167884145755977670541237478384054585494333079653788845644959561439720811585298883669970878647269956854270137656253398547715850349250395648666678618298888783689968664623556732857575612469877315108871121095519308774250056678331698536169641028871051362402721223570949498074122382199120379887046224022126654567834046022809282704124507040593920433933954029026151840568220859071280110999238705462410384057684171603507634428600356267950698027995476706704324486982851171178494217019025735779322750084277273064558329761003063993542625375997128312192762963801 7014487494709755448311258517746786966427434831845302874193787351976686643361736981764252886548628994254486385519172447048189903214126191847066993215894227952664703252061272464278273404217053071266297707993539794561217913447135620773132186384596144177663025836710009281108004220227099986798836376075134088025914224040324234773235721018926327007316638258785533993851800796015573245064015606315329847485972574933504515600865283456406703764436234814159686089970997355001170591655247937423754016894685092742957038967933875295627908994052310705924377958250702171801828111059259832861353987320137069614487198663712049028487598963004799031777770577384557842625096968054354567631731287037603947864365401060905074047742072748158177302598959406632764016777508665024002022359882155295482699113995072519598177963394412023110320961514218730665036252894493133148224696242717650089068735444166246487975117697599869776535751668817000517615953114440632700983476107784859105070753907701218073162877882903706532211534018682966987373900097078048287450099286735261631936239983464895768287731144184458702760638462135215604864786130658860699508908439382947257659407393104538963195418924302535048509010866029298279923667945642398132136024295867746754272437488431144340214314182251308249882943856317596535554208692078937317787641133863241147683489569772478095817097391587283438554957819660196275229944115289419512507887966528992782372262681937457971487275618235944852353522977594754080563683975643466896043983134182305458320835923132119608317077738947630869687968374492591421571814577839223487421705393515675041522849881030253353514926453193891752340370326109585676964875901273219391418093022803142393750855484462966521973400125770934117047993031456761910885742316863838126539914451064951897328912990757060453493087763925358342541088597322715497792152006272159271146283952499587142720411308487032899732055229219838171803 11349679180101482545614138142037370172752009812682778818733679083361560785442273253934866085538542683286812787744079842602932614173792146880125854295404541527988062411928297436902515887589711431320107454464757727154352896655686062541583700273790286111544540820800482939873978018381149051131214167440692605246600876221738706039618027292939457447925104863950293244189732383231388843977581696473490408083614532583464764039292633874989181074871560619919087384732283193397122503974096131298819784860668238751900585062417686625604509287776626283203705743268429537773919426064281089587706162544349552281812273702680957706995397230683951584160803850898783612715433104344202204090024719906740057525473495254414882276026672690687886873688901043355743393025274006874312277186396890532228908625640829719716245352942648272833554537470846502777930316578931218374483312660082743216859717159435829018745006482181381510466187545659022955066089277128731253275260183219430183690159249116845357865346474291626660920122313840140577731163056393516472208986891397525872320958822967053653538397904541417453761796836684765456719082660568383690189592111478680487400161337739824966954924279707272434150322441521360051329750725135683909945879908551734193419545223732253650589487374264109637756217277121731088163887924295987391916323427093880764633546046981837225538944842050451322700713797330737512708328169874913845587541755374637741933702402749043270370945589114592122310377247732410333962231691493816146439631800860923757209619613100784231873810596523243339565283483363712517091123352089280165753403929685316070393901243432974577085875951268014134539490705996631900987002555841053437440902305507266900791449404896900476002426277611502337907064311567761149591204727247895810711517958699380497685180941455088448969794468249845325392259775816932516817887785594909355423557017057916903723475302029658275729183541412601135604 18364166674811237993925396659784157139179444644528081692927466435338247428804010235699118972087171677541299173263252289651122517387918338727192847511298769480652765663989569901180789291806764502586405162458297521715570810102821683314715886658386430289207566657510492220981982238608249037930050543515826693272515100262062940812853748311865784455241743122735827238041533179246962089041597302788820255569587107516969279640157917331395884839307795434078773474703280548398293095629344068722573801755353331494857624030351561921232418281828936989128083701519131709575747537123540922449060149864486621896299472366393006735482996193688750615938574428283341455340530072398556771721756006944344005389838896315319956323768745438846064176287860449988507409802782671898314299546279045827711607739635902239314423316337060295943875498985065233442966569473424351522708008902800393305928452603602075506720124179781251287001939214476023472682042391569363954258736291004289288760913156818063431028224357195333193131656332523107565105063153471564759659086178132787504257198806431949421826129048725876156522435298819981061583868791227244389698500550861627745059568730844363930150343204009807482659333307550658331253418670778082042081904204419480947691982712163397990803801556515417887639161133439327623718096616374924709703964560957121912317035616754315321356042233637734761255671616990933787938272285164333358095429721903630524305965084686501241858221207350536974663900225327164414525915667137283042483614935043229215530455536232903840190888335470874209253251857856303938662937929928503653175109323200991111916751124463227930600802404461905886879861032106217577951878457114272828858995328310409294542304889359866997975826403382436454955057343024523060476947044111733937251432409764332395014093932212148902462882232175203667933348373139648014610039791867068626569840969557504046443886610516691175461238770632439307407 29713845854912720539539534801821527311931454457210860511661145518699808214246283489633985057625714360828111961007332132254055131561710485607318701806703311008640828075917867338083305179396475933906512616923055248869923706758507745856299586932176716400752107478310975160855960256989398089061264710956519298519115976483801646852471775604805241903166847986686120482231265562478350933019178999262310663653201640100434043679450551206385065914179356053997860859435563741795415599603440200021393586616021570246758209092769248546836927569605563272331789444787561247349666963187822012036766312408836174178111746069073964442478393424372702200099378279182125068055963176742758975811780726851084062915312391569734838599795418129533951049976761493344250802828056678772626576732675936359940516365276731959030668669279708568777430036455911736220896886052355569897191321562883136522788169763037904525465130661962632797468126760135046427748131668698095207533996474223719472451072405934908788893570831486959854051778646363248142836226209865081231868073069530313376578157629399003075364526953267293610284232135504746518302951451795628079888092662340308232459730068584188897105267483717079916809655749072018382583169395913765952027784112971215141111527935895651641393288930779527525395378410561058711881984540670912101620287988051002676950581663736152546894987075688186083956385414321671300646600455039247203682971477278268266239667487435544512229166796465129096974277473059574748488147358631099188923246735904152972740075149333688072064698931994117548818535341220016455754061282017783818928513252886307182310652367896202507686678355729920021419351738102849478938881012955326266299897633817676195333754294256767473978252680993938792862121654592284210068151771359629747962950368463712892699274873667237351432676700425048993325608148956580531427927577461977981993397986615420950167361912546349451190422312045040443011 48078012529723958533464931461605684451110899101738942204588611954038055643050293725333104029712886038369411134270584421905177648949628824334511549318002080489293593739907437239264094471203240436492917779381352770585494516861329429171015473590563146689959674135821467381837942495597647126991315254472345991791631076745864587665325523916671026358408591109421947720272798741725313022060776302051130919222788747617403323319608468537780950753487151488076634334138844290193708695232784268743967388371374901741615833123120810468069345851434500261459873146306692956925414500311362934485826462273322796074411218435466971177961389618061452816037952707465466523396493249141315747533536733795428068305151287885054794923564163568380015226264621943332758212630839350670940876278954982187652124104912634198345091985616768864721305535440976969663863455525779921419899330465683529828716622366639980032185254841743884084470065974611069900430174060267459161792732765228008761211985562752972219921795188682293047183434978886355707941289363336645991527159247663100880835356435830952497190656001993169766806667434324727579886820243022872469586593213201935977519298799428552827255610687726887399468989056622676713836588066691847994109688317390696088803510648059049632197090487294945413034539544000386335600081157045836811324252549008124589267617280490467868251029309325920845212057031312605088584872740203580561778401199181898790545632572122045754087388003815666071638177698386739163014063025768382231406861670947382188270530685566591912255587267464991758071787199076320394416999211946287472103622576087298294227403492359430438287480760191825908299212770209067056890759470069599095158892962128085489876059183616634471954079084376375247817178997616807270545098815471363685214382778228045287713368805879386253895558932600252661258956522096228546037967369329046608563238956172924996611248523063040626651661082677479750418 77791858384636679073004466263427211763042353558949802716249757472737863857296577214967089087338600399197523095277916554159232780511339309941830251124705391497934421815825304577347399650599716370399430396304408019455418223619837175027315060522739863090711781614132442542693902752587045216052579965428865290310747053229666234517797299521476268261575439096108068202504064304203663955079955301313441582875990387717837366999059019744166016667666507542074495193574408031989124294836224468765360974987396471988374042215890059014906273421040063533791662591094254204275081463499184946522592774682158970252522964504540935620439783042434155016137330986647591591452456425884074723345317460646512131220463679454789633523359581697913966276241383436677009015458896029443567453011630918547592640470189366157375760654896477433498735571896888705884760341578135491317090652028566666351504792129677884557650385503706516881938192734746116328178305728965554369326729239451728233663057968687881008815366020169252901235213625249603850777515573201727223395232317193414257413514065229955572555182955260463377090899569829474098189771694818500549474685875542244209979028868012741724360878171443967316278644805694695096419757462605613946137472430361911229915038583954701273590379418074472938429917954561445047482065697716748912944540537059127266218198944226620415146016385014106929168442445634276389231473195242827765461372676460167056785300059557590266316554800280795168612455171446313911502210384399481420330108406851535161010605834900279984320286199459109306890322540296336850171060493964071291032135828973605476538055860255632945974159115921745929718564508311916535829640483024925361458790595945761685209813477873401945932331765370314040679300652209091480613250586830993433177333146691758180412643679546623605328235633025301654584564671052809077465894946791024590556636942788345946778610435609390077842083394722520193429 125869870914360637606469397725032896214153252660688744920838369426775919500346870940300193117051486437566934229548500976064410429460968134276341800442707471987228015555732741816611494121802956806892348175685760790040912740481166604198330534113303009780671455749953909924531845248184692343043895219901211282102378129975530822183122823438147294619984030205530015922776863045928976977140731603364572502098779135335240690318667488281946967421153659030151129527713252322182832990069008737509328363358771373729989875339010869482975619272474563795251535737400947161200495963810547881008419236955481766326934182940007906798401172660495607832175283694113058114848949675025390470878854194441940199525614967339844428446923745266293981502506005380009767228089735380114508329290585900735244764575102000355720852640513246298220041107337865675548623797103915412736989982494250196180221414496317864589835640345450400966408258709357186228608479789233013531119462004679736994875043531440853228737161208851545948418648604135959558718804936538373214922391564856515138248870501060908069745838957253633143897567004154201678076591937841373019061279088744180187498327667441294551616488859170854715747633862317371810256345529297461940247160747752607318718549232013750905787469905369418351464457498561831383082146854762585724268793086067251855485816224717088283397045694340027774380499476946881477816345935446408327239773875642065847330932631679636020403942804096461240250632869833053074516273410167863651736970077798917349281136520466871896575873466924101064962109739372657244588059705910358763135758405060903770765459352615063384261639876113571838017777278520983592720399953094524456617683558073847175085872661490036417886410849746689288496479649825898751158349402302357118391715924919803468126012485426009859223794565625554315843521193149037623503862316120071199119875898961270943389858958672430704493744477399999943847 203661729298997316679473863988460107977195606219638547637088126899513783357643448155267282204390086836764457324826417530223643209972307444218172051567412863485162437371558046393958893772402673177291778571990168809496330964101003779225645594636042872871383237364086352467225748000771737559096475185330076572413125183205197056700920122959623562881559469301638084125280927350132640932220686904678014084974769523053078057317726508026112984088820166572225624721287660354171957284905233206274689338346167845718363917554900928497881892693514627329043198328495201365475577427309732827531012011637640736579457147444548842418840955702929762848312614680760649706301406100909465194224171655088452330746078646794634061970283326964207947778747388816686776243548631409558075782302216819282837405045291366513096613295409723731718776679234754381433384138682050904054080634522816862531726206625995749147486025849156917848346451444103302556786785518198567900446191244131465228538101500128734237552527229020798849653862229385563409496320509740100438317623882049929395662384566290863642301021912514096520988466573983675776266363632659873568535964964286424397477356535454036275977367030614822032026278668012066906676102991903075886384633178114518548633587815968452179377849323443891289894375453123276430564212552479334637213333623126379121704015168943708698543062079354134703548941922581157867047819130689236092701146552102232904116232691237226286720497604377256408863088041279366986018483794567345072067078484650452510291742355367151880896159666383210371852432279668994094759120199874430054167894234034509247303515212870696330235798992035317767736341786832900128550040436119449818076474154019608860295686139363438363818742615117003329175780302034990231771599989133350551569049071611561648538656164972633464552030198650855970428085864201846700969757262911095789676512841749616890168469394281820782335827872122520137276 329531600213357954285943261713493004191348858880327292557926496326289702857990319095567475321441573274331391554374918506288053639433275578494513852010120335472390452927290788210570387894205629984184126747675929599537243704582170383423976128749345882652054693114040262391757593248956429902140370405231287854515503313180727878884042946397770857501543499507168100048057790396061617909361418508042586587073548658388318747636393996308059951509973825602376754249000912676354790274974241943784017701704939219448353792893911797980857511965989191124294734065896148526676073391120280708539431248593122502906391330384556749217242128363425370680487898374873707821150355775934855665103025849530392530271693614134478490417207072230501929281253394196696543471638366789672584111592802720018082169620393366868817465935922970029938817786572620056982007935785966316791070617017067058711947621122313613737321666194607318814754710153460488785395265307431581431565653248811202223413145031569587466289688437872344798072510833521522968215125446278473653240015446906444533911255067351771712046860869767729664886033578137877454342955570501246587597244053030604584975684202895330827593855889785676747773912530329438716932448521200537826631793925867125867352137047982203085165319228813309641358832951685107813646359407241920361482126709193630977189831393660796981940107773694162477929441399528039344864165066135644419940920427744298751447165322916862307124440408473717649113720911112420060534757204735208723804048562449369859572878875834023777472033133307311436814542019041651339347179905784788817303652639095413018068974565485759714497438868148889605754119065353883721270440389213974274694157712093456035381558800853474781705153464863692617672259951860888982929949391435707669960764996531365116664668650398643323775824764276410286271607057350884324473619579031166988796388740710887833558328352954251486829572349522520081123 533193329512355270965417125701953112168544465099965840195014623225803486215633767250834757525831660111095848879201336036511696849405583022712685903577533198957552890298848834604529281666608303161475905319666098409033574668683174162649621723385388755523437930478126614858983341249728167461236845590561364426928628496385924935584963069357394420383102968808806184173338717746194258841582105412720600672048318181441396804954120504334172935598793992174602378970288573030526747559879475150058707040051107065166717710448812726478739404659503818453337932394391349892151650818430013536070443260230763239485848477829105591636083084066355133528800513055634357527451761876844320859327197504618844861017772260929112552387490399194709877060000783013383319715186998199230659893895019539300919574665684733381914079231332693761657594465807374438415392074468017220845151251539883921243673827748309362884807692043764236663101161597563791342182050825630149332011844492942667451951246531698321703842215666893143647726373062907086377711445956018574091557639328956373929573639633642635354347882782281826185874500152121553230609319203161120156133209017317028982453040738349367103571222920400498779800191198341505623608551513103613713016427103981644415985724863950655264543168552257200931253208404808384244210571959721254998695460332320010098893846562604505680483169853048297181478383322109197211911984196824880512642066979846531655563398014154088593844938012850974057976808952391787046553240999302553795871127047099822369864621231201175658368192799690521808666974298710645434106300105659218871471546873129922265372489778356456044733237860184207373490460852186783849820480825333424092770631866113064895677244940216913145523896079980695946848040253895879214701549380569058221529814068142926765203324815371276788327854962927266256699692921552731025443376841942262778472901582460504723726797747236072269165400221645040218399 862724929725713225251360387415446116359893323980293132752941119552093189073624086346402232847273233385427240433576254542799750488838858601207199755587653534429943343226139622815099669560813933145660032067342028008570818373265344546073597852134734638175492623592166877250740934498684597363377215995792652281444131809566652814469006015755165277884646468315974284221396508142255876750943523920763187259121866839829715552590514500642232887108767817776979133219289485706881537834853717093842724741756046284615071503342724524459596916625493009577632666460287498418827724209550294244609874508823885742392239808213662340853325212429780504209288411430508065348602117652779176524430223354149237391289465875063591042804697471425211806341254177210079863186825364988903244005487822259319001744286078100250731545167255663791596412252379994495397400010253983537636221868556950979955621448870622976622129358238371555477855871751024280127577316133061730763577497741753869675364391563267909170131904104765488445798883896428609345926571402297047744797654775862818463484894700994407066394743652049555850760533730259430684952274773662366743730453070347633567428724941244697931165078810186175527574103728670944340541000034304151539648221029848770283337861911932858349708487781070510572612041356493492057856931366963175360177587041513641076083677956265302662423277626742459659407824721637236556776149262960524932582987407590830407010563337070950900969378421324691707090529863504207107087998204037762519675175609549192229437500107035199435840225932997833245481516317752296773453480011444007688775199512225335283441464343842215759230676728333096979244579917540667571090921214547398367464789578206520931058803741070387927229049544844388564520300205756768197631498772004765891490579064674291881867993465769920112103679727203676542971299978903615349916996420973429767269290323171392557285126100190323755994972571167560299522 1395918259238068496216777513117399228528437789080258972947955742777896675289257853597236990373104893496523089312777590579311447338244441623919885659165186733387496233524988457419628951227422236307135937387008126417604393041948518708723219575520123393698930554070293492109724275748412764824614061586354016708372760305952577750053969085112559698267749437124780468394735225888450135592525629333483787931170185021271112357544635004976405822707561809951581512189578058737408285394733192243901431781807153349781789213791537250938336321284996828030970598854678848310979375027980307780680317769054648981878088286042767932489408296496135637738088924486142422876053879529623497383757420858768082252307238135992703595192187870619921683401254960223463182902012363188133903899382841798619921318951762833632645624398588357553254006718187368933812792084722000758481373120096834901199295276618932339506937050282135792140957033348588071469759366958691880095589342234696537127315638094966230873974119771658632093525256959335695723638017358315621836355294104819192393058534334637042420742626434331382036635033882380983915561593976823486899863662087664662549881765679594065034736301730586674307374294927012449964149551547407765252664648133830414699323586775883513614251656333327711503865249761301876302067503326684430358873047373833651174977524518869808342906447479790756840886208043746433768688133459785405445225054387437362062573961351225039494814316434175665765067338815895994153641239203340316315546302656649014599302121338236375094208418732688355054148490616462942207559780117103226560246746385355257548813954122198671803963914588517304352735040769727451420911402039880822460235421444319585826736048681287301072752945624825084511368340459652647412333048152573824113020393132817218647071318281141196900431534690130942799670992900456346375360373262915692545742191905631897281011923847426396025160372792812600517921 2258643188963781721468137900532845344888331113060552105700896862329989864362881939943639223220378126881950329746353845122111197827083300225127085414752840267817439576751128080234728620788236169452795969454350154426175211415213863254796817427654858031874423177662460369360465210247097362187991277582146668989816892115519230564522975100867724976152395905440754752616131734030706012343469153254246975190292051861100827910135149505618638709816329627728560645408867544444289823229586909337744156523563199634396860717134261775397933237910489837608603265314966346729807099237530602025290192277878534724270328094256430273342733508925916141947377335916650488224655997182402673908187644212917319643596704011056294637996885342045133489742509137433543046088837728177037147904870664057938923063237840933883377169565844021344850418970567363429210192094975984296117594988653785881154916725489555316129066408520507347618812905099612351597336683091753610859166839976450406802680029658234140044106023876424120539324140855764305069564588760612669581152948880682010856543429035631449487137370086380937887395567612640414600513868750485853643594115158012296117310490620838762965901380540772849834948398655683394304690551581711916792312869163679184982661448687816371963960144114398222076477291117795368359924434693647605719050634415347292251061202475135111005329725106533216500294032765383670325464282722745930377808041795028192469584524688295990395783694855500357472157868679400201260729237407378078835221478266198206828739621445271574530048644665686188299630006934215238981013260128547234249021945897580592832255418466040887563194591316850401331979620687268118992002323254428220827700211022526106757794852422357688999981995169669473075888640665409415609964546924578590004510972197491510528939311746911117012535214417334619342642292879359961725277369683889122313011482228803289838297049947616719781155345363980160817443 3654561448201850217684915413650244573416768902140811078648852605107886539652139793540876213593483020378473419059131435701422645165327741849046971073918027001204935810276116537654357572015658405759931906841358280843779604457162381963520037003174981425573353731732753861470189485995510127012605339168500685698189652421471808314576944185980284674420145342565535221010866959919156147935994782587730763121462236882371940267679784510595044532523891437680142157598445603181698108624320101581645588305370352984178649930925799026336269559195486665639573864169645195040786474265510909805970510046933183706148416380299198205832141805422051779685466260402792911100709876712026171291945065071685401895903942147048998233189073212665055173143764097657006228990850091365171051804253505856558844382189603767516022793964432378898104425688754732363022984179697985054598968108750620782354212002108487655636003458802643139759769938448200423067096050050445490954756182211146943929995667753200370918080143648082752632849397815100000793202606118928291417508242985501203249601963370268491907879996520712319924030601495021398516075462727309340543457777245676958667192256300432828000637682271359524142322693582695844268840103129119682044977517297509599681985035463699885578211800447725933580342540879097244661991938020332036077923681789180943426038726994004919348236172586323973341180240809130104094152416182531335823033096182465554532158486039521029890598011289676023237225207495296195414370476610718395150767780922847221428041742783507949624257063398374543353778497550678181188573040245650460809268692282935850381069372588239559367158505905367705684714661456995570412913725294309043287935632466845692584530901103644990072734940794494557587256981125062063022297595077152414117531365330308729176010630028052313912966749107465562142313285779816308100637742946804814858753674134435187119308973795043115806315718156792761335364 5913204637165631939153053314183089918305100015201363184349749467437876404015021733484515436813861147260423748805485280823533842992411042074174056488670867269022375387027244617889086192803894575212727876295708435269954815872376245218316854430829839457447776909395214230830654696242607489200596616750647354688006544536991038879099919286848009650572541248006289973626998693949862160279463935841977738311754288743472768177814934016213683242340221065408702803007313147625987931853907010919389744828933552618575510648060060801734202797105976503248177129484611541770593573503041511831260702324811718430418744474555628479174875314347967921632843596319443399325365873894428845200132709284602721539500646158105292871185958554710188662886273235090549275079687819542208199709124169914497767445427444701399399963530276400242954844659322095792233176274673969350716563097404406663509128727598042971765069867323150487378582843547812774664432733142199101813923022187597350732675697411434510962186167524506873172173538670864305862767194879540960998661191866183214106145392405899941395017366607093257811426169107661813116589331477795194187051892403689254784502746921271590966539062812132373977271092238379238573530654710831598837290386461188784664646484151516257542171944562124155656819831996892613021916372713979641796974316204528235677099929469140030353565897692857189841474273574513774419616698905277266200841137977493747001743010727817020286381706145176380709383076174696396675099714018096473985989259189045428256781364228779524154305708064060731653408504484893420169586300374197695058290638180516443213324791054280446930353097222218107016694282144263689404916048548737264115635843489371799342325753526002679072716935964164030663145621790471478632262142001731004122042337527800239704949941774963430925501963524800181484955578659176269825915112630693937171765156363238476957606023742659835587471063520772922152807 9567766085367482156837968727833334491721868917342174262998602072545762943667161527025391650407344167638897167864616716524956488157738783923221027562588894270227311197303361155543443764819552980972659783137066716113734420329538627181836891434004820883021130641127968092300844182238117616213201955919148040386196196958462847193676863472828294324992686590571825194637865653869018308215458718429708501433216525625844708445494718526808727774864112503088844960605758750807686040478227112501035333134303905602754160578985859828070472356301463168887750993654256736811380047768552421637231212371744902136567160854854826685007017119770019701318309856722236310426075750606455016492077774356288123435404588305154291104375031767375243836030037332747555504070537910907379251513377675771056611827617048468915422757494708779141059270348076828155256160454371954405315531206155027445863340729706530627401073326125793627138352781996013197731528783192644592768679204398744294662671365164634881880266311172589625805022936485964306655969800998469252416169434851684417355747355776168433302897363127805577735456770602683211632664794205104534730509669649366213451695003221704418967176745083491898119593785821075082842370757839951280882267903758698384346631519615216143120383745009850089237162372875989857683908310734311677874897997993709179103138656463144949701802070279181163182654514383643878513769115087808602023874234159959301533901496767338050176979717434852403946608283669992592089470190628814869136757040111892649684823107012287473778562771462435275007187002035571601358159340619848155867559330463452293594394163642520006297511603127585812701408943601259259817829773843046307403571475956217491926856654629647669145451876758658588250402602915533541654559737078883418239573702858108968880960571803015744838468712632265743627268864438992577926552855577498752030518830497673664076914997537702951393786781677565683488171 15480970722533114095991022042016424410026968932543537447348351539983639347682183260509907087221205314899320916670101997348490331150149825997395084051259761539249686584330605773432529957623447556185387659432775151383689236201914872400153745864834660340468907550523182323131498878480725105413798572669795395074202741495453886072776782759676303975565227838578115168264864347818880468494922654271686239744970814369317476623309652543022411017204333568497547763613071898433673972332134123420425077963237458221329671227045920629804675153407439672135928123138868278581973621271593933468491914696556620566985905329410455164181892434117987622951153453041679709751441624500883861692210483640890844974905234463259583975560990322085432498916310567838104779150225730449587451222501845685554379273044493170314822721024985179384014115007398923947489336729045923756032094303559434109372469457304573599166143193448944114516935625543825972395961516334843694582602226586341645395347062576069392842452478697096498977196475156828612518736995878010213414830626717867631461892748182068374697914729734898835546882939710345024749254125682899728917561562053055468236197750142976009933715807895624272096864878059454321415901412550782879719558290219887169011278003766732400662555689571974244893982204872882470705824683448291319671872314198237414780238585932284980055367967972038353024128787958157652933385813993085868224715372137453048535644507495155070463361423580028784655991359844688988764569904646911343122746299300938077941604471241066997932868479526496006660595506520465021527745640994045850925849968643968736807718954696800453227864700349803919718103225745522949222745822391783571519207319445589291269182408155650348218168812722822618913548224706005020286821879080614422361616040385909208585910513577979175763970676157065925112224443098168847752467968208192689202283986860912141034521021280362786981257845198338605640978 25048736807900596252828990769849758901748837849885711710346953612529402291349344787535298737628549482538218084534718713873446819307888609920616111613848655809476997781633966928975973722443000537158047442569841867497423656531453499581990637298839481223490038191651150415432343060718842721627000528588943435460398938453916733266453646232504598300557914429149940362902730001687898776710381372701394741178187339995162185068804371069831138792068446071586392724218830649241360012810361235921460411097541363824083831806031780457875147509708902841023679116793125015393353669040146355105723127068301522703553066184265281849188909553888007324269463309763916020177517375107338878184288257997178968410309822768413875079936022089460676334946347900585660283220763641356966702735879521456610991100661541639230245478519693958525073385355475752102745497183417878161347625509714461555235810187011104226567216519574737741655288407539839170127490299527488287351281430985085940058018427740704274722718789869686124782219411642792919174706796876479465831000061569552048817640103958236808000812092862704413282339710313028236381918919888004263648071231702421681687892753364680428900892552979116170216458663880529404258272170390734160601826193978585553357909523381948543782939434581824334131144577748872328389732994182602997546770312191946593883377242395429929757170038251219516206783302341801531447154929080894470248589606297412350069546004262493120640341141014881188602599643514681580854040095275726212259503339412830727626427578253354471711431250988931281667782508556036622885904981613894006793409299107421030402113118339320459525376303477389732419512169346782209040575596234829878922778795401806783196039062785298017363620689481481207163950827621538561941381616159497840601189743244018177466871085380994920602439388789331668739493307537161425679020823785691441232802817358585805111436018818065738375044626875904289129149 40529707530433710348820012811866183311775806782429249157695305152513041639031528048045205824849754797437539001204820711221937150458038435918011195665108417348726684365964572702408503680066448093343435102002617018881112892733368371982144383163674141563958945742174332738563841939199567827040799101258738830534601679949370619339230428992180902276123142267728055531167594349506779245205304026973080980923158154364479661692114023612853549809272779640083940487831902547675033985142495359341885489060778822045413503033077701087679822663116342513159607239931993293975327290311740288574215041764858143270538971513675737013370801988005994947220616762805595729928958999608222739876498741638069813385215057231673459055497012411546108833862658468423765062370989371806554153958381367142165370373706034809545068199544679137909087500362874676050234833912463801917379719813273895664608279644315677825733359713023681856172224033083665142523451815862331981933883657571427585453365490316773667565171268566782623759415886799621531693443792754489679245830688287419680279532852140305182698726822597603248829222650023373261131173045570903992565632793755477149924090503507656438834608360874740442313323541939983725674173582941517040321384484198472722369187527148680944445495124153798579025126782621754799095557677630894317218642626390184008663615828327714909812538006223257869230912090299959184380540743073980338473304978434865398605190511757648191103702564594909973258591003359370569618609999922637555382249638713768805568032049494421469644299730515427288328378015076501644413650622607939857719259267751389767209832073036120912753241003827193652137615395092305158263321418626613450441986114847396074465221470940948365581789502204303826077499052327543582228203495240112262962805783629927386052781598958974096366410064946397593851717750635330273431488791993884130435086804219497946145957040098428525356302472074242894770127 65578444338334306601649003581715942213524644632314960868042258765042443930380872835580504562478304279975757085739539425095383969765927045838627307278957073158203682147598539631384477402509448630501482544572458886378536549264821871564135020462513622787448983933825483153996184999918410548667799629847682265995000618403287352605684075224685500576681056696877995894070324351194678021915685399674475722101345494359641846760918394682684688601341225711670333212050733196916393997952856595263345900158320185869497334839109481545554970172825245354183286356725118309368680959351886643679938168833159665974092037697941018862559711541894002271490080072569511750106476374715561618060786999635248781795524880000087334135433034501006785168809006369009425345591753013163520856694260888598776361474367576448775313678064373096434160885718350428152980331095881680078727345322988357219844089831326782052300576232598419597827512440623504312650942115389820269285165088556513525511383918057477942287890058436468748541635298442414450868150589630969145076830749856971729097172956098541990699538915460307662111562360336401497513091965458908256213704025457898831611983256872336867735500913853856612529782205820513129932445753332251200923210678177058275727097050530629488228434558735622913156271360370627127485290671813497314765412938582130602546993070723144839569708044474477385437695392641760715827695672154874808721894584732277748674736516020141311744043705609791161861190646874052150472650095198363767641752978126599533194459627747775941355730981504358569996160523632538267299555604221833864512668566858810797611945191375441372278617307304583384557127564439087367303897014861443329364764910249202857661260533726246382945410191685785033241449879949082144169585111399610103563995526873945563519652684339969016968849453735729262591211058172491699110509615779575571667889621578083751257393058916494263731347098950147183899276 106108151868768016950469016393582125525300451414744210025737563917555485569412400883625710387328059077413296086944360136317321120223965481756638502944065490506930366513563112333792981082575896723844917646575075905259649441998190243546279403626187764351407929675999815892560026939117978375708598731106421096529602298352657971944914504216866402852804198964606051425237918700701457267120989426647556703024503648724121508453032418295538238410614005351754273699882635744591427983095351954605231389219099007914910837872187182633234792835941587867342893596657111603344008249663626932254153210598017809244631009211616755875930513529899997218710696835375107480035435374323784357937285741273318595180739937231760793190930046912552894002671664837433190407962742384970075010652642255740941731848073611258320381877609052234343248386081225104203215165008345481996107065136262252884452369475642459878033935945622101453999736473707169455174393931252152251219048746127941110964749408374251609853061327003251372301051185242035982561594382385458824322661438144391409376705808238847173398265738057910910940785010359774758644265011029812248779336819213375981536073760379993306570109274728597054843105747760496855606619336273768241244595162375530998096284577679310432673929682889421492181398142992381926580848349444391631984055564972314611210608899050859749382246050697735254668607482941719900208236415228855147195199563167143147279927027777789502847746270204701135119781650233422720091260095121001323024002616840368338762491677242197411000030712019785858324538538709039911713206226829773722231927834610200564821777264411562285031858311131777036694742959531392525567218433488056779806751025096598932126482004667194748527199693890088859318948932276625726397788606639722366526801310503872949572434283298943113335259518682126856442928808807821972541998407773459702102976425797581697403350099014922789087649571024390078669403 171686596207102323552118019975298067738825096047059170893779822682597929499793273719206214949806363357389053172683899561412705089989892527595265810223022563665134048661161651965177458485085345354346400191147534791638185991263012115110414424088701387138856913609825299046556211939036388924376398360954103362524602916755945324550598579441551903429485255661484047319308243051896135289036674826322032425125849143083763355213950812978222927011955231063424606911933368941507821981048208549868577289377419193784408172711296664178789763008766833221526179953382229912712689209015513575934091379431177475218723046909557774738490225071793999490200776907944619230141911749039345975998072740908567376976264817231848127326363081413559679171480671206442615753554495398133595867346903144339718093322441187707095695555673425330777409271799575532356195496104227162074834410459250610104296459306969241930334512178220521051827248914330673767825336046641972520504213834684454636476133326431729552140951385439720120842686483684450433429744972016427969399492188001363138473878764337389164097804653518218573052347370696176256157356976488720504993040844671274813148057017252330174305610188582453667372887953581009985539065089606019442167805840552589273823381628209939920902364241625044405337669503363009054066139021257888946749468503554445213757601969774004588951954095172212640106302875583480616035932087383729955917094147899420895954663543797930814591789975814492296980972297107474870563910190319365090665755594966967871956951304989973352355761693524144428320699062341578179012761831051607586744596401469011362433722455787003657310475618436360421251870523970479892871115448349500109171515935345801789787742538393441131472609885575873892560398812225707870567373718039332470090796837377818513092086967638912130304108972417856119034139866980313671652508023553035273770866047375665448660743157931417052818996669974537262568679 277794748075870340502587036368880193264125547461803380919517386600153415069205674602831925337134422434802349259628259697730026210213858009351904313167088054172064415174724764298970439567661242078191317837722610696897835433261202358656693827714889151490264843285825114939116238878154367300084997092060524459054205215108603296495513083658418306282289454626090098744546161752597592556157664252969589128150352791807884863666983231273761165422569236415178880611816004686099249964143560504473808678596518201699319010583483846812024555844708421088869073550039341516056697458679140508188244590029195284463354056121174530614420738601693996708911473743319726710177347123363130333935358482181885972157004754463608920517293128326112573174152336043875806161517237783103670877999545400080659825170514798965416077433282477565120657657880800636559410661112572644070941475595512862988748828782611701808368448123842622505826985388037843222999729977894124771723262580812395747440882734805981161994012712442971493143737668926486415991339354401886793722153626145754547850584572576236337496070391576129483993132381055951014801621987518532753772377663884650794684130777632323480875719463311050722215993701341506841145684425879787683412401002928120271919666205889250353576293924514465897519067646355390980646987370702280578733524068526759824968210868824864338334200145869947894774910358525200516244168502612585103112293711066564043234590571575720317439536246019193432100753947340897590655170285440366413689758211807336210719442982232170763355792405543930286645237601050618090725968057881381308976524236079211927255499720198565942342333929568137457946613483501872418438333881837556888978266960442400721914224543060635879999809579465962751879347744502333596965162324679054836617598147881691462664521250937855243639368491099982975477068675788135644194506431326494975873842473173247146064093256946339841906646240998927341238082 449481344282972664054705056344178261002950643508862551813297209282751344568998948322038140286940785792191402432312159259142731300203750536947170123390110617837198463835886416264147898052746587432537718028870145488536021424524214473767108251803590538629121756895650413985672450817190756224461395453014627821578808131864548621046111663099970209711774710287574146063854404804493727845194339079291621553276201934891648218880934044251984092434524467478603487523749373627607071945191769054342385967973937395483727183294780510990814318853475254310395253503421571428769386667694654084122335969460372759682077103030732305352910963673487996199112250651264345940319258872402476309933431223090453349133269571695457047843656209739672252345633007250318421915071733181237266745346448544420377918492955986672511772988955902895898066929680376168915606157216799806145775886054763473093045288089580943738702960302063143557654234302368516990825066024536097292227476415496850383917016061237710714134964097882691613986424152610936849421084326418314763121645814147117686324463336913625501593875045094348057045479751752127270958978964007253258765418508555925607832187794884653655181329651893504389588881654922516826684749515485807125580206843480709545743047834099190274478658166139510302856737149718400034713126391960169525482992572081205038725812838598868927286154241042160534881213234108681132280100589996315059029387858965984939189254115373651132031326221833685729081726244448372461219080475759731504355513806774304082676394287222144115711554099068074714965936663392196269738729888932988895721120637548223289689222175985569599652809548004497879198484007472352311309449330187056998149782895788202511701967081454077011472419465041836644439746556728041467532536042718387306708394985259509975756608218576767373943477463517839094511208542768449315847014454879530249644708520548912594724836414877756894725642910973464603806761 727276092358843004557292092713058454267076190970665932732814595882904759638204622924870065624075208226993751691940418956872757510417608546299074436557198672009262879010611180563118337620407829510729035866592756185433856857785416832423802079518479690119386600181475528924788689695345123524546392545075152280633013346973151917541624746758388515994064164913664244808400566557091320401352003332261210681426554726699533082547917275525745257857093703893782368135565378313706321909335329558816194646570455597183046193878264357802838874698183675399264327053460912944826084126373794592310580559489568044145431159151906835967331702275181992908023724394584072650496605995765606643868789705272339321290274326159065968360949338065784825519785343294194228076588970964340937623345993944501037743663470785637927850422238380461018724587561176805475016818329372450216717361650276336081794116872192645547071408425905766063481219690406360213824796002430222063950738996309246131357898796043691876128976810325663107130161821537423265412423680820201556843799440292872234175047909489861839089945436670477541038612132808078285760600951525786012537796172440576402516318572516977136057049115204555111804875356264023667830433941365594808992607846408829817662714039988440628054952090653976200375804796073791015360113762662450104216516640607964863694023707423733265620354386912108429656123592633881648524269092608900162141681570032548982423844686949371449470862467852879161182480191789270051874250761200097918045272018581640293395837269454314879067346504612005001611174264442814360464697946814370204697644873627435216944721896184135541995143477572635337145097490974224729747783212024613887128049856230603233616191624514712891472229044507799396319094301230375064497698367397442143325993133141201438421129469514622617582845954617822069988277218556584960041520886206025225518550993722159740788929671824096736632289151972391945044843 1176757436641815668611997149057236715270026834479528484546111805165656104207203571246908205911015994019185154124252578216015488810621359083246244559947309289846461342846497596827266235673154416943266753895462901673969878282309631306190910331322070228748508357077125942910461140512535879749007787998089780102211821478837700538587736409858358725705838875201238390872254971361585048246546342411552832234702756661591181301428851319777729350291618171372385855659314751941313393854527098613158580614544392992666773377173044868793653193551658929709659580556882484373595470794068448676432916528949940803827508262182639141320242665948669989107135975045848418590815864868168082953802220928362792670423543897854523016204605547805457077865418350544512649991660704145578204368692442488921415662156426772310439623411194283356916791517241552974390622975546172256362493247705039809174839404961773589285774368727968909621135453992774877204649862026966319356178215411806096515274914857281402590263940908208354721116585974148360114833508007238516319965445254439989920499511246403487340683820481764825598084091884560205556719579915533039271303214680996502010348506367401630791238378767098059501393757011186540494515183456851401934572814689889539363405761874087630902533610256793486503232541945792191050073240154622619629699509212689169902419836546022602192906508627954268964537336826742562780804369682605215221171069428998533921613098802323022581502188689686564890264206436237642513093331236959829422400785825355944376072231556676458994778900603680079716577110927835010630203427835747359100418765511175658506633944072169705141647953025577133216343581498446577041057232542211670885277832752018805745318158705968789902944648509549636040758840857958416532030234410115829450034388118400711414177737688091389991526323418135661164499485761325034275888535341085555475163259514271072335513766086701853631357932062945856548851604 1904033529000658673169289241770295169537103025450194417278926401048560863845408194171778271535091202246178905816192997172888246321038967629545318996504507961855724221857108777390384573293562246453995789762055657859403735140095048138614712410840549918867894957258601471835249830207881003273554180543164932382844834825810852456129361156616747241699903040114902635680655537918676368647898345743814042916129311388290714383976768595303474608148711875266168223794880130255019715763862428171974775261114848589849819571051309226596492068249842605108923907610343397318421554920442243268743497088439508847972939421334545977287574368223851982015159699440432491241312470863933689597671010633635131991713818224013588984565554885871241903385203693838706878068249675109919141992038436433422453405819897557948367473833432663817935516104802729779865639793875544706579210609355316145256633521833966234832845777153874675684616673683181237418474658029396541420128954408115342646632813653325094466392917718534017828246747795685783380245931688058717876809244694732862154674559155893349179773765918435303139122704017368283842480180867058825283841010853437078412864824939918607927295427882302614613198632367450564162345617398216996743565422536298369181068475914076071530588562347447462703608346741865982065433353917285069733916025853297134766113860253446335458526863014866377394193460419376444429328638775214115383312750999031082904036943489272394030973051157539444051446686628026912564967581998159927340446057843937584669468068826130773873846247108292084718188285192277824990668125782561729305116410384803093723578665968353840683643096503149768553488678989420801770805015754236284772405882608249408978934350330483502794416877554057435437077935159188791596527932777513271593360381251541912852598867157606012609109169372753483234487762979881619235930056227291580700681810507993232076302695758525950367990221214918248493896447 3080790965642474341781286390827531884807129859929722901825038206214216968052611765418686477446107196265364059940445575388903735131660326712791563556451817251702185564703606374217650808966716663397262543657518559533373613422404679444805622742162620147616403314335727414745710970720416883022561968541254712485056656304648552994717097566475105967405741915316141026552910509280261416894444688155366875150832068049881895685405619915081203958440330046638554079454194882196333109618389526785133355875659241582516592948224354095390145261801501534818583488167225881692017025714510691945176413617389449651800447683517185118607817034172521971122295674486280909832128335732101772551473231561997924662137362121868112000770160433676698981250622044383219528059910379255497346360730878922343869067976324330258807097244626947174852307622044282754256262769421716962941703857060355954431472926795739824118620145881843585305752127675956114623124520056362860776307169819921439161907728510606497056656858626742372549363333769834143495079439695297234196774689949172852075174070402296836520457586400200128737206795901928489399199760782591864555144225534433580423213331307320238718533806649400674114592389378637104656860800855068398678138237226187908544474237788163702433122172604240949206840888687658173115506594071907689363615535065986304668533696799468937651433371642820646358730797246119007210133008457819330604483820428029616825650042291595416612475239847226008941710893064264555078060913235119756762846843669293529045540300382807232868625147711972164434765396120112835620871553618309088405535175895978752230212610040523545825291049528726901769832260487867378811862248296447955657683715360268214724252509036452292697361526063607071477836776017147208128558167187629101043394769369942624266776604845697402600635492790889144398987248741206653511818591568377136175845070022264304411816461845227803999348153277864105042748051 4984824494643133014950575632597827054344232885379917319103964607262777831898019959590464748981198398511542965756638572561791981452699294342336882552956325213557909786560715151608035382260278909851258333419574217392777348562499727583420335153003170066484298271594328886580960800928297886296116149084419644867901491130459405450846458723091853209105644955431043662233566047198937785542343033899180918066961379438172610069382388510384678566589041921904722303249075012451352825382251954957108131136774090172366412519275663321986637330051344139927507395777569279010438580634952935213919910705828958499773387104851731095895391402396373953137455373926713401073440806596035462149144242195633056653851180345881700985335715319547940884635825738221926406128160054365416488352769315355766322473796221888207174571078059610992787823726847012534121902563297261669520914466415672099688106448629706058951465923035718260990368801359137352041599178085759402196436124228036781808540542163931591523049776345276390377610081565519926875325371383355952073583934643905714229848629558190185700231352318635431876329499919296773241679941649650689838985236387870658836078156247238846645829234531703288727791021746087668819206418253285395421703659762486277725542713702239773963710734951688411910449235429524155180939947989192759097531560919283439434647557052915273109960234657687023752924257665495451639461647233033445987796571427060699729686985780867810643448291004765452993157579692291467643028495233279684103292901513231113715008369208938006742471394820264249152953681312390660611539679400870817710651586280781845953791276008877386508934146031876670323320939477288180582667264050684240430089597968517623703186859366935795491778403617664506914914711176335999725086099965142372636755150621484537119375472003303415209744662163642627633475011721088272747748647795668716876526880530257536488119157603753754367338374492782353536644498 8065615460285607356731862023425358939151362745309640220929002813476994799950631725009151226427305594776907025697084147950695716584359621055128446109408142465260095351264321525825686191226995573248520877077092776926150961984904407028225957895165790214100701585930056301326671771648714769318678117625674357352958147435107958445563556289566959176511386870747184688786476556479199202436787722054547793217793447488054505754788008425465882525029371968543276382703269894647685935000641481742241487012433331754883005467500017417376782591852845674746090883944795160702455606349463627159096324323218408151573834788368916214503208436568895924259751048412994310905569142328137234700617473757630981315988542467749812986105875753224639865886447782605145934188070433620913834713500194278110191541772546218465981668322686558167640131348891295288378165332718978632462618323476028054119579375425445883070086068917561846296120929035093466664723698142122262972743294047958220970448270674538088579706634972018762926973415335354070370404811078653186270358624593078566305022699960487022220688938718835560613536295821225262640879702432242554394129461922304239259291487554559085364363041181103962842383411124724773476067219108353794099841896988674186270016951490403476396832907555929361117290124117182328296446542061100448461147095985269744103181253852384210761393606300507670111655054911614458849594655690852776592280391855090316555337028072463227255923530851991461934868472756556022721089408468399440866139745182524642760548669591745239611096542532236413587719077432503496232411233019179906116186762176760598184003886049400932334225195560603572093153199965155559394529512347132196087773313328785838427439368403388088189139929681271578392751487193483207853644267152771473680149919991427161386152076849000817810380154954531772032462260462294926259567239364045853052371950552521840899935619448981558366686527770646458579392549 13050439954928740371682437656023185993495595630689557540032967420739772631848651684599615975408503993288449991453722720512487698037058915397465328662364467678818005137825036677433721573487274483099779210496666994318928310547404134611646293048168960280584999857524385187907632572577012655614794266710094002220859638565567363896410015012658812385617031826178228351020042603678136987979130755953728711284754826926227115824170396935850561091618413890447998685952344907099038760382893436699349618149207421927249417986775680739363419921904189814673598279722364439712894186984416562373016235029047366651347221893220647310398599838965269877397206422339707711979009948924172696849761715953264037969839722813631513971441591072772580750522273520827072340316230487986330323066269509633876514015568768106673156239400746169160427955075738307822500067896016240301983532789891700153807685824055151942021551991953280107286489730394230818706322876227881665169179418275995002778988812838469680102756411317295153304583496900873997245730182462009138343942559236984280534871329518677207920920291037470992489865795740522035882559644081893244233114698310174898095369643801797932010192275712807251570174432870812442295273637361639189521545556751160463995559665192643250360543642507617773027739359546706483477386490050293207558678656904553183537828810905299483871353840958194693864579312577109910489056302923886222580076963282151016285024013853331037899371821856756914928026052448847490364117903701679124969432646695755756475557038800683246353567937352500662740672758744894156843950912420050723826838348457542444137795162058278318843159341592480242416474139442443739977196776397816436517862911297303462130626227770323883680918333298936085307666198369819207578730367117913846316905070612911698505527548852304233020124817118174399665937272183383199007315887159714569928898831082779377388054777052735312734024902263428812116037047 21116055415214347728414299679448544932646958375999197760961970234216767431799283409608767201835809588065357017150806868463183414621418536452593774771772610144078100489089358203259407764714270056348300087573759771245079272532308541639872250943334750494685701443454441489234304344225727424933472384335768359573817786000675322341973571302225771562128418696925413039806519160157336190415918478008276504502548274414281621578958405361316443616647785858991275068655614801746724695383534918441591105161640753682132423454275698156740202513757035489419689163667159600415349793333880189532112559352265774802921056681589563524901808275534165801656957470752702022884579091252309931550379189710895019285828265281381326957547466825997220616408721303432218274504300921607244157779769703911986705557341314325139137907723432727328068086424629603110878233228735218934446151113367728207927265199480597825091638060870841953582610659429324285371046574370003928141922712323953223749437083513007768682463046289313916231556912236228067616134993540662324614301183830062846839894029479164230141609229756306553103402091561747298523439346514135798627244160232479137354661131356357017374555316893911214412557843995537215771340856469992983621387453739834650265576616683046726757376550063547134145029483663888811773833032111393656019825752889822927641010064757683694632747447258702363976234367488724369338650958614738999172357355137241332840361041925794265155295352708748376862894525205403513085207312170078565835572391878280399236105708392428485964664479884737076328391836177397653076362145439230629943025110634303042321799048107679251177384537153083814509627339407599299371726288744948632605636224626089300558065596173711971870058262980207663700417685563302415432374634270685319997054990604338859891679625701305050830504972072706171698399532645678125266883126523760422981270781635301218287990396501716871100711430034075270695429596 34166495370143088100096737335471730926142554006688755300994937654956540063647935094208383177244313581353807008604529588975671112658477451850059103434137077822896105626914394880693129338201544539448079298070426765564007583079712676251518543991503710775270701300978826677141936916802740080548266651045862361794677424566242686238383586314884583947745450523103641390826561763835473178395049233962005215787303101340508737403128802297167004708266199749439273754607959708845763455766428355140940723310848175609381841441051378896103622435661225304093287443389524040128243980318296751905128794381313141454268278574810210835300408114499435679054163893092409734863589040176482628400140905664159057255667988095012840928989057898769801366930994824259290614820531409593574480846039213545863219572910082431812294147124178896488496041500367910933378301124751459236429683903259428361734951023535749767113190052824122060869100389823555104077369450597885593311102130599948226528425896351477448785219457606609069536140409137102064861865176002671462958243743067047127374765358997841438062529520793777545593267887302269334405998990596029042860358858542654035450030775158154949384747592606718465982732276866349658066614493831632173142933010490995114261136281875689977117920192571164907172768843210595295251219522161686863578504409794376111178838875662983178504101288216897057840813680065834279827707261538625221752434318419392349125385055779125303054667174565505291790920577654251003449325215871757690805005038574036155711662747193111732318232417237237739069064594922291809920313057859281353769863459091845486459594210165957570020543878745564056926101478850043039348923065142765069123499135923392762688691823944035855550976596279143749008083883933121623011105001388599166313960061217250558397207174553609283850629789190880571364336804829061324274199013683474992910169612718080595676045173554452183834736332297504082811466643 55282550785357435828511037014920275858789512382687953061956907889173307495447218503817150379080123169419164025755336457438854527279895988302652878205909687966974206116003753083952537102915814595796379385644186536809086855612021217891390794934838461269956402744433268166376241261028467505481739035381630721368495210566918008580357157617110355509873869220029054430633080923992809368810967711970281720289851375754790358982087207658483448324913985608430548823263574510592488151149963273582531828472488929291514264895327077052843824949418260793512976607056683640543593773652176941437241353733578916257189335256399774360202216390033601480711121363845111757748168131428792559950520095375054076541496253376394167886536524724767021983339716127691508889324832331200818638625808917457849925130251396756951432054847611623816564127924997514044256534353486678170875835016627156569662216223016347592204828113694964014451711049252879389448416024967889521453024842923901450277862979864485217467682503895922985767697321373330132478000169543333787572544926897109974214659388477005668204138750550084098696669978864016632929438337110164841487603018775133172804691906514511966759302909500629680395290120861886873837955350301625156764320464230829764526712898558736703875296742634712041317798326874484107025052554273080519598330162684199038819848940420666873136848735475599421817048047554558649166358220153364220924791673556633681965746097704919568209962527274253668653815102859654516534532528041836256640577430452316554947768455585540218282896897121974815397456431099689462996675203298511983712888569726148528781393258273636821197928415898647871435728818257642338720649353887713701729135360549482063246757420117747827421034859259351412708501569496424038443479635659284486311015051821589418288886800254914334681134761263586743062736337474739449541082140207235415891440394353381813964035570056169054935447762331579353506896239 89449046155500523928607774350392006784932066389376708362951845544129847559095153598025533556324436750772971034359866046414525639938373440152711981640046765789870311742918147964645666441117359135244458683714613302373094438691733894142909338926342172045227104045412094843518178177831207586030005686427493083163172635133160694818740743931994939457619319743132695821459642687828282547206016945932286936077154477095299096385216009955650453033180185357869822577871534219438251606916391628723472551783337104900896106336378455948947447385079486097606264050446207680671837753970473693342370148114892057711457613831209985195502624504533037159765285256937521492611757171605275188350661001039213133797164241471407008815525582623536823350270710951950799504145363740794393119471848131003713144703161479188763726201971790520305060169425365424977634835478238137407305518919886584931397167246552097359318018166519086075320811439076434493525785475565775114764126973523849676806288876215962666252901961502532055303837730510432197339865345546005250530788669964157101589424747474847106266668271343861644289937866166285967335437327706193884347961877317787208254722681672666916144050502107348146378022397728236531904569844133257329907253474721824878787849180434426680993216935205876948490567170085079402276272076434767383176834572478575149998687816083650051640950023692496479657861727620392928994065481691989442677225991976026031091131153484044871264629701839758960444735680513905519983857743913593947445582469026352710659431202778651950601129314359212554466521026021981272916988261157793337482752028817994015240987468439594391218472294644211928361830297107685378069572419030478770852634496472874825935449244061783682972011455538495161716585453429545661454584637047883652624975113038839976686093974808523618531764550454467314427073142303800773815281153890710408801610007071462409640080743610621238770184094629083436318362882 144731596940857959757118811365312282643721578772064661424908753433303155054542372101842683935404559920192135060115202503853380167218269428455364859845956453756844517858921901048598203544033173731040838069358799839182181294303755112034300133861180633315183506789845363009894419438859675091511744721809123804531667845700078703399097901549105294967493188963161750252092723611821091916016984657902568656367005852850089455367303217614133901358094170966300371401135108730030739758066354902306004380255826034192410371231705533001791272334497746891119240657502891321215431527622650634779611501848470973968646949087609759555704840894566638640476406620782633250359925303034067748301181096414267210338660494847801176702062107348303845333610427079642308393470196071995211758097657048461563069833412875945715158256819402144121624297350362939021891369831724815578181353936513741501059383469568444951522846280214050089772522488329313882974201500533664636217151816447751127084151856080447883720584465398455041071535051883762329817865515089339038103333596861267075804084135951852774470807021893945742986607845030302600264875664816358725835564896092920381059414588187178882903353411607977826773312518590123405742525194434882486671573938952654643314562078993163384868513677840588989808365496959563509301324630707847902775164735162774188818536756504316924777798759168095901474909775174951578160423701845353663602017665532659713056877251188964439474592229114012629098550783373560036518390271955430204086159899478669265607199658364192168884026211481187369863977457121670735913663464456305321195640598544142544022380726713231212416400710542859799797559115365327716790221772918192472581769857022356889182206664179531510393046314797846574425087022925969699898064272707168138935990164860429394974980775063437953212899311718054057489809479778540223356363294097945824693050401424844223604116313666790293705631856960662789825259121 234180643096358483685726585715704289428653645161441369787860598977433002613637525699868217491728996670965106094475068550267905807156642868608076841486003219546714829601840049013243869985150532866285296753073413141555275732995489006177209472787522805360410610835257457853412597616690882677541750408236616887694840480833239398217838645481100234425112508706294446073552366299649374463223001603834855592444160329945388551752519227569784354391274356324170193979006642949468991364982746531029476932039163139093306477568083988950738719719577232988725504707949099001887269281593124328121981649963363031680104562918819744751207465399099675800241691877720154742971682474639342936651842097453480344135824736319208185517587689971840668683881138031593107897615559812789604877569505179465276214536574355134478884458791192664426684466775728363999526205309962952985486872856400326432456550716120542310840864446733136165093333927405748376499986976099439750981278789971600803890440732296410549973486426900987096375372782394194527157730860635344288634122266825424177393508883426699880737475293237807387276545711196588567600312992522552610183526773410707589314137269859845799047403913715325973151334916318359937647095038568139816578827413674479522102411259427590065861730613046465938298932667044642911577596707142615285951999307641349338817224572587966976418748782860592381132771502795344507154489183537343106279243657508685744148008404673009310739221930953771589543286463887465556502248015869024151531742368505021976266630861142844119485155525840399924330498483143652008830651725614098658678392627362136559263368195152825603634873005187071728159389412473013094859794191948671243434404353495231715117655908241315193365057770336341736141672476355515361352648909755051791560965277899269371661074749871961571744663862172521371916882622082340997171644447988656233494660408496306633244197057277411532475815951589746226143622003 378912240037216443442845397081016572072375223933506031212769352410736157668179897801710901427133556591157241154590271054121285974374912297063441701331959673303559347460761950061842073529183706597326134822432212980737457027299244118211509606648703438675594117625102820863307017055550557769053495130045740692226508326533318101616936547030205529392605697669456196325645089911470466379239986261737424248811166182795478007119822445183918255749368527290470565380141751679499731123049101433335481312294989173285716848799789521952529992054074979879844745365451990323102700809215774962901593151811834005648751512006429504306912306293666314440718098498502787993331607777673410684953023193867747554474485231167009362219649797320144514017491565111235416291085755884784816635667162227926839284369987231080194042715610594808548308764126091303021417575141687768563668226792914067933515934185688987262363710726947186254865856415735062259474188476633104387198430606419351930974592588376858433694070892299442137446907834277956856975596375724683326737455863686691253197593019378552655208282315131753130263153556226891167865188657338911336019091669503627970373551858047024681950757325323303799924647434908483343389620233003022303250401352627134165416973338420753450730244290887054928107298164004206420878921337850463188727164042804123527635761329092283901196547542028688282607681277970296085314912885382696769881261323041345457204885655861973750213814160067784218641837247261025593020638287824454355617902267983691241873830519507036288369181737321587294194475940265322744744315190070403979874033225906279103285748921866056816051273715729931527956948527838340811650015964866863716016174210517588604299862572420846703758104085134188310566759499281485061250713182462219930496955442759698766636055524935399524957563173890575429406692101860881220528007742086602058187710809921150856848313370944201826181447808550409015968881124 613092883133574927128571982796720861501028869094947401000629951388169160281817423501579118918862553262122347249065339604389191781531555165671518542817962892850274177062601999075085943514334239463611431575505626122292732760294733124388719079436226244036004728460360278716719614672241440446595245538282357579921348807366557499834775192511305763817718206375750642399197456211119840842462987865572279841255326512740866558872341672753702610140642883614640759359148394628968722488031847964364958244334152312379023326367873510903268711773652212868570250073401089324989970090808899291023574801775197037328856074925249249058119771692765990240959790376222942736303290252312753621604865291321227898610309967486217547737237487291985182701372703142828524188701315697574421513236667407392115498906561586214672927174401787472974993230901819667020943780451650721549155099649314394365972484901809529573204575173680322419959190343140810635974175452732544138179709396390952734865033320673268983667557319200429233822280616672151384133327236360027615371578130512115430591101902805252535945757608369560517539699267423479735465501649861463946202618442914335559687689127906870480998161239038629773075982351226843281036715271571162119829228766301613687519384597848343516591974903933520866406230831048849332456518044993078474679163350445472866452985901680250877615296324889280663740452780765640592469402068920039876160504980550031201352894060534983060953036091021555808185123711148491149522886303693478507149644636488713218140461380649880407854337263161987218524974423408974753574966915684502638552425853268415662549117117018882419686146720917003256116337940311353906509810156815534959450578564012820319417518480662161897123161855470530046708431975637000422603362092217271722057920720658968138297130274807361096702227036063096801323574723943222217699652190075258291682371218417457490092510428221613358657263760140155242112503127 992005123170791370571417379877737433573404093028453432213399303798905317949997321303290020345996109853279588403655610658510477755906467462734960244149922566153833524523363949136928017043517946060937566397937839103030189787593977242600228686084929682711598846085463099580026631727791998215648740668328098272147857133899875601451711739541511293210323904045206838724842546122590307221702974127309704090066492695536344565992164117937620865890011410905111324739290146308468453611080949397700439556629141485664740175167663032855798703827727192748414995438853079648092670900024674253925167953587031042977607586931678753365032077986432304681677888874725730729634898029986164306557888485188975453084795198653226909956887284612129696718864268254063940479787071582359238148903829635318954783276548817294866969890012382281523301995027910970042361355593338490112823326442228462299488419087498516835568285900627508674825046758875872895448363929365648525378140002810304665839625909050127417361628211499871371269188450950108241108923612084710942109033994198806683788694922183805191154039923501313647802852823650370903330690307200375282221710112417963530061240985953895162948918564361933573000629786135326624426335504574184423079630118928747852936357936269096967322219194820575794513528995053055753335439382843541663406327393249596394088747230772534778811843866917968946348134058735936677784314954302736646041766303591376658557779716396956811166850251089340026826960958409516742543524591517932862767546904472404460014291900156916696223519000483574512719450363674297498319282105754906618426459079174694765834866038884939235737420436646934784073286468149694718159826121682398675466752774530408923717381053083008600881265940604718357275191474918485483854075274679491652554876163418666904933185799742760621659790209953672230730266825804103438227659932161860349870082028338608346940823799165815184838711568690564258081384251 1605098006304366297699989362674458295074432962123400833214029255187074478231814744804869139264858663115401935652720950262899669537438022628406478786967885459004107701585965948212013960557852185524548997973443465225322922547888710366988947765521155926747603574545823378296746246400033438662243986206610455852069205941266433101286486932052817057028042110420957481124040002333710148064165961992881983931321819208277211124864505790691323476030654294519752084098438540937437176099112797362065397800963293798043763501535536543759067415601379405616985245512254168973082640990833573544948742755362228080306463661856928002423151849679198294922637679250948673465938188282298917928162753776510203351695105166139444457694124771904114879420236971396892464668488387279933659662140497042711070282183110403509539897064414169754498295225929730637063305136044989211661978426091542856665460903989308046408772861074307831094784237102016683531422539382098192663557849399201257400704659229723396401029185530700300605091469067622259625242250848444738557480612124710922114379796824989057727099797531870874165342552091073850638796191957061839228424328555332299089748930113860765643947079803400563346076612137362169905463050776145346542908858885230361540455742534117440483914194098754096660919759826101905085791957427836620138085490743695069260541733132452785656427140191807249610088586839501577270253717023222776522202271284141407859910673776931939872119886342110895835012084669558007892066410895211411369917191540961117678154753280806797104077856263645561731244424787083272251894249021439409256978884932443110428383983155903821655423567157563938040189624408461048624669636278497933634917331338543229243134899533745170498004427796075248403983623450555485906457437366896763374612796884077635043230316074550121718362017246016769032053841549747325655927312122237118641552453246756065837033334227387428543495975328830719500193887378 2597103129475157668271406742552195728647837055151854265427428558985979796181812066108159159610854772968681524056376560921410147293344490091141439031117808025157941226109329897348941977601370131585486564371381304328353112335482687609589176451606085609459202420631286477876772878127825436877892726874938554124217063075166308702738198671594328350238366014466164319848882548456300455285868936120191688021388311903813555690856669908628944341920665705424863408837728687245905629710193746759765837357592435283708503676703199576614866119429106598365400240951107248621175311890858247798873910708949259123284071248788606755788183927665630599604315568125674404195573086312285082234720642261699178804779900364792671367651012056516244576139101239650956405148275458862292897811044326678030025065459659220804406866954426552036021597220957641607105666491638327701774801752533771318964949323076806563244341146974935339769609283860892556426870903311463841188935989402011562066544285138773523818390813742200171976360657518572367866351174460529449499589646118909728798168491747172862918253837455372187813145404914724221542126882264262214510646038667750262619810171099814660806895998367762496919077241923497496529889386280719530965988489004159109393392100470386537451236413293574672455433288821154960839127396810680161801491818136944665654630480363225320435238984058725218556436720898237513948038031977525513168244037587732784518468453493328896683286736593200235861839045627967524634609935486729344232684738445433522138169045180963713800301375264129136243963875150757569750213531127194315875405344011617805194218849194788760891160987594210872824262910876610743342829462400180332310384084113073638166852280586828179098885693736679966761258814925473971390311512641576255027167673047496301948163501874292882340021807455970441262784108375551429094154972054398978991422535275094674183974158026553243728334686897521283758275271629 4202201135779523965971396105226654023722270017275255098641457814173054274413626810913028298875713436084083459709097511184309816830782512719547917818085693484162048927695295845560955938159222317110035562344824769553676034883371397976578124217127241536206805995177109856173519124527858875540136713081549009976286269016432741804024685603647145407266408124887121800972922550790010603350034898113073671952710131112090766815721175699320267817951319999944615492936167228183342805809306544121831235158555729081752267178238736120373933535030486003982385486463361417594257952881691821343822653464311487203590534910645534758211335777344828894526953247376623077661511274594584000162883396038209382156475005530932115825345136828420359455559338211047848869816763846142226557473184823720741095347642769624313946764018840721790519892446887372244168971627683316913436780178625314175630410227066114609653114008049243170864393520962909239958293442693562033852493838801212819467248944368496920219419999272900472581452126586194627491593425308974188057070258243620650912548288572161920645353634987243061978487957005798072180923074221324053739070367223082561709559101213675426450843078171163060265153854060859666435352437056864877508897347889389470933847843004503977935150607392328769116353048647256865924919354238516781939577308880639734915172213495678106091666124250532468166525307737739091218291749000748289690446308871874192378379127270260836555406622935311131696851130297525532526676346381940755602601929986394639816323798461770510904379231527774697975208299937840842002107780148633725132384228944060915622602832350692582546584554751774810864452535285071791967499098678678265945301415451616867409987180120573349596890121532755215165242438376029457296768950008473018401780469931573936991393817948843004058383824701987210294837949925298754750082284176636097632974988521850740021007492253940672271830662226352003258469159007 6799304265254681634242802847778849752370107072427109364068886373159034070595438877021187458486568209052764983765474072105719964124127002810689356849203501509319990153804625742909897915760592448695522126716206073882029147218854085586167300668733327145666008415808396334050292002655684312418029439956487564100503332091599050506762884275241473757504774139353286120821805099246311058635903834233265359974098443015904322506577845607949212159871985705369478901773895915429248435519500290881597072516148164365460770854941935696988799654459592602347785727414468666215433264772550069142696564173260746326874606159434141513999519705010459494131268815502297481857084360906869082397604038299908560961254905895724787192996148884936604031698439450698805274965039305004519455284229150398771120413102428845118353630973267273826541489667845013851274638119321644615211581931159085494595359550142921172897455155024178510634002804823801796385164346005025875041429828203224381533793229507270444037810813015100644557812784104766995357944599769503637556659904362530379710716780319334783563607472442615249791633361920522293723049956485586268249716405890832824329369272313490087257739076538925557184231095984357162965241823337584408474885836893548580327239943474890515386387020685903441571786337468411826764046751049196943741069127017584400569802693858903426526905108309257686722962028635976605166329780978273802858690346459606976896847580763589733238693359528511367558690175925493057161286281868670099835286668431828161954492843642734224704680606791903834219172175088598411752321311275828041007789572955678720816821681545481343437745542345985683688715446161682535310328561078858598255685499564690505576839460707401528695775815269435181926501253301503428687080462650049273428948142979070238939557319823135886398405632157957651557622058300850183844237256231035076624397523796945414204981650280493916000165349123873287016744430636 11001505401034205600214198953005503776092377089702364462710344187332088345009065687934215757362281645136848443474571583290029780954909515530237274667289194993482039081499921588470853853919814765805557689061030843435705182102225483562745424885860568681872814410985506190223811127183543187958166153038036574076789601108031792310787569878888619164771182264240407921794727650036321661985938732346339031926808574127995089322299021307269479977823305705314094394710063143612591241328806835003428307674703893447213038033180671817362733189490078606330171213877830083809691217654241890486519217637572233530465141070079676272210855482355288388658222062878920559518595635501453082560487434338117943117729911426656903018341285713356963487257777661746654144781803151146746012757413974119512215760745198469432300394992107995617061382114732386095443609747004961528648362109784399670225769777209035782550569163073421681498396325786711036343457788698587908893923667004437201001042173875767364257230812288001117139264910690961622849538025078477825613730162606151030623265068891496704208961107429858311770121318926320365903973030706910321988786773113915386038928373527165513708582154710088617449384950045216829400594260394449285983783184782938051261087786479394493321537628078232210688139386115668692688966105287713725680646435898224135484974907354581532618571232559790154889487336373715696384621529979022092549136655331481169275226708033850569794099982463822499255541306223018589687962628250610855437888598418222801770816642104504735609059838319678532194380475026439253754429091424461766140173801899739636439424513896173925984330097097760494553167981446754327277827659757536864200986915016307372986826640827974878292665936802190397091743691677532885983849412658522291830728612910644175930951137771978890456789456859944861852460008226148938594319540407671174257372512318796154225989142534434588271996011350225290275213589643 17800809666288887234457001800784353528462484162129473826779230560491122415604504564955403215848849854189613427240045655395749745079036518340926631516492696502802029235304547331380751769680407214501079815777236917317734329321079569148912725554593895827538822826793902524274103129839227500376195592994524138177292933199630842817550454154130092922275956403593694042616532749282632720621842566579604391900907017143899411828876866915218692137695291410683573296483959059041839676848307125885025380190852057812673808888122607514351532843949671208677956941292298750025124482426791959629215781810832979857339747229513817786210375187365747882789490878381218041375679996408322164958091472638026504078984817322381690211337434598293567518956217112445459419746842456151265468041643124518283336173847627314550654025965375269443602871782577399946718247866326606143859944040943485164821129327351956955448024318097600192132399130610512832728622134703613783935353495207661582534835403383037808295041625303101761697077694795728618207482624847981463170390066968681410333981849210831487772568579872473561561754680846842659627022987192496590238503179004748210368297645840655600966321231249014174633616046029573992365836083732033694458669021676486631588327729954285008707924648764135652259925723584080519453012856336910669421715562915808536054777601213484959145476340869047841612449365009692301550951310957295895407827001791088146172074288797440303032793341992333866814231482148511646849248910119280955273175266850050963725309485747238960313740445111582366413552650115037665506750402700289807147963374855418357256246195441655269422075639443746178241883427608436862588156220836395462456672414580997878563666101535376406988441752071625579018244944979036314670929875308571565259676755889714414870508457595114776855195089017902513410082066526999122438556796638706250881770036115741568430970792814928504272161360474098577291958020279 28802315067323092834671200753789857304554861251831838289489574747823210760613570252889618973211131499326461870714617238685779526033946033871163906183781891496284068316804468919851605623600221980306637504838267760753439511423305052711658150440454464509411637237779408714497914257022770688334361746032560712254082534307662635128338024033018712087047138667834101964411260399318954382607781298925943423827715591271894501151175888222488172115518597115997667691194022202654430918177113960888453687865555951259886846921303279331714266033439749815008128155170128833834815700081033850115734999448405213387804888299593494058421230669721036271447712941260138600894275631909775247518578906976144447196714728749038593229678720311650531006213994774192113564528645607298011480799057098637795551934592825783982954420957483265060664253897309786042161857613331567672508306150727884835046899104560992737998593481171021873630795456397223869072079923402201692829277162212098783535877577258805172552272437591102878836342605486690241057020649926459288784120229574832440957246918102328191981529687302331873331875999773163025530996017899406912227289952118663596407226019367821114674903385959102792083000996074790821766430344126482980442452206459424682849415516433679502029462276842367862948065109699749212141978961624624395102361998814032671539752508568066491764047573428837996501936701383407997935572840936317987956963657122569315447300996831290872826893324456156366069772788371530236537211538369891810711063865268273765496126127851743695922800283431260898607933125141476919261179494124751573288137176755157993695670709337829195406405736541506672795051409055191189865983880593932326657659329597305251550492742363351285281107688873815976109988636656569200654779287967093857090405368800358590801459595367093667311984545877847375262542074753148061032876337046377425139142548434537722656959935349363092544157371824323867567171609922 46603124733611980069128202554574210833017345413961312116268805308314333176218074817845022189059981353516075297954662894081529271112982552212090537700274587999086097552109016251232357393280629194807717320615504678071173840744384621860570875995048360336950460064573311238772017386861998188710557339027084850431375467507293477945888478187148805009323095071427796007027793148601587103229623865505547815728622608415793912980052755137706864253213888526681240987677981261696270595025421086773479068056408009072560655809425886846065798877389421023686085096462427583859940182507825809744950781259238193245144635529107311844631605857086784154237203819641356642269955628318097412476670379614170951275699546071420283441016154909944098525170211886637572984275488063449276948840700223156078888108440453098533608446922858534504267125679887185988880105479658173816368250191671369999868028431912949693446617799268622065763194587007736701800702058105815476764630657419760366070712980641842980847314062894204640533420300282418859264503274774440751954510296543513851291228767313159679754098267174805434893630680620005685158019005091903502465793131123411806775523665208476715641224617208116966716617042104364814132266427858516674901121228135911314437743246387964510737386925606503515207990833283829731594991817961535064524077561729841207594530109781551450909523914297885838114386066393100299486524151893613883364790658913657461619375285628731175859686666448490232884004270520041883386460448489172765984239132118324729221435613598982656236540728542843265021485775256514584767929896825041380436100551610576350951916904779484464828481375985252851036934836663628052454140101430327789114331744178303130114158843898727692269549440945441555128233581635605515325709163275665422350082124690073005671968052962208444167179634895749888672624141280147183471433133685083676020912584550279291087930728164291596816318732298422444859129630201 75405439800935072903799403308364068137572206665793150405758380056137543936831645070734641162271112852842537168669280132767308797146928586083254443884056479495370165868913485171083963016880851175114354825453772438824613352167689674572229026435502824846362097302352719953269931643884768877044919085059645562685458001814956113074226502220167517096370233739261897971439053547920541485837405164431491239556338199687688414131228643360195036368732485642678908678872003464350701513202535047661932755921963960332447502730729166177780064910829170838694213251632556417694755882588859659860685780707643406632949523828700805903052836526807820425684916760901495243164231260227872659995249286590315398472414274820458876670694875221594629531384206660829686548804133670747288429639757321793874440043033278882516562867880341799564931379577196972031041963092989741488876556342399254834914927536473942431445211280439643939393990043404960570872781981508017169593907819631859149606590557900648153399586500485307519369762905769109100321523924700900040738630526118346292248475685415487871735627954477137308225506680393168710689015022991310414693083083242075403182749684576297830316128003167219758799618038179155635898696771984999655343573434595335997287158762821644012766849202448871378156055942983578943736970779586159459626439560543873879134282618349617942673571487726723834616322767776508297422096992829931871321754316036226777066676282460022048686579990904646598953777058891572119923671986859064576695302997386598494717561741450726352159341011974104163629418900397991504029109390949792953724237728365734344647587614117313660234887112526759523831986245718819242320123982024260115771991073775608381664651586262078977550657129819257531238222218292174715980488451242759279440487493490431596473427648329302111479164180773597263935166216033295244504309470731461101160055132984817013744890663513654689360476104122746312426301240123 122008564534547052972927605862938278970589552079754462522027185364451877113049719888579663351331094206358612466623943026848838068259911138295344981584331067494456263421022501422316320410161480369922072146069277116895787192912074296432799902430551185183312557366926031192041949030746767065755476424086730413116833469322249591020114980407316322105693328810689693978466846696522128589067029029937039055284960808103482327111281398497901900621946374169360149666549984726046972108227956134435411823978371969405008158540155053023845863788218591862380298348094984001554696065096685469605636561966881599878094159357808117747684442383894604579922120580542851885434186888545970072471919666204486349748113820891879160111711030131538728056554418547467259533079621734196565378480457544949953328151473731981050171314803200334069198505257084158019922068572647915305244806534070624834782955968386892124891829079708266005157184630412697272673484039613832646358538477051619515677303538542491134246900563379512159903183206051527959586027199475340792693140822661860143539704452728647551489726221651942743119137361013174395847034028083213917158876214365487209958273349784774545957352620375336725516235080283520450030963199843516330244694662731247311724902009209608523504236128055374893364046776267408675331962597547694524150517122273715086728812728131169393583095402024609672730708834169608596908621144723545754686544974949884238686051568088753224546266657353136831837781329411614003310132435348237342679542129504923223938997355049709008395881740516947428650904675654506088797039287774834334160338279976310695599504518896798125063368488512012374868921082382447294774264083454587904886322817953911511778810430160806669820206570764699086366455799927780231306197614518424701790569618180504602145395701291510555646343815669347152607790357313442427975742604416544777180967717535096304832821391677946286176794836421168757285430870324 197414004335482125876727009171302347108161758745547612927785565420589421049881364959314304513602207059201149635293223159616146865406839724378599425468387546989826429289935986593400283427042331545036426971523049555720400545079763971005028928866054010029674654669278751145311880674631535942800395509146375975802291471137205704094341482627483839202063562549951591949905900244442670074904434194368530294841299007791170741242510041858096936990678859812039058345421988190397673621430491182097344579900335929737455661270884219201625928699047762701074511599727540419249451947685545129466322342674525006511043683186508923650737278910702425005607037341444347128598418148773842732467168952794801748220528095712338036782405905353133357587938625208296946081883755404943853808120214866743827768194507010863566734182683542133634129884834281130050964031665637656794121362876469879669697883504860834556337040360147909944551174673817657843546266021121849815952446296683478665283894096443139287646487063864819679272946111820637059907551124176240833431771348780206435788180138144135423225354176129080051344644041406343106536049051074524331851959297607562613141023034361072376273480623542556484315853118462676085929659971828515985588268097326583309012060772031252536271085330504246271520102719250987619068933377133853983776956682817588965863095346480787336256666889751333507347031601946116894330718137553477626008299290986111015752727850548775273232846648257783430791558388303186123233804422207301919374845126891521718656559096500435360555222752491051592280323576052497592826148678724627287884576008342045040247092133014111785298255601038771898700907328101266537094388065478848020658313891729519893443462016422885647370863700583956617604678018219954947286686065761183981231057111670936198618823349620812667125507996442944416542956573346737672480052075148005878341022850519913318577712055191600975537270940543915069711732110447 319422568870029178849654615034240626078751310825302075449812750785041298162931084847893967864933301265559762101917166186464984933666750862673944407052718614484282692710958488015716603837203811914958499117592326672616187737991838267437828831296605195212987212036204782337353829705378303008555871933233106388919124940459455295114456463034800161307756891360641285928372746940964798663971463224305569350126259815894653068353791440355998837612625233981399208011971972916444645729658447316532756403878707899142463819811039272225471792487266354563454809947822524420804148012782230599071958904641406606389137842544317041398421721294597029585529157921987199014032605037319812804939088618999288097968641916604217196894116935484672085644493043755764205614963377139140419186600672411693781096345980742844616905497486742467703328390091365288070886100238285572099366169410540504504480839473247726681228869439856175949708359304230355116219750060735682462310984773735098180961197634985630421893387627244331839176129317872165019493578323651581626124912171442066579327884590872782974715080397781022794463781402419517502383083079157738249010835511973049823099296384145846922230833243917893209832088198746196535960623171672032315832962760057830620736962781240861059775321458559621164884149495518396294400895974681548507927473805091304052591908074611956729839762291775943180077740436115725491239339282277023380694844265935995254438779418637528497779113305610920262629339717714800126543936857555539262054387256396444942595556451550144368951104493007999020931228251707003681623187966499461622044914288318355735846596651910909910361624089550784273569828410483713831868652148933435925544636709683431405222272446583692317191070271348655703971133818147735178592883680279608683021626729851440800764219050912323222771851812112291569150746930660180100455794679564550655521990568055009623410533446869547261714065776965083826997162980771 516836573205511304726381624205542973186913069570849688377598316205630719212812449807208272378535508324760911737210389346081131799073590587052543832521106161474109122000894474609116887264246143459994926089115376228336588283071602238442857760162659205242661866705483533482665710380009838951356267442379482364721416411596660999208797945662284000509820453910592877878278647185407468738875897418674099644967558823685823809596301482214095774603304093793438266357393961106842319351088938498630100983779043828879919481081923491427097721186314117264529321547550064840053599960467775728538281247315931612900181525730825965049159000205299454591136195263431546142631023186093655537406257571794089846189170012316555233676522840837805443232431668964061151696847132544084272994720887278437608864540487753708183639680170284601337458274925646418121850131903923228893487532287010384174178722978108561237565909800004085894259533978048012959766016081857532278263431070418576846245091731428769709539874691109151518449075429692802079401129447827822459556683520222273015116064729016918397940434573910102845808425443825860608919132130232262580862794809580612436240319418506919298504313867460449694147941317208872621890283143500548301421230857384413929749023553272113596046406789063867436404252214769383913469829351815402491704430487908893018455003421092744066096429181527276687424772038061842385570057419830501006703143556922106270191507269186303771011959953868703693420898106017986249777741279762841181429232383287966661252115548050579729506327245499050613211551827759501274449336645224088909929490296660400776093688784925021695659879690589556172270735738584980368963040214412283946202950601412951298665734463006577964561933971932612321575811836367690125879569746040792664252683841522376999383042400533135889897359808555235985693703504006917772935846754712556533863013418574922941988245502061148237251336717508998896708895091218 836259142075540483576036239239783599265664380396151763827411066990672017375743534655102240243468809590320673839127555532546116732740341449726488239573824775958391814711852962624833491101449955374953425206707702900952776021063440505880686591459264400455649078741688315820019540085388141959912139375612588753640541352056116294323254408697084161817577345271234163806651394126372267402847360642979668995093818639580476877950092922570094612215929327774837474369365934023286965080747385815162857387657751728022383300892962763652569513673580471827984131495372589260857747973250006327610240151957338219289319368275143006447580721499896484176665353185418745156663628223413468342345346190793377944157811928920772430570639776322477528876924712719825357311810509683224692181321559690131389960886468496552800545177657027069040786665017011706192736232142208800992853701697550888678659562451356287918794779239860261843967893282278368075985766142593214740574415844153675027206289366414400131433262318353483357625204747564967098894707771479404085681595691664339594443949319889701372655514971691125640272206846245378111302215209390000829873630321553662259339615802652766220735147111378342903980029515955069157850906315172580617254193617442244550485986334512974655821728247623488601288401710287780207870725326496950999631904293000197071046911495704700795936191473303219867502512474177567876809396702107524387397987822858101524630286687823832268791073259479623956050237823732786376321678137318380443483619639684411603847671999600724098457431738507049634142780079466504956072524611723550531974404584978756511940285436835931606021503780140340445840564149068694200831692363345719871747587311096382703888006909590270281753004243281268025546945654515425304472453426320401347274310571373817800147261451445459112669211620667527554844450434667097873391641434277107189385003986629932565398778948930695498965402494474082723706058071989 1353095715281051788302417863445326572452577449967001452205009383196302736588555984462310512622004317915081585576337944878627248531813932036779032072094930937432500936712747437233950378365696098834948351295823079129289364304135042744323544351621923605698310945447171849302685250465397980911268406817992071118361957763652777293532052354359368162327397799181827041684930041311779736141723258061653768640061377463266300687546394404784190386819233421568275740726759895130129284431836324313792958371436795556902302781974886255079667234859894589092513453042922654100911347933717782056148521399273269832189500894005968971496739721705195938767801548448850291299294651409507123879751603762587467790346981941237327664247162617160282972109356381683886509008657642227308965176042446968568998825426956250260984184857827311670378244939942658124314586364046132029886341233984561272852838285429464849156360689039864347738227427260326381035751782224450747018837846914572251873451381097843169840973137009462634876074280177257769178295837219307226545238279211886612609560014048906619770595949545601228486080632290071238720221347339622263410736425131134274695579935221159685519239460978838792598127970833163941779741189458673128918675424474826658480235009887785088251868135036687356037692653925057164121340554678312353491336334780909090089501914916797444862032620654830496554927284512239410262379454121938025394101131379780207794821793957010136039803033213348327649471135929750772626099419417081221624912852022972378265099787547651303827963758984006100247354331907226006230521861256947639441903894881639157288033974221760953301681383470729896618111299887653674569794732577758003817950537912509334002553741372596848246314938215213880347122757490883115430352023172361194011526994412896194799530303851978595002566571429222763540538153938674015646327488188989663723248017405204855507387024450991843736216739211983081620414953163207 2189354857356592271878454102685110171718241830363153216032420450186974753964299519117412752865473127505402259415465500411173365264554273486505520311668755713390892751424600399858783869467146054209901776502530782030242140325198483250204230943081188006153960024188860165122704790550786122871180546193604659872002499115708893587855306763056452324144975144453061205491581435438152003544570618704633437635155196102846777565496487327354284999035162749343113215096125829153416249512583710128955815759094547284924686082867849018732236748533475060920497584538295243361769095906967788383758761551230608051478820262281111977944320443205092422944466901634269036455958279632920592222096949953380845734504793870158100094817802393482760500986281094403711866320468151910533657357364006658700388786313424746813784730035484338739419031604959669830507322596188340830879194935682112161531497847880821137075155468279724609582195320542604749111737548367043961759412262758725926900657670464257569972406399327816118233699484924822736277190544990786630630919874903550952204003963368796321143251464517292354126352839136316616831523562549012264240610055452687936954919551023812451739974608090217135502108000349119010937592095773845709535929618092268903030720996222298062907689863284310844638981055635344944329211280004809304490968239073909287160548826412502145657968812128133716422429796986416978139188850824045549781499119202638309319452080644833968308594106472827951605521373753483559002421097554399602068396471662656789868947459547252027926421190722513149881497111986692511186594385868671189973878299466617913799974259658596884907702887250870237063951864036722368770626424941103723689698125223605716706441748282187118528067942458495148372669703145398540734824476598681595358801304984270012599677565303424054115235783049890291095382604373341113519719129623266770912633021391834788072785803399922539235182141706457164344121011235196 3542450572637644060180871966130436744170819280330154668237429833383277490552855503579723265487477445420483844991803445289800613796368205523284552383763686650823393688137347837092734247832842153044850127798353861159531504629333525994527775294703111611852270969636032014425390041016184103782448953011596730990364456879361670881387359117415820486472372943634888247176511476749931739686293876766287206275216573566113078253042881732138475385854396170911388955822885724283545533944420034442748774130531342841826988864842735273811903983393369650013011037581217897462680443840685570439907282950503877883668321156287080949441060164910288361712268450083119327755252931042427716101848553715968313524851775811395427759064965010643043473095637476087598375329125794137842622533406453627269387611740380997074768914893311650409797276544902327954821908960234472860765536169666673434384336133310285986231516157319588957320422747802931130147489330591494708778250109673298178774109051562100739813379536337278753109773765102080505455486382210093857176158154115437564813563977417702940913847414062893582612433471426387855551744909888634527651346480583822211650499486244972137259214069069055928100235971182282952717333285232518838454605042567095561510956006110083151159557998320998200676673709560402108450551834683121657982304573854818377250050741329299590520001432782964212977357081498656388401568304945983575175600250582418517114273874601844104348397139686176279254992509683234331628520516971480823693309323685629168134047247094903331754384949706519250128851443893918517417116247125618829415782194348257071088008233880357838209384270721600133682063163924376043340421157518861727507648663136115050708995489654783966774382880673709028719792460636281656165176499771042789370328299397166207399207869155402649117802354479113054635920758312015129166046617812256434635881038797039643580172827850914382971398880918440245964535964398403 5731805429994236332059326068815546915889061110693307884269850283570252244517155022697136018352950572925886104407268945700973979060922479009790072695432442364214286439561948236951518117299988207254751904300884643189773644954532009244732006237784299618006230993824892179548094831566970226653629499205201390862366955995070564469242665880472272810617348088087949452668092912188083743230864495470920643910371769668959855818539369059492760384889558920254502170919011553436961783457003744571704589889625890126751674947710584292544140731926844710933508622119513140824449539747653358823666044501734485935147141418568192927385380608115380784656735351717388364211211210675348308323945503669349159259356569681553527853882767404125803974081918570491310241649593946048376279890770460285969776398053805743888553644928795989149216308149861997785329231556422813691644731105348785595915833981191107123306671625599313566902618068345535879259226878958538670537662372432024105674766722026358309785785935665094871343473250026903241732676927200880487807078029018988517017567940786499262057098878580185936738786310562704472383268472437646791891956536036510148605419037268784588999188677159273063602343971531401963654925381006364547990534660659364464541677002332381214067247861605309045315654765195747052779763114687930962473272812928727664410599567741801736177970244911097929399786878485073366540757155770029124957099369785056826433725955246678072656991246159004230860513883436717890630941614525880425761705795348285958002994706642155359680806140429032400010348555880611028603710632994290019389660493814874984887982493538954723117087157972470370746015027961098412111047582459965451197346788359720767415437237936971085302450823132204177092462163781680196900000976369724384729129604381436219998885434458826703233038137529003345731303362685356242685765747435523205548514060188874431652958631250836922206581022624897410308656975633599 9274256002631880392240198034945983660059880391023462552507280116953529735070010526276859283840428018346369949399072390990774592857290684533074625079196129015037680127699296074044252365132830360299602032099238504349305149583865535239259781532487411229858501963460924193973484872583154330436078452216798121852731412874432235350630024997888093297089721031722837699844604388938015482917158372237207850185588343235072934071582250791631235770743955091165891126741897277720507317401423779014453364020157232968578663812553319566356044715320214360946519659700731038287129983588338929263573327452238363818815462574855273876826440773025669146369003801800507691966464141717776024425794057385317472784208345492948955612947732414768847447177556046578908616978719740186218902424176913913239164009794186740963322559822107639559013584694764325740151140516657286552410267275015459030300170114501393109538187782918902524223040816148467009406716209550033379315912482105322284448875773588459049599165472002373624453247015128983747188163309410974344983236183134426081831131918204202202970946292643079519351219781989092327935013382326281319543303016620332360255918523513756726258402746228328991702579942713684916372258666238883386445139703226460026052633008442464365226805859926307245992328474756149161230314949371052620455577386783546041660650309071101326697971677694062142377143959983729754942325460716012700132699620367475343547999829848522177005388385845180510115506393119952222259462131497361249455015119033915126137041953737058691435191090135551650139199999774529546020826880119908848805442688163132055975990727419312561326471428694070504428078191885474455451468739978827178704995451495835818124432727591755052076833703805913205812254624417961853065177476140767174099457903778602427398093303614229352350840492008116400367224120997371371851812365247779640184395098985914075233131459101751305177979903543337656273192940032002 15006061432626116724299524103761530575948941501716770436777130400523781979587165548973995302193378591272256053806341336691748571918213163542864697774628571379251966567261244310995770482432818567554353936400123147539078794538397544483991787770271710847864732957285816373521579704150124557089707951421999512715098368869502799819872690878360366107707069119810787152512697301126099226148022867708128494095960112904032789890121619851123996155633514011420393297660908831157469100858427523586157953909783123095330338760263903858900185447247059071880028281820244179111579523335992288087239371953972849753962603993423466804211821381141049931025739153517896056177675352393124332749739561054666632043564915174502483466830499818894651421259474617070218858628313686234595182314947374199208940407847992484851876204750903628708229892844626323525480372073080100244054998380364244626216004095692500232844859408518216091125658884494002888665943088508572049853574854537346390123642495614817359384951407667468495796720265155886988920840236611854832790314212153414598848699858990701465028045171223265456090006092551796800318281854763928111435259552656842508861337560782541315257591423387602055304923914245086880027184047245247934435674363885824490594310010774845579294053721531616291307983239951896214010078064058983582928850199712273706071249876812903062875941922605160071776930838468803121483082616486041825089798990152532169981725785095200249662379632004184740976020276556670112890403746023241675216720914382201084140036660379214051115997230564584050149548555655140574624537513114198868195103181978007040863973220958267284443558586666540875174093219846572867562516322438792629902342239855556585539869965528726137379284526938117382904716788199642049965178452510491558828587508160038647396978738073056055583878629537119746098527483682727614537578112683302845732909159174788506886090090352588227384560926168235066581849915665601 24280317435257997116539722138707514236008821892740232989284410517477311714657176075250854586033806609618626003205413727682523164775503848075939322853824700394289646694960540385040022847565648927853955968499361651888383944122263079723251569302759122077723234920746740567495064576733278887525786403638797634567829781743935035170502715876248459404796790151533624852357301690064114709065181239945336344281548456139105723961703870642755231926377469102586284424402806108877976418259851302600611317929940356063909002572817223425256230162567273432826547941520975217398709506924331217350812699406211213572778066568278740681038262154166719077394742955318403748144139494110900357175533618439984104827773260667451439079778232233663498868437030663649127475607033426420814084739124288112448104417642179225815198764573011268267243477539390649265631512589737386796465265655379703656516174210193893342383047191437118615348699700642469898072659298058605429169487336642668674572518269203276408984116879669842120249967280284870736109003546022829177773550395287840680679831777194903667998991463866344975441225874540889128253295237090209430978562569277174869117256084296298041515994169615931047007503856958771796399442713484131320880814067112284516646943019217309944520859581457923537300311714708045375240393013430036203384427586495819747731900185884004389573913600299222214154074798452532876425408077202054525222498610520007513529725614943722426667768017849365251091526669676622335149865877520602924671736033416116210277078614116272742551188320700135700288748555429670120645364393234107717000545870141139096839963948377579845770030015360611379602171411732047323013985062417619808607337691351392403664302693120481189456118230744030588716971412617603903030355928651258732928045411938641074795072041687285407934719121545236146465751604680098986389390477931082485917304258160702582119221549454339532562540829711572722855042855697603 39286378867884113840839246242469044811957763394457003426061540918001093694244341624224849888227185200890882057011755064374271736693717011618804020628453271773541613262221784696035793329998467495408309904899484799427462738660660624207243357073030832925587967878032556941016644280883403444615494355060797147282928150613437834990375406754608825512503859271344412004869998991190213935213204107653464838377508569043138513851825490493879228082010983114006677722063714940035445519118278826186769271839723479159239341333081127284156415609814332504706576223341219396510289030260323505438052071360184063326740670561702207485250083535307769008420482108836299804321814846504024689925273179494650736871338175841953922546608732052558150289696505280719346334235347112655409267054071662311657044825490171710667074969323914896975473370384016972791111884662817487040520264035743948282732178305886393575227906599955334706474358585136472786738602386567177479023062191180015064696160764818093768369068287337310616046687545440757725029843782634684010563864607441255279528531636185605133027036635089610431531231967092685928571577091854137542413822121934017377978593645078839356773585593003533102312427771203858676426626760729379255316488430998109007241253029992155523814913302989539828608294954659941589250471077489019786313277786208093453803150062696907452449855522904382285931005636921335997908490693688096350312297600672539683511451400038922676330147649853549992067546946233292448040269623543844599888456947798317294417115274495486793667185551264719750438297111084810695269901906348306585195649052119146137703937169335847130213588602027152254776264631578620190576501384856412438509679931206948989204172658649207326835402757682147971621688200817245952995534381161750291756632920098679722192050779760341463518597751082355892564279088362826600926968590614385331650213417335491089005311639806927759947101755879807789436892771363204 63566696303142110957378968381176559047966585287197236415345951435478405408901517699475704474260991810509508060217168792056794901469220859694743343482277972167831259957182325081075816177564116423262265873398846451315846682782923703930494926375789955003311202798779297508511708857616682332141280758699594781850757932357372870160878122630857284917300649422878036857227300681254328644278385347598801182659057025182244237813529361136634460008388452216592962146466521048913421937378130128787380589769663835223148343905898350709412645772381605937533124164862194613908998537184654722788864770766395276899518737129980948166288345689474488085815225064154703552465954340614925047100806797934634841699111436509405361626386964286221649158133535944368473809842380539076223351793195950424105149243132350936482273733896926165242716847923407622056743397252554873836985529691123651939248352516080286917610953791392453321823058285778942684811261684625782908192549527822683739268679034021370177353185167007152736296654825725628461138847328657513188337415002729095960208363413380508801026028098955955406972457841633575056824872328944346973392384691211192247095849729375137398289579762619464149319931628162630472826069474213510576197302498110393523888196049209465468335772884447463365908606669367986964490864090919055989697705372703913201535050248580911842023769123203604500085080435373868874333898770890150875534796211192547197041177014982645102997915667702915243159073615909914783190135501064447524560192981214433504694193888611759536218373871964855450727045666514480815915266299582414302196194922260285234543901117713426975983618617387763634378436043310667513590486447274032247117017622558341392868475351769688516291520988426178560338659613434849856025890309813009024684678332037320796987122821447626871453316872627592039030030693042925587316359068545467817567517675496193671124533189261267292509642585591380512291935627060807 102853075171026224798218214623645603859924348681654239841407492353479499103145859323700554362488177011400390117228923856431066638162937871313547364110731243941372873219404109777111609507562583918670575778298331250743309421443584328137738283448820787928899170676811854449528353138500085776756775113760391929133686082970810705151253529385466110429804508694222448862097299672444542579491589455252266021036565594225382751665354851630513688090399435330599639868530235988948867456496408954974149861609387314382387685238979477993569061382195938442239700388203414010419287567444978228226916842126579340226259407691683155651538429224782257094235707172991003356787769187118949737026079977429285578570449612351359284172995696338779799447830041225087820144077727651731632618847267612735762194068622522647149348703220841062218190218307424594847855281915372360877505793726867600221980530821966680492838860391347788028297416870915415471549864071192960387215611719002698803964839798839463945722253454344463352343342371166386186168691111292197198901279610170351239736895049566113934053064734045565838503689808726260985396449420798484515806206813145209625074443374453976755063165355622997251632359399366489149252696234942889831513790929108502531129449079201620992150686187437003194516901624027928553741335168408075776010983158912006655338200311277819294473624646107986786016086072295204872242389464578247225847093811865086880552628415021567779328063317556465235226620562143207231230405124608292124448649929012750799111309163107246329885559423229575201165342777599291511185168205930720887391843974379431372247838287049274106197207219414915889154700674889287704166987832130444685626697553765290382072648010418895843126923746108326531960347814252095809021424690974759316441311252136000519179173601207968334971914623709947931594309781405752188243327659159853149217731092831684760129844829068195052456744341471188301728828398424011 166419771474168335755597183004822162907890933968851476256753443788957904512047377023176258836749168821909898177446092648487861539632158731008290707593009216109204133176586434858187425685126700341932841651697177702059156104226508032068233209824610742932210373475591151958040061996116768108898055872459986710984444015328183575312131652016323395347105158117100485719324600353698871223769974802851067203695622619407626989478884212767148148098787887547192602014996757037862289393874539083761530451379051149605536029144877828702981707154577544379772824553065608624328286104629632951015781612892974617125778144821664103817826774914256745180050932237145706909253723527733874784126886775363920420269561048860764645799382660625001448605963577169456293953920108190807855970640463563159867343311754873583631622437117767227460907066230832216904598679167927234714491323417991252161228883338046967410449814182740241350120475156694358156361125755818743295408161246825382543233518832860834123075438621351616088639997196892014647307538439949710387238694612899447199945258462946622735079092833001521245476147650359836042221321749742831489198591504356401872170293103829114153352745118242461400952291027529119622078765709156400407711093427218896055017645128411086460486459071884466560425508293395915518232199259327131765708688531615919856873250559858731136497393769311591286101166507669073746576288235468398101381890023057634077593805430004212882325978985259380478385694178053122014420540625672739649008842910227184303805503051719005866103933295194430651892388444113772327100434505513135189588038896639716606791739404762701082180825836802679523533136718199955217757474279404476932743715176323631774941123362188584359418444734534505092299007427686945665047315000787768341125989584173321316166296422655595206425231496337539970624340474448677775559686727705320966785248768327878431254378018329462344966386927062568814020764025484818 269272846645194560553815397628467766767815282650505716098160936142437403615193236346876813199237345833310288294675016504918928177795096602321838071703740460050577006395990544635299035192689284260603417429995508952802465525670092360205971493273431530861109544152403006407568415134616853885654830986220378640118130098298994280463385181401789505776909666811322934581421900026143413803261564258103333224732188213633009741144239064397661836189187322877792241883526993026811156850370948038735680312988438463987923714383857306696550768536773482822012524941269022634747573672074611179242698455019553957352037552513347259469365204139039002274286639410136710266041492714852824521152966752793205998840010661212123929972378356963781248053793618394544114097997835842539488589487731175895629537380377396230780971140338608289679097284538256811752453961083299595591997117144858852383209414160013647903288674574088029378417892027609773627910989827011703682623772965828081347198358631700298068797692075696079440983339568058400833476229551241907586139974223069798439682153512512736669132157567047087083979837459086097027617771170541316005004798317501611497244736478283090908415910473865458652584650426895608771331461944099290239224884356327398586147094207612707452637145259321469754942409917423844071973534427735207541719671690527926512211450871136550430971018415419578072117252579964278618818677700046645327228983834922720958146433845025780661654042302815845713612314740196329245650945750281031773457492839239935102916812214826252195989492718424005853057731221713063838285602711443856076979882871019147979039577691811975188378033056217595412687837393089242921924462111534921618370412730088922157013771372607480202545368480642831624259355241939041474068739691762527657567300836309321835345470023863563541397146120047487902218650255854429963803014386865174116002979861159563191384222847397657397423131268533757115749592423908829 435692618119362896309412580633289929675706216619357192354914379931395308127240613370053072035986514655220186472121109153406789717427255333330128779296749676159781139572576979493486460877815984602536259081692686654861621629896600392274204703098042273793319917627994158365608477130733621994552886858680365351102574113627177855775516833418112901124014824928423420300746500379842285027031539060954400428427810833040636730623123277164809984287975210424984843898523750064673446244245487122497210764367489613593459743528735135399532475691351027201785349494334631259075859776704244130258480067912528574477815697335011363287191979053295747454337571647282417175295216242586699305279853528157126419109571710072888575771761017588782696659757195564000408051917944033347344560128194739055496880692132269814412593577456375517140004350769089028657052640251226830306488440562850104544438297498060615313738488756828270728538367184304131784272115582830446978031934212653463890431877464561132191873130697047695529623336764950415480783767991191617973378668835969245639627411975459359404211250400048608329455985109445933069839092920284147494203389821858013369415029582112205061768655592107920053536941454424728393410227653255690646935977783546294641164739336023793913123604331205936315367918210819759590205733687062339307428360222143846369084701430995281567468412184731169358218419087633352365394965935515043428610873857980355035740239275029993543980021288075226191998008918249451260071486375953771422466335749467119406722315266545258062093426013618436504950119665826836165386037216956991266567921767658864585831317096574676270558858893020274936220974111289198139681936390939398551114127906412553931954894734796064561963813215177336716558362669625987139116054692550295998693290420482643151511766446519158747822377616385027872842990730303107739362701114570495082788228629487441622638600865727119742389518195596325929770356449393647 704965464764557456863227978261757696443521499269862908453075316073832711742433849716929885235223860488530474766796125658325717895222351935651966851000490136210358145968567524128785496070505268863139676511688195607664087155566692752480176196371473804654429461780397164773176892265350475880207717844900743991220704211926172136238902014819902406900924491739746354882168400405985698830293103319057733653159999046673646471767362341562471820477162533302777085782050743091484603094616435161232891077355928077581383457912592442096083244228124510023797874435603653893823433448778855309501178522932082531829853249848358622756557183192334749728624211057419127441336708957439523826432820280950332417949582371285012505744139374552563944713550813958544522149915779875886833149615925914951126418072509666045193564717794983806819101635307345840409506601334526425898485557707708956927647711658074263217027163330916300106956259211913905412183105409842150660655707178481545237630236096261430260670822772743774970606676333008816314259997542433525559518643059039044079309565487972096073343407967095695413435822568532030097456864090825463499208188139359624866659766060395295970184566065973378706121591881320337164741689597354980886160862139873693227311833543636501365760749590527406070310328128243603662179268114797546849148031912671772881296152302131831998439430600150747430335671667597630984213643635561688755839857692903075993886673120055774205634063590891071905610323658445780505722432126234803195923828588707054509639127481371510258082918732042442358007850887539900003671639928400847343547804638678012564870894788386651458936891949237870348908811504378441061606398502474320169484540636501476088968666107403544764509181695820168340817717911565028613184794384312823656260591256791964986857236470382722289219523736432515775061640986157537703165715501435669198791208490647004814022823713124777139812649464130083045519948873302476 1140658082883920353172640558895047626119227715889220100807989696005228019869674463086982957271210375143750661238917234811732507612649607268982095630297239812370139285541144503622271956948321253465675935593380882262525708785463293144754380899469516078447749379408391323138785369396084097874760604703581109342323278325553349992014418848238015308024939316668169775182914900785827983857324642380012134081587809879714283202390485618727281804765137743727761929680574493156158049338861922283730101841723417691174843201441327577495615719919475537225583223929938285152899293225483099439759658590844611106307668947183369986043749162245630497182961782704701544616631925200026223131712673809107458837059154081357901081515900392141346641373308009522544930201833723909234177709744120654006623298764641935859606158295251359323959105986076434869066559241585753256204973998270559061472086009156134878530765652087744570835494626396218037196455220992672597638687641391135009128062113560822562452543953469791470500230013097959231795043765533625143532897311895008289718936977463431455477554658367144303742891807677977963167295957011109610993411577961217638236074795642507501031953221658081298759658533335745065558151917250610671533096839923419987868476572879660295278884353921733342385678246339063363252385001801859886156576392134815619250380853733127113565907842784881916788554090755230983349608609571076732184450731550883431029626912395085767749614084878966298097608332576695231765793918502188574618390164338174173916361442747916768320176344745660878862957970553366736169057677145357838610115726406336877150702211884961327729495750842258145285129785615667639201288334893413718720598668542914030020923560842199609326472994910997505057376080581191015752300849076863119654953881677274608138369002916901881037041901352817543647904631716460645442528416616006164281579437120134446436661424578851896882202167659726408975290305322696123 1845623547648477810035868537156805322562749215159083009261065012079060731612108312803912842506434235632281136005713360470058225507871959204634062481297729948580497431509712027751057453018826522328815612105069077870189795941029985897234557095840989883102178841188788487911962261661434573754968322548481853333543982537479522128253320863057917714925863808407916130065083301191813682687617745699069867734747808926387929674157847960289753625242300277030539015462625236247642652433478357444962992919079345768756226659353920019591698964147600047249381098365541939046722726674261954749260837113776693638137522197031728608800306345437965246911585993762120672057968634157465746958145494090057791255008736452642913587260039766693910586086858823481089452351749503785121010859360046568957749716837151601904799723013046343130778207621383780709476065842920279682103459555978268018399733720814209141747792815418660870942450885608131942608638326402514748299343348569616554365692349657083992713214776242535245470836689430968048109303763076058669092415954954047333798246542951403551550898066334239999156327630246509993264752821101935074492619766100577263102734561702902797002137787724054677465780125217065402722893606847965652419257702063293681095788406423296796644645103512260748455988574467306966914564269916657433005724424047487392131677006035258945564347273385032664218889762422828614333822253206638420940290589243786507023513585515141541955248148469857370003218656235141012271516350628423377814313992926881228426000570229288278578259263477703321220965821440906636172729317073758685953663531045014889715573106673347979188432642791496015634038597120046080262894733395888038890083209179415506109892226949603154090982176606817673398193798492756044365485643461175943311214472934066573125226239387284603326261425089250059422966272702618183145694132117441833480370645610781451250684248291976674022014817123856492020810254195998599 2986281630532398163208509096051852948681976931048303110069054708084288751481782775890895799777644610776031797244630595281790733120521566473616158111594969760950636717050856531373329409967147775794491547698449960132715504726493279041988937995310505961549928220597179811050747631057518671629728927252062962675867260863032872120267739711295933022950803125076085905247998201977641666544942388079082001816335618806102212876548333579017035430007438020758300945143199729403800701772340279728693094760802763459931069860795247597087314684067075584474964322295480224199622019899745054189020495704621304744445191144215098594844055507683595744094547776466822216674600559357491970089858167899165250092067890534000814668775940158835257227460166833003634382553583227694355188569104167222964373015601793537764405881308297702454737313607460215578542625084506032938308433554248827079871819729970344020278558467506405441777945512004349979805093547395187345938030989960751563493754463217906555165758729712326715971066702528927279904347528609683812625313266849055623517183520414835007028452724701384302899219437924487956432048778113044685486031344061794901338809357345410298034091009382135976225438658552810468281045524098576323952354541986713668964264979302957091923529457433994090841666820806370330166949271718517319162300816182303011382057859768386059130255116169914581007443853178059597683430862777715153124741320794669938053140497910227309704862233348823668100826988811836244037310269130611952432704157265055402342362012977205046898435608223364200083923791994273372341786994219116524563779257451351766866275318558309306917928393633754160919168382735713719464183068289301757610681877722329536130815787791802763417455171517815178455569879073947060117786492538039062966168354611341181263595242304186484363303326442067603070870904419078828588222548733447997761950082730915897687345672870828570904216984783582900996100559518694722 4831905178180875973244377633208658271244726146207386119330119720163349483093891088694808642284078846408312933250343955751848958628393525678250220592892699709531134148560568559124386862985974298123307159803519038002905300667523264939223495091151495844652107061785968298962709892718953245384697249800544816009411243400512394248521060574353850737876666933484002035313081503169455349232560133778151869551083427732490142550706181539306789055249738297788839960605824965651443354205818637173656087679882109228687296520149167616679013648214675631724345420661022163246344746574007008938281332818397998382582713341246827203644361853121560991006133770228942888732569193514957717048003661989223041347076626986643728256035979925529167813547025656484723834905332731479476199428464213791922122732438945139669205604321344045585515521228843996288018690927426312620411893110227095098271553450784553162026351282925066312720396397612481922413731873797702094237374338530368117859446812874990547878973505954861961441903391959895328013651291685742481717729221803102957315430063366238558579350791035624302055547068170997949696801599214979759978651110162372164441543919048313095036228797106190653691218783769875871003939130946541976371612244050007350060053385726253888568174560946254839297655395273677297081513541635174752168025240229790403513734865803645004694602389554947245226333615600888212017253115984353574065031910038456445076654083425368851660110381818681038104045645046977256308826619759035330247018150191936630768362583206493325476694871701067521304889613435180008514516311292875210517442788496366656581848425231657286106361036425250176553206979855759799727077801685189796500765086901745042240708014741405917508437348124632851853763677566703104483272135999215006277382827545407754388821481691471087689564751531317662493837177121697011733916680850889831242320728341697348938029921162805244926231801907439393016910813714693321 7818186808713274136452886729260511219926703077255689229399174428247638234575673864585704442061723457184344730494974551033639691748915092151866378704487669470481770865611425090497716272953122073917798707501968998135620805394016543981212433086462001806202035282383148110013457523776471917014426177052607778685278504263545266368788800285649783760827470058560087940561079705147097015777502521857233871367419046538592355427254515118323824485257176318547140905749024695055244055978158916902349182440684872688618366380944415213766328332281751216199309742956502387445966766473752063127301828523019303127027904485461925798488417360805156735100681546695765105407169752872449687137861829888388291439144517520644542924811920084364425041007192489488358217458915959173831387997568381014886495748040738677433611485629641748040252834836304211866561316011932345558720326664475922178143373180754897182304909750431471754498341909616831902218825421192889440175405328491119681353201276092897103044732235667188677412970094488822607917998820295426294343042488652158580832613583781073565607803515737008604954766506095485906128850377328024445464682454224167065780353276393723393070319806488326629916657442322686339284984655045118300323966786036721019024318365029210980491704018380248930139322216080047627248462813353692071330326056412093414895792725572031063824857505724861826233777468778947809700683978762068727189773230833126383129794581335596161364972615167504706204872633858813500346136888889647282679722307456992033110724596183698372375130479924431721388813405429453380856303305511991735081222045947718423448123743789966593024289430059004337472375362591473519191260869974491554111446964624074578371523802533208680925892519642448030309333556640650164601058628537254069243551182156748935652416723995657572052868077973385265564708081540775840322139229584337829004270811072613246625375594033633815830448786691022294013011373233388043 12650091986894150109697264362469169491171429223463075348729294148410987717669564953280513084345802303592657663745318506785488650377308617830116599297380369180012905014171993649622103135939096372041105867305488036138526106061539808920435928177613497650854142344169116408976167416495425162399123426853152594694689747664057660617309860860003634498704136992044089975874161208316552365010062655635385740918502474271082497977960696657630613540506914616335980866354849660706687410183977554076005270120566981917305662901093582830445341980496426847923655163617524550692311513047759072065583161341417301509610617826708753002132779213926717726106815316924707994139738946387407404185865491877611332786221144507288271180847900009893592854554218145973082052364248690653307587426032594806808618480479683817102817089950985793625768356065148208154580006939358658179132219774703017276414926631539450344331261033356538067218738307229313824632557294990591534412779667021487799212648088967887650923705741622050638854873486448717935931650111981168776060771710455261538148043647147312124187154306772632907010313574266483855825651976543004205443333564386539230221897195442036488106548603594517283607876226092562210288923785991660276695579030086728369084371750755464869059878579326503769436977611353724924329976354988866823498351296641883818409527591375676068519459895279809071460111084379836021717937094746422301254805140871582828206448664760965013025082996986185744308918278905790756654963508648682612926740457648928663879087179390191697851825351625499242693703018864633389370819616804866945598664834444085080029972169021623879130650466484254514025582342447233318918338671659681350612212051525819620612231817274614598434329867767080882163097234207353269084330764536469075520934009702156690041238205687128659742432829504702928058545258662472852056055910435227660246591539414310595563405515196439060756680588598461687029922186948081364 20468278795607424246150151091729680711098132300718764578128468576658625952245238817866217526407525760777002394240293057819128342126223709981982978001868038650494675879783418740119819408892218445958904574807457034274146911455556352901648361264075499457056177626552264518989624940271897079413549603905760373379968251927602926986098661145653418259531607050604177916435240913463649380787565177492619612285921520809674853405215211775954438025764090934883121772103874355761931466162136470978354452561251854605924029282037998044211670312778178064122964906574026938138278279521511135192884989864436604636638522312170678800621196574731874461207496863620473099546908699259857091323727321765999624225365662027932814105659820094258017895561410635461440269823164649827138975423600975821695114228520422494536428575580627541666021190901452420021141322951291003737852546439178939454558299812294347526636170783788009821717080216846145726851382716183480974588184995512607480565849365060784753968437977289239316267843580937540543849648932276595070403814199107420118980657230928385689794957822509641511965080080361969761954502353871028650908016018610706296002250471835759881176868410082843913524533668415248549573908441036778577019545816123449388108690115784675849551582597706752699576299827433772551578439168342558894828677353053977233305320316947707132344317401004670897693888553158783831418621073508491028444578371704709211336243246096561174390055612153690450513790912764604257001100397538329895606462765105920696989811775573890070226955831549930964082516424294086770227122922316858680679886880391803503478095912811590472154939896543258851497957705038706838109599541634172904723659016149894198983755619807823279360222387409528912472430790848003433685389393073723144764485191858905625693654929682786231795300907478088193623253340203248692378195140019565489250862350486923842188781109230072876587129375289483981042933560181469407 33118370782501574355847415454198850202269561524181839926857762725069613669914803771146730610753328064369660057985611564604616992503532327812099577299248407830507580893955412389741922544831314818000010442112945070412673017517096161822084289441688997107910319970721380927965792356767322241812673030758912968074657999591660587603408522005657052758235744042648267892309402121780201745797627833128005353204423995080757351383175908433585051566271005551219102638458724016468618876346114025054359722681818836523229692183131580874657012293274604912046620070191551488830589792569270207258468151205853906146249140138879431802753975788658592187314312180545181093686647645647264495509592813643610957011586806535221085286507720104151610750115628781434522322187413340480446562849633570628503732709000106311639245665531613335291789546966600628175721329890649661916984766213881956730973226443833797870967431817144547888935818524075459551483940011174072509000964662534095279778497454028672404892143718911289955122717067386258479781299044257763846464585909562681657128700878075697813982112129282274418975393654628453617780154330414032856351349582997245526224147667277796369283417013677361197132409894507810759862832227028438853715124846210177757193061866540140718611461177033256469013277438787497475908415523331425718327028649695861051714847908323383200863777296284479969153999637538619853136558168254913329699383512576292039542691910857526187415138609139876194822709191670395013656063906187012508533203222754849360868898954964081768078781183175430206776219443158720159597942539121725626278551714835888583508068081833214351285590363027513365523540047485940157027938213293854255335871067675713819595987437082437877794552255176609794635528025055356702769720157610192220285419201561062315734893135369914891537733736982791121681798598865721544434251050454793149497453889901234437752186624426511937343809963887945668072855747129550771 53586649578108998601997566545928530913367693824900604504986231301728239622160042589012948137160853825146662452225904622423745334629756037794082555301116446481002256773738831129861741953723533263958915016920402104686819928972652514723732650705764496564966497597273645446955417297039219321226222634664673341454626251519263514589507183151310471017767351093252445808744643035243851126585193010620624965490345515890432204788391120209539489592035096486102224410562598372230550342508250496032714175243070691129153721465169578918868682606052782976169584976765578426968868072090781342451353141070290510782887662451050110603375172363390466648521809044165654193233556344907121586833320135409610581236952468563153899392167540198409628645677039416895962592010577990307585538273234546450198846937520528806175674241112240876957810737868053048196862652841940665654837312653060896185531526256128145397603602600932557710652898740921605278335322727357553483589149658046702760344346819089457158860581696200529271390560648323799023630947976534358916868400108670101776109358109004083503777069951791915930940473734990423379734656684285061507259365601607951822226398139113556250460285423760205110656943562923059309436740668065217430734670662333627145301751982324816568163043774740009168589577266221270027486854691673984613155706002749838285020168225271090333208094697289150866847888190697403684555179241763404358143961884281001250878935156954087361805194221293566645336500104434999270657164303725342404139665987860770057858710730537971838305737014725361170858735867452806929825065461438584306958438595227692086986163994644804823440530259570772217021497752524646995137537754928027160059530083825608018579743056890261157154774642586138707107958815903360136455109550683915365049904393419967941428548065052701123333034644460879315305051939068970236812446190474358638748316240388158279940967733656584813930939339177429649115789307311020178 86705020360610572957844982000127381115637255349082444431843994026797853292074846360159678747914181889516322510211516187028362327133288365606182132600364854311509837667694243519603664498554848081958925459033347175099492946489748676545816940147453493672876817567995026374921209653806541563038895665423586309529284251110924102192915705156967523776003095135900713701054045157024052872382820843748630318694769510971189556171567028643124541158306102037321327049021322388699169218854364521087073897924889527652383413648301159793525694899327387888216205046957129915799457864660051549709821292276144416929136802589929542406129148152049058835836121224710835286920203990554386082342912949053221538248539275098374984678675260302561239395792668198330484914197991330788032101122868117078702579646520635117814919906643854212249600284834653676372583982732590327571822078866942852916504752699961943268571034418077105599588717264997064829819262738531625992590114320580798040122844273118129563752725415111819226513277715710057503412247020792122763332986018232783433238058987079781317759182081074190349915867389618876997514811014699094363610715184605197348450545806391352619743702437437566307789353457430870069299572895093656284449795508543804902494813848864957286774504951773265637602854705008767503395270215005410331482734652445699336735016133594473534071871993573630836001887828236023537691737410018317687843345396857293290421627067811613549220332830433442840159209296105394284313228209912354912672869210615619418727609685502053606384518197900791377634955310611527089423008000560309933236990310063580670494232076478019174726120622598285582545037800010587152165475968221881415395401151501321838175730493972699034949326897762748501743486840958716839224829708294107585335323594981030257163441200422616014870768381443670436986850537934691781246697240929151788245770130289392717693154358083096751274749303065375317188645054440570949 140291669938719571559842548546055912029004949173983048936830225328526092914234888949172626885075035714662984962437420809452107661763044403400264687901481300792512094441433074649465406452278381345917840475953749279786312875462401191269549590853217990237843315165268671821876626950845760884265118300088259650983910502630187616782422888308277994793770446229153159509798688192267903998968013854369255284185115026861621760959958148852664030750341198523423551459583920760929719561362615017119788073167960218781537135113470738712394377505380170864385790023722708342768325936750832892161174433346434927712024465040979653009504320515439525484357930268876489480153760335461507669176233084462832119485491743661528884070842800500970868041469707615226447506208569321095617639396102663528901426584041163923990594147756095089207411022702706724569446635574530993226659391520003749102036278956090088666174637019009663310241616005918670108154585465889179476179263978627500800467191092207586722613307111312348497903838364033856527043194997326481680201386126902885209347417096083864821536252032866106280856341124609300377249467698984155870870080786213149170676943945504908870203987861197771418446297020353929378736313563158873715184466170877432047796565831189773854937548726513274806192431971230037530882124906679394944638440655195537621755184358865563867279966690862781702849776018933427222246916651781722045987307281138294541300562224765700911025527051727009485495709400540393554970392513637697316812535198476389476586320416040025444690255212626152548493691178064334019248073461998894240195428905291272757480396071122823998166650882169057799566535552535234147303013723149908575454931235326929856755473550862960192104101540348887208851445656862076975679939258978022950385227988400998198591989265475317138203803025904549752291902477003662018059143431403510426994086370677550997634122091739681565205688642242804966304434361751591127 226996690299330144517687530546183293144642204523065493368674219355323946206309735309332305632989217604179307472648936996480469988896332769006446820501846155104021932109127318169069070950833229427876765934987096454885805821952149867815366531000671483910720132733263698196797836604652302447304013965511845960513194753741111718975338593465245518569773541365053873210852733349291956871350834698117885602879884537832811317131525177495788571908647300560744878508605243149628888780216979538206861971092849746433920548761771898505920072404707558752601995070679838258567783801410884441870995725622579344641161267630909195415633468667488584320194051493587324767073964326015893751519146033516053657734031018759903868749518060803532107437262375813556932420406560651883649740518970780607604006230561799041805514054399949301457011307537360400942030618307121320798481470386946602018541031656052031934745671437086768909830333270915734937973848204420805468769378299208298840590035365325716286366032526424167724417116079743914030455442018118604443534372145135668642585476083163646139295434113940296630772208514228177374764278713683250234480795970818346519127489751896261489947690298635337726235650477784799448035886458252529999634261679421236950291379680054731141712053678286540443795286676238805034277395121684805276121175307641236958490200492460037401351838684436412538851663847169450759938654061800039733830652677995587831722189292577314460245859882160452325654918696645787839283620723550052229485404409092008895313930101542079051074773410526943926128646488675861108671081462559204173432419215354853427974628147600843172892771504767343382111573352545821299468489691371789990850332386828251694931204044835659227053428438111635710594932497820793814904768967272130535720551583382028455755430465897933153074571407348220189278753014938353799305840672332662215239856500966943715327276449822778316480437945308180283493079416192162076 367288360238049716077530079092239205173647153697048542305504444683850039120544624258504932518064253318842292435086357805932577650659377172406711508403327455896534026550560392818534477403111610773794606410940845734672118697414551059084916121853889474148563447898532370018674463555498063331569132265600105611497105256371299335757761481773523513363543987594207032720651421541559860870318848552487140887064999564694433078091483326348452602658988499084168429968189163910558608341579594555326650044260809965215457683875242637218314449910087729616987785094402546601336109738161717334032170158969014272353185732671888848425137789182928109804551981762463814247227724661477401420695379117978885777219522762421432752820360861304502975478732083428783379926615129972979267379915073444136505432814602962965796108202156044390664422330240067125511477253881652314025140861906950351120577310612142120600920308456096432220071949276834405046128433670309984944948642277835799641057226457533303008979339637736516222320954443777770557498637015445086123735758272038553851932893179247510960831686146806402911628549638837477752013746412667406105350876757031495689804433697401170360151678159833109144681947498138728826772200021411403714818727850298668998087945511244504996649602404799815249987718647468842565159520028364200220759615962836774580245384851325601268631805375299194241701439866102877982185570713581761779817959959133882373022751517343015371271386933887461811150628097186181394254013237187749546297939607568398371900250517582104495765028623153096474622337666740195127919154924558098413627848120646126185455024218723667171059422386936401181678108905081055446771503414521698566305263622155181551686677595698619419157529978460522919446378154682870790584708226250153486105779571783026654347419731373250291278374433252769941570655491942015817364984103736172642233942871644494712961398541562459881686126587550985249797513777943753203 594285050537379860595217609638422498318289358220114035674178664039173985326854359567837238151053470923021599907735294802413047639555709941413158328905173611000555958659687710987603548353944840201671372345927942189557924519366700926900282652854560958059283580631796068215472300160150365778873146231111951572010300010112411054733100075238769031933317528959260905931504154890851817741669683250605026489944884102527244395223008503844241174567635799644913308476794407060187497121796574093533512015353659711649378232637014535724234522314795288369589780165082384859903893539572601775903165884591593616994347000302798043840771257850416694124746033256051139014301688987493295172214525151494939434953553781181336621569878922108035082915994459242340312347021690624862917120434044224744109439045164762007601622256555993692121433637777427526453507872188773634823622332293896953139118342268194152535665979893183201129902282547750139984102281874730790413718020577044098481647261822859019295345372164160683946738070523521684587954079033563690567270130417174222494518369262411157100127120260746699542400758153065655126778025126350656339831672727849842208931923449297431850099368458468446870917597975923528274808086479663933714452989529719905948379325191299236138361656083086355693783005323707647599436915150049005496880791270478011538735585343785638669983644059735606780553103713272328742124224775381801513648612637129470204744940809920329831517246816047914136805546793831969233537633960737801775783344016660407267214180619124183546839802033680040400750984155416056236590236387117302587060267336000979613429652366324510343952193891703744563789682257626876746239993105893488557155596008983433246617881640534278646210958416572158630041310652503664605489477193522284021826331155165055110102850197271183444352945840600990130849408506880369616670824776068834857473799372611438428288674991385238198166564532859165533290593194135915279 961573410775429576672747688730661703491936511917162577979683108723024024447398983826342170669117724241863892342821652608345625290215087113819869837308501066897089985210248103806138025757056450975465978756868787924230043216781251985985198774708450432207847028530328438234146763715648429110442278496712057183507405266483710390490861557012292545296861516553467938652155576432411678611988531803092167377009883667221677473314491830192693777226624298729081738444983570970746105463376168648860162059614469676864835916512257172942548972224883017986577565259484931461240003277734319109935336043560607889347532732974686892265909047033344803929298015018514953261529413648970696592909904269473825212173076543602769374390239783412538058394726542671123692273636820597842184500349117668880614871859767724973397730458712038082785855968017494651964985126070425948848763194200847304259695652880336273136586288349279633349974231824584545030230715545040775358666662854879898122704488280392322304324711801897200169059024967299455145452716049008776691005888689212776346451262441658668060958806407553102454029307791903132878791771539018062445182549484881337898736357146698602210251046618301556015599545474062257101580286501075337429271717380018574946467270702543741135011258487886170943770723971176490164596435178413205717640407233314786118980970195111239938615449435034801022254543579375206724309795488963563293466572596263352577767692327263345202788633749935375947956174891018150627791647197925551322081283624228805639114431136706288042604830656833136875373321822156251364509391311675401000688115456647105798884676585048177515011616278640145745467791162707932193011496520415187123460859631138614798304559236232898065368488395032681549487688807186535396074185419772437507932110726948081764450269928644433735631320273853760072420063998822385434035808879805007499707742244255933141250073532947698079852691120410150783088106972079668482 1555858461312809437267965298369084201810225870137276613653861772762198009774253343394179408820171195164885492250556947410758672929770797055233028166213674677897645943869935814793741574111001291177137351102796730113787967736147952912885481427563011390267130609162124506449619063875798794889315424727824008755517705276596121445223961632251061577230179045512728844583659731323263496353658215053697193866954767769748921868537500334036934951794260098373995046921777978030933602585172742742393674074968129388514214149149271708666783494539678306356167345424567316321143896817306920885838501928152201506341879733277484936106680304883761498054044048274566092275831102636463991765124429420968764647126630324784105995960118705520573141310721001913464004620658511222705101620783161893624724310904932486980999352715268031774907289605794922178418492998259199583672385526494744257398813995148530425672252268242462834479876514372334685014332997419771565772384683431923996604351750103251341599670083966057884115797095490821139733406795082572467258276019106386998840969631704069825161085926668299801996430065944968788005569796665368718785014222212731180107668280595996034060350415076770002886517143449985785376388372980739271143724706909738480894846595893842977273372914570972526637553729294884137764033350328462211214521198503792797657716555538896878608599093494770407802807647292647535466434020264345364807115185233392822782512633137183675034305880565983290084761721684850119861329281158663353097864627640889212906328611755830471589444632690513177276124305977572307601099627698792703587748382792648085412314328951372687858963810170343890309257473420334808939251489626308675680616455640122048044922440876767176711579446811604840179528999459690200001563662613294721529758441882113136874553120125915617179984266114454750203269472505702755050706633655873842357181541616867371569538748524332936278019255653269316316378700166215583761 2517431872088239013940712987099745905302162382054439191633544881485222034221652327220521579489288919406749384593378600019104298219985884169052898003522175744794735929080183918599879599868057742152603329859665518038018010952929204898870680202271461822474977637692452944683765827591447223999757703224536065939025110543079831835714823189263354122527040562066196783235815307755675174965646746856789361243964651436970599341851992164229628729020884397103076785366761549001679708048548911391253836134582599065379050065661528881609332466764561324342744910684052247782383900095041239995773837971712809395689412466252171828372589351917106301983342063293081045537360516285434688358034333690442589859299706868386875370350358488933111199705447544584587696894295331820547286121132279562505339182764700211954397083173980069857693145573812416830383478124329625532521148720695591561658509648028866698808838556591742467829850746196919230044563712964812341131051346286803894727056238383643663903994795767955084284856120458120594878859511131581243949281907795599775187420894145728493222044733075852904450459373736871920884361568204386781230196771697612518006404637742694636270601461695071558902116688924048042477968659481814608572996424289757055841313866596386718408384173058858697581324453266060627928629785506875416932161605737107583776697525734008118547214542929805208825062190872022742190743815753308928100581757829656175360280325464447020237094514315918666032717896575868270489120928356588904419945911265118018545443042892536759632049463347346314151497627799728558965609019010468104588436498249295191211199005536420865373975426448984036054725264583042741132262986146723862804077315271260662843227000113000074776947935206637521729016688266876735397637848033067159037690552609061218639003390054560050915615586388308510275689536504525140484742442535678849856889283861123304710788822057280634357871946773679467099466807138295252243 4073290333401048451208678285468830107112388252191715805287406654247420043995905670614700988309460114571634876843935547429862971149756681224285926169735850422692381872950119733393621173979059033329740680962462248151805978689077157811756161629834473212742108246854577451133384891467246018889073127952360074694542815819675953280938784821514415699757219607578925627819475039078938671319304961910486555110919419206719521210389492498266563680815144495477071832288539527032613310633721654133647510209550728453893264214810800590276115961304239630698912256108619564103527796912348160881612339899865010902031292199529656764479269656800867800037386111567647137813191618921898680123158763111411354506426337193170981366310477194453684341016168546498051701514953843043252387741915441456130063493669632698935396435889248101632600435179607339008801971122588825116193534247190335819057323643177397124481090824834205302309727260569253915058896710384583906903436029718727891331407988486895005503664879734012968400653215948941734612266306214153711207557926901986774028390525849798318383130659744152706446889439681840708889931364869755500015210993910343698114072918338690670330951876771841561788633832374033827854357032462553879716721131199495536736160462490229695681757087629831224218878182560944765692663135835337628146682804240900381434414081272904997155813636424575616627869838164670277657177836017654292907696943063048998142792958601630695271400394881901956117479618260718390350450209515252257517810538906007231451771654648367231221494096037859491427621933777300866566708646709260808176184881041943276623513334487793553232939236619327926363982738003377550071514475773032538484693770911382710888149440989767251488527382018242361908545687726566935399201510646361880567448994491174355513556510180475668095599852502763260478959009010227895535449076191552692214070825477990676280327570581613570635891202426948783415845507304510836004 6590722205489287465149391272568576012414550634246154996920951535732642078217557997835222567798749033978384261437314147448967269369742565393338824173258026167487117802030303651993500773847116775482344010822127766189823989642006362710626841832105935035217085884547030395817150719058693242888830831176896140633567926362755785116653608010777769822284260169645122411055290346834613846284951708767275916354884070643690120552241484662496192409836028892580148617655301076034293018682270565524901346344133327519272314280472329471885448428068800955041657166792671811885911697007389400877386177871577820297720704665781828592851859008717974102020728174860728183350552135207333368481193096801853944365726044061557856736660835683386795540721616091082639398409249174863799673863047721018635402676434332910889793519063228171490293580753419755839185449246918450648714682967885927380715833291206263823289929381425947770139578006766173145103460423349396248034487376005531786058464226870538669407659675501968052685509336407062329491125817345734955156839834697586549215811419995526811605175392820005610897348813418712629774292933074142281245407765607956216120477556081385306601553338466913120690750521298081870332325691944368488289717555489252592577474329086616414090141260688689921800202635827005393621292921342213045078844409978007965211111607006913115703028179354380825452932029036693019847921651770963221008278700892705173503073284066077715508494909197820622150197514836586660839571137871841161937756450171125249997214697540903990853543559385205805579119561577029425532317665719728912764621379291238467834712340024214418606914663068311962418708002586420291203777461919756401288771086182643373731376441102767326265475317224879883637562375993443670796839358679429039605139547100235574152559900235035719011215438891071770754648545514753036020191518727231542070960109339113980991116392638894204993763149200628250515312314442806088247 10664012538890335916358069558037406119526938886437870802208358189980062122213463668449923556108209148550019138281249694878830240519499246617624750342993876590179499674980423385387121947826175808812084691784590014341629968331083520522383003461940408247959194131401607846950535610525939261777903959129256215328110742182431738397592392832292185522041479777224048038874765385913552517604256670677762471465803489850409641762630977160762756090651173388057220449943840603066906329315992219658548856553684055973165578495283130062161564389373040585740569422901291375989439493919737561758998517771442831199751996865311485357331128665518841902058114286428375321163743754129232048604351859913265298872152381254728838102971312877840479881737784637580691099924203017907052061604963162474765466170103965609825189954952476273122894015933027094847987420369507275764908217215076263199773156934383660947771020206260153072449305267335427060162357133733980154937923405724259677389872215357433674911324555235981021086162552356004064103392123559888666364397761599573323244201945845325129988306052564158317344238253100553338664224297943897781260618759518299914234550474420075976932505215238754682479384353672115698186682724406922368006438686688748129313634791576846109771898348318521146019080818387950159313956057177550673225527214218908346645525688279818112858841815778956442080801867201363297505099487788617513915975643955754171645866242667708410779895304079722578267677133097305051190021347387093419455566989077132481448986352189271222075037655423065297006741495354330292099026312428989720940806260333181744458225674512007971839853899687639888782690740589797841275291937692788939773464857094026084619525882092534577754002699243122245546108063720010606196040869325790920172588541591409929666116410415511387106815291393835031233607554524980931555640594918784234285030934817104657271443963220507775629654351627577033931157821747316924251 17254734744379623381507460830605982131941489520684025799129309725712704200431021666285146123906958182528403399718563842327797509889241812010963574516251902757666617477010727037380622721673292584294428702606717780531453957973089883233009845294046343283176280015948638242767686329584632504666734790306152355961678668545187523514246000843069955344325739946869170449930055732748166363889208379445038387820687560494099762314872461823258948500487202280637369067599141679101199347998262785183450202897817383492437892775755459534047012817441841540782226589693963187875351190927126962636384695643020651497472701531093313950182987674236816004078842461289103504514295889336565417085544956715119243237878425316286694839632148561227275422459400728663330498333452192770851735468010883493400868846538298520714983474015704444613187596686446850687172869616425726413622900182962190580488990225589924771060949587686100842588883274101600205265817557083376402972410781729791463448336442227972344318984230737949073771671888763066393594517940905623621521237596297159872460013365840851941593481445384163928241587066519265968438517231018040062506026525126256130355028030501461283534058553705667803170134874970197568519008416351290856296156242178000721891109120663462523862039609007211067819283454214955552935248978519763718304371624196916311856637295286731228561869995133337267533733896238056317353021139559580734924254344848459345148939526733786126288390213277543200417874647933891712029592485258934581393323439248257731446201049730175212928581214808271102585861056931359717631343978148718633705427639624420212292938014536222390446768562755951851201398743176218132479069399612545341062235943276669458350902323195301904019478016468002129183670439713454276992880228005219959777728088691645503818676310650547106118030730284906801988256100039733967575832113646015776355991044156218638262560355859401980623417500828205284446470136190123012498 27918747283269959297865530388643388251468428407121896601337667915692766322644485334735069680015167331078422537999813537206627750408741058628588324859245779347846117151991150422767744669499468393106513394391307794873083926304173403755392848755986751531135474147350246089718221940110571766444638749435408571289789410727619261911838393675362140866367219724093218488804821118661718881493465050122800859286491050344509404077503438984021704591138375668694589517542982282168105677314255004841999059451501439465603471271038589596208577206814882126522796012595254563864790684846864524395383213414463482697224698396404799307514116339755657906136956747717478825678039643465797465689896816628384542110030806571015532942603461439067755304197185366244021598257655210677903797072974045968166335016642264130540173428968180717736081612619473945535160289985933002178531117398038453780262147159973585718831969793946253915038188541437027265428174690817356557910334187454051140838208657585406019230308785973930094857834441119070457697910064465512287885635357896733195704215311686177071581787497948322245585825319619819307102741528961937843766645284644556044589578504921537260466563768944422485649519228642313266705691140758213224302594928866748851204743912240308633633937957325732213838364272602905712249205035697314391529898838415824658502162983566549341420711810912293709614535763439419614858120627348198248840229988804213516794805769401494537068285517357265778685551781031196763219613832646028000848890428325390212895187401919446435003618870231336399592602552285690009730370290577708354646233899957601956751163689048230362286622462443591739984089483766015973754361337305334280835700800370695542970428205287836481773480715711124374729778503433464883188921097331010879950316630283055433484792721066058493224846021678741833221863654564714899131472708564800010641021978973323295534004319079909756253071852455782318377627957937439936749 45173482027649582679372991219249370383409917927805922400466977641405470523075507001020215803922125513606825937718377379534425260297982870639551899375497682105512734629001877460148367391172760977400942096998025575404537884277263286988402694050033094814311754163298884332485908269695204271111373539741560927251468079272806785426084394518432096210692959670962388938734876851409885245382673429567839247107178610838609166392375900807280653091625577949331958585142123961269305025312517790025449262349318822958041364046794049130255590024256723667305022602289217751740141875773991487031767909057484134194697399927498113257697104013992473910215799209006582330192335532802362882775441773343503785347909231887302227782235610000295030726656586094907352096591107403448755532540984929461567203863180562651255156902983885162349269209305920796222333159602358728592154017581000644360751137385563510489892919381632354757627071815538627470693992247900732960882744969183842604286545099813378363549293016711879168629506329882136851292428005371135909406872954193893068164228677527029013175268943332486173827412386139085275541258759979977906272671809770812174944606535422998544000622322650090288819654103612510835224699557109504080598751171044749573095853032903771157495977566332943281657647726817861265184454014217078109834270462612740970358800278853280569982581806045630977148269659677475932211141766907778983764484333652672861943745296135280663356675730634808979103426428965088475249206317904962582242213867573647944341388451649621647932200085039607502178463609217049727361714268726426988351661539582022169044101703584452752733391025199543591185488226942234106233430736917879621897936743647365001321330528483138385792958732179126503913448943146919160181801325336230839728044718974700937303469031716605599342876751963648635210119754604448866707304822210815786997013023129541933796564674939311736876489353283987602824098094127562949247 73092229310919541977238521607892758634878346334927819001804645557098236845719992335755285483937292844685248475718190916741053010706723929268140224234743461453358851780993027882916112060672229370507455491389333370277621810581436690743795542806019846345447228310649130422204130209805776037556012289176969498541257490000426047337922788193794237077060179395055607427539697970071604126876138479690640106393669661183118570469879339791302357682763953618026548102685106243437410702626772794867448321800820262423644835317832638726464167231071605793827818614884472315604932560620856011427151122471947616891922098323902912565211220353748131816352755956724061155870375176268160348465338589971888327457940038458317760724839071439362786030853771461151373694848762614126659329613958975429733538879822826781795330331952065880085350821925394741757493449588291730770685134979039098141013284545537096208724889175578608672665260356975654736122166938718089518793079156637893745124753757398784382779601802685809263487340771001207308990338069836648197292508312090626263868443989213206084757056441280808419413237705758904582644000288941915750039317094415368219534185040344535804467186091594512774469173332254824101930390697867717304901346099911498424300596945144079791129915523658675495496011999420766977433659049914392501364169301028565628860963262419829911403293616957924686762805423116895547069262394255977232604714322456886378738551065536775200424961247992074757788978209996285238468820150550990583091104295899038157236575853569068082935818955270943901771066161502739737092084559304135342997895439539624125795265392632683115020013487643135331169577710708250079987792074223213902733637544018060544291758733770974867566439447890250878643227446580384043370722422667241719678361349257756370788261752782664092567722773642390468431983409169163765838777530775615797638035002102865229330568994019221493129561205739769921201726052065002885996 118265711338569124656611512827142129018288264262733741402271623198503707368795499336775501287859418358292074413436568296275478271004706799907692123610241143558871586409994905343064479451844990347908397588387358945682159694858699977732198236856052941159758982473948014754690038479500980308667385828918530425792725569273232832764007182712226333287753139066017996366274574821481489372258811909258479353500848272021727736862255240598583010774389531567358506687827230204706715727939290584892897584150139085381686199364626687856719757255328329461132841217173690067345074436394847498458919031529431751086619498251401025822908324367740605726568555165730643486062710709070523231240780363315392112805849270345619988507074681439657816757510357556058725791439870017575414862154943904891300742743003389433050487234935951042434620031231315537979826609190650459362839152560039742501764421931100606698617808557210963430292332172514282206816159186618822479675824125821736349411298857212162746328894819397688432116847100883344160282766075207784106699381266284519332032672666740235097932325384613294593240650091897989858185259048921893656311988904186180394478791575767534348467808414244603063288827435867334937155090254977221385500097270956247997396449978047850948625893089991618777153659726238628242618113064131470611198439763641306599219763541273110481385875423003555663911075082794371479280404161163756216369198656109559240682296361672055863781636978626883736892404638961373713718026468455953165333318163472686101577964305218689730868019040310551403949529770719789464453798828030562331349556979121646294839367096217135867753404512842678922355065937650484186221222811141093524631574287665425545613089262254113253359398180069377382556676389727303203552523748003472559406406068232457308091730784499269691910599525606039103642103163773612632546082352986431584635048025232407163127133668958533230006050559023757524025824146192565835243 191357940649488666633850034435034887653166610597661560404076268755601944214515491672530786771796711202977322889154759213016531281711430729175832347844984605012230438190987933225980591512517219718415853079776692315959781505440136668475993779662072787505206210784597145176894168689306756346223398118095499924333983059273658880101929970906020570364813318461073603793814272791553093499134950388949119459894517933204846307332134580389885368457153485185385054790512336448144126430566063379760345905950959347805331034682459326583183924486399935254960659832058162382950006997015703509886070154001379367978541596575303938388119544721488737542921311122454704641933085885338683579706118953287280440263789308803937749231913752879020602788364129017210099486288632631702074191768902880321034281622826216214845817566888016922519970853156710279737320058778942190133524287539078840642777706476637702907342697732789572102957592529489936942938326125336911998468903282459630094536052614610947129108496622083497695604187871884551469273104145044432303991889578375145595901116655953441182689381825894103012653887797656894440829259337863809406351305998601548614012976616112070152934994505839115837758000768122159039085480952844938690401443370867746421697046923191930739755808613650294272649671725659395220051772114045863112562609064669872228080726803692940392789169039961480350673880505911267026349666555419733448973912978566445619420847427208831064206598226618958494681382848957658952186846619006943748424422459371724258814540158787757813803837995581495305720595932222529201545883387334697674347452418661270420634632488849818982773418000485814253524643648358734266209014885364307427365211831683486089904847996025088120925837627959628261199903836307687246923246170670714279084767417490213678879992537281933784478322299248429572074086572942776398384859883762047382273083027335272392457702662977754723135611764763527445227550198257568721239 309623651988057791290461547262177016671454874860395301806347891954105651583310991009306288059656129561269397302591327509292009552716137529083524471455225748571102024600982838569045070964362210066324250668164051261641941200298836646208192016518125728664965193258545159931584207168807736654890783947014030350126708628546891712865937153618246903652566457527091600160088847613034582871393762298207598813395366205226574044194389820988468379231543016752743561478339566652850842158505353964653243490101098433187017234047086014439903681741728264716093501049231852450295081433410551008344989185530811119065161094826704964211027869089229343269489866288185348127995796594409206810946899316602672553069638579149557737738988434318678419545874486573268825277728502649277489053923846785212335024365829605647896304801823967964954590884388025817717146667969592649496363440099118583144542128407738309605960506290000535533249924702004219149754485311955734478144727408281366443947351471823109875437391441481186127721034972767895629555870220252216410691270844659664927933789322693676280621707210507397605894537889554884299014518386785703062663294902787729008491768191879604501402802920083718901046828203989493976240571207822160075901540641823994419093496901239781688381701703641913049803331451898023462669885178177333723761048828311178827300490344966050874175044462965036014584955588705638505630070716583489665343111634676004860103143788880886927988235205245842231573787487919032665904873087462896913757740622844410360392504464006447544671857035892046709670125702942318665999682215365260005697009397782916715473999585066954850526822513328493175879709586009218452430237696505400951996786119348911635517937258279201374285235808029005643756580226034990450475769918674186838491173485722670986971723321781203476388921824854468675716189736716389030930942236748478966908131052567679555584836331936287953141662323787284969253374344450134556482 500981592637546457924311581697211904324621485458056862210424160709707595797826482681837074831452840764246720191746086722308540834427568258259356819300210353583332462791970771795025662476879429784740103747940743577601722705738973314684185796180198516170171404043142305108478375858114493001114182065109530274460691687820550592967867124524267474017379775988165203953903120404587676370528712687156718273289884138431420351526524401378353747688696501938128616268851903100994968589071417344413589396052057780992348268729545341023087606228128199971054160881290014833245088430426254518231059339532190487043702691402008902599147413810718080812411177410640052769928882479747890390653018269889952993333427887953495486970902187197699022334238615590478924764017135280979563245692749665533369305988655821862742122368711984887474561737544736097454466726748534839629887727638197423787319834884376012513303204022790107636207517231494156092692811437292646476613630690740996538483404086434057004545888063564683823325222844652447098828974365296648714683160423034810523834905978647117463311089036401500618548425687211778739843777724649512469014600901389277622504744807991674654337797425922834738804828972111653015326052160667098766302984012691740840790543824431712428137510317292207322453003177557418682721657292223196836323657892981051055381217148658991266964213502926516365258836094616905531979737272003223114317024613242450479523991216089717992194833431864800726255170336876691618091719706469840662182163082216134619207044622794205358475695031473542015390721635164847867545565602699957680044461816444187136108632073916773833300240513814307429404353234367952718639252581869708379361997951032397725422785254304289495211073435988633904956484062342677697399016089344901117575940903212884665851715859063137260867244124102898247790276309659165429315802120510526349181214079902951948042538994914042676277274088550812414480924542707703277721 810605244625604249214773128959388920996076360318452164016772052663813247381137473691143362891108970325516117494337414231600550387143705787342881290755436102154434487392953610364070733441241639851064354416104794839243663906037809960892377812698324244835136597301687465040062583026922229656004966012123560624587400316367442305833804278142514377669946233515256804113991968017622259241922474985364317086685250343657994395720914222366822126920239518690872177747191469753845810747576771309066832886153156214179365502776631355462991287969856464687147661930521867283540169863836805526576048525063001606108863786228713866810175282899947424081901043698825400897924679074157097201599917586492625546403066467103053224709890621516377441880113102163747750041745637930257052299616596450745704330354485427510638427170535952852429152621932761915171613394718127489126251167737316006931861963292114322119263710312790643169457441933498375242447296749248380954758358099022362982430755558257166879983279505045869951046257817420342728384844585548865125374431267694475451768695301340793743932796246908898224442963576766663038858296111435215531677895804177006630996512999871279155740600346006553639851657176101146991566623368489258842204524654515735259884040725671494116519212020934120372256334629455442145391542470400530560084706721292229882681707493625042141139257965891552379843791683322544037609807988586712779660136247918455339627135004970604920183068637110642957828957824795724283996592793932737575939903705060544979599549086800652903147552067365588725060847338107166533545247818065217685741471214227103851582631658983728683827063027142800605284062820377171171069490278375109331358784070381309360940722512583490869496309244017639548713064288377668147874786008019087956067114388935555652823439180844340737256165948957366923506466046375554460246744357259005316089345132470631503627375326850330629418936412338097383734298887157837834203 1311586837263150707139084710656600825320697845776509026227196213373520843178963956372980437722561811089762837686083500953909091221571274045602238110055646455737766950184924382159096395918121069635804458164045538416845386611776783275576563608878522761005308001344829770148540958885036722657119148077233090899048092004187992898801671402666781851687326009503422008067895088422209935612451187672521035359975134482089414747247438623745175874608936020629000794016043372854840779336648188653480422282205213995171713771506176696486078894197984664658201822811811882116785258294263060044807107864595192093152566477630722769409322696710665504894312221109465453667853561553904987592252935856382578539736494355056548711680792808714076464214351717754226674805762773211236615545309346116279073636343141249373380549539247937739903714359477498012626080121466662328756138895375513430719181798176490334632566914335580750805664959164992531335140108186541027431371988789763359520914159644691223884529167568610553774371480662072789827213818950845513840057591690729285975603601279987911207243885283310398842991389263978441778702073836084728000692496705566284253501257807862953810078397771929388378656486148212800006892675529156357608507508667207476100674584550103206544656722338226327694709337807012860828113199762623727396408364614273280938062924642284033408103471468818068745102627777939449569589545260589935893977160861160905819151126221060322912377902068975443684084128161672415902088312500402578238122066787276679598806593709594858261623247098839130740451568973272014401090813420765175365785933030671290987691263732900502517127303540957108034688416054745123889708742860244817710720782021413707086363507766887780364707382680006273453669548350720345845273802097363989073643055292148440318675155039907477998123410073060265171296742356034719889562546477769531665270559212373583451669914321764373305696210500888909798215223429865541111924 2122192081888754956353857839615989746316774206094961190243968266037334090560101430064123800613670781415278955180420915185509641608714979832945119400811082557892201437577877992523167129359362709486868812580150333256089050517814593236468941421576847005840444598646517235188603541911958952313124114089356651523635492320555435204635475680809296229357272243018678812181887056439832194854373662657885352446660384825747409142968352846111998001529175539319872971763234842608686590084224959962547255168358370209351079274282808051949070182167841129345349484742333749400325428158099865571383156389658193699261430263859436636219497979610612928976213264808290854565778240628062084793852853442875204086139560822159601936390683430230453906094464819917974424847508411141493667844925942567024777966697626676884018976709783890592332866981410259927797693516184789817882390063112829437651043761468604656751830624648371393975122401098490906577587404935789408386130346888785722503344915202948390764512447073656423725417738479493132555598663536394378965432022958423761427372296581328704951176681530219297067434352840745104817560369947519943532370392509743290884497770807734232965818998117935942018508143324313946998459298897645616450712033321723211360558625275774700661175934359160448066965672436468302973504742233024257956493071335565510820744632135909075549242729434709621124946419461261993607199353249176648673637297109079361158778261226030927832560970706086086641913085986468140186084905294335315814061970492337224578406142796395511164770799166204719465512416311379180934636061238830393051527404244898394839273895391884231200954366568099908639972478875122295060778233138619927042079566091795016447304230279471271234203691924023913002382612639098013993148588105383077029710169681083995971498594220751818735379576022017632094803208402410274349809290835028536981359904344844214955297289648614703935115146913227007181949522317023378946127 3433778919151905663492942550272590571637472051871470216471164479410854933739065386437104238336232592505041792866504416139418732830286253878547357510866729013629968387762802374682263525277483779122673270744195871672934437129591376512045505030455369766845752599991347005337144500796995674970243262166589742422683584324743428103437147083476078081044598252522100820249782144862042130466824850330406387806635519307836823890215791469857173876138111559948873765779278215463527369420873148616027677450563584204522793045788984748435149076365825794003551307554145631517110686452362925616190264254253385792413996741490159405628820676321278433870525485917756308233631802181967072386105789299257782625876055177216150648071476238944530370308816537672201099653271184352730283390235288683303851603040767926257399526249031828332236581340887757940423773637651452146638528958488342868370225559645094991384397538983952144780787360263483437912727513122330435817502335678549082024259074847639614649041614642266977499789219141565922382812482487239892805489614649153047402975897861316616158420566813529695910425742104723546596262443783604671533062889215309575137999028615597186775897395889865330397164629472526747005351974426801974059219541988930687461233209825877907205832656697386775761675010243481163801617941995647985352901435949838791758807556778193108957346200903527689870049047239201443176788898509766584567614457970240266977929387447091250744938872775061530325997214148140556088173217794737894052184037279613904177212736505990369426394046265043850205963985284651195335726874659595568417313337275569685826965159124784733718081670109057016674660894929867418950486975998864744752800348113208723533667738046359051598911074604030186456052160989818359838422390202747066103353224973232436290173749260659296733502986095077897266099950758444994239371837312798068646630463557217798406967203970379077240811357414115916980164745746888920058051 5555971001040660619846800389888580317954246257966431406715132745448189024299166816501228038949903373920320748046925331324928374439001233711492476911677811571522169825340680367205430654636846488609542083324346204929023487647405969748514446452032216772686197198637864240525748042708954627283367376255946393946319076645298863308072622764285374310401870495540779632431669201301874325321198512988291740253295904133584233033184144315969171877667287099268746737542513058072213959505098108578574932618921954413873872320071792800384219258533666923348900792296479380917436114610462791187573420643911579491675427005349596041848318655931891362846738750726047162799410042810029157179958642742132986712015615999375752584462159669174984276403281357590175524500779595494223951235161231250328629569738394603141418502958815718924569448322298017868221467153836241964520919021601172306021269321113699648136228163632323538755909761361974344490314918058119844203632682567334804527603990050588005413554061715923401225206957621059054938411146023634271770921637607576808830348194442645321109597248343748992977860094945468651413822813731124615065433281725052866022496799423331419741716394007801272415672772796840694003811273324447590509931575310653898821791835101652607867008591056547223828640682679949466775122684228672243309394507285404302579552188914102184506588930338237310994995466700463436783988251758943233241251755079319628136707648673122178577499843481147616967910300134608696274258123089073209866246007771951128755618879302385880591164845431248569671476401596030376270362935898425961468840741520468080666239054516668964919036036677156925314633373804989714011265209137484671794879914205003739980971968325830322833114766528054099458434773628916373831570978308130143133063394654316432261672343481411115468882562117095529360903159160855268589181128147826605627990367902062013362264493618993781175926504327342924162114268063912299004178 8989749920192566283339742940161170889591718309837901623186297224859043958038232202938332277286135966425362540913429747464347107269287487590039834422544540585152138213103482741887694179914330267732215354068542076601957924776997346260559951482487586539531949798629211245862892543505950302253610638422536136369002660970042291411509769847761452391446468748062880452681451346163916455788023363318698128059931423441421056923399935785826345753805398659217620503321791273535741328925971257194602610069485538618396665365860777548819368334899492717352452099850625012434546801062825716803763684898164965284089423746839755447477139332253169796717264236643803471033041844991996229566064432041390769337891671176591903232533635908119514646712097895262376624154050779846954234625396519933632481172779162529398818029207847547256806029663185775808645240791487694111159447980089515174391494880758794639520625702616275683536697121625457782403042431180450280021135018245883886551863064898227620062595676358190378724996176762624977321223628510874164576411252256729856233324092303961937268017815157278688888285837050192198010085257514729286598496170940362441160495828038928606517613789897666602812837402269367441009163247751249564569151117299584586283025044927530515072841247753933999590315692923430630576740626224320228662295943235243094338359745692295293463935131241765000865044513939664879960777150268709817808866213049559895114637036120213429322438716256209147293907514282749252362431340883811103918430045051565032932831615808376250017558891696292419877440386880681571606089810558021529886154078796037766493204213641453698637117706786213941989294268734857132961752185136349416547680262318212463514639706372189374432025841132084285914486934618734733669993368510877209236416619627548868551846092742070412202385548212173426627003109919300262828552965460624674274620831459279811769231697589372858416737861741458841142279013810801219062229 14545720921233226903186543330049751207545964567804333029901429970307232982337399019439560316236039340345683288960355078789275481708288721301532311334222352156674308038444163109093124834551176756341757437392888281530981412424403316009074397934519803312218146997267075486388640586214904929536978014678482530315321737615341154719582392612046826701848339243603660085113120547465790781109221876306989868313227327575005289956584080101795517631472685758486367240864304331607955288431069365773177542688407493032270537685932570349203587593433159640701352892147104393351982915673288507991337105542076544775764850752189351489325457988185061159564002987369850633832451887802025386746023074783523756049907287175967655816995795577294498923115379252852552148654830375341178185860557751183961110742517557132540236532166663266181375477985483793676866707945323936075680367001690687480412764201872494287656853866248599222292606882987432126893357349238570124224767700813218691079467054948815625476149738074113779950203134383684032259634774534508436347332889864306665063672286746607258377615063501027681866145931995660849423908071245853901663929452665415307182992627462260026259330183905467875228510175066208135012974521075697155079082692610238485104816880029183122939849838810481223418956375603380097351863310452992471971690450520647396917911934606397477970524061580002311860039980640128316744765402027653051050117968128879523251344684793335607899938559737356764261817814417357948636689463972884313784676052823516161688450495110762130608723737127540989548916788476711947876452746456447491354994820316505847159443268158122663556153743463370867303927642539846846973017394273834088342560176523216203495611674698019697265140607660138385372921708247651107501564346819007352369480014281865300813518436223481527671268110329268955987906269080155531417734093608451279902611199361341825131496191208366639592664366068801765304393281874713518066407 23535470841425793186526286270210922097137682877642234653087727195166276940375631222377892593522175306771045829873784826253622588977576208891572145756766892741826446251547645850980819014465507024073972791461430358132939337201400662269634349417007389851750096795896286732251533129720855231790588653101018666684324398585383446131092162459808279093294807991666540537794571893629707236897245239625687996373158751016426346879984015887621863385278084417703987744186095605143696617357040622967780152757893031650667203051793347898022955928332652358053804991997729405786529716736114224795100790440241510059854274499029106936802597320438230956281267224013654104865493732794021616312087506824914525387798958352559559049529431485414013569827477148114928772808881155188132420485954271117593591915296719661939054561374510813438181507648669569485511948736811630186839814981780202654804259082631288927177479568864874905829304004612889909296399780419020404245902719059102577631330119847043245538745414432304158675199311146309009580858403045382600923744142121036521296996379050569195645632878658306370754431769045853047433993328760583188262425623605777748343488455501188632776943973803134478041347577335575576022137768826946719648233809909823071387841924956713638012691086564415223009272068526810727928603936677312700633986393755890491256271680298692771434459192821767312725084494579793196705542552296362868858984181178439418365981720913549037222377275993565911555725328700107200999120804856695417703106097875081194621282110919138380626282628823833409426357175357393519482542557014469021241148899112543613652647481799576362193271450249584809293221911274703979934769579410183504890240438841428667010251381070209071697166448792222671287408642866385841171557715329884561605896633909414169365364528965551939873653658541442382614909378999455794246287059069075954177232030820621636900727888797739498009402227810260606446672295685514737128636 38081191762659020089712829600260673304683647445446567682989157165473509922713030241817452909758214647116729118834139905042898070685864930193104457090989244898500754289991808960073943849016683780415730228854318639663920749625803978278708747351527193163968243793163362218640173715935760161327566667779501196999646136200724600850674555071855105795143147235270200622907692441095498018006467115932677864686386078591431636836568095989417381016750770176190354985050399936751651905788109988740957695446300524682937740737725918247226543521765811998755157884144833799138512632409402732786437895982318054835619125251218458426128055308623292115845270211383504738697945620596047003058110581608438281437706245528527214866525227062708512492942856400967480921463711530529310606346512022301554702657814276794479291093541174079619556985634153363162378656682135566262520181983470890135217023284503783214834333435113474128121910887600322036189757129657590528470670419872321268710797174795858871014895152506417938625402445529993041840493177579891037271077031985343186360668665797176454023247942159334052620577701041513896857901400006437089926355076271193055526481082963448659036274157708602353269857752401783711035112289902643874727316502520061556492658804985896760952540925374896446428228444130190825280467247130305172605676844276537888174183614905090249404983254401769624585124475219921513450307954324015919909102149307318941617326405706884645122315835730922675817543143117465149635810268829579731487782150698597356309732606029900511235006365951374398975273963834105467358995303470916512596143719429049460812090749957699025749425193712955676597149553814550826907786973684017593232800615364644870505863055768228768962307056452361056660330351114036948673122062148891913975376648191279470178882965189033467544921768870711338602815648079611325664021152677527234079843230181963462032224080006106137602066593879062371751065577560228255195043 61616662604084813276239115870471595401821330323088802336076884360639786863088661464195345503280389953887774948707924731296520659663441139084676602847756137640327200541539454811054762863482190804489703020315748997796860086827204640548343096768534583015718340589059648950891706845656615393118155320880519863683970534786108046981766717531663384888437955226936741160702264334725205254903712355558365861059544829607857983716552111877039244402028854593894342729236495541895348523145150611708737848204193556333604943789519266145249499450098464356808962876142563204925042349145516957581538686422559564895473399750247565362930652629061523072126537435397158843563439353390068619370198088433352806825505203881086773916054658548122526062770333549082409694272592685717443026832466293419148294573110996456418345654915684893057738493282822932647890605418947196449359996965251092790021282367135072142011813003978349033951214892213211945486156910076610932716573138931423846342127294642902116553640566938722097300601756676302051421351580625273638194821174106379707657665044847745649668880820817640423375009470087366944291894728767020278188780699876970803869969538464637291813218131511736831311205329737359287057250058729590594375550312429884627880500729942610398965232011939311669437500512657001553209071183807617873239663238032428379430455295203783020839442447223536937310208969799714710155850506620378788768086330485758359983308126620433682344693111724488587373268471817572350634931073686275149190888248573678550931014716949038891861288994775207808401631139191498986841537860485385533837292618541593074464738231757275387942696643962540485890371465089254806842556553094201098123041054206073537516114436838437840659473505244583727947738993980422789844679777478776475581273282100693639544247494154585407418575427412153721217725027079067119910308211746603188257075261002585098932951968803845635611468821689322978197737873245742992323679 99697854366743833365951945470732268706504977768535370019066041526113296785801691706012798413038604601004504067542064636339418730349306069277781059938745382538827954831531263771128706712498874584905433249170067637460780836453008618827051844120061776179686584382223011169531880561592375554445721988660021060683616670986832647832441272603518490683581102462206941783609956775820703272910179471491043725745930908199289620553120207866456625418779624770084697714286895478647000428933260600449695543650494081016542684527245184392476042971864276355564120760287397004063554981554919690367976582404877619731092525001466023789058707937684815187971807646780663582261384973986115622428308670041791088263211449409613988782579885610831038555713189950049890615736304216246753633178978315720702997230925273250897636748456858972677295478916976295810269262101082762711880178948721982925238305651638855356846146439091823162073125779813533981675914039734201461187243558803745115052924469438760987568535719445140035926004202206295093261844758205164675465898206091722894018333710644922103692128762976974475995587171128880841149796128773457368115135776148163859396450621428085950849492289220339184581063082139142998092362348632234469102866814949946184373159534928507159917772937314208115865728956787192378489538430937923045845340082308966267604638910108873270244425701625306561895333445019636223606158460944394708677188479793077301600634532327318327467008947455411263190811614935037500270741342515854880678670399272275907240747322978939403096295360726582207376905103025604454200533163956302046433436337970642535276828981714974413692121837675496162487521018903805633750343526778218691355841669570718408021977492606666609621780561696944784608069345094459738517801839627668389556649930291973109723130459343618874963497196282865059820540675158678445574329364424130422336918491184548560965176048809951773213535415568385349948803450805971247518722 161314516970828646642191061341203864108326308091624172355142925886753083648890353170208143916318994554892279016249989367635939390012747208362457662786501520179155155373070718582183469575981065389395136269485816635257640923280213259375394940888596359195404924971282660120423587407248990947563877309540540924367587205772940694814207990135181875572019057689143682944312221110545908527813891827049409586805475737807147604269672319743495869820808479363979040443523391020542348952078411212158433391854687637350147628316764450537725542421962740712373083636429960208988597330700436647949515268827437184626565924751713589151989360566746338260098345082177822425824824327376184241798506758475143895088716653290700762698634544158953564618483523499132300310008896901964196660011444609139851291804036269707315982403372543865735033972199799228458159867520029959161240175913973075715259588018773927498857959443070172196024340672026745927162070949810812393903816697735168961395051764081663104122176286383862133226605958882597144683196338830438313660719380198102601675998755492667753361009583794614899370596641216247785441690857540477646303916476025134663266420159892723242662710420732076015892268411876502285149612407361825063478417127379830812253660264871117558883004949253519785303229469444193931698609614745540919085003320341394647035094205312656291083868148848843499205542414819350933762008967564773497445274810278835661583942658947752009811702059179899850564080086752609850905672416202130029869558647845954458171762039927978294957584355501790015778536242217103441042071024441687580270728956512235609741567213472249801634818481638036648377892483993060440592900079872419789478882723776791945538091929445104450281254066941528512555808339074882528362481617106444865137923212392666749267377953498204282382072623695018781038265702237745565484637576170733610593993752187133659898128017613797408825004237257708328146541324051714239842401 261012371337572480008143006811936132814831285860159542374208967412866380434692044876220942329357599155896783083792054003975358120362053277640238722725246902717983110204601982353312176288479939974300569518655884272718421759733221878202446785008658135375091509353505671289955467968841366502009599298200561985051203876759773342646649262738700366255600160151350624727922177886366611800724071298540453312551406646006437224822792527609952495239588104134063738157810286499189349381011671812608128935505181718366690312844009634930201585393827017067937204396717357213052152312255356338317491851232314804357658449753179612941048068504431153448070152728958486008086209301362299864226815428516934983351928102700314751481214429769784603174196713449182190925745201118210950293190422924860554289034961542958213619151829402838412329451116775524268429129621112721873120354862695058640497893670412782855704105882161995358097466451840279908837984989545013855091060256538914076447976233520424091690712005829002169152610161088892237945041097035602989126617586289825495694332466137589857053138346771589375366183812345128626591486986313935014419052252173298522662870781320809193512202709952415200473331494015645283241974755994059532581283942329776996626819799799624718800777886567727901168958426231386310188148045683463964930343402650360914639733115421529561328293850474150061100875859838987157368167428509168206122463290071912963184577191275070337278711006635311113754891701687647351176413758717984910548229047118230365412509362906917698053879716228372223155441345242707895242604188397989626704165294482878145018396195187224215326940319313532810865413502896866074343243606650638480834724393347510353560069422051771059903034628638473297163877684169342266880283456734113254694573142684639858990508412841823157345569819977883840858806377396424011058966940594864032930912243371682220863304066423749182038539652826093678095344774857685487361123 422326888308401126650334068153139996923157593951783714729351893299619464083582398046429086245676593710789062100042043371611297510374800486002696385511748422897138265577672700935495645864461005363695705788141700907976062683013435137577841725897254494570496434324788331410379055376090357449573476607741102909418791082532714037460857252873882241827619217840494307672234398996912520328537963125589862899356882383813584829092464847353448365060396583498042778601333677519731698333090083024766562327359869355716837941160774085467927127815789757780310288033147317422040749642955792986267007120059751988984224374504893202093037429071177491708168497811136308433911033628738484106025322186992078878440644755991015514179848973928738167792680236948314491235754098020175146953201867534000405580838997812665529601555201946704147363423316574752726588997141142681034360530776668134355757481689186710354562065325232167554121807123867025836000055939355826248994876954274083037843027997602087195812888292212864302379216119971489382628237435866041302787336966487928097370331221630257610414147930566204274736780453561376412033177843854412660722968728198433185929290941213532436174913130684491216365599905892147568391587163355884596059701069709607808880480064670742277683782835821247686472187895675580241886757660429004884015346722991755561674827320734185852412161999322993560306418274658338091130176396073941703567738100350748624768519850222822347090413065815210964318971788440257202082086174920114940417787694964184823584271402834895993011464071730162238933977587459811336284675212839677206974894250995113754759963408659474016961758800951569459243305986889926514936143686523058270313607117124302299098161351496875510184288695580001809719686023244224795242765073840558119832496355077306608257886366340027439727642443672902621897072079634169576543604516765597643524905995558815880761432084037546590863543890083802006241886098909399727203524 683339259645973606658477074965076129737988879811943257103560860712485844518274442922650028575034192866685845183834097375586655630736853763642935108236995325615121375782274683288807822152940945337996275306797585180694484442746657015780288510905912629945587943678294002700334523344931723951583075905941664894469994959292487380107506515612582608083219377991844932400156576883279132129262034424130316211908289029820022053915257374963400860299984687632106516759143964018921047714101754837374691262865051074083528254004783720398128713209616774848247492429864674635092901955211149324584498971292066793341882824258072815034085497575608645156238650540094794441997242930100783970252137615509013861792572858691330265661063403698522770966876950397496682161499299138386097246392290458860959869873959355623743220707031349542559692874433350276995018126762255402907480885639363192996255375359599493210266171207394162912219273575707305744838040928900840104085937210812997114291004231122511287503600298041866471531826281060381620573278532901644291913954552777753593064663687767847467467286277337793650102964265906505038624664830168347675142020980371731708592161722534341629687115840636906416838931399907792851633561919349944128640985012039384805507299864470366996484560722388975587641146321906966552074905706112468848945690125642116476314560436155715413740455849797143621407294134497325248498343824583109909690201390422661587953097041497892684369124072450522078073863490127904553258499933638099850966016742082415188996780765741813691065343787958534462089418932702519231527279401237666833679059545477991899778359603846698232288699120265102270108719489786792589279387293173696751148331510471812652658230773548646570087323324218475106883563707413567062123048530574671374527069497761946467248394779181850597073212263650786462755878457030593587602571457360461676455818238930498101624736150461295772902083542909895684337230873767085214564647 1105666147954374733308811143118216126661146473763726971832912754012105308601856840969079114820710786577474907283876140747197953141111654249645631493748743748512259641359947384224303468017401950701691981094939286088670547125760092153358130236803167124516084378003082334110713578721022081401156552513682767803888786041825201417568363768486464849910838595832339240072390975880191652457799997549720179111265171413633606883007722222316849225360381271130149295360477641538652746047191837862141253590224920429800366195165557805866055841025406532628557780463011992057133651598166942310851506091351818782326107198762966017127122926646786136864407148351231102875908276558839268076277459802501092740233217614682345779840912377627260938759557187345811173397253397158561244199594157992861365450712957168289272822262233296246707056297749925029721607123903398083941841416416031327352012857048786203564828236532626330466341080699574331580838096868256666353080814165087080152134032228724598483316488590254730773911042401031871003201515968767685594701291519265681690434994909398105077881434207903997924839744719467881450657842674022760335864989708570164894521452663747874065862028971321397633204531305799940420025149082705828724700686081748992614387779929141109274168343558210223274113334217582546793961663366541473732961036848633872037989387756889901266152617849120137181713712409155663339628520220657051613257939490773410212721616891720715031459537138265733042392835278568161755340586108558214791383804437046600012581052168576709684076807859688696701023396520162330567811954614077344040653953796473105654538323012506172249250457921216671729352025476676719104215530979696755021461938627596114951756392125045522080271612019798476916603249730657791857365813604415229494359565852839253075506281145521878036800854707323689084652950536664763164146175974126059319980724234489313982386168234498842363765627432993697690579116972676484941768171 1789005407600348339967288218083292256399135353575670228936473614724591153120131283891729143395744979444160752467710238122784608771848508013288566601985739074127381017142222067513111290170342896039688256401736871269365031568506749169138418747709079754461672321681376336811048102065953805352739628419624432698358781001117688797675870284099047457994057973824184172472547552763470784587062031973850495323173460443453628936922979597280250085660365958762255812119621605557573793761293592699515944853089971503883894449170341526264184554235023307476805272892876666692226553553378091635436005062643885575667990023021038832161208424222394782020645798891325897317905519488940052046529597418010106602025790473373676045501975781325783709726434137743307855558752696296947341445986448451722325320586916523913016042969264645789266749172183275306716625250665653486849322302055394520348268232408385696775094407740020493378560354275281637325676137797157506457166751375900077266425036459847109770820088888296597245442868682092252623774794501669329886615246072043435283499658597165952545348720485241791574942708985374386489282507504191108011007010688941896603113614386282215695549144811958304050043462705707733271658711002055772853341671093788377419895079793611476270652904280599198861754480539489513346036569072653942581906726974275988514303948193045616679893073698917280803121006543652988588126864045240161522948140881196071800674713933218607715828661210716255120466698768696066308599086042196314642349821179129015201577832934318523375142151647647231163112815452864849799339234015315010874333013341951097554316682616352870481539157041481773999460744966463511693494918272870451772610270138067927604414622898594168650358935344016952023486813438071358919488862134989900868886635350601199542754675924703728633874066970974475547408828993695356751748747431486520996436542473419812084010904384960138136667710975903593374916347846443570156332818 2894671555554723073276099361201508383060281827339397200769386368736696461721988124860808258216455766021635659751586378869982561912960162262934198095734482822639640658502169451737414758187744846741380237496676157358035578694266841322496548984512246878977756699684458670921761680786975886753896180933307200502247567042942890215244234052585512307904896569656523412544938528643662437044862029523570674434438631857087235819930701819597099311020747229892405107480099247096226539808485430561657198443314891933684260644335899332130240395260429840105363053355888658749360205151545033946287511153995704357994097221784004849288331350869180918885052947242557000193813796047779320122807057220511199342259008088056021825342888158953044648485991325089119028956006093455508585645580606444583690771299873692202288865231497942035973805469933200336438232374569051570791163718471425847700281089457171900339922644272646823844901434974855968906514234665414172810247565540987157418559068688571708254136577478551328019353911083124123626976310470437015481316537591309116973934653506564057623230154693145789499782453704842267939940350178213868346872000397512061497635067050030089761411173783279701683247994011507673691683860084761601578042357175537370034282859722752585544821247838809422135867814757072060139998232439195416314867763822909860552293335949935517946045691548037417984834718952808651927755384265897213136206080371969482013396330824939322747288198348981988162859534047264228063939672150754529433733625616175615214158885102895233059218959507335927864136211973027180367151188629392354914986967138424203208855005628859042730789614962698445728812770443140230797710449252567206794072208765664042556171015023639690730630547363815428940090063168729150776854675739405130363246201203440452618260957070225606670674921678298164632061779530360119915894923405612580316417266707909126066397072619458980500433338408897291065495464819120055098100989 4683676963155071413243387579284800639459417180915067429705859983461287614842119408752537401612200745465796412219296616992767170684808670276222764697720221896767021675644391519250526048358087742781068493898413028627400610262773590491634967732221326633439429021365835007732809782852929692106635809352931633200606348044060579012920104336684559765898954543480707585017486081407133221631924061497421169757612092300540864756853681416877349396681113188654660919599720852653800333569779023261173143296404863437568155093506240858394424949495453147582168326248765325441586758704923125581723516216639589933662087244805043681449539775091575700905698746133882897511719315536719372169336654638521305944284798561429697870844863940278828358212425462832426884514758789752455927091567054896306016091886790216115304908200762587825240554642116475643154857625234705057640486020526820368048549321865557597115017052012667317223461789250137606232190372462571679267414316916887234684984105148418818024956666366847925264796779765216376250751104972106345367931783663352552257434312103730010168578875178387581074725162690216654429222857682404976357879011086453958100748681436312305456960318595238005733291456717215406963342571086817374431384028269325747454177939516364061815474152119408620997622295296561573486034801511849358896774490797185849066597284142981134625938765246954698787955725496461640515882248311137374659154221253165553814071044758157930463116859559698243283326232815960294372538758192950844076083446795304630415736718037213756434361111154983159027249027425892030166490422644707365789319980480375300763171688245211913212328772004180219728273515409603742491205367525437658566682478903731970160585637922233859380989482707832380963576876606800509696343537874395031232132836554041652161015632994929335304548988649272640179470608524055476667643670837099101312853809181328938150407977004419118637101049384800884440411812665563625254433807 7578348518709794486519486940486309022519699008254464630475246352197984076564107533613345659828656511487432071970882995862749732597768832539156962793454704719406662334146560970987940806545832589522448731395089185985436188957040431814131516716733573512417185721050293678654571463639905578860531990286238833702853915087003469228164338389270072073803851113137230997562424610050795658676786091020991844192050724157628100576784383236474448707701860418547066027079820099750026873378264453822830341739719755371252415737842140190524665344755882987687531379604653984190946963856468159528011027370635294291656184466589048530737871125960756619790751693376439897705533111584498692292143711859032505286543806649485719696187752099231873006698416787921545913470764883207964512737147661340889706863186663908317593773432260529861214360112049675979593089999803756628431649738998246215748830411322729497454939696285314141068363224224993575138704607127985852077661882457874392103543173836990526279093243845399253284150690848340499877727415442543360849248321254661669231368965610294067791809029871533370574507616395058922369163207860618844704751011483966019598383748486342395218371492378517707416539450728723080655026431171578976009426385444863117488460799239116647360295399958218043133490110053633633626033033951044775211642254620095709618890620092916652571984456794992116772790444449270292443637632577034587795360301625135035827467375583097253210405057908680231446185766863224522436478430343705373509817072411480245629895603140108989493580070662319086891385239398919210533641611274099720704306947618799503972026693874070955943118386966878665457086285852743973288915816778004865360754687669396012716756652945873550111620030071647809903666939775529660473198213613800161595379037757482104779276590065154941975223910327570804811532388054415596583538594242711681629271075889238064216805049623878099137534387793698175505907277484683680352534796 12262025481864865899762874519771109661979116189169532060181106335659271691406226942365883061440857256953228484190179612855516903282577502815379727491174926616173684009790952490238466854903920332303517225293502214612836799219814022305766484448954900145856614742416128686387381246492835270967167799639170466903460263131064048241084442725954631839702805656617938582579910691457928880308710152518413013949662816458168965333638064653351798104382973607201726946679540952403827206948043477084003485036124618808820570831348381048919090294251336135269699705853419309632533722561391285109734543587274884225318271711394092212187410901052332320696450439510322795217252427121218064461480366497553811230828605210915417567032616039510701364910842250753972797985523672960420439828714716237195722955073454124432898681633023117686454914754166151622747947625038461686072135759525066583797379733188287094569956748297981458291825013475131181370894979590557531345076199374761626788527278985409344304049910212247178548947470613556876128478520414649706217180104918014221488803277714024077960387905049920951649232779085275576798386065543023821062630022570419977699132429922654700675331810973755713149830907445938487618369002258396350440810413714188864942638738755480709175769552077626664131112405350195207112067835462894134108416745417281558685487904235897787197923222041946815560746169945731932959519880888171962454514522878300589641538420341255183673521917468378474729511999679184816809017188536656217585900519206784876045632321177322745927941181817302245918634266824811240700132033918807086493626928099174804735198382119282869155447158971058885185359801262347715780121184303442523927437166573127982877342290868107409492609512779480190867243816382330170169541751488195192827511874311523756940292223060084277279772898976843444991002996578471073251182265079810782942124885070567002367213026628297217774635437178499059946319090150247305606968603 19840374000574660386282361460257418684498815197423996690656352687857255767970334475979228721269513768440660556161062608718266635880346335354536690284629631335580346343937513461226407661449752921825965956688591400598272988176854454119898001165688473658273800463466422365041952710132740849827699789925409300606314178218067517469248781115224703913506656769755169580142335301508724538985496243539404858141713540615797065910422447889826246812084834025748792973759361052153854080326307930906833826775844374180072986569190521239443755639007219122957231085458073293823480686417859444637745570957910178516974456177983140742925282027013088940487202132886762692922785538705716756753624078356586316517372411860401137263220368138742574371609259038675518711456288556168384952565862377578085429818260118032750492455065283647547669274866215827602341037624842218314503785498523312799546210144511016592024896444583295599360188237700124756509599586718543383422738081832636018892070452822399870583143154057646431833098161461897376006205935857193067066428426172675890720172243324318145752196934921454322223740395480334499167549273403642665767381034054385997297516178408997095893703303352273420566370358174661568273395433429975326450236799159051982431099537994597356536064952035844707264602515403828840738100869413938909320059000037377268304378524328814439769907678836938932333536614395002225403157513465206550249874824503435625469005795924352436883926975377058706175697766542409339245495618880361591095717591618265121675527924317431735421521252479621332810019506223730451233773645192906807197933875717974308707225075993353825098565545937937550642446087115091689069037001081447389288191854242523995594098943813980959604229542851128000770910756157859830642739965101995354422890912069005861719568813125239219254996809304414249802535384632886669834720859322522464571395960959805066584018076252175316912169824972197235452226367634930985959503399 32102399482439526286045235980028528346477931386593528750837459023516527459376561418345111782710371025393889040351242221573783539162923838169916417775804557951754030353728465951464874516353673254129483181982093615211109787396668476425664485614643373804130415205882551051429333956625576120794867589564579767509774441349131565710333223841179335753209462426373108162722245992966653419294206396057817872091376357073966031244060512543178044916467807632950519920438902004557681287274351407990837311811968992988893557400538902288362845933258555258226930791311492603456014408979250729747480114545185062742292727889377232955112692928065421261183652572397085488140037965826934821215104444854140127748201017071316554830252984178253275736520101289429491509441812229128805392394577093815281152773333572157183391136698306765234124189620381979225088985249880680000575921258048379383343589877699303686594853192881277057652013251175255937880494566309100914767814281207397645680597731807809214887193064269893610382045632075454252134684456271842773283608531090690112208975521038342223712584839971375273872973174565610075965935338946666486830011056624805974996648608331651796569035114326029133716201265620600055891764435688371676891047212873240847373738276750078065711834504113471371395714920754024047850168704876833043428475745454658826989866428564712226967830900878885747894282784340734158362677394353378512704389347381736215110544216265607620557448892845437180905209766221594156054512807417017808681618110825049997721160245494754481349462434296923578728653773048541691933905679111713893691560803817149113442423458112636694254012704908996435827805888377439404849158185384889913215629020815651978471441234682088369096839055630608191638154572540190000812281716590190547250402786380529618659861036185323496534769708281257694793538381211357743085903124402333247513520846030372068951231102880472534686805262150696295398545457785178291566472002 51942773483014186672327597440285947030976746584017525441493811711373783227346895894324340503979884793834549596512304830292050175043270173524453108060434189287334376697665979412691282177803426175955449138670685015809382775573522930545562486780331847462404215669348973416471286666758316970622567379489989068116088619567199083179582004956404039666716119196128277742864581294475377958279702639597222730233089897689763097154482960433004291728552641658699312894198263056711535367600659338897671138587813367168966543969729423527806601572265774381184161876769565897279495095397110174385225685503095241259267184067360373698037974955078510201670854705283848181062823504532651577968728523210726444265573428931717692093473352316995850108129360328105010220898100785297190344960439471393366582591593690189933883591763590412781793464486597806827430022874722898315079706756571692182889800022210320278619749637464572657012201488875380694390094153027644298190552363040033664572668184630209085470336218327540042215143793537351628140890392129035840350036957263366002929147764362660369464781774892829596096713570045944575133484612350309152597392090679191972294164786740648892462738417678302554282571623795261624165159869118347003341284012032292829804837814744675422247899456149316078660317436157852888588269574290771952748534745492036095294244952893526666737738579715824680227819398735736383765834907818585062954264171885171840579550012189960057441375868222495887080907532764003495300008426297379399777335702443315119396688169812186216770983686776544911538673279272272143167679324304620700889494679535123422149648534105990519352578250846933986470251975492531093918195186466337302503820875058175974065540178496069328701068598481736192409065328698049831455021681692185901673293698449535480379429849310562715789766517585671944596073765844244412920623983724855712084916806990177135535249179132647851598975087122893530850771825420109277525975401 84045172965453712958372833420314475377454677970611054192331270734890310686723457312669452286690255819228438636863547051865833714206194011694369525836238747239088407051394445364156156694157099430084932320652778631020492562970191406971226972394975221266534630875231524467900620623383893091417434969054568835625863060916330648889915228797583375419925581622501385905586827287442031377573909035655040602324466254763729128398543472976182336645020449291649832814637165061269216654875010746888508450399782360157860101370268325816169447505524329639411092668081058500735509504376360904132705800048280304001559911956737606653150667883143931462854507277680933669202861470359586399183832968064866572013774446003034246923726336495249125844649461617534501730339913014425995737355016565208647735364927262347117274728461897178015917654106979786052519008124603578315655628014620071566233389899909623965214602830345849714664214740050636632270588719336745212958366644247431310253265916438018300357529282597433652597189425612805880275574848400878613633645488354056115138123285401002593177366614864204869969686744611554651099419951296975639427403147303997947290813395072300689031773532004331687998772889415861680056924304806718680232331224905533677178576091494753487959733960262787450056032356911876936438438279167604996177010490946694922284111381458238893705569480594710428122102183076470542128512302171963575658653519266908055690094228455567677998824761067933067986117298985597651354521233714397208458953813268365117117848415306940698120446121073468490267327052320813835101585003416334594581055483352272535592071992218627213606590955755930422298057863869970498767353371851227215719449895873827952536981413178157697797907654112344384047219901238239832267303398282376448923696484830065099039290885495886212324536225866929639389612147055602156006527108127188959598437653020549204486480282013120386285780349273589826249317283205287569092447403 135987946448467899630700430860600422408431424554628579633825082446264093914070353206993792790670140613062988233375851882157883889249464185218822633896672936526422783749060424776847438871960525606040381459323463646829875338543714337516789459175307068728938846544580497884371907290142210062040002348544557903741951680483529732069497233753987415086641700818629663648451408581917409335853611675252263332557556152453492225553026433409186628373573090950349145708835428117980752022475670085786179588987595727326826645339997749343976049077790104020595254544850624398015004599773471078517931485551375545260827096024097980351188642838222441664525361982964781850265684974892237977152561491275593016279347874934751939017199688812244975952778821945639511951238013799723186082315456036602014317956520952537051158320225487590797711118593577592879949030999326476630735334771191763749123189922119944243834352467810422371676416228926017326660682872364389511148919007287464974825934101068227385827865500924973694812333219150157508416465240529914453983682445617422118067271049763662962642148389757034466066400314657499226232904563647284792024795237983189919584978181812949581494511949682634242281344513211123304222084173925065683573615236937826506983413906239428910207633416412103528716349793069729825026707853458376948925545236438731017578356334351765560443308060310535108349921581812206925894347209990548638612917691152079896269644240645527735440200629290428955067024831749601146654529660011776608236289515711680236514536585119126914891429807850013401806000331593085978269264327720955295470550162887395957741720526324617732959169206602864408768309839362501592685548558317564518223270770932003926602521591674227026498976252594080576456285229936289663722325079974562350596990183279600579418720734806448928114302743452601583985685912899846568927151091852044671683354460010726340021729461145768237884755436396483357100089108625396846618422804 220033119413921612589073264280914897785886102525239633826156353181154404600793810519663245077360396432291426870239398934023717603455658196913192159732911683765511190800454870141003595566117625036125313779976242277850367901513905744488016431570282289995473477419812022352272527913526103153457437317599126739367814741399860380959412462551570790506567282441131049554038235869359440713427520710907303934882022407217221353951569906385368965018593540241998978523472593179249968677350680832674688039387378087484686746710266075160145496583314433660006347212931682898750514104149831982650637285599655849262387007980835587004339310721366373127379869260645715519468546445251824376336394459340459588293122320937786185940926025307494101797428283563174013681577926814149181819670472601810662053321448214884168433048687384768813628772700557378932468039123930054946390962785811835315356579822029568209048955298156272086340630968976653958931271591701134724107285651534896285079200017506245686185394783522407347409522644762963388692040088930793067617327933971478233205394335164665555819515004621239336036087059269053877332324514944260431452198385287187866875791576885250270526285481686965930280117402626984984279008478731784363805946461843360184161989997734182398167367376674890978772382149981606761465146132625981945102555727385425939862467715810004454148877540905245536472023764888677468022859512162512214271571210418987951959738469101095413439025390358362023053142130735198798009050893726173816695243328980045353632385000426067613011875928923481892073327383913899813370849331137289890051605646239668493333792518543244946565760162358794831066367703232472091452901930168791733942720666805831879139503004852384724296883906706424960503505131174529495989628478256938799520686668109665678458011620302335140438838969319531223375298059955448724933678199979233631281792113031275544508209743158888624170535785670073183349406391830684415710870207 356021065862389512219773695141515320194317527079868213459981435627418498514864163726657037868030537045354415103615250816181601492705122382132014793629584620291933974549515294917851034438078150642165695239299705924680243240057620082004805890745589358724412323964392520236644435203668313215497439666143684643109766421883390113028909696305558205593208983259760713202489644451276850049281132386159567267439578559670713579504596339794555593392166631192348124232308021297230720699826350918460867628374973814811513392050263824504121545661104537680601601757782307296765518703923303061168568771151031394523214104004933567355527953559588814791905231243610497369734231420144062353488955950616052604572470195872538124958125714119739077750207105508813525632815940613872367901985928638412676371277969167421219591368912872359611339891294134971812417070123256531577126297557003599064479769744149512452883307765966694458017047197902671285591954464065524235256204658822361259905134118574473072013260284447381042221855863913120897108505329460707521601010379588900351272665384928328518461663394378273802102487373926553103565229078591545223476993623270377786460769758698199852020797431369600172561461915838108288501092652656850047379561698781186691145403903973611308375000793086994507488731943051336586491853986084358894028100963824156957440824050161770014592185601215780644821945346700884393917206722153060852884488901571067848229382709746623148879226019648790978120166962484799944663580553737950424931532844691725590146921585545194527903305736773495293879327715506985791640113658858245185522155809127064451075513044867862679524929368961659239834677542594973684138450488486356252165991437737835805742024596526611750795860159300505536959790361110819159711953558231501150117676851389266257876732355108784068553141712772132807360983972855295293860829291831278302965146573042001884529939204304656862055291222066556540449495500456081262329293011 576054185276311124808846959422430217980203629605107847286137788808572903115657974246320282945390933477645841973854649750205319096160780579045206953362496304057445165349970165058854630004195775678291009019275948202530611141571525826492822322315871648719885801384204542588916963117194416368954876983742811382477581163283250493988322158857128996099776265700891762756527880320636290762708653097066871202321600966887934933456166246179924558410760171434347102755780614476480689377177031751135555667762351902296200138760529899664267042244418971340607948970713990195516032808073135043819206056750687243785601111985769154359867264280955187919285100504256212889202777865395886729825350409956512192865592516810324310899051739427233179547635389071987539314393867428021549721656401240223338424599417382305388024417600257128424968663994692350744885109247186586523517260342815434379836349566179080661932263064122966544357678166879325244523226055766658959363490310357257544984334136080718758198655067969788389631378508676084285800545418391500589218338313560378584478059720092994074281178398999513138138574433195606980897553593535805654929192008557565653336561335583450122547082913056566102841579318465093272780101131388634411185508160624546875307393901707793706542368169761885486261114093032943347957000118710340839130656691209582897303291765971774468741063142121026181293969111589561861940066234315573067156060111990055800189121178847718562318251410007153001173309093219998742672631447464124241626776173671770943779306585971262140915181665696977185952655099420885605010962989995535075573761455366732944409305563411107626090689531320454070901045245827445775591352418655147986108712104543667684881527601378996475092744066006930497463295492285348655701582036488439949638363519498931936334743975411119208991980682091664030736282032810744018794507491810511934246938686073277429038148947463545486225827007736629723798901892286765678040163218 932075251138700637028620654563945538174521156684976060746119224435991401630522137972977320813421470523000257077469900566386920588865902961177221746992080924349379139899485459976705664442273926320456704258575654127210854381629145908497628213061461007444298125348597062825561398320862729584452316649886496025587347585166640607017231855162687201692985248960652475959017524771913140811989785483226438469761179526558648512960762585974480151802926802626695226988088635773711410077003382669596423296137325717107713530810793724168388587905523509021209550728496297492281551511996438104987774827901718638308815215990702721715395217840544002711190331747866710258937009285539949083314306360572564797438062712682862435857177453546972257297842494580801064947209808041893917623642329878636014795877386549726607615786513129488036308555288827322557302179370443118100643557899819033444316119310328593114815570830089661002374725364781996530115180519832183194619694969179618804889468254655191830211915352417169431853234372589205182909050747852208110819348693149278935750725105021322592742841793377786940241061807122160084462782672127350878406185631827943439797331094281649974567880344426166275403041234303201561281193784045484458565069859405733566452797805681405014917368962848879993749846036084279934448854104794699733158757655033739854744115816133544483333248743336806826115914458290446255857272956468633920040549013561123648418503888594341711197477429655943979293476055704798687336212001202074666558309018363496533926228171516456668818487402470472479831982814927871396651076648853780261095917264493797395484818608278970305615618900282113310735722788422419459729802907141504238274703542281503490623552197905608225888604225307436034423085853396167815413535594719941099756040370888198194211476330519903277545122394863796838097266005666039312655336783641790237212085259115279313568088151768202348281118229803186264248397392742846940369456229 1508129436415011761837467613986375756154724786290083908032257013244564304746180112219297603758812404000646099051324550316592239685026683540222428700354577228406824305249455625035560294446469701998747713277851602329741465523200671734990450535377332656164183926732801605414478361438057145953407193633629307408064928748449891101005554014019816197792761514661544238715545405092549431574698438580293309672082780493446583446416928832154404710213686974061042329743869250250192099454180414420731978963899677619403913669571323623832655630149942480361817499699210287687797584320069573148806980884652405882094416327976471876075262482121499190630475432252122923148139787150935835813139656770529076990303655229493186746756229192974205436845477883652788604261603675469915467345298731118859353220476803932031995640204113386616461277219283519673302187288617629704624160818242634467824152468876507673776747833894212627546732403531661321774638406575598842153983185279536876349873802390735910588410570420386957821484612881265289468709596166243708700037687006709657520228784825114316667024020192377300078379636240317767065360336265663156533335377640385509093133892429865100097114963257482732378244620552768294834061294915434118869750578020030280441760191707389198721459737132610765480010960129117223282405854223505040572289414346243322752047407582105318952074311885457833007409883569880008117797339190784206987196609125551179448607625067442060273515728839663096980466785148924797430008843448666198908185085192035267477705534757487718809733669068167449665784637914348757001662039638849315336669678719860530339894124171690077931706308431602567381636768034249865235321155325796652224383415646825171175505079799284604700981348291314366531886381345681516471115117631208381049394403890387130130546220305931022486537103076955460868833548038476783331449844275452302171459023945188556742606237099231747834506945237539815988047299285029612618409619447 2440204687553712398866088268550321294329245942975059968778376237680555706376702250192274924572233874523646356128794450882979160273892586501399650447346658152756203445148941085012265958888743628319204417536427256456952319904829817643488078748438793663608482052081398668240039759758919875537859510283515803433652276333616531708022785869182503399485746763622196714674562929864462572386688224063519748141843960020005231959377691418128884862016613776687737556731957886023903509531183797090328402260037003336511627200382117348001044218055465989383027050427706585180079135832066011253794755712554124520403231543967174597790657699962043193341665763999989633407076796436475784896453963131101641787741717942176049182613406646521177694143320378233589669208813483511809384968941060997495368016354190481758603255990626516104497585774572346995859489467988072822724804376142453501268468588186836266891563404724302288549107128896443318304753587095431025348602880248716495154763270645391102418622485772804127253337847253854494651618646914095916810857035699858936455979509930135639259766861985755087018620698047439927149823118937790507411741563272213452532931223524146750071682843601908898653647661787071496395342488699479603328315647879436014008212989513070603736377106095459645473760806165201503216854708328299740305448172001277062606791523398238863435407560628794639833525798028170454373654612147252840907237158139112303097026128956036401984713206269319040959760261204629596117345055449868273574743394210398764011631762929004175478552156470637922145616620729276628398313116287703095597765595984354327735378942779969048237321927331884680692372490822672284695050958232938156462658119189106674666128631997190212926869952516621802566309467199077684286528653225928322149150444261275328324757696636450925764082225471819257706930814044142822644105181059094092408671109204303836056174325250999950182788063467343002252295696677772459558779075676 3948334123968724160703555882536697050483970729265143876810633250925120011122882362411572528331046278524292455180119001199571399958919270041622079147701235381163027750398396710047826253335213330317952130814278858786693785428030489378478529283816126319772665978814200273654518121196977021491266703917145110841717205082066422809028339883202319597278508278283740953390108334957012003961386662643813057813926740513451815405794620250283289572230300750748779886475827136274095608985364211511060381223936680955915540869953440971833699848205408469744844550126916872867876720152135584402601736597206530402497647871943646473865920182083542383972141196252112556555216583587411620709593619901630718778045373171669235929369635839495383130988798261886378273470417158981724852314239792116354721236830994413790598896194739902720958862993855866669161676756605702527348965194385087969092621057063343940668311238618514916095839532428104640079391993671029867502586065528253371504637073036127013007033056193191085074822460135119784120328243080339625510894722706568593976208294755249955926790882178132387097000334287757694215183455203453663945076940912598961626065115954011850168797806859391631031892282339839791229403783614913722198066225899466294449973181220459802457836843228070410953771766294318726499260562551804780877737586347520385358838930980344182387481872514252472840935681598050462491451951338037047894433767264663482545633754023478462258228935108982137940227046353554393547353898898534472482928479402434031489337297686491894288285825538805371811401258643625385399975155926552410934435274704214858075273066951659126169028235763487248074009258856922149930372113558734808687041534835931845841633711796474817627851300807936169098195848544759200757643770857136703198544848151662458455303916942381948250619328548774718575764362082619605975555025334546394580130133149492392798780562350231698017295008704882818240342995962802072177188695123 6388538811522436559569644151087018344813216672240203845589009488605675717499584612603847452903280153047938811308913452082550560232811856543021729595047893533919231195547337795060092212223956958637156548350706115243646105332860307021966608032254919983381148030895598941894557880955896897029126214200660914275369481415682954517051125752384822996764255041905937668064671264821474576348074886707332805955770700533457047365172311668412174434246914527436517443207785022297999118516548008601388783483973684292427168070335558319834744066260874459127871600554623458047955855984201595656396492309760654922900879415910821071656577882045585577313806960252102189962293380023887405606047583032732360565787091113845285111983042486016560825132118640119967942679230642493534237283180853113850089253185184895549202152185366418825456448768428213665021166224593775350073769570527541470361089645250180207559874643342817204644946661324547958384145580766460892851188945776969866659400343681518115425655541965995212328160307388974278771946889994435542321751758406427530432187804685385595186557744163887474115621032335197621365006574141244171356818504184812414158996339478158600240480650461300529685539944126911287624746272314393325526381873778902308458186170733530406194213949323530056427532572459520229716115270880104521183185758348797447965630454378583045822889433143047112674461479626220916865106563485289888801670925403775785642659882979514864242942141378301178899987307558183989664698954348402746057671873612832795500969060615496069766837982009443293957017879372902013798288272214255506532200870688569185810652009731628174406350163095371928766381749679594434625423071791672965149699654025038520507762343793665030554721253324557971664505315743836885044172424083065025347695292412937786780061613578832874014701554020593976282695176126762428619660206393640486988801242353796228854954887601231648200083072172225820492638692640574531735967770799 10336872935491160720273200033623715395297187401505347722399642739530795728622466975015419981234326431572231266489032453282121960191731126584643808742749128915082258945945734505107918465559170288955108679164984974030339890760890796400445137316071046303153814009709799215549076002152873918520392918117806025117086686497749377326079465635587142594042763320189678621454779599778486580309461549351145863769697441046908862770966931918695464006477215278185297329683612158572094727501912220112449164707910365248342708940288999291668443914466282928872716150681540330915832576136337180058998228906967185325398527287854467545522498064129127961285948156504214746517509963611299026315641202934363079343832464285514521041352678325511943956120916902006346216149647801475259089597420645230204810490016179309339801048380106321546415311762284080334182842981199477877422734764912629439453710702313524148228185881961332120740786193752652598463537574437490760353775011305223238164037416717645128432688598159186297402982767524094062892275133074775167832646481112996124408396099440635551113348626342019861212621366622955315580190029344697835301895445097411375785061455432170450409278457320692160717432226466751078854150055929307047724448099678368602908159351953990208652050792551600467381304338753838956215375833431909302060923344696317833324469385358927228210371305657299585515397161224271379356558514823326936696104692668439268188293637002993326501171076487283316840214353911738383212052853246937218540600353015266826990306358301987964055123807548248665768419138016527399198263428140807917466636145392784043885925076683287300575378398858859176840391008536516584555795185350407773836741188860970366349396055590139848182572554132494140762701164288596085801816194940201728546240140564600245235365530521214822265320882569368694858459538209382034595215231728186881568931375503288621653735449951463346217378080877108638732981688603376603913156465922 16725411747013597279842844184710733740110404073745551567988652228136471446122051587619267434137606584620170077797945905364672520424542983127665538337797022449001490141493072300168010677783127247592265227515691089273985996093751103422411745348325966286534962040605398157443633883108770815549519132318466939392456167913432331843130591387971965590807018362095616289519450864599961156657536436058478669725468141580365910136139243587107638440724129805621814772891397180870093846018460228713837948191884049540769877010624557611503187980727157388000587751236163788963788432120538775715394721216727840248299406703765288617179075946174713538599755116756316936479803343635186431921688785967095439909619555399359806153335720811528504781253035542126314158828878443968793326880601498344054899743201364204889003200565472740371871760530712293999204009205793253227496504335440170909814800347563704355788060525304149325385732855077200556847683155203951653204963957082193104823437760399163243858344140125181509731143074913068341664222023069210710154398239519423654840583904126021146299906370505907335328242398958152936945196603485942006658713949282223789944057794910329050649759107781992690402972170593662366478896328243700373250829973457270911366345522687520614846264741875130523808836911213359185931491104312013823244109103045115281290099839737510274033260738800346698189858640850492296221665078308616825497775618072215053830953519982508190744113217865584495740201661469922372876751807595339964598272226628099622491275418917484033821961789557691959725437017389429412996551700355063423998837016081353229696577086414915474981728561954231105606772758216111019181218257142080738986440842886008886857158399383804878737293807457052112427206480032432970845988619023266753893935432977538032015427144100047696280022436589962671141154714336144463214875438121827368557732617857084850508690337552694994417461153049334459225620381243951135649124236721 27062284682504758000116044218334449135407591475250899290388294967667267174744518562634687415371933016192401344286978358646794480616274109712309347080546151364083749087438806805275929143342297536547373906680676063304325886854641899822856882664397012589688776050315197372992709885261644734069912050436272964509542854411181709169210057023559108184849781682285294910974230464378447736966997985409624533495165582627274772907106175505803102447201345083807112102575009339442188573520372448826287112899794414789112585950913556903171631895193440316873303901917704119879621008256875955774392950123695025573697933991619756162701574010303841499885703273260531682997313307246485458237329988901458519253452019684874327194688399137040448737373952444132660374978526245444052416478022143574259710233217543514228804248945579061918287072292996374333386852186992731104919239100352800349268511049877228504016246407265481446126519048829853155311220729641442413558738968387416342987475177116808372291032738284367807134125842437162404556497156143985877987044720632419779248980003566656697413254996847927196540863765581108252525386632830639841960609394379635165729119250342499501059037565102684851120404397060413445333046384173007420975278073135639514274504874641510823498315534426730991190141249967198142146866937743923125305032447741433114614569225096437502243632044457646283705255802074763675578223593131943762193880310740654322019247156985501517245284294352867812580416015381660756088804660842277183138872579643366449481581777219471997877085597105940625493856155405956812194815128495871341465473161474137273582502163098202775557106960813090282447163766752627603737013442492488512823182031746979253206554454973944726919866361589546253189907644321029056647804813963468482440175573542138277250792674621262518545343319159331365999614252545526497810090669850014250126663993360373472162425787504158340634839233926443097958602069847327739562280702643 43787696429518355279958888403045182875517995548996450858376947195803738620866570150253954849509539600812571422084924264011467001040817092839974885418343173813085239228931879105443939821125424784139639134196367152578311882948393003245268628012722978876223738090920595530436343768370415549619431182754739903901999022324614041012340648411531073775656800044380911200493681328978408893624534421468103203220633724207640683043245419092910740887925474889428926875466406520312282419538832677540125061091678464329882462961538114514674819875920597704873891653153867908843409440377414731489787671340422865821997340695385044779880649956478555038485458390016848619477116650881671890159018774868553959163071575084234133348024119948568953518626987986258974533807404689412845743358623641918314609976418907719117807449511051802290158832823708668332590861392785984332415743435792971259083311397440932859804306932569630771512251903907053712158903884845394066763702925469609447810912937515971616149376878409549316865268917350230746220719179213196588141442960151843434089563907692677843713161367353834531869106164539261189470583236316581848619323343661858955673177045252828551708796672884677541523376567654075811811942712416707794226108046592910425640850397329031438344580276301861514998978161180557328078358042055936948549141550786548395904669064833947776276892783257992981895114442925255971799888671440560587691655928812869375850200676968009707989397512218452308320617676851583128965556468437617147737144806271466071972857196136956031699047386663632585219293172795386225191366828850934765464310177555490503279079249513118250538835522767321388053936524968738622918231699634569251809622874632988140063712854357749605657160169046598365617114124353462027493793432986735236334111006519676309266219818721310214825365755749294037140768966881670961024966107971841618684396611217458322671116125056853335052300386975777557184222451091278875211404939364 70849981112023113280074932621379632010925587024247350148765242163471005795611088712888642264881472617004972766371902622658261481657091202552284232498889325177168988316370685910719868964467722320687013040877043215882637769803034903068125510677119991465912514141235792903429053653632060283689343233191012868411541876735795750181550705435090181960506581726666206111467911793356856630591532406877727736715799306834915455950351594598713843335126819973236038978041415859754470993059205126366412173991472879118995048912451671417846451771114038021747195555071572028723030448634290687264180621464117891395695274687004800942582223966782396538371161663277380302474429958128157348396348763770012478416523594769108460542712519085609402256000940430391634908785930934856898159836645785492574320209636451233346611698456630864208445905116705042665977713579778715437334982536145771608351822447318161363820553339835112217638770952736906867470124614486836480322441893857025790798388114632779988440409616693917123999394759787393150777216335357182466128487680784263213338543911259334541126416364201761728409969930120369441995969869147221690579932738041494121402296295595328052767834237987362392643780964714489257144989096589715215201386119728549939915355271970542261842895810728592506189119411147755470225224979799860073854173998527981510519238289930385278520524827715639265600370245000019647378112264572504349885536239553523697869447833953511225234681806571320120901033692233243885054361129279894330876017385914832521454438973356428029576132983769573210713149328201343037386181957346806106929783339029627776861581412611321026095942483580411670501100291721366226655245142127057764632804906379967393270267309331694332577026530636144618807021768674491084141598246950203718774286580061814586517012493342572733370709074908625403140383219427197458835056777821855868811060604577831794833541912561011675687139620902220655142824520938606614773685642007 114637677541541468560033821024424814886443582573243801007142189359274744416477658863142597114391012217817544188456826886669728482697908295392259117917232498990254227545302565016163808785593147104826652175073410368460949652751427906313394138689842970342136252232156388433865397422002475833308774415945752772313540899060409791193891353846621255736163381771047117311961593122335265524216066828345830939936433031042556138993597013691624584223052294862664965853507822380066753412598037803906537235083151343448877511873989785932521271647034635726621087208225439937566439889011705418753968292804540757217692615382389845722462873923260951576856620053294228921951546609009829238555367538638566437579595169853342593890736639034178355774627928416650609442593335624269743903195269427410888930186055358952464419147967682666498604737940413710998568574972564699769750725971938742867435133844759094223624860272404742989151022856643960579629028499332230547086144819326635238609301052148751604589786495103466440864663677137623896997935514570379054269930640936106647428107818952012384839577731555596260279076094659630631466553105463803539199256081703353077075473340848156604476630910872039934167157532368565068956931809006423009427494166321460365556205669299573700187476087030454021188097572328312798303583021855797022403315549314529906423907354764333054797417610973632247495484687925275619178000936013064937577192168366393073719648510921520933224079318789772429221651369084827014019917597717511478613162192186298593427296169493384061275180370433205795932442500996729262577548786197740872394093516585118280140660662124439276634778006347733058555036816690104849573476841761627016442427781012955533333980163689443938234186699682742984424135893027953111635391679936938955108397586581490895783232312063882948196074830657919440281152186308868419860022885793697487495457215795290117504658037617865010739440007877998212327046972029885489985090581371 185487658653564581840108753645804446897369169597491151155907431522745750212088747576031239379272484834822516954828729509327989964354999497944543350416121824167423215861673250926883677750060869425513665215950453584343587422554462809381519649366962961808048766373392181337294451075634536116998117649136765640725082775796205541375442059281711437696669963497713323423429504915692122154807599235223558676652232337877471594943948608290338427558179114835901004831549238239821224405657242930272949409074624222567872560786441457350367723418148673748368282763297011966289470337645996106018148914268658648613387890069394646665045097890043348115227781716571609224425976567137986586951716302408578915996118764622451054433449158119787758030628868847042244351379266559126642063031915212903463250395691810185811030846424313530707050643057118753664546288552343415207085708508084514475786956292077255587445413612239855206789793809380867447099153113819067027408586713183661029407689166781531593030196111797383564864058436925017047775151849927561520398418321720369860766651730211346925965994095757357988689046024780000073462522974611025229779188819744847198477769636443484657244465148859402326810938497083054326101920905596138224628880286050010305471560941270115962030371897759046527377216983476068268528808001655657096257489547842511416943145644694718333317942438689271513095854932925295266556113200585569287462728407919916771589096344875032158458761125361092550122685061318070899074278726997405809489179578101131114881735142849812090851313354202779006645591829198072299963730743544546979323876855614746057002242074735760302730720489928144729056137108411471076228721983888684781075232687392922926604247473021138270811213230318887603231157661702444195776989926887142673882684166643305482300244805406455681566783905566544843421535405736065878695079663615553356306517820373121912338199950178876686426579628780218867469871492968492104758776223378 300125336195106050400142574670229261783812752170734952163049620882020494628566406439173836493663497052640061143285556395997718447052907793336802468333354323157677443406975815943047486535654016530340317391023863952804537075305890715694913788056805932150185018605548569771159848497637011950306892065082518413038623674856615332569333413128332693432833345268760440735391098038027387679023666063569389616588665368920027733937545621981963011781231409698565970685057060619887977818255280734179486644157775566016750072660431243282888995065183309474989369971522451903855910226657701524772117207073199405831080505451784492387507971813304299692084401769865838146377523176147815825507083841047145353575713934475793648324185797153966113805256797263692853793972602183396385966227184640314352180581747169138275449994391996197205655380997532464663114863524908114976836434480023257343222090136836349811070273884644598195940816666024828026728181613151297574494731532510296268016990218930283197619982606900850005728722114062640944773087364497940574668348962656476508194759549163359310805571827312954248968122119439630704929076080074828768978444901448200275553242977291641261721096059731442260978096029451619395058852714602561234056374452371470671027766610569689662217847984789500548565314555804381066832391023511454118660805097157041323367052999459051388115360049662903760591339620850570885734114136598634225039920576286309845308744855796553091682840444150864979344336430402897913094196324714917288102341770287429708309031312343196152126493724635984802578034330194801562541279529742287851717970372199864337142902736860199579365498496275877787611173925101575925802198825650311797517660468405878459938227636710582209045399930001630587655293554730397307412381606824081628991081753224796378083477117470338629762858736224464283702687592044934298555102549409250843801975036168412029842857987796741697166019636658217079796918464998377594743866804749 485612994848670632240251328316033708681181921768226103318957052404766244840655154015205075872935981887462578098114285905325708411407907291281345818749476147325100659268649066869931164285714885955853982606974317537148124497860353525076433437423768893958233784978940751108454299573271548067305009714219284053763706450652820873944775472410044131129503308766473764158820602953719509833831265298792948293240897706797499328881494230272301439339410524534466975516606298859709202223912523664452436053232399788584622633446872700633256718483331983223357652734819463870145380564303697630790266121341858054444468395521179139052553069703347647807312183486437447370803499743285802412458800143455724269571832699098244702757634955273753871835885666110735098145351868742523028029259099853217815430977438979324086480840816309727912706024054651218327661152077251530183922142988107771819009046428913605398515687496884453402730610475405695473827334726970364601903318245693957297424679385711814790650178718698233570592780550987657992548239214425502095066767284376846368961411279374706236771565923070312237657168144219630778391599054685853998757633721193047474031012613735125918965561208590844587789034526534673721160773620198699458685254738421480976499327551839805624248219882548547075942531539280449335361199025167111214918294644999552740310198644153769721433302488352175273687194553775866152290227337184203512502648984206226616897841200671585250141601569511957529467021491720968812168475051712323097591521348388560823190766455193008242977807078838763809223626159392873862505010273286834831041847227814610394145144811595959882096218986204022516667311033513047002030920809538996578592893155798801386542475109731720479856613160320518190886451216432841503189371533711224302873765919868101860383721922876794311329642641791009127124222997781000177250182213024804200108492856541533942181057937975618383592599265438435947266789957966869699502643028127 785738331043776682640393902986262970464994673938961055482006673286786739469221560454378912366599478940102639241399842301323426858460815084618148287082830470482778102675624882812978650821368902486194299997998181489952661573166244240771347225480574826108418803584489320879614148070908560017611901779301802466802330125509436206514108885538376824562336654035234204894211700991746897512854931362362337909829563075717527062819039852254264451120641934233032946201663359479597180042167804398631922697390175354601372706107303943916145713548515292698347022706341915774001290790961399155562383328415057460275548900972963631440061041516651947499396585256303285517181022919433618237965883984502869623147546633574038351081820752427719985641142463374427951939324470925919413995486284493532167611559186148462361930835208305925118361405052183682990776015602159645160758577468131029162231136565749955209585961381529051598671427141430523500555516340121662176398049778204253565441669604642097988270161325599083576321502665050298937321326578923442669735116247033322877156170828538065547577137750383266486625290263659261483320675134760682767736078622641247749584255591026767180686657268322286848767130555986293116219626334801260692741629190792951647527094162409495286466067867338047624507846095084830402193590048678565333579099742156594063677251643612821109548662538015079034278534174626437038024341473782837737542569560492536462206586056468138341824442013662822508811357922123866725262671376427240385693863118675990531499797767536204395104300803474748611801660489587675425046289803029122682759817600014474731288047548456159461461717482479900304278484958614622927833119635189308376110553624204679846480702746442302688902013090322148778541744771163238810601753140535305931864847673092898238467199040347132941092501378015473410826910589825934475805284762434055043910467892709945972023915925772360080758618902096653027063708422965247294246509832876 1271351325892447314880645231302296679146176595707187158800963725691552984309876714469583988239535460827565217339514128206649135269868722375899494105832306617807878761944273949682909815107083788442048282604972499027100786071026597765847780662904343720066652588563430071988068447644180108084916911493521086520566036576162257080458884357948420955691839962801707969053032303945466407346686196661155286203070460782515026391700534082526565890460052458767499921718269658339306382266080328063084358750622575143185995339554176644549402432031847275921704675441161379644146671355265096786352649449756915514720017296494142770492614111219999595306708768742740732887984522662719420650424684127958593892719379332672283053839455707701473857477028129485163050084676339668442442024745384346749983042536625127786448411676024615653031067429106834901318437167679411175344680720456238800981240182994663560608101648878413505001402037616836218974382851067092026778301368023898210862866348990353912778920340044297317146914283216037956929869565793348944764801883531410169246117582107912771784348703673453578724282458407878892261712274189446536766493712343834295223615268204761893099652218476913131436556165082520966837380399954999960151426883929214432624026421714249300910714287749886594700450377634365279737554789073845676548497394387156146803987450287766590830981965026367254307965728728402303190314568810967041250045218544698763079104427257139723591966043583174780038278379413844835537431146428139563483285384467064551354690564222729212638082107882313512421025286648980549287551300076315957513801664827829085125433192360052119343557936468683922820945795992127669929864040444728304954703446780003481233023177856174023168758626250642666969428195987596080313791124674246530234738613592961000098850920963223927252422144019806482537951133587606934653055466975458859244018960749251479914204973863747978464351218167535088974330498380932116993749152861003 2057089656936223997521039134288559649611171269646148214282970398978339723779098274923962900606134939767667856580913970507972562128329537460517642392915137088290656864619898832495888465928452690928242582602970680517053447644192842006619127888384918546175071392147919392867682595715088668102528813272822888987368366701671693286972993243486797780254176616836942173947244004937213304859541128023517624112900023858232553454519573934780830341580694393000532867919933017818903562308248132461716281448012750497787368045661480588465548145580362568620051698147503295418147962146226495941915032778171972974995566197467106401932675152736651542806105353999044018405165545582153038888390568112461463515866925966246321404921276460129193843118170592859591002024000810594361856020231668840282150654095811276248810342511232921578149428834159018584309213183281570820505439297924369830143471319560413515817687610259942556600073464758266742474938367407213688954699417802102464428308018594996010767190501369896400723235785881088255867190892372272387434536999778443492123273752936450837331925841423836845210907748671538153745032949324207219534229790966475542973199523795788660280338875745235418285323295638507259953600026289801220844168513120007384271553515876658796197180355617224642324958223729450110139748379122524241882076494129312740867664701931379411940530627564382333342244262903028740228338910284749878987587788105191299541311013313607861933790485596837602547089737335968702262693817804566803868979247585740541886190361990265417033186408685788261032826947138568224712597589879345080196561482427843559856721239908508278805019653951163823125224280950742292857697160079917613330814000404208161079503880602616325857660639340964815747969940758759319124392877814781836166603461266053898337318120003571060193514645397821955948778044177432869128860751737892914287929428641961425886228889789520338545109837069631742001394206803897364287995662693879 3328440982828671312401684365590856328757347865353335373083934124669892708088974989393546888845670400595233073920428098714621697398198259836417136498747443706098535626564172782178798281035536479370290865207943179544154233715219439772466908551289262266241723980711349464855751043359268776187445724766343975507934403277833950367431877601435218735946016579638650143000276308882679712206227324684672910315970484640747579846220108017307396232040746851768032789638202676158209944574328460524800640198635325640973363385215657233014950577612209844541756373588664675062294633501491592728267682227928888489715583493961249172425289263956651138112814122741784751293150068244872459538815252240420057408586305298918604458760732167830667700595198722344754052108677150262804298044977053187032133696632436404035258754187257537231180496263265853485627650350960981995850120018380608631124711502555077076425789259138356061601475502375102961449321218474305715733000785826000675291174367585349923546110841414193717870150069097126212797060458165621332199338883309853661369391335044363609116274545097290423935190207079417046006745223513653756300723503310309838196814792000550553379991094222148549721879460721028226790980426244801180995595397049221816895579937590908097107894643367111237025408601363815389877303168196369918430573888516468887671652152219146002771512592590749587650209991631431043418653479095716920237633006649890062620415440570747585525756529180012382585368116749813537800124964232706367352264632052805093240880926212994629671268516568101773453852233787548774000148889955661037710363147255672644982154432268560398148577590419847745946170076942869962787561200524645918285517447184211642312527058458790349026419265591607482717398136746355399438184002489028366401342074859014898436169040966794987445936789417628438486729177765039803781916218713351773531948389391212905800433863653268317009461055237166830975724705184829481281744815554882 5385530639764895309922723499879415978368519134999483587366904523648232431868073264317509789451805340362900930501342069222594259526527797296934778891662580794389192491184071614674686746963989170298533447810913860061207681359412281779086036439674180812416795372859268857723433639074357444289974538039166864495302769979505643654404870844922016516200193196475592316947520313819893017065768452708190534428870508498980133300739681952088226573621441244768565657558135693977113506882576592986516921646648076138760731430877137821480498723192572413161808071736167970480442595647718088670182715006100861464711149691428355574357964416693302680918919476740828769698315613827025498427205820352881520924453231265164925863682008627959861543713369315204345054132677960857166154065208722027314284350728247680284069096698490458809329925097424872069936863534242552816355559316304978461268182822115490592243476869398298618201548967133369703924259585881519404687700203628103139719482386180345934313301342784090118593385854978214468664251350537893719633875883088297153492665087980814446448200386521127269146097955750955199751778172837860975834953294276785381170014315796339213660329969967383968007202756359535486744580452534602401839763910169229201167133453467566893305074998984335879350366825093265500017051547318894160312650382645781628539316854150525414712043220155131920992454254534459783646992389380466799225220794755081362161726453884355447459547014776849985132457854085782240062818782037273171221243879638545635127071288203260046704454925253890034486679180926116998712746479835006117906924629683516204838875672177068676953597244371011569071394357893612255645258360604563531616331447588419803392030939061406674884079904932572298465368077505114718562576880303810202567945536125068796773487160970366047639451434815450394435507221942472672910776970451244687819877818033174331686662753442788655554570892306798572977118911988726845569740478248761 8713971622593566622324407865470272307125867000352818960450838648318125139957048253711056678297475740958134004421770167937215956924726057133351915390410024500487728117748244396853485027999525649668824313018857039605361915074631721551552944990963443078658519353570618322579184682433626220477420262805510840003237173257339594021836748446357235252146209776114242459947796622702572729271995777392863444744840993139727713146959789969395622805662188096536598447196338370135323451456905053511317561845283401779734094816092795054495449300804782257703564445324832645542737229149209681398450397234029749954426733185389604746783253680649953819031733599482613520991465682071897957966021072593301578333039536564083530322442740795790529244308568037549099106241355111119970452110185775214346418047360684084319327850885747996040510421360690725555564513885203534812205679334685587092392894324670567668669266128536654679803024469508472665373580804355825120420700989454103815010656753765695857859412184198283836463535924075340681461311808703515051833214766398150814862056423025178055564474931618417693081288162830372245758523396351514732135676797587095219366829107796889767040321064189532517729082217080563713535560878779403582835359307218451018062713391058474990412969642351447116375775426457080889894354715515264078743224271162250516210969006369671417483555812745881508642664246165890827065645868476183719462853801404971424782141894455103032985303543956862367717825970835595777862943746269979538573508511691350728367952214416254676375723441821991807940531414713665772712895369790667155617287776939188849821030104445629075102174834790859315017564434836482218432819561129209449901848894772631445704557997520197023910499170524179781182766214251470118000760882792838568969287610984083695209656201937161035085388224233078832922236399707512476692693189164596461351826207424387237487096617096056972564031947543965403952843617173556326851485293803643 14099502262358461932247131365349688285494386135352302547817743171966357571825121518028566467749281081321034934923112237159810216451253854430286694282072605294876920608932316011528171774963514819967357760829770899666569596434044003330638981430637623891075314726429887180302618321507983664767394800844677704498539943236845237676241619291279251768346402972589834776895316936522465746337764230101053979173711501638707846447699471921483849379283629341305164104754474064112436958339481646497834483491931477918494826246969932875975948023997354670865372517061000616023179824796927770068633112240130611419137882876817960321141218097343256499950653076223442290689781295898923456393226892946183099257492767829248456186124749423750390788021937352753444160374033071977136606175394497241660702398088931764603396947584238454849840346458115597625501377419446087628561238650990565553661077146786058260912742997934953298004573436641842369297840390237344525108401193082206954730139139946041792172713526982373955056921779053555150125563159241408771467090649486447968354721511005992502012675318139544962227386118581327445510301569189375707970630091863880600536843423593228980700651034156916485736284973440099200280141331314005984675123217387680219229846844526041883718044641335782995726142251550346389911406262834158239055874653808032144750285860520196832195599032901013429635118500700350610712638257856650518688074596160052786943868348339458480444850558733712352850283824921378017925762528307252709794752391329896363495023502619514723080178367075881842427210595639782771425641849625673273524212406622705054659905776622697752055772079161870884088958792730094474078077921733772981518180342361051249096588936581603698794579075456752079648134291756584836563337763096648771537233147109152491983143362907527082724839659048529227357743621649985149603470159615841149171704025457561569173759370538845628118602839850763976929962529162283172421225772052404 22813473884952028554571539230819960592620253135705121508268581820284482711782169771739623146046756822279168939344882405097026173375979911563638609672482629795364648726680560408381656802963040469636182073848627939271931511508675724882191926421601066969733834080000505502881803003941609885244815063650188544501777116494184831698078367737636487020492612748704077236843113559225038475609760007493917423918552494778435559594659261890879472184945817437841762551950812434247760409796386700009152045337214879698228921063062727930471397324802136928568936962385833261565917053946137451467083509474160361373564616062207565067924471777993210318982386675706055811681246977970821414359247965539484677590532304393331986508567490219540920032330505390302543266615388183097107058285580272456007120445449615848922724798469986450890350767818806323181065891304649622440766917985676152646053971471456625929582009126471607977807597906150315034671421194593169645529102182536310769740795893711737650032125711180657791520457703128895831586874967944923823300305415884598783216777934031170557577150249757962655308674281411699691268824965540890440106306889450975819903672531390118747740972098346449003465367190520662913815702210093409567510482524606131237292560235584516874131014283687230112101917678007427279805760978349422317799098924970282660961254866889868249679154845646894938277782746866241437778284126332834238150928397565024211726010242794561513430154102690574720568109795756973795788706274577232248368260903021247091862975717035769399455901808897873650367742010353448544138537219416340429141500183561893904480935881068326827157946913952730199106523227566576692510897482862982431420029237133682694801146934101800722705078245980931860830900506008054954564098645889487340506520758093236187192799564844688117810227883281608060279980021357497626296163348780437610523530232881948806660855987634902600682634787394729380882806146335839499272711065856047 36912976147310490486818670596169648878114639271057424056086324992250840283607291289768189613796037903600203874267994642256836389827233765993925303954555235090241569335612876419909828577926555289603539834678398838938501107942719728212830907852238690860809148806430392683184421325449593550012209864494866249000317059731030069374319987028915738788839015721293912013738430495747504221947524237594971403092263996417143406042358733812363321564229446779146926656705286498360197368135868346506986528829146357616723747310032660806447345348799491599434309479446833877589096878743065221535716621714290972792702498939025525389065689875336466818933039751929498102371028273869744870752474858485667776848025072222580442694692239643291310820352442743055987426989421255074243664460974769697667822843538547613526121746054224905740191114276921920806567268724095710069328156636666718199715048618242684190494752124406561275812171342792157403969261584830514170637503375618517724470935033657779442204839238163031746577379482182450981712438127186332594767396065371046751571499445037163059589825567897507617536060399993027136779126534730266148076936981314856420440515954983347728441623132503365489201652163960762114095843541407415552185605741993811456522407080110558757849058925023013107828059929557773669717167241183580556854973578778314805711540727410065081874753878547908367912901247566592048490922384189484756839002993725076998669878591134019993875004661424287073418393620678351813714468802884484958163013294351143455357999219655284122536080175973755492794952605993231315564179069042013702665712590184598959140841657691024579213718993114601083195482020296671166588975404596755412938209579494733943897735870683404421499657321437683940479034797764639791127436408986136112043753905202388679175942927752215200535067542330137287637723643007482775899633508396278759695234258339510375834615358173748228801237627245493357812768675498122671693936837908451 59726450032262519041390209826989609470734892406762545564354906812535322995389461061507812759842794725879372813612877047353862563203213677557563913627037864885606218062293436828291485380889595759239721908527026778210432619451395453095022834273839757830542982886430898186066224329391203435257024928145054793502094176225214901072398354766552225809331628469997989250581544054972542697557284245088888827010816491195578965637017995703242793749175264216988689208656098932607957777932255046516138574166361237314952668373095388736918742673601628528003246441832667139155013932689202673002800131188451334166267115001233090456990161653329677137915426427635553914052275251840566285111722824025152454438557376615912429203259729862832230852682948133358530693604809438171350722746555042153674943288988163462448846544524211356630541882095728243987633160028745332510095074622342870845769020089699310120076761250878169253619769248942472438640682779423683816166605558154828494211730927369517092236964949343689538097837185311346813299313095131256418067701481255645534788277379068333617166975817655470272844734681404726828047951500271156588183243870765832240344188486373466476182595230849814492667019354481425027911545751500825119696088266599942693814967315695075631980073208710243219929977607565200949522928219533002874654072503748597466672795594299933331553908724194803306190683994432833486269206510522318994989931391290101210395888833928581507305158764114861793986503416435325609503175077461717206531274197372390547220974936691053521991981984871629143162694616346679859702716288458354131807212773746492863621777538759351406371665907067331282302005247863247859099872887459737844358238816628416638698882804785205144204735567418615801309935303772694745691535054875623452550274663295624866368742492596903318345295425611745347917703664364980402195796857176716370218764491221459182495471345808650829483872414640222738695574821833962170966647903764498 96639426179573009528208880423159258348849531677819969620441231804786163278996752351276002373638832629479576687880871689610698953030447443551489217581593099975847787397906313248201313958816151048843261743205425617148933727394115181307853742126078448691352131692861290869250645654840796985269234792639921042502411235956244970446718341795467964598170644191291901264319974550720046919504808482683860230103080487612722371679376729515606115313404710996135615865361385430968155146068123393023125102995507594931676415683128049543366088022401120127437555921279501016744110811432267894538516752902742306958969613940258615846055851528666143956848466179565052016423303525710311155864197682510820231286582448838492871897951969506123541673035390876414518120594230693245594387207529811851342766132526711075974968290578436262370732996372650164794200428752841042579423231259009589045484068707941994310571513375284730529431940591734629842609944364254197986804108933773346218682665961027296534441804187506721284675216667493797795011751222317589012835097546626692286359776824105496676756801385552977890380795081397753964827078035001422736260180852080688660784704441356814204624218363353179981868671518442187142007389292908240671881694008593754150337374395805634389829132133733256327758037537122974619240095460716583431509046082526912272384336321709998413428662602742711674103585241999425534760128894711803751828934385015178209065767425062601501180163425539148867404897037113677423217643880346202164694287491723534002578974156346337644528062160845384635957647222339911175266895357500367834472925363931091822762619196450375985585384900181932365497487268159919025688848292056493257296448396123150582596618675468609565704392888856299741788970101537334536818971463861759564594028568498013545544685420349118518880362967941882635555427307372463178095430365572995129913998749560969558330086703982399058285110041885716096508343497332084842660584741672949 156365876211835528569599090250148867819584424084582515184796138617321486274386213412783815133481627355358949501493748736964561516233661121109053131208630964861454005460199750076492799339705746808082983651732452395359366346845510634402876576399918206521895114579292189055316869984232000420526259720784975836004505412181459871519116696562020190407502272661289890514901518605692589617062092727772749057113896978808301337316394725218848909062579975213124305074017484363576112924000378439539263677161868832246629084056223438280284830696002748655440802363112168155899124744121470567541316884091193641125236728941491706303046013181995821094763892607200605930475578777550877440975920506535972685725139825454405301101211699368955772525718339009773048814199040131416945109954084854005017709421514874538423814835102647619001274878468378408781833588781586375089518305881352459891253088797641304430648274626162899783051709840677102281250627143677881802970714491928174712894396888396813626678769136850410822773053852805144608311064317448845430902799027882337821148054203173830293923777203208448163225529762802480792875029535272579324443424722846520901128892927730280680806813594202994474535690872923612169918935044409065791577782275193696844152341711500710021809205342443499547688015144688175568763023680249586306163118586275509739057131916009931744982571326937514980294269236432259021029335405234122746818865776305279419461656258991183008485322189654010661391400453549003032720818957807919371225561689095924549799949093037391166520044145717013779120341838686591034969611645958721966280138137677584686384396735209727391957050807249263647799492516023166884788721179516231101654687212751567221295501480253814709909128456274915543098905405310029282510506518737383017144303231793638411913427912946021837225658393553627983473130971737443580291227222749711500132763240782428740825558049791049887768982456525938835203918319166047013627232645437447 253005302391408538097807970673308126168433955762402484805237370422107649553382965764059817507120459984838526189374620426575260469264108564660542348790224064837301792858106063324694113298521897856926245394937878012508300074239625815710730318525996655213247246272153479924567515639072797405795494513424896878506916648137704841965835038357488155005672916852581791779221493156412636536566901210456609287216977466421023708995771454734455024375984686209259920939378869794544268070068501832562388780157376427178305499739351487823650918718403868782878358284391669172643235555553738462079833636993935948084206342881750322149101864710661965051612358786765657946898882303261188596840118189046792917011722274292898172999163668875079314198753729886187566934793270824662539497161614665856360475554041585614398783125681083881372007874841028573576034017534427417668941537140362048936737157505583298741219788001447630312483650432411732123860571507932079789774823425701520931577062849424110161120573324357132107448270520298942403322815539766434443737896574509030107507831027279326970680578588761426053606324844200234757702107570274002060703605574927209561913597369087094885431031957556174456404362391365799311926324337317306463459476283787450994489716107306344411638337476176755875446052681811150188003119140966169737672164668802422011441468237719930158411233929680226654397854478431684555789464299945926498647800161320457628527423684053784509665485615193159528796297490662680455938462838154121535919849180819458552378923249383728811048106306562398415077989061026502210236507003459089800753063501608676509147015931660103377542435707431196013296979784183085910477569471572724358951135608874717803892120155722424275613521345131215284887875506847363819329477982599142581738331800291651957458113333295140356106021361495510619028558279109906758386657588322706630046761990343398299155644753773448946054092498411654931712261816498131856287817387110396 409371178603244066667407060923456993988018379846984999990033509039429135827769179176843632640602087340197475690868369163539821985497769685769595479998855029698755798318305813401186912638227644665009229046670330407867666421085136450113606894925914861735142360851445668979884385623304797826321754234209872714511422060319164713484951734919508345413175189513871682294123011762105226153628993938229358344330874445229325046312166179953303933438564661422384226013396354158120380994068880272101652457319245259424934583795574926103935749414406617438319160647503837328542360299675209029621150521085129589209443071823242028452147877892657786146376251393966263877374461080812066037816038695582765602736862099747303474100375368244035086724472068895960615748992310956079484607115699519861378184975556460152822597960783731500373282753309406982357867606316013792758459843021714508827990246303224603171868062627610530095535360273088834405111198651609961592745537917629695644471459737820923787799342461207542930221324373104087011633879857215279874640695602391367928655885230453157264604355791969874216831854607002715550577137105546581385147030297773730463042490296817375566237845551759168930940053264289411481845259381726372255037258558981147838642057818807054433447542818620255423134067826499325756766142821215756043835283255077931750498600153729861903393805256617741634692123714863943576818799705180049245466665937625737047989079943044967518150807804847170190187697944211683488659281795962040907145410869915383102178872342421119977568150452279412194198330899713093245206118649417811767033201639286261195531412666869830769499486514680459661096472300206252795266290651088955460605822821626285025187621635976238985522649801406130827986780912157393101839984501336525598882635032085290369371541246241162193331679755049138602501689250847350338677884811072418130179525231125827039981202803564498833823074954937593766916180135664178869915050032547843 662376480994652604765215031596765120156452335609387484795270879461536785381152144940903450147722547325036001880242989590115082454761878250430137828789079094536057591176411876725881025936749542521935474441608208420375966495324762265824337213451911516948389607123599148904451901262377595232117248747634769593018338708456869555450786773276996500418848106366453474073344504918517862690195895148685967631547851911650348755307937634687758957814549347631644146952775223952664649064137382104664041237476621686603240083534926413927586668132810486221197518931895506501185595855228947491700984158079065537293649414704992350601249742603319751197988610180731921824273343384073254634656156884629558519748584374040201647099539037119114400923225798782148182683785581780742024104277314185717738660529598045767221381086464815381745290628150435555933901623850441210427401380162076557764727403808807901913087850629058160408019010705500566528971770159542041382520361343331216576048522587245033948919915785564675037669594893403029414956695396981714318378592176900398036163716257732484235284934380731300270438179451202950308279244675820583445850635872700940024956087665904470451668877509315343387344415655655210793771583719043678718496734842768598833131773926113398845085880294797011298580120508310475944769261962181925781507447923880353761940068391449792061805039186297968289089978193295628132608264005125975744114466098946194676516503627098752027816293420040329718983995434874363944597744634116162443065260050734841654557795591804848788616256758841810609276319960739595455442625652876901567786265140894937704678428598529934147041922222111655674393452084389338705743860122661679819556958430501002829079741791698663261136171146537346112874656419004756921169462483935668180620966832376942326829654579536302549437701116544649221530247529957257097064542399395124760226287221469225339136847557337947779877167453349248698628441952162310726202867419658239 1071747659597896671432622092520222114144470715456372484785304388500965921208921324117747082788324634665233477571111358753654904440259647936199733308787934124234813389494717690127067938574977187186944703488278538828243632916409898715937944108377826378683531967975044817884336286885682393058439002981844642307529760768776034268935738508196504845832023295880325156367467516680623088843824889086915325975878726356879673801620103814641062891253114009054028372966171578110785030058206262376765693694795866946028174667330501340031522417547217103659516679579399343829727956154904156521322134679164195126503092486528234379053397620495977537344364861574698185701647804464885320672472195580212324122485446473787505121199914405363149487647697867678108798432777892736821508711393013705579116845505154505920043979047248546882118573381459842538291769230166455003185861223183791066592717650112032505084955913256668690503554370978589400934082968811152002975265899260960912220519982325065957736719258246772217967890919266507116426590575254196994193019287779291765964819601488185641499889290172701174487270034058205665858856381781367164830997666170474670487998577962721846017906723061074512318284468919944622275616843100770050973533993401749746671773831744920453278533423113417266721714188334809801701535404783397681825342731178958285512438668545179653965198844442915709923782101908159571709427063710306024989581132036571931724505583570143719545967101224887499909171693379086047433257026430078203350210670920650224756736667934225968766184407211121222803474650860452688700648744302294713334819466780181198900209841265399764916541408736792115335489924384595591501010150773750635280162781252127287854267363427674902246658820947943476940861437331162150023009446985272193779503601864462232696201195825777464742769380871593787824031936780804607435742427210467542890405812452595052379118050360902446613700242408286842465544622087826489596117917452206082 1734124140592549276197837124116987234300923051065759969580575267962502706590073469058650532936047181990269479451354348343769986895021526186629871137577013218770870980671129566852948964511726729708880177929886747248619599411734660981762281321829737895631921575098643966788788188148059988290556251729479411900548099477232903824386525281473501346250871402246778630440812021599140951534020784235601293607426578268530022556928041449328821849067663356685672519918946802063449679122343644481429734932272488632631414750865427753959109085680027589880714198511294850330913552010133104013023118837243260663796741901233226729654647363099297288542353471755430107525921147848958575307128352464841882642234030847827706768299453442482263888570923666460256981116563474517563532815670327891296855506034752551687265360133713362263863864009610278094225670854016896213613262603345867624357445053920840406998043763885726850911573381684089967463054738970694044357786260604292128796568504912310991685639174032336893005560514159910145841547270651178708511397879956192164000983317745918125735174224553432474757708213509408616167135626457187748276848302043175610512954665628626316469575600570389855705628884575599833069388426819813729692030728244518345504905605671033852123619303408214278020294308843120277646304666745579607606850179102838639274378736936629446027003883629213678212872080101455199842035327715432000733695598135518126401022087197242471573783394644927829628155688813960411377854771064194365793275930971385066411294463526030817554800663969963033412750970821192284156091369955171614902605731921076136604888269863929699063583330958903771009883376468984930206754010896412315099719739682628290683347105219373565507794992094480823053736093750166906944178909469207861960124568696839175023030850405313767292207081988138437045562184310761864532806969609862667650632099674064277718254897918240394393577409861636091164173064039988800322320784871864321 2805871800190445947630459216637209348445393766522132454365879656463468627798994793176397615724371816655502957022465707097424891335281174122829604446364947343005684370165847256980016903086703916895824881418165286076863232328144559697700225430207564274315453543073688784673124475033742381348995254711324054208077860246008938093322263789670006192082894698127103786808279538279764040377845673322516619583305304625409696358548145263969884740320777365739700892885118380174234709180549906858195428627068355578659589418195929093990631503227244693540230878090694194160641508165037260534345253516407455790299834387761461108708044983595274825886718333330128293227568952313843895979600548045054206764719477321615211889499367847845413376218621534138365779549341367254385041527063341596875972351539907057607309339180961909145982437391070120632517440084183351216799123826529658690950162704032872912082999677142395541415127752662679368397137707781846047333052159865253041017088487237376949422358432279109110973451433426417262268137845905375702704417167735483929965802919234103767235063514726133649244978247567614282025992008238554913107845968213650281000953243591348162487482323631464368023913353495544455345005269920583780665564721646268092176679437415954305402152726521631544742008497177930079347840071528977289432192910281796924786817405481809099992202728072129388136654182009614771551462391425738025723276730172090058125527670767386191119750495869815329537327382193046458811111797494272569143486601892035291168031131460256786320985071181084256216225621681644972856740114257466328237425198701257335505098111129329463980124739695695886345373300853580521707764161670162950379882520934755578537614468647048467754453813042424299994597531081329056967188356454480055739628170561301407719232046231091232034976462859732224869594121091566471968549396820330210541037912126659330097372948279142841007277652269922933629717686127815289918438702324070403 4539995940782995223828296340754196582746316817587892423946454924425971334389068262235048148660418998645772436473820055441194878230302700309459475583941960561776555350836976823832965867598430646604705059348052033325482831739879220679462506752037302169947375118172332751461912663181802369639551506440803466108625959723241841917708789071143507538333766100373882417249091559878904991911866457558117913190731882893939718915476186713298706589388440722425373412804065182237684388302893551339625163559340844211291004169061356847949740588907272283420945076601989044491555060175170364547368372353650716454096576288994687838362692346694572114429071805085558400753490100162802471286728900509896089406953508169442918657798821290327677264789545200598622760665904841771948574342733669488172827857574659609294574699314675271409846301400680398726743110938200247430412386429875526315307607757953713319081043441028122392326701134346769335860192446752540091690838420469545169813656992149687941107997606311446003979011947586327408109685116556554411215815047691676093966786236980021892970237739279566124002686461077022898193127634695742661384694270256825891513907909219974478957057924201854223729542238071144288414393696740397510357595449890786437681585043086988157525772029929845822762302806021050356994144738274556897039043089384635564061196142418438546019206611701343066349526262111069971393497719141170026456972328307608184526549757964628662693533890514743159165483071007006870188966568558466934936762532863420357579325594986287603875785735151047289628976592502837257012831484212637943140030930622333472109986380993259163043708070654599657355256677322565451914518172566575265479602260617383869220961573866422033262248805136905123048333624831495963911367265923687917699752739258140582742262896636404999327183544847870661915156305402328336501356366430192878191670011800723607815627846197383235400855062131559024793890750167804090240759487195934724 7345867740973441171458755557391405931191710584110024878312334580889439962188063055411445764384790815301275393496285762538619769565583874432289080030306907904782239721002824080812982770685134563500529940766217319402346064068023780377162732182244866444262828661246021536135037138215544750988546761152127520316703819969250780011031052860813513730416660798500986204057371098158669032289712130880634532774037187519349415274024331977268591329709218088165074305689183562411919097483443458197820592186409199789950593587257285941940372092134516976961175954692683238652196568340207625081713625870058172244396410676756148947070737330289846940315790138415686693981059052476646367266329448554950296171672985491058130547298189138173090641008166734736988540215246209026333615869797011085048800209114566666901884038495637180555828738791750519359260551022383598647211510256405185006257770461986586231164043118170517933741828887009448704257330154534386139023890580334798210830745479387064890530356038590555114952463381012744670377822962461930113920232215427160023932589156214125660205301254005699773247664708644637180219119642934297574492540238470476172514861152811322641444540247833318591753455591566688743759398966660981291023160171537054529858264480502942462927924756451477367504311303198980436341984809803534186471235999666432488848013547900247646011409339773472454486180444120684742944960110566908052180249058479698242652077428732014853813284386384558488702810453200053329000078366052739504080249134755455648747356726446544390196770806332131545845202214184482229869571598470104271377456129323590807615084492122588627023832810350295543700629978176145973622282334236738215859484781552139447758576042513470501016702618179329423042931155912825020878555622378167973439380909819441990461494942867496231362160007707602886784750426493894808469905763250523088732707923927382937913000794476526076408132714401481958423608436295619380159198189520005127 11885863681756436395287051898145602513938027401697917302258789505315411296577131317646493913045209813947047829970105817979814647795886574741748555614248868466558795071839800904645948638283565210105235000114269352727828895807903001056625238934282168614210203779418354287596949801397347120628098267592930986425329779692492621928739841931957021268750426898874868621306462658037574024201578588438752445964769070413289134189500518690567297919097658810590447718493248744649603485786337009537445755745750044001241597756318642789890112681041789260382121031294672283143751628515377989629081998223708888698492986965750836785433429676984419054744861943501245094734549152639448838553058349064846385578626493660501049205097010428500767905797711935335611300881151050798282190212530680573221628066689226276196458737810312451965675040192430918086003661960583846077623896686280711321565378219940299550245086559198640326068530021356218040117522601286926230714729000804343380644402471536752831638353644902001118931475328599072078487508079018484525136047263118836117899375393194147553175538993285265897250351169721660078412247277630040235877234508727302064028769062031297120401598172035172815482997829637833032173792663401378801380755621427840967539849523589930620453696786381323190266614109220030793336129548078091083510279089051068052909209690318686192030615951474815520835706706231754714338457829708078078637221386787306427178627186696643516506818276899301647868293524207060199189044934611206439017011667618876006326682321432831994072556541483178835474178806687319486882403082682742214517487059945924279725070873115847790067540881004895201055886655498711425536800506803313481339087042169523316979537616379892534278951423316234546091264780744320984789922888301855891139133649077582573203757839503901230689343552555473548699906731896223144971262129680715966924377935728106545728628640673909311808987776533040983217499186463423470399957676715939851 19231731422729877566745807455537008445129737985807942180571124086204851258765194373057939677430000629248323223466391580518434417361470449174037635644555776371341034792842624985458931408968699773605764940880486672130174959875926781433787971116527035058473032440664375823731986939612891871616645028745058506742033599661743401939770894792770534999167087697375854825363833756196243056491290719319386978738806257932638549463524850667835889248806876898755522024182432307061522583269780467735266347932159243791192191343575928731830484773176306237343296985987355521795948196855585614710795624093767060942889397642506985732504167007274265995060652081916931788715608205116095205819387797619796681750299479151559179752395199566673858546805878670072599841096397259824615806082327691658270428275803792943098342776305949632521503778984181437445264212982967444724835406942685896327823148681926885781409129677369158259810358908365666744374852755821312369738619581139141591475147950923817722168709683492556233883938709611816748865331041480414639056279478545996141831964549408273213380840247290965670498015878366297258631366920564337810369774747197778236543630214842619761846138419868491407236453421204521775933191630062360092403915792964895497398114004092873083381621542832800557770925412419011229678114357881625269981515088717500541757223238218933838042025291248287975321887150352439457283417940274986130817470445267004669830704615428658370320102663283860136571103977407113528189123300663945943097260802374331655074039047879376384269327347815310381319381020871801716751974681152846485894943189269515087340155365238436417091373691355190744756516633674857399159082841040051697198571823721662764738113658893363035295654041495563969134195936657146005668478510680023864578514558897024563665252782371397462051503560263076435484657158390117953441167892931239055657085859655489483641629435150435388217120490934522941641107622759042850559155866235944978 31117595104486313962032859353682610959067765387505859482829913591520262555342325690704433590475210443195371053436497398498249065157357023915786191258804644837899829864682425890104880047252264983710999940994756024858003855683829782490413210050809203672683236220082730111328936741010238992244743296337989493167363379354236023868510736724727556267917514596250723446670296414233817080692869307758139424703575328345927683653025369358403187167904535709345969742675681051711126069056117477272712103677909287792433789099894571521720597454218095497725418017282027804939699825370963604339877622317475949641382384608257822517937596684258685049805514025418176883450157357755544044372446146684643067328925972812060228957492209995174626452603590605408211141977548310622897996294858372231492056342493019219294801514116262084487178819176612355531267874943551290802459303628966607649388526901867185331654216236567798585878888929721884784492375357108238600453348581943484972119550422460570553807063328394557352815414038210888827352839120498899164192326741664832259731339942602420766556379240576231567748367048087957337043614198194378046247009255925080300572399276873916882247736591903664222719451250842354808106984293463738893784671414392736464937963527682803703835318329214123748037539521639042023014243905959716353491794177768568594666432928537620030072641242723103496157593856584194171621875769983064209454691832054311097009331802125301886826920940183161784439397501614173727378168235275152382114272469993207661400721369312208378341883889298489216793559827559121203634377763835588700412430249215439367065226238354284207158914572360085945812403289173568824695883347843365178537658865891186081717651275273255569574605464811798515225460717401466990458401398981879755717648207974607136869010621875298692740847112818549984184563890286341098412430022611955022581463795383596029370258075824344700026108267467563924858606809222466320959113542951884829 50349326527216191528778666809219619404197503373313801663401037677725113814107520063762373267905211072443694276902888979016683482518827473089823826903360421209240864657525050875563811456220964757316764881875242696988178815559756563924201181167336238731156268660747105935060923680623130863861388325083047999909396979015979425808281631517498091267084602293626578272034130170430060137184160027077526403442381586278566233116550220026239076416711412608101491766858113358772648652325897945007978451610068531583625980443470500253551082227394401735068715003269383326735648022226549219050673246411243010584271782250764808250441763691532951044866166107335108672165765562871639250191833944304439749079225451963619408709887409561848484999409469275480810983073945570447513802377186063889762484618296812162393144290422211717008682598160793792976532087926518735527294710571652503977211675583794071113063345913936956845689247838087551528867228112929550970191968163082626563594698373384388275975773011887113586699352747822705576218170161979313803248606220210828401563304492010693979937219487867197238246382926454254595674981118758715856616784003122858537116029491716536644093875011772155629955904672046876584040175923526098986188587207357631962336077531775676787216939872046924305808464934058053252692358263841341623473309266486069136423656166756553868114666533971391471479481006936633628905293710258050340272162277321315766840036417553960257147023603467021921010501479021287255567291535939098325211533272367539316474760417191584762611211237113799598112940848430922920386352444988435186307373438484954454405381603592720624250288263715276690568919922848426223854966188883416875736230689612848846455764934166618604870259506307362484359656654058612996126879909661903620296162766871631700534263404246696154792350673081626419669221048676459051853597915543194078238549655039085513011887510974780088243228758402086866499714431981509171518269409187829807 81466921631702505490811526162902230363265268760819661146230951269245376369449845754466806858380421515639065330339386377514932547676184497005610018162165066047140694522207476765668691503473229741027764822869998721846182671243586346414614391218145442403839504880829836046389860421633369856106131621421037493076760358370215449676792368242225647535002116889877301718704426584663877217877029334835665828145956914624493916769575589384642263584615948317447461509533794410483774721382015422280690555287977819376059769543365071775271679681612497232794133020551411131675347847597512823390550868728718960225654166859022630768379360375791636094671680132753285555615922920627183294564280090989082816408151424775679637667379619557023111452013059880889022125051493881070411798672044436121254540960789831381687945804538473801495861417337406148507799962870070026329754014200619111626600202485661256444717562150504755431568136767809436313359603470037789570645316745026111535714248795844958829782836340281670939514766786033594403571009282478212967440932961875660661294644434613114746493598728443428805994749974542211932718595316953093902863793259047938837688428768590453526341611603675819852675355922889231392147160216989837879973258621750368427274041059458480491052258201261048053846004455697095275706602169801057976965103444254637731090089095294173898187307776694494967637074863520827800527169480241114549726854109375626863849368219679262143973944543650183705449898980635460982945459771214250707325805742360746977875481786503793140953095126412288814906500675990044124020730208824023886719803687700393821470607841947004831409202836075362636381323212021995048550849536726782054273889555504034928173416209439874174444864971119160999585117371460079986585281308643783376013810974846238837403274026121994847533197785900176403853784938962800150266027938155149100820013450422681542382145586799124788269337025869650791358321241203975492477382952139714636 131816248158918697019590192972121849767462772134133462809631988946970490183557365818229180126285632588082759607242275356531616030195011970095433845065525487256381559179732527641232502959694194498344529704745241418834361486803342910338815572385481681134995773541576941981450784102256500719967519946504085492986157337386194875485073999759723738802086719183503879990738556755093937355061189361913192231588338500903060149886125809410881340001327360925548953276391907769256423373707913367288669006898046350959685749986835572028822761909006898967862848023820794458410995869824062042441224115139961970809925949109787439018821124067324587139537846240088394227781688483498822544756114035293522565487376876739299046377267029118871596451422529156369833108125439451517925601049230500011017025579086643544081090094960685518504544015498199941484332050796588761857048724772271615603811878069455327557780908064441712277257384605896987842226831582967340540837284908108738099308947169229347105758609352168784526214119533856299979789179444457526770689539182086489062857948926623808726430818216310626044241132900996466528393576435711809759480577262170797374804458260306990170435486615447975482631260594936107976187336140515936866161845829108000389610118591234157278269198073307972359654469389755148528398960433642399600438412710740706867513745262050727766301974310665886439116555870457461429432463190499164889999016386696942630689404637233222401120968147117205626460400459656748238512751307153349032537339014728286294350242203695377903564306363526088413019441524420967044407082653812459073027177126185348275875989445539725455659491099790639326950243134870421272405815725610198930010120245116883774629181143606492779315124477426523483944774025518692982712161218305686996309973741717870537937537430368691002325548458981802823523005987639259202119625853698343179058563105461767055394033097773904876512565784271737657858035673185484663995652361327544443 213283169790621202510401719135024080130728040894953123955862940216215866553007211572695986984666054103721824937581661734046548577871196467101043863227690553303522253701940004406901194463167424239372294527615240140680544158046929256753429963603627123538835278422406778027840644523889870576073651567925122986062917695756410325161866368001949386337088836073381181709442983339757814572938218696748858059734295415527554066655701398795523603585943309242996414785925702179740198095089928789569359562186024170335745519530200643804094441590619396200656981044372205590086343717421574865831774983868680931035580115968810069787200484443116223234209526372841679783397611404126005839320394126282605381895528301514978684044646648675894707903435589037258855233176933332588337399721274936132271566539876474925769035899499159320000405432835606089992132013666658788186802738972890727230412080555116584002498470214946467708825521373706424155586435053005130111482601653134849635023195965074305935541445692450455465728886319889894383360188726935739738130472143962149724152593361236923472924416944754054850235882875538678461112171752664903662344370521218736212492887028897443696777098219123795335306616517825339368334496357505774746135104450858368816884159650692637769321456274569020413500473845452243804105562603443457577403516154995344598603834357344901664489282087360381406753630733978289229959632670740279439725870496072569494538772856912484545094912690767389331910299440292209221458211078367599739863144757089033272225723990199171044517401489938377227925942200411011168427812862636482959746980813885742097346597287486730287068693935866001963331566346892416320956665262336980984284009800620918702802597353046366953759989448545684483529891396978772969297442526949470372323784716564109375340811456490685849858746244881979227376790926602059352385653791853492279878576555884448597776178684573029664781902810141388449216356914389460156473035313467259079 345099417949539899529991912107145929898190813029086586765494929163186356736564577390925167110951686691804584544823937090578164608066208437196477708293216040559903812881672532048133697422861618737716824232360481559514905644850272167092245535989108804673831051963983720009291428626146371296041171514429208479049075033142605200646940367761673125139175555256885061700181540094851751927999408058662050291322633916430614216541827208206404943587270670168545368062317609948996621468797842156858028569084070521295431269517036215832917203499626295168519829068193000048497339587245636908272999099008642901845506065078597508806021608510440810373747372612930074011179299887624828384076508161576127947382905178254277730421913677794766304354858118193628688341302372784106263000770505436143288592118963118469850125994459844838504949448333806031476464064463247550043851463745162342834223958624571911560279378279388179986082905979603411997813266635972470652319886561243587734332143134303653041300055044619239991943005853746194363149368171393266508820011326048638787010542287860732199355235161064680894477015776535144989505748188376713421824947783389533587297345289204433867212584834571770817937877112761447344521832498021711612296950279966369206494278241926795047590654347876992773154943235207392332504523037085857177841928865736051466117579619395629430791256398026267845870186604435750659392095861239444329724886882769512125228177494145706946215880837884594958370699899948957459970962385520948772400483771817319566575966193894548948081707853464465640945383724831978212834895516448942032774157940071090373222586733026455742728185035656641290281809481762837593362480987947179914294130045737802477431778496652859733075113925972207967474665422497465952009603745255157368633758458281979913278348886859376852184294703863782050899796914241318554505279645551835458937139661346215653170211782346934541294468594413126107074392587574944820468687674794803522 558382587740161102040393631242170010028918853924039710721357869379402223289571788963621154095617740795526409482405598824624713185937404904297521571520906593863426066583612536455034891886029042977089118759975721700195449802897201423845675499592735928212666330386390498037132073150036241872114823082354331465111992728899015525808806735763622511476264391330266243409624523434609566500937626755410908351056929331958168283197528607001928547173213979411541782848243312128736819563887770946427388131270094691631176789047236859637011645090245691369176810112565205638583683304667211774104774082877323832881086181047407578593222092953557033607956898985771753794576911291750834223396902287858733329278433479769256414466560326470661012258293707230887543574479306116694600400491780372275560158658839593395619161893959004158505354881169412121468596078129906338230654202718053070064636039179688495562777848494334647694908427353309836153399701688977600763802488214378437369355339099377958976841500737069695457671892173636088746509556898329006246950483470010788511163135649097655672279652105818735744712898652073823450617919941041617084169318304608269799790232318101877563989683053695566153244493630586786712856328855527486358432054730824738023378437892619432816912110622446013186655417080659636136610085640529314755245445020731396064721413976740531095280538485386649252623817338414039889351728531979723769450757378842081619766950351058191491310793528651984290280999340241166681429173463888548512263628528906352838801690184093719992599109343402842868871325925242989381262708379085424992521138753956832470569184020513186029796878971522643253613375828655253914319146250284160898578139846358721180234375849699226686835103374517892451004556819476238921307046272204627740957543174846089288619160343350062702043040948745761278276587840843377906890933437405327738815716217230664250946390466919964206076371404554514556290749501964404976941722988262062601 903482005689701001570385543349315939927109666953126297486852798542588580026136366354546321206569427487330994027229535915202877794003613341493999279814122634423329879465285068503168589308890661714805942992336203259710355447747473590937921035581844732886497382350374218046423501776182613168155994596783539944161067762041620726455747103525295636615439946587151305109806063529461318428937034814072958642379563248388782499739355815208333490760484649580087150910560922077733441032685613103285416700354165212926608058564273075469928848589871986537696639180758205687081022891912848682377773181885966734726592246126005087399243701463997843981704271598701827805756211179375662607473410449434861276661338658023534144888474004265427316613151825424516231915781678900800863401262285808418848750777802711865469287888418848997010304329503218152945060142593153888274505666463215412898859997804260407123057226773722827680991333332913248151212968324950071416122374775622025103687482233681612018141555781688935449614898027382283109658925069722272755770494796059427298173677936958387871634887266883416639189914428608968440123668129418330505994266087997803387087577607306311431202267888267336971182370743348234057378161353549197970729005010791107229872716134546227864502764970323005959810360315867028469114608677615171933087373886467447530838993596136160526071794883412917098494003942849790548743824393219168099175644261611593744995127845203898437526674366536579248651699240190124141400135849409497284664112300723672405377656377988268940680817196867308509816709650074967594097603895534367025295296694027922843791770753539641772525064007179284543895185310418091507681627238231340812872269892096523657666154346352086419910217300490100418479222241973704873316650017459785109591301633128069201897509230209439554227335652609543329176384755084696461396213082957163197752855878576879904116602249266898747370839998967640663365142089539349797410410663056866123 1461864593429862103610779174591485949956028520877166008208210667921990803315708155318167475302187168282857403509635134739827590979941018245791520851335029228286755946048897604958203481194919704691895061752311924959905805250644675014783596535174580661099163712736764716083555574926218855040270817679137871409273060490940636252264553839288918148091704337917417548519430586964070884929874661569483866993436492580346950782936884422210262037933698628991628933758804234206470260596573384049712804831624259904557784847611509935106940493680117677906873449293323411325664706196580060456482547264763290567607678427173412665992465794417554877589661170584473581600333122471126496830870312737293594605939772137792790559355034330736088328871445532655403775490260985017495463801754066180694408909436642305261088449782377853155515659210672630274413656220723060226505159869181268482963496036983948902685835075268057475375899760686223084304612670013927672179924862990000462473042821333059570994983056518758630907286790201018371856168481968051279002720978266070215809336813586056043543914539372702152383902813080682791890741588070459947590163584392606073186877809925408188995191950941962903124426864373935020770234490209076684329161059741615845253251154027165660681414875592769019146465777396526664605724694318144486688332818907198843595560407572876691621352333368799566351117821281263830438095552925198891868626401640453675364762078196262089928837467895188563538932698580431290822829309313298045796927740829630025244179346562081988933279926540270151378688035575317956975360312274619792017816435447984755314360954774052827802321942978701927797508561139073345422000773488515501711450409738455244837900530196051313106745320675007992869483779061449943794623696289664412850548844807974158490516669573559502256270376601355304607452972595928074368287146520362490936568572095807544155062992716186862953447211403522155219655891591503754774352133651318928724 2365346599119563105181164717940801889883138187830292305695063466464579383341844521672713796508756595770188397536864670655030468773944631587285520131149151862710085825514182673461372070503810366406701004744648128219616160698392148605721517570756425393985661095087138934129979076702401468208426812275921411353434128252982256978720300942814213784707144284504568853629236650493532203358811696383556825635816055828735733282676240237418595528694183278571716084669365156284203701629258997152998221531978425117484392906175783010576869342269989664444570088474081617012745729088492909138860320446649257302334270673299417753391709495881552721571365442183175409406089333650502159438343723186728455882601110795816324704243508335001515645484597358079920007406042663918296327203016351989113257660214445017126557737670796702152525963540175848427358716363316214114779665535644483895862356034788209309808892302041780303056891094019136332455825638338877743596047237765622487576730303566741183013124612300447566356901688228400654965827407037773551758491473062129643107510491523014431415549426639585569023092727509291760330865256199878278096157850480603876573965387532714500426394218830230240095609235117283254827612651562625882299890064752406952483123870161711888545917640563092025106276137712393693074839302995759658621420192793666291126399401169012852147424128252212483449611825224113620986839377318418059967802045902065269109757206041465988366364142261725142787584397820621414964229445162707543081591853130353697649557002940070257873960743737137459888504745225392924569457916170154159043111732142012678158152725527592469574847006985881212341403746449491436929682400726746842524322679630551768495566684542403399526655537975498093287963001303423648667940346307124197960140146441102227692414178803768941810497712253964847936629357351012770829683359603319654134321427974384424059179594965453761700818051402489795883021033681043104571762544314375794847 3827211192549425208791943892532287839839166708707458313903274134386570186657552676990881271810943764053045801046499805394858059753885649833077040982484181090996841771563080278419575551698730071098596066496960053179521965949036823620505114105931006055084824807823903650213534651628620323248697629955059282762707188743922893230984854782103131932798848622421986402148667237457603088288686357953040692629252548409082684065613124659628857566627881907563345018428169390490673962225832381202711026363602685022042177753787292945683809835950107342351443537767405028338410435285072969595342867711412547869941949100472830419384175290299107599161026612767648991006422456121628656269214035924022050488540882933609115263598542665737603974356042890735323782896303648935791791004770418169807666569651087322387646187453174555308041622750848478701772372584039274341284825404825752378825852071772158212494727377309837778432790854705359416760438308352805415775972100755622950049773124899800754008107668819206197264188478429419026821995889005824830761212451328199858916847305109070474959463966012287721406995540589974552221606844270338225686321434873209949760843197458122689421586169772193143220036099491218275597847141771702566629051124494022797736375024188877549227332516155861044252741915108920357680563997313904145309753011700865134721959808741889543768776461621012049800729646505377451424934930243616951836428447542518944474519284237728078295201610156913706326517096401052705787058754476005588878519593959983722893736349502152246807240670277407611267192780800710881544818228444773951060928167589997433472513680301645297377168949964583140138912307588564782351683174215262344235773089369007013333467214738454712633400858650506086157446780364873592462564042596788610810688991249076386182930848377328444066768088855320152544082329946940845197970506123682145070890000070191968214242587681640624654265262806011951102676925272546859346114677965694723571 6192557791668988313973108610473089729722304896537750619598337600851149569999397198663595068319700359823234198583364476049888528527830281420362561113633332953706927597077262951880947622202540437505297071241608181399138126647428972226226631676687431449070485902911042584343513728331021791457124442230980694116141316996905150209705155724917345717505992906926555255777903887951135291647498054336597518265068604237818417348289364897047453095322065186135061103097534546774877663855091378355709247895581110139526570659963075956260679178220097006796013626241486645351156164373565878734203188158061805172276219773772248172775884786180660320732392054950824400412511789772130815707557759110750506371141993729425439967842051000739119619840640248815243790302346312854088118207786770158920924229865532339514203925123971257460567586291024327129131088947355488456064490940470236274688208106560367522303619679351618081489681948724495749216263946691683159372019338521245437626503428466541937021232281119653763621090166657819681787823296043598382519703924390329502024357796632084906375013392651873290430088268099266312552472100470216503782479285353813826334808584990837189847980388602423383315645334608501530425459793334328448928941189246429750219498894350589437773250156718953069359018052821314050755403300309663803931173204494531425848359209910902395916200589873224533250341471729491072411774307562035011804230493444584213584276490279194066661565752418638849114101494221674120751288199638713131960111447090337420543293352442222504681201414014545071155697526026103806114276144614928110104039899732010111630666405829237766952015956950464352480316054038056219281365574942009186760095768999558781829033899280858112160056396626004179445409781668297241130504388903912808770829137690178613875345027181097385877265801109285000480711687297953616027653865727001799205211428044576392273422182647094386355083314208501746985697958953589963917877222280070518418 10019768984218413522765052503005377569561471605245208933501611735237719756656949875654476340130644123876279999629864281444746588281715931253439602096117514044703769368640343230300523173901270508603893137738568234578660092596465795846731745782618437504155310710734946234557048379959642114705822072186039976878848505740828043440690010507020477650304841529348541657926571125408738379936184412289638210894321152646901101413902489556676310661949947093698406121525703937265551626080923759558420274259183795161568748413750368901944489014170204349147457164008891673689566599658638848329546055869474353042218168874245078592160060076479767919893418667718473391418934245893759471976771795034772556859682876663034555231440593666476723594196683139550567573198649961789879909212557188328728590799516619661901850112577145812768609209041872805830903461531394762797349316345295988653514060178332525734798347056661455859922472803429855165976702255044488575147991439276868387676276553366342691029339949938859960885278645087238708609819185049423213280916375718529360941205101741155381334477358664161011837083808689240864774078944740554729468800720227023776095651782448959879269566558374616526535681434099719806023306935106031015557992313740452547955873918539466987000582672874814113611759967930234408435967297623567949240926216195396560570319018652791939684977051494236583051071118234868523836709237805651963640658940987103158058795774516922144956767362575552555440618590622726826538346954114718720838631041050321143437029701944374751488442084291952682422890306826814687659094373059702061164968067322007545103180086130883064329184906915047492619228361626621001633048749157271530995868858368565795162501114019312824793457255276510265602856562033170833593068431500701419581518128939255000058275875558425829944033889964605153024794017244894461225624371850683944276101428114768360487664770328735011009348577014513698088374884226136823263991900245765241989 16212326775887401836738161113478467299283776501782959553099949336088869326656347074318071408450344483699514198213228757494635116809546212673802163209750846998410696965717606182181470796103810946109190208980176415977798219243894768072958377459305868953225796613645988818900562108290663906162946514417020670994989822737733193650395166231937823367810834436275096913704475013359873671583682466626235729159389756884719518762191854453723763757272012279833467224623238484040429289936015137914129522154764905301095319073713444858205168192390301355943470790250378319040722764032204727063749244027536158214494388648017326764935944862660428240625810722669297791831446035665890287684329554145523063230824870392459995199282644667215843214037323388365811363500996274643968027420343958487649515029382152001416054037701117070229176795332897132960034550478750251253413807285766224928202268284892893257101966736013073941412154752154350915192966201736171734520010777798113825302779981832884628050572231058513724506368811745058390397642481093021595800620300108858862965562898373240287709490751316034302267172076788507177326551045210771233251280005580837602430460367439797069117546946977039909851326768708221336448766728440359464486933502986882298175372812890056424773832829593767182970778020751548459191370597933231753172099420689927986418678228563694335601177641367461116301412589964359596248483545367686975444889434431687371643072264796116211618333114994191404554720084844400947289635153753431852798742488140658563980323054386597256169643498306497753578587832852918493773370517674630171269007967054017656733846491960120831281200863865511845099544415664677220914414324099280717755964627368124576991535013300170936953513651902514445048266343701468074723572820404614228352347266629433613933620902739523215821299691073890153505505704542848077253278237577685743481312856159344752761086952975829397364431891223015445074072843179726787181869122525835760407 26232095760105815359503213616483844868845248107028168486601561071326589083313296949972547748580988607575794197843093038939381705091262143927241765305868361043114466334357949412481993970005081454713083346718744650556458311840360563919690123241924306457381107324380935053457610488250306020868768586603060647873838328478561237091085176738958301018115675965623638571631046138768612051519866878915873940053710909531620620176094344010400074419221959373531873346148942421305980916016938897472549796413948700462664067487463813760149657206560505705090927954259269992730289363690843575393295299897010511256712557522262405357096004939140196160519229390387771183250380281559649759661101349180295620090507747055494550430723238333692566808234006527916378936699646236433847936632901146816378105828898771663317904150278262882997786004374769938790938012010145014050763123631062213581716328463225418991900313792674529801334627555584206081169668456780660309668002217074982212979056535199227319079912180997373685391647456832297099007461666142444809081536675827388223906768000114395669043968109980195314104255885477748042100629989951325962720080725807861378526112149888756948387113505351656436387008202807941142472073663546390480044925816727334846131246731429523411774415502468581296582537988681782867627337895556799702413025636885324546988997247216486275286154692861697699352483708199228120085192783173338939085548375418790529701868039313038356575100477569743959995338675467127773827982107868150573637373529190979707417352756330972007658085582598450436001478139679733181432464890734332232433976034376025201837026578091003895610385770780559337718772777291298222547463073256552248751833485736690372154036127319483761746970907179024710651122905734638908316641251905315647933865395568688613991896778297949045765333581038495306530299721787742538478902609428369687757414284274113113248751723304564408373780468237529143162447727405863610445861022771601002396 42444422535993217196241374729962312168129024608811128039701510407415458409969644024290619157031333091275308396056321796434016821900808356601043928515619208041525163300075555594663464766108892400822273555698921066534256531084255331992648500701230175410606903938026923872358172596540969927031715101020081318868828151216294430741480342970896124385926510401898735485335521152128485723103549345542109669213100666416340138938286198464123838176493971653365340570772180905346410205952954035386679318568713605763759386561177258618354825398950807061034398744509648311771012127723048302457044543924546669471206946170279732122031949801800624401145040113057068975081826317225540047345430903325818683321332617447954545630005883000908410022271329916282190300200642511077815964053245105304027620858280923664733958187979379953226962799707667071750972562488895265304176930916828438509918596748118312249002280528687603742746782307738556996362634658516832044188012994873096038281836517032111947130484412055887409898016268577355489405104147235466404882156975936247086872330898487635956753458861296229616371427962266255219427181035162097195971360731388698980956572517328554017504660452328696346238334971516162478920840391986749944531859319714217144306619544319579836548248332062348479553316009433331326818708493490031455585125057575252533407675475780180610887332334229158815653896298163587716333676328541025914530437809850477901344940304109154568193433592563935364550058760311528721117617261621582426436116017331638271397675810717569263827729080904948189580065972532651675205835408408962403702984001430042858570873070051124726891586634646071182818317192955975443461877397355832966507798113104814949145571140619654698700484559081539155699389249436106983040214072309929876286212662198122227925517681037472261586633272112385460035805426330590615732180847006055431238727140433457866009838676280393805738212359460544588236520570585590397627730145297436762803 68676518296099032555744588346446157036974272715839296526303071478742047493282940974263166905612321698851102593899414835373398526992070500528285693821487569084639629634433505007145458736113973855535356902417665717090714842924615895912338623943154481867988011262407858925815783084791275947900483687623141966742666479694855667832565519709854425404042186367522374056966567290897097774623416224457983609266811575947960759114380542474523912595715931026897213916921123326652391121969892932859229114982662306226423454048641072378504482605511312766125326698768918304501301491413891877850339843821557180727919503692542137479127954740940820561664269503444840158332206598785189807006532252506114303411840364503449096060729121334600976830505336444198569236900288747511663900686146252120405726687179695328051862338257642836224748804082437010541910574499040279354940054547890652091634925211343731240902594321362133544081409863322763077532303115297492353856015211948078251260893052231339266210396593053261095289663725409652588412565813377911213963693651763635310779098898602031625797426971276424930475683847744003261527811025113423158691441457196560359482684667217310965891773957680352782625343174324103621392914055533140424576785136441551990437866275749103248322663834530929776135853998115114194446046389046831157998150694460577080396672722996666886173487027090856515006380006362815836418869111714364853615986185269268431046808343422192924768534070133679324545397435778656494945599369489733000073489546522617978815028567048541271485814663503398625581544112212384856638300299143294636136960035806068060407899648142128622501972405426630520537089970247273666009340470612385215259631598841505321299607267939138460447455466260563866350512155170745891356855324215245524220078057766810841917414459335421307351966853150880766566105148118333154211083456434425118996141424707570979258590399584958214111992827698073731398968297991454008073591168069037765199 111120940832092249751985963076408469205103297324650424566004581886157505903252584998553786062643654790126410989955736631807415348892878857129329622337106777126164792934509060601808923502222866256357630458116586783624971374008871227904987124644384657278594915200434782798173955681332245874932198788643223285611494630911150098574045862680750549789968696769421109542302088443025583497726965570000093278479912242364300898052666740938647750772209902680262554487693304231998801327922846968245908433551375911990182840609818330996859308004462119827159725443278566616272313619136940180307384387746103850199126449862821869601159904542741444962809309616501909133414032916010729854351963155831932986733172981951403641690735004335509386852776666360480759537100931258589479864739391357424433347545460618992785820526237022789451711603790104082292883136987935544659116985464719090601553521959462043489904874850049737286828192171061320073894937773814324398044028206821174289542729569263451213340881005109148505187679993987008077817669960613377618845850627699882397651429797089667582550885832572654546847111810010258480954992060275520354662802188585259340439257184545864983396434410009049128863678145840266100313754447519890369108644456155769134744485820068683084870912166593278255689170007548445521264754882536862613583275752035829613804348198776847497060819361320015330660276304526403552752545440255390768146423995119746332391748647531347492961967662697614689095456196090185216063216631111315426509605563854256250212704377766110535313543744408346815161610084745036531844135707552257039839944037236110918978772718193253349393559040072701703355407163203249109471217867968218181767429711946320270445178408558793159147940025342103022049901404606852874397069396525175400506290719964933069842932140372893568938600125263266226601910574448923769943264303440480550234868565141028845268429075865352019850205187158618319635488868577044405701321313366474528002 179797459128191282307730551422854626242077570040489721092307653364899553396535525972816952968255976488977513583855151467180813875884949357657615316158594346210804422568942565608954382238336840111892987360534252500715686216933487123817325748587539139146582926462842641723989738766123521822832682476266365252354161110606005766406611382390604975194010883136943483599268655733922681272350381794458076887746723818312261657167047283413171663367925833707159768404614427558651192449892739901105137548534038218216606294658459403375363790609973432593285052142047484920773615110550832058157724231567661030927045953555364007080287859283682265524473579119946749291746239514795919661358495408338047290145013346454852737751464125670110363683282002804679328774001220006101143765425537609544839074232640314320837682864494665625676460407872541092834793711486975824014057040012609742693188447170805774730807469171411870830909602034384083151427240889111816751900043418769252540803622621494790479551277598162409600477343719396660666230235773991288832809544279463517708430528695691699208348312803849079477322795657754261742482803085388943513354243645781819699921941851763175949288208367689401911489021320164369721706668503053030793685429592597321125182352095817786333193576001124208031825024005663559715710801271583693771581426446496406694201020921773514383234306388410871845666656310889219389171414551969755621762410180389014763438556990953540417730501732831294013640853631868841711008816000601048426583095110376874229027732944814651806799358407911745440743154196957421388482436006695551675976904073042178979386672366335381971895531445499332223892497133450522775480558338580603397027061310787825591744785676497931619595395491602666888400413559777598765753924720740420924726368777731743911760346599708314876290566978414146993168015722567256924154347759874905669231009989848599824527019475450310233962198014856692051034457166568498413774912481435512293201 290918399960283532059716514499263095447180867365140145658312235251057059299788110971370739030899631279103924573810888098988229224777828214786944938495701123336969215503451626210763305740559706368250617818650839284340657590942358351722312873231923796425177841663277424522163694447455767697764881264909588537965655741517155864980657245071355524983979579906364593141570744176948264770077347364458170166226636060676562555219714024351819414140135736387422322892307731790649993777815586869351045982085414130206789135268277734372223098614435552420444777585326051537045928729687772238465108619313764881126172403418185876681447763826423710487282888736448658425160272430806649515710458564169980276878186328406256379442199130005619750536058669165160088311102151264690623630164928966969272421778100933313623503390731688415128172011662645175127676848474911368673174025477328833294741969130267818220712344021461608117737794205445403225322178662926141149944071625590426830346352190758241692892158603271558105665023713383668744047905734604666451655394907163400106081958492781366790899198636421734024169907467764520223437795145664463868017045834367079040361199036309040932684642777698451040352699466004635822020422950572921162794074048753090259926837915886469418064488167717486287514194013212005236975556154120556385164702198532236308005369120550361880295125749730887176326932615415622941923959992225146389908834175508761095830305638484887910692469395528908702736309827959026927072032631712363853092700674231130479240437322580762342112902152320092255904764281702457920326571714247808715816848110278289898365445084528635321289090485572033927247904296653771884951776206548821578794491022734145862189964085056724778743335516944769910450314964384451640150994117265596325232659497696676981603278740081208445229167103677413219769926297016180694097612063315386219465878554989628669795448551315662253812403202015310370669946035145542819476233794801986821203 470715859088474814367447065922117721689258437405629866750619888615956612696323636944187691999155607768081438157666039566169043100662777572444560254654295469547773638072394191819717687978896546480143605179185091785056343807875845475539638621819462935571760768126120066246153433213579289520597563741175953790319816852123161631387268627461960500177990463043308076740839399910870946042427729158916247053973359878988824212386761307764991077508061570094582091296922159349301186227708326770456183530619452348423395429926737137747586889224408985013729829727373536457819543840238604296622832850881425912053218356973549883761735623110105976011756467856395407716906511945602569177068953972508027567023199674861109117193663255675730114219340671969839417085103371270791767395590466576514111496010741247634461186255226354040804632419535186267962470559961887192687231065489938575987930416301073592951519813192873478948647396239829486376749419552037957901844115044359679371149974812253032172443436201433967706142367432780329410278141508595955284464939186626917814512487188473065999247511440270813501492703125518781965920598231053407381371289480148898740283140888072216881972851145387852951841720786169005543727091453625951956479503641350411385109190011704255751258064168841694319339218018875564952686357425704250156746128645028643002206390042323876263529432138141759021993588926304842331095374544194902011671244355897775859268862629438428328422971128360202716377163459827868638080848632313412279675795784608004708268170267395414148912260560231837696647918478659879308809007720943360391793752183320468877752117450864017293184621931071366151140401430104294660432334545129424975821552333521971453934749761554656398338731008547436798850728524162050405904918838006017249959028275428420893363625339789523321519734082091560212937942019583437618251959823190291888696888544838228494322468026765972487774601216872002421704403201714041233251146276237499114404 761634259048758346427163580421380817136439304770770012408932123867013671996111747915558431030055239047185362731476927665157272325440605787231505193149996592884742853575845818030480993719456252848394222997835931069397001398818203827261951495051386731996938609789397490768317127661035057218362445006085542328285472593640317496367925872533316025161970042949672669882410144087819210812505076523374417220199995939665386767606475332116810491648197306482004414189229891139951180005523913639807229512704866478630184565195014872119809987838844537434174607312699587994865472569926376535087941470195190793179390760391735760443183386936529686499039356592844066142066784376409218692779412536678007843901386003267365496635862385681349864755399341134999505396205522535482391025755395543483383917788842180948084689645958042455932804431197831443090147408436798561360405090967267409282672385431341411172232157214335087066385190445274889602071598214964099051788186669950106201496327003011273865335594804705525811807391146163998154326047243200621736120334093790317920594445681254432790146710076692547525662610593283302189358393376717871249388335314515977780644339924381257814657493923086303992194420252173641365747514404198873119273577690103501645036027927590725169322552336559180606853412032087570189661913579824806541910830843560879310211759162874238143824557887872646198320521541720465273019334536420048401580078531406536955099168267923316239115440523889111419113473287786895565152881264025776132768496458839135187508607589976176491025162712551929952552682760362337229135579435191169107610600293598758776117562535392652614473712416643400078388305726758066545384110751678246554616043356256117316124713846611381177082066525492206709301043488546502046055912955271613575191687773125097874966904079870731766748901185768973432707868316599618312349571886505678108162767099827857164117916578081634741587004418887312792374349236859584052727380071039485935607 1232350118137233160794610646343498538825697742176399879159552012482970284692435384859746123029210846815266800889142967231326315426103383359676065447804292062432516491648240009850198681698352799328537828177021022854453345206694049302801590116870849667568699377915517557014470560874614346738960008747261496118605289445763479127755194499995276525339960505992980746623249543998690156854932805682290664274173355818654210979993236639881801569156258876576586505486152050489252366233232240410263413043324318827053579995121752009867396877063253522447904437040073124452685016410164980831710774321076616705232609117365285644204919010046635662510795824449239473858973296322011787869848366509186035410924585678128474613829525641357079978974740013104838922481308893806274158421345862119997495413799583428582545875901184396496737436850733017711052617968398685754047636156457205985270602801732415004123751970407208566015032586685104375978821017767002056953632301714309785572646301815264306037779031006139493517949758578944327564604188751796577020585273280417235735106932869727498789394221516963361027155313718802084155278991607771278630759624794664876520927480812453474696630345068474156944036141038342646909474605857824825075753081331453913030145217939294980920580616505400874926192630050963135142348271005529056698656959488589522312418149205198114407353990026014405220314110468025307604114709080614950413251322887304312814368030897361744567538411652249314135490636747614764203233729896339188412444292243447139895776777857371590639937423272783767649200601239022216537944587156134529499404352476919227653869679986256669907658334347714766229528707156862361205816445296807671530437595689778088770059463608166037575420797534039643508151772012708552451960831793277630825150716048553518768330529419660255088268635267860533645645810336183055930601531709695969996859655644666085658440384604847607229361605635759315214078752438573625285978526347276985050011 1993984377185991507221774226764879355962137046947169891568484136349983956688547132775304554059266085862452163620619894896483587751543989146907570640954288655317259345224085827880679675417809052176932051174856953923850346605512253130063541611922236399565637987704915047782787688535649403957322453753347038446890762039403796624123120372528592550501930548942653416505659688086509367667437882205665081494373351758319597747599711971998612060804456183058590919675381941629203546238756154050070642556029185305683764560316766881987206864902098059882079044352772712447550488980091357366798715791271807498411999877757021404648102396983165349009835181042083540001040080698421006562627779045864043254825971681395840110465388027038429843730139354239838427877514416341756549447101257663480879331588425609530630565547142438952670241281930849154142765376835484315408041247424473394553275187163756415295984127621543653081417777130379265580892615981966156005420488384259891774142628818275579903114625810845019329757149725108325718930235994997198756705607374207553655701378550981931579540931593655908552817924312085386344637384984489149880147960109180854301571820736834732511287838991560460936230561290516288275222120262023698195026659021557414675181245866885706089903168841960055533046042083050705332010184585353863240567790332150401622629908368072352551178547913887051418634632009745772877134043617034998814831401418710849769467199165285060806653852176138425554604110035401659768386611160364964545212788702286275083285385447347767130962585985335697601753283999384553767080166591325698607014952770517986429987242521649322522132046764358166307917012883620427751200556048485918085053639046034206086184177454777418752502864059531850217452815501255054498016744748549244400342403821678616643297433499530986855017536453629507078353678652782674242951103596201648105022422744493942822558301182929241970948610054646628006453101675433209338705906418316470985618 3226334495323224668016384873108377894787834789123569770728036148832954241380982517635050677088476932677718964509762862127809903177647372506583636088758580717749775836872325837730878357116161851505469879351877976778303691812206302432865131728793086067134337365620432604797258249410263750696282462500608534565496051485167275751878314872523869075841891054935634163128909232085199524522370687887955745768546707576973808727592948611880413629960715059635177425161533992118455912471988394460334055599353504132737344555438518891854603741965351582329983481392845836900235505390256338198509490112348424203644608995122307048853021407029801011520631005491323013860013377020432794432476145555050078665750557359524314724294913668395509822704879367344677350358823310148030707868447119783478374745388009038113176441448326835449407678132663866865195383345234170069455677403881679379823877988896171419419736098028752219096450363815483641559713633748968212959052790098569677346788930633539885940893656816984512847706908304052653283534424746793775777290880654624789390808311420709430368935153110619269579973238030887470499916376592260428510907584903845730822499301549288207207918184060034617880266702328858935184696726119848523270779740353011327705326463806180687010483785347360930459238672134013840474358455590882919939224749820739923935048057573270466958532537939901456638948742477771080481248752697649949228082724306015162583835230062646805374192263828387739690094746783016423971620341056704152957657080945733414979062163304719357770900009258119465250953885238406770305024753747460228106419305247437214083856922507905992429790381112072932537445720040482788957017001345293589615491234735812294856243641062943456327923661593571493725604587513963606949977576541826875225493119870232135411627962919191241943286171721490040723999488988965730173552635305897618101882078389160028480998685787776849200310215690405943220531854114006834624684432765593456035629 5220318872509216175238159099873257250749971836070739662296520285182938198069529650410355231147743018540171128130382757024293490929191361653491206729712869373067035182096411665611558032533970903682401930526734930702154038417718555562928673340715322466699975353325347652580045937945913154653604916253955573012386813524571072376001435245052461626343821603878287579634568920171708892189808570093620827262920059335293406475192660583879025690765171242693768344836915933747659458710744548510404698155382689438421109115755285773841810606867449642212062525745618549347785994370347695565308205903620231702056608872879328453501123804012966360530466186533406553861053457718853800995103924600914121920576529040920154834760301695433939666435018721584515778236337726489787257315548377446959254076976434647643807006995469274402077919414594716019338148722069654384863718651306152774377153176059927834715720225650295872177868140945862907140606249730934368964473278482829569120931559451815465844008282627829532177464058029160979002464660741790974533996488028832343046509689971691361948476084704275178132791162342972856844553761576749578391055545013026585124071122286122939719206023051595078816497263619375223459918846381872221465806399374568742380507709673066393100386954189320985992284714217064545806368640176236783179792540152890325557677965941342819509711085853788508057583374487516853358382796314684948042914125724726012353302429227931866180846116004526165244698856818418083740006952217069117502869869648019690062347548752067124901862595243455162852707169237791324072104920338785926713434258017955200513844165029555314951922427876431098845362732924103216708217557393779507700544873781846500942427818517720875080426525653103343943057403015218661447994321290376119625835523691910752054925396418722228798303708175119547802353167641748404416503738902099266206904501133653971303556986970706091171258825745052571226984955789440043963390339183909927021247 8446653367832440843254543972981635145537806625194309433024556434015892439450512168045405908236219951217890092640145619152103394106838734160074842818471450090816811018968737503342436389650132755187871809878612907480457730229924857995793805069508408533834312718945780257377304187356176905349887378754564107577882865009738348127879750117576330702185712658813921742763478152256908416712179257981576573031466766912267215202785609195759439320725886302328945769998449925866115371182732942970738753754736193571158453671193804665696414348832801224542046007138464386248021499760604033763817696015968655905701217868001635502354145211042767372051097192024729567721066834739286595427580070155964200586327086400444469559055215363829449489139898088929193128595161036637817965183995497230437628822364443685756983448443796109851485597547258582884533532067303824454319396055187832154201031164956099254135456323679048091274318504761346548700319883479902581923526068581399246467720490085355351784901939444814045025170966333213632285999085488584750311287368683457132437318001392400792317411237814894447712764400373860327344470138169010006901963129916872315946570423835411146927124207111629696696763965948234158644615572501720744736586139727580070085834173479247080110870739536681916451523386351078386280727095767119703119017289973630249492726023514613286468243623793689964696532116965287933839631549012334897270996850030741174937137659290578671555038379832913904934793603601434507711627293273773270460526950593753105041409712056786482672762604501574628103661054476198094377129674086246154819853563265392414597701087537461307381712808988504031382808452964586005665234558739073097316036108517658795798671459580664331408350187246674837668661990529182268397971897832202994851328643562142887466553359337913470741589879896609588526352656630714134590056374207996884308786579522813999784555672758482940371569041435458514447516809903446878588074771949503383056876 13666972240341657018492703072854892396287778461265049095321076719198830637520041818455761139383962969758061220770528376176396885036030095813566049548184319463883846201065149168953994422184103658870273740405347838182611768647643413558722478410223731000534288072271127909957350125302090060003492295008519680590269678534309420503881185362628792328529534262692209322398047072428617308901987828075197400294386826247560621677978269779638465011491057545022714114835365859613774829893477491481143451910118883009579562786949090439538224955700250866754108532884082935595807494130951729329125901919588887607757826740880963955855269015055733732581563378558136121582120292458140396422683994756878322506903615441364624393815517059263389155574916810513708906831498763127605222499543874677396882899340878333400790455439265384253563516961853298903871680789373478839183114706493984928578184341016027088851176549329343963452186645707209455840926133210836950887999347064228815588652049537170817628910222072643577202635024362374611288463746230375724845283856712289475483827691364092154265887322519169625845555562716833184189023899745759585293018674929898901070641546121534086646330230163224775513261229567609382104534418883592966202392539102148812466341883152313473211257693726002902443808100568142932087095735943356486298809830126520575050403989455956105977954709647478472754115491452804787198014345327019845313910975755467187290440088518510537735884495837440070179492460419852591451634245490842387963396820241772795103757260808853607574625199745029790956368223713989418449234594425032081533287821283347615111545252567016622333635236864935130228171185888689222373452116132852605016580982299505296741099278098385206488776712899778181611719393544400929845966219122579114477164167254053639521478755756635699539893588071729136328705824272462539006560113110096150515691080656467971088112659729189031542827867180511085674501765692886922551465111133413310078123 22113625608174097861747247045836527541825585086459358528345633153214723076970553986501167047620182920975951313410673995328500279142868829973640892366655769554700657220033886672296430811834236414058145550283960745663069498877568271554516283479732139534368600791216908167334654312658266965353379673763083788168152543544047768631760935480205123030715246921506131065161525224685525725614167086056773973325853593159827836880763878975397904332216943847351659884833815785479890201076210434451882205664855076580738016458142895105234639304533052091296154540022547321843828993891555763092943597935557543513459044608882599458209414226098501104632660570582865689303187127197426991850264064912842523093230701841809093952870732423092838644714814899442902035426659799765423187683539371907834511721705322019157773903883061494105049114509111881788405212856677303293502510761681817082779215505972126342986632873008392054726505150468556004541246016690739532811525415645628062056372539622526169413812161517457622227805990695588243574462831718960475156571225395746607921145692756492946583298560334064073558319963090693511533494037914769592194981804846771217017211969956945233573454437274854472210025195515843540749149991385313710938978678829728882552176056631560553322128433262684818895331486919221318367822831710476189417827120100150824543130012970569392446198333441168437450647608418092721037645894339354742584907825786208362227577747809089209290922875670353975114286064021287099163261538764615658423923770835525900145166972865640090247387804246604419060029278190187512826364268511278236353141384548740029709246340104477929715348045853439161610979638853275228038686674871925702332617090817164092539770737679049537897126900146453019280381384073583198243938116954782109328492810816196526988032115094549170281483467968338724855058480903176673596616487318093034824477660179281970872668332487671971914396908615969600122018575596333801139539883082916693134999 35780597848515754880239950118691419938113363547724407623666709872413553714490595804956928187004145890734012534181202371504897164178898925787206941914840089018584503421099035841250425234018340072928419290689308583845681267525211685113238761889955870534902888863488036077292004437960357025356871968771603468758422222078357189135642120842833915359244781184198340387559572297114143034516154914131971373620240419407388458558742148755036369343708001392374373999669181645093665030969687925933025657574973959590317579245091985544772864260233302958050263072906630257439636488022507492422069499855146431121216871349763563414064683241154234837214223949141001810885307419655567388272948059669720845600134317283173718346686249482356227800289731709956610942258158562893028410183083246585231394621046200352558564359322326878358612631470965180692276893646050782132685625468175802011357399846988153431837809422337736018178691796175765460382172149901576483699524762709856877645024589159696987042722383590101199430441015057962854862926577949336200001855082108036083404973384120585100849185882853233699403875525807526695722517937660529177488000479776670118087853516078479320219784667438079247723286425083452922853684410268906677141371217931877695018517939783874026533386126988687721339139587487364250454918567653832675716636950226671399593534002426525498424153043088646910204763099870897508235660239666374587898818801541675549518017836327599747026807371507794045293778524441139690614895784255458046387320591077298695248924233674493697822013003991634210016397501904176931275598862936310317886429205832087644820791592671494552048983282718374291839150824741964450412138791004778307349198073116669389280870015777434744385903613046231200892100777617984128089904336077361223805656978070250166509510870851184869821377056040067861183764305175639212603176600428189185340168740835749941960780992216861003457224775796480685796520341289220723691004994216330003213122 57894223456689852741987197164527947479938948634183766152012343025628276791461149791458095234624328811709963847591876366833397443321767755760847834281495858573285160641132922513546856045852576486986564840973269329508750766402779956667755045369688010069271489654704944244626658750618623990710251642534687256926574765622404957767403056323039038389960028105704471452721097521799668760130322000188745346946094012567216295439506027730434273675924945239726033884502997430573555232045898360384907863239829036171055595703234880650007503564766355049346417612929177579283465481914063255515013097790703974634675915958646162872274097467252735941846884519723867500188494546852994380123212124582563368693365019124982812299556981905449066445004546609399512977684818362658451597866622618493065906342751522371716338263205388372463661745980077062480682106502728085426188136229857619094136615352960279774824442295346128072905196946644321464923418166592316016511050178355484939701397128782223156456534545107558821658247005753551098437389409668296675158426307503782691326119076877078047432484443187297772962195488898220207256011975575298769682982284623441335105065486035424553793239104712933719933311620599296463602834401654220388080349896761606577570693996415434579855514560251372540234471074406585568822741399364308865134464070326822224136664015397094890870351376529815347655410708288990229273306134005729330483726627327883911745595584136688956317730247178148020408064588462426789778157323020073704811244361912824595394091206540133788069400808238238629076426780094364444101963131447588554239570590380827674530037932775972481764331328571813453450130463595239678450825465876704009681815163933833481820640753456484282283030513192684220172482161691567326333842453032143333134149788886446693497542985945734040102860524008406586038822786078815886199793087746282220164646401015031912833449324704532975371621684412450285918538916885554524830544877299246696348121 93674821305205607622227147283219367418052312181908173775679052898041830505951745596415023421628474702443976381773078738338294607500666681548054776196335947591869664062231958354797281279870916559914984131662577913354432033927991641780993807259643880604174378518192980321918663188578981016067123611306290725684996987700762146903045177165872953749204809289902811840280669818913811794646476914320716720566334431974604753998248176485470643019632946632100407884172179075667220263015586286317933520814802995761373174948326866194780367824999658007396680685835807836723101969936570747937082597645850405755892787308409726286338780708406970779061108468864869311073801966508561768396160184252284214293499336408156530646243231387805294245294278319356123919942976925551480008049705865078297300963797722724274902622527715250822274377451042243172959000148778867558873761698033421105494015199948433206662251717683864091083888742820086925305590316493892500210574941065341817346421717941920143499256928697660021088688020811513953300315987617632875160281389611818774731092460997663148281670326040531472366071014705746902978529913235827947170982764400111453192919002113903874013023772151012967656598045682749386456518811923127065221721114693484272589211936199308606388900687240060261573610661893949819277659967018141540851101020553493623730198017823620389294504419618462257860173808159887737508966373672103918382545428869559461263613420464288703344537618685942065701843112903566480393053107275531751198564952990123290643015440214627485891413812229872839092824281998541375377561994383898872125999796212915319350829525447467033813314611290187745289281288337204128862964256881482317031013237050502871101510769233919026668934126238915421064582939309551454423746789109504556939806766956696860007053856796918909924237580048474447222587091254455098802969688174471405504815141850781854794230316921393978828846460208930971715059258174775248521549871515576699561243 151569044761895460364214344447747314897991260816091939927691395923670107297412895387873118656252803514153940229364955105171692050822434437308902610477831806165154824703364880868344137325723493046901548972635847242863182800330771598448748852629331890673445868172897924566545321939197605006777375253840977982611571753323167104670448233488911992139164837395607283293001767340713480554776798914509462067512428444541821049437754204215904916695557891871826441768675176506240775495061484646702841384054632031932428770651561746844787871389766013056743098298764985416006567451850634003452095695436554380390568703267055889158612878175659706720907992988588736811262296513361556148519372308834847582986864355533139342945800213293254360690298824928755636897627795288209931605916328483571363207306549245095991240885733103623285936123431119305653641106651506952985061897927891040199630630552908712981486694013029992163989085689464408390229008483086208516721625119420826757047818846724143299955791473805218842746935026565065051737705397285929550318707697115601466057211537874741195714154769227829245328266503603967110234541888811126716853965049023552788297984488149328427806262876863946687589909666282045850059353213577347453302071011455090850159905932614743186244415247491432801808081736300535388100401366382450405985565090880315847866862033220715280164855796148277605515584516448877966782272507677833248866272056197443373009209004600977659662267865864090086109907701365993270171210430295605456009809314902947886037106646754761273960814620468111468169251062092905819479525125831487426365570386593742993880867458223439515577645939862001198739411751932443807313789722758186326712828400984336352922151522690403308951964639431599641237065101001118780757589242141647890073956555843143553504596842742652950027098104056881033261409877333270985002762775920753625669461542865813767627679641625926954200468144621381257633598175060329773352094748814823395909364 245243866067101067986441491730966682316043572998000113703370448821711937803364640984288142077881278216597916611138033843509986658323101118856957386674167753757024488765596839223141418605594409606816533104298425156217614834258763240229742659888975771277620246691090904888463985127776586022844498865147268708296568741023929251573493410654784945888369646685510095133282437159627292349423275828830178788078762876516425803436002380701375559715190838503926849652847355581907995758077070933020774904869435027693801945599888613039568239214765671064139778984600793252729669421787204751389178293082404786146461490575465615444951658884066677499969101457453606122336098479870117916915532493087131797280363691941295873592043444681059654935593103248111760817570772213761411613966034348649660508270346967820266143508260818874108210500882161548826600106800285820543935659625924461305124645752857146188148945730713856255072974432284495315534598799580101016932200060486168574394240564666063443455048402502878863835623047376579005038021384903562425478989086727420240788303998872404343995825095268360717694337518309714013213071802046954664024947813423664241490903490263232301819286649014959655246507711964795236515872025500474518523792126148575122749117868814051792633315934731493063381692398194485207378061333400591946836666111433809471597060051044335669459360215766739863375758324608765704291238881349937167248817485067002834272822425065266363006805484550032151811750814269559750564263537571137207208374267893071176680122086969388759852228432697984307262075344091447194857087120215386298491570182806658313231696983670906549390960551152188944028693040269647936176753979639668643743841638034839224023662291924322335620898765670515062301648040310670235181336031251152447013763322799840413511650699539571859951335684105355480483996968587726083805732464095225031174276684716595622421909958547320933029314604830312229348657433235105021873644620330400095470607 396812910828996528350655836178713997214034833814092053631061844745382045100777536372161260734134081730751856840502988948681678709145535556165859997151999559922179313468961720091485555931317902653718082076934272399080797634589534838678491512518307661951066114863988829455009307066974191029621874118988246690908140494347096356243941644143696938027534484081117378426284204500340772904200074743339640855591191321058246852873756584917280476410748730375753291421522532088148771253138555579723616288924067059626230716251450359884356110604531684120882877283365778668736236873637838754841273988518959166537030193842521504603564537059726384220877094446042342933598394993231674065434904801921979380267228047474435216537843657974314015625891928176867397715198567501971343219882362832221023715576896212916257384393993922497394146624313280854480241213451792773528997557553815501504755276305765859169635639743743848419062060121748903705763607282666309533653825179906995331442059411390206743410839876308097706582558073941644056775726782189491975797696783843021706845515536747145539709979864496189963022604021913681123447613690858081380878912862447217029788887978412560729625549525878906342836417378246841086575225239077821971825863137603665972909023801428794978877731182222925865189774134495020595478462699783042352822231202314125319463922084265050949624216011915017468891342841057643671073511389027770416115089541264446207282031429666244022669073350414122237921658515635553020735473967866742663218183582796019062717228733724150033813043053166095775431326406184353014336612246046873724857140569400401307112564441894346064968606491014190142768104792202091743490543702397854970456670039019175576945813814614725644572863405102114703538713141311789015938925273392800337087719878642983967016247542282224809978433788162236513745406845920997068808495240015978656843738227582409390049589600173247887229782749451693486982255608295434795225739369145223491379971 642056776896097596337097327909680679530078406812092167334432293567093982904142177356449402812015359947349773451641022792191665367468636675022817383826167313679203802234558559314626974536912312260534615181232697555298412468848298078908234172407283433228686361555079734343473292194750777052466372984135515399204709235371025607817435054798481883915904130766627473559566641659968065253623350572169819643669954197574672656309758965618656036125939568879680141074369887670056767011215626512744391193793502087320032661851338972923924349819297355185022656267966571921465906295425043506230452281601363952683491684417987120048516195943793061720846195903495949055934493473101791982350437295009111177547591739415731090129887102655373670561485031424979158532769339715732754833848397180870684223847243180736523527902254741371502357125195442403306841320252078594072933217179739962809879922058623005357784585474457704674135034554033399021298206082246410550586025240393163905836299976056270186865888278810976570418181121318223061813748167093054401276685870570441947633819535619549883705804959764550680716941540223395136660685492905036044903860675870881271279791468675793031444836174893865998082925090211636323091097264578296490349655263752241095658141670242846771511047116954418928571466532689505802856524033183634299658897313747934791060982135309386619083576227681757332267101165666409375364750270377707583363907026331449041554853854731510385675878834964154389733409329905112771299737505437879870426557850689090239397350820693538793665271485864080082693401750275800209193699366262260023348710752207059620344261425565252614359567042166379086796797832471739679667297682037523614200511677054014800969476106539047980193762170772629765840361181622459251120261304643952784101483201442824380527898241821796669929769472267591994229403814508723152614227704111203688018014912299005012471499558720568820259097354282005716330913041530539817099383989475623586850578 1038869687725094124687753164088394676744113240626184220965494138312476028004919713728610663546149441678101630292144011740873344076614172231188677380978166873601383115703520279406112530468230214914252697258166969954379210103437832917586725684925591095179752476419068563798482599261724968082088247103123762090112849729718121964061376698942178821943438614847744851985850846160308838157823425315509460499261145518632919509183515550535936512536688299255433432495892419758205538264354182092468007482717569146946263378102789332808280460423829039305905533551332350590202143169062882261071726270120323119220521878260508624652080733003519445941723290349538291989532888466333466047785342096931090557814819786890166306667730760629687686187376959601846556247967907217704098053730760013091707939424139393652780912296248663868896503749508723257787082533703871367601930774733555464314635198364388864527420225218201553093197094675782302727061813364912720084239850420300159237278359387446476930276728155119074277000739195259867118589474949282546377074382654413463654479335072366695423415784824260740643739545562137076260108299183763117425782773538318098301068679447088353761070385700772772340919342468458477409666322503656118462175518401355907068567165471671641750388778299177344793761240667184526398334986732966676652481128516062060110524904219574437568707792239596774801158444006724053046438261659405477999478996567595895248836885284397754408344952185378276627655067845540665792035211473304622533644741433485109302114579554417688827478314539030175858124728156460153223530311612309133748205851321607460927456825867459598679328173533180569229564902624673831423157841384435378584657181716073190377915289921153773624766625575874744469379074322934248267059186578036753121189203080085808347544145784104021479908203260429828507974810660429720221422722944127182344861753139881414402521089158893816707488880103733699203313168649825974612325123358620847078230549 1680926464621191721024850491998075356274191647438276388299926431879570010909061891085060066358164801625451403743785034533065009444082808906211494764804334187280586917938078838720739505005142527174787312439399667509677622572286130996494959857332874528408438837974148298141955891456475745134554620087259277489317558965089147571878811753740660705859342745614372325545417487820276903411446775887679280142931099716207592165493274516154592548662627868135113573570262307428262305275569808605212398676511071234266296039954128305732204810243126394490928189819298922511668049464487925767302178551721687071904013562678495744700596928947312507662569486253034241045467381939435258030135779391940201735362411526305897396797617863285061356748861991026825714780737246933436852887579157193962392163271382574389304440198503405240398860874704165661093923853955949961674863991913295427124515120423011869885204810692659257767332129229815701748360019447159130634825875660693323143114659363502747117142616433930050847418920316578090180403223116375600778351068524983905602113154607986245307121589784025291324456487102360471396768984676668153470686634214188979572348470915764146792515221875666638339002267558670113732757419768234414952525173665108148164225307141914488521899825416131763722332707199874032201191510766150310952140025829809994901585886354883824187791368467278532133425545172390462421803011929783185582842903593927344290391739139129264794020831020342431017388477175445778563334948978742502404071299284174199541511930375111227621143586024894255940818129906735953432724010978571393771554562073814520547801087293024851293687740575346948316361700457145571102825139066472902198857693393127205178884766027692821604960387746647374235219435504556707518179447882680705905290686281528632728072044025925818149837972732697420502204214474938443374036950648238386032879768052180419414992588717614385527747977458015704919644081691356514429424507348096470665081127 2719796152346285845712603656086470033018304888064460609265420570192046038913981604813670729904314243303553034035929046273938353520696981137400172145782501060881970033641599118126852035473372742089040009697566637464056832675723963914081685542258465623588191314393216861940438490718200713216642867190383039579430408694807269535940188452682839527802781360462117177531268333980585741569270201203188740642192245234840511674676790066690529061199316167390547006066154727186467843539923990697680406159228640381212559418056917638540485270666955433796833723370631273101870192633550808028373904821842010191124535440939004369352677661950831953604292776602572533035000270405768724077921121488871292293177231313196063703465348623914749042936238950628672271028705154151140950941309917207054100102695521968042085352494752069109295364624212888918881006387659821329276794766646850891439150318787400734412625035910860810860529223905598004475421832812071850719065726080993482380393018750949224047419344589049125124419659511837957298992698065658147155425451179397369256592489680352940730537374608286031968196032664497547656877283860431270896469407752507077873417150362852500553585607576439410679921610027128591142423742271890533414700692066464055232792472613586130272288603715309108516093947867058558599526497499116987604621154345872055012110790574458261756499160706875306934583989179114515468241273589188663582321900161523239539228624423527019202365783205720707645043545020986444355370160452047124937716040717659308843626509929528916448621900563924431798942858063196106656254322590880527519760413395421981475257913160484449973015914108527517545926603081819402525982980450908280783514875109200395556800055948846595229727013322522118704598509827490955785238634460717459026479889361614441075616189810029839629746175993127249010179025135368163595459673592365568377741521192061833817513677876508202235236857561749404122957250341182489041749630706717317743311676 4400722616967477566737454148084545389292496535502736997565347002071616049823043495898730796262479044929004437779714080807003362964779790043611666910586835248162556951579677956847591540478515269263827322136966304973734455248010094910576645399591340151996630152367365160082394382174676458351197487277642317068747967659896417107819000206423500233662124106076489503076685821800862644980716977090868020785123344951048103840170064582845121609861944035525660579636417034614730148815493799302892804835739711615478855458011045944272690080910081828287761913189930195613538242098038733795676083373563697263028549003617500114053274590898144461266862262855606774080467652345203982108056900880811494028539642839501961100262966487199810399685100941655497985809442401084577803828889074401016492265966904542431389792693255474349694225498917054579974930241615771290951658758560146318563665439210412604297829846603520068627861353135413706223781852259230981353891601741686805523507678114451971164561961022979175971838579828416047479395921182033747933776519704381274858705644288339186037658964392311323292652519766858019053646268537099424367156041966696057445765621278616647346100829452106049018923877585798704875181162040124948367225865731572203397017779755500618794188429131440872238426655066932590800718008265267298556761180175682049913696676929342085944290529174153839068009534351504977890044285518971849165164803755450583829620363562656283996386614226063138662432022196432222918705109430789627341787340001833508385138440304640144069765486588818687739760987969932060088978333569451921291314975469236502023059000453509301266703654683874465862288303538964973628808119517381182982372568502327600735684821976539416834687401069169492939817945332047663303418082343398164931770575643143073803688233835955657779584148725824669512383239610306606969496624240603954410621289244242253232506266594122587762984835019765109042601332032539003471174138054813788408392803 7120518769313763412450057804171015422310801423567197606830767572263662088737025100712401526166793288232557471815643127080941716485476771181011839056369336309044526985221277074974443575951888011352867331834532942437791287923734058824658330941849805775584821466760582022022832872892877171567840354468025356648178376354703686643759188659106339761464905466538606680607954155781448386549987178294056761427315590185888615514846854649535650671061260202916207585702571761801197992355417790000573210994968351996691414876067963582813175351577037262084595636560561468715408434731589541824049988195405707454153084444556504483405952252848976414871155039458179307115467922750972706185978022369682786321716874152698024803728315111114559442621339892284170256838147555235718754770198991608070592368662426510473475145188007543458989590123129943498855936629275592620228453525206997210002815757997813338710454882514380879488390577041011710699203685071302832072957327822680287903900696865401195211981305612028301096258239340254004778388619247691895089201970883778644115298133968692126768196339000597355260848552431355566710523552397530695263625449719203135319182771641469147899686437028545459698845487612927296017604904312015481781926557798036258629810252369086749066477032846749980754520602933991149400244505764384286161382334521554104925807467503800347700789689881029146002593523530619493358285559108160512747486703916973823368848987986183303198752397431783846307475567217418667274075269882836752279503380719492817228764950234169060518387387152743119538703846033128166745232656160332448811075388864658483498316913613993751239719568792401983408214906620784376154791099968289463765887443611527996292484877925386012064414414391691611644416455159538619088656716804115623958250465004757514879304423645985497409330324718951918522562264745674770564956297832969522788362810436304087050019944470630789998221692581514513165558582373721492512923768761531106151704479 11521241386281240979187511952255560811603297959069934604396114574335278138560068596611132322429272333161561909595357207887945079450256561224623505966956171557207083936800955031822035116430403280616694653971499247411525743171744153735234976341441145927581451619127947182105227255067553629919037841745667673716926344014600103751578188865529839995127029572615096183684639977582311031530704155384924782212438935136936719355016919232380772280923204238441868165338988796415928141170911589303466015830708063612170270334079009527085865432487119090372357549750491664328946676829628275619726071568969404717181633448174004597459226843747120876138017302313786081195935575096176688294034923250494280350256516992199985903991281598314369842306440833939668242647589956320296558599088066009087084634629331052904864937881263017808683815622046998078830866870891363911180112283767143528566481197208225943008284729117900948116251930176425416922985537330533813426848929564367093427408374979853166376543266635007477068096819168670052257784540429725643022978490588159918974003778257031312805855303392908678553501072198213585764169820934630119630781491685899192764948392920085795245787266480651508717769365198726000892786066352140430149152423529608462026828032124587367860665461978190852992947258000923740200962514029651584718143514697236154839504144433142433645080219055182985070603057882124471248329844627132361912651507672424407198469351548839587195139011657846984969907589413850890192780379313626379621290720721326325613903390538809204588152873741561807278464834003060226834210989729784370102390364333894985521375914067503052506423223476276449270503210159749349783599219485670646748260012113855597028169699901925428899101815460861104584234400491586282392074799147513788890021040647900588682992657481941155188914473444776588034945504355981377534452922073573477198984099680546340282526211064753377761206527601279622208159914406260495984097906816344894560097282 18641760155595004391637569756426576233914099382637132211226882146598940227297093697323533848596065621394119381411000334968886795935733332405635345023325507866251610922022232106796478692382291291969561985806032189849317031095478212559893307283290951703166273085888529204128060127960430801486878196213693030365104720369303790395337377524636179756591935039153702864292594133363759418080691333678981543639754525322825334869863773881916422951984464441358075751041560558217126133526329379304039226825676415608861685210146973109899040784064156352456953186311053133044355111561217817443776059764375112171334717892730509080865179096596097291009172341771965388311403497847149394480012945620177066671973391144898010707719596709428929284927780726223838499485737511556015313369287057617157677003291757563378340083069270561267673405745176941577686803500166956531408565808974140738569296955206039281718739611632281827604642507217437127622189222401836645499806257387047381331309071845254361588524572247035778164355058508924057036173159677417538112180461471938563089301912225723439574051642393506033814349624629569152474693373332160814894406941405102328084131164561554943145473703509196968416614852811653296910390970664155911931078981327644720656638284493674116927142494824940833747467860934914889601207019794035870879525849218790259765311611936942781345869908936212131073196581412743964606615403735292874660138211589398230567318339535022890393891409089630831277383156631269557466855649196463131900794101440819142842668340772978265106540260894304926817168680036188393579443645890116818913465753198553469019692827681496803746142792268678432678718116780533725938390319453960110514147455725383593320654577827311440963516229852552716228650855651124901480731515951629412848271505652658103562297081127926652598244798163728506557507769101656148099409219906542999987346910116850427332546155535384167759428220182794135373718496779981988497021675577876000711801761 30163001541876245370825081708682137045517397341707066815622996720934218365857162293934666171025337954555681291006357542856831875385989893630258850990281679423458694858823187138618513808812694572586256639777531437260842774267222366295128283624732097630747724705016476386233287383027984431405916037959360704082031064383903894146915566390166019751718964611768799047977234110946070449611395489063906325852193460459762054224880693114297195232907668679799943916380549354633054274697240968607505242656384479221031955544225982636984906216551275442829310736061544797373301788390846093063502131333344516888516351340904513678324405940343218167147189644085751469507339072943326082774047868870671347022229908137097996611710878307743299127234221560163506742133327467876311871968375123626244761637921088616283205020950533579076357221367223939656517670371058320442588678092741284267135778152414265224727024340750182775720894437393862544545174759732370458926655186951414474758717446825107527965067838882043255232451877677594109293957700107143181135158952060098482063305690482754752379906945786414712367850696827782738238863194266790934525188433091001520849079557481640738391260969989848477134384218010379297803177037016296342080231404857253182683466316618261484787807956803131686740415118935838629802169533823687455597669363916026414604815756370085214990950127991395116143799639294868435854945248362425236572789719261822637765787691083862477589030420747477816247290746045120447659636028510089511522084822162145468456571731311787469694693134635866734095633514039248620413654635619901189015856117532448454541068741748999856252566015744954881949221326940283075721989538939630757262407467839239190348824277729236869862618045313413820812885256142711183872806315099143201738292546300558692245289738609867807787159271608505094592453273457637525633862141980116477186331009797396767615072366600137545520634747784073757581878411186242484481119582394220895271899043 48804761697471249762462651465108713279431496724344199026849878867533158593154255991258200019621403575949800672417357877825718671321723226035894196013607187289710305780845419245414992501194985864555818625583563627110159805362700578855021590908023049333913997790905005590361347510988415232892794234173053734447135784753207684542252943914802199508310899650922501912269828244309829867692086822742887869491947985782587389094744466996213618184892133121158019667422109912850180408223570347911544469482060894829893640754372955746883947000615431795286263922372597930417656899952063910507278191097719629059851069233635022759189585036939315458156361985857716857818742570790475477254060814490848413694203299281996007319430475017172228412162002286387345241619064979432327185337662181243402438641212846179661545104019804140344030627112400881234204473871225276973997243901715425005705075107620304506445763952382464603325536944611299672167363982134207104426461444338461856090026518670361889553592411129079033396806936186518166330130859784560719247339413532037045152607602708478191953958588179920746182200321457351890713556567598951749419595374496103848933210722043195681536734673499045445550999070822032594713568007680452254011310386184897903340104601111935601714950451628072520487882979870753519403376553617723326477195213134816674370127368307027996336820036927607247216996220707612400461560652097718111232927930851220868333106030618885367982921829837108647524673902676390005126491677706552643422878923602964611299240072084765734801233395530171660912802194075437013993098281510018007929321870731001923560761569430496659998708808013633314627939443720816801660379858393590867776554923564622783669478855556548310826134275165966537041536111793836085353537831050772614586564051953216795807586819737794460385404069772233601149961042559293673733271361886659477173677919914247194947618522135521713280062967966867892955596907966224472978141257972096895983700804 78967763239347495133287733173790850324948894066051265842472875588467376959011418285192866190646741530505481963423715420682550546707713119666153047003888866713169000639668606384033506310007680437142075265361095064371002579629922945150149874532755146964661722495921481976594634894016399664298710272132414438529166849137111578689168510304968219260029864262691300960247062355255900317303482311806794195344141446242349443319625160110510813417799801800957963583802659267483234682920811316519049712138445374050925596298598938383868853217166707238115574658434142727790958688342910003570780322431064145948367420574539536437513990977282533625303551629943468327326081643733801560028108683361519760716433207419094003931141353324915527539396223846550851983752392447308639057306037304869647200279133934795944750124970337719420387848479624820890722144242283597416585921994456709272840853260034569731172788293132647379046431382005162216712538741866577563353116631289876330848743965495469417518660250011122288629258813864112275624088559891703900382498365592135527215913293191232944333865533966335458550051018285134628952419761865742683944783807587105369782290279524836419927995643488893922685383288832411892516745044696748596091541791042151086023570917730197086502758408431204207228298098806592149205546087441410782074864577050843088974943124677113211327770164919002363360795860002480836316505900460143347805717650113043506098893721702747845571952250584586463771964648721510452786127706216642154944963745765110079755811803396553204495926530166038395008435708114685634406752917129919196945177988263450378101830311179496516251274823758588196577160770661099877382369397333221625038962391403861974018303133285785180688752320479380357854421367936547269226344146149915816324856598253775488052876558347662268172563341380738695742414316016931199367133503866775954360008929711643962562690888735659258800697715750941650537475319152466957459260840366317791255599847 127772524936818744895750384638899563604380390790395464869322754456000535552165674276451066210268145106455282635841073298508269218029436345702047243017496054002879306420514025629448498811202666301697893890944658691481162384992623524005171465440778196298575720286826487566955982405004814897191504506305468172976302633890319263231421454219770418768340763913613802872516890599565730184995569134549682064836089432024936832414369627106724431602691934922115983251224769180333415091144381664430594181620506268880819237052971894130752800217782139033401838580806740658208615588294973914078058513528783775008218489808174559196703576014221849083459913615801185185144824214524277037282169497852368174410636506701090011250571828342087755951558226132938197225371457426740966242643699486113049638920346780975606295228990141859764418475592025702124926618113508874390583165896172134278545928367654874237618552245515111982371968326616461888879902724000784667779578075628338186938770484165831307072252661140201322026065750050630441954219419676264619629837779124172572368520895899711136287824122146256204732251339742486519665976329464694433364379182083209218715501001568032101464730316987939368236382359654444487230313052377200850102852177227048989363675518842132688217708860059276727716181078677345668608922641059134108552059790185659763345070492984141207664590201846609610577792080710093236778066552557861459038645580964264374431999752321633213554874080421695111296638551397900457912619383923194798367842669368074691055051875481318939297159925696210055921237902190122648399851198639937204874499858994452301662591880609993176249983631772221511205100214381916679042749255726812492815517314968484757687781988842333491514886595645346894895957479730383354579881977200688430911420650206992283860463378085456728557967411152972296892375358576224873100404865753435431533686849625891157510309410871180972080760683717809543493072227118691430437402098338414687239300651 206740288176166240029038117812690413929329284856446730711795630044467912511177092561643932400914886636960764599264788719190819764737149465368200290021384920716048307060182632013482005121210346738839969156305753755852164964622546469155321339973533343263237442782747969543550617299021214561490214778437882611505469483027430841920589964524738638028370628176305103832763952954821630502299051446356476260180230878267286275733994787217235245020491736723073946835027428447816649774065192980949643893758951642931744833351570832514621653434948846271517413239240883385999574276637883917648838835959847920956585910382714095634217566991504382708763465245744653512470905858258078597310278181213887935127069714120184015181713181667003283490954449979489049209123849874049605299949736790982696839199480715771551045353960479579184806324071650523015648762355792471807169087890628843551386781627689443968791340538647759361418399708621624105592441465867362231132694706918214517787514449661300724590912911151323610655324563914742717578307979567968520012336144716308099584434189090944080621689656112591663282302358027621148618396091330437117309162989670314588497791281092868521392725960476833290921765648486856379747058097073949446194393968269200075387246436572329774720467268490480934944479177483937817814468728500544890626924367236502852320013617661254418992360366765611973938587940712574073094572453018004806844363231077307880530893474024381059126826331006281575068603200119410910698747090139836953312806415133184770810863678877872143793086455862248450929673610304808282806604115769856401819677847257902679764422191789489692501258455530809707782260985043016556425118653060034117854479706372346731706085122128118672203638916124727252750378847666930623806226123350604247236277248460767771913339936433118996730530752533710992634789674593156072467538369620211385893695779337535120073000299606840230881458399468751194030547546271158387896662938704732478494900498 334512813112984984924788502451589977533709675646842195581118384500468448063342766838094998611183031743416047235105862017699088982766585811070247533038880974718927613480696657642930503932413013040537863047250412447333327349615169993160492805414311539561813163069574457110506599704026029458681719284743350784481772116917750105152011418744509056796711392089918906705280843554387360687294620580906158325016320310292223108148364414323959676623183671645189930086252197628150064865209574645380238075379457911812564070404542726645374453652730985304919251820047624044208189864932857831726897349488631695964804400190888654830921143005726231792223378861545838697615730072782355634592447679066256109537706220821274026432285010009091039442512676112427246434495307300790571542593436277095746478119827496747157340582950621438949224799663676225140575380469301346197752253786800977829932709995344318206409892784162871343790368035238085994472344189868146898912272782546552704726284933827132031663165572291524932681390313965373159532527399244233139642173923840480671952955084990655216909513778258847868014553697770107668284372420795131550673542171753523807213292282660900622857456277464772659158148008141300866977371149451150296297246145496249064750921955414462462938176128549757662660660256161283486423391369559678999178984157422162615665084110645395626656950568612221584516380021422667309872639005575866265883008812041572254962893226346014272681700411427976686365241751517311368611366474063031751680649084501259461865915554359191083090246381558458506850911512494930931206455314409793606694177706252354981427014072399482868751242087303031218987361199424933235467867908786846610669997021340831489393867110970452163718525511770074147646336327397313978386108100551292678147697898667760055773803314518575725288498163686683289527165033169380945567943235373646817427382628963426277583309710478021202962219083186560737523619773389849818334065037043147165734201149 541253101289151224953826620264280391463038960503288926292914014544936360574519859399738931012097918380376811834370650736889908747503735276438447823060265895434975920540879289656412509053623359779377832203556166203185492314237716462315814145387844882825050605852322426654057217003047244020171934063181233395987241599945180947072601383269247694825082020266224010538044796509208991189593672027262634585196551188559509383882359201541194921643675408368263876921279626075966714639274767626329881969138409554744308903756113559159996107087679831576436665059288507430207764141570741749375736185448479616921390310573602750465138709997230614500986844107290492210086635931040434231902725860280144044664775934941458041613998191676094322933467126091916295643619157174840176842543173068078443317319308212518708385936911101018134031123735326748156224142825093818004921341677429821381319491623033762175201233322810630705208767743859710100064785655735509130044967489464767222513799383488432756254078483442848543336714877880115877110835378812201659654510068556788771537389274081599297531203434371439531296856055797728816902768512125568667982705161423838395711083563753769144250182237941605950079913656628157246724429246525099742491640113765449140138168391986792237658643397040238597605139433645221304237860098060223889805908524658665467985097728306650045649310935377833558454967962135241382967211458593871072727372043118880135493786700370395331808526742434258261433844951636722279310113564202868704993455499634444232676779233237063226883332837420706957780585122799739214013059430179650008513855553510257661191436264188972561252500542833840926769622184467949791892986561846880728524476727713178221099952233098570835922164427894801400396715175064244602192334223901896925383975147128527827687143250951694722019028916220394282161954707762537018035481604993858203321078408300961397656310010084861433843677482655311931554167319661008206230727975747879644229101647 875765914402136209878615122715870368996748636150131121874032399045404808637862626237833929623280950123792859069476512754588997730270321087508695356099146870153903534021575947299343012986036372819915695250806578650518819663852886455476306950802156422386863768921896883764563816707073273478853653347924584180469013716862931052224612802013756751621793412356142917243325640063596351876888292608168792910212871498851732492030723615865154598266859080013453807007531823704116779504484342271710120044517867466556872974160656285805370560740410816881355916879336131474415954006503599581102633534937111312886194710764491405296059853002956846293210222968836330907702366003822789866495173539346400154202482155762732068046283201685185362375979802204343542078114464475630748385136609345174189795439135709265865726519861722457083255923399002973296799523294395164202673595464230799211252201618378080381611126106973502048999135779097796094537129845603656028957240272011319927240084317315564787917244055734373476018105191845489036643362778056434799296683992397269443490344359072254514440717212630287399311409753567836485187140932920700218656247333177362202924375846414669767107638515406378609238061664769458113701800395976250038788886259261698204889090347401254700596819525589996260265799689806504790661251467619902888984892682080828083650181838952045672306261503990055142971347983557908692839850464169737338610380855160452390456679926716409604490227153862234947799086703154033647921480038265900456674104584135703694542694787596254309973579218979165464631496635294670145219514744589443615208033259762612642618450336588455430003742630136872145756983383892883027360854470633727339194473749054009710493819344069022999640689939664875548043051502461558580578442324453189603531673045796287883460946565470270447307527079907077571689119740931917963603424840367505020748461037264387675239619720562882636805896565841872669077787093050858024564793012791026809963302796 1417019015691287434832441742980150760459787596653420048166946413590341169212382485637572860635378868504169670903847163491478906477774056363947143179159412765588879454562455236955755522039659732599293527454362744853704311978090602917792121096190001305211914374774219310418621033710120517499025587411105817576456255316808111999297214185283004446446875432622366927781370436572805343066481964635431427495409422687411241875913082817406349519910534488381717683928811449780083494143759109898040002013656277021301181877916769844965366667828090648457792581938624638904623718148074341330478369720385590929807585021338094155761198563000187460794197067076126823117789001934863224098397899399626544198867258090704190109660281393361279685309446928296259837721733621650470925227679782413252633112758443921784574112456772823475217287047134329721453023666119488982207594937141660620592571693241411842556812359429784132754207903522957506194601915501339165159002207761476087149753883700803997544171322539177222019354820069725604913754198156868636458951194060954058215027733633153853811971920647001726930608265809365565302089909445046268886638952494601200598635459410168438911357820753347984559317975321397615360426229642501349781280526373027147345027258739388046938255462922630234857870939123451726094899111565680126778790801206739493551635279567258695717955572439367888701426315945693150075807061922763608411337752898279332525950466627086804936298753896296493209232931654790755927231593602468769161667560083770147927219474020833317536856912056399872422412081758094409359232574174769093623721888813272870303809886600777427991256243172970713072526605568360832819253841032480608067718950476767187931593771577167593835562854367559676948439766677525803182770776548355086528915648192924815711148089816421965169326555996127471853851074448694454981638906445361363224069539445565349072895929730647744070649574048497184600631954412711866230795520988538906454192404443 2292784930093423644711056865696021129456536232803551170040978812635745977850245111875406790258659818627962529973323676246067904208044377451455838535258559635742782988584031184255098535025696105419209222705169323504223131641943489373268428046992157727598778143696116194183184850417193790977879240759030401756925269033671043051521826987296761198068668844978509845024696076636401694943370257243600220405622294186262974367943806433271504118177393568395171490936343273484200273648243452169750122058174144487858054852077426130770737228568501465339148498817960770379039672154577940911581003255322702242693779732102585561057258416003144307087407290044963154025491367938686013964893072938972944353069740246466922177706564595046465047685426730500603379799848086126101673612816391758426822908197579631050439838976634545932300542970533332694749823189413884146410268532605891419803823894859789922938423485536757634803207039302055302289139045346942821187959448033487407076993968018119562332088566594911595495372925261571093950397560934925071258247878053351327658518077992226108326412637859632014329919675562933401787277050377966969105295199827778562801559835256583108678465459268754363168556036986167073474128030038477599820069412632288845549916349086789301638852282448220231118136738813258230885560363033300029667775693888820321635285461406210741390261833943357943844397663929251058768646912386933345749948133753439784916407146553803214540788981050158728157032018357944789575153073640734669618341664667905851621762168808429571846830491275379037887043578393389079504452088919358537238929922073035482946428336937365883421259985803107585218283588952253715846614695503114335406913424225821197642087590921236616835203544307224552496482818179987361763349218872808276132447321238721103594609036381892235616634083076034549425540194189626372945242331285728868244818000482829736748135549451210626707455470614339057269709741505762724255360314001329933264155707239 3709803945784711079543498608676171889916323829456971218207925226226087147062627597512979650894038687132132200877170839737546810685818433815402981714417972401331662443146486421210854057065355838018502750159532068357927443620034092291060549143182159032810692518470335504601805884127314308476904828170136219333381524350479155050819041172579765644515544277600876772806066513209207038009852221879031647901031716873674216243856889250677853638087928056776889174865154723264283767792002562067790124071830421509159236729994195975736103896396592113796941080756585409283663390302652282242059372975708293172501364753440679716818456979003331767881604357121089977143280369873549238063290972338599488551936998337171112287366845988407744732994873658796863217521581707776572598840496174171679456020956023552835013951433407369407517830017667662416202846855533373128617863469747552040396395588101201765495235844966541767557414942825012808483740960848281986346961655794963494226747851718923559876259889134088817514727745331296698864151759091793707717199072114305385873545811625379962138384558506633741260527941372298967089366959823013237991934152322379763400195294666751547589823280022102347727874012307564688834554259680978949601349939005315992894943607826177348577107745370850465976007677936709956980459474598980156446566495095559815186920740973469437108217406382725832545823979874944208844453974309696954161285886651719117442357613180890019477087734946455221366264950012735545502384667243203438780009224751675999548981642829262889383687403331778910309455660151483488863684663094127630862651810886308353250238223538143311412516228976078298290810194520614548665868536535594943474632374702588385573681362498404210670766398674784229444922584857513164946119995421163362661362969431645919305757126198314200785960639072162021279391268638320827926881237731090231468887539928395085821031479181858370778105044662836241870341695918474590486155834989868839718348111682 6002588875878134724254555474372193019372860062260522388248904038861833124912872709388386441152698505760094730850494515983614714893862811266858820249676532037074445431730517605465952592091051943437711972864701391862150575261977581664328977190174316760409470662166451698784990734544508099454784068929166621090306793384150198102340868159876526842584213122579386617830762589845608732953222479122631868306654011059937190611800695683949357756265321625172060665801497996748484041440246014237540246130004565997017291582071622106506841124965093579136089579574546179662703062457230223153640376231030995415195144485543265277875715395006476074969011647166053131168771737812235252028184045277572432905006738583638034465073410583454209780680300389297466597321429793902674272453312565930106278929153603183885453790410041915339818372988200995110952670044947257275028132002353443460200219482960991688433659330503299402360621982127068110772880006195224807534921103828450901303741819737043122208348455729000413010100670592867792814549320026718778975446950167656713532063889617606070464797196366265755590447616935232368876644010200980207097229352150158326201755129923334656268288739290856710896430049293731762308682289719456549421419351637604838444859956912966650215960027819070697094144416749968187866019837632280186114342188984380136822206202379680178498479240326083776390221643804195267613100886696630299911234020405158902358764759734693234017876715996613949523296968370680335077537740883938108398350889419581851170743811637692461230517894607157948196499238544872568368136752013486168101581732959343836196666560475509194833776214779185883509093783472868264512483232038709278881545798928409583215768953419640827505969942982008781941405403037500526709469214293971638793810290670367022900366162580206436402594722148196570704931462827947200872123569016819099713705540411224822569167028633068997485560515277175299140051437424237314741516148991198772982503818921 9712392821662845803798054083048364909289183891717493606456829265087920271975500306901366092046737192892226931727665355721161525579681245082261801964094504438406107874877004026676806649156407781456214723024233460220078018882011673955389526333356475793220163180636787203386796618671822407931688897099302840423688317734629353153159909332456292487099757400180263390636829103054815770963074701001663516207685727933611406855657584934627211394353249681948949840666652720012767809232248576305330370201834987506176528312065818082242945021361685692933030660331131588946366452759882505395699749206739288587696509238983944994694172374009807842850616004287143108312052107685784490091475017616171921456943736920809146752440256571861954513675174048094329814843011501679246871293808740101785734950109626736720467741843449284747336203005868657527155516900480630403645995472100995500596615071062193453928895175469841169918036924952080919256620967043506793881882759623414395530489671455966682084608344863089230524828415924164491678701079118512486692646022281962099405609701242986032603181754872899496850975558307531335966010970023993445089163504472538089601950424590086203858112019312959058624304061601296451143236549400435499022769290642920831339803564739143998793067773189921163070152094686678144846479312231260342560908684079939952009126943353149615606696646708809608936045623679139476457554861006327254072519907056878019801122372915583253494964450943069170889561918383415880579922408127141547178360114171257850719725454466955350614205297938936858505954898696356057231821415107613798964233543845652189446904784013652506246292443755264181799903977993482813178351768574304222356178173630997968789450315918045038176736341656793011386327987895013691655589209715135001455173260102012942206123288778520637188555361220358591984322731466268028799004806747909331182593080339619908390198507814927368263665559940011541010393133342711905227671983981067612700851930603 15714981697540980528052609557420557928662043953978015994705733303949753396888373016289752533199435698652321662578159871704776240473544056349120622213771036475480553306607521632142759241247459724893926695888934852082228594143989255619718503523530792553629633842803238902171787353216330507386472966028469461513995111118779551255500777492332819329683970522759650008467591692900424503916297180124295384514339738993548597467458280618576569150618571307121010506468150716761251850672494590542870616331839553503193819894137440188749786146326779272069120239905677768609069515217112728549340125437770284002891653724527210272569887769016283917819627651453196239480823845498019742119659062893744354361950475504447181217513667155316164294355474437391796412164441295581921143747121306031892013879263229920605921532253491200087154575994069652638108186945427887678674127474454438960796834554023185142362554505973140572278658907079149030029500973238731601416803863451865296834231491193009804292956800592089643534929086517032284493250399145231265668092972449618812937673590860592103067978951239165252441423175242763704842654980224973652186392856622696415803705554513420860126400758603815769520734110895028213451918839119892048444188642280525669784663521652110649009027801008991860164296511436646332712499149863540528675250873064320088831333145732829794105175887034893385326267267483334744070655747702957553983753927462036922159887132650276487512841166939683120412858886754096215657460149011079655576711003590839701890469266104647811844723192546094806702454137241228625599958167121099967065815276804996025643571344489161701080068658534450065308997761466351077690835000613013501237723972559407552005219269337685865682706284638801793327733390932514218365058424009106640248983550772379965106489451358727073591150083368555162689254194294215229671128375764728430896298620750844730959365536447996365749226075217186840150444570766949219969188132972266385683355749524 25427374519203826331850663640468922837951227845695509601162562569037673668863873323191118625246172891544548594305825227425937766053225301431382424177865540913886661181484525658819565890403867506350141418913168312302306613026000929575108029856887268346849797023440026105558583971888152915318161863127772301937683428853408904408660686824789111816783727922939913399104420795955240274879371881125958900722025466927160004323115865553203780544971820989069960347134803436774019659904743166848200986533674541009370348206203258270992731167688464965002150900236809357555435967976995233945039874644509572590588162963511155267264060143026091760670243655740339347792875953183804232211134080509916275818894212425256327969953923727178118808030648485486126227007452797261168015040930046133677748829372856657326389274096940484834490778999938310165263703845908518082320122946555434461393449625085378596291449681442981742196695832031229949286121940282238395298686623075279692364721162648976486377565145455178874059757502441196776171951478263743752360738994731580912343283292103578135671160706112064749292398733550295040808665950248967097275556361095234505405655979103507063984512777916774828145038172496324664595155388520327547466957932923446501124467086391254647802095574198913023234448606123324477558978462094800871236159557144260040840460089085979409711872533743702994262312891162474220528210608709284808056273834518914941961009505565859741007805617882752291302420805137512096237382557138221202755071117762097552610194720571603162458928490485031665208409035937584682831779582228713766030048820650648215090476128502814207326361102289714247108901739459833890869186769187317723593902146190405520794669585255730903859442626295594804714061378827527910020647633724241641704156810874392907312612740137247710779705444588913754673576925760483258470133182512637762078891701090464639349564044262923734012891635157198381160837704109661125196860116953333998384207680127 41142356216744806859903273197889480766613271799673525595868295872987427065752246339480871158445608590196870256883985099130714006526769357780503046391636577389367214488092047290962325131651327231244068114802103164384535207169990185194826533380418060900479430866243265007730371325104483422704634829156241763451678539972188455664161464317121931146467698445699563407572012488855664778795669061250254285236365205920708601790574146171780349695590392296190970853602954153535271510577237757391071602865514094512564168100340698459742517314015244237071271140142487126164505483194107962494380000082279856593479816688038365539833947912042375678489871307193535587273699798681823974330793143403660630180844687929703509187467590882494283102386122922877922639171894092843089158788051352165569762708636086577932310806350431684921645354994007962803371890791336405760994250421009873422190284179108563738654004187416122314475354739110378979315622913520969996715490486527144989198952653841986290670521946047268517594686588958229060665201877408975018028831967181199725280956882964170238739139657351230001733821908793058745651320930473940749461949217717930921209361533616927924110913536520590597665772283391352878047074227640219595911146575203972170909130608043365296811123375207904883398745117559970810271477611958341399911410430208580129671793234818809203817048420778596379588580158645808964598866356412242362040027761980951864120896638216136228520646784822435411715279691891608311894842706149300858331782121352937254500663986676250974303651683031126471910863173178813308431737749349813733095864097455644240734047472991975908406429760824164312417899500926184968560021769800331224831626118749813072799888854593416769542148910934396598041794769760042128385706057733348281953140361646772872419102191495974784370855527957468917362831120054698488141261558277366192975190321841309370308929580710920099762117710374385221311282274876610345166048249925600384067563429651 66569730735948633191753936838358403604564499645369035197030858442025100734616119662671989783691781481741418851189810326556651772579994659211885470569502118303253875669576572949781891022055194737594209533715271476686841820195991114769934563237305329247329227889683291113288955296992636338022796692284014065389361968825597360072822151141911042963251426368639476806676433284810905053675040942376213185958390672847868606113690011724984130240562213285260931200737757590309291170481980924239272589399188635521934516306543956730735248481703709202073422040379296483719941451171103196439419874726789429184067979651549520807098008055068467439160114962933874935066575751865628206541927223913576905999738900354959837157421514609672401910416771408364048866179346890104257173828981398299247511538008943235258700080447372169756136133993946272968635594637244923843314373367565307883583733804193942334945453868859104056672050571141608928601744853803208392014177109602424681563673816490962777048087091502447391654444091399425836837153355672718770389570961912780637624240175067748374410300363463294751026220642343353786459986880722907846737505578813165426615017512720434988095426314437365425810810455887677542642229616160547143378104508127418672033597694434619944613218949406817906633193723683295287830456074053142271147569987352840170512253323904788613528920954522299373850893049808283185127076965121527170096301596499866806081906143781995969528452402705187703017700497029120408132225263287522061086853239115034807110858707247854136762580173516158137119272209116397991263517331578527499125912918106292455824523601494790115732790863113878559526801240386018859429208538987648948425528264940218593594558439849147673401591537229991402755856148587570038406353691457589923657297172521165779731714931633222495150560972546382672036408045815181746611394740790003955054082022931774009658493624973843833775009345531583602472119978986271470362908366878934382451771109778 107712086952693440051657210036247884371177771445042560792899154315012527800368366002152860942137390071938289108073795425687365779106764016992388516961138695692621090157668620240744216153706521968838277648517374641071377027365981299964761096617723390147808658755926556121019326622097119760727431521440255828841040508797785815736983615459032974109719124814339040214248445773666569832470710003626467471194755878768577207904264157896764479936152605581451902054340711743844562681059218681630344192264702730034498684406884655190477765795718953439144693180521783609884446934365211158933799874809069285777547796339587886346931955967110843117649986270127410522340275550547452180872720367317237536180583588284663346344889105492166685012802894331241971505351240982947346332617032750464817274246645029813191010886797803854677781488987954235772007485428581329604308623788575181305774017983302506073599458056275226371147405310251987907917367767324178388729667596129569670762626470332949067718609037549715909249130680357654897502355233081693788418402929093980362905197058031918613149440020814524752760042551136412532111307811196848596199454796531096347824379046337362912206339850957956023476582739279030420689303843800766739289251083331390842942728302477985241424342324614722790031938841243266098101933686011483671058980417561420300184046558723597817345969375300895753439473208454092149725943321533769532136329358480818670202802781998132198049099187527623114732980188920728720027067969436822919418635360467972061611522693924105111066231856547284609030135382295211299695255080928341232221777015561936696558571074486766024139220623938042871944700741312203827989230308787980173257154383690031666394447294442564442943740448164388000797650918347612166792059749190938205610437534167938652150817123129197279521416500503851589399239165869880234752656299067370148029272344773083379967423205684763933537127055905968823783402253862881815528956616804534766519334539429 174281817688642073243411146874606287975742271090411595989930012757037628534984485664824850725829171553679707959263605752244017551686758676204273987530640813995874965827245193190526107175761716706432487182232646117758218847561972414734695659855028719395137886645609847234308281919089756098750228213724269894230402477623383175809805766600944017072970551182978517020924879058477474886145750946002680657153146551616445814017954169621748610176714818866712833255078469334153853851541199605869616781663891365556433200713428611921213014277422662641218115220901080093604388385536314355373219749535858714961615775991137407154029964022179310556810101233061285457406851302413080387414647591230814442180322488639623183502310620101839086923219665739606020371530587873051603506446014148764064785784653973048449710967245176024433917622981900508740643080065826253447622997156140489189357751787496448408544911925134330427819455881393596836519112621127386780743844705731994352326300286823911844766696129052163300903574771757080734339508588754412558807973891006761000529437233099666987559740384277819503786263193479766318571294691919756442936960375344261774439396559057797900301766165395321449287393195166707963331533459961313882667355591458809514976325996912605186037561274021540696665132564926561385932389760064625942206550404914260470696299882628386430874890329823195127290366258262375334853020286655296702232630954980685476284708925780128167577551590232810817750680685949849128159293232724344980505488599583006868722381401171959247828812030063442746149407591411609290958772412506868731347689933668229152383094675981556139872011487051921431471501981698222687418438847775629121682682648630250259989005734291712116345331985394379403553507066935182205198413440648528129267734706689104431882532054762419774671977473050234261435647211685061981364051039857374103083354367704857389625916830658607767312136401437552426255522232849153285891864983683469148971105649207 281993904641335513295068356910854172346920042535454156782829167072050156335352851666977711667966561625617997067337401177931383330793522693196662504491779509688496055984913813431270323329468238675270764830750020758829595874927953714699456756472752109542946545401536403355327608541186875859477659735164525723071442986421168991546789382059976991182689675997317557235173324832144044718616460949629148128347902430385023021922218327518513090112867424448164735309419181077998416532600418287499960973928594095590931885120313267111690780073141616080362808401422863703488835319901525514307019624344928000739163572330725293500961919989290153674460087503188695979747126852960532568287367958548051978360906076924286529847199725594005771936022560070847991876881828855998949839063046899228882060031299002861640721854042979879111699111969854744512650565494407583051931620944715670495131769770798954482144369981409556798966861191645584744436480388451565169473512301861564023088926757156860912485305166601879210152705452114735631841863821836106347226376820100741363434634291131585600709180405092344256546305744616178850682602503116605039136415171875358122263775605395160812508106016353277472763975934445738384020837303762080621956606674790200357919054299390590427461903598636263486697071406169827484034323446076109613265530822475680770880346441351984248220859705124090880729839466716467484578963608189066234368960313461504146487511707778260365626650777760433932483660874870577848186361202161167899924123960050978930333904095096064358895043886610727355179542973706820590654027493435209963569466949230165848941665750468322164011232110989964303416202723010426515407669156563609294939837032320281926383453028734276559289072433558767404351157985282794371990473189839466334878172240857043084033349177891617054193393973554085850834886377554942216116707338924744251112626712477940769593340036343371700849263457343521250038924486712035101420821600488003915490440188636 456275722329977586538479503785460460322662313625865752772759179829087784870337337331802562393795733179297705026601006930175400882480281369400936492022420323684371021812159006621796430505229955381703252012982666876587814722489926129434152416327780828938084432047146250589635890460276631958227887948888795617301845464044552167356595148660921008255660227180296074256098203890621519604762211895631828785501048982001468835940172497140261700289582243314877568564497650412152270384141617893369577755592485461147365085833741879032903794350564278721580923622323943797093223705437839869680239373880786715700779348321862700654991884011469464231270188736249981437153978155373612955702015549778866420541228565563909713349510345695844858859242225810454012248412416729050553345509061047992946845815952975910090432821288155903545616734951755253253293645560233836499554618100856159684489521558295402890689281906543887226786317073039181580955593009578951950217357007593558375415227043980772757252001295654042511056280223871816366181372410590518906034350711107502363964071524231252588268920789370163760332568938095945169253897195036361482073375547219619896703172164452958712809872181748598922051369129612446347352370763723394504623962266249009872895380296303195613499464872657804183362203971096388869966713206140735555472081227389941241576646323980370679095750034947286008020205724978842819431983894844362936601591268442189622772220633558388533204202367993244750234341560820426976345654434885512880429612559633985799056285496268023606723855916674170101328950565118429881612799905942078694917156882898395001324760426449878303883243598041885734887704704708649202826108004339238416622519680950532186372458763025988675634404418953146807904665052217976577188886630487994464145906947546147515915881232654036828865371446604320112270533589240004197480758378782118354195981080182798159219256867001979468161399858781073676294446719561188387312686584171473064461545837843 738269626971313099833547860696314632669582356161319909555588346901137941205690188998780274061762294804915702093938408108106784213273804062597598996514199833372867077797072820053066753834698194056974016843732687635417410597417879844133609172800532938481030977448682653944963499001463507817705547684053321340373288450465721158903384530720897999438349903177613631491271528722765564323378672845260976913848951412386491857862390824658774790402449667763042303873916831490150686916742036180869538729521079556738296970954055146144594574423705894801943732023746807500582059025339365383987258998225714716439942920652587994155953804000759617905730276239438677416901105008334145523989383508326918398902134642488196243196710071289850630795264785881302004125294245585049503184572107947221828905847251978771731154675331135782657315846921609997765944211054641419551486239045571830179621291329094357372833651887953444025753178264684766325392073398030517119690869309455122398504153801137633669737306462255921721208985675986551998023236232426625253260727531208243727398705815362838188978101194462508016878874682712124019936499698152966521209790719094978018966947769848119525317978198101876394815345064058184731373208067485475126580568941039210230814434595693786040961368471294067670059275377266216354001036652216845168737612049865622012456992765332354927316609740071376888750045191695310304010947503033429170970551581903693769259732341336648898830853145753678682718002435691004824532015637046680780353736519684964729390189591364087965618899803284897456508493538825250472266827399377288658486623832128560850266426176918200467894475709031850038303907427719075718233777160902847711562356713270814112755911791760265234923476852511914212255823037500770949179359820327460799024079188403190599949230410545653883058765420158405963105419966794946413597465717706862605308607792660738928812596903345351169010663316124594926333371206273223488733508184659476979951986026479 1194545349301290686372027364481775092992244669787185662328347526730225726076027526330582836455558027984213407120539415038282185095754085431998535488536620157057238099609231826674863184339928149438677268856715354512005225319907805973567761589128313767419115409495828904534599389461740139775933435632942116957675133914510273326259979679381819007694010130357909705747369732613387083928140884740892805699350000394387960693802563321799036490692031911077919872438414481902302957300883654074239116485113565017885662056787797025177498368774270173523524655646070751297675282730777205253667498372106501432140722268974450694810945688012229082137000464975688658854055083163707758479691399058105784819443363208052105956546220416985695489654507011691756016373706662314100056530081168995214775751663204954681821587496619291686202932581873365251019237856614875256051040857146427989864110812887389760263522933794497331252539495337723947906347666407609469069908226317048680773919380845118406426989307757909964232265265899858368364204608643017144159295078242315746091362777339594090777247021983832671777211443620808069189190396893189328003283166266314597915670119934301078238127850379850475316866714193670631078725578831208869631204531207288220103709814891996981654460833343951871853421479348362605223967749858357580724209693277255563254033639089312725606412359775018662896770250916674153123442931397877792107572142850345883392031952974895037432035055513746923432952343996511431800877670071932193660783349079318950528446475087632111572342755719959067557837444103943680353879627305319367353403780715026955851591186603368078771777719307073735773191612132427724921059885165242086128184876394221346299128370554786253910557881271465061020160488089718747526368246450815455263169986135949338115865111643199690711924136866762726075375953556034950611078224096488980959504588872843537088031853770347330637172063174905668602627817925834411876046194768830950044413531864322 1932814976272603786205575225178089725661827025948505571883935873631363667281717715329363110517320322789129109214477823146388969309027889494596134485050819990430105177406304646727929938174626343495651285700448042147422635917325685817701370761928846705900146386944511558479562888463203647593638983316995438298048422364975994485163364210102717007132360033535523337238641261336152648251519557586153782613198951806774452551664954146457811281094481578840962176312331313392453644217625690255108655214634644574623959027741852171322092943197976068325468387669817558798257341756116570637654757370332216148580665189627038688966899492012988700042730741215127336270956188172041904003680782566432703218345497850540302199742930488275546120449771797573058020499000907899149559714653276942436604657510456933453552742171950427468860248428794975248785182067669516675602527096191999820043732104216484117636356585682450775278292673602408714231739739805639986189599095626503803172423534646256040096726614220165885953474251575844920362227844875443769412555805773523989818761483154956928966225123178295179794090318303520193209126896591342294524492956985409575934637067704149197763445828577952351711682059257728815810098786898694344757785100148327430334524249487690767695422201815245939523480754725628821577968786510574425892947305327121185266490631854645080533728969515090039785520296108369463427453878900911221278542694432249577161291685316231686330865908659500602115670346432202436625409685708978874441137085599003915257836664678996199537961655523243965014345937642768930826146454704696656011890404547155516701857612780286279239672195016105585811495519560146800639293662326144933839747233107492160411884282346546519145481358123976975232416311127219518475547606271142916062194065324352528715814342053745344594982902286921132038481373522829897024675689814195843564813196665504276016844450673692681806182726491030263528961189132107635364779702953490427024365517890801 3127360325573894472577602589659864818654071695735691234212283400361589393357745241659945946972878350773342516335017238184671154404781974926594669973587440147487343277015536473402793122514554492934328554557163396659427861237233491791269132351057160473319261796440340463014162277924943787369572418949937555255723556279486267811423343889484536014826370163893433042986010993949539732179660442327046588312548952201162413245467517468256847771786513489918882048750745795294756601518509344329347771699748209592509621084529649196499591311972246241848993043315888310095932624486893775891322255742438717580721387458601489383777845180025217782179731206190815995125011271335749662483372181624538488037788861058592408156289150905261241610104278809264814036872707570213249616244734445937651380409173661888135374329668569719155063181010668340499804419924284391931653567953338427809907842917103873877899879519476948106530832168940132662138087406213249455259507321943552483946342915491374446523715921978075850185739517475703288726432453518460913571850884015839735910124260494551019743472145162127851571301761924328262398317293484531622527776123251724173850307187638450276001573678957802827028548773451399446888824365729903214388989631355615650438234064379687749349883035159197811376902234073991426801936536368932006617156998604376748520524270943957806140141329290108702682290547025043616550896810298789013386114837282595460553323638291126723762900964173247525548622690428713868426287355780911068101920434678322865786283139766628311110304411243203032572183381746712611180026082010016023365294185262182472553448799383654358011449914323179321584687131692574525560353547491387019967932109501713506711012652901332773056039239395442036252576799216938266001915852721958371325364051460301866831679453696945035306907039153683858113857327078864847635753913910684824524317785538347813104876304444040012443354789665935932131589007057942047240825897722321377068779049755123 5060175301846498258783177814837954544315898721684196806096219273992953060639462956989309057490198673562471625549495061331060123713809864421190804458638260137917448454421841120130723060689180836429979840257611438806850497154559177608970503112986007179219408183384852021493725166388147434963211402266932993553771978644462262296586708099587253021958730197428956380224652255285692380431179999913200370925747904007936865797132471614714659052880995068759844225063077108687210245736135034584456426914382854167133580112271501367821684255170222310174461430985705868894189966243010346528977013112770933729302052648228528072744744672038206482222461947405943331395967459507791566487052964190971191256134358909132710356032081393536787730554050606837872057371708478112399175959387722880087985066684118821588927071840520146623923429439463315748589601991953908607256095049530427629951575021320357995536236105159398881809124842542541376369827146018889441449106417570056287118766450137630486620442536198241736139213769051548209088660298393904682984406689789363725728885743649507948709697268340423031365392080227848455607444190075873917052269080237133749784944255342599473765019507535755178740230832709128262698923152628597559146774731503943080772758313867378517045305236974443750900382988799620248379905322879506432510104303931497933787014902798602886673870298805198742467810843133413079978350689199700234664657531714845037714615323607358410093766872832748127664293036860916305051697041489889942543057520277326781044119804445624510648266066766446997586529319389481542006172536714712679377184589809337989255306412163940637251122109339284907396182651252721326199647209817531953807679342609205667122896935247879292201520597519419011484993110344157784477463458993101287387558116784654395547493795750690379901889941440604990152338700601694744660429603724880668089130982203852089121720755117732694249537516156966195660550196190049682605605600675811804093144567645924 8187535627420392731360780404497819362969970417419888040308502674354542453997208198649255004463077024335814141884512299515731278118591839347785474432225700285404791731437377593533516183203735329364308394814774835466278358391792669400239635464043167652538669979825192484507887444313091222332783821216870548809495534923948530108010051989071789036785100361322389423210663249235232112610840442240246959238296856209099279042599989082971506824667508558678726273813822903981966847254644378913804198614131063759643201196801150564321275567142468552023454474301594178990122590729904122420299268855209651310023440106830017456522589852063424264402193153596759326520978730843541228970425145815509679293923219967725118512321232298798029340658329416102686094244416048325648792204122168817739365475857780709724301401509089865778986610450131656248394021916238300538909663002868855439859417938424231873436115624636346988339957011482674038507914552232138896708613739513608771065109365629004933144158458176317586324953286527251497815092751912365596556257573805203461639010004144058968453169413502550882936693842152176718005761483560405539580045203488857923635251442981049749766593186493558005768779606160527709587747518358500773535764362859558731210992378247066266395188272133641562277285222873611675181841859248438439127261302535874682307539173742560692814011628095307445150101390158456696529247499498489248050772368997440498267938961898485133856667837005995653212915727289630173477984397270801010644977954955649646830402944212252821758570478009650030158712701136194153186198618724728702742478775071520461808755211547594995262572023662464228980869782945295851760000757308918973775611452110919173833909588149212065257559836914861047737569909561096050479379311715059658712922168244956262379173249447635415208796980594288848266196027680559592296183517635565492613448767742199902226597059561772706692892305822902127792139203247991729846431498398133181161923617401047 13247710929266890990143958219335773907285869139104084846404721948347495514636671155638564061953275697898285767434007360846791401832401703768976278890863960423322240185859218713664239243892916165794288235072386274273128855546351847009210138577029174831758078163210044506001612610701238657295995223483803542363267513568410792404596760088659042058743830558751345803435315504520924493042020442153447330164044760217036144839732460697686165877548503627438570498876900012669177092990779413498260625528513917926776781309072651932142959822312690862197915905287300047884312556972914468949276281967980585039325492755058545529267334524101630746624655101002702657916946190351332795457478110006480870550057578876857828868353313692334817071212380022940558151616124526438047968163509891697827350542541899531313228473349610012402910039889594971996983623908192209146165758052399283069810992959744589868972351729795745870149081854025215414877741698251028338157720157083665058183875815766635419764600994374559322464167055578799706903753050306270279540664263594567187367895747793566917162866681842973914302085922380025173613205673636279456632314283725991673420195698323649223531612694029313184509010438869655972286670670987098332682539094363501811983750692114444783440493509108085313177668211673231923561747182127944871637365606467372616094554076541163579487881926900506187617912233291869776507598188698189482715429900712285535982554285505843543950434709838743780877208764150546478529681438760690953188035475232976427874522748657877332406836544776097027745242020525675695192371155439441382119663364880858451064061623711535632513694133001749136377052434198017177959647967126450927583290794720124840956806523397091357459080434434280059222563019905253834956842770708160946100480285029610657926667045198325795110686922034893838418534728282254336956613121360446160702579749946051991348317814679505400942429821979868323452689399438041412452037099073944985255068185046971 21435246556687283721504738623833593270255839556523972886713224622702037968633879354287819066416352722234099909318519660362522679950993543116761753323089660708727031917296596307197755427096651495158596629887161109739407213938144516409449774041072342484296748143035236990509500055014329879628779044700674091172763048492359322512606812077730831095528930920073735226645978753756156605652860884393694289402341616426135423882332449780657672702216012186117296772690722916651143940245423792412064824142644981686419982505873802496464235389455159414221370379588894226874435147702818591369575550823190236349348932861888562985789924376165055011026848254599461984437924921194874024427903255821990549843980798844582947380674545991132846411870709439043244245860540574763696760367632060515566716018399680241037529874858699878181896650339726628245377645824430509685075421055268138509670410898168821742408467354432092858489038865507889453385656250483167234866333896597273829248985181395640352908759452550876908789120342106051204718845802218635876096921837399770649006905751937625885616036095345524797238779764532201891618967157196684996212359487214849597055447141304698973298205880522871190277790045030183681874418189345599106218303457223060543194743070361511049835681781241726875454953434546843598743589041376383310764626909003247298402093250283724272301893554995813632768013623450326473036845688196678730766202269709726034250493247404328677807102546844739434090124491440176652007665836031491963833013430188626074704925692870130154165407022785747057903954721661869848378569774164170084862142139952378912872816835259130627776266156664213365357922217143313029719648724435369901358902246831044014790716111546303422716640271349141106960132929466349885436222082423220604813402453274566920305840294645961210319483902629182686684730755962813929252796638996011653316028517688251893574914874241278107635322127802770451244828602686033142298468597472078166416991802448018 34682957485954174711648696843169367177541708695628057733117946571049533483270550509926383128369628420132385676752527021209314081783395246885738032213953621132049272103155815020861994670989567660952884864959547384012536069484496363418659912618101517316054826306245281496511112665715568536924774268184477633536030562060770114917203572166389873154272761478825081030081294258277081098694881326547141619566386376643171568722064910478343838579764515813555867271567622929320321033236203205910325449671158899613196763814946454428607195211767850276419286284876194274758747704675733060318851832791170821388674425616947108515057258900266685757651503355602164642354871111546206819885381365828471420394038377721440776249027859683467663483083089461983802397476665101201744728531141952213394066560941579772350758348208309890584806690229321600242361269732622718831241179107667421579481403857913411611380819084227838728638120719533104868263397948734195573024054053680938887432860997162275772673360446925436231253287397684850911622598852524906155637586100994337836374801499731192802778902777188498711540865686912227065232172830832964452844673770940841270475642839628348196829818574552184374786800483899839654161088860332697438900842551586562355178493762475955833276175290349812188632621646220075522305336223504328182401992515470619914496647326824887851789775481896319820385925856742196249544443876894868213481632170422011570233047532910172221757537256683483214967333255590723130537347274792182917021048905421602502579448441528007486572243567561844085649196742187545543570940929603611466981805504833237363936878458970666260289960289665962501734974651341330207679296691561820828942193041551168855747522634943394780175720705783421166182695949371603720393064853131381550913882738304177578232507339844287005430170824664076525103265484245068266209409760356457814018608267634303884923232688920783508577751949782638774697518002124074554750505696546023151672059987494989 56118204042641458433153435467002960447797548252152030619831171193751571451904429864214202194785981142366485586071046681571836761734388790002499785537043281840776304020452411328059750098086219156111481494846708493751943283422640879828109686659173859800351574449280518487020612720729898416553553312885151724708793610553129437429810384244120704249801692398898816256727273012033237704347742210940835908968727993069306992604397360259001511281980527999673164044258345845971464973481626998322390273813803881299616746320820256925071430601223009690640656664465088501633182852378551651688427383614361057738023358478835671500847183276431740768678351610201626626792796032741080844313284621650461970238019176566023723629702405674600509894953798901027046643337205675965441488898774012728960782579341260013388288223067009768766703340569048228487738915557053228516316600162935560089151814756082233353789286438659931587127159585040994321649054199217362807890387950278212716681846178557916125582119899476313140042407739790902116341444654743542031734507938394108485381707251668818688394938872534023508779645451444428956851139988029649449057033258155690867531089980933047170128024455075055565064590528930023336035507049678296545119146008809622898373236832837466883111857071591539064087575080766919121048925264880711493166619424473867212898740577108612124091669036892133453153939480192522722581289565091546944247834440131737604483540780314500899564639803528222649057457747030899782545013110823674880854062335610228577284374134398137640737650590347591143553151463849415391949510703767781551843947644785616276809695294229796888066226446330175867092896868484643237398945415997190730301095288382212870538238746489698202892360977132562273142828878837953605829286935554602155727285191578744498538347634490248215749654727293259211787996240207882195462206399352469467334636785322555778498147563162061616213074077585409225942346604810107697048974294018101318089051789943007 90801161528595633144802132310172327625339256947780088352949117764801104935174980374140585323155609562498871262823573702781150843517784036888237817750996902972825576123608226348921744769075786817064366359806255877764479352907137243246769599277275377116406400755525799983531725386445466953478327581069629358244824172613899552347013956410510577404074453877723897286808567270310318803042623537487977528535114369712478561326462270737345349861745043813229031315825968775291786006717830204232715723484962780912813510135766711353678625812990859967059942949341282776391930557054284712007279216405531879126697784095782780015904442176698426526329854965803791269147667144287287664198665987478933390632057554287464499878730265358068173378036888363010849040813870777167186217429915964942354849140282839785739046571275319659351510030798369828730100185289675947347557779270602981668633218613995644965170105522887770315765280304574099189912452147951558380914442003959151604114707175720191898255480346401749371295695137475753027964043507268448187372094039388446321756508751400011491173841649722522220320511138356656022083312818862613901901707029096532138006732820561395366957843029627239939851391012829862990196595910010993984019988560396185253551730595313422716388032361941351252720196726986994643354261488385039675568611939944487127395387903933499975881444518788453273539865336934718972125733441986415157729466610553749174716588313224673121322177060211705864024791002621622913082360385615857797875111241031831079863822575926145127309894157909435229202348206036960935520451633371393018825753149618853640746573753200463148356186735996138368827871519825973445078242107559011559243288329933381726285761381433092983068081682915983439325524828209557326222351788685983706641167929882922076770854974334535221179825551957335736891261724452950461671616159708927281353245052956859663421380252082845124790826027368048000639864606934182251799479990564124469761111777437996 146919365571237091577955567777175288073136805199932118972780288958552676387079410238354787517941590704865356848894620384352987605252172826890737603288040184813601880144060637676981494867162005973175847854652964371516422636329778123074879285936449236916757975204806318470552338107175365370031880893954781082953617783167028989776824340654631281653876146276622713543535840282343556507390365748428813437503842362781785553930859630996346861143725571812902195360084314621263250980199457202555105997298766662212430256456586968278750056414213869657700599613806371278025113409432836363695706600019892936864721142574618451516751625453130167295008206576005417895940463177028368508511950609129395360870076730853488223508432671032668683272990687264037895684151076453132627706328689977671315631719624099799127334794342329428118213371367418057217839100846729175863874379433538541757785033370077878318959391961547701902892439889615093511561506347168921188804829954237364320796553354278108023837600245878062511338102877266655144305488162011990219106601977782554807138216003068830179568780522256545729100156589801084978934452806892263350958740287252223005537822801494442537085867484702295504915981541759886326232102959689290529139134569205808151924967428150889599499889433532890316807771807753913764403186753265751168735231364418354340294128481042112099973113555680586726693804817127241694707023007077962101977301050685486779200129093539174020886816863739928513082248749652522695627373496439532678729173576642059657148196710324282768047544748257026372755499669886376327469962337139174570669700794404469917556269047430260036422413182326314235920768388310616682477187523556202289544383618315594596824000127922791185960442660048545712468353707047510932051638724240585862368453121461666575309202608824783436929480279250594948679257964660832657133822559061396748687881838279415441919527815244906741003900104953457226582211211744289948848454284582225787850163567381003 237720527099832724722757700087347615698476062147712207325729406723353781322254390612495372841097200267364228111718194087134138448769956863778975421039037087786427456267668864025903239636237792790240214214459220249280901989236915366321648885213724614033164375960332118454084063493620832323510208475024410441198441955780928542123838297065141859057950600154346610830344407552653875310432989285916790966038956732494264115257321901733692211005470615626131226675910283396555036986917287406787821720783729443125243766592353679632428682227204729624760542563147654054417043966487121075702985816425424815991418926670401231532656067629828593821338061541809209165088130321315656172710616596608328751502134285140952723387162936390736856651027575627048744724964947230299813923758605942613670480859906939584866381365617649087469723402165787885947939286136405123211432158704141523426418251984073523284129497484435472218657720194189192701473958495120479569719271958196515924911260529998299922093080592279811882633798014742408172269531669280438406478696017171001128894724754468841670742622171979067949420667728157741001017765625754877252860447316348755143544555622055837904043710514329535444767372554589749316428698869700284513159123129601993405476698023464312315887921795474241569527968534740908407757448241650790844303843304362841467689516384975612075854558074469040000233670154061960666832756449064377259706767661239235953916717406763847142208993923951634377107039752274145608709733882055390476604284817673890737012019286250427895357438906166461601957847875923337262990413970510567589495453944023323558302842800630723184778599918322452604748639908136590127555429631115213848787671948248976323109761509355884169028524342964529151793878535257068258273990512926569569009621051344588652080057583159318658109305831207930685570519689113783118805438718770324030041126891236275105340908067327751865794726132321505227222075818678472200647934275146350257611275344818999 384639892671069816300713267864522903771612867347644326298509695681906457709333800850850160359038790972229584960612814471487126054022129690669713024327077272600029336411729501702884734503399798763416062069112184620797324625566693489396528171150173850949922351165138436924636401600796197693542089368979191524152059738947957531900662637719773140711826746430969324373880247834997431817823355034345604403542799095276049669188181532730039072149196187439033422035994598017818287967116744609342927718082496105337674023048940647911178738641418599282461142176954025332442157375919957439398692416445317752856140069245019683049407693082958761116346268117814627061028593498344024681222567205737724112372211015994440946895595607423405539924018262891086640409116023683432441630087295920284986112579531039383993716159959978515587936773533205943165778386983134299075306538137680065184203285354151401603088889445983174121550160083804286213035464842289400758524101912433880245707813884276407945930680838157874393971900892009063316575019831292428625585297994953555936032940757537671850311402694235613678520824317958825979952218432647140603819187603600978149082378423550280441129577999031830949683354096349635642660801829389575042298257698807801557401665451615201915387811229007131886335740342494822172160634994916542013039074668781195807983644866017724175827671630149626726927474971189202361539779456142339361684068711924722733116846500303021163095810787691562890189288501926668304337107378494923155333458394315950394160215996574710663404983654423487974713347545809713590460376307649742160165154738427793475859111848060983221201013100648766840669408296447206810032617154671416138332055566564570919933761637278675354988967003013074864262232242304579190325629237167155431378074172806255227389260191984102095038786110458525634249777653774615775939261277831720778729008729515690547260435882572658606798626237274962453804287030422762149496388559728576045461438912200002 622360419770902541023470967951870519470088929495356533624239102405260239031588191463345533200135991239593813072331008558621264502792086554448688445366114360386456792679398365728787974139637591553656276283571404870078226614803608855718177056363898464983086727125470555378720465094417030017052297844003601965350501694728886074024500934784914999769777346585315935204224655387651307128256344320262395369581755827770313784445503434463731283154666803065164648711904881414373324954034032016130749438866225548462917789641294327543607420868623328907221684740101679386859201342407078515101678232870742568847558995915420914582063760712787354937684329659623836226116723819659680853933183802346052863874345301135393670282758543814142396575045838518135385134080970913732255553845901862898656593439437978968860097525577627603057660175698993829113717673119539422286738696841821588610621537338224924887218386930418646340207880277993478914509423337409880328243373870630396170619074414274707868023761430437686276605698906751471488844551500572867032063994012124557064927665512006513521054024866214681627941492046116566980969984058402017856679634919949733292626934045606118345173288513361366394450726650939384959089500699089859555457380828409794962878363475079514231275733024481373455863708877235730579918083236567332857342917973144037275673161250993336251682229704618666727161145125251163028372535905206716621390836373163958687033563907066868305304804711643197267296328254200813913046841260550313631937743211989841131172235282825138558762422560589949576671195421733050853450790278160309749660608682451117034161954648691706405979613018971219445418048204583796937588046785786629987119727514813547243043523146634559524017491345977604016056110777561647448599619750093725000387695224150843879469317775143420753148091941666456319820297342888398894744699996602044808770135620751965652601343949900410472593352369596467681026362849101234350144322834874926303072714257019001 1007000312441972357324184235816393423241701796843000859922748798087166696740921992314195693559174782211823398032943823030108390556814216245118401469693191632986486129091127867431672708643037390317072338352683589490875551240370302345114705227514072315933009078290608992303356866695213227710594387212982793489502561433676843605925163572504688140481604093016285259578104903222648738946079699354607999773124554923046363453633684967193770355303862990504198070747899479432191612921150776625473677156948721653800591812690234975454786159510041928189682826917055704719301358718327035954500370649316060321703699065160440597631471453795746116054030597777438463287145317318003705535155751008083776976246556317129834617178354151237547936499064101409222025543196994597164697183933197783183642706018969018352853813685537606118645596949232199772279496060102673721362045234979501653794824822692376326490307276376401820461758040361797765127544888179699281086767475783064276416326888298551115813954442268595560670577599798760534805419571331865295657649292007078113000960606269544185371365427560450295306462316364075392960922202491049158460498822523550711441709312469156398786302866512393197344134080747289020601750302528479434597755638527217596520280028926694716146663544253488505342199449219730552752078718231483874870381992641925233083656806117011060427509901334768293454088620096440365389912315361349055983074905085088681420150410407369889468400615499334760157485616756127482217383948639045236787271201606305791525332451279399849222167406215013437551384542967542764443911166585810051909825763420878910510021066496752689627180626119619986286087456501031003747620663940458046125451783081378118162977284783913234879006458348990678880318343019866226638925248987260880431765769396957099106858577967127522848186878052124981954070074996663014670683961274433765587499144350267656199861779832473069079391978606871430134830649879523996499640711394603502348534153169219003 1629360732212874898347655203768263942711790726338357393546987900492426935772510183777541226759310773451417211105274831588729655059606302799567089915059305993372942921770526233160460682782674981870728614636254994360953777855173911200832882283877970780916095805416079547682077331789630257727646685056986395454853063128405729679949664507289603140251381439601601194782329558610300046074336043674870395142706310750816677238079188401657501638458529793569362719459804360846564937875184808641604426595814947202263509602331529302998393580378665257096904511657157384106160560060734114469602048882186802890551258061075861512213535214508533470991714927437062299513262041137663386389088934810429829840120901618265228287461112695051690333074109939927357410677277965510896952737779099646082299299458406997321713911211115233721703257124931193601393213733222213143648783931821323242405446360030601251377525663306820466801965920639791244042054311517109161415010849653694672586945962712825823681978203699033246947183298705512006294264122832438162689713286019202670065888271781550698892419452426664976934403808410191959941892186549451176317178457443500444734336246514762517131476155025754563738584807398228405560839803227569294153213019355627391483158392401774230377939277277969878798063158096966283331996801468051207727724910615069270359329967368004396679192131039386960181249765221691528418284851266555772604465741458252640107183974314436757773705420210977957424781945010328296130430789899595550419208944818295632656504686562224987780929828775603387128055738389275815297361956863970361659486372103330027544183021145444396033160239138591205731505504705614800685208710726244676112571510596191665406020807930547794403023949694968282896374453797427874087524868737354605432153464621107942986327895742270943601334969993791438273890372339551413565428661271035810396269279971019621852463123782373479551985330976467897815857012728625230849785034229478428651606867426238004 2636361044654847255671839439584657365953492523181358253469736698579593632513432176091736920318485555663240609138218654618838045616420519044685491384752497626359429050861654100592133391425712372187800952988938583851829329095544213545947587511392043096849104883706688539985434198484843485438241072269969188944355624562082573285874828079794291280732985532617886454360434461832948785020415743029478394915830865673863040691712873368851271993762392784073560790207703840278756550796335585267078103752763668856064101415021764278453179739888707185286587338574213088825461918779061150424102419531502863212254957126236302109845006668304279587045745525214500762800407358455667091924244685818513606816367457935395062904639466846289238269573174041336579436220474960108061649921712297429265942005477376015674567724896652839840348854074163393373672709793324886865010829166800824896200271182722977577867832939683222287263723961001589009169599199696808442501778325436758949003272851011376939495932645967628807617760898504272541099683694164303458347362578026280783066848878051094884263784879987115272240866124774267352902814389040500334777677279967051156176045558983918915917779021538147761082718888145517426162590105756048728750968657882844988003438421328468946524602821531458384140262607316696836084075519699535082598106903256994503442986773485015457106702032374155253635338385318131893808197166627904828587540646543341321527334384721806647242106035710312717582267561766455778347814738538640787206480146424601424181837137841624837003097234990616824679440281356818579741273123449780413569312135524208938054204087642197085660340865258211192017592961206645804432829374666702722238023293677569783568998092714461029282030408043958961776692796817294100726450117724615485863919234018065042093186473709398466449521848045916420227960447336214428236112622545469575983768424321287278052324903614846548631377309583339327950687662608149227349425745624081931000141020595457007 4265721776867722154019494643352921308665283249519715647016724599072020568285942359869278147077796329114657820243493486207567700676026821844252581299811803619732371972632180333752594074208387354058529567625193578212783106950718124746780469795270013877765200689122768087667511530274473743165887757326955584399208687690488302965824492587083894420984366972219487649142764020443248831094751786704348790058537176424679717929792061770508773632220922577642923509667508201125321488671520393908682530348578616058327611017353293581451573320267372442383491850231370472931622478839795264893704468413689666102806215187312163622058541882812813058037460452651563062313669399593330478313333620628943436656488359553660291192100579541340928602647283981263936846897752925618958602659491397075348241304935783012996281636107768073562052111199094586975065923526547100008659613098622148138605717542753578829245358602990042754065689881641380253211653511213917603916789175090453621590218813724202763177910849666662054564944197209784547393947816996741621037075864045483453132737149832645583156204332413780249175269933184459312844706575589951511094855737410551600910381805498681433049255176563902324821303695543745831723429908983618022904181677238472379486596813730243176902542098809428262938325765413663119416072321167586290325831813872063773802316740853019853785894163413542213816588150539823422226482017894460601192006388001593961634518359036243405015811455921290675007049506776784074478245528438236337625689091242897056838341824403849824784027063766220211807496019746094395038635080313750775228798507627538965598387108787641481693501104396802397749098465912260605118038085392947398350594804273761448975018900645008823685054357738927244673067250614721974813974986461970091296072698639172985079514369451669410050856818039707858501850819675765841801541283816505386380037704292306899904788027397220028183362640559807225766544675336774458199210779853560359651747888021695011 6902082821522569409691334082937578674618775772701073900486461297651614200799374535961015067396281884777898429381712140826405746292447340888938072684564301246091801023493834434344727465634099726246330520614132162064612436046262338292728057306662056974614305572829456627652945728759317228604128829596924773343564312252570876251699320666878185701717352504837374103503198482276197616115167529733827184974368042098542758621504935139360045625983315361716484299875212041404078039467855979175760634101342284914391712432375057859904753060156079627670079188805583561757084397618856415317806887945192529315061172313548465731903548551117092645083205977866063825114076758048997570237578306447457043472855817489055354096740046387630166872220458022600516283118227885727020252581203694504614183310413159028670849361004420913402400965273257980348738633319871986873670442265422973034805988725476556407113191542673265041329413842642969262381252710910726046418567500527212570593491664735579702673843495634290862182705095714057088493631511161045079384438442071764236199586027883740467419989212400895521416136057958726665747520964630451845872533017377602757086427364482600348967034198102050085904022583689263257886020014739666751655150335121317367490035235058712123427144920340886647078588372730359955500147840867121372923938717129058277245303514338035310892596195787697467451926535857955316034679184522365429779547034544935283161852743758050052257917491631603392589317068543239852826060266976877124832169237667498481020178962245474661787124298756837036486936301102912974779908203763531188798110643151747903652591196429838567353841969655013589766691427118906409550867460059650120588618097951331232544016993359469852967084765782886206449760047432016075540425104186585577159991932657238027172700843161067876500378666085624278729811267011980270037653906361974962363806128613594177957112931012066576814739950143146553717232337944923685548636525477642290651888908617152018 11167804598390291563710828726290499983284059022220789547503185896723634769085316895830293214474078213892556249625205627033973446968474162733190653984376104865824172996126014768097321539842487080304860088239325740277395542996980463039508527101932070852379506261952224715320457259033790971770016586923880357742772999943059179217523813253962080122701719477056861752645962502719446447209919316438175975032905218523222476551296996909868819258204237939359407809542720242529399528139376373084443164449920900972719323449728351441356326380423452070053571039036954034688706876458651680211511356358882195417867387500860629353962090433929905703120666430517626887427746157642328048550911927076400480129344177042715645288840625928971095474867742003864453130015980811345978855240695091579962424615348942041667130997112188986964453076472352567323804556846419086882330055364045121173411706268230135236358550145663307795395103724284349515592906222124643650335356675617666192183710478459782465851754345300952916747649292923841635887579328157786700421514306117247689332323177716386050576193544814675770591405991143185978592227540220403356967388754788154357996809169981281782016289374665952410725326279233009089609449923723284774559332012359789746976632048788955300329687019150314910016914138144023074916220162034707663249770531001122051047620255191055164678490359201239681268514686397778738261161202416826030971553422546529244796371102794293457273728947552894067596366575320023927304305795415113462457858328910395537858520786649324486571151362523057248294432320849007369818543284077281964026909150779286869250978305217480049047343074051815987515789893031167014668905545452597518939212902225092681519035894004478676652139123521813451122827298046738050354400090648555668456064631296411012252215212612737286551235484125332137231662086687746111839195190178480348743843832905901077861900958409286604998102590702953779483777013281698143747847305331202650303636796638847029 18069887419912860973402162809228078657902834794921863447989647194375248969884691431791308281870360098670454679006917767860379193260921503622128726668940406111915974019619849202442049005476586806551190608853457902342007979043242801332236584408594127826993811834781681342973402987793108200374145416520805131086337312195630055469223133920840265824419071981894235856149160984995644063325086846172003160007273260621765235172801932049228864884187553301075892109417932283933477567607232352260203798551263185887111035882103409301261079440579531697723650227842537596445791274077508095529318244304074724732928559814409095085865638985046998348203872408383690712541822915691325618788490233523857523602199994531770999385580672316601262347088200026464969413134208697072999107821898786084576607925762101070337980358116609900366854041745610547672543190166291073756000497629468094208217694993706691643471741688336572836724517566927318777974158933035369696753924176144878762777202143195362168525597840935243778930354388637898724381210839318831779805952748189011925531909205600126517996182757215571292007542049101912644339748504850855202839921772165757115083236534463882130983323572768002496629348862922272347495469938462951526214482347481107114466667283847667423756831939491201557095502510874383030416368002901829036173709248130180328292923769529090475571086554988937148720441222255734054295840386939191460751100457091464527958223846552343509531646439184497460185683643863263780130366062391990587290027566577894018878699748894799148358275661279894284781368621951920344598451487840813152825019793931034772903569501647318616401185043706829577282481320150073424219773005512247639527831000176423914063052887363948529619223889304699657572587345478754125894825194835141245616056563953649039424916055773805163051614150210956415961473353699726381876849096540455311107649961519495255819013889421353181812842540846100333201009351226621829296483830808844940955525705255999047 29237692018303152537112991535518578641186893817142652995492833091098883738970008327621601496344438312563010928632123394894352640229395666355319380653316510977740147015745863970539370545319073886856050697092783642619403522040223264371745111510526198679373318096733906058293860246826899172144162003444685488829110312138689234686746947174802345947120791458951097608795123487715090510535006162610179135040178479144987711724098928959097684142391791240435299918960652526462877095746608725344646963001184086859830359331831760742617405821002983767777221266879491631134498150536159775740829600662956920150795947315269724439827729418976904051324538838901317599969569073333653667339402160600258003731544171574486644674421298245572357821955942030329422543150189508418977963062593877664539032541111043112005111355228798887331307118217963114996347747012710160638330552993513215381629401261936826879830291833999880632119621291211668293567065155160013347089280851762544954960912621655144634377352186236196695678003681561740360268790167476618480227467054306259614864232383316512568572376302030247062598948040245098622931976045071258559807310526953911473080045704445163912999612947433954907354675142155281437104919862186236300773814359840896861443299332636622724086518958641516467112416649018406105332588164936536699423479779131302379340544024720145640249576914190176829988955908653512792557001589356017491722653879637993772754594949346636966805375386737391527782050219183287707434671857807104049747885895488289556737220535544123634929427023802951533075800942800927714416994771918095116851928944710321642154547806864798665448528117758645564798271213181240438888678550964845158467043902401516595582088781368427206271363012826513108695414643525492176249225285483696914072121195250060051677131268386542449602849634336288553193135440387472493716044286718935659851493794425396333680914847830639786810945131549054112684786364508319973044331136140047591259162501894846076 47307579438216013510515154344746657299089728612064516443482480285474132708854699759412909778214798411233465607639041162754731833490317169977448107322256917089656121035365713172981419550795660693407241305946241544961411501083466065703981695919120326506367129931515587401267263234620007372518307419965490619915447624334319290155970081095642611771539863440845333464944284472710734573860093008782182295047451739766752946896900861008326549026579344541511192028378584810396354663353841077604850761552447272746941395213935170043878485261582515465500871494722029227580289424613667871270147844967031644883724507129678819525693368404023902399528411247285008312511391989024979286127892394124115527333744166106257644060001970562173620169044142056794391956284398205491977070884492663749115640466873144182343091713345408787698161159963573662668890937179001234394331050622981309589847096255643518523302033522336453468844138858138987071541224088195383043843205027907423717738114764850506802902950027171440474608358070199639084650001006795450260033419802495271540396141588916639086568559059245818354606490089347011267271724549922113762647232299119668588163282238909046043982936520201957403984024005077553784600389800649187826988296707322003975909966616484290147843350898132718024207919159892789135748956167838365735597189027261482707633467794249236115820663469179113978709397130909246846852841976295208952473754336729458300712818795898980476337021825921888987967733863046551487565037920199094637037913462066183575615920284438922783287702685082845817857169564752848059015446259758908269676948738641356415058117308512117281849713161465475142080752533331313863108451556477092797994874902577940509645141668732375735890586902131212766268001989004246302144050480318838159688177759203709091102047324160347612654463784547244969154608794087198875592893383259390970959143755944891589499928737251992968623787672395154445885795715734941802340814966948892532214688207150845123 76545271456519166047628145880265235940276622429207169438975313376573016447824708087034511274559236723796476536271164557649084473719712836332767487975573428067396268051111577143520790096114734580263292003039025187580815023123689330075726807429646525185740448028249493459561123481446906544662469423410176108744557936473008524842717028270444957718660654899796431073739407960425825084395099171392361430087630218911740658620999789967424233168971135781946491947339237336859231759100449802949497724553631359606771754545766930786495891082585499233278092761601520858714787575149827647010977445629988565034520454444948543965521097823000806450852950086186325912480961062358632953467294554724373531065288337680744288734423268807745977991000084087123814499434587713910955033947086541413654673007984187294348203068574207675029468278181536777665238684191711395032661603616494524971476497517580345403132325356336334100963760149350655365108289243355396390932485879669968672699027386505651437280302213407637170286361751761379444918791174272068740260886856801531155260373972233151655140935361276065417205438129592109890203700594993372322454542826073580061243327943354209956982549467635912311338699147232835221705309662835424127762111067162900837353265949120912871929869856774234491320335808911195241081544332774902435020668806392785086974011818969381756070240383369290808698353039562759639409843565651226444196408216367452073467413745245617443142397212659280515749784082229839194999709778006198686785799357554473132353140819983046418217129708885797350932970507553775773432441031677003386528877683351678057212665115376915947298241279224120706879023746512554301997130107441937956461918804979457105227230450100802942161949914957725874963416632529738478393275765802535073760298954453769142779178592546890062257313418883533522347744234474671369308937669978326630810637550370287923180843585082632755434732803944208558570582080243261775385146103088940123473850709045691199 123852850894735179558143300225011893239366351041271685882457793662047149156679407846447421052774035135029942143910205720403816307210030006310215595297830345157052389086477290316502209646910395273670533308985266732542226524207155395779708503348766851692107577959765080860828386716066913917180776843375666728660005560807327814998687109366087569490200518340641764538683692433136559658255192180174543725135081958678493605517900650975750782195550480323457683975717822147255586422454290880554348486106078632353713149759702100830374376344168014698778964256323550086295076999763495518281125290597020209918244961574627363491214466227024708850381361333471334224992353051383612239595186948848489058399032503787001932794425239369919598160044226143918206455718985919402932104831579205162770313474857331476691294781919616462727629438145110440334129621370712629426992654239475834561323593773223863926434358878672787569807899007489642436649513331550779434775690907577392390437142151356158240183252240579077644894719821961018529568792181067519000294306659296802695656515561149790741709494420521883771811928218939121157475425144915486085101775125193248649406610182263256000965485987837869715322723152310389006305699463484611954750407774484904813263232565605203019773220754906952515528254968803984376830500500613268170617857833654267794607479613218617871890903852548404787407750170472006486262685541946435396670162553096910374180232541144597919479419038581169503717517945276390682564747698205293323823712819620656707969061104421969201504832393968643168790140072306623832447887291435911656205826421993034472270782423889033229147954440689595848959776279843868165105581663919030754456793707557397614872372118833178678052536817088938641231418621533984780537326246121373233448476713657478233881225916707237674911777203430778491502353028561870244901831053237717601769781306315179512680772322334625724058520476339363004456377795978203577725961070037832655688538916196536322 200398122351254345605771446105277129179642973470478855321433107038620165604504115933481932327333271858826418680181370278052900780929742842642983083273403773224448657137588867460022999743025129853933825312024291920123041547330844725855435310778413376877848025988014574320389510197513820461843246266785842837404563497280336339841404137636532527208861173240438195612423100393562384742650291351566905155222712177590234264138900440943175015364521616105404175923057059484114818181554740683503846210659709991960484904305469031616870267426753513932057057017925070945009864574913323165292102736227008774952765416019575907456735564050025515301234311419657660137473314113742245193062481503572862589464320841467746221528848508177665576151044310231042020955153573633313887138778665746576424986482841518771039497850493824137757097716326647217999368305562424024459654257855970359532800091290804209329566684235009121670771659156840297801757802574906175825708176787247361063136169537861809677463554453986714815181081573722397974487583355339587740555193516098333850916889533382942396850429781797949189017366348531231047679125739908858407556317951266828710649938125617465957948035455473782026661422299543224228011009126320036082512518841647805650616498514726115891703090611681187006848590777715179617912044833388170605638526640047052881581491432187999627961144235917695596106103210034766125672529107597661840866570769464362447647646286390215362621816251240450019467302027506229877564457476211492010609512177175129840322201924405015619721962102854440519723110579860399605880328323112915042734704105344712529483447539265949176446195719913716555838800026356422467102711771360968710918712512536854720099602568933981620214486732046664516194835254063723258930602011923908307208775668111247376660404509254127737169090622314312013850097263036541614210768723216044232580418856685467435861615907417258479493253280283571563026959876221465353111107173126772779162389625242227521 324250973245989525163914746330289022419009324511750541203890900700667314761183523779929353380107306993856360824091575998456717088139772848953198678571234118381501046224066157776525209389935525127604358621009558652665268071538000121635143814127180228569955603947779655181217896913580734379024023110161509566064569058087664154840091247002620096699061691581079960151106792826698944400905483531741448880357794136268727869656801091918925797560072096428861859898774881631370404604009031564058194696765788624314198054065171132447244643770921528630836021274248621031304941574676818683573228026824028984871010377594203270947950030277050224151615672753128994362465667165125857432657668452421351647863353345254748154323273747547585174311088536374960227410872559552716819243610244951739195299957698850247730792632413440600484727154471757658333497926933136653886646912095446194094123685064028073256001043113681909240579558164329940238407315906456955260483867694824753453573311689217967917646806694565792460075801395683416504056375536407106740849500175395136546573405094532733138559924202319832960829294567470352205154550884824344492658093076460077360056548307880721958913521443311651741984145451853613234316708589804648037262926616132710463879731080331318911476311366588139522376845746519163994742545334001438776256384473701320676188971045406617499852048088466100383513853380506772611935214649544097237536733322561272821827878827534813282101235289821619523184819972782620560129205174416785334433224996795786548291263028826984821226794496823083688513250652167023438328215614548826698940530527337747001754229963154982405594150160603312404798576306200290632208293435279999465375506220094252334971974687767160298267023549135603157426253875597708039467928258045281540657252381768725610541630425961365412080867825745090505352450291598411859112599776453761834350200163000646948542388229751884203551773756622934567483337672199668930837068243164605434850928541438763843 524649095597243870769686192435566151598652297982229396525324007739287480365687639713411285707440578852682779504272946276509617869069515691596181761844637891605949703361655025236548209132960654981538183933033850572788309618868844847490579124905593605447803629935794229501607407111094554840867269376947352403469132555368000494681495384639152623907922864821518155763529893220261329143555774883308354035580506313858962133795701532862100812924593712534266035821831941115485222785563772247562040907425498616274682958370640164064114911197675042562893078292173691976314806149590141848865330763051037759823775793613779178404685594327075739452849984172786654499938981278868102625720149955994214237327674186722494375852122255725250750462132846606002248366026133186030706382388910698315620286440540369018770290482907264738241824870798404876332866232495560678346301169951416553626923776354832282585567727348691030911351217321170238040165118481363131086192044482072114516709481227079777595110361148552507275256882969405814478543958891746694481404693691493470397490294627915675535410353984117782149846660916001583252833676624733202900214411027726906070706486433498187916861556898785433768645567751396837462327717716124684119775445457780516114496229595057434803179401978269326529225436524234343612654590167389609381894911113748373557770462477594617127813192324383795979619956590541538737607743757141759078403304092025635269475525113925028644723051541062069542652122000288850437693662650628277345042737173970916388613464953232000440948756599677524208236361232027423044208543937661741741675234632682459531237677502420931582040345880517028960637376332556713099311005206640968176294218732631107055071577256701141918481510281182267673621089129661431298398530269969189847866028049879972987202034935215493149249958448059402519202547554634953473323368499669806066930619019686114384404004137169142683045027036906506130510297548421134283948175416291378214013318166680991364 848900068843233395933600938765855174017661622493979937729214908439954795126871163493340639087547885846539140328364522274966334957209288540549380440415872009987450749585721183013073418522896180109142542554043409225453577690406844969125722939032773834017759233883573884682825304024675289219891292487108861969533701613455664649521586631641772720606984556402598115914636686046960273544461258415049802915938300450127690003452502624781026610484665808963127895720606822746855627389572803811620235604191287240588881012435811296511359554968596571193729099566422313007619747724266960532438558789875066744694786171207982449352635624604125963604465656925915648862404648443993960058377818408415565885191027531977242530175396003272835924773221382980962475776898692738747525625999155650054815586398239219266501083115320705338726552025270162534666364159428697332232948082046862747721047461418860355841568770462372940151930775485500178278572434387820086346675912176896867970282792916297745512757167843118299735332684365089230982600334428153801222254193866888606944063699722448408673970278186437615110675955483471935457988227509557547392872504104186983430763034741378909875775078342097085510629713203250450696644426305929332157038372073913226578375960675388753714655713344857466051602282270753507607397135501391048158151295587449694233959433523001234627665240412849896363133809971048311349542958406685856315940037414586908091303403941459841926824286830883689065836941973071470997822867825045062679475962170766702936904727982058985262175551096500607896749611884194446482536759552210568440615765160020206532991907465575913987634496041120341365435952638757003731519298641920967641669724952725359390043551944468302216748533830317870831047343005259139337866458528014471388523280431648698597743665361176858561330826273804493024554997846233365332435968276123567901280819182686761332946392366921026886596800793529440697993635220620803214785243659455983648864246708119755207 1373549164440477266703287131201421325616313920476209334254538916179242275492558803206751924794988464699221919832637468551475952826278804232145562202260509901593400452947376208249621627655856835090680726487077259798241887309275689816616302063938367439465562863819368114184432711135769844060758561864056214373002834168823665144203082016280925344514907421224116271678166579267221602688017033298358156951518806763986652137248204157643127423409259521497393931542438763862340850175136576059182276511616785856863563970806451460575474466166271613756622177858596004983934553873857102381303889552926104504518561964821761627757321218931201703057315641098702303362343629722862062684097968364409780122518701718699736906027518258998086675235354229586964724142924825924778232008388066348370435872838779588285271373598227970076968376896068567410999230391924258010579249251998279301347971237773692638427136497811063971063281992806670416318737552869183217432867956658968982486992274143377523107867528991670807010589567334495045461144293319900495703658887558382077341553994350364084209380632170555397260522616399473518710821904134290750293086915131913889501469521174877097792636635240882519279275280954647288158972144022054016276813817531693742692872190270446188517835115323126792580827718794987851220051725668780657540046206701198067791729896000595851755478432737233692342753766561589850087150702163827615394343341506612543360778929055384870571547338371945758608489063973360321435516530475673340024518699344737619325518192935290985703124307696178132104985973116221869526745303489872310182290999792702666064229584967996845569674841921637370326073328971313716830830303848561935817963943685356466445115129201169444135230044111500138504668432134920570636264988797983661236389308481528671584945700296392351710580784721863895543757545400868318805759336775793373968211438202372875717350396504090169569641827830435946828503932769041937498733419075747361862877564874800746571 2222449233283710662636888069967276499633975542970189271983753824619197070619429966700092563882536350545761060161001990826442287783488092772694942642676381911580851202533097391262695046178753015199823269041120669023695464999682534785742025002971141273483322097702941998867258015160445133280649854351165076342536535782279329793724668647922698065121891977626714387592803265314181876232478291713407959867457107214114342140700706782424154033893925330460521827263045586609196477564709379870802512115808073097452444983242262757086834021134868184950351277425018317991554301598124062913742448342801171249213348136029744077109956843535327666661781298024617952224748278166856022742475786772825346007709729250676979436202914262270922600008575612567927199919823518663525757634387221998425251459237018807551772456713548675415694928921338729945665594551352955342812197334045142049069018699192552994268705268273436911215212768292170594597309987257003303779543868835865850457275067059675268620624696834789106745922251699584276443744627748054296925913081425270684285617694072812492883350910356993012371198571882945454168810131643848297685959419236100872932232555916256007668411713582979604789904994157897738855616570327983348433852189605606969271248150945834942232490828667984258632430001065741358827448861170171705698197502288647762025689329523597086383143673150083588705887576532638161436693660570513471710283378921199451452082332996844712498371625202829447674326005946431792433339398300718402703994661515504322262422920917349970965299858792678740001735585000416316009282063042082878622906764952722872597221492433572759557309337962757711691509281610070720562349602490482903459633668638081825835158681145637746351978577941818009335715775140179709974131447325998132624912588913177370182689365657569210271911610995668388568312543247101684138195305051916941869492257385059637050296788871011196456238628623965387526497567989662740713518662735203345511741811582920501778 3595998397724187929340175201168697825250289463446398606238292740798439346111988769906844488677524815244982979993639459377918240609766897004840504844936891813174251655480473599512316673834609850290503995528197928821937352308958224602358327066909508712948884961522310113051690726296214977341408416215221290715539369951102994937927750664203623409636799398850830659270969844581403478920495325011766116818975913978100994277948910940067281457303184851957915758805484350471537327739845955929984788627424858954316008954048714217662308487301139798706973455283614322975488855471981165295046337895727275753731910100851505704867278062466529369719096939123320255587091907889718085426573755137235126130228430969376716342230432521269009275243929842154891924062748344588303989642775288346795687332075798395837043830311776645492663305817407297356664824943277213353391446586043421350416989936966245632695841766084500882278494761098841010916047540126186521212411825494834832944267341203052791728492225826459913756511819034079321904888921067954792629571968983652761627171688423176577092731542527548409631721188282418972879632035778139047979046334368014762433702077091133105461048348823862124069180275112545027014588714350037364710666007137300711964120341216281130750325943991111051213257719860729210047500586838952363238243708989845829817419225524192938138622105887317281048641343094228011523844362734341087104626720427811994812861262052229583069918963574775206282815069919792113868855928776391742728513360860241941587941113852640956668424166488856872106721558116638185536027366531955188805197764745425538661451077401569605126984179884395082017582610581384437393179906339044839277597612323438292280273810346807190487208622053318147840384207275100280610396436123981793861301897394706041767635065953961561982492395717532284112070088647970002943954641827710315837703695587432512767647185375101366025880456454401334355001500758704678212252081810950707374619376457721248349 5818447631007898591977063271135974324884265006416587878222046565417636416731418736606937052560061165790744040154641450204360528393254989777535447487613273724755102858013570990775011720013362865490327264569318597845632817308640759388100352069880649986432207059225252111918948741456660110622058270566386367058075905733382324731652419312126321474758691376477545046863773109895585355152973616725174076686433021192215336418649617722491435491197110182418437586068529937080733805304555335800787300743232932051768453937290976974749142508436007983657324732708632640967043157070105228208788786238528447002945258236881249781977234906001857036380878237147938207811840186056574108169049541910060472137938160220053695778433346783539931875252505454722819123982571863251829747277162510345220938791312817203388816287025325320908358234738746027302330419494630168696203643920088563399486008636158798626964547034357937793493707529391011605513357527383189824991955694330700683401542408262728060349116922661249020502434070733663598348633548816009089555485050408923445912789382495989069976082452884541422002919760165364427048442167421987345665005753604115635365934633007389113129460062406841728859085269270442765870205284678020713144518196742907681235368492162116072982816772659095309845687720926470568874949448009124068936441211278493591843108555047790024521765779037400869754528919626866172960538023304854558814910099349011446264943595049074295568290588777604653957141075866223906302195327077110145432508022375746263850364034769990927633724025281535612108457143117054501545309429574038067428104529698148411258672569835142364684293517847152793709091892191455157955529508829527742737231280961520118115432491492444936839187199995136157176099982415279990584527883449979926486214486307883411950324431611530772254404006713200672680382631895071687082149946879627257707195952972492149817943974246112562482119085078366721881499068748367418925770744546154052886361188040641750127 9414446028732086521317238472304672150134554469862986484460339306216075762843407506513781541237585981035727020148280909582278769003021886782375952332550165537929354513494044590287328393847972715780831260097516526667570169617598983990458679136790158699381092020747562224970639467752875087963466686781607657773615275684485319669580169976329944884395490775328375706134742954476988834073468941736940193505408935170316330696598528662558716948500295034376353344874014287552271133044401291730772089370657791006084462891339691192411450995737147782364298187992246963942532012542086393503835124134255722756677168337732755486844512968468386406099975176271258463398932093946292193595623297047295598268166591189430412120663779304808941150496435296877711048045320207840133736919937798692016626123388615599225860117337101966401021540556153324658995244437907382049595090506131984749902998573125044259660388800442438675772202290489852616429405067509376346204367519825535516345809749465780852077609148487708934258945889767742920253522469883963882185057019392576207539961070919165647068813995412089831634640948447783399928074203200126393644052087972130397799636710098522218590508411230703852928265544382987792884793999028058077855184203880208393199488833378397203733142716650206361058945440787199778922450034848076432174684920268339421660527780571982962660387884924718150803170262721094184484382386039195645919536819776823441077804857101303878638209552352379860239956145786016020171051255853501888161021383235988205438305148622631884302148191770392484215178701233692687081336796105993256233302294443573949920123647236711969811277697731547875726674502772839595348709415168572582014828893284958410395706301839252127326395822048454305016484189690380271194924319573961720347516383702589453717959497565492334236896402430732956792452720543041690026104588707337573544899648559924662585591159621213928507999541532768056236500569507072097138022826357104760260980564498362998476 15232893659739985113294301743440646475018819476279574362682385871633712179574826243120718593797647146826471060302922359786639297396276876559911399820163439262684457371507615581062340113861335581271158524666835124513202986926239743378559031206670808685813299079972814336889588209209535198585524957347994024831691181417867644401232589288456266359154182151805920752998516064372574189226442558462114270191841956362531667115248146385050152439697405216794790930942544224633004938348956627531559390113890723057852916828630668167160593504173155766021622920700879604909575169612191621712623910372784169759622426574614005268821747874470243442480853413419196671210772280002866301764672838957356070406104751409484107899097126088348873025748940751600530172027892071091963484197100309037237564914701432802614676404362427287309379775294899351961325663932537550745798734426220548149389007209283842886624935834800376469265909819880864221942762594892566171196323214156236199747352157728508912426726071148957954761379960501406518602156018699972971740542069801499653452750453415154717044896448296631253637560708613147826976516370622113739309057841576246033165571343105911331719968473637545581787350813653430558754999283706078790999702400623116074434857325540513276715959489309301670904633161713670347797399482857200501111126131546833013503636335619772987182153663962119020557699182347960357444920409344050204734446919125834887342748452150378174206500141129984514197097221652239926473246582930612033593529405611734469288669183392622811935872217051928096323635844350747188626646225680031323661406824141722361178796217071854334495571215578700669435766394964294753304238923998100324752060174246478528511138793331697064165583022043590462192584172105660261779452203023941646833730870010472865668283929177023106491300409143933629472835352438113377108254535586964831252095601532416812403535133867326490990118626611134778117999638255439516063793570903258813147341752539004748603 24647339688472071634611540215745318625153373946142560847142725177849787942418233749634500135035233127862198080451203269368918066399298763342287352152713604800613811885001660171349668507709308297051989784764351651180773156543838727369017710343460967385194391100720376561860227676962410286548991644129601682605306457102352964070812759264786211243549672927134296459133259018849563023299911500199054463697250891532847997811846675047608869388197700251171144275816558512185276071393357919262331479484548514063937379719970359359572044499910303548385921108693126568852107182154278015216459034507039892516299594912346760755666260842938629848580828589690455134609704373949158495360296136004651668674271342598914520019760905393157814176245376048478241220073212278932097221117038107729254191038090048401840536521699529253710401315851052676620320908370444932795393824932352532899292005782408887146285324635242815145038112110370716838372167662401942517400690733981771716093161907194289764504335219636666889020325850269149438855678488583936853925599089194075860992711524334320364113710443708721085272201657060931226904590573822240132953109929548376430965208053204433550310476884868249434715616358036418351639793282734136868854886604503324467634346158918910480449102205959508031963578602500870126719849517705276933285811051815172435164164116191755949842541548886837171360869445069054541929302795383245850653983738902658328420553309251682052844709693482364374437053367438255946644297838784113921754550788847722674726974332015254696238020408822320580538814545584439875707983021786024579894709118585296311098919864308566304306848913310248545162440897737134348652948339166672906766889067531436938906845095170949191491978844092044767209068361796040532974376522597903367181247253713062319386243426742515440728196811574666586265288072981155067134359124294302404796995250092341474989126293488540419498118168143902834354500207762511613201816397260363573408322317037367747079 39880233348212056747905841959185965100172193422422135209825111049483500121993059992755218728832880274688669140754125629155557363795575639902198751972877044063298269256509275752412008621570643878323148309431186775693976143470078470747576741550131776071007690180693190898749815886171945485134516601477595707436997638520220608472045348553242477602703855078940217212131775083222137212526354058661168733889092847895379664927094821432659021827895105467965935206759102736818281009742314546793890869598439237121790296548601027526732638004083459314407544029394006173761682351766469636929082944879824062275922021486960766024488008717408873291061682003109651805820476653952024797124968974962007739080376094008398627918858031481506687201994316800078771392101104350024060705314138416766491755952791481204455212926061956541019781091145952028581646572302982483541192559358573081048681012991692730032910260470043191614304021930251581060314930257294508688597013948138007915840514064922798676931061290785624843781705810770555957457834507283909825666141158995575514445461977749475081158606892005352338909762365674079053881106944444353872262167771124622464130779396310344882030445358505795016502967171689848910394792566440215659854589005126440542069203484459423757165061695268809702868211764214540474517249000562477434396937183362005448667800451811528937024695212848956191918568627417014899374223204727296055388430658028493215763301761402060227051209834612348888634150589090495873117544421714725955348080194459457144015643515407877508173892625874248676862450389935187064334629247466055903556115942727018672277716081380420638802420128888949214598207292701429101957187263164773231518949241777915467417983888502646255657561866135635229401652533901700794753828725621845014014978123723535185054527355919538547219497220718600215738123425419268444242613659881267236049090851624758287392661427355866910488236794755037612472499846017951129265609968163622386555664069576372495682 64527573036684128382517382174931283725325567368564696056967836227333288064411293742389718863868113402550867221205328898524475430194874403244486104125590648863912081141510935923761677129279952175375138094195538426874749300013917198116594451893592743456202081281413567460610043563134355771683508245607197390042304095622573572542858107818028688846253528006074513671265034102071700235826265558860223197586343739428227662738941496480267891216092805719137079482575661249003557081135672466056222349082987751185727676268571386886304682503993762862793465138087132742613789533920747652145541979386863954792221616399307526780154269560347503139642510592800106940430181027901183292485265110966659407754647436607313147938618936874664501378239692848557012612174316628956157926431176524495745946990881529606295749447761485794730182406997004705201967480673427416336586384290925613947973018774101617179195585105286006759342134040622297898687097919696451205997704682119779631933675972117088441435396510422291732802031661039705396313512995867846679591740248189651375438173502083795445272317335714073424181964022735010280785697518266594005215277700672998895095987449514778432340922243374044451218583529726267262034585849174352528709475609629765009703549643378334237614163901228317734831790366715410601237098518267754367682748235177177883831964568003284886867236761735793363279438072486069441303526000110541906042414396931151544183855070653742279895919528094713263071203956528751819761842260498839877102630983307179818742617847423132204411913034696569257401264935519626940042612269252080483450825061312314983376635945688986943109269042199197759760648190438563450610135602331446138285838309309352406324828983673595447149540710227679996610720895697741327728205248219748381196225377436597504440770782662053987947694032293266802003411498400423511376972784175569640846086101717099762381787720844407329986354962898940446827000053780462742467426365423985959963986386613740242761 104407806384896185130423224134117248825497760790986831266792947276816788186404353735144937592700993677239536361959454527680032793990450043146684856098467692927210350398020211676173685750850596053698286403626725202568725443483995668864171193443724519527209771462106758359359859449306301256818024847084793097479301734142794181014903456371271166448957383085014730883396809185293837448352619617521391931475436587323607327666036317912926913043987911187103014689334763985821838090877987012850113218681426988307517972817172414413037320508077222177201009167481138916375471885687217289074624924266688017068143637886268292804642278277756376430704192595909758746250657681853208089610234085928667146835023530615711775857476968356171188580234009648635784004275420978980218631745314941262237702943673010810750962373823442335749963498142956733783614052976409899877778943649498694996654031765794347212105845575329198373646155970873878959002028176990959894594718630257787547774190037039887118366457801207916576583737471810261353771347503151756505257881407185226889883635479833270526430924227719425763091726388409089334666804462710947877477445471797621359226766845825123314371367601879839467721550701416116172429378415614568188564064614756205551772753127837757994779225596497127437700002130929951075754347518830231802079685418539183332499765019814813823891931974584749555198006699903084340677749204837837961430845054959644759947156832055802506947129362707062151705354545619247692879386682213565832450711177766636962758261362831009712585805660570817934263715325454814004377241516718136387006941004039333655654352027069407581911689171088146974358855483139992552567322865496219369804787551087267873742812872176241702807102576363315226012373429599442122482033973841593395211203501160132689495298138581592535167191253011867017741534923819691955619586444056836876895176953341858049774449148200274240474591757653978059299499899798413871733036333587608346519650456190112738443 168935379421580313512940606309048532550823328159551527323760783504150076250815647477534656456569107079790403583164783426204508224185324446391170960224058341791122431539531147599935362880130548229073424497822263629443474743497912866980765645337317262983411852743520325819969903012440657028501533092691990487521605829765367753557761564189299855295210911091089244554661843287365537684178885176381615129061780326751834990404977814393194804260080716906240094171910425234825395172013659478906335567764414739493245649085743801299342003012070985039994474305568271658989261419607964941220166903653551971860365254285575819584796547838103879570346703188709865686680838709754391382095499196895326554589670967223024923796095905230835689958473702497192796616449737607936376558176491465757983649934554540417046711821584928130480145905139961438985581533649837316214365327940424308944627050539895964391301430680615205132988290011496176857689126096687411100592423312377567179707866009156975559801854311630208309385769132849966750084860499019603184849621655374878265321808981917065971703241563433499187273690411144099615452501980977541882692723172470620254322754295339901746712289845253883918940134231142383434463964264788920717273540224385970561476302771216092232393389497725445172531792497645361676991446037097986169762433653716361216331729587818098710759168736320542918477444772389153781981275204948379867473259451890796304131011902709544786843048890801775414776558502147999512641228942712405709553342161073816781500879210254141916997718695267387191664980260974440944419853785970216870457766065351648639030987972758394525020958213287344734119503673578556003177458467827665508090625860396620280067641855849837149956643286590995222623094325297183450210239222061341776407428878596730193936068921243646523114885285305133819744946422220115466996559228232406517741263055058957812156236869044681570460946720552918506126499953578876614200462699011594306483636842803852981204 273343185806476498643363830443165781376321088950538358590553730780966864437220001212679594049270100757029939945124237953884541018175774489537855816322526034718332781937551359276109048630981144282771710901448988832012200186981908535844936838781041782510621624205627084179329762461746958285319557939776783585000907563908161934572665020560571021744168294176103975438058652472659375132531504793903007060537216914075442318071014132306121717304068628093343108861245189220647233262891646491756448786445841727800763621902916215712379323520148207217195483473049410575364733305295182230294791827920239988928508892171844112389438826115860256001050895784619624432931496391607599471705733282823993701424694497838736699653572873587006878538707712145828580620725158586916595189921806407020221352878227551227797674195408370466230109403282918172769195586626247216092144271589923003941281082305690311603407276255944403506634445982370055816691154273678370995187141942635354727482056046196862678168312112838124885969506604660228103856208002171359690107503062560105155205444461750336498134165791152924950365416799553188950119306443688489760170168644268241613549521141165025061083657447133723386661684932558499606893342680403488905837604839142176113249055899053850227172615094222572610231794628575312752745793555928217971842119072255544548831494607632912534651100710905292473675451472292238122659024409786217828904104506850441064078168734765347293790178253508837566481913047767247205520615624925971542004053338840453744259140573085151629583524355838205125928695586429254948797095302688353257464707069390982294685339999827802106932647384375491708478359156718548555744781333323884877895413411483888153810454728026078852763745862954310448635467754896625572692273195902935171618632379756862883431367059825239058282076538317000837486481346039807422616145672289243394636440008400815861930686017244955810935538478206896565425999853377290485933499032599202653003287298993965719647 442278565228056812156304436752214313927144417110089885914314514285116940688035648690214250505839207836820343528289021380089049242361098935929026776546584376509455213477082506876044411511111692511845135399271252461455674930479821402825702484118359045494033476949147409999299665474187615313821091032468774072522513393673529688130426584749870877039379205267193219992720495760024912816710389970284622189598997240827277308475991946699316521564149344999583203033155614455472628434905305970662784354210256467294009270988660017011721326532219192257189957778617682234353994724903147171514958731573791960788874146457419931974235373953964135571397598973329490119612335101361990853801232479719320256014365465061761623449668778817842568497181414643021377237174896194852971748098297872778205002812782091644844386016993298596710255308422879611754777120276084532306509599530347312885908132845586275994708706936559608639622735993866232674380280370365782095779565255012921907189922055353838237970166424468333195355275737510194853941068501190962874957124717934983420527253443667402469837407354586424137639107210697288565571808424666031642862891816738861867872275436504926807795947292387607305601819163700883041357306945192409623111145063528146674725358670269942459566004591948017782763587126220674429737239593026204141604552725971905765163224195451011245410269447225835392152896244681391904640299614734597696377363958741237368209180637474892080633227144310612981258471549915246718161844567638377251557395499914270525760019783339293546581243051105592317593675847403695893216949088658570127922473134742630933716327972586196631953605597662836442597862830297104558922239801151550385986039271880508433878096583875916002720389149545305671258562080193809022902512417964276948026061258353593077367435981068885581396961823622134657231427768259922889612704900521649912377703063459773674086922886289637381396485198759815071552499806956167100133961731610796959486924141797818700851 715621751034533310799668267195380095303465506060628244504868245066083805125255649902893844555109308593850283473413259333973590260536873425466882592869110411227787995414633866152153460142092836794616846300720241293467875117461729938670639322899400828004655101154774494178629427935934573599140648972245557657523420957581691622703091605310441898783547499443297195430779148232684287949241894764187629250136214154902719626547006079005438238868217973092926311894400803676119861697796952462419233140656098195094772892891576232724100650052367399474385441251667092809718728030198329401809750559494031949717383038629264044363674200069824391572448494757949114552543831492969590325506965762543313957439059962900498323103241652404849447035889126788849957857900054781769566938020104279798426355691009642872642060212401669062940364711705797784523972706902331748398653871120270316827189215151276587598115983192504012146257181976236288491071434644044153090966707197648276634671978101550700916138478537306458081324782342170422957797276503362322565064627780495088575732697905417738967971573145739349088004524010250477515691114868354521403033060461007103481421796577669951868879604739521330692263504096259382648250649625595898528948749902670322787974414569323792686738619686170590392995381754795987182483033148954422113446671798227450313994718803083923780061370158131127865828347716973630027299324024520815525281468465591678432287349372240239374423405397819450547740384597682493923682460192564348793561448838754724270019160356424445176164767406943797443522371433832950842014044391346923385387180204133613228401667972413998738886252982038328151076221987015653114667021134475435263881452683364396587688551311901994855484135012499616119894029835090434595594785613867212119644693638110455960798803040894124639679038361939135494717909114299730312228850572810893307014143071860589536017608903534593192332023676966711636978499660333457586067460764209999612490211440791784420498 1157900316262590122955972703947594409230609923170718130419182759351200745813291298593108095060948516430670627001702280714062639502897972361395909369415694787737243208891716373028197871653204529306461981699991493754923550047941551341496341807017759873498688578103921904177929093410122188912961740004714331730045934351255221310833518190060312775822926704710490415423499643992709200765952284734472251439735211395729996935022998025704754760432367318092509514927556418131592490132702258433082017494866354662388782163880236249735821976584586591731575399030284775044072722755101476573324709291067823910506257185086683976337909574023788527143846093731278604672156166594331581179308198242262634213453425427962259946552910431222692015533070541431871335095074950976622538686118402152576631358503791734517486446229394967659650620020128677396278749827178416280705163470650617629713097347996862863592824690129063620785879917970102521165451715014409935186746272452661198541861900156904539154108644961774791276680058079680617811738345004553285440021752498430071996259951349085141437808980500325773225643631220947766081262923293020553045895952277745965349294072014174878676675552031908937997865323259960265689607956570788308152059894966198469462699773239593735146304624278118608175758968881016661612220272741980626255051224524199356079157942998534935025471639605356963257981243961655021931939623639255413221658832424332915800496530009715131455056632542130063528998856147597740641844304760202726045118844338668994795779180139763738722746010458049389761116047281236646735230993480005493513309653338876244162117995945000195370839858579701164593674084817312757673589260935626985649867491955244905021566647895777910858204524162044921791152591915284243618497298031831489067670754896464049038166239021963010221076000185561270151949336882559653201841555473332543219391846135320363210104531789824230573728508875726526708530999467289624686201422495820796571977135582589603121349 1873522067297123433755640971142974504534075429231346374924051004417284550938546948496001939616057825024520910475115540048036229763434845786862791962284805198965031204306350239180351331795297366101078828000711735048391425165403281280166981129917160701503343679258696398356558521346056762512102388976959889387569355308836912933536609795370754674606474204153787610854278792225393488715194179498659880689871425550632716561570004104710192999300585291185435826821957221807712351830499210895501250635522452857483555056771812482459922626636953991205960840281951867853791450785299805975134459850561855860223640223715948020701583774093612918716294588489227719224699998087301171504815164004805948170892485390862758269656152083627541462568959668220721292952975005758392105624138506432375057714194801377390128506441796636722590984731834475180802722534080748029103817341770887946540286563148139451190940673321567632932137099946338809656523149658454088277712979650309475176533878258455240070247123499081249358004840421851040769535621507915608005086380278925160571992649254502880405780553646065122313648155231198243596954038161375074448929012738753068830715868591844830545555156771430268690128827356219648337858606196384206681008644868868792250674187808917527833043243964289198568754350635812648794703305890935048368497896322426806393152661801618858805533009763488091123809591678628651959238947663776228746940300889924594232783879381955370829480037939949514076739240745280234565526764952767074838680293177423719065798340496188183898910777864993187204638418715069597577245037871352416898696833543009857390519663917414194109726111561739492744750306804328410788256282070102420913748944638609301609255199207679905713688659174544537911046621750374678214092083645698701187315448534574504998965042062857134860755038547500405646667245996859383514070406046143436526405989207180952746122140693358823766060532552693238345509499127623082272268883260030796184467347023381387541847 3031422383559713556711613675090568913764685352402064505343233763768485296751838247089110034677006341455191537476817820762098869266332818148258701331700499986702274413198066612208549203448501895407540809700703228803314975213344832621663322936934920575002032257362618302534487614756178951425064128981674221117615289660092134244370127985431067450429400908864278026277778436218102689481146464233132132129606636946362713496593002130414947759732952609277945341749513639939304841963201469328583268130388807519872337220652048732195744603221540582937536239312236642897864173540401282548459169141629679770729897408802631997039493348117401445860140682220506323896856164681632752684123362247068582384345910818825018216209062514850233478102030209652592628048049956735014644310256908584951689072698593111907614952671191604382241604751963152577081472361259164309808980812421505576253383911145002314783765363450631253718017017916441330821974864672864023464459252102970673718395778415359779224355768460856040634684898501531658581273966512468893445108132777355232568252600603588021843589534146390895539291786452146009678216961454395627494824965016499034180009940606019709222230708803339206687994150616179914027466562767172514833068539835067261713373961048511262979347868242407806744513319516829310406923578632915674623549120846626162472310604800153793831004649368845054381790835640283673891178571303031641968599133314257510033280409391670502284536670482079577605738096892877975207371069712969800883799137516092713861577520635951922621656788323042576965754465996306244312476031351357910412006486881886101552637659862414389480565970141440657338424391621641168461845543005729406563616436593854206630821847103457816571893183336589459702199213665658921832589381677530190254986203431038554037131281084820145081831038733061675798616582879419036715911961519475979745797835342501315956226672483183054339789041428419765054040498594912706958470305755851592756444482605970990663196 4904944450856836990467254646233543418298760781633410880267284768185769847690385195585111974293064166479712447951933360810135099029767663935121493293985305185667305617504416851388900535243799261508619637701414963851706400378748113901830304066852081276505375936621314700891046136102235713937166517958634110505184644968929047177906737780801822125035875113018065637132057228443496178196340643731792012819478062496995430058163006235125140759033537900463381168571470861747017193793700680224084518765911260377355892277423861214655667229858494574143497079594188510751655624325701088523593628992191535630953537632518580017741077122211014364576435270709734043121556162768933924188938526251874530555238396209687776485865214598477774940670989877873313921001024962493406749934395415017326746786893394489297743459112988241104832589483797627757884194895339912338912798154192393522793670474293141765974706036772198886650154117862780140478498014331318111742172231753280148894929656673815019294602891959937289992689738923382699350809588020384501450194513056280393140245249858090902249370087792456017852939941683344253275170999615770701943753977755252103010725809197864539767785865574769475378122977972399562365325168963556721514077184703936053964048148857428790812391112206697005313267670152641959201626884523850722992047017169052968865463266601772652636537659132333145505600427318912325850417518966807870715539434204182104266064288773625873114016708422029091682477337638158209772897834665736875722479430693516432927375861132140106520567566188035764170392884711375841889721069222710327310703320424895958943157323779828583590292081703180150083174698425969579250101825075831827477365381232463508240077046311137722285581842511133997613245835416033600046681465323228891442301651965613059036096323147677279942586077280562081445283828876278420229982367565619416272203824549682268702348813176541878105849573981113003399549997722535789230739189015882388940911829629352378205043 7936366834416550547178868321324112332063446134035475385610518531954255144442223442674222008970070507934903985428751181572233968296100482083380194625685805172369580030702483463597449738692301156916160447402118192655021375592092946523493627003787001851507408193983933003425533750858414665362230646940308331622799934629021181422276865766232889575465276021882343663409835664661598867677487107964924144949084699443358143554756008365540088518766490509741326510320984501686322035756902149552667786896300067897228229498075909946851411833080035157081033318906425153649519797866102371072052798133821215401683435041321212014780570470328415810436575952930240367018412327450566676873061888498943112939584307028512794702074277113328008418773020087525906549049074919228421394244652323602278435859591987601205358411784179845487074194235760780334965667256599076648721778966613899099047054385438144080758471400222830140368171135779221471300472879004182135206631483856250822613325435089174798518958660420793330627374637424914357932083554532853394895302645833635625708497850461678924092959621938846913392231728135490262953387961070166329438578942771751137190735749803884248990016574378108682066117128588579476392791731730729236347145724539003315677422109905940053791738980449104812057780989669471269608550463156766397615596138015679131337773871401926446467542308501178199887391262959195999741596090269839512684138567518439614299344698165296375398553378904108669288215434531036184980268904378706676606278568209609146788953381768092029142224354511078341136147350707682086202197100574068237722709807306782060495794983642242973070858051844620807421599090047610747711947368081561234040981817826317714870898893414595538857475025847723457315445049081692521879270847000759081697287855396651613073227604232497425024417116013623757243900411755697456945894329085095396018001659892183584658575485659724932445638615409532768453590496317448496189209494771733981697356312235323368868239 12841311285273387537646122967557655750362206915668886265877803300140024992132608638259333983263134674414616433380684542382369067325868146018501687919671110358036885648206900314986350273936100418424780085103533156506727775970841060425323931070639083128012784130605247704316579886960650379299397164898942442127984579597950228600183603547034711700501151134900409300541892893105095045873827751696716157768562761940353573612919014600665229277800028410204707678892455363433339229550602829776752305662211328274584121775499771161507079062938529731224530398500613664401175422191803459595646427126012751032636972673839792032521647592539430175013011223639974410139968490219500601062000414750817643494822703238200571187939491711805783359444009965399220470050099881721828144179047738619605182646485382090503101870897168086591906783719558408092849862151938988987634577120806292621840724859731285846733177436995029027018325253642001611778970893335500246948803715609530971508255091762989817813561552380730620620064376348297057282893142553237896345497158889916018848743100319769826342329709731302931245171669818834516228558960685937031382332920527003240201461559001748788757802439952878157444240106560979038758116900694285957861222909242939369641470258763368844604130092655801817371048659822113228810177347680617120607643155184732100203237138003699099104079967633511345392991690278108325592013609236647383399678001722621718565408986938922248512570087326137760970692772169194394753166739044443552328757998903125579716329242900232135662791920699114105306540235419057928091918169796778565033413127731678019438952307422071556661150133547800957504773788473580326962049193157393061518347199058781223110975939725733261143056868358857454928690884497726121925952312323987973139589507362264672109323927380174704967003193294185838689184240631975877175876696650714812290205484441865853360924298836266810551488189390645771853140494039984285419948683787616370638268141864675747073282 20777678119689938084824991288881768082425653049704361651488321832094280136574832080933555992233205182349520418809435723954603035621968628101881882545356915530406465678909383778583800012628401575340940532505651349161749151562934006948817558074426084979520192324589180707742113637819065044661627811839250773750784514226971410022460469313267601275966427156782752963951728557766693913551314859661640302717647461383711717167675022966205317796566518919946034189213439865119661265307504979329420092558511396171812351273575681108358490896018564888305563717407038818050695220057905830667699225259833966434320407715161004047302218062867845985449587176570214777158380817670067277935062303249760756434407010266713365890013768825133791778217030052925127019099174800950249538423700062221883618506077369691708460282681347932078980977955319188427815529408538065636356356087420191720887779245169429927491648837217859167386496389421223083079443772339682382155435199465781794121580526852164616332520212801523951247439013773211415214976697086091291240799804723551644557240950781448750435289331670149844637403397954324779181946921756103360820911863298754377392197308805633037747819014330986839510357235149558515150908632425015194208368633781942685318892368669308898395869073104906629428829649491584498418727810837383518223239293200411231541011009405625545571622276134689545280382953237304325333609699506486896083816569241061332864753685104218623911123466230246430258908206700230579733435643423150228935036567112734726505282624668324164805016275210192446442687586126740014294115270370846802756122935038460079934747291064314529732008185392421764926372878521191074673996561238954295559329016885098937981874833140328800000531894206580912244135933579418643805223159324747054836877362758916285182551531612672129991420309307809595933084652387673334121771025735810208308207144334049438019499784495991742997126804800178540306730990357432781609158178559350352335624454099999115941521 33618989404963325622471114256439423832787859965373247917366125132234305128707440719192889975496339856764136852190120266336972102947836774120383570465028025888443351327116284093570150286564501993765720617609184505668476927533775067374141489145065168107532976455194428412058693524779715423961024976738193215878769093824921638622644072860302312976467578291683162264493621450871788959425142611358356460486210223324065290780594037566870547074366547330150741868105895228553000494858107809106172398220722724446396473049075452269865569958957094619530094115907652482451870642249709290263345652385846717466957380389000796079823865655407276160462598400210189187298349307889567878997062718000578399929229713504913937077953260536939575137661040018324347489149274682672077682602747800841488801152562751782211562153578516018670887761674877596520665391560477054623990933208226484342728504104900715774224826274212888194404821643063224694858414665675182629104238915075312765629835618615154434146081765182254571867503390121508472497869839639329187586296963613467663405984051101218576777619041401452775882575067773159295410505882442040392203244783825757617593658867807381826505621454283864996954597341710537553909025533119301152069591543024882054960362627432677742999999165760708446799878309313697727228905158518000638830882448385143331744248147409324644675702243768200890673374643515412650925623308743134279483494570963683051430162672043140872423693553556384191229600978869424974486602382467593781263794566015860306221611867568556300467808195909306551749227821545797942386033440167625367789536062770138099373699598486386086393158318940222722431146666994771401636045754396347357077676215943880161092850772866062061143588762565438367172826818077144765731175471648735027976466870121180957291875458992846834958423502601995434622268893019649211297647722386525020598412628775915291380424083332258553548614994190824312159871484397417067029106862346966722973892595964674863014803 54396667524653263707296105545321191915213513015077609568854446964328585265282272800126445967729545039113657270999555990291575138569805402222265453010384941418849817006025667872153950299192903569106661150114835854830226079096709074322959047219491253087053168779783609119800807162598780468622652788577443989629553608051893048645104542173569914252434005448465915228445350008638482872976457471019996763203857684707777007948269060533075864870933066250096776057319335093672661760165612788435592490779234120618208824322651133378224060854975659507835657833314691300502565862307615120931044877645680683901277788104161800127126083718275122145912185576780403964456730125559635156932125021250339156363636723771627302967967029362073366915878070071249474508248449483622327221026447863063372419658640121473920022436259863950749868739630196784948480920969015120260347289295646676063616283350070145701716475111430747361791318032484447777937858438014865011259674114541094559751416145467319050478601977983778523114942403894719887712846536725420478827096768337019307963225001882667327212908373071602620519978465727484074592452804198143753024156647124511994985856176613014864253440468614851836464954576860096069059934165544316346277960176806824740279254996101986641395868238865615076228707958805282225647632969355384157054121741585554563285259156814950190247324519902890435953757596752716976259233008249621175567311140204744384294916357147359496334817019786630621488509185569655554220038025890744010198831133128595032726894492236880465272824471119498998191915407672537956680148710538472170545658997808598179308446889550700616125166504332644487357519545515962476310042315635301652637005232828979099074725606006390861144120656772019279416962751656563409536398630973482082813344232880097242474426990605518964949843811909805030555353545407322545419418748122335228906619773109964729399923867828250296545741798991002852466602474754849848638265040906317075309517050064673978956324 88015656929616589329767219801760615748001372980450857486220572096562890393989713519319335943225884895877794123189676256628547241517642176342649023475412967307293168333141951965724100585757405562872381767724020360498703006630484141697100536364556421194586145234978037531859500687378495892583677765315637205508322701876814687267748615033872227228901583740149077492938971459510271832401600082378353223690067908031842298728863098099946411945299613580247517925425230322225662255023720597541764888999956845064605297371726585648089630813932754127365751949222343782954436504557324411194390530031527401368235168493162596206949949373682398306374783976990593151755079433449203035929187739250917556292866437276541240045920289899012942053539110089573821997397724166294404903629195663904861220811202873256131584589838379969420756501305074381469146312529492174884338222503873160406344787454970861475941301385643635556196139675547672472796273103690047640363913029616407325381251764082473484624683743166033094982445794016228360210716376364749666413393731950486971369209052983885903990527414473055396402553533500643370002958686640184145227401430950269612579515044420396690759061922898716833419551918570633622968959698663617498347551719831706795239617623534664384395867404626323523028586268118979952876538127873384795885004189970697895029507304224274834923026763671091326627132240268129627184856316992755455050805711168427435725079029190500368758510573343014812718110164439080528706640408358337791462625699144455338948506359805436765740632667028805549941143229218335899066182150706097538335195060578736278682146488037086702518324823272867209788666212510733877946088070031649009714681448772859260167576378872452922287709419337457646589789569733708175267574102622217110789811103001278199766302449598365799908267314511800465177622438426971756717066470508860249505032401885880020780347951160508850094356793181827164626473959152266915667371903253283798283409646029348841971127 142412324454269853037063325347081807663214885995528467055075019060891475659271986319445781910955429934991451394189232246920122380087447578564914476485797908726142985339167619837878050884950309131979042917838856215328929085727193216020059583584047674281639314014761646651660307849977276361206330553893081195137876309928707735912853157207442141481335589188614992721384321468148754705378057553398349986893925592739619306677132158633022276816232679830344293982744565415898324015189333385977357379779190965682814121694377719026313691668908413635201409782537035083457002366864939532125435407677208085269512956597324396334076033091957520452286969553770997116211809559008838192861312760501256712656503161048168543013887319261086308969417180160823296505646173649916732124655643526968233640469842994730051607026098243920170625240935271166417627233498507295144685511799519836469961070805041007177657776497074382917987457708032120250734131541704912651623587144157501885132667909549792535103285721149811618097388197910948247923562913090170145240490500287506279332434054866553231203435787544658016922531999228127444595411490838327898251558078074781607565371221033411555012502391513568669884506495430729692028893864207933844625511896638531535518872619636651025791735643491938599257294226924262178524171097228768952939125931556252458314766461039225025170351283573981762580889837020846603444089325242376630618116851373171820019995386337859865093327593129645434206619350008736082926678434249081801661456832273050371675400852042317231013457138148304548133058636890873855746330861244569708880854058387334457990593377587787318643491327605511697146185758026696354256130385666950662351686681601838359242301984878843783431830076109476926006752321390271584803972733595699193603155335881375442240729440203884764858111126421605495732975983834294302136485218631195478411652174995844750180271818988759146640098592172830017093076433907116764305636944159600873592926696094022820927451 230427981383886442366830545148842423411216258975979324541295591157454366053261699838765117854181314830869245517378908503548669621605089754907563499961210876033436153672309571803602151470707714694851424685562876575827632092357677357717160119948604095476225459249739684183519808537355772253790008319208718400646199011805522423180601772241314368710237172928764070214323292927659026537779657635776703210583993500771461605405995256732968688761532293410591811908169795738123986270213053983519122268779147810747419419066104304674403322482841167762567161731759378866411438871422263943319825937708735486637748125090486992541025982465639918758661753530761590267966888992458041228790500499752174268949369598324709783059807609160099251022956290250397118503043897816211137028284839190873094861281045867986183191615936623889591381742240345547886773546027999470029023734303392996876305858260011868653599077882718018474183597383579792723530404645394960291987500173773909210513919673632266019727969464315844713079833991927176608134279289454919811653884232237993250701643107850439135193963202017713413325085532728770814598370177478512043478959509025051220144886265453808245771564314412285503304058414001363314997853562871551342973063616470238330758490243171315410187603048118262122285880495043242131400709225102153748824130121526950353344273765263499860093378047245073089208022077288976230628945642235132085668922562541599255745074415528360233851838166472660246924729514447816611633318842607419593124082531417505710623907211847753996754089805177110098074201866109209754812513011950667247216049118966070736672739865624874021161816150878378906934851970537430232202218455698599672066368130374697619409878363751296705719539495446934572596541891123979760071546836217916304392966438882653642007031889802250564766378440933405960910598422261266058853551689140055727916684576881724770960619770149267996734455385354657181719550393059383679973008847412884671876336342123371662898578 372840305838156295403893870495924231074431144971507791596370610218345841712533686158210899765136744765860696911568140750468792001692537333472477976447008784759579139011477191641480202355658023826830467603401732791156561178084870573737219703532651769757864773264501330835180116387333048614996338873101799595784075321734230159093454929448756510191572762117379062935707614395807781243157715189175053197477919093511080912083127415365990965577764973240936105890914361154022310285402387369496479648558338776430233540760482023700717014151749581397768571514296413949868441238287203475445261345385943571907261081687811388875102015557597439210948723084532587384178698551466879421651813260253430981605872759372878326073694928421185559992373470411220415008690071466127869152940482717841328501750888862716234798642034867809762006983175616714304400779526506765173709246102912833346266929065052875831256854379792401392171055091611912974264536187099872943611087317931411095646587583182058554831255185465656331177222189838124856057842202545089956894374732525499530034077162716992366397398989562371430247617531956898259193781668316839941730517587099832827710257486487219800784066705925854173188564909432093007026747427079485187598575513108769866277362862807966435979338691610200721543174721967504309924880322330922701763256053083202811659040226302724885263729330819054851788911914309822834073034967477508716287039413914771075765069801866220098945165759602305681131348864456552694559997276856501394785539363690556082299308063890071227767546943325414646207260503000083610558843873195236956096903177353405194663333243212661339805307478483890604081037728564126586458348841365550334418054811976535978652180348630140489151369571556411498603294212514251344875519569813615497996121774764029084247761330006135329624489567355011456643574406095560360990036907771251206328336751877569521140891589138027143374553977527487198812626826966500444278645791572485545469263038217394483826029 603268287222042737770724415644766654485647403947487116137666201375800207765795385996976017619318059596729942428947049254017461623297627088380041476408219660793015292683786763445082353826365738521681892288964609366984193270442547931454379823481255865234090232514241015018699924924688820868786347192310517996430274333539752582274056701690070878901809935046143133150030907323466807780937372824951756408061912594282542517489122672098959654339297266651527917799084156892146296555615441353015601917337486587177652959826586328375120336634590749160335733246055792816279880109709467418765087283094679058545009206778298381416127998023237357969610476615294177652145587543924920650442313760005605250555242357697588109133502537581284811015329760661617533511733969282339006181225321908714423363031934730702417990257971491699353388725415962262191174325554506235202732980406305830222572787325064744484855932262510419866354652475191705697794940832494833235598587491705320306160507256814324574559224649781501044257056181765301464192121492000009768548258964763492780735720270567431501591362191580084843572703064685669073792151845795351985209477096124884047855143751941028046555631020338139676492623323433456322024600989951036530571639129579008197035853105979281846166941739728462843829055217010746441325589547433076450587386174610153165003313991566224745357107378064127940996933991598799064701980609712640801955961976456370331510144217394580332797003926074965928056078378904369306193316119463920987909621895108061792923215275737825224521636748502524744281462369109293365371356885145904203312952296319475931336073108837535360967123629362269511015889699101556818660567297064150006484422942351233598062058712381437194870909067003346071199836103638231104947066406031531802389088213646682726254793219808385894390868008288417417554172828356826419843588596911306934245021328759294292101511359287295140109009362882144380532177220025884124251654638985370217345599380340766146724607 976108593060199033174618286140690885560078548918994907734036811594146049478329072155186917384454804362590639340515190004486253624990164421852519452855228445552594431695263955086562556182023762348512359892366342158140754448527418505191599527013907634991955005778742345853880041312021869483782686065412317592214349655273982741367511631138827389093382697163522196085738521719274589024095088014126809605539831687793623429572250087464950619917062239892464023689998518046168606841017828722512081565895825363607886500587068352075837350786340330558104304760352206766148321347996670894210348628480622630452270288466109770291230013580834797180559199699826765036324286095391800072094127020259036232161115117070466435207197466002470371007703231072837948520424040748466875334165804626555751864782823593418652788900006359509115395708591578976495575105081013000376442226509218663568839716390117620316112786642302821258525707566803618672059477019594706179209674809636731401807094839996383129390479835247157375434278371603426320249963694545099725442633697288992310769797433284423867988761181142456273820320596642567332985933514112191926939994683224716875565401238428247847339697726263993849681188232865549329051348417030521718170214642687778063313215968787248282146280431338663565372229938978250751250469869763999152350642227693355976662354217868949630620836708883182792785845905908621898775015577190149518243001390371141407275214019260800431742169685677271609187427243360922000753313396320422382695161258798617875222523339627896452289183691827939390488722872109376975930200758341141159409855473672881125999406352050196700772431107846160115096927427665683405118916138429700340902477754327769576714239061011577684022278638559757569803130316152482449822585975845147300385209988410711810502554549814521224015357575643428874197747234452386780833625504682558140573358080636863813242402948425322283483563340409631579344804046992384568530300430557855762814862418558160630550636 1579376880282241770945342701785457540045725952866482023871703012969946257244124458152162935003772863959320581769462239258503715248287791510232560929263448106345609724379050718531644910008389500870194252181330951525124947718969966436645979350495163500226045238292983360872579966236710690352569033257722835588644623988813735323641568332828898267995192632209665329235769429042741396805032460839078566013601744282076165947061372759563910274256359506543991941489082674938314903396633270075527683483233311950785539460413654680450957687420931079718440038006407999582428201457706138312975435911575301688997279495244408151707358011604072155150169676315120942688469873639316720722536440780264641482716357474768054544340700003583755182023032991734455482032158010030805881515391126535270175227814758324121070779157977851208468784434007541238686749430635519235579175206915524493791412503715182364800968718904813241124880360041995324369854417852089539414808262301342051707967602096810707703949704485028658419691334553368727784442085186545109493990892662052485091505517703851855369580123372722541117393023661328236406778085359907543912149471779349600923420544990369275893895328746602133526173811556299005651075949406981558248741853772266786260349069074766530128313222171067126409201285155988997192576059417197075602938028402303509141665668209435174375977944086947310733782779897507420963476996186902790320198963366827511738785358236655380764539173611752237537243505622265291306946629515784343370604783153906679668145738615365721676810820440330464134770185241218670341301557643487045362722807769992357057335479460887732061739554737208429626112817126767240223779483435493850347386900696679003174776297773393014878893187705563103641002966419790713554769652381876679102774298202057394536757347769622907118406225583931846291751920062809213200677214101593865074818379409396158105343914307712617423592572703291775959876981267018268692781955069543225980160461798898926777275243 2555485473342440804119960987926148425605804501785476931605739824564092306722453530307349852388227668321911221109977429262989968873277955932085080382118676551898204156074314673618207466190413263218706612073697293683265702167497384941837578877509071135218000244071725706726460007548732559836351719323135153180858973644087718065009079963967725657088575329373187525321507950762015985829127548853205375619141575969869789376633622847028860894173421746436455965179081192984483510237651098798039765049129137314393425961000723032526795038207271410276544342766760206348576522805702809207185784540055924319449549783710517921998588025184906952330728876014947707724794159734708520794630567800523677714877472591838520979547897469586225553030736222807293430552582050779272756849556931161825927092597581917539723568057984210717584180142599120215182324535716532235955617433424743157360252220105299985117081505547116062383406067608798943041913894871684245594017937110978783109774696936807090833340184320275815795125612924972154104692048881090209219433526359341477402275315137136279237568884553864997391213344257970803739764018874019735839089466462574317798985946228797523741235026472866127375854999789164554980127297824012079966912068414954564323662285043553778410459502602405789974573515094967247943826529286961074755288670629996865118328022427304124006598780795830493526568625803416042862252011764092939838441964757198653146060572255916181196281343297429509146430932865626213307699942912104765753299944412705297543368261954993618129100004132158403525258908113328047317231758401828186522132663243665238183334885812937928762511985845054589741209744554432923628898399573923550688289378451006772751490536834404592562915466344122861210806096735943196004592238357721826403159508190468106347259902319437428342421583159575275165949667297261599981510839606276423215391737490033021918586317256137939707076136043701407539221785314010653261312255500101081742975324217457087407825879 4134862353624682575065303689711605965651530454651958955477442837534038563966577988459512787392000532281231802879439668521493684121565747442317641311382124658243813880453365392149852376198802764088900864255028245208390649886467351378483558228004234635444045482364709067599039973785443250188920752580857988769503597632901453388650648296796623925083767961582852854557277379804757382634160009692283941632743320251945955323694995606592771168429781252980447906668163867922798413634284368873567448532362449265178965421414377712977752725628202489994984380773168205931004724263408947520161220451631226008446829278954926073705946036788979107480898552330068650413264033374025241517167008580788319197593830066606575523888597473169980735053769214541748912584740060810078638364948057697096102320412340241660794347215962061926052964576606661453869073966352051471534792640340267651151664723820482349918050224451929303508286427650794267411768312723773785008826199412320834817742299033617798537289888805304474214816947478340881889134134067635318713424419021393962493780832840988134607149007926587538508606367919299040146542104233927279751238938241923918722406491219166799635130355219468260902028811345463560631203247230993638215653922187221350584011354118320308538772724773472916383774800250956245136402588704158150358226699032300374259993690636739298382576724882777804260351405700923463825729007950995730158640928124026164884845930492571561960820516909181746683674438487891504614646572427889109123904727566611977211514000570359339805910824572488867660029093354546717658533316045315231884855471013657595240670365273825660824251540582263019367322561681200163852677883009417401035676279147685775926266834607797607441808654049685964851809063155733909559361890739598505505933806392525500884017250089060335460827808743507121457701587360070813182188053707870288290210116899429180023930231563850557130668708746993183499098766581028921954094210569644307723135786016356014185101122 6690347826967123379185264677637754391257334956437435887083182662098130870689031518766862639780228200603143023989417097784483652994843703374402721693500801210142018036527680065768059842389216027307607476328725538891656352053964736320321137105513305770662045726436434774325499981334175810025272471903993141950362571276989171453659728260764349582172343290956040379878785330566773368463287558545489317251884896221815744700328618453621632062603202999416903871847245060907281923871935467671607213581491586579572391382415100745504547763835473900271528723539928412279581247069111756727347004991687150327896379062665443995704534061973886059811627428345016358138058193108733762311797576381311996912471302658445096503436494942756206288084505437349042343137322111589351395214504988858922029413009922159200517915273946272643637144719205781669051398502068583707490410073765010808511916943925782335035131729999045365891692495259593210453682207595458030602844136523299617927516995970424889370630073125580290009942560403313035993826182948725527932857945380735439896056147978124413844717892480452535899819712177269843886306123107947015590328404704498236521392437447964323376365381692334388277883811134628115611330545055005718182565990602175914907673639161874086949232227375878706358348315345923493080229117991119225113515369662297239378321713064043422389175505678608297786920031504339506687981019715088669997082892881224818030906502748487743157101860206611255830105371353517717922346515339993874877204671979317274754882262525352957935010828704647271185288001467874764975765074447143418406988134257322833424005251086763589586763526427317609108532306235633087481576282583340951723965657598692548677757371442202200004724120393808826062615159891677105563954129097320331909093314582993607231277152408497763803249391903082396623651254657332413163698893314146711505601854389462201942516548819988496837744844790694591038320551895039575215406466069745389466111110233813101592927001 10825210180591805954250568367349360356908865411089394842560625499632169434655609507226375427172228732884374826868856766305977337116409450816720363004882925868385831916981045457917912218588018791396508340583753784100047001940432087698804695333517540406106091208801143841924539955119619060214193224484851130719866168909890624842310376557560973507256111252538893234436062710371530751097447568237773258884628216473761700024023614060214403231032984252397351778515408928830080337506219836545174662113854035844751356803829478458482300489463676390266513104313096618210585971332520704247508225443318376336343208341620370069410480098762865167292525980675085008551322226482759003828964584962100316110065132725051672027325092415926187023138274651890791255722062172399430033579453046556018131733422262400861312262489908334569690109295812443122920472468420635179025202714105278459663581667746264684953181954450974669399978922910387477865450520319231815611670335935620452745259295004042687907919961930884764224759507881653917882960317016360846646282364402129402389836980819112548451866900407040074408426080096568884032848227341874295341567342946422155243798928667131123011495736911802649179912622480091676242533792285999356398219912789397265491684993280194395488004952149351622742123115596879738216631706695277375471742068694597613638315403700782720771752230561386102047271437205262970513710027666084400155723821005250982915752433241059305117922377115793002513779809841409222536993087767882984001109399545929251966396263095712297740921653277136138845317094822421482634298390492458650291843605270980428664675616360589250411015067009580628475854867916833251334254165592758352759641936746378324604024206049999807446532774443494790914424223047411015123316019836918837415027120975519108115294402497558099264077200646589518081352842017403226345886947022016999795811971288891381966446780383839053968413553537687774537419318476068497169500676639389697189246896250169115778028123 17515558007558929333435833044987114748166200367526830729643808161730300305344641025993238066952456933487517850858273864090460990111253154191123084698383727078527849953508725523685972060977234818704115816912479322991703353994396824019125832439030846176768136935237578616250039936453794870239465696388844272670228740186879796295970104818325323089428454543494933614314848040938304119560735126783262576136513112695577444724352232513836035293636187251814255650362653989737362261378155304216781875695345622424323748186244579203986848253299150290538041827853025030490167218401632460974855230435005526664239587404285814065115014160736751227104153409020101366689380419591492766140762161343412313022536435383496768530761587358682393311222780089239833598859384283988781428793958035414940161146432184560061830177763854607213327254015018224791971870970489218886515612787870289268175498611672047019988313684450020035291671418169980688319132727914689846214514472458920070672776290974467577278550035056465054234702068284966953876786499965086374579140309782864842285893128797236962296584792887492610308245792273838727919154350449821310931895747650920391765191366115095446387861118604137037457796433614719791853864337341005074580785903391573180399358632442068482437237179525230329100471430942803231296860824686396600585257438356894853016637116764826143160927736239994399834191468709602477201691047381173070152806713886475800946658935989547048275024237322404258343885181194926940459339603107876858878314071525246526721278525621065255675932481981783410030605096290296247610063464939602068698831739528303262088680867447352839997778593436898237584387174152466338815830448176099304483607594345070873281781577492202007451256894837303616977039382939088120687270148934239169324120435558512715346571554906055863067326592549671914705004096674735639509585840336163711301413825678353583908963329203827550806158398328382365575739870371108072384907142709135086655358006483982217370955124 28340768188150735287686401412336475105075065778616225572204433661362469740000250533219613494124685666371892677727130630396438327227662605007843447703266652946913681870489770981603884279565253610100624157496233107091750355934828911717930527772548386582874228144038722458174579891573413930453658920873695403390094909096770421138280481375886296596684565796033826848750910751309834870658182695021035835021141329169339144748375846574050438524669171504211607428878062918567442598884375140761956537809199658269075104990074057662469148742762826680804554932166121648700753189734153165222363455878323903000582795745906184134525494259499616394396679389695186375240702646074251769969726746305512629132601568108548440558086679774608580334361054741130624854581446456388211462373411081970958292879854446960923142440253762941783017363310830667914892343438909854065540815501975567727839080279418311704941495638900994704691650341080368166184583248233921661826184808394540523418035585978510265186469996987349818459461576166620871759746816981447221225422674184994244675730109616349510748451693294532684716671872370407611952002577791695606273463090597342547008990294782226569399356855515939686637709056094811468096398129627004430979005816180970445891043625722262877925242131674581951842594546539682969513492531381673976056999507051492466654952520465608863932679966801380501881462905914865447715401075047257470308530534891726783862411369230606353392946614438197260857664991036336162996332690875759842879423471071175778687674788716777553416854135258919548875922191112717730244361855432060718990675344799283690753356483807942090408793660446478866060242042069299590150084613768857657243249531091449197885805783542201814897789669280798407891463605986499135810586168771158006739147556534031823461865957403613962331403793196261432786356938692138865855472787358180711097225796967244965875410109587666604774571951866070140113159188847176569554407819348524783844604902734151333148983247 45856326195709664621122234457323589853241266146143056301848241823092770045344891559212851561077142599859410528585404494486899317338915759198966532401650380025441531823998496505289856340542488428804739974408712430083453709929225735737056360211579232759642365079276301074424619828027208800693124617262539676060323649283650217434250586194211619686113020339528760463065758792248138990218917821804298411157654441864916589472728079087886473818305358756025863079240716908304804860262530444978738413504545280693398853176318636866455996996061976971342596760019146679190920408135785626197218686313329429664822383150191998199640508420236367621500832798715287741930083065665744536110488907648924942155138003492045209088848267133290973645583834830370458453440830740376992891167369117385898454026286631520984972618017617548996344617325848892706864214409399072952056428289845856996014578891090358724929809323351014739983321759250348854503715976148611508040699280853460594090811876952977842465020032043814872694163644451587825636533316946533595804562983967859086961623238413586473045036486182025295024917664644246339871156928241516917205358838248262938774181660897322015787217974120076724095505489709531259950262466968009505559791719572543626290402258164331360362479311199812280943065977482486200810353356068070576642256945408387319671589637230435007093607703041374901715654374624467924917092122428430540461337248778202584809070305220153401667970851760601519201550172231263103455672293983636701757737542596422305408953314337842809092786617240702958906527287403013977854425320371662787689507084327586952842037351255294930406572253883377103644629216221765928965915061944956961726857125436520071167587361034403822349046564118102024868502988925587256497856317705397176063267992092544538808437512309669825398730385745933347491361035366874505365058627694344422398639622645598549784373438791494155580730350194452505688899059218284641939314962057659870499962909218133550519938371 74197094383860399908808635869660064958316331924759281874052675484455239785345142092432465055201828266231303206312535124883337644566578364206809980104917032972355213694488267486893740620107742038905364131904945537175204065864054647454986887984127619342516593223315023532599199719600622731146783538136235079450418558380420638572531067570097916282797586135562587311816669543557973860877100516825334246178795771034255734221103925661936912342974530260237470508118779826872247459146905585740694951313744938962473958166392694528925145738824803652147151692185268327891673597869938791419582142191653332665405178896098182334166002679735984015897512188410474117170785711739996306080215653954437571287739571600593649646934946907899553979944889571501083308022277196765204353540780199356856746906141078481908115058271380490779361980636679560621756557848308927017597243791821424723853659170508670429871304962252009444674972100330717020688299224382533169866884089248001117508847462931488107651490029031164691153625220618208697396280133927980817029985658152853331637353348029935983793488179476557979741589537014653951823159506033212523478821928845605485783171955679548585186574829636016410733214545804342728046660596595013936538797535753514072181445883886594238287721442874394232785660524022169170323845887449744552699256452459879786326542157696043871026287669842755403597117280539333372632493197475688010769867783669929368671481674450759755060917466198798780059215163267599266452004984859396544637161013667598084096628103054620362509640752499622507782449478515731708098787175803723506680182429126870643595393835063237020815365914329855969704871258291065519115999675713814618970106656527969269053393144576605637246836233398900432759966594912086392308442486476555182802415548626576362270303469713283787730134178942194780277717974059013371220531415052525133495865419612843515659783548379160760355302302060522645802058248065461211493722781406184654344567811952284883668921618 120053420579570064529930870326983654811557598070902338175900917307548009830690033651645316616278970866090713734897939619370236961905494123405776512506567412997796745518486763992183596960650230467710104106313657967258657775793280383192043248195706852102158958302591324607023819547627831531839908155398774755510742207664070856006781653764309535968910606475091347774882428335806112851096018338629632657336450212899172323693832004749823386161279889016263333587359496735177052319409436030719433364818290219655872811342711331395381142734886780623489748452204415007082594006005724417616800828504982762330227562046290180533806511099972351637398344987125761859100868777405740842190704561603362513442877575092638858735783214041190527625528724401871541761463107937142197244708149316742755200932427710002893087676288998039775706597962528453328620772257707999969653672081667281719868238061599029154801114285603024184658293859581065875192015200531144677907583370101461711599659339884465950116510061074979563847788865069796523032813450874514412834548642120712418598976586443522456838524665658583274766507201658900291694316434274729440684180767093868424557353616576870600973792803756093134828720035513873987996923063563023442098589255326057698471848142050925598650200754074206513728726501504655371134199243517815129341513397868267105998131794926478878119895372884130305312771655163801297549585319904118551231205032448131953480551979670913156728888317959400299260765335498862369907677278843033246394898556264020389505581417392463171602427369740325466688976765918745685953212496175386294369689513454457596437431186318531951221938168213233073349500474512831448081914737658771580696963781964489340220980505611009459595882797517002457628469583837673648806298804181952358865683540719120901078740982022953613128864564688128127769079009425887876585590042746869555894505042258442065444156987170654915936032652254975151490957307283745853433037743463844524844530721170418434188859989 194250514963430464438739506196643719769873929995661620049953592792003249616035175744077781671480799132322016941210474744253574606472072487612586492611484445970151959212975031479077337580757972506615468238218603504433861841657335030647030136179834471444675551525906348139623019267228454262986691693535009834961160766044491494579312721334407452251708192610653935086699097879364086711973118855454966903515245983933428057914935930411760298504254419276500804095478276562049299778556341616460128316132035158618346769509104025924306288473711584275636900144389683334974267603875663209036382970696636094995632740942388362867972513779708335653295857175536235976271654489145737148270920215557800084730617146693232508382718160949090081605473613973372625069485385133907401598248929516099611947838568788484801202734560378530555068578599208013950377330106016926987250915873488706443721897232107699584672419247855033629333265959911782895880314424913677847774467459349462829108506802815954057768000090106144255001414085688005220429093584802495229864534300273565750236329934473458440632012845135141254508096738673554243517475940307941964163002695939473910340525572256419186160367633392109545561934581318216716043583660158037378637386791079571770653294025937519836937922196948600746514387025526824541458045130967559682040769850328146892324673952622522749146183042726885708909888935703134670182078517379806562001072816118061322152033654121672911789805784158199079319980498766461636359682263702429791032059569931618473602209520447083534112068122239947974471426244434477394051999671979109801049871942581328240032825021381768972037304082543089043054371732803896967197914413372586199667070438492458609274373650187615096842719030915902890388436178749760041114741290658507541668099089345697263349044451736237400858998743630322908046796983484901247806121457799394689390370461871285581103940535549815676291334954315497797293015555349207064926760524870029179189098533122703317857781607 314303935543000528968670376523627374581431528066563958225854510099551259446725209395723098287759769998412730676108414363623811568377566611018363005118051858967948704731461795471260934541408202974325572344532261471692519617450615413839073384375541323546834509828497672746646838814856285794826599848933784590471902973708562350586094375098716988220618799085745282861581526215170199563069137194084599560851696196832600381608767935161583684665534308292764137682837773297226352097965777647179561680950325378274219580851815357319687431208598364899126648596594098342056861609881387626653183799201618857325860302988678543401779024879680687290694202162661997835372523266551477990461624777161162598173494721785871367118501374990280609231002338375244166830948493071049598842957078832842367148770996498487694290410849376570330775176561736467278998102363724926956904587955155988163590135293706728739473533533458057813991559819492848771072329625444822525682050829450924540708166142700420007884510151181123818849202950757801743461907035677009642699082942394278168835306520916980897470537510793724529274603940332454535211792374582671404847183463033342334897879188833289787134160437148202680390654616832090704040506723721060820735976046405629469125142167988445435588122951022807260243113527031479912592244374485374811382283248196413998322805747549001627266078415611016014222660590866935967731663837283925113232277848566193275632585633792586068518694102117599378580745834265324006267359542545463037426958126195638863107790937839546705714495491980273441160403010353223080005212168154496095419561456035785836470256207700300923259242250756322116403872207316728415279829151031357780364034220456947949495354155798624556438601828432905348016905762587433689921040094840459900533782630064818164427785433759191013987863308318451035815875992910789124391711500546264245284875504129727646548097522720470592227367606570472948783972862632952918359798268333873704033629254293121752046641596 508554450506430993407409882720271094351305458062225578275808102891554509062760385139800879959240569130734747617318889107877386174849639098630949497729536304938100663944436826950338272122166175480941040582750864976126381459107950444486103520555375794991510061354404020886269858082084740057813291542468794425433063739753053845165407096433124440472326991696399217948280624094534286275042256049539566464366942180766028439523703865573343983169788727569264941778316049859275651876522119263639689997082360536892566350360919383243993719682309949174763548740983781677031129213757050835689566769898254952321493043931066906269751538659389022943990059338198233811644177755697215138732544992718962682904111868479103875501219535939370690836475952348616791900433878204957000441206008348941979096609565286972495493145409755100885843755160944481229375432469741853944155503828644694607312032525814428324145952781313091443324825779404631666952644050358500373456518288800387369816672945516374065652510241287268073850617036445806963891000620479504872563617242667843919071636455390439338102550355928865783782700679006008778729268314890613369010186158972816245238404761089708973294528070540312225952589198150307420084090383879098199373362837485201239778436193925965272526045147971408006757500552558304454050289505452934493423053098524560890647479700171524376412261458337901723132549526570070637913742354663731675233350664684254597784619287914258980308499886275798457900726333031785642627041806247892828459017696127257336710000458286630239826563614220221415631829254787700474057211840133605896469433398617114076503081229082069895296546333299411159458243940120625382477743564403943980031104658949406558769727805986239653281320859348808238405341941337193731035781385498967442201881719410515427776829885495428414846862051948773943862672976395690372197832958345658934675245966001013227652038058270286268518702560885970746076988417982159983286558793203902883222727787415825069904423203 822858386049431522376080259243898468932736986128789536501662612991105768509485594535523978247000339129147478293427303471501197743227205709649312502847588163906049368675898622421599206663574378455266612927283126447818901076558565858325176904930917118538344571182901693632916696896941025852639891391402579015904966713461616195751501471531841428692945790782144500809862150309704485838111393243624166025218638377598628821132471800734927667835323035862029079461153823156502003974487896910819251678032685915166785931212734740563681150890908314073890197337577880019087990823638438462342750569099873809647353346919745449671530563539069710234684261500860231647016701022248693129194169769880125281077606590264975242619720910929651300067478290723860958731382371276006599284163087181784346245380561785460189783556259131671216618931722680948508373534833466780901060091783800682770902167819521157063619486314771149257316385598897480438024973675803322899138569118251311910524839088216794073537020392468391892699819987203608707352907656156514515262700185062122087906942976307420235573087866722590313057304619338463313941060689473284773857369622006158580136283949922998760428688507688514906343243814982398124124597107600159020109338883890830708903578361914410708114168098994215267000614079589784366642533879938309304805336346720974888970285447720526003678339873948917737355210117437006605645406191947656788465628513250447873417204921706845048827193988393397836481472167297109648894401348793355865885975822322896199817791396126176945541059106200494856792232265140923554062424008288101991888994854652899912973337436782370818555788584055733275862116147437353797757572715435301760395138879406354508265081961784864209719922687781713586422247703924627420956821480339427342735664349475333592204615319254619428834725360267224979678548969306479496589544458891923179960121470130740874200135580990756860746070167456443694860961280615112901646357061537776587256357041708946821951064799 1331412836555862515783490141964169563284042444191015114777470715882660277572245979675324858206240908259882225910746192579378583918076844808280262000577124468844150032620335449371937478785740553936207653510033991423945282535666516302811280425486292913529854632537305714519186554979025765910453182933871373441338030453214670040916908567964965869165272782478543718758142774404238772113153649293163732489585580558364657260656175666308271651005111763431294021239469873015777655851010016174458941675115046452059352281573654123807674870573218263248653746078561661696119120037395489298032317338998128761968846390850812355941282102198458733178674320839058465458660878777945908267926714762599087963981718458744079118120940446869021990903954243072477750631816249480963599725369095530726325341990127072432685276701668886772102462686883625429737748967303208634845215595612445377378214200345335585387765439096084240700641211378302112104977617726161823272595087407051699280341512033733168139189530633755659966550437023649415671243908276636019387826317427729966006978579431697859573675638222651456096840005298344472092670329004363898142867555780978974825374688711012707733723216578228827132295833013132705544208687491479257219482701721376031948682014555840375980640213246965623273758114632148088820692823385391243798228389445245535779617765147892050380090601332286819460487759644007077243559148546611388463698979177934702471201824209621104029135693874669196294382198500328895291521443155041248694344993518450153536527791854412807185367622720420716272424061519928624028119635848421707888358428253270013989476418665864440713852334917355144435320360087557979180235316279839245740426243538355761067034809767771103863001243547130521824827589645261821151992602865838394784937546068885849019981445204750047843681587412215998923541221945702169868787377417237582114635367436131754101852173639261043129264772728342414440937949698597272884932915854741679470479084829124771891855488002 2154271222605294038159570401208068032216779430319804651279133328873766046081731574210848836453241247389029704204173496050879781661304050517929574503424712632750199401296234071793536685449314932391474266437317117871764183612225082161136457330417210032068199203720207408152103251875966791763093074325273952457242997166676286236668410039496807297858218573260688219568004924713943257951265042536787898514804218935963286081788647467043199318840434799293323100700623696172279659825497913085278193353147732367226138212786388864371356021464126577322543943416139541715207110861033927760375067908098002571616199737770557805612812665737528443413358582339918697105677579800194601397120884532479213245059325049009054360740661357798673290971432533796338709363198620756970199009532182712510671587370688857892875060257928018443319081618606306378246122502136675415746275687396246060149116368164856742451384925410855389957957596977199592543002591401965146171733656525303011190866351121949962212726551026224051859250257010853024378596815932792533903089017612792088094885522408005279809248726089374046409897309917682935406611389693837182916724925402985133405510972660935706494151905085917342038639076828115103668333284599079416239592040605266862657585592917754786688754381345959838540758728711737873187335357265329553103033725791966510668588050595612576383768941206235737197842969761444083849204554738559045252164607691185150344619029131327949077962887863062594130863670667626004940415844503834604560230969340773049736345583250538984130908681826621211129216293785069547582182059856709809880247423107922913902449756102646811532408123501410877711182476234995332977992888995274547500821382417762115575299891729555968072721166234912235411249837349186448572949424346177822127673210418361182612186060524004667272516312772483223903219770915008649365376921876129505294595488906262494976052309220251799990010842895798858135798910979212385786579272916279456057735441870833718713806552801 3485684059161156553943060543172237595500821874510819766056604044756426323653977553886173694659482155648911930114919688630258365579380895326209836504001837101594349433916569521165474164235055486327681919947351109295709466147891598463947737755903502945598053836257513122671289806854992557673546257259145325898581027619890956277585318607461773167023491355739231938326147699118182030064418691829951631004389799494327943342444823133351470969845546562724617121940093569188057315676507929259737135028262778819285490494360042988179030892037344840571197689494701203411326230898429417058407385247096131333585046128621370161554094767935987176592032903178977162564338458578140509665047599295078301209041043507753133478861601804667695281875386776868816459995014870237933798734901278243236996929360815930325560336959596905215421544305489931807983871469439884050591491283008691437527330568510192327839150364506939630658598808355501704647980209128126969444328743932354710471207863155683130351916081659979711825800694034502440049840724209428553290915335040522054101864101839703139382924364312025502506737315216027407499281718698201081059592481183964108230885661371948414227875121664146169170934909841247809212541972090558673459074742326642894606267607473595162669394594592925461814516843343885962008028180650720796901262115237212046448205815743504626763859542538522556658330729405451161092763703285170433715863586869119852815820853340949053107098581737731790425245869167954900231937287658875853254575962859223203272873375104951791316276304547041927401640355304998171610301695705131517768605851361192927891926174768511252246260458418766022146502836322553312158228205275113793241247625956117876642334701497327071935722409782042757236077426994448269724942027212016216912610756487247031632167505728754715116197900184699222826760992860710819234164299293367087409230856342394249077904482859512843119275615624141272576736860677809658671512188771021135528214526699958490605662040803 5639955281766450592102630944380305627717601304830624417335737373630192369735709128097022531112723403037941634319093184681138147240684945844139411007426549734344548835212803592959010849684370418719156186384668227167473649760116680625084195086320712977666253039977720530823393058730959349436639331584419278355824024786567242514253728646958580464881709928999920157894152623832125288015683734366739529519194018430291229424233470600394670288685981362017940222640717265360336975502005842345015328381410511186511628707146431852550386913501471417893741632910840745126533341759463344818782453155194133905201245866391927967166907433673515620005391485518895859670016038378335111062168483827557514454100368556762187839602263162466368572846819310665155169358213490994903997744433460955747668516731504788218435397217524923658740625924096238186229993971576559466337766970404937497676446936675049070290535289917795020616556405332701297190982800530092115616062400457657721662074214277633092564642632686203763685050951045355464428437540142221087194004352653314142196749624247708419192173090401399548916634625133710342905893108392038263976317406586949241636396634032884120722027026750063511209573986669362912880875256689638089698666782931909757263853200391349949358148975938885300355275572055623835195363537916050350004295841029178557116793866339117203147628483744758293856173699166895244941968258023729478968028194560305003160439882472277002185061469600794384556109539835580905172353132162710457814806932199996253009218958355490775447184986373663138530856649090067719192483755561841327648853274469115841794375930871158063778668581920176899857685312557548645136221094270388340742069008373879992217634593226883040008443576016954992647327264343634718297891451558194039040283966905608214244353566252759382388714212957182446729980763775719468599541221169496592703826345248656744053956792079764643109286458519940130712535771657022044458091461687300591585949968570792209319468593604 9125639340927607146045691487552543223218423179341444183392341418386618693389686681983196225772205558686853564434012873311396512820065841170349247511428386835938898269129373114124485013919425905046838106332019336463183115908008279089031932842224215923264306876235233653494682865585951907110185588843564604254405052406458198791839047254420353631905201284739152096220300322950307318080102426196691160523583817924619172766678293733746141258531527924742557344580810834548394291178513771604752463409673290005797119201506474840729417805538816258464939322405541948537859572657892761877189838402290265238786291995013298128721002201609502796597424388697873022234354496956475620727216083122635815663141412064515321318463864967134063854722206087533971629353228361232837796479334739198984665446092320718543995734177121828874162170229586169994213865441016443516929258253413628935203777505185241398129685654424734651275155213688203001838963009658219085060391144390012432133282077433316222916558714346183475510851645079857904478278264351649640484919687693836196298613726087411558575097454713425051423371940349737750405174827090239345035909887770913349867282295404832534949902148414209680380508896510610722093417228780196763157741525258552651870120807864945112027543570531810762169792415399509797203391718566771146905557956266390603564999682082621829911488026283280850514504428572346406034731961308899912683891781429424855976260735813226055292160051338526174981355409003535805404290419821586311069382895059219456282092333460442566763461290920705065932497004395065890802785451266972845417459125830308769686302105639669316024929040338942922004188148880101957294449299545502133983316634329997868859969294724210111944165985798997749883404691338082988022833478770210255952894723392855245876521071981514097504912113141881669556741756636430287833705520462863680113057201591050993131861274939277486228562074144081403289272632334831703129603650458321727114164495270750699925130634407 14765594622694057738148322431932848850936024484172068600728078792016811063125395810080218756884928961724795198753106057992534660060750787014488658518854936570283447104342176707083495863603796323765994292716687563630656765668124959714116127928544928900930559916212954184318075924316911256546824920427983882610229077193025441306092775901378934096786911213739072254114452946782432606095786160563430690042777836354910402190911764334140811547217509286760497567221528099908731266680519613949767791791083801192308747908652906693279804719040287676358680955316382693664392914417356106695972291557484399143987537861405226095887909635283018416602815874216768881904370535334810731789384566950193330117241780621277509158066128129600432427569025398199126798711441852227741794223768200154732333962823825506762431131394646752532902796153682408180443859412593002983267025223818566432880224441860290468420220944342529671891711619020904299029945810188311200676453544847670153795356291710949315481201347032387239195902596125213368906715804493870727678924040347150338495363350335119977767270545114824600340006565483448093311067935482277609012227294357862591503678929437716655671929175164273191590082883179973634974292485469834852856408308190462409133974008256295061385692546470696062525067987455133632398755256482821496909853797295569160681793548421739033059116510028039144370678127739241650976700219332629391651919975989729859136700618285503057477221520939320559537464948839116710576643551984296768884189827259215709291311291815933342210646277294368204463353653485133609995269206828814173066312400299424611480678036510827379803597622259119821861873461437650602430670393815890474725385642703877861077603887951093151952609561815952742530731955681717706320724930328404294993178690298463460120874638234273479893626326099064116286722520412149756433246741632360272816883546839707737185818067019042129337848532664021534001808403991853747587695112145622318700114463841542909244599228011 23891233963621664884194013919485392074154447663513512784120420210403429756515082492063414982657134520411648763187118931303931172880816628184837906030283323406222345373471549821207980877523222228812832399048706900093839881576133238803148060770769144824194866792448187837812758789902863163657010509271548486864634129599483640097931823155799287728692112498478224350334753269732739924175888586760121850566361654279529574957590058067886952805749037211503054911802338934457125557859033385554520255200757091198105867110159381534009222524579103934823620277721924642202252487075248868573162129959774664382773829856418524224608911836892521213200240262914641904138725032291286352516600650072829145780383192685792830476529993096734496282291231485733098428064670213460579590703102939353716999408916146225306426865571768581407064966383268578174657724853609446500196283477232195368084001947045531866549906598767264323166866832709107300868908819846530285736844689237682585928638369144265538397760061378570714706754241205071273384994068845520368163843728040986534793977076422531536342367999828249651763378505833185843716242762572516954048137182128775941370961224842549190621831323578482871970591779690584357067709714250031616014149833449015061004094816121240173413236117002506824694860402854643429602146975049592643815411753561959764246793230504360862970604536311319994885182556311588057011432180641529304335811757419154715112961354098729112769381572277846734518820357842652515980933971805883079953572722318435165573403625276375908974107568215073270395850657880199500798054658095787018483771526129733381166980142150496695828526662598062743866061610317752559725119693361392608708702277033875729937573182675303263896775547614950492414136647019800694343558409098614550946073413691318705997395710215787577398538439240945785843464277048580044266952262095223952929940748430758730317679341958319615566410606808102937291081036326685450717298762603944045814278959112293609169729862418 38656828586315722622342336351418240925090472147685581384848499002420240819640478302143633739542063482136443961940224989296465832941567415199326564549138259976505792477813726528291476741127018552578826691765394463724496647244258198517264188699314073725125426708661142022130834714219774420203835429699532369474863206792509081404024599057178221825479023712217296604449206216515172530271674747323552540609139490634439977148501822402027764352966546498263552479023867034365856824539552999504288046991840892390414615018812288227289027243619391611182301233038307335866645401492604975269134421517259063526761367717823750320496821472175539629803056137131410786043095567626097084305985217023022475897624973307070339634596121226334928709860256883932225226776112065688321384926871139508449333371739971732068857996966415333939967762536950986355101584266202449483463308701050761800964226388905822334970127543109793995058578451730011599898854630034841486413298234085352739723994660855214853878961408410957953902656837330284642291709873339391095842767768388136873289340426757651514109638544943074252103385071316633937027310698054794563060364476486638532874640154280265846293760498742756063560674662870557992042002199719866468870558141639477470138068824377535234798928663473202887219928390309777062000902231532414140725265550857528924928586778926099896029721046339359139255860684050829707988132399974158695987731733408884574249661972384232170246603093217167294056285306681769226557577523790179848837762549577650874864714917092309251184753845509441474859204311365333110793323864924601191550083926429157992647658178661324075632124284857182565727935071755403162155790087177283083434087919737753591015177070626396415849385109430903234944868602701518400664283339427018845939252103989782166118270348450061057292164765340009902130186797460729800700199003727584225746824295270466467503497408977361744904259139472124471292889440318539198304993874749566364514393422953836518414329090429 62548062549937387506536350270903632999244919811199094168968919212823670576155560794207048722199198002548092725127343920600397005822384043384164470579421583382728137851285276349499457618650240781391659090814101363818336528820391437320412249470083218549320293501109329859943593504122637583860845938971080856339497336391992721501956422212977509554171136210695520954783959486247912454447563334083674391175501144913969552106091880469914717158715583709766607390826205968822982382398586385058808302192597983588520482128971669761298249768198495546005921510760231978068897888567853843842296551477033727909535197574242274545105733309068060843003296400046052690181820599917383436822585867095851621678008165992863170111126114323069424992151488369665323654840782279148900975629974078862166332780656117957375284862538183915347032728920219564529759309119811895983659592178282957169048228335951354201520034141877058318225445284439118900767763449881371772150142923323035325652633029999480392276721469789528668609411078535355915676703942184911464006611496429123408083317503180183050452006544771323903866763577149819780743553460627311517108501658615414474245601379122815036915591822321238935531266442561142349109711913969898084884707975088492531142163640498775408212164780475709711914788793164420491603049206582006784540677304419488689175380009430460759000325582650679134141043240362417764999564580615688000323543490828039289362623326482961283015984665495014028575105664524421742538511495596062928791335271896086040438118542368685160158861413724514745255054969245532611591378523020388210033855452558891373814638320811820771460650947455245309593996682073155721880909780538675692142790196771629320952750253301699679746160657045853727359005249721319095007841748525633396885325517681100872115666058665848634690703204580955687973651074509309844967151265822808178676765043701225197821176750935681360470669746280227408583970476645224649022292637353510410328672382066130127584058952847 101204891136253110128878686622321873924335391958884675553817418215243911395796039096350682461741261484684536687067568909896862838763951458583491035128559843359233930329099002877790934359777259333970485782579495827542833176064649635837676438169397292274445720209770471882074428218342412004064681368670613225814360543184501802905981021270155731379650159922912817559233165702763084984719238081407226931784640635548409529254593702871942481511682130208030159869850073003188839206938139384563096349184438875978935097147783957988587277011817887157188222743798539313935543290060458819111430972994292791436296565292066024865602554781243600472806352537177463476224916167543480521128571084118874097575633139299933509745722235549404353702011745253597548881616894344837222360556845218370615666152396089689444142859504599249287000491457170550884860893386014345467122900879333718970012454724857176536490161684986852313284023736169130500666618079916213258563441157408388065376627690854695246155682878200486622512067915865640557968413815524302559849379264817260281372657929937834564561645089714398155970148648466453717770864158682106080168866135102053007120241533403080883209352321063994999091941105431700341151714113689764553755266116727970001280232464876310643011093443948912599134717183474197553603951438114420925265942855277017614103966788356560655030046628990038273396903924413247472987696980589846696311275224236923863612285298867193453262587758712181322631390971206190969096089019386242777629097821473736915302833459460994411343615259233956220114259280610865722384702387944989401583939378988049366462296499473144847092775232312427875321931753828558884036699867715958775576878116509382911967927323928096095595545766476756962303873852422837495672125087952652242824577621670883038233936407115909691982867969920965590103837871970039645667350269550392404423589338971691665324674159913043105374928885752351879876859916963763847327286512103076774843065805019966645998388043276 163752953686190497635415036893225506923580311770083769722786337428067581971951599890557731183940459487232629412194912830497259844586335501967655505707981426741962068180384279227290391978427500115362144873393597191361169704885041073158088687639480510823766013710879801742018021722465049587925527307641694082153857879576494524407937443483133240933821296133608338514017125189010997439166801415490901322960141780462379081360685583341857198670397713917796767260676278972011821589336725769621904651377036859567455579276755627749885526780016382703194144254558771292004441178628312662953727524471326519345831762866308299410708288090311661315809648937223516166406736767460863957951156951214725719253641305292796679856848349872473778694163233623262872536457676623986123336186819297232781998933052207646819427722042783164634033220377390115414620202505826241450782493057616676139060683060808530738010195826863910631509469020608249401434381529797585030713584080731423391029260720854175638432404347990015291121478994400996473645117757709214023855990761246383689455975433118017615013651634485722059836912225616273498514417619309417597277367793717467481365842912525895920124944143385233934623207547992842690261426027659662638639974091816462532422396105375086051223258224424622311049505976638618045207000644696427709806620159696506303279346797787021414030372211640717407537947164775665237987261561205534696634818715064963152974908625350154736278572424207195351206496635730612711634600514982305706420433093369822955740952001829679571502476672958470965369314249856398333976080910965377611617794831546940740276934820284965618553426179767673184915928435901714605917609648254634467719668313281012232920677577229795775341706423522610689662879102144156590679966836478285639709903139351983910349602465781758326673571174501921278077488946479349490634501535373200583100354382672916863145850910848724465845598632032579288460830393608988496349579149456587185171738187086096773582446996123 264957844822443607764293723515547380847915703728968445276603755643311493367747638986908413645681720971917166099262481740394122683350286960551146540836541270101195998509483282105081326338204759449332630655973093018904002880949690708995765125808877803098211733920650273624092449940807461591990208676312307307968218422760996327313918464753288972313471456056521156073250290891774082423886039496898128254744782416010788610615279286213799680182079844125826927130526351975200660796274865154185001000561475735546390676424539585738472803791834269860382366998357310605939984468688771482065158497465619310782128328158374324276310842871555261788616001474400979642631652935004344479079728035333599816829274444592730189602570585421878132396174978876860421418074570968823345696743664515603397665085448297336263570581547382413921033711834560666299481095891840586917905393936950395109073137785665707274500357511850762944793492756777379902100999609713798289277025238139811456405888411708870884588087226190501913633546910266637031613531573233516583705370026063643970828633363055852179575296724200120215807060874082727216285281777991523677446233928819520488486084445928976803334296464449228933715148653424543031413140141349427192395240208544432533702628570251396694234351668373534910184223160112815598810952082810848635072563014973523917383313586143582069060418840630755680934851089188912710974958541795381392946093939301887016587193924217348189541160182919376673837887606936803680730689534368548484049530914843559871043785461290673982846091932192427185483573530467264056360783298910367013201734210534990106739231319758110465646201412080101060237860189730273489954309515970593243296546429790395144888604901157891870937252189999367651966752954566994086352091924430937882534480761022866948583538872897668018656439144422886868181326818449389136301851804923592987523943721644608528470525070761767571220527517784931168337690310572752343676865661559663960014803992106063419580835039399 428710798508634105399708760408772887771496015499052214999390093071379075339699238877466144829622180459149795511457394570891382527936622462518802046544522696843158066689867561332371718316632259564694775529366690210265172585834731782153853813448358313921977747631530075366110471663272511179915735983954001390122076302337490851721855908236422213247292752190129494587267416080785079863052840912389029577704924196473167691975964869555656878852477558043623694391202630947212482385611590923806905651938512595113846255701295213488358330571850652563576511252916081897944425647317084145018886021936945830127960091024682623687019130961866923104425650411624495809038389702465208437030884986548325536082915749885526869459418935294351911090338212500123293954532247592809469032930483812836179664018500504983082998303590165578555066932211950781714101298397666828368687886994567071248133820846474238012510553338714673576302961777385629303535381139511383319990609318871234847435149132563046523020491574180517204755025904667633505258649330942730607561360787310027660284608796173869794588948358685842275643973099699000714799699397300941274723601722536987969851927358454872723459240607834462868338356201417385721674566169009089831035214300360895066125024675626482745457609892798157221233729136751433644017952727507276344879183174670030220662660383930603483090791052271473088472798253964577948962220103000916089580912654366850169562102549567502925819732607126572025044384242667416392365290049350854190469964008213382826784737463120353554348568605150898150852887780323662390336864209875744624819529042081930847016166140043076084199627591847774245153788625631988095871919164225227711016214743071407377809282478387687646278958613521978341629632056711150677032058760909223522244383900374850858933141338679426345330010318924808146258815764928738626936353340296793570624298104317525391616375981610492037066126149817510456798520704181740840026444811016251145186542179192160193163282035522 693668643331077713164002483924320268619411719228020660275993848714690568707446877864374558475303901431066961610719876311285505211286909423069948587381063966944354065199350843437453044654837019014027406185339783229169175466784422491149618939257236117020189481552180348990202921604079972771905944660266308698090294725098487179035774372989711185560764208246650650660517706972559162286938880409287157832449706612483956302591244155769456559034557402169450621521728982922413143181886456077991906652499988330660236932125834799226831134363684922423958878251273392503884410116005855627084044519402565140910088419183056947963329973833422184893041651886025475451670042637469552916110613021881925352912190194478257059061989520716230043486513191376983715372606818561632814729674148328439577329103948802319346568885137547992476100644046511448013582394289507415286593280931517466357206958632139945287010910850565436521096454534163009205636380749225181609267634557011046303841037544271917407608578800371019118388572814934270536872180904176247191266730813373671631113242159229721974164245082885962491451033973781727931084981175292464952169835651356508458338011804383849526793537072283691802053504854841928753087706310358517023430454508905327599827653245877879439691961561171692131417952296864249242828904810318124979951746189643554138045973970074185552151209892902228769407649343153490659937178644796297482527006593668737186149296473784851115360892790045948698882271849604220073095979583719402674519494923056942697828522924411027537194660537343325336336461310790926446697647508786111638021263252616920953755397459801186549845829003927875305391648815362261585826228680195820954312761172861802522697887379545579517216210803521345993596385011278144763384150685340161404778864661397717807516680211577094363986449463347695014440142583378127763238205145220386558148241825962133920086901052372259608286653667602441625136211014754493183703310472575915105201346171298223612744117074921 1122379441839711818563711244333093156390907734727072875275383941786069644047146116741840703304926081890216757122177270882176887739223531885588750633925586663787512131889218404769824762971469278578722181714706473439434348052619154273303472752705594430942167229183710424356313393267352483951821680644220310088212371027435978030757630281226133398808056960436780145247785123053344242149991721321676187410154630808957123994567209025325113437887034960213074315912931613869625625567498047001798812304438500925774083187827130012715189464935535574987535389504189474401828835763322939772102930541339510971038048510207739571650349104795289107997467302297649971260708432339934761353141498008430250888995105944363783928521408456010581954576851403877107009327139066154442283762604632141275756993122449307302429567188727713571031167576258462229727683692687174243655281167926084537605340779478614183299521464189280110097399416311548638509171761888736564929258243875882281151276186676834963930629070374551536323143598719601904042130830235118977798828091600683699291397850955403591768753193441571804767095007073480728645884680572593406226893437373893496428189939162838722250252777680118154670391861056259314474762272479367606854465668809266222665952677921504362185149571453969849352651681433615682886846857537825401324830929364313584358708634354004789035242000945173701857880447597118068608899398747797213572107919248035587355711399023352354041180625397172520723926656092271636465461269633070256864989458931270325524613260387531381091543229142494223487189349091114588837034511718661856262840792294698851800771563599844262634045456595775649550545437440994249681698147844421048665328975915933209900507169857933267163495169417043324335226017067989295440416209446249384927023248561772568666449821550256520709316459782272503160698958348306866390174558485517180128772539930279659311703277033982751645352779817419952081934731718936234023729755283592166250387888350490383805907399110443 1816048085170789531727713728257413425010319453955093535551377790500760212754592994606215261780229983321283718732897147193462392950510441308658699221306650630731866197088569248207277807626306297592749587900046256668603523519403576764453091691962830547962356710735890773346516314871432456723727625304486618786302665752534465209793404654215844584368821168683430795908302830025903404436930601730963345242604337421441080297158453181094569996921592362382524937434660596792038768749384503079790718956938489256434320119952964811942020599299220497411494267755462866905713245879328795399186975060742076111948136929390796519613679078628711292890508954183675446712378474977404314269252111030312176241907296138842040987583397976726811998063364595254090724699745884716075098492278780469715334322226398109621776136073865261563507268220304973677741266086976681658941874448857602003962547738110754128586532375039845546618495870845711647714808142637961746538525878432893327455117224221106881338237649174922555441532171534536174579003011139295224990094822414057370922511093114633313742917438524457767258546041047262456576969661747885871179063273025250004886527950967222571777046314752401846472445365911101243227849978789726123877896123318171550265780331167382241624841533015141541484069633730479932129675762348143526304782675553957138496754608324078974587393210838075930627288096940271559268836577392593511054634925841704324541860695497137205156541518187218469422808927941875856538557249216789659539508953854327268222441783311942408628737889679837548823525810401905515283732159227447967900862055547315772754526961059645449183891285599703524855937086256356511267524376524616869619641737088795012423205057237478846680711380220564670328822402079267440203800360131589546331802113223170286473966501761833615073302909245620198175139100931684994153412763630737566686920781756241793231790178086355011253639433485022393707070942733690727207433065756168081355589234521788607418651516185364 2938427527010501350291424972590506581401227188682166410826761732286829856801739111348055965085156065211500475855074418075639280689733973194247449855232237294519378328977787652977102570597775576171471769614752730108037871572022731037756564444668424978904523939919601197702829708138784940675549305948706928874515036779970443240551034935441977983176878129120210941156087953079247646586922323052639532652758968230398204291725662206419683434808627322595599253347592210661664394316882550081589531261376990182208403307780094824657210064234756072399029657259652341307542081642651735171289905602081587082986185439598536091264028183424000400887976256481325417973086907317339075622393609038742427130902402083205824916104806432737393952640215999131197734026884950870517382254883412610991091315348847416924205703262592975134538435796563435907468949779663855902597155616783686541567888517589368311886053839229125656715895287157260286223979904526698311467784122308775608606393410897941845268866719549474091764675770254138078621133841374414202788922914014741070213908944070036905511670631966029572025641048120743185222854342320479277405956710399143501314717890130061294027299092432520001142837226967360557702612251269093730732361792127437772931733009088886603809991104469111390836721315164095615016522619885968927629613604918270722855463242678083763622635211783249632485168544537389627877735976140390724626742845089739911897572094520489559197722143584390990146735584034147493004018518849859916404498412785597593747055043699473789720281118822331772310715159493020104120766670946109824163702847842014624555298524659489711817936742195479174406482523697350760949222524369037918284970713004728222323712227095412113844206549637607994664048419147256735644216569577838931258825361784942855140416323312090135782619369027892701335838059279991860543587322116254746815693321686521452543493455120337762898992213302442345789005674452626961231162821039760247605977122872278991224558915295807 4754475612181290882019138700847920006411546642637259946378139522787590069556332105954271226865386048532784194587971565269101673640244414502906149076538887925251244526066356901184380378224081873764221357514798986776641395091426307802209656136631255526866880650655491971049346023010217397399276931253193547660817702532504908450344439589657822567545699297803641737064390783105151051023852924783602877895363305651839284588884115387514253431730219684978124190782252807453703163066267053161380250218315479438642723427733059636599230663533976569810523925015115208213255327521980530570476880662823663194934322368989332610877707262052711693778485210665000864685465382294743389891645720069054603372809698222047865903688204409464205950703580594385288458726630835586592480747162193080706425637575245526545981839336458236698045704016868409585210215866640537561539030065641288545530436255700122440472586214268971203334391158002971933938788047164660058006310000741668936061510635119048726607104368724396647206207941788674253200136852513709427779017736428798441136420037184670219254588070490487339284187089168005641799824004068365148585019983424393506201245841097283865804345407184921847615282592878461800930462230058819854610257915445609323197513340256268845434832637484252932320790948894575547146198382234112453934396280472227861352217851002162738210028422621325563112456641477661187146572553532984235681377770931444236439432790017626764354263661771609459569544511976023349542575768066649575944007366639924861969496827011416198349019008502169321134240969894925619404498830173557792064564903389330397309825485719135161001828027795182699262419609953707272216746900893654787904612450093523234746917284332890960524917929858172664992870821226524175848016929709428477590627475008113141614382825073923750855922278273512899510977160211676854697000085746992313502614103442763245775283633206692774152631646787464739496076617186317688438595886795928328961566357394067598643210431481171 7692903139191792232310563673438426587812773831319426357204901255074419926358071217302327191950542113744284670443045983344740954329978387697153598931771125219770622855044144554161482948821857449935693127129551716884679266663449038839966220581299680505771404590575093168752175731149002338074826237201900476535332739312475351690895474525099800550722577426923852678220478736184398697610775247836242410548122273882237488880609777593933936866538847007573723444129845018115367557383149603242969781479692469620851126735513154461256440727768732642209553582274767549520797409164632265741766786264905250277920507808587868702141735445476712094666461467146326282658552289612082465514039329107797030503712100305253690819793010842201599903343796593516486192753515786457109863002045605691697516952924092943470187542599051211832584139813431845492679165646304393464136185682424975087098324773289490752358640053498096860050286445160232220162767951691358369474094123050444544667904046016990571875971088273870738970883712042812331821270693888123630567940650443539511350328981254707124766258702456516911309828137288748827022678346388844425990976693823537007515963731227345159831644499617441848758119819845822358633074481327913585342619707573047096129246349345155449244823741953364323157512264058671162162721002120081381564009885390498584207681093680246501832663634404575195597625186015050815024308529673374960308120616021184148337004884538116323551985805356000449716280096010170842546594286916509492348505779425522455716551870710889988069300127324501093444956129387945723525265501119667616228267751231345021865124010378624872819764769990661873668902133651058033165969425262692706189583163098251457070629511428303074369124479495780659656919240373780911492233499287267408849452836793055996754799148386013886638541647301405600846815219491668715240587407863247060318307425129284698318777088327030537051623860089907085285082291638944649669758707835688576567543480266346589867769346776978 12447378751373083114329702374286346594224320473956686303583040777862009995914403323256598418815928162277068865031017548613842627970222802200059748008310013145021867381110501455345863327045939323699914484644350703661320661754875346642175876717930936032638285241230585139801521754159219735474103168455094024196150441844980260141239914114757623118268276724727494415284869519289549748634628172619845288443485579534076773469493892981448190298269066692551847634912097825569070720449416656404350031698007949059493850163246214097855671391302709212020077507289882757734052736686612796312243666927728913472854830177577201313019442707529423788444946677811327147344017671906825855405685049176851633876521798527301556723481215251665805854047377187901774651480146622043702343749207798772403942590499338470016169381935509448530629843830300255077889381512944931025675215748066263632628761028989613192831226267767068063384677603163204154101555998856018427480404123792113480729414681136039298483075456998267386177091653831486585021407546401833058346958386872337952486749018439377344020846772947004250594015226456754468822502350457209574575996677247930513717209572324629025635989906802363696373402412724284159563536711386733439952877623018656419326759689601424294679656379437617255478303212953246709308919384354193835498406165862726445559898944682409240042692057025900758710081827492712002170881083206359195989498386952628384776437674555743087906249467127609909285824607986194192089170054983159068292513146065447317686048697722306186418319135826670414579197099282871342929764331293225408292832654620675419174949496097760033821592797785844572931321743604765305382716326156347494094195613191774691817546795761194034894042409353953324649790061600305087340250428996695886440080311801169138369181973459937637494463925574918500357792379703345569937587493610239373820921528572047944094060721533723311204255506877371824781158908825262338108354594631616905529109837660414188510979778258149 20140281890564875346640266047724773182037094305276112660787942032936429922272474540558925610766470276021353535474063531958583582300201189897213346940081138364792490236154646009507346275867796773635607611773902420545999928418324385482142097299230616538409689831805678308553697485308222073548929405656994500731483181157455611832135388639857423668990854151651347093505348255473948446245403420456087698991607853416314262350103670575382127164807913700125571079041942843684438277832566259647319813177700418680344976898759368559112112119071441854229631089564650307254850145851245062054010453192634163750775337986165070015161178153006135883111408144957653430002569961518908320919724378284648664380233898832555247543274226093867405757391173781418260844233662408500812206751253404464101459543423431413486356924534560660363213983643732100570568547159249324489811401430491238719727085802279103945189866321265164923434964048323436374264323950547376796954498246842558025397318727153029870359046545272138125147975365874298916842678240289956688914899037315877463837077999694084468787105475403521161903843363745503295845180696846054000566973371071467521233173303551974185467634406419805545131522232570106518196611192714647025295497330591703515456006038946579743924480121390981578635815477011917871471640386474275217062416051253225029767580038362655741875355691430475954307707013507762817195189612879734156297619002973812533113442559093859411458235272483610359002104703996365034635764341899668560641018925490969773402600568433196174487619263151171508024153228670817066455029832412893024521100405852020441040073506476384906641357567776506446600223877255823338548685751419040200283778776290026148888176307189497109263166888849733984306709301974085998832483928283963295289533148594225135123981121845951524133005572876324101204607599195014285178174901473486434139228953701332642412837809860753848255879366967278910066241200464206987778113302467305482096653317926760778378749125035127 32587660641937958460969968422011119776261414779232798964370982810798439918186877863815524029582398438298422400505081080572426210270423992097273094948391151509814357617265147464853209602913736097335522096418253124207320590173199732124317974017161552571047975073036263448355219239467441809023032574112088524927633623002435871973375302754615046787259130876378841508790217774763498194880031593075932987435093432950391035819597563556830317463076980392677418713954040669253508998281982916051669844875708367739838827062005582656967783510374151066249708596854533064988902882537857858366254120120363077223630168163742271328180620860535559671556354822768980577346587633425734176325409427461500298256755697359856804266755441345533211611438550969320035495713809030544514550500461203236505402133922769883502526306470070108893843827474032355648457928672194255515486617178557502352355846831268717138021092589032232986819641651486640528365879949403395224434902370634671506126733408289069168842122002270405511325067019705785501864085786691789747261857424188215416323827018133461812807952248350525412497858590202257764667683047303263575142970048319398034950382875876603211103624313222169241504924645294390677760147904101380465248374953610359934782765728548004038604136500828598834114118689965164580780559770828469052560822217115951475327478983045064981918047748456376713017788841000474819366070696086093352287117389926440917889880233649602499364484739611220268287929311982559226724934396882827628933532071556417091088649266155502360905938398977841922603350327953688409384794163706118432813933060472695860215023002574144940462950365562351019531545620860588643931402077575387694377974389481800840705723102950691144157209298203687308956499363574391086172734357280659181729613460395394273493163095305889161627469498451242601562399978898359855115762395083725807960150482273380586506898531394477159460134873844650734847400109289469325886467897098922387625763155587174966889728903293276 52727942532502833807610234469735892958298509084508911625158924843734869840459352404374449640348868714319775935979144612531009792570625181994486441888472289874606847853419793474360555878781532870971129708192155544753320518591524117606460071316392169109457664904841941756908916724775663882571961979769083025659116804159891483805510691394472470456249985028030188602295566030237446641125435013532020686426701286366705298169701234132212444627884894092802989792995983512937947276114549175698989658053408786420183803960764951216079895629445592920479339686419183372243753028389102920420264573312997240974405506149907341343341799013541695554667762967726634007349157594944642497245133805746148962636989596192412051810029667439400617368829724750738296339947471439045326757251714607700606861677346201296988883231004630769257057811117764456219026475831443580005298018609048741072082932633547821083210958910297397910254605699810076902630203899950772021389400617477229531524052135442099039201168547542543636473042385580084418706764026981746436176756461504092880160905017827546281595057723754046574401701953947761060512863744149317575709943419390865556183556179428577396571258719641974786636446877864497195956759096816027490543872284202063450238771767494583782528616622219580412749934166977082452252200157302744269623238268369176505095059021407720723793403439886852667325495854508237636561260308965827508584736392900253451003322792743461910822720012094830627290034015978924261360698738782496189574550997047386864491249834588698535393557662129013430627503556624505475839823996119011457335033466324716301255096509050529847104307933338857466131769498116411982480087828994427894661753165771826989593899410140188253420376187053421293263208665548477085005218285564622477019146608989619408617144217151840685760475071327566702767007578093374140293937296557212242099379435974713228919736341255231007716014240811929644913641309753676313664581199566227869722416473513935745268478028328403 85315603174440792268580202891747012734559923863741710589529907654533309758646230268189973669931267152618198336484225693103436002841049174091759536836863441384421205470684940939213765481695268968306651804610408668960641108764723849730778045333553721680505639977878205205264135964243105691594994553881171550586750427162327355778885994149087517243509115904409030111085783805000944836005466606607953673861794719317096333989298797689042762090961874485480408506950024182191456274396532091750659502929117154160022631022770533873047679139819743986729048283273716437232655910926960778786518693433360318198035674313649612671522419874077255226224117790495614584695745228370376673570543233207649260893745293552268856076785108784933828980268275720058331835661280469589841307752175810937112263811268971180491409537474700878150901638591796811867484404503637835520784635787606243424438779464816538221232051499329630897074247351296717430996083849354167245824302988111901037650785543731168208043290549812949147798109405285869920570849813673536183438613885692308296484732035961008094403009972104571986899560544150018825180546791452581150852913467710263591133939055305180607674883032864144028141371523158887873716907000917407955792247237812423385021537496042587821132753123048179246864052856942247033032759928131213322184060485485127980422538004452785705711451188343229380343284695508712455927331005051920860871853782826694368893203026393064410187204751706050895577963327961483488085633135665323818508083068603803955579899100744200896299496061106855353230853884578193885224618159825129890148966526797412161470119511624674787567258298901208485663315118977000626411489906569815589039727555253627830299622513090879397577585485257108602219708029122868171177952642845281658748760069385013682110307312457729847387944569778809304329407556991733995409699691640938050059529918248093815426634872649708167176149114656580379761041419043145639551049096665150257348179629101110712158206931621679 138043545706943626076190437361482905692858432948250622214688832498268179599105582672564423310280135866937974272463370305634445795411674356086245978725335731259028053324104734413574321360476801839277781512802564213713961627356247967337238116649945890789963304882720146962173052689018769574166956533650254576245867231322218839584396685543559987699759100932439218713381349835238391477130901620139974360288496005683801632159000031821255206718846768578283398299946007695129403550511081267449649160982525940580206434983535485089127574769265336907208387969692899809476408939316063699206783266746357559172441180463556954014864218887618950780891880758222248592044902823315019170815677038953798223530734889744680907886814776224334446349098000470796628175608751908635168065003890418637719125488615172477480292768479331647407959449709561268086510880335081415526082654396654984496521712098364359304443010409627028807328853051106794333626287749304939267213703605589130569174837679173267247244459097355492784271151790865954339277613840655282619615370347196401176645637053788554375998067695858618561301262498097779885693410535601898726562856887101129147317495234733758004246141752506118814777818401023385069673666097733435446336119522014486835260309263537171603661369745267759659613987023919329485284960085433957591807298753854304485517597025860506429504854628230082047668780550016950092488591314017748369456590175726947819896525819136526321009924763800881522867997343940407749446331874447820008082634065651190820071148935332899431693053723235868783858357441202699361064442155944141347483999993122128462725216020675204634671566232240065951795084617093412608891577735564243483701480721025454819893521923231067650997961672310529895482916694671345256183170928409904135767906678374633090727451529609570533148419641106376007096415135085108135703636988198150292158909354222807044346371213904939174892163355468510024674682728796821953215630296231378127070596102615046457426684959950082 223359148881384418344770640253229918427418356811992332804218740152801489357751812940754396980211403019556172608947595998737881798252723530178005515562199172643449258794789675352788086842172070807584433317412972882674602736120971817068016161983499612470468944860598352167437188653261875265761951087531426126832617658484546195363282679692647504943268216836848248824467133640239336313136368226747928034150290725000897966148298829510297968809808643063763806806896031877320859824907613359200308663911643094740229066006306018962175253909085080893937436252966616246709064850243024477993301960179717877370476854777206566686386638761696206007115998548717863176740648051685395844386220272161447484424480183296949763963599885009268275329366276190854960011270032378225009372756066229574831389299884143657971702305954032525558861088301358079953995284838719251046867290184261227920960491563180897525675061908956659704403100402403511764622371598659106513038006593701031606825623222904435455287749647168441932069261196151824259848463654328818803053984232888709473130369089749562470401077667963190548200823042247798710873957327054479877415770354811392738451434290038938611921024785370262842919189924182272943390573098650843402128366759826910220281846759579759424794122868315938906478039880861576518317720013565170913991359239339432465940135030313292135216305816573311428012065245525662548415922319069669230328443958553642188789728845529590731197129515506932418445960671901891237531965010113143826590717134254994775651048036077100327992549784342724137089211325780893246289060315769271237632966519919540624195335532299879422238824531141274437458399736070413235303067642134059072741208276279082650193144436321947048575547157567638497702624723794213427361123571255185794516666747759646772837758842067300380536364210885185311425822692076842131113336679839088342218439272470900859773006086554647342068312470125090404435724147839967592766679392896528384418775731716157169584891891571761 361402694588328044420961077614712824120276789760242955018907572651069668956857395613318820290491538886494146881410966304372327593664397886264251494287534903902477312118894409766362408202648872646862214830215537096388564363477219784405254278633445503260432249743318499129610241342280644839928907621181680703078484889806765034947679365236207492643027317769287467537848483475477727790267269846887902394438786730684699598307298861331553175528655411642047205106842039572450263375418694626649957824894169035320435500989841504051302828678350417801145824222659516056185473789559088177200085226926075436542918035240763520701250857649315156788007879306940111768785550875000415015201897311115245707955215073041630671850414661233602721678464276661651588186878784286860177437759956648212550514788499316135451995074433364172966820538010919348040506165173800666572949944580916212417482203661545256830118072318583688511731953453510306098248659347964045780251710199290162176000460902077702702532208744523934716340412987017778599126077494984101422669354580085110649776006143538116846399145363821809109502085540345578596567367862656378603978627241912521885768929524772696616167166537876381657697008325205658013064239196384278848464486281841397055542156023116931028455492613583698566092026904780906003602680098999128505798657993193736951457732056173798564721160444803393475680845795542612640904513633087417599785034134280590008686254664666117052207054279307813941313958015842298986978296884560963834673351199906185595722196971409999759685603507578592920947568766983592607353502471713412585116966513041669086920551552975084056910390763381340389253484353163825844194645377698302556442688997304537470086666359553014699573508829878168393185541418465558683544294499665089930284573426134279863565210371676870913684783851991561318522237827161950266816973668037238634377348626693707904119377300459586516960475825593600429110406876636789545982309689127906511489371834331203627011576851521843 584761843469712462765731717867942742547695146572235287823126312803871158314609208554073217270702941906050319490358562303110209391917121416442257009849734076545926570913684085119150495044820943454446648147628509979063167099598191601473270440616945115730901194603916851297047429995542520105690858708713106829911102548291311230310962044928854997586295534606135716362315617115717064103403638073635830428589077455685597564455597690841851144338464054705811011913738071449771123200326307985850266488805812130060664566996147523013478082587435498695083260475626132302894538639802112655193387187105793313913394890017970087387637496411011362795123877855657974945526198926685810859588117583276693192379695256338580435814014546242870997007830552852506548198148816665085186810516022877787381904088383459793423697380387396698525681626312277427994501450012519917619817234765177440338442695224726154355793134227540348216135053855913817862871030946623152293289716792991193782826084124982138157819958391692376648409674183169602858974541149312920225723338812973820122906375233287679316800223031784999657702908582593377307441325189710858481394397596723914624220363814811635228088191323246644500616198249387930956454812295035122250592853041668307275824002782696690453249615481899637472570066785642482521920400112564299419790017232533169417397867086487090699937466261376704903692911041068275189320435952157086830113478092834232197475983510195707783404183794814746359759918687744190224510261894674107661264068334161180371373245007487100087678153291921317058036780092764485853642562787482683822749933032961209711115887085274963479149215294522614826711884089234239079497713019832361629183897273583620120279810795874961748149055987445806890888166142259772110905418070920275724801240173893926636402969213744171294221148062876746629948060519238792397930310347876326976595787899164608763892383387014233859028788295718690833546131024476757138748989082024434895908147566047360796596468743093604 946164538058040507186692795482655566667971936332478242842033885454940827271466604167392037561194480792544466371769528607482536985581519302706508504137268980448403883032578494885512903247469816101308862977844047075451731463075411385878524719250390618991333444347235350426657671337823164945619766329894787532989587438098076265258641410165062490229322852375423183900164100591194791893670907920523732823027864186370297162762896552173404319867119466347858217020580111022221386575745002612500224313699981165381100067985989027064780911265785916496229084698285648359080012429361200832393472414031868750456312925258733608088888354060326519583131757162598086714311749801686225874790014894391938900334910329380211107664429207476473718686294829514158136385027600951945364248275979525999932418876882775928875692454820760871492502164323196776035007615186320584192767179346093652755924898886271411185911206546124036727867007309424123961119690294587198073541426992281355958826545027059840860352167136216311364750087170187381458100618644297021648392693393058930772682381376825796163199368395606808767204994122938955904008693052367237085373024838636436509989293339584331844255357861123026158313206574593588969519051491419401099057339323509704331366158805813621481705108095483336038662093690423388525523080211563427925588675225726906368855599142660889264658626706180098379373756836610887830224949585244504429898512227114822206162238174861824835611238074122560301073876703586489211488558779235071495937419534067365967095441978897099847363756799499909978984348859748078460996065259196096407866899546002878798036438638250047536059606057903955215965368442398064923692358397530664185626586270888157590366477155427976447722564817323975284073707560725330794449712570585365655085813600028206499968179585421042207905931914868307948470298346400742664747284015913565610973136525858316668011760687473820375989264121312291262656537901113546684731298771152341407397519400378564423608045594615447 1530926381527752969952424513350598309215667082904713530665160198258811985586075812721465254831897422698594785862128090910592746377498640719148765513987003056994330453946262580004663398292290759555755511125472557054514898562673602987351795159867335734722234638951152201723705101333365685051310625038607894362900689986389387495569603455093917487815618386981558900262479717706911855997074545994159563251616941642055894727218494243015255464205583521053669228934318182471992509776071310598350490802505793295441764634982136550078258993853221415191312345173911780661974551069163313487586859601137662064369707815276703695476525850471337882378255635018256061659837948728372036734378132477668632092714605585718791543478443753719344715694125382366664684583176417617030551058792002403787314322965266235722299389835208157570018183790635474204029509065198840501812584414111271093094367594110997565541704340773664384944002061165337941823990721241210350366831143785272549741652629152041979018172125527908688013159761353356984317075159793609941874116032206032750895588756610113475479999591427391808424907902705532333211450018242078095566767422435360351134209657154395967072343549184369670658929404823981519925973863786454523349650192365178011607190161588510311934954723577382973511232160476065871047443480324127727345378692458260075786253466229147979964596092967556803283066667877679163019545385537401591260011990319949054403638221685057532619015421868937306660833795391330679435998820673909179157201487868228546338468686986384199935041910091421227037021128952512564314638628046678780230616832578964088509152325723525011015208821352426570042677252531632304003190071417363025814810483544471777710646287951302938195871620804769782174961873702985102905355130641505641379887053773922133136371148799165213502127079977745054578418358865639535062677594363789892587568924425022925431904144074488054235018052417030982096202668925590303823480287853176776303305666966425925220204514337709051 2477090919585793477139117308833253875883639019237191773507194083713752812857542416888857292393091903491139252233897619518075283363080160021855274018124272037442734336978841074890176301539760575657064374103316604129966630025749014373230319879117726353713568083298387552150362772671188849996930391368502681895890277424487463760828244865258979978044941239356982084162643818298106647890745453914683296074644805828426191889981390795188659784072702987401527445954898293494213896351816313210850715116205774460822864702968125577143039905119007331687541429872197429021054563498524514319980332015169530814826020740535437303565414204531664401961387392180854148374149698530058262609168147372060570993049515915099002651142872961195818434380420211880822820968204018568975915307067981929787246741842149011651175082290028918441510685954958670980064516680385161086005351593457364745850292492997268976727615547319788421671869068474762065785110411535797548440372570777553905700479174179101819878524292664124999377909848523544365775175778437906963522508725599091681668271137986939271643198959822998617192112896828471289115458711294445332652140447273996787644198950493980298916598907045492696817242611398575108895492915277873924448707531688687715938556320394323933416659831672866309549894254166489259572966560535691155270967367683986982155109065371808869229254719673736901662440424714290050849770335122646095689910502547063876609800459859919357454626659943059866961907672094917168647487379453144250653138907402295912305564128965281299782405666890921137016005477812260642775634693305874876638483732124966967307188764361775058551268427410330525258642620974030368926882429814893690000437069815359935301012765106730914643594185622093757459035581263710433699804843212091007034972867373950339636339328384586255710033011892613362526888657212040277727424878379703458198542060950881242099915904761961874611007316538343273358859206826703850508211586624329117710703186366804489643812559932324498 4008017301113546447091541822183852185099306102141905304172354281972564798443618229610322547224989326189734038096025710428668029740578800741004039532111275094437064790925103654894839699832051335212819885228789161184481528588422617360582115038985062088435802722249539753874067874004554535048241016407110576258790967410876851256397848320352897465860559626338540984425123536005018503887819999908842859326261747470482086617199885038203915248278286508455196674889216475966206406127887623809201205918711567756264629337950262127221298898972228746878853775046109209683029114567687827807567191616307192879195728555812140999041940055003002284339643027199110210033987647258430299343546279849729203085764121500817794194621316714915163150074545594247487505551380436186006466365859984333574561064807415247373474472125237076011528869745594145184094025745584001587817936007568635838944660087108266542269319888093452806615871129640100007609101132777007898807203714562826455442131803331143798896696418192033687391069609876901350092250938231516905396624757805124432563859894597052747123198551250390425617020799534003622326908729536523428218907869709357138778408607648376265988942456229862367476172016222556628821466779064328447798357724053865727545746481982834245351614555250249283061126414642555130620410040859818882616346060142247057941362531600956849193850812641293704945507092591969213869315720660047686949922492867012931013438681544976890073642081811997173622741467486247848083486200127053429810340395270524458644032815951665499717447576982342364053026606764773207090273321352553656869100564703931055816341090085300069566477248762757095301319873505662672930072501232256715815247553359831713011659053058033852839465806426863539633997454966695536605159973853596648414859921147872472772710477183751469212160091870358417105307016077679812790102472743493350786110985375904167531820048836449928846025368955374255455061875752294154331691874477505894014008853333230414864017074270033549 6485108220699339924230659131017106060982945121379097077679548365686317611301160646499179839618081229680873290329923329946743313103658960762859313550235547131879799127903944729785016001371811910869884259332105765314448158614171631733812434918102788442149370805547927306024430646675743385045171407775613258154681244835364315017226093185611877443905500865695523068587767354303125151778565453823526155400906553298908278507181275833392575032350989495856724120844114769460420302479703937020051921034917342217087494040918387704364338804091236078566395204918306638704083678066212342127547523631476723694021749296347578302607354259534666686301030419379964358408137345788488561952714427221789774078813637415916796845764189676110981584454965806128310326519584454754982381672927966263361807806649564259024649554415265994453039555700552816164158542425969162673823287601026000584794952580105535518996935435413241228287740198114862073394211544312805447247576285340380361142610977510245618775220710856158686768979458400445715867426716669423868919133483404216114232131032583992018766397511073389042809133696362474911442367440830968760871048316983353926422607558142356564905541363275355064293414627621131737716959694342202372247065255742553443484302802377158178768274386923115592611020668809044390193376601395510037887313427826234040096471596972765718423105532315030606607947517306259264719086055782693782639832995414076807623239141404896247528268741755057040584649139581165016730973579580197680463479302672820370949596944916946799499853243873263501069032084577033849865908014658428533507584296828898023123529854447075128117745676173087620559962494479693041856954931047150405815684623175191648312671818164764767483059992048957297093033036230405970304964817065687655449832788521822812409049805568337724922193103762971779632195673289720090517527351123196808984653046326785409631735953598411803457032685493717528813921082578998004839903461101835011724712039700034904507829634202358047 10493125521812886371322200953200958246082251223521002381851902647658882409744778876109502386843070555870607328425949040375411342844237761503863353082346822226316863918829048384679855701203863246082704144560894926498929687202594249094394549957087850530585173527797467059898498520680297920093412424182723834413472212246241166273623941505964774909766060492034064053012890890308143655666385453732369014727168300769390365124381160871596490280629276004311920795733331245426626708607591560829253126953628909973352123378868649831585637703063464825445248979964415848387112792633900169935114715247783916573217477852159719301649294314537668970640673446579074568442124993046918861296260707071518977164577758916734591040385506391026144734529511400375797832070964890940988848038787950596936368871456979506398124026540503070464568425446146961348252568171553164261641223608594636423739612667213802061266255323506694034903611327754962081003312677089813346054779999903206816584742780841389417671917129048192374160049068277347065959677654900940774315758241209340546795990927181044765889596062323779468426154495896478533769276170367492189089956186692711065201016165790732830894483819505217431769586643843688366538426473406530820045422979796419171030049284359992424119888942173364875672147083451599520813786642255328920503659487968481098037834128573722567616956344956324311553454609898228478588401776442741469589755488281089738636677822949873137601910823567054214207390607067412864814459779707251110273819697943344829593629760868612299217300820855605865122058691341807056956181336010982190376684861532829078939870944532375197684222924935844715861282367985355714787027432279407121630932176535023361324330871222798620322525798475820836727030491197101506910124790919284303864692709669695285181760282752089194134353195633330196737502689367399903307629823866690159770764031702689577163556002434861732303058054449091784268982958331292159171595335579340905738720893033265319371846708472391596 16978233742512226295552860084218064307065196344900099459531451013345200021045939522608682226461151785551480618755872370322154655947896722266722666632582369358196663046732993114464871702575675156952588403893000691813377845816765880828206984875190638972734544333345394365922929167356041305138583831958337092568153457081605481290850034691576652353671561357729587121600658244611268807444950907555895170128074854068298643631562436704989065312980265500168644916577446014887047011087295497849305047988546252190439617419787037535949976507154700904011644184882722487091196470700112512062662238879260640267239227148507297604256648574072335656941703865959038926850262338835407423248975134293308751243391396332651387886149696067137126318984477206504108158590549345695971229711715916860298176678106543765422773580955769064917607981146699777512411110597522326935464511209620637008534565247319337580263190758919935263191351525869824154397524221402618793302356285243587177727353758351635036447137839904351060929028526677792781827104371570364643234891724613556661028121959765036784655993573397168511235288192258953445211643611198460949961004503676064991623623723933089395800025182780572496063001271464820104255386167748733192292488235538972614514352086737150602888163329096480468283167752260643911007163243650838958390972915794715138134305725546488286040061877271354918161402127204487743307487832225435252229588483695166546259916964354769385130179565322111254792039746648577881545433359287448790737299000616165200543226705785559098717154064728869366191090775918840906822089350669410723884269158361727102063400798979450325801968601108932336421244862465048756643982363326557527446616799710215009637002689387563387805585790524778133820063527427507477215089607984971959314525498191518097590810088320426919056546299396301976369698362657119993825157174989886968755417078029474986795291956033273535760090739942809313082904040910290164011498796681175917463432932733300223879676342674749643 27471359264325112666875061037419022553147447568421101841383353661004082430790718398718184613304222341422087947181821410697565998792134483770586019714929191584513526965562041499144727403779538403035292548453895618312307533019360129922601534832278489503319717861142861425821427688036339225231996256141060926981625669327846647564473976197541427263437621849763651174613549134919412463111336361288264184855243154837689008755943597576585555593609541504480565712310777260313673719694887058678558174942175162163791740798655687367535614210218165729456893164847138335478309263334012681997776954127044556840456705000667016905905942888610004627582377312538113495292387331882326284545235841364827728407969155249385978926535202458163271053513988606879905990661514236636960077750503867457234545549563523271820897607496272135382176406592846738860663678769075491197105734818215273432274177914533139641529446082426629298094962853624786235400836898492432139357136285146793994312096539193024454119054968952543435089077594955139847786782026471305417550649965822897207824112886946081550545589635720947979661442688155431978980919781565953139050960690368776056824639889723822226694509002285789927832587915308508470793812641155264012337911215335391785544401371097143027008052271269845343955314835712243431820949885906167878894632403763196236172139854120210853657018222227679229714856737102716221895889608668176721819343971976256284896594787304642522732090388889165468999430353715990746359893138994699901011118698559510030136856466654171397934454885584475231313149467260647963778270686680392914260954019894556181003271743511825523486191526044777052282527230450404471431009795605964649077548976245238370961333560610362008128111589000598970547094018624608984125214398904256263179218207861213382772570371072516113190899495029632173107201052024519897132786998856577128526181109732164563958847958468135268063148794391901097351886999241582323183094132260516823202153825766565543251523051147141239 44449593006837338962427921121637086860212643913321201300914804674349282451836657921326866839765374126973568565937693781019720654740031206037308686347511560942710190012295034613609599106355213559987880952346896310125685378836126010750808519707469128476054262194488255791744356855392380530370580088099398019549779126409452128855324010889118079617109183207493238296214207379530681270556287268844159354983318008905987652387506034281574620906589807004649210628888223275200720730782182556527863222930721414354231358218442724903485590717372866633468537349729860822569505734034125194060439193006305197107695932149174314510162591462682340284524081178497152422142649670717733707794210975658136479651360551582037366812684898525300397372498465813384014149252063582332931307462219784317532722227670067037243671188452041200299784387739546516373074789366597818132570246027835910440808743161852477221792636841346564561286314379494610389798361119895050932659492570390381172039450297544659490566192808856894496018106121632932629613886398041670060785541690436453868852234846711118335201583209118116490896730880414385424192563392764414089011965194044841048448263613656911622494534185066362423895589186773328575049198808903997204630399450874364400058753457834293629896215600366325812238482587972887342828113129557006837285605319557911374306445579666699139697080099499034147876258864307203965203377440893611974048932455671422831156511751659411907862269954211276723791470100364568627905326498282148691748417699175675230680083172439730496651608950313344597504240243179488870600360037349803638145223178256283283066672542491275849288160127153709388703772092915453228074992158932522176524165775955453380598336249997925395933697379525377104367157546052116461340304006889228222493743706052731480363380459392943032247445794425934149476899414681639890957944173846464097281598187761639550754139914501408803823239534334710410434791040151872487194592928941692740665586758499865767131199393821890882 71920952271162451629302982159056109413360091481742303142298158335353364882627376320045051453069596468395656513119515191717286653532165689807894706062440752527223716977857076112754326510134751963023173500800791928437992911855486140673410054539747617979373980055631117217565784543428719755602576344240458946531404795737298776419797987086659506880546805057256889470827756514450093733667623630132423539838561163743676661143449631858160176500199348509129776341199000535514394450477069615206421397872896576518023099017098412271021204927591032362925430514576999158047814997368137876058216147133349753948152637149841331416068534351292344912106458491035265917435037002600059992339446817022964208059329706831423345739220100983463668426012454420263920139913577818969891385212723651774767267777233590309064568795948313335681960794332393255233738468135673309329675980846051183873082921076385616863322082923773193859381277233119396625199198018387483072016628855537175166351546836737683944685247777809437931107183716588072477400668424512975478336191656259351076676347733657199885747172844839064470558173568569817403173483174330367228062925884413617105272903503380733849189043187352152351728177102081837045843011450059261216968310666209756185603154828931436656904267871636171156193797423685130774649063015463174716180237723321107610478585433786909993354098321726713377591115601409920187099267049561788695868276427647679116053106538964054430594360343100442192790900454080559374265219637276848592759536397735185260816939639093901894586063835897819828817389710440136834378630724030196552406177198150839464069944286003101372774351653198486440986299323365857699506001954538486825601714752200691751559669810608287404061808968525976074914251564676725445465518405793484485672961913913944863135950830465459145438345289455566322584100466706159788090731172703041225807779297493804114712987872969544071886388328726611507786678039393454810377687061202209563867740584266431310382722444969032121 116370545277999790591730903280693196273572735395063504443212963009702647334464034241371918292834970595369225079057208972737007308272196895845203392409952313469933906990152110726363925616489965523011054453147688238563678290691612151424218574247216746455428242250119373009310141398821100285973156432339856966081183922146750905275121997975777586497655988264750127767041963893980775004223910898976582894821879172649664313530955666139734797406789155513778986970087223810715115181259252171734284620803617990872254457235541137174506795644963898996393967864306859980617320731402263070118655340139654951055848569299015645926231125813974685196630539669532418339577686673317793700133657792681100687710690258413460712551904999508764065798510920233647934289165641401302822692674943436092299990004903657346308239984400354535981745182071939771606813257502271127462246226873887094313891664238238094085114719765119758420667591612614007014997559138282534004676121425927556338390997134282343435251440586666332427125289838221005107014554822554645539121733346695804945528582580368318220948756053957180961454904448984202827366046567094781317074891078458458153721167117037645471683577372418514775623766288855165620892210258963258421598710117084120585661908286765730286800483472002496968432280011658018117477176145020181553465843042879018984785031013453609133051178421225747525467374465717124152302644490455400669917208883319101947209618290623466338456630297311718916582370554445128002170546135558997284507954096910860491497022811533632391237672786211164426321629953619625704978990761380000190551400376407122747136616828494377222062511780352195829690071416281310927580994113471009002125880528156145132158006060606212799995506348051353179281409110728841906805822412682712708166705619966676343499331289858402177685791083881500472060999881387799679048675346549505323089377485255443665467127787470952875709627863061321918221469079545327297572279990143902304533327342766297077513921838790923003 188291497549162242221033885439749305686932826876805807585511121345056012217091410561416969745904567063764881592176724164454293961804362585653098098472393065997157623968009186839118252126624717486034227953948480167001671202547098292097628628786964364434802222305750490226875925942249820041575732776580315912612588717884049681694919985062437093378202793322007017237869720408430868737891534529109006434660440336393340974674405297997894973906988504022908763311286224346229509631736321786940706018676514567390277556252639549445528000572554931359319398378883859138665135728770400946176871487273004705004001206448856977342299660165267030108736998160567684257012723675917853692473104609704064895770019965244884058291125100492227734224523374653911854429079219220272714077887667087867067257782137247655372808780348667871663705976404333026840551725637944436791922207719938278186974585314623710948436802688892952280048868845733403640196757156670017076692750281464731504742543971020027379936688364475770358232473554809077584415223247067621017457925002955156022204930314025518106695928898796245432013078017554020230539529741425148545137816962872075258994070620418379320872620559770667127351943390937002666735221709022519638567020783293876771265063115697166943704751343638668124626077435343148892126239160483356269646080766200126595263616447240519126405276742952460903058490067127044339401911540017189365785485310966781063262724829587520769050990640412161109373271008525687376435765772835845877267490494646045752313962450627534285823736622108984255139019664059762539357621485410196742957577574557962211206561114497478594836863433550682270676370739647168627086996068009495827727595280356836883717675871214500204057315316577329254195660675405567352271340818476197193839667533880621206635282120323861323124136373337066794645100348093959467139406519252546548897156782749247780180115660440496947596016191787933426008147118938782107949967051346111868401067927032728387896644283759955124 304662042827162032812764788720442501960505562271869312028724084354758659551555444802788888038739537659134106671233933137191301270076559481498301490882345379467091530958161297565482177743114683009045282407096168405565349493238710443521847203034181110890230464555869863236186067341070920327548889208920172878693772640030800586970041983038214679875858781586757145004911684302411643742115445428085589329482319509043005288205360964137629771313777659536687750281373448156944624812995573958674990639480132558262532013488180686620034796217518830355713366243190719119282456460172664016295526827412659656059849775747872623268530785979241715305367537830100102596590410349235647392606762402385165583480710223658344770843030100000991800023034294887559788718244860621575536770562610523959367247787040905001681048764749022407645451158476272798447364983140215564254168434593825372500866249552861805033551522454012710700716460458347410655194316294952551081368871707392287843133541105302370815188128951142102785357763393030082691429778069622266556579658349650960967733512894393836327644684952753426393467982466538223057905576308519929862212708041330533412715237737456024792556197932189181902975709679792168287627431967985778060165730900377997356926971402462897230505234815641165093058357447001167009603415305503537823111923809079145580048647460694128259456455164178208428525864532844168491704556030472590035702694194285883010472343120210987107507620937723880025955641562970815378606311908394843161775444591556906243810985262161166677061409408320148681460649617679388244336612246790196933508977950965084958343177942991855816899375213902878100366442155928479554667990181480504829853475808512982015875681931820713004052821664628682433477069786134409259077163231158909902006373153847297550134613410182263500809927457218567266706100229481759146188081865802051871986534268004691445647243447911449823305644054849255344229616198484109405522247041490014172934395269799025465410566122550878127 492953540376324275033798674160191807647438389148675119614235205699814671768646855364205857784644104722898988263410657301645595231880922067151399589354738445464249154926170484404600429869739400495079510361044648572567020695785808735619475831821145475325032686861620353463061993283320740369124621985500488791306361357914850268664961968100651773254061574908764162242781404710842512480006979957194595764142759845436346262879766262135524745220766163559596513592659672503174134444731895745615696658156647125652809569740820236065562796790073761715032764622074578257947592188943064962472398314685664361063850982196729600610830446144508745414104535990667786853603134025153501085079867012089230479250730188903228829134155200493219534247557669541471643147324079841848250848450277611826434505569178152657053857545097690279309157134880605825287916708778160001046090642313763650687840834867485515981988325142905662980765329304080814295391073451622568158061621988857019347876085076322398195124817315617873143590236947839160275845001316689887574037583352606116989938443208419354434340613851549671825481060484092243288445106049945078407350525004202608671709308357874404113428818491959849030327653070729170954362653677008297698732751683671874128192034518160064174209986159279833217684434882344315901729654465986894092758004575279272175312263907934647385861731907130669331584354599971212831106467570489779401488179505252664073735067949798507876558611578136041135328912571496502755042077681230689039042935086202951996124947712788700962885146030429132936599669281739150783694233732200393676466555525523047169549739057489334411736238647453560371042812895575648181754986249490000657581071088869818899593357803035213208110136981206011687672730461539976611348504049635107095846040687727918756769895530506124823934063830555634061351200577575718613327488385054598420883691050753939225827359108351946770901660246637188770237763317422891513472214092836126041335463196831753853307210406310833251 797615583203486307846563462880634309607943951420544431642959290054573331320202300166994745823383642382033094934644590438836896501957481548649701080237083824931340685884331781970082607612854083504124792768140816978132370189024519179141323034855326586215263151417490216699248060624391660696673511194420661670000133997945650855635003951138866453129920356495521307247693089013254156222122425385280185093625079354479351551085127226273154516534543823096284263874033120660118759257727469704290687297636779683915341583229000922685597593007592592070746130865265297377230048649115728978767925142098324017123700757944602223879361232123750460719472073820767889450193544374389148477686629414474396062731440412561573599977185300494211334270591964429031431865568940463423787619012888135785801753356219057658734906309846712686954608293356878623735281691918375565300259076907589023188707084420347321015539847596918373681481789762428224950585389746575119239430493696249307191009626181624769010312946266759975928948000340869242967274779386312154130617241702257077957671956102813190761985298804303098218949042950630466346350682358465008269563233045533142084424546095330428905985016424149030933303362750521339241990085644994075758898482584049871485119005920622961404715220974920998310742792329345482911333069771490431915869928384358417755360911368628775645318187071308877760110219132815381322811023600962369437190873699538547084207411070009494984066232515859921161284554134467318133648389589625532200818379677759858239935932974949867639946555438749281618060318899418539028030845978990590609975533476488132127892917000481190228635613861356438471409255051504127736422976430970505487434546897382800915469039734855926212162958645834694121149800247674385870425667280794016997852413841575216306904508940688388324743991287774201328057300807057477759515570250856650292870225318758630671474602556263396594207304301486444114467379515907000918994461134326140214269858466630779318717776528861711378 1290569123579810582880362137040826117255382340569219551257194495754388003088849155531200603608027747104932083198055247740482491733838403615801100669591822270395589840810502266374683037482593483999204303129185465550699390884810327914760798866676472061540295838279110570162310053907712401065798133179921150461306495355860501124299965919239518226383981931404285469490474493724096668702129405342474780857767839199915697813964893488408679261755309986655880777466692793163292893702459365449906383955793426809568151152969821158751160389797666353785778895487339875635177640838058793941240323456783988378187551740141331824490191678268259206133576609811435676303796678399542649562766496426563626541982170601464802429111340500987430868518149633970503075012893020305272038467463165747612236258925397210315788763854944402966263765428237484449023198400696535566346349719221352673876547919287832836997528172739824036662247119066509039245976463198197687397492115685106326538885711257947167205437763582377849072538237288708403243119780703002041704654825054863194947610399311232545196325912655852770044430103434722709634795788408410086676913758049735750756133854453204833019413834916108879963631015821250510196352739322002373457631234267721745613311040438783025578925207134200831528427227211689798813062724237477326008627932959637689930673175276563423031179918978439547091694573732786594153917491171452148838679053204791211157942479019808002860624844093995962296613466705963820888690467270856221239861314763962810236060880687738568602831701469178414554659988181157689811725079711190984286442089002011179297442656057970524640371852508809998842452067947079775918177962680460506145015617986252619815062397537891139420273095627040705808822530709214362481774171330429124093698454529303135063674404471194513148678055118329835389408501384633196372843058635911248713753916369512569897301961664615343365108964548123632884705142833329892432466675227162266255605321663462533172024986935172544629 2088184706783296890726925599921460426863326291989763982900153785808961334409051455698195349431411389486965178132699838179319388235795885164450801749828906095326930526694834048344765645095447567503329095897326282528831761073834847093902121901531798647755558989696600786861558114532104061762471644374341812131306629353806151979934969870378384679513902287899806776738167582737350824924251830727754965951392918554395049365050020714681833778289853809752165041340725913823411652960186835154197071253430206493483492736198822081436757982805258945856525026352605173012407689487174522920008248598882312395311252498085934048369552910392009666853048683632203565753990222773931798040453125841038022604713611014026376029088525801481642202788741598399534506878461960768695826086476053883398038012281616267974523670164791115653218373721594363072758480092614911131646608796128941697065255003708180158013068020336742410343728908828937264196561852944772806636922609381355633729895337439571936215750709849137825001486237629577646210394560089314195835272066757120272905282355414045735958311211460155868263379146385353175981146470766875094946476991095268892840558400548535261925398851340257910896934378571771849438342824966996449216529716851771617098430046359405986983640428109121829839170019541035281724395794008967757924497861343996107686034086645192198676498106049748424851804792865601975476728514772414518275869926904329758242149890089817497844691076609855883457898020840431139022338856860481753440679694441722668475996813662688436242778256907927696172720307080576228839755925690181574896417622478499311425335573058451714869007466370166437313861322998583903654600939111431011632450164883635420730531437272747065632436054272875399929972330956888748352199838611223141091550868370878351370578913411882901473422046406104036717465802191690674132358628886767899006624141688271200568776564220878739959316268849610076999172522349236893351461136361488406469875180130093312490742763464034256007 3378753830363107473607287736962286544118708632558983534157348281563349337497900611229395953039439136591897261330755085919801879969634288780251902419420728365722520367505336314719448682578041051502533399026511748079531151958645175008662920768208270709295854827975711357023868168439816462828269777554262962592613124709666653104234935789617902905897884219304092246228642076461447493626381236070229746809160757754310747179014914203090513040045163796408045818807418706986704546662646200604103455209223633303051643889168643240187918372602925299642303921839945048647585330325233316861248572055666300773498804238227265872859744588660268872986625293443639242057786901173474447603219622267601649146695781615491178458199866302469073071306891232370037581891354981073967864553939219631010274271207013478290312434019735518619482139149831847521781678493311446697992958515350294370941802922996012995010596193076566447005976027895446303442538316142970494034414725066461960268781048697519103421188473431515674074024474918286049453514340792316237539926891811983467852892754725278281154637124116008638307809249820075885615942259175285181623390749145004643596692255001740094944812686256366790860565394393022359634695564288998822674160951119493362711741086798189012562565635243322661367597246752725080537458518246445083933125794303633797616707261921755621707678025028187971943499366598388569630646005943866667114548980109120969400092369109625500705315920703851845754511487546394959911029324131337974680541009205685478712057694350427004845609958377106110727380295261733918651481005401372559182859711480510490722778229116422239509379318878976436156313390945663679572778901791891517777465782869888040545593834810638205052709149899916105738794861666103110833974009941652265185249322900181486434253317883077414622100101524433872106874303576323870505201687522679147720378058057783770466078525885494083324425233397733709883877665182566785783927811588650672725480501793555845662767750399206800636 5466938537146404364334213336883746970982034924548747517057502067372310671906952066927591302470850526078862439463454924099121268205430173944702704169249634461049450894200170363064214327673488619005862494923838030608362913032480022102565042669740069357051413817672312143885426282971920524590741421928604774723919754063472805084169905659996287585411786507203899022966809659198798318550633066797984712760553676308705796544064934917772346818335017606160210860148144620810116199622833035758300526462653839796535136625367465321624676355408184245498828948192550221659993019812407839781256820654548613168810056736313199921229297499052278539839673977075842807811777123947406245643672748108639671751409392629517554487288392103950715274095632830769572088769816941842663690640415273514408312283488629746264836104184526634272700512871426210594540158585926357829639567311479236068007057926704193153023664213413308857349704936724383567639100169087743300671337334447817593998676386137091039636939183280653499075510712547863695663908900881630433375198958569103740758175110139324017112948335576164506571188396205429061597088729942160276569867740240273536437250655550275356870211537596624701757499772964794209073038389255995271890690667971264979810171133157594999546206063352444491206767266293760362261854312255412841857623655647629905302741348566947820384176131077936396795304159463990545107374520716281185390418907013450727642242259199442998550006997313707729212409508386826098933368180991819728121220703647408147188054508013115441088388215285033806900100602342310147491236931091554134079277333959009802148113802174873954378386785249142873470174713944247583227379840903322529409915947753523461276125272083385270685145204172791505668767192622991859186173848552875406276800191271059837804832231294960316095522147930537908824340105768014544637560316409447046727002199746054971034855090106372823283741502247343786883050187531803679135388947950139079195355681923649158153510513863241056643 8845692367509511837941501073846033515100743557107731051214850348935660009404852678156987255510289662670759700794210010018923148175064462724954606588670362826771971261705506677783663010251529670508395893950349778687894064991125197111227963437948340066347268645648023500909294451411736987419011199482867737316532878773139458188404841449614190491309670726507991269195451735660245812177014302868214459569714434063016543723079849120862859858380181402568256678955563327796820746285479236362403981671877473099586780514536108561812594728011109545141132870032495270307578350137641156642505392710214913942308860974540465794089042087712547412826299270519482049869564025120880693246892370376241320898105174245008732945488258406419788345402524063139609670661171922916631555194354493145418586554695643224555148538204262152892182652021258058116321837079237804527632525826829530438948860849700206148034260406489875304355680964619829871081638485230713794705752059514279554267457434834610143058127656712169173149535187466149745117423241673946670915125850381087208611067864864602298267585459692173144878997646025504947213030989117445458193258489385278180033942910552015451815024223852991492618065167357816568707733953544994094564851619090758342521912219955784012108771698595767152574364513046485442799312830501857925790749449951263702919448610488703442091854156106124368738803526062379114738020526660147852504967887122571697042334628309068499255322918017559574966920995933221058844397505123157702801761712853093625900112202363542445933998173662139917627480897604044066142717936492926693262137045439520292870892031291296193887766104128119309626488104889911262800158742695214047187381730623411501821719106894023475737854354072707611407562054289094970020147858494527671462049514171241324239085549178037730717622249454971780931214409344338415142762003932126194447380257803838741500933615991866906608166735645077496766927852714370464919316759538789751920836183717205003816278264262447857279 14312630904655916202275714410729780486082778481656478568272352416307970681311804745084578557981140188749622140257664934118044416380494636669657310757919997287821422155905677040847877337925018289514258388874187809296256978023605219213793006107688409423398682463320335644794720734383657512009752621411472512040452632836612263272574747109610478076721457233711890292162261394859044130727647369666199172330268110371722340267144784038635206676715199008728467539103707948606936945908312272120704508134531312896121917139903573883437271083419293790639961818225045491967571369950048996423762213364763527111118917710853665715318339586764825952665973247595324857681341149068286938890565118484880992649514566874526287432776650510370503619498156893909181759430988864759295245834769766659826898838184272970819984642388788787164883164892684268710861995665164162357272093138308766506955918776404399301057924619903184161705385901344213438720738654318457095377089393962097148266133820971701182695066839992822672225045900014013440781332142555577104290324808950190949369242975003926315380533795268337651450186042230934008810119719059605734763126229625551716471193566102290808685235761449616194375564940322610777780772342800989366455542287062023322332083353113379011654977761948211643781131779340245805061167142757270767648373105598893608222189959055651262476030287184060765534107685526369659845395047376429037895386794136022424684576887508511497805329915331267304179330504320047157777765686114977430922982416500501773088166710376657887022386388947173724527581499946354213633954867584480827341414379398530095019005833466170148266152889377262183096662818834158846027538583598536576597297678376934963097844378977408746422999558245499117076329246912086829206321707047403077738849705442301162043917780472998046813144397385509689755554515112352959780322320341573241174382457549893712535788706098239729891908237892421283649978040246174144054705707488928831116191865640854161969788778125688913922 23158323272165428040217215484575814001183522038764209619487202765243630690716657423241565813491429851420381841051874944136967564555559099394611917346590360114593393417611183718631540348176547960022654282824537587984151043014730416325020969545636749489745951108968359145704015185795394499428763820894340249356985511609751721460979588559224668568031127960219881561357713130519289942904661672534413631899982544434738883990224633159498066535095380411296724218059271276403757692193791508483108489806408785995708697654439682445249865811430403335781094688257540762275149720087690153066267606074978441053427778685394131509407381674477373365492272518114806907550905174189167632137457488861122313547619741119535020378264908916790291964900680957048791430092160787675926801029124259805245485392879916195375133180593050940057065816913942326827183832744401966884904618965138296945904779626104605449092185026393059466061066865964043309802377139549170890082841453476376702533591255806311325753194496704991845374581087480163185898755384229523775205450659331278157980310839868528613648119254960510796329183688256438956023150708177051192956384719010829896505136476654306260500259985302607686993630107680427346488506296345983461020393906152781664853995573069163023763749460543978796355496292386731247860479973259128693439122555550157311141638569544354704567884443290185134272911211588748774583415574036576890400354681258594121726911515817579997060652833348826879146251500253268216622163191238135133724744129353595398988278912740200332956384562609313642155062397550398279776672804077407520603551424838050387889897864757466342153918993505381492723150923724070108827697326293750623784679409000346464919563485871432222160853912318206728483891301201181799226469565541930749200899219613542486283003329651035777530766646840481470686768924456691374923084324273699435621762715353732454036722322090106636500074973537498780416905892960544608974022467027718583037028049358059165786067042388136771201 37470954176821344242492929895305594487266300520420688187759555181551601372028462168326144371472570040170003981309539878255011980936053736064269228104510357402414815573516860759479417686101566249536912671698725397280408021038335635538813975653325158913144633572288694790498735920179052011438516442305812761397438144446363984733554335668835146644752585193931771853519974525378334073632309042200612804230250654806461224257369417198133273211810579420025191757162979225010694638102103780603812997940940098891830614794343256328687136894849697126421056506482586254242721090037739149490029819439741968164546696396247797224725721261242199318158245765710131765232246323257454571028022607346003306197134307994061307811041559427160795584398837850957973189523149652435222046863894026465072384231064189166195117822981839727221948981806626595538045828409566129242176712103447063452860698402509004750150109646296243627766452767308256748523115793867627985459930847438473850799725076778012508448261336697814517599626987494176626680087526785100879495775468281469107349553814872454929028653050228848447779369730487372964833270427236656927719510948636381612976330042756597069185495746752223881369195048003038124269278639146972827475936193214804987186078926182542035418727222492190440136628071726977052921647116016399461087495661149050919363828528600005967043914730474245899807018897115118434428810621413005928295741475394616546411488403326091494865982748680094183325582004573315374399928877353112564647726545854097172076445623116858219978770951556487366682643897496752493410627671661888347944965804236580482908903698223636490420071882882643675819813742558228954855235909892287200381977087377281428017407864848840968583853470563705845560220548113268628432791272589333826939748925055843648326921110124033824343911044225991160442323439569044334703406644615272676796145172903626166572511028188346366391983211429920064066883933206718753028728174516647414153219914998913327755855820513825685123 60629277448986772282710145379881408488449822559184897807246757946795232062745119591567710184963999891590385822361414822391979545491612835458881145451100717517008208991128044478110958034278114209559566954523262985264559064053066051863834945198961908402890584681257053936202751105974446510867280263200153010754423656056115706194533924228059815212783713154151653414877687655897624016536970714735026436130233199241200108247594050357631339746905959831321915975222250501414452330295895289086921487747348884887539312448782938773937002706280100462202151194740127016517870810125429302556297425514720409217974475081641928734133102935719572683650518283824938672783151497446622203165480096207125619744754049113596328189306468343951087549299518808006764619615310440111148847893018286270317869623944105361570251003574890667279014798720568922365229661153968096127081331068585360398765478028613610199242294672689303093827519633272300058325492933416798875542772300914850553333316332584323834201455833402806362974208074974339812578842911014624654701226127612747265329864654740983542676772305189359244108553418743811920856421135413708120675895667647211509481466519410903329685755732054831568362825155683465470757784935492956288496330099367586652040074499251705059182476683036169236492124364113708300782127089275528154526618216699208230505467098144360671611799173764431034079930108703867209012226195449582818696096156653210668138399919143671491926635582028921062471833504826583591022092068591247698372470675207692571064724535857058552935155514165801008837706295047150773187300475739295868548517229074630870798801562981102832573990876388025168542964666282299063682933236186037824166656496377627892936971350720273190744707382881912574044111849314450427659260838131264576140648144669386134609924439775069601874677691066472631129092364025735709626490968888972112417907888257358620609233350278453002892058184967418844483789826167263362002750641544365997190247964356972493541922862901962456324 98100231625808116525203075275187002975716123079605585995006313128346833434773581759893854556436569931760389803670954700646991526427666571523150373555611074919423024564644905237590375720379680459096479626221988382544967085091401687402648920852287067316035218253545748726701487026153498522305796705505965772151861800502479690928088259896894961857536298348083425268397662181275958090169279756935639240360483854047661332504963467555764612958716539251347107732385229726425146968397999069690734485688288983779369927243126195102624139601129797588623207701222713270760591900163168452046327244954462377382521171477889725958858824196961772001808764049535070438015397820704076774193502703553128925941888357107657636000348027771111883133698356658964737809138460092546370894756912312735390253855008294527765368826556730394500963780527195517903275489563534225369258043172032423851626176431122614949392404318985546721593972400580556806848608727284426861002703148353324404133041409362336342649717170100620880573835062468516439258930437799725534197001595894216372679418469613438471705425355418207691887923149231184885689691562650365048395406616283593122457796562167500398871251478807055449732020203686503595027063574639929115972266292582391639226153425434247094601203905528359676628752435840685353703774205291927615614113877848259149869295626744366638655713904238676933886949005818985643441036816862588746991837632047827214549888322469762986792618330709015245797415509399898965422020945944360263020197221061789743141170158973916772913926465722288375520350192543903266597928147401184216493483033311211353707705261204739322994062759270668844362778408840528018538169146078325024548633583754909320954379215569114159328560853445618419604332397427719056092052110720598403080397069725229782936845549899103426218588735292463791571415803594780044329897613504244789214053061160984787181744378466799369284041396397338908550673759373982115031478816061013411343467879355885821297778683415788141447 158729509074794888807913220655068411464165945638790483802253071075142065497518701351461564741400569823350775626032369523038971071919279406982031519006711792436431233555772949715701333754657794668656046580745251367809526149144467739266483866051248975718925802934802802662904238132127945033173076968706118782906285456558595397122622184124954777070320011502235078683275349837173582106706250471670665676490717053288861440752557517913395952705622499082669023707607480227839599298693894358777655973435637868666909239691909133876561142307409898050825358895962840287278462710288597754602624670469182786600495646559531654692991927132681344685459282333360009110798549318150698977358982799760254545686642406221253964189654496115062970682997875466971502428753770532657519742649930599005708123478952399889335619830131621061779978579247764440268505150717502321496339374240617784250391654459736225148634698991674849815421492033852856865174101660701225736545475449268174957466357741946660176851173003503427243548043137442856251837773348814350188898227723506963638009283124354422014382197660607566935996476567974996806546112698064073169071302283930804631939263081578403728557007210861887018094845359369969065784848510132885404468596391949978291266227924685952153783680588564528913120876799954393654485901294567455770140732094547467380374762724888727310267513078003107967966879114522852852453263012312171565687933788701037882688288241613434478719253912737936308269249014226482556444113014535607961392667896269482314205894694830975325849081979888089384358056487591054039785228623140480085042000262385842224506506824185842155568053635658694012905743075122827082221102382264362848715290080132537213891350566289387350073268236327530993648444246742169483751312948851862979221045214394615917546769989674173028093266426358936422700508167620515753956388582393216901631960949418343407790977728745252372176099581364757753034463585541245477034229457605379408533715843712858314839701546317750597771 256829740700603005333116295930255414439882068718396069797259384203488898932292283111355419297837139755111165429703324223685962598346945978505181892562322867355854258120417854953291709475037475127752526206967239750354493234235869426669132786903536043034961021188348551389605725158281443555478873674212084555058147257061075088050710444021849738927856309850318503951673012018449540196875530228606304916851200907336522773257520985469160565664339038334016131439992709954264746267091893428468390459123926852446279166935035328979185281908539695639448566597185553558039054610451766206648951915423645163983016818037421380651850751329643116687268046382895079548813947138854775751552485503313383471628530763328911600190002523886174853816696232125936240237892230625203890637406842911741098377333960694417100988656688351456280942359774959958171780640281036546865597417412650208102017830890858840098027103310660396537015464434433413672022710387985652597548178597621499361599399151308996519500890173604048124121878199911372691096703786614075723095229319401180010688701593967860486087623016025774627884399717206181692235804260714438217466708900214397754397059643745904127428258689668942467826865563056472660811912084772814520440862684532369930492381350120199248384884494092888589749629235795079008189675499859383385754845972395726530244058351633093948923226982241784901853828120341838495894299829174760312679771420748865097238176564083197465511872243446951554066664523626381521866133960479968224412865117331272057347064853804892098763008445610377759878406680134957306383156770541664301535483295697053578214212085390581478562116394929362857268521483963355100759271528342687873263923663887446534845729781858501509401829089773149413252776644169888539843365059572461382301442284119845700483615539573276454311855161651400214271923971215295798286286195897461690846014010579328194972722107212051741460140977762096661585137344915227592065708273666392819877183723068744136137480229733538739218 415559249775397894141029516585323825904048014357186553599512455278630964429810984462816984039237709578461941055735693746724933670266225385487213411569034659792285491676190804668993043229695269796408572787712491118164019383380337165935616652954785018753886824123151354052509963290409388588651950642918203337964432713619670485173332628146804515998176321352553582634948361855623122303581780700276970593341917960625384214010078503382556518369961537416685155147600190182104345565785787787246046432559564721113188406626944462855746424215949593690273925493148393845317517320740363961251576585892827950583512464596953035344842678462324461372727328716255088659612496457005474728911468303073638017315173169550165564379657020001237824499694107592907742666646001157861410380056773510746806500812913094306436608486819972518060920939022724398440285790998538868361936791653267992352409485350595065246661802302335246352436956468286270537196812048686878334093654046889674319065756893255656696352063177107475367669921337354228942934477135428425911993457042908143648697984718322282500469820676633341563880876285181178498781916958778511386538011184145202386336322725324307855985265900530829485921710922426441726596760594905699924909459076482348221758609274806151402168565082657417502870506035749472662675576794426839155895578066943193910618821076521821259190740060244892869820707234864691348347562841486931878367705209449902979926464805696631944231126156184887862335913537852864078310246975015576185805533013600754371552959548635867424612090425498467144236463167726011346168385393682144386577483558082895802720718909576423634130170030588056870174264559086182182980373910607050721979213744019983748737080348147888859475097326100680406901220890912058023594678008424324361522487498514461618030385529247449482405121588010336636972432138835811552242674778290678592477974959997671602763699835957304113636240559126854414619600930456473069099937731271772228410899566781602450977181776051289336989 672388990476000899474145812515579240343930083075582623396771839482119863362103267574172403337074849333573106485439017970410896268613171363992395304131357527148139749796608659622284752704732744924161098994679730868518512617616206592604749439858321061788847845311499905442115688448690832144130824317130287893022579970680745573224043072168654254926032631202872086586621373874072662500457310928883275510193118867961906987267599488851717084034300575750701286587592900136369091832877681215714436891683491573559467573561979791834931706124489289329722492090333947403356571931192130167900528501316473114566529282634374415996693429791967578059995375099150168208426443595860250480463953806387021488943703932879077164569659543887412678316390339718843982904538231783065301017463616422487904878146873788723537597143508323974341863298797684356612066431279575415227534209065918200454427316241453905344688905612995642889452420902719684209219522436672530931641832644511173680665156044564653215852953350711523491791799537265601634031180922042501635088686362309323659386686312290142986557443692659116191765276002387360191017721219492949604004720084359600140733382369070211983413524590199771953748576485482914387408672679678514445350321761014718152250990624926350650553449576750306092620135271544551670865252294286222541650424039338920440862879428154915208113967042486677771674535355206529844241862670661692191047476630198768077164641369779829409742998399631839416402578061479245600176380935495544410218398130932026428900024402440759523375098871108844904114869847860968652551542164223808688112966853779949380934930994967005112692286425517419727442786043049537283739645438949738595243137407907430283582810130006390368876926415873829820153997535081946563438043067996785743823929782634307318514001068820725936716976749661736851244356110051107350528960974188140283323988970576999797736421943169355855096381536888951076204738275371700661165646004938165048288083289850346587114662005784828076207 1087948240251398793615175329100903066247978097432769176996284294760750827791914252036989387376312558912035047541174711717135829938879396749479608715700392186940425241472799464291277795934428014720569671782392221986682532000996543758540366092813106080542734669434651259494625651739100220732782774960048491230987012684300416058397375700315458770924208952555425669221569735729695784804039091629160246103535036828587291201277677992234273602404262113167386441735193090318473437398663469002960483324243056294672655980188924254690678130340438883019996417583482341248674089251932494129152105087209301065150041747231327451341536108254292039432722703815405256868038940052865725209375422109460659506258877102429242728949316563888650502816084447311751725571184232940926711397520389933234711378959786883029974205630328296492402784237820408755052352222278114283589471000719186192806836801592048970591350707915330889241889377371005954746416334485359409265735486691400847999730912937820309912205016527818998859461720874619830576965658057470927547082143405217467308084671030612425487027264369292457755646152287568538689799638178271460990542731268504802527069705094394519839398790490730601439670287407909356114005433274584214370259780837497066374009599899732502052722014659407723595490641307294024333540829088713061697546002106282114351481700504676736467304707102731570641495242590071221192589425512148624069415181839648671057091106175476461353974124555816727278738491599332109678486627910511120596023931144532780800452983951076626947987189296607312048351333015586979998719927557905953074690450411862845183655649904543428746822456456105476597617050602135719466720019349556789317222351151927414032319890478154279228352023741974510227055218425994004587032721076421110105346417281148768936544386598068175419122098337672073488216788248886918902771635752478818875801963930574671400500121779126659968732622096015805490824339205828173730265583736209937276698982856631949038091843781836117413196 1760337230727399693089321141616482306591908180508351800393056134242870691154017519611161790713387408245608154026613729687546726207492568113472004019831749714088564991269408123913562548639160759644730770777071952855201044618612750351145115532671427142331582514746151164936741340187791052876913599277178779124009592654981161631621418772484113025850241583758297755808191109603768447304496402558043521613728155696549198188545277481085990686438562688918087728322785990454842529231541150218674920215926547868232123553750904046525609836464928172349718909673816288652030661183124624297052633588525774179716571029865701867338229538046259617492718078914555425076465383648725975689839375915847680995202581035308319893518976107776063181132474787030595708475722464723992012414984006355722616257106660671753511802773836620466744647536618093111664418653557689698817005209785104393261264117833502875936039613528326532131341798273725638955635856922031940197377319335912021680396068982384963128057969878530522351253520411885432210996838979513429182170829767526790967471357342902568473584708061951573947411428289955898880817359397764410594547451352864402667803087463464731822812315080930373393418863893392270501414105954262728815610102598511784526260590524658852703275464236158029688110776578838576004406081382999284239196426145621034792344579932831651675418674145218248413169777945277751036831288182810316260462658469847439134255747545256290763717122955448566695141069660811355278663008846006665006242329275464807229353008353517386471362288167716156952466202863447948651271469722129761762803417265642794564590580899510433859514742881622896325059836645185256750459664788506527912465488559834844315902700608160669597228950157848340047209215961075951150470764144417895849170347063783076255058387666888901355839075087333810339461144358938026253300596726666959159125952901151671198236543722296015823829003632904756567029077481199874391431229741148102324987066146482295625206505787620945489403 2848285470978798486704496470717385372839886277941120977389340429003621518945931771648151178089699967157643201567788441404682556146371964862951612735532141901028990232742207588204840344573588774365300442559464174841883576619609294109685481625484533222874317184180802424431366991926891273609696374237227270354996605339281577690018794472799571796774450536313723425029760845333464232108535494187203767717263192525136489389822955473320264288842824802085474170057979080773315966630204619221635403540169604162904779533939828301216287966805367055369715327257298629900704750435057118426204738675735075244866612777097029318679765646300551656925440782729960681944504323701591700899214798025308340501461458137737562622468292671664713683948559234342347434046906697664918723812504396288957327636066447554783486008404164916959147431774438501866716770875835803982406476210504290586068100919425551846527390321443657421373231175644731593702052191407391349463112806027312869680126981920205273040262986406349521210715241286505262787962497036984356729252973172744258275556028373514993960611972431244031703057580577524437570616997576035871585090182621369205194872792557859251662211105571660974833089151301301626615419539228846943185869883436008850900270190424391354755997478895565753283601417886132600337946910471712345936742428251903149143826280437508388142723381247949819054665020535348972229420713694958940329877840309496110191346853720732752117691247511265293973879561260143464957149636756517785602266260419997588029805992304594013419349477464323469000817535879034928649991397280035714837493867677505639748246230804053862606337199337728372922676887247320976217179684138063317229687839711762258348222591086314948825580973899822850274264434387069955737503485220839005954516764344931845191602774264957076774961173425005883827677932607824945156072232479145778034927916831726342598736665501422675792561625728920562057853416687028048121696813477358039601686049003114244663298349569457062902599 4608622701706198179793817612333867679431794458449472777782396563246492210099949291259312968803087375403251355594402171092229282353864532976423616755363891615117555224011615712118402893212749534010031213336536127697084621238222044460830597158155960365205899698926953589368108332114682326486609973514406049479006197994262739321640213245283684822624692120072021180837951954937232679413031896745247289330991348221685687578368232954406254975281387491003561898380765071228158495861745769440310323756096152031136903087690732347741897803270295227719434236931114918552735411618181742723257372264260849424583183806962731186017995184346811274418158861644516107020969707350317676589054173941156021496664039173045882515987268779440776865081034021372943142522629162388910736227488402644679943893173108226536997811178001537425892079311056594978381189529393493681223481420289394979329365037259054722463429934971983953504572973918457232657688048329423289660490125363224891360523050902590236168320956284880043561968761698390694998959336016497785911423802940271049243027385716417562434196680493195605650469008867480336451434356973800282179637633974233607862675880021323983485023420652591348226508015194693897116833645183109672001479986034520635426530780949050207459272943131723782971712194464971176342352991854711630175938854397524183936170860370340039818142055393168067467834798480626723266252001877769256590340498779343549325602601265989042881408370466713860669020630920954820235812645602524450608508589695462395259159000658111399890711765632039625953283738742482877301262867002165476600297284943148434312836811703564296465851942219351269247736723892506232967639348926569845142153328271597102664125291694475618422809924057671190321473650348145906887974249365256901803687111408714921446661161931845978130800248512339694167139076966762971409372829205812737194053869732878013796973209223718691616390629361825318624882494168227922513128043218506141926673115149596540288504855357078008392002 7456908172684996666498314083051253052271680736390593755171736992250113729045881062907464146892787342560894557162190612496911838500236497839375229490896033516146545456753823300323243237786338308375331655896000302538968197857831338570516078783640493588080216883107756013799475324041573600096306347751633319834002803333544317011659007718083256619399142656385744605867712800270696911521567390932451057048254540746822176968191188427726519264124212293089036068438744152001474462491950388661945727296265756194041682621630560648958185770075662283089149564188413548453440162053238861149462110939995924669449796584059760504697760830647362931343599644374476788965474031051909377488268971966464361998125497310783445138455561451105490549029593255715290576569535860053829460039992798933637271529239555781320483819582166454385039511085495096845097960405229297663629957630793685565397465956684606568990820256415641374877804149563188826359740239736814639123602931390537761040650032822795509208583942691229564772684002984895957786921833053482142640676776113015307518583414089932556394808652924439637353526589445004774022051354549836153764727816595602813057548672579183235147234526224252323059597166495995523732253184411956615187349869470529486326800971373441562215270422027289536255313612351103776680299902326423976112681282649427333079997140807848427960865436641117886522499819015975695495672715572728196920218339088839659516949454986721794999099617977979154642900192181098285192962282359042236210774850115459983288964992962705413310061243096363094954101274621517805951254264282201191437791152620654074061083042507618159072189141557079642170413611139827209184819033064633162371841167983359361012347882780790567248390897957494040595738084735215862625477734586095907758203875753646766638263936196803054905761421937345577994817009574587916565445061684958515228981786564604356395709874725141367408952255090745880682735910855255970634824856695864181528359164152710784951803204926535071294601 12065530874391194846292131695385120731703475194840066532954133555496605939145830354166777115695874717964145912756592783589141120854101030815798846246259925131264100680765439012441646130999087842385362869232536430236052819096053383031346675941796453953286116582034709603167583656156255926582916321266039369313009001327807056333299220963366941442023834776457765786705664755207929590934599287677698346379245888968507864546559421382132774239405599784092597966819509223229632958353696158102256051052361908225178585709321292996700083573345957510808583801119528467006175573671420603872719483204256774094032980391022491690715756014994174205761758506018992895986443738402227054077323145907620383494789536483829327654442830230546267414110627277088233719092165022442740196267481201578317215422412664007857481630760167991810931590396551691823479149934622791344853439051083080544726830993943661291454250191387625328382377123481646059017428288066237928784093056753762652401173083725385745376904898976109608334652764683286652785881169069979928552100579053286356761610799806350118829005333417635243003995598312485110473485711523636435944365450569836420920224552600507218632257946876843671286105181690689420849086829595066287188829855505050121753331752322491769674543365159013319227025806816074953022652894181135606288620137046951517016168001178188467779007492034285953990334617496602418761924717450497453510558837868183208842552056252710837880507988444693015311920823102053105428774927961566686819283439810922378548123993620816813200773008728402720907385013364000683252517131284366668038088437563802508373919854211182455538041083776430911418150335032333442152458381991203007513994496254956463676473174475266185671200822015165230917211735083361769513451983951352809561890987162361688084925098128649033036561670449685272161956086541350887974817890890771252423035656297482370192683083948860059025342884452571199307618405023483893147952899914370323455032279302307325240308060283613079686603 19522439047076191512790445778436373783975155931230660288125870547746719668191711417074241262588662060525040469918783396086052959354337528655174075737155958647410646137519262312764889368785426150760694525128536732775021016953884721601862754725436947541366333465142465616967058980197829526679222669017672689147011804661351373344958228681450198061422977432843510392573377555478626502456166678610149403427500429715330041514750609809859293503529812077181634035258253375231107420845646546764201778348627664419220268330951853645658269343421619793897733365307942015459615735724659465022181594144252698763482776975082252195413516845641537137105358150393469684951917769454136431565592117874084745492915033794612772792898391681651757963140220532803524295661700882496569656307474000511954486951652219789177965450342334446195971101482046788668577110339852089008483396681876766110124296950628267860445070447803266703260181273044834885377168527803052567907695988144300413441823116548181254585488841667339173107336767668182610572803002123462071192777355166301664280194213896282675223813986342074880357522187757489884495537066073472589709093267165439233977773225179690453779492473101095994345702348186684944581340014007022902376179724975579608080132723695933331889813787186302855482339419167178729702952796507559582401301419696378850096165141986036895739872928675403840512834436512578114257597433023225650430777176957022868359501511239432632879607606422672169954821015283151390621737210320608923030058289926382361837088986583522226510834251824765815861486287985518489203771395566567859475879590184456582435002896718800614610230225333510553588563946172160651337277415055836169885835664238315824688821057256056752919591719972659271512949819818577632138929718537448717320094862916008454723189034325452087942323092387030850156773096115938804540262952575729767652017442862086726588392958674001426434295139543317079990354315878739863782777756610234504983391443455018110192111265210148150981204 31587969921467386359082577473821494515678631126070726821080004103243325607337541771241018378284536778489186382675376179675194080208438559470972921983415883778674746818284701325206535499784513993146057394361073163011073836049938104633209430667233401494652450047177175220134642636354085453262138990283712058460020805989158429678257449644817139503446812209301276179279042310686556093390765966287847749806746318683837906061310031191992067742935411861274232002077762598460740379199342704866457829400989572644398854040273146642358352916767577304706317166427470482465791309396080068894901077348509472857515757366104743886129272860635711342867116656412462580938361507856363485642915263781705128987704570278442100447341221912198025377250847809891758014753865904939309852574955202090271702374064883797035447081102502438006902691878598480492056260274474880353336835732959846654851127944571929151899320639190892031642558396526480944394596815869290496691789044898063065842996200273566999962393740643448781441989532351469263358684171193441999744877934219588021041805013702632794052819319759710123361517786069974994969022777597109025653458717735275654897997777780197672411750419977939665631807529877374365430426843602089189565009580480629729833464476018425101564357152345316174709365225983253682725605690688695188689921556743330367112333143164225363518880420709689794503169054009180533019522150473723103941336014825206077202053567492143470760115594867365185266741838385204496050512138282175609849341729737304740385212980204339039711607260553168536768871301349519172456288526850934527513968027748259090808922750929983070148271309109941465006714281204494093489735797047039177399830160493272288365294231731322938590792541987824502430161554901939401652381702488801526881985850078370142808114132454101120978884762836716122318729182657289692515080843466501020075053099159569096781076042622861485459638023995888279297972720902223756930730656524604828438423722757325435432419325493761230667807 51110408968543577871873023252257868299653787057301387109205874650990045275529253188315259640873198839014226852594159575761247039562776088126146997720571842426085392955803963637971424868569940143906751919489609895786094853003822826235072185392670349036018783512319640837101701616551914979941361659301384747607032610650509803023215678326267337564869789642144786571852419866165182595846932644897997153234246748399167947576060641001851361246465223938455866037336015973691847800044989251630659607749617237063619122371225000288016622260189197098604050531735412497925407045120739533917082671492762171620998534341186996081542789706277248479972474806805932265890279277310499917208507381655789874480619604073054873240239613593849783340391068342695282310415566787435879508882429202602226189325717103586213412531444836884202873793360645269160633370614326969361820232414836612764975424895200197012344391086994158734902739669571315829771765343672343064599485033042363479284819316821748254547882582310787954549326300019651873931487173316904070937655289385889685321999227598915469276633306101785003719039973827464879464559843670581615362551984900714888875771002959888126191242893079035659977509878064059310011766857609112091941189305456209337913597199714358433454170939531619030191704645150432412428558487196254771091222976439709217208498285150262259258753349385093635016003490521758647277119583496948754372113191782228945561555078731576103639723201290037355221562853668355886672249348602784532879400019663687102222301966787861266222441512377934352630357589335037661660059922417502386989847617932715673243925647648783684758501534443452018595278227376654744827013212102875347285665824731588113054115288987379691510384261960483773943111374720517033791311421026250244202080712994378597531303166779553208921207855223746972475502278773228497055343796042230787727070542021655823369469001296862911893933163539205359288327036780963620713508413134839333421815166212343545624530590703909381649011 82698378890010964230955600726079362815332418183372113930285878754233370882866794959556278019157735617503413235269535755436441119771214647597119919703987726204760139774088664963177960368354454137052809313850683058797168689053760930868281616059903750530671233559496816057236344252906000433203500649585096806067053416639668232701473127971084477068316601851446062751131462176851738689237698611185844903040993067083005853637370672193843428989400635799730098039413778572152588179244331956497117437150606809708017976411498146930374975176956774403310367698162882980391198354516819602811983748841271644478514291707291739967672062566912959822839591463218394846828640785166863402851422645437495003468324174351496973687580835506047808717641916152587040325169432692375189361457384404692497891699781987383248859612547339322209776485239243749652689630888801849715157068147796459419826552839772126164243711726185050766545298066097796774166362159541633561291274077940426545127815517095315254510276322954236735991315832371121137290171344510346070682533223605477706363804241301548263329452625861495127080557759897439874433582621267690641016010702635990543773768780740085798602993313056975325609317407941433675442193701211201281506198885936839067747061675732783535018528091876935204901069871133686095154164177884949959781144533183039584320831428314487622777633770094783429519172544530939180296641733970671858313449206607435022763608646223719574399838796157402540488304692053560382722761486884960142728741749400991842607514946992200305934048772931102889399228890684556834116348449268436914503815645680974764052848398578766754906772843553393483601992508581148838316749009149914524685495985224860401419409520718702630101176803948308276373272929622456435443693123515051771084066563072748740339417299233654329900092618060463094794231461430518189570424639508731807802123641181224920150545043919724397353571187535093638586299757683187377644239069659444161860238888969668981056949916197670612316818 133808787858554542102828623978337231114986205240673501039491753405223416158396048147871537660030934456517640087863695331197688159333990735723266917424559568630845532729892628601149385236924394280959561233340292954583263542057583757103353801452574099566690017071816456894338045869457915413144862308886481553674086027290178035724688806297351814633186391493590849322983882043016921285084631256083842056275239815482173801213431313195694790235865859738185964076749794545844435979289321208127777044900224046771637098782723147218391597437145971501914418229898295478316605399637559136729066420334033816099512826048478736049214852273190208302812066270024327112718920062477363320059930027093284877948943778424551846927820449099897592058032984495282322635584999479811068870339813607294724081025499090969462272143992176206412650278599889018813323001503128819076977300562633072184801977734972323176588102813179209501448037735669112603938127503213976625890759110982790024412634833917063509058158905265024690540642132390773011221658517827250141620188512991367391685803468900463732606085931963280130799597733724904753898142464938272256378562687536705432649539783699973924794236206136010985586827286005492985453960558820313373447388191393048405660658875447141968472699031408554235092774516284118507582722665081204730872367509622748801529329713464749882036387119479877064535176035052697827573761317467620612685562398389663968325163724955295678039561997447439895709867545721916269395010835487744675608141769064678944829816913780061572156490285309037242029586480019594495776408371685939301493663263613690437296774046227550439665274377996845502197270735957803583143762221252789871971161809956448514473524809706082321611561065908792050316384304342973469235004544541302015286147276067127337870720466013207538821300473284210067269733740203746686625768435550962595529194183202880743520014045216587309247504351074298997874626794464150998357747482794283495282054055182012526681480506901579993965829 216507166748565506333784224704416593930318623424045614969777632159456787041262843107427815679188670074021053323133231086634129279105205383320386837128547294835605672503981293564327345605278848418012370547190976013380432231111344687971635417512477850097361250631313272951574390122363915846348362958471578359741139443929846268426161934268436291701502993345036912074115344219868659974322329867269686959316232882565179654850801985389538219225266495537916062116163573117997024158533653164624894482050830856479655075194221294148766572614102745905224785928061178458707803754154378739541050169175305460578027117755770476016886914840103168125651657733242721959547560847644226722911352672530779881417267952776048820615401284605945400775674900647869362960754432172186258231797198011987221972725281078352711131756539515528622426763839132768466012632391930668792134368710429531604628530574744449340831814539364260267993335801766909378104489662755610187182033188923216569540450351012378763568435228219261426531957964761894148511829862337596212302721736596845098049607710202011995935538557824775257880155493622344628331725086205962897394573390172695976423308564440059723397229519192986311196144693946926660896154260031514654953587077329887473407720551179925503491227123285489439993844387417804602736886842966154690653512042805788385850161141779237504814020889574660494054348579583637007870403051438292470999011604997098991088772371179015252439400793604842436198172237775476652117772322372704818336883518465670787437331860772261878090539058240140131428815370704151329892756820954376215997478909294665201349622444806317194572047221550238985799263244538952421460511230402704396656657795181308915892934330424784951712737869857100326689657233965429904678697668056353786370213839139876078210137765246861868721393091344673162063965201634264876196193075059694403331317824384105663670559089136311706601075538609392636460926552147338376001986552453727657142292944151681507738430423099250606282647 350315954607120048436612848682753825045304828664719116009269385564680203199658891255299353339219604530538693410996926417831817438439196119043653754553106863466451205233873922165476730842203242698971931780531268967963695773168928445074989218965051949664051267703129729845912435991821831259493225267358059913415225471220024304150850740565788106334689384838627761397099226262885581259406961123353529015591472698047353456064233298585233009461132355276102026192913367663841460137822974372752671526951054903251292173976944441367158170051248717407139204157959473937024409153791937876270116589509339276677539943804249212066101767113293376428463724003267049072266480910121590042971282699624064759366211731200600667543221733705842992833707885143151685596339431651997327102137011619281946053750780169322173403900531691735035077042439021787279335633895059487869111669273062603789430508309716772517419917352543469769441373537436021982042617165969586813072792299906006593953085184929442272626594133484286117072600097152667159733488380164846353922910249588212489735411179102475728541624489788055388679753227347249382229867551144235153773136077709401409072848348140033648191465725328997296782971979952419646350114818851828028400975268722935879068379426627067471963926154694043675086618903701923110319609508047359421525879552428537187379490855243987386850408009054537558589524614636334835444164368905913083684574003386762959413936096134310930478962791052282331908039783497392921512783157860449493945025287530349732267148774552323450247029343549177373458401850723745825669165192640315517491142172908355638646396491033867634237321599547084487996533980496756004604273451655494268627819605137757430366459140130867273324298935765892377006041538308403373913702212597655801656361115207003416080858231260069407542693564628883229333698941838011562821961510610656998860512007586986407190573134352899015848579889683691634335553346611489374359734035248011152424346999333694034419910930000830600248476 566823121355685554770397073387170418975623452088764730979047017724136990240921734362727169018408274604559746734130157504465946717544401502364040591681654158302056877737855215729804076447482091116984302327722244981344128004280273133046624636477529799761412518334443002797486826114185747105841588225829638273156364915149870572577012674834224398036192378183664673471214570482754241233729290990623215974907705580612533110915035283974771228686398850814018088309076940781838484296356627537377566009001885759730947249171165735515924742665351463312363990086020652395732212907946316615811166758684644737255567061560019688082988681953396544554115381736509771031814041757765816765882635372154844640783479683976649488158623018311788393609382785791021048557093863824183585333934209631269168026476061247674884535657071207263657503806278154555745348266286990156661246037983492135394059038884461221858251731891907730037434709339202931360147106828725197000254825488829223163493535535941821036195029361703547543604558061914561308245318242502442566225631986185057587785018889304487724477163047612830646559908720969594010561592637350198051167709467882097385496156912580093371588695244521983607979116673899346307246269078883342683354562346052823352476099977806992975455153277979533115080463291119727713056496351013514112179391595234325573229651997023224891664428898629198052643873194219971843314567420344205554683585608383861950502708467313326182918363584657124768106212021272869573630555480233154312281908805996020519704480635324585328337568401789317504887217221427897155561922013594691733488621082203020839996018935840184828809368821097323473795797225035708426064784682058198665284477400319066346259393470555652225037036805622992703695698772273833278592399880654009588026574954346879494290995996506931276264086655973556391397664143472276439018154585670351402191829831971092070861132223489210722449655428293084270796479898758827750361720587701738809566639943485375542158341353100081206531123 917139075962805603207009922069924244020928280753483846988316403288817193440580625618026522357627879135098440145127083922297764155983597621407694346234761021768508082971729137895280807289685333815956234108253513949307823777449201578121613855442581749425463786037572732643399262106007578365334813493187698186571590386369894876727863415400012504370881763022292434868313796745639822493136252113976744990499178278659886566979268582560004238147531206090120114501990308445679944434179601910130237535952940662982239423148110176883082912716600180719503194243980126332756622061738254492081283348193984013933107005364268900149090449066689920982579105739776820104080522667887406808853918071778909400149691415177250155701844752017631386443090670934172734153433295476180912436071221250551114080226841416997057939557602898998692580848717176343024683900182049644530357707256554739183489547194177994375671649244451199806876082876638953342189723994694783813327617788735229757446620720871263308821623495187833660677158159067228467978806622667288920148542235773270077520430068406963453018787537400886035239661948316843392791460188494433204940845545591498794569005260720127019780160969850980904762088653851765953596383897735170711755537614775759231544479404434060447419079432673576790167082194821650823376105859060873533705271147662862760609142852267212278514836907683735611233397808856306678758731789250118638368159611770624909916644563447637113397326375709407100014251804770262495143338638093603806226934093526370251971629409876908778584597745338494878345619072151642981231087206235007250979763255111376478642415426874052463046690420644407961792331205532464430669058133713692933912297005456823776625852610686519498361335741388885080701740310582236652506102093251665389682936069553882910371854227767000683806780220602439620731363085310288001840116096281008401052341839558078478051705357842109738298235317976775905132033245370317124721454622949749961990986942819069576578252283100911806779599 1483962197318491157977406995457094662996551732842248577967363421012954183681502359980753691376036153739658186879257241426763710873527999123771734937916415180070564960709584353625084883737167424932940536435975758930651951781729474711168238491920111549186876304372015735440886088220193325471176401719017336459727955301519765449304876090234236902407074141205957108339528367228394063726865543104599960965406883859272419677894303866534775466833930056904138202811067249227518428730536229447507803544954826422713186672319275912399007655381951644031867184330000778728488834969684571107892450106878628751188674066924288588232079131020086465536694487476286591135894564425653223574736553443933754040933171099153899643860467770329419780052473456725193782710527159300364497770005430881820282106702902664671942475214674106262350084654995330898770032166469039801191603745240046874577548586078639216233923381136358929844310792215841884702336830823419980813582443277564452920940156256813084345016652856891381204281716220981789776224124865169731486374174221958327665305448957711451177495950585013716681799570669286437403353052825844631256108555013473596180065162173300220391368856214372964512741205327751112260842652976618513395110099960828582584020579382241053422874232710653109905247545485941378536432602210074387645884662742897188333838794849290437170179265806312933663877271003076278522073299209594324193051745220154486860419353030760963296315689960366531868120463826043132068773894118326758118508842899522390771676110045201494106922166147127812383232836293579540136793009219829698984468384337314397318638434362714237291856059241741731435588128430568172856733842815771891599196774405775890122885246081242171723398372547011877784397439082856069931098501973905674977709511023900762404662850224273931960070866876575996012129027228782564440858270681951359803244171671529170548912837581331320460747890746269860175928513144129144875083175210651488771557626886304445118736593636200993013310722 2401101273281296761184416917527018907017480013595732424955679824301771377122082985598780213733664032874756627024384325349061475029511596745179429284151176201839073043681313491520365691026852758748896770544229272879959775559178676289289852347362693298612340090409588468084285350326200903836511215212205034646299545687889660326032739505634249406777955904228249543207842163974033886220001795218576705955906062137932306244873572449094779704981461262994258317313057557673198373164715831357638041080907767085695426095467386089282090568098551824751370378573980905061245457031422825599973733455072612765121781072288557488381169580086776386519273593216063411239975087093540630383590471515712663441082862514331149799562312522347051166495564127659366516863960454776545410206076652132371396186929744081669000414772277005261042665503712507241794716066651089445721961452496601613761038133272817210609595030380810129651186875092480838044526554818114764626910061066299682678386776977684347653838276352079214864958874380049018244202931487837020406522716457731597742825879026118414630514738122414602717039232617603280796144513014339064461049400559065094974634167434020347411149017184223945417503293981602878214439036874353684106865637575604341815565058786675113870293312143326686695414627680763029359808708069135261179589933890560051094447937701557649448694102713996669275110668811932585200832030998844442831419904831925111770335997594208600409713016336075938968134715630813394563917232756420361924735776993048761023647739455078402885506763892466307261578455365731183118024096426064706235448147592425773797280849789588289754902749662386139397380459636100637287402900949485584533109071411232713899511098691928691221759708288400762865099179393438306583604604067157340367392447093454645315034704452040932643877647097178435632860390314092852442698386778232368204296513511087249026964542939173430199046126064246636081060546389499461999804629833601238733548613829123514695314845919301904820090321 3885063470599787919161823912984113570014031746437981002923043245314725560803585345579533905109700186614414813903641566775825185903039595868951164222067591381909638004390897845145450574764020183681837306980205031810611727340908151000458090839282804847799216394781604203525171438546394229307687616931222371106027500989409425775337615595868486309185030045434206651547370531202427949946867338323176666921312945997204725922767876315629555171815391319898396520124124806900716801895252060805145844625862593508408612767786662001681098223480503468783237562903981683789734292001107396707866183561951241516310455139212846076613248711106862852055968080692350002375869651519193853958327024959646417482016033613485049443422780292676470946548037584384560299574487614076909907976082083014191678293632646746340942889986951111523392750158707838140564748233120129246913565197736648488338586719351456426843518411517169059495497667308322722746863385641534745440492504343864135599326933234497431998854929208970596069240590601030808020427056353006751892896890679689925408131327983829865808010688707428319398838803286889718199497565840183695717157955572538691154699329607320567802517873398596909930244499309353990475281689850972197501975737536432924399585638168916167293167544853979796600662173166704407896241310279209648825474596633457239428286732550848086618873368520309602938987939815008863722905330208438767024471650052079598630755350624969563706028706296442470836255179456856526632691126874747120043244619892571151795323849500279896992428930039594119644811291659310723254817105645894405219916531929740171115919284152302527046758808904127870832968588066668810144136743765257476132305845817008604022396344773170862945158080835412640649496618476294376514703106041063015345101958117355407719697554676314864603948513973754431644989417542875416883556657460183728007540685182616419575877380520504750659794016810516496256989059533628606874887805044252727505106240715427959814051439555502897833401043 6286164743881084680346240830511132477031511760033713427878723069616496937925668331178314118843364219489171440928025892124886660932551192614130593506218767583748711048072211336665816265790872942430734077524434304690571502900086827289747943186645498146411556485191192671609456788872595133144198832143427405752327046677299086101370355101502735715962985949662456194755212695176461836166869133541753372877219008135137032167641448764724334876796852582892654837437182364573915175059967892162783885706770360594104038863254048090963188791579055293534607941477962588850979749032530222307839917017023854281432236211501403564994418291193639238575241673908413413615844738612734484341917496475359080923098896127816199242985092815023522113043601712043926816438448068853455318182158735146563074480562390828009943304759228116784435415662420345382359464299771218692635526650233250102099624852624273637453113441897979189146684542400803560791389940459649510067402565410163818277713710212181779652693205561049810934199464981079826264629987840843772299419607137421523150957207009948280438525426829842922115878035904492998995642078854522760178207356131603786129333497041340915213666890582820855347747793290956868689720726725325881608841375112037266215150696955591281163460856997306483296076800847467437256050018348344910005064530524017290522734670252405736067567471234306272214098608626941448923737361207283209855891554884004710401091348219178164115741722632518409804389895087669921196608359631167481967980396885619912818971588955358299877935693932060426906389747025041906372841202071959111455364679522165944913200133941890816801661558566514010230349047702769447431539644714743060665414917228241317921907443465099554166917789123813403514595797869732683098307710108220355712494405210810053034732259128355797247826161070932867277849807856968269326255044238416096211837198693703668602841923459678180858840142874763132338049605923128068874692434877853966238654854544551474509366285474804802653491364 10171228214480872599508064743495246047045543506471694430801766314931222498729253676757848023953064406103586254831667458900711846835590788483081757728286358965658349052463109181811266840554893126112571384504639336501183230240994978290206034025928302994210772879972796875134628227418989362451886449074649776858354547666708511876707970697371222025148015995096662846302583226378889786113736471864930039798531954132341758090409325080353890048612243902791051357561307171474631976955219952967929730332632954102512651631040710092644287015059558762317845504381944272640714041033637619015706100578975095797742691350714249641607667002300502090631209754600763415991714390131928338300244521435005498405114929741301248686407873107699993059591639296428487116012935682930365226158240818160754752774195037574350886194746179228307828165821128183522924212532891347939549091847969898590438211571975730064296631853415148248642182209709126283538253326101184255507895069754027953877040643446679211651548134770020407003440055582110634285057044193850524192316497817111448559088534993778146246536115537271241514716839191382717195139644694706455895365311704142477284032826648661483016184763981417765277992292600310859165002416576298079110817112648470190614736335124507448456628401851286279896738974014171845152291328627554558830539127157474529951021402803253822686440839754615875153086548441950312646642691415721976880363204936084309031846698844147727821770428928960880640645074544526447829299486505914602011225016778191064614295438455638196870364623971654546551201038684352629627658307717853516675281211451906116029119418094193343848420367470641881063317635769438257575676388480000536797720763045249921944303788238270417112075869959226044164092416346027059613010816149283371057596363328165460754429813804670661851774675044687298922839225399843686209811701698599824219377883876320088178719303980182931518634159685279628595038665456756675749580239922106693743761095259979434323417725030307700486892407 16457392958361957279854305574006378524077055266505407858680489384547719436654922007936162142796428625592757695759693351025598507768141981097212351234505126549407060100535320518477083106345766068543305462029073641191754733141081805579953977212573801140622329365163989546744085016291584495596085281218077182610681594344007597978078325798873957741111001944759119041057795921555351622280605605406683412675750962267478790258050773845078224925409096485683706194998489536048547152015187845130713616039403314696616690494294758183607475806638614055852453445859906861491693790066167841323546017595998950079174927562215653206602085293494141329206451428509176829607559128744662822642162017910364579328213825869117447929392965922723515172635241008472413932451383751783820544340399553307317827254757428402360829499505407345092263581483548528905283676832662566632184618498203148692537836424600003701749745295313127437788866752109929844329643266560833765575297635164191772154754353658860991304241340331070217937639520563190460549687032034694296491736104954532971710045742003726426685061542367114163630594875095875716190781723549229216073572667835746263413366323690002398229851654564238620625740085891267727854723143301623960719658487760507456829887032080098729620089258848592763192815774861639282408341346975899468835603657681491820473756073055659558754008310988922147367185157068891761570380052623005186736254759820089019432938047063325891937512151561479290445034969632196369025907846137082083979205413663810977433267027410996496748300317903714973457590785709394536000499509789812628130645890974072060942319552036084160650081926037155891293666683472207705007216033194743597463135680273491239866211231703369971278993659083039447678688214215759742711318526257503726770090768538975513789162072933026459099600836115620166200689033256811955536066745937015920431215082570023756781561227439861112377474302560042760933088271379884744624272674799960659982415949804530908832784010505112503140383771 26628621172842829879362370317501624571122598772977102289482255699478941935384175684694010166749493031696343950591360809926310354603732769580294108962791485515065409152998429700288349946900659194655876846533712977692937963382076783870160011238502104134833102245136786421878713243710573858047971730292726959469036142010716109854786296496245179766259017939855781887360379147934241408394342077271613452474282916399820548348460098925432114974021340388474757552559796707523179128970407798098643346372036268799129342125335468276251762821698172818170298950241851134132407831099805460339252118174974045876917618912929902848209752295794643419837661183109940245599273518876591160942406539345370077733328755610418696615800839030423508232226880304900901048464319434714185770498640371468072580028952465976711715694251586573400091747304676712428207889365553914571733710346173047282976047996575733766046377148728275686431048961819056127867896592662018021083192704918219726031794997105540202955789475101090624941079576145301094834744076228544820684052602771644420269134276997504572931597657904385405145311714287258433385921368243935671968937979539888740697399150338663881246036418545656385903732378491578587019725559877922039830475600408977647444623367204606178076717660699879043089554748875811127560632675603454027666142784838966350424777475858913381440449150743538022520271705510842074217022744038727163616617964756173328464784745907473619759282580490440171085680044176722816855207332642996685990430430442002042047562465866634693618664941875369520008791824393747165628157817507666144805927102425978176971438970130277504498502293507797772356984319241645962582892421674744134260856443318741161810515019941640388391069529042265491842780630561786802324329342406787097827687131867140974543591886737697120951375511160307465123528258656655641745878447635615744650592966446343844960280531420044043896108462245322389528126936836641420373852914722067353726177045064510343156201735535420203627276178 43086014131204787159216675891508003095199654039482510148162745084026661372039097692630172309545921657289101646351054160951908862371874750677506460197296612064472469253533750218765433053246425263199182308562786618884692696523158589450113988451075905275455431610300775968622798260002158353644057011510804142079717736354723707832864622295119137507370019884614900928418175069489593030674947682678296865150033878667299338606510872770510339899430436874158463747558286243571726280985595643229356962411439583495746032619630226459859238628336786874022752396101757995624101621165973301662798135770972995956092546475145556054811837589288784749044112611619117075206832647621253983584568557255734657061542581479536144545193804953147023404862121313373314980915703186498006314839039924775390407283709894379072545193756993918492355328788225241333491566198216481203918328844376195975513884421175737467796122444041403124219915713928985972197539859222851786658490340082411498186549350764401194260030815432160842878719096708491555384431108263239117175788707726177391979180019001230999616659200271499568775906589383134149576703091793164888042510647375635004110765474028666279475888073109895006529472464382846314874448703179546000550134088169485104274510399284704907696806919548471806282370523737450409968974022579353496501746442520458170898533548914572940194457461732460169887456862579733835787402796661732350352872724576262347897722792970799511696794732051919461530715013808919185881115178780078769969635844105813019480829493277631190366965259779084493466382610103141701628657327297478772936572993400050237913758522166361665148584219544953663650651002713853667590108454869487731723992123592232401676726251645010359670063188125304939521468844777546545035647868664290824597777900406116488332753959670723580050976347275927631324217291913467597281945193572631665081808049016367601741841758859905156273582764805365150461215208216526164998125589522028013708592994869041251988985746040532706767659949 69714635304047617038579046209009627666322252812459612437645000783505603307423273377324182476295414688985445596942414970878219216975607520257800569160088097579537878406532179919053783000147084457855059155096499596577630659905235373320273999689578009410288533855437562390501511503712732211692028741803531101548753878365439817687650918791364317273629037824470682815778554217423834439069289759949910317624316795067119886954970971695942454873451777262633221300118082951094905409956003441328000308783475852294875374744965694736111001450034959692193051346343609129756509452265778762002050253945947041833010165388075458903021589885083428168881773794729057320806106166497845144526975096601104734794871337089954841160994643983570531637089001618274216029380022621212192085337680296243462987312662360355784260888008580491892447076092901953761699455563770395775652039190549243258489932417751471233842499592769678810650964675748042100065436451884869807741683045000631224218344347869941397215820290533251467819798672853792650219175184491783937859841310497821812248314295998735572548256858175884973921218303670392582962624460037100560011448626915523744808164624367330160721924491655551392433204842874424901894174263057468040380609688578462751719133766489311085773524580248350849371925272613261537529606698182807524167889227359424521323311024773486321634906612475998192407728568090575910004425540700459513969490689332435676362507538878273131456077312542359632616395057985642002736322511423075455960066274547815061528391959144265883985630201654454013475174434496888867256815144805144917742500095826028414885197492296639169647086513052751436007635321955499630173000876544231865984848566910973563487241271586650748061132717167570431364249475339333347359977211071077922425465032273257462876345846408420701002351858436235096447745550570123239027823641208247409732401015462711446702122290279949200169691227050687539989342145053167585371978504244095367434770039933551595145187481575952910394936127 112800649435252404197795722100517630761521906851942122585807745867532264679462371069954354785841336346274547243293469131830128079347482270935307029357384709644010347660065930137819216053393509721054241463659286215462323356428393962770387988140653914685743965465738338359124309763714890565336085753314335243628471614720163525520515541086483454780999057709085583744196729286913427469744237442628207182774350673734419225561481844466452794772882214136791685047676369194666631690941599084557357271194915435790621407364595921195970240078371746566215803742445367125380611073431752063664848389716920037789102711863221014957833427474372212917925886406348174396012938814119099128111543653856839391856413918569490985706188448936717555041951122931647531010295725807710198400176720221018853394596372254734856806081765574410384802404881127195095191021761986876979570368034925439234003816838927208701638622036811081934870880389677028072262976311107721594400173385083042722404893698634342591475851105965412310698517769562284205603606292755023055035630018223999204227494314999966572164916058447384542697124893053526732539327551830265448053959274291158748918930098395996440197812564765446398962677307257271216768622966237014040930743776747947855993644165774015993470331499796822655654295796350711947498580720762161020669635669879882692221844573688059261829364074208458362295185430670309745791828337362191864322363413908698024260230331849072643152872044594279094147110071794561188617437690203154225929702118653628081009221452421897074352595461433538506941557044600030568885472472102623690679073089226078652798956014463000834795670732597705099658286324669353297763109331413719597708840690503205965163967523231661107731195905292875370885718320116879892395625079735368747023242932679373951209099806079144281053328205712162727771962842483590836309768834780879074814209064479079048443964049139854356443273991856052690450557353269693750370104093766123381143363034802592847134173227616485617162596076 182515284739300021236374768309527258427844159664401735023452746651037867986885644447278537262136751035259992840235884102708347296323089791193107598517472807223548226066598110056872999053540594178909300618755785812039954016333629336090661987830231924096032499321175900749625821267427622777028114495117866345177225493085603343208166459877847772054628095533556266559975283504337261908813527202578117500398667468801539112516452816162395249646333991399424906347794452145761537100897602525885357579978391288085496782109561615932081241528406706258408855088788976255137120525697530825666898643662867079622112877251296473860855017359455641086807660201077231716819044980616944272638518750457944126651285255659445826867183092920288086679040124549921747039675748428922390485514400517262316381909034615090641066969774154902277249480974029148856890477325757272755222407225474682492493749256678679935481121629580760745521845065425070172328412762992591402141856430083673946623238046504283988691671396498663778518316442416076855822781477246806992895471328721821016475808610998702144713172916623269516618343196723919315501952011867366008065407901206682493727094722763326600919737056420997791395882150131696118662797229294482081311353465326410607712777932263327079243856080045173505026221068963973485028187418944968544837524897239307213545155598461545583464270686684456554702913998760885655796253878062651378291854103241133700622737870727345774608949357136638726763505129780203191353760201626229681889768393201443142537613411566162958338225663087992520416731479096919436142287616907768608421573185052107067684153506759640004442757245650456535665921646624852927936110207957951463693689257414179528651208794818311855792328622460445802249967795456213239755602290806446669448707964952631414085445652487564982055680064148397824219708393053714075337592475989126484546610079941790495146086339419803556612965218906740230439899498322861335742082598010218748578133074736144442279360709192438527557532203 295315934174552425434170490410044889189366066516343857609260492518570132666348015517232892047978087381534540083529353234538475375670572062128414627874857516867558573726664040194692215106934103899963542082415072027502277372762023298861049975970885838781776464786914239108750131031142513342364200248432201588805697107805766868728682000964331226835627153242641850304172012791250689378557764645206324683173018142535958338077934660628848044419216205536216591395470821340428168791839201610442714851173306723876118189474157537128051481606778452824624658831234343380517731599129282889331747033379787117411215589114517488818688444833827854004733546607425406112831983794736043400750062404314783518507699174228936812573371541857005641720991247481569278049971474236632588885691120738281169776505406869825497873051539729312662051885855156343952081499087744149734792775260400121726497566095605888637119743666391842680392725455102098244591389074100312996542029815166716669028131745138626580167522502464076089216834211978361061426387770001830047931101346945820220703302925998668716878088975070654059315468089777446048041279563697631456119367175497841242646024821159323041117549621186444190358559457388967335431420195531496122242097242074358463706422098037343072714187579841996160680516865314685432526768139707129565507160567119189905767000172149604845293634760892914916998099429431195401588082215424843242614217517149831724882968202576418417761821401730917820910615201574764379971197891829383907819470511855071223546834863988060032690821124521531027358288523696950005027760089010392299100646274278185720483109521222640839238427978248161635324207971294206225699219539371671061402529947917385493815176318049972963523524527753321173135686115573093132151227370541815416471950897632005365294545458566709263109008269860560551991671235537304911647361310770005559360819144420869543590050388559657913056239210762792920890456851592555086112186691776342129721496109538737289413533936808924144720128279 477831218913852446670545258719572147617210226180745592632713239169608000653233659964511429310114838416794532923765237337246822671993661853321522226392330324091106799793262150251565214160474698078872842701170857839542231389095652634951711963801117762877808964108090139858375952298570136119392314743550067933982922600891370211936848460842178998890255248776198116864147296295587951287371291847784442183571685611337497450594387476791243294065550196935641497743265273486189705892736804136328072431151698011961614971583719153060132723135185159083033513920023319635654852124826813714998645677042654197033328466365813962679543462193283495091541206808502637829651028775352987673388581154772727645158984429888382639440554634777293728400031372031491025089647222665554979371205521255543486158414441484916138940021313884214939301366829185492808971976413501422490015182485874804218991315352284568572600865295972603425914570520527168416919801837092904398683886245250390615651369791642910568859193898962739867735150654394437917249169247248637040826572675667641237179111536997370861591261891693923575933811286501365363543231575564997464184775076704523736373119543922649642037286677607441981754441607520663454094217424825978203553450707400769071419200030300670151958043659887169665706737934278658917554955558652098110344685464358497119312155770611150428757905447577371471701013428192081057384336093487494620906071620390965425505706073303764192370770758867556547674120331354967571324958093455613589709238905056514366084448275554222991029046787609523547775020002793869441170047705918160907522219459330292788167263027982280843681185223898618170990129617919059153635329747329622525096219205331565022466385112868284819315853150213766975385653911029306371906829661348262085920658862584636779379991111054274245164688334008958376211379628591018986984953786759132043907429224362660038736136727979461469669204429669533151330356349915416421854269289786560878299629184274881731692894646001362672277660482 773147153088404872104715749129617036806576292697089450241973731688178133319581675481744321358092925798329073007294590571785298047664233915449936854267187840958665373519926190446257429267408801978836384783585929867044508761857675933812761939772003601659585428895004378967126083329712649461756514991982269522788619708697137080665530461806510225725882402018839967168319309086838640665929056492990766866744703753873455788672322137420091338484766402471858089138736094826617874684576005746770787282325004735837733161057876690188184204741963611907658172751257663016172583723956096604330392710422441314444544055480331451498231907027111349096274753415928043942483012570089031074138643559087511163666683604117319452013926176634299370121022619513060303139618696902187568256896641993824655934919848354741636813072853613527601353252684341836761053475501245572224807957746274925945488881447890457209720608962364446106307295975629266661511190911193217395225916060417107284679501536781537149026716401426815956951984866372798978675557017250467088757674022613461457882414462996039578469350866764577635249279376278811411584511139262628920304142252202364979019144365081972683154836298793886172113001064909630789525637620357474325795547949475127535125622128338013224672231239729165826387254799593344350081723698359227675851846031477687025079155942760755274051540208470286388699112857623276458972418308912337863520289137540797150388674275880182610132592160598474368584735532929731951296155985284997497528709416911585589631283139542283023719867912131054575133308526490819446197807794928553206622865733608478508650372549204921682919613202146779806314337589213265379334549286701293586498749153248950516281561430918257782839377677967088148521340026602399504058057031890077502392609760216642144674536569620983508273696603869518928203050864128323898632315097529137603268248368783529582326187116539119382725443640432326072220813201507971507966455981562903008021125293813619021106428582810286816997788761 1250978372002257318775261007849189184423786518877835042874686970857786133972815335446255750668207764215123605931059827909032120719657895768771459080659518165049772173313188340697822643427883500057709227484756787706586740150953328568764473903573121364537394393003094518825502035628282785581148829735532337456771542309588507292602378922648689224616137650795038084032466605382426591953300348340775209050316389365210953239266709614211334632550316599407499586882001368312807580577312809883098859713476702747799348132641595843248316927877148770990691686671280982651827435848782910319329038387465095511477872521846145414177775369220394844187815960224430681772134041345442018747527224713860238808825668034005702091454480811411593098521053991544551328229265919567742547628102163249368142093334289839657775753094167497742540654619513527329570025451914746994714823140232149730164480196800175025782321474258337049532221866496156435078430992748286121793909802305667497900330871328424447717885910300389555824687135520767236895924726264499104129584246698281102695061525999993410440060612758458501211183090662780176775127742714827626384488917328906888715392263909004622325192122976401328153867442672430294243619855045183452529348998656875896606544822158638683376630274899616335492093992733872003267636679257011325786196531495836184144391311713371905702809445656047657860400126285815357516356754402399832484426360757931762575894380349183946802503362919466030916258855864284699522621114078740611087237948321968099955715731415096506014748914699740578122908328529284688887367855500846714114145085192938771296817635577187202526600798426045397977304467207132324532969879034030916111594968358580515538747946543786542602155230828180855123906993937631705875964886693238339588313268622801278924054527680675257753438384937878477304414430492719342885617268884288269647175677593146189621062323844518580852394648070101859223551169551423387929820725271349463886320754478088500752799323228811649489275449243 2024125525090662190879976756978806221230362811574924493116660702545964267292397010928000072026300690013452678938354418480817418767322129684221395934926706006008437546833114531144080072695292302036545612268342717573631248912811004502577235843345124966196979821898098897792628118957995435042905344727514606979560162018285644373267909384455199450342020052813878051200785914469265232619229404833765975917061093119084409027939031751631425971035083001879357676020737463139425455261888815629869646995801707483637081293699472533436501132619112382898349859422538645668000019572739006923659431097887536825922416577326476865676007276247506193284090713640358725714617053915531049821665868272947749972492351638123021543468406988045892468642076611057611631368884616469930115884998805243192798028254138194399412566167021111270142007872197869166331078927415992566939631097978424656109969078248065482992042083220701495638529162471785701739942183659479339189135718366084605185010372865205984866912626701816371781639120387140035874600283281749571218341920720894564152943940462989450018529963625223078846432370039058988186712253854090255304793059581109253694411408274086595008346959275195214325980443737339925033145492665540926855144546606351024141670444286976696601302506139345501318481247533465347617718402955370553462048377527313871169470467656132660976860985864517944249099239143438633975329172711312170347946649895472559726283054625064129412635955080064505284843591397214431473917270064025608584766657738879685545347014554638789038468782611871632698041637055775508333565663295775267320767950926547249805468008126392124209520411628192177783618804796345589912304428320732209698093717511829466055029507974704800384994608506147943272428333964234105380022943725128417090705878383017921068729064250296241261712081541747996232617481356847666784249583981817407250443925961929719203388510961057700235120091710534185295771982752931359437787181252912366894341879771902119773905751811621936306273238004 3275103897092919509655237764827995405654149330452759535991347673403750401265212346374255822694508454228576284869414246389849539486980025452992855015586224171058209720146302871841902716123175802094254839753099505280217989063764333071341709746918246330734374214901193416618130154586278220624054174463046944436331704327874151665870288307103888674958157703608916135233252519851691824572529753174541184967377482484295362267205741365842760603585399601286857262902738831452233035839201625512968506709278410231436429426341068376684818060496261153889041546093819628319827455421521917242988469485352632337400289099172622279853782645467901037471906673864789407486751095260973068569193092986807988781318019672128723634922887799457485567163130602602162959598150536037672663513100968492560940121588428034057188319261188609012682662491711396495901104379330739561654454238210574386274449275048240508774363557479038545170751028967942136818373176407765460983045520671752103085341244193630432584798537002205927606326255907907272770525009546248675347926167419175666848005466462982860458590576383681580057615460701839164961839996568917881689281976910016142409803672183091217333539082251596542479847886409770219276765347710724379384493545263226920748215266445615379977932781038961836810575240267337350885355082212381879248244909023150055313861779369504566679670431520565602109499365429253991491685927113712002832373010653404322302177434974248076215139317999530536201102447261499130996538384142766219672004606060847785501062745969735295053217697311612210820949965585060197220933518796621981434913036119486021102285643703579326736121210054237575760923272003477914445274307354763125809688685870409981593777454518491342987149839334328798396335327901865811255987830418366756679019147005819199992783591930971499015150466479626473537031911849567009669866852866105676897619603555075908824450834805576281087514739780636044519323152304354747367607906524261830780662634249990620526705075040433585795548687247 5299229422183581700535214521806801626884512142027684029108008375949714668557609357302255894720809144242028963807768664870666958254302155137214250950512930177066647266979417402985982788818468104130800452021442222853849237976575337573918945590263371296931354036799292314410758273544273655666959519190561551415891866346159796039138197691559088125300177756422794186434038434320957057191759158008307160884438575603379771295144773117474186574620482603166214938923476294591658491101090441142838153705080117715073510720040540910121319193115373536787391405516358273987827474994260924166647900583240169163322705676499099145529789921715407230755997387505148133201368149176504118390858961259755738753810371310251745178391294787503378035805207213659774590967035152507602779398099773735753738149842566228456600885428209720282824670363909265662232183306746732128594085336188999042384418353296305991766405640699740040809280191439727838558315360067244800172181239037836708270351617058836417451711163704022299387965376295047308645125292827998246566268088140070231000949406925972310477120540008904658904047830740898153148552250423008136994075036491125396104215080457177812341886041526791756805828330147110144309910840376265306239638091869577944889885710732592076579235287178307338129056487800802698503073485167752432710293286550463926483332247025637227656531417385083546358598604572692625467015099825024173180319660548876882028460489599312205627775273079595041485946038658713562470455654206791828256771263799727471046409760524374084091686479923483843518991602640835705554499182092397248755680987046033270907753651829971450945641621682429753544542076799823504357578735675495335507782403382239447648806962493196143372144447840476741668763661866099916636010774143495173769725025388837121061512656181267740276862548021374469769649393206414676454116436847923084148063529517005628027839345766633981322634831491170229815095135057286106805395087777174197675004514021892740300610826852055522101821925251 8574333319276501210190452286634797032538661472480443565099356049353465069822821703676511717415317598470605248677182911260516497741282180590207105966099154348124856987125720274827885504941643906225055291774541728134067227040339670645260655337181617627665728251700485731028888428130551876291013693653608495852223570674033947705008485998662976800258335460031710321667290954172648881764288911182848345851816058087675133562350514483316947178205882204453072201826215126043891526940292066655806660414358527946509940146381609286806137253611634690676432951610177902307654930415782841409636370068592801500722994775671721425383572567183308268227904061369937540688119244437477186960052054246563727535128390982380468813314182586960863602968337816261937550565185688545275442911200742228314678271430994262513789204689398329295507332855620662158133287686077471690248539574399573428658867628344546500540769198178778585980031220407669975376688536475010261155226759709588811355692861252466850036509700706228226994291632202954581415650302374246921914194255559245897848954873388955170935711116392586238961663291442737318110392246991926018683357013401141538514018752640269029675425123778388299285676216556880363586676188086989685624131637132804865638100977178207456557168068217269174939631728068140049388428567380134311958538195573613981797194026395141794336201848905649148468097970001946616958701026938736176012692671202281204330637924573560281842914591079125577687048485920212693466994038349558047928775869860575256547472506494109379144904177235096054339941568225895902775432700889019230190594023165519292010039295533550777681762831736667329305465348803301418802853043030258461317471089252649429242584417011687486359294287174805540065098989767965727891998604561861930448744172394656321054296248112239239292013014501000943306681305055981686123983289714028761045683133072081536852290180572210262410149571271806274334418287361640854173002994301436028455667148271883360827315901892489107897370612498 13873562741460082910725666808441598659423173614508127594207364425303179738380431060978767612136126742712634212484951576131183455995584335727421356916612084525191504254105137677813868293760112010355855743795983950987916465016915008219179600927444988924597082288499778045439646701674825531957973212844170047268115437020193743744146683690222064925558513216454504508101329388493605938956048069191155506736254633691054904857495287600791133752826364807619287140749691420635550018041382507798644814119438645661583450866422150196927456446727008227463824357126536176295482405410043765576284270651832970664045700452170820570913362488898715498983901448875085673889487393613981305350911015506319466288938762292632213991705477374464241638773545029921712141532220841052878222309300515964068416421273560490970390090117608049578332003219529927820365470992824203818842624910588572471043285981640852492307174838878518626789311411847397813935003896542255061327407998747425519626044478311303267488220864410250526382257008498001890060775595202245168480462343699316128849904280314927481412831656401490897865711122183635471258944497414934155677432049892266934618233833097446842017311165305180056091504546703990507896587028463254991863769729002382810527986687910799533136403355395576513068688215868942747891502052547886744668831482124077908280526273420779021992733266290732694826696574574639242425716126763760349193012331751158086359098414172872487470689864158720619172994524578926255937449692556349876185547133660302727593882267018483463236590657158579897858933170866731608329931882981416478946275010211552562917792947363522228627404453419097082850007425603124923160431778705753796825253492634888876891391379504883629731438735015282281733862651634065644528009378705357104218469197783493442115808904293506979568875562522375413076330698262396362578099726561951845193746662589087164880129526338844243732784402762976504149513422418926960978398082078610226130671662293776101127926728744544629999192537749 22447896060736584120916119095076395691961835086988571159306720474656644808203252764655279329551444341183239461162134487391699953736866516317628462882711238873316361241230857952641753798701755916580911035570525679121983692057254678864440256264626606552262810540200263776468535129805377408248986906497778543120339007694227691449155169688885041725816848676486214829768620342666254820720336980374003852588070691778730038419845802084108080931032247012072359342575906546679441544981674574454451474533797173608093391012803759483733593700338642918140257308736714078603137335825826606985920640720425772164768695227842541996296935056082023767211805510245023214577606638051458492310963069752883193824067153275012682805019659961425105241741882846183649692097406529598153665220501258192383094692704554753484179294807006378873839336075150589978498758678901675509091164484988145899702153609985398992847944037057297212769342632255067789311692433017265322482634758457014330981737339563770117524730565116478753376548640700956471476425897576492090394656599258562026698859153703882652348542772794077136827374413626372789369336744406860174360789063293408473132252585737715871692736289083568355377180763260870871483263216550244677487901366135187676166087665089006989693571423612845688008319943937082797279930619928021056627369677697691890077720299815920816328935115196381843294794544576585859384417153702496525205705002953439290689736338746432769313604455237846196860043010499138949404443730905907924114323003520877984141354773512592842381494834393675952198874739092627511105364583870435709136869033377071854927832242897073006309167285155764412155472774406426341963284821736012258142724581887538306133975796516571116090733022190087821798961641402031372420007983267219034667213370178149763170105152405746218860888577023376356383012003318378048702083016275980606239429795661168701732419706911054506142933974034782778483931709780567815151401076380046254586338810565659461955242630637033737896563150247 36321458802196667031641785903517994351385008701496698753514084899959824546583683825634046941687571083895873673647086063522883409732450852045049819799323323398507865495335995630455622092461867926936766779366509630109900157074169687083619857192071595476859892828700041821908181831480202940206960119341948590388454444714421435193301853379107106651375361892940719337869949731159860759676385049565159359324325325469784943277341089684899214683858611819691646483325597967314991563023057082253096288653235819269676841879225909680661050147065651145604081665863250254898619741235870372562204911372258742828814395680013362567210297544980739266195706959120108888467094031665439797661874085259202660113005915567644896796725137335889346880515427876105361833629627370651031887529801774156451511113978115244454569384924614428452171339294680517798864229671725879327933789395576718370745439591626251485155118875935815839558654044102465603246696329559520383810042757204439850607781817875073385012951429526729279758805649198958361537201492778737258875118942957878155548763434018810133761374429195568034693085535810008260628281241821794330038221113185675407750486418835162713710047454388748411468685309964861379379850245013499669351671095137570486694074352999806522829974779008422201077008159806025545171432672475907801296201159821769798358246573236699838321668381487114538121491119151225101810133280466256874398717334704597377048834752919305256784294319396566816033037535078065205341893423462257800299870137181180711735237040531076305618085491552255850057807909959359119435296466851852188083144043588624417845625190260595234936571738574861495005480200009551265123716600441766054967978074522427183025367176021454745822171757205370103532824293036097016948017361972576138885682567961643205285914056699253198429764139545751769459342701580774411280182742837932451433176458250255866612549233249898749875718376797759282633445132199494776129799158458656480717010472859435563083169359381578367895755687996 58769354862933251152557904998594390043346843788485269912820805374616469354786936590289326271239015425079113134809220550914583363469317368362678282682034562271824226736566853583097375891163623843517677814937035309231883849131424365948060113456698202029122703368900305598376716961285580348455947025839727133508793452408649126642457023067992148377192210569426934167638570073826115580396722029939163211912396017248514981697186891769007295614890858831764005825901504513994433108004731656707547763187032992877770232892029669164394643847404294063744338974599964333501757077061696979548125552092684514993583090907855904563507232601062763033407512469365132103044700669716898289972837155012085853937073068842657579601744797297314452122257310722289011525727033900249185552750303032348834605806682669997938748679731620807326010675369831107777362988350627554837024953880564864270447593201611650478003062912993113052327996676357533392558388762576785706292677515661454181589519157438843502537681994643208033135354289899914833013627390355229349269775542216440182247622587722692786109917201989645171520459949436381049997617986228654504399010176479083880882739004572878585402783743472316766845866073225732250863113461563744346839572461272758162860162018088813512523546202621267889085328103743108342451363292403928857923570837519461688435966873052620654650603496683496381416285663727810961194550434168753399604422337658036667738571091665738026097898774634413012893080545577204154746337154368165724414193140702058695876591814043669147999580325945931802256682649051986630540661050722287897220013076965696272773457433157668241245739023730625907160952974415977607087001422177778313110702656409965489159342972538025861912904779395457925331785934438128389368025345239795173552895938139792968456019209104999417290652716569128125842354704899152459982265759113913057672606253911424568344968940160953256018652350832542061117376841980062591281200234838702735303349283425095025038411990018612105792318838243 95090813665129918184199690902112384394731852489981968666334890274576293901370620415923373212926586508974986808456306614437466773201768220407728102481357885670332092231902849213552997983625491770454444594303544939341784006205594053031679970648769797505982596197600347420284898792765783288662907145181675723897247897123070561835758876447099255028567572462367653505508519804985976340073107079504322571236721342718299924974527981453906510298749470651455652309227102481309424671027788738960644051840268812147447074771255578845055693994469945209348420640463214588400376818297567352110330463464943257822397486587869267130717530146043502299603219428485240991511794701382338087634711240271288514050078984410302476398469934633203799002772738598394373359356661270900217440280104806505286116920660785242393318064656235235778182014664511625576227218022353434164958743276141582641193032793237901963158181788928928891886650720459998995805085092136306090102720272865894032197300975313916887550633424169937312894159939098873194550828883133966608144894485174318337796386021741502919871291631185213206213545485246389310625899228050448834437231289664759288633225423408041299112831197861065178314551383190593630242963706577244016191243556410328649554236371088620035353520981629690090162336263549133887622795964879836659219771997341231486794213446289320492972271878170610919537776782879036063004683714635010274003139672362634044787405844585043282882193094030979828926118080655269360088230577830423524714063277883239407611828854574745453617665817498187652314490559011345749975957517574140085303157120554320690619082623418263476182310762305487402166433174425528872210718022619544368078680730932392672184710148559480607735076536600828028864610227474225406316042707212371312438578506101436173741933265804252615720416856114879895301697406479926871262448501951845509105782712161680434957518173410852005894370727630301343750821974179557367410999393297359216020359756284530588121581349400190473688074526239 153860168528063169336757595900706774438078696278467238579155695649192763256157557006212699484165601934054099943265527165352050136671085588770406385163392447942156318968469702796650373874789115613972122409240580248573667855337018418979740084105467999535105299566500653018661615754051363637118854171021402857406041349531719688478215899515091403405759783031794587673147089878812091920469829109443485783149117359966814906671714873222913805913640329483219658135128606995303857779032520395668191815027301805025217307663285248009450337841874239273092759615063178921902133895359264331658456015557627772815980577495725171694224762747106265333010731897850373094556495371099236377607548395283374367987152053252960056000214731930518251125030049320683384885083695171149402993030407838854120722727343455240332066744387856043104192690034342733353590206372980989001983697156706446911640625994849552441161244701922041944214647396817532388363473854713091796395397788527348213786820132752760390088315418813145346029514228998788027564456273489195957414670027390758520044008609464195705981208833174858377734005434682770360623517214279103338836241466143843169515964427980919884515614941333381945160417456416325881106077168140988363030816017683086812414398389177433547877067184250957979247664367292242230074159257283765517143342834860693175230180319341941147622875374854107300954062446606847024199234148803763673607562010020670712525976936250781308980091868665392841819198626232473514834567732198589249128256418585298103488420668618414601617246143444119454571173208063332380516618568296427982523170197520016963392540056575931717428049786036113309327386148841506479297719444797322681189383387342358161344053121097506469647981315996285954196396161912353795684068052452166485991474444241229142197952474909252033011069572684008021144052111379079331244714261065758566778388966073105003302487113571805261913023078462843404868198816159619958692199628136061951323709039709625613159993339418802579480393364482 248950982193193087520957286802819158832810548768449207245490585923769057157528177422136072697092188443029086751721833779789516909872853809178134487644750333612488411200372552010203371858414607384426567003544125187915451861542612472011420054754237797041087895764101000438946514546817146925781761316203078581303289246654790250313974775962190658434327355494162241178655609683798068260542936188947808354385838702685114831646242854676820316212389800134675310444355709476613282450060309134628835866867570617172664382434540826854506031836344184482441180255526393510302510713656831683768786479022571030638378064083594438824942292893149767632613951326335614086068290072481574465242259635554662882037231037663262532398684666563722050127802787919077758244440356442049620433310512645359406839648004240482725384809044091278882374704698854358929817424395334423166942440432848029552833658788087454404319426490850970836101298117277531384168558946849397886498118061393242245984121108066677277638948842983082658923674168097661222115285156623162565559564512565076857840394631205698625852500464360071583947550919929159671249416442329552173273472755808602458149189851388961183628446139194447123474968839606919511349040874718232379222059574093415461968634760266053583230588165880648069410000630841376117696955222163602176363114832201924662024393765631261640595147253024718220491839229485883087203917863438773947610701682383304757313382780835824591862284962696372670745316706887742874922798310029012773842319696468537511100249523193160055234911960942307106885663767074678130492576085870568067826327318074337654011622679994195193610360548341600711493819323267035351508437467416867049268064118274750833528763269656987077383057852597113983061006389386579202000110759664537798430052950342665315939885740713504648731486428798887916445749517859006202507162763017604075884171678234785438260005286982657267807393806093144748619020790339177326103199021433421167344068795994156201281574688818993053168467890721 402811150721256256857714882703525933270889245046916445824646281572961820413685734428348772181257790377083186694987360945141567046543939397948540872808142781554644730168842254806853745733203722998398689412784705436489119716879630890991160138859705796576193195330601653457608130300868510562900615487224481438709330596186509938792190675477282061840087138525956828851802699562610160181012765298391294137534956062651929738317957727899734122126030129617894968579484316471917140229092829530297027681894872422197881690097826074863956369678218423755533939870589572432204644609016096015427242494580198803454358641579319610519167055640256032965624683224185987180624785443580810842849808030838037250024383090916222588398899398494240301252832837239761143129524051613199023426340920484213527562375347695723057451553431947321986567394733197092283407630768315412168926137589554476464474284782937006845480671192773012780315945514095063772532032801562489682893515849920590459770941240819437667727264261796228004953188397096449249679741430112358522974234539955835377884403240669894331833709297534929961681556354611930031872933656608655512109714221952445627665154279369881068144061080527829068635386296023245392455118042859220742252875591776502274383033149443487131107655350131606048657664998133618347771114479447367693506457667062617837254574084973202788218022627878825521445901676092730111403152012242537621218263692403975469839359717086605900842376831361765512564515333120216389757366042227602022970576115053835614588670191811574656852158104386426561456836975138010511009194654166996050349497515594354617404162736570126911038410334377714020821205472108541830806156912214189730457447505617108994872816390754493547031039168593399937257402551298932997684178812116704284421527394583894458137838215622756681742556001482895937589801629238085533751877024083362642662560644307890441562492400554462529720416884555988153487219606498797284795398649569483118667777835703781814441568028237795632648861255203 651762132914449344378672169506345092103699793815365653070136867496730877571213911850484844878349978820112273446709194724931083956416793207126675360452893115167133141369214806817057117591618330382825256416328830624404571578422243363002580193613943593617281091094702653896554644847685657488682376803427560020012619842841300189106165451439472720274414494020119070030458309246408228441555701487339102491920794765337044569964200582576554438338419929752570279023840025948530422679153138664925863548762443039370546072532366901718462401514562608237975120126115965942507155322672927699196028973602769834092736705662914049344109348533405800598238634550521601266693075516062385308092067666392700132061614128579485120797584065057962351380635625158838901373964408055248643859651433129572934402023351936205782836362476038600868942099432051451213225055163649835335868578022402506017307943571024461249800097683623983616417243631372595156700591748411887569391633911313832705755062348886114945366213104779310663876862565194110471795026586735521088533799052520912235724797871875592957686209761895001545629107274541089703122350098938207685383186977761048085814344130758842251772507219722276192110355135630164903804158917577453121474935165869917736351667909709540714338243516012254118067665628974994465468069701610969869869572499264542499278967850604464428813169880903543741937740905578613198607069875681311568828965374787280227152742497922430492704661794058138183309832040007959264680164352256614796812895811522373125688919715004734712087070065328733668342500742212688641501770740037564118175824833668692271415785416564322104648770882719314732315024795375577182314594379631056779725511623891859828401579660411480624414097021190513920318408940685512199684289571781242082851580344926559774077723956336261330474042430281783854035551147097091736259039787100966718546732322542675879822497687537119797527810690649132902106240396837974610898597671002904286011846631697938015723142717056788685817329145924 1054573283635705601236387052209871025374589038862282098894783149069692697984899646278833617059607769197195460141696555670072651002960732605075216233261035896721777871538057061623910863324822053381223945829113536060893691295301874253993740332473649390193474286425304307354162775148554168051582992290652041458721950439027810127898356126916754782114501632546075898882261008809018388622568466785730396629455750827988974308282158310476288560464450059370465247603324342420447562908245968195222891230657315461568427762630192976582418771192781031993509059996705538374711799931689023714623271468182968637547095347242233659863276404173661833563863317774707588447317860959643196150941875697230737382085997219495707709196483463552202652633468462398600044503488459668447667285992353613786461964398699631928840287915907985922855509494165248543496632685931965247504794715611956982481782228353961468095280768876396996396733189145467658929232624549974377252285149761234423165526003589705552613093477366575538668830050962290559721474768016847879611508033592476747613609201112545487289519919059429931507310663629153019734995283755546863197492901199713493713479498410128723319916568300250105260745741431653410296259276960436673863727810757646420010734701059153027845445898866143860166725330627108612813239184181058337563376030166327160336533541935577667217031192508782369263383642581671343310010221887923849190047229067191255696992102215009036393547038625419903695874347373128175654437530394484216819783471926576208740277589906816309368939228169715160229799337717350699152510965394204560168525322349263046888819948153134449015687181217097028753136230267484119013120751291845246510182959129508968823274396051165974171445136189783913857575811491984445197368468383897946367273107739510454232215562171959018012216598431764679791625352776335177270010916811184329361209292966850566321384990088091582327248227575205121055593460003336771895693996320572387404679624467401719830164710745294584318466190401127 1706335416550154945615059221716216117478288832677647751964920016566423575556113558129318461937957748017307733588405750395003734959377525812201891593713929011888911012907271868440967980916440383764049202245442366685298262873724117616996320526087592983810755377520006961250717419996239825540265369094079601478734570281869110317004521578356227502388916126566194968912719318055426617064124168273069499121376545593326018878246358893052842998802869989123035526627164368368977985587399106860148754779419758500938973835162559878300881172707343640231484180122821504317218955254361951413819300441785738471639832052905147709207385752707067634162101952325229189714010936475705581459033943363623437514147611348075192829994067528610165004014104087557438945877452867723696311145643786743359396366422051568134623124278384024523724451593597299994709857741095615082840663293634359488499090171924985929345080866560020980013150432776840254085933216298386264821676783672548255871281065938591667558459690471354849332706913527484670193269794603583400700041832644997659849333998984421080247206128821324933052939770903694109438117633854485070882876088177474541799293842540887565571689075519972381452856096567283575200063435878014126985202745923516337747086368968862568559784142382156114284792996256083607278707253882669307433245602665591702835812509786182131645844362389685913005321383487249956508617291763605160758876194441978535924144844712931466886251700419478041879184179413136134919117694746740831616596367738098581865966509621821044081026298235043893898141838459563387794012736134242124286701147182931739160235733569698771120335952099816343485451255062859696195435345671476303289908470753400828651675975711577454795859233210974427777894220432669957397052757955679188450124688084437014006293286128295279342690640862046463645660903923432269006269956598285296079756025289393242201207487775628702124776038265854253957699700400174746506592593991575291690691471099099657845887853462351373004283519547051 2760908700185860546851446273926087142852877871539929850859703165636116273541013204408152078997565517214503193730102306065076385962338258417277107826974964908610688884445328930064878844241262437145273148074555902746191954169025991870990060858561242374004229663945311268604880195144793993591848361384731642937456520720896920444902877705272982284503417759112270867794980326864445005686692635058799895750832296421314993186528517203529131559267320048493500774230488710789425548495645075055371646010077073962507401597792752854883299943900124672224993240119527042691930755186050975128442571909968707109186927400147381369070662156880729467725965270099936778161328797435348777609975819060854174896233608567570900539190550992162367656647572549956038990380941327392143978431636140357145858330820751200063463412194292010446579961087762548538206490427027580330345458009246316470980872400278947397440361635436417976409883621922307913015165840848360642073961933433782679036807069528297220171553167837930388001536964489775229914744562620431280311549866237474407462943200096966567536726047880754864560250434532847129173112917610031934080368989377188035512773340951016288891605643820222486713601837998936985496322712838450800848930556681162757757821070028015596405230041248299974451518326883192220091946438063727644996621632831918863172346051721759798862875554898468282268705026068921299818627513651529009948923423509169791621136946927940503279798739044897945575058526786264310573555225141225048436379839664674790606244099528637353449965526404759054127941176176914086946523701528446684455226469532194786049055681722833220136023133316913372238587485330343815208556096963321549800091429882909797474950371762743428967304369400758341635470031924654402594421226339577134817397795823947468238508848300254297354907239293811143437286256699767446276280873409469625440965318256243808522592477863720284452024265841059375013293160403511518402286590312147679095371095566501377676052564207645957322749709948178 4467244116736015492466505495642303260331166704217577602824623182202539849097126762537470540935523265231810927318508056460080120921715784229478999420688893920499599897352600798505846825157702820909322350319998269431490217042750109487986381384648835357814985041465318229855597615141033819132113730478811244416191091002766030761907399283629209786892333885678465836707699644919871622750816803331869394872208842014641012064774876096581974558070190037616536300857653079158403534083044181915520400789496832463446375432955312733184181116607468312456477420242348547009149710440412926542261872351754445580826759453052529078278047909587797101888067222425165967875339733911054359069009762424477612410381219915646093369184618520772532660661676637513477936258394195115840289577279927100505254697242802768198086536472676034970304412681359848532916348168123195413186121302880675959479962572203933326785442501996438956423034054699148167101099057146746906895638717106330934908088135466888887730012858309285237334243878017259900108014357224014681011591698882472067312277199081387647783932176702079797613190205436541238611230551464517004963245077554662577312067183491903854463294719340194868166457934566220560696386148716464927834133302604679095504907438996878164965014183630456088736311323139275827370653691946396952429867235497510566008158561507941930508719917288154195274026409556171256327244805415134170707799617951148327545281791640871970166050439464375987454242706199400445492672919887965880052976207402773372472210609150458397530991824639802948026083014636477474740536437662688808741927616715126525209291415292531991256359085416729715724038740393203511403991442634797853089999900636310626126626347474320883763163602611732769413364252357324359991473984295256323267522483908384482244802134428549576697597880155857607082947160623199715282550830007754921520721343545637050723799965639348986576800304106913628970992860803686264908879184303722970786062566665601035521940417669997330327033229495229 7228152816921876039317951769568390403184044575757507453684326347838656122638139966945622619933088782446314121048610362525156506884054042646756107247663858829110288781797929728570725669398965258054595498394554172177682171211776101358976442243210077731819214705410629498460477810285827812723962091863542887353647611723662951206810276988902192071395751644790736704502679971784316628437509438390669290623041138435956005251303393300111106117337510086110037075088141789947829082578689256970892046799573906425953777030748065588067481060507592984681470660361875589701080465626463901670704444261723152690013686853199910447348710066468526569614032492525102746036668531346403136678985581485331787306614828483216993908375169512934900317309249187469516926639335522507984268008916067457651113028063553968261549948666968045416884373769122397071122838595150775743531579312126992430460834972482880724225804137432856932832917676621456080116264897995107548969600650540113613944895204995186107901566026147215625335780842507035130022758919844445961323141565119946474775220399178354215320658224582834662173440639969388367784343469074548939043614066931850612824840524442920143354900363160417354880059772565157546192708861554915728683063859285841853262728509024893761370244224878756063187829650022468047462600130010124597426488868329429429180504613229701729371595472186622477542731435625092556145872319066663180656723041460318119166418738568812473445849178509273933029301232985664756066228145029190928489356047067448163078454708679095750980957351044562002154024190813391561687060139191135493197154086247321311258347097015365211392382218733643087962626225723547326612547539598119402890091330519220423601576719237064312730467972012491111048834284281978762585895210634833458084920279732331950483310982728803874052505119449668750520233417322967161558831703417224546961686661801880859246392443503069271028824569947973003984286021207197783311165774615870649881433662232102413197992981877643287649782939443407 11695396933657891531784457265210693663515211279975085056508949530041195971735266729483093160868612047678125048367118418985236627805769826876235106668352752749609888679150530527076572494556668078963917848714552441609172388254526210846962823627858913089634199746875947728316075425426861631856075822342354131769838702726428981968717676272531401858288085530469202541210379616704188251188326241722538685495249980450597017316078269396693080675407700123726573375945794869106232616661733438886412447589070738889400152463703378321251662177115061297137948080604224136710230176066876828212966316613477598270840446306252439525626757976056323671502099714950268713912008265257457495747995343909809399716996048398863087277559788033707432977970925824982994862897729717623824557586195994558156367725306356736459636485139644080387188786450482245604039186763273971156717700615007668389940797544686814051011246639429295889255951731320604247217363955141854455865239367646444548852983340462074995631578884456500862670024720524295030130773277068460642334733264002418542087497598259741863104590401284914459786630845405929606395574020539065944006859144486513190136907707934823997818195082500612223046517707131378106889095010271380656517197161890520948767635948021771926335258408509212151924140973161743874833253821956521549856356103826939995188663174737643659880315389474776672816757845181263812473117124481797351364522659411466446711700530209684443611899617973649920483543939185065201558901064917156808542332254470221535550665317829554148511949175684364950180107205449869036427596576853824301939081702962447836467638512307897202648741304150372803686664966116750838016538982232917255980091231155531049728203066711385196493631574624223880462198536639303122577369194930089781352442763640716432728113117157353450750102999605526357603180577946166876841382533424979468482408005347517909970192409142418257605624874054886632955278882010884048220044958919593620667496228897703448719933399547640617976816168938636 18923549750579767571102409034779084066699255855732592510193275877879852094373406696428715780801700830124439169415728781510393134689823869522991213916016611578720177460948460255647298163955633337018513347109106613786854559466302312205939265871068990821453414452286577226776553235712689444580037914205897019123486314450091933175527953261433593929683837175259939245713059588488504879625835680113207976118291118886553022567381662696804186792745210209836610451033936659054061699240422695857304494388644645315353929494451443909319143237622654281819418740966099726411310641693340729883670760875200750960854133159452349972975468042524850241116132207475371459948676796603860632426980925395141187023610876882080081185934957546642333295280175012452511789537065240131808825595112062015807480753369910704721186433806612125804073160219604642675162025358424746900249279927134660820401632517169694775237050776862152822088869407942060327333628853136962004834840018186558162797878545457261103533144910603716488005805563031330160153532196912906603657874829122365016862717997438096078425248625867749121960071485375317974179917489613614883050473211418363802961748232377744141173095445661029577926577479696535653081803871826296385200261021176362802030364457046665687705502633387968215111970623184211922295853951966646147282844972156369424369167787967345389251910861661399150359489280806356368618989443548460532021245700871784565878119268778496917057748796482923853512845172170729957625129209946347737031688301537669698629120026508649899492906526728926952334131396263260598114656716044959795136235789209769147725985609323262414041123522884015891649291191840298164629086521831036658870182561674751473329779785948449509224099546636714991511032820921281885163264405564923239437363043373048383211424099886157324802608119055195108123413995269134038400214236842204015444094667149398769216584852645487528634449444002859636939564903218081831531210733535464270548929891129805861917926381425283905626599108382043 30618946684237659102886866299989777730214467135707677566702225407921048066108673425911808941670312877802564217782847200495629762495593696399226320584369364328330066140098990782723870658512301415982431195823659055396026947720828523052902089498927903911087614199162524955092628661139551076436113736548251150893325017176520915144245629533964995787971922705729141786923439205192693130814161921835746661613541099337150039883459932093497267468152910333563183826979731528160294315902156134743716941977715384204754081958154822230570805414737715578957366821570323863121540817760217558096637077488678349231694579465704789498602226018581173912618231922425640173860685061861318128174976269304950586740606925280943168463494745580349766273251100837435506652434794957755633383181308056573963848478676267441180822918946256206191261946670086888279201212121698718056966980542142329210342430061856508826248297416291448711344821139262664574550992808278816460700079385833002711650861885919336099164723795060217350675830283555625190284305473981367245992608093124783558950215595697837941529839027152663581746702330781247580575491510152680827057332355904876993098655940312568138991290528161641800973095186827913759970898882097677041717458183066883750798000405068437614040761041897180367036111596345955797129107773923167697139201075983309419557830962704989049132226251136175823176247125987620181092106568030257883385768360283251012589819798988181360669648414456573773996389111355795159184030274863504545574020556007891234179785344338204048004855702413291902514238601713129634542253292898784097075317492172216984193624121631159616689864827034388695335956157957049002645625504063953914850273792830282523057982852659834705717731121260938871973231357560585007740633600495013020789805807013764815939537217043510775552711118660721465726594573215300915241596770267183483926502672496916679186777261787905786240074318057746269894843785228965879751255692455057891216426120027509310637859780972924523603415277320679 49542496434817426673989275334768861796913722991440270076895501285800900160482080122340524722472013707927003387198575982006022897185417565922217534500385975907050243601047451038371168822467934753000944542932765669182881507187130835258841355369996894732541028651449102181869181896852240521016151650754148170016811331626612848319773582795398589717655759880989081032636498793681198010439997601948954637731832218223703062450841594790301454260898120543399794278013668187214356015142578830601021436366360029520108011452606266139889948652360369860776785562536423589532851459453558287980307838363879100192548712625157139471577694061106024153734364129901011633809361858465178760601957194700091773764217802163023249649429703126992099568531275849888018441971860197887442208776420118589771329232046178145902009352752868331995335106889691530954363237480123464957216260469276990030744062579026203601485348193153601533433690547204724901884621661415778465534919404019560874448740431376597202697868705663933838681635846586955350437837670894273849650482922247148575812933593135934019955087653020412703706773816156565554755408999766295710107805567323240796060404172690312280164385973822671378899672666524449413052702753923973426917719204243246552828364862115103301746263675285148582148082219530167719424961725889813844422046048139678843926998750672334438384137112797574973535736406793976549711096011578718415407014061155035578467939067766678277727397210939497627509234283526525116809159484809852282605708857545560932808905370846853947497762229142218854848369997976390232656910008943743892211553281381986131919609730954422030730988349918404586985247349797347167274712025894990573720456354505033996387762638608284214941830667897653863484264178481866892903898006059936260227168850386813199150961316929668100355319237715916573850008568484434953641811007109387499370597339646315448403362114433393314874523762060605906834408688447047711282466425990522161765356011157315172555786162398208429230014385702722 80161443119055085776876141634758639527128190127147947643597726693721948226590753548252333664142326585729567604981423182501652659681011262321443855084755340235380309741146441821095039480980236168983375738756424724578908454907959358311743444868924798643628642850611627136961810557991791597452265387302399320910136348803133763464019212329363585505627682586718222819559937998873891141254159523784701299345373317560853102334301526883798721729051030876962978104993399715374650331044734965344738378344075413724862093410761088370460754067098085439734152384106747452654392277213775846076944915852557449424243292090861928970179920079687198066352596052326651807670046920326496888776933464005042360504824727443966418112924448707341865841782376687323525094406655155643075591957728175163735177710722445587082832271699124538186597053559778419233564449601822183014183241011419319241086492640882712427733645609445050244778511686467389476435614469694594926234998789852563586099602317295933301862592500724151189357466130142580540722143144875641095643091015371932134763149188833771961484926680173076285453476146937813135330900509918976537165137923228117789159060113002880419155676501984313179872767853352363173023601636021650468635177387310130303626365267183540915787024717182328949184193815876123516554069499812981541561247124122988263484829713377323487516363363933750796711983532781596730803202579608976298792782421438286591057758866754859638397045625396071401505623394882320275993189759673356828179729413553452166988690715185057995502617931555510757362608599689519867199163301842527989286870773554203116113233852585581647420853176952793282321203507754396169920337529958944488570730147335316519445745491268118920659561789158592735457495536042451900644531606554949281016974657400578015090498533973178875908030356376638039576603141699735868883407777376570983297100012143232127590139376221299101114598080118352176729252473676013591033722118445580052981782131184824483193645943371132952833429663023401 129703939553872512450865416969527501324041913118588217720493227979522848387072833670592858386614340293656570992179999164507675556866428828243661389585141316142430553342193892859466208303448170921984320281689190393761789962095090193570584800238921693376169671502060729318830992454844032118468417038056547490926947680429746611783792795124762175223283442467707303852196436792555089151694157125733655937077205535784556164785143121674100175989949151420362772383007067902589006346187313795945759814710435443244970104863367354510350702719458455300510937946643171042187243736667334134057252754216436549616792004716019068441757614140793222220086960182227663441479408778791675649378890658705134134269042529606989667762354151834333965410313652537211543536378515353530517800734148293753506506942768623732984841624451992870181932160449469950187927687081945647971399501480696309271830555219908916029218993802598651778212202233672114378320236131110373391769918193872124460548342748672530504560461206388085028039101976729535891159980815769914945293573937619080710576082781969705981440014333193488989160249963094378690086309509685272247272943490551358585219464285693192699320062475806984558772440519876812586076304389945623895552896591553376856454730129298644217533288392467477531332276035406291235979031225702795385983293172262667107411828464049657925900500476731325770247719939575573280514298591187694714199796482593322169525697934521537916124442836335569029014857678408845392802349244483209110785438271099013099797596086031911943000380160697729612210978597665910099856073310786271881498424054936189248032843583540003678151841526871197869306450857551743337195049555853935062291186501840350515833508129876403135601392457056246598941759714524318793548429612614885541244143507787391214241459850902846976263349594092554613426611710184170822525218784485958482667697351789547575993501490654692415989121842178958083563661162123061302316188544436102214747138142342139655749432105769341382063444048726123 209865382672927598227741558604286140851170103245736165364090954673244796613663587218845192050756666879386138597161422347009328216547440090565105244669896656377810863083340334680561247784428407090967696020445615118340698417003049551882328245107846492019798314352672356455792803012835823715920682425358946811837084029232880375247812007454125760728911125054425526671756374791428980292948316649518357236422578853345409267119444648557898897719000182297325750488000467617963656677232048761290498193054510856969832198274128442880811456786556540740245090330749918494841636013881109980134197670068993999041035296806880997411937534220480420286439556234554315249149455699118172538155824122710176494773867257050956085875278600541675831252096029224535068630785170509173593392691876468917241684653491069320067673896151117408368529214009248369421492136683767830985582742492115628512917047860791628456952639412043702022990713920139503854755850600804968318004916983724688046647945065968463806423053707112236217396568106872116431882123960645556040936664952991012845339231970803477942924941013366565274613726110032191825417210019604248784438081413779476374378524398696073118475738977791297738645208373229175759099906025967274364188073978863507160081095396482185133320313109649806480516469851282414752533100725515776927544540296385655370896658177426981413416863840665076566959703472357170011317501170796671012992578904031608760583456801276397554521488461731640430520481073291165668795539004156565938965167684652465266786286801216969938502998092253240369573587197355429967055236612628799870785294828490392364146077436125585325572694703823991151627654365306139507115387085812879550861916649175667035279253621144522056260954246214839334399255250566770694192961219169834822261118165187969229331958384876025852171379950469192653003214851883906691408626561862529465964797363932779703583640866875991517103719922297310260292913635799074893349910662881682267728920273526964138943078049140474334896873711749524 339569322226800110678606975573813642175212016364324383084584182652767645000736420889438050437371007173042709589341421511517003773413868918808766634255037972520241416425534227540027456087876578012952016302134805512102488379098139745452913045346768185395967985854733085774623795467679855834389099463415494302764031709662626987031604802578887935952194567522132830523952811583984069444642473775252013173499784389129965431904587770231999073708949333717688522871007535520552663023419362557236258007764946300214802303137495797391162159506014996040756028277393089537028879750548444114191450424285430548657827301522900065853695148361273642506526516416781978690628864477909848187534714781415310629042909786657945753637632752376009796662409681761746612167163685862704111193426024762670748191596259693053052515520603110278550461374458718319609419823765713478956982243972811937784747603080700544486171633214642353801202916153811618233076086731915341709774835177596812507196287814640994310983514913500321245435670083601652323042104776415470986230238890610093555915314752773183924364955346560054263773976073126570515503519529289521031711024904330834959597988684389265817795801453598282297417648893105988345176210415912898259740970570416884016535825525780829350853601502117284011848745886688705988512131951218572313527833468648322478308486641476639339317364317396402337207423411932743291831799761984365727192375386624930930109154735797935470645931298067209459535338751700011061597888248639775049750605955751478366583882887248881881503378252950969981784565795021340066911309923415071752283718883426581612178921019665589003724536230695189020934105222857882844310436641666814613153103151016017551112761751020925191862346703271085933341014965091089487741390831784720363505261672975360443573418235778872828434729544561747266429826562068077513933845346348487948632494715722327279577142357530683933092841764476268343856574797922136195666099207317784482476058415869103794692510154909815716960317760475647 549434704899727708906348534178099783026382119610060548448675137326012441614400008108283242488127674052428848186502843858526331989961309009373871878924934628898052279508874562220588703872304985103919712322580420630443186796101189297335241290454614677415766300207405442230416598480515679550309781888774441114601115738895507362279416810033013696681105692576558357195709186375413049737590790424770370409922363242475374699024032418789897971427949516015014273359008003138516319700651411318526756200819457157184634501411624240271973616292571536781001118608143008031870515764429554094325648094354424547698862598329781063265632682581754062792966072651336293939778320177028020725690538904125487123816777043708901839512911352917685627914505710986281680797948856371877704586117901231587989876249750762373120189416754227686918990588467966689030911960449481309942564986464927566297664650941492172943124272626686055824193630073951122087831937332720310027779752161321500553844232880609458117406568620612557462832238190473768754924228737061027027166903843601106401254546723576661867289896359926619538387702183158762340920729548893769816149106318110311333976513083085338936271540431389580036062857266335164104276116441880172623929044549280391176616920922263014484173914611767090492365215737971120741045232676734349241072373765033977849205144818903620752734228158061478904167126884289913303149300932781036740184954290656539690692611537074333025167419759798849890055819824991176730393427252796340988715773640403943633370169688465851820006376345204210351358152992376770033966546536043871623069013711916973976324998455791174329297230934519180172561759588164022351425823727479694164015019800191684586392015372165447248123300949485925267740270215657860181934352050954555185766379838163329672905376620654898680606109495030939919433041413951984205342471908211017414597292079655106983160783224406675450196561686773578604149488433721211089016009870199466750204978689396067933635588204050290051857191472225171 889004027126527819584955509751913425201594135974384931533259319978780086615136428997721292925498681225471557775844265370043335763375177928182638513179972601418293695934408789760616159960181563116871728624715226142545675175199329042788154335801382862811734286062138528005040393948195535384698881352189935417365147448558134349311021612611901632633300260098691187719661997959397119182233264200022383583422147631605340130928620189021897045136898849732702796230015538659068982724070773875763014208584403457399436804549120037663135775798586532821757146885536097568899395514977998208517098518639855096356689899852681129119327830943027705299492589068118272630407184654937868913225253685540797752859686830366847593150544105293695424576915392748028292965112542234581815779543925994258738067846010455426172704937357337965469451962926685008640331784215194788899547230437739504082412254022192717429295905841328409625396546227762740320908024064635651737554587338918313061040520695250452428390083534112878708267908274075421077966333513476498013397142734211199957169861476349845791654851706486673802161678256285332856424249078183290847860131222441146293574501767474604754067341884987862333480506159441152449452326857793070883670015119697275193152746448043843835027516113884374504213961624659826729557364627952921554600207233682300327513631460380260092051592475457881241374550296222656594981100694765402467377329677281470620801766272872268495813351057866059349591158576691187791991315501436116038466379596155421999954052575714733701509754598155180333142718787398110100877856459458943375352732595343555588503919475456763333021767165214369193495864811021905195736260369146508777168122951207702137504777123186372439985647652757011201081285180748949669675742882739275549271641511138690116478794856433771509040839039592687185862867976020061719276317254559505363229786795377434262737925581937359383289403451249846948006063231643347284682109077517251232681037105265171728328098358960105768817509232700818 1438438732026255528491304043930013208227976255584445479981934457304792528229536437106004535413626355277900405962347109228569667753336486937556510392104907230316345975443283351981204863832486548220791440947295646772988861971300518340123395626255997540227500586269543970235456992428711214935008663240964376531966263187453641711590438422644915329314405952675249544915371184334810168919824054624792753993344510874080714829952652607811795016564848365747717069589023541797585302424722185194289770409403860614584071305960744277935109392091158069602758265493679105600769911279407552302842746612994279644055552498182462192384960513524781768092458661719454566570185504831965889638915792589666284876676463874075749432663455458211381052491421103734309973763061398606459520365661827225846727944095761217799292894354111565652388442551394651697671243744664676098842112216902667070380076904963684890372420178468014465449590176301713862408739961397355961765334339500239813614884753575859910545796652154725436171100146464549189832890562250537525040564046577812306358424408199926507658944748066413293340549380439444095197344978627077060664009237540551457627551014850559943690338882316377442369543363425776316553728443299673243507599059668977666369769667370306858319201430725651464996579177362630947470602597304687270795672580998716278176718776279283880844785820633519360145541677180512569898130401627546439207562283967938010311494377809946601520980770817664909239646978401682364522384742754232457027182153236559365633324222264180585521516130943359390684500871779774880134844402995502814998421746307260529564828917931247937662318998099733549366057624399185927547162084096626202941183142751399386723896792495351819688108948602242936468821555396406809851610094933693830735038021349302019789384171477088670189646948534623627105295909389972045924618789162770522777827078875032541245898708806344034833485965138023425552155551665364558373698118947716717982886015794661239661963686563010395820674700704925989 2327442759152783348076259553681926633429570391558830411515193777283572614844672866103725828339125036503371963738191374598613003516711664865739148905284879831734639671377692141741821023792668111337663169572010872915534537146499847382911549962057380403039234872331682498240497386376906750319707544593154311949331410636011776060901460035256816961947706212773940732635033182294207288102057318824815137576766658505686054960881272796833692061701747215480419865819039080456654285148792959070052784617988264071983508110509864315598245167889744602424515412379215203169669306794385550511359845131634134740412242398035143321504288344467809473391951250787572839200592689486903758552141046275207082629536150704442597025813999563505076477068336496482338266728173940841041336145205753220105466011941771673225465599291468903617857894514321336706311575528879870887741659447340406574462489158985877607801716084309342875074986722529476602729647985461991613502888926839158126675925274271110362974186735688838314879368054738624610910856895764014023053961189312023506315594269676276353450599599772899967142711058695729428053769227705260351511869368762992603921125516618034548444406224201365304703023869585217469003180770157466314391269074788674941562922413818350702154228946839535839500793138987290774200159961932640192350272788232398578504232407739664140936837413108977241386916227476735226493111502322311841674939613645219480932296144082818870016794121875530968589238136978373552314376058255668573065648532832714787633278274839895319223025885541514571017643590567172990235722259454961758373774478902604085153332837406704700995340765264947918559553489210207832742898344465772711718351265702607088861401569618538192128094596254999947669902840577155759521285837816433106284309662860440709905862966333522441698687787574216314291158777365992107643895106417330028141056865670409975508636634388281394216775368589273272500161614897007905658380228025233969215567052899926411390291784921970501589492209937626807 3765881491179038876567563597611939841657546647143275891497128234588365143074209303209730363752751391781272369700538483827182671270048151803295659297389787062050985646820975493723025887625154659558454610519306519688523399117800365723034945588313377943266735458601226468475954378805617965254716207834118688481297673823465417772491898457901732291262112165449190277550404366629017457021881373449607891570111169379766769790833925404645487078266595581228136935408062622254239587573515144264342555027392124686567579416470608593533354559980902672027273677872894308770439218073793102814202591744628414384467794896217605513889248857992591241484409912507027405770778194318869648191056838864873367506212614578518346458477455021716457529559757600216648240491235339447500856510867580445952193956037532891024758493645580469270246337065715988403982819273544546986583771664243073644842566063949562498174136262777357340524576898831190465138387946859347575268223266339397940290810027846970273519983387843563751050468201203173800743747458014551548094525235889835812674018677876202861109544347839313260483260439135173523251114206332337412175878606303544061548676531468594492134745106517742747072567233010993785556909213457139557898868134457652607932692081188657560473430377565187304497372316349921721670762559237327463145945369231114856680951184018948021781623233742496601532457904657247796391241903949858280882501897613157491243790521892765471537774892693195877828885115380055916836760801009901030092830686069274153266602497104075904744542016484873961702144462346947870370566662450464573372196225209864614718161755337952638657659763364681467925611113609393760290060428562398914659534408454006475585298362113890011816203544857242884138724395973562569372895932750126937019347684209742729695247137810611111888334736108839941396454686755964153568513895580100550918883944545442516754535343194625429050261333727296698052317166562372464032078346972950687198453068694587651052255471484980897410166910642552796 6093324250331822224643823151293866475087117038702106303012322011871937757918882169313456192091876428284644333438729858425795674786759816669034808202674666893785625318198667635464846911417822770896117780091317392604057936264300213105946495550370758346305970330932908966716451765182524715574423752427273000430629084459477193833393358493158549253209818378223131010185437548923224745123938692274423029146877827885452824751715198201479179139968342796708556801227101702710893872722308103334395339645380388758551087526980472909131599727870647274451789090252109511940108524868178653325562436876262549124880037294252748835393537202460400714876361163294600244971370883805773406743197885140080450135748765282960943484291454585221534006628094096698986507219409280288542192656073333666057659967979304564250224092937049372888104231580037325110294394802424417874325431111583480219305055222935440105975852347086700215599563621360667067868035932321339188771112193178556066966735302118080636494170123532402065929836255941798411654604353778565571148486425201859318989612947552479214560143947612213227625971497830902951304883434037597763687747975066536665469802048086629040579151330719108051775591102596211254560089983614605872290137209246327549495614495007008262627659324404723143998165455337212495870922521169967655496218157463513435185183591758612162718460646851473842919374132133983022884353406272170122557441511258376972176086665975584341554569014568726846418123252358429469151136859265569603158479218901988940899880771943971223967567902026388532719788052914120860606288921905426331745970704112468699871494592744657339653000528629629386485164602819601593032958773028171626377885674156613564446699931732428203944298141112242831808627236550718328894181770566560043303657347070183439601110104144133553587022523683056255687613464121956261212409001997430579059940810215852492263171977582906823267036702316569970552478781459380369690458574998184656414020121594514062442547256406951398999659120580179603 9859205741510861101211386748905806316744663685845382194509450246460302900993091472523186555844627820065916703139268342252978346056807968472330467500064453955836610965019643129187872799042977430454572390610623912292581335382100578828981441138684136289572705789534135435192406143988142680829139960261391688911926758282942611605885256951060281544471930543672321287735841915552242202145820065724030920716988997265219594542549123606124666218234938377936693736635164324965133460295823247598737894672772513445118666943451081502664954287851549946479062768125003820710547742941971756139765028620890963509347832190470354349282786060452991956360771075801627650742149078124643054934254724004953817641961379861479289942768909606937991536187851696915634747710644619736043049166940914112009853924016837455274982586582629842158350568645753313514277214075968964860909202775826553864147621286885002604149988609864057556124140520191857533006423879180686764039335459517954007257545329965050910014153511375965816980304457144972212398351811793117119243011661091695131663631625428682075669688295451526488109231936966076474555997640369935175863626581370080727018478579555223532713896437236850798848158335607205040116999197071745430189005343703980157428306576195665823101089701969910448495537771687134217541685080407295118642163526694628291866134775777560184500083880593970444451832036791230819275595310222028403439943408871534463419877187868349813092343907261922724247008367738485385987897660275470633251309904971263094166483269048047128712109918511262494421932515261068730976855584355890905118166929322333314589656348082609978310660291994310854410775716428995353323019201590570541037420082610620040031998293846318215760501685969485715947351632524280898267077703316686980323005031279926169296357241954744665475357259791896197084068150877920414780922897577531129978824754761295009017707320777532252317298036043866668604795948021752833722536921971135343612473190289101713494802727891932296409826031222732399 15952529991842683325855209900199672791831780724547488497521772258332240658911973641836642747936504248350561036577998200678774020843567785141365275702739120849622236283218310764652719710460800201350690170701941304896639271646400791934927936689054894635878676120467044401908857909170667396403563712688664689342555842742419805439278615444218830797681748921895452297921279464475466947269758757998453949863866825150672419294264321807603845358203281174645250537862266027676027333018131350933133234318152902203669754470431554411796554015722197220930851858377113332650656267810150409465327465497153512634227869484723103184676323262913392671237132239096227895713519961930416461677452609145034267777710145144440233427060364192159525542815945793614621254930053900024585241823014247778067513891996142019525206679519679215046454800225790638624571608878393382735234633887410034083452676509820442710125840956950757771723704141552524600874459811502025952810447652696510074224280632083131546508323634908367882910140713086770624052956165571682690391498086293554450653244572981161290229832243063739715735203434796979425860881074407532939551374556436617392488280627641852573293047767955958850623749438203416294677089180686351302479142552950307706923921071202674085728749026374633592493703227024346713412607601577262774138381684158141727051318367536172347218544527445444287371206168925213842159948716494198525997384920129911435595963853843934154646912921830649570665131620096914855139034519541040236409789123873252035066364040992018352679677820537651027141720568175189591583144506261317236864137633434802014461150940827267317963660820623940240895940319248596946355977974618742167415305756767233604478698225578746419704799827081728547755978869074999227161259473883247023626662378350109608897467346098878219062379783474952452771681614999876675993331899574961709038765564977147501280879298360439075584334738360436639157274729481133203412995496969320000026493311883615775937349984298883695409485151802912002 25811735733353544427066596649105479108576444410392870692031222504792543559905065114359829303781132068416477739717266542931752366900375753613695743202803574805458847248237953893840592509503777631805262561312565217189220607028501370763909377827739030925451381910001179837101264053158810077232703672950056378254482601025362417045163872395279112342153679465567773585657121380027709149415578823722484870580855822415892013836813445413728511576438219552581944274497430352641160793313954598531871128990925415648788421413882635914461508303573747167409914626502117153361204010752122165605092494118044476143575701675193457533959109323366384627597903314897855546455669040055059516611707333149988085419671525005919523369829273799097517079003797490530256002640698519760628290989955161890077367816012979474800189266102309057204805368871543952138848822954362347596143836663236587947600297796705445314275829566814815327847844661744382133880883690682712716849783112214464081481825962048182456522477146284333699890445170231742836451307977364799809634509747385249582316876198409843365899520538515266203844435371763055900416878714777468115415001137806698119506759207197076106006944205192809649471907773810621334794088377758096732668147896654287864352227647398339908829838728344544040989240998711480930954292681984557892780545210852770018917453143313732531718628408039414731823038205716444661435544026716226929437328329001445899015841041712283967739256829092572294912139987835400241126932179816510869661099028844515129232847310040065481391787739048913521563653083436258322560000090617208141982304562757135329050807288909877296274321112618251095306716035677592299678997176209312708452725839377853644510696519425064635465301513051214263703330501599280125428337177199934003949667409630035778193824588053622884537737043266848649855749765877797090774254797152492839017590319738442510298586619137971327901632774404303307762070677502886037135532418940455343638966502172717489432152712190815991819311183025644401 41764265725196227752921806549305151900408225134940359189552994763124784218817038756196472051717636316767038776295264743610526387743943538755061018905542695655081083531456264658493312219964577833155952732014506522085859878674902162698837314516793925561330058030468224239010121962329477473636267385638721067597038443767782222484442487839497943139835428387463225883578400844503176096685337581720938820444722647566564433131077767221332356934641500727227194812359696380317188126332085949465004363309078317852458175884314190326258062319295944388340766484879230486011860278562272575070419959615197988777803571159916560718635432586279777298835035553994083442169189001985475978289159942295022353197381670150359756796889637991257042621819743284144877257570752419785213532812969409668144881708009121494325395945621988272251260169097334590763420431832755730331378470550646622031052974306525888024401670523765573099571548803296906734755343502184738669660230764910974155706106594131314003030800781192701582800585883318513460504264142936482500026007833678804032970120771391004656129352781579005919579638806560035326277759789185001054966375694243315511995039834838928679299991973148768500095657212014037629471177558444448035147290449604595571276148718601013994558587754719177633482944225735827644366900283561820666918926895010911745968771510849904878937172935484859019194244374641658503595492743210425455434713249131357334611804895556218122386169750923221865577271607932315096265966699357551106070888152717767164299211351032083834071465559586564548705373651611447914143144596878525378846442196191937343511958229737144614237981933242191336202656354926189246034975150828054875868031596145087248989394745003811055170101340132942811459309370674279352589596651083181027576329787980145387091291934152501103600116826741801102627431380877673766767586696727454548056355884715590011579465917498410403485967512764739946919345406984019240548527915909775343665459814056333265369502696489699687228796334828556403 67576001458549772179988403198410631008984669545333229881584217267917327778722103870556301355498768385183516516012531286542278754644319292368756762108346270460539930779694218552333904729468355464961215293327071739275080485703403533462746692344532956486781439940469404076111386015488287550868971058588777445851521044793144639529606360234777055481989107853030999469235522224530885246100916405443423691025578469982456446967891212635060868511079720279809139086857126732958348919646040547996875492300003733501246597298196826240719570622869691555750681111381347639373064289314394740675512453733242464921379272835110018252594541909646161926432938868891938988624858042040535494900867275445010438617053195156279280166718911790354559700823540774675133260211450939545841823802924571558222249524022100969125585211724297329456065537968878542902269254787118077927522307213883209978653272103231333338677500090580388427419393465041288868636227192867451386510013877125438237187932556179496459553277927477035282691031053550256296955572120301282309660517581064053615286996969800848022028873320094272123424074178323091226694638503962469170381376832050013631501799042036004785306936178341578149567564985824658964265265936202544767815438346258883435628376365999353903388426483063721674472185224447308575321192965546378559699472105863681764886224654163637410655801343524273751017282580358103165031036769926652384872041578132803233627645937268502090125426580015794160489411595767715337392898879174061975731987181562282293532058661072149315463253298635478070269026735047706236703144687495733520828746758949072672562765518647021910512303045860442431509372390603781545713972327037367584320757435522940893500091264428875690635402853184157075162639872273559478017933828283115031525997197610181165285116522206123988137853870008649752483181146755470857541841493879947387073946204454032521878052536636381731387600287169043254681416084486905277684060334850230687304426316229050754801655408680515679048107517854200804 109340267183745999932910209747715782909392894680273589071137212031042111997539142626752773407216404701950555292307796030152805142388262831123817781013888966115621014311150483210827216949432933298117168025341578261360940364378305696161584006861326882048111497970937628315121507977817765024505238444227498513448559488560926862014048848074274998621824536240494225352813923069034061342786253987164362511470301117549020880098968979856393225445721221007036333899216823113275537045978126497461879855609082051353704773182511016566977632942165635944091447596260578125384924567876667315745932413348440453699182843995026578971229974495925939225267974422886022430794047044026011473190027217740032791814434865306639036963608549781611602322643284058820010517782203359331055356615893981226367131232031222463450981157346285601707325707066213133665689686619873808258900777764529832009706246409757221363079170614345961526990942268338195603391570695052190056170244642036412392894039150310810462584078708669736865491616936868769757459836263237764809686525414742857648257117741191852678158226101673278043003712984883126552972398293147470225347752526293329143496838876874933464606928151490346649663222197838696593736443494646992802962728795863479006904525084600367897947014237782899307955129450183136219688093249108199226618399000874593510854996165013542289592974279009132770211526954999761668626529513137077840306754827264160568239450832824720212511596330939016026066683203700030433658865578531613081802875334280049457831270012104233149534718858222042618974400386659154150846289284374258899675188955141010016074723748384166524750284979102633767712028745529970791748947477865422460188789031668028142489486009432686745805504193317099886621949242947838830607530479366296059102326985590326552376408456358625091737970696750450855110612527633144624309428190607401935130302089169622533457518454134792134873567799933783201600761491470924518232588250760006030969886130285384020171158105170215366276903852682757207 176916268642295772112898612946126413918377564225606818952721429298959439776261246497309074762715173087134071808320327316695083897032582123492574543122235236576160945090844701763161121678901288763078383318668650000636020850081709229624330699205859838534892937911407032391232893993306052575374209502816275959300080533354071501543655208309052054103813644093525224822049445293564946588887170392607786202495879587531477327066860192491454093956800941286845472986073949846233885965624167045458755347909085784854951370480707842807697203565035327499842128707641925764757988857191062056421444867081682918620562116830136597223824516405572101151700913291777961419418905086066546968090894493185043230431488060462918317130327461571966162023466824833495143777993654298876897180418818552784589380756053323432576566369070582931163391245035091676567958941406991886186423084978413041988359518512988554701756670704926349954410335733379484472027797887919641442680258519161850630081971706490306922137356636146772148182647990419026054415408383539047119347042995806911263544114710992700700187099421767550166427787163206217779667036797109939395729129358343342774998637918910938249913864329831924799230787183663355558001709430849537570778167142122362442532901450599721801335440720846620982427314674630444795009286214654577786317871106738275275741220819177179700248775622533406521228809535357864833657566283063730225178796405396963801867096770093222302637022910954810186556094799467745771051764457705675057534862515842331751363328673176382464997972156857520689243427121706860387549433971869992420503935714090082688637489267031188435262588024963076199221401136133752337462919804902790044509546467190969035989577273861562436440907046501256961784589115221398308625464307649411090628324183200507717661524978564749079875824566759100607593793674388615481851269684487349322204248293623655055335570990771173866261168087102826456282177575957829795916648585610236718274312446514434774972813513850731045325011370536958011 286256535826041772045808822693842196827770458905880408023858641330001551773800389124061848169931577789084627100628123346847889039420844954616392324136124202691781959401995184973988338628334222061195551344010228261996961214460014925785914706067186720583004435882344660706354401971123817599879447947043774472748640021914998363557704056383327052725638180334019450174863368362599007931673424379772148713966180705080498207165829172347847319402522162293881806885290772959509423011602293542920635203518167836208656143663218859374674836507200963443933576303902503890142913425067729372167377280430123372319744960825163176195054490901498040376968887714663983850212952130092558441280921710925076022245922925769557354093936011353577764346110108892315154295775857658207952537034712534010956511988084545896027547526416868532870716952101304810233648628026865694445323862742942873998065764922745776064835841319272311481401278001717680075419368582971831498850503161198263022976010856801117384721435344816509013674264927287795811875244646776811929033568410549768911801232452184553378345325523440828209431500148089344332639435090257409621076881884636671918495476795785871714520792481322271448894009381502052151738152925496530373740895937985841449437426535200089699282454958629520290382444124813581014697379463762777012936270107612868786596216984190721989841749901542539291440336490357626502284095796200808065485551232661124370106547602917942515148619241893826212622778003167776204710630036237288139337737850122381209194598685280615614532691015079563308217827508366014538395723256244251320179124669231092704712213015415354960012873004065709966933429881663723129211867282768212504698335498858997178479063283294249182246411239818356848406538358169237139232994787015707149730651168790834270037933434923374171613795263509551462704406202021760106160697875094751257334550382793277588793089444905966001134735887036609657882939067428754314149236836370242749244198576799818795143971619020946411601915223219715218 463172804468337544158707435639968610746148023131487226976580070628960991550061635621370922932646750876218698908948450663542972936453427078108966867258359439267942904492839886737149460307235510824273934662678878262632982064541724155410245405273046559117897373793751693097587295964429870175253657449860050432048720555269069865101359264692379106829451824427544674996912813656163954520560594772379934916462060292611975534232689364839301413359323103580727279871364722805743308977226460588379390551427253621063607514143926702182372040072236290943775705011544429654900902282258791428588822147511806290940307077655299773418879007307070141528669801006441945269631857216159105409371816204110119252677410986232475671224263472925543926369576933725810298073769511957084849717453531086795545892744137869328604113895487451464034108197136396486801607569433857580631746947721355915986425283435734330766592512024198661435811613735097164547447166470891472941530761680360113653057982563291424306858791980963281161856912917706821866290653030315859048380611406356680175345347163177254078532424945208378375859287311295562112306471887367349016806011242980014693494114714696809964434656811154196248124796565165407709739862356346067944519063080108203891970327985799811500617895679476141272809758799444025809706665678417354799254141214351144062337437803367901690090525524075945812669146025715491335941662079264538290664347638058088171973644373011164817785642152848636399178872802635521975762394493942963196872600365964712960557927358456998079530663171937083997461254630072874925945157228114243740683060383321175393349702282446543395275461029028786166154831017797475466674787087671002549207881966049966214468640557155811618687318286319613810191127473390635447858459094665118240358975351991341987699458413488123251489619830268652070298199876410375588011967559582100579538798676416932644128660435677139867395903974139436114165116643386584110065885421980479467518511023314253570116785132871677456926926593756673229 749429340294379316204516258333810807573918482037367635000438711958962543323862024745432771102578328665303326009576574010390861975874272032725359191394483641959724863894835071711137798935569732885469486006689106524629943279001739081196160111340233279700901809676096353803941697935553687775133105396903824904797360577184068228659063321075706159555090004761564125171776182018762962452234019152152083630428240997692473741398518537187148732761845265874609086756655495765252731988828754131300025754945421457272263657807145561557046876579437254387709281315446933545043815707326520800756199427941929663260052038480462949613933498208568181905638688721105929119844809346251663850652737915035195274923333912002033025318199484279121690715687042618125452369545369615292802254488243620806502404732222415224631661421904319996904825149237701297035256197460723275077070810464298789984491048358480106831428353343470972917212891736814844622866535053863304440381264841558376676033993420092541691580227325779790175531177844994617678165897677092670977414179816906449087146579615361807456877750468649206585290787459384906444945906977624758637882893127616686611989591510482681678955449292476467697018805946667459861478015281842598318259959018094045341407754520999901199900350638105661563192202924257606824404045142180131812190411321964012848933654787558623679932275425618485104109482516073117838225757875465346356149898870719212542080191975929107332934261394742462611801650805803298180473024530180251336210338216087094169752526043737613694063354187016647305679082138438889464340880484358495060862185052552268098061915297861898355288334033094496133088260899461198595886654370439215053906217464908963392947703840450060800933729526137970658597665831559872587091453881680825390089626520782176257737391848411497423103415093778203533002606078432135694172665434676851836873349059210210232921749880583105868530639861176045772048055710815338424215122258350722216762709600114072365260756751892623868528841816976388447 1212602144762716860363223693973779418320066505168854861977018782587923534873923660366803694035225079541522024918525024673933834912327699110834326058652843081227667768387674958448287259242805243709743420669367984787262925343543463236606405516613279838818799183469848046901528993899983557950386762846763875336846081132453138093760422585768085266384541829189108800168688995674926916972794613924532018546890301290304449275631207902026450146121168369455336366628020218570996040966055214719679416306372675078335871171951072263739418916651673545331484986326991363199944717989585312229345021575453735954200359116135762723032812505515638323434308489727547874389476666562410769260024554119145314527600744898234508696542462957204665617085263976343935750443314881572377651971941774707602048297476360284553235775317391771460938933346374097783836863766894580855708817758185654705970916331794214437598020865367669634353024505471912009170313701524754777381912026521918490329091975983383965998439019306743071337388090762701439544456550707408530025794791223263129262491926778539061535410175413857584961150074770680468557252378864992107654688904370596701305483706225179491643390106103630663945143602511832867571217877638188666262779022098202249233378082506799712700518246317581802836001961723701632634110710820597486611444552536315156911271092590926525370022800949694430916778628541788609174167419954729884646814246508777300714053836348940272150719903547591099010980523608438820156235419024123214533082938582051807130310453402194611773594017358953731303140336768511764390286037712472738801545245435873443491411617580308441750563795062123282299243091917258674062561441458110217603114099430958929607416344397605872419621047812457584468788793304950508034949912976345943630448601872773518245436850261899620674593034924046855603300805954842511282184632994258952416412147735627142877050410316260245735926543835315481886213172354201922534281007680331201684281220623428325935377541884764301325455768410733061676 1962031485057096176567739952307590225893984987206222496977457494546886078197785685112236465137803408206825350928101598684324696888201971143559685250047326723187392632282510030159425058178374976595212906676057091311892868622545202317802565627953513118519700993145944400705470691835537245725519868243667700241643441709637206322419485906843791425939631833950672925340465177693689879425028633076684102177318542287996923017029726439213598878883013635329945453384675714336248772954883968850979442061318096535608134829758217825296465793231110799719194267642438296744988533696911833030101221003395665617460411154616225672646746003724206505339947178448653803509321475908662433110677292034180509802524078810236541721860662441483787307800951018962061202812860251187670454226430018328408550702208582699777867436739296091457843758495611799080872119964355304130785888568649953495955407380152694544429449218711140607270237397208726853793180236578618081822293291363476867005125969403476507690019246632522861512919268607696057222622448384501201003208971040169578349638506393900868992287925882506791546440862230065375002198285842616866292571797498213387917473297735662173322345555396107131642162408458500327432695892920031264581038981116296294574785837027799613900418596955687464399194164647959239458514755962777618423634963858279169760204747378485149049955076375312916020888111057861727012393177830195231002964145379496513256134028324869379483654164942333561622782174414242118336708443554303465869293276798138901300062979445932225467657371545970378608819418906950653854626918196831233862407430488425711589473532878170340105852129095217778432331352816719872658448095828549432657020316895867893000364048238055933220554777338595555127386459136510380622041366858026769020538228393555694503174242110311118097696450017825059136303412033274646976357298428935804253285496794837353109972160196843351604457183696491527658261228065017260958496129938681923901043930223542398300638298636656925193984610227709450123 3174633629819813036930963646281369644214051492375077358954476277134809613071709345479040159173028487748347375846626623358258531800529670254394011308700169804415060400670184988607712317421180220304956327345425076099155793966088665554408971144566792957338500176615792447606999685735520803675906631090431575578489522842090344416179908492611876692324173663139781725509154173368616796397823247001216120724208843578301372292660934341240049025004182004785281820012695932907244813920939183570658858367690771613944006001709290089035884709882784345050679253969429659944933251686497145259446242578849401571660770270751988395679558509239844828774255668176201677898798142471073202370701846153325824330124823708471050418403125398688452924886214995305996953256175132760048106198371793036010598999684942984331103212056687862918782691841985896864708983731249884986494706326835608201926323711946908982027470084078810241623261902680638862963493938103372859204205317885395357334217945386860473688458265939265932850307359370397496767078999091909731029003762263432707612130433172439930527698101296364376507590937000745843559450664707608973947260701868810089222957003960841664965735661499737795587306010970333195003913770558219930843818003214498543808163919534599326600936843273269267235196126371660872092625466783375105035079516394594326671475839969411674419977877325007346937666739599650336186560597784925115649778391888273813970187864673809651634374068489924660633762698022680938492943862578426680402376215380190708430373432848126837241251388904924109911959755675462418244912955909303972663952675924299155080885150458478781856415924157341060731574444733978546721009537286659650260134416326826822607780392635661805640175825151053139596175252441460888656991279834372712650986830266329212748611092372210738772289484941871914739604217988117158258541931423194756669697644530464495987022570513103597340383727531807009544474400419219183492777137619013125585325150846970724236015840521421226519440378638442511799 5136665114876909213498703598588959870108036479581299855931933771681695691269495030591276624310831895955172726774728222042583228688731641397953696558747496527602453032952695018767137375599555196900169234021482167411048662588633867872211536772520306075858201169761736848312470377571058049401426499334099275820132964551727550738599394399455668118263805497090454650849619351062306675822851880077900222901527385866298295309690660780453647903887195640115227273397371647243493586875823152421638300429008868149552140831467507914332350503113895144769873521611867956689921785383408978289547463582245067189121181425368214068326304512964051334114202846624855481408119618379735635481379138187506334132648902518707592140263787840172240232687166014268058156069035383947718560424801811364419149701893525684108970648795983954376626450337597695945581103695605189117280594895485561697881731092099603526456919302789950848893499299889365716756674174681990941026498609248872224339343914790336981378477512571788794363226627978093553989701447476410932032212733303602285961768939566340799519986027178871168054031799230811218561648950550225840239832499367023477140430301696503838288081216895844927229468419428833522436609663478251195424856984330794838382949756562398940501355440228956731634390291019620111551140222746152723458714480252873496431680587347896823469932953700320262958554850657512063198953775615120346652742537267770327226321892998679031118028233432258222256544872436923056829652306132730146271669492178329609730436412294059062708908760450894488520779174582413072099539874106135206526360106412724866670358683336649121962268053252558839163905797550698419379457633115209082917154733222694715608144440873717738860730602489648694723561711577971269279032646692399481671525058659884907251785334482521856869985934959696973875907630021391805234899229852130560922983141325301849096994730709946948944840911228298537202735628484236444451273267557695049486369081070513122536654139158078151713424988866151961922 8311298744696722250429667244870329514322087971956377214886410048816505304341204376070316783483860383703520102621354845400841760489261311652347707867447666332017513433622880007374849693020735417205125561366907243510204456554722533426620507917087099033196701346377529295919470063306578853077333130424530851398622487393817895154779302892067544810587979160230236376358773524430923472220675127079116343625736229444599667602351595121693696928891377644900509093410067580150738400796762335992297158796699639763496146833176798003368235212996679489820552775581297616634855037069906123548993706161094468760781951696120202464005863022203896162888458514801057159306917760850808837852080984340832158462773726227178642558666913238860693157573381009574055109325210516707766666623173604400429748701578468668440073860852671817295409142179583592810290087426855074103775301222321169899808054804046512508484389386868761090516761202570004579720168112785363800230703927134267581673561860177197455066935778511054727213533987348491050756780446568320663061216495567034993573899372738780730047684128475235544561622736231557062121099615257834814187093201235833566363387305657345503253816878395582722816774430399166717440523434036471126268674987545293382191113676096998267102292283502225998869586417391280983643765689529527828493793996647467823103156427317308497889910831025327609896221590257162399385514373400045462302520929156044141196509757672488682752402301922182882890307570459603995322596168711156826674045707558520318160809845142185899950160149355818598432738930257875490344452830015439179190312782337024021751243833795127903818683977409899899895480242284676966100467170401868733177289149549521538215924833509379544500906427640701834319736964019432157936023926526772194322511888926214120000396426854732595642275419901568888615511848009508963493441161275325317592680785855766345084017301223050546285224638760105546747210028903455627944050405176708175071694231917483846772669979679499378232865367504594473721 13447963859573631463928370843459289384430124451537677070818343820498200995610699406661593407794692279658692829396083067443424989177992953050301404426195162859619966466575575026141987068620290614105294795388389410921253119143356401298832044689607405109054902516139266144231940440877636902478759629758630127218755451945545445893378697291523212928851784657320691027208392875493230148043527007157016566527263615310897962912042255902147344832778573285015736366807439227394231987672585488413935459225708507913048287664644305917700585716110574634590426297193165573324776822453315101838541169743339535949903133121488416532332167535167947497002661361425912640715037379230544473333460122528338492595422628745886234698930701079032933390260547023842113265394245900655485227047975415764848898403471994352549044509648655771672035592517181288755871191122460263221055896117806731597689785896146116034941308689658711939410260502459370296476842287467354741257202536383139806012905774967534436445413291082843521576760615326584604746481894044731595093429228870637279535668312305121529567670155654106712615654535462368280682748565808060654426925700602857043503817607353849341541898095291427650046242849828000239877133097514722321693531971876088220574063432659397207603647723731182730503976708410901095194905912275680551952508476900341319534837014665205321359843784725647872854776440914674462584468149015165808955263466423814468422831650671167713870430535354441105146852442896527052152248474843886972945715199736849927891246257436244962659068909806713086953518104840288562443992704121574385716672888749748888421602517131777025780952030662458739059386039835375385479924803517077816094443882772216253824069274383097283361637030130350529043298675597403427215056573219171675994036947586099027252181761337254452512261354861265862491419478030900768728340391127455878515663927181068194181012031932997495230065549988404083949945657387692072395323672734403224558063312987996969309324118837577529946290356370746435643 21759262604270353714358038088329618898752212423494054285704753869314706299951903782731910191278552663362212932017437912844266749667254264702649112293642829191637479900198455033516836761641026031310420356755296654431457575698078934725452552606694504142251603862516795440151410504184215755556092760183160978617377939339363341048158000183590757739439763817550927403567166399924153620264202134236132910152999844755497630514393851023841041761669950929916245460217506807544970388469347824406232618022408147676544434497821103921068820929107254124410979072774463189959631859523221225387534875904434004710685084817608618996338030557371843659891119876226969800021955140081353311185541106869170651058196354973064877257597614317893626547833928033416168374719456417363251893671149020165278647105050463020989118370501327588967444734696764881566161278549315337324831197340127901497497840700192628543425698076527473029927021705029374876197010400252718541487906463517407387686467635144731891512349069593898248790294602675075655503262340613052258154645724437672273109567685043902259615354284129342257177277271693925342803848181065895468614018901838690609867204913011194844795714973687010372863017280227166957317656531551193447962206959421381602765177108756395474705940007233408729373563125802182078838671601805208380446302473547809142637993441982513819249754615750975482750998031171836861969982522415211271257784395579858609619341408343656396622832837276623988037160013356131047474844643555043799619760907295370246052056102578430862609229059162531685386257035098164052788445534137013564906985671086772910172846350926904929599636008072358638954866282120052351580391973918946549271733032321737792039994107892476827862543457771052363363035639616835585151080499745943870316548836512313147252578188191987048154536774762834751106931326040409732221781552402781196108344713036834539265029333156048041515290188748509630697155686291147700339374077911111399629757544905480816081994098517076908179155723875340909364 35207226463843985178286408931788908283182336875031731356523097689812907295562603189393503599073244943020905761413520980287691738845247217752950516719837992051257446366774030059658823830261316645415715152143686065352710694841435336024284597296301909251306506378656061584383350945061852658034852389941791105836133391284908786941536697475113970668291548474871618430775559275417383768307729141393149476680263460066395593426436106925988386594448524214931981827024946034939202376141933312820168077248116655589592722162465409838769406645217828759001405369967628763284408681976536327226076045647773540660588217939097035528670198092539791156893781237652882440736992519311897784519001229397509143653618983718951111956528315396926559938094475057258281640113702318018737120719124435930127545508522457373538162880149983360639480327213946170322032469671775600545887093457934633095187626596338744578367006766186184969337282207488745172673852687720073282745108999900547193699373410112266327957762360676741770367055218001660260249744234657783853248074953308309552645235997349023789183024439783448969792931807156293623486596746873956123040944602441547653371022520365044186337613068978438022909260130055167197194789629065915769655738931297469823339240541415792682309587730964591459877539834213083174033577514080888932398810950448150462172830456647719140609598400476623355605774472086511324554450671430377080213047862003673078042173059014824110493263372631065093184012456252658099627093118398930772565476107032220173943302360014675825268297968969244772339775139938452615232438238258587950623658559836521798594448868058681955380588038734817378014252321955427737060316777436024365366176915093954045864063382275574111224180487901402892406334315214239012366137072965115546310585784098412174504759949529241500666798129624100613598350804071310500950121943530237074624008640217902733446041365089045536745355738736913714647101343678839772734697750645514624187820857893477785391318217354654438125446080246087345007 56966489068114338892644447020118527181934549298525785642227851559127613595514506972125413790351797606383118693430958893131958488512501482455599629013480821242894926266972485093175660591902342676726135508898982719784168270539514270749737149902996413393558110241172857024534761449246068413590945150124952084453511330624272127989694697658704728407731312292422545834342725675341537388571931275629282386833263304821893223940829957949829428356118475144848227287242452842484172764611281137226400695270524803266137156660286513759838227574325082883412384442742091953244040541499757552613610921552207545371273302756705654525008228649911634816784901113879852240758947659393251095704542336266679794711815338692015989214125929714820186485928403090674450014833158735381989014390273456095406192613572920394527281250651310949606925061910711051888193748221090937870718290798062534592685467296531373121792704842713657999264303912518120048870863087972791824233015463417954581385841045256998219470111430270640019157349820676735915753006575270836111402720677745981825754803682392926048798378723912791226970209078850218966290444927939851591654963504280238263238227433376239031133328042665448395772277410282334154512446160617109217617945890718851426104417650172188157015527738198000189251102960015265252872249115886097312845113423995959604810823898630232959859353016227598838356772503258348186524433193845588351470832257583531687661514467358480507116096209907689081221172469608789147101937761953974572185237014327590419995358462593106687877527028131776457726032175036616668020883772395601515530644230923294708767295218985586884980224046807176016969118604075480088640708751354970914637909947415691837904057490168050939086723945672455255769369954831074597517217572711059416627134620610725321757338137721228548821334904386935364705282130111720233171903495933018270732353353254737272711070698245093578260645927485423345344257029969987473074071828556626023817578402798958601473312315871731346304601804121428254371 92173715531958324070930855951907435465116886173557516998750949248940520891077110161518917389425042549404024454844479873419650227357748700208550145733318813294152372633746515152834484422163659322141850661042668785136878965380949606774021747199298322644864616619828918608918112394307921071625797540066743190289644721909180914931231395133818699076022860767294164265118284950758921156879660417022431863513526764888288817367266064875817814950566999359780209114267398877423375140753214450046568772518641458855729878822751923598607634219542911642413789812709720716528449223476293879839686967199981086031861520695802690053678426742451425973678682351532734681495940178705148880223543565664188938365434322410967101170654245111746746424022878147932731654946861053400726135109397892025533738122095377768065444130801294310246405389124657222210226217892866538416605384255997167687873093892870117700159711608899842968601586120006865221544715775692865106978124463318501775085214455369264547427873790947381789524405038678396176002750809928619964650795631054291378400039679741949837981403163696240196763140886006512589777041674813807714695908106721785916609249953741283217470941111643886418681537540337501351707235789683024987273684822016321249443658191587980839325115469162591649128642794228348426905826629966986245243924374444110066983654355277952100468951416704222193962546975344859511078883865275965431683880119587204765703687526373304617609359582538754174405184925861447246729030880352905344750713121359810593938660822607782513145824997101021230065807314975069283253322010654189466154302790759816507361744087044268840360812085541993394983370926030907825701025528790995280004086862509645883768120872443625050310904433573858148175704270045313609883354645676174962937720404709137496262098087250470049488133034011035978303632934183030734122025439463255345356361993472640006157112063334139115006001666222337059991358373648827245808769579202140648005399260692436386864630533226385784430047884367515599378 149140204600072662963575302972025962647051435472083302640978800808068134486591617133644331179776840155787143148275438766551608715870250182664149774746799634537047298900719000246010145014066001998867986169941651504921047235920463877523758897102294736038422726861001775633452873843553989485216742690191695274743156052533453042920926092792523427483754173059716710099461010626100458545451591692651714250346790069710182041308096022825647243306685474504628436401509851719907547905364495587272969467789166262121867035483038437358445861793867994525826174255451812669772489764976051432453297888752188631403134823452508344578686655392363060790463583465412586922254887838098399975928085901930868733077249661102983090384780174826566932909951281238607181669780019788782715149499671348120939930735668298162592725381452605259853330451035368274098419966113957476287323675054059702280558561189401490821952416451613500967865890032524985270415578863665656931211139926736456356471055500626262766897985221218021808681754859355132091755757385199456076053516308800273204154843362134875886779781887609031423733349964856731556067486602753659306350871611002024179847477387117522248604269154309334814453814950619835506219681950300134204891630712735172675548075841760168996340643207360591838379745754243613679778075745853083558089037798440069671794478253908185060328304432931821032319319478603207697603317059121553783154712377170736453365201993731785124725455792446443255626357395470236393830968642306879916935950135687401013934019285200889201023352025232797687791839490011685951274205783049790981684947021683111216129039306029855725341036132349169411952489530106387914341734280145966194641996809925337721672178362611675989397628379246313403945074224876388207400572218387234379564855025319862818019436224971698598309467938397971343008915064294750967293928935396273616088715346727377278868182761579232693266647593707760405335615403618814718882841407758766671822977663491394988337942849098117130734649688488943853749 241313920132030987034506158923933398112168321645640819639729750057008655377668727295163248569201882705191167603119918639971258943227998882872699920480118447831199671534465515398844629436229661321009836830984320290057926201301413484297780644301593058683287343480830694242370986237861910556842540230258438465032800774442633957852157487926342126559777033827010874364579295576859379702331252109674146113860316834598470858675362087701465058257252473864408645515777250597330923046117710037319538240307807720977596914305790360957053496013410906168239964068161533386300938988452345312292984855952169717434996344148311034632365082134814486764142265816945321603750828016803548856151629467595057671442683983513950191555434419938313679333974159386539913324726880842183441284609069240146473668857763675930658169512253899570099735840160025496308646184006824014703929059310056869968431655082271608522112128060513343936467476152531850491960294639358522038189264390054958131556269955995527314325859012165403598206159898033528267758508195128076040704311939854564582554883041876825724761185051305271620496490850863244145844528277567467021046779717723810096456727340858805466075210265953221233135352490957336857926917739983159192165315534751493924991734033348149835665758676523183487508388548471962106683902375820069803332962172884179738778132609186137160797255849636043226281866453948067208682200924397519214838592496757941219068889520105089742334815374985197430031542321331683640559999522659785261686663257047211607872680107808671714169177022333818917857646804986755234527527793703980447839249812442927723490783393074124565701848217891162806935860456137295740042759808936961474646083672434983605440299235055301039708532812820171552120778494921701817283926864063409342502575430029000314281534312222168647797600972409007321312547998477781701415954374859528961445077340200017285025294824913371808272649259930097465326973777267641964691610986960907319828376924183831375202573382324502915164697572856459453127 390454124732103649998081461895959360759219757117724122280708550865076789864260344428807579748978722860978310751395357406522867659098249065536849695226918082368246970435184515644854774450295663319877823000925971794978973437221877361821539541403887794721710070341832469875823860081415900042059282920450133739775956826976087000773083580718865554043531206886727584464040306202959838247782843802325860364207106904308652899983458110527112301563937948369037081917287102317238470951482205624592507708096973983099463949788828798315499357807278900694066138323613346056073428753428396744746282744704358348838131167600819379211051737527177547554605849282357908526005715854901948832079715369525926404519933644616933281940214594764880612243925440625147094994506900630966156434108740588267413599593431974093250894893706504829953066291195393770407066150120781490991252734364116572248990216271673099344064544512126844904333366185056835762375873503024178969400404316791414488027325456621790081223844233383425406887914757388660359514265580327532116757828248654837786709726404011701611540966938914303044229840815719975701912014880321126327397651328725834276304204727976327714679479420262556047589167441577172364146599690283293397056946247486666600539809875108318832006401883883775325888134302715575786461978121673153361421999971324249410572610863094322221125560282567864258601185932551274906285517983519072997993304873928677672434091513836874867060271167431640685657899716801920034390968164966665178622613392734612621806699393009560915192529047566616605649486294998441185801733576753771429524196834126038939619822699103980291042884350240332218888349986243683654384494089082927669288080482360321327112477597666977029106161192066484956065852719798090024684499082450643722067430455348863132300970537193867246107068910806978664321463062772532668709883310255802577533792686927394563893477586492604501539296853637857870662589180886456683574452394719673991651354587675226363540516231422620045899347261345403306876 631768044864134637032587620819892758871388078763364941920438300922085445241929071723970828318180605566169478354515276046494126602326247948409549615707036530199446641969650031043699403886525324640887659831910292085036899638523290846119320185705480853404997413822663164118194846319277810598901823150708572204808757601418720958625241068645207680603308240713738458828619601779819217950114095912000006478067423738907123758658820198228577359821190422233445727433064352914569393997599915661912045948404781704077060864094619159272552853820689806862306102391774879442374367741880742057039267600656528066273127511749130413843416819661992034318748115099303230129756543871705497688231344837120984075962617628130883473495649014703194291577899600011687008319233781473149597718717809828413887268451195650023909064405960404400052802131355419266715712334127605505695181793674173442217421871353944707866176672572640188840800842337588686254336168142382701007589668706846372619583595412617317395549703245548829005094074655422188627272773775455608157462140188509402369264609445888527336302151990219574664726331666583219847756543157888593348444431046449644372760932068835133180754689686215777280724519932534509222073517430266452589222261782238160525531543908456468667672160560406958813396522851187537893145880497493223164754962144208429149350743472280459381922816132203907484883052386499342114967718907916592212831897370686618891502981033941964609395086542416838115689442038133603674950967687626450440309276649781824229679379500818232629361706069900435523507133099985196420329261370457751877363446646568966663110606092178104856744732568131495025824210442380979394427253898019889143934164154795304932552776832722278068814694004886656508186631214719791841968425946514053064570005885377863446582504849416035893904669883215985985634011061250314370125837685115331538978870027127411848918772411405976309811946113567955335989562958154098648266063381680581311479731511859057738743089613747122961064044834201862760003 1022222169596238287030669082715852119630607835881089064201146851787162235106189416152778408067159328427147789105910633453016994261424497013946399310933954612567693612404834546688554178336820987960765482832836263880015873075745168207940859727109368648126707484164495633994018706400693710640961106071158705944584714428394807959398324649364073234646839447600466043292659907982779056197896939714325866842274530643215776658642278308755689661385128370602482809350351455231807864949082121286504553656501755687176524813883447957588052211627968707556372240715388225498447796495309138801785550345360886415111258679349949793054468557189169581873353964381661138655762259726607446520311060206646910480482551272747816755435863609468074903821825040636834103313740682104115754152826550416681300868044627624117159959299666909230005868422550813037122778484248386996686434528038290014466412087625617807210241217084767033745134208522645522016712041645406879976990073023637787107610920869239107476773547478932254411981989412810848986787039355783140274219968437164240155974335849900228947843118929133877708956172482303195549668558038209719675842082375175478649065136796811460895434169106478333328313687374111681586220117120549745986279208029724827126071353783564787499678562444290734139284657153903113679607858619166376526176962115532678559923354335374781603048376414771771743484238319050617021253236891435665210825202244615296563937072547778839476455357709848478801347341754935523709341935852593115618931890042516436851486078893827793544554235117467052129156619394983637606130994947211523306887643480695005602730428791282085147787616918371827244712560428624663048811747987102816813222244637155626259665254430389255097920855196953141464252483934517881866652925028964696786637436340726726578883475386609903140011738794022964649955474124022847038835720995371134116512662714054806412812249997898580811351242967205813206652152139040555331840515776400255303131086099534284102283605845169743006963392095547266066879 1653990214460372924063256703535744878501995914644454006121585152709247680348118487876749236385339933993317267460425909499511120863750744962355948926640991142767140254374484577732253582223346312601653142664746555965052772714268459054060179912814849501531704897987158798112213552719971521239862929221867278149393472029813528918023565718009280915250147688314204502121279509762598274148011035626325873320341954382122900417301098506984267021206318792835928536783415808146377258946682036948416599604906537391253585677978067116860605065448658514418678343107163104940822164237189880858824817946017414481384386191099080206897885376851161616192102079480964368785518803598312944208542405043767894556445168900878700228931512624171269195399724640648521111632974463577265351871544360245095188136495823274141069023705627313630058670553906232303838490818375992502381616321712463456683833958979562515076417889657407222585935050860234208271048209787789580984579741730484159727194516281856424872323250724481083417076064068233037614059813131238748431682108625673642525238945295788756284145270919353452373682504148886415397425101196098313024286513421625123021826068865646594076188858792694110609038207306646190808293634550816198575501469811962987651602897692021256167350723004697692952681180005090651572753739116659599690931924259741107709274097807655240984971192546975679228367290705549959136220955799352257423657099615301915455440053581720804085850444252265316917036783793069127384292903540219566059241166692298261081165458394646026173915941187367487652663752494968834026460256317669275184251090127263972265841034883460190004532349486503322270536770871005642443239001885122705957156408791950931192218031263111533166735549201839797972439115149237673708621350975478749851207442226104590025465980236025939033916408677238950635589485185273161408961558680486465655491532741182218261731022409304557121163189080773768542641715097194653980106579158080836614610817611393341841026695458916865968027436929749128826882 2676212384056611211093925786251596998132603750525543070322732004496409915454307904029527644452499262420465056566336542952528115125175241976302348237574945755334833866779319124420807760560167300562418625497582819845068645790013627262001039639924218149658412382151654432106232259120665231880824035293025984093978186458208336877421890367373354149896987135914670545413939417745377330345907975340651740162616485025338677075943376815739956682591447163438411346133767263378185123895764158234921153261408293078430110491861515074448657277076627221975050583822551330439269960732499019660610368291378300896495644870449029999952353934040331198065456043862625507441281063324920390728853465250414805036927720173626516984367376233639344099221549681285355214946715145681381106024370910661776489004540450898258228983005294222860064538976457045340961269302624379499068050849750753471150246046605180322286659106742174256331069259382879730287760251433196460961569814754121946834805437151095532349096798203413337829058053481043886600846852487021888705902077062837882681213281145688985231988389848487330082638676631189610947093659234308032700128595796800601670891205662458054971623027899172443937351894680757872394513751671365944561780677841687814777674251475586043667029285448988427091965837158993765252361597735825976217108886375273786269197452143030022588019568961747450971851529024600576157474192690787922634482301859917212019377126129499643562305801962113795718384125548004651093634839392812681678173056734814697932651537288473819718470176304834539781820371889952471632591251264880798491138733607958977868571463674742275152319966404875149515249331299630305492050749872225522770378653429106557451883285693500788264656404398792939436691599083755555575274276004443446637844878566831316604349455622635842173928147471261915285544959309296008447797279675857599772004195455237024674543272407203137932514432047979581749293867236235209311947094934481091917741903710927625943310301304086608974990829025296394893761 4330202598516984135157182489787341876634599665169997076444317157205657595802426391906276880837839196413782324026762452452039235988925986938658297164215936898101974121153803702153061342783513613164071768162329375810121418504282086316061219552739067651190117280138813230218445811840636753120686964514893262243371658488021865795445456085382635065147134824228875047535218927507975604493919010966977613482958439407461577493244475322724223703797765956274339882917183071524562382842446195183337752866314830469683696169839582191309262342525285736393728926929714435380092124969688900519435186237395715377880031061548110206850239310891492814257558123343589876226799866923233334937395870294182699593372889074505217213298888857810613294621274321933876326579689609258646457895915270906871677141036274172399298006710921536490123209530363277644799760121000372001449667171463216927834080005584742837363076996399581478917004310243113938558808461220986041946149556484606106561999953432951957221420048927894421246134117549276924214906665618260637137584185688511525206452226441477741516133660767840782456321180780076026344518760430406345724415109218425724692717274528104649047811886691866554546390101987404063202807386222182143137282147653650802429277149167607299834380008453686120044647017164084416825115336852485575908040810635014893978471549950685263572990761508723130200218819730150535293695148490140180058139401475219127474817179711220447648156246214379112635420909341073778477927742933032247737414223427112959013816995683119845892386117492202027434484124384921305659051507582550073675389823735222950134412498558202465156852315891378471785786102170635947935289751757348228727535062221057488644101316956612321431391953600632737409130714232993229283895626979922196489052320792935906629815435858661781207844556148500865921134444494569169856758838356344065427495728196419242936274294816507695053677621128753350291935582333429863292053674092561928532352721322320967784336996763003474943018265955045523720643 7006414982573595346251108276038938874767203415695540146767049161702067511256734295935804525290338458834247380593098995404567351114101228914960645401790882653436807987933122826573869103343680913726490393659912195655190064294295713578062259192663285800848529662290467662324678070961301985001510999807919246337349844946230202672867346452755989215044121960143545592949158345253352934839826986307629353645574924432800254569187852138464180386389213119712751229050950334902747506738210353418258906127723123548113806661701097265757919619601912958368779510752265765819362085702187920180045554528774016274375675931997140206802593244931824012323014167206215383668080930248153725666249335544597504630300609248131734197666265091449957393842824003219231541526404754940027563920286181568648166145576725070657526989716215759350187748506820322985761029423624751500517718021213970398984326052189923159649736103141755735248073569625993668846568712654182502907719371238728053396805390584047489570516847131307759075192171030320810815753518105282525843486262751349407887665507587166726748122050616328112538959857411265637291612419664714378424543705015226326363608480190562704019434914591038998483741996668161935597321137893548087699062825495338617206951400643193343501409293902674547136612854323078182077476934588311552125149697010288680247669002093715286161010330470470581172070348754751111451169341180928102692621703335136339494194305840720091210462048176492908353805034889078429571562582325844929415587280161927656946468532971593665610856293797036567216304496274873777291642758847430872166528557343181928002983962232944740309172282296253621301035433470266253427340501629573751497913715650164046095984602650113109696048357999425676845822313316748784859169902984365643126897199359767223234164891481297623381772703619762781206679403803865178304556118032201665199499923651656267610817567223710832986192053176732932041229449569665072604000769027043020450094625033248593727647298067090083918009094980341918614404 11336617581090579481408290765826280751401803080865537223211366318907725107059160687842081406128177655248029704619861447856606587103027215853618942566006819551538782109086926528726930446127194526890562161822241571465311482798577799894123478745402353452038646942429280892543123882801938738122197964322812508580721503434252068468312802538138624280191256784372420640484377272761328539333745997274606967128533363840261832062432327461188404090186979075987091111968133406427309889580656548601596658994037954017797502831540679457067181962127198694762508437681980201199454210671876820699480740766169731652255706993545250413652832555823316826580572290549805259894880797171387060603645205838780204223673498322636951410965153949260570688464098325153107868106094364198674021816201452475519843286612999243056824996427137295840310958037183600630560789544625123501967385192677187326818406057774665997012813099541337214165077879869107607405377173875168544853868927723334159958805344016999446791936896059202180321326288579597735030660183723543162981070448439860933094117734028644468264255711384168894995281038191341663636131180095120724148958814233652051056325754718667353067246801282905553030132098655565998800128524115730230836344973148989419636228549810800643335789302356360667181259871487162598902592271440797128033190507645303574226140552044400549734001091979193711372289168484901646744864489671068282750761104810355466969011485551940538858618294390872020989225944230152208049490325258877177153001503589040615960285528654713511503242411289238594650788620659795082950694266429980945841918381078404878137396460791147205466024598187632093086821535640902201362630253386921980225448777871221534740085919606725431127440311600058414254953027549742014143065529964287839615949520152703129863980327339959404589617259768263647127813848298434348161314956388545730626995651848075510547091862040218528039869674305486282333165031903094935896054443119604948982447346355569561511984294830093558861027360935387442335047 18343032563664174827659399041865219626169006496561077369978415480609792618315894983777885931418516114082277085212960443261173938217128444768579587967797702204975590097020049355300799549470875440617052555482153767120501547092873513472185737938065639252887176604719748554867801953763240723123708964130731754918071348380482271141180148990894613495235378744515966233433535618014681474173572983582236320774108288273062086631620179599652584476576192195699842341019083741330057396318866902019855565121761077565911309493241776722825101581729111653131287948434245967018816296374064740879526295294943747926631382925542390620455425800755140838903586457756020643562961727419540786269894541383377708853974107570768685608631419040710528082306922328372339409632499119138701585736487634044168009432189724313714351986143353055190498706544003923616321818968249875002485103213891157725802732109964589156662549202683092949413151449495101276251945886529351047761588298962062213355610734601046936362453743190509939396518459609918545846413701828825688824556711191210340981783241615811195012377762000497007534240895602607300927743599759835102573502519248878377419934234909230057086681715873944551513874095323727934397449662009278318535407798644328036843179950453993986837198596259035214317872725810240780980069206029108680158340204655592254473809554138115835895011422449664292544359517239652758196033830851996385443382808145491806463205791392660630069080342567364929343030979119230637621052907584722106568588783750968272906754061626307177114098705086275161867093116934668860242337025277411818008446938421586806140380423024091945775196880483885714387856969111168454789970755016495731723362493521385580836070522256838540823488669599484091100775340866490799002235432948653482742846719512470353098145218821257027971389963388026428334493252102299526465871074420747395826495575499731778157909429263929361026061727482219214374394481472760008500055212146647969432541971388818155239631592897183642779036455915729360949451 29679650144754754309067689807691500377570809577426614593189781799517517725375055671619967337546693769330306789832821891117780525320155660622198530533804521756514372206106975884027729995598069967507614717304395338585813029891451313366309216683467992704925823547149029447410925836565179461245906928453544263498792851814734339609492951529033237775426635528888386873917912890776010013507318980856843287902641652113323918694052507060840988566763171271686933452987217147757367285899523450621452224115799031583708812324782456179892283543856310347893796386116226168218270507045941561579007036061113479578887089919087641034108258356578457665484158748305825903457842524590927846873539747222157913077647605893405637019596572989971098770771020653525447277738593483337375607552689086519687852718802723556771176982570490351030809664581187524246882608512874998504452488406568345052621138167739255153675362302224430163578229329364208883657323060404519592615457226685396373314416078618046383154390639249712119717844748189516280877073885552368851805627159631071274075900975644455663276633473384665902529521933793948964563874779854955826722461333482530428476259989627897410153928517156850104544006193979293933197578186125008549371752771793317456479408500264794630172987898615395881499132597297403379882661477469905808191530712300895828699950106182516385629012514428858003916648685724554404940898320523064668194143912955847273432217276944601168927698636958236950332256923349382845670543232843599283721590287340008888867039590281020688617341116375513756517881737594463943193031291707392763850365319499991684277776883815239151241221478671517807474678504752070656152601008403417711948811271392607115576156441863563971950928981199542505355728368416232813145300962912941322358796239665173482962125546161216432561007223156290075462307100400733874627186030809293126453491227347807288705001291304147889065931401787705496707559513375854944396109655266252918414989317744387716751615887727277201640063816851116803284498 48022682708418929136727088849556720003739816073987691963168197280127310343690950655397853268965209883412583875045782334378954463537284105390778118501602223961489962303127025239328529545068945408124667272786549105706314576984324826838494954621533631957813000151868778002278727790328420184369615892584276018416864200195216610750673100519927851270662014273404353107351448508790691487680891964439079608676749940386386005325672686660493573043339363467386775794006300889087424682218390352641307789237560109149620121818024232902717385125585422001025084334550472135237086803420006302458533331356057227505518472844630031654563684157333598504387745206061846547020804252010468633143434288605535621931621713464174322628227992030681626853077942981897786687371092602476077193289176720563855862150992447870485528968713843406221308371125191447863204427481124873506937591620459502778423870277703844310337911504907523112991380778859310159909268946933870640377045525647458586670026813219093319516844382440222059114363207799434826723487587381194540630183870822281615057684217260266858289011235385162910063762829396556265491618379614790929295963852731408805896194224537127467240610233030794656057880289303021867595027848134286867907160570437645493322588450718788617010186494874431095817005323107644160862730683499014488349870916956488083173759660320632221524023936878522296461008202964207163136932151375061053637526721101339079895423068337261798996778979525601879675287902468613483291596140428321390290179071090977161773793651907327865731439821461788918384974854529132803435368316984804581858812257921578490418157306839331097016418359155403521862535473863239110942571763419913443672173764913992696412226964120402512774417650799026596456503709282723612147536395861594805101642959177643836060270764982473460532397186544316503796800352503033401093057105230040522279986802847539066862910720568077250091993129269924711081953994848614952896164867412900887847531289133205871991247480624460844419100272766846164233949 77702332853173683445794778657248220381310625651414306556357979079644828069066006327017820606511903652742890664878604225496734988857439766012976649035406745718004334509234001123356259540667015375632281990090944444292127606875776140204804171305001624662738823699017807449689653626893599645615522821037820281915657052009950950360166052048961089046088649802292739981269361399566701501188210945295922896579391592499709924019725193721334561610102534739073709246993518036844791968117913803262760013353359140733328934142806689082609668669441732348918880720666698303455357310465947864037540367417170707084405562763717672688671942513912056169871903954367672450478646776601396480016974035827693535009269319357579959647824565020652725623848963635423233965109686085813452800841865807083543714869795171427256705951284333757252118035706378972110087035993999872011390080027027847831045008445443099464013273807131953276569610108223519043566592007338390232992502752332854959984442891837139702671235021689934178832207955988951107600561472933563392435811030453352889133585192904722521565644708769828812593284763190505230055493159469746756018425186213939234372454214165024877394538750187644760601886483282315800792606034259295417278913342230962949801996950983583247183174393489826977316137920405047540745392160968920296541401629257383911873709766503148607153036451307380300377656888688761568077830471898125721831670634057186353327640345281862967924477616483838830007544825817996328962139373271920674011769358430986050640833242188348554348780937837302674902856592123596746628399608692197345709177577421570174695934190654570248257639837826921329337213978615309767095172771823331155620985036306599811988383405983966484725346631998569101812232077698956425292837358774536127460439198842817319022396311143689893093404409700606579259107452903767275720243136039333648733478030195346355567912011872225139157924531057630207789513508224469897292274522679153806262520606877593588742863368351738046059164089617962967518447 125725015561592612582521867506804940385050441725401998519526176359772138412756956982415673875477113536155474539924386559875689452394723871403754767537008969679494296812361026362684789085735960783756949262877493549998442183860100967043299125926535256620551823850886585451968381417222019829985138713622096300332521252205167561110839152568888940316750664075697093088620809908357392988869102909735002505256141532886095929345397880381828134653441898206460485040999818925932216650336304155904067802590919249882949055960830921985327053795027154349943965055217170438692444113885954166496073698773227934589924035608347704343235626671245654674259649160429518997499451028611865113160408324433229156940891032821754282276052557051334352476926906617321020652480778688289529994131042527647399577020787619297742234919998177163473426406831570419973291463475124745518327671647487350609468878723146943774351185312039476389560990887082829203475860954272260873369548277980313546654469705056233022188079404130156237946571163788385934324049060314757933065994901275634504191269410164989379854655944154991722657047592587061495547111539084537685314389038945348040268648438702152344635148983218439416659766772585337668387633882393582285186073912668608443124585401702371864193360888364258073133143243512691701608122844467934784891272546213871995047469426823780828677060388185902596838665091652968731214762623273186775469197355158525433223063413619124766921256596009440709682832728286609812253735513700242064301948429521963212414626894095676420080220759299091593287831446652729550063767925677001927567989835343148665114091497493901345274058196982324851199749452478548878037744535243244599293158801220592508400610370104368997499764282797595698268735786981680037440373754636130932562082158020461155082667076126163353625801596244923083055907805406800676813300241269374171013464833042885422430822732440302389249917660327554918871467503073084850188439390092054694110051896010799460734110848976198890478264362384809131752396 203427348414766296028316646164053160766361067376816305075884155439416966481822963309433494481989017188898365204802990785372424441252163637416731416572415715397498631321595027486041048626402976159389231252968437994290569790735877107248103297231536881283290647549904392901658035044115619475600661534659916582248178304215118511471005204617850029362839313877989833069890171307924094490057313855030925401835533125385805853365123074103162696263544432945534194287993336962777008618454217959166827815944278390616277990103637611067936722464468886698862845775883868742147801424351902030533614066190398641674329598372065377031907569185157710844131553114797191447978097805213261593177382360260922691950160352179334241923877122071987078100775870252744254617590464774102982794972908334730943291890582790724998940871282510920725544442537949392083378499469124617529717751674515198440513887168590043238364459119171429666130600995306348247042452961610651106362051030313168506638912596893372724859314425820090416778779119777337041924610533248321325501805931728987393324854603069711901420300652924820535250332355777566725602604698554284441332814225159287274641102652867177222029687733406084177261653255867653469180239916652877702464987254899571392926582352685955111376535281854085050449281163917739242353515005436855081432674175471255906921179193326929435830096839493282897216321980341730299292593095171312497300867989215711786550703758900987734845734212493279539690377554104606141215874886972162738313717787952949263055460136284024974429001697136394268190688038776326296692167534369199273277167412764718839810025688148471593531698034809246180536963431093858645132917307066575754914143837527192320388993776088335482225110914796164800080967864680636462733211113410667060022521356863278474105063387269853246719206005945529662315015258310567952533543377308707819746942863238231777998734744312527528407842191385185126660981011297554747480713912771208500372572502888393049476974217327936936537428452002772099270843 329152363976358908610838513670858101151411509102218303595410331799189104894579920291849168357466130725053839744727377345248113893646887508820486184109424685076992928133956053848725837712138936943146180515845931544289011974595978074291402423158072137903842471400790978353626416461337639305585800248282012882580699556420286072581844357186738969679589977953686926158510981216281487478926416764765927907091674658271901782710520954484990830916986331151994679328993155888709225268790522115070895618535197640499227046064468533053263776259496041048806810831101039180840245538237856197029687764963626576264253633980413081375143195856403365518391202275226710445477548833825126706337790684694151848891051385001088524199929679123321430577702776870065275270071243462392512789103950862378342868911370410022741175791280688084198970849369519812056669962944249363048045423322002549049982765891736987012715644431210906055691591882389177450518313915882911979731599308293482053293382301949605747047393829950246654725350283565722976248659593563079258567800833004621897516124013234701281274956597079812257907379948364628221149716237638822126647203264104635314909751091569329566664836716624523593921420028452991137567873799046459987651061167568179836051167754388326975569896170218343123582424407430430943961637849904789866323946721685127901968648620150710264507157227679185494054987071994699030507355718444499272770065344374237219773767172520112501766990808502720249373210282391215953469610400672404802615666217474912475470087030379701394509222456435485861478519485429055846755935460046201200845157248107867504924117185642372938805756231791571031736712883572407523170661842309820354207302638747784828789604146192704479724875197593760498349703651662316500173584868046797992584603514883739629187730463396016600345007602190452745370923063717368629346843618578081990760407696281117200429557476752829917657759851712740045532448514370639597669153302863263194482624398899192510211085066304135827015692814387581231023239 532579712391125204639155159834911261917772576479034608671294487238606071376402883601282662839455147913952204949530368130620538334899051146237217600681840400474491559455551081334766886338541913102535411768814369538579581765331855181539505720389609019187133118950695371255284451505453258781186461782941929464828877860635404584052849561804588999042429291831676759228401152524205581968983730619796853308927207783657707636075644028588153527180530764097528873616986492851486233887244740074237723434479476031115505036168106144121200498723964927747669656606984907922988046962589758227563301831154025217938583232352478458407050765041561076362522755390023901893455646639038388299515173044955074540841211737180422766123806801195308508678478647122809529887661708236495495584076859197109286160801953200747740116662563199004924515291907469204140048462413373980577763174996517747490496653060327030251080103550382335721822192877695525697560766877493563086093650338606650559932294898842978471906708255770337071504129403343060018173270126811400584069606764733609290840978616304413182695257250004632793157712304142194946752320936193106567980017489263922589550853744436506788694524450030607771183073284320644606748113715699337690116048422467751228977750107074282086946431452072428174031705571348170186315152855341644947756620897156383808889827813477639700337254067172468391271309052336429329799948813615811770070933333589949006324470931421100236612725020995999789063587836495822094685485287644567540929384005427861738525547166663726368938224153571880129669207524205382143448102994415400474122324660872586344734142873790844532337454266600817212273676314666266168303579149376396109121446476274977149178597922281039961949986112389925298430671516342952962906795981457465052607124871747018103292793850665869847064213608135982407685938322027936581880386995886789810507350559519348978428292221065357446065602043097925172193429525668194345149867215634471694855196901787585559688059283632072763553121266390353330294082 861732076367484113249993673505769363069184085581252912266704819037795176270982803893131831196921278639006044694257745475868652228545938655057703784791265085551484487589507135183492724050680850045681592284660301082868593739927833255830908143547681157090975590351486349608910867966790898086772262031223942347409577417055690656634693918991327968722019269785363685386912133740487069447910147384562781216018882441929609418786164983073144358097517095249523552945979648740195459156035262189308619053014673671614732082232574677174464274983460968796476467438085947103828292500827614424592989596117651794202836866332891539782193960897964441880913957665250612338933195472863515005852963729649226389732263122181511290323736480318629939256181423992874805157732951698888008373180810059487629029713323610770481292453843887089123486141276989016196718425357623343625808598318520296540479418952064017263795747981593241777513784760084703148079080793376475065825249646900132613225677200792584218954102085720583726229479686908782994421929720374479842637407597738231188357102629539114463970213847084445051065092252506823167902037173831928694627220753368557904460604836005836355359361166655131365104493312773635744315987514745797677767109590035931065028917861462609062516327622290771297614129978778601130276790705246434814080567618841511710858476433628349964844411294851653885326296124331128360307304532060311042840998677964186226098238103941212738379715829498720038436798118887038048155095688316972343545050222902774213995634197043427763447446610007365991147727009634437990204038454461601674967481908980453849658260059433217471143210498392388244010389198238673691474240991686216463328749115022761977968202068473744441674861309983685796780375168005269463080380849504263045191728386630757732480524314061886447409221210326435153056861385745305211227230614464871801267758255800466178857849697818187363723361894810665217725878040038833942819020518497734889337821300686778069899144349936208590568814080777934561317321 1394311788758609317889148833340680624986956662060287520937999306276401247647385687494414494036376426552958249643788113606489190563444989801294921385473105486025976047045058216518259610389222763148217004053474670621448175505259688437370413863937290176278108709302181720864195319472244156867958723814165871812238455277691095240687543480795916967764448561617040444615313286264692651416893878004359634524946090225587317054861809011661297885278047859347052426562966141591681693043280002263546342487494149702730237118400680821295664773707425896544146124045070855026816339463417372652156291427271677012141420098685369998189244725939525518243436713055274514232388842111901903305368136774604300930573474859361934056447543281513938447934660071115684335045394659935383503957257669256596915190515276811518221409116407086094048001433184458220336766887770997324203571773315038044030976072012391047514875851531975577499335977637780228845639847670870038151918899985506783173157972099635562690860810341490920797733609090251843012595199847185880426707014362471840479198081245843527646665471097089077844222804556649018114654358110025035262607238242632480494011458580442343144053885616685739136287566597094280351064101230445135367883158012503682294006667968536891149462759074363199471645835550126771316591943560588079761837188515997895519748304247105989665181665362024122276597605176667557690107253345676122812911932011554135232422709035362312974992440850494719827500385955382860142840580975961539884474434228330635952521181363707154132385670763579246120816934533839820133652141448877002149089806569853040194392402933224062003480664764993205456284065512904939859777820141062612572450195591297739127146799990754784403624847422373611095211046684348222425987176830961728097798853258377775835773318164727756294473434818462417560742799707773241793107617610351661611775108815319815157286141918883544809788963937908590389919307565707028287968887734132206584193018202474363629587203633568281354121935347168287891611403 2256043865126093431139142506846449988056140747641540433204704125314196423918368491387546325233297705191964294338045859082357842791990928456352625170264370571577460534634565351701752334439903613193898596338134971704316769245187521693201322007484971333369084299653668070473106187439035054954730985845389814159648032694746785897322237399787244936486467831402404130002225420005179720864804025388922415740964972667516926473647973994734442243375564954596575979508945790331877152199315264452854961540508823374344969200633255498470129048690886865340622591483156802130644631964244987076749281023389328806344256965018261537971438686837489960124350670720525126571322037584765418311221100504253527320305737981543445346771279761832568387190841495108559140203127611634271512330438479316084544220228600422288702701570250973183171487574461447236533485313128620667829380371633558340571455490964455064778671599513568819276849762397864931993718928464246513217744149632406915786383649300428146909814912427211504523963088777160626007017129567560360269344421960210071667555183875382642110635684944173522895287896809155841282556395283856963957234458996001038398472063416448179499413246783340870501392059909867916095380088745190933045650267602539613359035585829999500211979086696653970769259965528905372446868734265834514575917756134839407230606780680734339630026076656875776161923901300998686050414557877736433855752930689518321458520947139303525713372156679993439865937184074269898190995676664278512228019484451233410166516815560750581895833117373586612111964661543474258123856179903338603824057288478833494044050662992657279474623875263385593700294454711143613551252061132748829035778944706320501105115002059228528845299708732357296891991421852353491889067557680465991142990581645008533568253842478789642741882656028788852713799661093518547004334848224816533413042867071120281336143991616701732173512325832719255607645185605745862230787908252629941473530839503161141699486347983504489944690749427946222452928724 3650355653884702749028291340187130613043097409701827954142703431590597671565754178881960819269674131744922543981833972688847033355435918257647546555737476057603436581679623568220011944829126376342115600391609642325764944750447210130571735871422261509647193008955849791337301506911279211822689709659555685971886487972437881138009780880583161904250916393019444574617538706269872372281697903393282050265911062893104243528509783006395740128653612813943628406071911931923558845242595266716401304028002973077075206319033936319765793822398312761884768715528227657157460971427662359728905572450661005818485677063703631536160683412777015478367787383775799640803710879696667321616589237278857828250879212840905379403218823043346506835125501566224243475248522271569655016287696148572681459410743877233806924110686658059277219489007645905456870252200899617992032952144948596384602431562976846112293547451045544396776185740035645160839358776135116551369663049617913698959541621400063709600675722768702425321696697867412469019612329414746240696051436322681912146753265121226169757301156041262600739510701365804859397210753393881999219841697238633518892483521996890522643467132400026609637679626506962196446444189975636068413533425615043295653042253798536391361441845771017170240905801079032143763460677826422594337754944650837302750355084927840329295207742018899898438521506477666243740521811223412556668664862701072456690943656174665838688364597530488159693437570029652758333836257640240052112493918679564046119037996924457736028218788137165858232781596077314078257508321352215605973147095048686534238443065925881341478104540028378799156578520224048553411029881273811441608229140297618240232261802049983313248924556154730907987202468536701714315054734511427719240789434903386309404027160643517399036356090847251270274542460801291788797442465835168195024817975886440096493430133535585276983301289770627845997564493171452890518756795986762148057723857705635505329073551617072771298812684775114510344540127 5906399519010796180167433847033580601099238157343368387347407556904794095484122670269507144502971836936886838319879831771204876147426846714000171726001846629180897116314188919921764279269029989536014196729744614030081713995634731823773057878907232843016277308609517861810407694350314266777420695504945500131534520667184667035332018280370406840737384224421848704619764126275052093146501928782204466006876035560621170002157757001130182372029177768540204385580857722255435997441910531169256265568511796451420175519667191818235922871089199627225391307011384459288105603391907346805654853474050334624829934028721893074132122099614505438492138054496324767375032917281432739927810337783111355571184950822448824749990102805179075222316343061332802615451649883203926528618134627888766003630972477656095626812256909032460390976582107352693403737514028238659862332516582154725173887053941301177072219050559113216053035502433510092833077704599363064587407199250320614745925270700491856510490635195913929845659786644573095026629458982306600965395858282891983814308448996608811867936840985436123634798598174960700679767148677738963177076156234634557290955585413338702142880379183367480139071686416830112541824278720827001459183693217582909012077839628535891573420932467671141010165766607937516210329412092257108913672700785676709980961865608574668925233818675775674600445407778664929790936369101148990524417793390590778149464603313969364401736754210481599559374754103922656524831934304518564340513403130797456285554812485208317924051905510752470344746257620788336381364501255554209797204383527520028282493728918538620952728415291764392856872974935192166962281942406560270644008085003938741337376804109211842094224264887088204879193890389055206204122292191893710383780016548394842972281003122307041778238746876040122988342121894810335801777314059984728437860842957560377829574125152287009156813615603347101605209678777198752749544704239392089531254697208796647028559899600577261243503434203060732797468851 9556755172895498929195725187220711214142335567045196341490110988495391767049876849151467963772645968681809382301713804460051909502862764971647718281739322686784333697993812488141776224098156365878129797121354256355846658746081941954344793750329494352663470317565367653147709201261593478600110405164501186103421008639622548173341799160953568744988300617441293279237302832544924465428199832175486516272787098453725413530667540007525922500682790582483832791652769654178994842684505797885657569596514769528495381838701128138001716693487512389110160022539612116445566574819569706534560425924711340443315611092425524610292805512391520916859925438272124408178743796978100061544399575061969183822064163663354204153208925848525582057441844627557046090700172154773581544905830776461447463041716354889902550922943567091737610465589753258150273989714927856651895284661530751109776318616918147289365766501604657612829221242469155253672436480734479615957070248868234313705466892100555566111166357964616355167356484511985564046241788397052841661447294605573895961061714117834981625237997026698724374309299540765560076977902071620962396917853473268076183439107410229224786347511583394089776751312923792308988268468696463069872717118832626204665120093427072282934862778238688311251071567686969659973790089918679703251427645436514012731316950536414998220441560694675573038966914256331173531458180324561547193082656091663234840408259488635203090101351740969759252812324133575414858668191944758616453007321810361502404592809409666053952270693647918328577527853698102414638872822607769815770351478576206562520936794844419962430832955320143192013451495159240720373311823680371712252237225301556981569638606159195155343148821041819112866396358925756920519177026703321429624569451451781152376308163765824440814594837723291393262884582696102124599219779895152923462678818844000474323004258687872286140114905373974947602774171948651643268301500226154237588978554914432152357633451217650032542316118978175243142008978 15463154691906295109363159034254291815241573724388564728837518545400185862533999519420975108275617805618696220621593636231256785650289611685647890007741169315965230814308001408063540503367186355414143993851098870385928372741716673778117851629236727195679747626174885514958116895611907745377531100669446686234955529306807215208673817441323975585725684841863141983857066958819976558574701760957690982279663134014346583532825297008656104872711968351024037177233627376434430840126416329054913835165026565979915557358368319956237639564576712016335551329550996575733672178211477053340215279398761675068145545121147417684424927612006026355352063492768449175553776714259532801472209912845080539393249114485803028903199028653704657279758187688889848706151822037977508073523965404350213466672688832545998177735200476124198001442171860610843677727228956095311757617178112905834950205670859448466437985552163770828882256744902665346505514185333842680544477448118554928451392162801047422621656993160530285013016271156558659072871247379359442626843152888465879775370163114443793493174838012134848009107897715726260756745050749359925573994009707902633474394692823567926929227890766761569915822999340622421530092747417290071331900812050209113677197933055608174508283710706359452261237334294907176184119502010936812165100346222190722712278816144989667145675379370451247639412322034996103322394549425710537717500449482254012989872862802604567491838105951451358812187078237498071383500126249277180793520724941158958690147621894874371876322599158670798922274111318890751020237323863324025567555862103726590803430523762958583383561370611907584870324470094432887335593766086931982896245310305495722907015410268406997437373085928907317745590249314812126723299318895215140008349468000175995348589166888131482592833584599331516251226704590912460400997093955137651900539661801560852152578383840159295296928520977322049207983850725850396017846204465546327120233252123228799386193350818227293785819553181235975939477829 25019909864801794038558884221475003029383909291433761070327629533895577629583876368572443072048263774300505602923307440691308695153152376657295608289480492002749564512301813896205316727465342721292273790972453126741775031487798615732462645379566221548343217943740253168105826096873501223977641505833947872338376537946429763382015616602277544330713985459304435263094369791364901024002901593133177498552450232468071997063492837016182027373394758933507869968886397030613425682810922126940571404761541335508410939197069448094239356258064224405445711352090608692179238753031046759874775705323473015511461156213572942294717733124397547272211988931040573583732520511237632863016609487907049723215313278149157233056407954502230239337200032316446894796851994192751089618429796180811660929714405187435900728658144043215935611907761613868993951716943883951963652901839643656944726524287777595755803752053768428441711477987371820600177950666068322296501547696986789242156859054901602988732823351125146640180372755668544223119113035776412284288290447494039775736431877232278775118412835038833572383417197256491820833722952820980887970911863181170709657833800233797151715575402350155659692574312264414730518361216113753141204617930882835318342318026482680457443146488945047763512308901981876836157909591929616515416527991658704735443595766681404665366116940065126820678379236291327276853852729750272084910583105573917247830281122291239770581939457692421118064999402371073486242168318194035797246528046751520461094740431304540425828593292806589127499801965016993165659110146471093841337907340679933153324367318607378545814394325932050776883775965253673607708905589767303695148482535607052704476654016427602152780521906970726430611986608240569047242476345598536569632918919451957147724897330653955923407428422322622909514111287287014585000216873850290575363218480645561326475582642528031581437043426351296996810758022674502039286147704691700564709211807037660951743826802035877326328135672159411219081486807 40483064556708089147922043255729294844625483015822325799165148079295763492117875887993418180323881579919201823544901076922565480803441988342943498297221661318714795326609815304268857230832529076706417784823551997127703404229515289510580497008802948744022965569915138683063942992485408969355172606503394558573332067253236978590689434043601519916439670301167577246951436750184877582577603354090868480832113366482418580596318134024838132246106727284531907146120024407047856522937338455995485239926567901488326496555437768050476995822640936421781262681641605267912910931242523813214990984722234690579606701334720359979142660736403573627564052423809022759286297225497165664488819400752130262608562392634960261959606983155934896616958220005336743503003816230728597691953761585161874396387094019981898906393344519340133613349933474479837629444172840047275410519017756562779676729958637044222241737605932199270593734732274485946683464851402164977046025145105344170608251217702650411354480344285676925193389026825102882191984283155771726915133600382505655511802040346722568611587673050968420392525094972218081590468003570340813544905872889073343132228493057365078644803293116917229608397311605037152048453963531043212536518742933044432019515959538288631951430199651407215773546236276784012342029093940553327581628337880895458155874582826394332511792319435578068317791558326323380176247279175982622628083555056171260820153985093844338073777563643872476877186480608571557625668444443312978040048771692679419784888053199414797704915891965259926422076076335883916679347470334417866905463202783659744127797842370337129197955696543958361754100435348106495044499355854235678044727845912548427383669426696009150217894992899633748357576857555381173965775664493751709641268387452133143073486497542087406000262006921954425765337991877927045401213967805428227263758142447122178628161026368190876733971947328619046018741873400352435303993909157246891829445059160889751130020152854104620113955225340647195020964636 65502974421509883186480927477204297874009392307256086869492777613191341121701752256565861252372145354219707426468208517613874175956594365000239106586702153321464359838911629200474173958297871797998691575796005123869478435717313905243043142388369170292366183513655391851169769089358910193332814112337342430911708605199666741972705050645879064247153655760472012510045806541549778606580504947224045979384563598950490577659810971041020159619501486218039777115006421437661282205748260582936056644688109236996737435752507216144716352080705160827226974033732213960092149684273570573089766690045707706091067857548293302273860393860801120899776041354849596343018817736734798527505428888659179985823875670784117495016014937658165135954158252321783638299855810423479687310383557765973535326101499207417799635051488562556069225257695088348831581161116723999239063420857400219724403254246414639978045489659700627712305212719646306546861415517470487273547572842092133412765110272604253400087303695410823565373761782493647105311097318932184011203424047876545431248233917579001343730000508089801992775942292228709902424190956391321701515817736070244052790062293291162230360378695467072889300971623869451882566815179644796353741136673815879750361833986020969089394576688596454979285855138258660848499938685870169842998156329539600193599470349507798997877909259500704888996170794617650657030100008926254707538666660630088508650435107385084108655717021336293594942185882979645043867836762637348775286576818444199880879628484503955223533509184771849053921878041352877082338457616805511708243370543463592897452165160977715675012350022476009138637876400601780102753404945621539373193210381519601131860323443123611302998416899870360178969563465795950221208252010092288279274187306904090290798383828196043329407690429244577335279449279164941630401430841655718802626976623092683505103743668896222458171015373679916042829499896074854474590141613848947456538656866198550702873846954889981946442090897500058414102451443 105986038978217972334402970732933592718634875323078412668657925692487104613819628144559279432696026934138909250013109594536439656760036353343182604883923814640179155165521444504743031189130400874705109360619557120997181839946829194753623639397172119036389149083570530534233712081844319162687986718840736989485040672452903720563394484689480584163593326061639589756997243291734656189158108301314914460216676965432909158256129105065858291865608213502571684261126445844709138728685599038931541884614677138485063932307944984195193347903346097249008236715373819228005060615516094386304757674767942396670674558883013662253003054597204694527340093778658619102305114962231964191994248289411310248432438063419077756975621920814100032571116472327120381802859626654208285002337319351135409722488593227399698541444833081896202838607628562828669210605289564046514473939875156782504079984205051684200287227265632826982898947451920792493544880368872652250593597987197477583373361490306903811441784039696500490567150809318749987503081602087955738118557648259051086760035957925723912341588181140770413168467387200927984014658959961662515060723608959317395922290786348527309005181988583990118909368935474489034615269143175839566277655416748924182381349945559257721346006888247862195059401374535444860841967779810723170579784667420495651755344932334193330389701578936282957313962352943974037206347288102237330166750215686259769470589092478928446729494584980166071819372363588216601493505207080661753326625590136879300664516537703370021238425076737108980343954117688760999017805087139929575148833746247252641579963003348052804210305719019967500391976835949886597797904301475775051237938227432149559243992869819620453216311892769993927327140323351331395174027674586039988915455694356223433871870325738130735407952436166531761044787271042868675802644809461147029890734765539805683731904695264413334904987321008535088848241769475206909894135523006194348368101925359440454003867107744086566556046122840705609123416079 171489013399727855520883898210137890592644267630334499538150703305678445735521380401125140685068172288358616676481318112150313832716630718343421711470625967961643515004433073705217205147428272672703800936415562244866660275664143099996666781785541289328755332597225922385403481171203229356020800831178079420396749277652570462536099535335359648410746981822111602267043049833284434795738613248538960439601240564383399735915940076106878451485109699720611461376132867282370420934433859621867598529302786375481801368060452200339909699984051258076235210749106033188097210299789664959394524364813650102761742416431306964526863448458005815427116135133508215445323932698966762719499677178070490234256313734203195251991636858472265168525274724648904020102715437077687972312720877117108945048590092434817498176496321644452272063865323651177500791766406288045753537360732557002228483238451466324178332716925333454695204160171567099040406295886343139524141170829289610996138471762911157211529087735107324055940912591812397092814178921020139749321981696135596518008269875504725256071588689230572405944409679429637886438849916352984216576541345029561448712353079639689539365560684051063008210340559343940917182084322820635920018792090564803932743183931580226810740583576844317174345256512794105709341906465680893013577940996960095845354815281841992328267610838436987846310133147561624694236447297028492037705416876316348278121024199864012555385211606316459666761558246567861645361341969718010528613202408581079181544145022207325244771934261508958034265832159041638081356262703945441283392204289710845539032128164325768479222655741495976639029853236551666700551309247097314424431148608951750691104316312943231756214728792640354106296703789147281616382279684678328268189643001260313724670254153934174064815642865411109096324236550207810306204075651116865832517711388632489188835648364160635793076002694688451131677741665550061384484277136855141804906758791557991156877714062634068512998137020340764023225867522 277475052377945827855286868943071483311279142953412912206808628998165550349341008545684420117764199222497525926494427706686753489476667071686604316354549782601822670169954518209960236336558673547408910297035119365863842115610972294750290421182713408365144481680796452919637193253047548518708787550018816409881789950105474183099494020024840232574340307883751192024040293125019090984896721549853874899817917529816308894172069181172736743350717913223183145637259313127079559663119458660799140413917463513966865300368397184535103047887397355325243447464479852416102270915305759345699282039581592499432416975314320626779866503055210509954456228912166834547629047661198726911493925467481800482688751797622273008967258779286365201096391196976024401905575063731896257315058196468244354771078685662217196717941154726348474902472952214006170002371695852092268011300607713784732563222656518008378619944190966281678103107623487891533951176255215791774734768816487088579511833253218061022970871774803824546508063401131147080317260523108095487440539344394647604768305833430449168413176870371342819112877066630565870453508876314646731637264953988878844634643865988216848370742672635053127119709494818429951797353465996475486296447507313728115124533877139484532086590465092179369404657887329550570183874245491616184157725664380591497110160214176185658657312417373270803624095500505598731442794585130729367872167092002608047591613292342941002114706191296625738580930610156078246854847176798672281939827998717958482208661559910695266010359338246067014609786276730399080374067791085370858541038035958098180612091167673821283432961460515944139421830072501553298349213548573089475669086836383900250348309182762852209431040685410348033623844112498613011556307359264368257105098695616537158542124479672304800223595301577640857369023821250678982006720460578012862408446154172294872567553059425049127980990015696986220525983435025268294378412659861336153274860716917431610881581170378155079554183143181469632349283601 448964065777673683376170767153209373903923410583747411744959332303843996084862388946809560802832371510856142602975745818837067322193297790030026027825175750563466185174387591915177441483986946220112711233450681610730502391275115394746957202968254697693899814278022375305040674424250777874729588381196895830278539227758044645635593555360199880985087289705862794291083342958303525780635334798392835339419158094199708630088009257279615194835827612943794607013392180409449980597553318282666738943220249889448666668428849384875012747871448613401478658213585885604199481215095424305093806404395242602194159391745627591306729951513216325381572364045675049992952980360165489630993602645552290716945065531825468260958895637758630369621665921624928422008290500809584229627779073585353299819668778097034694894437476370800746966338275865183670794138102140138021548661340270786961046461107984332556952661116299736373307267795054990574357472141558931298875939645776699575650305016129218234499959509911148602448975992943544173131439444128235236762521040530244122776575708935174424484765559601915225057286746060203756892358792667630948213806299018440293346996945627906387736303356686116135330050054162370868979437788817111406315239597878532047867717808719711342827174041936496543749914400123656279525780711172509197735666661340687342464975496018177986924923255810258649934228648067223425679241882159221405577583968318956325712637492206953557499917797613085405342488856723939892216189146516682810553030407299037663752806582118020510782293599755025048875618435772037161730330495030812141933242325668943719644219331999589762655617202011920778451683309053219998900522795670403900100235445335650941452625495706083965645769478050702139920547901645894627938587043942696525294741696876850883212378633606478865039238166988749953693260371458489288210796111694878694926157542804784061403201423585684921056992710385437352203725100575329678862689796716477958181619508475422767759295233012223592552320163522233655575151123 726439118155619511231457636096280857215202553537160323951767961302009546434203397492493980920596570733353668529470173525523820811669964861716630344179725533165288855344342110125137677820545619767521621530485800976594344506886087689497247624150968106059044295958818828224677867677298326393438375931215712240160329177863518828735087575385040113559427597589613986315123636083322616765532056348246710239237075624016017524260078438452351938186545526166977752650651493536529540260672776943465879357137713403415531968797246569410115795758845968726722105678065738020301752130401183650793088443976835101626576367059948218086596454568426835336028592957841884540582028021364216542487528113034091199633817329447741269926154417044995570718057118600952823913865564541480486942837270053597654590747463759251891612378631097149221868811228079189840796509797992230289559961947984571693609683764502340935572605307266018051410375418542882108308648396774723073610708462263788155162138269347279257470831284714973148957039394074691253448699967236330724203060384924891727544881542365623592897942429973258044170163812690769627345867668982277679851071253007319137981640811616123236107046029321169262449759548980800820776791254813586892611687105192260162992251685859195874913764507028675913154572287453206849709654956664125381893392325721278839575135710194363645582235673183529453558324148572822157122036467289950773449751060321564373304250784549894559614623988909711143923419466880018139071036323315355092492858406016996145961468142028715776792652938001092063485404712502436242104398286116183000474280361627041900256310499673411046088578662527864917873513381554773297249736344243493375769322281719551191800934678468936175076810163461050173544392014144507639494894403207064782399840392493388041754503113278783665262833468566390811062284192709168270217516572272891557334603696977078933970754483010734049037982726082423572729708535600597973241102456577814111456480225392854378640876403390378672106503306703703287924434724 1175403183933293194607628403249490231119125964120907735696727293605853542519065786439303541723428942244209811132445919344360888133863262651746656372004901283728755040518729702040315119304532565987634332763936482587324846898161203084244204827119222803752944110236841203529718542101549104268167964312412608070438868405621563474370681130745239994544514887295476780606206979041626142546167391146639545578656233718215726154348087695731967133022373139110772359664043673945979520858226095226132618300357963292864198637226095954285128543630294582128200763891651623624501233345496607955886894848372077703820735758805575809393326406081643160717600957003516934533535008381529706173481130758586381916578882861273209530885050054803625940339723040225881245922156065351064716570616343638950954410416241856286586506816107467949968835149503944373511590647900132368311108623288255358654656144872486673492525266423565754424717643213597872682666120538333654372486648108040487730812443285476497491970790794626121751406015387018235426580139411364565960965581425455135850321457251300798017382707989575173269227450558750973384238226461649908628064877552025759431328637757244029623843349386007285397779809603143171689756229043630698298926926703070792210859969494578907217740938548965172456904486687576863129235435667836634579629058987061966182040111206212541632507158928993788103492552796640045582801278349449172179027335028640520699016888276756848117114541786522796549265908323603958031287225469832037903045888813316033809714274724146736287574946537756117112361023148274473403834728781146995142407522687295985619900529831673000808744195864539785696325196690607993296150259139913897275869557727055202133253560174175020140722579641511752313464939915790402267433481447149761307694582089370238924966881746885262530302071635555140764755544564167657558428312683967770252260761239781862995373955906596418970094975436467860924933433636175927652103792253294292069638099733868277146400171636402602264658823470225936943499585847 1901842302088912705839086039345771088334328517658068059648495254907863088953269183931797522644025512977563479661916092869884708945533227513463286716184626816894043895863071812165452797125078185755155954294422283563919191405047290773741452451270190909811988406195660031754396409778847430661606340243628320310599197583485082303105768706130280108103942484885090766921330615124948759311699447494886255817893309342231743678608166134184319071208918665277750112314695167482509061118898872169598497657495676696279730606023342523695244339389140550854922869569717361644802985475897791606679983292348912805447312125865524027479922860650069996053629549961358819074117036402893922715968658871620473116212700190720950800811204471848621511057780158826834069836021629892545203513453613692548609001163705615538478119194738565099190703960732023563352387157698124598600668585236239930348265828636989014428097871730831772476128018632140754790974768935108377446097356570304275885974581554823776749441622079341094900363054781092926680028839378600896685168641810380027577866338793666421610280650419548431313397614371441743011584094130632186307915948805033078569310278568860152859950395415328454660229569152123972510533020298444285191538613808263052373852221180438103092654703055993848370059058975030069978945090624500759961522451312783245021615246916406905278089394602177317557050876945212867739923314816739122952477086088962085072321139061306742676729165775432507693189327790483976170358261793147392995538747219333029955675742866175452064367599475757209175846427860776909645939127067263178142881803048923027520156840331346411854832774527067650614198710072162766593399995484157390651638880008774753325054494852643956315799389804972802487009331929934909906928375850356826090094422481863626966721384860164046195564905104121531575817828756876825828645829256240661809595364936758941929344710389607153019132958162550284497663142171776525625344894709872106181094579959261131525041048039792980936765326776929640231424020571 3077245486022205900446714442595261319453454481778975795345222548513716631472334970371101064367454455221773290794362012214245597079396490165209943088189528100622798936381801514205767916429610751742790287058358766151244038303208493857985657278389413713564932516432501235284114951880396534929774304556040928381038065989106645777476449836875520102648457372180567547527537594166574901857866838641525801396549543060447469832956253829916286204231291804388522471978738841428488581977124967395731115957853639989143929243249438477980372883019435132983123633461368985269304218821394399562566878140720990509268047884671099836873249266731713156771230506964875753607652044784423628889449789630206855032791583051994160331696254526652247451397503199052715315758177695243609920084069957331499563411579947471825064626010846033049159539110235967936863977805598256966911777208524495289002921973509475687920623138154397526900845661845738627473640889473442031818584004678344763616787024840300274241412412873967216651769070168111162106608978789965462646134223235835163428187796044967219627663358409123604582625064930192716395822320592282094935980826357058838000638916326104182483793744801335740058009378755267144200289249342074983490465540511333844584712190675017010310395641604959020826963545662606933108180526292337394541151510299845211203655358122619446910596553531171105660543429741852913322724593166188295131504421117602605771338027338063590793843707561955304242455236114087934201645487262979430898584636032649063765390017590322188351942546013513326288207451009051383049773855848410173285289325736219013140057370163019412663576970391607436310523906762770759889550254624071287927508437735829955458308055026818976456521969446484554800474271845725312174361857297506587397789004571233865891688266607049308725866976739676672340573373321044483387074141940208432061856126176540804924718666296203571989227933599018145422596575807952453277448686963166398250732679693129408671441219676195583201424150247155577174923606418 4979087788111118606285800481941032407787782999437043854993717803421579720425604154302898587011479968199336770456278105084130306024929717678673229804374154917516842832244873326371220713554688937497946241352781049715163229708255784631727109729659604623376920922628161267038511361659243965591380644799669248691637263572591728080582218543005800210752399857065658314448868209291523661169566286136412057214442852402679213511564419964100605275440210469666272584293434008910997643096023839565329613615349316685423659849272781001675617222408575683838046503031086346914107204297292191169246861433069903314715360010536623864353172127381783152824860056926234572681769081187317551605418448501827328149004283242715111132507458998500868962455283357879549385594199325136155123597523571024048172412743653087363542745205584598148350243070967991500216364963296381565512445793760735219351187802146464702348721009885229299376973680477879382264615658408550409264681361248649039502761606395124050990854034953308311552132124949204088786637818168566359331302865046215191006054134838633641237944008828672035896022679301634459407406414722914281243896775162091916569949194894964335343744140216664194718238947907391116710822269640519268682004154319596896958564411855455113403050344660952869197022604637637003087125616916838154502673961612628456225270605039026352188685948133348423217594306687065781062647907982927418083981507206564690843659166399370333470572873337387811935644563904571910372003749056126823894123383251982093721065760456497640416310145489270535464053878869828292695712982915673351428171128785142040660214210494365824518409744918675086924722616834933526482950250108228678579147317744604708783362549879462932772321359251457357287483603775660222081290233147863413487883427053097492858409651467213354921431881843798203916391202077921309215719971196449093871451491113299746854063376685810725008360891761568429920259717979728978902793581673038504431827259652390540196482267715988564138189477024085217406347626989 8056333274133324506732514924536293727241237481216019650338940351935296351897939124673999651378934423421110061250640117298375903104326207843883172892563683018139641768626674840576988629984299689240736528411139815866407268011464278489712767008049018336941853439060662502322626313539640500521154949355710177072675329561698373858058668379881320313400857229246225861976405803458098563027433124777937858610992395463126683344520673794016891479671502274054795056272172850339486225073148806961060729573202956674567589092522219479655990105428010816821170136492455332183411423118686590731813739573790893823983407895207723701226421394113496309596090563891110326289421125971741180494868238132034183181795866294709271464203713525153116413852786556932264701352377020379765043681593528355547735824323600559188607371216430631197509782181203959437080342768894638532424223002285230508354109775655940390269344148039626826277819342323618009738256547881992441083265365926993803119548631235424325232266447827275528203901195117315250893246796958531821977437088282050354434241930883600860865607367237795640478647744231827175803228735315196376179877601519150754570588111221068517827537885017999934776248326662658260911111518982594252172469694830930741543276602530472123713445986265911890023986150300243936195306143209175549043825471912473667428925963161645799099282501664519528878137736428918694385372501149115713215485928324167296614997193737433924264416580899343116178099800018659844573649236319106254792708019284631157486455778046819828768252691502783861752261329878879675745486838764083524713460454521361053800271580657385237181986715310282523235246523597704286372500504732299966506655755480434664241670604906281909228843328697941912087957875621385534255652090445370000885672431624331358750097918074262663647298858583474876256964575398965792602794113136657525933307617289840551778782042982014296997588825360586575342856293787681432180242268636204902682559939345519948867923487392184147339613627271240794581271233407 13035421062244443113018315406477326135029020480653063505332658155356876072323543278976898238390414391620446831706918222382506209129255925522556402696937837935656484600871548166948209343538988626738682769763920865581570497719720063121439876737708622960318774361688823769361137675198884466112535594155379425764312593134290101938640886922887120524153257086311884176425274012749622224196999410914349915825435247865805896856085093758117496755111712743721067640565606859250483868169172646526390343188552273359991248941795000481331607327836586500659216639523541679097518627415978781901060601006860797138698767905744347565579593521495279462420950620817344898971190207159058732100286686633861511330800149537424382596711172523653985376308069914811814086946576345515920167279117099379595908237067253646552150116422015229345860025252171950937296707732191020097936668796045965727705297577802405092618065157924856125654793022801497392002872206290542850347946727175642842622310237630548376223120482780583839756033320066519339679884615127098181308739953328265545440296065722234502103551376066467676374670423533461635210635150038110657423774376681242671140537306116032853171282025234664129494487274570049377621933788623113520854473849150527638501841014385927237116496330926864759221008754937880939282431760126013703546499433525102123654196568200672151287968449797867952095732043115984475448020409132043131299467435530731987458656360136804257734989454236730928113744363923231754945652985375233078686831402536613251207521538503317469184562836992054397216315208748707968441199821679756876141631583306503094460485791151751061700396460228957610159969140432637812855450754840528645085803073225039373025033154785744842001164687949399269375441479397045756336942323593233414373555858677428851608507569541476018568730740427273080173355777476887101818514084333106619804759108403140298632845419667825022005949717122155005263116011767410411083035850309243407114387198997910489064405755108172711477803104295326011987618860396 21091754336377767619750830331013619862270257961869083155671598507292172424221482403650897889769348815041556892957558339680882112233582133366439575589501520953796126369498223007525197973523288315979419298175060681447977765731184341611152643745757641297260627800749486271683763988738524966633690543511089602836987922695988475796699555302768440837554114315558110038401679816207720787224432535692287774436427643328932580200605767552134388234783215017775862696837779709589970093242321453487451072761755230034558838034317219960987597433264597317480386776015997011280930050534665372632874340580651690962682175800952071266806014915608775772017041184708455225260611333130799912595154924765895694512596015832133654060914886048807101790160856471744078788298953365895685210960710627735143644061390854205740757487638445860543369807433375910374377050501085658630360891798331196236059407353458345482887409305964482951932612365125115401741128754172535291431212093102636645741858868865972701455386930607859367959934515183834590573131412085630003286177041610315899874537996605835362969158743304263316853318167765288811013863885353307033603651978200393425711125417337101370998819910252664064270735601232707638533045307605707773026943543981458380045117616916399360829942317192776649244994905238124875477737903335189252590324905437575791083122531362317950387250951462387480973869779544903169833392910281158844514953363854899284073653553874238181999406035136074044291844163941891599519302221694339333479539421821244408693977316550137297952815528494838258968576538627587644186686660443840400855092037827864148260757371809136298882383175539240133395215664030342099227951259572828611592458828705474037266703759692026751230008016647341181463399355018431290592594414038603415259228290301760210358605487615738682216029599010747956430320352875852894421308197469764145738066725692980850411627462649839319003538542482741580605972305555091843263278118945448309796947138343430437932329242500356858817416731566566806568890093803 34127175398622210732769145737490945997299278442522146661004256662649048496545025682627796128159763206662003724664476562063388321362838058888995978286439358889452610970369771174473407317062276942718102067938981547029548263450904404732592520483466264257579402162438310041044901663937409432746226137666469028601300515830278577735340442225655561361707371401869994214826953828957343011421431946606637690261862891194738477056690861310251884989894927761496930337403386568840453961411494100013841415950307503394550086976112220442319204761101183818139603415539538690378448677950644154533934941587512488101380943706696418832385608437104055234437991805525800124231801540289858644695441611399757205843396165369558036657626058572461087166468926386555892875245529711411605378239827727114739552298458107852292907604060461089889229832685547861311673758233276678728297560594377161963764704931260750575505474463889339077587405387926612793744000960463078141779158820278279488364169106496521077678507413388443207715967835250353930253016027212728184594916994938581445314834062328069865072710119370730993227988591298750446224499035391417691027426354881636096851662723453134224170101935487328193765222875802757016154979096228821293881417393131986018546958631302326597946438648119641408466003660176005814760169663461202956136824338962677914737319099562990101675219401260255433069601822660887645281413319413201975814420799385631271532309914011042439734395489372804972405588527865123354464955207069572412166370824357857659901498855053454767137378365486892656184891747376295612627886482123597276996723621134367242721243162960887360582779635768197743555184804462979912083402014413357256678261901930513410291736914477771593231172704596740450838840834415477046929536737631836829632784148979189061967113057157214700784760339438021036603676130352739996239822281802870765542825834096121149044472882317664341009488259604896585869088317322502254346313969254691716911334337341340926996734997608529570295219835861892818556508954199 55218929734999978352519976068504565859569536404391229816675855169941220920766508086278694017929112021703560617622034901744270433596420192255435553875940879843248737339867994181998605290585565258697521366114042228477526029182088746343745164229223905554840029963187796312728665652675934399379916681177558631438288438526267053532039997528424002199261485717428104253228633645165063798645864482298925464698290534523671057257296628862386273224678142779272793034241166278430424054653815553501292488712062733429108925010429440403306802194365781135619990191555535701659378728485309527166809282168164179064063119507648490099191623352712831006455032990234255349492412873420658557290596536165652900355992181201691690718540944621268188956629782858299971663544483077307290589200538354849883196359848962058033665091698906950432599640118923771686050808734362337358658452392708358199824112284719096058392883769853822029520017753051728195485129714635613433210370913380916134106027975362493779133894343996302575675902350434188520826147439298358187881094036548897345189372058933905228041868862674994310081306759064039257238362920744724724631078333082029522562788140790235595168921845739992258035958477035464654688024403834529066908360937113444398592076248218725958776380965312418057710998565414130690237907566796392208727149244400253705820441630925308052062470352722642914043471602205790815114806229694360820329374163240530555605963467885280621733801524508879016697432691807014953984257428763911745645910246179102068595476171603592065090193893981730915153468286003883256814573142567437677851815658962231390982000534770023659465162811307437876950400468493322011311353273986185868270720730635987447558440674169798344461180721244081632302240189433908337522131151670440244892012439280949272325718544772953383000789938448768993033996483228592890661130479272634911280892559789101999456100344967503660013026802087638166475060622877594097609592088200140026708281475684771364929064240108886429112636567428459625125399048002 89346105133622189085289121805995511856868814846913376477680111832590269417311533768906490146088875228365564342286511463807658754959258251144431532162380238732701348310237765356472012607647842201415623434053023775507074292632993151076337684712690169812419432125626106353773567316613343832126142818844027660039588954356545631267380439754079563560968857119298098468055587474122406810067296428905563154960153425718409534313987490172638158214573070540769723371644552847270878016065309653515133904662370236823659011986541660845626006955466964953759593607095074392037827406435953681700744223755676667165444063214344908931577231789816886240893024795760055473724214413710517201986038147565410106199388346571249727376167003193729276123098709244855864538790012788718895967440366081964622748658307069910326572695759368040321829472804471632997724566967639016086956012987085520163588817215979846633898358233743161107107423140978340989229130675098691574989529733659195622470197081859014856812401757384745783391870185684542451079163466511086372476011031487478790504206121261975093114578982045725303309295350362789703462861956136142415658504687963665619414450864243369819339023781227320451801181352838221670843003500063350360789778330245430417139034879521052556722819613432059466177002225590136504998077230257595164863973583362931620557760730488298153737689753982898347113073424866678460396219549107562796143794962626161827138273381896323061468197013881683989103021219672138308449212635833484157812281070536959728496975026657046832227572259468623571338360033380178869442459624691034954848539280096598633703243697730911020047942447075635620505585272956301923394755288399543124948982632566500857850177588647569937692353425840822083141081023849385384451667889302277074524796588260138334292831601930168083785550277886790029637672613581332886900952761075505676823718393885223148500573227285168001022515061692534752344148940200096351955906057454831743619615813026112291925799237717415999407856403290352443681908002201 144565034868622167437809097874500077716438351251304606294355967002531490338078041855185184164017987250069124959908546365551929188555678443399867086038321118575950085650105759538470617898233407460113144800167066003984600321815081897420082848941914075367259462088813902666502232969289278231506059500021586291477877392882812684799420437282503565760230342836726202721284221119287470608713160911204488619658443960242080591571284119035024431439251213320042516405885719125701302070719125207016426393374432970252767936996971101248932809149832746089379583798650610093697206134921263208867553505923840846229507182721993399030768855142529717247348057785994310823216627287131175759276634683731063006555380527772941418094707947814997465079728492103155836202334495866026186556640904436814505945018156031968360237787458274990754429112923395404683775375702001353445614465379793878363412929500698942692291242003596983136627440894030069184714260389734305008199900647040111756576225057221508635946296101381048359067772536118730971905310905809444560357105068036376135693578180195880321156447844720719613390602109426828960701224876880867140289583021045695141977239005033605414507945626967312709837139829873686325531027903897879427698139267358874815731111127739778515499200578744477523888000791004267195235984797053987373591122827763185326378202361413606205800160106705541261156545027072469275511025778801923616473169125866692382744236849781603683201998538390563005800453911479153262433470064597395903458191316716061797092451198260638897317766153450354486491828319384062126257032767258472632700354939058830024685244232500934679513105258383073497455985741449623934706108562385728993219703363202488305408618262817368282153534147084903715443321213283293721973799040972717319416809027541087606618550146703121466786340216335559022671669096809925777562083240348140588104610953674325147956673572252671661035541863780172918819209563077690449565498145654971770327897288710883656854863477826302428520492970718812068807307050203 233911140002244356523098219680495589573307166098217982772036078835121759755389575624091674310106862478434689302195057829359587943514936694544298618200701357308651433960343524894942630505881249661528768234220089779491674614448075048496420533654604245179678894214440009020275800285902622063632202318865613951517466347239358316066800877036583129321199199956024301189339808593409877418780457340110051774618597385960490125885271609207662589653824283860812239777530271972972180086784434860531560298036803207076426948983512762094558816105299711043139177405745684485735033541357216890568297729679517513394951245936338307962346086932346603488241082581754366296940841700841692961262672831296473112754768874344191145470874951008726741202827201348011700741124508654745082524081270518779128693676463101878686810483217643031076258585727867037681499942669640369532570478366879398527001746716678789326189600237340144243734864035008410173943391064832996583189430380699307379046422139080523492758697858765794142459642721803273422984474372320530932833116099523854926197784301457855414271026826766444916699897459789618664164086833017009555948087709009360761391689869276975233846969408194633161638321182711907996374031403961229788487917597604305232870146007260831072222020192176536990065003016594403700234062027311582538455096411126116946935963091901904359537849860688439608269618451939147735907245327909486412616964088492854209882510231677926744670195552272246994903475131151291570882682700430880061270472387253021525589426224917685729545338412918978057830188352764240995699492391949507587548894219155428658388487930231845699561047705458709117961571014405925858100863850785272118168685995768989163258795851464938219845887572925725798584402237132679106425466930274994393941605615801225940911381748633289550571890494222349052309341710391258664463036001423646264928329347559548296457246799537839662058056925472707671163358503277786801521404203109803513947513101736995948780662715543718427928349374009164512489215052404 378476174870866523960907317554995667289745517349522589066392045837653250093467617479276858474124849728503814262103604194911517132070615137944165704239022475884601519610449284433413248404114657121641913034387155783476274936263156945916503382596518320546938356303253911686778033255191900295138261818887200242995343740122171000866221314319086695081429542792750503910624029712697348027493618251314540394277041346202570717456555728242687021093075497180854756183415991098673482157503560067547986691411236177329194885980483863343491625255132457132518761204396294579432239676278480099435851235603358359624458428658331706993114942074876320735589140367748677120157468987972868720539307515027536119310149402117132563565582898823724206282555693451167536943459004520771269080722174955593634638694619133847047048270675918021830687698651262442365275318371641722978184943746673276890414676217377732018480842240937127380362304929038479358657651454567301591389331027739419135622647196302032128704993960146842501527415257922004394889785278129975493190221167560231061891362481653735735427474671487164530090499569216447624865311709897876696237670730055055903368928874310580648354915035161945871475461012585594321905059307859109216186056864963180048601257135000609587721220770921014513953003807598670895470046824365569912046219238889302273314165453315510565338009967393980869426163479011617011418271106711410029090133214359546592626747081459530427872194090662810000703929042630444833316152765028275964728663703969083322681877423178324626863104566369332544322016672148303121956525159207980220249249158214258683073732162732780379074152963841782615417556755855549792806972413171001111388389358971477468667414114282306501999421720010629514027723450415972828399265971247711713358414643342313547529931895336411017358230710557908074981010807201184442025119241771786853032940301233873444413920371790511323093598789252880589982568066355477251086902348764775284275410390447879605635526193370020856448842344727976581296522102607 612387314873110880484005537235491256863052683447740571838428124672775009848857193103368532784231712206938503564298662024271105075585551832488464322439723833193252953570792809328355878909995906783170681268607245562967949550711231994412923916251122565726617250517693920707053833541094522358770464137752814194512810087361529316933022191355669824402628742748774805099963838306107225446274075591424592168895638732163060843341827337450349610746899781041666995960946263071645662244287994928079546989448039384405621834963996625438050441360432168175657938610141979065167273217635696990004148965282875873019409674594670014955461029007222924223830222949503043417098310688814561681801980346324009232064918276461323709036457849832450947485382894799179237684583513175516351604803445474372763332371082235725733858753893561052906946284379129480046775261041282092510755422113552675417416422934056521344670442478277271624097168964046889532601042519400298174578761408438726514669069335382555621463691818912636643987057979725277817874259650450506426023337267084085988089146783111591149698501498253609446790397029006066289029398542914886252185758439064416664760618743587555882201884443356579033113782195297502318279090711820339004673974462567485281471403142261440659943240963097551504018006824193074595704108851677152450501315650015419220250128545217414924875859828082420477695781930950764747325516434620896441707097302852400802509257313137457172542389642935056995607404173781736404198835465459156025999136091222104848271303648096010356408442979288310602152205024912544117656017551157487807798143377369687341462220092964626078635200669300491733379127770261475650907836263956273229557075354740466631926209965747244721845309292936355312612125687548651934824732901522706107300020259143539488441313643969700567930121204780257127290352517592443106488155243195433117961269648793421740871167171328350985151655714725588261145926569633264052608306551874578798222923492184875554416188908913739284377191718737141093785737155011 990863489743977404444912854790486924152798200797263160904820170510428259942324810582645391258356561935442317826402266219182622207656166970432630026678746309077854473181242093761769127314110563904812594302994401346444224486974388940329427298847640886273555606820947832393831866796286422653908725956640014437508153827483700317799243505674756519484058285541525309010587868018804573473767693842739132563172680078365631560798383065693036631839975278222521752144362254170319144401791554995627533680859275561734816720944480488781542066615564625308176699814538273644599512893914177089440000200886234232643868103253001721948575971082099244959419363317251720537255779676787430402341287861351545351375067678578456272602040748656175153767938588250346774628042517696287620685525620429966397971065701369572780907024569479074737633983030391922412050579412923815488940365860225952307831099151434253363151284719214399004459473893085368891258693973967599765968092436178145650291716531684587750168685779059479145514473237647282212764044928580481919213558434644317049980509264765326885125976169740773976880896598222513913894710252812762948423429169119472568129547617898136530556799478518524904589243207883096640184150019679448220860031327530665330072660277262050247664461734018566017971010631791745491174155676042722362547534888904721493564293998532925490213869795476401347121945409962381758743787541332306470797230517211947395136004394596987600414583733597866996311333216412181237514988230487431990727799795191188170953181071274334983271547545657643146474221697060847239612542710365468028047392535583946024535952255697406457709353633142274348796684526117025443714808677127274340945464713711944100593624080029551223844731012946984826639849137964624763223998872770417820658434902485853035971245539306111585288351915338165202271363324793627548513274484967219970994209950027295185285087543118862308245254503978468851128494635988741303695208900639354082498333882632755160051715102283760140826034063465117675082259257618 1603250804617088284928918392025978181015850884245003732743248295183203269791182003686013924042588274142380821390700928243453727283241718802921094349118470142271107426752034903090125006224106470687983275571601646909412174037685620934742351215098763452000172857338641753100885700337380945012679190094392828632020963914845229634732265697030426343886687028290300114110551706324911798920041769434163724732068318810528692404140210403143386242586875059264188748105308517241964806646079549923707080670307314946140438555908477114219592507975996793483834638424680252709766786111549874079444149166169110105663277777847671736904037000089322169183249586266754763954354090365601992084143268207675554583439985955039779981638498598488626101253321483049526012312626030871803972290329065904339161303436783605298514765778463040127644580267409521402458825840454205907999695787973778627725247522085490774707821727197491670628556642857132258423859736493367897940546853844616872164960785867067143371632377597972115789501531217372560030638304579030988345236895701728403038069656047876918034824477667994383423671293627228580202924108795727649200609187608183889232890166361485692412758683921875103937703025403180598958463240731499787225534005790098150611544063419523490907607702697116117521989017455984820086878264527719874813048850538920140713814422543750340415089729623558821824817727340913146506069303975953202912504327820064348197645261707734444772956973376532923991918737390193917641713823695946588016726935886413293019224484719370345339679990524945953748626426721973391357268560261522955835845535912953633365998172348662032536344554302442766082175812296378501094622644941083547570502540068452410732519834045776795945690040305883340139251974825513276698048731774293123927958455161629392524412559183275812153218473120118422329561715842386070655001429728162653088955479598820716926156254714447213293396910218704057112274421205622005356303515452513932880721257374817630714467904011197499425203225782202258768867996412629 2594114294361065689373831246816465105168649085042266893648068465693631529733506814268659315300944836077823139217103194462636349490897885773353724375797216451348961899933276996851894133538217034592795869874596048255856398524660009875071778513946404338273728464159589585494717567133667367666587916051032843069529117742328929952531509202705182863370745313831825423121139574343716372393809463276902857295240998888894323964938593468836422874426850337486710500249670771412283951047871104919334614351166590507875255276852957603001134574591561418792011338239218526354366299005464051168884149367055344338307145881100673458852612971171421414142668949584006484491609870042389422486484556069027099934815053633618236254240539347144801255021260071299872786940668548568091592975854686334305559274502484974871295672803032519202382214250439913324870876419867129723488636153834004580033078621236925028070973011916706069633016116750217627315118430467335497706514946280795017815252502398751731121801063377031594935016004455019842243402349507611470264450454136372720088050165312642244919950453837735157400552190225451094116818819048540412149032616777303361801019713979383828943315483400393628842292268611063695598647390751179235446394037117628815941616723696785541155272164431134683539960028087776565578052420203762597175596385427824862207378716542283265905303599419035223171939672750875528264813091517285509383301558337276295592781266102331432373371557110130790988230070606606098879228811926434020007454735681604481190177665790644680322951538070603596895100648419034238596881102971888423863892928448537579390534124604359438994053907935585040430972496822495526538337453618210821911448004782164354833113458125806347169534771318830324965891823963477901461272730647063541748616890064115245560383804722581923738506825035456587531833079167179698203514704213129873059949689548848012111441342257566075601642164722682525963402915841610746659998724353153286963219591257450385874519619113481259566029259845667376443950255670247 4197365098978153974302749638842443286184499969287270626391316760876834799524688817954673239343533110220203960607804122706090076774139604576274818724915686593620069326685311899942019139762323505280779145446197695165268572562345630809814129729045167790273901321498231338595603267471048312679267106145425671701550081657174159587263774899735609207257432342122125537231691280668628171313851232711066582027309317699423016369078803871979809117013725396750899248354979288654248757693950654843041695021473905454015693832761434717220727082567558212275845976663898779064133085117013925248328298533224454443970423658948345195756649971260743583325918535850761248445963960407991414570627824276702654518255039588658016235879037945633427356274581554349398799253294579439895565266183752238644720577939268580169810438581495559330026794517849434727329702260321335631488331941807783207758326143322415802778794739114197740261572759607349885738978166960703395647061800125411889980213288265818874493433440975003710724517535672392402274040654086642458609687349838101123126119821360519162954774931505729540824223483852679674319742927844268061349641804385487251033909880340869521356074167322268732779995294014244294557110631482679022671928042907726966553160787116309032062879867128250801061949045543761385664930684731482471988645235966745002921193139086033606320393329042594044996757400091788674770882395493238712295805886157340643790426527810065877146328530486663714980148807996800016520942635622380608024181671568017774209402150510015025662631528595549550643727075141007629954149663233411379699738464361491212756532296953021471530398462238027806513148309118874027632960098559294369481950544850616765565633292171583143115224811624713665105143798788991178159321462421356665676575345225744638084796363905857735891725298155575009861394795009565768858516133941292526148905169147668729037597596972013288895039074941386583075677337047232752016302239805667219843940848632268016588987523124678758991232485627869635212818252082876 6791479393339219663676580885658908391353149054329537520039385226570466329258195632223332554644477946298027099824907317168726426265037490349628543100712903044969031226618588896793913273300540539873575015320793743421124971087005640684885908242991572128547629785657820924090320834604715680345855022196458514771079199399503089539795284102440792070628177655953950960352830855012344543707660695987969439322550316588317340334017397340816231991440575734237609748604650060066532708741821759762376309372640495961890949109614392320221861657159119631067857314903117305418499384122477976417212447900279798782277569540049018654609262942432164997468587485434767732937573830450380837057112380345729754453070093222276252490119577292778228611295841625649271586193963128007987158242038438572950279852441753555041106111384528078532409008768289348052200578680188465354976968095641787787791404764559340830849767751030903809894588876357567513054096597428038893353576746406206907795465790664570605615234504352035305659533540127412244517443003594253928874137803974473843214169986673161407874725385343464698224775674078130768436561746892808473498674421162790612834929594320253350299389650722662361622287562625307990155758022233858258118322080025355782494777510813094573218152031559385484601909073631537951242983104935245069164241621394569865128571855628316872225696928461629268168697072842664203035695487010524221679107444494616939383207793912397309519700087596794505968378878603406115400171447548814628031636407249622255399579816300659705985583066666153147538827723560041868551030766205299803563631392810028792147066421557380910524452370173612846944120805941369554171297552177505191393398549632781120398746750297389490284759582943543990071035622752469079620594193068420207425192235289859883645180168628439659630232123191031597393227874176745467062030838154422399208854858696516741149038939229579364496681239664069109039080252888843498676300964158820506807160439889718402463507142238160018557261745473537011656768507753123 10988844492317373637979330524501351677537649023616808146430701987447301128782884450178005793988011056518231060432711439874816503039177094925903361825628589638589100553303900796735932413062864045154354160766991438586393543649351271494700037972036739918821531107156052262685924102075763993025122128341884186472629281056677249127059059002176401277885609998076076497584522135680972715021511928699036021349859634287740356703096201212796041108454301130988508996959629348720781466435772414605418004394114401415906642942375827037442588739726677843343703291567016084482632469239491901665540746433504253226247993198997363850365912913692908580794506021285528981383537790858372251627740204622432408971325132810934268725998615238411655967570423179998670385447257707447882723508222190811595000430381022135210916549966023637862435803286138782779530280940509800986465300037449570995549730907881756633628562490145101550156161635964917398793074764388742289000638546531618797775679078930389480108667945327039016384051075799804646791483657680896387483825153812574966340289808033680570829500316849194239048999157930810442756304674737076534848316225548277863868839474661122871655463818044931094402282856639552284712868653716537280790250122933082749047938297929403605281031898687636285663858119175299336907913789666727541152886857361314868049764994714350478546090257504223313165454472934452877806577882503762933974913330651957583173634321722463186666028618083458220948527686600206131921114083171195236055818078817640029608981966810674731648214595261702698182554798701049498505180429438711183263369857171520004903598718510402382054850832411640653457269115060243581804257650736799560875349094483397885964380042468972633399984394568257655176179421541460257779915655489776873101767580515604521729976532534297395521957421346606607254622669186311235920546972095714925357760027844185470186636536201592653391720314605455692114757589936076250692603203964487726651101288521986419052494665362838777548494231101406646869586759835999 17780323885656593301655911410160260068890798077946345666470087214017767458041080082401338348632489002816258160257618757043542929304214585275531904926341492683558131779922489693529845686363404585027929176087785182007518514736356912179585946215028312047369160892813873186776244936680479673370977150538342701243708480456180338666854343104617193348513787654030027457937352990693317258729172624687005460672409950876057697037113598553612273099894876865226118745564279408787314175177594174367794313766754897377797592051990219357664450396885797474411560606470133389901131853361969878082753194333784052008525562739046382504975175856125073578263093506720296714321111621308753088684852584968162163424395226033210521216118192531189884578866264805647941971641220835455869881750260629384545280282822775690252022661350551716394844812054428130831730859620698266341442268133091358783341135672441097464478330241176005360050750512322484911847171361816781182354215292937825705571144869594960085723902449679074322043584615927216891308926661275150316357962957787048809554459794706841978704225702192658937273774832008941211192866421629885008346990646711068476703769068981376221954853468767593456024570419264860274868626675950395538908572202958438531542715808742498178499183930247021770265767192806837288150896894601972610317128478755884733178336850342667350771787185965852581334151545777117080842273369514287155654020775146574522556842115634860496185728705680252726916906565203612247321285530720009864087454486067262285008561783111334437633797661927855845721382522261091367056211195644010986827001249981548797050665140067783292579303202585253500401389921001613135975555202914304752268747644116179006363126792766362123684743977511801645247215044293929337400509848558197080526959815805464405375156701162737055152189544537638204647850543363056702982577810250137324566614886540702211335675475431172017888401554269524801153837842824919749368904168123308233458261728411704821516001807600998796105755976574943658526355267589122 28769168377973966939635241934661611746428447101563153812900789201465068586823964532579344142620500059334489220690330196918359432343391680201435266751970082322147232333226390490265778099426268630182283336854776620593912058385708183674285984187065051966190691999969925449462169038756243666396099278880226887716337761512857587793913402106793594626399397652106103955521875126374289973750684553386041482022269585163798053740209799766408314208349177996214627742523908757508095641613366588973212318160869298793704234994366046395107039136612475317755263898037149474383764322601461779748293940767288305234773555938043746355341088769817982159057599528005825695704649412167125340312592789590594572395720358844144789942116807769601540546436687985646612357088478542903752605258482820196140280713203797825462939211316575354257280615340566913611261140561208067327907568170540929778890866580322854098106892731321106910206912148287402310640246126205523471354853839469444503346823948525349565832570395006113338427635691727021538100410318956046703841788111599623775894749602740522549533726019041853176322773989939751653949171096366961543195306872259346340572608543642499093610317286812524550426853275904412559581495329666932819698822325891521280590654106671901783780215828934658055929625311982136625058810684268700151470015336117199601228101845057017829317877443470075894499606018711569958648851252018050089628934105798532105730476437357323682851757323763710947865434251803818379242399613891205100143272564884902314617543749922009169282012257189558543903937320962140865561391625082722170090371107153068801954263858578185674634154034996894153858659036061856717779812853651104313144096738599576892327506835235334757084728372080059300423394465835389595180425504047973953628727396321068927105133233697034450674146965884244811902473212549367938903124782345852249924374914384887681522312011632764671280121868874980493268595432760996000061507372087795960109363016933691240568496472963837573654250207676350305395942027425121 46549492263630560241291153344821871815319245179509499479370876415482836044865044614980682491252989062150747380947948953961902361647606265476967171678311575005705364113148880183795623785789673215210212512942561802601430573122065095853871930402093364013559852892783798636238413975436723339767076429418569588960046241969037926460767745211410787974913185306136131413459228117067607232479857178073046942694679536039855750777323398320020587308244054861440746488088188166295409816790960763341006631927624196171501827046356265752771489533498272792166824504507282864284896175963431657831047135101072357243299118677090128860316264625943055737320693034726122410025761033475878428997445374558756735820115584877355311158235000300791425125302952791294554328729699378359622487008743449580685560996026573515714961872667127070652125427394995044442992000181906333669349836303632288562232002252763951562585222972497112270257662660609887222487417488022304653709069132407270208917968818120309651556472844685187660471220307654238429409336980231197020199751069386672585449209397447364528237951721234512113596548821948692865142037517996846551542297518970414817276377612623875315565170755580118006451423695169272834450122005617328358607394528849959812133369915414399962279399759181679826195392504788973913209707578870672761787143814873084334406438695399685180089664629435928475833757564488687039491124621532337245282954880945106628287318552992184179037486029443963674782340817007430626563685144611214964230727050952164599626105533033343606915809919117414389625319843223232232617602820726733156917372357134617599004928998645968967213457237582147654260048957063469853755368056565409065412844382715755898690633628001696880769472349591860945670609510129318932580935352606171034155687212126533332480289934859771505826336510421883016550323755912424641885702592595989574490989800925589892857987487063936689168523423144505294422433275585915749430411540211104193567624745345396062084498280564836369760006184251293963922297295014243 75318660641604527180926395279483483561747692281072653292271665616947904631689009147560026633873489121485236601638279150880261793990997945678402438430281657327852596446375270674061401885215941845392495849797338423195342631507773279528157914589158415979750544892753724085700583014192967006163175708298796476676384003481895514254681147318204382601312582958242235368981103243441897206230541731459088424716949121203653804517533198086428901516593232857655374230612096923803505458404327352314218950088493494965206062040722312147878528670110748109922088402544432338668660498564893437579341075868360662478072674615133875215657353395761037896378292562731948105730410445643003769310038164149351308215835943721500101100351808070392965671739640776941166685818177921263375092267226269776825841709230371341177901083983702424909406042735561958054253140743114400997257404474173218341122868833086805660692115703818219180464574808897289533127663614227828125063922971876714712264792766645659217389043239691300998898855999381259967509747299187243724041539180986296361343959000187887077771677740276365289919322811888444519091208614363808094737604391229761157848986156266374409175488042392642556878276971073685394031617335284261178306216854741481092724024022086301746059615588116337882125017816771110538268518263139372913257159150990283935634540540456703009407542072906004370333363583200256998139975873550387334911888986743638734017794990349507861889243353207674622647775068811249005806084758502420064373999615837066914243649282955352776197822176306972933529257164185373098178994445809455327007743464287686400959192857224154641847611272579041808118707993125326571535180910216513378556941121315332791018140463237031637854200721671920246094003975964708527761360856654144987784414608447602259585423168556805956500483476306127828452796968461792580788827374941841824415364715310477574380299498696701360448645292019485787691028708346911749491918912298900153676987762279087302652994753528673943414256391927644269318239322439364 121868152905235087422217548624305355377066937460582152771642542032430740676554053762540709125126478183635983982586228104842164155638604211155369610108593232333557960559524150857857025671005615060602708362739900225796773204629838375382029844991251779993310397785537522721938996989629690345930252137717366065636430245450933440715448892529615170576225768264378366782440331360509504438710398909532135367411628657243509555294856596406449488824837287719096120718700285090098915275195288115655225582016117691136707889087078577900650018203609020902088912907051715202953556674528325095410388210969433019721371793292224004075973618021704093633698985597458070515756171479118882198307483538708108044035951528598855412258586808371184390797042593568235721014547877299622997579275969719357511402705256944856892862956650829495561531470130557002497245140925020734666607240777805506903354871085850757223277338676315331450722237469507176755615081102250132778772992104283984921182761584765968868945516084376488659370076307035498396919084279418440744241290250372968946793168397635251606009629461510877403515871633837137384233246132360654646279901910200175975125363768890249724740658797972760563329700666242958228481739340901589536913611383591440904857393937500701708339015347298017708320410321560084451478225842010045675044302965863368270040979235856388189497206702341932846167121147688944037631100495082724580194843867688745362305113543341692040926729382651638297430115885818679632369769903113635028604726666789231513869754815988696383113632095424387323154577007408605330796597266536188483925115821422303999964121855870123609061068510161189462378756950188796425290548966781922443969785504031088689708774091238728518623673071263781191764613486094027460342296209260316021940101820574135592065713103416577462326819986728010845003120724374217222674529967537831398906354516236067467238286985760638049617168715163991082113461983932827498922330452510004347244612507624483364737493034093510313174262576178938233240536617453607 197186813546839614603143943903788838938814629741654806063914207649378645308243062910100735758999967305121220584224507255722425949629602156833772048538874889661410557005899421531918427556221556905995204212537238648992115836137611654910187759580410195973060942678291246807639580003822657352093427846016162542312814248932828954970130039847819553177538351222620602151421434603951401644940940640991223792128577778447163359812389794492878390341430520576751494949312382013902420733599615467969444532104611186101913951127800890048528546873719769012011001309596147541622217173093218532989729286837793682199444467907357879291630971417465131530077278160190018621486581924761885967617521702857459352251787472320355513358938616441577356468782234345176887700366055220886372671543195989134337244414487316198070764040634531920470937512866118960551498281668135135663864645251978725244477739918937562883969454380133550631186812278404466288742744716477960903836915076160699633447554351411628086334559324067789658268932306416758364428831578605684468282829431359265308137127397823138683781307201787242693435194445725581903324454746724462741017506301429937132974349925156624133916146840365403120207977637316643622513356676185850715219828238332921997581417959587003454398630935414355590445428138331194989746744105149418588301462116853652205675519776313091198904748775247937216500484730889201035771076368633111915106732854432384096322908533691199902815972735859312920077890954629928638175854661616055092978726282626298428113404098944049159311454271731360256683834171593978428975591712345643810932859285709990400923314713094278250908679782740231270497464943314122996825729876998435822526726625346421480726914554475760156477873792935701437858617462058735988103657065914461009724516429021737851651136271973383418827303463034138673455917692836009803463357342479673223321719231546545041618586484457339410065814007183476869804490692279739248414249364808904500921600269903570667390487787622184256588518968106582502558775939892971 319054966452074702025361492528094194315881567202236958835556749681809385984797116672641444884126445488757204566810735360564590105268206367989141658647468121994968517565423572389775453227227171966597912575277138874788889040767450030292217604571661975966371340463828769529578576993452347698023679983733528607949244494383762395685578932377434723753764119486998968933861765964460906083651339550523359159540206435690672915107246390899327879166267808295847615668012667104001336008794903583624670114120728877238621840214879467949178565077328789914099914216647862744575773847621543628400117497807226701920816261199581883367604589439169225163776263757648089137242753403880768165925005241565567396287739000919210925617525424812761747265824827913412608714913932520509370250819165708491848647119744261054963626997285361416032468982996675963048743422593155870330471886029784232147832611004788320107246793056448882081909049747911643044357825818728093682609907180444684554630315936177596955280075408444278317639008613452256761347915858024125212524119681732234254930295795458390289790936663298120096951066079562719287557700879085117387297408211630113108099713694046873858656805638338163683537678303559601850995096017087440252133439621924362902438811897087705162737646282712373298765838459891279441224969947159464263345765082717020475716499012169479388401955477589870062667605878578145073402176863715836495301576722121129458628022077032891943742702118510951217508006840448608270545624564729690121583452949415529941983158914932745542425086367155747579838411179002583759772188978881832294857975107132294400887436568964401859969748292901420732876221893502919422116278843780358266496512129377510170435688645714488675101546864199482629623230948152763448445953275174777031664618249595873443716849375389960881154123449762149518459038417210227026137887310017504622228073747782612508856873470217977459682982722347467951917952676212566747336579817318908848166212777528054032127980821715694569762781544285520735799312557346578 516241779998914316628505436431883033254696196943891764899470957331188031293040179582742180643126412793878425151035242616287016054897808524822913707186343011656379074571322993921693880783448728872593116787814377523781004876905061685202405364152072171939432283142120016337218156997275005050117107829749691150262058743316591350655708972225254276931302470709619571085283200568412307728592280191514582951668784214137836274919636185392206269507698328872599110617325049117903756742394519051594114646225340063340535791342680357997707111951048558926110915526244010286197991020714762161389846784645020384120260729106939762659235560856634356693853541917838107758729335328642654133542526944423026748539526473239566438976464041254339103734607062258589496415279987741395742922362361697626185891534231577253034391037919893336503406495862794923600241704261291005994336531281762957392310350923725882991216247436582432713095862026316109333100570535206054586446822256605384188077870287589225041614634732512067975907940919869015125776747436629809680806949113091499563067423193281528973572243865085362790386260525288301190882155625809580128314914513060050241074063619203497992572952478703566803745655940876245473508452693273290967353267860257284900020229856674708617136277218126728889211266598222474430971714052308882851647227199570672681392018788482570587306704252837807279168090609467346109173253232348948410408309576553513554950930610724091846558674854370264137585897795078536908721479226345745214562179232041828370096563013876794701736540638887107836522245350596562188747780691227476105790834392842284801810751282058680110878428075641652003373686836817042418942008720778794089023238754723931651162603200190248831579420657135184067481848410211499436549610341089238041389134678617611295367985647363344299981426912796288191914956110046236829601244652497177845549792979329157550475459954675316869748796729530944821722443368492305995750829182127813349087813047431624699518468609337878826351300512392103238358088497239549 835296746450989018653866928959977227570577764146128723735027707012997417277837296255383625527252858282635629717845977976851606160166014892812055365833811133651347592136746566311469334010675900839191029363091516398569893917672511715494622968723734147905803623605948785866796733990727352748140787813483219758211303237700353746341287904602689000685066590196618540019144966532873213812243619742037942111208990649828509190026882576291534148673966137168446726285337716221905092751189422635218784760346068940579157631557559825946885677028377348840210829742891873030773764868336305789789964282452247086041076990306521646026840150295803581857629805675486196895972088732523422299467532185988594144827265474158777364593989466067100851000431890172002105130193920261905113173181527406118034538653975838307998018035205254752535875478859470886648985126854446876324808417311547189540142961928514203098463040493031314795004911774227752377458396353934148269056729437050068742708186223766821996894710140956346293546949533321271887124663294653934893331068794823733817997718988739919263363180528383482887337326604851020478439856504894697515612322724690163349173777313250371851229758117041730487283334244435847324503548710360731219486707482181647802459041753762413779873923500839102187977105058113753872196683999468347114992992282287693157108517800652049975708659730427677341835696488045491182575430096064784905709886298674643013578952687756983790301376972881215355093904635527145179267103791075435336145632181457358312079721928809540244161627006042855416360656529599145948519969670109308400648809499974579202698187851023081970848176368543072736249908730319961841058287564559152355519750884101441821598291845904737506680967521334666697105079358364262884995563616264015073053752928213484739084835022753305181135550362558437710373994527256463855739131962514682467777866727111770059332333424893294329431779451878412773640396044704872743087408999446722197254025824959678731646449431053573396114082056677623974157401054586127 1351538526449903335282372365391860260825273961090020488634498664344185448570877475838125806170379271076514054868881220593138622215063823417634969073020154145307726666708069560233163214794124629711784146150905893922350898794577573400697028332875806319845235906748068802204014890988002357798257895643232910908473361981016945096996996876827943277616369060906238111104428167101285521540835899933552525062877774863966345464946518761683740418181664466041045836902662765339808849493583941686812899406571409003919693422900240183944592788979425907766321745269135883316971755889051067951179811067097267470161337719413461408686075711152437938551483347593324304654701424061166076433010059130411620893366791947398343803570453507321439954735038952430591601545473908003300856095543889103744220430188207415561032409073125148089039281974722265810249226831115737882319144948593310146932453312852240086089679287929613747508100773800543861710558966889140202855503551693655452930786056511356047038509344873468414269454890453190287012901410731283744574138017907915233381065142182021448236935424393468845677723587130139321669322012130704277643927237237750213590247840932453869843802710595745297291028990185312092798012001403634022186839975342438932702479271610437122397010200718965831077188371656336228303168398051777229966640219481858365838500536589134620563015363983265484621003787097512837291748683328413733316118195875228156568529883298481075636860051827251479492679802430605682087988583017421180550707811413499186682176284942686334945898167644929963252882901880195708137267750361336784506439643892816864004508939133081762081726604444184724739623595567137004260000296285337946444542989638825373472760895046094986338260388178469850764586927768575762321545173957353253114442887606831096034452820670116649481116977275354725902288950637302700685340376615011860313327659706440927609807793379568611199180576181409357595362839413197178738838238181574535546341838872391303431164918040391452222465382569069727212515489551825676 2186835272900892353936239294351837488395851725236149212369526371357182865848714772093509431697632129359149684586727198569990228375229838310447024438853965278959074258844816126544632548804800530550975175513997410320920792712250085116191651301599540467751039530354017588070811624978729710546398683456716130666684665218717298843338284781430632278301435651102856651123573133634158735353079519675590467174086765513794854654973401337975274566855630603209492563188000481561713942244773364322031684166917477944498851054457800009891478466007803256606532575012027756347745520757387373740969775349549514556202414709719983054712915861448241520409113153268810501550673512793689498732477591316400215038194057421557121168164442973388540805735470842602593706675667828265205969268725416509862254968842183253869030427108330402841575157453581736696898211957970184758643953365904857336472596274780754289188142328422645062303105685574771614088017363243074351124560281130705521673494242735122869035404055014424760563001839986511558900026074025937679467469086702738967199062861170761367500298604921852328565060913734990342147761868635598975159539559962440376939421618245704241695032468712787027778312324429747940122515550113994753406326682824620580504938313364199536176884124219804933265165476714449982175365082051245577081633211764146058995609054389786670538724023713693161962839483585558328474324113424478518221828082173902799582108835986238059427161428800132694847773707066132827267255686808496615886853443594956544994256006871495875190059794650972818669243558409794854085787720031446092907088453392791443207207126984104844052574780812727797475873504297456966101058583849897098800062740522926815294359186891999723844941355699804517461692007126940025206540737573617268187496640535044580773537655692869954662252527637913163612662945164559164541079508577526542781105526433552697669140126804461905528612355633287770369003235457902051481925647181021257743595864697350982162811367471445025618579464625747351186672890606411803 3538373799350795689218611659743697749221125686326169701004025035701368314419592247931635237868011400435663739455608419163128850590293661728081993511874119424266800925552885686777795763598925160262759321664903304243271691506827658516888679634475346787596275437102086390274826515966732068344656579099949041575158027199734243940335281658258575555917804712009094762228001300735444256893915419609142992236964540377761200119919920099659014985037295069250538400090663246901522791738357306008844583573488886948418544477358040193836071254987229164372854320281163639664717276646438441692149586416646782026363752429133444463398991572600679458960596500862134806205374936854855575165487650446811835931560849368955464971734896480709980760470509795033185308221141736268506825364269305613606475399030390669430062836181455550930614439428304002507147438789085922640963098314498167483405049587632994375277821616352258809811206459375315475798576330132214553980063832824360974604280299246478916073913399887893174832456730439701845912927484757221424041607104610654200580128003352782815737234029315321174242784500865129663817083880766303252803466797200190590529669459178158111538835179308532325069341314615060032920527551517628775593166658167059513207417584974636658573894324938770764342353848370786210478533480103022807048273431246004424834109590978921291101739387696958646583843270683071165766072796752892251537946278049130956150638719284719135064021480627384174340453509496738509355244269825917796437561255008455731676432291814182210135957962295902781922126460289990562223055470392782877413528097285608307211716066117186606134301385256912522215497099864593970361058880135235045244605730161752188767120081938094710183201743878274368226278934895515787528085911530970521301939528141875676807990476362986604143369504913267889514951895801861865226419885192538403094433186139993625278947920184030516727792931814697127964366074871099230220763885362595793289937703569742285593976285511836477841044847194817078399188380158237479 5725209072251688043154850954095535237616977411562318913373551407058551180268307020025144669565643529794813424042335617733119078965523500038529017950728084703225875184397701813322428312403725690813734497178900714564192484219077743633080330936074887255347314967456103978345638140945461778891055262556665172241842692418451542783673566439689207834219240363111951413351574434369602992246994939284733459411051305891556054774893321437634289551892925672460030963278663728463236733983130670330876267740406364892917395531815840203727549720995032420979386895293191396012462797403825815433119361766196296582566167138853427518111907434048920979369709654130945307756048449648545073897965241763212050969754906790512586139899339454098521566205980637635779014896809564533712794632994722123468730367872573923299093263289785953772189596881885739204045650747056107399607051680403024819877645862413748664465963944774903872114312144950087089886593693375288905104624113955066496277774541981601785109317454902317935395458570426213404812953558783159103509076191313393167779190864523544183237532634237173502807845414600120005964845749401902227963006357162630967469091077423862353233867648021319352847653639044807973043043101631623528999493340991680093712355898338836194750778449158575697607519325085236192653898562154268384129906643010150483829718645368707961640463411410651808546682754268629494240396910177370769759774360223033755732747555270957194491182909427516869188227216562871336622499956634414412324414698603412276670688298685678085326017756946875600591370018699785416308843190424228970320616550678399750418923193101291450186876166069640319691370604162050936462117463985132144044668470684679004061479268830094434028143099578078885687970942022455812734626649104587789489436168676920257581528132055856558805622032551181053127614840966421029767499393770064945875538712573546322948088046988492422256405287447984898333369310329001281702689532543617051033533568267093267756787652983281503459624311820564429585861270764649282 9263582871602483732373462613839232986838103097888488614377576442759919494687899267956779907433654930230477163497944036896247929555817161766611011462602204127492676109950587500100224076002650851076493818843804018807464175725905402149969010570550234042943590404558190368620464656912193847235711841656614213817000719618185786724008848097947783390137045075121046175579575735105047249140910358893876451648015846269317254894813241537293304536930220741710569363369326975364759525721487976339720851313895251841335940009173880397563620975982261585352241215574355035677180074050264257125268948182843078608929919567986871981510899006649600438330306154993080113961423386503400649063452892210023886901315756159468051111634235934808502326676490432668964323117951300802219619997264027737075205766902964592729156099471241504702804036310189741711193089536142030040570149994901192303282695450046743039743785561127162681925518604325402565685170023507503459084687946779427470882054841228080701183230854790211110227915300865915250725881043540380527550683295924047368359318867876326998974766663552494677050629915465249669781929630168205480766473154362821557998760536602020464772702827329851677916994953659868005963570653149252304592659999158739606919773483313472853324672774097346461949873173456022403132432042257291191178180074256154908663828236347629252742202799107610455130526024951700660006469706930263021297720638272164711883386274555676329555204390054901043528680726059609845977744226460332208761975953611868008347120590499860295461975719242778382513496478989775978531898660817011847734144647964008057630639259218478056321177551326552841906867704026644906823176344120367189289274200846431192828599350768189144211344843456353253914249876917971600262712560635558310791375696818795934389518608418843162948991537464448942642566736768282894993919278962603348969971898713539948227035967172522938984198219262682026297735385200100511923453417906212844323471271836835553350763938495117981300669159015381507985049650922886761 14988791943854171775528313567934768224455080509450807527751127849818470674956206287981924576999298460025290587540279654629367008521340661805140029413330288830718551294348289313422652388406376541890228316022704733371656659944983145783049341506625121298290905372014294346966102797857655626126767104213279386058843412036637329507682414537636991224356285438232997588931150169474650241387905298178609911059067152160873309669706562974927594088823146414170600326647990703827996259704618646670597119054301616734253335540989720601291170696977294006331628110867546431689642871454090072558388309949039375191496086706840299499622806440698521417700015809124025421717471836151945722961418133973235937871070662949980637251533575388907023892882471070304743338014760865335932414630258749860543936134775538516028249362761027458474993633192075480915238740283198137440177201675304217123160341312460491704209749505902066554039830749275489655571763716882792364189312060734493967159829383209682486292548309692529045623373871292128655538834602323539631059759487237440536138509732399871182212299297789668179858475330065369675746775379570107708729479511525452525467851614025882818006570475351171030764648592704675979006613754780875833592153340150419700632129381652309048075451223255922159557392498541258595786330604411559575308086717266305392493546881716337214382666210518262263677208779220330154246866617107633791057494998495198467616133829826633524046387299482417912716907942622481182600244183094746621086390652215280285017808889185538380787993476189653983104866497689561394840741851241240818054761198642407808049562452319769506508053717396193161598238308188695843285293808105499333333942671531110196890078619598283578239487943034432139602220818940427412997339209740146100280811865495716191971046740474699721754613570015629995770181577734703924761418672732668294845510611287086271175124014161015361240603506710666924631104695529101793626142950449829895357004840103928821107551591478399484760293470835945937570910921687536043 24252374815456655507901776181774001211293183607339296142128704292578390169644105555938704484432953390255767751038223691525614938077157823571751040875932492958211227404298876813522876464409027392966722134866508752179120835670888547933018352077175355341234495776572484715586567454769849473362478945869893599875844131654823116231691262635584774614493330513354043764510725904579697490528815657072486362707082998430190564564519804512220898625753367155881169690017317679192755785426106623010317970368196868575589275550163600998854791672959555591683869326441901467366822945504354329683657258131882453800426006274827171481133705447348121856030321964117105535678895222655346372024871026183259824772386419109448688363167811323715526219558961502973707661132712166138152034627522777597619141901678503108757405462232268963177797669502265222626431829819340167480747351670205409426443036762507234743953535067029229235965349353600892221256933740390295823274000007513921438041884224437763187475779164482740155851289172158043906264715645863920158610442783161487904497828600276198181187065961342162856909105245530619345528705009738313189495952665888274083466612150627903282779273302681022708681643546364543984970184407930128138184813339309159307551902864965781901400123997353268621507265671997280998918762646668850766486266791522460301157375118063966467124869009625872718807734804172030814253336324037896812355215636767363179499520104382309853601591689537318956245588668682091028577988409555078829848366605827148293364929479685398676249969195432432365618362976679337373372640512058252665788905846606415865680201711538247562829231268722746003505106012215340750108470152225866522623216872377541389718677970366472722450832786490785393516470695858399013260051770375704411072187562314512126360565348893542884703605107480078938412748314502986819755337951695271643815482510000626219402159981333538300224801725973348950928840080729202305549596368356042739680476111940764374458315529973517466060962629851327445555960572610422804 39241166759310827283430089749708769435748264116790103669879832142396860844600311843920629061432251850281058338578503346154981946598498485376891070289262781788929778698647166126945528852815403934856950450889213485550777495615871693716067693583800476639525401148586779062552670252627505099489246050083172985934687543691460445739373677173221765838849615951587041353441876074054347731916720955251096273766150150591063874234226367487148492714576513570051770016665308383020752045130725269680915089422498485309842611091153321600145962369936849598015497437309447899056465816958444402242045568080921828991922092981667470980756511888046643273730337773241130957396367058807292094986289160156495762643457082059429325614701386712622550112441432573278450999147473031474084449257781527458163078036454041624785654824993296421652791302694340703541670570102538304920924553345509626549603378074967726448163284572931295790005180102876381876828697457273088187463312068248415405201713607647445673768327474175269201474663043450172561803550248187459789670202270398928440636338332676069363399365259131831036767580575595989021275480389308420898225432177413726608934463764653786100785843778032193739446292139069219963976798162711003971776966679459579008184032246618090949475575220609190781064658170538539594705093251080410341794353508788765693650921999780303681507535220144134982484943583392360968500202941145530603412710635262561647115653934208943377647978989019736868962496611304572211178232592649825450934757258042428578382738368870937057037962671622086348723229474368898768213382363299493483843667045248823673729764163858017069337284986118939165103344320404036593393763960331365855957159543908651586608756589964756300690320729525217533118691514798826426257390980115850511352999427810228318331612089368242606458218677495708934182929892237690744516756624427939938660993121287712490577283995494553661465405232684015875559944776258304099175739318805872635037480952044693195565867121451916950821256100687273383126871494297958847 63493541574767482791331865931482770647041447724129399812008536434975251014244417399859333545865205240536826089616727037680596884675656308948642111165195274747141006102946042940468405317224431327823672585755722237729898331286760241649086045660975831980759896925159263778139237707397354572851724995953066585810531675346283561971064939808806540453342946464941085117952601978634045222445536612323582636473233149021254438798746171999369391340329880725932939706682626062213507830556831892691233059790695353885431886641316922599000754042896405189699366763751349366423288762462798731925702826212804282792348099256494642461890217335394765129760659737358236493075262281462638467011160186339755587415843501168878013977869198036338076332000394076252158660280185197612236483885304305055782219938132544733543060287225565384830588972196605926168102399921878472401671905015715035976046414837474961192116819639960525025970529456477274098085631197663384010737312075762336843243597832085208861244106638658009357325952215608216468068265894051379948280645053560416345134166932952267544586431220473993893676685821126608366804185399046734087721384843302000692401075915281689383565117080713216448127935685433763948946982570641132109961780018768738315735935111583872850875699217962459402571923842535820593623855897749261108280620300311225994808297117844270148632404229770007701292678387564391782753539265183427415767926272029924826615174038591253231249570678557055825208085279986663239756221002204904280783123863869576871747667848556335733287931867054518714341592451048236141586022875357746149632572891855239539409965875396264632166516254841685168608450332619377343502234112557232378580376416286192976327434560331229023141153516016002926635162210657225439517442750491554922425186990124740444692177438261785491161823784975787872595678206740677564272094576123211582476475631288338709979443976828091961690206958657364826488784856987506404725335687161915374717957063985457570024182651425434416882218730538600828682832066908381651 102734708334078310074761955681191540082789711840919503481888368577372111858844729243779962607297457090817884428195230383835578831274154794325533181454458056536070784801593209067413934170039835262680623036644935723280675826902631935365153739244776308620285298073746042840691907960024859672340971046036239571745219219037744007710438616982028306292192562416528126471394478052688392954362257567574678910239383299612318313032972539486517884054906394295984709723347934445234259875687557162372148149213193839195274497732470244199146716412833254787714864201060797265479754579421243134167748394293726111784270192238162113442646729223441408403490997510599367450471629340269930561997449346496251350059300583228307339592570584748960626444441826649530609659427658229086320933143085832513945297974586586358328715112218861806483380274890946629709772970024416777322596458361224662525649792912442687640280104212891820815975709559353655974914328654936472198200624144010752248445311439732654535012434112833278558800615259058389029871816142238839737950847323959344785770505265628336907985796479605824930444266396722597388079665788355154985946817020715727301335539679935475484350960858745410187574227824502983912923780733352136081738746698228317323919967358201963800351274438571650183636582013074360188328949148829671450074973809099991688459219117624573830139939449914142683777621970956752751253742206328958019180636907292486473730827972800196608897549667576792694170581891291235450934453594854729731717881121912005450130406217427272790325894538676605063064821925417134909799405238657239633476239937104063213139730039254281701503801240960624333711794653023413936895998072888598234537535960194844562936191150295985323831474245541220459753853725456051865774833730607405433778186417934968763023789527630028097620042462471496806778608098978368308788851200551151521137468752576051200556727972322645623155612191341380702048729633245810503901075005967788009755438016030150765590049772877351367703474831225874211809703561206340498 166228249908845792866093821612674310729831159565048903293896905012347362873089146643639296153162662331354710517811957421516175715949811103274175292619653331283211790904539252007882339487264266590504295622400657961010574158189392177014239784905752140601045194998905306618831145667422214245192696041989306157555750894384027569681503556790834846745535508881469211589347080031322438176807794179898261546712616448633572751831718711485887275395236275021917649430030560507447767706244389055063381209003889193080706384373787166798147470455729659977414230964812146631903043341884041866093451220506530394576618291494656755904536946558836173533251657247957603943546891621732569029008609532836006937475144084397185353570439782785298702776442220725782768319707843426698557417028390137569727517912719131091871775399444427191313969247087552555877875369946295249724268363376939698501696207749917648832396923852852345841946239015830930072999959852599856208937936219773089091688909271817863396256540751491287916126567474666605497940082036290219686231492377519761130904672198580604452572227700079818824120952217849205754883851187401889073668201864017727993736615595217164867916077939458626635702163509936747861870763303993268191700526716997055639655902469785836651226973656534109586208505855610180781952805046578932558355594109411217683267516235468843978772343679684150385070300358521144534007281471512385434948563179322411300346002011391449840147120346133848519378667171277898690690674597059634012501004985781582321878074065983608523613826405731123777406414376465371051385428114014985783108812828959302752549695914650546333670317495802309502320244985642791280398232185445830613117912376481037539263625710627214346972627761557223386389015936113277305292276481098960356203373408059709207715966965891813588781866247447284679374286305719045873060945776674363103613944383864389910536171949150737584845819149998745528537514490233316908626410693129703384473395080015608335614232424302785784585693561764475040492535628114722149 268962958242924102940855777293865850812620871405968406775785273589719474731933875887419258760460119422172594946007187805351754547223965897599708474074111387819282575706132461075296273657304101853184918659045593684291249985092024112379393524150528449221330493072651349459523053627447073917533667088025545729300970113421771577391942173772863153037728071297997338060741558084010831131170051747472940456951999748245891064864691250972405159450142669317902359153378494952682027581931946217435529358217083032275980882106257410997294186868562914765129095165872943897382797921305285000261199614800256506360888483732818869347183675782277581936742654758556971394018520962002499591006058879332258287534444667625492693163010367534259329220884047375313377979135501655784878350171475970083672815887305717450200490511663288997797349521978499185587648339970712027046864821738164361027346000662360336472677028065744166657921948575184586047914288507536328407138560363783841340134220711550517931268974864324566474927182733724994527811898178529059424182339701479105916675177464208941360558024179685643754565218614571803142963516975757044059615018884733455295072155275152640352267038798204036823276391334439731774794544037345404273439273415225372963575869827987800451578248095105759769845087868684540970281754195408604008430567918511209371726735353093417808912283129598293068847922329477897285261023677841343454129200086614897774076829984191646449044670013710641213549249062569134141625128191914363744218886107693587772008480283410881313939720944407728840471236301882505961184833352672225416585052766063365965689425953904828035174118736762933836032039638666205217294230258334428847655448336675882102199816860923199670804102007098443846142869661569329171067110211706365789981559825994677970739756493521841686401908709918781486152894404697414181849796977225514624751413136440441111092899921473383208001431341340126230586244123479127412527485699097491394228833096045759101204282197180137152289168392990349252302239189321062647 435191208151769895806949598906540161542452030971017310069682178602066837605023022531058554913622781753527305463819145226867930263173777000873883766693764719102494366610671713083178613144568368443689214281446251645301824143281416289393633309056280589822375688071556656078354199294869288162726363130014851886856721007805799147073445730563697999783263580179466549650088638115333269307977845927371202003664616196879463816696409962458292434845378944339820008583409055460129795288176335272498910567220972225356687266480044577795441657324292574742543326130685090529285841263189326866354650835306786900937506775227475625251720622341113755469994312006514575337565412583735068620014668412168265225009588752022678046733450150319558031997326268101096146298843345082483435767199866107653400333800024848542072265911107716189111318769066051741465523709917007276771133185115104059529042208412277985305073951918596512499868187591015516120914248360136184616076496583556930431823129983368381327525515615815854391053750208391600025751980214819279110413832078998867047579849662789545813130251879765462578686170832421008897847368163158933133283220748751183288808770870369805220183116737662663458978554844376479636665307341338672465139800132222428603231772297773637102805221751639869356053593724294721752234559241987536566786162027922427054994251588562261787684626809282443453918222687999041819268305149353728889077763265937309074422831995583096289191790359844489732927916233847032832315802788973997756719891093475170093886554349394489837553547350138852617877650678347877012570261466687211199693865595022668718239121868555374368844436232565243338352284624308996497692462443780259460773360713156919641463442571550414017776729768655667232531885597682606476359386692805326146184933234054387178455723459413655275183774957366066165527180710416460054910742753899877728365357520304831021629071870624120792847250491338871759123758613712444321153896392227194778702228176061367436818514621482922936874861954754824292794774817435784796 704154166394693998747805376200406012355072902376985716845467452191786312336956898418477813674082901175699900409826333032219684810397742898473592240767876106921776942316804174158474886801872470296874132940491845329593074128373440401773026833206809039043706181144208005537877252922316362080260030218040397616157691121227570724465387904336561152820991651477463887710830196199344100439147897674844142460616615945125354881561101213430697594295521613657722367736787550412811822870108281489934439925438055257632668148586301988792735844192855489507672421296558034426668639184494611866615850450107043407298395258960294494598904298123391337406736966765071546731583933545737568211020727291500523512544033419648170739896460517853817361218210315476409524277978846738268314117371342077737073149687330565992272756422771005186908668291044550927053172049887719303817998006853268420556388209074638321777750979984340679157790136166200102168828536867672513023215056947340771771957350694918899258794490480140420865980932942116594553563878393348338534596171780477972964255027126998487173688276059451106333251389446992812040810885138915977192898239633484638583880926145522445572450155535866700282254946178816211411459851378684076738579073547447801566807642125761437554383469846745629125898681592979262722516313437396140575216729946433636426720986941655679596596909938880736522766145017476939104529328827195072343206963352552206848499661979774742738236460373555130946477165296416166973940930980888361500938777201168757865895034632805371151493268294546581458348886980230382973755094819359436616278918361086034683928547822460202404018554969328177174384324262975201714986692702114688308428809049832801743663259432473613688580831775754111078674755259251935647426496904511691936166493060049065149195479952935496961585683667284847651680075115113874236760539731125392353116770656745272132721971792097504000848681832678997989710002737191571733681382091324686172931061272107126538022796818663060089164030347745173545097014006756847443 1139345374546463894554754975106946173897524933348003026915149630793853149941979920949536368587705682929227205873645478259087615073571519899347476007461640826024271308927475887241653499946440838740563347221938096974894898271654856691166660142263089628866081869215764661616231452217185650242986393348055249503014412129033369871538833634900259152604255231656930437360918834314677369747125743602215344464281232142004818698257511175888990029140900557997542376320196605872941618158284616762433350492659027482989355415066346566588177501517148064250215747427243124955954480447683938732970501285413830308235902034187770119850624920464505092876731278771586122069149346129472636831035395703668788737553622171670848786629910668173375393215536583577505670576822191820751749884571208185390473483487355414534345022333878721376019987060110602668518695759804726580589131191968372480085430417486916307082824931902937191657658323757215618289742785227808697639291553530897702203780480678287280586320006095956275257034683150508194579315858608167617645010003859476840011834876789788032986818527939216568911937560279413820938658253302074910326181460382235821872689697015892250792633272273529363741233501023192691048125158720022749203718873679670230170039414423535074657188691598385498481952275317273984474750872679383677142002891974356063481715238530217941384281536748163179976684367705475980923797633976548801232284726618489515922922493975357839027428250733399620679405081530263199806256733769862359257658668294643927959781588982199860989046815644685434076226537658578259986325356286046647815972783956108703402167669691015576772862991201893420512736608887284198212679155145894947769202169762989721385126702004024027706357561544409778311206640856934542123785883597317018082351426294103452327651203412349152236769458624650913817207255825530334291671282485025270081482128177050103154351043662721624793695932324017869748833761350904016054835278483551880951633289448168493974841311440145983026038892302499997837891788824192632239 1843499540941157893302560351307352186252597835724988743760617082985639462278936819368014182261788584104927106283471811291307299883969262797821068248229516932946048251244280061400128386748313309037437480162429942304487972400028297092939686975469898667909788050359972667154108705139502012323246423566095647119172103250260940596004221539236820305425246883134394325071749030514021470186273641277059486924897848087130173579818612389319687623436422171655264744056984156285753441028392898252367790418097082740622023563652648555380913345710003553757888168723801159382623119632178550599586351735520873715534297293148064614449529218587896430283468245536657668800733279675210205042056122995169312250097655591319019526526371186027192754433746899053915194854801038559020064001942550263127546633174685980526617778756649726562928655351155153595571867809692445884407129198821640900641818626561554628860575911887277870815448459923415720458571322095481210662506610478238473975737831373206179845114496576096696123015616092624789132879737001515956179606175639954812976089903916786520160506803998667675245188949726406632979469138440990887519079700015720460456570623161414696365083427809396064023488447202008902459585010098706825942297947227118031736847056549296512211572161445131127607850956910253247197267186116779817717219621920789699908436225471873620980878446687043916499450512722952920028326962803743873575491689971041722771422155955132581765664711106954751625882246826679366780197664750750720758597445495812685825676623615005232140540083939232015534575424638808642960080451105406084432251702317194738086096217513475779176881546171221597687120933150259399927665847848009636077630978812822523128789961436497641394938393320163889389881396116186477771212380501828710018517919354152517476846683365284649198355142291935761468887330940644208528431822216150662434598898833795375287073015454819128794544614156696867738543764088095587788516660574876567124564350720275620512864108258809043115202922650245171382988802830949479682 2982844915487621787857315326414298360150122769072991770675766713779492612220916740317550550849494267034154312157117289550394914957540782697168544255691157758970319560171755948641781886694754147778000827384368039279382870671683153784106347117732988296775869919575737328770340157356687662566232816914150896622186515379294310467543055174137079458029502114791324762432667864828698839933399384879274831389179080229134992278076123565208677652577322729652807120377180762158695059186677515014801140910756110223611378978718995121969090847227151618008103916151044284338577600079862489332556853020934704023770199327335834734300154139052401523160199524308243790869882625804682841873091518698838100987651277762989868313156281854200568147649283482631420865431623230379771813886513758448518020116662041395060962801090528447938948642411265756264090563569497172464996260390790013380727249044048470935943400843790215062473106783680631338748314107323289908301798164009136176179518312051493460431434502672052971380050299243132983712195595609683573824616179499431652987924780706574553147325331937884244157126510005820453918127391743065797845261160397956282329260320177306947157716700082925427764721948225201593507710168818729575146016820906788261906886470972831586868760853043516626089803232227527231672018058796163494859222513895145763390151464002091562365159983435207096476134880428428900952124596780292674807776416589531238694344649930490420793092961840354372305287328356942566586454398520613080016256113790456613785458212597205093129586899583917449610801962297386902946405807391452732248224486273303441488263887204491355949744537373115018199857542037543598140345002993904583846833148575812244513916663440521669101295954864573667701088036973121019894998264099145728100869345648255969804497886777633801435124600916586675286094586766174542820103104701175932516081027010845478441424059117540753588240546480714737487377525438999603843351939058428448076197640168444114487705419698955026141241814952745169220880591655142111921 4826344456428779681159875677721650546402720604797980514436383796765132074499853559685564733111282851139081418440589100841702214841510045494989612503920674691916367811416036010041910273443067456815438307546797981583870843071711450877046034093202886964685657969935709995924448862496189674889479240480246543741358618629555251063547276713373899763454748997925719087504416895342720310119673026156334318314076928316265165857894735954528365276013744901308071864434164918444448500215070413267168931328853192964233402542371643677350004192937155171765992084874845443721200719712041039932143204756455577739304496620483899348749683357640297953443667769844901459670615905479893046915147641694007413237748933354308887839682653040227760902083030381685336060286424268938791877888456308711645566749836727375587580579847178174501877297762420909859662431379189618349403389589611654281369067670610025564803976755677492933288555243604047059206885429418771118964304774487374650155256143424699640276548999248149667503065915335757772845075332611199530004222355139386465964014684623361073307832135936551919402315459732227086897596530184056685364340860413676742785830943338721643522800127892321491788210395427210495967295178917436401088314768133906293643733527522128099080333014488647753697654189137780478869285244912943312576442135815935463298587689473965183346038430122251012975585393151381820980451559584036548383268106560572961465766805885623002558757672947309123931169575183621933366652063271363800774853559286269299611134836212210325270126983523149465145377386936195545906486258496858816680476188590498179574360104717967135126626083544336615886978475187802998068010850841914219924464127388634767642706624877019310496234348184737557090969433089307497666210644600974438119387265002408487281344570142918450633479743208522436754981917706818751348534926917326594950679925844640853728497074572359882382785160637411605225921289527095191631868599633305015200761990888719735000569527957764069256444737602990340603869394486091591603 7809189371916401469017191004135948906552843373870972285112150510544624686720770300003115283960777118173235730597706390392097129799050828192158156759611832450886687371587791958683692160137821604593439134931166020863253713743394604661152381210935875261461527889511447324694789019852877337455712057394397440363545134008849561531090331887510979221484251112717043849937084760171419150053072411035609149703256008545400158135970859519737042928591067630960878984811345680603143559401747928281970072239609303187844781521090638799319095040164306789774096001025889728059778319791903529264700057777390281763074695947819734083049837496692699476603867294153145250540498531284575888788239160392845514225400211117298756152838934894428329049732313864316756925718047499318563691774970067160163586866498768770648543380937706622440825940173686666123752994948686790814399649980401667662096316714658496500747377599467707995761662027284678397955199536742061027266102938496510826334774455476193100707983501920202638883116214578890756557270928220883103828838534638818118951939465329935626455157467874436163559441969738047540815723921927122483209602020811633025115091263516028590680516827975246919552932343652412089475005347736165976234331589040694555550619998494959685949093867532164379787457421365307710541303303709106807435664649711081226688739153476056745711198413557458109451720273579810721932576156364329223191044523150104200160111455816113423351850634787663496236456903540564499953106461791976880791109673076725913396593048809415418399713883107066914756179349233582448852892065888311548928700674863801621062623991922458491076370620917451634086836017225346596208355853835818803771297275964447012156623288317540979597530303049311224792057470062428517561208908700120166220256610650664457085842456920552252068604344125109112041076504472993294168638031618502527466760952855486332169921133689900635971025707118126342713298814966094795475220538691733463276959631057163849488274947656719095397686552555735509824749986141233703524 12635533828345181150177066681857599452955563978668952799548534307309756761220623859688680017072059969312317149038295491233799344640560873687147769263532507142803055183003827968725602433580889061408877442477964002447124556815106055538198415304138762226147185859447157320619237882349067012345191297874643984104903752638404812594637608600884878984939000110642762937441501655514139460172745437191943468017332936861665323993865595474265408204604812532268950849245510599047592059616818341549139003568462496152078184063462282476669099233101461961540088085900735171780979039503944569196843262533845859502379192568303633431799520854332997430047535063998046710211114436764468935703386802086852927463149144471607643992521587934656089951815344246002092986004471768257355569663426375871809153616335496146236123960784884796942703237936107575983415426327876409163803039570013321943465384385268522065551354355145200929050217270888725457162084966160832146230407712983885476490030598900892740984532501168352306386182129914648529402346260832082633833060889778204584915954149953296699762989603810988082961757429470274627713320452111179168573942881225309767900922206854750234203316955867568411341142739079622585442300526653602377322646357174600849194353526017087785029426882020812133485111610503088189410588548622050120012106785527016689987326842950021929057236843679709122427305666731192542913027715948365771574312629710677161625878261701736425910608307734972620167626478724186433319758525063340681565963232362995213007727885021625743669840866630216379901556736169777994759378324385170365609176863454299800636984096640425626202996704461788249973814492413149594276366704677733023695761403353081779799329913194560290093764651234048781883026903151736015227419553301094604339643875653072944367187027063470702702084087333631548796058422179812045517172958535829122417440878700127185898418208262260518353810867755537947939220104493189987107089138325038478477721621945883584488844475614483164654131290158725850428619380627325295127 20444723200261582619194257685993548359508407352539925084660684817854381447941394159691795301032837087485552879636001881625896474439611701879305926023144339593689742554591619927409294593718710666002316577409130023310378270558500660199350796515074637487608713748958604645314026902201944349800903355269041424468448886647254374125727940488395858206423251223359806787378586415685558610225817848227552617720588945407065482129836454994002451133195880163229829834056856279650735619018566269831109075808071799339922965584552921275988194273265768751314184086926624899840757359295848098461543320311236141265453888516123367514849358351025696906651402358151191960751612968049044824491625962479698441688549355588906400145360522829084419001547658110318849911722519267575919261438396443031972740482834264916884667341722591419383529178109794242107168421276563199978202689550414989605561701099927018566298731954612908924811879298173403855117284502902893173496510651480396302824805054377085841692516003088554945269298344493539285959617189052965737661899424417022703867893615283232326218147071685424246521199399208322168529044374038301651783544902036942793016013470370778824883833783842815330894075082732034674917305874389768353556977946215295404744973524512047470978520749552976513272569031868395899951891852331156927447771435238097916676065996426078674768435257237167231879025940311003264845603872312694994765357152860781361785989717517849849262458942522636116404083382264750933272864986855317562357072905439721126404320933831041162069554749737283294657736085403360443612270390273481914537877538318101421699608088562884117279367325379239884060650509638496190484722558513551827467058679317528791955953201512101269691294954283360006675084373214164532788628462001214770559900486303737401453029483984022954770688431458740660837134926652805339685810990154331649884201831555613518068339341952161154324836574873664290652518919459284782582309677016771941754681253003047433977119423271202260051817842714461360253369366768558998651 33080257028606763769371324367851147812463971331208877884209219125164138209162018019380475318104897056797870028674297372859695819080172575566453695286676846736492797737595447896134897027299599727411194019887094025757502827373606715737549211819213399713755899608405761965933264784551011362146094653143685408573352639285659186720365549089280737191362251334002569724820088071199698070398563285419496085737921882268730806123702050468267859337800692695498780683302366878698327678635384611380248079376534295492001149648015203752657293506367230712854272172827360071621736398799792667658386582845082000767833081084427000946648879205358694336698937422149238670962727404813513760195012764566551369151698500060514044137882110763740508953363002356320942897726991035833274831101822818903781894099169761063120791302507476216326232416045901818090583847604439609142005729120428311549027085485195540631850086309758109853862096569062129312279369469063725319726918364464281779314835653277978582677048504256907251655480474408187815361963449885048371494960314195227288783847765236529025981136675496412329482956828678596796242364826149480820357487783262252560916935677225529059087150739710383742235217821811657260359606401043370730879624303389896253939327050529135256007947631573788646757680642371484089362480400953207047459878220765114606663392839376100603825672100916876354306331607042195807758631588261060766339669782571458523411867979219586275173067250257608736571709860988937366592623511918658243923036137802716339412048818852666905739395616367499674559292821573138438371648714658652280147054401772401222336592185203309743482364029841028134034465002051645784761089263191284851162820082670610571755283114706661559785059605517408788558111276365900548016048015302309374899544361956810345820216511047493657472772518792372209633193348832617385202983948690160772301642710255740703966757550214421672678647442629202238591739023952474769689398815341810420232402874948931018465963898885685424705949132873187210681988747395884293778 53524980228868346388565582053844696171972378683748802968869903943018519657103412179072270619137734144283422908310299254485592293519784277445759621309821186330182540292187067823544191621018310393413510597296224049067881097932107375936900008334288037201364613357364366611247291686752955711946998008412726833041801525932913560846093489577676595397785502557362376512198674486885256680624381133647048703458510827675796288253538505462270310470996572858728610517359223158349063297653950881211357155184606094831924115232568125028645487779632999464168456259753984971462493758095640766119929903156318142033286969600550368461498237556384391243350339780300430631714340372862558584686638727046249810840247855649420444283242633592824927954910660466639792809449510303409194092540219261935754634582004025980005458644230067635709761594155696060197752268881002809120208418670843301154588786585122559198148818264371018778673975867235533167396653971966618493223429015944678082139640707655064424369564507345462196924778818901727101321580638938014109156859738612249992651741380519761352199283747181836576004156227886918964771409200187782472141032685299195353932949147596307883970984523553199073129292904543691935276912275433139084436602249605191658684300575041182726986468381126765160030249674239879989314372253284363974907649656003212523339458835802179278594107358154043586185357547353199072604235460573755761105026935432239885197857696737436124435526192780244852975793243253688299865488498773975806280109043242437465816369752683708067808950366104782969217028906976498881983919104932134194684931940090502644036200273766193860761731355220268018095115511690141975245811821704836678629878761988139363711236316218762829476354559800768795233195649580065080804676477303524145459444848260547747273245995031516612243460950251112870470328275485422724888794938844492422185844541811354222035096892166582827003484017502866529244257943411759552271708492358582361987084127951978452443083322156887684757766975587648570935358114164443292429 86605237257475110157936906421695843984436350014957680853079123068182657866265430198452745937242631201081292936984596627345288112599956853012213316596498033066675338029782515719679088648317910120824704617183318074825383925305714091674449220153501436915120512965770128577180556471303967074093092661556412241615154165218572747566459038666957332589147753891364946237018762558084954751022944419066544789196432709944527094377240555930538169808797265554227391200661590037047390976289335492591605234561140390323925264880583328781302781286000230177022728432581345043084230156895433433778316486001400142801120050684977369408147116761743085580049277202449669302677067777676072344881651491612801179991946355709934488421124744356565436908273662822960735707176501339242468923642042080839536528681173787043126249946737543852035994010201597878288336116485442418262214147791271612703615872070318099829998904574129128632536072436297662479676023441030343812950347380408959861454476360933043007046613011602369448580259293309914916683544088823062480651820052807477281435589145756290378180420422678248905487113056565515761013774026337263292498520468561447914849884824821836943058135263263582815364510726355349195636518676476509815316226552995087912623627625570317982994416012700553806787930316611364078676852654237571022367527876768327130002851675178279882419779459070919940491689154395394880362867048834816527444696718003698408609725675957022399608593443037853589547503104242625666458112010692634050203145181045153805228418571536374973548345982472282643776321728549637320355567819590786474831986341862903866372792458969503604244095385061296152129580513741787760006901084896121529792698844658749935466519430925424389261414165318177583791306925945965628820724492605833520358989210217358093093462506079010269716233469043485080103521624318040110091778887534653194487487252067094926001854442381004499682131460132068767835996967364234321961107307700392782219487002900909470909047221042573109463716108460835781617346861560327586207 140130217486343456546502488475540540156408728698706483821949027011201177523368842377525016556380365345364715845294895881830880406119741130457972937906319219396857878321969583543223280269336220514238215214479542123893265023237821467611349228487789474116485126323134495188427848158056922786040090669969139074656955691151486308412552528244633927986933256448727322749217437044970211431647325552713593492654943537620323382630779061392808480279793838412956001718020813195396454273943286373802962389745746485155849380113151453809948269065633229641191184692335330014546723914991074199898246389157718284834407020285527737869645354318127476823399616982750099934391408150538630929568290218659050990832194211359354932704367377949390364863184323289600528516626011642651663016182261342775291163263177813023131708590967611487745755604357293938486088385366445227382422566462114913858204658655440659028147722838500147411210048303533195647072677412996962306173776396353637943594117068588107431416177518947831645505038112211642018005124727761076589808679791419727274087330526276051730379704169860085481491269284452434725785183226525045764639553153860643268782833972418144827029119786816781888493803630899041130913430951909648899752828802600279571307928200611500709980884393827318966818179990851244067991224907521934997275177532771539653342310510980459161013886817224963526677046701748593952967102509408572288549723653435938293807583372694458524044119635818098442523296347496313966323600509466609856483254224287591271044788324220083041357296348577065612993350635526136202339486924522920669516918281953406510408992732735697465005826740281564170224696025431929735252712906600958208422577606646889299177755747144187218737768725118946379024502575526030709625400969909357665818434058477905840366708501110526881959694419294597950573849899803462834980573826379145616673331793878449148036951334547587326685615477634935297080254910775993874232815800058975144206571130852887923352130543199460794221483084048484352552704975724770878636 226735454743818566704439394897236384140845078713664164675028150079383835389634272575977762493622996546446008782279492509176168518719697983470186254502817252463533216351752099262902368917654130635062919831662860198718648948543535559285798448641290911031605639288904623765608404629360889860133183331525551316272109856370059055979011566911591260576081010340092268986236199603055166182670269971780138281851376247564850477008019617323346650088591103967183392918682403232443845250232621866394567624306886875479774644993734782591251050351633459818213913124916675057630954071886507633676562875159118427635527070970505107277792471079870562403448894185199769237068475928214703274449941710271852170824140567069289421125492122305955801771457986112561264223802512981894131939824303423614827691944351600066257958537705155339781749614558891816774424501851887645644636714253386526561820530725758758858146627412629276043746120739830858126748700854027306119124123776762597805048593429521150438462790530550201094085297405521556934688668816584139070460499844227204555522919672032342108560124592538334386978382341017950486798957252862309057138073622422091183632718797239981770087255050080364703858314357254390326549949628386158715069055355595367483931555826181818692975300406527872773606110307462608146668077561759506019642705409539866783345162186158739043433666276295883467168735856143988833329969558243388815994420371439636702417309048651480923652713078855952032070799451738939632781712520159243906686399405332745076273206895756458014905642331049348256769672364075773522695054744113707144348904623816310376781785191705201069249922125342860322354276539173717495259613991497079738215276451305639234644275178069611607999182890437123962815809501471996338446125462515191186177423268695263933460171007189537151675927888338083030677371524121502945072352713913798811160819045945544074038805776928591826367746937767004064916251878140228196193923107759367926426058133753797394261177764242033903685199192509320134170051837285098464843 366865672230162023250941883372776924297253807412370648496977177090585012913003114953502779050003361891810724627574388391007048924839439113928159192409136471860391094673721682806125649186990351149301135046142402322611913971781357026897147677129080385148090765612039118954036252787417812646173274001494690390929065547521545364391564095156225188563014266788819591735453636648025377614317595524493731774506319785185173859638798678716155130368384942380139394636703216427840299524175908240197530014052633360635624025106886236401199319417266689459405097817252005072177677986877581833574809264316836712469934091256032845147437825397998039226848511167949869171459884078753334204018231928930903161656334778428644353829859500255346166634642309402161792740428524624545794956006564766390118855207529413089389667128672766827527505218916185755260512887218332873027059280715501440420025189381199417886294350251129423454956169043364053773821378267024268425297900173116235748642710498109257869878968049498032739590335517733198952693793544345215660269179635646931829610250198308393838939828762398419868469651625470385212584140479387354821777626776282734452415552769658126597116374836897146592352117988153431457463380580295807614821884158195647055239484026793319402956184800355191740424290298313852214659302469281441016917882942311406436687472697139198204447553093520846993845782557892582786297072067651961104544144024875574996224892421345939447696832714674050474594095799235253599105313029625853763169653629620336347317995219976541056262938679626413869763022999601909725034541668636627813865822905769716887190777924440898534255748865624424492578972564605647230512326898098037946637854057952528533822030925213798826736951615556070341840312076998027048071526432424548851995857327173169773826879508300064033635622307632680981251221423924965780052926540292944427834150839823993222075757111476179153053362415401939361996506788916222070426738907818343070632629264606685317613308307441494697906682276557804486722756813009869343479 593601126973980589955381278270013308438098886126034813172005327169968848302637387529480541543626358438256733409853880900183217443559137097398345446911953724323924311025473782069028018104644481784364054877805262521330562920324892586182946125770371296179696404900943742719644657416778702506306457333020241707201175403891604420370575662067816449139095277128911860721689836251080543796987865496273870056357696032750024336646818296039501780456976046347322787555385619660284144774408530106592097638359520236115398670100621018992450369768900149277619010942168680129808632058764089467251372139475955140105461162226537952425230296477868601630297405353149638408528360006968037478468173639202755332480475345497933774955351622561301968406100295514723056964231037606439926895830868190004946547151881013155647625666377922167309254833475077572034937389070220518671695994968887966981845720106958176744440977663758699498702289783194911900570079121051574544422023949878833553691303927630408308341758580048233833675632923254755887382462360929354730729679479874136385133169870340735947499953354936754255448033966488335699383097732249663878915700398704825636048271566898108367203629886977511296210432345407821784013330208681966329890939513791014539171039852975138095931485206883064514030400605776460361327380031040947036560588351851273220032634883297937247881219369816730461014518414036571619627041625895349920538564396315211698642201469997420371349545793530002506664895250974193231887025549785097669856053034953081423591202115732999071168581010675762126532695363677683247729596412750334958214727529586027263972563116146099603505670990967284814933249103779364725771940889595117684853130509258167768466306103283410434736134505993194304656121578470023386517651894939740038173280595868433707287050515489601185311550195970764011928592948046468725125279254206743238994969885769537296114562888404770979421109353168943426912758667056450266620662015577710997058687398360482711874486071683528601591881469067124620892808650294967808322 960466799204142613206323161642790232735352693538405461668982504260553861215640502482983320593629720330067458037428269291190266368398576211326504639321090196184315405699195464875153667291634832933665189923947664843942476892106249613080093802899451681327787170512982861673680910204196515152479731334514932098130240951413149784762139757224041637702109543917731452457143472899105921411305461020767601830864015817935198196285616974755656910825360988727462182192088836088124444298584438346789627652412153596751022695207507255393649689186166838737024108759420685201986310045641671300826181403792791852575395253482570797572668121875866640857145916521099507579988244085721371682486405568133658494136810123926578128785211122816648135040742604916884849704659562230985721851837432956395065402359410426245037292795050688994836760052391263327295450276288553391698755275684389407401870909488157594630735327914888122953658458826558965674391457388075842969719924122995069302334014425739666178220726629546266573265968440987954840076255905274570390998859115521068214743420068649129786439782117335174123917685591958720911967238211637018700693327174987560088463824336556234964320004723874657888562550333561253241476710788977773944712823671986661594410523879768457498887670007238256254454690904090312575986682500322388053478471294162679656720107580437135452328772463337577454860300971929154405924113693547311025082708421190786694867093891343359819046378508204052981258991050209446830992338579410951433025706664573417770909197335709540127431519690302175996295718363279592972764138081386962772080550435355744151163341040586998137761419856591709307512221668385011956284267787693155631490984567210696302288337028497209261473086121549264646496433655468050434589178327364288890169137923041603481113930023789665218947172503603444993179814371971434505178205794499687666829120725593530518190319999880950132474471768570882788909265455972672337047400923396054067691316662967168029487794379125023299498563745624929107615565463304837151801 1554067926178123203161704439912803541173451579664440274840987831430522709518277890012463862137256078768324191447282150191373483811957713308724850086233043920508239716724669246944181685396279314718029244801752927365273039812431142199263039928669822977507483575413926604393325567620975217658786188667535173805331416355304754205132715419291858086841204821046643313178833309150186465208293326517041471887221711850685222532932435270795158691282337035074784969747474455748408589072992968453381725290771673832866421365308128274386100058955066988014643119701589365331794942104405760768077553543268746992680856415709108749997898418353735242487443321874249145988516604092689409160954579207336413826617285469424511903740562745377950103446842900431607906668890599837425648747668301146400011949511291439400684918461428611162146014885866340899330387665358773910370451270653277374383716629595115771375176305578646822452360748609753877574961536509127417514141948072873902856025318353370074486562485209594500406941601364242710727458718266203925121728538595395204599876589938989865733939735472271928379365719558447056611350335943886682579609027573692385724512095903454343331523634610852169184772982678969075025490040997659740274603763185777676133581563732743595594819155214121320768485091509866772937314062531363335090039059646013952876752742463735072700209991833154307915874819385965726025551155319442660945621272817505998393509295361340780190395924301734055487923886301183640062879364129196049102881759699526499194500399451442539198600100700977938122828413726957276220493734494137297730295277964941771415135904156733097741267090847558994122445470772164376682056208677288273316344115076468864070754643131780619696209220627542458951152555233938073821106830222304028928342418518910037188400980539279266404258722699574209005108407320017903230303485048706430905824090611363067814304882888285721111895581121739826215822024123029122603668062938973765064750004061327650741362280450808551901090445214692053728508374113599804960123 2514534725382265816368027601555593773908804273202845736509970335691076570733918392495447182730885799098391649484710419482563750180356289520051354725554134116692555122423864711819335352687914147651694434725700592209215516704537391812343133731569274658835270745926909466067006477825171732811265920002050105903461657306717903989894855176515899724543314364964374765635976782049292386619598787537809073718085727668620420729218052245550815602107698023802247151939563291836533033371577406800171352943183827429617444060515635529779749748141233826751667228461010050533781252150047432068903734947061538845256251669191679547570566540229601883344589238395348653568504848178410780843440984775470072320754095593351090032525773868194598238487585505348492756373550162068411370599505734102795077351870701865645722211256479300156982774938257604226625837941647327302069206546337666781785587539083273366005911633493534945406019207436312843249352993897203260483861872195868972158359332779109740664783211839140766980207569805230665567534974171478495512727397710916272814620010007638995520379517589607102503283405150405777523317574155523701280302354748679945812975920240010578295843639334726827073335533012530328266966751786637514219316586857764337727992087612512053093706825221359577022939782413957085513300745031685723143517530940176632533472850044172208152538764296491885370735120357894880431475269012989971970703981238696785088376389252684140009442302809938108469182877351393086893871702708607000535907466364099916965409596787152079326031620391280114119124132090236869193257872575524260502375828400297515566299245197320095879028510704150703429957692440549388638340476464981428947835099643679560373042980160277828957682306749091723597648988889406124255696008549668317818511556441951640669514910563068931623205895203177653998288221691989337735481690843206118572653211336956598332495202888166671244370052890310709004731289579001794940715463862369819132441320724294818770850074829933575200589008960316982836123939576904642111924 4068602651560389019529732041468397315082255852867286011350958167121599280252196282507911044868141877866715840931992569673937233992314002828776204811787178037200794839148533958763517038084193462369723679527453519574488556516968534011606173660239097636342754321340836070460332045446146950470052108669585279708793073662022658195027570595807757811384519186011018078814810091199478851827892114054850545605307439519305643262150487516345974293390035058877032121687037747584941622444570375253553078233955501262483865425823763804165849807096300814766310348162599415865576194254453192836981288490330285837937108084900788297568464958583337125832032560269597799557021452271100190004395563982806486147371381062775601936266336613572548341934428405780100663042440761905837019347174035249195089301381993305046407129717907911319128789824123945125956225607006101212439657816990944156169304168678389137381087939072181767858379956046066720824314530406330677998003820268742875014384651132479815151345697048735267387149171169473376294993692437682420634455936306311477414496599946628861254319253061879030882649124708852834134667910099410383859911382322372331537488016143464921627367273945578996258108515691499403292456792784297254493920350043542013861573651345255648688525980435480897791424873923823858450614807563049058233556590586190585410225592507907280852748756129646193286609939743860606457026424332432632916325254056202783481885684614024920199838227111672163957106763652576726956751066837803049638789226063626416159909996238594618524631721092258052241952545817194145413751607069661558232671106365239286981435149354053193620295601551709697552403163212713765320396685142269702264179214720148424443797623292058448653891527376634182548801544123344198076802838771972346746853974960861677857915891102348198027464617902751863003396629012007240965785175891912549478477301948319666146800085776452392356265634012050535220553313702030917544383526801343584197191324785622469512212355280742127101679454175009036564632313690504447072047 6583137376942654835897759643023991088991060126070131747860928502812675850986114675003358227599027676965107490416702989156500984172670292348827559537341312153893349961572398670582852390772107610021418114253154111783704073221505925823949307391808372295178025067267745536527338523271318683281318028671635385612254730968740562184922425772323657535927833550975392844450786873248771238447490901592659619323393167187926063991368539761896789895497733082679279273626601039421474655816147782053724431177139328692101309486339399333945599555237534641517977576623609466399357446404500624905885023437391824683193359754092467845139031498812939009176621798664946453125526300449510970847836548758276558468125476656126691968792110481767146580422013911128593419415990923974248389946679769351990166653252695170692129340974387211476111564762381549352582063548653428514508864363328610937954891707761662503386999572565716713264399163482379564073667524303533938481865692464611847172743983911589555816128908887876034367356740974704041862528666609160916147183334017227750229116609954267856774698770651486133385932529859258611657985484254934085140213737071052277350463936383475499923210913280305823331444048704029731559423544570934768713236936901306351589565738957767701782232805656840474814364656337780943963915552594734781377074121526367217943698442552079489005287520426138078657345060101755486888501693345422604887029235294899568570262073866709060209280529921610272426289641003969813850622769546410050174696692427726333125319593025746697850663341483538166361076677907431014607009479645185818735046934765536802547734394551373289499324112255860400982360855653263153958737161607251131212014314363827984816840603452336277611573834125725906146450533012750322332498847321640664565365531402813318527430801665417129650670513105929517001684850703996578701266866735118668051130513285276264479295288664619063600635686902361244225284603281032712485098990663713403329632645509917288283062430110675702302268463135326019400756253267409089183971 10651740028503043855427491684492388404073315978937417759211886669934275131238310957511269272467169554831823331348695558830438218164984295177603764349128490191094144800720932629346369428856301072391141793780607631358192629738474459835555481052047469931520779388608581606987670568717465633751370137341220665321047804630763220379949996368131415347312352736986410923265596964448250090275383015647510164928700606707231707253519027278242764188887768141556311395313638787006416278260718157307277509411094829954585174912163163138111449362333835456284287924786208882264933640658953817742866311927722110521130467838993256142707496457396276135008654358934544252682547752720611160852232112741083044615496857718902293905058447095339694922356442316908694082458431685880085409293853804601185255954634688475738536470692295122795240354586505494478538289155659529726948522180319555094124195876440051640768087511637898481122779119528446284897982054709864616479869512733354722187128635044069370967474605936611301754505912144177418157522359046843336781639270323539227643613209900896718029018023713365164268581654568111445792653394354344469000125119393424608887951952526940421550578187225884819589552564395529134851880337355232023207157286944848365451139390303023350470758786092321372605789530261604802414530360157783839610630712112557803353924035059986769858036276555784271943954999845616093345528117677855237803354489351102352052147758480733980409118757033282436383396404656546540807373836384213099813485918491352749285229589264341316375295062575796218603029223724625160020761086714847376967718041130776089529169543905426483119619713807570098534764018865976919279133846749520833476193529083976409260638226744394726265465361502360088695252077136094520409301686093613011312219506363674996385346692767765327678135131008681380005081479716003819667052042627031217529607815233595930626095374441071455956901320914411779445837916983063630029482517465056987526823970295539757795274785391417829403947917310335055965388566957913536256018 17234877405445698691325251327516379493064376105007549507072815172746950982224425632514627500066197231796930821765398547986939202337654587526431323886469802344987494762293331299929221819628408682412559908033761743141896702959980385659504788443855842226698804455876327143515009091988784317032688166012856050933302535599503782564872422140455072883240186287961803767716383837697021328722873917240169784252093773895157771244887567040139554084385501224235590668940239826427890934076865939361001940588234158646686484398502562472057048917571370097802265501409818348664291087063454442648751335365113935204323827593085723987846527956209215144185276157599490705808074053170122131700068661499359603083622334375028985873850557577106841502778456228037287501874422609854333799240533573953175422607887383646430665811666682334271351919348887043831120352704312958241457386543648166032079087584201714144155087084203615194387178283010825848971649579013398554961735205197966569359872618955658926783603514824487336121862653118881460020051025656004252928822604340766977872729819855164574803716794364851297654514184427370057450638878609278554140338856464476886238415888910415921473789100506190642920996613099558866411303881926166791920394223846154717040705129260791052252991591749161847420154186599385746378445912752518620987704833638925021297622477612066258863323796981922350601300059947371580234029811023277842690383724646001920622409832347443040618399286954892708809686045660516354657996605930623149988182610919079082410549182290088014225958404059334384964105901632056174627770566360033195702764975896312892076903938456799772618943826063430499517124874519240073237871008356771964688207843447804394077478830196731003877039195628085994841702610148844842741800533415253675877585037766488314912777494433182457328805644114610897006766330420000398368318909362149885580738328518872195105390663105690519557537007816773023671122520264096342514581508128770390856456615805457046078337215502093531706216380445661075366144820225322625439989 27886617433948742546752743012008767897137692083944967266284701842681226113462736590025896772533366786628754153114094106817377420502638882704035088235598292536081639563014263929275591248484709754803701701814369374500089332698454845495060269495903312158219583844484908750502679660706249950784058303354076716254350340230267002944822418508586488230552539024948214690981980802145271418998256932887679949180794380602389478498406594318382318273273269365791902064253878613434307212337584096668279449999328988601271659310665725610168498279905205554086553426196027230929224727722408260391617647292836045725454295432078980130554024413605491279193930516534034958490621805890733292552300774240442647699119192093931279778909004672446536425134898544945981584332854295734419208534387378554360678562522072122169202282358977457066592273935392538309658641859972487968405908723967721126203283460641765784923174595841513675509957402539272133869631633723263171441604717931321291547001253999728297751078120761098637876368565263058878177573384702847589710461874664306205516343029756061292832734818078216461923095838995481503243292272963623023140463975857901495126367841437356343024367287732075462510549177495088001263184219281398815127551510791003082491844519563814402723750377841483220025943716860990548792976272910302460598335545751482824651546512672053028721360073537706622545255059792987673579557928701133080493738213997104272674557590828177021027518043988175145193082450317062895465370442314836249801668529410431831695778771554429330601253466635130603567135125356681334648531653074880572670483017027088981606073482362226255738563539871000598051888893385216992517004855106292798164401372531780803338117056941125730142504557130446083536954687284939363151102219508866687189804544130163311298124187200947785006940775123292277011847810136004218035370951989181103110346143752468125731486037546761975514438328731184803116960437247159972544064025593827378383280586100996803873612000893511361110164297755996131331533387183236161696007 45121494839394441238077994339525147390202068188952516773357517015428177095687162222540524272599564018425684974879492654804316622840293470230466412122068094881069134325307595229204813068113118437216261609848131117641986035658435231154565057939759154384918388300361235894017688752695034267816746469366932767187652875829770785509694840649041561113792725312910018458698364639842292747721130850127849733432888154497547249743294161358521872357658770590027492733194118439862198146414450036029281390587563147247958143709168288082225547197476575651888818927605845579593515814785862703040368982657949980929778123025164704118400552369814706423379206674133525664298695859060855424252369435739802250782741526468960265652759562249553377927913354772983269086207276905588753007774920952507536101170409455768599868094025659791337944193284279582140778994564285446209863295267615887158282371044843479929078261680045128869897135685550097982841281212736661726403339923129287860906873872955387224534681635585585973998231218381940338197624410358851842639284479005073183389072849611225867636451612443067759577610023422851560693931151572901577280802832322378381364783730347772264498156388238266105431545790594646867674488101207565607047945734637157799532549648824605454976741969590645067446097903460376295171422185662821081586040379390407845949168990284119287584683870519628973146555119740359253813587739724410923184121938643106193296967423175620061645917330943067854002768495977579250123367048245459399789851140329510914106327953844517344827211870694464988531241026988737509276302219434913768373247992923401873682977420819026028357507365934431097569013767904457065754875863463064762852609215979585197415595887137856734019543752758532078378657297433784205892902752924120363067389581896651626210901681634130242335746419237903174018614140556004616403689861351330988691084472271340320836876700652452495071975336547957826788082957511256315058645533722597769239737201906453849951949216395604892816380678201657206697678207408558787135996 73008112273343183784830737351533915287339760272897484039642218858109403209149898812566421045132930805054439127993586761621694043342932352934501500357666387417150773888321859158480404316597828192019963311662500492142075368356890076649625327435662466543137972144846144644520368413401284218600804772721009483442003216060037788454517259157628049344345264337858233149680345441987564166719387783015529682613682535099936728241700755676904190630932039955819394797447997053296505358752034132697560840586892135849229803019834013692394045477381781205975372353801872810522740542508270963431986629950786026655232418457243684248954576783420197702573137190667560622789317664951588716804670209980244898481860718562891545431668566921999914353048253317929250670540131201323172216309308331061896779732931527890769070376384637248404536467219672120450437636424257934178269203991583608284485654505485245714001436275886642545407093088089370116710912846459924897844944641060609152453875126955115522285759756346684611874599783644999216375197795061699432349746353669379388905415879367287160469186430521284221500705862418333063937223424536524600421266808180279876491151571785128607522523675970341567942094968089734868937672320488964422175497245428160882024394168388419857700492347432128287472041620321366843964398458573123542184375925141890670600715502956172316306043944057335595691810179533346927393145668425544003677860152640210465971525014003797082673435374931242999195850946294642145588737490560295649591519669739942745802106725398946675428465337329595592098376152345418843924833872509794341043731009950490855289050903181252284096070905805431695620902661289674058271880718569357561017010588511366000753712944078982464162048309888978161915611984718723569044004972432987050257194126026814937509025868835078027342687194361195451030461950692008834439060813340512091801430616023808446568362738199214470586413665279142629905043394758416287602709559316425147623017788007450653825561217289116253926544975957653338029211594591794948832003 118129607112737625022908731691059062677541828461850000812999735873537580304837061035106945317732494823480124102873079416426010666183225823164967912479734482298219908213629454387685217384710946629236224921510631609784061404015325307804190385375421620928056360445207380538538057166096318486417551242087942250629656091889808573964212099806669610458137989650768251608378710081829856914440518633143379416046570689597483977984994917035426062988590810545846887530642115493158703505166484168726842231174455283097187946729002301774619592674858356857864191281407718390116256357294133666472355612608736007585010541482408388367355129153234904125952343864801086287088013524012444141057039645720047149264602245031851811084428129171553292280961608090912519756747408106911925224084229283569432880903340983659368938470410297039742480660503951702591216630988543380388132499259199495442768025550328725643079697955931771415304228773639468099552194059196586624248284564189897013360748999910502746820441391932270585872831002026939554572822205420551274989030832674452572294488728978513028105638042964351981078315885841184624631154576109426177702069640502658257855935302132900872020680064208607673373640758684381736612160421696530029223442980065318681556943817213025312677234317022773354918139523781743139135820644235944623770416304532298516549884493240291603890727814576964568838365299273706181206733408149954926861982091283316659268492437179417144319352705874310853198619442272221395712104538805755049381370810069453659908434679243464020255677208024060580629617179334156353201136091944708109416979002873892728972028324000278312453578271739862793189916429194131124026756582032422323869619804490951198169308831216839198181592062647510240294269282152507774936907725357107413324583707923466563719927550469208269678433613599098625049076091248013450842750674691843080492515088295148767405239438851666965658389001827100456693126352269672602661355093039022916862754989913904503777510433684721146742925654159310544726889802000353735967999 191137719386080808807739469042592977964881588734747484852641954731646983513986959847673366362865425628534563230866666178047704709526158176099469412837400869715370682101951313546165621701308774821256188233173132101926136772372215384453815712811084087471194332590053525183058425579497602705018356014808951734071659307949846362418729358964297659802483253988626484758059055523817421081159906416158909098660253224697420706226695672712330253619522850501666282328090112546455208863918518301424403071761347418946417749748836315467013638152240138063839563635209591200638996899802404629904342242559522034240242959939652072616309705936655101828525481055468646909877331188964032857861709855700292047746462963594743356516096696093553206634009861408841770427287539308235097440393537614631329660636272511550138008846794934288147017127723623823041654267412801314566401703250783103727253680055813971357081134231818413960711321861728838216263106905656511522093229205250506165814624126865618269106201148278955197747430785671938770948020000482250707338777186343831961199904608345800188574824473485636202579021748259517688568378000645950778123336448682938134347086873918029479543203740178949241315735726774116605549832742185494451398940225493479563581337985601445170377726664454901642390181144103109983100219102809068165954792229674189187150599996196463920196771758634300164530175478807053108599879076575498930539842243923527125240017451183214226992788080805553852394470388566863541300842029366050698972890479809396405710541404642410695684142545353656172727993331679575197125969964454502450460710012824383584261079227181530596549649177545294488810819090483805182298637300601779884886630393002317198923021775295821662343640372536488402209881266871231343980912697790094463581777833950281501228953419304286297021120807960294076079538041940022285281811488032355172293945704318957213973602177050881436244802667106243086598169747028088890264064652355448064485772777921355157603071650973837400669470630116963882756101396592148684800002 309267326498818433830648200733652040642423417196597485665641690605184563818824020882780311680597920452014687333739745594473715375709383999264437325317135352013590590315580767933850839086019721450492413154683763711710198176387540692258006098186505708399250693035260905721596482745593921191435907256896893984701315399839654936382941458770967270260621243639394736366437765605647277995600425049302288514706823914294904684211690589747756316608113661047513169858732228039613912369085002470151245302935802702043605696477838617241633230827098494921703754916617309590755253257096538296376697855168258041825253501422060460983664835089890005954477824920269733196965344712976476998918749501420339197011065208626595167600524825265106498914971469499754290184034947415147022664477766898200762541539613495209506947317205231327889497788227575525632870898401344694954534202509982599170021705606142697000160832187750185376015550635368306315815300964853098146341513769440403179175373126776121015926642540211225783620261787698878325520842205902801982327808019018284533494393337324313216680462516449988183657337634100702313199532576755376955825406089185596392203022176050930351563883804387556914689376485458498342161993163882024480622383205558798245138281802814470483054960981477674997308320667884853122236039747045012789725208534206487703700484489436755524087499573211264733368540778080759289806612484725453857401824335206843784508509888362631371312140786679864705593089830839084937012946568171805748354261289878850065618976083885874715939819753377716753357610511013731550327106056399210559877689015698276313233107551181808909003227449285157282000735519677936306325393882634202208756250197493268397092330606512660860525232435183998642504150549023739118917820423147201876906361541873748064948880969773494566699554421559392701128614133188035736124562162724198252786460792614105981378841615902548401903191668933343543291296099297761492925419745394470981348527767835259661380582084658558547412396284276274427482991198592502420768001 500405045884899242638387669776245018607305005931344970518283645336831547332810980730453678043463346080549250564606411772521420085235542175363906738154536221728961272417532081480016460787328496271748601387856895813636334948759756076711821810997589795870445025625314430904654908325091523896454263271705845718772974707789501298801670817735264930063104497628021221124496821129464699076760331465461197613367077138992325390438386262460086570227636511549179452186822340586069121233003520771575648374697150120990023446226674932708646868979338632985543318551826900791394250156898942926281040097727780076065496461361712533599974541026545107783003305975738380106842675901940509856780459357120631244757528172221338524116621521358659705548981330908596060611322486723382120104871304512832092202175886006759644956164000165616036514915951199348674525165814146009520935905760765702897275385661956668357241966419568599336726872497097144532078407870509609668434742974690909344989997253641739285032843688490180981367692573370817096468862206385052689666585205362116494694297945670113405255286989935624386236359382360220001767910577401327733948742537868534526550109049968959831107087544566506156005112212232614947711825906067518932021323431052277808719619788415915653432687645932576639698501811987963105336258849854080955680000763880676890851084485633219444284271331845564897898716256887812398406491561300952787941666579130370909748527339545845598304928867485418557987560219405948478313788597537856447327151769688246471329517488528285411623962298731372926085603842693306747453076020853713010338399028522659897494186778363339505552876626830451770811554610161741488624031183235982093642880590495585596015352381808482522868872807720487044714031815894970462898733120937296340488139375824029566177834389077780863720675229519686777208152175128058021406373650756553425080406496933063195352443792953429838147994336039586629889465846325850383189484397749919045834300545756614818983653735632395948081866914393238310239092595184651105568003 809672372383717676469035870509897059249728423127942456183925335942016111151635001613233989724061266532563937898346157366995135460944926174628344063471671573742551862733112849413867299873348217722241014542540659525346533125147296768969827909184095504269695718660575336626251391070685445087890170528602739703474290107629156235184612276506232200323725741267415957490934586735111977072360756514763486128073901053287230074650076852207842886835750172596692622045554568625683033602088523241726893677632952823033629142704513549950280099806437127907247073468444210382149503413995481222657737952896038117890749962783772994583639376116435113737481130896008113303808020614916986855699208858540970441768593380847933691717146346623766204463952800408350350795357434138529142769349071411032854743715499501969151903481205396943926012704178774874307396064215490704475470108270748302067297091268099365357402798607318784712742423132465450847893708835362707814776256744131312524165370380417860300959486228701406764987954361069695421989704412287854671994393224380401028188691282994426621935749506385612569893697016460922314967443154156704689774148627054130918753131226019890182670971348954063070694488697691113289873819069949543412643706636611076053857901591230386136487648627410251637006822479872816227572298596899093745405209298087164594551568975069974968371770905056829631267257034968571688213104046026406645343490914337214694257037227908476969617069654165283263580650050245033415326735165709662195681413059567096536948493572414160127563782052109089679443214353707038297780182077252923570216088044220936210727294329545148414556104076115609052812290129839677794949425065870184302399130787988853993107682988321143383394105242904485687218182364918709581816553544084498217394500917697777631126715358851275430420229651079079478336766308316093757530935813480751677866867289547169176731285408855978240051186004972930173180761945623611876114904143144390027182828313591874480364235820290954495494263198669512737722083793777153526336004 1310077418268616919107423540286142077857033429059287426702208981278847658484445982343687667767524612613113188462952569139516555546180468349992250801626207795471513135150644930893883760660676713993989615930397555338982868073907052845681649720181685300140140744285889767530906299395776968984344433800308585422247264815418657533986283094241497130386830238895437178615431407864576676149121087980224683741440978192279555465088463114667929457063386684145872074232376909211752154835092044013302542052330102944023652588931188482658926968785775760892790392020271111173543753570894424148938778050623818193956246424145485528183613917142980221520484436871746493410650696516857496712479668215661601686526121553069272215833767867982425910012934131316946411406679920861911262874220375923864946945891385508728796859645205562559962527620129974222981921230029636713996406014031514004964572476930056033714644765026887384049469295629562595379972116705872317483210999718822221869155367634059599585992329917191587746355646934440512518458566618672907361660978429742517522882989228664540027191036496321236956130056398821142316735353731558032423722891164922665445303240275988850013778058893520569226699600909923728237585644976017062344665030067663353862577521379646301789920336273342828276705324291860779332908557446753174701085210061967841485402653460703194412656042236902394529165973291856384086619595607327359433285157493467585604005564567454322567921998521650701821568210269650981893640523763247518643008564829255343008278011060942445539187744350840462605528818196400345045233258098106636580554487072743596108221481107908487920108980702946060823623844740001419283573456249106166396042011378484439589123035370129625906262978050624972731932214180813680044715286665021794557882640293521807197304549747929056294140904880598766255544918483444151778937309464237305102947273786480232372083729201809408078199180341012516803070227791949462259304388540894309073017128859348489299347889555923350443576130113062751047961176388961804631904007 2119749790652334595576459410796039137106761852187229882886134317220863769636080983956921657491585879145677126361298726506511691007125394524620594865097879369214064997883757780307751060534024931716230630472938214864329401199054349614651477629365780804409836462946465104157157690466462414072234604328911325125721554923047813769170895370747729330710555980162853136106365994599688653221481844494988169869514879245566785539738539966875772343899136856742564696277931477837435188437180567255029435729963055767057281731635702032609207068592212888800037465488715321555693256984889905371596516003519856311846996386929258522767253293259415335257965567767754606714458717131774483568178877074202572128294714933917205907550914214606192114476886931725296762202037355000440405643569447334897801689606885010697948763126410959503888540324308749097289317294245127418471876122302262307031869568198155399072047563634206168762211718762028046227865825541235025297987256462953534393320738014477459886951816145892994511343601295510207940448271030960762033655371654122918551071680511658966649126786002706849526023753415282064631702796885714737113497039791976796364056371502008740196449030242474632297394089607614841527459464045966605757308736704274429916435422970876687926407984900753079913712146771733595560480856043652268446490419360055006079954222435773169381027813141959224160433230326824955774832699653353766078628648407804800298262601795362799537539068175815985085148860319896015308967258928957180838689977888822439545226504633356605666751526402949552284972032550107383343013440175359560150770575116964532318948775437453636334665084779061669876436134869841097078522881314976350698441142166473293582230718358450769289657083293529458419150396545732389626531840209106292775277141211219584828431265106780331724561134531677845733881684791760245536468245277718056780814141076027401548815014610665386318250366345985446976250989737573074135419292684038699100199957172940363779712125376214304939070393311732263785683260182738958158240011 3429827208920951514683882951082181214963795281246517309588343298499711428120526966300609325259110491758790314824251295646028246553305862874612845666724087164685578133034402711201634821194701645710220246403335770203312269272961402460333127349547466104549977207232354871688063989862239383056579038129219910547968819738466471303157178464989226461097386219058290314721797402464265329370602932475212853610955857437846341004827003081543701800962523540888436770510308387049187343272272611268331977782293158711080934320566890515268134037377988649692827857508986432729237010555784329520535294054143674505803242811074744050950867210402395556778450004639501100125109413648631980280658545289864173814820836486986478123384682082588618024489821063042243173608717275862351668517789823258762748635498270519426745622771616522063851067944438723320271238524274764132468282136333776311996442045128211432786692328661093552811681014391590641607837942247107342781198256181775756262476105648537059472944146063084582257699248229950720458906837649633669395316350083865436073954669740323506676317822499028086482153809814103206948438150617272769537219930956899461809359611777997590210227089135995201524093690517538569765045109021983668101973766771937783779012944350522989716328321174095908190417471063594374893389413490405443147575629422022847565356875896476363793683855378861618689599203618681339861452295260681125511913805901272385902268166362817122105461066697466686906717070589546997202607782692204699481698542718077782553504515694299051205939270753790014890500850746507728388246698273466196731325062189708128427170256545362124254774065482007730700059979609842516362096337564082517094483153544957733171353753728580395195920061344154431151082610726546069671247126874128087333159781504741392025735814854709388018702039412276611989426603275204397315405554741955361883761414862507633920898743812474794396449546686997963779321217529522536394723681224933008173217086032288853079060014932137655382646523424795014833644436571700762790144018 5549576999573286110260342361878220352070557133433747192474477615720575197756607950257530982750696370904467441185550022152539937560431257399233440531821966533899643130918160491509385881728726577426450876876273985067641670472015752074984604978913246908959813670178819975845221680328701797128813642458131235673690374661514285072328073835736955791807942199221143450828163397063953982592084776970201023480470736683413126544565543048419474144861660397631001466788239864886622531709453178523361413512256214478138216052202592547877341105970201538492865322997701754284930267540674234892131810057663530817650239198004002573718120503661810892036415572407255706839568130780406463848837422364066745943115551420903684030935596297194810138966707994767539935810754630862792074161359270593660550325105155530124694385898027481567739608268747472417560555818519891550940158258636038619028311613326366831858739892295299721573892733153618687835703767788342368079185512644729290655796843663014519359895962208977576769042849525460928399355108680594431428971721737988354625026350251982473325444608501734936008177563229385271580140947502987506650716970748876258173415983280006330406676119378469833821487780125153411292504573067950273859282503476212213695448367321399677642736306074848988104129617835327970453870269534057711594066048782077853645311098332249533174711668520820842850032433945506295636284994914034891590542454309077186200530768158179921643000134873282671991865930909443012511575041621161880320388520606900222098731020327655656872690797156739567175472883296615111731260138448825756882095637306672660746119031982815760589439150261069400576496114479683613440619218879058867792924295711431026753584472087031164485577144637683889570233007272278459297778967083234380108436922715960976854167079961489719743263173943954457723308288066964642851873800019673418664575555938535035469713758423140180714699913032983410755572207267095610530142973908971707273417043205229216858772140308351960321716916736527278619327696754439720948384029 8979404208494237624944225312960401567034352414680264502062820914220286625877134916558140308009806862663257756009801317798568184113737120273846286198546053698585221263952563202711020702923428223136671123279609755270953939744977154535317732328460713013509790877411174847533285670190941180185392680587351146221659194399980756375485252300726182252905328418279433765549960799528219311962687709445413877091426594121259467549392546129963175945824183938519438237298548251935809874981725789791693391294549373189219150372769483063145475143348190188185693180506688187014167278096458564412667104111807205323453482009078746624668987714064206448814865577046756806964677544429038444129495967653930919757936387907890162154320278379783428163456529057809783109419471906725143742679149093852423298960603426049551440008669644003631590676213186195737831794342794655683408440394969814931024753658454578264645432220956393274385573747545209329443541710035449710860383768826505046918272949311551578832840108272062159026742097755411648858261946330228100824288071821853790698981019992305980001762431000763022490331373043488478528579098120260276187936901705775719982775595058003920616903208514465035345581470642691981057549682089933941961256270248149997474461311671922667359064627248944896294547088898922345347259683024463154741641678204100701210667974228725896968395523899682461539631637564187635497737290174716017102456260210349572102798934520997043748461201570749358898583001498990009714182824313366579802087063324978004652235536021954708078630067910529582065973734043122840119506836722291953613420699496380789173289288528177884844213215743077131276556094089526129802715556443141384887407449256388759924938225815611559681497205981838320721315617998824528969026093957362467441596704220702368879902894816199107761965213356231069712734891342169040167279354761628780548336970801042669390612502235614975111149459719981374534893424796618146924866655133904715446634129237518069937832155240489615704363440161322293452972133326140483738528047 14528981208067523735204567674838621919104909548114011694537298529940861823633742866815671290760503233567725197195351339951108121674168377673079726730368020232484864394870723694220406584652154800563122000155883740338595610216992906610302337307373959922469604547589994823378507350519642977314206323045482381895349569061495041447813326136463138044713270617500577216378124196592173294554772486415614900571897330804672594093958089178382650090685844336150439704086788116822432406691178968315054804806805587667357366424972075611022816249318391726678558503504389941299097545637132799304798914169470736141103721207082749198387108217726017340851281149454012513804245675209444907978333390017997665701051939328793846185255874676978238302423237052577323045230226537587935816840508364446083849285708581579676134394567671485199330284481933668155392350161314547234348598653605853550053065271780945096504172113251692995959466480698828017279245477823792078939569281471234337574069792974566098192736070481039735795784947280872577257617055010822532253259793559842145324007370244288453327207039502497958498508936272873750108720045623247782838653872454651978156191578338010251023579327892934869167069250767845392350054255157884215820538773724362211169909678993322345001800933323793884398676706734250315801129952558520866335707726986178554855979072560975430143107192420503304389664071509693931134022285088750908692998714519426758303329702679176965391461336444032030890448932408433022225757865934528460122475583931878226750966556349610364951320865067269149241446617339737951850766975171117710495516336803053449919408320510993645433652366004146531853052208569209743243334775322200252680331744967819786678522697902642724167074350619522210291548625271102988266805061040596847550033626936663345734069974777688827505228387300185527436043179409133683019153154781302199212912526739577704860326260658755155825849372752964785290465632063713757455009629042876422720051172442747286796604295548841576026080356897849572072299830080580204686912076 23508385416561761360148792987799023486139261962794276196600119444161148449510877783373811598770310096230982953205152657749676305787905497946926012928914073931070085658823286896931427287575583023699793123435493495609549549961970061145620069635834672935979395425001169670911793020710584157499599003632833528117008763461475797823298578437189320297618599035780010981928084996120392606517460195861028777663323924925932061643350635308345826036510028274669877941385336368758242281672904758106748196101354960856576516797741558674168291392666581914864251684011078128313264823733591363717466018281277941464557203216161495823056095931790223789666146726500769320768923219638483352107829357671928585458988327236684008339576153056761666465879766110387106154649698444313079559519657458298507148246312007629227574403237315488830920960695119863893224144504109202917757039048575668481077818930235523361149604334208086270345040228244037346722787187859241789799953050297739384492342742286117677025576178753101894822527045036284226115879001341050633077547865381695936022988390236594433328969470503260980988840309316362228637299143743508059026590774160427698138967173396014171640482536407399904512650721410537373407603937247818157781795043972512208644370990665245012360865560572738780693223795633172661148389635582984021077349405190279256066647046789701327111502716320185765929295709073881566631759575263466925795454974729776330406128637200174009139922538014781389789031933907423031939940690247895039924562647256856231403202092371565073029950932977798731307420351382860791970273811893409664108937036299434239092697609039171530277865581747223663129608302658735873046050331765341637567739194224208546603460923718254283848571556601360531012864243269927517235831154997959314991630331157365714613972869593887935267193600656416597148778070751302723186432509542930979761249497540620374250938762894370130936998832472946159825359056860331904379876284176781138166685301680265356734436450789331191730443797059171865525271963406720688425440123 38037366624629285095353360662637645405244171510908287891137417974102010273144620650189482889530813329798708150400503997700784427462073875620005739659282094163554950053694010591151833872227737824262915123591377235948145160178962967755922406943208632858448999972591164494290300371230227134813805326678315910012358332522970839271111904573652458342331869653280588198306209192712565901072232682276643678235221255730604655737308724486728476127195872610820317645472124485580674688364083726421803000908160548523933883222713634285191107641984973641542810187515468069612362369370724163022264932450748677605660924423244245021443204149516241130517427875954781834573168894847928260086162747689926251160040266565477854524832027733739904768303003162964429199879924981901015376360165822744590997532020589208903708797804986974030251245177053532048616494665423750152105637702181522031130884202016468457653776447459779266304506708942865364002032665683033868739522331768973722066412535260683775218312249234141630618311992317156803373496056351873165330807658941538081346995760480882886656176510005758939487349245589235978746019189366755841865244646615079676295158751734024422664061864300334773679719972178382765757658192405702373602333817696874419814280669658567357362666493896532665091900502367422976949519588141504887413057132176457810922626119350676757254609908740689070318959780583575497765781860352217834488453689249203088709458339879350974531383874458813420679480866315856054165698556182423500047038231188734458154168648721175437981271798045067880548866968722598743821040787064527374604453373102487689012105929550165175711517947751370194982660511227945616289385107087541890248070939192028333281983621620897008015645907220882741304412868541030505502636216038556162541663958094029060348042844371576762772421987956602124584821250160436406205585664324233178974162024280198079111265023553125286762848205225910945115824688924045661834885913219657560886736474123012643531040746338172767756524153957021437597571793487300893112352199 61545752041191046455502153650436668891383433473702564087737537418263158722655498433563294488301123426029691103605656655450460733249979373566931752588196168094625035712517297488083261159803320847962708247026870731557694710140933028901542476579043305794428395397592334165202093391940811292313404330311149438129367095984446637094410483010841778639950468689060599180234294188832958507589692878137672455898545180656536717380659359795074302163705900885490195586857460854338916970036988484528551197009515509380510400020455192959359399034651555556407061871526546197925627193104315526739730950732026619070218127639405740844499300081306464920183574602455551155342092114486411612193992105361854836619028593802161862864408180790501571234182769273351535354529623426214094935879823281043098145778332596838131283201042302462861172205872173395941840639169532953069862676750757190512208703132251991818803380781667865536649546937186902710724819853542275658539475382066713106558755277546801452243888427987243525440839037353441029489375057692923798408355524323234017369984150717477319985145980509019920476189554905598207383318333110263900891835420775507374434125925130038594304544400707734678192370693588920139165262129653520531384128861669386628458651660323812369723532054469271445785124298000595638097909223724488908490406537366737066989273166140378084366112625060874836248255489657457064397541435615684760283908663978979419115586977079524983671306412473594810468512800223279086105639246430318539971600878445590689557370741092740511011222731022866611856287320105459535791314598957937038713390409401921928104803538589336705989383529498593858112268813886681489335435438852883527815810133416236879885444545339151291864217463822243272317277111810958022738467371036515477533294289251394774962015713965464698039615588613018721733599320911739129392018173867164158735411521820818453362203786447495417699847037698857104941183745784377566214762197396438699053421775803278000265477197127503959486967951016193303122843756894021581537792322 99583118665820331550855514313074314296627604984610851978874955392365168995800119083752777377831936755828399254006160653151245160712053249186937492247478262258179985766211308079235095032031058672225623370618247967505839870319895996657464883522251938652877395370183498659492393763171038427127209656989465348141725428507417476365522387584494236982282338342341187378540503381545524408661925560414316134133766436387141373117968084281802778290901773496310513232329585339919591658401072210950354197917676057904444283243168827244550506676636529197949872059042014267537989562475039689761995883182775296675879052062649985865942504230822706050701002478410332989915261009334339872280154853051781087779068860367639717389240208524241476002485772436315964554409548408115110312239989103787689143310353186047034991998847289436891423451049226927990457133834956703221968314452938712543339587334268460276457157229127644802954053646129768074726852519225309527278997713835686828625167812807485227462200677221385156059151029670597832862871114044796963739163183264772098716979911198360206641322490514778859963538800494834186129337522477019742757080067390587050729284676864063016968606265008069451872090665767302904922920322059222904986462679366261048272932329982379727086198548365804110877024800368018615047428811865993795903463669543194877911899285491054841620722533801563906567215270241032562163323295967902594772362353228182507825045316958875958202690286932408231147993666539135140271337802612742040018639109634325147711539389813915948992494529067934492405154288828058279612355386022464413317843782504409617116909468139501881700901477249964053094929325114627105624820545940425418063881072608265213167428166960048299879863371043126013621689980351988528241103587075071640074958247345423835310058558337041460812037576569620846318420571072175535597603838191397337709573546101016532473468810000620704462695242924768050057008434708423228049648110616096259940158249926290643796517943465676727243492104973214740720415550381322474650144521 161128870707011378006357667963510983188011038458313416066612492810628327718455617517316071866133060181858090357611817308601705893962032622753869244835674430352805021478728605567318356191834379520188331617645118699063534580460829025559007360101295244447305790767775832824694487155111849719440613987300614786271092524491864113459932870595336015622232807031401786558774797570378482916251618438551988590032311617043678090498627444076877080454607674381800708819187046194258508628438060695478905394927191567284954683263624020203909905711288084754356933930568560465463616755579355216501726833914801915746097179702055726710441804312129170970884577080865884145257353123820751484474146958413635924398097454169801580253648389314743047236668541709667499908939171834329205248119812384830787289088685782885166275199889591899752595656921400323932297773004489656291830991203695903055548290466520452095260538010795510339603600583316670785451672372767585185818473095902399935183923090354286679706089105208628681499990067024038862352246171737720762147518707588006116086964061915837526626468471023798780439728355400432393512655855587283643648915488166094425163410601994101611273150665715804130064461359356223044088182451712743436370591541035647676731583990306192096809730602835075556662149098368614253145338035590482704393870206909931944901172451631432925986835158862438742815470759898489626560864731583587355056271017207161926940632294038400941873996699406003041616506466762414226376977049043060579990239988079915837268910130906656460003717260090801104261441608933517815403669984980401452031234191906331545221713006728838587690285006748557911207198139001308594960255984793308945879691206024502093052872712299199591744080834865369285938967092162946550979570958111587117608252536596818610272074272302506158851653165182639568052019891983914664989622012058561496444985067921834985835672596448116122162542280623625154998192180492800794264410308012534958993580025729568644061995140593180686730460055989408043843259307275344056187936843 260711989372831709557213182276585297484638643442924268045487448202993496714255736601068849243964996937686489611617977961752951054674085871940806737083152692610985007244939913646553451223865438192413954988263366666569374450780725022216472243623547183100183186137959331484186880918282888146567823644290080134412817952999281589825455258179830252604515145373742973937315300951924007324913543998966304724166078053430819463616595528358679858745509447878111222051516631534178100286839132906429259592844867625189398966506792847448460412387924613952306805989610574733001606318054394906263722717097577212421976231764705712576384308542951877021585579559276217135172614133155091356754301811465417012177166314537441297642888597838984523239154314145983464463348720242444315560359801488618476432399038968932201267198736881336644019107970627251922754906839446359513799305656634615598887877800788912371717695239923155142557654229446438860178524891992894713097470809738086763809090903161771907168289782430013837559141096694636695215117285782517725886681890852778214803943973114197733267790961538577640403267155895266579641993378064303386405995555556681475892695278858164628241756930723873581936552025123525949011102773771966341357054220401908725004516320288571823895929151200879667539173898736632868192766847456476500297333876453126822813071737122487767607557692664002649382686030139522188724188027551489949828633370435344434765677610997276900076686986338411272764500133301549366648314851655802620008879097714240984980449520720572408996211789158735596666595897761576095016025371002865865349077974410741162338622474868340469391186483998521964302127464115935700585076530733734363943572278632767306220300879259247891623944205908495299560657072514935079220674545186658757683210783942242445582132830639547619663690741752260414370440463056090200587225850249958834154558614022851518309141406448736826625237523548393205055200615201224022314058418628631218933738275655859287858513084058857413973952160962622784563674857656666530838081364 421840860079843087563570850240096280672649681901237684112099941013621824432711354118384921110098057119544579969229795270354656948636118494694675981918827122963790028723668519213871807415699817712602286605908485365632909031241554047775479603724842427547488976905735164308881368073394737866008437631590694920683910477491145703285388128775166268226747952405144760496090098522302490241165162437518293314198389670474497554115222972435556939200117122259911930870703677728436608915277193601908164987772059192474353649770416867652370318099212698706663739920179135198465223073633750122765449551012379128168073411466761439286826112855081047992470156640142101280429967256975842841228448769879052936575263768707242877896536987153727570475822855855650964372287892076773520808479613873449263721487724751817367542398626473236396614764892027575855052679843936015805630296860330518654436168267309364466978233250718665482161254812763109645630197264760479898915943905640486698993013993516058586874378887638642519059131163718675557567363457520238488034200598440784330890908035030035259894259432562376420842995511295698973154649233651587030054911043722775901056105880852266239514907596439677712001013384479748993099285225484709777727645761437556401736100310594763920705659754035955224201322997105247121338104883046959204691204083363058767714244188753920693594392851526441392198156790038011815285052759135077304884904387642506361706309905035677841950683685744414314381006600063963593025291900698863199999119085794156822249359651627228868999929049249536700928037506695093910419695355983267317380312166317072707560335481597179057081471490747079875509325603117244295545332515527043309823263484657269399273173591558447483368025040773864585499624164677881630200245503298245875291463320539061055854207102942053778515343906934899982422460355040004865576847862308520330599543681944686504144814002896852948787779804172018360053392795694024816578468726641166177927318301385427931920508224652038100704412216952030828406934164932010587026018207 682552849452674797120784032516681578157288325344161952157587389216615321146967090719453770354063054057231069580847773232107608003310204366635482719001979815574775035968608432860425258639565255905016241594171852032202283482022279069991951847348389610647672163043694495793068248991677626012576261275880775055096728430490427293110843386954996520831263097778887734433405399474226497566078706436484598038364467723905317017731818500794236797945626570138023152922220309262614709202116326508337424580616926817663752616277209715100830730487137312658970545909789709931466829391688145029029172268109956340590049643231467151863210421398032925014055736199418318415602581390130934197982750581344469948752430083244684175539425584992712093714977170001634428835636612319217836368839415362067740153886763720749568809597363354573040633872862654827777807586683382375319429602516965134253324046068098276838695928490641820624718909042209548505808722156753374612013414715378573462802104896677830494042668670068656356618272260413312252782480743302756213920882489293562545694852008144232993162050394100954061246262667190965552796642611715890416460906599279457376948801159710430867756664527163551293937565409603274942110387999256676119084699981839465126740616630883335744601588905236834891740496895841879989530871730503435704988537959816185590527315925876408461201950544190444041580842820177534004009240786686567254713537758077850796471987516032954742027370672082825587145506733365512959673606752354665820007998183508397807229809172347801277996140838408272297594633404456670005435720726986133182729390140727813869898957956465519526472657974745601839811453067233179996130409046260777673766835763290036705493474470817695374991969246682359885060281237192816709420920048484904632974674104481303501436339933581601398179034648687160396792900818096095066164073712558479164754102295967538022453955409345589775413017327720411565108593410895248838892527145269797396861056577041287219779021308710895514678364377914653612970609022588677117864099571 1104393709532517884684354882756777858829938007245399636269687330230237145579678444837838691464161111176775649550077568502462264951946322861330158700920806938538565064692276952074297066055265073617618528200080337397835192513263833117767431451073232038195161139949429660101949617065072363878584698907471469975780638907981572996396231515730162789058011050184032494929495497996528987807243868874002891352562857394379814571847041473229793737145743692397935083792923986991051318117393520110245589568388986010138106266047626582753201048586350011365634285829968845129932052465321895151794621819122335468758123054698228591150036534253113973006525892839560419696032548647106777039211199351223522885327693851951927053435962572146439664190800025857285393207924504395991357177319029235517003875374488472566936351995989827809437248637754682403632860266527318391125059899377295652907760214335407641305674161741360486106880163854972658151438919421513854510929358621019060161795118890193889080917047557707298875677403424131987810349844200822994701955083087734346876585760043174268253056309826663330482089258178486664525951291845367477446515817643002233278004907040562697107271572123603229005938578794083023935209673224741385896812345743277021528476716941478099665307248659272790115941819892947127110868976613550394909679742043179244358241560114630329154796343395716885433778999610215545819294293545821644559598442145720357158178297421068632583978054357827239901526513333429476552698898653053529020007117269302554629479168823975030146996069887657808998522670911151763915855416082969400500109702307044886577459293438062698583554129465492681715320778670350424291675741561787820983590099247947306104766648062376142858359994287456224470559905401870698339621165551783150508266137425020364557290547036523655176694378555622060379215361173136099931740921574866999495353645977912224526598769412242442724200797131892429925161986206589273655470995871910963574788374878426715151699529533362933615382776594866684441377543187520687704890117778 1786946558985192681805138915273459436987226332589561588427274719446852466726645535557292461818224165234006719130925341734569872955256527227965641419922786754113340100660885384934722324694830329522634769794252189430037475995286112187759383298421621648842833302993124155895017866056749989891160960183352245030877367338472000289507074902685159309889274147962920229362900897470755485373322575310487489390927325118285131589578859974024030535091370262535958236715144296253666027319509846618583014149005912827801858882324836297854031779073487324024604831739758555061398881857010040180823794087232291809348172697929695743013246955651146898020581629038978738111635130037237711237193949932567992834080123935196611228975388157139151757905777195858919822043561116715209193546158444597584744029261252193316505161593353182382477882510617337231410667853210700766444489501894260787161084260403505918144370090232002306731599072897182206657247641578267229122942773336397633624597223786871719574959716227775955232295675684545300063132324944125750915875965577027909422280612051318501246218360220764284543335520845677630078747934457083367862976724242281690654953708200273127975028236650766780299876144203686298877320061223998062015897045725116486655217333572361435409908837564509625007682316788789007100399848344053830614668280002995429948768876040506737615998293939907329475359842430393079823303534332508211814311979903798207954650284937101587326005425029910065488672020066794989512372505405408194840015115452810952436708977996322831424992210726066081296117304315608433921291136809955533682839092447772700447358251394528218110026787440238283555132231737583604287806150608048598657356935011237342810260122533193838233351963534138584355620186639063515049042085600268055141240811529501668058726886970105256574873413204309220776008261991232194997904995287425478660107748273879762549052724821588032499613814459612841490270579617484522494363523017180760971649431455468002371478550842073829130061140972781338054348152210109364822754217349 2891340268517710566489493798030237295817164339834961224696962049677089612306323980395131153282385276410782368681002910237032137907202850089295800120843593692651905165353162337009019390750095403140253297994332526827872668508549945305526814749494853687037994442942553815996967483121822353769745659090823715006658006246453573285903306418415322098947285198146952724292396395467284473180566444184490380743490182512664946161425901447253824272237113954933893320508068283244717345436903366728828603717394898837939965148372462880607232827659837335390239117569727400191330934322331935332618415906354627278106295752627924334163283489904260871027107521878539157807667678684344488276405149283791515719407817787148538282411350729285591422096577221716205215251485621111200550723477473833101747904635740665883441513589343010191915131148372019635043528119738019157569549401271556440068844474738913559450044251973362792838479236752154864808686560999781083633872131957416693786392342677065608655876763785483254107973079108677287873482169144948745617831048664762256298866372094492769499274670047427615025424779024164294604699226302450845309492541885283923932958615240835825082299808774370009305814722997769322812529734448739447912709391468393508183694050513839535075216086223782415123624136681736134211268824957604225524348022046174674307010436155137066770794637335624214909138842040608625642597827878329856373910422049518565112828582358170219909983479387737305390198533400224466065071404058461723860022232722113507066188146820297861571988280613723890294639975226760197837146552892924934182948794754817587024817544832590916693580916905730965270453010407934028579481892169836419640947034259184648915026770595569981091711957821594808826180092040934213388663251152051205649506948954522032616017434006628911751567791759931281155223623164368294929645916862292478155461394251791987075651494233830475223814611591505271415432565824073796149834518889091724546437806333894717523178080375436762745443917567648022495725695397630052527644335127 4678286827502903248294632713303696732804390672424522813124236769123942079032969515952423615100609441644789087811928251971602010862459377317261441540766380446765245266014047721943741715444925732662888067788584716257910144503836057493286198047916475335880827745935677971891985349178572343660906619274175960037535373584925573575410381321100481408836559346109872953655297292938039958553889019494977870134417507630950077751004761421277854807328484217469851557223212579498383372756413213347411617866400811665741824030697299178461264606733324659414843949309485955252729816179341975513442209993586919087454468450557620077176530445555407769047689150917517895919302808721582199513599099216359508553487941722345149511386738886424743180002354417575125037295046737826409744269635918430686491933896992859199946675182696192574393013658989356866454195972948719924014038903165817227229928735142419477594414342205365099570078309649337071465934202578048312756814905293814327410989566463937328230836480013259209340268754793222587936614494089074496533707014241790165721146984145811270745493030268191899568760299869841924683447160759534213172469266127565614587912323441108953057328045425136789605690867201455621689849795672737509928606437193509994838911384086200970485124923788292040131306453470525141311668673301658056139016302049170104255779312195643804386792931275531544384498684471001705465901362210838068188222401953316773067478867295271807235988904417647370878870553467019455577443909463869918700037348174924459502897124816620692996980491339789971590757279542368631758437689702880467865787887202590287472175796227119134803607704345969248825585242145517632867288042777885018298303969270421991725286893128763819325063921355733393181800278679997728437705336752319260790747760484023700674744320976734168326441204964240501931231885155600489927550912149717956815569142525671749624704219055418507723428426051118112905703145441558318644198041906272485518087237789362719894656631217510591875505058540429360550073847607739417350398552476 7569627096020613814784126511333934028621555012259484037821198818801031691339293496347554768382994718055571456492931162208634148769662227406557241661609974139417150431367210058952761106195021135803141365782917243085782813012386002798813012797411329022918822188878231787888952832300394697430652278364999675044193379831379146861313687739515803507783844544256825677947693688405324431734455463679468250877907690143615023912430662868531679079565598172403744877731280862743100718193316580076240221583795710503681789179069762059068497434393161994805083066879213355444060750501673910846060625899941546365560764203185544411339813935459668640074796672796057053726970487405926687790004248500151024272895759509493687793798089615710334602098931639291330252546532358937610294993113392263788239838532733525083388188772039202766308144807361376501497724092686739081583588304437373667298773209881333037044458594178727892408557546401491936274620763577829396390687037251231021197381909141002936886713243798742463448241833901899875810096663234023242151538062906552422020013356240304040244767700315619514594185078894006219288146387061985058481961808012849538520870938681944778139627854199506798911505590199224944502379530121476957841315828661903503022605434600040505560341010012074455254930590152261275522937498259262281663364324095344778562789748350780871157587568611155759293637526511610331108499190089167924562132824002835338180307449653442027145972383805384676269069086867243921642515313522331642560059580897037966569085271636918554568968771953513861885397254769128829595584242595805402048736681957407874496993341059710051497188621251700214096038252553451661446769934947721437939251003529606640640313663724333800416775879177328202007980370720931941826368587904370466440254709438545733290761754983363080078008996724171783086455508319968784857196829012010434971030536777463736700355713289248982947243037642623384321135711265632114794032560795364210064525044123257437417834711592947354620948976108077383045799543005369469878042887603 12247913923523517063078759224637630761425945684684006850945435587924973770372263012299978383483604159700360544304859414180236159632121604723818683202376354586182395697381257780896502821639946868466029433571501959343692957516222060292099210845327804358799649934813909759780938181478967041091558897639175635081728753416304720436724069060616284916620403890366698631602990981343364390288344483174446121012325197774565101663435424289809533886894082389873596434954493442241484090949729793423651839450196522169423613209767061237529762041126486654219927016188699310696790566681015886359502835893528465453015232653743164488516344381015076409122485823713574949646273296127508887303603347716510532826383701231838837305184828502135077782101286056866455289841579096764020039262749310694474731772429726384283334863954735395340701158466350733367951920065635459005597627207603190894528701945023752514638872936384092991978635856050829007740554966155877709147501942545045348608371475604940265117549723812001672788510588695122463746711157323097738685245077148342587741160340386115310990260730583811414162945378763848143971593547821519271654431074140415153108783262123053731196955899624643588517196457400680566192229325794214467769922265855413497861516818686241476045465933800366495386237043622786416834606171560920337802380626144514882818569060546424675544380499886687303678136210982612036574400552300005992750355225956152111247786316948713834381961288223032047147939640334263377219959222986201561260096929071962426071982396453539247565949263293303833476154534311497461354021932298685869914524569159998161969169137286829186300796325597669462921623494698969294314057977725606456237554972800028632365600556853097619741839800533061595189780649400929670264073924656689727231002469922569433965506075960097248404450201688412285017687393475569274784747741161728391786599679303135486325059932344667490670671463693741497226838856707190433438230602701636695582612281912620157312491342810457946496454034648506743595873390613108887228441440079 19817541019544130877862885735971564790047500696943490888766634406726005461711556508647533151866598877755932000797790576388870308401783832130375924863986328725599546128748467839849263927834968004269170799354419202429475770528608063090912223642739133381718472123692141547669891013779361738522211176004175310125922133247683867298037756800132088424404248434623524309550684669748688822022799946853914371890232887918180125575866087158341212966459680562277341312685774304984584809143046373499892061033992232673105402388836823296598259475519648649025010083067912666140851317182689797205563461793470011818575996856928708899856158316474745049197282496509632003373243783533435575093607596216661557099279460741332525098982918117845412384200217696157785542388111455701630334255862702958262971610962459909366723052726774598107009303273712109869449644158322198087181215512040564561827475154905085551683331530562820884387193402452320944015175729733707105538188979796276369805753384745943202004262967610744136236752422597022339556807820557120980836783140054895009761173696626419351235028430899430928757130457657854363259739934883504330136392882153264691629654200804998509336583753824150387428702047599905510694608855915691425611238094517317000884122253286281981605806943812440950641167633775047692357543669820182619465744950239859661381358808897205546701968068497843062971773737494222367682899742389173917312488049958987449428093766602155861527933672028416723417008727201507298862474536508533203820156509969000392641067668090457802134918035246817695361551789080626290949606174894491271963261251117406036466162478346539237797984946849369677017661747252420955760827912673327894176805976329635273005914220577431420158615679710389797197761020121861612090442512561060193671257179361115167256267830943460328482459198412584068104142901795538059641944570173738826757630216080599223025415645633916473617914501336364881547974567972822548232263163497000905647137326035877594730326054403405301117403010756584126641672933618478357106484327682 32065454943067647940941644960609195551473446381627497739712069994650979232083819520947511535350203037456292545102649990569106468033905436854194608066362683311781941826129725620745766749474914872735200232925921161773168728044830123383011434488066937740518122058506051307450829195258328779613770073643350945207650886663988587734761825860748373341024652324990222941153675651092053212311144430028360492902558085692745227239301511448150746853353762952150937747640267747226068900092776166923543900484188754842529015598603884534128021516646135303244937099256611976837641883863705683565066297686998477271591229510671873388372502697489821458319768320223206953019517079660944462397210943933172089925663161973171362404167746619980490166301503753024240832229690552465650373518612013652737703383392186293650057916681509993447710461740062843237401564223957657092778842719643755456356177099928838066322204466946913876365829258503149951755730695889584814685690922341321718414124860350883467121812691422745809025263011292144803303518977880218719522028217203237597502334037012534662225289161483242342920075836421702507231333482705023601790823956293679844738437462928052240533539653448793975945898505000586076886838181709905893381160360372730498745639071972523457651272877612807446027404677397834109192149841381102957268125576384374544199927869443630222246348568384530366649909948476834404257300294689179910062843275915139560675880083550869695909894960251448770564948367535770676082433759494734765080253439040962818713050064543997049700867298540121528837706323392123752303628107193177141877785820277404198435331615633368424098781272447039139939285241951390250074885890398934350414360949129663905371514777430529039900455480243451392387541669522791282354516437217749920902259649283684601221773906903557576886909400100996353121830295271107334426692311335467218544229895383734709350475577978583964288585965030106378774813424680012981670493766198637601229749607948497752042817397213863247613857045405090870237546324231587244334925767761 51882995962611778818804530696580760341520947078570988628478704401376984693795376029595044687216801915212224545900440566957976776435689268984570532930349012037381487954878193460595030677309882877004371032280340364202644498573438186473923658130806071122236594182198192855120720209037690518135981249647526255333573019911672455032799582660880461765428900759613747250704360320840742034333944376882274864792790973610925352815167598606491959819813443514428279060326042052210653709235822540423435961518180987515634417987440707830726280992165783952269947182324524642978493201046395480770629759480468489090167226367600582288228661013964566507517050816732838956392760863194380037490818540149833647024942622714503887503150664737825902550501721449182026374617802008167280707774474716611000674994354646203016780969408284591554719765013774953106851208382279855179960058231684320018183652254833923618005535997509734760753022660955470895770906425623291920223879902137598088219878245096826669126075659033489945262015433889167142860326798437339700358811357258132607263507733638954013460317592382673271677206294079556870491073417588527931927216838446944536368091663733050749870123407272944363374600552600491587581447037625597318992398454890047499629761325258805439257079821425248396668572311172881801549693511201285576733870526624234205581286678340835768948316636882373429621683685971056771940200037078353827375331325874127010103973850153025557437828632279865493981957094737277974944908296003267968900409949009963211354117732634454851835785333786939224199258112472750043253234282087668413841047071394810234901494093979907661896766219296408816956946989203811205835713803072262244591166925459299178377428998007960460059071159953841189585302689644652894444958949778810114573516828644799768478041737847017905369368598513580421225973197066645394068636881509206045301860111464333932375891223612500437906500466366471260322787992652835529902756929695638506876886933984375346773143451617268548731260056161674996879219257850065601441410095443 83948450905679426759746175657189955892994393460198486368190774396027963925879195550542556222567004952668517091003090557527083244469594705838765140996711695349163429781007919081340797426784797749739571265206261525975813226618268309856935092618873008862754716240704244162571549404296019297749751323290877200541223906575661042767561408521628835106453553084603970191858035971932795246645088806910635357695349059303670580054469110054642706673167206466579216807966309799436722609328598707346979862002369742358163433586044592364854302508811919255514884281581136619816135084910101164335696057167466966361758455878272455676601163711454387965836819136956045909412277942855324499888029484083005736950605784687675249907318411357806392716803225202206267206847492560632931081293086730263738378377746832496666838886089794585002430226753837796344252772606237512272738900951328075474539829354762761684327740464456648637118851919458620847526637121512876734909570824478919806634003105447710136247888350456235754287278445181311946163845776317558419880839574461370204765841770651488675685606753865915614597282130501259377722406900293551533718040794740624381106529126661102990403663060721738339320499057601077664468285219335503212373558815262777998375400397231328896908352699038055842695976988570715910741843352582388534001996103008608749781214547784465991194665205266903796271593634447891176197500331767533737438174601789266570779853933703895253347723592531314264546905462273048651027342055498002733980663388050926030067167797178451901536652632327060753036964435864873795556862389280845555718832891672214433336825709613276085995547491743447956896232231155201455910599693471196595005527874588963083748943775438489499959526640197292581972844359167444176799475386996560035475776477928484369699815644750575482256277998614576774347803492337752728495329192844673263846090006848068641726366801591084402195086431396577639097601417332848511573250695894276108106636541932873098815960848831131796345117101566765867116765582081652845776335863204 135831446868291205578550706353770716234515340538769474996669478797404948619674571580137600909783806867880741636903531124485060020905283974823335673927060707386544917735886112541935828104094680626743942297486601890178457725191706496330858750749679079984991310422902437017692269613333709815885732572938403455874796926487333497800360991182509296871882453844217717442562396292773537280979033183792910222488140032914595932869636708661134666492980649981007495868292351851647376318564421247770415823520550729873797851573485300195580583500977703207784831463905661262794628285956496645106325816647935455451925682245873037964829824725418954473353869953688884865805038806049704537378848024232839383975548407402179137410469076095632295267304946651388293581465294568800211789067561446874739053372101478699683619855498079176557149991767612749451103980988517367452698959183012395492723481609596685302333276461966383397871874580414091743297543547136168655133450726616517894853881350544536805373964009489725699549293879070479089024172574754898120239650931719502812029349504290442689145924346248588886274488424580816248213480317882079465645257633187568917474620790394153740273786467994682702695099610201569252049732256961100531365957270152825498005161722490134336165432520463304239364549299743597712291536863783674110735866629632842955362501226125301760142981842149277225893277320418947948137700368845887564813505927663393580883827783856920810785552224811179758528862557010326625972250351501270702881073337060889241421285529812906753372437966113999977236222548337623838810096671368513969559879963067024668238319803593183747892313711039856773853179220359012661746313496543458839596694800048262262126372773446449960018597800151133771558147048812097071244434336775370150049293306573284138177857382597593387625646597128157195573776689404398122563966074353879309147950118312402574102258025203584840101586897763048899420389409985684041476007625589914614983523475917248445589104300448400345076377157728440863995984839931718447217745958647 219779897773970632338296882010960672127509733998967961364860253193432912545553767130680157132350811820549258727906621682012143265374878680662100814923772402735708347516894031623276625530879478376483513562692863416154270951809974806187793843368552088847746026663606681180263819017629729113635483896229280656416020833062994540567922399704138131978336006928821687634420432264706332527624121990703545580183489092218266512924105818715777373166147856447586712676258661651084098927893019955117395685522920472231961285159529892560434886009789622463299715745486797882610763370866597809442021873815402421813684138124145493641430988436873342439190689090644930775217316748905029037266877508315845120926154192089854387317787487453438687984108171853594560788312787129433142870360648177138477431749848311196350458741587873761559580218521450545795356753594754879725437860134340470967263310964359446986661016926423032034990726499872712590824180668649045390043021551095437701487884455992246941621852359945961453836572324251791035188018351072456540120490506180873016795191274941931364831531100114504500871770555082075625935887218175630999363298427928193298581149917055256730677449528716421042015598667802646916518017476296603743739516085415603496380562119721463233073785219501360082060526288314313623033380216366062644737862732641451705143715773909767751337647047416181022164870954866839124335200700613421302251680529452660151663681717560816064133275817342494023075768019283375276999592406999273436861736725111815271488453326991358654909090598441060730273186984202497634366959060649359525278712854739239101575145513206459833887861202783304730749411451514214117656913190014655434602222674637225345875316548884939459978124440348426353530991407979541248043909723771930185525069784501768507877673027348168869881924595742733969921580181742150851059295267198552572994040125160471215828624826794669242296673329159626538517990827318532553049258321484190723090160017850121544405065149279532141421494259295206731112750422013371292994081821851 355611344642261837916847588364731388362025074537737436361529731990837861165228338710817758042134618688430000364810152806497203286280162655485436488850833110122253265252780144165212453634974159003227455860179465306332728677001681302518652594118231168832737337086509118197956088630963438929521216469167684112290817759550328038368283390886647428850218460773039405076982828557479869808603155174496455802671629125132862445793742527376912039659128506428594208544551013502731475246457441202887811509043471202105759136733015192756015469510767325671084547209392459145405391656823094454548347690463337877265609820370018531606260813162292296912544559044333815641022355554954733574645725532548684504901702599492033524728256563549070983251413118504982854369778081698233354659428209624013216485121949789896034078597085952938116730210289063295246460734583272247178136819317352866459986792573956132288994293388389415432862601080286804334121724215785214045176472277711955596341765806536783746995816369435687153385866203322270124212190925827354660360141437900375828824540779232374053977455446363093387146258979662891874149367536057710465008556061115762216055770707449410470951235996711103744710698278004216168567749733257704275105473355568428994385723842211597569239217739964664321425075588057911335324917080149736755473729362274294660506217000035069511480628889565458248058148275285787072472901069459308867065186457116053732547509501417736874918828042153673781604630576293701902971842758500544139742810062172704512909738856804265408281528564555060707509409532540121473177055732017873494838592817806263769813465316799643581780174913823161504602590671873226779403226686558114274198917474685487608001689322331389419996722240499560125089138456791638319288344060547300335574363091075052646055530409945762257507571192870891165495356871146548973623261341552431882141990243472873789930882851998254082398260226922675437938380237304216594525265947074105338073683493767369989994169449727932486497871417023647595108735261945089740211827780498 575391242416232470255144470375692060489534808536705397726389985184270773710782105841497915174485430508979259092716774488509346551655041336147537303774605512857961612769674175788489079165853637379710969422872328722486999628811656108706446437486783257680483363750115799378219907648593168043156700365396964768706838592613322578936205790590785560828554467701861092711403260822186202336227277165200001382855118217351128958717848346092689412825276362876180921220809675153815574174350461158005207194566391674337720421892545085316450355520556948134384262954879257028016155027689692263990369564278740299079293958494164025247691801599165639351735248134978746416239672303859762611912603040864529625827856791581887912046044051002509671235521290358577415158090868827666497529788857801151693916871798101092384537338673826699676310428810513841041817488178027126903574679451693337427250103538315579275655310314812447467853327580159516924945904884434259435219493828807393297829650262529030688617668729381648607222438527574061159400209276899811200480631944081248845619732054174305418808986546477597888018029534744967500085254754233341464371854489043955514636920624504667201628685525427524786726296945806863085085767209554308018844989440984032490766285961933060802313002959466024403485601876372224958358297296515799400211592094915746365649932773944837262818275936981639270223019230152626196808101770072730169316866986568713884211191218978552939052103859496167804680398595577077179971435165499817576604546787284519784398192183795624063190619162996121437782596516742619107544014792667233020117305672545502871388610830006103415668036116606466235352002123387440897060139876572769708801140149322712953877005871216328879974846680847986478620129864771179567332253784319230521099432875576821153933203437293931127389495788613625135416937052888699824682556608750984455136030368633345005759507678792923324694933556082301976456371064622749147574524268558296061163843511617491534399234599007464627919365676318854326221485683958461033205909602349 931002587058494308171992058740423448851559883074442834087919717175108634876010444552315673216620049197409259457526927295006549837935203991632973792625438622980214878022454319953701532800827796382938425283051794028819728305813337411225099031605014426513220700836624917576175996279556606972677916834564648880997656352163650617304489181477432989678772928474900497788386089379666072144830432339696457185526747342483991404511590873469601452484404869304775129765360688656547049420807902360893018703609862876443479558625560278072465825031324273805468810164271716173421546684512786718538717254742078176344903778864182556853952614761457936264279807179312562057262027858814496186558328573413214130729559391073921436774300614551580654486934408863560269527868950525899852189217067425164910401993747890988418615935759779637793040639099577136288278222761299374081711498769046203887236896112271711564649603703201862900715928660446321259067629100219473480395966106519348894171416069065814435613485098817335760608304730896331283612400202727165860840773381981624674444272833406679472786441992840691275164288514407859374234622290291051929380410550159717730692691331954077672579921522138628531436995223811079253653516942812012293950462796552461485152009804144658371552220699430688724910677464430136293683214376665536155685321457190041026156149773979906774298904826547097518281167505438413269281002839532039036382053443684767616758700720396289813970931901649841586285029171870779082943277924000361716347356849457224297307931040599889471472147727551182145292006049282740580721070524685106514955898490351766641202076146805746997448211030429627739954592795260667676463366563130883983000057624008200561878695193547718299971568921347546603709268321562817886620597844866530856673795966651873799988733847239693384897066981484516300912293924035248798305817950303416337278020612106218795690390530791177407093193783004977414394751301926965742099790215632401399237527005384861524393404048735397114417237093342501921330220945903550773417737382847 1506393829474726778427136529116115509341094691611148231814309702359379408586792550393813588391105479706388518550243701783515896389590245327780511096400044135838176490792128495742190611966681433762649394705924122751306727934624993519931545469091797684193704064586740716954395903928149775015834617199961613649704494944776973196240694972068218550507327396176761590499789350201852274481057709504896458568381865559835120363229439219562290865309681232180956050986170363810362623595158363518898225898176254550781199980518105363388916180551881221939853073119150973201437701712202478982529086819020818475424197737358346582101644416360623575616015055314291308473501700162674258798470931614277743756557416182655809348820344665554090325722455699222137684685959819353566349719005925226316604318865545992080803153274433606337469351067910090977330095710939326500985286178220739541314486999650587290840304914018014310368569256240605838184013533984653732915615459935326742192001066331594845124231153828198984367830743258470392443012609479626977061321405326062873520064004887580984891595428539318289163182318049152826874319877044524393393752265039203673245329611956458744874208607047566153318163292169617942338739284152366320312795452237536493975918295766077719173865223658896713128396279340802361252041511673181335555896913552105787391806082547924744037117180763528736788504186735591039466089104609604769205698920430253481500969891939374842753023035761146009390965427767447856262914713089500179292951903636741744081706123224395513534662766890547303583074602566025359688265085317352339535073204162897269512590686976811850413116247147036093975306594918648108573523506439703653691801197773330913515755701064764047179946415602195533082329398186333997453952851629185761377773228842228694953921937284533624512286562770098141436329230976923948622988374559054400792414050980739563801449898209584100731788127339087279390851122366549714889674314484190697460401370517002353058792638647742861742336602769661356247551706629862011806623646985196 2437396416533221086599128587856538958192654574685591065902229419534488043462802994946129261607725528903797778007770629078522446227525449319413484889025482758818391368814582815695892144767509230145587819988975916780126456240438330931156644500696812110706924765423365634530571900207706381988512534034526262530702151296940623813545184153545651540186100324651662088288175439581518346625888141844592915753908612902319111767741030093031892317794086101485731180751531052466909673015966265879791244601786117427224679539143665641461382005583205495745321883283422689374859248396715265701067804073762896651769101516222529138955597031122081511880294862493603870530763728021488754985029260187690957887286975573729730785594645280105670980209390108085697954213828769879466201908222992651481514720859293883069221769210193385975262391707009668113618373933700625875066997676989785745201723895762859002404954517721216173269285184901052159443081163084873206396011426041846091086172482400660659559844638927016320128439047989366723726625009682354142922162178708044498194508277720987664364381870532158980438346606563560686248554499334815445323132675589363390976022303288412822546788528569704781849600287393429021592392801095178332606745915034088955461070305570222377545417444358327401853306956805232497545724726049846871711582235009295828417962232321904650811416085590075834306785354241029452735370107449136808242080973873938249117728592659771132566993967662795850977250456939318635345857991013500541009299260486198968379014054264995403006134914618098485728366608615308100268986155842037446050029102653249036153792763123617597410564458177465721715261187713908776249986873002834537674801255397339114077634396258311765479917984523543079686038666507896815340573449474052292234447024808880568753910671131773317897183629751582657737241524900959197421294192509357817129692071592845782597140288740375278138881321122092256805245873668476680631774104699823098859638897522387214583186042696478258856753839863003858168881927575765562580041384368043 3943790246007947865026265116972654467533749266296739297716539121893867452049595545339942849998831008610186296558014330862038342617115694647193995985425526894656567859606711311438082756734190663908237214694900039531433184175063324451088189969788609794900628830010106351484967804135856157004347151234487876180406646241717597009785879125613870090693427720828423678787964789783370621106945851349489374322290478462154232130970469312594183183103767333666687231737701416277272296611124629398689470499962371978005879519661771004850298186135086717685174956402573662576296950108917744683596890892783715127193299253580875721057241447482705087496309917807895179004265428184163013783500191801968701643844391756385540134414989945659761305931845807307835638899788589233032551627228917877798119039724839875150024922484626992312731742774919759090948469644639952376052283855210525286516210895413446293245259431739230483637854441141657997627094697069526939311626885977172833278173548732255504684075792755215304496269791247837116169637619161981119983483584034107371714572282608568649255977299071477269601528924612713513122874376379339838716884940628567064221351915244871567420997135617270935167763579563046963931132085247544652919541367271625449436988601336300096719282668017224114981703236146034858797766237723028207267479148561401615809768314869829394848533266353604571095289540976620492201459212058741577447779894304191730618698484599145975320017003423941860368215884706766491608772704103000720302251164122940712460720177489390916540797681508645789311441211181333459957251241159389785585102306816146305666383450100429447823680705324501815690567782632556884823510379442538191366602453170670027593390097323075812659864400125738612768368064694230812794526301103238053612220253651109263707832608416306942409470192521680799173570755877883146044282567068412217922106122573585346398590186949959378870669448461179536196096996035026395521448419184013796320040268039389567641978681344221120599090442632665214416433634205627574386665031353239 6381186662541168951625393704829193425726403840982330363618768541428355495512398540286072111606556537513984074565784959940560788844641143966607480874451009653474959228421294127133974901501699894053825034683875956311559640415501655382244834470485421905607553595433471986015539704343562538992859685269014138711108797538658220823331063279159521630879528045480085767076140229364888967732833993194082290076199091364473343898711499405626075500897853435152418412489232468744181969627090895278480715101748489405230559058805436646311680191718292213430496839685996351951156198505633010384664694966546611778962400769803404860012838478604786599376604780301499049535029156205651768768529451989659659531131367330115270920009635225765432286141235915393533593113617359112498753535451910529279633760584133758219246691694820378287994134481929427204566843578340578251119281532200311031717934791176305295650213949460446656907139626042710157070175860154400145707638312019018924364346031132916164243920431682231624624708839237203839896262628844335262905645762742151869909080560329556313620359169603636250039875531176274199371428875714155284040017616217930455197374218533284389967785664186975717017363866956475985523524886342722985526287282305714404898058906906522474264700112375551516835010192951267356343490963772875078979061383570697444227730547191734045659949351943680405402074895217649944936829319507878385689860868178129979736427077258917107887010971086737711345466341646085126954630695116501261311550424609139680839734231754386319546932596126744275039807819796641560226237397001427231635131409469395341820176213224047045234245163501967537405828970346465661073497252445372729041403708568009141671024493581387578139782384649281692454406731202127628135099750577290345846667278459989832461743279548080260306653822273263456910812280778842343465576759577770035051798194166431128995730475690334657009550769583271793001342869703503076153222523883836895179679165561776782225164724040699379455844282495669072585315561781393136966706415721282 10324976908549116816651658821801847893260153107279069661335307663322222947561994085626014961605387546124170371123799290802599131461756838613801476859876536548131527088028005438572057658235890557962062249378775995842992824590564979833333024440274031700508182425443578337500507508479418695997206836503502014891515443780375817833116942404773391721572955766308509445864105019148259588839779844543571664398489569826627576029681968718220258684001620768819105644226933885021454266238215524677170185601710861383236438578467207651161978377853378931115671796088570014527453148614550755068261585859330326906155700023384280581070079926087491686872914698109394228539294584389814782552029643791628361174975759086500811054424625171425193592073081722701369232013405948345531305162680828407077752800308973633369271614179447370600725877256849186295515313222980530627171565387410836318234145686589751588895473381199677140544994067184368154697270557223927085019265197996191757642519579865171668927996224437446929120978630485040956065900248006316382889129346776259241623652842938124962876336468675113519641404455788987712494303252093495122756902556846497519418726133778155957388782799804246652185127446519522949454656971590267638445828649577339854335047508242822570983982780392775631816713429097302215141257201495903286246540532132099060037498862061563440508482618297284976497364436194270437138288531566619963137640762482321710355125561858063083207027974510679571713682226352851618563403399219501981613801588732080393300454409243777236087730277635390064351249030977975020183488638160817017220233716285541647486559663324476493057925868826469353096396752979022545897007631887910920408006161738679169264414590904463390799646784775020305222774795896358440929626051680528399458887532111099096169575887964387202716124014794944256084383036656725489509859326646182252973904316740016475394320662640294035880220218044451329197439865738529471674670943067850691499719433601166349867143405384920500054934725128334287001749195987020711353371447074521 16706163571090285768277052526631041318986556948261400024954076204750578443074392625912087073211944083638154445689584250743159920306397982580408957734327546201606486316449299565706032559737590452015887284062651952154552465006066635215577858910759453606115736020877050323516047212822981234990066521772516153602624241319034038656448005683932913352452483811788595212940245248513148556572613837737653954474688661191100919928393468123846334184899474203971524056716166353765636235865306419955650900703459350788466997637272644297473658569571671144546168635774566366478609347120183765452926280825876938685118100793187685441082918404692278286249519478410893278074323740595466551320559095781288020706107126416616081974434260397190625878214317638094902825127023307458030058698132738936357386560893107391588518305874267748888720011738778613500082156801321108878290846919611147349952080477766056884545687330660123797452133693227078311767446417378327230726903510015210682006865610998087833171916656119678553745687469722244795962162876850651645794775109518411111532733403267681276496695638278749769681279986965261911865732127807650406796920173064427974616100352311440347356568463991222369202491313475998934978181857932990623972115931883054259233106415149345045248682892768327148651723622048569571484748165268778365225601915702796504265229409253297486168431970240965381899439331411920382075117851074498348827501630660451690091552639116980191094038945597417283059148567998936745518034094336003242925352013341220074140188640998163555634662873762134339391056850774616580409726035162244248855365125754936989306735876548523538292171032328436890502225723325488206970504884333283649449409870306688310935439084485850968939429169424301997677181527098486069064725802257818745305554810571088928631319167512467463022777837068207712995195317435567832975436086223952288025702510906447604390051138330628692889770987627723122198782735442032547827893466951687586679398599162943132092308129425619879510779007624003359587064757768413848320077862795803 27031140479639402584928711348432889212246710055540469686289383868072801390636386711538102034817331629762324816813383541545759051768154821194210434594204082749738013404477305004278090217973481009977949533441427947997545289596631615048910883351033485306623918446320628661016554721302399930987273358276018168494139685099409856489564948088706305074025439578097104658804350267661408145412393682281225618873178231017728495958075436842066592868901094972790629700943100238787090502103521944632821086305170212171703436215739851948635636947425050075661840431863136381006062495734734520521187866685207265591273800816571966022152998330779769973122434176520287506613618324985281333872588739572916381881082885503116893028858885568615819470287399360796272057140429255803561363860813567343435139361202081024957789920053715119489445888995627799795597470024301639505462412307021983668186226164355808473441160711859800937997127760411446466464716974602254315746168708011402439649385190863259502099912880557125482866666100207285752028063124856968028683904456294670353156386246205806239373032106953863289322684442754249624360035379901145529553822729910925494034826486089596304745351263795469021387618759995521884432838829523258262417944581460394113568153923392167616232665673161102780468437051145871786626005366764681651472142447834895564302728271314860926676914588538250358396803767606190819213406382641118311965142393142773400446678200975043274301066920108096854772830794351788364081437493555505224539153602073300467440643050241940791722393151397524403742305881752591600593214673323061266075598842040478636793295539873000031350096901154906243598622476304510752867512516221194569857416032045367480199853675390314359739075954199322302899956322994844509994351853938347144764442342682188024800895055476854665738901851863151969079578354092293322485295412870134540999606827646464079784371800970922728769991205672174451396222601180562019502564410019538278179118032764109481959451534810540379565713732752337646588813953755434559673449309870324 43737304050729688353205763875063930531233267003801869711243460072823379833710779337450189108029275713400479262502967792288918972074552803774619392328531628951344499720926604569984122777711071461993836817504079900152097754602698250264488742261792938912739654467197678984532601934125381165977339880048534322096763926418443895146012953772639218426477923389885699871744595516174556701985007520018879573347866892208829415886468904965912927053800569176762153757659266592552726737968828364588471987008629562960170433853012496246109295516996721220208009067637702747484671842854918285974114147511084204276391901609759651463235916735472048259371953654931180784687942065580747885193147835354204402587190011919732975003293145965806445348501716998891174882267452563261591422558946306279792525922095188416546308225927982868378165900734406413295679626825622748383753259226633131018138306642121865357986848042519924735449261453638524778232163391980581546473072218026613121656250801861347335271829536676804036612353569929530547990226001707619674478679565813081464689119649473487515869727745232613059003964429719511536225767507708795936350742902975353468650926838401036652101919727786691390590110073471520819411020687456248886390060513343448372801260338541512661481348565929429929120160673194441358110753532033460016697744363537692068567957680568158412845346558779215740296243099018111201288524233715616660792644023803225090538230840092023465395105865705514137831979362350725109599471587891508467464505615414520541580831691240104347357056025159658743133362732527208181002940708485305514930963967795415626100031416421523569642267933483343134100848199629998959838017400554478219306825902352055791135292759876165328678505123623624300577137850093330579059077656196165890069997153253276953432214222989322128761679688931359682074773671527861155460731499094086829025309338552911684174422939301551421659762193299897573595005336622594567330457876971225864858516631927052614051759664236160259076492740376341006175878711523848407993527172666127 70768444530369090938134475223496819743479977059342339397532843940896181224347166048988291142846607343162804079316351333834678023842707624968829826922735711701082513125403909574262212995684552471971786350945507848149643044199329865313399625612826424219363572913518307645549156655427781096964613238324552490590903611517853751635577901861345523500503362967982804530548945783835964847397401202300105192221045123226557911844544341807979519922701664149552783458602366831339817240072350309221293073313799775131873870068752348194744932464421771295869849499500839128490734338589652806495302014196291469867665702426331617485388915066251818232494387831451468291301560390566029219065736574927120784468272897422849868032152031534422264818789116359687446939407881819065152786419759873623227665283297269441504098145981697987867611789730034213091277096849924387889215671533655114686324532806477673831428008754379725673446389214049971244696880366582835862219240926038015561305635992724606837371742417233929519479019670136816300018289126564587703162584022107751817845505895679293755242759852186476348326648872473761160585802887609941465904565632886278962685753324490632956847270991582160411977728833467042703843859516979507148808005094803842486369414261933680277714014239090532709588597724340313144736758898798141668169886811372587632870685951883019339522261147317466098693046866624302020501930616356734972757786416945998490984909041067066739696172785813610992604810156702513473680909081447013692003659217487821009021474741482045139079449176557183146875668614279799781596155381808366781006562809835894262893326956294523600992364834638249377699470675934509712705529916775672789164241934397423271335146435266479688417581077822946603477094173088175089053429510134513034834439495935464978233109278466176794500581540794511651154352025620154477946026911964221370024916166199375763958794740272474150429753398972072024991227937803156586833022286990764143037634664691162096011211199046700638642206473128678652764692665279282967666976482536451 114505748581098779291340239098560750274713244063144209108776304013719561058057945386438480250875883056563283341819319126123596995917260428743449219251267340652427012846330514144246335773395623933965623168449587748301740798802028115577888367874619363132103227380715986630081758589553162262941953118373086812687667537936297646781590855633984741926981286357868504402293541300010521549382408722318984765568912015435387327731013246773892446976502233326314937216261633423892543978041178673809765060322429338092044303921764844440854227981418492516077858567138541875975406181444571092469416161707375674144057604036091268948624831801723866491866341486382649075989502456146777104258884410281325187055462909342582843035445177500228710167290833358578621821675334382326744208978706179903020191205392457858050406371909680856245777690464440626386956723675547136272968930760288245704462839448599539189414856796899650408895650667688496022929043758563417408692313144064628682961886794585954172643571953910733556091373240066346848008515128272207377641263587920833282534625545152781271112487597419089407330613302193272696811570395318737402255308535861632431336680162891669608949190719368851802567838906938563523254880204435756035198065608147290859170674600475192939195362805019962638708758397534754502847512430831601684867631174910279701438643632451177752367607706096681838989289965642413221790454850072351633550430440749223581523139881159090205091278651519125130436789519053238583280380669338522159468164832902341550602306432722149486436505201716841890009031346807007962599096090293672295937526777631309888993358372716047170634632768121592511800318875564508672543547317330151008471067836749479062470439195142645017096086201446570904054232023181505668112507166330678924904436649188741931665323501455498923262261229725871333229125697148015633406758411058308199050225504752287448133217679574025572089515592271969598586233274425751154163480163961990007896151296618214710062970863282860897718699213505019658940571376803131375660503655202578 185274193111467870229474714322057570018193221122486548506309147954615742282405111435426771393722490399726087421135670459958275019759968053712279046174003052353509525971734423718508548769080176405937409519395095596451383843001357980891287993487445787351466800294234294275630915244980943359906566356697639303278571149454151398417168757495330265427484649325851308932842487083846486396779809924619089957789957138661945239575557588581871966899203897475867720674864000255232361218113528983031058133636229113223918173990517192635599160445840263811947708066639381004466140520034223898964718175903667144011723306462422886434013746867975684724360729317834117367291062846712806323324620985208445971523735806765432711067597209034650974986079949718266068761083216201391896995398466053526247856488689727299554504517891378844113389480194474839478233820525471524162184602293943360390787372255077213020842865551279376082342039881738467267625924125146253270911554070102644244267522787310561010015314371144663075570392910203163148026804254836795080803847610028585100380131440832075026355247449605565755657262174667033857397373282928678868159874168747911394022433487382302565796461710951012214545567740405606227098739721415263184006070702951133345540088862408873216909377044110495348297356121875067647584271329629743353037517986282867334309329584334197091889868853414147937682336832266715242292385466429086606308216857695222072508048922226156944787451437332736123041599675755752056961289750785535851471824050390162559623781174204194625515954378274025036884699961086807744195251472102039076944089587467204151886685329010570771626997602759841889499789551499018385249077234105823797635309771146902333805585630409124705513667279269517507531326196269680757165936676465191959738876145124206909898432779921675717762842770520382984383477722768170111352785323022529569075141670951663212092012419846499722519268991244041623577461212228907740996502450952754150933785961309376806074182062329561536360905686633698311705264042082414343327480137739029 299779941692566649520814953420618320292906465185630757615085451968335303340463056821865251644598373456289370762954989586081872015677228482455728265425270393005936538818064937862754884542475800339903032687844683344753124641803386096469176361362065150483570027674950280905712673834534105622848519475070726115966238687390449045198759613129315007354465935683719813335136028383857007946162218646938074723358869154097332567306570835355764413875706130802182657891125633679124905196154707656840823193958658451315962477912282037076453388427258756328025566633777922880441546701478794991434134337611042818155780910498514155382638578669699551216227070804216766443280565302859583427583505395489771158579198716108015554103042386534879685153370783076844690582758550583718641204377172233429268047694082185157604910889801059700359167170658915465865190544201018660435153533054231606095250211703676752210257722348179026491237690549426963290554967883709670679603867214167272927229409581896515182658886325055396631661766150269509996035319383109002458445111197949418382914756985984856297467735047024655162987875476860306554208943678247416270415182704609543825359113650273972174745652430319864017113406647344169750353619925851019219204136311098424204710763462884066156104739849130457987006114519409822150431783760461345037905149161193147035747973216785374844257476559510829776671626797909128464082840316501438239858647298444445654031188803385247149878730088851861253478389194808990640241670420124058010939988883292504110226087606926344111952459579990866926893731307893815706794347562395711372881616365098514040880043701726617942261630370881434401300108427063527057792624551435974806106377607896381396276024825551769722609753480716088411585558219451186425278443842795870884643312794312948841563756281377174641025104000246254317612603419916185744759543734080837768125367175703950660225230099420525294608784583516011222163694486654658895159982614914744158829937257927591516137152925612422434079604900138717970645835418885545718987983792941607 485054134804034519750289667742675890311099686308117306121394599922951045622868168257292023038320863856015458184090660046040147035437196536168007311599273445359446064789799361581263433311555976745840442207239778941204508484804744077360464354849510937835036827969184575181343589079515048982755085831768365419244809836844600443615928370624645272781950585009571122267978515467703494342942028571557164681148826292759277806882128423937636380774910028278050378565989633934357266414268236639871881327594887564539880651902799229712052548873099020139973274700417303884907687221513018890398852513514709962167504216960937041816652325537675235940587800122050883810571628149572389750908126380698217130102934522873448265170639595569530660139450732795110759343841766785110538199775638286955515904182771912457159415407692438544472556650853390305343424364726490184597338135348174966486037583958753965231100587899458402573579730431165430558180892008855923950515421284269917171496932369207076192674200696200059707232159060472673144062123637945797539248958807978003483294888426816931323822982496630220918645137651527340411606316961176095138575056873357455219381547137656274740542114141270876231658974387749775977452359647266282403210207014049557550250852325292939373014116893240953335303470641284889798016055090091088390942667147476014370057302801119571936147345412924977714353963630175843706375225782930524846166864156139667726539237725611404094666181526184597376519988870564742697202960170909593862411812933682666669849868781130538737468413958264891963778431268980623450989599034497750449825705952565718192766729030737188713888627973641276290799897978562545443041701785541798603741687379043283730081610455960894428123420759985605919116884415720867182444380519261062844382188939437155751462189061298850358787946770766637301996081142684355856112329057103367337200508846655613872317242519267025017128053574760052845741155698883566636156485065867498309763723219236968322211334987941983970440510586772416282351099460967960062315463930680636 784834076496601169271104621163294210604006151493748063736480051891286348963331225079157274682919237312304828947045649632122019051114425018623735577024543838365382603607864299444018317854031777085743474895084462285957633126608130173829640716211576088318606855644134856087056262914049154605603605306839091535211048524235049488814687983753960280136416520693290935603114543851560502289104247218495239404507695446856610374188699259293400794650616159080233036457115267613482171610422944296712704521553546015855843129815081266788505937300357776467998841334195226765349233922991813881832986851125752780323285127459451197199290904207374787156814870926267650253852193452431973178491631776187988288682133238981463819273681982104410345292821515871955449926600317368829179404152810520384783951876854097614764326297493498244831723821512305771208614908927508845032491668402406572581287795662430717441358310247637429064817420980592393848735859892565594630119288498437190098726341951103591375333087021255456338893925210742183140097443021054799997694070005927421866209645412801787621290717543654876081633013128387646965815260639423511408990239577966999044740660787930246915287766571590740248772381035093945727805979573117301622414343325147981754961615788177005529118856742371411322309585160694711948447838850552433428847816308669161405805276017904946780404821972435807491025590428084972170458066099431963086025511454584113380570426528996651244544911615036458629998378065373733337444630591033651873351801816975170780075956388056882849420873538255758890672162576874439157783946596893461822707322317664232233646772732463806656150258344522710692100006405626072500834326336977773409848064986939665126357635281512664150733174240701694330702442635172053607722824362056933729025501733750104593025945342676024999813050771012891619608684562600541600871872791184205105325876022359564532542472618687550311736838158276064067904850185538225531316467680782242468593660477164559838348487913554406404520115486911134252996934879853505781303447723622243 1269888211300635689021394288905970100915105837801865369857874651814237394586199393336449297721240101168320287131136309678162166086551621554791742888623817283724828668397663661025281751165587753831583917102324241227162141611412874251190105071061087026153643683613319431268399851993564203588358691138607456954455858361079649932430616354378605552918367105702862057871093059319263996632046275790052404085656521739615888181070827683231037175425526187358283415023104901547839438024691180936584585849148433580395723781717880496500558486173456796607972116034612530650256921144504832772231839364640462742490789344420388239015943229745050023097402671048318534064423821602004362929399758156886205418785067761854912084444321577673941005432272248667066209270442084153939717603928448807340299856059626010071923741705185936789304280472365696076552039273653999029629829803750581539067325379621184682672458898147095831638397151411757824406916751901421518580634709782707107270223274320310667568007287717455516046126084271214856284159566659000597536943028813905425349504533839618718945113700040285097000278150779914987377421577600599606547565296451324454264122207925586521655829880712861616480431355422843721705258339220383584025624550339197539305212468113469944902132973635612364657613055801979601746463893940643521819790483456145175775862578819024518716552167385360785205379554058260815876833291882362487932192375610723781107109664254608055339211093141221056006518366935938476034647590761943245735763614750657837449925825169187421586889287496520650854450593845855062608773545631391212272533028270229950426413501763200995370038886318163986982899904384188617943876028122519572013589752365982948856439245737473558578856595000687300249819327050892920790167204881317996573407690673187260344488134403974875358600997541779528921604765705284897456984201848287572442526384869015178404859715137954575328864891733036116913646005884421792167472952746649740778357383696401528160559822901496390374960626073683550535348034340821465843618911654302879 2054722287797236858292498910069264311519111989295613433594354703705523743549530618415606572404159338480625116078181959310284185137666046573415478465648361122090211272005527960469300069019619530917327391997408703513119774738021004425019745787272663114472250539257454287355456114907613358193962296445446548489666906885314699421245304338132565833054783626396152993474207603170824498921150523008547643490164217186472498555259526942524437970076142346438516451480220169161321609635114125233297290370701979596251566911532961763289064423473814573075970957368807757415606155067496646654064826215766215522814074471879839436215234133952424810254217541974586184318276015054436336107891389933074193707467201000836375903718003559778351350725093764539021659197042401522768897008081259327725083807936480107686688068002679435034136004293878001847760654182581507874662321472152988111648613175283615400113817208394733260703214572392350218255652611793987113210753998281144297368949616271414258943340374738710972385020009481957039424257009680055397534637098819832847215714179252420506566404417583939973081911163908302634343236838240023117956555536029291453308862868713516768571117647284452356729203736457937667433064318793500885648038893664345521060174083901646950431251830377983775979922640962674313694911732791195955248638299764814337181667854836929465496956989357796592696405144486345788047291357981794451018217887065307894487680090783604706583756004756257514636516745001312209372092221352976897609115416567633008230001781557244304436310161034776409745122756422729501766557492228284674095240350587894182660060274495664802026189144662686697674999910789814690444710354459497345423437817352922613982796881018986222729589769241388994580521769686064974397890029243374930302433192406937364937514079746650900358414048312792420541213450267885439057856074639471777547852260891374742937402187756642125640601729891312180981550856069960017698789420427431983246951044173566087998908310815050796779480741560594684788344969220674971624922359377925122 3324610499097872547313893198975234412434217827097478803452229355519761138135730011752055870125399439648945403209318268988446351224217668128207221354272178405815039940403191621494581820185207284748911309099732944740281916349433878676209850858333750140625894222870773718623855966901177561782320987584054005444122765246394349353675920692511171385973150732099015051345300662490088495553196798798600047575820738926088386736330354625755475145501668533796799866503325070709161047659805306169881876219850413176647290693250842259789622909647271369683943073403420288065863076212001479426296665580406678265304863816300227675231177363697474833351620213022904718382699836656440699037291148089960399126252268762691287988162325137452292356157366013206087868467484485676708614612009708135065383663996106117758611809707865371823440284766243697924312693456235506904292151275903569650715938554904800082786276106541829092341611723804108042662569363695408631791388708063851404639172890591724926511347662456166488431146093753171895708416576339055995071580127633738272565218713092039225511518117624225070082189314688217621720658415840622724504120832480615907572985076639103290226947527997313973209635091880781389138322658013884469673663444003543060365386552015116895333384804013596140637535696764653915441375626731839477068428783220959512957530433655953984213509156743157377901784698544606603924124649864156938950410262676031675594789755038212761922967097897478570643035111937250685406739812114920143344879031318290845679927606726431726023199448531297060599573350268584564375331037859675886367773378858124133086473776258865797396228030980850684657899815174003308388586382582016917437027569718905562839236126756459781308446364242076294830341096736957895188057234124692926875840883080124625282002214150625775717015045854571949462818215973170336514840276487759349990378645760389921342261902894596700969466621624348297895196861954381809866262373174081724025308427869967616159468133716547187154441367634278235323693003561496437468541271032228001 5379332786895109405606392109044498723953329816393092237046584059225284881685260630167662442529558778129570519287500228298730536361883714701622699819920539527905251212408719581963881889204826815666238701097141648253401691087454883101229596645606413255098144762128228005979312081808790919976283284029500553933789672131709048774921225030643737219027934358495168044819508265660912994474347321807147691065984956112560885291589881568279913115577810880235316317983545239870482657294919431403179166590552392772898857604783804023078687333121085942759914030772228045481469231279498126080361491796172893788118938288180067111446411497649899643605837754997490902700975851710877035145182538023034592833719469763527663891880328697230643706882459777745109527664526887199477511620090967462790467471932586225445299877710544806857576289060121699772073347638817014778954472748056557762364551730188415482900093314936562353044826296196458260918221975489395745002142706344995702008122506863139185454688037194877460816166103235128935132673586019111392606217226453571119780932892344459732077922535208165043164100478596520256063895254080645842460676368509907360881847945352620058798065175281766329938838828338719056571386976807385355321702337667888581425560635916763845764636634391579916617458337727328229136287359523035432317067082985773850139198288492883449710466146100953970598189843030952391971416007845951389968628149741339570082469845821817468506723102653736085279551856938562894778832033467897040953994447885923853909929388283676030459509609566073470344696106691314066141888530087960560463013729446018315746534050754530599422417175643537382332899725963817998833296737041514262860465387071828176822033007775446004038036133483465289410862866423022869585947263368067857178274075487061990219516293897276676075429094167364370004031666241055775572696351127231127538230906651764664279664090651238826610068351515660478876747718024341827565051793601513707272259472043533704158376444531597983933922109194872920112037972782171409093463630410153123 8703943285992981952920285308019733136387547643490571040498813414745046019820990641919718312654958217778515922496818497287176887586101382829829921174192717933720291152811911203458463709390034100415150010196874592993683607436888761777439447503940163395724038984999001724603168048709968481758604271613554559377912437378103398128597145723154908605001085090594183096164808928151001490027544120605747738641805695038649272027920236194035388261079479414032116184486870310579643704954724737573061042810402805949546148298034646282868310242768357312443857104175648333547332307491499605506658157376579572053423802104480294786677588861347374476957457968020395621083675688367317734182473686112994991959971738526218951880042653834682936063039825790951197396132011372876186126232100675597855851135928692343203911687418410178681016573826365397696386041095052521683246624023960127413080490285093215565686369421478391445386438020000566303580791339184804376793531414408847106647295397454864111966035699651043949247312196988300830841090162358167387677797354087309392346151605436498957589440652832390113246289793284737877784553669921268566964797200990523268454833021991723349025012703279080303148473920219500445709709634821269824995365781671431641790947187931880741098021438405176057254994034491982144577662986254874909385495866206733363096728722148837433923975302844111348499974541575558995895540657710108328919038412417371245677259600860030230429690200551214655922586968875813580185571845582817184298873479204214699589856995010107756482709058097370530944269456959898630517219567947636446830787108304142448833007827013396396818645206624388066990799541137821307221883119623531180297492956790733739661269134531905785346482497725541584241203963159980764774004497492760784054114958567186615501518508047902451792444140021936319466849882214226112087536627614990477528609552412154585621925993545835527579534973140008776771944579978723637431314166775595431297567899913501320317844578248145171088363476829151155435730976343667846562004901442381124 14083276072888091358526677417064231860340877459883663277545397473970330901506251272087380755184516995908086441784318725585907423947985097531452620994113257461625542365220630785422345598594860916081388711294016241247085298524343644878669044149546576650822183747127229730582480130518759401734887555643055113311702109509812446903518370753798645824029019449089351140984317193811914484501891442412895429707790651151210157319510117762315301376657290294267432502470415550450126362249644168976240209400955198722445005902818450305946997575889443255203771134947876379028801538770997731587019649172752465841542740392660361898124000358997274120563295723017886523784651540078194769327656224136029584793691208289746615771922982531913579769922285568696306923796538260075663637852191643060646318607861278568649211565128954985538592862886487097468459388733869536462201096772016685175445042015281631048586462736414953798431264316197024564499013314674200121795674120753842808655417904318003297420723736845921410063478300223429765973763748377278780284014580540880512127084497780958689667363188040555156410390271881258133848448924001914409425473569500430629336680967344343407823077878560846633087312748558219502281096611628655180317068119339320223216507823848644586862658072796755973872452372219310373713950345777910341702562949192507213235927010641720883634441448945065319098164384606511387866956665556059718887666562158710815759729446681847698936413303204950741202138825814376474964403879050714225252867927090138553499786383293783786942218667663444001288965563651212696659108098035597007293800837750160764579541877767926996241062382267925449323699267101639306055179856665045443157958343862561916483302142307351789384518631209006873652066829583003634359951760860828641232389034054248605721034801945179127867873234189300689470881548455281887660232978742221605066840459063919249901590084197074354189603324655669255648692298003065464996365960377109138569827371957035024476221022779743155022285586024024075547768949125839255655468531852534247 22787219358881073311446962725083964996728425103374234318044210888715376921327241914007099067839475213686602364281137222873084311534086480361282542168305975395345833518032541988880809307984895016496538721490890834240768905961232406656108491653486740046546222732126231455185648179228727883493491827256609672689614546887915845032115516476953554429030104539683534237149126121962915974529435563018643168349596346189859429347430353956350689637736769708299548686957285861029770067204368906549301252211358004671991154200853096588815307818657800567647628239123524712576133846262497337093677806549332037894966542497140656684801589220344648597520753691038282144868327228445512503510129910249024576753662946815965567651965636366596515832962111359647504319928549632951849764084292318658502169743789970911853123252547365164219609436712852495164845429828922058145447720795976812588525532300374846614272832157893345243817702336197590868079804653859004498589205535162689915302713301772867409386759436496965359310790497211730596814853910735446167961811934628189904473236103217457647256803840872945269656680065165996011633002593923182976390270770490953897791513989336066756848090581839926936235786668777719947990806246449925005312433901010751865007455011780525327960679511201932031127446406711292518291613332032785251088058815399240576332655732790558317558416751789176667598138926182070383762497323266168047806704974576082061436989047541877929366103503756165397124725794690190055149975724633531409551741406294353253089643378303891543424927725760814532233235020611111327176327665983233454124587946054303213412549704781323393059707588892313516314498808239460613277062976288576623455451300653295656144571276839257574731001128934548457893270792742984399133956258353589425286503992621435221222553309993081579660317374211237008937731430669507999747769606357212082595450011476073835523516077742909881769138297795678032420636877981789102427680127152704569867395271870536344794065601027888326110649062853175230983499925469507102217473433294915371 36870495431769164669973640142148196857069302563257897595589608362685707822833493186094479823023992209594688806065455948458991735482071577892735163162419232856971375883253172774303154906579755932577927432784907075487854204485576051534777535803033316697368406479253461185768128309747487285228379382899664786001316656397728291935633887230752200253059123988772885378133443315774830459031327005431538598057386997341069586666940471718665991014394060002566981189427701411479896429454013075525541461612313203394436160103671546894762305394547243822851399374071401091604935385033495068680697455722084503736509282889801018582925589579341922718084049414056168668652978768523707272837786134385054161547354155105712183423888618898510095602884396928343811243725087893027513401936483961719148488351651249480502334817676320149758202299599339592633304818562791594607648817567993497763970574315656477662859294894308299042248966652394615432578817968533204620384879655916532723958131206090870706807483173342886769374268797435160362788617659112724948245826515169070416600320600998416336924167028913500426067070337047254145481451517925097385815744339991384527128194956680410164671168460400773569323099417335939450271902858078580185629502020350072088223962835629169914823337583998688004999898778930602892005563677810695592790621764591747789568582743432279201192858200734241986696303310788581771629453988822227766694371536734792877196718494223725628302516806961116138326864620504566530114379603684245634804609333384491806589429761597675330367146393424258533522200584262324023835435764018830461418388783804463977992091582549250389300769971160238965638198075341099919332242832953622066613409644515857572627873419146609364115519760143555331545337622325988033493908019214418066518893026675683826943588111938260707528190608400537698408612979124789887408002585099433687662290470539993085425106161939984235958741622451347288069329175984854567424046087529813708437222643827571369270286623807631481132934648877199306531268874595346357872941965147449618 59657714790650237981420602867232161853797727666632131913633819251401084744160735100101578890863467423281291170346593171332076047016158058254017705330725208252317209401285714763183964214564650949074466154275797909728623110446808458190886027456520056743914629211379692640953776488976215168721871210156274458690931203285644136967749403707705754682089228528456419615282569437737746433560762568450181766406983343530929016014370825675016680652130829710866529876384987272509666496658381982074842713823671208066427314304524643483577613213205044390499027613194925804181069231295992405774375262271416541631475825386941675267727178799686571315604803105094450813521305996969219776347916044634078738301017101921677751075854255265106611435846508287991315563653637525979363166020776280377650658095441220392355458070223685313977811736312192087798150248391713652753096538363970310352496106616031324277132127052201644286066668988592206300658622622392209118974085191079222639260844507863738116194242609839852128685059294646890959603471569848171116207638449797260321073556704215873984180970869786445695723750402213250157114454111848280362206015110482338424919708946016476921519259042240700505558886086113659398262709104528505190941935921360823953231417847409695242784017095200620036127345185641895410297177009843480843878680579990988365901238476222837518751274952523418654294442236970652155391951312088395814501076511310874938633707541765603557668620310717281535451590415194756585264355328317777044356350739678845059679073139901566873792074119185073065755435604873435351011763430002063915542976729858767191404641287330573782360477560052552481952696883580560532609305809242198690068860945169153228772444695985866938846520889078103789438608415068972432627864277568007491805397019297119048166141421931342287188507982611774707346344409794297887155772191456645770257740482016066920948622239682894117727879920247025320489966053966643669851726214682518278304617915698107714064352224835519807243583711730374537514768800064853460090415398442364989 96528210222419402651394243009380358710867030229890029509223427614086792566994228286196058713887459632875979976412049119791067782498229636146752868493144441109288585284538887537487119121144406881652393587060704985216477314932384509725663563259553373441283035690633153826721904798723702453950250593055939244692247859683372428903383290938457954935148352517229304993416012753512576892592089573881720364464370340871998602681311297393682671666524889713433511065812688683989562926112395057600384175435984411460863474408196190378339918607752288213350426987266326895786004616329487474455072717993501045367985108276742693850652768379028494033688852519150619482174284765492927049185702179019132899848371257027389934499742874163616707038730905216335126807378725419006876567957260242096799146447092469872857792887900005463736014035911531680431455066954505247360745355931963808116466680931687801939991421946509943328315635640986821733237440590925413739358964846995755363218975713954608823001725783182738898059328092082051322392089228960896064453464964966330737673877305214290321105137898699946121790820739260504302595905629773377748021759450473722952047903902696887086190427502641474074881985503449598848534611962607085376571437941710896041455380683038865157607354679199308041127243964572498302302740687654176436669302344582736155469821219655116719944133153257660640990745547759233927021405300910623581195448048045667815830426035989329185971137117678397673778455035699323115378734932002022679160960073063336866268502901499242204159220512609331599277636189135759374847199194020894376961365513663231169396732869879824171661247531212791447590894958921660451941548642195820756682270589685010801400318115132476302962040649221659120983946037394960466121772296782425558324290045972802875109729533869602994716698591012312405754957388919087774563774776556079457920030952556060006373728401622878353686621542698372608559295229951498237275772302212331986741840559525679083334638848643151288376518360607573844046037674660199817963357363589814607 156185925013069640632814845876612520564664757896522161422857246865487877311154963386297637604750927056157271146758642291123143829514387694400770573823869649361605794685824602300671083335709057830726859741336502894945100425379192967916549590716073430185197664902012846467675681287699917622672121803212213703383179062969016565871132694646163709617237581045685724608698582191250323326152852142331902130871353684402927618695682123068699352318655719424300040942197675956499229422770777039675226889259655619527290788712720833861917531820957332603849454600461252699967073847625479880229447980264917586999460933663684369118379947178715065349293655624245070295695590762462146825533618223653211638149388358949067685575597129428723318474577413504326442371032362944986239733978036522474449804542533690265213250958123690777713825772223723768229605315346218900113841894295934118468962787547719126217123548998711587614382304629579028033896063213317622858333050038074978002479820221818346939195968393022591026744387386728942281995560798809067180661103414763591058747434009430164305286108768486391817514571141473754459710359741621658110227774560956061376967612848713364007709686544882174580440871589563258246797321067135590567513373863071719994686798530448560400391371774399928077254589150214393712599917697497657280547982924573724521371059695877954238695408105781079295285187784729886082413356612999019395696524559356542754464133577754932743639757428395679209230045450894079700643090260319799723517310812742181925947576041400809077951294631794404665033071794009194725858962624022958292504342243521998360801374157210397954021725091265343929543591842502220984550854451438019446751131534854164030172762811118343241808561538299762910422554452463932898749636574350433050129687065269921923275870955800945281905206573624087113101301798713385661719546968012725228177771434572126927322350641305772471414501462945397929049261283918141907127498516894850265046458475223786797398991073478671095620102072337948381560806474725053278053772762032179596 252714135235489043284209088885992879275531788126412190932080674479574669878149191672493696318638386689033251123170691410914211612012617330547523442317014090470894379970363489838158202456853464712379253328397207880161577740311577477642213153975626803626480700592646000294397586086423620076622372396268152948075426922652388994774515985584621664552385933562915029602114594944762900218744941716213622495335724025274926221376993420462382023985180609137733552008010364640488792348883172097275611064695640030988154263120917024240257450428709620817199881587727579595753078463954967354684520698258418632367446041940427062969032715557743559382982508143395689777869875527955073874719320402672344537997759615976457620075340003592340025513308318720661569178411088363993116301935296764571248950989626160138071043846023696241449839808135255448661060382300724147474587250227897926585429468479406928157114970945221530942697940270565849767133503804243036597692014885070733365698795935772955762197694176205329924803715478810993604387650027769963245114568379729921796421311314644454626391246667186337939305391880734258762306265371395035858249534011429784329015516751410251093900114047523648655322857093012857095331933029742675944084811804782616036142179213487425557998726453599236118381833114786892014902658385151833717217285269156460676840880915533070958639541259038739936275933332489120009434761913909642976891972607402210570294559613744261929610894546074076883008500486593402816021825192321822402678270885805518792216078942900051282110515144403736264310707983144954100706161818043852669465707757185229530198107027090222125682972622478135377134486801423881436492403093633840203433402124539174831573080926250819544770602187521422031406500489858893364871408871132858608453977111242724798385600489670548276621905164636399518856259187632473436283321744568804686097802387128186933696079042928650825101123005643770537608556513869640144403270819107182251788299034749465880733629922121822383996620432945522225606844149385253096017130125621994203 408900060248558683917023934762605399840196546022934352354937921345062547189304155058791333923389313745190522269929333702037355441527005024948294016140883739832500174656188092138829285792562522543106113069733710775106678165690770445558762744691700233811678365494658846762073267374123537699294494199480366651458605985621405560645648680230785374169623514608600754210813177136013223544897793858545524626207077709677853840072675543531081376303836328562033592950208040596988021771653949136950837953955295650515445051833637858102174982249666953421049336188188832295720152311580447234913968678523336219366906975604111432087412662736458624732276163767640760073565466290417220700252938626325556176147147974925525305650937133021063343987885732224988011549443451308979356035913333287045698755532159850403284294804147387019163665580358979216890665697646943047588429144523832045054392256027126054374238519943933118557080244900144877801029567017560659456025064923145711368178616157591302701393662569227920951548102865539935886383210826579030425775671794493512855168745324074618931677355435672729756819963022208013222016625113016693968477308572385845705983129600123615101609800592405823235763728682576115342129254096878266511598185667854336030828977743935985958390098227999164195636422265001285727502576082649490997765268193730185198211940611411025197334949364819819231561121117219006091848118526908662372588497166758753324758693191499194673250651974469756092238545937487482516664915452641622126195581698547700718163654984300860360061809776198140929343779777154148826565124442066810961970050000707227890999481184300620079704697713743479306678078643926102421043257545071859650184533659393338861745843737369162786579163725821184941829054942322826263621045445483291658583664176512646721661471445471493558527111738260486631957560986345859098002868712581529914275573821700313861018429684234423296515624468589168466657817797787782051530769336002032516834757509973252678132620995600493479616722505283470607167650624110306374070902887654173799 661614195484047727201233023648598279115728334149346543287018595824637217067453346731285030242027700434223773393100025112951567053539622355495817458457897830303394554626551581976987488249415987255485366398130918655268255906002347923200975898667327037438159066087304847056470853460547157775916866595748519599534032908273794555420164665815407038722009448171515783812927772080776123763642735574759147121542801734952780061449668963993463400289016937699767144958218405237476814120537121234226449018650935681503599314954554882342432432678376574238249217775916411891473230775535414589598489376781754851734353017544538495056445378294202184115258671911036449851435341818372294574972259028997900714144907590901982925726277136613403369501194050945649580727854539672972472337848630051616947706521786010541355338650171083260613505388494234665551726079947667195063016394751729971639821724506532982531353490889154649499778185170710727568163070821803696053717079808216444733877412093364258463591356745433250876351818344350929490770860854348993670890240174223434651590056638719073558068602102859067696125354902942271984322890484411729826726842583815630034998646351533866195509914639929471891086585775588972437461187126620942455682997472636952066971156957423411516388824681598400314018255379788177742405234467801324714982553462886645875052821526944096155974490623858559167837054449708126101282880440818305349480469774160963895053252805243456602861546520543832975247046424080885332686740644963444528873852584353219510379733927200911642172324920601877193654487760299102927271286260110663631435757757892457421197588211390842205387670336221614683812565445349983857535660638705699853617935783932513693318924663619982331349765913342606973235555432181719628492454316616150267037641287755371520047071935142041835149016902896886150813820173978332534286190457150334600373376208828500794714508727163074121616747474232939004266374311657422195934040155109214768623056544722718558866250917722315863613342938228992832774494773495559470088033013276168002 1070514255732606411118256958411203678955924880172280895641956517169699764256757501790076364165417014179414295663029358814988922495066627380444111474598781570135894729282739674115816774041978509798591479467864629430374934071693118368759738643359027271249837431581963693818544120834670695475211360795228886250992638893895200116065813346046192412891632962780116538023740949216789347308540529433304671747749879444630633901522344507524544776592853266261800737908426445834464835892191070371177286972606231332019044366788192740444607414928043527659298553964105244187193383087115861824512458055305091071101259993148649927143858041030660808847534835678677209925000808108789515275225197655323456890292055565827508231377214269634466713489079783170637592277297990981951828373761963338662646462053945860944639633454318470279777170968853213882442391777594610242651445539275562016694213980533659036905592010833087768056858430070855605369192637839364355509742144731362156102056028250955561164985019314661171827899921209890865377154071680928024096665911968716947506758801962793692489745957538531797452945317925150285206339515597428423795204151156201475740981775951657481297119715232335295126850314458165087779590441223499208967281183140491288097800134701359397474778922909597564509654677644789463469907810550450815712747821656616831073264762138355121353309439988678378399398175566927132193130998967726967722068966940919717219811945996742651276112198495013589067485592361568367849351656097605066655069434282900920228543388911501772002234134696800018122998267537453251753836410702177474593405807758599685312197069395691462285092368049965093990490644089276086278578918183777559503802469443325852555064768400989145117928929639163791915064610374504545892113499762099441925621305464268018241708543380613535393676128641157372782771381160324191632289059169731864514648950030528814655732938411397497418132371942822107470924192109445204247464809491111247285457814054695971236998871913322809343230065443512463439942145397605865844158935900930341801 1732128451216654138319489982059801958071653214321627438928975112994336981324210848521361394407444714613638069056129383927940489548606249735939928933056679400439289283909291256092804262291394497054076845865995548085643189977695466291960714542026354308687996497669268540875014974295217853251128227390977405850526671802168994671485978011861599451613642410951632321836668721297565471072183265008063818869292681179583413962972013471518008176881870203961567882866644851071941650012728191605403735991257167013522643681742747622787039847606420101897547771740021656078666613862651276414110947432086845922835613010693188422200303419324862992962793507589713659776436149927161809850197456684321357604436963156729491157103491406247870082990273834116287173005152530654924300711610593390279594168575731871485994972104489553540390676357347448547994117857542277437714461934027291988334035705040192019436945501722242417556636615241566332937355708661168051563459224539578600835933440344319819628576376060094422704251739554241794867924932535277017767556152142940382158348858601512766047814559641390865149070672828092557190662406081840153621930993740017105775980422303191347492629629872264767017936900233754060217051628350120151422964180613128240164771291658782808991167747591195964823672933024577641212313045018252140427730375119503476948317583665299217509283930612536937567235230016635258294413879408545273071549436715080681114865198801986107878973745015557422042732638785649253182038396742568511183943286867254139738923122838702683644406459617401895316652755297752354681107696962288138224841565516492142733394657607082304490480038386186708674303209534626070136114578822483259357420405227258366248383693064609127449278695552506398888300165806686265520605954078715592192658946752023389761755615315755577228825145544054258933585201334302524166575249626882199115022326239357315450447447138560571539749119417055046475190566421102626443398849646220462054080870599418689795865122831045125206843408381741456272716640171101425314246968914206509803 2802642706949260549437746940471005637027578094493908334570931630164036745580968350311437758572861728793052364719158742742929412043672877116384040407655460970575184013192030930208621036333373006852668325333860177516018124049388584660720453185385381579937833929251232234693559095129888548726339588186206292101519310696064194787551791357907791864505275373731748859860409670514354818380723794441368490617042560624214047864494357979042552953474723470223368620775071296906406485904919261976581022963863398345541688048530940363231647262534463629556846325704126900265859996949767138238623405487391936993936873003841838349344161460355523801810328343268390869701436958035951325125422654339644814494729018722556999388480705675882336796479353617286924765282450521636876129085372556728942240630629677732430634605558808023820167847326200662430436509635136887680365907473302854005028249685573851056342537512555330185613495045312421938306548346500532407073201369270940756937989468595275380793561395374755594532151660764132660245079004216205041864222064111657329665107660564306458537560517179922662602015990753242842397001921679268577417135144896218581516962198254848828789749345104600062144787214691919147996642069573619360390245363753619528262571426360142206465946670500793529333327610669367104682220855568702956140478196776120308021582345803654338862593370601215315966633405583562390487544878376272240793618403656000398334677144798728759155085943510571011110218231147217621031390052840173577839012721150155059967466511750204455646640594314201913439651022835205606434944107664465612818247373275091828045591727002773766775572406436151802664793853623902156414693497006260818861222874670584218803448461465598272567207625191670190803364776181190811412719453840815034118280252216291408003464158696369112622501274185211631716356582494626715798864308796614063629671276269886130106180385549958068957881491359877153946114758530547830690863659137331709339538684654114661032863994744367934550073473825253919712658785568707291158405904815136851604 4534771158165914687757236922530807595099231308815535773499906743158373726905179198832799152980306443406690433775288126670869901592279126852323969340712140371014473297101322186301425298624767503906745171199855725601661314027084050952681167727411735888625830426920500775568574069425106401977467815577183697952045982498233189459037769369769391316118917784683381181697078391811920289452907059449432309486335241803797461827466371450560561130356593674184936503641716147978348135917647453581984758955120565359064331730273687986018687110140883731454394097444148556344526610812418414652734352919478782916772486014535026771544464879680386794773121850858104529477873107963113134975620111023966172099165981879286490545584197082130206879469627451403211938287603052291800429796983150119221834799205409603916629577663297577360558523683548110978430627492679165118080369407330145993362285390614043075779483014277572603170131660553988271243904055161700458636660593810519357773922908939595200422137771434850017236403400318374455113003936751482059631778216254597711823456519165819224585375076821313527751086663581335399587664327761108731039066138636235687292942620558040176282378974976864829162724114925673208213693697923739511813209544366747768427342718018925015457114418091989494157000543693944745894533900586955096568208571895623784969899929468953556371877301213752253533868635600197648781958757784817513865167840371081079449542343600714867034059688526128433152950869932866874213428449582742089022956008017409199706389634588907139291047053931603808756303778132957961116051804626753751043088938791583970778986384609856071266052444822338511339097063158528226550808075828744078218643279897842585051832154530207400016486320744176589691664941987877076933325407919530626310939198968314797765219774012124689851326419729265890649941783828929239965439558423496262744693602509243445556627832688518640497630610776932200421305324951650457134262508783552171393619555253533350828729117575413059756916882206995375985375425739808716472652873729343361407 7337413865115175237194983863001813232126809403309444108070838373322410472486147549144236911553168172199742798494446869413799313635952003968708009748367601341589657310293353116510046334958140510759413496533715903117679438076472635613401620912797117468563664356171733010262133164554994950703807403763389990053565293194297384246589560727677183180624193158415130041557488062326275107833630853890800800103377802428011509691960729429603114083831317144408305124416787444884754621822566715558565781918983963704606019778804628349250334372675347361011240423148275456610386607762185552891357758406870719910709359018376865120888626340035910596583450194126495399179310065999064460101042765363610986593895000601843489934064902758012543675948981068690136703570053573928676558882355706848164075429835087336347264183222105601180726371009748773408867137127816052798446276880632999998390535076187894132122020526832902788783626705866410209550452401662232865709861963081460114711912377534870581215699166809605611768555061082507115358082940967687101496000280366255041488564179730125683122935594001236190353102654334578241984666249440377308456201283532454268809904818812889005072128320081464891307511329617592356210335767497358872203454908120367296689914144379067221923061088592783023490328154363311850576754756155658052708686768671744092991482275272607895234470671814967569500502041183760039269503636161089754658786244027081477784219488399443626189145632036699444263169101080084495244818502422915666861968729167564259673856146339111594937687648245805722195954800968163567550995912291219363861336312066675798824578111612629838041624851258490314003890916782430382965501572835004897079866154568426803855280615995805672583693945935846780495029718169067888346044861760345660429219451184606205768683932708493802473827693914477522366298366323555955764303867220110326374364878779129575662808218238476709455512102136809354367420083482198287825126167920883880733158239907648011861593112319780994306990356032249295698034211308516007631058778544480213011 11872185023281089924952220785532620827226040712124979881570745116480784199391326747977036064533474615606433232269734996084669215228231130821031979089079741712604130607394675302811471633582908014666158667733571628719340752103556686566082788640208853357189494783092233785830707233980101352681275219340573688005611275692530573705627330097446574496743110943098511223254566454138195397286537913340233109589713044231808971519427100880163675214187910818593241628058503592863102757740214169140550540874104529063670351509078316335269021482816231092465634520592424012954913218574603967544092111326349502827481845032911891892433091219716297391356572044984599928657183173962177595076662876387577158693060982481129980479649099840142750555418608520093348641857656626220476988679338856967385910229040496940263893760885403178541284894693296884387297764620495217916526646287963145991752820466801937207901503541110475391953758366420398480794356456823933324346522556891979472485835286474465781637836938244455629004958461400881570471086877719169161127778496620852753312020698895944907708310670822549718104189317915913641572330577201486039495267422168689956102847439370929181354507295058329720470235444543265564424029465421098384016664452487115065117256862397992237380175506684772517647328698057256596471288656742613149276895340567367877961382204741561451606347973028719823034370676783957688051462393945907268523954084398162557233761832000158493223205320562827877416119971012951369458246952005657755884924737184973459380245780928018734228734702177409530952258579101121528667047716917973114904425250858259769603564496222485909307677296080828825342987979940958609516309648663748975298509434466269388907112770526013072600180266680023370186694660156944965279370269679876286740158650152921003533903706720618492325154113643743413016240150152485195729743425643606589119058481288373021219436050926995349953142712913741554788725408433848744959388676704436052126777795161181362690322229895194054063907238239244671683409637048324724103711652273823574418 19209598888396265162147204648534434059352850115434423989641583489803194671877474297121272976086642787806176030764181865498468528864183134789739988837447343054193787917688028419321517968541048525425572164267287531837020190180029322179484409553005970825753159139263966796092840398535096303385082623103963678059176568886827957952216890825123757677367304101513641264812054516464470505120168767231033909693090846659820481211387830309766789298019227963001546752475291037747857379562780884699116322793088492768276371287882944684519355855491578453476874943740699469565299826336789520435449869733220222738191204051288757013321717559752207987940022239111095327836493239961242055177705641751188145286955983082973470413714002598155294231367589588783485345427710200149153547561694563815549985658875584276611157944107508779722011265703045657796164901748311270714972923168596145990143355542989831340023524067943378180737385072286808690344808858486166190056384519973439587197747664009336362853536105054061240773513522483388685829169818686856262623778776987107794800584878626070590831246264823785908457291972250491883556996826641863347951468705701144224912752258183818186426635615139794611777746774160857920634365232918457256220119360607482361807171006777059459303236595277555541137656852420568447048043412898271201985582109239111970952864480014169346840818644843687392534872717967717727320966030106997023182740328425244035017981320399602119412350952599527321679289072093035864703065454428573422746893466352537719054101927267130329166422350423215253148213380069285096218043629209192478765761562924935568428142607835115747349302147339319139346878896723388992481811221498753872378375589034696192762393386521818745183874212615870150681724378326012853625415131440221947169378101337527209302587639429112294798981807558220935382538516476041151494047292863716915493423360067502596882244269165472059408654815050550909156145491916047032784514844625319932859936035068829374551915342214975048370897594271493967381443848356840731734770430818303787429 31081783911677355087099425434067054886578890827559403871212328606283978871268801045098309040620117403412609263033916861583137744092414265610771967926527084766797918525082703722132989602123956540091730832000859160556360942283586008745567198193214824182942653922356200581923547632515197656066357842444537366064787844579358531657844220922570332174110415044612152488066620970602665902406706680571267019282803890891629452730814931189930464512207138781594788380533794630610960137302995053839666863667193021831946722796961261019788377338307809545942509464333123482520213044911393487979541981059569725565673049084200648905754808779468505379296594284095695256493676413923419650254368518138765303980016965564103450893363102438298044786786198108876833987285366826369630536241033420782935895887916081216875051704992911958263296160396342542183462666368806488631499569456559291981896176009791768547925027609053853572691143438707207171139165315310099514402907076865419059683582950483802144491373043298516869778471983884270256300256696406025423751557273607960548112605577522015498539556935646335626561481290166405525129327403843349387446736127869834181015599697554747367781142910198124332247982218704123485058394698339555640236783813094597426924427869175051696683412101962328058784985550477825043519332069640884351262477449806479848914246684755730798447166617872407215569243394751675415372428424052904291706694412823406592251743152399760612635556273162355199095409043105987234161312406434231178631818203537511178434347708195149063395157052600624784100471959170406624885091346127165593670186813783195338031707104057601656656979443420147964689866876664347601998120870162502847676885023500965581669506157047831817784054479295893520868419038482957818904785401120098233909536751490448212836491346149730787124135921201964348398778666628526347223790718507323504612481841355875618101680320092467409361797527964292463944870900349895777743903521329755984986713830230010737242237572110169102434804832510738639064853485405165455838482083092127361847 50291382800073620249246630082601488945931740942993827860853912096087173543146275342219582016706760191218785293798098727081606272956597400400511956763974427820991706442770732141454507570665005065517302996268146692393381132463615330925051607746220795008695813061620167378016388031050293959451440465548501044123964413466186489610061111747694089851477719146125793752878675487067136407526875447802300928975894737551449933942202761499697253810226366744596335133009085668358817516865775938538783186460281514600223094084844205704307733193799387999419384408073822952085512871248183008414991850792789948303864253135489405919076526339220713367236616523206790584330169653884661705432074159889953449266972948647076921307077105036453339018153787697660319332713077026518784083802727984598485881546791665493486209649100420737985307426099388199979627568117117759346472492625155437972039531552781599887948551676997231753428528510994015861483974173796265704459291596838858646881330614493138507344909148352578110551985506367658942129426515092881686375336050595068342913190456148086089370803200470121535018773262416897408686324230485212735398204833570978405928351955738565554207778525337918944025728992864981405692759931258012896456903173702079788731598875952111155986648697239883599922642402898393490567375482539155553248059559045591819867111164769900145287985262716094608104116112719393142693394454159901314889434741248650627269724472799362732047907225761882520774698115199023098864377860862804601378711669890048897488449635462279392561579403023840037248685339239691721103134975336358072435948376708130906459849711892717404006281590759467104036745773387736594479932091661256720055260612535661774431899543569650562967928691911763671550143416808970672530200532560320181078914852827975422139078985578843081923117728760185283781317183104567498717838011371040420105905201423378214983924589257939468770452343014843373101016392265942810528418365955075917846649865298840111794152914325144150805702426782232606446297333762006187573252513910431149276 81373166711750975336346055516668543832510631770553231732066240702371152414415076387317891057326877594631394556832015588664744017049011666011283924690501512587789624967853435863587497172788961605609033828269005852949742074747201339670618805939435619191638466983976367959939935663565491615517798307993038410188752258045545021267905332670264422025588134190737946240945296457669802309933582128373567948258698628443079386673017692689627718322433505526191123513542880298969777654168770992378450050127474536432169816881805466724096110532107197545361893872406946434605725916159576496394533831852359673869537302219690054824831335118689218746533210807302485840823846067808081355686442678028718753246989914211180372200440207474751383804939985806537153319998443852888414620043761405381421777434707746710361261354093332696248603586495730742163090234485924247977972062081714729953935707562573368435873579286051085326119671949701223032623139489106365218862198673704277706564913564976940651836282191651094980330457490251929198429683211498907110126893324203028891025796033670101587910360136116457161580254552583302933815651634328562122844940961440812586943951653293312921988921435536043276273711211569104890751154629597568536693686986796677215656026745127162852670060799202211658707627953376218534086707552180039904510537008852071668781357849525630943735151880588501823673359507471068558065822878212805606596129154072057219521467625199123344683463498924237719870107158305010333025690267297035780010529873427560075922797343657428455956736455624464821349157298410098345988226321463523666106135190491326244491556815950319060663261034179615068726612650052084196478052961823759567732145636036627356101405700617482380751983171207657192418562455291928491434985933680418414988451604318423634975570331728573869047253649962149632180095849733093845941628729878363924718387042779253833085604909350406878132249870979135837045887292615838588272321887284831902833363695528850849036390486435313253240507259292971245511150819167171643411734597002558511123 131664549511824595585592685599270032778442372713547059592920152798458325957561351729537473074033637785850179850630114315746350290005609066411795881454475940408781331410624168005042004743453966671126336824537152545343123207210816670595670413685656414200334280045596535337956323694615785574969238773541539454312716671511731510877966444417958511877065853336863739993823971944736938717460457576175868877234593365994529320615220454189324972132659872270787458646551965967328595171034546930917233236587756051032392910966649672428403843725906585544781278280480769386691238787407759504809525682645149622173401555355179460743907861457909932113769827330509276425154015721692743061118516837918672202513962862858257293507517312511204722823093773504197472652711520879407198703846489389979907658981499412203847471003193753434233911012595118942142717802603042007324444554706870167925975239115354968323822130963048317079548200460695238894107113662902630923321490270543136353446244179470079159181191340003673090882442996619588140559109726591788796502229374798097233938986489818187677281163336586578696599027815000200342501975864813774858243145795011790992872303609031878476196699960873962220299440204434086296443914560855581433150590160498757004387625621079274008656709496442095258630270356274612024654083034719195457758596567897663488648469014295531089023137143304596431777475620190461700759217332372706921485563895320707846791192097998486076731370724686120240644805273504033431890068128159840381389241543317608973411246979119707848518315858648304858597842637649790067091361296799881738542083567199457150951406527843036464669542624939082172763358423439820790957985053485016287787406248572289130533305244187132943719911863119420863968705872100899163965186466240738596067366457146399057114649317307416950970371378722334915961413032837661344659466741249404344824292244202632048069529498608346346902702213993979210146903684881781398800740253239907820680013560827690960830543400760457404046209686075203851957448152929177830984987110912989660399 213037716223575570921938741115938576610953004484100291324986393500829478371976428116855364131360515380481574407462129904411094307054620732423079806144977452996570956378477603868629501916242928276735370652806158398292865281958018010266289219625092033391972747029572903297896259358181277190487037081534577864501468929557276532145871777088222933902653987527601686234769268402406741027394039704549436825493291994437608707288238146878952690455093377796978582160094846266298372825203317923295683286715230587464562727848455139152499954258013783090143172152887715821296964703567336001204059514497509296042938857574869515568739196576599150860303038137811762265977861789500824416804959515947390955760952777069437665707957519985956106628033759310734625972709964732295613323890250795361329436416207158914208732357287086130482514599090849684305808037088966255302416616788584897879910946677928336759695710249099402405667872410396461926730253152008996142183688944247414060011157744447019811017473531654768071212900486871517338988792938090695906629122699001126124964782523488289265191523472703035858179282367583503276317627499142336981088086756452603579816255262325191398185621396410005496573151416003191187195069190453149969844277147295434220043652366206436861326770295644306917337898309650830558740790586899235362269133576749735157429826863821162032758289023893098255450835127661530258825040210585512528081693049392765066312659723197609421414834223610357960514912431809043764915758395456876161399771416745169049334044322777136304475052314272769679946999936059888413079587618263405404648218757690783395442963343793355525332803659118697241489971073491904987436038015308775855519551884608916486634710944804615324471895034327078056387268327392827655400172399921157011055818061464822692090219649035990820017625028684484548141508882570755190601095471127768269542679286981885881155134407958753225034952084973115047192790977497619987073062140524739723513377256356541809866933887195770657286716945368175097468598972096349474396721707915548171522 344702265735400166507531426715208609389395377197647350917906546299287804329537779846392837205394153166331754258092244220157444597060229798834875687599453393405352287789101771873671506659696894947861707477343310943635988489168834680861959633310748447592307027075169438635852583052797062765456275855076117318814185601069008043023838221506181445779719840864465426228593240347143679744854497280725305702727885360432138027903458601068277662587753250067766040806646812233626967996237864854212916523302986638496955638815104811580903797983920368634924450433368485207988203490975095506013585197142658918216340412930048976312647058034509082974072865468321038691131877511193567477923476353866063158274915639927694959215474832497160829451127532814932098625421485611702812027736740185341237095397706571118056203360480839564716425611685968626448525839692008262626861171495455065805886185793283305083517841212147719485216072871091700820837366814911627065505179214790550413457401923917098970198664871658441162095343483491105479547902664682484703131352073799223358903769013306476942472686809289614554778310182583703618819603363956111839331232551464394572688558871357069874382321357283967716872591620437277483638983751308731402994867307794191224431277987285710869983479792086402175968168665925442583394873621618430820027730144647398646078295878116693121781426167197694687228310747851991959584257542958219449567256944713472913103851821196095498146204948296478201159717705313077196805826523616716542789012960062778022745291301896844152993368172921074538544842573709678480170948915063287143190302324890240546394369871636391990002346284057779414253329496931725778394023068793792143306958133181205617168016188991748268191806897446498920355974199493726819365358866161895607123184518611221749204868966343407770987996407406819464102921915408416535260562212377172614366971531184517929224663906567099571937654298967094257339694662379401385873802393764647544193390817184232770697477287956228061332926631443378949426047125025527305381708818828537831921 557739981958975737429470167831147186000348381681747642242892939800117282701514207963248201336754668546813328665554374124568538904114850531257955493744430846401923244167579375742301008575939823224597078130149469341928853771126852691128248852935840480984279774104742341933748842410978339955943312936610695183315654530626284575169709998594404379682373828392067112463362508749550420772248536985274742528221177354869746735191696747947230353042846627864744622966741658499925340821441182777508599810018217225961518366663559950733403752241934151725067622586256201029285168194542431507217644711640168214259279270504918491881386254611108233834375903606132800957109739300694391894728435869813454114035868416997132624923432352483116936079161292125666724598131450343998425351626990980702566531813913730032264935717767925695198940210776818310754333876780974517929277788284039963685797132471211641843213551461247121890883945281488162747567619966920623207688868159037964473468559668364118781216138403313209233308243970362622818536695602773180609760474772800349483868551536794766207664210281992650412957592550167206895137230863098448820419319307916998152504814133682261272567942753693973213445743036440468670834052941761881372839144455089625444474930353492147731310250087730709093306066975576273142135664208517666182296863721397133803508122741937855154539715191090792942679145875513522218409297753543731977648949994106237979416511544393704919561039171906836161674630137122120961721584919073592704188784376807947072079335624673980457468420487193844218491842509769566893250536533326692547838521082581023941837333215429747515335149943176476655743300570423630765830061084102567998826510017790122103802727133796363592663701931773576976743242526886554474765531266083052618179002580076044441295088615379398591005621436091304012244430797979171725861657683504940883909650818166403810379798314525852796972606383940209304532485639877021372946864534289387267706768073540774580564411175151998718619643576811554046894646097121876779778430526744086003443 902442247694375903937001594546355795389743758879394993160799486099405087031051987809641038542148821713145082923646618344725983501175080330092831181343884239807275531956681147615972515235636718172458785607492780285564842260295687371990208486246588928576586801179911780569601425463775402721399588791686812502129840131695292618193548220100585825462093669256532538691955749096694100517103034266000048230949062715301884763095155349015508015630599877932510663773388470733552308817679047631721516333321203864458474005478664762314307550225854520359992073019624686237273371685517527013231229908782827132475619683434967468194033312645617316808448769074453839648241616811887959372651912223679517272310784056924827584138907184980277765530288824940598823223552935955701237379363731166043803627211620301150321139078248765259915365822462786937202859716472982780556138959779495029491683318264494946926731392673394841376100018152579863568404986781832250273194047373828514886925961592281217751414803274971650395403587453853728298084598267455665312891826846599572842772320550101243150136897091282264967735902732750910513956834227054560659750551859381392725193373005039331146950264110977940930318334656877746154473036693070612775834011762883816668906208340777858601293729879817111269274235641501715725530537830136097002324593866044532449586418620054548276321141358288487629907456623365514177993555296501951427216206938819710892520363365589800417707244120203314362834347842435198158527411442690309246977797336870725094824626926570824610461788660114918757036685083479245373421485448389979691028823407471264488231703087066139505337496227234256069996630067355356544224084152896360142133468150971327720970743322788111860855508829220075897099216726380281294130890132244948225302187098687266190499957581722806361993617843498123476347352713387588261122219895882113498276622349350921739604462221092952368910260682907303561872180302256422758820666928054034811900158890725007351261888463108226779952570208254932996320693222147404085160139345572623835364 1460182229653351641366471762377502981390092140561142635403692425899522369732566195772889239878903490259958411589200992469294522405289930861350786675088315086209198776124260523358273523811576541397055863737642249627493696031422540063118457339182429409560866575284654122503350267874753742677342901728297507685445494662321577193363258218694990205144467497648599651155318257846244521289351571251274790759170240070171631498286852096962738368673446505797255286740130129233477649639120230409230116143339421090419992372142224713047711302467788672085059695605880887266558539880059958520448874620422995346734898953939885960075419567256725550642824672680586640605351356112582351267380348093492971386346652473921960209062339537463394701609450117066265547821684386299699662730990722146746370159025534031182586074796016690955114306033239605247957193593253957298485416748063534993177480450735706588769944944134641963266983963434068026315972606748752873480882915532866479360394521260645336532630941678284859628711831424216351116621293870228845922652301619399922326640872086896009357801107373274915380693495282918117409094065090153009480169871167298390877698187138721592419518206864671914143764077693318214825307089634832494148673156217973442113381138694270006332603979967547820362580302617077988867666202038653763184621457587441666253094541361992403430860856549379280572586602498879036396402853050045683404865156932925948871936874909983505337268283292110150524508977979557319120248996361763901951166581713678672166903962551244805067930209147308762975528527593248812266672021981716672238867344490052288430069036302495887020672646170410732725739930637778987310054145236998928140959978168761449824773470456584475453519210760993652873842459253266835768896421398328000843481189678763310631795046197102204952999239279589427488591783511366759986983877579387054382186273167517325549984260535618805165882867066847512866404665942133444131767531462343422079606926964265781931826299638260225498572213785066487043215339319269280864938569872316709838807 2362624477347727545303473356923858776779835899440537628564491911998927456763618183582530278421052311973103494512847610814020505906465011191443617856432199326016474308080941670974246039047213259569514649345135029913058538291718227435108665825429018338137453376464565903072951693338529145398742490519984320187575334794016869811556806438795576030606561166905132189847274006942938621806454605517274838990119302785473516261382007445978246384304046383729765950513518599967029958456799278040951632476660624954878466377620889475362018852693643192445051768625505573503831911565577485533680104529205822479210518637374853428269452879902342867451273441755040480253592972924470310640032260317172488658657436530846787793201246722443672467139738942006864371045237322255400900110354453312790173786237154332332907213874265456215029671855702392185160053309726940079041555707843030022669163769000201535696676336808036804643083981586647889884377593530585123754076962906694994247320482852926554284045744953256510024115418878070079414705892137684511235544128465999495169413192636997252507938004464557180348429398015669027923050899317207570139920423026679783602891560143760923566468470975649855074082412350195960979780126327903106924507167980857258782287347035047864933897709847364931631854538258579704593196739868789860186946051453486198702680959982046951707181997907667768202494059122244550574396408346547634832081363871745659764457238275573305754975527412313464887343325821992517278776407804454211198144379050549397261728589477815629678391997807423681732565212676728057640093507430106651929896167897523552918300739389562026526010142397644988795736560705134343854278229389895288283093446319732777545744213779372587314374719590213728770941675979647117063027311530572949068783376777450576822295003778825011314992857123087550964939136224754348248106097475269167880462895516868247289588722756711757534793127749754816428276846244389866890588198390397456891507085854990789283088188101368452278524783993321420039536032541416684950098709217889333674171 3822806707001079186669945119301361758169928040001680263968184337898449826496184379355419518299955802233061906102048603283315028311754942052794404531520514412225673084205202194332519562858789800966570513082777279540552234323140767498227123164611447747698319951749220025576301961213282888076085392248281827873020829456338447004920064657490566235751028664553731841002592264789183143095806176768549629749289542855645147759668859542940984752977492889527021237253648729200507608095919508450181748620000046045298458749763114188409730155161431864530111464231386460770390451445637444054128979149628817825945417591314739388344872447159068418094098114435627120858944329037052661907412608410665460045004089004768748002263586259907067168749189059073129918866921708555100562841345175459536543945262688363515493288670282147170143977888941997433117246902980897377526972455906565015846644219735908124466621280942678767910067945020715916200350200279337997234959878439561473607715004113571890816676686631541369652827250302286430531327186007913357158196430085399417496054064723893261865739111837832095729122893298587145332144964407360579620090294193978174480589747282482515985986677840321769217846490043514175805087215962735601073180324198830700895668485729317871266501689814912751994434840875657693460862941907443623371567509040927864955775501344039355138042854457047048775080661621123586970799261396593318236946520804671608636394113185556811092243810704423615411852303801549836399025404166218113149310960764228069428632552029060434746322206954732444708093740269976869906765529411823324168763512387575841348369775692057913546682788568055721521476491342913331164332374626894216424053424488494227370517684235957062767893930351207381644784135232913952831923732928900949912264566456213887454090049975927216267992096402676978453530919736121108235089975054656222262649168684385572839572983292330562700675994816602329294681512186523311022355729852740878971114012819256571214914487739628677777096997778387907082751371860685965815037279090206043512978 6185431184348806731973418476225220534949763939442217892532676249897377283259802562937949796721008114206165400614896214097335534218219953244238022387952713738242147392286143865306765601906003060536085162427912309453610772614858994933335788990040466085835773328213785928649253654551812033474827882768266148060596164250355316816476871096286142266357589831458864030849866271732121764902260782285824468739408845641118664021050866988919231137281539273256787187767167329167537566552718786491133381096660671000176925127384003663771749007855075056975163232856892034274222363011214929587809083678834640305155936228689592816614325327061411285545371556190667601112537301961522972547444868727837948703661525535615535795464832982350739635888928001079994289912159030810501462951699628772326717731499842695848400502544547603385173649744644389618277300212707837456568528163749595038515807988736109660163297617750715572553151926607363806084727793809923120989036841346256467855035486966498445100722431584797879676942669180356509946033078145597868393740558551398912665467257360890514373677116302389276077552291314256173255195863724568149760010717220657958083481307426243439552455148815971624291928902393710136784867342290638707997687492179687959677955832764365736200399399662277683626289379134237398054059681776233483558513560494414063658456461326086306845224852364714816977574720743368137545195669743140953069027884676417268400851351461130116847219338116737080299195629623542353677801811970672324347455339814777466690361141506876064424714204762156126440658952946704927546859036841929976098659680285099394266670515081619940072692930965700710317213052048047675018610604016789504707146870808227004916261898015329650082268649941421110415725811212561069894951044459473898981047943233664464276385053754752227582984953525764529418470055960875456483196072529925390143112064201253820129161706049042320235469122566357145722958358430913177912943928243138335862621098674247360498002675840997130055621781771709327122287404402102650765135988308095377187149 10008237891349885918643363595526582293119691979443898156500860587795827109755986942293369315020963916439227306716944817380650562529974895297032426919473228150467820476491346059639285164764792861502655675510689588994163006937999762431562912154651913833534093279963005954225555615765094921550913275016547975933616993706693763821396935753776708502108618496012595871852458536521304907998066959054374098488698388496763811780719726531860215890259032162783808425020816058368045174648638294941315129716660717045475383877147117852181479163016506921505274697088278495044612814456852373641938062828463458131101353820004332204959197774220479703639469670626294721971481630998575634454857477138503408748665614540384283797728419242257806804638117060153124208779080739365602025793044804231863261676762531059363893791214829750555317627633586387051394547115688734834095500619656160054362452208472017784629918898693394340463219871628079722285077994089261118223996719785817941462750491080070335917399118216339249329769919482642940477360264153511225551936988636798330161521322084783776239416228140221371806675184612843318587340828131928729380101011414636132564071054708725955538441826656293393509775392437224312589954558253374309070867816378518660573624318493683607466901089477190435620724220009895091514922623683677106930081069535341928614231962670125661983267706821761865752655382364491724515994931139734271305974405481088877037245464646686927939463148821160695711047933425092190076827216136890437496766300579005536118993693535936499171036411716888571148752693216681797453624566253753300267423192672675235615040290773677853619375719533756431838689543390961006182942978643683721131200295296721232286779582251286712850162580292628492060509946445475022726874777388374848893312509689878351730475103730679443850977049928441507872000975696996564718286047584581612405761232885639392968734689341372882936145117382959475017639870617436488935299658095879214833735111493503931712917163580625807832718779550097234205038776262788616580173267398301420700127 16193669075698692650616782071751802828069455918886116049033536837693204393015789505231319111741972030645392707331841031477986096748194848541270449307425941888709967868777489924946050766670795922038740837938601898447773779552858757364898701144692379919369866608176791882874809270316906955025741157784814123994213157957049080637873806850062850768466208327471459902702324808253426672900327741340198567228107234137882475801770593520779447027540571436040595612787983387535582741201357081432448510813321388045652309004531121515953228170871581978480437929945170529318835177468067303229747146507298098436257290048693925021573523101281890989184841226816962323084018932960098607002302345866341357452327140075999819593193252224608546440527045061233118498691239770176103488744744433004189979408262373755212294293759377353940491277378230776669671847328396572290664028783405755092878260197208127444793216516444109913016371798235443528369805787899184239213033561132074409317785978046568781018121549801137129006712588662999450423393342299109093945677547188197242826988579445674290613093344442610647884227475927099491842536691856496879140111728635294090647552362134969395090896975472265017801704294830934449374821900544013017068555308558206620251580151258049343667300489139468119247013599144132489568982305459910590488594630029755992272688423996211968828492559186476682730230103107859862061190600882875224375002290157506145438096816107817044786682486937897776010243563048634543754629028107562761844221640393783002809354835042812563595750616479044697589411646163386725000483603095683276366082872957774629881710805855297793692068650499457142155902595439008681201553582660473225838347166104948237203041480266616362932431230234049602476235757658036092621825821847848747874360452923542816006860157485431671433962003454206037290471031657872021201482120114507002548873297086893213097896395390415203171614239949316620740598229048349666848243586339017550696356210167751292210919839421622937888340561321806561327326180664891267345309255706396797887276 26201906967048578569260145667278385121189147898330014205534397425489031502771776447524688426762935947084620014048785848858636659278169743838302876226899170039177788345268835984585335931435588783541396513449291487441936786490858519796461613299344293752903959888139797837100364886082001876576654432801362099927830151663742844459270742603839559270574826823484055774554783344774731580898394700394572665716805622634646287582490320052639662917799603598824404037808799445903627915849995376373763640529982105091127692881678239368134707333888088899985712627033449024363447991924919676871685209335761556567358643868698257226532720875502370692824310897443257045055500563958674241457159823004844766200992754616384103390921671466866353245165162121386242707470320509541705514537789237236053241085024904814576188084974207104495808905011817163721066394444085307124759529403061915147240712405680145229423135415137504253479591669863523250654883781988445357437030280917892350780536469126639116935520668017476378336482508145642390900753606452620319497614535824995572988509901530458066852509572582832019690902660539942810429877519988425608520212740049930223211623416843695350629338802128558411311479687268158761964776458797387326139423124936725280825204469751732951134201578616658554867737819154027581083904929143587697418675699565097920886920386666337630811760266008238548482885485472351586577185532022609495680976695638595022475342280754503972726145635759058471721291496473726733831456244244453199340987940972788538928348528578749062766787028195933268738164339380068522454108169349436576633506065630449865496751096628975647311444370033213573994592138829969687384496561304156946969547461401669469489821062517903075782593810526678094536745704103511115348700599236223596767672962613421167737335261216111115284939053382647545162472007354868585919768167699088614954634529972532606066631084731788086107759357332276095758238099665786155783543244434896765530091321661255223923837003002248745721059340871903795532364956927679883925482523104698218587403 42395576042747271219876927739030187949258603817216130254567934263182235895787565952756007538504907977730012721380626880336622756026364592379573325534325111927887756214046325909531386698106384705580137351387893385889710566043717277161360314444036673672273826496316589719975174156398908831602395590586176223922043309620791925097144549453902410039041035150955515677257108153028158253798722441734771232944912856772528763384260913573419109945340175034864999650596782833439210657051352457806212151343303493136780001886209360884087935504759670878466150556978619553682283169392986980101432355843059655003615933917392182248106243976784261682009152124260219368139519496918772848459462168871186123653319894692383922984114923691474899685692207182619361206161560279717809003282533670240243220493287278569788482378733584458436300182390047940390738241772481879415423558186467670240118972602888272674216351931581614166495963468098966779024689569887629596650063842049966760098322447173207897953642217818613507343195096808641841324146948751729413443292083013192815815498480976132357465602917025442667575130136467042302272414211844922487660324468685224313859175778978664745720235777600823429113183982099093211339598359341400343207978433494931901076784621009782294801502067756126674114751418298160070652887234603498287907270329594853913159608810662549599640252825194715231213115588580211448638376132905484720055978985796101167913439096862321017512828122696956247731535059522361277586085272352015961185209581366571541737703363621561626362537644674977966327575985543455247454591772445119852999588938588224495378461902484273441003513020532670716150494734268978368586050143964630172807894627506617706692862542784519438715025040760727697012981461761547207970526421084072344642033415536963983744195418701542786718901056836853582452943039012740607121250287813595617503507827059425819164527480122203289279373597281592716498836328714135822631786830773914316226447531829006516134756842423871683609399902193710356859691137592571151270791778811095016474679 68597483009795849789137073406308573070447751715546144460102331688671267398559342400280695965267843924814632735429412729195259415304534336217876201761224281967065544559315161894116722629541973489121533864837184873331647352534575796957821927743380967425177786384456387557075539042480910708179050023387538323849873461284534769556415292057741969309615861974439571451811891497802889834697117142129343898661718479407175050966751233626058772863139778633689403688405582279342838572901347834179975791873285598227907694767887600252222642838647759778451863184012068578045731161317906656973117565178821211570974577786090439474638964852286632374833463021703476413195020060877447089916621991876030889854312649308768026375036595158341252930857369304005603913631880789259514517820322907476296461578312183384364670463707791562932109087401865104111804636216567186540183087589529585387359685008568417903639487346719118419975555137962490029679573351876074954087094122967859110878858916299847014889162885836089885679677604954284232224900555204349732940906618838188388804008382506590424318112489608274687266032797006985112702291731833348096180537208735154537070799195822360096349574579729381840424663669367251973304374818138787669347401558431657181901989090761515245935703646372785228982489237452187651736792163747085985325946029159951834046529197328887230452013091202953779696001074052563035215561664928094215736955681434696190388781377616824990238973758456014719452826555996088011417541516596469160526197522339360080666051892200310689129324672870911235065740324923523769908699941794556429633095004218674360875212999113249088314957390565884290145086873098948055970546705268787119777442088908287176182683605302422514497618851287405791549727165865058323319227020320295941409706378150385151481530679917653902003840110219501127615415046367609193041018455512684232458142357031958425231158564853991375387132954613868812257074428379921978415330075208811081756538853490261740058593845426120429330459243065614152392056094520251035196274301915793235062082 110993059052543121009014001145338761019706355532762274714670265951853503294346908353036703503772751902544645456810039609531882171330898928597449527295549393894953300773361487803648109327648358194701671216225078259221357918578293074119182242187417641097451612880772977277050713198879819539781445613973714547771916770905326694653559841511644379348656897125395087129068999650831048088495839583864115131606631336179703814351012147199477882808479953668554403339002365112782049229952700291986187943216589091364687696654096961136310578343407430656918013740990688131728014330710893637074549921021880866574590511703482621722745208829070894056842615145963695781334539557796219938376084160747217013507632544001151949359151518849816152616549576486624965119793441068977323521102856577716539682071599461954153152842441376021368409269791913044502542877989049065955606645775997255627478657611456690577855839278300732586471518606061456808704262921763704550737157965017825870977181363473054912842805103654703393022872701762926073549047503956079146384198701851381204619506863482722781783715406633717354841162933474027414974705943678270583840861677420378850929974974801024842069810357330205269537847651466345184643973177480188012555379991926589082978773711771297540737205714128911903097240655750347722389679398350584273233216358754805747206138007991436830092265916397669010909116662632774483853937797833578935792934667230797358302220474479146007751801881152970967184361615518449289003626788948485121711407103705931622403755255821872315491862317545889201393316310466979017363291714239676282632683942806898856253674901597522529318470411098555006295581607367926424556596849233417292585336716414904882875546148086941953212643892048133488562708627626605531289753441404368286051739793687349135225726098619196688722741167056354710068358085380349800162268743326279849961650184091384244395686044976194664666506551895461528755910757094057801047116905982725397982986385319268256193350687849992112939859145259324509251747232112822186467066080726888251536761 179590542062338970798151074551647334090154107248308419174772597640524770692906250753317399469040595827359278192239452338727141586635433264815325729056773675862018845332676649697764831957190331683823205081062263132553005271112868871077004169930798608522629399265229364834126252241360730247960495637361252871621790232189861464209975133569386348658272759099834658580880891148633937923192956725993459030268349815586878865317763380825536655671619732302243807027407947392124887802854048126166163735089874689592595391421984561388533221182055190435369876925002756709773745492028800294047667486200702078145565089489573061197384173681357526431676078167667172194529559618673667028292706152623247903361945193309919975734188114008157405547406945790630569033425321858236838038923179485192836143649911645338517823306149167584300518357193778148614347514205616252495789733365526841014838342620025108481495326625019851006447073744023946838383836273639779504824252087985684981856040279772901927731967989490793278702550306717210305773948059160428879325105320689569593423515245989313206101827896241992042107195730481012527676997675511618680021398886155533388000774170623384938419384937059587109962511320833597157948347995618975681902781550358246264880762802532812786672909360501697132079729893202535374126471562097670258559162387914757581252667205320324060544279007600622790605117736685337519069499462761673151529890348665493548691001852095970997990775639608985686637188171514537300421168305544954282237604626045291703069807148022183004621186990416800436459056635390502787271991656034232712265778947025573217128887900710771617633427801664439296440668480466874480527143554502204412362778805323192059058229753389364467710262743335539280112435793491663854608980461724664227461446171837734286707256778536850590726581277275855837683773131747958993203287198838964082419792541123342669626844609830186040053639506509330341012985185473979779462446981191536479739525238809529996251944533276112542270318388324938661643803326633073221663340382642681486598843 290583601114882091807165075696986095109860462781070693889442863592378273987253159106354102972813347729903923649049491948259023757966332193412775256352323069756972146106038137501412941284838689878524876297287341391774363189691161945196186412118216249620081012146002342111176965440240549787741941251334967419393707003095188158863534975081030728006929656225229745709949890799464986011688796309857574161874981151766582679668775528025014538480099685970798210366410312504906937032806748418152351678306463780957283088076081522524843799525462621092287890665993444841501759822739693931122217407222582944720155601193055682920129382510428420488518693313630867975864099176469886966668790313370464916869577737311071925093339632857973558163956522277255534153218762927214161560026036062909375825721511107292670976148590543605668927626985691193116890392194665318451396379141524096642317000231481799059351165903320583592918592350085403647088099195403484055561410053003510852833221643245956840574773093145496671725423008480136379322995563116508025709304022540950798043022109472035987885543302875709396948358663955039942651703619189889263862260563575912238930749145424409780489195294389792379500358972299942342592321173099163694458161542284835347859536514304110327410115074630609035176970548952883096516150960448254531792378746669563328458805213311760890636544923998291801514234399318112002923437260595252087322825015896290906993222326575117005742577520761956653821549787032986589424795094493439403949011729751223325473562403844055320113049307962689637852372945857481804635283370273908994898462889832472073382562802308294146951898212762994302736250087834800905083740403735621704948115521738096941933775901476306420922906635383672768675144421118269385898733903129032513513185965525083421932982877156047279449322444332210547752131217128308793365555942165243932381442725214726914022530654806380704720146058404791869768895942568037580509563887174261877722511624128798252445295221126104655210177533584263170895550558745895408130406463369569738135604 470174143177221062605316150248633429200014570029379113064215461232903044680159409859671502441853943557263201841288944286986165344601765458228100985409096745618990991438714787199177773242029021562348081378349604524327368460804030816273190582049014858142710411411231706945303217681601280035702436888696220291015497235285049623073510108650417076665202415325064404290830781948098923934881753035851033192143330967353461544986538908850551194151719418273042017393818259897031824835660796544318515413396338470549878479498066083913377020707517811527657767590996201551275505314768494225169884893423285022865720690682628744117513556191785946920194771481298040170393658795143553994961496465993712820231522930620991900827527746866130963711363468067886103186644084785450999598949215548102211969371422752631188799454739711189969445984179469341731237906400281570947186112507050937657155342851506907540846492528340434599365666094109350485471935469043263560385662140989195834689261923018858768306741082636289950427973315197346685096943622276936905034409343230520391466537355461349193987371199117701439055554394436052470328701294701507943883659449731445626931523316047794718908580231449379489462870293133539500540669168718139376360943092643081612740299316836923114083024435132306167256700442155418470642622522545924790351541134584320909711472418632084951180823931598914592119352136003449521992936723356925238852715364561784455684224178671088003733353160370942340458737958547523889845963400038393686186616355796515028543369551866238324734236298379490074311429581247984591907275026308141707164241836858045290511450703019065764585326014427433599176918568301675385610883958237826117310894327061289000992005654865670888633169378719212048787580214609933240507714364853696740974632137362817708640239655692897870175903721608066385435904348876267786568843141004208014801235266338069583649375264636566744773785564914122210781881128042017359972010868365798357462036862938328248697239754402217197480495921909201832539353885378968629793746846012251224734447 760757744292103154412481225945619524309875032810449806953658324825281318667412568966025605414667291287167125490338436235245189102568097651640876241761419815375963137544752924700590714526867711440872957675636945916101731650495192761469376994167231107762791423557234049056480183121841829823444378140031187710409204238380237781937045083731447804672132071550294150000780672747563909946570549345708607354018312119120044224655314436875565732631819104243840227760228572401938761868467544962470867091702802251507161567574147606438220820232980432619945658256989646392777265137508188156292102300645867967585876291875684427037642938702214367408713464794928908146257757971613440961630286779364177737101100667932063825920867379724104521875319990345141637339862847712665161158975251611011587795092933859923859775603330254795638373611165160534848128298594946889398582491648575034299472343082988706600197658431661018192284258444194754132560034664446747615947072193992706687522483566264815608881514175781786622153396323677483064419939185393444930743713365771471189509559464933385181872914501993410836003913058391092412980404913891397207745920013307357865862272461472204499397775525839171868963229265433481843132990341817303070819104634927916960599835831141033441493139509762915202433670991108301567158773482994179322143919881253884238170277631943845841817368855597206393633586535321561524916373983952177326175540380458075362677446505246205009475930681132898994280287745580510479270758494531833090135628085547738354016931955710293644847285606342179712163802527105466396542558396582050702062704726690517363894013505327359911537224227190427901913168656136476290694624361973447822259009848799385942925781556341977309556076014102884817462724635728202626406448267982729254487818102887901130573222532848945149625226165940276933188035566004576579934399083169451947182677991552796497671905919442947449493931623318914080550777070610054940481574755540060235184548487067126501142534975528321852690673455493465003434904444124864037924153309381820962870051 1230931887469324217017797376194252953509889602839828920017873786058184363347571978825697107856521234844430327331627380522231354447169863109868977227170516560994954128983467711899768487768896733003221039053986550440429100111299223577742567576216245965905501834968465756001783400803443109859146815028727408001424701473665287405010555192381864881337334486875358554291611454695662833881452302381559640546161643086473505769641853345726116926783538522516882245154046832298970586704128341506789382505099140722057040047072213690351597840940498244147603425847985847944052770452276682381461987194069152990451596982558313171155156494894000314328908236276226948316651416766756994956591783245357890557332623598553055726748395126590235485586683458413027740526506932498116160757924467159113799764464356612555048575058069965985607819595344629876579366204995228460345768604155625971956627685934495614141044150960001452791649924538304104618031970133490011176332734334981902522211745489283674377188255258418076572581369638874829749516882807670381835778122709001991580976096820394734375860285701111112275059467452827144883309106208592905151629579463038803492793795777519999218306355757288551358426099558567021343673659510535442447180047727570998573340135147977956555576163944895221369690371433263720037801396005540104112495461015838205147881750050575930792998192787196120985752938671325011046909310707309102565028255745019859818361670683917293013209283841503841334739025704128034369116721894570226776322244441344253382560301507576531969581521904721669786475232108353450988449833422890192409226946563548562654405464208346425676122550241617861501090087224438151676305508320211273939569904175860674943917787211207648198189245392822096866250304850338135866914162632836425995462450240250718839213462188541843019801129887548343318623939914880844366503242224173659961983913257890866081321281184079514194267717188233036291332658198652072300453585623905858592646585350005454749839774729930539050171169377402666835974258329503832667717900155394072187604498 1991689631761427371430278602139872477819764635650278726971532110883465682014984547791722713271188526131597452821965816757476543549737960761509853468931936376370917266528220636600359202295764444444093996729623496356530831761794416339211944570383477073668293258525699805058263583925284939682591193168758595711833905712045525186947600276113312686009466558425652704292392127443226743828022851727268247900179955205593549994297167782601682659415357626760722472914275404700909348572595886469260249596801942973564201614646361296789818661173478676767549084104975494336830035589784870537754089494715020958037473274433997598192799433596214681737621701071155856462909174738370435918222070024722068294433724266485119552669262506314340007462003448758169377866369780210781321916899718770125387559557290472478908350661400220781246193206509790411427494503590175349744351095804201006256100029017484320741241809391662470983934182982498858750592004797936758792279806528974609209734229055548489986069769434199863194734765962552312813936821993063826766521836074773462770485656285328119557733200203104523111063380511218237296289511122484302359375499476346161358656068238992203717704131283127723227389328824000503186806649852352745517999152362498915533939970979118989997069303454658136572124042424372021604960169488534283434639380897092089386052027682519776634815561642793327379386525206646572571825684691261279891203796125477935181039117189163498022685214522636740329019313449708544848387480389102059866457872526891991736577233463286825614428807511063849498639034635458917384992391819472243111289651290239080018299477713673785587659774468808289403003255880574627967000132682184721761828914024660060886843568767549625507745321406924981683713029486066338493320610900819155249950268343138619969786684721390788169426356053488620251811975480885420946437641307343111909166591249443662578993187103522461643761648811551950371883435269262127240935160379445918827831133837072581250982309705458860902861842832896131839409162773628696705642053464775893150474549 3222621519230751588448075978334125431329654238490107646989405896941650045362556526617419821127709760976027780153593197279707897996907823871378830696102452937365871395511688348500127690064661177447315035783610046796959931873093639916954512146599723039573795093494165561060046984728728049541738008197486003713258607185710812591958155468495177567346801045301011258584003582138889577709475154108827888446341598292067055763939021128327799586198896149277604718068322236999879935276724227976049632101901083695621241661718574987141416502113976920915152509952961342280882806042061552919216076688784173948489070256992310769347955928490214996066529937347382804779560591505127430874813853270079958851766347865038175279417657632904575493048686907171197118392876712708897482674824185929239187324021647085033956925719470186766854012801854420288006860708585403810090119699959826978212727714951979934882285960351663923775584107520802963368623974931426769968612540863956511731945974544832164363258024692617939767316135601427142563453704800734208602299958783775454351461753105722853933593485904215635386122847964045382179598617331077207511005078939384964851449864016512202936010487040416274585815428382567524530480309362888187965179200090069914107280106127096946552645467399553357941814413857635741642761565494074387547134841912930294533933777733095707427813754429989448365139463877971583618734995398570382456232051870497794999400787873080791035894498364140581663758339153836579217504202283672286642780116968236245119137534970863357584010329415785519285114266743812368373442225242362435520516597853787642672704941922020211263782324710426150904093343105012779643305641002395995701398818200520735830761355978757273705934566799747078549963334336404474360234773533655581245412718583389338809000146909932631189227485941036963570435915395766265312940883531516771871150504507334528660314468287601975838029365999784986663216093467914199541388746003351777420477719187078036000822084435389399953033012210298798675383421103132529373359953620169965338079047 5214311150992178959878354580473997909149418874140386373960938007825115727377541074409142534398898287107625232975559014037184441546645784632888684165034389313736788662039908985100486892360425621891409032513233543153490763634888056256166456716983200113242088352019865366118310568654012989224329201366244599425092512897756337778905755744608490253356267603726663962876395709582116321537498005836096136346521553497660605758236188910929482245614253776038327190982597641700789283849320114445309881698703026669185443276364936283931235163287455597682701594057936836617712841631846423456970166183499194906526543531426308367540755362086429677804151638418538661242469766243497866793035923294802027146200072131523294832086920139218915500510690355929366496259246492919678804591723904699364574883578937557512865276380870407548100206008364210699434355212175579159834470795764027984468827743969464255623527769743326394759518290503301822119215979729363528760892347392931120941680203600380654349327794126817802962050901563979455377390526793798035368821794858548917121947409391050973491326686107320158497186228475263619475888128453561509870380578415731126210105932255504406653714618323543997813204757206568027717286959215240933483178352452568829641220077106215936549714770854211494513938456282007763247721734982608670981774222810022383919985805415615484062629316072782775744525989084618156190560680089831662347435847995975730180439905062244289058579712886777321992777652603545124065891682672774346509237989495128236855714768434150183198439136926849368783753301379271285758434617061834678631806249144026722691004419635693996851442099179234440307096598985587407610305773684580717463227732225180796717604924746306899213679888206672060233676363822470812853555384434474736495362986926527958778786831631323419358653841994525583822247890876651686259378524838859883780317095756778191239307655391124437481791014811336937035099528737176326782323906382797696248308853024150617251804394140848260855894855043194930514792583876761226079002007084945858488553596 8436932670222930548326430558808123340479073112630494020950343904766765772740097601026562355526608048083653013129152211316892339543553608504267514861136842251102660057551597333600614582425086799338724068296843589950450695507981696173120968863582923152815883445514030927178357553382741038766067209563730603138351120083467150370863911213103667820703068649027675221460399291721005899246973159944924024792863151789727661522175210039257281831813149925315931909050919878700669219126044342421359513800604110364806684938083511271072651665401432518597854104010898178898595647673907976376186242872283368855015613788418619136888711290576644673870681575765921466022030357748625297667849776564881985997966419996561470111504577772123490993559377263100563614652123205628576287266548090628603762207600584642546822202100340594314954218810218630987441215920760982969924590495723854962681555458921444190505813730094990318535102398024104785487839954660790298729504888256887632673626178145212818712585818819435742729367037165406597940844231594532243971121753642324371473409162496773827424920172011535793883309076439309001655486745784638717381385657355116091061555796272016609589725105363960272399020185589135552247767268578129121448357552542638743748500183233312883102360238253764852455752870139643504890483300476683058528909064722952678453919583148711191490443070502772224109665452962589739809295675488402044803667899866473525179840692935325080094474211250917903656535991757381703283395884956446633152018106463364481974852303405013540782449466342634888068867568123083654131876842304197114152322846997814365363709361557714208115224423889660591211189942090600187253611414686976713164626550425701532548366280725064172919614455006419138783639698158875287213790157968130317740775705509917297587786978541256050547881327935562547392683806272417951572319408370376655651467600264112719899622123678726413319820380811121923698315622205090526323712652386149473668786572211228653252626478576237660808927867253493729190176004979893755452361960705115823826632643 13651243821215109508204785139282121249628491986770880394911281912591881500117638675435704889925506335191278246104711225354076781090199393137156199026171231564839448719591506318701101474785512421230133100810077133103941459142869752429287425580566123266057971797533896293296668122036754027990396410929975202563443632981223488149769666957712158074059336252754339184336795001303122220784471165781020161139384705287388267280411398950186764077427403701354259100033517520401458502975364456866669395499307137033992128214448447555003886828688888116280555698068835015516308489305754399833156409055782563761542157319844927504429466652663074351674833214184460127264500123992123164460885699859684013144166492128084764943591497911342406494070067619029930110911369698548255091858271995327968337091179522200059687478481211001863054424818582841686875571132936562129759061291487882947150383202890908446129341499838316713294620688527406607607055934390153827490397235649818753615306381745593473061913612946253545691417938729386053318234758388330279339943548500873288595356571887824800916246858118855952380495304914572621131374874238200227251766235770847217271661728527521016243439723687504270212224942795703579965054227793370054931535904995207573389720260339528819652075009107976346969691326421651268138205035459291729510683287532975062373905388564326675553072386575554999854191442047207895999856355578233707151103747862449255360280597997569369153053924137695225649313644360926827349287567629220979661256095958492718830567071839163723980888603269484256852620869502354939890311459366031792784129096141841088054713781193408204966666523068895031518286541076187594863917188371557430627854282650882329265971205471371072133294343213091199017316061981346100067345542402605054236138692436445256366573810172579469906535169930088131214931697149069637831697933209236539431784696020890911138929779069850850801611395622458860733415150942266853106036558768947169917095425235379270504430872717085921664822722296688659704968588856654981531363967790061682315186239 22088176491438040056531215698090244590107565099401374415861625817358647272857736276462267245452114383274931259233863436670969120633753001641423713887308073815942108777143103652301716057210599220568857169106920723054392154650851448602408394444149046418873855243047927220475025675419495066756463620493705805701794753064690638520633578170815825894762404901782014405797194293024128120031444325725944185932247857077115928802586608989444045909240553626670191009084437399102127722101408799288028909299911247398798813152531958826076538494090320634878409802079733194414904136979662376209342651928065932616557771108263546641318177943239719025545514789950381593286530481740748462128735476424565999142132912124646235055096075683465897487629444882130493725563492904176831379124820085956572099298780106842606509680581551596178008643628801472674316787053697545099683651787211737909831938661812352636635155229933307031829723086551511393094895889050944126219902123906706386288932559890806291774499431765689288420784975894792651259078989982862523311065302143197660068765734384598628341167030130391746263804381353881622786861620022838944633151893125963308333217524799537625833164829051464542611245128384839132212821496371499176379893457537846317138220443572841702754435247361741199425444196561294773028688335935974788039592352255927740827824971713037867043515457078327223963856895009797635809152031066635751954771647728922780540121290932894449247528135388613129305849636118308530632683452585667612813274202421857200805419375244177264763338069612119144921488437625438594022188301670228906936451943139655453418423142751122413081890946958555622729476483166787782117528603058534143792480833076583861814337486196435245052908798219510337800955760140221387281135700370735371976914397946362553954360788713835520454416497865650678607615503421487589404017341579613195083252296285003631038551902748577264121431776433580784431730773147357379429749211155096643585881997446607923757057351293323582473750589550182388895144593836548736983725928495177506141818882 35739420312653149564736000837372365839736057086172254810772907729950528772975374951897972135377620718466209505338574662025045901723952394778579912913479305380781557496734609971002817531996111641798990269916997856158333613793721201031695820024715169684931827040581823513771693797456249094746860031423681008265238386045914126670403245128527983968821741154536353590133989294327250340815915491506964347071632562364504196082998007939630809986667957328024450109117954919503586225076773256154698304799218384432790941366980406381080425322779208751158965500148568209931212626285416776042499060983848496378099928428108474145747644595902793377220348004134841720551030605732871626589621176284250012286299404252730999998687573594808303981699512501160423836474862602725086470983092081284540436389959629042666197159062762598041063068447384314361192358186634107229442713078699620856982321864703261082764496729771623745124343775078918000701951823441097953710299359556525139904238941636399764836413044711942834112202914624178704577313748371192802651008850644070948664122306272423429257413888249247698644299686268454243918236494261039171884918128896810525604879253327058642076604552738968812823470071180542712177875724164869231311429362533053890527940703912370522406510256469717546395135522982946041166893371395266517550275639788902803201730360277364542596587843653882223818048337057005531809008386644869459105875395591372035900401888930463818400582059526308354955163280479235357981971020214888592474530298380349919635986447083340988744226672881603401774109307127793533912499761036260699720581039281496541473136923944530618048557470027450654247763024242975376981445791430091574420335115727466191080308691667806317186203141432601536818271822121567487348481242773340426213053090382807810320934598886414990360951667795738809822547200570557227235715274788849734515036992305894542177481681818428114923043172056039645165145924089624232535785769924043813502977422681987194261488224010409504138573311846871048600113182693203718515089896285239188457005121 57827596804091189621267216535462610429843622185573629226634533547309176045833111228360239380829735101741140764572438098696015022357705396420003626800787379196723666273877713623304533589206710862367847439023918579212725768444572649634104214468864216103805682283629750734246719472875744161503323651917386813967033139110604765191036823299343809863584146056318367995931183587351378460847359817232908533003880419441620124885584616929074855895908510954694641118202392318605713947178182055442727214099129631831589754519512365207156963816869529386037375302228301404346116763265079152251841712911914428994657699536372020787065822539142512402765862794085223313837561087473620088718356652708816011428432316377377235053783649278274201469328957383290917562038355506901917850107912167241112535688739735885272706839644314194219071712076185787035509145240331652329126364865911358766814260526515613719399651959704930776954066861630429393796847712492042079930201483463231526193171501527206056610912476477632122532987890518971355836392738354055325962074152787268608732888040657022057598580918379639444908104067622335866705098114283878116518070022022773833938096778126596267909769381790433355434715199565381844390697220536368407691322820070900207666161147485212225160945503831458745820579719544240814195581707331241305589867992044830544029555331990402409640103300732209447781905232066803167618160417711505211060647043320294816440523179863358267648110194914921484261012916597543888614654472800556205287804500802207120441405822327518253507564742493722546695597744753232127934688062706489606657032982421151994891560066695653031130448416986006276977239507409763159098974394488625718212815948804050052894646177864241562239111939652111874619227582261788874629616943144075798189967488329170364275295387600250510815368165661389488430162703992044816639732616368462929598289288590898173216033584567005379044474948489620429596876697236981611965534981079140457088859420128595118018545575303733086612323901397053437495257776529752455498815824780416694598824003 93567017116744339186003217372834976269579679271745884037407441277259704818808486180258211516207355820207350269911012760721060924081657791198583539714266684577505223770612323594307351121202822504166837708940916435371059382238293850665800034493579385788737509324211574248018413270331993256250183683341067822232271525156518891861440068427871793832405887210854721586065172881678628801663275308739872880075512981806124320968582624868705665882576468282719091227320347238109300172254955311597425518898348016264380695886492771588237389139648738137196340802376869614277329389550495928294340773895762925372757627964480494932813467135045305779986210798220065034388591693206491715307977828993066023714731720630108235052471222873082505451028469884451341398513218109627004321091004248525652972078699364927938903998707076792260134780523570101396701503426965759558569077944610979623796582391218874802164148689476554522078410636709347394498799535933140033640500843019756666097410443163605821447325521189574956645190805143150060413706486725248128613083003431339557397010346929445486855994806628887143552403753890790110623334608544917288402988150919584359542976031453654909986373934529402168258185270745924556568572944701237639002752182603954098194101851397582747567455760301176292215715242527186855362475078726507823140143631833733347231285692267766952236691144386091671599953569123808699427168804356374670166522438911666852340925068793822086048692254441229839216176197076779246596625493015444797762334799182557040077392269410859242251791415375325948469707051881025661847187823742750306377614021702648536364696990640183649179005887013456931225002531652738536080420185918717292633151064531516243974954869532047879425315081084713411437499404383356361978098185917416224403020578711978174596229986486665501176319833457128298252709904562602043875447891157312664113326280896792715393515266385433493967518120545660074762022621326605844501320751003184270591836842810582312280033799314142590750897213243924486095370959222956174013905721065655883055829124 151394613920835528807270433908297586699423301457319513264041974824568880864641597408618450897037090921948491034483450859417075946439363187618587166515054063774228890044490037217611884710409533366534685147964835014583785150682866500299904248962443601892543191607841324982265132743207737417753507335258454636199304664267123657052476891727215603695990033267173089581996356469030007262510635125972781413079393401247744445854167241797780521778484979237413732345522739556715014119433137367040152732997477648095970450406005136795394352956518267523233716104605171018623446152815575080546182486807677354367415327500852515719879289674187818182752073592305288348226152780680111804026334481701882035143164037007485470106254872151356706920357427267742258960551573616528922171198916415766765507767439100813211610838351390986479206492599755888432210648667297411887695442810522338390610842917734488521563800649181485299032477498339776788295647248425182113570702326482988192290581944690811878058237997667207079178178695662121416250099225079303454575157156218608166129898387586467544454575725008526588460507821513125977328432722828795404921058172942358193481072809580251177896143316319835523692900470311306400959270165237606046694075002674854305860262998882794972728401264132635038036294962071427669558056786057749128730011623878563891260841024258169361876794445118301119381858801190611867045329222067879881227169482231961668781448248657180353696802449356151323477189113674323135211279965816001003050139299984764160518798091738377495759356157869048495165304796634257789781875886449239913034647004123800531256257057335836680309454303999463208202242039062501695179394580407343010845967013335566296869601047396289441664427020736825286056726986645145236607715129061492022592988067041148538871525374086916011991687999118517786682872608554646860515180507525775593711615569487690888609548850952438873011993069035280504358899318563587456466855732082324727680696262939177430298579374617875677363221114640977923590628735752708629512721545846072577654653127 244961631037579867993273651281132562969002980729065397301449416101828585683450083588876662413244446742155841304394463620138136870521020978817170706229320748351734113815102360811919235831612355870701522856905751449954844532921160350965704283456022987681280700932052899230283546013539730674003691018599522458431576189423642548913916960155087397528395920478027811168061529350708636064173910434712654293154906383053868766822749866666486187661061447520132823572843086794824314291688092678637578251895825664360351146292497908383631742096167005660430056906982040632900775542366071008840523260703440279740172955465333010652692756809233123962738284390525353382614744473886603519334312310694948058857895757637593705158726095024439212371385897152193600359064791726155926492289920664292418479846138465741150514837058467778739341273123325989828912152094263171446264520755133318014407425308953363323727949338658039821110888135049124182794446784358322147211203169502744858387992387854417699505563518856782035823369500805271476663805711804551583188240159649947723526908734515913031310570531637413732012911575403916087951767331373712693324046323861942553024048841033906087882517250849237691951085741057230957527843109938843685696827185278808404054364850280377720295857024433811330252010204598614524920531864784256951870155255712297238492126716525936314113485589504392790981812370314420566472498026424254551393691921143628521122373317451002439745494703797381162693365310751102381807905458831445800812474099167321200596190361149236738011147573244374443635011848515283451629063710191990219412261025826449067620954047976020329488460191012920139427244570715240231259814766326060303479118077867082540844555916928337321089742101821538697494226391028501598585813314978908246996008645753126713467755360573581513168007832575646084935582513117248904390628398683088257824941850384483604003064117337872366979511189580940579120921939890193300968176483085508998272533105749759742578613173932018268114118327884902409685999694975664803526627266911728460710482251 396356244958415396800544085189430149668426282186384910565491390926397466548091680997495113310281537664104332338877914479555212816960384166435757872744374812125963003859592398029531120542021889237236208004870586464538629683604026851265608532418466589573823892539894224212548678756747468091757198353857977094630880853690766205966393851882303001224385953745200900750057885819738643326684545560685435706234299784301613212676917108464266709439546426757546555918365826351539328411121230045677730984893303312456321596698503045179026095052685273183663773011587211651524221695181646089386705747511117634107588282966185526372572046483420942145490357982830641730840897254566715323360646792396830094001059794645079175264980967175795919291743324419935859319616365342684848663488837080059183987613577566554362125675409858765218547765723081878261122800761560583333959963565655656405018268226687851845291749987839525120143365633388900971090094032783504260781905495985733050678574332545229577563801516523989115001548196467392892913904936883855037763397315868555889656807122102380575765146256645940320473419396917042065280200054202508098245104496804300746505121650614157265778660567169073215643986211368537358487113275176449732390902187953662709914627849163172693024258288566446368288305166670042194478588650842006080600166879590861129752967740784105675990280034622693910363671171505032433517827248492134432620861403375590189903821566108182793442297153153532486170554424425425517019185424647446803862613399152085361114988452887614233770503731113422938800316645149541241410939596641230132446908029950249598877211105311857009797914495012383347629486609777741926439209346733403314325085091202648837714156964324626762754169122558363983550953377673646835193528444040400269588996712794275252339280734660497525159695831694163871618455121671895764905808906208863851536557419872174492612612968290311239991504258616221083479821258453780757435032215167833725953229368688937172877192548549893945477339442525880333276628430728373433039348812757801038365135378 641317875995995264793817736470562712637429262915450307866940807028226052231541764586371775723525984406260173643272378099693349687481405145252928578973695560477697117674694758841450356373634245107937730861776337914493474216525187202231312815874489577255104593471947123442832224770287198765760889372457499553062457043114408754880310812037390398752781874223228711918119415170447279390858455995398089999389206167355481979499666975130752897100607874277679379491208913146363642702809322724315309236789128976816672742991000953562657837148852278844093829918569252284424997237547717098227229008214557913847761238431518537025264803292654066108228642373355995113455641728453318842694959103091778152858955552282672880423707062200235131663129221572129459678681157068840775155778757744351602467459716032295512640512468326543957889038846407868090034952855823754780224484320788974419425693535641215169019699326497564941254253768438025153884540817141826407993108665488477909066566720399647277069365035380771150824917697272664369577710648688406620951637475518503613183715856618293607075716788283354052486330972320958153231967385576220791569150820666243299529170491648063353661177818018310907595071952425768316014956385115293418087729373232471113968992699443550413320115313000257698540315371268656719399120515626263032470322135303158368245094457310041990103765624127086701345483541819452999990325274916388984014553324519218711026194883559185233187791856950913648863919735176527898827090883478892604675087498319406561711178814036850971781651304357797382435328493664824693040003306833220351859169055776698666498165153287877339286374686025303487056731180492982157699024113059463617804203169069731378558712881252964083843911224379902681045179768702148433779341759019308516585005358547401965807036095234079038327703664269809956554037634789144669296437304891952109361499270256658096615677085628183606971015448197161662600743198343974058403208698253342724225762474438696915455805722481912213591457770410782742962628125704038236565976079669529499075617629 1037674120954410661594361821659992862305855545101835218432432197954623518779633445583866889033807522070364505982150292579248562504441789311688686451718070372603660121534287156870981476915656134345173938866646924379032103900129214053496921348292956166828928486011841347655380903527034666857518087726315476647693337896805174960846704663919693399977167827968429612668177300990185922717543001556083525705623505951657095192176584083595019606540154301035225935409574739497902971113930552769993040221682432289272994339689503998741683932201537552027757602930156463935949218932729363187613934755725675547955349521397704063397836849776075008253719000356186636844296538983020034166055605895488608246860015346927752055688688029376031050954872545992065318998297522411525623819267594824410786455073293598849874766187878185309176436804569489746351157753617384338114184447886444630824443961762329067014311449314337090061397619401826926124974634849925330668775014161474210959745141052944876854633166551904760265826465893740057262491615585572261658715034791387059502840522978720674182840863044929294372959750369238000218512167439778728889814255317470544046034292142262220619439838385187384123239058163794305674502069660291743150478631561186133823883620548606723106344373601566704066828620537938698913877709166468269113070489014894019497998062198094147666094045658749780611709154713324485433508152523408523416635414727894808900930016449667368026630089010104446135034474159601953415846276308126339408537700897471491922826167266924465205552155035471220321235645138814365934450942903474450484306077085726948265375376258599734349084289181037686834686217790270724084138233459792866932129288260272380216272869845577590846598080346938266664596133146375795268972870203059708786174002071341677218146316829894576563487399495963973828172492756461040434202246211100815960898056690128832589228290053918494846962519706813382746080564456797754815838240913421176450178991843127634088332998271031806159068797212936663076239256556432411669605324892427330537440753007 1678991996950405926388179558130555574943284808017285526299373004982849571011175210170238664757333506476624679625422670678941912191923194456941615030691765933081357239208981915712431833289290379453111669728423262293525578116654401255728234164167445744084033079483788471098213128297321865623278977098772976200755794939919583715727015475957083798729949702191658324586296716160633202108401457551481615705012712119012577171676251058725772503640762175312905314900783652644266613816739875494308349458471561266089667082680504952304341769350389830871851432848725716220374216170277080285841163763940233461803110759829222600423101653068729074361947642729542631957752180711473353008750564998580386399718970899210424936112395091576266182618001767564194778676978679480366398975046352568762388922533009631145387406700346511853134325843415897614441192706473208092894408932207233605243869655297970282183331148640834655002651873170264951278859175667067157076768122826962688868811707773344524131702531587285531416651383591012721632069326234260668279666672266905563116024238835338967789916579833212648425446081341558958371744134825354949681383406138136787345563462633910283973101016203205695030834130116220073990517026045407036568566360934418604937852613248050273519664488914566961765368935909207355633276829682094532145540811150197177866243156655404189656197811282876867313054638255143938433498477798324912400649968052414027611956211333226553259817880867055359783898393894778481314673367191605232013212788395790898484537346080961316177333806339829017703670973632479190627490946210307670836165246141503646931873541411887611688370663867062990321742948970763706241837257572852330549933491429342111594831582726830554930441991571318169345641312915077943702752211962079017302759007429889079183953352925128655601815103160233783784726530391250185103498683515992768070259555960385490685843967139546678453933535155010544408681307655141728874241449611674519174404754317566331003788803993513718372660254983347445819201884682136449906171300972096860036516370636 2716666117904816587982541379790548437249140353119120744731805202937473089790808655754105553791141028546989185607572963258190474696364983768630301482409836305685017360743269072583413310204946513798285608595070186672557682016783615309225155512460401910912961565495629818753594031824356532480797064825088452848449132836724758676573720139876777198707117530160087937254474017150819124825944459107565141410636218070669672363852835142320792110180916476348131250310358392142169584930670428264301389680153993555362661422370008951046025701551927382899609035778882180156323435103006443473455098519665909009758460281226926663820938502844804082615666643085729268802048719694493387174806170894068994646578986246138176991801083120952297233572874313556260097675276201891892022794313947393173175377606303229995262172888224697162310762647985387360792350460090592431008593380093678236068313617060299349197642597955171745064049492572091877403833810516992487745543136988436899828556848826289400986335698139190291682477849484752778894560941819832929938381707058292622618864761814059641972757442878141942798405831710796958590256302265133678571197661455607331391597754776172504592540854588393079154073188280014379665019095705698779719044992495604738761736233796656996626008862516133665832197556447146054547154538848562801258611300165091197364241218853498337322291856941626647924763792968468423867006630321733435817285382780308836512886227782893921286447969877159805918932868054380434730519643499731571421750489293262390407363513347885781382885961375300238024906618771293556561941889113782121320471323227230595197248917670487346037454953048100677156429166761034430325975491032645197482062779689614491811104452572408145777040071918256436010237446061453738971725082165138726088933009501230756402099669755023232165302502656197757612899023147711225537700929727093584031157612650514323275072257193465173300896054861823927154761872111939483690079690525095695624583746160693965092121802264545524531729052196284108895441141238568861575776625864524190573957123643 4395658114855222514370720937921104012192425161136406271031178207920322660801983865924344218548474535023613865232995633937132386888288178225571916513101602238766374599952250988295845143494236893251397278323493448966083260133438016564953389676627847654996994644979418289851807160121678398104076041923861429049204927776644342392300735615833860997437067232351746261840770733311452326934345916659046757115648930189682249535529086201046564613821678651661036565211142044786436198747410303758609739138625554821452328505050513903350367470902317213771460468627607896376697651273283523759296262283606142471561571041056149264244040155913533156977614285815271900759800900405966740183556735892649381046297957145348601927913478212528563416190876081120454876352254881372258421769360299961935564300139312861140649579588571209015445088491401284975233543166563800523903002312300911841312183272358269631380973746596006400066701365742356828682692986184059644822311259815399588697368556599633925118038229726475823099129233075765500526630268054093598218048379325198185734889000649398609762674022711354591223851913052355916962000437090488628252581067593744118737161217410082788565641870791598774184907318396234453655536121751105816287611353430023343699588847044707270145673351430700627597566492356353410180431368530657333404152111315288375230484375508902526978489668224503515237818431223612362300505108120058348217935350832722864124842439116120474546265850744215165702831261949158916045193010691336803434963277689053288891900859428847097560219767715129255728577592403772747189432835324089792156636569368734242129122459082374957725825616915163667478172115731798136567812748605497528031996271118956603405936035299238700707482063489574605355878758976531682674477294127217743391692016931119835586053022680151887767117605816431541397625553538961410641199613243086352101417168610899813960916224333011851754829590016834471563443179767081212564321140136770214798988500478260296095910606258059242904389307179631554714643025920705311481947926836621050610473494279 7112324232760039102353262317711652449441565514255527015762983410857795750592792521678449772339615563570603050840568597195322861584653161994202217995511438544451391960695520060879258453699183407049682886918563635638640942150221631874178545189088249565909956210475048108605401191946034930584873106748949881897654060613369101068874455755710638196144184762511834199095244750462271451760290375766611898526285148260351921899381921343367356724002595128009167815521500436928605783678080732022911128818779548376814989927420522854396393172454244596671069504406490076533021086376289967232751360803272051481320031322283075928064978658758337239593280928901001169561849620100460127358362906786718375692876943391486778919714561333480860649763750394676714974027531083264150444563674247355108739677745616091135911752476795906177755851139386672336025893626654392954911595692394590077380496889418568980578616344551178145130750858314448706086526796701052132567854396803836488525925405425923326104373927865666114781607082560518279421191209873926528156430086383490808353753762463458251735431465589496534022257744763152875552256739355622306823778729049351450128758972186255293158182725379991853338980506676248833320555217456804596006656345925628082461325080841364266771682213946834293429764048803499464727585907379220134662763411480379572594725594362400864300781525166130163162582224192080786167511738441791784035220733613031700637728666899014395832713820621374971621764130003539350775712654191068374856713766982315679299264372776732878943105729090429493753484211175066303751374724437871913477107892595964837326371376752862303763280569963264344634601282492832566893788239638142725514059050808571095217040487871646846484522135407831041366116205037985421646202376292356469480625026432350591988152692435175119932420108472629299010524576686672636178900542970179936132574781261414137235988481526477025055725644878658398718205051879020696254400830661865910423572246638954261188032408522604767436118359375915663610084167159274173057724552701145241184430617922 11507982347615261616723983255632756461633990675391933286794161618778118411394776387602793990888090098594216916073564231132455248472941340219774134508613040783217766560647771049175103597193420300301080165242057084604724202283659648439131934865716097220906950855454466398457208352067713328688949148672811310946858988390013443461175191371544499193581251994863580460936015483773723778694636292425658655641934078450034171434911007544413921337824273779670204380732642481715041982425491035781520867957405103198267318432471036757746760643356561810442529973034097972909718737649573490992047623086878193952881602363339225192309018814671870396570895214716273070321650520506426867541919642679367756739174900536835380847628039546009424065954626475797169850379785964636408866333034547317044303977884928952276561332065367115193200939630787957311259436793218193478814598004695501918692680161776838611959590091147184545197452224056805534769219782885111777390165656619236077223293962025557251222412157592141937880736315636283779947821477928020126374478465708688994088642763112856861498105488300851125246109657815508792514257176446110935076359796643095568865920189596338081723824596171590627523887825072483286976091339207910412294267699355651426160913927886071536917355565377534921027330541159852874908017275909877468066915522795667947825209969871303391279271193390633678400400655415693148468016846561850132253156084445754564762571106015134870378979671365590137324595391952698266820905664882405178291677044671368968191165232205579976503325496805558749482061803578839050940807559761961705633744461964699079455493835835237261489106186878428012112773398224630703461600988243640253546055321927527698622976523170885547192004198897405646721994964014517104320679670419574212872317043363470427574205715115327007699537714289060840408150130225634046820100156213266288233991949872313951196904705859488876810555234895492870281648231646101908818721970798636125222560747117214557283943014780664010340507666555547218324727193079979484539672479537766291794904112201 18620306580375300719077245573344408911075556189647460302557145029635914161987568909281243763227705662164819966914132828327778110057594502213976352504124479327669158521343291110054362050892603707350763052160620720243365144433881280313310480054804346786816907065929514507062609544013748259273822255421761192844513049003382544530049647127255137389725436757375414660031260234235995230454926668192270554168219226710386093334292928887781278061826868907679372196254142918643647766103571767804431996776184651575082308359891559612143153815810806407113599477440588049442739824025863458224798983890150245434201633685622301120373997473430207636164176143617274239883500140606886994900282549466086132432051843928322159767342600879490284715718376870473884824407317047900559310896708794672153043655630545043412473084542163021370956790770174629647285330419872586433726193697090091996073177051195407592538206435698362690328203082371254240855746579586163909958020053423072565749219367451480577326786085457808052662343398196802059369012687801946654530908552092179802442396525576315113233536953890347659268367402578661668066513915801733241900138525692447018994679161782593374882007321551582480862868331748732120296646556664715008300924045281279508622239008727435803689037779324369214457094589963352339635603183289097602729678934276047520419935564233704255580052718556763841562982879607773934635528585003641916288376818058786265400299772914149266211693491986965108946359521956237617596618319073473553148390811653684647490429604982312855446431225895988243235546014753905354692182284199833619110852354560663916781865212588099565252386756841692356747374680717463270355389227881782979060114372736098793840017011042532393676526334305236688088111169052502525966882046711930682352942069795821019562358407550502127631957822761690139418674706912306682999000699183446224366566731133728088432893187385965901866280879774151268999853283525122605073122801460502035646132993756168818471975423303268777776626025931462881934811360239253657597397032238911532979334730123 30128288927990562335801228828977165372709546865039393589351306648414032573382345296884037754115795760759036882987697059460233358530535842433750487012737520110886925081991062159229465648086024007651843217402677804848089346717540928752442414920520444007723857921383980905519817896081461587962771404094572503791372037393395987991224838498799636583306688752238995120967275718009719009149562960617929209810153305160420264769203936432195199399651142687349576576986785400358689748529062803585952864733589754773349626792362596369889914459167368217556129450474686022352458561675436949216846606977028439387083236048961526312683016288102078032735071358333547310205150661113313862442202192145453889171226744465157540614970640425499708781673003346271054674787103012536968177229743341989197347633515473995689034416607530136564157730400962586958544767213090779912540791701785593914765857212972246204497796526845547235525655306428059775624966362471275687348185710042308642972513329477037828549198243049949990543079713833085839316834165729966780905387017800868796531039288689171974731642442191198784514477060394170460580771092247844176976498322335542587860599351378931456605831917723173108386756156821215407272737895872625420595191744636930934783152936613507340606393344701904135484425131123205214543620459198975070796594457071715468245145534105007646859323911947397519963383535023467083103545431565492048541532902504540830162870878929284136590673163352555246270954913908935884417523983955878731440067856325053615681594837187892831949756722701546992717607818332744405632989843961795324744596816525362996237359048423336826741492943720120368860148078942093973816990216125423232606169694663626492462993534213417940868530533202642334810106133067019630287561717131504895225259113159291447136564122665829135331495537050750979826824837137940729819100855396712512600558681006042039629797893245454778676836114669644139281501515171224513891844772259138160868693740873383375755918438083932788117133692487010100259538553319233142137069511776677824774238842324 48748595508365863054878474402321574283785103054686853891908451678049946735369914206165281517343501422923856849901829887788011468588130344647726839516861999438556083603334353269283827698978627715002606269563298525091454491151422209065752894975324790794540764987313495412582427440095209847236593659516333696635885086396778532521274485626054773973032125509614409780998535952245714239604489628810199763978372531870806358103496865319976477461478011595028948773240928319002337514632634571390384861509774406348431935152254155982033068274978174624669728927915274071795198385701300407441645590867178684821284869734583827433057013761532285668899247501950821550088650801720200857342484741611540021603278588393479700382313241304989993497391380216744939499194420060437527488126452136661350391289146019039101507501149693157935114521171137216605830097632963366346266985398875685910839034264167653797036002962543909925853858388799314016480712942057439597306205763465381208721732696928518405875984328507758043205423112029887898685846853531913435436295569893048598973435814265487087965179396081546443782844462972832128647285008049577418876636848027989606855278513161524831487839239274755589249624488569947527569384452537340428896115789918210443405391945340943144295431124026273349941519721086557554179223642488072673526273391347762988665081098338711902439376630504161361526366414631241017739074016569133964829909720563327095563170651843433402802366655339520355217314435865173502014142303029352284588458667978738263172024442170205687396187948597535235953153833086649760325172128161628943855449171086026913019224261011436391993879700561812725607522759659557244172379444007206211666284067399725286303010545255950334545056867507879022898217302119522156254443763843435577578201182955112466698922530216331262963453359812441119245499544050247412818101554580158736967125412139770128062691080631420680543116994443795408281354798696347118964967573719640196514826734629552194227893861387201565893759718418472982194349913558486799734466544015589357753573572447 78876884436356425390679703231298739656494649919726247481259758326463979308752259503049319271459297183682893732889526947248244827118666187081477326529599519549443008685325415428513293347064651722654449486965976329939543837868963137818195309895845234802264622908697476318102245336176671435199365063610906200427257123790174520512499324124854410556338814261853404901965811670255433248754052589428128973788525837031226622872700801752171676861129154282378525350227713719361027263161697374976337726243364161121781561944616752351922982734145542842225858378389960094147656947376737356658492197844207124208368105783545353745740030049634363701634318860284368860293801462833514719784686933756993910774505332858637240997283881730489702279064383563015994173981523072974495665356195478650547738922661493034790541917757223294499272251572099803564374864846054146258807777100661279825604891477139900001533799489389457161379513695227373792105679304528715284654391473507689851694246026405556234425182571557708033748502825862973738002681019261880216341682587693917395504475102954659062696821838272745228297321523367002589228056100297421595853135170363532194715877864540456288093671156997928697636380645391162934842122348409965849491307534555141378188544881954450484901824468728177485425944852209762768722844101687047744322867848419478456910226632443719549298700542451558881489749949654708100842619448134626013371442623067867925726041530772717539393039818692075601488269349774109386431666286985231016028526524303791878853619279358098519345944671299082228670761651419394165958161972123424268600045987611389909256583309434773218735372644281933094467670838601651217989369660132629444272453762063351778766004079469368275413587400710521357708323435186541786542005480974940472803460296114403913835486652882160398294948896863192099072324381188188142637202409976871249567684093145812167692488973876875459219953109113439547562856313867571632856812345978778357383520475502935569983812299471134354010893410905483082453888466877719941871536055792267182527812414771 127625479944722288445558177633620313940279752974413101373168210004513926044122173709214600788802798606606750582791356835036256295706796531729204166046461518987999092288659768697797121046043279437657055756529274855030998329020385346883948204871170025596805387896010971730684672776271881282435958723127239897063142210186953053033773809750909184529370939771467814682964347622501147488358542218238328737766898368902032980976197667072148154322607165877407474123468642038363364777794331946366722587753138567470213497096870908333956051009123717466895587306305234165942855333078037764100137788711385809029652975518129181178797043811166649370533566362235190410382452264553715577127171675368533932377783921252116941379597123035479695776455763779760933673175943133412023153482647615311898130211807512073892049418906916452434386772743237020170204962479017512605074762499536965736443925741307553798569802451933367087233372084026687808586392246586154881960597236973071060415978723334074640301166900065466076953925937892861636688527872793793651777978157586965994477910917220146150662001234354291672080165986339834717875341108346999014729772018391521801571156377701981119581510396272684286886005133961110462411506800947306278387423324473351821593936827295393629197255592754450835367464573296320322902067744175120417849141239767241445575307730782431451738077172955720243016116364285949118581693464703759978201352343631195021289212182616150942195406474031595956705583785639282888445808590014583300616985192282530142025643721528304206742132619896617464623915484506043926283334100285053212455495158697416822275807570446209610729252344843745820075193598261208462161749104139835655938737829463077065069014624725318609958644268218400380606540737306063942796449244818376050381661479069516380534409183098491661258402256675633218317823925238435555455303964557029986534809505285582295755180054508296139763070103557234955844211112563918751821779919698418553898347210132487764211706160858335919904653129323956064648238380436206741606002599807856540281385987218 206502364381078713836237880864919053596774402894139348854427968330977905352874433212263920060262095790289644315680883782284501122825462718810681492576061038537442100973985184126310414393107931160311505243495251184970542166889348484702143514767015260399070010804708448048786918112448552717635323786738146097490399333977127573546273133875763595085709754033321219584930159292756580737112594807666457711555424205933259603848898468824319831183736320159785999473696355757724392040956029321343060313996502728591995059041487660685879033743269260309121445684695194260090512280454775120758629986555592933238021081301674534924537073860801013072167885222519559270676253727387230296911858609125527843152289254110754182376881004765969398055520147342776927847157466206386518818838843093962445869134469005108682591336664139746933659024315336823734579827325071658863882539600198245562048817218447453800103601941322824248612885779254061600692071551114870166614988710480760912110224749739630874726349471623174110702428763755835374691208892055673868119660745280883389982386020174805213358823072627036900377487509706837307103397208644420610582907188755053996287034242242437407675181553270612984522385779352273397253629149357272127878730859028493199782481709249844114099080061482628320793409425506083091624911845862168162172009088186719902485534363226151001036777715407279124505866313940657219424312912838385991572794966699062947015253713388868481588446292723671558193853135413392274877474876999814316645511716586322020879263000886402726088077291195699693294677135925438092241496072408477481055541146308806731532390879880982829464624989125678914542864436862859680151118764272465100211191591526428843835018704194686885372231668928921738314864172492605729338454725793316523185121775183920294369895835980652059553351153538825317390148306426623698092506374533901236102493598431394463447669028385171598983023212670674503407067426431490384678592265677196911281867685635423334195518460329470273915546540229439147102126847313926683477538655600123722809198401989 334127844325801002281796058498539367537054155868552450227596178335491831396996606921478520849064894396896394898472240617320757418532259250539885658622522557525441193262644952824107535439151210597968561000024526040001540495909733831586091719638185285995875398700719419779471590888720434000071282509865385994553541544164080626580046943626672779615080693804789034267894506915257728225471137025904786449322322574835292584825096135896467985506343486037193473597164997796087756818750361267709782901749641296062208556138358569019835084752392977776017032991000428426033367613532812884858767775266978742267674056819803716103334117671967662442701451584754749681058705991940945874039030284494061775530073175362871123756478127801449093831975911122537861520333409339798541972321490709274343999346276517182574640755571056199368045797058573843904784789804089171468957302099735211298492742959755007598673404393256191335846257863280749409278463797701025048575585947453831972526203473073705515027516371688640187656354701648697011379736764849467519897638902867849384460296937394951364020824306981328572457653496046672024978738316991419625312679207146575797858190619944418527256691949543297271408390913313383859665135950304578406266154183501845021376418536545237743296335654237079156160873998802403414526979590037288580021150327953961348060842094008582452774854888362999367521982678226606338006006377542145969774147310330257968304465896005019423783852766755267514899436921052675163323283467014397617262496908868852162904906722414706932830209911092317157918592620431482018524830172693530693511036305006223553808198450327192440193877333969424734618058035124068142312867868412300756149929420989505908904033328920005495330875937147322118921404909798669672134903970611692573566783254253436674904305019079143720811753410214458535707972231665059253547810339090931222637303103716976759202849082893467738746093316227909459251278538995409136500372185375615465180214895767911098407224621187806193820199669553395211750365227750133425083541255407980263090584389207 540630208706879716118033939363458421133828558762691799082024146666469736749871040133742440909326990187186039214153124399605258541357721969350567151198583596062883294236630136950417949832259141758280066243519777224972082662799082316288235234405200546394945409505427867828258509001168986717706606296603532092043940878141208200126320077502436374700790447838110253852824666208014308962583731833571244160877746780768552188673994604720787816690079806196979473070861353553812148859706390589052843215746144024654203615179846229705714118495662238085138478675695622686123879893987588005617397761822571675505695138121478251027871191532768675514869336807274308951734959719328176170950888893619589618682362429473625306133359132567418491887496058465314789367490875546185060791160333803236789868480745522291257232092235195946301704821373910667639364617129160830332839841699933456860541560178202461398777006334579015584459143642534811009970535348815895215190574657934592884636428222813336389753865843311814298358783465404532386070945656905141388017299648148732774442682957569756577379647379608365472835141005753509332082135525635840235895586395901629794145224862186855934931873502813910255930776692665657256918765099661850534144885042530338221158900245795081857395415715719707476954283424308486506151891435899456742193159416140681250546376457234733453811632603770278492027848992167263557430319290380531961346942277029320915319719609393887905372299059478939073093290056466067438200758344014211933908008625455174183784169723301109658918287202288016851213269756356920110766326245102008174566577451315030285340589330208175269658502323095103649160922471986927822463986632684765856361121012515934752739052033114692380703107606076243857236269082291275401473358696405009096751905029437356969274200855059795780365104563753283853098120538091682951640316713624832458739796702148371222650518111278639337729116528898583962658345965426899521178964451052812376462082581403334432602743081517276467735746209782834358852492075064060108561079911008103985899782791196 874758053032680718399829997861997788670882714631244249309620325001961568146867647055220961758391884584082434112625365016926015959889981219890452809821106153588324487499275089774525485271410352356248627243544303264973623158708816147874326954043385832390820808206147287607730099889889420717777888806468918086597482422305288826706367021129109154315871141642899288120719173123272037188054868859476030610200069355603844773499090740617255802196423292234172946668026351349899905678456751856762626117495785320716412171318204798725549203248055215861155511666696051112157247507520400890476165537089550417773369194941281967131205309204736337957570788392029058632793665711269122044989919178113651394212435604836496429889837260368867585719471969587852650887824284885983602763481824512511133867827022039473831872847806252145669750618432484511544149406933250001801797143799668668159034303137957468997450410727835206920305401505815560419248999146516920263766160605388424857162631695887041904781382215000454486015138167053229397450682421754608907914938551016582158902979894964707941400471686589694045292794501800181357060873842627259861208265603048205592003415482131274462188565452357207527339167605979041116583901049966428940411039226032183242535318782340319600691751369956786633115157423110889920678871025936745322214309744094642598607218551243315906586487492133277859549831670393869895436325667922677931121089587359578883624185505398907329156151826234206587992726977518742601524041811028609551170505534324026346689076445715816591748497113380334009131862376788402129291156417795538868077613756321253839148787780535367709852379657064528383778980507110995964776854501097066612511050433505440661643085362034697876033983543223565976157673992089945073608262667016701670318688283690793644178505874138939501176857973967742388806092769756742205188127052715763681377099805865347981853367194172107076475209845126493421909624504422308657679336636428427841642297477171245531009967702705082661555945879336229570602857302814193533644621166416084248990367180403 1415388261739560434517863937225456209804711273393936048391644471668431304896738687188963402667718874771268473326778489416531274501247703189241019961019689749651207781735905226724943435103669494114528693487064080489945705821507898464162562188448586378785766217711575155435988608891058407435484495103072450178641423300446497026832687098631545529016661589481009541973543839331286346150638600693047274771077816136372396962173085345338043618886503098431152419738887704903712054538163142445815469333241929345370615786498051028431263321743717453946293990342391673798281127401507988896093563298912122093279064333062760218159076500737505013472440125199303367584528625430597298215940808071733241012894798034310121736023196392936286077606968028053167440255315160432168663554642158315747923736307767561765089104940041448091971455439806395179183514024062410832134636985499602125019575863316159930396227417062414222504764545148350371429219534495332815478956735263323017741799059918700378294535248058312268784373921632457761783521628078659750295932238199165314933345662852534464518780119066198059518127935507553690689143009368263100097103851998949835386148640344318130397120438955171117783269944298644698373502666149628279474555924268562521463694219028135401458087167085676494110069440847419376426830762461836202064407469160235323849153595008478049360398120095903556351577680662561133452866644958303209892468031864388899798943905114792795234528450885713145661086017033984810039724800155042821485078514159779200530473246169016926250666784315668350860345132133145322240057482662897547042644191207636284124489377110743542979510881980159632032939902979097923787240841133781832468872171446021375414382137395149390256737091149299809833393943074381220475081621363421710767070593313128150613452706729198735281541962537721026241904213307848425156828443766340596140116896508013719204503885305450746414204326374025077384567970469849208178858301087481240218104380058574579963612710784222359129291692089119063929455349377878253642205701077424188234890149971599 2290146314772241152917693935087453998475593988025180297701264796670392873043606334244184364426110759355350907439403854433457290461137684409131472770840795903239532269235180316499468920375079846470777320730608383754919328980216714612036889142491972211176587025917722443043718708780947828153262383909541368265238905722751785853539054119760654683332532731123908830094263012454558383338693469552523305381277885491976241735672176085955299421082926390665325366406914056253611960216619894302578095450737714666087027957816255827156812524991772669807449502009087724910438374909028389786569728836001672511052433528004042185290281809942241351430010913591332426217322291141866420260930727249846892407107233639146618165913033653305153663326439997641020091143139445318152266318123982828259057604134789601238920977787847700237641206058238879690727663430995660833936434129299270793178610166454117399393677827790249429425069946654165931848468533641849735742722895868711442598961691614587420199316630273312723270389059799510991180972310500414359203847176750181897092248642747499172460180590752787753563420730009353872046203883210890359958312117601998040978152055826449404859309004407528325310609111904623739490086567199594708414966963494594704706229537810475721058778918455633280743184598270530266347509633487772947386621778904329966447760813559721365266984607588036834211127512332955003348302970626225887823589121451748478682568090620191702563684602711947352249078744011503552641248841966071431036249019694103226877162322614732742842415281429048684869476994509933724369348639080693085910721804963957537963638164891278910689363261637224160416718883486208919752017695634878899081383221879526816076025222757184088132771074692523375809551617066471165548689884030438412437389281596818944257631212603337674782718820511688768630710306077605167362016570819056359821493996313879067186357252499622853490679536219151570806477594974271516836537637723909668059746677535745825494622678486927441790847637968455293500058206680692447175850322243840272483880517152002 3705534576511801587435557872312910208280305261419116346092909268338824177940345021433147767093829634126619380766182343849988564962385387598372492731860485652890740050971085543224412355478749340585306014217672464244865034801724613076199451330940558589962353243629297598479707317672006235588746879012613818443880329023198282880371741218392200212349194320604918372067806851785844729489332070245570580152355701628348638697845261431293343039969429489096477786145801761157324014754783036748393564783979644011457643744314306855588075846735490123753743492351479398708719502310536378682663292134913794604331497861066802403449358310679746364902451038790635793801850916572463718476871535321580133420002031673456739901936230046241439740933408025694187531398454605750320929872766141144006981340442557163004010082727889148329612661498045274869911177455058071666071071114798872918198186029770277329789905244852663651929834491802516303277688068137182551221679631132034460340760751533287798493851878331624992054762981431968752964493938579074109499779414949347212025594305600033636978960709818985813081548665516907562735346892579153460055415969600947876364300696170767535256429443362699443093879056203268437863589233349222987889522887763157226169923756838611122516866085541309774853254039117949642774340395949609149451029248064565290296914408568199414627382727683940390562705192995516136801169615584529097716057153316137378481511995734984497798213053597660497910164761045488362680973642121114252521327533853882427407635568783749669093082065744717035729822126643079046609406121743590632953365996171593822088127542002022453668874143617383792449658786465306843539258536768660731550255393325548191490407360152333478389508165841823185642945560140852386023771505393860123204459874909947094871083919332536410064260783049409794872614519385453592518845014585396955961610892821892786390861137805073599904883862593176648191045565444120725015395938811390908277851057594320405458235389271149800920139330057574357429513556058570700818056023321264460718770667123601 5995680891284042740353251807400364206755899249444296643794174065009217050983951355677332131519940393481970288205586198283445855423523072007503965502701281556130272320206265859723881275853829187056083334948280847999784363781941327688236340473432530801138940269547020041523426026452954063742009262922155186709119234745950068733910795338152854895681727051728827202162069864240403112828025539798093885533633587120324880433517437517248642461052355879761803152552715817410935974971402931050971660234717358677544671702130562682744888371727262793561192994360567123619157877219564768469233020970915467115383931389070844588739640120621987716332461952381968220019173207714330138737802262571427025827109265312603358067849263699546593404259848023335207622541594051068473196190890123972266038944577346764242931060515736848567253867556284154560638840886053732500007505244098143711376796196224394729183583072642913081354904438456682235126156601779032286964402527000745902939722443147875218693168508604937715325152041231479744145466249079488468703626591699529109117842948347532809439141300571773566644969395526261434781550775790043820013728087202945917342452751997216940115738447770227768404488168107892177353675800548817696304489851257751930876153294649086843575645003996943055596438637388479909121850029437382096837651026968895256744675222127920779894367335271977224773832705328471140149472586210754985539646274767885857164080086355176200361897656309607850159243505056991915322222484087185683557576553547985654284797891398482411935497347173765720599299121153012770978754760824283718864087801135551360051765706893301364358237405254607952866377669951515763291276232403539630631638615205075007566432582909517566522279240534346561452497177207323551572461389424298535641849156506766039128715131935874084846979603561098563503324825463058759880861585404453315783104889135771853577218390304696453395563398812328218997523160418392241851933576535300576337597735130066230952858067758077242710986968026029650929571762739263147993906345565104733202651184275603 9701215467795844327788809679713274415036204510863412989887083333348041228924296377110479898613770027608589668971768542133434420385908459605876458234561767209021012371177351402948293631332578527641389349165953312244649398583665940764435791804373089391101293513176317640003133344124960299330756141934769005152999563769148351614282536556545055108030921372333745574229876716026247842317357610043664465685989288748673519131362698948541985501021785368858280938698517578568259989726185967799365225018697002689002315446444869538332964218462752917314936486712046522327877379530101147151896313105829261719715429250137646992188998431301734081234912991172604013821024124286793857214673797893007159247111296986060097969785493745788033145193256049029395153940048656818794126063656265116273020285019903927246941143243625996896866529054329429430550018341111804166078576358897016629574982225994672058973488317495576733284738930259198538403844669916214838186082158132780363280483194681163017187020386936562707379915022663448497109960187658562578203406006648876321143437253947566446418102010390759379726518061043168997516897668369197280069144056803893793706753448167984475372167891132927211498367224311160615217265033898040684194012739020909157046077051487697966092511089538252830449692676506429551896190425386991246288680275033460547041589630696120194521750062955917615336537898323987276950642201795284083255703428084023235645592082090160698160110709907268348069408266102480278003196126208299936078904087401868081692433460182232081028579412918482756329121247796091817588160882567874351817453797307145182139893248895323818027111548871991745316036456416822606830534769172200362181894008530623199056839943061851044911787406376169747095442737348175937596232894818158658846309031416713133999799051268410494911240386610508358375939344848512352399706599989850271744715781957664639968079528109770053300447261405504867188568725862512966867329515346691484615448792724386636411093457029227043631126298083604008359085318797833848811962368886369193921421851399204 15696896359079887068142061487113638621792103760307709633681257398357258279908247732787812030133710421090559957177354740416880275809431531613380423737263048765151284691383617262672174907186407714697472684114234160244433762365607268452672132277805620192240233782723337681526559370577914363072765404856924191862118798515098420348193331894697910003712648424062572776391946580266650955145383149841758351219622875868998399564880136465790627962074141248620084091251233395979195964697588898850336885253414361366546987148575432221077852590190015710876129481072613645947035256749665915621129334076744728835099360639208491580928638551923721797567374943554572233840197332001123995952476060464434185074220562298663456037634757445334626549453104072364602776481642707887267322254546389088539059229597250691489872203759362845464120396610613583991188859227165536666086081602995160340951778422219066788157071390138489814639643368715880773530001271695247125150484685133526266220205637829038235880188895541500422705067063894928241255426436738051046907032598348405430261280202295099255857243310962532946371487456569430432298448444159241100082872144006839711049206200165201415487906338903154979902855392419052792570940834446858380498502590278661087922230346136784809668156093535195886046131313894909461018040454824373343126331302002355803786264852824040974416117398227894840110370603652458417100114788006039068795349702851909092809672168445336898522008366216876198228651771159472193325418610295485619636480640949853735977231351580714492964076760092248476928420368949104588566915643392158070681541598442696542191658955788625182385348954126599698182414126368338370121811001575739992813532623735698206623272525971368611434066646910516308547939914555499489168694284242457194488158187923479173128514183204284579758219990171606921879264170311571112280568185394303587527820671093436493545297918414466506696010660217833086186091886280905208719263091881992060953046527854452867363951524787304286342113266109633659288657081537096996805868714451473927124073035674807 25398111826875731395930871166826913036828308271171122623568340731705299508832544109898291928747480448699149626149123282550314696195339991219256881971824815974172297062560968665620468538518986242338862033280187472489083160949273209217107924082178709583341527295899655321529692714702874662403521546791693197015118362284246771962475868451242965111743569796396318350621823296292898797462740759885422816905612164617671918696242835414332613463095926617478365029949750974547455954423774866649702110272111364055549302595020301759410816808652768628191065967784660168274912636279767062773025647182573990554814789889346138573117636983225455878802287934727176247661221456287917853167149858357441344321331859284723554007420251191122659694646360121393997930421691364706061448318202654204812079514617154618736813347002988842360986925664943013421738877568277340832164657961892176970526760648213738847130559707634066547924382298975079311933845941611461963336566843266306629500688832510201253067209282478063130084982086558376738365386624396613625110438604997281751404717456242665702275345321353292326098005517612599429815346112528438380152016200810733504755959648333185890860074230036082191401222616730213407788205868344899064692515329299570244968307397624482775760667183073448716495823990401339012914230880211364589415011577035816350827854483520161168937867461183812455446908501976445694050756989801323152051053130935932328455264250535497596682119076124144546298060037261952471328614736503785555715384728351721817669664811762946573992656173010731233257541616745196406155076525960032422498995395749841724331552204683949000412460502998591443498450582785160976952345770747940354995426632266321405680112469033219656345854053286686055643382651903675426764927179060615853334467219340192307128313234472695074669460376782115280255203515160083464680274785384153859272536453051101133513377446524236559996457921623337953374660612143418175586592607228683545568495320578839503775044981816531329973239564193237667647742400334930845617831083337843121045494887074011 41095008185955618464072932653940551658620412031478832257249598130062557788740791842686103958881190869789709583326478022967194972004771522832637305709087864739323581753944585928292643445705393957036334717394421632733516923314880477669780056359984329775581761078622993003056252085280789025476286951648617388877237160799345192310669200345940875115456218220458891127013769876559549752608123909727181168125235040486670318261122971880123241425170067866098449121200984370526651919121363765500038995525525725422096289743595733980488669398842784339067195448857273814221947893029432978394154981259318719389914150528554630154046275535149177676369662878281748481501418788289041849119625918821875529395552421583387010045055008636457286244099464193758600706903334072593328770572749043293351138744214405310226685550762351687825107322275556597412927736795442877498250739564887337311478539070432805635287631097772556362564025667690960085463847213306709088487051528399832895720894470339239488947398178019563552790049150453304979620813061134664672017471203345687181665997658537764958132588632315825272469492974182029862113794556687679480234888344817573215805165848498387306347980568939237171304078009149266200359146702791757445191017919578231332890537743761267585428823276608644602541955304296248473932271335035737932541342879038172154614119336344202143353984859411707295557279105628904111150871777807362220846402833787841421264936418980834495204127442341020744526711808421424664654033346799271175351865369301575553646896163343661066956732933102979710185961985694300994721992169352190493180536994192538266523211160472574182797809457125191141680864709153499347074156772323680347808959256002019612303384995004588267779920700197202364191322566459174915933621463303073047822625407263671480256827417676979654427680366953722202134467685471654576960842970778457446800357124144537627058675364938703066692468581841171039560752498424323384305855699110675606521541848433292371138996506603835616315352830302871326936399481872027842423699797789317048169567922748818 66493120012831349860003803820767464695448720302649954880817938861767857297573335952584395887628671318488859209475601305517509668200111514051894187680912680713495878816505554593913111984224380199375196750674609105222600084264153686886887980442163039358923288374522648324585944799983663687879808498440310585892355523083591964273145068797183840227199788016855209477635593172852448550070864669612603985030847205104342236957365807294455854888265994483576814151150735345074107873545138632149741105797637089477645592338616035739899486207495552967258261416641933982496860529309200041167180628441892709944728940417900768727163912518374633555171950813008924729162640244576959702286775777179316873716884280868110564052475259827579945938745824315152598637325025437299390218890951697498163218258831559928963498897765340530186094247940499610834666614363720218330415397526779514282005299718646544482418190805406622910488407966666039397397693154918171051823618371666139525221583302849440742014607460497626682875031237011681717986199685531278297127909808342968933070715114780430660407933953669117598567498491794629291929140669216117860386904545628306720561125496831573197208054798975319362705300625879479608147352571136656509883533248877801577858845141385750361189490459682093319037779294697587486846502215247102521956354456073988505441973819864363312291852320595519751004187607605349805201628767608685372897455964723773749720200669516332091886246518465165290824771845683377135982648083303056731067250097653297371316560975106607640949389106113710943443503602439497400877068695312222915679532389942379990854763365156523183210269960123782585179315291938660324026502543071620702804385888268341017983497464037807924125774753483888419834705218362850342698548642363688901157092626603863787385140652149674729097140743735837482389671200631738041641117756162611306072893577195638760572052811462939626688926503464508992935413110567741559892448306339359152090037169012131874914041488420366946288592394496108994584141882206958688041530881127160169215062809822829 107588128198786968324076736474708016354069132334128787138067536991830415086314127795270499846509862188278568792802079328484704640204883036884531493390000545452819460570450140522205755429929774156411531468069030737956117007579034164556668036802147369134505049453145641327642196885264452713356095450088927974769592683882937156583814269143124715342656006237314100604649363049411998302678988579339785153156082245591012555218488779174579096313436062349675263272351719715600759792666502397649780101323162814899741882082211769720388155606338337306325456865499207796718808422338633019561335609701211429334643090946455398881210188053523811231541613691290673210664059032866001551406401696001192403112436702451497574097530268464037232182845288508911199344228359509892718989463700740791514357003045965239190184448527692218011201570216056208247594351159163095828666137091666851593483838789079350117705821903179179273052433634356999482861540368224880140310669900065972420942477773188680230962005638517190235665080387464986697607012746665942969145381011688656114736712773318195618540522585984942871036991465976659154042935225903797340621792890445879936366291345329960503556035367914556534009378635028745808506499273928413955074551168456032910749382885147017946618313736290737921579734598993835960778773550282840454497697335112160660056093156208565455645837180007227046561466713234253916352500545416047593743858798511615170985137088497166587090373960806186035351483654104801800636681430102327906419115466954872924963457138450268707906122039216690653629465588133798395599060864664413408860069384134918257377974525629097366008079417248973726860180001092159671100659315395301050613345144270360630286882459042396191905695453681090784026027784822025258632170105666761948979718033867535267641968069826654383524821110689559684524138886103392618601960726941068752873250701340176387630728176401642693381395085305680032496165608992064944198304005450034758611579017445424246053037995024202562603945224798980321520541364078986530465230678916477217384630732571647 174081248211618318184080540295475481049517852636778742018885475853598272383887463747854895734138533506767428002277680634002214308404994550936425681070913226166315339386955695116118867414154154355786728218743639843178717091843187851443556017244310408493428337827668289652228141685248116401235903948529238560661948206966529120856959337940308555569855794254169310082284956222264446852749853248952389138186929450695354792175854586469034951201702056833252077423502455060674867666211641029799521207120799904377387474420827805460287641813833890273583718282141141779215668951647833060728516238143104139279372031364356167608374100571898444786713564504299597939826699277442961253693177473180509276829320983319608138150005528291617178121591112824063797981553384947192109208354652438289677575261877525168153683346293032748197295818156555819082260965522883314159081534618446365875489138507725894600124012708585802183540841601023038880259233523143051192134288271732111946164061076038120972976613099014816918540111624476668415593212432197221266273290820031625047807427888098626278948456539654060469604489957771288445972075895119915201008697436074186656927416842161533700764090166889875896714679260908225416653851845065070464958084417333834488608228026532768307807804195972831240617513893691423447625275765529942976454051791186149165498066976072928767937689500602746797565654320839603721554129313024732966641314763235388920705337758013498678976620479271351326176255499788178936619329513405384637486365564608170296280018113556876348855511145330401597072969190573295796476129559976636324539601774077298248232737890785620549218349377372756312039495293030819995127161858466921753417731032538701648270379923080204116031470207164979203860733003184875601330718748030450850136810660471399055027108721976329112621961854425397166913810086735130660243078483103680058946144278535815148202780987864582320070321588770189025431578719559806504090752311789393910701616186457556120967079483444569508892537619295089316104683246285945218506761560043637386599693542394476 281669376410405286508157276770183497403586984970907529156953012845428687470201591543125395580648395695045996795079759962486918948609877587820957174460913771619134799957405835638324622844083928512198259686812670581134834099422222016000224054046457777627933387280813930979870338570512569114591999398618166535431540890849466277440773607083433270912511800491483410686934319271676445155428841828292174291343011696286367347394343365643614047515138119182927340695854174776275627458878143427449301308443962719277129356503039575180675797420172227579909175147640349575934477373986466080289851847844315568614015122310811566489584288625422256018255178195590271150490758310308962805099579169181701679941757685771105712247535796755654410304436401332974997325781744457084828197818353179081191932264923490407343867794820724966208497388372612027329855316682046409987747671710113217468972977296805244717829834611764981456593275235380038363120773891367931332444958171798084367106538849226801203938618737532007154205192011941655113200225178863164235418671831720281162544140661416821897488979125639003340641481423747947600015011121023712541630490326520066593293708187491494204320125534804432430724057895936971225160351118993484420032635585789867399357610911679786254426117932263569162197248492685259408404049315812783430951749126298309825554160132281494223583526680609973844127121034073857637906629858440780560385173561747004091690474846510665266066994440077537361527739153892980737256010943507712543905481031563043221243475252007145056761633184547092250702434778707094192075190424641049733399671158212216505610712416414717915226428794621730038899675294122979666227821173862222804031076176809062278557262382122600307937165660846069987886760788006900859962888853697212799116528694338934322669076791802983496146782965114956851437948972838523278845039210044748811819394979875991535833509164266225013451716674075869057927744328551871448289056317239428669313195203902980367020117478468772071496482844094069637625224610364931748971992238960114603984324274966123 455750624622023604692237817065658978453104837607686271175838488699026959854089055290980291314786929201813424797357440596489133257014872138757382855531826997785450139344361530754443490258238082867984987905556310424313551191265409867443780071290768186121361725108482220632098480255760685515827903347147405096093489097815995398297732945023741826482367594745652720769219275493940892008178695077244563429529941146981722139570197952112648998716840176016179418119356629836950495125089784457248822515564762623654516830923867380640963439234006117853492893429781491355150146325634299141018368085987419707893387153675167734097958389197320700804968742699889869090317457587751924058792756642362210956771078669090713850397541325047271588426027514157038795307335129404276937406173005617370869507526801015575497551141113757714405793206529167846412116282204929724146829206328559583344462115804531139317953847320350783640134116836403077243380007414510982524579246443530196313270599925264922176915231836546824072745303636418323528793437611060385501691962651751906210351568549515448176437435665293063810245971381519236045987087016143627742639187762594253250221125029653027905084215701694308327438737156845196641814202964058554884990720003123701887965838938212554562233922128236400402814762386376682856029325081342726407405800917484458991052227108354422991521216181212720641692775354913461359460759171465513527026488324982393012395812604524163945043614919348888687703994653681159673875340456913097181391846596171213517523493365564021405617144329877493847775403969280389988551319984617686057939272932289514753843450307200338464444778171994486350939170587153799661354983032329144557448807209347763926827642305202804423968635868011049191747493791191776461293607601727663649253339354810333377696185513779312608768744819540354018351759059573653939088117693148428870765539258411806684036290152130807333522038262846058083359323048111677952379808629028822580014811390360536487987196961913341580389020463389158953729907856650876967478753799003751990584017817360599 737420001032428891200395093835842475856691822578593800332791501544455647324290646834105686895435324896859421592437200558976052205624749726578340029992740769404584939301767366392768113102322011380183247592368981005448385290687631883444004125337225963749295112389296151611968818826273254630419902745765571631525029988665461675738506552107175097394879395237136131456153594765617337163607536905536737720872952843268089486964541317756263046231978295199106758815210804613226122583967927884698123824008725342931646187426906955821639236654178345433402068577421840931084623699620765221308219933831735276507402275985979300587542677822742956823223920895480140240808215898060886863892335811543912636712836354861819562645077121802925998730463915490013792633116873861361765603991358796452061439791724505982841418935934482680614290594901779873741971598886976134134576878038672800813435093101336384035783681932115765096727392071783115606500781305878913857024204615328280680377138774491723380853850574078831226950495648359978641993662789923549737110634483472187372895709210932270073926414790932067150887452805267183646002098137167340284269678089114319843514833217144522109404341236498740758162795052782167866974554083052039305023355588913569287323449849892340816660040060499969565012010879061942264433374397155509838357550043782768816606387240635917215104742861822694485819896388987318997367389029906294087411661886729397104086287451034829211110609359426426049231733807574140411131351400420809725297327627734256738766968617571166462378777514424586098477838747987484180626510409258735791338944090501731259454162723615056379671206966616216389838845881276779327582804206191367361479883386156826205384904687325404731905801528857119179634254579198677321256496455424876448369868049149267700365262305582296104915527784655310869789708032412177217933156903193177682584934238287798219869799316397032346973754936921927141287067376663549400668864946268251249328006594263516855007314440382113651885503307483228591355132467015808716450746037963866594568342092326722 1193170625654452495892632910901501454309796660186280071508629990243482607178379702125085978210222254098672846389794641155465185462639621865335722885524567767190035078646128897147211603360560094248168235497925291429761936481953041750887784196627994149870656837497778372244067299082033940146247806092912976727618519086481457074036239497130916923877246989982788852225372870259558229171786231982781301150402893990249811626534739269868912044948818471215286176934567434450176617709057712341946946339573487966586163018350774336462602675888184463286894962007203332286234770025255064362326588019819154984400789429661147034685501067020063657628192663595370009331125673485812810922685092453906123593483915023952533413042618446850197587156491429647052587940452003265638703010164364413822930947318525521558338970077048240395020083801430947720154087881091905858281406084367232384157897208905867523353737529252466548736861508908186192849880788720389896381603451058858476993647738699756645557769082410625655299695799284778302170787100400983935238802597135224093583247277760447718250363850456225130961133424186786419691989185153310968026908865851708573093735958246797550014488556938193049085601532209627364508788757047110594190014075592037271175289288788104895378893962188736369967826773265438625120462699478498236245763350961267227807658614348990340206625959043035415127512671743900780356828148201371807614438150211711790116482100055558993156154224278775314736935728461255300085006691857333906906689174223905470256290461983135187867995921844302079946253242717267874169177830393876421849278217022791246013297613030815394844115985138610702740778016468430578988937787238520511918928690595504590132212546992528209155874437396868168371381748370390453782550104057152540097623207403959601078061447819361608713684272604195664888141467091985831157021274596341606553350473496699604903906089468527839680495793199767985224646390424775227353048673575297073829342817984624053342994511402295455232274523770872387545085040323666685683929499836967618585152359909687321 1930590626686881387093028004737343930166488482764873871841421491787938254502670348959191665105657578995532267982231841714441237668264371591914062915517308536594620017947896263539979716462882105628351483090294272435210321772640673634331788321965220113619951949887074523856036117908307194776667708838678548359143549075146918749774746049238092021272126385219924983681526465025175566335393768888318038871275846833517901113499280587625175091180796766414392935749778239063402740293025640226645070163582213309517809205777681292284241912542362808720297030584625173217319393724875829583634807953650890260908191705647126335273043744842806614451416584490850149571933889383873697786577428265450036230196751378814352975687695568653123585886955345137066380573568877127000468614155723210274992387110250027541180389012982723075634374396332727593896059479978881992415982962405905184971332302007203907389521211184582313833588900979969308456381570026268810238627655674186757674024877474248368938622932984704486526646294933138280812780763190907484975913231618696280956142986971379988324290265247157198112020876992053603337991283290478308311178543940822892937250791463942072123892898174691789843764327262409532375763311130162633495037431180950840462612738637997236195554002249236339532838784144500567384896073875653746084120901005049996624265001589626257421730701904858109613332568132888099354195537231278101701849812098441187220568387506593822367264833638201740786167462268829440496138043257754716631986501851639726995057430600706354330374699358726666044731081465255358349804340803135157640617161113292977272751775754430451223787192105226919130616862349707358316520591444711879280408573981661416337597451679853613887780238925725287551016002949589131103806600512577416545993075453108868778426710124943904818599800388850975757931175124398008374954431499534784235935407734987403123775888784924872027469548136689912365933457801438776753717538521565325078670824578887570198001825842677568884160027078355616136440172790682494400380245874931485179720702002014043 3123761252341333882985660915638845384476285142951153943350051482031420861681050051084277643315879833094205114372026482869906423130903993457249785801041876303784655096594025160687191319823442199876519718588219563864972258254593715385219572518593214263490608787384852896100103416990341134922915514931591525086762068161628375823810985546369008945149373375202713835906899335284733795507180000871099340021678740823767712740034019857494087136129615237629679112684345673513579358002083352568592016503155701276103972224128455628746844588430547272007191992591828505503554163750130893945961395973470045245308981135308273369958544811862870272079609248086220158903059562869686508709262520719356159823680666402766886388730314015503321173043446774784118968514020880392639171624320087624097923334428775549099519359090030963470654458197763675314050147361070787850697389046773137569129229510913071430743258740437048862570450409888155501306262358746658706620231106733045234667672616174005014496392015395330141826342094217916582983567863591891420214715828753920374539390264731827706574654115703382329073154301178840023029980468443789276338087409792531466030986749710739622138381455112884838929365859472036896884552068177273227685051506772988111637902027426102131574447964437972709500665557409939192505358773354151982329884251966317224431923615938616597628356660947893524740845239876788879711023685432649909316287962310152977337050487562152815523419057916977055523103190730084740581144735115088623538675676075545197251347892583841542198370621203028745990984324182523232518982171197011579489895378136084223286049388785245846067903177243837621871394878818137937305458378683232391199337264577166006469809998672381823043654676322593455922397751319979584886356704569729956643616282857068469856488157944305513532284072993046640646072642216383839531975706095876390789285881231687008027681978253452711707965341336457897590579848226214004106766212096862398908013642563511623540996337244973024116434550849228003681525213114349180084309745711899103764873061911701364 5054351879028215270078688920376189314642773625716027815191472973819359116183720400043469308421537412089737382354258324584347660799168365049163848716559184840379275114541921424227171036286324305504871201678513836300182580027234389019551360840558434377110560737271927419956139534898648329699583223770270073445905617236775294573585731595607100966421499760422638819588425800309909361842573769759417378892954587657285613853533300445119262227310412004044072048434123912576982098295108992795237086666737914585621781429906136921031086500972910080727489023176453678720873557475006723529596203927120935506217172840955399705231588556705676886531025832577070308474993452253560206495839948984806196053877417781581239364418009584156444758930402119921185349087589757519639640238475810834372915721539025576640699748103013686546288832594096402907946206841049669843113372009179042754100561812920275338132779951621631176404039310868124809762643928772927516858858762407231992341697493648253383435014948380034628352988389151054863796348626782798905190629060372616655495533251703207694898944380950539527185175178170893626367971751734267584649265953733354358968237541174681694262274353287576628773130186734446429260315379307435861180088937953938952100514766064099367770001966687209049033504341554439759890254847229805728414005152971367221056188617528242855050087362852751634354177808009676979065219222663928011018137774408594164557618875068746637890683891555178796309270652998914181077282778372843340170662177927184924246405323184547896528745320561755412035715405647778590868786512000146737130512539249377200558801164539676297291690369349064541002011741167845295621978970127944270479745838558827422807407450352235436931434915248318743473413754269568715990163305082307373189609358310177338634914868069249418350883873381897616404003817340781847906930137595411175025221288966674411151457867038377583735434889473147809956513306027652780860483750618427723986684467142399193738998163087650593000594577927583619817965385905031674484689991586830588944593763913715407 8178113131369549153064349836015034699119058768667181758541524455850779977864770451127746951737417245183942496726284807454254083930072358506413634517601061144163930211135946584914362356109766505381390920266733400165154838281828104404770933359151648640601169524656780316056242951888989464622498738701861598532667685398403670397396717141976109911570873135625352655495325135594643157349753770630516718914633328481053326593567320302613349363440027241673751161118469586090561456297192345363829103169893615861725753654034592549777931089403457352734681015768282184224427721225137617475557599900590980751526153976263673075190133368568547158610635080663290467378053015123246715205102469704162355877558084184348125753148323599659765931973848894705304317601610637912278811862795898458470839055967801125740219107193044650016943290791860078221996354202120457693810761055952180323229791323833346768876038692058680038974489720756280311068906287519586223479089869140277227009370109822258397931406963775364770179330483368971446779916490374690325405344889126537030034923516435035401473598496653921856258329479349733649397952220178056860987353363525885824999224290885421316400655808400461467702496046206483326144867447484709088865140444726927063738416793490201499344449931125181758534169898964378952395613620583957710743889404937684445488112233466859452678444023800645159095023047886465858776242908096577920334425736718747141894669362630899453414102949472155851832373843728998921658427513487931963709337854002730121497753215768389438727115941764784158026699729830301823387768683197158316620407917385461423844850553324922143359593546592902162873406619985983232927437348811176661679083103135993429277217449024617259975089591570912199395811505589548300876520009652037329833225641167245808491403026013554931883167946374944257050076459557165687438905843691287565814507170198361419179139845291830295443400230809605707547093154253866784967249962715290122894698109705910817279994500332623617117029128776811623499490599019380854568999737298729692709466825825416771 13232465010397764423143038756391224013761832394383209573732997429670139094048490851171216260158954657273679879080543132038601744729240723555577483234160245984543205325677868009141533392396090810886262121945247236465337418309062493424322294199710083017711730261928707736012382486787637794322081962472131671978573302635178964970982448737583210877992372896047991475083750935904552519192327540389934097807587916138338940447100620747732611590750439245717823209552593498667543554592301338159066189836631530447347535083940729470809017590376367433462170038944735862945301278700144341005153803827711916257743326817219072780421721925274224045141660913240360775853046467376806921700942418688968551931435501965929365117566333183816210690904251014626489666689200395431918452101271709292843754777506826702380918855296058336563232123385956481129942561043170127536924133065131223077330353136753622107008818643680311215378529031624405120831550216292513740337948631547509219351067603470511781366421912155399398532318872520026310576265117157489230595973949499153685530456768138243096372542877604461383443504657520627275765923971912324445636619317259240183967461832060103010662930161688038096475626232940929755405182826792144950045229382680866015838931559554300867114451897812390807567674240518818712285868467813763439157894557909051666544300850995102307728531386653396793449200855896142837841462130760505931352563511127341306452288237699646091304786841027334648141644496727913102735710291860775303880000031929915045744158538952937335255861262326539570062415135478080414256555195197305053750920456634838624403651717864598440651283915941966703875418361153828528549416318939120932158828941694820852084624899376852696906524506819230942869225259859117016866683314734344703022834999477423147126317894082804350234051819756841873454080276897947535345835981286698740839728459165035830330597712330207879178835120282753517503606460281519565827733713333717846881382576848310011018992663420274210117623706704395243317455984924412529053689728885560281654060589739132178 21410578141767313576207388592406258712880891163050391332274521885520919071913261302298963211896371902457622375806827939492855828659313082061991117751761307128707135536813814594055895748505857316267653042211980636630492256590890597829093227558861731658312899786585488052068625438676627258944580701173993270511240988033582635368379165879559320789563246031673344130579076071499195676542081311020450816722221244619392267040667941050345960954190466487391574370671063084758105010889493683522895293006525146309073288737975322020586948679779824786196851054713018047169728999925281958480711403728302897009269480793482745855611855293842771203752295993903651243231099482500053636906044888393130907808993586150277490870714656783475976622878099909331793984290811033344197263964067607751314593833474627828121137962489102986580175414177816559351938915245290585230734894121083403400560144460586968875884857335738991254353018752380685431900456503812099963817038500687786446360437713292770179297828875930764168711649355888997757356181607532179556001318838625690715565380284573278497846141374258383239701834136870360925163876192090381306623972680785126008966686122945524327063585970088499564178122279147413081550050274276854038910369827407793079577348353044502366458901828937572566101844139483197664681482088397721149901783962846736112032413084461961760406975410454041952544223903782608696617705038857083851686989247846088448346957600330545544718889790499490499974018340456912024394137805348707267589337885932645167241911754721326773982977204091323728089114865308382237644323878394463370371328374020300048248502271189520584010877462534868866748824981139811761476853667750297593837912044830814281361842348401469956881614098390143142265036765448665317743203324386382032856060640644668955617720920096359282117219766131786130504156736455113222784741824977986306654235629363397249509737557622038174622235351092359225050699614535386350794983676049007969776080686554220828298987163752897827234652835481206866816946583943793383622689466184289974363527415564548949 34643043152165077999350427348797482726642723557433600906007519315191058165961752153470179472055326559731302254887371071531457573388553805617568600985921553113250340862491682603197429140901948127153915164157227873095829674899953091253415521758571814676024630048514195788081007925464265053266662663646124942489814290668761600339361614617142531667555618927721335605662827007403748195734408851410384914529809160757731207487768561798078572544940905733109397580223656583425648565481795021681961482843156676756420823821916051491395966270156192219659021093657753910115030278625426299485865207556014813267012807610701818636033577219116995248893956907144012019084145949876860558606987307082099459740429088116206855988280989967292187313782350923958283650980011428776115716065339317044158348610981454530502056817785161323143407537563773040481881476288460712767659027186214626477890497597340590982893675979419302469731547784005090552732006720104613704154987132235295665711505316763281960664250788086163567243968228409024067932446724689668786597292788124844401095837052711521594218684251862844623145338794390988200929800164002705752260591998044366192934147955005627337726516131776537660653748512088342836955233101068998988955599210088659095416279912598803233573353726749963373669518380002016376967350556211484589059678520755787778576713935457064068135506797107438745993424759678751534459167169617589783039552758973429754799245838030191636023676631526825148115662837184825127129848097209482571469337917862560212986070293674264109238838466417863298151530000786462651900879073591768424122248830655138672652153989054119024662161378476835570624243342293640290026269986689418525996740986525635133446467247778322653788138605209374085134262025307782334609886639120726735878895640122092102744038814179163632351271585888628003958237013353060758130577806264685047493964088528433079840335269952246053801070471375112742554306074816905916622717389382725816657463263402530839317979827173172037352276542185602110134402568868205912676379195069850256017588005303681127 56053621293932391575557815941203741439523614720483992238282041200711977237875013455769142683951698462188924630694199011024313402047866887679559718737682860241957476399305497197253324889407805443421568206369208509726321931490843689082508749317433546334337529835099683840149633364140892312211243364820118213001055278702344235707740780496701852457118864959394679736241903078902943872276490162430835731252030405377123474528436502848424533499131372220500971950894719668183753576371288705204856775849681823065494112559891373511982914949936017005855872148370771957284759278550708257966576611284317710276282288404184564491645432512959766452646252901047663262315245432376914195513032195475230367549422674266484346858995646750768163936660450833290077635270822462120312980029406924795472942444456082358623194780274264309723582951741589599833820391533751297998393921307298029878450642057927559858778533315158293724084566536385775984632463223916713667972025632923082112071943030056052139962079664016927735955617584298021825288628332221848342598611626750535116661217337284800092064825626121227862847172931261349126093676356093087058884564678829492201900834077951151664790102101865037224831870791235755918505283375345853027865969037496452174993628265643305600032255555687535939771362519485214041648832644609205738961462483602523890609127019919025828542482207561480698537648663461360231076872208474673634726542006819518203146203438360737180742566422026315648089681177641737151523985902558189839058675803795205380227982048395590883221815670509187026240644866094844889545202951986231794493577204675438720900656260243639608673038841011704437373068323433452051503123654439716119834653031356449414808309596179792610669752703599517227399298790756447652353089963507108768734956280766761058361759734275522914468491352020414134462393749808173980915319631242671354148199717891830329350072827574284228423305822467471967605005689352292267417701065431733786433543949956751667616966990926069864586929377666808976951349152811999296299068661254140230381115420868230076 90696664446097469574908243290001224166166338277917593144289560515903035403836765609239322156007025021920226885581570082555770975436420693297128319723604413355207817261797179800450754030309753570575483370526436382822151606390796780335924271076005361010362159883613879628230641289605157365477906028466243155490869569371105836047102395113844384124674483887116015341904730086306692068010899013841220645781839566134854682016205064646503106044072277953610369531118376251609402141853083726886818258692838499821914936381807425003378881220092209225514893242028525867399789557176134557452441818840332523543295096014886383127679009732076761701540209808191675281399391382253774754120019502557329827289851762382691202847276636718060351250442801757248361286250833890896428696094746241839631291055437536889125251598059425632866990489305362640315701867822212010766052948493512656356341139655268150841672209294577596193816114320390866537364469944021327372127012765158377777783448346819334100626330452103091303199585812707045893221075056911517129195904414875379517757054389996321686283509877984072485992511725652337327023476520095792811145156676873858394834982032956779002516618233641574885485619303324098755460516476414852016821568247585111270409908178242108833605609282437499313440880899487230418616183200820690328021141004358311669185840955376089896677989004668919444531073423140111765536039378092263417766094765792947957945449276390928816766243053553140796205344014826562278653833999767672410528013721657765593214052342069854992460654136927050324392174866881307541446082025578000218615826035330577393552810249297758633335200219488540007997311665727092341529393641129134645831394017882084548254776843958115264457891308808891312533560816064229986962976602627835504613851920888853161105798548454686546819762937909042138420630763161234739045897437507356401642163806420263409190408097526530282224376293842584710159311764169198184040418454814459603091007213359282506934946818099241901939205919852411087085751721680205208975447856323990486398703426171911203 146750285740029861150466059231204965605689952998401585382571601716615012641711779065008464839958723484109151516275769093580084377484287580976688038461287273597165293661102676997704078919717559013997051576895644892548473537881640469418433020393438907344699689718713563468380274653746049677689149393286361368491924848073450071754843175610546236581793348846510695078146633165209635940287389176272056377033869971511978156544641567494927639543203650174111341482013095919793155718224372432091675034542520322887409048941698798515361796170028226231370765390399297824684548835726842815419018430124650233819577384419070947619324442245036528154186462709239338543714636814630688949633051698032560194839274436649175549706272283468828515187103252590538438921521656353016741676124153166635104233499893619247748446378333689942590573441046952240149522259355963308764446869800810686234791781713195710700450742609735889917900680856776642521996933167938041040099038398081459889855391376875386240588410116120019039155203397005067718509703389133365471794516041625914634418271727281121778348335504105300348839684656913686453117152876188879870029721355703350596735816110907930667306720335506612110317490094559854673965799851760705044687537285081563445403536443885414433637864838125035253212243418972444460265015845429896066982603487960835559794967975295115725220471212230400143068722086601471996612911586566937052492636772612466161091652714751665997508809475579456444295025192468299430177819902325862249586689525452970973442034390465445875682469807436237350632819732976152430991284977564232013109403240006016114453466509541398242008239060500244445370379989160544393032517295568850765666047049238533963063086440137907875127644012408408539932859606820677639316066566134944273348808201655614219467558282730209461288254289929456272883024512969408719961217068750027755790363524312093738540480925100814510647682116310056677764317453521490451458119520246193389524551163316034174551913809025311766526135297519220064037100874492204505274516517578130716779818847040141279 237446950186127330725374302521206189771856291276319178526861162232518048045548544674247786995965748506029378401857339176135855352920708274273816358184891686952373110922899856798154832950027312584572534947422081275370625144272437249754357291469444268355061849602327443096610915943351207043167055421752604523982794417444555907801945570724390620706467832733626710420051363251516328008298288190113277022815709537646832838560846632141430745587275928127721711013131472171402557860077456158978493293235358822709323985323506223518740677390120435456885658632427823692084338392902977372871460248964982757362872480433957330747003451977113289855726672517431013825114028196884463703753071200589890022129126199031866752553548920186888866437546054347786800207772490243913170372218899408474735524555331156136873697976393115575457563930352314880465224127178175319530499818294323342591132921368463861542122951904313486111716795177167509059361403111959368412226051163239837667638839723694720341214740568223110342354789209712113611730778446044882600990420456501294152175326117277443464631845382089372834832196382566023780140629396284672681174878032577208991570798143864709669823338569148186995803109397883953429426316328175557061509105532666674715813444622127523267243474120562534566653124318459674878881199046250586395003744492319147228980808930671205621898460216899319587599795509741583762148950964659200470258731538405414119037101991142594814275052529132597240500369207294861708831653902093534660114703247110736566656086732535300868143123944363287675024994599857459972437367003142232231725229275336593508006276758839156875343439279988784453367691654887636734561910936697985411497441067120618511317863284096023139585535321217299852466420422884907626279043168762779777962660122544467380573356831184896008108017227838498411303655276130643459007114506257384157432527330732357147730889022627344792872058410152641387923629217690688635498537975060652992615558376675316681486860627124553668465341217371631151122852596172409714249964373902121203178522273212052482 384197235926157191875840361752411155377546244274720763909432763949133060687260323739256251835924471990138529918133108269715939730404995855250504396646178960549538404584002533795858911869744871598569586524317726167919098682154077719172790311862883175699761539321041006564991190597097256720856204815038965892474719265518005979556788746334936857288261181580137405498197996416725963948585677366385333399849579509158810995105488199636358385130479578301833052495144568091195713578301828591070168327777879145596733034265205022034102473560148661688256424022827121516768887228629820188290478679089632991182449864853028278366327894222149818009913135226670352368828665011515152653386122898622450216968400635681042302259821203655717381624649306938325239129294146596929912048343052575109839758055224775384622144354726805518048137371399267120614746386534138628294946688095134028825924703081659572242573694514049376029617476033944151581358336279897409452325089561321297557494231100570106581803150684343129381509992606717181330240481835178248072784936498127208786593597844558565242980180886194673183671881039479710233257782272473552551204599388280559588306614254772640337130058904654799106120599492443808103392116179936262106196642817748238161216981066012937700881338958687569819865367737432119339146214891680482461986347980279982788775776905966321347118931429129719730668517596343055758761862551226137522751368311017880280128754705894260811783862004712053684795394399763161139009473804419396909701392772563707540098121123000746743825593751799525025657814332833612403428651980706464244834632515342609622459743268380555117351678340489028898738071644048181127594428232266836177163488116359152474380949724233931014713179333625708392399280029705585265595109734897724051311468324200081600040915113915105469396271517767954684186679789100052178968331575007411913222890855044450886271369947728159303519740526462698065687946671212179086956657495306846382140109539991350856038774436149865434991476514890851215159953470664614219524480891480251919958341120252193761 621644186112284522601214664273617345149402535551039942436293926181651108732808868413504038831890220496167908319990447445851795083325704129524320754831070647501911515506902390594013744819772184183142121471739807443289723826426514968927147603332327444054823388923368449661602106540448463764023260236791570416457513682962561887358734317059327477994729014313764115918249359668242291956883965556498610422665289046805643833666334831777789130717755506429554763508276040262598271438379284750048661621013237968306057019588711245552843150950269097145142082655254945208853225621532797561161938928054615748545322345286985609113331346199263107865639807744101366193942693208399616357139194099212340239097526834712909054813370123842606248062195361286112039337066636840843082420561951983584575282610555931521495842331119921093505701301751582001079970513712313947825446506389457371417057624450123433784696646418362862141334271211111660640719739391856777864551140724561135225133070824264826923017891252566239723864781816429294941971260281223130673775356954628502938768923961836008707612026268284046018504077422045734013398411668758225232379477420857768579877412398637350006953397473802986101923708890327761532818432508111819167705748350414912877030425688140460968124813079250104386518492055891794218027413937931068856990092472599130017756585836637526969017391646029039318268313106084639520910813515885337993010099849423294399165856697036855626058914533844650925295763607058022847841127706512931569816096019674444106754207855536047611968717696162812700682808932691072375866018983848696476559861790679203130466020027219711992695117620477813352105763298935817862156339168964821588660929183479770985698813008329954154298714654843008244865700452590492891874152903660503829274128446744548980614271945100001477504288745606453095490335065230695637975446081264796070655418185776808034002258970355504096391798936615339453611575888902867722455195470367499374755667916666667537525635063274419103456817732262482366282806066837023933774445265382373123136863393464246243 1005841422038441714477055026026028500526948779825760706345726690130784169420069192152760290667814692486306438238123555715567734813730699984774825151477249608051449920090904924389872656689517055781711707996057533611208822508580592688099937915195210619754584928244409456226593297137545720484879465051830536308932232948480567866915523063394264335282990195893901521416447356084968255905469642922883943822514868555964454828771823031414147515848235084731387816003420608353793985016681113341118829948791117113902790053853916267586945624510417758833398506678082066725622112850162617749452417607144248739727772210140013887479659240421412925875552942970771718562771358219914769010525316997834790456065927470393951357073191327498323629686844668224437278466360783437772994468905004558694415040665780706906117986685846726611553838673150849121694716900246452576120393194484591400242982327531783006027270340932412238170951747245055812222078075671754187316876230285882432782627301924834933504821041936909369105374774423146476272211742116401378746560293452755711725362521806394573950592207154478719202175958461525444246656193941231777783584076809138328168184026653409990344083456378457785208044308382771569636210548688048081273902391168163151038247406754153398669006152037937674206383859793323913557173628829611551318976440452879112806532362742603848316136323075158759048936830702427695279672676067111475515761468160441174679294611402931116437842776538556704610091158006821183986850601510932328479517488792238151646852328978536794355794311447962337726340623265524684779294670964555160721394494306021812752925763295600267110046795960966842250843834942983998989750767401231657765824417299838923460079762732563885169011893988468716637264980482296078157469262638558227880585596770944630580655187059015106946900560263374407779677014854330747816943777656272207983878309040821258920273628918083663399911539463078037519299522560115046809411852965674345756895777456658018393564409499424284538448294247153333581442759537501638153298926156862625043095204513716440004 1627485608150726237078269690299645845676351315376800648782020616312435278152878060566264329499704912982474346558114003161419529897056404114299145906308320255553361435597807314983886401509289239964853829467797341054498546335007107657027085518527538063809408317167777905888195403677994184248902725288622106725389746631443129754274257380453591813277719210207665637334696715753210547862353608479382554245180157602770098662438157863191936646565990591160942579511696648616392256455060398091167491569804355082208847073442627513139788775460686855978540589333337011934475338471695415310614356535198864488273094555426999496592990586620676033741192750714873084756714051428314385367664511097047130695163454305106860411886561451340929877749040029510549317803427420278616076889466956542278990323276336638427613829016966647705059539974902431122774687413958766523945839700874048771660039951981906439811966987350775100312286018456167472862797815063610965181427371010443568007760372749099760427838933189475608829239556239575771214183002397624509420335650407384214664131445768230582658204233422762765220680035883571178260054605609990003015963554229996096748061439052047340351036853852260771309968017273099331169028981196159900441608139518578063915277832442293859637130965117187778592902351849215707775201042767542620175966532925478242824288948579241375285153714721187798367205143808512334800583489582996813508771568009864469078460468099967972063901691072401355535386921613879206834691729217445260049333584811912595753606536834072841967763029144125150427023432198215757155160689948403857197954356096701015883391783322819979102741913581444655602949598241919816851907106570196479354485346483318694445778575740893839323310608643311724882130680934886571049343415542218731709859725217689179561269459004115108424404849008980860875167349919561443454919223737537004054533727226598066954275887888439167496303338399693376972911098449017914531867048436041845131651445373324685931090044562698703641905111979415815947725565604338662087073371422244998166232067907180686247 2633327030189167951555324716325674346203300095202561355127747306443219447572947252719024620167519605468780784796237558876987264710787104099073971057785569863604811355688712239373759058198806295746565537463854874665707368843587700345127023433722748683563993245412187362114788700815539904733782190340452643034321979579923697621189780443847856148560709406101567158751144071838178803767823251402266498067695026158734553491209980894606084162414225675892330395515117256970186241471741511432286321518595472196111637127296543780726734399971104614811939096011419078660097451321858033060066774142343113228000866765567013384072649827042088959616745693685644803319485409648229154378189828094881921151229381775500811768959752778839253507435884697734986596269788203716389071358371961100973405363942117345333731815702813374316613378648053280244469404314205219100066232895358640171903022279513689445839237328283187338483237765701223285084875890735365152498303601296326000790387674673934693932659975126384977934614330662722247486394744514025888166895943860139926389493967574625156608796440577241484422855994345096622506710799551221780799547631039134424916245465705457330695120310230718556518012325655870900805239529884207981715510530686741214953525239196447258306137117155125452799286211642539621332374671597154171494942973378357355630821311321845223601290037796346557416141974510940030080256165650108289024533036170305643757755079502899088501744467610958060145478079620700390821542330728377588528851073604150747400458865812609636323557340592087488153364055463740441934455360912959017919348850402722828636317546618420246212788709542411497853793433184903815841657873971428137120309763783157617905858338473457724492322502631780441519395661417182649206812678180776959590445321988633810141924646063130215371305409272355268654844364773892191271863001393809212038412036267419325874549516806522830896214877862771414492210621009132961341278901401716190888547222829982704324654454062122988180353406226569149529168325141840300240372297579107623209327272420897126251 4260812638339894188633594406625320191879651410579362003909767922755654725725825313285288949667224518451255131354351562038406794607843508213373116964093890119158172791286519554357645459708095535711419366931652215720205915178594808002154108952250286747373401562579965268002984104493534088982684915629074749759711726211366827375464037824301447961838428616309232796085840787591389351630176859881649052312875183761504652153648138757798020808980216267053272975026813905586578497926801909523453813088399827278320484200739171293866523175431791470790479685344756090594572789793553448370681130677541977716273961320994012880665640413662764993357938444400517888076199461076543539745854339191929051846392836080607672180846314230180183385184924727245535914073215623995005148247838917643252395687218453983761345644719780022021672918622955711367244091728163985624012072596232688943563062231495595885651204315633962438795523784157390757947673705798976117679730972306769568798148047423034454360498908315860586763853886902298018700577746911650397587231594267524141053625413342855739267000674000004249643536030228667800766765405161211783815511185269130521664306904757504671046157164082979327827980342928970231974268511080367882157118670205319278868803071638741117943268082272313231392188563491755329107575714364696791670909506303835598455110259901086598886443752517534355783347118319452364880839655233105102533304604180170112836215547602867060565646158683359415680865001234579597656234059945822848578184658416063343154065402646682478291320369736212638580387487661956199089616050861362875117303206499423844519709329941240225315530623123856153456743031426823632693564980541624616474795110266476312351636914214351563815633111275092166401526342352069220256156093722995691300305047206322989703194105067245323795710258281336129530011714693453634726782225131346216092945763494017392828825404694961998392518216262464791465121719458150875873145949837758036020198668203307390255744498624821691822258518205984965476893890746178962327445669001352621375559340328077812498 6894139668529062140188919122950994538082951505781923359037515229198874173298772566004313569834744123920035916150589120915394059318630612312447088021879459982762984146975231793731404517906901831457984904395507090385913284022182508347281132385973035430937394807992152630117772805309073993716467105969527392794033705791290524996653818268149304110399138022410799954836984859429568155398000111283915550380570209920239205644858119652404104971394441942945603370541931162556764739398543420955740134606995299474432121328035715074593257575402896085602418781356175169254670241115411481430747904819885090944274828086561026264738290240704853952974684138086162691395684870724772694124044167286810972997622217856108483949806067009019436892620809424980522510343003827711394219606210878744225801051160571329095077460422593396338286297271008991611713496042369204724078305491591329115466084511009285331490441643917149777278761549858614043032549596534341270178034573603095569588535722096969148293158883442245564698468217565020266186972491425676285754127538127664067443119380917480895875797114577245734066392024573764423273476204712433564615058816308264946580552370462962001741277474313697884345992668584841132779508040964575863872629200892060493822328310835188376249405199427438684191474775134294950439950385961850963165852479682192954085931571222931822487733790313880913199489092830392394961095820883213391557837640350475756593970627105766149067390626294317475826343080855279988477776390674200437107035732020214090554524268459292114614877710328300126733751543125696641024071411774321893036652056902146673156026876559660471528319332666267651310536464611727448535222854513052753595104874049633930257495252687809288307955613906872607920922003769251869462968771903772650890750369194956799845118751130375539167015667553691398184856079467345825998645226525155428131357799761436718703374921501484829288733094125236205957332340467283837214424851239474226908745891033290094580398952686944680002611924432554115006062215888019262567817966580460244584886612748974938749 11154952306868956328822513529576314729962602916361285362947283151954528899024597879289602519501968642371291047504940682953800853926474120525820204985973350101921156938261751348089049977614997367169404271327159306106119199200777316349435241338223322178310796370572117898120756909802608082699152021598602142553745432002657352372117856092450752072237566638720032750922825647020957507028176971165564602693445393681743857798506258410202125780374658209998876345568745068143343237325345330479193947695395126752752605528774886368459780750834687556392898466700931259849243030908964929801429035497427068660548789407555039145403930654367618946332622582486680579471884331801316233869898506478740024844015053936716156130652381239199620277805734152226058424416219451706399367854049796387478196738379025312856423105142373418359959215893964702978957587770533190348090378087824018059029146742504881217141645959551112216074285334016004800980223302333317387857765545909865138386683769520003602653657791758106151462322104467318284887550238337326683341359132395188208496744794260336635142797788577249983709928054802432224040241609873645348430570001577395468244859275220466672787434638396677212173973011513811364753776552044943746029747871097379772691131382473929494192673281699751915583663338626050279547526100326547754836761985986028552541041831124018421374177542831415268982836211149844759841935476116318494091142244530645869430186174708633209633036784977676891507208082089859586134010450620023285685220390436277433708589671105974592906198080064512765314139030787652840113687462635684768153955263401570517675736206500900696843849955790123804767279496038551081228787835054677370069899984316110242609132166902160852123588725181964774322448346121321089719124865626768342191055416401279789548312856197620862962725925835027527714867794160799460725427451656501644224303563255454111532200326196446827681251310387700997422454059925434713087570801077232262928944559236597484836143451311766371824870442638539080482956106634198224895263635581812865960445953077052751247 18049091975398018469011432652527309268045554422143208721984798381153403072323370445293916089336712766291326963655529803869194913245104732838267293007852810084684141085236983141820454495521899198627389175722666396492032483222959824696716373724196357609248191178564270528238529715111682076415619127568129535347779137793947877368771674360600056182636704661130832705759810506450525662426177082449480153074015603601983063443364378062606230751769100152944479716110676230700107976723888751434934082302390426227184726856810601443053038326237583641995317248057106429103913272024376411232176940317312159604823617494116065410142220895072472899307306720572843270867569202526088927993942673765550997841637271792824640080458448248219057170426543577206580934759223279417793587460260675131703997789539596641951500565564966814698245513164973694590671083812902395072168683579415347174495231253514166548632087603468261993353046883874618844012772898867658658035800119512960707975219491616972750946816675200351716160790322032338551074522729763002969095486670522852275939864175177817531018594903154495717776320079376196647313717814586078913045628817885660414825411645683428674528712112710375096519965680098652497533284593009519609902377071989440266513459693309117870442078481127190599775138113760345229987476486288398718002614465668221506626973402346950243861911333145296182182325303980237154803031296999531885648979884881121626024156801814399358700427411271994367333551162945139574611786841294223722792256122456491524263113939565266707521075790392812892047890573913349481137758874410006661190607320303717190831763083060561168372169288456391456077815960650278529764010689567730123665004858365744172866627419589970140431544339088837382243370349890572959182093637530540993081805785596236589393431607327996402129741593388718925899723873628145286724072678181657072355661363016890830235575247697931656969984404512937203379786400392718550301995652316706489837690450269887579416542403998711051827482367071093195489018322522217487463081602162273110545332565826027689996 29204044282266974797833946182103623998008157338504494084932081533107931971347968324583518608838681408662618011160470486822995767171578853364087497993826160186605298023498734489909504473136896565796793447049825702598151682423737141046151615062419679787558987549136388426359286624914290159114771149166731677901524569796605229740889530453050808254874271299850865456682636153471483169454354053615044755767460997283726921241870636472808356532143758362943356061679421298843451214049234081914128029997785552979937332385585487811512819077072271198388215714758037688953156302933341341033605975814739228265372406901671104555546151549440091845639929303059523850339453534327405161863841180244291022685652325729540796211110829487418677448232277729432639359175442731124192955314310471519182194527918621954807923670707340233058204729058938397569628671583435585420259061667239365233524377996019047765773733563019374209427332217890623644992996201200976045893565665422825846361903261136976353600474466958457867623112426499656835962072968100329652436845802918040484436608969438154166161392691731745701486248134178628871353959424459724261476198819463055883070270920903895347316146751107052308693938691612463862287061145054463355932124943086820039204591075783047364634751762826942515358801452386395509535002586614946472839376451654250059168015233470968665236088875976711451165161515130081914644966773115850379740122129411767495454342976523032568333464196249671258840759245034999160745797291914247008477476512892768957971703610671241300427273870457325657362029604701002321251446337045691429344562583705287708507499289561461865216019244246515260845095456688829610992798524622407493734904842681854415475759586492130992555133064270802156565818696011894048901218503157309335272861201997516378941744463525617265092467519223746453614591667788944747449500129838158716579964926272344941767775573894378484651235714900638200802240460318153263389566453393938752766635009506485064252685855310477423652352809709632275971974429156415712358345237744085976505778518903080441243 47253136257664993266845378834630933266053711760647702806916879914261335043671338769877434698175394174953944974816000290692190680416683586202354791001678970271289439108735717631729958968658795764424182622772492099090184165646696965742867988786616037396807178727700658954597816340025972235530390276734861213249303707590553107109661204813650864437510975960981698162442446659922008831880531136064524908841476600885709984685235014535414587283912858515887835777790097529543559190773122833349062112300175979207122059242396089254565857403309854840383532962815144118057069574957717752265782916132051387870196024395787169965688372444512564744947236023632367121207022736853494089857783854009842020527289597522365436291569277735637734618658821306639220293934666010541986542774571146650886192317458218596759424236272307047756450242223912092160299755396337980492427745246654712408019609249533214314405821166487636202780379101765242489005769100068634703929365784935786554337122752753949104547291142158809583783902748531995387036595697863332621532332473440892760376473144615971697179987594886241419262568213554825518667677239045803174521827637348716297895682566587324021844858863817427405213904371711116359820345738063982965834502015076260305718050769092165235076830243954133115133939566146740739522479072903345190841990917322471565794988635817918909098000209122007633347486819110319069447998070115382265389102014292889121478499778337431927033891607521665626174310407980138735357584133208470731269732635349260482234817550236508007948349660850138549409920178614351802389205211455698090535169904009004899339262372622023033588188532702906716922911417339108140756809214190137617399909701047598588342387006082101132986677403359639538809189045902467008083312140687850328354666987593752968335176070853613667222209112612465379514315541417090034173572808019815788935626289289235772003350821592310141621220119413575404182026860710871813691562105710645242604325459776372643669228259309188475479835176780725471460992751678633199821426839906359087051111084729108131239 76457180539931968064679325016734557264061869099152196891848961447369267015019307094460953307014075583616562985976470777515186447588262439566442288995505130457894737132234452121639463441795692330220976069822317801688335848070434106789019603849035717184366166276837047380957102964940262394645161425901592891150828277387158336850550735266701672692385247260832563619125082813393492001334885189679569664608937598169436905927105651008222943816056616878831191839469518828387010404822356915263190142297961532187059391627981577066078676480382126038771748677573181807010225877891059093299388891946790616135568431297458274521234523993952656590587165326691890971546476271180899251721625034254133043212941923251906232502680107223056412066891099036071859653110108741666179498088881618170068386845376840551567347906979647280814654971282850489729928426979773565912686806913894077641543987245552262080179554729507010412207711319655866133998765301269610749822931450358612400699026013890925458147765609117267451407015175031652222998668665963662273969178276358933244813082114054125863341380286617987120748816347733454390021636663505527435998026456811772180965953487491219369161005614924479713907843063323580222107406883118446321766626958163080344922641844875212599711582006781075630492741018533136249057481659518291663681367368976721624963003869288887574334089085098719084512648334240400984092964843231232645129224143704656616932842754860464495367355803771336885015069653015137896103381425122717739747209148242029440206521160907749308375623531307464206771949783315354123640651548501389519879732487714292607846761662183484898804207776949421977768006874027937751749607738812545111134814543729453003818146592574232125541810467630441695375007741914361056984530643845159663627528189591269347276920534379230932314676631836211833128907209206034781623072937857974505515591215561580713771126395486688626272455834314213604984267321029025077081128559104583995370960469282857707921914114619665899132187986490357747432967180835048912179772077650445063556889603632188572482 123710316797596961331524703851365490530115580859799899698765841361630602058690645864338388005189469758570507960792471068207377128004946025768797079997184100729184176240970169753369422410454488094645158692594809900778520013717131072531887592635651754581173345004537706335554919304966234630175551702636454104400131984977711443960211940080352537129896223221814261781567529473315500833215416325744094573450414199055146890612340665543637531099969475394719027617259616357930569595595479748612252254598137511394181450870377666320644533883691980879155281640388325925067295452848776845565171808078842004005764455693245444486922896438465221335534401350324258092753499008034393341579408888263975063740231520774271668794249384958694146685549920342711079947044774752208166040863452764820954579162835059148326772143251954328571105213506762581890228182376111546405114552160548790049563596495085476394585375895994646614988090421421108623004534401338245453752297235294398955036148766644874562695056751276077035190917923563647610035264363826994895501510749799826005189555258670097560521367881504228540011384561288279908689313902551330610519854094160488478861636054078543391005864478741907119121747435034696581927752621182429287601128973239340650640692613967377834788412250735208745626680584679876988579960732421636854523358286299193190757992505106806483432089294220726717860135153350720053540962913346614910518326157997545738411342533197896422401247411293002511189380060995276631460965558331188471016941783591289922441338711144257316323973192157602756181869961929705926029856759957087610414902391723297507186024034805507932392396309652328694690918291367045892506416953002682728534724244777051592160533598656333258528487870990081234184196787816828065067842784533009991982195177185022315612096605232844599536885744448677212643222750623124815796645745877790294451217504850816485774477217078998767893675953727789009166294181739896890772690664815229237975285929059230351591142373928854374612023163271083218893959932513682112001198917556804150608000688361296703721 200167497337528929396204028868100047794177449958952096590614802808999869073709952958799341312203545342187070946768941845722563575593208465335239368992689231187078913373204621875008885852250180424866134762417127702466855861787565179320907196484687471765539511281374753716512022269906497024820713128538046995550960262364869780810762675347054209822281470482646825400692612286708992834550301515423664238059351797224583796539446316551860474916026092273550219456729135186317580000417836663875442396896099043581240842498359243386723210364074106917927030317961507732077521330739835938864560700025632620141332886990703719008157420432417877926121566677016149064299975279215292593301033922518108106953173444026177901296929492181750558752441019378782939600154883493874345538952334382991022966008211899699894120050231601609385760184789613071620156609355885112317801359074442867691107583740637738474764930625501657027195801741076974757003299702607856203575228685653011355735174780535800020842822360393344486597933098595299833033933029790657169470689026158759250002637372724223423862748168122215660760200909021734298710950566056858046517880550972260659827589541569762760166870093666386833029590498358276804035159504300875609367755931402420995563334458842590434499994257516284376119421603213013237637442391939928518204725655275914815720996374395694057766178379319445802372783487591121037633927756577847555647550301702202355344185288058360917768603215064339396204449714010414527564346983453906210764150931833319362647859872052006624699596723465066962953819745245060049670508308458477130294634879437590115032785696988992831196604086601750672458925165394983644256024691815227839669538788506504595978680191230565384070298338620522929559204529731189122052373428378169655609723366776291662889017139612075531851562376284889045772129959829159597419718683735764799966808720412397199545603612565687394166131788042002614150561502768921967853819223919813233346246398342088059513056488548520273744211149761440966326927113348731024180970995207249214164890291993485276203 323877814135125890727728732719465538324293030818751996289380644170630471132400598823137729317393015100757578907561412913929940703598154491104036448989873331916263089614174791628378308262704668519511293455011937603245375875504696251852794789120339226346712856285912460052066941574872731654996264831174501099951092247342581224770974615427406746952177693704461087182260141760024493667765717841167758811509765996279730687151786982095498006015995567668269247073988751544248149596013316412487694651494236554975422293368736909707367744247766087797082311958349833657144816783588612784429732508104474624147097342683949163495080316870883099261655968027340407157053474287249685934880442810782083170693404964800449570091178877140444705437990939721494019547199658246082511579815787147811977545171046958848220892193483555937956865398296375653510384791731996658722915911234991657740671180235723214869350306521496303642183892162498083380007834103946101657327525920947410310771323547180674583537879111669421521788851022158947443069197393617652064972199775958585255192192631394320984384116049626444200771585470310014207400264468608188657037734645132749138689225595648306151172734572408293952151337933392973385962912125483304896968884904641761646204027072809968269288406508251493121746102187892890226217403124361565372728083941575108006478988879502500541198267673540172520232918640941841091174890669924462466165876459699748093755527821256257340169850626357341907393829775005691159025312541785094681781092715424609285089198583196263941023569915622669719135689707174765975700365068415564740709537271160887622218809731794500763589000396254079367149843456762029536762441644817910568204263033283556188139213789886898642598786209610604163743401317548017187120216212911179647591918543961313978501113744844920131388448120733566258415352710452284413216364429613555094418026225263213685320080829644686162059807741769791623316855684508818858626509888735042471321532327401318411104198862477374648356234313032524185220887045862413136182169912764053364772890980354781979924 524045311472654820123932761587565586118470480777704092879995446979630340206110551781937070629596560442944649854330354759652504279191362956439275817982562563103342002987379413503387194114954848944377428217429065305712231737292261431173701985605026698112252367567287213768578963844779228679816977959712548095502052509707451005581737290774460956774459164187107912582952754046733486502316019356591423049569117793504314483691233298647358480932021659941819466530717886730565729596431153076363137048390335598556663135867096153094090954611840194715009342276311341389222338114328448723294293208130107244288430229674652882503237737303300977187777534704356556221353449566464978528181476733300191277646578408826627471388108369322195264190431959100276959147354541739956857118768121530803000511179258858548115012243715157547342625583085988725130541401087881771040717270309434525431778763976360953344115237146997960669379693903575058137011133806553957860902754606600421666506498327716474604380701472062766008386784120754247276103130423408309234442888802117344505194830004118544408246864217748659861531786379331748506111215034665046703555615196105009798516815137218068911339604666074680785180928431751250189998071629784180506336640836044182641767361531652558703788400765767777497865523791105903463854845516301493890932809596851022822199985253898194598964446052859618322605702128532962128808818426502310021813426761401950449099713109314618257938453841421681303598279489016105686589659525239000892545243647257928647737058455248270565723166639087736682089509452419826025370873376874041871004172150598477737251595428783493594785604482855830039608768622157013181018466336633138407873801821790060784117893981117464026669084548231127093302605847279206309172589641289349303201641910737605641390130884456995663240010497018455304187482670281444010636083113349319894384834945675610884865684442210373556225939529811794237467417187277740826480329112654855704667778725743406470617255351025894922100445462793965151547814159211144160363140907971302578937781272348267256127 847923125607780710851661494307031124442763511596456089169376091150260811338511150605074799946989575543702228761891767673582444982789517447543312266972435895019605092601554205131765502377659517463888721672441002908957607612796957683026496774725365924458965223853199673820645905419651960334813242790887049195453144757050032230352711906201867703726636857891568999765212895806757980170081737197759181861078883789784045170843020280742856486948017227610088713604706638274813879192444469488850831699884572153532085429235833062801458698859606282512091654234661175046367154897917061507724025716234581868435527572358602045998318054174184076449433502731696963378406923853714664463061919544082274448339983373627077041479287246462639969628422898821770978694554199986039368698583908678614978056350305817396335904437198713485299490981382364378640926192819878429763633181544426183172449944212084168213465543668494264311563586066073141517018967910500059518230280527547831977277821874897149187918580583732187530175635142913194719172327817025961299415088578075929760387022635512865392630980267375104062303371849641762713511479503273235360593349841237758937206040732866375062512339238482974737332266365144223575960983755267485403305525740685944287971388604462526973076807274019270619611625978998793690072248640663059263660893538426130828678974133400695140162713726399790842838620769474803219983709096426772487979303221101698542855240930570875598108304467779023210992109264021796845614972067024095574326336362682537932826257038444534506746736554710406401225199159594592001071238445289606611713709421759365359470405160577994358374604879109909406758612078919042717780907981451048976078064855073616972257107771004362669267870757841731257046007164827223496292805854200528950793560454698919619891244629301915794628458617752021562602835380733728423852447542962874988802861170938824570185765271855059718285747271581585860784272871786559685106839001389898175989311053144724881721454213503269570456679775826489336768701205073557296545310820735355943710672252703049236051 1371968437080435530975594255894596710561233992374160182049371538129891151544621702387011870576586135986646878616222122433234949261980880403982588084954998458122947095588933618635152696492614366408266149889870068214669839350089219114200198760330392622571217591420486887589224869264431189014630220750599597290955197266757483235934449196976328660501096022078676912348165649853491466672397756554350604910648001583288359654534253579390214967880038887551908180135424525005379608788875622565213968748274907752088748565102929215895549653471446477227100996510972516435589493012245510231018318924364689112723957802033254928501555791477485053637211037436053519599760373420179642991243396277382465725986561782453704512867395615784835233818854857922047937841908741725996225817352030209417978567529564675944450916680913871032642116564468353103771467593907760200804350451853860708604228708188445121557580780815492224980943279969648199654030101717054017379133035134148253643784320202613623792299282055794953538562419263667441995275458240434270533857977380193274265581852639631409800877844485123763923835158228973511219622694537938282064148965037342768735722855870084443973851943904557655522513194796895473765959055385051665909642166576730126929738750136115085676865208039787048117477149770104697153927094156964553154593703135277153650878959387298889739127159779259409165444322898007765348792527522929082509792729982503648991954954039885493856046758309200704514590388753037902532204631592263096466871580009940466580563315493692805072469903193798143083314708612014418026442111822163648482717881572357843096722000589361487953160209361965739446367380701076055898799374318084187383951866676863677756375001752121826695936955306072858350348613012106429805465395495489878253995202365436525261281375513758911457868469114770476866790318051015172434488530656312194883187696116614435455051449714065433274511686801393380098251690059064300511587168114044753880657089778888131352338709564529164492557125238620454488316515364284701456908451728706658522648453525051316492178 2219891562688216241827255750201627835003997503970616271218747629280151962883132852992086670523575711530349107378113890106817394244770397851525900351927434353142552188190487823766918198870273883872154871562311071123627446962886176797226695535055758547030182815273686561409870774684083149349443463541486646486408342023807515466287161103178196364227732879970245912113378545660249446842479493752109786771726885373072404825377273860133071454828056115161996893740131163280193487981320092054064800448159479905620833994338762278697008352331052759739192650745633691481956647910162571738742344640599270981159485374391856974499873845651669130086644540167750482978167297273894307454305315821464740174326545156080781554346682862247475203447277756743818916536462941712035594515935938888032956623879870493340786821118112584517941607545850717482412393786727638630567983633398286891776678652400529289771046324483986489292506866035721341171049069627554076897363315661696085621062142077510772980217862639527141068738054406580636714447786057460231833273065958269204025968875275144275193508824752498867986138530078615273933134174041211517424742314878580527672928896602950819036364283143040630259845461162039697341920039140319151312947692317416071217710138740577612649942015313806318737088775749103490843999342797627612418254596673703284479557933520699584879289873505659200008282943667482568568776236619355854997772033203605347534810194970456369454155062776979727725582498017059699377819603659287192041197916372623004513389572532137339579216639748508549484539907771609010027513350267453255094431590994117208456192405749939482311534814241075648853125992779995098616580282299535236360029931531937294728632109523126189365204826063914589607394620176933653301758201349690407204788762820135444881172620143060827252496927732522498429393153431748900858340978199275069871990557287553260025237214985920492992797434072974965959035962930850860196694007115434652056646400832032856234060163778032434063013805014446943825085216569358258753453762549442014466359125777754365728229 3591859999768651772802850006096224545565231496344776453268119167410043114427754555379098541100161847516995985994336012540052343506751278255508488436882432811265499283779421442402070895362888250280421021452181139338297286312975395911426894295386151169601400406694173448999095643948514338364073684292086243777363539290564998702221610300154525024728828902048922824461544195513740913514877250306460391682374886956360764479911527439523286422708095002713905073875555688285573096770195714619278769196434387657709582559441691494592558005802499236966293647256606207917546140922408081969760663564963960093883443176425111903001429637129154183723855577603804002577927670694073950445548712098847205900313106938534486067214078478032310437266132614665866854378371683438031820333287969097450935191409435169285237737799026455550583724110319070586183861380635398831372334085252147600380907360588974411328627105299478714273450146005369540825079171344608094276496350795844339264846462280124396772517144695322094607300473670248078709723244297894502367131043338462478291550727914775684994386669237622631909973688307588785152756868579149799488891279915923296408651752473035263010216227047598285782358655958935171107879094525370817222589858894146198147448888876692698326807223353593366854565925519208187997926436954592165572848299808980438130436892907998474618417033284918609173727266565490333917568764142284937507564763186108996526765149010341863310201821086180432240172886770097601910024235251550288508069496382563471093952888025830144651686542942306692567854616383623428053955462089616903577149472566475051552914406339300970264695023603041388299493373481071154515379656617619423743981798208800972485007111275248016061141781369987447957743233189040083107223596845180285458783965185571970142453995656819738710365396847292975296183471482764073292829508855587264755178253404167695480288664699985926267309120874368346057287652989915160708281175229479405937303490610920987586398873342561598555570930253067398313401731933642960210362214278148672989007579302805682220407 5811751562456868014630105756297852380569229000315392724486866796690195077310887408371185211623737559047345093372449902646869737751521676107034388788809867164408051471969909266168989094233162134152575893014492210461924733275861572708653589830441909716631583221967860010408966418632597487713517147833572890263771881314372514168508771403332721388956561782019168736574922741173990360357356744058570178454101772329433169305288801299656357877536151117875901967615686851565766584751515806673343569644593867563330416553780453773289566358133551996705486298002239899399502788832570653708503008205563231075042928550816968877501303482780823313810500117771554485556094967967968257899854027920311946074639652094615267621560761340279785640713410371409685770914834625150067414849223907985483891815289305662626024558917139040068525331656169788068596255167363037461940317718650434492157586012989503701099673429783465203565957012041090881996128240972162171173859666457540424885908604357635169752735007334849235676038528076828715424171030355354734200404109296731682317519603189919960187895493990121499896112218386204059085891042620361316913633594794503824081580649075986082046580510190638916042204117120974868449799133665689968535537551211562269365159027617270310976749238667399685591654701268311678841925779752219777991102896482683722609994826428698059497706906790577809182010210232972902486345000761640792505336796389714344061575343980798232764356883863160159965755384787157301287843838910837480549267412755186475607342460557967484230903182690815242052394524155232438081468812357070158671581063560592260009106812089240452576229837844117037152619366261066253131959938917154660104011729740738267213639220798374205426346607433902037565137853365973736408981798194870692663572728005707415023626615799880565962862324579815473725576624914512974151170487054862334627168810691720955505525879685906419260106554947343312016323615920766020904975182344914057993949891442953843820459037120594032618584735267514342138486948503001218963815976827590687455366705080560047948636 9403611562225519787432955762394076926134460496660169177754985964100238191738641963750283752723899406564341079366785915186922081258272954362542877225692299975673550755749330708571059989596050384432996914466673349800222019588836968620080484125828060886232983628662033459408062062581111826077590832125659134041135420604937512870730381703487246413685390684068091561036466936687731273872233994365030570136476659285793933785200328739179644300244246120589807041491242539851339681521711521292622338841028255221039999113222145267882124363936051233671779945258846107317048929754978735678263671770527191168926371727242080780502733119909977497534355695375358488134022638662042208345402740019159151974952759033149753688774839818312096077979542986075552625293206308588099235182511877082934827006698740831911262296716165495619109055766488858654780116547998436293312651803902582092538493373578478112428300535082943917839407158046460422821207412316770265450356017253384764150755066637759566525252152030171330283339001747076794133894274653249236567535152635194160609070331104695645182282163227744131806085906693792844238647911199511116402524874710427120490232401549021345056796737238237201824562773079910039557678228191060785758127410105708467512607916493963009303556462020993052446220626787519866839852216706811943563951196291664160740431719336696534116123940075496418355737476798463236403913764903925730012901559575823340588340492991140096074558704949340592205928271557254903197868074162387769057336909137749946701295348583797628882589725633121934620249140538855866135424274446687062248730536127067311562021218428541422840924861447158425452112739742137407647339595534774083847993527949539239698646332073622221487488388803889485522881086555013819516205395040050978122356693191279385166080611456700304673227721427108449021760096397277047443999995910449599382347064095888650985814544385892345527415675821711658073611268910681181613256357574393463931253382053874831406857910463155631174155665520581740451888680436644179174178191105739360444374284383365730169043 15215363124682387802063061518691929306703689496975561902241852760790433269049529372121468964347636965611686172739235817833791819009794630469577266014502167140081602227719239974740049083829212518585572807481165560262146752864698541328734073956269970602864566850629893469817028481213709313791107979959232024304907301919310027039239153106819967802641952466087260297611389677861721634229590738423600748590578431615227103090489130038836002177780397238465709009106929391417106266273227327965965908485622122784370415667002599041171690722069603230377266243261086006716551718587549389386766679976090422243969300278059049658004036602690800811344855813146912973690117606630010466245256767939471098049592411127765021310335601158591881718692953357485238396208040933738166650031735785068418718821988046494537286855633304535687634387422658646723376371715361473755252969522553016584696079386567981813527973964866409121405364170087551304817335653288932436624215683710925189036663670995394736277987159365020565959377529823905509558065305008603970767939261931925842926589934294615605370177657217865631702198125079996903324538953819872433316158469504930944571813050625007427103377247428876117866766890200884908007477361856750754293664961317270736877766944111233320280305700688392738037875328055831545681777996459031721555054092774347883350426545765394593613830846866074227537747687031436138890258765665566522518238355965537684649915836971938328838915588812500752171683656344412204485711913073225249606604321892936422308637809141765113113492908323937176672643664694088304216893086803757220920311599687659571571128030517781875417154699291275462604732106003203660779299534451928743952005257690277506912285552871996426913834996237791523088018939920987555925187193234921670785929421196986800189707227256580870636090046006923922747336721311790021595170482965311934009515874787609606491340424071798764787522230769054970089934884831447202518231539919307521925203273496828675227316947583749663792740400788096082590375628939645398137994167933330047899740989463925778117679 24618974686907907589496017281086006232838149993635731079996838724890671460788171335871752717071536372176027252106021733020713900268067584832120143240194467115755152983468570683311109073425262903018569721947838910062368772453535509948814558082098031489097550479291926929225090543794821139868698812084891158346042722524247539909969534810307214216327343150155351858647856614549452908101824732788631318727055090901021036875689458778015646478024643359055516050598171931268445947794938849258588247326650378005410414780224744309053815086005654464049046188519932114033600648342528125065030351746617613412895672005301130438506769722600778308879211508522271461824140245292052674590659507958630250024545170160914774999110440976903977796672496343560791021501247242326265885214247662151353545828686787326448549152349470031306743443189147505378156488263359910048565621326455598677234572760146459925956274499949353039244771328134011727638543065605702702074571700964309953187418737633154302803239311395191896242716531570982303691959579661853207335474414567120003535660265399311250552459820445609763508284031773789747563186865019383549718683344215358065062045452174028772160173984667113319691329663280794947565155590047811540051792371422979204390374860605196329583862162709385790484095954843351412521630213165843665119005289066012044090858265102091127729954786941570645893485163829899375294172530569492252531139915541361025238256329963078424913474293761841344377611927901667107683579987235613018663941231030686369009933157725562741996082633957059111292892805232944170352317361250444283169042135814726883133149248946323298258079560738433888056844845745341068426639129986702827799998785639816746610931884945618648401323385041681008610900026476001375441392588274972648908286114388266185355787838713281175309317767434032371769096817709067069039170478875761533391862938883498257477154968457691110314937906590766628163546153742128384131487897493700985856456655550703506634174858046905294966896066308677823042264309376289577312172359039069408344115273847291508286722 39834337811590295391559078799777935539541839490611292982238691485681104729837700707993221681419173337787713424845257550854505719277862215301697409254696634255836755211187810658051158157254475421604142529429004470324515525318234051277548632038368002091962117329921820399042119025008530453659806792044123182650950024443557566949208687917127182018969295616242612156259246292411174542331415471212232067317633522516248139966178588816851648655805040597521225059705101322685552214068166177224554155812272500789780830447227343350225505808075257694426312431781018120750152366930077514451797031722708035656864972283360180096510806325291579120224067321669184435514257851922063140835916275898101348074137581288679796309446042135495859515365449701046029417709288176064432535245983447219772264650674833820985836007982774566994377830611806152101532859978721383803818590849008615261930652146714441739484248464815762160650135498221563032455878718894635138698787384675235142224082408628549039081226470760212462202094061394887813250024884670457178103413676499045846462250199693926855922637477663475395210482156853786650887725818839255983034841813720289009633858502799036199263551232095989437558096553481679855572632951904562294345457332740249941268141804716429649864167863397778528521971282899182958203408209624875386674059381840359927441284810867485721343785633807644873431232850861335514184431296235058775049378271506898709888172166935016753752389882574342096549295584246079312169291900308838268270545552923622791318570966867327855109575542280996287965536469927032474569210448054201504089353735502386454704277279464105173675234260029709350661576951748544729205938664438631571752004043330094253523217437817615075315158381279472531698918966396988931366579781509894319694215535585252985545495065969862045945407813440956294516433539020857090634340961841073467401378813671107863968495392529489875102460137359821598253481038573575586649719437413008507781659929047532181861491805630654958759636467096773905632639938315934975450166526972399456243856263311217286404401 64453312498498202981055096080863941772379989484247024062235530210571776190625872043864974398490709709963740676951279283875219619545929800133817552494891101371591908194656381341362267230679738324622712251376843380386884297771769561226363190120466033581059667809213747328267209568803351593528505604129014340996992746967805106859178222727434396235296638766397964014907102906960627450433240204000863386044688613417269176841868047594867295133829683956576741110303273253953998161863105026483142403138922878795191245227452087659279320894080912158475358620300950234783753015272605639516827383469325649069760644288661310535017576047892357429103278830191455897338398097214115815426575783856731598098682751449594571308556483112399837312037946044606820439210535418390698420460231109371125810479361621147434385160332244598301121273800953657479689348242081293852384212175464213939165224906860901665440522964765115199894906826355574760094421784500337840773359085639545095411501146261703341884465782155404358444810592965870116941984464332310385438888091066165849997910465093238106475097298109085158718766188627576398450912683858639532753525157935647074695903954973064971423725216763102757249426216762474803137788541952373834397249704163229145658516665321625979448030026107164319006067237742534370725038422790719051793064670906371971532143075969576849073740420749215519324718014691234889478603826804551027580518187048259735126428496898095178665864176336183440926907512147746419852871887544451286934486783954309160328504124592890597105658176238055399258429275159976644921527809304645787258395871317113337837426528410428471933313820768143238718421797493885797632577794425334399552002828969911000134149322763233723716481766321153540309818992872990306807972369784866968602501649973519170901282904683143221254725580874988666285530356729924159673511440716835000793241752554606121445650360987180985417398043950588226417027192315703970781207334906709493638116584598235688495666663677560253726532533405451728674904247692224552762338886011468864587971537158508794691123 104287650310088498372614174880641877311921828974858317044474221696252880920463572751858196079909883047751454101796536834729725338823792015435514961749587735627428663405844191999413425387934213746226854780805847850711399823090003612503911822158834035673021785139135567727309328593811882047188312396173137523647942771411362673808386910644561578254265934382640576171166349199371801992764655675213095453362322135933517316808046636411718943789634724554097966170008374576639550375931271203707696558951195379584972075674679431009504826702156169852901671052081968355533905382202683153968624415192033684726625616572021490631528382373183936549327346151860640332852655949136178956262492059754832946172820332738274367618002525247895696827403395745652849856919823594455130955706214556590898075130036454968420221168315019165295499104412759809581222208220802677656202803024472829201095877053575343404924771429580877360545042324577137792550300503394972979472146470314780237635583554890252380965692252915616820646904654360757930192009349002767563542301767565211696460160664787164962397734775772560553929248345481363049338638502697895515788366971655936084329762457772101170687276448859092194807522770244154658710421493856936128742707036903479086926658470038055629312197889504942847528038520641717328928446632415594438467124052746731898973427886837062570417526054556860392755950865552570403663035123039609802629896458555158445014600663833111932418254058910525537476203096393825732022163787853289555205032336877931951647075091460218452215233718519051687223965745087009119490738257358847291347749606819499792541703807874533645608548080797852589379998749242430526838516458863965971304006872300005253657366760580848799031640147600626072008737959269979238174552151294761288296717185558772156446777970653005267200133394315944960801963895750781250307852402557908468194620566225713985414145753516670860519858181310409824670508230889279557430926772319718001419776513645767870357158469308215212486169000502225634307544186008159528212505412983868320831827800469726081095524 168740962808586701353669270961505819084301818459105341106709751906824657111089444795723170478400592757715194778747816118604944958369721815569332514244478836999020571600500573340775692618613952070849567032182691231098284120861773173730275012279300069254081452948349315055576538162615233640716818000302151864644935518379167780667565133371995974489562573149038540186073452106332429443197895879213958839407010749350786493649914684006586238923464408510674707280311647830593548537794376230190838962090118258380163320902131518668784147596237082011377029672382918590317658397475288793485451798661359333796386260860682801166545958421076293978430624982052096230191054046350294771689067843611564544271503084187868938926559008360295534139441341790259670296130359012845829376166445665962023885609398076115854606328647263763596620378213713467060911556462883971508587015199937043140261101960436245070365294394345992560439949150932712552644722287895310820245505555954325333047084701151955722850158035071021179091715247326628047133993813335077948981189858631377546458071129880403068872832073881645712648014534108939447789551186556535048541892129591583159025666412745166142111001665622194952056948987006629461848210035809309963139956741066708232585175135359681608760227915612107166534105758384251699653485055206313490260188723653103870505570962806639419491266475306075912080668880243805293141638949844160830210414645603418180141029160731207111084118235246708978403110608541572151875035675397740842139519120832241111975579216053109049320891894757107086482395020246985764412266066663493078606145478136613130379130336284962117541861901565995828098420546736316324471094253289300370856009701269916253791516083344082522748121913921779612318556952142969544982524521079628256899218835532291327348060875336148488454858975190933627087494252480705409981363843274743468987862318780320106859796114503851845937256225260998051087535423204983528212134107226427495057893098244003558852825132985775466212701533907677362982448433700384080974844298995337185419799337628234875786647 273028613118675199726283445842147696396223647433963658151183973603077538031553017547581366558310475805466648880544352953334670297193513831004847475994066572626449235006344765340189118006548165817076421812988539081809683943951776786234186834438134104927103238087484882782885866756427115687905130396475289388292878289790530454475952044016557552743828507531679116357239801305704231435962551554427054292769332885284303810457961320418305182713099133064772673450320022407233098913725647433898535521041313637965135396576810949678288974298393251864278700724464886945851563779677971947454076213853393018523011877432704291798074340794260230527757971133912736563043709995486473727951559903366397490444323416926143306544561533608191230966844737535912520153050182607300960331872660222552921960739434531084274827496962282928892119482626473276642133764683686649164789818224409872341356979014011588475290065823926869920984991475509850345195022791290283799717652026269105570682668256042208103815850287986637999738619901687385977326003162337845512523491626196589242918231794667568031270566849654206266577262879590302497128189689254430564330259101247519243355428870517267312798278114481287146864471757250784120558631529666246091882663777970187319511833605397737238072425805117050014062144279025969028581931687621907928727312776399835769478998849643701989908792529862936304836619745796375696804674072883770632840311104158576625155629824564319043502372294157234515879313704935397883897199463251030397344551457710173063622654307513327501536125613276158773706360765333994883903004324022340369953895084956112922920834144159495763150409982363848417478419295978746851309610712153266342160016573569921507448882843924931321779762061522405684327294911412948783157076672374389545195936021091063483794838845989153755654992369506878587889458148231486660289216245832651937182482885006034092273941868020522706457114406571407875758043654094263085643060879546145496477669611889771429209983602293990678698870534409902997289992619708543609187349711979205506251627138097960956882171 441769575927261901079952716803653515480525465893068999257893725509902195142642462343304537036711068563181843659292169071939615255563235646574179990238545409625469806606845338680964810625162117887925988845171230312907968064813549959964461846717434174181184691035834197838462404919042349328621948396777441252937813808169698235143517177388553527233391080680717656543313253412036660879160447433641013132176343634635090304107876004424891421636563541575447380730631670237826647451520023664089374483131431896345298717478942468347073121894630333875655730396847805536169222177153260740939528012514752352319398138293387092964620299215336524506188596115964832793234764041836768499640627746977962034715826501114012245471120541968486765106286079326172190449180541620146789708039105888514945846348832607200129433825609546692488739860840186743703045321146570620673376833424346915481618080974447833545655360218272862481424940626442562897839745079185594619963157582223430903729752957194163826666008323057659178830335149014014024459996975672923461504681484827966789376302924547971100143398923535851979225277413699241944917740875810965612872151230839102402381095283262433454909279780103482098921420744257413582406841565475556055022620519036895552097008740757418846832653720729157180596250037410220728235416742828221418987501500052939639984569812450341409400059005169012216917288626040180989946313022727931463050725749761994805296658985295526154586490529403943494282424313476970035772235138648771239484070578542414175598233523566436550857017508033265860188755785580980648315270390685833448560040563092726053299964480444457880692271883929844245576839842715063175780704965442566713016026274839837761240398927269013844527883975444185296645851863555918328139601193454017802095154856623354811142899721325302244109851344697812214976952400712192070270580089107395406170345203786354199133737982524374552394370631832405926845579077299246613855194986772572991535562710133774988062808735279766144911572068317580360272441053408927690162194010974542691671426475726195832668818 714798189045937100806236162645801211876749113327032657409077699112979733174195479890885903595021544368648492539836522025274285552756749477579027466232611982251919041613190104021153928631710283705002410658159769394717652008765326746198648681155568279108287929123319080621348271675469465016527078793252730641230692097960228689619469221405111079977219588212396772900553054717740892315122998988068067424945676519919394114565837324843196604349662674640220054180951692645059746365245671097987910004172745534310434114055753418025362096193023585739934431121312692482020785956831232688393604226368145370842410015726091384762694640009596755033946567249877569356278474037323242227592187650344359525160149918040155552015682075576677996073130816862084710602230724227447750039911766111067867807088267138284404261322571829621380859343466660020345179085830257269838166651648756787822975059988459422020945426042199732402409932101952413243034767870475878419680809608492536474412421213236371930481858611044297178568955050701400001786000138010768974028173111024556032294534719215539131413965773190058245802540293289544442045930565065396177202410332086621645736524153779700767707557894584769245785892501508197702965473095141802146905284297007082871608842346155156084905079525846207194658394316436189756817348430450129347714814276452775409463568662094043399308851535031948521753908371836556686750987095611702095891036853920571430452288809859845198088862823561178010161738018412367919669434601899801636828622036252587239220887831079764052393143121309424633895116550914975532218274714708173818513935648048838976220798624603953643842681866293692663055259138693810027090315677595833055176042848409759268689281771193945166307646036966590980973146774968867111296677865828407347291090877714418294937738567314455999764843714204690802866410548943678730559796334940047343352828088792388291407679850544897258851485038403813802603622731393509699498255866318718488013232322023546417272792337573756823610442602727483357562433673117471299349543722953748197923053613824156789550989 1156567764973199001886188879449454727357274579220101656666971424622881928316837942234190440631732612931830336199128691097213900808319985124153207456471157391877388848220035442702118739256872401592928399503330999707625620073578876706163110527873002453289472620159153278459810676594511814345149027190030171894168505906129926924762986398793664607210610668893114429443866308129777553194283446421709080557122020154554484418673713329268088025986226216215667434911583362882886393816765694762077284487304177430655732831534695886372435218087653919615590161518160498018190008133984493429333132238882897723161808154019478477727314939224933279540135163365842402149513238079160010727232815397322321559875976419154167797486802617545164761179416896188256901051411265847594539747950871999582813653437099745484533695148181376313869599204306846764048224406976827890511543485073103703304593140962907255566600786260472594883834872728394976140874512949661473039643967190715967378142174170430535757147866934101956357399290199715414026245997113683692435532854595852522821670837643763510231557364696725910225027817706988786386963671440876361790074561562925724048117619437042134222616837674688251344707313245765611285372314660617358201927904816043978423705851086912574931737733246575364375254644353846410485052765173278350766702315776505715049448138474544384808708910540200960738671196997876737676697300118339633558941762603682566235748947795155371352675353352965121504444162331889337955441669740548572876312692614795001414819121354646200603250160629342690494083872336495956180533545105394007267073976211141565029520763105048411524534953750223536908632098981408873202871020643038399768192069123249597029929680698462959010835530012410776277618998638524785439436279059282425149386245734337773106080638288639758243874695058902503017843362949655870800830376424047442749523173292578742490541417833069271811245855670236219729449201808692756313353450853091291479548795032157321405335601072853522968522014671045063717834874726526398989511737733928290889594480089550352622219807 1871365954019136102692425042095255939234023692547134314076049123735861661491033422125076344226754157300478828738965213122488186361076734601732234922703769374129307889833225546723272667888582685297930810161490769102343272082344203452361759209028570732397760549282472359081158948269981279361676105983282902535399198004090155614382455620198775687187830257105511202344419362847518445509406445409777147982067696674473878533239550654111284630335888890855887489092535055527946140182011365860065194491476922964966166945590449304397797314280677505355524592639473190500210794090815726117726736465251043094004218169745569862490009579234530034574081730615719971505791712116483252954825003047666681085036126337194323349502484693121842757252547713050341611653641990075042289787862638110650681460525366883768937956470753205935250458547773506784393403492807085160349710136721860491127568200951366677587546212302672327286244804830347389383909280820137351459324776799208503852554595383666907687629725545146253535968245250416814028031997251694461409561027706877078853965372362979049362971330469915968470830358000278330829009602005941757967276971895012345693854143590821834990324395569273020590493205747273808988337787755759160348833189113051061295314693433067731016642812772421571569913038670282600241870113603728480114417130052958490458911707136638428208017762075232909260425105369713294363448287213951335654832799457603137666201236605015216550764216176526299514605900350301705875111104342448374513141314651047588654040009185725964655643303750652115127978988887410931712751819820102181085587911859190404005741561729652365168377635616517229571687358120102683229961336320634232823368111971659356298618962469656904177143176049377367258592145413493652550732956925110832496677336612052191401018376855954214243639538773107193820709773498599549531390172758987490092876001381371130781949097683614169070097340708640033532052824540086266012851706719410009967562027354180867822608393410427279792132457273772547075397308399643870288861281456882039087517533703374509411770796 3027933718992335104578613921544710666591298271767235970743020548358743589807871364359266784858486770232309164938093904219702087169396719725885442379174926766006696738053260989425391407145455086890859209664821768809968892155923080158524869736901573185687233169441625637540969624864493093706825133173313074429567703910220082539145442018992440294398440925998625631788285670977295998703689891831486228539189716829028362951913263983379372656322115107071554924004118418410832533998777060622142478978781100395621899777125145190770232532368331424971114754157633688518400802224800219547059868704133940817166026323765048340217324518459463314114216893981562373655304950195643263682057818444989002644912102756348491146989287310667007518431964609238598512705053255922636829535813510110233495113962466629253471651618934582249120057752080353548441627899783913050861253621794964194432161341914273933154146998563144922170079677558742365524783793769798824498968743989924471230696769554097443444777592479248209893367535450132228054277994365378153845093882302729601675636210006742559594528695166641878695858175707267117215973273446818119757351533457938069741971763027863969212941233243961271935200518993039420273710102416376518550761093929095039719020544519980305948380546018996935945167683024129010726922878777006830881119445829464205508359845611182813016726672615433869999096302367590032040145587332290969213774562061285703901950184400170587903439569529491421019050062682191043830552774082996947389454007265842590068859130540372165258893464379994805622062861223906887893285364925496188352661888070331969035262324834700776692912589366740766480319457101511556432832356963672632591560181094908953328548643168119863187978706061788143536211144052018437990169235984393257646063582346389964507099015144593972487514233832009696838553136448255420332220549183034932842399174673949873272490515516683440881343196378876253261502026348779022326205157572501301447110822386338189227943994483280802760654471944817610793232183126170269278373019190810329977112013792924862033990603 4899299673011471207271038963639966605825321964314370284819069672094605251298904786484343129085240927532787993677059117342190273530473454327617677301878696140136004627886486536148664075034037772188790019826312537912312164238267283610886628945930143918084993718724097996622128573134474373068501239156595976964966901914310238153527897639191215981586271183104136834132705033824814444213096337241263376521257413503502241485152814637490657286658003997927442413096653473938778674180788426482207673470258023360588066722715594495168029846649008930326639346797106879018611596315615945664786605169384983911170244493510618202707334097693993348688298624597282345161096662312126516636882821492655683729948229093542814496491772003788850275684512322288940124358695245997679119323676148220884176574487833513022409608089687788184370516299853860332835031392590998211210963758516824685559729542865640610741693210865817249456324482389089754908693074589936175958293520789132975083251364937764351132407318024394463429335780700549042082309991617072615254654910009606680529601582369721608957500025636557847166688533707545448044982875452759877724628505352950415435825906618685804203265628813234292525693724740313229262047890172135678899594283042146101014335237953048036965023358791418507515080721694411610968792992380735310995536575882422695967271552747821241224744434690666779259521407737303326403593874546242304868607361518888841568151421005185804454203785706017720533655963032492749705663878425445321902595321916890178722899139726098129914536768130646920750041850111317819606037184745598369438249799929522373041003886564353141861290224983257996052006815221614239662793693284306865414928293066568309627167605637776767365121882111165510794803289465512090540902192909504090142740918958442155908117392000548186731153772605116890659262909946854969863610721942022422935275176055321004054439613200297609951440537087516286793554850888865288339056864291911311414672849740519057050552387893708082552786929218590157868629491525814139567234300647692369064629547496299371445761399 7927233392003806311849652885184677272416620236081606255562090220453348841106776150843609913943727697765097158615153021561892360699870174053503119681053622906142701365939747525574055482179492859079649229491134306722281056394190363769411498682831717103772226888165723634163098197998967466775326372329909051394534605824530320692673339658183656275984712109102762465920990704802110442916786229072749605060447130332530604437066078620870029942980119104998997337100771892349611208179565487104350152449039123756209966499840739685938262379017340355297754100954740567537012398540416165211846473873518924728336270817275666542924658616153456662802515518578844718816401612507769780318940639937644686374860331849891305643481059314455857794116476931527538637063748501920315948859489658331117671688450300142275881259708622370433490574051934213881276659292374911262072217380311788879991890884779914543895840209428962171626404159947832120433476868359735000457262264779057446313948134491861794577184910503642673322703316150681270136587985982450769099748792312336282205237792376464168552028720803199725862546709414812565260956148899577997481980038810888485177797669646549773416206862057195564460894243733352649535757992588512197450355376971241140733355782473028342913403904810415443460248404718540621695715871157742141876656021711886901475631398359004054241471107306100649258617710104893358443739461878533274082381923580174545470101605405356392357643355235509141552706025714683793536216652508442269292049329182732768791758270266470295173430232510641726372104711335224707499322549671094557790911687999854342076266211399053918554202814349998762532326272323125796095626050247979498006488474161477262955716248805896630553100588172953654331014433517530528531071428893897347788804501304832120415216407145142159218668006437126587497816046395110390195831271125057355777674350729270877326930128716981050832783733466392540055056877237644310665262021864412612861783672126857246278496382376988885313441401163407768661861674651984408845607319838502699041741561289224233479752002 12826533065015277519120691848824643878241942200395976540381159892547954092405680937327953043028968625297885152292212138904082634230343628381120796982932319046278705993826234061722719557213530631268439249317446844634593220632457647380298127628761861021857220606889821630785226771133441839843827611486505028359501507738840558846201237297374872257570983292206899300053695738626924887129882566314012981581704543836032845922218893258360687229638123102926439750197425366288389882360353913586557825919297147116798033222556334181106292225666349285624393447751847446555623994856032110876633079042903908639506515310786284745631992713847450011490814143176127063977498274819896296955823461430300370104808560943434120139972831318244708069800989253816478761422443747917995068183165806552001848262938133655298290867798310158617861090351788074214111690684965909473283181138828613565551620427645555154637533420294779421082728642336921875342169942949671176415555785568190421397199499429626145709592228528037136752039096851230312218897977599523384354403702321942962734839374746185777509528746439757573029235243122358013305939024352337875206608544163838900613623576265235577619472490870429856986587968473665878797805882760647876349949660013387241747691020426076379878427263601833950975329126412952232664508863538477452872192597594309597442902951106825295466215541996767428518139117842196684847333336424775578950989285099063387038253026410542196811847140941526862086361988747176543241880530933887591194644651099622947514657409992568425087967000641288647122146561446542527105359734416692927229161487929376715117270097963407060415493039333256758584333087544740035758419743532286363421416767228045572582883854443673397918222470284119165125817722983042619071973621803401437931545420263274276323333799145690345949821779042243478157078956341965360059441993067079778712949526784591881381369741917278660784224270553908826848611728126509599004318886156323924276456521867376303329048770270696967866228330381997926530491166177798548412841620486195068106371108785523604925513401 20753766457019083830970344734009321150658562436477582795943250113001302933512457088171562956972696323062982310907365160465974994930213802434623916663985941952421407359765981587296775039393023490348088478808581151356874277026648011149709626311593578125629447495055545264948324969132409306619153983816414079754036113563370879538874576955558528533555695401309661765974686443429035330046668795386762586642151674168563450359284971879230717172618242207925437087298197258638001090539919400690907978368336270873007999722397073867044554604683689640922147548706588014092636393396448276088479552916422833367842786128061951288556651330000906674293329661754971782793899887327666077274764101367945056479668892793325425783453890632700565863917466185344017398486192249838311017042655464883119519951388433797574172127506932529051351664403722288095388349977340820735355398519140402445543511312425469698533373629723741592709132802284753995775646811309406176872818050347247867711147633921487940286777139031679810074742413001911582355485963581974153454152494634279244940077167122649946061557467242957298891781952537170578566895173251915872688588582974727385791421245911785351035679352927625421447482212207018528333563875349160073800305036984628382481046802899104722791831168412249394435577531131492854360224734696219594748848619306196498918534349465829349707686649302868077776756827947090043291072798303308853033371208679237932508354631815898589169490496177036003639068014461860336778097183442329860486693980282355716306415680259038720261397233151930373494251272781767234604682284087787485020073175929231057193536309362460978969695853683255521116659359867865831854045793780265861427905241389522835538600103249570028471323058457072819456832156500573147603045050697298785720349921568106396738550206290832505168489785479370065654895002737075750255273264192137134490623877513862758708299870634259711617008004020301366903668605364153909669580908020736537138240193994233549607545152647685853179669731545405695192352840829782957258448940324697767148112670074747838405265403 33580299522034361350091036582833965028900504636873559336324410005549257025918138025499516000001664948360867463199577299370057629160557430815744713646918260998700113353592215649019494596606554121616527728126027995991467497659105658530007753940355439147486668101945366895733551740265851146462981595302919108113537621302211438385075814252933400791126678693516561066028382182055960217176551361700775568223856218004596296281503865137591404402256365310851876837495622624926390972900273314277465804287633417989806032944953408048150846830350038926546540996458435460648260388252480386965112631959326742007349301438848236034188644043848356685784143804931098846771398162147562374230587562798245426584477453736759545923426721950945273933718455439160496159908635997756306085225821271435121368214326567452872462995305242687669212754755510362309500040662306730208638579657969016011095131740071024853170907050018521013791861444621675871117816754259077353288373835915438289108347133351114085996369367559716946826781509853141894574383941181497537808556196956222207674916541868835723571086213682714871921017195659528591872834197604253747895197127138566286405044822177020928655151843798055278434070180680684407131369758109807950150254696998015624228737823325181102670258432014083345410906657544445087024733598234697047621041216900506096361437300572654645173902191299635506294895945789286728138406134728084431984360493778301319546607658226440785981337637118562865725430003209036880019977714376217451681338631381978663821073090251607145349364233793219020616397834228309761710042018504480412249234663858607772310806407325868039385188893016512279700992447412605867612465537312552224849322008617568408121483957693243426389545528741191984582649879483615766675018672500700223651895341831380673061884005436522851118311564521613543811973959079041110314715257259216913203573404298454640089669612551538372401232274574210193752280333490663508673899794177060461414696715861609852936593922918382821045898061927403621722844007007581505671290560810892835254483778860271443330778804 54334065979053445181061381316843286179559067073351142132267660118550559959430595113671078956974361271423849774106942459836032624090771233250368630310904202951121520713358197236316269635999577611964616206934609147348341774685753669679717380251949017273116115597000912160681876709398260453082135579119333187867573734865582317923950391208491929324682374094826222832003068625484995547223220157087538154866007892173159746640788837016822121574874607518777313924793819883564392063440192714968373782655969688862814032667350481915195401435033728567468688545165023474740896781648928663053592184875749575375192087566910187322745295373849263360077473466686070629565298049475228451505351664166190483064146346530084971706880612583645839797635921624504513558394828247594617102268476736318240888165715001250446635122812175216720564419159232650404888390639647550943993978177109418456638643052496494551704280679742262606500994246906429866893463565568483530161191886262686156819494767272602026283146506591396756901523922855053476929869904763471691262708691590501452614993708991485669632643680925672170812799148196699170439729370856169620583785710113293672196466068088806279690831196725680699881552392887702935464933633458968023950559733982644006709784626224285825462089600426332739846484188675937941384958332930916642369889836206702595279971650038483994881588840602503584071652773736376771429478933031393285017731702457539252054962290042339375150828133295598869364498017670897216798074897818547312168032611664334380127488770510645865610761466945149394110649107010076996314724302592267897269307839787838829504342716688329018354884746699767800817651807280471699466511331092818086277227250007091243660084060942813454860868587198264804039482035984188914278063723197999009372245263399487069800434211727355356286801350000983609466868961816116860569988521451354047694197281812317398797969483185798084018240278594511560655948938854817418343480702197796998552936909855843402544139075566068674225567793472809316915196847837364462929739501135590602402596448935019281736044207 87914365501087806531152417899677251208459571710224701468592070124099816985348733139170594956976026219784717237306519759206090253251328664066113343957822463949821634066950412885335764232606131733581143935060637143339809272344859328209725134192304456420602783698946279056415428449664111599545117174422252295981111356167793756309026205461425330115809052788342783898031450807540955764399771518788313723089864110177756042922292702154413525977130972829629190762289442508490783036340466029245839586943603106852620065612303889963346248265383767494015229541623458935389157169901409050018704816835076317382541389005758423356933939417697620045861617271617169476336696211622790825735939226964435909648623800266844517630307334534591113731354377063665009718303464245350923187494298007753362256380041568703319098118117417904389777173914743012714388431301954281152632557835078434467733774792567519404875187729760783620292855691528105738011280319827560883449565722178124445927841900623716112279515874151113703728305432708195371504253845944969229071264888546723660289910250860321393203729894608387042733816343856227762312563568460423368478982837251859958601510890265827208345983040523735978315622573568387342596303391568775974100814430980659630938522449549466928132348032440416085257390846220383028409691931165613689990931053107208691641408950611138640055491031902139090366548719525663499567885067759477717002092196235840571601569948268780161132165770414161735089928020879934096818052612194764763849371243046313043948561860762253010960125700738368414727046941238386758024766321096748309518542503646446601815149124014197057740073639716280080518644254693077567078976868405370311126549258624659651781568018636056881250414115939456788622131915467804680953082395698699233024140605230867742862318217163878207405112914522597153278842920895157970884703778710570960897770686110772038887639095737336456419472553168721754408229272345480927017380496374857459967633625717453255480732998484451495271465855400212938638040854844945968601030061946483437657080227795290725066823011 142248431480141251712213799216520537388018638783575843600859730242650376944779328252841673913950387491208567011413462219042122877342099897316481974268726666900943154780308610121652033868605709345545760141995246290688151047030612997889442514444253473693718899295947191217097305159062372052627252753541585483848685091033376074232976596669917259440491426883169006730034519433025951311622991675875851877955872002350915789563081539171235647552005580348406504687083262392055175099780658744214213369599572795715434098279654371878541649700417496061483918086788482410130053951550337713072297001710825892757733476572668610679679234791546883405939090738303240105901994261098019277241290891130626392712770146796929489337187947118236953528990298688169523276698292492945540289762774744071603144545756569953765733240929593121110341593073975663119276821941601832096626536012187852924372417845064013956579468409503046226793849938434535604904743885396044413610757608440810602747336667896318138562662380742510460629829355563248848434123750708440920333973580137225112904903959851807062836373575534059213546615492052926932752292939316592989062768547365153630797976958354633488036814237249416678197174966456090278061237025027743998051374164963303637648307075773752753594437632866748825103875034896320969794650264096530332360820889313911286921380600649622634937079872504642674438201493262040270997364000790871002019823898693379823656532238311119536282993903709760604454426038550831313616127510013312076017403854710647424076050631272898876570887167683517808837696048248463754339490623689016206787850343434285431319491840702526076094958386416047881336296061973549266545488199498188397403776508631750895441652079578870336111282703137721592661613951451993595231146118896698242396385868630354812662752428891233563691914264523580762745711882711274831454692300161925008591967967923089437685608578923134540437712831763233315064178211200298345360861198572654458520570535573296658024872074050520169497033648873022255553237702682310431530769563082074040059676676730310006802867218 230162796981229058243366217116197788596478210493800545069451800366750193930128061392012268870926413710993284248719981978248213130593428561382595318226549130850764788847259023006987798101211841079126904077055883434027960319375472326099167648636557930114321682994893470273512733608726483652172369927963837779829796447201169830542002802131342589556300479671511790628065970240566907076022763194664165601045736112528671832485374241325649173529136553178035695449372704900545958136121124773460052956543175902568054163891958261841887897965801263555499147628411941345519211121451746763091001818545902210140274865578427034036613174209244503451800708009920409582238690472720810102977230118095062302361393947063774006967495281652828067260344675751834532995001756738296463477257072751824965400925798138657084831359047011025500118766988718675833665253243556113249259093847266287392106192637631533361454656139263829847086705629962641342916024205223605297060323330618935048675178568520034250842178254893624164358134788271444219938377596653410149405238468683948773194814210712128456040103470142446256280431835909154695064856507777016357541751384617013589399487848620460696382797277773152656512797540024477620657540416596519972152188595943963268586829525323219681726785665307164910361265881116703998204342195262144022351751942421119978562789551260761274992570904406781764804750212787703770565249068550348719021916094929220395258102186579899697415159674123922339544354059430765410434180122208076839866775097756960468024612492035151887531012868421886223564742989486850512364256944785764516306392847080732033134640964716723133835032026132327961854940316666626833624465067903558708530325767256410547223220098214927217361696819077178381283745866919798276184228514595397475420526473861222555525070646055111771097027179046177916024554803606432802339396078872495969489738654033861476573247674660470996857185384931955069472407483545779272378241694947511918488204161290749913505605072534971664768499504273235194191278557527256400131799625028557477716756904525600731869690229 372411228461370309955580016332718325984496849277376388670311530609400570874907389644853942784876801202201851260133444197290336007935528458699077292495275797751707943627567633128639831969817550424672664219051129724716111366406085323988610163080811403808040582290840661490610038767788855704799622681505423263678481538234545904774979398801259848996791906554680797358100489673592858387645754870540017479001608114879587622048455780496884821081142133526442200136455967292601133235901783517674266326142748698283488262171612633720429547666218759616983065715200423755649265073002084476163298820256728102898008342151095644716292409000791386857739798748223649688140684733818829380218521009225688695074164093860703496304683228771065020789334974440004056271700049231242003767019847495896568545471554708610850564599976604146610460360062694338952942075185157945345885629859454140316478610482695547318034124548766876073880555568397176947820768090619649710671080939059745651422515236416352389404840635636134624987964143834693068372501347361851069739212048821173886099718170563935518876477045676505469827047327962081627817149447093609346604519931982167220197464806975094184419611515022569334709972506480567898718777441624263970203562760907266906235136601096972435321223298173913735465140916013024967998992459358674354712572831735031265484170151910383909929650776911424439242951706049744041562613069341219721041739993622600218914634424891019233698153577833682943998780097981596724050307632221388915884178952467607892100663123308050764101900036105404032402439037735314266703747568474780723094243190515017464454132805419249209929990412548375843191236378640176100169953267401747105934102275888161442664872177793797553472979522214899973945359818371791871415374633492095717816912342491577368187823074946345334788941443569758678770266686317707633794088379034420978081706621956950914258856253583605537294898216695188384536585694746077617739102893520166377008774696864046571530477146585491834265533153146257449744516260209566831662569188110631517776433581255910738672557447 602574025442599368198946233448916114580975059771176933739763330976150764805035451036866211655803214913195135508853426175538549138528957020081672610721824928602472732474826656135627630071029391503799568296107013158744071685781557650087777811717369333922362265285734131764122772376515339356971992609469261043508277985435715735316982200932602438553092386226192587986166459914159765463668518065204183080047344227408259454533830021822533994610278686704477895585828672193147091372022908291134319282685924600851542426063570895562317445632020023172482213343612365101168476194453831239254300638802630313038283207729522678752905583210035890309540506758144059270379375206539639483195751127320750997435558040924477503272178510423893088049679650191838589266701805969538467244276920247721533946397352847267935395959023615172110579127051413014786607328428714058595144723706720427708584803120327080679488780688030705920967261198359818290736792295843255007731404269678680700097693804936386640247018890529758789346098932106137288310878944015261219144450517505122659294532381276063974916580515818951726107479163871236322882005954870625704146271316599180809596952655595554880802408792795721991222770046505045519376317858220783942355751356851230174821966126420192117048008963481078645826406797129728966203334654620818377064324774156151244046959703171145184922221681318206204047701918837447812127862137891568440063656088551820614172736611470918931113313251957605283543134157412362134484487754429465755750954050224568360125275615343202651632912904527290255967182027222164779068004513260545239400636037595749497588773770135972343765022438680703805046176695306802933794418335305305814464428043144571989888092276008724770834676341292078355229105685291590147599603148087493193237438816352799923712893721001457105885968622615936594794821489924140436133484457906916947571445275990812390832103928244076534152083601627143454008993178291856890117344588467678295496978858154796485036082219120463499034032657419492643935794817736823231794368813139188995493190485781511470542247676 974985253903969678154526249781634440565471909048553322410074861585551335679942840681720154440680016115396986768986870372828885146464485478780749903217100726354180676102394289264267462040846941928472232515158142883460183052187642974076387974798180737730402847576574793254732811144304195061771615290974684307186759523670261640091961599733862287549884292780873385344266949587752623851314272935744200559048952342287847076582285802319418815691420820230920095722284639485748224607924691808808585608828673299135030688235183529282746993298238782789465279058812788856817741267455915715417599459059358415936291549880618323469197992210827277167280305506367708958520059940358468863414272136546439692509722134785180999576861739194958108839014624631842645538401855200780471011296767743618102491868907555878785960559000219318721039487114107353739549403613872003941030353566174568025063413603022627997522905236797581994847816766756995238557560386462904718402485208738426351520209041352739029651859526165893414334063075940830356683380291377112288883662566326296545394250551839999493793057561495457195934526491833317950699155401964235050750791248581348029794417462570649065222020307818291325932742552985613418095095299845047912559314117758497081057102727517164552369232261654992381291547713142753934202327113979492731776897605891182509531129855081529094851872458229630643290653624887191853690475207232788161105396082174420833087371036361938164811466829791288227541914255393958858534795386650854671635133002692176252225938738651253415734812940632694288369621064957479045771752081735325962494879228110766962042906575555221553695012851229079648237413073946979033964371602707052920398530319032733432552964453802522324307655863506978329174465503663382019014977781579588911054351158844377291900716795947802440674910066185695273565088176241848069927572836941337925653151897947763305090960181827682071446981818322331838545578873037934507856447481987844672505753555018843056566559365705955333299565810565750093680311077946390063456938001249820513269624067037422209214805123 1577559279346569046353472483230550555146446968819730256149838192561702100484978291718586366096483231028592122277840296548367434284993442498862422513938925654956653408577220945399895092111876333432271800811265156042204254737969200624164165786515550071652765112862308925018855583520819534418743607900443945350695037509105977375408943800666464726102976679007065973330433409501912389314982791000948383639096296569696106531116115824141952810301699506935397991308113311678895315979947600099942904891514597899986573114298754424845064438930258805961947492402425153957986217461909746954671900097861988728974574757610141002222103575420863167476820812264511768228899435146898108346610023263867190689945280175709658502849040249618851196888694274823681234805103661170318938255573687991339636438266260403146721356518023834490831618614165520368526156732042586062536175077272894995733648216723349708677011685924828287915815077965116813529294352682306159726133889478417107051617902846289125669898878416695652203680162008046967644994259235392373508028113083831419204688782933116063468709638077314408922042005655704554273581161356834860754897062565180528839391370118166203946024429100614013317155512599490658937471413158065831854915065474609727255879068853937356669417241225136071027117954510272482900405661768600311108841222380047333753578089558252674279774094139547836847338355543724639665818337345124356601169052170726241447260107647832857095924780081748893511085048412806320993019283141080320427386087052916744612351214353994456067367725845159984544336803092179643824839756594995871201895515265706516459631680345691193897460035289909783453283589769253781967758789938012358734862958362177305422441056729811247095142332204799056684403571188954972166614580929667082104291789975197177215613610516949259546560878688801631868359909666165988506061057294848254873224597173938575695923064110071758605599065419949475292554572051329791397973792070455522968002732413173639541602641584826418832333598467985242737616105895683213295251306814389009508762814552818933679757052799 2552544533250538724507998733012184995711918877868283578559913054147253436164921132400306520537163247143989109046827166921196319431457927977643172417156026381310834084679615234664162554152723275360744033326423298925664437790156843598240553761313730809383167960438883718273588394665123729480515223191418629657881797032776239015500905400400327013652860971787939358674700359089665013166297063936692584198145248911983953607698401626461371625993120327166318087030397951164643540587872291908751490500343271199121603802533937954127811432228497588751412771461237942814803958729365662670089499556921347144910866307490759325691301567631690444644101117770879477187419495087256577210024295400413630382455002310494839502425901988813809305727708899455523880343505516371099409266870455734957738930135167959025507317077024053809552658101279627722265706135656458066477205430839069563758711630326372336674534591161625869910662894731873808767851913068769064444536374687155533403138111887641864699550737942861545618014225083987798001677639526769485796911775650157715750083033484956062962502695638809866117976532147537872224280316758799095805647853813761876869185787580736853011246449408432304643088255152476272355566508457910879767474379592368224336936171581454521221786473486791063408409502223415236834607988882579803840618119985938516263109219413334203374625966597777467490629009168611831519508812552357144762274448252900662280347478684194795260736246911540181738626962668200279851554078527731175099021220055608920864577153092645709483102538785792678832706424157137122870611508676731197164390394493817283421674586921246415451155048141138863101521002843200761001723161540719411655261488681210038854994021183613769419449988068306035013578036692618354185629558711246671015346141134041554507514327312897061987235788754987327141924997842407836575988630131789592798877749071886339001014024291899440677046047238271807131100150924367725905830239552443367640508485968192482598169200950532374165633164278550992831296416973629603358708244815638830022032438619856355888971857922 4130103812597107770861471216242735550858365846688013834709751246708955536649899424118892886633646478172581231324667463469563753716451370476505594931094952036267487493256836180064057646264599608793015834137688454967868692528126044222404719547829280881035933073301192643292443978185943263899258831091862575008576834541882216390909849201066791739755837650795005332005133768591577402481279854937640967837241545481680060138814517450603324436294819834101716078338511262843538856567819892008694395391857869099108176916832692378972875871158756394713360263863663096772790176191275409624761399654783335873885441065100900327913405143052553612120921930035391245416318930234154685556634318664280821072400282486204498005274942238432660502616403174279205115148609177541418347522444143726297375368401428362172228673595047888300384276715445148090791862867699044129013380508111964559492359847049722045351546277086454157826477972696990622297146265751075224170670264165572640454756014733930990369449616359557197821694387092034765646671898762161859304939888733989134954771816418072126431212333716124275040018537803242426497861478115633956560544916378942405708577157698903056957270878509046317960243767751966931293037921615976711622389445066977951592815240435391877891203714711927134435527456733687719735013650651180114949459342365985850016687308971586877654400060737325304337967364712336471185327149897481501363443500423626903727607586332027652356661026993289075249712011081006600844573361668811495526407307108525665476928367446640165550470264630952663377043227249316766695451265271727068366285909759523799881306267266937609348615083431048646554804592612454542969481951478731770390124447043387344277435077913425016514592320273105091697981607881573326352244139640913753119637931109238731723127937829846321533796667443788959010284907508573825082049687426637847672102346245824914696937088401971199282645112658221282423654722975697517303804031622898890608511218381366122139771842535358792997966762746536235568912522869312816653959551630027839530795253172675289568728910721 6682648345847646495369469949254920546570284724556297413269664300856208972814820556519199407170809725316570340371494630390760073147909298454148767348250978417578321577936451414728220200417322884153759867464111753893533130318282887820645273309143011690419101033740076361566032372851066993379774054283281204666458631574658455406410754601467118753408698622582944690679834127681242415647576918874333552035386794393664013746512919077064696062287940161268034165368909214008182397155692183917445885892201140298229780719366630333100687303387253983464773035324901039587594134920641072294850899211704683018796307372591659653604706710684244056765023047806270722603738425321411262766658614064694451454855284796699337507700844227246469808344112073734728995492114693912517756789314599461255114298536596321197735990672071942109936934816724775813057569003355502195490585938951034123251071477376094382026080868248080027737140867428864431064998178819844288615206638852728173857894126621572855069000354302418743439708612176022563648349538288931345101851664384146850704854849903028189393715029354934141157995069950780298722141794874433052366192770192704282577762945279639909968517327917478622603332022904443203648604430073887591389863824659346175929751412016846399112990188198718197843936958957102956569621639533759918790077462351924366279796528384921081029026027335102771828596373880948302704835962449838646125717948676527566007955065016222447617397273904829256988338973749206880696127440196542670625428527164134586341505520539285875033572803416745342209749651406453889566062773948458265530676304253341083302980854188184024799770131572187509656325595455655303971205113019451182045385935724597383132429099097038785934042308341411126711559644574191680537873698352160424134984072243280286230642265142743383521032456198776286152209905350981661658038317558427440470980095317711253697951112693870639959691159896493089554754873900065243209634271175342258249019704349558604737941043485891167163599927025087228400208939842942420012667796445666669552827691792531645457700768643 10812752158444754266230941165497656097428650571244311247979415547565164509464719980638092293804456203489151571696162093860323826864360668930654362279345930453845809071193287594792277846681922492946775701601800208861401822846408932043049992856972292571455034107041269004858476351037010257279032885375143779675035466116540671797320603802533910493164536273377950022684967896272819818128856773811974519872628339875344073885327436527668020498582759995369750243707420476851721253723512075926140281284059009397337957636199322712073563174546010378178133299188564136360384311111916481919612298866488018892681748437692559981518111853736797668885944977841661968020057355555565948323292932728975272527255567282903835512975786465679130310960515248013934110640723871453936104311758743187552489666938024683369964664267119830410321211532169923903849431871054546324503966447062998682743431324425816427377627145334534185563618840125855053362144444570919512785876903018300814312650141355503845438449970661975941261402999268057329295021437051093204406791553118135985659626666321100315824927363071058416198013607754022725220003272990067008926737686571646688286340102978542966925788206426524940563575790656410134941642351689864303012253269726324127522566652452238277004193902910645332279464415690790676304635290184940033739536804717910216296483837356507958683426088072428076166563738593284773890163112347320147489161449100154469735562651348250099974058300898118332238050984830213481540700801865354166151835834272660251818433887985926040584043068047698005586792878655770656261514039220185333896962214012864883184287121455121634148385215003236156211130188068109846940687064498182952435510382767984727409864177010463802448634628614516218409541252455765006890117837993074177254622003352519017953770202972589705054829123642565245162494812859555486740088004985065288143082441563536168394888201095841839242336272554714371978409596875762760513438302798241148857530922730924726877712886021249960161566689771623463969121462712255236666627348075694509083622944965206935026429679364 17495400504292400761600411114752576643998935295800608661249079848421373482279540537157291700975265928805721912067656724251083900012269967384803129627596908871424130649129739009520498047099245377100535569065911962754934953164691819863695266166115304261874135140781345366424508723888077250658806939658424984341494097691199127203731358404001029246573234895960894713364802023954062233776433692686308071908015134269008087631840355604732716560870700156637784409076329690859903650879204259843586167176260149695567738355565953045174250477933264361642906334513465175947978446032557554214463198078192701911478055810284219635122818564421041725650968025647932690623795780876977211089951546793669723982110852079603173020676630692925600119304627321748663106132838565366453861101073342648807603965474621004567700654939191772520258146348894699716907000874410048519994552386014032805994502801801910809403708013582614213300759707554719484427142623390763801401083541871028988170544267977076700507450324964394684701111611444079892943370975340024549508643217502282836364481516224128505218642392425992557356008677704803023942145067864500061292930456764350970864103048258182876894305534344003563166907813560853338590246781763751894402117094385670303452318064469084676117184091109363530123401374647893632874256929718699952529614267069834582576280365741429039712452115407530847995160112474233076594999074797158793614879397776682035743517716364472547591455574802947589226389958579420362236828242061896836777264361436794838159939408525211915617615871464443347796542530062224545827576813168643599427638518266205966487267975643305658948155346575423665867455783523765150911892177517634134480896318492582110542293276107502588382676936955927345121100897029956687427991536345234601389606075595799304184412468115333088575861579841341531314704718210537148398126322543492728614062536881247422092839313789712479202027432451207461533164470775828003723072573973583407106550627080483331615653929507141127325166616796710692369330402555197656679295144521361178636450636757738580484130448007 28308152662737155027831352280250232741427585867044919909228495395986537991744260517795383994779722132294873483763818818111407726876630636315457491906942839325269939720323026604312775893781167870047311270667712171616336776011100751906745259023087596833329169247822614371282985074925087507937839825033568764016529563807739799001051962206534939739737771169338844736049769920226882051905290466498282591780643474144352161517167792132400737059453460152007534652783750167711624904602716335769726448460319159092905695991765275757247813652479274739821039633702029312308362757144474036134075496944680720804159804247976779616640930418157839394536913003489594658643853136432543159413244479522644996509366419362507008533652417158604730430265142569762597216773562436820389965412832085836360093632412645687937665319206311602930579357881064623620756432745464594844498518833077031488737934126227727236781335158917148398864378547680574537789287067961683314186960444889329802483194409332580545945900295626370625962514610712137222238392412391117753915434770620418822024108182545228821043569755497050973554022285458825749162148340854567070219668143335997659150443151236725843820093740770528503730483604217263473531889133453616197414370364111994430974884716921322953121377994020008862402865790338684309178892219903639986269151071787744798872764203097936998395878203479958924161723851067517850485162187144478941104040846876836505479080367712722647565513875701065921464440943409633843777529043927251002929100195709455089978373296511137956201658939512141353383335408717995202089090852388828933324600732279070849671555097098427293096540561578659822078585971591874997852579242015817086916406701260566837952157453117966390831311565570443563530642149485721694318109374338308778644228078948318322138182671087922793630690703483906776477199531070092635138214327528558016757144978444783590487727514885554318444363705005921833511574067651590764236510876771824555964081549811408058493366815528391087486733306568334156338451865267452893345922492597055687720073581722945515510560127371 45803553167029555789431763395002809385426521162845528570477575244407911474023801054952675695754988061100595395831475542362491626888900603700260621534539748196694070369452765613833273940880413247147846839733624134371271729175792571770440525189202901095203304388603959737707493798813164758596646764691993748358023661498938926204783320610535968986311006065299739449414571944180944285681724159184590663688658608413360249149008147737133453620324160308645319061860079858571528555481920595613312615636579308788473434347331228802422064130412539101463945968215494488256341203177031590348538695022873422715637860058260999251763748982578881120187881029137527349267648917309520370503196026316314720491477271442110181554329047851530330549569769891511260322906401002186843826513905428485167697597887266692505365974145503375450837504229959323337663433619874643364493071219091064294732436928029638046185043172499762612165138255235294022216429691352447115588043986760358790653738677309657246453350620590765310663626222156217115181763387731142303424077988122701658388589698769357326262212147923043530910030963163628773104293408719067131512598600100348630014546199494908720714399275114532066897391417778116812122135915217368091816487458497664734427202781390407629238562085129372392526267164986577942053149149622339938798765338857579381449044568839366038108330318887489772156883963541750927080161261941637734718920244653518541222598084077195195156969450504013510690830901989054206014357285989147839706364557146249928138312705036349871819274810976584701179877938780219747916667665557472532752239250545276816158823072741732952044695908154083487946041755115640148764471419533451221397303019753148948494450729225468979213988502526370908651743046515678381746100910683543380033834154544117626322595139203255882206552283325248307791904249280629783536340650072050745371207515326031012580566828675266797646391137457129295044738538427418767959583450745407963070632176891891390109020745035532214811899923365044848707782267822650550025217637118416866356524218480684095994690575378 74111705829766710817263115675253042126854107029890448479706070640394449465768061572748059690534710193395468879595294360473899353765531240015718113441482587521964010089775792218146049834661581117195158110401336305987608505186893323677185784212290497928532473636426574108990478873738252266534486589725562512374553225306678725205835282817070908726048777234638584185464341864407826337587014625682873255469302082557712410666175939869534190679777620460652853714643830026283153460084636931383039064096898467881379130339096504559669877782891813841284985601917523800564703960321505626482614191967554143519797664306237778868404679400736720514724794032627122007911502053742063529916440505838959717000843690804617190087981465010135060979834912461273857539679963439007233791926737514321527791230299912380443031293351814978381416862111023946958419866365339238208991590052168095783470371054257365282966378331416911011029516802915868560005716759314130429775004431649688593136933086642237792399250916217135936626140832868354337420155800122260057339512758743120480412697881314586147305781903420094504464053248622454522266441749573634201732266743436346289164989350731634564534493015885060570627875021995380285654025048670984289230857822609659165402087498311730582359940079149381254929132955325262251232041369525979925067916410645324180321808771937303036504208522367448696318607814609268777565323449086116675822961091530355046701678451789917842722483326205079432155271845398688049791886329916398842635464752855705018116686001547487828020933750488726054563213347498214950005758517946301466076839982824347665830378169840160245141236469732743310024627726707515146617050661549268308313709721013715786446608182343435370045300068096814472182385196001400076064210285021852158678062233492435948460777810291178675837242986809155084269103780350722418674554977600608762128352493770814603068294343560821116090754842463051128556312606079009532196094327517232519034713726703299448602387560563923302298633229933379005046234133090103443371140129715472554076597800203629611505250702749 119915258996796266606694879070255851512280628192735977050183645884802360939791862627700735386289698254496064275426769902836390980654431843715978734976022335718658080459228557831979323775541994364343004950134960440358880234362685895447626309401493399023735778025030533846697972672551417025131133354417556260732576886805617651410618603427606877712359783299938323634878913808588770623268738784867463919157960690971072659815184087606667644300101780769298172776503909884854682015566557526996351679733477776669852564686427733362091941913304352942748931570133018288821045163498537216831152886990427566235435524364498778120168428383315601634912675061764649357179150971051583900419636532155274437492320962246727371642310512861665391529404682352785117862586364441194077618440642942806695488828187179072948397267497318353832254366340983270296083299985213881573484661271259160078202807982287003329151421503916673623194655058151162582222146450666577545363048418410047383790671763951895038852601536807901247289767055024571452601919187853402360763590746865822138801287580083943473567994051343138035374084211786083295370735158292701333244865343536694919179535550226543285248892290999592637525266439773497097776160963888352381047345281107323899829290279702138211598502164278753647455400120311840193285190519148319863866681749502903561770853340776669074612538841254938468475491778151019704645484711027754410541881336183873587924276535867113037879452776709092942846102747387742255806243615905546682341829310001954946254998706583837699840208561465310755743091286278434697922426183503773998829079233369624481989201242581893197185932377886826797970669481823155295381522081082719529711012740766864734941058911568904349259288570623185380834128242517078457810311195705395538711896388036553574783372949494434558043795270134403392061008029631352202210895627672659507499560009096845615648861172236087913737145979920180423601051144506428300155677778262640482105345903595190838711408305599455517110533153298423853754016400912753993396357766833889420433122018684313707499941278127 194026964826562977423957994745508893639134735222626425529889716525196810405559924200448795076824408447891533155022064263310290334419963083731696848417504923240622090549004350050125373610203575481538163060536296746346488739549579219124812093613783896952268251661457107955688451546289669291665619944143118773107130112112296376616453886244677786438408560534576907820343255672996596960855753410550337174627262773528785070481360027476201834979879401229951026491147739911137835475651194458379390743830376244551231695025524237921761819696196166784033917172050542089385749123820042843313767078957981709755233188670736556988573107784052322149637469094391771365090653024793647430336077037994234154493164653051344561730291977871800452509239594814058975402266327880201311410367380457128223280058487091453391428560849133332213671228452007217254503166350553119782476251323427255861673179036544368612117799835333584634224171861067031142227863209980707975138052850059735976927604850594132831251852453025037183915907887892925790022074987975662418103103505608942619213985461398529620873775954763232539838137460408537817637176907866335534977132086973041208344524900958177849783385306884653208153141461768877383430186012559336670278203103716983065231377778013868793958442243428134902384533075637102444517231888674299788934598160148227742092662112713972111116747363622387164794099592760288482210808160113871086364842427714228634625954987657030880601936102914172375001374592786430305598129945821945524977294062857659964371684708131325527861142311954036810306304633776649647928184701450075464905919216193972147819579412422053442327168847619570107995297208530670441998572742631987838024722461780580521387667093912339719304588638719999853016513438518478533874521480727247697389958621528989523244150759785613233881038256943558476330111809982074620885450605273268269627912502867660218717155515796909029827900822383231552157363750585437832351772105779873001140059630298490287313795866163378819409166383231802858800250534002857436767497896549361974509719818887943319005191980876 313942223823359244030652873815764745151415363415362402580073362409999171345351786828149530463114106702387597430448834166146681315074394927447675583393527258959280171008232907882104697385745569845881168010671257186705368973912265114572438403015277295976004029686487641802386424218841086316796753298560675033839706998917914028027072489672284664150768343834515231455222169481585367584124492195417801093785223464499857730296544115082869479279981181999249199267651649795992517491217751985375742423563854021221084259711951971283853761609500519726782848742183560378206794287318580060144919965948409275990668713035235335108741536167367923784550144156156420722269803995845231330755713570149508591985485615298071933372602490733465844038644277166844093264852692321395389028808023399934918768886674270526339825828346451686045925594792990487550586466335767001355960912594686415939875987018831371941269221339250258257418826919218193724450009660647285520501101268469783360718276614546027870104453989832938431205674942917497242623994175829064778866694252474764758015273041482473094441770006106370575212221672194621113007912066159036868221997430509736127524060451184721135032277597884245845678407901542374481206346976447689051325548384824306965060668057716007005556944407706888549839933195948942637802422407822619652801279909651131303863515453490641185729286204877325633269591370911308186856292871141625496906723763898102222550231523524143918481388879623265317847477340174172561404373561727492207319123372859614910626683414715163227701350873419347566049395920055084345850610884953849463734998449563596629808780655003946639513101225506396905965966690353825737380094823714707367735735202547445256328726005481244068563877209343185233850641681035556991684832676432643236101855009565543098027523709280047791924833527077961868391119839613426823096346232945927777127472511964505834366016688032996943565046802303411975758414895091866132507449884042513483245405533893681126025204171762834336519699536530226712554266934915611430163855663383251394942841837572257026505133259003 507969188649922221454610868561273638790550098637988828109963078935195981750911711028598325539938515150279130585470898429456971649494358011179372431811032182199902261557237257932230070995949145327419331071207553933051857713461844333697250496629061192928272281347944749758074875765130755608462373242703793806946837111030210404643526375916962450589176904369092139275565425154581964544980245605968138268412486238028642800777904142559071314259860583229200225758799389707130352966868946443755133167394230265772315954737476209205615581305696686510816765914234102467592543411138622903458687044906390985745901901705971892097314643951420245934187613250548192087360457020638878761091790608143742746478650268349416495102894468605266296547883871980903068667119020201596700439175403857063142048945161361979731254389195585018259596823244997704805089632686320121138437163918113671801549166055375740553387021174583842891642998780285224866677872870627993495639154118529519337645881465140160701356306442857975615121582830810423032646069163804727196969797758083707377229258502881002715315545960869603115050359132603158930645088974025372403199129517482777335868585352142898984815662904768899053831549363311251864636532989007025721603751488541290030292045835729875799515386651135023452224466271586045082319654296496919441735878069799359045956177566204613296846033568499712798063690963671596669067101031255496583271566191612330857176186511181174799083324982537437692848851932960602867002503507549437732296417435717274874998368122846488755562493185373384376355700553831733993778795586403924928640917665757568777628360067426000081840270073125967013961263898884496179378667566346695205760457664328025777716393099393583787868465848063185086867155119554035525559354157159890933491813631094532621271674469065661025805871784021520344721231649595501443981796838219196046755385014832166053083172203829905973392947624686643527915778645677303964859221989822386484385465164192171413339000037926213155928865919762029571354517468918468866931353559932613369452561656460200345510325239879 821911412473281465485263742377038383941965462053351230690036441345195153096263497856747856003052621852666728015919732595603652964568752938627048015204559441159182432565470165814334768381694715173300499081878811119757226687374109448269688899644338488904276311034432391560461299983971841925259126541264468840786544109948124432670598865589247114739945248203607370730787594636167332129104737801385939362197709702528500531074448257641940793539841765228449425026451039503122870458086698429130875590958084286993400214449428180489469342915197206237599614656417662845799337698457202963603607010854800261736570614741207227206056180118788169718737757406704612809630261016484110091847504178293251338464135883647488428475496959338732140586528149147747161931971712522992089467983427256998060817831835632506071080217542036704305522418037988192355676099022087122494398076512800087741425153074207112494656242513834101149061825699503418591127882531275279016140255386999302698364158079686188571460760432690914046327257773727920275270063339633791975836492010558472135244531544363475809757315966975973690262580804797780043653001040184409271421126947992513463392645803327620119847940502653144899509957264853626345842879965454714772929299873365596995352713893445882805072331058841912002064399467534987720122076704319539094537157979450490349819693019695254482575319773377038431333282334582904855923393902397122080178289955510433079726418034705318717564713862160703010696329273134775428406877069276929939615540808576889785625051537561651983263844058792731942405096473886818339629406471357774392375916115321165407437140722429946721353371298632363919927230589238321916758762390061402573496192866875471034045119104874827856432343057406370320717796800589592517244186833592534169593668640660075719299198178345708817730705311099482213112351489208928267078143071165123823882857526796671887449188891862902916957994426990055503674193540769170097366671873864899967630870698085852539364204209689047492448565456292256283908784403834080297095209223315864764395403494032457372015458498882 1329880601123203686939874610938312022732515560691340058799999520280391134847175208885346181542991137002945858601390631025060624614063110949806420447015591623359084694122707423746564839377643860500719830153086365052809084400835953781966939396273399681832548592382377141318536175749102597533721499783968262647733381220978334837314125241506209565329122152572699510006353019790749296674084983407354077630610195940557143331852352400201012107799702348457649650785250429210253223424955644872886008758352314552765716169186904389695084924220893892748416380570651765313391881109595825867062294055761191247482472516447179119303370824070208415652925370657252804896990718037122988852939294786436994084942786151996904923578391427943998437134412021128650230599090732724588789907158831114061202866776996994485802334606737621722565119241282985897160765731708407243632835240430913759542974319129582853048043263688417944040704824479788643457805755401903272511779409505528822036010039544826349272817066875548889661448840604538343307916132503438519172806289768642179512473790047244478525072861927845576805312939937400938974298090014209781674620256465475290799261231155470519104663603407422043953341506628164878210479412954461740494533051361906887025644759729175758604587717709976935454288865739121032802441731000816458536273036049249849395775870585899867779421353341876751229396973298254501524990494933652618663449856147122763936902604545886493516648038844698140703545181206095378295409380576826367671911958244294164660623419660408140738826337244166116318760797027718552333408202057761699321016833781078734185065500789855946803193641371758330933888494488122818096137429956408097779256650531203496811761512204268411644300808905469555407584951920143628042803540990752425103085482271754608340570872647411369843536577095121002557833583138804429711059939909384319870638242541628837940532361095692808890350942051676699031589972186446474062225893863687286452016335862278023952703204247615260648377431376054285855263301872752549164026562783248478133847965150492657717525783738761 2151792013596485152425138353315350406674481022744691289490035961625586287943438706742094037546043758855612586617310363620664277578631863888433468462220151064518267126688177589560899607759338575674020329234965176172566311088210063230236628295917738170736824903416809532878997475733074439458980626325232731488519925330926459269984724107095456680069067400776306880737140614426916628803189721208740016992807905643085643862926800657842952901339544113686099075811701468713376093883042343302016884349310398839759116383636332570184554267136091098986015995227069428159191218808053028830665901066615991509219043131188386346509427004188996585371663128063957417706620979053607098944786798964730245423406922035644393352053888387282730577720940170276397392531062445247580879375142258371059263684608832626991873414824279658426870641659320974089516441830730494366127233316943713847284399472203789965542699506202252045189766650179292062048933637933178551527919664892528124734374197624512537844277827308239803707776098378266263583186195843072311148642781779200651647718321591607954334830177894821550495575520742198719017951091054394190946041383413467804262653876958798139224511543910075188852851463893018504556322292919916455267462351235272484020997473622621641409660048768818847456353265206656020522563807705135997630810194028700339745595563605595122261996673115253789660730255632837406380913888836049740743628146102633197016629022580591812234212752706858843714241510479230153723816257646103297611527499052871054446248471197969792722090181302958848261165893501605370673037608529119473713392749896399899592502641512285893524547012670390694853815725077361140012896192346469500352752843398078967845806631309143239500733151962875925728302748720733220560047727824344959272679150912414684059870070825757078661267282406220484770945934628013357978138082980549443694521100068425509827981549987555711807308936478666754535264165727215644159592565737552186419647206560363876492067408457304308140825996832346542139172086276586629461121772006564342898243368644525115089541242237643 3481672614719688839365012964253662429406996583436031348290035481905977422790613915627440219089034895858558445218700994645724902192694974838239888909235742687877351820810885013307464447136982436174740159388051541225375395489046017012203567692191137852569373495799186674197533651482177036992702126109200994136253306551904794107298849348601666245398189553349006390743493634217665925477274704616094094623418101583642787194779153058043965009139246462143748726596951897923629317307997988174902893107662713392524832552823236959879639191356984991734432375797721193472583099917648854697728195122377182756701515647635565465812797828259205001024588498721210222603611697090730087797726093751167239508349708187641298275632279815226729014855352191405047623130153177972169669282301089485120466551385829621477675749431017280149435760900603959986677207562438901609760068557374627606827373791333372818590742769890669989230471474659080705506739393335081824039699074398056946770384237169338887117094894183788693369224938982804606891102328346510830321449071547842831160192111638852432859903039822667127300888460679599657992249181068603972620661639878943095061915108114268658329175147317497232806192970521183382766801705874378195761995402597179371046642233351797400014247766478795782910642130945777053325005538705952456167083230077950189141371434191494990041418026457130540890127228931091907905904383769702359407078002249755960953531627126478305750860791551556984417786691685325532019225638222929665283439457297165219106871890858377933460916518547124964579926690529323923006445810586881173034409583677478633777568142302141840327740654042149025787704219565483958109033622302877598132009493929282464657568143513411651145033960868345481135887700640876848602851268815097384375764633184169292400440943473168448504803859501341487328779517766817787689198022889933763565159342610054347768513911083248520697659878530343453566854137913662118221818459601239472871663542422641900444770612704919568789203428208400827994435388149339178625148334789812821032091333795017772807067025976404 5633464628316173991790151317569012836081477606180722637780071443531563710734052622369534256635078654714171031836011358266389179771326838726673357371455893752395618947499062602868364054896321011848760488623016717397941706577256080242440195988108876023306198399215996207076531127215251476451682752434433725624773231882831253377283573455697122925467256954125313271480634248644582554280464425824834111616226007226728431057705953715886917910478790575829847802408653366637005411191040331476919777456973112232283948936459569530064193458493076090720448371024790621631774318725701883528394096188993174265920558778823951812322224832448201586396251626785167640310232676144337186742512892715897484931756630223285691627686168202509459592576292361681445015661215623219750548657443347856179730235994662248469549164255296938576306402559924934076193649393169395975887301874318341454111773263537162784133442276092922034420238124838372767555673031268260375567618739290585071504758434793851424961372721492028497077001037361070870474288524189583141470091853327043482807910433230460387194733217717488677796463981421798377010200272122998163566703023292410899324568985073066797553686691227572421659044434414201887323123998794294651029457753832451855067639706974419041423907815247614630366995396152433073847569346411088453797893424106650528886966997797090112303414699572384330550857484563929314286818272605752100150706148352389157970160649707070117985073544258415828132028202164555685743041895869032962894966956350036273553120362056347726183006699850083812841092584030929293679483419116000646747802333573878533370070783814427733852287666712539720641519944642845098121929814649347098484762337327361432503374774822554890645767112831221406864190449361610069162898996639442343648443784096583976460311014298925527166071141907561972099725452394831145667336105870483207259680442678479857596495461070804232504968815009010208102118303640877762381411025338791659291310748983005776936838021162223876930029425040747370133607474425925808086270106796377163930334702439542887896608268214047 9115137243035862831155164281822675265488474189616753986070106925437541133524666537996974475724113550572729477054712352912114081964021813564913246280691636440272970768309947616175828502033303448023500648011068258623317102066302097254643763680300013875875571895015182881274064778697428513444384878543634719761026538434736047484582422804298789170865446507474319662224127882862248479757739130440928206239644108810371218252485106773930882919618037037973596529005605264560634728499038319651822670564635825624808781489282806489943832649850061082454880746822511815104357418643350738226122291311370357022622074426459517278135022660707406587420840125506377862913844373235067274540238986467064724440106338410926989903318448017736188607431644553086492638791368801191920217939744437341300196787380491869947224913686314218725742163460528894062870856955608297585647370431692969060939147054870535602724185045983592023650709599497453473062412424603342199607317813688642018275142671963190312078467615675817190446225976343875477365390852536093971791540924874886313968102544869312820054636257540155805097352442101398035002449453191602136187364663171353994386484093187335455882861838545069654465237404935385270089925704668672846791453156429631226114281940326216441438155581726410413277637527098210127172574885117040909964976654184600718028338431988585102344832726029514871440984713495021222192722656375454459557784150602145118923692276833548423735934335809972812549814893849881217762267534091962628178406413647201492659992252914725659643923218397208777421019274560253216685929229702881819782211917251357167147638926116569574180028320754688746429224164208329056230963436952224696616771831256643897160942918335966541790801073699566888000078150002486917765750265454539728024208417280753268860751957772093975670875001408903459428504970161648933356534128760416970824839785288534205365009372154052753202628693539353661668972441554539880603229484940031132162974291405647677381608633867143445719232853249148198128042862575264986711418441586189984962426036234560660703675294190451 14748601871352036822945315599391688101569951795797476623850178368969104844258719160366508732359192205286900508890723711178503261735348652291586603652147530192668589715809010219044192556929624459872261136634084976021258808643558177497083959668408889899181770294231179088350595905912679989896067630978068445385799770317567300861865996259995912096332703461599632933704762131506831034038203556265762317855870116037099649310191060489817800830096827613803444331414258631197640139690078651128742448021608937857092730425742376020008026108343137173175329117847302436736131737369052621754516387500363531288542633205283469090457247493155608173817091752291545503224077049379404461282751879182962209371862968634212681531004616220245648200007936914767937654452584424411670766597187785197479927023375154118416774077941611157302048566020453828139064506348777693561534672306011310515050920318407698386857627322076514058070947724335826240618085455871602575174936552979227089779901106757041737039840337167845687523227013704946347839679376725677113261632778201929796776012978099773207249369475257644482893816423523196412012649725314600299754067686463764893711053078260402253436548529772642076124281839349587157413049703462967497820910910262083081181921647300635482862063396974025043644632923250643201020144231528129363762870078291251246915305429785675214648247425601899201991842198058950536479540928981206559708490298954534276893852926540618541721007880068388640681843096014436903505309429960995591073373369997237766213112614971073385826929918247292590262111858591182510365412648818882466530014250825235700517709709930997308032315987467228467070744108851174154352893251601571795101534168584005329664317693158521432436568186530788294864268599364096986928649262093982071672652201377337245321062972071019502836946143316465431528230422556480079023870234630900178084520227967014062961504833224856985707597508548363869771090745195417642984640510278822791454285040388653454318446655029367322649262278289895568261650337001190794797688548382567148892760738674103548600283562404498 23863739114387899654100479881214363367058425985414230609920285294406645977783385698363483208083305755859629985945436064090617343699370465856499849932839166632941560484118957835220021058962927907895761784645153234644575910709860274751727723348708903775057342189246361969624660684610108503340452509521703165146826308752303348346448419064294701267198149969073952595928890014369079513795942686706690524095514224847470867562676167263748683749714864651777040860419863895758274868189116970780565118586244763481901511915025182509951858758193198255630209864669814251840489156012403359980638678811733888311164707631742986368592270153863014761237931877797923366137921422614471735822990865650026933811969307045139671434323064237981836807439581467854430293243953225603590984536932222538780123810755645988363998991627925376027790729480982722201935363304385991147182042737704279575990067373278233989581812368060106081721657323833279713680497880474944774782254366667869108055043778720232049118307952843662877969452990048821825205070229261771085053173703076816110744115522969086027304005732797800287991168865624594447015099178506202435941432349635118888097537171447737709319410368317711730589519244284972427502975408131640344612364066691714307296203587626851924300218978700435456922270450348853328192719116645170273727846732475851964943643861774260316993080151631414073432826911553971758672263585356661019266274449556679395817545203374166965456942215878361453231657989864318121267576964052958219251779783644439258873104867885799045470853136644501367683131133151435727051341878521764286312226168076592867665348636047566882212344308221917213499968273059503210583856688553796491718305999840649226825260611494487974227369260230355182864346749366583904694399527548521799696860618658090514181814929843113478507821144725368890956735392718129012380404363391317148909360013255548268326514205378909738910226202087717531440063186749957523587869995218853923617259331794301131700055288896510768368495131539043766389693199576455781509106989968757133855186774908664209303958856594949 38612340985739936477045795480606051468628377781211707233770463663375750822042104858729991940442497961146530494836159775269120605434719118148086453584986696825610150199927968054264213615892552367768022921279238210665834719353418452248811683017117793674239112483477541057975256590522788493236520140499771610532626079069870649208314415324290613363530853430673585529633652145875910547834146242972452841951384340884570516872867227753566484579811692265580485191834122526955915007879195621909307566607853701338994242340767558529959884866536335428805538982517116688576620893381455981735155066312097419599707340837026455459049517647018622935055023630089468869361998471993876197105742744832989143183832275679352352965327680458227485007447518382622367947696537650015261751134120007736260050834130800106780773069569536533329839295501436550340999869653163684708716715043715590091040987691685932376439439690136620139792605048169105954298583336346547349957190919647096197834944885477273786158148290011508565492680003753768173044749605987448198314806481278745907520128501068859234553375208055444770884985289147790859027748903820802735695500036098883781808590249708139962755958898090353806713801083634559584916025111594607842433274976953797388478125234927487407162282375674460500566903373599496529212863348173299637490716810767103211858949291559935531641327577233313275424669109612922295151804514337867578974764748511213672711398129914785507177950095946750093913501085878755024772886394013953810325153153641677025086217482856872431297783054891793957945242991742618237416754527340646752842240418901828568183058345978564190244660295689145680570712381910677364936749940155368286819840168424654556489578304653009406663937446761143477728615348730680891623048789642503871369512820035427759502877901914132981344767288041834322484965815274609091404274598022217326993880241222562331288019038603766724617823710636081401211153931945375166572510505497676715071544372182954586018501943925878091017757409828939334651343536577646576306795538351324282747947513582767757904242418999447 62476080100127836131146275361820414835686803766625937843690748957782396799825490557093475148525803717006160480781595839359737949134089584004586303517825863458551710684046925889484234674855480275663784705924391445310410630063278727000539406365826697449296454672723903027599917275132896996576972650021474775679452387822173997554762834388585314630729003399747538125562542160244990061630088929679143366046898565732041384435543395017315168329526556917357526052253986422714189876068312592689872685194098464820895754255792741039911743624729533684435748847186930940417110049393859341715793745123831307910872048468769441827641787800881637696292955507887392235499919894608347932928733610483016076995801582724492024399650744696209321814887099850476798240940490875618852735671052230275040174644886446095144772061197461909357630024982419272542935232957549675855898757781419869667031055064964166366021252058196726221514262372002385667979081216821492124739445286314965305889988664197505835276456242855171443462132993802589998249819835249219283367980184355562018264244024037945261857380940853245058876154154772385306042848082327005171636932385734002669906127421155877672075369266408065537303320327919532012419000519726248187045639043645511695774328822554339331462501354374895957489173823948349857405582464818469911218563543242955176802593153334195848634407728864727348857496021166894053824068099694528598241039198067893068528943333288952472634892311825111547145159075743073146040463358066912029576932937286116283959322350742671476768636191536295325628374124894053964468096405862411039154466586978421435848406982026131072457004603911062894070680654970180575520606628709164778538146168265303783314838916147497380891306706991498660592962098097264796317448317191025671066373438693518273684692831757246459852588432767203213441701207992738103784678961413534475903240254478110599614533243982676463528049912723798932651217118695332690160380500716530638688803703977255717718557232822388859386252541367983101041036736154102357815902528320081416603134288491431967208201275594396 101088421085867772608192070842426466304315181547837645077461212621158147621867595415823467088968301678152690975617755614628858554568808702152672757102812560284161860883974893943748448290748032643431807627203629655976245349416697179249351089382944491123535567156201444085575173865655685489813492790521246386212078466892044646763077249712875927994259856830421123655196194306120900609464235172651596207998282906616611901308410622770881652909338249182938011244088108949670104883947508214599180251801952166159889996596560299569871628491265869113241287829704047628993730942775315323450948811435928727510579389305795897286691305447900260631347979137976861104861918366602224130034476355316005220179633858403844377364978425154436806822334618233099166188637028525634114486805172238011300225479017246201925545130766998442687469320483855822883935102610713360564615472825135459758072042756650098742460691748333346361306867420171491622277664553168039474696636205962061503724933549674779621434604532866680008954812997556358171294569441236667481682786665634307925784372525106804496410756148908689829761139443920176165070596986147807907332432421832886451714717670864017634831328164498419344017121411554091597335025631320856029478914020599309084252454057481826738624783730049356458056077197547846386618445812991769548709280354010058388661542444894131380275735306098040624282165130779816348975872614032396177215803946579106741240341463203737979812842407771861641058660161621828170813349752080865839902086090927793309045539833599543908066419246428089283573617116636672201884850933203057791996707005880250004031465328004695262701664899600208574641393036880857940457356568864533065357986336689958339804417220800506787555244153752642138321577446827945687940497106833529542435886258728946033187570733671379441197355720809037535926667023267347195188953559435751802897120495700672930902552282586443188145873623359880333862371050640707856732891006214207353760348076160210303737059176748266950404009951196922435692380272731748934122698066671405699351081802074199725112443694593843 163564501185995608739338346204246881140001985314463582921151961578940544421693085972916942237494105395158851456399351453988596503702898286157259060620638423742713571568021819833232682965603512919095592333128021101286655979479975906249890495748771188572832021828925347113175091140788582486390465440542721161891530854714218644317840084101461242624988860230168661780758736466365890671094324102330739574045181472348653285743954017788196821238864806100295537296342095372384294760015820807289052936996050630980785750852353040609783372115995402797677036676890978569410840992169174665166742556559760035421451437774565339114333093248781898327640934645864253340361838261210572062963209965799021297175435441128336401764629169850646128637221718083575964429577519401252967222476224468286340400123903692297070317191964460352045099345466275095426870335568263036420514230606555329425103097821614265108481943806530072582821129792173877290256745769989531599436081492277026809614922213872285456711060775721851452416945991358948169544389276485886765050766849989869944048616549144749758268137089761934888637293598692561471113445068474813078969364807566889121620845092019895306906697430906484881320441739473623609754026151047104216524553064244820780026782880036166070087285084424252415545251021496196244024028277810239459927843897253013565464135598228327228910143034962767973139661151946710402799940713726924775456843144646999809769284796492690452447734719596973188203819237364901316853813110147777869479019028213909593004862184342215384835055437964384609201991241530726166352947339065468831151173592858671439879872310030826335158669503511271468712073691851038515977963197573697843896132504955262123119256136948004168446550860744140798914539544925210484257945424024555213502259697422464306872263565428625901049944153576240749368368231260085298973632520849286278800360750178783530517085526569119651673923536083679266513588169336040546893271506930737992449151780137466021455616409570655809790262492564905536733417008885851291938600594991487115954216090565631692320644970188239 264652922271863381347530417046673347444317166862301227998613174200098692043560681388740409326462407073311542432017107068617455058271706988309931817723450984026875432451996713776981131256351545562527399960331650757262901328896673085499241585131715679696367588985126791198750265006444267976203958231063967548103609321606263291080917333814337170619248717060589785435954930772486791280558559274982335782043464378965265187052364640559078474148203055283233548540430204322054399643963329021888233188798002797140675747448913340179655000607261271910918324506595026198404571934944489988617691367995688762932030827080361236401024398696682158958988913783841114445223756627812796192997686321115026517355069299532180779129607595005082935459556336316675130618214547926887081709281396706297640625602920938498995862322731458794732568665950130918310805438178976396985129703431690789183175140578264363850942635554863418944127997212345368912534410323157571074132717698239088313339855763547065078145665308588531461371758988915306340838958717722554246733553515624177869832989074251554254678893238670624718398433042612737636184042054622620986301797229399775573335562762883912941738025595404904225337563151027715207089051782367960246003467084844129864279236937517992808712068814473608873601328219044042630642474090802009008637124251263071954125678043122458609185878341060808597421826282726526751775813327759320952672647091226106551009626259696428432260577127368834829262479398986729487667162862228643709381105119141702902050402017941759292901474684392473892775608358167398368237798272268526623147880598738921443911337638035521597860334403111480043353466728731896456435319766438230909254118841645220462923673357748510956001795014496782937236116991753156172198442530858084755938145956151410340059834299100005342247299874385278285295035254527432494162586080285038081697481245879456461419637809155562839819797159443559600375959219976748403626162513144945346209499856297676325192675586318922760194272443761827972425797281617600226061298661662892815305297892639831417433088664782082 428217423457858990086868763250920228584319152176764810919765135779039236465253767361657351563956512468470393888416458522606051561974605274467190878344089407769589004020018533610213814221955058481622992293459671858549557308376648991749132080880486868269199610814052138311925356147232850462594423671606688709995140176320481935398757417915798413244237577290758447216713667238852681951652883377313075356088645851313918472796318658347275295387067861383529085836772299694438694403979149829177286125794053428121461498301266380789438372723256674708595361183486004767815412927113664653784433924555448798353482264854926575515357491945464057286629848429705367785585594889023368255960896286914047814530504740660517180894236764855729064096778054400251095047792067328140048931757621174583981025726824630796066179514695919146777668011416406013737675773747239433405643934038246118608278238399878628959424579361393491526949127004519246202791156093147102673568799190516115122954777977419350534856726084310382913788704980274254510383347994208441011784320365614047813881605623396304012947030328432559607035726641305299107297487123097434065271162036966664694956407854903808248644723026311389106658004890501338816843077933415064462528020149088950644306019817554158878799353898897861289146579240540238874666502368612248468564968148516085519589813641350785838096021376023576570561487434673237154575754041486245728129490235873106360778911056189118884708311846965808017466298636351630804520975972376421578860124147355612495055264202283974677736530122356858501977599599698124534590745611333995454299054191597592883791209948066347933019003906622751512065540420582934972413282964011928753150251346600482586042929494696515124448345875240923736150656536678366656456387954882639969440405653573874646932097864528631243297244027961519034663403485787517793136218601134324360497841996058239991936723335724682491493720695527238866889547389312788950519434020075683338658651636435142346648291995889578569984534936326733509159214290503451517999899256654379931259513983205463109753733634970321 692870345729722371434399180297593576028636319039066038918378309979137928508814448750397760890418919541781936320433565591223506620246312262777122696067540391796464436472015247387194945478306604044150392253791322615812458637273322077248373666012202547965567199799178929510675621153677118438798381902670656258098749497926745226479674751730135583863486294351348232652668598011339473232211442652295411138132110230279183659848683298906353769535270916666762634377202504016493094047942478851065519314592056225262137245750179720969093373330517946619513685690081030966219984862058154642402125292551137561285513091935287811916381890642146216245618762213546482230809351516836164448958582608029074331885574040192697960023844359860811999556334390716926225666006615255027130641039017880881621651329745569295062041837427377941510236677366536932048481211926215830390773637469936907791453378978142992810367214916256910471077124216864615115325566416304673747701516888755203436294633740966415613002391392898914375160463969189560851222306711930995258517873881238225683714594697647858267625923567103184325434159683918036743481529177720055051572959266366440268291970617787721190382748621716293331995568041529054023932129715783024708531487233933080508585256755072151687511422713371470162747907459584281505308976459414257477202092399779157473715491684473244447281899717084385167983313717399763906351567369245566680802137327099212911788537315885547316968888974334642846728778035338360292188138834605065288241229266497315397105666220225733970638004806749332394753207957865522902828543883602522077446934790336514327702547586101869530879338309734231555419007149314831428848602730450159662404370188245703048966602852445026080450140889737706673386773528431522828654830485740724725378551609725284986991932163628636585544543902346797319958438740314950287298804681419362442195323241937696453356361144880245331313517854970798467265506609289537354145596533220628684868151492732818671840967582208501330178807380088561481585011572121051744061197918317272746564811875845294527186822299752403 1121087769187581361521267943548513804612955471215830849838143445758177164974068216112055112454375432010252330208850024113829558182220917537244313574411629799566053440492033780997408759700261662525773384547250994474362015945649971068997505746892689416234766810613231067822600977300909968901392805574277344968093889674247227161878432169645933997107723871642106679869382265250192155183864326029608486494220756081593102132645001957253629064922338778050291720213974803710931788451921628680242805440386109653383598744051446101758531746053774621328109046873567035734035397789171819296186559217106586359638995356790214387431739382587610273532248610643251850016394946405859532704919478894943122146416078780853215140918081124716541063653112445117177320713798682583167179572796639055465602677056570200091128221352123297088287904688782942945786156985673455263796417571508183026399731617378021621769791794277650401998026251221383861318116722509451776421270316079271318559249411718385766147859117477209297288949168949463815361605654706139436270302194246852273497596200321044162280572953895535743932469886325223335850779016300817489116844121303333104963248378472691529439027471648027682438653572932030392840775207649198089171059507383022031152891276572626310566310776612269331451894486700124520379975478828026505945767060548295242993305305325824030285377921093107961738544801152073001060927321410731812408931627562972319272567448372074666201677200821300450864195076671689991096709114806981486867101353413852927892160930422509708648374534929106190896730807557563647437419289494936517531745988981934107211493757534168217463898342216356983067484547569897766401261885694462088415554621534846185635009532347141541204898486764978630409537430065109889485111218440623364694818957263299159633924030028157267828841787930308316354621842226102468080435023282553686802693165237995936445293084480604927822807238550498037334155053998602326304665030553296312023526803129167961018489259578098079900163342316415294990744225862624503262061097174971652677824325859050757636940555934722724 1813958114917303732955667123846107380641591790254896888756521755737315093482882664862452873344794351552034266529283589705053064802467229800021436270479170191362517876964049028384603705178568266569923776801042317090174474582923293146245879412904891964200334010412409997333276598454587087340191187476948001226192639172173972388358106921376069580971210165993454912522050863261531628416075768681903897632352866311872285792493685256159982834457609694717054354591177307727424882499864107531308324754978165878645735989801625822727625119384292567947622732563648066700255382651229973938588684509657723920924508448725502199348121273229756489777867372856798332247204297922695697153878061502972196478301652821045913100941925484577353063209446835834103546379805297838194310213835656936347224328386315769386190263189550675029798141366149479877834638197599671094187191208978119934191184996356164614580159009193907312469103375438248476433442288925756450168971832968026521995544045459352181760861508870108211664109632918653376212827961418070431528820068128090499181310795018692020548198877462638928257904046009141372594260545478537544168417080569699545231540349090479250629410220269743975770649140973559446864707337364981113879590994616955111661476533327698462253822199325640801614642394159708801885284455287440763422969152948074400467020797010297274732659820810192346906528114869472764967278888779977379089733764890071532184355985687960213518646089795635093710923854707028351388897253641586552155342582680350243289266596642735442619012539735855523291484015515429170340247833378539039609192923772270621539196305120270086994777680526091214622903554719212597830110488424912248077958991723091888683976135199586567285348627654716337082924203593541412313766048926364089420197508873024444620915962191785904414386331832655113674580280966417418367733827963973049244888488479933632898649445625485173154120756405468835801420560607891863658810627086516940708394954621900779690330227160306581230342149696503856472329237434745555006122295093288925424389137734896052164127378234475127 2935045884104885094476935067394621185254547261470727738594665201495492258456950880974507985799169783562286596738133613818882622984688147337265749844890799990928571317456082809382012464878829929095697161348293311564536490528573264215243385159797581380435100821025641065155877575755497056241583993051225346194286528846421199550236539091022003578078934037635561592391433128511723783599940094711512384126573622393465387925138687213413611899379948472767346074805152111438356670951785736211551130195364275532029334733853071924486156865438067189275731779437215102434290780440401793234775243726764310280563503805515716586779860655817366763310115983500050182263599244328555229858797540397915318624717731601899128241860006609293894126862559280951280867093603980421361489786632295991812827005442885969477318484541673972118086046054932422823620795183273126357983608780486302960590916613734186236349950803471557714467129626659632337751559011435208226590242149047297840554793457177737947908720626347317508953058801868117191574433616124209867799122262374942772678906995339736182828771831358174672190373932334364708445039561779355033285261201873032650194788727563170780068437691917771658209302713905589839705482545014179203050650501999977142814367809900324772820132975937910133066536880859833322265259934115467269368736213496369643460326102336121305018037741903300308645072916021545766028206210190709191498665392453043851456923434060034879720323290616935544575118931378718342485606368448568039022443936094203171181427527065245151267387074664961714188214823072992817777667122873475557140938912754204728750690062654438304458676022742448197690388102289110364231372374119374336493513613257938074318985667546728108490247114419694967492461633658651301798877267366987454115016466136323604254839992219943172243228119762963430029202123192519886448168851246526736047581653717929569343942530106090100976927994955966873135575614606494189963475657639813252731921757751068740708819486738404661130505492012919151463073463297370058268183392268260578102213463593946809801067934169197851 4749003999022188827432602191240728565896139051725624627351186957232807351939833545836960859143964135114320863267417203523935687787155377137287186115369970182291089194420131837766616170057398195665620938149335628654710965111496557361489264572702473344635434831438051062489154174210084143581775180528173347420479168018595171938594646012398073159050144203629016504913483991773255412016015863393416281758926488705337673717632372469573594733837558167484400429396329419165781553451649843742859454950342441410675070723654697747213781984822359757223354512000863169134546163091631767173363928236422034201488012254241218786127981929047123253087983356356848514510803542251250927012675601900887515103019384422945041342801932093871247190072006116785384413473409278259555800000467952928160051333829201738863508747731224647147884187421081902701455433380872797452170799989464422894782101610090350850930109812665465026936233002097880814185001300360964676759213982015324362550337502637090129669582135217425720617168434786770567787261577542280299327942330503033271860217790358428203376970708820813600448277978343506081039300107257892577453678282442732195426329076653650030697847912187515633979951854879149286570189882379160316930241496616932254475844343228023235073955175263550934681179275019542124150544389402908032791705366444444043927346899346418579750697562713492655551601030891018530995485098970686570588399157343115383641279419747995093238969380412570638286042786085746693874503622090154591177786518774553414470694123707980593886399614400817237479698838588421988117914956252014596750131836526475350289886367774708391453453703268539412313291657008322962061482862544286584571472604981029963002961802746314675775595742074411304575385837252192714112643316293351543535213975009348048875755954411729076657614451595618543703782404158937304815902679210499785292470142197863202242591975731575274131048751361435708936996175214386053622286284726330193440316712372969520399149713898711242360847641709423007935402700732115613274305687361549503526602601328842861965195312403672978 7684049883127073921909537258635349751150686313196352365945852158728299610396784426811468844943133918676607460005550817342818310771843524474552935960260770173219660511876214647148628634936228124761318099497628940219247455640069821576732649732500054725070535652463692127645031749965581199823359173579398693614765696865016371488831185103420076737129078241264578097304917120284979195615955958104928665885500111098803061642771059682987206633217506640251746504201481530604138224403435579954410585145706716942704405457507769671699938850260426946499086291438078271568836943532033560408139171963186344482051516059756935372907842584864490016398099339856898696774402786579806156871473142298802833727737116024844169584661938703165141316934565397736665280567013258680917289787100248919972878339272087708340827232272898619265970233476014325525076228564145923810154408769950725855373018223824537087280060616137022741403362628757513151936560311796172903349456131062622203105130959814828077578302761564743229570227236654887759361695193666490167127064592877976044539124785698164386205742540178988272638651910677870789484339669037247610738939484315764845621117804216820810766285604105287292189254568784739126275672427393339519980891998616909397290212153128348007894088151201461067747716155879375446415804323518375302160441579940813687387673001682539884768735304616792964196673946912564297023691309161395762087064549796159235098202853808029972959292671029506182861161717464465036360109990538722630200230454868756585652121650773225745153786689065778951667913661661414805895582079125490153891070749280680079040576430429146695912129726010987610003679759297433326292855236663660921064986218238968037321947470293042784265842856494106272067847470910844015911520583660338997650230441145671653130595946631672248900842571358581973732984527351457191264071530457026521340051795915792771586534505837665375107976746317402582072571789820880243585761942366143446172238470124038261107969200637115903491353133722342159398476164029485671542489079629810081628816064922789671766263246572870829 12433053882149262749342139449876078317046825364921976993297039115961106962336617972648429704087098053790928323272968020866753998558998901611840122075630740355510749706296346484915244804993626320426939037646964568873958420751566378938221914305202528069705970483901743190134185924175665343405134354107572041035244864883611543427425831115818149896179222444893594602218401112058234607631971821498344947644426599804140735360403432152560801367055064807736146933597810949769919777855085423697270040096049158353379476181162467418913720835082786703722440803438941440703383106623665327581503100199608378683539528313998154159035824513911613269486082696213747211285206328831057083884148744199690348830756500447789210927463870797036388507006571514522049694040422536940473089787568201848132929673101289447204335980004123266413854420897096228226531661945018721262325208759415148750155119833914887938210170428802487768339595630855393966121561612157137580108670113077946565655468462451918207247884896782168950187395671441658327148956771208770466455006923381009316399342576056592589582713248999801873086929889021376870523639776295140188192617766758497041047446880870470841464133516292802926169206423663888412845862309772499836911133495233841651766056496356371242968043326465012002428895430898917570566348712921283334952146946385257731315019901028958464519432867330285619748274977803582828019176408132082332675463707139274618739482273556025066198262051442076821147204503550211730234613612628877221378016973643310000122815774481206339040186303466596189147612500249836794013497035377504750641202585807155429330462798203855087365583429279527022316971416305756288354338099207947505636458823219998000324909273039357460041438598568517576643233308163036730024163899953690541185444416155019702006351901043401325558457022954200517436766931510394496079974209667526306632521938113655973829126481569240649239025497678838291009567965035266297208048227092473639612555182497007781507118914535827145852200775431765167333878864761601284816794766991359585155418666251632533731458558976543807 20117103765276336671251676708511428068197511678118329359242891274689406572733402399459898549030231972467535783278518838209572309330842426086393058035891510528730410218172561132063873439929854445188257137144593509093205876391636200514954564037702582794776506136365435317779217674141246543228493527686970734650010561748627914916257016219238226633308300686158172699523318232343213803247927779603273613529926710902943797003174491835548008000272571447987893437799292480374058002258521003651680625241755875296083881638670237090613659685343213650221527094877019712272220050155698887989642272162794723165591044373755089531943667098776103285884182036070645908059609115410863240755621886498493182558493616472633380512125809500201529823941136912258714974607435795621390379574668450768105808012373377155545163212277021885679824654373110553751607890509164645072479617529365874605528138057739425025490231044939510509742958259612907118058121923953310483458126244140568768760599422266746284826187658346912179757622908096546086510651964875260633582071516258985360938467361754756975788455789178790145725581799699247660007979445332387798931557251074261886668564685087291652230419120398090218358460992448627539121534737165839356892025493850751049056268649484719250862131477666473070176611586778293016982153036439658637112588526326071418702692902711498349288168171947078583944948924716147125042867717293478094762528256935433853837685127364055039157554722471583004008366221014676766594723603167599851578247428512066585774937425254432084193972992532375140815526161911251599909079114502994904532273335087835508371039228633001783277713155290514632320651175603189614647193335871608426701445041458966037646856743332400244307281455062623848711080779073880745935684483614029538835674857300691355136947847675073574459299594312782491169751458861851687344045740124552827972573734029448745415660987406906024347002243996240873082139754856146540793810169458617085784793652621046042615088115172943049343553909154107326732355028791086956359283846621169666784234731174422205497721805549414636 32550157647425599420593816158387506385244337043040306352539930390650513535070020372108328253117330026258464106551486859076326307889841327698233180111522250884241159924468907616979118244923480765615196174791558077967164297143202579453176478342905110864482476620267178507913403598316911886633627881794542775685255426632239458343682847335056376529487523131051767301741719344401448410879899601101618561174353310707084532363577923988108809367327636255724040371397103430143977780113606427348950665337805033649463357819832704509527380520426000353943967898315961152975603156779364215571145372362403101849130572687753243690979491612687716555370264732284393119344815444241920324639770630698183531389250116920422591439589680297237918330947708426780764668647858332561863469362236652616238737685474666602749499192281145152093679075270206781978139552454183366334804826288781023355683257891654312963700401473741998278082553890468301084179683536110448063566796357218515334416067884718664492074072555129081129945018579538204413659608736084031100037078439639994677337809937811349565371169038178592018812511688720624530531619221627527987124175017832758927716011565957762493694552636690893144527667416112515951967397046938339193803158989084592700822325145841090493830174804131485072605507017677210587548501749360941972064735472711329150017712803740456813807601039277364203693223902519729953062044125425560427437991964074708472577167400920080105355816773913659825155570724564888496829337215796477072956264402155376585897753199735638423234159295998971329963138662161088393922576149880499655173475920894990937701502026836856870643296584570041654637622591908945903001531435079555932337903864678964037971766016371757704348720053631141425354314087236917475959848383567720080021119273455711057143299748718474900017756617266983008606518390372246183424019949792079134605095672143104719244787468976146673586027741675079164091707719891412838001858396551090725397348835118053824122207029708770195195754684585872494066233893552688241176078613612529251939653397426054739229180364525958443 52667261412701936091845492866898934453441848721158635711782821665339920107803422771568226802147561998725999889830005697285898617220683753784626238147413761412971570142641468749042991684853335210803453311936151587060370173534838779968131042380607693659258982756632613825692621272458158429862121409481513510335265988380867373259939863554294603162795823817209940001265037576744662214127827380704892174704280021610028329366752415823656817367600207703711933809196395910518035782372127431000631290579560908945547239458502941600141040205769214004165494993192980865247823206935063103560787644525197825014721617061508333222923158711463819841254446768355039027404424559652783565395392517196676713947743733393055971951715489797439448154888845339039479643255294128183253848936905103384344545697848043758294662404558167037773503729643317335729747442963348011407284443818146897961211395949393737989190632518681508787825512150081208202237805460063758547024922601359084103176667306985410776900260213475993309702641487634750500170260700959291733619149955898980038276277299566106541159624827357382164538093488419872190539598666959915786055732268907020814384576251045054145924971757088983362886128408561143491088931784104178550695184482935343749878593795325809744692306281797958142782118604455503604530654785800600609177323999037400568720405706451955163095769211224442787638172827235877078104911842719038522200520221010142326414852528284135144513371496385242829163936945579565263424060818964076924534511830667443171672690624990070507428132288531346470778664824072339993831655264383494559705749255982826446072541255469858653921009739860556286958273767512135517648724770951164359039348906137930075618622759704157948656001508693765274065394866310798221895532867181749618856794130756402412280247596393548474477056211579765499776269849234097870768065689916631962577669406172553464660448456383052697933029985671320037173847474747559378795668566009707811182142487739099866737295144881713244539308593739979820798588922343775197535362460233698918723888128600476944726902170075373079 85217419060127535512439309025286440838686185764198942064322752055990433642873443143676555055264892024984463996381492556362224925110525081482859418258936012297212730067110376366022109929776815976418649486727709665027534470678041359421307520723512804523741459376899792333606024870775070316495749291276056286020521415013106831603622710889350979692283346948261707303006756921146110625007726981806510735878633332317112861730330339811765626734927843959435974180593499340662013562485733858349581955917365942595010597278335646109668420726195214358109462891508942018223426363714427319131933016887600926863852189749261576913902650324151536396624711500639432146749240003894703890035163147894860245336993850313478563391305170094677366485836553765820244311903152460745117318299141756000583283383322710361044161596839312189867182804913524117707886995417531377742089270106927921316894653841048050952891033992423507065908066040549509286417488996174206610591718958577599437592735191704075268974332768605074439647660067172954913829869437043322833656228395538974715614087237377456106530793865535974183350605177140496721071217888587443773179907286739779742100587817002816639619524393779876507413795824673659443056328831042517744498343472019936450700918941166900238522481085929443215387625622132714192079156535161542581242059471748729718738118510192411976903370250501806991331396729755607031166955968144598949638512185084850798992019929204215249869188270298902654319507670144453760253398034760553997490776232822819757570443824725708930662291584530317800741803486233428387754231414263994214879225176877817383774043282306715524564306324430597941595896359421081420650256206030720291377252770816894113590388776075915653004721562324906699419708953547715697855381250749469698877913404212113469423547345112023374494812828846748508382788239606344054192085639708711097182765078315658183905235925359199371519057727346399201265555194638972216797526962560798536579491322857153690859502174590483439735063278325852314864822815896463438711441073846228170663541526026531683956082534601331522 137884680472829471604284801892185375292128034485357577776105573721330353750676865915244781857412454023710463886211498253648123542331208835267485656406349773710184300209751845115065101614630151187222102798663861252087904644212880139389438563104120498183000442133532406159298646143233228746357870700757569796355787403393974204863562574443645582855079170765471647304271794497890772839135554362511402910582913353927141191097082755635422444102528051663147907989789895251180049344857861289350213246496926851540557836736838587709809460931964428362274957884701922883471249570649490422692720661412798751878573806810769910136825809035615356237879158268994471174153664563547487455430555665091536959284737583706534535343020659892116814640725399104859723955158446588928371167236046859384927829081170754119338824001397479227640686534556841453437634438380879389149373713925074819278106049790441788942081666511105015853733578190630717488655294456237965157616641559936683540769402498689486045874592982081067749350301554807705414000130138002614567275378351437954753890364536943562647690418692893356347888698665560368911610816555547359559235639555646800556485164068047870785544496150868859870299924233234802934145260615146696295193527954955280200579512736492709983214787367727401358169744226588217796609811320962143190419383470786130287458524216644367139999139461726249778969569556991484109271867810863637471839032406094993125406872457488350394382559766684145483483444615724019023677458853724630922025288063490262929243134449715779438090423873061664271520468310305768381585886678647488774584974432860643829846584537776574178485316064291154228554170126933216938298980976981884650416601676954824189209011535780073601660723071018671973485103819858513919750914117931219317734707534968515881703794941505571848971869040426514008159058088840441924960151329625343059760434484488211648565684381742252069452087713017719238439402669386531595593195528570506347761633810596253557596797319472196684274371872065832135663411738240238636246803534079927089387429654627008628682984704676704601 223102099532957007116724110917471816130814220249556519840428325777320787393550309058921336912677346048694927882592990810010348467441733916750345074665285786007397030276862221481087211544406967163640752285391570917115439114890921498810746083827633302706741901510432198492904671014008299062853619992033626082376308818407081036467185285332996562547362517713733354607278551419036883464143281344317913646461546686244254052827413095447188070837455895622583882170383394591842062907343595147699795202414292794135568434015174233819477881658159642720384420776210864901694675934363917741824653678300399678742425996560031487050728459359766892634503869769633903320902904567442191345465718812986397204621731434020013098734325829986794181126561952870679968267061599049673488485535188615385511112464493464480382985598236791417507869339470365571145521433798410766891462984032002740595000703631489839894972700503528522919641644231180226775072783452412171768208360518514282978362137690393561314848925750686142188997961621980660327829999575045937400931606746976929469504451774321018754221212558429330531239303842700865632682034444134803332415546842386580298585751885050687425164020544648736377713720057908462377201589446189214039691871426975216651280431677659610221737268453656844573557369848720931988688967856123685771661442942534860006196642726836779116902509712228056770300966286747091140438823779008236421477544591179843924398892386692565644251748036983048137802952285868472783930856888485184919516064296313082686813578274441488368752715457591982072262271796539196769340118092911482989464199609738461213620627820083289703049622388721752170150066486354298358949237183012604941793854447771718302799400311855989254665444633343578672904812773406229617606295368680689016612620939180629351127342286617595223466681869273262516541846328446785979152236969334054156943199562803869832470920307101451440971145440364118439704957864025503812390722491131304884341125133453407248456299494062680124009435150391684450528234554136702074958244607926155260050971180653540312639067239278036123 360986780005786478721008912809657191422942254734914097616533899498651141144227174974166118770089800072405391768804489063658472009772942752017830731071635559717581330486614066596152313159037118350862855084055432169203343759103801638200184646931753800889742343643964604652203317157241527809211490692791195878732096221801055241330747859776642145402441688479205001911550345916927656303278835706829316557044460040171395243924495851082610514939983947285731790160173289843022112252201456437050008448911219645676126270752012821529287342590124071082659378660912787785165925505013408164517374339713198430620999803370801397187554268395382248872383028038628374495056569130989678800896274478077934163906469017726547634077346489878910995767287351975539692222220045638601859652771235474770438941545664218599721809599634270645148555874027207024583155872179290156040836697957077559873106753421931628837054367014633538773375222421810944263728077908650136925825002078450966519131540189083047360723518732767209938348263176788365741830129713048551968206985098414884223394816311264581401911631251322686879128002508261234544292850999682162891651186398033380855070915953098558210708516695517596248013644291143265311346850061335910334885399381930496851859944414152320204952055821384245931727114075309149785298779177085828962080826413320990293655166943481146256901649173954306549270535843738575249710691589871873893316576997274837049805764844180916038634307803667193621286396901592491807608315742209815841541352359803345616056712724157267806843139330653646343782740106844965150926004771558971764049174042599105043467212357859863881534938453012906398704236613287515297248218159994489592210456124726542492008411847636062856326167704362250646389916593264743537357209486611908334347328474149145232831137228123167072438550909699776524700904417287227904112388298959397216703634047292081481036604688843703510423233153381837678144360533412035407983918019701811232102758944049660806053096813534876808283807022457516586191646292376940711205048142006082349438400835280548941322051943954740724 584088879538743485837733023727129007553756474984470617456962225275971928537777484033087455682767146121100319651397479873668820477214676668768175805736921345724978360763476288077239524703444085514503607369447003086318782873994723137010930730759387103596484245154396803145107988171249826872065110684824821961108405040208136277797933145109638707949804206192938356518828897335964539767422117051147230203506006726415649296751908946529798585777439842908315672330556684434864175159545051584749803651325512439811694704767187055348765224248283713803043799437123652686860601439377325906342028018013598109363425799930832884238282727755149141506886897808262277815959473698431870146361993291064331368528200451746560732811672319865705176893849304846219660489281644688275348138306424090155950054010157683080104795197871062062656425213497572595728677305977700922932299681989080300468107457053421468732027067518162061693016866652991171038800861361062308694033362596965249497493677879476608675572444483453352127346224798769026069660129288094489369138591845391813692899268085585600156132843809752017410367306350962100176974885443816966224066733240419961153656667838149245635872537240166332625727364349051727688548439507525124374577270808905713503140376091811930426689324275041090505284483924030081773987747033209514733742269355855850299851809670317925373804158886182363319571502130485666390149515368880110314794121588454680974204657230873481682886055840650241759089349187460964591539172630695000761057416656116428302870290998598756175595854788245628416045011903384161920266122864470454753513373652337566257087840177943153584584560841734658568854303099641813656197455343007094534004310572498260794807812159492052110991612337705829319294729366670973154963504855292597350959949413329774583958479514740762295905232778973039041242750745734013883264625268293451373646833610095951313507524995945154951394378593745956117849318397437539220374640510833116116443884077503068054509396307597556932293242172849201036719880846513642786163292749932237609489372015934089253961119183232776847 945075659544529964558741936536786198976698729719384715073496124774623069682004659007253574452856946193505711420201968937327292486987619420786006536808556905442559691250090354673391837862481203865366462453502435255522126633098524775211115377691140904486226588798361407797311305328491354681276601377616017839840501262009191519128681004886280853352245894672143358430379243252892196070700952757976546760550466766587044540676404797612409100717423790194047462490729974277886287411746508021799812100236732085487820975519199876878052566838407784885703178098036440472026526944390734070859402357726796539984425603301634281425836996150531390379269925846890652311016042829421548947258267769142265532434669469473108366889018809744616172661136656821759352711501690326877207791077659564926388995555821901679826604797505332707804981087524779620311833178156991078973136379946157860341214210475353097569081434532795600466392089074802115302528939269712445619858364675416216016625218068559656036295963216220562065694487975557391811490259001143041337345576943806697916294084396850181558044475061074704289495308859223334721267736443499129115717919638453342008727583791247803846581053935683928873741008640194992999895289568861034709462670190836210355000320505964250631641380096425336437011597999339231559286526210295343695823095769176840593506976613799071630705808060136669868842037974224241639860206958751984208110698585729518024010422075054397721520363644317435380375746089053456399147488372904816602598769015919773918927003722756023982438994118899274759827752010229127071192127636029426517562547694936671300555052535803017466119499294747564967558539712929328953445673503001584126214766697224803286816224007128114967317780042068079965684645959935716692320714341904505685307277887478919816789616742863929368343783688672815565943655163021241787377013567252848590350467657388032794544129684788858461817611747127793795993678930849574628358558530534927348546643021552728860562493121132433740577049195306717622911527138890583497368340891938319958927772851214638195283171127187517571 1529164539083273450396474960263915206530455204703855332530458350050594998219782143040341030135624092314606031071599448810996112964202296089554182342545478251167538052013566642750631362565925289379870069822949438341840909507093247912222046108450528008082710833952758210942419293499741181553341712062440839800948906302217327796926614149995919561302050100865081714949208140588856735838123069809123776964056473493002693837428313744142207686494863633102363134821286658712750462571291559606549615751562244525299515680286386932226817791086691498688746977535160093158887128383768059977201430375740394649347851403232467165664119723905680531886156823655152930126975516527853419093620261060206596900962869921219669099700691129610321349554985961667979013200783335015152555929384083655082339049565979584759931399995376394770461406301022352216040510484134692001905436061935238160809321667528774566301108502050957662159408955727793286341329800630774754313891727272381465514118895948036264711868407699673914193040712774326417881150388289237530706484168789198511609193352482435781714177318870826721699862615210185434898242621887316095339784652878873303162384251629397049482453591175850261499468372989246720688443729076386159084039940999741923858140696597776181058330704371466426942296081923369313333274273243504858429565365125032690893358786284116997004509966946319033188413540104709908030009722327632094522904820174184198998215079305927879404406419484967677139465095276514420990686661003599817363656185672036202221797294721354780158034848907144903175872763913613288991458250500499881271075921347274237557642892713746171050704060136482223536412842812571142609643128846008678660219077269723064081624036166620167078309392379773909284979375326606689847284219197197103036267227300808694400748096257604691664249016467645854607186405908755255670641638835546299963997301267483984108051654680734013413211990340873749913842997328287113848733199041368043464990527099055796915071889428729990672870291368155918659631407985404226283531633641870557568417144867148727449244290310420294418 2474240198627803414955216896800701405507153934423240047603954474825218067901786802047594604588481038508111742491801417748323405451189915510340188879354035156610097743263656997424023200428406493245236532276451873597363036140191772687433161486141668912568937422751119618739730598828232536234618313440056857640789407564226519316055295154882200414654295995537225073379587383841748931908824022567100323724606940259589738378104718541754616787212287423296410597312016632990636749983038067628349427851798976610787336655805586809104870357925099283574450155633196533630913655328158794048060832733467191189332277006534101447089956720056211922265426749502043582437991559357274968040878528829348862433397539390692777466589709939354937522216122618489738365912285025342029763720461743220008728045121801486439758004792881727478266387388547131836352343662291683080878572441881396021150535878004127663870189936583753262625801044802595401643858739900487199933750091947797681530744114016595920748164370915894476258735200749883809692640647290380572043829745733005209525487436879285963272221793931901425989357924069408769619510358330815224455502572517326645171111835420644853329034645111534190373209381629441713688339018645247193793502611190578134213141017103740431689972084467891763379307679922708544892560799453800202125388460894209531486865762897916068635215775006455703057255578078934149669869929286384078731015518759913717022225501380982277125926783129285112519840841365567877389834149376504633966254954687955976140724298444110804140473843026044177935700515923842416062650378136529307788638469042210908858197945249549188516823559431229788503971382525500471563088802349010262786433843966947867368440260173748282045627172421841989250664021286542406539604933539101608721574505188287614217537713000468621032592800156318670173130061071776497458018652402799148554347768924872016902595784365522871875029602088001543709836676259136688477091757571902970813537170120608525775634382549862424413447340563462636282542935124294809780899974533808877527344917718363365644527461437607811989 4003404737711076865351691857064616612037609139127095380134412824875813066121568945087935634724105130822717773563400866559319518415392211599894371221899513407777635795277223640174654562994331782625106602099401311939203945647285020599655207594592196920651648256703877829682149892327973717787960025502497697441738313866443847112981909304878119975956346096402306788328795524430605667746947092376224100688663413752592432215533032285896824473707151056398773732133303291703387212554329627234899043603361221136086852336091973741331688149011790782263197133168356626789800783711926854025262263109207585838680128409766568612754076443961892454151583573157196512564967075885128387134498789889555459334360409311912446566290401068965258871771108580157717379113068360357182319649845826875091067094687781071199689404788258122248727793689569484052392854146426375082784008503816634181959857545532902230171298438634710924785210000530388687985188540531261954247641819220179147044863009964632185460032778615568390451775913524210227573791035579618102750313914522203721134680789361721744986399112802728147689220539279594204517752980218131319795287225396199948333496087050041902811488236287384451872677754618688434376782747721633352877542552190320058071281713701516612748302788839358190321603761846077858225835072697305060554953826019242222380224549182033065639725741952774736245669118183644057699879651614016173253920338934097916020440580686910156530333202614252789659305936642082298380520810380104451329911140359992178362521593165465584298508691933189081111573279837455705054108628637029189059714390389485146415840837963295359567527619567712012040384225338071614172731931195018941446652921236670931450064296340368449123936564801615898535643396613149096386889152736298711757841732489096308618285809258073312696841816623964524780316466980531753128660291238345448518345070192356001010647439046256885288241592428875293623679673587423802325824956613271014278527697219664322690706271978592415086317631931618554942174343109699036064431608175679435095762062585512093093771751748028106407 6477644936338880280306908753865318017544763073550335427738367299701031134023355747135530239312586169330829516055202284307642923866582127110234560101253548564387733538540880637598677763422738275870343134375853185536566981787476793287088369080733865833220585679454997448421880491156206254022578338942554555082527721430670366429037204459760320390610642091939531861708382908272354599655771114943324424413270354012182170593637750827651441260919438479695184329445319924694023962537367694863248471455160197746874188991897560550436558506936890065837647288801553160420714439040085648073323095842674777028012405416300670059844033164018104376417010322659240095002958635242403355175377318718904321767757948702605224032880111008320196393987231198647455745025353385699212083370307570095099795139809582557639447409581139849726994181078116615888745197808718058163662580945698030203110393423537029894041488375218464187411011045332984089629047280431749154181391911167976828575607123981228106208197149531462866710511114274094037266431682869998674794143660255208930660168226241007708258620906734629573678578463349002974137263338548946544250789797913526593504607922470686756140522881398918642245887136248130148065121766366880546671045163380898192284422730805257044438274873307249953700911441768786403118395872151105262680342286913451753867090312079949134274941516959230439302924696262578207369749580900400251984935857694011633042666082067892433656259985743537902179146778007650175770354959756609085296166095047948154503245891609576388438982534959233259047273795761298121116759006773558496848352859431696055274038783212844548084351178998941800544355607863572085735820733544029204233086765203618798818504556514116731169563737223457887786307417899691502926494086275400320479416237677383922835823522258541933729434616780283194953446528052308250586678943641144597072692839117228017913243223411779757163271194516876837333516349846560490802916714185173985092064867340272848466340654528454839499764972495081191224717278233993845845331582709488312623106980303875458738299213185635918396 10481049674049957145658600610929934629582372212677430807872780124576844200144924692223465874036691300153547289618603150866962442281974338710128931323153061972165369333818104277773332326417070058495449736475254497475770927434761813886743576675326062753872233936158875278104030383484179971810538364445052252524266035297114213542019113764638440366566988188341838650037178432702960267402718207319548525101933767764774602809170783113548265734626589536093958061578623216397411175091697322098147515058521418882961041327989534291768246655948680848100844421969909787210515222752012502098585358951882362866692533826067238672598109607979996830568593895816436607567925711127531742309876108608459781102118358014517670599170512077285455265758339778805173124138421746056394403020153396970190862234497363628839136814369397971975721974767686099941138051955144433246446589449514664385070250969069932124212786813853175112196221045863372777614235820963011108429033730388155975620470133945860291668229928147031257162287027798304264840222718449616777544457574777412651794849015602729453245020019537357721367799002628597178655016318767077864046077023309726541838104009520728658952011117686303094118564890866818582441904514088513899548587715571218250355704444506773657186577662146608144022515203614864261344230944848410323235296112932693976247314861261982199914667258912005175548593814446222265069629232514416425238856196628109549063106662754802590186593188357790691838452714649732474150875770136713536626077235407940332865767484775041972737491226892422340158847075598753826170867635410587685908067249821181201689879621176139907651878798566653812584739833201643699908552664739048145679739686440289730268568852854485180293500302025073786321950814512840599313383239011699032237257970166480231454109331516615246426276433404247719733762995032840003715339234879490045591037909309584018923890662458036642451512786945752130957196023433984293128741670798444999370592564559937171157046926507047254586082604426699746166891621343692881909763190885167747718869042889387551832070964933664024803 16958694610388837425965509364795252647127135286227766235611147424277875334168280439358996113349277469484376805673805435174605366148556465820363491424406610536553102872358984915372010089839808334365792870851107683012337909222238607173831945756059928587092819615613872726525910874640386225833116703387606807606793756727784579971056318224398760757177630280281370511745561340975314867058489322262872949515204121776956773402808533941199706995546028015789142391023943141091435137629065016961395986513681616629835230319887094842204805162885570913938491710771462947631229661792098150171908454794557139894704939242367908732442142771998101206985604218475676702570884346369935097485253427327364102869876306717122894632050623085605651659745570977452628869163775131755606486390460967065290657374306946186478584223950537821702716155845802715829883249763862491410109170395212694588180644392606962018254275189071639299607232091196356867243283101394760262610425641556132804196077257927088397876427077678494123872798142072398302106654401319615452338601235032621582455017241843737161503640926271987295046377465977600152792279657316024408296866821223253135342711931991415415092533999085221736364452027114948730507026280455394446219632878952116442640127175312030701624852535453858097723426645383650664462626816999515585915638399846145730114405173341931334189608775871235614851518510708800472439378813414816677223792054322121182105772744822695023842853174101328594017599492657382649921230729893322621922243330455888487369013376384618361176473761851655599206120871360051947287626642184146182756420109252877256963918404388984455736229977565595613129095441065215785644373398283077349912826451643908529087073409368601911463064039248531674108258232412532102239877325287099352716674207843864154289932853775157180155711050184530914687209523085148254302018178520634642663730748426812036837133885869816399614783981462628968290712373280544783931658384983618984462657431900210019623387581035502094085847576921780937391608899577686727755094773594656060341976023193263010570370178119299943199 27439744284438794571624109975725187276709507498905197043483927548854719534313205131582461987385968769637924095292408586041567808430530804530492422747559672508718472206177089193145342416256878392861242607326362180488108836657000421060575522431385991340965053551772748004629941258124566197643655067832659060131059792024898793513075431989037201123744618468623209161782739773678275134461207529582421474617137889541731376211979317054747972730172617551883100452602566357488846312720762339059543501572203035512796271647876629133973051818834251762039336132741372734841744884544110652270493813746439502761397473068435147405040252379978098037554198114292113310138810057497466839795129535935823883971994664731640565231221135162891106925503910756257801993302196877812000889410614364035481519608804309815317721038319935793678438130613488815771021301719006924656555759844727358973250895361676894142467062002924814411803453137059729644857518922357771371039459371944288779816547391872948689544657005825525381035085169870702566946877119769232229883058809810034234249866257446466614748660945809345016414176468606197331447295976083102272342943844532979677180815941512144074044545116771524830483016917981767312948930794543908345768220594523334692995831619818804358811430197600466241745941848998514925806857761847925909150934512778839706361720034603913534104276034783240790400112325155022737509008045929233102462648250950230731168879407577497614029446362459119285856052207307115124072106500030036158548320565863828820234780861159660333913964988744077939364967946958805773458494277594733868664487359074058458653798025565124363388108776132249425713835274266859485552926063022125495592566138084198259355642262223087091756564341273605460430209046925372701553260564298798384953932178010344385744042185291772426581987483588778634420972518117988258017357413400124688254768657736396055761024548327853042066296768408381099247908396714529077060400055782063983833249996460147190780434507542549348671930181348480683558500520921379609664857964479823808060845066082650562402441143052963968002 44398438894827631997589619340520439923836642785132963279095074973132594868481485570941458100735246239122300900966214021216173174579087270350855914171966283045271575078536074108517352506096686727227035478177469863500446745879239028234407468187445919928057873167386620731155852132764952423476771771220265867737853548752683373484131750213435961880922248748904579673528301114653590001519696851845294424132342011318688149614787850995947679725718645567672242843626509498580281450349827356020939488085884652142631501967763723976177856981719822675977827843512835682472974546336208802442402268540996642656102412310803056137482395151976199244539802332767790012709694403867401937280382963263187986841870971448763459863271758248496758585249481733710430862465972009567607375801075331100772176983111256001796305262270473615381154286459291531600904551482869416066664930239940053561431539754283856160721337191996453711410685228256086512100802023752531633649885013500421584012624649800037087421084083504019504907883311943100869053531521088847682221660044842655816704883499290203776252301872081332311460553934583797484239575633399126680639810665756232812523527873503559489137079115856746566847468945096716043455957074999302791987853473475451135635958795130835060436282733054324339469368494382165590269484578847441495066572912624985436476125207945844868293884810654476405251630835863823209948386859344049779686440305272351913274652152400192637872299536560447879873651699964497773993337229923358780470563896319717307603794237544278695090438750595733538571088818318857720746120919778880051420907468326935715617716429954108819124338753697845038842930715332075271197299461305202845505392589728106788442715671591689003219628380522137134538467279337904803793137889585897737670606385854208540033975039066929606737698533773309549108182041203136512319375591920759330918499406163208092598158434197669441681080749871010067538620769995073860992058440765682968295907428360357210403822088578051442757777758270261620950109420499066337419952738074479868402821089275913572972811321172263911201 71838183179266426569213729316245627200546150284038160322579002521987314402794690702523920088121215008760224996258622607257740983009618074881348336919525955553990047284713163301662694922353565120088278085503832043988555582536239449294982990618831911269022926719159368735785793390889518621120426839052924927868913340777582166997207182202473163004666867217527788835311040888331865135980904381427715898749479900860419525826767168050695652455891263119555343296229075856069127763070589695080482989658087687655427773615640353110150908800554074438017163976254208417314719430880319454712896082287436145417499885379238203542522647531954297282094000447059903322848504461364868777075512499199011870813865636180404025094492893411387865510753392489968232855768168887379608265211689695136253696591915565817114026300590409409059592417072780347371925853201876340723220690084667412534682435115960750303188399194921268123214138365315816156958320946110303004689344385444710363829172041672985776965741089329544885942968481813803436000408640858079912104718854652690050954749756736670391000962817890677327874730403189994815686871609482228952982754510289212489704343815015703563181624232628271397330485863078483356404887869543211137756074067998785828631790414949639419247712930654790581215310343380680516076342340695367404217507425403825142837845242549758402398160845437717195651743161018845947457394905273282882149088556222582644443531559977690251901745899019567165729703907271612898065443729953394939018884462183546127838575098703939029004403739339811477936056765277663494204615197373613920085394827400994174271514455519233182512447529830094464556765989598934756750225524327328341097958727812305047798357933814776094976192721795742594968676326263277505346398453884696122624538563864552925778017224358702033319686017362088183529154559321124770336733005320884019173268063899604148359182982525522483747377518279391166786529166709602938052458496547746952129157424820504401184256596120600791429707939618742304508609941420445947084810702554303676463666155358564135375252464225227879203 116236622074094058566803348656766067124382793069171123601674077495119909271276176273465378188856461247882525897224836628473914157588705345232204251091492238599261622363249237410180047428450251847315313563681301907489002328415478477529390458806277831197080799886545989466941645523654471044597198610273190795606766889530265540481338932415909124885589115966432368508839342002985455137500601233273010322881821912179107675441555019046643332181609908687227586139855585354649409213420417051101422477743972339798059275583404077086328765782273897113994991819767044099787693977216528257155298350828432788073602297690041259680005042683930496526633802779827693335558198865232270714355895462462199857655736607629167484957764651659884624096002874223678663718234140896947215641012765026237025873575026821818910331562860883024440746703532071878972830404684745756789885620324607466096113974870244606463909736386917721834624823593571902669059122969862834638339229398945131947841796691473022864386825172833564390850851793756904305053940161946927594326378899495345867659633256026874167253264689972009639335284337773792299926447242881355633622565176045445302227871688519263052318703348485017964177954808175199399860844944542513929743927541474236964267749210080474479683995663709114920684678837762846106345826919542808899284080338028810579313970450495603270692045656092193600903373996882669157405781764617332661835528861494934557718183712377882889774045435580015045603355607236110672058780959876753719489448358503263435442369336248217724094842489935545016507145583596521214950736117152493971506302295727929889889230885473342001636786283527939503399696704931010027947524985632531186603351317540411836241073605406465098195821102317879729507143605601182309139536343470593860295144949718761465811992263425631640057384551135397732637336600524261282656108597241643350091767470062812240957341416723191925428458268150401234325149936704676799044516937313429920425064853180861611588078684698652234187485697889003925458719361919512284504763440628783544866487244634477708348063785397491790404 188074805253360485136017077973011694324928943353209283924253080017107223674070866975989298276977676256642750893483459235731655140598323420113552588011018194153251669647962400711842742350803816967403591649185133951477557910951717926824373449425109742466103726605705358202727438914543989665717625449326115723475680230307847707478546114618382287890255983183960157344150382891317320273481505614700726221631301813039527201268322187097338984637501171806782929436084661210718536976491006746181905467402060027453487049199044430196479674582827971552012155796021252517102413408096847711868194433115868933491102183069279463222527690215884793808727803226887596658406703326597139491431407961661211728469602243809571510052257545071272489606756266713646896574002309784326823906224454721373279570166942387636024357863451292433500339120604852226344756257886622097513106310409274878630796409986205356767098135581838989957838961958887718826017443915973137643028573784389842311670968733146008641352566262163109276793820275570707741054348802805007506431097754148035918614383012763544558254227507862686967210014740963787115613318852363584586605319686334657791932215503534966615500327581113289361508440671253682756265732814085725067500001609473022792899539625030113898931708594363905501899989181143526622422169260238176303501587763432635722151815693045361673090206501529910796555117157901515104863176669890615543984617417717517202161715272355573141675791334599582211333059514507723570124224689830148658508332820686809563280944434952156753099246229275356494443202348874184709155351314526107891591697123128924064160745340992575184149233813358033967956462694529944784697750509959859527701310045352716884039431539221241193172013824113622324475819931864459814485934797355289982919683513583314391590009487784333673377070568497485916166491159845386052992841602562527369265035533962416389316524399248714409175835786429792401111679103414279737096975433861176872554222278001366012772335280819253025617193637507746229967329303339958231589574143183087221330153399993041843723316249622719669607 304311427327454543702820426629777761449311736422380407525927157512227132945347043249454676465834137504525276790708295864205569298187028765345756839102510432752513292011211638122022789779254068814718905212866435858966560239367196404353763908231387573663184526492251347669669084438198460710314824059599306519082447119838113247959885047034291412775845099150392525852989724894302775410982106847973736544513123725218634876709877206143982316819111080494010515575940246565367946189911423797283327945146032367251546324782448507282808440365101868666007147615788296616890107385313375969023492783944301721564704480759320722902532732899815290335361606006715289993964902191829410205787303424123411586125338851438738995010022196731157113702759140937325560292236450681274039547237219747610305443741969209454934689426312175457941085824136924105317586662571367854302991930733882344726910384856449963231007871968756711792463785552459621495076566885835972281367803183334974259512765424619031505739391434996673667644672069327612046108288964751935100757476653643381786274016268790418725507492197834696606545299078737579415539766095244940220227884862380103094160087192054229667819030929598307325686395479428882156126577758628238997243929150947259757167288835110588378615704258073020422584668018906372728767996179780985202785668101461446301465786143540964943782252157622104397458491154784184262268958434507948205820146279212451759879898984733456031449836770179597256936415121743834242183005649706902377997781179190072998723313771200374477194088719210901510950347932470705924106087431678601863097999418856853954049976226465917185786020096885973471356159399460954812645275495592390714304661362893128720280505144627706291367834926431502053982963537465642123625471140825883843214828463302075857402001751209965313434455119632883648803827760369647335648950199804170719356803004025228630273865815971906334604294054580193635436829040118956536141492371174606792979287131182227624360413965517905259804679335396750155426048665259470516094337583811870766196640644627519552071380035020211460011 492386232580815028838837504602789455774240679775589691450180237529334356619417910225443974742811813761168027684191755099937224438785352185459309427113528626905764961659174038833865532130057885782122496862051569810444118150318914331178137357656497316129288253097956705872396523352742450376032449508925422242558127350145960955438431161652673700666101082334352683197140107785620095684463612462674462766144425538258162077978199393241321301456612252300793445012024907776086483166402430543465233412548092394705033373981492937479288114947929840218019303411809549133992520793410223680891687217060170655055806663828600186125060423115700084144089409233602886652371605518426549697218711385784623314594941095248310505062279741802429603309515407650972456866238760465600863453461674468983585013908911597090959047289763467891441424944741776331662342920457989951816098241143157223357706794842655319998106007550595701750302747511347340321094010801809109924396376967724816571183734157765040147091957697159782944438492344898319787162637767556942607188574407791417704888399281553963283761719705697383573755313819701366531153084947608524806833204548714760886092302695589196283319358510711596687194836150682564912392310572713964064743930760420282550066828460140702277547412852436925924484657200049899351190165440019161506287255864894082023617601836586326616872458659152015194013608312685699367132135104398563749804763696929968962041614257089029173125628104779179468269474636251557812307230339537051036506113999876882562004258206152531230293334948486258005393550281344890633261438746204709754689696541985778018210721567458492369935253910244007439312622093990899597343026005552250242005971408245845604319936683848947484539848750545124378458783469330101938111405938181173826134511976885390248992011238994298986811525688130369564970318920215033388641791802366698088621838537987645019590390215220620743780129841009986036548508143533236273238467805035783665533509409183593637132749246337158285421872972904496385393377968599428747683911726994957987526794044620561395794696284642931129618 796697659908269572541657931232567217223552416197970098976107395041561489564764953474898651208645951265693304474900050964142793736972380950805066266216039059658278253670385676955888321909311954596841402074918005669410678389686110735531901265887884889792472779590208053542065607790940911086347273568524728761640574469984074203398316208686965113441946181484745209050129832679922871095445719310648199310657549263476796954688076599385303618275723332794803960587965154341454429356313854340748561357694124761956579698763941444762096555313031708884026451027597845750882628178723599649915180001004472376620511144587920909027593156015515374479451015240318176646336507710255959903006014809908034900720279946687049500072301938533586717012274548588298017158475211146874903000698894216593890457650880806545893736716075643349382510768878700436979929583029357806119090171877039568084617179699105283229113879519352413542766533063806961816170577687645082205764180151059790830696499582384071652831349132156456612083164414225931833270926732308877707946051061434799491162415550344382009269211903532080180300612898438945946692851042853465027061089411094863980252389887643425951138389440309904012881231630111447068518888331342203061987859911367542307234117295251290656163117110509946347069325218956272079958161619800146709072923966355528325083387980127291560654710816774119591472099467469883629401093538906511955624909976142420721921513241822485204575464874958776725205889757995392054490235989243953414503895179066955560727571977352905707487423667697159516343898213815596557367526177883311617787695960842631972260697793924409555721274007129980910668781493451854409988301501144640956310632771138974324600441828476653775907683676976626432441747006795744061736877079007057669349340440187466106394012990204264300245980807763253213774146680584680724290742002170868807978641542012873649864256031192527078384423895590179671985337183652192809379960176210390458512796540365821261493163211855063545226552308301246540819426633858899263778249310806828753723434689248080947866076319663142589629 1289083892489084601380495435835356672997793095973559790426287632570895846184182863700342625951457765026861332159091806064080018175757733136264375693329567686564043215329559715789753854039369840378963898936969575479854796540005025066710038623544382205921761032688164759414462131143683361462379723077450151004198701820130035158836747370339638814108047263819097892247269940465542966779909331773322662076801974801734959032666275992626624919732335585095597405599990062117540912522716284884213794770242217156661613072745434382241384670260961549102045754439407394884875148972133823330806867218064643031676317808416521095152653579131215458623540424473921063298708113228682509600224726195692658215315221041935360005134581680336016320321789956239270474024713971612475766454160568685577475471559792403636852784005839111240823935713620476768642272503487347757935188413020196791442323974541760603227219887069948115293069280575154302137264588489454192130160557118784607401880233740149111799923306829316239556521656759124251620433564499865820315134625469226217196050814831898345293030931609229463754055926718140312477845935990461989833894293959809624866344692583232622234457747951021500700076067780794011980911198904056167126731790671787824857300945755391992933710529962946872271553982419006171431148327059819308215360179831249610348700989816713618177527169475926134785485707780155582996533228643305075705429673673072389683963127498911514377701092979737956193475364394246949866797466328781004451010009178943838122731830183505436937780758616183417521737448495160487190628964924088021372477392502828409990471419361382901925656527917373988349981403587442754007331327506696891198316604179384819928920378512325601260447532427521750810900530476125845999848283017188231495483852417072856355386024229198563287057506495893622778744465600799714112932533804537566896600480080000518669454646246413147822164553736600165708533845327185429082618427981246174124046305949549414898625912458192221830648425281205742926212804602458328011462161037801786741250228733868642343660772604306073719247 2085781552397354173922153367067923890221345512171529889402395027612457335748947817175241277160103716292554636633991857028222811912730114087069441959545606746222321468999945392745642175948681794975805301011887581149265474929691135802241939889432267095714233812278372812956527738934624272548726996645974879765839276290114109362235063579026603927549993445303843101297399773145465837875355051083970861387459524065211755987354352592011928538008058917890401366187955216458995341879030139224962356127936341918618192771509375827003481225573993257986072205467005240635757777150857422980722047219069115408296828953004442004180246735146730833102991439714239239945044620938938469503230741005600693116035500988622409505206883618869603037334064504827568491183189182759350669454859462902171365929210673210182746520721914754590206446482499177205622202086516705564054278584897236359526941154240865886456333766589300528835835813638961263953435166177099274335924737269844398232576733322533183452754655961472696168604821173350183453704491232174698023080676530661016687213230382242727302300143512761543934356539616579258424538787033315454860955383370904488846597082470876048185596137391331404712957299410905459049430087235398370188719650583155367164535063050643283589873647073456818618623307637962443511106488679619454924433103797605138673784377796840909738181880292700254376957807247625466625934322182211587661054583649214810405884640740733999582276557854696732918681254152242341921287702318024957865513904358010793683459402160858342645268182283880577038081346708976083747996491101971332990265088463671041962732117155307311481377801924503969260650185080894608417319629007841532154627236950523794253520820340802255036355216104498377243342277482921590061585160096195289164833192857260322461780037219402827587303487303656875992518612281384394837223275806708435704579121622013392319318902277605674900548977632190345380519182510837621891998388157456564582559102489915236160119075670047285375874977589506989467032231236317227275240410348608615494973663423116723291526848923969216308876 3374865444886438775302648802903280563219138608145089679828682660183353181933130680875583903111561481319415968793083663092302830088487847223333817652875174432786364684329505108535396029988051635354769199948857156629120271469696160868951978512976649301635994844966537572370989870078307634011106719723425030770037978110244144521071810949366242741658040709122940993544669713611008804655264382857293523464261498866946715020020628584638553457740394502985998771787945278576536254401746424109176150898178559075279805844254810209244865895834954807088117959906412635520632926122991246311528914437133758439973146761420963099332900314277946291726531864188160303243752734167620979103455467201293351331350722030557769510341465299205619357655854461066838965207903154371826435909020031587748841400770465613819599304727753865831030382196119653974264474590004053321989466997917433150969265128782626489683553653659248644128905094214115566090699754666553466466085294388629005634456967062682295252677962790788935725126477932474435074138055732040518338215301999887233883264045214141072595331075121991007688412466334719570902384723023777444694849677330714113712941775054108670420053885342352905413033367191699471030341286139454537315451441254943192021836008806035276523584177036403690890177290056968614942254815739438763139793283628854749022485367613554527915709049768626389162443515027781049622467550825516663366484257322287200089847768239645513959977650834434689112156618546489291788085168646805962316523913536954631806191232344363779583048940900063994559818795204136570938625456026059354362742480966499451953203536516690213407034329841877957610631588668337362424650956514538423352943841129908614182441198853127856296802748532020128054242807959047436061433443113383520660317045274333178817166061448601390874360993799550498771263077882184108950155809611246002601179601702013910988773548524018822722713531368790511089053027838023050974616816138702738706605408439464651058744988128239507206523402870712732393245035838775555286702571386410402236223892156985365635187621528275290028123 5460646997283792949224802169971204453440484120316619569231077687795810517682078498050825180271665197611970605427075520120525642001217961310403259612420781179008686153329450501281038205936733430330574500960744737778385746399387296671193918402408916397350228657244910385327517609012931906559833716369399910535877254400358253883306874528392846669208034154426784094842069486756474642530619433941264384851721022932158471007374981176650481995748453420876400137975900495035531596280776563334138507026114900993897998615764186036248347121408948065074190165373417876156390703273848669292250961656202873848269975714425405103513147049424677124829523303902399543188797355106559448606686208206894044447386223019180179015548348918075222394989918965894407456391092337131177105363879494489920207329981138824002345825449668620421236828678618831179886676676520758886043745582814669510496206283023492376139887420248549172964740907853076830044134920843652740802010031658473403867033700385215478705432618752261631893731299105824618527842546964215216361295978530548250570477275596383799897631218634752551622769005951298829326923510057092899555805060701618602559538857524984718605650022733684310125990666602604930079771373374852907504171091838098559186371071856678560113457824109860509508800597694931058453361304419058218064226387426459887696269745410395437653890930061326643539401322275406516248401873007728251027538840971502010495732408980379513542254208689131422030837872698731633709372870964830920182037817894965425489650634505222122228317123183944571597900141913112654686621947128030687353007569430170493915935653671997524888412131766381926871281773749231970841970585522379955507571078080432408435962019193930111333157964636518505297585085441969026123018603209578809825150238131593501278946098668004218461664481103207374763781690163568503787379085417954438305758723324027303308092450801624497623262509000980856469572210348860672866615204296159303289164510929379887218864063798286792582398380460219721860277267075092782561942981735019017731197555580102088926714470452244506336999 8835512442170231724527450972874485016659622728461709249059760347979163699615209178926409083383226678931386574220159183212828472089705808533737077265295955611795050837658955609816434235924785065685343700909601894407506017869083457540145896915385565698986223502211447957698507479091239540570940436092824941305915232510602398404378685477759089410866074863549725088386739200367483447185883816798557908315982521799105186027395609761289035453488847923862398909763845773612067850682522987443314657924293460069177804460018996245493213017243902872162308125279830511677023629396839915603779876093336632288243122475846368202846047363702623416556055168090559846432550089274180427710141675408187395778736945049737948525889814217280841752645773426961246421598995491503003541272899526077669048730751604437821945130177422486252267210874738485154151151266524812208033212580732102661465471411806118865823441073907797817093646002067192396134834675510206207268095326047102409501490667447897773958110581543050567618857777038299053601980602696255734699511280530435484453741320810524872492962293756743559311181472286018400229308233080870344250654738032332716272480632579093389025703908076037215539024033794304401110112659514307444819622533093041751208207080662713836637042001146264200398977887751899673395616120158496981204019671055314636718755113023949965569599979829953032701844837303187565870869423833244914394023098293789210585580177220025027502231859523566111142994491245220925497458039611636882498561731431920057295841866849585901811366064084008566157718937117249225625247403154090041715750050396669945869139190188687738295446461608259884481913362417569333266621542036918378860514919210341022618403218047057967629960713168538633351827893401016462184452046322962330485467283405926680096112160116605609336025474902757873535044768045752612737534895029200440906938325026041214296865999325643320345976040369771367558625238186883723841232020434862041995769919368844538277609051926526299788921783330932454253522302913868337848645553121429419967421447737087454561902091980519796365122 14296159439454024673752253142845689470100106848778328818290838035774974217297287676977234263654891876543357179647234703333354114090923769844140336877716736790803736990988406111097472441861518496015918201870346632185891764268470754211339815317794482096336452159456358343026025088104171447130774152462224851841792486910960652287685560006151936080074109017976509183228808687123958089716503250739822293167703544731263657034770590937939517449237301344738799047739746268647599446963299550777453164950408361063075803075783182281741560138652850937236498290653248387833414332670688584896030837749539506136513098190271773306359194413127300541385578471992959389621347444380739876316827883615081440226123168068918127541438163135356064147635692392855653877990087828634180646636779020567589256060732743261824290955627091106673504039553357316334037827943045571094076958163546772171961677694829611241963328494156346990058386909920269226178969596353858948070105357705575813368524367833113252663543200295312199512589076144123672129823149660470951060807259060983735024218596406908672390593512391496110933950478237317229556231743137963243806459798733951318832019490104078107631353930809721525665014700396909331189884032889160352323793624931140310394578152519392396750499825256124709907778485446830731848977424577555199268246058481774524415024858434345403223490909891279676241246159578594082119271296840973165421561939265291221081312586200404541044486068212697533173832363943952559206830910576467802680599549326885482785492501354808024039683187267953137755619079030361880311869350282120729068757619826840439785074843860685263183858593374641811353195136166801304108592127559298334368085997290773431054365237240988078963118677805057138649412978842985488307470649532541140310617521537520181375058258784609827797689956005965248298826458209321116524913980447154879212697048350068517604958450127267817969238549370752224028197448535744396707847224731021345284934430298224425496473115724813092371320163791152176113799569988961120410588534856448437698619003317189543488616562432764302702121 23131671881624256398279704115720174486759729577240038067350598383754137916912496855903643347038118555474743753867393886546182586180629578377877414143012692402598787828647361720913906677786303561701261902779948526593397782137554211751485712233180047795322675661667806300724532567195410987701714588555049793147707719421563050692064245483911025490940183881526234271615547887491441536902387067538380201483686066530368843062166200699228552902726149268601197957503592042259667297645822538220767822874701821132253607535802178527234773155896753809398806415933078899510437962067528500499810713842876138424756220666118141509205241776829923957941633640083519236053897533654920304026969559023268836004860113118656076067327977352636905900281465819816900299589083320137184187909678546645258304791484347699646236085804513592925771250428095801488188979209570383302110170744278874833427149106635730107786769568064144807152032911987461622313804271864065155338200683752678222870015035281011026621653781838362767131446853182422725731803752356726685760318539591419219477959917217433544883555806148239670245131950523335629785539976218833588057114536766284035104500122683171496657057838885758741204038734191213732299996692403467797143416158024182061602785233182106233387541826402388910306756373198730405244593544736052180472265729537089161133779971458295368793090889721232708943090996881781647990140720674218079815585037559080431666892763420429568546717927736263644316826855189173484704288950188104685179161280758805540081334368204393925851049251351961703913338016147611105937116753436210770784507670223510385654214034049373001479305054982901695835108498584370637375213669596216713228600916501114453672768455288046046593079390973595772001240872244001950491922695855503470796084804943446861471170418901215437133715430908723121833871226255073729262448875476355320119635373376109731901824449452911138315214589740523591586822686722628120549079245165883387280704349667068963774082167651339392160241947122084630367321872902829458259234087977877857666040451054276998050518654413284099067243 37427831321078281072031957258565863956859836426018366885641436419529112134209784532880877610693010432018100933514628589879536700271553348222017751020729429193402524819635767832011379119647822057717180104650295158779289546406024965962825527550974529891659127821124164643750557655299582434832488741017274644989500206332523702979749805490062961571014292899502743454844356574615399626618890318278202494651389611261632500096936791637168070351963450613339997005243338310907266744609122088998220987825110182195329410611585360808976333294549604746635304706586327287343852294738217085395841551592415644561269318856389914815564436189957224499327212112076478625675244978035660180343797442638350276230983281187574203608766140487992970047917158212672554177579171148771364834546457567212847560852217090961470527041431604699599275289981453117822226807152615954396187128907825647005388826801465341349750098062220491797210419821907730848492773868217924103408306041458254036238539403114124279285196982133674966644035929326546397861626902017197636821125798652402954502178513624342217274149318539735781179082428760652859341771719356796831863574335500235353936519612787249604288411769695480266869053434588123063489880725292628149467209782955322371997363385701498630138041651658513620214534858645561137093570969313607379740511788018863685548804829892640772016581799612512385184337156460375730109412017515191245237146976824371652748205349620834109591203995948961177490659219133126043911119860764572487859760830085691022866826869559201949890732438619914841668957095177972986248986103718331499853265290050350825439288877910058264663163648357543507188303634751171941483805797155515047596686913791887884727133692529034125556198068778652910650653851086987438799393345388044611106702326480967042846228677685825264931405386914688370132697684464394845787362855923510199332332421726178249506782899580178956284453139111275815615020135258372517256926469896904732565638779965293389270555283376152484531562110913236806481121442891790578669822622834326295364659454371466541539135216846048401769364 60559503202702537470311661374286038443619566003258404952992034803283250051122281388784520957731128987492844687382022476425719286452182926599895165163742121596001312648283129552925285797434125619418442007430243685372687328543579177714311239784154577686981803482791970944475090222494993422534203329572324438137207925754086753671814050973973987061954476781028977726459904462106841163521277385816582696135075677792001343159102992336396623254689599881941194962746930353166934042254944627218988810699812003327583018147387539336211106450446358556034111122519406186854290256805745585895652265435291782986025539522508056324769677966787148457268845752159997861729142511690580484370767001661619112235843394306230279676094117840629875948198624032489454477168254468908549022456136113858105865643701438661116763127236118292525046540409548919310415786362186337698297299652104521838815975908101071457536867630284636604362452733895192470806578140081989258746506725210932259108554438395135305906850763972037733775482782508969123593430654373924322581444338243822173980138430841775762157705124687975451424214379283988489127311695575630419920688872266519389041019735470421100945469608581239008073092168779336795789877417696095946610625940979504433600148618883604863525583478060902530521291231844291542338164514049659560212777517555952846682584801350936140809672689333745094127428153342157378099552738189409325052732014383452084415098113041263678137921923685224821807486074322299528615408810952677173038922110844496562948161237763595875741781689971876545582295111325584092186102857154542270637772960273861211093502911959431266142468703340445203023412133335542578859019466751731760825287830293002338399902147817080172149277459752248682651894723330989389291316041243548081902787131424413904317399096587040702065120817823411491966568910719468575049811731399865519451967795102287981408607349033090094599667728851799407201842821981000637806005715062788119846343129632362353044637451027491876691804058035321436848443315794620036929056710812204153030699905425743539589653871259332500836607 97987334523780818542343618632851902400479402429276771838633471222812362185332065921665398568424139419510945620896651066305255986723736274821912916184471550789403837467918897384936664917081947677135622112080538844151976874949604143677136767335129107578640931303916135588225647877794575857366692070589599083126708132086610456651563856464036948632968769680531721181304261036722240790140167704094785190786465289053633843256039783973564693606653050495281191967990268664074200786864066716217209798524922185522912428758972900145187439744995963302669415829105733474198142551543962671291493817027707427547294858378897971140334114156744372956596057864236476487404387489726240664714564444299969388466826675493804483284860258328622845996115782245162008654747425617679913857002593681070953426495918529622587290168667722992124321830391002037132642593514802292094484428559930168844204802709566412807286965692505128401572872555802923319299352008299913362154812766669186295347093841509259585192047746105712700419518711835515521455057556391121959402570136896225128482316944466117979431854443227711232603296808044641348469083414932427251784263207766754742977539348257670705233881378276719274942145603367459859279758142988724096077835723934826805597512004585103493663625129719416150735826090489852679431735483363266939953289305574816532231389631243576912826254488946257479311765309802533108208964755704600570289878991207823737163303462662097787729125919634185999298145293455425572526528671717249660898682940930187585814988107322797825632514128591791387251252206503557078435088960872873770491038250324212036532791789869489530805632351697988710211715768086714520342825263907246808421974744084890223127035840346114297705475528530901593302548574417976828090709386631592693009489457905380947163627774272865966996526204738099862099266595183863420837174587323375718784300216828466230915390248613269050884120867963075222816862957239373155062932184959692852411981909597655742315192734403644361223366168948558243329564758686410615598879333646530448395359359797210081128789088105380902605971 158546837726483356012655280007137940844098968432535176791625506026095612236454347310449919526155268407003790308278673542730975273175919201421808081348213672385405150116202026937861950714516073296554064119510782529524664203493183321391448007119283685265622734786708106532700738100289569279900895400161923521263916057840697210323377907438010935694923246461560698907764165498829081953661445089911367886921540966845635186415142776309961316861342650377222386930737199017241134829119011343436198609224734188850495446906360439481398546195442321858703526951625139661052432808349708257187146082462999210533320397901406027465103792123531521413864903616396474349133530001416821149085331445961588500702670069800034762960954376169252721944314406277651463131915680086588462879458729794929059292139619968283704053295903841284649368370800550956443058379876988629792781728212034690683020778617667484264823833322789765005935325289698115790105930148381902620901319491880118554455648279904394891098898510077750434195001494344484645048488210765046281984014475140047302462455375307893741589559567915686684027511187328629837596395110508057671704952080033274132018559083728091806179350986857958283015237772146796655069635560684820042688461664914331239197660623468708357189208607780318681257117322334144221769899997412926500166066823130769378913974432594513053635927178280002573439193463144690486308517493894009895342611005591275821578401575703361465867047843319410821105631367777725101141937482669926833937605051774684148763149345086393701374295818563667932833547317829141170621191818027416041128811210598073247626294701828920796948101055038433913235127901422257099201844730658978569247262574377892561526937988163194469854752988283150275954443297748966217382025427875140774912276589329794851481026870859906669061647022561511354065835505903331995886986318723241238236268011930754212323997597646359145483788596814874630018705779220373792868937900022480972258325039230018095359830185431136237915170226983879680178008074481030652527936044458734601426059265222953620718442959364713403442578 256534172250264174554998898639989843244578370861811948630258977248907974421786413232115318094579407826514735929175324609036231259899655476243720997532685223174808987584120924322798615631598020973689686231591321373676641078442787465068584774454412792844263666090624242120926385978084145137267587470751522604390624189927307666974941763902047884327892016142092420089068426535551322743801612794006153077708006255899269029671182560283526010467995700872503578898727467681315335615983078059653408407749656374373407875665333339626585985940438285161372942780730873135250575359893670928478639899490706638080615256280303998605437906280275894370460961480632950836537917491143061813799895890261557889169496745293839246245814634497875567940430188522813471786663105704268376736461323476000012718635538497906291343464571564276773690201191552993575700973391790921887266156771964859527225581327233897072110799015294893407508197845501039109405282156681815983056132258549304849802742121413654476290946256183463134614520206180000166503545767156168241386584612036272430944772319774011721021414011143397916630807995373271186065478525440484923489215287800028874996098431985762511413232365134677557957383375514256514349393703673544138766297388849158044795172628053811850852833737499734831992943412823996901201635480776193440119356128705585911145364063838089966462181667226260052750958772947223594517482249598610465632489996799099558741705038365459253596173762953596820403776661233150673668466154387176494836287992704871734578137452409191527006809947155459320084799524332698249056280778900289811619849460922285284159086491698410327753733406736422623446843669508971619544669994566225377669237318462782784653973828509308767560228516814051869256991872166943045472734814506733467921766047235175798644654645132772636058173227299611216165102101087195416724160906046616957020568228759220443239387846259628196367909464777949852835568736459746947931870084982173824670306948827673837675022919834780599138536395932437923507572833167441268126815378105265049821418625020163701847232047470094306048549 415081009976747530567654178647127784088677339294347125421884483275003586658240760542565237620734676233518526237453998151767206533075574677665529078880898895560214137700322951260660566346114094270243750351102103903201305281935970786460032781573696478109886400877332348653627124078373714417168482870913446125654540247768004877298319671340058820022815262603653118996832592034380404697463057883917520964629547222744904216086325336593487327329338351249725965829464666698556470445102089403089607016974390563223903322571693779107984532135880607020076469732356012796303008168243379185665785981953705848613935654181710026070541698403807415784325865097029425185671447492559882962885227336223146389872166815093874009206769010667128289884744594800464934918578785790856839615920053270929072010775158466189995396760475405561423058571992103950018759353268779551680047884983999550210246359944901381336934632338084658413443523135199154899511212305063718603957451750429423404258390401318049367389844766261213568809521700524484811552033977921214523370599087176319733407227695081905462610973579059084600658319182701901023661873635948542595194167367833303007014657515713854317592583351992635840972621147661053169419029264358364181454759053763489283992833251522520208042042345280053513250060735158141122971535478189119940285422951836355290059338496432603020098108845506262626190152236091914080825999743492620360975101002390375380320106614068820719463221606273007641509408029010875774810403637057103328773893044479555883341286797495585228381105765719127252918346842161839419677472596927705852748660671520358531785381193527331124701834461774856536681971570931228718746514725225203946916499892840675346180911816672503237414981505097202145211435169915909262854760242381874242834042636564970650125681515992679305119820249861122570230937606990527412611147224769858195256836240689974655563385443905987341851698061592824482854274515680120740800807985004654796928631988057691933034853105265916837053706622916317603685580907648471920654751422563999651247477890243117322565675006834807709491127 671615182227011705122653077287117627333255710156159074052143460523911561080027173774680555715314084060033262166629322760803437792975230153909250076413584118735023125284443875583459181977712115243933436582693425276877946360378758251528617556028109270954150066967956590774553510056457859554436070341664968730045164437695312544273261435242106704350707278745745539085901018569931727441264670677923674042337553478644173245757507896877013337797334052122229544728192134379871806061085167462743015424724046937597311198237027118734570518076318892181449412513086885931553583528137050114144425881444412486694550910462014024675979604684083310154786826577662376022209364983702944776685123226484704279041663560387713255452583645165003857825174783323278406705241891495125216352381376746929084729410696964096286740225046969838196748773183656943594460326660570473567314041755964409737471941272135278409045431353379551820951720980700194008916494461745534587013584008978728254061132522731703843680791022444676703424041906704484978055579745077382764757183699212592164352000014855917183632387590202482517289127178075172209727352161389027518683382655633331882010755947699616829005815717127313398930004523175309683768422968031908320221056442612647328788005879576332058894876082779788345243004147982138024173170958965313380404779080541941201204702560270692986560290512732522678941111009039137675343481993091230826607590999189474939061811652434279973059395369226604461913184690244026448478869791444279823610181037184427617919424249904776755387915712874586573003146366494537668733753375827995664368510132442643815944467685225741452455567868511279160128815240440200338291184719791429324585737211303458130834885645181812004975210021911254014468427042082852308327495056888607710755808683800146448770336161125451941177993477160733786396039708077722829335308130816475152277404469449195098802773290165615538219607526370774335689843252139867688732678069986828621598938936885365770709876025100697436192243018848755527193153740815913188781566800669264701068896515263281024412907054304902015539676 1086696192203759235690307255934245411421933049450506199474027943798915147738267934317245793336048760293551788404083320912570644326050804831574779155294483014295237262984766826844119748323826209514177186933795529180079251642314729037988650337601805749064036467845288939428180634134831573971604553212578414855699704685463317421571581106582165524373522541349398658082733610604312132138727728561841195006967100701389077461843833233470500665126672403371955510557656801078428276506187256865832622441698437500821214520808720897842555050212199499201525882245442898727856591696380429299810211863398118335308486564643724050746521303087890725939112691674691801207880812476262827739570350562707850668913830375481587264659352655832132147709919378123743341623820677285982055968301430017858156740185855430286282136985522375399619807345175760893613219679929350025247361926739963959947718301217036659745980063691464210234395244115899348908427706766809253190971035759408151658319522924049753211070635788705890272233563607228969789607613722998597288127782786388911897759227709937822646243361169261567117947446360777073233389225797337570113877550023466634889025413463413471146598399069119949239902625670836362853187452232390272501675815496376136612780839131098852266936918428059841858493064883140279147144706437154433320690202032378296491264041056703296006658399358238785305131263245131051756169481736583851187582692001579850319381918266503100692522616975499612103422592719254902223289273428501383152384074081663983501260711047400361983769021478593713825921493208656377088411225972755701517117170803963002347729848878753072577157402330286135696810786811371429057037699445016633271502237104144133477015797461854315242390191527008456159679862211998761571182255299270481953589851320365117098896017677118131246297813727021856356626977315068250241946455355586333347534240710139169754366158734071602880071305587963598818544117767819988429533486054991483418527570924943057703744729130366614273245949641765073130878734648464385109436318223233264352316374405506398346978582061139709725030803 1758311374430770940812960333221363038755188759606665273526171404322826708818295108091926349051362844353585050570712643673374082119026034985484029231708067133030260388269210702427578930301538324758110623516488954456957198002693487289517267893629915020018186534813245530202734144191289433526040623554243383585744869123158629965844842541824272228724229820095144197168634629174243859579992399239764869049304654180033250707601341130347514002924006455494185055285848935458300082567272424328575637866422484438418525719045748016577125568288518391382975294758529784659410175224517479413954637744842530822003037475105738075422500907771974036093899518252354177230090177459965772516255473789192554947955493935869300520111936300997136005535094161447021748329062568781107272320682806764787241469596552394382568877210569345237816556118359417837207680006589920498814675968495928369685190242489171938155025495044843762055346965096599542917344201228554787777984619768386879912380655446781457054751426811150566975657605513933454767663193468075980052884966485601504062111227724793739829875748759464049635236573538852245443116577958726597632560932679099966771036169411113087975604214786247262638832630194011672536955875200422180821896871938988783941568845010675184325831794510839630203736069031122417171317877396119746701094981112920237692468743616973988993218689870971307984072374254170189431512963729675082014190283000769325258443729918937380665582012344726216565335777409498928671768143219945662975994255118848411119180135297305138739156937191468300398924639575150914757144979348583697181485680936405646163674316563978814029612970198797414856939602051811629395328884164808062596087974315447591607850683107036127247365401548919710174148289254081613879509750356159089664345660004165263547666353838243583187475807204182590143023017023145973071281763486402808499811645179588364853168932024237218418290913114334373154233961019959856118266164124978312040126509861828423474454605155467311709438192660613828658071888389280298298217885023902529053385270920769679371391489115444611740570479 2845007566634530176503267589155608450177121809057171473000199348121741856556563042409172142387411604647136838974795964585944726445076839817058808387002550147325497651253977529271698678625364534272287810450284483637036449645008216327505918231231720769082223002658534469630914778326121007497645176766821798441444573808621947387416423648406437753097752361444542855251368239778555991718720127801606064056271754881422328169445174363818014668050678858866140565843505736536728359073459681194408260308120921939239740239854468914419680618500717890584501177003972683387266766920897908713764849608240649157311524039749462126169022210859864762033012209927045978437970989936228600255825824351900405616869324311350887784771288956829268153245013539570765089952883246067089328288984236782645398209782407824668851014196091720637436363463535178730820899686519270524062037895235892329632908543706208597901005558736307972289742209212498891825771907995364040968955655527795031570700178370831210265822062599856457247891169121162424557270807191074577341012749271990415959870455434731562476119109928725616753184019899629318676505803756064167746438482702566601660061582874526559122202613855367211878735255864848035390143327432812453323572687435364920554349684141774036592768712938899472062229133914262696318462583833274180021785183145298534183732784673677284999877089229210093289203637499301241187682445466258933201772975002349175577825648185440481358104629320225828668758370128753830895057416648447046128378329200512394620440846344705500722925958670062014224846132783807291845556205321339398698602851740368648511404165442731886606770372529083550553750388863183058452366583609824695867590211419591725084866480568890442489755593075928166333828151466080375450692005655429571617935511324530380646562371515361714433773620931204446499649994338214223313228218841989141847345885889727534607535090758308821298362218702297971972778078787779844547799650179969795458654080786771481178199334285833925982684142302378901788950623037744683407654203247135793405701645326276077718370071176584321465601282 4603318941065301117316227922376971488932310568663836746526370752444568565374858150501098491438774449000721889545508608259318808564102874802542837618710617280355758039523188231699277608926902859030398433966773438093993647647701703617023186124861635789100409537471779999833648922517410441023685800321065182027189442931780577353261266190230709981821982181539687052420002868952799851298712527041370933105576409061455578877046515494165528670974685314360325621129354671995028441640732105522983898174543406377658265958900216930996806186789236281967476471762502468046676942145415388127719487353083179979314561514855200201591523118631838798126911728179400155668061167396194372772081298141092960564824818247220188304883225257826404158780107701017786838281945814848196600609667043547432639679378960219051419891406661065875252919581894596568028579693109191022876713863731820699318098786195380536056031053781151734345089174309098434743116109223918828746940275296181911483080833817612667320573489411007024223548774635095879324934000659150557393897715757591920021981683159525302305994858688189666388420593438481564119622381714790765378999415381666568431097752285639647097806828641614474517567886058859707927099202633234634145469559374353704495918529152449220918600507449739102265965202945385113489780461229393926722880164258218771876201528290651273993095779100181401273276011753471430619195409195934015215963258003118500836269378104377862023686641664952045234094147538252759566825559868392709104372584319360805739620981642010639462082895861530314623770772358958206602701184669923095880088532676774294675078482006710700636383342727880965410689990914994687847695467774632758463678185735039316692717163675926569737120994624847876507976440720161989330201756011588661282281171328695644194228725353605297621249428135387036642673011361360196384509982328391950347157531069315899460704022782546039716653131816632345127012039807739700666065814304948107498780590648599904652653939441301237692122334962992730447022511427024981705872088271038322459086916247045757089761560292028933206171761 7448326507699831293819495511532579939109432377721008219526570100566310421931421192910270633826186053647858728520304572845263535009179714619601646005713167427681255690777165760970976287552267393302686244417057921731030097292709919944529104356093356558182632540130314469464563700843531448521330977087886980468634016740402524740677689838637147734919734542984229907671371108731355843017432654842976997161848163942877907046491689857983543339025364173226466186972860408531756800714191786717392158482664328316898006198754685845416486805289954172551977648766475151433943709066313296841484336961323829136626085554604662327760545329491703560159923938106446134106032157332422973027907122492993366181694142558571076089654514214655672312025121240588551928234829060915285928898651280330078037889161368043720270905602752786512689283045429775298849479379628461546938751758967713028951007329901589133957036612517459706634831383521597326568888017219282869715895930823976943053781012188443877586395552010863481471439943756258303882204807850225134734910465029582335981852138594256864782113968616915283141604613338110882796128185470854933125437898084233170091159335160166206220009442496981686396303141923707743317242530066047087469042246809718625050268213294223257511369220388638574328194336859647809808243045062668106744665347403517306059934312964328558992972868329391494562479649252772671806877854662192948417736233005467676414095026289818343381791270985177873902852517667006590461882976516839755232750913519873200360061827986716140185008854531592328848616905142765498448257389991262494578691384417142943186482647449442587243153715256964515964440379778177746300062051384457454331268397154631041777583644244817012226876587700776042841804592186242364780893761667018232900216682653226024840791096868967012055023049066591483142323005699574419697738201170381092194503416959043434068239113540854861015015350518930317099790118595519545213865464484917902957434671435371385830853273727135163674806477265371632235973134464769665113526291518174115864788561573321834808131631468613254671773043 12051645448765132411135723433909551428041742946384844966052940853010878987306279343411369125264960502648580618065813181104582343573282589422144483624423784708037013730300353992670253896479170252333084678383831359825023744940411623561552290480954992347283042077602094469298212623360941889545016777408952162495823459672183102093938956028867857716741716724523916960091373977684155694316145181884347930267424573004333485923538205352149072010000049487586791808102215080526785242354923892240376056657207734694556272157654902776413292992079190454519454120528977619480620651211728684969203824314407009115940647069459862529352068448123542358286835666285846289774093324728617345799988420634086326746518960805791264394537739472482076470805228941606338766516774875763482529508318323877510677568540328262771690797009413852387942202627324371866878059072737652569815465622699533728269106116096969670013067666298611440979920557830695761312004126443201698462836206120158854536861846006056544906969041421870505694988718391354183207138808509375692128808180787174256003833821753782167088108827305104949530025206776592446915750567185645698504437313465899738522257087445805853317816271138596160913871027982567451244341732699281721614511806184072329546186742446672478429969727838377676594159539805032923298023506292062033467545511661736077936135841254979832986068647429572895835755661006244102426073263858126963633699491008586177250364404394196205405477912650129919136946665205259350028708536385232464337123497839234006099682809628726779647091750393122643472387677501723705050958574661185590458779917093917237861561129456153287879537057984845481375130370693172434147757519159090212794946582889670358470300807920743581963997582325623919349781032906404354111095517678606894182497853981921669035019822222572309676272477201978519784996017060934616082248183498773042541660948028359333528943136323400900731668482335562662226802158403259245879931278789866010456215262083971290483507213168436401366928812228364362682995645891794646819398379789212438323875477820367591897893191760642187877944804 19499971956464963704955218945442131367151175324105853185579510953577189409237700536321639759091146556296439346586117753949845878582462304041746129630136952135718269421077519753641230184031437645635770922800889281556053842233121543506081394837048348905465674617732408938762776324204473338066347754496839142964457476412585626834616645867505005451661451267508146867762745086415511537333577836727324927429272736947211392970029895210132615349025413660813257995075075489058542043069115678957768215139872063011454278356409588621829779797369144627071431769295452770914564360278041981810688161275730838252566732624064524857112613777615245918446759604392292423880125482061040318827895543127079692928213103364362340484192253687137748782830350182194890694751603936678768458406969604207588715457701696306491961702612166638900631485672754147165727538452366114116754217381667246757220113445998558803970104278816071147614751941352293087880892143662484568178732136944135797590642858194500422493364593432733987166428662147612487089343616359600826863718645816756591985685960348039031870222795922020232671629820114703329711878752656500631629875211550132908613416422605972059537825713635577847310174169906275194561584262765328809083554052993790954596454955740895735941338948227016250922353876664680733106266551354730140212210859065253383996070154219308391979041515758964390398235310259016774232951118520319912051435724014053853664459430684014548787269183635307793039799182872265940490591512902072219569874411359107206459744637615442919832100604924714972321004582644489203499215964652448085037471301511060181048043776905595875122690773241809997339570750471350180447819570543547667126214980044301400247884452165560594190874170026399962191585625092646718891989279345625127082714536635147693875810919091539321731295526268570002927319022760509035779986384669154134736164364987402767597182249864255761746683832854492979326592276998778791093796743274783913413649933519342676314360486895571565041735289493735994918968780356564311932924671307386554188664039393689426706024823229255442549717847 31551617405230096116090942379351682795192918270490698151632451806588068396543979879733008884356107058945019964651930935054428222155744893463890613254560736843755283151377873746311484080510607897968855601184720641381077587173533167067633685318003341252748716695334503408060988947565415227611364531905791305460280936084768728928555601896372863168403167992032063827854119064099667231649723018611672857696697309951544878893568100562281687359025463148400049803177290569585327285424039571198144271797079797706010550514064491398243072789448335081590885889824430390395185011489770666779891985590137847368507379693524387386464682225738788276733595270678138713654218806789657664627883963761166019674732064170153604878729993159619825253635579123801229461268378812442250987915287928085099393026242024569263652499621580491288573688300078519032605597525103766686569683004366780485489219562095528473983171945114682588594672499182988849192896270105686266641568343064294652127504704200556967400333634854604492861417380538966670296482424868976518992526826603930847989519782101821198958331623227125182201655026891295776627629319842146330134312525016032647135673510051777912855641984774174008224045197888842645805925995464610530698065859177863284142641698187568214371308676065393927516513416469713656404290057646792173679756370726989461932205995474288224965110163188537286233990971265260876659024382378446875685135215022640030914823835078210754192747096285437712176745848077525290519300049287304683906997909198341212559427447244169699479192355317837615793392260146212908550174539313633675496251218604977418909604906361749163002227831226655478714701121164522614595577089702637879921161562933971758718185260086304176154871752352023881541366657999051073003084797024232021265212390617069362910830741314111631407568003470548522712315039821443651862234568167927177277825313015762101126125386187656662478352315190055641553394435402038036973728022064649923869865195603313966797867700064007966408664101722100357601964426248358958752323051096598992512539517214057018603918014989897630427662651 51051589361695059821046161324793814162344093594596551337211962760165257805781680416054648643447253615241459311238048689004274100738207197505636742884697688979473552572455393499952714264542045543604626523985609922937131429406654710573715080155051690158214391313066912346823765271769888565677712286402630448424738412497354355763172247763877868620064619259540210695616864150515178768983300855338997785125970046898756271863597995772414302708050876809213307798252366058643869328493155250155912486936951860717464828870474080020072852586817479708662317659119883161309749371767812648590580146865868685621074112317588912243577296003354034195180354875070431137534344288850697983455779506888245712602945167534515945362922246846757574036465929305996120156019982749121019446322257532292688108483943720875755614202233747130189205173972832666198333135977469880803323900386034027242709333008094087277953276223930753736209424440535281937073788413768170834820300480008430449718147562395057389893698228287338480027846042686579157385826041228577345856245472420687439975205742449860230828554419149145414873284847005999106339508072498646961764187736566165555749089932657749972393467698409751855534219367795117840367510258229939339781619912171654238739096653928463950312647624292410178438867293134394389510556609001522313891967229792242845928276149693596616944151678947501676632226281524277650891975500898766787736570939036693884579283265762225302980016279920745505216545030949791231009891562189376903476872320557448419019172084859612619311292960242552588114396842790702112049390503966081760533722520116037599957648683267345038124918604468465476054271871635872795043396660246185547047376542978273158966069712251864770345745922378423843732952283091697791895074076369857148347926927252217056786641660405650953138863529739118525639634062581952687642220952837081312013989678003164868723307636051912424225036148044548620879986712400816828067524765339433837283515129122656643112228186959579531450399391215836352520933206604923270685247722403985546701203556607746445309942838219153072977380498 82603206766925155937137103704145496957537011865087249488844414566753326202325660295787657527803360674186479275889979624058702322893952090969527356139258425823228835723833267246264198345052653441573482125170330564318209016580187877641348765473055031410963108008401415754884754219335303793289076818308421753885019348582123084691727849660250731788467787251572274523470983214614846000633023873950670642822667356850301150757166096334695990067076339957613357601429656628229196613917194821354056758734031658423475379384538571418315925376265814790253203548944313551704934383257583315370472132456006532989581492011113299630041978229092822471913950145748569851188563095640355648083663470649411732277677231704669550241652240006377399290101508429797349617288361561563270434237545460377787501510185745445019266701855327621477778862272911185230938733502573647489893583390400807728198552570189615751936448169045436324804096939718270786266684683873857101461868823072725101845652266595614357294031863141942972889263423225545827682308466097553864848772299024618287964725524551681429786886042376270597074939873897294882967137392340793291898500261582198202884763442709527885249109683183925863758264565683960486173436253694549870479685771349517522881738352116032164683956300357804105955380709604108045914846666648314487571723600519232307860482145167884841909261842136038962866217252789538527550999883277213663421706154059333915494107100840436057172763376206183217393290879027316521529191611476681587383870229755789631578599532103782318790485315560390203907789102936915020599565043279715436029973738721015018867253589629094201127146435695120954768972992800395409638973749948823426968538105912244917684254972338168946500617674730447725274318941090748864898158873394089169613139317869286419697472401719762584546431533209667048351949102403396339504455521005008489291814991018926969849433022239569086703388463234604262433381147802854865041252787404083761153380324725970609910095887023587497859063492937936710122897632853282229437570773500584539213743073821803463913860853209050703405043149 133654796128620215758183265028939311119881105459683800826056377326918584008107340711842306171250614289427938587128028313062976423632159288475164099023956114802702388296288660746216912609594698985178108649155940487255340445986842588215063845628106721569177499321468328101708519491105192358966789104711052202309757761079477440454900097424128600408532406511112485219087847365130024769616324729289668427948637403749057422620764092107110292775127216766826665399682022686873065942410350071509969245670983519140940208255012651438388777963083294498915521208064196713014683755025395963961052279321875218610655604328702211873619274232446856667094305020819000988722907384491053631539442977537657444880622399239185495604574486853134973326567437735793469773308344310684289880559802992670475609994129466320774880904089074751666984036245743851429271869480043528293217483776434834970907885578283703029889724392976190061013521380253552723340473097642027936282169303081155551563799828990671747187730091429281452917109465912124985068134507326131210705017771445305727939931267001541660615440461525416011948224720903293989306645464839440253662687998148363758633853375367277857642577381593677719292483933479078326540946511924489210261305683521171761620835006044496114996603924650214284394248002738502435425403275649836801463690830311475153788758294861481458853413521083540639498443534313816178442975384175980451158277093096027800073390366602661360152779656126928722609835909977107752539083173666058490860742550313238050597771616963394938101778275802942792022185945727617132648955547245797196563696258837052618824902272896439239252065040163586430823244864436268204682370410195008974015914648890518076650324684590033716846363597108871569007271224182446656793232949763946317961066245121503476484114062125413537685295062948785573991583164985349027146676473842089801305804669022091838572740658291481510928424611279152883313367860203671693108777552743517598436895453848627253022324073983167029309462884153773062643830839458205500122818495904570085914946630429549909223803691428203776382423647 216258002895545371695320368733084808077418117324771050314900791893671910210433001007629963699053974963614417863018007937121678746526111379444691455163214540625931224020121927992481110954647352426751590774326271051573549462567030465856412611101161752980140607329869743856593273710440496152255865923019473956194777109661600525146627947084379332197000193762684759742558830579744870770249348603240339070771304760599358573377930188441806282842203556724440023001111679315102262556327544892864026004405015177564415587639551222856704703339349109289168724757008510264719618138282979279331524411777881751600237096339815511503661252461539679139008255166567570839911470480131409279623106448187069177158299630943855045846226726859512372616668946165590819390596705872247560314797348453048263111504315211765794147605944402373144762898518655036660210602982617175783111067166835642699106438148473318781826172562021626385817618319971823509607157781515885037744038126153880653409452095586286104481761954571224425806372889137670812750442973423685075553790070469924015904656791553223090402326503901686609023164594800588872273782857180233545561188259730561961518616818076805742891687064777603583050748499163038812714382765619039080740991454870689284502573358160528279680560225008018390349628712342610481340249942298151289035414430830707461649240440029366300762675363219579602364660787103354705993975267453194114579983247155361715567497467443097417325543032333111940003126789004424274068274785142740078244612780069027682176371149067177256892263591363332995929975048664532153248520590525512632593669997558067637692155862525533440379211475858707385592217857236663614321344160143832400984452754802762994334579656928202663346981271839319294281590165273195521691391823158035487574205562990789896181586463845176122231726596158452622343532267388745366651131994847098290597619660041018808422173680531050597631813074513757145746749008006526558150030340147601359590275778574597862932419961006754527168526377091709772766728472311487729560389269405154625128689704251353373137664544637254479787466796 349912799024165587453503633762024119197299222784454851140957169220590494218540341719472269870304589253042356450146036250184655170158270667919855554187170655428633612316410588738698023564242051411929699423482211538828889908553873054071476456729268474549318106651338071958301793201545688511222655027730526158504534870741077965601528044508507932605532600273797244961646677944874895539865673332530007498719942164348415995998694280548916575617330773491266688400793702001975328498737894964373995250075998696705355795894563874295093481302432403788084245965072706977734301893308375243292576691099756970210892700668517723377280526693986535806102560187386571828634377864622462911162549425724726622038922030183040541450801213712647345943236383901384289163905050182931850195357151445718738721498444678086569028510033477124811746934764398888089482472462660704076328550943270477670014323726757021811715896954997816446831139700225376232947630879157912974026207429235036204973251924576957851669492046000505878723482355049795797818577480749816286258807841915229743844588058554764751017766965427102620971389315703882861580428322019673799223876257878925720152470193444083600534264446371281302343232432642117139255329277543528291002297138391861046123408364205024394677164149658232674743876715081112916765653217947988090499105261142182615437998734890847759616088884303120241863104321417170884436950651629174565738260340251389515640887834045758777478322688460040662612962698981532026607357958808798569105355330382265732774142766030572194994041867166275787952160994392149285897476137771309829157366256395120256517058135421972679631276516022293816415462721672931819003714570338841375000367403693281070984904341518236380193344868948190863288861389455642178484624772921981805535271808112293372665700525970589659917021659107238196335115432374094393797808468689188091903424329063110646994914338822532108560237685792910029060116868210198251258807892891118958027171232423225115954744034989921556477989261245482835410559311769693229683207765309724711043636334680903282361468236065458256169890443 566170801919710959148824002495108927274717340109225901455857961114262404428973342727102233569358564216656774313164044187306333916684382047364547009350385196054564836336532516731179134518889403838681290197808482590402439371120903519927889067830430227529458713981207815814895066911986184663478520950750000114699311980402678490748155991592887264802532794036482004704205508524619766310115021935770346569491246924947774569376624468990722858459534330215706711401905381317077591055065439857238021254481013874269771383534115097151798184641781513077252970722081217242453920031591354522624101102877638721811129797008333234880941779155526214945110815353954142668545848344753872190785655873911795799197221661126895587297027940572159718559905330066975108554501756055179410510154499898767001833002759889852363176115977879497956509833283053924749693075445277879859439618110106120369120761875230340593542069517019442832648758020197199742554788660673798011770245555388916858382704020163243956151254000571730304529855244187466610569020454173501361812597912385153759749244850107987841420093469328789229994553910504471733854211179199907344785064517609487681671087011520889343425951511148884885393980931805155951969712043162567371743288593262550330625981722365552674357724374666251065093505427423723398105903160246139379534519691972890077087239174920214060378764247522699844227765108520525590430925919082368680318243587406751231208385301488856194803865720793152602616089487985956300675632743951538647349968110451293414950513915097749451886305458529608783882136043056681439145996728296822461751036253953187894209213997947506120010487991881001202007680578909595433325058730482673775984820158496044065319483998446439043540326140787510157570451554728837700176016596080017293109477371103083268847286989815765782148748255265690818678647699762839760448940463536286382501043989104129455417088019353582706192050760306667174806865876216724809408838233038720317617447010997822978887163995996676083646515638337192608177287784081180959243597034714879336172326038932256655499132780702712735957357239 916083600943876546602327636257133046472016562893680752596815130334852898647513684446574503439663153469699130763310080437490989086842652715284402563537555851483198448652943105469877158083131455250610989621290694129231329279674776573999365524559698702078776820632545887773196860113531873174701175978480526273203846851143756456349684036101395197408065394310279249665852186469494661849980695268300354068211189089296190565375318749539639434076865103706973399802699083319052919553803334821612016504557012570975127179428678971446891665944213916865337216687153924220188221924899729765916677793977395692022022497676850958258222305849512750751213375541340714497180226209376335101948205299636522421236143691309936128747829154284807064503141713968359397718406806238111260705511651344485740554501204567938932204626011356622768256768047452812839175547907938583935768169053376598039135085601987362405257966472017259279479897720422575975502419539831710985796452984623953063355955944740201807820746046572236183253337599237262408387597934923317648071405754300383503593832908662752592437860434755891850965943226208354595434639501219581144008940775488413401823557204964972943960215957520166187737213364447273091225041320706095662745585731654411376749390086570577069034888524324483739837382142504836314871556378194127470033624953115072692525237909811061819994853131825820086090869429937696474867876570711543246056503927658140746849273135534614972282188409253193265229052186967488327282990702760337216455323440833559147724656681128321646880347325695884571834297037448830725043472866068132290908402510348308150726272133369478799641764507903295018423143300582527252328773300821515150985187562189325136304388339964675423733671009735701020859312944184479878660641369001999098644749179215376641512987515786355442065769914372929015013763132136934154246748932225474474404468318167240102412002358176114814752288446099577203866982744426923060667646125929839275644618243421048094841908030986597640124504899582675443587847095850874188926804800024604047215962373613159937860601016768170992127247682 1482254402863587505751151638752241973746733903002906654052673091449115303076487027173676737009021717686355905076474124624797323003527034762648949572887941047537763284989475622201056292602020859089292279819099176719633768650795680093927254592390128929608235534613753703588091927025518057838179696929230526387903158831546434947097840027694282462210598188346761254370057694994114428160095717204070700637702436014243965134751943218530362292536399433922680111204604464636130510608868774678850037759038026445244898562962794068598689850585995429942590187409235141462642141956491084288540778896855034413833152294685184193139164085005038965696324190895294857165726074554130207292733861173548318220433365352436831716044857094856966783063047044035334506272908562293290671215666151243252742387503964457791295380741989236120724766601330506737588868623353216463795207787163482718408255847477217702998800035989036702112128655740619775718057208200505508997566698540012869921738659964903445763972000047143966487783192843424729018956618389096819009884003666685537263343077758770740433857953904084681080960497136712826329288850680419488488794005293097901083494644216485862287386167468669051073131194296252429043194753363868663034488874324916961707375371808936129743392612898990734804930887569928559712977459538440266849568144645087962769612477084731275880373617379348519930318634538458222065298802489793911926374747515064891978057658437023471167086054130046345867845141674953444627958623446711875863805291551284852562675170596226071098766652784225493355716433080505512164189469594364954752659438764301496044935486131316984919652252499784296220430823879492122685653832031304188926970007720685369201623872338411114467273997150523211178429764498913317578836657965082016391754226550318459910360274505602121224214518169638619833692410831899773914695689395761760856905512307271369557829090377529697520944339206406244378673848620643647870076484358968559593262065254418871073729072026983273723771020537919868051765134879932055148170401834739483383388288412545416593359733797470883728084604921 2398338003807464052353479275009375020218750465896587406649488221783968201724000711620251240448684871156055035839784205062288312090369687477933352136425496899020961733642418727670933450685152314339903269440389870848865097930470456667926620116949827631687012355246299591361288787139049931012880872907711052661107005682690191403447524063795677659618663582657040504035909881463609090010076412472371054705913625103540155700127261968070001726613264537629653511007303547955183430162672109500462054263595039016220025742391473040045581516530209346807927404096389065682830363881390814054457456690832430105855174792362035151397386390854551716447537566436635571662906300763506542394682066473184840641669509043746767844792686249141773847566188758003693903991315368531401931921177802587738482942005169025730227585368000592743493023369377959550428044171261155047730975956216859316447390933079205065404058002461053961391608553461042351693559627740337219983363151524636822985094615909643647571792746093716202671036530442661991427344216324020136657955409420985920766936910667433493026295814338840572931926440362921180924723490181639069632802946068586314485318201421450835231346383426189217260868407660699702134419794684574758697234460056571373084124761895506706812427501423315218544768269712433396027849015916634394319601769598203035462137714994542337700368470511174340016409503968395918540166679060505455172431251442723032724906931572558086139368242539299539133074193861920932955241614149472213080260614992118411710399827277354392745647000109921377927550730117954342889232942460433087043567841274649804195661758264686463719294017007687591238853967180074649937982605332125704077955195282874694337928260678375789891007668160258912199289077443097797457497299334084015490398975729533836551873262021388476666280288084011548848706173964036708068942438327987235331309980625438609660241092735705812335696627652505821582540831365070570930744130484898398868906683497839919168570980057969871363895525437502543495352981975782929337097206634764087430604250786158576531220334814239054720211852603 3880592406671051558104630913761616993965484368899494060702161313233083504800487738793927977457706588842410940916258329687085635093896722240582301709313437946558725018631894349871989743287173173429195549259489047568498866581266136761853874709339956561295247889860053294949380714164567988851060569836941579049010164514236626350545364091489960121829261771003801758405967576457723518170172129676441755343616061117784120834879205186600364019149663971552333622211908012591313940771540884179312092022633065461464924305354267108644271367116204776750517591505624207145472505837881898342998235587687464519688327087047219344536550475859590682143861757331930428828632375317636749687415927646733158862102874396183599560837543343998740630629235802039028410264223930824692603136843953830991225329509133483521522966109989828864217789970708466288016912794614371511526183743380342034855646780556422768402858038450090663503737209201662127411616835940842728980929850064649692906833275874547093335764746140860169158819723286086720446300834713116955667839413087671458030279988426204233460153768242925254012886937499634007254012340862058558121596951361684215568812845637936697518732550894858268333999601956952131177614548048443421731723334381488334791500133704442836555820114322305953349699157282361955740826475455074661169169914243290998231750192079273613580742087890522859946728138506854140605465481550299367098805998957787924702964590009581557306454296669345885000919335536874377583200237596184088944065906543403264273074997873580463844413652894146871283267163198459855053422412054798041796227280038951300240597244396003448638946269507471887459284791059566772623636437363429893004925203003560063539552133016786904358281665310782123377718841942011115036333957299166031882153202279852296462233536526990597890494806253650168682398584795936481983638127723748996188215492932709979218070183113235509856640966858912065961214679985714218800820614843866958462168748752258790242300052084953145087666545975422411547118116855714984485267608469503570813992539198703993124580068611709938448296457524 6278930410478515610458110188770992014184234834796081467351649535017051706524488450414179217906391459998465976756042534749373947184266409718515653845738934845579686752274313077542923193972325487769098818699878918417363964511736593429780494826289784192982260245106352886310669501303617919863941442744652631710117170196926817753992888155285637781447925353660842262441877457921332608180248542148812810049529686221324276535006467154670365745762928509181987133219211560546497370934212993679774146286228104477684950047745740148689852883646414123558444995602013272828302869719272712397455692278519894625543501879409254495933936866714142398591399323768566000491538676081143292082097994119917999503772383439930367405630229593140514478195424560042722314255539299356094535058021756418729708271514302509251750551477990421607710813340086425838444956965875526559257159699597201351303037713635627833806916040911144624895345762662704479105176463681179948964293001589286515891927891784190740907557492234576371829856253728748711873645051037137092325794822508657378797216899093637726486449582581765826944813377862555188178735831043697627754399897430270530054131047059387532750078934321047485594868009617651833312034342733018180428957794438059707875624895599949543368247615745621171894467426994795351768675491371709055488771683841494033693887907073815951281110558401697199963137642475250059145632160610804822271237250400510957427871521582139643445822539208645424133993529398795310538441851745656302024326521535521675983474825150934856590060653004068249210817893316414197942655354515231128839795121313601104436259002660689912358240286515159478698138758239641422561619042695555597082880398286434757877480393695162694249289333471041035577007919385108912493831256633250047372552178009386133014106798548379074556775094337661717531104758759973190052580566051736231519525473558148588878311275848941322192337594511417887543755511350784789731564745328765357331075432250098709410871032142923016451562071412924955042471098831497913822364815104267658244596789984862569655800403425948993168508310127 10159522817149567168562741102532609008149719203695575528053810848250135211324976189208107195364098048840876917672300864436459582278163131959097955555052372792138411770906207427414912937259498661198294367959367965985862831093002730191634369535629740754277508134966406181260050215468185908715002012581594210759127334711163444104538252246775597903277187124664644020847845034379056126350420671825254565393145747339108397369885672341270729764912592480734320755431119573137811311705753877859086238308861169939149874353100007257334124250762618900308962587107637479973775375557154610740453927866207359145231828966456473840470487342573733080735261081100496429320171051398780041769513921766651158365875257836113966966467772937139255108824660362081750724519763230180787138194865710249720933601023435992773273517587980250471928603310794892126461869760489898070783343442977543386158684494192050602209774079361235288399082971864366606516793299622022677945222851653936208798761167658737834243322238375436540988675977014835432319945885750254047993634235596328836827496887519841959946603350824691080957700315362189195432748171905756185875996848791954745622943892697324230268811485215905753928867611574603964489648890781461602160681128819548042667125029304392379924067730067927125244166584277157307509501966826783716657941598084785031925638099153089564861852646292220059909865780982104199751097642161104189370043249358298882130836111591721200752276835877991309134912864935669688121642089341840390968392428078924940256549823024515320434474305898215120494085056514874052996077766570029170636022401352552404676856247056693360997186556022631366157423549299208195185255480058985490087805601289994821417032526711949598607570998781823158954726761327120027530165213932416079254705380289238429476340335075369672447269900591311886213503343555909672036218693775485227707740966490858568096381458962176832048978561370329953504970191336499008532385360172632315793244181002357499653171084227876161539228617388347366589589215687212898307632423573771229058589329183566562780380472037658931616804767651 16438453227628082779020851291303601022333954038491656995405460383267186917849464639622286413270489508839342894428343399185833529462429541677613609400791307637718098523180520504957836131231824148967393186659246884403226795604739323621414864361919524947259768380072759067570719716771803828578943455326246842469244504908090261858531140402061235684725112478325486283289722492300388734530669213974067375442675433560432673904892139495941095510675520989916307888650331133684308682639966871538860384595089274416834824400845747406023977134409033023867407582709650752802078245276427323137909620144727253770775330845865728336404424209287875479326660404869062429811709727479923333851611915886569157869647641276044334372098002530279769587020084922124473038775302529536881673252887466668450641872537738502025024069065970672079639416650881317964906826726365424630040503142574744737461722207827678436016690120272379913294428734527071085621969763303202626909515853243222724690689059442928575150879730610012912818532230743584144193590936787391140319429058104986215624713786613479686433052933406456907902513693224744383611484002949453813630396746222225275677074939756711763018890419536953239523735621192255797801683233514479782589638923257607750542749924904341923292315345813548297138634011271952659278177458198492772146713281926279065619526006226905516142963204693917259873003423457354258896729802771909011641280499758809839558707633173860844198099375086636733268906394334464998660083941087496692992718949614446616240024648175450177024534958902283369704902949831288250938733121085260299475817522666153509113115249717383273355426842537790844855562307538849617746874522754541087170685999576429579294512920407112292856860332252864194531734680712228940023996470565666126627257558298624562490447133623748747004044994928973603744608102315882862088799259827221459227266440049007156974692734811118154241316155881747841048725702687283798263950105501397673124319613252456209064042116370799177990790688801272321632060314518710812129997238678038887303186119168429132436180875463607924785313077778 26597976044777649947583592393836210030483673242187232523459271231517322129174440828830393608634587557680219812100644263622293111740592673636711564955843680429856510294086727932372749068491322810165687554618614850389089626697742053813049233897549265701537276515039165248830769932239989737293945467907841053228371839619253705963069392648836833588002299602990130304137567526679444860881089885799321940835821180899541071274777811837211825275588113470650628644081450706822119994345720749397946622903950444355984698753945754663358101385171651924176370169817288232775853620833581933878363548010934612916007159812322202176874911551861608560061921485969558859131880778878703375621125837653220316235522899112158301338565775467419024695844745284206223763295065759717668811447753176918171575473561174494798297586653950922551568019961676210091368696486855322700823846585552288123620406702019729038226464199633615201693511706391437692138763062925225304854738704897158933489450227101666409394201968985449453807208207758419576513536822537645188313063293701315052452210674133321646379656284231147988860214008586933579044232174855209999506393595014180021300018832454035993287701904752858993452603232766859762291332124295941384750320052077155793209874954208734303216383075881475422382800595549109966787679425025276488804654880011064097545164105379995081004815850986137319782869204439458458647827444933013201011323749117108721689543744765582044950376210964628042403819259270134686781726030429337083961111377693371556496574471199965497459009264800498490198988006346162303934810887655289470111839924018705913789971496774076634352613398560422211012985856838057812932130002813526577258491600866424400711545447119061891464431331034687353486461442039348967554161684498082205881962938587862991966787468699118419451314895520285489958111445871792534125017953602706686935007406539865725071074193773294986290294717252077794553695894023782806796335465674029988917563794254813708717213200598675339530019306189619688221649530205923710437629662251810116361775448351995695216561347501266856402117845429 43036429272405732726604443685139811052817627280678889518864731614784509047023905468452680021905077066519562706528987662808126641203022215314325174356634988067574608817267248437330585199723146959133080741277861734792316422302481377434464098259468790648797044895111924316401489649011793565872888923234087895697616344527343967821600533050898069272727412081315616587427290018979833595411759099773389316278496614459973745179669951333152920786263634460566936532731781840506428676985687620936807007499039718772819523154791502069382078519580684948043777752526938985577931866110009257016273168155661866686782490658187930513279335761149484039388581890838621288943590506358626709472737753539789474105170540388202635710663777997698794282864830206330696802070368289254550484700640643586622217346098912996823321655719921594631207436612557528056275523213220747330864349728127032861082128909847407474243154319905995114987940440918508777760732826228427931764254558140381658180139286544594984545081699595462366625740438502003720707127759325036328632492351806301268076924460746801332812709217637604896762727701811677962655716177804663813136790341236405296977093772210747756306592324289812232976338853959115560093015357810421167339958975334763543752624879113076226508698421695023719521434606821062626065856883223769260951368161937343163164690111606900597147779055680054579655872627896812717544557247704922212652604248875918561248251377939442889148475586051264775672725653604599685441809971516833776953830327307818172736599119375415674483544223702781859903890956177450554873544008740549769587657446684859422903086746491459907708040241098213055868548164376907430679004525568067664429177600442853980006058367526174184321291663287551548018196122751577907578158155063748332509220496886487554457234602322867166455359890449259093702719548187675396213817213429928146162273846588872882045766928584413140531610873133825635602421596711066605060285571175427662041883407507269917781255316969474517520809994990892009853709844724634522567626900929849003664961567520424827652742222964874781187430923207 69634405317183382674188036078976021083301300522866122042324002846301831176198346297283073630539664624199782518629631926430419752943614888951036739312478668497431119111353976369703334268214469769298768295896476585181406049000223431247513332157018056350334321410151089565232259581251783303166834391141928948925988184146597673784669925699734902860729711684305746891564857545659278456292848985572711257114317795359514816454447763170364746061851747931217565176813232547328548671331408370334753630402990163128804221908737256732740179904752336872220147922344227218353785486943591190894636716166596479602789650470510132690154247313011092599450503376808180148075471285237330085093863591193009790340693439500360937049229553465117818978709575490536920565365434048972219296148393820504793792819660087491621619242373872517182775456574233738147644219700076070031688196313679320984702535611867136512469618519539610316681452147309946469899495889153653236618993263037540591669589513646261393939283668580911820432948646260423297220664581862681516945555645507616320529135134880122979192365501868752885622941710398611541699948352659873812643183936250585318277112604664783749594294229042671226428942086725975322384347482106362552090279027411919336962499833321810529725081497576499141904235202370172592853536308249045749756023041948407260709854216986895678152594906666191899438741832336271176192384692637935413663927997993027282937795122705024934098851797015892818076544912874734372223536001946170860914941705001189729233173590575381171942553488503280350102878962523612858808354896395839239699497370703565336693058243265536542060653639658635266881534021214965243611134528381594241687669201309278380717603814645236075785722994322238901504657564790926875132319839561830538391183435474350546424022071021985585906674785969544583660830994059467930338835167032634833097281253128738607116841122357708126821905590385903430156117490734849411856621036849457650959447201762083626498468517568149857050829301180511698075359374930558233005256563181659120026737015872420522869303570466141637589548768636 112670834589589115400792479764115832136118927803545011561188734461086340223222251765735753652444741690719345225158619589238546394146637104265361913669113656565005727928621224807033919467937616728431849037174338319973722471302704808681977430416486846999131366305263013881633749230263576869039723314376016844623604528673941641606270458750632972133457123765621363478992147564639112051704608085346100573392814409819488561634117714503517666848115382391784501709545014387834977348317095991271560637902029881901623745063528758802122258424333021820263925674871166203931717353053600447910909884322258346289572141128698063203433583074160576638839085267646801437019061791595956794566601344732799264445863979888563572759893331462816613261574405696867617367435802338226769780849034464091416010165759000488444940898093794111813982893186791266203919742913296817362552546041806353845784664521714543986712772839445605431669392588228455247660228715382081168383247821177922249849728800190856378484365368176374187058689084762427017927792341187717845578047997313917588606059595626924312005074719506357782385669412210289504355664530464537625779974277486990615254206376875531505900886553332483459405280940685090882477362839916783719430238002746682880715124712434886756233779919271522861425669809191235218919393191472815010707391203885750423874544328593796275300373962346246479094614460233083893736941940342857626316532246868945844186046500644467823247327383067157593749270566479334057665345973463004637868772032309007901969772709950796846426097712206062210006769918701063413681898905136389009287154817388424759596144989756996449768693880756848322750082185591872674290139053949661906116846801752132360723662182171410260107014657609790449522853687542504782710477994625578870900403932360838100881256673344852752362034676418803677363550542247143326552652380462562979259555099717611489162608050942121267353516463519729065758539087445916016916906608024885313001330609269353544279723834537624374571639296171403707929069219655192755572883464111508123691698583392845350522045793431016418776979691843 182305239906772498074980515843091853219420228326411133603512737307388171399420598063018827282984406314919127743788251515668966147090251993216398652981592325062436847039975201176737253736152086497730617333070814905155128520302928239929490762573504903349465687715414103446866008811515360172206557705517945793549592712820539315390940384450367874994186835449927110370557005110298390507997457070918811830507132205179003378088565477673882412909967130323002066886358246935163526019648504361606314268305020045030427966972266015534862438329085358692484073597215393422285502839997191638805546600488854825892361791599208195893587830387171669238289588644454981585094533076833286879660464935925809054786557419388924509809122884927934432240283981187404537932801236387198989076997428284596209802985419087980066560140467666628996758349761025004351563962613372887394240742355485674830487200133581680499182391358985215748350844735538401717559724604535734405002241084215462841519318313837117772423649036757286007491637731022850315148456923050399362523603642821533909135194730507047291197440221375110668008611122608901046055612883124411438423158213737575933531318981540315255495180782375154685834223027411066204861710322023146271520517030158602217677624545756697285958861416848022003329905011561407811772929499721860760463414245834157684584398545580691953452968869012438378533356292569355069929326632980793039980460244861973127123841623349492757346179180083050411825815479354068429888881975409175498783713737310197631202946300526178018368651200709342560109648881224676272490253801532228248986652188091990096289203233022532991829347520415483589631616206806837917901273582331256147804516003061410741441265996816646335892737651932029351027511252333431657842797834187409409291587367835188647305278744366838338268709462388348261024381536306611256891487547495197812356836352846350096279449173299829394175422053905632495914656578180765428773527644874342963960777811031437170778192352105774231622468597351915406004428594585750988578140027293167243718435599265265873391349363897158056366528460479 294976074496361613475772995607207685355539156129956145164701471768474511622642849828754580935429148005638472968946871104907512541236889097481760566650705981627442574968596425983771173204089703226162466370245153225128850991605633048611468192989991750348597054020677117328499758041778937041246281019893962638173197241494480956997210843201000847127643959215548473849549152674937502559702065156264912403899946614998491939722683192177400079758082512714786568595903261322998503367965600352877874906207049926932051712035794774336984696753418380512747999272086559626217220193050792086716456484811113172181933932727906259097021413461332245877128673912101783022113594868429243674227066280658608319232421399277488082569016216390751045501858386884272155300237038725425758857846462748687625813151178088468511501038561460740810741242947816270555483705526669704756793288397292028676271864655296224485895164198430821180020237323766856965219953319917815573385488905393385091369047114027974150908014404933660194550326815785277333076249264238117208101651640135451497741254326133971603202514940881468450394280534819190550411277413588949064203132491224566548785525358415846761396067335707638145239503968096157087339073161939929990950755032905285098392749258191584042192641336119544864755574820752643030692322691194675771170805449719908108458942874174488228753342831358684857627970752802438963666268573323650666296992491730918971309888123993960580593506563150208005575086045833402487554227948872180136652485769619205533172719010476974864794748912915404770116418799925739686172152706668617258273807005480414855885348222779529441598041401172331912381698392398710592191412636280918053921362804813543102164928178988056595999752309541819800550364939875936440553275828812988280191991300196026748186535417711691090630744138807151938387932078553754583444139927957760791616391452563961585442057224241950661528938517425361561673195665626681445690434252899228276962108420300790715057916186643398606194107893523319113933497814240943744151023491404675367410134182658111223913395157328174475143508152322 477281314403134111550753511450299538574959384456367278768214209075862683022063447891773408218413554320557600712735122620576478688327141090698159219632298306689879422008571627160508426940241789723893083703315968130283979511908561288540958955563496653698062741736091220775365766853294297213452838725411908431722789954315020272388151227651368722121830794665475584220106157785235893067699522227183724234407078820177495317811248669851282492668049643037788635482261508258162029387614104714484189174512069971962479679008060789871847135082503739205232072869301953048502723033047983725522003085299967998074295724327114454990609243848503915115418262556556764607208127945262530553887531216584417374018978818666412592378139101318685477742142368071676693233038275112624747934843891033283835616136597176448578061179029127369807499592708841274907047668140042592151034030752777703506759064788877904985077555557416036928371082059305258682779677924453549978387729989608847932888365427865091923331663441690946202041964546808127648224706187288516570625255282956985406876449056641018894399955162256579118402891657428091596466890296713360502626290704962142482316844339956162016891248118082792831073726995507223292200783483963076262471272063063887316070373803948281328151502752967566868085479832314050842465252190916536531634219695554065793043341419755180182206311700371123236161327045371794033595595206304443706277452736592892098433729747343453337939685743233258417400901525187470917443109924281355635436199506929403164375665311003152883163400113624747330226067681150415958662406508200845507260459193572404952174551455802062433427388921587815502013314599205548510092686218612174201725878807874953843606194175804702931892489961473849151577876192209368098396073663000397689483578668031215395491814162078529428899453601195500199412313614860365840335627475452958603973227805410311681721506397541780055704360571330994057587852243807446874463961897773571240922886231332227885836108538749172837816576490875234519937926408826694732729163518697842611128569781923377097304744521225332531510036612801 772257388899495725026526507057507223930498540586323423932915680844337194644706297720527989153842702326196073681681993725483991229564030188179919786283004288317321996977168053144279600144331492950055550073561121355412830503514194337152427148553488404046659795756768338103865524895073234254699119745305871069895987195809501229385362070852369569249474753881024058069655310460173395627401587383448636638307025435175987257533931862028682572426132155752575204078164769581160532755579705067362064080719119898894531391043855564208831831835922119717980072141388512674719943226098775812238459570111081170256229657055020714087630657309836160992546936468658547629321722813691774228114597497243025693251400217943900674947155317709436523244000754955948848533275313838050506792690353781971461429287775264917089562217590588110618240835656657545462531373666712296907827319150069732183030929444174129470972719755846858108391319383072115647999631244371365551773218895002233024257412541893066074239677846624606396592291362593404981300955451526633778726906923092436904617703382774990497602470103138047568797172192247282146878167710302309566829423196186709031102369698372008778287315453790430976313230963603380379539856645903006253422027095969172414463123062139865370344144089087111732841054653066693873157574882111212302805025145273973901502284293929668410959654531729808093789297798174232997261863779628094372574445228323811069743617871337413918533192306383466422975987571020873404997337873153535772088685276548608697548384321480127747958149026540152100342486481076155644834559214869462765534266199052819808059899678581591875025430322760147414395012991604259102284098854893092255647241612688496945771122354792759527892242271015668952128241132085304538949349491813385969675569968227242143678349579790220519530197740002652137800245693414120423779767403410719395589619257974273267163563621783730717233299088756355619261047909434128320154396150672799517884994651633018600894024725392571444010684384398553633871424223067638476880187010102517978538703964581488321218139678553507006653544765123 1249538703302629836577280018507806762505457925042690702701129889920199877666769745612301397372256256646753674394417116346060469917891171278878079005915302595007201418985739680304788027084573282673948633776877089485696810015422755625693386104116985057744722537492859558879231291748367531468151958470717779501618777150124521501773513298503738291371305548546499642289761468245409288695101109610632360872714104255353482575345180531879965065094181798790363839560426277839322562143193809781846253255231189870857011070051916354080678966918425858923212145010690465723222666259146759537760462655411049168330525381382135169078239901158340076107965199025215312236529850758954304782002128713827443067270379036610313267325294419028122000986143123027625541766313588950675254727534244815255297045424372441365667623396619715480425740428365498820369579041806754889058861349902847435689789994233052034456050275313262895036762401442377374330779309168824915530160948884611080957145777969758157997571341288315552598634255909401532629525661638815150349352162206049422311494152439416009392002425265394626687200063849675373743345058007015670069455713901148851513419214038328170795178563571873223807386957959110603671740640129866082515893299159033059730533496866088146698495646842054678600926534485380744715622827073027748834439244840828039694545625713684848593165966232100931329950624843546027030857458985932538078851897964916703168177347618680867256472878049616724840376889096208344322440447797434891407524884783478011861924049632483280631121549140164899430568554162226571603496965723070308272794725392625224760234451134383654308452819244347962916408327590809807612376785073505266457373120420563450789377316530597462459784732232489518103706117324294672637345423154813783659159148636258457539170163741868749948429651341198152337212559308274486264115394878863677999562847063384584948885070019325510772937659660087349676848900153241575194618358048446370758807880882965246486730133264141744281827260875273788153809350631894333209609350528800360589667273746504865418522884199778839538163581377924 2021796092202125561603806525565313986435956465629014126634045570764537072311476043332829386526098958972949748076099110071544461147455201467057998792198306883324523415962907733449067627228904775624004183850438210841109640518936949962845813252670473461791382333249627896983096816643440765722851078216023650571514764345934022731158875369356107860620780302427523700359416778705582684322502696994080997511021129690529469832879112393908647637520313954542939043638591047420483094898773514849208317335950309769751542461095771918289510798754347978641192217152078978397942609485245535349998922225522130338586755038437155883165870558468176237100512135493873859865851573572646079010116726211070468760521779254554213942272449736737558524230143877983574390299588902788725761520224598597226758474712147706282757185614210303591043981264022156365832110415473467185966688669052917167872820923677226163927022995069109753145153720825449489978778940413196281081934167779613313981403190511651224071811019134940158995226547271994937610826617090341784128079069129141859216111855822190999889604895368532674255997236041922655890223225717317979636285137097335560544521583736700179573465879025663654783700188922713984051280496775769088769315326255002232144996619928228012068839790931141790333767589138447438588780401955138961137244269986102013596047910007614517004125620763830739423739922641720260028119322765560632451426343193240514237920965490018281175006070356000191263352876667229217727437785670588427179613570060026620559472433953963408379079698166705051530911040643302727248331524937939771038328991591678044568294350812965246183478249567108110330803340582414066714660883928398358713020362033251947735148438885390221987676974503505187055834358456379977176294772646627169628834718604485699682848513321658970467959849081200804475012805001688606687895162282274397395152466321358858216048633641109241490170958748843705296109948062675703514772754199119170276692875534598265087624157989534315725837945259672341787680774854961971686489537538902878568205977711086353739741023878332346544817126143047 3271334795504755398181086544073120748941414390671704829335175460684736949978245788945130783898355215619703422470516226417604931065346372745936077798113609478331724834948647413753855654313478058297952817627315300326806450534359705588539199356787458519536104870742487455862328108391808297191003036686741430073133541496058544232932388667859846151992085850974023342649178246950991973017603806604713358383735233945882952408224292925788612702614495753333302883199017325259805657041967324631054570591181499640608553531147688272370189765672773837564404362162769444121165275744392294887759384880933179506917280419819291052244110459626516313208477334519089172102381424331600383792118854924897911827792158291164527209597744155765680525216287001011199932065902491739401016247758843412482055520136520147648424809010830019071469721692387655186201689457280222075025550018955764603562610917910278198383073270382372648181916122267826864309558249582021196612095116664224394938548968481409382069382360423255711593860803181396470240352278729156934477431231335191281527606008261607009281607320633927300943197299891598029633568283724333649705740850998484412057940797775028350368644442597536878591087146881824587723021136905635171285208625414035291875530116794316158767335437773196468934694123623828183304403229028166709971683514826930053290593535721299365597291586995931670753690547485266287058976781751493170530278241158157217406098313108699148431478948405616916103729765763437562049878233468023318587138454843504632421396483586446689010201247306869950961479594805529298851828490661010079311123716984303269328528801947348900491931068811456073247211668173223874327037669001903625170393482453815398524525755415987684447461706735994705159540475780674649813640195801440953287993867240744157222018677063527720416389500422398956812225364309963092952010557161138075394715313384743443164933703660434752263108618408931054972958848215917278709391112247565541035500756417563511574354291253676060007665206134946129941490125486856304896098888067703239157873251457591219158263908078111186082980707520971 5293130887706880959784893069638434735377370856300718955969221031449274022289721832277960170424454174592653170546615336489149392212801574212994076590311916361656248250911555147202923281542382833921957001477753511167916091053296655551385012609457931981327487203992115352845424925035249062913854114902765080644648305841992566964091264037215954012612866153401547043008595025656574657340106503598794355894756363636412422241103405319697260340134809707876241926837608372680288751940740839480262887927131809410360095992243460190659700564427121816205596579314848422519107885229637830237758307106455309845504035458256446935409981018094692550308989470012963031968232997904246462802235581135968380588313937545718741151870193892503239049446430878994774322365491394528126777767983442009708813994848667853931181994625040322662513702956409811552033799872753689260992238688008681771435431841587504362310096265451482401327069843093276354288337189995217477694029284443837708919952158993060606141193379558195870589087350453391407851178895819498718605510300464333140743717864083798009171212216002459975199194535933520685523791509441651629342025988095819972602462381511728529942110321623200533374787335804538571774301633681404260054523951669037524020526736722544170836175228704338259268461712762275621893183630983305671108927784813032066886641445728913882601417207759762410177430470126986547087096104517053802981704584351397731644019278598717429606485018761617107367082642430666779777316019138611745766752024903531252980868917540410097389280945473575002492390635448832026100160015598949850349452708575981313896823152760314146675409318378564183578015008755637941041698552930301983883413844487067346259674194301377906435138681239499892215374834237054626989934968448068122916828585845229856904867190385186690884349349503599761287238169311651699639905719443412472789867779706102301380982337301543993753279577157774760269068796278592982224163866446684711312193631952161776661978449243210375733503151394618471729170900341818276582588425606606117726079229168677572898004931956443532627797833664018 8564465683211636357965979613711555484318785246972423785304396492134010972267967621223090954322809390212356593017131562906754323278147946958930154388425525839987973085860202560956778935855860892219909819105068811494722541587656361139924211966245390500863592074734602808707753033427057360104857151589506510717781847338051111197023652705075800164604952004375570385657773272607566630357710310203507714278491597582295374649327698245485873042749305461209544810036625697940094408982708164111317458518313309050968649523391148463029890330099895653770000941477617866640273160974030125125517691987388489352421315878075737987654091477721208863517466804532052204070614422235846846594354436060866292416106095836883268361467938048268919574662717880005974254431393886267527794015742285422190869514985188001579606803635870341733983424648797466738235489330033911336017788706964446374998042759497782560693169535833855049508985965361103218597895439577238674306124401108062103858501127474469988210575739981451582182948153634787878091531174548655653082941531799524422271323872345405018452819536636387276142391835825118715157359793165985279047766839094304384660403179286756880310754764220737411965874482686363159497322770587039431339732577083072815896056853516860329603510666477534728203155836386103805197586860011472381080611299639962120177234981450213248198708794755694080931121017612252834146072886268546973511982825509554949050117591707416578037963967167234023470812408194104341827194252606635064353890479747035885402265401126856786399482192780444953453870230254361324951988506259959929660576425560284583225351954707663047167340387190020256825226676928861815368736221932205609053807326940882744784199949717365590882600387975494597374915310017729276803575164249509076204822453085974014126885867448714411300738849925998718099463533621614792591916276604550548184583093090845744545916040961978746016388195566705815242027644494510260933554978694250252347694388369725288236332740496886435741168357529564601670661025828674581478687313674309356883952480626268792056268840034554718710778541184989 13857596570918517317750872683349990219696156103273142741273617523583284994557689453501051124747263564805009763563746899395903715490949521171924230978737442201644221336771757708159702217398243726141866820582822322662638632640953016691309224575703322482191079278726718161553177958462306423018711266492271591362430153180043678161114916742291754177217818157777117428666368298264141287697816813802302070173247961218707796890431103565183133382884115169085786736874234070620383160923449003591580346445445118461328745515634608653689590894527017469975597520792466289159381046203667955363275999093843799197925351336332184923064072495815901413826456274545015236038847420140093309396590017196834673004420033382602009513338131940772158624109148759000748576796885280795654571783725727431899683509833855855510788798260910664396497127605207278290269289202787600597010027394973128146433474601085286923003265801285337450836055808454379572886232629572456152000153685551899812778453286467530594351769119539647452772035504088179285942710070368154371688451832263857563015041736429203027624031752638847251341586371758639400681151302607636908389792827190124357262865560798485410252865085843937945340661818490901731271624404268443691394256528752110339916583590239404500439685895181872987471617549148379427090770490994778052189539084452994187063876427179127130800126002515456491108551487739239381233168990785600776493687409860952680694136870306134007644448985928851130837895050624771121604510271745246810120642504650567138383134318667266883788763138254019955946260865703193351052148521858909780010029134136265897122175107467977193842749705568584440403241685684499756410434774862507592937221171427950091043874144018743497317739069214994489590290144254783903793510132697577199121651038931203871031753057833901102185088199429598479386701702933266492231821996047963020974450872796948045926898378263522739769667772724480575511096440773103243157718845140934963659888020321887064898311189740096811474671508924183073399831926170492858061275739280915474610031709794946364954273771990998251338576374849007 22422062254130153675716852297061545704014941350245566526578014015717295966825657074724142079070072955017366356580878462302658038769097468130854385367162968041632194422631960269116481153254104618361776639687891134157361174228609377831233436541948712983054671353461320970260930991889363783123568418081778102080212000518094789358138569447367554341822770162152687814324141570871707918055527124005809784451739558801003171539758801810669006425633420630295331546910859768560477569906157167702897804963758427512297395039025757116719481224626913123745598462270084155799654207177698080488793691081232288550346667214407922910718163973537110277343923079077067440109461842375940155990944453257700965420526129219485277874806069989041078198771866639006722831228279167063182365799468012854090553024819043857090395601896781006130480552254004745028504778532821511933027816101937574521431517360583069483696435337119192500345041773815482791484128069149694826306278086659961916636954413942000582562344859521099034954983657722967164034241244916810024771393364063381985286365608774608046076851289275234527483978207583758115838511095773622187437559666284428741923268740085242290563619850064675357306536301177264890768947174855483122733989105835183155812640443756264830043196561659407715674773385534483232288357351006250433270150384092956307241111408629340378998834797271150572039672505351492215379241877054147750005670235370507629744254462013550585682412953096085154308707458818875463431704524351881874474532984397603023785399719794123670188245331034464909400131095957554676004137028118869709670605559696550480347527062175640241010090092758604697228468362613361571779170996794713201991028498368832835828074093736109088200339457190489086965205454272513180597085296947086275326473492017177885158638925282615513485827049355597197486165236554881284823738272652513569159033965887793790472814419225501485786055968291186390753124085267613504091273823835185216007582408691612353134643930236983247215839866453747675070492951999167439539963052955224831493984190421215157010542612025552970049354916033996 36279658825048670993467724980411535923711097453518709267851631539300580961383346528225193203817336519822376120144625361698561754260046989302778616345900410243276415759403717977276183370652348344503643460270713456819999806869562394522542661117652035465245750632188039131814108950351670206142279684574049693442642153698138467519253486189659308519040588319929805242990509869135849205753343937808111854624987520019710968430189905375852139808517535799381118283785093839180860730829606171294478151409203545973626140554660365770409072119153930593721195983062550444959035253381366035852069690175076087748272018550740107833782236469353011691170379353622082676148309262516033465387534470454535638424946162602087287388144201929813236822881015398007471408025164447858836937583193740285990236534652899712601184400157691670526977679859212023318774067735609112530037843496910702667864991961668356406699701138404529951181097582269862364370360698722150978306431772211861729415407700409531176914113979060746487727019161811146449976951315284964396459845196327239548301407345203811073700883041914081778825564579342397516519662398381259095827352493474553099186134300883727700816484935908613302647198119668166622040571579123926814128245634587293495729224033995669330482882456841280703146390934682862659379127842001028485459689468545950494304987835808467509798960799786607063148223993090731596612410867839748526499357645231460310438391332319684593326861939024936285146602509443646585036214796097128684595175489048170162168534038461390553977008469288484865346391961660748027056285549977779489680634693832816377469702169643617434852839798327189137631710048297861328189605771657220794928249669796782926871948237754852585518078526405483576555495598527297084390595429644663474448124530948381756190391983116516615670915248785195676872866939488147777055560268700476590133484838684741836399712797489024225555723741015666966264220526040716747248992668976120179667470429013499418032955119977080058690511375377930748470324878169660297601238792236140306104015900216161521964816384016551221387931290883003 58701721079178824669184577277473081627726038803764275794429645555017876928209003602949335282887409474839742476725503824001219793029144457433633001713063378284908610182035678246392664523906452962865420099958604590977360981098171772353776097659600748448300421985649360102075039942241033989265848102655827795522854154216233256877392055637026862860863358482082493057314651440007557123808871061813921639076727078820714139969948707186521146234150956429676449830695953607741338300735763338997375956372961973485923535593686122887128553343780843717466794445332634600758689460559064116340863381256308376298618685765148030744500400442890121968514302432699150116257771104891973621378478923712236603845472291821572565262950271918854315021652882037014194239253443614922019303382661753140080789559471943569691580002054472676657458232113216768347278846268430624463065659598848277189296509322251425890396136475523722451526139356085345155854488767871845804612709858871823646052362114351531759476458838581845522682002819534113614011192560201774421231238560390621533587772953978419119777734331189316306309542786926155632358173494154881283264912159758981841109403040968969991380104785973288659953734420845431512809518753979409936862234740422476651541864477751934160526079018500688418821164320217345891667485193007278918729839852638906801546099244437807888797795597057757635187896498442223811991652744893896276505027880601967940182645794333235179009274892121021439455309968262522048467919320449010559069708473445773185953933758255514224165253800322949774746523057618302703060422578096649199351240253529366857817229231819257675862929891085793834860178410911222899968776768451933996919278168165615762700022331490961673718417983595972663520701052799810264987680726591749749774598022965559641349030908399132129156742298140792874359032176043029061879298541352990159292518804572535626872527216714525711341779709306853357017344611308330251340266492811305395675052837705111771167599050214063305906351241831678423540817830168827737141201845191365137598000090637376678975358996042104191437286206916999 94981379904227495662652302257884617551437136257282985062281277094318457889592350131174528486704745994662118596870129185699781547289191446736411618058963788528185025941439396223668847894558801307369063560229318047797360787967734166876318758777252783913546172617837399233889148892592704195408127787229877488965496307914371724396645541826686171379903946802012298300305161309143406329562214999622033493701714598840425108400138612562373286042668492229057568114481047446922199031565369510291854107782165519459549676148346488657537625462934774311187990428395185045717724713940430152192933071431384464046890704315888138578282636912243133659684681786321232792406080367408007086766013394166772242270418454423659852651094473848667551844533897435021665647278608062780856240965855493426071026094124843282292764402212164347184435911972428791666052914004039736993103503095758979857161501283919782297095837613928252402707236938355207520224849466593996782919141631083685375467769814761062936390572817642592010409021981345260063988143875486738817691083756717861081889180299182230193478617373103398085135107366268553148877835892536140379092264653233534940295537341852697692196589721881901962600932540513598134850090333103336750990480375009770147271088511747603491008961475341969121967555254900208551046613035008307404189529321184857295851087080246275398596756396844364698336120491532955408604063612733644803004385525833428250621037126652919772336136831145957724601912477706168633504134116546139243664883962493943348122467796716904778142262269611434640092915019279050730116708128074428689031874947362183235286931401462875110715769689412982972491888459209084228158382540109154791847527837962398689571970569245814259236496510001456240076196651327107349378276156236413224222722553913941397539422891515648744827657546925988551231899115531176838934858810053466749426003643257277463272240014203549936897503450322520323281565137349046998589259161787425575342523266718611189200554170191143364596862617209609172011142708338488034742440637427505443702015990853538200940175380058655412825217497800002 153683100983406320331836879535357699179163175061047260856710922649336334817801353734123863769592155469501861073595633009701001340318335904170044619772027166813093636123475074470061512418465254270234483660187922638774721769065905939230094856436853532361846594603486759335964188834833738184673975889885705284488350462130604981274037597463713034240767305284094791357619812749150963453371086061435955132778441677661139248370087319748894432276819448658734017945177001054663537332301132849289230064155127492945473211742032611544666178806715618028654784873727819646476414174499494268533796452687692840345509390081036169322783037355133255628198984219020382908663851472299980708144492317879008846115890746245232417914044745767521866866186779472035859886532051677702875544348517246566151815653596786851984344404266637023841894144085645560013331760272470361456169162694607257046458010606171208187491974089451974854233376294440552676079338234465842587531851489955509021520131929112594695867031656224437533091024800879373677999336435688513238922322317108482615476953253160649313256351704292714391444650153194708781236009386691021662357176812992516781404940382821667683576694507855190622554666961359029647659609087082746687852715115432246798812952989499537651535040493842657540788719575117554442714098228015586322919369173823764097397186324684083287394551993902122333524016989975179220595716357627541079509413406435396190803682920986154951345411723266979164057222445968690681972053436995149802734592435939716534076401554972419002307516069934384414839438076897353433177130706171077888383115200891550093104160633282132786578699580498776807352066870120307128127159308561088788766806006128014452271992900736775932954914493597428903596897704126917614365956882828162973997320576879501038888453799914780873984399845066781425590931291574205900814157351406456908718522447829813090144767230918075648239283159629373680298909748657377249929525654598730971017576104423722960368153220405206670503213859041287595551960538507315771883642482618870581300016081490914879915534376100759604262503704717001 248664480887633815994489181793242316730600311318330245918992199743654792707393703865298392256296901464163979670465762195400782887607527350906456237830990955341278662064914470693730360313024055577603547220417240686572082557033640106106413615214106316275392767221324158569853337727426442380082103677115582773453846770044976705670683139290399205620671252086107089657924974058294369782933301061057988626480156276501564356770225932311267718319487940887791586059658048501585736363866502359581084171937293012405022887890379100202203804269650392339842775302123004692194138888439924420726729524119077304392400094396924307901065674267376389287883666005341615701069931839707987794910505712045781088386309200668892270565139219616189418710720676907057525533810659740483731785314372739992222841747721630134277108806478801371026330056058074351679384674276510098449272665790366236903619511890090990484587811703380227256940613232795760196304187701059839370450993121039194396987901743873657632257604473867029543500046782224633741987480311175252056613406073826343697366133552342879506734969077396112476579757519463261930113845279227162041449441466226051721700477724674365375773284229737092585155599501872627782509699420186083438843195490442016946084041501247141142544001969184626662756274830017762993760711263023893727108898495008621393248273404930358685991308390746487031860137481508134629199779970361185882513798932268824441424720047639074723681548554412936888659134923674859315476187553541289046399476398433659882198869351689323780449778339545819054932353096176404163293838834245506577414990148253733328391092034745007897294469269911759779843955329329391356285541848670243580614333844090413141843963469982590192191411003598885143673094355454024963744233039064576198220043130793442436427876691430429618812057391992769976822830407105382739749016161459923658144526091087090553417007245121625585136786609951894003580474886006424248518784816386156546360099371142334149568707390596350035100076476250896767563103246845803806626083120046376025002032072344453080855709756159415017087721202517003 402347581871040136326326061328600015909763486379377506775703122392991127525195057599422256025889056933665840744061395205101784227925863255076500857603018122154372298188389545163791872731489309847838030880605163325346804326099546045336508471650959848637239361824810917905817526562260180564756079567001288057942197232175581686944720736754112239861438557370201881015544786807445333236304387122493943759258597954162703605140313252060162150596307389546525604004835049556249273696167635208870314236092420505350496099632411711746869983076366010368497560175850824338670553062939418689260525976806770144737909484477960477223848711622509644916082650224361998609733783312007968503054998029924789934502199946914124688479183965383711285576907456379093385420342711418186607329662889986558374657401318416986261453210745438394868224200143719911692716434548980459905441828484973493950077522496262198672079785792832202111173989527236312872383525935525681957982844610994703418508033672986252328124636130091467076591071583104007419986816746863765295535728390934826312843086805503528819991320781688826868024407672657970711349854665918183703806618279218568503105418107496033059349978737592283207710266463231657430169308507268830126695910605874263744896994490746678794079042463027284203544994405135317436474809491039480050028267668832385490645459729614441973385860384648609365384154471483313849795496327988726962023212338704220632228402968625229675026960277679916052716357369643549997448240990536438849134068834373376416275270906661742782757294409480203469771791173073757596470969540416584465798105349145283421495252668027140683873168850410536587196022199449698484412701157231332369381139850218427594115956370719366125146325497196314047269992059580942578110189921892739172217363707672943475316330491345210492796457237059551402413761698679588640563173512866380566863048538916903643561774476039701233376069769581267683879384634663801498448310470984887517377675475566057109936860611001556705603290335292184363115063785353119578509725602665246606302048153835367960771244132260174621350224907234004 651012062758673952320815243121842332640363797697707752694695322136645920232588761464720648282185958397829820414527157400502567115533390605982957095434009077495650960253304015857522233044513365425441578101022404011918886883133186151442922086865066164912632129046135076475670864289686622944838183244116870831396044002220558392615403876044511445482109809456308970673469760865739703019237688183551932385738754230664267961910539184371429868915795330434317190064493098057835010060034137568451398408029713517755518987522790811949073787346016402708340335477973829030864691951379343109987255500925847449130309578874884785124914385889886034203966316229703614310803715151715956297965503741970571022888509147583016959044323184999900704287628133286150910954153371158670339114977262726550597499149040047120538562017224239765894554256201794263372101108825490558354714494275339730853697034386353189156667597496212429368114602760032073068687713636585521328433837732033897815495935416859909960382240603958496620091118365328641161974297058039017352149134464761170010209220357846408326726289859084939344604165192121232641463699945145345745256059745444620224805895832170398435123262967329375792865865965104285212679007927454913565539106096316280690981035991993819936623044432211910866301269235153080430235520754063373777137166163841006883893733134544800659377168775395096397244291952991448478995276298349912844537011270973045073653123016264304398708508832092852941375492293318409312924428544077727895533545232807036298474140258351066563207072749026022524704144269250161759764808374662091043213095497399016749886344702772148581167638120322296367039977528779089840698243005901575949995473694308840735959919840701956317337736500795199190943086415034967541854422960957315370437406838466385911744207182775640111608514629052321379236592105784971380312189674326304225007574630003994196978781721161326818512856379533161687459859520670225746967095287371044063737774846708391259505568001597906740703366811543081130678167032198923385135808722711622631304080226179821041626953888419589638437946109751007 1053359644629714088647141304450442348550127284077085259470398444529637047757783819064142904308075015331495661158588552605604351343459253861059457953037027199650023258441693561021314105776002675273279608981627567337265691209232732196779430558516026013549871490870945994381488390851946803509594262811118158889338241234396140079560124612798623685343548366826510851689014547673185036255542075306045876144997352184826971567050852436431592019512102719980842794069328147614084283756201772777321712644122134023106015087155202523695943770422382413076837895653824653369535245014318761799247781477732617593868219063352845262348763097512395679120048966454065612920537498463723924801020501771895360957390709094497141647523507150383611989864535589665244296374496082576856946444640152713108972156550358464106800015227969678160762778456345514175064817543374471018260156322760313224803774556882615387828747383289044631479288592287268385941071239572111203286416682343028601234003969089846162288506876734049963696682189948432648581961113804902782647684862855695996323052307163349937146717610640773766212628572864779203352813554611063529449062678024663188727911313939666431494473241704921659000576132428335942642848316434723743692235016702190544435878030482740498730702086895239195069846263640288397866710330245102853827165433832673392374539192864159242632763029160043705762628446424474762328790772626338639806560223609677265705881525984889534073735469109772768994091849662961959310372669534614166744667614067180412714749411165012809345964367158506225994475935442323919356235777915078675509011200846544300171381597370799289265040806970732832954235999728228788325110944163132908319376613544527268330075876211421322442484061997991513238213078474615910119964612882850054542654770546139329387060537674120850604404971866111872781650353804464560020875363187192684791870623168920897840540556197201028051888926149114429371339244155334027245415405758355931581115450322274448369442428612599463446306657146835265493793230817552042963645534325376869237606128380015189002398198020679764259788171016985011 1704371707388388040967956547572284681190491081774793012165093766666282967990372580528863552590260973729325481573115710006106918458992644467042415048471036277145674218694997576878836338820516040698721187082649971349184578092365918348222352645381092178462503619917081070857159255141633426454432446055235029720734285236616698472175528488843135130825658176282819822362484308538924739274779763489597808530736106415491239528961391620803021888427898050415159984133821245671919293816235910345773111052151847540861534074677993335645017557768398815785178231131798482400399936965698104909235036978658465042998528642227730047473677483402281713324015282683769227231341213615439881098986005513865931980279218242080158606567830335383512694152163722951395207328649453735527285559617415439659569655699398511227338577245193917926657332712547308438436918652199961576614870817035652955657471591268968576985414980785257060847403195047300459009758953208696724614850520075062499049499904506706072248889117338008460316773308313761289743935410862941799999833997320457166333261527521196345473443900499858705557232738056900435994277254556208875194318737770107808952717209771836829929596504672251034793441998393440227855527324362178657257774122798506825126859066474734318667325131327451105936147532875441478296945850999166227604302599996514399258432925998704043292140197935438802159872738377466210807786048924688552651097234880650310779534649001153838472443977941865621935467341956280368623297098078691894640201159299987449013223551423363875909171439907532248519180079711574081116000586289740766552224296343943316921267942073571437846208445091055129321275977257007878165809187169034484269372087238836109066035796052123278759821798498786712429156164889650877661819035843807369913092177384605715298804744856896490716013486495164194160886945910249531401187552861518989016878197798924892037519337918362354870401782528647591058799103676004252992382501045726975644853225168982839628947996614197370187010023958378346624471397849750966348781343048088491868910208606195010044025151909099353898226117126736018 2757731352018102129615097852022727029740618365851878271635492211195920015748156399593006456898335989060821142731704262611711269802451898328101873001508063476795697477136691137900150444596518715972000796064277538686450269301598650545001783203897118192012375110788027065238647645993580229964026708866353188610072526471012838551735653101641758816169206543109330674051498856212109775530321838795643684675733458600318211096012244057234613907940000770396002778203149393286003577572437683123094823696273981563967549161833195859340961328190781228862016126785623135769935181980016866708482818456391082636866747705580575309822440580914677392444064249137834840151878712079163805900006507285761292937669927336577300254091337485767124684016699312616639503703145536312384232004257568152768541812249756975334138592473163596087420111168892822613501736195574432594875027139795966180461246148151583964814162364074301692326691787334568844950830192780807927901267202418091100283503873596552234537395994072058424013455498262193938325896524667844582647518860176153162656313834684546282620161511140632471769861310921679639347090809167272404643381415794770997680628523711503261424069746377172693794018130821776170498375640796902400950009139500697369562737096957474817398027218222690301005993796515729876163656181244269081431468033829187791632972118862863285924903227095482507922501184801940973136576821551027192457657458490327576485416174986043372546179447051638390929559191619242327933669767613306061384868773367167861727972962588376685255135807066038474513656015153898000472236364204819442061235497190487617092649539444370727111249252061787962275511976985236666490920131332167392588748700783363377396111672263544601202305860496778225667369243364266787781783648726657424455746947930745044685865282531017341320418458361276066942537299714714091422062916048711673808748820967845789878059894115563382922290708677762020430138347831338280237797906804082907225968675491257287998390425226796833633316681105213612118264628667303009312426877373465361106516336986210199046423349929779118158014288143721029 4462103059406490170583054399595011710931109447626671283800585977862202983738528980121870009488596962790146624304819972617818188261444542795144288049979099753941371695831688714778986783417034756670721983146927510035634847393964568893224135849278210370474878730705108136095806901135213656418459154921588218330806811707629537023911181590484893946994864719392150496413983164751034514805101602285241493206469565015809450624973635678037635796367898820811162762336970638957922871388673593468867934748425829104829083236511189194985978885959180044647194357917421618170335118945714971617717855435049547679865276347808305357296118064316959105768079531821604067383219925694603686998992512799627224917949145578657458860659167821150637378168863035568034711031794990047911517563874983592428111467949155486561477169718357514014077443881440131051938654847774394171489897956831619136118717739420552541799577344859558753174094982381869303960589145989504652516117722493153599333003778103258306786285111410066884330228806575955228069831935530786382647352857496610328989575362205742628093605411640491177327094048978580075341368063723481279837700153564878806633345733483340091353666251049423728587460129215216398353902965159081058207783262299204194689596163432209136065352349550141406942141329391171354460602032243435309035770633825702190891405044861567329217043425030921310082373923179407183944362870475715745108754693370977887264950823987197211018623424993504012865026533575522696556966865691997956025069932667155310741196514011740561164307246973570723032836094865472081588236950494560208613459793534430934013917481517942164957457697152843091596787954242244544656729318501201876858120788022199486462147468315667879962127658995564938096525408253917665443602684570464794368839125315350759984670027387913832036431944856440261103424245624963622823250468910230662825627018766770681915579232033925737792692491206409611488937451507342533230180407849809882870821900660240127627338421840994203820326705063591958742736026517053975661208220421553852975426545592405209090448501838878472056240405270457047 7219834411424592300198152251617738740671727813478549555436078189058122999486685379714876466386932951850967767036524235229529458063896441123246161051487163230737069172968379852679137228013553472642722779211205048722085116695563219438225919053175328562487253841493135201334454547128793886382485863787941406940879338178642375575646834692126652763164071262501481170465482020963144290335423441080885177882203023616127661720985879735272249704307899591207165540540120032243926448961111276591962758444699810668796632398344385054326940214149961273509210484703044753940270300925731838326200673891440630316732024053388880667118558645231636498212143780959438907535098637773767492898999020085388517855619072915234759114750505306917762062185562348184674214734940526360295749568132551745196653280198912461895615762191521110101497555050332953665440391043348826766364925096627585316579963887572136506613739708933860445500786769716438148911419338770312580417384924911244699616507651699810541323681105482125308343684304838149166395728460198630965294871717672763491645889196890288910713766922781123649096955359900259714688458872890753684481081569359649804313974257194843352777735997426596422381478260036992568852278605955983459157792401799901564252333260389683953463379567772831707948135125906901230624258213487704390467238667654889982524377163724430615141946652126403818004875107981348157080939692026742937566412151861305463750366998973240583564802872045142403794585725194765024490636633305304017409938706034323172469169476600117246419443054039609197546492110019370082060473314699379650674695290724918551106567020962312892068706949214631053872299931227481211147649449833369269446869488805562863858259140579212481164433519492343163763894651618184453225386333297122218824586073246095804670535309918931173356850403217716328045961545339677714245313384958942336634375839734616471793639126149489120714983199884171631919075799338680813467978314653892790096790576151497415625728847067791037453643386168805570861000655184356984973635097795019214081942882578615408136871851768657590214254693414178076 11681937470831082470781206651212750451602837261105220839236664166920325983225214359836746475875529914641114391341344207847347646325340983918390449101466262984678440868800068567458124011430588229313444762358132558757719964089527788331450054902453538932962132572198243337430261448264007542800945018709529625271686149886271912599558016282611546710158935981893631666879465185714178805140525043366126671088672588631937112345959515413309885500675798412018328302877090671201849320349784870060830693193125639773625715634855574249312919100109141318156404842620466372110605419871446809943918529326490177996597300401197186024414676709548595603980223312781042974918318563468371179897991532885015742773568218493892217975409673128068399440354425383752708925766735516408207267132007535337624764748148067948457092931909878624115574998931773084717379045891123220937854823053459204452698681626992689048413317053793419198674881752098307452872008484759817232933502647404398298949511429803068848109966216892192192673913111414104394465560395729417347942224575169373820635464559096031538807372334421614826424049408878839790029826936614234964318781722924528610947319990678183444131402248476020150968938389252208967206181571115064517365575664099105758941929423821893089528731917322973114890276455298072585084860245731139699503009301480592173415782208585997944358990077157325128087249031160755341025302562502458682675166845232283351015317822960437794583426297038646416659612258770287721047603498997301973435008638701478483210365990611857807583750301013179920579328204884842163648710265193939859288155084259349485120484502480255057026164646367474145469087885469725755804378768334571146304990276827762350320406608894880361126561178487908101860420059872102118668989017867587013193425198561446564655205337306845005393282348074156589149385790964641337068563853869172999460002858501387153709218358183414858507675691090581243408013250846023346698158722503702672967612476811737543253067268908785241273970091232397529603736681701410960634843318216573067057369428171020617227320353607536062270495098684635123 18901771882255674770979358902830489192274565074583770394672742355978448982711899739551622942262462866492082158377868443076877104389237425041636610152953426215415510041768448420137261239444141701956167541569337607479805080785091007769675973955628867495449386413691378538764715995392801429183430882497471032212565488064914288175204850974738199473323007244395112837344947206677323095475948484447011848970875612248064774066945395148582135204983698003225493843417210703445775769310896146652793451637825450442422348033199959303639859314259102591665615327323511126050875720797178648270119203217930808313329324454586066691533235354780232102192367093740481882453417201242138672796990552970404260629187291409126977090160178434986161502539987731937383140501676042768503016700140087082821418028346980410352708694101399734217072553982106038382819436934472047704219748150086789769278645514564825555027056762727279644175668521814745601783427823530129813350887572315642998566019081502879389433647322374317501017597416252253560861288855928048313237096292842137312281353755986320449521139257202738475521004768779099504718285809504988648799863292284178415261294247873026796909138245902616573350416649289201536058460177071047976523368065899007323194262684211577042992111485095804822838411581204973815709118459218844089970247969135482155940159372310428559500936729283728946092124139142103498106242254529201620241578997093588814765684821933678378148229169083788820454197983965052745538240132302605990844947344735801655679535467211975054003193355052789118125820314904212245709183579893319509962850374984268036227051523442567949094871595582105199341387816697206966952028218167940415751859765633325214178665749474092842290994697980251265624314711490286571894375351164709232018011271807542369325740647225776178750132751291872917195347336304319051313877238828115336094378698236003625502857484332903979222658890974752875327089050184704160166137037157595463064403052963234958878796115976576278727613477401203100464737336885767945608478416011592281139312310749636025364192205376193652484749792098813199 30583709353086757241760565554043239643877402335688991233909406522898774965937114099388369418137992781133196549719212650924224750714578408960027059254419689200093950910568516987595385250874729931269612303927470166237525044874618796101126028858082406428411518985889621876194977443656808971984375901207000657484251637951186200774762867257349746183481943226288744504224412392391501900616473527813138520059548200880001886412904910561892020705659496415243822146294301374647625089660681016713624144830951090216048063668055533552952778414368243909822020169943977498161481140668625458214037732544420986309926624855783252715947912064328827706172590406521524857371735764710509852694982085855420003402755509903019195065569851563054560942894413115690092066268411559176710283832147622420446182776495048358809801626011278358332647552913879123100198482825595268642074571203545994221977327141557514603440373816520698842850550273913053054655436308289947046284390219720041297515530511305948237543613539266509693691510527666357955326849251657465661179320868011511132916818315082351988328511591624353301945054177657939294748112746119223613118645015208707026208614238551210241040540494378636724319355038541410503264641748186112493888943729998113082136192108033470132520843402418777937728688036503046400793978704949983789473257270616074329355941580896426503859926806441054074179373170302858839131544817031660302916745842325872165781002644894116172731655466122435237113810242735340466585843631299907964279955983437280138889901457823832861586943656065969038705148519789054409357893845087259369251005459243617521347536025922823006121036241949579344810475702166932722756406986502511562056850042461087564499072358368973203417555876468159367484734771362388690563364369032296245211436470368988933980945984532621184143415099366029506344733127268960388382441092697288335554381556737390779212075842516318837730334582065334118735102301030727506864295759661298136032015529774972502131863384885361520001583568633600630068474018587178906243321734228165348196681738920656642591512558983729714755244890783448322 49485481235342432012739924456873728836151967410272761628582148878877223948649013838939992360400455647625278708097081094001101855103815834001663669407373115415509460952336965407732646490318871633225779845496807773717330125659709803870802002813711273923860905399581000414959693439049610401167806783704471689696817126016100488949967718232087945656804950470683857341569359599068824996092422012260150369030423813128066660479850305710474155910643194418469315989711512078093400858971577163366417596468776540658470411701255492856592637728627346501487635497267488624212356861465804106484156935762351794623255949310369319407481147419109059808364957500262006739825152965952648525491972638825824264031942801312146172155730029998040722445434400847627475206770087601945213300532287709503267600804842028769162510320112678092549720106895985161483017919760067316346294319353632783991255972656122340158467430579247978487026218795727798656438864131820076859635277792035684296081549592808827626977260861640827194709107943918611516188138107585513974416417160853648445198172071068672437849650848827091777466058946437038799466398555624212261918508307492885441469908486424237037949678740281253297669771687830612039323101925257160470412311795897120405330454792245047175512954887514582760567099617708020216503097164168827879443505239751556485296100953206855063360863535724783020271497309444962337237787071560861923158324839419460980546687466827794550879884635206224057568008226700393212124083763602513955124903328173081794569436925035807915590137011118758156830968834693266655067077424980578879213855834227885557574587549365390955215907837531684544151863518864139689708435204670451977808709808094412778677738107843066045708550574448410633109049482852675262457739720197005477229447742176531303306686631758397362893547850657902423540080463573279439696318331525403671648760254973394404714933326849222816952993473040086994062191351215431667030432796818893599096418582738207461010659500861937798729197046034803730533211355472946851851800150239757629335994049670292667955704764359923367239994682882261521 80069190588429189254500490010916968480029369745961752862491555401775998914586127938328361778538448428758475257816293744925326605818394242961690728661792804615603411862905482395328031741193601564495392149424277939954855170534328599971928031671793680352272424385470622291154670882706419373152182684911472347181068763967286689724730585489437691840286893696972601845793771991460326896708895540073288889089972014008068546892755216272366176616302690833713138136005813452741025948632258180080041741299727630874518475369311026409545416142995590411309655667211466122373838002134429564698194668306772780933182574166152572123429059483437887514537547906783531597196888730663158378186954724681244267434698311215165367221299881561095283388328813963317567273038499161121923584364435331923713783581337077127972311946123956450882367659809864284583216402585662584988368890557178778213233299797679854761907804395768677329876769069640851711094300440110023905919668011755725593597080104114775864520874400907336888400618471584969471514987359242979635595738028865159578114990386151024426178162440451445079411113124094978094214511301743435875037153322701592467678522724975447278990219234659890021989126726372022542587743673443272964301255525895233487466646900278517308033798289933360698295787654211066617297075869118811668916762510367630814652042534103281567220790342165837094450870479747821176369331888592522226075070681745333146327690111721910723611540101328659294681818469435733678709927394902421919404859311610361933459338382859640777177080667184727195536117354482321064424971270067838248464861293471503078922123575288213961336944079481263888962339221031072412464842191172963539865559850555500343176810466212039249126106450916570000593784254215063953021104089229301722440884212545520237287632616291018547036962950023931929884813590842239828078759424222692007203141811710785183927009169365541654683328055105421112797293652246159173894728556480191735128434112513179963142522885747299318730780614668404360601685374060125758095121884467922977532675788590949310547217323343653081995239573665709843 129554671823771621267240414467790697316181337156234514491073704280653222863235141777268354138938904076383753965913374838926428460922210076963354398069165920031112872815242447803060678231512473197721171994921085713672185296194038403842730034485504954276133329785051622706114364321756029774319989468615944036877885889983387178674698303721525637497091844167656459187363131590529151892801317552333439258120395827136135207372605521982840332526945885252182454125717325530834426807603835343446459337768504171532988887070566519266138053871622936912797291164478954746586194863600233671182351604069124575556438523476521891530910206902546947322902505407045538337022041696615806903678927363507068531466641112527311539377029911559136005833763214810945042479808586763067136884896723041426981384386179105897134822266236634543432087766705849446066234322345729901334663209910811562204489272453802194920375234975016655816902987865368650367533164571930100765554945803791409889678629696923603491498135262548164083109726415503580987703125466828493610012155189718808023313162457219696864027813289278536856877172070532016893680909857367648136955661630194477909148431211399684316939897974941143319658898414202634581910845598700433434713567321792353892797101692523564483546753177447943458862887271919086833800173033287639548360267750119187299948143487310136630581653877890620114722367789192783513607118960153384149233395521164794126874377578549705274491424736534883352249826696136126890834011158504935874529762639783443728028775307895448692767217678303485352367086189175587719492048695048417127678717127699388636496711124653604916552851917012948433114202739895212102173277395843415517674269658649913121854548574055105294834657025364980633702833737067739215478843809426307199670331954722051540594319248049415909930510800681834353424894054415519267775077755748095678851902066684179588641942496214764471636321528145508106859485003461590840925161353299085334224852695251387424153182386609237117459977660703208091134896729533072609946922034707680606868669838261241978502922087703576449235234256547971364 209623862412200810521740904478707665796210706902196267353565259682429221777821269715596715917477352505142229223729668583851755066740604319925045126730958724646716284678147930198388709972706074762216564144345363653627040466728367003814658066157298634628405754170522244997269035204462449147472172153527416384058954653950673868399428889210963329337378737864629061033156903581989478789510213092406728147210367841144203754265360738255206509143248576085895592261723138983575452756236093523526501079068231802407507362439877545675683470014618527324106946831690420868960032865734663235880546272375897356489621097642674463654339266385984834837440053313829069934218930427278965281865882088188312798901339423742476906598329793120231289222092028774262609752847085924189060469261158373350695167967516183025107134212360590994314455426515713730649450724931392486323032100467990340417722572251482049682283039370785333146779756935009502078627465012040124671474613815547135483275709801038379356019009663455500971510344887088550459218112826071473245607893218583967601428152843370721290205975729729981936288285194626994987895421159111084011992814952896070376826953936375131595930117209601033341648025140574657124498589272143706399014822847687587380263748592802081791580551467381304157158674926130153451097248902406451217277030260486818114600186021413418197802444220056457209173238268940604689976450848745906375308466202910127273202067690271615998102964837863542646931645165571860569543938553407357793934621951393805661488113690755089469944298345488212547903203543657908783917019965116255376143578421170891715418834699941818877889795996494212322076541960926284514638119587016379057539829509205413465031359040267144543960763476281550634296617991282803168499947898655608922111216167267571777881951864340434456967473750705766283309707645257759095853837179970787686055043878394964772568951665580306126319649583250929219656778655707750014819889909779277069353286807764567387295705272356536436190758275371612451736582103593198368042043919175603584401345626852191289050139411047229531230473830213681207 339178534235972431788981318946498363112392044058430781844638963963082444641056411492865070056416256581525983189643043422778183527662814396888399524800124644677829157493390378001449388204218547959937736139266449367299225762922405407657388100642803588904539083955573867703383399526218478921792161622143360420936840543934061047074127192932488966834470582032285520220520035172518630682311530644740167405330763668280338961637966260238046841670194461338078046387440464514409879563839928866972960416836735973940496249510444064941821523886241464236904237996169375615546227729334896907062897876445021932046059621119196355185249473288531782160342558720874608271240972123894772185544809451695381330367980536269788445975359704679367295055855243585207652232655672687256197354157881414777676552353695288922241956478597225537746543193221563176715685047277122387657695310378801902622211844705284244602658274345801988963682744800378152446160629583970225437029559619338545372954339497961982847517144926003665054620071302592131446921238292899966855620048408302775624741315300590418154233789019008518793165457265159011881576331016478732148948476583090548285975385147774815912870015184542176661306923554777291706409434870844139833728390169479941273060850285325646275127304644829247616021562198049240284897421935694090765637298010606005414548329508723554828384098097947077323895606058133388203583569808899290524541861724074921400076445268821321272594389574398425999181471861707987460377949711912293668464384591177249389516888998650538162711516023791697900270289732833496503409068660164672503822295548870280351915545824595423794442647913507160755190744700821496616811396982859794575214099167855326586885907614322249838795420501646531267999451728350542383978791708081916121781548121989623318476271112389850366897984551387600636734601699673278363628914935718883364906945945079144361210894161795070597955971111396437326516263659169340855745051263078362403578139503015954811448887658965773553650735936074820542871478833126270977988965953883284191270015465113433267553061498750805980465708086761652571 548802396648173242310722223425206028908602750960627049198204223645511666418877681208461785973893609086668212413372712006629938594403418716813444651531083369324545442171538308199838098176924622722154300283611813020926266229650772411472046166800102223532944838126096112700652434730680928069264333775670776804995795197884734915473556082143452296171849319896914581253676938754508109471821743737146895552541131509424542715903326998493253350813443037423973638649163603497985332320076022390499461495904967776348003611950321610617504993900859991561011184827859796484506260595069560142943444148820919288535680718761870818839588739674516616997782612034703678205459902551173737467410691539883694129269319960012265352573689497799598584277947272359470261985502758611445257823419039788128371720321211471947349090690957816532060998619737276907365135772208514873980727410846792243039934416956766294284941313716587322110462501735387654524788094596010350108504173434885680856230049299000362203536154589459166026130416189680681906139351118971440101227941626886743226169468143961139444439764748738500729453742459786006869471752175589816160941291535986618662802339084149947508800132394143210002954948695351948830908024142987846232743213017167528653324598878127728066707856112210551773180237124179393735994670838100541982914328271092823529148515530136973026186542318003534533068844327073992893560020657645196899850327926985048673278512959092937270697354412261968646113117027279848029921888265319651462399006542571055051005002689405627632655814369279910448173493276491405287326088625280927879965873970041172067334380524537242672332443910001373077267286661747781131449516569876173632753928677060740051917266654589394382756183977928081902296069719633345552478739606737525043892764289257195096358222976730284823865458302093366920044309344931037459482752115689671050961989823474109133779845827375376724275620694647366546173042314877090870564941172857639472931426310780522198744592931322309989841494211446432994608060936719469346031009873058887775671361091965624556603200909798035511696181916975333778 887980930884145674099703542371704392020994795019057831042843187608594111059934092701326856030309865668194195603015755429408122122066233113701844176331208014002374599664928686201287486381143170682092036422878262388225491992573177819129434267442905812437483922081669980404035834256899406991056495397814137225932635741818795962547683275075941263006319901929200101474196973927026740154133274381887062957871895177704881677541293258731300192483637498762051685036604068012395211883915951257472421912741703750288499861460765675559326517787101455797915422824029172100052488324404457050006342025265941220581740339881067174024838212963048399158125170755578286476700874675068509652955500991579075459637300496282053798549049202478965879333802515944677914218158431298701455177576921202906048272674906760869591047169555042069807541812958840084080820819485637261638422721225594145662146261662050538887599588062389311074145246535765806970948724179980575545533733054224226229184388796962345051053299515462831080750487492272813353060589411871406956847990035189518850910783444551557598673553767747019522619199724945018751048083192068548309889768119077166948777724231924763421670147578685386664261872250129240537317459013831986066471603186647469926385449163453374341835160757039799389201799322228634020892092773794632748551626281698828943696845038860527854570640415950611856964450385207381097143590466544487424392189651059970073354958227914258543291743986660394645294588888987835490299837977231945130863391133748304440521891688056165795367330393071608348443783009324901790735157285445600383788169518911452419249926349132666466775091823508533832458031362569277748260913552735968207968027844916066638803174268911644221551604479574613170295521447983887936457531314819441165674312411246818414834494089120135190763442853480967556778911044604315823111667051408554415868935768553253494990739989170447322231591806043803872689305974046431726309992435936001876509565813796477010193480590288083543492230147521253537479539769845740324019975826942171966941376557079057824156262408548841492161890003736986349 1436783327532318916410425765796910420929597545979684880241047411254105777478811773909788642004203474754862408016388467436038060716469651830515288827862291383326920041836466994401125584558067793404246336706490075409151758222223950230601480434243008035970428760207766093104688268987580335060320829173484914030928430939703530878021239357219393559178169221826114682727873912681534849625955018119033958510413026687129424393444620257224553543297080536186025323685767671510380544203991973647971883408646671526636503473411087286176831511687961447358926607651888968584558748919474017192949786174086860509117421058642937992864426952637565016155907782790281964682160777226242247120366192531462769588906620456294319151122738700278564463611749788304148176203661189910146713000995960991034419992996118232816940137860512858601868540432696116991445956591694152135619150132072386388702080678618816833172540901778976633184607748271153461495736818775990925654037906489109907085414438095962707254589454104921997106880903681953495259199940530842847058075931662076262077080251588512697043113318516485520252072942184731025620519835367658364470831059655063785611580063316074710930470279972828596667216820945481189368225483156819832299214816203814998579710048041581102408543016869250351162382036446408027756886763611895174731465954552791652472845360568997500880757182733954146390033294712281373990703611124189684324242517578045018746633471187007195813989098398922363291407705916267683520221726242551596593262397676319359491526894377461793428023144762351518796617276285816307078061245910726528263754043488952624486584306873669909139107535733509906909725318024317058879710430122612141840721956521976806690720440923501038604307788457502695072591591167617233488936270921556966209567076700504013511192717065850420014628901155574334476823220389535353282594419167098225466830925592027362628770585816545824046507212500691170418862348288923522596874933608793641349440992124576999208938073521610393533333724358967686532087600706565209670050985700001059742612737649044682380759463318346877003858071920712320127 2324764258416464590510129308168614812950592340998742711283890598862699888538745866611115498034513340423056603619404222865446182838535884944217133004193499397329294641501395680602413070939210964086338373129368337797377250214797128049730914701685913848407912682289436073508724103244479742051377324571299051256861066681522326840568922632295334822184489123755314784202070886608561589780088292500921021468284921864834306070985913515955853735780718034948077008722371739522775756087907924905444305321388375276925003334871852961736158029475062903156842030475918140684611237243878474242956128199352801729699161398524005166889265165600613415314032953545860251158861651901310756773321693523041845048543920952576372949671787902757530342945552304248826090421819621208848168178572882193940468265671024993686531185030067900671676082245654957075526777411179789397257572853297980534364226940280867372060140489841365944258752994806919268466685542955971501199571639543334133314598826892925052305642753620384828187631391174226308612260529942714254014923921697265780927991035033064254641786872284232539774692141909676044371567918559726912780720827774140952560357787547999474352140427551513983331478693195610429905542942170651818365686419390462468506095497205034476750378177626290150551583835768636661777778856385689807480017580834490481416542205607858028735327823149904758246997745097488755087847201590734171748634707229104988819988429414921454357280842385582757936702294805255519010521564219783541724125788810067663932048786065517959223390475155423127145061059295141208868796403196172128647542213007864076905834233222802575605882627557018440742183349386886336627971343675348110048689984366892873329523615192412682825859392937077308242887112615601121425393802236376407375241389111750831926027211154970555205392344009055302033602131434139669105706086218506779882699861360580616123761325805716271368738804306734974291551654262969954323184926044729643225950557938373476219131554111898477076825954506488940069567140476410949994070961526943231709554114206123740204915725726895718496019961924449306476 3761547585948783506920555073965525233880189886978427591524938010116805666017557640520904140038716815177919011635792690301484243555005536774732421832055790780656214683337862675003538655497278757490584709835858413206529008437021078280332395135928921884378341442497202166613412372232060077111698153744783965287789497621225857718590161989514728381362658345581429466929944799290096439406043310619954979978697948551963730464430533773180407279077798571134102332408139411033156300291899898553416188730035046803561506808282940247912989541163024350515768638127807109269169986163352491435905914373439662238816582457166943159753692118238178431469940736336142215841022429127553003893687886054504614637450541408870692100794526603036094806557302092552974266625480811118994881179568843184974888258667143226503471322890580759273544622678351074066972734002873941532876722985370366923066307618899684205232681391620342577443360743078072729962422361731962426853609546032444040400013264988887759560232207725306825294512294856179803871460470473557101072999853359342043005071286621576951684900190800718060026765084094407069992087753927385277251551887429204738171937850864074185282610707524342579998695514141091619273768425327471650664901235594277467085805545246615579158921194495540501713965872215044689534665619997584982211483535387282133889387566176855529616085005883858904637031039809770129078550812714923856072877224807150007566621900601928650171269940784505121228110000721523202530743290462335138317388186486387023423575680442979752651413619917774645941678335580957515946857649106898656911296256496816701392418540096472484744990163290528347651908667411203395507681773797960251889411940888869680020244056115913721430167181394580003315478703783218354914330073157933373584808465812254845437219928220820975220021245164629636510425351823675022388300505385605005349530786952607978752531911622262095415246016807426144710414002551893476920059859653523284575391550062950475428069627633508870610159678865456626601654741182976159664121947226944291452166851855168422585675189045242595499878033845161626603 6086311844365248097430684382134140046830782227977170302808828608979505554556303507132019638073230155600975615255196913166930426393541421718949554836249290177985509324839258355605951726436489721576923082965226751003906258651818206330063309837614835732786254124786638240122136475476539819163075478316083016544650564302748184559159084621810063203547147469336744251132015685898658029186131603120876001446982870416798036535416447289136261014858516606082179341130511150555932056379807823458860494051423422080486510143154793209649147570638087253672610668603725249953781223407230965678862042572792463968515743855690948326642957283838791846783973689882002466999884081028863760667009579577546459685994462361447065050466314505793625149502854396801800357047300432327843049358141725378915356524338168220190002507920648659945220704924006031142499511414053730930134295838668347457430534559180551577292821881461708521702113737884991998429107904687933928053181185575778173714612091881812811865874961345691653482143686030406112483721000416271355087923775056607823933062321654641206326687063084950599801457226004083114363655672487112190032272715203345690732295638412073659634751135075856563330174207336702049179311367498123469030587654984739935591901042451650055909299372121830652265549707983681351312444476383274789691501116221772615305929771784713558351412829033763662884028784907258884166398014305658027821511932036254996386610330016850104528550783170087879164812295526778721541264854682118680041513975296454687355624466508497711874804095073197773086739394876098724815654052303070785558838469504680778298252773319275060350872790847546788394092016798089732135653117473308361938101925255762553349767671308326404256026574331657311558365816398819476339723875394309780960049854924005677363247139375791530425413589173684938544027483257814691494006591604111785232230648313188594876293237427978366783984821114161119001965656814863431243244785698252927801342108001323951647201181745407347686985633371945566671221881659387109658192908753887523161720966061292162790590914772138313995897995769610933079 9847859430314031604351239456099665280710972114955597894333766619096311220573861147652923778111946970778894626890989603468414669948546958493681976668305080958641724008177121030609490381933768479067507792801085164210435267088839284610395704973543757617164595567283840406735548847708599896274773632060866981832440061923974042277749246611324791584909805814918173718061960485188754468592174913740830981425680818968761766999846981062316668293936315177216281673538650561589088356671707722012276682781458468884048016951437733457562137111801111604188379306731532359222951209570583457114767956946232126207332326312857891486396649402076970278253914426218144682840906510156416764560697465632051074323445003770317757151260841108829719956060156489354774623672781243446837930537710568563890244783005311446693473830811229419218765327602357105209472245416927672463011018824038714380496842178080235782525503273082051099145474480963064728391530266419896354906790731608222214114625356870700571426107169070998478776655980886585916355181470889828456160923628415949866938133608276218158011587253885668659828222310098490184355743426414497467283824602632550428904233489276147844917361842600199143328869721477793668453079792825595119695488890579017402677706587698265635068220566617371153979515580198726040847110096380859771902984651609054749195317337961569087967497834917622567521059824717029013244948827020581883894389156843405003953232230618778754699820723954593000392922296248301924072008145144453818358902161782841710779200146951477464526217714990972419028417730457056240762511701409969442470134726001497479690671313415747545095862954138075136046000684209293127643334891271268613827513866144632233370011727424240125686193755726237314873844520182037831254053948552243154544858320736260522800467067596612505645434834338314575054452835081489713882307096989716790581761435265796573628825149050240462199230837921587263712379659366756908163304645351776212376733658064274427075270809378916218297145312237402193272876622842363269322314855980831814613887817916460585376266103817380909495776029614772559682 15934171274679279701781923838233805327541754342932768197142595228075816775130164654784943416185177126379870242146186516635345096342088380212631531504554371136627233333016379386215442108370258200644430875766311915214341525740657490940459014811158593349950849692070478646857685323185139715437849110376949998377090626226722226836908331233134854788456953284254917969193976171087412497778306516861706982872663689385559803535263428351452929308794831783298461014669161712145020413051515545471137176832881890964534527094592526667211284682439198857860989975335257609176732432977814422793629999519024590175848070168548839813039606685915762125037888116100147149840790591185280525227707045209597534009439466131764822201727155614623345105563010886156574980720081675774680979895852293942805601307343479666883476338731878079163986032526363136351971756830981403393145314662707061837927376737260787359818325154543759620847588218848056726820638171107830282959971917184000387829237448752513383291982130416690132258799666916992028838902471306099811248847403472557690871195929930859364338274316970619259629679536102573298719399098901609657316097317835896119636529127688221504552112977676055706659043928814495717632391160323718588726076545563757338269607630149915690977519938739201806245065288182407392159554572764134561594485767830827364501247109746282646318910663951386230405088609624287897411346841326239911715901088879660000339842560635628859228371507124680879557734591775080645613272999826572498400416137079296398134824613459975176401021810064170192115157125333154965578165753713040228028973195506178257988924086735022605446735744985621924440092701007382859778988008744576975765615791400394786719779398732566529942220330057894626432210336580857307593777823946552935504908175660266200163714206972404036070848423511999513598480318339304405376313688593828575813992083578985168505118386478218828983215659035748382714345316181620339406549431050029140178075766065598378722471991124323565984130945609347759944098504501750378980507764734719337775608783977752748166857018589519223491674025384383492761 25782030704993311306133163294333470608252726457888366091476361847172127995704025802437867194297124097158764869037176120103759766290635338706313508172859452095268957341193500416824932490304026679711938668567397079424776792829496775550854719784702350967115445259354319053593234170893739611712622742437816980209530688150696269114657577844459646373366759099173091687255936656276166966370481430602537964298344508354321570535110409413769597602731146960514742688207812273734108769723223267483413859614340359848582544046030260124773421794240310462049369282066789968399683642548397879908397956465256716383180396481406731299436256087992732403291802542318291832681697101341697289788404510841648608332884469902082579352987996723453065061623167375511349604392862919221518910433562862506695846090348791113576950169543107498382751360128720241561444002247909075856156333486745776218424218915341023142343828427625810719993062699811121455212168437527726637866762648792222601943862805623213954718089299487688611035455647803577945194083942195928267409771031888507557809329538207077522349861570856287919457901846201063483075142525316107124599921920468446548540762616964369349469474820276254849987913650292289386085470953149313708421565436142774740947314217848181326045740505356572960224580868381133433006664669144994333497470419439882113696564447707851734286408498869008797926148434341316910656295668346821795610290245723065004293074791254407613928192231079273879950656888023382569685281144971026316759318298862138108914024760411452640927239525055142611143574855790211206340677455123009670499107921507675737679595400150770150542598699123697060486093385216675987422322900015845589593129657545027020089791126156806655628414085784131941306054856762895138847831772498796090049766496396526722964181274569016541716283257850314088652933153420794119258620785583545366395753518844781742133943535528459291182446496957335646426724975548377247569854076401805352554809424129872805797742800503239784281276257846749953216975127344113648302822620715551152389496601894213333543123122406900132987450054999156052443 41716201979672591007915087132567275935794480800821134288618957075247944770834190457222810610482301223538635111183362636739104862632723718918945039677413823231896190674209879803040374598674284880356369544333708994639118318570154266491313734595860944317066294951424797700450919494078879327150471852814766978586621314377418495951565909077594501161823712383428009656449912827363579464148787947464244947171008197739881374070373837765222526911525978743813203702876973985879129182774738812954551036447222250813117071140622786791984706476679509319910359257402047577576416075526212302702027955984281306559028466649955571112475862773908494528329690658418438982522487692526977815016111556051246142342323936033847401554715152338076410167186178261667924585112944594996199890329415156449501447397692270780460426508274985577546737392655083377913415759078890479249301648149452838056351595652601810502162153582169570340840650918659178182032806608635556920826734565976222989773100254375727338010071429904378743294255314720569974032986413502028078658618435361065248680525468137936886688135887826907179087581382303636781794541624217716781916019238304342668177291744652590854021587797952310556646957579106785103717862113473032297147641981706532079216921847998097017023260444095774766469646156563540825166219241909128895091956187270709478197811557454134380605319162820395028331237043965604808067642509673061707326191334602725004632917351890036473156563738203954759508391479798463215298554144797598815159734435941434507048849373871427817328261335119312803258731981123366171918843208836049898528081117013853995668519486885792755989334444109318984926186086224058847201310908760422565358745448945421806809570524889373185570634415842026567738265193343752446441609596445349025554674672056792923127895481541420577787131681362313602251413471760098524634934474177373942209745602423766910639061922006678120165662155993084029141070291729997586976403507451834492732885190195471184520214791627563350265407203456097713161073631845864027283330385450270490165105385871966081709980140996419356479124080383539545204 67498232684665902314048250426900746544047207258709500380095318922420072766538216259660677804779425320697399980220538756842864628923359057625258547850273275327165148015403380219865307088978311560068308212901106074063895111399651042042168454380563295284181740210779116754044153664972618938863094595252583958796152002528114765066223486922054147535190471482601101343705849483639746430519269378066782911469352706094202944605484247178992124514257125704327946391084786259613237952497962080437964896061562610661699615186653046916758128270919819781959728539468837545976099718074610182610425912449538022942208863131362302411912118861901226931621493200736730815204184793868675104804516066892894750675208405935929980907703149061529475228809345637179274189505807514217718800762978018956197293488041061894037376677818093075929488752783803619474859761326799555105457981636198614274775814567942833644505982009795381060833713618470299637244975046163283558693497214768445591716963059998941292728160729392067354329710962524147919227070355697956346068389467249572806489855006345014409037997458683195098545483228504700264869684149533823906515941158772789216718054361616960203491062618228565406634871229399074489803333066622346005569207417849306820164236065846278343069000949452347726694227024944674258172883911054123228589426606710591591894376005161986114891727661689403826257385478306921718723938178019883502936481580325790008925992143144444087084755969283228639459048367821845784983835289768625131919052734803572615962874134282880458255500860174455414402306836913577378259520663959059569027189038521529733348114887036562906531933143233016045412279471440734834623633808776268154951875106490448826899361651046179841199048501626158509044320050106647585289441368944145115604441168453319646092076756110437119503414939212627690904346625180892643893555259760919308605499121268548652773005457535137411348108652950419675567795267278374834546257583853639845287694614325343990317957592130803134546683461302847666378048759189977675586153006165821642554601987766179415253103263403319489466574135382695597647 109214434664338493321963337559468022479841688059530634668714275997668017537372406716883488415261726544236035091403901393581969491556082776544203587527687098559061338689613260022905681687652596440424677757234815068703013429969805308533482188976424239601248035162203914454495073159051498266013566448067350937382773316905533261017789395999648648697014183866029111000155762311003325894668057325531027858640360903834084318675858084944214651425783104448141150093961760245492367135272700893392515932508784861474816686327275833708742834747599329101870087796870885123552515793600822485312453868433819329501237329781317873524387981635809721459951183859155169797726672486395652919820627622944140893017532341969777382462418301399605885395995523898847198774618752109213918691092393175405698740885733332674497803186093078653476226145438886997388275520405690034354759629785651452331127410220544644146668135591964951401674364537129477819277781654798840479520231780744668581490063314374668630738232159296446097623966277244717893260056769199984424727007902610638055170380474482951295726133346510102277633064610808337046664225773751540688431960397077131884895346106269551057512650416180875963281828808505859593521195180095378302716849399555838899381157913844375360092261393548122493163873181508215083339103152963252123681382793981301070092187562616120495497046824509798854588622522272526526791580687692945210262672914928515013558909495034480560241319707487183398967439847620309000282389434566223947078787170745007123011723508154308275583762195293768217661038818036943550178363872795109467555270155535383729016634373922355662521267587342335030338465557664793681824944717536690720310620555435870633708932175935553026769682917468185076782585243450400031731050965389494141159115840510112569219972237651857697290546620574941293155760096940991168528489733938293250815244723692315563412067379541815531513770808943503704708865559008372421522661091305474338020579804520815174838172383758366484812090664758945379539122391035841702869483391616092132719707373638145496963083404399738845945698215766235142851 176712667349004395636011587986368769023888895318240135048809594920088090303910622976544166220041151864933435071624440150424834120479441834169462135377960373886226486705016640242770988776630908000492985970135921142766908541369456350575650643356987534885429775372983031208539226824024117204876661043319934896178925319433648026084012882921702796232204655348630212343861611794643072325187326703597810770109713609928287263281342332123206775940040230152469096485046546505105605087770662973830480828570347472136516301513928880625500963018519148883829816336339722669528615511675432667922879780883357352443446192912680175936300100497710948391572677059891900612930857280264328024625143689837035643692740747905707363370121450461135360624804869536026472964124559623431637491855371194361896034373774394568535179863911171729405714898222690616863135281732489589460217611421850066605903224788487477791174117601760332462508078155599777456522756700962124038213728995513114173207026374373609923466392888688513451953677239768865812487127124897940770795397369860210861660235480827965704764130805193297376178547839313037311533909923285364594947901555849921101613400467886511261003713034409441369916700037904934083324528246717724308286056817405145719545393979690653703161262343000470219858100206452889341511987064017375352270809400691892661986563567778106610388774486199202680846008000579448245515518865712828713199154495254305022484901638178924647326075676770412038426488215442154785266224724334849078997839905548579738974597642437188733839263055468223632063345654950520928437884536754169036582459194056913462364749260958918569053200730575351075750745029105528516448578526312958875262495661926319460608293826981732867968731419094343585826905293557047617020492334333639256763557008963432215312048993762294816793961559787568984060106722121883812422044993699212559420743844960864216185072837076952942861879461893923380276660826286747256068918675159114183308274418846159165156129975889169619358774126061793045917171150225819378455636397781913775274309361404324912216186667803058335412272351148930740498 285927102013342888957974925545836791503730583377770769717523870917756107841283029693427654635302878409169470163028341544006803612035524610713665722905647472445287825394629900265676670464283504440917663727370736211469921971339261659109132832333411774486677810535186945663034299983075615470890227491387285833561698636339181287101802278921351444929218839214659323344017374105646398219855384029128838628750074513762371581957200417067421427365823334600610246579008306750597972223043363867222996761079132333611332987841204714334243797766118477985699904133210607793081131305276255153235333649317176681944683522693998049460688082133520669851523860919047070410657529766659980944445771312781176536710273089875484745832539751860741246020800393434873671738743311732645556182947764369767594775259507727243032983050004250382881941043661577614251410802138179623814977241207501518937030635009032121937842253193725283864182442692729255275800538355760964517733960776257782754697089688748278554204625047984959549577643517013583705747183894097925195522405272470848916830615955310917000490264151703399653811612450121374358198135697036905283379861952927052986508746574156062318516363450590317333198528846410793676845723426813102611002906216960984618926551893535029063253523736548592713021973387961104424851090216980627475952192194673193732078751130394227105885821310709001535434630522851974772307099553405773923461827410182820036043811133213405207567395384257595437393928063062463785548614158901073026076627076293586861986321150591497009423025250761991849724384472987464478616248409549278504137729349592297191381383634881274231574468317917686106089210586770322198273523243849649595573116217362190094317226002917285894738414336562528662609490537007447648751543299723133397922672849473544784532021231414152514084508180362510277215866819062874980950534727637505810235988568653179779597140216618768474375650270837427084985526385295119677591579766464588521328854223366974339994302359647536104170864790820738425456293541261661081325119789398005907994016735042470409179270072202797181357970566915165883349 462639769362347284593986513532205560527619478696010904766333465837844198145193652669971820855344030274102905234652781694431637732514966444883127858283607846331514312099646540508447659240914412441410649697506657354236830512708718009684783475690399309372107585908169976871573526807099732675766888534707220729740623955772829313185815161843054241161423494563289535687878985900289470545042710732726649398859788123690658845238542749190628203305863564753079343064054853255703577310814026841053477589649479805747849289355133594959744760784637626869529720469550330462609746816951687821158213430200534034388129715606678225396988182631231618243096537978938971023588387046924308969070915002618212180403013837781192109202661202321876606645605262970900144702867871356077193674803135564129490809633282121811568162913915422112287655941884268231114546083870669213275194852629351585542933859797519599729016370795485616326690520848329032732323295056723088555947689771770896927904116063121888477671017936673473001531320756782449518234311018995865966317802642331059778490851436138882705254394956896697029990160289434411669732045620322269878327763508776974088122147042042573579520076484999758703115228884315727760170251673530826919288963034366130338471945873225682766414786079549062932880073594413993766363077280998002828223001595365086394065314698172333716274595796908204216280638523431423017822618419118602636660981905437125058528712771392329854893471061028007475820416278504618570814838883235922105074466981842166600960918793028685743262288306230215481787730127937985407054132946303447540720188543649210653746132895840192800627669048493037181839955615875850714722101770162608470835611879288509554925519829899018762707145755656872248436395830564495265772035634056772654686229858436976999844070225176447330878469740150079261275973541184758793372579721336718369656732413614043995782213053695721417237529732731350465262187211581866933660498441623702704637128642213133505150432335536705723529638916882531471373464691487480459780756187179919683268326096446795321395456740005855516770242918064096623847 748566871375690173551961439078042352031350062073781674483857336755600305986476682363399475490646908683272375397681123238438441344550491055596793581189255318776802137494276440774124329705197916882328313424877393565706752484047979668793916308023811083858785396443356922534607826790175348146657116026094506563302322592112010600287617440764405686090642333777948859031896360005935868764898094761855488027609862637453030427195743166258049630671686899353689589643063160006301549533857390708276474350728612139359182277196338309293988558550756104855229624602760938255690878122227942974393547079517710716332813238300676274857676264764752288094620398897986041434245916813584289913516686315399388717113286927656676855035200954182617852666405656405773816441611183088722749857750899933897085584892789849054601145963919672495169596985545845845365956886008848837090172093836853104479964494806551721666858623989210900190872963541058288008123833412484053073681650548028679682601205751870167031875642984658432551108964273796033223981494913093791161840207914801908695321467391449799705744659108600096683801772739555786027930181317359175161707625461704027074630893616198635898036439935590076036313757730726521437015975100343929530291869251327114957398497766760711829668309816097655645902046982375098191214167497978630304175193790038280126144065828566560822160417107617205751715269046283397790129717972524376560122809315619945094572523904605735062460866445285602913214344341567082356363453042136995131151094058135753462947239943620182752685313556992207331512114600925449885670381355852726044857917893241507845127516530721467032202137366410723287929166202646172912995625014012258066408728096650699649242745832816304657445560092219400911045886367571942914523578933779906052608902707910521784376091456590599844962977920512589538491840360247633774323114448974224179892720982267223775379353270314489891613180003568777550247713596876986611252078208088291225965982865580107845144734695184241827700503707703269896829758232749141541105875976577925591262342831489265730574726812208652698128213484979262507196 1211206640738037458145947952610247912558969540769792579250190802593444504131670335033371296345990938957375280632333904932870079077065457500479921439472863165108316449593922981282571988946112329323738963122384050919943582996756697678478699783714210393230892982351526899406181353597275080822424004560801727293042946547884839913473432602607459927252065828341238394719775345906225339309940805494582137426469650761143689272434285915448677833977550464106768932707118013262005126844671417549329951940378091945107031566551471904253733319335393731724759345072311268718300624939179630795551760509718244750720942953907354500254664447395983906337716936876925012457834303860508598882587601318017600897516300765437868964237862156504494459312010919376673961144479054444799943532554035498026576394526071970866169308877835094607457252927430114076480502969879518050365366946466204690022898354604071321395874994784696516517563484389387320740447128469207141629629340319799576610505321814992055509546660921331905552640285030578482742215805932089657128158010557132968473812318827588682410999054065496793713791933028990197697662226937681445040035388970481001162753040658241209477556516420589834739428986615042249197186226773874756449580832285693245295870443639986394596083095895646718578782120576789091957577244778976633132398195385403366520209380526738894538435012904525409967995907569714820807952336391642979196783791221057070153101236675998064917354337506313610389034760620071700927178291925372917236225561039977920063908158736648868495947601863222422813299844728863435292724514302156173585578106436890718498873649426561659832829806414903760469769121818522023627717726784174866537244339975939209204168265662715323420152705847876273159482282198136438180295614567836678707295132566347498784220161681767047175841447660662668799767813901432392567695694170310942549549453395881267771161566324010211308850709736300128015509900808458853544912576649711993930603111507793241350295167030720947551230142624585801368203222924236622000886632163757845274530668927936061051970183552214508214898456403043359131043 1959773512113727631697909391688290264590319602843574253734048139349044810118147017396770771836637847640647656030015028171308520421615948556076715020662118483885118587088199422056696318651310246206067276547261444485650335480804677347272616091738021477089678378794883821940789180387450428969081120586896233856345269139996850513761050043371865613342708162119187253751671705912161208074838900256437625454079513398596719699630029081706727464649237363460458522350181173268306676378528808257606426291106704084466213843747810213547721877886149836579988969675072206973991503061407573769945307589235955467053756192208030775112340712160736194432337335774911053892080220674092888796104287633416989614629587693094545819273063110687112311978416575782447777586090237533522693390304935431923661979418861819920770454841754767102626849912975959921846459855888366887455539040303057794502862849410623043062733618773907416708436447930445608748570961881691194703310990867828256293106527566862222541422303905990338103749249304374515966197300845183448289998218471934877169133786219038482116743713174096890397593705768545983725592408255040620201743014432185028237383934274439845375592956356179910775742744345768770634202201874218685979872701537020360253268941406747106425751405711744374224684167559164190148791412276955263436573389175441646646353446355305455360595430012142615719711176615998218598082054364167355756906600536677015247673760580603799979815203951599213302249104961638783283541744967509912367376655098113673526855398680269051248632915420214630144811959329788885178394895658008899630436024330132226344001165957283126865031943781314483757698288021168196540713351798187124603653068072589908853411011495531628077598265940095674070528168565708381094819193501616584759904035274258020568596253138357647020804425581175258338259654261680026342018808619285166729442174378148491546540919594324701200463889739868905565757614405335840156164654857800285156569094373373349195439901725905189378930646332289071265032981156985763541992508140335770865793011759425326782544910364423160913026669888022621638239 3170980152851765089843857344298538177149289143613366832984238941942489314249817352430142068182628786598022936662348933104178599498681406056556636460134981648993435036682122403339268307597422575529806239669645495405593918477561375025751315875452231870320571361146410721346970533984725509791505125147697961149388215687881690427234482645979325540594773990460425648471447051818386547384779705751019762880549164159740408972064314997155405298626787827567227455057299186530311803223200225806936378231484796029573245410299282117801455197221543568304748314747383475692292128000587204565497068098954200217774699146115385275367005159556720100770054272651836066349914524534601487678691888951434590512145888458532414783510925267191606771290427495159121738730569291978322636922858970929950238373944933790786939763719589861710084102840406073998326962825767884937820905986769262484525761204014694364458608613558603933225999932319832929489018090350898336332940331187627832903611849381854278050968964827322243656389534334952998708413106777273105418156229029067845642946105046627164527742767239593684111385638797536181423254635192722065241778403402666029400136974932681054853149472776769745515171730960811019831388428648093442429453533822713605549139385046733501021834501607391092803466288135953282106368657055931896568971584560845013166562826882044349899030442916668025687707084185713039406034390755810334953690391757734085400774997256601864897169541457912823691283865581710484210720036892882829603602216138091593590763557416917919744580517283437052958111804058652320471119409960165073216014130767022944842874815383844786697861750196218244227467409839690220168431078582361991140897408048529118057579277158246951497750971787971947230010450763844819275114808069453263467199167840605519352816414820124694196645873241837927138027468163112418909714502789596109278991627774029759317702485918334912509314599476169033581267515213794693701077231507512279087172205881166590545735068756626136930160788956874872633236204081222385542879140304093616140323680687361387834515093916637669127925126291065980769282 5130753664965492721541766735986828441739608746456941086718287081291534124367964369826912840019266634238670592692363961275487119920297354612633351480797100132878553623770321825395964626248732821735873516216906939891244253958366052373023931967190253347410249739941294543287759714372175938760586245734594195005733484827878540940995532689351191153937482152579612902223118757730547755459618606007457388334628677558337128671694344078862132763276025191027685977407480359798618479601729034064542804522591500114039459254047092331349177075107693404884737284422455682666283631061994778335442375688190155684828455338323416050479345871717456295202391608426747120241994745208694376474796176584851580126775476151626960602783988377878719083268844070941569516316659529511845330313163906361873900353363795610707710218561344628812710952753382033920173422681656251825276445027072320279028624053425317407521342232332511349934436380250278538237589052232589531036251322055456089196718376948716500592391268733312581760138783639327514674610407622456553708154447501002722812079891265665646644486480413690574508979344566082165148847043447762685443521417834851057637520909207120900228742429132949656290914475306579790465590630522312128409326235359733965802408326453480607447585907319135467028150455695117472255160069332887160005544973736286659812916273237349805259625872928810641407418260801711258004116445119977690710596992294411100648448757837205664876984745409512036993532970543349267494261781860392741970978871236205267117618956097186970993213432703651683102923763388441205649514305618173972846450155097155171186875981341127913562893693977532727985165697860858416709144430380549115744550476121119026910990288653778579575349237728067621300538619329553200369934001571069848227103203114863539921412667958482341217450298823013185476287122424792445251733311408881276008433802152178250864243405512659613709778489216037939147025129619130533857241886365312564243741300254539939741174970482531326309091435289163943898269185238208149084871648444429387006116692446786714617060004281060830040951796179088602407521 8301733817817257811385624080285366618888897890070307919702526023234023438617781722257054908201895420836693529354712894379665719418978760669189987940932081781871988660452444228735232933846155397265679755886552435296838172435927427398775247842642485217730821101087705264634730248356901448552091370882292156155121700515760231368230015335330516694532256143040038550694565809548934302844398311758477151215177841718077537643758659076017538061902813018594913432464779546328930282824929259871479182754076296143612704664346374449150632272329236973189485599169839158358575759062581982900939443787144355902603154484438801325846351031274176395972445881078583186591909269743295864153488065536286170638921364610159375386294913645070325854559271566100691255047228821490167967236022877291824138727308729401494649982280934490522795055593788107918500385507424136763097351013841582763554385257440011771979950845891115283160436312570111467726607142583487867369191653243083922100330226330570778643360233560634825416528317974280513383023514399729659126310676530070568455025996312292811172229247653284258620364983363618346572101678640484750685299821237517087037657884139801955081891901909719401806086206267390810296979059170405570838779769182447571351547711500214108469420408926526559831616743831070754361528726388819056574516558297131672979479100119394155158656315845478667095125344987424297410150835875788025664287384052145186049223755093807529774154286867424860684816836125059751704981818753275571574581087374296860708382513514104890737793949987088736061035567447093526120633715578339046062464285864178116029750796724972700260755444173750972212633107700548636877575508962911106885447884169648144968569565812025531073100209516039568530549070093398019645048809640523111694302370955469059274229082778607035414096172064851112614314590587904864161447814198477385287425429926208010181945891430994526219093088692206972728292644832925227558319117872824843330913506135706530286910039239157463239252224246038816531505389319430534627750788748523003146440373134148102451575098197698499168876922470154583176803 13432487482782750532927390816272195060628506636527249006420813104525557562985746092083967748221162055075364122047076855655152839339276115281823339421729181914750542284222766054131197560094888219001553272103459375188082426394293479771799179809832738565141070841028999807922489962729077387312677616616886351160855185343638772309225548024681707848469738295619651452917684567279482058304016917765934539549806519276414666315453003154879670825178838209622599409872259906127548762426658293936021987276667796257652163918393466780499809347436930378074222883592294841024859390124576761236381819475334511587431609822762217376325696902991632691174837489505330306833904014951990240628284242121137750765696840761786335989078902022949044937828115637042260771363888351002013297549186783653698039080672525012202360200842279119335506008347170141838673808189080388588373796040913903042583009310865329179501293078223626633094872692820390005964196194816077398405442975298540011297048603279287279235751502293947407176667101613608028057633922022186212834465124031073291267105887577958457816715728066974833129344327929700511720948722088247436128821239072368144675178793346922855310634331042669058097000681573970600762569689692717699248106004542181537153956037953694715917006316245662026859767199526188226616688795721706216580061532033418332792395373356743960418282188774289308502543605789135555414267280995765716374884376346556286697672512931013194651139032276936897678349806668409019199243600613668313545559958610502127826001469611291861731007382690740419163959330835534731770148021196513018908914440961333287216626778066100613823649138151283700197798805561407053586719939343460222629998360290767171879559854465804110648449447244107189831087689422951220014982811211592959921405574070332599195641750737089376631546470887864298090601713012697309413181125607358661295859232078386261046189296943654139928871577908244911875317774452055761415561004238137407574654806390246470028085009721688789548343659535202760429774574557638683712622437192952390152557065580934817068635102478759329209828718649243185584324 21734221300600008344313014896557561679517404526597556926123339127759581001603527814341022656423057475912057651401789750034818558758254875951013327362661263696622530944675210282866430493941043616267233027990011810484920598830220907170574427652475223782871891942116705072557220211085978835864768987499178507315976885859399003677455563360012224543001994438659690003612250376828416361148415229524411690764984360994492203959211662230897208887081651228217512842337039452456479045251587553807501170030744092401264868582739841229650441619766167351263708482762133999383435149187158744137321263262478867490034764307201018702172047934265809087147283370583913493425813284695286104781772307657423921404618205371945711375373815668019370792387387203142952026411117172492181264785209660945522177807981254413697010183123213609858301063940958249757174193696504525351471147054755485806137394568305340951481243924114741916255309005390501473690803337399565265774634628541623933397378829609858057879111735854582232593195419587888541440657436421915871960775800561143859722131883890251268988944975720259091749709311293318858293050400728732186814121060309885231712836677486724810392526232952388459903086887841361411059548748863123270086885773724629108505503749453908824386426725172188586691383943357258980978217522110525273154578090330550005771874473476138115576938504619767975597668950776559852824418116871553742039171760398701472746896268024820724425293319144361758363166642793468770904225419366943885120141045984798988534383983125396752468801332677829155224994898282628257890781736774852064971378726825511403246377574791073314084404582325034672410431913261955690464295448306371329515446244460415316848129420277829641721549656760146758361636759516349239660031620852116071615707945025801658469870833515696412045642642952715410704916303600602173574628939805836046583284662004594271228135188374648666147964666600451884603610419284980988973880122110962250905568312525953000314995048960846252787595883781241576961279963877069218340373225941475393298997438715082919520210200676457828378705641119397768761127 35166708783382758877240405712829756740145911163124805932544152232285138564589273906424990404644219530987421773448866605689971398097530991232836666784390445611373073228897976336997628054035931835268786300093471185673003025224514386942373607462307962348012962783145704880479710173815056223177446604116064858476832071203037775986681111384693932391471732734279341456529934944107898419452432147290346230314790880270906870274664665385776879712260489437840112252209299358584027807678245847743523157307411888658917032501133308010150250967203097729337931366354428840408294539311735505373703082737813379077466374129963236078497744837257441778322120860089243800259717299647276345410056549778561672170315046133732047364452717690968415730215502840185212797775005523494194562334396444599220216888653779425899370383965492729193807072288128391595848001885584913939844943095669388848720403879170670130982537002338368549350181698210891479654999532215642664180077603840163944694427432889145337114863238148529639769862521201496569498291358444102084795240924592217150989237771468209726805660703787233924879053639223019370013999122816979622942942299382253376388015470833647665703160563995057518000087569415332011822118438555840969334991778266810645659459787407603540303433041417850613551151142883447207594906317832231489734639622363968338564269846832882075995220693394057284100212556565695408238685397867319458414056136745257759444568780955833919076432351421298656041516449461877790103469019980612198665701004595301116360385452736688614199808715368569574388954229118162989660929757971365083880293167786844690463004352857173927908053720476318372608230718823362744051015387649831552145444604751182488727689274743633752369999104004253948192724448939300459675014432063709031537113519096134257665512584252785788677189113840579708795518016613299482987810065413194707879143894082980532274324485318302806076836244508696796478928193737036750389441126349099658480223118916199470343080058682535042335939543316444337391054538434707902052995663134427783451554504296017736588845303155217157588534359768640954345451 56900930083982767221553420609387318419663315689722362858667491360044719566192801720766013061067277006899479424850656355724789956855785867183849994147051709307995604173573186619864058547976975451536019328083482996157923624054735294112948035114783186130884854725262409953036930384901035059042215591615243365792808957062436779664136674744706156934473727172939031460142185320936314780600847376814757921079775241265399074233876327616674088599342140666057625094546338811040506852929833401551024327338155981060181901083873149239800692586969265080601639849116562839791729688498894249511024346000292246567501138437164254780669792771523250865469404230673157293685530584342562450191828857435985593574933251505677758739826533358987786522602890043328164824186122695986375827119606105544742394696635033839596380567088706339052108136229086641353022195582089439291316090150424874654857798447476011082463780926453110465605490703601392953345802869615207929954712232381787878091806262499003394993974974003111872363057940789385110938948794866017956756016725153361010711369655358460995794605679507493016628762950516338228307049523545711809757063359692138608100852148320372476095686796947445977903174457256693422881667187418964239421877551991439754164963536861512364689859766590039200242535086240706188573123839942756762889217712694518344336144320309020191572159198013825259697881507342255261063103514738873200453227897143959232191465048980654643501725670565660414404683092255346561007694439347556083785842050580100104894769435862085366668610048046398729613949127400791247551711494746217148851671894612356093709381927648247241992458302801353045018662632085318434515310835956202881660890849211597805575818695021463394091548760764400706554361208455649699335046052915825103152821464121935916135383417768482200722831756793295119500434320213901656562439005219030754462428556087574803502459673692951472224800911109148681082538613022017739363321248460061909385791431442152470658075107643381295123535427097685914352334502311777120393368889075903176750551943011100656109055503831674985967240000888038723106578 92067638867365526098793826322217075159809226852847168791211643592329858130782075627191003465711496537886901198299522961414761354953316858416686660931442154919368677402471162956861686602012907286804805628176954181830926649279249681055321642577091148478897817508408114833516640558716091282219662195731308224269641028265474555650817786129400089325945459907218372916672120265044213200053279524105104151394566121536305944508540993002450968311602630103897737346755638169624534660608079249294547484645567869719098933585006457249950943554172362809939571215470991680200024227810629754884727428738105625644967512567127490859167537608780692643791525090762401093945247883989838795601885407214547265745248297639409806104279251049956202252818392883513377621961128219480570389454002550143962611585288813265495750951054199068245915208517215032948870197467674353231161033246094263503578202326646681213446317928791479014955672401812284433000802401830850594134789836221951822786233695388148732108838212151641512132920461990881680437240153310120041551257649745578161700607426826670722600266383294726941507816589739357598321048646362691432700005659074391984488867619154020141798847360942503495903262026672025434703785625974805208756869330258250399824423324269115904993292808007889813793686229124153396168030157774988252623857335058486682900414167141902267567379891407882543798094063907950669301788912606192658867284033889216991636033829936488562578158021986959070446199541717224351111163459328168282451543055175401221255154888598773980868418763414968304002903356518954237212641252717582232731965062399200784172386280505421169900512023277671417626893350908681178566326223606034433806335453962780294303507969765097146461547864768654654747085657394950159010060484979534134689934983218070173800896002021267989400020870633874828295952336827201139550249070632225462341572450170555335776784159011254278301637155617845477561466806759054489752762374809161567866014550358351941001155166325916337459474970414130251743389040746485022446364552210330960202106447307118392697900806986892143555774360656679677452029 148968568951348293320347246931604393579472542542569531649879134952374577696974877347957016526778773544786380623150179317139551311809102725600536655078493864227364281576044349576725745149989882738340824956260437177988850273333984975168269677691874334609782672233670524786553570943617126341261877787346551590062449985327911335314954460874106246260419187080157404376814305585980527980654126900919862072474341362801705018742417320619125056910944770769955362441301976980665041513537912650845571811983723850779280834668879606489751636141141627890541211064587554519991753916309524004395751774738397872212468651004291745639837330380303943509260929321435558387630778468332401245793714264650532859320181549145087564844105784408943988775421282926841542446147250915466946216573608655688705006281923847105092131518142905407298023344746301674301892393049763792522477123396519138158436000774122692295910098855244589480561163105413677386346605271446058524089502068603739700878039957887152127102813186154753384495978402780266791376188948176137998307274374898939172411977082185131718394872062802219958136579540255695826628098169908403242457069018766530592589719767474392617894534157889949473806436483928718857585452813393769448178746882249690153989386861130628269683152574597929014036221315364859584741153997717745015513075047753005027236558487450922459139539089421707803495975571250205930364892427345065859320511931033176223827498878917143206079883692552619484850882633972570912118857898675724366237385105755501326149924324460859347537028811461367033616852483919745484764352747463799381583636957011556877881768208153668411892970326079024462645555982993999613081637059562237315467226303174378099879326664786560540553096625533055361301446865850599858345106537895359237842756447340006089936279419789750190122852627427169947796386657041102796112688075851256216804001006258130139279243832704205750526438066726994158644005419781072229116083623269223477251805981800504411659230273969297632583010397511816166095723543058262142839733441286234136952658390318219048806956310818567129523014361544718400558607 241036207818713819419141073253821468739281769395416700441090778544704435827756952975148019992490270082673281821449702278554312666762419584017223316009936019146732958978515512533587431752002790025145630584437391359819776922613234656223591320268965483088680489742078639620070211502333217623481539983077859814332091013593385890965772247003506335586364646987375777293486425851024741180707406425024966223868907484338010963250958313621576025222547400873853099788057615150289576174145991900140119296629291720498379768253886063739702579695313990700480782280058546200191778144120153759280479203476503497857436163571419236499004867989084636153052454412197959481576026352322240041395599671865080125065429846784497370948385035458900191028239675810354920068108379134947516606027611205832667617867212660370587882469197104475543938553263516707250762590517438145753638156642613401662014203100769373509356416784036068495516835507225961819347407673276909118224291904825691523664273653275300859211651398306394896628898864771148471813429101486258039858532024644517334112584509011802440995138446096946899644396129995053424949146816271094675157074677840922577078587386628412759693381518832452969709698510600744292289238439368574656935616212507940553813810185399744174676445382605818827829907544489012980909184155492733268136932382811491710136972654592824726706918980829590347294069635158156599666681339951258518187795964922393215463532708853631768658041714539578555297082175689795263230021358003892648688928160930902547405079213059633328405447574876335337619755840438699721976994000181381614315602019410757662054154488659089581793482349356695880272449333902680791647963283168271749273561757137158394182834634551657687014644490301710016048532523245550017355167022874893372532691430558076263737175421811018179522873498061044776092338993868303935662937146483481679145573456428685475056027991715460028828075222344839636205472226540126718868845998078385045117820532158856352660385440295213970042485367925946417839112583804747165286097993496565097154764837625337441504857117805459273078788722201398078010636 390004776770062112739488320185425862318754311937986232090969913497079013524731830323105036519269043627459662444599881595693863978571522309617759971088429883374097240554559862110313176901992672763486455540697828537808627195947219631391860997960839817698463161975749164406623782445950343964743417770424411404394540998921297226280726707877612581846783834067533181670300731437005269161361533325944828296343248847139715981993375634240701082133492171643808462229359592130954617687683904550985691108613015571277660602922765670229454215836455618591021993344646100720183532060429677763676230978214901370069904814575710982138842198369388579662313383733633517869206804820654641287189313936515612984385611395929584935792490819867844179803660958737196462514255630050414462822601219861521372624149136507475680013987340009882841961898009818381552654983567201938276115280039132539820450203874892065805266515639280657976077998612639639205694012944722967642313793973429431224542313611162452986314464584461148281124877267551415263189618049662396038165806399543456506524561591196934159390010508899166857780975670250749251577244986179497917614143696607453169668307154102805377587915676722402443516134994529463149874691252762344105114363094757630707803197046530372444359597957203747841866128859853872565650338153210478283650007430564496737373531142043747185846458070251298150790045206408362530031573767296324377508307895955569439291031587770774974737925407092198040147964809662366175348879256679617014926313266686403873555003537520492675942476386337702371236608324358445206741346747645180995899238976422314539935922696812757993686452675435720342918005316896680404729600342730509064740788060311536494062161299338218227567741115834765377349979389096149875700273560770252610375447877898082353673454841600768369645726125488214723888725650909406731775625222334737895949574462686815614335271824419665779354513289071833794849477646321198947984929621347608522369626513959360764319615714264511602625495765437762583934836126863009308125831434782799234107423227943556490311813428624026402601803083746116478569243 631040984588775932158629393439247331058036081333402932532060692041783449352488783298253056511759313710132944266049583874248176645333941893634983287098365902520830199533075374643900608653995462788632086125135219897628404118560454287615452318229805300787143651717827804026693993948283561588224957753502271218726632012514683117246498954881118917433148481054908958963787157288030010342068939750969794520212156331477726945244333947862277107356039572517661562017417207281244193861829896451125810405242307291776040371176651733969156795531769609291502775624704646920375310204549831522956710181691404867927340978147130218637847066358473215815365838145831477350782831172976881328584913608380693109451041242714082306740875855326744370831900634547551382582364009185361979428628831067354040242016349167846267896456537114358385900451273335088803417574084640084029753436681745941482464406975661439314622932423316726471594834119865601025041420617999876760538085878255122748206587264437753845526115982767543177753776132322563735003047151148654078024338424187973840637146100208736600385148954996113757425371800245802676526391802450592592771218374448375746746894540731218137281297195554855413225833505130207442163929692130918762049979307265571261617007231930116619036043339809566669696036404342885546559522308703211551786939813375988447510503796636571912553377051080888498084114841566519129698255107247582895696103860877962654754564296624406743395967121631776595445046985352161438578900614683509663615241427617306420960082750580126004347923961214037708856364164797144928718340747826562610214840995833072201990077185471847575479935024792416223190454650799361196377563625898780814014349817448694888244995933889875914582385606136475393398511912341699893055440583645145982908139308456158617410630263411786549168599623549259499981064644777710667438562368818219575095147919115501089391299816135125808182588511416673431054949872861325666853775619425993567487447046118217116980001154559725572667981133363709001773948710667756473411929428279364331262188065568893931816670546429485675680591805947514556579879 1021045761358838044898117713624673193376790393271389164623030605538862462877220613621358093031028357337592606710649465469942040623905464203252743258186795785894927440087635236754213785555988135552118541665833048435437031314507673919007313316190645118485606813693576968433317776394233905552968375523926682623121173011435980343527225662758731499279932315122442140634087888725035279503430473076914622816555405178617442927237709582102978189489531744161470024246776799412198811549513801002111501513855322863053700974099417404198611011368225227882524768969350747640558842264979509286632941159906306237997245792722841200776689264727861795477679221879464995219989635993631522615774227544896306093836652638643667242533366675194588550635561593284747845096619639235776442251230050928875412866165485675321947910443877124241227862349283153470356072557651842022305868716720878481302914610850553505119889448062597384447672832732505240230735433562722844402851879851684553972748900875600206831840580567228691458878653399873978998192665200811050116190144823731430347161707691405670759775159463895280615206347470496551928103636788630090510385362071055828916415201694834023514869212872277257856741968499659670592038620944893262867164342402023201969420204278460489063395641297013314511562165264196758112209860461913689835436947243940485184884034938680319098399835121332186648874160047974881659729828874543907273204411756833532094045595884395181718133892528723974635593011795014527613927779871363126678541554694303710294515086288100618680290400347551740080092972489155590135459687495471743606114079972255386741925999882284605569166387700228136566108459967696041601107163968629289878755137877760231382307157233228094142150126721971240770748491301437849768755714144415398593283587186354240971084085105012554918814325749037474223869790295687117399214187591152957471044722381802316703726571640554791587537101800488507225904427519182524614838705240773602089857073560077577881299616868824237175293476898801471585708784837530765781537760863062163565369611293512450422128483975053512078282394889693631035149122 1652086745947613977056747107063920524434826474604792097155091297580645912229709396919611149542787671047725550976699049344190217269239406096887726545285161688415757639620710611398114394209983598340750627790968268333065435433068128206622765634420450419272750465411404772460011770342517467141193333277428953841847805023950663460773724617639850416713080796177351099597875046013065289845499412827884417336767561510095169872482043529965255296845571316679131586264194006693443005411343697453237311919097630154829741345276069138167767806899994837174027544594055394560934152469529340809589651341597711105924586770869971419414536331086335011293045060025296472570772467166608403944359141153276999203287693881357749549274242530521332921467462227832299227678983648421138421679858881996229453108181834843168215806900414238599613762800556488559159490131736482106335622153402624422785379017826214944434512380485914110919267666852370841255776854180722721163389965729939676720955488140037960677366696549996234636632429532196542733195712351959704194214483247919404187798853791614407360160308418891394372631719270742354604630028591080683103156580445504204663162096235565241652150510067832113269967802004789878034202550637024181629214321709288773231037211510390605682431684636822881181258201668539643658769382770616901387223887057316473632394538735316891010953212172413075146958274889541400789428083981791490168900515617711494748800160181019588461529859650355751231038058780366689052506680486046636342156796121921016715475169038680744684638324308765777788949336653952735064178028243298306216328920968088458943916077067756453144646322725020552789298914618495402797484727594528070692769487695208926270552153167117970056732512328107716164147003213779549661811154728060544576191726494810399588494715368424341467982925372586733723850854940464828066652749959971177046139870300917817793117871456689917395719690311905180656959377392043850281692480860199595657344520606195794998279618023383962747961458032165180587482733548198522254949690291341527896631799359081344353945154521482997753962986695641145591729001 2673132507306452021954864820688593717811616867876181261778121903119508375106930010540969242573816028385318157687348514814132257893144870300140469803471957474310685079708345848152328179765971733892869169456801316768502466747575802125630078950611095537758357279104981740893329546736751372694161708801355636464968978035386643804300950280398581915993013111299793240231962934738100569348929885904799040153322966688712612799719753112068233486335103060840601610510970806105641816960857498455348813432952953017883442319375486542366378818268220065056552313563406142201492994734508850096222592501504017343921832563592812620191225595814196806770724281904761467790762103160239926560133368698173305297124346520001416791807609205715921472103023821117047072775603287656914863931088932925104865974347320518490163717344291362840841625149839642029515562689388324128641490870123502904088293628676768449554401828548511495366940499584876081486512287743445565566241845581624230693704389015638167509207277117224926095511082932070521731388377552770754310404628071650834534960561483020078119935467882786674987838066741238906532733665379710773613541942516560033579577297930399265167019722940109371126709770504449548626241171581917444496378664111311975200457415788851094745827325933836195692820366932736401770979243232530591222660834301256958817278573673997210109353047293745261795832434937516282449157912856335397442104927374545026842845756065414770179663752179079725866631070575381216666434460357409763020698350816224727009990255326781363364928724656317517869042309143108325199637715738770049822443000940343845685842076950041058713812710425248689355407374586191444398591891563157360571524625572969157652859310400346064198882639050078956934895494515217399430566868872475943169475313681164640559578800473436896386797251121624207947720645236151945465866937551124134517184592682720134496844443097244708983256792112393687882863804911226374896531186100973197747201594166273372879579234892208199923254934930966652173191518385729288036487451154403691462001410652593794776073638496536509832245381585334776626878123 4325219253254065999011611927752514242246443342480973358933213200700154287336639407460580392116603699433043708664047564158322475162384276397028196348757119162726442719329056459550442573975955332233619797247769585101567902180643930332252844585031545957031107744516386513353341317079268839835355042078784590306816783059337307265074674898038432332706093907477144339829837980751165859194429298732683457490090528198807782672201796642033488783180674377519733196775164812799084822372201195908586125352050583172713183664651555680534146625168214902230579858157461536762427147204038190905812243843101728449846419334462784039605761926900531818063769341930057940361534570326848330504492509851450304500412040401359166341081851736237254393570486048949346300454586936078053285610947814921334319082529155361658379524244705601440455387950396130588675052821124806234977113023526127326873672646502983393988914209034425606286208166437246922742289141924168286729631811311563907414659877155676128186573973667221160732143512464267064464584089904730458504619111319570238722759415274634485480095776301678069360469786011981261137363693970791456716698522962064238242739394165964506819170233007941484396677572509239426660443722218941626125592985820600748431494627299241700428259010570659076874078568601276045429748626003147492609884721358573432449673112409314101120306259466158336942790709827057683238585996838126887611005442992256521591645916246434358641193611829435477097669129355747905718941140843456399362855146938145743725465424365462108049567048965083295657991645797061060263815743982068356038771921908432304629758154017797511858459033150269242144706289204686847196076619157685431264294113268178083923411463567464034255615151378186673099042497728996949092378023600536487745667040175975040148073515841861237854780176494210941671571500176616773532519687511095311563324462983637952289962314553934626378976482424298868539823182303270225178223666961172793404546114772469167877858852915592162671216392963131832760674251933927810291437141445745219358633210011675139130018793018019507586208368280975922218607124 6998351760560518020966476748441107960058060210357154620711335103819662662443569418001549634690419727818361866351396078972454733055529146697168666152229076637037127799037402307702770753741927066126488966704570901870070368928219732457882923535642641494789465023621368254246670863816020212529516750880140226771785761094723951069375625178437014248699107018776937580061800915489266428543359184637482497643413494887520395471921549754101722269515777438360334807286135618904726639333058694363934938785003536190596625984027042222900525443436434967287132171720867678963920141938547041002034836344605745793768251898055596659796987522714728624834493623834819408152296673487088257064625878549623609797536386921360583132889460941953175865673509870066393373230190223734968149542036747846439185056876475880148543241588996964281297013100235772618190615510513130363618603893649630230961966275179751843543316037582937101653148666022123004228801429667613852295873656893188138108364266171314295695781250784446086827654595396337586195972467457501212815023739391221073257719976757654563600031244184464744348307852753220167670097359350502230330240465478624271822316692096363771986189955948050855523387343013688975286684893800859070621971649931912723631952043088092795174086336504495272566898935534012447200727869235678083832545555659830391266951686083311311229659306759903598738623144764573965687743909694462285053110370366801548434491672311849128820857364008515202964300199931129122385375601200866162383553497754370470735455679692243471414495773621400813527033954940169385463453459720838405861214922848776150315600230967838570572271743575517931500113663790878291594668510720842791835818738841147241576270773967810098454497790428265630033937992244214348522944892473012430915142353857139680707652316315298134241577427615835149619292145412768718998386625062219446080509055666358086786806757651179335362233274536692556422686987214496600074754853062145991151747708938742540757438087807800362594471327894098484933865770319657098327924592600148910820634620664268933906092431514556017418453749866310698845485247 11323571013814584019978088676193622202304503552838127979644548304519816949780208825462130026807023427251405575015443643130777208217913423094196862500986195799763570518366458767253213327717882398360108763952340486971638271108863662790135768120674187451820572768137754767600012180895289052364871792958924817078602544154061258334450300076475446581405200926254081919891638896240432287737788483370165955133504023086328178144123346396135211052696451815880068004061300431703811461705259890272521064137054119363309809648678597903434672068604649869517712029878329215726347289142585231907847080187707474243614671232518380699402749449615260442898262965764877348513831243813936587569118388401073914297948427322719749473971312678190430259243995919015739673684777159813021435152984562767773504139405631241806922765833702565721752401050631903206865668331637936598595716917175757557835638921682735237532230246617362707939356832459369926971090571591782139025505468204752045523024143326990423882355224451667247559798107860604650660556557362231671319642850710791311980479392032289049080127020486142813708777638765201428807461053321293687046938988440688510065056086262328278805360188955992339920064915522928401947128616019800696747564635752513472063446670387334495602345347075154349440977504135288492630476495238825576442430277018403823716624798492625412349965566226061935681413854591631648926329906532589172664115813359058070026137588558283487462050975837950680061969329286877028104316742044322561746408644692516214460921104057705579464062822586484109185025600737230445727269203702906761899986844757208454945358384985636082430730776725787173644819952995565138790745129878528223100112852109325325499682237535274132710112941806452303132980489973211297615322916073548918660809394033114720855725832157159372096357604110046091290863645589385492530906312573314757643833518649996039076769072205113961741209756960991424962510169517766825252978520023318784556293823711211708635296940723392525265687720857230317694540022253584908619361734045894130179267830675944073036111224532575525004662118147286621064092371 18321922774375102040944565424634730162362563763195282600355883408339479612223778243463679661497443155069767441366839722103231941273442569791365528653215272436800698317403861074955984081459809464486597730656911388841708640037083395248018691656316828946610037791759123021846683044711309264894388543839065043850388305248785209403825925254912460830104307945031019499953439811729698716281147668007648452776917517973848573616044896150236933322212229254240402811347436050608538101038318584636456002922057655553906435632705640126335197512041084836804844201599196894690267431081132272909881916532313220037382923130573977359199736972329989067732756589599696756666127917301024844633744266950697524095484814244080332606860773620143606124917505789082133046914967383547989584695021310614212689196282107121955466007422699530003049414150867675825056283842151066962214320810825387788797605196862487081075546284200299809592505498481492931199892001259395991321379125097940183631388409498304719578136475236113334387452703256942236856529024819732884134666590102012385238199368789943612680158264670607558057085491518421596477558412671795917377179453919312781887372778358692050791550144904043195443452258536617377233813509820659767369536285684426195695398713475427290776431683579649622007876439669300939831204364474503660274975832678234214983576484575936723579624872985965534420036999356205614614073816227051457717226183725859618460629260870132616282908339846465883026269529218006150489692343245188724129962142446886685196376783749949050878558596207884922712059555677399831190722663423745167761201767605984605260958615953474653003002520301305105144933616786443430385413640599371014935931590950472567075953011503084231164610732234717933166918482217425646138267808546561349575951747890254401563378148472457506337935031725881240910155791002154211529292937635534203724342574316354125863575829856293297103443031497683981385197156732263425327733373085464775708041532649954249392735028531192887860159048751328802628405792573242006947286326646043040999902451340213006942203656047131542423115868013597319909577618 29645493788189686060922654100828352364667067316033410580000431712859296562003987068925809688304466582321173016382283365234009149491355992885562391154201468236564268835770319842209197409177691862846706494609251875813346911145947058038154459776991016398430610559896877789446695225606598317259260336797989860928990849402846467738276225331387907411509508871285101419845078707970131004018936151377814407910421541060176751760168242546372144374908681070120470815408736482312349562743578474908977067059111774917216245281384238029769869580645734706322556231477526110416614720223717504817728996720020694280997594363092358058602486421945249510631019555364574105179959161114961432202862655351771438393433241566800082080832086298334036384161501708097872720599744543361011019848005873381986193335687738363762388773256402095724801815201499579031921952173789003560810037728001145346633244118545222318607776530817662517531862330940862858170982572851178130346884593302692229154412552825295143460491699687780581947250811117546887517085582181964555454309440812803697218678760822232661760285285156750371765863130283623025285019465993089604424118442360001291952428864621020329596910333860035535363517174059545779180942125840460464117100921436939667758845383862761786378777030654803971448853943804589432461680859713329236717406109696638038700201283068562135929590439212027470101450853947837263540403722759640630381341997084917688486766849428416103744959315684416563088238858504883178594009085289511285876370787139402899657297887807654630342621418794369031897085156414630276917991867126651929661188612363193060206317000939110735433733297027092278789753569782008569176158770477899238036044443059797892575635249038358363874723674041170236299898972190636943753590724620110268236761141923369122419103980629616878434292635835927332201019436591539704060199250208848961368176092966350164940344902061407258844652788458675406347707326250030250580711893108783560264335356361165958028031969254585413125846769608559120322945814826826915566648060691937171179170282016157079978314880579707067427777986160883940973669989 47967416562564788101867219525463082527029631079228693180356315121198776174227765312389489349801909737390940457749123087337241090764798562676927919807416740673364967153174180917165181490637501327333304225266163264655055551183030453286173151433307845345040648351656000811293378270317907582153648880637054904779379154651631677142102150586300368241613816816316120919798518519699829720300083819385462860687339059034025325376213138696609077697120910324360873626756172532920887663781897059545433069981169430471122680914089878156105067092686819543127400433076723005106882151304849777727610913252333914318380517493666335417802223394275238578363776144964270861846087078415986276836606922302468962488918055810880414687692859918477642509079007497180005767514711926909000604543027183996198882531969845485717854780679101625727851229352367254856978236015940070523024358538826533135430849315407709399683322815017962327124367829422355789370874574110574121668263718400632412785800962323599863038628174923893916334703514374489124373614607001697439588976030914816082456878129612176274440443549827357929822948621802044621762577878664885521801297896279314073839801642979712380388460478764078730806969432596163156414755635661120231486637207121365863454244097338189077155208714234453593456730383473890372292885224187832896992381942374872253683777767644498859509215312197993004521487853304042878154477538986692088098568180810777306947396110298548720027867655530882446114508387722889329083701428534700010006332929586289584853674671557603681221180015002253954609144712092030108108714530550397097422390379969177665467275616892585388436735817328397383934687186568451999561572411077270252971976034010270459651588260541442595039334406275888169466817454408062589891858533166671617812712889813623523982482129102074384772227667561808573111175227593693915589492187844383165092518667282704290803920731917700555948095819956359387732904482982293675908445266194248335972376889011120207420766997785778300986005818359887922951351607400068922513934387337980212179072733356370086920518536626838609850893854174481260883247607 77612910350754474162789873626291434891696698395262103760356746834058072736231752381315299038106376319712113474131406452571250240256154555562490310961618208909929235988944500759374378899815193190180010719875415140468402462328977511324327611210298861743471258911552878600740073495924505899412909217435044765708370004054478144880378375917688275653123325687601222339643597227669960724319019970763277268597760600094202077136381381242981222072029591394481344442164909015233237226525475534454410137040281205388338926195474116185874936673332554249449956664554249115523496871528567282545339909972354608599378111856758693476404709816220488088994795700328844967026046239530947709039469577654240400882351297377680496768524946216811678893240509205277878488114456470270011624391033057378185075867657583849480243553935503721452653044553866833888900188189729074083834396266827678482064093433952931718291099345835624844656230160363218647541857146961752252015148311703324641940213515148895006499119874611674498281954325492036011890700189183661995043285471727619779675556890434408936200728834984108301588811752085667647047597344657975126225416338639315365792230507600732709985370812624114266170486606655708935595697761501580695603738128558305531213089481200950863533985744889257564905584327278479804754566083901162133709788052071510292383979050713060995438805751410020474622938707251880141694881261746332718479910177895694995434162959726964823772826971215299009202747246227772507677710513824211295882703716725692484510972559365258311563801433796622986506229868506660385026706397677049027083578992332370725673592617831696123870469114355489662724440756350460568737731181555169491008020477070068352227223509579800958914058080317058405766716426598699533645449257786781886049474031736992646401586109731691263206520303397735905312194664185233619649691438053232126460694760249054455744265633979107814792748608415034794080611809232323926489157159303031896236712245372286165448798967040363714111852587968447043274297422226895838080582448029917383358243015372527166898833417206545677278671840335365201856917596 125580326913319262264657093151754517418726329474490796940713061955256848910459517693704788387908286057103053931880529539908491331020953118239418230769034949583294203142118681676539560390452694517513314945141578405123458013512007964610500762643606707088511907263208879412033451766242413481566558098072099670487749158706109822022480526503988643894737142503917343259442115747369790444619103790148740129285099659128227402512594519939590299769150501718842218068921081548154124890307372593999843207021450635859461607109563994341980003766019373792577357097630972120630379022833417060272950823224688522917758629350425028894206933210495726667358571845293115828872133317946933985876076499956709363371269353188560911456217806135289321402319516702457884255629168397179012228934060241374383958399627429335198098334614605347180504273906234088745878424205669144606858754805654211617494942749360641117974422160853587171780597989785574436912731721072326373683412030103957054726014477472494869537748049535568414616657839866525136264314796185359434632261502642435862132435020046585210641172384811466231411760373887712268810175223322860648026714234918629439632032150580445090373831291388192996977456039251872092010453397162700927090375335679671394667333578539139940689194459123711158362314710752370177047451308088995030702169994446382546067756818357559854948021063608013479144426560555923019849358800733024806578478358706472302381559070025513543800694626746181455317255633950661836761411942358911305889036646311982069364647230922861992784981448798876941115374580598690493135420928227446124505969372301548391140868234724281512307204931683887046659127942918912568299303592632439743979996511080338811878811770121243553953392486592946575233533881006762123537307790953453503862186921550616170384068238833765647978747970959544478423369891778927535239183625897615291553213427531758746548186365896808370740844428371394181813516292214617602397602425497280232209089134383406372869565964826142015097858406328334966225649029626964760594516835367897595537315748728897253819351953833384287129565694509846462740165203 203193237264073736427446966778045952310423027869752900701069808789314921646691270075020087426014662376815167406011935992479741571277107673801908541730653158493223439131063182435913939290267887707693325665016993545591860475840985475934828373853905568831983166174761758012773525262166919380979467315507144436196119162760587966902858902421676919547860468191518565599085712975039751168938123760912017397882860259222429479648975901182571521841180093113323562511085990563387362116832848128454253344061731841247800533305038110527854940439351928042027313762185221236153875894361984342818290733197043131517136741207183722370611643026716214756353367545621960795898179557477881694915546077610949764253620650566241408224742752352101000295560025907735762743743624867449023853325093298752569034267285013184678341888550109068633157318460100922634778612395398218690693151072481890099559036183313572836265521506689212016436828150148793084454588868034078625698560341807281696666227992621389876036867924147242912898612165358561148155014985369021429675546974370055641807991910480994146841901219795574533000572125973379915857772567980835774252130573557944805424262658181177800359202104012307263147942645907581027606151158664281622694113464237976925880423059740090804223180204012968723267899038030849981802017391990157164411958046517892838451735869070620850386826815018033953767365267807803161544240062479357525058388536602167297815722029752478367573521597961480464520002880178434344439122456183122601771740363037674553875619790288120304348782882595499927621604449105350878162127325904495151589548364633919116814460852555977636177674046039376709383568699269373137037034774187609234988016988150407164106035279701044512867450566910004981000250307605461657182757048740235389911660953287608816785654348565456911185268274357280383735564555964161154888875063950847418013908187780813202292451999875916185533593036786428975894128101446941528886759584800312128445801379755692538318364931866505729209710994296782009499946451853860598675099283397814978895558764101424420718185371039929964408237534845211664597082799 328773564177392998692104059929800469729149357344243697641782870744571770557150787768724875813922948433918221337892465532388232902298060792041326772499688108076517642273181864112453499680720582225206640610158571950715318489352993440545329136497512275920495073437970637424806977028409332862546025413579244106683868321466697788925339428925665563442597610695435908858527828722409541613557227551060757527167959918350656882161570421122161821610330594832165780580007072111541487007140220722454096551083182477107262140414602104869834944205371301834604670859816193356784254917195401403091241556421731654434895370557608751264818576237211941423711939390915076624770312875424815680791622577567659127624890003754802319680960558487390321697879542610193646999372793264628036082259153540126952992666912442519876440223164714415813661592366335011380657036601067363297551905878136101717053978932674213954239943667542799188217426139934367521367320589106404999381972371911238751392242470093884745574615973682811327515270005225086284419329781554380864307808477012491503940426930527579357483073604607040764412332499861092184667947791303696422278844808476574245056294808761622890733033395400500260125398685159453119616604555826982549784488799917648320547756638279230744912374663136679881630213748783220158849468700079152195114128040964275384519492687428180705334847878626047432911791828363726181393598863212382331636866895308639600197281099777991911374216224707661919837258514129096181200534398542033907660777009349656623240267021210982297133764331394376868736979029704041371297548254131941276095517736935467507955329087280259148484878977723263756042696642188285705336338366820048978968013499230745975984847049822288066820843053502951556233784188612223780720064839693688893773847874838224987169722587399222559164016245316824862158934447743088690128058689848462709567121615312571948840638365772724556274437465157823157707644393661559131284362010297592360654890514139098911187930896692647744307569400625116975725595481480825359269616118765712574432874512830321674537537324873314251537803229355058127337248002 531966801441466735119551026707846422039572385213996598342852679533886692203842057843744963239937610810733388743904401524867974473575168465843235314230341266569741081404245046548367438970988469932899966275175565496307178965193978916480157510351417844752478239612732395437580502290576252243525492729086388542879987484227285755828198331347342482990458078886954474457613541697449292782495351311972774925050820177573086361810546322304733343451510687945489343091093062674928849123973068850908349895144914318355062673719640215397689884644723229876631984622001414592938130811557385745909532289618774785952032111764792473635430219263928156180065306936537037420668492432902697375707168655178608891878510654321043727905703310839491321993439568517929409743116418132077059935584246838879522026934197455704554782111714823484446818910826435934015435648996465581988245056950617991816613015115987786790505465174232011204654254290083160605821909457140483625080532713718520448058470462715274621611483897830054240413882170583647432574344766923402293983355451382547145748418841008573504324974824402615297412904625834472100525720359284532196530975382034519050480557466942800691092235499412807523273341331067034147222755714491264172478602264155625246428179698019321549135554867149648604898112786814070140651486092069309359526086087482168222971228556498801555721674693644081386679157096171529342937838925691739856695255431910806898013003129530470278947737822669142384357261394307530525639656854725156509432517372387331177115886811499102601482547213989876796358583478809392249459675580036436427685066101569386624769789939836236784662553023762640465426265341457658842373373141007658213956030487381153140090882329523332579688293620412956537234034496217685437902821888433924283685508828125833803955376935964679470349284519674105245894499003707249845016933753799310127581029803093385151133090365648640741808030501944252133601772495108500660171121595097904489100691893894791449506295828559153473517280394921898985225541933334685957944715402163527553328433276931746095255722695913244215946040764200269791934330801 860740365618859733811655086637646891768721742558240295984635550278458462760992845612469839053860559244651610081796867057256207375873229257884562086730029374646258723677426910660820938651709052158106606885334137447022497454546972357025486646848930120672973313050703032862387479318985585106071518142665632649563855805693983544753537760273008046433055689582390383316141370419858834396052578863033532452218780095923743243972116743426895165061841282777655123671100134786470336131113289573362446446228096795462324814134242320267524828850094531711236655481817607949722385728752787149000773846040506440386927482322401224900248795501140097603777246327452114045438805308327513056498791232746268019503400658075846047586663869326881643691319111128123056742489211396705096017843400379006475019601109898224431222334879537900260480503192770945396092685597532945285796962828754093533666994048662000744745408841774810392871680430017528127189230046246888624462505085629759199450712932809159367186099871512865567929152175808733716993674548477783158291163928395038649688845771536152861808048429009656061825237125695564285193668150588228618809820190511093295536852275704423581825268894813307783398740016226487266839360270318246722263091064073273566975936336298552294047929530286328486528326535597290299500954792148461554640214128446443607490721243926982261056522572270128819590948924535255524331437788904122188332122327219446498210284229308462190321954047376804304194519908436626706840191253267190417093294381736987800356153832710084898616311545384253665095562508513433620757223834168377703780583838504854132725119027116495933147432001485904221468961983645944547709711507827707192924043986611899116075729379345620646509136673915908093467818684829909218622886728127613177459356702964058791125099523363902029513300764990930108053433451450338535144992443647772837148151418405957099973728731421365298082467967102075291309416888770059791455483605395496849755582408033890360694226725251801217824849795547015960951137414815511317214331520929240127761307789762067769793260020786558467483843993555327919271578803 1392707167060326468931206113345493313808294127772236894327488229812345154964834903456214802293798170055384998825701268582124181849448397723727797400960370641215999805081671957209188377622697522091006573160509702943329676419740951273505644157200347965425451552663435428299967981609561837349597010871752021192443843289921269300581736091620350529423513768469344857773754912117308127178547930175006307377269600273496829605782663065731628508513351970723144466762193197461399185255086358424270796341373011113817387487853882535665214713494817761587868640103819022542660516540310172894910306135659281226338959594087193698535679014765068253783842553263989151466107297741230210432205959887924876911381911312396889775492367180166372965684758679646052466485605629528782155953427647217885997046535307353928986004446594361384707299414019206879411528334593998527274042019779372085350280009164649787535250874016006821597525934720100688733011139503387372249543037799348279647509183395524433988797583769342919808343034346392381149568019315401185452274519379777585795437264612544726366133023253412271359238141751530036385719388509872760815340795572545612346017409742647224272917504394226115306672081347293521414062115984809510894741693328228898813404116034317873843183484397435977091426439322411360440152440884217770914166300215928611830461949800425783816778197265914210206270106020706784867269276714595862045027377759130253396223287358838932469269691870045946688551781302744157232479848107992346926525811754124318977472040644209187500098858759374130461454145987322825870216899414204814131465649940074240757494908966952732717809985025248544686895227325103603390083084648835365406880074473993052256166611708868953226197430294328864630701853181047594656525708616561537461144865531089892595080476459328581499862585284665035353947932455157588380161926197447082964729181221499342251106819097070006039890498469046327424911189383878560451626605200493401338856274301928681810200522553810954691342130190468914946176679348150197275159046923092767681089741066693813865048982716699802683429884757755597711205909604 2253447532679186202742861199983140205577015870330477190312123780090803617725827749068684641347658729300036608907498135639380389225321626981612359487690400015862258528759098867870009316274406574249113180045843840390352173874287923630531130804049278086098424865714138461162355460928547422455668529014417653842007699095615252845335273851893358575856569458051735241089896282537166961574600509038039839829488380369420572849754779809158523673575193253500799590433293332247869521386199647997633242787601107909279712301988124855932739542344912293299105295585636630492382902269062960043911079981699787666725887076409594923435927810266208351387619799591441265511546103049557723488704751120671144930885311970472735823079031049493254609376077790774175523228094840925487251971271047596892472066136417252153417226781473899284967779917211977824807621020191531472559838982608126178883947003213311788279996282857781631990397615150118216860200369549634260874005542884978038846959896328333593355983683640855785376272186522201114866561693863878968610565683308172624445126110384080879227941071682421927421063378877225600670913056660460989434150615763056705641554262018351647854742773289039423090070821363520008680901476255127757617004784392302172380380052370616426137231413927722305577954765858008650739653395676366232468806514344375055437952671044352766077834719838184339025861054945242040391600714503499984233359500086349699894433571588147394659591645917422750992746301211180783939320039361259537343619106135861306777828194476919272398715170304758384126549708495836259490974123248373191835246233778579094890220027994069228650957417026734448908364189308749547937792796156663072599804118460604951372242341088214573872706566968244772724169671865877503875148595344689150638604222234053951386205575982692483529375886049655965462001365906607926915306918641094855801877332639905299351080547828491371337972966436148402716220606272648620243082088805888898188611856709962572170894749279062755909166979986015930907127816762965708592373378444022007808851048856455881634842242737486361150913728751310925630477488407 3646154699739512671674067313328633519385309998102714084639612009903148772690662652524899443641456899355421607733199404221504571074770024705340156888650770657078258333840770825079197693897104096340119753206353543333681850294028874904036774961249626051523876418377573889462323442538109259805265539886169675034451542385536522145917009943513709105280083226521080098863651194654475088753148439213046147206757980642917402455537442874890152182088545224223944057195486529709268706641286006421904039128974119023097099789842007391597954255839730054886973935689455653035043418809373132938821386117359068893064846670496788621971606825031276605171462352855430416977653400790787933920910711008596021842267223282869625598571398229659627575060836470420227989713700470454269407924698694814778469112671724606082403231228068260669675079331231184704219149354785529999833881002387498264234227012377961575815247156873788453587923549870218905593211509053021633123548580684326318494469079723858027344781267410198705184615220868593496016129713179280154062840202687950210240563374996625605594074094935834198780301520628755637056632445170333750249491411335602317987571671760998872127660277683265538396742902710813530094963592239937268511746477720531071193784168404934299980414898325158282669381205180420011179805836560584003382972814560303667268414620844778549894612917104098549232131160965948825258869991218095846278386877845479953290656858946986327128861337787468697681298082513924941171799887469251884270144917889985625755300235121128459898814029064132514588003854483159085361191022662578005966711883718653335647714936961021961368767402051982993595259416633853151327875880805498438006684192934598003628408952797083527098903997262573637354871525046925098531674303961250688099749087765143843981286052442021065029238471334321000815949298361765515295468844838541938766606513861404641602187366925561377377863464905194730141131795656527180694708694006382299527468131011891253981095271832873710600509110176484845853304496111115905867532425367114775489940789923149695499891225454186163834343613509066523341683398011 5899602232418698874416928513311773724962325868433191274951735789993952390416490401593584084989115628655458216640697539860884960300091651686952516376341170672940516862599869692949207010171510670589232933252197383724034024168316798534567905765298904137622301284091712350624678903466656682260934068900587328876459241481151774991252283795407067681136652684572815339953547477191642050327748948251085987036246361012337975305292222684048675855663738477724743647628779861957138228027485654419537281916575226932376812091830132247530693798184642348186079231275092283527426321078436092982732466099058856559790733746906383545407534635297484956559082152446871682489199503840345657409615462129267166773152535253342361421650429279152882184436914261194403512941795311379756659895969742411670941178808141858235820458009542159954642859248443162529026770374977061472393719984995624443118174015591273364095243439731570085578321165020337122453411878602655893997554123569304357341428976052191620700764951051054490560887407390794610882691407043159122673405885996122834685689485380706484822015166618256126201364899505981237727545501830794739683642027098659023629125933779350519982403050972304961486813724074333538775865068495065026128751262112833243574164220775550726117646312252880588247335971038428661919459232236950235851779328904678722706367291889131315972447636942282888257992215911190865650470705721595830511746377931829653185090430535133721788452983704891448674044383725105725111119926830511421613764024025846932533128429598047732297529199368890898714553562978995344852165145910951197801958117497232430537934964955091190019724819078717442503623605942602699265668676962161510606488311395202955000651293885298100971610564230818410079041196912802602406822899305939838738353309999197795367491628424713548558614357383976966277950664268373442210775763479636794568483846501309940953267914754052748715836431341343132857352401929175800937790782812271197716079987721853826151990021111936466509676090162500776760432312874081614459905803811136783298791838779605577134733468191672524985257342260377448972160886418 9545756932158211546090995826640407244347635866535905359591347799897101163107153054118483528630572528010879824373896944082389531374861676392292673264991941330018775196440640518028404704068614766929352686458550927057715874462345673438604680726548530189146177702469286240087002346004765942066199608786757003910910783866688297137169293738920776786416735911093895438817198671846117139080897387464132134243004341655255377760829665558938828037752283701948687704824266391666406934668771660841441321045549345955473911881672139639128648054024372403073053166964547936562469739887809225921553852216417925452855580417403172167379141460328761561730544505302302099466852904631133591330526173137863188615419758536211987020221827508812509759497750731614631502655495781834026067820668437226449410291479866464318223689237610420624317938579674347233245919729762591472227600987383122707352401027969234939910490596605358539166244714890556028046623387655677527121102704253630675835898055776049648045546218461253195745502628259388106898821120222439276736246088684073044926252860377332090416089261554090324981666420134736874784177947001128489933133438434261341616697605540349392110063328655570499883556626785147068870828660735002294640497739833364314767948389180485026098061210578038870916717176218848673099265068797534239234752143464982389974781912733909865867060554046381437490123376877139690909340696939691676790133255777309606475747289482120048917314321492360146355342466239030666282919814299763305883908941915832558288428664719176192196343228433023413302557417462154430213356168573529203768670001215885766185649901916113151388492221130700436098883022576455850593544557767659948613172504329800958629060246682381628070514561493392047433912721959727700938497203267190526838102397764341639348777680866734613587852828718297967093899962630138957506244608318178733335090360362714582555455281679614126093699896246537862998484197585702981632499476818653497243548118733745080133085292944810177110185200338985622613736808985197520327438229178251558788732628702755272634624693645858688819600955769443972313844284429 15445359164576910420507924339952180969309961734969096634543083589891053553523643455712067613619688156666338041014594483943274491674953328079245189641333112002959292059040510210977611714240125437518585619710748310781749898630662471973172586491847434326768478986560998590711681249471422624327133677687344332787370025347840072128421577534327844467553388595666710778770746149037759189408646335715218121279250702667593353066121888242987503893416022179673431352453046253623545162696257315260978602962124572887850723973502271886659341852209014751259132398239640220089896060966245318904286318315476782012646314164309555712786676095626246518289626657749173781956052408471479248740141635267130355388572293789554348441872256787965391943934664992809035015597291093213782727716638179638120351470288008322554044147247152580578960797828117509762272690104739652944621320972378747150470575043560508304005734036336928624744565879910893150500035266258333421118656827822935033177327031828241268746311169512307686306390035650182717781512527265598399409651974680195879611942345758038575238104428172346451183031319640718112511723448831923229616775465532920365245823539319699912092466379627875461370370350859480607646693729230067320769249001946197558342112609956035752215707522830919459164053147257277335018724301034484475086531472369661112681149204623041181839508190988664325748115592788330556559811402661287507301879633709139259660837720017253770705767305197251595029386849964136391394039741130274727497672965941679490821557094317223924493872427801914312017110980441149775065521314484480401570628118713118196723584866871204341408217040209417878602506628519058549859213234729821459219660815725003913629711540567679729042125125724210457512953918872530303345320102573130365576455707763539434716269309291448162146467186102274933371850626898512399717020371797815527903574206864024523508723196433666874809536327587880995855836599514878782570290259630924694959628106455598906285075314056746643619861290501486399374169121859279134787344032989388342087524467482360849769358161837531213804858298029821421286005170847 24991116096735121966598920166592588213657597601505001994134431389788154716630796509830551142250260684677217865388491428025664023049815004471537862906325053332978067255481150729006016418308740204447938306169299237839465773093008145411777267218395964515914656689030284830798683595476188566393333286474101336698280809214528369265590871273248621253970124506760606217587944820883876328489543723179350255522255044322848730826951553801926331931168305881622119057277312645289952097365028976102419924007673918843324635855174411525787989906233387154332185565204188156652365800854054544825840170531894707465501894581712727880165817555955008080020171163051475881422905313102612840070667808404993544003992052325766335462094084296777901703432415724423666518252786875047808795537306616864569761761767874786872267836484763001203278736407791856995518609834502244416848921959761869857822976071529743243916224632942287163910810594801449178546658653914010948239759532076565709013225087604290916791857387973560882051892663909570824680333647488037676145898063364268924538195206135370665654193689726436776164697739775454987295901395833051719549908903967181706862521144860049304202529708283445961253926977644627676517522389965069615409746741779561873110060999136520778313768733408958330080770323476126008117989369832018714321283615834643502655931117356951047706568745035045763238238969665470247469152099600979184092012889486448866136585009499373819623081626689611741384729316203167057676959555430038033381581907857512049109985759036400116690215656234937725319668397903304205278877483058009605339298119929003962909234768787317492796709261340118314701389651095514400452757792497481407832833320054804872258771787250061357112639687217602504946866640832258004283817305840320892414558105527881074065046990158182775734320014820572900465750589528651357223264980115994261238664567226739106064178478113281000903236223834418858854320797100581764202789736449578192203176225189343986418160607001556820730046490840472021987905930844476655114782262167639900876257096185116122403982855483389902624459253799265393599849455276 40436475261312032387106844506544769182967559336474098628677514979679208270154439965542618755869948841343555906403085911968938514724768332550783052547658165335937359314521660939983628132548865641966523925880047548621215671723670617384949853710243398842683135675591283421510364844947611190720466964161445669485650834562368441394012448807576465721523513102427316996358690969921635517898190058894568376801505746990442083893073442044913835824584328061295550409730358898913497260061286291363398526969798491731175359828676683412447331758442401905591317963443828376742261861820299863730126488847371489478148208746022283592952493651581254598309797820800649663378957721574092088810809443672123899392564346115320683903966341084743293647367080717232701533850077968261591523253944796502690113232055883109426311983731915581782239534235909366757791299939241897361470242932140617008293551115090251547921958669279215788655376474712342329046693920172344369358416359899500742190552119432532185538168557485868568358282699559753542461846174753636075555550038044464804150137551893409240892298117898783227347729059416173099807624844664974949166684369500102072108344684179749216294996087911321422624297328504108284164216119195136936178995743725759431452173609092556530529476256239877789244823470733403343136713670866503189407815088204304615337080321979992229546076936023710088986354562453800804028963502262266691393892523195588125797422729516627590328848931886863336414116166167303449070999296560312760879254873799191539931542853353624041184088084036852037336779378344453980344398797542490006909926238642122159632819635658521834204926301549536193303896279614572950311971027227302867052494135779808785888483327817741086154764812941812962459820559704788307629137408413451257991013813291420508781316299449630937880787200922847833837601216427163756940285351913809789142238774090763629572901674546947875712772551422299854710157396615460546773079996080502887162804331644942892703235921058303464349907781341958421362075052703755789902126295157028242963781563667476972173341017320921116429317551829086814885854626123 65427591358047154353705764673137357396625156937979100622811946369467362986785236475373169898120209526020773771791577339994602537774583337022320915453983218668915426570002811668989644550857605846414462232049346786460681444816678762796727120928639363358597792364621568252309048440423799757113800250635547006183931643776896810659603320080825086975493637609187923213946635790805511846387733782073918632323760791313290814720024995846840167755752633942917669467007671544203449357426315267465818450977472410574499995683851094938235321664675789059923503528648016533394627662674354408555966659379266196943650103327735011473118311207536262678329968983852125544801863034676704928881477252077117443396556398441087019366060425381521195350799496441656368052102864843309400318791251413367259874993823757896298579820216678582985518270643701223753309909773744141778319164891902486866116527186619994791838183302221502952566187069513791507593352574086355317598175891976066451203777207036823102330025945459429450410175363469324367142179822241673751701448101408733728688332758028779906546491807625220003512426799191628087103526240498026668716593273467283778970865829039798520497525796194767383878224306148735960681738509160206551588742485505321304562234608229077308843244989648836119325593794209529351254703040698521903729098704038948117993011439336943277252645681058755852224593532119271051498115601863245875485905412682036991934007739016001409951930558576475077798845482370470506747958851990350794260836781656703589041528612390024157874303740271789762656447776247758185623276280600499612249224358571126122542054404445839327001635562889654508005285930710087350764728819724784274885327455834613658147255115067802443267404500159415467406687200537046311912954714253772150405571918819301582846363289607813713615107215743420734303351805955815114163550332029804050380903341317502735637080152660228876616008775256718713564478193716042310975869732530081079365980556834286879121396528059860285079954272182430443349980983548232445016908557324668143840038659852593094577323872804311019053776805628352208485704081399 105864066619359186740812609179682126579592716274453199251489461349146571256939676440915788653990158367364329678194663251963541052499351669573103968001641384004852785884524472608973272683406471488380986157929394335081897116540349380181676974638882762201280928040212851673819413285371410947834267214796992675669582478339265252053615768888401552697017150711615240210305326760727147364285923840968487009125266538303732898613098437891754003580336962004213219876738030443116946617487601558829216977947270902305675355512527778350682653423118190965514821492091844910136889524494654272286093148226637686421798312073757295066070804859117517276639766804652775208180820756250797017692286695749241342789120744556407703270026766466264488998166577158889069585952942811570991842045196209869949988225879641005724891803948594164767757804879610590511101209712986039139789407824043103874410078301710246339760141971500718741221563544226133836640046494258699686956592251875567193394329326469355287868194502945298018768458063029077909604025996995309827256998139453198532838470309922189147438789925524003230860155858607801186911151085163001617883277642967385851079210513219547736792521884106088806502521634652844244845954628355343487767738229231080736014408217321633839372721245888713908570417264942932694391416711565025093136913792243252733330091761316935506798722617082465941210948094573071855527079104125512566879797935877625117731430468532629000280779490463338414212961648537773955818958148550663555140091655455895128973071465743648199058391824308641799993227154592212165967675078142989619159150597213248282174874040104361161206561864439190701309182210324660301076699846952087141937821591614422444035738442885543529422169313101228429866507760241834619542092122667223408396585732110722091627679589057444651495894416666268568140953022382978871103835683943613839523142115408266365209981827207176752328781326679018568274635590331502857748949728610583966528784888479229771824632449118163749429862053524388864712056036251988234919034852481696386803820223520070066750664890125232135483094357457439023371558707522 171291657977406341094518373852819483976217873212432299874301407718613934243724912916288958552110367893385103449986240591958143590273935006595424883455624602673768212454527284277962917234264077334795448389978741121542578561357028142978404095567522125559878720404834419926128461725795210704948067465432539681853514122116162062713219088969226639672510788320803163424251962551532659210673657623042405641449027329617023713333123433738594171336089595947130889343745701987320395974913916826295035428924743312880175351196378873288917975087793980025438325020739861443531517187169008680842059807605903883365448415401492306539189116066653779954969735788504900752982683790927501946573763947826358786185677142997494722636087191847785684348966073600545437638055807654880392160836447623237209863219703398902023471624165272747753276075523311814264411119486730180918108572715945590740526605488330241131598325273722221693787750613739925344233399068345055004554768143851633644598106533506178390198220448404727469178633426498402276746205819236983578958446240861932261526803067950969053985281733149223234372582657799429274014677325661028286599870916434669630050076342259346257290047680300856190380745940801580205527693137515550039356480714736402040576642825550711148215966235537550027896011059152462045646119752263546996866012496282200851323103200653878784051368298141221793435541626692342907025194705988758442365703348559662109665438207548630410232710049039813492011807130908244462566917000541014349400928437112598718014600078133672356932695564580431562649674930839970351590951358743489231408374955784374404716928444550200488208197427328845209314468141034747651841428666676871416823149047449036102182993557953345972689573813260643897273194960778880931455046836920995558802157650930023674474042878665258365111001632409689302444304828338793985267386015973417889904045456725769100847061979867405628944790101935737281839113784047545168724819461140665045894765445313516650946028977178024034509816325706819308062037019800220679935943409806364530643858883372663161327988762929543154536871163085791231857262788921 277155724596765527835330983032501610555810589486885499125790869067760505500664589357204747206100526260749433128180903843921684642773286676168528851457265986678620998339051756886936189917670548823176434547908135456624475677897377523160081070206404887761159648445047271599947875011166621652782334680229532357523096600455427314766834857857628192369527939032418403634557289312259806574959581464010892650574293867920756611946221871630348174916426557951344109220483732430437342592401518385124252406872014215185850706708906651639600628510912170990953146512831706353668406711663662953128152955832541569787246727475249601605259920925771297231609502593157675961163504547178298964266050643575600128974797887553902425906113958314050173347132650759434507224008750466451384002881643833107159851445583039907748363428113866912521033880402922404775512329199716220057897980539988694614936683790040487471358467245222940435009314157966059180873445562603754691511360395727200837992435859975533678066414951350025487947091489527480186350231816232293406215444380315130794365273377873158201424071658673226465232738516407230460925828410824029904483148559402055481129286855478893994082569564406944996883267575454424450373647765870893527124218943967482776591051042872344987588687481426263936466428324095394740037536463828572090002926288525453584653194961970814290850090915223687734646489721265414762552273810114271009245501284437287227396868676081259410513489539503151906224768779446018418385875149091677904541020092568493846987671543877320555991087388889073362642902085432182517558626436886478850567525552997622686891802484654561649414759291768035910623650351359407952918128513628958558760970639063458546218732000838889502111743126361872327139702721020715550997138959588218967198743383040745766101722467722703016606896049075957870585257850721772856371221699917031729427187572134035466057043807074582381273571428614755850113749374379048026473769189751249012423550333792746422770661426296187783939678379231208172774093056052208914854978262288060917447679106892733228078653653054775290019965520543230255228821496443 448447382574171868929849356885321094532028462699317799000092276786374439744389502273493705758210894154134536578167144435879828233047221682763953734912890589352389210793579041164899107151934626157971882937886876578167054239254405666138485165773927013321038368849881691526076336736961832357730402145662072039376610722571589377480053946826854832042038727353221567058809251863792465785633239087053298292023321197537780325279345305368942346252516153898474998564229434417757738567315435211419287835796757528066026057905285524928518603598706151016391471533571567797199923898832671633970212763438445453152695142876741908144449036992425077186579238381662576714146188338105800910839814591401958915160475030551397148542201150161835857696098724359979944862064558121331776163718091456344369714665286438809771835052279139660274309955926234219039923448686446400976006553255934285355463289278370728602956792518945162128797064771705984525106844630948809696066128539578834482590542393481712068264635399754752957125724916025882463096437635469276985173890621177063055892076445824127255409353391822449699605321174206659734940505736485058191083019475836725111179363197738240251372617244707801187264013516256004655901340903386443566480699658703884817167693868423056135804653716963813964362439383247856785683656216092119086868938784807654435976298162624693074901459213364909528082031347957757669577468516103029451611204632996949337062306883629889820746199588542965398236575910354262880952792149632692253941948529681092565002271622010992912923782953469504925292577016272152869149577795629968081975900508781997091608730929204762137622956719096881119938118492394155604759557180305829975584119686512494648401725558792235474801316939622516224412897681799596482452185796509214526000901033970769440575765346387961381717897681485647173029562679060566841638607715890449619331233028859804566904105786941988010218361530550493131952863158426593195198588650891914058318315779106263073716690403474211818449494704938027480836130075852429594790921672094425448091537990265396389406642415984318444556836683629021487086084285364 725603107170937396765180339917822705087839052186203298125883145854134945245054091630698452964311420414883969706348048279801512875820508358932482586370156576031010209132630798051835297069605174981148317485795012034791529917151783189298566235980331901082198017294928963126024211748128454010512736825891604396899707323027016692246888804684483024411566666385639970693366541176052272360592820551064190942597615065458536937225567176999290521168942711849819107784713166848195081159716953596543540242668771743251876764614192176568119232109618322007344618046403274150868330610496334587098365719270987022939941870351991509749708957918196374418188740974820252675309692885284099875105865234977559044135272918105299574448315108475886031043231375119414452086073308587783160166599735289451529566110869478717520198480393006572795343836329156623815435777886162621033904533795922979970399973068411216074315259764168102563806378929672043705980290193552564387577488935306035320582978253457245746331050351104778445072816405553362649446669451701570391389335001492193850257349823697285456833425050495676164838059690613890195866334147309088095566168035238780592308650053217134245455186809114746184147281091710429106274988669257337093604918602671367593758744911295401123393341198390077900828867707343251525721192679920691176871865073333108020629493124595507365751550128588597262728521069223172432129742326217300460856705917434236564459175559711149231259689128046117304461344689800281299338667298724370158482968622249586411989943165888313468914870342358578287935479101704335386708204232516446932543426061779619778500533413859323787037716010864917030561768843753563557677685693934788534345090325575953194620457559631124976913060065984388551552600402820312033449324756097433493199644417011515206677487814110664398324793730561605043614820529782339698009829415807481348758420600993840032961149594016570391491932959165248982066612532805641221672357840643163070741866112899009496487351829770399602389173084169235653610223131904638509645899934382486365539217097158129617485296069039093734576802204172251742314905781807 1174050489745109265695029696803143799619867514885521097125975422640509384989443593904192158722522314569018506284515192715681341108867730041696436321283047165383399419926209839216734404221539801139120200423681888612958584156406188855437051401754258914403236386144810654652100548485090286368243138971553676436276318045598606069726942751511337856453605393738861537752175793039844738146226059638117489234620936262996317262504912482368232867421458865748294106348942601265952819727032388807962828078465529271317902822519477701496637835708324473023736089579974841948068254509329006221068578482709432476092637013228733417894157994910621451604767979356482829389455881223389900785945679826379517959295747948656696722990516258637721888739330099479394396948137866709114936330317826745795899280776155917527292033532672146233069653792255390842855359226572609022009911087051857265325863262346781944677272052283113264692603443701378028231087134824501374083643617474884869803173520646938957814595685750859531402198541321579245112543107087170847376563225622669256906149426269521412712242778442318125864443380864820549930806839883794146286649187511075505703488013250955374496827804053822547371411294607966433762176329572643780660085618261375252410926438779718457259197994915353891865191307090591108311404848896012810263740803858140762456605791287220200440653009341953506790810552417180930101707210842320329912467910550431185901521482443341039052005888716589082702697920600154544180291459448357062412424917151930678976992214787899306381838653295828083213228056117976488255857782028146415014519326570561616870109264343064085924660672729961798150499887336147719162437242874240618509929210012088447843022183118423360451714377005606904775965498084619908515901510552606648019200545450982284647253253160498625780042691412047252216644383208842906539648437131697930968089653629853644599865255380958558401710294489715742114019475691232234416870946491535077129060181892005272570204042233244611420838667789107263134446353207757068104436821606476911813630755087423526006891938485023412179133638887801273229400990067171 1899653596916046662460210036720966504707706567071724395251858568494644330234497685534890611686833734983902475990863240995482853984688238400628918907653203741414409629058840637268569701291144976120268517909476900647750114073557972044735617637734590815485434403439739617778124760233218740378755875797445280833176025368625622761973831556195820880865172060124501508445542334215897010506818880189181680177218551328454854199730479659367523388590401577598113214133655768114147900886749342404506368321134301014569779587133669878064757067817942795031080707626378116098936585119825340808166944201980419499032578883580724927643866952828817826022956720331303082064765574108674000661051545061357077003431020866761996297438831367113607919782561474598808849034211175296898096496917562035247428846887025396244812232013065152805864997628584547466670795004458771643043815620847780245296263235415193160751587312047281367256409822631050071937067425018053938471221106410190905123756498900396203560926736101964309847271357727132607761989776538872417767952560624161450756406776093218698169076203492813802029281440555434440126673174031103234382215355546314286295796663304172508742282990862937293555558575699676862868451318241901117753690536864046620004685183691013858382591336113743969766020174797934359837126041575933501440612668931473870477235284411815707806404559470542104053539073486404102533836953168537630373324616467865422465980658003052188283265577844635200007159265289954825479630126747081432570907885774180265388982157953787619850753523638186661501163535219680823642565986260662861947062752632341236648609797756923409711698388740826715181061656179901282720114928568175407044274300337664401037642640678054485428627437071591293327518098487440220549350835308704081512400189867993799853930740974609290178367485142608857260259203738625246237658266547505412316848074230847484632826404974975128793202227448880991096086088224037875638543304332178240199802048004904282066691394063015011023227840873276498788056576339661706614082721540859398179169972184581655624377234554062505913710441091973524971715895848978 3073704086661155928155239733524110304327574081957245492377833991135153715223941279439082770409356049552920982275378433711164195093555968442325355228936250906797809048985050476485304105512684777259388718333158789260708698229964160900172669039488849729888670789584550272430225308718309026746999014768998957269452343414224228831700774307707158737318777453863363046197718127255741748653044939827299169411839487591451171462235392141735756256011860443346407320482598369380100720613781731212469196399599830285887682409653147579561394903526267268054816797206352958047004839629154347029235522684689851975125215896809458345538024947739439277627724699687785911454221455332063901446997224887736594962726768815418693020429347625751329808521891574078203245982349042006013032827235388781043328127663181313772104265545737299038934651420839938309526154231031380665053726707899637510622126497761975105428859364330394631949013266332428100168154559842555312554864723885075774926930019547335161375522421852823841249469899048711852874532883626043265144515786246830707662556202362740110881318981935131927893724821420254990057480013914897380668864543057389791999284676555127883239110794916759840926969870307643296630627647814544898413776155125421872415611622470732315641789331029097861631211481888525468148530890471946311704353472789614632933841075699035908247057568812495610844349625903585032635544164010857960285792527018296608367502140446393227335271466561224282709857185890109369659921586195438494983332802926110944365974372741686926232592176934014744714391591337657311898423768288809276961582079202902853518719062099987495636359061470788513331561543516049001882552171442416025554203510349752848880664823796477845880341814077198198103483596572060129065252345861310729531600735318976084501183994135107915958410176554656109476903586947468152777306703679203343284937727860701129232691660355933687194912521938596733210105563915270110055414250823713317328862229896909554636895436296259622444066508662383761922502929547418774718519543147336309992800727272005181631269173039085918092844079979774798201116885916149 4973357683577202590615449770245076809035280649028969887629692559629798045458438964973973382096189784536823458266241674706647049078244206842954274136589454648212218678043891113753873806803829753379657236242635689908458812303522132944908286677223440545374105193024289890208350068951527767125754890566444238102628368782849851593674605863902979618183949513987864554643260461471638759159863820016480849589058038919906025661965871801103279644602262020944520534616254137494248621500531073616975564720734131300457461996786817457626151971344210063085897504832731074145941424748979687837402466886670271474157794780390183273181891900568257103650681420019088993518987029440737902108048769949093671966157789682180689317868178992864937728304453048677012095016560217302911129324152950816290756974550206710016916497558802451844799649049424485776196949235490152308097542328747417755918389733177168266180446676377675999205423088963478172105221984860609251026085830295266680050686518447731364936449157954788151096741256775844460636522660164915682912468346870992158418962978455958809050395185427945729923006261975689430184153187946000615051079898603704078295081339859300391981393785779697134482528446007320159499078966056446016167466691989468492420296806161746174024380667142841831397231656686459827985656932047879813144966141721088503411076360110851616053462128283037714897888699389989135169381117179395590659117143486162030833482798449445415618537044405859482717016451180064195139551712942519927554240688700291209754956530695474546083345700572201406215555126557338135540989754549472138908644831835244090167328859856910905348057450211615228512623199695950284602667100010591432598477810687417249918307464474532331308969251148789491431001695059500349614603181170014811044000925186969884355114735109717206136777661697264966737162790686093399014964970226708755601785802091548613865518065330908815988114749387477724306191652139307985693957555155891557528664277901813836703586830359274633467294349535660260710559505887080481332602264688195708171970699456586837255646407593148424006554521071748323172832781765127 8047061770238358518770689503769187113362854730986215380007526550764951760682380244413056152505545834089744440541620108417811244171800175285279629365525705555010027727028941590239177912316514530639045954575794479169167510533486293845080955716712290275262775982608840162638575377669836793872753905335443195372080712197074080425375380171610138355502726967851227600840978588727380507812908759843780019000897526511357197124201263942839035900614122464290927855098852506874349342114312804829444761120333961586345144406439965037187546874870477331140714302039084032192946264378134034866637989571360123449283010677199641618719916848307696381278406119706874904973208484772801803555045994836830266928884558497599382338297526618616267536826344622755215340998909259308924162151388339597334085102213388023789020763104539750883734300470264424085723103466521532973151269036647055266540516230939143371609306040708070631154436355295906272273376544703164563580950554180342454977616537995066526311971579807611992346211155824556313511055543790958948056984133117822866081519180818698919931714167363077657816731083395944420241633201860897995719944441661093870294366016414428275220504580696456975409498316314963456129706613870990914581242847114890364835908428632478489666169998171939693028443138574985296134187822519826124849319614510703136344917435809887524300519697095533325742238325293574167804925281190253550944909670504458639200984938895838642953808510967083765426873637070173564799473299137958422537573491626402154120930903437161472315937877506216150929946717894995447439413522838281415870226911038146943686047921956898400984416511682403741844184743211999286485219271453007458152681321037170098798972288271010177189311065225987689534485291631560478679855527031325540575601660505945968856298729244825122095187838251921076214066377633561551792271673905912098886723529952249743098209725686842503183027271326074457516297216054578095749371805979604874857526507798723391340482266655534255911360858198044022633062435434499256051121807835532018164771426728592018886915580632234342099398601051523121373949667681276 13020419453815561109386139274014263922398135380015185267637219110394749806140819209387029534601735618626567898807861783124458293250044382128233903502115160203222246405072832703993051719120344284018703190818430169077626322837008426789989242393935730820636881175633130052846925446621364560998508795901887433474709080979923932019049986035513117973686676481839092155484239050199019266972772579860260868589955565431263222786167135743942315545216384485235448389715106644368597963614843878446420325841068092886802606403226782494813698846214687394226611806871815106338887689127113722704040456458030394923440805457589824891901808748875953484929087539725963898492195514213539705663094764785923938895042348179780071656165705611481205265130797671432227436015469476611835291475541290413624842076763594733805937260663342202728533949519688909861920052702011685281248811365394473022458905964116311637789752717085746630359859444259384444378598529563773814607036384475609135028303056442797891248420737762400143442952412600400774147578203955874630969452479988815024500482159274657728982109352791023387739737345371633850425786389806898610771024340264797948589447356273728667201898366476154109892026762322283615628785579927436930748709539104358857256205234794224663690550665314781524425674795261445124119844754567705937994285756231791639755993795920739140353981825378571040640127024683563302974306398369649141604026813990620670034467737345284058572345555372943248143890088250237759939025012080478350091814180326693363875887434132636018399283578078417557145501844452333582980403277387753554778871742873391033853376781813809306332473961894018970356807942907949571087886371463598890751159131724587348717279752745542508498280316374777180965486986691060828294458708201340351619602585692915853211413464354542328231965499949186042951229168319654950807236644132620854488509332043798356963727791017751319171142020713552181822488868193886081443329361135496432386190785700537228044069097014808889378655207733704283343621941321579737383724072523727726336742126185178856142561988225382766105953122123271444546782449446403 21067481224053919628156828777783451035760990111001400647644745661159701566823199453800085687107281452716312339349481891542269537421844557413513532867640865758232274132101774294232229631436858814657749145394224648246793833370494720635070198110648021095899657158241970215485500824291201354871262701237330628846789793176998012444425366207123256329189403449690319756325217638926399774785681339704040887590853091942620419910368399686781351445830506949526376244813959151242947305729156683275865086961402054473147750809666747532001245721085164725367326108910899138531833953505247757570678446029390518372723816134789466510621725597183649866207493659432838803465403998986341509218140759622754205823926906677379453994463232230097472801957142294187442777014378735920759453626929630010958927178976982757594958023767881953612268249989953333947643156168533218254400080402041528288999422195055455009399058757793817261514295799555290716651975074266938378187986938655951590005919594437864417560392317570012135789163568424957087658633747746833579026436613106637890582001340093356648913823520154101045556468428767578270667419591667796606490968781925891818883813372688156942422402947172611085301525078637247071758492193798427845329952386219249222092113663426703153356720663486721217454117933836430420254032577087532062843605370742494776100911231730626664654501522474104366382365349977137470779231679559902692548936484495079309235452676241122701526154066340027013570763725320411324738498311218436772629387671953095517996818337569797490715221455584633708075448562347329030419816800226034970649098653911537977539424703770707707316890473576422712200992686119948857573105642916606348903840452761757447516252041016552685687591381600764870499972278322621306974314235232665892195204246198861822067712193599367450327153338201107119165295545953216502599508318038532953375232861996048100061937516704593822354169292039626639338786084248464177192701167115101307243717293499260619384551363670343145290016065931748305976684376756078993434845880359259744501513552913770875029477568857617108205351723174794565920732117127679 34087900677869480737542968051797714958159125491016585915281964771554451372964018663187115221709017071342880238157343674666727830671888939541747436369756025961454520537174606998225281350557203098676452336212654817324420156207503147425059440504583751916536538333875100268332426270912565915869771497139218062321498874156921944463475352242636374302876079931529411911809456689125419041758453919564301756180808657373883642696535535430723666991046891434761824634529065795611545269344000561722285412802470147359950357212893530026814944567299852119593937915782714244870721642632361480274718902487420913296164621592379291402523534346059603351136581199158802701957599513199881214881235524408678144718969254857159525650628937841578678067087939965619670213029848212532594745102470920424583769255740577491400895284431224156340802199509642243809563208870544903535648891767436001311458328159171766647188811474879563891874155243814675161030573603830712192795023323131560725034222650880662308808813055332412279232115981025357861806211951702708209995889093095452915082483499368014377895932872945124433296205774139212121093205981474695217261993122190689767473260728961885609624301313648765195193551840959530687387277773725864776078661925323608079348318898220927817047271328801502741879792729097875544373877331655238000837891126974286415856905027651365805008483347852675407022492374660700773753538077929551834152963298485699979269920413586406760098499621712970261714653813570649084677523323298915122721201852279788881872705771702433509114505033663051265220950406799662613400220077613788525427970396784929011392801485584517013649364435470441682557800629027898428660992014380205239654999584486344796233531793762095194185871697975542051465459265013682135268772943434006243814806831891777675279125657953909778559118838150293162116524714272871453406744962171153807863742194039846457025665307722345141525311312753178821161274952442350258636030528250597739629908079199797847428620460685152034668671273665452589320306318077658730818569952882987470838255679098949731172039557082999874311304845298066010467514566574082 55155381901923400365699796829581165993920115602017986562926710432714152939787218116987200908816298524059192577506825566208997368093733496955260969237396891719686794669276381292457510981994061913334201481606879465571213989577997868060129638615231773012436195492117070483817927095203767270741034198376548691168288667333919956907900718449759630632065483381219731668134674328051818816544135259268342643771661749316504062606903935117505018436877398384288200879343024946854492575073157244998150499763872201833098108022560277558816190288385016844961264024693613383402555596137609237845397348516811431668888437727168757913145259943243253217344074858591641505423003512186222724099376284031432350542896161534538979645092170071676150869045082259807112990044226948453354198729400550435542696434717560248995853308199106109953070449499595577757206365039078121790048972169477529600457750354227221656587870232673381153388451043369965877682548678097650570983010261787512315040142245318526726369205372902424415021279549450314949464845699449541789022325706202090805664484839461371026809756393099225478852674202906790391760625573142491823752961904116581586357074101650042552046704260821376280495076919596777759145769967524292621408614311542857301440432561647630970403991992288223959333910662934305964627909908742770063681496497716781191957816259381992469662984870326779773404857724637838244532769757489454526701899782980779288505373089827529461624653688052997275285417538891060409416021634517351895350589524232884399869524109272230999829726489247684973296398969146991643820036877839823496077069050696466988932226189355224720966254909046864394758793315147847286234097657296811588558840037248102243749783834778647879873463079576306921965431543336303442243087178666672136010011078090639497346837851553277228886272176351400281281820260226087956006253280209686761238975056035894557087602824426938963879480604792805460500061036690814435828731695365699046873625372699058466813171824355495179958687339597200895296990694833737724253415833242247215339769232012720606201517125940616982516656568472860576388246683701761 89243282579792881103242764881378880952079241093034572478208675204268604312751236780174316130525315595402072815664169240875725198765622436497008405607152917681141315206450988290682792332551265012010653817819534282895634145785501015485189079119815524928972733825992170752150353366116333186610805695515766753489787541490841901371376070692396004934941563312749143579944131017177237858302589178832644399952470406690387705303439470548228685427924289819050025513872090742466037844417157806720435912566342349193048465235453807585631134855684868964555201940476327628273277238769970718120116251004232344965053059319548049315668794289302856568480656057750444207380603025386103938980611808440110495261865416391698505295721107913254828936133022225426783203074075160985948943831871470860126465690458137740396748592630330266293872649009237821566769573909623025325697863936913530911916078513398988303776681707552945045262606287184641038713122281928362763778033584919073040074364896199189035178018428234836694253395530475672811271057651152249999018214799297543720746968338829385404705689266044349912148879977046002512853831554617187041014955026307271353830334830611928161671005574470141475688628760556308446533047741250157397487276236866465380788751459868558787451263321089726701213703392032181509001787240398008064519387624691067607814721287033358274671468218179455180427350099298539018286307835419006360854863081466479267775293503413936221723153309765967537000071352461709494093544957816267018071791376512673281742229880974664508944231522910736238517349375946654257220256955453612021505039447481396000325027674939741734615619344517306077316593944175745714895089671677016828213839621734447039983315628540743074059334777551848973430890808349985577511860122100678379824817909982417172625963509507187007445391014501693443398344974498959409412998242380840569102717250075741014113268132149284105404791917545984281661335989133164694464762223616296786503533451898856314241792285040647214627358613262653484617297012911396455071985786125234686178024911111670337373556683023616856827961413770926586855761250275843 144398664481716281468942561710960046945999356695052559041135385636982757252538454897161517039341614119461265393170994807084722566859355933452269374844549809400828109875727369583140303314545326925344855299426413748466848135363498883545318717735047297941408929318109241235968280461320100457351839893892315444658076208824761858279276789142155635567007046693968875248078805345229056674846724438100987043724132156006891767910343405665733703864801688203338226393215115689320530419490315051718586412330214551026146573258014085144447325144069885809516465965169941011675832834907579955965513599521043776633941497046716807228814054232546109785824730916342085712803606537572326663079988092471542845804761577926237484940813277984930979805178104485233896193118302109439303142561272021295669162125175697989392601900829436376246943098508833399323975938948701147115746836106391060512373828867626209960364551940226326198651057330554606916395670960026013334761043846706585355114507141517715761547223801137261109274675079925987760735903350601791788040540505499634526411453178290756431515445659143575391001554179952792904614457127759678864767916930423852940187408932261970713717709835291517756183705680153086205678817708774450018895890548409322682229184021516189757855255313377950660547614054966487473629697149140778128200884122407848799772537546415350744334453088506234953832207823936377262819077592908460887556762864447258556280666593241465683347806997818964812285488891352769903509566592333618913422380900745557681611753990246895508773958012158421211813748345093645901040293833293435517582108498177862989257253864294966455581874253564170472075387259323593001129187328973828416772679658982549283733099463319390953932797857128155895396322351686289019754947300767350515834828988073056669972801361060464236331663190853093724680165234725047365419251522590527330341692306111635571200870956576223069284272522338789742161397025823979130293493918981995833377158824597914781054964109396142394586045952859854379914287707745134179325401619367481901517794143124390943575073808964233839344617982243787163244007933977604 233641947061509162572185326592338927898078597788087131519344060841251361565289691677335833169866929714863338208835164047960447765624978369949277780451702727081969425082178357873823095647096591937355509117245948031362482281148999899030507796854862822870381663144101411988118633827436433643962645589408082198147863750315603759650652859834551640501948610006718018828022936362406294533149313616933631443676602562697279473213782876213962389292725978022388251907087206431786568263907472858439022324896556900219195038493467892730078459999754754774071667905646268639949110073677550674085629850525276121598994556366264856544482848521848966354305386974092529920184209562958430602060599900911653341066626994317935990236534385898185808741311126710660679396192377270425252086393143492155795627815633835729789350493459766642540815747518071220890745512858324172441444700043304591424289907381025198264141233647779271243913663617739247955108793241954376098539077431625658395188872037716904796725242229372097803528070610401660572006961001754041787058755304797178247158421517120141836221134925187925303150434156998795417468288682376865905782871956731124294017743762873898875388715409761659231872334440709394652211865450024607416383166785275788063017935481384748545306518634467677361761317446998668982631484389538786192720271747098916407587258833448709019005921306685690134259557923234916281105385428327467248411625945913737824055960096655401905070960307584932349285560243814479397603111550149885931494172277258230963353983871221560017718189535069157450331097721040300158260550788747047539087147945659258989582281539234708190197493598081476549391981203499338716024277000650845244986519280716996323716415091860134027992132634680004868827213160036274597266807422868028895659646898055473842598764870567651243777054205354787168078510209224006774832249764971367899444409556187376585314139088725507174689064439884774023822733014957143824758256142598292619880692276496771095296756394436789609213404566122507864531584720656530634397387405492716587695819054236061280948630491987850696172579396014713750099769184253447 378040611543225444041127888303298974844077954483139690560479446478234118817828146574497350209208543834324603602006158855045170332484334303401547155296252536482797534957905727456963398961641918862700364416672361779829330416512498782575826514589910120811790592462210653224086914288756534101314485483300397642805939959140365617929929648976707276068955656700686894076101741707635351207996038055034618487400734718704171241124126281879696093157527666225726478300302322121107098683397787910157608737226771451245341611751481977874525785143824640583588133870816209651624942908585130630051143450046319898232936053412981663773296902754395076140130117890434615632987816100530757265140587993383196186871388572244173475177347663883116788546489231195894575589310679379864555228954415513451464789940809533719181952394289203018787758846026904620214721451807025319557191536149695651936663736248651408224505785588005597442564720948293854871504464201980389433300121278332243750303379179234620558272466030509358912802745690327648332742864352355833575099295810296812773569874695410898267736580584331500694151988336951588322082745810136544770550788887154977234205152695135869589106425245053176988056040120862480857890683158799057435279057333685110745247119502900938303161773947845628022308931501965156456261181538679564320921155869506765207359796379864059763340374395191925088091765747171293543924463021235928135968388810360996380336626689896867588418767305403897161571049135167249301112678142483504844916553178003788644965737861468455526492147547227578662144846066133946059300844622040483056669256443837121978839535403529674645779367851645647021467368462822931717153464329624673661759198939699545607449514555179524981924930491808160764223535511722563617021754723635379411494475886128530512571566231628115480108717396207880892758675443949054140251501287561895229786101862299012156515010045301730243973336962223563765984130040781122955051750061580288453257851101094685876351720503832932003799450518982362244445872428401664813722789024860198489213613197360452224523704300952084535517197378258500913343777118231051 611682558604734606613313214895637902742156552271226822079823507319485480383117838251833183379075473549187941810841322903005618098109312673350824935747955263564766960040084085330786494608738510800055873533918309811191812697661498681606334311444772943682172255606312065212205548116192967745277131072708479840953803709455969377580582508811258916570904266707404912904124678070041645741145351671968249931077337281401450714337909158093658482450253644248114730207389528552893666947305260768596631062123328351464536650244949870604604245143579395357659801776462478291574052982262681304136773300571596019831930609779246520317779751276244042494435504864527145553172025663489187867201187894294849527938015566562109465413882049781302597287800357906555254985503056650289807315347559005607260417756443369448971302887748969661328574593544975841105466964665349491998636236193000243360953643629676606488647019235784868686478384566033102826613257443934765531839198709957902145492251216951525354997708259881456716330816300729308904749825354109875362158051115093991020728296212531040103957715509519425997302422493950383739551034492513410676333660843886101528222896458009768464495140654814836219928374561571875510102548608823664851662224118960898808265054984285686848468292582313305384070248948963825438892665928218350513641427616605681614947055213312768782346295701877615222351323670406209825029848449563395384380014756274734204392586786552269493489727612988829510856609378981728698715789692633390776410725455262019608319721732690015544210337082296736112475943787174246217561395410787530595756404389496380968421816942764382835976861449727123570859349666322270433177741330275518906745718220416541931165929647039659009917063126488165633050748671758838214288562146503408307154122784184004355170331102195766723885771601562668060837185653173060915083751052533263129230511418486388741829149134027237418662401402108337789806863055738266779810006204178581073138543377591456971648476898269721613012855085104870108977457149058195448120176430352915076909432251596513505472334792939935231689776774273214663443546302484498 989723170147960050654441103198936877586234506754366512640302953797719599200945984826330533588284017383512545412847481758050788430593646976752372091044207800047564494997989812787749893570380429662756237950590671591021143114173997464182160826034683064493962848068522718436292462404949501846591616556008877483759743668596334995510512157787966192639859923408091806980226419777676996949141389727002868418478072000105621955462035439973354575607781310473841208507691850674000765630703048678754239799350099802709878261996431848479130030287404035941247935647278687943198995890847811934187916750617915918064866663192228184091076654030639118634565622754961761186159841764019945132341775887678045714809404138806282940591229713664419385834289589102449830574813736030154362544301974519058725207697252903168153255282038172680116333439571880461320188416472374811555827772342695895297617379878328014713152804823790466129043105514326957698117721645915154965139319988290145895795630396186145913270174290390815629133561991056957237492689706465708937257346925390803794298170907941938371694296093850926691454410830901972061633780302649955446884449731041078762428049153145638053601565899868013207984414682434356367993231767622722286941281452646009553512174487186625151630066530158933406379180450928981895153847466897914834562583486112446822306851593176828545686670097069540310443089417577503368954311470799323520348403566635730584729213476449137081908494918392726672427658514148977999828467835116895621327278633265808253285459594158471070702484629524314774620789853308192276862240032828013652425660833333502947261352346294057481756229301372770592326718129145202150331205659900192568504917160116087538615444202219183991841993618296326397274284183481401831310316870138787718648598670312534867741897333823882203994488997770548953595861097122115055335252340095158359016613280785400898344159179328967662635738364331901555790993096519389734861756265758869526396394478686142848000197402102653616812305604087232353423329577459860261842965455213113566123045448956965729996039093892019767206974152531715576787323420715549 1601405728752694657267754318094574780328391059025593334720126461117205079584063823078163716967359490932700487223688804661056406528702959650103197026792163063612331455038073898118536388179118940462812111484508981402212955811835496145788495137479456008176135103674834783648498010521142469591868747628717357324713547378052304373091094666599225109210764190115496719884351097847718642690286741398971118349555409281507072669799944598067013058058034954721955938715081379226894432578008309447350870861473428154174414912241381719083734275430983431298907737423741166234773048873110493238324690051189511937896797272971474704408856405306883161129001127619488906739331867427509132999542963781972895242747419705368392406005111763445721983122089947009005085560316792680444169859649533524665985625453696272617124558169787142341444908033116856302425655381137724303554464008535696138658571023508004621201799824059575334815521490080360060524730979089849920496978518698248048041287881613137671268267882550272272345464378291786266142242515060575584299415398040484794815026467120472978475652011603370352688756833324852355801184814795163366123218110574927180290650945611155406518096706554682849427912789244006231878095780376446387138603505571606908361777229471472312000098359112472238790449429399892807334046513395116265348204011102718128437253906806489597328032965798947155532794413087983713193984159920362718904728418322910464789121800263001406575398222531381556183284267893130706698544257527750286397738004088527827861605181326848486614912821711821050887096733640482438494423635443615544248182065222829883915683169289058440317733090751099894163186067795467472583508946990175711475250635380532629469781373849258843001759056744784492030325032855240240045598879016642196025802721454496539222912228436019648927880260599333217014433046750295175970419003392628421488247124699271789640173308313356205081298139766440239345597856152257656514671762469937450599534937856277599819648674300372375229825160689192102462400786726518055709963141885566028643032477700553479235468373886831954998896750926804930240230869723200047 2591128898900654707922195421293511657914625565779959847360429414914924678785009807904494250555643508316213032636536286419107194959296606626855569117836370863659895950036063710906286281749499370125568349435099652993234098926009493609970655963514139072670097951743357502084790472926091971438460364184726234808473291046648639368601606824387191301850624113523588526864577517625395639639428131125973986768033481281612694625261980038040367633665816265195797147222773229900895198208711358126105110660823527956884293174237813567562864305718387467240155673071019854177972044763958305172512606801807427855961663936163702888499933059337522279763566750374450667925491709191529078131884739669650940957556823844174675346596341477110141368956379536111454916135130528710598532403951508043724710833150949175785277813451825315021561241472688736763745843797610099115110291780878392033956188403386332635914952628883365800944564595594687018222848700735765075462117838686538193937083512009323817181538056840663087974597940282843223379735204767041293236672744965875598609324638028414916847346307697221279380211244155754327862818595097813321570102560305968259053078994764301044571698272454550862635897203926440588246089012144069109425544787024252917915289403958658937151728425642631172196828609850821789229200360862014180182766594588830575259560758399666425873719635896016695843237502505561216562938471391162042425076821889546195373851013739450543657306717449774282855711926407279684698372725362867182019065282721793636114890640921006957685615306341345365661717523493790630771285875476443557900607726056163386862944521635352497799489320052472664755512785924612674733840152650075904043755552540648717008396818051478026993601050363080818427599317038721641876909195886780983744451320124809074090654125769843531131874749597103765968028907847417291025754255732723579847263737980057190538517467492685172743933878130772140901388849248777046249533518735696320125931332334963742667648871702475028846637466293279334815824116303977915971806107340779142209155523149510444965464412980723974766103725079336645817018193143915596 4192534627653349365189949739388086438243016624805553182080555876032129758369073630982657967523002999248913519860225091080163601487999566276958766144628533927272227405074137609024822669928618310588380460919608634395447054737844989755759151100993595080846233055418192285733288483447234441030329111813443592133186838424700943741692701490986416411061388303639085246748928615473114282329714872524945105117588890563119767295061924636107380691723851219917753085937854609127789630786719667573455981522296956111058708086479195286646598581149370898539063410494761020412745093637068798410837296852996939793858461209135177592908789464644405440892567877993939574664823576619038211131427703451623836200304243549543067752601453240555863352078469483120460001695447321391042702263601041568390696458604645448402402371621612457363006149505805593066171499178747823418664755789414088172614759426894337257116752452942941135760086085675047078747579679825614995959096357384786241978371393622461488449805939390935360320062318574629489521977719827616877536088143006360393424351105148887895322998319300591632068968077480606683664003409892976687693320670880895439343729940375456451089794979009233712063809993170446820124184792520515496564148292595859826277066633430131249151826784755103410987278039250714596563246874257130445530970605691548703696814665206156023201752601694963851376031915593544929756922631311524761329805240212456660162972814002451950232704939981155839038996194300410391396916982890617468416803286810321463976495822247855444300528128053166416548814257134273069265709510920059102148789791278993270778627690924410938117222410803572558918698853720080147317349099640251615519006187921181346478178191900736869995360107107865310457924349893961881922508074903423179770254041579305613313566354205863180059755010196436982982461954597712466996173259125352001335510862679328980178690775806041377825232017897212380246986705401034702764205281205633770725466270191241342487297546002847404076462626982471437278224903030495971681769249226345170852188000850063924200932786867555929765000476006141576057249062867115643 6783663526554004073112145160681598096157642190585513029440985290947054437154083438887152218078646507565126552496761377499270796447296172903814335262464904790932123355110201319931108951678117680713948810354708287388681153663854483365729807064507734153516331007161549787818078956373326412468789475998169826941660129471349583110294308315373607712912012417162673773613506133098509921969143003650919091885622371844732461920323904674147748325389667485113550233160627839028684828995431025699561092183120484067943001260717008854209462886867758365779219083565780874590717138401027103583349903654804367649820125145298880481408722523981927720656134628368390242590315285810567289263312443121274777157861067393717743099197794717666004721034849019231914917830577850101641234667552549612115407291755594624187680185073437772384567390978494329829917342976357922533775047570292480206570947830280669893031705081826306936704650681269734096970428380561380071421214196071324435915454905631785305631343996231598448294660258857472712901712924594658170772760887972235992033675743177302812170344626997812911449179321636361011526822004990790009263423231186863698396808935139757495661493251463784574699707197096887408370273804664584605989693079620112744192356037388790186303555210397734583184106649101536385792447235119144625713737200280379278956375423605822449075472237590980547219269418099106146319861102702686803754882062102002855536823827741902493890011657430930121894708120707690076095289708253484650435868569532115100091386463168862401986143434394511782210531780628063700036995386396502660049397517335156657641572212559763435916711730856045223674211639644692822051189252290327519562761740461830063486575009952214896988961157470946128885523666932683523799417270790204163514705361704114687404220479975706711191629759793540748950490862445129758021927514858075581182774600659386170717208243298726550569165896027984521148375554649811749013738799941330090851397602526205085154946417705322432923100093275750772094049019334473887653575356567124313061343523999574369166397199848279904531104201085478221874267256011031239 10976198154207353438302094900069684534400658815391066211521541166979184195523157069869810185601649506814040072356986468579434397935295739180773101407093438718204350760184338928955931621606735991302329271274316921784128208401699473121488958165501329234362564062579742073551367439820560853499118587811613419074846967896050526851987009806360024123973400720801759020362434748571624204298857876175864197003211262407852229215385829310255129017113518705031303319098482448156474459782150693273017073705417440179001709347196204140856061468017129264318282494060541895003462232038095901994187200507801307443678586354434058074317511988626333161548702506362329817255138862429605500394740146572898613358165310943260810851799247958221868073113318502352374919526025171492683936931153591180506103750360240072590082556695050229747573540484299922896088842155105745952439803359706568379185707257175007150148457534769248072464736766944781175718008060386995067380310553456110677893826299254246794081149935622533808614722577432102202423690644422275048308849030978596385458026848326190707493342946298404543518147399116967695190825414883766696956743902067759137740538875515213946751288230473018286763517190267334228494458597185100102553841372215972570469422670818921435455381995152837994171384688352250982355694109376275071244707805971927982653190088811978472277224839285944398595301333692651076076783734014211565084687302314459515699796641744354444122716597412085960933704315008100467492206691144102118852671856342436564067882285416717846286671562447678198759346037762336769302704897316561762198187308614149928420199903484174374033934141659617782592910493364772969368538351930579135081767928383011409964753201852951766984321264578811439343448016826645405721925345693627343284959403283420300717786834181569891251384769989977731932952817042842225018100773983427582518285463338715150895899019104767928394397913925196901395362260050846451777944081146963861576863872717446427642243963708169836999562720258222209372273922364969859335344605793469483913531524849638293367329986715835834296104677091619797931516318878146882 17759861680761357511414240060751282630558301005976579240962526457926238632677240508756962403680296014379166624853747846078705194382591912084587436669558343509136474115294540248887040573284853672016278081629025209172809362065553956487218765230009063387878895069741291861369446396193887265967908063809783246016507097367400109962281318121733631836885413137964432793975940881670134126268000879826783288888833634252584691135709733984402877342503186190144853552259110287185159288777581718972578165888537924246944710607913212995065524354884887630097501577626322769594179370439123005577537104162605675093498711499732938555726234512608260882204837134730720059845454148240172789658052589694173390516026378336978553950997042675887872794148167521584289837356603021594325171598706140792621511042115834696777762741768488002132140931462794252726006185131463668486214850929999048585756655087455677043180162616595555009169387448214515272688436440948375138801524749527435113809281204886032099712493931854132256909382836289574915325403569016933219081609918950832377491702591503493519663687573296217454967326720753328706717647419874556706220167133254622836137347810654971442412781481936802861463224387364221636864732401849684708543534451836085314661778708207711621758937205550572577355491337453787368148141344495419696958445006252307261609565512417800921352697076876924945814570751791757222396644836716898368839569364416462371236620469486256938012728254843016082828412435715790543587496399397586769288540425874551664159268748585580248272814996842189980969877818390400469339700283713064422247584825949306586061772116043937809950645872515663006267122133009465791419727604220906654644529668844841473451328211805166663973282422049757568228971683759328929521342616483831506799664764987534988122007314157276602443014529783518480883443679487971983040028288841503163701060063998101321613107262403494478963563809953181422543737814700658200791682881088293952428261475243651512797190381413492269922662813533972981466322941699443746988919962360593796974875048849212662533727186564115738827208878177098019805783574889178121 28736059834968710949716334960820967164958959821367645452484067624905422828200397578626772589281945521193206697210734314658139592317887651265360538076651782227340824875478879177842972194891589663318607352903342130956937570467253429608707723395510392622241459132321033934920813836014448119467026651621396665091354065263450636814268327928093655960858813858766191814338375630241758330566858756002647485892044896660436920351095563294658006359616704895176156871357592735341633748559732412245595239593955364425946419955109417135921585822902016894415784071686864664597641602477218907571724304670406982537177297854166996630043746501234594043753539641093049877100593010669778290052792736267072003874191689280239364802796290634109740867261486023936664756882628193087009108529859731973127614792476074769367845298463538231879714471947094175622095027286569414438654654289705616964942362344630684193328620151364803081634124215159296448406444501335370206181835302983545791703107504140278893793643867476666065524105413721677117749094213439208267390458949929428762949729439829684227157030519594621998485474119870296401908472834758323403176911035322381973877886686170185389164069712409821148226741577631555865359190999034784811097375824052057885131201379026633057214319200703410571526876025806038350503835453871694768203152812224235244262755601229779393629921916162869344409872085484408298473428570731109933924256666730921886936417111230611382135444852255102043762116750723891011079703090541688888141212282216988228227151034002298094559486559289868179729223856152737238642405181029626184445772134563456514481972019528112183984580014175280788860032626374238760788265956151485789726297597227852883416081413658118430957603686628569007572419700585974335243267962177458850084624168270955288839794148338846493694399299773496212816396496530814208058129062824930746219345527336816472509006281508262407357961723878378323939100074751504652569626962235257814005125347961097940439434345121662106922225533792195190838596864064413606324264568154063280888406573698850955901057173279951573123313555268717817737299893767325003 46495921515730068461130575021572249795517260827344224693446594082831661460877638087383734992962241535572373322064482160736844786700479563349947974746210125736477298990773419426730012768176443335334885434532367340129746932532807386095926488625519456010120354202062325796290260232208335385434934715431179911107861162630850746776549646049827287797744226996730624608314316511911892456834859635829430774780878530913021611486805297279060883702119891085321010423616703022526793037337314131218173405482493288672891130563022630130987110177786904524513285649313187434191820972916341913149261408833012657630676009353899935185769981013842854925958376775823769936946047158909951079710845325961245394390218067617217918753793333309997613661409653545520954594239231214681334280128565872765749125834591909466145608040232026234011855403409888428348101212418033082924869505219704665550699017432086361236508782767960358090803511663373811721094880942283745344983360052510980905512388709026310993506137799330798322433488250011252033074497782456141486472068868880261140441432031333177746820718092890839453452800840623625108626120254632880109397078168577004810015234496825156831576851194346624009689965964995777502223923400884469519640910275888143199792980087234344678973256406253983148882367363259825718651976798367114465161597818476542505872321113647580314982618993039794290224442837276165520870073407448008302763826031147384258173037580716868320148173107098118126590529186439681554667199489939275657429752708091539892386419782587878342832301556132058160699101674543137707982105464742690606693356960512763100543744135572049993935225886690943795127154759383704552207993560372392444370827266072694356867409625463285094930886108678326575801391384345303264764610578661290356884288933258490276961801462496123096137413829557014693699840176018786191098157351666433909920405591334917794122113543911756886321525533831559746482837889452162853361309843323551766433386823204749453236624726535154376844888347326168172304919805763857353313184530514657077863281622548063618434784359844067311950522433445815837543083468656503124 75231981350698779410846909982393216960476220648711870145930661707737084289078035666010507582244187056765580019275216475394984379018367214615308512822861907963818123866252298604572984963068032998653492787435709471086684503000060815704634212021029848632361813334383359731211074068222783504901961367052576576199215227894301383590817973977920943758603040855496816422652692142153650787401718391832078260672923427573458531837900860573718890061736595980497167294974295757868426785897046543463768645076448653098837550518132047266908696000688921418929069721000052098789462575393560820720985713503419640167853307208066931815813727515077448969711916416916819814046640169579729369763638062228317398264409756897457283556589623944107354528671139569457619351121859407768343388658425604738876740627067984235513453338695564465891569875356982603970196239704602497363524159509410282515641379776717045429837402919325161172437635878533108169501325443619115551165195355494526697215496213166589887299781666807464387957593663732929150823591995895349753862527818809689903391161471162861973977748612485461451938274960493921510534593089391203512573989203899386783893121182995342220740920906756445157916707542627333367583114399919254330738286099940201084924181466260977736187575606957393720409243389065864069155812252238809233364750630700777750135076714877359708612540909202663634634314922760573819343501978179118236688082697878306145109454691947479702283617959353220170352645937163572565746902580480964545570964990308528120613570816590176437391788115421926340428325530695874946624510645772316791139129095076219615025716155100162177919805900866224583987187385757943312996259516523878234097124863300547240283491039121403525888489795306895583373811084931277600007878540838749206968913101529445565801595610834969589831813129330510906516236672549600399156286414491364656139751118671734266631119825420019293679487257709938070421937964203667505930936805558809580438512171165847393676059071656816483767113881118363363143516669828270959637449098668720358751688196246914574335841533124018885073835988714533655280383362423828127 121727902866428847871977485003965466755993481476056094839377255790568745749955673753394242575206428592337953341339698636131829165718846777965256487569072033700295422857025718031302997731244476333988378221968076811216431435532868201800560700646549304642482167536445685527501334300431118890336896082483756487307076390525152130367367620027748231556347267852227441030967008654065543244236578027661509035453801958486480143324706157852779773763856487065818177718590998780395219823234360674681942050558941941771728681081154677397895806178475825943442355370313239532981283548309902733870247122336432297798529316561966867001583708528920303895670293192740589750992687328489680449474483388189562792654627824514675202310382957254104968190080793114978573945361090622449677668786991477504625866461659893701659061378927590699903425278766871032318297452122635580288393664729114948066340397208803406666346185687285519263241147541906919890596206385902860896148555408005507602727884922192900880805919466138262710391081913744181183898089778351491240334596687689951043832593502496039720798466705376300905391075801117546619160713344024083621971067372476391593908355679820499052317772101103069167606673507623110869807037800803723850379196375828344284717161553495322415160832013211376869291610752325689787807789050605923698526348449177320256007397828524940023595159902242457924858757760036739340213575385627126539451908729025690403282492272664348022431791066451338296943175123603254120414102070420240203000717698400068012999990599178054780224089671553984501127427205239012654606616110515007397832486055588982715569460290672212171855031787557168379114342145141647865204253076896270678467952129373241597150900664584688620819375903985222159175202469276580864772489119500039563853202034787935842763397073331092685969226958887525600216076848568386590254443766157798566060156710006652060753233369331776180001012791541497816904775853655830359292246648882361346871898994370596846912683798191970860612002228444531535448436475592128312950633629183377436614969818794978192770625892968086197024358422160349492823466831080331251 196959884217127627282824394986358683716469702124767964985307917498305830039033709419404750157450615649103533360614915111526813544737213992580565000391933941664113546723278016635875982694312509332641871009403786282303115938532929017505194912667579153274843980870829045258712408368653902395238857449536333063506291618419453513958185594005669175314950308707724257453619700796219194031638296419493587296126725386059938675162607018426498663825593083046315345013565294538263646609131407218145710695635390594870566231599286724664804502179164747362371425091313291631770746123703463554591232835839851937966382623770033798817397436043997752865382209609657409565039327498069409819238121450417880190919037581412132485866972581198212322718751932684436193296482950030218021057445417082243502607088727877937172514717623155165794995154123853636288493691827238077651917824238525230581981776985520452096183588606610680435678783420440028060097531829521976447313750763500034299943381135359490768105701132945727098348675577477110334721681774246840994197124506499640947223754973658901694776215317861762357329350761611468129695306433415287134545056576375778377801476862815841273058693007859514325523381050250444237390152200722978181117482475768545369641343019756300151348407620168770589700854141391553856963601302844732931891099079878098006142474543402299732207700811445121559493072682797313159557077363806244776139991426903996548391946964611827724715409025804558467295821060766826686161004650901204748571682688708596133613561415768231217615877786975910841555752735934887601231126756287324188971615150665202330595176445772374349774837688423392963101529530899591178200512593420148912565076992673788837434391703706092146707865699292117742549013554207858464780367660338788770822115136317381408564992684166062275801040088218036506732313521117986989410730180649163222199907828678386327384353194751795473680500049251435887326713817859497865223183454441170927310411165536444240588742869848787344379116109562894898591953145420399272588082727852097795366658015041892767106467426092105082098194410874883148103850193504159378 318687787083556475154801879990324150472463183600824059824685173288874575788989383172798992732657044241441486701954613747658642710456060770545821487961005975364408969580303734667178980425556985666630249231371863093519547374065797219305755613314128457917326148407274730786213742669085021285575753532020089550813368008944605644325553214033417406871297576559951698484586709450284737275874874447155096331580527344546418818487313176279278437589449570112133522732156293318658866432365767892827652746194332536642294912680441402062700308357640573305813780461626531164752029672013366288461479958176284235764911940332000665818981144572918056761052502802397999316032014826559090268712604838607442983573665405926807688177355538452317290908832725799414767241844040652667698726232408559748128473550387771638831576096550745865698420432890724668606791143949873657940311488967640178648322174194323858762529774293896199698919930962346947950693738215424837343462306171505541902671266057552391648911620599083989808739757491221291518619771552598332234531721194189591991056348476154941415574682023238063262720426562729014748856019777439370756516123948852169971709832542636340325376465108962583493130054557873555107197190001526702031496678851596889654358504573251622566509239633380147458992464893717243644771390353450656630417447529055418262149872371927239755802860713687579484351830442834052499770652749433371315591900155929686951674439237276175747147200092255896764238996184370080806575106721321444951572400387108664146613552014946285997839967458529895342683179941173900255837742866802331586804101206254185046164636736444586521629869475980561342215871676041239043404765670316419591033029122047030434585292368290780767527241603277339901724216023484439329552856779838828334675317171105317251328389757497154961770267047105562106948390369686373579665173946806961788260064538685038388137586564083571653681512840792933704231489671515328224515430103323532274182310159907041087501426668040758204991118338007426434040389621012527585538716357035475231981627833836870959877093319060191279122552833035232640927317024584490629 515647671300684102437626274976682834188932885725592024809993090787180405828023092592203742890107659890545020062569528859185456255193274763126386488352939917028522516303581751303054963119869494999272120240775649375822663312598726236810950525981707611192170129278103776044926151037738923680814610981556422614319659627364059158283738808039086582186247885267675955938206410246503931307513170866648683627707252730606357493649920194705777101415042653158448867745721587856922513041497175110973363441829723131512861144279728126727504810536805320668185205552939822796522775795716829843052712794016136173731294564102034464636378580616915809626434712412055408881071342324628500087950726289025323174492702987338940174044328119650529613627584658483850960538326990682885719783677825641991631080639115649576004090814173901031493415587014578304895284835777111735592229313206165409230303951179844310858713362900506880134598714382786976010791270044946813790776056935005576202614647192911882417017321732029716907088433068698401853341453326845173228728845700689232938280103449813843110350897341099825620049777324340482878551326210854657891061180525227948349511309405452181598435158116822097818653435608123999344587342202249680212614161327365435023999847593007922717857647253548918048693319035108797501734991656295389562308546608933516268292346915329539488010561525132701043844903125631365659327730113239616091731891582833683500066386201888003471862609118060455231534817245136907492736111372222649700144083075817260280227113430714517215455845245505806184238932677108787857068869623089655775775716356919387376759813182216960871404707164403954305317401206940830221605278263736568503598106114720819272019684071996872914235107302569457644273229577692297794333224440177617105497432307422698659893382441663217237571307135323598613680703890804360569075904127456125010459972367363424715521939758835367127362012890044369591558203489374826089738613557764703201492721325443485328090169537889545549370234447570321332632342766432926858126799084887573027348285848878763726983560745152296361220747243910115789031167218088650007 834335458384240577592428154967006984661396069326416084634678264076054981617012475765002735622764704131986506764524142606844098965649335533672207976313945892392931485883885485970233943545426480665902369472147512469342210686664523456116706139295836069109496277685378506831139893706823944966390364513576512165133027636308664802609292022072503989057545461827627654422793119696788668583388045313803779959287780075152776312137233370985055539004492223270582390477877881175581379473862943003801016188024055668155156056960169528790205118894445893973998986014566353961274805467730196131514192752192420409496206504434035130455359725189833866387487215214453408197103357151187590356663331127632766158066368393265747862221683658102846904536417384283265727780171031335553418509910234201739759554189503421214835666910724646897191836019905302973502075979726985393532540802173805587878626125374168169621243137194403079833518645345133923961485008260371651134238363106511118105285913250464274065928942331113706715828190559919693371961224879443505463260566894878824929336451925968784525925579364337888882770203887069497627407345988294028647577304474080118321221141948088521923811623225784681311783490165997554451784532203776382244110840178962324678358352166259545284366886886929065507685783928826041146506382009746046192725994137988934530442219287256779243813422238820280528196733568465418159098382862672987407323791738763370451740825439164179219009809210316351995773813429506988299311218093544094651716483462925924426840665445660803213295812704035701526922112618282688112906612489891987362579817563173572422924449918661547393034576640384515647533272882982069265010043934052988094631135236767849706604976440287653681762348905846797545997445601176737123886081220016445440172749478528015911221772199160372199341574182429160720629094260490734148741078074263086798720036906048463103659526322918938781043525730837303295789693160890154314254043661088235475675031485350526415591596205930303754361352785577747766672732387445454443665515441923048259329913682715634686860654064212487640343300076945348429958484242673140636 1349983129684924680030054429943689818850328955052008109444671354863235387445035568357206478512872364022531526827093671466029555220842610296798594464666885809421454002187467237273288906665295975665174489712923161845164873999263249692927656665277543680301666406963482282876066044744562868647204975495132934779452687263672723960893030830111590571243793347095303610360999529943292599890901216180452463586995032805759133805787153565690832640419534876429031258223599469032503892515360118114774379629853778799668017201239897655517709929431251214642184191567506176757797581263447025974566905546208556583227501068536069595091738305806749676013921927626508817078174699475816090444614057416658089332559071380604688036266011777753376518164002042767116688318498022018439138293588059843731390634828619070790839757724898547928685251606919881278397360815504097129124770115379970997108930076554012480479956500094909959968117359727920899972276278305318464925014420041516694307900560443376156482946264063143423622916623628618095225302678206288678691989412595568057867616555375782627636276476705437714502819981211409980505958672199148686538638484999308066670732451353540703522246781342606779130436925774121553796371874406026062456725001506327759702358199759267468002224534140477983556379102963934838648241373666041435755034540746922450798734566202586318731823983763952981572041636694096783818426112975912603499055683321597053951807211641052182690872418328376807227308630674643895792047329465766744351860566538743184707067778876375320428751657949541507711161045295391475969975482112981643138355533920092959799684263100878508264439283804788469952850674089922899486615322197789556598229241351488668978624660512284526595997456208416255190270675178869034918219305660194062545670181785950714571115154640823589436912881317752759334309798151295094717816982201719211809180009273411887819181466081754305908405538620881672887347896650264980403992657218852938677167752810794011743681765743819849303731587233148069099305075153878381301792314526810621286678199531594398413844214809364784001564047320855464218989651460761790643 2184318588069165257622482584910696803511725024378424194079349618939290369062048044122209214135637068154518033591617814072873654186491945830470802440980831701814385488071352723243522850210722456331076859185070674314507084685927773149044362804573379749411162684648860789707205938451386813613595340008709446944585714899981388763502322852184094560301338808922931264783792649640081268474289261494256243546282812880911910117924386936675888179424027099699613648701477350208085271989223061118575395817877834467823173258200067184307915048325697108616183177582072530719072386731177222106081098298400976992723707572970104725547098030996583542401409142840962225275278056627003680801277388544290855490625439773870435898487695435856223422700419427050382416098669053353992556803498294045471150189018122492005675424635623194825877087626825184251899436795231082522657310917553776584987556201928180650101199637289313039801636005073054823933761286565690116059252783148027812413186473693840430548875206394257130338744814188537788597263903085732184155249979490446882796953007301751412162202056069775603385590185098479478133366018187442715186215789473388184991953593301629225446058404568391460442220415940119108248156406609802444700835841685290084380716551925527013286591421027407049064064886892760879794747755675787481947760534884911385329176785489843097975637406002773262100238370262562201977524495838585590906379475060360424403548037080216361909882227538693159223082444104150884091358547559310839003577050001669109133908444322036123642047470653577209238083157913674164082882094602873630500935351483266532222608713019540055657473860445172985600383946972904968751625366131842544692860376588256518685229636952572180277759805114263052736268120780045772042105386880210507985842931264478730482336926839983961636254455500181920054938892411785828866558060275982298607900046179460350922840992404673244689449064351718976183137589811155134718246700879941174152842784296144538159273361949750153058092940018725816865977807541323835745457829968733669546008113214310033100704868873577271641907347397800812648948135703434931279 3534301717754089937652537014854386622362053979430432303524020973802525756507083612479415692648509432177049560418711485538903209407334556127269396905647717511235839490258819960516811756876018431996251348897993836159671958685191022841972019469850923429712829091612343072583271983195949682260800315503842381724038402163654112724395353682295685131545132156018234875144792179583373868365190477674708707133277845686671043923711540502366720819843561976128644906925076819240589164504583179233349775447731613267491190459439964839825624977756948323258367369149578707476869967994624248080648003844609533575951208641506174320638836336803333218415331070467471042353452756102819771245891445960948944823184511154475123934753707213609599940864421469817499104417167075372431695097086353889202540823846741562796515182360521742754562339233745065530296797610735179651782081032933747582096486278482193130581156137384222999769753364800975723906037564871008580984267203189544506721087034137216587031821470457400553961661437817155883822566581292020862847239392086014940664569562677534039798478532775213317888410166309889458639324690386591401724854274472696251662686044655169928968305185910998239572657341714240662044528281015828507157560843191617844083074751684794481288815955167885032620443989856695718442989129341828917702795075631833836127911351692429416707461389766726243672280006956658985795950608814498194405435158381957478355355248721268544600754645867069966450391074778794779883405877025077583355437616540412293840976223198411444070799128603118716949244203209065640052857576715855273639290885403359492022292976120418563921913144249961455553234621062827868238240688329632101291089617939745187663854297464856706873757261322679307926538795958914806960324692540404570531513113050429445053452081480807551073167336817934679389248690563080923584375042477701510417080055452872238742022458486427550597854602972600649070485486461420115122239358098794112830010537106938549902955127693570002361824527251873885965282882695202217047250144495544290832686312745904431514549083682942055643471394718656276867937787164196721922 5718620305823255195275019599765083425873779003808856497603370592741816125569131656601624906784146500331567594010329299611776863593826501957740199346628549213050224978330172683760334607086740888327328208083064510474179043371118795991016382274424303179123991776261203862290477921647336495874395655512551828668624117063635501487897676534479779691846470964941166139928584829223455136839479739168964950679560658567582954041635927439042608999267589075828258555626554169448674436493806240351925171265609447735314363717640032024133540026082645431874550546731651238195942354725801470186729102143010510568674916214476279046185934367799916760816740213308433267628730812729823452047168834505239800313809950928345559833241402649465823363564840896867881520515836128726424251900584647934673691012864864054802190606996144937580439426860570249782196234405966262174439391950487524167084042480410373780682355774673536039571389369874030547839798851436698697043519986337572319134273507831057017580696676851657684300406252005693672419830484377753047002489371576461823461522569979285451960680588844988921274000351408368936772690708574034116911070063946084436654639637956799154414363590479389700014877757654359770292684687625630951858396684876907928463791303610321494575407376195292081684508876749456598237736885017616399650555610516745221457088137182272514683098795769499505772518377219221187773475104653083785311814633442317902758903285801484906510636873405763125673473518882945663974764424584388422359014666542081402974884667520447567712846599256695926187327361122739804135739671318728904140226236886626024244901689139958619579387004695134441153618568035732836989866054461474645983949994528001706349083934417428887151517066436942360662806916738960579002430079420615078517356044314908175535789008320791512709421792318116599444187582974866752450933102753683809024980101632332589664863450891100795287303667324319625253623076272575249840486058978735286982853321403083088062228489643320155419917467270599702831260690236526052792707974464277960378694425960214464615253952556519327285378742116457089516885922867631653201 9252922023577345132927556614619470048235832983239288801127391566544341882076215269081040599432655932508617154429040785150680073001161058085009596252276266724286064468588992644277146363962759320323579556981058346633851002056309818832988401744275226608836820867873546934873749904843286178135195971016394210392662519227289614212293030216775464823391603120959401015073377008806829005204670216843673657812838504254253997965347467941409329819111151051956903462551630988689263600998389419585274946713341061002805554177079996863959165003839593755132917915881229945672812322720425718267377105987620044144626124855982453366824770704603249979232071283775904309982183568832643223293060280466188745136994462082820683767995109863075423304429262366685380624933003204098855946997671001823876231836711605617598705789356666680335001766094315315312493032016701441826221472983421271749180528758892566911263511912057759039341142734675006271745836416307707278027787189527116825855360541968273604612518147309058238262067689822849556242397065669773909849728763662476764126092132656819491759159121620202239162410517718258395412015398960625518635924338418780688317325682611969083382668776390387939587535099368600432337212968641459459015957528068525772546866055295115975864223331363177114304952866606152316680726014359445317353350686148579057584999488874701931390560185536225749444798384175880173569425713467581979717249791824275381114258534522753451111391519272833092123864593661740443858170301609466005714452283082493696815860890718859011783645727859814643136571564331805444188597248034584177779517122289985516267194665260377183501300148945095896706853189098560705228106742791106747275039612467746894012938231882285594025274327759621668589345712697875385962754771961019649048869157365337620589241089801599063782589129136051278833436273537947676035308145231385319442060157085204828406885909377528345885158270296920274324108562733995364962725417077529399812863858510021637965183617336890157781741994522473588796543572931728269839958118959822251211380738706118896129803036239461382928850136835113366384823710031828375123 14971542329400600328202576214384553474109611987048145298730762159286158007645346925682665506216802432840184748439370084762456936594987560042749795598904815937336289446919165328037480971049500208650907765064122857108030045427428614824004784018699529787960812644134750797164227826490622674009591626528946039061286636290925115700190706751255244515238074085900567155001961838030284142044149956012638608492399162821836952006983395380451938818378740127785162018178185158137938037492195659937200117978950508738119917894720028888092705029922239187007468462612881183868754677446227188454106208130630554713301041070458732413010705072403166740048811497084337577610914381562466675340229114971428545450804413011166243601236512512541246667994103263553262145448839332825280198898255649758549922849576469672400896396352811617915441192954885565094689266422667704000660864933908795916264571239302940691945867686731295078912532104549036819585635267744405975071307175864689144989634049799330622193214824160715922562473941828543228662227550047526956852218135238938587587614702636104943719839710465191160436410869126627332184706107534659635546994402364865124971965320568768237797032366869777639602412857022960202629897656267090410874354212945433701010657358905437470439630707558469195989461743355608914918462899377061717003906296665324279042087626056974446073658981305725255217316761395101361342900818120665765029064425266593283873161820324238357622028392678596217797338112544686107832934726193854428073466949624575099790745558239306579496492327116510569323898925454545248324336919353313081919743359176611540512096354400335803080687153640230337860471757134293542217972797252581393258989606995748600362022166299714481176791394196564029252152629436835964965184851381634727566225201680245796125030098122390576492010921454167878277623856512814428486241247985069128467040258717537418071749360268629141172461937621239899577731639006570614803211476056264686795717179913104726027412106980210313201659461793073291627804263168254322632666093424100211590075164666333360745056988795980710214228878951570455901709632899460028324 24224464352977945461130132829004023522345444970287434099858153725830499889721562194763706105649458365348801902868410869913137009596148618127759391851181082661622353915508157972314627335012259528974487322045181203741881047483738433656993185762974756396797633512008297732037977731333908852144787597545340249453949155518214729912483736968030709338629677206859968170075338846837113147248820172856312266305237667076090949972330863321861268637489891179742065480729816146827201638490585079522475064692291569740925472071800025752051870033761832942140386378494111129541567000166652906721483314118250598857927165926441185779835475777006416719280882780860241887593097950395109898633289395437617290587798875093986927369231622375616669972423365630238642770381842536924136145895926651582426154686288075289999602185709478298250442959049200880407182298439369145826882337917330067665445099998195507603209379598789054118253674839224043091331471684052113253099094365391805970844994591767604226805732971469774160824541631651392784904624615717300866701946898901415351713706835292924435478998832085393399598821386844885727596721506495285154182918740783645813289291003180737321179701143260165579189947956391560634967110624908549869890311741013959473557523414200553446303854038921646310294414609961761231599188913736507034357256982813903336627087114931676377464219166841951004662115145570981534912326531588247744746314217090868664987420354846991808733419911951429309921202706206426551691105027803320433787919232707068796606606448958165591280138054976325212460470489786350692512934167387897259699260481466597056779291019660712986581987302585326234567324946232854247446079540043688140534029219463495494374960398182000075202065721956185697841498342134711350927939623342654376615094359045583416714271187923989640274600050590219157111060130050762104521549393216454447909100415802742246478635269646157487057620207918160173901840201740565979765936893133794086608581038423126363992595724317100470983401456315546880424347836099982592472624212383922462801455903372452256874860025035442093143079015786683822286533342931288403447 39196006682378545789332709043388576996455056957335579398588915885116657897366909120446371611866260798188986651307780954675593946191136178170509187450085898598958643362427323300352108306061759737625395087109304060849911092911167048480997969781674286184758446156143048529202205557824531526154379224074286288515235791809139845612674443719285953853867751292760535325077300684867397289292970128868950874797636829897927901979314258702313207455868631307527227498908001304965139675982780739459675182671242078479045389966520054640144575063684072129147854841106992313410321677612880095175589522248881153571228206996899918192846180849409583459329694277944579465204012331957576573973518510409045836038603288105153170970468134888157916640417468893791904915830681869749416344794182301340976077535864544962400498582062289916165884152004086445501871564862036849827543202851238863581709671237498448295155247285520349197166206943773079910917106951796519228170401541256495115834628641566934848998947795630490083387015573479936013566852165764827823554165034140353939301321537929029379198838542550584560035232255971513059781427614029944789729913143148510938261256323749505558976733510129943218792360813414520837597008281175640280764665953959393174568180773105990916743484746480115506283876353317370146517651813113568751361163279479227615669174740988650823537878148147676259879431906966082896255227349708913509775378642357461948860582175171230166355448304630025527718540818751112659524039753997174861861386182331643896397352007197472170776630382092835781784369415240895940837271086741210341619003840643208597291387374061048789662674456225556572427796703367147789664052337296269533793018826459244094736982564481714556378857116152749727093650971571547315893124474724289104181319560725829212839301286046380216766610972044387035388683986563576533007790641201523576376140674520279664550384629914786628230082145539400073479571840747136594569148369190058773404298218336231090020007831297310784185060918108620172052152099268236915105290305808022674391531068038785617619917013831422803357307894738254278188242975830748431771 63420471035356491250462841872392600518800501927623013498447069610947157787088471315210077717515719163537788554176191824588730955787284796298268579301266981260580997277935481272666735641074019266599882409154485264591792140394905482137991155544649042581556079668151346261240183289158440378299166821619626537969184947327354575525158180687316663192497428499620503495152639531704510436541790301725263141102874496974018851951645122024174476093358522487269292979637817451792341314473365818982150247363533648219970862038320080392196445097445905071288241219601103442951888677779533001897072836367131752429155372923341103972681656626416000178610577058804821352797110282352686472606807905846663126626402163199140098339699757263774586612840834524030547686212524406673552490690108952923402232222152620252400100767771768214416327111053287325909053863301405995654425540768568931247154771235693955898364626884309403315419881782997123002248578635848632481269495906648301086679623233334539075804680767100264244211557205131328798471476781482128690256111933041769291015028373221953814677837374635977959634053642816398787378149120525229943912831883932156751550547326930242880156434653390108797982308769806081472564118906084190150654977694973352648125704187306544363047338785401761816578290963279131378116840726850075785718420262293130952296261855920327201002097314989627264541547052537064431167553881297161254521692859448330613848002530018221975088868216581454837639743524957539211215144781800495295649305415038712693003958456155637762056768437069160994244839905027246633350205254129107601318264322109805654070678393721761776244661758810882806995121649600002037110131877339957674327048045922739589111942962663714631580922838108935424935149313706258666821064098066943480796413919771412629553572473970369857041211022634606192499744116614338637529340034417978024285241090323021911029019899560944115287702353457560247381412042487702574335085262323852860012879256759357454012603555614411255168462374424167052476499935368219507577914518191945137192986971411237874494777038866864896500386910524938100474776318762036835218 102616477717735037039795550915781177515255558884958592897035985496063815684455380435656449329381979961726775205483972779264324901978420974468777766751352879859539640640362804573018843947135779004225277496263789325441703233306072530618989125326323328766314525824294394790442388846982971904453546045693912826484420739136494421137832624406602617046365179792381038820229940216571907725834760430594214015900511326871946753930959380726487683549227153794796520478545818756757480990456146558441825430034775726699016252004840135032341020161129977200436096060708095756362210355392413097072662358616012906000383579920241022165527837475825583637940271336749400818001122614310263046580326416255708962665005451304293269310167892151932503253258303417822452602043206276422968835484291254264378309758017165214800599349834058130582211263057373771410925428163442845481968743619807794828864442473192404193519874169829752512586088726770202913165685587645151709439897447904796202514251874901473924803628562730754327598572778611264812038328947246956513810276967182123230316349911150983193876675917186562519669285898787911847159576734555174733642745027080667689811803650679748439133168163520052016774669583220602310161127187259830431419643648932745822693884960412535279790823531881877322862167316596501524634492539963644537079583541772358567965436596908978024539975463137303524420978959503147327422781231006074764297071501805792562708584705189452141444316521211480365358284343708651870739184535797670157510691597370356589401310463353109932833398819161996776029209320268142574187476340870317942937268162753014251362065767782810565907336215036439379422918352967149826774184214636227208120066872381983683848925527145429187959779954261685152028800285277805982714188572791232584977733480497241842392873760016750073807821994678993227888428103177915170537130675619501600661381764843301575579404529475730743517784498996960320860983883234839168904233631513911633417177475095588544032611386911722039353523292532787224528652034636456422683204823999967811584518039450023492114694052698287699857694805263192378663019294592785266989 166036948753091528290258392788173778034056060812581606395483055107010973471543851750866527046897699125264563759660164603853055857765705770767046346052619861120120637918298285845685579588209798270825159905418274590033495373700978012756980280870972371347870605492445741051682572136141412282752712867313539364453605686463848996662990805093919280238862608292001542315382579748276418162376550732319477157003385823845965605882604502750662159642585676282065813458183636208549822304929512377423975677398309374918987114043160215424537465258575882271724337280309199199314099033171946098969735194983144658429538952843582126138209494102241583816550848395554222170798232896662949519187134322102372089291407614503433367649867649415707089866099137941853000288255730683096521326174400207187780541980169785467200700117605826344998538374110661097319979291464848841136394284388376726076019213708886360091884501054139155828005970509767325915414264223493784190709393354553097289193875108236013000608309329831018571810129983742593610509805728729085204066388900223892521331378284372937008554513291822540479303339541604310634537725855080404677555576911012824441362350977609991319289602816910160814756978353026683782725246093344020582074621343906098470819589147719079642838162317283639139440458279875632902751333266813720322798003804065489520261698452829305225542072778126930788962526012040211758590335112303236018818764361254123176556587235207674116533184737792935202998027868666191081954329317598165453159997012409069282405268919508747694890167256231157770274049225295389207537681594999425544255532484862819905432744161504572342151997973847322186418040002567151863884316091976184882447114918304723272960868489809143819540702792370620576963949598984064649535252670858176065774147400268654471946446233987119930849033017313599420388172219792253808066470710037479624946622855166323486608424429036674858805486852454520568242395925722541743239318893837764493430056731854945998045214942526133294521985666956954277005151970004675930261119342191912948777505010861261366609471091565152596358081715788130479137795613354822102207 268653426470826565330053943703954955549311619697540199292519040603074789155999232186522976376279679086991338965144137383117380759744126745235824112803972740979660278558661090418704423535345577275050437401682063915475198607007050543375969406197295700114185131316740135842124960983124384187206258913007452190938026425600343417800823429500521897285227788084382581135612519964848325888211311162913691172903897150717912359813563883477149843191812830076862333936729454965307303295385658935865801107433085101618003366048000350456878485419705859472160433341017294955676309388564359196042397553599157564429922532763823148303737331578067167454491119732303622988799355510973212565767460738358081051956413065807726636960035541567639593119357441359675452890298936959519490161658691461452158851738186950682001299467439884475580749637168034868730904719628291686618363028008184520904883656182078764285404375223968908340592059236537528828579949811138935900149290802457893491708126983137486925411937892561772899408702762353858422548134675976041717876665867406015751647728195523920202431189209009102998972625440392222481697302589635579411198321938093492131174154628289739758422770980430212831531647936247286092886373280603851013494264992838844293513474108131614922628985849165516462302625596472134427385825806777364859877587345837848088227135049738283250082048241264234313383504971543359086013116343309310783115835863059915739265171940397126257977501259004415568356312212374842952693513853395835610670688609779425871806579382861857627723566075393154546303258545563531781725157935869743487192800647615834156794809929287382908059334188883761565840958355534301690658500306612412090567181790686706956809794016954573007500482746632305728992749884261870632249441243649408650751880880765896314339319994003870004656855011992592648276600322970168978603601385656981225608004620009625062187828958512405602323271351451480889103379808957380912143552525351676126847234206950534542077826329437855333875508959489741501533804004641132352944324166191880760362023050311284858724165144263440296215776521051322857800814907947607369196 434690375223918093620312336492128733583367680510121805688002095710085762627543083937389503423177378212255902724804301986970436617509832516002870458856592602099780916476959376264390003123555375545875597307100338505508693980708028556132949687068268071462055736809185876893807533119265796469958971780320991555391632112064192414463814234594441177524090396376384123450995099713124744050587861895233168329907282974563877965696168386227812002834398506358928147394913091173857125600315171313289776784831394476536990480091160565881415950678281741743884770621326494154990408421736305295012132748582302222859461485607405274441946825680308751271041968127857845159597588407636162084954595060460453141247820680311160004609903190983346682985456579301528453178554667642616011487833091668639939393718356736149201999585045710820579288011278695966050884011093140527754757312396561246980902869890965124377288876278108064168598029746304854743994214034632720090858684157010990780902002091373499926020247222392791471218832746096452033057940404705126921943054767629908272979106479896857210985702500831643478275964981996533116235028444715984088753898849106316572536505605899731077712373797340373646288626289273969875611619373947871595568886336744942764333063255850694565467148166449155601743083876347767330137159073591085182675591149903337608488833502567588475624121019391165102346030983583570844603451455612546801934600224314038915821759175604800374510685996797350771354340081041034034647843170994001063830685622188495154211848302370605322613733331624312316577307770858920989262839530869169031448333132478654062227554090791955250211332162731083752258998358101453554542816398588596973014296708991430229770662506763716827041185539002926305956699483245935281784693914507584716526028281034550786285766227990989935505888029306192068664772542762422786670072095694460850554627475175948548796253387549080461128758203906001457345775734679922655382871419189440620277290938805480540123041271963988628397494626446695778538955974645808283205443508383793709139528061172546225333636235828592892573858236839453336938610521302429471403 703343801694744658950366280196083689132679300207662004980521136313160551783542316123912479799457057299247241689948439370087817377253959261238694571660565343079441195035620466683094426658900952820926034708782402420983892587715079099508919093265563771576240868125926012735932494102390180657165230693328443746329658537664535832264637664094963074809318184460766704586607619677973069938799173058146859502811180125281790325509732269704961846026211336435790481331642546139164428895700830249155577892264479578154993846139160916338294436097987601216045203962343789110666717810300664491054530302181459787289384018371228422745684157258375918725533087860161468148396943918609374650722055798818534193204233746118886641569938732550986276104814020661203906068853604602135501649491783130092098245456543686831203299052485595296160037648446730834781788730721432214373120340404745767885786526073043888662693251502076972509190088982842383572574163845771655991007974959468884272610129074510986851432185114954564370627535508450310455606075080681168639819720635035924024626834675420777413416891709840746477248590422388755597932331034351563499952220787199808703710660234189470836135144777770586477820274225521255968497992654551722609063151329583787057846537363982309488096134015614672064045709472819901757522984880368450042553178495741185696715968552305871725706169260655399415729535955126929930616567798921857585050436087373954655086931116001926632488187255801766339710652293415876987341357024389836674501374231967921026018427685232462950337299407017466862880566316422452770987997466738912518641133780094488219022364020079338158270666351614845318099956713635755245201316705201009063581478499678137186580456523718289834541668285635232034949449367507805914034135158156993367277909161800447100625086221994859940162743041298784716941372865732591765273673481351442076162632095185573610984082346061486063452029555357482346449155543637303567526423944541116747124525145756015082200867601401843962273003585936437280072759979286940636149767674575674469501551111483831084057801380092033188789634757890776194739425429250036840599 1138034176918662752570678616688212422716046980717783810668523232023246314411085400061301983222634435511503144414752741357058253994763791777241565030517157945179222111512579842947484429782456328366801632015882740926492586568423107655641868780333831843038296604935111889629740027221655977127124202473649435301721290649728728246728451898689404252333408580837150828037602719391097813989387034953380027832718463099845668291205900655932773848860609842794718628726555637313021554496016001562445354677095874054691984326230321482219710386776269342959929974583670283265657126232036969786066663050763762010148845503978633697187630982938684669996575055988019313307994532326245536735676650859278987334452054426430046646179841923534332959090270599962732359247408272244751513137324874798732037639174900422980405298637531306116739325659725426800832672741814572742127877652801307014866689395964009013039982127780185036677788118729147238316568377880404376081866659116479875053512131165884486777452432337347355841846368254546762488664015485386295561762775402665832297605941155317634624402594210672389955524555404385288714167359479067547588706119636306125276247165840089201913847518575110960124108900514795225844109612028499594204632037666328729822179600619833004053563282182063827665788793349167669087660143953959535225228769645644523305204802054873460201330290280046564518075566938710500775220019254534404386985036311687993570908690291606727006998873252599117111064992374456911021989200195383837738332059854156416180230275987603068272951032738641779179457874087281373760250836997608081550089466912573142281249918110871293408481998514345929070358955071737208799744133103789606036595775208669567416351119030482006661582853824638158340906148850753741195818829072664578083803937442834997886910852449985849875668631070604976785606145408495014551943745577045902926717259570361522159780335733610566524580787759263483803794931278317226222909295363730557367401816084561495622323908873365832590670498212383133058611715953932748919355211182959468178641079172656377309391437615920626081363492994730229531678035950552466312002 1841377978613407411521044896884296111848726280925445815649044368336406866194627716185214463022091492810750386104701180727146071372017751038480259602177723288258663306548200309630578856441357281187727666724665143347476479156138186755150787873599395614614537473061037902365672521324046157784289433166977879048050949187393264078993089562784367327142726765297917532624210339069070883928186208011526887335529643225127458616715632925637735694886821179230509110058198183452185983391716831811600932569360353632846978172369482398558004822874256944175975178546014072376323844042337634277121193352945221797438229522349862119933315140197060588722108143848180781456391476244854911386398706658097521527656288172548933287749780656085319235195084620623936265316261876846887014786816657928824135884631444109811608597690016901412899363308172157635614461472536004956500997993206052782752475922037052901702675379282262009186978207711989621889142541726176032072874634075948759326122260240395473628884617452301920212473903762997072944270090566067464201582496037701756322232775830738412037819485920513136432773145826774044312099690513419111088658340423505933979957826074278672749982663352881546601929174740316481812607604683051316813695188995912516880026137983815313541659416197678499729834502821987570845183128834327985267781948141385709001920770607179331927036459540701963933805102893837430705836587053456261972035472399061948225995621407608653639487060508400883450775644667872788009330557219773674412833434086124337206248703672835531223288332145659246042338440403703826531238834464346994068730600692667630500272282130950631566752664865960774388458911785372964044945449808990615100177253708347704602931575554200296496124522110273390375855598218261547109852964230821571451081846604635444987535938671980709815831374111903761502547518274227606317217419058397345002879891665547095770764418079672052588032817314620966150244086821954529790435719308271674114526341230317510704524776474767676552943501798319570338684475933219689555504978857535142648142630284140208393449238996012659270153127752621005726417461379802503152601 2979412155532070164091723513572508534564773261643229626317567600359653180605713116246516446244725928322253530519453922084204325366781542815721824632694881233437885418060780152578063286223813609554529298740547884273969065724561294410792656653933227457652834077996149791995412548545702134911413635640627314349772239837121992325721541461473771579476135346135068360661813058460168697917573242964906915168248106324973126907921533581570509543747431022025227738784753820765207537887732833374046287246456227687538962498599803880777715209650526287135905153129684355641980970274374604063187856403708983807587075026328495817120946123135745258718683199836200094764386008571100448122075357517376508862108342598978979933929622579619652194285355220586668624563670149091638527924141532727556173523806344532792013896327548207529638688967897584436447134214350577698628875646007359797619165318001061914742657507062447045864766326441136860205710919606580408154741293192428634379634391406279960406337049789649276054320272017543835432934106051453759763345271440367588619838716986056046662222080131185526388297701231159333026267049992486658677364460059812059256204991914367874663830181927992506726038075255111707656717216711550911018327226662241246702205738603648317595222698379742327395623296171155239932843272788287520493010717787030232307125572662052792128366749820748528451880669832547931481056606307990666359020508710749941796904311699215380646485933761000000561840637042329699031319757415157512151165493940280753386478979660438599496239364884301025221796314490985200291489671461955075618820067605240772781522200241821924975234663380306703458817866857110172844689582912780221136773028917017272019282694584682303157707375934911548716761747069015288305671793303486149534885784047470442874446791121966559691500005182508738288153663682722620869161164635443247929597151235908617930544753813282619112613605073884449954039018100271756013345014672002231481928157314879006326848685348133509143614000010702703397296191887152438474860190040494610826783709456796585702840676611933285351516620747351235258095497330354969464603 4820790134145477575612768410456804646413499542568675441966611968696060046800340832431730909266817421133003916624155102811350396738799293854202084234872604521696548724608980462208642142665170890742256965465213027621445544880699481165943444527532623072267371551057187694361085069869748292695703068807605193397823189024515256404714631024258138906618862111432985893286023397529239581845759450976433802503777749550100585524637166507208245238634252201255736848842952004217393521279449665185647219815816581320385940670969286279335720032524783231311880331675698428018304814316712238340309049756654205605025304548678357937054261263332805847440791343684380876220777484815955359508474064175474030389764630771527913221679403235704971429480439841210604889879932025938525542710958190656380309408437788642603622494017565108942538052276069742072061595686886582655129873639213412580371641240038114816445332886344709055051744534153126482094853461332756440227615927268377393705756651646675434035221667241951196266794175780540908377204196617521223964927767478069344942071492816794458700041566051698662821070847057933377338366740505905769766022800483317993236162817988646547413812845280874053327967249995428189469324821394602227832022415658153763582231876587463631136882114577420827125457798993142810778026401622615505760792665928415941309046343269232124055403209361450492385685772726385362186893193361446928331055981109811890022899933106824034285972994269400884012616281710202487040650314634931186563998928026405090592727683333274130719527697029960271264134754894689026822728505926302069687550668297908403281794482372772556541987328246267477847276778642483136889635032721770836236950282625364976622214270138882599653831898045184939092617345287276835415524757534307720985967630652105887861982729793947269507331379294412499790701181956950227186378583693840592932477042901455713701309171892954671700646422388505416104283104922226285803780733980273905596454498545196517031373461822901185696557501809022273735980667820372128030365168898029753474926339740936794096289915607945944621669748499972240984512958710157472617204 7800202289677547739704491924029313180978272804211905068284179569055713227406053948678247355511543349455257447143609024895554722105580836669923908867567485755134434142669760614786705428888984500296786264205760911895414610605260775576736101181465850529920205629053337486356497618415450427607116704448232507747595428861637248730436172485731910486094997457568054253947836455989408279763332693941340717672025855875073712432558700088778754782381683223280964587627705824982601059167182498559693507062272809007924903169569090160113435242175309518447785484805382783660285784591086842403496906160363189412612379575006853754175207386468551106159474543520580970985163493387055807630549421692850539251872973370506893155609025815324623623765795061797273514443602175030164070635099723383936482932244133175395636390345113316472176741243967326508508729901237160353758749285220772377990806558039176731187990393407156100916510860594263342300564380939336848382357220460806028085391043052955394441558717031600472321114447798084743810138302668974983728273038918436933561910209802850505362263646182884189209368548289092710364633790498392428443387260543130052492367809903014422077643027208866560054005325250539897126042038106153138850349642320395010284437615191111948732104812957163154521081095164298050710869674410903026253803383715446173616171915931284916183769959182199020837566442558933293667949799669437594690076489820561831819804244806039414932458928030400884574456918752532186071970072050088698715164421966685843979206662993712730215767061914261296485931069385674227114218177388257145306370735903149176063316682614594481517221991626574181306094645499593309734324615634551057373723311542382248641496964723564902811539273980096487809379092356292123721196550837793870520853414699576330736429520915913829198831384476921238078854845639672848055539748329283840862074194137364331631853925706237290813260027462389866058322123022498041817125748652276137078382655860075523358222147171034694840171501819724977133276859707524566505225358938524364301710049197733379799130592219879229973186369247323476242608456040512442081807 12620992423823025315317260334486117827391772346780580510250791537751773274206394781109978264778360770588261363767764127706905118844380130524125993102440090276830982867278741076995347571554155391039043229670973939516860155485960256742679545708998473602187577180110525180717582688285198720302819773255837701145418617886152505135150803509990049392713859569001040147233859853518647861609092144917774520175803605425174297957195866595987000021015935424536701436470657829199994580446632163745340726878089390328310843840538376439449155274700092749759665816481081211678590598907799080743805955917017395017637684123685211691229468649801356953600265887204961847205940978203011167139023485868324569641637604142034806377288429051029595053246234903007878404323534200968689613346057914040316792340681921817999258884362678425414714793520037068580570325588123743008888622924434184958362447798077291547633323279751865155968255394747389824395417842272093288609973147729183421791147694699630828476780384273551668587908623578625652187342499286496207693200806396506278503981702619644964062305212234582852030439395347026087703000531004298198209410061026448045728530627891660969491455872489740613381972575245968086595366859500755366682372057978548773866669491778575579868986927534583981646538894157440861488896076033518532014596049643862114925218259200517040239173168543649513223252215285318655854842993030884523021132470930373721842704177912863449218431922299801768587073200462734673112620386685019885279163349993090934571934346326986860935294758944221567750065824280363253936946683314559214993921404201057579345111164987367038059209319872841659153371424142076446623959648356321893610673594167747225263711234862447502465371172025281426901996437643568959136721308372101591506821045351682218598412250709861098706162763771333737869556027596623075241918332023124433794551237038820045333163097599191962513906449850895282162605227944724327620906482632550042674837154405272040389595608993935880536729003628747250869257527527896694535590527836554117776636388938670173895420507827825174594856117747295717227121414750669914699011 20421194713500573055021752258515431008370045150992485578534971106807486501612448729788225620289904120043518810911373152602459840949960967194049901970007576031965417009948501691782053000443139891335829493876734851412274766091221032319415646890464324132107782809163862667074080306700649147909936477704070208893014046747789753865586975995721959878808857026569094401181696309508056141372424838859115237847829461300248010389754566684765754803397618647817666024098363654182595639613814662305034233940362199336235747010107466599562590516875402268207451301286463995338876383498885923147302862077380584430250063698692065445404676036269908059759740430725542818191104471590066974769572907561175108893510577512541699532897454866354218677012029964805151918767136375998853683981157637424253275272926054993394895274707791741886891534764004395089079055489360903362647372209654957336353254356116468278821313673159021256884766255341653166695982223211430136992330368189989449876538737752586222918339101305152140909023071376710395997480801955471191421473845314943212065891912422495469424568858417467041239807943636118798067634321502690626652797321569578098220898437794675391569098899698607173435977900496507983721408897606908505532721700298943784151107106969687528601091740491747136167619989321738912199765750444421558268399433359308288541390175131801956422943127725848534060818657844251949522792792700322117711208960750935553662508422718902864150890850330202653161530119215266859184590458735108583994327771959776778551141009320699591151061820858482864235996893666037481051164860702816360300292140104206755408427847601961519576431311499415840459466069641669756358284263990872950984396905710129473905208199586012405276910446005377914711375529999861082857917859209895462027674460051258549334841771625774927904994148248254975948410873236295923297458080352408274656625431176184376965017023305429253327166477313285148220927350967222369438032231284826179753219810265347563747817756164970575376900505448472228002534387235421261040815886775078482078346438136403553694551100047704404568042486994619193469729870791182356780818 33042187137323598370339012593001548835761817497773066088785762644559259775818843510898203885068264890631780174679137280309364959794341097718175895072447666308796399877227242768777400571997295282374872723547708790929134921577181289062095192599462797734295359989274387847791662994985847868212756250959907910038432664633942259000737779505712009271522716595570134548415556163026704002981516983776889758023633066725422308346950433280752754824413554072354367460569021483382590220060446826050374960818451589664546590850645843039011745791575495017967117117767545207017466982406685003891108817994397979447887747822377277136634144686071265013360006317930504665397045449793078141908596393429499678535148181654576505910185883917383813730258264867813030323090670576967543297327215551464570067613607976811394154159070470167301606328284041463669649381077484646371535995134089142294715702154193759826454636952910886412853021650089042991091400065483523425602303515919172871667686432452217051395119485578703809496931694955336048184823301241967399114674651711449490569873615042140433486874070652049893270247338983144885770634852506988824862207382596026143949429065686336361060554772188347786817950475742476070316775757107663872215093758277492558017776598748263108470078668026331117814158883479179773688661826477940090282995483003170403466608434332318996662116296269498047284070873129570605377635785731206640732341431681309275505212600631766313369322772630004421748603319678001532297210845420128469273491121952867713123075355647686452086356579802704431986062717946400734988111544017375575294213544305264334753539012589328557635640631372257499612837493783746202982243912347194844595070499877876699168919434448459907742281618030659341613371967643430041994639167581997053534495505402940767933254022335636026611156912019588713817966900832918998539376412375532708451176668215004422298180120904621215841072927164180430383532578911946697058938713917376222428056964670619604137413365158906455913629509077219478871791914763317955576406414611632599854982827075073727589971607875529579162898604741914910696851285541852271479829 53463381850824171425360764851516979844131862648765551667320733751366746277431292240686429505358169010675298985590510432911824800744302064912225797042455242340761816887175744460559453572440435173710702217424443642341409687668402321381510839489927121866403142798438250514865743301686497016122692728663978118931446711381732012866324755501433969150331573622139228949597252472534760144353941822636004995871462528025670318736704999965518509627811172720172033484667385137565185859674261488355409194758813789000782337860753309638574336308450897286174568419054009202356343365905570927038411680071778563878137811521069342582038820722341173073119746748656047483588149921383145116678169300990674787428658759167118205443083338783738032407270294832618182241857806952966396981308373188888823342886534031804789049433778261909188497863048045858758728436566845549734183367343744099631068956510310228105275950626069907669737787905430696157787382288694953562594633884109162321544225170204803274313458586883855950405954766332046444182304103197438590536148497026392702635765527464635902911442929069516934510055282619263683838269174009679451515004704165604242170327503481011752629653671886954960253928376238984054038184654714572377747815458576436342168883705717950637071170408518078253981778872800918685888427576922361648551394916362478692007998609464120953085059423995346581344889530973822554900428578431528758443550392432244829167721023350669177520213622960207074910133438893268391481801304155237053267818893912644491674216364968386043237418400661187296222059611612438216039276404720191935594505684409471090161966860191290077212071942871673340072303563425415959340528176338067795579467405588006173074127634034472313019192064036037256324747497643291124852557026791892515562169965454199317268095793961410954516151060267843689766377774069214921836834492727940983107802099391188799263197144210050469168239404477465578604459929879169066496970945202202402181276774935967167885231121323877031290530014525691706874326301998739216617222301386711081933329265211477281284522707923233983730941091736534104166581156333034628260647 86505568988147769795699777444518528679893680146538617756106496395926006053250135751584633390426433901307079160269647713221189760538643162630401692114902908649558216764402987229336854144437730456085574940972152433270544609245583610443606032089389919600698502787712638362657406296672344884335448979623886028969879376015674271867062535007145978421854290217709363498012808635561464147335458806412894753895095594751092627083655433246271264452224726792526400945236406620947776079734708314405784155577265378665328928711399152677586082100026392304141685536821554409373810348312255930929520498066176543326025559343446619718672965408412438086479753066586552148985195371176223258586765694420174465963806940821694711353269222701121846137528559700431212564948477529933940278635588740353393410500142008616183203592848732076490104191332087322428377817644330196105719362477833241925784658664503987931730587578980794082590809555519739148878782354178476988196937400028335193211911602657020325708578072462559759902886461287382492367127404439405989650823148737842193205639142506776336398316999721566827780302621602408569608904026516668276377212086761630386119756569167348113690208444075302747071878851981460124354960411822236249962909216853928900186660304466213745541249076544409371795937756280098459577089403400301738834390399365649095474607043796439949747175720264844628628960404103393160278064364162735399175891824113554104672933623982435490889536395590211496658736758571269923779012149575365522541310015865512204797291720616072495323774980463891728208122329558838951027387948737567510888719228714735424915505872780618634847712574243930839685141057209162162322772088685262640174537905465882872243047068482932220761473682066696597938119465286721166847196194373889569096665470857140085201349816297046981127307972287432403584344674902133920376210905103473691558978767606193221561377265114671685009312331641646008987992508791115763555909659119578624609333739606586772022644486482783487204159523602911185746118216762057172193628715998343681788312092286551008874494315798763562893839696478449014863432441874886899740476 139968950838971941221060542296035508524025542795304169423427230147292752330681427992271062895784602911982378145860158146133014561282945227542627489157358150990320033651578731689896307716878165629796277158396596075611954296913985931825116871579317041467101645586150888877523149598358841900458141708287864147901326087397406284733387290508579947572185863839848592447610061108096224291689400629048899749766558122776762945820360433211789774080035899512698434429903791758512961939408969802761193350336079167666111266572152462316160418408477289590316253955875563611730153714217826857967932178137955107204163370864515962300711786130753611159599499815242599632573345292559368375264934995410849253392465699988812916796352561484859878544798854533049394806806284482900337259943961929242216753386676040420972253026626993985678602054380133181187106254211175745839902729821577341556853615174814216037006538205050701752328597460950435306666164642873430550791571284137497514756136772861823600022036659346415710308841227619428936549431507636844580186971645764234895841404669971412239309759928791083762290357904221672253447173200526347727892216790927234628290084072648359866319862115962257707325807228220444178393145066536808627710724675430365242355544010184164382612419485062487625777716629081017145465516980322663387385785315728127787482605653260560902832235144260191209973849935077215715178492942594264157619442216545798933840654647333104668409750018550418571568870197464538315260813453730602575809128909778156696471508085584458538561193381125079024430181941171277167066664353457759446483224913124206515077472732971908712059784517115604179757444620634578121663300265023330435754005311053889045317174702517404533780665746102733854262866962930012291699753221165782084658835436311339402469445610258457935643459032555276093350722448971348842213045397831414674666780866997382020824574409324722154177551736119111587592452438670284830052880604321781026790610514542553939907875607806660518494689538128602892620444518760796388810851017385054763721641357498028290159017023721997546624780788214983119030013598207921528001123 226474519827119711016760319740554037203919222941842787179533726543218758383931563743855696286211036813289457306129805859354204321821588390173029181272261059639878250415981718919233161861315896085881852099368748508882498906159569542268722903668706961067800148373863527240180555895031186784793590687911750176871205463413080556600449825515725925994040154057557955945622869743657688439024859435461794503661653717527855572904015866458061038532260626305224835375140198379460738019143678117166977505913344546331440195283551614993746500508503681894457939492697118021103964062530082788897452676204131650530188930207962582019384751539166049246079252881829151781558540663735591633851700689831023719356272640810507628149621784185981724682327414233480607371754762012834277538579550669595610163886818049037155456619475726062168706245712220503615484071855505941945622092299410583482638273839318203968737125784031495834919407016470174455544946997051907538988508684165832707968048375518843925730614731808975470211727688906811428916558912076250569837794794502077089047043812478188575708076928512650590070660525824080823056077227043016004269428877688865014409840641815707980010070560037560454397686080201904302748105478359044877673633892284294142542204314650378128153668561606896997573654385361115605042606383722965126220175715093776882957212697057000852579410864525035838602810339180608875456557306756999556795334040659353038513588271315540159299286414140630068227606956035808239039825603305968098350438925643668901268799806200531033884968361588970752638304270730116118094052302195326957371944141838941939992978605752527346907497091359535019442585677843740283986072353708593075928543216519771917560221771000336754542139428169430452200986428216733458546949415539671653755500907168479487670795426555504916770767004842708496935067123873482762589256302934888366225759634603575242385951674439393839186864067760757596580444947461400593608790263441359651399944254149140711930520094289444005698849061731514078366562735522853561004479733383398445509953449784579299033511339520761109518620484693432133893446040082808427741599 366443470666091652237820862036589545727944765737146956602960956690511510714612991736126759181995639725271835451989964005487218883104533617715656670429619210630198284067560450609129469578194061715678129257765344584494453203073555474093839775248024002534901793960014416117703705493390028685251732396199614324772531550810486841333837116024305873566226017897406548393232930851753912730714260064510694253428211840304618518724376299669850812612296525817923269805043990137973699958552647919928170856249423713997551461855704077309906918916980971484774193448572681632834117776747909646865384854342086757734352301072478544320096537669919660405678752697071751414131885956294960009116635685241872972748738340799320544945974345670841603227126268766530002178561046495734614798523512598837826917273494089458127709646102720047847308300092353684802590326066681687785524822120987925039491889014132420005743663989082197587248004477420609762211111639925338089780079968303330222724185148380667525752651391155391180520568916526240365465990419713095150024766440266311984888448482449600815017836857303734352361018430045753076503250427569363732161645668616099642699924714464067846329932675999818161723493308422348481141250544895853505384358567714659384897748324834542510766088046669384623351371014442132750508123364045628513605961030821904670439818350317561755411646008785227048576660274257824590635050249351263714414776257205151972354242918648644827709036432691048639796477153500346554300639057036570674159567835421825597740307891784989572446161742714049777068486211901393285160716655653086403855169054963148455070451338724436058967281608475139199200030298478318405649372618731923511682548527573660962877396473517741288322805174272164306463853391146745750246702636705453738414336343479818890140241036813962852414226037397984590285789572844831604802301700766303040892540501600957263210526083764115993364415803879869184172897386131685423661670867763140678190554768691694651838395702096104524193538599860116970987007254283649949815330750768453209231594807282607589192528363242758656143401272908415252923459638290729955742722 592917990493211363254581181777143582931863988678989743782494683233730269098544555479982455468206676538561292758119769864841423204926122007888685851701880270270076534483542169528362631439509957801559981357134093093376952109233125016362562678916730963602701942333877943357884261388421215470045323084111364501643737014223567397934286941540031799560266171954964504338855800595411601169739119499972488757089865557832474091628392166127911851144557152123148105180184188517434437977696326037095148362162768260328991657139255692303653419425484653379232132941269799653938081839277992435762837530546218408264541231280441126339481289209085709651758005578900903195690426620030551642968336375072896692105010981609828173095596129856823327909453683000010609550315808508568892337103063268433437081160312138495283166265578446110016014545804574188418074397922187629731146914420398508522130162853450623974480789773113693422167411493890784217756058636977245628768588652469162930692233523899511451483266122964366650732296605433051794382549331789345719862561234768389073935492294927789390725913785816384942431678955869833899559327654612379736431074546304964657109765356279775826340003236037378616121179388624252783889356023254898383057992459998953527439952639484920638919756608276281620925025399803248355550729747768593639826136745915681553397031047374562607991056873310262887179470613438433466091607556108263271210110297864505010867831189964184987008322846831678708024084109536154793340464660342538772510006761065494499009107697985520606331130104303020529706790482631509403254768957848413361227113196802090395063429944476963405874778699834674218642615976322058689635444972440516587611091744093432880437618244518078042864944602441594758664839819363479208793652052245125392169837250648298377811036463369467769184993042240693087220856696718314367391558003701191407118300136204532505596477758203509832551279871640626780753342333593086017270461131204500329590499022840835363768915796385548529892387661591631049353569989806503510819810484151851654741548257067186888226039702763519765662021757601847386816905678373538383484321 959361461159303015492402043813733128659808754416136700385455639924241779813157547216109214650202316263833128210109733870328642088030655625604342522131499480900274818551102620137492101017704019517238110614899437677871405312306680490456402454164754966137603736293892359475587966881811244155297055480310978826416268565034054239268124057564337673126492189852371052732088731447165513900453379564483183010518077398137092610352768465797762663756853677941071374985228178655408137936248973957023319218412191974326543118994959769613560338342465624864006326389842481286772199616025902082628222384888305165998893532352919670659577826879005370057436758275972654609822312576325511652084972060314769664853749322409148718041570475527664931136579951766540611728876855004303507135626575867271263998433806227953410875911681166157863322845896927873220664723988869317516671736541386433561622051867583043980224453762195891009415415971311393979967170276902583718548668620772493153416418672280178977235917514119757831252865521959292159848539751502440869887327675034701058823940777377390205743750643120119294792697385915586976062578082181743468592720214921064299809690070743843672669935912037196777844672697046601265030606568150751888442351027713612912337700964319463149685844654945666244276396414245381106058853111814222153432097776737586223836849397692124363402702882095489935756130887696258056726657805459526985624886555069656983222074108612829814717359279522727347820561263036501347641103717379109446669574596487320096749415589770510178777291847017070306775276694532902688415485613501499765082282251765238850133881283201399464842060308309813417842646274800377095284817591172440099293640271667093843315014718035819331187749776713759065128693210510224959040354688950579130584173594128117267951277500183430621599219079638677677506646269563145972193859704467494448010840637805489768807003841967625825915695675520495964926239719724771440932131998967641007781053791532530015607311498481653054085926261451748020340577244090153460635141234920304863973143064349794477418568066006278421805423030510262639740365316664268339227043 1552279451652514378746983225590876711591672743095126444167950323157972048911702102696091670118408992802394420968229503735170065292956777633493028373833379751170351353034644789665854732457213977318798091972033530771248357421539805506818965133081485929740305678627770302833472228270232459625342378564422343328060005579257621637202410999104369472686758361807335557070944532042577115070192499064455671767607942955969566701981160631925674514901410830064219480165412367172842575913945299994118467580574960234655534776134215461917213757767950278243238459331112280940710281455303894518391059915434523574263434763633360796999059116088091079709194763854873557805512739196356063295053308435387666356958760304018976891137166605384488259046033634766551221279192663512872399472729639135704701079594118366448694042177259612267879337391701502061638739121911056947247818650961784942083752214721033667954705243535309584431582827465202178197723228913879829347317257273241656084108652196179690428719183637084124481985162127392343954231089083291786589749888909803090132759433072305179596469664428936504237224376341785420875621905736794123205023794761226028956919455427023619499009939148074575393965852085670854048919962591405650271500343487712566439777653603804383788605601263221947865201421814048629461609582859582815793258234522653267777233880445066686971393759755405752822935601501134691522818265361567790256834996852934161994089905298577014801725682126354406055844645372572656140981568377721648219179581357552814595758523287756030785108421951320090836482067177164412091670254571349913126309395448567329245197311227678362870716839008144487636485262251122435784920262563612956686904732015760526723752632962553897374052694379155353823793533029873704167834006741195704522754010844776415645762313963552898390784212121879370764727502966281460339585417708168685855129140774010022274403481600171135658466975547161122745679582053317857458202593130172141337371552814373365379376227294867201583978313923043379069694147233896656971454951719072156518714691321416981365644607768769798187467444788112110026557270995037806722711364 2511640912811817394239385269404609840251481497511263144553405963082213828724859649912200884768611309066227549178339237605498707380987433259097370895964879232070626171585747409803346833474917996836036202586932968449119762733846485997275367587246240895877909414921662662309060195152043703780639434044733322154476274144291675876470535056668707145813250551659706609803033263489742628970645878628938854778126020354106659312333929097723437178658264508005290855150640545828250713850194273951141786798987152208982077895129175231530774096110415903107244785720954762227482481071329796601019282300322828740262328295986280467658636942967096449766631522130846212415335051772681574947138280495702436021812509626428125609178737080912153190182613586533091833008069518517175906608356215002975965078027924594402104918088940778425742660237598429934859403845899926264764490387503171375645374266588616711934929697297505475440998243436513572177690399190782413065865925894014149237525070868459869405955101151203882313238027649351636114079628834794227459637216584837791191583373849682569802213415072056623532017073727701007851684483818975866673616514976147093256729145497767463171679875060111772171810524782717455313950569159556402159942694515426179352115354568123846938291445918167614109477818228294010567668435971397037946690332299390854001070729842758811334796462637501242758691732388830949579544923167027317242459883408003818977311979407189844616443041405877133403665206635609157488622672095100757665849155954040134692507938877526540963885713798337161143257343871697314780085740184851412891391677700332568095331192510879762335558899316454301054327908525922812880205080154785396786198372287427620567067647680589716705240444155869112888922226240383929126874361430146283653338184438904532913713591463736329012383431201518048442234149235844606311779277412636180303139981411815512043210485442138761484382671222681618710605821773042628899134725129139782345152606605905895394983538793348854638064240184495127090034724477986810432090092953992461382687834385766775843063175834776076609272867818622372666297636311702075061938407 4063920364464331772986368494995486551843154240606389588721356286240185877636561752608292554887020301868621970146568741340668772673944210892590399269798258983240977524620392199469201565932131974154834294558966499220368120155386291504094332720327726825618215093549432965142532423422276163405981812609155665482536279723549297513672946055773076618500008913467042166873977795532319744040838377693394526545733963310076226014315089729649111693559675338069510335316052913001093289764139573945260254379562112443637612671263390693447987853878366181350483245052067043168192762526633691119410342215757352314525763059619641264657696059055187529475826285985719770220847790969037638242191588931090102378771269930447102500315903686296641449228647221299643054287262182030048306081085854138680666157622042960850798960266200390693621997629299931996498142967810983212012309038464956317729126481309650379889634940832815059872581070901715750375413628104662242413183183167255805321633723064639559834674284788288006795223189776743980068310717918086014049387105494640881324342806921987749398683079500993127769241450069486428727306389555769989878640309737373122213648600924791082670689814208186347565776376868388309362870531750962052431443038003138745791893008171928230726897047181389561974679240042342640029278018830979853739948566822044121778304610287825498306190222392906995581627333889965641102363188528595107499294880260937980971401884705766859418168723532231539459509852008181813629604240472822405885028737311592949288266462165282571748994135749657251979739411048861726871755994756201326017701073148899897340528503738558125206275738324598788690813170777045248665125342718398353473103104303188147290820280643143614079293138535024466712715759270257633294708368171341988176092195283680948559475905427289227403167643323397419206961652202126066651364695120804866158269122185825534317613967042309897142849646769842741456285403826360486357337318259311923682524159420279260774359766088216056222042554107538506159728871711883467403545044673064617901402525707183757208707783603545874796740312606734482692854907306739881784649771 6575561277276149167225753764400096392094635738117652733274762249322399706361421402520493439655631610934849519324907978946167480054931644151687770165763138215311603696206139609272548399407049970990870497145899467669487882889232777501369700307573967721496124508471095627451592618574319867186621246653888987637012553867840973390143481112441783764313259465126748776677011059022062373011484256322333381323859983664182885326649018827372548872217939846074801190466693458829344003614333847896402041178549264652619690566392565924978761949988782084457728030773021805395675243597963487720429624516080181054788091355605921732316333002022283979242457808116565982636182842741719213189329869426792538400583779556875228109494640767208794639411260807832734887295331700547224212689442069141656631235649967555252903878355141169119364657866898361931357546813710909476776799425968127693374500747898267091824564638130320535313579314338229322553104027295444655479049109061269954559158793933099429240629385939491889108461217426095616182390346752880241509024322079478672515926180771670319200896494573049751301258523797187436578990873374745856552256824713520215470377746422558545842369689268298119737586901651105764676821100910518454591385732518564925144008362740052077665188493099557176084157058270636650596946454802376891686638899121434975779375340130584309640986685030408238340319066278796590681908111695622424741754763668941799948713864112956704034611764938108672863175058643790971118226912567923163550877893265633083980774401042809112712879849547994413122996754920559041651841734941052738909092750849232465435859696249437887541834637641053089745141079302968061545330422873183750259301476590615767857887928323733330784533582690893579601637985510641562421582729601488271829430379722585481473189496891025556415551074524915467649195801437970672963143972533441046461409103597641046360824452484448658627232317992524360166891225599403115256472043388451706027676766026185156169343304881564910860106794292033633249763596189870277835635137627057079284090360092950533051770959438321951406013180425356855359152543618441956846588178 10639481641740480940212122259395582943937789978724042321996118535562585583997983155128785994542651912803471489471476720286836252728875855044278169435561397198552581220826531808741749965339181945145704791704865966889856003044619069005464033027901694547114339602020528592594125041996596030592603059263044653119548833591390270903816427168214860382813268378593790943550988854554382117052322634015727907869593946974259111340964108557021660565777615184144311525782746371830437293378473421841662295558111377096257303237655956618426749803867148265808211275825088848563868006124597178839839966731837533369313854415225562996974029061077471508718284094102285752857030633710756851431521458357882640779355049487322330609810544453505436088639908029132377941582593882577272518770527923280337297393272010516103702838621341559812986655496198293927855689781521892688789108464433084011103627229207917471714199578963135595186160385239945072928517655400106897892232292228525759880792516997738989075303670727779895903684407202839596250701064670966255558411427574119553840268987693658068599579574074042879070499973866673865306297262930515846430897134450893337684026347347349628513059503476484467303363278519494074039691632661480507022828770521703670935901370911980308392085540280946738058836298312979290626224473633356745426587465943479097557679950418409807947176907423315233921946400168762231784271300224217532241049643929879780920115748818723563452780488470340212322684910651972784747831153040745569435906630577226033269040863208091684461873985297651665102736165969420768523597729697254064926793823998132362776388199987996012748110375965651878435954250080013310210455765591582103732404580893803915148708208966876944863826721225918046314353744780899195716291097772830260005522575006266430032665402318314783818718717848312886856157453640096739614508667654245912619678225783466580678438419526758555770081964762367101623176629425763601613809361647763629710200925446464416943703070969780967082149348399572139409492467901753745239180182300121697185492885800134290260478743041867826202753493032091338052007450925181838631237949 17215042919016630107437876023795679336032425716841695055270880784884985290359404557649279434198283523738321008796384699233003732783807499195965939601324535413864184917032671418014298364746231916136575288850765434559343885933851846506833733335475662268610464110491624220045717660570915897779224305916933640756561387459231244293959908280656644147126527843720539720227999913576444490063806890338061289193453930638441996667613127384394209437995555030219112716249439830659781296992807269738064336736660641748876993804048522543405511753855930350265939306598110653959543249722560666560269591247917714424101945770831484729290362063099755487960741902218851735493213476452476064620851327784675179179938829044197558719305185220714230728051168836965112828877925583124496731459969992421993928628921978071356606716976482728932351313363096655859213236595232802165565907890401211704478127977106184563538764217093456130499739699578174395481621682695551553371281401289795714439951310930838418315933056667271785012145624628935212433091411423846497067435749653598226356195168465328387800476068647092630371758497663861301885288136305261702983153959164413553154404093769908174355429192744782587040950180170599838716512733571998961614214503040268596079909733652032386057274033380503914142993356583615941223170928435733637113226365064914073337055290548994117588163592453723472262265466447558822466179411919839956982804407598821580868829612931680267487392253408448885185859969295763755866058065608668732986784523842859117249815264250900797174753834845646078225732920889979810175439464638306803835886574847364828212247896237433900289945013606704968181095329382981371755786188464765853991706057484419683006596137290610275648360303916811625915991730291540758137873827374318531834952954728851911505854899209340340234269792373228354505353255078067412577652640187686959081087329381107627039262872011207214397314282754891461790067855025166716870281405036215335737877691472649573113046375851345877942256142691605772659256064091624023074815319927178776469583245893084823312249702480189777608766673457448193411159994543623795477826127 27854524560757111047649998283191262279970215695565737377266999320447570874357387712778065428740935436541792498267861419519839985512683354240244109036885932612416766137859203226756048330085413861282280080555631401449199888978470915512297766363377356815724803712512152812639842702567511928371827365179978293876110221050621515197776335448871504529939796222314330663778988768130826607116129524353789197063047877612701108008577235941415870003773170214363424242032186202490218590371280691579726632294772018845134297041704479161832261557723078616074150582423199502523411255847157845400109557979755247793415800186057047726264391124177226996679025996321137488350244110163232916052372786142557819959293878531519889329115729674219666816691076866097490770460519465701769250230497915702331226022193988587460309555597824288745337968859294949787068926376754694854355016354834295715581755206314102035252963796056591725685900084818119468410139338095658451263513693518321474320743827928577407391236727395051680915830031831774808683792476094812752625847177227717780196464156158986456400055642721135509442258471530535167191585399235777549414051093615306890838430441117257802868488696221267054344313458690093912756204366233479468637043273561972267015811104564012694449359573661450652201829654896595231849395402069090382539813831008393170894735240967403925535340499877038706184211866616321054250450712144057489223854051528701361788945361750403830940172741878789097508544879947736540613889218649414302422691154420085150518856127458992481636627820143297743328469086859400578699037194335560868762680398845497190988636096225429913038055389572356846617049579462994681966241954056347957724110638378223598155304346257487220512187025142729672230345475072439953854164925147148791840475529735118341538520301527655124052988510221541241361510708718164152192161307841932871700765555164574207717701291537965770167396247517258563413244484450930318484090766683978965448078616919113990056749446821126845024405491091177912068748531993377768313995502227300473655076131693219113572728445522057603811520166489539531463167445468805634109064076 45069567479773741155087874306986941616002641412407432432537880105332556164716792270427344862939218960280113507064246118752843718296490853436210048638210468026280951054891874644770346694831645777418855369406396836008543774912322762019131499698853019084335267823003777032685560363138427826151051671096911934632671608509852759491736243729528148677066324066034870384006988681707271097179936414691850486256501808251143104676190363325810079441768725244582536958281626033149999887364087961317790969031432660594011290845753001705237773311579008966340089889021310156482954505569718511960379149227672962217517745956888532455554753187276982484639767898539989223843457586615708980673224113927232999139232707575717448048420914894933897544742245703062603599338445048826265981690467908124325154651115966658816916272574307017677689282222391605646282162971987497019920924245235507420059883183420286598791728013150047856185639784396293863891761020791210004634795094808117188760695138859415825707169784062323465927975656460710021116883887518659249693282926881316006552659324624314844200531711368228139814016969194396469076873535541039252397205052779720443992834534887165977223917888966049641385263638860693751472717099805478430251257776602240863095720838216045080506633607041954566344823011480211173072566330504824019653040196073307244231790531516398043123504092330762178446477333063879876716630124063897446206658459127522942657774974682084098427564995287237982694404849243500296479947284258083035409475678262944267768671391709893278811381654988943821554202007749380388874476658973867672598566973692862019200883992462863813328000403179061814798144908845976053722028142521113811715816695862643281161900483548097496160547329059541298146337205363980711992038752521467323675428484463970253044375200736995464287258302594769595866863963796231564769813948029619830781852884545681834756964163549172984564710530272150025203312339476097035354372171720194301185956308391763563169795822672472722966661633782783684728004596085001791388810822154479250124659377586303936884978148002247381420286839946987724874327440012429429586890203 72924092040530852202737872590178203895972857107973169809804879425780127039074179983205410291680154396821906005332107538272683703809174207676454157675096400638697717192751077871526395024917059638701135449962028237457743663890793677531429266062230375900060071535515929845325403065705939754522879036276890228508781829560474274689512579178399653207006120288349201047785977449838097704296065939045639683319549685863844212684767599267225949445541895458945961200313812235640218477735368652897517601326204679439145587887457480867070034869302087582414240471444509659006365761416876357360488707207428210010933546142945580181819144311454209481318793894861126712193701696778941896725596900069790819098526586107237337377536644569153564361433322569160094369798964514528035231920965823826656380673309955246277225828172131306423027251081686555433351089348742191874275940600069803135641638389734388634044691809206639581871539869214413332301900358886868455898308788326438663081438966787993233098406511457375146843805688292484829800676363613472002319130104109033786749123480783301300600587354089363649256275440724931636268458934776816801811256146395027334831264976004423780092406585187316695729577097550787664228921466038957898888301050164213130111531942780057774955993180703405218546652666376806404921961732573914402192854027081700415126525772483801968658844592207800884630689199680200930967080836207954935430512510656224304446720336432487929367737737166027080202949729191236837093836502907497337832166832683029418287527519168885760448009475132241564882671094608780967573513853309428541361247372538359210189520088688293726366055792751418661415194488308970735688270096577461769439927334240866879317204829805584716672734354202270970376682680436420665846203677668616115515904014199088594582895502264650588340246812816310837228374672514395716961975255871552702482618439710256042474665455087138754732106777789408588616556823927027353838462938404173266634034925310877553226545269493599567991067124873961596796753128078379559702806324381779723779735509279523050457706593524304985231807006436527256337494885481235063695954279 117993659520304593357825746897165145511975498520380602242342759531112683203790972253632755154619373357102019512396353657025527422105665061112664206313306868664978668247642952516296741719748705416119990819368425073466287438803116439550560765761083394984395339358519706878010963428844367580673930707373802163141453438070327034181248822907927801884072444354384071431792966131545368801476002353737490169576051494114987317360957962593036028887310620703528498158595438268790218365099456614215308570357637340033156878733210482572307808180881096548754330360465819815489320266986594869320867856435101172228451292099834112637373897498731191965958561793401115936037159283394650877398821013997023818237759293682954785425957559464087461906175568272222697969137409563354301213611433731950981535324425921905094142100746438324100716533304078161079633252320729688894196864845305310555701521573154675232836419822356687438057179653610707196193661379678078460533103883134555851842134105647409058805576295519698612771781344753194850917560251132131252012413030990349793301782805407616144801119065457591789070292409919328105345332470317856054208461199174747778824099510891589757316324474153366337114840736411481415701638565844436329139558826766453993207252780996102855462626787745359784891475677857017577994528063078738421845894223155007659358316304000200011782348684538563063077166532744080807683710960271852381637170969783747247104495311114572027795302732453265062897354578434737133573783787165580373241642510945973686056198910878779039259391130121185386436873102358161356447990512283296213959814346231221229390404081151157539694056195930480476213339397154946789410298239098575581155744030103510160479105313353682212833281683261812268523019885800401377838242430190083439191332498663058847627270703001646052627505115411080433095238636310627281731789203901172533264471324255937877231629618636311739296817308061558613819869163403124389192835110124367567819991233702641116396341092166072290957728758656745281524757724163381351091617146536258973904394886865826987342684741526552366652093846383514981211822325493664493282844482 190917751560835445560563619487343349407948355628353772052147638956892810242865152236838165446299527753923925517728461195298211125914839268789118363988403269303676385440394030387823136744665765054821126269330453310924031102693910117081990031823313770884455410894035636723336366494550307335196809743650692391650235267630801308870761402086327455091078564642733272479578943581383466505772068292783129852895601179978831530045725561860261978332852516162474459358909250504430436842834825267112826171683842019472302466620667963439377843050183184131168570831910329474495686028403471226681356563642529382239384838242779692819193041810185401447277355688262242648230860980173592774124417914066814637336285879790192122803494204033241026267608890841382792338936374077882336445532399555777637915997735877151371367928918569630523743784385764716512984341669471880768472805445375113691343159962889063866881111631563327019928719522825120528495561738564946916431412671460994514923573072435402291903982806977073759615587033045679680718236614745603254331543135099383580050906286190917445401706419546955438326567850644259741613791405094672856019717345569775113655364486896013537408731059340683032844417833962269079930560031883394228027859876930667123318784723776160630418619968448765003438128344233823982916489795652652824038748250236708074484842076484001980441193276746363947707855732424281738650791796479807317067683480439971551551215647547059957163040469619292143100304307625973970667620290073077711073809343629003104343726430047664799707400605253426951319544196966942324021504365592724755321061718769580439579924169839451266060111988681899137628533885463917525098568335676037350595671364344377039796310143159266929506016037464083238899702566236822043684446107858699554707236512862147442210166205266296640967751928227391270323613308825022998693764459772725235747089763966193919706295073723450494028924085850967202436425987330151743031298048528540834454026159013518669622886361659671858948795883530706878321510852241760910794423470918038697684130396145350037800391335050857351883900852820042237549317210974899556978798761 308911411081140038918389366384508494919923854148734374294490398488005493446656124490470920600918901111025945030124814852323738548020504329901782570301710137968655053688036982904119878464414470470941117088698878384390318541497026556632550797584397165868850750252555343601347329923394674915870740451024494554791688705701128343052010224994255256975151008997117343911371909712928835307248070646520620022471652674093818847406683524453298007220163136866002957517504688773220655207934281881328134742041479359505459345353878446011685651231064280679922901192376149289985006295390066096002224420077630554467836130342613805456566939308916593413235917481663358584268020263568243651523238928063838455574045173473146908229451763497328488173784459113605490308073783641236637659143833287728619451322161799056465510029665007954624460317689842877592617593990201569662669670290680424247044681536043739099717531453920014457985899176435827724689223118243025376964516554595550366765707178082811350709559102496772372387368377798874531635796865877734506343956166089733373352689091598533590202825485004547227396860260563587846959123875412528910228178544744522892479463997787603294725055533494049369959258570373750495632198597727830557167418703697121116526037504772263485881246756194124788329604022090841560911017858731391245884642473391715733843158380484201992223541961284927010785022265168362546334502756751659698704854450223718798655710958661631984958343202072557205997658886060711104241404077238658084315451854574976790399925340926443838966791735374612337756417299325103680469494877876020969280876065000801668970328250990608805754168184612379613841873282618864314508866574774612931751415394447887200275415456512949142339297720725895507422722452037223421522688538048782993898569011525206289837436908267942693595257043638471703418851945135650280425553663673897769011561088222131796937924692359762233325741393912525816256295150733276132224133158652908402274017392716159786019227453825744149906524642187452159846268576405142261886040617454297671588525283011177025143076076577409718535994699203557218761139536468564050261643243 499829162641975484478952985871851844327872209777088146346638037444898303689521276727309086047218428864949870547853276047621949673935343598690900934290113407272331439128431013291943015209080235525762243358029331695314349644190936673714540829407710936753306161146590980324683696417944982251067550194675186946441923973331929651922771627080582712066229573639850616390950853294312301813020138939303749875367253854072650377452409086313559985553015653028477416876413939277651092050769107148440960913725321378977761811974546409451063494281247464811091472024286478764480692323793537322683580983720159936707220968585393498275759981119101994860513273169925601232498881243741836425647656842130653092910331053263339031032945967530569514441393349954988282647010157719118974104676232843506257367319897676207836877958583577585148204102075607594105601935659673450431142475736055537938387841498932802966598643085483341477914618699260948253184784856807972293395929226056544881689280250518213642613541909473846132002955410844554212354033480623337760675499301189116953403595377789451035604531904551502665723428111207847588572915280507201766247895890314298006134828484683616832133786592834732402803676404336019575562758629611224785195278580627788239844822228548424116299866724642889791767732366324665543827507654384044069923390723628423808328000456968203972664735238031290958492877997592644284985294553231467015772537930663690350206926606208691942121383671691849349097963193686685074909024367311735795389261198203979894743651770974108638674192340628039289075961496292046004490999243468745724601937783770382108550252420830060071814280173294278751470407168082781839607434910450650282347086758792264240071725599672216071845313758189978746322425018274045465207134645907482548605805524387353732047603113534239334563008971865862973742465253960673279119318123446623004758650852188325716644219766083212727354665479763493018692721138063427875255431207181449236728043551729678455642113815485416008855320525718159038167779428646903172680464088372336369272655679156527062943467411628267070419895552023599456310456747443463607240442004 808740573723115523397342352256360339247796063925822520641128435932903797136177401217780006648137329975975815577978090899945688221955847928592683504591823545240986492816467996196062893673494705996703360446728210079704668185687963230347091626992108102622156911399146323926031026341339657166938290645699681501233612679033057994974781852074837969041380582636967960302322763007241137120268209585824369897838906528166469224859092610766857992773178789894480374393918628050871747258703389029769095655766800738483221157328424855462749145512311745491014373216662628054465698619183603418685805403797790491175057098928007303732326920428018588273749190651588959816766901507310080077170895770194491548484376226736485939262397731027898002615177809068593772955083941360355611763820066131234876818642059475264302387988248585539772664419765450471698219529649875020093812146026735962185432523034976542066316174539403355935900517875696775977874007975050997670360445780652095248454987428601024993323101011970618504390323788643428743989830346501072267019455467278850326756284469387984625807357389556049893120288371771435435532039155919730676476074435058820898614292482471220126858842126328781772762934974709770071194957227339055342362697284324909356370859733320687602181113480837014580097336388415507104738525513115435315808033197020139542171158837452405964888277199316217969277900262761006831319797309983126714477392380887409148862637564870323927079726873764406555095622079747396179150428444550393879704713052778956685143577111900552477640984076002651626832378795617149684960494121344766693882813848771183777520580671820668877568448357906658365312280450701646154116301485225263214098502153240151440347141056185165214184611478915874253745147470311268886729823183956265542504374535912560021885040021802182028158266015504334677161317199096323559544871787120520773770211940410457513582144458442974960680406873676018834949016288796704007479564365834357639002060944445838241661341269311160158761845167905611198014048005052045434566504705826634040861180962167704088086543488205676788955890251227156675071596283912027657502085247 1308569736365091007876295338128212183575668273702910666987766473377802100825698677945089092695355758840925686125831366947567637895891191527283584438881936952513317931944899009488005908882574941522465603804757541775019017829878899904061632456399819039375463072545737304250714722759284639418005840840374868447675536652364987646897553479155420681107610156276818576693273616301553438933288348525128119773206160382239119602311501697080417978326194442922957791270332567328522839309472496178210056569492122117460982969302971264913812639793559210302105845240949106818946390942977140741369386387517950427882278067513400802008086901547120583134262463821514561049265782751051916502818552612325144641394707279999824970295343698558467517056571159023582055602094099079474585868496298974741134185961957151472139265946832163124920868521841058065803821465309548470524954621762791500123820364533909345032914817624886697413815136574957724231058792831858969963756375006708640130144267679119238635936642921444464636393279199487982956343863827124410027694954768467967280159879847177435661411889294107552558843716482979283024104954436426932442723970325373118904749120967154836958992628719163514175566611379045789646757715856950280127557975864952697596215681961869111718480980205479904371865068754740172648566033167499479385731423920648563350499159294420609937553012437347508927770778260353651116305091863214593730249930311551099499069564171079015869201110545456255904193585273434081254059452811862129675093974250982936579887228882874661116315176416630690915908340291909195689451493364813512418484751632541565886070833092650728949382728531200937116782687618784427993723736395675913496445588912032415680418866655857381286029925237105853000067572488585314351936957829863748091110180060299913753932643135336421362721274987370197650903782453056996838664189910567143778528862792598783230226364224526187688035072353439511853641737426860131882734995573015806875730104496175516697303455084796576167617165693623770236181827433698948607246968794198970410133836641324231151030010899833943859375785803250756131382053031355491264742527251 2117310310088206531273637690384572522823464337628733187628894909310705897961876079162869099343493088816901501703809457847513326117847039455876267943473760497754304424761367005684068802556069647519168964251485751854723686015566863134408724083391927141997619983944883628176745749100624296584944131486074549948909149331398045641872335331230258650148990738913786536995596379308794576053556558110952489671045066910405588827170594307847275971099373232817438165664251195379394586568175885207979152225258922855944204126631396120376561785305870955793120218457611734873412089562160744160055191791315740919057335166441408105740413821975139171408011654473103520866032684258361996579989448382519636189879083506736310909557741429586365519671748968092175828557178040439830197632316365105976011004604016626736441653935080748664693532941606508537502040994959423490618766767789527462309252887568885887099230992164290053349715654450654500208932800806909967634116820787360735378599255107720263629259743933415083140783602988131411700333694173625482294714410235746817606916164316565420287219246683663602451964004854750718459636993592346663119200044760431939803363413449626057085851470845492295948329546353755559717952673084289335469920673149277606952586541695189799320662093686316918951962405143155679753304558680614914701539457117668702892670318131873015902441289636663726897048678523114657947624889173197720444727322692438508647932201735949339796280837419220662459289207353181477433209881256412523554798687303761893265030805994775213593956160492633342542740719087526345374411987486158279112367565481312749663591413764471397826951176889107595482094968069486074147840037880901176710544091065272567120766007712042546500214536716021727253812719958896583238666781013820013633614554596212473775817683157138603390879541002874532328065099652153320398209061697687664552299074733009240743808508682969162648715479227115530688590753715656835890214559938850164514732165440621354938964796354107736326379010861529381434195875438750994041813473500025604450995017603491935239116554388039620648331676054477912806453649315267518922244612498 3425880046453297539149933028512784706399132611331643854616661382688507998787574757107958192038848847657827187829640824795080964013738230983159852382355697450267622356706266015172074711438644589041634568056243293629742703845445763038470356539791746181373083056490620932427460471859908936002949972326449418396584685983763033288769888810385679331256600895190605113688869995610348014986844906636080609444251227292644708429482096004927693949425567675740395956934583762707917425877648381386189208794751044973405187095934367385290374425099430166095226063698560841692358480505137884901424578178833691346939613233954808907748500723522259754542274118294618081915298467009413913082808000994844780831273790786736135879853085128144833036728320127115757884159272139519304783500812664080717145190565973778208580919881912911789614401463447566603305862460268971961143721389552318962433073252102795232132145809789176750763530791025612224439991593638768937597873195794069375508743522786839502265196386854859547777176882187619394656677558000749892322409365004214784887076044163742855948631135977771155010807721337730001483741948028773595561924015085805058708112534416780894044844099564655810123896157732801349364710388941239615597478649014230304548802223657058911039143073891796823323827473897895852401870591848114394087270881038317266243169477426293625839994302074011235824819456783468309063929981036412314174977253003989608147001765907028355665481947964676918363482792626615558687269334068274653229892661554744829844918034877649874710271336909264033458649059379435541063863480850971791530852317113854315549662246857122126776333905420308532598877655688270502141563774276577090206989679977304982801184874367899927786244461953127580253880292447481897590603738843683761724724734656512387529750326292475024753600815990244729978968882105210317236873251608254808330827937525608023974034872907495350336750551580555042542232491142516967772949555511865971390462269936796871636268251438904312493996176555153151670377702872449942649060442294224574861128854244816166390146565287873564507707461857728668937835702346623010186987139749 5543190356541504070423570718897357229222596948960377042245556291999213896749450836270827291382341936474728689533450282642594290131585270439036120325829457948021926781467633020856143513994714236560803532307729045484466389861012626172879080623183673323370703040435504560604206220960533232587894103812523968345493835315161078930642224141615937981405591634104391650684466374919142591040401464747033099115296294203050297256652690312774969920524940908557834122598834958087312012445824266594168361020009967829349391222565763505666936210405301121888346282156172576565770570067298629061479769970149432265996948400396217013488914545497398925950285772767721602781331151267775909662797449377364417021152874293472446789410826557731198556400069095207933712716450179959134981133129029186693156195169990404945022573816993660454307934405054075140807903455228395451762488157341846424742326139671681119231376801953466804113246445476266724648924394445678905231990016581430110887342777894559765894456130788274630917960485175750806357011252174375374617123775239961602493992208480308276235850382661434757462771726192480719943378941621120258681124059846236998511475947866406951130695570410148106072225704086556909082663062025528951067399322163507911501388765352248710359805167578113742275789879041051532155175150528729308788810338155985969135839795558166641742435591710674962721868135306582967011554870209610034619704575696428116794933967642977695461762785383897580822771999979797036120479215324687176784691348858506723109948840872425088304227497401897376001389778466961886438275468337130070643219882595167065213253660621593524603285082309416128080972623757756576289403812157478266917533771042577549921950882079942474286458998669149307507693012406378480829270519857503775358339289252724861305568009449613628144480356993119262307033981757363637635082313305942472883127012258617264717843381590464512985466030807670573230823244858173803663164115450716135905194435377418226575233047793012048820375187416682533104573578311200936690873915794250179312123871848308101629263119675913185156039137912206581744289351661890529109231752247 8969070402994801609573503747410141935621729560292020896862217674687721895537025593378785483421190784132555877363091107437675254145323501422195972708185155398289549138173899036028218225433358825602438100363972339114209093706458389211349437162975419504743786096926125493031666692820442168590844076138973386742078521298924112219412112952001617312662192529294996764373336370529490606027246371383113708559547521495695005686134786317702663869950508584298230079533418720795229438323472647980357569814761012802754578318500130890957310635504731287983572345854733418258129050572436513962904348148983123612936561634351025921237415269019658680492559891062339684696629618277189822745605450372209197852426665080208582669263911685876031593128389222323691596875722319478439764633941693267410301385735964183153603493698906572243922335868501641744113765915497367412906209546894165387175399391774476351363522611742643554876777236501878949088915988084447842829863212375499486396086300681399268159652517643134178695137367363370201013688810175125266939533140244176387381068252644051132184481518639205912473579447530210721427120889649893854243048074932042057219588482283187845175539669974803916196121861819358258447373450966768566664877971177738216050190989009307621398948241469910565599617352938947384557045742376843702876081219194303235379009272984460267582429893784686198546687592090051276075484851246022348794681828700417724941935733550006051127244733348574499186254792606412594807748549392961830014584010413251552954866875750074963014498834311161409460038837846397427502138949188101862174072199709021380762915907478715651379618987729724660679850279446027078430967586434055357124523451019882532723135756447842402072703460622276887761573304853860378419874258701187537083064023909237248835318335742088652898081172983363992286002863862573954871955564914197281213954949784225288691878254497959863322216582388225615773055736000690771436113670962582107295656705314215098211501299231916361314371363971835684774951281183650879339934358088474754173252726093124268019409684963786749663746599769935250682125054008513539296218891996 14512260759536305679997074466307499164844326509252397939107773966686935792286476429649612774803532720607284566896541390080269544276908771861232093034014613346311475919641532056884361739428073062163241632671701384598675483567471015384228517786159092828114489137361630053635872913780975401178738179951497355087572356614085191150054337093617555294067784163399388415057802745448633197067647836130146807674843815698745302942787476630477633790475449492856064202132253678882541450769296914574525930834770980632103969541065894396624246845910032409871918628010905994823899620639735143024384118119132555878933510034747242934726329814517057606442845663830061287477960769544965732408402899749573614873579539373681029458674738243607230149528458317531625309592172499437574745767070722454103457580905954588098626067515900232698230270273555716884921669370725762864668697704236011811917725531446157470594899413696110358990023681978145673737840382530126748061853228956929597283429078575959034054108648431408809613097852539121007370700062349500641556656915484137989875060461124359408420331901300640669936351173722691441370499831271014112924172134778279055731064430149594796306235240384952022268347565905915167530036512992297517732277293341246127551579754361556331758753409048024307875407231979998916712220892905573011664891557350289204514849068542626909324865485495361161268555727396634243087039721455632383414386404396845841736869701192983746589007518732472080009026792586209630928227764717649006799275359271758276064815716622500051318726331713058785461428616313359313940414417525231932817292082304188445976169568100309175982904070039140788760822903203783654720371398591533624042057222062460082645086638527784876359162459291426195269266317260238859249144778558691312441403313161962110140886345191702281042561529976483254593036845619937592507037878220139754097081962042842553409721636088424376307682613195896189003878980858864575099277786413298243200851140691633324786734347024928410134746551388518217879524859494851816030808273882724933485376597941432369648672804639699934819785737682141832426414405670404068405450644243 23481331162531107289570578213717641100466056069544418835969991641374657687823502023028398258224723504739840444259632497517944798422232273283428065742199768744601025057815431092912579964861431887765679733035673723712884577273929404595577954949134512332858275234287755546667539606601417569769582256090470741829650877913009303369466450045619172606729976692694385179431139115978123803094894207513260516234391337194440308628922262948180297660425958077154294281665672399677770889092769562554883500649531993434858547859566025287581557481414763697855490973865639413082028671212171656987288466268115679491870071669098268855963745083536716286935405554892400972174590387822155555154008350121782812726006204453889612127938649929483261742656847539855316906467894818916014510401012415721513758966641918771252229561214806804942152606142057358629035435286223130277574907251130177199093124923220633821958422025438753913866800918480024622826756370614574590891716441332429083679515379257358302213761166074542988308235219902491208384388872524625908496190055728314377256128713768410540604813419939846582409930621252902162797620720920907967167220209710321112950652912432782641481774910359755938464469427725273425977409963959066084397155264518984343601770743370863953157701650517934873475024584918946301269266635282416714540972776544592439893858341527087176907295379280047359815243319486685519162524572701654732209068233097263566678805434742989797716252252081046579195281585192622225735976314110610836813859369685009829019682592372575014333225166024220194921467454159756741442553366713333794991364282013209826739085475579024827362523057768865449440673182649810733151338985025588981166580673082342615368222394975627278431865919913703083030839622114099237669019037259878849524467337071199358976204680933790933940642702959847246879039709482511547378993443134337035311036911827067842101599890586384239629899195584121804776934716859555346535391457375880350496507846005848422998235646256844771449117915360353902654476140678502695370742631971199687658629324034556637668082489603486684483532337452077083108539459678917607701669536239 37993591922067412969567652680025140265310382578796816775077765608061593480109978452678011033028256225347125011156173887598214342699141045144660158776214382090912500977456963149796941704289504949928921365707375108311560060841400419979806472735293605160972764371649385600303412520382392970948320436041968096917223234527094494519520787139236727900797760856093773594488941861426757000162542043643407323909235152893185611571709739578657931450901407570010358483797926078560312339862066477129409431484302974066962517400631919684205804327324796107727409601876545407905928291851906800011672584387248235370803581703845511790690074898053773893378251218722462259652551157367121287562411249871356427599585743827570641586613388173090491892185305857386942216060067318353589256168083138175617216547547873359350855628730707037640382876415613075513957104656948893142243604955366189011010850454666791292553321439134864272856824600458170296564596753144701338953569670289358680962944457833317336267869814505951797921333072441612215755088934874126550052846971212452367131189174892769949025145321240487252346281794975593604168120552191922080091392344488600168681717342582377437788010150744707960732816993631188593507446476951363602129432557860230471153350497732420284916455059565959181350431816898945217981487528187989726205864333894881644408707410069714086232160864775408521083799046883319762249564294157287115623454637494109408415675135935973544305259770813518659204308377778831856664204078828259843613134728956768105084498308995075065651951497737278980382896070473116055382967784238565727808656364317398272715255043679334003345427127808006238201496085853594387871710383617122605208637895144802698013309033503412154791028379205129278300105939374338096918163815818570161965870650233161469117091026125493214983204232936330501472076555102449139886031321354476789408118873869910395511321526674808615937581808780017993780813697718419921634669243789178593697358986697481747784969993281773181583864466748872120534001000173354511401550905853924621144005921975989007316755294243186619303318075134218915534953865349321676107120180482 61474923084598520259138230893742781365776438648341235611047757249436251167933480475706409291252979730086965455415806385116159141121373318428088224518414150835513526035272394242709521669150936837694601098743048832024444638115329824575384427684428117493831039605937141146970952126983810540717902692132438838746874112440103797888987237184855900507527737548788158773920080977404880803257436251156667840143626490087625920200632002526838229111327365647164652765463598478238083228954836039684292932133834967501821065260197944971787361808739559805582900575742184820987956963064078456998961050655363914862673653372943780646653819981590490180313656773614863231827141545189276842716419599993139240325591948281460253714552038102573753634842153397242259122527962137269603766569095553897130975514189792130603085189945513842582535482557670434142992539943172023419818512206496366210103975377887425114511743464573618186723625518938194919391353123759275929845286111621787764642459837090675638481630980580494786229568292344103424139477807398752458549037026940766744387317888661180489629958741180333834756212416228495766965741273112830047258612554198921281632370255015160079269785061104463899197286421356462019484856440910429686526587822379214814755121241103284238074156710083894054825456401817891519250754163470406440746837110439474084302565751596801263139456244055455880899042366370005281412088866858941847832522870591372975094480570678963342021512022894565238399589962971454082400180392938870680426994098641777934104180901367650079985176663761499175304363524632872796825521150951899522800020646330608099454340519258358830707950185576871687642169268503405121023049368642711586375218568227145313381531428479039433222894299118832361330945561488437334587182853078449011490337987304360828093295707059284148923846935896177748351116264584960687265024764488813824719155785696978237612921417261192855567481004364139798557748414577975268170060701165058944193866832703330170783205639538617953032982382109226023188477140851857206772293537825124308802635246010545644984837783846673303786850412586295998643493325028239283808789716721 99468515006665933228705883573767921631086821227138052386125522857497844648043458928384420324281235955434090466571980272714373483820514363572748383294628532926426027012729357392506463373440441787623522464450423940336004698956730244555190900419721722654803803977586526747274364647366203511666223128174406935664097346967198292408508024324092628408325498404881932368409022838831637803419978294800075164052861642980811531772341742105496160562228773217175011249261524556798395568816902516813702363618137941568783582660829864655993166136064355913310310177618730228893885254915985257010633635042612150233477235076789292437343894879644264073691907992337325491479692702556398130278830849864495667925177692109030895301165426275664245527027459254629201338588029455623193022737178692072748192061737665489953940818676220880222918358973283509656949644600120916562062117161862555221114825832554216407065064903708482459580450119396365215955949876903977268798855781911146445605404294923992974749500795086446584150901364785715639894566742272879008601883998153219111518507063553950438655104062420821087102494211204089371133861825304752127350004898687521450314087597597537517057795211849171859930103414987650612992302917861793288656020380239445285908471738835704522990611769649853236175888218716836737232241691658396166952701444334355728711273161666515349371617108830864401982841413253325043661653161016228963455977508085482383510155706614936886326771793708083897603898340750285939064384471767130524040128827598546039188679210362725145637128161498778155687259595105988852208488935190465250608677010648006372169595562937692834053377313384877925843665354356999508894759752259834191583856463371948011394840461982451588013922678323961639631051500862775431505346668897019173456208637537522297210386733184777363907051168832508249823192819687409827151056085843290614127274659566888633124242943936001471505062813144157792338562112296395189804729944954237537891225819400811918568175632820391134616846848858098143722478141025211718173844443679048929946641167986534652301593078089859923090168487720514914178447190377560959915909897203 160943438091264453487844114467510702996863259875479287997173280106934095815976939404090829615534215685521055921987786657830532624941887682000836607813042683761939553048001751635215985042591378625318123563193472772360449337072060069130575328104149840148634843583523667894245316774350014052384125820306845774410971459407302090297495261508948528915853235953670091142329103816236518606677414545956743004196488133068437451972973744632334389673556138864339664014725123035036478797771738556497995295751972909070604647921027809627780527944803915718893210753360915049881842217980063714009594685697976065096150888449733073083997714861234754254005564765952188723306834247745674972995250449857634908250769640390491149015717464378237999161869612651871460461115991592892796789306274245969879167575927457620557026008621734722805453841530953943799942184543292939981880629368358921431218801210441641521576808368282100646304075638334560135347303000663253198644141893532934210247864132014668613231131775666941370380469657129819064034044549671631467150921025093985855905824952215130928285062803601154921858706627432585138099603098417582174608617452886442731946457852612697596327580272953635759127389836344112632477159358772222975182608202618660100663592979938988761064768479733747291001344620534728256482995855128802607699538554773829813013838913263316612511073352886320282881883779623330325073742027875170811288500378676855358604636277293900228348283816602649136003488303721740021464564864706001204467122926240323973292860111730375225622304825260277330991623119738861649034010086142364773408697656978614471623936082196051664761327498961749613485834622860404629917809120902545777959075031599093324776371890461491021236816977442794000961997062351212766092529521975468184946546624841883125303682440244061512830898104728685998174309084272370514416080850332104438846430445263866870737164361197194327072543817508297590896310526874370457974790646119296482085092652104142089351381272359009087649829230967324166910955281877068924946137981504173238749276413997080297286430861936533226877018900306810912821940515405800243724699613924 260411953097930386716549998041278624627950081102617340383298802964431940464020398332475249939815451640955146388559766930544906108762402045573584991107671216688365580060731109027722448416031820412941646027643896712696454036028790313685766228523871562803438647561110194641519681421716217564050348948481252710075068806374500382706003285833041157324178734358552023510738126655068156410097392840756818168249349776049248983745315486737830550235784912081514675263986647591834874366588641073311697659370110850639388230581857674283773694080868271632203520930979645278775727472896048971020228320740588215329628123526522365521341609740879018327697472758289514214786526950302073103274081299722130576175947332499522044316882890653902244688897071906500661799704021048515989812043452938042627359637665123110510966827297955603028372200504237453456891829143413856543942746530221476652333627042995857928641873271990583105884525757730925351303252877567230467442997675444080655853268426938661587980632570753387954531371021915534703928611291944510475752805023247204967424332015769081366940166866021976008961200838636674509233464923722334301958622351573964182260545450210235113385375484802807619057493251331763245469462276634016263838628582858105386572064718774693284055380249383600527177232839251564993715237546787198774652239999108185541725112074929831961882690461717184684864725192876655368735395188891399774744477886762337742114791983908837114675055610310733033607386644472025960528949336473131728507251753838870012481539322093100371259432986759055486678882714844850501242499021332830024017374667626620843793531645133744498814704812346627539329499977217404138812568873162379969542931494971041336171212352443942609250739655766755640593048563213988197597876190872487358402755262379405422514069173428838876737949273561194247997501903959780341567136936175395052973705104830755503861407305133195798577606630652455383234872639170765647779520591073534019976318471504954007919556905179400222266676079825422310633433422902280643119982425183222168695917581983614949588023940026393149967187388027325827000387705783361203640609511127 421355391189194840204394112508789327624813340978096628380472083071366036279997337736566079555349667326476202310547553588375438733704289727574421598920713900450305133108732860662938433458623199038259769590837369485056903373100850382816341556628021402952073491144633862535764998196066231616434474768788098484486040265781802473003498547341989686240031970312222114653067230471304675016774807386713561172445837909117686435718289231370164939909341050945854339278711770626871353164360379629809692955122083759709992878502885483911554222025672187351096731684340560328657569690876112685029823006438564280425779011976255438605339324602113772581703037524241702938093361198047748076269331749579765484426716972890013193332600355032140243850766684558372122260820012641408786601349727184012506527213592580731067992835919690325833826042035191397256834013686706796525823375898580398083552428253437499450218681640272683752188601396065485486650555878230483666087139568977014866101132558953330201211764346420329324911840679045353767962655841616141942903726048341190823330156967984212295225229669623130930819907466069259647333068022139916476567239804460406914207003302822932709712955757756443378184883087675875877946621635406239239021236785476765487235657698713682045120148729117347818178577459786293250198233401916001382351778553882015354738950988193148574393763814603504967746608972499985693809137216766570586032978265439193100719428261202737343023339426913382169610874948193765981993514201179132932974374680079193985774399433823475596881737812019332817670505834583712150276509107475194797426072324605235315417467727329796163576032311308377152815334600077808768730377994064925747502006526570134660947584242905433630487556633209549641555045625565200963690405712847955543349301887221288547817751613672900389568847378289880246171810988232150855983217786507499491820135550094622374598571666330390125650150448160752974131183166045136105754311237192830502061411123609096097270938177538409309916505310792746477544388704779349568066120406687395407445193995980695246874454801962926376844206288334136739822328221189161447365309125051 681767344287125226920944110550067952252763422080713968763770886035797976744017736069041329495165118967431348699107320518920344842466691773148006590028385117138670713169463969690660881874655019451201415618481266197753357409129640696502107785151892965755512138705744057177284679617782449180484823717269351194561109072156302855709501833175030843564210704670774138163805357126372831426872200227470379340695187685166935419463604718107995490145125963027369014542698418218706227530949020703121390614492194610349381109084743158195327916106540458983300252615320205607433297163772161656050051327179152495755407135502777804126680934342992790909400510282531217152879888148349821179543413049301896060602664305389535237649483245686042488539663756464872784060524033689924776413393180122055133886851257703841578959663217645928862198242539428850713725842830120653069766122428801874735886055296433357378860554912263266858073127153796410837953808755797714133530137244421095521954400985891991789192396917173717279443211700960888471891267133560652418656531071588395790754488983753293662165396535645106939781108304705934156566532945862250778525862156034371096467548753033167823098331242559250997242376339007639123416083912040255502859865368334870873807722417488375329175528978500948345355810299037858243913470948703200157004018552990200896464063063122980536276454276320689652611334165376641062544532405657970360777456152201530842834220245111574457698395037224115203218261592665791942522463537652264661481626433918063998255938755916575968141170798778388304349388549428562651519008128808024821443446992231856159210999372463540662390737123655004692144834577295212907542946867227305717044938021541175997118796595349376239738296288976305282148094188779189161288281903720442901752057149600693970331820787101739266306796651851074494169312892191931197550354722682894544793840654925377878459978971463585924227757078813208357366055805215901753533831828266364522037729595114050105190495082717809532183181390618168788177822127681630211186102831870617576141111577964310196462478741989319526811393676361462566822715926972522651005918636178 1103122735476320067125338223058857279877576763058810597144242969107164013024015073805607409050514786293907551009654874107295783576170981500722428188949099017588975846278196830353599315333278218489461185209318635682810260782230491079318449341779914368707585629850377919713049677813848680796919298486057449679047149337938105328713000380517020529804242674982996252816872587597677506443647007614183940513141025594284621855181893949478160430054467013973223353821410188845577580695309400332931083569614278370059373987587628642106882138132212646334396984299660765936090866854648274341079874333617716776181186147479033242732020258945106563491103547806772920090973249346397569255812744798881661545029381278279548430982083600718182732390430441023244906321344046331333563014742907306067640414064850284572646952499137336254696024284574620247970559856516827449595589498327382272819438483549870856829079236552535950610261728549861896324604364634028197799617276813398110388055533544845321990404161263594046604355052380006242239853922975176794361560257119929586614084645951737505957390626205268237870601015770775193803899600968002167255093101960494778010674552055856100532811287000315694375427259426683515001362705547446494741881102153811636361043380116202057374295677707618296163534387758824151494111704350619201539355797106872216251203014051316129110670218090924194620357943137876626756353669622424540946810434417640723943553648506314311800721734464137497372829136540859557924515977738831397594456001113997257984030338189740051565022908610797721122019894384012274801795517236283219618869519316837091474628467099793336825966769434963381844960169177373021676273324861292231464546944548111310658066380838254809870225852922185854923703139814344390124978687616568398445101359036821982518149572400774639655875644030140954740341123880424082053533572509190394036613976205020000253058550637793976049877907526973961331497238971261037859288143065459195024099140718723146202461433260256218842099686701410915265722210832460979779252223238558012983586305573945005443336933543952245903655599964695599306645044148161684098371227761229 1784890079763445294046282333608925232130340185139524565908013855142961989768032809874648738545679905261338899708762194626216128418637673273870434778977484134727646559447660800044260197207933237940662600827799901880563618191360131775820557126931807334463097768556121976890334357431631129977404122203326800873608258410094408184422502213692051373368453379653770390980677944724050337870519207841654319853836213279451557274645498667586155920199592977000592368364108607064283808226258421036052474184106472980408755096672371800302210054238753105317697236914980971543524164018420435997129925660796869271936593282981811046858701193288099354400504058089304137243853137494747390435356157848183557605632045583669083668631566846404225220930094197488117690381868080021258339428136087428122774300916107988414225912162354982183558222527114049098684285699346948102665355620756184147555324538846304214207939791464799217468334855703658307162558173389825911933147414057819205910009934530737313779596558180767763883798264080967130711745190108737446780216788191517982404839134935490799619556022740913344810382124075481127960466133913864418033618964116529149107142100808889268355909618242874945372669635765691154124778789459486750244740967522146507234851102533690432703471206686119244508890198057862009738025175299322401696359815659862417147667077114439109646946672367244884272969277303253267818898202028082511307587890569842254786387868751425886258420129501361612576047398133525349867038441276483662255937627547915321982286276945656627533164079409576109426369282933440837453314525365091244440312966309068947633839466472256877488357506558618386537105003754668234583816271728519537181591882569652486655185177433604186109964149211162160205851234003123579286266969520288841346853416186422676488481393187876378922182440681992029234510436772616013251083927231873288581407816859945378131518529609257561974105664605787169688863294776476939612821974893725559546136870313837196307651928342974028374282868092029084053900032960142609990438326070428630559727417151909315639799412285941565430466993641057061873467760075134206749377146397407 2888012815239765361171620556667782512007916948198335163052256824250126002792047883680256147596194691555246450718417068733511911994808654774592862967926583152316622405725857630397859512541211456430123786037118537563373878973590622855139006468711721703170683398406499896603384035245479810774323420689384250552655407748032513513135502594209071903172696054636766643797550532321727844314166215455838260366977238873736179129827392617064316350254059990973815722185518795909861388921567821368983557753720751350468129084260000442409092192370965751652094221214641737479615030873068710338209799994414586048117779430460844289590721452233205917891607605896077057334826386841144959691168902647065219150661426861948632099613650447122407953320524638511362596703212126352591902442878994734190414714980958272986872864661492318438254246811688669346654845555863775552260945119083566420374763022396175071037019028017335168078596584253520203487162538023854109732764690871217316298065468075582635770000719444361810488153316460973372951599113083914241141777045311447569018923780887228305576946648946181582680983139846256321764365734881866585288712066077023927117816652864745368888720905243190639748096895192374669126141495006933244986622069675958143595894482649892490077766884393737540672424585816686161232136879649941603235715612766734633398870091165755238757616890458169078893327220441129894575251871650507052254398324987482978729941517257740198059141863965499109948876534674384907791554419015315059850393628661912579966316615135396679098186988020373830548389177317453112255110042601374464059182485625906039108467933572050214314324275993581768382065172932041256260089596589811768646138827117763797313251558271858995980190002133348015129554373817467969411245657136857239791954775223244659006630965588651018578058084712132983974851560653040095304617499741063682618021793064965378384577080247051538023983572132761131020360533747737977472110117959184754570236011032560342510113361603230247216382554793439999319622243792603589769690549308986643543313722725854321083136345829893811334122593605752661180112804223295890847748374158636 4672902895003210655217902890276707744138257133337859728960270679393087992560080693554904886141874596816585350427179263359728040413446328048463297746904067287044268965173518430442119709749144694370786386864918439443937497164950754630959563595643529037633781166962621873493718392677110940751727542892711051426263666158126921697558004807901123276541149434290537034778228477045778182184685423297492580220813452153187736404472891284650472270453652967974408090549627402974145197147826242405036031937827224330876884180932372242711302246609718856969791458129622709023139194891489146335339725655211455320054372713442655336449422645521305272292111663985381194578679524335892350126525060495248776756293472445617715768245217293526633174250618835999480287085080206373850241871015082162313189015897066261401098776823847300621812469338802718445339131255210723654926300739839750567930087561242479285244958819482134385546931439957178510649720711413680021665912104929036522208075402606319949549597277625129574371951580541940503663344303192651687921993833502965551423762915822719105196502671687094927491365263921737449724831868795731003322331030193553076224958753673634637244630523486065585120766530958065823250920284466419995231363037198104650830745585183582922781238091079856785181314783874548170970162054949264004932075428426597050546537168280194348404563562825413963166296497744383162394150073678589563561986215557325233516329386009166084317561993466860722524923932807910257658592860291798722106331256209827901948602892081053306631351067429949939974758460250893949708424567966465708499495451934974986742307400044307091802681782552200154919170176686709490843905868318331305827730709687416283968436735705463182090154151344510175335405607820591548697512626657146081138808191409667335495112358776527397500240525394125013209361997425656108555701426972936971199429609924910756516095609856309099998089236738548300709223828524214917084932092852910314116372881346397538817765289946204275590665422885469083373522276752746199760128875379415274103041139877763636722935758115835376764589587246809723053580564298430097597125520556043 7560915710242976016389523446944490256146174081536194892012527503643213995352128577235161033738069288371831801145596332093239952408254982823056160714830650439360891370899376060839979222290356150800910172902036977007311376138541377486098570064355250740804464565369121770097102427922590751526050963582095301978919073906159435210693507402110195179713845488927303678575779009367506026498851638753330840587790691026923915534300283901714788620707712958948223812735146198884006586069394063774019589691547975681345013265192372685120394438980684608621885679344264446502754225764557856673549525649626041368172152143903499626040144097754511190183719269881458251913505911177037309817693963142313995906954899307566347867858867740649041127571143474510842883788292332726442144313894076896503603730878024534387971641485339619060066716150491387791993976811074499207187245858923316988304850583638654356281977847499469553625528024210698714136883249437534131398676795800253838506140870681902585319597997069491384860104897002913876614943416276565929063770878814413120442686696709947410773449320633276510172348403767993771489197603677597588611043096270577003342775406538380006133351428729256224868863426150440492377061779473353240217985106874062794426640067833475412859004975473594325853739369691234332202298934599205608167791041193331683945407259445949587162180453283583042059623718185513056969401945329096615816384540544808212246270903266906282376703857432359832473800467482295165450147279307113781956724884871740481914919507216449985729538055450323770523147637568347061963534610567840172558677937560881025850775333616357306117006058545781923301235349618750747103995464908143074473869536805180081281688293977322178070344153477858190464959981638059518108758283794003320930762966632911994501743324365178416078298610106257997184213558078696203860318926714000653817451402989876134900672690103360638022072808871309431729584362271952894557042210812095068686608892378957881327878651549434522807047977678909082693144520545349789529819424688401917646354862603617957806072103945729188098712180852562384233693368521725988444873894714679 12233818605246186671607426337221198000284431214874054620972798183036301987912209270790065919879943885188417151572775595452967992821701310871519458461734717726405160336072894491282098932039500845171696559766955416451248873303492132117058133659998779778438245732331743643590820820599701692277778506474806353405182740064286356908251512210011318456254994923217840713354007486413284208683537062050823420808604143180111651938773175186365260891161365926922631903284773601858151783217220306179055621629375200012221897446124744927831696685590403465591677137473887155525893420656047003008889251304837496688226524857346154962489566743275816462475830933866839446492185435512929659944219023637562772663248371753184063636104085034175674301821762310510323170873372539100292386184909159058816792746775090795789070418309186919681879185489294106237333108066285222862113546598763067556234938144881133641526936666981603939172459464167877224786603960851214153064588900729290360714216273288222534869195274694620959232056477544854380278287719469217616985764712317378671866449612532666515969951992320371437663713667689731221214029472473328591933374126464130079567734160212014643377981952215321809989629957108506315627982063939773235449348144072167445257385653017058335640243066553451111035054153565782503172460989548469613099866469619928734491944427726143935566744016108997005225920215929896219363552019007686179378370756102133445762600289276072366694265850899220554998724400290205423108740139598912504063056141081568383863522399297503292360889122880273710497906097819241011671959178534305881058173389495856012593082733660664397919687841097982078220405526305460237947901333226474380301600246492596365250125029682785360160498304822368365800365589458651066806270910451149402069571158042579329996855683141705813578539135500383010393575555504352312416020353686937625016881012914786891416768299959669738020162045609857732438808190796167811641974303665005382802981773725355420145643941495638798397713400564378166066666797298095989289948300067817191749396002481381594529007862061564564863301768099372107287273932820156086041999415270722 19794734315489162687996949784165688256430605296410249512985325686679515983264337848025226953618013173560248952718371927546207945229956293694575619176565368165766051706972270552122078154329856995972606732668992393458560249442033509603156703724354030519242710297700865413687923248522292443803829470056901655384101813970445792118945019612121513635968840412145144391929786495780790235182388700804154261396394834207035567473073459088080049511869078885870855716019919800742158369286614369953075211320923175693566910711317117612952091124571088074213562816818151602028647646420604859682438776954463538056398677001249654588529710841030327652659550203748297698405691346689966969761912986779876768570203271060750411503962952774824715429392905785021166054661664871826734530498803235955320396477653115330177042059794526538741945901639785494029327084877359722069300792457686384544539788728519787997808914514481073492797987488378575938923487210288748284463265696529544199220357143970125120188793271764112344092161374547768256893231135745783546049535591131791792309136309242613926743401312953647947836062071457724992703227076150926180544417222734707082910509566750394649511333380944578034858493383258946808005043843413126475667333250946230239684025720850533748499248042027045436888793523257016835374759924147675221267657510813260418437351687172093522728924469392580047285543934115409276332953964336782795194755296646941658008871192542978649070969708331580387472524867772500588558887418906026286019781025953308865778441906513953278090427178330597481021053735387588073635493789102146053616851327056737038443858067277021704036693899643764001521640875924210985051896798134617454775469783297776446531813323660107538230842458300226556265325571096710584915029194245152723000334124675491324498599007506884229656837745606641007577789113583048516276339280400938278834332415904663026317440990063030376042234854481167164168392553068120706199016514477100451489590666104313301473522593045073321204761378243287248759811317843445778819767724756219109395750865084999552335079966007293752962013948951934491520967301341882074486873309985401 32028552920735349359604376121386886256715036511284304133958123869715817971176547118815292873497957058748666104291147522999175938051657604566095077638300085892171212043045165043404177086369357841144303292435947809909809122745525641720214837384352810297680956030032609057278744069121994136081607976531708008789284554034732149027196531822132832092223835335362985105283793982194074443865925762854977682204998977387147219411846634274445310403030444812793487619304693402600310152503834676132130832950298375705788808157441862540783787810161491539805239954292038757554541067076651862691328028259301034744625201858595809551019277584306144115135381137615137144897876782202896629706132010417439541233451642813934475140067037809000389731214668095531489225535037410927026916683712395014137189224428206125966112478103713458423825087129079600266660192943644944931414339056449452100774726873400921639335851181462677431970446952546453163710091171139962437527854597258834559934573417258347655057988546458733303324217852092622637171518855215001163035300303449170464175585921775280442713353305274019385499775739147456213917256548624254772477791349198837162478243726962409292889315333159899844848123340367453123633025907352899711116681395018397684941411373867592084139491108580496547923847676822799338547220913696144834367523980433189152929296114898237458295668485501577052511464150045305495696505983344468974573126052749075103771471481819051015765235559230800942471249268062706011667627558504938790082837167034877249641964305811456570451316301210871191518959833206829085307452967636451934675024716552593051036940800937686101956381740741746079742046402229671222999798131361091835077070029790372811781938353342892898391340763122594922065691160555361651721300104696302125069905282718070654495454690648590043235376881107024017971364669087400828692359634087875903851213428819449917734209290022700114062396900091024896607200743864288517840990818142105834292572439829668721619166534540712119602474778807665414826478115141541768109716024824036301145146867566381146864087828068858317825315717051306598808241234162038160528872725256123 51823287236224512047601325905552574513145641807694553646943449556395333954440884966840519827115970232308915057009519450545383883281613898260670696814865454057937263750017435595526255240699214837116910025104940203368369372187559151323371541108706840816923666327733474470966667317644286579885437446588609664173386368005177941146141551434254345728192675747508129497213580477974864679048314463659131943601393811594182786884920093362525359914899523698664343335324613203342468521790449046085206044271221551399355718868758980153735878934732579614018802771110190359583188713497256722373766805213764572801023878859845464139548988425336471767794931341363434843303568128892863599468044997197316309803654913874684886644029990583825105160607573880552655280196702282753761447182515630969457585702081321456143154537898239997165770988768865094295987277821004667000715131514135836645314515601920709637144765695943750924768434440925029102633578381428710721991120293788378759154930561228472775246781818222845647416379226640390894064749990960784709084835894580962256484722231017894369456754618227667333335837810605181206620483624775180953022208571933544245388753293712803942400648714104477879706616723626399931638069750766026186784014645964627924625437094718125832638739150607541984812641200079816173921980837843820055635181491246449571366647802070330981024592954894157099797008084160714772029459947681251769767881349396016761780342674362029664836205267562381329943774135835206600226514977410965076102618192988186115420406212325409848541743479541468672540013568594417158942946756738597988291876043609330089480798868214707805993075640385510081263687278153882208051694929495709289852539813088149258313751677003000436622183221422821478331016731652072236636329298941454848070239407393561978994053698155474272892214626713665025549153782670449344968698914488814182685545844724112944051650280085730490104631754572192060775593296932409224040007332619206285782163105933982023092689127585785440807236157050952663586289432984987546929483749580255410540897732651380699199167794076152070787329666003241090329208535503920235015746035241524 83851840156959861407205702026939460769860678318978857780901573426111151925617432085655812700613927291057581161300666973544559821333271502826765774453165539950108475793062600638930432327068572678261213317540888013278178494933084793043586378493059651114604622357766083528245411386766280715967045423120317672962670922039910090173338083256387177820416511082871114602497374460168939122914240226514109625806392788981330006296766727636970670317929968511457830954629306605942778674294283722217336877221519927105144527026200842694519666744894071153824042725402229117137729780573908585065094833473065607545649080718441273690568266009642615882930312478978571988201444911095760229174177007614755851037106556688619361784097028392825494891822241976084144505731739693680788363866228025983594774926509527582109267016001953455589596075897944694562647470764649611932129470570585288746089242475321631276480616877406428356738881393471482266343669552568673159518974891047213319089503978486820430304770364681578950740597078733013531236268846175785872120136198030132720660308152793174812170107923501686718835613549752637420537740173399435725499999921132381407866997020675213235289964047264377724554740063993853055271095658118925897900696040983025609566848468585717916778230259188038532736488876902615512469201751539964890002705471679638724295943916968568439320261440395734152308472234206020267725965931025720744341007402145091865551814156181080680601440826793182272415023403897912611894142535915903866185455360023063365062370518136866418993059780752339864058973401801246244250399724375049922966900760161923140517739669152393907949457381127256161005733680383553431051493060856801124929609842878522070095690030345893335013523984545416400396707892207433888357629403637756973140144690111632633489508388804064316127591507820689043520518451757850173661058548576690086536759273543562861785859570108430604167028654663216957382794040796697741880998150761312120074735545763650744711855662126497560409710935858618078412767548126529315039199774404291711686044600217761846063255622145010388612645383054547689137449769665958395544618760497647 135675127393184373454807027932492035283006320126673411427845022982506485880058317052496332527729897523366496218310186424089943704614885401087436471268030994008045739543080036234456687567767787515378123342645828216646547867120643944366957919601766491931528288685499557999212078704410567295852482869708927337136057290045088031319479634690641523548609186830379244099710954938143803801962554690173241569407786600575512793181686820999496030232829492210122174289953919809285247196084732768302542921492741478504500245894959822848255545679626650767842845496512419476720918494071165307438861638686830180346672959578286737830117254434979087650725243820342006831505013039988623828642222004812072160840761470563304248428127018976650600052429815856636799785928441976434549811048743656953052360628590849038252421553900193452755367064666809788858634748585654278932844602084721125391403758077242340913625382573350179281507315834396511368977247933997383881510095184835592078244434539715293205551552182904424598156976305373404425301018837136570581204972092611094977145030383811069181626862541729354052171451360357818627158223798174616678522208493065925653255750314388017177690612761368855604261356787620252986909165408884952084684710686947653534192285563303843749416969409795580517549130076982431686391182589383784945637886962926088295662591719038899420344854395289891252105480318366735039755425878706972514108888751541108627332156830543110345437646094355563602358797539733119212120657513326868942288073553011249480482776730462276267534803260293808536598986970395663403193346481113647911258776803771253229998538537367101713942533021512766242269420958537435639103187990352510414782149655966671328409441707348893771635707205968237878727724623859506124993958702579211821210384097505194612483562086959538589019806134534354069069672234428299518629757463065504269222305118267675805837509850194161094271660409235409018158387337729106965921005483380518405856898651697632767804544789712283001216947092909570741999056981111516861968683523984547122226942332869142545262423416221162459399975049057788779466658305169878630560364795739171 219526967550144234862012729959431496052866998445652269208746596408617637805675749138152145228343824814424077379610853397634503525948156903914202245721196533958154215336142636873387119894836360193639336660186716229924726362053728737410544298094826143046132911043265641527457490091176848011819528292829245010098728212084998121492817717947028701369025697913250358702208329398312742924876794916687351195214179389556842799478453548636466700550759460721580005244583226415228025870379016490519879798714261405609644772921160665542775212424520721921666888221914648593858648274645073892503956472159895787892322040296728011520685520444621703533655556299320578819706457951084384057816399012426828011877868027251923610212224047369476094944252057832720944291660181670115338174914971682936647135555100376620361688569902146908344963140564754483421282219350303890864974072655306414137493000552563972190105999450756607638246197227867993635320917486566057041029070075882805397333938518202113635856322547586003548897573384106417956537287683312356453325108290641227697805338536604243993796970465231040771007064910110456047695963971574052404022208414198307061122747335063230412980576808633233328816096851614106042180261067003877982585406727930679143759134031889561666195199668983619050285618953885047198860384340923749835640592434605727019958535636007467859665115835685625404413952552572755307481391809732693258449896153686200492883970986724191026039086921148745874773820943631031824014800049242772808473528913034312845545147248599142686527863041046148400657960372196909647443746205488697834225677563933176370516278206519495621891990402640022403275154638920989070154681051209311539711759498845193398505131737694787106649231190513654279124432516066940013351588106216968794350528787616827245973070475763602905147397642355043112590190686186149692290816011642194355759064391811238667623369420302591698438689063898625975541181378525804707802003634141830525931634197461283512516400451838780561626658028768188820411824529238046177007883298388838833912986933086904391325679038366172848012620432112336468604108074835837026104983556236818 355202094943328608316819757891923531335873318572325680636591619391124123685734066190648477756073722337790573597921039821724447230563042305001638716989227527966199954879222673107843807462604147709017460002832544446571274229174372681777502217696592634977661199728765199526669568795587415307672011162538172347234785502130086152812297352637670224917634884743629602801919284336456546726839349606860592764621965990132355592660140369635962730783588952931702179534537146224513273066463749258822422720207002884114145018816120488391030758104147372689509733718427068070579566768716239199942818110846725968238994999875014749350802774879600791184380800119662585651211470991073007886458621017238900172718629497815227858640351066346126694996681873689357744077588623646549887985963715339889699496183691225658614110123802340361100330205231564272279916967935958169797818674740027539528896758629806313103731382024106786919753513062264505004298165420563440922539165260718397475578373057917406841407874730490428147054549689479822381838306520448927034530080383252322674950368920415313175423833006960394823178516270468274674854187769748669082544416907264232714378497649451247590671189570002088933077453639234359029089426475888830067270117414878332677951419595193405415612169078779199567834749030867478885251566930307534781278479397531815315621127355046367280009970230975516656519432870939490347236817688439665772558784905227309120216127817267301371476733015504309477132618483364151036135457562569641750761602466045562326027923979061418954062666301339956937256947342592573050637092686602345745484454367704429600514816743886597335834523424152788645544575597458424709257869041561821954493909154811864726914573445043680878284938396481892157852157139926446138345546808796180615560912885122021858456632562723141494167203776889397181659862920614449210920573474707698624981369510078914473460879270496752792710349473134034993699568716254911673723009117522348931788532849158916280320945241551063562843605121677759562410881510349563038976566822373385956139929265956046936588102454587335307412595481170125248070766380005715656665348351975989 574729062493472843178832487851355027388740317017977949845338215799741761491409815328800622984417547152214650977531893219358950756511199208915840962710424061924354170215365309981230927357440507902656796663019260676496000591228101419188046515791418778023794110772030841054127058886764263319491539455367417357333513714215084274305115070584698926286660582656879961504127613734769289651716144523547943959836145379689198392138593918272429431334348413653282184779120372639741298936842765749342302518921264289723789791737281153933805970528668094611176621940341716664438215043361313092446774583006621756131317040171742760871488295324222494718036356418983164470917928942157391944275020029665728184596497525067151468852575113715602789940933931522078688369248805316665226160878687022826346631738791602278975798693704487269445293345796318755701199187286262060662792747395333953666389759182370285293837381474863394557999710290132498639619082907129497963568235336601202872912311576119520477264197278076431695952123073586240338375594203761283487855188673893550372755707457019557169220803472191435594185581180578730722550151741322721486566625321462539775501244984514478003651766378635322261893550490848465071269687542892708049855524142809011821710553627082967081807368747762818618120367984752526084111951271231284616919071832137542335579662991053835139675086066661142060933385423512245654718209498172359031008681058913509613100098803991492397515819936653055351906439426995182860150257611812414559235131379079875171573071227660561640590529342386105337914907714789482698080838892091043579710131931637605971031094950406092957726513826792811048819730236379413779412550092771133494205668653657058125419705182738467984934169586995546436976589655993386151697134915013149409911441672738849104429703038486744399314601419244440294250053606800598903211389486349892980740433901890153141084248690799344491149038537032660969240750094780716381525012751664179457720167046620199792837345693389844124470263150445948382822706039587609215984450120762224790052916199042951327913781492953508155425215913282461716674874454841552682770331908212807 929931157436801451495652245743278558724613635590303630481929835190865885177143881519449100740491269490005224575452933041083397987074241513917479679699651589890554125094587983089074734820044655611674256665851805123067274820402474100965548733488011413001455310500796040580796627682351678627163550617905589704568299216345170427117412423222369151204295467400509564306046898071225836378555494130408536724458111369821553984798734287908392162117937366584984364313657518864254572003306515008164725239128267173837934810553401642324836728632815467300686355658768784735017781812077552292389592693853347724370312040046757510222291070203823285902417156538645750122129399933230399830733641046904628357315127022882379327492926180061729484937615805211436432446837428963215114146842402362716046127922482827937589908817506827630545623551027883027981116155222220230460611422135361493195286517812176598397568763498970181477753223352397003643917248327692938886107400597319600348490684634036927318672072008566859843006672763066062720213900724210210522385269057145873047706076377434870344644636479151830417364097451047005397404339511071390569111042228726772489879742633965725594322955948637411194971004130082824100359114018781538117125641557687344499661973222276372497419537826542018185955117015620004969363518201538819398197551229669357651200790346100202419685056297636658717452818294451736001955027186612024803567465964140818733316226621258793768992552952157364829039057910359333896285715174382056309996733845125437497600995206721980594653195643726062275171855057382055748717931578693389325194586299342035571545911694292690293561037250945599694364305833837838488670419134332955448699577808468922852334278627782148863219107983477438594828746795919832290042681723809330025472354557860870962886335601209885893481805196133837475909916527415048114131962961057591605721803411969067614545127961296097283859388010166695962940318811035628055248021869186528389508699895779116073158290934940907687313868272123707945233587549937172254961016943135610746192845464998998264501883947540843462837811394452586964745640834847268339435680260188796 1504660219930274294674484733594633586113353952608281580327268050990607646668553696848249723724908816642219875552984826260442348743585440722833320642410075651814908295309953293070305662177485163514331053328871065799563275411630575520153595249279430191025249421272826881634923686569115941946655090073273007061901812930560254701422527493807068077490956050057389525810174511805995126030271638653956480684294256749510752376937328206180821593452285780238266549092777891503995870940149280757507027758049531463561724602290682796258642699161483561911862977599110501399455996855438865384836367276859969480501629080218500271093779365528045780620453512957628914593047328875387791775008661076570356541911624547949530796345501293777332274878549736733515120816086234279880340307721089385542392759661274430216565707511211314899990916896824201783682315342508482291123404169530695446861676276994546883691406144973833576035752933642529502283536331234822436849675635933920803221402996210156447795936269286643291538958795836652303058589494927971494010240457731039423420461783834454427513865439951343266011549678631625736119954491252394112055677667550189312265380987618480203597974722327272733456864554620931289171628801561674246166981165700496356321372526849359339579226906574304836804075485000372531053475469472770104015116623061806899986780453337154037559360142364297800778386203717963981656673236684784383834576147023054328346416325425250286166508372888810420180945497337354516756435972786194470869231865224205312669174066434382542235243724986112167613086762772171538446798770470784432904904718230979641542577006644698783251287551077738410743184036070217252268082969227104088942905246462125980977753983810520616848153277570472985031805336451913218441739816638822479435383796230599720067316038639696630292796406615378277770159970134215647017343352447407484586462237313859220755629376652095441775008426547199356932181068905816344436773034620850707847228866942399315865995636628330751811784131422569656328056293589524781470945467063897835536245761664041949592415665440494351618263027307735048681420515289688821022206012168401603 2434591377367075746170136979337912144837967588198585210809197886181473531845697578367698824465400086132225100128437759301525746730659682236750800322109727241705462420404541276159380396997529819126005309994722870922630550232033049621119143982767441604026704731773622922215720314251467620573818640691178596766470112146905425128539939917029437228695251517457899090116221409877220962408827132784365017408752368119332306361736062494089213755570223146823250913406435410368250442943455795765671752997177798637399659412844084438583479427794299029212549333257879286134473778667516417677225959970713317204871941120265257781316070435731869066522870669496274664715176728808618191605742302123474984899226751570831910123838427473839061759816165541944951553262923663243095454454563491748258438887583757258154155616328718142530536540447852084811663431497730702521584015591666056940056962794806723482088974908472803757513506156994926505927453579562515375735783036531240403569893680844193375114608341295210151381965468599718365778803395652181704532625726788185296468167860211889297858510076430495096428913776082672741517358830763465502624788709778916084755260730252445929192297678275910144651835558751014113271987915580455784284106807258183700821034500071635712076646444400846854990030602015992536022838987674308923413314174291476257637981243683254239979045198661934459495839022012415717658628263871396408638143612987195147079732552046509079935500925840967785009984555247713850652721687960576527179228599069330750166775061641104522829896920629838229888258617829553594195516702049477822230099304530321677114122918338991473544848588328684010437548341904055090756753388361437044391604824270594903830088262438302765711372385553950423626634083247833050731782498362631809460856150788460591030202374240906516186278211811512115246069886661630695131475315408465076192184040725828288370174504613391539058867814557366052895121387716851972492021056490037236236737566838178431939153927563271659499097999694693364273289881139461953725906484007033446282438607129040947856917549388035195081100838702187635646166156124536089361641692428590399 3939251597297350040844621712932545730951321540806866791136465937172081178514251275215948548190308902774444975681422585561968095474245122959584120964519802893520370715714494569229686059175014982640336363323593936722193825643663625141272739232046871795051954153046449803850644000820583562520473730764451603828371925077465679829962467410836505306186207567515288615926395921683216088439098771438321498093046624868843058738673390700270035349022508927061517462499213301872246313883605076523178780755227330100961384015134767234842122126955782591124412310856989787533929775522955283062062327247573286685373570200483758052409849801259914847143324182453903579308224057684005983380750963200045341441138376118781440920183928767616394034694715278678466674079009897522975794762284581133800831647245031688370721323839929457430527457344676286595345746840239184812707419761196752386918639071801270365780381053446637333549259090637456008210989910797337812585458672465161206791296677054349822910544610581853442920924264436370668837392890580153198542866184519224719888629644046343725372375516381838362440463454714298477637313322015859614680466377329105397020641717870926132790272400603182878108700113371945402443616717142130030451087972958680057142407026920995051655873350975151691794106087016365067076314457147079027428430797353283157624761697020408277538405341026232260274225225730379699315301500556180792472719760010249475426148877471759366102009298729778205190930052585068367409157660746770998048460464293536062835949128075487065065140645615950397501345380601725132642315472520262255135004022761301318656699924983690256796136139406422421180732377974272343024836357588541133334510070732720884807842246248823382559525663124423408658439419699746269173522315001454288896239947019060311097518412880603146479074618426890393016229856795846342148818667855872560778646278039687509125803881265486980833876241104565409827302456622668316928794091110887944083966433780577747805149564191602411310882131117263020601346174728986735196851951070931281818684368793082897449333214828529546699363866009922684327586671414224910383847704596992002 6373842974664425787014758692270457875789289129005452001945663823353554710359948853583647372655708988906670075809860344863493842204904805196334921286629530135225833136119035845389066456172544801766341673318316807644824375875696674762391883214814313399078658884820072726066364315072051183094292371455630200594842037224371104958502407327865942534881459084973187706042617331560437050847925904222686515501798992988175365100409453194359249104592732073884768375905648712240496756827060872288850533752405128738361043427978851673425601554750081620336961644114869073668403554190471700739288287218286603890245511320749015833725920236991783913666194851950178244023400786492624174986493265323520326340365127689613351044022356241455455794510880820623418227341933560766071249216848072882059270534828788946524876940168647599961063997792528371407009178337969887334291435352862809326975601866607993847869355961919441091062765247632382514138443490359853188321241708996401610361190357898543198025152951877063594302889733036089034616196286232334903075491911307410016356797504258233023230885592812333458869377230796971219154672152779325117305255087108021481775902448123372061982570078879093022760535672122959515715604632722585814735194780216863757963441526992630763732519795375998546784136689032357603099153444821387950841744971644759415262742940703662517517450539688166719770064247742795416973929764427577201110863372997444622505881429518268446037510224570745990200914607832782218061879348707347525227689063362866813002724189716591587895037566245788627389603998431278726837832174569740077365103327291622995770822843322681730340984727735106431618280719878327433781589745949978177726114895003315788637930508687126148270898048678373832285073502947579319905304813364086098357096097807520902127720787121509662665352830238402508262299743457477037280293983264337636970830318765515797495978385878878519892744055661931462722423844339520289420815147600925180320704000618756179744303491754874070809980130811956384874636055868448688922758435077964728101122975922123845306250764216564741780464704712110319973752827538760999745489397025582401 10313094571961775827859380405203003606740610669812318793082129760525635888874200128799595920846017891681115051491282930425461937679149928155919042251149333028746203851833530414618752515347559784406678036641910744367018201519360299903664622446861185194130613037866522529917008315892634745614766102220081804423213962301836784788464874738702447841067666652488476321969013253243653139287024675661008013594845617857018423839082843894629284453615241000946285838404862014112743070710665948812029314507632458839322427443113618908267723681705864211461373954971858861202333329713426983801350614465859890575619081521232773886135770038251698760809519034404081823331624844176630158367244228523565667781503503808394791964206285009071849829205596099301884901420943458289047043979132654015860102182073820634895598264008577057391591455137204658002354925178209072146998855114059561713894240938409264213649737015366078424612024338269838522349433401157191000906700381461562817152487034952893020935697562458917037223813997472459703453589176812488101618358095826634736245427148304576748603261109194171821309840685511269696791985474795184731985721464437126878796544165994298194772842479482275900869235785494904918159221349864715845186282753175543815105848553913625815388393146351150238578242776048722670175467901968466978270175768998042572887504637724070795055855880714398980044289473473175116289231264983757993583583133007694097932030306990027812139519523300524195391844660417850585471037009454118523276149527656402875838673317792078652960178211861739024890949379033003859480147647090002332500107350052924314427522768306371987137120867141528852799013097852599776806426103538519311060624965736036673445772754935949530830423711802797240943512922647325589078827128365540387253336044826581213225239200002112809144427448665292901278529600253323379429112651120210197749476596805203306621782267144365500726620296766496872549726300962188606349609238711813124404670434399333927549453055946476482120862261929219405475982230597435424119610386148896009919807344715206742755583979045094288479828570722033004301339498952985910129337101622574403 16686937546626201614874139097473461482529899798817770795027793583879190599234148982383243293501726880587785127301143275288955779884054733352253963537778863163972036987952566260007818971520104586173019709960227552011842577395056974666056505661675498593209271922686595255983372630964685928709058473675712005018055999526207889746967282066568390375949125737461664028011630584804090190134950579883694529096644610845193788939492297088988533558207973074831054214310510726353239827537726821100879848260037587577683470871092470581693325236455945831798335599086727934870736883903898684540638901684146494465864592841981789719861690275243482674475713886354260067355025630669254333353737493847085994121868631498008143008228641250527305623716476919925303128762877019055118293195980726897919372716902609581420475204177224657352655452929733029409364103516178959481290290466922371040869842805017258061519092977285519515674789585902221036487876891517044189227942090457964427513677392851436218960850514335980631526703730508548738069785463044823004693850007134044752602224652562809771834146702006505280179217916308240915946657627574509849290976551545148360572446614117670256755412558361368923629771457617864433874825982587301659921477533392407573069290080906256579120912941727148785362379465081080273274621346789854929111920740642801988150247578427733312573306420402565699814353721215970533263161029411335194694446506005138720437911736508296258177029747871270185592759268250632803532916358161466048503838591019269688841397507508670240855215778107527652280553377464282586317979821659742409865210677344547310198345611629053717478105594876635284417293817730927210588015849488497488786739860739352462083703263623075679101321760481171073228586425594904908984131941729626485610432142634102115352959987123622471809780278903695409540829343710800416709406634384547834720306915570719104117760653023244020619364352428428335272150145301708895770424386312738304725374435018090107293756547701350552930842392741175790350618286465884113042368821226860738020930320637330588061834743261659030260293275434143324275092326491746909874826498648156804 27000032118587977442733519502676465089270510468630089588109923344404826488108349111182839214347744772268900178792426205714417717563204661508173005788928196192718240839786096674626571486867664370579697746602138296378860778914417274569721128108536683787339884960553117785900380946857320674323824575895793809441269961828044674535432156805270838217016792389950140349980643838047743329421975255544702542691490228702212212778575140983617818011823214075777340052715372740465982898248392769912909162767670046417005898314206089489961048918161810043259709554058586796073070213617325668341989516150006385041483674363214563605997460313495181435285232920758341890686650474845884491720981722370651661903372135306402934972434926259599155452922073019227188030183820477344165337175113380913779474898976430216316073468185801714744246908066937687411719028694388031628289145580981932754764083743426522275168829992651597940286813924172059558837310292674235190134642471919527244666164427804329239896548076794897668750517727981008441523374639857311106312208102960679488847651800867386520437407811200677101489058601819510612738643102369694581276698015982275239368990780111968451528255037843644824499007243112769352034047332452017505107760286567951388175138634819882394509306088078299023940622241129802943450089248758321907382096509640844561037752216151804107629162301116964679858643194689145649552392294395093188278029639012832818369942043498324070316549271171794380984603928668483389003953367615584571779988118675672564680070825300748893815393989969266677171502756497286445798127468749744742365318027397471624625868379935425704615226462018164137216306915583526987394441953027016799847364826475389135529476018559025209931745472283968314172099348242230498062959070095166872863768187460683328578199187125735280954207727568988310819358943964123796138519285504758032469783512375922410739542920167609521345984649194925207821876446263897502120033625024551429130044869417424034843209603647827035051704654670395195826600517063319537161979207375756747940737665352537330817418722306753318740121846156176328576431825444732820004163600270731207 43686969665214179057607658600149926571800410267447860383137716928284017087342498093566082507849471652856685306093569481003373497447259394860426969326707059356690277827738662934634390458387768956752717456562365848390703356309474249235777633770212182380549156883239713041883753577822006603032883049571505814459325961354252564282399438871839228592965918127411804377992274422851833519556925835428397071788134839547406001718067438072606351570031187150608394267025883466819222725786119591013789011027707633994689369185298560071654374154617755875058045153145314730943807097521224352882628417834152879507348267205196353325859150588738664109760946807112601958041676105515138825074719216217737656025240766804411077980663567510126461076638549939152491158946697496399283630371094107811698847615879039797736548672363026372096902360996670716821083132210566991109579436047904303795633926548443780336687922969937117455961603510074280595325187184191279379362584562377491672179841820655765458857398591130878300277221458489557179593160102902134111006058110094724241449876453430196292271554513207182381668276518127751528685300729944204430567674567527423599941437394229638708283667596205013748128778700730633785908873315039319165029237819960358961244428715726138973630219029805447809303001706210883216724710595548176836494017250283646549187999794579537420202468721519530379672996915905116182815553323806428382972476145017971538807853780006620328493579019043064566577363196919116192536869725777050620283826709694942253521468332809419134670609768076794329452056133961569032116107290409487152230528704742018934824213991564479422093332056894799421633600733314454197982457802515514288634104687214741597613179282182100889033067232765139387400685773837135407047091011824793358474200330094785443931159174249357752763988006472683720360188287674924212847925919889305867190090427946641514857303573190853541965349001623353543094026591565606397890458011337289733855419304435514142136966151349177587982547047411570986177218803529203650204348028602617485961667985989867918879253465568412349000415121590319652851524151936479729878990098918888011 70687001783802156500341178102826391661070920736077949971247640272688843575450847204748921722197216425125585484885995686717791215010464056368599975115635255549408518667524759609260961945255433327332415203164504144769564135223891523805498761878748866167889041843792830827784134524679327277356707625467299623900595923182297238817831595677110066809982710517361944727972918260899576848978901090973099614479625068249618214496642579056224169581854401226385734319741256207285205624034512360926698173795377680411695267499504649561615423072779565918317754707203901527016877311138550021224617933984159264548831941568410916931856610902233845545046179727870943848728326580361023316795700938588389317928612902110814012953098493769725616529560622958379679189130517973743448967546207488725478322514855470014052622140548828086841149269063608404232802160904955022737868581628886236550398010291870302611856752962588715396248417434246340154162497476865514569497227034297018916846006248460094698753946667925775969027739186470565621116534742759445217318266213055403730297528254297582812708962324407859483157335119947262141423943832313899011844372583509698839310428174341607159811922634048658572627785943843403137942920647491336670136998106528310349419567350546021368139525117883746833243623947340686160174799844306498743876113759924491110225752010731341527831631022636495059531640110594261832367945618201521571250505784030804357177795823504944398810128290214858947561967125587599581540823093392635192063814828370614818201539158110168028486003758046061006623558890458855477914234759159231894595846732139490559450082371499905126708558518912963558849907648897981185376899755542531088481469513690130733142655300741126098964812705049107701572785122079365905110050081919960231337968517555468772509358361375093033718195734041672031179547231639048008986445205394063899659873940322563925596846493358463063311333650818278750915903037829503900010491636361841162985464173852938176980175754997004623034251702081966182003819320592523187366327235978374233902405651342405249696672187875165667740536967746495981427955977381212549883153699189619218 114373971449016335557948836702976318232871331003525810354385357200972860662793345298315004230046688077982270790979565167721164712457723451229026944442342314906098796495263422543895352403643202284085132659726869993160267491533365773041276395648961048548438198727032543869667888102501333880389590675038805438359921884536549803100231034548949295402948628644773749105965192683751410368535826926401496686267759907797024216214710017128830521151885588376994128586767139674104428349820631951940487184823085314406384636684803209633269797227397321793375799860349216257960684408659774374107246351818312144056180208773607270257715761490972509654807126534983545806770002685876162141870420154806126973953853668915225090933762061279852077606199172897532170348077215470142732597917301596537177170130734509811789170812911854458938051630060279121053885293115522013847448017676790540346031936840314082948544675932525832852210020944320620749487684661056793948859811596674510589025848069115860157611345259056654269304960644960122800709694845661579328324324323150127971747404707727779104980516837615041864825611638075013670109244562258103442412047151037122439251865568571245868095590230253672320756564644574036923851793962530655835166235926488669310663996066272160341769744147689194642546625653551569376899510439854675580370131010208137659413751805310878948034099744156025439204637026499378015183498942007949954222981929048775895985649603511564727303707309257923514139330322506715774077692819169685812347641538065557071723007490919587163156613526122855336075615024420424510030342049568719046826375436881509494274296363064384548801890575807762980483508382212435383359357558058045377115574200904872330755834582923226987997879937814247088973470895916501312157141093744753589812168847650254216440517535624450786482183740514355751539735519313972221834371125283369766849964368269205440454150066549316605276682652441632294009929629395110297900949647699130896840883478288452319117141906346182211016798749493537168181038124121726837570675264580991719864073637332273168575925653443578016740952089336815634279480129317692279762143798108507229 185060973232818492058290014805802709893942251739603760325632997473661704238244192503063925952243904503107856275865560854438955927468187507597626919557977570455507315162788182153156314348898635611417547862891374137929831626757257296846775157527709914716327240570825374697452022627180661157746298300506105062260517807718847041918062630226059362212931339162135693833938110944650987217514728017374596300747384976046642430711352596185054690733739989603379862906508395881389633973855144312867185358618462994818079904184307859194885220300176887711693554567553117784977561719798324395331864285802471408605012150342018187189572372393206355199853306262854489655498329266237185458666121093394516291882466571026039103886860555049577694135759795855911849537207733443886181565463509085262655492645589979825841792953460682545779200899123887525286687454020477036585316599305676776896429947132184385560401428895114548248458438378566960903650182137922308518357038630971529505871854317575954856365291926982430238332699831430688421826229588421024545642590536205531702044932962025361917689479162022901347982946758022275811533188394572002454256419734546821278562293742912853027907512864302330893384350588417440061794714610021992505303234033016979660083563416818181709909269265572941475790249600892255537074310284161174324246244770132628769639503816042220475865730766792520498736277137093639847551444560209471525473487713079580253163445427016509126113835599472782461701297448094315355618515912562321004411456366436171889924546649029755191642617284168916342699173914879279987944576808727950941422222169021000053724378734564289675510449094720726539333416031110416568736257313600576465597043714595003063898489883664353086962692642863354790546256017995867217267191175664713821150137365205722988949875896999543820200379474556027782719282750953020230820816330677433666509838308591769366050996559907779668588016303259911044925832667224614197911441284060972059826347652141390496097317661343186834051050451575503350184857444714250024937002500559365953766479288674678418272597841318743684481489057083311615707436106698904829645297497298126447 299434944681834827616238851508779028126813582743129570680018354674634564901037537801378930182290592581090127066845126022160120639925910958826653864000319885361606111658051604697051666752541837895502680522618244131090099118290623069888051553176670963264765439297857918567119910729681995038135888975544910500620439692255396845018293664775008657615879967806909442939903303628402397586050554943776092987015144883843666646926062613313885211885625577980373991493275535555494062323675776264807672543441548309224464540869111068828155017527574209505069354427902334042938246128458098769439110637620783552661192359115625457447288133884178864854660432797838035462268331952113347600536541248200643265836320239941264194820622616329429771741958968753444019885284948914028914163380810681799832662776324489637630963766372537004717252529184166646340572747135999050432764616982467317242461883972498468508946104827640381100668459322887581653137866798979102467216850227646040094897702386691815013976637186039084507637660476390811222535924434082603873966914859355659673792337669753141022669995999637943212808558396097289481642432956830105896668466885583943717814159311484098896003103094556003214140915232991476985646508572552648340469469959505648970747559483090342051679013413262136118336875254443824913973820724015849904616375780340766429053255621353099423899830510948545937940914163593017862734943502217421479696469642128356149149095030528073853417542908730705975840627770601031129696208731732006816759097904501728961647554139949342354799230810291771678774788939299704497974918858296669988248597605902509547998675097628674224312339670528489519816924413322851952095614871658621842712617915499875394654324466587580074960572580677601879519726913912368529424332269409467410962306212855977205390393432623994606682563215070383534259018270266992452655187455960803433359802676860974806505146626457096273864698955701543338935762296619724495812390931760102956667231130429842815214459567689369045067849201069040518365895568835976862507677765140357673630552926006951586848523494762321701222441146420127249986916236016597109407441295406633676 484495917914653319674528866314581738020755834482733331005651352148296269139281730304442856134534497084197983342710686876599076567394098466424280783558297455817113426820839786850207981101440473506920228385509618269019930745047880366734826710704380877981092679868683293264571933356862656195882187276051015562880957499974243886936356295001068019828811306969045136773841414573053384803565282961150689287762529859890309077637415209498939902619365567583753854399783931436883696297530920577674857902060011304042544445053418928023040237827751097216762908995455451827915807848256423164770974923423254961266204509457643644636860506277385220054513739060692525117766661218350533059202662341595159557718786810967303298707483171379007465877718764609355869422492682357915095728844319767062488155421914469463472756719833219550496453428308054171627260201156476087018081216288144094138891831104682854069347533722754929349126897701454542556788048936901410985573888858617569600769556704267769870341929113021514745970360307821499644362154022503628419609505395561191375837270631778502940359475161660844560791505154119565293175621351402108350924886620130764996376453054396951923910615958858334107525265821408917047441223182574640845772703992522628630831122899908523761588282678835077594127124855336080451048131008177024228862620550473395198692759437395319899765561277741066436677191300686657710286388062426893005169957355207936402312540457544582979531378508203488437541925218695346485314724644294327821170554270937900851572100788979097546441848094460688021473962854178984485919495667024620929670819774923509601723053832192963899822788765249216059150340444433268520831872185259198308309661630094878458552814350251933161923265223540956670065982931908235746691523445074181232112443578061700194340269329623538426882942689626411316978301021220012683476003786638237099869640985452744172556143186364875942452715258961454383861594963844338693723832215821075016493578782571233311311777229032555879118899652644543868550753013550226887444680265699723627397032214681630005121121336081065385703930203503438865694352342715501939052738792704760123 783930862596488147290767717823360766147569417225862901685669706822930834040319268105821786316825089665288110409555812898759197207320009425250934647558617341178719538478891391547259647853982311402422908908127862400110029863338503436622878263881051841245858119166541211831691844086544651234018076251595926063501397192229640731954649959776076677444691274775954579713744718201455782389615837904926782274777674743733975724563477822812825114504991145564127845893059466992377758621206696842482530445501559613267008985922529996851195255355325306721832263423357785870854053976714521934210085561044038513927396868573269102084148640161564084909174171858530560580034993170463880659739203589795802823555107050908567493528105787708437237619677733362799889307777631271944009892225130448862320818198238959101103720486205756555213705957492220817967832948292475137450845833270611411381353715077181322578293638550395310449795357024342124209925915735880513452790739086263609695667259090959584884318566299060599253608020784212310866898078456586232293576420254916851049629608301531643963029471161298787773600063550216854774818054308232214247593353505714708714190612365881050819913719053414337321666181054400394033087731755127289186242173952028277601578682382998865813267296092097213712464000109779905365021951732192874133478996330814161627746015058748419323665391788689612374618105464279675573021331564644314484866426997336292551461635488072656832948921416934194413382552989296377615010933376026334637929652175439629813219654928928439901241078904752459700248751793478688983894414525321290917919417380826019149721728929821638124135128435777705578967264857756120472927487056917820151022279545594753853207138816839513236883837804218558549585709845820604276115855714483648643074749790917677399730662762247533033565505904696794851237319291487005136131191242599040533229443662313718979061289812821972216317414214662997722797357260464063189536223147581177973160809913001076126526236796721924924186748853713584386916648582386203749952358030840081301027585140688581591969644830843387086926371349923566115681268578732099048460180088111393799 1268426780511141466965296584137942504168325251708596232691321058971227103179600998410264642451359586749486093752266499775358273774714107891675215431116914796995832965299731178397467628955422784909343137293637480669129960608386383803357704974585432719226950799035224505096263777443407307429900263527646941626382354692203884618891006254777144697273502581744999716487586132774509167193181120866077471562540204603624284802200893032311765017124356713147881700292843398429261454918737617420157388347561570917309553430975948924874235493183076403938595172418813237698769861824970945098981060484467293475193601378030912746721009146438949304963687910919223085697801654388814413718941865931390962381273893861875870792235588959087444703497396497972155758730270313629859105621069450215924808973620153428564576477206038976105710159385800274989595093149448951224468927049558755505520245546181864176647641172273150239798922254725796666766713964672781924438364627944881179296436815795227354754660495412082113999578381092033810511260232479089860713185925650478042425466878933310146903388946322959632334391568704336420067993675659634322598518240125845473710567065420278002743824335012272671429191446875809311080528954937701930032014877944550906232409805282907389574855578770932291306591124965115985816070082740369898362341616881287556826438774496143739223430953066430678811295296764966333283307719627071207490036384352544228953774175945617239812480299925137682850924478207991724100325658020320662459100206446377530664791755717907537447682926999213147721722714647657673469813910192345911847590237155749528751444782762014602023957917201026921638117605302189388993759359242177018459331941175689632311759953167091446398807103027759515219651692777728840022807379159557829875187193368979377594070932091871071460448448594323206168215620312707017819607195029237277633099084647766463151617432999186848158770129473624452106658952224308401883260055363402252989654388695572309437838014025754480803305648506358128255467401595936430637397038296539804928424617355370211597090766166924452472630301553427004981375620921447600987512918880816153922 2052357643107629614256064301961303270315894668934459134376990765794157937219920266516086428768184676414774204161822312674117470982034117316926150078675532138174552503778622569944727276809405096311766046201765343069239990471724887239980583238466484560472808918201765716927955621529951958663918339779242867689883751884433525350845656214553221374718193856520954296201330850975964949582796958771004253837317879347358260526764370855124590131629347858712009546185902865421639213539944314262639918793063130530576562416898478921725430748538401710660427435842171023569623915801685467033191146045511331989120998246604181848805157786600513389872862082777753646277836647559278294378681069521186765204829000912784438285763694746795881941117074231334955648038047944901803115513294580664787129791818392387665680197692244732660923865343292495807562926097741426361919772882829366916901599261259045499225934810823545550248717611750138790976639880408662437891155367031144788992104074886186939638979061711142713253186401876246121378158310935676093006762345905394893475096487234841790866418417484258420107991632254553274842811729967866536846111593631560182424757677786159053563738054065687008750857627930209705113616686692829219218257051896579183833988487665906255388122874863029505019055125074895891181092034472562772495820613212101718454184789554892158547096344855120291185913402229246008856329051191715521974902811349880521505235811433689896645429221342071877264307031197288101715336591396346997097029858621817160478011410646835977348924005903965607421971466441136362453708324717667202765509654536575547901166511691836240148093045636804627217084870159945509466686846299094838610354220721284386164967091983930959635690940831978073769237402623549444298923234874041478518261943159897054993801594854118604494013954499020001019452939604194022955738386271836318166328528310080182130678722812008820375087543688287449829456309484772465072796278510983430962815198608573385564364250822476405727492397360071712642384050178322634387349396327379886229452202496058793189060410997767839559556672903350571097056889500179700035973098968927547721 3320784423618771081221360886099245774484219920643055367068311824765385040399521264926351071219544263164260297914088812449475744756748225208601365509792446935170385469078353748342194905764827881221109183495402823738369951080111271043338288213051917279699759717236990222024219398973359266093818603306889809316266106576637409969736662469330366071991696438265954012688916983750474116775978079637081725399858083950982545328965263887436355148753704571859891246478746263850900668458681931682797307140624701447886115847874427846599666241721478114599022608260984261268393777626656412132172206529978625464314599624635094595526166933039462694836549993696976731975638301948092708097622935452577727586102894774660309077999283705883326644614470729307111406768318258531662221134364030880711938765438545816230256674898283708766634024729092770797158019247190377586388699932388122422421844807440909675873575983096695790047639866475935457743353845081444362329519994976025968288540890681414294393639557123224827252764782968279931889418543414765953719948271555872935900563366168151937769807363807218052442383200958889694910805405627500859444629833757405656135324743206437056307562389077959680180049074806019016194145641630531149250271929841130090066398292948813644962978453633961796325646250040011876997162117212932670858162230093389275280623564051035897770527297921550969997208698994212342139636770818786729464939195702424750459009987379307136457909521267209560115231509405279825815662249416667659556130065068194691142803166364743514796606932903178755143694181088794035923522234910013114613099891692325076652611294453850842172050962837831548855202475462134898460446205541271857069686161896974018476727045151022406034498043859737588988889095401278284321730614033599308393449136528876432587872526945989675954462403093343207187668559916901040775345581301073595799427612957846645282296155811195668533857673161911901936115261709080866956056333874385683952469587304145695002202264848230886530798045866429840897851451774259065024746434623919691157876819851429004786151177164692292032186974456777576078432510421627301023486017849743701643 5373142066726400695477425188060549044800114589577514501445302590559542977619441531442437499987728939579034502075911125123593215738782342525527515588467979073344937972856976318286922182574232977532875229697168166807609941551836158283318871451518401840172568635438755938952175020503311224757736943086132677006149858461070935320582318683883587446709890294786908308890247834726439066358775038408085979237175963298340805855729634742560945280383052430571900792664649129272539881998626245945437225933687831978462678264772906768325096990259879825259450044103155284838017693428341879165363352575489957453435597871239276444331324719639976084709412076474730378253474949507371002476304004973764492790931895687444747363762978452679208585731544960642067054806366203433465336647658611545499068557256938203895936872590528441427557890072385266604720945344931803948308472815217489339323444068699955175099510793920241340296357478226074248719993725490106800220675362007170757280644965567601234032618618834367540505951184844526053267576854350442046726710617461267829375659853402993728636225781291476472550374833213442969753617135595367396290741427388965838560082420992596109871300443143646688930906702736228721307762328323360368468528981737709273900386780614719900351101328496991301344701375114907768178254151685495443353982843305490993734808353605928056317623642776671261183122101223458350995965822010502251439842007052305271964245798812997033103338742609281437379538540602567927530998840813014656653159923690011851620814577011579492145530938807144362565665647529930398377230559627680317378609546228900624553777806145687082320144008474636176072287345622080407927133051840366695680040382618258404641694137134953365670188984691715662758126498024827728620653848907640786911711079688773487581674121800108280448476357592363208207121499521095063731083967572909913965756141267926827412974878623204488908945216850199351765571571193853332028852612385369114915284785912719080566566515670707292258290443226501553540235501952581699412095830951299577387329022347487797975211588162460131591743647360128147175489399921807001059459116818671249364 8693926490345171776698786074159794819284334510220569868513614415324928018018962796368788571207273202743294799989999937573068960495530567734128881098260426008515323441935330066629117088339060858753984413192570990545979892631947429326657159664570319119872328352675746160976394419476670490851555546393022486322415965037708345290318981153213953518701586733052862321579164818476913183134753118045167704637034047249323351184694898629997300429136757002431792039143395393123440550457308177628234533074312533426348794112647334614924763231981357939858472652364139546106411471054998291297535559105468582917750197495874371039857491652679438779545962070171707110229113251455463710573926940426342220377034790462105056441762262158562535230346015689949178461574684461965127557782022642426211007322695484020126193547488812150194191914801478037401878964592122181534697172747605611761745288876140864850973086777016937130343997344702009706463347570571551162550195356983196725569185856249015528426258175957592367758715967812805985156995397765208000446658889017140765276223219571145666406033145098694524992758034172332664664422541222868255735371261146371494695407164199033166178862832221606369110955777542247737501907969953891517718800911578839363966785073563533545314079782130953097670347625154919645175416268898428114212145073398880269015431917656963954088150940698222231180330800217670693135602592829288980904781202754730022423255786192304169561248263876490997494770050007847753346661090229682316209289988758206542763617743376323006942137871710323117709359828618724434300752794537693431991709437921225701206389100599537924492194971312467724927489821084215306387579257381638552749726544515232423118421182285975771704687028551453251747015593426106012942384462941240095305160216217649920169546648746097956402938760685706415394790059437996104506429548873983509765183754225773472695271034434400157442802890012111253701686832902934198984908946259754798867754373216864775568768780518938178789088489092931394438086953726840764436842265575219268545205842198916802761362765327152423623930621816905723253921910343434302082945134668414951007 14067068557071572472176211262220343864084449099798084369958917005884470995638404327811226071195002142322329302065911062696662176234312910259656396686728405081860261414792306384916039270913293836286859642889739157353589834183783587609976031116088720960044896988114502099928569439979981715609292489479155163328565823498779280610901299837097540965411477027839770630469412653203352249493528156453253683874210010547664157040424533372558245709519809433003692831808044522395980432455934423573671759008000365404811472377420241383249860222241237765117922696467294830944429164483340170462898911680958540371185795367113647484188816372319414864255374146646437488482588200962834713050230945400106713167966686149549803805525240611241743816077560650591245516381050665398592894429681253971710075879952422224022130420079340591621749804873863304006599909937053985483005645562823101101068732944840820026072597570937178470640354822928083955183341296061657962770870718990367482849830821816616762458876794791959908264667152657332038424572252115650047173369506478408594651883072974139395042258926390170997543132867385775634418039676818235652026112688535337333255489585191629276050163275365253058041862480278476458809670298277251886187329893316548637867171854178253445665181110627944399015049000269827413353670420583923557566127916704371262750240271262892010405774583474893492363452901441129044131568414839791232344623209807035294387501585005301202664587006485772434874308590610415680877659931042696972862449912448218394384432320387902499087668810517467480275025476148654832677983354165373749370318984150126325760166906745225006812338979787103900999777166706295714314712309222005248429766927133490827760115319420929137374876013243168914505142091450933741563038311848880882216871295906423407751220770546206236851415118278069623601911558959091168237513516446893423730939895493700300108245913057604646351748106862310605467258404096787531013761558645123913783039159129583856135335296189645471047378932319432947978322455679422463848938096526518845932534864546404600736574353489612555215674269177033870429411310265241303142404251487086200371 22760995047416744248874997336380138683368783610018654238472531421209399013657367124180014642402275345065624102055911000269731136729843477993785277784988831090375584856727636451545156359252354695040844056082310147899569726815731016936633190780659040079917225340790248260904963859456652206460848035872177649650981788536487625901220280990311494484113063760892632952048577471680265432628281274498421388511244057796987508225119432002555546138656566435435484870951439915519420982913242601201906292082312898831160266490067575998174623454222595704976395348831434377050840635538338461760434470786427123288935992862988018524046308024998853643801336216818144598711701452418298423624157885826448933545001476611654860247287502769804279046423576340540423977955735127363720452211703896397921083202647906244148323967568152741815941719675341341408478874529176167017702818310428712862814021820981684877045684347954115600984352167630093661646688866633209125321066075973564208419016678065632290885134970749552276023383120470138023581567649880858047620028395495549359928106292545285061448292071488865522535890901558108299082462218041103907761483949681708827950896749390662442229026107586859427152818257820724196311578268231143403906130804895388001833956927741786990979260892758897496685396625424747058529086689482351671778272990103251531765672188919855964493925524173115723543783701658799737267171007669080213249404412561765316810757371197605372225835270362263432369078640618263434224321021272379289071739901206424937148050063764225506029806682227790597984385304767379266978736148703067181362028422071352026966556007344762931304533951099571625927266987790511020702291566603643801179493471648723250878536501706904909079563041794622166252157684877039754505422774790120977522031512124073327920767419292304193254353878963776038996701618397087272743943065320876933496123649719473772803516947492004803794550996874421859168945236999721729998670504904878712650793532346448631704104076708583649836467421412364342416409409406263228285780362101738114477740706745321403497937118816764978839604890993939593683333220608675605225349386155501151378 36828063604488316721051208598600482547453232709816738608431448427093870009295771451991240713597277487387953404121822062966393312964156388253441674471717236172235846271519942836461195630165648531327703698972049305253159560999514604546609221896747761039962122328904750360833533299436633922070140525351332812979547612035266906512121580827409035449524540788732403582517990124883617682121809430951675072385454068344651665265543965375113791848176375868439177702759484437915401415369177024775578051090313264235971738867487817381424483676463833470094318045298729207995269800021678632223333382467385663660121788230101666008235124397318268508056710363464582087194289653381133136674388831226555646712968162761204664052812743381046022862501136991131669494336785792762313346641385150369631159082600328468170454387647493333437691524549204645415078784466230152500708463873251813963882754765822504903118281918891294071624706990558177616830030162694867088091936794963931691268847499882249053344011765541512184288050273127470062006139901996508094793397901973957954579989365519424456490550997879036520079023768943883933500501894859339559787596638217046161206386334582291718279189382952112485194680738099200655121248566508395290093460698211936639701128781920040436644442003386841895700445625694574471882757110066275229344400906807622794515912460182747974899700107648009215907236603099928781398739422508871445594027622368800611198258956202906574890422276848035867243387231228679115101980952315076261934189813654643331532482384152128005117475492745258078259410780916034099656719502868440930732347406221478352726722914089987938116872930886675526927044154496806735017003875825649049609260398782214078638651821127834046454439055037791080757299776327973496068461086639001859738902808030496735671988189838510430105768997241845662598613177356178440981456581767770357227063545213174072911762860549609450146299103736732464636203641096509261012432063550002626433832691476032487839439372898229120883846353731797290394731865085685692134718458628256960410275571291726004234511472306377534055279160170973464112744530873916908367753637642587351749 59589058651905060969926205934980621230822016319835392846903979848303269022953138576171255355999552832453577506177733063236124449693999866247226952256706067262611431128247579288006351989418003226368547755054359453152729287815245621483242412677406801119879347669694998621738497158893286128530988561223510462630529400571754532413341861817720529933637604549625036534566567596563883114750090705450096460896698126141639173490663397377669337986832942303874662573710924353434822398282419625977484343172626163067132005357555393379599107130686429175070713394130163585046110435560017093983767853253812786949057781093089684532281432422317122151858046580282726685905991105799431560298546717053004580257969639372859524300100246150850301908924713331672093472292520920126033798853089046767552242285248234712318778355215646075253633244224545986823557658995406319518411282183680526826696776586804189780163966266845409672609059158188271278476719029328076213413002870937495899687864177947881344229146736291064460311433393597608085587707551877366142413426297469507314508095658064709517938843069367902042614914670501992232582964112900443467549080587898754989157283083972954160508215490538971912347498995919924851432826834739538693999591503107324641535085709661827427623702896145739392385842251119321530411843799548626901122673896910874326281584649102603939393625631821124939451020304758728518665910430177951658843432034930565928009016327400511947116257547210299299612465871846942549326301973587455551005929714861068268680532447916353511147282174973048676243796085683413366635455651571508112094375828292830379693278921434750869421406881986247152854311142287317755719295442429292850788753870430937329517188322834738955534002096832413247009457461205013250573883861429122837260934320154570063592755609130814623360122876205621701595314795753265713725399647088647290723187194932647845715279808041614253940850100611154323805148878096230991011102568454881339084626223822481119543543449606812770720313775144161632811141274491948920420498820729995074888016278037047407732448591123142512894884051164913057796077751482592513593103023798088503127 96417122256393377690977414533581103778275249029652131455335428275397139032248910028162496069596830319841530910299555126202517762658156254500668626728423303434847277399767522124467547619583651757696251454026408758405888848814760226029851634574154562159841469998599748982572030458329920050601129086574843275610077012607021438925463442645129565383162145338357440117084557721447500796871900136401771533282152194486290838756207362752783129835009318172313840276470408791350223813651596650753062394262939427303103744225043210761023590807150262645165031439428892793041380235581695726207101235721198450609179569323191350540516556819635390659914756943747308773100280759180564696972935548279560226970937802134064188352912989531896324771425850322803762966629306712888347145494474197137183401367848563180489232742863139408691324768773750632238636443461636472019119746056932340790579531352626694683282248185736703744233766148746448895306749192022943301504939665901427590956711677830130397573158501832576644599483666725078147593847453873874237206824199443465269088085023584133974429394067246938562693938439445876166083466007759783027336677226115801150363669418555245878787404873491084397542179734019125506554075401247933984093052201319261281236214491581867864268144899532581288086287876813896002294600909614902130467074803718497120797497109285351914293325739469134155358256907858657300064649852686823104437459657299366539207275283603418522006679824058335166855853103075621664428282925902531812940119528515711600213014832068481516264757667718306754503206866599447466292175154439949042826723234514308732420001835524738807538279812872922679781355296784124490736299318254941900398014269213151408155840143962573001988441151870204327766757237532986746642344948068124696999837128185066799264743798969325053465891873447467364193927973109444154706856228856417647950250740145821918627042668591223704087149204347886788441352519192740252023534632004883965518458915298513607382982822505041891604160128875958923205873139577634612555217279358252035298291849328773411966960063429520046950163211335886521908822282356509421960856661440675854876 156006180908298438660903620468561725009097265349487524302239408123700408055202048604333751425596383152295108416477288189438642212352156120747895578985129370697458708528015101412473899609001654984064799209080768211558618136630005847513094047251561363279720817668294747604310527617223206179132117647798353738240606413178775971338805304462850095316799749887982476651651125318011383911621990841851867994178850320627930012246870760130452467821842260476188502850181333144785046211934016276730546737435565590370235749582598604140622697937836691820235744833559056378087490671141712820190869088975011237558237350416281035072797989241952512811772803524030035459006271864979996257271482265332564807228907441506923712653013235682746626680350563654475856438921827633014380944347563243904735643653096797892808011098078785483944958012998296619062194102457042791537531028240612867617276307939430884463446214452582113416842825306934720173783468221351019514917942536838923490644575855778011741802305238123641104910917060322686233181555005751240379620250496912972583596180681648843492368237136614840605308853109947868398666430120660226494885757814014556139520952502528200039295620364030056309889678729939050357986902235987472678092643704426585922771300201243695291891847795678320680472130127933217532706444709163529031589748700629371447079081758387955853686951371290259094809277212617385818730560282864774763280891692229932467216291611003930469122937371268634466468318974922564213754584899489987363946049243376779868893547279984835027412039842691355430747002952282860832927630806011457154921099062807139112113280756959489676959686694859169832635666439071442246455594760684234751186768139644088737673028466797311957522443248702617574776214698737999997216228809497247534260771448339636862857499408100139676826014749653089065789242768862709868432255875945064938673437935078469764342322476632837958027999304959041112246501397288971243034637200459765304603085139120994726926526272111854662324473904020120556017014414069583532975716100088247110186308127365820819699408654552662559845047262500799579704900033839101935553959685238764358003 252423303164691816351881035002142828787372514379139655757574836399097547087450958632496247495193213472136639326776843315641159975010312375248564205713552674132305985927782623536941447228585306741761050663107176969964506985444766073542945681825715925439562287666894496586882558075553126229733246734373197013850683425785797410264268747107979660699961895226339916768735683039458884708493890978253639527461002515114220851003078122883235597656851578648502343126651741936135270025585612927483609131698505017673339493807641814901646288744986954465400776272987949171128870906723408546397970324696209688167416919739472385613314546061587903471687560467777344232106552624160560954244417813612125034199845243640987901005926225214642951451776413977279619405551134345902728089842037441041919045020945361073297243840941924892636282781772047251300830545918679263556650774297545208407855839292057579146728462638318817161076591455681169069090217413373962816422882202740351081601287533608142139375463739956217749510400727047764380775402459625114616827074696356437852684265705232977466797631203861779168002791549393744564749896128420009522222435040130357289884621921083445918083025237521140707431858463958175864540977637235406662185695905745847204007514692825563156159992695210901968558418004747113535001045618778431162056823504347868567876578867673307767980277110759393250167534120476043118795210135551597867718351349529299006423566894607348991129617195326969633324172077998185878182867825392519176886168771892491469106562112053316543676797510409662185250209818882308299219805960451406197747822297321447844533282592484228484497966507732092512417021735855566737191894078939176651584782408857240145828868610759884959510884400572821902542971936270986743858573757565372231260608576524703662122243207069464730291906623100556429983170741972154023139112104801482586623688675224291682969365145224061662115148509306927900687853916481711495058171832464649270121544054419508334309509094616896553928634032896079479222887553647218145530933379446499145484599976694594231666368717982182606795210473836686101613722316195611357514816346679440212879 408429484072990255012784655470704553796469779728627180059814244522797955142653007236829998920789596624431747743254131505079802187362468495996459784698682044829764694455797724949415346837586961725825849872187945181523125122074771921056039729077277288719283105335189244191193085692776332408865364382171550752091289838964573381603074051570829756016761645114322393420386808357470268620115881820105507521639852835742150863249948883013688065478693839124690845976833075080920316237519629204214155869134070608043575243390240419042268986682823646285636521106547005549216361577865121366588839413671220925725654270155753420686112535303540416283460363991807379691112824489140557211515900078944689841428752685147911613658939460897389578132126977631755475844472961978917109034189600684946654688674042158966105254939020710376581240794770343870363024648375722055094181802538158076025132147231488463610174677090900930577919416762615889242873685634724982331340824739579274572245863389386153881177768978079858854421317787370450613956957465376354996447325193269410436280446386881820959165868340476619773311644659341612963416326249080236017108192854144913429405574423611645957378645601551197017321537193897226222527879873222879340278339610172433126778814894069258448051840490889222649030548132680331067707490327941960193646572204977240014955660626061263621667228482049652344976811333093428937525770418416372630999243041759231473639858505611279460252554566595604099792491052920750091937452724882506540832218015269271338000109392038151571088837353101017615997212771165169132147436766462863352668921360128586956646563349443718161457653202591262345052688174927008983647488839623411402771550548501328883501897077557196917033327649275439477319186635008986741074802567062619765521380024864340524979742615169604407117921372753645495772413510834863891571367980746547525297126610302761447311687621856899620143147814265969012934355313770682738092809032924414574724629193540503061236035366728751216253107936916200035239901967716801678506649479534746255670908104060415051365777372534845166640257736337485681318622350034713293068776031918204570882 660852787237682071364665690472847382583842294107766835817389080921895502230103965869326246415982810096568387070030974820720962162372780871245023990412234718962070680383580348486356794066172268467586900535295122151487632107519537994598985410902993214158845393002083740778075643768329458638598611116544747765941973264750370791867342798678809416716723540340662310189122491396929153328609772798359147049100855350856371714253027005896923663135545417773193189103484817017055586263105242131697765000832575625716914737197882233943915275427810600751037297379534954720345232484588529912986809738367430613893071189895225806299427081365128319755147924459584723923219377113301118165760317892556814875628597928788899514664865686112032529583903391609035095250024096324819837124031638125988573733694987520039402498779962635269217523576542391121663855194294401318650832576835703284432987986523546042756903139729219747738996008218297058311963903048098945147763706942319625653847150922994296020553232718036076603931718514418214994732359925001469613274399889625848288964712092114798425963499544338398941314436208735357528166222377500245539330627894275270719290196344695091875461670839072337724753395657855402087068857510458286002464035515918280330786329586894821604211833186100124617588966137427444602708535946720391355703395709325108582832239493734571389647505592809045595144345453569472056320980553967970498717594391288530480063425400218628451382171761922573733116663130918935970120320550275025717718386787161762807106671504091468114765634863510679801247422590047477431367242726914269550416743657450034801179845941927946645955619710323354857469709910782575720839382918562588054356332957358569029330765688317081876544212049848261379862158571279973484933376324627991996781988601389044187101985822239069137409827995854201925755584252807017914710480085548030111920815285527053130281052767080961282258296323572896913622209230252394233150980865389063844846173247960011395545544461345647770181741969812279514462789521364019824037582858981245401155508080755009283032146090517027773435468210174171782932344666230324650583592378597644783761 1069282271310672326377450345943551936380312073836394015877203325444693457372756973106156245336772406721000134813285106325800764349735249367241483775110916763791835374839378073435772140903759230193412750407483067333010757229594309915655025139980270502878128498337272984969268729461105791047463975498716298518033263103714944173470416850249639172733485185454984703609509299754399421948725654618464654570740708186598522577502975888910611728614239256897884035080317892097975902500624871335911920869966646233760489980588122652986184262110634247036673818486081960269561594062453651279575649152038651539618725460050979226985539616668668736038608288451392103614332201602441675377276217971501504717057350613936811128323805147009422107716030369240790571094497058303736946158221238810935228422369029679005507753718983345645798764371312734992026879842670123373745014379373861360458120133755034506367077816820120678316915424980912947554837588682823927479104531681898900226093014312380449901731001696115935458353036301788665608689317390377824609721725082895258725245158478996619385129367884815018714626080868076970491582548626580481556438820748420184148695770768306737832840316440623534742074932851752628309596737383681165342742375126090713457565144480964080052263673676989347266619514270107775670416026274662351549349967914302348597787900119795835011314734074858697940121156786662900993846750972384343129716837433047761953703283905829907911634726328518177832909154183839686062057773275157532258550604802431034145106780896129619685854472216611697417244635361212646563514679493377132903085665017578621757826409291371664807413272912914617202522398085709584704486871758185999457127883505859897912832662765874278793577539699123700857181345206288960226008178891690611762303368626253384712081728437408673544527749368607847421527997763641881806281848066294577637217941895829814577592740388937860902401444137838865926556564544023076971243789898313478419570802441500514456781579828074398986434849906728479549702691489080821502544232338515991656826416184815424334397923463051872940075725946511657464250967016265037943652368410515849354643 1730135058548354397742116036416399318964154367944160851694592406366588959602860938975482491752755216817568521883316081146521726512108030238486507765523151482753906055222958421922128934969931498660999650942778189484498389337113847910254010550883263717036973891339356725747344373229435249686062586615261046283975236368465314965337759648928448589450208725795647013798631791151328575277335427416823801619841563537454894291756002894807535391749784674671077224183802709115031488763730113467609685870799221859477404717786004886930099537538444847787711115865616914989906826547042181192562458890406082153511796649946205033284966698033797055793756212910976827537551578715742793543036535864058319592685948542725710642988670833121454637299933760849825666344521154628556783282252876936923802156064017199044910252498945980915016287947855126113690735036964524692395846956209564644891108120278580549123980956549340426055911433199210005866801491730922872626868238624218525879940165235374745922284234414152012062284754816206880603421677315379294222996124972521107014209870571111417811092867429153417655940517076812328019748771004080727095769448642695454867985967113001829708301987279695872466828328509608030396665594894139451345206410642008993788351474067858901656475506863089471884208480407535220273124562221382742905053363623627457180620139613530406400962239667667743535265502240232373050167731526352313628434431824336292433766709306048536363016898090440751566025817314758622032178093825432557976268991589592796952213452400221087800620107080122377218492057951260123994881922220291402453502408675028656559006255233299611453368892623237972059992107996492160425326254676748587511484216463218466942163428454191360670121751748971962237043503777568933710941555216318603759085357227642428899183714259647742681937577364462049347283582016448899720992328151842607749138757181356867707873793156018822184659740461411762840178773774275471204394770763702542264416975689460525852327124289420046756616591876540759064165481010444841326581815197497237057981924265570433617430069553568900713511194156685829247183311682495362594235960789113494138404 2799417329859026724119566382359951255344466441780554867571795731811282416975617912081638737089527623538568656696601187472322490861843279605727991540634068246545741430062336495357901075873690728854412401350261256817509146566708157825909035690863534219915102389676629710716613102690541040733526562113977344802008499472180259138808176499178087762183693911250631717408141090905727997226061082035288456190582271724053416869258978783718147120364023931568961259264120601213007391264354984803521606740765868093237894698374127539916283799649079094824384934351698875259468420609495832472138108042444733693130522109997184260270506314702465791832364501362368931151883780318184468920312753835559824309743299156662521771312475980130876745015964130090616237439018212932293729440474115747859030578433046878050418006217929326560815052319167861105717614879634648066140861335583426005349228254033615055491058773369461104372826858180122953421639080413746800105972770306117426106033179547755195824015236110267947520637791117995546212110994705757118832717850055416365739455029050108037196222235313968436370566597944889298511331319630661208652208269391115639016681737881308567541142303720319407208903261361360658706262332277820616687948785768099707245916618548822981708739180540078819150827994677642995943540588496045094454403331537929805778408039733326241412276973742526441475386659026895274044014482498736656758151269257384054387469993211878444274651624418958929398934971498598308094235867100590090234819596392023831097320233296350707486474579296734074635736693312472770558396601713668535356588073692607278316832664524671276260782165536152589262514506082201745129813126434934586968612099969078364854996091220065639463699291448095663094224848983857893936949734108009215521388725853895813611265442697056416226465326733069896768811579780090781527274176218137185386356699077186682285466533544956683087061184599250628766735338318298548175638560662016020683987778130961040309108704117494445743051441783269238613868172499525662829126047536013228714808340450385857951827993016620773653586920103197486711434278698760400537888329199629343493047 4529552388407381121861682418776350574308620809724715719266388138177871376578478851057121228842282840356137178579917268618844217373951309844214499306157219729299647485285294917280030010843622227515412052293039446302007535903822005736163046241746797936952076281015986436463957475919976290419589148729238391085983735840645574104145936148106536351633902637046278731206772882057056572503396509452112257810423835261508311161014981678525682512113808606240038483447923310328038880028085098271131292611565089952715299416160132426846383337187523942612096050217315790249375247156538013664700566932850815846642318759943389293555473012736262847626120714273345758689435359033927262463349289699618143902429247699388232414301146813252331382315897890940441903783539367560850512722726992684782832734497064077095328258716875307475831340267022987219408349916599172758536708291792990650240336374312195604615039729918801530428738291379332959288440572144669672732841008930335951985973344783129941746299470524419959582922545934202426815532672021136413055713975027937472753664899621219455007315102743121854026507115021701626531080090634741935747977718033811093884667704994310397249444291000015279675731589870968689102927927171960068033155196410108701034268092616681883365214687403168291035036475085178216216665150717427837359456695161557262959028179346856647813239213410194185010652161267127647094182214025088970386585701081720346821236702517926980637668522509399680964960788813356930126413960926022648211088587981616628049533685696571795287094686376856451854228751263732894553278523933959937810090482367635934875838919757970887714151058159390561322506614078693905555139381111683174480096316432296831797159519674257000133821043197067625331268352761426827647891289324327819280474083081538242510449156956704158908402904097531946116095161796539681248266504369979793135495456258543549993340326700975505271720925060662391606914112092574019380033331425718562948404753820421566161435828406914492499668033659809997678033653509970504155707862733510465772790264715956291569258062570189674367098114259883315958617590381255763132124289988742837631451 7328969718266407845981248801136301829653087251505270586838183869989153793554096763138759965931810463894705835276518456091166708235794589449942490846791287975845388915347631412637931086717312956369824453643300703119516682470530163562072081932610332156867178670692616147180570578610517331153115710843215735887992235312825833242954112647284624113817596548296910448614913972962784569729457591487400714001006106985561728030273960462243829632477832537808999742712043911541046271292440083074652899352330958045953194114534259966762667136836603037436480984569014665508843667766033846136838674975295549539772840869940573553825979327438728639458485215635714689841319139352111731383662043535177968212172546856050754185613622793383208127331862021031058141222557580493144242163201108432641863312930110955145746264934804634036646392586190848325125964796233820824677569627376416655589564628345810660106098503288262634801565149559455912710079652558416472838813779236453378092006524330885137570314706634687907103560337052197973027643666726893531888431825083353838493119928671327492203537338057090290397073712966590925042411410265403144400185987424926732901349442875618964790586594720334686884634851232329347809190259449780684721103982178208408280184711165504865073953867943247110185864469762821212160205739213472931813860026699487068737436219080182889225516187152720626486038820294022921138196696523825627144736970339104401208706695729805424912320146928358610363895760311955238220649828026612738445908184373640459146853918992922502773569265673590526489965444576205665111675125647628473166678556060243213192671584282642163974933223695543150585021120160895650684952507546617761448708416401375196652155610894322639597520334645163288425493201745284721584841023432337034801862808935434056121714599653760575134868230830601842884906741576630462775540680588116978521852155335730232278806860245932188358782109659913020373649450410872567555671892087734583632392531951382606470544532524408938242719475443079236291901826009496166984833910269523694487598605166342149521086055586810448020685034363080802670051869080016163670012619188372181124498 11858522106673788967842931219912652403961708061229986306104572008167025170132575614195881194774093304250843013856435724710010925609745899294156990152948507705145036400632926329917961097560935183885236505936340149421524218374352169298235128174357130093819254951708602583644528054530493621572704859572454126973975971153471407347100048795391160465451499185343189179821686855019841142232854100939512971811429942247070039191288942140769512144591641144049038226159967221869085151320525181345784191963896047998668493530694392393609050474024126980048577034786330455758218914922571859801539241908146365386415159629883962847381452340174991487084605929909060448530754498386038993847011333234796112114601794555438986599914769606635539509647759911971500045006096948053994754885928101117424696047427175032241074523651679941512477732853213835544534314712832993583214277919169407305829901002658006264721138233207064165230303440938788871998520224703086145571654788166789330077979869114015079316614177159107866686482882986400399843176338748029944944145800111291311246784828292546947210852440800212144423580827988292551573491500900145080148163705458737826786017147869929362040030885720349966560366441103298036912118186621740752754259178588317109314452803782186748439168555346415401220900944847999428376870889930900769173316721861044331696464398427039537038755400562914811496690981561150568232378910548914597531322671420824748029943398247732405549988669437758291328856549125312168347063788952635386656996772355257087196387604689494298060663952050446978344194195839938559664953649581588410976769038427879148068510504040613051689084281854933711907527734239589556240091888658300935928804732833672028449315130568579639731341377842230913756761554506711549232732312756664854082336892016972298632163756610464734043271134928133789001001903373170144023807184958096771657347611594273782272147186946907693630503034720575411980563562503446586935705223513453146580797285771804172631980360931323430742387509102889233969935479519466671140541773003034160260388869882298441090344118157000122387783148622964118628669459461271926802136909177115018755949 19187491824940196813824180021048954233614795312735256892942755878156178963686672377334641160705903768145548849132954180801177633845540488744099480999739795680990425315980557742555892184278248140255060959579640852541040900844882332860307210106967462250686433622401218730825098633141010952725820570415669862861968206466297240590054161442675784579269095733640099628436600827982625711962311692426913685812436049232631767221562902603013341777069473681858037968872011133410131422612965264420437091316227006044621687645228652360371717610860730017485058019355345121267062582688605705938377916883441914926188000499824536401207431667613720126543091145544775138372073637738150725230673376769974080326774341411489740785528392400018747636979621933002558186228654528547138997049129209550066559360357285987386820788586484575549124125439404683869660279509066814407891847546545823961419465631003816924827236736495326800031868590498244784708599877261502618410468567403242708169986393444900216886928883793795773790043220038598372870820005474923476832577625194645149739904756963874439414389778857302434820654540954883476615902911165548224548349692883664559687366590745548326830617480440684653445001292335627384721308446071521437475363160766525517594637514947691613513122423289662511406765414610820640537076629144373700987176748560531400433900617507222426264271587715635437982729801855173489370575607072740224676059641759929149238650093977537830462308816366116901692752309437267406567713616979248125102904956728897546343241523682416800834233217724037504834159640416144224776628775229216884143447594488122361261182088323255215664017505550476862492548854400485206925044396204918697377513149235047225101470741462902279328861712487394202182254756251996270817573336189001888884199700952406354753878356264225309178139365758735631885908644949800606799347865546213750179199766930004014550954047192839881989285144380488432354213012914319154491377115601187730213189817723186779102524893455732368985106984545968470261837305528962838125375683272557854747987475048640590611430173743810570408468182986044921298721328541288090472149528365487199880447 31046013931613985781667111240961606637576503373965243199047327886323204133819247991530522355479997072396391862989389905511188559455286388038256471152688303386135461716613484072473853281839183324140297465515981001962565119219234502158542338281324592344505688574109821314469626687671504574298525429988123989835944177619768647937154210238066945044720594918983288808258287683002466854195165793366426657623865991479701806412851844743782853921661114825907076195031978355279216573933490445766221283280123054043290181175923044753980768084884856997533635054141675577025281497611177565739917158791588280312603160129708499248588884007788711613627697075453835586902828136124189719077684710004770192441376135966928727385443162006654287146627381844974058231234751476601133751935057310667491255407784461019627895312238164517061601858292618519414194594221899807991106125465715231267249366633661823189548374969702390965262172031437033656707120101964588763982123355570032038247966262558915296203543060952903640476526103024998772713996344222953421776723425305936460986689585256421386625242219657514579244235368943176028189394412065693304696513398342402386473383738615477688870648366161034620005367733438925421633426632693262190229622339354842626909090318729878361952290978636077912627666359458820068913947519075274470160493470421575732130365015934261963303026988278550249479420783416324057602954517621654822207382313180753897268593492225270236012297485803875193021608858562579574914777405931883511759901729084154633539629128371911098894897169774484483178353836256082784441582424810805295120216632916001509329692592363868267353101787405410574400076588640074763165136284863219633306317882068719253550785872031481919060203090329625115939016310758707820050305648945666742966536592969378653386042112874690043221410500686869420886910548322970750823155050504310521836547378524277796823101234139747575619788179101063844334776575417765741427082339114640876793987103494990951734505254387055799727494493648857704231772785048429509265917456275592015008376344930939031701774291900810692796251331609009039927390788002560017274286437542602218636396 50233505756554182595491291262010560871191298686700500091990083764479383097505920368865163516185900840541940712122344086312366193300826876782355952152428099067125887032594041815029745466117431464395358425095621854503606020064116835018849548388292054595192122196511040045294725320812515527024346000403793852697912384086065888527208371680742729623989690652623388436694888510985092566157477485793340343436302040712333573634414747346796195698730588507765114163903989488689347996546455710186658374596350060087911868821151697114352485695745587015018693073497020698292344080299783271678295075675030195238791160629533035649796315675402431740170788220998610725274901773862340444308358086774744272768150477378418468170971554406673034783607003777976616417463406005148272748984186520217557814768141747007014716100824649092610725983732023203283854873730966622398997973012261055228668832264665640114375611706197717765294040621935278441415719979226091382392591922973274746417952656003815513090471944746699414266569323063597145584816349697876898609301050500581610726594342220295826039631998514817014064889909898059504805297323231241529244863091226066946160750329361026015701265846601719273450369025774552806354735078764783627704985500121368144503727833677569975465413401925740424034431774069640709451024148219648171147670218982107132564265633441484389567298575994185687462150585271497546973530124694395046883441954940683046507243586202808066474606302169992094714361167999846981482491022911131636862806685813052179882870652054327899729130387498521988012513476672227009218211200040022179263664227404123870590874680687123483017119292955887436892625443040559970090180681068138330683831031303766478652256613494384198389064802817019318121271067010704090867878985134668631850736293921785008139920469138915352399549866445605052772819193272771357622502916050524272015747145454281811374055281332587457609073323481552276688989588332084895918459454715828607007176921218177730837030147842788168712601478194826174493610090577392347391293139548149869756363819979579622313204465644621263204719514595053961226112116543848107746435965908089418516843 81279519688168168377158402502972167508767802060665743291037411650802587231325168360395685871665897912938332575111733991823554752756113264820612423305116402453261348749207525887503598747956614788535655890611602856466171139283351337177391886669616646939697810770620861359764352008484020101322871430391917842533856561705834536464362581918809674668710285571606677244953176193987559420352643279159767001060168032192035380047266592090579049620391703333672190358935967843968564570479946155952879657876473114131202049997074741868333253780630444012552328127638696275317625577910960837418212234466618475551394320759241534898385199683191143353798485296452446312177729909986530163386042796779514465209526613345347195556414716413327321930234385622950674648698157481749406500919243830885049070175926208026642611413062813609672327842024641722698049467952866430390104098477976286495918198898327463303923986675900108730556212653372312098122840081190680146374715278543306784665918918562730809294015005699603054743095426088595918298812693920830320386024475806518071713283927476717212664874218172331593309125278841235532994691735296934833941376489568469332634134067976503704571914212762753893455736759213478227988161711458045817934607839476210771412818152407448337417704380561818336662098133528460778364971667294922641308163689403682864694630649375746352870325564272735936941571368687821604576484642316049869090824268121436943775837078428078302486903787973867287735970026562426556397268428843015148622708414897206813422499780426238998624027557273006471190867312928309793659793624850827474383880860320125379920567273050991750370221080361298011292702031680634733255316965931357963990148913372485732203042485525866117449267893146644434060287377769411910918184634080335374817272886891163661525962582013605395620960367132474473659729741595742108445657966554834793852294523978559608197156515472335033228861502582616121023766163749850637345541793830469483801164024713168682571535402229843968440095971843683878725382875625821856657210595823741884764740164910518654014978757545431956000970846204063001153502904546408125020722403450691637153239 131513025444722350972649693764982728379959100747366243383027495415281970328831088729260849387851798753480273287234078078135920946056940141602968375457544501520387235781801567702533344214074046252931014315707224710969777159347468172196241435057908701534889932967131901405059077329296535628347217430795711695231768945791900424991570953599552404292699976224230065681648064704972651986510120764953107344496470072904368953681681339437375245319122291841437304522839957332657912567026401866139538032472823174219113918818226438982685739476376031027571021201135716973609969658210744109096507310141648670790185481388774570548181515358593575093969273517451057037452631683848870607694400883554258737977677090723765663727386270820000356713841389400927291066161563486897679249903430351102606884944067955033657327513887462702283053825756664925981904341683833052789102071490237341724587031162993103418299598382097826495850253275307590539538560060416771528767307201516581531083871574566546322384486950446302469009664749152193063883629043618707218995325526307099682439878269697013038704506216687148607374015188739295037799989058528176363186239580794536278794884397337529720273180059364473166906105784988031034342896790222829445639593339597578915916545986085018312883117782487558760696529907598101487815995815514570812455833908385789997258896282817230742437624140266921624403721953959319151550014767010444915974266223062119990283080664630886368961510090143859382450331194562273537879759451754146785485515100710258993305370432480566898353157944771528459203380789600536802878004824890849653647545087724249250511441953738115233387340373317185448185327474721194703345497646999496294673979944676252210855299099020250315838332695963663752181558444780116001786063619215004006668009180812948669665883051152520748020510233578079526432548934868513466068160882605359065868041669432841419571211796804922490837934826064168397712755752081935533264001248546298090808340945931346413408565550072632137152697450038510053218992966203214204048503735371891754521103984890098276328183223190053219205690360799116962379615021090256232767158369358781055670082 212792545132890519349808096267954895888726902808031986674064907066084557560156257089656535259517696666418605862345812069959475698813053406423580798762660903973648584531009093590036942962030661041466670206318827567435948298630819509373633321727525348474587743737752762764823429337780555729670088861187629537765625507497734961455933535518362078961410261795836742926601240898960211406862764044112874345556638105096404333728947931527954294939513995175109494881775925176626477137506348022092417690349296288350315968815301180851018993257006475040123349328774413248927595236121704946514719544608267146341579802148016105446566715041784718447767758813903503349630361593835400771080443680333773203187203704069112859283800987233327678644075775023877965714859720968647085750822674181987655955119994163060299938926950276311955381667781306648679953809636699483179206169968213628220505230061320566722223585057997935226406465928679902637661400141607451675142022480059888315749790493129277131678501956145905523752760175240788982182441737539537539381350002113617754153162197173730251369380434859480200683140467580530570794680793825111197127616070363005611429018465314033424845094272127227060361842544201509262331058501680875263574201179073789687329364138492466650300822163049377097358628041126562266180967482809493453763997597789472861953526932192977095307949704539657561345293322647140756126499409326494785065090491183556934058917743058964671448413878117726670186301221124700094277027880597161934108223515607465806727870212906805896977185502044534930394248102528846596537798449741677128031425948044374630432009226789106983757561453678483459478029506401829436600814612930854258664128858048737943058341584546116433287600589110308186241845822549527912704248253295339381485282067704112331191845633166126143641470600710554000092278676464255574513818849160193859720336193411401027768368312277257524066796328646784518736521915831786170609543042376767574609504970644515095980100952302476105592793421882193931944375841829036060705714331195633639285844149800616930343161980735485175206661207003179963533117925636664357787880772809472692823321 344305570577612870322457790032937624268686003555398230057092402481366527888987345818917384647369495419898879149579890148095396644869993548026549174220205405494035820312810661292570287176104707294397684522026052278405725457978287681569874756785434050009477676704884664169882506667077091358017306291983341232997394453289635386447504489117914483254110238020066808608249305603932863393372884809065981690053108178000773287410629270965329540258636287016546799404615882509284389704532749888231955722822119462569429887633527619833704732733382506067694370529910130222537564894332449055611226854749915817131765283536790675994748230400378293541737032331354560387082993277684271378774844563888031941164880794792878523011187258053328035357917164424805256781021284455544765000726104533090262840064062118093957266440837739014238435493537971574661858151320532535968308241458450969945092261224313670140523183440095761722256719203987493177199960202024223203909329681576469846833662067695823454062988906592207992762424924392982046066070781158244758376675528420717436593040466870743290073886651546628808057155656319825608594669852353287560313855651157541890223902862651563145118274331491700227267948329189540296673955291903704709213794518671368603245910124577484963183939945536935858055157948724663753996963298324064266219831506175262859212423215010207837745573844806579185749015276606459907676514176336939701039356714245676924341998407689851040409923968261586052636632415686973632156787332351308719593738616317724800033240645387372795330343446816063389597628892129383399415803274632526781678971035768623880943451180527222217144901826995668907663356981123024139946312259930350553338108802724990153913640683566366749125933285073971938423404267329643914490311872510343388153291248517061000857728684318646891661980834288633526524827611332769040581979731765552925588377862844242447339580109082180014904731154710952916449277667913721703873544290923065665417845916575861509388666502375108242745490871920703985163368808032250264754218066567525393806948134690715206671345203925538394412351567802296925912732946726920590555039142168253748493403 557098115710503389672265886300892520157412906363430216731157309547451085449143602908573919906887192086317485011925702218054872343683046954450129972982866309467684404843819754882607230138135368335864354728344879845841673756609107190943508078512959398484065420442637426934705936004857647087687395153170970770763019960787370347903438024636276562215520499815903551534850546502893074800235648853178856035609746283097177621139577202493283835198150282191656294286391807685910866842039097910324373413171415750919745856448828800684723725990388981107817719858684543471465160130454154002125946399358182963473345085684806781441314945442163011989504791145258063736713354871519672149855288244221805144352084498861991382294988245286655714001992939448683222495881005424191850751548778715077918795184056281154257205367788015326193817161319278223341811960957232019147514411426664598165597491285634236862746768498093696948663185132667395814861360343631674879051352161636358162583452560825100585741490862738113516515185099633771028248512518697782297758025530534335190746202664044473541443267086406109008740296123900356179389350646178398757441471721520547501652921327965596569963368603618927287629790873391049559005013793584579972787995697745158290575274263069951613484762108586312955413785989851226020177930781133557719983829103964735721165950147203184933053523549346236747094308599253600663803013585663434486104447205429233858400916150748815711858337846379312722822933636811673726433815212948470653701962131925190606761110858294178692307528948860598319991876994658229995953601724374203909710396983812998511375460407316329200902463280674152367141386487524853576547126872861204812002237660773728096971982268112483182413533874184280124665250089879171827194560125805682769638573316221173332049574317484773035303451434999187526617106287797024615095798580925746785308714056255643475107948421359437538971527483357737435185799583745507874483087333299833240027350887220376605368767454677584348338284293802897917107744649861286325459932397763159033092792284491332137014507184661023569619012774805476889445850872363584948342919914977726441316724 901403686288116259994723676333830144426098909918828446788249712028817613338130948727491304554256687506216364161505592366150268988553040502476679147203071714961720225156630416175177517314240075630262039250370932124247399214587394872513382835298393448493543097147522091104588442671934738445704701445154312003760414414077005734350942513754191045469630737835970360143099852106825938193608533662244837725662854461097950908550206473458613375456786569208203093691007690195195256546571847798556329135993535213489175744082356420518428458723771487175512090388594673694002725024786603057737173254108098780605110369221597457436063175842541305531241823476612624123796348149203943528630132808109837085516965293654869905306175503339983749359910103873488479276902289879736615752274883248168181635248118399248214471808625754340432252654857249798003670112277764555115822652885115568110689752509947907003269951938189458670919904336654888992061320545655898082960681843212828009417114628520924039804479769330321509277610024026753074314583299856027056134701058955052627339243130915216831517153737952737816797451780220181787984020498531686317755327372678089391876824190617159715081642935110627514897739202580589855678969085488284682001790216416526893821184387647436576668702054123248813468943938575889774174894079457621986203660610139998580378373362213392770799097394152815932843323875860060571479527762000374187143803919674910782742914558438666752268261814640898775459566052498647358590602545299779373295700748242915406794351503681551487637872395676661709589505886787613395369404999006730691389368019581622392318911587843551418047365107669821274804743468647877716493439132791555365340346463498718250885622951678849931539467159258252063088654357208815741684871998316026157791864564738234332907303001803419926965432269287821053141933899129793655677778312691299710897091919099885922447528530441617553876258638068690351635077251659229578356631624222898905445196803796238114757433957052692591083775165723601902271113457893536590214150464330684426899740419182047343685852388586561964031364342607773815358583819090505538897959057145980189810127 1458501801998619649666989562634722664583511816282258663519407021576268698787274551636065224461143879592533849173431294584205141332236087456926809120185938024429404630000450171057784747452375443966126393978715811970089072971196502063456890913811352846977608517590159518039294378676792385533392096598325282774523434374864376082254380538390467607685151237651873911677950398609719012993844182515423693761272600744195128529689783675951897210654936851399859387977399497881106123388610945708880702549164950964408921600531185221203152184714160468283329810247279217165467885155240757059863119653466281744078455454906404238877378121284704317520746614621870687860509703020723615678485421052331642229869049792516861287601163748626639463361903043322171701772783295303928466503823661963246100430432174680402471677176413769666626069816176528021345482073234996574263337064311780166276287243795582143866016720436283155619583089469322284806922680889287572962012034004849186172000567189346024625545970632068435025792795123660524102563095818553809353892726589489387818085445794959690372960420824358846825537747904120537967373371144710085075196799094198636893529745518582756285045011538729554802527530075971639414683982879072864654789785914161685184396458650717388190153464162709561768882729928427115794352824860591179706187489714104734301544323509416577703852620943499052679937632475113661235282541347663808673248251125104144641143830709187482464126599661020211498282499689310321085024417758248250026997662880168106013555462361975730179945401344537260029581382881445843391323006723380934601099765003394620903694371995159880618949828388343973641946129956172731293040566005652760177342584124272446347857605219791333113953001033442532187753904447087987568879432124121708927430437880959407664956877319288192962268883704287008579759040186926818270773576893617046496205805975355529397555476951801055092847786121426427786820876835404737452839718957522732145472547691016614720126201411730276939422059459526499819378858107754822915674082862093843459992532703673379480700359573247585533650377117413250704804434691454090487240878972123706631126851 2359905488286735909661713238968552809009610726201087110307656733605086312125405500363556529015400567098750213334936886950355410320789127959403488267389009739391124855157080587232962264766615519596388433229086744094336472185783896935970273749109746295471151614737681609143882821348727123979096798043479594778283848788941381816605323052144658653154781975487844271821050250716544951187452716177668531486935455205293079438239990149410510586111723420608062481668407188076301379935182793507437031685158486177898097344613541641721580643437931955458841900635873890859470610180027360117600292907574380524683565824128001696313441297127245623051988438098483311984306051169927559207115553860441479315386015086171731192907339251966623212721813147195660181049685585183665082256098545211414282065680293079650686148985039524007058322471033777819349152185512761129379159717196895734386976996305530050869286672374472614290502993805977173798984001434943471044972715848062014181417681817866948665350450401398756535070405147687277176877679118409836410027427648444440445424688925874907204477574562311584642335199684340719755357391643241771392952126466876726285406569709199916000126654473840182317425269278552229270362951964561149336791576130578212078217643038364824766822166216832810582351673867003005568527718940048801692391150324244732881922696871629970474651718337651868612780956350973721806762069109664182860392055044779055423886745267626149216394861475661110273742065741808968443615020303548029400293363628411021420349813865657281667583273740213921739170888768233456786692411722387665292489133022976243296013283583003432036997193496013794916750873424820609009534005138444315542682930587771164598743228171470183045492468192700784250842558804296803310564304122437735085222302445697641997864180321091612889234315973574829632900974086056611926451355206308346207102897894455415320003005482242672646724044759495118138455954087063967031196350581745631050917744494812852834883635368782969530505834625250101721649971565648359505888233326424527886892273122855426824386211961834147497681741460021024520163018510544596026138838029269686820936978 3818407290285355559328702801603275473593122542483345773827063755181355010912680051999621753476544446691284062508368181534560551653025215416330297387574947763820529485157530758290747012218990963562514827207802556064425545156980398999427164662921099142448760132327841127183177200025519509512488894641804877552807283163805757898859703590535126260839933213139718183499000649326263964181296898693092225248208055949488207967929773825362407796766660272007921869645806685957407503323793739216317734234323437142307018945144726862924732828152092423742171710883153108024938495335268117177463412561040662268762021279034405935190819418411949940572735052720353999844815754190651174885600974912773121545255064878688592480508503000593262676083716190517831882822468880487593548759922207174660382496112467760053157826161453293673684392287210305840694634258747757703642496781508675900663264240101112194735303392810755769910086083275299458605906682324231044006984749852911200353418249007212973290896421033467191560863200271347801279440774936963645763920154237933828263510134720834597577437995386670431467872947588461257722730762787951856468148925561075363178936315227782672285171666012569737119952799354523868685046934843634013991581362044739897262614101689082212956975630379542372351234403795430121362880543800639981398578640038349467183467020381046548178504339281150921292718588826087383042044610457327991533640306169883200065030575976813631680521461136681321772024565431119289528639438061796279427291026508579127433905276227633011847528675084751181768752271649679300178015418445768599893588898026370864199707655578163312655947021884357768558697003380993340302574571144097075720025514712043610946600833391261516159445469226143316438596463251384790879443736246559444012652740326657049662821057640379805851503199677861838212660014272983430197224932099925392703308703869810944717558482434043727739571830880921545925276830922468704484036069539268363196390292185829467555009836780513246469927894084776601541028829673403182421562316188518371346884805826528806305086571535081733031332118577434275224967453201998686513379717001393393452063829 6178312778572091468990416040571828282602733268684432884134720488786441323038085552363178282491945013790034275843305068484915961973814343375733785654963957503211654340314611345523709276985606483158903260436889300158762017342764295935397438412030845437919911747065522736327060021374246633491585692685284472331091131952747139715465026642679784913994715188627562455320050900042808915368749614870760756735143511154781287406169763974772918382878383692615984351314213874033708883258976532723754765919481923320205116289758268504646313471590024379201013611519026998884409105515295477295063705468615042793445587103162407631504260715539195563624723490818837311829121805360578734092716528773214600860641079964860323673415842252559885888805529337713492063872154465671258631016020752386074664561792760839703843975146492817680742714758244083660043786444260518833021656498705571635050241236406642245604590065185228384200589077081276632404890683759174515051957465700973214534835930825079921956246871434865948095933605419035078456318454055373482173947581886378268708934823646709504781915569948982016110208147272801977478088154431193627861101052027952089464342884936982588285298320486409919437378068633076097955409886808195163328372938175318109340831744727447037723797796596375182933586077662433126931408262740688783090969790362594200065389717252676518653156057618802789905499545177061104848806679566992174394032361214662255488917321244439780896916322612342432045766631172928257972254458365344308827584390136990148854255090093290293515111948824965103507923160417912756964707830168156265186078031049347107495720939161166744692944215380371563475447876805813949312108576282541391262708445299814775545344061562731699204937937418844100689439022055681594190008040368997179097875042772354691660685237961471418740737515651436667845560988359040042123676287306233738910411601764266360037561487916286400386295875640416664063732785009532671515232420121013994247308036680642320389893472149296216000433728710026703262678801239051541927450549514942899233777078949384233129472783496915880529013860037455299745130471712543282539518555030663080273000807 9996720068857447028319118842175103756195855811167778657961784243967796333950765604362800035968489460481318338351673250019476513626839558792064083042538905267032183825472142103814456289204597446721418087644691856223187562499744694934824603074951944580368671879393363863510237221399766143004074587327089349883898415116552897614324730233214911174834648401767280638819051549369072879550046513563852981983351567104269495374099537800135326179645043964623906220960020559991116386582770271940072500153805360462512135234902995367571046299742116802943185322402180106909347600850563594472527118029655705062207608382196813566695080133951145504197458543539191311673937559551229908978317503685987722405896144843548916153924345253153148564889245528231323946694623346158852179775942959560735047057905228599757001801307946111354427107045454389500738420703008276536664153280214247535713505476507754440339893457995984154110675160356576091010797366083405559058942215553884414888254179832292895247143292468333139656796805690382879735759228992337127937867736124312096972444958367544102359353565335652447578081094861263235200818917219145484329249977589027452643279200164765260570469986498979656557330867987599966640456821651829177319954300220058006603445846416529250680773426975917555284820481457863248294288806541328764489548430400943667248856737633723066831660396899953711198218134003148487890851290024320165927672667384545455553947897221253412577437783749023753817791196604047547500893896427140588254875416645569276288160366320923305362640623909716285276675432067592057142723248613924865079666929075717971695428594739330057348891237264729332034144880186807289614683147426638466982733960011858386491944894953993215364383406644987417128035485307066385069451776615556623110527783099011741323506295601851224592240715329298506058221002632023472320901219406159131613720305634077304755119970350330128125867706521338209989009615932001375999268489660282357443698328866471787944903308929809462470361622794803304803707630912454724349012865703461270580661884775913039434559355031997613560345978614889574970097924914541969052898272032056473725064636 16175032847429538497309534882746932038798589079852211542096504732754237656988851156725978318460434474271352614194978318504392475600653902167797868697502862770243838165786753449338165566190203929880321348081581156381949579842508990870222041486982790018288583626458886599837297242774012776495660280012373822214989547069300037329789756875894696088829363590394843094139102449411881794918796128434613738718495078259050782780269301774908244562523427657239890572274234434024825269841746804663827266073287283782717251524661263872217359771332141182144198933921207105793756706365859071767590823498270747855653195485359221198199340849490341067822182034358028623503059364911808643071034032459202323266537224808409239827340187505713034453694774865944816010566777811830110810791963711946809711619697989439460845776454438929035169821803698473160782207147268795369685809778919819170763746712914396685944483523181212538311264237437852723415688049842580074110899681254857629423090110657372817203390163903199087752730411109417958192077683047710610111815318010690365681379782014253607141269135284634463688289242134065212678907071650339112190351029616979542107622085101747848855768306985389575994708936620676064595866708460024340648327238395376115944277591143976288404571223572292738218406559120296375225697069282017547580518220763537867314246454886399585484816454518756501103717679180209592739657969591312340321705028599207711042865218465693193474354106361366185863557827776975805473148354792484897082459806782559425142415456414213598877752572734681388784598592485504814107431078782081130265744960125065079191149533900496802041835452645100895509592756992621238926791723709179858245442405311673162037288956516724914569321344063831517817474507362747979259459816984553802208402825871366432984191533563322643332978230980735173903781990991063514444577506712392870524131907398343664792681458266616528512163582161754874052742400941534047514500909781296351691006365547114108334796781079105678470795351504830008066386432151506266276463415218404169814438963725297272564032138528913494089359838652344874715228396627085251592416827062719553998065443 26171752916286985525628653724922035794994444891019990200058288976722033990939616761088778354428923934752670952546651568523868989227493460959861951740041768037276021991258895553152621855394801376601739435726273012605137142342253685805046644561934734598657255505852250463347534464173778919499734867339463172098887962185852934944114487109109607263664011992162123732958153998780954674468842641998466720701846645363320278154368839575043570742168471621863796793234254994015941656424517076603899766227092644245229386759564259239788406071074257985087384256323387212703104307216422666240117941527926452917860803867556034764894420983441486572019640577897219935176996924463038552049351536145190045672433369651958155981264532758866183018584020394176139957261401157988962990567906671507544758677603218039217847577762385040389596928849152862661520627850277071906349963059134066706477252189422151126284376981177196692421939397794428814426485415925985633169841896808742044311344290489665712450533456371532227409527216799800837927836912040047738049683054135002462653824740381797709500622700620286911266370336995328447879725988869484596519601007206006994750901285266513109426238293484369232552039804608276031236323530111853517968281538615434122547723437560505539085344650548210293503227040578159623519985875823346312070066651164481534563103192520122652316476851418710212301935813183358080630509259615632506249377695983753166596813115686946606051791890110389939681349024381023352974042251219625485337335223428128701430575822735136904240393196644397674061274024553096871250154327396005995345411889200783050886578128639826859390726689909830227543737637179428528541474871135818325228176365323531548529233851470718129933704750708818934945509992669814364328911593600110425318930608970378174307697829165173867925218946310033679962002993623086986765478726118552002137852213032420969547801428616946656638031288683093084041752016873535423513769399441578709134704694413585896279700090008915140941156974299633312870094063063960990625476280921865440395100848501210311998591493560911107649705817267234449685326321541627220645315099094776027723130079 42346785763716524022938188607668967833793033970872201742154793709476271647928467917814756672889358409024023566741629887028261464828147363127659820437544630807519860157045649002490787421585005306482060783807854168987086722184762676675268686048917524616945839132311137063184831706947791695995395147351836994313877509255152972273904243985004303352493375582556966827097256448192836469387638770433080459420341723622371060934638141349951815304691899279103687365508489428040766926266263881267727032300379928027946638284225523112005765842406399167231583190244594318496861013582281738007708765026197200773513999352915255963093761832931827639841822612255248558680056289374847195120385568604392368938970594460367395808604720264579217472278795260120955967828178969819073801359870383454354470297301207478678693354216823969424766750652851335822302834997545867276035772838053885877240998902336547812228860504358409230733203635232281537842173465768565707280741578063599673734434401147038529653923620274731315162257627909218796119914595087758348161498372145692828335204522396051316641891835904921374954659579129393660558633060519823708709952036822986536858523370368260958282006600469758808546748741228952095832190238571877858616608777010810238492001028704481827489915874120503031721633599698455998745682945105363859650584871928019401877349647406522237801293305937466713405653492363567673370167229206944846571082724582960877639678334152639799526145996471756125544906852157999158447190606012110382419795030210688126572991279149350503118145769379079062845872617038601685357585406178087125611156849325848130077727662540323661432562142554931123053330394172049767468266594844998183473618770635204710566522807987443044503026094772650452762984500032562343588371410584664227527333434841744607291889362728496511258197177290768853865784984614150501210056232830944872661984120430764634340482886883563185150194870844847958094494417815069471028270309222875060825711059960700004614496871088020819411952325804463320936480495215467256901939696140269610209539812226507584562623632089824601739065655919579324400554718168712472237731926157495581721195522 68518538680003509548566842332591003628787478861892191942213082686198305638868084678903535027318282343776694519288281455552130454055640824087521772177586398844795882148304544555643409276979806683083800219534127181592223864527016362480315330610852259215603094638163387526532366171121570615495130014691300166412765471441005907218018731094113910616157387574719090560055410446973791143856481412431547180122188368985691339089006980924995386046860370900967484158742744422056708582690780957871626798527472572273176025043789782351794171913480657152318967446567981531199965320798704404247826706554123653691374803220471290727988182816373314211861463190152468493857053213837885747169737104749582414611403964112325551789869253023445400490862815654297095925089580127808036791927777054961899228974904425517896540931979209009814363679502004198483823462847822939182385735897187952583718251091758698938513237485535605923155143033026710352268658881694551340450583474872341718045778691636704242104457076646263542571784844709019634047751507127806086211181426280695290989029262777849026142514536525208286221029916124722108438359049389308305229553044028993531609424655634774067708244893954128041098788545837228127068513768683731376584890315626244361039724466264987366575260524668713325224860640276615622265668820928710171720651523092500936440452839926644890117770157356176925707589305546925754000676488822577352820460420566714044236491449839586405577937886582146065226255876539022511421232857231735867757130253638816828003567101884487407358538966023476736907146641591698556607739733574093120956568738526631180964305791180150520823288832464761350597068031351478296009741465980816508701795135958736259095756659458161174436730845481469387708494492702376707917283004184774652846264043812122781599587191893670379183416123600802533827787978237237487975534958949496874799836333463185603888284315500509841788226159527941042136246434688604894542039708664453769960415754374285900894196961096935960353109300104096633806574558279428247527415977062135050604640660727717896561215125650735709388771473186813774085881039710339692883047025252271609444325601 110865324443720033571505030940259971462580512832764393684367876395674577286796552596718291700207640752800718086029911342580391918883788187215181592615131029652315742305350193558134196698564811989565861003341981350579310586711779039155584016659769783832548933770474524589717197878069362311490525162043137160726642980696158879491922975079118213968650763157276057387152666895166627613244120182864627639542530092608062400023645122274947201351552270180071171524251233850097475508957044839139353830827852500301122663328015305463799937755887056319550550636812575849696826334380986142255535471580320854464888802573386546691081944649305141851703285802407717052537109503212732942290122673353974783550374558572692947598473973288024617963141610914418051892917759097627110593287647438416253699272205632996575234286196032979239130430154855534306126297845368806458421508735241838460959249994095246750742097989894015153888346668258991890110832347463117047731325052935941391780213092783742771758380696920994857734042472618238430167666102215564434372679798426388119324233785173900342784406372430129661175689495254115768996992109909132013939505080851980068467948026003035025990251494423886849645537287066180222900704007255609235201499092637054599531725494969469194065176398789216356946494239975071621011351766034074031371236395020520338317802487333167127919063463293643639113242797910493427370843718029522199391543145149674921876169783992226205104083883053902190771162728697021669868423463243846250176925283849504954576558381033837910476684735402555799753019258630300241965325139752180246567725587852479311042033453720474182255850975019692473650398425523528063478008060825814692175413906593940969662279467445604218939756940254119840471478992734939051505654414769438880373597478653867388891476554622166890441613300891571387693572962851387989185591191780441747461820453893950238228767202384073026938421030372789000230740852503674365570310017887328830786126814334985905508693832184956779765061625908559954743055053494895504429355673202404660814180472954225481123838757740560311127837129106393098486435757879052165120778951409767191165521123 179383863123723543120071873272850975091367991694656585626580959081872882925664637275621826727525923096577412605318192798132522372939429011302703364792717428497111624453654738113777605975544618672649661222876108532171534451238795401635899347270622043048152028408637912116249564049190932926985655176734437327139408452137164786709941706173232124584808150731995147947208077342140418757100601595296174819664718461593753739112652103199942587398412641081038655682993978272154184091647825797010980629355325072574298688371805087815594109669367713471869518083380557380896791655179690546503362178134444508156263605793857837419070127465678456063564748992560185546394162717050618689459859778103557198161778522685018499388343226311470018454004426568715147818007339225435147385215424493378152928247110058514471775218175241989053494109656859732789949760693191745640807244632429791044677501085853945689255335475429621077043489701285702242379491229157668388181908527808283109825991784420447013862837773567258400305827317327258064215417609343370520583861224707083410313263047951749368926920908955337947396719411378837877435351159298440319169058124880973600077372681637809093698496388378014890744325832903408349969217775939340611786389408263298960571449961234456560640436923457929682171354880251687243277020586962784203091887918113021274758255327259812018036833620649820564820832103457419181371520206852099552212003565716388966112661233831812610682021769636048255997418605236044181289656320475582117934055537488321782580125482918325317835223701426032536660165900221998798573064873326273367524294326379110492006339244900624703079139807484453824247466456875006359487749526806631200877209042552677228758036126903765393376487785735589228179973485437315759422937418954213533219861522465990170491063746515837269625029424492373921521360941088625477161126150729938622261656787357135842117051517884582868726647189900730042366987287192279260112349726551782600746542568709271806402890793281892740118170926012656588549629611774323751956771650264539711418821133681943377685053883391296020516608602293206872572316797589391858003825976662038800609846724 290249187567443576691576904213110946553948504527420979310948835477547460212461189872340118427733563849378130691348104140712914291823217198517884957407848458149427366759004931671911802674109430662215522226218089882750845037950574440791483363930391826880700962179112436705966761927260295238476180338777574487866051432833323666201864681252350338553458913889271205334360744237307046370344721778160802459207248554201816139136297225474889788749964911261109827207245212122251659600604870636150334460183177572875421351699820393279394047425254769791420068720193133230593617989560676688758897649714765362621152408367244384110152072114983597915268034794967902598931272220263351631749982451457531981712153081257711446986817199599494636417146037483133199710925098323062257978503071931794406627519315691511047009504371274968292624539811715267096076058538560552099228753367671629505636751079949192439997433465323636230931836369544694132490323576620785435913233580744224501606204877204189785621218470488253258039869789945496494383083711558934954956541023133471529637496833125649711711327281385467608572408906632953646432343269207572333108563205732953668545320707640844119688747882801901740389863119969588572869921783194949846987888500900353560103175456203925754705613322247146039117849120226758864288372352996858234463124313133541613076057814592979145955897083943464203934074901367912608742363924881621751603546710866063887988831017824038815786105652689950446768581333933065851158079783719428368110980821337826737156683863952163228311908436828588336413185158852299040538390013078453614092019914231589803048372698621098885334990782504146297897864882398534422965757587632445893052622949146618198420315594349369612316244725989709068651452478172254810928591833723652413593459001119857559382540301138004160066642725383945309214933903940013466346717342510380369723477241251086080345818720268655895665068220273519042597728139695953625682659744439111431532669383044257711911584625466849519883232551921216543292684665269219256386127323466944372233001606636168858808892641131856331644445731399599971058752555468444023124604928071805991775367847 469633050691167119811648777485961921645316496222077564937529794559420343138125827147961945155259486945955543296666296938845436664762646209820588322200565886646538991212659669785689408649654049334865183449094198414922379489189369842427382711201013869928852990587750348822216325976451228165461835515512011815005459884970488452911806387425582463138267064621266353281568821579447465127445323373456977278871967015795569878248949328674832376148377552342148482890239190394405843692252696433161315089538502645449720040071625481094988157094622483263289586803573690611490409644740367235262259827849209870777416014161102221529222199580662053978832783787528088145325434937313970321209842229561089179873931603942729946375160425910964654871150464051848347528932437548497405363718496425172559555766425750025518784722546516957346118649468574999886025819231752297740035998000101420550314252165803138129252768940753257307975326070830396374869814805778453824095142108552507611432196661624636799484056244055511658345697107272754558598501320902305475540402247840554939950759881077399080638248190340805555969128318011791523867694428506012652277621330613927268622693389278653213387244271179916631134188952872996922839139559134290458774277909163652520674625417438382315346050245705075721289204000478446107565392939959642437555012231246562887834313141852791163992730704593284768754907004825331790113884131733721303815550276582452854101492251655851426468127422325998702765999939169110032447736104195010486045036358826148519736809346870488546147132138254620873073351059074297839111454886404726981616314240610700295054711943521723588414130589988600122145331339273540782453507114439077093929831991699295427178351721253135005692732511725298296831425963609570570351529252677865946813320523585847729873604047653841429691672149876319230736294845028638943507843493240318991985134028608221922462870238153238764391715410174249084964715426888232885795009470990894032279211951753529518314475418748742260001403477933873131842314277043543008342898973731484083651822740318112236493946524523152352161054333692806843631069353057835881128430904733844792385214571 759882238258610696503225681699072868199265000749498544248478630036967803350587017020302063582993050795333673988014401079558350956585863408338473279608414344795966357971664601457601211323763479997080705675312288297673224527139944283218866075131405696809553952766862785528183087903711523403938015854289586302871511317803812119113671068677932801691725978510537558615929565816754511497790045151617779738079215569997386017385246554149722164898342463603258310097484402516657503292857567069311649549721680218325141391771445874374382204519877253054709655523766823842084027634301043924021157477563975233398568422528346605639374271695645651894100818582495990744256707157577321952959824681018621161586084685200441393361977625510459291288296501534981547239857535871559663342221568356966966183285741441536565794226917791925638743189280290266982101877770312849839264751367773050055951003245752330569250202406076893538907162440375090507360138382399239260008375689296732113038401538828826585105274714543764916385566897218251052981585032461240430496943270974026469588256714203048792349575471726273164541537224644745170300037697713584985386184536346880937168014096919497333075992153981818371524052072842585495709061342329240305762166410064006080777800873642308070051663567952221760407053120705204971853765292956500672018136544380104500910370956445770309948627788536748972688981906193244398856248056615343055419096987448516742090323269479890242254233075015949149534581273102175883605815887914438854156017180163975256893493210822651774459040575083209209486536217926596879649844899483180595708334154842290098103084642142822473749121372492746420043196221672075205419264702071522986982454940845913625598667315602504618008977237715007365482878441781825381280121086401518360406779524705705289256144348791845589758314875260264539951228748968652409854560835750699361708611269859308002808688958421894660056783630447768127562443566584186511477669215430005463811881334797787230226060044215591779884636029855089675134998942312762264729026297198428455884824346954281095302839165655008683805500065092406814689821908526279904253035832805650784160582418 1229515288949777816314874459185034789844581496971576109186008424596388146488712844168264008738252537741289217284680698018403787621348509618159061601808980231442505349184324271243290619973417529331945889124406486712595604016329314125646248786332419566738406943354613134350399413880162751569399851369801598117876971202774300572025477456103515264829993043131803911897498387396201976625235368525074757016951182585792955895634195882824554541046720015945406792987723592911063346985110263502472964639260182863774861431843071355469370361614499736317999242327340514453574437279041411159283417305413185104175984436689448827168596471276307705872933602370024078889582142094891292274169666910579710341460016289143171339737138051421423946159446965586829894768789973420057068705940064782139525739052167191562084578949464308882984861838748865266868127697002065147579300749367874470606265255411555468698502971346830150846882488511205486882229953188177693084103517797849239724470598200453463384589330958599276574731264004491005611580086353363545906037345518814581409539016595280447872987823662067078720510665542656536694167732126219597637663805866960808205790707486198150546463236425161735002658241025715582418548200901463530764536444319227658601452426291080690385397713813657297481696257121183651079419158232916143109573148775626667388744684098298561473941358493130033741443888911018576188970132188349064359234647264030969596191815521135741668722360497341947852300581212271285916053551992109449340201053538990123776630302557693140320606172713337830082559887277000894718761299785887907577324648395452990393157796585664546062163251962481346542188527560945615987872771816510600080912286932545209052777019036855639623701709749440305662314304405391395951631650339079384307220100048291553019129748396445687019449987025136583770687523593997291353362404328991018353693745298467529925271559196575133424448499040622017212527158993472419397272678686420899496091093286551316748540535462964334039886039507788962806977313219356305273071925270929912539536647087272393331796785690178161035966554398785213658320891261584115785381466737539495576545796989 1989397527208388512818100140884107658043846497721074653434487054633355949839299861188566072321245588536622891272695099097962138577934373026497534881417394576238471707155988872700891831297181009329026594799718775010268828543469258408865114861463825263547960896121475919878582501783874274973337867224091184420748482520578112691139148524781448066521719021642341470513427953212956488123025413676692536755030398155790341913019442436974276705945062479548665103085207995427720850277967830571784614188981863082100002823614517229843752566134376989372708897851107338295658464913342455083304574782977160337574552859217795432807970742971953357767034420952520069633838849252468614227129491591598331503046100974343612733099115676931883237447743467121811442008647509291616732048161633139106491922337908633098650373176382100808623605028029155533850229574772377997418565500735647520662216258657307799267753173752907044385789650951580577389590091570576932344111893487145971837508999739282289969694605673143041491116830901709256664561671385824786336534288789788607879127273309483496665337399133793351885052202767301281864467769823933182623049990403307689142958721583117647879539228579143553374182293098558167914257262243792771070298610729291664682230227164722998455449377381609519242103310241888856051272923525872643781591285320006771889655055054744331783889986281666782714132870817211820587826380244964407414653744251479486338282138790615631910976593572357897001835162485373461799659367880023888194357070719154099033523795768515792095065213288421039292046423494927491598411144685371088173032982550295280491260881227807368535912373334974092962231723782617691193292036518582123067894741873391122678375686352458144241710686987155313027797182847173221332911771425480902667626879572997258308385892745237532609208301900396848310638752342965943763216965164741717715402356568326837928080248154997028084505282671069785340089602560056605908750347901850904959902974621349103978766595507179925819770675537644052482112312161669067537800951568128340995421471434226674427099624855833169719772054463877620473010713170110395689634502570345146360706379407 3218912816158166329132974600069142447888427994692650762620495479229744096328012705356830081059498126277912108557375797116365926199282882644656596483226374807680977056340313143944182451270598538660972483924125261722864432559798572534511363647796244830286367839476089054228981915664037026542737718593892782538625453723352413263164625980884963331351712064774145382410926340609158464748260782201767293771981580741583297808653638319798831246991782495494071896072931588338784197263078094074257578828242045945874864255457588585313122927748876725690708140178447852749232902192383866242587992088390345441750537295907244259976567214248261063639968023322544148523420991347359906501299158502178041844506117263486784072836253728353307183607190432708641336777437482711673800754101697921246017661390075824660734952125846409691608466866778020800718357271774443144997866250103521991268481514068863267966256145099737195232672139462786064271820044758754625428215411284995211561979597939735753354283936631742318065848094906200262276141757739188332242571634308603189288666289904763944538325222795860430605562868309957818558635501950152780260713796270268497348749429069315798426002465004305288376840534124273750332805463145256301834835055048519323283682653455803688840847091195266816723799567363072507130692081758788786891164434095633439278399739153042893257831344774796816455576759728230396776796512433313471773888391515510455934473954311751373579698954069699844854135743697644747715712919872133337534558124258144222810154098326208932415671386001758869374606310771928386317172444471258995750357630945748270884418677813471914598075625297455439504420251343563307181164808335092723148807028805936331731152705389313783865412396736595618690111487252564617284543421764560286974846979621288811327515641141683219628658288925533432081326275936963235116579369493732736069096101866794367853351807351572161508953781711691802552616761553529025306023026588271804455994067907900420727307130970144259859656715045433015289089625381025372810872876839058253534958118521499067758896410546011330755738608862662834131331604431694511475015969307884641937252176396 5208310343366554841951074740953250105932274492413725416054982533863100046167312566545396153380743714814534999830070896214328064777217255671154131364643769383919448763496302016645074282567779547989999078723844036733133261103267830943376478509260070093834328735597564974107564417447911301516075585817983966959373936243930525954303774505666411397873431086416486852924354293822114952871286195878459830527011978897373639721673080756773107952936844975042736999158139583766505047541045924646042193017223909027974867079072105815156875493883253715063417038029555191044891367105726321325892566871367505779325090155125039692784537957220214421407002444275064218157259840599828520728428650093776373347552218237830396805935369405285190421054933899830452778786084992003290532802263331060352509583727984457759385325302228510500232071894807176334568586846546821142416431750839169511930697772726171067234009318852644239618461790414366641661410136329331557772327304772141183399488597679018043323978542304885359556964925807909518940703429125013118579105923098391797167793563214247441203662621929653782490615071077259100423103271774085962883763786673576186491708150652433446305541693583448841751022827222831918247062725389049072905133665777810987965912880620526687296296468576876335965902877604961363181965005284661430672755719415640211168054794207787225041721331056463599169709630545442217364622892678277879188542135766989942272756093102367005490675547642057741855970906183018209515372287752157225728915194977298321843677894094724724510736599290179908666652734266855877915583589156630083923390613496043551375679559041279283133987998632429532466651975126180998374456844853674846216701770679327454409528391741771928107123083723750931717908670099737838617455193190041189642473859194286069635901533886920752237866590825930280391965028279929178879796334658474453784498458435121205781432055506569189593459064382761587892706364113585631214773374490122709415897042529249524706073726477324185679427390583077067771201937542694440348673828407186594530379589955725742185996035401844500475510663326540454604342317601804907164650471878229788297958555803 8427223159524721171084049341022392553820702487106376178675478013092844142495325271902226234440241841092447108387446693330693990976500138315810727847870144191600425819836615160589256733838378086650971562647969298455997693663066403477887842157056314924120696575073654028336546333111948328058813304411876749497999389967282939217468400486551374729225143151190632235335280634431273417619546978080227124298993559638956937530326719076571939199928627470536808895231071172105289244804124018720299771845465954973849731334529694400469998421632130440754125178208003043794124269298110187568480558959757851221075627451032283952761105171468475485046970467597608366680680831947188427229727808595954415192058335501317180878771623133638497604662124332539094115563522474714964333556365028981598527245118060282420120277428074920191840538761585197135286944118321264287414298000942691503199179286795034335200265463952381434851133929877152705933230181088086183200542716057136394961468195618753796678262478936627677622813020714109781216845186864201450821677557406994986456459853119011385741987844725514213096177939387216918981738773724238743144477582943844683840457579721749244731544158587754130127863361347105668579868188534305374739968720826330311249595534076330376137143559772143152689702444968033870312657087043450217563920153511273650446454533360830118299552675831260415625286390273672614141419405111591350962430527282500398207230047414118379070374501711757586710106649880662957231085207624290563263473319235442544653831992420933656926407985291938778041259045038784264232756033627889079673748244441791822260098236854751197732063623929884971971072226469744305555621653188767569365508799485263786140681097131085711972535480460346550408020157352302455901998614954601476617320838815574880963417175028603971866524879751463712473291304216892413996375704152207189853594560301915573634783862858141351102412846094453390445323125667114656520796401078394513871891110437149945433380857447468445539084105628510083060291562923719813159546705246244848065337708477224809944892445947855831231249272189203288735673922033499418639666441186114430235210732199 13635533502891276013035124081975642659752976979520101594730460546955944188662637838447622387820985555906982108217517589545022055753717393986964859212513913575519874583332917177234331016406157634640970641371813335189130954766334234421264320666316385017955025310671219002444110750559859629574888890229860716457373326211213465171772174992217786127098574237607119088259634928253388370490833173958686954826005538536330577251999799833345047152865472445579545894389210755871794292345169943366341964862689864001824598413601800215626873915515384155817542216237558234839015636403836508894373125831125357000400717606157323645545643128688689906453972911872672584837940672547016947958156458689730788539610553739147577684706992538923688025717058232369546894349607466718254866358628360041951036828846044740179505602730303430692072610656392373469855530964868085429830729751781861015129877059521205402434274782805025674469595720291519347594640317417417740972870020829277578360956793297771840002241021241513037179777946522019300157548615989214569400783480505386783624253416333258826945650466655167995586793010464476019404842045498324706028241369617420870332165730374182691037085852171202971878886188569937586826930913923354447645102386604141299215508414696857063433440028349019488655605322572995233494622092328111648236675872926913861614509327568617343341274006887724014794996020819114831506042297789869230150972663049490340479986140516485384561050049353815328566077556063681166746457495376447788992388514212740866497509886515658381437144584582118686707911779305640142148339622784519163597138857937835373635777795896030480866051622562314504437724201595925303930078498042442415582210570164591240550209488872857640079658564184097482125928827452040294519453808144642666259794698009860950599318708915524724104391470577393992865256332496821592876172038810681643638093018737036779416215918364710540695871910477214978338029489780700287735569775568517223287788152966399470139454583924792631218511496211587150831493500466414253508220533653431442595717298432950552130888481349700331706759935515743743340016239635304325804316913064344218533169288002 22062756662415997184119173422998035213573679466626477773405938560048788331157963110349848622261227396999429216604964282875716046730217532302775587060384057767120300403169532337823587750244535721291942204019782633645128648429400637899152162823372699942075721885744873030780657083671807957633702194641737465955372716178496404389240575478769160856323717388797751323594915562684661788110380152038914079124999098175287514782326518909916986352794099916116354789620281927977083537149293962086641736708155818975674329748131494616096872337147514596571667394445561278633139905701946696462853684790883208221476345057189607598306748300157165391500943379470280951518621504494205375187884267285685203731668889240464758563478615672562185630379182564908641009913129941433219199914993389023549564073964105022599625880158378350883913149417977570605142475083189349717245027752724552518329056346316239737634540246757407109320729650168672053527870498505503924173412736886413973322424988916525636680503500178140714802590967236129081374393802853416020222461037912381770080713269452270212687638311380682208682970949851692938386580819222563449172718952561265554172623310095931935768630010758957102006749549917043255406799102457659822385071107430471610465103948773187439570583588121162641345307767541029103807279179371561865800596026438187512060963860929447461640826682718984430420282411092787445647461702901460581113403190331990738687216187930603763631424551065572915276184205944344123977542703000738352255861833448183411151341878936592038363552569874057464749170824344424406381095656412408243270887102379627195895876032750781678598115246492199476408796428065669609485700151231209984947719369649855026690890586003943352052194044644444032533948984804342750421452423099244142877115536825435831562735883944128695970916350328857705338547636713714006872547742962888833491687579038952353050999781222851891798284756571668368783352615447814944256366176646911737159679263403549415572835441372261076757595601840097233891785063390134066667767238899676290661055006910175362075780927297556162938009207704947032075690161668803744443983354250458648768380020201 35698290165307273197154297504973677873326656446146579368136399107004732519820600948797471010082212952906411324822481872420738102483934926289740446272897971342640174986502449515057918766650693355932912845391595968834259603195734872320416483489689084960030747196416092033224767834231667587208591084871598182412746042389709869561012750470986946983422291626404870411854550490938050158601213325997601033951004636711618092034326318743262033505659572361695900684009492683848877829494463905452983701570845682977498928161733294831723746252662898752389209610683119513472155542105783205357226810622008565221877062663346931243852391428845855297954916291342953536356562177041222323146040725975415992271279442979612336248185608211485873656096240797278187904262737408151474066273621749065500600902810149762779131482888681781575985760074369944074998006048057435147075757504506413533458933405837445140068815029562432783790325370460191401122510815922921665146282757715691551683381782214297476682744521419653751982368913758148381531942418842630589623244518417768553704966685785529039633288778035850204269763960316168957791422864720888155200960322178686424504789040470114626805715862930160073885635738486980842233730016381014270030173494034612909680612363470044503004023616470182130000913090114024337301901271699673514037271899365101373675473188498064804982100689606708445215278431911902277153504000691329811264375853381481079167202328447089148192474600419388243842261762008025290724000198377186141248250347660924277648851765452250419800697154456176151457082603650064548529435279196927406868025960317462569531653828646812159464166869054513980846520629661594913415778649273652400529929939814446267241100074876800992131852608828541514659877812256383044940906231243886809136910234835296782162054592859653420075307820906251698203803969210535599748719781773570477129780597775989132467215699587562432494156667048883347121382105228515231991935952215428960447467416369948885712290025297053707976107098051684384723278563856548320175987772553107733256772305343125914206669408647256494644769143220690775415706401304108070248300267314802867301549308203 57761046827723270381273470927971713086900335912773057141542337667053520850978564059147319632343440349905840541427446155296454149214152458592516033333282029109760475389671981852881506516895229077224855049411378602479388251625135510219568646313061784902106469082160965064005424917903475544842293279513335648368118758568206273950253325949756107839746009015202621735449466053622711946711593478036515113076003734886905606816652837653179019858453672277812255473629774611825961366643757867539625438279001501953173257909864789447820618589810413348960877005128680792105295447807729901820080495412891773443353407720536538842159139729003020689455859670813234487875183681535427698333924993261101196002948332220077094811664223884048059286475423362186828914175867349584693266188615138089050164976774254785378757363047060132459898909492347514680140481131246784864320785257230966051787989752153684877703355276319839893111055020628863454650381314428425589319695494602105525005806771130823113363248021597794466784959880994277462906336221696046609845705556330150323785679955237799252320927089416532412952734910167861896178003683943451604373679274739951978677412350566046562574345873689117175892385288404024097640529118838674092415244601465084520145716312243231942574607204591344771346220857655053441109180451071235379837867925803288885736437049427512266622927372325692875635560843004689722800965703592790392377779043713471817854418516377692911823899151484961159118445967952369414701542901377924493504112181109107688800193644388842458164249724330233616206253427994488954910530935609335650138913062697089765427529861397593838062282115546713457255317057727264522901478800504862385477649309464301293931990660880744344184046653472985547193826797060725795362358654343130952014025771660732613724790476803782116046224171235109403542351605924249606621267524736459310621468176814941485518215480810414324292441423620551715904734720676330176248302128862340697607146679773498301285125466669314784733702699891781618615063627246682386843755011452784023917827312253301276282450335944812657582778350925637807491396562972911814692283621565261516069929328404 93459336993030543578427768432945390960226992358919636509678736774058253370799165007944790642425653302812251866249928027717192251698087384882256479606180000452400650376174431367939425283545922433157767894802974571313647854820870382539985129802750869862137216278577057097230192752135143132050884364384933830780864800957916143511266076420743054823168300641607492147304016544560762105312806804034116147027008371598523698850979156396441053364113244639508156157639267295674839196138221772992609139849847184930672186071598084279544364842473312101350086615811800305577450989913513107177307306034900338665230470383883470086011531157848875987410775962156188024231745858576650021479965719236517188274227775199689431059849832095533932942571664159465016818438604757736167332462236887154550765879584404548157888845935741914035884669566717458755138487179304220011396542761737379585246923157991130017772170305882272676901380391089054855772892130351347254465978252317797076689188553345120590045992543017448218767328794752425844438278640538677199468950074747918877490646641023328291954215867452382617222498870484030853969426548664339759574639596918638403182201391036161189380061736619277249778021026891004939874259135219688362445418095499697429826328675713276445578630821061526901347133947769077778411081722770908893875139825168390259411910237925577071605028061932401320850839274916591999954469704284120203642154897094952897021620844824782060016373751904349402960707729960394705425543099755110634752362528770031966449045409841092877964946878786409767663336031644553503439966214806263057006939023014552334959183690044405997526448984601227438101837687388859436317257449778514786007579249278747561173090735757545336315899262301527061853704609317108840303264885587017761150936006496029395886845069663435536121531992141361101746155575134785206369987306510029787751248774590930617985431180397976756786598090669435063026116825904845408240238081077769658054614096143447186997415491966368492709809797943466003338342191103230707019742784005891757174599617596427190489119744592069152227547494146328582907102964277019884940583888880064383371478636607 151220383820753813959701239360917104047127328271692693651221074441111774221777729067092110274769093652718092407677374183013646400912239843474772512939462029562161125765846413220820931800441151510382622944214353173793036106446005892759553776115812654764243685360738022161235617670038618676893177643898269479148983559526122417461519402370499162662914309656810113882753482598183474052024400282070631260103012106485429305667631994049620073222566916917320411631269041907500800562781979640532234578128848686883845443981462873727364983432283725450310963620940481097682746437721243008997387801447792112108583878104420008928170670886851896676866635632969422512106929540112077719813890712497618384277176107419766525871514055979581992229047087521651845732614472107320860598650852025243600930856358659333536646208982802046495783579059064973435278968310551004875717328018968345637034912910144814895475525582202112570012435411717918310423273444779772843785673746919902601694995324475943703409240564615242685552288675746703307344614862234723809314655631078069201276326596261127544275142956868915030175233780651892750147430232607791363948318871658590381859613741602207751954407610308394425670406315295029037514788254058362454860662696964781949972044987956508388153238025652871672693354805424131219520262173842144273713007750971679145148347287353089338227955434258094196486400117921281722755435407876910596019933940808424714876039361202474971840272903389310562079153697912764120127086001133035128256474709879139655249239054229935336129196603116643383869589459639042458350497150415598707145852085711642100386713551441999835588731100147940895357154745116123959218736250283377171485228558743048855105081396638289680499945915774512609047531406377834635665623539930148713164961778156762009611635546467217652167756163376470505288507181059034812991254831246489098372716951405872103503646661208391081079039514289986778930851546581175584488540209940110355661760775916945488282540958635683277443512497835247621953405818349913093863497795458675781092426929849728466771570080536881809810325845071966390398499527249931699632867510445325899441407965011 244679720813784357538129007793862495007354320630612330160899811215170027592576894075036900917194746955530344273927302210730838652610327228357028992545642030014561776142020844588760357083987073943540390839017327745106683961266876275299538905918563524626380901639315079258465810422173761808944062008283203309929848360484038560972785478791242217486082610298417606030057499142744236157337207086104747407130020478083953004518611150446061126586680161556828567788908309203175639758920201413524843717978695871814517630053060958006909348274757037551661050236752281403260197427634756116174695107482692450773814348488303479014182202044700772664277411595125610536338675398688727741293856431734135572551403882619455956931363888075115925171618751681116862551053076865057027931113088912398151696735943063881694535054918543960531668248625782432190417455489855224887113870780705725222281836068135944913247695888084385246913815802806973166196165575131120098251651999237699678384183877821064293455233107632690904319617470499129151782893502773401008783605705825988078766973237284455836229358824321297647397732651135923604116856781272131123522958468577228785041815132638368941334469346927671675448427342186033977389047389278050817306080792464479379798373663669784833731868846714398574040488753193208997931343896613053167588147576140069404560257525278666409832983496190495517337239392837873722709905112161030799662088837903377611897660206027257031856646655293659965039861427873158825552629100888145763008837238649171621698284464071028214094143481903053151532925491283595961790463365221861764152791108726194435345897241486405833115180084749168333458992432504983395535993700061891957492807808021796416278172132395835016815845178076039670901236015694943475968888425517166474315897784652791405498480616130653188289288155517831607034662756193820019361242137756518886123965725996802721489077841606367837865637604959421841956968372486020992728778291017880013716374872060392675279956450602051770153322295778713625291748009453143800883240579464567538267026547446155657260689825128950962037873339218294973305602491526951584573451399325390282812886601618 395900104634538171497830247154779599054481648902305023812120885656281801814354623142129011191963840608248436681604676393744485053522567071831801505485104059576722901907867257809581288884428225453923013783231680918899720067712882168059092682034376179390624587000053101419701428092212380485837239652181472789078831920010160978434304881161741380148996919955227719912810981740927710209361607368175378667233032584569382310186243144495681199809247078474148979420177351110676440321702181054057078296107544558698363074034523831734274331707040763001972013857692762500942943865355999125172082908930484562882398226592723487942352872931552669341144047228095033048445604938800805461107747144231753956828579990039222482802877944054697917400665839202768708283667548972377888529763940937641752627592301723215231181263901346007027451827684847405625696423800406229762831198799674070859316748978280759808723221470286497816926251214524891476619439019910892942037325746157602280079179202297007996864473672247933589871906146245832459127508365008124818098261336904057280043299833545583380504501781190212677572966431787816354264287013879922487471277340235819166901428874240576693288876957236066101118833657481063014903835643336413272166743489429261329770418651626293221885106872367270246733843558617340217451606070455197441301155327111748549708604812631755748060938930448589713823639510759155445465340520037941395682022778711802326773699567229732003696919558682970527119015125785922945679715102021180891265311948528311276947523518300963550223340085019696535402514950922638420140960515637460471298643194437836535732610792928405668703911184897109228816147177621107354754729950345269128978036366764845271383253529034124697315791093850552279948767422072778111634511965447315187480859562809553415110116162597870840457044318894302112323169937252854832352496969003007984496682677402674824992724502814758918944677119249408620887819919067196577217318500957990369378135647977338163562497409237735047596834793613961247245153827803056894746738374923243319359453477295884124032259905665832771848199184290261363704102018776883284206318909770716182254294566629 640579825448322529035959254948642094061835969532917353973020696871451829406931517217165912109158587563778780955531978604475323706132894300188830498030746089591284678049888102398341645968415299397463404622249008664006404028979758443358631587952939704017005488639368180678167238514386142294781301660464676099008680280494199539407090359952983597635079530253645325942868480883671946366698814454280126074363053062653335314704854294941742326395927240030977547209085660313852080080622382467581922014086240430512880704087584789741183679981797800553633064094445043904203141292990755241346778016413177013656212575081026966956535074976253442005421458823220643584784280337489533202401603575965889529379983872658678439734241832129813842572284590883885570834720625837434916460877029850039904324328244787096925716318819889967559120076310629837816113879290261454649945069580379796081598585046416704721970917358370883063840067017331864642815604595042013040288977745395301958463363080118072290319706779880624494191523616744961610910401867781525826881867042730045358810273070830039216733860605511510324970699082923739958381143795152053610994235808813047951943244006878945634623346304163737776567260999667096992292883032614464089472824281893740709568792315296078055616975719081668820774332311810549215382949967068250608889302903251817954268862337910422157893922426639085231160878903597029168175245632198972195344111616615179938671359773256989035553566213976630492158876553659081771232344202909326654274149187177482898645807982371991764317483566922749686935440442206234381931423880859322235451434303164030971078508034414811501819091269646277562275139610126090750290723650407161086470844174786641687661425661429959714131636271926591950850003437767721587603400390964481661796757347462344820608596778728524028746332474412133719357832693446674851713739106759526870620648403399477546481802344421126756810314724208830462844788291553217569946096791975870383094510520037730838842453859839786817750157089392674872536901837256200695629978954387810857626480024742039781292949730794783733886072523508556337009704510303834868779770309096106465067181168247 1036479930082860700533789502103421693116317618435222377785141582527733631221286140359294923301122428172027217637136654998219808759655461372020632003515850149168007579957755360207922934852843524851386418405480689582906124096692640611417724269987315883407630075639421282097868666606598522780618541312646148888087512200504360517841395241114724977784076450208873045855679462624599656576060421822455504741596085647222717624891097439437423526205174318505126526629263011424528520402324563521639000310193784989211243778122108621475458011688838563555605077952137806405146085158346754366518860925343661576538610801673750454898887947907806111346565506051315676633229885276290338663509350720197643486208563862697900922537119776184511759972950430086654279118388174809812804990640970787681656951920546510312156897582721235974586571903995477243441810303090667684412776268380053866940915334024697464530694138828657380880766318231856756119435043614952905982326303491552904238542542282415080287184180452128558084063429762990794070037910232789650644980128379634102638853572904375622597238362386701723002543665514711556312645430809031976098465513149048867118844672881119522327912223261399803877686094657148160007196718675950877361639567771323002039339210966922371277502082591448939067508175870427889432834556037523448050190458230363566503977467150542177905954861357087674944984518414356184613640586152236913591026134395326982265445059340486721039250485772659601019277891679445004716912059304930507545539461135705794175593331500672955314540823651942446222337955393128872802072384396496782706750077497601867506811118827343217170523002454543386791091286787747198105045453600752430215448880541551486959044679190464084411447427365777144230798770859840499699237912356411796849277616910271898235718712941326394869203376793306435831681002630699529684066236075762534855117331080802152371474526847235885675754991843458239083732608210620414147163415292933860752472646168015069002404951269077521865346991883006636119782055665059257590376717329311054176985933502037923905325209636460616505734271707798817700713806529080718152986089218866822647321475734876 1677059755531183229569748757052063787178153587968139731758162279399185460628217657576460835410281015735805998592668633602695132465788355672209462501546596238759292258007643462606264580821258824248849823027729698246912528125672399054776355857940255587424635564278789462776035905120984665075399842973110824987096192480998560057248485601067708575419155980462518371798547943508271602942759236276735630815959138709876052939595951734379165852601101558536104073838348671738380600482946945989220922324280025419724124482209693411216641691670636364109238142046582850309349226451337509607865638941756838590194823376754777421855423022884059553351986964874536320218014165613779871865910954296163533015588547735356579362271361608314325602545235020970539849953108800647247721451518000637721561276248791297409082613901541125942145691980306107081257924182380929139062721337960433663022513919071114169252665056187028263944606385249188620762250648209994919022615281236948206197005905362533152577503887232009182578254953379735755680948312100571176471861995422364147997663845975205661813972222992213233327514364597635296271026574604184029709459748957861915070787916887998467962535569565563541654253355656815256999489601708565341451112392053216742748908003282218449333119058310530607888282508182238438648217506004591698659079761133615384458246329488452600063848783783726760176145397317953213781815831784435885786370246011942162204116419113743710074804051986636231511436768233104086488144403507839834199813610322883277074239139483044947078858307218865195909273395835335107184003808277356104942201511800765898477889626861758028672342093724189664353366426397873288855336177251159591301919724716338128646706104851894044125579063637703736181648774297608221286841312747376278511074374257734243056327309720054918897949709267718569551038835324146204535779975182522061725737979484201629917956329191657012432565306567667069546577396502173631717109512084909731135567156688052799841247405128917308683097148972399310992318957502315458286006696283698865034612413526779963686618159367255400239620344231307374037723511039384553021765859527962929112388656903123 2713539685614043930103538259155485480294471206403362109543303861926919091849503797935755758711403443907833216229805288600914941225443817044230094505062446387927299837965398822814187515674102349100236241433210387829818652222365039666194080127927571470832265639918210744873904571727583187856018384285756973875183704681502920575089880842182433553203232430671391417654227406132871259518819658099191135557555224357098770564487049173816589378806275877041230600467611683162909120885271509510859922634473810408935368260331802032692099703359474927664843219998720656714495311609684263974384499867100500166733434178428527876754310970791865664698552470925851996851244050890070210529420305016361176501797111598054480284808481384498837362518185451057194129071496975457060526442158971425403218228169337807721239511484262361916732263884301584324699734485471596823475497606340487529963429253095811633783359195015685644825372703481045376881685691824947825004941584728501110435548447644948232864688067684137740662318383142726549750986222333360827116842123801998250636517418879581284411210585378914956330058030112346852583672005413216005807925262106910782189632589769117990290447792826963345531939450313963417006686320384516218812751959824539744788247214249140820610621140901979546955790684052666328081052062042115146709270219363978950962223796638994777969803645140814435121129915732309398395456417936672799377396380407269144469561478454230431114054537759295832530714659912549091205056462812770341745353071458589071249832470983717902393399130870807642131611351228463979986076192673852887648951589298367765984700745689101245842865096178733051144457713185620486960381630851912021517368605257889615605750784042358128537026491003480880412447545157448720986079225103788075360351991168006141292046022661381313767153086061025005382719837954845734219846211258284596580855310565003782289430856038892898108320298411125308630310004712794045864272927377843591888039802856067868843652356397994830548444140855405947112101013167374715876383413613009919211598347028817887591943369003716016745354615939106191738437317568465271174751948746829751759710132637999 4390599441145227159673287016207549267472624794371501841301466141326104552477721455512216594121684459643639214822473922203610073691232172716439557006609042626686592095973042285420452096495361173349086064460940086076731180348037438720970435985867827058256901204197000207649940476848567852931418227258867798862279897162501480632338366443250142128622388411133909789452775349641142862461578894375926766373514363066974823504083000908195755231407377435577334674305960354901289721368218455500080844958753835828659492742541495443908741395030111291774081362045303507023844538061021773582250138808857338756928257555183305298609733993675925218050539435800388317069258216503850082395331259312524709517385659333411059647079842992813162965063420472027733979024605776104308247893676972063124779504418129105130322125385803487858877955864607691405957658667852525962538218944300921192985943172166925803036024251202713908769979088730233997643936340034942744027556865965449316632554353007481385442191954916146923240573336522462305431934534433932003588704119224362398634181264854786946225182808371128189657572394709982148854698580017400035517385011064772697260420506657116458252983362392526887186192805970778674006175922093081560263864351877756487537155217531359269943740199212510154844073192234904766729269568046706845368349980497594335420470126127447378033652428924541195297275313050262612177272249721108685163766626419211306673677897567974141188858589745932064042151428145653177693200866320610175945166681781472348324071610466762849472257438089672838040884747063799087170080000951208992591153101099133664462590372550859274515207189902922715497824139583493775815717808103071612819288329974227744252456888894252172662605554641184616594096319455056942272920537851164353871426365425740384348373332381436232665102795328743574933758673278991938755626186440806658306593290049205412207387185230549910540885604978792378176887401214967677581382439462753323023606959544120668684899761526912139231541289827805258104419970669690174162390109896708784246210760555597851278561528370971416984974960170413565776160828607849824196517808274792680872098789541122 7104139126759271089776825275363034747767096000774863950844770003253023644327225253447972352833087903551472431052279210804525014916675989760669651511671489014613891933938441108234639612169463522449322305894150473906549832570402478387164516113795398529089166844115210952523845048576151040787436611544624772737463601844004401207428247285432575681825620841805301207107002755774014121980398552475117901931069587424073594068570050082012344610213653312618565274773572038064198842253489965010940767593227646237594861002873297476600841098389586219438924582044024163738339849670706037556634638675957838923661691733611833175364044964467790882749091906726240313920502267393920292924751564328885886019182770931465539931888324377312000327581605923084928108096102751561368774335835943488527997732587466912851561636870065849775610219748909275730657393153324122786013716550641408722949372425262737436819383446218399553595351792211279374525622031859890569032498450693950427068102800652429618306880022600284663902891719665188855182920756767292830705546243026360649270698683734368230636393393750043145987630424822329001438370585430616041325310273171683479450053096426234448543431155219490232718132256284742091012862242477597779076616311702296232325402431780500090554361340114489701799863876287571094810321630088821992077620199861573286382693922766442156003456074065355630418405228782572010572728667657781484541163006826480451143239376022204572302913127505227896572866088058202268898257329133380517690519753240061419573904081450480751865656568960480480172496098292263067156156193625061880240104690397501430447291118239960520358072286081655766642281852769114262776099438954983634336656935232117359858207672936610301199632045644665497006543864612505663258999762954952429231778356593746525640419355042817546432255881389768580316478511233837672975472397699091254887448600614209194496818041269442808649205903389917686807197405927761723445655366840596914911646762400188537528552117924906969779985430683211205216520983837064890038773523509718703457809107584415738870504897374687433730329576109519757514598146176315095371269757021622432631808922179121 11494738567904498249450112291570584015239720795146365792146236144579128196804946708960188946954772363195111645874753133008135088607908162477109208518280531641300484029911483393655091708664824695798408370355090559983281012918439917108134952099663225587346068048312211160173785525424718893718854838803492571599743499006505881839766613728682717810448009252939210996559778105415156984441977446851044668304583950491048417572653050990208099841621030748195899949079532392965488563621708420511021612551981482066254353745414792920509582493419697511213005944089327670762184387731727811138884777484815177680589949288795138473973778958143716100799631342526628630989760483897770375320082823641410595536568430264876599578968167370125163292645026395112662087120708527665677022229512915551652777237005596017981883762255869337634488175613516967136615051821176648748551935494942329915935315597429663239855407697421113462365330880941513372169558371894833313060055316659399743700657153659911003749071977516431587143465056187651160614855291201224834294250362250723047904879948589155176861576202121171335645202819532311150293069165448016076842695284236456176710473603083350906796414517612017119904325062255520765019038164570679339340480663580052719862557649311859360498101539326999856643937068522475861539591198135528837445970180359167621803164048893889534037108502989896825715680541832834622750000917378890169704929633245691757816917273590178713491771717251159960615017516203855446591458195453990693635686435021533767897975691917243601337914007050153318213380845356062154326236194576270872831257791496635094909881490790819794873279475984578482140105992352608038591817247058055247155945265206345104110664561830862473862237600285850113600640184067562605531920300806116783103204722019486909988792687424253779097358676718512155250237184512829611731098584139897913194041890663414606704205226499992719190091508368710064984084807142729401027037806303350237935253721944309206213451879451819109011526720511016463320940954506755064201163633406427487704019868140013590149066425745658850715304536279933323290758974784164919567787565296415113503907711720243 18598877694663769339226937566933618763006816795921229742991006147832151841132171962408161299787860266746584076927032343812660103524584152237778860029952020655914375963849924501889731320834288218247730676249241033889830845488842395495299468213458624116435234892427422112697630574000869934506291450348117344337207100850510283047194861014115293492273630094744512203666780861189171106422375999326162570235653537915122011641223101072220444451834684060814465223853104431029687405875198385521962380145209128303849214748288090397110423591809283730651930526133351834500524237402433848695519416160773016604251641022406971649337823922611506983548723249252868944910262751291690668244834387970296481555751201196342139510856491747437163620226632318197590195216811279227045796565348859040180774969593062930833445399125935187410098395362426242867272444974500771534565652045583738638884688022692400676674791143639513015960682673152792746695180403754723882092553767353350170768759954312340622055952000116716251046356775852840015797776047968517664999796605277083697175578632323523407497969595871214481632833244354640151731439750878632118168005557408139656160526699509585355339845672831507352622457318540262856031900407048277118417096975282348952187960081092359451052462879441489558443800944810046956349912828224350829523590380220740908185857971660331690040564577055252456134085770615406633322729585036671654246092640072172208960156649612383285794684844756387857187883604262057715489715524587371211326206188261595187471879773367724353203570576010633798385876943648325221482392388201332753071362481894136525357172609030780315231351762066234248782387845121722301367916686013038881492602200438462463968872234767472775061869645930515610607184048680068268790920063761069212334983078613233435629212042467071325529614558108280735566715695746667284706570981838989168081490491277623801201023267769435527839297411758627751791282213070491124472693173143947152846900484344497743742003997376726078791512151194227668537461938343819954239937156916146191161828975724429329019571323120346284445634112389453080805357120960480014939057322318037546135716633899364 30093616262568267588677049858504202778246537591067595535137242292411280037937118671368350246742632629941695722801785476820795192132492314714888068548232552297214859993761407895544823029499112914046139046604331593873111858407282312603434420313121849703781302940739633272871416099425588828225146289151609915936950599857016164886961474742798011302721639347683723200226558966604328090864353446177207238540237488406170429213876152062428544293455714809010365172932636823995175969496906806032983992697190610370103568493702883317620006085228981241864936470222679505262708625134161659834404193645588194284841590311202110123311602880755223084348354591779497575900023235189461043564917211611707077092319631461218739089824659117562326912871658713310252282337519806892722818794861774591833552206598658948815329161381804525044586570975943210003887496795677420283117587540526068554820003620122063916530198841060626478326013554094306118864738775649557195152609084012749914469417107972251625805023977633147838189821832040491176412631339169742499294046967527806745080458580912678584359545797992385817278036063886951302024508916326648195010700841644595832871000302592936262136260190443524472526782380795783621050938571618956457757577638862401672050517730404218811550564418768489415087738013332522817889504026359879666969560560579908529989022020554221224077673080045149281849766312448241256072730502415561823951022273317863966777073923202561999286456562007547817802901120465913162081173720041361904961892623283128955369855465284967954541484583060787116599257789004387375808628582777603625902620273390771620267054099821600110104631238050812730922493837474330339959733933071094128648547465644807568079536796598335248924107246216365724207824232747630874322840364567185995438187800632720345618004729891325104626973234826792890816952880259496896437669565978887081275532381941038407905228494269428247029388920127337816775367020213220525499730979447297390782154206288806949955455876828545187803038871705244131858402892850575018441100790322573678865848843864442919168637748866005135160938648669386404096116095744644934506844887614452659639624345619607 48692493957232036927903987425437821541253354386988825278128248440243431879069290633776511546530492896688279799728817820633455295657076466952666928578184572953129235957611332397434554350333401132293869722853572627762942703896124708098733888526580473820216537833167055385569046673426458762731437739499727260274157700707526447934156335756913304794995269442428235403893339827793499197286729445503369808775891026321292440855099253134648988745290398869824830396785741255024863375372105191554946372842399738673952783241990973714730429677038264972516866996356031339763232862536595508529923609806361210889093231333609081772649426803366730067897077841032366520810285986481151711809751599582003558648070832657560878600681150864999490533098291031507842477554331086119768615360210633632014327176191721879648774560507739712454684966338369452871159941770178191817683239586109807193704691642814464593204989984700139494286696227247098865559919179404281077245162851366100085238177062284592247860975977749864089236178607893331192210407387138260164293843572804890442256037213236201991857515393863600298910869308241591453755948667205280313178706399052735489031527002102521617476105863275031825149239699336046477082838978667233576174674614144750624238477811496578262603027298209978973531538958142569774239416854584230496493150940800649438174879992214552914118237657100401737983852083063647889395460087452233478197114913390036175737230572814945285081141406763935674990784724727970877570889244628733116288098811544724142841735238652692307745055159071420914985134732652712597291020970978936378973982755284908145624226708852380425335983000117046979704881682596052641327650619084133010141149666083270032048409031365808023985976892146881334815008281427699143113760428328255207773170879245953781247216772358396430156587792935073626383668576006164181144240547817876249357022873218662209106251762038863774868686331885965568566649233283711649972424152591244543629054690633304693697459874205271266594551022899471800395864831194394972681037947238719870027677819588872248188209071986351419606572761058839484901473216705124949445902209932490205775340979518971 78786110219800304516581037283942024319499891978056420813265490732654711917006409305144861793273125526629975522530603297454250487789568781667554997126417125250344095951372740292979377379832514046340008769457904221636054562303407020702168308839702323523997840773906688658440462772852047590956584028651337176211108300564542612821117810499711316097716908790111958604119898794397827288151082891680577047316128514727462870068975405197077533038746113678835195569718378079020039344869011997587930365539590349044056351735693857032350435762267246214381803466578710845025941487670757168364327803451949405173934821644811191895961029684121953152245432432811864096710309221670612755374668811193710635740390464118779617690505809982561817445969949744818094759891850893012491434155072408223847879382790380828464103721889544237499271537314312662875047438565855612100800827126635875748524695262936528509735188825760765972612709781341404984424657955053838272397771935378849999707594170256843873665999955383011927426000439933822368623038726308002663587890540332697187336495794148880576217061191855986116188905372128542755780457583531928508189407240697331321902527304695457879612366053718556297676022080131830098133777550286190033932252253007152296288995541900797074153591716978468388619276971475092592128920880944110163462711501380557968163902012768774138195910737145551019833618395511889145468190589867795302148137186707900142514304496017507284367597968771483492793685845193884039652062964670095021249991434827853098211590703937660262286539742132208031584392521657099973099649553756540004876603028675679765891280808673980535440614238167859710627375520070382981287384552155227138789697131728077600127945827964143272910084138363247059022832514175330017436600792895441203211358679878674126865221502249721534783561027761866517200621456265661077581910113796763330632555255159700617011480256308292021898075252013303385342016253496932175472155132038541934411208896922111643652915751033816454397589894604715932254267724044969991122138737561293548893526663453315167356846820852356554767511409728225888997589312449769883952747097546942865414965325138578 127478604177032341444485024709379845860753246365045246091393739172898143796075699938921373339803618423318255322259421118087705783446645248620221925704601698203473331908984072690413931730165915178633878492311476849398997266199531728800902197366282797344214378607073744044009509446278506353688021768151064436485266001272069060755274146256624620892712178232540194008013238622191326485437812337183946856092019541048755310924074658331726521784036512548660025966504119334044902720241117189142876738381990087718009134977684830747080865439305511186898670462934742184789174350207352676894251413258310616063028052978420273668610456487488683220142510273844230617520595208151764467184420410775714194388461296776340496291186960847561307979068240776325937237446181979132260049515283041855862206558982102708112878282397283949953956503652682115746207380336033803918484066712745682942229386905750993102940178810460905466899406008588503849984577134458119349642934786744950084945771232541436121526975933132876016662179047827153560833446113446262827881734113137587629592533007385082568074576585719586415099774680370134209536406250737208821368113639750066810934054306797979497088471916993588122825261779467876575216616528953423610106926867151902920527473353397375336756619015188447362150815929617662366368337735528340659955862442181207406338782004983327052314148394245952757817470478575537034863650677320028780345252100097936318251535068832452569448739375535419167784470569921854917222952209298828137538090246372577241053325942590352570031594901203628946569527254309812570390670524735476383850585783960587911515507517526360960776597238284906690332257202666435622615035171239360148930846797811347632176354859329951296896061030510128393837840795603029160550361221223696410984529559124627908112438274608117964940148820696940143584290032271825258726150661614639579989578128378362826117732018347155796766761583899268953908665486780643825444579284629786478040263587555416337350375625239087720992140917504187732650132555239364963803176684800013418921204483042187415545055892838707974374084170787065373899062529154894833398649307479433071190306304657549 206264714396832645961066061993321870180253138343101666904659229905552855713082109244066235133076743949948230844790024415541956271236214030287776922831018823453817427860356812983393309109998429224973887261769381071035051828502938749503070506205985120868212219380980432702449972219130553944644605796802401612696374301836611673576391956756335936990429087022652152612133137416589153773588895228864523903408148055776218180993050063528804054822782626227495221536222497413064942065110129186730807103921580436762065486713378687779431301201572757401280473929513453029815115837878109845258579216710260021236962874623231465564571486171610636372387942706656094714230904429822377222559089221969424830128851760895120113981692770830123125425038190521144031997338032872144751483670355450079710085941772483536576982004286828187453228040966994778621254818901889416019284893839381558690754082168687521612675367636221671439512115789929908834409235089511957622040706722123800084653365402798279995192975888515887944088179487760975929456484839754265491469624653470284816929028801533963144291637777575572531288680052498676965316863834269137329557520880447398132836581611493437376700837970712144420501283859599706673350394079239613644039179120159055216816468895298172410910210732166915750770092901092754958497258616472450823418573943561765374502684017752101190510059131391503777651088874087426180331841267187824082493389286805836460765839564849959853816337344306902660578156415115738956875015173968923158788081681200430339264916646528012832318134643335836978153919775966912543490320078492016388727188812636267677406788326200341496217211476452766400959632722736818603902419723394587287720543929539425232304300687294094569806145168873375452860673309778359177986962014119137614195888239003302034977659776857839499723709848458806660784911488537486336308060775411402910622133383538063443129212274655447818664836835912572339250681740277576000916734416668328412451472484477527981003291376272904175389730812108903664904400279284334954925315422361306967814731146495502582901902713691064529141595580515291262896651841604664717351396405026375936605271629796127 333743318573864987405551086702701716041006384708146912996052969078450999509157809182987608472880362373266486167049445533629662054682859278907998848535620521657290759769340885673807240840164344403607765754080857920434049094702470478303972703572267918212426597988054176746459481665409060298332627564953466049181640303108680734331666103012960557883141265255192346620146376038780480259026707566048470759500167596824973491917124721860530576606819138776155247502726616747109844785351246375873683842303570524480074621691063518526512166640878268588179144392448195214604290188085462522152830629968570637299990927601651739233181942659099319592530452980500325331751499637974141689743509632745139024517313057671460610272879731677684433404106431297469969234784214851277011533185638491935572292500754586244689860286684112137407184544619676894367462199237923219937768960552127241632983469074438514715615546446682576906411521798518412684393812223970076971683641508868750169599136635339716116719951821648763960750358535588129490289930953200528319351358766607872446521561808919045712366214363295158946388454732868811174853270085006346150925634520197464943770635918291416873789309887705732543326545639067583248567010608193037254146105987310958137343942248695547747666829747355363112920908830710417324865596352000791483374436385742972780841466022735428242824207525637456535468559352662963215195491944507852862838641386903772779017374633682412423265076719842321828362626985037593874097967383267751296326171927573007580318242589118365402349729544539465924723447030276725113880990603227492772577774596596855588922295843726702456993808714737673091291889925403254226517454894633947436651390727350772864480655546624045866702206199383503846698514105381388338537323235342834025180417798127929943090098051465957464663858669155746804369201520809311595034211437026042490611711511916426269246944293002603615431598419811841293159347227058219826361313701298114890491736072032944318353667001511991896381871729613091397554532834523699918728492107161320386735935629537689998446958606529772503515679751302356636795714370759559550750045712505809007795577934453676 540008032970697633366617148696023586221259523051248579900712198984003855222239918427053843605957106323214717011839469949171618325919073309195775771366639345111108187629697698657200549950162773628581653015850238991469100923205409227807043209778253039080638817369034609448909453884539614242977233361755867661878014604945292407908058059769296494873570352277844499232279513455369634032615602794912994662908315652601191672910174785389334631429601765003650469038949114160174786850461375562604490946225150961242140108404442206305943467842451025989459618321961648244419406025963572367411409846678830658536953802224883204797753428830709955964918395687156420045982404067796518912302598854714563854646164818566580724254572502507807558829144621818614001232122247723421763016855993942015282378442527069781266842290970940324860412585586671672988717018139812635957053854391508800323737551243126036328290914082904248345923637588448321518803047313482034593724348230992550254252502038137996111912927710164651904838538023349105419746415792954793810820983420078157263450590610453008856657852140870731477677134785367488140170133919275483480483155400644863076607217529784854250490147858417876963827829498667289921917404687432650898185285107470013354160411143993720158577040479522278863691001731803172283362854968473242306793010329304738155344150040487529433334266657028960313119648226750389395527333211695676945332030673709609239783214198532372277081414064149224488940783400153332830972982557236674455114253608773437919583159235646378234667864187875302902877366806243637657371310681719509161304963409233123266329084169927043953211020191190439492251522648140072830419874618028534724371934656890198096784956233918140436508351368256879299559187415159747516524285249461971639376306037131231978067757828323796964387568517614553465154113009346797931342272212437445401233844895454489712376156567658051434096435255724413632410028967335795827278048117966443302943208556510472299356958377784896071771602541721995062458933113808034873653807529522627354550666776033192581348861320220837032657275331817647899692366212364224268101442117532184944400849564249803 873751351544562620772168235398725302262265907759395492896765168062454854731397727610041452078837468696481203178888915482801280380601932588103774619902259866768398947399038584331007790790327118032189418769931096911903150017907879706111015913350520957293065415357088786195368935549948674541309860926709333711059654908053973142239724162782257052756711617533036845852425889494150114291642310360961465422408483249426165164827299507249865208036420903779805716541675730907284631635812621938478174788528721485722214730095505724832455634483329294577638762714409843459023696214049034889564240476647401295836944729826534944030935371489809275557448848667656745377733903705770660602046108487459702879163477876238041334527452234185491992233251053116083970466906462574698774550041632433950854670943281656025956702577655052462267597130206348567356179217377735855894822814943636041956721020317564551043906460529586825252335159386966734203196859537452111565407989739861300423851638673477712228632879531813415865588896558937234910036346746155322130172342186686029709972152419372054569024066504165890424065589518236299315023404004281829631408789920842328020377853448076271124279457746123609507154375137734873170484415295625688152331391094780971491504353392689267906243870226877641976611910562513589608228451320474033790167446715047710936185616063222957676158474182666416848588207579413352610722825156203529808170672060613382018800588832214784700346490783991546317303410385190926705070949940504425751440425536346445499901401824764743637017593732414768827600813836520362771252301284947001933882738005829978855251380013653746410204828905928112583543412573543327056937329512662482161023325384240970961265611780542186303210557567640383146257701520541135855061608484804805664556723835259161921157855879789754429051427186770300269523314530156109526376483649463487891845556407370915981623100860660655049528033675536254925569376194394015653639361819264558193434944628543416617710625379296887968153474271335086460013465948331734792382299636683947741286602405570882579795819926750609536172955083120004536488080583123783818851487830037993952196427498703479 1413759384515260254138785384094748888483525430810644072797477367046458709953637646037095295684794575019695920190728385431972898706521005897299550391268899211879507135028736282988208340740489891660771071785781335903372250941113288933918059123128773996373704232726123395644278389434488288784287094288465201372937669512999265550147782222551553547630281969810881345084705402949519748324257913155874460085316798902027356837737474292639199839466022668783456185580624845067459418486273997501082665734753872446964354838499947931138399102325780320567098381036371491703443102240012607256975650323326231954373898532051418148828688800320519231522367244354813165423716307773567179514348707342174266733809642694804622058782024736693299551062395674934697971699028710298120537566897626375966137049385808725807223544868625992787128009715793020240344896235517548491851876669335144842280458571560690587372197374612491073598258796975415055721999906850934146159132337970853850678104140711615708340545807241978067770427434582286340329782762539110115940993325606764186973422743029825063425681918645036621901742724303603787455193537923557313111891945321487191096985070977861125374769605604541486470982204636402163092401819983058339050516676202250984845664764536682988064820910706399920840302912294316761891591306288947276096960457044352449091529766103710487109492740839695377161707855806163742006250158367899206753502702734322991258583803030747156977427904848140770806244193785344259536043932497741100206554679145119883419484561060411121871685457920290071730478180642764000428623611966666511095187701415063102121580464183580790363415849097118552075794935221683399887357204130691016885395260041131169058050568014460326739718908935897262445816888935700883371585893734266777303933029872390393899225613708113551393438995704384853734677427539502907457718755861900933293079401302825405693999257428318706483624468931260668557979405161729811480917409937231001496378153185053888917067583757081784039925076813057081522472399062139769666036107166206575095837269181604075161144681246971446568830230414937652436180446795488008086952929947570178896597277062953282 2287510736059822874910953619493474190745791338570039565694242535108913564685035373647136747763632043716177123369617300914774179087122938485403325011171159078647906082427774867319216131530817009692960490555712432815275400959021168640029075036479294953666769648083212181839647324984436963325596955215174535083997324421053238692387506385333810600386993587343918190937131292443669862615900223516835925507725282151453522002564773799889065047502443572563261902122300575974744050122086619439560840523282593932686569568595453655970854736809109615144737143750781335162466798454061642146539890799973633250210843261877953092859624171810328507079816093022469910801450211479337840116394815829633969612973120571042663393309476970878791543295646728050781942165935172872819312116939258809916991720329090381833180247446281045249395606845999368807701075452895284347746699484278780884237179591878255138416103835142077898850593956362381789925196766388386257724540327710715151101955779385093420569178686773791483636016331141223575239819109285265438071165667793450216683394895449197117994705985149202512325808313821840086770216941927839142743300735242329519117362924425937396499049063350665095978136579774137036262886235278684027202848067297031956337169117929372255971064780933277562816914822856830351499819757609421309887127903759400160027715382166933444785651215022361794010296063385577094616972983524102736561673374794936373277384391862961941677774395632132317123547604170535186241114882438245525957995104681466328919385962885175865508703051652704840558078994479284363199875913251613513029070439420893080976831844197234536773620678003046664659338347795226726944294533643353499046418585425372140019316179795002513042929466503537645592074590456242019226647502219071582968489753707649555820383469587903305822490422891155154004200742069659016984095239511364421184924957710196321675622358288979361533152502606796923483548781356123827134556771756495559689813097813597305534778209136378672008078551084392167982485865010471504458418406802890522837123871587174957740940501173722056105003185498057656972668527378611791905804417777608172848793704561656761 3701270120575083129049739003588223079229316769380683638491719902155372274638673019684232043448426618735873043560345686346747077793643944382702875402440058290527413217456511150307424472271306901353731562341493768718647651900134457573947134159608068950040473880809335577483925714418925252109884049503639736456934993934052504242535288607885364148017275557154799536021836695393189610940158136672710385593042081053480878840302248092528264886968466241346718087702925421042203468608360616940643506258036466379650924407095401587109253839134889935711835524787152826865909900694074249403515541123299865204584741793929371241688312972130847738602183337377283076225166519252905019630743523171808236346782763265847285452091501707572091094358042402985479913864963883170939849683836885185883128769714899107640403792314907038036523616561792389048045971688412832839598576153613925726517638163438945725788301209754568972448852753337796845647196673239320403883672665681569001780059920096709128909724494015769551406443765723509915569601871824375554012158993400214403656817638479022181420387903794239134227551038125443874225410479851396455855192680563816710214347995403798521873818668955206582449118784410539199355288055261742366253364743499282941182833882466055244035885691639677483657217735151147113391411063898368585984088360803752609119245148270643931895143955862057171172003919191740836623223141892001943315176077529259364535968194893709098655202300480273087929791797955879445777158814935986626164549783826586212338870523945586987380388509572994912288557175122048363628499525218280024124258140835956183098412308380815327137036527100165216735133283016910126831651737774044515931813845466503309077366747809462839782648375439434908037891479391942902598233395953338360272422783580039949719609083296016857215929418595540007738878169609161924441813995373265354478004359013021727369621615717298068016776971538057592041528186517853638615474181693726561186191250998651194451845792893460456048003627897449249504958264072611274124454513969097097932961140768779032902085182420693502673833415912995309408848974174099799992757347725178351745390981624610043 5988780856634906003960692623081697269975108107950723204185962437264285839323708393331368791212058662452050166929962987261521256880766882868106200413611217369175319299884286017626640603802123911046692052897206201533923052859155626213976209196087363903707243528892547759323573039403362215435481004718814271540932318355105742934922794993219174748404269144498717726958967987836859473556058360189546311100767363204934400842867021892417329934470909813909979989825225997016947518730447236380204346781319060312337493975690855243080108575943999550856572668537934162028376699148135891550055431923273498454795585055807324334547937143941176245681999430399752987026616730732242859747138339001442205959755883836889948845400978678450882637653689131036261856030899056043759161800776143995800120490043989489473584039761188083285919223407791757855747047141308117187345275637892706610754817755317200864204405044896646871299446709700178635572393439627706661608212993392284152882015699481802549478903180789561035042460096864733490809420981109640992083324661193664620340212533928219299415093888943441646553359351947283960995627421779235598598493415806146229331710919829735918372867732305871678427255364184676235618174290540426393456212810796314897520003000395427500006950472572955046474132558007977464891230821507789895871216264563152769146960530437577376680795170884418965182299982577317931240196125416104679876849452324195737813352586756671040332976696112405405053339402126414632018273697374232152122544888508052541258256486830762852889091561225699752846636169601332726828375438469893537153328580256849264075244152578049863910657205103211881394471630812136853775946271417398014978232430891875449096682927604465352825577841942972553629966069848184921824880898172409943240912537287689505539992552883920163038419841486695161743078911678820941425909234884629775662929316723218049045243974006277429549929474144854515525076967873977465750030953450222120876004348812248499986624002029839128056082178981841417487444129083082778582872920771987620770085012355953990643025683594415558778836601411052966381517501552711591898561765502786524594184686186266804 9690050977209989133010431626669920349204424877331406842677682339419658113962381413015600834660485281187923210490308673608268334674410827250809075816051275659702732517340797167934065076073430812400423615238699970252570704759290083787923343355695432853747717409701883336807498753822287467545365054222454007997867312289158247177458083601104538896421544701653517262980804683230049084496216496862256696693809444258415279683169269984945594821439376055256698077528151418059150987338807853320847853039355526691988418382786256830189362415078889486568408193325086988894286599842210140953570973046573363659380326849736695576236250116072023984284182767777036063251783249985147879377881862173250442306538647102737234297492480386022973732011731534021741769895862939214699011484613029181683249259758888597113987832076095121322442839969584146903793018829720950026943851791506632337272455918756146589992706254651215843748299463037975481219590112867027065491885659073853154662075619578511678388627674805330586448903862588243406379022852934016546095483654593879023997030172407241480835481792737680780780910390072727835221037901630632054453686096369962939546058915233534440246686401261078260876374148595215434973462345802168759709577554295597838702836882861482744042836164212632530131350293159124578282641885406158481855304625366905378266205678708221308575939126746476136354303901769058767863419267308106623192025529853455102349320781650380138988178996592678492983131200082294077795432512310218778287094672334638753597127010776349840269480070798694665135193344723381090456874963688173561277586721092805447173656460958865191047693732203377098129604913829046980607598009191442530910046276358378758174049675413928192608226217382407461667857549240127824423114294125748303513335320867729455259601636179937020254349260082235169481957081287982865867723230257895130140933675736239776414865589723575497566706445682912107566605154391831104365505135143948682062195599810899694438469794923299584104085806879290666992402393155694052707327434741084718703046153124733023545110866015109061452670017324048275790366475726811391891319113227964876339575667810876847 15678831833844895136971124249751617619179532985282130046863644776683943953286089806346969625872543943639973377420271660869789591555177710118915276229662493028878051817225083185560705679875554723447115668135906171786493757618445710001899552551782796757454960938594431096131071793225649682980846058941268279538799630644263990112380878594323713644825813846152234989939772671066908558052274857051803007794576807463349680526036291877362924755910285869166678067353377415076098506069255089701052199820674587004325912358477112073269470991022889037424980861863021150922663298990346032503626404969846862114175911905544019910784187260013200229966182198176789050278399980717390739125020201174692648266294530939627183142893459064473856369665420665058003625926761995258458173285389173177483369749802878086587571871837283204608362063377375904759540065971029067214289127429399338948027273674073347454197111299547862715047746172738154116791983552494733727100098652466137307544091319060314227867530855594891621491363959452976897188443834043657538178808315787543644337242706335460780250575681681122427334269742020011796216665323409867653052179512176109168877769835063270358619554133566949939303629512779891670591636636342595153165790365091912736222839883256910244049786636785587576605482851167102043173872706913948377726520889930058147413166209145798685256734297630895101536603884346376699103615392724211303068874982177650840162673368407051179321155692705083898036470602208708709813706209684450930409639560842691294855383497607112693158571632024394417981829514324713817285250402158067098430915301349654711248900613536915054958350937306588979524076544641183834383544280608840545888278707250254207270732603018393545433804059325380015297823619088312746247995192298158246754247858155418960799594189063857183292769101568930331225035992966803807293632465142524905803862992459457825460109563729852927116635919827766623091682122265808570115536088594170802938199948623148194425093796953138712160167985861132084479846522238776831290200355513072339473131165480687014188136549609524620231506618735101242171883977279522983789880878730751400933760353997143651 25368882811054884269981555876421537968383957862613536889541327116103602067248471219362570460533029224827896587910580334478057926229588537369724352045713768688580784334565880353494770755948985535847539283374606142039064462377735793789822895907478229611202678348296314432938570547047937150526211113163722287536666942933422237289838962195428252541247358547805752252920577354296957642548491353914059704488386251721764960209205561862308519577349661924423376144881528833135249493408062943021900052860030113696314330741263368903458833406101778523993389055188108139816949898832556173457197378016420225773556238755280715487020437376085224214250364965953825113530183230702538618502902063347943090572833178042364417440385939450496830101677152199079745395822624934473157184770002202359166619009561766683701559703913378325930804903346960051663333084800750017241232979220905971285299729592829494044189817554199078558796045635776129598011573665361760792591984311539990462206166938638825906256158530400222207940267822041220303567466686977674084274291970381422668334272878742702261086057474418803208115180132092739631437703225040499707505865608546072108423828750296804798866240534828028200180003661375107105565098982144763912875367919387510574925676766118392988092622800998220106736833144326226621456514592320106859581825515296963525679371887854019993832673424377371237890907786115435466967034660032317926260900512031105942511994150057431318309334689297762391019601802291002787609138721994669708696734233177330048452510508383462533428051702823089083117022859048094907742125365846240659708502022442460158422557074495780246006044669509966077653681458470230814991142289800283076798324983608632965444782278432321738042030276707787476965681168328440570671109486423906550267583179023148416059195825243794203547118361651165500706993074254786673161355695400420035944796668195697601874975153453428424683342365510678730658287276657639674481041223738119485000395548434047888863563591876438296264253792740422751472248915394470883997527790254157058176177318605420037733247415624633681684176636059149517962250453006334375681199991958716277273336021808020498 41047714644899779406952680126173155587563490847895666936404971892787546020534561025709540086405573168467869965330851995347847517784766247488639628275376261717458836151790963539055476435824540259294654951510512313825558219996181503791722448459261026368657639286890745529069642340273586833507057172104990567075466573577686227402219840789751966186073172393957987242860350025363866200600766210965862712282963059185114640735241853739671444333259947793590054212234906248211347999477318032722952252680704700700640243099740480976728304397124667561418369917051129290739613197822902205960823782986267087887732150660824735397804624636098424444216547164130614163808583211419929357627922264522635738839127708981991600583279398514970686471342572864137749021749386929731615358055391375536649988759364644770289131575750661530539166966724335956422873150771779084455522106650305310233327003266902841498386928853746941273843791808514283714803557217856494519692082964006127769750258257699140134123689385995113829431631781494197200755910521021331622453100286168966312671515585078163041336633156099925635449449874112751427654368548450367360558045120722181277301598585360075157485794668394978139483633174154998776156735618487359066041158284479423311148516649375303232142409437783807683342315995493328664630387299234055237308346405227021673092538096999818679089407722008266339427511670461812166070650052756529229329775494208756782674667518464482497630490382002846289056072404499711497422844931679120639106373794020021343307894005990575226586623334847483501098852373372808725027375768004307758139417323792114869671457688032695300964395606816555057177758003111414649374686570409123622686603690858887172715514881450715283475834336033167492263504787416753316919104678722064797021831037178567376858790014307651386839887463220095831932029067221590480454988160542944941748659660655155427335084717183281351799978285338445353749969398923448244596577312332290287938595497057196083288657388829577008424421778601554835952095437633247715287728145767229397649308484086107051921383965234158301915683254794250760134134430285857359471080870689467678207096375805164149 66416597455954663676934236002594693555947448710509203825946299008891148087783032245072110546938602393295766553241432329825905444014354784858363980321090030406039620486356843892550247191773525795142194234885118455864622682373917297581545344366739255979860317635187059962008212887321523984033268285268712854612133516511108464692058802985180218727320530941763739495780927379660823843149257564879922416771349310906879600944447415601979963910609609718013430357116435081346597492885380975744852305540734814396954573841003849880187137803226446085411758972239237430556563096655458379418021161002687313661288389416105450884825062012183648658466912130084439277338766442122467976130824327870578829411960887024356018023665337965467516573019725063217494417572011864204772542825393577895816607768926411453990691279664039856469971870071296008086206235572529101696755085871211281518626732859732335542576746407946019832639837444290413312815130883218255312284067275546118231956425196337966040379847916395336037371899603535417504323377207999005706727392256550388981005788463820865302422690630518728843564630006205491059092071773490867068063910729268253385725427335656879956352035203223006339663636835530105881721834600632122978916526203866933886074193415493696220235032238782027790079149139819555286086901891554162096890171920523985198771909984853838672922081146385637577318419456577247633037684712788847155590676006239862725186661668521913815939825071300608680075674206790714285031983653673790347803108027197351391760404514374037760014675037670572584215875232420903632769501133850548417847919346234575028094014762528475546970440276326521134831439461581645464365828860209406699484928674467520138160297159883037021517864612740954969229185955745193887590214165145971347289414216201715792917985839551445590387005824871261332639022141476377153616343855943364977693456328850853029210059870636709776483320650849124084408256675581087919077618536070409772938991045491243972152220980706015304688675571341977587424344353027718599285255936021386455825485802691527089654631380858791983599859890853400278096384883292191735152280862648183955480432397613184647 107464312100854443083886916128767849143510939558404870762351270901678694108317593270781650633344175561763636518572284325173752961799121032347003608596466292123498456638147807431605723627598066054436849186395630769690180902370098801373267792826000282348517956922077805491077855227595110817540325457373703421687600090088794692094278643774932184913393703335721726738641277405024690043750023775845785129054312370091994241679689269341651408243869557511603484569351341329557945492362699008467804558221439515097594816940744330856915442200351113646830128889290366721296176294478360585378844943988954401549020540076930186282629686648282073102683459294215053441147349653542397333758746592393214568251088596006347618606944736480438203044362297927355243439321398793936387900880784953432466596528291056224279822855414701387009138836795631964509079386344308186152277192521516591751953736126635177040963675261692961106483629252804697027618688101074749831976150239552246001706683454037106174503537302390449866803531385029614705079287729020337329180492542719355293677304048899028343759323786618654479014079880318242486746440321941234428621955849990434663027025921016955113837829871617984479147270009685104657878570219119482044957684488346357197222710064868999452377441676565835473421465135312883950717289190788217334198518325751006871864448081853657352011488868393903916745931127039059799108334765545376384920451500448619507861329186986396313570315453303454969131746611290425782454828585352910986909481821217372735068298520364612986601298372518056085314727605793712357796876901854856175987336670026689897765472450561170847934835883143076192009197464693060113740515430618530322171532365326407310875812041333752304993698948774122461492690743161947204509318843868036144311245253380283169776775853859096977226893288091357164571051208697967634071332016486309919442115989506008456545144587819991128283298936187569438158226074504536163674195848402700060877586542548440055440878369535592313113097349943532423376439790660966314572984081788615853474794286777634141576015346092950285515543145647651038230519313578049094623361733337651633687528773418348796 173880909556809106760821152131362542699458388268914074588297569910569842196100625515853761180282777955059403071813716654999658405813475817205367588917556322529538077124504651324155970819371591849579043421280749225554803584744016098954813137192739538328378274557264865453086068114916634801573593742642416276299733606599903156786337446760112403640714234277485466234422204784685513886899281340725707545825661680998873842624136684943631372154479167229616914926467776410904542985248079984212656863762174329494549390781748180737102580003577559732241887861529604151852739391133818964796866104991641715210308929493035637167454748660465721761150371424299492718486116095664865309889570920263793397663049483030703636630610074445905719617382022990572737856893410658141160443706178531328283204297217467678270514135078741243479110706866927972595285621916837287849032278392727873270580468986367512583540421669638980939123466697095110340433818984293005144260217515098364233663108650375072214883385218785785904175430988565032209402664937019343035907884799269744274683092512719893646182014417137383322578709886523733545838512095432101496685866579258688048752453256673835070189865074840990818810906845215210539600404819751605023874210692213291083296903480362695672612473915347863263500614275132439236804191082342379431088690246274992070636358066707496024933570014779541494064350583616307432146019478334223540511127506688482233047990855508310129510140524604063649207420818081140067486812239026701334712589848414724126828703034738650746615973410188628669530602838214615990566378035705404593835256016261264925859487213089646394905276159469597326840636926274705578106344290827937021656461039793927449036109201216789326511563561515077430721876698907141092099533009014007491600659469581998962694761693410542567613899112962618497210073350174344787687675872429674897135572318356861485755204458456700904766619587036693522566482750085624082751814384473109833816577588039684027593099350241607617801772921285510010800784143688684913858240017810002309300280089469161231230646726951742269115403036501051316326904196870240829775642595985835589167961171031533443 281345221657663549844708068260130391842969327827318945350648840812248536304418218786635411813626953516823039590386000980173411367612596849552371197514022614653036533762652458755761694446969657904015892607676379995244984487114114900328080930018739820676896231479342670944163923342511745619113919200016119697987333696688697848880616090535044588554107937613207192973063482189710203930649305116571492674879974051090868084303825954285282780398348724741220399495819117740462488477610778992680461421983613844592144207722492511594018022203928673379072016750819970873148915685612179550175711048980596116759329469569965823450084435308747794863833830718514546159633465749207262643648317512657007965914138079037051255237554810926343922661744320917927981296214809452077548344586963484760749800825508523902550336990493442630488249543662559937104365008261145474001309470914244465022534205113002689624504096931331942045607095949899807368052507085367754976236367754650610235369792104412178389386922521176235770978962373594646914481952666039680365088377341989099568360396561618921989941338203756037801592789766841976032584952417373335925307822429249122711779479177690790184027694946458975297958176854900315197478975038871087068831895180559648280519613545231695124989915591913698736922079410445323187521480273130596765287208572025998942500806148561153376945058883173445410810281710655367231254354243879599925431579007137101740909320042494706443080455977907518618339167429371565849941640824379612321622071669632096861897001555103263733217271782706684754845330444008328348363254937560260769822592686287954823624959663650817242840112042612673518849834390967765691846859721446467343827993405120334759911921242550541631505262510289199892214567442069088296608851852882043635911904722962282132471537547269639544840792401053975661781124558872312421759007888915984816577688307862869942300349046276692033049918523224262960724708824590160246426010232875809894694164130588124083033977719777199930914870271229042434177223934349651228431224099598618162775074376246795372806662073044692554630946182148702354557423510448289924399004329323487222855489944449882239 455226131214472656605529220391492934542427716096233019938946410722818378500518844302489172993909731471882442662199717635173069773426072666757738786431578937182574610887157110079917665266341249753594936028957129220799788071858130999282894067211479359005274506036607536397249991457428380420687512942658535974287067303288601005666953537295156992194822171890692659207485686974395717817548586457297200220705635732089741926927962639228914152552827891970837314422286894151367031462858858976893118285745788174086693598504240692331120602207506233111313904612349575025001655076745998514972577153972237831969638399063001460617539183969213516624984202142814038878119581844872127953537888432920801363577187562067754891868164885372249642279126343908500719153108220110218708788293142016089033005122725991580820851125572183873967360250529487909699650630177982761850341749306972338293114674099370202208044518600970922984730562646994917708486326069660760120496585269748974469032900754787250604270307739962021675154393362159679123884617603059023400996262141258843843043489074338815636123352620893421124171499653365709578423464512805437421993689008507810760531932434364625254217560021299966116769083700115525737079379858622692092706105872772939363816517025594390797602389507261562000422693685577762424325671355472976196375898818300991013137164215268649401878628897952986904874632294271674663400373722213823465942706513825583973957310898003016572590596502511582267546588247452705917428453063406313656334661518046820988725704589841914479833245192895313424375933282222944338929632973265665363657848702549219749484446876740463637745388202082270845690471317242471269953204012274404365484454444914262208948030443767330958016826071804277322936444140976229388708384861896051127512564192544281095166299240680182112454691514016594158991197909046657209446683761345659713713260626219731428055553504733392937816538110260956483291191574675784329177824617348919728510741718627808110627077070018807548716643192514552444978008078038336142289464117408620472075354465715956604037308799996434823746349218649753670884327707318530754174646925309322812023451115481415682 736571352872136206450237288651623326385397043923551965289595251535066914804937063089124584807536684988705482252585718615346481141038669516310109983945601551835611144649809568835679359713310907657610828636633509216044772558972245899610974997230219179682170737515950207341413914799940126039801432142674655672274400999977298854547569627830201580748930109503899852180549169164105921748197891573868692895585609783180610011231788593514196932951176616712057713918106011891829519940469637969573579707729402018678837806226733203925138624411434906490385921363169545898150570762358178065148288202952833948728967868632967284067623619277961311488818032861328585037753047594079390597186205945577809329491325641104806147105719696298593564940870664826428700449323029562296257132880105500849782805948234515483371188116065626504455609794192047846804015638439128235851651220221216803315648879212372891832548615532302865030337658596894725076538833155028515096732953024399584704402692859199428993657230261138257446133355735754326038366570269098703766084639483247943411403885635957737626064690824649458925764289420207685611008416930178773347301511437756933472311411612055415438245254967758941414727260555015840934558354897493779161538001053332587644336130570826085922592305099175260737344773096023085611847151628603572961663107390326989955637970363829802778823687781126432315684914004927041894654727966093423391374285520962685714866630940497723015671052480419100885885755676824271767370093887785925977956733187678917850622706144945178213050516975601998179221263726231272687292887910825926133480441388837174573109406540391280880585500244694944364540305708210236961800063733720871709312447850034596968859951686317872589522088582093477215151011583045317685317236714778094763424468915506563227637836787949821657295483915070569820772322467918969631205691650261644530290948934082601370355902551010084970866456633485219444015900399265944575603834850224729623204905849215932193661054789796007479631513463743594879155232012387987370720688217007238634850428841962751976843970873041127378377295400798456025441751217766820678573651254632810034878941059931297921 1191797484086608863055766509043116260927824760019784985228541662257885293305455907391613757801446416460587924914785436250519550914464742183067848770377180489018185755536966678915597024979652157411205764665590638436844560630830376898893869064441698538687445243552557743738663906257368506460488945085333191646561468303265899860214523165125358572943752281394592511388034856138501639565746478031165893116291245515270351938159751232743111085504004508682895028340392906043196551403328496946466697993475190192765531404730973896256259226618941139601699825975519120923152225839104176580120865356925071780698606267695968744685162803247174828113802235004142623915872629438951518550724094378498610693068513203172561038973884581670843207219997008734929419602431249672514965921173247516938815811070960507064192039241637810378422970044721535756503666268617110997701992969528189141608763553311743094040593134133273788015068221243889642785025159224689275217229538294148559173435593613986679597927538001100279121287749097914005162251187872157727167080901624506787254447374710296553262188043445542880049935789073573395189431881442984210769295200446264744232843344046420040692462814989058907531496344255131366671637734756116471254244106926105527008152647596420476720194694606436822737767466781600848036172822984076549158039006208627980968775134579098452180702316679079419220559546299198716558055101688307246857316992034788269688823941838500739588261648982930683153432343924276977684798546951192239634291394705725738839348410734787092692883762168497311603597197008454217026222520884091591497138290091386394322593853417131744518330888446777215210230777025452708231753267745995276074796902294948859177807982130085203547538914653897754538087455724021547074025621576674145890937033108050844322804136028630003769750175429087163979763520376965626840652375411607304244004209560302332798411456055743477908682994743746175927307091973941728904781659467573649351715647567843740304288131859814815028348156656258147324133240090426323513010152334415859106925783307678708580881279673037562202123644619448209696326078925085351432748298179942132846902392175412713603 1928368836958745069506003797694739587313221803943336950518136913792952208110392970480738342608983101449293407167371154865866032055503411699377958754322782040853796900186776247751276384692963065068816593302224147652889333189802622798504844061671917718369615981068507951080077821057308632500290377228007847318835869303243198714762092792955560153692682390898492363568584025302607561313944369605034586011876855298450961949391539826257308018455181125394952742258498917935026071343798134916040277701204592211444369210957707100181397851030376046092085747338688666821302796601462354645269153559877905729427574136328936028752786422525136139602620267865471208953625677033030909147910300324076420022559838844277367186079604277969436772160867673561358120051754279234811223054053353017788598617019195022547563227357703436882878579838913583603307681907056239233553644189749405944924412432524115985873141749665576653045405879840784367861563992379717790313962491318548143877838286473186108591584768262238536567421104833668331200617758141256430933165541107754730665851260346254290888252734270192338975700078493781080800440298373162984116596711884021677705154755658475456130708069956817848946223604810147207606196089653610250415782107979438114652488778167246562642786999705612083475112239877623933648019974612680122119702113598954970924413104942928254959526004460205851536244460304125758452709829654400670248691277555750955403690572778998462603932701463349784039318099601101249452168640838978165612248127893404656689971116879732270905934279144099309782818460734685489713515408794917517630618731480223568895703259957523025398916388691472159574771082733662945193553331479716147784109350144983456146667933816403076137061003235991231753238467307066864759342858291452240654361502023557407550441972816579825427045659344157733800535842844884596471858067061868948774295158494384934168767358606753562879549451377231395371322992373207673480385494317798378974920553417059672497949186649610822507979670120001742203288472102814310883730840551423097741776212149641460557725250546078689580500940020246665721767830142852172111321949434574942881781333235344011524 3120166321045353932561770306737855848241046563963121935746678576050837501415848877872352100410429517909881332082156591116385582969968153882445807524699962529871982655723742926666873409672615222480022357967814786089733893820632999697398713126113616257057061224621065694818741727314677138960779322313341038965397337606509098574976615958080918726636434672293084874956618881441109200879690847636200479128168100813721313887551291059000419103959185634077847770598891823978222622747126631862506975694679782404209900615688680996437657077649317185693785573314207787744455022440566531225390018916802977510126180404024904773437949225772310967716422502869613832869498306471982427698634394702575030715628352047449928225053488859640279979380864682296287539654185528907326188975226600534727414428090155529611755266599341247261301549883635119359811348175673350231255637159277595086533175985835859079913734883798850441060474101084674010646589151604407065531192029612696703051273880087172788189512306263338815688708853931582336362868946013414158100246442732261517920298635056550844150440777715735219025635867567354475989872179816147194885891912330286421937998099704895496823170884945876756477719949065278574277833824409726721670026214905543641660641425763667039362981694312048906212879706659224781684192797596756671277741119807582951893188239522026707140228321139285270756804006603324475010764931342707917106008269590539225092514514617499202192194350446280467192750443525378227136967187790170405246539522599130395529319527614519363598818041312596621386415657743139706739737929679009109127757021571609963218297113374654769917247277138249374785001859759115653425306599225711423858906252439932315324475915946488279684599917889888986291325923031088411833368479868126386545298535131608251873246108845209829196795834773244897780299363221850223312510442473476253018299368054687266967178814662497040788232446120977571298630084347149402385167153785372028326636200984903412802237318509425637536327826776259889527421712193240634396740992885838956848701995457320169138606530219116251782624584639694875418093909067937523544070247614517075728683725410756725127 5048535158004099002067774104432595435554268367906458886264815489843789709526241848353090443019412619359174739249527745982251615025471565581823766279022744570725779555910519174418149794365578287548838951270038933742623227010435622495903557187785533975426677205689573645898819548371985771461069699541348886284233206909752297289738708751036478880329117063191577238525202906743716762193635217241235065140044956112172275836942830885257727122414366759472800512857390741913248694090924766778547253395884374615654269826646388096619054928679693231785871320652896454565757819042028885870659172476680883239553754540353840802190735648297447107319042770735085041823123983505013336846544695026651450738188190891727295411133093137609716751541732355857645659705939808142137412029279953552516013045109350552159318493957044684144180129722548702963119030082729589464809281349027001031457588418359975065786876633464427094105879980925458378508153143984124855845154520931244846929112166560358896781097074525577352256129958765250667563486704154670589033411983840016248586149895402805135038693511985927558001335946061135556790312478189310179002488624214308099643152855363370952953878954902694605423943553875425781884029914063336972085808322884981756313130203930913602005768694017660989687991946536848715332212772209436793397443233406537922817601344464954962099754325599491122293048466907450233463474760997108587354699547146290180496205087396497664796127051909630251232068543126479476589135828629148570858787650492535052219290644494251634504752320456695931169234118477825196453253338473926626758375753051833532114000373332177795316163665829721534359772942492778598618859930705427571643015602584915771471143849762891355821660921125880218044564390338155276592711338159578627199660037155165659423688081661789654623841494117402631580835206066734819784368509535345201792594526549072201135946173269250603667781897498208966669953076720357075865552648103170407301556754401963085300186505159036460044307496896261631730710184296054945280471833437262054590478207606961629696331780765194941363125524659941541139861739210789695655392197049092018610465058646100736651 8168701479049452934629544411170451283795314931869580822011494065894627210942090726225442543429842137269056071331684337098637197995439719464269573803722707100597762211634262101085023204038193510028861309237853719832357120831068622193302270313899150232483738430310639340717561275686662910421849021854689925249630544516261395864715324709117397606965551735484662113481821788184825963073326064877435544268213056925893589724494121944258146226373552393550648283456282565891471316838051398641054229090564157019864170442335069093056712006329010417479656893967104242310212841482595417096049191393483860749679934944378745575628684874069758075035465273604698874692622289976995764545179089729226481453816542939177223636186581997249996730922597038153933199360125337049463601004506554087243427473199506081771073760556385931405481679606183822322930378258402939696064918508304596117990764404195834145700611517263277535166354082010132389154742295588531921376346550543941549980386046647531684970609380788916167944838812696833003926355650168084747133658426572277766506448530459355979189134289701662777026971813628490032780184658005457373888380536544594521581150955068266449777049839848571361901663502940704356161863738473063693755834537790525397973771629694580641368750388329709895900871653196073497016405569806193464675184353214120874710789583986981669239982646738776393049852473510774708474239692339816504460707816736829405588719602013996866988321402355910718424818986651857703726103016419318976105327173091665447748610172108770998103570361769292552555649776220964903192991268152935735886132774623443495332297486706832565233410942967970909144774802251894252044166529931138995501921855024848086795619765709379635506260839015769204335890313369243688426079818027705013744958572286773911296934190506999483820637328890647529361134569288585043096878952008821454810893894603759468103124987931747644456014343619186537968583161067506478250719801888542435628192955386866498102423823668462097580635323672521521258131896489295579677212826323101011439180203064281798834938310984311193145750109299636416557955648278727219199462444663609094339148784056857461778 13217236637053551936697318515603046719349583299776039708276309555738416920468332574578532986449254756628230810581212083080888813020911285046093340082745451671323541767544781275503172998403771797577700260507892653574980347841504244689205827501684684207910415636000212986616380824058648681882918721396038811533863751426013693154454033460153876487294668798676239352007024694928542725266961282118670609408258013038065865561436952829515873348787919153023448796313673307804720010928976165419601482486448531635518440268981457189675766935008703649265528214620000696875970660524624302966708363870164743989233689484732586377819420522367205182354508044339783916515746273482009101391723784755877932192004733830904519047319675134859713482464329394011578859066065145191601013033786507639759440518308856633930392254513430615549661809328732525286049408341132529160874199857331597149448352822555809211487488150727704629272234062935590767662895439572656777221501071475186396909498213207890581751706455314493520200968771462083671489842354322755336167070410412294015092598425862161114227827801687590335028307759689625589570497136194767552890869160758902621224303810431637402730928794751265967325607056816130138045893652536400665841642860675507154286901833625494243374519082347370885588863599732922212348618342015630258072627586620658797528390928451936631339736972338267515342900940418224941937714453336925091815407363883119586084924689410494531784448454265540969656887529778337180315238845048467546964114823584200499967900816603022632608322682225988483724883894698790099646244606626862362644508527675277027446297860039010360549574608797692443504547744744672850663026460636566567144937457609763858266763615472270991327921760141649422380454703707398965018791156187283640944618609441939570720622272168789138444478823008050160941969775355319862881247461544166656603488421152831669239071161200998248123796241117395504638536237787863554116272449991712842929749709788829583402610328827498557624942820568783152988842080785350524957684659760363066029658410671243428531270091749506134508875633959577957697817387489516914854854641712701112949613842702958198429 21385938116103004871326862926773498003144898231645620530287803621633044131410423300803975529879096893897286881912896420179526011016351004510362913886468158771921303979179043376588196202441965307606561569745746373407337468672572866882508097815583834440394154066310852327333942099745311592304767743250728736783494295942275089019169358169271274094260220534160901465488846483113368688340287346996106153676471069963959455285931074773774019575161471546574097079769955873696191327767027564060655711577012688655382610711316526282732478941337714066745185108587104939186183502007219720062757555263648604738913624429111331953448105396436963257389973317944482791208368563459004865936902874485104413645821276770081742683506257132109710213386926432165512058426190482241064614038293061727002867991508362715701466015069816546955143488934916347608979786599535468856939118365636193267439117226751643357188099667990982164438588144945723156817637735161188698597847622019127946889884259855422266722315836103409688145807584158916675416198004490840083300728836984571781599046956321517093416962091389253112055279573318115622350681794200224926779249697303497142805454765499903852507978634599837329227270559756834494207757391009464359597477398466032552260673463320074884743269470677080781489735252928995709365023911821823722747811939834779672239180512438918300579719619077043908392753413928999650411954145676741596276115180619948991673644291424491398772769856621451688081706516430194884041341861467786523069441996675865947716510988711793630711893043995281036280533670919755002839235874779798098530641302298720522778595346745842925782985551765663352649322546996567102707192990567705562646859312634611945062383381181650626834182599157418626716345017076642653444870974214988654689577181728713482017556462675788622265116151898697690303104344643904905978126413552988111414382315756591137342196149132745892579810584736582042607119398855370032366992251880255278557942665175696081505034152495960655205578144241304674246973977274646104634897486083464077468838613735525227366208402733817327654625743259214374255773035768244134054317086376310207288762626759815660207 34603174753156556808024181442376544722494481531421660238564113177371461051878755875382508516328351650525517692494108503260414824037262289556456253969213610443244845746723824652091369200845737105184261830253639026982317816514077111571713925317268518648304569702311065313950322923803960274187686464646767548317358047368288782173623391629425150581554889332837140817495871178041911413607248629114776763084729083002025320847368027603289892923949390699597545876083629181500911338696003729480257194063461220290901050980297983472408245876346417716010713323207105636062154162531844023029465919133813348728147313913843918331267525918804168439744481362284266707724114836941013967328626659240982345837826010600986261730825932266969423695851255826177090917492255627432665627072079569366762308509817219349631858269583247162504805298263648872895029194940667998017813318222967790416887470049307452568675587818718686793710822207881313924480533174733845475819348693494314343799382473063312848474022291417903208346776355621000346906040358813595419467799247396865796691645382183678207644789893076843447083587333007741211921178930394992479670118858062399764029758575931541255238907429351103296552877616572964632253651043545865025439120259141539706547575296945569128117788553024451667078598852661917921713642253837453980820439526455438469767571440890854931919456591415311423735654354347224592349668599013666688091522544503068577758568980834985930557218310886992657738594046208532064356580706516254070033556820260066447684411805314816263320215726221269520005417565618545102485480481406660461175149829973997550224893206784853286332560160563355796153870291741239953370219451204272129791796770244375803329146996653921618162104359299068049096799720784041618463662130402272295634195791170653052738178734844577760709594974906747851245074119999224768859373875097154768017870736909422806581267310333744140703606825853977547245655636643233586483264701871968121487692374964525664907644481323459212830520964810087827235816058059996629592582145843827143498497024406768655897478494483323462163501377218792331953590423257761048909171728089011320238376469462773858636 55989112869259561679351044369150042725639379763067280768851916799004505183289179176186484046207448544422804574407004923439940835053613294066819167855681769215166149725902868028679565403287702412790823399999385400389655285186649978454222023132852353088698723768621917641284265023549271866492454207897496285100852343310563871192792749798696424675815109866998042282984717661155280101947535976110882916761200152965984776133299102377063912499110862246171642955853585055197102666463031293540912905640473908946283661691614509755140724817684131782755898431794210575248337664539063743092223474397461953467060938342955250284715631315241131697134454680228749498932483400400018833265529533726086759483647287371068004414332189399079133909238182258342602975918446109673730241110372631093765176501325582065333324284653063709459948787198565220504008981540203466874752436588603983684326587276059095925863687486709668958149410352827037081298170909895034174417196315513442290689266732918735115196338127521312896492583939779917022322238363304435502768528084381437578290692338505195301061751984466096559138866906325856834271860724595217406449368555365896906835213341431445107746886063950940625780148176329799126461408434555329385036597657607572258808248760265644012861058023701532448568334105590913631078666165659277703568251466290218142006751953329773232499176210492355332128407768276224242761622744690408284367637725123017569432213272259477329329988167508444345820300562638726948397922567984040593102998816935932395400922794026609894032108770216550556285951236538300105324716356186458559705791132272718073003488553530696212115545712329019148803192838737807056077412441771977692438656082878987748391530377835572244996286958456486675813144737860684271908533104617260950323772972899366534755735197520366382974711126805445541548178464643129674837500288650142879432253052666013943923463459466490033283417410590559589852775035498603618850256953752223400045635040140221746412678633819419868036099109051392501482790035334642734227479631927291220967335638142293883263686897217140789818127120478006706209363459026005182963488814465321527527139096222589518843 90592287622416118487375225811526587448133861294488941007416029976375966235167935051568992562535800194948322266901113426700355659090875583623275421824895379658410995472626692680770934604133439517975085230253024427371973101700727090025935948450120871737003293470932982955234587947353232140680140672544263833418210390678852653366416141428121575257369999199835183100480588839197191515554784605225659679845929235968010096980667129980353805423060252945769188831937214236698014005159035023021170099703935129237184712671912493227548970694030549498766611755001316211310491827070907766121689393531275302195208252256799168615983157234045300136878936042513016206656598237341032800594156192967069105321473297972054266145158121666048557605089438084519693893410701737106395868182452200460527485011142801414965182554236310871964754085462214093399038176480871464892565754811571774101214057325366548494539275305428355751860232560708351005778704084628879650236545009007756634488649205982047963670360418939216104839360295400917369228278722118030922236327331778303374982337720688873508706541877542940006222454239333598046193039654990209886119487413428296670864971917362986362985793493302043922333025792902763758715059478101194410475717916749111965355824057211213140978846576725984115646932958252831552792308419496731684388690992745656611774323394220628164418632801907666755864062122623448835111291343704074972459160269626086147190782253094463259887206478395437003558894608847259012754503274500294663136555637195998843085334599341426157352324496437820076291368802156845207810196837593119020880940962246715623228381760315549498448105872892374944957063130479047009447631892976249822230452853123363551720677374489493863158391317755554724909944458644725890372195235019533245957968764070019587493913932364944143684306101712193392793252584642354443696874163747297647450123789575436750504730769800234173987024236444537137098430672141837205333521655624191521533327415104747411320323115142879080866620073861480328718606093394639363820061777771118364465832662549062539161165391700464251981628497696799038162953882283766231872660542554332847765515565685363377479 146581400491675680166726270180676630173773241057556221776267946775380471418457114227755476608743248739371126841308118350140296494144488877690094589680577148873577145198529560709450500007421141930765908630252409827761628386887377068480157971582973224825702017239554900596518852970902504007172594880441760118519062733989416524559208891226817999933185109066833225383465306500352471617502320581336542596607129388933994873113966232357417717922171115191940831787790799291895116671622066316562083005344409038183468374363527002982689695511714681281522510186795526786558829491609971509213912867928737255662269190599754418900698788549286431834013390722741765705589081637741051633859685726693155864805120585343122270559490311065127691514327620342862296869329147846780126109292824831554292661512468383480298506838889374581424702872660779313903047158021074931767318191400175757785540644601425644420402962792138024710009642913535388087076874994523913824653741324521198925177915938900783078866698546460529001331944235180834391550517085422466425004855416159740953273030059194068809768293862009036565361321145659454880464900379585427292568855968794193577700185258794431470732679557252984548113173969232562885176467912656523795512315574356684224164072817476857153839904600427516564215267063843745183870974585156009387956942459035874753781075347550401396917809012400022087992469890899673077872914088394483256826797994749103716622995525353940589217194645903881349379195171485985961152425842484335256239554454131931238486257393368036051384433266654370632577320038695145313134913193779577580586732094519433696231870313846245710563651585221394093760255969216854065525044334748227514669108936002351300112207752325066108154678276212041400723089196505410162280728339636794196281741736969386122249649129885310526659017228517638934341431049285484118534374452397440526882376842241450694428194229266724207270441647035096726951205707640440824183778609376414921578962455244969157733001748962298948902719182912872830201396128729282098047541409698409585433168300691356422424852288917605041799755618174805744372317341309771414836149357019654375292654661907952896322 237173688114091798654101495992203217621907102352045162783683976751756437653625049279324469171279048934319449108209231776840652153235364461313370011505472528531988140671156253390221434611554581448740993860505434255133601488588104158506093920033094096562705310710487883551753440918255736147852735552986023951937273124668269177925625032654939575190555108266668408483945895339549663133057105186562202276453058624902004970094633362337771523345231368137710020619728013528593130676781101339583253105048344167420653087035439496210238666205745230780289121941796842997869321318680879275335602261460012557857477442856553587516681945783331731970892326765254781912245679875082084434453841919660224970126593883315176536704648432731176249119417058427381990762739849583886521977475277032014820146523611184895263689393125685453389456958122993407302085334501946396659883946211747531886754701926792192914942238097566380461869875474243739092855579079152793474890286333528955559666565144882831042537058965399745106171304530581751760778795807540497347241182747938044328255367779882942318474835739551976571583775384993052926657940034575637178688343382222490248565157176157417833718473050555028470446199762135326643891527390757718205988033491105796189519896874688070294818751177153500679862200022096576736663283004652741072345633451781531365555398741771029561336441814307688843856532013523121912984205432098558229285958264375189863813777778448403849104401124299318352938089780333244973906929116984629919376110091327930081571591992709462208736757763092190708868688840851990520945110031372696601467673056766149319460252074161795209011757458113769038717319099695901074972676227724477336899561789125714851832885126814559971313069593967596125633033655150136052652923574656327442239710501039405709743563062250254670343323330229832327134683633927838562231248616144738174332500631816887444932924999066958381257465883479633864049636379782278029517300265000606443112289870349716569053324864105178029769339256774353158920002222123921461867603187469527949899000963240418961586017680618069293781384115871604782535271223593537646708809899573987223058170227593316273801 383755088605767478820827766172879847795680343409601384559951923527136909072082163507079945780022297673690575949517350126980948647379853339003464601186049677405565285869685814099671934618975723379506902490757844082895229875475481226986251891616067321388407327950042784148272293889158240155025330433427784070456335858657685702484833923881757575123740217333501633867411201839902134750559425767898744873060188013835999843208599594695189241267402483329650852407518812820488247348403167656145336110392753205604121461398966499192928361717459912061811632128592369784428150810290850784549515129388749813519746633456308006417380734332618163804905717487996547617834761512823136068313527646353380834931714468658298807264138743796303940633744678770244287632068997430666648086768101863569112808036079568375562196232015060034814159830783772721205132492523021328427202137611923289672295346528217837335345200889704405171879518387779127179932454073676707299544027658050154484844481083783614121403757511860274107503248765762586152329312892962963772246038164097785281528397839077011128243129601561013136945096530652507807122840414161064471257199351016683826265342434951849304451152607808013018559373731367889529067995303414242001500349065462480413683969692164927448658655777581017244077467085940321920534257589808750460302575910817406119336474089321430958254250826707710931849001904422794990857119520493041486112756259124293580436773303802344438321595770203199702317284951819230935059354959468965175615664545459861320057849386077498260121191029746561341446008879547135834080023225152274182054405151285583015692122388008040919575409043335163132477575068912755140497720562472704851568670725128066151945092879139626079467747870179637526356122851655546214933651914293121638521452238008791831993212192135565197002340558747471261476114683213322680765623068542178701214877474058338139361119228333682588527907530514730591000842087422718853701078874377021364691252325594685726786326613067476978672058439687225989121398350853203559915144597167937535332169263931775384010869969535674335581139734046410526907588564903309061544959256593641598350824889501269170123 620928776719859277474929262165083065417587445761646547343635900278893346725707212786404414951301346608010025057726581903821600800615217800316834612691522205937553426540842067489893369230530304828247896351263278338028831364063585385492345811649161417951112638660530667700025734807413976302878065986413808022393608983325954880410458956536697150314295325600170042351357097179451797883616530954460947149513246638738004813303232957032960764612633851467360873027246826349081378025184268995728589215441097373024774548434405995403167027923205142842100754070389212782297472128971730059885117390848762371377224076312861593934062680115949895775798044253251329530080441387905220502767369566013605805058308351973475343968787176527480189753161737197626278394808847014553170064243378895583932954559690753270825885625140745488203616788906766128507217827024967725087086083823670821559050048455010030250287438987270785633749393862022866272788033152829500774434313991579110044511046228666445163940816477260019213674553296344337913108108700503461119487220912035829609783765618959953446717965341112989708528871915645560733780780448736701649945542733239174074830499611109267138169625658363041489005573493503216172959522694171960207488382556568276603203866566852997743477406954734517923939667108036898657197540594461491532648209362598937484891872831092460519590692641015399775705533917945916903841324952591599715398714523499483444250551082250748287425996894502518055255374732152475908966284076453595094991774636787791401629441378786960468857948792838752050314697720399126355025133256524970783522078208051732335152374462169836128587166501448932171194894168608656215470396790197182188468232514253781003777978005954186050780817464147233651989156506805682267586575488949449080761162739048197541736775254385819867345663888977303588610798317141161242996871684686916875547378105875225584294044227400640969785373413994364455050478467204996883218379139377627807803542195944402295839651477172655008441397696461579148041400572977125021782747784637465485231170227172194345596887650153743629362523849918015309442859788496846708253769156167628821408995117094585443924 1004683865325626756295757028337962913213267789171247931903587823806030255797789376293484360731323644281700601007243932030802549447995071139320299213877571883343118712410527881589565303849506028207754798842021122420924061239539066612478597703265228739339519966610573451848298028696572216457903396419841592092849944841983640582895292880418454725438035542933671676218768299019353932634175956722359692022573434652574004656511832551728150005880036334797011725434765639169569625373587436651873925325833850578628896009833372494596095389640665054903912386198981582566725622939262580844434632520237512184896970709769169600351443414448568059580703761741247877147915202900728356571080897212366986639990022820631774151232925920323784130386906415967870566026877844445219818151011480759153045762595770321646388081857155805523017776619690538849712350319547989053514288221435594111231345394983227867585632639876975190805628912249801993452720487226506208073978341649629264529355527312450059285344573989120293321177802062106924065437421593466424891733259076133614891312163458036964574961094942674002845473968446298068540903620862897766121202742084255857901095842046061116442620778266171054507564947224871105702027517997586202208988731622030757016887836259017925192136062732315535168017134193977220577731798184270241992950785273416343604228346920413891477844943467723110707554535822368711894698444473084641201511470782623777024687324386053092725747592664705717757572659683971706844025639035922560270607439182247652721687290764864458728979139822585313391760706599946262189105156481677244965576483359337315350844496850177877048162575544784095303672469237521411355968117352669887040036903239381847155723070885093812130248565334326871178345279358461228482520227403242570719282614977056989373729987446521385064348004447724774850086913000354483923762494753229095576762255579933563723655163455734323558313280944509095046051320554627715736919458013754649172494794521539088022625978090240131987113456136148805137162798923830328581697892381805403020563339491103969729607757619689417964943663583964425836350448353400155769798728412761270419759820006595854614047 1625612642045486033770686290503045978630855234932894479247223724084923602523496589079888775682624990889710626064970513934624150248610288939637133826569094089280672138951369949079458673080036333036002695193284400758952892603602651997970943514914390157290632605271104119548323763503986192760781462406255400115243553825309595463305751836955151875752330868533841718570125396198805730517792487676820639172086681291312009469815065508761110770492670186264372598462012465518651003398771705647602514541274947951653670558267778489999262417563870197746013140269370795349023095068234310904319749911086274556274194786082031194285506094564517955356501805994499206677995644288633577073848266778380592445048331172605249495201713096851264320140068153165496844421686691459772988215254859654736978717155461074917213967482296551011221393408597304978219568146572956778601374305259264932790395443438237897835920078864245976439378306111824859725508520379335708848412655641208374573866573541116504449285390466380312534852355358451261978545530293969886011220479988169444501095929076996918021679060283786992554002840361943629274684401311634467771148284817495031975926341657170383580790403924534095996570520718374321874987040691758162416477114178599033620091702825870922935613469687050053091956801302014119234929338778731733525598994636015281089120219751506351997435636108738510483260069740314628798539769425676240916910185306123260468937875468303841013173589559208235812828034416124182752991923112376155365599213819035444123316732143651419197837088615424065442075404320345388544130289738202215749098561567389047685996871312347713176749742046233027474867363406130067571438514142867069228505135753635628159501048891047998181029382798474104830334435865266910750106802892192019800043777716105186915466762700907204931693668336702078438697711317495645166759366437916012452309633685808789307949207683134964528098654358503459501101799021832712620137837153132276980298336717483490318465629567412786995554853832610384285204199496807453603480640166442868505794509718276164075204645269843161594306187433882441145793308141897002478052497568928899241168815123690440057971 2630296507371112790066443318841008891844123024104142411150811547890953858321285965373373136413948635171411227072214445965426699696605360078957433040446665972623790851361897830669023976929542361243757494035305523179876953843141718610449541218179618896630152571881677571396621792200558409218684858826096992208093498667293236046201044717373606601190366411467513394788893695218159663151968444399180331194660115943886014126326898060489260776372706521061384323896778104688220628772359142299476439867108798530282566568101150984595357807204535252649925526468352377915748718007496891748754382431323786741171165495851200794636949509013086014937205567735747083825910847189361933644929163990747579085038353993237023646434639017175048450526974569133367410448564535904992806366266340413890024479751231396563602049339452356534239170028287843827931918466120945832115662526694859044021740838421465765421552718741221167245007218361626853178229007605841916922390997290837639103222100853566563734629964455500605856030157420558186043982951887436310902953739064303059392408092535033882596640155226460995399476808808241697815588022174532233892351026901750889877022183703231500023411182190705150504135467943245427577014558689344364625465845800629790636979539084888848127749532419365588259973935495991339812661136963001975518549779909431624693348566671920243475280579576461621190814605562683340693238213898760882118421656088747037493625199854356933738921182223913953570400694100095889597017562148298715636206653001283096845004022908515877926816228438009378833836110920291650733235446219879460714675044926726363036841368162525590224912317591017122778539832643651478927406631495536956268542038993017475315224119776141810311277948132800976008679715223728139232627030295434590519326392693162176289196750147428589996041672784426853288784624317850129090521861191145108029071889265742353031604371138869288086411935303012554547153119576460428357057295166886926152793131239022578341091607657652918982668309968759189422366998420637782185178532548248271526357849209380133804812402889532579559249851017846866982143756495297158247851225981690169660928635130286294672018 4255909149416598823837129609344054870474978259037036890398035271975877460844782554453261912096573626061121853137184959900050849945215649018594566867015760061904462990313267779748482650009578694279760189228589923938829846446744370608420484733094009053920785177152781690944945555704544601979466321232352392323337052492602831509506796554328758476942697280001355113359019091416965393669760932076000970366746797235198023596141963569250371546865376707325756922358790570206871632171130847947078954408383746481936237126368929474594620224768405450395938666737723173264771813075731202653074132342410061297445360281933231988922455603577603970293707373730246290503906491477995510718777430769128171530086685165842273141636352114026312770667042722298864254870251227364765794581521200068627003196906692471480816016821748907545460563436885148806151486612693902610717036831954123976812136281859703663257472797605467143684385524473451712903737527985177625770803652932046013677088674394683068183915354921880918390882512779009448022528482181406196914174219052472503893504021612030800618319215510247987953479649170185327090272423486166701663499311719245921852948525360401883604201586115239246500705988661619749452001599381102527041942959979228824257071241910759771063363002106415641351930736798005459047590475741733709044148774545446905782468786423426595472716215685200131674074675302997969491777983324437123035331841394870297962563075322660774752094771783122189383228728516220072350009485260674871001805866820318540968320755052167297124653317053433444275911515240637039277365735958081676463773606494115410722838239474873303401662059637250150253407196049781546498845145638404025497047174746653103474725168667189808492307330931275080839014151088995049982733833187626610319370170409267363204663512848335794927735341121128931727482335635345774257281227629061120481381522951551142339553578822004252614510589661516014048254918598293140977195132320019203133091467956506068659557237225065705978223163801369573707571197917445235788659172714691140032152358927656297880017048159375741153556038451729308127937064637194160725903723550619068902097450253976734729989 6886205656787711613903572928185063762319101283141179301548846819866831319166068519826635048510522261232533080209399405865477549641821009097551999907462426034528253841675165610417506626939121055523517683263895447118706800289886089218870025951273627950550937749034459262341567347905103011198151180058449384531430551159896067555707841271702365078133063691468868508147912786635125056821729376475181301561406913179084037722468861629739632323238083228387141246255568674895092260943489990246555394275492545012218803694470080459189978031972940703045864193206075551180520531083228094401828514773733848038616525777784432783559405112590689985230912941465993374329817338667357444363706594759875750615125039159079296788070991131201361221194017291432231665318815763269758600947787540482517027676657923868044418066161201264079699733465172992634083405078814848442832699358648983020833877120281169428679025516346688310929392742835078566081966535591019542693194650222883652780310775248249631918545319377381524246912670199567634066511434068842507817127958116775563285912114147064683214959370736708983352956457978427024905860445660698935555850338620996811729970709063633383627612768305944397004841456604865177029016158070446891667408805779858614894050780995648619191112534525781229611904672293996798860251612704735684562698554454878530475817353095346838947996795261661752864889280865681310185016197223198005153753497483617335456188275177017708491015954007036142953629422616315961947027047408973586638012519821601637813324777960683175051469545491442823109747626160928690010601182177961137178448651420841773759679607637398893626574377228267273031947028693433025426251777133940981765589213739670578789949288443331618803585279064076056847693866312723189215360863483061200838696563102429539493860262995764384923777013905555785016266959953195903347803088820206228510453412217293495371157949960873540700922524964528568595408038174753569334252427486906129285884599195528647000648844882718624960891473770128763129938196338083017973837705262939411558510208137036431684829451048908320712805889469576175110080821132491318973754949532309238563026085384263029402007 11142114806204310437740702537529118632794079542178216191946882091842708780010851074279896960607095887293654933346584365765528399587036658116146566774478186096432716831988433390165989276948699749803277872492485371057536646736630459827290510684367637004471722926187240953286512903609647613177617501290801776854767603652498899065214637826031123555075760971470223621506931878052090450491490308551182271928153710414282061318610825198990003870103459935712898168614359245101963893114620838193634348683876291494155040820839009933784598256741346153441802859943798724445292344158959297054902647116143909336061886059717664772481860716168293955524620315196239664833723830145352955082484025529003922145211724324921569929707343245227673991861060013731095920189066990634524395529308740551144030873564616339525234082982950171625160296902058141440234891691508751053549736190603106997646013402140873091936498313952155454613778267308530278985704063576197168463998303154929666457399449642932700102460674299262442637795182978577082089039916250248704731302177169248067179416135759095483833278586246956971306436107148612351996132869146865637219349650340242733582919234424035267231814354421183643505547445266484926481017757451549418709351765759087439151122022906408390254475536632196870963835409092002257907842088446469393606847329000325436258286139518773434420713010946861884538963956168679279676794180547635128189085338878487633418751350499678483243110725790158332336858151132536034297036532669648457639818386641920178781645533012850472176122862544876267385659141401565729287966918136042813642222257914957184482517847112272197028236436865517423285354224743214571925096922772345007262636388486323682264674457110521427295892609995351137686708017401718239198094696670687811158066733511696902698523775844100179851512355026684716743749295588541677605084316449267348991834935168844637710711528782877793315433114626044582643662956773046710311447559806925332418976067152034715660206082107784330939114637571498336837509394255528253762496877977630551590662567064692729564846499208284061866361927921305483238017885769685479699658673082928307465123535638239764131996 18028320462992022051644275465714182395113180825319395493495728911709540099176919594106532009117618148526188013555983771631005949228857667213698566681940612130960970673663599000583495903887820805326795555756380818176243447026516549046160536635641264955022660675221700215628080251514750624375768681349251161386198154812394966620922479097733488633208824662939092129654844664687215507313219685026363573489560623593366099041079686828729636193341543164100039414869927919997056154058110828440189742959368836506373844515309090392974576288714286856487667053149874275625812875242187391456731161889877757374678411837502097556041265828758983940755533256662233039163541168812710399446190620288879672760336763484000866717778334376429035213055077305163327585507882753904282996477096281033661058550222540207569652149144151435704860030367231134074318296770323599496382435549252090018479890522422042520615523830298843765543171010143608845067670599167216711157192953377813319237710224891182332021005993676643966884707853178144716155551350319091212548430135286023630465328249906160167048237956983665954659392565127039376901993314807564572775199988961239545312889943487668650859427122727128040510388901871350103510033915521996310376760571538946054045172803902057009445588071157978100575740081385999056768093701151205078169545883455203966734103492614120273368709806208523637403853237034360589861810377770833133342838836362104968874939625676696191734126679797194475290487573748851996244063580078622044277830906463521816594970310973533647227592408036319090495406767562494419298568100314003950820670909335798958242197454749671090654810814093784696317301253436647597351348699906285989028225602225994261054623745553853046099477889059427194534401883714441428413455560153749011996763296614126442192384038839864564775289368932240501760016255541737580952887405269473577502288347386138133081869478743751334016355639590573151239070994947800279645699987293831461704860666347563362660854926990502955900006111341627099967447590593611271736334583240569963149172775201729161249675950257192382579167817390881658348098706902176798673413622615237546028149621022502793534003 29170435269196332489384978003243301027907260367497611685442611003552248879187770668386428969724714035819842946902568137396534348815894325329845133456418798227393687505652032390749485180836520555130073428248866189233780093763147008873451047320008901959494383601408941168914593155124398237553386182640052938240965758464893865686137116923764612188284585634409315751161776542739305957804709993577545845417714334007648160359690512027719640063445003099812937583484287165099020047172731666633824091643245128000528885336148100326759174545455633009929469913093673000071105219401146688511633809006021666710740297897219762328523126544927277896280153571858472703997264998958063354528674645817883594905548487808922436647485677621656709204916137318894423505696949744538807392006405021584805089423787156547094886232127101607330020327269289275514553188461832350549932171739855197016125903924562915612552022144250999220156949277452139124053374662743413879621191256532742985695109674534115032123466667975906409522503036156721798244591266569339917279732312455271697644744385665255650881516543230622925965828672275651728898126183954430209994549639301482278895809177911703918091241477148311684015936347137835029991051672973545729086112337298033493196294826808465399700063607790174971539575490478001314675935789597674471776393212455529402992389632132893707789422817155385521942817193203039869538604558318468261531924175240592602293690976176374674977237405587352807627345724881388030541100112748270501917649293105441995376615843986384119403715270581195357881065908964060148586535018450046764462893167250756142724715301861943287683047250959302119602655478179862169276445622678630996290861990712317943319298202664374473395370499054778332221109901116159667611550256824436823154830030125823344890907814683964744626801723958925218503765551130279258557971721718740926494123282554982770792581007526629127331788754216617733882733951720846989957147547100756794123836733499598078321061009098287286839120748913125436804956984849139525498831461218200514739835342266421890814522449465476444445529745312187141586116592671862278373072295698165853493273156660742557665999 47198755732188354541029253468957483423020441192817007178938339915261788978364690262492960978842332184346030960458551909027540298044751992543543700138359410358354658179315631391332981084724341360456868984005247007410023540789663557919611583955650166914517044276630641384542673406639148861929154863989304099627163913277288832307059596021498100821493410297348407880816621207426521465117929678603909418907274957601014259400770198856449276256786546263912976998354215085096076201230842495074013834602613964506902729851457190719733750834169919866417136966243547275696918094643334079968364970895899424085418709734721859884564392373686261837035686828520705743160806167770773753974865266106763267665885251292923303365264011998085744417971214624057751091204832498443090388483501302618466147974009696754664538381271253043034880357636520409588871485232155950046314607289107287034605794446984958133167545974549842985700120287595747969121045261910630590778384209910556304932819899425297364144472661652550376407210889334866514400142616888431129828162447741295328110072635571415817929754500214288880625221237402691105800119498761994782769749628262721824208699121399372568950668599875439724526325249009185133501085588495542039462872908836979547241467630710522409145651678948153072115315571864000371444029490748879549945939095910733369726493124747013981158132623363909159346670430237400459400414936089301394874763011602697571168630601853070866711364085384547282917833298630240026785163692826892546195480199568963811971586154959917766631307678617514448376472676526554567885103118764050715283564076586555100966912756611614378337858065053086815919956731616509766627794322584916985319087592938312204373921948218227519494848388114205526755511784830601096025005816978185835151593326739949787083291853523829309402091092891165720263781806672016839510859126988214503996411629941120903874450486270380461348144393807190885121804946668647269602847534394588255828697399847161440981915936088790242739126860254752536772404575442750797235166044458770477889008117468151052064198399722668827024697562703068799934215299574039077046485918313403399521422777683245351200002 76369191001384687030414231472200784450927701560314618864380950918814037857552460930879389948567046220165873907361120046424074646860646317873388833594778208585748345684967663782082466265560861915586942412254113196643803634552810566793062631275659068874011427878039582553457266561763547099482541046629357037868129671742182697993196712945262713009777995931757723631978397750165827422922639672181455264324989291608662419760460710884168916320231549363725914581838502250195096248403574161707837926245859092507431615187605291046492925379625552876346606879337220275768023314044480768479998779901921090796159007631941622213087518918613539733315840400379178447158071166728837108503539911924646862571433739101845740012749689619742453622887351942952174596901782242981897780489906324203271237397796853301759424613398354650364900684905809685103424673693988300596246779028962484050731698371547873745719568118800842205857069565047887093174419924654044470399575466443299290627929573959412396267939329628456785929713925491588312644733883457771047107894760196567025754817021236671468811271043444911806591049909678342834698245682716424992764299267564204103104508299311076487041910077023751408542261596147020163492137261469087768548985246135013040437762457518987808845715286738328043654891062342001686119965280346554021722332308366262772718882756879907688947555440519294681289487623440440328939019494407769656406687186843290173462321578029445541688601490971900090545179023511628057326263805575163048113129492674405807348201998946301886035022949198709806257538585490614716471638137214097479746457243837311243691628058473557666020905316012388935522612209796371935904239945263547981609949583650630147693220150882601992890218887168983858976621685946760763636556073802622658306423356865773131974199668207794054028892816850090938767547357802296098068830848706955430490534912496103674667031493797009588679933148023808619004538898389494259559995081495345049952534133346759519302976945187077529578247609167877973577361560291890322733997505676970992628843459734572942878720849188145271470227308015255941520331892245901355419558214011569253014695934343987908866001 123567946733573041571443484941158267873948142753131626043319290834075826835917151193372350927409378404511904867819671955451614944905398310416932533733137618944103003864283295173415447350285203276043811396259360204053827175342474124712674215231309235788528472154670223937999939968402695961411695910618661137495293585019471530300256308966760813831271406229106131512795018957592348888040569350785364683232264249209676679161230909740618192577018095627638891580192717335291172449634416656781851760848473057014334345039062481766226676213795472742763743845580767551464941408687814848448363750797820514881577717366663482097651911292299801570351527228899884190318877334499610862478405178031410130237318990394769043378013701617828198040858566567009925688106614741424988168973407626821737385371806550056423962994669607693399781042542330094692296158926144250642561386318069771085337492818532831878887114093350685191557189852643635062295465186564675061177959676353855595560749473384709760412411991281007162336924814826454827044876500346202176936057207937862353864889656808087286741025543659200687216271147081033940498365181478419775534048895826925927313207420710449055992578676899191133068586845156205296993222849964629808011858154971992587679230088229510217991366965686481115770206634206002057563994771095433571668271404276996142445375881626921670105688063883203840636158053677840788339434430497071051281450198445987744630952179882516408399965576356447373463012322141868084111427498402055594308609692243369619319788153906219652666330627816224254634011262017169284356741255978148195030021320423866344658540815085172044358763381065475751442568941412881702532034267848464966929037176588942352067142099100829512385067275283189385732133470777361859661561890780808493458016683605722919057491521731623363430983909741256659031329164474312937579689975695169934486946542437224578541481980067390050028077541830999504126343845058141529162842615889933305781231533193920960284892881275867772317374469422630510349766135734641119969163550135741470517851577202723994942919248910814098494924870718324741454547191819940432466044132324972652536118712027233260066003 199937137734957728601857716413359052324875844313446244907700241752889864693469612124251740875976424624677778775180792001875689591766044628290321367327915827529851349549250958955497913615846065191630753808513473400697630809895284691505736846506968304662539900032709806491457206530166243060894236957248018175363423256761654228293453021912023526841049402160863855144773416707758176310963209022966819947557253540818339098921691620624787108897249644991364806162031219585486268698037990818489689687094332149521765960226667772812719601593421025619110350724917987827232964722732295616928362530699741605677736724998605104310739430210913341303667367629279062637476948501228447970981945089956056992808752729496614783390763391237570651663745918509962100285008396984406885949463313951025008622769603403358183387608067962343764681727448139779795720832620132551238808165347032255136069191190080705624606682212151527397414259417691522155469885111218719531577535142797154886188679047344122156680351320909463948266638740318043139689610383803973224043951968134429379619706678044758755552296587104112493807321056759376775196610864194844768298348163391130030417715720021525543034488753922942541610848441303225460485360111433717576560843401107005628116992545748498026837082252424809159425097696548003743683960051441987593390603712643258915164258638506829359053243504402498521925645677118281117278453924904840707688137385289277918093273757911961950088567067328347464008191345653496141437691303977218642421739184917775426667990152852521538701353577014934060891549847507784000828379393192245674776478564261177588350168873558729710379668697077864686965181151209253638436274213112012948538986760239572499760362249983431505275286162452173244708755156724122623298117964583431151764440040471496051031691189939417417459876726591347597798876522276609035648520824402125364977481454933328253208513473864399638708010689854808123130882743447635788722837697385278355733765666540680479587869826462945301895622078590508483927127696026531442703161055812712463146695036937296937821640098098959369965152178733580682974879084065841787885602346336541905550814646371221168932004 323505084468530770173301201354517320198823987066577870951019532586965691529386763317624091803385803029189683643000463957327304536671442938707253901061053446473954353413534254128913360966131268467674565204772833604751457985237758816218411061738277540451068372187380030429457146498568939022305932867866679312858716841781125758593709330878784340672320808389969986657568435665350525199003778373752184630789517790028015778082922530365405301474267740619003697742223936920777441147672407475271541447942805206536100305265730254578946277807216498361874094570498755378697906131420110465376726281497562120559314442365268586408391341503213142874018894858178946827795825835728058833460350267987467123046071719891383826768777092855398849704604485076972025973115011725831874118436721577846746008141409953414607350602737570037164462769990469874488016991546276801881369551665102026221406684008613537503493796305502212588971449270335157217765350297783394592755494819151010481749428520728831917092763312190471110603563555144497966734486884150175400980009176072291733484596334852846042293322130763313181023592203840410715694976045673264543832397059218055957730923140731974599027067430822133674679435286459430757478582961398347384572701556078998215796222633978008244828449218111290275195304330754005801247954822537421165058875116920255057609634520133751029158931568285702362561803730796121905617888355401911758969587583735265662724225937794478358488532643684794837471203667795364225549118802379274236730348877161145045987778306758741191367684204831158315525561109524953285185120649170393869806499884685043933008709688643901754738432078143340438407750092622135340968308480960477915468023936828514851827504349084261017660353437735362630440888627501484482959679855364239645222456724077218970089182711671040780890860636332604256830205686750921973228210800097295299464427997370552831749995453931789688736088231685807627257226588505777317885680313275211661514997199734601439872762707738813074212996548013138994276893831761172562672324605948453933664546614140020932764559347009773468460077049451905424429426275885782220351646478661514558086933358398454428998007 523442222203488498775158917767876372523699831380024115858719774339855556222856375441875832679362227653867462418181255959202994128437487566997575268388969274003805702962785213084411274581977333659305319013286307005449088795133043507724147908245245845113608272220089836920914353028735182083200169825114697488222140098542779986887162352790807867513370210550833841802341852373108701509966987396719004578346771330846354877004614150990192410371517385610368503904255156506263709845710398293761231135037137356057866265492398027391665879400637523980984445295416743205930870854152406082305088812197303726237051167363873690719130771714126484177686262487458009465272774336956506804442295357943524115854824449387998610159540484092969501368350403586934126258123408710238760067900035528871754630911013356772790738210805532380929144497438609654283737824166409353120177717012134281357475875198694243128100478517653739986385708688026679373235235409002114124333029961948165367938107568072954073773114633099935058870202295462541106424097267954148625023961144206721113104303012897604797845618717867425674830913260599787490891586909868109312130745222609185988148638860753500142061556184745076216290283727762656217963943072832064961133544957186003843913215179726506271665531470536099434620402027302009544931914873979408758449478829563513972773893158640580388212175072688200884487449407914403022896342280306752466657724969024543580817499695706440308577099711013142301479395013448860366986810106356492879152088062078920472655768459611262730069037781846092376417110957032737286013500042362639544582978448946221521358878562202631465118100775221205125372931243831388979404582694072490864007010697068087351587866599067692522935639600187535875149643784225607106257797819947670796986896764548715021120873901610458198350737362923951854629082209027531008876731624499420664441909452303881084958508927796189327444098921540615750388109331953413106608518010660490017248762866275281919460632534201758376108618626603647478204021527787704005375485661761166396811241651077317870586199445108732838425229228185486107404305359951624008237248824998056463637748004769675597930011 846947306672019268948460119122393692722523818446601986809739306926821247752243138759499924482748030683057146061181719916530298665108930505704829169450022720477760056376319467213324635548108602126979884218059140610200546780370802323942558969983523385564676644407469867350371499527304121105506102692981376801080856940323905745480871683669592208185691018940803828459910288038459226708970765770471189209136289120874370655087536681355597711845785126229372201646479093427041150993382805769032772582979942562593966570758128281970612157207854022342858539865915498584628776985572516547681815093694865846796365609729142277127522113217339627051705157345636956293068600172684565637902645625930991238900896169279382436928317576948368351072954888663906152231238420436070634186336757106718500639052423310187398088813543102418093607267429079528771754815712686155001547268677236307578882559207307780631594274823155952575357157958361836591000585706785508717088524781099175849687536088801785990865877945290406169473765850607039073158584152104324026003970320279012846588899347750450840138940848630738855854505464440198206586562955541373855963142281827241945879562001485474741088623615567209890969719014222086975442526034230412345706246513265002059709437813704514516493980688647389709815706358056015346179869696516829923508353946483769030383527678774331417371106640973903247049253138710524928514230635708664225627312552759809243541725633500918667065632354697937138950598681244224592535928908735767115882436939240065518643546766370003921436721986677250691942672066557690571198620691533033414389478333631265454367588250846533219856532853364545563780681336453524320372891175032968779475034633896602203415370948151953540595993037922898505590532411727091589217477675311910442209353488625933991210056613281498979241597999256556111459287895778452982104942424596715963906337449674433916708504381727979016180187153226423377645335920459190424494198323935701678763760066009883359333395241940571450321615174616786472480915359548876568047810267709620330475788265217338803350758792118506306885306277637391531833731635837406228588895303659571021724681363168130026928018 1370389528875507767723619036890270065246223649826626102668459081266676803975099514201375757162110258336924608479362975875733292793546418072702404437838991994481565759339104680297735910130085935786285203231345447615649635575503845831666706878228769230678284916627559704271285852556039303188706272518096074289302997038866685732368034036460400075699061229491637670262252140411567928218937753167190193787483060451720725532092150832345790122217302511839740705550734249933304860839093204062794003718017079918651832836250526309362278036608491546323842985161332241790559647839724922629986903905892169573033416777093015967846652884931466111229391419833094965758341374509641072442344940983874515354755720618667381047087858061041337852441305292250840278489361829146309394254236792635590255269963436666960188827024348634799022751764867689183055492639879095508121724985689370588936358434406002023759694753340809692561742866646388515964235821115787622841421554743047341217625643656874740064638992578390341228343968146069580179582681420058472651027931464485733959693202360648055637984559566498164530685418725039985697478149865409483168093887504436427934028200862238974883150179800312286107260002741984743193406469107062477306839791470451005903622652993431020788159512159183489144436108385358024891111784570496238681957832776047283003157420837414911805583281713662104131536702546624927951410572916015416692285037521784352824359225329207358975642732065711079440429993694693084959522739015092259995034525001318985991299315225981266651505759768523343068359783023590427857212120733895672958972456782577486975726466813049164684974633628585750689153612580284913299777473869105459643482045330964689555003237547219646063531632638110434380740176195952698695475275495259581239196250253174649012330930514891957177592335362180507966088370104805983990981674049096136628348246901978315001667013309524168343624286074767039128033445252412603531102716334596191696012522932285165278794027776142329826430233801220433950684936887336580573423295929470786727287029916294656673936958237227239145310535505822877639238036995789030236826144128657627485362429367937805624858029 2217336835547527036672079156012663757968747468273228089478198388193498051727342652960875681644858289019981754540544695792263591458655348578407233607289014714959325815715424147511060545678194537913265087449404588225850182355874648155609265848212292616242961561035029571621657352083343424294212375211077451090383853979190591477848905720129992283884752248432441498722162428450027154927908518937661382996619349572595096187179687513701387834063087638069112907197213343360346011832476009831826776300997022481245799407008654591332890193816345568666701525027247740375188424825297439177668718999587035419829782386822158244974174998148805738281096577178731922051409974682325638080247586609805506593656616787946763484016175637989706203514260180914746430720600249582380028440573549742308755909015859977147586915837891737217116359032296768711827247455591781663123272254366606896515240993613309804391289028163965645137100024604750352555236406822573131558510079524146517067313179745676526055504870523680747397817733996676619252741265572162796677031901784764746806282101708398506478123500415128903386539924189480183904064712820950857024057029786263669879907762863724449624238803415879495998229721756206830168848995141292889652546037983716007963332090807135535304653492847830878854251814743414040237291654267013068605466186722531052033540948516189243222954388354636007378585955685335452879924803551724080917912350074544162067900950962708277642708364420409016579380592375937309552058667923828027110916961940559051509942861992351270572942481755200593760302455090148118428410741425428706373361935116208752430094055063895697904831166481950296252934293916738437620150365044138428422957079964861291758418608495371599604127625676033332886330708607679790284692753170571491681405603741800583003540987128173456156833933361437064077547658000584436973086616473692852592254584351652748918375517691252147359804473227993462505678781172871793955596914658531893374776282998295048638127423018082901276751848975837220423165852246885457141471106197180407057762818181511995477287717029345745452195841783460269171071768631626436465415039432317198507087110731105935651786047 3587726364423034804395698192902933823214971118099854192146657469460174855702442167162251438806968547356906363019907671667996884252201766651109638045128006709440891575054528827808796455808280473699550290680750035841499817931378493987275972726441061846921246477662589275892943204639382727482918647729173525379686851018057277210216939756590392359583813477924079168984414568861595083146846272104851576784102410024315821719271838346047177956280390149908853612747947593293650872671569213894620780019014102399897632243259180900695168230424837114990544510188579982165748072665022361807655622905479204992863199163915174212820827883080271849510487997011826887809751349191966710522592527593680021948412337406614144531104033699031044055955565473165586709209962078728689422694810342377899011178979296644107775742862240372016139110797164457894882740095470877171244997240055977485451599428019311828150983781504775337698842891251138868519472227938360754399931634267193858284938823402551266120143863102071088626161702142746199432323946992221269328059833249250480765975304069046562116108059981627067917225342914520169601542862686360340192150917290700097813935963725963424507388983216191782105489724498191573362255464248355366959385829454167013866954743800566556092813005007014367998687923128772065128403438837509307287424019498578335036698369353604155028537670068298111510122658231960380831335376467739497610197387596328514892260176291915636618351096486120096019810586070630394511581406938920287105951486941878037501242177218332537224448241523723936828662238113738546285622862159324379332334391898786239405820521876944862589805800110536046942087906497023350919927838913243888066439125295825981313421846042591245667659258314143767267070884803632488980168028665831072920601853994975232015871917643065413334426268723617572043636028105390420964068290522788989220602831253631063920042531000776315703428759302760501633712226425284397486699630993128085070788805930580213916921450794225231103182082777057654373850789134222037714894402126651193785049848097806652151224675266572984597506377289283146810309805627415466702241183560974825992449540099043741276644076 5805063199970561841067777348915597581183718586373082281624855857653672907429784820123127120451826836376888117560452367460260475710857115229516871652417021424400217390769952975319857001486475011612815378130154624067350000287253142142885238574653354463164208038697618847514600556722726151777131022940250976470070704997247868688065845476720384643468565726356520667706576997311622238074754791042512959780721759596910917906451525859748565790343477787977966519945160936653996884504045223726447556320011124881143431650267835492028058424241182683657246035215827722540936497490319800985324341905066240412692981550737332457795002881229077587791584574190558809861161323874292348602840114203485528542068954194560908015120209337020750259469825654080333139930562328311069451135383892120207767087995156621255362658700132109233255469829461226606709987551062658834368269494422584381966840421632621632542272809668740982835942915855889221074708634760933885958441713791340375352252003148227792175648733625751836023979436139422818685065212564384066005091735034015227572257405777445068594231560396755971303765267104000353505607575507311197216207947076963767693843726589687874131627786632071278103719446254398403531104459389648256611931867437883021830286834607702091397466497854845246852939737872186105365695093104522375892890206221109387070239317869793398251492058422934118888708613917295833711260180019463578528109737670872676960161127254623914261059460906529112599191178446567704063640074862748314216868448882437089011185039210683807797390723278924530588964693203886664714033603584753085705696327014994991835914576940840560494636966592486343195022200413761788540078203957382316489396205260687273071840454537962845271786883990177100153401593411312279264860781836402564602007457736775815019412904771238869491260202085054636121183686105974857937154906996481841812857415605283812838418048692028463063233232530753964139391007598156191442296545651659978445565088928875262555048873812308132379933931752894874797016641381107494856365508323831600842812666279318647628512392295918730049702219072743415981381574259041903167656222993292024499536650830149676928430123 9392789564393596645463475541818531404398689704472936473771513327113847763132226987285378559258795383733794480580360039128257359963058881880626509697545028133841108965824481803128653457294755485312365668810904659908849818218631636130161211301094416310085454516360208123407543761362108879260049670669424501849757556015305145898282785233310777003052379204280599836690991566173217321221601063147364536564824169621226739625723364205795743746623867937886820132693108529947647757175614437621068336339025227281041063893527016392723226654666019798647790545404407704706684570155342162792979964810545445405556180714652506670615830764309349437302072571202385697670912673066259059125432641797165550490481291601175052546224243036051794315425391127245919849140524407039758873830194234498106778266974453265363138401562372481249394580626625684501592727646533536005613266734478561867418439849651933460693256591173516320534785807107028089594180862699294640358373348058534233637190826550779058295792596727822924650141138282169018117389159556605335333151568283265708338232709846491630710339620378383039220990610018520523107150438193671537408358864367663865507779690315651298639016769848263060209209170752589976893359923638003623571317696892050035697241578408268647490279502861859614851627661000958170494098531942031683180314225719687722106937687223397553280029728491232230398831272149256214542595556487203076138307125267201191852421303546539550879410557392649208619001764517198098575221481801668601322819935824315126512427216429016345021838964802648467417626931317625210999656465744077465038030718913781231241735098817785423084442766703022390137110106910785139460006042870626204555835330556513254385262300580554090939446142304320867420472478214944768245028810502233637522609311731751047035284822414304282825686470808672208164819714211365278901223197519270831033460246858914876758460579692804778766661991833514465773103234023440588928996176644788063516353894859455476471970324606533363483116014529952529170867430515329532571259910450482794627862514377125299779737067562491714647208596362026562791691379886457369869897406554266850491986190929193418205074199 15197852764364158486531252890734128985582408290846018755396369184767520670562011807408505679710622220110682598140812406588517835673915997110143381349962049558241326356594434778448510458781230496925181046941059283976199818505884778273046449875747770773249662555057826970922144318084835031037180693609675478319828261012553014586348630710031161646520944930637120504397568563484839559296355854189877496345545929218137657532174890065544309536967345725864786652638269466601644641679659661347515892659036352162184495543794851884751285078907202482305036580620235427247621067645661963778304306715611685818249162265389839128410833645538427025093657145392944507532073996940551407728272756000651079032550245795735960561344452373072544574895216781326252989071086735350828324965578126618314545354969609886618501060262504590482650050456086911108302715197596194839981536228901146249385280271284555093235529400842257303370728722962917310668889497460228526316815061849874608989442829699006850471441330353574760674120574421591836802454372120989401338243303317280935910490115623936699304571180775139010524755877122520876612758013700982734624566811444627633201623416905339172770644556480334338312928617006988380424464383027651880183249564329933057527528413015970738887746000716704861704567398873144275859793625046554059073204431940797109177177005093190951531521786914166349287539886066552048253855736506666654666416862938073868812582430801163465140470018299178321218192942963765802638861556664416915539688384706752215523612255639700152819229688081572998006591624521511875713690069328830550743727045928776223077649675758625983579079733295508733332132307324546928000084246828008521045231535817200527457102755118516936211233026294497967573874071626257047509889592338636202124616769468526862054697727185543152316946672893726844286003400317340136838378104515752672846317662464198689596878628384833241829895224364268429912494241621596780371292722296448041961918983788330739027019198418841495863049946282847403967884071896437027427625418774314395470675180656443947408249459858410444696910815434769978773072954145499273037553629547558874991522841759343095133504322 24590642328757755131994728432552660389981097995318955229167882511881368433694238794693884238969417603844477078721172445716775195636974878990769891047507077692082435322418916581577163916075985982237546715751963943885049636724516414403207661176842187083335117071418035094329688079446943910297230364279099980169585817027858160484631415943341938649573324134917720341088560129658056880517956917337242032910370098839364397157898254271340053283591213663751606785331377996549292398855274098968584228998061579443225559437321868277474511733573222280952827126024643131954305637801004126571284271526157131223805342980042345799026664409847776462395729716595330205202986670006810466853705397797816629523031537396911013107568695409124338890320607908572172838211611142390587198795772361116421323621944063151981639461824877071732044631082712595609895442844129730845594802963379708116803720120936488553928785992015773623905514530069945400263070360159523166675188409908408842626633656249785908767233927081397685324261712703760854919843531677594736671394871600546644248722825470428330014910801153522049745746487141041399719908451894654272032925675812291498709403107220990471409661326328597398522137787759578357317824306665655503754567261221983093224769991424239386378025503578564476556195059874102446353892156988585742253518657660484831284114692316588504811551515405398579686371158215808262796451292993869730804723988205275060665003734347703016019880575691827529837194707480963901214083038466085516862508320531067342036039472068716497841068652884221465424218555839137086713346535072908015781757764842557454319384774576411406663522499998531123469242414235332067460090289698634725601066866373713781842365055699071027150679168598818834994346549841201815754918402840869839647226081200277909089982549599847435142633143702399052450823114528705415739601302035023503879777909323113566355339208077638020596557216197782895685597475645037369300288898941236105478272878647786215498989523025374859346165960812799933138751502411766559998885329224797190098537695033569247187986527420902159344119411796796541564764334031956642907451036101825725483509032688536513338578521 39788495093121913618525981323286789375563506286164973984564251696648889104256250602102389918680039823955159676861984852305293031310890876100913272397469127250323761679013351360025674374857216479162727762693023227861249455230401192676254111052589957856584779626475862065251832397531778941334411057888775458489414078040411175070980046653373100296094269065554840845486128693142896439814312771527119529255916028057502054690073144336884362820558559389616393437969647463150937040534933760316100121657097931605410054981116720162225796812480424763257863706644878559201926705446666090349588578241768817042054505245432184927437498055386203487489386861988274712735060666947361874581978153798467708555581783192646973668913147782196883465215824689898425827282697877741415523761350487734735868976913673038600140522087381662214694681538799506718198158041725925685576339192280854366189000392221043647164315392858030927276243253032862710931959857619751692992003471758283451616076485948792759238675257434972445998382287125352691722297903798584138009638174917827580159212941094365029319481981928661060270502364263562276332666465595637006657492487256919131911026524126329644180305882808931736835066404766566737742288689693307383937816825551916150752298404440210125265771504295269338260762458747246722213685782035139801326723089601281940461291697409779456343073302319564928973911044282360311050307029500536385471140851143348929477586165148866481160350593991005851055387650444729703852944595130502432402196705237819557559651727708416650660298340965794463430810180360648962427036604401738566525484810771333677397034450335037390242602233294039856801374721559878995460174536526643246646298402190914309299467810817587963361912194893316802568220621467458863264807995179506041771842850668804771144680276785390587459579816596125896736826514846045552577979406550776176726095571787312255952217836462471262426452440562051325598091717266634149671581621237684147440191862436116954526008721444216355209215907095647337106635574308203587426510747999111585569212875690013194596235987279312604041030227231566520337837288177455915945004665649384600475031874447879608472082843 64379137421879668750520709755839449765544604281483929213732134208530257537950489396796274157649457427799636755583157298022068226947865755091683163444976204942406197001432267941602838290933202461400274478444987171746299091954917607079461772229432144939919896697893897159581520476978722851631641422167875438658999895068269335555611462596715038945667593200472561186574688822800953320332269688864361562166286126896866451847971398608224416104149773053368000223301025459700229439390207859284684350655159511048635614418438588439700308546053647044210690832669521691156232343247670216920872849767925948265859848225474530726464162465233979949885116578583604917938047336954172341435683551596284338078613320589557986776481843191321222355536432598470598665494309020132002722557122848851157192598857736190581779983912258733946739312621512102328093600885855656531171142155660562482992720513157532201093101384873804551181757783102808111195030217779274859667191881666692294242710142198578668005909184516370131322643999829113546642141435476178874681033046518374224407935766564793359334392783082183110016248851404603676052574917490291278690418163069210630620429631347320115589967209137529135357204192526145095060112996358962887692384086773899243977068395864449511643797007873833814816957518621349168567577939023725543580241747261766771745406389726367961154624817724963508660282202498168573846758322494406116275864839348623990142589899496569497180231169682833380892582357925693605067027633596587949264705025768886899595691199777133148501366993850015928855028736199786049140383139474646582307242575613891131716419224911448796906124733292570980270617135795211062920264826225277972247365268564628091141832866516658990512591363492135637562567171308660679019726398020375881419068931869082680234662826385238022602212960298524949187649629374750968317580708585799680605873481110425822307557044540109283023009656759834221283689192911671518971870520178920252918464741083903170024998244469591214555381867908447270245387076719970147425396077223908775667750570723582441784222514700214763385149639028363061902601622209412558852455701751210325958540907136416121810661364 104167632515001582369046691079126239141108110567648903198296385905179146642206739998898664076329497251754796432445142150327361258258756631192596435842445332192729958680445619301628512665790418940563002241138010399607548547185318799755715883282022102796504676324369759224833352874510501792966052480056650897148413973108680510626591509250088139241761862266027402032060817515943849760146582460391481091422202154954368506538044542945108778924708332442984393661270672922851166479925141619600784472312257442654045669399555308601926105358534071807468554539314400250358159048694336307270461428009694765307914353470906715653901660520620183437374503440571879630673108003901534216017661705394752046634195103782204960445394990973518105820752257288369024492777006897873418246318473336585893061575771409229181920505999640396161433994160311609046291758927581582216747481347941416849181720905378575848257416777731835478458001036135670822126990075399026552659195353424975745858786628147371427244584441951342577321026286954466238364439339274763012690671221436201804567148707659158388653874765010844170286751215668165952385241383085928285347910650326129762531456155473649759770273091946460872192270597292711832802401686052270271630200912325815394729366800304659636909568512169103153077719977368595890781263721058865344906964836863048712206698087136147417497698120044528437634193246780528884897065351994942501747005690491972919620176064645435978340581763673839231947970008370423308919972228727090381666901731006706457155342927485549799161665334815810392285838916560435011567419743876385148832727386385224809113453675246486187148726966586610837071991857355090058380439362751921218893663670755542400441300677334246953874503558385452440130787792776119542284534393199881923190911782537887451379343103170628610061792776894650845924476144220796520895560115136575857331969052897738078259774881002580545449462097321885546881780910178305668643452141416604400358656603520020124551006965913807569764597775004094607352022651028173734851906825223020361236963446413595636380458501979527367426179866259929582240438910386868474797460367400594926433572781584295730282744207 168546769936881251119567400834965688906652714849132832412028520113709404180157229395694938233978954679554433188028299448349429485206622386284279599287421537135136155681877887243231350956723621401963276719582997571353847639140236406835177655511454247736424573022263656384414873351489224644597693902224526335807413868176949846182202971846803178187429455466499963218635506338744803080478852149255842653588488281851234958386015941553333195028858105496352393884571698382551395919315349478885468822967416953702681283817993897041626413904587718851679245371983921941514391391942006524191334277777620713573774201696381246380365822985854163387259620019155484548611155340855706557453345256991036384712808424371762947221876834164839328176288689886839623158271315918005420968875596185437050254174629145419763700489911899130108173306781823711374385359813437238747918623503601979332174441418536108049350518162605640029639758819238478933322020293178301412326387235091668040101496770345950095250493626467712708643670286783579785006580774750941887371704267954576028975084474223951747988267548093027280303000067072769628437816300576219564038328813395340393151885786820969875360240301083990007549474789818856927862514682411233159322584999099714638706435196169109148553365520042936967894677495989945059348841660082590888487206584124815483952104476862515378652322937769491946294475449278697458743823674489348618022870529840596909762765964142005475520812933356672612840552366296116913986999862323678330931606756775593356751034127262682947663032328665826321140867652760221060707802883351031731139969961999115940829872900157934984054851699879181817342608993150301121300704188977199191141028939320170491583133543850905944387094921877588077693354964084780221304260791220257804609980714406970131614005929555866632664005737193175795112125773595547489213140823722375537937842534008163900567331925542689828472471754081719768165470103089977187615322661595524653277121344603923294576005210383398784319979642912541877597409727748143882277302902446929136904714017137178078164681016679742130811329505288292644143040532596281033649916069151805252392113688720711852093405571 272714402451882833488614091914091928047760825416781735610324906018888550822363969394593602310308451931309229620473441598676790743465379017476876035129866869327866114362323506544859863622514040342526278960721007970961396186325555206590893538793476350532929249346633415609248226225999726437563746382281177232955827841285630356808794481096891317429191317732527365250696323854688652840625434609647323745010690436805603464924060484498441973953566437939336787545842371305402562399240491098486253295279674396356726953217549205643552519263121790659147799911298322191872550440636342831461795705787315478881688555167287962034267483506474346824634123459727364179284263344757240773471006962385788431347003528153967907667271825138357433997040947175208647651048322815878839215194069522022943315750400554648945620995911539526269607300942135320420677118741018820964666104851543396181356162323914683897607934940337475508097759855374149755449010368577327964985582588516643785960283398493321522495078068419055285964696573738046023371020114025704900062375489390777833542233181883110136642142313103871450589751282740935580823057683662147849386239463721470155683341942294619635130513393030450879741745387111568760664916368463503430952785911425530033435801996473768785462934032212040120972397473358540950130105381141456233394171420987864196158802563998662796150021057814020383928668696059226343640889026484291119769876220332569829382942028787441453861394697030511844788522374666540222906972091050768712598508487782299813906377054748232746824697663481636713426706569320656072275222627227416879972697348384340749943326575404421171203578666465792654414600850505391179681143551729120410034692610075712892024434221185152898261598480263040517824142756860899763588795184420139727800892496944857582993349032726495242725798514087826641036601917816344010108700938858951395269811586905901978827106806545270373921933851403605315047251013268282856258774803012129053635777948123943419127012176297206354084577417916636484949432378776317617129209727669949498141677463550773714545139518659269498237509371548222226383479442983149508447376436552400178825686470305007582376149778 441261172388764084608181492749057616954413540265914568022353426132597955002521198790288540544287406610863662808501741047026220228672001403761155634417288406463002270044201393788091214579237661744489555680304005542315243825465791613426071194304930598269353822368897071993663099577488951082161440284505703568763241709462580202990997452943694495616620773199027328469331830193433455921104286758903166398599178718656838423310076426051775168982424543435689181430414069687953958318555840577371722118247091350059408237035543102685178933167709509510827045283282244133386941832578349355653129983564936192455462756863669208414633306492328510211893743478882848727895418685612947330924352219376824816059811952525730854889148659303196762173329637062048270809319638733884260184069665707459993569925029700068709321485823438656377780607723959031795062478554456059712584728355145375513530603742450791946958453102943115537737518674612628688771030661755629377311969823608311826061780168839271617745571694886767994608366860521625808377600888776646787434079757345353862517317656107061884630409861196898730892751349813705209260873984238367413424568277116810548835227729115589510490753694114440887291220176930425688527431050874736590275370910525244672142237192642877934016299552254977088867074969348486009478947041224047121881378005112679680110907040861178174802343995583512330223144145337923802384712700973639737792746750173166739145707992929446929382207630387184457629074740962657136893971953374447043530115244557893170657411182010915694487729992147463034567574222080877132983025510578448611112667310383456690773199475562356155258430366344974471757209843655692300981847740706319601175721549395883383607567765036058842648693402140628595517497720945679984893055975640397532410873211351827714607354962282361875389804251281002436148727691411891499321841762581326933207654120914065879394438732087960202394405605485325083212721116358260043874097464607653706912899292727866713703017386680605138404557060829178362546842106524461499406512630116878635046391480687951792709820535339011629048838876836514870526519975579430542097292505704205431217800159025719434469555349 713975574840646918096795584663149545002174365682696303632678332151486505824885168184882142854595858542172892428975182645703010972137380421238031669547155275790868384406524900332951078201751702087015834641025013513276640011791346820016964733098406948802283071715530487602911325803488677519725186666786880801719069550748210559799791934040585813045812090931554693720028154048122108761729721368550490143609869155462441888234136910550217142935990981375025968976256440993356520717796331675857975413526765746416135190253092308328731452430831300169974845194580566325259492273214692187114925689352251671337151312030957170448900789998802857036527866938610212907179682030370188104395359181762613247406815480679698762556420484441554196170370584237256918460367961549763099399263735229482936885675430254717654942481734978182647387908666094352215739597295474880677250833206688771694886766066365475844566388043280591045835278529986778444220041030332957342297552412124955612022063567332593140240649763305823280573063434259671831748621002802351687496455246736131696059550837990172021272552174300770181482502632554640790083931667900515262810807740838280704518569671410209145621267087144891767032965564041994449192347419338240021228156821950774705578039189116646719479233584467017209839472442707026959609052422365503355275549426100543876269709604859840970952365053397532714151812841397150146025601727457930857562622970505736568528650021716888383243602327417696302417597115629197359800944044425215756128623732340192984563788236759148441312427655629099747994280791401533205258248137805865491085364658767797440716526050966777326462009032810767126171810694161083480662991292435440011210414159471596275632001986221211740910291882403669113341640477806579748481851160060537260211765708296685297600703995008857118115602765368829077185329609228235509430542701440278328477465707819967858221545538633230576316339456888930398259972129626542900132872267619782760548677240851810132830029562977811492489134478745814847496274485300779116535722357786828133188068944238725507254960053998281127286348248384737096909999418562580050544668942256605610043486629330727016845705127 1155236747229411002704977077412207161956587905948610871655031758284084460827406366975170683398883265153036555237476923692729231200809381824999187303964443682253870654450726294121042292780989363831505390321329019055591883837257138433443035927403337547071636894084427559596574425380977628601886626951292584370482311260210790762790789386984280308662432864130582022189359984241555564682834008127453656542209047874119280311544213336601992311918415524810715150406670510681310479036352172253229697531773857096475543427288635411013910385598540809680801890477862810458646434105793041542768055672917187863792614068894626378863534096491131367248421610417493061635075100715983135435319711401139438063466627433205429617445569143744750958343700221299305189269687600283647359583333400936942930455600459954786364263967558416839025168516390053384010802075849930940389835561561834147208417369808816267791524841146223706583572797204599407132991071692088586719609522235733267438083843736171864757986221458192591275181430294781297640126221891578998474930535004081485558576868494097233905902962035497668912375253982368345999344805652138882676235376017955091253353797400525798656112020781259332654324185740972420137719778470212976611503527732476019377720276381759524653495533136721994298706547412055512969087999463589550477156927431213223556380616645721019145754709048981045044374956986735073948410314428431570595355369720678903307674358014646335312625809957804880760046671856591854496694915997799662799658738976898086155221199418770064135800157647776562782561855013482410338241273648384314102198031969151254131489725526529133481720439399155741597929020537816775781644839033141759612386135708867479659239569751257270583558985284544297708859138198752259733374907135700934792622638919648513012208058957291218993505407016649831513334057300640127008752384464021605261685119828734033737615984270721190778710745062374255481472693245984802944006969732227436467461576533579676846533046949658416630893691539574993210043116591825240615942234987903706768234460424926677299964780589337292756335187125221251967436519394142010592641961447960811041261286788356446451315260476 1869212322070057920801772662075356706958762271631307175287710090435570966652291535160052826253479123695209447666452106338432242172946762246237218973511598958044739038857251194453993370982741065918521224962354032568868523849048485253460000660501744495873919965799958047199485751184466306121611813618079465172201380810959001322590581321024866121708244955062136715909388138289677673444563729496004146685818917029581722199778350247152209454854406506185741119382926951674666999754148503929087672945300622842891678617541727719342641838029372109850776735672443376783905926379007733729882981362269439535129765380925583549312434886489934224284949477356103274542254782746353323539715070582902051310873442913885128380001989628186305154514070805536562107730055561833410458982597136166425867341275890209504019206449293395021672556425056147736226541673145405821067086394768522918903304135875181743636091229189504297629408075734586185577211112722421544061907074647858223050105907303504457898226871221498414555754493729040969471874842894381350162426990250817617254636419332087405927175514209798439093857756614922986789428737320039397939046183758793371957872367071936007801733287868404224421357151305014414586912125889551216632731684554426794083298315570876171372974766721189011508546019854762539928697051885955053832432476857313767432650326250580860116707074102378577758526769828132224094435916155889501452917992691184639876203008036363223695869412285222577062464268972221051856495860042224878555787362709238279139784987655529212577112585303405662530556135804883943543499521786190179593283396627919051572206251577495910808182448431966508724100831231977859262307830325577199623596549868339075934871571737478482324469277166947966822200778676558839481856758295761472052834404627945198309808762952300076111621009782018660590519386909868362518182927165461883590162585536554001595837529809354421355027084519263185879732665375611345844139841999847219228010253774431486979363076512636228123382826018320808057539391077126019732477957345690534901422529369165402807219740643335573883621535373605989064346518812704590643186630390217416651304773417687173468160965603 3024449069299468923506749739487563868915350177579918046942741848719655427479697902135223509652362388848246002903929030031161473373756144071236406277476042640298609693307977488575035663763730429750026615283683051624460407686305623686903036587905082042945556859884385606796060176565443934723498440569372049542683692071169792085381370708009146430370677819192718738098748122531233238127397737623457803228027964903701002511322563583754201766772822030996456269789597462355977478790500676182317370477074479939367222044830363130356552223627912919531578626150306187242552360484800775272651037035186627398922379449820209928175968982981065591533371087773596336177329883462336458975034781984041489374340070347090557997447558771931056112857771026835867296999743162117057818565930537103368797796876350164290383470416851811860697724941446201120237343748995336761456921956330357066111721505683998011427616070335728004212980872939185592710202184414510130781516596883591490488189751039676322656213092679691005830935924023822267112001064785960348637357525254899102813213287826184639833078476245296108006233010597291332788773542972178280615281559776748463211226164472461806457845308649663557075681337045986834724631904359764193244235212286902813461018591952635696026470299857911005807252567266818052897785051349544604309589404288526990989030942896301879262461783151359622802901726814867298042846230584321072048273362411863543183877366051009559008495222243027457822510940828812906353190776040024541355446101686136365295006187074299276712912742951182225313117990818366353881740795434574493695481428597070305703695977104025044289902887831122250322029851769794635043952669358718959235982685577206555594111141488735752908028262451492264531059916875311099215231665431462406845457043547593711322016821909591295105126416798668492103853444210508489526935311629483488851847705365288035333453514080075612133737829581637441361205358621596148788146811732074655695471830308011163825896123462294644754276517557895801267582507668951260348420192333594241669656989794092080107184521232672866639956722498827241031783038206846601235828591838178227692566060206043619919476226079 4893661391369526844308522401562920575874112449211225222230451939155226394131989437295276335905841512543455450570381136369593715546702906317473625250987641598343348732165228683029029034746471495668547840246037084193328931535354108940363037248406826538819476825684343653995545927749910240845110254187451514714885072882128793407971952029034012552078922774254855454008136260820910911571961467119461949913846881933282724711100913830906411221627228537182197389172524414030644478544649180111405043422375102782258900662372090849699194061657285029382355361822749564026458286863808509002534018397456066934052144830745793477488403869470999815818320565129699610719584666208689782514749852566943540685213513260975686377449548400117361267371841832372429404729798723950468277548527673269794665138152240373794402676866145206882370281366502348856463885422140742582524008351098879985015025641559179755063707299525232301842388948673771778287413297136931674843423671531449713538295658343180780554439963901189420386690417752863236583875907680341698799784515505716720067849707158272045760253990455094547100090767212214319578202280292217678554327743535541835169098531544397814259578596518067781497038488351001249311544030249315409876966896841329607544316907523511867399445066579100017315798587121580592826482103235499658142021881145840758421681269146882739379168857253738200561428496642999522137282146740210573501191355103048183060080374087372782704364634528250034884975209801033958209686636082249419911233464395374644434791174729828489290025328254587887843674126623250297425240317220764673288764825224989357275902228681520955098085336263088759046130683001772494306260499684296158859579235445545631528982713226214235232497539618440231353260695551869938697088423727223878898291448175538909631825584861891371216747426580687152694372831120376852045118238794945372442010290901842036929291043889430033488764914100900627240938023997207494632286653731921874923482084082442650805259199974930872877659343576216609325121898746077280080898149679284776571079519163257482914404261876008440523578257872433230096129557019551191879015222228395644343870833623730793387637191682 7918110460668995767815272141050484444789462626791143269173193787874881821611687339430499845558203901391701453474310166400755188920459050388710031528463684238641958425473206171604064698510201925418574455529720135817789339221659732627266073836311908581765033685568729260791606104315354175568608694756823564257568764953298585493353322737043158982449600593447574192106884383352144149699359204742919753141874846836983727222423477414660612988400050568178653658962121876386621957335149856293722413899449582721626122707202453980055746285285197948913933987973055751269010647348609284275185055432642694332974524280566003405664372852452065407351691652903295946896914549671026241489784634550985030059553583608066244374897107172048417380229612859208296701729541886067526096114458210373163462935028590538084786147282997018743068006307948549976701229171136079343980930307429237051126747147243177766491323369860960306055369821612957370997615481551441805624940268415041204026485409382857103210653056580880426217626341776685503695876972466302047437142040760615822881062994984456685593332466700390655106323777809505652366975823264395959169609303312290298380324696016859620717423905167731338572719825396988084036175934609079603121202109128232421005335499476147563425915366437011023123051154388398645724267154585044262451611285434367749410712212043184618641630640405097823364330223457866820180128377324531645549464717514911726243957740138382341712859856771277492707486150629846864562877412122273961266679566081511009729797361804127766002938071205770113156792117441616651306981112655339166984246253822059662979598205785545999387988224094211009368160534771567129350213169043015118095561921022752187123093854714949988140525802069932495884320612427181037912320089158686285743748491723132620953842406771482666321873843379355644798226275330885341572053550424428861293857996267130072262744557969505645622502743682538068602143382618803643420433465463996530618953914390453814631155323437225517631935861134112410592704406415028540429318342012879018240736508957349563021588783108681307163534980371260471127912595226397793114843814066573872036436893829774413307113417761 12811771852038522612123794542613405020663575076002368491403645727030108215743676776725776181464045413935156904044691302770348904467161956706183656779451325836985307157638434854633093733256673421087122295775757220011118270757013841567629111084718735120584510511253072914787152032065264416413718948944275078972453837835427378901325274766077171534528523367702429646115020644173055061271320671862381703055721728770266451933524391245567024210027279105360851048134646290417266435879799036405127457321824685503885023369574544829754940346942482978296289349795805315295468934212417793277719073830098761267026669111311796883152776721923065223170012218032995557616499215879716024004534487117928570744767096869041930752346655572165778647601454691580726106459340610017994373662985883642958128073180830911879188824149142225625438287674450898833165114593276821926504938658528117036141772788802357521555030669386192607897758770286729149285028778688373480468363939946490917564781067726037883765093020482069846604316759529548740279752880146643746236926556266332542948912702142728731353586457155485202206414545021719971945178103556613637723937046847832133549423227561257434977002501685799120069758313747989333347719964858395012998169005969562028549652406999659430825360433016111040438849741509979238550749257820543920593633166580208507832393481190067358020799497658836023925758720100866342317410524064742219050656072617959909304038114225755124417224491299527527592461360430880822772564048204523381177913030476885654164588536533956255292963399460358001000466244064866948732221429876103840273011079047049020255500434467066954486073560357299768414291217773339623656473668727311276955141156468297818652076567941164223373023341688372727237581307979050976609408512885910164642039939898671530585667991633374037538621269960042797492599106451262193617171789219374233735868287168972109192035601858935679111267657783438695843081406616011138052720119195918405542435998472896465436414523412156390509595204710329019917826305161105820510216491692163794811816028120607045935993044984689747687113238243693701224042152245948984993859036294969516380307727453505206694750609443 20729882312707518379939066683663889465453037702793511760576839514904990037355364116156276027022249315326858357519001469171104093387621007094893688307915010075627265583111641026237158431766875346505696751305477355828907609978673574194895184921030643702349544196821802175578758136380618591982327643701098643230022602788725964394678597503120330516978123961150003838221905027525199210970679876605301456197596575607250179155947868660227637198427329673539504707096768166803888393214948892698849871221274268225511146076776998809810686632227680927210223337768861066564479581561027077552904129262741455600001193391877800288817149574375130630521703870936291504513413765550742265494319121668913600804320680477108175127243762744214196027831067550789022808188882496085520469777444094016121591008209421449963974971432139244368506293982399448809866343764412901270485868965957354087268519936045535288046354039247152913953128591899686520282644260239815286093304208361532121591266477108894986975746077062950272821943101306234243975629852612945793674068597026948365829975697127185416946918923855875857312738322831225624312153926821009596893546350160122431929747923578117055694426406853530458642478139144977417383895899467474616119371115097794449554987906475806994251275799453122063561900895898377884275016412405588183045244452014576257243105693233251976662430138063933847290088943558733162497538901389273864600120790132871635547995854364137466130084348070805020299947511060727687335441460326797342444592596558396663894385898338084021295901470666128114157258361506483600039202542531443007257257332869108683235098640252612953874061784451510777782451752544906753006686837770326395050703077491050005775170422656114211513549143758305223121901920406232014521728602044596450385788431621804151539510398404856703860495113339398442290825381782147535189225339643803095029726283436102181454780159828441324733770401465976764445224789234814781473153584659914936161389912863350280067569846849381908141531065844441430510530711576134360939534833705042813052552537077956608957581828093371054850648218614954172351954747472346778108702850361543388416744621283279620001864027204 33541654164746040992062861226277294486116612778795880251980485241935098253099040892882052208486294729262015261563692771941452997854782963801077345087366335912612572740750075880870252165023548767592819047081234575840025880735687415762524296005749378822934054708074875090365910168445883008396046592645373722202476440624153343296003872269197502051506647328852433484336925671698254272242000548467683159253318304377516631089472259905794661408454608778900355755231414457221154829094747929103977328543098953729396169446351543639565626979170163905506512687564666381859948515773444870830623203092840216867027862503189597171969926296298195853691716088969287062129912981430458289498853608786842171549087777346150105879590418316379974675432522242369748914648223106103514843440429977659079719081390252361843163795581281469993944581656850347643031458357689723196990807624485471123410292724847892809601384708633345521850887362186415669567673038928188766561668148308023039156047544834932870740839097545020119426259860835782984255382732759589539910995153293280908778888399269914148300505381011361059519152867852945596257332030377623234617483397007954565479171151139374490671428908539329578712236452892966750731615864325869629117540121067356478104640313475466425076636232469233104000750637408357122825765670226132103638877618594784765075499174423319334683229635722769871215847663659599504814949425454016083650776862750831544852033968589892590547308839370332547892408871491608510108005508531320723622505627035282318058974434872040276588864870126486115157724605571350548771423972407546847530268411916157703490599074719679908360135344808810546196742970318246376663160506497637672005844233959347824427246990597278434886572485446677950359483228385282991131137114930506615027828371520475682125178390038230741399116383299441239783424488233409728806397128863177328765594570605074290646815761687377003845038059249415460288306195850825919525873703855833341703825911336246745503984370261538298651126270554770450428357016737240181449751325397206607864368565198563654893574873078060802537761456858647873575996899718295763102561886656512904797052348736784826696614636647 54271536477453559372001927909941183951569650481589392012557324756840088290454405009038328235508544044588873619082694241112557091242403970895971033395281345988239838323861716907107410596790424114098515798386711931668933490714360989957419480926780022525283598904896677265944668304826501600378374236346472365432499043412879307690682469772317832568484771290002437322558830699223453483212680425072984615450914879984766810245420128566022298606881938452439860462328182624025043222309696821802827199764373221954907315523128542449376313611397844832716736025333527448424428097334471948383527332355581672467029055895067397460787075870673326484213419959905578566643326746981200554993172730455755772353408457823258281006834181060594170703263589793158771722837105602189035313217874071675201310089599673811807138767013420714362450875639249796452897802122102624467476676590442825210678812660893428097647738747880498435804015954086102189850317299168004052654972356669555160747314021943827857716585174607970392248202962142017228231012585372535333585063750320229274608864096397099565247424304867236916831891190684171220569485957198632831511029747168076997408919074717491546365855315392860037354714592037944168115511763793344245236911236165150927659628219951273419327912031922355167562651533306735007100782082631720286684122070609361022318604867656571311345659773786703718505936607218332667312488326843289948250897652883703180400029822954030056677393187441137568192356382552336197443446968858118066067098223593678981953360333210124297884766340792614229314982967077834148810626514938989854787525744785266386725697714972292862234197129260321323979194722863153129669847344267964067056547311450397830202417413253392646400121629204983173481385148791515005652865716975103065413616803142279833664688788443087445259611496638839682074249870015557263995622468506980423795320854041176472101595921515818328578808460715392224733530985085640700999027288515748277865215824199597025571554217110920206792657336399211880938887728313374542389286159102249420916921102276520263851156701171431857388409675473602045927951647190642541211264737018056293213796970020064446698478663851 87813190642199600364064789136218478437686263260385272264537809998775186543553445901920380443994838773850888880646387013054010089097186934697048378482647681900852411064611792787977662761813972881691334845467946507508959371450048405719943776932529401348217653612971552356310578473272384608774420828991846087634975484037032650986686342041515334619991418618854870806895756370921707755454680973540667774704233184362283441334892388471816960015336547231340216217559597081246198051404444750906804528307472175684303484969480086088941940590568008738223248712898193830284376613107916819214150535448421889334056918398256994632757002166971522337905136048874865628773239728411658844492026339242597943902496235169408386886424599376974145378696112035528520637485328708292550156658304049334281029170989926173650302562594702184356395457296100144095929260479792347664467484214928296334089105385741320907249123456513843957654903316272517859417990338096192819216640504977578199903361566778760728457424272152990511674462822977800212486395318132124873496058903613510183387752495667013713547929685878597976351044058537116816826817987576256066128513144176031562888090225856866037037284223932189616066951044930910918847127628119213874354451357232507405764268533426739844404548264391588271563402170715092129926547752857852390322999689204145787394104042079890646028889409509473589721784270877932172127437752297306031901674515634534725252063791543922647224702026811470116084765254043944707551452477389438789689603850628961300012334768082164574473631210919100344472707572649184697582050487346536702317794156701424090216296789691972770594332474069131870175937693181399506333007850765601739062391545409745654629664403850671081286694114651661123840868377176797996784002831905609680441445174662755515789867178481318186658727879938280921857674358248966992802019597370157752560915424646250762748411683203195332423846519964807685021837180936466620524900992371581619569041735535843771075538587372458505443783606953982331367244745050614723839037484499456028781289667475083918744731574249492659926171132332249919503948546908938304313826623674569198010849318756849273395093300498 142084727119653159736066717046159662389255913741974664277095134755615274834007850910958708679503382818439762499729081254166567180339590905593019411877929027889092249388473509695085073358604396995789850643854658439177892862164409395677363257859309423873501252517868229622255246778098886209152795065338318453067474527449911958677368811813833167188476189908857308129454587070145161238667361398613652390155148064347050251580312517037839258622218485683780076679887779705271241273714141572709631728071845397639210800492608628538318254201965853570939984738231721278708804710442388767597677867804003561801085974293324392093544078037644848822118556008780444195416566475392859399485199069698353716255904692992666667893258780437568316081959701828687292360322434310481585469876178121009482339260589599985457441329608122898718846332935349940548827062601894972131944160805371121544767918046634749004896862204394342393458919270358620049268307637264196871871612861647133360650675588722588586174009446760960903922665785119817440717407903504660207081122653933739457996616592064113278795353990745834893182935249221288037396303944774888897639542891344108560297009300574357583403139539325049653421665636968855086962639391912558119591362593397658333423896753378013263732460296313943439126053704021827137027329835489572677007121759813506809712708909736461957374549183296177308227720878096264839439926079140595980152572168518237905652093614497952703902095214252607684277121636596280904994899446247556855756702074222640281965695101292288872358397551711714573787690539727018846392677002285526557105319901486690476941994504664265632828529603329453194155132416044552636002855195033565806118938856860143484832081817104063727686815743856644297322253525968313002436868548880712745855061977805035349454555966924405631918339376577120603931924228264524256797642065877138176356236278687427234850007604719013661002654980680199909755368166022107321523928280887329897434257559735440796647092804483378712236440943353194212306132473363989266228323643601705449698210769751604182595888275420924517314580807805851965431900194099580845525091360692625491224646288776913720093571964349 229897917761852760100131506182378140826942177002359936541632944754390461377561296812879089123498221592290651380375468267220577269436777840290067790360576709789944660453085302483062736120418369877481185489322604946686852233614457801397307034791838825221718906130839781978565825251371270817927215894330164540702450011486944609664055153855348501808467608527712178936350343441066868994122042372154320164859381248709333692915204905509656218637555032915120292897447376786517439325118586323616436256379317573323514285462088714627260194792533862309163233451129915108993181323550305586811828403252425451135142892691581386726301080204616371160023692057655309824189806203804518243977225408940951660158400928162075054779683379814542461460655813864215812997807763018774135626534482170343763368431579526159107743892202825083075241790231450084644756323081687319796411645020299417878857023432376069912145985660908186351113822586631137908686297975360389691088253366624711560554037155501349314631433718913951415597128608097617653203803221636785080577181557547249641384369087731126992343283676624432869533979307758404854223121932351144963768056035520140123185099526431223620440423763257239269488616681899766005809767020031771993945813950630165739188165286804753108137008560705531710689455874736919266953877588347425067330121449017652597106812951816352603403438592805650897949505148974197011567363831437902012054246684152772630904157406041875351126797241064077800361886890640225612546351923636995645446305924851601581978029869374453446832028762630814918260398112376203543974727489632063259423114058188114567158291294356238403422862077398585064331070109225952142335863045799167545181330402269889139461746220954734808973509858508305421163121903145110999220871380786322426296507152467790865244423145405723818577067256515401525789598586513491249599661663247295928917151703333677997598419287922208993426501500645007594777205346958573942048829273258911517003299295271284567722631391855837217680224550307176543673377218414603990067361128101161478479500437226688101340619849670417177240751940138101884935848741008519149838917984367194689235495607533762993488665264847 371982644881505919836198223228537803216198090744334600818728079510005736211569147723837797803001604410730413880104549521387144449776368745883087202238505737679036909841558812178147809479022766873271036133177263385864745095778867197074670292651148249095220158648708011600821072029470157027080010959668482993769924538936856568341423965669181668996943798436569487065804930511212030232789403770767972555014529313056383944495517422547495477259773518598900369577335156491788680598832727896326067984451162970962725085954697343165578448994499715880103218189361636387701986033992694354409506271056429012936228866984905778819845158242261219982142248066435754019606372679197377643462424478639305376414305621154741722672942160252110777542615515692903105358130197329255721096410660291353245707692169126144565185221810947981794088123166800025193583385683582291928355805825670539423624941479010818917042847865302528744572741856989757957954605612624586562959866228271844921204712744223937900805443165674912319519794393217435093921211125141445287658304211480989099380985679795240271138637667370267762716914556979692891619425877126033861407598926864248683482108827005581203843563302582288922910282318868621092772406411944330113537176544027824072612062040182766371869468857019475149815509578758746403981207423836997744337243208831159406819521861552814560777987776101828206177226027070461851007289910578497992206818852671010536556251020539828055028892455316685484639008527236506517541251369884552501203007999074241863943724970666742319190426314342529492048088652103222390367404491917589816528433959674805044100285799020504036251391680728038258486202525270504778338718240832733351300269259130032624293828038058798536660325602364949718485375429113424001657739929667035172151569130272826214698979112330129450495406633092522129721522814778015506397303729124434105273387982021105232448426892641222654429156481325207504532573512980681263572757554146241414437556855006725364369724196339215929916665493660370755979509691778593256295684771702866928177711206978292283936508125091341694555332747943953850367748935108099995364009345059820180460141896310676713582237229196 601880562643358679936329729410915944043140267746694537360361024264396197589130444536716886926499826003021065260480017788607721719213146586173154992599082447468981570294644114661210545599441136750752221622499868332551597329393324998471977327442987074316939064779547793579386897280841427845007226853998647534472374550423801178005479119524530170805411406964281666002155273952278899226911446142922292719873910561765717637410722328057151695897328551514020662474782533278306119923951314219942504240830480544286239371416786057792838643787033578189266451640491551496695167357542999941221334674308854464071371759676487165546146238446877591142165940124091063843796178883001895887439649887580257036572706549316816777452625540066653239003271329557118918355937960348029856722945142461697009076123748652303672929114013773064869329913398250109838339708765269611724767450845969957302481964911386888829188833526210715095686564443620895866640903587984976254048119594896556481758749899725287215436876884588863735116923001315052747125014346778230368235485769028238740765354767526367263481921343994700632250893864738097745842547809477178825175654962384388806667208353436804824283987065839528192398899000768387098582173431976102107482990494657989811800227326987519480006477417725006860504965453495665670935085012184422811667364657848812003926334813369167164181426368907479104126731176044658862574653742016400004261065536823783167460408426581703406155689696380763285000895417876732130087603293521548146649313923925843445921754840041195766022455076973344410308486764479425934342131981549653075951548017862919611258577093376742439674253758126623322817272634496456920674581286631900896481599661399921763755574259013533345633835460873255139648497332258535000878611310453357598448076282740617079943402257735853269072473889607923655511121401291506755996965392371730034190539685354783230046846180563431647855657981970215099309778859939255205621586827405152931440856150278009932092355588195053147596890043967547299652886910193197246363045899804028406657211644204980385277127974761758871796084688082055735303597676116619145202927329427014869695637503844439707070902494043 973863207524864599772527952639453747259338358491029138179089103774401933800699592260554684729501430413751479140584567309994866168989515332056242194837588185148018480136202926839358355078463903624023257755677131718416342425172192195546647620094135323412159223428255805180207969310311584872087237813667130528242299089360657746346903085193711839802355205400851153067960204463490929459700849913690265274888439874822101581906239750604647173157102070112921032052117689770094800522784042116268572225281643515248964457371483400958417092781533294069369669829853187884397153391535694295630840945365283477007600626661392944365991396689138811124308188190526817863402551562199273530902074366219562412987012170471558500125567700318764016545886845250022023714068157677285577819355802753050254783815917778448238114335824721046663418036565050135031923094448851903653123256671640496726106906390397707746231681391513243840259306300610653824595509200609562817007985823168401402963462643949225116242320050263776054636717394532487841046225471919675655893789980509227840146340447321607534620559011364968394967808421717790637461973686603212686583253889248637490149317180442386028127550368421817115309181319637008191354579843920432221020167038685813884412289367170285851875946274744482010320475032254412074916292436021420556004607866679971410745856674921981724959414145009307310303957203115120713581943652594897996467884389494793704016659447121531461184582151697448769639903945113238647628854663406100647852321923000085309865479810707938085212881391315873902356575416582648324709536473467242892479981977537724655358862892397246475925645438854661581303475159766961699013299527464634247781868920529954388049402297072331882294161063238204858133872761371959002536351240120392770599645413013443294642381370065982719567880522700445785232644216069522262394269121496164139463927667375888462495273073204654302284814463295422603842352372919936469194344381551394345878413005284735296462079784534269077513555537627918055632396601971790502658730671506895334834922851183272669213636099853100566351417436026009585671346611224719140566936674486835050155779400155116420653139723239 1575743770168223279708857682050369691302478626237723675539450128038798131389830036797271571656001256416772544401064585098602587888202661918229397187436670632617000050430847041500568900677905040374775479378177000050967939754565517194018624947537122397729098288207803598759594866591153012717094464667665778062714673639784458924352382204718242010607766612365132819070115478415769828686612296056612557994762350436587819219316962078661798869054430621626941694526900223048400920446735356336211076466112124059535203828788269458751255736568566872258636121470344739381092320749078694236852175619674137941078972386337880109912137635136016402266474128314617881707198730445201169418341724253799819449559718719788375277578193240385417255549158174807140942070006118025315434542300945214747263859939666430751911043449838494111532747949963300244870262803214121515377890707517610454028588871301784596575420514917723958935945870744231549691236412788594539071056105418064957884722212543674512331679196934852639789753640395847540588171239818697906024129275749537466580911695214847974798102480355359669027218702286455888383304521496080391511758908851633026296816525533879190852411537434261345307708080320405395289936753275896534328503157533343803696212516694157805331882423692469488870825440485750077745851377448205843367671972524528783414672191488291148889140840513916786414430688379159779576156597394611298000728949926318576871477067873703234867340271848078212054640799362989970777716457956927648794501635846925928755787234650749133851235336468289218312665062181062074259051668455016895968431529995400644266617439985773988915599899196981284904120747794263418619687880814096535144263468581929876151804976556085865227927996524111459997782370093630494003414962550573750369047721695754060374585783627801835988640354412308369440743765617361029018391234513867894173654467352730671692542119253768085950140472445265637703152131232859191674815931208956547277319269155562745228554435372729322225110445581595465355285283512164987749021776571310923741492134495388253054490764074614859438147502124108065320974944287341338285769864003913849919851416903999556127724042217282 2549606977693087879481385634689823438561816984728752813718539231813200065190529629057826256385502686830524023541649152408597454057192177250285639382274258817765018530567049968339927255756368943998798737133854131769384282179737709389565272567631257721141257511636059403939802835901464597589181702481332908590956972729145116670699285289911953850410121817765983972138075682879260758146313145970302823269650790311409920801223201829266446042211532691739862726579017912818495720969519398452479648691393767574784168286159752859709672829350100166328005791300197927265489474140614388532483016565039421418086573012999273054278129031825155213390782316505144699570601282007400442949243798620019381862546730890259933777703760940704181272095045020057162965784074275702601012361656747967797518643755584209200149157785663215158196165986528350379902185897662973419031013964189250950754695777692182304321652196309237202776205177044842203515831921989204101888064091241233359287685675187623737447921516985116415844390357790380028429217465290617581680023065730046694421058035662169582332723039366724637422186510708173679020766495182683604198342162740881663786965842714321576880539087802683162423017261640042403481291333119816966549523324572029617580624806061328091183758369967213970881145915518004489820767669884227263923676580391208754825418048163213130614100254658926093724734645582274900289738541047206195997196834315813370575493727320824766328524853999775660824280703308103209425345312620333749442353957769926014065652714461457071936448217859605092215021637597644722583761204928484138860911511972938368921976302878171235391525544635835946485424222954030380318701180341561169392045337502459830539854378853158197110222157587349664855916242855002453005951313790694143139647367108767503669228164997867818708208234935008815225976409833430551280785503635364058313118395020106560155037392326972740252425286908561060306994483605779128144010275590507941623197682160847480525016515157263591302624001119223383410917680114136778251680507242817819076327057346571525723704400174467960004498919560134074906646290898566057426336800678400684970007196304154672548377181940521 4125350747861311159190243316740193129864295610966476489257989359851998196580359665855097828041503943247296567942713737507200041945394839168515036569710929450382018580997897009840496156434273984373574216512031131820352221934303226583583897515168380118870355799843863002699397702492617610306276167148998686653671646368929575595051667494630195861017888430131116791208191161295030586832925442026915381264413140747997740020540163907928244911265963313366804421105918135866896641416254754788690725157505891634319372114948022318460928565918667038586641912770542666646581794889693082769335192184713559359165545399337153164190266666961171615657256444819762581277800012452601612367585522873819201312106449610048309055281954181089598527644203194864303907854080393727916446903957693182544782503695250639952060201235501709269728913936491650624772448700877094934408904671706861404783284648993966900897072711226961161712151047789073753207068334777798640959120196659298317172407887731298249779600713919969055634143998186227569017388705109315487704152341479584161001969730877017557130825519722084306449405212994629567404071016678763995710101071592514690083782368248200767732950625236944507730725341960447798771228086395713500878026482105373421276837322755485896515640793659683459751971356003754567566619047332433107291348552915737538240090239651504279503241095172842880139165333961434679865895138441817493997925784242131947446970795194528001195865125847853872878921502671093180203061770577261398236855593616851942821439949112206205787683554327894310527686699778706796842812873383501034829343041968339013188593742863945224307125443832817231389544970748293798938389061155657704536308806084389706691659355409244062338150154111461124853698612948632947009366276341267893508695088804521564043813948625669654696848589347317184666720175450791580299176738149231952486772862372837231847579511580740826202565759353826698010146614838638319818826206799464488900516951316410225753570950529992913527734446700818848766202963626301766000702283814128742817819191841959778778195164249082819442646421684242140227621235185907395712106664682314534889858613208154228676101224157803 6674957725554399038671628951430016568426112595695229302976528591665198261770889294912924084427006630077820591484362889915797496002587016418800675951985188268147037111564946978180423412190642928372372953645885263589736504114040935973149170082799637840011613311479922406639200538394082207895457869630331595244628619098074692265750952784542149711428010247897100763346266844174291344979238587997218204534063931059407660821763365737194690953477496005106667147684936048685392362385774153241170373848899659209103540401107775178170601395268767204914647704070740593912071269030307471301818208749752980777252118412336426218468395698786326829048038761324907280848401294460002055316829321493838583174653180500308242832985715121793779799739248214921466873638154669430517459265614441150342301147450834849152209359021164924427925079923020001004674634598540068353439918635896112355537980426686149205218724907536198364488356224833915956722900256767002742847184287900531676460093562918921987227522230905085471478534355976607597446606170399933069384175407209630855423027766539187139463548559088808943871591723702803246424837511861447599908443234333396353870748210962522344613489713039627670153742603600490202252519419515530467427549806677403038857462128816813987699399163626897430633117271521759057387386717216660371215025133306946293065508287814717410117341349831768973863899979543709580155633679489023689995122618557945318022464522515352767524389979847629533703202205979196389628407083197595147679209551386777956887092663573663277724131772187499402742708337376351519426574078311985173690254553941277382110570045742116459698650988468653177874969193702324179257090241497218873928354143586849537231513734262402259448372311698810789709614855803635400015317590131962036648342455913289067713042113623537473405056824282325999892696585284222131579962241784596010799891257392943792002616903907713566454991046262387758317141098444417447962836482389972430523714633477257706278587465687256504830358447820042232177120643740438544252382791056946561894146249188531304501899564423550779447145341244376215134267526084473453138443465360715219859865809512308901224478406098324 10800308473415710197861872268170209698290408206661705792234517951517196458351248960768021912468510573325117159427076627422997537947981855587315712521696117718529055692562843988020919568624916912745947170157916395410088726048344162556733067597968017958881969111323785409338598240886699818201734036779330281898300265467004267860802620279172345572445898678028217554554458005469321931812164030024133585798477071807405400842303529645122935864743459318473471568790854184552289003802028908029861099006405550843422912516055797496631529961187434243501289616841283260558653063920000554071153400934466540136417663811673579382658662365747498444705295206144669862126201306912603667684414844367657784486759630110356551888267669302883378327383451409785770781492235063158433906169572134332887083651146085489104269560256666633697653993859511651629447083299417163287848823307602973760321265075680116106115797618763159526200507272622989709929968591544801383806304484559829993632501450650220237007122944825054527112678354162835166463994875509248557088327748689215016424997497416204696594374078810893250320996936697432813828908528540211595618544305925911043954530579210723112346440338276572177884467945560938001023747505911243968305576288782776460134299451572299884215039957286580890385088627525513624954005764549093478506373686222683831305598527466221689620582445004611854003065313505144260021528817930841183993048402800077265469435317709880768720255105695483406582123708650289569831468853774856545916065145003629899708532612685869483511815326515393713270395037155058316269386951695486208519597595909616395299163788606061684005776432301470409264514164450617978195479302652876578464662949671239243923173089671646321786522465810271914563313468752268347024683866473229930157037544717810631756856062249207128101905413629643184559416760735013711879138979933827963286664119765781023850196415488454392657556805616214456327287713283055767781662689189436919424231584793667932032158416217249418358092894520861080943323607366740310253085074871075304711965441030491083280094728672633598889791762928618355361888761270380848850550130043029754749724422720463129900579630256127 17475266198970109236533501219600226266716520802356935095211046543182394720122138255680945996895517203402937750911439517338795033950568872006116388473681305986676092804127790966201342980815559841118320123803801658999825230162385098529882237680767655798893582422803707815977798779280782026097191906409661877142928884565078960126553573063714495283873908925925318317900724849643613276791402618021351790332541002866813061664066895382317626818220955323580138716475790233237681366187803061271031472855305210052526452917163572674802131356456201448415937320912023854470724332950308025372971609684219520913669782224010005601127058064533825273753333967469577142974602601372605723001244165861496367661412810610664794721253384424677158127122699624707237655130389732588951365435186575483229384798596920338256478919277831558125579073782531652634121717897957231641288741943499086115859245502366265311334522526299357890688863497456905666652868848311804126653488772460361670092595013569142224234645175730139998591212710139442763910601045909181626472503155898845871848025263955391836057922637899702194192588660400236060253746040401659195526987540259307397825278790173245456959930051316199848038210549161428203276266925426774435733126095460179498991761580389113871914439120913478321018205899047272682341392481765753849721398819529630124371106815280939099737923794836380827866965293048853840177162497419864873988171021358022583491899840225233536244645085543112940285325914629485959459875936972451693595274696390407856595625276259532761235947098702893116013103374531409835695961030007471382209852149850893777409733834348178143704427420770123587139483358152942157452569544150095452393017093258088781154686823934048581234894777509082704272928324555903747040001456605191966805380000631099699469898175872744601506962237911969184452113346019235843459101221718423974086555377158724815852813319396167959112547851878602214644428811727473215744499171579409349947946218270925638310745881904505923188451342340903313120444251107178854505467865928021866606111690219022387781994293096184378336937104172994570496156287354854301988993595403744974609590232232772031125058036354451 28275574672385819434395373487770435965006929009018640887445564494699591178473387216448967909364027776728054910338516144761792571898550727593432100995377423705205148496690634954222262549440476753864267293961718054409913956210729261086615305278735673757775551534127493225316397020167481844298925943188992159041229150032083227987356193342886840856319807603953535872455182855112935208603566648045485376131018074674218462506370425027440562682964414642053610285266644417789970369989831969300892571861710760895949365433219370171433661317643635691917226937753307115029377396870308579444125010618686061050087446035683584983785720430281323718458629173614247005100803908285209390685659010229154152148172440721021346609521053727560536454506151034493008436622624795747385271604758709816116468449743005827360748479534498191823233067642043304263568801197374394929137565251102059876180510578046381417450320145062517416889370770079895376582837439856605510459793257020191663725096464219362461241768120555194525703891064302277930374595921418430183560830904588060888273022761371596532652296716710595444513585597097668874082654568941870791145531846185218441779809369383968569306370389592772025922678494722366204300014431338018404038702384242955959126061031961413756129479078200059211403294526572786307295398246314847328227772505752313955676705342747160789358506239840992681870030606553998100198691315350706057981219424158099848961335157935114304964900191238596346867449623279775529291344790747308239511339841394037756304157888945402244747762425218286829283498411686468151965347981702957590729449745760510172708897622954239827710203853071593996403997522603560135648048846802972030857680042929328025077859913605694903021417243319354618836241793308172094064685323078421896962417545348910331226754238121951729608867651541612369011530106754249555338240201652251937373219496924505839703009734884622351770104657494816670971716525010528983526161860768846269372177803064593570342904298121755341546544236861764394063767858473919164758552940799097171318077131249513471062089021768817977226728867101612925858045048625235150839543725446774729359314654953235161025637666610578 45750840871355928670928874707370662231723449811375575982656611037881985898595525472129913906259544980130992661249955662100587605849119599599548489469058729691881241300818425920423605530256036594982587417765519713409739186373114359616497542959503329556669133956931201041294195799448263870396117849598654036184158034597162188113909766406601336140193716529878854190355907704756548485394969266066837166463559077541031524170437320409758189501185369965633749001742434651027651736177635030571924044717015970948475818350382942846235792674099837140333164258665330969500101729820616604817096620302905581963757228259693590584912778494815148992211963141083824148075406509657815113686903176090650519809585251331686141330774438152237694581628850659200246091753014528336336637039945285299345853248339926165617227398812329749948812141424574956897690519095331626570426307194601145992039756080412646728784842671361875307578234267536801043235706288168409637113282029480553333817691477788504685476413296285334524295103774441720694285196967327611810033334060486906760121048025326988368710219354610297638706174257497904934336400609343529986672519386444525839605088159557214026266300440908971873960889043883794407576281356764792839771828479703135458117822612350527628043918199113537532421500425620058989636790728080601177949171325281944080047812158028099889096430034677373509736995899602851940375853812770570931969390445516122432453234998160347841209545276781709287152775537909261488751220727719759933106614537784445612899783165204935005983709523921179945296601786217877987661309011710428972939301895611403950118631457302417971414631273841717583543480880756502293100618390953067483250697136187416806232546737539743484256312020828437323109170117864075841104686779683613863767797545980010030696652413994696331115829889453581553463643452773485398797341423370675911459774874083230655555823054280790310882652509373418885616145336738002199270661032348255619320124021335519208653650180026261264734995579202667707184212109581098019264020806727119037924188821468535858844083314865002355563665971274607496354201335980089452828537320850519703968904887186007192150695702965029 74026415543741748105324248195141098196730378820394216870102175532581577077068912688578881815623572756859047571588471806862380177747670327192980590464436153397086389797509060874645868079696513348846854711727237767819653142583843620703112848238239003314444685491058694266610592819615745714695043792787646195225387184629245416101265959749488176996513524133832390062811090559869483693998535914112322542594577152215249986676807745437198752184149784607687359287009079068817622106167466999872816616578726731844425183783602313017669453991743472832250391196418638084529479126690925184261221630921591643013844674295377175568698498925096472710670592314698071153176210417943024504372562186319804671957757692052707487940295491879798231036135001693693254528375639324083721908644703995115462321698082931992977975878346827941772045209066618261161259320292706021499563872445703205868220266658459028146235162816424392724467605037616696419818543728025015147573075286500744997542787942007867146718181416840529049998994838743998624659792888746041993594164965074967648394070786698584901362516071320893083219759854595573808419055178285400777818051232629744281384897528941182595572670830501743899883567538606160611876295788102811243810530863946091417243883644311941384173397277313596743824794952192845296932188974395448506176943831034258035724517500775260678454936274518366191607026506156850040574545128121276989950609869674222281414570156095462146174445468020305634020225161189037018042565518467068172617954379178483369203941054150337250731471949139466774580100197904346139626656993413386563668751641371914122827529080256657799124835126913311579947478403360062428748667237756039514108377179116744831310406651145438387277729264147791941945411911172247935169372102762035760730215091328920361923406652116648060724697540995193922475173559527734954135581625022927848832994371007736495258832789165412662652757166868235556587861861748531182796822893117101888692301824400112778996554478148016606281539816064432101247979968055017184022573747526216209242265952718049329906172336633820332790394838376220422212246384605324603668081046297294433328219542139242353176333369575607 119777256415097676776253122902511760428453828631769792852758786570463562975664438160708795721883117736990040232838427468962967783596789926792529079933494883088967631098327486795069473609952549943829442129492757481229392328956957980319610391197742332871113819447989895307904788619064009585091161642386300231409545219226407604215175726156089513136707240663711244253166998264626032179393505180179159709058136229756281510847245065846956941685335154573321108288751513719845273842345102030444740661295742702792901002133985255863905246665843309972583555455083969054029580856511541789078318251224497224977601902555070766153611277419911621702882555455781895301251616927600839618059465362410455191767342943384393629271069930032035925617763852352893500620128653852420058545684649280414808174946422858158595203277159157691720857350491193218058949839388037648069990179640304351860260022738871674875020005487786268032045839305153497463054250016193424784686357315981298331360479419796371832194594713125863574294098613185719318944989856073653803627499025561874408515118812025573270072735425931190721925934112093478742755455787628930764490570619074270120989985688498396621838971271410715773844456582489955019452577144867604083582359343649226875361706256662469012217315476427134276246295377812904286568979702476049684126115156316202115772329658803360567551366309195739701344022405759701980950398940891847921920000315190344713867805154255809987383990744802014921173000699098298506793786246186828105724568916962928982103724219355272256715181473060646719876701984122224127287966005123815536608053536983318072946160537559075770539466400755029163490959284116564721849285628709106997359074315304161637542953388685181871534041284976229265054582029036323776274058882445649624498012637308930392620059066111344391840527430448775475938817012301220352932923048393603760292769245090967150814655843446202973535409676241654442204007198486533382067483925465357508012425845735631987650204658174277871016535395267099808432192077636115203286594554253335247166454774186585188750255651498822688354060809650827918566447720585414056496618367147814137297124429325249545327029072540636 193803671958839424881577371097652858625184207452164009722860962103045140052733350849287677537506690493849087804426899275825347961344460253985509670397931036486054020895836547669715341689649063292676296841219995249049045471540801601022723239435981336185558504939048589574515381438679755299786205435173946426634932403855653020316441685905577690133220764797543634315978088824495515873392041094291482251652713381971531497524052811284155693869484939181008467575760592788662895948512569030317557277874469434637326185917587568881574700657586782804833946651502607138559059983202466973339539882146088867991446576850447941722309776345008094413553147770479966454427827345543864122432027548730259863725100635437101117211365421911834156653898854046586755148504293176503780454329353275530270496644505790151573179155505985633492902559557811479220209159680743669569554052086007557728480289397330703021255168304210660756513444342770193882872793744218439932259432602482043328903267361804238978912776129966392624293093451929717943604782744819695797221663990636842056909189598724158171435251497252083805145693966689052551174510965914331542308621851704014402374883217439579217411642101912459673728024121096115631328872932970415327392890207595318292605589900974410396390712753740731020071090330005749583501168676871498190303058987350460151496847159578621246006302583714105892951048911916552021524944069013124911870610184864566995282375310351272133558436212822320555193225860287335524836351764653896278342523296141412351307665273505609507446653422200113494456802182026570266914622998537202100276805178355232195773689617815733569664301527668340743438437687476627150597952866465146511467451494420906468853360039830620258811770549124021206999993940208571711443430985207685385228227728637850754543465718227992452565224971443969398413990571828955307068504673416531609125763616098703646073488632611615636188166843109889998791869060235064564864306818582459396704727670135744766646759136322294477298075211331531909680172045691132387309168301779551456408720726904634518656427988132643021144455648027048340778694105190738660164699413445108570625343971464491898503362442116243 313580928373937101657830494000164619053638036083933802575619748673508703028397789009996473259389808230839128037265326744788315744941250180778038750331425919575021651994164034464784815299601613236505738970712752730278437800497759581342333630633723669056672324387038484882420170057743764884877367077560246658044477623082060624531617412061667203269928005461254878569145087089121548052785546274470641960710849611727813008371297877131112635554820093754329575864512106508508169790857671060762297939170212137430227188051572824745479947323430092777417502106586576192588640839714008762417858133370586092969048479405518707875921053764919716116435703226261861755679444273144703740491492911140715055492443578821494746482435351943870082271662706399480255768632947028923839000014002555945078671590928648310168382432665143325213759910049004697279158999068781317639544231726311909588740312136202377896275173791996928788559283647923691345927043760411864716945789918463341660263746781600610811107370843092256198587192065115437262549772600893349600849163016198716465424308410749731441507986923183274527071628078782531293929966753543262306799192470778284523364868905937975839250613373323175447572480703586070650781450077838019410975249551244545167967296157636879408608028230167865296317385707818653870070148379347547874429174143666662267269176818381981813557668892909845594295071317676254002475343009904972833790610500054911709150180464607082120942426957624335476366226559385634031630138010840724384067092213104341333411389492860881764161834895260760214333504166148794394202589003661017636884858715338550268719850155374809340203767928423369906929396971593191872447238495174253508826525809725068106396313428515802130345811834100250472054575969244895487717489867653335009726240365946781147163524784339336844405752401892744874352807584130175660001427721810135369418532861189670796888144476057818609723576519351544440995876258721597946931790744047816904717153515871376754296963794496572348314610606598631718112364123327247590595762856032886703575175501091219707406683639631465709498516457677876259345141825776152716661317780592922707922468400789741443830391514656879 507384600332776526539407865097817477678822243536097812298480710776553843081131139859284150796896498724688215841692226020613663706285710434763548420729356956061075672890000582134500156989250676529182035811932747979327483272038561182365056870069705005242230829326087074456935551496423520184663572512734193084679410026937713644848059097967244893403148770258798512885123175913617063926177587368762124212363562993699344505895350688415268329424305032935338043440272699297171065739370240091079855217044681572067553373969160393627054647981016875582251448758089183331147700822916475735757398015516674960960495056255966649598230830109927810529988850996741828210107271618688567862923520459870974919217544214258595863693800773855704238925561560446067010917137240205427619454343355831475349168235434438461741561588171128958706662469606816176499368158749524987209098283812319467317220601533533080917530342096207589545072727990693885228799837504630304649205222520945384989167014143404849790020146973058648822880285517045155206154555345713045398070827006835558522333498009473889612943238420435358332217322045471583845104477719457593849107814322482298925739752123377555056662255475235635121300504824682186282110323010808434738368139758839863460572886058611289804998740983908596316388476037824403453571317056219046064732233131017122418766023977960603059563971476623951487246120229592806024000287078918097745661220684919478704432555774958354254500863170446656031559452419672969556466489775494620662409615509245753684719054766366491271608488317460873708790306348175364661117212002198219737161663893693782464493539773190542909868069456091710650367834659069819023045191361639400020293977304145974575249673468346422389157582383224271679054569909453467199160920852861020394954468094584631901706990502567329296970977373336714272766798155959130967069932395226666978544296477288374442961633108669434245911743362461434439787745318956662511796097562630276301421881186007121520943722930818866825612685817930163627792536169018379977904931157812438159983896227995854226063111627764108730642972105704924600123835930966891376826017194038031278547812372254233342333753956773122 820965528706713628197238359097982096732460279620031614874100459450062546109528928869280624056286306955527343878957552765401979451226960615541587171060782875636097324884164616599284972288852289765687774782645500709605921072536320763707390500703428674298903153713125559339355721554167285069540939590294439742723887650019774269379676510028912096673076775720053391454268263002738611978963133643232766173074412605427157514266648565546380964979125126689667619304784805805679235530227911151842153156214893709497780562020733218372534595304446968359668950864675759523736341662630484498175256148887261053929543535661485357474151883874847526646424554223003689965786715891833271603415013371011689974709987793080090610176236125799574321197224266845547266685770187234351458454357358387420427839826363086771909944020836272283920422379655820873778527157818306304848642515538631376905960913669735458813805515888204518333632011638617576574726881265042169366151012439408726649430760925005460601127517816150905021467477582160592468704327946606394998919990023034274987757806420223621054451225343618632859288950124254115139034444473000856155907006793260583449104621029315530895912868848558810568872985528268256932891773088646454149343389310084408628540182216248169213606769214076461612705861745643057323641465435566593939161407274683784686035200796342584873121640369533797081541191547269060026475630088823070579451831184974390413582736239565436375443290128070991507925678979058603588096627786335345046476707722350095018130444259227373035770323212721633923123810514324159055319801005859237374046522609032332733213389928565352250071837384515080557297231630663010895492429856813653529120503113871042681645986896862224519503394217324522151109145878698362686878410720514355404680708460531413048870515286906666141376729775229459147119605740089306627071360117036802347962829338478045239849777584727252855635319881812978880783621577678260458727888306678093206139034701878498275240686725315439173927296424528795345904900292345627568500694013845324863559071729087073933469795267395574440141488563382800859468977756743044093487334974630953986470280773043974786164145471430001 1328350129039490154736646224195799574411282523156129427172581170226616389190660068728564774853182805680215559720649778786015643157512671050305135591790139831697172997774165198733785129278102966294869810594578248688933404344574881946072447370773133679541133983039212633796291273050590805254204512103028632827403297676957487914227735607996156990076225545978851904339391438916355675905140721011994890385437975599126502020161999253961649294403430159625005662745057505102850301269598151242922008373259575281565333935989893611999589243285463843941920399622764942854884042485546960233932654164403936014890038591917452007072382713984775337176413405219745518175893987510521839466338533830882664893927532007338686473870036899655278560122785827291614277602907427439779077908700714218895777008061797525233651505609007401242627084849262637050277895316567831292057740799350950844223181515203268539731335857984412107878704739629311461803526718769672474015356234960354111638597775068410310391147664789209553844347763099205747674858883292319440396990817029869833510091304429697510667394463764053991191506272169725698984138922192458450005014821115742882374844373152693085952575124323794445690173490352950443215002096099454888887711529068924272089113068274859459018605510197985057929094337783467460777212782491785640003893640405700907104801224774303187932685611846157748568787311776861866050475917167741168325113051869893869118015292014523790629944153298517647539485131398731573144563117561829965708886323231595848702849499025593864307378811530182507631914116862499523716437013008057457111208186502726115197706929701755895159939906840606791207665066289732829918537621218453053549414480418017017256895660365208646908660976600548793830163715788151829886039331573375375799635176555116044950577505789473995438347707148566173419886403896048437594141292512263469326507125815766419682811410693396687101547063244274413320571366896634922970523985869308369507560915887885619796184409656134305999539982242458958973697436461364007546405625171657763023542967957082928159532906895159683170784460669087725459592813687709935470313352168668985265018093145298208128497899428203123 2149315657746203782933884583293781671143742802776161042046681629676678935300188997597845398909469112635742903599607331551417622608739631665846722762850922707333270322658329815333070101566955256060557585377223749398539325417111202709779837871476562353840037136752338193135646994604758090323745451693323072570127185326977262183607412118025069086749302321698905295793659701919094287884103854655227656558512388204553659534428647819508030259382555286314673282049842310908529536799826062394764161529474468991063114498010626830372123838589910812301589350487440702378620384148177444732107910313291197068819582127578937364546534597859622863822837959442749208141680703402355111069753547201894354868637519800418777084046273025454852881320010094137161544288677614674130536363058072606316204847888160612005561449629843673526547507228918457924056422474386137596906383314889582221129142428873003998545141373872616626212336751267929038378253600034714643381507247399762838288028535993415770992275182605360458865815240681366340143563211238925835395910807052904108497849110849921131721845689107672624050795222293979814123173366665459306160921827909003465823948994182008616848487993172353256259046475881218700147893869188101343037054918379008680717653250491107628232212279412061519541800199529110518100854247927352233943055047680384691790836425570645772805807252215691545650328503324130926076951547256564238904564883054868259531598028254089227005387443426588639047410810377790176732659745348165310755363030953945943720979943284821237343149134742904141555037927376823682771756814013916694485254709111758447930920319630321247410011744225121871764962297920395840814030051075266707078534983531888059938541647262070871428164370817873315981272861666850192572917742293889731204315885015647457999448021076380661579724436923795632567006009636137744221212652629300271674469955154244464922661188278123939957182383126087392201354988474313183429251874175986462713699950589764118071425096381449745173467278666987754319602336753709635114906319185503087887102039686170002093002702162555257610925949232470526319061791444452979563800687143299939251488373918342182914662044899633124 3477665786785693937670530807489581245555025325932290469219262799903295324490849066326410173762651918315958463320257110337433265766252302716151858354641062539030443320432495014066855230845058222355427395971801998087472729761686084655852285242249696033381171119791550826931938267655348895577949963796351705397530483003934750097835147726021226076825527867677757200133051140835449963789244575667222546943950363803680161554590647073469679553785985445939678944794899816011379838069424213637686169902734044272628448434000520442371713081875374656243509750110205645233504426633724404966040564477695133083709620719496389371618917311844398200999251364662494726317574690912876950536092081032777019762565051807757463557916309925110131441442795921428775821891585042113909614271758786825211981855949958137239212955238851074769174592078181094974334317790953968888964124114240533065352323944076272538276477231857028734091041490897240500181780318804387117396863482360116949926626311061826081383422847394570012710163003780572087818422094531245275792901624082773942007940415279618642389240152871726615242301494463705513107312288857917756165936649024746348198793367334701702801063117496147701949219966234169143362895965287556231924766447447932952806766318765967087250817789610046577470894537312577978878067030419137873946948688086085598895637650344948960738492864061849294219115815100992792127427464424305407229677934924762128649613320268613017635331596725106286586895941776521749877222862909995276464249354185541792423829442310415101650527946273086649186952044239323206488193827021974151596462895614484563128627249332077142569951651065728662972627364210128670732567672293719760627949463949905077195437307627279518336825347418422109811436577455002022458957073867265107003951061570763502950025526865854657018072144072361805986892413532186181815353945141563741000977080970010884605472598971520627058729446370361805521926355370948106399775860045294832221260866477649737867609506037584051173007260909446713293299773215073642661311944357160850910645007643252930252535609057714940781710409901558251778654605132162915034114039311968924516506467063640391043159944327836247 5626981444531897720604415390783362916698768128708451511265944429579974259791038063924255572672121030951701366919864441888850888374991934381998581117491985246363713643090824829399925332412013478415984981349025747486012055178797287365632123113726258387221208256543889020067585262260106985901695415489674777967657668330912012281442559844046295163574830189376662495926710842754544251673348430322450203502462752008233821089019294892977709813168540732254352226844742126919909374869250276032450331432208513263691562932011147272743836920465285468545099100597646347612124810781901849698148474790986330152529202847075326736165451909704021064822089324105243934459255394315232061605845628234671374631202571608176240641962582950564984322762806015565937366180262656788040150634816859431528186703838118749244774404868694748295722099307099552898390740265340106485870507429130115286481466372949276536821618605729645360303378242165169538560033918839101760778370729759879788214654847055241852375698029999930471575978244461938427961985305770171111188812431135678050505789526129539774111085841979399239293096716757685327230485655523377062326858476933749814022742361516710319649551110668500958208266442115387843510789834475657574961821365826941633524419569257074715483030069022108097012694736841688496978921278346490107890003735766470290686474075915594733544300116277540839869444318425123718204379011680869646134242817979630388181211348522702244640719040151694925634306752154311926609882608258160587219612385139487736144809385595236338993677081015990790741989971616146889259950641035890846081717604726243011059547568962398389979963395290850534737589662130524511546597723368986467706484447481793137133978954889350389764989718236295425792709439121852215031874816161154838208266946586410960949473547942235318597796580996157438553898423168323926036566597770864012675447036124255349528133787249644567015911829496449197723281343845261289829027734221281294934960817067413855939034602419033796346474539576434467612902109968783277776218263542663938797747047329422932345538311220270198392636359134028778097716396576615894597914726455268863767994840981982573957821989227469371 9104647231317591658274946198272944162253793454640741980485207229483269584281887130250665746434772949267659830240121552226284154141244237098150439472133047785394156963523319843466780563257071700771412377320827745573484784940483372021484408355975954420602379376335439846999523529915455881479645379286026483365188151334846762379277707570067521240400358057054419696059761983589994215462593005989672750446413115811913982643609941966447389366954526178194031171639641942931289212938674489670136501334942557536320011366011667715115550002340660124788608850707851992845629237415626254664189039268681463236238823566571716107784369221548419265821340688767738660776830085228109012141937709267448394393767623415933704199878892875675115764205601936994713188071847698901949764906575646256740168559788076886483987360107545823064896691385280647872725058056294075374834631543370648351833790317025549075098095837586674094394419733062410038741814237643488878175234212119996738141281158117067933759120877394500484286141248242510515780407400301416386981714055218451992513729941409158416500325994851125854535398211221390840337797944381294818492795125958496162221535728851412022450614228164648660157486408349556986873685799763213806886587813274874586331185888023041802733847858632154674483589274154266475856988308765627981836952423852555889582111726260543694282792980339390134088560133526116510331806476105175053363920752904392516830824668791315262276050636876801212221202693930833676487105471168155863683861739325029528568638827905651440644205027289077439928942015855470095748144468057864997678180500340727574188174818294475532549915046356579197710217026340653182279165395662706228334433911431698214329416262516629908101815065654717535604146016576854237490831890028419945212218008157174463899499074808089975615868725068519244540790836700510107851920542912427753676424117094266234133606386221165194074641275866811003245207699216209396228803594266576127156221683545063593806644108456617847519481800485881180906201883183856920437530207899824789708392054972675862598073920277985139174346769035587029876371001708778809632028765767237788284501308045622965000981933555305618 14731628675849489378879361589056307078952561583349193491751151659063243844072925194174921319106893980219361197159985994115135042516236171480149020589625033031757870606614144672866705895669085179187397358669853493059496840119280659387116531469702212807823587632879328867067108792175562867381340794775701261332845819665758774660720267414113816403975188246431082191986472826344538467135941436312122953948875867820147803732629236859425099180123066910448383398484384069851198587807924765702586832767151070800011574298022814987859386922805945593333707951305498340457754048197528104362337514059667793388768026413647042843949821131252440330643430012872982595236085479543341073747783337502119769024970195024109944841841475826240100086968407952560650554252110355689989915541392505688268355263626195635728761764976240571360618790692380200771115798321634181860705138972500763638315256689974825611919714443316319454697797975227579577301848156482590638953604941879876526355936005172309786134818907394430955862119492704448943742392706071587498170526486354130043019519467538698190611411836830525093828494927979076167568283599904671880819653602892245976244278090368122342100165338833149618365752850464944830384475634238871381848409179101816219855605457280116518216877927654262771496284010995954972835909587112118089726956159619026180268585802176138427827093096616930973958004451951240228536185487786044699498163570884022905012036017314017506916769677028496137855509446085145603096988079426316450903474124464517264713448213500887779637882108305068230670931987471616985008095109093755843759898105066970585247722387256873922529878441647429732447806688471177693825763119031692696040918358913491351463395217405980297866804783891012961396855455698706452522706706189574783420484954743585424848972622750325294213665306064676683094689259868834033888487140683291766351871153218521583661740173470809761090553105363260200968489043061470686057831328487857422091182500612477449745678710875651643865956340062315648519103993152640198213748471442488728506139102302098794943612231498255337566983128169615807974087398285394704229943492222506652052496149027605538958803922782774989 23836275907167081037154307787329251241206355037989935472236358888546513428354812324425587065541666929487021027400107546341419196657480408578299460061758080817152027570137464516333486458926156879958809735990681238632981625059764031408600939825678167228425967009214768714066632322091018748860986174061727744698033971000605537039997974984181337644375546303485501888046234809934532682598534442301795704395288983632061786376239178825872488547077593088642414570124026012782487800746599255372723334102093628336331585664034482702974936925146605718122316802013350333303383285613154359026526553328349256625006849980218758951734190352800859596464770701640721256012915564771450085889721046769568163418737818440043649041720368701915215851174009889555363742323958054591939680447968151945008523823414272522212749125083786394425515482077660848643840856377928257235539770515871411990149047007000374687017810280902993549092217708289989616043662394126079517128839153999873264497217163289377719893939784788931440148260740946959459522800106373003885152240541572582035533249408947856607111737831681650948363893139200467007906081544285966699312448728850742138465813819219534364550779566997798278523239258814501817258161434002085188734996992376690806186791345303158320950725786286417445979873285150221448692897895877746071563908583471582069850697528436682122109886076956321108046564585477356738867991963891219752862084323788415421842860686105332769192820313905297350076712140015979279584093550594472314587335863789546793282087041406539220282087135594145670599874003327087080756239577151620841438078605407698159435897205551349455079793488004008930158023714811830876104928514694398924375352270345189565792811479922610205968619849545730497001001472275560690013538596217994728632702962900759888748471697558415269829534031133195927635480096569344141740407683595719520028295270312787817795346559691974955165194381230071204213696742277680082286634922754433549247404184157541043552322819332269491385438140548196829425305876336497118651278679342313518214531157274774657541686151776240476741329897205202837850458399994173513861972257989744440336997457073228503959785856338080607 38567904583016570416033669376385558320158916621339128963987510547609757272427737518600508384648560909706382224560093540456554239173716580058448480651383113848909898176751609189200192354595242059146207094660534731692478465179044690795717471295380380036249554642094097581133741114266581616242326968837429006030879790666364311700718242398295154048350734549916584080032707636279071149734475878613918658344164851452209590108868415685297587727200659999090797968608410082633686388554524021075310166869244699136343159962057297690834323847952551311456024753318848673761137333810682463388864067388017050013774876393865801795684011484053299927108200714513703851249001044314791159637504384271687932443708013464153593883561844528155315938142417842116014296576068410281929595989360657633276879087040468157941510890060026965786134272770041049414956654699562439096244909488372175628464303696975200298937524724219313003790015683517569193345510550608670156082444095879749790853153168461687506028758692183362396010380233651408403265192812444591383322767027926712078552768876486554797723149668512176042192388067179543175474365144190638580132102331742988114710091909587656706650944905830947896888992109279446647642637068240956570583406171478507026042396802583274839167603713940680217476157296146176421528807482989864161290864743090608250119283330612820549936979173573252082004569037428596967404177451677264452360247894672438326854896703419350276109589990933793487932221586101124882681081630020788765490809988254064057995535254907426999919969243899213901270805990798704065764334686245376685197976710474668744683619592808223377609671929651438662605830403283008569930691633726091620416270629258680917256206697328590503835424633436743458397856927974267142536245302407569512053187917644345313597444320308740564043199337197872610730169356438178175628894824279011286380166423531309401457086733162784716255747486593331405182185785339150768344466251242290971338586684770018493298001530207921135251394480610512477944409869489137316865027150784802246720670259576873452485298383274495814308313025374818645824545798279568218091915750212251092389493606100834042918589779120855596 62404180490183651453187977163714809561365271659329064436223869436156270700782549843026095450190227839193403251960201086797973435831196988636747940713141194666061925746889073705533678813521398939105016830651215970325460090238808722204318411121058547264675521651308866295200373436357600365103313142899156750728913761666969848740716217382476491692726280853402085968078942446213603832333010320915714362739453835084271376485107594511170076274278253087733212538732436095416174189301123276448033500971338327472674745626091780393809260773099157029578341555332199007064520619423836822415390620716366306638781726374084560747418201836854159523572971416154425107261916609086241245527225431041256095862445831904197242925282213230070531789316427731671378038900026464873869276437328809578285402910454740680154260015143813360211649754847701898058797511077490696331784680004243587618613350703975574985955335005122306552882233391807558809389172944734749673211283249879623055350370331751065225922698476972293836158640974598367862787992918817595268475007569499294114086018285434411404834887500193826990556281206380010183380446688476605279444551060593730253175905728807191071201724472828746175412231368093948464900798502243041759318403163855197832229188147886433160118329500227097663456030581296397870221705378867610232854773326562190319969980859049502672046865250529573190051133622905953706272169415568484205222332218460853748697757389524683045302410304839090838008933726117104162265175180615261080078145852043610851277622296313966220202056379493359571870679994125791146520574263396997526636055315882366904119516798359572832689465417655447592763854118094839446035620148420490544791622899603870483049018177251200709804044482982473955398858400249827832549783898625564240685890880545105202345916017867155833872733368331068538365649453007522317369302507874730806408461693844097219252433292854759671420941867823402609395882527616830850631101173996724520585990868927559536850324349540190626636832621158709307369715745825634435516305830127115764935201416851648110026984535050736291049642922580021483675004198273741731953888008201995532726491063174062546878375635458936203 100972085073200221869221646540100367881524188280668193400211379983766027973210287361626603834838788748899785476520294627254527675004913568695196421364524308514971823923640682894733871168116640998251223925311750702017938555417853413000035882416438927300925076293402963876334114550624181981345640111736585756759793552333334160441434459780771645741077015403318670048111650082492674982067486199529633021083618686536480966593976010196467664001478913086824010507340846178049860577855647297523343667840583026609017905588149078084643584621051708341034366308651047680825657953234519285804254688104383356652556602767950362543102213320907459450681172130668128958510917653401032405164729815312944028306153845368350836808844057758225847727458845573787392335476094875155798872426689467211562281997495208838095770905203840325997784027617742947473754165777053135428029589492615763247077654400950775284892859729341619556672249075325128002734683495343419829293727345759372846203523500212752731951457169155656232169021208249776266053185731262186651797774597426006192638787161920966202558037168706003032748669273559553358854811832667243859576653392336718367885997638394847777852669378659694072301223477373395112543435570483998329901809335333704858271584950469707999285933214167777880932187877442574291750512861857474394145638069652798570089264189662323221983844424102825272055702660334550673676346867245748657582580113133292075552654092944033321412000295772884325941155312218229044946256810636049845568955840297674909273157551221393220122025623392573473141485984924495212284908949642374211834032026357035648803136391167796210299137347306886255369684521377848015966311782146582165207893528862551400305224874579791213639469116419217413796715328224094975086029201033133752739078798189450515943360338175896397915932705528941149095818809445700492998197332153742092788628117375406620709520026017544387676689354416734014578068312955981618975567425239015491924577553697578030148325879748111761888227101769221785314125615314771752381332980911918011655871676428521562512282918325232105357955947954840129499549996553309950045803758414246625115984669274896589796965414579791799 163376265563383873322409623703815177442889459939997257836435249419922298673992837204652699285029016588093188728480495714052501110836110557331944362077665503181033749670529756600267549981638039937356240755962966672343398645656662135204354293537497474565600597944711830171534487986981782346448953254635742507488707314000304009182150677163248137433803296256720756016190592528706278814400496520445347383823072521620752343079083604707637740275757166174557223046073282273466034767156770573971377168811921354081692651214240858478452845394150865370612707863983246687890178572658356108219645308820749663291338329142034923290520415157761618974254143546822554065772834262487273650691955246354200124168599677272548079734126270988296379516775273305458770374376121340029668148864018276789847684907949949518250030920347653686209433782465444845532551676854543831759814269496859350865691005104926350270848194734463926109554482467132686812123856440078169502505010595638995901553893831963817957874155646127950068327662182848144128841178650079781920272782166925300306724805447355377607392924668899830023304950479939563542235258521143849139021204452930448621061903367202038849054393851488440247713454845467343577444234072727040089220212499188902690500773098356141159404262714394875544388218458738972161972218240725084627000411396214988890059245048711825894030709674632398462106836283240504379948516282814232862804912331594145824250411482468716366714410600611975163950089038335333207211431991251310925647101692341285760550779847535359440324082002885933045012165979050286358805483213039371738470087342239402552922653189527369042988602764962333848133538639472687462001931930567072709999516428466421883354243051830991923443513599401691369195573728473922807635813099658697993424969678734555718289276356043052231788666073860009687461468262453222810367499840028472899197089811219503839961953318872304059097631222240136623973950840572812469606668599235740012510568422625137566998650229288302388525059722927931092683841361140406187897638811039033776591073093280169672539267453375968396407598870534861613174554194827051681999691766616242157842475732448959136675341050038728002 264348350636584095191631270243915545324413648220665451236646629403688326647203124566279303119867805336992974205000790341307028785841024126027140783442189811696005573594170439495001421149754680935607464681274717374361337201074515548204390175953936401866525674238114794047868602537605964327794593366372328264248500866333638169623585136944019783174880311660039426064302242611198953796467982719974980404906691208157233309673059614904105404277236079261381233553414128451515895345012417871494720836652504380690710556802389936563096430015202573711647074172634294368715836525892875394023899996925133019943894931909985285833622628478669078424935315677490683024283751915888306055856685061667144152474753522640898916542970328746522227244234118879246162709852216215185467021290707744001409966905445158356345801825551494012207217810083187793006305842631596967187843858989475114112768659505877125555741054463805545666226731542457814814858539935421589331798737941398368747757417332176570689825612815283606300496683391097920394894364381341968572070556764351306499363592609276343809950961837605833056053619753499116901090070353811092998597857845267166988947901005596886626907063230148134320014678322840738689987669643211038419122021834522607548772358048825849158690195928562653425320406336181546453722731102582559021146049465867787460148509238374149116014554098735223734162538943575055053624863150059981520387492444727437899803065575412749688126410896384859489891244350553562252157688801887360771216057532638960669823937398756752660446107626278506518153651963974781571090392162681745950304119368596438201725789580695165253287740112269220103503223160850535477968243712713654875207409957328973283659467926410783137082982715820908782992289056698017782721842300691831746164048476924006234232636694218948629704598779388950836557287071898923303365697172182214991985717928594910460671473344889848446774320576656870638552019153528794088582236024474755504435145976322715597146976109036414150413286824697152877997966976455177940278971791950951788246944769708691235051550371701200501765554818489701742674104191380361632045495525030488782958460401723855726472306464618519801 427724616199967968514040893947730722767303108160662709073081878823610625321195961770932002404896821925086162933481286055359529896677134683359085145519855314877039323264700196095268971131392720872963705437237684046704735846731177683408744469491433876432126272182826624219403090524587746674243546621008070771737208180333942178805735814107267920608683607916760182080492835139905232610868479240420327788729763729777985652752143219611743144552993245435938456599487410724981930112169188445466098005464425734772403208016630795041549275409353439082259782036617541056606015098551231502243545305745882683235233261052020209124143043636430697399189459224313237090056586178375579706548640308021344276643353199913446996277096599734818606761009392184704933084228337555215135170154726020791257651813395107874595832745899147698416651592548632638538857519486140798947658128486334464978459664610803475826589249198269471775781214009590501626982396375499758834303748537037364649311311164140388647699768461411556368824345573946064523735543031421750492343338931276606806088398056631721417343886506505663079358570233438680443325328874954942137619062298197615610009804372798925475961457081636574567728133168308082267431903715938078508342234333711510239273131147181990318094458642957528969708624794920518615694949343307643648146460862082776350207754287085975010045263773367622196269375226815559433573379432874214383192404776321583724053477057881466054840821496996834653841333388888895459369120793138671696863159224980246430374717246292112100770189629164439563165817943025067929895875375721117688774206710835840754648442770222534296276342877231553951636761800323222939970175643280727585206926385795395167013710978241775060526496315222600152187862785171940590357655400350529739589018155658561952521913050262000861493264853248960524018755334352146113733197012210687891182807739814414300633426663762152505871951798897007262525969994101606558188904623710495516945714398947853164145626338324716538938346547625083970681808337595584128176610602989985564838017862988860907590817825077168898173153689024563355848658386207413314045187291646730940800936134172814863147647514657247803 692072966836552063705672164191646268091716756381328160309728508227298951968399086337211305524764627262079137138482076396666558682518158809386225928962045126573044896858870635590270392281147401808571170118512401421066073047805693231613134645445370278298651946420941418267271693062193711002038139987380399035985709046667580348429320951051287703783563919576799608144795077751104186407336461960395308193636454937935218962425202834515848548830229324697319690152901539176497825457181606316960818842116930115463113764819020731604645705424556012793906856209251835425321851624444106896267445302671015703179128192962005494957765672115099775824124774901803920114340338094263885762405325369688488429118106722554345912820066928481340834005243511063951095794080553770400602191445433764792667618718840266230941634571450641710623869402631820431545163362117737766135501987475809579091228324116680601382330303662075017442007945552048316441840936310921348166102486478435733397068728496316959337525381276695162669321028965043984918629907412763719064413895695627913305451990665908065227294848344111496135412189986937797344415399228766035136216920143464782598957705378395812102868520311784708887742811491148820957419573359149116927464256168234117788045489196007839476784654571520182395029031131102065069417680445890202669292510327950563810356263525460124126059817872102845930431914170390614487198242582934195903579897221049021623856542633294215742967232393381694143732577739442457711526809595026032468079216757619207100198654645048864761216297255442946081319469906999849500986267538402863639078326079432278956374232350917699549564082989500774055139984961173758417938419355994382460414336343124368450673178904652558197609479031043508935180151841869958373079497701042361485753066632582568186754549744480949491197863632637911360576042406251069417098894184392902883168525668409324761304900008652000952646272375553877901077989147630400646771140648185251021380860375270568761292602447361130689351633372322236848679775314050762068455582394940937353084962632697552142642368196778369399938708507514265098522762577587774946090682816677219723759396535896670589619953979275767604 1119797583036520032219713058139376990859019864541990869382810387050909577289595048108143307929661449187165300071963362452026088579195293492745311074481900441450084220123570831685539363412540122681534875555750085467770808894536870915021879114936804154730778218603768042486674783586781457676281686608388469807722917227001522527235056765158555624392247527493559790225287912891009419018204941200815635982366218667713204615177346054127591693383222570133258146752388949901479755569350794762426916847581355850235516972835651526646194980833909451876166638245869376481927866722995338398510990608416898386414361454014025704081908715751530473223314234126117157204396924272639465468953965677709832705761459922467792909097163528216159440766252903248656028878308891325615737361600159785583925270532235374105537467317349789409040520995180453070084020881603878565083160115962144044069687988727484077208919552860344489217789159561638818068823332686421107000406235015473098046380039660457347985225149738106719038145374538990049442365450444185469556757234626904520111540388722539786644638734850617159214770760220376477787740728103720977273835982441662398208967509751194737578829977393421283455470944659456903224851477075087195435806490501945628027318620343189829794879113214477711364737655926022583685112629789197846317438971190033340160564017812546099136105081645470468126701289397206173920771622015808410286772301997370605347910019691175681797808053890378528797573911128331353170895930388164704164942375982599453530573371891340976861986486884607385644485287850024917430882142914123981327852532790268119711022675121140233845840425866732328006776746761496981357908594999275110045621262728919763617686889882894333258135975346266109087368014627041898963437153101392891225342084788241130139276462794742950352691128485886871884594797740603215530832091196603590774351333408223739061938326672414153458518224174450885163603959141732007204960045271895746538326574774218421925438228785685847228289979919947320819361583651646346196632192997930922917922980495686413050233186021855538298111862196538828454371420963795188260135870108323950664560332670069485452767601493933015407 1811870549873072095925385222331023258950736620923319029692538895278208529257994134445354613454426076449244437210445438848692647261713452302131537003443945568023129116982441467275809755693687524490106045674262486888836881942342564146635013760382174433029430165024709460753946476648975168678319826595768868843708626273669102875664377716209843328175811447070359398370082990642113605425541403161210944176002673605648423577602548888643440242213451894830577836905290489077977581026532401079387735689698285965698630737654672258250840686258465464670073494455121211907249718347439445294778435911087914089593489646976031199039674387866630249047439009027921077318737262366903351231359291047398321134879566645022138821917230456697500274771496414312607124672389445096016339553045593550376592889251075640336479101888800431119664390397812273501629184243721616331218662103437953623160916312844164678591249856522419506659797105113687134510664268997342455166508721493908831443448768156774307322750531014801881707466403504034034360995357856949188621171130322532433416992379388447851871933583194728655350182950207314275132156127332487012410052902585127180807925215129590549681698497705205992343213756150605724182271050434236312363270746670179745815364109539197669271663767785997893759766687057124648754530310235088048986731481517983903970920281338006223262164899517573314057133203567596788407969864598742606190352199218419626971766562324469897540775286283760222941306488867773810882422739983190736633021592740218660630772026536389841623202784140050331725804757757024766931868410452526844966930858869700398667396907472057933395404508856233102061916731722670739775847014355269492506035599072044132068360068787546891455745454377309618022548166468911857336516650802435252711095151420823698326031012539223899843888992118524783245170840146854284947930985380996493657519859076633063823243226681066154411164496550004763064681948289362407851731185920080997559707435149488990686730831233046977917641613292269557668041358965697108265087775392871860271007943128383965192875554218633907698050570704053093552894183541382963206226552925001170388319729205966156042387555473208783011 2931668132909592128145098280470400249809756485465309899075349282329118106547589182553497921384087525636409737282408801300718735840908745794876848077925846009473213337106012298961349119106227647171640921230012572356607690836879435061656892875318978587760208383628477503240621260235756626354601513204157338651431543500670625402899434481368398952568058974563919188595370903533123024443746344362026580158368892273361628192779894942771031935596674464963835983657679438979457336595883195841814652537279641815934147710490323784897035667092374916546240132700990588389177585070434783693289426519504812476007851100990056903121583103618160722270753243154038234523134186639542816700313256725108153840641026567489931731014393984913659715537749317561263153550698336421632076914645753335960518159783311014442016569206150220528704911392992726571713205125325494896301822219400097667230604301571648755800169409382763995877586264675325952579487601683763562166914956509381929489828807817231655307975680752908600745611778043024083803360808301134658177928364949436953528532768110987638516572318045345814564953710427690752919896855436207989683888885026789579016892724880785287260528475098627275798684700810062627407122527509323507799077237172125373842682729882387499066542881000475605124504342983147232439642940024285895304170452708017244131484299150552322398269981163043782183834492964802962328741486614551016477124501215790232319676582015645579338583340174138751738880399996105164053318670371355440797963968722818114161345398427730818485189271024657717370290045607049684362750553366650826294783391659968518378419582593198167241244934722965430068693478484167721133755609354544602551656861800963895686046958670441224713881429723575727109916181095953756299953803903828143936437236209064828465307475333966850196580120604411655129765637887457500478763076577600084431871192484856802885181553353480307869682720724455648228285907431094415056691231191976744098034009923707412612169060018732825145931593212216878487402942617343454461719968390802783188930923624070378243108740240489445996162432900591922007265604505178151466362423033325121052880061876035641495155156967141798418 4743538682782664224070483502801423508760493106388628928767888177607326635805583316998852534838513602085654174492854240149411383102622198097008385081369791577496342454088453766237158874799915171661746966904275059245444572779221999208291906635701153020789638548653186963994567736884731795032921339799926207495140169774339728278563812197578242280743870421634278586965453894175236629869287747523237524334371565879010051770382443831414472177810126359794413820562969928057434917622415596921202388226977927781632778448144996043147876353350840381216313627156111800296427303417874228988067862430592726565601340747966088102161257491484790971318192252181959311841871449006446167931672547772506474975520593212512070552931624441611159990309245731873870278223087781517648416467691346886337111049034386654778495671094950651648369301790805000073342389369047111227520484322838051290391520614415813434391419265905183502537383369789013087090151870681106017333423678003290760933277575974005962630726211767710482453078181547058118164356166158083846799099495271969386945525147499435490388505901240074469915136660635005028052052982768695002093941787611916759824817940010375836942226972803833268141898456960668351589393577943559820162347983842305119658046839421585168338206648786473498884271030040271881194173250259373944290901934226001148102404580488558545660434880680617096240967696532399750736711351213293622667476700434209859291443144340115476879358626457898974680186888863878974935741410354546177430985561463036774792117424964120660108392055164708049096094803364074451294618963819177671261714250529668917045816490065256100636649443579198532130610210206838460909602623709814095057692460873008027754407027457988116169626884100885345132464347564865613636470454706263396647532387629888526791338487873190750040469112722936438374936478034311785426694061958596578089391051561489866708424780034546462280847217274460411292967855720456822908422417112057741657741445073196403298899891251779803063573206504486436155444301583040562726807743783674643459938866752454343435984294459123353694213003604645015560159788046561114672588975958326291441199791082001797537542712440350581429 7675206815692256352215581783271823758570249591853938827843237459936444742353172499552350456222601127722063911775263041450130118943530943891885233159295637586969555791194466065198507993906142818833387888134287631602052263616101434269948799511020131608549846932281664467235188997120488421387522853004083546146571713275010353681463246678946641233311929396198197775560824797708359654313034091885264104492740458152371679963162338774185504113406800824758249804220649367036892254218298792763017040764257569597566926158635319828044912020443215297762553759857102388685604888488309012681357288950097539041609191848956145005282840595102951693588945495335997546365005635645988984631985804497614628816161619780002002283946018426524819705846995049435133431773786117939280493382337100222297629208817697669220512240301100872177074213183797726645055594494372606123822306542238148957622124915987462190191588675287947498414969634464339039669639472364869579500338634512672690423106383791237617938701892520619083198689959590082201967716974459218504977027860221406340474057915610423128905078219285420284480090371062695780971949838204902991777830672638706338841710664891161124202755447902460543940583157770730978996516105452883327961425221014430493500729569303972667404749529786949104008775373023419113633816190283659839595072386934018392233888879639110868058704861843660878424802189497202713065452837827844639144601201650000091611119726355761056217941966632037726419067288859984138989060080725901618228949530185854888953462823391851478593581326189365766466384848971124135657369517185828497556497642189637435424236072658454267877894378302163962199303688691006182043358233064358697609349322673971923440453986128429340883508313824461072242380528660819369936424258610091540583969623838953355256645963207157600237049233327348093504702115921769285905457138536196662521262244046346669593606333388026770150529937998916059521253763151551237965113648304034485755775454996903815911068951270512628209504799716703314642847244200384017188527712174477426648869790376524721679093034699612799690375436505236937567425392551739266138951398991651412494079852958037439032697869407492379847 12418745498474920576286065286073247267330742698242567756611125637543771378158755816551202991061114729807718086268117281599541502046153141988893618240665429164465898245282919831435666868706057990495134855038562690847496836395323433478240706146721284629339485480934851431229756734005220216420444192804009753641711883049350081960027058876524883514055799817832476362526278691883596284182321839408501628827112024031381731733544782605599976291216927184552663624783619295094327171840714389684219428991235497379199704606780315871192788373794055678978867387013214188982032191906183241669425151380690265607210532596922233107444098086587742664907137747517956858206877084652435152563658352270121103791682212992514072836877642868135979696156240781309003709996873899456928909850028447108634740257852084323999007911396051523825443514974602726718397983863419717351342790865076200248013645530403275624583007941193131000952353004253352126759791343045975596833762312515963451356383959765243580569428104288329565651768141137140320132073140617302351776127355493375727419583063109858619293584120525494754395227031697700809024002820973597993871772460250623098666528604901536961144982420706293812082481614731399330585909683396443148123773204856735613158776408725557835742956178573422602893046403063690994827989440543033783885974321160019540336293460127669413719139742524277974665769886029602463802164189041138261812077902084209950902562870695876533097300593089936701099254177723863113924801491080447795659935091648891663745580248355972138701973381354073815562479652335198586951988481005006168818211892719306352470052562723710368514543821881362494329913898897844642952960856774172792667041783546979951194861013586417457053135197925346417374844876225684983572894713316354937231502011468841882047984451080348350277518346050284531879638593956081071332151200494793240610653295607836536302031113422573232431377155273376470814221618872008060873536065416092227413516900070100219209968842522292431273078006221189750798291545783424579915335455958152070108808657128979065115077329158736153384588440109881953127585180598300380811540374949977703935279644040039236570240581847842961276 20093952314167176928501647069345071025900992290096506584454363097480216120511928316103553447283715857529781998043380323049671620989684085880778851399961066751435454036477385896634174862612200809328522743172850322449549100011424867748189505657741416237889332413216515898464945731125708637807967045808093299788283596324360435641490305555471524747367729214030674138087103489591955938495355931293765733319852482183753411696707121379785480404623728009310913429004268662131219426059013182447236469755493066976766630765415635699237700394237270976741421146870316577667637080394492254350782440330787804648819724445878378112726938681690694358496083242853954404571882720298424137195644156767735732607843832772516075120823661294660799402003235830744137141770660017396209403232365547330932369466669781993219520151697152396002517728158400453363453578357792323475165097407314349205635770446390737814774596616481078499367322638717691166429430815410845176334100947028636141779490343556481198508129996808948648850458100727222522099790115076520856753155215714782067893640978720281748198662339810915038875317402760396589995952659178500985649603132889329437508239269792698085347737868608754356023064772502130309582425788849326476085198425871166106659505978029530503147705708360371706901821776087110108461805630826693623481046708094037932570182339766780281777844604367938853090572075526805176867617026868982900956679103734210042513682597051637589315242559721974427518321466583847252913861571806349413888884621834746552699043071747823617295554707543439582028864501306322722609357998190834666374709534908943787894288635382164636392438200183526456529217587588850824996319089838531490276391106220951874635314999714846797936643511749807489617225404886504353509318971926446477815471635307795237304630414287505950514567579377632625384340709877850357237608339030989903131915539654183205895637446810600002581907093272292530335475382023559298838649713720126713169292355067004035121037793792805059482582805937893065441138789983808597103863168132629496757678447505503786794170363858348953074963876615118890695010573150039646950491773941629116429359496998076675602938451255335341123 32512697812642097504787712355418318293231734988339074341065488735023987498670684132654756438344830587337500084311497604649213123035837227869672469640626495915901352281760305728069841731318258799823657598211413013297045936406748301226430211804462700867228817894151367329694702465130928854228411238612103053429995479373710517601517364431996408261423529031863150500613382181475552222677677770702267362146964506215135143430251903985385456695840655193863577053787887957225546597899727572131455898746728564355966335372195951570430488768031326655720288533883530766649669272300675496020207591711478070256030257042800611220171036768278437023403220990371911262778759804950859289759302509037856836399526045765030147957701304162796779098159476612053140851767533916853138313082393994439567109724521866317218528063093203919827961243133003180081851562221212040826507888272390549453649415976794013439357604557674209500319675642971043293189222158456820773167863259544599593135874303321724779077558101097278214502226241864362842231863255693823208529282571208157795313224041830140367492246460336409793270544434458097399019955480152098979521375593139952536174767874694235046492720289315048168105546387233529640168335472245769624208971630727901719818282386755088338890661886933794309794868179150801103289795071369727407367021029254057472906475799894449695496984346892216827756341961556407640669781215910121162768757005818419993416245467747514122412543152811911128617575644307710366838663062886797209548819713483638216444623320103795755997528088897513397591344153641521309561346479195840835192921427628250140364341198105875004906982022064888950859131486486695467949279946612704282943432889767931825830176013301264254989778709675153906992070281112189337082213685242801415046973646776637119352614865367854300792085925427917157263979303833931428569759539525783143742568835262019742197668560233173235013284248545669001149697000895567359712185779136218940582809255137104254331006636315097490755660812159082816239430335767233177019198624090781566866487104634482851909247693017085106459552316725000843822595753748340027762032148891606820364639141038115912173179033103178302399 52606650126809274433289359424763389319132727278435580925519851832504203619182612448758309885628546444867282082354877927698884744025521313750451321040587562667336806318237691624704016593930459609152180341384263335746595036418173168974619717462204117105118150307367883228159648196256637492036378284420196353218279075698070953243007669987467933008791258245893824638700485671067508161173033701996033095466816988398888555126959025365170937100464383203174490482792156619356766023958740754578692368502221631332732966137611587269668189162268597632461709680753847344317306352695167750370990032042265874904849981488678989332897975449969131381899304233225865667350642525249283426954946665805592569007369878537546223078524965457457578500162712442797277993538193934249347716314759541770499479191191648310438048214790356315830478971291403633445305140579004364301672985679704898659285186423184751254132201174155287999686998281688734459618652973867665949501964206573235734915364646878205977585688097906226863352684342591585364331653370770344065282437786922939863206865020550422115690908800147324832145861837218493989015908139330599965170978726029281973683007144486933131840458157923802524128611159735659949750761261095096100294170056599067826477788364784618842038367595294166016696689955237911211751600702196421030848067737348095405476658139661229977274828951260155680846914037083212817537398242779104063725436109552630035929928064799151711727785712533885556135897110891557619752524634693146623437704335318384769143666391851619373293082796440952979620208654947844032170704477386675501567630962537193928258629833488039641299420222248415407388349074075546292945599036451235773219823995988883700465491013016111052926422221424961396609295685998693690591532657169247892862445282084432356657245279655360251306653504805549782648320013711781785807367878556773046874484374916202948093306007043773237595191341817961531485172382919126658550835492856345653752101610204108289452044430107902550238243618096975881680569125751041774123061792223411063624165552139986638703418056875434059534516193340119734517606326898379674712523922833235936793998638036192587776117484358513643522 85119347939451371938077071780181707612364462266774655266585340567528191117853296581413066323973377032204782166666375532348097867061358541620123790681214058583238158599997997352773858325248718408975837939595676349043640972824921470201049929266666817972346968201519250557854350661387566346264789523032299406648274555071781470844525034419464341270214787277756975139313867852543060383850711472698300457613781494614023698557210929350556393796305038397038067536580044576582312621858468326710148267248950195688699301509807538840098677930299924288181998214637378110966975624995843246391197623753743945160880238531479600553069012218247568405302525223597776930129402330200142716714249174843449405406895924302576371036226269620254357598322189054850418845305727851102486029397153536210066588915713514627656576277883560235658440214424406813527156702800216405128180873952095448112934602399978764693489805731829497500006673924659777752807875132324486722669827466117835328051238950199930756663246199003505077854910584455948206563516626464167273811720358131097658520089062380562483183155260483734625416406271676591388035863619482698944692354319169234509857775019181168178333178447238850692234157546969189589919096733340865724503141687326969546296070751539707180929029482227960326491558134388712315041395773566148438215088766602152878383133939555679672771813298152372508603255998639620458207179458689225226494193115371050029346173532546665834140328865345796684753472755199267986591187697579943832986524048802022985588289711955415129290610885338466377211552808589365341732050956582516336760552390165444068622971031593914646206402244313304358247480560562241760894878983063940056163256885756815526295667026317375307916200931100115303601365967110883027673746342412049307909418928861069476009860145023214552098739430233466939912299317545713214377127418082556190617053210178222690290974567276946472608475590363630532634869383814694018263021271992564594334910865341212543783051066423000040993904430256058697919999461518274951142260416314192630490652656774469490612665749892519165994068510065120578340202080646719702474556071724842757158637779074308499949296517461691945921 137725998066260646371366431204945096931497189545210236192105192400032394737035909030171376209601923477072064249021253460046982611086879855370575111721801621250574964918235688977477874919179178018128018280979939684790236009243094639175669646728870935077465118508887133786013998857644203838301167807452495759866553630769852424087532704406932274279006045523650799778014353523610568545023745174694333553080598483012912253684169954715727330896769421600212558019372201195939078645817209081288840635751171827021432267647419126109766867092568521920643707895391225455284281977691010996762187655796009820065730220020158589885966987668216699787201829456823642597480044855449426143669195840649041974414265802840122594114751235077711936098484901497647696838843921785351833745711913077980566068106905162938094624492673916551488919185715810446972461843379220769429853859631800346772219788823163515947622006905984785499693672206348512212426528106192152672171791672691071062966603597078136734248934296909731941207594927047533570895169997234511339094158145054037521726954082930984598874064060631059457562268108895085377051771758813298909863333045198516483540782163668101310173636605162653216362768706704849539669857994435961824797311743926037372773859116324326022967397077522126343188248089626623526792996475762569469063156503950248283859792079216909650046642249412528189450170035722833275744577701468329290219629224923680065276101597345817545868114577879682240889369866090825606343712332273090456424228384120407754731956103807034502583693681779419356831761463537209373902755433969191838328183352702637996881600865081954287505822466561719765635829634637788053840478019515175829383080881745699226761158039333486360842623152525076700210661653109576718265278999581297200771864210945501832667105424678574803405392935039016722560619331257495000184495296639329237491537585094425638384280574320719710203666932181592064120041766733820676813856764848910248087012475545320833235095496530902591232148048353034579600568587269316725265322208537603694114818208914456129316083806767953225528584703405240312857808407545099377187079994558078693952636417110501087725414001820205589443 222845346005712018309443502985126804543861651811984891458690532967560585854889205611584442533575300509276846415687628992395080478148238396990698902403015679833813123518233686330251733244427896427103856220575616033833876982068016109376719575995537753049812086710406384343868349519031770184565957330484795166514828185841633894932057738826396615549220832801407774917328221376153628928874456647392634010694379977626935952241380884066283724693074459997250625555952245772521391267675677407998988903000122022710131569157226664949865545022868446208825706110028603566251257602686854243153385279549753765226610458551638190439035999886464268192504354680421419527609447185649568860383445015492491379821161727142698965150977504697966293696807090552498115684149649636454319775109066614190632657022618677565751200770557476787147359400140217260499618546179437174558034733583895794885154391223142280641111812637814282999700346131008289965234403238516639394841619138808906391017842547278067490912180495913237019062505511503481777458686623698678612905878503185135180247043145311547082057219321114794082978674380571676765087635378295997854555687364367750993398557182849269488506815052401503908596926253674039129588954727776827549300453431253006919069929867864033203896426559750086669679806224015335841834392249328717907278245270552401162242926018772589322818455547564900698053426034362453733951757160157554516713822340294730094622275129892483380008443443225478925642842621290093592934900029853034289410752432922430740320245815762449631874304567117885734043314272126574715634806390551708175088735742868082065504571896675868933712224710875024123883310195200029814735357002579115885546337767502514753056825065650861668758824083625192003812027620220459745939025341993346508681283139806571308676965569701789355504132365272483662472918648803208214561622714721885428108590795272648328675255141597666182812142522545222596754911150548514695076878036841474842421923340886533377018146562953902632226052478609093277520568048787591676407582624851796324605470865688925619928749556660472391522653213470360891198010488191819079661636066282921451111274196184809587674710519281897535364 360571344071972664680809934190071901475358841357195127650795725367592980591925114641755818743177223986348910664708882452442063089235118252361274014124817301084388088436469375307729608163607074445231874501555555718624112991311110748552389222724408688127277205219293518129882348376675974022867125137937290926381381816611486319019590443233328889828226878325058574695342574899764197473898201822086967563774978460639848205925550838782011055589843881597463183575324446968460469913492886489287829538751293849731563836804645791059632412115436968129469414005419829021535539580377865239915572935345763585292340678571796780325002987554680967979706184137245062125089492041098995004052640856141533354235427529982821559265728739775678229795291992050145812522993571421806153520820979692171198725129523840503845825263231393338636278585856027707472080389558657943987888593215696141657374180046305796588733819543799068499394018337356802177660931344708792067013410811499977453984446144356204225161114792822968960270100438551015348353856620933189952000036648239172701973997228242531680931283381745853540540942489466762142139407137109296764419020409566267476939339346517370798680451657564157124959694960378888669258812722212789374097765175179044291843788984188359226863823637272213012868054313641959368627388725091287376341401774502649446102718097989498972865097796977428887503596070085287009696334861625883806933451565218410159898376727238300925876558021105161166532212487380919199278612362126124745834980817042838495052201919569484134457998248897305090875075735663784089537561824520900013416919095570720062386172761757823221218047177436743889519139829837817868575835022094291714929418649248213979817983104984348029601447236150268704022689273330036464204304341574643709453147350752073141344070994380364158909525300311500385033537980060703214746118011361214665600128380367073967059535715918385893015809454726814660874952917282335371890734801690385090508935816431854210253242059484805223458200526962127857121136636056908401672904833389400018720289074603381749244833363428425617051237916875601204055818895736918456848716060841000145063910613295310675400124521102103124807 583416690077684682990253437175198706019220493169180019109486258335153566446814320253340261276752524495625757080396511444837143567383356649351972916527832980918201211954703061637981341408034970872335730722131171752457989973379126857929108798719946441177089291929699902473750697895707744207433082468422086092896210002453120213951648182059725505377447711126466349612670796275917826402772658469479601574469358438266784158166931722848294780282918341594713809131276692740981861181168563897286818441751415872441695405961872456009497957138305414338295120115448432587786797183064719483068958214895517350518951137123434970764038987441145236172210538817666481652698939226748563864436085871634024734056589257125520524416706244473644523492099082602643928207143221058260473295930046306361831382152142518069597026033788870125783637985996244967971698935738095118545923326799591936542528571269448077229845632181613351499094364468365092142895334583225431461855029950308883845002288691634271716073295288736205979332605950054497125812543244631868564905915151424307882221040373554078762988502702860647623519616870038438907227042515405294618974707773934018470337896529366640287187266709965661033556621214052927798847767449989616923398218606432051210913718852052392430760250197022299682547860537657295210461780974420005283619647045055050608345644116762088295683553344542329585557022104447740743648092021783438323647273905513140254520651857130784305885001464330640092175055108671012792213512391979159035245733249965269235372447735331933766332302816015190824918390007790358805172368215072608188505654838438802127890744658433692154930271888311768013402450025037847683311192024673407600475756416750728732874808170635209698360271319775460707834716893550496210143329683567990218134430490558644450021036564082153514413657665583984047506456628863911429307740726083100093708719175639722295734790857516052075827951977272037257629864067830850066967612838531859932930859157318387587271388622438707855684253005571221134641704684844500078080487458241196343325759940292307369173582920088898008573891130345962095253829383928737536510352127123921596175184809480120263074835040384000660171 943988034149657347671063371365270607494579334526375146760281983702746547038739434895096080019929748481974667745105393897279206656618474901713246930652650282002589300391172436945710949571642045317567605223686727471082102964690237606481498021444355129304366497148993420603633046272383718230300207606359377019277591819064606532971238625293054395205674589451524924308013371175682023876670860291566569138244336898906632364092482561630305835872762223192176992706601139709442331094661450386574647980502709722173259242766518247069130369253742382467764534120868261609322336763442584722984531150241280935811291815695231751089041974995826204151916722954911543777788431267847558868488726727775558088292016787108342083682434984249322753287391074652789740730136792480066626816751025998533030107281666358573442851297020263464419916571852272675443779325296753062533811920015288078199902751315753873818579451725412419998488382805721894320556265927934223528868440761808861298986734835990475941234410081559174939602706388605512474166399865565058516905951799663480584195037601796610443919786084606501164060559359505201049366449652514591383393728183500285947277235875884011085867718367529818158516316174431816468106580172202406297495983781611095502757507836240751657624073834294512695415914851299254579089169699511292659961048819557700054448362214751587268548651141519758473060618174533027753344426883409322130580725470731550414419028584369085231761559485435801258707267596051931991492124754105283781080714067008107730424649654901417900790301064912495915793465743454142894709930039593508201922573934009522190276917420191515376148319065748511902921589854875665551887027046767699315405175065998942712692791275619557727961718555925729411857406166880532674347634025142633927587577841310717591365107558462517673323182965895484432539994608924614644053858737444314759308847556006796262794326573434437968843761431998851918504816985113185438858347640222245023439794973750241797524630681923513079142453532533348991762841320901408479753392291630596362046049014895689118418416283517323625625129047221563299309648279665655993359068187964921741239095422775430938474959561486103784978 1527404724227342030661316808540469313513799827695555165869768242037900113485553755148436341296682272977600424825501905342116350224001831551065219847180483262920790512345875498583692290979677016189903335945817899223540092938069364464410606820164301570481455789078693323077383744168091462437733290074781463112173801821517726746922886807352779900583122300577991273920684167451599850279443518761046170712713695337173416522259414284478600616155680564786890801837877832450424192275830014283861466422254125594614954648728390703078628326392047796806059654236316694197109133946507304206053489365136798286330242952818666721853080962436971440324127261772578025430487370494596122732924812599409582822348606044233862608099141228722967276779490157255433668937280013538327100112681072304894861489433808876643039877330809133590203554557848517643415478261034848181079735246814880014742431322585201951048425083907025771497582747274086986463451600511159654990723470712117745143989023527624747657307705370295380918935312338660009599978943110196927081811866951087788466416077975350689206908288787467148787580176229543639956593492167919886002368435957434304417615132405250651373054985077495479192072937388484744266954347622192023220894202388043146713671226688293144088384324031316812377963775388956549789550950673931297943580695864612750662794006331513675564232204486062088058617640278980768496992518905192760454227999376244690668939680441499869537646560949766441350882322704722944783705637146084442816326447316973376965797097390233351667122603880927686740711855751244501699882298254666116390428228772448324318167662078625207531078590954060279916324039879913513235198219071441106915880931482749671445567599446254767426321989875701190119692123060431028884490963708710624145722008331869362041386144122544671187736840631479468480046451237788526073361599463527414853017566731646518558529117430950490044671713409270889176134681052944035505825960478754104956370654131068629384796019304362220934826706538104570126404546005745908557833879749871792705371808955187996487591999203606221634199020177567525394563477663594393529869420315088843337414280232255551201549794601870104445149 2471392758376999378332380179905739921008379162221930312630050225740646660524293190043532421316612021459575092570607299239395556880620306452778466777833133544923379812737047935529403240551319061507470941169504626694622195902759602070892104841608656699785822286227686743681016790440475180668033497681140840131451393640582333279894125432645834295788796890029516198228697538627281874156114379052612739850958032236080048886351896846108906452028442787979067794544478972159866523370491464670436114402756835316788213891494908950147758695645790179273824188357184955806431470709949888929038020515378079222141534768513898472942122937432797644476043984727489569208275801762443681601413539327185140910640622831342204691781576212972290030066881231908223409667416806018393726929432098303427891596715475235216482728627829397054623471129700790318859257586331601243613547166830168092942334073900955824867004535632438191496071130079808880784007866439093878519591911473926606442975758363615223598542115451854555858538018727265522074145342975761985598717818750751269050611115577147299650828074872073649951640735589048841005959941820434477385762164140934590364892368281134662458922703445025297350589253562916560735060927794394429518390186169654242216428734524533895746008397865611325073379690240255804368640120373442590603541744684170450717242368546265262832780855627581846531678258453513796250336945788602082584808724846976241083358709025868954769408120435202242609589590300774876775197761900189726597407161383981484696221747045134769567912904945840182656505321494698644594592228294259624592350802706457846508444579498816722907226910019808791819245629734789178787085246118208806231286106548748614158260390721874325154283708431626919531549529227311561558838597733853258073309586173180079632751251681007188861060023597374952912586445846713140717415458200971729612326414287653314821323444004384928013515474841269741094639498038057220944684308118976349979810449104818871182320649986285734013969160070637919118167387326647317037587272041502389067417857970083685606010415487123545259824149224789088693873125943260049523228488503053765078653375655030982140024754163356208230127 3998797482604341408993696988446209234522178989917485478499818467778546774009846945191968762613294294437175517396109204581511907104622138003843686625013616807844170325082923434113095531530996077697374277115322525918162288840828966535302711661772958270267278075306380066758400534608566643105766787755922303243625195462100060026817012239998614196371919190607507472149381706078881724435557897813658910563671727573253465408611311130587507068184123352765958596382356804610290715646321478954297580825010960911403168540223299653226387022037837976079883842593501650003540604656457193135091509880514877508471777721332565194795203899869769084800171246500067594638763172257039804334338351926594723732989228875576067299880717441695257306846371389163657078604696819556720827042113170608322753086149284111859522605958638530644827025687549307962274735847366449424693282413645048107684765396486157775915429619539463962993653877353895867247459466950253533510315382186044351586964781891239971255849820822149936777473331065925531674124286085958912680529685701839057517027193552497988857736363659540798739220911818592480962553433988354363388130600098368894782507500686385313831977688522520776542662190951401305002015275416586452739284388557697388930099961212827039834392721896928137451343465629212354158191071047373888547122440548783201380036374877778938397013060113643934590295898732494564747329464693794843039036724223220931752298389467368824307054681384968683960471913005497821558903399046274169413733608700954861662018844435368121235035508826767869397217177245943146294474526548925740982779031478906170826612241577441930438305500973869071735569669614702692022283465189649913147167038031498285603827990168129092580605698307328109651241652287742590443329561442563882219031594505049441674137395803551860048796864228854421392632897084501666790777057664499144465343981019299833379852561435335418058187188250540630270774179091001256450510268597730454936181103235887500567116669290647954948795866608742489244571933332393225595421151791374181772789666925271682093602414690729766894023169402356614088436603606854443053097908818142608416067655887286533341574548765226312675276 6470190240981340787326077168351949155530558152139415791129868693519193434534140135235501183929906315896750609966716503820907463985242444456622153402846750352767550137819971369642498772082315139204845218284827152612784484743588568606194816503381614970053100361534066810439417325049041823773800285437063143375076589102682393306711137672644448492160716080637023670378079244706163598591672276866271650414629759809333514294963207976696413520212566140745026390926835776770157239016812943624733695227767796228191382431718208603374145717683628155353708030950686605809972075366407082064129530395892956730613312489846463667737326837302566729276215231227557163847038974019483485935751891253779864643629851706918271991662293654667547336913252621071880488272113625575114553971545268911750644682864759347076005334586467927699450496817250098281133993433698050668306829580475216200627099470387113600782434155171902154489725007433704748031467333389347412029907293659970958029940540254855194854391936274004492636011349793191053748269629061720898279247504452590326567638309129645288508564438531614448690861647407641321968513375808788840773892764239303485147399868967519976290900391967546073893251444514317865737076203210980882257674574727351631146528695737360935580401119762539462524723155869468158526831191420816479150664185232953652097278743424044201229793915741225781121974157186008360997666410482396925623845449070197172835657098493237779076462801820170926570061503306272698334101160946463896011140770084936346358240591480502890802948413772608052053722498740641790889066754843185365575129834185364017335056821076258653345532410993677863554815299349491870809368711307858719378453144580246899762088380890003417734889406738955029182791181515054152002168159176417140292341180678229521306888647484559048909856887826229374305219342931214807508192515865470874077670395306953148201176005439720346071702663091810371365413677129058477395194576716706804915991552340706371749437319276933688962765026679380408362739320659040542633008423832876570840207524895355367699612830177853312153847318627145702782309729550114492576326397321196373494721031542317515481599302928582520905403 10468987723585682196319774156798158390052737142056901269629687161297740208543987080427469946543200610333926127362825708402419371089864582460465840027860367160611720462902894803755594303613311216902219495400149678530946773584417535141497528165154573240320378436840446877197817859657608466879567073192985446618701784564782453333528149912643062688532635271244531142527460950785045323027230174679930560978301487382586979703574519107283920588396689493510984987309192581380447954663134422579031276052778757139594550971941508256600532739721466131433591873544188255813512680022864275199221040276407834239085090211179028862532530737172335814076386477727624758485802146276523290270090243180374588376619080582494339291543011096362804643759624010235537566876810445131835381013658439520073397769014043458935527940545106458344277522504799406243408729281064500093000111994120264308311864866873271376697863774711366117483378884787600615278926800339600945540222675846015309616905322146095166110241757096154429413484680859116585422393915147679810959777190154429384084665502682143277366300802191155247430082559226233802931066809797143204162023364337672379929907369653905290122878080490066850435913635465719170739091478627567334996958963285049020076628656950187975414793841659467599976066621498680512685022262468190367697786625781736853477315118301823139626806975854869715712270055918502925744995875176191768662882173293418104587955487960606603383517483205139610530533416311770519893004559992738065424874378785891208020259435915871012037983922599375921450939675986584937183541281392111106557908865664270188161669062653700583783837911967546935290384968964194562831652176497508632525620182611745185365916371058132510315495105046283138834032833802796742445497720618981022511372775183278962981026043288110908958653752055083795697852240015716474298969573529970018543014376326252981581028566875055764129889851342351001636187856220059733845704845314437259852172655576593872316553988567581643911560893288122897607311253991433768228429575624250752612997191820627049793215244868583079047870488029502316870746333156968935629424306139338981910788687429604048823173851693808833580679 16939177964567022983645851325150107545583295294196317060759555854816933643078127215662971130473106926230676737329542212223326835075107026917087993430707117513379270600722866173398093075695626356107064713684976831143731258328006103747692344668536188210373478798374513687637235184706650290653367358630048589993778373667464846640239287585287511180693351351881554812905540195491208921618902451546202211392931247191920493998537727083980334108609255634256011378236028358150605193679947366203764971280546553367785933403659716859974678457405094286787299904494874861623484755389271357263350570672300790969698402701025492530269857574474902543352601708955181922332841120296006776205842134434154453020248932289412611283205304751030351980672876631307418055148924070706949934985203708431824042451878802806011533275131574386043728019322049504524542722714762550761306941574595480508938964337260384977480297929883268271973103892221305363310394133728948357570129969505986267646845862400950360964633693370158922049496030652307639170663544209400709239024694607019710652303811811788565874865240722769696120944206633875124899580185605932044935916128576975865077307238621425266413778472457612924329165079980037036476167681838548217254633538012400651223157352687548910995194961422007062500789777368148671211853453889006846848450811014690505574593861725867340856600891596095496834244213104511286742662285658588694286727622363615277423612586453844382459980285025310537100594919618043218227105720939201961436015148870827554378500027396373902840932336371983973504662174727226728072608036235296472133038699849634205496725883729959237129370322961224798845200268313686433641020887805367351904073327191992085128004751948135928050384511785238168016824015317850894447665879795398162803713955861508484287914690772669957868510639881313170003071582946931281807162089395440892620684771633206129782204572314776110201592514434161373001601533349118211240899422031144064768164207917300244065991307844515332874325919967503305970050574650474310861437999457127323453204716715982417492828075046436391201717806656648019653056062707083428205750703460535355405509718971921564304773154622391354486082 27408165688152705179965625481948265935636032436253218330389243016114673851622114296090441077016307536564602864692367920625746206164971609377553833458567484673990991063625760977153687379308937573009284209085126509674678031912423638889189872833690761450693857235214960564835053044364258757532934431823034036612480158232247299973767437497930573869225986623126085955433001146276254244646132626226132772371232734574507473702112246191264254697005945127766996365545220939531053148343081788782796247333325310507380484375601225116575211197126560418220891778039063117436997435412135632462571610948708625208783492912204521392802388311647238357428988186682806680818643266572530066475932377614529041396868012871906950574748315847393156624432500641542955622025734515838785315998862147951897440220892846264947061215676680844388005541826848910767951451995827050854307053568715744817250829204133656354178161704594634389456482777008905978589320934068549303110352645352001577263751184547045527074875450466313351462980711511424224593057459357080520198801884761449094736969314493931843241166042913924943551026765860108927830646995403075249097939492914648245007214608275330556536656552947679774765078715445756207215259160466115552251592501297449671299786009637736886409988803081474662476856398866829183896875716357197214546237436796427359051908980027690480483407867450965212546514269023014212487658160834780462949609795657033382011568074414450985843497768230450147631128335929813738120110280931940026860889527656718762398759463312244914878916258971359894955601850713811665256149317627407578690947565513904393658394946383659820913208234928771734135585237277880996472673064302875984429693509803737270493921123006268438365879616831521306850856849120647636893163600414379185315086731044787447268940734060780866827164391936396965700923822962647756106131662925410911163699147959459111363233139189831874331482365776512374637789389569177945086604267345581324620336863493894116382545296412096976785886813255626203577361828641908079089867575081378076066201908536609467286043319915019470249588294686150336523802395864052363835175009599874337316298406401525613127947006316200188066761 44347343652719728163611476807098373481219327730449535391148798870931607494700241511753412207489414462795279602021910132849073041240078636294641826889274602187370261664348627150551780455004563929116348922770103340818409290240429742636882217502226949661067336033589474252472288229070909048186301790453082626606258531899712146614006725083218085049919337975007640768338541341767463166265035077772334983764163981766427967700649973275244588805615200762023007743781249297681658342023029154986561218613871863875166417779260941976549889654531654705008191682533937979060482190801406989725922181621009416178481895613230013923072245886122140900781589895637988603151484386868536842681774512048683494417116945161319561857953620598423508605105377272850373677174658586545735250984065856383721482672771649070958594490808255230431733561148898415292494174710589601615613995143311225326189793541394041331658459634477902661429586669230211341899715067797497660680482614857987844910597046947995888039509143836472273512476742163731863763721003566481229437826579368468805389273126305720409116031283636694639671970972493984052730227181009007294033855621491624110084521846896755822950435025405292699094243795425793243691426842304663769506226039309850322522943362325285797405183764503481724977646176234977855108729170246204061394688247811117864626502841753557821340008759047060709380758482127525499230320446493369157236337418020648659435180660868295368303478053255760684731723255547856956347216001871141988296904676527546316777259490708618817719848595343343868460264025441038393328757353862704050823986265363538599155120830113619058042578557889996532980785505591567430113693952108243336333766836995729355621925874954404366416264128616759474867680864438498531340829480209777348118800686906295931556855424833450824695675031817710135703995405909579037913293752320851803784383919592665241145437711504607984533074880210673747639390922918296156327503689376725389388501071411194360448536604256612309660212733223129509547412403292382389951305574538505399519406625252591884778871394961455861451306101342798356176858458571135792040925713060409692721808125373447177432720160938591542552843 71755509340872433343577102289046639416855360166702753721538041887046281346322355807843853284505721999359882466714278053474819247405050245672195660347842086861361252727974388127705467834313501502125633131855229850493087322152853381526072090335917711111761193268804434817307341273435167805719236222276116663218738690131959446587774162581148658919145324598133726723771542488043717410911167703998467756135396716340935441402762219466508843502621145889790004109326470237212711490366110943769357465947197174382546902154862167093125100851658215123229083460573001096497479626213542622188493792569718041387265388525434535315874634197769379258210578082320795283970127653441066909157706889663212535813984958033226512432701936445816665229537877914393329299200393102384520566982928004335618922893664495335905655706484936074819739102975747326060445626706416652469921048712026970143440622745527697685836621339072537050886069446239117320489036001866046963790835260209989422174348231495041415114384594302785624975457453675156088356778462923561749636628464129917900126242440799652252357197326550619583222997738354092980560874176412082543131795114406272355091736455172086379487091578352972473859322510871549450906686002770779321757818540607299993822729371963022683815172567584956387454502575101807039005604886603401275940925684607545223678411821781248301823416626498025921927272751150539711717978607328149620185947213677682041446748735282746354146975821486210832362851591477670694467326282803082015157794204184265079176018954020863732598764854314703763415865876154850058584906671490111629514933830877442992813515776497278878955786792818768267116370742869448426586367016411119320763460346799466626115846997960672804782143745448280781718537713559146168233993080624156533433887417951083378825796158894231691522839423754107101404919228872226794019425415246262714948083067552124352508670850694439858864557245987186122277180312487474101414107956722306714008837934905088476831081900668709286446099546478755713124774231934290469041173149619883475585608533789201352064914714876475331700894396028948692700660854435188155876100722660284030038106531774972790560667167254791730619604 116102852993592161507188579096145012898074687897152289112686840757977888841022597319597265491995136462155162068736188186323892288645128881966837487237116689048731514392323015278257248289318065431241982054625333191311496612393283124162954307838144660772828529302393909069779629502506076853905538012729199289824997222031671593201780887664366743969064662573141367492110083829811180577176202781770802739899560698107363409103412192741753432308236346651813011853107719534894369832389140098755918684561069038257713319934123109069674990506189869828237275143106939075557961817014949611914415974190727457565747284138664549238946880083891520158992167977958783887121612040309603751839481401711896030231101903194546074290655557044240173834643255187243702976375051688930255817966993860719340405566436144406864250197293191305251472664124645741352939801417006254085535043855338195469630416286921739017495080973550439712315656115469328662388751069663544624471317875067977267084945278443037303153893738139257898487934195838887952120499466490042979074455043498386705515515567105372661473228610187314222894968710848077033291101357421089837165650735897896465176258302068842202437526603758265172953566306297342694598112845075443091264044579917150316345672734288308481220356332088438112432148751336784894114334056849605337335613932418663088304914663534806123163425385545086631308031233278065210948299053821518777422284631698330700881929396151041722450453874741971517094574847025527650814542284674224003454698880711811395953278444729482550318613449658047631876129901595888451913664025352815680338920096240981591968636606610897936998365350708764800097156248461015856700060968519362657097227183795195981737772872915077171198407874065040256586218577997644699574822560833933881552688104857379310382651583727682516218514455571817237108914634781805831932719167567114518732466987144789593654108562199047843397632126197859869916571235405770257741611646099032103397339006316282837279618504925321596106312279701885222672186635226672858992478724158388875105015159041793236843786109837931193152200497371747048877519313006323947917026435720693722759914657148419967993387328193383273172447 187858362334464594850765681385191652314930048063855042834224882645024170187344953127441118776500858461515044535450466239798711536050179127639033147584958775910092767120297403405962716123631566933367615186480563041804583934546136505689026398174062371884589722571198343887086970775941244659624774235005315953043735912163631039789555050245515402888209987171275094215881626317854897988087370485769270496034957414448298850506174412208262275810857492541603015962434189772107081322755251042525276150508266212640260222088985276162800091357848084951466358603679940172055441443228492234102909766760445498953012672664099084554821514281660899417202746060279579171091739693750670660997188291375108566045086861227772586723357493490056839064181133101637032275575444791314776384949921865054959328460100639742769905903778127380071211767100393067413385428123422906555456092567365165613071039032449436703331702312622976763201725561708445982877787071529591588262153135277966689259293509938078718268278332442043523463391649514044040477277929413604728711083507628304605641758007905024913830425936737933806117966449202170013851975533833172380297445850304168820267994757240928581924618182111237646812888817168892145504798847846222413021863120524450310168402106251331165035528899673394499886651326438591933119938943453006613276539617026208311983326485316054424986842012043112553235303984428604922666277661149668397608231845376012742328678131433788076597429696228182349457426438503198345281868567477306018612493084896076475129297398750346282917378303972751395291995777750738510498570696842927309853853927118424584782152383108176815954152143527533067213526991330464283286427984930481977860687530594662607853619870875749975980551619513321038304756291556790867808815641458090414986575522808462689208447742621914207741353879325924338513833863654032625952144582813377233680550054696913946162779412893487702262189372185045992193751547893244359155719602821338817406176941221371314110700405594030882552411826180640935796960867160963328033651873778272350690623692830994588908700824714406524853094893400695741578180167441512103793127158380977752798021188923392758554054495448175003792051 303961215328056756357954260481336665213004735961007331946911723403002059028367550447038384268495994923670206604186654426122603824695308009605870634822075464958824281512620418684219964412949632364609597241105896233116080546939419629851980706012207032657418251873592252956866600278447321513530312247734515242868733134195302632991335937909882146857274649744416461707991710147666078565263573267540073235934518112555662259609586604950015708119093839193416027815541909307001451155144391141281194835069335250897973542023108385232475081864037954779703633746786879247613403260243441846017325740951172956518759956802763633793768394365552419576194914038238363058213351734060274412836669693087004596276188764422318661014013050534297012898824388288880735251950496480245032202916915725774299734026536784149634156101071318685322684431225038808766325229540429160640991136422703361082701455319371175720826783286173416475517381677177774645266538141193136212733471010345943956344238788381116021422172070581301421951325845352931992597777395903647707785538551126691311157273575010397575303654546925248029012935160050247047143076891254262217463096586202065285444253059309770784362144785869502819766455123466234840102911692921665504285907700441600626514074840539639646255885231761832612318800077775376827234273000302611950612153549444871400288241148850860548150267397588199184543335217706670133614576714971187175030516477074343443210607527584829799047883570970153866552001285528725996096410852151530022067191965607887871082575843479828833235991753630799027168125679346626962412234722195742990192774023359406176750788989719074752952517494236297867310683239791480139986488953449844634957914714389858589591392743790827147178959493578361294890974869554435567383638202292024296539263627665841999591099326349596723959868334897741575622748498435838457884863750380491752413017041841703539816887975092535545659821498382905862110322783299014616897331248920370920803515947537654151390318910519352478658724105882526158469147502387636187026130597936661225795638851872787825752486934552337718005295390772442790455699480447836051710153594101671475557935846071812726547441823641558276964498 491819577662521351208719941866528317527934784024862374781136606048026229215712503574479503044996853385185251139637120665921315360745487137244903782407034240868917048632917822090182680536581199297977212427586459274920664481485556135541007104186269404542007974444790596843953571054388566173155086482739831195912469046358933672780890988155397549745484636915691555923873336465520976553350943753309343731969475527003961110115761017158277983929951331735019043777976099079108532477899642183806470985577601463538233764112093661395275173221886039731169992350466819419668844703471934080120235507711618455471772629466862718348589908647213318993397660098517942229305091427810945073833857984462113162321275625650091247737370544024353851963005521390517767527525941271559808587866837590829259062486637423892404062004849446065393896198325431876179710657663852067196447228990068526695772494351820612424158485598796393238719107238886220628144325212722727800995624145623910645603532298319194739690450403023344945414717494866976033075055325317252436496622058754995916799031582915422489134080483663181835130901609252417060995052425087434597760542436506234105712247816550699366286762967980740466579343940635126985607710540767887917307770820966050936682476946790970811291414131435227112205451404213968760354211943755618563888693166471079712271567634166914973137109409631311737778639202135275056280854376120855572638748322450356185539285659018617875645313267198336216009427724031924341378279419628836040679685050503964346211873242230175116153370057603550422460121457097365472910805419038670300046627950477830761532941372827251568906669637763830934524210231121944423272916938380326612818602244984521197445012614666577123159511113091682333195731161111226435192453843750114711525839150474304688799547068971510931701222214223665914136582362089871083837008333193868986093567096538617485979667387986023247922010870567951854304074331192258976053050851741709738209692888759025465501019316113383361211135932063167094266108369548599515059782471714933576486262544703782414661187759266744242858390284173138532033879647889348155503280752482649228355957034995205485101496319089733280756549 795780792990578107566674202347864982740939519985869706728048329451028288244080054021517887313492848308855457743823775092043919185440795146850774417229109705827741330145538240774402644949530831662586809668692355508036745028424975765392987810198476437199426226318382849800820171332835887686685398730474346438781202180554236305772226926065279696602759286660108017631865046613187055118614517020849416967903993639559623369725347622108293692049045170928435071593518008386109983633044033325087665820646936714436207306135202046627750255085923994510873626097253698667282247963715375926137561248662791411990532586269626352142358303012765738569592574136756305287518443161871219486670527677549117758597464390072409908751383594558650864861829909679398502779476437751804840790783753316603558796513174208042038218105920764750716580629550470684946035887204281227837438365412771887778473949671191788144985268884969809714236488916063995273410863353915864013729095155969854601947771086700310761112622473604646367366043340219908025672832721220900144282160609881687227956305157925820064437735030588429864143836769302664108138129316341696815223639022708299391156500875860470150648907753850243286345799064101361825710622233689553421593678521407651563196551787330610457547299363197059724524251481989345587588484944058230514500846715915951112559808783017775521287376807219510922321974419841945189895431091092042747669264799524699628749893186603447674693196838168490082561429009560650337474690271780366062746877016111852217294449085710003949389361811234349449628247136443992435323040141234413290239401973837236938283730362546326321859187132000128801834893470913424563259405891830171247776516959374379787036405358457404270338470606670043628086706030665662002576092046042139008065102778140146688390646395321107655661090549121407489759330860525709541721872083574360738506584138380321025796555363078558793581832368950857716414397114491273592950382100662080659013208836296679616891338226632735839869860037945693252735255871936235702085913069651594802281901396576570240413674693819081960863685674945581322489579128337184207213434346584320703913892881067018211648938142731291557721047 1287600370653099458775394144214393300268874304010732081509184935499054517459792557595997390358489701694040708883460895757965234546186282284095678199636143946696658378778456062864585325486112030960564022096278814782957409509910531900933994914384745841741434200763173446644773742387224453859840485213214177634693671226913169978553117914220677246348243923575799573555738383078708031671965460774158760699873469166563584479841108639266571675978996502663454115371494107465218516110943675508894136806224538177974441070247295708023025428307810034242043618447720518086951092667187310006257796756374409867462305215736489070490948211659979057562990234235274247516823534589682164560504385662011230920918740015722501156488754138583004716824835431069916270307002379023364649378650590907432817858999811631934442280110770210816110476827875902561125746544868133295033885594402840414474246444023012400569143754483766202952955596154950215901555188566638591814724719301593765247551303385019505500803072876627991312780760835086884058747888046538152580778782668636683144755336740841242553571815514251611699274738378555081169133181741429131412984181459214533496868748692411169516935670721830983752925143004736488811318332774457441338901449342373702499879028734121581268838713494632286836729702886203314347942696887813849078389539882387030824831376417184690494424486216850822660100613621977220246176285467212898320308013121975055814289178845622065550338510105366826298570856733592574678852969691409202103426562066615816563506322327940179065542731868837899872088368593541357908233845560273083590286029924315067699816671735373577890765856769763959736359103702035368986532322830210497860595119204358900984481417973123981393497981719761725961282437191776888437768545889792253719590941928614451377190193464292618587362312763345073403895913222615580625558880416768229724600151234918938511776222751064582041503843239518809570718471445683532569003432952403790397222901725055705082392357542746119201080995970008860347001364241484835217145695541366528378768163941280352655074862453085826203722075959118719854523458776226532362716715099066969932269849916062223696750434461821024838477596 2083381163643677566342068346562258283009813823996601788237233264950082805703872611617515277671982550002896166627284670850009153731627077430946452616865253652524399708923994303638987970435642862623150831764971170290994154538335507666326982724583222278940860427081556296445593913720060341546525883943688524073474873407467406284325344840285956942951003210235907591187603429691895086790579977795008177667777462806123207849566456261374865368028041673591889186965012115851328499743987708833981802626871474892410648376382497754650775683393734028752917244544974216754233340630902685932395358005037201279452837802006115422633306514672744796132582808372030552804341977751553384047174913339560348679516204405794911065240137733141655581686665340749314773086478816775169490169434344224036376655512985839976480498216690975566827057457426373246071782432072414522871323959815612302252720393694204188714129023368736012667192085071014211174966051920554455828453814457563619849499074471719816261915695350232637680146804175306792084420720767759052725060943278518370372711641898767062618009550544840041563418575147857745277271311057770828228207820481922832888025249568271639667584578475681227039270942068837850637028955008146994760495127863781354063075580521452191726386012857829346561253954368192659935531181831872079592890386598302981937391185200202466015711863024070333582422588041819165436071716558304941067977277921499755443039072032225513225031706943535316381132285743153225016327659963189568166173439082727668780800771413650183014932093680072249321716615729985350343556885701507496880525431898152304638100402097919904212625043901764088538193997172948793549791728722040669108371636163733280771517823331581385663836452326431769589369143222442550440344637935834392727656044706754598065580839859613726243023403312466480893655244083141290167280752500342590463106735373299259537572778114143140835085675608469667287132868560174806161953815053065871056236110561352384699283695769378855040950856007954553599736620113421070919231608611018123181050065337856922895488537146904908164585761634064301177013037904563716569930149445651290636183742797129241908399372604552316396198643 3370981534296777025117462490776651583278688128007333869746418200449137323163665169213512668030472251696936875510745566607974388277813359715042130816501397599221058087702450366503573295921754893583714853861249985073951564048246039567260977638967968120682294627844729743090367656107284795406366369156902701708168544634380576262878462754506634189299247133811707164743341812770603118462545438569166938367650931972686792329407564900641437044007038176255343302336506223316547015854931384342875939433096013070385089446629793462673801111701544062994960862992694734841184433298089995938653154761411611146915143017742604493124254726332723853695573042607304800321165512341235548607679299001571579600434944421517412221728891871724660298511500771819231043393481195798534139548084935131469194514512797471910922778327461186382937534285302275807197528976940547817905209554218452716726966837717216589283272777852502215620147681225964427076521240487193047643178533759157385097050377856739321762718768226860628992927565010393676143168608814297205305839725947155053517466978639608305171581366059091653262693313526412826446404492799199959641192001941137366384893998260682809184520249197512210792196085073574339448347287782604436099396577206155056562954609255573772995224726352461633397983657254395974283473878719685928671279926480690012762222561617387156510136349240921156242523201663796385682248002025517839388285291043474811257328250877847578775370217048902142679703142476745799695180629654598770269600001149343485344307093741590362080474825548910149193804984323526708251790731261780580470811461822467372337917073833293482103390900671528048274553100874984162536324051552251166968966755368092181755999241304705367057334434046193495550651580414219438878113183825626646447246986635369049442771033323906344830385716075811554297551157305756870792839632917110820187706886608218198049349000865207722876589518847988476857851340005858338730957248005469661453459012286408089781676053312124974242031851977963413946737984354905906136377304152384651559818229279137275550563399599990734368307837593183021031536496680790248932646864544718260568453592713191465605149807066373341234676239 5454362697940454591459530837338909866288501952003935657983651465399220128867537780831027945702454801699833042138030237457983542009440437145988583433366651251745457796626444670142561266357397756206865685626221155364945718586581547233587960363551190399623155054926286039535961569827345136952892253100591225781643418041847982547203807594792591132250250344047614755930945242462498205253125416364175116035428394778810000178974021162016302412035079849847232489301518339167875515598919093176857742059967487962795737823012291217324576795095278091747878107537668951595417773928992681871048512766448812426367980819748719915757561241005468649828155850979335353125507490092788932654854212341131928279951148827312323286969029604866315880198166112568545816479960012573703629717519279355505571170025783311887403276544152161949764591742728649053269311409012962340776533514034065018979687231411420777997401801221238228287339766296978638251487292407747503471632348216721004946549452328459138024634463577093266673074369185700468227589329582056258030900669225673423890178620538375367789590916603931694826111888674270571723675803856970787869399822423060199272919247828954448852104827673193437831467027142412190085376242790751430859891705069936410626030189777025964721610739210290979959237611622588634219005060551558008264170313078992994699613746817589622525848212264991489824945789705615551118319718583822780456262568964974566700367322910073092000401923992437459060835428219899024711508289617788338435773440232071154125107865155240545095406919228982398515521600053512058595347616963288077351336893720619676976017475931213386316015944573292136812747098047932956086115780274291836077338391531825462527517064636286752721170886372625265140020723636661989318457821761461039174903031342123647508351873183520071073409119388278035191206401388898160960120385417453410650813621981517457586921778979350863711675194456458144144984208566033144892911063058535532509695122847760474480959749081503829282982707985917967546474604468326977055608912763402774740868294616994198446051936746895642532893599227247322208549534585353965502577013990369551204637335510320707513549179670925657630874882 8825344232237231616576993328115561449567190080011269527730069665848357452031202950044540613732927053396769917648775804065957930287253796861030714249868048850966515884328895036646134562279152649790580539487471140438897282634827586800848938002519158520305449682771015782626329225934629932359258622257493927489811962676228558810082270349299225321549497477859321920674287055233101323715670854933342054403079326751496792508381586062657739456042118026102575791638024562484422531453850477519733681493063501033180827269642084679998377906796822154742838970530363686436602207227082677809701667527860423573283123837491324408881815967338192503523728893586640153446673002434024481262533511342703507880386093248829735508697921476590976178709666884387776859873441208372237769265604214486974765684538580783798326054871613348332702126028030924860466840385953510158681743068252517735706654069128637367280674579073740443907487447522943065328008532894940551114810881975878390043599830185198459787353231803953895666001934196094144370757938396353463336740395172828477407645599177983672961172282663023348088805202200683398170080296656170747510591824364197565657813246089637258036625076870705648623663112215986529533723530573355866959288282276091467188984799032599737716835465562752613357221268876984608502478939271243936935450239559683007461836308434976779035984561505912646067468991369411936800567720609340619844547860008449377957695573787920670775772141041339601740538570696644824406688919272387108705373441381414639469414958896830907175881744777892547709326584377038766847138348225068657822148355543087049313934549764506868419406845244820185087300198922917118622439831826543003046305146899917644283516305940992119778505320418818760690672304050881428196571005587087685622150017977492696951122906507426415903794835464089589488757558694655031752960018334564230838520508589735655636270779844558586588264713304446621002835548571891483623868311064005193963154135134168564262635802393628803525014559963881381493212588823232883191986216915787426300686523896131473996615336346886376901201436820430343240086031266144214435223878535087811773090928223512173118698986737298998865551121 14279706930177686208036524165454471315855692032015205185713721131247577580898740730875568559435381855096602959786806041523941472296694234007019297683234700102711973680955339706788695828636550405997446225113692295803843001221409134034436898366070348919928604737697301822162290795761975069312150875358085153271455380718076541357286077944091816453799747821906936676605232297695599528968796271297517170438507721530306792687355607224674041868077197875949808280939542901652298047052769570696591423553030988995976565092654375897322954701892100246490717078068032638032019981156075359680750180294309235999651104657240044324639377208343661153351884744565975506572180492526813413917387723683835436160337242076142058795666951081457292058907832996956322676353401220945941398983123493842480336854564364095685729331415765510282466717770759573913736151794966472499458276582286582754686341300540058145278076380294978672194827213819921703579495825302688054586443230192599394990149282513657597811987695381047162339076303381794612598347267978409721367641064398501901297824219716359040750763199266955042914917090874953969893756100513141535379991646787257764930732493918591706888729904543899086455130139358398719619099773364107297819179987346027877815014988809625702438446204773043593316458880499573242721483999822801945199620552638676002161450055252566401561832773770904135892414781075027487918887439193163400300810428973423944658062896697993762776174065033777060801373998916543849118197208890175447141146881613485793594522824052071452271288664006874946224848184430550825442485965188356735173485249263706726289952025695720254735422789818112321900047296970850074708555612100834839123643538431743106811033370577278872499676206791444025830693027687543417515028827348548724797053049319616344459474779690946486977203954852367624679963960083553192713080403752017641489334130571253113223192558823909450299939907760904765147819757137924628516779374122540726472849257981929038743595551475132632807997267949799349039687193291559860247595129679190201041554818513125672442667273093782019434095036047677665448635565851498179937800892525457362977728263733832880632248166408224656496426003 23105051162414917824613517493570032765422882112026474713443790797095935032929943680920109173168308908493372877435581845589899402583948030868050011933102748953678489565284234743434830390915703055788026764601163436242740283856236720835285836368589507440234054420468317604788620021696605001671409497615579080761267343394305100167368348293391041775349245299766258597279519352928700852684467126230859224841587048281803585195737193287331781324119315902052384072577567464136720578506620048216325105046094490029157392362296460577321332608688922401233556048598396324468622188383158037490451847822169659572934228494731368733521193175681853656875613638152615660018853494960837895179921235026538944040723335324971794304364872558048268237617499881344099536226842429318179168248727708329455102539102944879484055386287378858615168843798790498774202992180919982658140019650539100490392995369668695512558750959368719116102314661342864768907504358197628605701254112168477785033749112698856057599340927185001058005078237577888756969105206374763184704381459571330378705469818894342713711935481929978391003722293075637368063836397169312282890583471151455330588545740008228964925354981414604735078793251574385249152823303937463164778468269622119345003999787842225440155281670335796206673680149376557851223962939094045882135070792198359009623286363687543180597817335276816781959883772444439424719455159802504020145358288981873322615758470485914433551946206075116662541912569613188673524886128162562555846520322994900433063937782948902359447170408784767493934174768807589592289624313413425392995633604806793775603886575460227123154829635062932506987347495893767193330995443927377842169948685331660751094549676518270992278181527210262786521365331738424845711599832935636410419203067297109041410597686198372902880998790316457214168721518778208224466040422086581872327854639160988768859463338668468036888204621065351386150655305709816112140647685186545920436003393116097603006231353868761436333011827913680730532899782114792743439581346594977627342241342409257146439282609440668396335296472868108008688721597117642394373024771060545174750819191957345053750947153145523655361977124 37384758092592604032650041659024504081278574144041679899157511928343512613828684411795677732603690763589975837222387887113840874880642264875069309616337449056390463246239574450223526219552253461785472989714855732046583285077645854869722734734659856360162659158165619426950910817458580070983560372973664234032722724112381641524654426237482858229148993121673195273884751650624300381653263397528376395280094769812110377883092800512005823192196513778002192353517110365789018625559389618912916528599125479025133957454950836474644287310581022647724273126666428962500642169539233397171202028116478895572585333151971413058160570384025514810227498382718591166591033987487651309097308958710374380201060577401113853100031823639505560296525332878300422212580243650264120567231851202171935439393667308975169784717703144368897635561569550072687939143975886455157598296232825683245079336670208753657836827339663697788297141875162786472487000183500316660287697342361077180023898395212513655411328622566048220344154540959683369567452474353172906072022523969832280003294038610701754462698681196933433918639383950591337957592497682453818270575117938713095519278233926820671814084885958503821533923390932783968771923077301570462597648256968147222819014776651851142593727875108839799990139029876131093945446938916847827334691344837035011784736418940109582159650109047720917852298553519466912638342598995667420446168717955297267273821367183908196328120271108893723343286568529732522643083337052738002987667204608386226658460607000973811718459072791642440159022953238140417732110278601782128169118854070500501893838601155947377890252424881044828887394792864617268039551056028212681293592223763403857905583047095549864777857734001706812352058359425968263226628660284185135216256116616725385870072465889319389858202745168824838848685478861761417179120825838599513817188769732241882082655897492377487188144528826256151298475062847740740657427059309086646908852651098026641749826905343894069141009095863480079572586975406352603687176476274167828383796160922382818881949882534450415769391508915785674137357162969140574310825663586002537728547455691177934383195319553748311858403127 60489809255007521857263559152594536846701456256068154612601302725439447646758628092715786905771999672083348714657969732703740277464590295743119321549440198010068952811523809193658356610467956517573499754316019168289323568933882575705008571103249363800396713578633937031739530839155185072654969870589243314793990067506686741692022774530873900004498238421439453871164271003553001234337730523759235620121681818093913963078829993799337604516315829680054576426094677829925739204066009667129241633645219969054291349817247297051965619919269945048957829175264825286969264357922391434661653875938648555145519561646702781791681763559707368467103112020871206826609887482448489204277230193736913324241783912726085647404396696197553828534142832759644521748807086079582299735480578910501390541932770253854653840103990523227512804405368340571462142136156806437815738315883364783735472332039877449170395578299032416904399456536505651241394504541697945265988951454529554965057647507911369713010669549751049278349232778537572126536557680727936090776403983541162658708763857505044468174634163126911824922361677026228706021428894851766101161158589090168426107823973935049636739439867373108556612716642507169217924746381239033627376116526590266567823014564494076582749009545444636006663819179252688945169409878010893709469762137035394021408022782627652762757467444324537699812182325963906337357797758798171440591527006937170589889579837669822629880066477184010385885199138142921196167969465215300558834187527603286659722398389949876171165629481576409934093197722045730010021734592015207521164752458877294277497725176616174501045082059943977335874742288758384461370546499955590523463540909095064609000132723613820857056039261211969598873423691164393108938228493219821545635459183913834427280670152087692292739201535485282053017406997639969641645161247925181386145043408893230650942119236160845524076349149891607537449130368557556852798074744495632567344856044214124244756058259212655505474020923777160810105486757521145347126757822869145455726037503331639965321232491975118812104687981783893682826078760086782968683850434646547712479366647648522988134142472699271967220380251 97874567347600125889913600811619040927980030400109834511758814653782960260587312504511464638375690435673324551880357619817581152345232560618188631165777647066459416057763383643881882830020209979358972744030874900335906854011528430574731305837909220160559372736799556458690441656613765143638530243562907548826712791619068383216677200768356758233647231543112649145049022654177301615990993921287612015401776587906024340961922794311343427708512343458056768779611788195714757829625399286042158162244345448079425307272198133526609907229850967696682102301931254249469906527461624831832855904055127450718104894798674194849842333943732883277330610403589797993200921469936140513374539152447287704442844490127199500504428519837059388830668165637944943961387329729846420302712430112673325981326437562829823624821693667596410439966937890644150081280132692892973336612116190466980551668710086202828232405638696114692696598411668437713881504725198261926276648796890632145081545903123883368421998172317097498693387319497255496104010155081108996848426507510994938712057896115746222637332844323845258841001060976820043979021392534219919431733707028881521627102207861870308553524753331612378146640033439953186696669458540604089973764783558413790642029341145927725342737420553475806653958209128820039114856816927741536804453481872429033192759201567762344917117553372258617664480879483373249996140357793838861037695724892467857163401204853730826208186748292904109228485706672653718811052802268038561821854732211672886380858996950849982884088554368052374252220675283870427753844870616989649333871312947794779391563777772121878935334484825022164762137081623001729410097555983803204757133132858468466905715770709370721833896995213676411225482050590361372164857153504006680851715300530559813150742617977011682597404280654106891866092476501731058824282073763780899962232178625472533024775133653223011264493678717863688747605431405297593455501803804719214253708695312150886505885164556549574615030019640640889678073732927497950813934299143313284109833664254022784203182374509569227874079490699679356963435923055923542994676098232550250207914103339700922517337792253020279078783378 158364376602607647747177159964213577774681486656177989124360117379222407907345940597227251544147690107756673266538327352521321429809822856361307952715217845076528368869287192837540239440488166496932472498346894068625230422945411006279739876941158583960956086315433493490429972495768950216293500114152150863620702859125755124908699975299230658238145469964552103016213293657730302850328724445046847635523458405999938304040752788110681032224828173138111345205706466025640497033691408953171399795889565417133716657089445430578575527149120912745639931477196079536439170885384016266494509779993776005863624456445376976641524097503440251744433722424461004819810808952384629717651769346184201028684628402853285147908825216034613217364810998397589465710194415809428720038193009023174716523259207816684477464925684190823923244372306231215612223416289499330789074927999555250716024000749963651998627983937728531597096054948174088955276009266896207192265600251420187110139193411035253081432667722068146777042620098034827622640567835809045087624830491052157597420821753620790690811967007450757083763362738003048750000450287385986020592892296119049947734926181796919945292964620704720934759356675947122404621415839779637717349881310148680358465043905640004308091746965998111813317777388381508984284266694938635246274215618907823054600781984195415107674584997696796317476663205447279587353938116592010301629222731829638447052981042523553456088253225476914495113684844815574914979022267483339120656042259814959546103257386900726154049718035944462308345418397329600437775579462632197170498623771825089056889288954388296379980416544768999500636879370381386190780644055939393728220674041953533075905848494323191578889936256425646010098905741754754481103085646723828226487174484444394240431412770064703975336605816139388944883499474141700700469443321688962286107275587518703183966894369814068535340842828609471226196735799962854446253576548300351781598564739526275131261943423769205080089050943417801699783560490448643297940692122012458739835871167585662749524414866484688039978767472483573039789514683142706511678526532879097962687280750988223910651480264952292246299163629 256238943950207773637090760775832618702661517056287823636118932033005368167933253101738716182523380543429997818418684972338902582155055416979496583880995492142987784927050576481422122270508376476291445242377768968961137276956939436854471182779067804121515459052233049949120414152382715359932030357715058412447415650744823508125377176067587416471792701507664752161262316311907604466319718366334459650925234993905962645002675582422024459933340516596168113985318254221355254863316808239213557958133910865213141964361643564105185434378971880442322033779127333785909077412845641098327365684048903456581729351244051171491366431447173135021764332828050802813011730422320770231026308498631488733127472892980484648413253735871672606195479164035534409671581745539275140340905439135848042504585645379514301089747377858420333684339244121859762304696422192223762411540115745717696575669460049854826860389576424646289792653359842526669157513992094469118542249048310819255220739314159136449854665894385244275736007417532083118744577990890154084473256998563152536132879649736536913449299851774602342604363798979868793979471679920205940024626003147931469362028389658790253846489374036333312905996709387075591318085298320241807323646093707094149107073246785932033434484386551587619971735597510329023399123511866376783078669100780252087793541185763177452591702551069054935141144084930652837350078474385849162666918456722106304216382247377284282296439973769818604342170551488228633790075069751377682477896992026632432484116383851576136933806590312514682597639072613470865529424333249186819832495084772883836280852732160418258915751029594021665399016452004387920190741611923196932977807174812001542811564265032562300723833251639322421324387792345115853267942800227834907338889784974954053582155388041715657934010096793495836749591950643431759293725395452743186069507766144175716991669503467291546605336507327334914944341231368152039709078352105070995852273434838426017767828588325754654704080963058442589461634223376141248754626421155772023945704831839685533727597240994257267852846963183252396752950606198630054673202631111648212895194854327924833168818057205312525377947007 414603320552815421384267920740046196477343003712465812760479049412227776075279193698965967726671070651186671084957012324860224011964878273340804536596213337219516153796337769318962361710996542973223917740724663037586367699902350443134211059720226388082471545367666543439550386648151665576225530471867209276068118509870578633034077151366818074709938171472216855177475609969637907316648442811381307286448693399905900949043428370532705492158168689734279459191024720246995751897008217192384957754023476282346858621451088994683760961528092793187961965256323413322348248298229657364821875464042679462445353807689428148132890528950613386766198055252511807632822539374705399948678077844815689761812101295833769796322078951906285823560290162433123875381776161348703860379098448159022759027844853196198778554673062049244256928711550353075374528112711691554551486468115300968412599670210013506825488373514153177886888708308016615624433523258990676310807849299731006365359932725194389531287333616453391052778627515566910741385145826699199172098087489615310133553701403357327604261266859225359426367726536982917543979921967306191960617518299266981417096954571455710199139453994741054247665353385334197995939501138099879524673527403855774507572117152425936341526231352549699433289512985891838007683390206805012029352884719688075142394323169958592560266287548765851252617807290377932424704016590977859464296141188551744751269363289900837738384693199246733099455855396303803548769097337234716803133939251841591978587373770752302290983524626256976990943057469943071303305003795881383990331118856597972893170141686548714638896167574363021166035895822385774110971385667862590661198481216765534618717412759355753879613769508064968431423293534099870334371028446951663133826064269419348294013568158106419633270615912932884781633091424785132459763168717141705472176783353662878900958563873281360081946179335936806141141077031331006485962654900405422777450838174364701149029772012094959734793131906476244289245194713824784546695318543168230763781575999425348283252012107478945307831614435666825436542465289341336566351729163990746175582475605316148743820298322157604771677110636 670842264503023195021358681515878815180004520768753636396597981445233144243212446800704683909194451194616668903375697297199126594119933690320301120477208829362503938723388345800384483981504919449515362983102432006547504976859289879988682242499294192203987004419899593388670800800534380936157560829582267688515534160615402141159454327434405491181730872979881607338737926281545511782968161177715766937373928393811863594046103952954729952091509206330447573176342974468351006760325025431598515712157387147560000585812732558788946395907064673630283999035450747108257325711075298463149241148091582919027083158933479319624256960397786521787962388080562610445834269797026170179704386343447178494939574188814254444735332687777958429755769326468658285053357906887979000720003887294870801532430498575713079644420439907664590613050794474935136832809133883778313898008231046686109175339670063361652348763090577824176681361667859142293591037251085145429350098348041825620580672039353525981141999510838635328514634933098993860129723817589353256571344488178462669686581053093864517710566710999961768972090335962786337959393647226397900642144302414912886458982961114500452985943368777387560571350094721273587257586436420121331997173497562868656679190399211868374960715739101287053261248583402167031082513718671388812431553820468327230187864355721770012857990099834906187758951375308585262054095065363708626963059645273851055485745537278122020681133173016551703798025947792032182559172406986094485611836243868224411071490154603878427917331216569491673540696542556542168834428129130570810163613941370856729450994418709132897811918603957042831434912274390162031162127279785787594176288391577536161528977024388316180337602759704290852747681326444986187638971247179498041164954054394302347595723546148135291204626009726380618382683375428564219056894112594448658246291119807054617950233376748651628551515843264141056085418262699158525671733252510493773303111609203127166797600600420714389497212869534686878706828937200925795449944964324002787727280831265033816979609348473202575684461398850077833295415895539966621024931795102394388477670459644073576989116379362917297055057643 1085445585055838616405626602255925011657347524481219449157077030857460920318491640499670651635865521845803339988332709622059350606084811963661105657073422166582020092519726115119346845692501462422739280723827095044133872676761640323122893302219520580286458549787566136828221187448686046512383091301449476964583652670485980774193531478801223565891669044452098462516213536251183419099616603989097074223822621793717764543089532323487435444249677896064727032367367694715346758657333242623983473466180863429906859207263821553472707357435157466818245964291774160430605574009304955827971116612134262381472436966622907467757147489348399908554160443333074418078656809171731570128382464188262868256751675484648024241057411639684244253316059488901782160435134068236682861099102335453893560560275351771911858199093501956908847541762344828010511360921845575332865384476346347654521775009880076868477837136604731002063570069975875757918024560510075821740157947647772831985940604764547915512429333127292026381293262448665904601514869644288552428669431977793772803240282456451192121971833570225321195339816872945703881939315614532589861259662601681894303555937532570210652125397363518441808236703480055471583197087574520000856670700901418643164251307551637804716486947091650986486550761569294005038765903925476400841784438540156402372582187525680362573124277648600757440376758665686517686758111656341568091259200833825595806755108827178959759065826372263284803253881344095835731328269744220811288745775495709816389658863925356180718900855842826468664483754012499613472139431925011954800494732797968829622621136105257847536708086178320063997470808096775936142133512947648378255374769608343070780246389783744070059951372267769259284170974860544856522009999694131161174991018323813650641609291704254554924475241922659265400015774800213696678820062829736154130423074473469933518908797250030011710497695179200947197226495294030165011634388152915916550753949783567828315827372612515674124290344776010931167952023651025710342145263507492233551508856830690382100231621455952147883516075834516903269837881184881303187376660959093140564060146064960222320809414701520522068732168279 1756287849558861811426985283771803826837352045249973085553675012302694064561704087300375335545059973040420008891708406919258477200204745653981406777550630995944524031243114460919731329674006381872254643706929527050681377653620930203111575544718814772490445554207465730216891988249220427448540652131031744653099186831101382915352985806235629057073399917431980069854951462532728930882584765166812841161196550187529628137135636276442165396341187102395174605543710669183697765417658268055581989178338250577466859793076554112261653753342222140448529963327224907538862899720380254291120357760225845300499520125556386787381404449746186430342122831413637028524491078968757740308086850531710046751691249673462278685792744327462202683071828815370440445488491975124661861819106222748764362092705850347624937843513941864573438154813139302945648193730979459111179282484577394340630950349550140230130185899695308826240251431643734900211615597761160967169508045995814657606521276803901441493571332638130661709807897381764898461644593461877905685240776465972235472926863509545056639682400281225282964311907208908490219898709261758987761901806904096807190014920493684711105111340732295829368808053574776745170454674010940122188667874398981511820930497950849673091447662830752273539812010152696172069848417644147789654215992360624729602770051881402132585982267748435663628135710040995102948812206721705276718222260479099446862240854364457081779746959545279836507051907291887867913887442151206905774357611739578040800730354079960059146818187059395960338024450555056155640973860054142525610658346739339686352072130523966980434520004782277106828905720371166098173295640227434165849551057999920606941775366808132386240288975027473550136918656186989842709648970941310659216155972378207952989205015250402690215679867932385646018398458175642260897876956942330602788669365593276988136859030626778663339049211022465088253311913556729323537306121405426410324057061392770955482624973212936388513787557645545618046658852588226636137595208471816236339236137661955415917211230804425350459200537233366981103133297080421269808401592754195534952537816524604295897798531080883439365787225922 2841733434614700427832611886027728838494699569731192534710752043160154984880195727800045987180925494886223348880041116541317827806289557617642512434624053162526544123762840576039078175366507844294993924430756622094815250330382570526234468846938335352776904103995031867045113175697906473960923743432481221617682839501587363689546517285036852622965068961884078532371164998783912349982201369155909915385019171981247392680225168599929600840590864998459901637911078363899044524074991510679565462644519114007373719000340375665734361110777379607266775927618999067969468473729685210119091474372360107681971957092179294255138551939094586338896283274746711446603147888140489310436469314719972915008442925158110302926850155967146446936387888304272222605923626043361344722918208558202657922652981202119536796042607443821482285696575484130956159554652825034444044666960923741995152725359430217098608023036300039828303821501619610658129640158271236788909665993643587489592461881568449357006000665765422688091101159830430803063159463106166458113910208443766008276167145965996248761654233851450604159651724081854194101838024876291577623161469505778701493570858026254921757236738095814271177044757054832216753651761585460123045338575300400154985181805502487477807934609922403260026362771721990177108614321569624190496000430900781131975352239407082495159106545397036421068512468706681620635570318378046844809481461312925042668995963191636041538812785917543121310305788635983703645215711895427717063103387235287857190389218005316239865719042902222429002508204567555769113113291979154480411153079537308515974693266629224827971228090960597170826376528467942034315429153175082544104925827608263677722021756591876456300240347295242809421089631047534699231658970635441820391146990702021603630814306954657245140155109855044911418414232975855957576697019772066756919092440066746921655767827876808675049546906201666035450538408850759488548940509558342326874811011176338783798452345825452062638077902421556549214610876239252346479740471979308469890744994492645798017442852260377498342716613067883884372971178265302572995778253713288675516597962589564518218607945782403961434519394201 4598021284173562239259597169799532665332051614981165620264427055462849049441899815100421322725985467926643357771749523460576305006494303271623919212174684158471068155005955036958809505040514226167248568137686149145496627984003500729346044391657150125267349658202497597262005163947126901409464395563512966270782026332688746604899503091272481680038468879316058602226116461316641280864786134322722756546215722168777020817360804876371766236932052100855076243454789033082742289492649778735147451822857364584840578793416929777996014864119601747715305890946223975508331373450065464410211832132585952982471477217735681042519956388840772769238406106160348475127638967109247050744556165251682961760134174831572581612642900294608649619459717119642663051412118018486006584737314780951422284745687052467161733886121385686055723851388623433901807748383804493555223949445501136335783675708980357328738208935995348654544072933263345558341255756032397756079174039639402147198983158372350798499571998403553349800909057212195701524804056568044363799150984909738243749094009475541305401336634132675887123963631290762684321736734138050565385063276409875508683585778519939632862348078828110100545852810629608961924106435596400245234006449699381666806112303453337150899382272753155533566174781874686349178462739213771980150216423261405861578122291288484627745088813145472084696648178747676723584382525099752121527703721792024489531236817556093123318559745462822957817357695927871571559103154046634622837460998974865897991119572085276299012537229961618389340532655122611924754087152033297006021811426276648202326765397153191808405748095742874277655282248839108132488724793402516709954476885608184284663797123400008842540529322322716359558008287234524541941307941576752479607302963080229556620019322205059935355834977787430557436812691151498218474573976714397359707761805660023909792626858503587338388596117224131123703850322407488812086246630963768737198868072569109739281077319038388451151865460067102167261269728827478982617335680451124706229981132154601213934654083064802848801917150301250865476104475345723842804179846467484210469135779114168814116406476863287400800306620123 7439754718788262667092209055827261503826751184712358154975179098623004034322095542900467309906910962812866706651790640001894132812783860889266431646798737320997612278768795612997887680407022070462242492568442771240311878314386071255580513238595485478044253762197529464307118339645033375370388138995994187888464865834276110294446020376309334303003537841200137134597281460100553630846987503478632671931234894150024413497585973476301367077522917099314977881365867396981786813567641289414712914467376478592214297793757305443730375974896981354982081818565223043477799847179750674529303306504946060664443434309914975297658508327935359108134689380907059921730786855249736361181025479971655876768577099989682884539493056261755096555847605423914885657335744061847351307655523339154080207398668254586698529928728829507538009547964107564857967303036629527999268616406424878330936401068410574427346231972295388482847894434882956216470895914303634544988840033282989636791445039940800155505572664168976037892010217042626504587963519674210821913061193353504252025261155441537554162990867984126491283615355372616878423574759014342143008224745915654210177156636546194554619584816923924371722897567684441178677758197181860368279345024999781821791294108955824628707316882675558793592537553596676526287077060783396170646216854162186993553474530695567122904195358542508505765160647454358344219952843477798966337185183104949532200232780747729164857372531380366079127663484563855275204318865942062339900564386210153755181508790090592538878256272863840818343040859690167693867200444012451486432964505813956718301458663782416636376976186703471448481658777307050166804153946577599254059402713216447962385818879991885298840769669617959168979097918282059241172966912212194299998449953782251160250833629159717180495990087642475468855226924127354176051270996486464116626854245726770831448394686380396013438143023425797159154388731258248300635187140522111064073679083745448523079529664863840513789943362488658716475880605066731329097076152430433176120726126647247011952096935325180347144633763369134749849075653611026415799958100180772885985733741703733332335014422645691362234826014324 12037776002961824906351806225626794169158802799693523775239606154085853083763995358000888632632896430739510064423540163462470437819278164160890350858973421479468680433774750649956697185447536296629491060706128920385808506298389571984926557630252635603311603420400027061569123503592160276779852534559507154159246892166964856899345523467581815983042006720516195736823397921417194911711773637801355428477450616318801434314946778352673133314454969200170054124820656430064529103060291068149860366290233843177054876587174235221726390839016583102697387709511447018986131220629816138939515138637532013646914911527650656340178464716776131877373095487067408396858425822358983411925581645223338838528711274821255466152135956556363746175307322543557548708747862080333357892392838120105502492144355307053860263814850215193593733399352730998759775051420434021554492565851926014666720076777390931756084440908290737137391967368146301774812151670336032301068014072922391783990428198313150954005144662572529387692919274254822206112767576242255185712212178263242495774355164917078859564327502116802378407578986663379562745311493152392708393288022325529718860742415066134187481932895752034472268750378314050140601864632778260613513351474699163488597406412409161779606699155428714327158712335471362875465539799997168150796433277423592855131596821984051750649284171687980590461808826202035067804335368577551087864888904896974021731469598303822288175932276843189036945021180491726846763422019988696962738025385185019653172628362175868837890793502825459207683573514812779618621287596045748492454775932090604920628224060935608444782724282446345726136941026146158299292878739980115964013879598824632247049616003391894141381298991940675528537106205516583783114274853788946779605752916862480716870852951364777115851825065429906026292039615278852394525844973200861476334616051386794741241021544883983351826739140649928282858239053665737112721433771485879801272547156314558262360606983902228964941808822555760883737150333894210311714411832881557882350707258801848225886751018389983195946550913670385615325180128956750258604137946648257096454869520817902146451420899508978763035132634447 19477530721750087573444015281454055672985553984405881930214785252708857118086090900901355942539807393552376771075330803464364570632062025050156782505772158800466292712543546262954584865854558367091733553274571691626120384612775643240507070868848121081355857182597556525876241843237193652150240673555501342047711758001240967193791543843891150286045544561716332871420679381517748542558761141279988100408685510468825847812532751828974500391977886299485032006186523827046315916627932357564573280757610321769269174380931540665456766813913564457679469528076670062463931067809566813468818445142478074311358345837565631637836973044711490985507784867974468318589212677608719773106607125194994715297288374810938350691629012818118842731154927967472434366083606142180709200048361459259582699543023561640558793743579044701131742947316838563617742354457063549553761182258350892997656477845801506183430672880586125620239861803029257991283047584639666846056854106205381420781873238253951109510717326741505425584929491297448710700731095916466007625273371616746747799616320358616413727318370100928869691194342035996441168886252166734851401512768241183929037899051612328742101517712675958843991647945998491319279622829960120981792696499698945310388700521364986408314016038104273120751249889068039401752616860780564321442650131585779848685071352679618873553479530230489096226969473656393412024288212055350054202074088001923553931702379051551453033304808223555116072684665055582121967740885930759302638589771395173408354137152266461376769049775689300026026614374502947312488488040058199978887740437904561638929682724718025081159700469149817174618599803453208466097032686557715218073282312041080209435434883383779440222068661558634697516204123798643024287241766001141079604202870644731877121686580524494296347815153072381495147266539406206570577115969687325592961470297113565572689416231264379365264882164075725442012627784923985413356620912007990865346226240060006785440136648766069478731752185044419600213030938960941640811487985311991058471433385449095237838847953715163543091184677039520365174255782567776674404096046829029982440603262521635478786435322154670125269958648771 31515306724711912479795821507080849842144356784099405705454391406794710201850086258902244575172703824291886835498870966926835008451340189211047133364745580279934973146318296912911282051302094663721224613980700612011928890911165215225433628499100756684667460602997583587445365346829353928930093208115008496206958650168205824093137067311472966269087551282232528608244077302934943454270534779081343528886136126787627282127479530181647633706432855499655086131007180257110845019688223425714433647047844164946324050968105775887183157652930147560376857237588117081450062288439382952408333583780010087958273257365216287978015437761487622862880880355041876715447638499967703185032188770418333553825999649632193816843764969374482588906462250511029983074831468222514067092441199579365085191687378868694419057558429259894725476346669569562377517405877497571108253748110276907664376554623192437939515113788876862757631829171175559766095199254975699147124868179127773204772301436567102063515861989314034813277848765552270916813498672158721193337485549879989243573971485275695273291645872217731248098773328699376003914197745319127559794800790566713647898641466678462929583450608427993316260398324312541459881487462738381595306047974398108798986106933774148187920715193532987447909962224539402277218156660777732472239083409009372703816668174663670624202763701918469686688778299858428479828623580632901142066962992898897575663171977355373741209237085066744153017705845547308968731162905919456265376615156580193061526765514442330214659843278514759233710187889315726931109775636103948471342516369995166559557906785653633525942424751596162900755540829599366765389911426537831182087161910865712456485050886775673581603367653499310226053310329315226807401516619790087859209955787507212593992539531889271412199640218502287521439306154685058965102960942888187069296086348500360313930437776148362717091621304725653724870866838589722526078054683493870666618773396374565047800743632668298443673561007600180483950181272855151952525899818193548940822140644250943463725598972105146739037735590709905980499435911524526933008233993477287078895472783339537625237856221663648888305091283218 50992837446462000053239836788534905515129910768505287635669176659503567319936177159803600517712511217844263606574201770391199579083402214261203915870517739080401265858861843175865866917156653030812958167255272303638049275523940858465940699367948877766023317785595140113321607190066547581080333881670509838254670408169446791286928611155364116555133095843948861479664756684452691996829295920361331629294821637256453129940012282010622134098410741799140118137193704084157160936316155783279006927805454486715593225349037316552639924466843712018056326765664787143913993356248949765877152028922488162269631603202781919615852410806199113848388665223016345034036851177576422958138795895613328269123288024443132167535393982192601431637617178478502417440915074364694776292489561038624667891230402430334977851302008304595857219293986408125995259760334561120662014930368627800662033032468993944122945786669462988377871690974204817757378246839615365993181722285333154625554174674821053173026579316055540238862778256849719627514229768075187200962758921496735991373587805634311687018964242318660117789967670735372445083083997485862411196313558807897576936540518290791671684968321103952160252046270311032779161110292698502577098744474097054109374807455139134596234731231637260568661212113607441678970773521558296793681733540595152552501739527343289497756243232148958782915747773514821891852911792688251196269037080900821129594874356406925194242541893290299269090390510602891090698903791850215568015204927975366469880902666708791591428893054204059259736802263818674243598263676162148450230256807899728198487589510371658607102125220745980075374140633052575231486944113095546400160444222906792665920485770159453021825436315057944923569514453113869831688758385791228938814158658151944471114226112413765708547455371574669016586572694091265535680076912575512662257556645613925886619854007412742082356503468801379166883494623513707939434675595501861531964999636434571833240880281434367922405313192644600084163212211816093593337387803505539999293574029700038701564446925820310282128920267749426345673691694092303607412330040306317061336076045861173104024291543818319013575049931989 82508144171173912533035658295615755357274267552604693341123568066298277521786263418705845092885215042136150442073072737318034587534742403472251049235263319360336239005180140088777148968458747694534182781235972915649978166435106073691374327867049634450690778388592723700766972536895901510010427089785518334461629058337652615380065678466837082824220647126181390087908833987387635451099830699442675158180957764044080412067491812192269767804843597298795204268200884341268005956004379208993440574853298651661917276317143092439823082119773859578433184003252904225364055644688332718285485612702498250227904860567998207593867848567686736711269545578058221749484489677544126143170984666031661822949287674075325984379158951567084020544079428989532400515746542587208843384930760617989753082917781299029396908860437564490582695640655977688372777166212058691770268678478904708326409587092186382062460900458339851135503520145380377523473446094591065140306590464460927830326476111388155236542441305369575052140627022401990544327728440233908394300244471376725234947559290910006960310610114536391365888740999434748448997281742804989970991114349374611224835181984969254601268418929531945476512444594623574239042597755436884172404792448495162908360914388913282784155446425170248016571174338146843956188930182336029265920816949604525256318407702006960121959006934067428469604526073373250371681535373321152338336000073799718705258046333762298935451778978357043422108096356150200059430066697769671833391820084555559531407668181151121806088736332718818493446990153134401174708039312266096921572773177894894758045496296025292133044549972342142976129681462651941996876855539633377582247606133772505122405536656935126603428803968557255149622824782429096639090275005581316798024114445659157065106765644303037120747095590076956538025878848776324500783037855463699731553642994114286200550291783561104799448124773527032891754361462103430465512730278995732198583773032809136881041623914102666366078874200244780568113393484671245545863287621699088940115714673950982165290045897925457021166655858459332326173127605616830540420564033783604140231548829200710729262147765481967901880141215207 133500981617635912586275495084150660872404178321109980976792744725801844841722440578509445610597726259980414048647274507709234166618144617733454965105781058440737504864041983264643015885615400725347140948491245219288027441959046932157315027234998512216714096174187863814088579726962449091090760971456028172716299466507099406666994289622201199379353742970130251567573590671840327447929126619804006787475779401300533542007504094202891901903254339097935322405394588425425166892320534992272447502658753138377510501666180408992463006586617571596489510768917691369278049000937282484162637641624986412497536463770780127209720259373885850559658210801074566783521340855120549101309780561644990092072575698518458151914552933759685452181696607468034817956661616951903619677420321656614420974148183729364374760162445869086439914934642385814368036926546619812432283608847532508988442619561180326185406687127802839513375211119585195280851692934206431133488312749794082455880650786209208409569020621425115291003405279251710171841958208309095595263003392873461226321147096544318647329574356855051483678708670170120894080365740290852382187427908182508801771722503260046272953387250635897636764490864934607018203708048135386749503536922592217017735721844052417380390177656807508585232386451754285635159703703894326059602550490199677808820147229350249619715250166216387252520273846888072263534447166009403534605037154700539834852920690169224129694320871647342691198486866753091150128970489619887401407025012530926001288570847859913397517629386922877753183792416953075418306302988428245371803029985794622956533085806396950740146675193088123051503822095704517228363799652728923982408050356679297788326022427094579625254240283615200073192339235542966470779033391372545736838273103811101536220991756716802829294550961651625554612451542867590036463114768039212393811199639728212087170145790973846881804628242328412058637856085617138404947405874497593730548772669243708714282504195537034288484187392889380652276605696487339139200675425204628939409288703651020866854492823745767303295576126208758671846819299709134147832894074089921201567624875061883833286439309300286915455191147196 216009125788809825119311153379766416229678445873714674317916312792100122363508703997215290703482941302116564490720347245027268754152887021205706014341044377801073743869222123353420164854074148419881323729727218134938005608394153005848689355102048146667404874562780587514855552263858350601101188061241546507177928524844752022047059968089038282203574390096311641655482424659227962899028957319246681945656737165344613954074995906395161669708097936396730526673595472766693172848324914201265888077512051790039427777983323501432286088706391431174922694772170595594642104645625615202448123254327484662725441324338778334803588107941572587270927756379132788533005830532664675244480765227676651915021863372593784136293711885326769472725776036457567218472408159539112463062351082274604174057065965028393771669022883433577022610575298363502740814092758678504202552287326437217314852206653366708247867587586142690648878731264965572804325139028797496273794903214255010286207126897597363646111461926794690343144032301653700716169686648543003989563247864250186461268706387454325607640184471391442849567449669604869343077647483095842353178542257557120026606904488229300874221806180167843113276935459558181257246305803572270921908329371087379926096636232965700164545624081977756601803560789901129591348633886230355325523367439804203065138554931357209741674257100283815722124799920261322635215982539330555872941037228500258540110967023931523065146099850004386113306583222903291209559037187389559234798845097086485532696239029011035203606365719641696246630782570087476593014342300694342293375803163689517714578582102422242873191225165430266027633503558356459225240655192362301564655656490451802910731559084029706228683044252172455222815164017972063109869308396953862534862387549470258601327757401019839950041646551728582092638330391643914537246152623502912125364842633842498287720437574534951681252753015855444950392217547720568870460136153493325929132545702052845595324128109639700654563061593134161220389999181158584685063963046903717879525003377602003032144538721671224324462231984668090998019946905325964688253458107873525341799173704262594562548587074782254817335332362403 349510107406445737705586648463917077102082624194824655294709057517901967205231144575724736314080667562096978539367621752736502920771031638939160979446825436241811248733264106618063180739689549145228464678218463354226033050353199938006004382337046658884118970736968451328944131990820799692191949032697574679894227991351851428714054257711239481582928133066441893223056015331068290346958083939050688733132516566645147496082500000598053571611352275494665849078990061192118339740645449193538335580170804928416938279649503910424749095293009002771412205541088286963920153646562897686610760895952471075222977788109558462013308367315458437830585967180207355316527171387785224345790545789321642007094439071112242288208264819086454924907472643925602036429069776491016082739771403931218595031214148757758146429185329302663462525509940749317108851019305298316634835896173969726303294826214547034433274274713945530162253942384550768085176831963003927407283215964049092742087777683806572055680482548219805634147437580905410888011644856852099584826251257123647687589853483998644254969758828246494333246158339774990237158013223386694735365970165739628828378626991489347147175193430803740750041426324492788275450013851707657671411866293679596943832358077018117544935801738785265187035947241655415226508337590124681385125917930003880873958702160707459361389507266500202974645073767149394898750429705339959407546074383200798374963887714100747194840420721651728804505070089656382359688007677009446636205870109617411533984809876870948601123995106564573999814574987040552011320645289122587665178833149484140671111667908819193613337900358518389079137325654060976453604454845091225547063706847131100699057581511124285853937284535787655296007503253515029580648341788326408271700660653281360137548749157736642779336197513380207647250781934511504573709267391542124519176042273570710374890583365508798563057381258183857009030073633337707275407542027990919659681318371296554309606632305176734943047248986023541872666604877645923824264638472108346818934292081253023898999031545416991627757808110876849669866766205035098836086352181963446543366798579324478395835026384082541732790523509599 565519233195255562824897801843683493331761070068539329612625370310002089568739848572940027017563608864213543030087968997763771674923918660144866993787869814042884992602486229971483345593763697565109788407945681489164038658747352943854693737439094805551523845299749038843799684254679150293293137093939121187072156516196603450761114225800277763786502523162753534878538439990296253245987041258297370678789253731989761450157495906993215241319450211891396375752585533958811512588970363394804223657682856718456366057632827411857035183999400433946334900313258882558562258292188512889058884150279955737948419112448336796816896475257031025101513723559340143849533001920449899590271311016998293922116302443706026424501976704413224397633248680383169254901477936030128545802122486205822769088280113786151918098208212736240485136085239112819849665112063976820837388183500406943618147032867913742681141862300088220811132673649516340889501970991801423681078119178304103028294904581403935701791944475014495977291469882559111604181331505395103574389499121373834148858559871452969862609943299637937182813608009379859580235660706482537088544512423296748854985531479718648021396999610971583863318361784050969532696319655279928593320195664766976869928994309983817709481425820763021788839508031556544817856971476355036710649285369808083939097257092064669103063764366784018696769873687410717533966412244670515280487111611701056915074854738032270259986520571656114917811653312559673569247044864399005871004715206703897066681048905881983804730360826206270246445357557128028604334987589816929958554636313173658385690250011241436486529125523948655106770829212417435678845110037453527111719363337582903609789140595153992082620328787960110518822667271487092690517650185280270806563048202751618738876506558756482729377844065108789739889112326155419110955420015045036644540884907413208662611020940043750244310134274039301959422291181058276145867678181484245588813864073349399904930760414816435597610310579157703093056604058804508509328601519012064698459295458855026931143570267088215952220040095544940667886713110361063524339810289836971885165972283587072958383613458864796550125855872002 915029340601701300530484450307600570433843694263363984907334427827904056773970993148664763331644276426310521569455590750500274595694950299084027973234695250284696241335750336589546526333453246710338253086164144843390071709100552881860698119776141464435642816036717490172743816245499949985485086126636695866966384507548454879475168483511517245369430656229195428101594455321364543592945125197348059411921770298634908946239995907591268812930802487386062224831575595150929852329615812588342559237853661646873304337282331322281784279292409436717747105854347169522482411938751410575669645046232426813171396900557895258830204842572489462932099690739547499166060173308235123936061856806319935929210741514818268712710241523499679322540721324308771291330547712521144628541893890137041364119494262543910064527393542038903947661595179862136958516131369275137472224079674376669921441859082460777114416137014033750973386616034067108974678802954805351088361335142353195770382682265210507757472427023234301611438907463464522492192976362247203159215750378497481836448413355451614117579702127884431516059766349154849817393673929869231823910482589036377683364158471207995168572193041775324613359788108543757808146333506987586264732061958446573813761352387001935254417227559548286975875455273211960044365309066479718095775203299811964813055959252772128464453271633284221671414947454560112432716841950010474688033185994901855290038742452133017454826941293307843722316723402216055928935052541408452507210585316321308600665858782752932405854355932770844246259932544168580615655632878939517623733469462657799056801917920060630099867025882467044185908154866478412132449564882544752658783070184714004308846722106278277936557613323747765814830170525002122271165991973606679078263708856032978876425255716493125508714041578488997387139894260666923684664687406587161163716927180983919037501604305552548807367515532223158968452364814395983421275220209475165248495182444645954214537392719993170540657559565181244965723208936450432333593239991120411517393587540108050830142601812505207579977848206421790337753479315396162360426162471800418428532770862911551354218639842947338282916379381601 1480548573796956863355382252151284063765604764331903314519959798137906146342710841721604790349207885290524064599543559748264046270618868959228894967022565064327581233938236566561029871927216944275448041494109826332554110367847905825715391857215236269987166661336466529016543500500179100278778223220575817054038541023745058330236282709311795009155933179391948962980132895311660796838932166455645430090711024030624670396397491814584484054250252699277458600584161129109741364918586175983146782895536518365329670394915158734138819463291809870664082006167606052081044670230939923464728529196512382551119816013006232055647101317829520488033613414298887643015593175228685023526333167823318229851327043958524295137212218227912903720173970004691940546232025648551273174344016376342864133207774376330061982625601754775144432797680418974956808181243433251958309612263174783613539588891950374519795557999314121971784519289683583449864180773946606774769439454320657298798677586846614443459264371498248797588730377346023634096374307867642306733605249499871315985306973226904583980189645427522368698873374358534709397629334636351768912454995012333126538349689950926643189969192652746908476678149892594727340842653162267514858052257623213550683690346696985752963898653380311308764714963304768504862222280542834754806424488669620048752153216344836797567517036000068240368184821141970829966683254194680989968520297606602912205113597190165287714813461864963958640128376714775729498182097405807458378215300523025205667346907688634916210584716758977114492705290101296609219990620468756447582288105775831457442492167931302066586396151406415699292678984078895847811294674919998279770502433522296907918635862701432270019177942111707876333652837796489214961683642158886949884826757058784597615301762275249608238091885643597787127029006586822342795620107421632197808257812088397127700112625245596299051677649806262460927874655995454259567142898390959410837309046517995354119468153134809606138267870144338948058779812995254940842921841510132476215852882998963077761286172079593423532197888301966731005640192425757225884765972761637390313698743146498624312602253301812134833042235253603 2395577914398658163885866702458884634199448458595267299427294225965810203116681834870269553680852161716834586168999150498764320866313819258312922940257260314612277475273986903150576398260670190985786294580273971175944182076948458707576089976991377734422809477373184019189287316745679050264263309347212512921004925531293513209711451192823312254525363835621144391081727350633025340431877291652993489502632794329259579342637487722175752867181055186663520825415736724260671217248201988571489342133390180012202974732197490056420603742584219307381829112021953221603527082169691334040398174242744809364291212913564127314477306160402009950965713105038435142181653348536920147462395024629638165780537785473342563849922459751412583042714691329000711837562573361072417802885910266479905497327268638873972047152995296814048380459275598837093766697374802527095781836342849160283461030751032835296909974136328155722757905905717650558838859576901412125857800789463010494569060269111824951216736798521483099200169284809488156588567284229889509892820999878368797821755386582356198097769347555406800214933140707689559215023008566221000736365477601369504221713848422134638358541385694522233090037938001138485148988986669255101122784319581660124497451699083987688218315880939859595740590418577980464906587589609314472902199691969432013565209175597608926031970307633352462039599768596530942399400096144691464656553483601504767495152339642298305169640403158271802362445100116991785427117149947215910885425885839346514268012766471387848616439072691747958738965222645465189835646253347695965206021575238489256499294085851362696686263177288882743478587138945374259943744239802543032429285503707010912227482584807710547955735555435455642148483008321491337232849634132493628963090465914817576491727017991742733746805927222086784514168900847489266480284794828219358971974739269381046737614229551148847859045165338485619896327020809850242988418118600434576085804228962641308334005545854802776678925429709520193024503021931705373176515081501252887733246470539071128591428773892098631112175736508388521343393671741153388245192135233437808742231514009410175666820893144759473115958614635204 3876126488195615027241248954610168697965053222927170613947254024103716349459392676591874344030060047007358650768542710247028367136932688217541817907279825378939858709212223469711606270187887135261234336074383797508498292444796364533291481834206614004409976138709650548205830817245858150543041532567788329975043466555038571539947733902135107263681297015013093354061860245944686137270809458108638919593343818359884249739034979536760236921431307885940979425999897853370412582166788164554636125028926698377532645127112648790559423205876029178045911118189559273684571752400631257505126703439257191915411028926570359370124407478231530438999326519337322785197246523765605170988728192452956395631864829431866858987134677979325486762888661333692652383794599009623690977229926642822769630535043015204034029778597051589192813256956017812050574878618235779054091448606023943897000619642983209816705532135642277694542425195401234008703040350848018900627240243783667793367737855958439394676001170019731896788899662155511790684941592097531816626426249378240113807062359809260782077958992982929168913806515066224268612652343202572769648820472613702630760063538373061281548510578347269141566716087893733212489831639831522615980836577204873675181142045780973441182214534320170904505305381882748969768809870152149227708624180639052062317362391942445723599487343633420702407784589738501772366083350339372454625073781208107679700265936832463592884453865023235761002573476831767514925299247353023369263641186362371719935359674160022764827023789450725073231670512746761799055636873816452412788309681014320713941786253782664763272659328695298442771266123024270107755038914722541312199787937229307820146118447509142817974913497547163518482135846117980552194533276291380578847917222973602174107028780266992341984897812865684571641197907434311609275904902249851556780232551357778174437726854796745146910722815144748080824201676805304502555561016991393986923113275480636662453473698989612382817193299853859141083282834926960314019436923011385363949099353538034206352714945971692054644373624810355252349033864166910614129958107995075199055930257155908799979423146446571607949000849888807 6271704402594273191127115657069053332164501681522437913374548250069526552576074511462143897710912208724193236937541860745792688003246507475854740847537085693552136184486210372862182668448557326247020630654657768684442474521744823240867571811197991738832785616082834567395118133991537200807304841915000842896048392086332084749659185094958419518206660850634237745143587596577711477702686749761632409095976612689143829081672467258935989788612363072604500251415634577631083799414990153126125467162316878389735619859310138846980026948460248485427740230211512495288098834570322591545524877682002001279702241840134486684601713638633540389965039624375757927378899872302525318451123217082594561412402614905209422837057137730738069805603352662693364221357172370696108780115836909302675127862311654078006076931592348403241193716231616649144341575993038306149873284948873104180461650394016045113615506271970433417300331101118884567541899927749431026485041033246678287936798125070264345892737968541214995989068946964999947273508876327421326519247249256608911628817746391616980175728340538335969128739655773913827827675351768793770385185950215072134981777386795195919907051964041791374656754025894871697638820626500777717103620896786533799678593744864961129400530415260030500245895800460729434675397459761463700610823872608484075882571567540054649631457651266773164447384358335032714765483446484063919281627264809612447195418276474761898054094268181507563365018576948759300352416397300239280149067072201718234203372440631410613443462862142473031970635735392226988891283127164148377994331256252809970441080339634027459958922505984181186249853261969644367698783154525084344629073440936318732373601032316853365930649052982619160630618854439471889427382910423874207811007688888419750598755798258735075731703740087771356155366808281800875756189697078070915752207290627159221175341084347893994769767980483233700720528697615154745543979135591828563008917504443277970787479244844415159496118729563379334107785856858665687195952004512638251682345824077105334944143719863790685756549361318743773692427535908064002375150243228513007798161771165318975646244039591331081064959464524011 10147830890789888218368364611679222030129554904449608527321802274173242902035467188054018241740972255731551887706084570992821055140179195693396558754816911072491994893698433842573788938636444461508254966729041566192940766966541187774159053645404605743242761754792485115600948951237395351350346374482789172871091858641370656289606918997093526781887957865647331099205447842522397614973496207870271328689320431049028078820707446795696226710043670958545479677415532431001496381581778317680761592191243576767268264986422787637539450154336277663473651348401071768972670586970953849050651581121259193195113270766704846054726121116865070828964366143713080712576146396068130489439851409535550957044267444337076281824191815710063556568492013996386016605151771380319799757345763552125444758397354669282040106710189399992434006973187634461194916454611274085203964733554897048077462270036999254930321038407612711111842756296520118576244940278597449927112281277030346081304535981028703740568739138560946892777968609120511737958450468424953143145673498634849025435880106200877762253687333521265138042546170840138096440327694971366540034006422828774765741840925168257201455562542389060516223470113788604910128652266332300333084457473991407474859735790645934570582744949580201404751201182343478404444207329913612928319448053247536138199933959482500373230944994900193866855168948073534487131566796823436373906701046017720126895684213307225490938548133204743324367592053780526815277715644653262649412708258564089954138732114791433378270486651593198105202306248138988787946920000980600790782640937267130684382866593416692223231581834679479629021119384993914475453822069247625656828861378165626552519719479825996183905562550529782679112754700557452441621916186715254786658924911862021924705784578525727417716601552953455927796564715716112485032094599327922472532439841984937395613067939144639141680490795627981781544730374420459248099540152583222549932030779923914633240952943834027542313312029417238475191068691785626001215388927524023615631445177615139541296858665835482740400922986129099026041461400074974616505108351223588206854092028321227775625667186037902689013960314412818 16419535293384161409495480268748275362294056585972046440696350524242769454611541699516162139451884464455745124643626431738613743143425703169251299602353996766044131078184644215435971607085001787755275597383699334877383241488286011015026625456602597482075547370875319682996067085228932552157651216397790015767140250727702741039266104092051946300094618716281568844349035439100109092676182957631903737785297043738171907902379914054632216498656034031149979928831167008632580180996768470806887059353560455157003884845732926484519477102796526148901391578612584264260769421541276440596176458803261194474815512606839332739327834755498611218929405768088838639955046268370655807890974626618145518456670059242285704661248953440801626374095366659079380826508943751015908537461600461428119886259666323360046183641781748395675200689419251110339258030604312391353838018503770152257923920431015300043936544679583144529143087397639003143786840206346880953597322310277024369241334106098968086461477107102161888767037556085511685231959344752374469664920747891457937064697852592494742429415674059601107171285826614051924268003046740160310419192373043846900723618311963453121362614506430851890880224139683476607767472892833078050188078370777941274538329535510895699983275364840231904997096982804207839119604789675076628930271925856020214082505527022555022862402646166967031302553306408567201897050243307500293188328310827332574091102489781987388992642401386250887732610630729286115630132041953501929561775330765808188342104555422843991713949513735671137172941983531215776838203128144749168776972193519940654823946933050719683190504340663660815270972646963558843152605223772710001457934819101945284893320512142849549836211603512401839743373554996924331049299097139128994469932600750441675304540376784462493448305293041227283951931523997913360788284296405993388284647132612096616788409023492533136450258776111215482265259072035613993643519288175051112940948284367192604028432188678442701809430758980617809298854548644291688411340932036661867313791001692244876241002385699273426157472347447842799733888935983038618880258594452101214652253799486546751271911225629233770078919778936829 26567366184174049627863844880427497392423611490421654968018152798416012356647008887570180381192856720187297012349711002731434798283604898862647858357170907838536125971883078058009760545721446249263530564112740901070324008454827198789185679102007203225318309125667804798597016036466327903507997590880579188638232109369073397328873023089145473081982576581928899943554483281622506707649679165502175066474617474787199986723087360850328443208699704989695459606246699439634076562578546788487648651544804031924272149832155714122058927257132803812375042927013656033233440008512230289646828039924520387669928783373544178794053955872363682047893771911801919352531192664438786297330826036153696475500937503579361986485440769150865182942587380655465397431660715131335708294807364013553564644657020992642086290351971148388109207662606885571534174485215586476557802752058667200335386190468014554974257583087195855640985843694159121720031780484944330880709603587307370450545870087127671827030216245663108781545006165206023423190409813177327612810594246526306962500577958793372504683103007580866245213831997454190020708330741711526850453198795872621666465459237131710322818177048819912407103694253472081517896125159165378383272535844769348749398065326156830270566020314420433309748298165147686243563812119588689557249719979103556352282439486505055396093347641067160898157722254482101689028617040130936667095029356845052700986786703089212879931190534590994212100202684509812930907847686606764578974483589329898142480836670214277369984436165328869242375248231670204564785123129125349959559613130787071339206813526467411906422086175343140444292092031957473318606427293020335658286796197267571837413039991968845733741774154042184518856128255554376772671215283854383781128857512612463600010324955310189911164906845994683211748496239714025845820378895733915860817086974597034012401476962637172278130749571739197263809989446456073241743059440758273662872979064291107237269385132512470244122742788397856284489923240429917689626729859560685482945236179307384417537861051534756166558395333576941825775350336058013235385366945675689421506345827807774526897578411667136459092880093349647 42986901477558211037359325149175772754717668076393701408714503322658781811258550587086342520644741184643042136993337434470048541427030602031899157959524904604580257050067722273445732152806448037018806161496440235947707249943113209804212304558609800707393856496543124481593083121695260455665648807278369204405372360096776138368139127181197419382077195298210468787903518720722615800325862123134078804259914518525371894625467274904960659707355739020845439535077866448266656743575315259294535710898364487081276034677888640606578404359929329961276434505626240297494209430053506730243004498727781582144744295980383511533381790627862293266823177679890757992486238932809442105221800662771841993957607562821647691146689722591666809316682747314544778258169658882351616832268964474981684530916687316002132473993752896783784408352026136681873432515819898867911640770562437352593310110899029855018194127766779000170128931091798124863818620691291211834306925897584394819787204193226639913491693352765270670312043721291535108422369157929702082475514994417764899565275811385867247112518681640467352385117824068241944976333788451687160872391168916468567189077549095163444180791555250764297983918393155558125663598051998456433460614215547290023936394861667725970549295679260665214745395147951894082683416909263766186179991904959576566364945013527610418955750287234127929460275560890668890925667283438436960283357667672385275077889192871200268923832935977245099832813315239099046537979728560266508536258920095706330822941225637121361698385679064540379548190215201420341623326257270099128336585324307011994030760459518131589612590516006801259563064678921032161759032516793045659744731016369517122306360504111695283577985757554586358599501810551301103720514380993512775598790113362905275314865332094652404613212139035910495700427763711939206608663192139909249101734107209130629189885986129705414581008347850412746075248518491687235386578728933324775813927348658299841297817321190912945932173547378474093788777789074209378038070791597347350259027180999629293778863437234029592715867681024784625509239272041051854265625540127790636158599627294321278169489637296370229171799872286476 69554267661732260665223170029603270147141279566815356376732656121074794167905559474656522901837597904830339149343048437201483339710635500894547016316695812443116383021950800331455492698527894286282336725609181137018031258397940408593397983660617003932712165622210929280190099158161588359173646398158948393043604469465849535697012150270342892464059771880139368731458002002345122507975541288636253870734531993312571881348554635755289102916055444010540899141324565887900733306153862047782184362443168519005548184510044354728637331617062133773651477432639896330727649438565737019889832538652301969814673079353927690327435746500225975314716949591692677345017431597248228402552626698925538469458545066401009677632130491742531992259270127970010175689830374013687325127076328488535249175573708308644218764345724045171893616014633022253407607001035485344469443522621104552928696301367044409992451710853974855811114774785957246583850401176235542715016529484891765270333074280354311740521909598428379451857049886497558531612778971107029695286109240944071862065853770179239751795621689221333597598949821522431965684664530163214011325589964789090233654536786226873766998968604070676705087612646627639643559723211163834816733150060316638773334460187824556241115315993681098524493693313099580326247229028852455743429711884063132918647384500032665815049097928301288827617997815372770579954284323569373627378387024517437976064675895960413148855023470568239311933015999748911977445827415167031087510742509425604473303777895851398731682821844393409621923438446871624906408449386395449087896198455094083333237573985985543496034676691349941703855156710878505480365459809813381318031527213637088959719400496080541017319759911596770877455630066105677876391729664847896556727647625975368875325190287404842315778118985030593707448924003425965052429042087873825109918821081806164641591362948766877692711757919589610009885237964947760477129638169691598438686906412949407078567202453703383190054916335776330378278701029504127067664800651158032833204263360307013711316724488768785759274263014601726451284589608099065089650992485803480057664945455102095805067068048963506688264679965636123 112541169139290471702582495178779042901858947643209057785447159443733575979164110061742865422482339089473381286336385871671531881137666102926446174276220717047696640072018522604901224851334342323301142887105621372965738508341053618397610288219226804640106022118754053761783182279856848814839295205437317597448976829562625674065151277451540311846136967178349837519361520723067738308301403411770332674994446511837943775974021910660249762623411183031386338676402432336167390049729177307076720073341533006086824219187932995335215735976991463734927911938266136628221858868619243750132837037380083551959417375334311201860817537128088268581540127271583435337503670530057670507774427361697380463416152629222657368778820214334198801575952875284554953948000032896038941959345292963516933706490395624646351238339476941955678024366659158935281039516855384212381084293183541905522006412266074265010645838620753855981243705877755371447669021867526754549323455382476160090120278473580951654013602951193650122169093607789093640035148129036731777761624235361836761631129581565106998908140370861800949984067645590673910660998318614901172197981133705558800843614335322037211179760159321441003071531039783197769223321263162291250193764275863928797270855049492282211664611672941763739239088461051474408930645938116221929609703789022709485012329513560276234004848215535416757078273376263439470879951607007810587661744692189823251142565088831613417778856406545484411765829314988011023983807143727297596047001429521310804126719121488520093381207523457950001471628662073045248031775643665548216232783779401095327268334445503675085647267207356742963418221389799537642124492326606426977776258230006606082025761000192236300897745669151357236055131876656978980112244045841409332326437739338274150640055619499494720391331124066504203149351767137904259037705280013734359020555189015295270781248934896583107292766267440022755960486483439447712516216898624923214500833761607706919865019774894296135987089883154804472067478818578336445702871442755380183463290541306643005095587926002815351990130695626511076793828880140116943916618025931270693823545082396417083236557686259876917436479837922599 182095436801022732367805665208382313049000227210024414162179815564808370147069669536399388324319936994303720435679434308873015220848301603820993190592916529490813023093969322936356717549862236609583479612714802509983769766738994026991008271879843808572818187740964983041973281438018437174012941603596265990492581299028475209762163427721883204310196739058489206250819522725412860816276944700406586545728978505150515657322576546415538865539466627041927237817726998224068123355883039354858904435784701525092372403697977350063853067594053597508579389370906032958949508307184980770022669576032385521774090454688238892188253283628314243896257076863276112682521102127305898910327054060622918932874697695623667046410950706076730793835223003254565129637830406909726267086421621452052182882064103933290570002685200987127571640381292181188688646517890869556850527815804646458450702713633118675003097549474728711792358480663712618031519423043762297264339984867367925360453352753935263394535512549622029574026143494286652171647927100143761473047733476305908623696983351744346750703762060083134547583017467113105876345662848778115183523571098494649034498151121548910978178728763392117708159143686410837412783044474326126066926914336180567570605315237316838452779927666622862263732781774151054735177874966968677673039415673085842403659714013592942049053946143836705584696271191636210050834235930577184215040131716707261227207240984792026566633879877113723723698845314736923001429634558894328683557743938946915277430497017339918825064029367851359623395067108944670154440225030060997304128982234495178660505908431489218581681943898706684667273378100678043122489952136419808295807785443643695041745161496272777318217505580748128113510761942762656856503973710689305889054085365313643025965245906904337036169450109097097910598275770563869311466747367887559468939376270821459912372611883663460800004524187029632765845724448387208189645855068316521653187740174557113998432222228597679326042006218931134850346179848082463513367672093913413016667553901613656716412312414771601111264393710228237528078418488239182033567610511734750751488490537498512888303625735223383605701159803558722 294636605940313204070388160387161355950859174853233471947626975008541946126233779598142253746802276083777101722015820180544547101985967706747439364869137246538509663165987845541257942401196578932884622499820423882949508275080047645388618560099070613212924209859719036803756463717875285988852236809033583587941558128591100883827314705173423516156333706236839043770181043448480599124578348112176919220723425016988459433296598457075788628162877810073313576494129430560235513405612216661935624509126234531179196622885910345399068803571045061243507301309172169587171367175804224520155506613412469073733507830022550094049070820756402512477797204134859548020024772657363569418101481422320299396290850324846324415189770920410929595411175878539120083585830439805765209045766914415569116588554499557936921241024677929083249664747951340123969686034746253769231612108988188363972709125899192940013743388095482567773602186541467989479188444911289051813663440249844085450573631227516215048549115500815679696195237102075745811683075229180493250809357711667745385328112933309453749611902430944935497567085112703779787006661167393016355721552232200207835341765456870948189358488922713558711230674726194035182006365737488417317120678612044496367876170286809120664444539339564626002971870235202529144108520905084899602649119462108551888672043527153218283058794359372122341774544567899649521714187537584994802701876408897084478349806073623639984412736283659208135464674629724934025413441702621626279604745368468226081557216138828438918445236891309309624866695771017715402472000673726545520361766013896273987774242876992893667329211106063427630691599490477580764614444463026235273584043673650301123770922496465013619115251249899485349565893819419635836616217756530715221380523104651917176605301526403831756560781233163602113747627537701773570504452647901293827959931459836755183153860818560043907297290454469655521806210931826655902162071966941444867688573936164820918297242003491975462029096102085939322413658666660799959070543536668793200130844442920299721507900340774416463254524405854748604872247368379298977484228537666021445312035619894929971540183421483260523137639641481321 476732042741335936438193825595543668999859402063257886109806790573350316273303449134541642071122213078080822157695254489417562322834269310568432555462053776029322686259957168477614659951058815542468102112535226392933278041819041672379626831978914421785742397600684019845729745155893723162865178412629849578434139427619576093589478132895306720466530445295328250021000566173893459940855292812583505766452403522138975090619175003491327493702344437115240814311856428784303636761495256016794528944910936056271569026583887695462921871165098658752086690680078202546120875482989205290178176189444854595507598284710788986237324104384716756374054280998135660702545874784669468328428535482943218329165548020469991461600721626487660389246398881793685213223660846715491476132188535867621299470618603491227491243709878916210821305129243521312658332552637123326082139924792834822423411839532311615016840937570211279565960667205180607510707867955051349078003425117212010811026983981451478443084628050437709270221380596362397983331002329324254723857091187973654009025096285053800500315664491028070045150102579816885663352324016171131539245123330694856869839916578419859167537217686105676419389818412604872594789410211814543384047592948225063938481485524125959117224467006187488266704652009353583879286395872053577275688535135194394292331757540746160332112740503208827926470815759535859572548423468162179017742008125604345705557047058415666551046616160772931859163519944461857026843076261515954963162489307415141358987713156168357743509266259160669248261762879962385556912225703787542824490748248391452648280151308482112249011155004770112297964977591155623887104396599446043569391829117293996165516083992737790937332756830647613463076655762182292693120191467220021110434608469965560202570547433308168792730231342260700024345903308265642881971200015788853296899307730658215095526472702223504707301814641499288287651935380213864091807927035257966520876314110721934916729464232089654788071102321017074172759838514743263472438215630582206216798398344533956437920212755546017574518918116082986132950665856618481011051839049400772196800526157393442859843809156706644128838799445040043 771368648681649140508581985982705024950718576916491358057433765581892262399537228732683895817924489161857923879711074669962109424820237017315871920331191022567832349425945014018872602352255394475352724612355650275882786316899089317768245392077985034998666607460403056649486208873769009151717415221663433166375697556210676977416792838068730236622864151532167293791181609622374059065433640924760424987175828539127434523915773460567116121865222247188554390805985859344539150167107472678730153454037170587450765649469798040861990674736143719995593991989250372133292242658793429810333682802857323669241106114733339080286394925141119268851851485132995208722570647442033037746530016905263517725456398345316315876790492546898589984657574760332805296809491286521256685177955450283190416059173103049164412484734556845294070969877194861436628018587383377095313752033781023186396120965431504555030584325665693847339562853746648596989896312866340400891666865367056096261600615208967693491633743551253388966416617698438143795014077558504747974666448899641399394353209218363254249927566921973005542717187692520665450358985183564147894966675562895064705181682035290807356895706608819235130620493138798907776795775949302960701168271560269560306357655810935079781669006345752114269676522244556113023394916777138476878337654597302946181003801067899378615171534862580950268245360327435509094262611005747173820443884534501430183906853132039306535459352444432139994628194574186791052256517964137581242767234675883367440544929294996796661954503150469978873128458650980100959384226377514088344852514262287726636054394185475005916340366110833539928656577081633204651718841062472278842975872790944297289287006489202804556448008080547098812642549581601928529736409223750736331815131574617477379175848959712000549291012575424302138093530845967416452475652663690147124859239190494970278680333520783548614599105095968943809458146312040519993969999002199411388564888046886755835026706235581630250100198423103013495173497181404063431508759167250999416929242787454256159428113096320434037773442521937734737822913224997779988536067587066793642112561777288372831383992578189904651976439086521364 1248100691422985076946775811578248693950577978979749244167240556155242578672840677867225537889046702239938746037406329159379671747654506327884304475793244798597155035685902182496487262303314210017820826724890876668816064358718130990147872224056899456784409005061087076495215954029662732314582593634293282744809836983830253071006270970964036957089394596827495543812182175796267519006288933737343930753628232061266409614534948464058443615567566684303795205117842288128842786928602728695524682398948106643722334676053685736324912545901242378747680682669328574679413118141782635100511858992302178264748704399444128066523719029525836025225905766131130869425116522226702506074958552388206736054621946365786307338391214173386250373903973642126490510033152133236748161310143986150811715529791706540391903728444435761504892275006438382749286351140020500421395891958573858008819532804963816170047425263235905126905523520951829204500604180821391749969670290484268107072627599190419171934718371601691098236637998294800541778345079887829002698523540087615053403378305503417054750243231413001075587867290272337551113711309199735279434211798893589921575021598613710666524432924294924911550010311551403780371585186161117504085215864508494624244839141335061038898893473351939602536381174253909696902681312649192054154026189732497340473335558608645538947284275365789778194716176086971368666811034473909352838185892660105775889463900190454973086505968605205071853791714518648648079099594225653536205929723983298508799532642451165154405463769409630648121390221530942486516296452081301631169343262510679179284334545493957118165351521115603652226621554672788828538823237661918322412367701908238293454803090481940595493780764911194712275719205343784221222856600690970757442249740044583037581746396393020169342021243917685002162439434154233059334446852679479000421758546921153185374206806223007053321900919737468232097110081692254384085777926037457377909441202157608690751756170467671285038171300744120087667933335696147326903946974797833205633727641131988212597348325851866451612292360638020720870773579081616260999587906636467565838913087934681815691227801734896548780815238531561407 2019469340104634217455357797560953718901296555896240602224674321737134841072377906599909433706971191401796669917117403829341781172474743345200176396124435821164987385111847196515359864655569604493173551337246526944698850675617220307916117616134884491783075612521490133144702162903431741466300008855956715911185534540040930048423063809032767193712258748359662837603363785418641578071722574662104355740804060600393844138450721924625559737432788931492349595923828147473381937095710201374254835852985277231173100325523483777186903220637386098743274674658578946812705360800576064910845541795159501933989810514177467146810113954666955294077757251264126078147687169668735543821488569293470253780078344711102623215181706720284840358561548402459295806842643419758004846488099436434002131588964809589556316213178992606798963244883633244185914369727403877516709643992354881195215653770395320725078009588901598974245086374698477801490500493687732150861337155851324203334228214399386865426352115152944487203054615993238685573359157446333750673189988987256452797731514721780309000170798334974081130584477964858216564070294383299427329178474456484986280203280649001473881328630903744146680630804690202688148380962110420464786384136068764184551196797145996118680562479697691716806057696498465809926076229426330531032363844329800286654339359676544917562455810228370728462961536414406877761073645479656526658629777194607206073370753322494279621965321049637211848419909092835439131356112189791117448696958659181876240077571746161951067418272560100626994518680181922587475680678458815719514195776772966905920388939679432124081691887226437192155278131754422033190542078724390601255343574699182590744090096971143400050228772991741811088361754925386149752593009914721493774064871619200514960922245352732169891312256493109304300532965000200475786922505343169147546617786111648155652887139743790601936500024833437175906568228004294904079747925039656789298006090204495446586782876703252915288271499167223101163106832877551390335455733965084205050656883919442468756776438948186885650065803159958455608596492306614040988123974223534359481025649711970188522611794313086453432791677618082771 3267570031527619294402133609139202412851874534875989846391914877892377419745218584467134971596017893641735415954523732988721452920129249673084480871917680619762142420797749379011847126958883814510994378062137403613514915034335351298063989840191783948567484617582577209639918116933094473780882602490249998655995371523871183119429334779996804150801653345187158381415545961214909097078011508399448286494432292661660253752985670388684003353000355615796144801041670435602224724024312930069779518251933383874895435001577169513511815766538628477490955357327907521492118478942358700011357400787461680198738514913621595213333832984192791319303663017395256947572803691895438049896447121681676989834700291076888930553572920893671090732465522044585786316875795552994753007798243422584813847118756516129948219941623428368303855519890071626935200720867424377938105535950928739204035186575359136895125434852137504101150609895650307005991104674509123900831007446335592310406855813589806037361070486754635585439692614288039227351704237334162753371713529074871506201109820225197363750414029747975156718451768237195767677781603583034706763390273350074907855224879262712140405761555198669058230641116241606468519966148271537968871600000577258808796035938481057157579455953049631319342438870752375506828757542075522585186390034062297627127674918285190456509740085594160506657677712501378246427884679953565879496815669854712981962834653512949252708471289654842283702211623611484087210455706415444653654626682642480385039610214197327105472882041969731275115908901712865073991977130540117350683539039283646085204723485173389242247043408342040844381899686427210861729365316386308923667711276607420884198893187453083995544009537902936523364080960269170370975449610605692251216314611663783552542668641745752339233333500410794306462972399154433535121369358022648147968376333032801341027093945966797655258400944570905408003678309696549288165525851077114167207447292362104137338539047170924200326442799911343188831040168573698717239402708762917410684384525051430681354124764800053337262358163797979176479370071388230301987711880860001925319938737646652004213839596047983002213606916149644178 5287039371632253511857491406700156131753171090772230448616589199629512260817596491067044405302989085043532085871641136818063234092603993018284657268042116440927129805909596575527206991614453419004167929399383930558213765709952571605980107456326668440350560230104067342784620279836526215247182611346206714567180906063912113167852398589029571344513912093546821219018909746633550675149734083061552642235236353262054097891436392313309563090433144547288494396965498583075606661120023131444034354104918661106068535327100653290698718987176014576234230031986486468304823839742934764922202942582621182132728325427799062360143946938859746613381420268659383025720490861564173593717935690975147243614778635787991553768754627613955931091027070447045082123718438972752757854286342859018815978707721325719504536154802420975102818764773704871121115090594828255454815179943283620399250840345754457620203444441039103075395696270348784807481605168196856051692344602186916513741084027989192902787422601907580072642747230281277912925063394780496504044903518062127958998841334946977672750584828082949237849036246202053984241851897966334134092568747806559894135428159911713614287090186102413204911271920931809156668347110381958433657984136646022993347232735627053276260018432747323036148496567250841316754833771501853116218753878392097913782014277961735374072195895822531235120639248915785124188958325433222406155445447049320188036205406835443532330436610704479495550631532704319526341811818605235771103323641301662261279687785943489056540300314529831902110427581894787661467657808998933070197734816056612991125112424852821366328735295568478036537177818181632894919907395110699524923054851306603474942983284424227395594238310894678334452442715194556520728042620520413744990379483282984067503590887098484509124645756903903610763505364154634010908291863365817295514994119144449496679981085710588257194900969404342583910246537700844192245273776116770956505453382566599583925321923874177115614714299078566289994147001451250107574858442728001615735041408970873150110901203748240222912423966957937632087966563694844342975835855083536284800964387358622192736451390361069455646398593767726949 8554609403159872806259625015839358544605045625648220295008504077521889680562815075534179376899006978685267501826164869806784687012733242691369138139959797060689272226707345954539054118573337233515162307461521334171728680744287922904044097296518452388918044847686644552424538396769620689028065213836456713223176277587783296287281733369026375495315565438733979600434455707848459772227745591461000928729668645923714351644422062701993566443433500163084639198007169018677831385144336061513813872356852044980963970328677822804210534753714643053725185389314393989796942318685293464933560343370082862331466840341420657573477779923052537932685083286054639973293294553459611643614382812656824233449478926864880484322327548507627021823492592491630868440594234525747510862084586281603629825826477841849452756096425849343406674284663776498056315811462252633392920715894212359603286026921113594515328879293176607176546306165999091813472709842705979952523352048522508824147939841578998940148493088662215658082439844569317140276767632114659257416617047136999465199951155172175036500998857830924394567488014439249751919633501549368840855959021156634801990653039174425754692851741301082263141913037173415625188313258653496402529584137223281802143268674108110433839474385796954355490935438003216823583591313577375701405143912454395540909689196246925830581935981416691741778316961417163370616843005386788285652261116904033169999040060348392785038907900359321779252843156315803613552267525020680424757950323944142646319298000140816162013182356499563177226336483607652735459634939539050420881273855340259076329835910026210608575778703910518880919077504608843756649272711497008448590766127914024359141876471877311391138247848797614857816523675463726891703492231126105996206694094946767620046259528844236848357979257314697917226477763309067546029661221388465443483370452177250837707075031677385912453301913975247991913924847397393480410799627193885123712900674928703721263860971045101315941157098989909478825187170024948824814261151490919026419425934022303831465025968548293560174782130755916808567336635083074644963547735943538210120903125005274196950290986409052457860005509917371127 13841648774792126318117116422539514676358216716420450743625093277151401941380411566601223782201996063728799587697806006624847921105337235709653795408001913501616402032616942530066261110187790652519330236860905264729942446454240494510024204752845120829268605077790711895209158676606146904275247825182663427790357183651695409455134131958055946839829477532280800819453365454482010447377479674522553570964904999185768449535858455015303129533866644710373133594972667601753438046264359192957848226461770706087032505655778476094909253740890657629959415421300880458101766158428228229855763285952704044464195165769219719933621726861912284546066503554714022999013785415023785237332318503631971477064257562652872038091082176121582952914519662938675950564312673498500268716370929140622445804534199167568957292251228270318509493049437481369177430902057080888847735895837495980002536867266868052135532323734215710251942002436347876620954315010902836004215696650709425337889023869568191842935915690569795730725187074850595053201831026895155761461520565199127424198792490119152709251583685913873632416524260641303736161485399515702974948527768963194696126081199086139368979941927403495468053184958105224781856660369035454836187568273869304795490501409735163710099492818544277391639432005254058140338425085079228817623897790846493454691703474208661204654131877239222976898956210332948494805801330820010691807706563953353358035245467183836317369344511063801274803474689020123139894079343625916195861273965245804907598985786084305218553482671029395079336764065502440396927292748537983491079008671396872067454948334879031974904513999478996917456255322790476651569180106607707973513820979220627834084859756301538786732486159692293192268966390658283412431534851646519741197073578229751687549850415942721357482625014218601527989983127463701556937953084754282738998364571321700334387056117387974169648202883379590575824171385098237672656073403310656080218354057495303305189182894919278431555871398068475768819334171476198932389119594218920642154467342993176981575927172296533783087206097713854440655303198777918987939383591027074494921867512363896389686742376770121913506404103685098076 22396258177951999124376741438378873220963262342068671038633597354673291621943226642135403159101003042414067089523970876431632608118070478401022933547961710562305674259324288484605315228761127886034492544322426598901671127198528417414068302049363573218186649925477356447633697073375767593303313039019120141013533461239478705742415865327082322335145042971014780419887821162330470219605225265983554499694573645109482801180280517717296695977300144873457772792979836620431269431408695254471662098818622751067996475984456298899119788494605300683684600810615274447898708477113521694789323629322786906795662006110640377507099506784964822478751586840768662972307079968483396880946701316288795710513736489517752522413409724629209974738012255430306819004906908024247779578455515422226075630360677009418410048347654119661916167334101257867233746713519333522240656611731708339605822894187981646650861203027392317428488308602346968434427024853608815956739048699231934162036963711147190783084408779232011388807626919419912193478598659009815018878137612336126889398743645291327745752582543744798026984012275080553488081118901065071815804486790119829498116734238260565123672793668704577731195097995278640407044973627688951238717152411092586597633770083843274143938967204341231747130367443257274963922016398656604519029041703300888995601392670455587035236067858655914718677273171750111865422644336206798977459967680857386528034285527532229102408252411423123054056317845335926753446346868646596620619224289189947553918283786225121380566665027528958256563100549110093132386927688077033911960282526737131143784784244905242583480292703389515798375332827399320408218452818104716422104587107134652193226736228178850177870734008489908050085490066122010304135027082772625737403767673176519307596109944786958205840604271533299445216460890772769102967614306142748182481735023498951172094131149065360082101504797354838567738096232495631153066873030504541203931254732424007026453043865964379747497028497058385247644521341501147757203380745709839668573893277015480813040953140844827343261988228469771249222639833860993632902931326970612705042770637369170586637033363179174371366409613602469203 36237906952744125442493857860918387897321479058489121782258690631824693563323638208736626941302999106142866677221776883056480529223407714110676728955963624063922076291941231014671576338948918538553822781183331863631613573652768911924092506802208694047455255003268068342842855749981914497578560864201783568803890644891174115197549997285138269174974520503295581239341186616812480666982704940506108070659478644295251250716138972732599825511166789583830906387952504222184707477673054447429510325280393457155028981640234774994029042235495958313644016231916154906000474635541749924645086915275490951259857171879860097440721233646877107024818090395482685971320865383507182118279019819920767187577994052170624560504491900750792927652531918368982769569219581522748048294826444562848521434894876176987367340598882389980425660383538739236411177615576414411088392507569204319608359761454849698786393526761608027680430311038694845055381339864511651960954745349941359499925987580715382626020324469801807119532813994270507246680429685904970780339658177535254313597536135410480455004166229658671659400536535721857224242604300580774790753014559083024194242815437346704492652735596108073199248282953383865188901633996724406074904720684961891393124271493578437854038460022885509138769799448511333104260441483735833336652939494147382450293096144664248239890199735895137695576229382083060360228445667026809669267674244810739886069530994716065419777596922486924328859792534356049893340426212272512816480498254435752461517269572309426599120147698558353335899864614612533529314220436615017403039291198134003211239732579784274558384806702868512715831588150189797059787632924712424395618408086355280027311595984480388964603220168182201242354456456780293716566561934419145478600841251406270995145960360729679563323229285751900973206444018236470659905567390897030921480099594820651506481187266453334251749707680734429143562267617593868825722946433815197284149608789919310331642226760883658179052899895126861016463855512977346689592500339928760310728360620008657794616880313141361126349194326183625689877943032638912620842314917997687199964638149733066976323775739949296284872813717287567279 58634165130696124566870599299297261118284741400557792820892287986497985185266864850872030100404002148556933766745747759488113137341478192511699662503925334626227750551265519499276891567710046424588315325505758462533284700851297329338160808851572267265641904928745424790476552823357682090881873903220903709817424106130652820939965862612220591510119563474310361659229007779142950886587930206489662570354052289404734051896419490449896521488466934457288679180932340842615976909081749701901172424099016208223025457624691073893148830730101258997328617042531429353899183112655271619434410544598277858055519177990500474947820740431841929503569677236251348943627945351990578999225721136209562898091730541688377082917901625380002902390544173799289588574126489546995827873281959985074597065255553186405777388946536509642341827717639997103644924329095747933329049119300912659214182655642831345437254729789000345108918619641041813489808364718120467917693794049173293661962951291862573409104733249033818508340440913690419440159028344914785799217795789871381202996279780701808200756748773403469686384548810802410712323723201645846606557501349202853692359549675607269616325529264812650930443380948662505595946607624413357313621873096054477990758041577421711997977427227226740885900166891768608068182457882392437855681981197448271445894488815119835275126267594551052414253502553833172225651090003233608646727641925668126414103816522248294522185849333910047382916110379691976646786773080919109437099722543625700015435553358534547979686812726087311592462965163722626661701148124692051314999573724871134355024516824689517141865099406258028514206920977589117468006085742817140817722995193489932220538332212659239142473954176672109292439946522902304020701589017191771216004608924582790302742070305516637769163833557285200418422904909009239762873181697039779103961834618319602678575318415518694333851212478089267711300363850089499978789819464319738488080863522343317358095270626848037926549928392185246264108376854478494446795881085638599979302253897024138607657833453986188469611182554653396939100582866499906253745246244968299905007408787102237562960809103128470656239223330890036482 94872072083440250009364457160215649015606220459046914603150978618322678748590503059608657041707001254699800443967524642544593666564885906622376391459888958690149826843206750513948467906658964963142138106689090326164898274504066241262253315653780961313097159932013493133319408573339596588460434767422687278621314751021826936137515859897358860685094083977605942898570194395955431553570635146995770641013530933699985302612558463182496346999633724041119585568884845064800684386754804149330682749379409665378054439264925848887177872965597217310972633274447584259899657748197021544079497459873768809315376349870360572388541974078719036528387767631734034914948810735497761117504740956130330085669724593859001643422393526130795830043076092168272358143346071069743876168108404547923118500150429363393144729545418899622767488101178736340056101944672162344417441626870116978822542417097681044223648256550608372789348930679736658545189704582632119878648539399114653161888938872577956035125057718835625627873254907960926686839458030819756579557453967406635516593815916112288655760915003062141345785085346524267936566327502226621397310515908285877886602365112953974108978264860920724129691663902046370784848241621137763388526593781016369383882313071000149852015887250112250024669966340279941172442899366128271192334920691595653896187584959784083515016467330446190109829731935916232585879535670260418315995316170478866300173347516964359941963446256396971711775902914048026540127199293191622253580220798061452476952822930843974578806960424645664928362829778335160191015368561307068718038864923005137566264249404473791700249906109126541230038509127778914527793718667529565213341403279845212247849928197139628107077174344854310534794402979682597737268150951610916694605450175989061297888030666246317332487062843037101391629348927245710422778749087936810025441934213140254185056505681972028585600920158823696854862631467683368804512765898134935772230472312262627689737497387731696105602828287312107280572232367455841136388381425567360290030614517032796402274713767127549595960376880837022628978525899138818874587561162965987104972046936835304539284584843077766941112037048177603761 153506237214136374576235056459512910133890961859604707424043266604820663933857367910480687142111003403256734210713272402032706803906364099134076053963814293316377577394472270013225359474369011387730453432194848788698182975355363570600414124505353228578739064860758917923795961396697278679342308670643590988438738857152479757077481722509579452195213647451916304557799202175098382440158565353485433211367583223104719354508977953632392868488100658498408264749817185907416661295836553851231855173478425873601079896889616922780326703695698476308301250316979013613798840860852293163513908004472046667370895527860861047336362714510560966031957444867985383858576756087488340116730462092339892983761455135547378726340295151510798732433620265967561946717472560616739704041390364532997715565405982549798922118491955409265109315818818733443701026273767910277746490746171029638036725072740512389660902986339608717898267550320778472034998069300752587796342333448287946823851890164440529444229790967869444136213695821651346126998486375734542378775249757278016719590095696814096856517663776465611032169634157326678648890050703872468003868017257488731578961914788561243725303794125733375060135044850708876380794849245551120702148466877070847374640354648421861849993314477338990910570133232048549240625357248520709048016901889043925342082073774903918790142734924997242524083234489749404811530625673494026962722958096146992714277164039212654464149295590307019094692013293740003186913972374110731690679943341687152492388376289378522558493773150732976520825794942057786852716516685999120033038438647876271921288766229163308842115005515384569744245430105368031995799804410346706031064398473335144468388260409798867249551128521526419827234349502584901757969739968802687910610059100571851600630100971762955101650896400322301810052253836254950185651930784976589129403768831459856863631824097490722919452132636912964566162995317772868783302585362454674260311335834605945047832768014579734032152756679497353544680609221934335583184262511205960269332868414056935009932547221113738065571559435490419568079108765638725128332807407934287009979455723937542102245393946206237597351260379067640243 248378309297576624585599513619728559149497182318651622027194245223143342682447870970089344183818004657956534654680797044577300470471250005756452445423703252006527404237679020527173827381027976350872591538883939114863081249859429811862667440159134189891836224792772411057115369970036875267802743438066278267060053608174306693214997582406938312880307731429522247456369396571053813993729200500481203852381114156804704657121536416814889215487734382539527850318702030972217345682591358000562537922857835538979134336154542771667504576661295693619273883591426597873698498609049314707593405464345815476686271877731221619724904688589280002560345212499719418773525566822986101234235203048470223069431179729406380369762688677641594562476696358135834304860818631686483580209498769080920834065556411913192066848037374308887876803919997469783757128218440072622163932373041146616859267489838193433884551242890217090687616481000515130580187773883384707674990872847402599985740829037018485479354848686705069764086950729612272813837944406554298958332703724684652236183911612926385512278578779527752377954719503850946585456378206099089401178533165774609465564279901515217834282058986654099189826708752755247165643090866688884090675060658087216758522667719422011702009201727451240935240099572328490413068256614648980240351822580639579238269658734688002305159202255443432633912966425665637397410161343754445278718274266625859014450511556177014406112741846703990806467916207788029727041171667302353944260164139748604969341199220222497137300733575378641449188624720392947043731885247306188751077303570881409487553015633637100542364911624511110974283939233146946523593523077876271244405801753180356716238188606938495356628302866380730362028752482267499495237890920413604605215509276560912898518131638009272434137959243359403201681602763500660608430679872913399154845703044600111048688329779462751505053052795736661421025626785456237587815351260589610032541808146868572737570265402311430137755584966809460825252841589390176719572643936773320559363482931089731412207260988241287661531936316327442197057634664777544002920368570900274114951502660772846641529978789284004538463297427245244004 401884546511712999161834570079241469283388144178256329451237511827964006616305238880570031325929008061213268865394069446610007274377614104890528499387517545322904981632151290540399186855396987738603044971078787903561264225214793382463081564664487418470575289653531328980911331366734153947145052108709869255498792465326786450292479304916517765075521378881438552014168598746152196433887765853966637063748697379909424011630514370447282083975835041037936115068519216879634006978427911851794393096336261412580214233044159694447831280356994169927575133908405611487497339469901607871107313468817862144057167405592082667061267403099840968592302657367704802632102322910474441350965665140810116053192634864953759096102983829152393294910316624103396251578291192303223284250889133613918549630962394462990988966529329718152986119738816203227458154492207982899910423119212176254895992562578705823545454229229825808585884031321293602615185843184137295471333206295690546809592719201459014923584639654574513900300646551263618940836430782288841337107953481962668955774007309740482368796242555993363410124353661177625234346428909971557405046550423263341044526194690076461559585853112387474249961753603464123546437940112240004792823527535158064133163022367843873552002516204790231845810232804377039653693613863169689288368724469683504580351732509591921095301937180440675157996200915415042208940787017248472241441232362772851728727675595389668870262037437011009901159929501528032913955144041413085634940107481435757461729575509601019695794506726111617970014419662450733896448401933305308784115742218757681408841781862800409384479917139895680718529369338514978519393327488222977275470200226515501184626449016737362606179431387907150189263101984852401253207630889216292515825568377132764499148232609772227535788855643681705011733856599755610794082610657889988284249471876059967912320153876953474424505185432649625987188622103229106371117936623044284292853143981474517785403033416891164169908341646306814369933450811324512302756906447979280828696351345146666422139808209355025727103495751817861765136743430416269131253175978834561124930958384710388743775372735490242135814557806312884247 650262855809289623747434083698970028432885326496907951478431757051107349298753109850659375509747012719169803520074866491187307744848864110646980944811220797329432385869830311067573014236424964089475636509962727018424345475074223194325749004823621608362411514446303740038026701336771029214947795546776147522558846073501093143507476887323456077955829110310960799470537995317206010427616966354447840916129811536714128668752050787262171299463569423577463965387221247851851352661019269852356931019194096951559348569198702466115335857018289863546849017499832209361195838078950922578700718933163677620743439283323304286786172091689120971152647869867424221405627889733460542585200868189280339122623814594360139465865672506793987857387012982239230556439109823989706864460387902694839383696518806376183055814566704027040862923658813673011215282710648055522074355492253322871755260052416899257430005472120042899273500512321808733195373617067522003146324079143093146795333548238477500402939488341279583664387597280875891754674375188843140295440657206647321191957918922666867881074821335521115788079073165028571819802807116070646806225083589037950510090474591591679393867912099041573439788462356219370712081030978928888883498588193245280891685690087265885254011717932241472781050332376705530066761870477818669528720547050323083818621391244279923400461139435884107791909167341080679606350948361002917520159506629398710743178187151566683276374779283715000707627845709316062640996315708715439579200271621184362431070774729823516833095240301490259419203044382843680940180287180611497535193045789639090896394797496437509926844828764406791692813308571661925042986850566099248519876001979695857900864637623675857962807734254287880551291854467119900748445521809629897121041077653693677397666364247781499969926814887041108213415459363256271402513290530803387439095174920660078961008483656416225929558238228386287408214248888685343958933287883633894325394952128343090522973298819202594307663926613116275195186292400714689022329550384752601388059834276236397834347069197596313388635432068145303962194378095193813134173544549734835239882461045483235385305351524774246674277855233558128251 1052147402321002622909268653778211497716273470675164280929669268879071355915058348731229406835676020780383072385468935937797315019226478215537509444198738342652337367501981601607972201091821951828078681481041514921985609700289016576788830569488109026832986804099835069018938032703505183162092847655486016778057638538827879593799956192239973843031350489192399351484706594063358206861504732208414477979878508916623552680382565157709453383439404464615400080455740464731485359639447181704151324115530358364139562802242862160563167137375284033474424151408237820848693177548852530449808032401981539764800606688915386953847439494788961939744950527235129024037730212643934983936166533330090455175816449459313898561968656335946381152297329606342626808017401016292930148711277036308757933327481200839174044781096033745193849043397629876238673437202856038421984778611465499126651252614995605080975459701349868707859384543643102335810559460251659298617657285438783693604926267439936515326524127995854097564688243832139510695510805971131981632548610688609990147731926232407350249871063891514479198203426826206197054149236026042204211271634012301291554616669281668140953453765211429047689750215959683494258518971091168893676322115728403345024848712455109758806014234137031704626860565181082569720455484340988358817089271520006588398973123753871844495763076616324782949905368256495721815291735378251389761600738992171562471905862746956352146636816720726010608787775210844095554951459750128525214140379102620119892800350239424536528889747027601877389217464045294414836628689113916806319308788008396772305236579359237919311324745904302472411342677910176903562380178054322225795346202206211359085491086640413220568987165642195030740554956451972302001653152698846189636866646030826441896814596857553727505715670530722813225149315963011882196595901188693375723344646796720046873328637533369700354063423661035913395402870991914450330051224506678178618248096109817608308376332236093758477572268259423089565119743212039201325086456832731882216756185621383064256486877406951339115738927819963165727331121525610082265426720528569396364813419430193624129080724260264488810092413039871012498 1702410258130292246656702737477181526149158797172072232408101025930178705213811458581888782345423033499552875905543802428984622764075342326184490389009959139981769753371811912675545215328246915917554317991004241940409955175363239771114579574311730635195398318546138809056964734040276212377040643202262164300616484612328972737307433079563429920987179599503360150955244589380564217289121698562862318896008320453337681349134615944971624682902973888192864045842961712583336712300466451556508255134724455315698911371441564626678502994393573897021273168908070030209889015627803453028508751335145217385544045972238691240633611586478082910897598397102553245443358102377395526521367401519370794298440264053674038027834328842740369009684342588581857364456510840282637013171664939003597317024000007215357100595662737772234711967056443549249888719913504093944059134103718821998406512667412504338405465173469911607132885055964911069005933077319181301763981364581876840400259815678414015729463616337133681229075841113015402450185181159975121927989267895257311339689845155074218130945885227035594986282499991234768873952043142112851017496717601339242064707143873259820347321677310470621129538678315902864970600002070097782559820703921648625916534402542375644060025952069273177407910897557788099787217354818807028345809818570329672217594514998151767896224216052208890741814535597576401421642683739254307281760245621570273215084049898523035423011596004441011316415620920160158195947775458843964793340650723804482323871124969248053361984987329092136808420508428138095776808976294528303854501833798035863201631376855675429238169574668709264104155986481838828605367028620421474315222204185907216986355724264089078531794899896482911291846810919092202750098674508476086757907723684520119294480961105335227475642485417763921438564775326268153599109191719496763162439821717380125834337121189785926283621661889422200803617119880599794288984512390312072943643048238160698831349631055296352785236194872539364760306035612753890347416007217484483604816019897619462090833946604547652504374359888108469689525499620803895399600265078304231604695880475676859514386075785038735484370268273429140749 2754557660451294869565971391255393023865432267847236513337770294809250061128869807313118189181099054279935948291012738366781937783301820541721999833208697482634107120873793514283517416420068867745632999472045756862395564875652256347903410143799839662028385122645973878075902766743781395539133490857748181078674123151156852331107389271803403764018530088695759502439951183443922424150626430771276796875886829369961234029517181102681078066342378352808264126298702177314822071939913633260659579250254813679838474173684426787241670131768857930495697320316307851058582193176655983478316783737126757150344652661154078194481051081267044850642548924337682269481088315021330510457533934849461249474256713512987936589802985178686750161981672194924484172473911856575567161882941975312355250351481208054531145376758771517428561010454073425488562157116360132366043912715184321125057765282408109419380924874819780314992269599608013404816492537570840600381638650020660534005186083118350531055987744332987778793764084945154913145695987131107103560537878583867301487421771387481568380816949118550074184485926817440965928101279168155055228768351613640533619323813154927961300775442521899668819288894275586359229118973161266676236142819650051970941383114997485402866040186206304882034771462738870669507672839159795387162899090090336260616567638752023612391987292668533673691719903854072123236934419117505697043360984613741835686989912645479387569648412725167021925203396131004253750899235208972490007481029826424602216671475208672589890874734356694014197637972473432510613437665408445110173810621806432635506867956214913348549494320573011736515498664392015732167747206674743700110568406392118576071846810904502299100782065538677942032401767371064504751751827207322276394774369715346561191295557962888954981358155948486734663714091289280035795705092908190138885784468514100172707665758723155626637685085550458114199019990872514244619035736896990251561891144347978307139725963291390111262808463131962454325425778824793091672502464050216365821572205519002526347320824011498991620113287708071635416856621146413977665026985606873627969509299905870483643466800045303224294462681313300153247 4456967918581587116222674128732574550014591065019308745745871320739428766342681265895006971526522087779488824196556540795766560547377162867906490222218656622615876874245605426959062631748315783663187317463049998802805520051015496119017989718111570297223783441192112687132867500784057607916174134060010345379290607763485825068414822351366833685005709688199119653395195772824486641439748129334139115771895149823298915378651797047652702749245352241001128172141663889898158784240380084817167834384979268995537385545125991413920173126162431827516970489224377881268471208804459436506825535072271974535888698633392769435114662667745127761540147321440235514924446417398726036978901336368832043772696977566661974617637314021427119171666014783506341536930422696858204175054606914315952567375481215269888245972421509289663272977510516974738450877029864226310103046818903143123464277949820613757786390048289691922125154655572924473822425614890021902145620014602537374405445898796764546785451360670121460022839926058170315595881168291082225488527146479124612827111616542555786511762834345585669170768426808675734802053322310267906246265069214979775684030957028187781648097119832370289948827572591489224199718975231364458795963523571700596857917517539861046926066138275578059442682360296658769294890193978602415508708908660665932834162153750175380288211508720742564433534439451648524658577102856760004325121230235312108902073962544002422992660008729608033241619017051164411946847010667816454800821680550229084540542600177920643252859721685786151006058480901570606390246641702973414028312455604468498708499333070588777787663895241721000619654650873854560773114235295165174425790610578025793058202535168591377632576965435160853324248578290156707501850501715798363152682093399866680485776519068224182457000641366250656102278866615548189394814284627686902048224290231480298542002879912941552921306747439880315002637110753114038908020249287302324505534192586139005971075594346686464048044658004501819085731814437546982019918471267700849426388225416621988438154770616046644124487647596180105106382120767217873064627250685177859574205180381547343157852875830341959778832949586729293996 7211525579032881985788645519987967573880023332866545259083641615548678827471551073208125160707621142059424772487569279162548498330678983409628490055427354105249983995119398941242580048168384651408820316935095755665201084926667752466921399861911409959252168563838086565208770267527839003455307624917758526457964730914642677399522211623170237449024239776894879155835146956268409065590374560105415912647781979193260149408168978150333780815587730593809392298440366067212980856180293718077827413635234082675375859718810418201161843257931289758012667809540685732327053401981115419985142318809398731686233351294546847629595713749012172612182696245777917784405534732420056547436435271218293293246953691079649911207440299200113869333647686978430825709404334553433771336937548889628307817726962423324419391349180280807091833987964590400227013034146224358676146959534087464248522043232228723177167314923109472237117424255180937878638918152460862502527258664623197908410631981915115077841439105003109238816604011003325228741577155422189329049065025062991914314533387930037354892579783464135743355254353626116700730154601478422961475033420828620309303354770183115742948872562354269958768116466867075583428837948392631135032106343221752567799300632537346449792106324481882941477453823035529438802563033138397802671607998751002193450729792502198992680198801389276238125254343305720647895511521974265701368482214849053944589063875189481810562308421454775055166822413182168665697746245876788944808302710376653686757214075386593233143734456042480165203696453375003117003684307111418524202123077410901134215367289285502126337158215814732737135153315265870292940861441969908874536359016970144369130049346073093676733359030973838795356650345661221212253602328923120639547456463115213241677072077031113137438358797314737390765992957904828225190519377535877040934008758745580471249668638636097179558991832990338429201657101625628283527055986184292576067425336934117313110801557638076575310853121136464273411157593262340073692420935317917215247960430935624514785475594627545635744600935304251740523238741913631850729654236292051487543714480287417826801319675875645184073295630900029447243 11668493497614469102011319648720542123894614397885854004829512936288107593814232339103132132234143229838913596684125819958315058878056146277534980277646010727865860869365004368201642679916700435072007634398145754468006604977683248585939389580022980256475952005030199252341637768311896611371481758977768871837255338678128502467937033974537071134029949465093998809230342729092895707030122689439555028419677129016559064786820775197986483564833082834810520470582029957111139640420673802894995248020213351670913245263936409615082016384093721585529638298765063613595524610785574856491967853881670706222122049927939617064710376416757300373722843567218153299329981149818782584415336607587125337019650668646311885825077613221540988505313701761937167246334757250291975511992155803944260385102443638594307637321601790096755106965475107374965463911176088584986250006352990607371986321182049336934953704971399164159242578910753862352461343767350884404672878679225735282816077880711879624626890465673230698839443937061495544337458323713271554537592171542116527141645004472593141404342617809721412526022780434792435532207923788690867721298490043600084987385727211303524596969682186640248716944039458564807628556923623995593828069866793453164657218150077207496718172462757461000920136183332188208097453227117000218180316907411668126284891946252374372968410310110018802558788782757369172554088624831025705693603445084366053491137837733484233554968430184383088408441430233333077644593256544605399609124390926882771297756675564513876396594177728266316209754934276573723393930948814391938230435533015369632923866622356090904124822111056453737754807966139724853713975677265074048962149627548170162188251881241685054365935996408999648680898923951377919755452830638919002700138556515079922162848596099337319895359438680988046868271824520376414585333662163563942982233048977060769791671518549038732480298580430218744204294212378742322435076235471594900572959529520256319081877151984763039358897779140966092496889407699887055712339406585618064674348656352246503223630365243592279869088582900431845629620862680849723794281486977229347117919660668965169959172551705987143852128580486758741239 18880019076647351087799965168708509697774637730752399263913154551836786421285783412311257292941764371898338369171695099120863557208735129687163470333073364833115844864484403309444222728085085086480827951333241510133207689904351001052860789441934390215728120568868285817550408035839735614826789383895527398295220069592771179867459245597707308583054189241988877965065489685361304772620497249544970941067459108209819214194989753348320264380420813428619912769022396024324120496600967520972822661655447434346289104982746827816243859642025011343542306108305749345922578012766690276477110172691069437908355401222486464694306090165769472985905539812996071083735515882238839131851771878805418630266604359725961797032517912421654857838961388740367992955739091803725746848929704693572568202829406061918727028670782070903846940953439697775192476945322312943662396965887078071620508364414278060112121019894508636396360003165934800231100261919811746907200137343848933191226709862626994702468329570676339937656047948064820773079035479135460883586657196605108441456178392402630496296922401273857155881277134060909136262362525267113829196331910872220394290740497394419267545842244540910207485060506325640391057394872016626728860176210015205732456518782614553946510278787239343942397590006367717646900016260255398020851924906162670319735621738754573365648609111499295040684043126063089820449600146805291407062085659933419998080201712922966044117276851639158143575263843415501743342339502421394344417427101303536458054970750951107109540328633770746481413451387651576840397615255925810462432558610426270767139233911641593030461980326871186474889961281405595146654837119234982923498508644518314531318301227314778731099295027382838444037549269612599132009055159562039642247595019630293163839920673130450457333718235995725437634264782425204639775853039699440983916241807722641241041340157185135912039290413420557173405951314004370605962132221655887476640384866454373632192678709622839614669750900277430365908047000962227129404760341903535279922309087287871018009105959871137915613689518204683586152859604594481574523935723269280834661634140956382996760492227581632327925424211386788188482 30548512574261820189811284817429051821669252128638253268742667488124894015100015751414389425175907601737251965855820919079178616086791275964698450610719375560981705733849407677645865408001785521552835585731387264601214294882034249638800179021957370472204072573898485069892045804151632226198271142873296270132475408270899682335396279572244379717084138707082876774295832414454200479650619938984525969487136237226378278981810528546306747945253896263430433239604425981435260137021641323867817909675660786017202350246683237431325876026118732929071944407070812959518102623552265132969078026572740144130477451150426081759016466582526773359628383380214224383065497032057621716267108486392543967286255028372273682857595525643195846344275090502305160202073849054017722360921860497516828587931849700513034665992383861000602047918914805150157940856498401528648646972240068678992494685596327397047074724865907800555602582076688662583561605687162631311873016023074668474042787743338874327095220036349570636495491885126316317416493802848732438124249368147224968597823396875223637701265019083578568407299914495701571794570449055804696917630400915820479278126224605722792142811926727550456202004545784205198685951795640622322688246076808658897113736932691761443228451249996804943317726189699905854997469487372398239032241813574338446020513685006947738617019421609313843242831908820458993003688771636317112755689105017786051571339550656450277672245281823541231983705273648834820986932758965999744026551492230419229352727426515620985936922811499012797623206321928150563791546204740202400662994143441640400063100533997683934586802437927640212644769247545320000368812796500056972460658272066484693506553108556463785465231023791838092718448193563977051764507990200958644947733576145373086002769269229787777229077674676713484502536606945581054361186701863004926898474856699702010833011675734174644519588993850775917610245526383112928397208457127482377213344395974629951274555861607602654028648679418396458404936408662114185117099748489153344596657743640117521232736325114730195482778101105115431782480467275331298318217210246510181779553801625348166719664779287619471777552791873546929721 49428531650909171277611249986137561519443889859390652532655822039961680436385799163725646718117671973635590335027516018200042173295526405651861920943792740394097550598333810987090088136086870608033663537064628774734421984786385250691660968463891760687932193142766770887442453839991367841025060526768823668427695477863670862202855525169951688300138327949071754739361322099815505252271117188529496910554595345436197493176800281894627012325674709692050346008626822005759380633622608844840640571331108220363491455229430065247569735668143744272614250515376562305440680636318955409446188199263809582038832852372912546453322556748296246345533923193210295466801012914296460848118880365197962597552859388098235479890113438064850704183236479242673153157812940857743469209851565191089396790761255762431761694663165931904448988872354502925350417801820714472311043938127146750613003050010605457159195744760416436951962585242623462814661867606974378219073153366923601665269497605965869029563549607025910574151539833191137090495529281984193321710906564752333410054001789277854133998187420357435724288577048556610708056932974322918526113962311788040873568866722000142059688654171268460663687065052109845589743346667657249051548422286823864629570255715306315389738730037236148885715316196067623501897485747627796259884166719737008765756135423761521104265628533108608883926875034883548813453288918441608519817774764951206049651541263579416321789522133462699375558969117064336564329272261387394088443978593533955687407698177466728095477251445269759279036657709579727404189161460666012863095552753867911167202334445639276965048782764798826687534730528950915147023649915735039895959166916584799224824854335871242516564526051174676536755997463176576183773563149762998287195328595775666249842689942360238234562795910672438922136801389370785694137039741562445910814716664422343251874351832919310556558879407271333091016196840387483534359340678783369853853729262429003583467234571230442268698399579695826824312983409624341314521860090392688624518966830927988539241842284985868111096467619309799017935340071869812872842152933515791016441187942581731163480157006869251799702977003260335118203 79977044225170991467422534803566613341113141988028905801398489528086574451485814915140036143293579575372842300883336937279220789382317681616560371554512115955079256332183218664735953544088656129586499122796016039335636279668419500330461147485849131160136265716665255957334499644143000067223331669642119938560170886134570544538251804742196068017222466656154631513657154514269705731921737127514022880041731582662575772158610810440933760270928605955480779248231247987194640770644250168708458481006769006380693805476113302678895611694262477201686194922447375264958783259871220542415266225836549726169310303523338628212339023330823019705162306573424519849866509946354082564385988851590506564839114416470509162747708963708046550527511569744978313359886789911761191570773425688606225378693105462944796360655549792905051036791269308075508358658319116000959690910367215429605497735606932854206270469626324237507565167319312125398223473294137009530946169389998270139312285349304743356658769643375481210647031718317453407912023084832925759835155932899558378651825186153077771699452439441014292695876963052312279851503423378723223031592712703861352846992946605864851831466097996011119889069597894050788429298463297871374236668363632523526683992647998076832967181287232953829033042385767529356894955235000194498916408533311347211776649108768468842882647954717922727169706943704007806456977690077925632573463869968992101222880814235866599461767415286240607542674390713171385316205020353393832470530085764374916760425603982349081414174256768772076659864031507877967980707665406215263758546897309551567265434979636960899635585202726466900179499776496235147392462712235096868419825188651283918331407444427706302029757074966514629474445656740553235538071139963956932143062171921039335845459211590026011791873585349152406639337996316366748498226443425450837713191521122045262707363508653485201078468401122109008626442366770596462756549135910852231067073658403633534741790432838044922727048259114223282717919818286455499638959838881841969115624574568106060474578610100598306579245720414914449717820539145144171160370143762301198220741744207079330199821786156871271480529795133882047924 129405575876080162745033784789704174860557031847419558334054311568048254887871614078865682861411251549008432635910852955479262962677844087268422292498304856349176806930517029651826041680175526737620162659860644814070058264454804751022122115949740891848068458859432026844776953484134367908248392196410943606987866363998241406741107329912147756317360794605226386253018476614085210984192854316043519790596326928098773265335411092335560772596603315647531125256858069992954021404266859013549099052337877226744185260705543367926465347362406221474300445437823937570399463896190175951861454425100359308208143155896251174665661580079119266050696229766634815316667522860650543412504869216788469162391973804568744642637822401772897254710748048987651466517699730769504660780624990879695622169454361225376558055318715724809500025663623811000858776460139830473270734848494362180218500785617538311365466214386740674459527752561935588212885340901111387750019322756921871804581782955270612386222319250401391784798571551508590498407552366817119081546062497651891788705826975430931905697639859798450016984454011608922987908436397701641749145555024491902226415859668606006911520120269264471783576134650003896378172645130955120425785090650456388156254248363304392222705911324469102714748358581835152858792440982627990758800575253048355977532784532529989947148276487826531611096581978587556619910266608519534152391238634920198150874422077815282921251289548748939983101643507777507949645477281740787920914508679298330604168123781449077176891425702038531355696521741087605372169869126072228126854099651177462734467769425276237864684367967525293587714230305447150294416112627970136764378992105236083143156261780298948818594283126141191166230443119917129419311634289726955219338390767696705585688149153950264246354669496021591328776139385687152442635266184987896748527908185544388514581715341572795757637347808393442099642639207158079997115889814694222084920802920832637118209025004068487191425447838810050107030903227910796814160819929274530593634591405496094599716420895086466417675713339724713467653160611014957044002523077278092214661929686788810493679978793026123071183506798394217166127 209382620101251154212456319593270788201670173835448464135452801096134829339357428994005719004704831124381274936794189892758483752060161768884982664052816972304256063262700248316561995224264182867206661782656660853405694544123224251352583263435590023008204724576097282802111453128277367975471723866053063545548037250132811951279359134654343824334583261261381017766675631128354916716114591443557542670638058510761349037494021902776494532867531921603011904505089317980148662174911109182257557533344646233124879066181656670605360959056668698675986640360271312835358247156061396494276720650936909034377453459419589802878000603409942285755858536340059335166534032807004625976890858068378975727231088221039253805385531365480943805238259618732629779877586520681265852351398416568301847548147466688321354415974265517714551062454893119076367135118458946474230425758861577609823998521224471165571736684013064911967092919881247713611108814195248397280965492146920141943894068304575355742881088893776872995445603269826043906319575451650044841381218430551450167357652161584009677397092299239464309680330974661235267759939821080364972177147737195763579262852615211871763351586367260482903465204247897947166601943594252991800021759014088911682938241011302469055673092611702056543781400967602682215687396217628185257716983786359703189309433641298458790030924442544454338266288922291564426367244298597459784964702504889190252097302892051149520713056964035180590644317898490679334961682302094181753385038765062705520928549385431426258305599958807303432356385772595483340150576791478443390612646548487014301733204404913198764319953170251760487893730081943385441808575340205233632798817293887367061487669224726655120624040201107705795704888776657682654849705429690912151481452939617744921533608365540290258146543081370743735415477382003519191133492628413347586241099706666433777289078850226280958715816209515551108269081573928676459872438950605074315987876579236270652950815436906532114152496097924273389748823046197252313799779768156372562750215980064200660190999505187064724254959060139627917370981150160101215162893221040393412882671430995889823879800579182994342664036593528099214051 338788195977331316957490104382974963062227205682868022469507112664183084227229043072871401866116082673389707572705042848237746714738005856153404956551121828653432870193217277968388036904439709604826824442517305667475752808578029002374705379385330914856273183435529309646888406612411735883720116062464007152535903614131053358020466464566491580651944055866607404019694107742440127700307445759601062461234385438860122302829432995112055305464135237250543029761947387973102683579177968195806656585682523459869064326887200038531826306419074920150287085798095250405757711052251572446138175076037268342585596615315840977543662183489061551806554766106694150483201555667655169389395727285167444889623062025607998448023353767253841059949007667720281246395286251450770513132023407447997469717601827913697912471292981242524051088118516930077225911578598776947501160607355939790042499306842009476937202898399805586426620672443183301823994155096359785030984814903842013748475851259845968129103408144178264780244174821334634404727127818467163922927280928203341956063479137014941583094732159037914326664784986270158255668376218782006721322702761687665805678712283817878674871706636524954687041338897901843544774588725208112225806849664545299839192489374606861278379003936171159258529759549437835074479837200256176016517559039408059166842218173828448737179200930370985949362870900879121046277510907116993937355941139809388402971724969866432441964346512784120573745961406268187284607159583834969674299547444361036125096673166880503435197025660845834788052907513683088712320445917550671517466746199664477036200973830189436629004321137777054075607960387390535736224687968175370397177809399123450204643931005025603939218323327248896961935331896574812074161339719417867370819843707314450507221757519490554504501212577392335064191616767690671633768758813401244334769007892210822291870794191799076716353164017908993207911720781086756456988328765299296400908679500068907771159840440975019305577943936734323496779726274108049127960599697430903156384807385560295259907420400273531141930672399864341385024141761175058259165416298318485627544601117784700317559779372209117413847543391922316380178 548170816078582471169946423976245751263897379518316486604959913760317913566586472066877120870820913797770982509499232740996230466798167625038387620603938800957688933455917526284950032128703892472033486225173966520881447352701253253727288642820920937864477908011626592448999859740689103859191839928517070698083940864263865309299825599220835404986527317127988421786369738870795044416422037203158605131872443949621471340323454897888549838331667158853554934267036705953251345754089077378064214119027169692993943393068856709137187265475743618826273726158366563241115958208312968940414895726974177376963050074735430780421662786899003837562413302446753485649735588474659795366286585353546420616854150246647252253408885132734784865187267286452911026272872772132036365483421824016299317265749294602019266887267246760238602150573410049153593046697057723421731586366217517399866497828066480642508939582412870498393713592324431015435102969291608182311950307050762155692369919564421323871984497037955137775689778091160678311046703270117208764308499358754792123421131298598951260491824458277378636345115960931393523428316039862371693499850498883429384941564899029750438223293003785437590506543145799790711376532319461104025828608678634211522130730385909330334052096547873215802311160517040517290167233417884361274234542825767762356151651815126907527210125372915440287629159823170685472644755205714453722320643644698578655069027861917581962677403476819301164390279304758866619568841885929151427684586209423741646025222552311929693502625619653138220409293286278572052471022709029114908079392748151491337934178235102635393324274308028814563501690469333921178033263308380604029976626693010817266131600229752259059842363528356602757640220673232494729011045149108779522301296646932195428755365885030844762647755658763078799607094149694190824902251441814591921010107598877256069159873042025357675068980227424544316180802355015432916860767715904370716896556079305178424110655877881551419730440034658596886528549320305301441760379465587275719135023365624495920098419905460595866185631460003969302395122911335159474328309519358879040427272548780590141439579951392111756511579985450415594229 886959012055913788127436528359220714326124585201184509074467026424500997793815515139748522736936996471160690082204275589233977181536173481191792577155060629611121803649134804253338069033143602076860310667691272188357200161279282256101994022206251852720751091447155902095888266353100839742911955990981077850619844478394918667320292063787326985638471372994595825806063846613235172116729482962759667593106829388481593643152887893000605143795802396104097964028984093926354029333267045573870870704709693152863007719956056747669013571894818538976560811956461813646873669260564541386553070803011445719548646690051271757965324970388065389368968068553447636132937144142314964755682312638713865506477212272255250701432238899988625925136274954173192272668159023582806878615445231464296786983351122515717179358560228002762653238691926979230818958275656500369232746973573457189908997134908490119446142480812676084820334264767614317259097124387967967342935121954604169440845770824267292001087905182133402555933952912495312715773831088584372687235780286958134079484610435613892843586556617315292963009900947201551779096692258644378414822553260571095190620277182847629113094999640310392277547882043701634256151121044669216251635458343179511361323219760516191612431100484044375060840920066478352364647070618140537290752101865175821522993869988955356264389326303286426236992030724049806518922266112831447659676584784507967058040752831784014404641749989603421738136240711027053904176001469764121101984133653784777771121895719192433128699651280498973008462200799961660764791468626579786425546138947815968374135152065292072022328595445805868639109650856724456914257951276555974427154436092134267470775531234777862999060686855605499719575552569807306803172384868526646893121140354246645935977123404521399267148968236155413863798710917384862458671010255215836255779115491088078361030667233824434391422144245333537524092523136102189373849096481203667117805235579374086195270496318856570725308383971392920383308275594413350569720979163018178875519830751184791180005840305734127008116303859868310687419264672510217733493725817677364667971873666565290458999359323601229170359123377372731974407 1435129828134496259297382952335466465590021964719500995679426940184818911360401987206625643607757910268931672591703508330230207648334341106230180197758999430568810737105052330538288101161847494548893796892865238709238647513980535509829282665027172790585228999458782494544888126093789943602103795919498148548703785342658783976620117663008162390624998690122584247592433585484030216533151520165918272724979273338103064983476342790889154982127469554957652898296020799879605375087356122951935084823736862845856951113024913456806200837370562157802834538114828376887989627468877510326967966529985623096511696764786702538386987757287069226931381371000201121782672732616974760121968897992260286123331362518902502954841124032723410790323542240626103298941031795714843244098867055480596104249100417117736446245827474763001255389265337028384412004972714223790964333339790974589775494962974970761955082063225546583214047857092045332694200093679576149654885429005366325133215690388688615873072402220088540331623731003655991026820534358701581451544279645712926202905741734212844104078381075592671599355016908132945302525008298506750108322403759454524575561842081877379551318292644095829868054425189501424967527653364130320277464067021813722883453950146425521946483197031917590863152080583518869654814304036024898564986644690943583879145521804082263791599451676201866524621190547220491991567021318545901381997228429206545713109780693701596367319153466422722902526520015785920523744843355693272529668719863208519417147118271504362822202276900152111228871494086240232817262491335608901333625531695967459712069330300394707415652869753834683202611341326058378092291214584936578457131062785145084736907131464530122058903050383962102477215773243039801532183430017635426415422437001178841364732489289552244029796723894918492663405805067079053283573261697030428176789223089965334430190540275849792066491124472758081840273325491117622290709864197108037834701791658679264619381152196738122145038824006051517269836824914718652011481358628605454594654854116809287100104260211194722874301935319872279989814387583845377207822035337036243708399146215345880600438939274993340926870703362823147568636 2322088840190410047424819480694687179916146549920685504753893966609319909154217502346374166344694906740092362673907783919464184829870514587421972774914060060179932540754187134791626170194991096625754107560556510897595847675259817765931276687233424643305980090905938396640776392446890783345015751910479226399323629821053702643940409726795489376263470063117180073398497432097265388649881003128677940318086102726584658626629230683889760125923271951061750862325004893805959404420623168525805955528446555998719958832980970204475214409265380696779395350071290190534863296729442051713521037332997068816060343454837974296352312727675134616300349439553648757915609876759289724877651210630974151629808574791157753656273362932712036715459817194799295571609190819297650122714312286944892891232451539633453625604387702765763908627957264007615230963248370724160197080313364431779684492097883460881401224544038222668034382121859659649953297218067544116997820550959970494574061461212955907874160307402221942887557683916151303742594365447285954138780059932671060282390352169826736947664937692907964562364917855334497081621700557151128523144957020025619766182119264725008664413292284406222145602307233203059223678774408799536529099525364993234244777169906941713558914297515961965923993000649997222019461374654165435855738746556119405402139391793037620055988777979488292761613221271270298510489287431377349041673813213714512771150533525485610771960903456026144640662760726812974427920844825457393631652853516993297188269013990696795950901928180651084237333694886201893582053959962188687759171670643783428086204482365686779437981465199640551841720992182782835006549165861492552884285498877279352207682662699307985057963737239567602196791325812847108335355814886162073308543577355425487300709612694073643296945692131073906527204515984463915742244271952246264432568338581053412791221207509674226457913268718091619364365848627219811664558960678311704952507027238053350814651648515594692870347207977444437653145100509132002581202337791623633470174684867994078280110100516928849882418239179740590677233652256355594941315761154713608376371019881911171059438298598594570097229826740195879543043 3757218668324906306722202433030153645506168514640186500433320906794138820514619489552999809952452817009024035265611292249694392478204855693652152972673059490748743277859239465329914271356838591174647904453421749606834495189240353275760559352260597433891209090364720891185664518540680726947119547829977374948027415163712486620560527389803651766888468753239764320990931017581295605183032523294596213043065376064687723610105573474778915108050741506019403760621025693685564779507979291477741040352183418844576909946005883661281415246635942854582229888186118567422852924198319562040489003862982691912572040219624676834739300484962203843231730810553849879698282609376264484999620108623234437753139937310060256611114486965435447505783359435425398870550222615012493366813179342425488995481551956751190071850215177528765164017222601035999642968221084947951161413653155406369459987060858431643356306607263769251248429978951704982647497311747120266652705979965336819707277151601644523747232709622310483219181414919807294769414899805987535590324339578383986485296093904039581051743318768500636161719934763467442384146708855657878631467360779480144341743961346602388215731584928502052013656732422704484191206427772929856806563592386806957128231120053367235505397494547879556787145081233516091674275678690190334420725391247062989281284913597119883847588229655690159286234411818490790502056308749923250423671041642921058484260314219187207139280056922448867543189280742598894951665688181150666161321573380201816605416132262201158773104205080803195466205188972442126399316451297797589092797202339750887798273812666081486853634334953475235044332333508841213098840380446429131341416561662424436944589794163838107116866787623529704674007099055886909867539244903797499723966014356604328665442101983625887326742416025992399190610321051542969025817533649276692609357561671018747221411747785524018524404393190849701204639174118337433955268824875419742787208818896732615434032800712332815015386031983495954922981925423850654592683696420229088064829538984803365380214360728123572756720174499612870667048039840200972149137796491749852084770166097257051659877237873587911024100530103019027111679 6079307508515316354147021913724840825422315064560872005187214873403458729668836991899373976297147723749116397939519076169158577308075370281074125747587119550928675818613426600121540441551829687800402012013978260504430342864500171041691836039494022077197189181270659287826440910987571510292135299740456601347351044984766189264500937116599141143151938816356944394389428449678560993832913526423274153361151478791272382236734804158668675233974013457081154622946030587491524183928602460003546995880629974843296868778986853865756629655901323551361625238257408757957716220927761613754010041195979760728632383674462651131091613212637338459532080250107498637613892486135554209877271319254208589382948512101218010267387849898147484221243176630224694442159413434310143489527491629370381886714003496384643697454602880294529072645179865043614873931469455672111358493966519838149144479158741892524757531151301991919282812100811364632600794529814664383650526530925307314281338612814600431621393017024532426106739098835958598512009265253273489729104399511055046767686446073866317999408256461408600724084852618801939465768409412809007154612317799505764107926080611327396880144877212908274159259039655907543414885202181729393335663117751800191373008289960308949064311792063841522711138081883513313693737053344355770276464137803182394683424305390157503903577007635178452047847633089761089012545596181300599465344854856635571255410847744672817911240960378475012183852041469411869379586533006608059792974426897195113793685146252897954724006133261454279703538883858644019981370411259986276851968872983534315884478295031768266291615800153115786886053325691624048105389546307921684225702060539703789152272456863146092174830524863097306870798424868734018202895059789959573032509591712029815966151714677699530623688108157066305717814837036006884768061805601522957041925900252072160012632955295198244982317661908941320569005022745557245619827785553731447739715846134785966248684449227927507885733239960940392576127025932982657173886034211852721535004223852797443660324461245052422639138413679353461344281692096556567090453557646463460461141185979168222719315536472182481121330356843214906654722 9836526176840222660869224346754994470928483579201058505620535780197597550183456481452373786249600540758140433205130368418852969786280225974726278720260179041677419096472666065451454712908668278975049916467400010111264838053740524317452395391754619511088398271635380179012105429528252237239254847570433976295378460148478675885061464506402792910040407569596708715380359467259856599015946049717870366404216854855960105846840377633447590342024754963100558383567056281177088963436581751481288036232813393687873778724992737527038044902537266405943855126443527325380569145126081175794499045058962452641204423894087327965830913697599542302763811060661348517312175095511818694876891427877443027136088449411278266878502336863582931727026536065650093312709636049322636856340670971795870882195555453135833769304818057823294236662402466079614516899690540620062519907619675244518604466219600324168113837758565761170531242079763069615248291841561784650303232510890644133988615764416244955368625726646842909325920513755765893281424165059261025319428739089439033252982539977905899051151575229909236885804787382269381849915118268466885786079678578985908449670041957929785095876462141410326172915772078612027606091629954659250142226710138607148501239410013676184569709286611721079498283163117029405368012732034546104697189529050245383964709218987277387751165237290868611334082044908251879514601904931223849889015896499556629739671161963860025050521017300923879727041322212010764331252221187758725954296000277396930399101278515099113497110338342257475169744072831086146380686862557783865944766075323285203682752107697849753145250135106591021930385659200465261204229926754350815567118622202128226096862251026984199291697312486627011544805523924620928070434304693757072756475606068634144631593816661325417950430524183058704908425158087549853793879339250799649651283461923090907234044703080722263506722055099791021773644196863894679575096610429151190526924665031518581682717249940260322901119271944436347499108951356833311766569730632081809599833762837600809040538821973175995395858588178966332011329731936757539239591354138213312545911352076425274379192774345770392145430886946233933766401 15915833685355539015016246260479835296350798643761930510807750653601056279852293473351747762546748264507256831144649444588011547094355596255800404467847298592606094915086092665572995154460497966775451928481378270615695180918240695359144231431248641588285587452906039466838546340515823747531390147310890577642729505133244865149562401623001934053192346385953653109769787916938417592848859576141144519765368333647232488083575181792116265575998768420181713006513086868668613147365184211484835032113443368531170647503979591392794674558438589957305480364700936083338285366053842789548509086254942213369836807568549979096922526910236880762295891310768847154926067581647372904754162747131651616519036961512496277145890186761730415948269712695874787754869049483632780345868162601166252768909558949520477466759420938117823309307582331123229390831159996292173878401586195082667748945378342216692871368909867753089814054180574434247849086371376449033953759041815951448269954377230845386990018743671375335432659612591724491793433430312534515048533138600494080020668986051772217050559831691317837609889640001071321315683527681275892940691996378491672557596122569257181976021339354318600332174811734519571020976832136388643477889827890407339874247699973985133634021078675562602209421245000542719061749785378901874973653666853427778648133524377434891654742244926047063381929677998012968527147501112524449354360751356192200995082009708532842961761977679398891910893363681422633710838754194366785747270427174592044192786424767997068221116471603711754873282956689730166362057273817770142796734948306819519567230402729618019436865935259706808816438984892089309309619473062272499792820682741832015249134707890130291466527837349724318415603948793354946273329364483716645788985197780663960597745531339024948574118632340125010626239995123556738561941144852322606693209362175163067246677658375920508489039717008732342342649219609451925194924395982882638266640511166304547931401699168187830786852511905376740075235977289815968940455764843934531134837986690398252700863283218228418034997001858319793355611424033314106330044911784676773007052538055593497098508310817952873266761243789448840421123 25752359862195761675885470607234829767279282222962989016428286433798653830035749954804121548796348805265397264349779813006864516880635822230526683188107477634283514011558758731024449867369166245750501844948778280726960018971981219676596626823003261099373985724541419645850651770044075984770644994881324553938107965281723541034623866129404726963232753955550361825150147384198274191864805625859014886169585188503192593930415559425563855918023523383282271390080143149845702110801765962966123068346256762219044426228972328919832719460975856363249335491144463408718854511179923965343008131313904666011041231462637307062753440607836423065059702371430195672238242677159191599631054175009094643655125410923774544024392523625313347675296248761524881067578685532955417202208833572962123651105114402656311236064238995941117545969984797202843907730850536912236398309205870327186353411597942540860985206668433514260345296260337503863097378212938233684256991552706595582258570141647090342358644470318218244758580126347490385074857595371795540367961877689933113273651526029678116101711406921227074495694427383340703165598645949742778726771674957477581007266164527186967071897801495728926505090583813131598627068462091047893620116538029014488375487109987661318203730365287283681707704408117572124429762517413447979670843195903673162612842743364712279405907482216915674716011722906264848041749406043748299243376647855748830734753171672392868012282994980322771637934685893433398042090975382125511701566427451988974591887703283096181718226809945969230043027029520816312742744136375554008741501023630104723249982510427467772582116070366297830746824644092554570513849399816623315359939304943960241345996958917114490758225149836351329960409472717975874343763669177473718545460803849298105229339348000350366524549156523183715534665153211106592355820484103122256344492824098253974480722361456642771995761772108523364116293416473346604770021006412033828793565176197823129614118949108448153687971783849813087574344928646649280707025495476016340734671749527999061741402105191404413430855590037286125366941155970071645569636265922890085552963890132018771477701085163723265412192130735682774187524 41668193547551300690901716867714665063630080866724919527236037087399710109888043428155869311343097069772654095494429257594876063974991418486327087655954776226889608926644851396597445021829664212525953773430156551342655199890221915035740858254251902687659573177447459112689198110559899732302035142192215131580837470414968406184186267752406661016425100341504014934919935301136691784713665202000159405934953522150425082013990741217680121494022291803463984396593230018514315258166950174450958100459700130750215073732951920312627394019414446320554815855845399492057139877233766754891517217568846879380878039031187286159675967518073303827355593682199042827164310258806564504385216922140746260174162372436270821170282710387043763623565961457399668822447735016588197548076996174128376420014673352176788702823659934058940855277567128326073298562010533204410276710792065409854102356976284757553856575578301267350159350440911938110946464584314682718210750594522547030528524518877935729348663213989593580191239738939214876868291025684330055416495016290427193294320512081450333152271238612544912105584067384412024481282173631018671667463671335969253564862287096444149047919140850047526837265395547651169648045294227436537098006365919421828249734809961646451837751443962846283917125653118114843491512302792349854644496862757100941260976267742147171060649727142962738097941400904277816568896907156272748597737399211941031729835181380925710974044972659721663548828049574856031752929729576492297448836854626581018784674128051093249939343281549680984916309986210546479104801410193324151538235971936924242817212913157085792018982005626004639563263628984643879823468872878895815152759987685792256595131666807244782224752987186075648376013421511330820617093033661190364334446001629962065827084879339375315098667788863308726160905148334663330917761628955444863037702186273417041727400019832563280484801489117255706458942636082798529964945402394916467060205687364127677545520648276635984474824295755189827649580905936465249647481260319950871869509736218397314442265388409632831465852591895605918722552580003385751899681177707566858560016428187612268576209395981676138678953374525131614608647 67420553409747062366787187474949494830909363089687908543664323521198363939923793382959990860139445875038051359844209070601740580855627240716853770844062253861173122938203610127621894889198830458276455618378934832069615218862203134712337485077255163787033558901988878758539849880603975717072680137073539685518945435696691947218810133881811387979657854297054376760070082685334965976578470827859174292104538710653617675944406300643243977412045815186746255786673373168360017368968716137417081168805956892969259499961924249232460113480390302683804151346989862900775994388413690720234525348882751545391919270493824593222429408125909726892415296053629238499402552935965756104016271097149840903829287783360045365194675234012357111298862210218924549890026420549543614750285829747090500071119787754833099938887898930000058401247551925528917206292861070116646675019997935737040455768574227298414841782246734781610504646701249441974043842797252916402467742147229142612787094660525026071707307684307811824949819865286705261943148621056125595784456893980360306567972038111128449253982645533771986601278494767752727646880819580761450394235346293446834572128451623631116119816942345776453342355979360782768275113756318484430718122903948436316625221919949307770041481809250129965624830061235686967921274820205797834315340058660774103873819011106859450466557209359878412813953123810542664610646313200021047841114047067689862464588353053318578986327967640044435186762735468289429795020704958617809150403282078569993376561831334189431657570091495650214959337015731362791847545546568878160279736995567028966067195423584553564601098075992302470310088273077198450337318272695519130512699292629752497941128625724359272982978137022426978336422894229306694960856702838664082879906805479260171056424227339725681623216945386492441695570301545769923273582113058567119382195010371671016208122381289206052480563261225779070575236052556145134734966408806950295853770863561950807159639597385084138162796079605002915223925834583114530354506755795967212604181485746396376183667493601037244896708181932892044089493735973457397469317443630456944112980318319631040053910481145399404091145505260814388796171 109088746957298363057688904342664159894539443956412828070900360608598074049811836811115860171482542944810705455338638328196616644830618659203180858500017030088062731864848461524219339911028494670802409391809091383412270418752425049748078343331507066474693132079436337871229047991163875449374715279265754817099782906111660353402996401634218048996082954638558391694990017986471657761292136029859333698039492232804042757958397041860924098906068106990210240183266603186874332627135666311868039269265657023719474573694876169545087507499804749004358967202835262392833134265647457475126042566451598424772797309525011879382105375643983030719770889735828281326566863194772320608401488019290587164003450155796316186364957944399400874922428171676324218712474155566131812298362825921218876491134461107009888641711558864058999256525119053854990504854871603321056951730790001146894558125550512055968698357825036048960663997142161380084990307381567599120678492741751689643315619179402961801055970898297405405141059604225920138811439646740455651200951910270787499862292550192578782406253884146316898706862562152164752128162993211780122061699017629416088136990738720075265167736083195823980179621374908433937923159050545920967816129269867858144874956729910954221879233253212976249541955714353801811412787122998147688959836921417875045134795278849006621527206936502841150911894524714820481179543220356293796438851446279630894194423534434244289960372940299766098735590785043145461547950434535110106599240136705151012161235959385282681596913373045331199875647001941909270952346956762202311817972967503953208884408336741639356620080081618307109873351902061842330160787145574414945665459280315544754536260292531604055207731124208502626712436315740637515577949736499854447214352807109222236883509106679100996721884734249801167856475449880433254191343742014011982419897196645088057935522401121769332965364750343034777034178688638943664699911811201866762913976550926078484705160245661720122637620375360192742873506740519579780001988016115918084473691221964793690625932882010670076362560773828497962812046315976843149368998621338023802672996746507243308630119877127075542770098879785946003404818 176509300367045425424476091817613654725448807046100736614564684129796437989735630194075851031621988819848756815182847398798357225686245899920034629344079283949235854803052071651841234800227325129078865010188026215481885637614628184460415828408762230261726690981425216629768897871767851166447395416339294502618728341808352300621806535516029436975740808935612768455060100671806623737870606857718507990144030943457660433902803342504168076318113922176956495969939976355234349996104382449285120438071613916688734073656800418777547620980195051688163118549825125293609128654061148195360567915334349970164716580018836472604534783769892757612186185789457519825969416130738076712417759116440428067832737939156361551559633178411757986221290381895248768602500576115675427048648655668309376562254248861842988580599457794059057657772670979383907711147732673437703626750787936883935013894124739354383540140071770830571168643843410822059034150178820515523146234888980832256102713839927987872763278582605217230090879469512625400754588267796581246985408804251147806430264588303707231660236529680088885308141056919917479775043812792541572455934363922862922709119190343706381287553025541600433521977354269216706198272806864405398534252173816294461500178649860261991920715062463106215166785775589488779334061943203945523275176980078649149008614289955866071993764145862719563725847648525363145790189533556314844279965493347320756659011887487562868946700907939810533922353520511434891342971139493727915749643418783721005537797790719472113254483464540981414834984017673272062799892503331080472097709963070982174951603760326192921221178157610609580183440175139040780498105418269934076178158572945297252477388918255963328190709261230929605048859209969944210538806439338518530094259612588482407939933334018826678345101679636293609552045751426203177464925855072579101802092207016759074143644782410975385445928011568813847609414741195088799434878220008817058767747414488029291864799843046804260800416454965195658097432575102694310356494771911885297077872707711190066809600375611707321259268955761390006901540051950300546838316064968480746785977064826874348684030358272474946861244385046760392200989 285598047324343788482164996160277814619988251002513564685465044738394512039547467005191711203104531764659462270521485726994973870516864559123215487844096314037298586667900533176060574711255819799881274401997117598894156056367053234208494171740269296736419823060861554500997945862931726615822110695605049319718511247920012654024802937150247485971823763574171160150050118658278281499162742887577841688183523176261703191861200384365092175224182029167166736153206579542108682623240048761153159707337270940408208647351676588322635128479999800692522085752660387686442262919708605670486610481785948394937513889543848351986640159413875788331957075525285801152536279325510397320819247135731015231836188094952677737924591122811158861143718553571572987314974731681807239347011481589528253053388709968852877222311016658118056914297790033238898216002604276758760578481577938030829572019675251410352238497896806879531832640985572202144024457560388114643824727630732521899418333019330949673819249480902622635231939073738545539566027914537036898186360714521935306292557138496286014066490413826405784015003619072082231903206806004321694517633381552279010846109929063781646455289108737424413701598729177650644121431857410326366350381443684152606375135379771216213799948315676082464708741489943290590746849066202093212235013901496524194143409568804872693520971082365560714637742173240183626969732753912608640718816939626951650853435421921807158907073848239576632657944305554580352890921574028838022348883555488872017699033750104754794851396837586312614710631019615181333752239460093282783915682930574935383836012097067832277841258239228916690056792077200883110658892563844349021843617853260842007013649210787567383398440385439432231761295525710581726116756175838372977308612419697704644823442440697927675066986413886094777408521201306636431656269597086591084221989403661847132079167183532744718411292761911848624643593429834032464134790031210683821681723965414107776569960088708524383438036830325388400970939315622274090358482788027803381551563929675983757435533257622377397621829729589887969713586367927143696207314686306504549458973811334117657314150235399550489631343264832706395605807 462107347691389213906641087977891469345437058048614301300029728868190950029283097199267562234726520584508219085704333125793331096203110459043250117188175597986534441470952604827901809511483144928960139412185143814376041693981681418668910000149031526998146514042286771130766843734699577782269506111944343822337239589728364954646609472666276922947564572509783928605110219330084905237033349745296349678327554119719363625764003726869260251542295951344123232123146555897343032619344431210438280145408884857096942721008477007100182749460194852380685204302485512980051391573769753865847178397120298365102230469562684824591174943183768545944143261314743320978505695456248474033237006252171443299668926034109039289484224301222916847365008935466821755917475307797482666395660137257837629615642958830695865802910474452177114572070461012622805927150336950196464205232365874914764585913799990764735778637968577710103001284828983024203058607739208630166970962519713354155521046859258937546582528063507839865322818543251170940320616182333618145171769518773083112722821726799993245726726943506494669323144675991999711678250618796863266973567745475141933555229119407488027742842134279024847223576083446867350319704664274731764884633617500447067875314029631478205720663378139188679875527265532779370080911009406038735510190881575173343152023858760738765514735228228280278363589821765546772759922287468923484998782432974272407512447309409370027853774756179387166580297826066015244233892713522565938098526974272593023236831540824226908105880302127294029545615037288453396552131963424363256013392893645917558787615857394025199062436396839526270240232252339923891156997982114283098021776426206139259491038129043530711589149646670361836810154735680525936655562615176891507402872032286187052763375774716754353412088093522388386960566952732839609121195452159170186024081610678606206222811965943720103857220773480662472253008171029121263569668251219500880449471379902137068434759931755328644238453285290584059068371890724968400714977559939688678629436637387173824245133633234084718881098685351277976615126419877444243045630751274985296244950876160992005998180593672025436492587649879466787806796 747705395015733002388806084138169283965425309051127865985494773606585462068830564204459273437831052349167681356225818852788304966719975018166465605032271912023833028138853138003962384222738964728841413814182261413270197750348734652877404171889300823734566337103148325631764789597631304398091616807549393142055750837648377608671412409816524408919388336083955088755160337988363186736196092632874191366511077295981066817625204111234352426766477980511289968276353135439451715242584479971591439852746155797505151368360153595422817877940194653073207290055145900666493654493478359536333788878906246760039744359106533176577815102597644334276100336840029122131041974781758871354056253387902458531505114129061717027408815424034075708508727489038394743232450039479289905742671618847365882669031668799548743025221491110295171486368251045861704143152941226955224783713943812945594157933475242175088017135865384589634833925814555226347083065299596744810795690150445876054939379878589887220401777544410462500554757616989716479886644096870655043358130233295018419015378865296279259793217357332900453338148295064081943581457424801184961491201127027420944401339048471269674198131243016449260925174812624517994441136521685058131235015061184599674250449409402694419520611693815271144584268755476069960827760075608131947745204783071697537295433427565611459035706310593840993001331995005730399729655041381532125717599372601224058365882731331177186760848604418963799238242131620595597124814287551403960447410529761465040935865290928981702957277139713606644256246056903634730304371423517646039929075824220852942623627954461857476903694636068442960297024329540807001815890545958632119865394279466981266504687339831098094987590032109794068571450261391107662772318791015264484711484451983891697586818215414682028479074507408483164369088154039476040777465049245761270246071014340453338301979149476464822268513535392511096896601600863153727704458282430184702131195345316244845004720020463853027676490115615972460039311206347242491073460347967492060181000567063157581680666890856462116502928414941165946328712787804587939252945437581489845703924687495109663312330829071575926123930914712173183412603 1209812742707122216295447172116060753310862367099742167285524502474776412098113661403726835672557572933675900441930151978581636062923085477209715722220447510010367469609805742831864193734222109657801553226367405227646239444330416071546314172038332350732712851145435096762531633332330882180361122919493736964392990427376742563318021882482801331866952908593739017360270557318448091973229442378170541044838631415700430443389207838103612678308773931855413200399499691336794747861928911182029719998155040654602094089368630602523000627400389505453892494357631413646545046067248113402180967276026545125141974828669218001168990045781412880220243598154772443109547670238007345387293259640073901831174040163170756316893039725256992555873736424505216499149925347276772572138331756105203512284674627630244608828131965562472286058438712058484510070303278177151688988946309687860358743847275232939823795773833962299737835210643538250550141673038805374977766652670159230210460426737848824766984305607918302365877576160240887420207260279204273188529899752068101531738200592096272505519944300839395122661292971056081655259708043598048228464768872502562877956568167878757701940973377295474108148750896071385344760841185959789896119648678685046742125763439034172625241275071954459824459796021008849330908671085014170683255395664646870880447457286326350224550441538822121271364921816771277172489577328850455610716381805575496465878330040740547214614623360598350965818539957686610841358707001073969898545937504034058064172696831753208611063157441840900673801861094192088126856503386942009295942468717866770501411243811855882675966131032907969230537256581880730892972888528072915217887170705673120525995725468874628806576739678780155905381604997071633599427881406192155992114356484270078750350193990131436381891162600930871551329655106772315649898660501404931456270152625019059544524791115420184926125734308873173569149609771892274991274126533649685582580666725218381913439479952219181671914943400906556519107683097072210891788437907907180738810437204450331405925800524090546835384027100292443922943839207682032182298576188856475141948875563656101669310511422743601362616518564591639971219399 1957518137722855218684253256254230037276287676150870033271019276081361874166944225608186109110388625282843581798155970831369941029643060495376181327252719422034200497748658880835826577956961074386642967040549666640916437194679150724423718343927633174467279188248583422394296422929962186578452739727043130106448741265025120171989434292299325740786341244677694106115430895306811278709425535011044732411349708711681497261014411949337965105075251912366703168675852826776246463104513391153621159850901196452107245457728784197945818505340584158527099784412777314313038700560726472938514756154932791885181719187775751177746805148379057214496343934994801565240589645019766216741349513027976360362679154292232473344301855149291068264382463913543611242382375386756062477881003374952569394953706296429793351853353456672767457544806963104346214213456219404106913772660253500805952901780750475114911812909699346889372669136458093476897224738338402119788562342820605106265399806616438711987386083152328764866432333777230603900093904376074928231888029985363119950753579457392551765313161658172295575999441266120163598841165468399233189955969999529983822357907216350027376139104620311923369073925708695903339201977707644848027354663739869646416376212848436867044761886765769730969044064776484919291736431160622302631000600447718568417742890713891961683586147849415962264366253811777007572219232370231987736433981178176720524244212772071724401375471965017314765056782089307206438483521288625373858993348033795523105108562122682190314020434581554507318058107151095722857160874810459655335871544542087623444034871766317740152869825668976412190834280911421537894788779074031547337752564985140101792500412808705726901564329710889949973953055258462741262200200197207420476825840936253970447937012205546118410370237108339354715698743260811791690676125550650692726516223639359512882826770264896649748394247844265684666046211372755428718978584816079870284711862070534626758444199972683034699591433516522528979146994303419453382861898255874672798991437771513488987606467414947008951886955515233609869272551995486620121551521626437964987652800251151211332622842251815177288740449479303813154632002 3167330880429977434979700428370290790587150043250612200556543778556138286265057887011912944782946198216519482240086122809951577092566145972585897049473166932044567967358464623667690771691183184044444520266917071868562676639009566795970032515965965525199992039394018519156828056262293068758813862646536867070841731692401862735307456174782127072653294153271433123475701452625259370682654977389215273456188340127381927704403619787441577783384025844222116369075352518113041210966442302335650879849056237106709339547097414800468819132740973663980992278770408727959583746627974586340695723430959337010323694016444969178915795194160470094716587533149574008350137315257773562128642772668050262193853194455403229661194894874548060820256200338048827741532300734032835050019335131057772907238380924060037960681485422235239743603245675162830724283759497581258602761606563188666311645628025708054735608683533309189110504347101631727447366411377207494766328995490764336475860233354287536754370388760247067232309909937471491320301164655279201420417929737431221482491780049488824270833105959011690698660734237176245254100873511997281418420738872032546700314475384228785078080077997607397477222676604767288683962818893604637923474312418554693158501976287471039670003161837724190793503860797493768622645102245636473314255996112365439298190348000218311908136589388238083535731175628548284744708809699082443347150362983752216990122542812812271615990095325615665730875322046993817279842228289699343757539285537829581169281258954435398925083592023395407991859968245287810984017378197401664631814013259954393945446115578173622828835956701884381421371537493302268787761667602104462555639735690813222318496138277580355708141069389670105879334660255534374861628081603399576468940197420524049198287206195677554792261399709270226267028398367584107340574786052055624182786376264378572427351561380316834674519982153138858235195821144647703710252711349729555867292528795753008671883679924902216371506376917429085498254677400491664274650336163781853537801874975963820393532267939037555787270982615526053792216391203168652303850097815294440129601675814807313001933353674558778651356968043895453125851401 5124849018152832653663953684624520827863437719401482233827563054637500160432002112620099053893334823499363064038242093641321518122209206467962078376725886354078768465107123504503517349648144258431087487307466738509479113833688717520393750859893598699667271227642601941551124479192255255337266602373579997177290472957426982907296890467081452813439635397949127229591132347932070649392080512400260005867538048839063424965418031736779542888459277756588819537751205344889287674070955693489272039699957433558816585004826198998414637638081557822508092063183186042272622447188701059279210479585892128895505413204220720356662600342539527309212931468144375573590726960277539778869992285696026622556532348747635703005496750023839129084638664251592438983914676120788897527900338506010342302192087220489831312534838878908007201148052638267176938497215716985365516534266816689472264547408776183169647421593232656078483173483559725204344591149715609614554891338311369442741260039970726248741756471912575832098742243714702095220395069031354129652305959722794341433245359506881376036146267617183986274660175503296408852942038980396514608376708871562530522672382600578812454219182617919320846296602313463192023164796601249485950828976158424339574878189135907906714765048603493921762547925573978687914381533406258775945256596560084007715933238714110273591722737237654045800097429440325292316928042069314431083584344161928937514366755584883996017365567290632980495932104136301023718325749578324717616532633571625104274389821077117589239104026604949915309918075396383533841178253007861319967685557802042017389480987344491362981705782370860793612205818404723806682550446676136009893392300675953324110996551086286082609705399100560055853287715513997116123828281800606996945766038356778019646224218401223673202631636817609580982727141628395899031250911602706316909302599903738085310178331645213484422914229997404542901242032517403132429231296165809426152004390866287635430327879897585251071097810433951614477401671703911117657512234419656526336793312747477309381138735353984564739157938130759663661488943198655272425401619441732405117254476065958524334556195926373955940097417523199266280483403 8292179898582810088643654112994811618450587762652094434384106833193638446697059999632011998676281021715882546278328216451273095214775352440547975426199053286123336432465588128171208121339327442475532007574383810378041790472698284316363783375859564224867263267036620460707952535454548324096080465020116864248132204649828845642604346641863579886092929551220560353066833800557330020074735489789475279323726388966445352669821651524221120671843303600810935906826557863002328885037397995824922919549013670665525924551923613798883456770822531486489084341953594770232206193816675645619906203016851465905829107220665689535578395536699997403929519001293949581940864275535313340998635058364076884750385543203038932666691644898387189904894864589641266725446976854821732577919673637068115209430468144549869273216324301143246944751298313430007662780975214566624119295873379878138576193036801891224383030276765965267593677830661356931791957561092817109321220333802133779217120273325013785496126860672822899331052153652173586540696233686633331072723889460225562915737139556370200306979373576195676973320909740472654107042912492393796026797447743595077222986857984807597532299260615526718323519278918230480707127615494854123874303288576979032733380165423378946384768210441218112556051786371472456537026635651895249259512592672449447014123586714328585499859326625892129335828605068873577061636851768396874430734707145681154504489298397696267633355662616248646226807426183294840998167977868024061374071919109454685443671080031552988164187618628345323301778043641671344825195631205262984599499571061996411334927102922664985810541739072745175033577355898026075470312114278240472449032036366766546429492689363866438317846468490230161732622375769531490985456363404006573414706235777302068844511424596901227994893036526879807249755539995980006371825697654761941092088976168116657737529893025530319097434212150543401136437853662050836139484007515538982019296919662040644102211559822487467442604187351380699975656349104402781932162570583438379874595187723441129774671003293022120526428920746285717453705334401823924729251717257026845246856151880765837336489549600932734591454385567094719406334804 13417028916735642742307607797619332446314025482053576668211669887831138607129062112252111052569615845215245610316570310092594613336984558908510053802924939640202104897572711632674725470987471700906619494881850548887520904306387001836757534235753162924534534494679222402259077014646803579433347067393696861425422677607255828549901237108945032699532564949169687582657966148489400669466816002189735285191264437805508777635239683261000663560302581357399755444577763207891616559108353689314194959248971104224342509556749812797298094408904089308997176405136780812504828641005376704899116682602743594801334520424886409892240995879239524713142450469438325155531591235812853119868627344060103507306917891950674635672188394922226318989533528841233705709361652975610630105820012143078457511622555365039700585751163180051254145899350951697184601278190931551989635830140196567610840740445578074394030451869998621346076851314221082136136548710808426723876111672113503221958380313295740034237883332585398731429794397366875681761091302717987460725029849183019904348982499063251576343125641193379663247981085243769062959984951472790310635174156615157607745659240585386409986518443233446039169815881231693672730292412096103609825132264735403372308258354559286853099533259044712034318599711945451144451408169058154025204769189232533454730056825428438859091582063863546175135926034509198869378564893837711305514319051307610092018856053982580263650721229906881626722739530319595864716493727446348778990604552681079789718060901108670577403291645233295238611696119038054878666373884213124304567185128864038428724408090267156348792247521443605968645783174302749882152862560954376482342424337042719870540489240450152520927551867590790217585910091283528607109284645204613570360472274134080088490735642998124901197524673344489388232482681624375905403076609257468258001391576071854743047708224670743803520348442147947944037679886179453968568715303681348408171301310528328279532539439720072718513701997785332314453058020808313899589674805003094906211388500470918439155809738647006685265586858877045381115194277600479197154653336698759250364110627946724361671045745527306690531551803090293985686818207 21709208815318452830951261910614144064764613244705671102595776721024777053826122111884123051245896866931128156594898526543867708551759911349058029229123992926325441330038299760845933592326799143382151502456234359265562694779085286153121317611612727149401797761715842862967029550101351903529427532413813725673554882257084674192505583750808612585625494500390247935724799949046730689541551491979210564514990826771954130305061334785221784232145884958210691351404321070893945444145751685139117878797984774889868434108673426596181551179726620795486260747090375582737034834822052350519022885619595060707163627645552099427819391415939522117071969470732274737472455511348166460867262402424180392057303435153713568338880039820613508894428393430874972434808629830432362683739685780146572721053023509589569858967487481194501090650649265127192264059166146118613755126013576445749416933482379965618413482146764586613670529144882439067928506271901243833197332005915637001175500586620753819734010193258221630760846551019049268301787536404620791797753738643245467264719638619621776650105014769575340221301994984241717067027863965184106661971604358752684968646098570194007518817703848972757493335160149924153437420027590957733699435553312382405041638519982665799484301469485930146874651498316923600988434804710049274464281781904982901744180412142767444591441390489438304471754639578072446440201745606108179945053758453291246523345352380276531284076892523130272949546956502890705714661705314372840364676471790534475161731981140223565567479263861640561913474162679726223491569515418387289166684699926034840059335193189821334602789260516351143679360530200775957623174675232616954791456373409486416969981929814018959245398336081020379318532467053060098094741008608620143775178509911382157335247067595026129192417709871369195482238221620355911774902306912230199093480552239971400785238117696274122617782654298491345174117739841504804708199311196887390190598230190368923634750999542560185956306185136713014428714369912716681521837375586533286085983688194359568930480741940028805792015779623331098568899612002303121883905053955786095610966779827490199007535295128239425123006188657388705093153011 35126237732054095573258869708233476511078638726759247770807446608855915660955184224136234103815512712146373766911468836636462321888744470257568083032048932566527546227611011393520659063314270844288770997338084908153083599085472287989878851847365890073936332256395065265226106564748155482962774599807510587098977559864340502742406820859753645285158059449559935518382766097536131359008367494168945849706255264577462907940301018046222447792448466315610446795982084278785562003254105374453312838046955879114210943665423239393479645588630710104483437152227156395241863475827429055418139568222338655508498148070438509320060387295179046830214419940170599893004046747161019580735889746484283899364221327104388204011068434742839827883961922272108678144170282806042992789559697923225030232675578874629270444718650661245755236550000216824376865337357077670603390956153773013360257673927958040012443934016763207959747380459103521204065054982709670557073443678029140223133880899916493853971893525843620362190640948385924950062878839122608252522783587826265371613702137682873352993230655962955003469283080228010780027012815437974417297145760973910292714305339155580417505336147082418796663151041381617826167712439687061343524567818047785777349896874541952652583834728530642181193251210262374745439842973768203299669050971137516356474237237571206303683023454352984479607680674087271315818766639443819485459372809760901338542201406362856794934798122430011899672286486822486570431155432760721619355281024471614264879792882248894142970770909094935800525170281717781102157943399631511593733869828790073268783743283456977683395036781959957112325143704503525839776037236186993437133880710452206287510471170264171480172950203671810596904442558336588705204025653813233714135650784045462245825982710593151030389942383215858583714720903244731817177978916169698457094872128311826143832946342367017926138131096446439289211797626020958773276914614878235798361899540718697203167290439262632904470008182922045328881772390721030581111512180589628192297372188665278008086290480587035491057602638500376479684093889602782319038558390654545345975077407774214560678581040655546115654557991747682690779971218 56835446547372548404210131618847620575843251971464918873403223329880692714781306336020357155061409579077501923506367363180330030440504381606626112261172925492852987557649311154366592655641069987670922499794319267418646293864557574143000169458978617223338130018110908128193136114849507386492202132221324312772532442121425176934912404610562257870783553949950183454107566046582862048549918986148156414221246091349417038245362352831444232024594351273821138147386405349679507447399857059592430716844940654004079377774096665989661196768357330899969697899317531977978898310649481405937162453841933716215661775715990608747879778711118568947286389410902874630476502258509186041603152148908464291421524762258101772349948474563453336778390315702983650578978912636475355473299383703371602953728602384218840303686138142440256327200649481951569129396523223789217146082167349459109674607410338005630857416163527794573417909603985960271993561254610914390270775683944777224309381486537247673705903719101841992951487499404974218364666375527229044320537326469510838878421776302495129643335670732530343690585075212252497094040679403158523959117365332662977682951437725774425024153850931391554156486201531541979605132467278019077224003371360168182391535394524618452068136198016572328067902708579298346428277778478252574133332753042499258218417649713973748274464844842422784079435313665343762258968385049927665404426568214192585065546758743133326218875014953142172621833443325377276145817138075094459719957496262148740041524863389117708538250172956576362438644444397507325649512915049898882900554528716108108843078476646799017997826042476308256004504234704301797399211911419610391925337083861692704480453100078190439418348539752830976222975025389648803298766662421853857910829293956844403161229778188177159582360093087227779196959124865087728952881223081928656188352680551797544618184460063292048755913750744930634385915365862463577985113926075123188552497770909066126802041438805193090426314368058758343310486760633747262633349556176161478383355876859637577016771222527064296849618418123707578252993501605085440922463444610331441586044187601704759686116335783785540777564180405071395873124229 91961684279426643977469001327081097086921890698224166644210669938736608375736490560156591258876922291223875690417836199816792352329248851864194195293221858059380533785260322547887251718955340831959693497132404175571729892950029862132879021306344507297274462274505973393419242679597662869454976732028834899871510001985765679677319225470315903155941613399510118972490332144118993407558286480317102263927501355926879946185663370877666679817042817589431584943368489628465069450653962434045743554891896533118290321439519905383140842356988041004453135051544688373220761786476910461355302022064272371724159923786429118067940166006297615777500809351073474523480549005670205622339041895392748190785746089362489976361016909306293164662352237975092328723149195442518348262859081626596633186404181258848110748404788803686011563750649698775945994733880301459820537038321122472469932281338296045643301350180291002533165290063089481476058616237320584947344219361973917447443262386453741527677797244945462355142128447790899168427545214649837296843320914295776210492123913985368482636566326695485347159868155440263277121053494841132941256263126306573270397256776881354842529489998013810350819637242913159805772844906965080420748571189407953959741432269066571104651970926547214509261153918841673091868120752246455873802383724180015614692654887285180051957488299195407263687115987752615078077735024493747150863799377975093923607748165105990121153673137383154072294119930147863846576972570835816079075238520733763004921317745638011851509021082051512162963814726115288427807456314681410476634424357506181377626821760103776701392862824436265368329647939207827637175249147606603829059217794313898991990924270342361919591298743424641573127417583726237508502792316235087572046480078002306648987212488781328189972302476303086362911680028109819546130860139251627113283224808863623688451130802430309974894044847191369923597712991883422351262028540953358986914397311627763329969331878067825994896322550980803672192259151354777843744861736765789670680728065524915585103061703114099787907221056624084057937087391207867759961021835264876787561121595375919320364697376439331656432122172152754086653095447 148797130826799192381679132945928717662765142669689085517613893268617301090517796896176948413938331870301377613924203562997122382769753233470820307554394783552233521342909633702253844374596410819630615996926723442990376186814587436275879190765323124520612592292616881521612378794447170255947178864250159212644042444107190856612231630080878161026725167349460302426597898190701855456108205466465258678148747447276296984431025723709110911841637168863252723090754894978144576898053819493638174271736837187122369699213616571372802039125345371904422832950862220351199660097126391867292464475906206087939821699502419726815819944717416184724787198761976349153957051264179391663942194044301212482207270851620591748710965383869746501440742553678075979302128108078993703736158465329968236140132783643066951052090926946126267890951299180727515124130403525249037683120488471931579606888748634051274158766343818797106583199667075441748052177491931499337614995045918694671752643872990989201383700964047304348093615947195873386792211590177066341163858240765287049370545690287863612279901997428015690850453230652515774215094174244291465215380491639236248080208214607129267553643848945201904976123444444701785377977374243099497972574560768122142132967663591189556720107124563786837329056627420971438296398530724708447935716477222514872911072536999153800231953144037830047766551301417958840336703409543674816268225946189286508673294923849123447372548152336296244915953373473241122722789708910910538795196016995911744962842609027129560047271255008088525402459170512795753456969229731309359534978886222289486469900236750575719390688866912573624334152173912129434574461059026214220984554878175591696471377370420552359009647283177472549350392609115886311801558978656941429957309371959151052148442266969505349554662569390314142108639152974907275083741362333555769471577489415421233069315262493602023649958597936300557983628357745885929247142467028482175466895082536829456771373316873019085322636919039562015502745911988525106378211292941951149064083942384553162119832925641164084756839474747791636190080892812953200883485279875208229147165782977624080050813712223117197209686352557825482526219676 240758815106225836359148134273009814749687033367913252161824563207353909466254287456333539672815254161525253304342039762813914735099002085335014502847616641611614055128169956250141096093551751651590309494059127618562106079764617298408758212071667631817887054567122854915031621474044833125402155596278994112515552446092956536289550855551194064182666780748970421399088230334820848863666491946782360942076248803203176930616689094586777591658679986452684308034123384606609646348707781927683917826628733720240660020653136476755942881482333412908875968002406908724420421883603302328647766497970478459663981623288848844883760110723713800502288008113049823677437600269849597286281235939693960672993016940983081725071982293176039666103094791653168308025277303521512051999017546956564869326536964901915061800495715749812279454701948879503461118864283826708858220158809594404049539170086930096917460116524109799639748489730164923224110793729252084284959214407892612119195906259444730729061498208992766703235744394986772555219756804826903638007179155061063259862669604273232094916468324123501038010321386092779051336147669085424406471643617945809518477464991488484110083133846959012255795760687357861591150822281208179918721145750176076101874399932657760661372078051111001346590210546262644530164519282971164321738100201402530487603727424284333852189441443233237311453667289170573918414438434037421967132025324164380432281043088955113568526221289719450317210073303621104969299762279746726617870434537729674749884160354665141411556292337059600688366273896628084181264425544412719836169403243728470864096721996854352420783551691348838992663800113119957071749710206632818050043772672489490688462301640762914278600946026602114122477810192842123820304351294892029002003789449961457701135654755750833539526965045693400505020319181084726821214601501585182882754802298279044921520446064923911998544003445127670481581341349629308280509171007981841162381292394164592786740705194940845080218959470020365687695005063343302950123073029707740819744812007909468747222894628755263872664060531371875694127168284020820960844507115140085016708287378353543400415511088662448853641808524710579569179315123 389555945933025028740827267218938532412452176037602337679438456475971210556772084352510488086753586031826630918266243325811037117868755318805834810402011425163847576471079589952394940468148162471220925490985851061552482266579204734684637402836990756338499646859739736436644000268492003381349334460529153325159594890200147392901782485632072225209391948098430723825686128525522704319774697413247619620224996250479473915047714818295888503500317155315937031124878279584754223246761601421322092098365570907363029719866753048128744920607678784813298800953269129075620081980729694195940230973876684547603803322791268571699580055441129985227075206875026172831394651534028988950223429983995173155200287792603673473782947677045786167543837345331244287327405411600505755735176012286533105466669748544982012852586642695938547345653248060230976242994687351957895903279298066335629146058835564148191618882867928596746331689397240364972162971221183583622574209453811306790948550132435719930445199173040071051329360342182645942011968395003969979171037395826350309233215294561095707196370321551516728860774616745294825551241843329715871687024109585045766557673206095613377636777695904214160771884131802563376528799655451279416693720310944198244007367596248950218092185175674788183919267173683615968460917813695872769673816678625045360514799961283487652421394587271067359220218590588532758751141843581096783400251270353666940954338012804237015898769442055746562126026677094346092022551988657637156665630554725586494847002963692270971603563592067689213768733067140879934721394774144029195704382129950760350566622233604928140174240558261412616997952287032086506324171265659032271028327550665082384933679011183466637610593309779586671828202801958010132105910273548970431961098821920608753284097022720338889081627615083714647128958334059634096298342863918738652226379787694466154589761327417514022193962043063971039564969707375194209756313475010323337848187476701422243512078511813864165541596389059927703197750975331828056501284322649691968808895950294021909342727554396427957420900006119667330317249176833774161727992395015293245855453161331167480466324800885566050851494877268405051705534799 630314761039250865099975401491948347162139209405515589841263019683325120023026371808844027759568840193351884222608283088624951852967757404140849313249628066775461631599249546202536036561699914122811234985044978680114588346343822033093395614908658388156386701426862591351675621742536836506751490056808147437675147336293103929191333341183266289392058728847401145224774358860343553183441189360029980562301245053682650845664403912882666095158997141768621339159001664191363869595469383349006009924994304627603689740519889524884687802090012197722174768955676037800040503864332996524587997471847163007267784946080117416583340166164843785729363214988075996508832251803878586236504665923689133828193304733586755198854929970221825833646932136984412595352682715122017807734193559243097974793206713446897074653082358445750826800355196939734437361858971178666754123438107660739678685228922494245109078999392038396386080179127405288196273764950435667907533423861703918910144456391880450659506697382032837754565104737169418497231725199830873617178216550887413569095884898834327802112838645675017766871096002838073876887389512415140278158667727530855285035138197584097487719911542863226416567644819160424967679621936659459335414866061120274345881767528906710879464263226785789530509477719946260498625437096667037091411916880027575848118527385567821504610836030504304670673885879759106677165580277618518750532276594518047373235381101759350584424990731775196879336099980715451061322314268404363774536065092455261244731163318357412383159855929127289902135006963768964115985820318556749031873785373679231214663344230459280560957792249610251609661752400152043578073881472291850321072100223154573073395980651946380916211539336381700794306012994800133952410261568440999433964888271882066454419751778471172428608592660777115152149277515144360917512944365503921534981182085973511076110207392341426020737965488191641521146311057004502490265484482992164500229479870866015030252783706754709245760555859080293390892756038675131006624357352357432788553707958203490656565622183151691830084960537491543024444417460854595122572499510155378262563740539684710880881835889548014904493303401978984620884849922 1019870706972275893840802668710886879574591385443117927520701476159296330579798456161354515846322426225178515140874526414435988970836512722946684123651639491939309208070329136154930977029848076594032160476030829741667070612923026767778033017745649144494886348286602327788319622011028839888100824517337300762834742226493251322093115826815338514601450676945831869050460487385866257503215886773277600182526241304162124760712118731178554598659314297084558370283879943776118092842230984770328102023359875534966719460386642573013432722697690982535473569908945166875660585845062690720528228445723847554871588268871385988282920221605973770956438421863102169340226903337907575186728095907684306983393592526190428672637877647267612001190769482315656882680088126722523563469369571529631080259876461991879087505669001141689374146008444999965413604853658530624650026717405727075307831287758058393300697882259966993132411868524645653168436736171619251530107633315515225701093006524316170589951896555072908805894465079352064439243693594834843596349253946713763878329100193395423509309208967226534495731870619583368702438631355744856149845691837115901051592811403679710865356689238767440577339528950962988344208421592110738752108586372064472589889135125155661097556448402460577714428744893629876467086354910362909861085733558652621208633327346851309157032230617775372029894104470347639435916722121199615533932527864871714314189719114563587600323760173830943441462126657809797153344866257062000931201695647180847739578166282049683354763419521194979115903740030909844050707215092700778227578167503629991565229966464064208701132032807871664226659704687184130084398052737950882592100427773819655458329659663129847553822132646161287466134215796758144084516171841989969865925987093802675207703848801191511317690220275860829799278235849203995013811287229422660187207561873667977230699968719758940042931927531255612560711280764379696700021797958002487838077667347567437273764862218568573411302152248140221094090507014006959063125641675007124757362603908497512565908349737548119787505860543611210354761666637688369284300491905170671508419193701015878361348160690433580955344798279247389672590384721 1650185468011526758940778070202835226736730594848633517361964495842621450602824827970198543605891266418530399363482809503060940823804270127087533436901267558714770839669578682357467013591547990716843395461075808421781658959266848800871428632654307532651273049713464919139995243753565676394852314574145448200509889562786355251284449167998604803993509405793233014275234846246209810686657076133307580744827486357844775606376522644061220693818311438853179709442881607967481962437700368119334111948354180162570409200906532097898120524787703180257648338864621204675701089709395687245116225917571010562139373214951503404866260387770817556685801636851178165849059155141786161423232761831373440811586897259777183871492807617489437834837701619300069478032770841844541371203563130772729055053083175438776162158751359587440200946363641939699850966712629709291404150155513387814986516516680552638409776881652005389518492047652050941364710501122054919437641057177219144611237462916196621249458593937105746560459569816521482936475418794665717213527470497601177447424985092229751311422047612901552262602966622421442579326020868159996428004359564646756336627949601263808353076600781630666993907173770123413311888043528770198087523452433184746935770902654062371977020711629246367244938222613576136965711792007029946952497650438680197056751854732419130661643066648279676700567990350106746113082302398818134284464804459389761687425100216322938184748750905606140320798226638525248214667180525466364705737760739636108984309329600407095737923275450322269018038746994678808166693035411257527259451952877309222779893310694523489262089825057481915836321457087336173662471934210242732913172527996974228531725640315076228470033671982542988260440228791558278036926433410430969299890875365684741662123600579662683746298812936637944951427513364348355931324231594926581722188743959641488306810176112100366063669893019447254081857591821384199190287282440994652338307147218433452304017645925323282657062708107220514484983263052682090069749999027364557545916311866701003222473971920699811617590821081102753379206084098542964406872991415326049770982934240700589242229996579981595859838101681226374293475234643 2670056174983802652781580738913722106311321980291751444882665972001917781182623284131553059452213692643708914504357335917496929794640782850034217560552907050654080047739907818512397990621396067310875555937106638163448729572189875568649461650399956677146159398000067246928314865764594516282953139091482748963344631789279606573377564994813943318594960082739064883325695333632076068189872962906585180927353727662006900367088641375239775292477625735937738079726761551743600055279931352889662213971714055697537128661293174670911553247485394162793121908773566371551361675554458377965644454363294858117010961483822889393149180609376791327642240058714280335189286058479693736609960857739057747794980489785967612544130685264757049836028471101615726360712858968567064934672932702302360135312959637430655249664420360729129575092372086939665264571566288239916054176872919114890294347804438611031710474763911972382650903916176696594533147237293674170967748690492734370312330469440512791839410490492178655366354034895873547375719112389500560809876724444314941325754085285625174820731256580128086758334837242004811281764652223904852577850051401762657388220761004943519218433290020398107571246702721086401656096465120880936839632038805249219525660037779218033074577160031706944959366967507206013432798146917392856813583383997332818265385182079270439818675297266055048730462094820454385548999024520017749818397332324261476001614819330886525785072511079437083762260353296335045368012046782528365636939456386816956723887495882456779092686694971517248133942487025588652217400250503958305487030120380939214345123277158587697963221857865353580062981161774520303746869986948193615505272955770793883990055299978206076023855804628704275726574444588316422121442605252420939165816862459487416869827449380854195063989033212498774750705749213552350945135518824349241909396305833309465537510144831859306106601820550702866642568872585763895890309080398997140176384814566000889577782508143891856068364860355360735579073770066689049132875640702371682303278915775198515788382321658247931405096681624713963733967750736231333691173483320496721279402127941716467603578157270415176815182899960473763966065619364 4320241642995329411722358809116557333048052575140384962244630467844539231785448112101751603058104959062239313867840145420557870618445052977121750997454174609368850887409486500869865004212944058027718951398182446585230388531456724369520890283054264209797432447713532166068310109518160192677805453665628197163854521352065961824662014162812548122588469488532297897600930179878285878876530039039892761672181214019851675973465164019300995986295937174790917789169643159711082017717631721008996325920068235860107537862199706768809673772273097343050770247638187576227062765263854065210760680280865868679150334698774392798015440997147608884328041695565458501038345213621479898033193619570431188606567387045744796415623492882246487670866172720915795838745629810411606305876495833075089190366042812869431411823171720316569776038735728879365115538278917949207458327028432502705280864321119163670120251645563977772169395963828747535897857738415729090405389747669953514923567932356709413088869084429284401926813604712395030312194531184166278023404194941916118773179070377854926132153304193029639020937803864426253861090673092064849005854410966409413724848710606207327571509890802028774565153876491209814967984508649651134927155491238433966461430940433280405051597871660953312204305190120782150398509938924422803766081034436013015322137036811689570480318363914334725431030085170561131662081326918835884102862136783651237689039919547209463969821261985043224083058579934860293582679227307994730342677217126453065708196825482863874830609970421839517151981234020267460384093285915215832746482073258248437125016587853111187225311682922835495899302618861856477409341921158436348418445483767768112521780940293282304493889476611247263987014673379874700158369038662851908465707737825172158531951049960516878810287846149136719702133262577900706876459750419275823631585049792950953844320320943959672170271713570150120724426464407148095080596362839991792514691961784434341881800154069215138725427568462581250064057033119371139202625639729736239849195227641899519010856293578947743022687502705816717113173834834774298098046474735822771050385062182417056845808153850396772675021001641700138259540854007 6990297817979132064503939548030279439359374555432136407127296439846457012968071396233304662510318651705948228372197481338054800413085835827155968558007081660022930935149394319382262994834340125338594507335289084748679118103646599938170351933454220886943591845713599412996624975282754708960758592757110946127199153141345568398039579157626491441183429571271362780926625513510361947066403001946477942599534941681858576340553805394540771278773562910728655868896404711454682072997563073898658539891782291557644666523492881439721227019758491505843892156411753947778424440818312443176405134644160726796161296182597282191164621606524400211970281754279738836227631272101173634643154477309488936401547876831712408959754178147003537506894643822531522199458488778978671240549428535377449325679002450300086661487592081045699351131107815819030380109845206189123512503901351617595575212125557774701830726409475950154820299880005444130431004975709403261373138438162687885235898401797222204928279574921463057293167639608268577687913643573666838833280919386231060098933155663480100952884560773157725779272641106431065142855325315969701583704462368172071113069471611150846789943180822426882136400579212296216624080973770532071766787530043683185987090978212498438126175031692660257163672157627988163831308085841815660579664418433345833587522218890960010298993661180389774161492179991015517211080351438853633921259469107912713690654738878095989754893773064480307845318933231195338950691274090523095979616673513270022432084321365320653923296665393356765285923721045856112601493536419174138233512193639187651470139865011698885188533540788189075962283780636376781156211908106629963923718439538561996511836240271488380517745281239951539713589117968191122279811643915272847631524600284659575401778499341371073874276879361635494452839011791453057821595269243625065540981355626260419381830465775818978276873534120852987366995336992911990970905443238988932691076776350435231459582662213106994793792428817941985643130803186060188335501280432107922152474143417098034799238615237195674427784184330530680847141585571005631789219958056319492329787190124133524449386311120811949490203901602173902225606473371 11310539460974461476226298357146836772407427130572521369371926907690996244753519508335056265568423610768187542240037626758612671031530888804277719555461256269391781822558880820252127999047284183366313458733471531333909506635103324307691242216508485096741024293427131579064935084800914901638564046422739143291053674493411530222701593320439039563771899059803660678527555693388647825942933040986370704271716155701710252314018969413841767265069500085519573658066047871165764090715194794907654865811850527417752204385692588208530900792031588848894662404049941524005487206082166508387165814925026595475311630881371674989180062603672009096298323449845197337265976485722653532676348096879920125008115263877457205375377671029250025177760816543447318038204118589390277546425924368452538516045045263169518073310763801362269127169843544698395495648124124138330970830929784120300856076446676938371950978055039927926989695843834191666328862714125132351778528185832641400159466334153931618017148659350747459219981244320663608000108174757833116856685114328147178872112226041335027085037864966187364800210444970857319003945998408034550589558873334581484837918182217358174361453071624455656701554455703506031592065482420183206693943021282117152448521918645778843177772903353613569367977347748770314229818024766238464345745452869358848909659255702649580779312025094724499592522265161576648873161678357689518024121605891563951379694658425305453724715035049523531928377513166055632533370501398517826322293890639723088140281146848184528753906635815196282437904955066123572985586822334389970979994266897436088595156452864810072413845223711024571861586399498233258565553829265066312342163923306330109033617180564770685011634757851198803700603791348065822438180682578124756097232338109831733933729549301887952684564725510772214154972274369353764698055019662900889172566405419211373226150786719778650447145247691003108091421801400060086051501806078980725205768738134869573341382816282322133519219997280523235707187836305431327538126920161844162001669371058997553810094908816143417450471687036347397960315420405779929887266432792142263380172252306550581295194464971208722165224903243874040485147327378 18300837278953593540730237905177116211766801686004657776499223347537453257721590904568360928078742262474135770612235108096667471444616724631433688113468337929414712757708275139634390993881624308704907966068760616082588624738749924245861594149962705983684616139140730992061560060083669610599322639179850089418252827634757098620741172478065531004955328631075023459454181206899009773009336042932848646871251097383568828654572774808382538543843062996248229526962452582620446163712757868806313405703632818975396870909185469648252127811790080354738554560461695471783911646900478951563570949569187322271472927063968957180344684210196409308268605204124936173493607757823827167319502574189409061409663140709169614335131849176253562684655460365978840237662607368368948786975352903829987841724047713469604734798355882407968478300951360517425875757969330327454483334831135737896431288572234713073781704464515878081809995723839635796759867689834535613151666623995329285395364735951153822945428234272210516513148883928932185688021818331499955689966033714378238971045381704815128037922425739345090579483086077288384146801323724004252173263335702753555950987653828509021151396252446882538837955034915802248216146456190715278460730551325800338435612896858277281303947935046273826531649505376758478061126110608054124925409871302704682497181474593609591078305686275114273754014445152592166084242029796543151945381074999476665070349397303401443479608808114003839773696446397250971484061775489040922301910564152993110572365468213505182677203301208553047723828676111979685587080358753564109213506460536623740065296317876508957602378764499213647823870180134610039721765737371696276265882362844892105545453420836259065529380039091150343414192909316256944717992326493397603728756938394491309335508048643259026558841604872407708607811286160806822519650288906525954713547761045471792607981252495597628724018781811856095458417138392972077022407249317969657896845514485304804800965478495429128313012426098465221350318639491491515873628200593952084154143514476095588609333524053339091878255871366878078807457005976785561676486390848461755709959442430684105744580776092020671655428804846047942710753800749 29611376739928055016956536262323952984174228816577179145871150255228449502475110412903417193647165873242323312852272734855280142476147613435711407668929594198806494580267155959886518992928908492071221424802232147416498131373853248553552836366471191080425640432567862571126495144884584512237886685602589232709306502128168628843442765798504570568727227690878684137981736900287657598952269083919219351142967253085279080968591744222224305808912563081767803185028500453786210254427952663713968271515483346393149075294878057856783028603821669203633216964511636995789398852982645459950736764494213917746784557945340632169524746813868418404566928653970133510759584243546480699995850671069329186417778404586626819710509520205503587862416276909426158275866725957759226333401277272282526357769092976639122808109119683770237605470794905215821371406093454465785454165760919858197287365018911651445732682519555806008799691567673827463088730403959667964930194809827970685554831070105085440962576893622957975733130128249595793688129993089333072546651148042525417843157607746150155122960290705532455379693531048145703150747322132038802762822209037335040788905836045867195512849324071338195539509490619308279808211938610898485154673572607917490884134815504056124481720838399887395899626853125528792290944135374292589271155324172063531406840730296259171857617711369838773346536710314168814957403708154232669969502680891040616450044055728706897204323843163527371702073959563306604017432276887558748624204454792716198712646615061689711431109937023749330161733631178103258572667181087954080193500727434059828660452770741319030016223988210238219685456579632843298287319566636762588608046286151222214579070601401029750541014796942349147114796700664322767156173009071522359825989276504323043269237597945146979243406330383179922762783560530160587217705308569426843886114166464683165834132039215376279171164029502859203549838939793032163073909055396950383102614252620174378142348294777751261832232423378988457057506475796922843411755120755796246155812885535093142419428432869482509328727558403225476767772426382565491563752823640604019090131694737234687039775241063229393820653708089921983195901128127 47912214018881648557686774167501069195941030502581836922370373602765902760196701317471778121725908135716459083464507842951947613920764338067145095782397932128221207337975431099520909986810532800776129390870992763499086756112603172799414430516433897064110256571708593563188055204968254122837209324782439322127559329762925727464183938276570101573682556321953707597435918107186667371961605126852067998014218350468847909623164519030606844352755626078016032711990953036406656418140710532520281677219116165368545946204063527505035156415611749558371771524973332467573310499883124411514307714063401240018257485009309589349869431024064827712835533858095069684253192001370307867315353245258738247827441545295796434045641369381757150547071737275404998513529333326128175120376630176112514199493140690108727542907475566178206083771746265733247247164062784793239937500592055596093718653591146364519514386984071684090609687291513463259848598093794203578081861433823299970950195806056239263908005127895168492246279012178527979376151811420833028236617181756903656814202989450965283160882716444877545959176617125434087297548645856043054936085544740088596739893489874376216664245576518220734377464525535110528024358394801613763615404123933717829319747712362333405785668773446161222431276358502287270352070245982346714196565195474768213904022204889868762935923397644953047100551155466760981041645737950775821914883755890517281520393453032108340683932651277531211475770405960557575501494052376599670926115018945709309285012083275194894108313238232302377885562307290082944159747539841518189407007187970683568725749088617827987618602752709451867509326759767453338009085304008458864873928648996114320124524022237288816070394836033499490528989609980579711874165335564919963554746214898814352604745646588406005802247935255587631370594846690967409737355597475952798599661927510154958442113291710973907895182811314715299008256078186004240096316304714920040999459767105479182943313773273180390145244849477453678407825115288414359285383321349748330309956400011188731028761956922821601206983429770103555575229432359351053240239214489065774800091137167918792784356017155250065476082512935969925906654928876 77523590758809703574643310429825022180115259319159016068241523857994352262671811730375195315373074008958782396316780577807227756396911951502856503451327526327027701918242587059407428979739441292847350815673224910915584887486456421352967266882905088144535897004276456134314550349852838635075096010385028554836865831891094356307626704075074672142409784012832391735417655007474324970913874210771287349157185603554126990591756263252831150161668189159783835897019453490192866672568663196234249948734599511761695021498941585361818185019433418762004988489484969463362709352865769871465044478557615157765042042954650221519394177837933246117402462512065203195012776244916788567311203916328067434245219949882423253756150889587260738409488014184831156789396059283887401453777907448395040557262233666747850351016595249948443689242541170949068618570156239259025391666352975454291006018610058015965247069503627490099409378859187290722937328497753871543012056243651270656505026876161324704870582021518126467979409140428123773064281804510166100783268329799429074657360597197115438283843007150410001338870148173579790448295967988081857698907753777423637528799325920243412177094900589558929916974016154418807832570333412512248770077696541635320203882527866389530267389611846048618330903211627816062643014381356639303467720519646831745310862935186127934793541109014791820447087865780929795999049446105008491884386436781557897970437508760815237888256494441058583177844365523864179518926329264158419550319473738425507997658698336884605539423175256051708047295938468186202732414720929472269600507915404743397386201859359147017634826740919690087194783339400296636296404870645221453481974935147336534703594623638318566611409632975848637643786310644902479030338344636442323380735491403137395873983244533552985045654265638767554133378407221127996955060906045379642485776093974838124276245330926350187066346840817574502558095017979036403170225360111870424102074019725653561085662068050931651977477272856442135465331591085337202697138442105544576465769285546281873448190389792304110535710988173329032343001858741916544803992038129669793890222831905153479824131258218479459296736221025891909102556057003 125435804777691352132330084597326091376056289821740852990611897460760255022868513047846973437098982144675241479781288420759175370317676289570001599233725458455248909256218018158928338966549974093623480206544217674414671643599059594152381697399338985208646153575985049697502605554821092757912305335167467876964425161654020083771810642351644773716092340334786099332853573114660992342875479337623355347171403954022974900214920782283437994514423815237799868609010406526599523090709373728754531625953715677130240967703005112866853341435045168320376760014458301930936019852748894282979352192621016397783299527963959810869263608861998073830237996370160272879265968246287096434626557161586805682072661495178219687801792258969017888956559751460236155302925392610015576574154537624507554756755374356856577893924070816126649773014287436682315865734219024052265329166945031050384724672201204380484761456487699174190019066150700753982785926591548075121093917677474570627455222682217563968778587149413294960225688152606651752440433615930999129019885511556332731471563586648080721444725723595287547298046765299013877745844613844124912634993298517512234268692815794619628841340477107779664294438541689529335856928728214126012385481820475353149523630240228722936053058385292209840762179570130103332995084627338986017664285715121599959214885140075996697729464506659744867547639021247690777040695184055784313799270192672075179490830961792923578572189145718589794653614771484421755020420381640758090476434492684134817282670781612079499647736413488354085932858245758269146892162260770990459007515103375426966111950947976975005253429493629141954704110099167749974305490174653680318355903584143450854828118645875607382681804469009348128172775920625482190904503680201362286935481706301951748478728891121958990847902200894355185503973253912095406692416503521332441085438021484993082718358622637324094961529652132289801566351096165040643266541664826790465101533786831132744028975841324112042122722122333895813873156706373751561982521763455292906775725685557470604476952346715125711742694417943432587918231291101267598044231252618735568690313969073072272608487275373729524772818733961861835009210985879 202959395536501055706973395027151113556171549140899869058853421318754607285540324778222168752472056153634023876098068998566403126714588241072858102685052984782276611174460605218335767946289415386470831022217442585330256531085516015505348964282244073353182050580261505831817155904673931392987401345552496431801290993545114440079437346426719445858502124347618491068271228122135317313789353548394642696328589557577101890806677045536269144676092004397583704506029860016792389763278036924988781574688315188891935989201946698228671526454478587082381748503943271394298729205614664154444396671178631555548341570918610032388657786699931319947640458882225476074278744491203885001937761077914873116317881445060642941557943148556278627366047765645067312092321451893902978027932445072902595314017608023604428244940666066075093462256828607631384484304375263311290720833298006504675730690811262396450008525991326664289428445009888044705723255089301946664105973921125841283960249558378888673649169170931421428205097293034775525504715420441165229803153841355761806128924183845196159728568730745697548636916913472593668194140581832206770333901052294935871797492141714863041018435377697338594211412557843948143689499061626638261155559517016988469727512768095112466320447997138258459093082781757919395638099008695625321132006234768431704525748075262124632523005615674536687994726887028620573039744630160792805683656629453633077461268470553738816460445640159648377831459137008285934539346710904916510026753966422560325280329479948964105187159588744405793980154184226455349624576981700462728608023018780170363498152807336122022888256234548832041898893438568046610601895045298901771837878519290787389531713269513925949293214101985196765816562231270384669934842024837804610316217197705089144352712135655511975893556466533122739637351661133223403647477409566712083571214115459831206994603953563674282027876492949864304124446114144077046436767024938660889203607806556786305114637909375043694100199395190337949338488297459088764679660205560837483241494971103752477925142736507429822278405406116761620261233149843184142848223290748405362580536800978225752432618533592208984069554954987753744111767042882 328395200314192407839303479624477204932227838962640722049465318779514862308408837826069142189571038298309265355879357419325578497032264530642859701918778443237525520430678623377264106912839389480094311228761660259744928174684575609657730661681583058561828204156246555529319761459495024150899706680719964308765716155199134523851247988778364219574594464682404590401124801236796309656664832886017998043499993511600076791021597827819707139190515819635383573115040266543391912853987410653743313200642030866022176956904951811095524867889523755402758508518401573325234749058363558437423748863799647953331641098882569843257921395561929393777878455252385748953544712737490981436564318239501678798390542940238862629359735407525296516322607517105303467395246844503918554602086982697410150070772982380461006138864736882201743235271116044313700350038594287363556050000243037555060455363012466776934769982479025838479447511160588798688509181680850021785199891598600411911415472240596452642427756320344716388430785445641427277945149036372164358823039352912094537600487770493276881173294454340985095934963678771607545939985195676331682968894350812448106066184957509482669859775854805118258505851099533477479546427789840764273541041337492341619251143008323835402373506382430468299855262351888022728633183636034611338796291949890031663740633215338121330252470122334281555542365908276311350080439814216577119482926822125708256952099432346662395032634785878238172485073908492707689559767092545674600503188459106695142563000261561043604834896002232759879913012429984724496516739242471453187615538122155597329610103755313097028141685728177973996603003537735796584907385219952582090193782103434238244359831915389533331975018570994544893989338151895866860839345705039166897251698904007040892831441026777470966741458667427477925141324915045318810339893913088044524656652136944824289712962576200998376989406145082154105690797210309117689703308689765451354305141593387919049143613750699155736222921517524233763211645003832840326662181969016130390017220656661223082402095083222555534021099824060194208179464440944451740892454543367140931270850770051298025041105808965938508842373688949615579120978028761 531354595850693463546276874651628318488399388103540591108318740098269469593949162604291310942043094451943289231977426417891981623746852771715717804603831428019802131605139228595599874859128804866565142250979102845075184705770091625163079625963827131915010254736508061361136917364168955543887108026272460740567007148744248963930685335205083665433096589030023081469396029358931626970454186434412640739828583069177178681828274873355976283866607824032967277621070126560184302617265447578732094775330346054914112946106898509324196394344002342485140257022344844719533478263978222591868145534978279508879982669801179875646579182261860713725518914134611225027823457228694866438502079317416551914708424385299505570917678556081575143688655282750370779487568296397821532630019427770312745384790590404065434383805402948276836697527944651945084834342969550674846770833541044059736186053823729173384778508470352502768875956170476843394232436770151968449305865519726253195375721798975341316076925491276137816635882738676202803449864456813329588626193194267856343729411954338473040901863185086682644571880592244201214134125777508538453302795403107383977863677099224345710878211232502456852717263657377425623235926851467402534696600854509330088978655776418947868693954379568726758948345133645942124271282644730236659928298184658463368266381290600245962775475738008818243537092795304931923120184444377369925166583451579341334413367902900401211493080426037886550316533045500993624099113803450591110529942425529255467843329741510007710022055590977165673893166614211179846141316224171915916223561140935767693108256562649219051029941962726806038501896976303843195509280265251483862031660622725025633891545184903459281268232672979741659805900383166251530774187729876971507567916101712130037184153162432982942635015133960600664778676576178542213987371322654756608227866252404655496707566529764672659017282638032018409815243324453194736140075714704112243508749399944705354258251660074199430323120912714571712550133301291929091341842174576967873258715627764975560327237819729985356299505230176955828440697590787635883740677834115546293851387571029523777473724342558147492911928643937369323232745071643 859749796164885871385580354276105523420627227066181313157784058877784331902358000430360453131614132750252554587856783837217560120779117302358577506522609871257327652035817851972863981771968194346659453479740763104820112880454667234820810287645410190476838458892754616890456678823663979694786814706992425049332723303943383487781933323983447885007691053712427671870520830595727936627119019320430638783328576580777255472849872701175683423057123643668350850736110393103576215471252858232475407975972376920936289903011850320419721262233526097887898765540746418044768227322341781029291894398777927462211623768683749718904500577823790107503397369386996973981368169966185847875066397556918230713098967325538368200277413963606871660011262799855674246882815140901740087232106410467722895455563572784526440522670139830478579932799060696258785184381563838038402820833784081614796641416836195950319548490949378341248323467331065642082741618451001990234505757118326665106791194039571793958504681811620854205066668184317630081395013493185493947449232547179950881329899724831749922075157639427667740506844271015808760074110973184870136271689753919832083929862056733828380737987087307575111223114756910903102782354641308166808237642192001671708229798784742783271067460761999195058803607485533964852904466280764847998724590134548495032007014505938367293027945860343099799079458703581243273200624258593947044649510273705049591365467335247063606525715211916124722801606953993701313658880895996265711033130884635950610406330003071051314856951593209925553806179044195904342658055466643369103839099263091365022718360317962316079171627690904780035104900514039639780416665485204065952225442726159263878251377100292992613243251243974286553795238535062118391613533434916138404819615005719170930015594189210453909376473801388078589920001491223861024327265235742801132884518389349479786420529105965671036006688783114172515506040534762312425843384404469563597813890993332624403401865410773355166546042430238805475761778305124769418004024143593098263275936284426198642729332902952540890320605054237150036620162031732087624633132377482687225122238341080821802514830151524086001754302332886984902353723100404 1391104392015579334931857228927733841909026615169721904266102798976053801496307163034651764073657227202195843819834210255109541744525970074074295311126441299277129783640957080568463856631096999213224595730719865949895297586224758859983889913609237322391848713629262678251593596187832935238673922733264885789899730452687632451712618659188531550440787642742450753339916859954659563597573205754843279523157159649954434154678147574531659706923731467701318128357180519663760518088518305811207502751302722975850402849118748829743917656577528440373039022563091262764301705586320003621160039933756206971091606438484929594551079760085650821228916283521608199009191627194880714313568476874334782627807391710837873771195092519688446803699918082606045026370383437299561619862125838238035640840354163188591874906475542778755416630327005348203870018724533388713249591667325125674532827470659925123704326999419730844017199423501542485476974055221153958683811622638052918302166915838547135274581607302896992021702550922993832884844877949998823536075425741447807225059311679170222962977020824514350385078724863260009974208236750693408589574485157027216061793539155958174091616198319810031963940378414288328726018281492775569342934243046511001797208454561161731139761415141567921817751952619179906977175748925495084658652888319206958400273395796538613255803421598351918042616551498886175196320808702971316969816093725284390925778835238147464818018795637954011273118139999494694937757994699446856821563073310165206078249659744581059024879007184187091227699345658407084188799371690815285020062660404027132715826616880611535130201569653631586073606797490343482975925945750455549814257103348884289512142922285196451894511483916954028213601138918228369922387721164793109912387531107431300967199747351643436852011488935348679254698678067402403238314636558397557741112384641754135283128095635730343695023971421146190925321283859215507161983460119173675841322640393277329757660117070847554596869163342953377188311911606416698509345866318170066136534651912191174203056570722682526246620110284414105865060859622519723508373810211598233518973625912110345579988554494082233494666230976824354225586468172047 2250854188180465206317437583203839365329653842235903217423886857853838133398665163465012217205271359952448398407690994092327101865305087376432872817649051170534457435676774932541327838403065193559884049210460629054715410466679426094804700201254647512868687172522017295142050275011496914933460737440257310839232453756631015939494551983171979435448478696454878425210437690550387500224692225075273918306485736230731689627528020275707343129980855111369668979093290912767336733559771164043682910727275099896786692752130599150163638918811054538260937788103837680809069932908661784650451934332534134433303230207168679313455580337909440928732313652908605172990559797161066562188634874431253013340906359036376241971472506483295318463711180882461719273253198578201301707094232248705758536295917735973118315429145682609233996563126066044462655203106097226751652412501109207289329468887496121074023875490369109185265522890832608127559715673672155948918317379756379583408958109878118929233086289114517846226769219107311462966239891443184317483524658288627758106389211404001972885052178463942018125585569134275818734282347723878278725846174910947048145723401212692002472354185407117607075163493171199231828800636134083736151171885238512673505438253345904514410828875903567116876555560104713871830080215206259932657377478453755453432280410302476980548831367458695017841696010202467418469521432961565264014465603998989440517144302573394528424544510849870135995919746953488396251416875595443122532596204194801156688655989747652110339735958777397016781505524702602988531457427157458654123901759667118497738544977198573851209373197344536366108711698004383122756342611235659615766482546075043553390394299385489444507754735160928314767396377453290488314001254599709248317207146113150471897215341540853890761387962736736757844618679558626264262641901794140358873996903031103615069548624741696014731030660204260363440827324393977819587826844523643239439136531386609954161061982481620909763415205773192182664073689911541467927349890461763164399810588196617372845785903625635067136940715338651255901681021654251811133006942589080920744095864253191167382503384645606319496420533309711339127940191272451 3641958580196044541249294812131573207238680457405625121689989656829891934894972326499663981278928587154644242227525204347436643609831057450507168128775492469811587219317732013109791695034162192773108644941180495004610708052904184954788590114863884835260535886151279973393643871199329850172134660173522196629132184209318648391207170642360510985889266339197329178550354550505047063822265430830117197829642895880686123782206167850239002836904586579070987107450471432431097251648289469854890413478577822872637095601249347979907556575388582978633976810666928943573371638494981788271611974266290341404394836645653608908006660097995091749961229936430213371999751424355947276502203351305587795968713750747214115742667599002983765267411098965067764299623582015500863326956358086943794177136271899161710190335621225387989413193453071392666525221830630615464902004168434332963862296358156046197728202489788840029282722314334150613036689728893309907602129002394432501711125025716666064507667896417414838248471770030305295851084769393183141019600084030075565331448523083172195848029199288456368510664293997535828708490584474571687315420660067974264207516940368650176563970383726927639039103871585487560554818917626859305494106128285023675302646707907066245550590291045135038694307512723893778807255964131755017316030366772962411832553806099015593804634789057046935884312561701353593665842241664536580984281697724273831442923137811541993242563306487824147269037886952983091189174870294889979354159277504966362766905649492233169364614965961584108009204870361010072720256798848273939143964420071145630454371594079185386339574766998167952182318495494726605732268556986115165580739649423927842902537221670685896402266219077882342980997516371518858236388975764502358229594677220581772864415088892497327613399451672085437099317357626028667500956538352537916615109287672857750352676720377426358426054631625406554366148608253193326749810304642816915280459171779887283918722099552468464360284369116145559852385601517958166436695756779933230536345240108808547048842474348317593383560825623065361766741881276771534641380752800679154263069490165301512962491939139688552991086764286535693353526659444498 5892812768376509747566732395335412572568334299641528339113876514683730068293637489964676198484199947107092640635216198439763745475136144826940040946424543640346044654994506945651119533437227386332992694151641124059326118519583611049593290316118532348129223058673297268535694146210826765105595397613779507468364637965949664330701722625532490421337745035652207603760792241055434564046957655905391116136128632111417813409734188125946345966885441690440656086543762345198433985208060633898573324205852922769423788353379947130071195494199637516894914598770766624382441571403643572922063908598824475837698066852822288221462240435904532678693543589338818544990311221517013838690838225736840809309620109783590357714140105486279083731122279847529483572876780593702165034050590335649552713432189635134828505764766907997223409756579137437129180424936727842216554416669543540253191765245652167271752077980157949214548245205166758740596405402565465856520446382150812085120083135594784993740754185531932684475240989137616758817324660836367458503124742318703323437837734487174168733081377752398386636249863131811647442772932198449966041266834978921312353240341581342179036324569134045246114267364756686792383619553760943041645278013523536348808084961252970759961419166948702155570863072828607650637336179338014949973407845226717865264834216401492574353466156515741953726008571903821012135363674626101844998747301723263271960067440384936521667107817337694283264957633906471487440591745890333101886755481699767519455561639239885279704350924738981124790710395063613061251714226005732593267866179738264128192916571277759237548947964342704318291030193499109728488611168221774781347222195498971396292931521056175340910020954238810657748393893824809346550390230364211606546801823333732244761630430433351218374787414408822194943936037184654931763598440146678275489106190703961365422225345119122373157085291829666917806975932647171146337637149166460154719595703166497238079784082034089374123699574889337742516459291429499634364045647241696394936155828305425919894628377973952660520501540961716617668422902931023345774387695389760075007165354418492680344995323785294872487507297596247032481466850716949 9534771348572554288816027207466985779807014757047153460803866171513622003188609816464340179763128534261736882862741402787200389084967202277447209075200036110157631874312238958760911228471389579106101339092821619063936826572487796004381880430982417183389758944824577241929338017410156615277730057787301704097496822175268312721908893267893001407227011374849536782311146791560481627869223086735508313965771527992103937191940355976185348803790028269511643193994233777629531236856350103753463737684430745642060883954629295109978752069588220495528891409437695567955813209898625361193675882865114817242092903498475897129468900533899624428654773525769031916990062645872961115193041577042428605278333860530804473456807704489262848998533378812597247872500362609203028361006948422593346890568461534296538696100388133385212822950032208829795705646767358457681456420837977873217054061603808213469480280469946789243830967519500909353633095131458775764122575384545244586831208161311451058248422081949347522723712759167922054668409430229550599522724826348778888769286257570346364581110577040854755146914157129347476151263516673021653356687495046895576560757281949992355600294952860972885153371236342174352938438471387802347139384141808560024110731669160037005512009457993837194265170585552501429444592143469769967289438211999680277097388022500508168158100945572788889610321133605174605801205916290638425983028999447537103402990578196478514909671123825518430533995520859454578629766616185223081240914759204733882222467288732118449068965890700565232799915265424623133971971024854006532411830599809409758647288165356944623888522731340872270473348688993836334220879725207889946927961844922899239195468742726861237312287173316693000729391410196328204786779206128713964776396500554314017626045519325848545988186866080907632043253394810683599264554978499216192104215478376819115774902065496548731583139923455073472173124540900364473087447453809277070000054874946384521998506181586557838483983944005483302368844892947457800800741404021629625472501068414234466943470852322270253904062366584781979435164784207794880415768448190439229270234844583794193307487262924983425478594061882782725834993510161447 15427584116949064036382759602802398352375349056688681799917742686197352071482247306429016378247328481368829523497957601226964134560103347104387250021624579750503676529306745904412030761908616965439094033244462743123262945092071407053975170747100949531518982003497874510465032163620983380383325455401081211565861460141217977052610615893425491828564756410501744386071939032615916191916180742640899430101900160103521750601674544102131694770675469959952299280537996122827965222064410737652037061890283668411484672308009242240049947563787858012423806008208462192338254781302268934115739791463939293079790970351298185350931140969804157107348317115107850461980373867389974953883879802779269414587953970314394831170947809975541932729655658660126731445377143202905193395057538758242899604000651169431367201865155041382436232706611346266924886071704086299898010837507521413470245826849460380741232358450104738458379212724667668094229500534024241620643021766696056671951291296906236051989176267481280207198953748305538813485734091065918058025849568667482212207123992057520533314191954793253141783164020261159123594036448871471619397954330025816888913997623531334534636619521995018131267638601098861145322058025148745388784662155332096372918816630413007765473428624942539349836033658381109080081928322807784917262846057226398142362222238902000742511567102088530843336329705508995617936569590916740270981776301170800375363058018581415036576778941163212713798953154765926066070358362075556183127670240904501401678028927972003728773316815439546357590625660488236195223685250859739125679696779547673886840204736634703861437470695683576588764378882492946062709490893429664728275184040421870635488400263783036578222308127555503658477785304021137551337169436492925571323198323888046262387675949759199764362974280489729826987189431995338531028153418645894467593321669080780481197127410615671104740225215284740389980100473547535619425084602975737224719650578112881760078290263620647212607683518894821044885304184376957435164787051263326020408656896719660386838099230296222914424563907546498597103587687138818226190156143580199304277400199002286873652482586710278297966101359479029758316460360878396 24962355465521618325198786810269384132182363813735835260721608857710974074670857122893356558010457015630566406360699004014164523645070549381834459096824615860661308403618984863172941990380006544545195372337284362187199771664559203058357051178083366714908740948322451752394370181031139995661055513188382915663358282316486289774519509161318493235791767785351281168383085824176397819785403829376407744067671688095625687793614900078317043574465498229463942474532229900457496458920760841405500799574714414053545556262638537350028699633376078507952697417646157760294067991200894295309415674329054110321883873849774082480400041503703781536003090640876882378970436513262936069076921379821698019866287830845199304627755514464804781728189037472723979317877505812108221756064487180836246494569112703727905897965543174767649055656643555096720591718471444757579467258345499286687299888453268594210712638920051527702210180244168577447862595665483017384765597151241301258782499458217687110237598349430627729922666507473460868154143521295468657548574395016261100976410249627866897895302531834107896930078177390506599745299965544493272754641825072712465474754905481326890236914474855991016421009837441035498260496496536547735924046297140656397029548299573044770985438082936376544101204243933610509526520466277554884552284269226078419459610261402508910669668047661319732946650839114170223737775507207378696964805300618337478766048596777893551486450064988731144332948675625380644700124978260779264368585000109235283900496216704122177842282706140111590390540925912859329195656275713745658091527379357083645487492901991648485325993427024448859237727571486782396930370618637554675203145885344769874683869006509897815534595300872196659207176714217465756123948642621639536099594824442360280013721469085048310351161146570637459030442826806022130292708397145110659697537147457599596972029476112219836323365138739813862153225014447900092512532056785014294719705453059266282076796445207205051091667462900304347254149077324415235965528455284955645881157965133894853781570082618493168328626274131280576538752471346613106605924591770638533547635043586081066959969849635261723444695421361812484151453871039843 40389939582470682361581546413071782484557712870424517060639351543908326146153104429322372936257785496999395929858656605241128658205173896486221709118449195611164984932925730767584972752288623509984289405581747105310462716756630610112332221925184316246427722951820326262859402344652123376044380968589464127229219742457704266827130125054743985064356524195853025554455024856792314011701584572017307174169571848199147438395289444180448738345140968189416241755070226023285461680985171579057537861464998082465030228570647779590078647197163936520376503425854619952632322772503163229425155465792993403401674844201072267831331182473507938643351407755984732840950810380652911022960801182600967434454241801159594135798703324440346714457844696132850710763254649015013415151122025939079146098569763873159273099830698216150085288363254901363645477790175531057477478095853020700157545715302728974951944997370156266160589392968836245542092096199507259005408618917937357930733790755123923162226774616911907937121620255778999681639877612361386715574423963683743313183534241685387431209494486627361038713242197651665723339336414415964892152596155098529354388752529012661424873533996851009147688648438539896643582554521685293124708708452472752769948364929986052536458866707878915893937237902314719589608448789085339801815130326452476561821832500304509653181235149749850576282980544623165841674345098124118967946581601789137854129106615359308588063229006151943858131901830391306710770483340336335447496255241013736685578525144676125906615599521579657947981166586401095524419341526573484783771224158904757532327697638626352346763464122708025448002106453979728459639861512067219403478329925766640510172269270292934393756903428427700317684962018238603307461118079114565107422793148330406542401397418844248074714135427060367286017632258801360661320861815791005127290858816538380078169156886727890941063590354024554252133325487995435711937616659760751519439356031172148042155086708827852263699350981795125392139453261701372671130315506548281666289814861853555240619669312914716082753190181677779173642340158485431332796080735350837837825035242588367940612452436345540021410796780840842242467914231918239 65352295047992300686780333223341166616740076684160352321360960401619300220823961552215729494268242512629962336219355609255293181850244445868056168215273811471826293336544715630757914742668630054529484777919031467497662488421189813170689273103267682961336463900142778015253772525683263371705436481777847042892578024774190556601649634216062478300148291981204306722838110680968711831486988401393714918237243536294773126188904344258765781919606466418880184229602455923742958139905932420463038661039712496518575784833286316940107346830540015028329200843500777712926390763704057524734571140122047513723558718050846350311731223977211720179354498396861615219921246893915847092037722562422665454320529632004793440426458838905151496186033733605574690081132154827121636907186513119915392593138876576887178997796241390917734344019898456460366069508646975815056945354198519986844845603755997569162657636290207793862799573213004822989954691864990276390174216069178659189516290213341610272464372966342535667044286763252460549794021133656855373122998358700004414159944491313254329104797018461468935643320375042172323084636379960458164907237980171241819863507434493988315110448471707000164109658275980932141843051018221840860632754749613409166977913229559097307444304790815292438038442146248330099134969255362894686367414595678554981281442761707018563850903197411170309229631383737336065412120605331497664911386902407475332895155212137202139549679071140675002464850506016687355470608318597114711864840241122971969479021361380248084457882227719769538371707512313954853614997802287230441862751538261841177815190540618000832089457549732474307239834025466510856570232130704774078681475811111410384856138276802832209291498729299896976892138732456069063585066721736204643522387972772766822415118887929296385065296573631004745048075085607382791613570212936115786988395963995979675141186362840110777386955492764368114286550502443335804450148716545765814159061484231414324231883154035057314791018444695429739393602339025787907095843961833237312170972826987450094401239395533209251081816455809059750181092629832044439402005327121476371372670286174449007572422285980801744855492202202654726619368102958082 105742234630462983048361879636412949101297789554584869382000311945527626366977065981538102430526028009629358266078012214496421840055418342354277877333723007082991278269470446398342887494957253564513774183500778572808125205177820423283021495028451999207764186851963104278113174870335386747749817450367311170121797767231894823428779759270806463364504816177057332277293135537761025843188572973411022092406815384493920564584193788439214520264747434608296425984672681947028419820891103999520576522504710578983606013403934096530185994027703951548705704269355397665558713536207220754159726605915040917125233562251918618143062406450719658822705906152846348060872057274568758114998523745023632888774771433164387576225162163345498210643878429738425400844386803842135052058308539058994538691708640450046452097626939607067819632383153357824011547298822506872534423450051540687002391319058726544114602633660364060023388966181841068532046788064497535395582834987116017120250080968465533434691147583254443604165907019031460231433898746018242088697422322383747727343478732998641760314291505088829974356562572693838046423972794376423057059834135269771174252259963506649739983982468558009311798306714520828785425605539907133985341463202086161936926278159545149843903171498694208331975680048563049688743418044448234488182544922131031543103275262011528217032138347161020885512611928360501907086465703455616632857968504196613187024261827496510727612908077292618860596752336407994066241091658933450159361095482136708655057546506056373991073481749299427486352874098715050378034339328860715225633975697166598710142888179244353178852921672440499755241940479446239316210093642771993482159805736878050895028407547095766603048402157727597294577100750694672371046184800850769750945181121103173364816516306773544459779432000691372031065707344408743452934432028727120914279254780534359753310343249568001718450545846788922366419875990438771516387765376306517333598417515403562366386969862862909578490369426490555131533055600727160578226159468381518978460787688841005335020908708447925333835006637486838923823432788317475772198086062472314209197705528762816948184874722326341766266288983043496969087282334876321 171094529678455283735142212859754115718037866238745221703361272347146926587801027533753831924794270522259320602297367823751715021905662788222334045548996818554817571606015162029100802237625883619043258961419810040305787693599010236453710768131719682169100650752105882293366947396018650119455253932145158213014375792006085380030429393486868941664653108158261639000131246218729737674675561374804737010644058920788693690773098132697980302184353901027176610214275137870771377960797036419983615183544423075502181798237220413470293340858243966577034905112856175378485104299911278278894297746037088430848792280302764968454793630427931379002060404549707963280793304168484605207036246307446298343095301065169181016651621002250649706829912163344000090925518958669256688965495052178909931284847517026933631095423180997985553976403051814284377616807469482687591368804250060673847236922814724113277260269950571853886188539394845891522001479929487811785757051056294676309766371181807143707155520549596979271210193782283920781227919879675097461820420681083752141503423224311896089419088523550298909999882947736010369508609174336881221967072115441012994115767398000638055094430940265009475907964990501760927268656558128974845974217951699571103904191389104247151347476289509500770014122194811379787878387299811129174549959517809586524384718023718546780883041544572191194742243312097837972498586308787114297769355406604088519919417039633712867162587148433293863061602842424681421711699977530564871225935723259680624536567867436622075531363977019197024724581611029005231649337131147945667496727235428439887958078719862354010942379222172974062481774504912750172780325773476767560841281547989461279884545823898598812339900887027494271469239483150741434631251522586974394467569093875940187231635194702840844844728574322376776113782430016126244548002241663236701267650744530339428451529612408112495837501339553290480706426492882107320837914092852283147757478999634976690618853016897966893281387871185984870926657939752948485322003430214756290631760515828455429422148103981134584916823093295898674004525418149520211600091389593790580570375814937265955757297008307143511121781185246151695706650437834403 276836764308918266783504092496167064819335655793330091085361584292674552954778093515291934355320298531888678868375380038248136861961081130576611922882719825637808849875485608427443689732583137183557033144920588613113912898776830659736732263160171681376864837604068986571480122266354036867205071382512469383136173559237980203459209152757675405029157924335318971277424381756490763517864134348215759103050874305282614255357291921137194822449101335635473036198947819817799797781688140419504191706049133654485787811641154510000479334885947918125740609382211573044043817836118499033054024351952129347974025842554683586597856036878651037824766310702554311341665361443053363322034770052469931231870072498333568592876783165596147917473790593082425491769905762511391741023803591237904469976556157476980083193050120605053373608786205172108389164106291989560125792254301601360849628241873450657391862903610935913909577505576686960054048267993985347181339886043410693430016452150272677141846668132851422875376100801315381012661818625693339550517843003467499868846901957310537849733380028639128884356445520429848415932581968713304279026906250710784168368027361507287795078413408823018787706271705022589712694262098036108831315681153785733040830469548649396995250647788203709101989802243374429476621805344259363662732504439940618067487993285730074997915179891733212080254855240458339879585052012242730930627323910800701706943678867130223594775495225725912723658355178832675487952791636464015030587031205396389279594114373492996066604845726318624511077455709744055609683676460008660893130702932595038598100966899106707189795300894613473817723714984358989488990419416248761043001087284867512174912953370994365415388303044755091566046340233845413805677436323437744145412750214979113552048151501476385304624160575013748807179489774424869697482434270390357615546905525064699181761872861976114214288047186342212847126302483320878837225679469158800481355896515038539057005822879760876471771757297676540002459713540480109063548162898596275269092548204669460764443056812429059918751829730782737597827958206466995983798177452066104789768081343700082903942171730633485277388070168289648664793932772710724 447931293987373550518646305355921180537373522032075312788722856639821479542579121049045766280114569054147999470672747861999851883866743918798945968431716644192626421481500770456544491970209020802600292106340398653419700592375840896190443031291891363545965488356174868864847069662372686986660325314657627596150549351244065583489638546244544346693811032493580610277555627975220501192539695723020496113694933226071307946130390053835175124633455236662649646413222957688571175742485176839487806889593556729987969609878374923470772675744191884702775514495067748422528922136029777311948322097989217778822818122857448555052649667306582416826826715252262274622458665611537968529071016359916229574965373563502749609528404167846797624303702756426425582695424721180648429989298643416814401261403674503913714288473301603038927585189256986392766780913761472247717161058551662034696865164688174770669123173561507767795766044971532851576049747923473158967096937099705369739782823332079820849002188682448402146586294583599301793889738505368437012338263684551252010350325181622433939152468552189427794356328468165858785441191143050185500993978366151797162483794759507925850172844349088028263614236695524350639962918656165083677289899105485304144734660937753644146598124077713209872003924438185809264500192644070492837282463957750204591872711309448621778798221436305403274997098552556177852083638321029845228396679317404790226863095906763936461938082374159206586719958021257356909664491613994579901812966928656069904130682240929618142136209703337821535802037320773060841333013591156606560627430168023478486059045618969061200737680116786447880205489489271739661770745189725528603842368832856973454797499194892964227728203931782585837515579716996155240308687846024718539880319308855053739279786696179226149468889149336125583293272204440995942030436512053594316814556269595038610213402474384226710125548525895503327832728976202986158063593562011083629113375514673515747624675896658843365053145168862524873386371480233057548870166328811031559724308720497916193865204916410194503668652824078636271832483624616516195398268841659895370338457158637348859699468738940628788509851353535800360500583210545127 724768058296291817302150397852088245356709177825405403874084440932496032497357214564337700635434867586036678339048127900247988745827825049375557891314436469830435271356986378883988181702792157986157325251260987266533613491152671555927175294452063044922830325960243855436327191928726723853865396697170096979286722910482045786948847699002219751722968956828899581554980009731711264710403830071236255216745807531353922201487681974972369947082556572298122682612170777506370973524173317258991998595642690384473757421519529433471252010630139802828516123877279321466572739972148276345002346449941347126796843965412132141650505704185233454651593025954816585964124027054591331851105786412386160806835446061836318202405187333442945541777493349508851074465330483692040171013102234654718871237959831980893797481523422208092301193975462158501155945020053461807842953312853263395546493406561625428060986077172443681705343550548219811630098015917458506148436823143116063169799275482352497990848856815299825021962395384914682806551557131061776562856106688018751879197227138932971788885848580828556678712773988595707201373773111763489780020884616862581330851822121015213645251257757911047051320508400546940352657180754201192508605580259271037185565130486403041141848771865916918973993726681560238741121997988329856500014968397690822659360704595178696776713401328038615355251953793014517731668690333272576159024003228205491933806774773894160056713577599885119310378313200090032397617283250458594932399998134052459183724796614422614208741055429656446046879493030517116451016690051165267453758133100618517084160012518075768390532981011399921697929204473630729150761164605974289646843456117724485629710452565887329643116506976537677403561919950841569045986124169462462685293069523834167291327938197655611454093049724349874390472761978865865639512870782443951932361461794659737791975275336360340924413595712237716174959031459523864995289273031169884110469272029712054804630498776419719836824902466539064875846085020713166612418329227407306828816856925167376958308261728839254422420482554861373869660441831083512179196446293726000160106538502337431763641640469574114065897921521825449025294515983255851 1172699352283665367820796703208009425894082699857480716662807297572317512039936335613383466915549436640184677809720875762247840629694568968174503859746153114023061692838487149340532673673001178788757617357601385919953314083528512452117618325743954408468795814316418724301174261591099410840525722011827724575437272261726111370438486245246764098416779989322480191832535637706931765902943525794256751330440740757425230147618072028807545071716011808960772329025393735194942149266658494098479805485236247114461727031397904356942024686374331687531291638372347069889101662108178053656950668547930564905619662088269580696703155371491815871478419741207078860586582692666129300380176802772302390381800819625339067811933591501289743166081196105935276657160755204872688601002400878071533272499363506484807511769996723811131228779164719144893922725933814934055560114371404925430243358571249800198730109250733951449501109595519752663206147763840931665115533760242821432909582098814432318839851045497748227168548689968513984600441295636430213575194370372570003889547552320555405728038317133017984473069102456761565986814964254813675281014862983014378493335616880523139495424102106999075314934745096071290992620099410366276185895479364756341330299791424156685288446895943630128845997651119746048005622190632400349337297432355441027251233415904627318555511622764344018630249052345570695583752328654302421387420682545610282160669870680658096518651659974044325897098271221347389307281774864453174834212965062708529087855478855352232350877265132994267582681530351290177292349703642321874014385563268641995570219058137044829591270661128186369578134693962902468812531909795699818250685824950581459084507951760780293870844710908320263241077499667837724286294812015487181225173388832689221030607724893834837603561938873685999973766034183306861581543307294497546249176018064254776402188677810744567634539144238133219502791760435726851153352866593180967739582647544385570552255174673078563201878047635401589749232456500946224161288495556218338388541165645665293152173466645249448926089135378940010141492925455700028374594715135385895530444995660974780623341109208514742854407772875361249385795099193800978 1897467410579957185122947101060097671250791877682886120536891738504813544537293550177721167550984304226221356148769003662495829375522394017550061751060589583853496964195473528224520855375793336774914942608862373186486927574681184008044793620196017453391626140276662579737501453519826134694391118708997821554723995172208157157387333944248983850139748946151379773387515647438643030613347355865493006547186548288779152349105754003779915018798568381258895011637564512701313122790831811357471804080878937498935484452917433790413276697004471490359807762249626391355674402080326330001953014997871912032416506053681712838353661075677049326130012767161895446550706719720720632231282589184688551188636265687175386014338778834732688707858689455444127731626085688564728772015503112726252143737323338465701309251520146019223529973140181303395078670953868395863403067684258188825789851977811425626791095327906395131206453146067972474836245779758390171263970583385937496079381374296784816830699902313048052190511085353428667406992852767491990138050477060588755768744779459488377516924165713846541151781876445357273188188737366577165061035747599876959824187439001538353140675359864910122366255253496618231345277280164567468694501059624027378515864921910559726430295667809547047819991377801306286746744188620730205837312400753131849910594120499806015332225024092382633985501006138585213315421018987574997546444685773815774094476645454552256575365237573929445207476584421437421704899058114911769766612963196760988271580275469774846559618320562650713629561023381807293743366393693487141468143696369260512654379070655120597981803642139586291276063898436533197963293074401674107897529281068305944714218404326667623513961217884857940644639419618679293332280936184949643910466458356523388321935663091490449057654988598035874364238796162172727221056178076941498181537479858914514194163953147104908558952739950370935677750791895250716148642139624350851850051919574097625356885673449498283038702950101940654625078541521659390773706824783625645217358022570832670110481728374088703348509617933801384011153367286783540553791161429111895690551534163312212386982749678088856920305694397186698411089615177056829 3070166762863622552943743804268107097144874577540366837199699036077131056577229885791104634466533740866406033958489879424743670005216962985724565610806742697876558657033960677565053529048794515563672559966463759106440241658209696460162411945939971861860421954593081304038675715110925545534916840720825546130161267433934268527825820189495747948556528935473859965220051285145574796516290881659749757877627289046204382496723826032587460090514580190219667340662958247896255272057490305455951609566115184613397211484315338147355301383378803177891099400621973461244776064188504383658903683545802476938036168141951293535056816447168865197608432508368974307137289412386849932611459391956990941570437085312514453826272370336022431873939885561379404388786840893437417373017903990797785416236686844950508821021516869830354758752304900448289001396887683329918963182055663114256033210549061225825521204578640346580707562741587725138042393543599321836379504343628758928988963473111217135670550947810796279359059775321942652007434148403922203713244847433158759658292331780043783244962482846864525624850978902118839175003701621390840342050610582891338317523055882061492636099461971909197681189998592689522337897379574933744880396538988783719846164713334716411718742563753177176665989028921052334752366379253130555174609833108572877161827536404433333887736646856726652615750058484155908899173347641877418933865368319426056255146516135210353094016897547973771104574855642784811012180832979364944600825928259469517359435754325127078910495585695644981212242553733097471035716097335809015482529259637902508224598128792165427573074303267772660854198592399435666775824984197373926148215106018887403798726356087447917384805928793178203885716919286517017618575748200436825135639847189212609352543387985325286661216927471721874338004830345479588802599485371439044430713497923169290596352630957849476193491884188504155180542552330977567301995006217531819589634567118483195909140848122576846240580997737342244374310998022605614934995320339843983605899188216497963262655195019338152274598753312741394152646292742483568928385876564497791220996529824286993010323858886603599774713467272547947796884714370857807 4967634173443579738066690905328204768395666455223252957736590774581944601114523435968825802017518045092627390107258883087239499380739357003274627361867332281730055621229434205789574384424587852338587502575326132292927169232890880468207205566135989315252048094869743883776177168630751680229307959429823367684885262606142425685213154133744731798696277881625239738607566932584217827129638237525242764424813837334983534845829580036367375109313148571478562352300522760597568394848322116813423413646994122112332695937232771937768578080383274668250907162871599852600450466268830713660856698543674388970452674195633006373410477522845914523738445275530869753687996132107570564842741981141679492759073350999689839840611149170755120581798575016823532120412926582002146145033407103524037559974010183416210130273037015849578288725445081751684080067841551725782366249739921303081823062526872651452312299906546741711914015887655697612878639323357712007643474927014696425068344847408001952501250850123844331549570860675371319414427001171414193851295324493747515427037111239532160761886648560711066776632855347476112363192438987968005403086358182768298141710494883599845776774821836819320047445252089307753683174659739501213574897598612811098362029635245276138149038231562724224485980406722358621499110567873860761011922233861704727072421656904239349219961670949109286601251064622741122214594366629452416480310054093241830349623161589762609669382135121903216312051440064222232717079891094276714367438891456230505631016029794901925470113906258295694841803577114904764779082491029296156950672956007163020878977199447286025554877945407358952130262490835968864739118058599048034045744387087193348512944760414115540898767146678036144530356338905196310950856684385386469046106305545735997674479051076815735718871916069757748702243626507652316023655663448380542612250977782083804790516584104954384752444624138875090858293344226228283450637145841882671439686486692580821266026521572075129279283947839282898999389539544265005708702145123469628823257210787330633373136923393426855623108371246542778163799660029267109482177037993609686911548063987599205397306608564692456695019161669734646207974329547914636 8037800936307202291010434709596311865540541032763619794936289810659075657691753321759930436484051785959033424065748762511983169385956319988999192972674074979606614278263394883354627913473382367902260062541789891399367410891100576928369617512075961177112470049462825187814852883741677225764224800150648913815046530040076694213038974323240479747252806817099099703827618217729792623645929119184992522302441126381187917342553406068954835199827728761698229692963481008493823666905812422269375023213109306725729907421548110085123879463762077846142006563493573313845226530457335097319760382089476865908488842337584299908467293970014779721346877783899844060825285544494420497454201373098670434329510436312204293666883519506777552455738460578202936509199767475439563518051311094321822976210697028366718951294553885679933047477749982199973081464729235055701329431795584417337856273075933877277833504485187088292621578629243422750921032866957033844022979270643455354057308320519219088171801797934640610908630635997313971421861149575336397564540171926906275085329443019575944006849131407575592401483834249594951538196140609358845745136968765659636459233550765661338412874283808728517728635250681997276021072039314434958455294137601594818208194348579992549867780795315901401151969435643410956251476947126991316186532066970277604234249193308672683107698317805835939217001123106897031113767714271329835414175422412667886604769677724972962763399032669876987416626295707007043729260724073641658968264819715700022990451784120029004380609491953940676054046130848002235814798588365105172433202215645065529103575328239451453127952248675131612984461083235404531514943042796421960193959493106080752311671116501563458283573075471214348416073258191713328569432432585823294181746152734948607027022439062141022380088843541479623040248456853131904826255148819819587042964475705253095386869215062803860945936508327379246038835896557205850752632152059414491029321053811064017175167369694651975519864945576625143373700537566870620643697465463313612429156399003828596635792118412765007897707124559284172316445952771750678410562914558107478132544593811886198407630467451296056469732628942282594004859043918772443 13005435109750782029077125614924516633936207487986872752672880585241020258806276757728756238501569831051660814173007645599222668766695676992273820334541407261336669899492829089144202297897970220240847565117116023692294580123991457396576823078211950492364518144332569071591030052372428905993532759580472281499931792646219119898252128456985211545949084698724339442435185150314010450775567356710235286727254963716171452188382986105322210309140877333176792045264003769091392061754134539082798436860103428838062603358780882022892457544145352514392913726365173166445676996726165810980617080633151254878941516533217306281877771492860694245085323059430713814513281676601991062296943354240349927088583787311894133507494668677532673037537035595026468629612694057441709663084718197845860536184707211782929081567590901529511336203195063951657161532570786781483695681535505720419679335602806528730145804391733830004535594516899120363799672190314745851666454197658151779125653167927221040673052648058484942458201496672685290836288150746750591415835496420653790512366554259108104768735779968286659178116689597071063901388579597326851148223326948427934600944045649261184189649105645547837776080502771305029704246699053936172030191736214405916570223983825268688016819026878625625637949842365769577750587515000852077198454300831982331306670850212912032327659988754945225818252187729638153328362080900782251894485476505909716954392839314735572432781167791780203728677735771229276446340615167918373335703711171930528621467813914930929850723398212236370895849707962907000593881079394401329383875171652228549982552527686737478682830194082490565114723574071373396254061101395469994239703880193274100824615876915678999182340222149250492946429597096909639520289116971209763227852458280684604701501490138956758098960759611237371742492083360784220849910812268200129655215453487336900177385799167758245698381132466254336897129240783434134203269297901297162469007540503644838441193891266727104799148893415908042373090077111135626352399610586783241252413609791159230008929041806191863520815495805826950480245612801017787892739952551717165044092657799485403804937076015988513164751790612017240212833373466687079 21043236046057984320087560324520828499476748520750492547609170395900095916498030079488686674985621617010694238238756408111205838152651996981273013307215482240943284177756223972498830211371352588143107627658905915091661991015092034324946440590287911669476988193795394259405882936114106131757757559731121195314978322686295814111291102780225691293201891515823439146262803368043803074421496475895227809029696090097359369530936392174277045508968606094875021738227484777585215728659946961352173460073212735563792510780328992108016337007907430360534920289858746480290903527183500908300377462722628120787430358870801606190345065462875473966432200843330557875338567221096411559751144727339020361418094223624098427174378188184310225493275496173229405138812461532881273181136029292167683512395404240149648032862144787209444383680945046151630242997300021837185025113331090137757535608678740406007979308876920918297157173146142543114720705057271779695689433468301607133182961488446440128844854445993125553366832132669999262258149300322086988980375668347560065597695997278684048775584911375862251579600523846666015439584720206685696893360295714087571060177596414922522602523389454276355504715753453302305725318738368371130485485873816000734778418332405261237884599822194527026789919278009180534002064462127843393384986367802259935540920043521584715435358306560781165035253310836535184442129795172112087308660898918577603559162517039708535196180200461657191145304031478236320175601339241560032303968530887630551611919598034959934231332890166177046949895838810909236408679667759506501817077387297294079086127855926188931810782442757622178099184657306777927769004144191891954433663373299354853136286993417242457465913297620464841362502855288622968089721549557033057409598611015633211728523929201097780479049603152716994782740540213916125676165961088019716698179929192589995564255014230562106644317640793633582935965137340639984955901449960711653498328594314708855616361260961379080319013838992533185746790614678006246996097076050096853681570008794987826644721160218956871418522620365111122796691565572768466303302867109824643176637251611371602212567543467284569634484419554299834217692417385459522 34048671155808766349164685939445345133412956008737365300282050981141116175304306837217442913487191448062355052411764053710428506919347673973546833641756889502279954077249053061643032509269322808383955192776021938783956571139083491721523263668499862161841506338127963330996912988486535037751290319311593476814910115332514934009543231237210902839150976214547778588697988518357813525197063832605463095756951053813530821719319378279599255818109483428051813783491488546676607790414081500434971896933316164401855114139109874130908794552052782874927834016223919646736580523909666719280994543355779375666371875404018912472222836955736168211517523902761271689851848897698402622048088081579370288506678010935992560681872856861842898530812531768255873768425155590322982844220747490013544048580111451932577114429735688738955719884140110103287404529870808618668720794866595858177214944281546934738125113268654748301692767663041663478520377247586525547355887665959758912308614656373661169517907094051610495825033629342684553094437451068837580396211164768213856110062551537792153544320691344148910757717213443737079340973299804012548041583622662515505661121642064183706792172495099824193280796256224607335429565437422307302515677610030406651348642316230529925901418849073152652427869120374950111752651977128695470583440668634242266847590893734496747763018295315726390853505498566173337770491876072894339203146375424487320513555356354444107628961368253437394873981767249465596621941954409478405639672242059561080233387411949890864082056288378413417845745546773816237002560747153907831200952558949522629068680383612926410493612636840112743213908231378151324023065245587361948673367253492628953960902870332921456648253519769715334308932452385532607610010666528242820637451069296317816430025419340054538578010362763954366525232623574700346526076773356219846353395382679926895741640813398320352342698773259887919833094378124074119159170747862008815967336134818353694057555152228106185118162732408441228119880691789141873348496686636880094933983618586147056653650202025148734939338116170938073276937178373786254196042819661541808220729909410857006017504619483273082799236210166317074430525790852146601 55091907201866750669252246263966173632889704529487857847891221377041212091802336916706129588472813065073049290650520461821634345071999670954819846948972371743223238255005277034141862720640675396527062820434927853875618562154175526046469704258787773831318494531923357590402795924600641169509047879042714672129888438018810748120834334017436594132352867730371217734960791886401616599618560308500690904786647143910890191250255770453876301327078089522926835521718973324261823519074028461787145357006528899965647624919438866238925131559960213235462754306082666127027484051093167627581372006078407496453802234274820518662567902418611642177949724746091829565190416118794814181799232808918390649924772234560090987856251045046153124024088027941485278907237617123204256025356776782181227560975515692082225147291880475948400103565085156254917647527170830455853745908197685995934750552960287340746104422145575666598849940809184206593241082304858305243045321134261366045491576144820101298362761540044736049191865762012683815352586751390924569376586833115773921707758548816476202319905602720011162337317737290403094780558020010698244934943918376603076721299238479106229394695884554100548785512009677909641154884175790678433001163483846407386127060648635791163786018671267679679217788398384130645754716439256538863968427036436502202388510937256081463198376601876507555888758809402708522212621671245006426511807274343064924072717873394152642825141568715094586019285798727701916797543293651038437943640772947191631845307009984850798313389178544590464795641385584725473411240414913414333018029946246816708154808239539115342304395079597734921313092888684929251792069389779253903107030626791983807097189863750163914114166817390180175671435307674155575699732216085275878047049680311951028158549348541152319057059965916671361307973163788616472202242734444239563051575311872516891305895827628882458987016414053521502769059515464714104115072197822720469465664729133062549673916413189485265437176571400974413866671306467148120344593762686976948615553627381134883298371362244105606357860736536049196073628743946554720499345686771366451397367161022228608230072162950557652433720629720616908648218208237606123 89140578357675517018416932203411518766302660538225223148173272358182328267106643753923572501960004513135404343062284515532062851991347344928366680590729261245503192332254330095784895229909998204911018013210949792659575133293259017767992967927287635993160000870051320921399708913087176207260338198354308148944798553351325682130377565254647496971503843944918996323658780404759430124815624141106154000543598197724421012969575148733475557145187572950978649305210461870938431309488109962222117253939845064367502739058548740369833926112012996110390588322306585773764064575002834346862366549434186872120174109678839431134790739374347810389467248648853101255042265016493216803847320890497760938431450245496083548538123901907996022554900559709741152675662772713527238869577524272194771609555627144014802261721616164687355823449225266358205052057041639074522466703064281854111965497241834275484229535414230414900542708472225870071761459552444830790401208800221124957800190801193762467880668634096346545016899391355368368447024202459762149772797997883987777817821100354268355864226294064160073095034950734140174121531319814710792976527541039118582382420880543289936186868379653924742066308265902516976584449613212985735516841093876814037475702964866321089687437520340832331645657518759080757507368416385234334551867705070744469236101830990578210961394897192233946742264307968881859983113547317900765714953649767552244586273229748596750454102936968531980893267565977167513419485248060516843583313015006752712078694421934741662395445466923003882641386932358541710413801162067322164218982505196339337223488623152041752798007716437847664527001120063080575815134635366615851780397880284612761058092734083085370762420337159895509980367760059688183309742882613518698684500749608268844588574767881206857635070328680625727833205787363316818728319507800459409404970694552443787047536641027202811329715187313409422602153893588788223274242945684729285433000863951416243731471565417591450555339303809415641986551998256289993693090449323857043549537245967281939952021564269254341297198852706987269350565922320340974695388506432908259618097070433085614247576782433830735232956839886933983078743999089752724 144232485559542267687669178467377692399192365067713080996064493735223540358908980670629702090432817578208453633712804977353697197063347015883186527539701632988726430587259607129926757950550673601438080833645877646535193695447434543814462672186075409824478495401974678511802504837687817376769386077397022821074686991370136430251211899272084091103856711675290214058619572291161046724434184449606844905330245341635311204219830919187351858472265662473905484826929435195200254828562138424009262610946373964333150363977987606608759057671973209345853342628389251900791548626096001974443738555512594368573976343953659949797358641792959452567416973394944930820232681135288030985646553699416151588356222480056174536394374946954149146578988587651226431582900389836731494894934301054375999170531142836097027409013496640635755927014310422613122699584212469530376212611261967850046716050202121616230333957559806081499392649281410076665002541857303136033446529934482491003291766946013863766243430174141082594208765153368052183799610953850686719149384830999761699525579649170744558184131896784171235432352688024543268902089339825409037911471459415721659103720119022396165581564264208025290851820275580426617739333789003664168518004577723221423602763613502112253473456191608512010863445917143211403262084855641773198520294741507246671624612768246659674159771499068741502631023117371590382195735218562907192226760924110617168658991103142749393279244505683626566912553364704869430217028541711555281526953787953944343924001431919592460708834645467594347437028317943267183825041576980736497237012451443156045378296862691157095102402796035582585840094008748009827607204025145869754887428507076596568155282597833249284876587154550075685651803067733843759009475098698794576731550429920219872747124116422359176692130294597297089141178951151933290930562242244698972456546006424960678353432468656085270316731601366930925371213409053502327389315143507449754898665593084478793405387978607076715992515875210390055853223304723438114037684212010833992165090873348416823250392926513359947655059589243036465424194666266895695194734193204274711015464231455314222477648945384388387666677469607550891726962207327358847 233373063917217784706086110670789211165495025605938304144237766093405868626015624424553274592392822091343857976775089492885760049054694360811553208130430894234229622919513937225711653180460671806349098846856827439194768828740693561582455640113363045817638496272025999433202213750774993584029724275751330970019485544721462112381589464526731588075360555620209210382278352695920476849249808590712998905873843539359732217189406067920827415617453235424884134132139897066138686138050248386231379864886219028700653103036536346978592983783986205456243930950695837674555613201098836321306105104946781240694150453632499380932149381167307262956884222043798032075274946151781247789493874589913912526787672725552258084932498848862145169133889147360967584258563162550258733764511825326570770780086769980111829670735112805323111750463535688971327751641254108604898679314326249704158681547443955891714563492974036496399935357753635946736764001409747966823847738734703615961091957747207626234124098808237429139225664544723420552246635156310448868922182828883749477343400749525012914048358190848331308527387638758683443023620659640119830887999000454840241486140999565686101768432643861950032918128541482943594323783402216649904034845671600035461078466578368433343160893711949344342509103435902292160769453272027007533072162446577991140860714599237237885121166396260975449373287425340472242178848765880807957941714573878169413245264332891346143733347442652158547805820930682036943636513789772072125110266802960697056002695853854334123104280112390598230078415250301808894238842739048058661455994956639495382601785485843198847900410512473430250367095128811090403422338660512485606667826387361209329213375331916334655639007491709971195632170827793531942319217981312313275416051179528488717335698884303566034327200623277922816974384738515250109658881750045158381861516700977404465400969109683288081646446788680340347973367302642290550663558089192179040331666457035895037136859544024668166547855179019805697839775302979728107730774661334691035714628119315698763202414490782614288952258441950023734774760588587236669890122699637182970633561301888399836725225727818219122899634309494484874805706206417111571 377605549476760052393755289138166903564687390673651385140302259828629408984924605095182976682825639669552311610487894470239457246118041376694739735670132527222956053506773544355638411131011345407787179680502705085729962524188128105396918312299438455642116991674000677945004718588462810960799110353148353791094172536091598542632801363798815679179217267295499424440897924987081523573683993040319843811204088880995043421409236987108179274089718897898789618959069332261338940966612386810240642475832592993033803467014523953587352041455959414802097273579085089575347161827194838295749843660459375609268126797586159330729508022960266715524301195438742962895507627287069278775140428289330064115143895205608432621326873795816294315712877735012194015841463552386990228659446126380946769950617912816208857079748609445958867677477846111584450451225466578135274891925588217554205397597646077507944897450533842577899328007035046023401766543267051102857294268669186106964383724693221490000367528982378511733434429698091472736046246110161135588071567659883511176868980398695757472232490087632502543959740326783226711925709999465528868799470459870561900589861118588082267349996908069975323769948817063370212063117191220314072552850249323256884681230191870545596634349903557856353372549353045503564031538127668780731592457188085237812485327367483897559280937895329716952004310542712062624374583984443715150168475497988786581904255436034095537012591948335785114718374295386906373853542331483627406637220590914641399926697285773926583813114757858192577515443568245076078063884316028795158693007408082651427980082348534355943002813308509012836207189137559100231029542685658355361555254894437805897368657929749583940515594646260046881283973895527375701328693080011107852147601609448708590082823000725925211019330917875219906115563689667183400589443992289857354318062707402365143754401578339373351963178390047271273344580711695792878052873232699628795230332050120373830542247522631744882540371054230195753692998607703166221768458873345525027879718992664115586452807417295974236607318031193060200198955254854132365084856892841457681649025533343714059202874673202607510566311779102035766532668413744470418 610978613393977837099841399808956114730182416279589689284540025922035277610940229519736251275218461760896169587262983963125217295172735737506292943800563421457185676426287481581350064311472017214136278527359532524924731352928821666979373952412801501459755487946026677378206932339237804544828834628899684761113658080813060655014390828325547267254577822915708634823176277683002000422933801631032842717077932420354775638598643055029006689707172133323673753091209229327477627104662635196472022340718812021734456570051060300565945025239945620258341204529780927249902775028293674617055948765406156849962277251218658711661657404127573978481185417482540994970782573438850526564634302879243976641931567931160690706259372644678439484846766882373161600100026714937248962423957951707517540730704682796320686750483722251281979427941381800555778202866720686740173571239914467258364079145090033399659460943507879074299263364788681970138530544676799069681142007403889722925475682440429116234491627790615940872660094242814893288292881266471584456993750488767260654212381148220770386280848278480833852487127965541910154949330659105648699687469460325402142076002118153768369118429551931925356688077358546313806386900593436963976587695920923292345759696770238978939795243615507200695881652788947795724800991399695788264664619634663228953346041966721135444402104291590692401377597968052534866553432750324523108110190071866955995149519768925441680745939390987943662524195226068943317490056121255699531747487393875338455929393139628260706917394870248790807593858818546884972302727055076853820149002364722146810581867834377554790903223820982443086574284266370190634451881346170840968223081281799015226582033261665918596154602137970018076916144723320907643647911061323421127563652788977197307418521885029491245346531541153142723089948428182433510248325742335015736179579408379769609155370688022661433609625178727611621317948014338083428716431321891807835561998507156268867679107066656413049088226233250001451532773910682894329499233534680216063594347111979814349655221908078588525559576473143083934973715843441369034974979592478640652282586835232113895928100401020826633465946088596520641338374620161581989 988584162870737889493596688947123018294869806953241074424842285750664686595864834614919227958044101430448481197750878433364674541290777114201032679470695948680141729933061025936988475442483362621923458207862237610654693877116949772376292264712239957101872479620027355323211650927700615505627944982048038552207830616904659197647192192124362946433795090211208059264074202670083523996617794671352686528282021301349819060007880042137185963796891031222463372050278561588816568071275022006712664816551405014768260037065584254153297066695905035060438478108866016825249936855488512912805792425865532459230404048804818042391165427087840694005486612921283957866290200725919805339774731168574040757075463136769123327586246440494733800559644617385355615941490267324239191083404078088464310681322595612529543830232331697240847105419227912140228654092187264875448463165502684812569476742736110907604358394041721652198591371823727993540297087943850172538436276073075829889859407133650606234859156772994452606094523940906366024339127376632720045065318148650771831081361546916527858513338366113336396446868292325136866875040658571177568486939920195964042665863236741850636468426460001900680458026175609684018450017784657278049140546170246549230440926962109524536429593519065057049254202141993299288832529527364568996257076822748466765831369334205033003683042186920409353381908510764597490928016734768238258278665569855742577053775204959537217758531339323728777242569521455849691343598452739326938384707984789979855856090425402187290730509628106983385109302386791961050366611371105648978842009772804798238561950182911910733906037129491455922781473403929290865481424031829196329778336176236821123950691191415502536670196784230064958200118618848283344976604141334528979711254398425905897501344885755416456365862459028362629205512117849616910837769734624873090497642115782134752909772266362034785572803568774882894662528726033876306769304554591436630792330557276642698221354589288157931628597287480197205225772518386060551267692408025741091474066104643929936108029325374562762166894504336144135172671098295501400059836485320098333931612368575827955130975074223434144032257867698556407871043033906052407 1599562776264715726593438088756079133025052223232830763709382311672699964206805064134655479233262563191344650785013862396489891836463512851707325623271259370137327406359348507518338539753955379836059736735221770135579425230045771439355666217125041458561627967566054032701418583266938420050456779610947723313321488697717719852661583020449910213688372913126916694087250480353085524419551596302385529245359953721704594698606523097166192653504063164546137125141487790916294195175937657203184687157270217036502716607116644554719242091935850655318779682638646944075152711883782187529861741191271689309192681300023476754052822831215414672486672030403824952837072774164770331904409034047818017399007031067929814033845619085173173285406411499758517216041516982261488153507362029795981851412027278408850230580716053948522826533360609712696006856958907951615622034405417152070933555887826144307263819337549600726497854736612409963678827632620649242219578283476965552815335089574079722469350784563610393478754618183721259312632008643104304502059068637418032485293742695137298244794186644594170248933996257867047021824371317676826268174409380521366184741865354895619005586856011933826037146103534155997824836918378094242025728242091169841576200623732348503476224837134572257745135854930941095013633520927060357260921696457411695719177411300926168448085146478511101754759506478817132357481449485092761366388855641722698572203294973884978898504470730311672439766764747524793008833654573995026470132195378665318311785483565030447997647904498355774192703161205338846022669338426182502798991012137526945049143818017289465524809260950473899009355757670299481499933305378000037298001417458035836350532724453081421132824798922200083035116263342169190988624515202657950107274907187403103204919866770784907701712394000181505352295460546032050421086095476959888826677221524161904362065142954384696219182428747502494515980476740371959735485735876483244466354329064432911565900461655944570980716823520730198656758546429068954880766925942705957155068413216623744285763251233453151287726470977479228070146386941736870435034816077798738986214199203807941851059075475244260777498203956295077049209417654067634396 2588146939135453616087034777703202151319922030186071838134224597423364650802669898749574707191306664621793131982764740829854566377754289965908358302741955318817469136292409533455327015196438742457983194943084007746234119107162721211731958481837281415663500447186081388024630234194639035556084724592995761865529319314622379050308775212574273160122168003338124753351324683023169048416169390973738215773641975023054413758614403139303378617300954195768600497191766352505110763247212679209897351973821622051270976644182228808872539158631755690379218160747512960900402648739270700442667533617137221768423085348828294796443988258303255366492158643325108910703362974890690137244183765216392058156082494204698937361431865525667907085966056117143872831983007249585727344590766107884446162093349874021379774410948385645763673638779837624836235511051095216491070497570919836883503032630562255214868177731591322378696446108436137957219124720564499414758014559550041382705194496707730328704209941336604846084849142124627625336971136019737024547124386786068804316375104242053826103307525010707506645380864550192183888699411976248003836661349300717330227407728591637469642055282471935726717604129709765681843286936162751520074868788261416390806641550694458028012654430653637314794390057072934394302466050454424926257178773280160162485008780635131201451768188665431511108141414989581729848409466219860999624667521211578441149257070178844516116263002069635401217009334268980642700177253026734353408516903363455298167641573990432635288378414126462757577812463592130807073035949797288151777833021910331743287705768200201376258715298079965354932137231074228772365414729409829233627779753634272657474483415644496923669494995706430147993316381961017474333601119343992479086986161585829009102421211656540324158078256459209867981500972663881667331923865211584761917174863639944039114974915220746731004755232316277377410643005466405836042255040431074681097146659621709554264121816245232728912345420808210395861984318947455015432034618350731698246542479321267674221871280558827714049893365481815372205319058040032371835094652563118837320145811572383769806190050549467694921530461823993633457080460687973686803 4187709715400169342680472866459281284344974253418902601843606909096064615009474962884230186424569227813137782767778603226344458214217802817615683926013214688954796542651758040973665554950394122294042931678305777881813544337208492651087624698962322874225128414752135420726048817461577455606541504203943485178850808012340098902970358233024183373810540916465041447438575163376254572835720987276123745019001928744759008457220926236469571270805017360314737622333254143421404958423150336413082039131091839087773693251298873363591781250567606345697997843386159904975555360623052887972529274808408911077615766648851771550496811089518670038978830673728933863540435749055460469148592799264210075555089525272628751395277484610841080371372467616902390048024524231847215498098128137680428013505377152430230004991664439594286500172140447337532242368010003168106692531976336988954436588518388399522131997069140923105194300845048547920897952353185148656977592843027006935520529586281810051173560725900215239563603760308348884649603144662841329049183455423486836801668846937191124348101711655301676894314860808059230910523783293924830104835758681238696412149593946533088647642138483869552754750233243921679668123854540845762100597030352586232382842174426806531488879267788209572539525912003875489316099571381485283518100469737571858204186191936057369899853335143942612862900921468398862205890915704953760991056376853301139721460365152729495014767472799947073656776099016505435709010907600729379878649098742120616479427057555463083286026318624818531770515624797469653095705288223470654576824034047858688336849586217490841783524559030439253941492988744528253865348034787829270925781171092308493825016140097578344802319794628630231028432645303186665322225634546650429194261068773232112307341078427325231859790650459391373333796433209913717753009960688544650743852085164105943477040058175131427223937661063779871926623482206777795777740776307557925563500988686142465830022277901177299893062244328940594518742865376523970312801544293437655401610892537891418507634531792280865337619836459294600275465444981769242270129468640917576306360010776191711657249126024711955699028665780288710506289878342041321199 6775856654535622958767507644162483435664896283604974439977831506519429265812144861633804893615875892434930914750543344056199024591972092783524042228755170007772265678944167574428992570146832864752026126621389785628047663444371213862819583180799604289888628861938216808750679051656216491162626228796939247044380127326962477953279133445598456533932708919803166200789899846399423621251890378249861960792643903767813422215835329375772949888105971556083338119525020495926515721670363015622979391104913461139044669895481102172464320409199362036077216004133672865875958009362323588415196808425546132846038851997680066346940799347821925405470989317054042774243798723946150606392776564480602133711172019477327688756709350136508987457338523734046262880007531481432942842688894245564874175598727026451609779402612825240050173810920284962368477879061098384597763029547256825837939621148950654737000174800732245483890746953484685878117077073749648071735607402577048318225724082989540379877770667236820085648452902432976509986574280682578353596307842209555641118043951179244950451409236666009183539695725358251414799223195270172833941497107981956026639557322538170558289697420955805279472354362953687361511410790703597282175465818614002623189483725121264559501533698441846887333915969076809883618565621835910209775279243017732020689194972571188571351621523809374123971042336457980592054300381924814760615723898064879580870717435331574011131030474869582474873785433285486078409188160627463733287166002105575914647068631545895718574404732751281289348328088389600460168741238020758806354657055958190431624555354417692218042239857110404608873630219818757026230762764197658504553560924726581151299499555742075268471814790335060379021749027264204139655826753890642908281247230359061121409762290083865556017868906918601241315297405873795385084933825900129412661026948804049982592014973395878158228692893380057249337266487673183631819995816738632606660647648307852020094144094146410028805407665137150990380727184323978985744836162644169353648153371859159092729505812351108579387513201941109972480784503021801614105224121204036413626505822348575481463439176574179650620559127604282343963370339030015008002 10963566369935792301447980510621764720009870537023877041821438415615493880821619824518035080040445120248068697518321947282543482806189895601139726154768384696727062221595925615402658125097226987046069058299695563509861207781579706513907207879761927164113757276690352229476727869117793946769167733000882732223230935339302576856249491678622639907743249836268207648228475009775678194087611365525985705811645832512572430673056255612242521158910988916398075741858274639347920680093513352036061430236005300226818363146779975536056101659766968381775213847519832770851513369985376476387726083233955043923654618646531837897437610437340595444449819990782976637784234473001611075541369363744812209266261544749956440151986834747350067828710991350948652928032055713280158340787022383245302189104104178881839784394277264834336673983060732299900720247071101552704455561523593814792376209667339054259132171869873168589085047798533233799015029426934796728713200245604055253746253669271350431051331393137035325212056662741325394636177425345419682645491297633042477919712798116436074799510948321310860434010586166310645709746978564097664046332866663194723051706916484703646937339559439674832227104596197609041179534645244443044276062848966588855572325899548071090990412966230056459873441881080685372934665193217395493293379712755303878893381164507245941251474858953316736833943257926379454260191297629768521606780274918180720592177800484303506145797947669529548530561532301991514118199068228193113165815100847696531126495689101358801860431051376099821118843713187070113264446526244229460931481090006049119961404940635183059825764416140843862815123208563285280096110798985487775479342095818889645124515695839653613274134584963690610050181672567390804978052388437293337475508299132293233717103368511190787877659557377992614649093839083709102837943786588674063404879033968155926069055031571009585452630554443837121263889969879961427597736593046190532224148636993994485924166372047587328698469909466091584899470049700502956057637706937607009049764264397050511237140344143389444725133038400404572756249948003570856375353589844953989932865833124767193120688302598891606319587793384571054469660217372056329201 17739423024471415260215488154784248155674766820628851481799269922134923146633764686151839973656321012682999612268865291338742507398161988384663768383523554704499327900540093189831650695244059851798095184921085349137908871225950920376726791060561531454002386138628569038227406920774010437931793961797821979267611062666265054809528625124221096441675958756071373849018374856175101815339501743775847666604289736280385852888891584988015471047016960472481413861383295135274436401763876367659040821340918761365863033042261077708520422068966330417852429851653505636727471379347700064802922891659501176769693470644211904244378409785162520849920809307837019412028033196947761681934145928225414342977433564227284128908696184883859055286049515084994915808039587194713101183475916628810176364702831205333449563796890090074386847793981017262269198126132199937302218591070850640630315830816289708996132346670605414072975794752017919677132106500684444800448807648181103571971977752260890810929102060373855410860509565174301904622751706027998036241799139842598119037756749295681025250920184987320043973706311524562060508970173834270497987829974645150749691264239022874205227036980395480111699458959151296402690945435948040326451528667580591478761809624669335650491946664671903347207357850157495256553230815053305703068658955773035899582576137078434512603096382762690860804985594384360046314491679554583282222504172983060301462895235815877517276828422539112023404346965587477592527387228855656846452981102953272445773564320647254520434835784127381110467171801576670573433187764264988267286138145964239551585960295052875277868004273251248471688753428382042306326873563183146280032903020545470796424015251581728881745949375298750989071930699831594944633879142327936245756755529491354355126865658595056343895528464296593855964391244957504487922877612488803476065905982772205908661070004966887743681323447823894370601156457553145059417732409784823138884796285301846506018310466193997357503877574603242575280197234024481941802473869581776362697917636256209603966646156494498024112646240341514545237034451025372470480577711048990403559371655473342674584127479173071256940146920988853398433030556402071337203 28702989394407207561663468665406012875684637357652728523620708337750417027455384510669875053696766132931068309787187238621285990204351883985803494538291939401226390122136018805234308820341286838844164243220780912647770079007530626890633998940323458618116143415318921267704134789891804384700961694798704711490841998005567631665778116802843736349419208592339581497246849865950780009427113109301833372415935568792958283561947840600257992205927949388879489603241569774622357081857389719695102251576924061592681396189041053244576523728733298799627643699173338407578984749333076541190648974893456220693348089290743742141816020222503116294370629298619996049812267669949372757475515291970226552243695108977240569060683019631209123114760506435943568736071642907993259524262939012055478553806935384215289348191167354908723521777041749562169918373203301490006674152594444455422692040483628763255264518540478582662060842550551153476147135927619241529162007893785158825718231421532241241980433453510890736072566227915627299258929131373417718887290437475640596957469547412117100050431133308630904407716897690872706218717152398368162034162841308345472742971155507577852164376539835154943926563555348905443870480081192483370727591516547180334334135524217406741482359630901959807080799731238180629487896008270701196362038668528339778475957301585680453854571241716007597638928852310739500574682977184351803829284447901241022055073036300181023422626370208641571934908497889469106645586297083849959618796203800968976900060009748613322295266835503480931586015514763740686697634290509217728217619235970288671547365235688058337693768689392092334503876636945327586422984362168634055512245116364360441548530947421382495020083960262441599122112372398985749611931530765229583232263828623647588843969027106247131773188021674586470613485084041213590760821399077477539470785016740361834730125036537897329133954002267731491865046427433106487015469002831013671108944922295840991942476838241584686202347484069334160179667283724984897860111576519383371747681900653260115203786500637887468837779278741919117993284399028943326855931300893944393492237488598109867704815781771962863259734714373424452902690773774127666404 46442412418878622821878956820190261031359404178281580005419978259885340174089149196821715027353087145614067922056052529960028497602513872370467262921815494105725718022676111995065959515585346690642259428141866261785678950233481547267360790000884990072118529553947490305931541710665814822632755656596526690758453060671832686475306741927064832791095167348410955346265224722125881824766614853077681039020225305073344136450839425588273463252944909861360903464624864909896793483621266087354143072917842822958544429231302130953096945797699629217480073550826844044306456128680776605993571866552957397463041559934955646386194430007665637144291438606457015461840300866897134439409661220195640895221128673204524697969379204515068178400810021520938484544111230102706360707738855640865654918509766589548738911988057444983110369571022766824439116499335501427308892743665295096053007871299918472251396865211083996735036637302569073153279242428303686329610815541966262397690209173793132052909535513884746146933075793089929203881680837401415755129089577318238715995226296707798125301351318295950948381423209215434766727687326232638660021992815953496222434235394530452057391413520230635055626022514500201846561425517140523697179120184127771813095945148886742391974306295573863154288157581395675886041126823324006899430697624301375678058533438664114966457667624478698458443914446695099546889174656738935086051788620884301323517968272116058540699454792747753595339255463476946699172973525939506806071777306754241422673624330395867842730102619630862042053187316340411260130822054774205995503757381934528223133325530740933615561772962643340806192630065327369892749857925351780335545148136909831237972546199003111376766033335561192588194043072230580694245810673093165828989019358115001943970834685701303475668716485971180326577876328998718078683699011566281015536690999512567743391195041504785072815277450091625862466202884986251546433201412615836809993741207597687497960787304435582043706225058672576735459864517749466839662585446101159734445599536909469719170432657132385492950425519083433663230318850054315797336509011942934797051609144071452542288943260945034120199881635362277851335721330176199003607 75145401813285830383542425485596273907044041535934308529040686597635757201544533707491590081049853278545136231843239768581314487806865756356270757460107433506952108144812130800300268335926633529486423671362647174433449029241012174157994788941208448690234672969266411573635676500557619207333717351395231402249295058677400318141084858729908569140514375940750536843512074588076661834193727962379514411436160873866302420012787266188531455458872859250240393067866434684519150565478655807049245324494766884551225825420343184197673469526432928017107717250000182451885440878013853147184220841446413618156389649225699388528010450230168753438662067905077011511652568536846507196885176512165867447464823782181765267030062224146277301515570527956882053280182873010699620232001794652921133472316701973764028260179224799891833891348064516386609034872538802917315566896259739551475699911783547235506661383751562579397097479853120226629426378355922927858772823435751421223408440595325373294889968967395636883005642021005556503140609968774833474016380014793879312952695844119915225351782451604581852789140106906307472946404478631006822056155657261841695177206550038029909555790060065789999552586069849107290431905598333007067906711700674952147430080673104149133456665926475822961368957312633856515529022831594708095792736292829715456534490740249795420312238866194706056082843299005839047463857633923286889881073068785542345573041308416239564122081162956395167274163961366415805818559823023356765690573510555210399573684340144481165025369455134342973639202831104151946828456345283423723721376617904816894680690766428991953255541652035433140696506702272697479172842287520414391057393253274191679521077146424493871786117295823634187316155444629566443857742203858395412221283186738649532814803712807550607441904507645766797191361413039931669444520410643758555007476016252929578121320078042682401949231452359357354331249312419358033448670415446850481102686129893528489903264142677166729908572542741910895639531801474451737522697022620543106193281437562729834374219157770272961788204797825352781223603249083259124192440312836879190543846632669562409993759042716996983459616349735702304238412103950326670011 121587814232164453205421382305786534938403445714215888534460664857521097375633682904313305108402940424159204153899292298541342985409379628726738020381922927612677826167488242795366227851511980220128683099504513436219127979474493721425355578942093438762353202523213901879567218211223434029966473007991758093007748119349233004616391600656973401931609543289161492189777299310202543658960342815457195450456386178939646556463626691776804918711817769111601296532491299594415944049099921894403388397412609707509770254651645315150770415324132557234587790800827026496191897006694629753177792707999371015619431209160655034914204880237834390582953506511534026973492869403743641636294837732361508342685952455386289964999441428661345479916380549477820537824294103113405980939740650293786788390826468563312767172167282244874944260919087283211048151371874304344624459639925034647528707783083465707758058248962646576132134117155689299782705620784226614188383638977717683621098649769118505347799504481280383029938717814095485707022290806176249229145469592112118028947922140827713350653133769900532801170563316121742239674091804863645482078148473215337917611441944568481966947203580296425055178608584349309136993331115473530765085831884802723960526025821990891525430972222049686115657114894029532401570149654918714995223433917131091134593024178913910386769906490673404514526757745700938594353032290662221975932861689669843669091009580532298104821535955704148762613419424843362504991533348962863571762350817309451822247308670540349007755472074765205015692390147444563206959278400057629719225133999839345117814016297169925568817314614678773946889136767600067371922700212872194726602541390184022917493623345427605248552150631384826775510198516860147138103552876951561241210302544853651476785638398508854083110620993616947123769237742038649748128219422210039570544167015765497321512515119547467474764508902450983216797452197405609579881871828062687291096427337491215987864051447112748773614797601414487631099396319223918577185282468721702840638880974472199553544651814902658454738630316908786444453922099137574921528949324779813987595455776741014952282702303662031103659497985097980155574133434126525673618 196733216045450283588963807791382808845447487250150197063501351455156854577178216611804895189452793702704340385742532067122657473216245385083008777842030361119629934312300373595666496187438613749615106770867160610652577008715505895583350367883301887452587875492480313453202894711781053237300190359386989495257043178026633322757476459386881971072123919229912029033289373898279205493154070777836709861892547052805948976476413957965336374170690628361841689600357734278935094614578577701452633721907376592060996080071988499348443884850565485251695508050827208948077337884708482900362013549445784633775820858386354423442215330468003144021615574416611038485145437940590148833180014244527375790150776237568055232029503652807622781431951077434702591104476976124105601171742444946707921863143170537076795432346507044766778152267151799597657186244413107261940026536184774199004407694867012943264719632714209155529231597008809526412131999140149542047156462413469104844507090364443878642689473448676019912944359835101042210162900774951082703161849606905997341900617984947628576004916221505114653959703423028049712620496283494652304134304130477179612788648494606511876502993640362215054731194654198416427425236713806537832992543585477676107956106495095040658887638148525509077026072206663388917099172486513423091016170209960806591127514919163705807082145356868110570609601044706777641816889924585508865813934758455386014664050888948537668943617118660543929887583386209778310810093171986220337452924327864662221820993010684830172780841529899547989331592978548715153787734745341053442946510617744162012494707063598917522072856266714207087585643469872764851095542500392609117659934643458214597014700491852099120338267927208460962826353961489713581961295080809956653431585731592301009600442111316404690552525501262713920960599155078581417572739832853798125551643032018426899633835197590149876713740354810340571128701509824967613330542243509537772199113467384744477767315589789915503523370144156398526738928120698370314707979491342245946832162412034929387918870972672931416526835114734139225677525348220834045721389637616693178139302409410577362276461346379028087119114334833682459812545538076852343629 318321030277614736794385190097169343783850932964366085597962016312677951952811899516118200297855734126863544539641824365664000458625625013809746798223953288732307760479788616391032724038950593969743789870371674046871704988189999617008705946825395326214941078015694215332770112923004487267266663367378747588264791297375866327373868060043855373003733462519073521223066673208481749152114413593293905312348933231745595532940040649742141292882508397473442986132849033873351038663678499595856022119319986299570766334723633814499214300174698042486283298851654235444269234891403112653539806257445155649395252067547009458356420210705837534604569080928145065458638307344333790469474851976888884132836728692954345197028945081468968261348331626912523128928771079237511582111483095240494710253969639100389562604513789289641722413186239082808705337616287411606564486176109808846533115477950478651022777881676855731661365714164498826194837619924376156235540101391186788465605740133562383990488977929956402942883077649196527917185191581127331932307319199018115370848540125775341926658049991405647455130266739149791952294588088358297786212452603692517530400090439174993843450197220658640109909803238547725564418567829280068598078375470280400068482132317085932184318610370575195192683187100692921318669322141432138086239604127091897725720539098077616193852051847541515085136358790407716236169922215247730841746796448125229683755060469480835773765153074364692692501002811053140815801626520949083909215275145174114044068301681225179180536313604664753005023983125993278360747013145398683162171644617583507130308723360768843090890170881392981034474780237472832223018242713264803844262476033642237514508323837279704368890418558593287738336552478349860720064847957761517894641888276445952486386080509825258773663146494879661044729836897117231165700959255063837696095810047783924221146350317137617351478249257261323787926153707230577193212414071572225063295540804875960465631367036902664277138167745570886157838324439922288891893261960063948787471043386507128941463522787575589871265465431642925670131447447358408967250338962396507165734758186151592314559163650041059190778612319931662615386678972203378017247 515054246323065020383348997888552152629298420214516282661463367767834806529990116127923095487308527829567884925384356432786657931841870398892755576065983649851937694792088989986699220226389207719358896641238834657524281996905505512592056314708697213667528953508174528785973007634785540504566853726765737083521834475402499650131344519430737344075857381748985550256356047106760954645268484371130615174241480284551544509416454607707477667053199025835284675733206768152286133278257077297308655841227362891631762414795622313847658185025263527737978806902481444392346572776111595553901819806890940283171072925933363881798635541173840678626184655344756103943783745284923939302654866221416259922987504930522400429058448734276591042780282704347225720033248055361617183283225540187202632117112809637466358036860296334408500565453390882406362523860700518868504512712294583045537523172817491594287497514391064887190597311173308352606969619064525698282696563804655893310112830498006262633178451378632422855827437484297570127348092356078414635469168805924112712749158110722970502662966212910762109089970162177841664915084371852950090346756734169697143188738933781505719953190861020855164640997892746141991843804543086606431070919055758076176438238812180972843206248519100704269709259307356310235768494627945561177255774337052704316848054017241322000934197204409625655745959835114493877986812139833239707560731206580615698419111358429373442708770193025236622388586197262919126611719692935304246668199473038776265889294691910009353317155134564300994355576104541993514534747890739736605118155235327669142803430424367760612963027148107188122060423707345597074113785213657412961922410677100452111523024329131803489228686485801748701162906439839574302026143038571474548073474008038253495986522621141663464215671996142374965690436052195812583273699087917635821647453079802351120780185514727767228191989612071664359054855217055544806542956315081762835494654272260704943398682626692579780661537889727284684577252560620659206601241451406194734303205798542058329382393760248521287792300546377064895808972795579243012971728600013200343874060595562169676835624996420087277897726654765345075199224510280230360876 833375276600679757177734187985721496413149353178882368259425384080512758482802015644041295785164261956431429465026180798450658390467495412702502374289936938584245455271877606377731944265339801689102686511610508704395986985095505129600762261534092539882470031523868744118743120557790027771833517094144484671786625772778365977505212579474592717079590844268059071479422720315242703797382897964424520486590413516297140042356495257449618959935707423308727661866055802025637171941935576893164677960547349191202528749519256128346872485199961570224262105754135679836615807667514708207441626064336095932566324993480373340155055751879678213230753736272901169402422052629257729772129718198305144055824233623476745626087393815745559304128614331259748848962019134599128765394708635427697342371082448737855920641374085624050222978639629965215067861476987930475068998888404391892070638650767970245310275396067920618851963025337807178801807238988901854518236665195842681775718570631568646623667429308588825798710515133494098044533283937205746567776488004942228083597698236498312429321016204316409564220236901327633617209672460211247876559209337862214673588829372956499563403388081679495274550801131293867556262372372366675029149294526038476244920371129266905027524858889675899462392446408049231554437816769377699263495378464144602042568593115318938194786249051951140740882318625522210114156734355080970549307527654705845382174171827910209216473923267389929314889589008316059942413346213884388155883474618212890309957596373135188533853468739229053999379559230535271875281761036138419767289799852911176273112153785136603703853198029500169156535203944818429297132027926922216806184886710742689626031348166411507858119105044395036439499458918189435022090990996332992442715362284484205982372603130966922237878818491022036010420272949313043748974658342981473517743263127586275341926535831865384579670238869332988146981008924286121999755370386653987898790195077136665409030049663595244057799705635298170842415577000542948098494503411470143521774249185049187270845916547824111159057765978019990565940420242937651980222067562409707509608818781713761991394788646461146468676338974697007690585903482483608378123 1348429522923744777561083185874273649042447773393398650920888751848347565012792131771964391272472789785999314390410537231237316322309365811595257950355920588436183150063966596364431164491729009408461583152849343361920268982001010642192818576242789753549998985032043272904716128192575568276400370820910221755308460248180865627636557098905330061155448226017044621735778767422003658442651382335555135660831893800848684551772949865157096626988906449144012337599262570177923305220192654190473333801774712082834291164314878442194530670225225097962240912656617124228962380443626303761343445871227036215737397919413737221953691293053518891856938391617657273346205797914181669074784584419721403978811738553999146055145842550022150346908897035606974568995267189960745948677934175614899974488195258375322278678234381958458723544093020847621430385337688449343573511600698974937608161823585461839597772910458985506042560336511115531408776858053427552800933229000498575085831401129574909256845880687221248654537952617791668171881376293284161203245656810866340796346856347221282931983982417227171673310207063505475282124756832064197966905966072031911816777568306738005283356578942700350439191799024040009548106176915453281460220213581796552421358609941447877870731107408776603732101705715405541790206311397323260440751152801197306359416647132560260195720446256360766396628278460636703992143546494914210256868258861286461080593283186339582659182693460415165937278175205578979069025065906819692402551674091251666575846891065045197887170623873793354993735135335077265389816508926878156372407955088238845415915584209504364316816225177607357278595627652164026371245813140579629768107297387843141737554372495543311347347791530196785140662365358029009324117134034904466990788836292522459478359125752108585702094490487164410976110709001508856332248357430899109339390716207388626462706721346593151807862228481404652506035864141341666806298326701735750734284849349397370352428732290287823838461243525025455526992829561163607305095744862876338256077454983591245600228310308072632446850066524397055461749393038516894993193796162422907853482879377275931668230413642881233746574065629462352765785127992763838738999 2181804799524424534738817373859995145455597126572281019180314135928860323495594147416005687057637051742430743855436718029687974712776861224297760324645857527020428605335844202742163108757068811097564269664459852066316255967096515771793580837776882293432469016555912017023459248750365596048233887915054706427095086020959231605141769678379922778235039070285103693215201487737246362240034280299979656147422307317145824594129445122606715586924613872452739999465318372203560477162128231083638011762322061274036819913834134570541403155425186668186503018410752804065578188111141011968785071935563132148303722912894110562108747044933197105087692127890558442748627850543439398846914302618026548034635972177475891681233236365767709651037511366866723417957286324559874714072642811042597316859277707113178199319608467582508946522732650812836498246814676379818642510489103366829678800474353432084908048306526906124894523361848922710210584097042329407319169894196341256861549971761143555880513309995810074453248467751285766216414660230489907771022144815808568879944554583719595361304998621543581237530443964833108899334429292275445843465175409894126490366397679694504846759967024379845713742600155333877104368549287819956489369508107835028666278981070714782898255966298452503194494152123454773344644128166700959704246531265341908401985240247879198390506695308311907137510597086158914106300280849995180806175786515992306462767455014249791875656616727805095252167764213895039011438412120704080558435148709464556885804487438180386421024092613022408993114694565612537265098269963016576139697754941150021689027737994640968020669423207107526435130831596982455668377841067501846574292184098585831363585720661954819205466896574591821580161824276218444346208125031237459433504198577006665460731728883075507939973308978186446986530981950821900081223015773880582857133979334974901804633257178458536387532467350737640653016873065627788806053697088389738633075044426534035761458781953883067896260949160323626369408406561706555403590248274346481777851704168640432871074226855896743605907832502417046027689813281454546973415863724832615363091698158989693659625202289342380215250404604159360456371031475247447117122 3530234322448169312299900559734268794498044899965679670101202887777207888508386279187970078330109841528430058245847255260925291035086227035893018275001778115456611755399810799106594273248797820506025852817309195428236524949097526413986399414019672046982468001587955289928175376942941164324634258735964928182403546269140097232778326777285252839390487296302148314950980255159250020682685662635534791808254201117994509145902394987763812213913520321596752337064580942381483782382320885274111345564096773356871111078149013012735933825650411766148743931067369928294540568554767315730128517806790168364041120832307847784062438337986715996944630519508215716094833648457621067921698887037747952013447710731475037736379078915789859997946408402473697986952553514520620662750576986657497291347472965488500477997842849540967670066825671660457928632152364829162216022089802341767286962297938893924505821216985891630937083698360038241619360955095756960120103123196839831947381372890718465137359190683031323107786420369077434388296036523774068974267801626674909676291410930940878293288981038770752910840651028338584181459186124339643810371141481926038307143965986432510130116545967080196152934399179373886652474726203273237949589721689631581087637591012162660768987073707229106926595857838860315134850439564024220144997684066539214761401887380439458586227141564672673534138875546795618098443827344909391063044045377278767543360738200589374534839310188220261189445939419474018080463478027523772960986822800716223461651378503225584308194716486815763986849829900689802654914778889894732512105710029388867104943322204145332337485648384714883713726459249146482039623654208081476342399481486428973101140093157498130552814688104788606720824189634247453670325259066141926424293034869529124939090854635184093642067799465350857962641690952330756413471373204779692196524695542363528267339978525051688195394695832142293159052737206969455612352023790125489367359893775931406113887514244170891734722192685349081896401236122870162708685993137222820033929159152231678471302537163969376052757899026814101489439206319971441966609659887255523216574577536265625327855615932223613961824470233621713222156159468011285856121 5712039121972593847038717933594263939953642026537960689281517023706068212003980426603975765387746893270860802101283973290613265747863088260190778599647635642477040360735655001848757382005866631603590122481769047494552780916194042185779980251796554340414937018143867306951634625693306760372868146651019634609498632290099328837920096455665175617625526366587252008166181742896496382922719942935514447955676508435140333740031840110370527800838134194049492336529899314585044259544449116357749357326418834630907930991983147583277336981075598434335246949478122732360118756665908327698913589742353300512344843745201958346171185382919913102032322647398774158843461499001060466768613189655774500048083682908950929417612315281557569648983919769340421404909839839080495376823219797700094608206750672601678677317451317123476616589558322473294426878967041208980858532578905708596965762772292326009413869523512797755831607060208960951829945052138086367439273017393181088808931344651862021017872500678841397561034888120363200604710696754263976745289946442483478556235965514660473654593979660314334148371094993171693080793615416615089653836316891820164797510363666127014976876512991460041866676999334707763756843275491093194438959229797466609753916572082877443667243040005681610121090009962315088479494567730725179849244215331881123163387127628318656976733836872984580671649472632954532204744108194904571869219831893271074006128193214839166410495926916025356441613703633369057091901890148227853519421971510180780347455865941405970729218809099838172979964524466302339920013048852911308651803464970538888793971060198786300358155071591822410148857290846128937708001495275583322916691665585014804464725813819452949758281584679380428300986013910465898016533384097379385857797233446535790399822583518259601582041108443537304949172672903152656494694388978660275053658674877338430071973235703510224582927163182879933812069610272597244418405720878515228000434938202465441875346296198053959630983141845672708265809642684576718112276241411569301811780863320872111342376764019866119658665731529231147517129019601425988940025523612088138579666275695255318987480818221565994177074874837781073678527190943258732973243 9242273444420763159338618493328532734451686926503640359382719911483276100512366705791945843717856734799290860347131228551538556782949315296083796874649413757933652116135465800955351655254664452109615975299078242922789305865291568599766379665816226387397405019731822596879810002636247924697502405386984562791902178559239426070698423232950428457016013662889400323117161998055746403605405605571049239763930709553134842885934235098134340014751654515646244673594480256966528041926770001631860702890515607987779042070132160596013270806726010200483990880545492660654659325220675643429042107549143468876385964577509806130233623720906629098976953166906989874938295147458681534690312076693522452061531393640425967153991394197347429646930328171814119391862393353601116039573796784357591899554223638090179155315294166664444286656383994133752355511119406038143074554668708050364252725070231219933919690740498689386768690758568999193449306007233843327559376140590020920756312717542580486155231691361872720668821308489440634993006733278038045719557748069158388232527376445601351947882960699085087059211746021510277262252801540954733464207458373746203104654329652559525106993058958540238019611398514081650409318001694366432388548951487098190841554163095040104436230113712910717047685867801175403614345007294749399994241899398420337924789015008758115562960978437657254205788348179750150303187935539813962932263877270549841549488931415428540945335237104245617631059643052843075172365368175751626480408794310897003809107244444631555037413525586653936966814354366992142574927827742806041163909174999927755898914382402931632695640719976537293862583750095275419747625149483664799259091147071443777565865906976951080311096272784169035021810203544713351686858643163521312282090268316064915338913438153443695224108907908888162911814363855483412908165762183439967250183370419701958339313214228561912778321859015022226971122347479566700030757744668640717367794831978396847989233810442224851365705334531021790162210878807446880820962234548792121845710022473103789813679301183835495711423630556045249006568225921397430906635183499343661796240853231520944315336434153789608138899345071402786900683350411270018829364 14954312566393357006377336426922796674405328953041601048664236935189344312516347132395921609105603628070151662448415201842151822530812403556274575474297049400410692476871120802804109037260531083713206097780847290417342086781485610785546359917612780727812342037875689903831444628329554685070370552038004197401400810849338754908618519688615604074641540029476652331283343740952242786528125548506563687719607217988275176625966075208504867815589788709695737010124379571551572301471219117989610060216934442618686973062115308179290607787801608634819237830023615393014778081886583971127955697291496769388730808322711764476404809103826542201009275814305764033781756646459742001458925266349296952109615076549376896571603709478904999295914247941154540796772233192681611416397016582057686507760974310691857832632745483787920903245942316607046782390086447247123933087247613758961218487842523545943333560264011487142600297818777960145279251059371929694998649157983202009565244062194442507173104192040714118229856196609803835597717430032302022464847694511641866788763341960261825602476940359399421207582841014681970343046416957569823118043775265566367902164693318686540083869571950000279886288397848789414166161277185459626827508181284564800595470735177917548103473153718592327168775877763490492093839575025474579843486114730301461088176142637076772539694815310641834877437820812704682507932043734718534801483709163820915555617124630267707355831164020270974072673346686212132264267258323979479999830765821077784156563110386037525766632334686492109946778878833294482494940876595717349815712639970466644692885442601717933053795791568359704011441040941404357455626644759248122175782812656458582030591720796404030069377857463549463322796217455179249703392027260900698139887501762600705738736021671703296806150016352425467860987036758636069402860151162100242303842045297040388411286449932072137361249022197902160783191957752163944449163465547155945368229770180862289864580106640278810996688476376694498428020521492023598933238475960361423657490885793975901156056065203701615370089362085276396523697245522823419846660707111431800375907128926776263302817252375355602315974219909183860579210541354528751802607 24196586010814120165715954920251329408857015879545241408046956846672620413028713838187867452823460362869442522795546430393690379313761718852358372348946463158344344593006586603759460692515195535822822073079925533340131392646777179385312739583429007115209747057607512500711254630965802609767872957424988760193302989408578180979316942921566032531657553692366052654400505739007989190133531154077612927483537927541410019511900310306639207830341443225341981683718859828518100343397989119621470763107450050606466015132247468775303878594527618835303228710569108053669437407107259614556997804840640238265116772900221570606638432824733171299986228981212753908720051793918423536149237343042819404171146470189802863725595103676252428942844576112968660188634626546282727455970813366415278407315197948782036987948039650452365189902326310740799137901205853285267007641916321809325471212912754765877253251004510176529368988577346959338728557066605773022558025298573222930321556779737022993328335883402586838898677505099244470590724163310340068184405442580800255021290718405863177550359901058484508266794587036192247605299218498524556582251233639312571006819022971246065190862630908540517905899796362871064575479278879826059216057132771662991437024898272957652539703267431503044216461745564665895708184582320223979837728014128721799012965157645834888102655793748299089083226168992454832811119979274532497733747586434370757105106056045696248301166401124516591703732989739055207436632626499731106480239560131974787965670354830669080804045860273146046913593233200286625069868704338523390979621814970394400591799825004649565749436511544896997874024791036679777203251794242912921434873959727902359596457627773355110380474130247718498344606420999892601390250670424422010421977770078665621077649459825146992030258924261313630772801400614119482311025913345540209554025415716742346750599664160634050139570881212924387754314305231730644479921210215796662736024602159259137853813917082503662362393810907716288590231400299470479754200710509153545503200908267079690969735366387537111081512992641321645530265471444220850753295890610775462172147982158297207618153686529145210454873564980586647479893891765798770631971 39150898577207477172093291347174126083262344832586842456711193781861964725545060970583789061929063990939594185243961632235842201844574122408632947823243512558755037069877707406563569729775726619536028170860772823757473479428262790170859099501041787843022089095483202404542699259295357294838243509462992957594703800257916935887935462610181636606299093721842704985683849479960231976661656702584176615203145145529685196137866385515144075645931231935037718693843239400069672644869208237611080823324384493225152988194362776954594486382329227470122466540592723446684215488993843585684953502132137007653847581222933335083043241928559713500995504795518517942501808440378165537608162609392116356280761546739179760297198813155157428238758824054123200985406859738964338872367829948472964915076172259473894820580785134240286093148268627347845920291292300532390940729163935568286689700755278311820586811268521663671969286396124919484007808125977702717556674456556424939886800841931465500501440075443300957128533701709048306188441593342642090649253137092442121810054060366125003152836841417883929474377428050874217948345635456094379700295008904878938908983716289932605274732202858540797792188194211660478741640556065285686043565314056227792032495633450875200643176421150095371385237623328156387802024157345698559681214128859023260101141300282911660642350609058940923960663989805159515319052023009251032535231295598191672660723180675963955656997565144787565776406336425267339700899884823710586480070325953052572122233465216706606570678194959638156860372112033581107564809580934240740795334454940861045284685267606367498803232303113256701885465831978084134658878439002161043610656772384360941627049348569759140449851987711267961667402638455071851093642697685322708561865271841266326816385481496850288836408940613739098633788437372755551713886064507640451857867461013782735161886114092706187500819903410826548537506262983894588929084675762952608104254372340121427718394023722782473359082287284410787018251921791494078687439186469514969160691794061055592125791431591238726451602354726598042053962716967044270599956597722207262548055111085073470920970938904500812770847784889770508059104433120327522434578 63347484588021597337809246267425455492119360712132083864758150628534585138573774808771656514752524353809036708039508062629532581158335841260991320172189975717099381662884294010323030422290922155358850243940698357097604872075039969556171839084470794958231836153090714905253953890261159904606116466887981717788006789666495116867252405531747669137956647414208757640084355218968221166795187856661789542686683073071095215649766695821783283476272675160379700377562099228587772988267197357232551586431834543831619003326610245729898364976856846305425695251161831500353652896101103200241951306972777245918964354123154905689681674753292884800981733776731271851221860234296589073757399952434935760451908016928982624022793916831409857181603400167091861174041486285247066328338643314888243322391370208255931808528824784692651283050594938088645058192498153817657948371080257377612160913668033077697840062273031840201338274973471878822736365192583475740114699755129647870208357621668488493829775958845887796027211206808292776779165756652982158833658579673242376831344778771988180703196742476368437741172015087066465553644853954618936282546242544191509915802739261178670465594833767081315698087990574531543317119834945111745259622446827890783469520531723832853182879688581598415601699368892822283510208739665922539518942142987745059114106457928746548745006402807240013043890158797614348130172002283783530268978882032562429765829236721660203958163966269304157480139326164322547137532511323441692960309886085027360087903820047375687374724055232784203773965345233867732634678285272764131774956269911255445876485092611017064552668814658153699759490623014763911862130233245073965045530732112263301223506976343114250830326117958986460012009059454964452483893368109744718983843041919931947894034941321997280866667864875052729406589837986875034024911977853180661411892876730525081912485778253340237640390784623750936291820568215625233409005885978749270840278974499380565572207940805286135721476098192127075608483322090964558441639896978668514663892702328135283095526797978775837533115347367919687584228188411265121353252488332982724720203093243370678539124625433646023225721349870357155538998324886126293066549 102498383165229074509902537614599581575381705544718926321469344410396549864118835779355445576681588344748630893283469694865374783002909963669624267995433488275854418732762001416886600152066648774894878414801471180855078351503302759727030938585512582801253925248573917309796653149556517199444359976350974675382710589924412052755187868141929305744255741136051462625768204698928453143456844559245966157889828218600780411787633081336927359122203907095417419071405338628657445633136405594843632409756219037056771991520973022684492851359186073775548161791754554947037868385094946785926904809104914253572811935346088240772724916681852598301977238572249789793723668674674754611365562561827052116732669563668162384319992729986567285420362224221215062159448346024211405200706473263361208237467542467729826629109609918932937376198863565436490978483790454350048889100244192945898850614423311389518426873541553503873307561369596798306744173318561178457671374211686072810095158463599953994331216034289188753155744908517341082967607349995624249482911716765684498641398839138113183856033583894252367215549443137940683501990489410713315982841251449070448824786455551111275740327036625622113490276184786192022058760391010397431303187760884118575502016165174708053826056109731693786986936992220978671312232897011621099200156271846768319215247758211658209387357011866180937004554148602773863449224025293034562804210177630754102426552417397624159615161531414091723256545662589589886838432396147152279440380212038079932210137285264082293945402250192422360634337457267448840199487866207004872570290724852116491161170360217384563355901117771410401644956454992848046521008672247235008656187504496624242850556324912873391280178105670254421679411697910036303577536065795067427545708313761198274710420422818847569703076805488791828040378275359630585738798042360821113269760337744307817074371892346046425141210688034577484829326831199519822338090561741701878944533346839501993290601964528068609080558385476537862626735243882458637129079083448183483824584496389190875221318229570014563984717702094517729638190905378309391953209086055189987268258204328444149460095564338146835996569134760127663598102758006453815501127 165845867753250671847711783882025037067501066256851010186227495038931135002692610588127102091434112698557667601322977757494907364161245804930615588167623463992953800395646295427209630574357570930253728658742169537952683223578342729283202777669983377759485761401664632215050607039817677104050476443238956393170717379590907169622440273673676974882212388550260220265852559917896674310252032415907755700576511291671875627437399777158710642598476582255797119448967437857245218621403602952076183996188053580888390994847583268414391216336042920080973857042916386447391521281196049986168856116077691499491776289469243146462406591435145483102958972348981061644945528908971343685122962514261987877184577580597145008342786646817977142601965624388306923333489832309458471529045116578249451559858912675985758437638434703625588659249458503525136036676288608167706837471324450323511011528091344467216266935814585344074645836343068677129480538511144654197786073966815720680303516085268442488160991993135076549182956115325633859746773106648606408316570296438926875472743617910101364559230326370620804956721458225007149055635343365332252265387493993261958740589194812289946205921870392703429188364175360723565375880225955509176562810207712009358971536696898540907008935798313292202588636361113800954822441636677543638719098414834513378329354216140404758132363414673420950048444307400388211579396027576818093073189059663316532192381654119284363573325497683395880736684988753912433975964907470593972400690098123107292298041105311457981320126305425206564408302802501316572834166151479769004345246994763371937037655452828401627908569932429564101404447078007611958383138905492308973701718236608887544074063301255987642110504223629240881691420757365000756061429433904812146529551355681130222604455364140844850569744670363844557446968113346505619763710020214001774681653214474832898986857670599386662781601472658328421121147399415145055747096447720451149784812321338882558862809905333354744802034483668664938235218565973423195570718980426851998488477198717326158316845027548790401517833049462437417222419093789574513306461574388172711988461297571814827999220189771792859222290484630484819137101082892580108567676 268344250918479746357614321496624618642882771801569936507696839449327684866811446367482547668115701043306298494606447452360282147164155768600239856163056952268808219128408296844096230726424219705148607073543640718807761575081645489010233716255495960560739686650238549524847260189374194303494836419589931068553427969515319222377628141815606280626468129686311682891620764616825127453708876975153721858466339510272656039225032858495638001720680489351214538520372776485902664254540008546919816405944272617945162986368556291098884067695228993856522018834670941394429389666290996772095760925182605753064588224815331387235131508116998081404936210921230851438669197583646098296488525076089039993917247144265307392662779376804544428022327848609521985492938178333669876729751589841610659797326455143715585066748044622558526035448322068961627015160079062517755726571568643269409862142514655856734693809356138847947953397712665475436224711829705832655457448178501793490398674548868396482492208027424265302338701023842974942714380456644230657799482013204611374114142457048214548415263910264873172172270901362947832557625832776045568248228745442332407565375650363401221946248907018325542678640360146915587434640616965906607865997968596127934473552862073248960834991908044985989575573353334779626134674533689164737919254686681281697544601974352062967519720426539601887052998456003162075028620052869852655877399237294070634618934071516908523188487029097487603993230651343502320814397303617746251841070310161187224508178390575540275265528555617628925042640259768765413033654017686773876915537719615488428198825813045786191264471050200974503049403533000460004904147577739543982357905741105511786924619626168861033390682329299495303370832455275037059638965499699879574075259669442328497314875786959692420272821475852636385487346388706136205502508062574822887951413552219140716061229562945433087922812160692905905950474230614664878085187009462153028729345668178384552153411869861423353882592869145202800861953809855881832699798063875035482313061695106517033538163257118804965502550751556955146860609999167883905259670660443362699256719501900258977459315754109939695218859619390612482735203840899033924068803 434190118671730418205326105378649655710383838058420946693924334488258819869504056955609649759549813741863966095929425209855189511325401573530855444330680416261762019524054592271305861300781790635402335732285810256760444798659988218293436493925479338320225448051903181739897867229191871407545312862828887461724145349106226392000068415489283255508680518236571903157473324534721801763960909391061477559042850801944531666662432635654348644319157071607011657969340214343147882875943611498996000402132326198833553981216139559513275284031271913937495875877587327841820910947487046758264617041260297252556364514284574533697538099552143564507895183270211913083614726492617441981611487590351027871101824724862452401005566023622521570624293472997828908826428010643128348258796706419860111357185367819701343504386479326184114694697780572486763051836367670685462564042893093592920873670606000323950960745170724192022599234055734152565705250340850486853243522145317514170702190634136838970653200020559341851521657139168608802461153563292837066116052309643538249586886074958315912974494236635493977128992359587954981613261176141377820513616239435594366305964845175691168152170777411028971867004535507639152810520842921415784428808176308137293445089558971789867843927706358278192164209714448580580957116170366708376638353101515795075873956190492467725652083841213022837101442763403550286608016080446670748950588296957387166811315725636192886761812526780883484729915640097414754790362211088340224241760408284294516806219495886998256585654861042835489450943062270081985867820169166542881260784714378860365236481265874187819173040982630538604453850611008071963287286483231852956059623977714399330998682927424848675501186552928736185062253212640037815700394933604691720604811025123458719919331151100537270842566146216480942934314502052641825266218082788824662633066766693973615048087233544819750704413633351234327071621630029809933832283457182604178514157989517267111016221775194778098684627352813867739097172375829305028270517044301887480801538893823843191855008284667595367020383801019392564083029092957458418566132234831535411245180799472073805458535943881732554441150104021097301872304923791614032636479 702534369590210164562940426875274274353266609859990883201621173937586504736315503323092197427665514785170264590535872662215471658489557342131095300493737368530570238652462889115402092027206010340550942805829450975568206373741633707303670210180975298880965134702141731264745127418566065711040149282418818530277573318621545614377696557304889536135148647922883586049094089151546929217669786366215199417509190312217187705887465494149986646039837560958226196489712990829050547130483620045915816808076598816778716967584695850612159351726500907794017894712258269236250300613778043530360377966442903005620952739099905920932669607669141645912831394191442764522283924076263540278100012666440067865019071869127759793668345400427065998646621321607350894319366188976798224988548296261470771154511822963416928571134523948742640730146102641448390066996446733203218290614461736862330735813120656180685654554526863039970552631768399628001929962170556319508700970323819307661100865183005235453145408047983607153860358163011583745175534019937067723915534322848149623701028532006530461389758146900367149301263260950902814170887008917423388761844984877926773871340495539092390098419684429354514545644895654554740245161459887322392294806144904265227918642421045038828678919614403264181739783067783360207091790704055873114557607788197076773418558164844530693171804267752624724154441219406712361636636133316523404827987534251457801430249797153101409950299555878371088723146291440917075604759514706086476082830718445481741314397886462538531851183416660464414493583322038847398901474186853316758176322433994348793435307078919974010437512032831513107503254144008531968191434060971396938417529718819911117923302553593709708891868882228231488433085667915074875339360433304571294680070694565787217234206938060229691115387622069117328421660890758778030768726145363647550584480318913114331109316796490252838627225794044140233022095860644474811917470466644757207243503657695651663169633645056201452567220221959070539959126185685186860970315108176922963114600588930360225393171541786400332522934552576347710943639092125342323825802895274898110501900301372332782917851697991672249660009723411709784607508764690647956705282 1136724488261940582768266532253923930063650447918411829895545508425845324605819560278701847187215328527034230686465297872070661169814958915661950744824417784792332258176517481386707953327987800975953278538115261232328651172401621925597106704106454637201190582754044913004642994647757937118585462145247705992001718667727772006377764972794172791643829166159455489206567413686268730981630695757276676976552041114161719372549898129804335290358994632565237854459053205172198430006427231544911817210208925015612270948800835410125434635757772821731513770589845597078071211561265090288624995007703200258177317253384480454630207707221285210420726577461654677605898650568880982259711500256791095736120896593990212194673911424049587569270914794605179803145794199619926573247345002681330882511697190783118272075521003274926755424843883213935153118832814403888680854657354830455251609483726656504636615299697587231993151865824133780567635212511406806361944492469136821831803055817142074423798608068542949005382015302180192547636687583229904790031586632491687873287914606964846374364252383535861126430255620538857795784148185058801209275461224313521140177305340714783558250590461840383486412649431162193893055682302808738176723614321212402521363731980016828696522847320761542373903992782231940788048906874422581491195960889712871849292514355336998418823888108965647561255883982810262648244652213763194153778575831208844968241565522789294296712112082659254573453061931538331830395121725794426700324591126729776258120617382349536788436838277703299903944526384308929384769294356019859639437107148373209158671788344794161829610553015462051711957104755016603931478720544203249894477153696534310448921985481018558384393055435156967673495338880555112691039755366909263015284881719689245937153538089160766961957953768285598271355975392811419856034944228152472213217547085607087946157404030035072589331639427395374560093717490674284745749753923827361385757661647212918774185855420250979551251847574772938279056298561514491889240832152478810443916139482754203417248179826453995699543318353595740275026668185082800742391935130106433521747081100844406588376387641873404804101159827432807086479813688482261989341761 1839258857852150747331206959129198204416917057778402713097166682363431829342135063601794044614880843312204495277001170534286132828304516257793046045318155153322902496828980370502110045355193811316504221343944712207896857546143255632900776914287429936082155717456186644269388122066324002829625611427666524522279291986349317620755461530099062327778977814082339075255661502837815660199300482123491876394061231426378907078437363623954321936398832193523464050948766196001248977136910851590827634018285523832390987916385531260737593987484273729525531665302103866314321512175043133818985372974146103263798269992484386375562877314890426856333557971653097442128182574645144522537811512923231163601139968463117971988342256824476653567917536116212530697465160388596724798235893298942801653666209013746535200646655527223669396154989985855383543185829261137091899145271816567317582345296847312685322269854224450271963704497592533408569565174681963125870645462792956129492903921000147309876944016116526556159242373465191776292812221603166972513947120955339837496988943138971376835754010530436228275731518881489760609955035193976224598037306209191447914048645836253875948349010146269738000958294326816748633300843762696060569018420466116667749282374401061867525201766935164806555643775850015300995140697578478454605753568677909948622711072520181529111995692376718272285410325202216975009881288347079717558606563365460302769671815319942395706662411638537625662176208222979248905999881240500513176407421845175257999435015268812075320288021694363764318438109706347776783670768542873176397613429582367557952107095423714135840048065048293564819460358899025135899670154605174646832894683415354221566845288034612268093284924317385199161928424548470187566379115800213834309964952414255033154387745027220996653073341390354715599777636283570197886803670373516119763802027404520202277266720826525325427958865221439514793115813351318759557667224390472118593001165304908570437355489065307181003819067796732008819015424747199678750211147260655733407030740071684563642641351368240396032066252906172087985970307277208143066217738025381331632248981402216739371294239339865077053761169550844516871087322453172909946047043 2975983346114091330099473491383122134480567505696814542992712190789277153947954623880495891802096171839238725963466468406356793998119475173454996790142572938115234755005497851888817998683181612292457499882059973440225508718544877558497883618393884573283346300210231557274031116714081939948211073572914230514281010654077089627133226502893235119422806980241794564462228916524084391180931177880768553370613272540540626450987261753758657226757826826088701905407819401173447407143338083135739451228494448848003258865186366670863028623242046551257045435891949463392392723736308224107610367981849303521975587245868866830193085022111712066754284549114752119734081225214025504797523013180022259337260865057108184183016168248526241137188450910817710500610954588216651371483238301624132536177906204529653472722176530498596151579833869069318696304662075540980579999929171397772833954780573969189958885153922037503956856363416667189137200387193369932232589955262092951324706976817289384300742624185069505164624388767371968840448909186396877303978707587831525370276857745936223210118262913972089402161774502028618405739183379035025807312767433504969054225951176968659506599600608110121487370943757978942526356526065504798745742034787329070270646106381078696221724614255926348929547768632247241783189604452901036096949529567622820472003586875518527530819580485683919846666209185027237658125940560842911712385139196669147737913380842731690003374523721196880235629270154517580736395002966294939876732012971905034257555632651161612108724859972067064222382636090656706168440062898893036037050536730740767110778883768508297669658618063755616531417463654041739831148875149377896727371837111888532015767273515630826477677979752542166835423763429025300257418871167123097325249834133944279091541283116381763615031295158640313871133611676381617742838614601668591977019574490127290223424124856560398017290504648834889353209530841993044303416978314299479978758826952121489211541344485558160555070915371504947098071723308714170639451979413134543850946879554438767059889531194694391731609571259767828260996975462290943808609673155487765153996062503061145959670626981738481857862329378277323957567136141655171935388804 4815242203966242077430680450512320338897484563475217256089878873152708983290089687482289936416977015151443221240467638940642926826423991431248042835460728091438137251834478222390928044038375423608961721226004685648122366264688133191398660532681314509365502017666418201543419238780405942777836685000580755036560302640426407247888688032992297447201784794324133639717890419361900051380231660004260429764674503966919533529424625377712979163156659019612165956356585597174696384280248934726567085246779972680394246781571897931600622610726320280782577101194053329706714235911351357926595740955995406785773857238353253205755962337002138923087842520767849561862263799859170027335334526103253422938400833520226156171358425073002894705105987027030241198076114976813376169719131600566934189844115218276188673368832057722265547734823854924702239490491336678072479145200987965090416300077421281875281155008146487775920560861009200597706765561875333058103235418055049080817610897817436694177686640301596061323866762232563745133261130789563849817925828543171362867265800884907600045872273444408317677893293383518379015694218573011250405350073642696416968274597013222535454948610754379859488329238084795691159657369828200859314760455253445738019928480782140563746926381191091155485191544482262542778330302031379490702703098245532769094714659395700056642815272862402192132076534387244212668007228907922629270991702562129450507585196162674085710036935359734505897805478377496829642394884206795453053139434817080292256990647919973687429012881666430828540820745797004482952110831441766212434663966313108325062885979192222433509706683112049181350877822553066875730819029754552543560266520527242753582612561550243094570962904069927365997352187977495487823797986967336931635214786548199312245929028143602760268104636548995029470911247959951815629642284975184711740821601894647492500690845683085723445249369870274404146325344193311803861084202704771598571759992257030059648896833550865341558889983168236955917087148055913849389663126673790277257977619626123330702530882562934787763675824165939916246967282739499086874827411180869096786245043905277885330964866321603558911623498929121840828654458594828081881435847 7791225550080333407530153941895442473378052069172031799082591063941986137238044311362785828219073186990681947203934107346999720824543466604703039625603301029553372006839976074279746042721557035901419221108064659088347874983233010749896544151075199082648848317876649758817450355494487882726047758573494985550841313294503496875021914535885532566624591774565928204180119335885984442561162837885028983135287776507460159980411887131471636389914485845700867861764404998348143791423587017862306536475274421528397505646758264602463651233968366832039622537086002793099106959647659582034206108937844710307749444484222120035949047359113850989842127069882601681596345025073195532132857539283275682275661698577334340354374593321529135842294437937847951698687069565030027541202369902191066726022021422805842146091008588220861699314657723994020935795153412219053059145130159362863250254857995251065240040162068525279877417224425867786843965949068702990335825373317142032142317874634726078478429264486665566488491150999935713973710039975960727121904536131002888237542658630843823255990536358380407080055067885546997421433401952046276212662841076201386022500548190191194961548211362489980975700181842774633686013895893705658060502490040774808290574587163219259968650995447017504414739313114509784561519906484280526799652627813155589566718246271218584173634853348086111978742743572271450326133169468765540983376841758798598245498577005405775713411459080931386133434748532014410378789887173090392929871447788985326514546280571135299537737741638497892763203381887661189120550894340659248471714503043849092173664862960730731179365301175804797882295286207108615561967904903930440287638357639131285598379835065873921048640883822469532832775951406520788081216858134460028960464620682143591337470311259984523883135931707635343342044859636333433372480899576853303717841176384774782724114970539646121462539874519109293499534875035304848164501181019071078550518819209151548860438178036423502113960898539741903015158871364628020029115106086924821108924499180562097762420413757629179495285395425707744507964258201790030683437084336356861940241106408339031290635493303342040769485828307399164786221594736483253816824651 12606467754046575484960834392407762812275536632647249055172469937094695120528133998845075764636050202142125168444401746287642647650967458035951082461064029120991509258674454296670674086759932459510380942334069344736470241247921143941295204683756513592014350335543067960360869594274893825503884443574075740587401615934929904122910602568877830013826376568890061843898009755247884493941394497889289412899962280474379693509836512509184615553071144865313033818120990595522840175703835952588873621722054394208791752428330162534064273844694687112822199638280056122805821195559010939960801849893840117093523301722575373241705009696115989912929969590650451243458608824932365559468192065386529105214062532097560496525733018394532030547400424964878192896763184541843403710921501502758000915866136641082030819459840645943127247049481578918723175285644748897125538290331147327953666554935416532940521195170215013055797978085435068384550731510944036048439060791372191112959928772452162772656115904788261627812357913232499459106971170765524576939830364674174251104808459515751423301862809802788724757948361269065376437127620525057526618012914718897802990775145203413730416496822116869840464029419927570324845671265721906517375262945294220546310503067945359823715577376638108659899930857596772327339850208515660017502355726058688358661432905666918640816450126210488304110819277959515662994140398376688170254368544320928048753083773168079861423448394440665892031240226909511240021184771379885845983010882606065618771536928491108986966750623304928721304024127684665672072661725782425460906378469356957417236550842152953164689071984287853979233173108760175491292786934658482983847904878166374039180992396616117015619603787892396898830128139384016275905014845101796960595679407230342903583399339403587284151240568256630372812956107596285249002123184552038015458662778279422275224805816222731844907789244389383697645860219228616652025585383723842677122278811466181608509335011587288843672850881707978858932246019420541869418778232760715098366902118806685428464951296320563967258961219591647660754931540941289117558264495517225958726486150313616916621600359624945599681109327236521005614876053331311335698260498 20397693304126908892490988334303205285653588701819280854255061001036681257766178310207861592855123389132807115648335853634642368475510924640654122086667330150544881265514430370950420129481489495411800163442134003824818116231154154691191748834831712674663198653419717719178319949769381708229932202147570726138242929229433400997932517104763362580450968343455990048078129091133868936502557335774318396035250056981839853490248399640656251942985630711013901679885395593870983967127422970451180158197328815737189258075088427136527925078663053944861822175366058915904928155206670521995007958831684827401272746206797493277654057055229840902772096660533052925054953850005561091601049604669804787489724230674894836880107611716061166389694862902726144595450254106873431252123871404949067641888158063887872965550849234163988946364139302912744111080798161116178597435461306690816916809793411784005761235332283538335675395309860936171394697460012739038774886164689333145102246647086888851134545169274927194300849064232435173080681210741485304061734900805177139342351118146595246557853346161169131838003429154612373858561022477103802830675755795099189013275693393604925378045033479359821439729601770344958531685161615612175435765435334995354601077655108579083684228372085126164314670170711282111901370114999940544302008353871843948228151151938137224990084979558574416089562021531787113320273567845453711237745386079726646998582350173485637136859853521597278164674975441525650399974658552976238912882330395050945286083209062244286504488364943426614067227509572326861193212620123084709378092972400806509410215705113683895868437285463658777115468394967284106854754839562413424135543235805505324779372231681990936668244671714866431662904090790537063986231703236256989556144027912486494920869650663571808034376499964265716155000967232618682374604084128891319176503954664197057948920786762377966370329118908492991145395094263921500190086564742913755672797630675333157369773189623712345786811780247720761947404890785169889447893338847639919475826617987247526227371710078193146754246615017355405262895799143079148241701579853582820666727256721955947912235852928287640450595155543920170401097648067794589515085149 33004161058173484377451822726710968097929125334466529909427530938131376378294312309052937357491173591274932284092737599922285016126478382676605204547731359271536390524188884667621094216241421954922181105776203348561288357479075298632486953518588226266677548988962785679539189544044275533733816645721646466725644545164363305120843119673641192594277344912346051891976138846381753430443951833663607808935212337456219547000084912149840867496056775576326935498006386189393824142831258923040053779919383209945981010503418589670592198923357741057684021813646115038710749350765681461955809808725524944494796047929372866519359066751345830815702066251183504168513562674937926651069241670056333892703786762772455333405840630110593196937095287867604337492213438648716834963045372907707068557754294704969903785010689880107116193413620881831467286366442910013304135725792454018770583364728828316946282430502498551391473373395296004555945428970956775087213946956061524258062175419539051623790661074063188822113206977464934632187652381507009881001565265479351390447159577662346669859716155963957856595951790423677750295688643002161329448688670513996992004050838597018655794541855596229661903759021697915283377356427337518692811028380629215900911580723053938907399805748723234824214601028308054439241220323515600561804364079930532306889584057605055865806535105769062720200381299491302776314413966222141881492113930400654695751666123341565498560308247962263170195915202351036890421159429932862084895893213001116564057620137553353273471238988248355335371251637256992533265874345905510170284471441757763926646766547266637060557509269751512756348641503727459598147541774220896407983448113971879363960364628298107952287848459607263330493032230174553339891246548338053950151823435142829398504268990067159092185617068220896088967957074828903931376727268680929334635166732943619333173726602985109811278118363297876688791255313492538152215671948466756432795076442141514765879108201211001189459662661955699620879650910205711758866671571608355017842728736793932954692323006398757114013207834609003066017827340084368265799966075370808779393213407035572864533836212553233240131704482780441176015973701399105925213345647 53401854362300393269942811061014173383582714036285810763682591939168057636060490619260798950346296980407739399741073453556927384601989307317259326634398689422081271789703315038571514345722911450333981269218337352386106473710229453323678702353419938941340747642382503398717509493813657241963748847869217192863887474393796706118775636778404555174728313255802041940054267937515622366946509169437926204970462394438059400490333311790497119439042406287340837177891781783264808109958681893491233938116712025683170268578507016807120124002020795002545843989012173954615677505972351983950817767557209771896068794136170359797013123806575671718474162911716557093568516524943487742670291274726138680193510993447350170285948241826654363326790150770330482087663692755590266215169244312656136199642452768857776750561539114271105139777760184744211397447241071129482733161253760709587500174522240100952043665834782089727148768705156940727340126430969514125988833120750857403164422066625940474925206243338116016414056041697369805268333592248495185063300166284528529789510695808941916417569502125126988433955219578290124154249665479265132279364426309096181017326531990623581172586889075589483343488623468260241909041588953130868246793815964211255512658378162517991084034120808360988529271199019336551142590438515541106106372433802376255117735209543193090796620085327637136289943321023089889634687534067595592729859316480381342750248473515051135697168101483860448360590177792562540821134088485838323808775543396167509343703346615597559975727353191781949438479146829319394459086966028594879662564414158570436056982252380320956425946555215171533464109898694743705002296613783309832118991349777384688739736859980098888956093131322129762155936320965090403877478251574310939707967463055315893425138640730730900219993568185161805122958042061522613751331352809820653811670687607816391122647389747487777648447482206369679936650407756459652405758513209670188467874072816847923248881390834713535246474442203420382827055800990881648314564910455994937318555354781180480919694716476950260767454449626358471280723139227447414041667655224391600059940663757528812446072065481520880582299638324361346417071349466900514728430796 86406015420473877647394633787725141481511839370752340673110122877299434014354802928313736307837470571682671683833811053479212400728467689993864531182130048693617662313892199706192608561964333405256162374994540700947394831189304751956165655872008165208018296631345289078256699037857932775697565493590863659589532019558160011239618756452045747769005658168148093832030406783897375797390461003101534013905674731894278947490418223940337986935099181863667772675898167972658632252789940816531287718036095235629151279081925606477712322925378536060229865802658288993326426856738033445906627576282734716390864842065543226316372190557921502534176229162900061262082079199881414393739532944782472572897297756219805503691788871937247560263885438637934819579877131404307101178214617220363204757396747473827680535572228994378221333191381066575678683813683981142786868887046214728358083539251068417898326096337280641118622142100452945283285555401926289213202780076812381661226597486164992098715867317401304838527263019162304437455985973755505066064865431763879920236670273471288586277285658089084845029907010001967874449938308481426461728053096823093173021377370587642236967128744671819145247247645166175525286398016290649561057822196593427156424239101216456898483839869531595812743872227327390990383810762031141667910736513732908562007319267148248956603155191096699856490324620514392665949101500289737474221973246881036038501914596856616634257476349446123618556505380143599431242293518418700408704668756397284073401323484168950833446966341440137284809730784086311927724961311934105049947035855916334362703748799646958016983455824966684289812751402422203303149838388004206240102439463749264052700101488278206841243941590929393092648968551139643743768724799912364889859790898198145291929407630797889992405610636406057894090915116890426545128058621490749988446837420551435724296373992732597588926565845504246368727905721248997804621430461676426621262950514958362689127989592045714724706137104159120003706706711196593407181236482064349955161284091575113435612017722875707374780662284235361537298550479311815679841633730595200379453154070793101676979908278034754120714004121104802522433045050866006439941776443 139807869782774270917337444848739314865094553407038151436792714816467491650415293547574535258183767552090411083574884507036139785330456997311123857816528738115698934103595514744764122907687244855590143644212878053333501304899534205279844358225428104149359044273727792476974208531671590017661314341460080852453419493951956717358394393230450302943733971423950135772084674721412998164336970172539460218876137126332338347980751535730835106374141588151008609853789949755923440362748622710022521656152807261312321547660432623284832446927399331062775709791670462947942104362710385429857445343839944488286933636201713586113385314364497174252650392074616618355650595724824902136409824219508611253090808749667155673977737113763901923590675589408265301667540824159897367393383861533019340957039200242685457286133768108649326472969141251319890081260925052272269602048299975437945583713773308518850369762172062730845770910805609886010625681832895803339191613197563239064391019552790932573641073560739420854941319060859674242724319566004000251128165598048408450026180969280230502694855160214211833463862229580257998604187973960691594007417523132189354038703902578265818139715633747408628590736268634435767195439605243780429304616012557638411936897479378974889567873990339956801273143426346727541526401200546682774017108947535284817125054476691442047399775276424336992780267941537482555583789034357333066951832563361417381252163070371667769954644450929984066917095557936161972063427606904538732513444299793451582745026830784548393422693694631919234248209930915631322184048277962699929609600270074904798760731052027278973409402380181855823276861301116947008152135001787516072221430813526648741439838348258305730200034722251522854804904872104734147646203051486675829567758361253461185354546271528620892625604204591219699213873158951949158879389974300570642258508108159252115419021382480085366575013327710616048664556129005457457027188974886096809730824587775210612376870982880428259952611546362540386533762512187475055495801392520344892479839446356293916531712439352657635548116733861720008579273618539263093883301385819591979513094734550630489425980343516275001296303759429163868850116400332906954670207239 226213885203248148564732078636464456346606392777790492109902837693766925664770096475888271566021238123773082767408695560515352186058924687304988388998658786809316596417487714450956731469651578260846306019207418754280896136088838957236010014097436269357377340905073081555230907569529522793358879835050944512042951513510116728598013149682496050712739629592098229604115081505310373961727431175640994232781811858226617295471169759671173093309240770014676382529688117728582072615538563526553809374188902496941472826742358229762544769852777867123005575594328751941268531219448418875764072920122679204677798478267256812429757504922418676786826621237516679617732674924706316530149357164291083825988106505886961177669525985701149483854561028046200121247417955564204468571598478753382545714435947716513137821705997103027547806160522317895568765074609033415056470935346190166303667253024376936748695858509343371964393052906062831293911237234822092552394393274375620725617617038955924672356940878140725693468582080021978680180305539759505317193031029812288370262851242751519088972140818303296678493769239582225873054126282442118055735470619955282527060081273165908055106844378419227773837983913800611292481837621534429990362438209151065568361136580595431788051713859871552614017015653674118531910211962577824441927845461268193379132373743839691004002930467521036849270592562051875221532890534647070541173805810242453419754077667228284404212120800376107685473600938079761403305721125323239141218113056190735656146350314953499226869660036072056519057940715001943249909009589896804979556636125991239161464479851674236990392858205148540113089612703539150311301973389791722312323870277275912794139939836536512571443976313180915947453873423244377891414927851399040719427549259451606477283953902326510885031214840997277593304788275842375704007448595791320630705345528710687839715395375212682955501579173214862417392461850254455261648619436562523430993775102733573301504860574926142984658748650521660390240469223384068462677037874584694847641123537931407352143730162228365010328779018097081545877824097851078773724935116414792358966248805343732166405888621551029122010307880533966391283161451198913394611983682 366021754986022419482069523485203771211700946184828643546695552510234417315185390023462806824205005675863493850983580067551491971389381684616112246815187524925015530521083229195720854377338823116436449663420296807614397440988373162515854372322864373506736385178800874032205116101201112811020194176511025364496371007462073445956407542912946353656473601016048365376199756226723372126064401348180454451657948984558955643451921295402008199683382358165684992383478067484505512978287186236576331030341709758253794374402790853047377216780177198185781285385999214889210635582158804305621518263962623692964732114468970398543142819286915851039477013312133297973383270649531218666559181383799695079078915255554116851647263099465051407445236617454465422914958779724101835964982340286401886671475147959198595107839765211676874279129663569215458846335534085687326072983646165604249250966797685455599065620681406102810163963711672717304536919067717895891586006471938859790008636591746857245998014438880146548409901140881652922904625105763505568321196627860696820289032212031749591666995978517508511957631469162483871658314256402809649742888143087471881098785175744173873246560012166636402428720182435047059677277226778210419667054221708703980298034059974406677619587850211509415290159080020846073436613163124507215944954408803478196257428220531133051402705743945373842050860503589357777116679569004403608125638373603870801006240737599952174166765251306091752390696496015923375369148732227777873731557355984187238891377145738047620292353730703975753306150645917574572093057867859504909166236396066143960225210903701515963802260585330395936366474004656097319454108391579238384545301090802561535579778184794818301644011035432438802258778295349112039061130902885716548995307620705067662638500173855131777656819045588497292518661434794324862886838570091891272963853636869939955134416757692768322076592500925478466057017979259912718675808411448620240724599690508783913881731557806571244611360196884200776774231735571543518172839267105039740120962984287701268675442601581022645876895751958801554457097716390341867608236502234384338479343539894362655831868965067304123306611639963130260133277851531820349282190921 592235640189270568046801602121668227558307338962619135656598390204001342979955486499351078390226243799636576618392275628066844157448306371921100635813846311734332126938570943646677585846990401377282755682627715561895293577077212119751864386420300642864113726083873955587436023670730635604379074011561969876539322520972190174554420692595442404369213230608146594980314837732033746087791832523821448684439760842785572938923091055073181292992623128180361374913166185213087585593825749763130140404530612255195267201145149082809921986632955065308786860980327966830479166801607223181385591184085302897642530592736227210972900324209334527826303634549649977591115945574237535196708538548090778905067021761441078029316789085166200891299797645500665544162376735288306304536580819039784432385911095675711732929545762314704422085290185887111027611410143119102382543918992355770552918219822062392347761479190749474774557016617735548598448156302539988443980399746314480515626253630702781918354955317020872241878483220903631603084930645523010885514227657672985190551883454783268680639136796820805190451400708744709744712440538844927705478358763042754408158866448910081928353404390585864176266704096235658352159114848312640410029492430859769548659170640569838465671301710083062029307174733694964605346825125702331657872799870071671575389801964370824055405636211466410691321453065641232998649570103651474149299444183846324220760318404828236578378886051682199437864297434095684778674869857551017014949670412174922895037727460691546847162013766776032272364091360919517822002067457756309888722872522057383121689690755375752954195118790478936049456086708195247630756081781370960696869171368078474329719718021331330873087987348613354749712651718593489930476058754284757268422856880156674139922454076181642662688033886585774885823449710636700566894287165883211903669199165580627794849812132905451277578171674140340883449479829514367980324427848011143671718374793242357215386592132732714229270108847405861167014700958955611980849877141689734587762086522219108620819172763809387656205674770055883100334921814241420641333171618649176697445592345238094822237757586618333245316919520497096651416439302730733743894174603 958257395175292987528871125606871998770008285147447779203293942714235760295140876522813885214431249475500070469375855695618336128837688056537212882629033836659347657459654172842398440224329224493719205346048012369509691018065585282267718758743165016370850111262674829619641139771931748415399268188072995241035693528434263620510828235508388758025686831624194960356514593958757118213856233872001903136097709827344528582375012350475189492676005486346046367296644252697593098572112935999706471434872322013449061575547939935857299203413132263494568146366327181719689802383766027487007109448047926590607262707205197609516043143496250378865780647861783275564499216223768753863267719931890473984145937016995194880964052184631252298745034262955130967077335515012408140501563159326186319057386243634910328037385527526381296364419849456326486457745677204789708616902638521374802169186619747847946827099872155577584720980329408265902985075370257884335566406218253340305634890222449639164352969755901018790288384361785284525989555751286516453835424285533682010840915666815018272306132775338313702409032177907193616370754795247737355221246906130226289257651624654255801599964402752500578695424278670705411836392075090850829696546652568473528957204700544245143290889560294571444597333813715810678783438288826838873817754278875149771647230184901957106808341955411784533372313569230590775766249672655877757425082557450195021766559142428188752545651302988291190254993930111608154044018589778794888681227768159110133929104606429594467454367497480008025670242006837092394095125325615814797889108918123527081914901659077268917997379375809331985822560712851344950210190172950199081414472458881035865299496206126149174731998384045793551971430013942601969537189657170473817418164500861741802560954250036774440344852932174272178342111145431025429781125735975103176633052802450567749984228890598219599654764175065819349506497808774280699000236259459763912442974483751141129268323690539285473881469044290061943788932694527155499022716408794774327883049506506809889494615365390410302082570522014684654792019530631762508941408120883561035924935885132457478069626551685637368623531160460226911549717154262554093176365524 1550493035364563555575672727728540226328315624110066914859892332918237103275096363022164963604657493275136647087768131323685180286285994428458313518442880148393679784398225116489076026071319625871001961028675727931404984595142797402019583145163465659234963837346548785207077163442662384019778342199634965117575016049406453795065248928103831162394900062232341555336829431690790864301648066395823351820537470670130101521298103405548370785668628614526407742209810437910680684165938685762836611839402934268644328776693089018667221190046087328803355007346655148550168969185373250668392700632133229488249793299941424820488943467705584906692084282411433253155615161798006289059976258479981252889212958778436272910280841269797453190044831908455796511239712250300714445038143978365970751443297339310622060966931289841085718449710035343437514069155820323892091160821630877145355087406441810240294588579062905052359277996947143814501433231672797872779546805964567820821261143853152421082707925072921891032166867582688916129074486396809527339349651943206667201392799121598286952945269572159118892860432886651903361083195334092665060699605669172980697416518073564337729953368793338364754962128374906363763995506923403491239726039083428243077616375341114083608962191270377633473904508547410775284130263414529170531690554148946821347037032149272781162213978166878195224693766634871823774415819776307351906724526741296519242526877547256425330924537354670490628119291364207292932718888447329811903630898180334033028966832067121141314616381264256040298034333367756610216097192783372124686611981440180910203604592414453021872192498166288268035278647421046592580966271954321159778283643826959510195019214227457480047819985732659148301684081732536091900013248411455231085841021381018415942483408326218417103032886818760047064165560856067725996675412901858315080302251968031195544834041023503670877232935849206160232955977638288648679324664107470907584161349276993498344654915823271999703151577891695923110803633653482767479872593550484508915645136028725918510313788129199797958288245292070567755126941344873183150274579739532737733370528230370552300307384138303970613940450680957323562966156456993287837070540127 2508750430539856543104543853335412225098323909257514694063186275632472863570237239544978848819088742750636717557143987019303516415123682484995526401071913985053027441857879289331474466295648850364721166374723740300914675613208382684287301903906630675605813948609223614826718303214594132435177610387707960358610709577840717415576077163612219920420586893856536515693344025649547982515504300267825254956635180497474630103673115756023560278344634100872454109506454690608273782738051621762543083274275256282093390352241028954524520393459219592297923153712982330269858771569139278155399810080181156078857056007146622430004986611201835285557864930273216528720114378021775042923243978411871726873358895795431467791244893454428705488789866171410927478317047765313122585539707137692157070500683582945532389004316817367467014814129884799764000526901497528681799777724269398520157256593061558088241415678935060629943998977276552080404418307043055757115113212182821161126896034075602060247060894828822909822455251944474200655064042148096043793185076228740349212233714788413305225251402347497432595269465064559096977453950129340402415920852575303206986674169698218593531553333196090865333657552653577069175831898998494342069422585735996716606573580041658328752253080830672204918501842361126585962913701703356009405508308427821971118684262334174738269022320122289979758066080204102414550182069448963229664149609298746714264293436689684614083470188657658781818374285294318901086762907037108606792312125948493143162895936673550735782070748761736048323704575374593702610192318108987939484501090358304437285519494073530290790189877542097600021101208133897937531176462127271358859698116285840546060318710433583629222551984116704941853655511746478693869550438068625704903259185881880157745044362576255191543377739750934319242507672001498751426456538637833418256935304770481763294818269914101890476887700024271979582462475447062929378324900366930671496604323760744639473923239513811285177033046935985985054592566348009922978895309959279283243528185535232728399808403494590208260370815814085252409918960875504945659215987860416298769295464115503009778377010689989607982563981841417550474515873611255841930246905651 4059243465904420098680216581063952451426639533367581608923078608550709966845333602567143812423746236025773364644912118342988696701409676913453839919514794133446707226256104405820550492366968476235723127403399468232319660208351180086306885049070096334840777785955772400033795466657256516454955952587342925476185725627247171210641326091716051082815486956088878071030173457340338846817152366663648606777172651167604731624971219161571931064013262715398861851716265128518954466903990307525379695113678190550737719128934117973191741583505306921101278161059637478820027740754512528823792510712314385567106849307088047250493930078907420192249949212684649781875729539819781331983220236891852979762571854573867740701525734724226158678834698079866723989556760015613837030577851116058127821943980922256154449971248107208552733263839920143201514596057317852573890938545900275665512343999503368328536004257997965682303276974223695894905851538715853629894660018147388981948157177928754481329768819901744800854622119527163116784138528544905571132534728171947016413626513910011592178196671919656551488129897951211000338537145463433067476620458244476187684090687771782931261506701989429230088619681028483432939827405921897833309148624819424959684189955382772412361215272101049838392406350908537361247043965117885179937198862576768792465721294483447519431236298289168174982759846838974238324597889225270581570874136040043233506820314236941039414394726012329272446493576658526194019481795484438418695943024128827176191862768740671877096687130025992088621738908742350312826289510892360064171113071798485347489124086487983312662382375708385868056379855554944530112142734081592518637981760112800056255337924661041109270371969849364090155339593479014785769563686480080935989100207262898573687527770902473608646410626569694366306673232857566477423131951539691733337237556738512958839652310937605561354120635873478139815418453085351578057649564474401579080765673037738137818578155337083284880184624827681908165396200001492690458767903509763792159173321563958646910122191623790006218659061106155820165045902220378128809490567599949036502665992345873562078684394828293578596504432522374874037482030068249129767317445778 6567993896444276641784760434399364676524963442625096302986264884183182830415570842112122661242834978776410082202056105362292213116533359398449366320586708118499734668113983695152024958662617326600444293778123208533234335821559562770594186952976727010446591734564996014860513769871850648890133562975050885834796435205087888626217403255328271003236073849945414586723517482989886829332656666931473861733807831665079361728644334917595491342357896816271315961222719819127228249642041929287922778387953446832831109481175146927716261976964526513399201314772619809089886512323651806979192320792495541645963905314234669680498916690109255477807814142957866310595843917841556374906464215303724706635930750369299208492770628178654864167624564251277651467873807780926959616117558253750284892444664505201686838975564924576019748077969804942965515122958815381255690716270169674185669600592564926416777419936933026312247275951500247975310269845758909387009773230330210143075053212004356541576829714730567710677077371471637317439202570693001614925719804400687365625860228698424897403448074267153984083399363015770097315991095592773469892541310819779394670764857470001524793060035185520095422277233682060502115659304920392175378571210555421676290763535424430741113468352931722043310908193269663947209957666821241189342707171004590763584405556817622257700258618411458154740825927043076652874779958674233811235023745338789947771113750926625653497864914669988054264867861952845095106244702521547025488255150077320319354758705414222612878757878787728136945443484116944015436481829001348003655614162156789784774643580561513603452572253250483468077481063688842467643319196208863877497679876398640602315656635094624738492923953966069032008995105225493479639114124548706640892359393144778731432572133478728800189788366320628685549180904859065228849588490177525151594172861508994722134470580851707451831008335897750119397880928532414507435974464841332250577369996798482777292501394850894570057217671763667893219988766349502613437663213469043075402701507099191375309930595118380214479029876920241072574964863095883074468706555460365335271961456461376571857061405518283186579068414363792424511997903679504971697564351429 10627237362348696740464977015463317127951602975992677911909343492733892797260904444679266473666581214802183446846968223705280909817943036311903206240101502251946441894370088100972575451029585802836167421181522676765553996029910742856901072002046823345287369520520768414894309236529107165345089515562393811310982160832335059836858729347044322086051560806034292657753690940330225676149809033595122468510980482832684093353615554079167422406371159531670177812938984947646182716546032236813302473501631637383568828610109264900908003560469833434500479475832257287909914253078164335802984831504809927213070754621322716930992846769016675670057763355642516092471573457661337706889684452195577686398502604943166949194296362902881022846459262331144375457430567796540796646695409369808412714388645427457841288946813031784572481341809725086167029719016133233829581654816069949851181944592068294745313424194930991994550552925723943870216121384474763016904433248477599125023210389933111022906598534632312511531699490998800434223341099237907186058254532572634382039486742608436489581644746186810535571529260966981097654528241056206537369161769064255582354855545241784456054566737174949325510896914710543935055486710842290008687719835374846635974953490807203153474683625032771881703314544178201308457001631939126369279906033581359556050126851301069777131494916700626329723585773882050891199377847899504392805897881378833181277934065163566692912259640682317326711361438611371289125726498005985444184198174206147495546621474154894489975445008813720225567182392859294328262771339893708067826727233955275132263767667049496916114954628958869336133860919243786997755461930290456396135661636511440658570994559755665847763295923815433122164334698704508265408677811028787576881459600407677305120099904381202408836198992890323051855854137716631706272720441717216884931410418247507680974122891789313013185128971771228259213299381617766085493624029315733829658135669836220915111079550187977854937402296591349801385384966350995303896431116978806867561874828663150022220052786742170220697688938026396892740010765316261203278197123060314371774627448807250133935745800346576765175572846886167298549479933747754101464881797207 17195231258792973382249737449862681804476566418617774214895608376917075627676475286791389134909416193578593529049024329067573122934476395710352572560688210370446176562484071796124600409692203129436611714959645885298788331851470305627495258955023550355733961255085764429754823006400957814235223078537444697145778596037422948463076132602372593089287634655979707244477208423320112505482465700526596330244788314497763455082259888996762913748729056347941493774161704766773410966188074166101225251889585084216399938091284411828624265537434359947899680790604877096999800765401816142782177152297305468859034659935557386611491763459125931147865577498600382403067417375502894081796148667499302393034433355312466157687066991081535887014083826582422026925304375577467756262812967623558697606833309932659528127922377956360592229419779530029132544841974948615085272371086239624036851545184633221162090844131864018306797828877224191845526391230233672403914206478807809268098263601937467564483428249362880222208776862470437751662543669930908800983974336973321747665346971306861386985092820453964519654928623982751194970519336648980007261703079884034977025620402711785980847626772360469420933174148392604437171146015762682184066291045930268312265717026231633894588151977964493925014222737447865255666959298760367558622613204585950319634532408118692034831753535112084484464411700925127544074157806573738204040921626717623129049047816090192346410124555352305380976229300564216384231971200527532469672453324283467814901380179569117102854202887601448362512625876976238343699253168895056071482341396112064917038411247611010519567526882209352804211341982932629465398781126499320273633341512910081260886651194850290586256219877781502154173329803930001745047791935577494217773818993552456036552672037859931209025987359210951737405035042575696935122308931894742036525583279756502403108593472641020465016137307668978378611180310150180592929598494157066080235505666634703692403580945038872424994619968355017694605373732700497917334094330447849942964576335762341397529983381860550435176718814946637965314975628412144277746903678520679707046588905268626705792807205864859951754641261249959723061477837427259073162446148636 27822468621141670122714714465325998932428169394610452126804951869650968424937379731470655608575997408380776975895992552772854032752419432022255778800789712622392618456854159897097175860721788932272779136141168562064342327881381048484396330957070373701021330775606532844649132242930064979580312594099838508456760756869758008299934861949416915175339195462013999902230899363650338181632274734121718798755768797330447548435875443075930336155100215879611671587100689714419593682734106402914527725391216721599968766701393676729532269097904193382400160266437134384909715018479980478585161983802115396072105414556880103542484610228142606817923340854242898495538990833164231788685833119694880079432935960255633106881363353984416909860543088913566402382734943374008552909508376993367110321221955360117369416869190988145164710761589255115299574560991081848914854025902309573888033489776701515907404268326795010301348381802948135715742512614708435420818639727285408393121473991870578587390026783995192733740476353469238185885884769168815987042228869545956129704833713915297876566737566640775055226457884949732292625047577705186544630864848948290559380475947953570436902193509535418746444071063103148372226632726604972192754010881305114948240670517038837048062835602997265806717537281626066564123960930699493927902519238167309875684659259419761811963248451812710814187997474807178435273535654473242596846819508096456310326981881253759039322384196034622707687590739175587673357697698533517913856651498489615310448001653724011592829647896415168588079808269835532671962024508788764139309068630067340049302178914660507435682481511168222140345202902176416463154243056789776669769003149421521919457645754605956434019515801596935276337664502634510010456469746606281794655278593960133341672771942241133617862186352101274789260889180292328641395029373611958921456993698004010084082716364430333478201266279440206637824479691767946678423222523472799909893641336470924607514660495226850279932022264946367495990758699051493221230525447426656810526451164425491419750036168602720655874407752973034858054986393728405481025100801580994078821216354075876839728553006211436716930214108136127021610957771175013174627327945843 45017699879934643504964451915188680736904735813228226341700560246568044052613855018262044743485413601959370504945016881840427155686895827732608351361477922992838795019338231693221776270413992061709390851100814447363130659732851354111891589912093924056755292030692297274403955249331022793815535672637283205602539352907180956763010994551789508264626830117993707146708107786970450687114740434648315129000557111828211003518135332072693249903829272227553165361262394481193004648922180569015752977280801805816368704792678088558156534635338553330299841057042011481909515783881796621367339136099420864931140074492437490153976373687268537965788918352843280898606408208667125870481981787194182472467369315568099264568430345065952796874626915495988429308039318951476309172321344616925807928055265292776897544791568944505756940181368785144432119402966030464000126396988549197924885034961334737069495112458659028608146210680172327561268903844942107824732846206093217661219737593808046151873455033358072955949253215939675937548428439099724788026203206519277877370180685222159263551830387094739574881386508932483487595566914354166551892567928832325536406096350665356417749820281895888167377245211495752809397778742367654376820301927235383260506387543270470942650987580961759731731760019073931819790920229459861486525132442753260195319191667538453846795001986924795298652409175732305979347693461046980800887741134814079439376029697343951385732508751386928088663820039739804057589668899061050383529104822773083125349381833293128695683850784016616950592434146811771015661277677683820210791410026179404966340590162271517955250008393377574944556544885109045928553024183289096943402344662331603180344296949456247020275735679378437430510994306564511755504261682183776012429097587512589378225443980101064826888173711312226526665924222868025576517338305506700957982576977760512487191309837071353943217403587109185016435660001918127271352821017629865990129147003105628299918241440265722704926642233301385190596132431751991138564619777874506753491027500187832817280019550463271091051126567919672823369962022140549758772004480101673785867805259344503545521360212076296668684855369386086744672435608602272247789774094479 72840168501076313627679166380514679669332905207838678468505512116219012477551234749732700352061411010340147480841009434613281188439315259754864130162267635615231413476192391590318952131135780993982169987241983009427472987614232402596287920869164297757776622806298830119053087492261087773395848266737121714059300109776938965062945856501206423439966025580007707048939007150620788868747015168770033927756325909158658551954010775148623586058929488107164836948363084195612598331656286971930280702672018527416337471494071765287688803733242746712700001323479145866819230802361777099952501119901536261003245489049317593696460983915411144783712259207086179394145399041831357659167814906889062551900305275823732371449793699050369706735170004409554831690774262325484862081829721610292918249277220652894266961660759932650921650942958040259731693963957112312914980422890858771812918524738036252976899380785454038909494592483120463277011416459650543245551485933378626054341211585678624739263481817353265689689729569408914123434313208268540775068432076065234007075014399137457140118567953735514630107844393882215780220614492059353096523432777780616095786572298618926854652013791431306913821316274598901181624411468972626569574312808540498208747058060309307990713823183959025538449297300699998383914881160159355414427651680920570071003850926958215658758250438737506112840406650539484414621229115520223397734560642910535749703011578597710425054892947421550796351410778915391730947366597594568297385756321262698435797383487017140288513498680431785538672242416647303687623302186472584350100478656246745015642769076932025390932489904545797084901747787285462391707267240078873613171347811753125099801942704062203454295251480975372706848658809199021765960731428790057807084376181472722719898215922342198444750360063413501315926813403160354217912367679118659879439570675764522571274026201501687421418669866549391654260139693686073949776043541102665900022788339576552907432901935492572984858664498247752686586891130803484359795145225301163564017478664613324237030055719065991746925534320892707681424948415868955239797105281682667864689021613420380385249913218287733385615069477522213766283393379777285422417102040322 117857868381010957132643618295703360406237641021066904810206072362787056530165089767994745095546824612299517985786026316453708344126211087487472481523745558608070208495530623283540728401549773055691560838342797456790603647347083756708179510781258221814531914836991127393457042741592110567211383939374404919661839462684119921825956851052995931704592855698001414195647114937591239555861755603418349056756883020986869555472146107221316835962758760334718002309625478676805602980578467540946033679952820333232706176286749853845845338368581300042999842380521157348728746586243573721319840256000957125934385563541755083850437357602679682749501177559929460292751807250498483529649796694083245024367674591391831636018224044116322503609796919905543260998813581276961171254151066227218726177332485945671164506452328877156678591124326825404163813366923142776915106819879407969737803559699370990046394493244113067517640803163292790838280320304592651070284332139471843715560949179486670891136936850711338645638982785348590060982741647368265563094635282584511884445195084359616403670398340830254204989230902814699267816181406413519648416000706612941632192668649284283272401834073327195081198561486094653991022190211340280946394614735775881469253445603579778933364810764920785270181057319773930203705801389619216900952784123673830266323042594496669505553252425662301411492815826271790393968922576567204198622301777724615189079041275941661810787401698808478885015230818655195788537035496655618680914861144035781561146765320310268984197349464448402489264676563459074703284579864156404560891888682426149981983359239203543346182498297923372029458292672394508320260291423367970556573692474084728280146239653518450474570987160353810137359653115763533521464993110973833819513473768985312098123659902443263271638533774725727842592737626028379794429705984625360837422147653525035058465336038573041364636073453658576670695799695604201221128864558732531890151935342682181207351143375758295689785306731549137877183023562555475498359765003175670317508506164801157054310075269529262837976660888812380504794910438009504998569109761784341650556826872764883930771273430364030054299924846908300510955828988379557670206876134801 190698036882087270760322784676218040075570546228905583278711584479006069007716324517727445447608235622639665466627035751066989532565526347242336611686013194223301621971723014873859680532685554049673730825584780466218076634961316159304467431650422519572308537643289957512510130233853198340607232206111526633721139572461058886888902707554202355144558881278009121244586122088212028424608770772188382984513208930145528107426156882369940422021688248441882839257988562872418201312234754512876314382624838860649043647780821619133534142101824046755699843704000303215547977388605350821272341375902493386937631052591072677546898341518090827533213436767015639686897206292329841188817611600972307576267979867215564007468017743166692210344966924315098092689587843602446033335980787837511644426609706598565431468113088809807600242067284865663895507330880255089830087242770266741550722084437407243023293874029567106427135395646413254115291736764243194315835818072850469769902160765165295630400418668064604335328712354757504184417054855636806338163067358649745891520209483497073543788966294565768835097075296696915048036795898472872744939433484393557727979240947903210127053847864758501995019877760693555172646601680312907515968927544316379678000503663889086924078633948879810808630354620473928587620682549778572315380435804594400337326893521454885164311502864399807524333222476811274808590151692087427596356862420635150938782052854539372235842294646230029681366641597570587519484402094250186978300617465298479996944148807327409272710848144880188027936918980106378390907882050628988910992367338672894997626128316135568737114988202469169114360040459679970711967558663446844169745040285837853379948182357580653928866238641329182844208311924962555287425724539763891626597849950458034818021875824785461716388893838139229158519551029188734012342073663744020716861718329289557629739362240074728786054743320207968324955939389290275170904908099835197790174723682258734114784045311250868674643971229796890563769914693358959858154910228476833881525984829414481291340130988595254584902195209705088186219858853878460238366215043467009515245848486185264316021186648651763439914994324430514277239222368156843092623978175123 308555905263098227892966402971921400481808187249972488088917656841793125537881414285722190543155060234939183452413062067520697876691737434729809093209758752831371830467253638157400408934235327105365291663927577923008680282308399916012646942431680741386840452480281084905967172975445308907818616145485931553382979035145178808714859558607198286849151736976010535440233237025803267980470526375606732041270091951132397662898302989591257257984447008776600841567614041549223804292813222053822348062577659193881749824067571472979379480470405346798699686084521460564276723974848924542592181631903450512872016616132827761397335699120770510282714614326945099979649013542828324718467408295055552600635654458607395643486241787283014713954763844220641353688401424879407204590131854064730370603942192544236595974565417686964278833191611691068059320697803397866745194062649674711288525644136778233069688367273680173944776198809706044953572057068835845386120150212322313485463109944651966521537355518775942980967695140106094245399796503005071901257702641234257775965404567856689947459364635396023040086306199511614315852977304886392393355434191006499360171909597187493399455681938085697076218439246788209163668791891653188462363542280092261147253949267468865857443444713800596078811411940247858791326483939397789216333219928268230603649936115951554669864755290062108935826038303083065202559074268654631794979164198359766127861094130481034046629696345038508566381872416225783308021437590905805659215478609334261558090914127637678256908197609328590517201595543565453094192461914785393471884256021099044979609487555339112083297486500392541143818333132074479032227850086814814726318732759922581660094422011099104403437225801682992981567965040726088808890717650737725446111323719443346916145535727228724988027427612864957001112288655217113806771779648369381554283865982814592688204698278647770150690816773866544995651739084894476392033772658567729680326659024940915322135188687009164364429277961346028440952938255914435356514675231652504199034490994215638345650206258124517422878856098517468691014769291887965236935324805251351165802675358950148246792460079015793494214919171338814788195051356536400762830854309924 499253942145185498653289187648139440557378733478878071367629241320799194545597738803449635990763295857578848919040097818587687409257263781972145704895771947054673452438976653031260089466920881155039022489512358389226756917269716075317114374082103260959148990123571042418477303209298507248425848351597458187104118607606237695603762266161400641993710618254019656684819359114015296405079297147795115025783300881277925770324459871961197680006135257218483680825602604421642005605047976566698662445202498054530793471848393092112913622572229393554399529788521763779824701363454275363864523007805943899809647668723900438944234040638861337815928051093960739666546219835158165907285019896027860176903634325822959650954259530449706924299730768535739446377989268481853237926112641902242015030551899142802027442678506496771879075258896556731954828028683652956575281305419941452839247728574185476092982241303247280371911594456119299068863793833079039701955968285172783255365270709817262151937774186840547316296407494863598429816851358641878239420769999884003667485614051353763491248330929961791875183381496208529363889773203359265138294867675400057088151150545090703526509529802844199071238317007481764336315393571966095978332469824408640825254452931357952781522078662680406887441766560721787378947166489176361531713655732862630940976829637406439834176258154461916460159260779894340011149225960742059391336026618994917066643146985020406282471990991268538247748514013796370827505839685155992637516096074632741555035062934965087529619045754208778545138514523671831485100343965414382382876623359771939977235615871474680820412474702861710258178373591754449744195408750261658896063773045760435040042604368679758332303464443012175825776276965688644096316442190501617072709173669901381734167411552014186704416321451004186159631839684405847819113853312113402271145584312104150317944060518722498936745560094074513320607678474184751562938680758402927470501382707199649436919233998260033039073249191142919004722852949273395214669585460129338080560475823630119636990337246719772007781051308222556877234628145766425475301539848718360681048523845135412562813646727667556934129913495769329065434273724693243855454832485047 807809847408283726546255590620060841039186920728850559456546898162592320083479153089171826533918356092518032371453159886108385285949001216701954798105530699886045282906230291188660498401156208260404314153439936312235437199578115991329761316513784002345989442603852127324444476184743816156244464497083389740487097642751416504318621824768598928842862355230030192125052596139818564385549823523401847067053392832410323433222762861552454937990582265995084522393216645970865809897861198620521010507780157248412543295915964565092293103042634740353099215873043224344101425338303199906456704639709394412681664284856728200341569739759631848098642665420905839646195233377986490625752428191083412777539288784430355294440501317732721638254494612756380800066390693361260442516244495966972385634494091687038623417243924183736157908450508247800014148726487050823320475368069616164127773372710963709162670608576927454316687793265825344022435850901914885088076118497495096740828380654469228673475129705616490297264102634969692675216647861646950140678472641118261443451018619210453438707695565357814915269687695720143679742750508245657531650301866406556448323060142278196925965211740929896147456756254269973499984185463619284440696012104500901972508402198826818638965523376481002966253178500969646170273650428574150748046875661130861544626765753357994504041013444524025395985299082977405213708300229396691186315190817354683194504241115501440329101687336307046814130386430022154135527277276061798296731574683967003113125977062602765786527243363537369062340110067237284579292805880199775854760879380870984956845103426813792903709961203254251401996706723828928776423258837076473622382505805683016700137026379778862735740690244695168807344242006414732905207159841239342518820497389344728650312947279242911692443749063869143160744128339622961625885632960482783825429450294918743006148758797370269087436376867941058316259417559079227954972453416970657150828041732140564759054422685269197403502527152488947445675791205187830571184260691781842279594966817845757982640543504844289430659907406740025568249397437654390712236864653969711846851199204085560809606106806683350428344832667108143853629325081229644618285686794971 1307063789553469225199544778268200281596565654207728630824176139483391514629076891892621462524681651950096881290493257704696072695206264998674100503001302646940718735345206944219920587868077089415443336642952294701462194116847832066646875690595887263305138432727423169742921779394042323404670312848680847927591216250357654199922384090929999570836572973484049848809871955253833860790629120671196962092836693713688249203547222733513652617996717523213568203218819250392507815502909175187219672952982655302943336767764357657205206725614864133907498745661564988123926126701757475270321227647515338312491311953580628639285803780398493185914570716514866579312741453213144656533037448087111272954442923110253314945394760848182428562554225381292120246444379961843113680442357137869214400665045990829840650859922430680508036983709404804531968976755170703779895756673489557616967021101285149185255652849880174734688599387721944643091299644734993924790032086782667879996193651364286490825412903892457037613560510129833291105033499220288828380099242641002265110936632670564216929956026495319606790453069191928673043632523711604922669945169541806613536474210687368900452474741543774095218695073261751737836299579035585380419028481928909542797762855130184771420487602039161409853694945061691433549220816917750512279760531393993492485603595390764434338217271598985941856144559862871745224857526190138750577651217436349600261147388100521846611573678327575585061878900443818524963033116961217790934247670758599744668161039997567853316146289117746147607478624590909116064393149845614158237637502740642924934080719298288473724122435906115961660175080315583378520618667587338132518446278851443451740179630748458621068044154687707344633120518972103377001523602031740959591529671059246110384480358831257098396860070514873329320375968024028809444999486272596186096575034607022893324092819316092768024181936962015571636867096033263979517911134175373584621329424439340214195973656683529230442575776343631866450398644154461225785853846151911180360155442641475877619630880751564061438440958714962582445484025583420816187538404502688072527899723049220973372419753534350907362474746162877472919063598805922888473740519280018 2114873636961752951745800368888261122635752574936579190280723037645983834712556044981793289058600008042614913661946417590804457981155266215376055301106833346826764018251437235408581086269233297675847650796392231013697631316425948057976637007109671265651127875331275297067366255578786139560914777345764237668078313893109070704241005915698598499679435328714080040934924551393652425176178944194598809159890086546098572636769985595066107555987299789208652725612035896363373625400770373807740683460762812551355880063680322222297499828657498874260597961534608212468027552040060675176777932287224732725172976238437356839627373520158125034013213381935772418958936686591131147158789876278194685731982211894683670239835262165915150200808719994048501046510770655204374122958601633836186786299540082516879274277166354864244194892159913052331983125481657754603216232041559173781094794473996112894418323458457102189005287180987769987113735495636908809878108205280162976737022032018755719498888033598073527910824612764802983780250147081935778520777715282120526554387651289774670368663722060677421705722756887648816723375274219850580201595471408213169984797270829647097378439953284703991366151829516021711336283764499204664859724494033410444770271257329011590059453125415642412819948123562661079719494467346324663027807407055124354030230361144122428842258285043509967252129858945849150438565826419535441763966408253704283455651629216023286940675365663882631876009286873840679098560394237279589230979245442566747781287017060170619102673532481283516669818734658146400643685955725813934092398382121513909890925822725102266627832397109370213062171787039412307297041926424414606140828784657126468440316657128237483803784844932402513440464760978518109906730761872980302110350168448590839034793306110500010089303819578742472481120096363651771070885119233078969922004484901941636330241578113463037111618313829956629953126513592343207472883587592344241772157466171480778955028079368798427846078303496120813896074435359649056357038106843693022639750409459321635602271424256408350869100866121702608013733423021075206899775269156657784374750922253306534182025860341034257790819578829985616772692923887152533092026206074989 3421937426515222176945345147156461404232318229144307821104899177129375349341632936874414751583281659992711794952439675295500530676361531214050155804108135993767482753596644179628501674137310387091290987439344525715159825433273780124623512697705558528956266308058698466810288034972828462965585090194445085595669530143466724904163390006628598070516008302198129889744796506647486285966808064865795771252726780259786821840317208328579760173984017312422220928830855146755881440903679548994960356413745467854299216831444679879502706554272363008168096707196173200591953678741818150447099159934740071037664288192017985478913177300556618219927784098450638998271678139804275803691827324365305958686425135004936985185230023014097578763362945375340621292955150617047487803400958771705401186964586073346719925137088785544752231875869317856863952102236828458383111988715048731398061815575281262079673976308337276923693886568709714630205035140371902734668140292062830856733215683383042210324300937490530565524385122894636274885283646302224606900876957923122791665324283960338887298619748555997028496175826079577489767007797931455502871540640950019783521271481517015997830914694828478086584846902777773449172583343534790045278752975962319987568034112459196361479940727454803822673643068624352513268715284264075175307567938449117846515833956534886863180475556642495909108274418808720895663423352609674192341617625690053883716799017316545133552249043991458216937888187317659204061593511198497380165226916201166492449448057057738472418819821599029664277297359249055516708079105571428092330035884862156834825006542023390740351954833015486174722346867354995685817660594011752738659275063508569920180496287876696104871828999620109858073585279950621486908254363904721261701879839507836949419273664941757108486163890093615801801496064387680580515884605505675156018579519508964529654334397429555805135800250791972201589993609625607186990794721767717826393486890610820993151001736052327658288654079839752680346473079514110282142891952995604202999905852100797513221902305007972412307541824836665190459217448604496023087313673659345856902650645302527507554445613875385165153294324992863089691756522693075421565766725355007 5536811063476975128691145516044722526868070804080887011385622214775359184054188981856208040641881668035326708614386092886304988657516797429426211105214969340594246771848081415037082760406543684767138638235736756728857456749699728182600149704815229794607394183389973763877654290551614602526499867540209323263747844036575795608404395922327196570195443630912209930679721058041138711142987009060394580412616866805885394477087193923645867729971317101630873654442891043119255066304449922802701039874508280405655096895125002101800206382929861882428694668730781413059981230781878825623877092221964803762837264430455342318540550820714743253940997480386411417230614826395406950850617200643500644418407346899620655425065285180012728964171665369389122339465921272251861926359560405541587973264126155863599199414255140408996426768029230909195935227718486212986328220756607905179156610049277374974092299766794379112699173749697484617318770636008811544546248497342993833470237715401797929823188971088604093435209735659439258665533793384160385421654673205243318219711935250113557667283470616674450201898582967226306490383072151306083073136112358232953506068752346663095209354648113182077950998732293795160508867108033994710138477469995730432338305369788207951539393852870446235493591192187013592988209751610399838335375345504242200546064317679009292022733841686005876360404277754570046101989179029209634105584033943758167172450646532568420492924409655340848813897474191499883160153905435776969396206161643733240230735074117909091521493354080313180947116093907201917351765061297242026422434266983670744715932364748493006979787230124856387784518654394407993114702520436167344800103848165696388620812945004933588675613844552512371514050040929139596814985125777701563812230007956427788454066971052257118575467709672358274282616160751332351586769724738754125940584004410906165984575975543018842247418564621928831543120123217950394463678309360062068165644356782301772106029815421126086134732383335873494242547514873759338499930059839297225639656261560119148824173729264380763176642690958367798472950871625571229987088942816003641277401567555834041736471474216419422944113903822848706464449446580227954657792931429996 8958748489992197305636490663201183931100389033225194832490521391904734533395821918730622792225163328028038503566825768181805519333878328643476366909323105334361729525444725594665584434543854071858429625675081282444017282182973508307223662402520788323563660491448672230687942325524443065492084957734654408859417374180042520512567785928955794640711451933110339820424517564688624997109795073926190351665343647065672216317404402252225627903955334414053094583273746189875136507208129471797661396288253748259954313726569681981302912937202224890596791375926954613651934909523696976070976252156704874800501552622473327797453728121271361473868781578837050415502292966199682754542444525008806603104832481904557640610295308194110307727534610744729743632421071889299349729760519177246989160228712229210319124551343925953748658643898548766059887329955314671369440209471656636577218425624558637053766276075131656036393060318407199247523805776380714279214388789405824690203453398784840140147489908579134658959594858554075533550817439686384992322531631128366109885036219210452444965903219172671478698074409046803796257390870082761585944676753308252737027340233863679093040269342941660164535845635071568609681450451568784755417230445958050419906339482247404313019334580325250058167234260811366106256925035874475013642943283953360047061898274213896155203209398328501785468678696563290941765412531638883826447201659633812050889249663849113554045173453646799065751785661509159087221747416634274349561433077844899732680183131175647563940313175679342845224413453156257434059844166868670118752470151845827579540938906771883747331742063140342562506865521749403678932363114447920083459378911674266308801309232881629693547442844172622229587635320879761083723239489682422825514109847464264737873340635994014227061631599765974076084112225139012932102654330244429281959163523919870695638910372972574647383218815413901033133113732843557581454473031127779894559131247393122765257031551473453744423386463175626174589020594387869620642822012834901428639562113660916662046076034272353175484184515795032988932168320230067253074402616475349498180052212858361549290917088091804588097408228815711796156205969273303376223559656785003 14495559553469172434327636179245906457968459837306081843876143606680093717450010900586830832867044996063365212181211861068110507991395126072902578014538074674955976297292807009702667194950397756625568263910818039172874738932673236489823812107336018118171054674838645994565596616076057668018584825274863732123165218216618316120972181851282991210906895564022549751104238622729763708252782082986584932077960513871557610794491596175871495633926651515683968237716637232994391573512579394600362436162762028665609410621694684083103119320132086773025486044657736026711916140305575801694853344378669678563338817052928670115994278941986104727809779059223461832732907792595089705393061725652307247523239828804178296035360593374123036691706276114118865971886993161551211656120079582788577133492838385073918323965599066362745085411927779675255822557673800884355768430228264541756375035673836012027858575841926035149092234068104683864842576412389525823760637286748818523673691114186638069970678879667738752394804594213514792216351233070545377744186304333609428104748154460566002633186689789345928899972992014030102747773942234067669017812865666485690533408986210342188249623991054842242486844367365363770190317559602779465555707915953780852244644852035612264558728433195696293660825452998379699245134787484874851978318629457602247607962591892905447225943240014507661829082974317860987867401710668093460552785693577570218061700310381681974538097863302139914565683135700658970381901322070051318957639239488632972910918205293556655461806529759656026171529547063459351411609228165912145174904418829498324256871271520376754311529293265198950291384176143811672047065634884087428259482759839962697422122177886563282223056688725134601101685361808900680538224615460124389326339855420692526327407607046271345637099309438332350366728385890345283689424054983183407899747528330776861623486348515593489630637380035829864676233856061507975918151340487841962724775604175424537363061366894579830558118846511499668831568109261628959142752072674198654279218375221035810870249763536733938660827206753400787405119191855638483061491559291353139457453780414195591027388562308224011041522132638560502620655415853531330881352588214999 23454308043461369739964126842447090389068848870531276676366664998584828250845832819317453625092208324091403715748037629249916027325273454716378944923861180009317705822737532604368251629494251828483997889585899321616892021115646744797047474509856806441734715166287318225253538941600500733510669783009518140982582592396660836633539967780238785851618347497132889571528756187418388705362577156912775283743304160937229827111895998428097123537881985929737062820990383422869528080720708866398023832451015776925563724348264366064406032257334311663622277420584690640363851049829272777765829596535374553363840369675401997913448007063257466201678560638060512248235200758794772459935506250661113850628072310708735936645655901568233344419240886858848609604308065050850561385880598760035566293721550614284237448516942992316493744055826328441315709887629115555725208639699921178333593461298394649081624851917057691185485294386511883112366382188770240102975026076154643213877144512971478210118168788246873411354399452767590325767168672756930370066717935461975537989784373671018447599089908962017407598047401060833899005164812316829254962489618974738427560749220074021281289893333996502407022690002436932379871768011171564220972938361911831272150984334283016577578063013520946351828059713809745805502059823359349865621261913410962294669860866106801602429152638343009447297761670881151929632814242306977286999987353211382268950949974230795528583271316948938980317468797209818057603648738704325668519072317333532705591101336469204219402119705438998871395943000219716785471453395034582263927374570675325903797810178292260501643271356405541512798249697893215350979428749332007511718861671514229006223431410768192975770499532897756830689320682688661764261464105142547214840449702884957264200748243040285572698730909204306426450840611029358215792078385227612689858911052250647557262396721488168137013856195449730897809347588905065557372624371615621857283906851568547302620092918368033574981505309687125843420588703649498579785574085509100082918780488881952472916325797809087114145011722548433776337287512085705736135894175766702637637505993272557140318305650400028599138930361454272298776861385126834707104912245000002 37949867596930542174291763021692996847037308707837358520242808605264921968295843719904284457959253320154768927929249490318026535316668580789281522938399254684273682120030339614070918824444649585109566153496717360789766760048319981286871286617192824559905769841125964219819135557676558401529254608284381873105747810613279152754512149631521777062525243061155439322632994810148152413615359239899360215821264674808787437906387594603968619171808637445421031058707020655863919654233288260998386268613777805591173134969959050147509151577466398436647763465242426667075767190134848579460682940914044231927179186728330668029442286005243570929488339697283974080968108551389862165328567976313421098151312139512914232681016494942356381110947162972967475576195058212401773042000678342824143427214388999358155772482542058679238829467754108116571532445302916440080977069928185720089968496972230661109483427758983726334577528454616566977208958601159765926735663362903461737550835627158116280088847667914612163749204046981105117983519905827475747810904239795584966094532528131584450232276598751363336498020393074864001752938754550896923980302484641224118094158206284363469539517325051344649509534369802296150062085570774343686528646277865612124395629186318628842136791446716642645488885166808125504747194610844224717599580542868564542277823457999707049655095878357517109126844645199012917500215952975070747552773046788952487012650284612477503121369180251078894883151932910477027985550060774376987476711556822165678502019541762760874863926235198654897567472547283176136883062623200494409102278989504824228054681449812637255954800649670740463089633874037027023026494384216094939978344431354191703645553588654756257993556221622891431791006044497562444799688720602671604166789558305649790528155850086556918335830218642638776817568996919703499481502440210796097758658580581424418885883070003761626644493575485560762485581444966573533290775712103463820008682455743971839983154285262613405539624156198625512252156812911127538928326158183298737197998864102988283786575561345821052805838929301834563742406703941344219197385735058055777094959773686752731345694212708252610180452494092832801397516800980366037986264833215001 61404175640391911914255889864140087236106157578368635196609473603849750219141676539221738083051461644246172643677287119567942562641942035505660467862260434693591387942767872218439170453938901413593564043082616682406658781163966726083918761127049631001640485007413282445072674499277059135039924391293900014088330403009939989388052117411760562914143590558288328894161750997566541118977936396812135499564568835746017265018283593032065742709690623375158093879697404078733447734953997127396410101064793582516736859318223416211915183834800710100270040885827117307439618239964121357226512537449418785291019556403732665942890293068501037131166900335344486329203309310184634625264074226974534948779384450221650169326672396510589725530188049831816085180503123263252334427881277102859709720935939613642393220999485050995732573523580436557887242332932031995806185709628106898423561958270625310191108279676041417520062822841128450089575340789930006029710689439058104951427980140129594490207016456161485575103603499748695443750688578584406117877622175257560504084316901802602897831366507713380744096067794135697900758103566867726178942792103615962545654907426358384750829410659047847056532224372239228529933853581945907907501584639777443396546613520601645419714854460237588997316944880617871310249254434203574583220842456279526836947684324106508652084248516700526556424606316080164847133030195282048034552760400000334755963600258843273031704640497200017875200620730120295085589198799478702655995783874155698384093120878231965094266045940637653768963415547502892922354516018235076673029653560180150131852491628104897757598072006076281975887883571930242374005923133548102451697206102868420709868984999422949233764055754520648262480326727186224209061152825745218819007239261190607054728904093126842491034561127846945203268409607949061715273580825438408787617569632832071976148279791491929763658349770935291660294929033871639090663400083719085677292589307312519142603247203630646980521129465885751355672745516560626118713900243692398820116779352984940756702901359154908166950850651850268340079694216027049955333279910824758414732465766959309871663999863108281209319382855547105100174378186107200745091177078215003 99354043237322454088547652885833084083143466286205993716852282209114672187437520259126022541010714964400941571606536609885969097958610616294941990800659689377865070062798211832510089278383550998703130196579334043196425541212286707370790047744242455561546254848539246664891810056953617536569178999578281887194078213623219142142564267043282339976668833619443768216794745807714693532593295636711495715385833510554804702924671187636034361881499260820579124938404424734597367389187285388394796369678571388107909994288182466359424335412267108536917804351069543974515385430098969936687195478363463017218198743132063333972332579073744608060655240032628460410171417861574496790592642203287956046930696589734564402007688891452946106641135212804783560756698181475654107469881955445683853148150328613000548993482027109674971402991334544674458774778234948435887162779556292618513530455242855971300591707435025143854640351295745017066784299391089771956446352801961566688978815767287710770295864124076097738852807546729800561734208484411881865688526415053145470178849429934187348063643106464744080594088187210561902511042321418623102923094588257186663749065632642748220368927984099191706041758742041524679995939152720251594030230917643055520942242706920274261851645906954231642805830047425996814996449045047799300820422999148091379225507782106215701739344395058043665551450961279177764633246148257118782105533446789287242976250543455750534826009677451096770083772663030772113574748860253079643472495430977864062595140419994725969129972175836308666530888094786069059237578641435571082131932549684974359907173077917535013552872655747022438977517445967269397032417517764197391675550534222612413514538588077705491757611976143539694271332771683786653860841546347890423174028819496256845257059943213399409370391346489583980085978604868765214755083265649204885376228213413496395034162861495691390302843346420852422780510478838212623954175795822549497301271763056490982586401488893260386060753622084376867924902329471753657642226401875697557314778217087929040489476920500729219756689581152102903822100919968394174530665645882814191827425540646062603009694075816533819499835349639937901571894987087566783077441911430004 160758218877714366002803542749973171319249623864574628913461755812964422406579196798347760624062176608647114215283823729453911660600552651800602458662920124071456458005566084050949259732322452412296694239661950725603084322376253433454708808871292086563186739855952529109964484556230676671609103390872181901282408616633159131530616384455042902890812424177732097110956496805281234651571232033523631214950402346300821967942954780668100104591189884195737218818101828813330815124141282515791206470743364970624646853606405882571339519247067818637187845236896661281955003670063091293913708015812881802509218299535795999915222872142245645191822140367972946739374727171759131415856716430262490995710081039956214571334361287963535832171323262636599645937201304738906441897763232548543562869086268226642942214481512160670703976514914981232346017111166980431693348489184399516937092413513481281491699987111066561374703174136873467156359640181019777986157042241019671640406795907417305260502880580237583313956411046478496005484897062996287983566148590310705974263166331736790245895009614178124824690155981346259803269145888286349281865886691873149209403973059001132971198338643147038762573983114280753209929792734666159501531815557420498917488856227521919681566500367191820640122774928043868125245703479251373884041265455427618216173192106212724353823592911758570221976057277359342611766276343539166816658293846789621998939850802299023566530650174651114645284393393151067199163947659731782299468279305133562446688261298226691063396018116473962435494303642288961981592094659670647755161586109865124491759664706022432771150944661823304414865401017897511771038340651312299843372756637091033123383523587500654725521667730664187956751659498870010862921994372093109242181268080686863899985964036340241900404952474336529183354388212817826930028664091087613672993797846245568371182442652987621153961193117356144083075439512709851714617575879541635174593861070369010125189648692523907366581883087970128223597647846032379776356126645568096377431557570072869797192378279655637386707540233002371243901795135995444129863945556707572606559891307605372474673693938924815028819218205187043001746273173194767528168618989645007 260112262115036820091351195635806255402393090150780622630314038022079094594016717057473783165072891573048055786890360339339880758559163268095544449463579813449321528068364295883459349010706003410999824436241284768799509863588540140825498856615534542124732994704491775774856294613184294208178282390450463788476486830256378273673180651498325242867481257797175865327751242612995928184164527670235126930336235856855626670867625968304134466472689145016316343756506253547928182513328567904186002840421936358732556847894588348930763854659334927174105649587966205256470389100162061230600903494176344819727417042667859333887555451215990253252477380400601407149546145033333628206449358633550447042640777629690778973342050179416481938812458475441383206693899486214560549367645187994227416017236596839643491207963539270345675379506249525906804791889401928867580511268740692135450622868756337252792291694546091705229343525432618484223143939572109549942603395042981238329385611674705016030798744704313681052809218593208296567219105547408169849254675005363851444442015761670977593958652720642868905284244168556821705780188209704972384788981280130335873153038691643881191567266627246230468615741856322277889925731887386411095562046475063554438431098934442193943418146274146052282928604975469864940242152524299173184861688454575709595398699888318940055562937306816613887527508238638520376399522491796285598763827293578909241916101345754774101356659852102211415368166056181839312738696519984861942940774736111426509283401718221417032525990292310271102025191737075031040829673301106218837293518659550098851666837783939967784703817317570326853842918463864781168070758169076497235048307171313645536898062175578360217279279706807727651022992270553797516782835918440999665355296900183120745243023979553641309775343820826113163440366817686592144783747356736818558370026059659064766216605514483312544264036463776996505855949991548064338571751675364184671895132833425501107776050181417167752642636710054505091522550175504133433998353047443793934746335787160798837681855200156366606464229814154474147723896055963838304394611202590386798387316848251435077683388014741348848319053554826980903318168160282334311246060901075011 420870480992751186094154738385779426721642714015355251543775793835043517000595913855821543789135068181695170002174184068793792419159715919896146908126499937520777986073930379934408608743028455823296518675903235494402594185964793574280207665486826628687919734560444304884820779169414970879787385781322645689758895446889537405203797035953368145758293681974907962438707739418277162835735759703758758145286638203156448638810580748972234571063879029212053562574608082361258997637469850419977209311165301329357203701500994231502103373906402745811293494824862866538425392770225152524514611509989226622236635342203655333802778323358235898444299520768574353888920872205092759622306075063812938038350858669646993544676411467380017770983781738077982852631100790953466991265408420542770978886322865066286433422445051431016379356021164507139150809000568909299273859757925091652387715282269818534283991681657158266604046699569491951379503579753129327928760437284000909969792407582122321291301625284551264366765629639686792572704002610404457832820823595674557418705182093407767839853662334820993729974400149903081509049334097991321666654867972003485082557011750645014162765605270393269231189724970603031099855524622052570597093862032484053355919955161964113624984646641337872923051379903513733065487856003550547068902953910003327811571891994531664409386530218575184109503565515997862988165798835335452415422121140368531240855952148053797667887310026753326060652559449332906511902644179716644242409054041244988955971663016448108095922008408784233537519495379363993022421767960776866592455104769415223343426502489962400555854761979393631268708319481762292939109098820388797078421063808404678660281585763079014942800947437471915607774651769423808379704830290534108907536564980869984645228988015893883210180296295162642346794755030504419074812411447824432231363823905904633137399048167470933698225229581133140588931389504257916053189327554905819846488993903794511232965698873941075119224519798024633315120198021536513210354479693011890312177893357233668634874233479812003993171770047156845391625691191959282434258556759297959404947208155856807552357081953666163877138271760014023905064441333477101839414679890720018 680982743107788006185505934021585682124035804166135874174089831857122611594612630913295326954207959754743225789064544408133673177718879187991691357590079750970099514142294675817867957753734459234296343112144520263202104049553333715105706522102361170812652729264936080659677073782599265087965668171773109478235382277145915678876977687451693388625774939772083827766458982031273091019900287373993885075622874060012075309678206717276369037536568174228369906331114335909187180150798418324163212151587237688089760549395582580432867228565737672985399144412829071794895781870387213755115515004165571441964052384871514667690333774574226151696776901169175761038467017238426387828755433697363385080991636299337772518018461646796499709796240213519366059325000277168027540633053608536998394903559461905929924630408590701362054735527414033045955600889970838166854371026665783787838338151026155787076283376203249971833390225002110435602647519325238877871363832326982148299178019256827337322100369988864945419574848232895089139923108157812627682075498601038408863147197855078745433812315055463862635258644318459903214829522307696294051443849252133820955710050442288895354332871897639499699805466826925308989781256509438981692655908507547607794351054096406307568402792915483925205979984878983598005730008527849720253764642364579037406970591882850604464949467525391797997031073754636383364565321327131738014185948433947440482772053493808571769243969878855537476020725505514745824641340699701506185349828777356415465255064734669525128447998701094504639544687116439024063251441261883085429748623428965322195093340273902368340558579296963958122551237945627074107179856989465294313469370979718324197179647938657375160080227144279643258797644039977605896487666208975108572891861881053105390472011995447524519955640115988755510235121848191011219596158804561250789733849965563697903615653681954246242489266044910137094787339495805980391761079230270004518384126737220012340741749055358242871867156508079138406642748197040646644352832740455684246924229144394467472556088679968370599635999861311319539349587247923120738653167961888346203334525004108242630040469968407512725457325314841004808382609493759436150660740791795029 1101853224100539192279660672407365108845678518181491125717865625692166128595208544769116870743343027936438395791238728476927465596878595107887838265716579688490877500216225055752276566496762915057592861788047755757604698235518127289385914187589187799500572463825380385544497852952014235967753053953095755167994277724035453084080774723405061534384068621746991790205166721449550253855636047077752643220909512263168523948488787466248603608600447203440423468905722418270446177788268268744140421462752539017446964250896576811934970602472140418796692639237691938333321174640612366279630126514154798064200687727075170001493112097932462050141076421937750114927387889443519147451061508761176323119342494968984766062694873114176517480780021951597348911956101068121494531898462029079769373789882326972216358052853642132378434091548578540185106409890539747466128230784590875440226053433295974321360275057860408238437436924571602386982151099078368205800124269610983058268970426838949658613401995273416209786340477872581881712627110768217085514896322196712966281852379948486513273665977390284856365233044468362984723878856405687615718098717224137306038267062192933909517098477168032768930995191797528340089636781131491552289749770540031661150271009258370421193387439556821798129031364782497331071217864531400267322667596274582365218542483877382268874335997743966982106534639270634246352731120162467190429608069574315971723628005641862369437131279905608863536673284954847652336543984879418150427758882818601404421226727751117633224370007109878738177064182495803017085673209222659952022203728198380545538519842763864768896413341276357589391259557427389367046288955809854091391890434788123002857461233701736390102881174581751558866572295809401414276192496499509217480428426861923090035701000011341407730135936411151397857029876878695430294408570252385683021097673871468331041014701849425179940714495626043277683718729000063896444950406785175824364873120641014523573707447929299317991091676306103771721762946218577159854707312433467574559102122501628136107430322159780374592807769908468164930975278439882403172911724721186305608281733159965050182397551922073676602595597074855028713447050827236537990075420682515047 1782835967208327198465166606428950790969714322347626999891955457549288740189821175682412197697550987691181621580303272885061138774597474295879529623306659439460977014358519731570144524250497374291889204900192276020806802285071461004491620709691548970313225193090316466204174926734613501055718722124868864646229660001181368762957752410856754923009843561519075617971625703480823344875536334451746528296532386323180599258166994183524972646137015377668793375236836754179633357939066687068303633614339776705536724800292159392367837831037878091782091783650521010128216956510999580034745641518320369506164740111946684669183445872506688201837853323106925875965854906681945535279816942458539708200334131268322538580713334760973017190576262165116714971281101345289522072531515637616767768693441788878146282683262232833740488827075992573231062010780510585632982601811256659228064391584322130108436558434063658210270827149573712822584798618403607083671488101937965206568148446095776995935502365262281155205915326105476970852550218926029713196971820797751375144999577803565258707478292445748719000491688786822887938708378713383909769542566476271126993977112635222804871431349065672268630800658624453649079418037640930533982405679047579268944622063354776728761790232472305723335011349661480929076947873059249987576432238639161402625513075760232873339285465269358780103565713025270629717296441489598928443794018008263412206400059135670941206375249784464401012694010460362398161185325579119656613108711595957819886481792485787158352818005810973242816608869612242041148924650484543037451952351627345867733613183037767137236971920573321547513810795373016441153468812799319385705359805767841327054640881640393765262961401726031202125369939849379020172680162708484326053320288742976195426173012006788932250091576527140153367264998726886441514004729056946933810831523837032028944630355531379426183203761670953414778506068495869876836711486015445828883257247378234535914449196984657560862958832814182910128405694415617806499060145173923258806026351646022603579986410839748745192443769769779484470324865687805523911564892683074651811616258164073292812438021890481189328052922389696033521829660320995974140736161474310076 2884689191308866390744827278836315899815392840529118125609821083241454868785029720451529068440894015627620017371542001361988604371476069403767367889023239127951854514574744787322421090747260289349482066688240031778411500520589588293877534897280736769813797656915696851748672779686627737023471776077964619814223937725216821847038527134261816457393912183266067408176792424930373598731172381529499171517441898586349123206655781649773576254737462581109216844142559172450079535727334955812444055077092315722983689051188736204302808433510018510578784422888212948461538131151611946314375768032475167570365427839021854670676557970439150251978929745044675990893242796125464682730878451219716031319676626237307304643408207875149534671356284116714063883237202413411016604429977666696537142483324115850362640736115874966118922918624571113416168420671050333099110832595847534668290445017618104429796833491924066448708264074145315209566949717481975289471612371548948264837118872934726654548904360535697364992255803978058852565177329694246798711868142994464341426851957752051771981144269836033575365724733255185872662587235119071525487641283700408433032244174828156714388529826233705037561795850421981989169054818772422086272155449587610930094893072613147149955177672029127521464042714443978260148165737590650254899099834913743767844055559637615142213621463013325762210100352295904876070027561652066118873402087582579383930028064777533310643506529690073264549367295415210050497729310458537807040867594414559224307708520236904791577188012920851980993673052108045058234597859707202989474156079825726413272133025801631906133385261849679136905070352800405808199757768609173477097250240555964329912102115342130155365842576307782760991942235658780434448872659207993543533748715604899285461874012018130339980227512938291551224294875605581871808413299309332616831929197708500359985645057380804606123918257296996692462224797495933773281661892800621653248130368019249059488156644913956878854050509120286681850168640634194966353767457607390833365128474147650739687416732999529119785251539678247649401300144127687927084476617404260957419897991324038342994835573812554865930648519464551062235276711148232512130811582156825123 4667525158517193589209993885265266690785107162876745125501776540790743608974850896133941266138445003318801638951845274247049743146073543699646897512329898567412831528933264518892565614997757663641371271588432307799218302805661049298369155606972285740127022850006013317952847706421241238079190498202833484460453597726398190609996279545118571380403755744785143026148418128411196943606708715981245699813974284909529722464822775833298548900874477958778010219379395926629712893666401642880747688691432092428520413851480895596670646264547896602360876206538733958589755087662611526349121409550795537076530167950968539339860003842945838453816783068151601866859097702807410218010695393678255739520010757505629843224121542636122551861932546281830778854518303758700538676961493304313304911176765904728508923419378107799859411745700563686647230431451560918732093434407104193896354836601940234538233391925987724658979091223719028032151748335885582373143100473486913471405267319030503650484406725797978520198171130083535823417727548620276511908839963792215716571851535555617030688622562281782294366216422042008760601295613832455435257183850176679560026221287463379519259961175299377306192596509046435638248472856413352620254561128635190199039515135967923878716967904501433244799054064105459189225113610649900242475532073552905170469568635397848015552906928282684542313666065321175505787324003141665047317196105590842796136428123913204251849881779474537665562061305875572448658914636037657463653976306010517044194190312722691949930006018731825223810281921720287099383522510191746026926108431453072281005746208839399043370357182423000684418881148173422249353226581408492862802610046323805656966742996982523920628803978033813963117312175508159454621552821916477869587069004347875480888047024024919272230319089465431704591559874332468313322418028366279550642760721545532388930275412912184032307122018967950107240730865991803650118373378816067482131387615397483595402605841898614439717009341934469591978574335049812772852827602781314092171154825793673343267403143839277864977695309448027133871625009815493450996041510087335609231514249488111635807273595703036055258701441854247095757106371469228486271547743631135199 7552214349826059979954821164101582590600500003405863251111597624032198477759880616585470334579339018946421656323387275609038347517549613103414265401353137695364686043508009306214986705745017952990853338276672339577629803326250637592246690504253022509940820506921710169701520486107868975102662274280798104274677535451615012457034806679380387837797667928051210434325210553341570542337881097510744871331416183495878845671478557483072125155611940539887227063521955099079792429393736598693191743768524408151504102902669631800973454698057915112939660629426946907051293218814223472663497177583270704646895595789990394010536561813384988705795712813196277857752340498932874900741573844897971770839687383742937147867529750511272086533288830398544842737755506172111555281391470971009842053660090020578871564155493982765978334664325134800063398852122611251831204267002951728564645281619558338968030225417911791107687355297864343241718698053367557662614712845035861736242386191965230305033311086333675885190426934061594675982904878314523310620708106786680057998703493307668802669766832117815869731941155297194633263882848951526960744825133877087993058465462291536233648491001533082343754392359468417627417527675185774706526716578222801129134408208581071028672145576530560766263096778549437449373279348240550497374631908466648938313624195035463157766528391296010304523766417617080381857351564793731166190598193173422180066456188690737562493388309164610930111428601290782499156643946496195270694843900425076268501898832959596741507194031652677204803954973828332157618120369898949016400264511278798694277879234641030949503742444272679821323951500973828057552984350017666339899860286879769986878845112324654075994646554341596724109254411166939889070425481124471413120817719952774766349921036043049612210546602403723255815854749938050185130831327675612167474689919254032748915920470292988638431040276264946799702955663487737423400035271616689135379517983416732654890762486812571318571059851054756273828742975684007739206595060388704925536283299941324082954819876838806984762946849126274783272925153943181378080518127491596566651412240812149978802109169515590921189349961318798157992383082617460998402359325787960322 12219739508343253569164815049366849281385607166282608376613374164822942086734731512719411600717784022265223295275232549856088090663623156803061162913683036262777517572441273825107552320742775616632224609865104647376848106131911686890615846111225308250067843356927723487654368192529110213181852772483631588735131133178013203067031086224498959218201423672836353460473628681752767485944589813491990571145390468405408568136301333316370674056486418498665237282901351025709505323060138241573939432459956500580024516754150527397644100962605811715300536835965680865641048306476834999012618587134066241723425763740958933350396565656330827159612495881347879724611438201740285118752269238576227510359698141248566991091651293147394638395221376680375621592273809930812093958352964275323146964836855925307380487574872090565837746410025698486710629283574172170563297701410055922461000118221498573506263617343899515766666446521583371273870446389253140035757813318522775207647653510995733955517717812131654405388598064145130499400632426934799822529548070578895774570555028863285833358389394399598164098157577339203393865178462783982396002008984053767553084686749754915752908452176832459649946988868514853265666000531599127326781277706857991328173923344548994907389113481031994011062150842654896638598392958890450739850163982019554108783192830433311173319435319578694846837432482938255887644675567935396213507794298764264976202884312603941814343270088639148595673489907166354947815558582533852734348820206435593312696089145682288691437200050384502428614236895548619257001642880090695043326372942731870975283625443480429992874099626695680505742832649147250306906210931426159202702470333203575643845588109307177996623450532375410687226566586675099343691978303040949282707886724300650247237968060067968884440865691869154960407414624270518498453249356041891718117450640799565137846195883205172670738162295232896906943686529479541073518408650432756617510905598814216250293368328711185758288069192989225865807317310733820512059422663170019017707438125734997426222223020678084849740642158574301917144550163758674829076559637578932175882926490300261614609382765218626976448051403173045253749489454086689484673907069419095521 19771953858169313549119636213468431871986107169688471627724971788855140564494612129304881935297123041211644951598619825465126438181172769906475428315036173958142203615949283131322539026487793569623077948141776986954477909458162324482862536615478330760008663863849433657355888678636979188284515046764429693009808668629628215524065892903879347055999091600887563894798839235094338028282470911002735442476806651901287413807779890799442799212098359038552464346423306124789297752453874840267131176228480908731528619656820159198617555660663726828240197465392627772692341525291058471676115764717336946370321359530949327360933127469715815865408208694544157582363778700673160019493843083474199281199385524991504138959181043658666724928510207078920464330029316102923649239744435246332989018496945945886252051730366073331816081074350833286774028135696783422394501968413007651025645399841056912474293842761811306874353801819447714515589144442620697698372526163558636943890039702960964260551028898465330290579024998206725175383537305249323133150256177365575832569258522170954636028156226517414033830098732636398027129061311735509356746834117930855546143152212046451986556943178365541993701381227983270893083528206784902033307994285080792457308331553130065936061259057562554777325247621204334087971672307131001237224795890486203047096817025468774331085963710874705151361198900555336269502027132729127379698392491937687156269340501294679376836658397803759525784918508457137446972202529030048005043664106860669581197987978641885432944394082037179633418191869376951414619763249989644059726637454010669669561504678121460942377842070968360327066784150121078364459195281443825542602330620083345630724433221631832072618097086717007411335820997842039232762403784165420695828704444253425013587889096111018496651412294272878216223269374208568683584080683717503885592140560053597886762116353498161309169202571497843706646642192967278496918443922049445752890423582230948905184130815523757076859129044043982139636060286417828251266017723558723943243721425676321509177042897516891834503589007700576700417475317701856207157077765070528742534338731112411593411491934734217897637401364491843411741872536704150483076266395207055843 31991693366512567118284451262835281153371714335971080004338345953678082651229343642024293536014907063476868246873852375321214528844795926709536591228719210220919721188390556956430091347230569186255302558006881634331326015590074011373478382726703639010076507220777157145010256871166089401466367819248061281744939801807641418591096979128378306274200515273723917355272467916847105514227060724494726013622197120306695981944081224115813473268584777537217701629324657150498803075514013081841070608688437409311553136410970686596261656623269538543540734301358308638333389831767893470688734351851403188093747123271908260711329693126046643025020704575892037306975216902413445138246112322050426791559083666240071130050832336806061363323731583759296085922303126033735743198097399521656135983333801871193632539305238163897653827484376531773484657419270955592957799669823063573486645518062555485980557460105710822641020248341031085789459590831873837734130339482081412151537693213956698216068746710596984695967623062351855674784169732184122955679804247944471607139813551034240469386545620917012197928256309975601420994239774519491752748843101984623099227838961801367739465395355198001643648370096498124158749528738384029360089271991938783785482254897679060843450372538594548788387398463859230726570065266021451977074959872505757155880009855902085504405399030453399998198631383493592157146702700664523593206186790701952132472224813898621191179928486442908121458408415623492394787761111563900739392484313296262893894077124324174124381594132421682062032428764925570671621406130080339103053010396742540644845130121601890935251941697664040832809616799268328671365406212869984745304800953286921274570021330939010069241547619092418098562387584517138576454382087206369978536591168554075260825857156178987381092277986142033176630683998479087182037330039759395603709591200853163024608312236703333979907364866730740613590328722446819570436852572482202370401329181045165155477499144234942835147198237033208005443377597151648763325440386728742960951159551411318935399265918194976684244231166274878617562025481460531036233637402649460918417265221412673208020874699952844874085452767664888665491361990790839967750173464626151364 51763647224681880667404087476303713025357821505659551632063317742533223215723955771329175471312030104688513198472472200786340967025968696616012019543755384179061924804339840087752630373718362755878380506148658621285803925048236335856340919342181969770085171084626590802366145549803068589750882866012490974754748470437269634115162872032257653330199606874611481250071307151941443542509531635497461456099003772207983395751861114915256272480683136575770165975747963275288100827967887922108201784916918318043081756067790845794879212283933265371780931766750936411025731357058951942364850116568740134464068482802857588072262820595762458890428913270436194889338995603086605157739955405524626072758469191231575269010013380464728088252241790838216550252332442136659392437841834767989125001830747817079884591035604237229469908558727365060258685554967739015352301638236071224512290917903612398454851302867522129515374050160478800305048735274494535432502865645640049095427732916917662476619775609062314986546648060558580850167707037433446088830060425310047439709072073205195105414701847434426231758355042611999448123301086255001109495677219915478645370991173847819726022338533563543637349751324481395051833056945168931393397266277019576242790586450809126779511631596157103565712646085063564814541737573152453214299755762991960202976826881370859835491362741328105149559830284048928426648729833393650972904579282639639288741565315193300568016586884246667647243326924080629841759963640593948744436148420156932475092065102966059557325988214458861695450620634302522086241169380069983162779647850753210314406634799723351877629783768632401159876400949389407035824601494313810287907131573370266905294454552570842141859644705809425509898208582359177809216785871371790674365295612807500274413746252290005877743690280414911392853953372687655865621410723476899489301731760906760911370428590201495289076567438228584320236970915414098067355296494531648123291752763276114060661629959758699912006327281077190145079437883569477014591458110287466904194880977087640444576308815711868518747820173975455317979500799162387243390715167719989660951603952525084801432366634687062771722854132156732077233234527494990450826439859833207207 83755340591194447785688538739138994178729535841630631636401663696211305866953299413353469007326937168165381445346324576107555495870764623325548610772474594399981645992730397044182721720948931942133683064155540255617129940638310347229819302068885608780161678305403747947376402420969157991217250685260552256499688272244911052706259851160635959604400122148335398605343775068788549056736592359992187469721200892514679377695942339031069745749267914112987867605072620425786903903481901003949272393605355727354634892478761532391140868907202803915321666068109245049359121188826845413053584468420143322557815606074765848783592513721809101915449617846328232196314212505500050295986067727575052864317552857471646399060845717270789451575973374597512636174635568170395135635939234289645260985164549688273517130340842401127123736043103896833743342974238694608310101308059134797998936435966167884435408762973232952156394298501509886094508326106368373166633205127721461246965426130874360692688522319659299682514271122910436524951876769617569044509864673254519046848885624239435574801247468351438429686611352587600869117540860774492862244520321900101744598830135649187465487733888761545280998121420979519210582585683552960753486538268958360028272841348488187622962004134751652354100044548922795541111802839173905191374715635497717358856836737272945339896761771781505147758461667542520583795432534058174566110766073341591421213790129091921759196515370689575768701735339704122236547724752157849483828632733453195368986142227290233681707582346880543757483049399228092757862575510150322265832658247495750959251764921325242812881725466296441992686017748657735707190007707183795033211932526657188179864475883509852211101192324901843608460596166876316385671167958578160652901886781361575535239603408468993258835968266556944569484637371166743047658740763236295093011322961759923935978740826904829268983932304959324933827299637860917637792149067013850493693081944321279216139129103993642747153525518110398150522815480721125777916898497016209865146040528498959379975574733906845202992051340250333935541526280622918279624352570369450579368869173937758009453241334639907645808306899821620742724596518285830418576613324459358571 135518987815876328453092626215442707204087357347290183268464981438744529082677255184682644478638967272853894643818796776893896462896733319941560630316229978579043570797070237131935352094667294698012063570304198876902933865686546683086160221411067578550246849390030338749742547970772226580968133551273043231254436742682180686821422723192893612934599729022946879855415082220729992599246123995489648925820204664722662773447803453946326018229951050688758033580820583701075004731449788926057474178522274045397716648546552378186020081191136069287102597834860181460384852545885797355418434584988883457021884088877623436855855334317571560805878531116764427085653208108586655453726023133099678937076022048703221668070859097735517539828215165435729186426968010307054528073781069057634385986995297505353401721376446638356593644601831261894002028529206433623662402946295206022511227353869780282890260065840755081671768348661988686399557061380862908599136070773361510342393159047792023169308297928721614669060919183469017375119583807051015133339925098564566486557957697444630680215949315785864661444966395199600317240841947029493971740197541815580389969821309497007191510072422325088918347872745460914262415642628721892146883804545977936271063427799297314402473635730908755919812690633986360355653540412326358405674471398489677561833663618643805175388124513109610297318291951591449010444162367451825539015345355981230709955355444285222327213102254936243415945062263784752078307688392751798228264781153610127844078207330256293239033570561339405452933670033530614844103744890220305428612306098248961273658399721048594690511509234928843152562418698047142743014609201497605321119064100027455085158930436080694352960837030711269118358804749235494194887953829949951327267182394169075809653349660758999136579658546971855962338590743854398913280151486713194582313054722666684847349169417106324558060499743187909254064270553275015705147445561545498616984834707597393276800759063752342659159852799187588295602253364290602792508356607303676769340921505586599824551883549618713721739871514225789253521027079785305523015067738089440240320473126462842810885607969326970417531161031978352819957831045780820869403053184292565778 219274328407070776238781164954581701382816893188920814904866645134955834949630554598036113485965904441019276089165121353001451958767497943267109241088704572979025216789800634176118073815616226640145746634459739132520063806324857030315979523479953187330408527695434086697118950391741384572185384236533595487754125014927091739527682574353529572538999851171282278460758857289518541655982716355481836395541405557237342151143745792977395763979218964801745901185893204126861908634931689930006746572127629772752351541025313910577160950098338873202424263902969426509743973734712642768472019053409026779579699694952389285639447848039380662721328148963092659281967420614086705749712090860674731801393574906174868067131704815006306991404188540033241822601603578477449663709720303347279646972159847193626918851717289039483717380644935158727745371503445128231972504254354340820510163789835948167325668828813988033828162647163498572494065387487231281765769275901082971589358585178666383861996820248380914351575190306379453900071460576668584177849789771819085533406843321684066255017196784137303091131577747787201186358382807803986833984717863715682134568651445146194656997806311086634199345994166440433472998228312274852900370342814936296299336269147785502025435639865660408273912735182909155896765343251500263597049187033987394920690500355916750515284886284891115445076753619133969594239594901510000105126111429322822131169145573377144086409617625625819184646797603488874314855413144909647712093413887063323213064349557546526920741152908219949210416719432758707601966320400370627694444964345744712232910164642373837503393234701225285145248436446704878450204616908681400354330996626684643265023406319590546564062029355613112726819400916111810580559121788528111980169069175530651344892953069227992395415626813528800531823228115021141960938892249949489675324377684426608783327910244011153827044432048147234187891570191135933342939594628559349110677916651918672492939888167745985406313378317297986446125068845011728570425255104319886634486962034085559204527458283525558924731922854476123189062553360408223802639420308458890819689342300400600820338849303966878063339467931799973562682427564066651287979666508751924349 354793316222947104691873791170024408586904250536210998173331626573700364032307809782718757964604871713873170732983918129895348421664231263208669871404934551558068787586870871308053425910283521338157810204763938009422997672011403713402139744891020765880655377085464425446861498362513611153153517787806638719008561757609272426349105297546423185473599580194229158316173939510248534255228840350971485321361610221960004924591549246923721782209170015490503934766713787827936913366381478856064220750649903818150068189571866288763181031289474942489526861737829607970128826280598440123890453638397910236601583783830012722495303182356952223527206680079857086367620628722673361203438113993774410738469596954878089735202563912741824531232403705468971009028571588784504191783501372404914032959155144698980320573093735677840311025246766420621747400032651561855634907200649546843021391143705728450215928894654743115499930995825487258893622448868094190364905346674444481931751744226458407031305118177102529020636109489848471275191044383719599311189714870383652019964801019128696935233146099923167752576544142986801503599224754833480805724915405531262524538472754643201848507878733411723117693866911901347735413870940996745047254147360914232570399696947082816427909275596569164193725425816895516252418883663826622002723658432477072482524163974560555690673010798000725742395045570725418604683757268961825644141456785304052841124501017662366413622719880562062600591859867273626393163101537661445940358195040673451057142556887802820159774723469559354663350389466289322446070065290590933123057270443993673506568564363422432193904743936154128297810855144752021193219226110179005675450060726712098350182336755671240917022866386324381845178205665347304775447075618478063307436251569699727154546302729986991531995285360500656494161818858875540874219043736662684257637432407093293630677079661117478385104931791335143441955840744410949048087040190104847727662751359516065769740647231498328065473231116485574741727322209302331362933611711623563403827883539672159029079341833144272646471794368701912442583580440193529325654488046548331060009815426863443631224457273293848480870628963778326382640258609847472157382719693044490127 574067644630017880930654956124606109969721143725131813078198271708656198981938364380754871450570776154892446822149039482896800380431729206475779112493639124537094004376671505484171499725899747978303556839223677141943061478336260743718119268370973953211063904780898512143980448754254995725338902024340234206762686772536364165876787871899952758012599431365511436776932796799767075911211556706453321716903015779197347075735295039901117546188388980292249835952606991954798822001313168786070967322777533590902419730597180199340341981387813815691951125640799034479872800015311082892362472691806937016181283478782402008134751030396332886248534829042949745649588049336760066953150204854449142539863171861052957802334268727748131522636592245502212831630175167261953855493221675752193679931314991892607239424811024717324028405891701579349492771536096690087607411455003887663531554933541676617541597723468731149328093642988985831387687836355325472130674622575527453521110329405124790893301938425483443372211299796227925175262504960388183489039504642202737553371644340812763190250342884060470843708121890774002689957607562637467639709633269246944659107124199789396505505685044498357317039861078341781208412099253271597947624490175850528869735966094868318453344915462229572467638160999804672149184226915326885599772845466464467403214664330477306205957897082891841187471799189859388198923352170471825749267568214626874972293646591039510500032337506187881785238657470762500708018514682571093652451608927736774270206906445349347080515876377779303873767108899048030048036385690961560817502234789738385739478729005796269697297978637379413443059291591456899643423843018860406029781057353396741615205743075261787481084895741937494571997606581459115356006197407006175287605320745230378499439255799214983927410912174029457025985046973896682835157935986612173932961810091519902414004989905128632212149363839482377629847410935546882391026634818664196838340668011434738262680535399244313471786609433783561187852391054314059933358866815943450038314845573757718233606800116669831571203717223178035631646133800601753128293908355007221879699157727264044451563306577260726544210096895578299945322686173914123445362386201796414476 928860960852964985622528747294630518556625394261342811251529898282356563014246174163473629415175647868765617555132957612792148802095960469684448983898573676095162791963542376792224925636183269316461367043987615151366059150347664457120259013261994719091719281866362937590841947116768606878492419812146872925771248530145636592225893169446375943486199011559740595093106736310015610166440397057424807038264626001157352000326844286824839328397558995782753770719320779782735735367694647642135188073427437409052487920169046488103523012677288758181477987378628642450001626295909523016252926330204847252782867262612414730630054212753285109775741509122806832017208678059433428156588318848223553278332768815931047537536832640489956053868995950971183840658746756046458047276723048157107712890470136591587559997904760395164339431138467999971240171568748251943242318655653434506552946077247405067757526618123474264828024638814473090281310285223419662495579969249971935452862073631583197924607056602585972392847409286076396450453549344107782800229219512586389573336445359941460125483488983983638596284666033760804193556832317470948445434548674778207183645596954432598354013563777910080434733727990243128943825970194268342994878637536764761440135663041951134881254191058798736661363586816700188401603110579153507602496503898941539885738828305037861896630907880892566929866844760584806803607109439433651393409024999930927813418147608701876913655057386749944385830517338036127101181616220232539592809803968410225327349463333152167240290599847338658537117498365337352494106450981552493940559505233732059246047293369218701891202722573533541740870146736208920836643069129039411705231118080108839965388079830933028398107762128261876417175812246806420131453273025484238595041572314930105653985558529201975459406197534530113520146865832772223709376979723274858190599242498613196044682069566246110597254295630817521071803251679957831439113675008769044566003419370950804032421182630742641537259840550269135929579713263616391296292478527567013442142729113429877262686141949814104217675511591879948074229714240795282453948396401555552939708973154127488082787763850554575025080725859356626327962944783761595602745105894840904603 1502928605482982866553183703419236628526346537986474624329728169991012761996184538544228500865746424023658064377281997095688949182527689676160228096392212800632256796340213882276396425362083017294764923883211292293309120628683925200838378281632968672302783186647261449734822395871023602603831321836487107132533935302682000758102681041346328701498798442925252031870039533109782686077651953763878128755167641780354699076062139326725956874585947976075003606671927771737534557369007816428206155396204970999954907650766226687443864994065102573873429113019427676929874426311220605908615399022011784268964150741394816738764805243149617996024276338165756577666796727396193495109738523702672695818195940676984005339871101368238087576505588196473396672288921923308411902769944723909301392821785128484194799422715785112488367837030169579320732943104844942030849730110657322170084501010789081685299124341592205414156118281803458921668998121578745134626254591825499388973972403036707988817908995028069415765058709082304321625716054304495966289268724154789127126708089700754223315733831868044109439992787924534806883514439880108416085144181944025151842752721154221994859519248822408437751773589068584910152238069447539940942503127712615290309871629136819453334599106521028309129001747816504860550787337494480393202269349365406007288953492635515168102588804963784408117338643950444195002530461609905477142676593214557802785711794199741387413687394892937826171069174808798627809200130902803633245261412896146999597556369778501514320806476225117962410884607264385382542142836672514054758061740023470444985526022375014971588500701210912955183929438327665820480066912147899817735012175433505581580593822906194815879192657870199370989173418828265535487459470432490413882646893060160484153424814328416959386817109708559570546131912806668906544534915709887032123561052590133098458687059471374742809403659470299898701650662615504713830140309827433241404344087382385542295101718029986955009046449984052697117432104317930451229651345343510463480457574687187595496292942066483935788879228815057983705875848041397035582242304756562774819408130881391532534351070427815301569290822754934926273285630957675719048107492096637319079 2431789566335947852175712450713867147082971932247817435581258068273369325010430712707702130280922071892423681932414954708481097984623650145844677080290786476727419588303756259068621350998266286611226290927198907444675179779031589657958637294894963391394502468513624387325664342987792209482323741648633980058305183832827637350328574210792704644984997454484992626963146269419798296244092350821302935793432267781512051076388983613550796202983506971857757377391248551520270292736702464070341343469632408409007395570935273175547388006742391332054907100398056319379876052607130128924868325352216631521747018004007231469394859455902903105800017847288563409684005405455626923266326842550896249096528709492915052877407934008728043630374584147444580512947668679354869950046667772066409105712255265075782359420620545507652707268168637579291973114673593193974092048766310756676637447088036486753056650959715679678984142920617932011950308406802164797121834561075471324426834476668291186742516051630655388157906118368380718076169603648603749089497943667375516700044535060695683441217320852027748036277453958295611077071272197579364530578730618803359026398318108654593213532812600318518186507317058828039096064039641808283937381765249380051750007292178770588215853297579827045790365334633205048952390448073633900804765853264347547174692320940553029999219712844676975047205488711029001806137571049339128536085618214488730599129941808443264327342452279687770556899692146834754910381747123036172838071216864557224924905833111653681561097076072456620948002105629722735036249287654066548698621245257202504231573315744233673479703423784446496924799585063874741316709981276939229440243293513614421545981902737127844277300419998461247406349231075071955618912743457974652477688465375090589807410372857618934846223307243089684066278778639441130253911895433161890314160295088746294503369129037620853406657955101117419773453914295462545269253984836202285970347506753336346327522900660729596546306290534321833047011817581546842525943823871077476922600303800617472758979084016298040006554740406937931780105562282192318036190701158118327759117104035519020617138834278369876594371548614291552601248575741437314650852597991478223682 3934718171818930718728896154133103775609318470234292059910986238264382087006615251251930631146668495916081746309696951804170047167151339822004905176682999277359676384643970141345017776360349303905991214810410199737984300407715514858797015576527932063697285655160885837060486738858815812086155063485121087190839119135509638108431255252139033346483795897410244658833185802529580982321744304585181064548599909561866750152451122940276753077569454947932760984063176323257804850105710280498547498865837379408962303221701499862991253000807493905928336213417483996309750478918350734833483724374228415790711168745402048208159664699052521101824294185454319987350802132851820418376065366253568944914724650169899058217279035376966131206880172343917977185236590602663281852816612495975710498534040393559977158843336330620141075105198807158612706057778438136004941778876968078846721948098825568438355775301307885093140261202421390933619306528380909931748089152900970713400806879704999175560425046658724803922964827450685039701885657953099715378766667822164643826752624761449906756951152720071857476270241882830417960585712077687780615722912562828510869151039262876588073052061422726955938280906127412949248302109089348224879884892961995342059878921315590041550452404100855354919367082449709909503177785568114294007035202629753554463645813576068198101808517808461383164544132661473196808668032659244605678762211429046533384841736008184651741029847172625596727968866955633382719581878025839806083332629760704224522462202890155195881903552297574583358886712894108117578392124326580603456682985280672949217099338119248645068204124995359452108729023391540561796776893424839047175255468947120003126575725643322660156493077868660618395522649903337491106372213890465066360335358435251073960835187186035894233040416951649254612410691446110036798446811143048922437721347678879392962056188508995596216061614571417318475104576910967259099394294663635527374691594135721888622624618690716551555352740518374530164443921899477293755595169214587940403057878487805068255272026082781975795433969221995915485981410323589353618433005914681102578525234916910553151489904706185178163662371369226478874534206699113033698960090088115542761 6366507738154878570904608604846970922692290402482109495492244306537751412017045963959632761427590567808505428242111906512651145151774989967849582256973785754087095972947726400413639127358615590517217505737609107182659480186747104516755652871422895455091788123674510224386151081846608021568478805133755067249144302968337275458759829462931737991468793351895237285796332071949379278565836655406484000342032177343378801228840106553827549280552961919790518361454424874778075142842412744568888842335469787817969698792636773038538641007549885237983243313815540315689626531525480863758352049726445047312458186749409279677554524154955424207624312032742883397034807538307447341642392208804465194011253359662814111094686969385694174837254756491362557698184259282018151802863280268042119604246295658635759518263956876127793782373367444737904679172452031329979033827643278835523359395186862055191412426261023564772124404123039322945569614935183074728869923713976442037827641356373290362302941098289380192080870945819065757778055261601703464468264611489540160526797159822145590198168473572099605512547695841126029037656984275267145146301643181631869895549357371531181286584874023045474124788223186240988344366148731156508817266658211375393809886213494360629766305701680682400709732417082914958455568233641748194811801055894101101638338134516621228101028230653138358211749621372502198614805603708583734214847829643535263983971677816627916068372299452313367284868559102468137629963625148875978921403846625261449447368036001808877443000628370031204306888818523830852614641411980647152155304230537875453448672653863482318547907548779805949033528608455415303113486874701778276615498762460734424672557628380450504433793497867121865801871880978409446725284957348439718838023823810341663768245560043654829079263724194738938678689470085551167052358706576210812751881642767625687465425317546616449622719569672534738248558491206429804368648279499837813345039100889058234950147519351446148101659031052696363211455739481024136281538993085665417325658182288422541014251110099080015801988709628933847266086972605781671654623707072799430337642338952429573768628738984555054758033919983518031475782782440550348349812688079593766443 10301225909973809289633504758980074698301608872716401555403230544802133499023661215211563392574259063724587174551808858316821192318926329789854487433656785031446772357591696541758656903718964894423208720548019306920643780594462619375552668447950827518789073778835396061446637820705423833654633868618876154439983422103846913567191084715070771337952589249305481944629517874478960260887580959991665064890632086905245551381291229494104302358122416867723279345517601198035879992948123025067436341201307167226932002014338272901529894008357379143911579527233024311999377010443831598591835774100673463103169355494811327885714188854007945309448606218197203384385609671159267760018457575058034138925978009832713169311966004762660306044134928835280534883420849884681433655679892764017830102780336052195736677107293206747934857478566251896517385230230469465983975606520246914370081343285687623629768201562331449865264665325460713879188921463563984660618012866877412751228448236078289537863366144948104996003835773269750797479940919554803179847031279311704804353549784583595496955119626292171462988817937723956446998242696352954925762024555744460380764700396634407769359636935445772430063069129313653937592668257820504733697151551173370735869765134809950671316758105781537755629099499532624867958746019209862488818836258523854656101983948092689426202836748461599741376293754033975395423473636367828339893610041072581797368813413824812567809402146624938964012837426058101520349545503174715785004736476385965673969830238891964073324904180667605787665775531417938970193033536307227755611987215818548402665771991982730963616111673775165401142257631846955864910263768126617323790754231407854427799133354023773164590286575735782484197394530881746937831657171238904785198359182245592737729080747229690723312304141146388193291100161531661203850805517719259735189602990446505080427481506055612045838781184243952056723663068117397063468042574163473340719730695024780123572772138042162699657011771571070893375899661380501430037134162300253357728716060776227609269523136181861991597422678850929762752068382929371025273056712987480532916167573869340126920118643690740232921696291352744510350316989139663382048772778167709309204 16667733648128687860538113363827045620993899275198511050895474851339884911040707179171196154001849631533092602793920764829472337470701319757704069690630570785533868330539422942172296031077580484940426226285628414103303260781209723892308321319373722973880861902509906285832788902552031855223112673752631221689127725072184189025950914178002509329421382601200719230425849946428339539453417615398149065232664264248624352610131336047931851638675378787513797706972026072813955135790535769636325183536776955044901700806975045940068535015907264381894822841048564627689003541969312462350187823827118510415627542244220607563268713008963369517072918250940086781420417209466715101660849783862499332937231369495527280406652974148354480881389685326643092581605109166699585458543173032059949707026631710831496195371250082875728639851933696634422064402682500795963009434163525749893440738472549678821180627823355014637389069448500036824758536398747059389487936580853854789056089592451579900166307243237485188084706719088816555257996181156506644315295890801244964880346944405741087153288099864271068501365633565082476035899680628222070908326198926092250660249754005938950646221809468817904187857352499894925937034406551661242514418209384746129679651348304311301083063807462220156338831916615539826414314252851610683630637314417955757740322082609310654303864979114738099588043375406477594038279240076412074108457870716117061352785091641440483877774446077252331297705985160569657979509128323591763926140323011227123417198274893772950767904809037636991972664349941769822807674948287874907767291446356423856114444645846213282164019222554971350175786240302371168023750642828395600406252993868588852471690982404223669024080073602904349999266411860156384556942128587344504036383006055934401497326307273345552391567865341127131969789631617212370903164224295470547941484633214130767892906823602228495461500753916486794972221559323826867836690853663311154064769795913838358522919657393608847758670802623767256587355400861525566318673155385918775054374243064650150283774246280942007399411388479863610018155355535152696927680420060279963253809912821769700688747382675295287679730211336262541826099771580213730398585466247303075647 26968959558102497150171618122807120319295508147914912606298705396142018410064368394382759546576108695257679777345729623146293529789627649547558557124287355816980640688131119483930952934796545379363634946833647721023947041375672343267860989767324550492669935681345302347279426723257455688877746542371507376129111147176031102593141998893073280667373971850506201175055367820907299800340998575389814130123296351153869903991422565542036153996797795655237077052489627270849835128738658794703761524738084122271833702821313318841598429024264643525806402368281588939688380552413144060942023597927791973518796897739031935448982901862971314826521524469137290165806026880625982861679307358920533471863209379328240449718618978911014786925524614161923627465025959051381019114223065796077779809806967763027232872478543289623663497330499948530939449632912970261946985040683772664263522081758237302450948829385686464502653734773960750703947457862311044050105949447731267540284537828529869438029673388185590184088542492358567352737937100711309824162327170112949769233896728989336584108407726156442531490183571289038923034142376981176996670350754670552631424950150640346720005858744914590334250926481813548863529702664372165976211569760558116865549416483114261972399821913243757911967931416148164694373060272061473172449473572941810413842306030702000080506701727576337840964337129440452989461752876444240414002067911788698858721598505466253051687176592702191295310543411218671178329054631498307548930876799397192797387028513785737024092808989705242779638439881359708793000708484595102663379278662174972258780216637828944245780130896330136751318043872149327032934014410955012924197007225276443280270824336427996833614366649338686834196660942741903322388599299826249289234742188301527139226407054503036275703872006487515325260889793148873574753969742014730283131087623660635848320388329657840541300281938160438851695884627441223931304733427826784494784500490938618482095691795435771547415682574194838149963255062242026996355807317686172132783090303840877759553297382462803998996834067330793372770223738464523722200737133047760496169977486691109827608866026366035520601426502689007052176416760719877112447358244415012384851 43636693206231185010709731486634165940289407423113423657194180247481903321105075573553955700577958326790772380139650387975765867260328969305262626814917926602514509018670542426103248965874125864304061173119276135127250302156882067160169311086698273466550797583855208633112215625809487544100859216124138597818238872248215291619092913071075789996795354451706920405481217767335639339794416190787963195355960615402494256601553901589968005635473174442750874759461653343663790264529194564340086708274861077316735403628288364781666964040171907907701225209330153567377384094382456523292211421754910483934424439983252543012251614871934684343594442720077376947226444090092697963340157142783032804800440748823767730125271953059369267806914299488566720046631068218080604572766238828137729516833599473858729067849793372499392137182433645165361514035595471057909994474847298414156962820230786981272129457209041479140042804222460787528705994261058103439593886028585122329340627420981449338195980631423075372173249211447383907995933281867816468477623060914194734114243673395077671261695826020713599991549204854121399070042057609399067578676953596644882085199904646285670652080554383408238438783834313443789466737070923827218725987969942862995229067831418573273482885720705978068306763332763704520787374524913083856080110887359766171582628113311310734810566706691075940552380504846930583500032116520652488110525782504815920074383597107693535564951038779443626608249396379240836308563759821899312857017122408419920804226788679509974860713798742879771611104231301478615808383432882977571146570108531396114894661283675157527944150118885108101493830112451698200957765053783408524603260219145032132742515318832220502638446722941591184195927354602059706945541428413593793271125194357461540723733361776381828095439871828642457230679424766085945657133966310200831072572256874766616213295153260069036761782692076925646668106186765050799141424281490095648849270286852456840618611452829380395174353376818605406550610463103552562674480473072090907837464546905527909837071628743746006396245455810656982788379093999676419128417553108040459423787399512879528297613409041330808281156714025269594002516532300090842845943710662315460498 70605652764333682160881349609441286259584915571028336263492885643623921731169443967936715247154067022048452157485380011122059397049956618852821183939205282419495149706801661910034201900670671243667696119952923856151197343532554410428030300854022823959220733265200510980391642349066943232978605758495645973947350019424246394212234911964149070664169326302213121580536585588242939140135414766177777325479256966556364160592976467132004159632270970097987951811951280614513625393267853359043848233012945199588569106449601683623265393064436551433507627577611742507065764646795600584234235019682702457453221337722284478461234516734905999170115967189214667113032470970718680825019464501703566276663650128152008179843890931970384054732438913650490347511657027269461623686989304624215509326640567236885961940328336662123055634512933593696300963668508441319856979515531071078420484901989024283723078286594727943642696538996421538232653452123369147489699835476316389869625165249511318776225654019608665556261791703805951260733870382579126292639950231027144503348140402384414255370103552177156131481732776143160322104184434590576064249027708267197513510150055286632390657939299297998572689710316126992652996439735295993194937557730500979860778484314532835245882707633949735980274694748911869215160434796974557028529584460301576585424934144013310815317268434267413781516717634287383572961784992964892902112593694293514778795982102573946587252127631481634921918792807597912014637618391320206861787893921805612718191255302465246998953522788448122551249544112661187408809091917478080234525848770706368373674877921504101773724281015215244852811873984601025233891779464738421448800267444421475413013339655260217336252813372280278018392588297343963029334140728239843082505867382658988679950140416279418103799311878316157782491569217914959520411103708324931114203659880535402464533683482917909578062064630237364498363990814206274730446157709316880143633770777791075322714303248265151942590035951013443556513865525345579559030287790758263040620554850746405669390369011206550005393079523141450355558602832464200141329154686155800955593764886203989355906479435407366328882583216714276646178933293019967955293301955077327845349 114242345970564867171591081096075452199874322994141759920687065891105825052274519541490670947732025348839224537625030399097825264310285588158083810754123209022009658725472204336137450866544797107971757293072199991278447645689436477588199611940721097425771530849055719613503857974876430777079464974619784571765588891672461685831327825035224860660964680753920041986017803355578578479929830956965740520835217581958858417194530368721972165267744144540738826571412933958177415657797047923383934941287806276905304510077890048404932357104608459341208852786941896074443148741178057107526446441437612941387645777705537021473486131606840683513710409909292044060258915060811378788359621644486599081464090876975775909969162885029753322539353213139057067558288095487542228259755543452353238843474166710744691008178130034622447771695367238861662477704103912377766973990378369492577447722219811264995207743803769422782739343218882325761359446384427250929293721504901512198965792670492768114421634651031740928435040915253335168729803664446942761117573291941339237462384075779491926631799378197869731473281980997281721174226492199975131827704661863842395595349959932918061310019853681406811128494150440436442463176806219820413663545700443842856007552145951408519365593354655714048581458081675573735947809321887640884609695347661342757007562257324621550127835140958489722069098139134314156461817109485545390223119476798330698870365699681640122817078670261078548527042203977152850946182151142106174644911044214032638995482091144756973814236587191002322860648343962666024617475350361057805672418879237764488569539205179259301668431134100352954305704097052723434849544518521829973403527663566507545755854974092437838891260095221869202588515651946022736279682156653436875776992577016450220673873778055799931894751750144800239722248642681045466068237674635131945276232137410169080746978636177978614823847322314290145032097000971325529587581990806975792483041064643532163332914701094532337764389327832048963064475988449132121704768263830353948458019397651933579227440639950296011789324978952107338346981926463876560457572239263841415017552285716868884204092844448697137163739930739546240181449825320058798139245665739643305847 184847998734898549332472430705516738459459238565170096184179951534729746783443963509427386194886092370887676695110410410219884661360242207010904994693328491441504808432273866246171652767215468351639453413025123847429644989221990888016229912794743921384992264114256230593895500323943374010058070733115430545712938911096708080043562736999373931325134007056133163566554388943821517620065245723143517846314474548515222577787506835853976324900015114638726778383364214572691041051064901282427783174300751476493873616527491732028197750169045010774716480364553638581508913387973657691760681461120315398840867115427821499934720648341746682683826377098506711173291386031530059613379086146190165358127741005127784089813053817000137377271792126789547415069945122757003851946744848076568748170114733947630652948506466696745503406208300832557963441372612353697623953505909440570997932624208835548718286030398497366425435882215303863994012898507796398418993556981217902068590957920004086890647288670640406484696832619059286429463674047026069053757523522968483740810524478163906182001902930375025862955014757140442043278410926790551196076732370131039909105500015219550451967959152979405383818204466567429095459616541515813608601103430944822716786036460484243765248300988605450028856152830587442951108244118862197913139279807962919342432496401337932365445103575225903503585815773421697729423602102450438292335713171091845477666347802255586710069206301742713470445835011575064865583800542462313036432804966019645357186737393610003972767759375639124874110192456623853433426567267839138040198267649944132862244417126683361075392712149315597807117578081653748668741323983260251422203795107987982958769194629352655175144073467502147220981103949289985765613822884893279958282859959675438900624014194335218035694063628460958022213817860596004986479341382960063059479892017945571545280662119095888192885911952551654643396087815177600260033739700123855936116811842434607486047217949359684280354425278845492519578341513794711680735056054588616989078574248398339248617809651156846017182404502093557693905584758928076701786726925419642370611317171920858240110572279856063466046323147453822886360383118340026753432547620816971151196 299090344705463416504063511801592190659333561559311856104867017425835571835718483050918057142618117719726901232735440809317709925670527795168988805447451700463514467157746070582309103633760265459611210706097323838708092634911427365604429524735465018810763794963311950207399358298819804787137535707735215117478527802769169765874890562034598791986098687810053205552572192299400096099995076680109258367149692130474080994982037204575948490167759259179465604954777148530868456708861949205811718115588557753399178126605381780433130107273653470115925333151495534655952062129151714799287127902557928340228512893133358521408206779948587366197536787007798755233550301092341438401738707790676764439591831882103559999782216702029890699811145339928604482628233218244546080206500391528921987013588900658375343956684596731367951177903668071419625919076716266075390927496287810063575380346428646813713493774202266789208175225434186189755372344892223649348287278486119414267556750590496855005068923321672147413131873534312621598193477711473011814875096814909822978272908553943398108633702308572895594428296738137723764452637418990526327904437031994882304700849975152468513277979006660812194946698617007865537922793347735634022264649131388665572793588606435652284613894343261164077437610912263016687056053440749838797748975155624262099440058658662553915572938716184393225654913912556011885885419211935983682558832647890176176536713501937226832886284972003792018972877215552217716529982693604419211077716010233677996182219484754760946581995962830127196970840800586519458044042618200195845870686529181897350813956331862620377061143283415950761423282178706472103590868501782081395607322771554490504525049603445093014035333562724016423569619601236008501893505041546716834059852536691889121297887972391017967588815378605758261936066503277050452547579057595195004756124155355740626027640755273866807709759274865944788428184816148925789621321690930831728599852907078139649380132650454216618118814606677541482642817502243843802439824318418970937536593646050272827845250291107142028971729481045665032252566685391953262244299164683483785628869457637727124314665124304760603210063078193369126541832943660085551571793286556614457043 483938343440361965836535942507108929118792800124481952289046968960565318619162446560345443337504210090614577927845851219537594587030770002179893800140780191905019275590019936828480756400975733811250664119122447686137737624133418253620659437530208940195756059077568180801294858622763178797195606440850645663191466713865877845918453299033972723311232694866186369119126581243221613720060322403252776213464166678989303572769544040429924815067774373818192383338141363103559497759926850488239501289889309229893051743132873512461327857442698480890641813516049173237460975517125372491047809363678243739069380008561180021342927428290334048881363164106305466406841687123871498015117793936866929797719572887231344089595270519030028077082937466718151897698178341001549932153245239605490735183703634606005996905191063428113454584111968903977589360449328619773014881002197250634573312970637482362431779804600764155633611107649490053749385243400020047767280835467337316336147708510500941895716211992312553897828706153371908027657151758499080868632620337878306719083433032107304290635605238947921457383311495278165807731048345781077523981169402125922213806349990372018965245938159640217578764903083575294633382409889251447630865752562333488289579625066919896049862195331866614106293763742850459638164297559612036710888254963587181441872555060000486281018042291410296729240729685977709615309021314386421974894545818982021654203061304192813542955491273746505489418712227127282582113783236066732247510520976253323353368956878364764919349755338469252071081033257210372891470609886039333886068954179126030213058373458545981452453855432731548568540860260360220772332192485042332817811117879542473463294244232797748189179407030226163644550723550525994267507327926439996792342712496367328021921902166726236003282879007066716284149884363873055439026920440555258064236016173301312171308302874369755000595671227417599431824272631326526049655061391054687664716664749512747135427350599813900898473239885523034002221159016038555483174880373007587926615167894448612076463059942263988046154133983139222726158151444320029964031026090103126156240186629558585364425237404160824069256386225647192012902216062000112305004340907373585608239 783028688145825382340599454308701119778126361683793808393913986386400890454880929611263500480122327810341479160581292028855304512701297797348882605588231892368533742747766007410789860034735999270861874825219771524845830259044845619225088962265673959006519854040880131008694216921582983584333142148585860780669994516635047611793343861068571515297331382676239574671698773542621709820055399083362034580613858809463384567751581245005873305235533632997657988292918511634427954468788799694051219405477866983292229869738255292894457964716351951006567146667544707893413037646277087290334937266236172079297892901694538542751134208238921415078899951114104221640391988216212936416856501727543694237311404769334904089377487221059918776894082806646756380326411559246096012359745631134412722197292535264381340861875660159481405762015636975397215279526044885848405808498485060698148693317066129176145273578803030944841786333083676243504757588292243697115568113953456730603704459100997796900785135313984701310960579687684529625850629469972092683507717152788129697356341586050702399269307547520817051811608233415889572183685764771603851885606434120804518507199965524487478523917166301029773711601700583160171305203236987081653130401693722153862373213673355548334476089675127778183731374655113476325220351000361875508637230119211443541312613718663040196590981007594689954895643598533721501194440526322405657453378466872197830739774806130040375841776245750297508391589442679500298643765929671151458588236986487001349551176363119525865931751301299379268051874057796892349514652504239529731939640708307927563872329790408601829514998716147499329964142439066692875923060986824414213418440651096963967819293836242841203214740592950180068120343151762002769400832967986713626402565033059217143219790139117253970871694385672474546085950867150105891574499498150453068992140328657052797335943629643621808305430502283544220252457447475451839276383081985519393316517656590886784807483250268117516592054492200575484863976518282399285614704691426558864151761540498884904308310233371130075125863464184887758410718129711983226275325254786609941869056087196312488739902528465584672466449303840561139444049005660197856576134193930200065282 1266967031586187348177135396815810048896919161808275760682960955346966209074043376171608943817626537900956057088427143248392899099732067799528776405729012084273553018337785944239270616435711733082112538944342219210983567883178263872845748399795882899202275913118448311809989075544346162381528748589436506443861461230500925457711797160102544238608564077542425943790825354785843323540115721486614810794078025488452688140521125285435798120303308006815850371631059874737987452228715650182290720695367176213185281612871128805355785822159050431897208960183593881130874013163402459781382746629914415818367272910255718564094061636529255463960263115220409688047233675340084434431974295664410624035030977656566248178972757740089946853977020273364908278024589900247645944512990870739903457380996169870387337767066723587594860346127605879374804639975373505621420689500682311332722006287703611538577053383403795100475397440733166297254142831692263744882848949420794046939852167611498738796501347306297255208789285841056437653507781228471173552140337490666436416439774618158006689904912786468738509194919728694055379914734110552681375866775836246726732313549955896506443769855325941247352476504784158454804687613126238529283996154256055642151952838740275444384338285006994392290025138397963935963384648559973912219525485082798624983185168778663526477609023299004986684136373284511431116503461840708827632347924285854219484942836110322853918797267519496802997810301669806782880757549165737883706098757962740324702920133241484290785281506639768631339132907315007265240985262390278863618008594887433957776930703248954583281968854148879047898505002699426913648255253471866747031229558530639437431113538069040589392394147623176343712671066702287997036908160894426710418745277529426545165141692305843489974154573392739190830235835231023161330601419938705711133228156501958364968644246504013376808901101729701143652076730078801977888931444473040207058033182406103633920234833850082018415065294377723609487085135534320954768789585064434146790766929434947496980771370175635118121279997447324110484568869574032013190306351344889736098109242716754897853165139932626408741722835529487753152346265067660310161580475101303785673521 2049995719732012730517734851124511168675045523492069569076874941733367099528924305782872444297748865711297536249008435277248203612433365596877659011317243976642086761085551951650060476470447732352974413769561990735829398142223109492070837362061556858208795767159328442818683292465929145965861890738022367224531455747135973069505141021171115753905895460218665518462524128328465033360171120569976845374691884297916072708272706530441671425538841639813508359923978386372415406697504449876341940100845043196477511482609384098250243786875402382903776106851138589024287050809679547071717683896150587897665165811950257106845195844768176879039163066334513909687625663556297370848830797391954318272342382425901152268350244961149865630871103080011664658351001459493741956872736501874316179578288705134768678628942383747076266108143242854772019919501418391469826497999167372030870699604769740714722326962206826045317183773816842540758900419984507441998417063374250777543556626712496535697286482620281956519749865528740967279358410698443266235648054643454566113796116204208709089174220333989555561006527962109944952098419875324285227752382270367531250820749921420993922293772492242277126188106484741614975992816363225610937126555949777796014326052413630992718814374682122170473756513053077412288604999560335787728162715202010068524497782497326566674200004306599676639032016883045152617697902367031233289801302752726417315682610916452894294639043765247100506201891112486283179401315095409035164686994949227326052471309604603816651213257941068010607184781372804157590499914894518393349948235595741885340803033039363185111483852865026547228469145138493606524178314458691161244647999181736401398932831905283430595608888216126523780791409854049999806308993862413424045147842562485762308361482444960743945026267778411665376321786098173267222175919436856164202220296830615417765980190133656998617206532231984687872329187526277429728207827555025726451349700062694520705042317100350135931657348869924184971949112052603354054404289755860705654918690975446381885079680409006248196405860911508998242979587703743996416581676599676346039978298803951210341905042461091993414189284833328314291790314073320508018156609295233985738803 3316962751318200078694870247940321217571964685300345329759835897080333308602967681954481388115375403612253593337435578525641102712165433396406435417046256060915639779423337895889331092906159465435086952713904209946812966025401373364916585761857439757411071680277776754628672368010275308347390639327458873668392916977636898527216938181273659992514459537761091462253349483114308356900286842056591656168769909786368760848793831815877469545842149646629358731555038261110402858926220100058632660796212219409662793095480512903606029609034452814800985067034732470155161063973082006853100430526065003716032438722205975670939257481297432342999426181554923597734859338896381805280805093056364942307373360082467400447323002701239812484848123353376572936375591359741387901385727372614219636959284875005156016396009107334671126454270848734146824559476791897091247187499849683363592705892473352253299380345610621145792581214550008838013043251676771186881266012795044824483408794323995274493787829926579211728539151369797404932866191926914439787788392134121002530235890822366715779079133120458294070201447690804000332013153985876966603619158106614257983134299877317500366063627818183524478664611268900069780680429489464140221122710205833438166278891153906437103152659689116562763781651451041348251989648120309699947688200284808693507682951275990093151809027605604663323168390167556583734201364207740060922149227038580636800625447026775748213436311284743903504012192782293066060158864261146918870785752911967650755391442846088107436494764580836641946317688687811422831485177284797256967956830483175843117733736288317768393452707013905595126974147837920520172433567930557908275877557712375838830046369974324019988003035839302867493462476556337996843217154756840134463893120091912307473503174750804233919180841171150856206557621329196428552777339375561875335448453332573782734624436637670375426107633961685831524405917605079407617139272028065933509382882468798154625277150950432154346722643247647794459034247586924308823193874820294852445685620410393878865851050584641366317685858358833108727548457277776009606888027944566082138087541520706108195070182393718402155912120362816067444136579140980818179737084396537771412324 5366958471050212809212605099064832386247010208792414898836710838813700408131891987737353832413124269323551129586444013802889306324598798993284094428363500037557726540508889847539391569376607197788061366483466200682642364167624482856987423123918996615619867447437105197447355660476204454313252530065481240892924372724772871596722079202444775746420354997979756980715873611442773390260457962626568501543461794084284833557066538346319140971380991286442867091479016647482818265623724549934974600897057262606140304578089897001856273395909855197704761173885871059179448114782761553924818114422215591613697604534156232777784453326065609222038589247889437507422485002452679176129635890448319260579715742508368552715673247662389678115719226433388237594726592819235129858258463874488535816537573580139924695024951491081747392562414091588918844478978210288561073685499017055394463405497243092968021707307817447191109764988366851378771943671661278628879683076169295602026965421036491810191074312546861168248289016898538372212224602625357706023436446777575568644032007026575424868253353454447849631207975652913945284111573861201251831371540376981789233955049798738494288357400310425801604852717753641684756673245852689751158249266155611234180604943567537429821967034371238733237538164504118760540594647680645487675850915486818762032180733773316659826009031912204339962200407050601736351899266574771294211950529791307054116308057943228642508075355049991004010214083894779349239560179356555954035472747861194976807862752450691924087708022521904652553502470060615580421985092179315650317905066078917728458536769327680953504936559878932142355443292976414126696611882389249069520525556894112240228979201879607450583611924055429391274253886410387996649526148619253558509040962654398069781864657195764977864207108949562521582879407427369695774953258812418039537668750163189200500604626771327374043314166193670519396735105131356837345347099583091659960732582531492675330319468050782290278379992117571979430983359639527662877598164576155558100604311385840260750930730993647614514091719270342106970528044981520006023469704544242428178065840324657318536975224854810395570101405196144381735926893214301326197893693691771757151127 8683921222368412887907475347005153603818974894092760228596546735894033716734859669691835220528499672935804722923879592328530409036764232389690529845409756098473366319932227743428722662282766663223148319197370410629455330193025856221904008885776436373030939127714881952076028028486479762660643169392940114561317289702409770123939017383718435738934814535740848442969223094557081747160744804683160157712231703870653594405860370162196610517223140933072225823034054908593221124549944649993607261693269482015803097673570409905462303004944308012505746240920603529334609178755843560777918544948280595329730043256362208448723710807363041565038015429444361105157344341349060981410440983504684202887089102590835953162996250363629490600567349786764810531102184178976517759644191247102755453496858455145080711420960598416418519016684940323065669038455002185652320872998866738758056111389716445221321087653428068336902346202916860216784986923338049815760949088964340426510374215360487084684862142473440379976828168268335777145090794552272145811224838911696571174267897848942140647332486574906143701409423343717945616124727847078218434990698483596047217089349676055994654421028128609326083517329022541754537353675342153891379371976361444672346883834721443866925119694060355296001319815955160108792584295800955187623539115771627455539863685049306752977818059517809003285368797218158320086100630782511355134099756829887690916933504970004390721511666334734907514226276677072415299719043617702872906258500773162627563254195296780031524202787102741294499820158748427003253470269464112907285861896562093571576270505615998721898389266892837737482417440814334646869045450319806977796403114606488079059025571853931470571614959894732258767716362966725993492743303376093692972934082746310377255367831946569211783387950120713377789437028756566124327730598187979914873117203495762983235229063408997749469421800155356350921141022736436244962486371611157593470115465000290829955596619001214444625102635365219773890017607226451971700792039396450410546289931796234139616781781578288980831777577629175215698076502259296015630357732488808510316153381845363426732045407248528797726013525558960449180063472355282144377630778088309528563451 14050879693418625697120080446069985990065985102885175127433257574707734124866751657429189052941623942259355852510323606131419715361363031382974624273773256136031092860441117590968114231659373861011209685680836611312097694360650339078891432009695432988650806575151987149523383688962684216973895699458421355454241662427182641720661096586163211485355169533720605423685096705999855137421202767309728659255693497954938427962926908508515751488604132219515092914513071556076039390173669199928581862590326744621943402251660306907318576400854163210210507414806474588514057293538605114702736659370496186943427647790518441226508164133428650787076604677333798612579829343801740157540076873953003463466804845099204505878669498026019168716286576220153048125828776998211647617902655121591291270034432035285005406445912089498165911579099031911984513517433212474213394558497883794152519516886959538189342794961245515528012111191283711595556930594999328444640632165133636028537339636396978894875936455020301548225117185166874149357315397177629851834661285689272139818299904875517565515585840029353993332617398996631890900236301708279470266362238860577836451044399474794488942778428439035127688370046776183439294026921194843642537621242517055906527488778288981296747086728431594029238857980459278869333178943481600675299390031258446217572044418822623412803827091430013343247569204268760056437999897357282649346050286621194745033241562913233033229587021384725911524440360571851764539279222974258826941731248634357604371116947747471955611910809624645947053322628809042583675455361643428557603766962641011300034807274943679675403325826771769879837860733790748773565657332709056047316928671500600319288004773733538921155226883950161650041970249377113990142269451995347251481975045400708447037232489142334189647595059070275899372316436183935820102683857000397954410785953658952183735833690180325123512735966349026870317876127867793082307833471194249253430848047531783505285916087051996734903482627482791753321000966865979634578390203972605968646894243182074400367712512571936595345869296899517322668604547240816021653827437033050938494219222170020745269020632103339193296114930755104830915990365569583470575524471780081285714578 22734800915787038585027555793075139593884959996977935356029804310601767841601611327121024273470123615195160575434203198459950124398127263772665154119183012234504459180373345334396836893942140524234358004878207021941553024553676195300795440895471869361681745702866869101599411717449163979634538868851361470015558952129592411844600113969881647224289984069461453866654319800556936884581947571992888816967925201825592022368787278670712362005827273152587318737547126464669260514723613849922189124283596226637746499925230716812780879405798471222716253655727078117848666472294448675480655204318776782273157691046880649675231874940791692352114620106778159717737173685150801138950517857457687666353893947690040459041665748389648659316853926006917858656930961177188165377546846368694046723531290490430086117866872687914584430595783972235050182555888214659865715431496750532910575628276675983410663882614673583864914457394200571812341917518337378260401581254097976455047713851757465979560798597493741928201945353435209926502406191729901997645886124600968710992567802724459706162918326604260137034026822340349836516361029555357688701352937344173883668133749150850483597199456567644453771887375798725193831380596536997533916993218878500578874372613010425163672206422491949325240177796414438978125763239282555862922929147030073673111908103871930165781645150947822346532938001486918376524100528139794004480150043451082435950175067883237423951098687719460819038666637248924179838998266591961699847989749407520231934371143044251987136113596727387241553142787557469586928925631107541464889628859203104871611077780559678397301715093664607617320278174605083420434702783028863025113331786107088398347030345587470391726841843844893908809686612343839983635012755371440944454909128147018824292600321088903401430983009190989277161753464940501944430414455188377869283903157154715166971062753589322872982157766504383221239017150604229327270319842805406846900963512532074335241512706053211179528585262848011527211018574092431606279182243369056379193184174978308539984494294150225576177646874528692538366681049500112037284185169521859448810372604015384172001066039351867991022128456314065280096053837924865614953155249868390814278029 36785680609205664282147636239145125583950945099863110483463061885309501966468362984550213326411747557454516427944526804591369839759490295155639778392956268370535552040814462925364951125601514385245567690559043633253650718914326534379686872905167302350332552278018856251122795406411848196608434568309782825469800614556775053565261210556044858709645153603182059290339416506556792022003150339302617476223618699780530450331714187179228113494431405372102411652060198020745299904897283049850770986873922971259689902176891023720099455806652634432926761070533552706362723765833053790183391863689272969216585338837399090901740039074220343139191224784111958330317003028952541296490594731410691129820698792789244964920335246415667828033140502227070906782759738175399812995449501490285337993565722525715091524312784777412750342174883004147034696073321427134079109989994634327063095145163635521600006677575919099392926568585484283407898848113336706705042213419231612483585053488154444874436735052514043476427062538602084075859721588907531849480547410290240850810867707599977271678504166633614130366644221336981727416597331263637158967715176204751720119178148625644972539977885006679581460257422574908633125407517731841176454614461395556485401861391299406460419293150923543354479035776873717847458942182764156538222319178288519890683952522694553578585472242377835689780507205755678432962100425497076653826200330072277180983416630796470457180685709104186730563106997820775944378277489566220526789720998041877836305488090791723942748024406352033188606465416366512170604380992750970022493395821844116171645885055503358072705040920436377497158138908395832194000360115737919072430260457607688717635035119321009312882068727795055558851656861720953973777282207366788195936884173547727271329832810231237591078578068261265176534069901124437764533098312188775823694689110813667350706896443769647996494893732853410091556893278472022409578153313999656100331811560063857840527428793105207914432067890330803280532019540958411240857572447341662347840078418160382940352206806722162171523516171428209861035285596740928058938012606554910387304591826185404917270086671455207184318243387069170111012044203494449085528679721648472099992607 59520481524992702867175192032220265177835905096841045839492866195911269808069974311671237599881871172649677003378730003051319964157617558928304932512139280605040011221187808259761788019543654909479925695437250655195203743468002729680482313800639171712014297980885725352722207123861012176242973437161144295485359566686367465409861324525926505933935137672643513156993736307113728906585097911295506293191543901606122472700501465849940475500258678524689730389607324485414560419620896899772960111157519197897436402102121740532880335212451105655643014726260630824211390238127502465664047068008049751489743029884279740576971914015012035491305844890890118048054176714103342435441112588868378796174592740479285423962000994805316487349994428233988765439690699352587978372996347858979384717097013016145177642179657465327334772770666976382084878629209641793944825421491384859973670773440311505010670560190592683257841025979684855220240765631674084965443794673329588938632767339911910853997533650007785404629007892037294002362127780637433847126433534891209561803435510324436977841422493237874267400671043677331563932958360818994847669068113548925603787311897776495456137177341574324035232144798373633826956788114268838710371607680274057064276234004309831624091499573415492679719213573288156825584705422046712401145248325318593563795860626566483744367117393325658036313445207242596809486200953636870658306350373523359616933591698679707881131784396823647549601773635069700124217275756158182226637710747449398068239859233835975929884138003079420430159608203923981757533306623858511487383024681047221043256962836063036470006756014100985114478417083000915614435062898766782097543592243714777115982065464908479704608910571639949467661343474064793957412294962738229140391793301694746095622433131320140992509561077452254453695823366064939708963512767377153692978592267968382517677959197358970869477051499357793312795910429076251736848473156805062947232775072595932175768941499158419093960653153178814807743038115050842847136754690710718727033262593138691480336701100872387747701163045956902399401966646241040096222197776076769836114964430200789089271152710807075175340371843383235391108098041419314700481834971516862914270636 96306162134198367149322828271365390761786850196704156322955928081220771774538337296221450926293618730104193431323256807642689803917107854083944710905095548975575563262002271185126739145145169294725493385996294288448854462382329264060169186705806474062346850258904581603845002530272860372851408005470927120955160181243142518975122535081971364643580291275825572447333152813670520928588248250598123769415162601386652923032215653029168588994690083896792142041667522506159860324518179949623731098031442169157126304279012764252979791019103740088569775796794183530574114003960556255847438931697322720706328368721678831478711953089232378630497069675002076378371179743055883731931707320279069925995291533268530388882336241220984315383134930461059672222450437527987791368445849349264722710662735541860269166492442242740085114945549980529119574702531068928023935411486019187036765918603947026610677237766511782650767594565169138628139613745010791670486008092561201422217820828066355728434268702521828881056070430639378078221849369544965696606980945181450412614303217924414249519926659871488397767315265014313291349555692082632006636783289753677323906490046402140428677155226581003616692402220948542460082195632000679886826222141669613549678095395609238084510792724339036034198249350161874673043647604810868939367567503607113454479813149261037322952589635703493726093952412998275242448301379133947312132550703595636797917008329476178338312470105927834280164880632890476068595553245724402753427431745491275904545347324627699872632162409431453618766073620290493928137687616609481509876420502891337214902847891566394542711796934537362611636555991396747808435423014504701169973852701322465833617100584229489017490979299435005026513000335785747931189577170105017336328677475242473366952265941551378583588139145713519630229893267189377473496611079565929516673281378782049868384855641128618865971945232211203404352803707548274146426626470804719047564586632659790016296370292263627008392721043509618088275057656009254087994327138052381074873341011299074420688907907594549919224679217385112260437252242981968155160210382631680223419556256386194006541239382262282359658615230452405502120142244913763786010514693165335014263243 155826643659191070016498020303585655939622755293545202162448794277132041582608311607892688526175489902753870434701986810694009768074725413012249643417234829580615574483190079444888527164688824204205419081433544943644058205850331993740651500506445645774361148239790306956567209654133872549094381442632071416440519747929509984384983859607897870577515428948469085604326889120784249835173346161893630062606706502992775395732717118879109064494948762421481872431274846991574420744139076849396691209188961367054562706381134504785860126231554845744212790523054814354785504242088058721511485999705372472196071398605958572055683867104244414121802914565892194426425356457159226167372819909147448722169884273747815812844337236026300802733129358695048437662141136880575769741442197208244107427759748558005446808672099708067419887716216956911204453331740710721968760832977404047010436692044258531621347797957104465908608620544853993848380379376684876635929802765890790360850588167978266582431802352529614285685078322676672080583977150182399543733414480072659974417738728248851227361349153109362665167986308691644855282514052901626854305851403302602927693801944178635884814332568155327651924547019322176287038983746269518597197829821943670613954329399919069708602292297754528713917462923450031498628353026857581340512815828925707018275673775827521067319707029029151762407397620240872051934502332770817970438901077118996414850600028155886219444254502751481829766654267960176192812829001882584980065142492940673972785206558463675802516300412510874048925681824214475685670994240467992997259445183938558258159810727629431012718552948638347726114973074397663422870485913271483267517444945037242949599166049137968722099889871074954494174343809850541888601872132843246476720470776937219462574699072871519576097700223165774083925716633254317182460123846943083209651873646750432386062814838487589735448996731568996717148714136624525883275099627609781994797361705255722192065311791422046102353374196688432896018095771060096935131081828763099801906603604437765901025609008466937666925842263342014659839218889223008251382408158708450059534520686586983095812392093069357534998987073835640893228240286333078486492349664682197928533879 252132805793389437165820848574951046701409605490249358485404722358352813357146648904114139452469108632858063866025243618336699571991833267096194354322330378556191137745192350630015266309833993498930912467429839232092912668232661257800820687212252119836707998498694888560412212184406732921945789448102998537395679929172652503360106394689869235221095720224294658051660041934454770763761594412491753832021869104379428318764932771908277653489638846318274014472942369497734281068657256799020422307220403536211689010660147269038839917250658585832782566319848997885359618246048614977358924931402695192902399767327637403534395820193476792752299984240894270804796536200215109899304527229426518648165175807016346201726673477247285118116264289156108109884591574408563561109888046557508830138422484099865715975164541950807505002661766937440324028034271779649992696244463423234047202610648205558232025035723616248559376215110023132476519993121695668306415810858451991783068408996044622310866071055051443166741148753316050158805826519727365240340395425254110387032041946173265476881275812980851062935301573705958146632069744984258860942634693056280251600291990580776313491487794736331268616949240270718747121179378270198484024051963613284163632424795528307793113085022093564748115712273611906171672000631668450279880383332532820472755486925088558390272296664732645488501350033239147294382803711904765282571451780714633212767608357632064557756724608679316109931534900850652261408382247606987733492574238431949877330553883091375675148462821942327667691755444504969613808681857077474507135865686829895473062658619195825555430349883175710337751529065794411231305908927776184437491297646359708783216266633367457739590869170509959520687344145636289819791449302948263813049148252179692829526965014422898159685839368879293714155609900443694655956734926509012726325155025532482254447670479616208601420941963780200121501517844172800029701726098414501042361948337915512208361682083685673110746095240198050984293153427069351023125408966815480876779944615736840321714516916061487586150521480727126920276471132204976406542618541340130282954076942973177102353631475331639894657602304288046395348382531246842272502864357847532942797122 407959449452580507182318868878536702641032360783794560647853516635484854939754960512006827978644598535611934300727230429030709340066558680108443997739565208136806712228382430074903793474522817703136331548863384175736970874082993251541472187718697765611069146738485195516979421838540605471040170890735069953836199677102162487745090254297767105798611149172763743655986931055239020598934940574385383894628575607372203714497649890787386717984587608739755886904217216489308701812796333648417113516409364903266251717041281773824700043482213431576995356842903812240145122488136673698870410931108067665098471165933595975590079687297721206874102898806786465231221892657374336066677347138573967370335060080764162014571010713273585920849393647851156547546732711289139330851330243765752937566182232657871162783836641658874924890377983894351528481366012490371961457077440827281057639302692464089853372833680720714467984835654877126324900372498380544942345613624342782143918997164022888893297873407581057452426227075992722239389803669909764784073809905326770361449780674422116704242624966090213728103287882397603001914583797885885715248486096358883179294093934759412198305820362891658920541496259592895034160163124539717081221881785556954777586754195447377501715377319848093462033175197061937670300353658526031620393199161458527491031160700916079457592003693761797250908747653480019346317306044675583253010352857833629627618208385787950777200979111430797939698189168810828454221211249489572713557716731372623850115760441555051477664763234453201716617437268719445299479676097545467504395310870768453731222469346825256568148902831814058063866502140192074654176394841047667705008742591396951732815432682505426461690759041584914014861687955486831708393321435791510289769619029116912292101664087294417735783539592045067798081326533698011838416858773452095935977028672282914640510485318103798336869938695349196838650231980797325912976825726024283037159310043171234400426993875107719213099469436886483880311249198129447958256490795578580678686548220174606222740125924528425253076363744069141580115690021427984657925026700048580342488597629560160198166023568400997429656589378123687288576622817579920758995214022529730871331001 660092255245969944348139717453487749342441966274043919133258238993837668296901609416120967431113707168469998166752474047367408912058391947204638352061895586692997849973574780704919059784356811202067244016293223407829883542315654509342292874930949885447777145237180084077391634022947338392985960338838068491231879606274814991105196648987636341019706869397058401707646972989693791362696534986877137726650444711751632033262582662695664371474226455058029901377159585987042982881453590447437535823629768439477940727701429042863539960732872017409777923162752810125504740734185288676229335862510762858000870933261233379124475507491197999626402883047680736036018428857589445965981874368000486018500235887780508216297684190520871038965657937007264657431324285697702891961218290323261767704604716757736878759001183609682429893039750831791852509400284270021954153321904250515104841913340669648085397869404336963027361050764900258801420365620076213248761424482794773926987406160067511204163944462632500619167375829308772398195630189637130024414205330580880748481822620595382181123900779071064791038589456103561148546653542870144576191120789415163430894385925340188511797308157627990189158445499863613781281342502809915565245933749170238941219178990975685294828462341941658210148887470673843841972354290194481900273582493991347963786647626004637847864300358494442739410097686719166640700109756580348535581804638548262840385816743420015334957703720110114049629724069661480715629593497096560447050290969804573727446314324646427152813226056395529384309192713224414913288357954622942011531176557598349204285127966021082123579252714989768401618031205986485885482303768823852142500040237756660516031699315872884201281628212094873535549032101123121528184770738739774102818767281296605121628629101717315895469378960924361512236936434141706494373593699961108662302183697815396894958155797720006938290880659129396960151749824970125942678551824438784079521258381086746608788675958793392323845564677084534864604402625198798981381899762394061555466492835911446544454642840589912839226885224796268500392161153632961064467645241388710625442674572533337300519655043732637324314191682411733683925005348826763031498078380377263814128123 1068051704698550451530458586332024451983474327057838479781111755629322523236656569928127795409758305704081932467479704476398118252124950627313082349801460794829804562201957210779822853258879628905203575565156607583566854416398647760883765062649647651058846291975665279594371055861487943864026131229573138445068079283376977478850286903285403446818318018569822145363633904044932811961631475561262521621279020319123835747760232553483051089458814063797785788281376802476351684694249924095854649340039133342744192444742710816688240004215085448986773280005656622365649863222321962375099746793618830523099342099194829354714555194788919206500505781854467201267240321514963782032659221506574453388835295968544670230868694903794456959815051584858421204978056996986842222812548534089014705270786949415608041542837825268557354783417734726143380990766296760393915610399345077796162481216033133737938770703085057677495345886419777385126320738118456758191107038107137556070906403324090400097461817870213558071593602905301494637585433859546894808488015235907651109931603295017498885366525745161278519141877338501164150461237340756030291439606885774046610188479860099600710103128520519649109699941759456508815441505627349632646467815534727193718805933186423062796543839661789751672182062667735781512272707948720513520666781655449875454817808326920717305456304052256239990318845340199185987017415801255931788592157496381892468004025129207966112158682831540911989327913238472309169850804746586133160608007701177197577562074766201478630477989290848731100926629981943860212768034052168409515926487428366802935507597312846338691728155546803826465484533346178560539658698609871519847508782829153612248847131998378310662972387253679787550410720056609953236578092174531284392588386310413517413730293189011733631252918552969429310318262967839718332790452473413204598279212370098311535468641115823805275160819354478593798801981805767451855655377550463067116680568424257981009215669833901111536945034113971018744915651823328246939638390557972642234153041056086052767194768765118338092303248968865410080507851175060945722392671941437290967931272202093497498685678612133634753970781060535420972501628166406683790493292402906994685459124 1728143959944520395878598303785512201325916293331882398914369994623160191533558179344248762840872012872551930634232178523765527164183342574517720701863356381522802412175531991484741913043236440107270819581449830991396737958714302270226057937580597536506623437212845363671762689884435282257012091568411206936299958889651792469955483552273039787838024887966880547071280877034626603324328010548139659347929465030875467781022815216178715460933040518855815689658536388463394667575703514543292185163668901782222133172444139859551779964947957466396551203168409432491154603956507251051329082656129593381100213032456062733839030702280117206126908664902147937303258750372553227998641095874574939407335531856325178447166379094315327998780709521865685862409381282684545114773766824412276472975391666173344920301839008878239784676457485557935233500166581030415869763721249328311267323129373803386024168572489394640522706937184677643927741103738532971439868462589932329997893809484157911301625762332846058690760978734610267035781064049184024832902220566488531858413425915612881066490426524232343310180466794604725299007890883626174867630727675189210041082865785439789221900436678147639298858387259320122596722848130159548211713749283897432660025112177398748091372302003731409882330950138409625354245062238914995420940364149441223418604455952925355153320604410750682729728943026918352627717525557836280324173962134930155308389841872627981447116386551651026038957637308133789885480398243682693607658298670981771305008389090847905783291215347244260485235822695168275126056392006791351527457663985965152139792725278867420815307408261793594867102564552165046425141002378695371990008823066910272764878831314251194864254015465774661085959752157733074764762862913271058495407153591710122535358922290729049526722297513893790822555199401981424827164046173374313260581396067913708430426796913543812213451700013607990758953731630737577798333929374901851196201826805344727618004345792694503860790598791055553609520054448527045921020290320366703789619533891997499311649411605708250931530134193661678580900012328693906786860317182826001593373946774626834799205333655866272078284972742947154656426633515233446821991370783284258499587247 2796195664643070847409056890117536653309390620389720878695481750252482714770214749272376558250630318576633863101711883000163645416308293201830803051664817176352606974377489202264564766302116069012474395146606438574963592375112950031109823000230245187565469729188510643266133745745923226121038222797984345381368038173028769948805770455558443234656342906536702692434914781079559415285959486109402180969208485349999303528783047769661766550391854582653601477939913190939746352269953438639146834503708035124966325617186850676240019969163042915383324483174066054856804467178829213426428829449748423904199555131650892088553585897069036412627414446756615138570499071887517010031300317381149392796170827824869848678035073998109784958595761106724107067387438279671387337586315358501291178246178615588952961844676834146797139459875220284078614490932877790809785374120594406107429804345406937123962939275574452318018052823604455029054061841856989729630975500697069886068800212808248311399087580203059616762354581639911761673366497908730919641390235802396182968345029210630379951856952269393621829322344133105889449469128224382205159070334560963256651271345645539389932003565198667288408558329018776631412164353757509180858181564818624626378831045363821810887916141665521161554513012806145406866517770187635508941607145804891098873422264279846072458776908463006922720047788367117538614734941359092212112766119631312047776393867001835947559275069383191938028285550546606099055331202990268826768266306372158968882570463857049384413769204638092991586162452677112135338824426058959761043384151414331955075300322591713759507035563808597421332587097898343606964799700988566891837517605896063885013725963312629505527226402719454448636370472214343028001340955087802342887995539902123639949089215479740783157975216066863220132873462369821143159954498646787517858860608438012019965895438029367617488612519368086584557755713436505029653989306925364918312882395229602708627220015626595615397735632905026572354435706271855292860658680878339346023772574948083552078844180370826589023833383162527088661407863503754852509252989124263292561305218976720332297891012267999906832255753803482575628928261681640130612484663186191253185046371 4524339624587591243287655193903048854635306913721603277609851744875642906303772928616625321091502331449185793735944061523929172580491635776348523753528173557875409386553021193749306679345352509119745214728056269566360330333827252301335880937810842724072093166401356006937896435630358508378050314366395552317667997062680562418761254007831483022494367794503583239506195658114186018610287496657541840317137950380874771309805862985840482011324895101509417167598449579403141019845656953182439019667376936907188458789630990535791799934111000381779875686342475487347959071135336464477757912105878017285299768164106954822392616599349153618754323111658763075873757822260070238029941413255724332203506359681195027125201453092425112957376470628589792929796819562355932452360082182913567651221570281762297882146515843025036924136332705842013847991099458821225655137841843734418697127474780740509987107848063846958540759760789132672981802945595522701070843963287002216066694022292406222700713342535905675453115560374522028709147561957914944474292456368884714826758455126243261018347378793625965139502810927710614748477019108008380026701062236152466692354211430979179153904001876814927707416716278096754008887201887668729069895314102522059038856157541220558979288443669252571436843962944555032220762832426550504362547509954332322292026720232771427612097512873757605449776731394035891242452466916928492436940081766242203084783708874463929006391455934842964067243187854739888940811601233951520375924605043140740187578852947897290197060419985337252071398275372280410464880818065751112570841815400297107215093047870581180322342972070391016199689662450508653389940703367262263827526428962974157778604794626880700391480418185229109722330224372076102766103818001073401383402693493833762484448137770469832684697513580757010955428661771802567987118544820161831119442004505925728396322234942911429702064219381694575316709445067242607452323236300266769509084222034947436245224361419290119258526231696082125963955760720382338781678971198706049813392108840081051390493591976534839955363517356188767242307875832448759296113306307089294154679165751347167097096345923866178910540726546429730285354895196873577434476033969475511684633618 7320535289230662090696712084020585507944697534111324156305333495128125621073987677889001879342132650025819656837655944524092817996799928978179326805192990734228016360930510396013871445647468578132219609874662708141323922708940202332445703938041087911637562895589866650204030181376281734499088537164379897699036035235709332367567024463389926257150710701040285931941110439193745433896246982766944021286346435730874074838588910755502248561716749684163018645538362770342887372115610391821585854171084972032154784406817841212031819903274043297163200169516541542204763538314165677904186741555626441189499323295757846910946202496418190031381737558415378214444256894147587248061241730636873724999677187506064875803236527090534897915972231735313899997184257842027319789946397541414858829467748897351250843991192677171834063596207926126092462482032336612035440511962438140526126931820187677633950047123638299276558812584393587702035864787452512430701819463984072102135494235100654534099800922738965292215470142014433790382514059866645864115682692171280897795103484336873640970204331063019586968825155060816504197946147332390585185771396797115723343625557076518569085907567075482216115975045296873385421051555645177909928076878921146685417687202905042369867204585334773732991356975750700439087280602614186013304154655759223421165448984512617500070874421336764528169824519761153429857187408276020704549706201397554250861177575876299876565666525318034902095528738401345987996142804224220347144190911415299709070149316804946674610829624623430243657560728049392545803705244124710873614225966814629062290393370462294939829378535878988437532276760348852260354740404355829155665044034859038042792330757939510205918706820904683558358700696586419130767444773088875744271398233395957402433537353250210615842672729647620231088302124141623711147073043466949348978302612943937748362217672972279047190676738749781159874465158503747637106312543225631687821966617264550144872444377045885734656261864601108698318391466992237631642337652077045395837164683788164603469337772347361428979196900518715855903715739336203611805366295431352586715984384728067499394987358191866085742796480349912305914283156878513708046960697155666764869679989 11844874913818253333984367277923634362580004447832927433915185240003768527377760606505627200433634981475005450573600006048021990577291564754527850558721164292103425747483531589763178124992821087251964824602718977707684253042767454633781584875851930635709656061991222657141926617006640242877138851530775450016704032298389894786328278471221409279645078495543869171447306097307931452506534479424485861603484386111748846148394773741342730573041644785672435813136812349746028391961267345004024873838461908939343243196448831747823619837385043678943075855859017029552722609449502142381944653661504458474799091459864801733338819095767343650136060670074141290318014716407657486091183143892598057203183547187259902928437980182960010873348702363903692926981077404383252242306479724328426480689319179113548726137708520196870987732540631968106310473131795433261095649804281874944824059294968418143937154971702146235099572345182720375017667733048035131772663427271074318202188257393060756800514265274870967668585702388955819091661621824560808589975148540165612621861939463116901988551709856645552108327965988527118946423166440398965212472459033268190035979768507497748239811568952297143823391761574970139429938757532846638997972193023668744456543360446262928846493029004026304428200938695255471308043435040736517666702165713555743457475704745388927682971934210522133619601251155189321099639875192949196986646283163796453945961284750763805572057981252877866162771926256085876936954405458171867520115516458440449257728169752843964807890044608767495728959003421672956268586062190461986185067782214926169505486418332876120151721507949379453731966422799360913744681107723091419492570463822012200570935552566390906310187239089912668081030920958495233533548591089949145654800926889791164917985491020680448527370243228377242043730785913426279134191588287111180097744617449863476758539907915190476892740958131475735191174603570990244558635779525898457331050839299497581117668738465175853914788096297190824282347227712619970424016623275751445650556792628245654859831364323896268934560417874904623146023615168652371101479601738441880870663550479414666492083704115732264653337206896342036199638052075387285481436731125142276554313607 19165410203048915424681079361944219870524701981944251590220518735131894148451748284394629079775767631500825107411255950572114808574091493732707177363914155026331442108414041985777049570640289665384184434477381685849008175751707656966227288813893018547347218957581089307345956798382921977376227388695155347715740067534099227153895302934611335536795789196584155103388416536501676886402781462191429882889830821842622920986983684496844979134758394469835454458675175120088915764076877736825610728009546880971498027603266672959855439740659086976106276025375558571757486147763667820286131395217130899664298414755622648644285021592185533681517798228489519504762271610555244734152424874529471782202860734693324778731674507273494908789320934099217592924165335246410572032252877265743285310157068076464799570128901197368705051328748558094198772955164132045296536161766720015470950991115156095777887202095340445511658384929576308077053532520500547562474482891255146420337682492493715290900315188013836259884055844403389609474175681691206672705657840711446510416965423799990542958756040919665139077153121049343623144369313772789550398243855830383913379605325584016317325719136027779359939366806871843524850990313178024548926049071944815429874230563351305298713697614338800037419557914445955910395324037654922530970856821472779164622924689258006427753846355547286661789425770916342750956827283468969901536352484561350704807138860627063682137724506570912768258300664657431864933097209682392214664306427873740158327877486557790639418719669232197739386519731471065502072291306315172859799293749029555231795879788795171059981100043828367891264243183148213174099421512078920575157614498681050243363266310505901112228894059994596226439731617544914364300993364178824889926199160285748567351522844270891064370042972875997473132032910055049990281264631754060529076047230393801225120757580887469524083417696881256895065639762074737881664948322751530145153017456564047725990113115511061588571049960898299522600738694704857602066354275352796841487721476416410258329169136671257697913757318393620479049739354504855982906845897169794467586647935207482165887071062307598350396133687246254342113921208953900993528397428280809041423993596 31010285116867168758665446639867854233104706429777179024135703975135662675829508890900256280209402612975830557984855956620136799151383058487235027922635319318434867855897573575540227695633110752636149259080100663556692428794475111600008873689744949183056875019572311964487883415389562220253366240225930797732444099832489121940223581405832744816440867692128024274835722633809608338909315941615915744493315207954371767135378458238187709707800039255507890271811987469834944156038145081829635601848008789910841270799715504707679059578044130655049351881234575601310208757213169962668076048878635358139097506215487450377623840687952877331653858898563660795080286326962902220243608018422069839406044281880584681660112487456454919662669636463121285851146412650793824274559356990071711790846387255578348296266609717565576039061289190062305083428295927478557631811571001890415775050410124513921824357067042591746757957274759028452071200253548582694247146318526220738539870749886776047700829453288707227552641546792345428565837303515767481295632989251612123038827363263107444947307750776310691185481087037870742090792480213188515610716314863652103415585094091514065565530704980076503762758568446813664280929070710871187924021264968484174330773923797568227560190643342826341847758853141211381703367472695659048637558987186334908080400394003395355436818289757808795409027022071532072056467158661919098522998767725147158753100145377827487709782487823790634421072590913517741870051615140564082184421944332180607585605656310634604226609713840965235115478734892738458340877368505634845984361531244481401301366207128047180132821551777747344996209605947574087844102619802011994650184962503062443934201863072292018539081299084508894520762538503409597834541955268774035581000087175539732269508335291571512897413216104374715175763695968476269415456220041171709173791847843664701879297488802660000976158655012732630256814365645728126223584102277428602484068295863545307107781853976237442485838057195490346883085922417477572490370898628548287138278269044655913189000500995153966848317736268525102195762969673508354008325498908236348457311485686896832379154766423330615049470894142596378313559261029288279009834159405951317978307203 50175695319916084183346526001812074103629408411721430614356222710267556824281257175294885359985170244476655665396111907192251607725474552219942205286549474344766309964311615561317277266273400418020333693557482349405700604546182768566236162503637967730404093977153401271833840213772484197629593628921086145448184167366588349094118884340444080353236656888712179378224139170311285225312097403807345627383146029796994688122362142735032688842558433725343344730487162589923859920115022818655246329857555670882339298402982177667534499318703217631155627906610134173067694904976837782954207444095766257803395920971110099021908862280138411013171657127053180299842557937518146954396032892951541621608905016573909460391786994729949828451990570562338878775311747897204396306812234255814997101003455332043147866395510914934281090390037748156503856383460059523854167973337721905886726041525280609699711559162383037258416342204335336529124732774049130256721629209781367158877553242380491338601144641302543487436697391195735038040012985206974154001290829963058633455792787063097987906063791695975830262634208087214365235161793985978066008960170694036016795190419675530382891249841007855863702125375318657189131919383888895736850070336913299604205004487148873526273888257681626379267316767587167292098691510350581579608415808659114072703325083261401783190664645305095457198452792987874823013294442130889000059351252286497863560239006004891169847506994394703402679373255570949606803148824822956296848728372205920765913483142868425243645329383073162974501998466363803960413168674820807705783655280274036633097245995923218240113921595606115236260452789095787261943524131880932569807799461184112687297468173578193130767975359079105120960494156048323962135535319447598925507199247461288299621031179562462577267456188980372188307796606023526259696720851795232238249839078237465927000055069690129525059576351893989525322454127720466007888532425028958747637085752427593033097894969487299031056888018093789869483824617122335174556725173981345128625999745461066171518169637666411664762075054662145581245502324178364336915171396078030816043959420894378998266225828730928965445604581388850720427480469983189272538231587686760359402300799 81185980436783252942011972641679928336734114841498609638491926685403219500110766066195141640194572857452486223380967863812388406876857610707177233209184793663201177820209189136857504961906511170656482952637583012962393033340657880166245036193382916913460968996725713236321723629162046417882959869147016943180628267199077471034342465746276825169677524580840203653059861804120893564221413345423261371876461237751366455257740600973220398550358472980851235002299150059758804076153167900484881931705564460793180569202697682375213558896747348286204979787844709774377903662190007745622283492974401615942493427186597549399532702968091288344825516025616841094922844264481049174639640911373611461014949298454494142051899482186404748114660207025460164626458160547998220581371591245886708891849842587621496162662120632499857129451326938218808939811755987002411799784908723796302501091935405123621535916229425629005174299479094364981195933027597712950968775528307587897417423992267267386301974094591250714989338937988080466605850288722741635296923819214670756494620150326205432853371542472286521448115295125085107325954274199166581619676485557688120210775513767044448456780545987932367464883943765470853412848454599766924774091601881783778535778410946441753834078901024452721115075620728378673802058983046240628245974795845448980783725477264797138627482935062904252607479815059406895069761600792808098582350020011645022313339151382718657557289482218494037100445846484467348673200439963520379033150316538101373499088799179059847871939096914128209617477201256542418754046043326442551768016811518518034398612203051265420246743147383862581256662395043361349787626751682944564457984423687175131231670036650485149307056658163614015481256694551733559970077274716372961088199334636828031890539514854034090164869405084746903483560301992002529112177071836403947423630926081130628879352558492789526035735006906722155579268493366194134112116527306387350121154048291138340205676823463536473542726075289280216366910539539812747047096072609893415764278014505722084707170138661565631610392790930670683441265293851872690923496894986267164501270906581275830645380595154259580495075475531447098741039731012477551548065747092711677380608002 131361675756699337125358498643492002440363523253220040252848149395670776324392023241490027000179743101929141888777079771004640014602332162927119438495734268007967487784520804698174782228179911588676816646195065362368093637886840648732481198697020884643865062973879114508155563842934530615512553498068103088628812434565665820128461350086720905522914181469552383031284000974432178789533510749230606999259607267548361143380102743708253087392916906706194579732786312649682663996268190719140128261563120131675519867605679860042748058215450565917360607694454843947445598567166845528576490937070167873745889348157707648421441565248229699357997173152670021394765402201999196129035673804325153082623854315028403602443686476916354576566650777587799043401769908445202616888183825501701705992853297919664644029057631547434138219841364686375312796195216046526265967758246445702189227133460685733321247475391808666263590641683429701510320665801646843207690404738088955056294977234647758724903118735893794202426036329183815504645863273929715789298214649177729389950412937389303420759435334168262351710749503212299472561116068185144647628636656251724137005965933442574831348030386995788231167009319084128042544767838488662661624161938795083382740782898095315280107967158706079100382392388315545965900750493396822207854390604504563053487050560526198921818147580367999709805932608047281718083056042923697098641701272298142885873578157387609827404796476613197439779819102055416955476349264786476675881878688744022139412571942047485091517268479987291184119475667620346379167214718147250257551672091792554667495858198974483660360664742989977817517115184139148611731150883563877134265783884871287818529138210228678280075032017242719136441750850600057522105612594163971886595398582098116331511570694416496667432325594065119091791356908015528788808897923631636185673470004318596555879407628182919051095311358800711680901722621086660142000648952335346097758239800718731373303571792950835504599614093383070085850735156662147921603821246591238544390277759966788256225339776327977296372467845592816264686767618030237027838668291064297980545230327475654828911606423885188545940680056920297819168520200995666824086297334779472036782908801 212547656193482590067370471285171930777097638094718649891340076081073995824502789307685168640374315959381628112158047634817028421479189773634296671704919061671168665604729993835032287190086422759333299598832648375330486671227498528898726234890403801557326031970604827744477287472096577033395513367215120031809440701764743291162803815832997730692591706050392586684343862778553072353754924094653868371136068505299727598637843344681473485943275379687045814735085462709441468072421358619625010193268684592468700436808377542417961617112197914203565587482299553721823502229356853274198774430044569489688382775344305197820974268216320987702822689178286862489688246466480245303675314715698764543638803613482897744495585959102759324681310984613259208028228068993200837469555416747588414884703140507286140191719752179933995349292691624594121736006972033528677767543155169498491728225396090856942783391621234295268764941162524066491516598829244556158659180266396542953712401226915026111205092830485044917415375267171895971251713562652457424595138468392400146445033087715508853612806876640548873158864798337384579887070342384311229248313141809412257216741447209619279804810932983720598631893262849598895957616293088429586398253540676867161276561309041757033942046059730531821497468009043924639702809476443062836100365400350012034270776037790996060445630515430903962413412423106688613152817643716505197224051292309787908186917308770328484962085958831691476880264948539884304149549704749997054915029005282123512911660741226544939389207576901419393736952868876888797921260761473692809319688903311072701894470402025749080607407890373840398773777579182509961518777635246821698723768308558462949760808246879163429382088675406333151923007545151791082075689868880344847683597916734944363402110209270530757597194999149865995274917210007531317921074995468040133097100930399727184758760186675708577131046365707433836480991114452854276112765479641733447879393849009869713509248616414371978142340168672350302217645696201960668650917319201131960154555774472510340932509914989542927982860636523486948128032911882109718762165186050565145046501234056930659556987019039448126435755532451744917909559932008144375634363081872183714163516803 343909331950181927192728969928663933217461161347938690144188225476744772148894812549175195640554059061310770000935127405821668436081521936561416110200653329679136153389250798533207069418266334348010116245027713737698580309114339177631207433587424686201191094944483942252632851315031107648908066865283223120438253136330409111291265165919718636215505887519944969715627863752985251143288434843884475370395675772848088742017946088389726573336192286393240394467871775359124132068689549338765138454831804724144220304414057402460709675327648480120926195176754397669269100796523698802775265367114737363434272123502012846242415833464550687060819862330956883884453648668479441432710988520023917626262657928511301346939272436019113901247961762201058251429997977438403454357739242249290120877556438426950784220777383727368133569134056310969434532202188080054943735301401615200680955358856776590264030867013042961532355582845953768001837264630891399366349585004485498010007378461562784836108211566378839119841411596355711475897576836582173213893353117570129536395446025104812274372242210808811224869614301549684052448186410569455876876949798061136394222707380652194111152841319979508829798902581933726938502384131577092248022415479471950544017344207137072314050013218436610921879860397359470605603559969839885043954756004854575087757826598317194982263778095798903672219345031153970331235873686640202295865752564607930794060495466157938312366882435444888916660084050595301259625898969536473730796907694026145652324232683274030030906476056888710577856428536497235177088475479620943066871360995103627369390328601000232740968072633363818216290892763321658573249928518810698832989552193429750768289946457107841709457120692649052288364758395751848604181302463044316734278996498833060694913680903687027425029520593214985087066274118023060106729972919099676318770570934718323740638167814858627628226357724508145517382713735539514418113414431977079545637633649728601086812820409365207482741954262055420388068380852864108590254738565792370504544833534439298597157849691317520224355328482116303212814800529912346746600833477114863125591731561532585488468593442924636672376435589372042737078080133003811199720660416651655750946425604 556456988143664517260099441213835863994558799442657340035528301557818767973397601856860364280928375020692398113093175040638696857560711710195712781905572391350304818993980792368239356608352757107343415843860362113029066980341837706529933668477828487758517126915088769997110138787127684682303580232498343152247693838095152402454068981752716366908097593570337556399971726531538323497043358938538343741531744278147816340655789433071200059279467666080286209202957238068565600141110907958390148648100489316612920741222434944878671292439846394324491782659053951391092603025880552076974039797159306853122654898846318044063390101680871674763642551509243746374141895134959686736386303235722682169901461541994199091434858395121873225929272746814317459458226046431604291827294658996878535762259578934236924412497135907302128918426747935563556268209160113583621502844556784699172683584252867447206814258634277256801120524008477834493353863460135955525008765270882040963719779688477810947313304396863884037256786863527607447149290399234630638488491585962529682840479112820321127985049087449360098028479099887068632335256752953767106125262939870548651439448827861813390957652252963229428430795844783325834460000424665521834420669020148817705293905516178829347992059278167142743377328406403395245306369446282947880055121405204587122028602636108191042709408611229807634632757454260658944388691330356707493089803856917718702247412774928266797328968394276580393540348999135185563775448674286470785711936699308269165235893424500574970295683633790129971593381405374123975009736241094635876191049898414700071284799003025981821575480523737658615064670342504168534768706154057520531713320501988213718050754703987005138839209368055385440287765940903639686256992331924661581962594415568005058315791112957558182626715592364851082341191328030591424651047914567716451867671865118050925396928001534336205357404090215579353863704849992368694226179911618812993517027498738470800322069025779579460884294430727770690286026549066069258905655884993502464699389308911808938090359606307063152338189118639790160942833441794456465362998663165428270638232795589516148025580461964084798812191121823787654987640065011955575355023498523839465109942407 900366320093846444452828411142499797212019960790596030179716527034563540122292414406035559921482434082003168114028302446460365293642233646757128892106225721029440972383231590901446426026619091455353532088888075850727647289456176884161141102065253173959708221859572712249742990102158792331211647097781566272685946974425561513745334147672435003123603481090282526115599590284523574640331793782422819111927420050995905082673735521460926632615659952473526603670829013427689732209800457297155287102932294040757141045636492347339380967767494874445417977835808349060361703822404250879749305164274044216556927022348330890305805935145422361824462413840200630258595543803439128169097291755746599796164119470505500438374130831140987127177234509015375710888224023870007746185033901246168656639816017361187708633274519634670262487560804246532990800411348193638565238145958399899853638943109644037470845125647320218333476106854431602495191128091027354891358350275367538973727158150040595783421515963242723157098198459883318923046867235816803852381844703532659219235925137925133402357291298258171322898093401436752684783443163523222983002212737931685045662156208514007502110493572942738258229698426717052772962384556242614082443084499620768249311249723315901662042072496603753665257188803762865850909929416122832924009877410059162209786429234425386024973186707028711306852102485414629275624565016996909788955556421525649496307908241086205109695850829721469310200433049730486823401347643822944516508844393334414817560126107774605001202159690678840549449809941871359152098211720715578943062410893518327440675127604026214562543553157101476831355563105825827108018634672868219364702872695417964486340701161094846848296330060704437728652524336655488290438294794968978316241590914401065753229472016644585607656236185579836169407465446053651531381020833667392770638242799836374666035095816392963833583761814723724871246418585531883112339594343595892539154661148467071887134889435144786943626248692783191078354407401930177849160394450785872969244222843351107535248209297624583376693517600756093373757633971706803211963832140280291396229964357122101636494173904888721471188626711195830392065720198015766775075683915175495216056368011 1456823308237510961712927852356335661206578760233253370215244828592382308095690016262895924202410809102695566227121477487099062151202945356952841674011798112379745791377212383269685782634971848562696947932748437963756714269798014590691074770543081661718225348774661482246853128889286477013515227330279909424933640812520713916199403129425151370031701074660620082515571316816061898137375152720961162853459164329143721423329524954532126691895127618553812812873786251496255332350911365255545435751032783357370061786858927292218052260207341268769909760494862300451454306848284802956723344961433351069679581921194648934369196036826294036588104965349444376632737438938398814905483594991469281966065581012499699529808989226262860353106507255829693170346450070301612038012328560243047192402075596295424633045771655541972391405987552182096547068620508307222186740990515184599026322527362511484677659384281597475134596630862909436988544991551163310416367115546249579937446937838518406730734820360106607194354985323410926370196157635051434490870336289495188902076404250745454530342340385707531420926572501323821317118699916476990089127475677802233697101605036375820893068145825905967686660494271500378607422384980908135916863753519769585954605155239494731010034131774770896408634517210166261096216298862405780804064998815263749331815031870533577067682595318258518941484859939675288220013256347353617282045360278443368198555321016014471907024819223998049703740782048865672387176796318109415302220781092642683982796019532275179971497843324468970521043191347245483127107947961810214819253460791933027511959926607052196384119033680839135446420233448329995642787340826925739896416193197406178204391455865081851987135539428759823168940290277559127976695287126893639898204185329969070811545263129602143790282951777944687251748656774084242956032068748235109222505914664954425591432023817927300038941165904939304225110123435524251806565774255214705532671688647205542687456958460924366404510543123510961768640433950996247108066050335779375433943612152262916473338568903931646529031706719395883534700467413501259677326830803445719666868197152711617784519754366852806270000817833019618047053360263027722350430707413699334681166310418 2357189628331357406165756263498835458418598721023849400394961355626945848217982430668931484123893243184698734341149779933559427444845179003709970566118023833409186763760443974171132208661590940018050480021636513814484361559254191474852215872608334835677933570634234194496596118991445269344726874428061475697619587786946275429944737277097586373155304555750902608631170907100585472777706946503383981965386584380139626506003260475993053324510787571027339416544615264923945064560711822552700722853965077398127202832495419639557433227974836143215327738330670649511816010670689053836472650125707395286236508943542979824675001971971716398412567379189645006891332982741837943074580886747215881762229700483005199968183120057403847480283741764845068881234674094171619784197362461489215849041891613656612341679046175176642653893548356428629537869031856500860751979136473584498879961470472155522148504509928917693468072737717341039483736119642190665307725465821617118911174095988559002514156336323349330351453183783294245293243024870868238343252180993027848121312329388670587932699631683965702743824665902760574001902143080000213072129688415733918742763761244889828395178639398848705944890192698217431380384769537150749999306838019390354203916404962810632672076204271374650073891706013929126947126228278528613728074876225322911541601461104958963092655782025287230248336962425089917495637821364350527071000916699969017694863229257100677016720670053719519013941215098596159210578143961932359818729625485977098800356145640049784972700003015147811070493001289116842279206159682525793762315871685451354952635054211078410946662586837940612277775796554155822750805975499793959261119065892824142690732157026176698835431869489464260897592814614214616267133581921862618214445776244370136564774735146246729397939187963524523421156122220137894487413089581902501993144157464790800257467119634320263872524927719663029096356542021056134918905368598810598071826349795672614574591847896069153348136791816294152846994841352926424957226444786565248403187834995614024008586778201556229905725224320151976908458101385208062889290662943726011063098161509833719421013928271741527741189444544215448439119080461043489125506391328874829897222678429 3814012936568868367878684115855171119625177481257102770610206184219328156313672446931827408326304052287394300568271257420658489596048124360662812240129821945788932555137656357440817991296562788580747427954384951778241075829052206065543290643151416497396158919408895676743449247880731746358242101758341385122553228599466989346144140406522737743187005630411522691146742223916647370915082099224345144818845748709283347929332785430525180016405915189581152229418401516420200396911623187808246158604997860755497264619354346931775485488182177411985237498825532949963270317518973856793195995087140746355916090864737628759044198008798010435000672344539089383524070421680236757980064481738685163728295281495504899497992109283666707833390249020674762051581124164473231822209691021732263041443967209952036974724817830718615045299535908610726084937652364808082938720126988769097906283997834667006826163894210515168602669368580250476472281111193353975724092581367866698848621033827077409244891156683455937545808169106705171663439182505919672834122517282523037023388733639416042463041972069673234164751238404084395319020842996477203161257164093536152439865366281265649288246785224754673631550686969717809987807154518058885916170591539159940158521560202305363682110336046145546482526223224095388043342527140934394532139875040586660873416492975492540160338377343545749189821822364765205715651077711704144353046276978412385893418550273115148923745489277717568717681997147461831597754940280041775120950406578619782783152165172324964944197846339616781591536192636362325406314107644336008581569332477384382464594980818130607330781620518779747724196030002485818393593316326719699157535259090230320895123612891258550822567408918224084066533104891773744243828869048756258112649961574339207376319998275848873188222139741469210672904778994222137443445158330137611215650072129745225848899143452247563911466093624602333321466665456580386725471142854025303604498038442878157262048806356993519752647334939805114615635275303922672065292495122344623837131447147876940481925347105487876434756931039547860443158568798709322566617493747171730729966358662545337205533682638594334011190262377235066486172440724071211475937098742574164578388988847 6171202564900225774044440379354006578043776202280952171005167539846274004531654877600758892450197295472093034909421037354217917040893303364372782806247845779198119318898100331611950199958153728598797907976021465592725437388306397540395506515759751333074092490043129871240045366872177015702968976186402860820172816386413264776088877683620324116342310186162425299777913131017232843692789045727729126784232333089422974435336045906518233340916702760608491645963016781344145461472335010360946881458962938153624467451849766571332918716157013555200565237156203599475086328189662910629668645212848141642152599808280608583719199980769726833413239723728734390415403404422074701054645368485901045490524981978510099466175229341070555313673990785519830932815798258644851606407053483221478890485858823608649316403864005895257699193084265039355622806684221308943690699263462353596786245468306822528974668404139432862070742106297591515956017230835544641031818047189483817759795129815636411759047493006805267897261352889999416956682207376787911177374698275550885144701063028086630395741603753638936908575904306844969320922986076477416233386852509270071182629127526155477683425424623603379576440879667935241368191924055209635915477429558550294362437965165115996354186540317520196556417929238024514990468755419463008260214751265909572415017954080451503252994159368832979438158784789855123211288899076054671424047193678381403588281779530215825940466159331437087731623212246057990808333084241974134939680032064596881583508310812374749916897849354764592662029193925479167685520267326861802343885204162835737417230035029209018277444207356720360001971826556641641144399291826513658418654324983054463585855769917435249657999278407688344964125919505988360510962450970618876327095737818709343941094733422095602586161327704993734094060901214360031930858247912040113208794229594536026106366263086567827783991021344265362417823207477636521644376511452835901676324388238550771836640654253062673100784126756099267462630116656849097022518939908909872240319282143490964490512125307044106340482155359699837351616670183917385455908156690897741793064520172379056626547610910335861752379706921450514925291521185114700601443490071448994475611667276 9985215501469094141923124495209177697668953683538054941615373724065602160845327324532586300776501347759487335477692294774876406636941427725035595046377667724987051874035756689052768191254716517179545335930406417370966513217358603605938797158911167830470251409452025547983494614752908762061211077944744245942726044985880254122233018090143061859529315816573947990924655354933880214607871144952074271603078081798706322364668831337043413357322617950189643875381418297764345858383958198169193040063960798909121732071204113503108404204339190967185802735981736549438356645708636767422864640299988887998068690673018237342763397989567737268413912068267823773939473826102311459034709850224586209218820263474014998964167338624737263147064239806194592984396922423118083428616744504953741931929826033560686291128681836613872744492620173650081707744336586117026629419390451122694692529466141489535800832298349948030673411474877841992428298342028898616755910628557350516608416163642713821003938649690261205443069521996704588620121389882707584011497215558073922168089796667502672858783575823312171073327142710929364639943829072954619394644016602806223622494493807421126971672209848358053207991566637653051355999078573268521831648021097710234520959525367421360036296876363665743038944152462119903033811282560397402792354626306496233288434447055944043413332536712378728627980607154620328926939976787758815777093470656793789481700329803330974864211648609154656449305209393519822406088024522015910060630438643216664366660475984699714861095695694381374253565386561841493091834374971197810925454536640220119881825015847339625608225827875500107726167856559127459537992608153233357576189584073284784480979382808693800480566687325912429030659024397762104754791320019375134439745699393048551317414731697944475774383467446462944766965680208582169374303406242177724424444301724281251955265406538815391695457114968867695739289872934216908369847654306861205280822426681428929098689460610056192853431461695904382078265391960771769087811435031254496077450729291367904972437472412531982775239086399247697794775238982626708022525650438069472523030878834924393832081293548930195763569969298685581411463961909185912077380588814023159054000656123 16156418066369319915967564874563184275712729885819007112620541263911876165376982202133345193226698643231580370387113332129094323677834731089408377852625513504185171192933857020664718391212870245778343243906427882963691950605665001146334303674670919163544343899495155419223539981625085777764180054131147106762898861372293518898321895773763385975871626002736373290702568485951113058300660190679803398387310414888129296800004877243561646698239320710798135521344435079108491319856293208530139921522923737062746199523053880074441322920496204522386367973137940148913442973898299678052533285512837029640221290481298845926482597970337464101827151791996558164354877230524386160089355218710487254709345245452525098430342567965807818460738230591714423917212720681762935035023797988175220822415684857169335607532545842509130443685704438689437330551020807425970320118653913476291478774934448312064775500702489380892744153581175433508384315572864443257787728675746834334368211293458350232762986142697066473340330874886704005576803597259495495188871913833624807312790859695589303254525179576951107981903047017774333960866815149432035628030869112076294805123621333576604655097634471961432784432446305588292724191002628478157747125450656260528883397490532537356390483416681185939595362081700144418024280037979860411052569377572405805703452401136395546666326696081211708066139391944475452138228875863813487201140664335175193069982109333546800804677807940591744180928421639577813214421108763990045000310470707813545950168786797074464777993545049145966915594580487320660777354642298059613269339740803055857299055050876548643885670035232220467728139683115769100682391899979747015994843909056339248066835152726129050138565965733600773994784943903750465265753770989994010766841437211757895258509465120040078360544795151456678861026581422942201305161654154217837633238531318817278061631669625383219479448136313133058157113080411853430014224165759697106957146814919979700935330114863118865954215588452003649540895508617620866110330374940164368317770011434858869462949597719576089115721241758947535146391909166544093478433807128967214316095399007303450458628904459266057515949676220136096336755483094300612678824078885472153529612323399 26141633567838414057890689369772361973381683569357062054235914987977478326222309526665931494003199990991067705864805626903970730314776158814443972899003181229172223066969613709717486582467586762957888579836834300334658463823023604752273100833582086994014595308947180967207034596377994539825391132075891352705624906358173773020554913863906447835400941819310321281627223840884993272908531335631877669990388496686835619164673708580605060055561938660987779396725853376872837178240251406699332961586884535971867931594257993577549727124835395489572170709119676698351799619606936445475397925812825917638289981154317083269245995959905201370241063860264381938294351056626697619124065068935073463928165508926540097394509906590545081607802470397909016901609643104881018463640542493128962754345510890730021898661227679123003188178324612339519038295357393542996949538044364598986171304400589801600576333000839328923417565056053275500812613914893341874543639304304184850976627457101064053766924792387327678783400396883408594196924987142203079200369129391698729480880656363091976113308755400263279055230189728703698600810644222386655022674885714882518427618115140997731626769844320319485992424012943241344080190081201746679578773471753970763404357015899958716426780293044851682634306234162264321058091320540257813844924003878902038991886848192339590079659232793590436694119999099095781065168852651572302978234134991968982551682439136877775668889456549746400630233631033097635620509133286005955060940909351030210316829262781774179639089240743527341169159967049162153869189017269257424194794277443275977180880066723888269493895863107720575454307539674896560220384508132980373571033493129624032547814535534822850619132653059513203025443968301512570020545091009369145206587136604806446575924196817984554134928262597919623627992261631524370679465060396395562057682833043098530016897076164198611174905251282000753896402953346070338384071820066558312237969241601408630034019575473175058807647050147908031619160900578392635198141809971418864395220740726226774435387070132108071890960328158195232941167148149170801500959457567036686839126277842227844290710198008196253279519645518821677748219445003486524756204667699495312583612979522 42298051634207733973858254244335546249094413455176069166856456251889354491599291728799276687229898634222648076251918959033065053992610889903852350751628694733357394259903470730382204973680457008736231823743262183298350414428688605898607404508253006157558939208442336386430574578003080317589571186207038459468523767730467291918876809637669833811272567822046694572329792326836106331209191526311681068377698911574964915964678585824166706753801259371785914918070288455981328498096544615229472883109808273034614131117311873651991050045331600011958538682257616847265242593505236123527931211325662947278511271635615929195728593930242665472068215652260940102649228287151083779213420287645560718637510754379065195824852474556352900068540700989623440818822363786643953498664340481304183576761195747899357506193773521632133631864029051028956368846378200968967269656698278075277650079335038113665351833703328709816161718637228709009196929487757785132331367980051019185344838750559414286529910935084394152123731271770112599773728584401698574389241043225323536793671516058681279367833934977214387037133236746478032561677459371818690650705754826958813232741736474574336281867478792280918776856459248829636804381083830224837325898922410231292287754506432496072817263709726037622229668315862408739082371358520118224897493381451307844695339249328735136745985928874802144760259391043571233203397728515385790179374799327144175621664548470424576473567264490338144811162052672675448834930242049996000061251380058843756266998049578848644417082785792673308084754547536482814646543659567317037464134018246331834479935117600436913379565898339941043182447222790665660902776408112727389565877402185963280614649688260951900757698618793113977020228912205263035286298861999363155973428573816564341834433661938024632495473057749376302489018843054466571984626714550613399690921364361915808078528745789581830654353387595133812053516033757923768398295985826255419195116056521388330969349690336293924761862638599911681160056409196013501308472184911583232712990752161085643898336667851684161006681569917142768087559057315714894979393264696003901155221676849531294749339102467462310795469321738957774084974928097787137435028746584967466113225302921 68439685202046148031748943614107908222476097024533131221092371239866832817821601255465208181233098625213715782116724585937035784307387048718296323650631875962529617326873084440099691556148043771694120403580096483633008878251712210650880505341835093151573534517389517353637609174381074857414962318282929812174148674088641064939431723501576281646673509641357015853957016167721099604117722861943558738368087408261800535129352294404771766809363198032773694314796141832854165676336796021928805844696692809006482062711569867229540777170166995501530709391377293545617042213112172569003329137138488864916801252789933012464974589890147866842309279512525322040943579343777781398337485356580634182565676263305605293219362381146897981676343171387532457720432006891524971962304882974433146331106706638629379404855001200755136820042353663368475407141735594511964219194742642674263821383735627915265928166704168038739579283693281984510009543402651127006875007284355204036321466207660478340296835727471721830907131668653521193970653571543901653589610172617022266274552172421773255481142690377477666092363426475181731162488103594205345673380640541841331660359851615572067908637323112600404769280472192070980884571165031971516904672394164202055692111522332454789244044002770889304863974550024673060140462679060376038742417385330209883687226097521074726825645161668392581454379390142667014268566581166958093157608934319113158173346987607302352142456721040084545441395683705773084455439375336001955122192289409873966583827312360622824056172026536200649253914514585644968515732676836574461658928295689607811660815184324325182873461761447661618636754762465562221123160916245707763136910895315587313162464223795774751376831271852627180045672880506775605306843953008732301180015710421370788410357858756009186630401320347295926117011104685990942664091774947008961748604197405014338095425821953780441829258638877134565949918987103994106782367805892813731433085298122796961003369265809468983569509688747819712779217309774406136506613994883002097108211492887312418333723737983792232897641898075338001028726205464885696480352722263040587994347954691759139040049300475658564074988967257779451833194373101273662191233414284462778696838282443 110737736836253882005607197858443454471570510479709200387948827491756187309420892984264484868462997259436363858368643544970100838299997938622148674402260570695887011586776555170481896529828500780430352227323358666931359292680400816549487909850088099309132473725831853740068183752384155175004533504489968271642672441819108356858308533139246115457946077463403710426286808494557205935326914388255239806745786319836765451094030880228938473563164457404559609232866430288835494174433340637158278727806501082041096193828881740881531827215498595513489248073634910392882284806617408692531260348464151812195312524425548941660703183820390532314377495164786262143592807630928865177550905644226194901203187017684670489044214855703250881744883872377155898539254370678168925460969223455737329907867902386528736911048774722387270451906382714397431775988113795480931488851440920749541471463070666028931280000407496748555741002330510693519206472890408912139206375264406223221666304958219892626826746662556115983030862940423633793744382155945600227978851215842345803068223688480454534848976625354692053129496663221659763724165562966024036324086395368800144893101588090146404190504801904881323546136931440900617688952248862196354230571316574433347979866028764950862061307712496926927093642865887081799222834037580494263639910766781517728382565346849809863571631090543194726214638781186238247471964309682343883336983733646257333795011536077726928616023985530422690252557736378448533290369617385997955183443669468717722850825361939471468473254812328873957338669062122127783162276336403891499123062313935939646140750301924762096253027659787602661819201985256227882025937324358435152702788297501550593777113912056726652134529890645741157065901792712038640593142815008095457153444284237935130244791520694033819125874378096672228606029947740457514648718489497622361439525561766930146173954567743362272483612026472268378003435020861917875180663791719069150628201354644185291972718956145762908331372327347731393939273718970419637815086179794585329821202245048398062232060405835476393904323467992480769116285262780600591459745986959044489149569631541290433789388402943120874870458288996737225918169301199060799626262160869430244810063585364 179177422038300030037356141472551362694046607504242331609041198731623020127242494239729693049696095884650079640485368130907136622607384987340444998052892446658416628913649639610581588085976544552124472630903455150564368170932113027200368415191923192460706008243221371093705792926765230032419495822772898083816821115907749421797740256640822397104619587104760726280243824662278305539444637250198798545113873728098565986223383174633710240372527655437333303547662572121689659850770136659087084572503193891047578256540451608111072604385665591015019957465012203938499327019729581261534589485602640677112113777215481954125677773710538399156686774677311584184536386974706646575888391000806829083768863280990275782263577236850148863421227043764688356259686377569693897423274106430170476238974609025158116315903775923142407271948736377765907183129849389992895708046183563423805292846806293944197208167111664787295320286023792678029216016293060039146081382548761427257987771165880370967123582390027837813937994609077154987715035727489501881568461388459368069342775860902227790330119315732169719221860089696841494886653666560229381997467035910641476553461439705718472099142125017481728315417403632971598573523413894167871135243710738635403671977551097405651305351715267816231957617415911754859363296716640870302382328152111727612069791444370884590397276252211587307669018171328905261740530890849301976494592667965370491968358523685029280758480706570507235693953420084221617745808992721999910305635958878591689434652674300094292529426838865074606592583576707772751678009013240465960781990609625547457801565486249087279126489421235264280455956747721790103149098240604142915839699192817137906939578135852501403511361162498368337111574673218814245899986768016827758333459994659305918655149379450043005756275698443968154723041052426448457312810264444631323188129759171944484269380389697142714312870665349402943953354007965911981963031597611882882061286652766982252976088221955231891900882016095551106718491028744825774321700174677587426929413737935710480565784143819268626801965366067818770145011468245486287940098709222085077143917586233049572829437703418779438945447256254516677751363674300334461817495575153893023506901867807 289915158874553912042963339330994817165617117983951531996990026223379207436663387223994177918159093144086443498854011675877237460907382925962593672455153017354303640500426194781063484615805045332554824858226813817495727463612513843749856325042011291769838481969053224833773976679149385207424029327262866355459493557726857778656048789780068512562565664568164436706530633156835511474771551638454038351859660047935331437317414054862648713935692112841892912780529002410525154025203477296245363300309694973088674450369333348992604431601164186528509205538647114331381611826346989954065849834066792489307426301641030895786380957530928931471064269842097846328129194605635511753439296645033023984972050298674946271307792092553399745166110916141844254798940748247862822884243329885907806146842511411686853226952550645529677723855119092163338959117963185473827196897624484173346764309876959973128488167519161535851061288354303371548422489183468951285287757813167650479654076124100263593950329052583953796968857549500788781459417883435102109547312604301713872410999549382682325179095941086861772351356752918501258610819229526253418321553431279441621446563027795864876289646926922363051861554335073872216262475662756364225365815027313068751651843579862356513366659427764743159051260281798836658586130754221364566022238918893245340452356791220694453968907342754782033883656952515143509212495200531645859831576401611627825763370059762756209374504692100929925946511156462670151036178610107997865489079628347309412285478036239565761002681651193948563931252638829900534840285349644357459905052923561487103942315788173849375379517081022866942275158732978017985175035564962578068542487490318688500716692047909228055645891053144109494177476465930852886493129583024923215486904278897241048899940900144076824882150076540640383329071000166905971961528753942253684627655320938874630443334957440504986796482691821671321956789028827829857143695389330952032689488007411167544948807178100994800232254343443282500657764747715245412136786354472172756750615982984108542797844549654745020706288834060299539261296731026086879399844696181129566293487217774340006618826106361900313815905545251253903669532975499395261443757736023323268316965453171 469092580912853942080319480803546179859663725488193863606031224955002227563905881463723870967855189028736523139339379806784374083514767913303038670508045464012720269414075834391645072701781589884679297489130268968060095634544626870950224740233934484230544490212274595927479769605914615239843525150035764439276314673634607200453789046420890909667185251672925162986774457819113817014216188888652836896973533776033897423540797229496358954308219768279226216328191574532214813875973613955332447872812888864136252706909784957103677035986829777543529163003659318269880938846076571215600439319669433166419540078856512849912058731241467330627751044519409430512665581580342158329327687645839853068740913579665222053571369329403548608587337959906532611058627125817556720307517436316078282385817120436844969542856326568672084995803855469929246142247812575466722904943808047597152057156683253917325696334630826323146381574378096049577638505476528990431369140361929077737641847289980634561073911442611791610906852158577943769174453610924603991115773992761081941753775410284910115509215256819031491573216842615342753497472896086482800319020467190083098000024467501583348388789051939844780176971738706843814835999076650532096501058738051704155323821130959762164672011143032559391008877697710591517949427470862234868404567071004972952522148235591579044366183594966369341552675123844048770953026091380947836326169069576998317731728583447785490132985398671437161640464576546891768781987602829997775794715587225901101720130710539660053532108490059023170523836215537673286518294362884823420687043533187034561743881274422936654506006502258131222731115480699808088324133805566720984382186683135826407656270183761729459157252215642477831289051139149667132393116351041750973820364273556546967555090279594119830638425774984608538052112052593354429274339018386885007815785080110819114712715347137647701109353357171074265910143036793741839106726986942834914750774660178149797924895400056226692133136359538833607376255776460071186458486529149760183680029720919819023363628693474013647508254200128118309406308199271573167339943405403214643437404804007389579448263809780679752761352801505770581420896649799729723261253311177216291823867320978 759007739787407854123282820134540997025280843472145395603021251178381435000569268687718048886014282172822966638193391482661611544422150839265632342963198481367023909914502029172708557317586635217234122347357082785555823098157140714700081065275945776000382972181327820761253746285064000447267554477298630794735808231361464979109837836200959422229750916241089599693305090975949328488987740527106875248833193823969228860858211284359007668243911881121119129108720576942739967901177091251577811173122583837224927157279118306096281467587993964072038368542306432601262550672423561169666289153736225655726966380497543745698439688772396262098815314361507276840794776185977670082766984290872877053712963878340168324879161421956948353753448876048376865857567874065419543191760766201986088532659631848531822769808877214201762719658974562092585101365775760940550101841432531770498821466560213890454184502149987858997442862732399421126060994659997941716656898175096728217295923414080898155024240495195745407875709708078732550633871494359706100663086597062795814164774959667592440688311197905893263924573595533844012108292125612736218640573898469524719446587495297448224678435978862207832038526073780716031098474739406896321866873765364772906975664710822118678038670570797302550060137979509428176535558225083599434426805989898218292974505026812273498335090937721151375436332076359192280165521291912593696157745471188626143495098643210541699507490090772367087586975733009561919818166212937995641283795215573210514005608746779225814534790141252971734455088854367573821358579712529180880592096456748521665686197062596786029885523583280998165006274213677826073499169370529299052924674173454514908372962231670957514803143268786587325466527605080520018886245934066674189307268552453788016455031179738196655520575851525248921381183052760260401235867772329138692443440401049693745156050304578152687905836048992745587866932065621571696250422376273786947440262667589317342873702578157221492365390702982116108034020524175316598595272883621932940430645703903927566161473243128758668214543034188417848667604930297660046739788101584344209730892021781729586067089916142580066577258346757024485090429625299124984705011047200539560140832774149 1228100320700261796203602300938087176884944568960339259209052476133383662564475150151441919853869471201559489777532771289445985627936918752568671013471243945379744179328577863564353630019368225101913419836487351753615918732701767585650305805509880260230927462393602416688733515890978615687111079627334395234012122904996072179563626882621850331896936167914014762680079548795063145503203929415759712145806727600003126284399008513855366622552131649400345345436912151474954781777150705206910259045935472701361179864188903263199958503574823741615567531545965750871143489518500132385266728473405658822146506459354056595610498420013863592726566358880916707353460357766319828412094671936712730122453877458005390378450530751360496962340786835954909476916194999882976263499278202518064370918476752285376792312665203782873847715462830032021831243613588336407273006785240579367650878623243467807779880836780814182143824437110495470703699500136526932148026038537025805954937770704061532716098151937807537018782561866656676319808325105284310091778860589823877755918550369952502556197526454724924755497790438149186765605765021699219018959594365659607817446611962799031573067225030802052612215497812487559845934473816057428418367932503416477062299485841781880842710681713829861941069015677220019694484985695945834302831373060903191245496653262403852542701274532687520716989007200203241051118547383293541532483914540765624461226827226658327189640475489443804249227440309556453688600153815767993417078510802799111615725739457318885868066898631311994904978925069905247107876874075414004301279139989935556227430078337019722684391530085539129387737389694377634161823303176096020037306860856590341316029232415432686973960395484429065156755578744230187151279362285108425163127632826010334984010121459332316486159001626509857459433295105353614830510206790716023700259225481160512859868765651715800389015189406163819853777075102415313535357149363216621862191037327767467140798597978213448184498527062520949715410276300635387785053759412771693124110675424823746589525101936602772315722797234316536158073913129569233214079731506987558853168296825789119165515353725923259819338611148262795066511326275098854707966264358377755851964700095127 1987108060487669650326885121072628173910225412432484654812073727311765097565044418839159968739883753374382456415726162772107597172359069591834303356434442426746768089243079892737062187336954860319147542183844434539171741830858908300350386870785826036231310434574930237449987262176042616134378634104633026028747931136357537158673464718822809754126687084155104362373384639771012473992191669942866587394639921423972355145257219798214374290796043530521464474545632728417694749678327796458488070219058056538586107021468021569296239971162817705687605900088272183472406040190923693554933017627141884477873472839851600341308938108786259854825381673242423984194255133952297498494861656227585607176166841336345558703329692173317445316094235712003286342773762873948395806691038968720050459451136384133908615082474080997075610435121804594114416344979364097347823108626673111138149700089803681698234065338930802041141267299842894891829760494796524873864682936712122534172233694118142430871122392433003282426658271574735408870442196599644016192441947186886673570083325329620094996885837652630818019422364033683030777714057147311955237600168264129132536893199458096479797745661009664260444254023886268275877032948555464324740234806268781249969275150552603999520749352284627164491129153656729447871020543921029433737258179050801409538471158289216126041036365470408672092425339276562433331284068675206135228641660011954250604721925869868868889147965580216171336814416042566015608418320028705989058362306018372322129731348204098111682601688772564966639434013924272820929235453787943185181871236446684077893116275399616508714277053668820127552743663908055460235322472546625319090231535030044856224402194647103644488763538753215652482222106349310707170165608219175099352434901378464123000465152639070513141679577478035106380814478158113875231746074563045162392702665882210206605024815956293953076921025455156565441644007168036885231607571739490408809631299995356784483672300556370669676863917765503065823444296824810704383649032296393626064541321128727674155686575179731530983937340268504954006741518059866893260819519608571903062899188847570848751582443642065839885915869495019819551601755900397979692671275405578295412105532869276 3215208381187931446530487422010715350795169981392823914021126203445148760129519568990601888593753224575941946193258934061553582800295988344402974369905686372126512268571657756301415817356323085421060962020331786292787660563560675886000692676295706296462237896968532654138720778067021231821489713731967421262760054041353609338237091601444660086023623252069119125053464188566075619495395599358626299540446649023975481429656228312069740913348175179921809819982544879892649531455478501665398329264993529239947286885656924832496198474737641447303173431634237934343549529709423825940199746100547543300019979299205656936919436528800123447551948032123340691547715491718617326906956328164298337298620718794350949081780222924677942278435022547958195819689957873831372070190317171238114830369613136419285407395139284779949458150584634626136247588592952433755096115411913690505800578713047149506013946175711616223285091736953390362533459994933051806012708975249148340127171464822203963587220544370810819445440833441392085190250521704928326284220807776710551326001875699572597553083364107355742774920154471832217543319822169011174256559762629788740354339811420895511370812886040466313056469521698755835722967422371521753158602738772197727031574636394385880363460033998457026432198169333949467565505529616975268040089552111704600783967811551619978583737640003096192809414346476765674382402616058499676761125574552719875065948753096527196078788441069659975586041856352122469297018473844473982475440816821171433745457087661416997550668587403876961544412938994178068037112327863357189483150376436619634120546353736636231398668583754359256940481053602433094397145775722721339127538395886635197540431427062536331462723934237644717638977685093540894321444970504283524515562534204474457984475274098402829627838579104544963840247773263467490062256281353761186092961891363370719464893581608009753465936214861320385295421082270452198766964721102707030671822337323124251624470898534584117861362444828024015538854573125446092168702791709165319188651996553551420745211677116334303299660137502821490164815431189436126474899251115559461916067485673359967917097797367989099705254480643282614618113082175496834400637539763956051264070232964403 5202316441675601096857372543083343524705395393825308568833199930756913857694563987829761857333636977950324402608985096833661179972655057936237277726340128798873280357814737649038478004693277945740208504204176220831959402394419584186351079547081532332693548331543462891588708040243063847955868347836600447291507985177711146496910556320267469840150310336224223487426848828337088093487587269301492886935086570447947836574913448110284115204144218710443274294528177608310344281133806298123886399484051585778533393907124946401792438445900459152990779331722510117815955569900347519495132763727689427777893452139057257278228374637586383302377329705365764675741970625670914825401817984391883944474787560130696507785109915097995387594529258259961482162463720747779767876881356139958165289820749520553194022477613365777025068585706439220250663933572316531102919224038586801643950278802850831204248011514642418264426359036796285254363220489729576679877391911961270874299405158940346394458342936803814101872099105016127494060692718304572342476662754963597224896085201029192692549969201759986560794342518505515248321033879316323129494159930893917872891233010878991991168558547050130573500723545585024111600000370926986077898837545040978977000849786946989879884209386283084190923327322990678915436526073538004701777347731162506010322438969840836104624774005473504864901839685753328107713686684733705811989767234564674125670670678966396064967936406649876146922856272394688484905436793873179971533803122839543755875188435865515109233270276176441928183846952918450888966347781651300374665021612883303712013662629136252740112945637423179384493224717510488554632468248269346658217769930916680053764833621709639975951487472990860370121199791442851601491610578723458623867997435582938580984940426737473342769518156582580070221062251421581365294002355916806348485664557245580926069918397564303706542857240316476950737065089438489083998572292842197439481453637318481036108143199090954787538226362593527081362298869950256796552351824005558945253193317682279094900898252296065834283597477771326444171556949249303019735718770724131364978966674520930816668680241010054939591170350138302434169714838075894814093308815169534346676175765833679 8417524822863532543387859965094058875500565375218132482854326134202062617824083556820363745927390202526266348802244030895214762772951046280640252096245815170999792626386395405339893822049601031161269466224508007124747062957980260072351772223377238629155786228511995545727428818310085079777358061568567868554268039219064755835147647921712129926173933588293342612480313016903163712982982868660119186475533219471923318004569676422353856117492393890365084114510722488202993812589284799789284728749045115018480680792781871234288636920638100600293952763356748052159505099609771345435332509828236971077913431438262914215147811166386506749929277737489105367289686117389532152308774312556182281773408278925047456866890138022673329872964280807919677982153678621611139947071673311196280120190362656972479429872752650556974526736291073846386911522165268964858015339450500492149750857515897980710261957690354034487711450773749675616896680484662628485890100887210419214426576623762550358045563481174624921317539938457519579250943240009500668760883562740307776222087076728765290103052565867342303569262672977347465864353701485334303750719693523706613245572822299887502539371433090596886557193067283779947322967793298507831057440283813176704032424423341375760247669420281541217355525492324628383002031603154979969817437283274210611106406781392456083208511645476601057711254032230093782096089300792205488750892809117394000736619432062923261046724847719536122508898128746810954202455267717653954009243939660715189620645523526932106783938863580318889728259891912628957003460109514657564148171989319923346134208982872888971511614221177538641433705771112921649029614023992067997345308326803315251305265048772176307414211407228505087760177476536392495813055549227742148383559969787413038969415700835876172397356735687125034061310024685048855356258637270567534578626448608951645534811979172313460008793455177797336032486171708941282765537013944904470153275974641605287732614097625538905399588807421551096901153443075702888721054615714724264441845314235830515646109929412400137583257615274147934336372380438739146210618021839690826895034160194290784585778038378044039296424830781585048787827920251391648493946354933490397940245998798082 13619841264539133640245232508177402400205960769043441051687526064958976475518647544650125603261027180476590751411229127728875942745606104216877529822585943969873072984201133054378371826742878976901477970428684227956706465352399844258702851770458770961849334560055458437316136858553148927733226409405168315845776024396775902332058204241979599766324243924517566099907161845240251806470570137961612073410619789919871154579483124532637971321636612600808358409038900096513338093723091097913171128233096700797014074699906817636081075366538559753284732095079258169975460669510118864930465273555926398855806883577320171493376185803972890052306607442854870043031656743060446977710592296948066226248195839055743964652000053120668717467493539067881160144617399369390907823953029451154445410011112177525673452350366016333999595321997513066637575455737585495960934563489087293793701136318748811914509969204996452752137809810545960871259900974392205165767492799171690088725981782702896752503906417978439023189639043473647073311635958314073011237546317703905001118172277757957982653021767627328864363605191482862714185387580801657433244879624417624486136805833178879493707929980140727460057916612868804058922968164225493908956277828854155681033274210288365640131878806564625408278852815315307298438557676692984671594785014436716621428845751233292187833285650950105922613093717983421889809775985525911300740660043682068126407290111029319326014661254369412269431754401141499439107892061590833925543047062500258945495833959392447216017209139756760817912106844831079845969807891165957938813193602203227058147871612009141711624559858600718025926930488623410203662082272261414655563078257719995305070098670481816283365698880219365457881377267979244097304666127951200772251557405370351619954356127573349515166874892269705104282372276106630220650260993187373883064291005854532571604730376736617166551650695494274286769551261147430366764109306787101909634729611960086323840757296716493692937815170015078178263452313025959685273406439720283209695038631918109610547008181708465971866855093045474378507929329688042165946336792563822191874000834715221601254458279388098978887595180919887482957542758327286462587255170103024744616421764631761 22037366087402666183633092473271461275706526144261573534541852199161039093342731101470489349188417383002857100213473158624090705518557150497517781918831759140872865610587528459718265648792480008062747436653192235081453528310380104331054623993836009591005120788567453983043565676863234007510584470973736184400044063615840658167205852163691729692498177512810908712387474862143415519453553006621731259886153009391794472584052800954991827439129006491173442523549622584716331906312375897702455856982141815815494755492688688870369712287176660353578684858436006222134965769119890210365797783384163369933720315015583085708523996970359396802235885180343975410321342860449979130019366609504248508021604117980791421518890191143342047340457819875800838126771077991002047771024702762350725530201474834498152882223118666890974122058288586913024486977902854460818949902939587785943451993834646792624771926895350487239849260584295636488156581459054833651657593686382109303152558406465447110549469899153063944507178981931166652562579198323573679998429880444212777340259354486723272756074333494671167932867864460210180049741282286991736995599317941331099382378655478766996247301413231324346615109680152584006245935957524001740013718112667332385065698633629741400379548226846166625634378307639935681440589279847964641412222297710927232535252532625748271041797296426706980324347750213515671905865286318116789491552852799462127143909543092242587061386102088948391940652529888310393310347329308487879552291002160974135116479482919379322801148003337079707640366736743708802973268000680615502961365591523150404282080594882030683136174079778256667360636259736331852691696296253482652908386584523310556375363719253992590779910287447870545641554744515636593117721677178942920635117375157764658923771828409225687564231627956830138343682300791679076006519630457941417642917454463484217139542355908930626560444150672071622802037432856371649529646320732006379788005586601691611573371394342032598337403977436629275164605756101662573994461055435007474136883946153940126193118111120866109450112708319622312844301710126781312156954814403513018769034994909512385840236317766143018184020011701472531745370678578678111081201525036515142556667763429843 35657207351941799823878324981448863675912486913305014586229378264120015568861378646120614952449444563479447851624702286352966648264163254714395311741417703110745938594788661514096637475535358984964225407081876463038159993662779948589757475764294780552854455348622912420359702535416382935243810880378904500245820088012616560499264056405671329458822421437328474812294636707383667325924123144583343333296772799311665627163535925487629798760765619091981800932588522681229670000035466995615626985215238516612508830192595506506450787653715220106863416953515264392110426438630009075296263056940089768789527198592903257201900182774332286854542492623198845453352999603510426107729958906452314734269799957036535386170890244264010764807951358943681998271388477360392955594977732213505170940212587012023826334573484683224973717380286099979662062433640439956779884466428675079737153130153395604539281896100346939991987070394841597359416482433447038817425086485553799391878540189168343863053376317131502967696818025404813725874215156637646691235976198148117778458431632244681255409096101122000032296473055943072894235128863088649170240478942358955585519184488657646489955231393372051806673026293021388065168904121749495648969995941521488066098972843918107040511427033410792033913231122955242979879146956540949313007007312147643853964098283859040458875082947376812902937441468196937561715641271844028090232212896481530253551199654121561913076047356458360661372406931029809832418239390899321805095338064661233080612313442311826538818357143093840525552473581574788648943075891846573441774559193726377462429952206891172394760733938378974693287566748359742056353778568514897308471464842243305861445462389735808874145609167667236003522932012494880690422387805130143692886674780528116278878127955982575202731106520226535242626054576898309296656780623645315300707208460318016788744272732645547793112094846166345909571588694003802016293755627519108289422735198561777935414128691058526291275219147451707453428058069127622259267867495155290683831922578072049736740126292829332081316967801365096691352231039814823478103291606967335210643035829624733987094694597154241997071615192621360014702913436905964573668456695139539887173089528061604 57694573439344466007511417454720324951619013057566588120771230463281054662204109747591104301637861946482304951838175444977057353782720405211913093660249462251618804205376189973814903124327838993026972843735068698119613521973160052920812099758130790143859576137190366403403268212279616942754395351352640684645864151628457218666469908569363059151320598950139383524682111569527082845377676151205074593182925808703460099747588726442621626199894625583155243456138145265946001906347842893318082842197380332428003585685284195376820499940891880460442101811951270614245392207749899285662060840324253138723247513608486342910424179744691683656778377803542820863674342463960405237749325515956563242291404075017326807689780435407352812148409178819482836398159555351395003366002434975855896470414061846521979216796603350115947839438574686892686549411543294417598834369368262865680605123988042397164053822995697427231836330979137233847573063892501872469082680171935908695031098595633790973602846216284566912203997007335980378436794354961220371234406078592330555798690986731404528165170434616671200229340920403283074284870145375640907236078260300286684901563144136413486202532806603376153288135973173972071414840079273497388983714054188820451164671477547848440890975260256958659547609430595178661319736236388913954419229609858571086499350816484788729916880243803519883261789218410453233621506558162144879723765749280992380695109197213804500137433458547309053313059460918120225728586720207809684647629066822207215728792925231205861619505146430920233192840318318497451916343892527188944735924785249527866712032801773203077896908018157231360648203008096073909045474864768379961379851426766616417820826108989801464925519455115106549164486757010517283540109482309086613521792155685880937801899784391800890295338148183365380969736877689988372663300254103256718350125914781501005883815088554478419672538996838417532373626126860173665823401948251114669210740785163469546987500085400558889612623124888336728592663825229284833262328550590298157968806524225989862933244403950198190767080509684719004196532749941604790260246421370848229412070824534246372934930914920385015255635204322832546448284115484642684749658220176055029729757291491447 93351780791286265831389742436169188627531499970871602707000608727401070231065488393711719254087306509961752803462877731330024002046883659926308405401667165362364742800164851487911540599863197977991198250816945161157773515635940001510569575522425570696714031485813278823762970747695999877998206231731545184891684239641073779165733964975034388610143020387467858336976748276910750171301799295788417926479698608015125726911124651930251424960660244675137044388726667947175671906383309888933709827412618849040512415877879701883271287594607100567305518765466535006355818646379908360958323897264342907512774712201389600112324362519023970511320870426741666317027342067470831345479284422408877976561204032053862193860670679671363576956360537763164834669548032711787958960980167189361067410626648858545805551370088033340921556818860786872348611845183734374378718835796937945417758254141438001703335719096044367223823401373978831206989546325948911286507766657489708086909638784802134836656222533416069879900815032740794104311009511598867062470382276740448334257122618976085783574266535738671232525813976346355968519999008464290077476557202659242270420747632794059976157764199975427959961162266195360136583744201022993037953709995710308517263644321465955481402402293667750693460840553550421641198883192929863267426236922006214940463449100343829188791963191180332786199230686607390795337147830006172969955978645762522634246308851335366413213480815005669714685466391947930058146826111107131489742967131483440296341106367543032400437862289524760758745313899893286100859419784373762386510483978975905329141985008664375472657641956536206053935769756455815965399253433283277269851316269009922279266288498725610339071128622782342552687418769505397973962497287439230306408466936213997216680027740374376093026444668409900623595791454588297669320080877748572019057334375099517794628087821200026212784633843004763441945214820863975682117157575770222958633475983725247482401628776459085180887842272340044182020721894356907092530196045745588841800729102298039599673370696779530272084048311049815695548763789756428268363538028338183440055106654158980360029625512074627012327250396944192561151197552390607258418114915315594916902846819553051 151046354230630731838901159890889513579150513028438190827771839190682124893269598141302823555725168456444057755301053176307081355829604065138221499061916627613983547005541041461726443724191036971018171094552013859277387037609100054431381675280556360840573607623003645227166238959975616820752601583084185869537548391269530997832203873544397447761463619337607241861658859846437833016679475446993492519662624416718585826658713378372873051160554870258292287844864813213121673812731152782251792669609999181468516001563163897260091787535498981027747620577417805620601210854129807646620384737588596046236022225809875943022748542263715654168099248230284487180701684531431236583228609938365441218852608107071189001550451115078716389104769716582647671067707588063182962326982602165216963881040710705067784768166691383456869396257435473765035161256727028791977553205165200811098363378129480398867389542091741794455659732353116065054562610218450783755590446829425616781940737380435925810259068749700636792104812040076774482747803866560087433704788355332778890055813605707490311739436970355342432755154896749639042804869153839930984712635462959528955322310776930473462360297006578804113249298239369332207998584280296490426937424049899128968428315799013803922293377553924709353008449984145600302518619429318777221845466531864786026962799916828617918708843434983852669461019905017844028958654388168317849679744395043515014941418048549170913350914273552978767998525852866050283875412831314941174390596198305647512069899292774238262057367435955680991938154218211783552775763676900951331246408764225433195854017810437578550554549974693437414583972764551889874444728298051657231231167695776538697087114607715411803996648077897449101851905526515915257502606769748316919930259091899878154481927524766176983321782816593266004565528332278286041983381131851828737407460289881018800511902909754504632457172839843180974318840947724149347940559524021337627844216768888717029389128861859644070500465397228380910613385719586191925792524596335886999769535626524029462606615100729728462851128820734534699745296539698033058623784449709031669467177478693226732964556426995012027582885601267025107599481667875249943167773135491649946632604111044498 244398135021916997670290902327058702206682012999309793534772447918083195124335086535014542809812474966405810558763930907637105357876487725064529904463583792976348289805705892949637984324054234949009369345368959020435160553245040055941951250802981931537287639108816924050929209707671616698750807814815731054429232630910604776997937838519431836371606639725075100198635608123348583187981274742781910446142323024733711553569838030303124476121215114933429332233591481160297345719114462671185502497022618030509028417441043599143363075130106081595053139342884340626957029500509716007578708634852938953748796938011265543135072904782739624679420118657026153497729026598902067928707894360774319195413812139125051195411121794750079966061130254345812505737255620774970921287962769354578031291667359563613590319536779416797790953076296260637383773101910763166356272040962138756516121632270918400570725261187786161679483133727094896261552156544399695042098213486915324868850376165238060646915291283116706672005627072817568587058813378158954496175170632073227224312936224683576095313703506094013665280968873095995011324868162304221062189192665618771225743058409724533438518061206554232073210460505564692344582328481319483464891134045609437485691960120479759403695779847592460046469290537696021943717502622248640489271703453871000967426249017172447107500806626164185455660250591625234824295802218174490819635723040806037649187726899884537326564395088558648482683992244813980342022238942422072664133563329789087808411005660317270662495229725480441750683468118105069653635183461274713717756892743201338524996002819101954023212191931229643468519742521007705839843981731334934501082483964786460976353403106441022143067776700679791654539324296021313231465104057187547226338726028113875371161955265140553076348227485003166628161319786866583711303462009600400756464794664980536595139990730954530845241806682847944416264055768588125030057717099791560586477692752613964511790757638318729251388307669568425092634107613943099018322720642081475841570264728822069062279985797509258734935177131784350395294060329454461326987322478047215109522284132852207092994181939069639039910135998211217668750679220265857201585888050807244863535450930597549 395444489252547729509192062217948215785832526027747984362544287108765320017604684676317366365537643422849868314064984083944186713706091790202751403525500420590331836811246934411364428048245271920027540439920972879712547590854140110373332926083538292377861246731820569278095448667647233519503409397899916923966781022180135774830141712063829284133070259062682342060294467969786416204660750189775402965804947441452297380228551408675997527281769985191721620078456294373419019531845615453437295166632617211977544419004207496403454862665605062622800759920302146247558240354639523654199093372441534999984819163821141486157821447046455278847519366887310640678430711130333304511936504299139760414266420246196240196961572909828796355165899970928460176804963208838153883614945371519794995172708070268681375087703470800254660349333731734402418934358637791958333825246127339567614485010400398799438114803279527956135142866080210961316114766762850478797688660316340941650791113545673986457174360032817343464110439112894343069806617244719041929879958987406006114368749830391066407053140476449356098036123769845634054129737316144152046901828128578300181065369186655006900878358213133036186459758744934024552580912761615973891828558095508566454120275919493563325989157401517169399477740521841622246236122051567417711117169985735786994389048934001065026209650061148038125121270496643078853254456606342808669315467435849552664129144948433708239915309362111627250682518097680030625897651773737013838524159528094735320480904953091508924552597161436122742621622336316853206410947138175665049003301507426771720850020629539532573766741905923080883103715285559595714288710029386591732313651660562999673440517714156433947064424778577240756391229822537228488967710826935864146268985120013753525643882789906730059670010301596432632726848119144869753286843141452229493872254954861555395651893640709035477698979522691125390582896716312274377998276623812898214321909521502681541179886500178373321888773066796806003247493333529290944115245238417362841339800355346098524886600898238987197786305952518885095039356869152494385611106927756246778989461611545433825958738366064651067493021599478242776350160888141107144753661186298894810168055041642047 639842624274464727179482964545006917992514539027057777897316735026848515141939771211331909175350118389255678872828914991581292071582579515267281307989084213566680126616952827361002412372299506869036909785289931900147708144099180166315284176886520223915148885840637493329024658375318850218254217212715647978396013653090740551828079550583261120504676898787757442258930076093134999392642024932557313411947270466186008933798389438979122003402985100125150952312047775533716365250960078124622797663655235242486572836445251095546817937795711144217853899263186486874515269855149239661777802007294473953733616101832407029292894351829194903526939485544336794176159737729235372440644398659914079609680232385321291392372694704578876321227030225274272682542218829613124804902908140874373026464375429832294965407240250217052451302410027995039802707460548555124690097287089478324130606642671317200008840064467314117814625999807305857577666923307250173839786873803256266519641489710912047104089651315934050136116066185711911656865430622877996426055129619479233338681686055074642502366843982543369763317092642941629065454605478448373109091020794197071406808427596379540339396419419687268259670219250498716897163241242935457356719692141118003939812236039973322729684937249109629445947031059537644189953624673816058200388873439606787961815297951173512133710456687312223580781521088268313677550258824517299488951190476655590313316871848318245566479704450670275733366510342494010967919890716159086502657722857883823128891910613408779587047826886916564493305090454421922860046130599450378766760194250628110245846023448641486596978933837152724351623457806567301554132691760721526233396135625349460649793920820597456090132201479257032410930554118558541720432814884123411372607711148127628896805838055047283136018237786599599260888167906011453464590305151052630250337049619842091990791884371663566322940786205539069806846952484900399408055993723604458800799602274116646052970644138497102573277080736365231095881600947472389962437965880498838682910065084168167587166586695748245932721483084303235490333417198606955712598429405803461888511745744397640918952920305134290107403157597689460445100840108406964346339549237106139673703505972239596 1035287113527012456688675026762955133778347065054805762259861022135613835159544455887649275540887761812105547186893899075525478785288671305470032711514584634157011963428199761772366840420544778789064450225210904779860255734953320276688617102970058516293010132572458062607120107042966083737757626610615564902362794675270876326658221262647090404637747157850439784319224544062921415597302775122332716377752217907638306314026940847655119530684755085316872572390504069907135384782805693578060092830287852454464117255449458591950272800461316206840654659183488633122073510209788763315976895379736008953718435265653548515450715798875650182374458852431647434854590448859568676952580902959053840023946652631517531589334267614407672676392930196202732859347182038451278688517853512394168021637083500100976340494943721017307111651743759729442221641819186347083023922533216817891745091653071715999446954867746842073949768865887516818893781690070100652637475534119597208170432603256586033561264011348751393600226505298606254726672047867597038355935088606885239453050435885465708909419984458992725861353216412787263119584342794592525155992848922775371587873796783034547240274777632820304446129977995432741449744154004551431248548250236626570393932511959466886055674094650626798845424771581379266436189746725383475911506043425342574956204346885174577159920106748460261705902791584911392530804715430860108158266657912505142977446016796751953806395013812781902984049028440174041593817542489896100341181882385978558449372815566500288511600424048352687235926712790738776066457077737626043815763495758054881966696044078181019170745675743075805234727173092126897268421401790108117965709787285912460323234438534753890037196626257834273167321783941095770209400525711059275518876696268141382422449720844954013195688248088196031893615016025156323217877148292504859744209304574703647386443778012372601800639765728230195197429849201212673786054270347417357015121511795619327594150530638675475895165853803162037099129094281001680906553211118916201524249865439514266112053187593987233130507789036822120585372774067759450098209536333559708667501207355943074744911658671198941174896179197167703221451000996548071491093210423405034483871561013881643 1675129737801477183868157991307962051770861604081863540157177757162462350301484227098981184716237880201361226059722814067106770856871250820737314019503668847723692090045152589133369252792844285658101360010500836680007963879052500443003901279856578740208159018413095555936144765418284933956011843823331212880758808328361616878486300813230351525142424056638197226578154620156056414989944800054890029789699488373824315247825330286634241534087740185442023524702551845440851750033765771702682890493943087696950690091894709687497090738257027351058508558446675119996588780064938002977754697387030482907452051367485955544743610150704845085901398337975984229030750186588804049393225301618967919633626885016838822981706962318986548997619960421477005541889400868064403493420761653268541048101458929933271305902183971234359562954153787724482024349279734902207714019820306296215875698295743033199455794932214156191764394865694822676471448613377350826477262407922853474690074092967498080665353662664685443736342571484318166383537478490475034781990218226364472791732121940540351411786828441536095624670309055728892185038948273040898265083869716972442994682224379414087579671197052507572705800197245931458346907395247486888605267942377744574333744747999440208785359031899736428291371802640916910626143371399199534111894916864949362918019644836348089293630563435772485286684312673179706208354974255377407647217848389160733290762888645070199372874718263452178717415538782668052561737433206055186843839605243862381578264726179909068098648250935269251729231803245160698926503208337076422582523690008682992212542067526822505767724609580228529586350630898694198822554093550829644199105922911261920973028359355351346127328827737091305578252338059654311929833340595182686891484407416269011319255558900001296331706485874795631154503183931167776682467453443557489994546354194545739377235662384036168123580551933769265004276801686113073194110264071021815815921114069735973647121174777172578468442934539527268195010695228474070868991176999415040207159930523682433699219774289735479063229272121125356075706191266366405810807965739363170556012953100340715663864578976333231282299336794857163666551841104955035837432759660511174157575066986121239 2710416851328489640556833018070917185549208669136669302417038779298076185461028682986630460257125642013466773246616713142632249642159922126207346731018253481880704053473352350905736093213389064447165810235711741459868219614005820719692518382826637256501169150985553618543264872461251017693769470433946777783121603003632493205144522075877441929780171214488637010897379164218977830587247575177222746167451706281462621561852271134289361064772495270758896097093055915347987134816571465280742983324230940151414807347344168279447363538718343557899163217630163753118662290274726766293731592766766491861170486633139504060194325949580495268275857190407631663885340635448372726345806204578021759657573537648356354571041229933394221674012890617679738401236582906515682181938615165662709069738542430034247646397127692251666674605897547453924245991098921249290737942353523114107620789948814749198902749799960998265714163731582339495365230303447451479114737942042450682860506696224084114226617674013436837336569076782924421110209526358072073137925306833249712244782557826006060321206812900528821486023525468516155304623291067633423421076718639747814582556021162448634819945974685327877151930175241364199796651549252038319853816192614371144727677259958907094841033126550363227136796574222296177062333118124583010023400960290291937874223991721522666453550670184232746992587104258091098739159689686237515805484506301665876268208905441822153179269732076234081701464567222842094155554975695951287185021487629840940027637541746409356610248674983621938965158516035899474992960286074702466398287185766737874179238111605003524938470285323304334821077803990821096090975495340937762164815710197174381296262797890105236164525453994925578745574122000750082139233866306241962410361103684410393741705279744955309527394733962991663048118199956324099900344601736062349738755658769249386763679440396408769924220317661999460201706650887325746980164534418439172831042625865355301241271705415848054363608788342689305294139789509475751775544388118331241731409795963196699811272961883722712193737061157947476661078965334125855909017502072922879223514160456283790408776237647532172457195515992024866888002842101503107328525970083916208641446628000002882 4385546589129966824424991009378879237320070273218532842574216536460538535762512910085611644973363522214827999306339527209739020499031172946944660750521922329604396143518504940039105346006233350105267170246212578139876183493058321162696419662683215996709328169398649174479409637879535951649781314257277990663880411331994110083630822889107793454922595271126834237475533784375034245577192375232112775957151194655286936809677601420923602598860235456200919621795607760788838884850337236983425873818174027848365497439238877966944454276975370908957671776076838873115251070339664769271486290153796974768622538000625459604937936100285340354177255528383615892916090822037176775739031506196989679291200422665195177552748192252380770671632851039156743943125983774580085675359376818931250117840001359967518952299311663486026237560051335178406270340378656151498451962173829410323496488244557782398358544732175154457478558597277162171836678916824802305592000349965304157550580789191582194891971336678122281072911648267242587493747004848547107919915525059614185036514679766546411732993641342064917110693834524245047489662239340674321686160588356720257577238245541862722399617171737835449857730372487295658143558944499525208459084134992115719061422007958347303626392158450099655428168376863213087688476489523782544135295877155241300792243636557870755747181233620005232279271416931270804947514663941614923452702354690826609558971794086892352552144450339686260418880106005510146717292408902006474028861092873703321605902267926318424708896925918891190694390319281060173919463494411778888980810875775420866391780179131826030706194894903532864407428434889515294913529588891767406363921633108436302269291157245456582291854281732016884323826460060404394069067206901424649301845511100679405060960838644956605859101219837787294202621383887491876582812055179619839733302012963795126140915102780444938047800869595768725205983452573438820174274798489460988646963739935091274888392880193020632832051722882216573489150484737949822644535565117746281938569726486879133510492736173458191256966333279072832736785156600492261719825467812286049779527113556624506072640816623865403739494852786882030554554683206458143165958729744427382799021694986124121 7095963440458456464981824027449796422869278942355202144991255315758614721223541593072242105230489164228294772552956240352371270141191095073152007481540175811485100196991857290944841439219622414552432980481924319599744403107064141882388938045509853253210497320384202793022674510340786969343550784691224768447002014335626603288775344964985235384702766485615471248372912948594012076164439950409335522124602900936749558371529872555212963663632730726959815718888663676136826019666908702264168857142404967999780304786583046246391817815693714466856834993707002626233913360614391535565217882920563466629793024633764963665132262049865835622453112718791247556801431457485549502084837710775011438948773960313551532123789422185774992345645741656836482344362566681095767857297991984593959187578543790001766598696439355737692912165948882632330516331477577400789189904527352524431117278193372531597261294532136152723192722328859501667201909220272253784706738292007754840411087485415666309118589010691559118409480725050167008603956531206619181057840831892863897281297237592552472054200454242593738596717359992761202794285530408307745107237306996468072159794266704311357219563146423163327009660547728659857940210493751563528312900327606486863789099267917254398467425285000462882564964951085509264750809607648365554158696837445533238666467628279393422200731903804237979271858521189361903686674353627852439258186860992492485827180699528714505731414182415920342120344673228352240872847384597957761213882580503544261633539809672727781319145600902513129659548835316959648912423780486481355379098061542158740571018290736829555644665180226837199228506238880336391004505084232705168528737343305610683565553955135561818456379735726942463069400582061154476208301073207666611712206614785089798802666118389911915386495953800778957250739583843815976483156656915682189472057671733044512904594543176853707972021187257768185407690103460764567154439332907900161478006365800446576129664585608868687195660511224905878783290274247425574420079953236077523669979522450075833321765698057180903450703394437020309397864121934618117628842969885208929003041274012908296481417054271397576196690368778906897442557525307961250494484699828343591440468322986127003 11481510029588423289406815036828675660189349215573734987565471852219153256986054503157853750203852686443122771859295767562110290640222268020096668232062098141089496340510362230983946785225855764657700150728136897739620586600122463045085357708193069249919825489782851967502084148220322920993332098948502759110882425667620713372406167854093028839625361756742305485848446732969046321741632325641448298081754095592036495181207473976136566262492966183160735340684271436925664904517245939247594730960578995848145802225821924213336272092669085375814506769783841499349164430954056304836704173074360441398415562634390423270070198150151175976630368247174863449717522279522726277823869216972001118239974382978746709676537614438155763017278592695993226287488550455675853532657368803525209305418545149969285550995751019223719149726000217810736786671856233552287641866701181934754613766437930313995619839264311307180671280926136663839038588137097056090298738641973058997961668274607248504010560347369681399482392373317409596097703536055166288977756356952478082317811917359098883787194095584658655707411194517006250283947769748982066793397895353188329737032512246174079619180318160998776867390920215955516083769438251088736771984462598602582850521275875601702093817443450562537993133327948722352439286097172148098293992714600774539458711264837264177947913137424243211551129938120632708634189017569467362710889215683319095386152493615606858283558632755606602539224779233862387590139793499964235242743673377247583239442077599046206028042526821404320353939154598019822831887274898260244359908937317579606962798469868655586350860075130370063635934673769851685918034673124472574892658976414046985834845112381018400748234017458959347393227042121558870277368280109091261014052125885769203863626957034868521245597173638566251453360967731307853065968712095302029205359684696839639045509645957298646019822056853536910613673556034203387328714131397361150124970105735537851018057465801889320027712234107122452272440758985375397064615518353823805608549248936954966832258434230639094707669727716093142134649278535110379348668437697494978782568387569532802554057870895262979936185221565788927997112208514419393660443429572770974239490017972251124 18577473470046879754388639064278472083058628157928937132556727167977767978209596096230095855434341850671417544412252007914481560781413363093248675713602273952574596537502219521928788224445478179210133131210061217339364989707186604927474295753702922503130322810167054760524758658561109890336882883639727527557884440003247316661181512819078264224328128242357776734221359681563058397906072276050783820206356996528786053552737346531349529926125696910120551059572935113062490924184154641511763588102983963847926107012404970459728089908362799842671341763490844125583077791568447840401922055994923908028208587268155386935202460200017011599083480965966111006518953737008275779908706927747012557188748343292298241800327036623930755362924334352829708631851117136771621389955360788119168492997088939971052149692190374961412061891949100443067303003333810953076831771228534459185731044631302845592881133796447459903864003254996165506240497357369309875005476933980813838372755760022914813129149358061240517891873098367576604701660067261785470035597188845341979599109154951651355841394549827252394304128554509767453078233300157289811900635202349656401896826778950485436838743464584162103877051467944615374023979932002652265084884790205089446639620543792856100561242728451025420558098279034231617190095704820513652452689552046307778125178893116657600148645041228481190822988459309994612320863371197319801969076076675811581213333193144321364014972815171526944659569452462214628462987178097921996456626253880791844872981887271773987347188127723917450013487989914979471744311055384741599739006998859738347533816760605485141995525255357207262864440912650188076922539757357177743421396319719657669400399067516580219204613753185901810462627624182713346485669353316757872726258740670859002666293075424780436632093127439345208704100551575123829549125369010984218677417356429884151950104189134152353991843244111305096021363659494967954483153464305261311602976471535984427147722051410758007223372745332028331055731033232800971484695471589901329278528771387030800154024132287819998158373122153113451532513400469728496977511407582703907785609661582441099035474925166660556132875590344695825439669733822380644154928129401114565679958340958378127 30058983499635303043795454101107147743247977373502672120122199020196921235195650599387949605638194537114540316271547775476591851421635631113345343945664372093664092878012581752912735009671333943867833281938198115078985576307309067972559653461895991753050148299949906728026842806781432811330214982588230286668766865670868030033587680673171293063953489999100082220069806414532104719647704601692232118288111092120822548733944820507486096188618663093281286400257206549988155828701400580759358319063562959696071909238226894673064362001031885218485848533274685624932242222522504145238626229069284349426624149902545810205272658350168187575713849213140974456236476016531002057732576144719013675428722726271044951476864651062086518380202927048822934919339667592447474922612729591644377798415634089940337700687941394185131211617949318253804089675190044505364473637929716393940344811069233159588500973060758767084535284181132829345279085494466365965304215575953872836334424034630163317139709705430921917374265471684986200799363603316951759013353545797820061916921072310750239628588645411911050011539749026773703362181069906271878694033097702844731633859291196659516457923782745160880744442388160570890107749370253741001856869252803692029490141819668457802655060171901587958551231606982953969629381801992661750746682266647082317583890157953921778096558178652724402374118397430627320955052388766787164679965292359130676599485686759928222298531447927133547198794231696077016053126971597886231699369927258039428112423964870820193375230654545321770367427144512999294576198330283001844098915936177317954496615230474140728346385330487577326500375586420039762840574430481650318314055296133704655235244179897598619952847770644861157855854666304272216763037633425849133740310866556628206529920032459648957877690301077911460157461519306431682615094081106286247882777041126723790995613835091451000011665300964842006635037215529171341811867595702622461727946577271522278165779517212647327251084979439150783328171792218176368549310989943725134887078020323985766986282566518459092866042849869206593667162679004838876326179845280198886568178049151973901589532796061923536069060811910484753436781942336800037815371558973885539919448358930629251 48636456969682182798184093165385619826306605531431609252678926188174689213405246695618045461072536387785957860683799783391073412203048994206594019659266646046238689415514801274841523234116812123077966413148259332418350566014495672900033949215598914256180471110116961488551601465342542701667097866227957814226651305674115346694769193492249557288281618241457858954291166096095163117553776877743015938494468088649608602286682167038835626114744360003401837459830141663050646752885555222271121907166546923543998016250631865132792451909394685061157190296765529750515320014090951985640548285064208257454832737170701197140475118550185199174797330179107085462755429753539277837641283072466026232617471069563343193277191687686017273743127261401652643551190784729219096312568090379763546291412723029911389850380131769146543273509898418696871392678523855458441305409158250853126075855700536005181382106857206226988399287436128994851519582851835675840309692509934686674707179794653078130268859063492162435266138570052562805501023670578737229048950734643162041516030227262401595469983195239163444315668303536541156440414370063561690594668300052501133530686070147144953296667247329322984621493856105186264131729302256393266941754043008781476129762363461313903216302900352613379109329886017185586819477506813175403199371818693390095709069051070579378245203219881205593197106856740621933275915759964106966649041369034942257812818879904249586313504263098660491858363684158291644516114149695808228155996181138831272985405852142594180722418782269239220380915134427978766320509385667743443837922935037056302030431991079625870341910585844784589364816499070227839763114187838828061735451615853362324635643247414178839157461523830762968318482290486985563248706986742607006466569607227487209196213107884429394509783428517256668861562070881555512164219450117270466560194397556607942945718024225603354003508545076147102656400875024139296295021060007883773330923048807506705313501568623405334474457724771179114383902825450977340034006461533626464165606791711016567140306698806279091024415972022320045199676079474567373303691252862902794353787710734415000625007721228584092201936402255180578876451676159180681970299688375000105599406699889007378 78695440469317485841979547266492767569554582904934281372801125208371610448600897295005995066710730924900498176955347558867665263624684625319939363604931018139902782293527383027754258243788146066945799695086457447497336142321804740872593602677494906009230619410066868216578444272123975512997312848816188100895418171344983376728356874165420850352235108240557941174360972510627267837201481479435248056782579180770431151020626987546321722303363023096683123860087348213038802581586955803030480226230109883240069925488858759805856813910426570279643038830040215375447562236613456130879174514133492606881456887073247007345747776900353386750511179392248059918991905770070279895373859217185039908046193795834388144754056338748103792123330188450475578470530452321666571235180819971407924089828357119851727551068073163331674485127847736950675482353713899963805779047087967247066420666769769164769883079917964994072934571617261824196798668346302041805613908085888559511041603829283241447408568768923084352640404041737549006300387273895688988062304280440982103432951299573151835098571840651074494327208052563314859802595439969833569288701397755345865164545361343804469754591030074483865365936244265757154239478672510134268798623295812473505619904183129771705871363072254201337660561493000139556448859308805837153946054085340472413292959209024501156341761398533929995571225254171249254230968148730894131329006661394072934412304566664177808612035711025794039057157915854368660569241121293694459855366108396870701097829817013414374097649436814560990748342278940978060896707715950745287936838871214374256527047221553766598688295916332361915865192085490267602603688618320478380049506911987066979870887427311777459110309294475624126174336956791257780011744620168456140206880473784115415726133140344078352387473729595168129019023590187987194779313531223556714442971438683331733941331859317054354015173846040989109291438090553310638106888655710506235058869626079028983479281085836052661725542704210329897712074617669153708583317451477351599052684812035002334126589265324738183890458821891526638866838758479406249629871098143101680921965759886388902214540517290507628270997214165665332313233618495980719785671247348885645518855058819636629 127331897438999668640163640431878387395861188436365890625480051396546299662006143990624040527783267312686456037639147342258738675827733619526533383264197664186141471709042184302595781477904958190023766108234716779915686708336300413772627551893093820265411090520183829705130045737466518214664410715044145915122069477019098723423126067657670407640516726482015800128652138606722430954755258357178263995277047269420039753307309154585157348418107383100084961319917489876089449334472511025301602133396656806784067941739490624938649265819821255340800229126805745125962882250704408116519722799197700864336289624243948204486222895450538585925308509571355145381747335523609557733015142289651066140663664865397731338031248026434121065866457449852128222021721237050885667547748910351171470381241080149763117401448204932478217758637746155647546875032237755422247084456246218100192496522470305169951265186775171221061333859053390819048318251198137717645923600595823246185748783623936319577677427832415246787906542611790111811801410944474426217111255015084144144948981526835553430568555035890237938642876356099856016243009810033395259883369697807846998695231431490949423051258277403806849987430100370943418371207974766527535740377338821254981749666546591085609087665972606814716769891379017325143268336815619012557145425904033862509002028260095080534586964618415135588768332110911871187506883908695001097978048030429015192225123446568427394925539974124454530915521600012660305085355270989502688011362289535701974083235669156008554820068219083800211129257413368956827217217101618488731774761806251430558557479212633392469030206502177146505230008584560495442366802806159306441784958527840429304506530674725956298267770818306387094492819247278243343260451606911063146673450081011602624922346248228507746897257158112424797880585661069542706943532981340827181003165836239939676887049883542657708018682391117136211947838965577449934401909715718390008389792674886535688792782654459457996200000428981509012095977443120131048617323913010978063218291603746018901266895964131017274914874793913846684066514837953973622933562351006004475275753470620803902839548238519091720472933616420845911189685294655161401755970935723885751118261758708644007 206027337908317154482143187698371154965415771341300171998281176604917910110607041285630035594493998237586954214594494901126403939452418244846472746869128682326044254002569567330350039721693104256969565803321174227413022850658105154645221154570588726274641709930250697921708490009590493727661723563860334016017487648364082100151482941823091257992751834722573741303013111117349698791956739836613512052059626450190470904327936142131479070721470406196768085180004838089128251916059466828332082359626766690024137867228349384744506079730247825620443267956845960501410444487317864247398897313331193471217746511317195211831970672350891972675819688963603205300739241293679837628389001506836106048709858661232119482785304365182224857989787638302603800492251689372552238782929730322579394471069437269614844952516278095809892243765593892598222357385951655386052863503334185347258917189240074334721148266693136215134268430670652643245116919544439759451537508681711805696790387453219561025085996601338331140546946653527660818101798218370115205173559295525126248381932826408705265667126876541312432970084408663170876045605250003228829172071095563192863859776792834753892805849307478290715353366344636700572610686647276661804539000634633728487369570729720857314959029044861016054430452872017464699717196124424849711091479989374334922294987469119581690928726016949065584339557365083120441737852057425895229307054691823088126637428013232605203537575685150248569972679515867028965654596392283197147866728397932572675181065486169422928917717655898361201877599692309934888113924817569234019711600677465804815084526434187159067718502418509508421095200670050763044970491424479784821834465439827496284377418102037733757378080112782011220667156204069501123272196227079519286880330554795718040648479388572586099284730887707592926899609251257529901722846512564383895446137274923271410828381742859712062033856237158125321239277056130760572508798371428896243448662300965564672272063740295510657925543133191838909808052060789284757200641364488329662270976415781021235393485229455755458805333615805373322933353596433379872563433449149106156197719230507192805054088755809599348743930830586511243502918913151142121541642183072771396637116817528280636 333359235347316823122306828130249542361276959777666062623761228001464209772613185276254076122277265550273410252233642243385142615280151864373006130133326346512185725711611751632945821199598062446993331911555891007328709558994405568417848706463682546540052800450434527626838535747057011942326134278904479931139557125383180823574609009480761665633268561204589541431665249724072129746711998193791776047336673719610510657635245296716636419139577789296853046499922327965217701250531977853633684493023423496808205808967840009683155345550069080961243497083651705627373326738022272363918620112528894335554036135561143416318193567801430558601128198534958350682486576817289395361404143796487172189373523526629850820816552391616345923856245088154732022513972926423437906330678640673750864852310517419377962353964483028288110002403340048245769232418189410808299947959580403447451413711710379504672413453468307436195602289724043462293435170742577477097461109277535051882539171077155880602763424433753577928453489265317772629903209162844541422284814310609270393330914353244258696235681912431550371612960764763026892288615060036624089055440793371039862555008224325703315857107584882097565340796445007643990981894622043189340279377973454983469119237276311942924046695017467830771200344251034789842985532940043862268236905893408197431297015729214662225515690635364201173107889475994991629244735966120896327285102722252103318862551459801032598463115659274703100888201115879689270739951663272699835878090687468274649264301155325431483737785874982161413006857105678891715331141919187722751486362483717235373642005646820551536748708920686654926325209254611258487337294230639091263619423967667925588883948776763690055645850931088398315159975451347744466532647833990582433553780635807320665570825636801093846181988045820017724780194912327072608666379493905211076449303111163211087715431626402369770052538628275261533187116021708210506910708087147286251838454975852100361064846394754968654125543562173347921904029503909415805817965277499307725489268019527040136660381193586772733720208409719220006999868434387353495496995800155110631473472701127996707893636994328691069216864447007357154692604207806303523297613118796657147755378576236924643 539386573255633977604450015828620697326692731118966234622042404606382119883220226561884111716771263787860364466828137144511546554732570109219478877002455028838229979714181318963295860921291166703962897714877065234741732409652510723063069861034271272814694510380685225548547025756647505669987857842764813947157044773747262923726091951303852923626020395927163282734678360841421828538668738030405288099396300169800981561963181438848115489861048195493621131679927166054345953166591444681965766852650190186832343676196189394427661425280316906581686765040497666128783771225340136611317517425860087806771782646878338628150164240152322531276947887498561555983225818110969232989793145303323278238083382187861970303601856756798570781846032726457335823006224615795990145113608370996330259323379954688992807306480761124098002246168933940843991589804141066194352811462914588794710330900950453839393561720161443651329870720394696105538552090287017236548998617959246857579329558530375441627849421035091909069000435918845433448005007381214656627458373606134396641712847179652963961902808788972862804583045173426197768334220310039852918227511888934232726414785017160457208662956892360388280694162789644344563592581269319851144818378608088711956488808006032800239005724062328846825630797123052254542702729064468711979328385882782532353592003198334243916444416652313266757447446841078112070982588023546791556592157414075191445499979473033637802000691344424951670860880631746718236394548055555896983744819085400847324445366641494854412655503530880522614884456797988826603445066736756956771197963161183040188726532081007710604467211339196163347420409924662021532307785655118876085453889407495421873261366878801423813023931043870409535827131655417245589804844061070101720434111190603038706219305025373679945466718933527610651679804163584602510389226006469594971895440386086482498543813369262081832086394865433386854426393077838971079419506458576182495287117276817665033336910135050479312051086695365186831712081564698700563018606641987637387760244435308061372053866423042528192525542025524593329933222030820733368060429249304216787671191931635189512947725750138290417960795277593868398195523120957445644839255301869428544392495393765205279 872745808602950800726756843958870239687969690896632297245803632607846329655833411838138187839048529338133774719061779387896689170012721973592485007135781375350415705425793070596241682120889229150956229626432956242070441968646916291480918567497953819354747310831119753175385561503704517612313992121669293878296601899130443747300700960784614589259288957131752824166343610565493958285380736224197064146732973889411492219598426735564751909000625984790474178179849494019563654417123422535599451345673613683640549485164029404110816770830385987542930262124149371756157097963362408975236137538388982142325818782439482044468357807953753089878076086033519906665712394928258628351197289099810450427456905714491821124418409148414916705702277814612067845520197542219428051444287011670081124175690472108370769660445244152386112248572273989089760822222330477002652759422494992242161744612660833344065975173629751087525473010118739567831987261029594713646459727236781909461868729607531322230612845468845486997453925184163206077908216544059198049743187916743667035043761532897222658138490701404413176196005938189224660622835370076477007282952682305272588969793241486160524520064477242485846034959234651988554574475891363040485097756581543695425608045282344743163052419079796677596831141374087044385688262004512574247565291776190729784889018927548906141960107287677467930555336317073103700227323989667687883877260136327294764362530932834670400463807003699654771749081747626407507134499718828596819622909772869121973709667796820285896393289405862684027891313903667718318776208655944679522684325644900275562368537727828262141215920259882818273745619179273280019645079885757967349073313375163347462145315655565113868669781974958807850987107106764990056337491895060684153987891826410359371790130662174773791648706979347628376459999075911675119055605500374806048344743497249693586259244995664451602138933493708648387613509099547181586330214545723468747125572252669765394401756529805447966176630257538534753616111068608116368836571919486945113249512454835101508714247616629300926245750435243813336933090465208086863557425049459327419144664632763186220841362744466981487177659724601225552888127328763749168136868420666085692147873970002129922 1412132381858584778331206859787490937014662422015598531867846037214228449539053638400022299555819793125994139185889916532408235724745292082811963884138236404188645685139974389559537543042180395854919127341310021476812174378299427014543988428532225092169441821211804978723932587260352023282301849964434107825453646672877706671026792912088467512885309353058916106901021971406915786824049474254602352246129274059212473781561608174412867398861674180284095309859776660073909607583714867217565218198323803870472893161360218798538478196110702894124617027164647037884940869188702545586553654964249069949097601429317820672618522048106075621155023973532081462648938213039227861340990434403133728665540287902353791428020265905213487487548310541069403668526422158015418196557895382666411383499070426797363576966926005276484114494741207929933752412026471543197005570885409581036872075513611287183459536893791194738855343730513435673370539351316611950195458345196028767041198288137906763858462266503937396066454361103008639525913223925273854677201561522878063676756608712550186620041299490377275980779051111615422428957055680116329925510464571239505315384578258646617733183021369602874126729122024296333118167057160682891629916135189632407382096853288377543402058143142125524422461938497139298928390991068981286226893677658973262138481022125883150058404523939990734688002783158151215771209912013214479440469417550402486209862510405868308202464498348124606442609962379373125743529047774384493803367728858269969298155034438315140309048792936743206642775770701656544922221275392701636293882288806083315751095069808835972745683131599078981621166029103935301551952865540876843434527202782658769335406682534366537681693713018829217386814238762182235646142335956130785874422003017013398078009435687548453737115425912875239028139803239496277629444831506844401020240183883336176084803058364926533434225328359142035242039902177386152665749721004299651242412689529487430427738666664855927278227716952903721585328192633306816931855178561474582501009756890143162880768114039671829118771292460768406666866312496028820231617854298763544206815856564398375733789088494605271905138455002195093951083650449721194812976123722535514236540369363767335201 2284878190461535579057963703746361176702632112912230829113649669822074779194887050238160487394868322464127913904951695920304924894758014056404448891274017779539061390565767460155779225163069625005875356967742977718882616346946343306024906996030178911524189132042924731899318148764056540894615842086103401703750248572008150418327493872873082102144598310190668931067365581972409745109430210478799416392862247948623966001160034909977619307862300165074569488039626154093473262000838289753164669543997417554113442646524248202649294966941088881667547289288796409641097967152064954561789792502638052091423420211757302717086879856059828711033100059565601369314650607967486489692187723502944179092997193616845612552438675053628404193250588355681471514046619700234846248002182394336492507674760898905734346627371249428870226743313481919023513234248802020199658330307904573279033820126272120527525512067420945826380816740632175241202526612346206663841918072432810676503067017745438086089075111972782883063908286287171845603821440469333052726944749439621730711800370245447409278179790191781689156975057049804647089579891050192806932793417253544777904354371500132778257703085846845359972764081258948321672741533052045932115013891771176102807704898570722286565110562221922202019293079871226343314079253073493860474458969435163991923370041053432056200364631227668202618558119475224319471437236002882167324346677686729780974225041338702978602928305351824261214359044126999533250663547493213090622990638631139091271864702235135426205442082342605890670667084605324263240997484048646315816566614450983591313463607536664234886899051858961799894911648283208581571597945426634810783600516157822116797551998189931651550363494993788025237801345868947225702479827851191470028409894843423757449799566349723227528764132892222867404599802315407952748500437007219207068584927380585869671062303360590985036364261852850683629653411276933334252079935550023119989538261782157195822140423194661375244404347210442256338944303701914933300691750480961527614259269344978264389482361656301130045017042896012220003799402961236907095175279348222871625960521197161561954630451239072253392316114726796319503971777778484943981112992143201599928688243333769465123 3697010572320120357389170563533852113717294534927829360981495707036303228733940688638182786950688115590122053090841612452713160619503306139216412775412254183727707075705741849715316768205250020860794484309052999195694790725245770320568895424562404003693630953254729710623250736024408564176917692050537509529203895244885857089354286784961549615029907663249585037968387553379325531933479684733401768638991522007836439782721643084390486706723974345358664797899402814167382869584553156970729887742321221424586335807884467001187773163051791775792164316453443447526038836340767500148343447466887122040521021641075123389705401904165904332188124033097682831963588821006714351033178157906077907758537481519199403980458940958841891680798898896750875182573041858250264444560077777002903891173831325703097923594297254705354341238054689848957265646275273563396663901193314154315905895639883407710985048961212140565236160471145610914573065963662818614037376417628839443544265305883344849947537378476720279130362647390180485129734664394606907404146310962499794388556978957997595898221089682158965137754108161420069518536946730309136858303881824784283219738949758779395990886107216448234099493203283244654790908590212728823744930026960808510189801751859099829967168705364047726441755018368365642242470244142475146701352647094137254061851063179315206258769155167658937306560902633375535242647148016096646764816095237132267184087551744571286805392803699948867656969006506372658994192595267597584426358367489409060570019736673450566514490875279349097313442855306980808163218759441347952110448903257066907064558677345500207632582183458040781516077677387143883123550810967511654218127718940480886132958680724298189232057208012617242624615584631129461348622163807322255902831897860437155527809002037271681265879558805098106432739605554904230377945268514063608088825111263922045755865361725517518470589590211992718871693313454319486917829656554322771231950951311644626249879089859517302522632064163345977924272496335221750232546929042436110115269026235121427270250475695972959163788335356780626670665715457265727326793133646986415832776377761559937688419539733677525297454569728991413455055428228206138794089115865737114165228612697536800324 5981888762781655936447134267280213290419926647840060190095145376858378007928827738876343274345556438054249966995793308373018085514261320195620861666686271963266768466271509309871095993368319645866669841276795976914577407072192113626593802420592582915217820085297654442522568884788465105071533534136640911232954143816894007507681780657834631717174505973440253969035753135351735277042909895212201185031853769956460405783881677994368106014586274510433234285939028968260856131585391446723894557286318638978699778454408715203837068129992880657459711605742239857167136803492832454710133239969525174131944441852832426106792281760225733043221224092663284201278239428974200840725365881409022086851534675136045016532897616012470295874049487252432346696619661558485110692562260171339396398848592224608832270221668504134224567981368171767980778880524075583596322231501218727594939715766155528238510561028633086391616977211777786155775592576009025277879294490061650120047332323628782936036612490449503162194270933677352330733556104863939960131091060402121525100357349203445005176400879873940654294729165211224716608116837780501943791097299078329061124093321258912174248589193063293594072257284542192976463650123264774755859943918731984612997506650429822116532279267585969928461048098239591985556549497215969007175811616529301245985221104232747262459133786395327139925119022108599854714084384018978814089162772923862048158312593083274265408321109051773128871328050633372192244856142760810675049349006120548151841884438908585992719932957621954987984109939912305071404216243489994267927015517708050498378022284882164442519481235317002581410989325670352464695148756394146465001728235098303002930510678914229840782420703006405267862416930500076687051101991658513725931241792703860912977608568386994908794643691697320973837339407870312183126445705521282815157410038644507915426927665086108503506953852064843402501346724731252821169909592104345891221489213093801822072019513054178677767036411373788234263216800037136683533238679523397637729528295580099691659732837352274089208805378252792846674465118418502634421968412995209287458736898958721499643049990972749778689770684455787732959027206006691082775202108008938714093916856031306265447 9678899335101776293836304830814065404137221182767889551076641083894681236662768427514526061296244553644372020086634920825731246133764626334837274442098526146994475541977251159586412761573569666727464325585848976110272197797437883947162697845154986918911451038552384153145819620812873669248451226187178420762158039061779864597036067442796181332204413636689839007004140688731060808976389579945602953670845291964296845566603321078758592721310248855791899083838431782428239001169944603694624445028639860403286114262293182205024841293044672433251875922195683304693175639833599954858476687436412296172465463493907549496497683664391637375409348125760967033241828249980915191758544039315099994610072156655244420513356556971312187554848386149183221879192703416735375137122337948342300290022423550311930193815965758839578909219422861616938044526799349146992986132694532881910845611406038935949495609989845226956853137682923397070348658539671843891916670907690489563591597629512127785984149868926223441324633581067532815863290769258546867535237371364621319488914328161442601074621969556099619432483273372644786126653784510811080649401180903113344343832271017691570239475300279741828171750487825437631254558713477503579604873945692793123187308402288921946499447972950017654902803116607957627799019741358444153877164263623438500047072167412062468717902941562986077231679924741975389956731532035075460853978868160994315342400144827845552213713912751721996528297057139744851239048738028408259475707373609957212411904175582036559234423832901304085297552795219285879567435002931342220037464420965117405442580962227664650152063418775043362927067003057496347818699567361658119219855954038783889063469359638528030014477911019022510487032515131206148399724155465835981834073690564298068505417570424266590060523250502419080270079013425216413504390974035346423246235149908429961182793026811626021977543442276836121373040038185572308087739248658668662453440164405446448321898602913695980289668475537134212187489296372358433765785608565833747844797321815221118929983313048247048372593713609573473345130833875768361748761546642195703291513276720281437331469530706427303987225254184779146414082634234897221569291223874675828259145468728843065771 15660788097883432230283439098094278694557147830607949741171786460753059244591596166390869335641800991698621987082428229198749331648025946530458136108784798110261244008248760469457508754941889312594134166862644953024849604869629997573756500265747569834129271123850038595668388505601338774319984760323819331995112182878673872104717848100630813049378919610130092976039893824082796086019299475157804138702699061920757251350484999073126698735896523366225133369777460750689095132755336050418519002314958499381985892716701897408861909423037553090711587527937923161860312443326432409568609927405937470304409905346739975603289965424617370418630572218424251234520067678955116032483909920724122081461606831791289437046254172983782483428897873401615568575812364975220485829684598119681696688871015774920762464037634262973803477200791033384918823407323424730589308364195751609505785327172194464188006171018478313348470114894701183226124251115680869169795965397752139683638929953140910722020762359375726603518904514744885146596846874122486827666328431766742844589271677364887606251022849430040273727212438583869502734770622291313024440498479981442405467925592276603744488064493343035422244007772367630607718208836742278335464817864424777736184815052718744063031727240535987583363851214847549613355569238574413161052975880152739746032293271644809731177036727958313217156798946850575244670815916054054274943141641084856363500712737911119817622035021803495125399625107773117043483904880789218934525056379730505364253788614490622551954356790523259073281662735131590950971651246421336487964479938673167903820603247109829092671544654092045944338056328727848812513848323755804584221584189137086891993980038552757870796898614025427778349449445631282835450826147124349707765315483268158981483026138811261498855166942199740054107418421295528596630836679556629238403645188552937876609720691897734525484497294341679523874386762916825129257648840763014553674929377499248270393918115967874658056704886910922446450706096409495117299024288089231385574325617395320810589716150400521137581399091862366320019595952294270996170729959637404990750250175679002936974519521679177082676995938640566879373109840241588304344493331883614542353062324760149331218 25339687432985208524119743928908344098694369013375839292248427544647740481254364593905395396938045545342994007169063150024480577781790572865295410550883324257255719550226011629043921516515458979321598492448493929135121802667067881520919198110902556753040722162402422748814208126414212443568435986510997752757270221940453736701753915543426994381583333246819931983044034512813856894995689055103407092373544353885054096917088320151885291457206772222017032453615892533117334133925280654113143447343598359785272006978995079613886750716082225523963463450133606466553488083160032364427086614842349766476875368840647525099787649089009007794039920344185218267761895928936031224242453960039222076071678988446533857559610729955094670983746259550798790455005068391955860966806936068023996978893439325232692657853600021813382386420213895001856867934122773877582294496890284491416630938578233400137501781008323540305323252577624580296472909655352713061712636305442629247230527582653038508004912228301950044843538095812417962460137643381033695201565803131364164078186005526330207325644818986139893159695711956514288861424406802124105089899660884555749811757863294295314727539793622777250415758260193068238972767550219781915069691810117570859372123455007666009531175213486005238266654331455507241154588979932857314930140143776178246079365439056872199894939669521299294388478871592550634627547448089129735797120509245850678843112882738965369835748934555217121927922164912861894722953618817627194000763753340462576665692790072659111188780623424563158579215530350876830539086249352678708001944359638285309263184209337493742823608072867089307265123331785345160332547891117462703441440143175870781057449398191285900811376525044450288836481960762488983850550302590185689599389173832457049988443709235528088915690192702159134377497434720745010135227653591975661649880338461367837792513718709360547462040736618515645247426801102397437345388089421683216128369541904694718715816718881570638346373362448056658638195392781853551064809896655065133419122939210541929519699463448768185953992805471939793364726786170039357919491506279600694041763452399284374305989052385604386664221192825346025787192474476485525913784555758290370612207793488992396989 41000475530868640754403183027002622793251516843983789033420214005400799725845960760296264732579846537041615994251491379223229909429816519395753546659668122367516963558474772098501430271457348291915732659311138882159971407536697879094675698376650126587169993286252461344482596632015551217888420746834817084752382404819127608806471763644057807430962252856950024959083928336896652981014988530261211231076243415805811348267573319225011990193103295588242165823393353283806429266680616704531662449658556859167257899695696977022748660139119778614675050978071529628413800526486464773995696542248287236781285274187387500703077614513626378212670492562609469502281963607891147256726363880763344157533285820237823294605864902938877154412644132952414359030817433367176346796491534187705693667764455100153455121891234284787185863621004928386775691341446198608171602861086036100922416265750427864325507952026801853653793367472325763522597160771033582231508601703194768930869457535793949230025674587677676648362442610557303109056984517503520522867894234898107008667457682891217813576667668416180166886908150540383791596195029093437129530398140865998155279683455570899059215604286965812672659766032560698846690976386962060250534509674542348595556938507726410072562902454021992821630505546303056854510158218507270475983116023928917992111658710701681931071976397479612511545277818443125879298363364143184010740262150330707042343825620650085187457783956358712247327547272685978938206858499606846128525820133070967940919481404563281663143137413947822231860878265482467781510737495774015195966424298311453213083787456447322835495152726959135251603179660513193972846396214873267287663024332312957673051429436744043771608275139069878067185931406393771819301376449714535397364704657100616031471469848046789587770857134901899188484915856016273606766064333148604900053525527014305714402234410607095072946538030960195169121813564019222566603036930184697769803298919403942989109734834849445296403078249358979105088901489191348668363834184744296518993448556605862740109415613849289323535391897334306113384322738464310354090221465917005684792013628078287311280508574064781469341217131465912905160302314718073830258277887641904912965270118249141728207 66340162963853849278522926955910966891945885857359628325668641550048540207100325354201660129517892082384610001420554529247710487211607092261048957210551446624772683108700783727545351787972807271237331151759632811295093210203765760615594896487552683340210715448654884093296804758429763661456856733345814837509652626759581345508225679187484801812545586103769956942127962849710509876010677585364618323449787769690865445184661639376897281650310067810259198277009245816923763400605897358644805897002155218952529906674692056636635410855202004138638514428205136094967288609646497138422783157090637003258160643028035025802865263602635386006710412906794687770043859536827178480968817840802566233604964808684357152165475632893971825396390392503213149485822501759132207763298470255729690646657894425386147779744834306600568250041218823388632559275568972485753897357976320592339047204328661264463009733035125393959116620049950343819070070426386295293221238008637398178099985118446987738030586815979626693205980706369721071517122160884554218069460038029471172745643688417548020902312487402320060046603862496898080457619435895561234620297801750553905091441318865194373943144080588589923075524292753767085663743937181842165604201484659919454929061962734076082094077667507998059897159877758564095664747198440127790913256167705096238191024149758554130966916067000911805933756690035676513925910812232313746537382659576557721186938503389050557293532890913929369255469437598840832929812118424473322526583886411430517585174194635940774331918037372385390440093795833344612049823745126693903968368657949738522346971665784816578318760799826224558868302992298539133178944105990729991104464475488828454108878834935329672419651664114328356022413367156260803151926752304721086964093830933073081459913557282317676686547327604058322862413290737018616901291986740580561703405865475673552194748129316455620408578767578710814369240365121620003948425019606380985931668461308637707825551553731015934749451611807035763727096881973202219428644081399361652412571495816404669629115077298057509489384702806245906749049524634349712009712972196606378833777080477571685586497626450385856005438324291258930947494789194559356172062443400195283577477911738134125196 107340638494722490032926109982913589685197402701343417359088855555449339932946286114497924862097738619426225995672045908470940396641423611656802503870219568992289646667175555826046782059430155563153063811070771693455064617740463639710270594864202809927380708734907345437779401390445314879345277480180631922262035031578708954314697442831542609243507838960719981901211891186607162857025666115625829554526031185496676793452234958601909271843413363398501364100402599100730192667286514063176468346660712078119787806370389033659384070994321782753313565406276665723381089136132961912418479699338924240039445917215422526505942878116261764219380905469404157272325823144718325737695181721565910391138250628922180446771340535832848979809034525455627508516639935126308554559790004443435384314422349525539602901636068591387754113662223751775408250617015171093925500219062356693261463470079089128788517685061927247612909987522276107341667231197419877524729839711832167108969442654240936968056261403657303341568423316927024180574106678388074740937354272927578181413101371308765834478980155818500226933512013037281872053814464988998364150695942616552060371124774436093433158748367554402595735290325314465932354720324143902416138711159202268050486000470460486154656980121529990881527665424061620950174905416947398266896372191634014230302682860460236062038892464480524317479034508478802393224274176375497757277644809907264763530764124039135744751316847272641616583016710284819771136670618031319451052404019482398458504655599199222437475055451320207622300972061315812393560561240900709099934792956261191735430759122232139413813913526785359810471482652811733106025340320863997278767488807801786127160308271679373444027926803184206423208344773550032622453303202019256484328798488033689112931383405329107264457404462505957511347329146753292223667356319889185461756931392489979266596982539923550693355116798538905983491053929140842570551461949791078755734967380712580696935286388580461231152529861166014868815998371164550887792478266143658171406020052422267409738530691147346833024776600140552020133372263098660066099934438113612063625790708555858996867006200515167325346655455757171836107797103912633186430340331042100196542748029987275853403 173680801458576339311449036938824556577143288558703045684757497105497880140046611468699584991615630701810835997092600437718650883853030703917851461080771015617062329775876339553592133847402962834390394962830404504750157827944229400325865491351755493267591424183562229531076206148875078540802134213526446759771687658338290299822923122019027411056053425064489938843339854036317672733036343700990447877975818955187542238636896597978806553493723431208760562377411844917653956067892411421821274243662867297072317713045081090296019481849523786891952079834481801818348377745779459050841262856429561243297606560243457552308808141718897150226091318376198845042369682681545504218663999562368476624743215437606537598936816168726820805205424917958840658002462436885440762323088474699165074961080243950925750681380902897988322363703442575164040809892584143579679397577038677285600510674407750393251527418097052641572026607572226451160737301623806172817951077720469565287069427772687924706086848219636930034774404023296745252091228839272628959006814310957049354158745059726313855381292643220820286980115875534179952511433900884559598770993744367105965462566093301287807101892448142992518810814618068233018018464261325744581742912643862187505415062433194562236751057789037988941424825301820185045839652615387526057809628359339110468493707010218790193005808531481436123412791198514478907150184988607811503815027469483822484717702627428186302044849738186570985838486147883660604066482736455792773578987905893828976089829793835163211806973488692593012741065857149157005610384986027403003903161614210930257777730788016955992132674326611584369339785645110272239204284426854727269871953283290614581269187106614703116447578467298534779230758140706293425605229954323977571292892318966762194391296962611424941143951790110015834209742437490310840568648306629766023460337257965652818791730669240006313763695566117616797860294294262462574499886969397459741666635842021218404760837942311477165901981472973050632543095253137753107221122347543019823818591548238672079367645768445404342514161302946797926882421787733009778109647410310218442459567789033430682453503826965553181352093780048430767055291893107192542602402774442295480120225941725409978599 281021439953298829344375146921738146262340691260046463043846352660947220072992897583197509853713369321237061992764646346189591280494454315574653964950990584609351976443051895379638915906833118397543458773901176198205222445684693040036136086215958303194972132918469574968855607539320393420147411693707078682033722689916999254137620564850570020299561264025209920744551745222924835590062009816616277432501850140684219032089131556580715825337136794607261926477814444018384148735178925484997742590323579375192105519415470123955403552843845569645265645240758467541729466881912420963259742555768485483337052477458880078814751019835158914445472223845603002314695505826263829956359181283934387015881466066528718045708156704559669785014459443414468166519102372011749316882878479142600459275502593476465353583016971489376076477365666326939449060509599314673604897796101033978861974144486839522040045103158979889184936595094502558502404532821226050342680917432301732396038870426928861674143109623294233376342827340223769432665335517660703699944168583884627535571846431035079689860272799039320513913627888571461824565248365873557962921689686983658025833690867737381240260640815697395114546104943382698950373184585469646997881623803064455555901062903655048391408037910567979822952490725881805996014558032334924324706000550973124698796389870679026255044700995961960440891825706993281300374459164983309261092672279391087248248466751467322046796166585459212602421502858168480375203153354487112224631391925376227434594485393034385649282028940012800635042037918464969399170946226928112103837954570472121993208489910249095405946587853396944179811268297922005345229624747718724548639442091092400708429495378294076560475505270482741202439102914256326048058533156343234055621690807000451307322680367940532205601356252615973345557071584243603064236004626518951485217268650455632085388713209163557007118812364656522781351348223403305145051348919188538497401603222733799101696124330891938397054511334139065501359093624302303995013600613686677995224611600660939489106176459592751175538937903087349947015794050831669844209581848423830506085358497589289679320510027480720506698749235805602603163088997019825729032743105484395676662973971712685832002 454702241411875168655824183860562702839483979818749508728603849766445100213039509051897094845329000023047897989857246783908242164347485019492505426031761600226414306218928234933231049754236081231933853736731580702955380273628922440362001577567713796462563557102031804499931813688195471960949545907233525441805410348255289553960543686869597431355614689089699859587891599259242508323098353517606725310477669095871761270726028154559522378830860225816022488855226288936038104803071336906819016833986446672264423232460551214251423034693369356537217725075240269360077844627691880014101005412198046726634659037702337631123559161554056064671563542221801847357065188507809334175023180846302863640624681504135255644644972873286490590219884361373308824521564808897190079205966953841765534236582837427391104264397874387364398841069108902103489870402183458253284295373139711264462484818894589915291572521256032530756963202666729009663141834445032223160631995152771297683108298199616786380229957842931163411117231363520514684756564356933332658950982894841676889730591490761393545241565442260140800893743764105641777076682266758117561692683431350763991296256961038669047362533263840387633356919561450931968391648846795391579624536446926643061316125336849610628159095699605968764377316027701991041854210647722450382515628910312235167290096880897816448050509527443396564304616905507760207524644153591120764907699748874909732966169378895508348841016323645783588259989006052140979269636090942904998210379831270056410684315186869548861089002428705393647783103775614126404781331212955515107741116184683052250986220698266051398079262180008528549151053943032277584433909174573451818511395374383015289698682484908779676923083737781275981669861054962619473663763110667211626914583125967213501713977330551957146745308042725989179766814021733913904804652933148717508677605908421284904180443878403563320882507930774139579211642517665767719551235888585998239068239064755017506456962273203415562956492807112116133902188877440057102234722961229697819043203148899611568473822228038155518053099206034147873898215838564679622319229258734048948544926286622720361774013854446273688050843015854033370218380890127018271635145879926691156783199913438095810601 735723681365173998000199330782300849101824671078795971772450202427392320286032406635094604699042369344284959982621893130097833444841939335067159390982752184835766282661980130312869965661069199629477312510632756901160602719313615480398137663783672099657535690020501379468787421227515865381096957600940604123839133038172288808098164251720167451655175953114909780332443344482167343913160363334223002742979519236555980302815159711140238204167997020423284415333040732954422253538250262391816759424310026047456528751876021338206826587537214926182483370315998736901807311509604300977360747967966532209971711515161217709938310181389214979117035766067404849671760694334073164131382362130237250656506147570663973690353129577846160375234343804787776991040667180908939396088845432984365993512085430903856457847414845876740475318434775229042938930911782772926889193169240745243324458963381429437331617624415012419941899797761231568165546367266258273503312912585073030079147168626545648054373067466225396787460058703744284117421899874594036358895151478726304425302437921796473235101838241299461314807371652677103601641930632631675524614373118334422017129947828776050287623174079537782747903024504833630918764833432265038577506160249991098617217188240504659019567133610173948587329806753583797037868768680057374707221629461285359866086486751576842703095210523405357005196442612501041507899103318574430026000372028265996981214636130362830395637182909104996190681491864220621354472789445430017222841771756646283845278800579903934510371031368718194282825141694079095803952277439883627211579070755155174244194710608515146804025850033405472728962322240954282929663533922292176367150837465475415998128177863202856237398589008264017184108963969218945521722296267010445682536273932967664809036657698492489352346664295341962525323885605977516969040657559667668993894874558876916989569157087567120328001320295430662360562990741069072864602584807774536736469842287488816608153086604095353960011004141251181635261282501742361097248323574916375814267814749560551057579998687630906693592037109121497820914009889396349466528811107157879454630284784212010041094523881926994194749592251659635973381469887146844000667888985411086833446173885150781642603 1190425922777049166656023514642863551941308650897545480501054052193837420499071915686991699544371369367332857972479139914006075609189424354559664817014513785062180588880908365246101015415305280861411166247364337604115982992942537920760139241351385896120099247122533183968719234915711337342046503508174129565644543386427578362058707938589764883010790642204609639920334943741409852236258716851829728053457188332427741573541187865699760582998857246239306904188267021890460358341321599298635776258296472719720951984336572552458249622230584282719701095391239006261885156137296180991461753380164578936606370552863555341061869342943271043788599308289206697028825882841882498306405542976540114297130829074799229334998102451132650965454228166161085815562231989806129475294812386826131527748668268331247562111812720264104874159503884131146428801313966231180173488542380456507786943782276019352623190145671044950698863000427960577828688201711290496663944907737844327762255466826162434434603025309156560198577290067264798802178464231527369017846134373567981315033029412557866780343403683559602115701115416782745378718612899389793086307056549685186008426204789814719334985707343378170381259944066284562887156482279060430157130696696917741678533313577354269647726229309779917351707122781285788079722979327779825089737258371597595033376583632474659151145720050848753569501059518008801715423747472165550790908071777140906714180805509258338744478199232750779778941480870272762333742425536372922221052151587916340255963115766773483371460033797423587930608245469693222208733608652839142319320186939838226495180931306781198202105112213414001278113376183986560514097443096865628185662232839858431287826860348111635914321672746045293165778825024181564995386059377677657309450857058934878310750635029044446499091972338067951705090699627711430873845310492816386502572480467298201893749600965970683648883828226204801939774633258734840584153820696360534975538081352243834114610048877298769522967496948363297769163471379182418199483046536146073633311017898460162626053820915669062211645136315155645694812225727961029088848040365891928403175211070834730402868537736373267882800435267513669343599850777273862272303034865337777990229373798588877453204 1926149604142223164656222845425164401043133321976341452273504254621229740785104322322086304243413738711617817955101033044103909054031363689626824207997265969897946871542888495558970981076374480490888478757997094505276585712256153401158276905135057995777634937143034563437506656143227202723143461109114733689483676424599867170156872190309932334665966595319519420252778288223577196149419080186052730796436707568983721876356347576839998787166854266662591319521307754844882611879571861690452535682606498767177480736212593890665076209767799208902184465707237743163692467646900481968822501348131111146578082068024773051000179524332486022905635074356611546700586577175955662437787905106777364953636976645463203025351232028978811340688571970948862806602899170715068871383657819810497521260753699235104019959227566140845349477938659360189367732225749004107062681711621201751111402745657448789954807770086057370640762798189192145994234568977548770167257820322917357841402635452708082488976092775381956986037348771009082919600364106121405376741285852294285740335467334354340015445241924859063430508487069459848980360543532021468610921429668019608025556152618590769622608881422915953129162968571118193805921315711325468734636856946908840295750501817858928667293362919953865939036929534869585117591748007837199796958887832882954899463070384051501854240930574254110574697502130509843223322850790739980816908443805406903695395441639621169140115382141855775969622972734493383688215214981802939443893923344562624101241916346677417881831065166141782213433387163772318012685886092722769530899257694993400739375641915296345006130962246819474007075698424940843443760977019157804552813070305333847285955038211314492151720261754309310349887788993400510517108355644688102991987130991902543119787292727536935851438636633409914230414585233688947842885968052484055496467355026175118883318758053537803976885148521635464300337623999803913448756405504135071712007923639732650722763135481394123482978501089614479404424753880924779296731370111062449447578832648020713683633819603299968905237173424277143515726235617357378555376851473049807857805495855046740443963061618300262077550027519173305316981320664420706272970923850748864823675547683739659095807 3116575526919272331312246360068027952984441972873886932774558306815067161284176238009078003787785108078950675927580172958109984663220788044186489025011779754960127460423796860805071996491679761352299645005361432109392568705198691321918416146486443891897734184265567747406225891058938540065189964617288863255128219811027445532215580128899697217676757237524129060173113231964987048385677797037882458849893895901411463449897535442539759370165711512901898223709574776735342970220893460989088311940902971486898432720549166443123325831998383491621885561098476749425577623784196662960284254728295690083184452620888328392062048867275757066694234382645818243729412460017838160744193448083317479250767805720262432360349334480111462306142800137109948622165131160521198346678470206636629049009421967566351582071040286404950223637442543491335796533539715235287236170254001658258898346527933468142577997915757102321339625798617152723822922770688839266831202728060761685603658102278870516923579118084538517184614638838273881721778828337648774394587420225862267055368496746912206795788645608418665546209602486242594359079156431411261697228486217704794033982357408405488957594588766294123510422912637402756693077797990385898891767553643826581974283815395213198315019592229733783290744052316155373197314727335617024886696146204480549932839654016526161005386650625102864144198561648518644938746598262905531607816515582547810409576247148879507884593581374606555748564453604766146021957640518175861664946074932478964357205032113450901253291098963565370144041632633465540221419494745561911850219444634831627234556573222077543208236074460233475285189074608927403957858420116023432738475303145192278573781898559426128066041934500354603515666614017582075512494415022365760301437988050837421430537927756581382350530608971477865935505284861400378716731278545300441999039835493473320777068359019508487625768976747840266240112257258538754032910226200495606687546004991976484837373184358692893005945998037977777173588225260107197496214416647208523080889850546480876309687640518969031116882309739432789210538461345318407644224891838941736260980706925881470846831599354673529960350462786686974660581171441694568545273958716086642813904921482328536549011 5042725131061495495968469205493192354027575294850228385048062561436296902069280560331164308031198846790568493882681206002213893717252151733813313233009045724858074331966685356364042977568054241843188123763358526614669154417454844723076693051621501887675369121408602310843732547202165742788333425726403596944611896235627312702372452319209629552342723832843648480425891520188564244535096877223935189646330603470395185326253883019379758157332565779564489543230882531580225582100465322679540847623509470254075913456761760333788402041766182700524070026805714492589270091431097144929106756076426801229762534688913101443062228391608243089599869457002429790429999037193793823181981353190094844204404782365725635385700566509090273646831372108058811428768030331236267218062128026447126570270175666801455602030267852545795573115381202851525164265765464239394298851965622860010009749273590916932532805685843159691980388596806344869817157339666388036998460548383679043445060737731578599412555210859920474170651987609282964641379192443770179771328706078156552795703964081266546811233887533277728976718089555702443339439699963432730308149915885724402059538510026996258580203470189210076639585881208520950498999113701711367626404410590735422270034317213072126982312955149687649229780981851024958314906475343454224683655034037363504832302724400577662859627581199356974718896063779028488162069449053645512424724959387954714104971688788500677024708963516462331718187426339259529710172855499978801108839998277041588458446948460128319135122164129707152357475019797237858234105380838284681381118702329825027973932215137373888214367036707052949292264773033868247401619397135181237291288373450526125859736936770740620217762196254663913865554403010982586029602770667053863293425119042739964550325220484118318201969245604887780165919870095089326559617246597784497495507190519648439660387117073046291602654125269475730540449881258342667481666631704630678399553928631709135560136319840087016488924499127592256578012979141031976792945786758270972528468683194501589993321460122269000022119483163709932726264696962675786199601743311991544118786202780928211290794660972973792037900490305860279977562492106115274818244882566835507637580469166068195644818 8159300657980767827280715565561220307012017267724115317822620868251364063353456798340242311818983954869519169810261378960323878380472939777999802258020825479818201792390482217169114974059734003195487768768719958724061723122653536044995109198107945779573103305674170058249958438261104282853523390343692460199740116046654758234588032448109326770019481070367777540599004752153551292920774674261817648496224499371806648776151418461919517527498277292466387766940457308315568552321358783668629159564412441740974346177310926776911727873764566192145955587904191242014847715215293807889391010804722491312946987309801429835124277258884000156294103839648248034159411497211631983926174801273412323455172588085988067746049900989201735952974172245168760050933161491757465564740598233083755619279597634367807184101308138950745796752823746342860960799305179474681535022219624518268908095801524385075110803601600262013320014395423497593640080110355227303829663276444440729048718840010449116336134328944458991355266626447556846363158020781418954165916126304018819851072460828178753607022533141696394522927692041945037698518856394843992005378402103429196093520867435401747537798058955504200150008793845923707192076911692097266518171964234562004244318132608285325297332547379421432520525034167180331512221202679071249570351180241844054765142378417103823865014231824459838863094625427547133100816047316551044032541474970502524514547935937380184909302544891068887466751879944025675732130496018154662773786073209520552815651980573579220388413263093272522501516652430703398455524875583846593231338146964656655208488788359451431422603111167286424577453847642795651359477817251204670029763676595718404433518835330166748283804130755018517381221017028564661542097185689419623594863107093577385980863148240699700552499854576365646101425154956489705276348525143084939494547026013121760437455476092554779228423102017315996780562138516881421514576857905126285087099933623685620397509504198779909494870497165570033751601204401139174289160203405479495609358533740982466303009100641238031139001792903142721936803158307994193843826635150933280379766909706809682137626260327647321998250953092547254638143663547809843363518841282922150451485390648396732193829 13202025789042263323249184771054412661039592562574343702870683429687660965422737358671406619850182801660087663692942584962537772097725091511813115491029871204676276124357167573533157951627788245038675892532078485338730877540108380768071802249729447667248472427082772369093690985463270025641856816070096057144352012282282070936960484767318956322362204903211426021024896272342115537455871551485752838142555102842201834102405301481299275684830843072030877310171339839895794134421824106348170007187921911995050259634072687110700129915530748892670025614709905734604117806646390952818497766881149292542709521998714531278186505650492243245893973296650677824589410534405425807108156154463507167659577370451713703131750467498292009599805544353227571479701191822993732782802726259530882189549773301169262786131575991496541369868204949194386125065070643714075833874185247378278917845075115302007643609287443421705300402992229842463457237450021615340828123824828119772493779577742027715748689539804379465525918614056839811004537213225189133937244832382175372646776424909445300418256420674974123499645781597647481037958556358276722313528317989153598153059377462398006118001529144714276789594675054444657691076025393808634144576374825297426514352449821357452279645502529109081750306016018205289827127678022525474254006214279207559597445102817681486724641813023816813581990689206575621262885496370196556457266434358457238619519624725880861934011508407531219184939306283285205442303351518133463882626071486562141274098929033707539523535427222979674858991672227941256689630256422131274612456849294481683182421003496825319636970147874339373869718620676663898761097214386385907321052050046244530293255772100907368501566327009682431246775420039547247571699956356473486888288226136317350531188368724818018754469100181253426267345025051579031835965771740869436990054216532770200097842593165601070831077227286791727321012019775224088996243489609756963486653862255394755957645824038866925983794996293162290329614183542171151082105990163750468137827216935484056296330560763507031161121276066852654663067855270669980043428378462924824498553112487737893428420921300621114036151443398407534615706155653925118181763723849757658089065859814464927838647 21361326447023031150529900336615632968051609830298459020693304297939025028776194157011648931669166756529606833503203963922861650478198031289812917749050696684494477916747649790702272925687522248234163661300798444062792600662761916813066911447837393446821575732756942427343649423724374308495380206413788517344092128328936829171548517215428283092381685973579203561623901024495666830376646225747570486638779602214008482878556719943218793212329120364497265077111797148211362686743182890016799166752334353736024605811383613887611857789295315084815981202614096976618965521861684760707888777685871783855656509308515961113310782909376243402188077136298925858748822031617057791034330955736919491114749958537701770877800368487493745552779716598396331530634353314751198347543324492614637808829370935537069970232884130447287166621028695537247085864375823188757368896404871896547825940876639687082754412889043683718620417387653340057097317560376842644657787101272560501542498417752476832084823868748838456881185240504396657367695234006608088103160958686194192497848885737624054025278953816670518022573473639592518736477412753120714318906720092582794246580244897799753655799588100218476939603468900368364883152937085905900662748339059859430758670582429642777576978049908530514270831050185385621339348880701596723824357394521051614362587481234785310589656044848276652445085314634122754363701543686747600489807909328959763134067560663261046843314053298600106651691186227310881174433847536288126656412144696082694089750909607286759911948690316252197360508324658644655145155132005977867843794996259138338390909791856276751059573259041625798447172468319459550120575031637590577350815726641962934726774607431074116785370457764700948627996437068111909113797142045893110483151333229894736512051516965517719306968954757619072368770180008068737112314296883954376484601242545891960535298069258155850059500329304107724101574158292105510510820347514883248573753795879080376355155328237646835478665493458732324081215387943310325371266193569229963747185750676466522599339661404745062300123068969995376599871013578664173887255013613858104878320022194547575566047181628268436034402396490954789253849819201734961545282565132679808540551250462861660032476 34563352236065294473779085107670045629091202392872802723563987727626685994198931515683055551519349558189694497196146548885399422575923122801626033240080567889170754041104817364235430877315310493272839553832876929401523478202870297581138713697566841114070048159839714796437340409187644334137237022483884574488444140611218900108509001982747239414743890876790629582648797296837782367832517777233323324781334705056210316980962021424518068897159963436528142387283136988107156821165006996364969173940256265731074865445456300998311987704826063977486006817324002711223083328508075713526386544567021076398366031307230492391497288559868486648082050432949603683338232566022483598142487110200426658774327328989415474009550835985785755152585260951623903010335545137744931130346050752145519998379144236706332756364460121943828536489233644731633210929446466902833202770590119274826743785951754989090398022176487105423920820379883182520554555010398457985485910926100680274036277995494504547833513408553217922407103854561236468372232447231797222040405791068369565144625310647069354443535374491644641522219255237239999774435969111397436632435038081736392399639622360197759773801117244932753729198143954813022574228962479714534807324713885156857273023032251000229856623552437639596021137066203590911166476558724122198078363608800259173960032584052466797314297857872093466027076003840698375626587040056944156947074343687417001753587185389141908777325561706131325836630492510596086616737199054421590539038216182644835363849838640994299435484117539231872219499996886585911834785388428109142456251845553620021573330795353102070696543406915965172316891088996123448881672246023976484671867776688207465020030379531981485286936784774383379874771857107659156685497098402366597371439559366212087043239885690335738061438054938872498636115205059647768948280068624823813474655459078662160633140662423756920890577556590899451422586178067329599507063837124640212060407658134475132312801152276513761462460489751894614410829571485481476453372183732980431885012967611950578895670222168252093461244345036848031262938868849334153930683392076782929376873134682285468994468102928889550070553839889362323869555974855660079727046288982437466629617110277326587871123 55924678683088325624308985444285678597142812223171261744257292025565711022975125672694704483188516314719301330699350512808261073054121154091438950989131264573665231957852467154937703803002832741507003215133675373464316078865632214394205625145404234560891623892596657223780989832912018642632617228897673091832536268940155729280057519198175522507125576850369833144272698321333449198209164002980893811420114307270218799859518741367736862109489083801025407464394934136318519507908189886381768340692590619467099471256839914885923845494121379062301988019938099687842048850369760474234275322252892860254022540615746453504808071469244730050270127569248529542087054597639541389176818065937346149889077287527117244887351204473279500705364977550020234540969898452496129477889375244760157807208515172243402726597344252391115703110262340268880296793822290091590571666994991171374569726828394676173152435065530789142541237767536522577651872570775300630143698027373240775578776413246981379918337277302056379288289095065633125739927681238405310143566749754563757642474196384693408468814328308315159544792728876832518510913381864518150951341758174319186646219867257997513429600705345151230668801612855181387457381899565620435470073052945016288031693614680643007433601602346170110291968116388976532505825439425718921902721003321310788322620065287252107903953902720370118472161318474821129990288583743691757436882253016376764887654746052402955620639615004731432488321678737906967791171046590709717195450360878727529453600748248281059347432807855484069580008321545230566979940520434087010300046841812758359964240587209378821756116665957590970764063557315582999002247277661567062022683503330170399746804986963055602072307242539084328502768294175771065799294240448259707854590892596106823555291402655853457368407009696491571004885385067716506060594365508778189959256701624554121168438731681912770950077885895007175524160336359435110017884184639523460634161454013555508667956480514160596941125983210626938492044959428791801824638377302210395632198718288417101495009883572997155761367414006843407862809882427998327817938405690641034255193156876833044560515284557157986104956236380317113123405794057395041272328854115117275170168360740188247903599 90488030919153620098088070551955724226234014616044064467821279753192397017174057188377760034707865872908995827895497061693660495630044276893064984229211832462835985998957284519173134680318143234779842768966552302865839557068502511975344338842971075674961672052436372020218330242099662976769854251381557666320980409551374629388566521180922761921869467727160462726921495618171231566041681780214217136201449012326429116840480762792254931006649047237553549851678071124425676329073196882746737514632846885198174336702296215884235833198947443039787994837262102399065132178877836187760661866819913936652388571922976945896305360029113216698352178002198133225425287163662024987319305176137772808663404616516532718896902040459065255857950238501644137551305443590241060608235425996905677805587659408949735482961804374334944239599495985000513507723268756994423774437585110446201313512780149665263550457242017894566462058147419705098206427581173758615629608953473921049615054408741485927751850685855274301695392949626869594112160128470202532183972540822933322787099507031762762912349702799959801067011984114072518285349350975915587583776796256055579045859489618195273203401822590083984397999756809994410031610862045334970277397766830173145304716646931643237290225154783809706313105182592567443672301998149841119981084612121569962282652649339718905218251760592463584499237322315519505616875623800635914383956596703793766641241931441544864397965176710862758324952171248503054407908245645131307734488577061372364817450586889275358782916925394715941799508318431816478814725908862196152756298687366378381537571382562480892452660072873556143080954646311706447883919523685543546694551280018377864766835366495037087359244027313467708377540151283430222484791338850626305226030451962318910598531288346189195429845064635364069641000590127364275008874434133602003433912160703216281801579394105669691840655442485906626946746514426764709524948021764163672694569112148030640980757632790674358403586472962521552902874530914273278278010561035190827517211685900367680390680105741249249222611759043691439125748751277332481748621797767423963632066291559118513554983387486047536175510076269679436992961768913055120999375143097554741799785471017514835774722 146412709602241945722397055996241402823376826839215326212078571778758108040149182861072464517896382187628297158594847574501921568684165430984503935218343097036501217956809751674110838483320975976286845984100227676330155635934134726369549963988375310235853295945033029243999320075011681619402471480279230758153516678491530358668624040379098284428995044577530295871194193939504680764250845783195110947621563319596647916699999504159991793116138131038578957316073005260744195836981386769128505855325437504665273807959136130770159678693068822102089982857200202086907181029247596661994937189072806796906411112538723399401113431498357946748622305571446662767512341761301566376496123242075118958552481904043649963784253244932344756563315216051664372092275342042737190086124801241665835612796174581193138209559148626726059942709758325269393804517091047086014346104580101617575883239608544341436702892307548683709003295914956227675858300151949059245773306980847161825193830821988467307670187963157330680983682044692502719852087809708607842327539290577497080429573703416456171381164031108274960611804712990905036796262732840433738535118554430374765692079356876192786633002527935235215066801369665175797488992761610955405747470819775189433336410261612286244723826757129979816605073298981543976178127437575560041883805615442880750605272714626971013122205663312833702971398640790340635607164207544327671820838849720170531528896677493947820018604791715594190813273849986410022199079292235841024929938937940099894271051335137556418130349733250200011379516639977047045794666429296283163056345529179136741501811969771859714208776738831147113845018203627289446886166801347110608717234783348548264513640353458092689431551269852552036880308445459201288284085579298886013080621344558425734153822691002042652798252074331855640645885975195080781069468799642380193393168862327770402970018125787582462790733328380913802470906850786199819542832206403687133328730566161586149648714113304834955344712456173148491394919490343065080102648938337401223149410404188784781885689989314246404983979173050534846988558633705330809566560203458064997887259448435951558115498672043205522280466312649996550116367562970450162271703997212672016969953831757703083678321 236900740521395565820485126548197127049610841455259390679899851531950505057323240049450224552604248060537292986490344636195582064314209707877568919447554929499337203955767036193283973163639119211066688753066779979195995193002637238344894302831346385910814967997469401264217650317111344596172325731660788424474497088042904988057190561560021046350864512304690758598115689557675912330292527563409328083823012331923077033540480266952246724122787178276132507167751076385169872166054583651875243369958284389863448144661432346654395511892016265141877977694462304485972313208125432849755599055892720733558799684461700345297418791527471163446974483573644795992937628924963591363815428418212891767215886520560182682681155285391410012421265454553308509643580785632978250694360227238571513418383833990142873692520953001061004182309254310269907312240359804080438120542165212063777196752388694006700253349549566578275465354062375932774064727733122817861402915934321082874808885230729953235422038649012604982679074994319372313964247938178810374511511831400430403216673210448218934293513733908234761678816697104977555081612083816349326118895350686430344737938846494388059836404350525319199464801126475170207520603623656290376024868586605362578641126908543929482014051911913789522918178481574111419850429435725401161864890227564450712887925363966689918340457423905297287470635963105860141224039831344963586204795446423964298170138608935492684416569968426456949138226021234913076606987537880972332664427515001472259088501922026831776913266658644915953179024958408863524609392338158479315812644216545515123039383352334340606661436811704703256925972849938995894770086325032654155411786063366926129280475719953129776790795297166019745257848596742631510768876918149512318306651796520744644752353979348231848228097138967219710286886565322445056078343233775982196827081023030986684771597519893252154631388770866820429417653365212964529067780228167850806023299678309616790629471746095509313748298929135670044297794021257338358380659499372592050666622090089152462276370095055495654206590932094226286114307384982663291315182001225488961519325739995070071670482059529253058455976388919675987109329331883505283271079140310226758769739302775217919453043 383313450123637511542882182544438529872987668294474716891978423310708613097472422910522689070500630248165590145085192210697503632998375138862072854665898026535838421912576787867394811646960095187353534737167007655526150828936771964714444266819721696146668263942502430508216970392123026215574797211940019182628013766534435346725814601939119330779859556882221054469309883497180593094543373346604439031444575651519724950240479771112238517238925309314711464483824081645914068003035970421003749225283721894528721952620568477424555190585085087243967960551662506572879494237373029511750536244965527530465210797000423744698532223025829110195596789145091458760449970686265157740311551660288010725768368424603832646465408530323754768984580670604972881735856127675715440780485028480237349031180008571336011902080101627787064125019012635539301116757450851166452466646745313681353079991997238348136956241857115261984468649977332160449923027885071877107176222915168244700002716052718420543092226612169935663662757039011875033816335747887418216839051121977927483646246913864675105674677765016509722290621410095882591877874816656783064654013905116805110430018203370580846469406878460554414531602496140346005009596385267245781772339406380552011977537170156215726737878669043769339523251780555655396028556873300961203748695843007331463493198078593660931462663087218130990442034603896200776831204038889291258025634296144134829699035286429440504435174760142051139951499871221323098806066830116813357594366452941572153359553257164388195043616391895115964558541598385910570404058767454762478868989745724651864541195322106200320870213550535850370770991053566285341656253126379764764129020846715474393794116073411222466222346567018571782138157042201832799052962497448398331387273141079170378906176670350274501026349213299075350932772540517525837147812033418362390220249885358757087741615645680834617422122099247734231888560215999164348610612434571537939352030244471202940278185859400344269093011385308818535692713511600403438483308437709993273816032494277937244162060084369742059190570105144761133102866018687994100881742204683553959406585188431021629785980731572458580736442701569672537225696894853955445542783137522898775739693134532921003131364 620214190645033077363367309092635656922598509749734107571878274842659118154795662959972913623104878308702883131575536846893085697312584846739641774113452956035175625868343824060678784810599214398420223490233787634722146021939409203059338569651068082057483231939971831772434620709234370811747122943600807607102510854577340334783005163499140377130724069186911813067425573054856505424835900910013767115267587983442801983780960038064485241361712487590843971651575158031083940169090554072878992595242006284392170097282000824078950702477101352385845938246124811058851807445498462361506135300858248264024010481462124089995951014553300273642571272718736254753387599611228749104126980078500902492984254945164015329146563815715164781405846125158281391379436913308693691474845255718808862449563842561478885594601054628848068307328266945809208428997810655246890587188910525745130276744385932354837209591406681840259934004039708093223987755618194694968579138849489327574811601283448373778514265261182540646341832033331247347780583686066228591350562953378357886862920124312894039968191498924744483969438107200860146959486900473132390772909255803235455167957049864968906305811228985873613996403622615516212530200008923536157797207992985914590618664078700145208751930580957558862441430262129766815878986309026362365613586070571782176381123442560350849803120511123428277912670567002060918055243870234254844230429742568099127869173895364933188851744728568508089089725892456236175413054367997785690258793967943044412448055179191219971956883050540031917737566556794774095013451105613241794681633962270166987580578674440540927531650362240553627696963903505281236426339451412418919540806910082400523074591793364352243013141864184591527396005638944464309821839415597910649693924937599915023658530649698506349254446352266295061219659105839970893226155267194344587047330908389743772513213165574086772053510870114554661306213581212128877678392662739388745375329922780819730907657605495853582841310314444488579990507532857741796863967937082585324482654584367089706438430179425237713397161037238987419217173403670657392196924205909042920925910928426091701456462791101711639192419090489348524335026226737460728813862277833125534509432437308138922584407 1003527640768670588906249491637074186795586178044208824463856698153367731252268085870495602693605508556868473276660729057590589330310959985601714628779350982571014047780920611928073596457559309585773758227400795290248296850876181167773782836470789778204151495882474262280651591101357397027321920155540826789730524621111775681508819765438259707910583626069132867536735456552037098519379274256618206146712163634962526934021439809176723758600637796905555436135399239676998008172126524493882741820525728178920892049902569301503505893062186439629813898797787317631731301682871491873256671545823775794489221278462547834694483237579129383838168061863827713513837570297493906844438531738788913218752623369767847975611972346038919550390426795763254273115293040984409132255330284199046211480743851132814897496681156256635132432347279581348509545755261506413343053835655839426483356736383170702974165833263797102244402654017040253673910783503266572075755361764657572274814317336166794321606491873352476310004589072343122381596919433953646808189614075356285370509167038177569145642869263941254206260059517296742738837361717129915455426923160920040565597975253235549752775218107446428028528006118755862217539796394190781939569547399366466602596201248856360935489809250001328201964682042685422211907543182327323569362281913579113639874321521154011781265783598341559268354705170898261694886447909123546102256064038712233957568209181794373693286919488710559229041225763677559274219121198114599047853160420884616565807608436355608167000499442435147882296108155180684665417509873068004273550623707994818852121773996546741248401863912776403998467954957071566578082592577792183683669827756797874916868707866775574709235488431203163309534162681146297108874801913046308981081198078679085402564707320048780850280795565565370412152431646357496730373967300612706977267580793748500860254828811254921389475632969362288893194773797211293226289005097310926684727360167252022671185843464896197851934321699753307115683221044458145235347276374792578598298687078645026950600490263794979772587731142383748552320039422358651493078666410592596880332496116857113331242443522674170219928861792059021061560723121591416174356645415356024310249125571841059925715771 1623741831413703666269616800729709843718184687793942932035734972996026849407063748830468516316710386865571356408236265904483675027623544832341356402892803938606189673649264435988752381268158523984193981717634582924970442872815590370833121406121857860261634727822446094053086211810591767839069043099141634396833035475689116016291824928937400085041307695256044680604161029606893603944215175166631973261979751618405328917802399847241208999962350284496399407786974397708081948341217078566761734415767734463313062147184570125582456595539287792015659837043912128690583109128369954234762806846682024058513231759924671924690434252132429657480739334582563968267225169908722655948565511817289815711736878314931863304758536161754084331796272920921535664494729954293102823730175539917855073930307693694293783091282210885483200739675546527157717974753072161660233641024566365171613633480769103057811375424670478942504336658056748346897898539121461267044334500614146899849625918619615168100120757134535016956346421105674369729377503120019875399540177028734643257372087162490463185611060762865998690229497624497602885796848617603047846199832416723276020765932303100518659081029336432301642524409741371378430069996403114318097366755392352381193214865327556506144241739830958887064406112304815189027786529491353685934975867984150895816255444963714362631068904109464987546267375737900322612941691779357800946486493781280333085437383077159306882138664217279067318130951656133795449632175566112384738111954388827660978255663615546828138957382492975179800033674711975458760430960978681246068232257670264985839702352670987282175933514275016957626164918860576847814508932029204602603210634666880275439943299660139926952248630295387754836930168320090761418696641328644219630775123016279000426223237969747287199535241917831665473372090752197467623600122567807051564314911702138244632768041976829008161529143839476843554500987378423422103967397760050315430102690090032842402093501070392051434775632014197795695673728577315887032211244311875163922781341663012116657038920443220217485984892179622735971537212826029308885275590616501639801258407045283205032698906313775881859121280882548369585895749348328876903170507693189149844758558009149198848300178 2627269472182374255175866292366784030513770865838151756499591671149394580659331834700964119010315895422439829684896994962074264357934504817943071031672154921177203721430185047916825977725717833569967739945035378215218739723691771538606904242592647638465786223704920356333737802911949164866390963254682461186563560096800891697800644694375659792951891321325177548140896486158930702463594449423250179408691915253367855851823839656417932758562988081401954843922373637385079956513343603060644476236293462642233954197087139427085962488601474231645473735841699446322314410811241446108019478392505799853002453038387219759384917489711559041318907396446391681781062740206216562793004043556078728930489501684699711280370508507793003882186699716684789937610022995277511955985505824116901285411051544827108680587963367142118333172022826108506227520508333668073576694860222204598096990217152273760785541257934276044748739312073788600571809322624727839120089862378804472124440235955781962421727249007887493266351010178017492110974422553973522207729791104090928627881254200668032331253930026807252896489557141794345624634210334732963301626755577643316586363907556336068411856247443878729671052415860127240647609792797305100036936302791718847795811066576412867079731549080960215266370794347500611239694072673681009504338149897730009456129766484868374412334687707806546814622080908798584307828139688481347048742557819992567043005592258953680575425583705989626547172177419811354723851296764226983785965114809712277544063272051902436305957881935410327682329782867156143425848470851749250341782881378259804691824126667534023424335378187793361624632873817648414392591524606996786286880462423678150356812007526915501661484118726590918146464331001237058527571443241690528611856321094958085828787945289796068049816037483397035885524522398554964353974089868419758541582492495886745493022870788083929551004776808839132447695761175634715330256402857361242114830050257284865073279344535288249286709953713951102811356949621774032267558520686667742521080028741657143607639410707015197258572623322006484523857252248387960378354257027094236681590903162140318363941349836450052079050142674607390647456472469920293077527153108545174155007683580990258774015949 4251011303596077921445483093096493874231955553632094688535326644145421430066395583531432635327026282288011186093133260866557939385558049650284427434564958859783393395079449483905578358993876357554161721662669961140189182596507361909440025648714505498727420951527366450386824014722540932705460006353824095583396595572490007714092469623313059877993199016581222228745057515765824306407809624589882152670671666871773184769626239503659141758525338365898354251709348035093161904854560681627406210652061197105547016344271709552668419084140762023661133572885611575012897519939611400342782285239187823911515684798311891684075351741843988698799646731028955650048287910114939218741569555373368544642226379999631574585129044669547088213982972637606325602104752949570614779715681364034756359341359238521402463679245578027601533911698372635663945495261405829733810335884788569769710623697921376818596916682604754987253075970130536947469707861746189106164424362992951371974066154575397130521848006142422510222697431283691861840351925673993397607269968132825571885253341363158495516864990789673251586719054766291948510431058952336011147826587994366592607129839859436587070937276780311031313576825601498619077679789200419418134303058184071228989025931903969373223973288911919102330776906652315800267480602165034695439314017881880905272385211448582737043403591817271534360889456646698906920769831467839147995229051601272900128442975336112987457564247923268693865303129075945150173483472330339368524077069198539938522318935667449264444915264428385507482363457579131602186279431830430496410015139048524790531526479338521305600268892462810319250797792678225262207100456636201388890091097090558425796755307187055428613732749021978672983394499321327819946268084570334748242631444111237086255011183259543355249351279401228701358896613150752431977574212436226810105897404198024990125790912764912937712533920648315976002196748554058137434223800617411557544932740347317707475372845605680300721485585728148898507030678199089919299769764998542906443861370404669260264678331150235414744557515501629220495394465074417269263629847643595876482849310207423523396640256150225933938171423557155760233352221818249169980697660801734323999766241590139457622316127 6878280775778452176621349385463277904745726419470246445034918315294816010725727418232396754337342177710451015778030255828632203743492554468227498466237113780960597116509634531822404336719594191124129461607705339355407922320199133448046929891307153137193207175232286806720561817634490097571850969608506556769960155669290899411893114317688719670945090337906399776885954001924755008871404074013132332079363582125141040621450079160077074517088326447300309095631721672478241861367904284688050686888354659747780970541358848979754381572742236255306607308727311021335211930750852846450801763631693623764518137836699111443460269231555547740118554127475347331829350650321155781534573598929447273572715881684331285865499553177340092096169672354291115539714775944848126735701187188151657644752410783348511144267208945169719867083721198744170173015769739497807387030745010774367807613915073650579382457940539031032001815282204325548041517184370916945284514225371755844098506390531179092943575255150310003489048441461709353951326348227966919814999759236916500513134595563826527848118920816480504483208611908086294135065269287068974449453343572009909193493747415772655482793524224189760984629241461625859725289581997724518171239360975790076784836998480382240303704837992879317597147700999816411507174674838715704943652167779610914728514977933451111455738279525078081175511537555497491228597971156320495043971609421265467171448567595066668032989831629258320412475306495756504897334769094566352310042184008252216066382207719351700750873146363795835164693240446287745612127902682179746751798020426784595223350606006055329024604270650603680875430666495873676599691981243198175176971559514236576153567314713970930275216867748569591129858830322564878473839527812025276854487765206195172083799128549339423299167316884625737244421135549307396331548302304646568647479896693911735618813783552996867263538697457155108449892509729692852764480203474772799659762790604602572548652190140968550008195539442100001318387627820863951567328285685210648964941399146326403872317741857250612003130138823635705019251717322805229641984104670690113164440213369563841760581605986675986017221566231763150880808694288169463058224813910279498154773925171129716396332076 11129292079374530098066832478559771778977681973102341133570244959440237440792123001763829389664368459998462201871163516695190143129050604118511925900802072640743990511589084015727982695713470548678291183270375300495597104916706495357486955540021658635920628126759653257107385832357031030277310975962330652353356751241780907125985583941001779548938289354487622005631011517690579315279213698603014484750035248996914225391076318663736216275613664813198663347341069707571403766222464966315456897540415856853327986885630558532422800656882998278967740881612922596348109450690464246793584048870881447676033822635011003127535620973399536438918200858504302981877638560436095000276143154302815818214942261683962860450628597846887180310152644991897441141819528894418741515416868552186414004093770021869913607946454523197321400995419571379834118511031145327541197366629799344137518237612995027397979374623143786019254891252334862495511225046117106051448938588364707216072572545106576223465423261292732513711745872745401215791678273901960317422269727369742072398387936926985023364983911606153756069927666674378242645496328239404985597279931566376501800623587275209242553730801004500792298206067063124478802969371198143936305542419159861305773862930384351613527678126904798419927924607652132211774655277003750400382966185661491820000900189382033848499141871342349615536400994202196398149367802624159643039200661022538367299891542931179655490554079552527014277778435571701655070818241424905720834119253206792154588701143386800965195788410792181342647056698025419347798407334512610243161813159475309385754877085344576634624873163113414000126228459174098938806792437879399564067062656604795001950322621901026358888949616770548264113253329643892698420107612382360025097119209317432258338810311808882778548518596285854438603317748700059828309122514740873378753377300891936725744604696317909804976072618105471084452089258283750990198704004092184357204695530951920280024025035746648850729681125170248899825418306019953870867098050683753555408802769550995664136996073007486026747687654325264925514646182397222498905613952314285989647289523576987365157221862136901919955392989788918911114160916106418633038922474712013822154540166761269174018648203 18007572855152982274688181864023049683723408392572587578605163274735053451517850419996226144001710637708913217649193772523822346872543158586739424367039186421704587628098718547550387032433064739802420644878080639851005027236905628805533885431328811773113835301991940063827947649991521127849161945570837209123316906911071806537878698258690499219883379692394021782516965519615334324150617772616146816829398831122055266012526397823813290792701991260498972442972791380049645627590369251003507584428770516601108957426989407512177182229625234534274348190340233617683321381441317093244385812502575071440551960471710114570995890204955084179036754985979650313706989210757250781810716753232263091787658143368294146316128151024227272406322317346188556681534304839266868251118055740338071648846180805218424752213663468367041268079140770124004291526800884825348584397374810118505325851528068677977361832563682817051256706534539188043552742230488022996733452813736463060171078935637755316408998516443042517200794314207110569743004622129927237237269486606658572911522532490811551213102832422634260553136278582464536780561597526473960046733275138386410994117334690981898036524325228690553282835308524750338528258953195868454476781780135651382558699928864733853831382964897677737525072308651948623281829951842466105326618353441102734729415167315484959954880150867427696711912531757693889377965773780480138083172270443803834471340110526246323523543911181785334690253742067458159968153010519472073144161437215044370655083351106152665946661557155977177811749938471707093410535237194789989913611179902093980978227691350631963649477433764017681001659125669972615406484419122597739244034216119031578103889936614997289164166484519117855243112159966457576893947140194385301951606974523627430422609440358222201847685913170480175847738884249367224640670817045519947400857197585848461363418479870906672239611315562626192901981768013443842963184207566957156864458321556522852572677225887617400737876664612348901143805933840817822434426336368964204373744168697322068009313814864736638750817793148900630533897899720027728547598056984976102811729736946551206917803468123577905972614556020682061994969610394588096097147288622293320309314091932398890414980279 29136864934527512372755014342582821462701090365674928712175408234175290892309973421760055533666079097707375419520357289219012490001593762705251350267841259062448578139687802563278369728146535288480711828148455940346602132153612124163020840971350470409034463428751593320935333482348552158126472921533167861476673658152852713663864282199692278768821669046881643788147977037305913639429831471219161301579434080118969491403602716487549507068315656073697635790313861087621049393812834217318964481969186373454436944312619966044599982886508232813242089071953156214031430832131781340037969861373456519116585783106721117698531511178354620617954955844483953295584627771193345782086859907535078910002600405052257006766756748871114452716474962338085997823353833733685609766534924292524485652939950827088338360160117991564362669074560341503838410037832030152889781764004609462642844089141063705375341207186826603070511597786874050539063967276605129048182391402101170276243651480744331539874421777735775030912540186952511785534682896031887554659539213976400645309910469417796574578086744028788016623063945256842779426057925765878945644013206704762912794740921966191140590255126233191345581041375587874817331228324394012390782324199295512688332562859249085467359061091802476157452996916304080835056485228846216505709584539102594554730315356697518808454022022209777312248313525959890287527333576404639781122372931466342201771231653457425979014097990734312348968032177639159815038971251944377793978280690421836525243784494492953631142449967948158520458806636497126441208942571707400233075424339377403366733104776695208598274350596877431681127887584844071554213276857001997303311096872723826580054212558516023648053116101289666119356365489610350275314054752576745327048726183841059688761419752167104980396204509456334614451056632949427052949793331786393326154234498477785187108023176188816477215683933668097277354071026297194833161888211659141514069153852508443132596702261634266251467557789782597800969224239860771693301524387052717759782546938248317732146309887872222665498505447474165556048544082117250227453212009299262092459019260523538572075025330260479825928007545809600973109130526501006729136069763334307142463854258693668064433628482 47144437789680494647443196206605871146424498758247516290780571508910344343827823841756281677667789735416288637169551061742834836874136921291990774634880445484153165767786521110828756760579600028283132473026536580197607159390517752968554726402679282182148298730743533384763281132340073285975634867104005070599990565063924520201742980458382777988705048739275665570664942556921247963580449243835308118408832911241024757416129114311362797861017647334196608233286652467670695021403203468322472066397956890055545901739609373556777165116133467347516437262293389831714752213573098433282355673876031590557137743578431232269527401383309704796991710830463603609291616981950596563897576660767342001790258548420551153082884899895341725122797279684274554504888138572952478017652980032862557301786131632306763112373781459931403937153701111627842701564632914978238366161379419581148169940669132383352703039750509420121768304321413238582616709507093152044915844215837633336414730416382086856283420294178817548113334501159622355277687518161814791896808700583059218221433001908608125791189576451422277176200223839307316206619523292352905690746481843149323788858256657173038626779451461881898863876684112625155859487277589880845259105979431164070891262788113819321190444056700153894978069224956029458338315180688682611036202892543697289459730524013003768408902173077205008960226057717584176905299350185119919205545201910146036242571763983672302537641901916097683658285919706617975007124262463849867122442127636880895898867845599106297089111525104135698270556574968833534619477808902190222989035519279497347711332468045840561923828030641449362129546710514044169619761276124595042555131088842858158158102495131020937217282585808783974599477649576807852208001892771130629000333158364687119184029192525327182243890422626814790298795517198794277590464148831913273555091696063633648471441656059723149455295249230723470256052794310638676125072419226098670933612174064965985169379487521883652205434454394946702113030173701589515735950723421681964156291106945639800155623702736959304249323240623066186582441981837277956000810066284238195270748997470089778992828798384057731900622101830283035104100136895594825233217051956600462773168350626066954848608761 76281302724208007020198210549188692609125589123922445002955979743085635236137797263516337211333868833123664056689908350961847326875730683997242124902721704546601743907474323674107126488726135316763844301174992520544209291544129877131575567374029752591182762159495126705698614614688625444102107788637172932076664223216777233865607262658075056757526717786157309358812919594227161603010280715054469419988266991359994248819731830798912304929333303407894244023600513555291744415216037685641436548367143263509982846052229339601377148002641700160758526334246546045746183045704879773320325535249488109673723526685152349968058912561664325414946666674947556904876244753143942345984436568302420911792858953472808159849641648766456177839272242022360552328241972306638087784187904325387042954726082459395101472533899451495766606228261453131681111602464945131128147925384029043791014029810196088728044246937336023192279902108287289121680676783698281093098235617938803612658381897126418396157842071914592579025874688112134140812370414193702346556347914559459863531343471326404700369276320480210293799264169096150095632677449058231851334759688547912236583599178623364179217034577695073244444918059700499973190715601983893236041430178726676759223825647362904788549505148502630052431066141260110293394800409534899116745787431646291844190045880710522576862924195286982321208539583677474464432632926589759700327918133376488238013803417441098281551739892650410032626318097345777790046095514408227661100722818058717421142652340092059928231561493052294218729363211465959975828420380609590456064459858656900714444437244741049160198178627518881043257434295358115723833038133126592345866227961566684738212315053647044585270398687098450093955843139187158127522056645347875956049059342205746807945448944692432162640094932083149404749852150148221330540257480618306599709326194541418835579464832248539626670979182898820747610123820607833509286960630885240185002766026573409117766081749156149903672992244177544503082254413562361209037475110474399723938838045193957532301933590609181969747828688097231742630986063954528183454022075583500287729768257993628351067854128644537557828629647639884008213230663396601554369286815290907605237022609319735019282237243 123425740513888501667641406755794563755550087882169961293736551251995979579965621105272618889001658568539952693859459412704682163749867605289232899537602150030754909675260844784935883249305735345046976774201529100741816450934647630100130293776709034773331060890238660090461895747028698730077742655741178002676654788280701754067350243116457834746231766525432974929477862151148409566590729958889777538397099902601019006235860945110275102790350950742090852256887166022962439436619241153963908614765100153565528747791838713158154313118775167508274963596539935877460935259277978206602681209125519700230861270263583582237586313944974030211938377505411160514167861735094538909882013229069762913583117501893359312932526548661797902962069521706635106833130110879590565801840884358249600256512214091701864584907680911427170543381962564759523813167097860109366514086763448624939183970479328472080747286687845443314048206429700527704297386290791433138014079833776436949073112313508505252441262366093410127139209189271756496090057932355517138453156615142519081752776473235012826160465896931632570975464392935457411839296972350584757025506170391061560372457435280537217843814029156955143308794743813125129050202879573774081300536158157840830115088435476724109739949205202783947409135366216139751733115590223581727781990324189989133649776404723526345271826368364187330168765641395058641337932276774879619533463335286634274256375181424770584089381794566507716284604017052395765053219776872077528223164945695598317041520185691166225320673018156429916999919786434793510447898189511780679053495377936398062155769712786889722122006658160330405386981005872159893452799409251187388421359050409542896370417548778065522487681272907234068555320788763965979730058538119006585049392500570433927129478137217759344883985354709964195048647667347015608130721629450219873264417890605052484050906488308262776126274432129544217866176614918472185412033050111338855936378200638375102935461236678033555878426698572491205195284587263950724773425833896081688095129152139597332457557293346141273997151928720297929213428045791806139454832141867738483000517255463718130060682927028595289729251749470167043317330800292196379602503867247508068010190959945801974130846004 199707043238096508687839617304983256364675677006092406296692530995081614816103418368788956100335527401663616750549367763666529490625598289286475024440323854577356653582735168459043009738031870661810821075376521621286025742478777507231705861150738787364513823049733786796160510361717324174179850444378350934753319011497478987932957505774532891503758484311590284288290781745375571169601010673944246958385366893961013255055592775909187407719684254149985096280487679578254183851835278839605345163132243417075511593844068052759531461121416867669033489930786481923207118304982857979923006744375007809904584796948735932205645226506638355626885044180358717419044106488238481255866449797372183825375976455366167472782168197428254080801341763728995659161372083186228653586028788683636643211238296551096966057441580362922937149610224017891204924769562805240494662012147477668730198000289524560808791533625181466506328108537987816825978063074489714231112315451715240561731494210634923648599104438008002706165083877383890636902428346549219485009504529701978945284119944561417526529742217411842864774728562031607507471974421408816608360265858938973796956056613903901397060848606852028387753712803513625102240918481557667317341966336884517589338914082839628898289454353705413999840201507476250045127915999758480844527777755836280977839822285434048922134750563651169651377305225072533105770565203364639319861381468663122512270178598865868865641121687216917748910922114398173555099315291280305189323887763754315738184172525783226153552234511208724135729282997900753486276318570121371135117955236593298776600206957527938882320185285679211448644415301230275617285837542377779734287587011976227634582732602425110107758079960005684162511163927951124107252115183466882541098451842776180735074927081910191507524080286793113599798499817495236938670979110068526472973744085146471319630371320556802402797253615028364965476300435526305694698993680996579040939144227211784220701542985834183459551418942750035708277539000826311933810900944370481412033967197333554864759490883955323243744980616817529671844414109746334322908854217451238770730285513457346481128537055673132847557881397110051051530561463688797933971790682538415673247213569265536993413083247 323132783751985010355481024060777820120225764888262367590429082247077594396069039474061574989337185970203569444408827176371211654375465894575707923977926004608111563257996013243978892987337606006857797849578050722027842193413425137331836154927447822137844883939972446886622406108746022904257593100119528937429973799778180742000307748890990726249990250837023259217768643896523980736191740632834024496782466796562032261291453721019462510510035204892075948537374845601216623288454519993569253777897343570641040341635906765917685774240192035177308453527326417800668053564260836186525687953500527510135446067212319514443231540451612385838823421685769877933211968223333020165748463026441946738959093957259526785714694746090051983763411285435630765994502194065819219387869673041886243467750510642798830642349261274350107692992186582650728737936660665349861176098910926293669381970768853032889538820313026909820376314967688344530275449365281147369126395285491677510804606524143428901040366804101412833304293066655647132992486278904736623462661144844498027036896417796430352690208114343475435750192954967064919311271393759401365385772029330035357328514049184438614904662636008983531062507547326750231291121361131441398642502495042358419454002518316353008029403558908197947249336873692389796861031589982062572309768080026270111489598690157575267406576932015356981546070866467591747108497480139518939394844803949756786526553780290639449730503481783425465195526131450569320152535068152382717547052709449914055225692711474392378872907529365154052729202784335546996724216759633151814171450614529696838755976670314828604442191943839541854031396307102435510738636951628967122708946062385770530953150151203175630245761232912918231066484716715090086982173721585889126147844343346614662204405219127950852408065641503077794847147484842252546801700739518746346238161975751523803681277808865065178923528047157909183342477050444777880111026731107917896875522427850159323637004222512217015429845641322526913472823588090262658584326778266563100129096349473152197217048177301464517742132545537827601057842155538140462363686359318977253730802768921064611189219982701728137287133146580218094847892263980994313574294549785923741257404529211338967543929251 522839826990081519043320641365761076484901441894354773887121613242159209212172457842850531089672713371867186194958194940037741145001064183862182948418249859185468216840731181703021902725369476668668618924954572343313867935892202644563542016078186609502358706989706233682782916470463347078437443544497879872183292811275659729933265254665523617753748735148613543506059425641899551905792751306778271455167833690523045516347046496928649918229719459042061044817862525179470807140289798833174598941029586987716551935479974818677217235361608902846341943458112899723875171869243694166448694697875535320040030864161055446648876766958250741465708465866128595352256074711571501421614912823814130564335070412625694258496862943518306064564753049164626425155874277252047872973898461725522886678988807193895796699790841637273044842602410600541933662706223470590355838111058403962399579971058377593698330353938208376326704423505676161356253512439770861600238710737206918072536100734778352549639471242109415539469376944039537769894914625453956108472165674546476972321016362357847879219950331755318300524921516998672426783245815168217973746037888269009154284570663088340011965511242861011918816220350840375333532039842689108715984468831926876008792916601155981906318857912613611947089538381168639841988947589740543416837545835862551089329420975591624189541327495666526632923376091540124852879062683504158259256226272612879298796732379156508315371625169000343214106448245848742875251850359432687906870940473204229793409865237257618532425142040573878188458485782236300483000535329754522949289405851122995615356183627842767486762377229518753302675811608332711128024474494006746856996533074361998165535882753628285738003841192918602393577648644666214194234288905052771667246296186122795397279332301038142359932145928296191394645647302337489485472679849587272819211906060897995123311649129421867581720781662186274148818777485971083574810020412104496937814666655061943544338547208346400474981264584072562621750362588916574592395227722637044512163063546806707061976539061256787761487113162355357272902256265284474785272540576770216024461088282378411092317757038374860984845014543690269146378453727669792247546085232324339414504618098476875960957012498 845972610742066529398801665426538896605127206782617141477550695489236803608241497316912106079009899342070755639367022116408952799376530078437890872396175863793579780098727194947000795712707082675526416774532623065341710129305627781895378171005634431640203590929678680569405322579209369982695036644617408809613266611053840471933573003556514344003738985985636802723828069538423532641984491939612295951950300487085077777638500217948112428739754663934136993355237370780687430428744318826743852718926930558357592277115881584594903009601800938023650396985439317524543225433504530352974382651376062830175476931373374961092108307409863127304531887551898473285468042934904521587363375850256077303294164369885221044211557689608358048328164334600257191150376471317867092361768134767409130146739317836694627342140102911623152535594597183192662400642884135940217014209969330256068961941827230626587869174251235286147080738473364505886528961805052008969365106022698595583340707258921781450679838046210828372773670010695184902887400904358692731934826819390974999357912780154278231910158446098793736275114471965737346094517208927619339131809917599044511613084712272778626870173878869995449878727898167125564823161203820550114626971326969234428246919119472334914348261471521809894338875254861029638849979179722605989147313915888821200819019665749199456947904427681883614469446958007716599987560163643677198651071076562636085323286159447147765102128650783768679301974377299312195404385427585070624417993182654143848635557948732010911298049569939032241187688566571847479724752089387674763460856465652692454112160298157596091204569173358295156707207915435146638763111445635713979705479136747768696489032904831461368249602425831520624644133361381304281216462626638660793394140529469410059483737520166093212340211569799269189492794787179742032274380589106019165450068036649518926992926938286932760644309709344183332161254536415861454921047143212414834690189082912102867975551430858617490411110225395089535223186177006837250979554500903607612292159896279859259193587238558252279229245707893184873960098420822615247636226936089193278191891051299475703506977021076589122132147690270487241226345991650786561120379782110263155762022627688214928500941749 1368812437732148048442122306792299973090028648676971915364672308731396012820413955159762637168682612713937941834325217056446693944377594262300073820814425722979047996939458376650022698438076559344195035699487195408655578065197830426458920187083821041142562297919384914252188239049672717061132480189115288681796559422329500201866838258222037961757487721134250346229887495180323084547777243246390567407118134177608123293985546714876762346969474122976198038173099895960158237569034117659918451659956517546074144212595856403272120244963409840869992340443552217248418397302748224519423077349251598150215507795534430407740985074368113868770240353418027068637724117646476023008978288674070207867629234782510915302708420633126664112892917383764883616306250748569914965335666596492932016825728125030590424041930944548896197378197007783734596063349107606530572852321027734218468541912885608220286199528189443662473785161979040667242782474244822870569603816759905513655876807993700134000319309288320243912243046954734722672782315529812648840406992493937451971678929142512126111130108777854112036800035988964409772877763024095837312877847805868053665897655375361118638835685121731007368694948249007500898355201046509658830611440158896110437039835720628316820667119384135421841428413636029669480838926769463149405984859751751372290148440641340823646489231923348410247392823049547841452866622847147835457907297349175515384120018538603656080473753819784111893408422623148055070656235787017758531288933655858373642045423185989629443723191610512910429646174348808147962725287419142197712750262316775688069468343926000363577966946402877048459383019523767857766787585939642460836702012211109766862024915658459747106253443618750123018221782006047518475450751531691432460640436715592205456763069821204235572272357498095460584138442089517231517747060438693291984661974097547514050304576067708800342365091371530457480980032022386945029731067555316911772504855737974046412314098639205017965392374809467652156973548765923411843374782223540652124455223443086566321170126299815040040716358870248542146862354686107090032908767512859409302652979333677886795824734059451450106977162233960756387604799719320578808666465014434602570266640726165090889457954247 2214785048474214577840923972218838869695155855459589056842223004220632816428655452476674743247692512056008697473692239172855646743754124340737964693210601586772627777038185571597023494150783642019721452474019818473997288194503458208354298358089455472782765888849063594821593561628882087043827516833732697491409826033383340673800411261778552305761226707119887148953715564718746617189761735186002863359068434664693201071624046932824874775709228786910335031528337266740845667997778436486662304378883448104431736489711737987867023254565210778893642737428991534772961622736252754872397460000627660980390984726907805368833093381777976996074772240969925541923192160581380544596341664524326285170923399152396136346919978322735022161221081718365140807456627219887782057697434731260341146972467442867285051384071047460519349913791604966927258463991991742470789866530997064474537503854712838846874068702440678948620865900452405173129311436049874879538968922782604109239217515252621915450999147334531072285016716965429907575669716434171341572341819313328426971036841922666404343040267223952905773075150460930147118972280233023456652009657723467098177510740087633897265705859000601002818573676147174626463178362250330208945238411485865344865286754840100651735015380855657231735767288890890699119688905949185755395132173667640193490967460307090023103437136351030293861862270007555558052854183010791512656558368425738151469443304698050803845575882470567880572710397000447367266060621214602829155706926838512517490680981134721640355021241180451942670833862915379995442450039508529872476211118782428380523580504224157959669171515576235343616090227439203004405550697385278174816407491347857535558513948563291208474503046044581643642865915367428822756667214158330093254034577245061615516246807341370328784612569067894729773631236876696973550021441027799311150112042134197032977297503005995733103009401080874640813141286558802806484652114698529326607195044820886149280289650070063635455803485034862741692196734942930249094354336724444259736747383339366425580363713538373292319945604578141727020822453106929705280544994448948602580844870384977362499331711080528039229109309924231243628831145710971365369786844796544865726028663353853305817958895996 3583597486206362626283046279011138842785184504136560972206895312952028829249069407636437380416375124769946639308017456229302340688131718603038038514025027309751675773977643948247046192588860201363916488173507013882652866259701288634813218545173276513925328186768448509073781800678554804104959997022847986173206385455712840875667249520000590267518714428254137495183603059899069701737538978432393430766186568842301324365609593647701637122678702909886533069701437162701003905566812554146580756038839965650505880702307594391139143499528620619763635077872543752021380020039000979391820537349879259130606492522442235776574078456146090864845012594387952610560916278227856567605319953198396493038552633934907051649628398955861686274113999102130024423762877968457697023033101327753273163798195567897875475426001992009415547291988612750661854527341099349001362718852024798693006045767598447067160268230630122611094651062431445840372093910294697750108572739542509622895094323246322049451318456622851316197259763920164630248452031963983990412748811807265878942715771065178530454170376001807017809875186449894556891850043257119293964887505529335151843408395462995015904541544122332010187268624396182127361533563296839867775849851644761455302326590560728968555682500239792653577195702526920368600527832718648904801117033419391565781115900948430846749926368274378704109255093057103399505720805857939348114465665774913666853563323236654459926049636290351992466118819623595422336716857001620587686995860494370891132726404320711269798744432790964853100480037264188143405175326927672070188961381099204068593048848150158323247138461979112392075473246962970862172338283324920635653109503558967302420538864221750955580756489663331766661087697373476341232117965690021525714675013960653820973009877162574564356884926565990190357769678966214205067768501466492603134774016231744547027602079073704533445374492452405098294121318581189751514383182253846238379699900558860195692603748709268653421195859844330393849170283708853660937729118947984911861202606782452991901533839838188332360661963448390269167684807793036795313453761961808011883497849718655249295156445139979489336086472158192000016435945430291944178453309810979468296295304080018396707416850243 5798382534680577204123970251229977712480340359596150029049118317172661645677724860113112123664067636825955336781709695402157987431885842943776003207235628896524303551015829519844069686739643843383637940647526832356650154454204746843167516903262731986708094075617512103895375362307436891148787513856580683664616211489096181549467660781779142573279941135374024644137318624617816318927300713618396294125255003506994525437233640580526511898387931696796868101229774429441849573564590990633243060417723413754937617192019332379006166754093831398657277815301535286794341642775253734264217997350506920110997477249350041145407171837924067860919784835357878152484108438809237112201661617722722778209476033087303187996548377278596708435335080820495165231219505188345479080730536059013614310770663010765160526810073039469934897205780217717589112991333091091472152585383021863167543549622311285914034336933070801559715516962883851013501405346344572629647541662325113732134311838498943964902317603957382388482276480885594537824121748398155331985090631120594305913752612987844934797210643225759923582950336910824704010822323490142750616897163252802250020919135550628913170247403122933013005842300543356753824711925547170076721088263130626800167613345400829620290697881095449885312962991417811067720216738667834660196249207087031759272083361255520869853363504625408997971117363064658957558574988868730860771024034200651818323006627934705263771625518760919873038829216624042789602777478216223416842702787332883408623407385455432910153765673971416795771313900179568138847625366436201942665172499881632449116629352374316282916309977555347735691563474402173866577888980710198810469516994906824837979052812785042164055259535707913410303953612740905163988785179848351618968709591205715436489256684503944893141497495633884920131400915842911178617789942494291914284886058365941580004899582079700266548383893533279739107262605139992557999035296952375564986894945379746344972893398779332288876999344879193135541367018651783910032083455672429171597949990121819417481897553376561624680607568026531996188507260899966500593998756410756614464342720103632611794488156220507528565195782082423243645267091141263309548240154607524334022323967433871702525375746239 9381980020886939830407016530241116555265524863732711001256013630124690474926794267749549504080442761595901976089727151631460328120017561546814041721260656206275979324993473468091115879328504044747554428821033846239303020713906035477980735448436008500633422262385960612969157162985991695253747510879428669837822596944809022425134910301779732840798655563628162139320921684516886020664839692050789724891441572349295849802843234228228149021066634606683401170931211592142853479131403544779823816456563379405443497894326926770145310253622452018420912893174079038815721662814254713656038534700386179241603969771792276921981250294070158725764797429745830763045024717037093679806981570921119271248028667022210239646176776234458394709449079922625189654982383156803176103763637386766887474568858578663036002236075031479350444497768830468250967518674190440473515304235046661860549595389909732981194605163700924170810168025315296853873499256639270379756114401867623355029406161745266014353636060580233704679536244805759168072573780362139322397839442927860184856468384053023465251381019227566941392825523360719260902672366747262044581784668782137401864327531013623929074788947245265023193110924939538881186245488844009944496938114775388255469939935961558588846380381335242538890158693944731436320744571386483564997366240506423325053199262203951716603289872899787702080372456121762357064295794726670208885489699975565485176569951171359723697675155051271865504948036247638211939494335217844004529698647827254299756133789776144179952510106762381648871793937443756282252800693363874012854133880980836517709678200524474606163448439534460127767036721365144728750227264035119446122626498465792140399591677006793119636016025371245176965041310114381505220903145538373144683384605166369257462266561666519457498382422199875110489170594809125383685558443960784517419660074597686127032501661153404799993758385985684837401383923721182309513418479206221803366594845938606540665497147488600942298195204723523529390537302360637570969812574620414083459152596904272409383431393214749957041269531474922265356192068693003295907452518372564626347840569822287861089644601360487017901282254240615243661703036571555253726693464418503802318619271513890099232792596482 15180362555567517034530986781471094267745865223328861030305131947297352120604519127862661627744510398421857312871436847033618315551903404490590044928496285102800282876009302987935185566068147888131192369468560678595953175168110782321148252351698740487341516338003472716864532525293428586402535024736009353502438808433905203974602571083558875414078596699002186783458240309134702339592140405669186019016696575856290375240076874808754660919454566303480269272160986021584703052695994535413066876874286793160381115086346259149151477007716283417078190708475614325610063305589508447920256532050893099352601447021142318067388422131994226586684582265103708915529133155846330792008643188643842049457504700109513427642725153513055103144784160743120354886201888345148655184494173445780501785339521589428196529046148070949285341703549048185840080510007281531945667889618068525028093145012221018895228942096771725730525684988199147867374904602983843009403656064192737087163718000244209979255953664537616093161812725691353705896695528760294654382930074048454490770220997040868400048591662453326864975775860271543964913494690237404795198681832034939651885246666564252842245036350368198036198953225482895635010957414391180021218026377906015055637553281362388209137078262430692424203121685362542504040961310054318225193615447593455084325282623459472586456653377525196700051489819186421314622870783595401069656513734176217303499576579106064987469300673812191738543777252871681001542271813434067421372401435160137708379541175231577090106275780733798444643107837623324421100426059800075955519306380862468966826307552898790889079758417089807863458600195767318595328116244745318256592143493372616978378644489791835283691275561079158587268994922855286669209688325386724763652094196372084693951523246170464350639879917833760030620571510652036562303348386455076431704546132963627707037401243233105066542142279518964576508646528861174867512453776158597368353489791318352885638390546267933231175194549602716664931904321012421481001896030292843255057102587026091826865328946591311581721877099501454261544699329592969796501451274783321240812183289925920472884132757580994546466478036323038487306970127712818563274933619026028136340943238947761801758168342721 24562342576454456864938003311712210823011390087061572031561145577422042595531313395612211131824953160017759288961163998665078643671920966037404086649756941309076262201002776456026301445396651932878746798289594524835256195882016817799128987800134748987974938600389433329833689688279420281656282535615438023340261405378714226399737481385338608254877252262630348922779161993651588360256980097719975743908138148205586225042920109036982809940521200910163670443092197613727556531827398080192890693330850172565824612980673185919296787261338735435499103601649693364425784968403763161576295066751279278594205416792934594989369672426064385312449379694849539678574157872883424471815624759564961320705533367131723667288901929747513497854233240665745544541184271501951831288257810832547389259908380168091232531282223102428635786201317878654091048028681471972419183193853115186888642740402130751876423547260472649901335853013514444721248403859623113389159770466060360442193124161989475993609589725117849797841348970497112873969269309122433976780769516976314675626689381093891865299972681680893806368601383632263225816167056984666839780466500817077053749574197577876771319825297613463059392064150422434516197202903235189965714964492681403311107493217323946797983458643765934963093280379307273940361705881440801790190981688099878409378481885663424303059943250424984402131862275308183671687166578322071278542003434151782788676146530277424711166975828863463604048725289119319213481766148651911425902100082987392008135674965007721270058785887496180093514901775067080703353226753163949968373440261843305484535985753423265495243206856624267991225636917132463324078343508780437702714769991838409118778236166798628403327291586450403764234036232969668174430591470925097908335478801538453951413789807836983808138262340033635141109742105461161945988906830415860949124206207561313834069902904386509866535900665504649413910030452582357177025872255364819171720084637256959426303887693756534173473389754326240194322441623373059051971708604913257338516255183930364236248760339806061538763146630976376526900891398285973092408903793155885867160023859748208333973777358941481564367760290563653730968673164284373817001627083444531938659562510461651900990960939203 39742705132021973899468990093183305090757255310390433061866277524719394716135832523474872759569463558439616601832600845698696959223824370527994131578253226411876545077012079443961487011464799821009939167758155203431209371050127600120277240151833489475316454938392906046698222213572848868058817560351447376842700213812619430374340052468897483668955848961632535706237402302786290699849120503389161762924834724061876600282996983845737470859975767213643939715253183635312259584523392615605957570205136965726205728067019445068448264269055018852577294310125307690035848273993271609496551598802172377946806863814076913056758094558058611899133961959953248594103291028729755263824267948208803370163038067241237094931627083260568600999017401408865899427386159847100486472751984278327891045247901757519429060328371173377921127904866926839931128538688753504364851083471183711916735885414351770771652489357244375631861538001713592588623308462606956398563426530253097529356842162233685972865543389655465891003161696188466579865964837882728631163699591024769166396910378134760265348564344134220671344377243903807190729661747222071634979148332852016705634820864142129613564861647981661095591017375905330151208160317626369986932990870587418366745046498686335007120536906196627387296402064669816444402667191495120015384597135693333493703764509122896889516596627950181102183352094494604986310037361917472348198517168328000092175723109383489698636276502675655342592502541991000215024037962085978847274501518147529716515216140239298360165061668229978538158009612690405124453652812964025923892746642705774451362293306322056384322965273714075854684237112899781919406459753525755959306913485211026097156880656590463687018567147529562351503031155824954843640279796311822671987572997910538645365313054007448158778142257867395171730313616113198508292255216870937380828752340524941541107304147619614933078042945023613990418676981443532044538326031523416540073574428575312311942278240024467404648584303928956859254345944385480532973604635206100593573357770956456063114089286397373120485023730477830788445590727878942888910355067939207107972207149674128806857910116522476110834238326886692218275643291997192380276560702470560075000505749409413702749129281924 64305047708476430764406993404895515913768645397452005093427423102141437311667145919087083891394416718457375890793764844363775602895745336565398218228010167720952807278014855899987788456861451753888685966047749728266465566932144417919406227951968238463291393538782339376531911901852269149715100095966885400182961619191333656774077533854236091923833101224262884629016564296437879060106100601109137506832972872267462825325917092882720280800496968123807610158345381249039816116350790695798848263535987138292030341047692630987745051530393754288076397911775001054461633242397034771072846665553451656541012280607011508046127766984122997211583341654802788272677448901613179735639892707773764690868571434372960762220529013008082098853250642074611443968570431349052317761009795110875280305156281925610661591610594275806556914106184805494022176567370225476784034277324298898805378625816482522648076036617717025533197391015228037309871712322230069787723196996313457971549966324223161966475133114773315688844510666685579453835234147005162607944469108001083842023599759228652130648537025815114477712978627536070416545828804206738474759614833669093759384395061720006384884686945595124154983081526327764667405363220861559952647955363268821677852539716010281805103995549962562350389682443977090384764373072935921805575578823793211903082246394786321192576539878375165504315214369802788657997203940239543626740520602479782880851869639660914409803252331539118946641227831110319428505804110737890273176601601134921724650891105247019630223847555726158631672911387757485827806879566127975892266186904549079935898279059745321879566172130338343845909874030032245243484803262306193662021683477049435215935116823389092090345858733979966115737067388794623018070871267236920580323051799448992596779102861844431966916404597901030312840055721574360454281162047286798329952958548086255375177207052006124799613943610528263404328707434025889221564198286888235711793659065832271738246165933781001578121974058255197053576787567758539584945313240119357932089612954886820299362849626203434659248170361454207315346482126164915981319258861095092975132231009422337140831687475463957675201998617450345949244316456281566197278187785915092013660068259871065603740090221127 104047752840498404663875983498078821004525900707842438155293700626860832027802978442561956650963880276896992492626365690062472562119569707093392349806263394132829352355026935343949275468326251574898625133805904931697674937982272018039683468103801727938607848477175245423230134115425118017773917656318332777025661833003953087148417586323133575592788950185895420335253966599224169759955221104498299269757807596329339425608914076728457751660472735337451549873598564884352075700874183311404805833741124104018236069114712076056193315799448773140653692221900308744497481516390306380569398264355624034487819144421088421102885861542181609110717303614756036866780739930342934999464160655982568061031609501614197857152156096268650699852268043483477343395956591196152804233761779389203171350404183683130090651938965449184478042011051732333953305106058978981148885360795482610722114511230834293419728525974961401165058929016941629898495020784837026186286623526566555500906808486456847939340676504428781579847672362874046033701198984887891239108168699025853008420510137363412395997101369949335149057355871439877607275490551428810109738763166521110465019215925862135998449548593576785250574098902233094818613523538487929939580946233856240044597586214696616812224532456159189737686084508646906829167040264431041820960175959486545396786010903909218082093136506325346606498566464297393644307241302157015974939037770807782973027592749044404108439528834214774289233730373101319643529842072823869120451103119282451441166107245486317990388909223956137169830921000447890952260532379092001816158933547254854387260572366067378263889137404052419700594111142932027162891263015831949621328596962260461313091997479979555777364425881509528467240098544619577861711151063548743252310624797359531242144415915851880125694546855768425484570369337687558962573417264157735710781710888611196916284511199625739732691986555551877394747384415469421266102524318411652251867233494407584050188444173805468982770558362184153912831133512144020117918917875325458525662970725843276362476938912600807779733194091932038103792072854043858870229613929034300083104438159096465947689597591986433786036236944337038167519959748278758577554748488385652088660574009280479306489219503051 168352800548974835428282976902974336918294546105294443248721123729002269339470124361649040542358296995354368383420130534426248165015315043658790568034273561853782159633041791243937063925187703328787311099853654659964140504914416435959089696055769966401899242015957584799762046017277387167489017752285218177208623452195286743922495120177369667516622051410158304964270530895662048820061321705607436776590780468596802250934831169611178032460969703461259160031943946133391891817224974007203654097277111242310266410162404707043938367329842527428730090133675309798959114758787341151642244929909075691028831425028099929149013628526304606322300645269558825139458188831956114735104053363756332751900180935987158619372685109276732798705518685558088787364527022545205121994771574500078451655560465608740752243549559724991034956117236537827975481673429204457932919638119781509527493137047316816067804562592678426698256320032169667208366733107067095974009820522880013472456774810680009905815809619202097268692183029559625487536433131893053847052637807026936850444109896592064526645638395764449626770334498975948023821319355635548584498378000190204224403610987582142383334235539171909405557180428560859486018886759349489892228901597125061722450125930706898617328528006121752088075766952623997213931413337366963626535754783279757299868257298695539274669676384700512110813780834100182302304445242396559601679558373287565853879462388705318518242781165753893235874958204211639072035646183561759393627704720417373165816998350733337620612756779682295801503832388205376780067411945219977708425120451803934323158851425812700143455309534390763546503985172964272406376066278138143283350280439309896529027114303368647867710284615489494582977165933414200879782022330785663832633676596808523838923518777696312092610951453669455797410425059261919416854579311444534040734669436697452291461718251631864532305930166080140799076091849495310487666722605299887963660892560239855788434610107586470560892532420439350966407921079902559702864231115444816457752583680730096661839788538804242438981364453386245419138554980208774851548872790129393058236669168518803088521285067450391461238235561787384116764276204560324774832936274300744102320642269151544910229309724178 272400553389473240092158960401053157922820446813136881404014824355863101367273102804210997193322177272251360876046496224488720727134884750752182917840536955986611511988068726587886339393513954903685936233659559591661815442896688453998773164159571694340507090493132830222992180132702505185262935408603550954234285285199239831070912706500503243109411001596053725299524497494886218580016542810105736046348588064926141676543745246339635784121442438798710709905542511017743967518099157318608459931018235346328502479277116783100131683129291300569383782355575618543456596275177647532211643194264699725516650569449188350251899490068486215433017948884314862006238928762299049734568214019738900812931790437601356476524841205545383498557786729041566130760483613741357926228533353889281623005964649291870842895488525174175512998128288270161928786779488183439081804998915264120249607648278151109487533088567639827863315249049111297106861753891904122160296444049446568973363583297136857845156486123630878848539855392433671521237632116780945086160806506052789858864620033955476922642739765713784775827690370415825631096809907064358694237141166711314689422826913444278381783784132748694656131279330793954304632410297837419831809847830981301767047712145403515429553060462280941825761851461270904043098453601798005447495930742766302696654268202604757356762812891025858717312347298397575946611686544553575576618596144095348826907055137749722626682309999968667525108688577312958715565488256385628514078807839699824606983105596219655611001666003638432971334753388653267732327944324311979524584053999058788710419423791880078407344446938443183247098096315896299569267329293970092904678877401570357842119111783348203645074710496999023050217264478033778741493173394334407084944301394168055081067934693548192218305498309437881281980794396949478379427996575602269751516380325308649207746229451257604264997916721632018193823476264964731753769246923711540215528126054647439838623054281391939543663090782623504879239054592046579820783148990770274983415554406573373024316727451405050218714558545318283522930627834252633721778486719163693141341107327615269036210882659436825247274472506124422284284235952839083352387684762686396190981216278432024216718529227229 440753353938448075520441937304027494841114992918431324652735948084865370706743227165860037735680474267605729259466626758914968892150199794410973485874810517840393671621110517831823403318701658232473247333513214251625955947811104889957862860215341660742406332509090415022754226149979892352751953160888769131442908737394526574993407826677872910626033053006212030263795028390548267400077864515713172822939368533522943927478576415950813816582412142259969869937486457151135859335324131325812114028295346588638768889439521490144070050459133827998113872489250928342415711033964988683853888124173775416545481994477288279400913118594790821755318594153873687145697117594255164469672267383495233564831971373588515095897526314822116297263305414599654918125010636286563048223304928389360074661525114900611595139038084899166547954245524807989904268452917387897014724637035045629777100785325467925555337651160318254561571569081280964315228486998971218134306264572326582445820358107816867750972295742832976117232038421993297008774065248673998933213444313079726709308729930547541449288378161478234402598024869391773654918129262699907278735519166901518913826437901026420765118019671920604061688459759354813790651297057186909724038749428106363489497838076110414046881588468402693913837618413894901257029866939164969074031685526046059996522525501300296631432489275726370828126128132497758248916131786950135178298154517382914680786517526455041144925091165722560760983646781524597787601134439947387907706512560117197772800103946952993231614422783320728772838585776858644512395356269531957233009174450862723033578275217692778550799756472833946793602081488860571975643395572108236188029157840880254371146226086716851512784995112488517633194430411447979621275195725120070917577977990976578919991453471244504310916449763107337079391219456211397796282575887046803792251049762006101499207947702889468797303846887712158992899568114460042241435969529011428179189018614887295627057664388978410104555623203062855845646975671949139523647380106215091441168138087303469686156515990209292657695922998704528942069182814461408573327359509293086199577776496134072124732167726887216708512708067911806401048512157399408127220621036987140293301858547583569126947838951407 713153907327921315612600897705080652763935439731568206056750772440728472074016329970071034929002651539857090135513122983403689619285084545163156403715347473827005183609179244419709742712215613136159183567172773843287771390707793343956636024374913355082913423002223245245746406282682397538014888569492320085677194022593766406064320533178376153735444054602265755563319525885434485980094407325818908869287956598449085604022321662290449600703854581058680579843028968168879826853423288644420573959313581934967271368716638273244201733588425128567497654844826546885872307309142636216065531318438475142062132563926476629652812608663277037188336543038188549151936046356554214204240481403234134377763761811189871572422367520367499795821092143641221048885494250027920974451838282278641697667489764192482438034526610073342060952373813078151833055232405571336096529635950309750026708433603619035042870739727958082424886818130392261422090240890875340294602708621773151419183941404953725596128781866463854965771893814426968530011697365454944019374250819132516568173349964503018371931117927192019178425715239807599286014939169764265972972660333612833603249264814470699146901803804669298717819739090148768095283707355024329555848597259087665256545550221513929476434648930683635739599469875165805300128320540962974521527616268812362693176793703905053988195302166752229545438475430895334195527818331503710754916750661478263507693572664204763771607401165691228286092335358837556503166622696333016421785320399817022379783209543172648842616088786959161744173339165511912244723300593843936757593228449921511743997699009572856958144203411277130040700177804756871544910724866078329092708035242450612213265337870065055157859705609487540683411694889481758362768369119454478002522279385144634001059388164792696529221948072545218361372013853160876175710572462649073543767430087314750706954177154147073062301763609344177186723044379424773995205216452722968394717144669534735465680718670370349648218713985686360724886030263995719344430529096985366424583692493876842710473243441614342876410481544022812464999810648714042295105846228456779340918883823749341160943050386324041955787180574036228685332748110238491479608305799673536484283074826015593343666368178636 1153907261266369391133042835009108147605050432649999530709486720525593842780759557135931072664683125807462819394979749742318658511435284339574129889590157991667398855230289762251533146030917271368632430900685988094913727338518898233914498884590255015825319755511313660268500632432662289890766841730381089217120102759988292981057728359856249064361477107608477785827114554275982753380172271841532081692227325131972029531500898078241263417286266723318650449780515425320015686188747419970232687987608928523606040258156159763388271784047558956565611527334077475228288018343107624899919419442612250558607614558403764909053725727258067858943655137192062236297633163950809378673912748786729367942595733184778386668319893835189616093084397558240875967010504886314484022675143210668001772329014879093094033173564694972508608906619337886141737323685322959233111254272985355379803809218929086960598208390888276336986458387211673225737318727889846558428908973194099733865004299512770593347101077609296831083003932236420265538785762614128942952587695132212243277482079895050559821219496088670253581023740109199372940933068432464173251708179500514352517075702715497119912019823476589902779508198849503581885935004412211239279887346687194028746043388297624343523316237399086329653437088289060706557158187480127943595559301794858422689699319205205350619627791442478600373564603563393092444443950118453845933214905178861178188480090190659804916532492331413789047075982140362154290767757136280404329491832959934220152583313490125642074230511570279890517011924942370556757118656863375893990602402900784234777575974227265635508943959884111076834302259293617443520554120438186565280737193083330866584411563956781906670644700721976058316606125300929737984043564844574548920100257376121212921050841636037200840138397835652555440763233309372273971993148349695877336018479849320852206162124857036541859605610497056336179622612493884816236641185981734396573906163284422031092738383059348759752774337188749216570533005935944858868077909203200457865751830581180312396629759431823635534106404542727341407068993463175450868433205737749865540496660319883413285675218113211258664299888641948035086381260267637899606828926836660676777584933373599162470614207130043 1867061168594290706745643732714188800368985872381567736766237492966322314854775887106002107593685777347319909530492872725722348130720368884737286293305505465494404038839469006671242888743132884504791614467858761938201498729226691577871134908965168370908233178513536905514247038715344687428781730299873409302797296782582059387122048893034625218096921162210743541390434080161417239360266679167350990561515281730421115135523219740531713017990121304377331029623544393488895513042170708614653261946922510458573311626872798036632473517635984085133109182178904022114160325652250261115984950761050725700669747122330241538706538335921344896131991680230250785449569210307363592878153230189963502320359494995968258240742261355557115888905489701882097015895999136342404997126981492946643469996504643285576471208091305045850669858993150964293570378917728530569207783908935665129830517652532705995641079130616234419411345205342065487159408968780721898723511681815872885284188240917724318943229859475760686048775826050847234068797459979583886971961945951344759845655429859553578193150614015862272759449455349006972226948007602228439224680839834127186120324967529967819058921627281259201497327937939652349981218711767235568835735943946281694002588938519138272999750886329769965393036558164226511857286508021090918117086918063670785382876112909110404607823093609230829919003078994288426639971768449957556688131655840339441696173662854864568688139893497105017333168317499199710793934379832613420751277153359751242532366523033298290916846600357239052261185264107882469001841957457219830748195631350705746521573673236838492467088163295388206875002437098374315065464845304264894373445228325781478797676901826846961828504406331463599000017820190411496346811933964029026922622536761265846922110229800829897369360345908197773802135247162533150147703720812344950879785909936635602913116302011183614921907374106400513366345656873309590231846402434457364968623307953956766558419101729719109400993051174435577295419036199940578212508438300185824290335523075057155107103002873437978410516886086750153872068804111889493163539051966206644881415544143632754446618268499535300620087069215984263771714008377876391086437232636334213261868008199614755814280575308679 3020968429860660097878686567723296947974036305031567267475724213491916157635535444241933180258368903154782728925472622468041006642155653224311416182895663457161802894069758768922776034774050155873424045368544750033115226067745589811785633793555423386733552934024850565782747671148006977319548572030254498519917399542570352368179777252890874282458398269819221327217548634437399992740438951008883072253742606862393144667024117818772976435276388027695981479404059818808911199230918128584885949934531438982179351885028957800020745301683543041698720709512981497342448343995357886015904370203662976259277361680734006447760264063179412755075646817422313021747202374258172971552065978976692870262955228180746644909062155190746731981989887260122972982906504022656889019802124703614645242325519522378670504381656000018359278765612488850435307702603051489802319038181921020509634326871461792956239287521504510756397803592553738712896727696670568457152420655009972619149192540430494912290330937085057517131779758287267499607583222593712829924549641083557003123137509754604138014370110104532526340473195458206345167881076034692612476389019334641538637400670245464938970941450757849104276836136789155931867153716179446808115623290633475722748632326816762616523067123728856295046473646453287218414444695501218861712646219858529208072575432114315755227450885051709430292567682557681519084415718568411402621346561019200619884653753045524373604672385828518806380244299639561865084702136968893825080768986319685462684949836523423932991077111927518942778197189050253025758960614320595724738798034251489981299149647464104127976032123179499283709304696391991758586018965742451459654182421409112345382088465783628868499149107053439657316623945491341234330855498808603575842722794137387059843161071436867098209498743743850329242898480471905424119696869162040828215804389785956455119278426868220156781512984603456849545968269367194406468487588416191761542529471238378797651157484789067869153767388363184793865952042135885437080586347503386282156087353656237467503732762305261613944623290629477495279137797575064944031972257703956510421912204463516167732293486612746559284386957857932298858095268645514290693266159472994890039452941573213918284894782438722 4888029598454950804624330300437485748343022177413135004241961706458238472490311331347935287852054680502102638455965495193763354772876022109048702476201168922656206932909227775594018923517183040378215659836403511971316724796972281389656768702520591757641786112538387471296994709863351664748330302330127907822714696325152411755301826145925499500555319432029964868607982714598817232100705630176234062815257888592814259802547337559304689453266509332073312509027604212297806712273088837199539211881453949440752663511901755836653218819319527126831829891691885519456608669647608147131889320964713701959947108803064247986466802399100757651207638497652563807196771584565536564430219209166656372583314723176714903149804416546303847870895376962005069998802503158999294016929106196561288712322024165664246975589747305064209948624605639814728878081520780020371526822090856685639464844523994498951880366652120745175809148797895804200056136665451290355875932336825845504433380781348219231233560796560818203180555584338114733676380682573296716896511587034901762968792939614157716207520724120394799099922650807213317394829083636921051701069859168768724757725637775432758029863078039108305774164074728808281848372427946682376951359234579757416751221265335900889522818010058626260439510204617513730271731203522309779829733137922199993455451545023426159835273978660940260211570761551969945724387487018368959309478216859540061580827415900388942292812279325623823713412617138761575878636516801507245832046139679436705217316359556722223907923712284757995039382453158135494760802571777815555486993665602195727820723320700942620443120286474887490584307133490366073651483811046716354027627649734893824179765367610475830327653513384903256316641765681752730677667432772632602765345330898652906765271301237696995578859089652048103045033727634438574267400589974385779095590299722592058032394728879403771703420358709857362912313926240503996700333990850649126511152779192335564209576586518786978554760439537620371161371078335826015293094785803572106446422876731294622610835765178699592355140176716227649151206601686954437195511309670163155303327748607148922178911755112281859904474027073916562629809277023390681779703392109329103301320949772828674099175357747401 7908998028315610902503016868160782696317058482444702271717685919950154630125846775589868468110423583656885367381438117661804361415031675333360118659096832379818009826978986544516794958291233196251639705204948262004431950864717871201442402496076015144375339046563238037079742381011358642067878874360382406342632095867722764123481603398816373783013717701849186195825531349036217224841144581185117135069000495455207404469571455378077665888542897359769293988431664031106717911504006965784425161815985388422932015396930713636673964121003070168530550601204867016799057013642966033147793691168376678219224470483798254434227066462280170406283285315074876828943973958823709535982285188143349242846269951357461548058866571737050579852885264222128042981709007181656183036731230900175933954647543688042917479971403305082569227390218128665164185784123831510173845860272777706149099171395456291908119654173625255932206952390449542912952864362121858813028352991835818123582573321778714143523891733645875720312335342625382233283963905167009546821061228118458766091930449368761854221890834224927325440395846265419662562710159671613664177458878503410263395126308020897697000804528796957410051000211517964213715526144126129185066982525213233139499853592152663506045885133787482555485983851070800948686175899023528641542379357780729201528026977137741915062724863712649690504138444109651464808803205586780361930824777878740681465481168945913315897484665154142630093656916778323440963338653770401070912815125999122167902266196080146156899000824212276937817579642208388520519763186098411280225791699853685709119872968165046748419152409654386774293611829882357832237502776789167813681810071144006169561853833394104698826802620438342913633265711173093965008522931581236178608068125036039966608432372674564093788357833395898432287932208106343998387097459136426607311394689508548513151673155747623928484933343313314212458282195607698403168821579266840888053682250430714361860734071307854847708527827900805165027323120471711452373681133306958388602510230387532090114568527483961206299763467345705144430344399262019381227483567374119665725239953070665089911205241725028419188860984931848861487904545668904972472969551582323993340773891346042592384070140186123 12797027626770561707127347168598268444660080659857837275959647626408393102616158106937803755962478264158988005837403612855567716187907697442408821135298001302474216759888214320110813881808416236629855365041351773975748675661690152591099171198596606902017125159101625508376737090874710306816209176690510314165346792192875175878783429544741873283569037133879151064433514063635034456941850211361351197884258384048021664272118792937382355341809406691842606497459268243404524623777095802983964373697439337863684678908832469473327182940322597295362380492896752536255665683290574180279683012133090380179171579286862502420693868861380928057490923812727440636140745543389246100412504397310005615429584674534176451208670988283354427723780641184133112980511510340655477053660337096737222666969567853707164455561150610146779176014823768479893063865644611530545372682363634391788564015919450790860000020825746001108016101188345347113009001027573149168904285328661663628015954103126933374757452530206693923492890926963496966960344587740306263717572815153360529060723388982919570429411558345322124540318497072632979957539243308534715878528737672178988152851945796330455030667606836065715825164286246772495563898572072811562018341759792990556251074857488564395568703143846108815925494055688314678957907102545838421372112495702929194983478522161168074897998842373589950715709205661621410533190692605149321240302994738280743046308584846302258190296944479766453807069533917085016841975170571908316744861265678558873119582555636868380806924536497034932856962095366524015280565757876226835712785365455881436940596288865989368862272696129274264877918963372723905888986587835884167709437720878899993741619201004580529154456133823246169949907476854846695686190364353868781373413455934692873373703673912261089367216923047946535332965935740782572654498049110812386406984989231140571184067884627027700188353702023171575370596121848202399869155570117490014564835029623049926070310657826641826263288267438425536188694198807537467666775919110530495048933107118826712725404292662660798654903644061932793581551000948973818422994877044282821028567701677814012090116996837310279093335012005765424117713822692295654252672943691653096642094841118871266483245497933524 20706025655086172609630364036759051140977139142302539547677333546358547732742004882527672224072901847815873373218841730517372077602939372775768939794394833682292226586867200864627608840099649432881495070246300035980180626526408023792541573694672622046392464205664863545456479471886068948884088051050892720507978888060597940002265032943558247066582754835728337260259045412671251681782994792546468332953258879503229068741690248315460021230352304051611900485890932274511242535281102768768389535513424726286616694305763183110001147061325667463892931094101619553054722696933540213427476703301467058398396049770660756854920935323661098463774209127802317465084719502212955636394789585453354858275854625891637999267537560020405007576665905406261155962220517522311660090391567996913156621617111541750081935532553915229348403405041897145057249649768443040719218542636412097937663187314907082768119674999371257040223053578794890025961865389695007981932638320497481751598527424905647518281344263852569643805226269588879200244308492907315810538634043271819295152653838351681424651302392570249449980714343338052642520249402980148380055987616175589251547978253817228152031472135633023125876164497764736709279424716198940747085324285006223695750928449641227901614588277633591371411477906759115627644083001569367062914491853483658396511505499298909989960723706086239641219847649771272875341993898191929683171127772617021424511789753792215574087781609633909083900726450695408457805313824342309387657676391677681041021848751717014537705925360709311870674541737574912535800328943974638115938577065309567146060469257031036117281425105783661039171530793255081738126489364625051981391247792022906163303473034398685227981258754261589083583173188027940660694713295935104959981481580970732839982136046586825183155574756443844967620898143847126571041595508247238993718379678739689084335741040374651628673287045336485787828878317455900803037977149384330902618517280053764287931044729134496673971816095339230701216017319279248920040457052417488883651443337506358802839972820146622004954667111407637938011895400210993199650478444418402486753807654748479102001322238562338698282195996937614285605618368361200626725642495273977089982868732464913858867315638119647 33503053281856734316757711205357319585637219802160376823636981172766940835358162989465475980035380111974861379056245343372939793790847070218177760929692834984766443346755415184738422721908065669511350435287651809955929302188098176383640744893269228948409589364766489053833216562760779255700297227741403034673325680253473115881048462488300120350151791969607488324692559476306286138724845003907819530837517263551250733013809041252842376572161710743454506983350200517915767159058198571752353909210864064150301373214595652583328330001648264759255311586998372089310388380224114393707159715434557438577567629057523259275614804185042026521265132940529758101225465045602201736807293982763360473705439300425814450476208548303759435300446546590394268942732027862967137144051905093650379288586679395457246391093704525376127579419865665624950313515413054571264591225000046489726227203234357873628119695825117258148239154767140237138970866417268157150836923649159145379614481528032580893038796794059263567298117196552376167204653080647622074256206858425179824213377227334600995080713950915571574521032840410685622477788646288683095934516353847768239700830199613558607062139742469088841701328784011509204843323288271752309103666044799214252002003307129792297183291421479700187336971962447430306601990104115205484286604349186587591494984021460078064858722548459829591935556855432894285875184590797079004411430767355302167558098338638517832278078554113675537707795984612493474647288994914217704402537657356239914141431307353882918512849897206346803531503832941436551080894701850864951651362430765448583001065545897025486143697801912935304049449756627805644015475952460936149100685512901806157045092235403265757135714888084835253533080664882787356380903660288973741354895036905425713355839720499086272522791679491791502953864079587909143696093557358051380125364667970829655519808925001679328861640747359657363199474439304103202907132719501820917183352309676814214001355386961138500235104362777656237404711518086786387707232971528019378700376444625185515565377112809282803609570755469570731593446401159967018073473321462685307782375356426293114091439235399648977375531008943379709723332191053496280978315438965630186624963573583785125350561136053171 54209078936942906926388075242116370726614358944462916371314314719125488568100167871993148204108281959790734752275087073890311871393786442993946700724087668667058669933622616049366031562007715102392845505533951845936109928714506200176182318587941850994802053570431352599289696034646848204584385278792295755181304568314071055883313495431858367416734546805335825584951604888977537820507839796454287863790776143054479801755499289568302397802514014795066407469241132792427009694339301340520743444724288790436918067520358835693329477062973932223148242681099991642365111077157654607134636418736024496975963678828184016130535739508703124985039342068332075566310184547815157373202083568216715331981293926317452449743746108324164442877112451996655424904952545385278797234443473090563535910203790937207328326626258440605475982824907562770007563165181497611983809767636458587663890390549264956396239370824488515188462208345935127164932731806963165132769561969656627131213008952938228411320141057911833211103343466141255367448961573554937884794840901696999119366031065686282419732016343485821024501747183748738264998038049268831475990503970023357491248808453430786759093611878102111967577493281776245914122748004470693056188990329805437947752931756771020198797879699113291558748449869206545934246073105684572547201096202670245988006489520758988054819446254546069233155404505204167161217178488989008687582558539972323592069888092430733406365860163747584621608522435307901932452602819256527092060214049033920955163280059070897456218775257915658674206045570516349086881223645825503067589939496075015729061534802928061603425122907696596343220980549882887382141965317085988130491933304924712320348565269801950985116973642346424337116253852910728017075616956224078701336376617876158553337975767085911455678366435935636470574762223435035714737689065605290373843744346710518739855549965376330957534927792696143151028352756760004005945109868886151819801869589730578501932400116095635174206920458116886938620728837366035307747690023945508262351819782131544318405349932955904808564237866877208669605341801370960217723951765881087794536183011174772216092761473961987675657727005880993995328950559414696907703957934239607276607832306048698984217876774172818 87712132218799641243145786447473690312251578746623293194951295891892429403458330861458624184143662071765596131331332417263251665184633513212124461653780503651825113280378031234104454283915780771904195940821603655892039230902604376559823063481211079943211642935197841653122912597407627460284682506533698789854630248567544171764361957920158487766886338774943313909644164365283823959232684800362107394628293406605730534769308330821144774374675725538520914452591333310342776853397499912273097353935152854587219440734954488276657807064622196982403554268098363731675499457381769000841796134170581935553531307885707275406150543693745151506304475008861833667535649593417359110009377550980075805686733226743266900219954656627923878177558998587049693847684573248245934378495378184213915198790470332664574717719962965981603562244773228394957876680594552183248400992636505077390117593783622830024359066649605773336701363113075364303903598224231322283606485618815772510827490480970809304358937851971096778401460662693631534653614654202559959051047760122178943579408293020883414812730294401392599022780024159423887475826695557514571925020323871125730949638653044345366155751620571200809278822065787755118966071292742445365292656374604652199754935063900812495981171120592991746085421831653976240848063209799778031487700551856833579501473542219066119678168803005898825090961360637061447092363079786087691993989307327625759627986431069251238643938717861260159316318419920395407099891814170744796462751706390160869304711366424780374731625155122005477737549403457785637962118347676368019241301926840464312062600348825087089568820709609531647270430306510693026157441269546924279592618817826518477393657505205216742252688530431259590649334517793515373456520616513052442691271654781584266693815487584997728201158115427427973528626303022944858433782622963341753969109014681348395375358890378010286396568540055800514227827196064107208852242588387972736985221899407392715933755503056773674442024820894543176025440355452821695454922995473527641052196226756729833970727045765187612173808622346779401198788202530927235797425087343773102318558367601065330184200709361636653033258014824373705052282750468193188682273373205237463232795879632484109568437910225989 141921211155742548169533861689590061038865937691086209566265610611017917971558498733451772388251944031556330883606419491153563536578419956206071162377868172318883783214000647283470485845923495874297041446355555501828149159617110576736005382069152930938013696505629194252412608632054475664869067785325994545035934816881615227647675453352016855183620885580279139494595769254261361779740524596816395258419069549660210336524807620389447172177189740333587321921832466102769786547736801252793840798659441645024137508255313323969987284127596129205551796949198355374040610534539423607976432552906606432529494986713891291536686283202448276491343817077193909233845834141232516483211461119196791137668027153060719349963700764952088321054671450583705118752637118633524731612938851274777451108994261269871903044346221406587079545069680791164965439845776049795232210760272963665054007984332887786420598437474094288525163571459010491468836330031194487416376047588472399642040499433909037715679078909882929989504804128834886902102576227757497843845888661819178062945439358707165834544746637887213623524527207908162152473864744826346047915524293894483222198447106475132125249363498673312776856315347564001033088819297213138421481646704410090147507866820671832694779050819706283304833871700860522175094136315484350578688796754527079567507963062978054174497615057551968058246365865841228608309541568775096379576547847299949351697874523499984645009798881608844780924840855228297339552494633427271888522965755424081824467991425495677830950400413037664151943594973974134724843341993501871086831241422915480041124135151753148692993943617306127990491410856393580408299406586632912410084552122751230797742222775007167727369662172777683927765588370704243390532137572737131144027648272657742820031791254670909183879524551363064444103388526457980573171471688568632127812853361391867135230908855754341243931496332751943665256179952824111214797352457274124556787091489137971217866155619152408848648945279011430114646169192818857003202613019419035903404016008888274152376076978721092420738046489223988070804130003901887453521376853224860896854741378775837546276962183323624328690985020705367700381233309882890096386231307444844739840628185681183093786314684398807 229633343374542189412679648137063751351117516437709502761216906502910347375016829594910396572395606103321927014937751908416815201763053469418195624031648675970708896494378678517574940129839276646201237387177159157720188390519714953295828445550364010881225339440827035905535521229462103125153750291859693334890565065449159399412037411272175342950507224355222453404239933619545185738973209397178502653047362956265940871294115951210591946551865465872108236374423799413112563401134301165066938152594594499611356948990267812246645091192218326187955351217296719105716109991921192608818228687077188368083026294599598566942836826896193427997648292086055742901381483734649875593220838670176866943354760379803986250183655421580012199232230449170754812600321691881770665991434229458991366307784731602536477762066184372568683107314454019559923316526370601978480611752909468742444125578116510616444957504123700061861864934572085855772739928255425809699982533207288172152867989914879847020038016761854026767906264791528518436756190881960057802896936421941357006524847651728049249357476932288606222547307232067586039949691440383860619840544617765608953148085759519477491405115119244513586135137413351756152054890589955583786774303079014742347262801884572645190760221940299275050919293532514498415942199525284128610176497306383913147009436605197120294175783860557866883337327226478290055401904648561184071570537154627575111325860954569235883653737599470104940241159275148692746652386447598016684985717461814242693772702791920458205682025568159669629681144377431920362805460341178239106072543349755944353186735500578235782562764326915659637761841162904273434456847856179836689677170940577749275135880280212384469622350703208943518414922888497758763988658189250183586718919927439327086725606742255906912080682666790492417632014829480925431605254311531973881781962376073215530606267746132351530328064872807744179484007148888218423649595045662097293772313388545363933799911122209182523090970099905973290671609548271678698657536014892563544456212235645003986346804024486280032911855111570767472002918206432814689318801940568633999173299746376902876461162892685260981724243035529741405433516060351083285068504680650082203073424065313667203354752594624796 371554554530284737582213509826653812389983454128795712327482517113928265346575328328362168960647550134878257898544171399570378738341473425624266786409516848289592679708379325801045425975762772520498278833532714659548337550136825530031833827619516941819239035946456230157948129861516578790022818077185687879926499882330774627059712864624192198134128109935501592898835702873806547518713733993994897911466432505926151207818923571600039118729055206205695558296256265515882349948871102417860778951254036144635494457245581136216632375319814455393507148166495074479756720526460616216794661239983794800612521281313489858479523110098641704488992109163249652135227317875882392076432299789373658081022787532864705600147356186532100520286901899754459931352958810515295397604373080733768817416778992872408380806412405779155762652384134810724888756372146651773712822513182432407498133562449398402865555941597794350387028506031096347241576258286620297116358580795760571794908489348788884735717095671736956757411068920363405338858767109717555646742825083760535069470287010435215083902223570175819846071834439975748192423556185210206667756068911660092175346532865994609616654478617917826362991452760915757185143709887168722208255949783424832494770668705244477885539272760005558355753165233375020591036335840768479188865294060910992714517399668175174468673398918109834941583693092319518663711446217336280451147085001927524463023735478069220528663536481078949721166000130376990086204881081025288573508683217238324518240694217416136036632425981197333781624739351406055087648802334680110192903784772671424394310870652331384475556707944221787628253252019297853842756254442812749099761723063328980072878103055219552196992012875986627446180511259202002154520795761987314730746568200097069906757397996926816095960207218153556861735403355938906004776726000100606009594815737465082665837176601886692774259561205559687844740187101712329638446947502936221850559404877683335151666066741361591371739915378917403405317778741090535701860149034311599447860228244533278138722881003207372453649901600794755542807048210334702142840178793793494896028041125152740422738125076008885310415228056235109105814749370233973381454735988094926942914052250994850297141067279023603 601187897904826926994893157963717563741100970566505215088699423616838612721592157923272565533043156238200184913481923307987193940104526895042462410441165524260301576202758004318620366105602049166699516220709873817268525940656540483327662273169880952700464375387283266063483651090978681915176568369045381214817064947779934026471750275896367541084635334290724046303075636493351733257686943391173400564513795462192092079113039522810631065280920672077803794670680064928994913350005403582927717103848630644246851406235848948463277466512032781581462499383791793585472830518381808825612889927060983168695547575913088425422359936994835132486640401249305395036608801610532267669653138459550525024377547912668691850331011608112112719519132348925214743953280502397066063595807310192760183724563724474944858568478590151724445759698588830284812072898517253752193434266091901149942259140565909019310513445721494412248893440603182203014316186542046106816341114003048743947776479263668731755755112433590983525317333711891923775614957991677613449639761505701892075995134662163264333259700502464426068619141672043334232373247625594067287596613529425701128494618625514087108059593737162339949126590174267513337198600477124305995030252862439574842033470589817123076299494700304833406672458765889519006978535366052607799041791367294905861526836273372294762849182778667701824921020318797808719113350865897464522717622156555099574349596432638456412317274080549054661407159405525682832857267528623305258494400679052567212013397009336594242314451549357003411305883728837975450454262675858349298976328122427368747497606152909620258119472271137447266015093182202127277213102298992585789438894003906729348013983335431936666614363579195570964595434147699760918509453951237498317465488127536396993483004739182723008040889884944049279367418185419831436381980311632579891376778113538298196443444348019044304587626078367432024224194250600548062096542548598319144331718266228699085465977863570773894830885478823376695989388289362214400517685049204162992316440480178282125069685027693652486561756712365523014809966416767516832158980734362128895201340871529643299199287968694146292139471091764850511248265430585056666523240668745009145987476316308517500495819873648399 972742452435111664577106667790371376131084424695300927416181940730766878068167486251634734493690706373078442812026094707557572678446000320666729196850682372549894255911137330119665792081364821687197795054242588476816863490793366013359496100789397894519703411333739496221431780952495260705199386446231069094743564830110708653531463140520559739218763444226225639201911339367158280776400677385168298475980227968118243286931963094410670184009975878283499352966936330444877263298876506000788496055102666788882345863481430084679909841831847236974969647550286868065229551044842425042407551167044777969308068857226578283901883047093476836975632510412555047171836119486414659746085438248924183105400335445533397450478367794644213239806034248679674675306239312912361461200180390926529001141342717347353239374890995930880208412082723641009700829270663905525906256779274333557440392703015307422176069387319288762635921946634278550255892444828666403932699694798809315742684968612457616491472208105327940282728402632255329114473725101395169096382586589462427145465421672598479417161924072640245914690976112019082424796803810804273955352682441085793303841151491508696724714072355080166312118042935183270522342310364293028203286202645864407336804139295061600961838767460310391762425623999264539598014871206821086987907085428205898576044235941547469231522581696777536766504713411117327382824797083233744973864707158482624037373331910707676940980810561628004382573159535902672919062148609648593832003083896290891730254091226752730278946877530554337192930623080244030538103065010538459491880112895098793141808476805241004733676180215359234894268345201499981119969356741805334889200617067235709420892086390651488863606376455182198410775945406901763073030249713224813048212056327633466900240402736109539104001097103097606141102821541358737441158706311733185900971593851003380862280620949905737078847187283927119868964381352312877700543490051534540994891123143912034237132044604932365266570800857740780101307167030452750102377834083515762440176668724711560263792566030901024940211658313160278557617014627102218974999159528155623791229381996682383721937413044703031602554699147999959617063014800819030047977976656839936088901528567303367797636887152672002 1573930350339938591571999825754088939872185395261806142504881364347605490789759644174907300026733862611278627725508018015544766618550527215709191607291847896810195832113895334438286158186966870853897311274952462294085389431449906496687158373959278847220167786721022762284915432043473942620375954815276450309560629777890642680003213416416927280303398778516949685504986975860510014034087620776341699040494023430310335366045002617221301249290896550361303147637616395373872176648881909583716213158951297433129197269717279033143187308343880018556432146934078661650702381563224233868020441094105761138003616433139666709324242984088311969462272911661860442208444921096946927415738576708474708129777883358202089300809379402756325959325166597604889419259519815309427524795987701119289184865906441822298097943369586082604654171781312471294512902169181159278099691045366234707382651843581216441486582833040783174884815387237460753270208631370712510749040808801858059690461447876126348247227320538918923808045736344147252890088683093072782546022348095164319221460556334761743750421624575104671983310117784062416657170051436398341242949295970511494432335770117022783832773666092242506261244633109450783859540910841417334198316455508303982178837609884878724038138262160615225169098082765154058604993406572873694786948876795500804437571072214919763994371764475445238591425733729915136101938147949131209496582329315037723611722928343346133353298084642177059043980318941428355751919416138271899090497484575343458942267488236089324521261329079911340604236506809082005988557327686396808790856441017526161889306082958150624991795652486496682160283438383702108397182459040797920678639511071142438768906069726083425530220740034377769375371379554601523991539703664462311365677544455169863893723407475292262112041986988041655420470239726778568877540686623365765792348371964541679058724065297924781383434813362294551893188575602913425762640032600132860139222841410140733322598022468503139161401686336564156797296555319814964502895519132719925432493109204889842388862251058594677426773415025525801572426981043869735807158140262517752686430722868212027021136701013397177894694170239764810128311280231404086714501217325584945234889004883611885298132707026320401 2546672802775050256149106493544460316003269819957107069921063305078372368857927130426542034520424568984357070537534112723102339296996527536375920804142530269360090088025032664557951950268331692541095106329195050770902252922243272510046654474748676741739871198054762258506347212995969203325575341261507519404304194608001351333534676556937487019522162222743175324706898315227668294810488298161509997516474251398428578652976965711631971433300872428644802500604552725818749439947758415584504709214053964222011543133198709117823097150175727255531401794484365529715931932608066658910427992261150539107311685290366244993226126031181788806437905422074415489380281040583361587161824014957398891235178218803735486751287747197400539199131200846284564094565759128221788985996168092045818186007249159169651337318260582013484862583864036112304213731439845064804005947824640568264823044546596523863662652220360071937520737333871739303526101076199378914681740503600667375433146416488583964738699528644246864090774138976402582004562408194467951642404934684626746366925978007360223167583548647744917898001093896081499081966855247202615198301978411597287736176921608531480557487738447322672573362676044634054381883221205710362401602658154168389515641749179940324999977029620925616931523706764418598203008277779694781774855962223706703013615308156467233225894346172222775357930447141032463484762945032364954470447036473520347649096260254053810294278895203805063426553478477331028670981564747920492922500568471634350672521579462842054800208206610465677797167129889326036526660392696935268282736553912624955031114559763391629725471832701855917054551783585202089517151815782603255567840128138378148189798156116734914393827116489559967786147324961503287064569953377687124413889600782803330793963810211401801216043084091139261561573061268137306318699392935098951693319965815545059921004686247830518462282000646221671762152956955226303463183522651667401134113964554052767559730067073435504427972487194304936898603722350267714605273353216235687872669777929601402652654817089495702366985073338686080130043995670971954782157299790673376477660104864894410743074114058100209497248869387764769745374295032223116762479193982424881323790533450915253095769594178992403 4120603153114988847721106319298549255875455215218913212425944669425977859647686774601449334547158431595635698263042130738647105915547054752085112411434378166170285920138927998996238108455298563394992417604147513064987642353693179006733812848707955588960038984775785020791262645039443145945951296076783969713864824385891994013537889973354414299825561001260125010211885291088178308844575918937851696556968274828738914019021968328853272682591768979006105648242169121192621616596640325168220922373005261655140740402915988150966284458519607274087833941418444191366634314171290892778448433355256300245315301723505911702550369015270100775900178333736275931588725961680308514577562591665873599364956102161937576052097126600156865158456367443889453513825278943531216510792155793165107370873155600991949435261630168096089516755645348583598726633609026224082105638870006802972205696390177740305149235053400855112405552721109200056796309707570091425430781312402525435123607864364710312985926849183165787898819875320549834894651091287540734188427282779791065588386534342121966918005173222849589881311211680143915739136906683600956441251274382108782168512691725554264390261404539565178834607309154084838241424132047127696599919113662472371694479359064819049038115291781540842100621789529572656808001684352568476561804839019207507451186380371386997220266110647668013949356180870947599586701092981496163967029365788558071260819188597399943647576979845982122470533797418759384422900980886192392012998053046977809614789067698931379321469535690377018401403636698408042515217720383332077073592994930151116920420642721542254717267485188352599214835221968904197914334274823401176246479639209520586958704225842818339924047856523937737161518704516104811056109657042149435779567145237973194687687217686694063328085071079180916982043300994915875196240079558464717485668337780086738979728751545755299845716814008516223655341532558139729225823555251800261273336805964193500882328089541938643589374173530869093695900277670082679108168872348955613305162887134491245041517068148090379793758488364211881702470976714841690589315440053191129164090827733106437764210815071497387391943039627529579873685575263627203476980411308009826558679538334527138393902301205312804 6667275955890039103870212812843009571878725035176020282347007974504350228505613905027991369067583000579992768800576243461749445212543582288461033215576908435530376008163960663554190058723630255936087523933342563835889895275936451516780467323456632330699910182830547279297609858035412349271526637338291489118169018993893345347072566530291901319347723224003300334918783606315846603655064217099361694073442526227167492671998934040485244115892641407650908148846721847011371056544398740752725631587059225877152283536114697268789381608695334529619235735902809721082566246779357551688876425616406839352626987013872156695776495046451889582338083755810691420969007002263670101739386606623272490600134320965673062803384873797557404357587568290174017608391038071753005496788323885210925556880404760161600772579890750109574379339509384695902940365048871288886111586694647371237028740936774264168811887273760927049926290054980939360322410783769470340112521816003192810556754280853294277724626377827412651989594014296952416899213499482008685830832217464417811955312512349482190085588721870594507779312305576225414821103761930803571639553252793706069904689613334085744947749142986887851407969985198718892623307353252838059001521771816640761210121108244759374038092321402466459032145496293991255011009962132263258336660801242914210464801688527854230446160456819890789307286628011980063071464038013861118437476402262078418909915448851453753941855875049787185897087275896090413093882545634112884935498621518612160287310647161773434121677742300842696198570766587734079041878113080267345356329548842776071951535202484933884442739317890208516269387005554106287431486090606004431814319767347898735148502381959553254317874973013497704947666029477608098120679610419836560193456746020776525481651027898095864544128155170320178543616362263053181514939472493563669178988303595631798900733437793585818307998814654737895417494489513366032689007077903467662407450770518246268442058156615374148017346660725174030594504000020350393713442225565191301177832665064092647694171885237586082160743561702897961832514972385813645371472739843864505641750932598000848507284929129597596889191909015294349619059870295850320239459605290434707882470071785442391489671895384305207 10787879109005027951591319132141558827754180250394933494772952643930328088153300679629440703614741432175628467063618374200396551128090637040546145627011286601700661928302888662550428167178928819331079941537490076900877537629629630523514280172164587919659949167606332300088872503074855495217477933415075458832033843379785339360610456503646315619173284225263425345130668897404024912499640136037213390630410801055906406691020902369338516798484410386657013797088890968203992673141039065920946553960064487532293023939030685419755666067214941803707069677321253912449200560950648444467324858971663139597942288737378068398326864061721990358238262089546967352557732963943978616316949198289146089965090423127610638855482000397714269516043935734063471122216317015284222007580479678376032927753560361153550207841520918205663896095154733279501666998657897512968217225564654174209234437326952004473961122327161782162331842776090139417118720491339561765543303128405718245680362145218004590710553227010578439888413889617502251793864590769549420019259500244208877543699046691604157003593895093444097660623517256369330560240668614404528080804527175814852073202305059640009338010547526453030242577294352803730864731485299965755601440885479113132904600467309578423076207613184007301132767285823563911819011646484831734898465640262121717915988068899241227666426567467558803256642808882927662658165130995357282404505768050636490170734637448853697589432854895769308367621073314849797516783526520305276948496674565589969902099714860704813443147277991219714599974403286142121557095833463599422429922543772927188871955845206476139160006803078561115484222227523010485345820365429405608060799406557419322107206607802371594241922829537435442109184733993712909176789267461985995973023891258749720169338245584789927872213226249501095525659663257969056711179552052028386664656641375718537880462189339341118153715628663254119072836022071505761914830633155267923680787576482439769324386246157312791606720834256043124290404277690433072821611097914146914482995552198583892735688953385676461954502050067109843534985949100655335960788179897055634805841760331107286271495744201094984281134948642823929492745445559477523716440016598444534441149610119969529883574196589618011 17455155064895067055461531944984568399632905285570953777119960618434678316658914584657432072682324432755621235864194617662145996340634219329007178842588195037231037936466849326104618225902559075267167465470832640736767432905566082040294747495621220250359859350436879579386482361110267844489004570753366947950202862373678684707683023033938216938521007449266725680049452503719871516154704353136575084703853327283073899363019836409823760914377051794307921945935612815215363729685437806673672185547123713409445307475145382688545047675910276333326305413224063633531766807730005996156201284588069978950569275751250225094103359108173879940576345845357658773526739966207648718056335804912418580565224744093283701658866874195271673873631504024237488730607355087037227504368803563586958484633965121315150980421411668315238275434664117975404607363706768801854328812259301545446263178263726268642773009600922709212258132831071078777441131275109032105655824944408911056237116426071298868435179604837991091878007903914454668693078090251558105850091717708626689499011559041086347089182616964038605439935822832594745381344430545208099720357779969520921977891918393725754285759690513340881650547279551522623488038838552803814602962657295753894114721575554337797114299934586473760164912782117555166830021608617094993235126441505035928380789757427095458112587024287449592563929436894907725729629169009218400841982170312714909080650086300307451531288729945556494264708349210940210610666072154418161883995296084202130189410362022478247564825020292062410798545169873876200598973946543866767786252092615703260823491047691410023602746120968769631753609233077116772777306456035410039875119173905318057255708989761924848559797802550933147056850763471321007297468877881822556166480637279526245650989273482885792416341381419821274069276025521022238226119024545592055843644944971350336781195627132926936461714443317992014490330511584871794603837711058735586088238347000686037766444402772686939624067494981217154884908277710783466535053323479338215660828217262676540429860838623262544115245611770007805367500921486468981332260919740920140447592692929108134778780673330692581170326857658118279111805315855327843955899621888879242323619681905411921373246091973923218 28243034173900095007052851077126127227387085535965887271892913262365006404812215264286872776297065864931249702927812991862542547468724856369553324469599481638931699864769737988655046393081487894598247407008322717637644970535195712563809027667785808170019808518043211879475354864185123339706482504168442406782236705753464024068293479537584532557694291674530151025180121401123896428654344489173788475334264128338980306054040738779162277712861462180964935743024503783419356402826476872594618739507188200941738331414176068108300713743125218137033375090545317545980967368680654440623526143559733118548511564488628293492430223169895870298814607934904626126084472930151627334373285003201564670530315167220894340514348874592985943389675439758300959852823672102321449511949283241962991412387525482468701188262932586520902171529818851254906274362364666314822546037823955719655497615590678273116734131928084491374589975607161218194559851766448593871199128072814629301917478571289303459145732831848569531766421793531956920486942681021107525869351217952835567042710605732690504092776512057482703100559340088964075941585099159612627801162307145335774051094223453365763623770238039793911893124573904326354352770323852769570204403542774867027019322042863916220190507547770481061297680067941119078649033255101926728133592081767157646296777826326336685779013591755008395820572245777835388387794300004575683246487938363351399251384723749161149120721584841325802632329422525790008127449598674723438832491970649792100091510076883183061007972298283282125398519573160018322156069780007466190216174636388630449695446892897886162762752924047330747237831460600127258123126821464815647935918580462737379362915597564296442801720632088368589166035497465033916474258145343808552139504528538275965820327519067675720288554607669322369594935688778991294937298576597620442508301586347068874661657816472268054615430071981246133563166533656377556518668344214003509769025923483125807090830648929999731230788329237260279175312555401216539356664421393485130143823769461260433165549792008939006069747661837117648902486870587124317293049099637975775253434453260215421050276417531787565451461806300942208604550761414805367672339638487323776764769292025381451256820288563541229 45698189238795162062514383022110695627019990821536841049012873880799684721471129848944304848979390297686870938792007609524688543809359075698560503312187676676162737801236587314759664618984046969865414872479155358374412403440761794604103775163407028420379667868480091458861837225295391184195487074921809354732439568127142708775976502571522749496215299123796876705229573904843767944809048842310363560038117455622054205417060575188986038627238513975272857688960116598634720132511914679268290925054311914351183638889321450796845761419035494470359680503769381179512734176410660436779727428147803097499080840239878518586533582278069750239390953780262284899611212896359276052429620808113983251095539911314178042173215748788257617263306943782538448583431027189358677016318086805549949897021490603783852168684344254836140446964482969230310881726071435116676874850083257265101760793854404541759507141529007200586848108438232296972000983041557625976854953017223540358154594997360602327580912436686560623644429697446411589180020771272665631719442935661462256541722164773776851181959129021521308540495162921558821322929529704820727521520087114856696028986141847091517909529928553134793543671853455848977840809162405573384807366200070620921134043618418254017304807482356954821462592850058674245479054863719021721368718523272193574677567583753432143891600616042457988384501682672743114117423469013794084088470108676066308332034810049468600652010314786882296897037771736730218738115670829141600716487266733994230280920438905661308572797318575344536197064743033894522755043726551332958002426729004333710518937940589296186365499045016100378991440693677244030900433277500225687811037754368055436618624587326221291361518434639301736222886260936354923771727023225631108305985165817802211471316792550561512704895989089143643664211714300013533163417601143212498351946531318419211442853443605194991077144515299238148053497045241249351122506055272739095857264270483811844857275051702686670854855824218477434060220833112000005891717744872823345804651986723936973595410630632201550184993273607125454269987792073593298625310019378895915701027146189323555829057090862480146621788663959060487716356077270133211628239260376203019088388973930793372630066380537464447 73941223412695257069567234099236822854407076357502728320905787143164691126283345113231177625276456162618120641719820601387231091278083932068113827781787158315094437666006325303414711012065534864463662279487478076012057373975957507167912802831192836590399476386523303338337192089480514523901969579090251761514676273880606732844269982109107282053909590798327027730409695305967664373463393331484152035372381583961034511471101313968148316340099976156237793431984620382054076535338391551862909664561500115292921970303497518905146475162160712607393055594314698725493701545091314877403253571707536216047592404728506812078963805447965620538205561715166911025695685826510903386802905811315547921625855078535072382687564623381243560652982383540839408436254699291680126528267370047512941309409016086252553356947276841357042618494301820485217156088436101431499420887907212984757258409445082814876241273457091691961438084045393515166560834808006219848054081090038169660072073568649905786726645268535130155410851490978368509666963452293773157588794153614297823584432770506467355274735641079004011641054503010522897264514628864433355322682394260192470080080365300457281533300166592928705436796427360175332193579486258342955011769742845487948153365661282170237495315030127435882760272917999793324128088118820948449502310605039351220974345410079768829670614207797466384205073928450578502505217769018369767334958047039417707583419533798629749772731899628208099529367194262520226865565269503865039548979237383786330372430515788844369580769616858626661595584316193912844911113506558799148218601365392964160214384833487182349128251969063431126229272154277371289023560098965041335746956334830792815981540184890517734163239066727670325388921758401388840245985168569439660445489694356078177291644311618237232993450596758466013259147403079004828100716177740832940860248117665488086104511260077463045692574587280484281616663578897626907641174399486742605626290193966937651948105700632686402085644153455737713235533388513216545248382166266308475948475756185197406760960422641140556254740935444243103172474662660717615918359119016871690954461599449538976879333508394267712073250470260002696320906838684938579300578898863526795853158265956174823886886669101005676 119639412651490419132081617121347518481427067179039569369918661023964375847754474962175482474255846460304991580511828210911919635087443007766674331093974834991257175467242912618174375631049581834329077151966633434386469777416719301772016577994599865010779144255003394797199029314775905708097456654012061116247115842007749441620246484680630031550124889922123904435639269210811432318272442173794515595410499039583088716888161889157134354967338490131510651120944736980688796667850306231131200589615812029644105609192818969701992236581196207077752736098084079905006435721501975314182980999855339313546673244968385330665497387726035370777596515495429195925306898722870179439232526619429531172721394989849250424860780372169501177916289327323377857019685726481038803544585456853062891206430506690036405525631621096193183065458784789715528037814507536548176295737990470249859019203299487356635748414986098892548286192483625812138561817849563845824909034107261710018226668566010508114307557705221690779055281188424780098846984223566438789308237089275760080126154935280244206456694770100525320181549665932081718587444158569254082844202481375049166109066507147548799442830095146063498980468280816024310034388648663916339819135942916108869287409279700424254800122512484390704222865768058467569607142982539970170871029128311544795651912993833200973562214823839924372589575611123321616622641238032163851423428155715484015915454343848098350424742214415090396426404965999250445603680940333006640265466504117780560653350954694505678153566935433971197792649059227807367666157233110132106221028094397297870733322774076478535493751014079531505220712847954615319923993376465267023557994089198848252600164772216739025524757501366972061611808019337743764017712191795070768751474860173880388762961104168798745698346585847609656923359117379018361264133778884045439212194648983907297547364703682658036769719102579722429670160624138876258763680454759481701483554464450749496805380752335373072940499977674215147295754221625216551140099911139131821753127742909134380356371053273342106439734209051368557442462454734310914543669138395767606655488745638862532708390599256747858695039134219063184037262915955071790928818159239729814941547239886968196516953049638470123 193580636064185676201648851220584341335834143536542297690824448167129066974037820075406660099532302622923112222231648812299150726365526939834788158875761993306351613133249237921589086643115116698792739431454111510398527151392676808939929380825792701601178620641526698135536221404256420231999426233102312877761792115888356174464516466789737313604034480720450932166048964516779096691735835505278667630782880623544123228359263203125282671307438466287748444552929357362742873203188697782994110254177312144937027579496316488607138711743356919685145791692398778630500137266593290191586234571562875529594265649696892142744461193174000991315802077210596106951002584549381082826035432430745079094347250068384322807548344995550744738569271710864217265455940425772718930072852826900575832515839522776288958882578897937550225683953086610200745193902943637979675716625897683234616277612744570171511989688443190584509724276529019327305122652657570065672963115197299879678298742134660413901034202973756820934466132679403148608513947675860211946897031242890057903710587705786711561731430411179529331822604168942604615851958787433687438166884875635241636189146872448006080976130261738992204417264708176199642227968134922259294830905685761596817440774940982594492295437542611826586983138686058260893735231101360918620373339733350896016626258403912969803232829031637390756794649539573900119127859007050533618758386202754901723498873877646728100197474114043298495955772160261770672469246209836871679814445741501566891025781470483350047734336552292597859388233375421720212577270739668931254439629459790262030947707607563660884622002983142962631449985002231986608947553475430308359304950424029641068581704957107256759687996568094642387000729777739132604263697360364510429196964554529958566054605415787035978691797182606075670182506520458023189364849956624878380072442766649395383651875963760121082462293689860206711286824203036503166404854854246224307109844658417687148753486452968059475026144131129952860531287610138433096388482077405440297701603499094331787117331475914482662694475144495611660614937117395028530462028257412639297609950345088401509587724107651015570768289604479065880358169754640010370229397058103256610794705505843143020403839718739475799 313220048715676095333730468341931859817261210715581867060743109191093442821792295037582142573788149083228103802743477023211070361452969947601462489969736828297608788600492150539763462274164698533121816583420744944784996928809396110711945958820392566611957764896530092932735250719032325940096882887114373994008907957896105616084762951470367345154159370642574836601688233727590529010008277679073183226193379663127211945247425092282417026274776956419259095673874094343431669871039004014125310843793124174581133188689135458309130948324553126762898527790482858535506572988095265505769215571418214843140938894665277473409958580900036362093398592706025302876309483272251262265267959050174610267068645058233573232409125367720245916485561038187595122475626152253757733617438283753638723722270029466325364408210519033743408749411871399916273231717451174527852012363888153484475296816044057528147738103429289477058010469012645139443684470507133911497872149304561589696525410700670922015341760678978511713521413867827928707360931899426650736205268332165817983836742641066955768188125181280054652004153834874686334439402946002941521011087357010290802298213379595554880418960356885055703397732988992223952262356783586175634650041628677705686728184220683018747095560055096217291206004454116728463342374083900888791244368861662440812278171397746170776795043855477315129384225150697221735750500245082697470181814358470385739414328221494826450622216328458388892382177126261021118072927150169878320079912245619347451679132425177855725887903487726569057180882434649527580243427972779063360660657554187559901681030381640139420115753997222494136670697850186601928871546851895575382862944513228489321181869729323995785212754069461614448612537797076876368281409552159581197948439414703838954817566519955834724390143768453685327105865637837041550628983735508923819284637415633302681199240667442779119232012792439929140956984827175379425168535309005706008593399122868436645558867205303432547966644108804168007827041831763649647528581988544572119454731242003466167473702529187824769134209353546980218057399572129339445005697395808406904265439090727264042296114706907763429463328738698129064395432670595082161158215217342986425736252745730111216920792768377945922 506800684779861771535379319562516201153095354252124164751567557358222509795830115112988802673320451706151216024975125835510221087818496887436250648845498821603960401733741388461352548917279815231914556014874856455183524080202072919651875339646185268213136385538056791068271472123288746172096309120216686871770700073784461790549279418260104658758193851363025768767737198244369625701744113184351850856976260286671335173606688295407699697582215422707007540226803451706174543074227701797119421097970436319518160768185451946916269660067910046448044319482881637166006710254688555697355450142981090372735204544362169616154419774074037353409200669916621409827312067821632345091303391480919689361415895126617896039957470363270990655054832749051812387931566578026476663690291110654214556238109552242614323290789416971293634433364958010117018425620394812507527728989785836719091574428788627699659727791872480061567734745541664466748807123164703977170835264501861469374824152835331335916375963652735332647987546547231077315874879575286862683102299575055875887547330346853667329919555592459583983826758003817290950291361733436628959177972232645532438487360252043560961395090618624047907814997697168423594490324918508434929480947314439302504168959161665613239390997597708043878189143140174989357077605185261807411617708595013336828904429801659140580027872887114705886178874690271121854878359252133231088940200561225287462913202099141554550819690442501687388337949286522791790542173360006749999894357987120914342704913895661205773622240040019166916569115810071247792820698712447994615100287013977821932628737989203800304737756980365456768120682852418588537819100327325883742167894937258130389763574686431252544900750637556256835613267574816008972545106912524091627145403969233797520872171935742870703081940951059760997288372158295064739993833692133802199357080182282698064851116631202900201694306482300135852243809030211882591573390163251930315703243781286123794312353658271492022992788239934120868358329441902082743917064065950012417156334741097797954591034005102307431828684498042591878672336689524367975467725653221046201875389435815665551883838814558779000231618343177194944753602425235092531387612275446243036530958251573254237324632487117421721 820020733495537866869109787904448060970356564967706031812310666549315952617622410150570945247108600789379319827718602858721291449271466835037713138815235649901569190334233539001116011191444513765036372598295601399968521009011469030363821298466577834825094150434586884001006722842321072112193192007331060865779608031680567406634042369730472003912353222005600605369425431971960154711752390863425034083169639949798547118854113387690116723856992379126266635900677546049606212945266705811244731941763560494099293956874587405225400608392463173210942847273364495701513283242783821203124665714399305215876143439027447089564378354974073715502599262622646712703621551093883607356571350531094299628484540184851469272366595730991236571540393787239407510407192730280234397307729394407853279960379581708939687698999936005037043182776829410033291657337845987035379741353673990203566871244832685227807465895301769538625745214554309606192491593671837888668707413806423059071349563536002257931717724331713844361508960415059006023235811474713513419307567907221693871384072987920623098107680773739638635830911838691977284730764679439570480189059589655823240785573631639115841814050975509103611212730686160647546752681702094610564130988943117008190897143382348631986486557652804261169395147594291717820419979269162696202862077456675777641182601199405311356822916742592021015563099840968343590628859497215928559122014919695673202327530320636381001441906770960076280720126412783812908615100510176628319974270232740261794384046320839061499510143527745735973749998244720775373064126685227057975760944568165381834309768370843939724853510977587950904791380702605190466690647179221459125030839450486619710945444415755248330113504707017871284225805371892885340826516464683672825093843383937636475689738455698705427472084719513446324394237796132106290622817427642726018641717597916000746050357298645679320926319274740064993200793857387262016741925472257636324296642904154560439871220863574924570959432348738288876185371273665732391445646054494584536611065983101264122064736534290132200962893851589572096729736261653707420473423049029453106140828526542929594179953521466542429694947081875324009149035095830174692545827492789229462267210997303365454245425255495367643 1326821418275399638404489107466964262123451919219830196563878223907538462413452525263559747920429052495530535852693728694231512537089963722473963787660734471505529592067974927462468560108724328996950928613170457855152045089213541950015696638112763103038230535972643675069278194965609818284289501127547747737550308105465029197183321787990576662670547073368626374137162630216329780413496504047776884940145900236469882292460801683097816421439207801833274176127480997755780756019494407608364153039733996813617454725060039352141670268460373219658987166756246132867519993497472376900480115857380395588611347983389616705718798129048111068911799932539268122530933618915515952447874742012013988989900435311469365312324066094262227226595226536291219898338759308306711060998020505062067836198489133951554010989789352976330677616141787420150310082958240799542907470343459826922658445673621312927467193687174249600193479960095974072941298716836541865839542678308284528446173716371333593848093687984449177009496506962290083339110691050000376102409867482277569758931403334774290428027236366199222619657669842509268235022126412876199439367031822301355679272933883682676803209141594133151519027728383329071141243006620603045493611936257556310695066102544014245225877555250512305047584290734466707177497584454424503614479786051689114470087031001064451936850789629706726901741974531239465445507218749349159648062215480920960665240732419777935552261597213461763669058075699306604699157273870183378319868628219861176137088960216500267273132383567764902890319114054792023165884825397675052590861231582143203766938506360047740029591267957953407672912063555023779004509747506547342867198734387744750100709019102186500875014255344574128119839072946708894313371623377207764452239247353171433996561910391441576130554025670573207321682609954427171030616651119776528217998797780198698810901473929848579522620625757040200845444602887599144608315315635509566639999886685440684234183574521846416593952220588672409744543700715567815135362710120444596953767400724199062076655770539392439632791578349632163975402072951178075395941148702250499308016217962358595146063792336025321429926565425052518953902637521065267223933439768235472498798169248876619691570057742612789364 2146842151770937505273598895371412323093808484187536228376188890456854415031074935414130693167537653284909855680412331552952803986361430557511676926475970121407098782402208466463584571300168842761987301211466059255120566098225010980379517936579340937863324686407230559070284917807930890396482693134878808603329916137145596603817364157721048666582900295374226979506588062188289935125248894911201919023315540186268429411314915070787933145296200180959540812028158543805386968964761113419608884981497557307716748681934626757367070876852836392869930014029610628569033276740256198103604781571779700804487491422417063795283176484022184784414399195161914835234555170009399559804446092543108288618384975496320834584690661825253463798135620323530627408745952038586945458305749899469921116158868715660493698688789288981367720798918616830183601740296086786578287211697133817126225316918453998155274659582476019138819225174650283679133790310508379754508250092114707587517523279907335851779811412316163021371005467377349089362346502524713889521717435389499263630315476322694913526134917139938861255488581681201245519752891092315769919556091411957178920058507515321792645023192569642255130240459069489718687995688322697656057742925200673318885963245926362877212364112903316566216979438328758424997917563723587199817341863508364892111269632200469763293673706372298747917305074372207809036136078246565088207184230400616633867568262740414316553703503984421839949778202112090417607772374380360006639842898452601437931473006537339328772642527095510638864069112299512798538948952082902110566622176150308585601248274730891679754444778935541358577703444257628969471200394685768801992229573838231369811654463517941749205127760051591999404064878318601779654198139841891437277333090737109070472251648847140281558026110390086653646076847750559277321239468547419254236640515378114699556951831228494258843546945031780265838645396744986406625057241107767202964296529589595244674054795385421341164911652937410698620729071989233547526808356174939181490378466707300326198720507073682571833754472201221736072131809212831782816414571751279952414157046488901524740243745857491863859621512506927842963051672616895441916479267261024701961065380246179985145815482998108157007 3473663570046337143678088002838376585217260403407366424940067114364392877444527460677690441087966705780440391533106060247184316523451394279985640714136704592912628374470183393926053131408893171758938229824636517110272611187438552930395214574692104040901555222379874234139563112773540708680772194262426556340880224242610625801000685945711625329253447368742853353643750692404619715538745398958978803963461440422738311703775716753885749566735407982792814988155639541561167724984255521027973038021231554121334203406994666109508741145313209612528917180785856761436553270237728575004084897429160096393098839405806680501001974613070295853326199127701182957765488788924915512252320834555122277608285410807790199897014727919515691024730846859821847307084711346893656519303770404531988952357357849612047709678578641957698398415060404250333911823254327586121194682040593644048883762592075311082741853269650268739012705134746257752075089027344921620347792770422992115963696996278669445627905100300612198380501974339639172701457193574714265624127302871776833389246879657469203954162153506138083875146251523710513754775017505191969358923123234258534599331441399004469448232334163775406649268187452818789829238694943300701551354861458229629581029348470377122438241668153828871264563729063225132175415148178011703431821649560054006581356663201534215230524496002005474819047048903447274481643296995914247855246445881537594532808995160192252105965101197883603618836277811397022306929648250543384959711526672462614068561966753839596045774910663275541754388226354304821704833777480577163157483407732451789368186781090939419784036046893494766250615507812652748475710142192316144859428308225976119912363482620128250080142015396166127523903951265310673967569763219099201729572338090280504468813559238581857688580136060659860967759457704986448351856119667195782454639313158313398367853305158342838366167570788820466684089999632585551233372556743276769604296416275035928908238369907267757758863873526083108365272772704801362662171066295383778444145867431499388275376277613075011466546050550853900047533882164009858212355720453530451722173264451260119886307538193517185289548077931980361916954310137960709140412707029260174459863549495056604837385540740720946371 5620505721817274648951686898209788908311068887594902653316256004821247292475602396091821134255504359065350247213518391800137120509812824837497317640612674714319727156872391860389637702709062014520925531036102576365393177285663563910774732511271444978764879908787104793209848030581471599077254887397305364944210140379756222404818050103432673995836347664117080333150338754592909650663994293870180722986776980609006741115090631824673682712031608163752355800183798085366554693949016634447581923002729111429050952088929292866875812022166046005398847194815467390005586546977984773107689679000939797197586330828223744296285151097092480637740598322863097793000043958934315072056766927098230566226670386304111034481705389744769154822866467183352474715830663385480601977609520304001910068516226565272541408367367930939066119213979021080517513563550414372699481893737727461175109079510529309238016512852126287877831930309396541431208879337853301374856042862537699703481220276186005297407716512616775219751507441716988262063803696099428155145844738261276097019562355980164117480297070646076945130634833204911759274527908597507739278479214646215713519389948914326262093255526733417661779508646522308508517234383265998357609097786658902948466992594396739999650605781057145437481543167391983557173332711901598903249163513068418898692626295402003978524198202374304222736352123275655083517779375242479336062430676282154228400377257900606568659668605182305443568614479923487439914702022630903391599554425125064052000034973291178924818417437758786180618457338653817620243782729563479273724105583882760374969435055821831099538480825829036124828318952070281717946910536878084946851657882064207489724017946138069999285269775447758126927968829583912453621767903060990639006905428827389574941065208085722139246606246450746514613836305455545725673095588214615036691279828536428097924805136386837097209714515820600732522735396377571957858429797851043972568592945864631173582293165292689098923775526463493806986001844694034910188979422470322959934524334138799714474096784686757583300300522752075636119665691376841641028770292204810404136330310940161644626551284051009049149169590438908204880005982754856151056891974290284876420928929741236589983201023738829103378 9094169291863611792629774901048165493528329291002269078256323119185640169920129856769511575343471064845790638746624452047321437033264219117482958354749379307232355531342575254315690834117955186279863760860739093475665788473102116841169947085963549019666435131166979027349411143355012307758027081659731921285090364622366848205818736049144299325089795032859933686794089446997529366202739692829159526950238421031745052818866348578559432278767016146545170788339437626927722418933272155475554961023960665550385155495923958976384553167479255617927764375601324151442139817215713348111774576430099893590685170234030424797287125710162776491066797450564280750765532747859230584309087761653352843834955797111901234378720117664284845847597314043174322022915374732374258496913290708533899020873584414884589118045946572896764517629039425330851425386804741958820676575778321105223992842102604620320758366121776556616844635444142799183283968365198222995203835632960691819444917272464674743035621612917387418132009416056627434765260889674142420769972041133052930408809235637633321434459224152215029005781084728622273029302926102699708637402337880474248118721390313330731541487860897193068428776833975127298346473078209299059160452648117132578048021942867117122088847449210974308746106896455208689348747860079610606680985162628472905273982958603538193754722698376309697555399172179102357999422672238393583917677122163691822933186253060798820765633706380189047187450757734884462221631670881446776559265951797526666068596940045018520864192348422061722372845565008122441948616507044056436881588991615212164337621836912770519322516872722530891078934459882934466422620679070401091711086190290183609636381428758198249365411790843924254451872780849223127589337666280089840736477766917670079409878767324303996935186382511406375581595763160532174024951707881810819145919141694741496292658441545179935575882086609421199206825396010157509091802354594320742172889362139667102490531535199956856682639399989576915351274617398836272851150488765706738378670201570299102749473062299832594766846573302929536167199573540851499241126012658340855858503575391421764512858822244526234438717668370888566796960292892816860197304681319545050880792479236293194820586564479550049749 14714675013680886441581461799257954401839398178597171731572579124006887462395732252861332709598975423911140885960142843847458557543077043954980275995362054021552082688214967114705328536827017200800789291896841669841058965758765680751944679597234993998431315039954083820559259173936483906835281969057037286229300505002123070610636786152576973320926142696977014019944428201590439016866733986699340249937015401640751793933956980403233114990798624310297526588523235712294277112882288789923136884026689776979436107584853251843260365189645301623326611570416791541447726364193698121219464255431039690788271501062254169093572276807255257128807395773427378543765576706793545656365854688751583410061626183416012268860425507409054000670463781226526796738746038117854860474522811012535809089389810980157130526413314503835830636843018446411368938950355156331520158469516048566399101921613133929558774878973902844494676565753539340614492847703051524370059878495498391522926137548650680040443338125534162637883516857773615696829064585773570575915816779394329027428371591617797438914756294798291974136415917933534032303830834700207447915881552526689961638111339227656993634743387630610730208285480497435806863707461475297416769550434776035526515014537263857121739453230268119746227650063847192246522080571981209509930148675696891803966609254005542172278920900750613920291751295454757441517202047480872919980107798445846051333563510961405389425302311562494490756065237658371902136333693512350168158820376922590718068631913336197445682609786180847902991302903661940062192399236607535710605694575497972539307056892734601618860997698551567015907253411953216184369531215948486038562744072354391099360399374896268248650681566291682381379841610433135581211105569341080479743383195745059654350943975410026136181792628962152890195432068616077899698047296096425855837198970231169594217463577932017032785596602430021931729560792387729466950232152445364714741482308004298276072824700492645955606414926453070722337276462092871183040129911236029698313194535709098817223569846986590178067147096055005172286865264917693140269896304863151259994833886331583409139410106295535283587887258809796771676966275647673011254196655609829927301721408977529784803787588218379153127 23808844305544498234211236700306119895367727469599440809828902243192527632315862109630844284942446488756931524706767295894779994576341263072463234350111433328784438219557542369021019370944972387080653052757580763316724754231867797593114626683198543018097750171121062847908670317291496214593309050716769207514390869624489918816455522201721272646015937729836947706738517648587968383069473679528499776887253822672496846752823328981792547269565640456842697376862673339221999531815560945398691845050650442529821263080777210819644918357124557241254375946018115692889866181409411469331238831861139584378956671296284593890859402517418033619874193223991659294531109454652776240674942450404936253896581980527913503239145625073338846518061095269701118761661412850229118971436101721069708110263395395041719644459261076732595154472057871742220364337159898290340835045294369671623094763715738549879533245095679401111521201197682139797776816068249747365263714128459083342371054821115354783478959738451550056015526273830243131594325475447712996685788820527381957837180827255430760349215518950507003142197002662156305333133760802907156553283890407164209756832729540987725176231248527803798637062314472563105210180539684596475930003082893168104563036480130974243828300679479094054973756960302400935870828432060820116611133838325364709240592212609080366033643599126923617847150467633859799516624719719266503897784920609537874266749764022204210190936017942683537943515995393256364357965364393796944718086328720117384137228853381215966546802134602909625364148468670062504141015743651592147487283567113184703644678729647372138183514571274097906986187871836150650792151895018887130273830262644574708996780803654466498016093357135606635831714391282358708800443235621170320479860962662729733760822742734330133116979011473559265777027831776610073722999003978236674983118111925911090510122019477196968361478689039443130936386188397886976042034507039685456914371670143965378563356235692602812289054326442647637688551079491707455891280400001736436691864737279397919973042909286422772833993669357934708454064838458544639511022317521492115853337461723005173652268928540061518026604927180685338473926568540489871451501336929374978182513888213822979624374152697929202876 38523519319225384675792698499564074297207125648196612541401481367199415094711594362492176994541421912668072410666910139742238552119418307027443510345473487350336520907772509483726347907771989587881442344654422433157783719990633478345059306280433537016529065211075146668467929491227980121428591019773806493743691374626612989427092308354298245966942080426813961726682945850178407399936207666227840026824269224313248640686780309385025662260364264767140223965385909051516276644697849735321828729077340219509257370665630462662905283546769858864580987516434907234337592545603109590550703087292179275167228172358538762984431679324673290748681588997419037838296686161446321897040797139156519663958208163943925772099571132482392847188524876496227915500407450968083979445958912733605517199653206375198850170872575580568425791315076318153589303287515054621860993514810418238022196685328872479438308124069582245606197766951221480412269663771301271735323592623957474865297192369766034823922297863985712693899043131603858828423390061221283572601605599921710985265552418873228199263971813748798977278612920595690337636964595503114604469165442933854171394944068768644718810974636158414528845347794969998912073888001159893892699553517669203631078051017394831365567753909747213801201407024149593182392909004042029626541282514022256513207201466614622538312564499877537538138901763088617241033826767200139423877892719055383925600313274983609599616238329505178028699581233051628266494299057906147112876906705642708102205860766717413412229411920783757528355451372332002566333414980259127858092978142611157242951735622381973757044512269825664922893441283789366835161683110967373168836574334998965808357180178550734746666774923427289017211556001715494290011548804962250800223244158407789388111766718144356269298771640435712155972459900392687973421046300074662530820317082157080684727585597409214001147075291469465062665946980785616442992266659485050171655853978148263654636180936185248767895469252895718360025827541584578638931410311237766135005059272988496737196612756273012950901140765412939880740930103376237779780918622384643375848171348054588582791679034835596801614492185990482110150892844188162882705697992539204905484235297191352764428161740916308356003 62332363624769882910003935199870194192574853117796053351230383610391942727027456472123021279483868401425003935373677435637018546695759570099906744695584920679120959127330051852747367278716961974962095397412003196474508474222501275938173932963632080034626815382196209516376599808519476336021900070490575701258082244251102908243547830556019518612958018156650909433421463498766375783005681345756339803711523046985745487439603638366818209529929905223982921342248582390738276176513410680720520574127990662039078633746407673482550201903894416105835363462453022927227458727012521059881941919153318859546184843654823356875291081842091324368555782221410697132827795616099098137715739589561455917854790144471839275338716757555731693706585971765929034262068863818313098417395014454675225309916601770240569815331836657301020945787134189895809667624674952912201828560104787909645291449044611029317841369165261646717718968148903620210046479839551019100587306752416558207668247190881389607401257602437262749914569405434101960017715536668996569287394420449092943102733246128658959613187332699305980420809923257846642970098356306021761022449333341018381151776798309632443987205884686218327482410109442562017284068540844490368629556600562371735641087497525805609396054589226307856175163984451994118263737436102849743152416352347621222447793679223702904346208099004461155986052230722477040550451486919405927775677639664921799867063039005813809807174347447861566643097228444884630852264422299944057594993034362825486343089620098629378776214055386667153719599841002065070474430723910720005580261709724341946596414352029345895228026841099762829879629155625517485953835005986260299110404597643540517353960982205201244682868280562895653043270392997852998811992040583421120703105121070519121872589460878686402415750651909271421749487732169298047144045304052899205803435194082991775237707616886410969508553980508908193602333169183503419034301166524735628570225648292229033199537171877851580184523579338365997714378621076286094822690711239502571696924010267894657169655665559435723735134434770874589194994941834782419291940939906135491701508809777593756443947963375658319641097113171167448624819412728652754157199329468579883666749185405175744052535893614237558879 100855882943995267585796633699434268489781978765992665892631864977591357821739050834615198274025290314093076346040587575379257098815177877127350255041058408029457480035102561336473715186488951562843537742066425629632292194213134754283233239244065617051155880593271356184844529299747456457450491090264382195001773618877715897670640138910317764579900098583464871160104409348944783182941889011984179830535792271298994128126383947751843871790294169991123145307634491442254552821211260416042349303205330881548336004412038136145455485450664274970416350978887930161565051272615630650432645006445498134713413016013362119859722761166764615117237371218829734971124481777545420034756536728717975581812998308415765047438287890038124540895110848262156949762476314786397077863353927188280742509569808145439419986204412237869446737102210508049398970912190007534062822074915206147667488134373483508756149493234843892323916735100125100622316143610852290835910899376374033072965439560647424431323555466422975443813612537037960788441105597890280141889000020370803928368285665001887158877159146448104957699422843853536980607062951809136365491614776274872552546720867078277162798180520844632856327757904412560929357956542004384261329110118231575366719138514920636974963808498973521657376571008601587300656646440144879369693698866369877735654995145838325442658772598881998694124953993811094281584278254119545351653570358720305725467376313989423409423412676953039595342678461496512897346563480206091170471899740005533588548950386816042791005625976170424682075051213334067636807845704169847863673239852335499189548149974411319652272539110925427752773070439414884321115518116953633467946978932642506325711141160755935991349643203990184670254826394713347288823540845545671920926349279478308509984356179023042671714522292344983577721947632561986020565091604127561736623752276240072459965293214295624970655629271978373256268280149969119862026567826009785800226079626440492687835718108063100348079992832234084357740206162660864733754101022477268706701983283256391394366268421832448674636275200183814469935925045211020199072859562290778867549680157832182339235626998211255121255589299161649558775712256916815636862897322007784789150984482596528508480697634530545914882 163188246568765150495800568899304462682356831883788719243862248587983300548766507306738219553509158715518080281414265011016275645510937447227256999736643328708578439162432613189221082465205913537805633139478428826106800668435636030221407172207697697085782695975467565701221129108266932793472391160754957896259855863128818805914187969466337283192858116740115780593525872847711158965947570357740519634247315318284739615565987586118662081320224075215106066649883073832992828997724671096762869877333321543587414638158445809628005687354558691076251714441340953088792509999628151710314586925598816994259597859668185476735013843008855939485793153440240432103952277393644518172472276318279431499667788452887604322777004647593856234601696820028085984024545178604710176280748941642955967819486409915679989801536248895170467682889344697945208638536864960446264650635019994057312779583418094538073990862400105539041635703249028720832362623450403309936498206128790591280633686751528814038724813068860238193728181942472062748458821134559276711176394440819896871471018911130546118490346479147410938120232767111383623577161308115158126514064109615890933698497665387909606785386405530851183810168013855122946642025082848874629958666718793947102360226012446442584359863088199829513551734993053581418920383876247729112846115218717498958102788825062028347004980697886459850111006224533571322134729741038951279429247998385227525334439352995237219230587024400901161985775689941397528198827902506035228066892774368359074892040006914672169781840031557091835794651054336132707282276428080567869253501562059841136144564326440665547500565952025190582652699595040401807069353122939893767057383530286046843065102142961137236032511484553080323298096787711200287635532886129093041629454400548827631856945639901729074130272944254254999471435364731284067709136908180460942427187470323064235203000831182035940164183252487281449870613319152623281060868992534521428796305274732721721035255279940951928264516411572450355454584783737150828576791733716771278398907293524286051535924087391884398371409634954689059130919987045802618364800502196914359251188967609776095679574961586913440896686412332817007400531669645468391020096651476364672817733668001704252533233528144783473761 264044129512760418081597202598738731172138810649781385136494113565574658370505558141353417827534449029611156627454852586395532744326115324354607254777701736738035919197535174525694797651694865100649170881544854455739092862648770784504640411451763314136938576568738921886065658408014389250922882251019340091261629482006534703584828108376655047772758215323580651753630282196655942148889459369724699464783107589583733743692371533870505953110518245206229211957517565275247381818935931512805219180538652425135750642570483945773461172805222966046668065420228883250357561272243782360747231932044315128973010875681547596594736604175620554603030524659070167075076759171189938207228813046997407081480786761303369370215292537631980775496807668290242933787021493391107254144102868831236710329056218061119409787740661133039914419991555205994607609449054967980327472709935200204980267717791578046830140355634949431365552438349153821454678767061255600772409105505164624353599126312176238470048368535283213637541794479510023536899926732449556853065394461190700799839304576132433277367505625595515895819655610964920604184224259924294492005678885890763486245218532466186769583566926375484040137925918267683875999981624853258891287776837025522469079364527367079559323671587173351170928306001655168719577030316392608482539814085087376693757783970900353789663753296768458544235960218344665603719007995158496631082818357105533250801815666984660628653999701353940757328454151437910425545391382712126398538792514373892663440990393730714960787466007727516517869702267670200344090122132250415732926741414395340325692714300851985199773105062950618335425770034455286128184871239893527235004362462928553168776243303717073227382154688543264993552923182424547576459073731674764962555803680027136141841301818924771745844795236599238577193382997293270088274228512308022679050939746563136695168294045477660910819812524465654706138893469121743143087436818544307229022384901173214408870973388004052276344509243806534713194790946398015562330892756194039985100890576780677445902192509224333073007684835138503529066845032256822817437660064487693226800869125441958434915201959798168562152275711494466566176243926562284027882993973484149461968718150598232761013931162675329388643 427232376081525568577397771498043193854495642533570104380356362153557958919272065448091637381043607745129236908869117597411808389837052771581864254514345065446614358359967787714915880116900778638454804021023283281845893531084406814726047583659461011222721272544206487587286787516281322044395273411774297987521485345135353509499016077842992330965616332063696432347156155044367101114837029727465219099030422907868473359258359119989168034430742320421335278607400639108240210816660602609568089057871973968723165280728929755401466860159781657122919779861569836339150071271871934071061818857643132123232608735349733073329750447184476494088823678099310599179029036564834456379701089365276838581148575214190973692992297185225837010098504488318328917811566671995817430424851810474192678148542627976799399589276910028210382102880899903939816247985919928426592123344955194262293047301209672584904131218035054970407188141598182542287041390511658910708907311633955215634232813063705052508773181604143451831269976421982086285358747867008833564241788902010597671310323487262979395857852104742926833939888378076304227761385568039452618519742995506654419943716197854096376368953331906335223948093932122806822642006707702133521246443555819469571439590539813522143683534675373180684480040994708750138497414192640337595385929303804875651860572795962382136668733994654918394346966442878236925853737736197447910512066355490760776136255019979897847884586725754841919314229841379307953744219285218161626605685288742251738333030400645387130569306039284608353664353322006333051372398560330983602180242976455181461837278627292650747273671014975808918078469629495687935254224362833421002061745993214600011841345446678210463414666173096345316851019970135747864094606617803858004185258080575963773698247458826500819975068180853493576664818362024554155983365420488483621478127216886200930371294876659696850983995776952936156009506788274366424148305811078828657818690175905936129906228667945004204609025655378985068649375730135166390907684489910811263499797870304963497438116596616217471379094470093192588197765019302625435802460566684607586052058093051734530594776921385082003048962123827283573576775596207752418903090624960514134786451818599937013547164690820112862404 691276505594285986658994974096781925026634453183351489516850475719132617289777623589445055208578056774740393536323970183807341134163168095936471509292046802184650277557502962240610677768595643739103974902568137737584986393733177599230687995111224325359659849112945409473352445924295711295318155662793638078783114827141888213083844186219647378738374547387277084100786437241023043263726489097189918563813530497452207102950730653859673987541260565627564490564918204383487592635596534122373308238410626393858915923299413701174928032965004623169587845281798719589507632544115716431809050789687447252205619611031280669924487051360097048691854202758380766254105795736024394586929902412274245662629361975494343063207589722857817785595312156608571851598588165386924684568954679305429388477598846037918809377017571161250296522872455109934423857434974896406919596054890394467273315019001250631734271573670004401772740579947336363741720157572914511481316417139119839987831939375881290978821550139426665468811770901492109822258674599458390417307183363201298471149628063395412673225357730338442729759543989041224831945609827963747110525421881397417906188934730320283145952520258281819264086019850390490698641988332555392412534220392844992040518955067180601703007206262546531855408346996363918858074444509032946077925743388892252345618356766862735926332487291423376938582926661222902529572745731355944541594884712596294026938070686964558476538586427108782676642683992817218379289610667930288025144477803116144401774020794376102091356772047012124871534055589676533395462520692581399335106984390850521787529992928144635947046776077926427253504239663950974063439095602726948237066108456143153180617588750395283690796820861639610310403943152560295440553680349478622966741061760603099915539549277751272565819863417452732153858201359317824244257593932796506300529066963449337625539588922137357761803808301418590862148400257396109567235742629623135886841075077079150538777202055949056480953534899185519781844166676533181953238577246104851248600688447085640943340309105840550544386779305231696117264610051559448253240120631172300812852927218493692965509978881183250565201237835321750139753019522770036446786084598444663596755169969198169774561095853495442251047 1118508881675811555236392745594825118881130095716921593897206837872690576209049689037536692589621664519869630445193087781219149524000220867518335763806391867631264635917470749955526557885496422377558778923591421019430879924817584413956735578770685336582381121657151897060639233440577033339713429074567936066304600172277241722582860264062639709703990879450973516447942592285390144378563518824655137662843953405320680462209089773848842021972002886048899769172318843491727803452257136731941397296282600362582081204028343456576394893124786280292507625143368555928657703815987650502870869647330579375438228346381013743254237498544573542780677880857691365433134832300858850966630991777551084243777937189685316756199886908083654795693816644926900769410154837382742114993806489779622066626141474014718208966294481189460678625753355013874240105420894824833511719399845588729566362320210923216638402791705059372179928721545518906028761548084573422190223728773075055622064752439586343487594731743570117300081747323474196107617422466467223981548972265211896142459951550658392069083209835081369563699432367117529059706995396003199729045164876904072326132650928174379522321473590188154488034113782513297521283995040257525933780663948664461611958545606994123846690740937919712539888387991072668996571858701673283673311672692697127997478929562825118063001221286078295332929893104101139455426483467553392452106951068087054803074325706944456324423173152863624595956913834196526333033829953148449651750163091858396140107051195021489221926078086296733225198408911682866446834919252912382937287227367305703249367271555437286694320447092902236171582709293446661998693319965560369239127854449357753192458934197073494154211487034735955627254963122696043304648286967282480970926319841179063689237796736577773385794931598306225730523019721342378400240959353284989922007194180335538555910883798797054612787804078371527018157907045670475991384048440701964544659765252985086668683430723894060685562560554564504850493542406668348344146261736015662512100486317390604440778425702456768015765873775324888705462375070862073689042581197856908398904985311545427496104755802568332568250199959149033713329795118977788865689175223405177731541621787798106788108260544315555113451 1809785387270097541895387719691607043907764548900273083414057313591823193498827312626981747798199721294610023981517057965026490658163388963454807273098438669815914913474973712196137235654092066116662753826159558757015866318550762013187423573881909661942040970770097306533991679364872744635031584737361574145087714999419129935666704450282287088442365426838250600548729029526413187642290007921845056226657483902772887565159820427708516009513263451676464259737237047875215396087853670854314705534693226756440997127327757157751322926089790903462095470425167275518165336360103366934679920437018026627643847957412294413178724549904670591472532083616072131687240628036883245553560894189825329906407299165179659819407476630941472581289128801535472621008743002769666799562761169085051455103740320052637018343312052350710975148625810123808663962855869721240431315454735983196839677339212173848372674365375063773952669301492855269770481705657487933671540145912194895609896691815467634466416281882996782768893518224966305929876097065925614398856155628413194613609579614053804742308567565419812293458976356158753891652605223966946839570586758301490232321585658494662668273993848469973752120133632903788219925983372812918346314884341509453652477500674174725549697947200466244395296734987436587854646303210706229751237416081589380343097286329687853989333708577501672271512819765324041984999229198909336993701835780683348830012396393909014800961759579972407272599597827013744712323440621078737676894640894974540541881071989397591313282850133308858096732464501359399842297439945493782272394211758156225036897264483581922641367223170828663425086948957397636062132415568287317476193962905500906373076522947468777845008307896375565937658906275256338745201967316761103937667381601782163604777346014329045951614795015758957884381221080660202644498553286081496222536261143784876181450472720934412374591612379790117880306307303066585558619791070325100431500840330064237207460632779843117166516095453750024632337709083201530297384838982120513760701174764476245384118734808297318560152653080556584822726985122421521942282701829029209211757912530039120461614734683751583133451437794470783853082814641747825312475259821849841328296791756996276562669356397810997364498 2928294268945909097131780465286432162788894644617194677311264151464513769707877001664518440387821385814479654426710145746245640182163609830973143036904830537447179549392444462151663793539588488494221532749750979776446746243368346427144159152652594998524422092427249203594630912805449777974745013811929510211392315171696371658249564714344926798146356306289224116996671621811803332020853526746500193889501437308093568027368910201557358031485266337725364028909555891366943199540110807586256102830975827119023078331356100614327717819214577183754603095568535831446823040176091017437550790084348606003082076303793308156432962048449244134253209964473763497120375460337742096520191885967376414150185236354864976575607363539025127376982945446462373390418897840152408914556567658864673521729881794067355227309606533540171653774379165137682904068276764546073943034854581571926406039659423097065011077157080123146132598023038374175799243253742061355861763874685269951231961444255053977954011013626566900068975265548440502037493519532392838380405127893625090756069531164712196811391777400501181857158408723276282951359600619970146568615751635205562558454236586669042190595467438658128240154247415417085741209978413070444280095548290173915264436046281168849396388688138385956935185122978509256851218161912379513424549088774286508340576215892512972052334929863579967604442712869425181440425712666462729445808786848770403633086722100853471125384932732836031868556511661210271045357270574227187328644803986832936681988123184419080535208928219605591321930873413042266289132359198406165209681439125461928286264536039019209335687670263730899596669658250844298060825735533847686715321817354858659565535457144542271999219794931111521564913869397952382049850254284043584908593701442961227294015142750906819337409726614065183614904240802002581044739512639366486144543455324120414737361356519731466987379416458161644898464214348737061550003839511027064976160605583049323876144063503737177852078656008314529482831251489869878641531100718136176272801661081866849824897160510754086575918526855881473528189360193283595631325283026886117610662897841584547957719490486319915701701637753619817566412609760725614178164435045255019059838413544794383350777616942126552477949 4738079656216006639027168184978039206696659193517467760725321465056336963206704314291500188186021107109089678408227203711272130840326998794427950310003269207263094462867418174347801029193680554610884286575910538533462612561919108440331582726534504660466463063197346510128622592170322522609776598549291084356480030171115501593916269164627213886588721733127474717545400651338216519663143534668345250116158921210866455592528730629265874040998529789401828288646792939242158595627964478440570808365669053875464075458683857772079040745304368087216698565993703106964988376536194384372230710521366632630725924261205602569611686598353914725725742048089835628807616088374625342073752780157201744056592535520044636395014840169966599958272074247997846011427640842922075714119328827949724976833622114119992245652918585890882628923004975261491568031132634267314374350309317555123245716998635270913383751522455186920085267324531229445569724959399549289533304020597464846841858136070521612420427295509563682837868783773406807967369616598318452779261283522038285369679110778766001553700344965920994150617385079435036843012205843937093408186338393507052790775822245163704858869461287128101992274381048320873961135961785883362626410432631683368916913546955343574946086635338852201330481857965945844705864465123085743175786504855875888683673502222200826041668638441081639875955532634749223425424941865372066439510622629453752463099118494762485926346692312808439141156109488224015757680711195305925005539444881807477223869195173816671848491778352914449418663337914401666131429799143899947482075650883618153323161800522601131977054893434559563021756607208241934122958151102135004191515780260359565938611980092011049844228102827487087502572775673208720795052221600804688846261083044743390898792488765235865289024521629824141499285461882662783689238065925447982367079716467905290918811829240665879361971028837951762778770521651803647108623630581352165407661445913113561083604696283580295018594751462064554115168960573071408938915939700256690033502835846343095209015895319051405136071179936438058350916345315705117573607984855915326822420810371623668419334225170071498835153075548090601419495424402473439490639694867104860388135205301790659913446973339937549842447 7666373925161915736158948650264471369485553838134662438036585616520850732914581315956018628573842492923569332834937349457517771022490608625401093346908099744710274012259862636499464822733269043105105819325661518309909358805287454867475741879187099658990885155624595713723253504975772300584521612361220594567872345342811873252165833878972140684735078039416698834542072273150019851683997061414845444005660358518960023619897640830823232072483796127127192317556348830609101795168075286026826911196644880994487153790039958386406758564518945270971301661562238938411811416712285401809781500605715238633808000564998910726044648646803158859978952012563599125927991548712367438593944666124578158206777771874909612970622203708991727335255019694460219401846538683074484628675896486814398498563503908187347472962525119431054282697384140399174472099409398813388317385163899127049651756658058367978394828679535310066217865347569603621368968213141610645395067895282734798073819580325575590374438309136130582906844049321847310004863136130711291159666411415663376125748641943478198365092122366422176007775793802711319794371806463907239976802090028712615349230058831832747049464928725786230232428628463737959702345940198953806906505980921857284181349593236512424342475323477238158265666980944455101557082627035465256600335593630162397024249718114713798094003568304661607480398245504174404865850654531834795885319409478224156096185840595615957051731625045644471009712621149434286803037981769533112334184248868640413905857318358235752383700706572520040740594211327443932420562158342306112691757090009080081609426336561620341312742563698290462618426265459086232183783886635982690906837597615218225504147437236553321843447897758598609067486645071161102844902475884848273754854784487704618192807631516142684626434248243889325114189702684665364733977578564814468511623171792025705656173185760397346349350445296113407677234736000540708658627470092379230383822051496162884959748759787317472870673407470379083598000212062941287580447040418392866306304496928209945033913055829805491711989706792319531879105705508988713204933267882801444433083708213208216377053715656391414536854713301710418985908034163199053668804129912359879447973618846585043264224590282064102320396 12404453581377922375186116835242510576182213031652130198761907081577187696121285630247518816759863600032659011243164553168789901862817607419829043656911368951973368475127280810847265851926949597715990105901572056843371971367206563307807324605721604319457348218821942223851876097146094823194298210910511678924352375513927374846082103043599354571323799772544173552087472924488236371347140596083190694121819279729826479212426371460089106113482325916529020606203141769851260390796039764467397719562313934869951229248723816158485799309823313358188000227555942045376799793248479786182012211127081871264533924826204513295656335245157073585704694060653434754735607637086992780667697446281779902263370307394954249365637043878958327293527093942458065413274179525996560342795225314764123475397126022307339718615443705321936911620389115660666040130542033080702691735473216682172897473656693638891778580201990496986303132672100833066938693172541159934928371915880199644915677716396097202794865604645694265744712833095254117972232752729029743938927694937701661495427752722244199918792467332343170158393178882146356637384012307844333384988428422219668140005881076996451908334390012914332224703009512058833663481901984837169532916413553540653098263140191855999288561958816090359596148838910400946262947092158550999776122098486038285707923220336914624135672206745743247356353778138923628291275596397206862324830032107677908559284959090378442978078317358452910150868730637658302560718692964839037339723693750447891129726513532052424232192484925434490159257549241845598551991957486206060173832740892698234932588137084221473289797457132850025640182872667328166306742037738117695098353377875577791442759417328564371687676000586085696570059420744369823639954697485652962601115867532448009091600120281378549915458769873713466613475164567328148423215644490262450878702888259930996574985015001063225711321474134065170456005257652344355767251100673731395791483497409276446043353456070897767889268158932443637713169172636012696519362980118649556339807332774553040242928951148856896848060886728757590230022050824693830778541252738716771255504518584831884796387940826462913372007788849801020405403458565672493159443824779464739836108824148375703177671563622001652162843 20070827506539838111345065485506981945667766869786792636798492698098038429035866946203537445333706092956228344078101902626307672885308216045230137003819468696683642487387143447346730674660218640821095925227233575153281330172494018175283066484908703978448233374446537937575129602121867123778819823271732273492224720856739248098247936922571495256058877811960872386629545197638256223031137657498036138127479638248786502832324012290912338185966122043656212923759490600460362185964115050494224630758958815864438383038763774544892557874342258629159301889118180983788611209960765187991793711732797109898341925391203424021700983891960232445683646073217033880663599185799360219261642112406358060470148079269863862336259247587950054628782113636918284815120718209071044971471121801578521973960629930494687191577968824752991194317773256059840512229951431894091009120637115809222549230314752006870173408881525807052520998019670436688307661385682770580323439811162934442989497296721672793169303913781824848651556882417101427977095888859741035098594106353365037621176394665722398283884589698765346166168972684857676431755818771751573361790518450932283489235939908829198957799318738700562457131637975796793365827842183790976439422394475397937279612733428368423631037282293328517861815819854856047820029719194016256376457692116200682732172938451628422229675775050404854836752023643098033157126250929041658210149441585902064655470799685994400029809942404097381160581351787092589363756674734372149673907942619088305035583831890288176615893191497954530899851760569289530972554115828512172865589830901778316542014473645841814602540020831140488258609138126414398490525924374100386005190975490796016946906854565117693531123898344684305637546065815530926484857173370501236355970652020152627284407751797521234541893018117602791727664867251993513157193223055076919390326060051956702231158200761460572060671919430178578133239993652885064425878570766110626175305548905439331003102215858215240759941566402822721311169384698953984099810020537042422646111829702762985276842006978662388560050593521077122109127756333682543983474520621518215688588226798040101173441656482854327908862502151511439391311492728871546828247954691824619284082442994960746441896153904065754483239 32475281087917760486531182320749492521849979901438922835560399779675226125157152576451056262093569692988887355321266455795097574748125823465059180660730837648657010962514424258193996526587168238537086031128805631996653301539700581483090391090630308297905581593268480161427005699267961946973118034182243952416577096370666622944330039966170849827382677584505045938717018122126492594378278253581226832249298917978612982044750383751001444299448447960185233529962632370311622576760154814961622350321272750734389612287487590703378357184165571987347302116674123029165411003209244974173805922859878981162875850217407937317357319137117306031388340133870468635399206822886352999929339558688137962733518386664818111701896291466908381922309207579376350228394897735067605314266347116342645449357755952802026910193412530074928105938162371720506552360493464974793700856110332491395446703971445645761951989083516304038824130691771269755246354558223930515251811727043134087905175013117769995964169518427519114396269715512355545949328641588770779037521801291066699116604147387966598202677057031108516324562151567004033069139831079595906746778946873151951629241820985825650866133708751614894681834647487855627029309744168628145972338808028938590377875873620224422919599241109418877457964658765256994082976811352567256152579790602238968440096158788543046365347981796148102193105801782021661448401847326248520534979473693579973214755758776372843007888259762550291311450082424750891924475367699211187013631636369536196165310345422340600848085676423389021059109309811135129524546073314718233039422571794476551474602610730063287892337477963990513898792010793742564797267962112218081103544353366373808389666271893682065218799898930770002207605486559900750124811870856154198957086519552600636376007872078899784457351787991316258341140031819321661580408867545339370269028948311887698806143215762523797771993393564243748589245251305229420193129671439842021966789046314715777046455671929113008649209725335266359024338557334966680619173000655691978985919162477316025519770958127519285408111480249834712339149807158376374762015773360234986944092745382871985969829597309317241280870291001312459796714951294544039987691779471289359120191267143336449619567717526067406646082 52546108594457598597876247806256474467517746771225715472358892477773264554193019522654593707427275785945115699399368358421405247633434039510289317664550306345340653449901567705540727201247386879358181956356039207149934631712194599658373457575539012276353814967715018099002135301389829070751937857453976225908801817227405871042577976888742345083441555396465918325346563319764748817409415911079262970376778556227399484877074396041913782485414570003841446453722122970771984762724269865455846981080231566598827995326251365248270915058507830616506604005792304012954022213170010162165599634592676091061217775608611361339058303029077538477071986207087502516062806008685713219190981671094496023203666465934681974038155539054858436551091321216294635043515615944138650285737468917921167423318385883296714101771381354827919300255935627780347064590444896868884709976747448300617995934286197652632125397965042111091345128711441706443554015943906701095575251538206068530894672309839442789133473432209343963047826597929456973926424530448511814136115907644431736737780542053688996486561646729873862490731124251861709500895649851347480108569465324084235118477760894654849823933027490315457138966285463652420395137586352419122411761202504336527657488607048592846550636523402747395319780478620113041903006530546583512529037482718439651172269097240171468595023756846552957029857825425119694605528098255290178745128915279482037870226558462367243037698202166647672472031434211843481288232042433583336687539578988624501200894177312628777463978867921343551958961070380424660497100189143230405905012402696254868016617084375905102494877498795131002157401148920156963287793886486318467108735328857169825336573126458799758749923797275454307845151552375431676609669044226655435313057171572753263660415623876421018999244806108919050068804899071315174737602090600416289659355008363844401037301416523984369832665312994422326722485244958114484619008242205952648142094595220155108049557887787328249409151291738089080335507942033920664718983021192734401632030992180079010796612965106181673968162073770911834448277563492058918745490293981753202632680972180912087143271253792171569189732793152823899188026444023415586815939734163113978404273710138297196061463871430133161129321 85021389682375359084407430127005966989367726672664638307919292257448490679350172099105649969520845478934003054720634814216502822381559862975348498325281143993997664412415991963734723727834555117895267987484844839146587933251895181141463848666169320574259396560983498260429141000657791017725055891636220178325378913598072493986908016854913194910824232980970964264063581441891241411787694164660489802626077474206012466921824779792915226784863017964026679983684755341083607339484424680417469331401504317333217607613738955951649272242673402603853906122466427042119433216379255136339405557452555072224093625826019298656415622166194844508460326340957971151462012831572066219120321229782633985937184852599500085740051830521766818473400528795670985271910513679206255600003816034263812872676141836098741011964793884902847406194097999500853616950938361843678410832857780792013442638257643298394077387048558415130169259403212976198800370502130631610827063265249202618799847322957212785097642950636863077444096313441812519875753172037282593173637708935498435854384689441655594689238703760982378815293275818865742570035480930943386855348412197236186747719581880480500690066736241930351820800932951508047424447330521047268384100010533275118035364480668817269470235764512166272777745137385370035985983341899150768681617273320678619612365256028714514960371738642701059222963627207141356053929945581538699280108388973062011084982317238740086045586461929197963783481516636594373212707410132794523701171215358160697366204522734969378312064544344732573018070380191559790021646262457948638944434974490731419491219695105968390387214976759121516056193159713899528085061848598536548212279682223543633726239398352481823968723696206224310052757038935332426734480915082809634270143691125353900036423495955320803456596594100235308409944930890636836318010958145755659928383956675732099843444632286508167604658706558666075311730496263343904812137913645794670108883641534870885096013559716441258058361017073355439359846499368887345338156021848426380617950154657395036316383923233700959376273554020746546787427370650435293507506067341988189576773717563784073113100851101488810470603084154136358984741395317959626803631513634403337524464977281633645681031588956200567775403 137567498276832957682283677933262441456885473443890353780278184735221755233543191621760243676948121264879118754120003172637908070014993902485637815989831450339338317862317559669275450929081941997253449943840884046296522564964089780799837306241708332850613211528698516359431276302047620088476993749090196404234180730825478365029485993743655539994265788377436882589410144761655990229197110075739752773002856030433411951798899175834829009270277587967868126437406878311855592102208694545873316312481735883932045602939990321199920187301181233220360510128258731055073455429549265298505005192045231163285311401434630659995473925195272382985532312548045473667524818840257779438311302900877130009140851318534182059778207369576625255024491850011965620315426129623344905885741284952184980295994527719395455113736175239730766706450033627281200681541383258712563120809605229092631438572543840951026202785013600526221514388114654682642354386446037332706402314803455271149694519632796655574231116382846207040491922911371269493802177702485794407309753616579930172592165231495344591175800350490856241306024400070727452070931130782290866963917877521320421866197342775135350513999763732245808959767218415160467819584916873466390795861213037611645692853087717410116020872287914913668097525616005483077888989872445734281210654756039118270784634353268885983555395495489254016252821452632261050659458043836828878025237304252544048955208875701107329083284664095845636255512950848437854500939452566377860388710794346785198567098700047598155776043412266076124977031450571984450518746451601179044849447377186986287507836779481873492882092475554252518213594308634056491372855735084855015321015011080713459062812524811281582718647493481678617897908591310764103344149959309465069583200862698107163696839119831741822455841400209154358478749829961952011055613048746171949587738965039576500880746048810492537437324019553088402034215741221458389431146155851747318250978236755025993145571447503769507467512308811444519695354441402808010057139043041160782249981146837474047112996888339882633344435627791658381235704934142494212252996361323741392209454689744696160256372104893660379660335877306960258172767839341375213619571247797517315928738687419930841742495460386333728904724 222588887959208316766691108060268408446253200116554992088197476992670245912893363720865893646468966743813121808840637986854410892396553765460986314315112594333335982274733551633010174656916497115148717931325728885443110498215984961941301154907877653424872608089682014619860417302705411106202049640726416582559559644423550859016394010598568734905090021358407846853473726203547231640984804240400242575628933504639424418720723955627744236055140605931894806421091633652939199441693119226290785643883240201265263210553729277151569459543854635824214416250725158097192888645928520434844410749497786235509405027260649958651889547361467227493992638889003444818986831671829845657431624130659763995078036171133682145518259200098392073497892378807636605587336643302551161485745100986448793168670669555494196125700969124633614112644131626782054298492321620556241531642463009884644881210801484249420280172062158941351683647517867658841154756948167964317229378068704473768494366955753868359328759333483070117936019224813082013677930874523077000483391325515428608446549920937000185865039054251838620121317675889593194640966611713234253819266289718556608613916924655615851204066499974176160780568151366668515244032247394513659179961223570886763728217568386227385491108052427079940875270753390853113874973214344885049892272029359796890396999609297600498515767234131955075475785079839402406713387989418367577305345693225606060040191192939847415128871126025043600038994467485032227713646862699172384089882009704945895933303222782567534088107956610808697995101830763544240540392714059127683793882351677717706999056474587841883269307452313374034269787468347956019457917583683391563533294693304257092789051923163763406687371189687902927950665630246096530078630874392274703853344553823461063733262615787062625912437994309389666888694760852588847373624006891927609516122921715308600724190681097000705041982726111754477345946237484802294243284069497541988359861878289896878241585007220210765525873325884799959055200940771695355395295064889587162867931301494869083429380811573583592720709181812404928023132304792929505760502428665729581786228407308480233369472955995149190130938961461096617157509234659334840423202761431920653453203664701564487423527049342534296680127 360156386236041274448974785993530849903138673560445345868475661727892001146436555342626137323417088008692240562960641159492318962411547667946624130304944044672674300137051111302285625585998439112402167875166612931739633063180074742741138461149585986275485819618380530979291693604753031194679043389816612986793740375249029224045880004342224274899355809735844729442883870965203221870181914316139995348631789535072836370519623131462573245325418193899762932858498511964794791543901813772164101956364976085197308813493719598351489646845035869044574926378983889152266344075477785733349415941543017398794716428695280618647363472556739610479524951437048918486511650512087625095742927031536894004218887489667864205296466569675017328522384228819602225902762772925896067371486385938633773464665197274889651239437144364364380819094165254063254980033704879268804652452068238977276319783345325200446482957075759467573198035632522341483509143394205297023631692872159744918188886588550523933559875716329277158427942136184351507480108577008871407793144942095358781038715152432344777040839404742694861427342075960320646711897742495525120783184167239877030480114267430751201718066263706421969740335369781828983063617164267980049975822436608498409421070656103637501511980340341993608972796369396336191763963086790619331102926785398915161181633962566486482071162729621209091728606532471663457372846033255196455330582997478150108995400068640954744212155790120889236294507418333470082214586315265550244478592804051731094500401922830165689864151368876884822972133281335528691059139165660306728643329728864703994506893254069715376151399927867626552483381776982012510830773318768246578854309704384970551851864447975044989406018683169581545848574221556860633422780833701739773436545416521568227430101735618804448368279394518544025367444590814540858429237055638099559103861886754885101604936729907493242479306745664842879380161978706260683674430225349289306610840115044922871387156454723980272993385634696244478750555382174503365452434107930747945117912448332343130542377699913466226065144809604063309258837238935423718013498789989470973995683097053176393625845060888809569791274838768056875330277074000710054042774009229437969381942352121495329166022509728868025584851 582745274195249591215665894053799258349391873677000337956673138720562247059329919063492030969886054752505362371801279146346729854808101433407610444620056639006010282411784662935295800242914936227550885806492341817182743561396059704682439616057463639700358427708062545599152110907458442300881093030543029569353300019672580083062274014940793009804445831094252576296357597168750453511166718556540237924260723039712260789240347087090317481380558799831657739279590145617733990985594932998454887600248216286462572024047448875503059106388890504868789342629709047249459232721406306168193826691040803634304121455955930577299253019918206837973517590326052363305498482183917470753174551162196657999296923660801546350814725769773409402020276607627238831490099416228447228857231486925082566633335866830383847365138113488997994931738296880845309278526026499825046184094531248861921200994146809449866763129137918408924881683150390000324663900342373261340861070940864218686683253544304392292888635049812347276363961360997433521158039451531948408276536267610787389485265073369344962905878458994533481548659751849913841352864354208759374602450456958433639094031192086367052922132763680598130520903521148497498307649411662493709155783660179385173149288224489864887003088392769073549848067122787189305638936301135504380995198814758712051578633571864086980586929963753164167204391612311065864086234022673564032635928690703756169035591261580802159341026916145932836333501885818502309928233177964722628568474813756676990433705145612733223952259325487693520967235112099072931599531879719434412437212080542421701505949728657557259420707380181000586753169245329968530288690902451638142387604397689227644640916371138808396093389872857484473799239851802957163501411708094014477289889970345029291163364351405867074280717388827933692256139351667129705802861062530027168619984808470193702329127411004493947521289471776597356726108216191062977917714294846831294970701993334819749628741461944191038519258960581044437805756322946198720847729172820335107985843749827212213971758511487049818785853991416468237281969543728353223774001218655200555781911504361656626995318016883958759922213800229153492487786308660044894465976770661358622835146016823059816589549559071402322264978 942901660431290865664640680047330108252530547237445683825148800448454248205766474406118168293303142761197602934761920305839048817219649101354234574925000683678684582548835774237581425828913375339953053681658954748922376624576134447423578077207049625975844247326443076578443804512211473495560136420359642556147040394921609307108154019283017284703801640830097305739241468133953675381348632872680233272892512574785097159759970218552890726705976993731420672138088657582528782529496746770618989556613192371659880837541168473854548753233926373913364269008692936401725576796884091901543242632583821033098837884651211195946616492474946448453042541763101281792010132696005095848917478193733552003515811150469410556111192339448426730542660836446841057392862189154343296228717872863716340098001064105273498604575257853362375750832462134908564258559731379093850836546599487839197520777492134650313246086213677876498079718782912341808173043736578558364492763813023963604872140132854916226448510766141624434791903497181785028638148028540819816069681209706146170523980225801689739946717863737228342976001827810234488064762096704284495385634624198310669574145459517118254640199027387020100261238890930326481371266575930473759131606096787883582570358880593502388515068733111067158820863492183525497402899387926123712098125600157627212760267534430573462658092693374373258932998144782729321459080055928760487966511688181906278030991330221756903553182706266822072628009304151972392142819493230272873047067617808408084934107068442898913816410694364578343939368393434601622658671045379741141080541809407125696012842982727272635572107308048627139236551022311981041119464221219884721241914102074198196492780819113853385499408556027066019647814073359817796924192541795754250726435386866597518593466087024671522648996783346477717623583942481670564232098118168126727723846695225078803934064140911987190000596217441440236106270194897323661592144520196120601581542108379742621015897916668171311512644595277288916556311705120702086300163280751083053103756198159555344514136211400516044850998801020531546540806782663776941787500008644671529777594601414833020621163077772768329713488638997210367818063382660754948508750779890796592217088368944555145755572068800270347849829 1525646934626540456880306574101129366601922420914446021781821939169016495265096393469610199263189197513702965306563199452185778672027750534761845019545057322684694864960620437172877226071828311567503939488151296566105120185972194152106017693264513265676202675034505622177595915419669915796441229450902672125500340414594189390170428034223810294508247471924349882035599065302704128892515351429220471197153235614497357949000317305643208208086535793563078411417678803200262773515091679769073877156861408658122452861588617349357607859622816878782153611638401983651184809518290398069737069323624624667402959340607141773245869512393153286426560132089153645097508614879922566602092029355930210002812734811270956906925918109221836132562937444074079888882961605382790525085949359788798906731336930935657345969713371342360370682570759015753873537085757878918897020641130736701118721771638944100180009215351596285422961401933302342132836944078951819705353834753888182291555393677159308519337145815953971711155864858179218549796187480072768224346217477316933560009245299171034702852596322731761824524661579660148329417626450913043869988085081156744308668176651603485307562331791067618230782142412078823979678915987592967468287389756967268755719647105083367275518157125880140708668930614970714803041835689061628093093324414916339264338901106294660443245022657127537426137389757093795185545314078602324520602440378885662447066582591802559062894209622412754908961511189970474702071052671194995501615542431565085075367812214055632137768670019852271864906603505533674554258202925099175553517753889949547397518792711384829894992814688229627725989720267641949571408155123671522863629518499763425841133697190252661781592798428884550493447053925162774960425604249889768728016325357211626809756830438430538596929714172174411409879723294148800270034959180698153896343831503695272506263191551916481137521885689218037592832378411088386639509858815042951896552244101714562370644639378612362350031903555858333354362068028066900807147892453571418161089599947986767558485894722887565863636852792436999783822776326392130165561501227299872085559506105776489647616481094656727089635702439226363860305849691320799842974727550552155215052234385767614962345121627871672670114807 2468548595057831322544947254148459474854452968151891705606970739617470743470862867875728367556492340274900568241325119758024827489247399636116079594470058006363379447509456211410458651900741686907456993169810251315027496810548328599529595770471562891652046922360948698756039719931881389292001365871262314681647380809515798697278582053506827579212049112754447187774840533436657804273863984301900704470045748189282455108760287524196098934792512787294499083555767460782791556044588426539692866713474601029782333699129785823212156612856743252695517880647094920052910386315174489971280311956208445700501797225258352969192486004868099734879602673852254926889518747575927662451009507549663762006328545961740367463037110448670262863105598280520920946275823794537133821314667232652515246829337995040930844574288629195722746433403221150662437795645489258012747857187730224540316242549131078750493255301565274161921041120716214683941009987815530378069846598566912145896427533810014224745785656582095596145947768355361003578434335508613588040415898687023079730533225524972724442799314186468990167500663407470382817482388547617328365373719705355054978242322111120603562202530818454638331043381303009150461050182563523441227418995853755152338290005985676869664033225858991207867489794107154240300444735076987751805191450015073966477099168640725233905903115350501910685070387901876524507004394134531085008568952067067568725097573922024315966447392328679576981589520494122447094213872164425268374662610049373493160301919282498531051585080714216850208845971898968276176916873970478916694598295699356673093531635694112102530564921996278254865226271289953930612527619344891407584871432601837624037626478009366515167092206984911616513094867998522592757349796791685522978742760744078224328350296525455210119578710955520889127503307236630470834267057298866280624067678198920351310197255692828468327522481906659477828938648605985710301102003335239072498133786210094304991660537295280533661544548151135622270918379733187602893448055734322501214193356146146322903000030934288081908487851593457531330363583109055907107349001235944543615337100707191322668237644172429495419349191078223574228123913073981554791483478330442951807269322754712170108100693696671943017964636 3994195529684371779425253828249588841456375389066337727388792678786487238735959261345338566819681537788603533547888319210210606161275150170877924614015115329048074312470076648583335877972569998474960932657961547881132616996520522751635613463736076157328249597395454320933635635351551305088442595322164986807147721224109988087449010087730637873720296584678797069810439598739361933166379335731121175667198983803779813057760604829839307142879048580857577494973446263983054329559680106308766743870336009687904786560718403172569764472479560131477671492285496903704095195833464888041017381279833070367904756565865494742438355517261253021306162805941408571987027362455850229053101536905593972009141280773011324369963028557892098995668535724595000835158785399919924346400616592441314153560674925976588190544002000538083117115973980166416311332731247136931644877828860961241434964320770022850673264516916870447344002522649517026073846931894482197775200433320800328187982927487173533265122802398049567857103633213540222128230522988686356264762116164340013290542470824143759145651910509200751992025324987130531146900014998530372235361804786511799286910498762724088869764862609522256561825523715087974440729098551116408695706385610722421094009653090760236939551382984871348576158724722124955103486570766049379898284774429990305741438069747019894349148138007629448111207777658970319692549708213133409529171392445953231172164156513826875029341601951092331890551031684092921796284924835620263876278152480938578235669731496554163189353750734069122073752575404501950731175076895578092248116049589306220491050428405496932425557736684507882591215991557595880183935774468562930448500951101601049878760175199619176948685005413796167006541921923685367717775401041575291706759086101289851138107126963885748716508425127695300537383030530779271104302016479564434520411509702615623816460447244744949465044367595877515421771027017074096940611862150282024394686030311808867362305176673892896011576451706993955625280447761254503700595948187893919375282956094133090461485925657175647772124704385894531114186359435448037272910502463244415700896606812967812315854125267086222508984893517449938088429762765302354634458205880995107022321557140479785070445815324543615688079443 6462744124742203101970201082398048316310828357218229432995763418403957982206822129221066934376173878063504101789213438968235433650522549806994004208485173335411453759979532859993794529873311685382417925827771799196160113807068851351165209234207639048980296519756403019689675355283432694380443961193427301488795102033625786784727592141237465452932345697433244257585280132176019737440243320033021880137244731993062268166520892354035406077671561368152076578529213724765845885604268532848459610583810610717687120259848188995781921085336303384173189372932591823757005582148639378012297693236041516068406553791123847711630841522129352756185765479793663498876546110031777891504111044455257734015469826734751691833000139006562361858774134005115921781434609194457058167715283825093829400390012921017519035118290629733805863549377201317078749128376736394944392735016591185781751206869901101601166519818482144609265043643365731710014856919710012575845047031887712474084410461297187758010908458980145164003051401568901225706664858497299944305178014851363093021075696349116483588451224695669742159525988394600913964382403546147700600735524491866854265152820873844692431967393427976894892868905018097124901779281114639849923125381464477573432299659076437106603584608843862556443648518829279195403931305843037131703476224445064272218537238387745128255051253358131358796278165560846844199554102347664494537740344513020799897261730435851190995788994279771908872140552178215368890498797000045532250940762530312071395971650779052694240938831448285972282598547303470226908091950866057008942714345288662893584582064099609034956122658680786137456442262847549810796463393813454338033372383703438673916386653208985692115777212398707783519636789922207960475125197833260814685501846845368075466457423489340958836087136083216189664886337767409741938569073778430715144479187901535975126657702937573417792566849502536993250709675623059807241713865485521096892819816521903172353965713969173429673120999858129577896198827494442106594044003922216420589476312240279413364485956591463729680612555979352062444549942544503944380259503699188959316233707520159134984091769439515717928334084595673512316553675839283909425941684211438058829590879895191955178546509021215558706044079 10456939654426574881395454910647637157767203746284567160384556097190445220942781390566405501195855415852107635337101758178446039811797699977871928822500288664459528072449609508577130407845881683857378858485733347077292730803589374102800822697943715206308546117151857340623310990634983999468886556515592288295942823257735774872176602228968103326652642282112041327395719730915381670606622655764143055804443715796842081224281497183874713220550609949009654073502659988748900215163948639157226354454146620405591906820566592168351685557815863515650860865218088727461100777982104266053315074515874586436311310356989342454069197039390605777491928285735072070863573472487628120557212581360851706024611107507763016202963167564454460854442669729710922616593394594376982514115900417535143553950687846994107225662292630271888980665351181483495060461107983531876037612845452147023186171190671124451839784335399015056609046166015248736088703851604494773620247465208512802272393388784361291276031261378194731860155034782441447834895381485986300569940131015703106311618167173260242734103135204870494151551313381731445111282418544678072836097329278378653552063319636568781301732256037499151454694428733185099342508379665756258618831767075199994526309312167197343543135991828733905019807243551404150507417876609086511601760998875054577959975308134765022604199391365760806907485943219817163892103810560797904066911736958974031069425886949678066025130596230864240762691583862308290686783721835665796127218915011250649631641382275606857430292582182355094356351122707972177639267027761635101190830394877969114075632492505105967381680395365294020047658254405145690980399168282017268481873334805039723795146828408604869064462217812503950526178711845893328192900598874836106392260932946657926604564550453226707552595561210911490202269368298189013042871090257995149664890697604151598943118150182318367257611217098414508672480702640133904182325727635803121287505846833712039716270890643066325684697451565123533521479275255696610294639952110110339964759268334412503825971882248639377452737260365246593558736301979951981653170006162433375017130314333126947299945894706601940437318978113123450404983438604586264060399890092433165851912437035671740248992324345759174394123522 16919683779168777983365655993045685474078032103502796593380319515594403203149603519787472435572029293915611737126315197146681473462320249784865933030985461999870981832429142368570924937719193369239796784313505146273452844610658225453966031932151354255288842636908260360312986345918416693849330517709019589784737925291361561656904194370205568779584987979545285584980999863091401408046865975797164935941688447789904349390802389537910119298222171317161730652031873713514746100768217172005685965037957231123279027080414781164133606643152166899824050238150680551218106360130743644065612767751916102504717864148113190165700038561519958533677693765528735569740119582519406012061323625816109440040080934242514708035963306571016822713216803734826844398028003788834040681831184242628972954340700768011626260780583260005694844214728382800573809589484719926820430347862043332804937378060572226053006304153881159665874089809380980446103560771314507349465294497096225276356803850081549049286939720358339895863206436351342673541560239983286244875118145867066199332693863522376726322554359900540236311077301776332359075664822090825773436832853770245507817216140510413473733699649465476046347563333751282224244287660780396108541957148539677567958608971243634450146720600672596461463455762380683345911349182452123643305237223320118850178512546522510150859250644723892165703764108780664008091657912908462398604652081471994830966687617385529257020919590510636149634832136040523659577282518835711328378159677541562721027613033054659551671231413630641066638949670011442404547358978627692110133544740166632007660214556604715002337803054046080157504100517252695501776862562095471606515245718508478397711533481617590561180239430211211734045815501768101288668025796708096921077762779792026002071021973942567666388682697294127679867155706065598754981440164036425864809369885505687574069775853119891785050178066600951501923190378263193711424039593121324218180325663355615212070236604612239755357818451423253111417678102750138716888683956032326760554235580574691917190457838840103107133349816344598656003286244524455926033429509861622334333364021853286082284037664146117658365653062708796962721537114443870173486341574303871224681503316930863695427538833366974733100167601 27376623433595352864761110903693322631845235849787363753764875612784848424092384910353877936767884709767719372463416955325127513274117949762737861853485750664330509904878751877148055345565075053097175642799238493350745575414247599556766854630095069461597388754060117700936297336553400693318217074224611878080680748549097336529080796599173672106237630261657326912376719594006783078653488631561307991746132163586746430615083886721784832518772781266171384725534533702263646315932165811162912319492103851528870933900981373332485292200968030415474911103368769278679207138112847910118927842267790688941029174505102532619769235600910564311169622051263807640603693055007034132618536207176961146064692041750277724238926474135471283567659473464537767014621398383211023195947084660164116508291388615005733486442875890277583824880079564284068870050592703458696467960707495479828123549251243350504846088489280174722483135975396229182192264622919002123085541962304738078629197238865910340562970981736534627723361471133784121376455621469272545445058276882769305644312030695636969056657495105410730462628615158063804186947240635503846272930183048624161369279460146982255035431905502975197802257762484467323586796040446152367160788915614877562484918283410831793689856592501330366483263005932087496418767059061210154906998222195173428138487854657275173463450036089652972611250052000481171983761723469260302671563818430968862036113504335207323046050186741500390397523719902831950264066240671377124505378592552813370659254415330266409101523995812996160995300792719414582186626006389327211324375135044601121735847049109820969719483449411374177551758771657841192757261730377488874997119053313518121506680310026195430244701648023715684571994213613994616860926395582933027470023712738683928675586524395794373941278258505039170069425074363787768024311254294421014474260583109839173012894003302210152307789283699366010595671080903327615606365320757127339467831510189327251786507495255306081042515902988376644939157378005835327183323908142437100518994848909104421016429721088742484586087076709845249562022546504407907686599516024055709350494336186413029583983558852719598802972040821920413126520553048456437546741464396304390533415753966535435676531157712733907494291123 44296307212764130848126766896739008105923267953290160347145195128379251627241988430141350372339914003683331109589732152471808986736438199547603794884471212664201491737307894245718980283284268422336972427112743639624198420024905825010732886562246423716886231390968378061249283682471817387167547591933631467865418673840458898185984990969379240885822618241202612497357719457098184486700354607358472927687820611376650780005886276259694951816994952583333115377566407415778392416700382983168598284530061082652149960981396154496618898844120197315298961341519449829897313498243591554184540610019706791445747038653215722785469274162430522844847315816792543210343812637526440144679859832993070586104772975992792432274889780706488106280876277199364611412649402172045063877778268902793089462632089383017359747223459150283278669094807947084642679640077423385516898308569538812633060927311815576557852392643161334388357225784777209628295825394233509472550836459400963354986001088947459389849910702094874523586567907485126794918015861452558790320176422749835504977005894218013695379211855005950966773705916934396163262612062726329619709763036818869669186495600657395728769131554968451244149821096235749547831083701226548475702746064154555130443527254654466243836577193173926827946718768312770842330116241513333798212235445515292278317000401179785324322700680813545138315014160781145180075419636377722701276215899902963693002801121720736580066969777252136540032355855943355609841348759507088452883538270094376091686867448384925960772755409443637227634250462730856986733984985017019321457919875211233129396061605714535972057286503457454335055859288910536694534124292472960481512364771821996519218213791643785991424941078234927418617809715382095905528952192291029948547786492530709930746608498338362040329960955799166849936580780429386523005751418330846879283630468615526747082669856422101937357967350300317512518861459166521327030404913878451557648157173544942463856744099867545836400334354411629756356835480755974044072007864174763861073230429483796338206887559928845591719436893054443905565308791028863833720029025885678043683858358039699111868021222998837257168625103530717375848057667492326611033083038700175615214919070897399131104069991079708640594458724 71672930646359483712887877800432330737768503803077524100910070741164100051334373340495228309107798713451050482053149107796936500010556149310341656737956963328532001642186646122867035628849343475434148069911982132974943995439153424567499741192341493178483620145028495762185581019025218080485764666158243345946099422389556234715065787568552912992060248502859939409734439051104967565353843238919780919433952774963397210620970162981479784335767733849504500103100941118042038732632548794331510604022164934181020894882377527829104191045088227730773872444888219108576520636356439464303468452287497480386776213158318255405238509763341087156016937868056350850947505692533474277298396040170031732169465017743070156513816254841959389848535750663902378427270800555256087073725353562957205970923477998023093233666335040560862493974887511368711549690670126844213366269277034292461184476563058927062698481132441509110840361760173438810488090017152511595636378421705701433615198327813369730412881683831409151309929378618910916294471482921831335765234699632604810621317924913650664435869350111361697236334532092459967449559303361833465982693219867493830555775060804377983804563460471426441952078858720216871417879741672700842863534979769432692928445538065298037526433785675257194429981774244858338748883300574543953119233667710465706455488255837060497786150716903198110926264212781626352059181359846983003947779718333932555038914626055943903113019963993636930429879575846187560105415000178465577388916862647189462346121863715192369874279405256633388629551255450271568920610991406346532782295010255834251131908654824356941776769952868828512607618060568377887291386022850449356509483825135514640724894101669981421669642726258643103189803928996090522389878587873962976017810205269393859422195022734156414271239214304206020006005854793174291030062672625267893757891051725365920095563859724312089665756633999683523114532540069848942636770234635578897115988683734269715643251595122851917442850257400006401295992858761809371255331772317200961592225278392900759223317281017588076305523969764289155127331337533271741406628541909733753034352694226112141452004781851556855971597144352637788974578220540783048579824503096480005748334824863934566780601148792442548088749847 115969237859123614561014644697171338843691771756367684448055265869543351678576361770636578681447712717134381591642881260268745486746994348857945451622428175992733493379494540368586015912133611897771120497024725772599142415464059249578232627754587916895369851535996873823434864701497035467653312258091874813811518096230015132901050778537932153877882866744062551907092158508203152052054197846278253847121773386340047990626856439241174736152762686432837615480667348533820431149332931777500108888552226016833170855863773682325723089889208425046072833786407668938473834134600031018488009062307204271832523251811533978190707783925771610000864253684848894061291318330059914421978255873163102318274237993735862588788706035548447496129412027863266989839920202727301150951503622465750295433555567381040452980889794190844141163069695458453354229330747550229730264577846573105094245403874874503620550873775602843499197587544950648438783915411386021068187214881106664788601199416760829120262792385926283674896497286104037711212487344374390126085411122382440315598323819131664359815081205117312664010040449026856130712171366088163085692456256686363499742270661461773712573695015439877686101899954955966419248963442899249318566281043923987823371972792719764281363010978849184022376700542557629181078999542087877751331469113225757984772488657016845822108851397716743249241278373562771532134600996224705705223995618236896248041715747776680483179989741245773470462235431789543169946763759685554030272455132741565554032989312100118330647034814700270616263801718181128555654595976423365854240214885467067380527970260538892913834056456326282847663477349478914581825510315323409838021848596957511159943107893313767413094583804493570521807613644378186427918830780164992924565596697800103790168803521072518454601200170103372869942586635222560814035814090956114773041521520340892667178233716146414027023723984300001035633393999236370269667175148514030454764145857279212179499995694990397753843184611811636157652828339517783415327339636491964822665455707876697097430204840946433668024960862818733060692640128562135575126657567795411796718211052265811253320026004850394113140222247883355164822635888033109659612907541796655620963253895761333697884671139872151188683208571 187642168505483098273902522497603669581460275559445208548965336610707451729910735111131806990555511430585432073696030368065681986757550498168287108360385139321265495021681186491453051540982955373205268566936707905574086410903212674145732368946929410073853471681025369585620445720522253548139076924250118159757617518619571367616116566106485066869943115246922491316826597559308119617408041085198034766555726161303445201247826602222654520488530420282342115583768289651862469881965480571831619492574390951014191750746151210154827280934296652776846706231295888047050354770956470482791477514594701752219299464969852233595946293689112697156881191552905244912238824022593388699276651913333134050443703011478932745302522290390406885977947778527169368267191003282557238025228976028707501404479045379063546214556129231405003657044582969822065779021417677073943630847123607397555429880437933430683249354908044352610037949305124087249272005428538532663823593302812366222216397744574198850675674069757692826206426664722948627506958827296221461850645822015045126219641744045315024250950555228674361246374981119316098161730669449996551675149476553857330298045722266151696378258475911304128053978813676183290666843184571950161429816023693420516300418330785062318889444764524441216806682316802487519827882842662421704450702780936223691227976912853906319895002114619941360167542586344397884193782356071688709171775336570828803080630373832624386293009705239410400892115007635730730052178759864019607661371995388755016379111175815310700521314219956904004893352973631400124575206967829712387022509895722901631659878915363249855610826409195111360271095410047292469116896338173859194531332422093025800668001994983748834764226530752213624997417573374276950308709368038955900583406903069497649590998543806674868872439384407578889948592490015735105065876763581382666799412572066258587273797575870726116689480618299684558747926539306219212303945383149609351880134541013481895143247290113249671286034869211642558948821198279592786582671408809165784257680986269597856653522121964021744330484832583022215819971466095407316533286109705145549752563746491923394772030786701950969111819392235992953797214108573892708192732044893135626711588720625268264665272288664593736771958418 303611406364606712834917167194775008425152047315812892997020602480250803408487096881768385672003224147719813665338911628334427473504544847026232559982813315313998988401175726860039067453116567270976389063961433678173228826367271923723964996701517326969223323217022243409055310422019289015792389182341992973569135614849586500517167344644417220747825981990985043223918756067511271669462238931476288613677499547643493191874683041463829256641293106715179731064435638185682901031298412349331728381126616967847362606609924892480550370823505077822919540017703556985524188905556501501279486576901906024051822716781386211786654077614884307157745445237754138973530142352653303121254907786496236368717941005214795334091228325938854382107359806390436358107111206009858388976732598494457796838034612760103999195445923422249144820114278428275420008352165227303673895424970180502649675284312807934303800228683647196109235536850074735688055920839924553732010808183919031010817597161335027970938466455683976501102923950826986338719446171670611587936056944397485441817965563176979384066031760345987025256415430146172228873902035538159637367605733240220830040316383727925408951953491351181814155878768632149709915806627471199479996097067617408339672391123504826600252455743373625239183382859360116700906882384750299455782171894161981676000465569870752142003853512336684609408820959907169416328383352296394414395770954807725051122346121609304869472999446485183871354350439425273899998942519549573637933827128130320570412100487915429031168349034657174621157154691812528680229802944253078241262724781189969012187849175902142769444882865521394207934572759526207050942406653497269032553181019050536960611109888297516247858810335245784146805031217752463378227540148203948825149003600869601439759802064879193323473639554510951759891179125238295919101690854537497439840934092407151254452031292017140143713204602599685594381320538542589481971120531663639806644280398292694074643242985103647425129219481023278716601649537797376201910011045301130606923136694146294954083726962910455412355445695401755276512611594657542891659943677500557346470774798757734648092056791552345082252041640119348118619849996607002367805639586689791247674842616386601962549943428536744925455166989 491253574870089811108819689692378678006612322875258101545985939090958255138397831992900192662558735578305245739034941996400109460262095345194519668343198454635264483422856913351492118994099522644181657630898141583747315237270484597869697365648446737043076794898047612994675756142541542563931466106592111133326753133469157868133283910750902287617769097237907534540745353626819391286870280016674323380233225708946938393122509643686483777129823526997521846648203927837545370913263892921163347873701007918861554357356076102635377651757801730599766246248999445032574543676512971984070964091496607776271122181751238445382600371303997004314626636790659383885768966375246691820531559699829370419161644016693728079393750616329261268085307584917605726374302209292415627001961574523165298242513658139167545410002052653654148477158861398097485787373582904377617526272093787900205105164750741364987049583591691548719273486155198822937327926268463086395834401486731397233033994905909226821614140525441669327309350615549934966226404998966833049786702766412530568037607307222294408316982315574661386502790411265488327035632704988156189042755209794078160338362105994077105330211967262485942209857582308333000582649812043149641425913091310828855972809454289888919141900507898066455990065176162604220734765227412721160232874675098205367228442482724658461898855626956625969576363546251567300522165708368083123567546291378553854202976495441929255766009151724594272246465447061004630051121279413593245595199123519075586791211663730739731689663254614078626050507665443928804805009912082790628285234676912870643847728091265392625055709274716505568205668169573499520059302991671128227084513441143562761279111883281265082623036865997997771802448791126740328536249516242904725732410503939099089350800608685868192346078938918530649839771615254031024167567618118880106640346664473409841725828867887866260402685220899370153129247077848808694275065914813249158524414939306175969786490275216897096415254350234921275550470736076968988492682454110296391180817680415892810737249084874477156685930527984777492332583060752950208193229787205702896223338545249658042864087578254296051363861032355341072417064105180895075998371631582926874386431337011870227215215717201338662227125407 794864981234696523943736856887153686431764370191070994543006541571209058546884928874668578334561959726025059404373853624734536933766640192220752228326011769949263471824032640211531186447216089915158046694859575261920544063637756521593662362349964064012300118115069856403731066564560831579723855288934104106895888748318744368650451255395319508365595079228892577764664109694330662956332518948150611993910725256590431584997192685150313033771116633712701577712639566023228271944562305270495076254827624886708916963966000995115928022581306808422685786266703002018098732582069473485350450668398513800322944898532624657169254448918881311472372082028413522859299108727899994941786467486325606787879585021908523413484978942268115650192667391308042084481413415302274015978694173017623095080548270899271544605447976075903293297273139826372905795725748131681291421697063968402854780449063549299290849812275338744828509023005273558625383847108387640127845209670650428243851592067244254792552606981125645828412274566376921304945851170637444637722759710810016009855572870399273792383014075920648411759205841411660555909534740526315826410360943034298990378678489722002514282165458613667756365736350940482710498456439514349121422010158928237195645200577794715519394356251271691695173448035522720921641647612163020616015046569260187043228908052595410603902709139293310578985184506158736716850549060664477537963317246186278905325322617051234125239008598209778143600815886486278530050063798963166883529026251649396157203312151646168762858012289271253247207662357256457485034812856335868869547959458102839656035577267167535394500592140237899776140240929099706571001709645168397259637694460194099721890221771578781330481847201243781918607480008879203706763789664446853550881414104808700529110602673565061515819718493429482409730950740492326943269258472656377546481280756880561096177860159905006404115889823499055747510567616391398176246186446476888965168695337598870044429733260320544521544473831258199992152120273874345190402693499411426998103954374562187764820976047784932569041376223386532768845194655410493099853173464706260242694113344007392690956144369806641133615902672474689191036914101787897443804011218272718122061273953398472189765159145738083587682292396 1286118556104786335052556546579532364438376693066329096088992480662167313685282760867568770997120695304330305143408795621134646394028735537415271896669210224584527955246889553563023305441315612559339704325757716845667859300908241119463359727998410801055376913013117469398406822707102374143655321395526215240222641881787902236783735166146221795983364176466800112305409463321150054243202798964824935374143950965537369978119702328836796810900940160710223424360843493860773642857826198191658424128528632805570471321322077097751305674339108539022452032515702447050673276258582445469421414759895121576594067080283863102551854820222878315786998718819072906745068075103146686762318027186154977207041229038602251492878729558597376918277974976225647810855715624594689642980655747540788393323061929038439090015450028729557441774432001224470391583099331036058908947969157756303059885613814290664277899395867030293547782509160472381562711773376850726523679611157381825476885586973153481614166747506567315155721625181926856271172256169604277687509462477222546577893180177621568200699996391495309798261996252677148882945167445514472015453116152828377150717040595716079619612377425876153698575593933248815711081106251557498762847923250239066051618010032084604438536256759169758151163513211685325142376412839575741776247921244358392410457350535320069065801564766249936548561548052410304017372714769032560661530863537564832759528299112493163381005017749934372415847281333547283160101185078376760129124225375168471743994523815376908494547675543885331873258170022700386289839822768418659497833194135015710299883305358432928019556301414954405344345909098673206091061012636839525486722207901337662483169333654860046413104884067241779690409928800005944035300039180689758276613824608747799618461403282250929708165797432348013059570722355746357967436826090775257653121627421353970937903689027792872664518575044398425900639814694240206870521252361290138123693110276905046014216223535537441617959728181493121267702591009951314178895375953521723389284772054978080575558225132659409725727306751371310261177777716163443308046403251911963138917451889257050733820231948060937184979763704830030263453978206968792519802382849855644996447705290410342416980374862939422249909417803 2080983537339482858996293403466686050870141063257400090631999022233376372232167689742237349331682655030355364547782649245869183327795375729636024124995221994533791427070922193774554491888531702474497751020617292107588403364545997641057022090348374865067677031128187325802137889271663205723379176684460319347118530630106646605434186421541541304348959255695692690070073573015480717199535317912975547368054676222127801563116895013987109844672056794422925002073483059884001914802388503462153500383356257692279388285288078092867233696920415347445137818782405449068772008840651918954771865428293635376917011978816487759721109269141759627259370800847486429604367183831046681704104494672480583994920814060510774906363708500865492568470642367533689895337129039896963658959349920558411488403610199937710634620898004805460735071705141050843297378825079167740200369666221724705914666062877839963568749208142369038376291532165745940188095620485238366651524820828032253720737179040397736406719354487692960984133899748303777576118107340241722325232222188032562587748753048020841993083010467415958210021202094088809438854702186040787841863477095862676141095719085438082133894542884489821454941330284189298421579562691071847884269933409167303247263210609879319957930613010441449846336961247208046064018060451738762392262967813618579453686258587915479669704273905543247127546732558569040734223263829697038199494180783751111664853621729544397506244026348144150559448097220033561690151248877339927012653251626817867901197835967023077257405687833156585120465832379956843774874635624754528367381153593118549955918882625600463414056893555192305120486150027772912662062722282007922746359902361531762205059555426438827743586731268485561609017408808885147742063828845136611827495238713556500147572005955815991223985515925777495469301673096238684910706084563431635199602908178234532034081549187697879068634464867897481648150382310631605046767438807767027088861805614503916058645956795857986139504202012751321259854711283825659369298069452933150387388726429540268340379201180444342294768682974757843030022972371573936407899576716618223381611565233264443424776376317867578318595666377304719454490892308756689963606394068128363118508979243808814606745534008677505837591710199 3367102093444269194048849950046218415308517756323729186720991502895543685917450450609806120328803350334685669691191444867003829721824111267051296021664432219118319382317811747337577797329847315033837455346375008953256262665454238760520381818346785666123053944141304795200544711978765579867034498079986534587341172511894548842217921587687763100332323432162492802375483036336630771442738116877800482742198627187665171541236597342823906655572996955133148426434326553744775557660214701653811924511884890497849859606610155190618539371259523886467589851298107896119445285099234364424193280188188756953511079059100350862272964089364637943046369519666559336349435258934193368466422521858635561201962043099113026399242438059462869486748617343759337706192844664491653301940005668099199881726672128976149724636348033535018176846137142275313688961924410203799109317635379481008974551676692130627846648604009399331924074041326218321750807393862089093175204431985414079197622766013551218020886101994260276139855524930230633847290363509846000012741684665255109165641933225642410193783006858911268008283198346765958321799869631555259857316593248691053291812759681154161753506920310365975153516924217438114132660668942629346647117856659406369298881220641963924396466869769611207997500474458893371206394473291314504168510889057976971864143609123235548735505838671793183676108280610979344751595978598729598861025044321315944424381920842037560887249044098078522975295378553580844850252433955716687141777477001986339645192359782399985751953363377041916993724002402657230064714458393173187865214347728134260255802187984033391433613194970146710464832059126446118753123734918847448233082110262869424688228889081298874156691615335727341299427337608891091777363868025826370104109063322304299766033409238066920932151313358125508528872395451985042878142910654206892852724535599588502971985238215490751733153039912295907548790197004871811917288691169057165212554915891408962072862180331395427757463930194244442527557302293776973548193445406454873776673498484518348915937426313103752020495989726129153291200750087737379715945979968530186520529017122521494158596608265928515503575430082134749717944870515725482483408776917984008114956684534219157023725908871616928087501128002 5448085630783752053045143353512904466178658819581129277352990525128920058149618140352043469660486005365041034238974094112873013049619486996687320146659654213652110809388733941112132289218379017508335206366992301060844666030000236401577403908695160531190730975269492121002682601250428785590413674764446853934459703142001195447652108009229304404681282687858185492445556609352111488642273434790776030110253303409792973104353492356811016500245053749556073428507809613628777472462603205115965424895241148190129247891898233283485773068179939233912727670080513345188217293939886283378965145616482392330428091037916838621994073358506397570305740320514045765953802442765240050170527016531116145196882857159623801305606146560328362055219259711293027601529973704388616960899355588657611370130282328913860359257246038340478911917842283326156986340749489371539309687301601205714889217739569970591415397812151768370300365573491964261938903014347327459826729252813446332918359945053948954427605456481953237123989424678534411423408470850087722337973906853287671753390686273663252186866017326327226218304400440854767760654571817596047699180070344553729432908478766592243887401463194855796608458254501627412554240231633701194531387790068573672546144431251843244354397482780052657843837435706101417270412533743053266560773856871595551317829867711151028405210112577336430803655013169548385485819242428426637060519225105067056089235542571581958393493070446222673534743475773614406540403682833056614154430728628804207546390195749423063009359051210198502114189834782614073839589094017927716232595501321252810211721070609633854847670088525339015585318209154219031415186457200855370979442012624401186893288444507737701900278346604212902908444746417776239519427696870962981931604302035860799913605415193882912156136829283903003998174068548223727788848995217638528052327443777823035006066787403188630801787504780193389196940579315503416964056129976824192301416721505912878131508137127253413896968132206995763787412013577602632917491514859388024164062224914058617256316627493548094315264672700886996321223722459311316123845556685148409902140582355785937583372984583796093822171096459439469172435762824482172447015170986112371233465663778027971630471442880294433925092838201 8815187724228021247093993303559122881487176575904858464073982028024463744067068590961849589989289355699726703930165538979876842771443598263738616168324086432770430191706545688449710086548226332542172661713367310014100928695454475162097785727041946197313784919410796916203227313229194365457448172844433388521800875653895744289870029596917067505013606120020678294821039645688742260085011551668576512852451930597458144645590089699634923155818050704689221854942136167373553030122817906769777349407126038687979107498508388474104312439439463120380317521378621241307662579039120647803158425804671149283939170097017189484267037447871035513352109840180605102303237701699433418636949538389751706398844900258736827704848584619791231541967877055052365307722818368880270262839361256756811251856954457890010083893594071875497088763979425601470675302673899575338419004936980686723863769416262101219262046416161167702224439614818182583689710408209416553001933684798860412115982711067500172448491558476213513263844949608765045270698834359933722350715591518542780919032619499305662380649024185238494226587598787620726082454441449151307556496663593244782724721238447746405640908383505221771761975178719065526686900900576330541178505646727980041845025651893807168750864352549663865841337910164994788476807007034367770729284745929572523181973476834386577140715951249129614479763293780527730237415221027156235921544269426383000513617463413619519280742114544301196510038854327195251390656116788773301296208205630790547191582555531823048761312414587240419107913837185271303904303552411100904097809849049387070467523258593667246281283283495485726050150268280665150168310192119702819212524122887270611581517333589036576056969961939940244207872084026667331296791564896789352035713365358165099679638824431949833088288142642028512527046464000208770666991905871845420905051979377411537978052025618679382534940544692489296745730776320375228881344821145881357513971637397321840204370317458648841654432062401240206314969315871379606465684960265842897940735723398576966172254053806651846335760662427016149612424472547048695839791536653678596422669599478307431741969592849724609325746526541574218890380633340207654930423947904096379348422348312247128654197351751911362012593966203 14263273355011773300139136657072027347665835395485987741426972553153383802216686731313893059649775361064767738169139633092749855821063085260425936314983740646422541001095279629561842375766605350050507868080359611074945594725454711563675189635737106728504515894680289037205909914479623151047861847608880242456260578795896939737522137606146371909694888807878863787266596255040853748727284986459352542962705234007251117749943582056445939656063104454245295283449945781002330502585421111885742774302367186878108355390406621757590085507619402354293045191459134586495879872979006931182123571421153541614367261134934028106261110806377433083657850160694650868257040144464673468807476554920867851595727757418360629010454731180119593597187136766345392909252792073268887223738716845414422621987236786803870443150840110215976000681821708927627661643423388946877728692238581892438752987155832071810677444228312936072524805188310146845628613422556744012828662937612306745034342656121449126876097014958166750387834374287299456694107305210021444688689498371830452672423305772968914567515041511565720444891999228475493843109013266747355255676733937798512157629717214338649528309846700077568370433433220692939241141132210031735709893436796553714391170083145650413105261835329716523685175345871096205747219540777421037290058602801168074499803344545537605545926063826466045283418306950076115723234463455582872982063494531450056602853005985201477674235184990523870044782330100809657931059799621829915450638934259594754737972751281246111770671465797438921222103671967885377743892646429028620330405350370639880679244329203301101128953372020824741635468477434884181583496649320558190191966135511671798474805778096774277957248308544153147116316830444443570816219261767752333967317667394025899593244239625832745244424971925931516525220532548432498455840901089483948957379423155234572984118813021868013336728049472682685942671355635878645845400951122705549815388358903234718335878454585902255551400194608235970102381329448982239383176475125230922104797948312635583428570681300199940651025335127903145933648195006360011963637093338827006324810181834093369325342577433520703147917623001013688062816396164689827377439118890208750581888012090275100284668794632205795937686804404 23078461079239794547233129960631150229153011971390846205500954581177847546283755322275742649639064716764494442099305172072626698592506683524164552483307827079192971192801825318011552462314831682592680529793726921089046523420909186725772975362779052925818300814091085953409137227708817516505310020453313630978061454449792684027392167203063439414708494927899542082087635900729596008812296538127929055815157164604709262395533671756080862811881155158934517138392081948375883532708239018655520123709493225566087462888915010231694397947058865474673362712837755827803542452018127578985281997225824690898306431231951217590528148254248468597009960000875255970560277846164106887444426093310619557994572657677097456715303315799910825139155013821397758216975610442149157486578078102171233873844191244693880527044434182091473089445801134529098336946097288522216147697175562579162616756572094173029939490644474103774749244803128329429318323830766160565830596622411167157150325367188949299324588573434380263651679323896064501964806139569955167039405089890373233591455925272274576948164065696804214671479598016096219925563454715898662812173397531043294882350955662085055169218230205299340132408611939758465928042032786362276888399083524533756236195735039457581856126187879380389526513256036090994224026547811788808019343348730740597681776821379924182686642015075595659763181600730603845960649684482739108903607763957833057116470469398820996954977299534825066554821184428004909321715916410603216746847139890385301929555306813069160531983880384679340330017509153156681648196198840129524428215199420026951146767587796968347410236655516310467685618745715549331751806841440261009404490258398942410056323111685810854014218270484093391324188914471110902113010826664541686003031032752190999272883064057782578332713114567960029052266996548641269122832806961329369862431402532646110962170838640547395871668594165171982688402131956253874726745772268586907329359996300556558540248772044551097205832257009476176417350645320361845848861435391073820045533671711212549600824735106851786986785997554919295546072667553408707803428629992505602747479781312400801067312170283245312473664149542587906953197029504897482307863066794305129930310360402522228938866146384117157950280770607 37341734434251567847372266617703177576818847366876833946927927134331231348500442053589635709288840077829262180268444805165376554413569768784590488798291567725615512193897104947573394838081437032643188397874086532163992118146363898289448164998516159654322816708771374990615047142188440667553171868062193873434322033245689623764914304809209811324403383735778405869354232155770449757539581524587281598777862398611960380145477253812526802467944259613179812421842027729378214035293660130541262898011860412444195818279321631989284483454678267828966407904296890414299422324997134510167405568646978232512673692366885245696789259060625901680667810161569906838817317990628780356251902648231487409590300415095458085725758046980030418736342150587743151126228402515418044710316794947585656495831428031497750970195274292307449090127622843456725998589520677469093876389414144471601369743727926244840616934872787039847274049991438476274946937253322904578659259560023473902184668023310398426200685588392547014039513698183363958658913444779976611728094588262203686263879231045243491515679107208369935116371597244571713768672467982646018067850131468841807039980672876423704697528076905376908502842045160451405169183164996394012598292520321087470627365818185107994961388023209096913211688601907187199971246088589209845309401951531908672181580165925461788232568078902061705046599907680679961683884147938321981885671258489283113719323475384022474629212484525348936599603514528814567252775716032433132197486074149980056667528058094315272302655346182118261552121181121042059392088845269158144758620549790666831826011917000269448539190027537135209321087223150433513335303490760819199596456393910614208531128889782585131971466579028246538440505744915554472929230088432294019970348700146216898866127303683615323577138086493891545577487529097073767578673708050813318819810825687880683946289651662415409208396643637854668631073487592132520572146723391292457144748355203791276876127226630453352757232451617712146519731974769344085232037910516304742150331620023848133029395416407051727637811332682822441479720862559768719767065723331332609072289963146494170392654747716766015621581772543601595016013425669587309685302185684513880512198372492797329223534941016322953887967575011 60420195513491362394605396578334327805971859338267680152428881715509078894784197375865378358927904794593756622367749977238003253006076452308755041281599394804808483386698930265584947300396268715235868927667813453253038641567273085015221140361295212580141117522862460944024184369897258184058481888515507504412383487695482307792306472012273250739111878663677947951441868056500045766351878062715210654593019563216669642541010925568607665279825414772114329560234109677754097568001899149196783021721353638010283281168236642220978881401737133303639770617134646242102964777015262089152687565872802923410980123598836463287317407314874370277677770162445162809377595836792887243696328741542106967584873072772555542441061362779941243875497164409140909343204012957567202196894873049756890369675619276191631497239708474398922179573423977985824335535617965991310024086589707050763986500300020417870556425517261143622023294794566805704265261084089065144489856182434641059334993390499347725525274161826927277691193022079428460623719584349931778767499678152576919855335156317518068463843172905174149787851195260667933694235922698544680880023528999885101922331628538508759866746307110676248635250657100209871097225197782756289486691603845621226863561553224565576817514211088477302738201857943278194195272636400998653328745300262649269863356987305385970919210093977657364809781508411283807644533832421061090789279022447116170835793944782843471584189784060174003154424698956819476574491632443036348944333214040365358597083364907384432834639226566797601882138690274198741040285044109287669186835749210693782972779504797237795949426683053445677006705968865982845087110332201080209000946652309556618587452001468395985985684849512339929764694659386665375042240915096835705973379732898407898139010367741397901909851201061851574629754525645715036701506515012142688682242228220526794908460490302962805080065237803026651319475619548386395298892495659879364474108351504347835416375998675004449963064708627188322937082620089705931080899345907378562195865291735060682630220151513903514624597330237741737025793530113177427570494353323838211819769744458894971459966918000011328095245922086189501969210455174484791993165252478819010442508732895319558162401087400440111838248345618 97761929947742930241977663196037505382790706705144514099356808849840310243284639429455014068216744872423018802636194782403379807419646221093345530079890962530423995580596035213158342138477705747879057325541899985417030759713636983304669305359811372234463934231633835934639231512085698851611653756577701377846705520941171931557220776821483062063515262399456353820796100212270495523891459587302492253370881961828630022686488179381134467747769674385294141982076137407132311603295559279738045919733214050454479099447558274210263364856415401132606178521431536656402387102012396599320093134519781155923653815965721708984106666375500271958345580324015069648194913827421667599948231389773594377175173487868013628166819409759971662611839314996884060469432415472985246907211667997342546865507047307689382467434982766706371269701046821442550334125138643460403900476003851522365356244027946662711173360390048183469297344786005281979212198337411969723149115742458114961519661413809746151725959750219474291730706720262792419282633029129908390495594266414780606119214387362761559979522280113544084904222792505239647462908390681190698947873660468726908962312301414932464564274384016053157138092702260661276266408362779150302084984124166708697490927371409673571778902234297574215949890459850465394166518724990208498638147251794557942044937153230847759151778172879719069856381416091963769328417980359383072674950280936399284555117420166865946213402268585522939754028213485634043827267348475469481141819288190345415264611423001699705137294572748915863434259871395240800432373889378445813945456299001360614798791421797507244488616710590580886327793192016416358422413822961899408597403046220170827118580891250981117957151428540586468205200404302219847971471003529129725943728433044624797005137671425013225486989287555743120207242054742788804280180223062956007502053053908407478854750141965378214288461881440881319950549107140518915871039219051171821618856706708139112292503225305457802720297160244900469456814594859050016312937256423683304346196911758908815659615567920955242262408662920564178505514392672946147337560076655170820892059707605389141852621665716777343716827694629791096985223880844072101678467438163332890954707105388116887385936028416763065726215920629 158182125461234292636583059774371833188762566043412194251785690565349389138068836805320392427144649667016775425003944759641383060425722673402100571361490357335232478967294965478743289438873974463114926253209713438670069401280910068319890445721106584814605051754496296878663415881982957035670135645093208882259089008636654239349527248833756312802627141063134301772237968268770541290243337650017702907963901525045299665227499104949742133027595089157408471542310247084886409171297458428934828941454567688464762380615794916431242246258152534436245949138566182898505351879027658688472780700392584079334633939564558172271424073690374642236023350486460232457572509664214554843644560131315701344760046560640569170607880772539912906487336479406024969812636428430552449104106541047099437235182666583881013964674691241105293449274470799428374669660756609451713924562593558573129342744327967080581729785907309327091320639580572087683477459421501034867638971924892756020854654804309093877251233912046401569421899742342220879906352613479840169263093944567357525974549543680279628443365453018718234692073987765907581157144313379735379827897189468612010884643929953441224431020691126729405773343359360871147363633560561906591571675728012329924354488924634239148596416445386051518688092317793743588361791361391207151966892552057207211908294140536233730070988266857376434666162924503247576972951812780444163464229303383515455390911364949709417797592052645696942908452912442453520401758980918505830086152502230710773861694787909084137971933799315713465316398561669439541472658933487733483132292048212054397771570926594745040438043393644026563334499160882399203509524155162979617598349698529727445706032892719377103942836278052926397969895063688885223013711918625965431917108165943032695144148039166411127396840488617594694836996580388503840981686738075098696184295282128934273763210632268341019368527119243907971270024726688905311169931714711051186092965058212486947708879223980462252683361868872088792393897214948755947393836602331061866542062203493969498289835719434858756887005993158305915531307922786123574908054429979009032711829452064284113312588583716788671812073616715980598954434336018556893671632690642151901397215838283436445548337115817203177564464266247 255944055408977222878560722970409338571553272748556708351142499415189699381353476234775406495361394539439794227640139542044762867845368894495446101441381319865656474547891000691901631577351680210993983578751613424087100160994547051624559751080917957049068985986130132813302647394068655887281789401670910260105794529577826170906748025655239374866142403462590655593034068481041036814134797237320195161334783486873929687913987284330876600775364763542702613524386384492018720774593017708672874861187781738919241480063353190641505611114567935568852127659997719554907738981040055287792873834912365235258287755530279881255530740065874914194368930810475302105767423491636222443592791521089295721935220048508582798774700182299884569099175794402909030282068843903537696011318209044441984100689713891570396432109674007811664718975517620870925003785895252912117825038597410095494698988355913743292903146297357510560617984366577369662689657758913004590788087667350870982374316218118840028977193662265875861152606462605013299188985642609748559758688210982138132093763931043041188422887733132262319596296780271147228620052704060926078775770849937338919846956231368373688995295075142782562911436061621532423630041923341056893656659852179038621845416296043912720375318679683625734637982777644208982528310086381415650605039803851765153953231293767081489222766439737095504522544340595211346301369793139827236139179584319914739946028785116575364010994321231219882662481125928087564229026329393975311227971790421056189126306210910783843109228372064629328750658433064680341905032822866179297077748347213415012570362348392252284926660104234607449662292352898815561931937978124879026195752744749898272824613783970358221899987706593512866175095467991105070985182922155095157860836598987657492149285710591424352883829776173337815044238635131292645261866961138054703686348336037341752617960774233719233656989000684789291220573833829424227040970933762223007711821764920626060001382449285920055403659029116989261850711809807805963706773858754745170888259115252878313949451287355813999149414656078870094036822315459069722245614506634179853603889159669673255165210249433566015528901311345771695939658216862628995350100128805484792351922943671553332934273144233966243290680186876 414126180870211515515143782744781171760315838791968902602928189980539088519422313040095798922506044206456569652644084301686145928271091567897546672802871677200888953515185966170644921016225654674108909831961326862757169562275457119944450196802024541863674037740626429691966063276051612922951925046764119142364883538214480410256275274488995687668769544525724957365272036749811578104378134887337898069298685011919229353141486389280618733802959852700111085066696631576905129945890476137607703802642349427384003860679148107072747857372720470005098076798563902453413090860067713976265654535304949314592921695094838053526954813756249556430392281296935534563339933155850777287237351652404997066695266609149151969382580954839797475586512273808934000094705272334090145115424750091541421335872380475451410396784365248916958168249988420299299673446651862363831749601190968668624041732683880823874632932204666837651938623947149457346167117180414039458427059592243627003228971022427933906228427574312277430574506204947234179095338256089588729021782155549495658068313474723320816866253186150980554288370768037054809777197017440661458603668039405950930731600161321814913426315766269511968684779420982403570993675483902963485228335580191368546199905220678151868971735125069677253326075095437952570890101447772622802571932355908972365861525434303315219293754706594471939188707265098458923274321605920271399603408887703430195336940150066284781808586373876916825570934038370541084630785310312481141314124292651766962988000998819867981081162171380342794067056994734119883377691756353912780210040395425469410341933274986997325364703497878634012996791513781214765441462133287858643794102443279625718530646676689735325842823984646439264144990531679990293998894840781060589777944764930690187293433749757835480280670264790932509881235215519796486243553699213153399870643618166276026381171406502060253025516119928697262490598560518329538210902648473274193804786823133113007710261673266382308087020897989078054244609024756561911100610461085807037430321318746847812239287006790672756036420649237176009568130238245193297153668936613188886315718611733957368477798833150354687340974928061752294894092552881185889021732819447636693749138781954989778482610260051169420855144453123 670070236279188738393704505715190510331869111540525610954070689395728787900775789274871205417867438745896363880284223843730908796116460462392992774244252997066545428063076966862546552593577334885102893410712940286844269723270004171569009947882942498912743023726756562505268710670120268810233714448435029402470678067792306581163023300144235062534911947988315612958306105230852614918512932124658093230633468498793159041055473673611495334578324616242813698591083016068923850720483493846280578663830131166303245340742501297714253468487288405573950204458561622008320829841107769264058528370217314549851209450625117934782485553822124470624761212107410836669107356647486999730830143173494292788630486657657734768157281137139682044685688068211843030376774116237627841126742959135983405436562094367021806828894039256728622887225506041170224677232547115275949574639788378764118740721039794567167536078502024348212556608313726827008856774939327044049215147259594497985603287240546773935205621236578153291727112667552247478284323898699337288780470366531633790162077405766362005289140919283242873884667548308202038397249721501587537379438889343289850578556392690188602421610841412294531596215482603935994623717407244020378884995432370407168045321516722064589347053804753302987964057873082161553418411534154038453176972159760737519814756728070396708516521146331567443711251605693670269575691399060098635742588472023344935282968935182860145819580695108136708233415164298628648859811639706456452542096083072823152114307209730651824190390543444972122817715427798800225282724579220092077287788742638884422912295623379249610291363602113241462659083866680030327373400111412737669989855188029523991355260460660093547742811691239952130320085999671095364984077762936155747638781363918347679442719460349259833164500040964270324925473850651089131505420660351208103556991954203617778999132180735779486682505120613486553711172394347753765251873582235497201516608588053739067711644122552302363490679927106067316095320834564367874807384319840552208318580433999726126188738294146486755185835305316046103604952553704263019399283443247368739919607771403630623643009082583920702869876239407523990833750769743814884371832948253121486101061725626543111416883404285135664145824639999 1084196417149400253908848288459971682092184950332494513556998879376267876420198102314967004340373482952352933532928308145417054724387552030290539447047124674267434381578262933033191473609802989559211803242674267149601439285545461291513460144684967040776417061467382992197234773946171881733185639495199148544835561606006786991419298574633230750203681492514040570323578141980664193022891067011995991299932153510712388394196960062892114068381284468942924783657779647645828980666373969983888282466472480593687249201421649404787001325860008875579048281257125524461733920701175483240324182905522263864444131145719955988309440367578374027055153493404346371232447289803337777018067494825899289855325753266806886737539862091979479520272200342020777030471479388571717986242167709227524826772434474842473217225678404505645581055475494461469524350679198977639781324240979347432742782453723675391042169010706691185864495232260876284355023892119741083507642206851838124988832258262974707841434048810890430722301618872499481657379662154788926017802252522081129448230390880489682822155394105434223428173038316345256848174446738942248995983106928749240781310156554012003515847926607681806500280994903586339565617392891146983864113331012561775714245226737400216458318788929822980241290132968520114124308512981926661255748904515669709885676282162373711927810275852926039382899958870792129192850013004980370035345997359726775130619909085249144927628167068985053533804349202669169733490596950018937593856220375724590115102308208550519805271552714825314916884772422532920108660416335574004857497829138064353833254228898366246935656067099991875475655875380461245092814862244700596313783957631309149709885907137349828873585635675886391394465076531351085658982972603717216337416726128849037866736153210107095313445170305755202834806709066170885617748974359564361503427635572369893805380303587237839739708021240542183816201770954866083303462776230708771395321395411186852075421905795818684671577700825095145370339929859320929785907994780926359245748901752746573938428025300937159511222255954553222113173082791949456316552952379860557626235326383137587992120807915734275390210851167469276285727843322625000773393565767700758179850200507581532889899493664336305085000969093122 1754266653428588992302552794175162192424054061873020124511069568771996664320973891589838209758240921698249297413212531989147963520504012492683532221291377671333979809641339899895738026203380324444314696653387207436445709008815465463082470092567909539689160085194139554702503484616292150543419353943634177947306239673799093572582321874777465812738593440502356183281884247211516807941403999136654084530565622009505547435252433736503609402959609085185738482248862663714752831386857463830168861130302611759990494542164150702501254794347297281152998485715687146470054750542283252504382711275739578414295340596345073923091925921400498497679914705511757207901554646450824776748897637999393582643956239924464621505697143229119161564957888410232620060848253504809345827368910668363508232208996569209495024054572443762374203942701000502639749027911746092915730898880767726196861523174763469958209705089208715534077051840574603111363880667059068127556857354111432622974435545503521481776639670047468584014028731540051729135663986053488263306582722888612763238392468286256044827444535024717466302057705864653458886571696460443836533362545818092530631888712946702192118269537449094101031877210386190275560241110298391004242998326444932182882290548254122281047665842734576283229254190841602275677726924516080699708925876675430447405491038890444108636326796999257606826611210476485799462425704404040468671088585831750120065902878020432005073447747764093190242037764366967798382350408589725394046398316458797413267216615418281171629461943258270287039702487850331720333943140914794096934785617880703238256166524521745496545947430702105116938314959247141275420188262356113333983773812819338673701241167598009922421328447367126343524785162531022181023967050366653372085055507492767385546178872670456355146609670346719473159732182916821974749254395019915569606984627526573511584379435767973619226390526361155670369912943349213837068714649812944268596838003999240591143133549918370987035068380752201212686435250693885297660715379100766911454067482186746300064616763595083646266408091259869268216778035345653719335952235823107926366154934154541218615763816998318196093080727406876800276561594092368815657765398715953879665951262233208076001316377068621440749146793733121 2838463070577989246211401082635133874516239012205514638068068448148264540741171993904805214098614404650602230946140840134565018244891564522974071668338502345601414191219602832928929499813183314003526499896061474586047148294360926754595930237252876580465577146661522546899738258562464032276604993438833326492141801279805880564001620449410696562942274933016396753605462389192181000964295066148650075830497775520217935829449393799395723471340893554128663265906642311360581812053231433814057143596775092353677743743585800107288256120207306156732046766972812670931788671243458735744706894181261842278739471742065029911401366288978872524735068198916103579134001936254162553766965132825292872499281993191271508243237005321098641085230088752253397091319732893381063813611078377591033058981431044051968241280250848268019784998176494964109273378590945070555512223121747073629604305628487145349251874099915406719941547072835479395718904559178809211064499560963270747963267803766496189618073718858359014736330350412551210793043648208277189324384975410693892686622859166745727649599929130151689730230744180998715734746143199386085529345652746841771413198869500714195634117464056775907532158205289776615125858503189537988107111657457493958596535774991522497505984631664399263470544323810122389802035437498007360964674781191100157291167321052817820564137072852183646209511169347277928655275717409020838706434583191476895196522787105681150001075914833078243775842113569636968115841005539744331640254536834522003382318923626831691434733495973095601956587260272864640442603557250368101792283447018767592089420753420111743481603497802096992413970834627602520513003124600813930297557770450647823411127074735359751294914083043012734919250239062373266682950022970370588422472233621616423412915025880563450460054840652474675994538891982992860367003369379479931110412263098943405389759739355211458966098547601697854186114714304079920372177426043653039992159399410427443218555455714189671706646081577296358056775180553206227446623373881693270699816383939492874003044788896020805777630347214422490329951118137603175652505188202968483992390260537678806607884624914052471483291578574346076562289437414993816431158964483654637845801462740789608891215870732957745834147762826243 4592729724006578238513953876810296066940293074078534762579138016920261205062145885494643423856855326348851528359353372123712981765395577015657603889629880016935394000860942732824667526016563638447841196549448682022492857303176392217678400329820786120154737231855662101602241743178756182820024347382467504439448040953604974136583942324188162375680868373518752936887346636403697808905699065285304160361063397529723483264701827535899332874300502639314401748155504975075334643440088897644226004727077704113668238285749950809789510914554603437885045252688499817401843421785741988249089605457001420693034812338410103834493292210379371022414982904427860787035556582704987330515862770824686455143238233115736129748934148550217802650187977162486017152167986398190409640979989045954541291190427613261463265334823292030393988940877495466749022406502691163471243122002514799826465828803250615307461579189124122254018598913410082507082785226237877338621356915074703370937703349270017671394713388905827598750359081952602939928707634261765452630967698299306655925015327453001772477044464154869156032288450045652174621317839659829922062708198564934302045087582447416387752387001505870008564035415675966890686099613487928992350109983902426141478826323245644778553650474398975546699798514651724665479762362014088060673600657866530604696658359943261929200463869851441253036122379823763728117701421813061307377523169023227015262425665126113155074523662597171434017879877936604766498191414129469725686652853293319416649535539045112863064195439231365888996289748123196360776546698165162198727069064899470830345587277941857240027550928504202109352285793874743795933191386956927264281331583269986497112368242333369673716242530410139078444035401593395447706917073337023960507527741114383808959093898551019805606664510999194149154271074899814835116257764399395500717396890625516916974139175123185078192489073962853524556027657653293757440892075856597308588997403409668034361689005632560658741714462329497570743210431247091525107338752982460182153883866126239174067661552491104452044038438474291758546729153483256894988457424026076410358545194692220025223648441912370667576372305981222876838851031507362632088924363199608517511752724973997684892532247801579186583294556559364 7431192794584567484725354959445429941456532086284049400647206465068525745803317879399448637955469730999453759305494212258278000010287141538631675557968382362536808192080545565753597025829746952451367696445510156608540005597537318972274330567073662700620314378517184648501980001741220215096629340821300830931589842233410854700585562773598858938623143306535149690492809025595878809869994131433954236191561173049941419094151221335295056345641396193443065014062147286435916455493320331458283148323852796467345982029335750917077767034761909594617092019661312488333632093029200723993796499638263262971774284080475133745894658499358243547150051103343964366169558518959149884282827903649979327642520226307007637992171153871316443735418065914739414243487719291571473454591067423545574350171858657313431506615074140298413773939053990430858295785093636234026755345124261873456070134431737760656713453289039528973960145986245561902801689785416686549685856476037974118900971153036513861012787107764186613486689432365154150721751282470042641955352673710000548611638186619747500126644393285020845762519194226650890356063982859216007592053851311776073458286451948130583386504465562645916096193620965743505811958116677466980457221641359920100075362098237167276059635106063374810170342838461847055281797799512095421638275439057630761987825680996079749764600942703624899245633549171041656772977139222082146083957752214703910458948452231794305075599577430249677793721991506241734614032419669214057326907390127841420031854462671944554498928935204461490952877008396061001219150255415530300519352511918238422435008031361968983509154426306299101766256628502346316446194511557741194578889353720634320523495317068729425011156613453151813363285640655768714389867096307394548929999974736000232372008924431583256066719351651668825148809966882807695483261133778875431827809153724460322363898914478396537158587621564551378742142371957373677813069501900250348581156802820095477580244461346750330448360543906793928799985611800297752553962126864153452853700250065732048070706341387125257821668785688714248876680271620860070640962612229044894350935455229898831831533066826423139059663884555568953401140468922356448520083327683263155357554187714787293783748118534536932417442319385607 12023922518591145723239308836255726008396825160362584163226344481988786950865463764894092061812325057348305287664847584381990981775682718554289279447598262379472202192941488298578264551846310590899208892994958838631032862900713711189952730896894448820775051610372846750104221744919976397916653688203768335371037883187015828837169505097787021314304011680053902627380155661999576618775693196719258396552624570579664902358853048871194389219941898832757466762217652261511251098933409229102509153050930500581014220315085701726867277949316513032502137272349812305735475514814942712242886105095264683664809096418885237580387950709737614569565034007771825153205115101664137214798690674474665782785758459422743767741105302421534246385606043077225431395655705689761883095571056469500115641362286270574894771949897432328807762879931485897607318191596327397497998467126776673282535963234988375964175032478163651227978744899655644409884475011654563888307213391112677489838674502306531532407500496670014212237048514317757090650458916731808094586320372009307204536653514072749272603688857439890001794807644272303064977381822519045929654762049876710375503374034395546971138891467068515924660229036641710396498057730165395972807331625262346241554188421482812054613285580462350356870141353113571720761560161526183482311876096924161366684484040939341678965064812555066152281755928994805384890678561035143453461480921237930925721374117357907460150123240027421111811601869442846501112223833798683783013560243421160836681390001717057417563124374435827379949166756519257361995696953580692499246421576817709252780595309303826223536705354810501211118542422377090112379385898514668458860220936990620817635863559402099098727399143863290891807321042249164162096784169644418509437527715850384041331102822982603061673383862650862974303081041782622530599518898178270932545206044349977239338038089601581615351076695527404903298170029610667435253961577756847657170154206229763511941933466979310989190075006236291499543196043047389277661300879846613635007584116191971222138367893878229709865707224163006007423409425104116965629420036255121304709480649922118857055181508738793806636036190536791830239991500429719080609007690882871672869306912688784978676280366336116119000736875944971 19455115313175713207964663795701155949853357246646633563873550947057312696668781644293540699767794788347759046970341796640268981785969860092920955005566644742009010385022033864331861577676057543350576589440468995239572868498251030162227061463968111521395365988890031398606201746661196613013283029025069166302627725420426683537755067871385880252927154986589052317872964687595455428645687328153212632744185743629606321453004270206489445565583295026200531776279799547947167554426729560560792301374783297048360202344421452643945044984078422627119229292011124794069107607844143436236682604733527946636583380499360371326282609209095858116715085111115789519374673620623287099081518578124645110428278685729751405733276456292850690121024108991964845639143424981333356550162123893045689991534144927888326278564971572627221536818985476328465613976689963631524753812251038546738606097666726136620888485767203180201938890885901206312686164797071250437993069867150651608739645655343045393420287604434200825723737946682911241372210199201850736541673045719307753148291700692496772730333250724910847557326838498953955333445805378261937246815901188486448961660486343677554525395932631161840756422657607453902310015846842862953264553266622266341629550519719979330672920686525725167040484191575418776043357961038278903950151535981792128672309721935421428729665755258691051527389478165847041663655700257225599545438673452634836180322569589701765225722817457670789605323860949088235726256253467897840340467633549002256713244464389001972062053309640288870902043764915318363214847208996222799765774088735947675215603340665795207045859781116800312884799050879436428825580410072409653439110290711255138159358876470828523738555757316442705170606682904932876486651265951813058367527690586384273703111747414186317740103214302531799451891008665430226082780031957146364373015198074437561701937004079978152509664317091956282040312401568041113067031079657098005751311009049858989522177928326061319638435550143085428343181654847687030215263006710767087861284366257703270209074235265354967687376009851720256300089696724977036270382648484166199060416105152017688886714575565216945695700075092360783641131969352075529129091018566134828226861100403572272460028484870653051418179195330578 31479037831766858931203972631956881958250182407009217727099895429046099647534245409187632761580119845696064334635189381022259963561652578647210234453164907121481212577963522162910126129522368134249785482435427833870605731398964741352179792360862560342170417599262878148710423491581173010929936717228837501673665608607442512374924572969172901567231166666642954945253120349595032047421380524872471029296810314209271223811857319077683834785525193858957998538497451809458418653360138789663301454425713797629374422659507154370812322933394935659621366564360937099804583122659086148479568709828792630301392476918245608906670559918833472686280119118887614672579788722287424313880209252599310893214037145152495173474381758714384936506630152069190277034799130671095239645733180362545805632896431198463221050514869004956029299698916962226072932168286291029022752279377815220021142060901714512585063518245366831429917635785556850722570639808725814326300283258263329098578320157649576925827788101104215037960786461000668332022669115933658831127993417728614957684945214765246045334022108164800849352134482771257020310827627897307866901577951065196824465034520739224525664287399699677765416651694249164298808073577008258926071884891884612583183738941202791385286206266988075523910625544688990496804918122564462386262027632905953495356793762874763107694730567813757203809145407160652426554334261292369053006919594690565761901696686947609225375846057485091901416925730391934736838480087266581623354027876970163093394634466106059389625177684076116250851210521434575725210544162576915299012195665553656927996198649969621430582565135927301524003341473256526541204966308587078112299331227701875955795222435872927622465954901179733596977927725154097038583435435596231567805055406436768315034214570396789379413487076953394773754972050448052756682298930135417296918221242424414801039975093681559767860741012619361185338482431178708548320992657413945662921465215279622501464111395305372308828510556379376927886377697895076307876563886557380722868868482449674492347442129143584677553083234014726263723499121829094001899802684739287503769896755074136545941896084304010752331736265629152613881123469781794609738098709449006501096168013092357251136308851206769170418916071275549 50934153144942572139168636427658037908103539653655851290973446376103412344203027053481173461347914634043823381605531177662528945347622438740131189458731551863490222962985556027241987707198425677600362071875896829110178599897215771514406853824830671863565783588152909547316625238242369623943219746253906667976293334027869195912679640840558781820158321653232007263126085037190487476067067853025683662040996057838877545264861589284173280351108488885158530314777251357405586207786868350224093755800497094677734625003928607014757367917473358286740595856372061893873690730503229584716251314562320576937975857417605980232953169127929330802995204230003404191954462342910711412961727830723956003642315830882246579207658215007235626627654261061155122673942555652428596195895304255591495624430576126351547329079840577583250836517902438554538546144976254660547506091628853766759748158568440649205952004012570011631856526671458057035256804605797064764293353125413980707317965812992622319248075705538415863684524407683579573394879315135509567669666463447922710833236915457742818064355358889711696909461321270210975644273433275569804148393852253683273426695007082902080189683332330839606173074351856618201118089423851121879336438158506878924813289460922770715959126953513800690951109736264409272848276083602741290212179168887745624029103484810184536424396323072448255336534885326499468217989961549594652552358268143200598082019256537310990601568874942762691022249591341022972564736340734479463694495510519165350107878930495061361687230993716405121753254286349894088425391371573138098777969754289604603211801990635416637628424917044101836888140524135962970030546718659487765738441518413131093954581312343756146204510658496176302148534408059029915070086701548044626172583097023152588737326317810975697153590291255926573206863059113482982765078962092563661291236440498852362741912097761537920370405329711317467378794832746749661388023737071043668672776224329481490986289323631433628466946106522462356229559352742763338091826893268147810730152848707377762556516364408939645240459243866446520023588818554071038170185333223453702830312860226154234828610659869227698027436340721513397522255439133870138867189728015141329323029113495929523596337336077422221837095266606127 82413190976709431070372609059614919866353722060665069018073341805149511991737272462668806222928034479739887716240720558684788908909275017387341423911896458984971435540949078190152113836720793811850147554311324662980784331296180512866586646185693232205736201187415787696027048729823542634873156463482744169649958942635311708287604213809731683387389488319874962208379205386785519523488448377898154691337806372048148769076718908361857115136633682744116528853274703166864004861147007139887395210226210892307109047663435761385569690850868293946361962420732998993678273853162315733195820024391113207239368334335851589139623729046762803489275323348891018864534251065198135726841937083323266896856352976034741752682039973721620563134284413130345399708741686323523835841628484618137301257327007324814768379594709582539280136216819400780611478313262545689570258371006668986780890219470155161791015522257936843061774162457014907757827444414522879090593636383677309805896285970642199245075863806642630901645310868684247905417548431069168398797659881176537668518182130222988863398377467054512546261595804041467995955101061172877671049971803318880097891729527822126605853970732030517371589726046105782499926163000859380805408323050391491507997028402125562101245333220501876214861735280953399769653194206167203676474206801793699119385897247684947644119126890886205459145680292487151894772324222841963705559277862833766359983715943484920215977414932427854592439175321732957709403216428001061087048523387489328443502513396601120751312408677792521372604464807784469813635935534150053397790165419843261531208000640605038068210990052971403360891481997392489511235513027246565878037772746115007049749803748216683768670465559675909899126462133213126953653522137144276193977638503459920903771540888207765076567077368209321346961835109561535739447377892227980958209457682923267163781887191443097688231146342330678652717277263925458209709016394484989331594241439609103992450400718936805937295456662901839284115937050637839645968390779825528533599021331157052254903958493552524322793542477881172783747087940383165040069988017962741206600209615300290780770506744173238450359172606350666011403378908915664748605288437464147830419197126588286774732646187284191392256011337881676 133347344121652003209541245487272957774457261714320920309046788181252924335940299516149979684275949113783711097846251736347317854256897456127472613370628010848461658503934634217394101543919219489450509626187221492090962931193396284380993500010523904069301984775568697243343673968065912258816376209736650837626252276663180904200283854650290465207547809973106969471505290423976006999555516230923838353378802429887026314341580497646030395487742171629275059168051954524269591068933875490111488966026707986984843672667364368400327058768341652233102558277105060887551964583665545317912071338953433784177344191753457569372576898174692134292270527578894423056488713408108847139803664914047222900498668806916988331889698188728856189761938674191500522382684241975952432037523788873728796881757583451166315708674550160122530972734721839335150024458238800350117764462635522753540638378038595810996967526270506854693630689128472964793084249020319943854886989509091290513214251783634821564323939512181046765329835276367827478812427746204677966467326344624460379351419045680731681462732825944224243171057125311678971599374494448447475198365655572563371318424534905028686043654064361356977762800397962400701044252424710502684744761208898370432810317863048332817204460174015676905812845017217809042501470289769944966686385970681444743415000732495132180543523213958653714482215177813651362990314184391558358111636130976966958065735200022231206578983807370617283461424913073980681967952768735540550743018898008493793610392327096182112999639671508926494357719094134363902061326905723191496568135174132866134419802631240454705839414970015505197779622521528452481266059745906053643776214264528138143704385060560439914874976218172086201274996541272156868723608838692320820150221600483073492508867206018740773720667659465247920168698168675018722212456854320544619500694123422119526523799289204635608601551672041996120096072096672207871097040131556033000267017663938585483436690042568239565762402769424301640345496403380602984060217673093676344329174179864430017460474857961463968034001721747619303770676758937236078240173351186194909430522475526445015599117404042466148386608947072179408925634348049534887472478165479289159742226240084216298328983523361613614093106604487803 215760535098361434279913854546887877640810983774985989327120129986402436327677571978818785907203983593523598814086972295032106763166172473514814037282524469833433094044883712407546215380640013301300657180498546155071747262489576797247580146196217136275038185962984484939370722697889454893689532673219395007276211219298492612487888068460022148594937298292981931679884495810761526523043964608821993044716608801935175083418299406007887510624375854373391588021326657691133595930080882629998884176252918879291952720330800129785896749619209946179464520697838059881230238436827861051107891363344546991416712526089309158512200627221454937781545850927785441921022964473306982866645601997370489797355021782951730084571738162450476752896223087321845922091425928299476267879152273491866098139084590775981084088269259742661811108951541240115761502771501346039688022833642191740321528597508750972787983048528443697755404851585487872550911693434842822945480625892768600319110537754277020809399803318823677666975146145052075384229976177273846365264986225800998047869601175903720544861110292998736789432652929353146967554475555621325146248337458891443469210154062727155291897624796391874349352526444068183200970415425569883490153084259289861940807346265173894918449793394517553120674580298171208812154664495937148643160592772475143862800897980180079824662650104844859173627895470300803257762638407233522063670913993810733318049451143507151422556398739798471875900600234806938391371169196736601637791542285497822237112905723697302864312048349301447866962183901918833715697262439873244894358300593976127665627803271845492774050405022986908558671104518920941992501572773152619521813987010643145193454188808777123683545441777847996100401458674485283822377130975836597014127860103942994396280408094226505850287745027674569267130533278236554461659834746548525577710151806345386690305686480647733296832698014372674772813349360597666080806056526041022331861259103547689475887090761505045503057859432326140924461433454018442630028608452919204877928195511021482272364433351513988290827544199628792087517764699320401118310161369148936116030732090826735796369624148215704598745781553422845420329013256965199636077766602943436990161423366672503073061629710645805006349117942369479 349107879220013437489455100034160835415268245489306909636166918167655360663617871494968765591479932707307309911933224031379424617423069929642286650653152480681894752548818346624940316924559232790751166806685767647162710193682973081628573646206741040344340170738553182182714396665955367152505908882956045844902463495961673516688171923110312613802485108266088901151389786234737533522599480839745831398095411231822201397759879903653917906112118026002666647189378612215403186999014758120110373142279626866276796392998164498186223808387551598412567078974943120768782203020493406369019962702297980775594056717842766727884777525396147072073816378506679864977511677881415830006449266911417712697853690589868718416461436351179332942658161761513346444474110170275428699916676062365594895020842174227147399796943809902784342081686263079450911527229740146389805787296277714493862166975547346783784950574798950552449035540713960837343995942455162766800367615401859890832324789537911842373723742831004724432304981421419902863042403923478524331732312570425458427221020221584452226323843118942961032603710054664825939153850050069772621446703114464006840528578597632183977941278860753231327115326842030583902014667850280386174897845468188232373617664128222227735654253568533230026487425315389017854656134785707093609846978743156588606215898712675212005206173318803512888110110648114454620752952591625080421782550124787700276115186343529382629135382547169089159362025147880919073339121965472142188534561183506316030723298050793484977311688020810374361319902996053197617758589345596436390926435768108993800047605903085947479889819993002413756450727040449394473767632519058673165590201275171283337158573869337563598420417996020082301676455215757440691100739814528917834278081704426067888789275300245246624008412687139817187299231446911573183872291600869070197210845929767506216829485769852368905434249686414670892909421457269873951903096657597055332128276767486274959323780804073285068820262201750442564806929857399045614088826126012881222257369690885912289824908209475452258861545921376411391288441458257637196550334720335131025461254566353180811968741552258170747132390500495024829254647605014734523550244768422726149903649606756719371390613234007418620442224546857282 564868414318374871769368954581048713056079229264292898963287048154057796991295443473787551498683916300830908726020196326411531380589242403157100687935676950515327846593702059032486532305199246092051823987184313802234457456172549878876153792402958176619378356701537667122085119363844822046195441556175440852178674715260166129176059991570334762397422406559070832831274282045499060045643445448567824442812020033757376481178179309661805416736493880376058235210705269906536782929095640750109257318532545745568749113328964627972120558006761544592031599672781180650012441457321267420127854065642527767010769243932075886396978152617602009855362229434465306898534642354722812873094868908788202495208712372820448501033174513629809695554384848835192366565536098574904967795828335857460993159926765003128483885213069645446153190637804319566673030001241492429493810129919906234183695573056097756572933623327394250204440392299448709894907635890005589745848241294628491151435327292188863183123546149828402099280127566471978247272380100752370696997298796226456475090621397488172771184953411941697822036362984017972906708325605691097767695040573355450309738732660359339269838903657145105676467853286098767102985083275850269665050929727478094314425010393396122654104046963050783147162005613560226666810799281644242253007571515631732469016796692855291829868823423648372061738006118415257878515590998858602485453464118598433594164637487036534051691781286967561035262625382687857464710291162208743826326103469004138267836203774490787841623736370111822228282086897972031333455851785469681285284736362085121465675409174931440253940225015989322315121831559370336466269205292211292687404188285814428530612762678114687281965859773868078402077913890242724513477870790365514848405941808369062285069683394471752474296157714814386454429764725148127645532126347417595774920997736112892907135172250500102202266947700787345665722770817867540032709153183638077663989535871033964435210871565578330571878121634076583489268363311417488244117434578932086100185565201907394562189341560989440549689090121005203478806206157578038314860496089484067141491986657179916608338365700473875345878172053917870249583660861979934159628011371366163140065072973429222444452242944653223626791342489226761 913976293538388309258824054615209548471347474753599808599453966321713157654913314968756317090163849008138218637953420357790955998012312332799387338588829431197222599142520405657426849229758478882802990793870081449397167649855522960504727438609699216963718527440090849304799516029800189198701350439131486697081138211221839645864231914680647376199907514825159733982664068280236593568242926288313655840907431265579577878938059213315723322848611906378724882400083882121939969928110398870219630460812172611845545506327129126158344366394313143004598678647724301418794644477814673789147816767940508542604825961774842614281755678013749081929178607941145171876046320236138642879544135820205915193062402962689166917494610864809142638212546610348538811039646268850333667712504398223055888180768939230275883682156879548230495272324067399017584557230981638819299597426197620728045862548603444540357884198126344802653475933013409547238903578345168356546215856696488381983760116830100705556847288980833126531585108987891881110314784024230895028729611366651914902311641619072624997508796530884658854640073038682798845862175655760870389141743687819457150267311257991523247780182517898337003583180128129351004999751126130655839948775195666326688042674521618350389758300531584013173649430928949244521466934067351335862854550258788321075232695405530503835074996742451884949848116766529712499268543590483682907236014243386133870279823830565916680827163834136650194624650530568776538049413127680886014860664652510454298559501825284272818935424390922196589601989894025228951214441131066117676211172130194115265723015078017387733830045008991736071572558599819730940036837811269965852994389560985711867771336547452250880386277769888160703754369106000165204578610604894432682684023512795130173858958694716999098304570401954203641728996172059700829404417948286665972131843665880399123964658020352471107701197387202016558632192275137413984612249841235132996117812638520239394534652369651615640698383835827026054075293168816533858206260704944967322442934892793306852014249770464892808550636042381614870094647615835675511410830809819198166953241223533097420307107252732046093010562554412895078838308466994668683178256139788889289968722580185941815842856178660642247233567036084043 1478844707856763181028193009196258261527426704017892707562741014475770954646208758442543868588847765308969127363973616684202487378601554735956488026524506381712550445736222464689913381534957724974854814781054395251631625106028072839380881231012657393583096884141628516426884635393645011244896791995306927549259812926482005775040291906250982138597329921384230566813938350325735653613886371736881480283719451299336954360116238522977528739585105786754783117610789152028476752857206039620328887779344718357414294619656093754130464924401074687596630278320505482068807085935135941209275670833583036309615595205706918500678733830631351091784540837375610478774580962590861455752639004728994117688271115335509615418527785378438952333766931459183731177605182367425238635508332734080516881340695704233404367567369949193676648462961871718584257587232223131248793407556117526962229558121659542296930817821453739052857916325312858257133811214235173946292064097991116873135195444122289568739970835130661528630865236554363859357587164124983265725726910162878371377402263016560797768693749942826356676676436022700771752570501261451968156836784261174907460006043918350862517619086175043442680051033414228118107984834401980925504999704923144421002467684915014473043862347494634796320811436542509471188277733348995578115862121774420053544249492098385795664943820166100257011586122884944970377784134589342285392689478361984567464444461317602450732518945121104211229887275913256634002759704289889629841186768121514592566395705599775060660559160761034018817884076791997260284670292916535798961495908492279236731398424252948827987770270024981058386694390159190067406306043103481258540398577846800140398384099225566938162352137543756239105832282996242889718056481395259947531089965321164192458928642089188751572600728116768590096158760897207828474936544295704261747052841401993292031099830270852573309968145087989362224354963093004954017321403024873210660107348509554203829745523935229946212576505469903609543343656480234022102323695283877053422628500094700701414203591331454333358239726163386818348900853773413713826271326899303265308445227880713014028645472953205921438888734608330765328421969328974602842806267511155052430033795553615164260295099123313865874024909525310804 2392821001395151490287017063811467809998774178771492516162194980797484112301122073411300185679011614317107346001927037041993443376613867068755875365113335812909773044878742870347340230764716203857657805574924476701028792755883595799885608669622356610546815411581719365731684151423445200443598142434438414246340951137703845420904523820931629514797237436209390300796602418605972247182129298025195136124626882564916532239054297736293252062433717693133508000010873034150416722785316438490548518240156890969259840125983222880288809290795387830601228956968229783487601730412950614998423487601523544852220421167481761114960489508645100173713719445316755650650627282827000098632183140549200032881333518298198782336022396243248094971979478069532269988644828636275572303220837132303572769521464643463680251249526828741907143735285939117601842144463204770068093004982315147690275420670262986837288702019580083855511392258326267804372714792580342302838279954687605255118955560952390274296818124111494655162450345542255740467901948149214160754456521529530286279713904635633422766202546473711015531316509061383570598432676917212838545978527948994364610273355176342385765399268692941779683634213542357469112984585528111581344948480118810747690510359436632823433620648026218809494460867471458715709744667416346913978716672033208374619482187503916299500018816908552141961434239651474682877052678179825968299925492605370701334724285148168367413346108955240861424511926443825410540809117417570515856047432774025046864955207425059333479494585151956215407486066686022489235884734047601916637707080622473351997121439330966215721600315033972794458266948759009798346342880914751224393392967407785852266155435773019189042738415313644399809586652102243054922635092000154380213773988833959322632787600783905750670905298518722793737887757069267529304340962243990927719184685067873691155064488291205044417669342475191378782987155368142368001933652866108343656225161148074443224280176304881561853274889305730635597418949649050555960529955988822020745071434987494008266217841101919226166790362205768433218995501389249389337682157709122463475398469104246111448952580205937967531899297162743660407260277795969271525984523650943941720002518133801106076137955301974508121258476561394847 3871665709251914671315210073007726071526200882789385223724935995273255066947330831853844054267859379626076473365900653726195930755215421804712363391637842194622323490614965335037253612299673928832512620355978871952660417861911668639266489900635014004129912295723347882158568786817090211688494934429745341795600764064185851195944815727182611653394567357593620867610540768931707900796015669762076616408346333864253486599170536259270780802018823479888291117621662186178893475642522478110877406019501609326674134745639316634419274215196462518197859235288735265556408816348086556207699158435106581161836016373188679615639223339276451265498260282692366129425208245417861554384822145278194150569604633633708397754550181621687047305746409528716001166250011003700810938729169866384089650862160347697084618816896777935583792198247810836186099731695427901316886412538432674652504978791922529134219519841033822908369308583639126061506526006815516249130344052678722128254151005074679843036788959242156183793315582096619599825489112274197426480183431692408657657116167652194220534896296416537372207992945084084342351003178178664806702815312210169272070279399094693248283018354867985222363685246956585587220969419930092506849948185041955168692978044351647296477482995520853605815272304013968186898022400765342492094578793807628428163731679602302095164962637074652398973020362536419653254836812769168253692614970967355268799168746465770818145865054076345072654399202357082044543568821707460145697234200895539639431350913024834394140053745912990234225370143478019749520555026964137715599202989114752588728519863583915043709370585058953852844961338918199865752648924018232482933791545254585992664539534998586127205090552857400638915418935098485944640691573395414327744863954155123515091716242873094502243506026635491383834046517966475357779277506539695189466237526469866983186164318562057617727637487563180741007342118461147322019255055890981554316332509657628647054025700240111508065851394775634245140762606129284578062853651272699074167699935082194709680421432433373559525030088369155251567896355162663103163953484608425728783843696984959125477598053159143888970788031771074425735682247124943874368790791162098994150036313687416270336433054425288373995283386086705651 6264486710647066161602227136819193881524975061560877739887130976070739179248452905265144239946870993943183819367827690768189374131829288873468238756751178007532096535493708205384593843064390132690170425930903348653689210617795264439152098570257370614676727707305067247890252938240535412132093076864183756041941715201889696616849339548114241168191804793803011168407143187537680147978144967787271752532973216429170018838224833995564032864452541173021799117632535220329310198427838916601425924259658500295933974871622539514708083505991850348799088192256965049044010546761037171206122646036630126014056437540670440730599712847921551439211979728009121780075835528244861653017005285827394183450938151931907180090572577864935142277725887598248271154894839639976383241950006998687662420383624991160764870066423606677490935933533749953787941876158632671384979417520747822342780399462185515971508221860613906763880700841965393865879240799395858551968624007366327383373106566027070117333607083353650838955765927638875340293391060423411587234639953221938943936830072287827643301098842890248387739309454145467912949435855095877645248793840159163636680552754271035634048417623560927002047319460498943056333954005458204088194896665160765916383488403788280119911103643547072415309733171485426902607767068181689406073295465840836802783213867106218394664981453983204540934454602187894336131889490948994221992540463572725970133893031613939185559211163031585934078911128800907455084377939125030661553281633669564686296306120449893727619548331064946449632856210164042238756439761011739632236910069737225940725641302914881259430970900092926647303228287677209664098991804932983707327184512662371844930694970771605316247828968171045038725005587200728999563326665395568707958637942989082837724503843657000252914411325154214177571934275035742887083618468783686117185422211537740674341228806853262662145306830038372119790329273829289690021188708757089897972557670805703090278305876544993069919126284081364880738181555778335134023383607261521094912771370069688717946639273535292785691820450574923684786891856551912492501635642317548192259242166089205236926550633365081856502687328933818086142942524920913145894775314813042935870038831821217376412571009727262882116541862648100498 10136152419898980832917437209826919953051175944350262963612066971343994246195783737118988294214730373569260292733728344494385304887044710678180602148389020202154420026108673540421847455364064061522683046286882220606349628479706933078418588470892384618806640003028415130048821725057625623820588011293929097837542479266075547812794155275296852821586372151396632036017683956469388048774160637549348368941319550293423505437395370254834813666471364652910090235254197406508203674070361394712303330279160109622608109617261856149127357721188312866996947427545700314600419363109123727413821804471736707175892453913859120346238936187198002704710240010701487909501043773662723207401827431105588334020542785565615577845122759486622189583472297126964272321144850643677194180679176865071752071245785338857849488883320384613074728131781560789974041607854060572701865830059180496995285378254108045105727741701647729672250009425604519927385766806211374801098968060045049511627257571101749960370396042595807022749081509735494940118880172697609013714823384914347601593946239940021863835995139306785759947302399229552255300439033274542451951609152369332908750832153365728882331435978428912224411004707455528643554923425388296595044844850202721085076466448139927416388586639067926021125005475499395089505789468947031898167874259648465230946945546708520489829944091057856939907474964724313989386726303718162475685155434540081238933061778079710003705076217107931006733310331157989499627946760832490807250515834565104325727657033474728121759602076977936683858226353642061988276994787975877347836113058851978529454161166498796303140341485151880500148189626595409529851640728951216190260976057916957837595234505770191443452919521028445677640424522299214944204018238790983035703501897144206352816220086530094755157917351789705561405980793002218244862895975323381306651659738007607657527393125415320279872944317601552860797671392290437012040443764648071452288890180463331737332331576785104577984977678856999125878944161907619712086237258534220169080471305151883427627060705968666345216850538944078936354788211714575595665589126925973921043085863074164362404148686524225745473475360704892511878624772045857020263566105975141930020075145508633646749004064152551256111825248734806149 16400639130546046994519664346646113834576151005911140703499197947414733425444236642384132534161601367512444112101556035262574679018873999551648840905140198209686516561602381745806441298428454194212853472217785569260038839097502197517570687041149755233483367710333482377939074663298161035952681088158112853879484194467965244429643494823411093989778176945199643204424827144007068196752305605336620121474292766722593524275620204250398846530923905825931889352886732626837513872498200311313729254538818609918542084488884395663835441227180163215796035619802665363644429909870160898619944450508366833189948891454529561076838649035119554143922219738710609689576879301907584860418832716932982517471480937497522757935695337351557331861198184725212543476039690283653577422629183863759414491629410330018614358949743991290565664065315310743761983484012693244086845247579928319338065777716293561077235963562261636436130710267569913793265007605607233353067592067411376895000364137128820077704003125949457861704847437374370280412271233121020600949463338136286545530776312227849507137093982197034147686611853375020168249874888370420097200402992528496545431384907636764516379853601989839226458324167954471699888877430846500683239741515363487001459954851928207536299690282614998436434738646984821992113556537128721304241169725489302033730159413814738884494925545041061480841929566912208325518615794667156697677695898112807209066954809693649189264287380139516940812221459958896954712324699957521468803797468234669012023963153924621849379150408042883133491082563806104227033434548987616980073023128589204470179802469413677562571312385244807147451417914272619193950632533884199897588160570579329682525929476541796759700748489199490716365430109499943943767344904186551743662139840133289190540723930187095008072328676943919738977915068037961131946514444107067423837081949545348331868621932268582942018251147639924980588000666119726702061632473405161350261447851269034827610637453330097647904103962938364006617125717685954846109620865795741263993242675221572145573699979503959130908670989519002621141680068266488088167224769243522113302328029163369599330699319889307601976162689638710598021567296966770166158341420788184865890113977329851023161575073879814138228367111382906647 26536791550445027827437101556473033787627326950261403667111264918758727671640020379503120828376331741081704404835284379756959983905918710229829443053529218411840936587711055286228288753792518255735536518504667789866388467577209130595989275512042139852290007713361897507987896388355786659773269099452041951717026673734040792242437650098707946811364549096596275240442511100476456245526466242885968490415612317016017029713015574505233660197395270478841979588140930033345717546568561706026032584817978719541150194106146251812962798948368476082792983047348365678244849272979284626033766254980103540365841345368388681423077585222317556848632459749412097599077923075570308067820660148038570851492023723063138335780818096838179521444670481852176815797184540927330771603308360728831166562875195668876463847833064375903640392197096871533736025091866753816788711077639108816333351155970401606182963705263909366108380719693174433720650774411818608154166560127456426406627621708230570038074399168545264884453928947109865220531151405818629614664286723050634147124722552167871370973089121503819907633914252604572423550313921644962549152012144897829454182217061002493398711289580418751450869328875410000343443800856234797278284586365566208086536421300068134952688276921682924457559744122484217081619346006075753202409043985137767264677104960523259374324869636098918420749404531636522314905342098385319173362851332652888448000016587773359192969363597247447947545531791116886454340271460790012276054313302799773337751620187399349971138752485020819817349308917448166215310429336963494327909136187441182999633963635912473865711653870396687647599607540868028723802273262835416087849136628496287520121163982311988203153668010227936394005854631799158887971363142977534779365641737277495543356944016717189763230246028733625300383895861040179376809410419430448730488741687552955989396015057683903221891195465241477841385672058410163714102076238053232802550338031732366564942969030115202225889081641795363132496069879593574558195858124329961433073713980373455573200760685472625476125521528463081557496468279981063683832813896169496034345413892237533961734848006413533347449638050343603109900192069012627186421907526763326795910189122838484669910579138032365394340192360117712796 42937430680991074821956765903119147622203477956172544370610462866173461097084257021887253362537933108594148516936840415019534662924792709781478283958669416621527453149313437032034730052220972449948389990722453359126427306674711328113559962553191895085773375423695379885926971051653947695725950187610154805596510868202006036672081144922119040801142726041795918444867338244483524442278771848222588611889905083738610553988635778755632506728319176304773868941027662660183231419066762017339761839356797329459692278595030647476798240175548639298589018667151031041889279182849445524653710705488470373555790236822918242499916234257437110992554679488122707288654802377477892928239492864971553368963504660560661093716513434189736853305868666577389359273224231210984349025937544592590581054504605998895078206782808367194206056262412182277498008575879447060875556325219037135671416933686695167260199668826171002544511429960744347513915782017425841507234152194867803301627985845359390115778402294494722746158776384484235500943422638939650215613750061186920692655498864395720878110183103700854055320526105979592591800188810015382646352415137426325999613601968639257915091143182408590677327653043364472043332678287081297961524327880929695087996376151996342488987967204297922893994482769469039073732902543204474506650213710627069298407264374337998258819795181139979901591334098548730640423957893052475871040547230765695657066971397467008382233650977386964888357753251075783409052596160747533744858110771034442349775583341323971820517902893063702950840391481254270442343863885951111307982159316030387469813766105326151428282966255641494795051025455140647917752905796719615985437297199075617202647093458853784962854416499427427110371284741299102831738708047164086523027781577410784733897667946904284771302574705677545039361810929078140508755924863537516154325823637098304321264636989952486163909446612881402821973672724529890416163708711458394152811785883001401392553606483445299873793185604733727139113195597279529404305478990125702697066956655595027718774460664976584607034192517982084178638148348247551772000038665413018147647741921400903561065547326302840949425800739982313707921759365979397352580248947551511661800303100168335693072154211912179532568559471500619443 69474222231436102649393867459592181409830804906433948037721727784932188768724277401390374190914264849675852921772124794776494646830711420011307727012198635033368389737024492318263018806013490705683926509227121148992815774251920458709549238065234034938063383137057277393914867440009734355499219287062196757313537541936046828914518795020826987612507275138392193685309849344959980687805238091108557102305517400754627583701651353260866166925714446783615848529168592693528948965635323723365794424174776049000842472701176899289761039123917115381382001714499396720134128455828730150687476960468573913921631582191306923922993819479754667841187139237534804887732725453048200996060153013010124220455528383623799429497331531027916374750539148429566175070408772138315120629245905321421747617379801667771542054615872743097846448459509053811234033667746200877664267402858145952004768089657096773443163374090080368652892149653918781234566556429244449661400712322324229708255607553589960153852801463039987630612705331594100721474574044758279830278036784237554839780221416563592249083272225204673962954440358584165015350502731660345195504427282324155453795819029641751313802432762827342128196981918774472386776479143316095239808914246495903174532797452064477441676244125980847351554226891953256155352248549280227709059257695764836563084369334861257633144664817238898322340738630185252955329299991437795044403398563418584105066987985240367575203014574634412835903285042192669863392867621537546020912424073834215687527203528723321791656655378084522768189700398702436657654293222914605635891295503471570469447729741238625293994620126038182442650632996008676641555179059555032073286433827571904722768257441165773166008084509655363504377139373098261719710071190141621302393423314688280277254611963621474534532820734411170339745706790118319885565335282967964884814565324651260310660652047636389385800642078122880663359344782940054130265784949511626955362123914733767957496575513560502099682267246529090271609265476873103962501337114455664130140670635968483291975221350449210083159714046445165736134616628228615455832852561582514181993155813638437522800395332716374296875438790325916817821951434992024539002156474314838457710492223006820362982733349944544926908751831618332239 112411652912427177471350633362711329032034282862606492408332190651105649865808534423277627553452197958270001438708965209796029309755504129792786010970868051654895842886337929350297748858234463155632316499949574508119243080926631786823109200618425930023836758560752657279841838491663682051225169474672351562910048410138052865586599939942946028413650001180188112130177187589443505130084009939331145714195422484493238137690287132016498673654033623088389717470196255353712180384702085740705556263531573378460534751296207546766559279299465754679971020381650427762023407638678175675341187665957044287477421819014225166422910053737191778833741818725657512176387527830526093924299645877981677589419033044184460523213844965217653228056407815006955534343633003349299469655183449914012328671884407666666620261398681110292052504721921236088732042243625647938539823728077183087676185023343791940703363042916251371197403579614663128748482338446670291168634864517192033009883593398949350269631203757534710376771481716078336222417996683697930045891786845424475532435720280959313127193455328905528018274966464563757607150691541675727841856842419750481453409420998281009228893575945235932805524634962138944430109157430397393201333242127425598262529173604060819930664211330278770245548709661422295229085151092484702215709471406391905861491633709199255891964459998378878223932072728733983595753257884490270915443945794184279762133959382707375957436665552021377724261038293268453272445463782285079765770534844868658037302786870047293612174558271148225719030091879956707099998157108865716943873454819501957939261495846564776722277586381679677237701658451149324559308084856274648058723731026647521925415350900019558128862501009082790614748424114397364551448779237305707825421204892099065011152279910525759305835395440088715379107517719196460394321260146505481039140388961749564631925289037588875549710088691004283485333017507469944546429493660970021108173909797735169350050181997005801973475452851262817410722461074152633366806816104581366827207627291563511010749682015425794690193906564427249914772764976476167227832891226995532329640897735039341083865942659019215246301239530308230525743710800971421891582405421866350119510795323175156056054887561856724459477311303118951682 181885875143863280120744500822303510441865087769040440446053918436037838634532811824668001744366462807945854360481090004572523956586215549804093737983066686688264232623362421668560767664247953861316243009176695657112058855178552245532658438683659964961900141697809934673756705931673416406724388761734548320223585952074099694501118734963773016026157276318580305815487036934403485817889248030439702816500939885247865721391938485277364840579748069872005565999364848047241129350337409464071350687706349427461377223997384446056320318423382870061353022096149824482157536094506905826028664626425618201399053401205532090345903873216946446674928957963192317064120253283574294920359798890991801809874561427808259952711176496245569602806946963436521709414041775487614590284429355235434076289264209334438162316014553853389898953181430289899966075911371848816204091130935329039680953113000888714146526417006331739850295729268581909983048894875914740830035576839516262718139200952539310423484005220574698007384187047672436943892570728456209876169823629662030372215941697522905376276727554110201981229406823147922622501194273336073037361269702074636907205240027922760542696008708063274933721616880913416816885636573713488441142156373921501437061971056125297372340455456259617597102936553375551384437399641764929924768729102156742424576003044060513525109124815617776546272811358919236551082557875928065959847344357602863867200947367947743532639680126655790560164323335461123135838331403822625786682958918702873724829990398770615403831213649232748487219792278659143757652450331780322579764750322973528408709225587803402016272206507717859680352291447158001200863263915829680132010164854219426648183608341185331294870585518738154119125563487495626271158850427447329127814628206787345288406891874147233840368216174499885718853224509314780279886595429473445923954954286400824942585941085225264935510730769127164148692362290409998676695278610481648063536033712468937307546757510566304073157720097791907682331726551025737329308153219037030957348297927531994302724903365875004773353620610872415650907381604704782683665743788578046511634053548677778606666337991735589543176678320634147343565662235963446430584561896181188577221287546181976419037620911801269386386063134737283921 294297528056290457592095134185014839473899370631646932854386109087143488500341346247945629297818660766215855799190055214368553266341719679596879748953934738343160075509700351018858516522482417016948559509126270165231301936105184032355767639302085894985736900258562591953598544423337098457949558236406899883133634362212152560087718674906719044439807277498768417945664224523846990947973257969770848530696362369741103859082225617293863514233781692960395283469561103400953309735039495204776906951237922805921911975293591992822879597722848624741324042477800252244180943733185081501369852292382662488876475220219757256768813926954138225508670776688849829240507781114100388844659444768973479399293594471992720475925021461463222830863354778443477243757674778836914059939612805149446404961148617001104782577413234963681951457903351525988698118154997496754743914859012512127357138136344680654849889459922583111047699308883245038731531233322585031998670441356708295728022794351488660693115208978109408384155668763750773166310567412154139922061610475086505904651661978482218503470182883015729999504373287711680229651885815011800879218112121825118360614661026203769771589584653299207739246251843052361246994794004110881642475398501347099699591144660186117303004666786538387842651646214797846613522550734249632140478200508548648286067636753259769417073584813996654770204884087653220146835815760418336875291290151787143629334906750655119490076345678677168284425361628729576408283795186107705552453493763571531762132777268817909016005771920380974206249884158615850857650607440646039523638205142475486347970721434368178738549792889397536918053949898307325760171348772104328190733895880866948573598959241204889423733086527820944733873987601892990822607629664753036953235833098886410299559171784672993146203611614588601097960742228511240674207855575978926963095343248150389574511230122814140485220819460131447634025379797879943223124772271451669171709943510204106657596939507572106046633172949054725093054187625178370696114969323618397784555925219095505313474585381300799463547527175299665565680146581180949911498635015573578841274951283717119690532280650754804789477917850942377869309373036934868322166967318047538696732082869357132475092508473657993845863374437856235603 476183403200153737712839635007318349915764458400687373300440027523181327134874158072613631042185123574161710159671145218941077222927935229400973486937001425031424308133062772687419284186730370878264802518302965822343360791283736277888426077985745859947637041956372526627355250355010514864673946998141448203357220314286252254588837409870492060465964553817348723761151261458250476765862506000210551347197302254988969580474164102571228354813529762832400849468925951448194439085376904668848257638944272233383289199290976438879199916146231494802677064573950076726338479827691987327398516918808280690275528621425289347114717800171084672183599734652042146304628034397674683765019243659965281209168155899800980428636197957708792433670301741879998953171716554324528650224042160384880481250412826335542944893427788817071850411084781815888664194066369345570948005989947841167038091249345569368996415876928914850897995038151826948714580128198499772828706018196224558446161995304027971116599214198684106391539855811423210110203138140610349798231434104748536276867603676005123879746910437125931980733780110859602852153080088347873916579381823899755267819901054126530314285593361362482672967868723965778063880430577824370083617554875268601136653115716311414675345122242798005439754582768173397997959950376014562065246929610705390710643639797320282942182709629614431316477695446572456697918373636346402835138634509390007496535854118602863022716025805332958844589684964190699544122126589930331339136452682274405486962767667588524419836985569613722693469676437274994615303057772426362103402955465449014756679947022171580754821999397115396598406241345465326961034612687934008322744060735086375221782567582390220718603672046559098852999551089388617093766480092200366081050461305673755587966063658820226986571827789088486816813966737826020954094451005452372887050297534551214517097171208039405420731550229258611782717742088289941899820050881933317235245977222673043965143697018138410119790893046846632775385914176204108025423122542655428741904223146627499616199488747175804236901147786172081216587528185885732595164378804151625352909004832394898297198618642490394332654596171576525212875035272898314752751529214228727273953370415539108894130129385459263232249437572593519524 770480931256444195304934769192333189389663829032334306154826136610324815635215504320559260340003784340377565958861200433309630489269654908997853235890936163374584383642763123706277800709212787895213362027429235987574662727388920310244193717287831754933373942214935118580953794778347613322623505234548348086490854676498404814676556084777211104905771831316117141706815485982097467713835763969981399877893664624730073439556389719865091869047311455792796132938487054849147748820416399873625164590182195039305201174584568431702079513869080119544001107051750328970519423560877068828768369211190943179152003841645046603883531727125222897692270511340891975545135815511775072609678688428938760608461750371793700904561219419172015264533656520323476196929391333161442710163654965534326886211561443336647727470841023780753801868988133341877362312221366842325691920848960353294395229385690250023846305336851497961945694347035071987446111361521084804827376459552932854174184789655516631809714423176793514775695524575173983276513705552764489720293044579835042181519265654487342383217093320141661980238153398571283081804965903359674795797493945724873628434562080330300085875178014661690412214120567018139310875224581935251726092953376615700836244260376497531978349789029336393282406228982971244611482501110264194205725130119254038996711276550580052359256294443611086086682579534225676844754189396764739710429924661177151125870760869257982512792371484010127129015046592920275952405921776038036891589946445845937249095544936406433435842757489994696899719560595890845472953665213072401627041160607924501104650668456539759493371792286512933516460191243772652721205961460038336513477956615953323795381526823595110142336758574380043586873538691281607916374109756953403034286294404560165887525235443493220132775439403677087914774708966337261628302306581431299850145640782701604091608401330853545905952369689390059416743121886169885122944823153384986406955920732877150622740636525710516166424065995901357868440101801382478721538091866273826526460148365723004929674074128476603700448674961471746782267674767066682506663013819725204194183956116112017987730899293245199122132514022518903082184408309833183074918496532276265970685453284896241369222637859117257078112812010449755127 1246664334456597933017774404199651539305428287433021679455266164133506142770089662393172891382188907914539276118532345652250707712197590138398826722827937588406008691775825896393697084895943158773478164545732201809918023518672656588132619795273577614881010984171307645208309045133358128187297452232689796289848074990784657069265393494647703165371736385133465865467966747440347944479698269970191951225090966879719043020030553822436320223860841218625196982407413006297342187905793304542473422229126467272688490373875544870581279430015311614346678171625700405696857903388569056156166886129999223869427532463070335950998249527296307569875870245992934121849763849909449756374697932088904041817629906271594681333197417376880807698203958262203475150101107887485971360387697125919207367461974269672190672364268812597825652280072915157766026506287736187896639926838908194461433320635035819392842721213780412812843689385186898936160691489719584577656082477749157412620346784959544602926313637375477621167235380386597193386716843693374839518524478684583578458386869330492466262964003757267593960971933509430885933958045991707548712376875769624628896254463134456830400160771376024173085181989290983917374755655159759621809710508251884301972897376092808946653694911272134398722160811751144642609442451486278756270972059729959429707354916347900335301439004073225517403160274980798133542672563033111142545568559170567158622406614987860845535508397289343085973604731557110975496528048365968368230726399128120342736058312603994957855679743059608419593189237033165840088256722985498763730444116073373515861330615478711340248193791683628330114866432589237979682240574147972344836222017351039699017164094405985330860940430620939142439873089780670225010140589849153769115336755710233921475491299102313447119347267192765574731588675704163282582396757586883672737195938317252818608705572538892951326683919918648671199460863974459827022764874035318303642201897955550194587884333543848926286214959042747990643826015977586586746961214408929255268364371512350504545873562875652407937349822747643827998855202952952415101827392623876829547092960948506916284929517935735593454787110194095428295059443582731497827670025746504993244638823700435350263352767244576520310362249583043274651 2017145265713042128322709173391984728695092116465355985610092300743830958405305166713732151722192692254916842077393546085560338201467245047396679958718873751780593075418589020099974885605155946668691526573161437797492686246061576898376813512561409369814384926386242763789262839911705741509920957467238144376338929667283061883941949579424914270277508216449583007174782233422445412193534033940173351102984631504449116459586943542301412092908152674417993115345900061146489936726209704416098586819308662311993691548460113302283358943884391733890679278677450734667377326949446124984935255341190167048579536304715382554881781254421530467568140757333826097394899665421224828984376620517842802426091656643388382237758636796052822962737614782526951347030499220647414070551352091453534253673535713008838399835109836378579454149061048499643388818509103030222331847687868547755828550020726069416689026550631910774789383732221970923606802851240669382483458937302090266794531574615061234736028060552271135942930904961771176663230549246139329238817523264418620639906134984979808646181097077409255941210086908002169015763011895067223508174369715349502524689025214787130486035949390685863497396109858002056685630879741694873535803461628500002809141636469306478632044700301470792004567040734115887220924952596542950476697189849213468704066192898480387660695298516836603489842854515023810387426752429875882255998483831744309748277375857118828048300768773353213102619778150031251448933970142006405122316345573966279985153857540401391291522500549603116492908797629056685561210388198571165357485276681298016965981283935251099741565583970141263631326623833010632403446535608010681349699973966993022812545621229580441003277189195319186026746628471951832926514699606107172149623050114794087363016534545806667252122706596442662646363384670500544210699064168314972587341579099954422700313973869746497232636289608038730616203985860629712145709697188703290049157818688427345210624970069559442452639025038649348512266117778969065468499306275203081794824519878073509475547637004129011637798497709115574781122877720019097608490406443602033741276917064618934272660417228980792576919624216614331377243851892564680902588522278781259215324276985331591632575405103693777388475061593493029778 3263809600169640061340483577591636268000520403898377665065358464877337101175394829106905043104381600169456118195925891737811045913664835185795506681546811340186601767194414916493671970501099105442169691118893639607410709764734233486509433307834986984695395910557550408997571885045063869697218409699927940666187004658067718953207343074072617435649244601583048872642748980862793356673232303910365302328075598384168159479617497364737732316768993893043190097753313067443832124632003008958572009048435129584682181922335658172864638373899703348237357450303151140364235230338015181141102141471189390918007068767785718505880030781717838037444011003326760219244663515330674585359074552606746844243721562914983063570956054172933630660941573044730426497131607108133385430939049217372741621135509982681029072199378648976405106429133963657409415324796839218118971774526776742217261870655761888809531747764412323587633073117408869859767494340960253960139541415051247679414878359574605837662341697927748757110166285348368370049947392939514168757342001949002199098293004315472274909145100834676849902182020417433054949721057886774772220551245484974131420943488349243960886196720766710036582578099148985974060386534901454495345513969880384304782039012562115425285739611573605190726727852485260529830367404082821706747669249579172898411421109246380722962134302590062120893003129495821943930099315462987024801567043002311468370683990844979673583809166062696299076224509707142226945462018507974773353042744702086622721212170144396349147202243609211536086098034662222525649467111184069929087929392754671532827311899413962439989759375653769593746193056422248612085687109755983026185921991318032721829709715635565771864217619816258328466619718252622057936655289455260941264959805825028008838507833648120114371469973789208237377952060374663826793095821755198645324537517417207241309019546408639448559320209526687401815664849835089539168474571224021593691359716643977539798509303613408368738853984081397339156092133756555652215460520684132337063188891390424014021421199879781419575148320456759402779978080672971512710317799067478863288369878013125850557589935164716386031706734410709759672303295475296178730258548025286252459963100685766941895928172348270297698837311176536304429 5280954865882682189663192750983620996695612520363733650675450765621168059580699995820637194826574292424372960273319437823371384115132080233192186640265685091967194842613003936593646856106255052110861217692055077404903396010795810384886246820396396354509780836943793172786834724956769611207139367167166085042525934325350780837149292653497531705926752818032631879817531214285238768866766337850538653431060229888617275939204440907039144409677146567461183213099213128590322061358212713374670595867743791896675873470795771475147997317784095082128036728980601875031612557287461306126037396812379557966586605072501101060761812036139368505012151760660586316639563180751899414343451173124589646669813219558371445808714690968986453623679187827257377844162106328780799501490401308826275874809045695689867472034488485354984560578195012157052804143305942248341303622214645289973090420676487958226220774315044234362422456849630840783374297192200923342623000352353337946209409934189667072398369758480019893053097190310139546713177942185653497996159525213420819738199139300452083555326197912086105843392107325435223965484069781841995728725615200323633945632513564031091372232670157395900079974209006988030746017414643149368881317431508884307591180649031421903917784311875075982731294893219376417051292356679364657224366439428386367115487302144861110622829601106898724382845984010845754317526067892862907057565526834055778118961366702098501632109934836049512178844287857173478394395988649981178475359090276052902706366027684797740438724744158814652579006832291279211210677499382641094445414669435969549793293183349213539731324959623910857377519680255259244489133645363993707535621965285025744642255336865146212867494809011577514493366346724573890863169989061368113414582855939822096201524368193926781623592680385650900024315445045164371003794885923513617911879096517161664009333520278385945791956499134726132431868835695719251314184268412724883740517535332404885009134273682967811191493009120046687668358251535524717683959826959335418858013411268497523496968836883910431212946818165874977561100958392990610318808205511080897029646795077744784830250352393697178608626358627324091049547147367860859632847070304067511675287377671098533528503577451964075087312372770029334207 8544764466052322251003676328575257264696132924262111315740809230498505160756094824927542237930955892593829078469245329561182430028796915418987693321812496432153796609807418853087318826607354157553030908810948717012314105775530043871395680128231383339205176747501343581784406610001833480904357776867094025708712938983418499790356635727570149141575997419615680752460280195148032125539998641760903955759135828272785435418821938271776876726446140460504373310852526196034154185990215722333242604916178921481358055393131429648012635691683798430365394179283753015395847787625476487267139538283568948884593673840286819566641842817857206542456162763987346535884226696082573999702525725731336490913534782473354509379670745141920084284620760871987804341293713436914184932429450526199017495944555678370896544233867134331389667007328975814462219468102781466460275396741422032190352291332249847035752522079456557950055529967039710643141791533161177302762541767404585625624288293764272910060711456407768650163263475658507916763125335125167666753501527162423018836492143615924358464471298746762955745574127742868278915205127668616767949276860685297765366576001913275052258429390924105936662552308155974004806403949544603864226831401389268612373219661593537329203523923448681173458022745704636946881659760762186363972035689007559265526908411391241833584963903696960845275849113506667698247625383355849931859132569836367246489645357547078175215919100898745811255068797564315705339858007157955951828401834978139525427578197829194089585926987768026188665104866953501736860144610566711023533344062190641082620605082763175979721084335277680451123712736677507856574820755119976733721543956603058466471965052500711984731712428827835842959986064977195948799825278516629054679542661764850105040032201842046895995062654174859137402267505419828197796890707678712263236416613934368905318353066687025394351276708661413534247533685530808790482658839636746477431877251976382424807643577296376179930346993201444026824450385292080369899420347643467755921202302658921537518390036763691850788095138622634380341079039065962123029126004578559760318016673090870635387840287558413564640333093038033850721850442843157038363105618329353764135250478356865475424431749800234372786149683946565638636 13825719331935004440666869079558878261391745444625844966416259996119673220336794820748179432757530185018202038742564767384553814143928995652179879962078181524120991452420422789680965682713609209663892126503003794417217501786325854256281926948627779693714957584445136754571241334958603092111497144034260110751238873308769280627505928381067680847502750237648312632277811409433270894406764979611442609190196058161402711358026379178816021136123287027965556523951739324624476247348428435707913200783922713378033928863927201123160633009467893512493430908264354890427460344912937793393176935095948506851180278912787920627403654853996575047468314524647932852523789876834473414045976898855926137583348002031725955188385436110906537908299948699245182185455819765694984433919851835025293370753601374060764016268355619686374227585523987971515023611408723714801579018956067322163442712008737805261973296394500792312477986816670551426516088725362100645385542119757923571833698227953939982459081214887788543216360665968647463476303277310821164749661052375843838574691282916376442019797496658849061588966235068303502880689197450458763678002475885621399312208515477306143630662061081501836742526517162962035552421364187753233108148832898152919964400310624959233121308235323757156189317638924013363932952117441551021196402128435945632642395713536102944207793504803859569658695097517513452565151451248712838916698096670423024608606724249176676848029035734795323433913085421489183734253995807937130303760925254192428133944225513991830024651731926840841244111699244780948070822109949352117978758731626610632413898266112389519452409294901591308501232416932767101063954400483970441257165921888084211114220389365858197599207237839413357453352411701769839662995267577997168094125517704672201241556570035973677618655334560510037426582950464992568800685593602225881148295710451530569327686586965411340143233207796139666679402521226528041796843108049471361172394787308787309816777850979343991121840002321490714492808636827605087583380174602803174779215713927419061015358873647602282001041956788509357902179997458952733347934210089640657347663468168615420218090639952110743248959451665357941771397590211017897995952688633421275810537856027964008952935327252198447873462056716594972843 22370483797987326691670545408134135526087878368887956282157069226618178381092889645675721670688486077612031117211810096945736244172725911071167573283890677956274788062227841642768284509320963367216923035313952511429531607561855898127677607076859163032920134331946480336355647944960436573015854920901354136459951812292187780417862564108637829989078747657263993384738091604581303019946763621372346564949331886434188146776848317450592897862569427488469929834804265520658630433338644158041155805700101634859391984257058630771173268701151691942858825087548107905823308132538414280660316473379517455735773952753074740194045497671853781589924477288635279388408016572917047413748502624587262628496882784505080464568056181252826622192920709571232986526749533202609169366349302361224310866698157052431660560502222754017763894592852963785977243079511505181261854415697489354353795003340987652297725818473957350262533516783710262069657880258523277948148083887162509197457986521718212892519792671295557193379624141627155380239428612435988831503162579538266857411183426532300800484268795405612017334540362811171781795894325119075531627279336570919164678784517390581195889091452005607773405078825318936040358825313732357097334980234287421532337619972218496562324832158772438329647340384628650310814611878203737385168437817443504898169304124927344777792757408500820414934544211024181150812776834604562770775830666506790271098252081796254852063948136633541134688981882985804889074112002965893082132162760232331953561522423343185919610578719694867029909216566198282684930966720516063141512102793817251715034503348875565499173493630179271759624945153610274957638775155603947174978709878491142677586185441866570182330919666667249200413338476678965788462820546094626222773668179469522306281588771878020573613717988735369174828850455884820766597576301280938144384712324385899474646039653652436734494509916457553200926936206757336832279501947686217838604272039285169734624421428275720171052186995522934741317259022119685457482800522246270930700418016586340598533748910411294132789137095411143738243259036524914856377060214668200417665680141259486055605930927510524307889292544703391792493248033054174936359058306962775039945788334384829484377367077052432820659611740663160611479 36196203129922331132337414487693013787479623813513801248573329222737851601429684466423901103446016262630233155954374864330290058316654906723347453245968859480395779514648264432449250192034572576880815161816956305846749109348181752383959534025486942726635091916391617090926889279919039665127352064935614247211190685600957061045368492489705510836581497894912306017015903014014573914353528600983789174139527944595590858134874696629408918998692714516435486358756004845283106680687072593749069006484024348237425913120985831894333901710619585455352255995812462796250768477451352074053493408475465962586954231665862660821449152525850356637392791813283212240931806449751520827794479523443188766080230786536806419756441617363733160101220658270478168712205352968304153800269154196249604237451758426492424576770578373704138122178376951757492266690920228896063433434653556676517237715349725457559699114868458142575011503600380813496173968983885378593533626006920432769291684749672152874978873886183345736595984807595802843715731889746809996252823631914110695985874709448677242504066292064461078923506597879475284676583522569534295305281812456540563990993032867887339519753513087109610147605342481898075911246677920110330443129067185574452302020282843455795446140394096195485836658023552663674747563995645288406364839945879450530811699838463447722000550913304679984593239308541694603377928285853275609692528763177213295706858806045431528911977172368336458122894968407294072808365998773830212435923685486524381695466648857177749635230451621707871153328265443063633001788830465415259490861525443862347448401614987955018625902925080863068126177570543042058702729556087917616235875800379226888700405831232428379930126904506662557866690888380735628125815813672623390867793697174194507523145341913994251232373323295879212255433406349813335398261894883164025533008034837430043973726240617848074637743124253692867606338727983864874076345055735689199776666826593957044441199279255064162174026997844425455810067658947290545066180696849074105479633730513759659549107784058896414790179052199653096145439033983867589724994424757841075013343609428101475824021567462635051138251996368749734264645623265192834355010995596196315756326190412793493330302404304631268533073797379755584322 58566686927909657824007959895827149313567502182401757530730398449356029982522574112099622774134502340242264273166184961276026302489380817794515026529859537436670567576876106075217534701355535944097738197130908817276280716910037650511637141102346105759555226248338097427282537224879476238143206985836968383671142497893144841463231056598343340825660245552176299401753994618595876934300292222356135739088859831029779004911723014080001816861262142004905416193560270365941737114025716751790224812184125983096817897378044462665507170411771277398211081083360570702074076609989766354713809881854983418322728184418937401015494650197704138227317269101918491629339823022668568241542982148030451394577113571041886884324497798616559782294141367841711155238954886170913323166618456557473915104149915478924085137272801127721902016771229915543469509770431734077325287850351046030871032718690713109857424933342415492837545020384091075565831849242408656541681709894082941966749671271390365767498666557478902929975608949222958223955160502182798827755986211452377553397058135980978042988335087470073096258046960690647066472477847688609826932561149027459728669777550258468535408844965092717383552684167800834116270071991652467427778109301472995984639640255061952357770972552868633815483998408181313985562175873849025791533277763322955428981003963390792499793308321805500399527783519565875754190705120457838380468359429684003566805110887841686380975925309001877592811876851393098961882478001739723294568086445718856335256989072200363669245809171316574901062544831641346317932755550981478401002964319261114062482904963863520517799396555260134827751122724153317016341504711691864791214585678870369566286591273098998562261046571173911758280029365059701416588636359767249613641461876643716813804734113792014824846091312031248387084283862234634101995838196164102169917720359223329518619765894270284809132253040711246068533274934741201706355847003421907038380938865879126779065620707530784333226213993367360197127326681066976002548981219095345036180051747100100258082856694470190547579316147610796834388698070508782446102054639426041492679023750687587531429952494973159359027544541072141526757893656319367770714069302558971355702114524797622977707669481357064089192685538042916195801 94762890057831988956345374383520163101047125995915558779303727672093881583952258578523523877580518602872497429120559825606316360806035724517862479775828396917066347091524370507666784893390108520978553358947865123123029826258219402895596675127833048486190318164729714518209426504798515903270559050772582630882333183494101902508599549088048851662241743447088605418769897632610450848653820823339924913228387775625369863046597710709410735859954856521340902552316275211224843794712789345539293818668150331334243810499030294559841072122390862853563337079173033498324845087441118428767303290330449380909682416084800061836943802723554494864710060915201703870271629472420089069337461671473640160657344357578693304080939415980292942395362026112189323951160239139217476966887610753723519341601673905416509714043379501426040138949606867300961776461351962973388721285004602707388270434040438567417124048210873635412556523984471889062005818226294035135215335901003374736041356021062518642477540443662248666571593756818761067670892391929608824008809843366488249382932845429655285492401379534534175181553558570122351149061370258144122237842961484000292660770583126355874928598478179826993700289510282732192181318669572577758221238368658570436941660537905408153217112946964829301320656431733977660309739869494314197898117709202405959792703801854240221793859235110180384121022828107570357568633406311113990160888192861216862511969693887117909887902481370214050934771819800393034690844000513553507004010131205380716952455721057541418881039622938282772215873097084409950934544381446893660493825844704976409931306578851475536425299480340997895877300294696359075044234267779782407450461479249596454986997104331426942191173475680574316146720253440437044714452173439873004509255573817911321327879455706009076078464635327127599339717268584447437394100091047266195450728394060759562593492134888132883769996164964938936139613662725066580432192059157596238157605692473083823506819986785848495400240991211785652937394340014266547615161915944419141659685477613859917631964478529086962369495199810449930534137104492650035827049064183882567692367360115689007253974062435794410165796537440891261022539279584560605069080298155167671458440715210416471037971885661695357725759335422671780123 153329576985741646780353334279347312414614628178317316310034126121449911566474832690623146651715020943114761702286744786882342663295416542312377506305687934353736914668400476582884319594745644465076291556078773940399310543168257053407233816230179154245745544413067811945491963729677992141413766036609551014553475681387246743971830605686392192487901988999264904820523892251206327782954113045696060652317247606655148867958320724789412552721216998526246318745876545577166580908738506097329518630852276314431061707877074757225348242534162140251774418162533604200398921697430884783481113172185432799232410600503737462852438452921258633092027330017120195499611452495088657310880443819504091555234457928620580188405437214596852724689503393953900479190115125310130800133506067311197434445751589384340594851316180629147942155720836782844431286231783697050714009135355648738259303152731151677274548981553289128250101544368562964627837667468702691676897045795086316702791027292452884409976207001141151596547202706041719291626052894112407651764796054818865802779990981410633328480736467004607271439600519260769417621539217946753949170404110511460021330548133384824410337443443272544377252973678083566308451390661225045185999347670131566421581300792967360510988085499833463116804654839915291645871915743343339989431395472525361388773707765245032721587167556915680783648806347673446111759338526768952370629247622545220429317080581728804290863827790372091643746648671193491996573322002253276801572096576924237052209444793257905088126848794254857673278417928725756268867299932428372061496790163966090472414211542714996054224696035601132723628423018849676091385738979471647198665047158119966021273588377430425504452220046854486074426749618500138461303088533207122618150717450461628135132613569498023900924555947358375986424001130819081539389938287211368365368448753284089081213258029158417692902249205676185004672888597466268286788039062579503276538544558352210602572440694316632828626454984579145850064721021081242550164143135039764177839737224713960175714821172999277509948811347421246764922835175001432481929103703609924060371391110803276538683926557408953769193341078513032787780432935903928375783149600714139027160555240008039448745641367018759446918444873465587975924 248092467043573635736698708662867475515661754174232875089337853793543793150427091269146670529295539545987259131407304612488659024101452266830239986081516331270803261759924847090551104488135752986054844915026639063522340369426476456302830491358012202731935862577797526463701390234476508044684325087382133645435808864881348646480430154774441044150143732446353510239293789883816778631607933869035985565545635382280518731004918435498823288581171855047587221298192820788391424703451295442868812449520426645765305518376105051785189314656553003105337755241706637698723766784872003212248416462515882180142093016588537524689382255644813127956737390932321899369883081967508746380217905490977731715891802286199273492486376630577145667084865420066089803141275364449348277100393678064920953787353263289757104565359560130573982294670443650145393062693135660024102730420360251445647573586771590244691673029764162763662658068353034853689843485694996726812112381696089691438832383313515403052453747444803400263118796462860480359296945286042016475773605898185354052162923826840288613973137846539141446621154077830891768770600588204898071408247071995460313991318716511180285266041921452371370953263188366298500632709330797622944220586038790136858522961330872768664205198446798292418125311271649269306181655612837654187329513181727767348566411567099272943381026792025861167769829175781016469327971933080066360790135815406437291829050275615922200751730271742305694681420490993885031264166002766830308576106708129617769161900514315446507007888417193140445494291025810166219801844313875265721990616008671066882345518121566471590649995515942130619505723313546035166429973247251429606115508637369562476260585481761852446643393522535060390573469871940575506017540706646995622659973024279539456460493025204032977003020582685503585763718399403528976784038378258634560819177147344848643806750164046550576672245370641123940812502260191334867220231121737099514696150250825294426079260681102481324026695975790931503002115361095509097779305050984183319499422702327820093346785651528364472318306547231696695456972279494082517756152767793806628063758470918965545937900619844748179359137615953924048802972215488488980852229898869306698618995955218455919783613252680454804644204208888259756047 401422044029315282517052042942214787930276382352550191399371979914993704716901923959769817181010560489102020833694049399371001687396868809142617492387204265624540176428325323673435424082881397451131136471105413003921650912594733509710064307588191356977681406990865338409193353964154500186098091123991684659989284546268595390452260760460833236638045721445618415059817682135023106414562046914732046217862882988935667598963239160288235841302388853573833540044069366365558005612189801540198331080372702960196367226253179809010537557190715143357112173404240241899122688482302887995729529634701314979374503617092274987541820708566071761048764720949442094869494534462597403691098349310481823271126260214819853680891813845173998391774368814019990282331390489759479077233899745376118388233104852674097699416675740759721924450391280432989824348924919357074816739555715900183906876739502741921966222011317451891912759612721597818317681153163699418489009427491176008141623410605968287462429954445944551859665999168902199650922998180154424127538401953004219854942914808250921942453874313543748718060754597091661186392139806151652020578651182506920335321866849896004695603485364724915748206236866449864809084099992022668130219933708921703280104262123840129175193283946631755534929966111564560952053571356180994176760908654253128737340119332344305664968194348941541951418635523454462581087310459849018731419383437951657721146130857344726491615558062114397338428069162187377027837488005020107110148203285053854821371345307573351595134737211447998118772708954535922488669144246303637783487406172637157354759729664281467644874691551543263343134146332395711257815712226723076804780555795489528497534173859192277951095613569389546465000219490440713967320629239854118240810690474741167591593106594702056877927576530043879572187719530222610516173976665470002926187625900628937725020008193204968269574494576317308945485390857657603154008270184316602791234694809177505028651701375419114152653150960370077353066836382176751647943448186023947497339159927041780269061606824527641982267117894652943460379807454495514999685256471403730688435149581722242084621827177253701948552478694466956836583405151392417356635379499583445725779551195226495368529254619699214251562649082353847731971 649514511072888918253750751605082263445938136526783066488709833708537497867329015228916487710306100035089279965101354011859660711498321075972857478468720596895343438188250170763986528571017150437185981386132052067443991282021209966012894798946203559709617269568662864872894744198631008230782416211373818305425093411149944036932690915235274280788189453891971925299111472018839885046169980783768031783408518371216186329968157595787059129883560708621420761342262187153949430315641096983067143529893129605961672744629284860795726871847268146462449928645946879597846455267174891207977946097217197159516596633680812512231202964210884889005502111881763994239377616430106150071316254801459554987018062501019127173378190475751144058859234234086080085472665854208827354334293423441039342020458115963854803982035300890295906745061724083135217411618055017098919469976076151629554450326274332166657895041081614655575417681074632672007524638858696145301121809187265699580455793919483690514883701890747952122784795631762680010219943466196440603312007851189573907105838635091210556427012160082890164681908674922552955162740394356550091986898254502380649313185566407184980869527286177287119159500054816163309716809322820291074440519747711840138627223454712897839398482393430047953055277383213830258235226969018648364090421835980896085906530899443578608349221140967403119188464699235479050415282392929085092209519253358095012975181132960648692367288333856703033109489653181262059101654007786937418724309993183472590533245821888798102142625628641138564266999980346088708470988560178903505478022181308224237105247785847939235524687067485393962639869645941746424245685473974506410896064432859090973794759340954130397739007091924606855573689362381289473338169946501113863470663499020707048053599619906089854930597112729383157951437929626139492958015043728637487006803047973786368826758357251518846246739946958432886297893117848938021228501306053702305930845060002799454730962056521595476679846936161008856068951743272260745722753237008130816838582629369600362408392476056006454585424441884640155836779733989597517441409239197537316498908052641207630559727797098450127911616310420880885386377366880906337487609398452752424398547150444951288312867872379669056206853291242107488018 1050936555102204200770802794547297051376214518879333257888081813623531202584230939188686304891316660524191300798795403411230662398895189885115474970855924862519883614616575494437421952653898547888317117857237465071365642194615943475722959106534394916687298676559528203282088098162785508416880507335365502965414377957418539427384951675696107517426235175337590340358929154153862991460732027698500078001271401360151853928931396756075294971185949562195254301386331553519507435927830898523265474610265832566158039970882464669806264429037983289819562102050187121496969143749477779203707475731918512138891100250773087499773023672776956650054266832831206089108872150892703553762414604111941378258144322715838980854270004320925142450633603048106070367804056343968306431568193168817157730253562968637952503398711041650017831195453004516125041760542974374173736209531792051813461327065777074088624117052399066547488177293796230490325205792022395563790131236678441707722079204525451977977313656336692503982450794800664879661142941646350864730850409804193793762048753443342132498880886473626638882742663272014214141554880200508202112565549437009300984635052416303189676473012650902202867365736921266028118800909314842959204660453456633543418731485578553027014591766340061803487985243494778391210288798325199642540851330490234024823246650231787884273317415489908945070607100222689941631502592852778103823628902691309752734121311990305375183982846395971100371537558815368639086939142012807044528872513278237327411904591129462149697277362840089136683039708934882011197140132806482541288965428353945381591864977450129406880399378619028657305774015978337457682061397700697583215676620228348619471328933200146408348834620661314153320573908852822003440658799186355232104281353973761874639646706214608146732858173642773262730139157459848750009131991709198640413194428948602724093846766550456487115821234523275741831783283975506541175236771490370305097165539869180304483382663431940709629332997896531086209135788125449012393666201423032078314177742556411380631469999300583648436852542336537583616216587188485112517126665710601268004934057634363449715181554974352152076464095004887837721969782518273323694122988898036198150178098345671446656842122492078883307769502373595955219989 1700451066175093119024553546152379314822152655406116324376791647332068700451559954417602792601622760559280580763896757423090323110393510961088332449324645459415227052804825665201408481224915698325503099243369517138809633476637153441735853905480598476396915946128191068154982842361416516647662923546739321270839471368568483464317642590931381798214424629229562265658040626172702876506902008482268109784679919731368040258899554351862354101069510270816675062728593740673456866243471995506332618140158962172119712715511749530601991300885251436282012030696134001094815599016652670411685421829135709298407696884453900012004226636987841539059768944712970083348249767322809703833730858913400933245162385216858108027648194796676286509492837282192150453276722198177133785902486592258197072274021084601807307380746342540313737940514728599260259172161029391272655679507868203443015777392051406255282012093480681203063594974870863162332730430881091709091253045865707407302534998444935668492197358227440456105235590432427559671362885112547305334162417655383367669154592078433343055307898633709529047424571946936767096717620594864752204552447691511681633948237982710374657342539937079489986525236976082191428517718637663250279100973204345383557358709033265924853990248733491851441040520877992221468524025294218290904941752326214920909153181131231462881666636630876348189795564921925420681917875245707188915838421944667847747096493123266023876350134729827803404647048468549901146040796020593981947596823271420800002437836951350947799419988468730275247306708915228099905611121366661444794443450535253605828970225235977346115924065686514051268413885624279204106307083174672089626572684661207710445123692541100538746573627753238760176147598215203292913996969132856345967752017472782581687700305834514236587788770755502645888090595389474889502090006752927277900201231996576510462673524907708005962067974470234174718081177093355479196465272796424007403096384929183103938113625488462305106012844832692095065204739868721273139388954660040209131016325185780980993878391776639654891437966778422223772053366922474710034568074949798805321432965687004657345741282771450602204375711315308718607356159885154230031610598296488950574576645496116397945154990364458552363976355664838062708007 2751387621277297319795356340699676366198367174285449582264873460955599903035790893606289097492939421083471881562692160834320985509288700846203807420180570321935110667421401159638830433878814246213820217100606982210175275671253096917458813012014993393084214622687719271437070940524202025064543430882104824236253849325987022891702594266627489315640659804567152606016969780326565867967634036180768187785951321091519894187830951107937649072255459833011929364114925294192964302171302894029598092750424794738277752686394214200408255729923234726101574132746321122591784742766130449615392897561054221437298797135226987511777250309764798189114035777544176172457121918215513257596145463025342311503306707932697088881918199117601428960126440330298220821080778542145440217470679761075354802527584053239759810779457384190331569135967733115385300932704003765446391889039660255256477104457828480343906129145879747750551772268667093652657936222903487272881384282544149115024614202970387646469511014564132960087686385233092439332505826758898170065012827459577161431203345521775475554188785107336167930167235218950981238272500795372954317117997128520982618583290399013564333815552587981692853890973897348219547318627952506209483761426660978926976090194611818951868582015073553654929025764372770612678812823619417933445793082816448945732399831363019347154984052120785293260402665144615362313420468098485292739467324635977600481217805113571399060332981125798903776184607283918540232979938033401026476469336549658127414342428080813097496697351308819411930346417850110111102751254173143986083408878889198987420835202686106752996323444305542708574187901602616661788368480875369672842249304889556329916452625741246947095408248414552913496721507068025296354655768319211578072033371446544456327347012049122383320646944398275908618229752849323639511221998462125918313395660945179234556520291458164493077889208993509916549864461068862020371702044286794312500261924798363408421496288920403014735345842729223181274340527994170285533055156083072287445194067742192361625348391077223303328290509114959807388269954110959822551694740660400073326367023321368107060922837745802754280839806320196556329325942403427553725733587194525148724754743841787844601997112856537435671745858038434017927996 4451838687452390438819909886852055681020519829691565906641665108287668603487350848023891890094562181642752462326588918257411308619682211807292139869505215781350337720226226824840238915103729944539323316343976499348984909147890250359194666917495591869481130568815910339592053782885618541712206354428844145507093320694555506356020236857558871113855084433796714871675010406499268744474536044663036297570631240822887934446730505459800003173324970103828604426843519034866421168414774889535930710890583756910397465401905963731010247030808486162383586163442455123686600341782783120027078319390189930735706494019680887523781476946752639728173804722257146255805371685538322961429876321938743244748469093149555196909566393914277715469619277612490371274357500740322574003373166353333551874801605137841567118160203726730645307076482461714645560104865033156719047568547528458699492881849879886599188141239360428953615367243537956814990666653784578981972637328409856522327149201415323314961708372791573416192921975665519999003868711871445475399175245114960529100357937600208818609496683741045696977591807165887748334990121390237706521670444820032664252531528381723938991158092525061182840416210873430410975836346590169459762862399865324310533448903645084876722572263807045506370066285250762834147336848913636224350734835142663866641553012494250810036650688751661641450198230066540782995338343344192481655305746580645448228314298236837422936683115855626707180831655752468441379020734053995008424066159821078927416780265032164045296117339777549687177653126765338211008362375539805430877852329424452593249805427922084099112247509992056759842601787226895865894675564050041762468821989550764040361576318282347485841981876167791673672869105283228589268652737452067924039785388919327038015047317883636619908435715153778554506320348238798529013312005215053196213596892941755745019193816365872499039957183463744091267945638162217499568167317083218319903358309727546512359609914408865319841358687561915276339545267862891558672444110743112496576210392927973342619226782853862958219728475893382031160323321033434532586262815610198878647799989008372764406664120517253356485215517635505274936682102288581783757344185491014099299331389337904242547152103220995988035722213703272080636003 7203226308729687758615266227551732047218887003977015488906538569243268506523141741630180987587501602726224343889281079091732294128970912653495947289685786103285448387647627984479069348982544190753143533444583481559160184819143347276653479929510585262565345191503629611029124723409820566776749785310948969743347170020542529247722831124186360429495744238363867477691980186825834612442170080843804485356582561914407828634561456567737652245580429936840533790958444329059385470586077783565528803641008551648675218088300177931418502760731720888485160296188776246278385084548913569642471216951244152173005291154907875035558727256517437917287840499801322428262493603753836219026021784964085556251775801082252285791484593031879144429745717942788592095438279282468014220843846114408906677329189191081326928939661110920976876212450194830030861037569036922165439457587188713955969986307708366943094270385240176704167139512205050467648602876688066254854021610954005637351763404385710961431219387355706376280608360898612438336374538630343645464188072574537690531561283121984294163685468848381864907759042384838729573262622185610660838788441948553646871114818780737503324973645113042875694307184770778630523154974542675669246623826526303237509539098256903828591154278880599161299092049623533446826149672533054157796527917959112812373952843857270157191634740872446934710600895211156145308758811442677774394773071216623048709532103350408821997016096981425610957016263036386981612000672087396034900535496370737054831122693112977142792814691086369099107999544615448322111113629712949416961261208313651580670640630608190852108570954297599468416789688829512527683044044925411435311071294440320370278028944023594432937390124582344587169590612351253885623308505771279502111818760365871494342394329932759003229082659552054463124550101088122168524534003677179114526992553886934979575714107824036992117846392457254007817810099231079519939869361370012632403620234525909920781106203329268334576704530291138457613885795857061844205499266826184784021404460670165704244575173931086261548018985008341838548593275144394355137957556270598951974167012329740871467586958263056110766055323955701831266008044692009337483077772685539248024086133179692087149149216077533423707468071741706098563999 11655064996182078197435176114403787728239406833668581395548203677530937110010492589654072877682063784368976806215869997349143602748653124460788087159191001884635786107873854809319308264086274135292466849788559980908145093967033597635848146847006177132046475760319539950621178506295439108488956139739793115250440490715098035603743067981745231543350828672160582349366990593325103356916706125506840782927213802737295763081291962027537655418905400040669138217801963363925806639000852673101459514531592308559072683490206141662428749791540207050868746459631231369964985426331696689669549536341434082908711785174588762559340204203270077645461645222058468684067865289292159180455898106902828801000244894231807482701050986946156859899364995555278963369795780022790588224217012467742458552130794328922894047099864837651622183288932656544676421142434070078884487026134717172655462868157588253542282411624600605657782506755743007282639269530472645236826658939363862159678912605801034276392927760147279792473530336564132437340243250501789120863363317689498219631919220722193112773182152589427561885350849550726477908252743575848367360458886768586311123646347162461442316131737638104058534723395644209041498991321132845129009486226391627548042988001901988705313726542687644667669158334874296280973486521446690382147262753101776679015505856351520967228285429624108576160799125277696928304097154786870256050078817797268496937846401587246244933699212837052318137847918788855422991021406141391043324601656191815982247902958145141188088932030863918786285652671380786533119476005252754847839113537738104173920446058530274951220818464289656228259391476056408393577719608975453197779893283991084410639605262305941918779372000750136260842459717634482474891961243223347426151604149285198532357441647816395623137518374705833017630870449326920697537846008892232310740589446828690724594907924189909491157803575920998099085755737393297019508036678453230952306978544253456433140716117738133654418063217853053733953431063719953402877943377569297280597614853598139046863801956784949219767747460901723869708916596177828887724220371880797830621967001338113635874251078780309467251270841591207106202690146980591121240421958176553347323417522517596329696301319298529411743190285444978179200002 18858291304911765956050442341955519775458293837645596884454742246774205616533634331284253865269565387095201150105151076440875896877624037114284034448876787987921234495521482793798377613068818326045610383233143462467305278786176944912501626776516762394611820951823169561650303229705259675265705925050742084993787660735640564851465899105931591972846572910524449827058970780150937969358876206350645268283796364651703591715853418595275307664485829977509672008760407692985192109586930456666988318172600860207747901578506319593847252552271927939353906755820007616243370510880610259312020753292678235081717076329496637594898931459787515562749485721859791112330358893045995399481919891866914357252020695314059768492535579978036004329110713498067555465234059305258602445060858582151365229459983520004220976039525948572599059501382851374707282180003107001049926483721905886611432854465296620485376682009840782361949646267948057750287872407160711491680680550317867797030676010186745237824147147502986168754138697462744875676617789132132766327551390264035910163480503844177406936867621437809426793109891935565207481515365761459028199247328717139957994761165943198945641105382751146934229030580414987672022146295675520798256110052917930785552527100158892533904880821568243828968250384497829727799636193979744539943790671060889491389458700208791124419920170496555510871400020488853073612855966229548030444851889013891545647378504937655066930715309818477929094864181825242404603022078228787078225137152562553037079025651258118330881746721950287885393652215996234855230589634965704264800374746051755754591086689138465803329389418587255696676181164885920921260763653900864633090964578431404780917634206329536351716762125332480848012050329985736360515269748994626928263422909651070026699835977749154626366601034257887480755420550415042866062380012569411425267582000715625704170622032013946483275649968378252106903565836624376539447906039823243584710598778779366353921822321067401988994767748144192191567316859577015247083442644395482064619019314268304751108377130716035481315766445910065708257509871322223242862177928151396782596134013667854507341838037043365578017326165546908937468698191672600458723499730862092595347503655697288416845450535376062835450658357186684277764001 30513356301093844153485618456359307503697700671314178280002945924305142726544126920938326742951629171464177956321021073790019499626277161575072121608067789872557020603395337603117685877155092461338077233021703443375450372753210542548349773623522939526658296712142709512271481736000698783754662064790535200244228151450738600455208967087676823516197401582685032176425961373476041326275582331857486051211010167388999354797145380622812963083391230018178810226562371056910998748587783129768447832704193168766820585068712461256276002343812134990222653215451238986208355937212306948981570289634112317990428861504085400154239135663057593208211130943918259796398224182338154579937817998769743158252265589545867251193586566924192864228475709053346518835029839328049190669277871049893823781590777848927115023139390786224221242790315507919383703322437177079934413509856623059266895722622884874027659093634441388019732153023691065032927141937633356728507339489681729956709588615987779514217074907650265961227669034026877313016861039633921887190914707953534129795399724566370519710049774027236988678460741486291685389768109337307395559706215485726269118407513105660387957237120389250992763753976059196713521137616808365927265596279309558333595515102060881239218607364255888496637408719372126008773122715426434922091053424162666170404964556560312091648205600120664087032199145766550001916953121016418286494930706811160042585224906524901311864414522655530247232712100614097827594043484370178121549738808754369019326928609403259518970678752814206671679304887377021388350065640218459112639488283789859928511532747668740754550207882876911924935572640942329314838483262876317830870857862422489191557239468635478270496134126082617108854510047620218835407230992217974354415027058936268559057277625565550249504119408963720498386290999741963563600226021461643736008171447544316428765529956203855974433453544299250205989321574017673558955942718276474537017577323032822787062538438805535643412830965997245925520747923296968649961386021964779345216634167866443797972179087500984701083513906811789577966426467500052130586398300032194613218101015005968143216089115823675045268597007138116043671388338653191579963921689038645942670921178214884746541751854674592247193848642631662456964003 49371647606005610109536060798314827279155994508959775164457688171079348343077761252222580608221194558559379106426172150230895396503901198689356156056944577860478255098916820396916063490223910787383687616254846905842755651539387487460851400400039701921270117663965879073921784965705958459020367989841277285238015812186379165306674866193608415489043974493209482003484932153626979295634458538208131319494806532040702946512998799218088270747877059995688482235322778749896190858174713586435436150876794028974568486647218780850123254896084062929576559971271246602451726448092917208293591042926790553072145937833582037749138067122845108770960616665778050908728583075384149979419737890636657515504286284859927019686122146902228868557586422551414074300263898633307793114338729632045189011050761368931335999178916734796820302291698359294090985502440284080984339993578528945878328577088181494513035775644282170381681799291639122783215014344794068220188020039999597753740264626174524752041222055153252129981807731489622188693478828766054653518466098217570039958880228410547926646917395465046415471570633421856892871283475098766423758953544202866227113168679048859333598342503140397926992784556474184385543283912483886725521706332227489119148042202219773773123488185824132325605659103869955736572758909406179462034844095223555661794423256769103216068125770617219597903599166255403075529809087245966316939782595825051588232603411462556378795129832474008176327576282439340232197065562598965199774875961316922056405954260661377849852425474764494557072957103373256243580655275184163377439863029841615683102619436807206557879597301464167621611753805828250236099246916777182463961822440853893972474873674965014622212896251415097956866560377605955195922500741212601282678449968587338585757113603314704875870720443221607979141711550157006429662606034031055161275753448259942132936151988217802457709103512677502312892887410642050098403848758099718121728176101812189140984360759872937632407598714141438117088064782873983897044828666360261409835653482134748549080556218217020182399280352721855286223936338822275373448576228183591395814235028673822650557927152867040623285923172685024981140086530325792038687421419900738538018424833912173163387202390050655082644506999818346734728004 79885003907099454263021679254674134782853695180273953444460634095384491069621888173160907351172823730023557062747193224020914896130178360264428277665012367733035275702312158000033749367379003248721764849276550349218206024292598030009201174023562641447928414376108588586193266701706657242775030054631812485482243963637117765761883833281285239005241376075894514179910893527103020621910040870065617370705816699429702301310144179840901233831268290013867292461885149806807189606762496716203883983580987197741389071715931242106399257239896197919799213186722485588660082385305224157275161332560902871062574799337667437903377202785902701979171747609696310705126807257722304559357555889406400673756551874405794270879708713826421732786062131604760593135293737961356983783616600681939012792641539217858451022318307521021041545082013867213474688824877461160918753503435152005145224299711066368540694869278723558401413952315330187816142156282427424948695359529681327710449853242162304266258296962803518091209476765516499501710339868399976540709380806171104169754279952976918446356967169492283404150031374908148578261051584436073819318659759688592496231576192154519721555579623529648919756538532533381099064421529292252652787302611537047452743557304280655012342095550080020822243067823242081745345881624832614384125897519386221832199387813329415307716331370737883684935798312021953077446762208262384603434713302636211630817828317987457690659544355129538423560288383053438059791109046969143321324614770071291075732882870064637368823104227578701228752261990750277631930720915402622490079351313631475611614152184475947312429805184341079546547326446770579550937730179653500294832680303276383164032113143600492892709030377497715065721070425226174031329731733430575637093477027523607144814391228880255125374839852185328477528002549898969993262832055492698897283924895804258561701681944421658432142557056976752518882208984659723657359791476376192658745753424845011928046899198678473275820429680138684042608812706170952547006214688325040755052287650001192347052735305718004883482794259533644864190362806322327504034974528215786009032336043679790793774016268690715668554520179823141024811474868978983618651343108939384480689346012127057909928954244725247329838355642450009191692007 129256651513105064372557740052988962062009689689233728608918322266463839412699649425383487959394018288582936169173365374251810292634079558953784433721956945593513530801228978396949812857602914036105452465531397255060961675831985517470052574423602343369198532040074467660115051667412615701795398044473089770720259775823496931068558699474893654494285350569103996183395825680729999917544499408273748690200623231470405247823142979058989504579145350009555774697207928556703380464937210302639320134457781226715957558363150022956522512135980260849375773157993732191111808833398141365568752375487693424134720737171249475652515269908747810750132364275474361613855390333106454538777293780043058189260838159265721290565830860728650601343648554156174667435557636594664776897955330313984201803692300586789787021497224255817861847373712226507565674327317745241903093497013680951023552876799247863053730644923005728783095751606969310599357170627221493168883379569680925464190117868336829018299519017956770221191284497006121690403818697166031194227846904388674209713160181387466373003884564957329819621602008330005471132335059534840243077613303891458723344744871203379055153922126670046846749323089007565484607705441776139378309008943764536571891599506500428785465583735904153147848726927112037481918640534238793846160741614609777493993811070098518523784457141355103282839397478277356152976571295508350920374495898461263219050431729450014069454674187603546599887864665492778291988174609568108521099490731388213132138837130726015218675529702343195785825219094123533875511376190586785867519214343473091294716771621283153870309402485805247168159080252598829787036977096430682758794502744130277136506986818565507514921926628912813022587630802832129227252232474643176919771926996110945730571504832194960001245560295406936456669714100055976422925438089523754058559678344064200694637833932639460889851660569654254831775096395301773755763640234475910780473929526657201069031259958551410908228028394280122159696877489044936444051043354685302164887941132135940896133291523935025065882074612255500150414299145144602877483550756399377404846571072353613444331943421557756291840443352508166005951561399304775657338764528840123018707770846039231073316156634775902412482862642268355926420011 209141655420204518635579419307663096844863384869507682053378956361848330482321537598544395310566842018606493231920558598272725188764257919218212711386969313326548806503541136396983562224981917284827217314807947604279167700124583547479253748447164984817126946416183056246308318369119272944570428099104902256202503739460614696830442532756178893499526726644998510363306719207833020539454540278339366060906439930900107549133287158899890738410413640023423067159093078363510570071699707018843204118038768424457346630079081265062921769375876458769174986344716217779771891218703365522843913708048596295197295536508916913555892472694650512729304111885170672318982197590828759098134849669449458863017390033671515561445539574555072334129710685760935260570851374556021760681571930995923214596333839804648238043815531776838903392455726093721040363152195206402821847000448832956168777176510314231594425514201729287184509703922299498415499326909648918117578739099362253174639971110499133284557815980760288312400761262522621192114158565566007734937227710559778379467440134364384819360851734449613223771633383238154049393386643970914062396273063580051219576321063357898776709501750199695766505861621540946583672126971068392031096311555301584024635156810781083797807679285984173970091794750354119227264522159071408230286639133995999326193198883427933831500788512092986967775195790299309230423333503770735523809209201097474849868260047437471760114218542733085023448153048546216351779283656537251842424105501459504207871720000790652587498633929921897014577481084873811507442097105989408357598565657104566906330923805759101182739207670146326714706406699369409337974707276084183053627183047406660300539099962166000407630957006410528088308701228058303258581964208073752556865404023634552875385896061075215126620400147592264934197716649954946416188270145016452955843603239868459256339515877061119321994217626631007350657305379961497413123431710852103439219682951502212997078159157229884184048458074418806202305690195215888991057258043010342919940228782137133243186026829653029949364868871789145014604661951466930381518525284615163413878907116033404238105959690248471960394963532331307030763036268283759275990107637779507499397116858166288983245110879501149742321218284718365118112018 338398306933309583008137159360652058906873074558741410662297278628312169895021187023927883269960860307189429401093923972524535481398337478171997145108926258920062337304770114793933375082584831320932669780339344859340129375956569064949306322870767328186325478456257523906423370036531888646365826143577992026922763515284111627899001232231072547993812077214102506546702544888563020456999039686613114751107063162370512796956430137958880242989558990032978841856301006920213950536636917321482524252496549651173304188442231288019444281511856719618550759502709949970883700052101506888412666083536289719332016273680166389208407742603398323479436476160645033932837587923935213636912143449492517052278228192937236852011370435283722935473359239917109928006409011150686537579527261309907416400026140391438025065312756032656765239829438320228606037479512951644724940497462513907192330053309562094648156159124735015967605455529268809014856497536870411286462118669043178638830088978835962302857334998717058533592045759528742882517977262732038929165074614948452589180600315751851192364736299406943043393235391568159520525721703505754305473886367471509942921065934561277831863423876869742613255184710548512068279832412844531409405320499066120596526756317281512583273263021888327117940521677466156709183162693310202076447380748605776820187009953526452355285245653448090250614593268576665383399904799279086444183705099558738068918691776887485829568892730336631623336017714038994643767458266105360363523596232847717340010557131516667806174163632265092800402700178997345382953473296576194225117780000577658201047695427042255053048610155951573882865486951968239125011684372514865812421685791536937437046086780731507922552883635323341110896332030890432485834196682716929476637331019745498605957400893270175127865960442999201390867430750010922839113708234540207014403281583932659950977349809700580211845878196285262182432401775263271168887071945328014219693612478159414066109419115781295092276486468698928362002567684260825435108301397695645084828169914273074139319318353588055015246943484044645165018961096611533259002076041014540818725478188387017682437903111806228252235406884839473036714597667588534933328872166619630518104887704205520056561267514277052154804080926986721044532029 547539962353514101643716578668315155751736459428249092715676234990160500377342724622472278580527702325795922633014482570797260670162595397390209856495895572246611143808311251190916937307566748605759887095147292463619297076081152612428560071317932313003452424872440580152731688405651161590936254242682894283125267254744726324729443764987251441493338803859101016910009264096396040996453579964952480812013503093270620346089717296858770981399972630056401909015394085283724520608336624340325728370535318075630650818521312553082366050887733178387725745847426167750655591270804872411256579791584886014529311810189083302764300215298048836208740588045815706251819785514763972735046993118941975915295618226608752413456910009838795269603069925678045188577260385706708298261099192305830630996359980196086263109128287809495668632285164413949646400631708158047546787497911346863361107229819876326242581673326464303152115159451568307430355824446519329404040857768405431813470060089335095587415150979477346845992807022051364074632135828298046664102302325508230968648040450116236011725588033856556267164868774806313569919108347476668367870159431051561162497386997919176608572925627069438379761046332089458651951959383912923440501632054367704621161913128062596381080942307872501088032316427820275936447684852381610306734019882601776146380208836954386186786034165541077218389789058875974613823238303049821967992914300656212918786951824324957589683111273069716646784170762585210995546741922642612205947701734307221547882277132307320393672797562186989814980181263871156890395570402565602582716345657682225107378619232801356235787817826097900597571893651337648462986391648599048866048868838943597737585186742897508330183840641733869199205033258948735744416160890790682033502735043380051481343296954345390254486360590591466325065147399965869255301978379556659970246884823801119207316865686761699533840095822916269533089707155224768582010503656180117658913295429661627063187578273011179276324944543117734564308257879476714426165559440705988004768398696410207382505345183241084964611812355833790179623623048078463640520601325629704232604385304420421920543862802054700212630370417170780067477633935872294209318979804399138017502004562371809039806378393778201897125299211705086162644047 885938269286823684651853738028967214658609533986990503377973513618472670272363911646400161850488562632985352034108406543321796151560932875562207001604821831166673481113081365984850312390151579926692556875486637322959426452037721677377866394188699641189777903328698104059155058442183050237302080386260886310048030770028837952628444997218323989487150881073203523456711808984959061453452619651565595563120566255641133143046147434817651224389531620089380750871695092203938471144973541661808252623031867726803955006963543841101810332399589898006276505350136117721539291322906379299669245875121175733861328083869249691972707957901447159688177064206460740184657373438699186371959136568434492967573846419545989265468280445122518205076429165595155116583669396857394835840626453615738047396386120587524288174441043842152433872114602734178252438111221109692271727995373860770553437283129438420890737832451199319119720614980837116445212321983389740690502976437448610452300149068171057890272485978194405379584852781580106957150113091030085593267376940456683557828640765868087204090324333263499310558104166374473090444830050982422673344045798523071105418452932480454440436349503939180993016231042637970720231791796757454849906952553433825217688669445344108964354205329760828205972838105286432645630847545691812383181400631207552966567218790480838542071279818989167469004382327452639997223143102328908412176619400214950987705643601212443419252004003406348270120188476624205639314200188747972569471297967154938887892834263823988199846961194452082615382881442868502273349043699141796807834125658259883308426314659843611288836427982049474480437380603305887587998076021113914678470554630480535174631273523629016252736724277057210310101365289839168230250357573507611510140066063125550087300697847615565382352321033590667715932578149976792094415686614096866984650166407733779158294215496462279745685974019201531715522108930488039750897575601508131878606907907821041129296997388792474368601431011816662926310825563737539861273860838401633089596568610683281521824663536829139979858755839878435344642584144689996899522677366644245051329863492807439602981765913860928464865777302010253104192231603460829142647851971018768535606892266577329096367645908055254051929380138691807207176076 1433478231640337786295570316697282370410345993415239596093649748608633170649706636268872440431016264958781274667122889114119056821723528272952416858100717403413284624921392617175767249697718328532452443970633929786578723528118874289806426465506631954193230328201138684211886746847834211828238334628943780593173298024773564277357888762205575430980489684932304540366721073081355102449906199616518076375134069348911753489135864731676422205789504250145782659887089177487662991753310166002133980993567185802434605825484856394184176383287323076394002251197562285472194882593711251710925825666706061748390639894058332994737008173199495995896917652252276446436477158953463159107006129687376468882869464646154741678925190454961313474679499091273200305160929782564103134101725645921568678392746100783610551283569331651648102504399767148127898838742929267739818515493285207633914544512949314747133319505777663622271835774432405423875568146429909070094543834205854042265770209157506153477687636957671752225577659803631471031782248919328132257369679265964914526476681215984323215815912367120055577722972941180786660363938398459091041214205229574632267915839930399631049009275131008619372777277374727429372183751180670378290408584607801529838850582573406705345435147637633329294005154533106708582078532398073422689915420513809329112947427627435224728857313984530244687394171386328614611046381405378730380169533700871163906492595425537401008935115276476064916904359239209416634860942111390584775418999701462160435775111396131308593519758756639072430363062706739659163744614101707399390550471315942108415804933892644967524624245808147375078009274254643536050984467669712963544519423469424132912216460266526524582920564918791079509306398548787903974666518464298293543642801106505601568643994801960955636838681624182134040997725549942661349717664993653526954897051231534898365611081183223979279526069842117801248611816085712808332908079257688249537520203337482668192484575661803653644926375554934397490619083443214254287439420279107621094364967307093488904330008720070224944470568195712225524266207192768460540043278692273949283934248797227861523525628715915628677496147719181033171669865539333123351966831775417906553108896828949138136174024301833455949054679350396893369820123 2319416500927161470947424054726249585068955527402230099471623262227105840922070547915272602281504827591766626701231295657440852973284461148514623859705539234579958106034473983160617562087869908459145000846120567109538149980156595967184292859695331595383008231529836788271041805290017262065540415015204666903221328794802402229986333759423899420467640566005508063823432882066314163903358819268083671938254635604552886632182012166494073430179035870235163410758784269691601462898283707663942233616599053529238560832448400235285986715686912974400278756547698403193734173916617631010595071541827237482251967977927582686709716131100943155585094716458737186621134532392162345478965266255810961850443311065700730944393470900083831679755928256868355421744599179421497969942352099537306725789132221371134839458010375493800536376514369882306151276854150377432090243488659068404467981796078753168024057338228862941391556389413242540320780468413298810785046810643302652718070358225677211367960122935866157605162512585211577988932362010358217850637056206421598084305321981852410419906236700383554888281077107555259750808768449441513714558251028097703373334292862880085489445624634947800365793508417365400092415542977427833140315537161235355056539252018750814309789352967394157499977992638393141227709379943765235073096821145016882079514646417916063270928593803519412156398553713781254608269524507707638792346153101086114894198239026749844428187119279882413187024547715833622274175142300138557344890297668617099323667945659955296793366719951091155045745944149608161437093657800849196198384596974201991724231248552488578813460673790196849558446654857949423638982543690826878222989978099904668086847733790155540835657289195848289819407763838627072204916876037805905053782867169631151655944692649576521019191002657772801756930303699919453444133351607750393939547217639268677523905296679686259025212043861319332964133925016200848083805654859196381416127111245303709321781573050596128013527806566751060416929909006951794148713281117509254183961535917776770426154672256899364924329324035590660868908791337458457439565956058918194335264112290035301126507394629776557142361925021191286275862097142793952494614683746436675088715789095526467232541670209888710000984059489088700576996199 3752894732567499257242994371423531955479301520817469695565273010835739011571777184184145042712521092550547901368354184771559909795007989421467040717806256637993242730955866600336384811785588236991597444816754496896116873508275470256990719325201963549576238559730975472482928552137851473893778749644148447496394626819575966507344222521629474851448130250937812604190153955147669266353265018884601748313388704953464640121317876898170495635968540120380946070645873447179264454651593873666076214610166239331673166657933256629470163098974236050794281007745260688665929056510328882721520897208533299230642607871985915681446724304300439151482012368711013633057611691345625504585971395943187430733312775711855472623318661355045145154435427348141555726905528961985601104044077745458875404181878322154745390741579707145448638880914137030434050115597079645171908758981944276038382526309028067915157376844006526563663392163845647964196348614843207880879590644849156694983840567383183364845647759893537909830740172388843049020714610929686350108006735472386512610782003197836733635722149067503610466004050048736046411172706847900604755772456257672335641250132793279716538454899765956419738570785792092829464599294158098211430724121769036884895389834592157519655224500605027486793983147171499849809787912341838657763012241658826211192462074045351287999785907788049656843792725100109869219315905913086369172515686801957278800690834452287245437122234556358478103928906955043038909036084411529142120309297370079259759443057056086605386886478707730227476109006856347820600838271902556595588935068290144100140036182445133546338084919598344224636455929112592959689967011360539841767509401569328800999064194056682065418577854114639369328714162387414976179583394502104198597425668276136753224588687451537476656029684281954935797928029249862114793851016601403920894444268870803575889516377862910238304738113703437134212745741101913656416713734116884630953647314582786377514266148712399781658454182121685457907548992450166048436152701396616875278326503224870259330484680976969589868799892231302886393174998530226917979609234751192143619198361087263162650033023345692185819858072740372319447531962682127075846581515521854581641824685924475605368715694511722165950038738839485593946816322 6072311233494660728190418426149781540548257048219699795036896273062844852493847732099417644994025920142314528069585480429000762768292450569981664577511795872573200836990340583497002373873458145450742445662875064005655023488432066224175012184897295144959246791260812260753970357427868735959319164659353114399615955614378368737330556281053374271915770816943320668013586837213983430256623838152685420251643340558017526753499889064664569066147575990616109481404657716870865917549877581330018448226765292860911727490381656864756149814661149025194559764292959091859663230426946513732115968750360536712894575849913498368156440435401382307067107085169750819678746223737787850064936662198998392583756086777556203567712132255128976834191355605009911148650128141407099073986429844996182129971010543525880230199590082639249175257428506912740201392451230022603999002470603344442850508105106821083181434182235389505054948553258890504517129083256506691664637455492459347701910925608860576213607882829404067435902684974054627009646972940044567958643791678808110695087325179689144055628385767887165354285127156291306161981475297342118470330707285770039014584425656159802027900524400904220104364294209458229557014837135526044571039658930272239951929086610908333965013853572421644293961139809892991037497292285603892836109062803843093271976720463267351270714501591569069000191278813891123827585430420794007964861839903043393694889073479037089865309353836240891290953454670876661183211226711667699465199595038696359083111002716041902180253198658821382521854951005955982037931929703405791787319665264346091864267430997622125151545593388541074194902583970542383328949555051366719990499379669233469085911927846837606254235143310487659148121926226042048384500270539910103651208535445767904880533380101113997675220686939727737554858332949781568237984368209154314833991486510072253413421674542596497329950157564756467176879666118114504500519388976081012369774425828090086836047721762995909671981988688436518324478901457117842584865982514126129462288039142647029756639353233868954793129216266893547262083789867685375419175190810110337954462473377298463776540417975468742962219997761563605723394059824921028341196199268291256730540475020002072601257364721610875951022798328574294523812521 9825205966062159985433412797573313496027558569037169490602169283898583864065624916283562687706547012692862429437939665200560672563300439991448705295318052510566443567946207183833387185659046382442339890479629560901771896996707536481165731510099258694535485350991787733236898909565720209853097914303501561896010582433954335244674778802682849123363901067881133272203740792361652696609888857037287168565032045511482166874817765962835064702116116110997055552050531164050130372201471454996094662836931532192584894148314913494226312913635385075988840772038219780525592286937275396453636865958893835943537183721899414049603164739701821458549119453880764452736357915083413354650908058142185823317068862489411676191030793610174121988626782953151466875555657103392700178030507590455057534152888865680625620941169789784697814138342643943174251508048309667775907761452547620481233034414134888998338811026241916068718340717104538468713477698099714572544228100341616042685751492992043941059255642722941977266642857362897676030361583869730918066650527151194623305869328377525877691350534835390775820289177205027352573154182145242723226103163543442374655834558449439518566355424166860639842935080001551059021614131293624256001763780699309124847318921203065853620238354177449131087944286981392840847285204627442550599121304462669304464438794508618639270500409379618725843984003914000993046901336333880377137377526705000672495579907931324335302431588392599369394882361625919700092247311123196841585508892408775618842554059772128507567139677366551609997963957862303802638770201605962387376254733554490192004303613442755671489630512986885298831358513083135343018916566411906561758008781238562270084976121903519671672812997425127028476836088613457024564083665042014302248634203721904658105122067552651474331250371221682673352786362199643683031835384810558235728435755380875829302938052405506735634688271268193601389625407220028160917233123092965643323421740410876464350313870475395691330436170810121976232027893907283891021018683910743004740614542367517289087124034210838544661929108498196433655258788397912293398784425561302481573660834464561626426573441321160928782078070501935925170926022507048104187777714790145838372365160944477677969973059233333041901061537168059888470628843 15897517199556820713623831223723095036575815617256869285639065556961428716559472648382980332700572932835176957507525145629561435331592890561430369872829848383139644404936547767330389559532504527893082336142504624907426920485139602705340743694996553839494732142252599993990869266993588945812417078962854676295626538048332703982005335083736223395279671884824453940217327629575636126866512695189972588816675386069499693628317655027499633768263692101613165033455188880920996289751349036326113111063696825053496621638696570358982462728296534101183400536331178872385255517364221910185752834709254372656431759571812912417759605175103203765616226539050515272415104138821201204715844720341184215900824949266967879758742925865303098822818138558161378024205785244799799252016937435451239664123899409206505851140759872423946989395771150855914452900499539690379906763923150964924083542519241710081520245208477305573773289270363428973230606781356221264208865555834075390387662418600904517272863525552346044702545542336952303040008556809775486025294318830002734000956653557215021746978920603277941174574304361318658735135657442584841696433870829212413670418984105599320594255948567764859947299374211009288578628968429150300572803439629581364799248007813974187585252207749870775381905426791285831884782496913046443435230367266512397736415514971885990541214910971187794844175282727892116874486766754674385102239366608044066190468981410361425167740942228840260685835816296796361275458537834864541050708487447471977925665062488170409747392876025372992519818908868259784676702131309368179163574398818836283868571044440377796641176106375426373026261097053677726347866121463273281748508160907795739170888049750357277927048140735614687624958014839499072948583935581924405899842739167672562985655447653765472006471058161410410907644695149425251269819753019712550562427241890948082716359726948103232964638428832950068566505073338142665417752512069046655693196166238966551186361592238391601002418159498558494556506795364401733605884666424869134202902581510164318843763387444707499455058324765089980917342578265597668817959616371412819528123307841860090203113859296629671744298068263499530894320082331969132528973914058437095102905635964479750571230423954943917852084335496634182994441364 25722723165618980699057244021296408532603374186294038776241234840860012580625097564666543020407119945528039386945464810830122107894893330552879075168147900893706087972882754951163776745191550910335422226622134185809198817481847139186506475205095812534030217493244387727227768176559309155665514993266356238191637120482287039226680113886419072518643572952705587212421068421937288823476401552227259757381707431580981860503135420990334698470379808212610220585505720044971126661952820491322207773900628357246081515787011483853208775641931919177172241308369398652910847804301497306639389700668148208599968943293712326467362769914805025224165345992931279725151462053904614559366752778483370039217893811756379555949773719475477220811444921511312844899761442348192499430047445025906297198276788274887131472081929662208644803534113794799088704408547849358155814525375698585405316576933376599079859056234719221642491629987467967441944084479455935836753093656175691433073413911592948458332119168275288021969188399699849979070370140679506404091944845981197357306825981934740899438329455438668716994863481566346011308289839587827564922537034372654788326253542555038839160611372734625499790234454212560347600243099722774556574567220328890489646566929017040041205490561927319906469849713772678672732067701540488994034351671729181702200854309480504629811715320350806520688159286641893109921388103088554762239616893313044738686048889341685760470172530621439630080718177922716061367705848958061382636217379856247596768219122260298917314532553391924602517782866730563587315472332915330566539829132373326475872874657883133468130806619362311671857619610136813069366782687875179843506516942146358009255864171653876949599861138160741716101794103452956097512667600623938708148476942889577221090777515206416946337721429383093084260431057349068934301655137830270786290862997271823912019297779353609968599326700101143669956130480558170826334985635162012299016617906649843015536675462713787292332854330308680470788534689271685624626903350335612138943517123877681607930887421655546044116987433263286414572601366663509962216744041932715301101784142306421716629687300617790600526376138765435456065246104839017236716751628848582933475270796908957428541203483188276959753145872664694071465070207 41620240365175801412681075245019503569179189803550908061880300397821441297184570213049523353107692878363216344452989956459683543226486221114309445040977749276845732377819302718494166304724055438228504562764638810716625737966986741891847218900092366373524949635496987721218637443552898101477932072229210914487263658530619743208685448970155295913923244837530041152638396051512924950342914247417232346198382817650481554131453076017834332238643500314223385618960908925892122951704169527648320884964325182299578137425708054212191238370228453278355641844700577525296103321665719216825142535377402581256400702865525238885122375089908228989781572531981794997566566192725815764082597498824554255118718761023347435708516645340780319634263060069474222923967227592992298682064382461357536862400687684093637323222689534632591792929884945655003157309047389048535721289298849550329400119452618309161379301443196527216264919257831396415174691260812157100961959212009766823461076330193852975604982693827634066671733942036802282110378697489281890117239164811200091307782635491955921185308376041946658169437785927664670043425497030412406618970905201867201996672526660638159754867321302390359737533828423569636178872068151924857147370659958471854445814936831014228790742769677190681851755140563964504616850198453535437469582038995694099937269824452390620352930231321994315532334569369785226795874869843229147341856259921088804876517870752047185637913472850279890766553994219512422643164386792925923686925867303719574693884184748469327061925429417297595037601775598823371992174464224698745703403531192162759741445702323511264771982725737738044883880707190490795714648809338453125255025103054153748426752221404234227526909278896356403726752118292455170461251536205863114048319682057249784076432962860182418344192487544503495168075752498494185571474890849983336853290239162771994735657506301713201563965128934093738522635553896313491752738147231058954709814072888809566723037054952178893335272489807238965345041484636087358232788016760481273146419705387845926774650809100253543572045758028376395489943944929107631034703658304128120629907450148281806832801159914420272270674207028934986959566187170986369245725542907020028578176432873437179112433907143220877605230208161328254459511571 67342963530794782111738319266315912101782563989844946838121535238681453877809667777716066373514812823891255731398454767289805651121379551667188520209125650170551820350702057669657943049915606348563926789386772996525824555448833881078353694105188178907555167128741375448446405620112207257143447065495567152678900779012906782435365562856574368432566817790235628365059464473450213773819315799644492103580090249231463414634588497008169030709023308526833606204466628970863249613656990018970528658864953539545659653212719538065400014012160372455527883153069976178206951125967216523464532236045550789856369646159237565352485145004713254213946918524913074722718028246630430323449350277307924294336612572779726991658290364816257540445707981580787067823728669941184798112111827487263834060677475958980768795304619196841236596463998740454091861717595238406691535814674548135734716696385994908241238357677915748858756549245299363857118775740268092937715052868185458256534490241786801433937101862102922088640922341736652261180748838168788294209184010792397448614608617426696820623637831480615375164301267494010681351715336618239971541507939574521990322926069215676998915478694037015859527768282636129983779115167874699413721937880287362344092381865848054269996233331604510588321604854336643177348917899994024431503933710724875802138124133932895250164645551672800836220493856011678336717262972931783909581473153234133543562566760093732946108086003471719520847272172142228484010870235750987306323143247159967171462103307008768244376457982809222197555384642329386959307646797140029312243232663565489235614320360206644732902789345100049716741500317327303865081431497213632968761542045200511757682616393058111177126770417057098119828546221745411267973919136829801822196796624946827005167210478066599364681913916927596579428506809847563119873130028680254123144153236434595906754955285655323170163291829035237408478766034454484318087723782393071253726431979538652582259712517665966185668126820115919436133576173907772982859691367096093412089936829265527534705538230755799587689033191291662810062545311592617593251447700236843421731691592454703523462488460532210872797050345794370443024812292010003605962477171755602962053447229782394607653637390331497837358376080826022325924581778 108963203895970583524419394511335415670961753793395854900001835636502895174994237990765589726622505702254472075851444723749489194347865772781497965250103399447397552728521360388152109354639661786792431352151411807242450293415820622970200913005280545281080116764238363169665043063665105358621379137724778067166164437543526525644051011826729664346490062627765669517697860524963138724162230047061724449778473066881944968766041573026003362947666808841056991823427537896755372565361159546618849543829278721845237790638427592277591252382388825733883524997770553703503054447632935740289674771422953371112770349024762804237607520094621483203728491056894869720284594439356246087531947776132478549455331333803074427366807010157037860079971041650261290747695897534177096794176209948621370923078163643074406118527308731473828389393883686109095019026642627455227257103973397686064116815838613217402617659121112276075021468503130760272293467001080250038677012080195225079995566571980654409542084555930556155312656283773454543291127535658070184326423175603597539922391252918652741808946207522562033333739053421675351395140833648652378160478844776389192319598595876315158670346015339406219265302111059699619957987236026624270869308540245834198538196802679068498786976101281701270173359994900607681965768098447559868973515749720569902075393958385285870517575782994795151752828425381463563513137842775013056923329413155222348439084630845780131745999476321999411613826166361740906654034622543913230010069114463686746155987491757237571438383412226519792592986417928210331299821261364728057946636194757651995355766062530155997674772070837787761625381024517794660796080306552086094016567148254665506109368614462345404653679695953454523555298340037866438435170673035664936245116307004076789243643440926781783026106404472100074596582562346057305444604919530237459997443475597367901490612791957036371727256957969331147001401588350797809840461929624130208436246052427462148982749572618145079003399309923158401478617658543860341092479383856574685236356534653373461480189039856053131261078949320039205552489256521725224286151358540971542361599042602985330295289620446631145067724552823305429984378479180989975208202714662622990631623662655831786766071297474718714963606288987350580384093349 176306167426765365636157713777651327772744317783240801738123370875184349052803905768481656100137318526145727807249899491039294845469245324448686485459229049617949373079223418057810052404555268135356358141538184803768274848864654504048554607110468724188635283892979738618111448683777312615764826203220345219845065216556433308079416574683304032779056880418001297882757324998413352497981545846706216553358563316113408383400630070034172393656690117367890598027894166867618622179018149565589378202694232261390897443851147130342991266394549198189411408150840529881710005573600152263754207007468504160969139995184000369590092665099334737417675409581807944443002622685986676410981298053440402843791943906582801419025097374973295400525679023231048358571424567475361894906288037435885204983755639602055174913831927928315064985857882426563186880744237865861918792918647945821798833512224608125643856016799028024933778017748430124129412242741348342976392064948380683336530056813767455843479186418033478243953578625510106804471876373826858478535607186395994988536999870345349562432584039003177408498040320915686032746856170266892349701986784350911182642524665091992157585824709376422078793070393695829603737102403901323684591246420533196542630578668527122768783209432886211858494964849237250859314685998441584300477449460445445704213518092318181120682221334667595987973322281393141900230400815706796966504802566389355892001651390939513077854085479793718932461098338503969390664904858294900536333212361623653917618090798766005815814841395035741990148371060257597290607468058504757370189868858323141230970086422736800730577561415937837478366881341845098525877511803765719062778109193455177263791985007520456581780450113010552643383844561783277706409089809865466758441912931950903794410853918993381147708020321399696654025089372193620425317734948210491583141596712031963808245568077612359541890548787004568555480167622805282127928185712017201462162678031966114731242462090284111264671526130039077837612193832451633323952170750952668097326293363918900996185727270611852718950112140611702015615034568114342817537599058777814964093290635057688853757778080978842017864774898617675873009190771190993581170679886418225952685070892438226394419708687806216552321982369813372906308675127 285269371322735949160577108288986743443706071576636656638125206511687244227798143759247245826759824228400199883101344214788784039817111097230184450709332449065346925807744778445962161759194929922148789493689596611010725142280475127018755520115749269469715400657218101787776491747442417974386205340945123287011229654099959833723467586510033697125546943045766967400455185523376491222143775893767941003137036382995353352166671643060175756604356926208947589851321704764373994744379309112208227746523510983236135234489574722620582518776938023923294933148611083585213060021233088004043881778891457532081910344208763173827700185193956220621403900638702814163287217125342922498513245829572881393247275240385875846391904385130333260605650064881309649319120465009538991700464247384506575906833803245129581032359236659788893375251766112672281899770880493317146050022621343507862950328063221343046473675920140301008799486251560884401705709742428593015069077028575908416525623385748110253021270973964034399266234909283561347763003909484928662862030361999592528459391123264002304241530246525739441831779374337361384141997003915544727862465629127300374962123260968307316256170724715828298058372504755529223695089639927947955460554960779030741168775471206191267570185534167913128668324844137858541280454096889144169450965210166015606288912050703466991199797117662391139726150706774605463743538658481810023428131979544578240440736021785293209600084956115718344074924504865710297318939480838813766343281476087340663774078290523243387253224807262261782741357478185807621907289319869485428136505053080793226325852485266956728252333486775625239992262366362893186673592110317805156794676341709842769901353621982801986434129808964007166939142901821144144844260482901131694687029238954980583654497359920162930734126725871796728621671934539677730762339867740729043139040187629331709736180869569395913617805744973899702481569211156079937768647641641331670598924084393576880225211662902256343674925439962236239090811490995493665044650134809242782562649898572274457665916310467905850211191089931741221167523824636068041823750417318786506454889677660674184053067701425473162932499451440981302993569250371983556378882601080848943316694555094058181185779985280935267285588658800723486692768476 461575538749501314796734822066638071216450389359877458376248577386871593280602049527728901926897142754545927690351243705828078885286356421678870936168561498683296298886968196503772214163750198057505147635227781414778999991145129631067310127226217993658350684550197840405887940431219730590151031544165468506856294870656393141802884161193337729904603823463768265283212510521789843720125321740474157556495599699108761735567301713094348150261047043576838187879215871631992616923397458677797605949217743244627032678340721852963573785171487222112706341299451613466923065594833240267798088786359961693051050339392763543417792850293290958039079310220510758606289839811329598909494543883013284237039219146968677265417001760103628661131329088112358007890545032484900886606752284820391780890589442847184755946191164588103958361109648539235468780515118359179064842941269289329661783840287829468690329692719168325942577503999991008531117952483776935991461141976956591753055680199515566096500457391997512643219813534793668152234880283311787141397637548395587516996390993609351866674114285528916850329819695253047416888853174182437077564452413478211557604647926060299473841995434092250376851442898451358827432192043829271640051801381312227283799354139733314036353394967054124987163289693375109400595140095330728469928414670611461310502430143021648111882018452329987127699472988167747363973939474188606989932934545933934132442387412724806287454170435909437276536022843369679687983844339133714302676493837710994581392169089289249203068066202298003772889728538443404912514757378374242798326373911403934457295938908003757458829894902713462718359143708207991712551103914083524219572785535165020033693338629503258568214579921974559810322987463604421851253350292766598453128942170905884378065351278913544078442147047271493382646761306733298156080074815951220626280636899661295517981748947181755455508354531978468257961736833961362065696833353658533132761602116359691611467673753186367608346451570001314076703005323447126988996820885761910879888943262491175453851643581079758569161303230543443236782558392750410859361349476096601470548180312718363037810845782404315180797274350058657176002760021562977137549562487499074896001765447532284575605488673087151819607571028614096393001443603 746844910072237263957311930355624814660156460936514115014373783898558837508400193286976147753656966982946127573452587920616862925103467518909055386877893947748643224694712974949734375922945127979653937128917378025789725133425604758086065647341967263128066085207415942193664432178662148564537236885110591793867524524756352975526351747703371427030150766509535232683667696045166334942269097634242098559632636082104115087733973356154523906865403969785785777730537576396366611667776767790005833695741254227863167912830296575584156303948425246036001274448062697052136125616066328271841970565251419225132960683601526717245493035487247178660483210859213572769577056936672521408007789712586165630286494387354553111808906145233961921736979152993667657209665497494439878307216532204898356797423246092314336978550401247892851736361414651907750680285998852496210892963890632837524734168351050811736803368639308626951376990251551892932823662226205529006530219005532500169581303585263676349521728365961547042486048444077229499997884192796715804259667910395180045455782116873354170915644532054656292161599069590408801030850178097981805426918042605511932566771187028606790098166158808078674909815403206888051127281683757219595512356342091258024968129610939505303923580501222038115831614537512967941875594192219872639379379880777476916791342193725115103081815569992378267425623694942352827717478132670417013361066525478512372883123434510099497054255392025155620610947348235389985302783819972528069019775313798335245166247379812492590321291009560265555631086016629212534422046698243728226462878964484727683621791393270714187082228389489087958351406074570884899224696024401329376367461876874862803594692251486060554648709730938566977262130365425565996097610775667730147815971409860864961719848638833707009176273773143290111268433241272975886842414683691949669419677087290627227717929816751151369126160276952367960443306045117442003465480995299864803360526200753268491692885416088623952021377009963550315793816814442620654041471020571153662451593161063449911517559891547664419372494320475184457950082217386478901185099893415387977003069990379037221863913483829788343729773801499638478996329271934960693928445088579923839318460002626342756791268658368087086893159687414819879694212079 1208420448821738578754046752422262885876606850296391573390622361285430430789002242814705049680554109737492055263803831626444941810389823940587926323046455446431939523581681171453506590086695326037159084764145159440568725124570734389153375774568185256786416769757613782599552372609881879154688268429276060300723819395412746117329235908896709156934754589973303497966880206566956178662394419374716256116128235781212876823301275069248872057126451013362623965609753448028359228591174226467803439644958997472490200591171018428547730089119912468148707615747514310519059191210899568539640059351611380918184011022994290260663285885780538136699562521079724331375866896748002120317502333595599449867325713534323230377225907905337590582868308241106025665100210529979340764913968817025290137688012688939499092924741565835996810097471063191143219460801117211675275735905159922167186518008638880280427133061358476952893954494251542901463941614709982464997991360982489091922636983784779242446022185757959059685705861978870897652232764476108502945657305458790767562452173110482706037589758817583573142491418764843456217919703352280418882991370456083723490171419113088906263940161592900329051761258301658246878559473727586491235564157723403485308767483750672819340276975468276163102994904230888077342470734287550601109307794551388938227293772336746763214963834022322365395125096683110100191691417606859024003294001071412446505325510847234905784508425827934592897146970191605069673286628159106242371696269151509329826558416469101741793389357211858269328520814555072617446936804076617971024789252875888662140917730301274471645912123292202550676710549782778876611775799938484853595940247412039882837288030880989319122863289652913126787585117829029987847350961068434328600944913580766749339785199917747251087618420820414783493915194548006274042922489499643170295700313986951922745699678763932906824634514808930836218405042879078804069162314348958397936122128317112960103160559169274991560367828579964864392496822137889747643038291906333064542340536423554625365369203472627422988533797551018627694732640610136889760546449369511989447551250303097400259674759266234103524527048151558295654999089293497937831478007576078998735320225450158627332396757331455238906500730716028916272695655682 1955265358893975842711358682777887700536763311232905688404996145183989268297402436101681197434211076720438182837256419547061804735493291459496981709924349394180582748276394146403240966009640454016813021893062537466358450257996339147239441421910152519914482854965029724793216804788544027719225505314386652094591343920169099092855587656600080583964905356482838730650547902612122513604663517008958354675760871863316991911035248425403395963991854983148409743340291024424725840258950994257809273340700251700353368504001315004131886393068337714184708890195577007571195316826965896811482029916862800143316971706595816977908778921267785315360045731938937904145443953684674641725510123308185615497612207921677783489034814050571552504605287394099693322309876027473780643221185349230188494485435935031813429903291967083889661833832477843050970141087116064171486628869050555004711252176989931092163936429997785579845331484503094794396765276936187994004521579988021592092218287370042918795543914123920606728191910422948127152230648668905218749916973369185947607907955227356060208505403349638229434653017834433865018950553530378400688418288498689235422738190300117513054038327751708407726671073704865134929686755411343710831076514065494743333735613361612324644200555969498201218826518768401045284346328479770473748687174432166415144085114530471878318045649592314743662550720378052453019408895739529441016655067596890958878208634281745005281562681219959748517757917539840459658589411979078770440716044465307665071724663848914234383710648221418534884151900571701829981358850774861699251252131840373389824539521694545185832994351681691638635061955857349761511000495962886182972307709288914745640882723132475379677511999383851693764847248194455553843448571844102058748760884990627614301505048556580958096794694593558073605183627789279249929764904183335119965119991074242549973417608580684058193760675085883204178848348924196246072627795344258262739482654517866228594853444585363615512389205589928414708290638952332368297079762926904218204792129584618075276886763364175087407906291871493812152682722827523368661731549262927377424554320293476437481538672750063891868256821953057934133995418565432898525406452664658922574638685452784970089188025989823325993393890403443736152389867761 3163685807715714421465405435200150586413370161529297261795618506469419699086404678916386247114765186457930238101060251173506746545883115400084908032970804840612522271858075317856747556096335780053972106657207696906927175382567073536392817196478337776700899624722643507392769177398425906873913773743662712395315163315581845210184823565496789740899659946456142228617428109179078692267057936383674610791889107644529868734336523494652268021118305996511033708950044472453085068850125220725612712985659249172843569095172333432679616482188250182333416505943091318090254508037865465351122089268474181061500982729590107238572064807048323452059608253018662235521310850432676762043012456903785065364937921456001013866260721955909143087473595635205718987410086557453121408135154166255478632173448623971312522828033532919886471931303541034194189601888233275846762364774210477171897770185628811372591069491356262532739285978754637695860706891646170459002512940970510684014855271154822161241566099881879666413897772401819024804463413145013721695574278827976715170360128337838766246095162167221802577144436599277321236870256882658819571409658954772958912909609413206419317978489344608736778432332006523381808246229138930202066640671788898228642503097112285143984477531437774364321821422999289122626817062767321074857994968983555353371378886867218641533009483614637109057675817061162553211100313346388465019949068668303405383534145128979911066071107047894341414904887731445529331876040138185012812412313616816994898283080318015976177100005433276804212672715126774447428295654851479670276041384716262051965457251995819657478906474973894189311772505640128638122776295901371036568247956700954628478170754013464698800375289036764820552432366023485541690799532912536387349705798571394363641290248474328209184413115413972857099098822337285523972687393682978290260820305061194472719117287344616965018395189894814040397253391803275050141790109693216660675604782834979188698014003754638607072757034169893279100787461090222115940118054833237282747132666008172700642255966836802510396440089422512439847415363437660258422277998632439366872105570596573837741213432016297995392783870104616229788994507858930836356884460240737921309958910902943597421584783321278564899894621119472652425085523443 5118951166609690264176764117978038286950133472762202950200614651653408967383807115018067444548976263178368420938316670720568551281376406859581889742895154234793105020134469464259988522105976234070785128550270234373285625640563412683632258618388490296615382479687673232185985982186969934593139279058049364489906507235750944303040411222096870324864565302938980959267976011791201205871721453392632965467649979507846860645371771920055663985110160979659443452290335496877810909109076214983421986326359500873196937599173648436811502875256587896518125396138668325661449824864831362162604119185336981204817954436185924216480843728316108767419653984957600139666754804117351403768522580211970680862550129377678797355295536006480695592078883029305412309719962584926902051356339515485667126658884559003125952731325500003776133765136018877245159742975349340018248993643261032176609022362618742464755005921354048112584617463257732490257472168582358453007034520958532276107073558524865080037110014005800273142089682824767151956694061813918940445491252197162662778268083565194826454600565516860032011797454433711186255820810413037220259827947453462194335647799713323932372016817096317144505103405711388516737932984550273912897717185854392971976238710473897468628678087407272565540647941767690167911163391247091548606682143415721768515464001397690519851055133206951852720226537439215006230509209085917906036604136265194364261742779410724916347633788267854089932662805271285988990465452117263783253128358082124659970007744166930210560810653654695339096824615698476277409654505626341369527293516556635441789996773690364843311900826655585827946834461497478399633776791864257219540555665989869374119053477145940078477887288420616514317279614217941095534248104756638446098466683562021977942795297030909167281207810007530930704282450126564773902452297866313410225940296135437022692534895925301023212155864980697244576101740727471296214417905037474923415087437352845417292867448340002222585146239759821693809078100042554484237197817760141500951924795592790775919142730200977597804346381294006252000098086265183627084009547895366744296659890890050275222752104766361887261040692057674163922989926424363734882290912905396843884597596355728567510772809311101890893288511522916388577475391204 8282636974325404685642169553178188873363503634291500211996233158122828666470211793934453691663741449636298659039376921894075297827259522259666797775865959075405627291992544782116736078202312014124757235207477931280212801023130486220025075814866828073316282104410316739578755159585395841467053052801712076885221670551332789513225234787593660065764225249395123187885404120970279898138779389776307576259539087152376729379708295414707932006228466976170477161240379969330895977959201435709034699312018750046040506694345981869491119357444838078851541902081759643751704332902696827513726208453811162266318937165776031455052908535364432219479262237976262375188065654550028165811535037115755746227488050833679811221556257962389838679552478664511131297130049142380023459491493681741145758832333182974438475559359032923662605696439559911439349344863582615865011358417471509348506792548247553837346075412710310645323903442012370186118179060228528912009547461929042960121928829679687241278676113887679939555987455226586176761157474958932662141065531025139377948628211903033592700695727684081834588941891032988507492691067295696039831237606408235153248557409126530351689995306440925881283535737717911898546179213689204114964357857643291200618741807586182612613155618845046929862469364766979290537980454014412623464677112399277121886842888264909161384064616821588961777902354500377559441609522432306371056553204933497769645276924539704827413704895315748431347567693002731518322341492255448796065540671698941654868290824484946186737910659087972143309497330825250724837950160477821039803334901272897493755454025686184500790807301629480017258606967137607037756553087765628256108803622690824002597224231159404777278262577457381334869711980241426637225047637669174833448172482133416341584085545505237376465620925421503787803381272463850297875139691549291700486760601196631495411652183269917988230551054875511284973355132530746346356208014730691584090692220187824605990881452094640829657903273929714972909865561132776600177315872593378783699057461600963476561398697037780108200786470716518691847513449702843885506287546527806111168765461486624112963965536782659882653824562162290393711984434283294571239175373146134765194556507258672164932357592632380455793183132642389041002560914647 13401588140935094949818933671156227160313637107053703162196847809776237633854018908952521136212717712814667079977693592614643849108635929119248687518761113310198732312127014246376724600308288248195542363757748165653498426663693898903657334433255318369931664584097989971764741141772365776060192331859761441375128177787083733816265646009690530390628790552334104147153380132761481104010500843168940541727189066660223590025080067334763595991338627955829920613530715466208706887068277650692456685638378250919237444293519630306302622232701425975369667298220427969413154157767528189676330327639148143471136891601961955671533752263680540986898916222933862514854820458667379569580057617327726427090038180211358608576851793968870534271631361693816543606850011727306925510847833197226812885491217741977564428290684532927438739461575578788684509087838931955883260352060732541525115814910866296302101081334064358757908520905270102676375651228810887365016581982887575236229002388204552321315786127893480212698077138051353328717851536772851602586556783222302040726896295468228419155296293200941866600739345466699693748511877708733260091065553861697347584205208839854284062012123537243025788639143429300415284112198239478027862075043497684172594980518060080081241833706252319495403117306534669458449143845261504172071359255814998890402306889662599681235119750028540814498128891939592565672118731518224277093157341198692133907019703950429743761338683583602521280230498274017507312806944372712579318669029781066314838298568651876397298721312742667482406321946523727002247604666104162409330628417829532935545450799376549344102708128285065845205441428635085437390329879629885475649359288680693376716277708305344855756149865877997849186991594459367732759295742425813279546639165695438319526880842536146543746828735429034718507663722590415071777591989415605110712700897332068518104187079195219011442706919856208529549456873258217642570625919768166507505779657540670023283748900434643052243049513689536666718943661175331084414513690353520284650982257193754252480541427238757706005132852010524943847611535968027512590297094423172855465425352376674388186717641549021769914865254219964557634974360707658306121466286051531609079154103614400732443130401943482346686471644165305429580036305851 21684225115260499635461103224334416033677140741345203374193080967899066300324230702886974827876459162450965739017070514508719146935895451378915485294627072385604359604119559028493460678510600262320299598965226096933711227686824385123682410248122146443247946688508306711343496301357761617527245384661473518260349848338416523329490880797284190456393015801729227335038784253731761002149280232945248117986728153812600319404788362749471527997567094932000397774771095435539602865027479086401491384950397000965277950987865612175793741590146264054221209200302187613164858490670225017190056536092959305737455828767737987126586660799044973206378178460910124890042886113217407735391592654443482173317526231045038419798408051931260372951183840358327674903980060869686948970339326878967958644323550924952002903850043565851101345158015138700123858432702514571748271710478204050873622607459113850139447156746774669403232424347282472862493830289039416277026129444816618196350931217884239562594462241781160152254064593277939505479009011731784264727622314247441418675524507371262011855992020885023701189681236499688201241202945004429299922303160269932500832762617966384635752007429978168907072174881147212313830291411928682142826432901140975373213722325646262693854989325097366425265586671301648748987124299275916795536036368214276012289149777927508842619184366850129776276031246439970125113728253950530648149710546132189903552296628490134571175043578899350952627798191276749025635148436628161375384209701480007969706589393136822584036631971830639625715819277348977727085554826581983449133963319102430429300904825062733844893515429914545862464048395772692475146882967395513731758162911371517379313501939464749633034412443335379184056703574700794369984343380094988112994811647828854661110966388041383920212449660850538506311044995054265369652731680964896811199461498528700013515839262465136999673257974731719814522812005788963988926833934498858091596471877728494629274630352529283881900952787619251639628809222308107684591829562946899068350039718794717729041940124276537814205919322727043635695124985670871398096584640950978966634190813863298501150683178331681652568689816382254951346958794990952877360641659197666374273710610873072897375487994575862802479654776807694470582597220498 35085813256195594585280036895490643193990777848398906536389928777675303934178249611839495964089176875265632818994764107123362996044531380498164172813388185695803091916246573274870185278818888510515841962722974262587209654350518284027339744681377464813179611272606296683108237443130127393587437716521234959635478026125500257145756526806974720847021806354063331482192164386493242106159781076114188659713917220472823909429868430084235123988905722887830318388301810901748309752095756737093948070588775251884515395281385242482096363822847690029590876498522615582578012648437753206866386863732107449208592720369699942798120413062725514193277094683843987404897706571884787304971650271771208600407564411256397028375259845900130907222815202052144218510830072596993874481187160076194771529814768666929567332140728098778540084619590717488808367520541446527631532062538936592398738422369980146441548238080839028161140945252552575538869481517850303642042711427704193432579933606088791883910248369674640364952141731329292834196860548504635867314179097469743459402420802839490431011288314085965567790420581966387894989714822713162560013368714131629848416967826806238919814019553515411932860814024576512729114403610168160170688507944638659545808702843706342775096823031349685920668703977836318207436268144537420967607395624029274902691456667590108523854304116878670590774160138379562690785846985468754925242867887330882037459316332440564314936382262482953473908028689550766532947955381000873954702878731261074284544887961788698981335353284573307108122141223872704729333159492686145858464591736931963364846355624439283188996223558199611707669489824407777912537212847025399207407522200052210756029779647770094488790562309213377033243695169160162102743639122520801392541450813524292980637847230577530463959278396279573224818708717644680441430323670380501921912162395860768531620026341660356011115964894587928344072268879047181631497459854267024599102251535269164652558379252963926934144002301308788306347752883483438769006343253300419353001021975988471981522481551515295520211052174737568579542736521638898910686881735374151822099616166239972889337400819880703422483555070602219508981933155698611183482107945249197983352864714487473629818618396519345149166126420972999900162633526349 56770038371456094220741140119825059227667918589744109910583009745574370234502480314726470791965636037716598558011834621632082142980426831877079658108015258081407451520366132303363645957329488772836141561688200359520920882037342669151022154929499611256427557961114603394451733744487889011114683101182708477895827874463916780475247407604258911303414822155792558817230948640225003108309061309059436777700645374285424228834656792833706651986472817819830716163072906337287912617123235823495439455539172252849793346269250854657890105412993954083812085698824803195742871139107978224056443399825066754946048549137437929924707073861770487399655273144754112294940592685102195040363242926214690773725090642301435448173667897831391280173999042410471893414810133466680823451526486955162730174138319591881570235990771664629641429777605856188932225953243961099379803773017140643272361029829093996580995394827613697564373369599835048401363311806889719919068840872520811628930864823973031446504710611455800517206206324607232339675869560236420132041801411717184878077945310210752442867280334970989268980101818466076096230917767717591859935671874401562349249730444772623555566026983493580839932988905723725042944695022096842313514940845779634919022425169352605468951812356447052345934290649137966956423392443813337763143431992243550914980606445517617366473488483728800367050191384819532815899575239419285573392578433463071941011612960930698886111425841382304426535826880827515558583103817629035330087088432741082254251477354925521565371985256403946733837960501221682456418714319268129307598555056034393794147260449502017033889738988114157570133538220180470387684095814420912939165685111423728135343281587234844121824974752548756217300398743860956472727982502615789505536262461353147641748813618618914384171728057130111731129753712698945811083055351345398733111623894389468545135865604125493010789222869319648158595080884836145620424293788765882690698723412997659281833009605493210816044955088928039945976562105791546453598172816247318421351061694783189710564421675791833334416971497464612215237861507309770308783466376325130788733806980103271390488083998212385075052244886984474460328891950689564060842749604446864357626575325360546527194106391095207951645781197780694370745230746847 91855851627651688806021177015315702421658696438143016446972938523249674168680729926565966756054812912982231377006598728755445139024958212375243830921403443777210543436612705578233831236148377283351983524411174622108130536387860953178361899610877076069607169233720900077559971187618016404702120817703943437531305900589417037621003934411233632150436628509855890299423113026718245214468842385173625437414562594758248138264525222917941775975378540707661034551374717239036222369218992560589387526127947504734308741550636097139986469235841644113402962197347418778320883787545731430922830263557174204154641269507137872722827486924496001592932367828598099699838299256986982345334893197985899374132655053557832476548927743731522187396814244462616111925640206063674697932713647031357501703953088258811137568131499763408181514397196573677740593473785407627011335835556077235671099452199074143022543632908452725725514314852387623940232793324740023561111552300225005061510798430061823330414958981130440882158348055936525173872730108741055999355980509186928337480366113050242873878568649056954836770522400432463991220632590430754419949040588533192197666698271578862475380046537008992772793802930300237772059098632265002484203448790418294464831128013058948244048635387796738266602994626974285163859660588350758730750827616272825817672063113107725890327792600607470957824351523199095506685422224888040498635446320793953978470929293371263201047808103865257900443855570378282091531059198629909284789967164002156538796365316714220546707338540977253841960101725094387185751873811954275166063146792966357158993616073941300222885962546313769277803028044588248300221308661446312146573207311475938891373061235004938610615537061762133250544093913021118575471621625136590898077713274877440622386660849196444848131006453409684955948462430343626252513379021725900655023786290250237076755891945785849021905187763907576502667349763883327251921753643032907289800974948266823934391388858457137750188957390236828252324314989274985222604516069547737774352083670771661692086903227307128854628023672202180794780598028948669219470348111699282610833423146343244279825484818093088497535799957586693969310825106388175244324857549696062340979440039848020157012724787614553100811907618753694270907864273196 148625889999107783026762317135140761649326615027887126357555948268824044403183210241292437548020448950698829935018433350387527282005385044252323489029418701858617994956978837881597477193477866056188125086099374981629051418425203622329384054540376687326034727194835503472011704932105905415816803918886651915427133775053333818096251342015492543453851450665648449116654061666943248322777903694233062215115207969043672367099182015751648427961851358527491750714447623576324134986342228384084826981667119757584102087819886951797876574648835598197215047896172221974063754926653709654979273663382240959100689818644575802647534560786266488992587640973352211994778891942089177385698136124200590147857745695859267924722595641562913467570813286873088005340450339530355521384240133986520231878091407850692707804122271428037822944174802429866672819427029368726391139608573217878943460482028168139603539027736066423289887684452222672341596105131629743480180393172745816690441663254034854776919669592586241399364554380543757513548599668977476131397781920904113215558311423260995316745848984027944105750624218898540087451550358148346279884712462934754546916428716351486030946073520502573612726791836023962815003793654361844797718389636197929383853553182411553713000447744243790612537285276112252120283053032164096493894259608516376732652669558625343256801281084336271324874542908018628322584997464307326072028024754257025919482542254301962087159233945247562326979682451205797650114163016258944614877055596743238793047842671639742112079323797381200575798062226316069642170588131222404473661701849000750953140876523443317256775701534427926847936566264768718687905404475867225085738892422899667026716342822239782732440511814310889467844492656882075048199604127752380403613975736230588264135474467815359232302734510539796687078216143042572063596434373071299388135410184639705621891757549911342032694410633227224661262430648719472872346047431798789980499698361264483216224398463950348566233912479164868198300877095066531676202688885795056195703145365554851402651324903098962189044995169666793010018459536258439528253814488024413399567230126446515670313568816305473572588044844571168429639717057077739305167607154142926698606015365208566684206831178709761052457688816534388641653095020043 240481741626759471832783494150456464070985311466030142804528886792073718571863940167858404304075261863681061312025032079142972421030343256627567319950822145635828538393591543459831308429626243339540108610510549603737181954813064575507745954151253763395641896428556403549571676119723921820518924736590595352958439675642750855717255276426726175604288079175504339416077174693661493537246746079406687652529770563801920505363707238669590203937229899235152785265822340815360357355561220944674214507795067262318410829370523048937863043884677242310618010093519640752384638714199441085902103926939415163255331088151713675370362047710762490585520008801950311694617191199076159731033029322186489521990400749417100401271523385294435654967627531335704117266090545594030219316953781017877733582044496109503845372253771191446004458571999003544413412900814776353402475444129295114614559934227242282626082660644519149015401999304610296281828898456369767041291945472970821751952461684096678107334628573716682281522902436480282687421329777718532130753762430091041553038677536311238190624417633084898942521146619331004078672182948579100699833753051467946744583126987930348506326120057511566385520594766324200587062892286626847281921838426616223848684681195470501957049083132040528879140279903086537284142713620514855224645087224789202550324732671733069147129073684943742282698894431217723829270419689195366570663471075050979897953471547673225288207042049112820227423538021584079741645222214888853899667022760745395331844207988353962658786662338358454417758163951410456827922461943176679639724848641967108112134492597384617479661664080741696125739594309356966988126713137313537232312099734375605918089404057244721343056048876073022718388586569903193623671225752888971301691689011108028886522135317011804080433740963949481643026678573386198316109813394797200043159196474889942698647649495697191054599598397134801163929780412602800124267801074831697270300673309531307150615787322407486316422869869401696450625192084341516898807204955342793970055229036326513094738228130406091043673018841868973804799057565207108747724162599723696010400653272789759950139053634398562070123844802157862398950542163465914549492464703838989039585455405056586841219555966324314153269596435288082912560959293239 389107631625867254859545811285597225720311926493917269162084835060897762975047150409150841852095710814379891247043465429530499703035728300879890808980240847494446533350570381341428785623104109395728233696609924585366233373238268197837130008691630450721676623623391907021583381051829827236335728655477247268385573450696084673813506618442218719058139529841152788532731236360604741860024649773639749867644978532845592872462889254421238631899081257762644535980269964391684492341903449328759041489462187019902512917190410000735739618533512840507833057989691862726448393640853150740881377590321656122356020906796289478017896608497028979578107649775302523689396083141165337116731165446387079669848146445276368325994119026857349122538440818208792122606540885124385740701193915004397965460135903960196553176376042619483827402746801433411086232327844145079793615052702512993558020416255410422229621688380585572305289683756832968623425003587999510521472338645716638442394124938131532884254298166302923680887456817024040200969929446696008262151544350995154768596988959572233507370266617112843048271770838229544166123733306727446979718465514402701291499555704281834537272193578014139998247386602348163402066685940988692079640228062814153232538234377882055670049530876284319491677565179198789404425766652678951718539346833305579282977402230358412403930354769280013607573437339236352151855417153502692642691495829308005817436013801975187375366275994360382554403220472789877391759385231147798514544078357488634124892050659993704770865986135739654993556226177726526470093050074399084113386550490967859065275369120827934736437365615169622973676160574125685676032117613180762318050992157275272944805746879484504075496560690383912186233079226785268671870829880641351705305664747338617150657609784827163312736475474489278330104894716428770379706247767868499431294606659529648320539407045608533087294009030362025825192211061322272996613848506630487250800371670795790366840185786357834882656782348566564648926069179408048575009893841137850165758374401881364497389553033505053232718014011535766814817517101465548275977977087748109409967883399236275620452622450704035642711889646729030828590259220543653854660071857981915738191470770265153525426387145034075205727285251822471554214054313282 629589373252626726692329305436053689791297237959947411966613721852971481546911090577009246156170972678060952559068497508673472124066071557507458128931062993130275071744161924801260094052730352735268342307120474189103415328051332773344875962842884214117318520051948310571155057171553749056854653392067842621344013126338835529530761894868944894662427609016657127948808411054266235397271395853046437520174749096647513377826596493090828835836311156997797321246092305207044849697464670273433255997257254282220923746560933049673602662418190082818451068083211503478833032355052591826783481517261071285611351994948003153388258656207791470163627658577252835384013274340241496847764194768573569191838547194693468727265642412151784777506068349544496239872631430718415960018147696022275699042180400069700398548629813810929831861318800436955499645228658921433196090496831808108172580350482652704855704349025104721320691683061443264905253902044369277562764284118687460194346586622228210991588926740019605962410359253504322888391259224414540392905306781086196321635666495883471697994684250197741990792917457560548244795916255306547679552218565870648036082682692212183043598313635525706383767981368672363989129578227615539361562066489430377081222915573352557627098614008324848370817845082285326688568480273193806943184434058094781833302134902091481551059428454223755890272331770454075981125836842698059213354966904358985715389485349648412663573318043473202781826758494373957133404607446036652414211101118234029456736258648347667429652648474098109411314390129136983298015512017575763753111399132934967177409861718212552216099029695911319099415754883482652664158830750494299550363091891650878862895150936729225418552609566456934904621665796688462295542055633530323006997353758446646037179745101838967393170216438438759973131573289814968695816061162665699474453803134419591019187056541305724141893607427496826989121991473925073120881649581462184521101044980327097517455973108765321199079652217968261099551261263749565473817098796480644135813603438207877592127781163911144276391032853404740619616574666672657023702139687471805420368536672026035570591676085102597712835734448886893227540801384009568404152536561820904777776926175321740366645943111358389358996881687110554466775013606521 1018697004878493981551875116721650915511609164453864681128698556913869244521958240986160088008266683492440843806111962938203971827101799858387348937911303840624721605094732306142688879675834462130996576003730398774469648701289600971182005971534514664838995143675340217592738438223383576293190382047545089889729586577034920203344268513311163613720567138857809916481539647414870977257296045626686187387819727629493106250289485747512067467735392414760441857226362269598729342039368119602192297486719441302123436663751343050409342280951702923326284126072903366205281425995905742567664859107582727407967372901744292631406155264704820449741735308352555359073409357481406833964495360214960648861686693639969837053259761439009133900044509167753288362479172315842801700719341611026673664502316304029896951725005856430413659264065601870366585877556503066512989705549534321101730600766738063127085326037405690293625981366818276233528678905632368788084236622764404098636740711560359743875843224906322529643297816070528363089361188671110548655056851132081351090232655455455705205364950867310585039064688295790092410919649562033994659270684080273349327582238396494017580870507213539846382015367971020527391196264168604231441202294552244530313761149951234613297148144884609167862495410261484116092994246925872758661723780891400361116279537132449893954989783223503769497845769109690428132981253996200751856046462733666991532825499151623600038939594037833585336229978967163834525163992677184450928755179475722663581628309308341372200518634609837764404870616306863509768108562091974847866497949623902826242685230839040486952536395311080942073091915457608338340190948363675061868414084048926151807700897816213729494049170256840847090854745023473730967412885514171674712303018505785263187837354886666130705906691912928038303236468006243739075522308930534198905748409793949239339726463586914257229187616457858852814314202535247346117495498088092671771901416651122887884296158895123156081736434566534825748477330443157614048826992637618494301571977840089242089517334197416197509109046864940507434434091768138205299680116775219914830336420071262311191044298535806633355547624095615924056131060604553222258812608419802820515968396945586893892072330256392464564724166938933026020989067919803 1648286378131120708244204422157704605302906402413812093095312278766840726068869331563169334164437656170501796365180460446877443951167871415894807066842366833754996676838894230943948973728564814866264918310850872963573064029340933744526881934377398878956313663727288528163893495394937325350045035439612932511073599703373755732875030408180108508382994747874467044430348058469137212654567441479732624907994476726140619628116082240602896303571703571758239178472454574805774191736832789875625553483976695584344360410312276100082944943369893006144735194156114869684114458350958334394448340624843798693578724896692295784794413920912611919905362966929808194457422631821648330812259554983534218053525240834663305780525403851160918677550577517297784602351803746561217660737489307048949363544496704099597350273635670241343491125384402307322085522785161987946185796046366129209903181117220715831941030386430795014946673049879719498433932807676738065647000906883091558831087298182587954867432151646342135605708175324032685977752447895525089047962157913167547411868321951339176903359635117508327029857605753350640655715565817340542338822902646143997363664921088706200624468820849065552765783349339692891380325842396219770802764361041674907394984065524587170924246758892934016233313255343769442781562727199066565604908214949495142949581672034541375506049211677727525388118100880144504114107090838898811069401429638025977248214984501272012702512912081306788118056737461537791658568600123221103342966280593956693038364567956689039630171283083935873816185006436000493066124074109550611619609348756837793420095092557253039168635425006992261172507670341090991004349779114169361418777175940577030670596048752942954912601779823297781995476410820162193262954941147701997719300372264231909225017099988505098099076908351366798276368041296058707771338370093199898380202212928368830358913520128219981371081223885355679803436194009172419238377147669554856293002461631449985401752132003888477280816086784503086848028591706907179522644091434099138437385581278297119681645115361327341785500079718345248054050666434810862323382256462691720250704956743288346761635974620909231068383358544502817283671861988562790662965144981623725293745323120908634258718273367750853923721048626043580487764081526324 2666983383009614689796079538879355520814515566867676774224010835680709970590827572549329422172704339662942640171292423385081415778269671274282156004753670674379718281933626537086637853404399276997261494314581271738042712730630534715708887905911913543795308807402628745756631933618320901643235417487158022400803186280408675936219298921491272122103561886732276960911887705884008189911863487106418812295814204355633725878405567988114963771307095986518681035698816844404503533776200909477817850970696136886467797074063619150492287224321595929471019320229018235889395884346864076962113199732426526101546097798436588416200569185617432369647098275282363553530831989303055164776754915198494866915211934474633142833785165290170052577595086685051072964830976062404019361456830918075623028046813008129494301998641526671757150389450004177688671400341665054459175501595900450311633781883958778959026356423836485308572654416697995731962611713309106853731237529647495657467828009742947698743275376552664665249005991394561049067113636566635637703019009045248898502100977406794882108724585984818912068922294049140733066635215379374536998093586726417346691247159485200218205339328062605399147798717310713418771522106564824002243966655593919437708745215475821784221394903777543184095808665605253558874556974124939324266631995840895504065861209166991269461038994901231294885963869989834932247088344835099562925447892371692968781040483652895612741452506119140373454286716428701626183732592800405554271721460069679356619992877265030411830689917693773638221055622742864002834232636201525459486107298380740619662780323396293526121171820318073203245599585798699329344540727477844423287191259989503182478296946569156684406650950080138629086331155843635924230367826661873672431603390770017172412854454875171228804983600264294836579604509302302446846860679023734097285950622722318069698639983715134238600268840343214532617750396544419765355872645757647528064903878282572873286048290899011633362552521351037912596505922150064793571471084071717632738957559118386361771162449558743539294609126583285755488484758202949067623062373237911635081041376814550657952680273156715864423930982640118741339802922593116012921777753401426545809713720066495528150790603624143318488445215564976606508753149446127 4315269761140735398040283961037060126117421969281488867319323114447550696659696904112498756337141995833444436536472883831958859729437542690176963071596037508134714958772520768030586827132964091863526412625432144701615776759971468460235769840289312422751622471129917273920525429013258226993280452926770954911876785983782431669094329329671380630486556634606744005342235764353145402566430928586151437203808681081774345506521650228717860074878799558276920214171271419210277725513033699353443404454672832470812157484375895250575232167691488935615754514385133105573510342697822411356561540357270324795124822695128884200994983106530044289552461242212171747988254621124703495589014470182029084968737175309296448614310569141330971255145664202348857567182779808965237022194320225124572391591309712229091652272277196913100641514834406485010756923126827042405361297642266579521536963001179494790967386810267280323519327466577715230396544520985844919378238436530587216298915307925535653610707528199006800854714166718593735044866084462160726750981166958416445913969299358134059012084221102327239098779899802491373722350781196715079336916489372561344054912080573906418829808148911670951913582066650406310151847948961043773046731016635594345103729281000408955145641662670477200329121920949023001656119701324005889871540210790390647015442881201532644967088206578958820274081970869979436361195435673998373994849322009718946029255468154167625443965418200447161572343453890239417842301192923626657614687740663636049658357445221719451460861200777709512037240629178864495900356710311076071105716647137578413082875415953546565289807245325065464418107256139790320348890506592013784705968435930080213148892995322099639319252729903436411081807566663798117493322767809575670150903763034249081637871554863676326904060508615661634855972550598361154618199049116933995666152835650686900057553503843354219971350064228570212421186590553592184594249793427202384357906339914022858687800422902900110643368608135540999444534513856971973094115175505816771176343140396683481452807564920070881080109206301631003542535424637759929946444629700603355331746333557839004714316247777625095492314341184621558623474784581678803584742898383050271103459043187404162409508876991894172412166264191020186996517230972451 6982253144150350087836363499916415646931937536149165641543333950128260667250524476661828178509846335496387076707765307217040275507707213964459119076349708182514433240706147305117224680537363368860787906940013416439658489490602003175944657746201225966546931278532546019677157362631579128636515870413928977312679972264191107605313628251162652752590118521339020966254123470237153592478294415692570249499622885437408071384927218216832823846185895544795601249870088263614781259289234608831261255425368969357279954558439514401067519392013084865086773834614151341462906227044686488318674740089696850896670920493565472617195552292147476659199559517494535301519086610427758660365769385380523951883949109783929591448095734431501023832740750887399930532013755871369256383651151143200195419638122720358585954270918723584857791904284410662699428323468492096864536799238167029833170744885138273749993743234103765632091981883275710962359156234294951773109475966178082873766743317668483352353982904751671466103720158113154784111979721028796364454000176003665344416070276764928941120808807087146151167702193851632106788985996576089616335010076098978690746159240059106637035147476974276351061380783961119728923370055525867775290697672229513782812474496476230739367036566448020384424930586554276560530676675448945214138172206631286151081304090368523914428127201480190115160045840859814368608283780509097936920297214381411914810295951807063238185417924319587535026630170318941044026033785724032211886409200733315406278350322486749863291551118471483150258296251921728498734589346512601530591823945518319032745655739349840091410979065643138667663706841938489649693431234069858207993159695919583395627189941891256323725903679983575040168138722507434041723690594471449342582507153804266254050726009738847555709044108879956471435577059900663601465059728140668092952103458373004969756193487558488458571618904571784745038936987098011949950122439184849912422810218196595731973848713801911744005921129486578912041040436007036766665586259577534403915300699515069843223970014478814420374718332884916759031020182840708997569507002938514990412787710372389662666996520934340959916245323824740299963277707174794816506520651784476816913172763253899690560299480616037490900611479755996793505270380418578 11297522905291085485876647460953475773049359505430654508862657064575811363910221380774326934846988331329831513244238191048999135237144756654636082147945745690649148199478668073147811507670327460724314319565445561141274266250573471636180427586490538389298553749662463293597682791644837355629796323340699932224556758247973539274407957580834033383076675155945764971596359234590298995044725344278721686703431566519182416891448868445550683921064695103072521464041359682825058984802268308184704659880041801828092112042815409651642751559704573800702528348999284447036416569742508899675236280446967175691795743188694356818190535398677520948752020759706707049507341231552462155954783855562553036852686285093226040062406303572831995087886415089748788099196535680334493405845471368324767811229432432587677606543195920497958433419118817147710185246595319139269898096880433609354707707886317768540961130044371045955611309349853426192755700755280796692487714402708670090065658625594019005964690432950678266958434324831748519156845805490957091204981342962081790330039576123063000132893028189473390266482093654123480511336777772804695671926565471540034801071320633013055864955625885947302974962850611526039075218004486911548337428688865108127916203777476639694512678229118497584754052507503299562186796376772951104009712417421676798096746971570056559395215408059148935434127811729793804969479216183096310915146536391130860839551419961230863629383342520034696598973624209180461868334978647658869501096941396951455936707767708469314752412319249192662295536881100592994634946056823677601697540592655897445828531155303386656700786310968204132081814098078279970042321740661871992699128131849663608776082937213355963045156409887011451249946289171232159217013362281025012733410916838515335688597564602523882613104617495618106291549610499024756083258777257602088618256294023691869813746991401842678542968968800354957460123577651604134544372232612052296780716558110618590661649136704811854649289737622119911485574949864008739759701435083351175091643839911753324676777579398885301454827539186547762573555607478468927515951632639118345744534043930228667381312768711966055408559665009361858586752491756473620091263550167527088016631806441303852969808357607931663312777743947016980501787611391029 18279776049441435573713010960869891419981297041579820150405991014704072031160745857436155113356834666826218589952003498266039410744851970619095201224295453873163581440184815378265036188207690829585102226505458977580932755741175474812125085332691764355845485028195009313274840154276416484266312193754628909537236730512164646879721585831996686135666793677284785937850482704827452587523019759971291936203054451956590488276376086662383507767250590647868122713911447946439840244091502917015965915305410771185372066601254924052710270951717658665789302183613435788499322796787195387993911020536664026588466663682259829435386087690824997607951580277201242351026427841980220816320553240943076988736635394877155631510502038004333018920627165977148718631210291551703749789496622511524963230867555152946263560814114644082816225323403227810409613570063811236134434896118600639187878452771456042290954873278474811587703291233129137155114856989575748465597190368886752963832401943262502358318673337702349733062154482944903303268825526519753455658981518965747134746109852887991941253701835276619541434184287505755587300322774348894312006936641570518725547230560692119692900103102860223654036343634572645767998588060012779323628126361094621910728678273952870433879714795566517969178983094057576122717473052221896318147884624052962949178051061938580473823342609539339050594173652589608173577762996692194247835443750772542775649847371768294101814801266839622231625603794528121505894368764371691081387506142130266862215058090195219178043963437720675812553833133022321493369535403336279132289364538174216478574186894653226748111765376611342799745520940016769619735752974731730200692287827769247004403272879104612286771060089870586491418085011678666200940703956752474355315918070642781589739323574341371438322148726375574577727126670399688357548318505398270181570359752396696839569940478960331137114587873372139702499060564749616084494494671796902209203526776307214322635497850506723598655210867108698823526615385871045506425287694660885579006944539426823167900747593877699721829545872071464521604575790319177925085458635577633336157321754302618330048309289646307015324804988834102158550030198931268436597784201952003904929804569695203543530107838223969154213389223703013774007057991809607 29577298954732521059589658421823367193030656547010474659268648079279883395070967238210482048203822998156050103196241689315038545981996727273731283372241199563812729639663483451412847695878018290309416546070904538722207021991748946448305512919182302745144038777857472606872522945921253839896108517095328841761793488760138186154129543412830719518743468833230550909446841939417751582567745104250013622906486018475772905167824955107934191688315285750940644177952807629264899228893771225200670575185452573013464178644070333704353022511422232466491830532612720235535739366529704287669147300983631202280262406870954186253576623089502518556703601036907949400533769073532682972275337096505630025589321679970381671572908341577165014008513581066897506730406827232038243195342093879849731042096987585533941167357310564580774658742522044958119798816659130375404332992999034248542586160657773810831916003322845857543314600582982563347870557744856545158084904771595423053898060568856521364283363770653028000020588807776651822425671332010710546863962861927828925076149429011054941386594863466092931700666381159879067811659552121699007678863207042058760348301881325132748765058728746170957011306485184171807073806064499690871965555049959730038644882051429510128392393024685015553933035601560875684904269428994847422157597041474639747274798033508637033218558017598487986028301464319401978547242212875290558750590287163673636489398791729524965444184609359656928224577418737301967762703743019349950888603083527218318151765857903688492796375756969868474849370014122914488004481460159956733986905130830113924402718049956613404812551687579546931827335038095049589778074715393602193391415959618910613179355816317968249816216499757597942668031300849898360157717319033499368049328987481296925427921138943895320935253343871192684018676280898713113631577282655872270188616046420388709383687470362173815657556842172494659959184142401220219038866904408954505984243334417832913297146987211535453304500604730818735012190335735054246184989129744236754098588379338576492577525173276585023284373411258012284178131397797646852601410268216751681901855798232846997429622058358273070733364653843464017136782690687742056689047752119530992946436376136507396499916195831900817526166967650030754508845603200636 47857075004173956633302669382693258613011953588590294809674639093983955426231713095646637161560657664982268693148245187581077956726848697892826484596536653436976311079848298829677883884085709119894518772576363516303139777732924421260430598251874067100989523806052481920147363100197670324162420710849957751299030219272302833033851129244827405654410262510515336847297324644245204170090764864221305559109540470432363393444201041770317699455565876398808766891864255575704739472985274142216636490490863344198836245245325257757063293463139891132281132716226156024035062163316899675663058321520295228868729070553214015688962710780327516164655181314109191751560196915512903788595890337448707014325957074847537303083410379581498032929140747044046225361617118783741992984838716391374694272964542738480204728171425208663590884065925272768529412386722941611538767889117634887730464613429229853122870876601320669131017891816111700502985414734432293623682095140482176017730462512119023722602037108355377733082743290721555125694496858530464002522944380893576059822259281899046882640296698742712473134850668665634655111982326470593319685799848612577485895532442017252441665161831606394611047650119756817575072394124512470195593681411054351949373560325382380562272107820251533523112018695618451807621742481216743740305481665527602696452849095447217507041900627137827036622475116909010152125005209567484806586034037936216412139246163497819067258985876199279159850181213265423473657072507391041032276109225657485180366823948098907670840339194690544287403203147145235981374016863496235866276269669004330402976904944609840152924317064190889731572855978111819209513827690125332394083703787388157617582628695422580536587276589628184434086116312528564561098421275785973723365247058124078515167244713285266759257402070246767261745802951298401471179895788054142451758975798817085548953627949322504952772144715544634362458244707150836303533361576205856715187770110725047235932644837718259051959711471839517558538805721606099752610276824405122333105532918765399660478272767154284745113919283329476805782707188116824777686868903794385018059177552535465327477931348004580086058169642677566175686812889619010493286831954071534897876240945831710940030024034055869971739556191353044528515903595010243 77434373958906477692892327804516625806042610135600769468943287173263838821302680333857119209764480663138318796344486876896116502708845425166557767968777853000789040719511782281090731579963727410203935318647268055025346799724673367708736111171056369846133562583909954527019886046118924164058529227945286593060823708032441019187980672657658125173153731343745887756744166583662955752658509968471319182016026488908136298612025996878251891143881162149749411069817063204969638701879045367417307065676315917212300423889395591461416315974562123598772963248838876259570801529846603963332205622503926431148991477424168201942539333869830034721358782351017141152093965989045586760871227433954337039915278754817918974656318721158663046937654328110943732092023946015780236180180810271224425315061530324014145895528735773244365542808447317726649211203382071986943100882116669136273050774087003663954786879924166526674332492399094263850855972479288838781766999912077599071628523080975545086885400879008405733103332098498206948120168190541174549386907242821404984898408710910101824026891562208805404835517049825513722923641878592292327364663055654636246243834323342385190430220560352565568058956604940989382146200189012161067559236461014081988018442376811890690664500844936549077045054297179327492526011910211591162463078707002242443727647128955854540260458644736315022650776581228412130672247422442775365336624325099890048628644955227344032703170485558936088074758632002725441419776250410390983164712309184703498518589806002596163636714951660412762252573161268150469378498323656192600263174799834444327379622994566453557736868751770436663400191016206868799291902405518934587475119747007068230761984511740548786403493089385782376754147613378462921256138594819473091414576045605375440595165852229162080192655414117959945764479232197114584811473070710014721947591845237474258337315419684678768429701557717129022417428849552056522572228480614811221172013445142880149229791824929794505264212076570336293550996057341153998795265954149359087204121298103976153055797940430869768398292694587489089960838585914471630288279172011136699961033350768312324907553406362853156791534296521030192823595580306752549975879706191065890822677321968218336529940229887770789265723159003075283024749198210879 125291448963080434326194997187209884419054563724191064278617926267247794247534393429503756371325138328120587489492732064477194459435694123059384252565314506437765351799360081110768615464049436530098454091223631571328486577457597788969166709422930436947123086389962436447167249146316594488220949938795244344359853927304743852221831801902485530827563993854261224604041491227908159922749274832692624741125566959340499692056227038648569590599447038548558177961681318780674378174864319509633943556167179261411136669134720849218479609437702014731054095965065032283605863693163503638995263944024221660017720547977382217631502044650157550886013963665126332903654162904558490549467117771403044054241235829665456277739729100740161079866795075154989957453641064799522229165019526662599119588026073062494350623700160981907956426874372590495178623590105013598481868771234304024003515387516233517077657756525487195805350384215205964353841387213721132405449095052559775089358985593094568809487437987363783466186075389219762073814665049071638551909851623714981044720667992809148706667188260951517877970367718491148378035624205062885647050462904267213732139366765359637632095382391958960179106606724697806957218594313524631263152917872068433937392002702194271252936608665188082600157072992797779300147754391428334902768560372529845140180496224403072047302359271874142059273251698137422282797252632010260171922658363036106460767891118725163099962156361758215247924939845268148915076848757801432015440821534842188678885413754101503834477054146350957049655776308413386450752515187152428466539444468838774730356527939176293710661185815961326394973046994318688008805730095644266981558823534395225848344613207163129322990769679013966810840263925907027482354559870605446814779823103729453955762410565514428839450057484364727207510282183495516055991368858764157173706567644054559807290943369007183721201846273261763384875673556702892826105590056820667936359783555867927385162436662648053557223923548409853852089801778947253751405542778554481420309654216869375813534070707585154513512211977916965895743545774031296407975148075805521718020210903303777652385484754367433242849703939198596368510408469925763043262711660262600788698918267799929276559964263943640761005279350356119811540652793221122 202725822921986912019087324991726510225097173859791833747561213440511633068837073763360875581089618991258906285837218941373310962144539548225942020534092359438554392518871863391859347044013163940302389409870899626353833377182271156677902820593986806793256648973872390974187135192435518652279479166740530937420677635337184871409812474560143656000717725198007112360785657811571115675407784801163943923141593448248635990668253035526821481743328200698307589031498381985644016876743364877051250621843495178623437093024116440679895925412264138329827059213903908543176665223010107602327469566528148091166712025401550419574041378519987585607372746016143474055748128893604077310338345205357381094156514584483375252396047821898824126804449403265933689545665010815302465345200336933823544903087603386508496519228896755152321969682819908221827834793487085585424969653350973160276566161603237181032444636449653722479682876614300228204697359693009971187216094964637374160987508674070113896372838866372189199289407487717969021934833239612813101296758866536386029619076703719250530694079823160323282805884768316662100959266083655177974415125959921849978383201088702022822525602952311525747165563329638796339364794502536792330712154333082515925410445079006161943601109510124631677202127289977106792673766301639926065231639079532087583908143353358926587562817916610457081924028279365834413469500054453035537259282688135996509396536073952507132665326847317151335999698477270874356496625008211822998605533844026892177404003560104099998113769098011369811908349469681536920131013510808621066802619268673219057736150933742747268398054567731763058373238010525556808097632501163201569033943281402294079106597718903678109394262768399749187594411539285490403610698465424919906194399149334829396357576417743590919642712898482687153274761415692630640802841929474171895654159489292034065628258788691862489631547830978892407293102406254949348677818537435479157531797001010807534392228487577848062488135624980190145640797836288407750200808732703840507513775514973351966589868648016024281910504672504454985704384359945768038263427247816658417981244254072089977293038160730286399641238235719626561334004050232515593238591366453666679521595589768147613089904493831411550271002509359195094565401991432001 328017271885067346345282322178936394644151737583982898026179139707759427316371467192864631952414757319379493775329951005850505421580233671285326273099406865876319744318231944502627962508062600470400843501094531197682319954639868945647069530016917243740379735363834827421354384338752113140500429105535775281780531562641928723631644276462629186828281719052268336964827149039479275598157059633856568664267160407589135682724480074175391072342775239246865766993179700766318395051607684386685194178010674440034573762158837289898375534849966153060881155178968940826782528916173611241322733510552369751184432573378932637205543423170145136493386709681269806959402291798162567859805462976760425148397750414148831530135776922638985206671244478420923646999306075614824694510219863596422664491113676449002847142929057737060278396557192498717006458383592099183906838424585277184280081549119470698110102392975140918285033260829506192558538746906731103592665190017197149250346494267164682705860276853735972665475482876937731095749498288684451653206610490251367074339744696528399237361268084111841160776252486807810478994890288718063621465588864189063710522567854061660454620985344270485926272170054336603296583388816061423593865072205150949862802447781200433196537718175312714277359200282774886092821520693068260968000199452061932724088639577761998634865177188484599141197279977503256696266752686463295709181941051172102970164427192677670232627483209075366583924638322539023271573473766013255014046355378869080856289417314205603832590823244362326861564125778094923370883528697961049533342063737511993788092678872919040979059240383693089453346285004844244816903362596807468550592766815797519927451210926066807432385032447413715998434675465192517885965258336030366720974222253064283352119986983258019759092770382847414360785043599188146696794210788238329069360727133346593872919202157699046210833394104240655792168775962957842174783408594256147093891580556878734919554665150225901619712059173390043997730599615235661501606351511258321927823429731842727780123939355601178795422716650421420881447930133977064446238575323622180136001455157375867629678522915097719642490942174918222929844412520158278636501303026716267468220513857568076889649868757775052311276281859715314906106054784653123 530743094807054258364369647170662904869248911443774731773740353148271060385208540956225507533504376310638400061167169947223816383724773219511268293633499225314874136837103807894487309552075764410703232910965430824036153331822140102324972350610904050533636384337707218395541519531187631792779908272276306219201209197979113595041456751022772842828999444250275449325612806851050391273564844435020512587408753855837771673392733109702212554086103439945173356024678082751962411928351049263736444799854169618658010855182953730578271460262230291390708214392872849369959194139183718843650203077080517842351144598780483056779584801690132722100759455697413281015150420691766645170143808182117806242554264998632206782531824744537809333475693881686857336544971086430127159855420200530246209394201279835511343662157954492212600366240012406938834293177079184769331808077936250344556647710722707879142547029424794640764716137443806420763236106599741074779881284981834523411334002941234796602233115720108161864764890364655700117684331528297264754503369356787753103958821400247649768055347907272164443582137255124472579954156372373241595880714824110913688905768942763683277146588296582011673437733383975399635948183318598215924577226538233465788212892860206595140138827685437345954561327572751992885495286994708187033231838531594020307996782931120925222427995105095056223121308256869091109736252740916331246441223739308099479560963266630177365292810056392517919924336799809897628070098774225078012651889222895973033693420874309703830704592342373696673472475247776460291014542208769670600144683006185212845828829806661788247457294951424852511719523015369801625000995097970670119626710097199814006557808644970485541779295215813465186029087004478008289575956801455286627168621402399112748477563401001610678735483281330101514059805014880777337597052717712500965014886622638627938547460946390908700464941935219548199461878369212791523461227131691626251423377557889542453946893637803749682200194798370234143371397451524069251807160243962162435337205246816079746713808003617203077333221322925875867152314493922832484502002571438838553982699411447957606971561075828006042132180410637849491178416570390794229739894393169934147742109447336224502739773251606463861547284369074510000671456776085124 858760366692121604709651969349599299513400649027757629799919492856030487701580008149090139485919133630017893836497120953074321805305006890796594566732906091191193881155335752397115272060138364881104076412059962021718473286462009047972041880627821294274016119701542045816895903869939744933280337377812081500981740760621042318673101027485402029657281163302543786290439955890529666871721904068877081251675914263426907356117213183877603626428878679192039123017857783518280806979958733650421638977864844058692584617341791020476646995112196444451589369571841790196741723055357330084972936587632887593535577172159415693985128224860277858594146165378683087974552712489929213029949271158878231390952015412781038312667601667176794540146938360107780983544277162044951854365640064126668873885314956284514190805087012229272878762797204905655840751560671283953238646502521527528836729259842178577252649422399935559049749398273312613321774853506472178372546474999031672661680497208399479308093392573844134530240373241593431213433829816981716407709979847039120178298566096776049005416615991384005604358389741932283058949046661091305217346303688299977399428336796825343731767573640852497599709903438312002932531572134659639518442298743384415651015340641407028336676545860750060231920527855526878978316807687776448001232037983655953032085422508882923857293172293579655364318588234372347806003005427379626955623164790480202449725390459307847597920293265467884503848975122348920899643572540238333026698244601765053889982838188515307663295415586736023535036601025871383661898070906730720133486746743697206633921508679580829226516535335117941965065808020214046441904357694778138670219476912997333934009019571037292974164327663227181184463762469670526175541215137485653348142843655463396100597550384259630437828253664177515874844848614068924034391263505950830034375613755985221811466663104089954911298336039460203991630654332170633698244635725947773345314958114768277373501558788029651301912253971760278141101997066759730753413511755220484363160634978658807526837747359218381872755937973347296748600244627899896930740577895061018689984154568823825236650083990925725684623122585556072421022829090549072866241197419886201615962623304904301392389642009381516172823566228789824906777511560738247 1389503461499175863074021616520262204382649560471532361573659846004301548086788549105315647019423509940656293897664290900298138189029780110307862860366405316506068017992439560291602581612214129291807309323025392845754626618284149150297014231238725344807652504039249264212437423401127376726060245650088387720182949958600155913714557778508174872486280607552819235616052762741580058145286748503897593839084668119264679029509946293579816180514982119137212479042535866270243218908309782914158083777719013677350595472524744751054918455374426735842297583964714639566700917194541048928623139664713405435886721770939898750764713026550410580694905621076096368989703133181695858200093079340996037633506280411413245095199426411714603873622632241794638320089248248475079014221060264656915083279516236120025534467244966721485479129037217312594675044737750468722570454580457777873393376970564886456395196451824730199814465535717119034085010960106213253152427759980866196073014500149634275910326508293952296395005263606249131331118161345278981162213349203826873282257387497023698773471963898656170047940526997056755638903203033464546813227018512410891088334105739589027008914161937434509273147636822287402568479755453257855443019525281617881439228233501613623476815373546187406186481855428278871863812094682484635034463876515249973340082205440003849079721167398674711587439896491241438915739258168295958202064388529788301929286353725938024963213103321860402423773311922158818527713671314463411039350133824661026923676259062825011494000007929109720208509076273647843952912613115500390733631429749882419479750338486242617473973830286542794476785331035583848066905352792748808789846187010197147940566828216007778515943622879040646370492849474148534465117171938940939975311465057862508849075113785261241116563736945507617388904653628949701371988316223663330999390500378623849750014124050480863611763277974679752191092532701383425221705862857639399596738335672657819827448452425833400984112448770130512284473394518283800005220671999182646798497840225474887273551555362835584950089159296273172615752559121822729415242580466499857243966853980271782843621645066753731726755302996193921912201245660939867095981091813056135763704732752240525895129415260987980034370850597864334907448968336823371 2248263828191297467783673585869861503896050209499289991373579338860332035788368557254405786505342643570674187734161411853372459994334787001104457427099311407697261899147775312688717853672352494172911385735085354867473099904746158198269056111866546639081668623740791310029333327271067121659340583027900469221164690719221198232387658805993576902143561770855363021906492718632109725017008652572774675090760582382691586385627159477457419806943860798329251602060393649788524025888268516564579722755583857736043180089866535771531565450486623180293886953536556429763442640249898379013596076252346293029422298943099314444749841251410688439289051786454779456964255845671625071230042350499874269024458295824194283407867028078891398413769570601902419303633525410520030868586700328783583957164831192404539725272331978950758357891834422218250515796298421752675809101082979305402230106230407065033647845874224665758864214933990431647406785813612685431524974234979897868734694997358033755218419900867796430925245636847842562544551991162260697569923329050865993460555953593799747778888579890040175652298916738989038697852249694555852030573322200710868487762442536414370740681735578287006872857540260599405501011327587917494961461824025002297090243574143020651813491919406937466418402383283805750842128902370261083035695914498905926372167627948886772937014339692254366951758484725613786721742263595675585157687553320268504379011744185245872561133396587328286927622287044507739427357243854701744066048378426426080813659097251340319157295423515845743743545677299519227614810684022231110867118176493579626113671847165823446700490365621660736441851139055797894508809710487526947460065663923194481874575847787045071490107950542267827554956611943819060640658387076426593323454308713325904949672664169520871554391990609685133263749502243018625406379579729614161033766114134609071561480787154570818523061614014139956182723187033554058919950498583587172942053293787426097200950011213863052286024702741890790425575391585043530758634183754403131161658475204133694800389302722053966822845097269620469364352803749722626345983158361560875933951008549095608080271729057679457411378425581749994333224074751488939962222289232942337379667356057144827287519057270369496207194416826654159814226479897561618 3637767289690473330857695202390123708278699769970822352947239184864633583875157106359721433524766153511330481631825702753670598183364567111412320287465716724203329917140214872980320435284566623464718695058110747713227726523030307348566070343105271983889321127780040574241770750672194498385400828677988856941347640677821354146102216584501751774629842378408182257522545481373689783162295401076672268929845250501956265415137105771037235987458842917466464081102929516058767244796578299478737806533302871413393775562391280522586483905861049916136184537501271069330143557444439427942219215917059698465309020714039213195514554277961099019983957407530875825953958978853320929430135429840870306657964576235607528503066454490606002287392202843697057623722773658995109882807760593440499040444347428524565259739576945672243837020871639530845190841036172221398379555663437083275623483200971951490043042326049395958678680469707550681491796773718898684677401994960764064807709497507668031128746409161748727320250900454091693875670152507539678732136678254692866742813341090823446552360543788696345700239443736045794336755452728020398843800340713121759576096548276003397749595897515721516146005177082886808069491083041175350404481349306620178529471807644634275290307292953124872604884238712084622705940997052745718070159791014155899712249833388890622016735507090929078539198381216855225637481521763971543359751941850056806308298097911183897524346499909188689351395598966666557955070915169165155105398512251087107737335356314165330651295431444955463952054753573167071567723297137731501600749606243462045593422185652066064174464195908203530918636470091381742575715063280275756249911850933391629815142676003052850006051573421308473925449461417967595105775559015367533298765773771188413798747777954782112670955727555192750652654155871968326778367895953277492033156614513232921311494911205051682134824891988819708373815719734937484141656361441226572538791629460083917028398463639696453270137151512021302710048786103327330763854855753585777960156315429608582073940858084889551772934256565893641980105362871545355761225738828060733177917862529367390923893374124433189138133728577943916245425320412428807058203381045998473143372088809385353182648472531357476241565267424518494721675448234384989 5886031117881770798641368788259985212174749979470112344320818523724965619663525663614127220030108797082004669365987114607043058177699354112516777714565028131900591816287990185669038288956919117637630080793196102580700826427776465546835126454971818622970989751520831884271104077943261620044741411705889326162512331397042552378489875390495328676773404149263545279429038200005799508179304053649446944020605832884647851800764265248494655794402703715795715683163323165847291270684846816043317529288886729149436955652257816294118049356347673096430071491037827499093586197694337806955815292169405991494731319657138527640264395529371787459273009193985655282918214824524946000660177780340744575682422872059801811910933482569497400701161773445599476927356299069515140751394460922224082997609178620929104985011908924623002194912706061749095706637334593974074188656746416388677853589431379016523690888200274061717542895403697982328898582587331584116202376229940661933542404494865701786347166310029545158245496537301934256420222143669800376302060007305558860203369294684623194331249123678736521352538360475034833034607702422576250874373662913832628063858990812417768490277633094008523018862717343486213570502410629092845365943173331622475619715381787654927103799212360062339023286621995890373548069899423006801105855705513061826084417461337777394953749846783183445490956865942469012359223785359647128517439495170325310687309842096429770085479896496516976279017886011174297382428159023866899171446890677513188550994453565505649808590854960801207695600430872686299182533981159962612467867782737041671707094032817889510874954561529864267360487609147179637084524773767802703709977514856586111689718523790097921496159523963576301480406073361786655746433946091794126622220082484514318748420442124302984225347718164877883916403658114986952184747475682891653066922728647841992872975698359622500657886506002959664556538906768491543061606860024813745480844923247510014229348474853559505556161854253912093135624177688370861522489039507988909121814790633742276874330160806943518595779353835514111344458166621267982107208897189621609111868871078462999004165103182112646549512154159693910578649395163917747020425670278940810523039444866530180470167529801726972448759684251172654535901928131946607 9523798407572244129499063990650108920453449749440934697268057708589599203538682769973848653554874950593335150997812817360713656361063921223929098002030744856103921733428205058649358724241485741102348775851306850293928552950806772895401196798077090606860310879300872458512874828615456118430142240383878183103859972074863906524592091974997080451403246527671727536951583681379489291341599454726119212950451083386604117215901371019531891781861546633262179764266252681906058515481425115522055335822189600562830731214649096816704533262208723012566256028539098568423729755138777234898034508086465689960040340371177740835778949807332886479256966601516531108872173803378266930090313210181614882340387448295409340413999937060103402988553976289296534551079072728510250634202221515664582038053526049453670244751485870295246031933577701279940897478370766195472568212409853471953477072632350968013733930526323457676221575873405533010390379361050482800879778224901425998350113992373369817475912719191293885565747437756025950295892296177340055034196685560251726946182635775446640883609667467432867052777804211080627371363155150596649718174003626954387639955539088421166239873530609730039164867894426373021639993493670268195770424522638242654149187189432289202394106505313187211628170860707974996254010896475752519176015496527217725796667294726668016970485353874112524030155247159324237996705307123618671877191437020382116995607940007613667609826396405705665630413484977840855337499074193032054276845402928600296288329809879670980459886286405756671647655184445853370750257278297694114068617388980503717300516218469955575049418757438067798279124079238561379660239837048078459959889365789977741504861199793150771502211097384884775405855534779754250852209505107161659920985856255702732547168220079085096896303445720070634569057813986955278963115371636169145100079343161074914184470609564674182792711397991779372930354626503429027203263221466040318019636552707593931257746938493255958826299005765933395845672963791698192286343895261574687081971106063350858948271018891833070368713610401407753324563529492813337868434636017682342289786733607830389928058477306545835687645882737637826824074715576346554078629051324939283666411533675915533652816002333084448690324951675691149257577376366331596 15409829525454014928140432778910094132628199728911047041588876232314564823202208433587975873584983747675339820363799931967756714538763275336445875716595772988004513549716195244318397013198404858739978856644502952874629379378583238442236323253048909229831300630821704342783978906558717738474883652089767509266372303471906458903081967365492409128176650676935272816380621881385288799520903508375566156971056916271251969016665636268026547576264250349057895447429575847753349786166271931565372865111076329712267686866906913110822582618556396108996327519576926067517315952833115041853849800255871681454771660028316268476043345336704673938529975795502186391790388627903212930750490990522359458022810320355211152324933419629600803689715749734896011478435371798025391385596682437888665035662704670382775229763394794918248226846283763029036604115705360169546756869156269860631330662063729984537424818726597519393764471277103515339288961948382066917082154454842087931892518487239071603823079029220839043811243975057960206716114439847140431336256692865810587149551930460069835214858791146169388405316164686115460405970857573172900592547666540787015703814529900838934730151163703738562183730611769859235210495904299361041136367695969865129768902571219944129497905717673249550651457482703865369802080795898759320281871202040279551881084756064445411924235200657295969521112113101793250355929092483265800394630932190707427682917782104043437695306292902222641909431370989015152719927233216898953448292293606113484839324263445176630268477141366557879343255615318539669932791259457656726536485171717545389007610251287845085924373318967932065639611688385741016744764610815881163669866880646563853194579723583248692998370621348461076886261608141540906598643451198955786543205938740217051295588662203388081121651163884948518485461472101942231147862847319060798167002071808916907057446307924296683450597903994739037486893533271920570264870081490854063500481475955103945487095413346815464382460860019845488981297141480069053808832934769563596203785896697093135822601179698776588964492964236921864669021696114081319975643533207303951401655604686293388932223580488658482237158036897331737402724110740264301099054721603880094189450978542445714122983532134811421139084635926863803793479304498278203 24933627933026259057639496769560203053081649478351981738856933940904164026740891203561824527139858698268674971361612749328470370899827196560374973718626517844108435283144400302967755737439890599842327632495809803168557932329390011337637520051125999836691611510122576801296853735174173856905025892473645692370232275546770365427674059340489489579579897204607000353332205562764778090862502963101685369921507999657856086232567007287558439358125796982320075211695828529659408301647697047087428200933265930275098418081556009927527115880765119121562583548116024635941045707971892276751884308342337371414812000399494009311822295144037560417786942397018717500662562431281479860840804200703974340363197768650620492738933356689704206678269726024192546029514444526535642019798903953553247073716230719836445474514880665213494258779861464308977501594076126365019325081566123332584807734696080952551158749252920977069986047150509048349679341309432549717961932679743513930242632479612441421298991748412132929376991412813986157012006736024480486370453378426062314095734566235516476098468458613602255458093968897196087777334012723769550310721670167741403343770068989260100970024694313468601348598506196232256850489397969629236906792218608107783918089760652233331892012222986436762279628343411840366056091692374511839457886698567497277677752050791113428894720554531408493551267360261117488352634399606884472271822369211089544678525722111657105305132689307928307539844855966856008057426307409931007725137696534713781127654073324847610728363427772314550990910799764393040683048537755350840605102560698049106308126469757800660973792076405999863918735767624302396405004447863959623629756246436541594699440923376399464500581718733345852292117142921295157450852956306117446464191794995919783842756882282473178017954609605019153054519286088897510110978218955229943267081414969991821241916917488970866243309301986518410417248159775349597468133302956894381520118028662697876744842351840071423208759865785778884826970105271767246095176830031138283285757002760443994770872198590609659333206574638329617993585225606894657844078169224986293691442338294123778860282057795204317924803919634969564226798826316610855177683772928819377855862512218361247775799534467895869829409587602554953051056680864609799 40343457458480273985779929548470297185709849207263028780445810173218728849943099637149800400724842445944014791725412681296227085438590471896820849435222290832112948832860595547286152750638295458582306489140312756043187311707973249779873843304174909066522912140944281144080832641732891595379909544563413201636604579018676824330756026705981898707756547881542273169712827444150066890383406471477251526892564915929108055249232643555584986934390047331377970659125404377412758087813968978652801066044342259987366104948462923038349698499321515230558911067692950703458361660805007318605734108598209052869583660427810277787865640480742234356316918192520903892452951059184692791591295191226333798386008089005831645063866776319305010367985475759088557507949816324561033405395586391441912109378935390219220704278275460131742485626145227338014105709781486534566081950722393193216138396759810937088583567979518496463750518427612563688968303257814616635044087134585601862135150966851513025122070777632971973188235387871946363728121175871620917706710071291872901245286496695586311313327249759771643863410133583311548183304870296942450903269336708528419047584598890099035700175858017207163532329117966091492060985302268990278043159914577972913686992331872177461389917940659686312931085826115705735858172488273271159739757900607776829558836806855558840818955755188704463072379473362910738708563492090150272666453301401796972361443504215700543000438982210150949449276226955871160777353540626829961173429990140827265966978336770024240996840569138872430334166415082932710615839797213007567141587732415594495315736721045645746898165395373931929558347456010043413149769058679840787299623127083105447894020646959648157498952340081806929178378751062836064049496407505073233007397733736136835138345544485861259139605773489967671539980758190839741258841066274290741434083486778908728299363225413267549693907205981257447904141693047270167733003384447748445020599504617801822231937765186886887591220725805624373808267246751836299904009764800701879489542899457537130593473378289386248297699538875251482662606921720975977819721702432290245093097942980417167792505638283862800161961956532301301629522937056875156276738494532699472045313490760806961898783066602707290968494223529418756844535985362888002 65277085391506533043419426318030500238791498685615010519302744114122892876683990840711624927864701144212689763087025430624697456338417668457195823153848808676221384116004995850253908488078186058424634121636122559211745244037363261117511363355300908903214523651066857945377686376907065452284935437037058894006836854565447189758430086046471388287336445086149273523045033006914844981245909434578936896814072915586964141481799650843143426292515844313698045870821232907072166389461666025740229266977608190262464523030018932965876814380086634352121494615808975339399407368776899595357618416940546424284395660827304287099687935624779794774103860589539621393115513490466172652432099391930308138749205857656452137802800133009009217046255201783281103537464260851096675425194490344995159183095166110055666178793156125345236744406006691646991607303857612899585407032288516525800946131455891889639742317232439473533736565578121612038647644567247166353006019814329115792377783446463954446421062526045104902565226800685932520740127911896101404077163449717935215341021062931102787411795708373373899321504102480507635960638883020712001213991006876269822391354667879359136670200552330675764880927624162323748911474700238619514949952133186080697605082092524410793281930163646123075210714169527546101914264180647782999197644599175274107236588857646672269713676309720112956623646833624028227061197891697034744938275670612886517039969226327357648305571671518079256989121082922727168834779848036760968898567686675541047094632410094871851725203996911186981325077214847325751298888334968358407746690293113643601623863190803446407871957471779931793477083223634345809554773506543800410929379373519647042593461570336047621999534058815152781470495893984131221500349363811190679471589528732056618981102426768334437157560383094986824594500044279737251369819285229520684701164901748900549541280142902238415937216507967775858321389852822619765201136687404642826540717533280499698976780117026958310799980591591403258635237352023603545999186594831840162775299902217981125364345576879995907630906113513581100656192147327870635663799871657276538784540281274540946652787696079067118086765876167270865856321763373486011454422267461518849901176002979168209674582601070603160797903811131973709895592666227497801 105620542849986807029199355866500797424501347892878039299748554287341621726627090477861425328589543590156704554812438111920924541777008140354016672589071099508334332948865591397540061238716481517006940610776435315254932555745336510897385206659475817969737435792011139089458519018639957047664844981600472095643441433584124014089186112752453286995092992967691546692757860451064911871629315906056188423706637831516072196731032294398728413226905891645076016529946637284484924477275635004393030333021950450249830627978481856004226512879408149582680405683501926042857769029581906913963352525538755477153979321255114564887553576105522029130420778782060525285568464549650865444023394583156641937135213946662283782866666909328314227414240677542369661045414077175657708830590076736437071292474101500274886883071431585476979230032151918985005713013639099434151488983010909719017084528215702826728325885211957969997487084005734175727615947825061782988050106948914717654512934413315467471543133303678076875753462188557878884468249087767722321783873521009808116586307559626689098725122958133145543184914236063819184143943753317654452117260343584798241438939266769458172370376410347882928413256742128415240972460002507609792993112047764053611292074424396588254671848104305809388141799995643251837772436668921054158937402499783050936795425664502231110532632064908817419696026306986938965769761383787185017604728972014683489401412730543058191306010653728230206438397309878598329612133388663590930071997676816368313061610746864896092722044566050059411659243629930258461914728132181365974888278025529238096939599911849092154770122867153863723035430679644389222704542565223641198229002500602752490487482217295695779498486398896959710648874645046967285549845771316263912478987262468193454119447971254195696297166156584954496134480802470576992628660351503811426135248388527809277840643368315505965631123713949033306225531545869889932934140071852391271561317037898301521208717882213845198391201317397027632443504598775439845903196359632542042264842801675518255957818955169382155928605652388832583318799069048846613483521574089566783877638224254958114445293334362929918248727832699572167485844700430361167731160761994218321946489493739975171573365667673310451766398034661392466740128651590385803 170897628241493340072618782184531297663292846578493049819051298401464514603311081318573050256454244734369394317899463542545621998115425808811212495742919908184555717064870587247793969726794667575431574732412557874466677799782699772014896570014776726872951959443077997034836205395547022499949780418637530989650278288149571203847616198798924675282429438053840820215802893457979756852875225340635125320520710747103036338212831945241871839519421735958774062400767870191557090866737301030133259599999558640512295151008500788970103327259494783934801900299310901382257176398358806509320970942479301901438374982082418851987241511730301823904524639371600146678683978040117038096455493975086950075884419804318735920669467042337323444460495879325650764582878338026754384255784567081432230475569267610330553061864587710822215974438158610631997320317496712333736896015299426244818030659671594716368068202444397443531223649583855787766263592392308949341056126763243833446890717859779421917964195829723181778318688989243811405208376999663823725861036970727743331927328622557791886136918666506519442506418338544326820104582636338366453331251350461068063830293934648817309040576962678558693294184366290738989883934702746229307943064180950134308897156516920999047953778267951932463352514165170797939686700849568837158135047098958325044032014522148903380246308374628930376319673140610967192830959275484219762543004642627570006441381956870415839611582325246309463427518392801325498446913236700351898970565363491909360156243156959767944447248562961246392984320844777584213213616467149724382634968318642881698563463102652538562642080338933795516512513903278735032259316071767441609158381874122399533080943787631743401498020457712112492119370539031098507050195135127454591950576791200250073100550398022530133454726539679941320728980846750314243998479636733332110836413290276709827381923511217744381568340221916809164546921398692509698135276759257034098102034571178801220185497999240803509191181908988430891078741950799043391902382954464382205040142703893499381322164532049378063559511765902413683974991216376717249147321445746843322662178505529499061098081030441997036335493708866843033342166463803847179185583029455737171847665496719143381247948268743913612564301845793366176635721317817883604 276518171091480147101818138051032095087794194471371089118799852688806136329938171796434475585043788324526098872711901654466546539892433949165229168331991007692890050013736178645334030965511149092438515343188993189721610355528036282912281776674252544842689395235089136124294724414186979547614625400238003085293719721733695217936802311551377962277522431021532366908560753909044668724504541246691313744227348578619108534943864239640600252746327627603850078930714507476042015344012936034526289933021509090762125778986982644974329840138902933517482305982812827425114945427940713423284323468018057378592354303337533416874795087835823853034945418153660671964252442589767903540478888558243592013019633750981019703536133951665637671874736556868020425628292415202412093086374643817869301768043369110605439944936019296299195204470310529617003033331135811767888384998310335963835115187887297543096394087656355413528710733589589963493879540217370732329106233712158551101403652273094889389507329133401258654072151177801690289676626087431546047644910491737551448513636182184480984862041624639664985691332574608146004248526389656020905448511694045866305269233201418275481410953373026441621707441108419154230856394705253839100936176228714187920189230941317587302625626372257741851494314160814049777459137518489891317072449598741375980827440186651134490778940439537747796015699447597906158600720659271404780147733614642253495842794687413474030917592978974539669865915702679923828059046625363942829042563040308277673217853903824664037169293129011305804643564474707842675128344599331090357523246344172119795503063014501630717412203206087659239547944582923124254963858636991082807387384374725152023568426004927439180996506856609072202768245184078065792600040906443718504429564053668443527219998369276725829751892696264895816863461649220891236627139988237143536971661678804519105222566879533250347199463935865842470772452944562399631069416831109425369663351609077102741394215881454648707582383226385458523522246549574483237805579314096924247304985505569017637279983487218760219488117418291246267293790285425563862630843019836410106539816729784457175543374364804926954584221541566415200828011164234208346916743791449955493794154990459118552821313936417224064330699880454758643375849969408269407 447415799332973487174436920235563392751087041049864138937851151090270650933249253115007525841498033058895493190611365197012168538007859757976441664074910915877445767078606765893128000692305816667870090075601551064188288155310736054927178346689029271715641354678167133159130929809734002047564405818875534074943998009883266421784418510350302637559951869075373187124363647367024425577379766587326439064748059325722144873156696184882472092265749363562624141331482377667599106210750237064659549533021067731274420929995483433944433167398397717452284206282123728807372121826299519932605294410497359280030729285419952268862036599566125676939470057525260818642936420629884941636934382533330542088904053555299755624205600994002961116335232436193671190211170753229166477342159210899301532243612636720935993006800607007121411178908469140249000353648632524101625281013609762208653145847558892259464462290100752857059934383173445751260143132609679681670162360475402384548294370132874311307471524963124440432390840167045501694885003087095369773505947462465294780440964804742272870998960291146184428197750913152472824353109025994387358779763044506934369099527136067092790451530335705000315001625474709893220740329408000068408879240409664322229086387458238586350579404640209674314846828325984847717145838368058728475207496697699701024859454708800037871025248814166678172335372588208873351431679934755624542690738257269823502284176644283889870529175304220849133293434095481249326505959862064294728013128403800187033374097060784431981616541691972552197627885319485426888341961066480814740158214662815001494066526117154169280054283545021454756060458486201859287223174708758524416545766248847551556649369792559182582494527314321184694887615723109164299650236041571173096380140844868693600320548767299255963206619235944837137592442495971205480625619624970475647808074969081228932604490390750994728767804157782651635319374343254909329204693590366459467765386180255903961579713880695452216773565135373889414600988500373526629707962268561306452345128209462517018602148019268138283047629184193659951268781501802281111778164465583253429201995235313956236641455395246923990919715250433258234170177628038055526102326820905692665641820487178261934069262205161137676895001726248124820011571287226153011 723933970424453634276255058286595487838881235521235228056651003779076787263187424911442001426541821383421592063323266851478715077900293707141670832406901923570335817092342944538462031657816965760308605418790544253909898510838772337839460123363281816558330749913256269283425654223920981595179031219113537160237717731616961639721220821901680599837474300096905554032924401276069094301884307834017752808975407904341253408100560424523072345012076991166474220262196885143641121554763173099185839466042576822036546708982466078918763007537300650969766512264936556232487067254240233355889617878515416658623083588757485685736831687401949529974415475678921490607188863219652845177413271091574134101923687306280775327741734945668598788209968993061691615839463168431578570428533854717170834011656005831541432951736626303420606383378779669866003386979768335869513666011920098172488261035446189802560856377757108270588645116763035714754022672827050413999268594187560935649698022405969200696978854096525699086462991344847191984561629174526915821150857954202846228954600986926753855861001915785849413889083487760618828601635415650408264228274738552800674368760337485368271862483708731441936709066583129047451596724113253907509815416638378510149275618399556173653205031012467416166341142486798897494604975886548619792279946296441077005686894895451172361804189253704425968351072035806779510032400594027029322838471871912076998126971331697363901446768283195388803159349798161173154565006487428237557055691444108464706591950964609096018785834820983858002271449794193269563470305665811905097681461006987121289569589131655799997466486751109113995608403069124983542187033345749607223933150623572703580217795797486621763491034170930256897655860907187230092250276948014891600809704898537137127540547136575981792958511932209732954455904145192096717252759613207619184779736647885748037827057270284245075967268093648494106091827287817308960274110421475884837428737789333006702973929762150100924355948361759347938123235049948009867513541582658230699650113715031534655882131506486898502535746602484906218562571787227844974409007485419663535741811965098413412184829760051850945503936791999673434998188792272263873019070612355648159435975477637380486890576141578361741225701606702883463387421256634422418 1171349769757427121450691978522158880589968276571099366994502154869347438196436678026449527268039854442317085253934632048490883615908153465118112496481812839447781584170949710431590032350122782428178695494392095318098186666149508392766638470052311088273972104591423402442556584033654983642743437037989071235181715741500228061505639332251983237397426169172278741157288048643093519879264074421344191873723467230063398281257256609405544437277826354729098361593679262811240227765513410163845388999063644553310967638977949512863196174935698368422050718547060285039859189080539753288494912289012775938653812874177437954598868286968075206913885533204182309250125283849537786814347653624904676190827740861580530951947335939671559904545201429255362806050633921660745047770693065616472366255268642552477425958537233310542017562287248810115003740628400859971138947025529860381141406883005082062025318667857861127648579499936481466014165805436730095669430954662963320197992392538843512004450379059650139518853831511892693679446632261622285594656805416668141009395565791669026726859962206932033842086834400913091652954744441644795623008037783059735043468287473552461062314014044436442251710692057838940672337053521253975918694657048042832378362005857794760003784435652677090481187970812783745211750814254607348267487442994140778030546349604251210232829438067871104140686444624015652861464080528782653865529210129181900500411147975981253771975943587416237936452783893642422481070966349492532285068819847908651739966048025393528000402376512956410199899335113678696451812266732292719837839675669802122783636115248809969277520770296130568751668861555326842829410208054508131640478916872420255136867165590045804345985561485251441592543476630296394391900512989586064697189845743405830727861095903875237756165131168154570092048346641163302197878379238178094832587811616966976970431547661035239804735072251431145741411201631072218289478804011842344305194123969588910664553643642845553141129513497133237352724223550321536497221503851219537151995241924494051674484279525755036785583375786678566169831353289030126086187171951002916964943807200412369648826285155298774936423652042432931669168366420310319399121397433261340825077795964815642420959838346739499418120703332951008283398992543860575429 1895283740181880755726947036808754368428849512092334595051153158648424225459624102937891528694581675825738677317257898899969598693808447172259783328888714763018117401263292654970052064007939748188487300913182639572008085176988280730606098593415592904832302854504679671725982238257575965237922468257102608395419433473117189701226860154153663837234900469269184295190212449919162614181148382255361944682698875134404651689357817033928616782289903345895572581855876147954881349320276583263031228465106221375347514347960415591781959182472999019391817230811996841272346256334779986644384530167528192597276896462934923640335699974370024736888301008883103799857314147069190631991760924716478810292751428167861306279689070885340158692755170422317054421890097090092323618199226920333643200266924648384018858910273859613962623945666028479981007127608169195840652613037449958553629667918451271864586175045614969398237224616699517180768188478263780509668699548850524255847690414944812712701429233156175838605316822856739885664008261436149201415807663370870987238350166778595780582720964122717883255975917888673710481556379857295203887236312521612535717837047811037829334176497753167884188419758640967988123933777634507883428510073686421342527637624257350933656989466665144506647529113299582642706355790141155968059767389290581855036233244499702382594633627321575530109037516659822432371496481122809683188367682001093977498538119307678617673422711870611626739612133691803595635635972836920769842124511292017116446557998990002624019188211333940268202170784907871966015282572398104624935521136676789244073205704380465769274987257047239682747277264624451826371597241400257738864412067495992958717084961387532426109476595656181698490199337537483624484150789937600956297999550641942967855401643040451219549123643100364303046504250786355398915131138851385714017367548264852725008258604931319484880702340345079639847503028918889527249752914433318229142622861758921917367527573404995654065485461858892585290847458600269546364735045433877767851645355639525586330366411032241935288119122389163472388393925076257971060596179436422580500685619165510783061011114915350625881927588834432605104166555212582583272140468045616988984513771442453022907850414488317861159346404939653891746786413800494997847 3066633509939307877177639015330913249018817788663433962045655313517771663656060780964341055962621530268055762571192530948460482309716600637377895825370527602465898985434242365401642096358062530616665996407574734890106271843137789123372737063467903993106274959096103074168538822291230948880665905295091679630601149214617417762732499486405647074632326638441463036347500498562256134060412456676706136556422342364468049970615073643334161219567729700624670943449555410766121577085789993426876617464169865928658481986938365104645155357408697387813867949359057126312205445415319739932879442456540968535930709337112361594934568261338099943802186542087286109107439430918728418806108578341383486483579169029441837231636406825011718597300371851572417227940731011753068665969919985950115566522193290936496284868811092924504641507953277290096010868236570055811791560062979818934771074801456353926611493713472830525885804116635998646782354283700510605338130503513487576045682807483656224705879612215825978124170654368632579343454893697771487010464468787539128247745732570264807309580926329649917098062752289586802134511124298939999510244350304672270761305335284590290396490511797604326440130450698806928796270831155761859347204730734464174905999630115145693660773902317821597128717084112366387918106604395763316327254832284722633066779594103953592827463065389446634249723961283838085232960561651592337053896892130275877998949267283659871445398655458027864676064917585446018116706939186413302127193331139925768186524047015396152019590587846896678402070120021550662467094839130397344773360812346591366856841819629275738552508027343370251498946126179778669201007449454765870504890984368413213853952126977578230455462157141433140082742814167780018876051302927187020995189396385348798583262738944326457305288774268518873138552597427518701113009518089563808849955359881819701978690152592354724685437412596510785588914230549961745539231718445160573447816985728510828032081217047841207206614975356025822643571682150591082861956549285097305003640597564019638004850690557996972073702498175842038558225278365288097146783351387425497465629426365923152709837400070649400818351240876865536773334921632892902671261865478878329809591567407268665328810252835057360577467108272604900030185406344355573276 4961917250121188632904586052139667617447667300755768557096808472166195889115684883902232584657203206093794439888450429848430081003525047809637679154259242365484016386697535020371694160366002278805153297320757374462114357020126069853978835656883496897938577813600782745894521060548806914118588373552194288026020582687734607463959359640559310911867227107710647331537712948481418748241560838932068081239121217498872701659972890677262778001857633046520243525305431558721002926406066576689907845929276087304005996334898780696427114539881696407205685180171053967584551701750099726577263972624069161133207605800047285235270268235708124680690487550970389908964753577987919050797869503057862296776330597197303143511325477710351877290055542273889471649830828101845392284169146906283758766789117939320515143779084952538467265453619305770077017995844739251652444173100429777488400742719907625791197668759087799924123028733335515827550542761964291115006830052364011831893373222428468937407308845372001816729487477225372465007463155133920688426272132158410115486095899348860587892301890452367800354038670178260512616067504156235203397480662826284806479142383095628119730667009550772210628550209339774916920204608790269742775714804420885517433637254372496627317763368982966103776246197411949030624462394536919284387022221575304488103012838603655975422096692711022164358761477943660517604457042774402020242264574131369855497487386591338489118821367328639491415677051277249613752342912023334071969317842431942884633082046005398776038778799180836946604240904929422628482377411528501969708881949023380610930047524009741507827495284390609934246223390804230495572604690855023609369303051864406172571037088365110656564938752797614838572942151705263643360202092864787977293188947027291766438664381984777676854412417368883176185056848213874100028140656940949522867322908146672426986948757523674209566139752941590425436417259468851272788984632878478802590439847487432745399608790452836861272100437214918407934419140750860629226691594718975072855285953203545224335217101590238907361821620565005510946619203441546068207379530823848077966315045531433935770848514986000026700278829711298141877501476845475485943402333524495318794105338849721688236660667323375221736813513212258791776971820144850571123 8028550760060496510082225067470580866466485089419202519142463785683967552771745664866573640619824736361850202459642960796890563313241648447015574979629769967949915372131777385773336256724064809421819293728332109352220628863263858977351572720351400891044852772696885820063059882840037862999254278847285967656621731902352025226691859126964957986499553746152110367885213447043674882301973295608774217795543559863340751630587964320596939221425362747144914468754986969487124503491856570116784463393445953232664478321837145801072269897290393795019553129530111093896757147165419466510143415080610129669138315137159646830204836497046224624492674093057676018072193008906647469603978081399245783259909766226744980742961884535363595887355914125461888877771559113598460950139066892233874333311311230257011428647896045462971906961572583060173028864081309307464235733163409596423171817521363979717809162472560630450008832849971514474332897045664801720344960555877499407939056029912125162113188457587827794853658131594005044350918048831692175436736600945949243733841631919125395201882816782017717452101422467847314750578628455175202907725013130957077240447718380218410127157521348376537068680660038581845716475439946031602122919535155349692339636884487642320978537271300787700904963281524315418542568998932682600714277053860027121169792432707609568249559758100468798608485439227498602837417604425994357296161466261645733496436653874998360564220022786667356091741968862695631869049851209747374096511173571868652819606093020794928058369387027733625006311024950973290949472250658899314482242761369971977786889343639017246380003311733980185745169516984009164773612140309789479874194036232819386424989215342688887020400909939047978655684965873043662236253395791974998288378343412640565021927120929104134159701191637402049323609445641392801141150175030513331717278268028492128965638910116028934251577165538101211025331490018813018328216351323639376038256833215943573431690007500678068478715412570944230577990822901451712088648144004072377858926550767564862340067792148235879435524118740847549504844481806834165354162882211273575431944471897357088480685915056649427518630070588163678650836398478368388614664199003373648603696906256990353565470920158432582314280621484863691807157226489206144399 12990468010181685142986811119610248483914152390174971076239272257850163441887430548768806225277027942455644642348093390645320644316766696256653254133889012333433931758829312406145030417090067088226972591049089483814334985883389928831330408377234897788983430586297668565957580943388844777117842652399480255682642314590086632690651218767524268898366780853862757699422926395525093630543534134540842299034664777362213453290560854997859717223282995793665157994060418528208127429897923146806692309322722040536670474656735926497499384437172090202225238309701165061481308848915519193087407387704679290802345920937206932065475104732754349305183161644028065927036946586894566520401847584457108080036240363424048124254287362245715473177411456399351360527602387215443853234308213798517633100100429169577526572426980998001439172415191888830250046859926048559116679906263839373911572560241271605509006831231648430374131861583307030301883439807629092835351790608241511239832429252340594099520497302959829611583145608819377509358381203965612863863008733104359359219937531267985983094184707234385517806140092646107827366646132611410406305205675957241883719590101475846529857824530899148747697230869378356762636680048736301344898634339576235209773274138860138948296300640283753804681209478936264449167031393469601885101299275435331609272805271311265543671656450811490962967246917171159120441874647200396377538426040393015588993924040466336849683041390115306847507419020139945245621392763233081446065829016003811537452688139026193704097148186208570571610551929880395919431849662187401284191124710393352588716936867648758754207498596124590119991392907788239660346216831164813089243497088097225558996026303707799543585339662736662817228627117578307305596455488656762975581567290439932331460591502913881811014113609006285225508666293855266901169290831971462854584601176175164555952587667639703143817716918479691636461748749487664291117200984202118178628696680703376318831298797953514929750815849785862638512409963652312341315339738723047450714212503971110086675284893738474786797345739305853060451463685248380233561542413035121653398259517428791024251534430042649454218908900299461820528337875323843874558066532527868967397802245106712041802131587481807804051094134697122483584129046634056715522 21019018770242181653069036187080829350380637479594173595381736043534130994659176213635379865896852678817494844807736351442211207630008344703668829113518782301383847130961089791918366673814131897648791884777421593166555614746653787808681981097586298680028283358994554386020640826228882640117096931246766223339264046492438657917343077894489226884866334600014868067308139842568768512845507430149616516830208337225554204921148819318456656444708358540810072462815405497695251933389779716923476772716167993769334952978573072298571654334462483997244791439231276155378065996080938659597550802785289420471484236074366578895679941229800573929675835737085741945109139595801213990005825665856353863296150129650793104997249246781079069064767370524813249405373946329042314184447280690751507433411740399834538001074877043464411079376764471890423075724007357866580915639427248970334744377762635585226815993704209060824140694433278544776216336853293894555696751164119010647771485282252719261633685760547657406436803740413382553709299252797305039299745334050308602953779163187111378296067524016403235258241515113955142117224761066585609212930689088198960960037819856064939984982052247525284765911529416938608353155488682332947021553874731584902112911023347781269274837911584541505586172760460579867709600392402284485815576329295358730442597704018875111921216208911959761575732356398657723279292251626390734834587506654661322490360694341335210247261412901974203599160989002640877490442614442828820162340189575680190272294232046988632155517573236304196616862954831369210381321912846300598673367471763324566503826211287776000587501907858570305736562424772248825119828971474602569117691124330044945421015519050488430605740572675710795884312083451350967832708884448737973869945633852572896482518623842985945173814800643687274832275739496659702310441007001976186301879444203656684918226577755732078069294084017792847487080239506477309445417335525757554666953513919319892262988805454192998229531262356806869090400786553764053403987882727119828573139054738674949015352685886710666232869858046700609956308167055214398915705295246395228830203989326148112732220345099298881737538970887625499179174273802212263172730731531242616001499151363702395367602507640240386365374756181986175391286273123262859921 34009486780423866796055847306691077834294789869769144671621008301384294436546606762404186091173880621273139487155829742087531851946775040960322083247407794634817778889790402198063397090904198985875764475826511076980890600630043716640012389474821196469011713945292222951978221769617727417234939583646246479021906361082525290607994296662013495783233115453877625766731066238093862143389041564690458815864873114587767658211709674316316373667991354334475230456875824025903379363287702863730169082038890034306005427635308998796071038771634574199470029748932441216859374844996457852684958190489968711273830157011573510961155045962554923234858997381113807872146086182695780510407673250313461943332390493074841229251536609026794542242178826924164609932976333544486167418755494489269140533512169569412064573501858041465850251791956360720673122583933406425697595545691088344246316938003907190735822824935857491198272556016585575078099776660922987391048541772360521887603914534593313361154183063507487018019949349232760063067680456762917903162754067154667962173716694455097361390252231250788753064381607760062969483870893677996015518136365045440844679627921331911469842806583146674032463142398795295370989835537418634291920188214307820111886185162207920217571138551868295310267382239396844316876631785871886370916875604730690339715402975330140655592872659723450724542979273569816843721166898826787112373013547047676911484284734807672059930302803017281051106580009142586123111835377675910266228169205579491727724982371073182336252665759444874768227414884711765129813171575033701882864492182156677155220763078936534754795000503983160425727955332560488485466045802639415658361188212427270504417041822758287974191080235412373613112939201029658273429164373105500949451512924292505227943110126756867756187928409649972500340942033351926603479731838973439040886480620378821240870814245395435221887011002497484483948828988994141600562618319727875733295650194622696211094287603407707927980347112142669507602810750206076394719327621450167279287351558709785035690637579625185453030215597352553670407771852303594632477247708281516882228463506754939136983754775141948335956447871187087319707512149126056137730797264059111583399301396470414437169734095122048190416468890879108658975415319757319575443 55028505550666048449124883493771907184675427349363318267002744344918425431205782976039565957070733300090634331963566093529743059576783385663990912360926576936201626020751491989981763764718330883524556360603932670147446215376697504448694370572407495149039997304286777337998862595846610057352036514893012702361170407574963948525337374556502722668099450053892493834039206080662630656234548994840075332695081451813321863132858493634773030112699712875285302919691229523598631296677482580653645854755058028075340380613882071094642693106097058196714821188163717372237440841077396512282508993275258131745314393085940089856834987192355497164534833118199549817255225778496994500413498916169815806628540622725634334248785855807873611306946197448977859338350279873528481603202775180020647966923909969246602574576735084930261331168720832611096198307940764292278511185118337314581061315766542775962638818640066552022413250449864119854316113514216881946745292936479532535375399816846032622787868824055144424456753089646142616776979709560222942462499401204976565127495857642208739686319755267191988322623122874018111601095654744581624731067054133639805639665741187976409827788635394199317229053928212233979342991026100967238941742089039405013999096185555701486845976463452836815853554999857424184586232178274170856732451934026049070158000679349015767514088868635410486118711629968474567000459150453177847207601053702338233974645429149007270177564215919255254705740998145227000602277992118739086390509395155171917997276603120170968408183332681178964844277839543134340194493487880002481537859653920001721724589290224310755382502411841730731464517757332737310585874774114018227478879336757315449838057341808776404796820808088084408997251284481009241261873257554238923321458558145078124425628750599853701361743210293659775173217772848586305790172845975415227188360064582477925789040823151167299956305086515277331435909228500618910008035655253633287962603708542016103357276408861900926209878374499476376693211536759840448123315504177287107860490613448459984705990265511896119263085455399254280364080019358809031392953003527912111058667496081087249715975120241247217693986842074712818886686422928268400903527995590354199400800547834116832537336602762288576781843647061094834366701592880582435364 89037992331089915245180730800462985018970217219132462938623752646302719867752389738443752048244613921363773819119395835617274911523558426624312995608334371571019404910541894188045160855622529869400320836430443747128336816006741221088706760047228691618051711249579000289977084365464337474586976098539259181383076768657489239133331671218516218451332565507770119600770272318756492799623590559530534148559954566401089521344568167951089403780691067209760533376567053549502010659965185444383814936793948062381345808249191069890713731877731632396184850937096158589096815686073854364967467183765226843019144550097513600817990033154910420399393830499313357689401311961192775010821172166483277749960931115800475563500322464834668153549125024373142469271326613418014649021958269669289788500436079538658667148078593126396111582960677193331769320891874170717976106730809425658827378253770449966698461643575924043220685806466449694932415890175139869337793834708840054422979314351439345983942051887562631442476702438878902679844660166323140845625253468359644527301212552097306101076571986517980741387004730634081081084966548422577640249203419179080650319293662519887879670595218540873349692196327007529350332826563519601530861930303347225125885281347763621704417115015321132126120937239254268501462863964146057227649327538756739409873403654679156423106961528358861210661690903538291410721626049279964959580614600750015145458930163956679330107867018936536305812321007287813123714113369794649352618678600734663645722258974193353304660849092126053733071692724254899470007665062913704364402351836076678876945352369160845510177502915824891157192473089893225796051920576753433885840067549184585954255099164567064378987901043500458022110190485510667514691037630659739872772971482437583352368738877356721457549671619943632275514159806200512909269904684948854268074840684961299166659855068546602521843316089012761815384738217494760510570653974981509021258253903164712314451564012269608854190225486642145884296022286965916842842643125627454387147842172158245020396627845137081572293301052751807950771851871662403663870200711809428993287131002836026386699729895383195553650434713261800138594198572054324538634325259649465782800101944304531269707070697884336767198312537940203493342116912637902010807 144066497881755963694305614294234892203645644568495781205626496991221145298958172714483318005315347221454408151082961929147017971100341812288303907969260948507221030931293386178026924620340860752924877197034376417275783031383438725537401130619636186767091708553865777627975946961310947531939012613432271883744247176232453187658669045775018941119432015561662613434809478399419123455858139554370609481255036018214411384477426661585862433893390780085045836296258283073100641956642668025037460791549006090456686188863073140985356424983828690592899672125259875961334256527151250877249976177040484974764458943183453690674825020347265917563928663617512907506656537739689769511234671082653093556589471738526109897749108320642541764856071221822120328609676893291543130625161044849310436467359989507905269722655328211326372914129398025942865519199814935010254617915927762973408439569536992742661100462215990595243099056916313814786732003689356751284539127645319586958354714168285378606729920711617775866933455528525045296621639875883363788087752869564621092428708409739514840762891741785172729709627853508099192686062203167159264980270473312720455958959403707864289498383853935072666921250255219763329675817589620568769803672392386630139884377533319323191263091478773968941974492239111692686049096142420228084381779472782788480031404334028172190621050396994271696780402533506765977722085199733142806788215654452353379433575593105686600285431234855791560518062005433040124316391361913388439009187995889835563719535577313524273069032424807232697915970563798033810202158550793706845940211489996680598669941659385156265560005327666621888656990847225963106637795350867452113318946885941901404093156506375840783784721851588542431107441769991676755952910888213978796094430040582661476794367627956575158911414830237292050687377579049099215060077530924269495263200749543777092448895891697769821799621175528039146820647445995379420578689630235142309220857611706728417808840421131509780400103861141622260989233823725757290965958629804741495008332785606705005102618110648977691556386508151062231135931891021212695263153715337341104345798498917113636415705015624442771344421555336512957480884994982592939537853255239819982200902492138648102244407300646625343980156185001298327708818505518484446171 233104490212845878939486345094697877222615861787628244144250249637523865166710562452927070053559961142818181970202357764764292882623900238912616903577595320078240435841835280366072085475963390622325198033464820164404119847390179946626107890666864878385143419803444777917953031326775285006525988711971531065127323944889942426792000716993535159570764581069432733035579750718175616255481730113901143629814990584615500905821994829536951837674081847294806369672825336622602652616607853469421275728342954152838031997112264210876070156861560322989084523062356034550431072213225105242217443360805711817783603493280967291492815053502176337963322494116826265196057849700882544522055843249136371306550402854326585461249430785477209918405196246195262797881003506709557779647119314518600224967796069046563936870733921337722484497090075219274634840091689105728230724646737188632235817823307442709359562105791914638463784863382763509719147893864496620622332962354159641381334028519724724590671972599180407309410157967403947976466300042206504633713006337924265619729920961836820941839463728303153471096632584142180273771028751589736905229473892491801106278253066227752169168979072475946016613446582227292680008644153140170300665602695733855265769658881082944895680206494095101068095429478365961187511960106566285312031107011539527889904807988707328613728011925353132907442093437045057388443711249013107766368830255202368524892505757062365930393298253792327866330383012720853248030504731708037791627866596624499209441794551506877577729881516933286430987663288052933280209823613707411210342563326073359475615294028546001775737508243491513045849463937119188902689715927620885999159014435126487358348255670942905162772622895089000453217632255502344270643948518873718668867401523020244829163106505313296616461086450180924326201537385249612124329982215873123763338041434505076259108750960244372343642937264540800962205385663490139931149343605216651330479111514871440732260404433401118634590329347783768145285256110691674133808601755432195882156174957764950025499245955786059263849687560902870181907783762683616359133354427146770097632929501753140023115434911007638324994856268598313096075083567036917478172178514889285765001004436443179371951477998530962111178468722941501821050935418156386456978 377170988094601842633791959388932769426261506356124025349876746628745010465668735167410388058875308364272590121285319693911310853724242051200920811546856268585461466773128666544099010096304251375250075230499196581679902878773618672163509021286501065152235128357310555545928978288086232538465001325403802948871571121122395614450669762768554100690196596631095346470389229117594739711339869668271753111070026602829912290299421491122814271567472627379852205969083619695703294573250521494458736519891960243294718185975337351861426581845389013581984195187615910511765328740376356119467419537846196792548062436464420982167640073849442255527251157734339172702714387440572314033290514331789464863139874592852695358998539106119751683261267468017383126490680400001100910272280359367910661435156058554469206593389249549048857411219473245217500359291504040738485342562664951605644257392844435452020662568007905233706883920299077324505879897553853371906872089999479228339688742688010103197401893310798183176343613495928993273087939918089868421800759207488886712158629371576335782602355470088326200806260437650279466457090954756896170209744365804521562237212469935616458667362926411018683534696837447056009684461742760739070469275088120485405654036414402268086943297972869070010069921717477653873561056248986513396412886484322316369936212322735500804349062322347404604222495970551823366165796448746250573157045909654721904326081350168052530678729488648119426848445018153893372346896093621426230637054592514334773161330128820401850798913941740519128903633851850967090411982164501118056282774816070040074285235687931158041297513571158134934506454784345152009327511278488338112477961321068388762441412177318745946557344746677542884325074025494021026596859407087697464961831563602906305957474133269871775372501280418216376888914964298711339390059746797393258601242184048853351557646851942142165442558440068840109026033109485519351728033235451793639699969126578169150069244854532628414990433208925390406274489934417431424774560385236937377164507743371655030601864066435036955406074069053932413043715653704829054396508142484111201978728000670253659531139926632081096339277823934826053555968562019510417710031770129105747201906928581827474195885299177587455158624907942800148759753923674870903149 610275478307447721573278304483630646648877368143752269494126996266268875632379297620337458112435269507090772091487677458675603736348142290113537715124451588663701902614963946910171095572267641997575273263964016746084022726163798618789616911953365943537378548160755333463882009614861517544990990037375334013998895066012338041242670479762089260260961177700528079505968979835770355966821599782172896740885017187445413196121416320659766109241554474674658575641908956318305947189858374963880012248234914396132750183087601562737496738706949336571068718249971945062196400953601461361684862898651908610331665929745388273660455127351618593490573651851165437898772237141454858555346357580925836169690277447179280820247969891596961601666463714212645924371683906710658689919399673886510886402952127601033143464123170886771341908309548464492135199383193146466716067209402140237880075216151878161380224673799819872170668783681840834225027791418349992529205052353638869721022771207734827788073865909978590485753771463332941249554239960296373055513765545413152331888550333413156724441819198391479671902893021792459740228119706346633075439218258296322668515465536163368627836341998886964700148143419674348689693105895900909371134877783854340671423695295485212982623504466964171078165351195843615061073016355552798708443993495861844259841020311442829418077074247700537511664589407596880754609507697759358339525876164857090429218587107230418461072027742440447293178828030874746620377400825329464022264921189138833982603124680327279428528795458673805559891297139903900370621805778208529266625338142143399549900529716477159817035021814649647980355918721464340912017227206109224111636975756194876120789667848261651109329967641766543337542706280996365297240807925961416133829233086623151135120580638583168391833587730599140703090452349548323463720041962670517021939283618553929610666397812186514509085495704609641071231418772975659282877376840668444970179080641449609882329649287933747049580762556709158551559746045109105558583162140669133259320682701136605056101110022221096219255761629956802594951499416388445413529862569630881299611657502423393682646574837639719421334134092533139149631052129056427895882210285018391512202911365025006846147363297708549566337093630884301969810689341831257360127 987446466402049564207070263872563416075138874499876294844003742895013886098048032787747846171310577871363362212772997152586914590072384341314458526671307857249163369388092613454270105668571893372825348494463213327763925604937417290953125933239867008689613676518065889009810987902947750083455991362779136962870466187134733655693340242530643360951157774331623425976358208953365095678161469450444649851955043790275325486420837811782580380809027102054510781610992576014009241763108896458338748768126874639427468369062938914598923320552338350153052913437587855573961729693977817481152282436498105402879728366209809255828095201201060849017824809585504610601486624582027172588636871912715301032830152040031976179246508997716713284927731182230029050862364306711759600191680033254421547838108186155502350057512420435820199319529021709709635558674697187205201409772067091843524332608996313613400887241807725105877552703980918158730907688972203364436077142353118098060711513895744930985475759220776773662097384959261934522642179878386241477314524752902039044047179704989492507044174668479805872709153459442739206685210661103529245648962624100844230752678006098985086503704925297983383682840257121404699377567638661648441604152871974826077077731709887481069566802439833241088235272913321268934634072604539312104856879980184160629777232634178330222426136570047942115887085378148704120775304146505608912682922074511812333544668457398470991750757231088566720027273049028639992724296918950890252901975781653168755764454809147681279327709400414324688794930991754867461033787942709647322908112958213439624185765404408317858332535385807782914862373505809492921344738484597562224114937077263264883231080025580397055887312388444086221867780306490386323837667333049113598791064650226057441078054771853040167206089011017357079979367313847034803110101709467910280540525802602782962224044664128656674528054144678481180257451882461178634605410076120238609879049768027779032398894142466375464571195765634548957834235979526536983357722525906070636485190444508260086702974088656133174661835699010735007995215070093274467926370712114992501590385503093647342177714764271800517673411916467965203187020691075938313592242055147497259404818293606834320343248596886137021495718538827102118570443265506128263276 1597721944709497285780348568356194062724016242643628564338130739161282761730427330408085304283745847378454134304260674611262518326420526631427996241795759445912865272003056560364441201240839535370400621758427230073847948331101215909742742845193232952226992224678821222473692997517809267628446981400154470976869361253147071696936010722292732621212118952032151505482327188789135451644983069232617546592840060977720738682542254132442346490050581576729169357252901532332315188952967271422218761016361789035560218552150540477336420059259287686724121631687559800636158130647579278842837145335150014013211394295955197529488550328552679442508398461436670048500258861723482031143983229493641137202520429487211256999494478889313674886594194896442674975234048213422418290111079707140932434241060313756535493521635591322591541227838570174201770758057890333671917476981469232081404407825148191774781111915607544978048221487662758992955935480390553356965282194706756967781734285103479758773549625130755364147851156422594875772196419838682614532828290298315191375935730038402649231485993866871285544612046481235198946913330367450162321088180882397166899268143542262353714340046924184948083830983676795753389070673534562557812739030655829166748501427005372694052190306906797412166400624109164883995707088960092110813300873476046004889618252945621159640503210817748479627551674785745584875384811844264967252208798239368902762763255564628889452822784973529014013206101079903386613101697744280354275166896970792002738367579489474960707856504859088130248686228131658767831655593720918176589533451100356839174086295120885477675367557200457430895218292227273833833361965690706786335751912833458141004020747873842048165217280030210629559410486587486751621078475259010529732620297736849208576198635410436208559039676741616497783069819663395358266830143672138427302479809421156712572890442476315171183613549849288122251488870655436837917482786916788683580058130409477388914728543430400122514151958322343707509393982024635642541940884666575203895805873145644865142804084110877229393917597328967537602946714486481719881456233281745873801202043005517041024824289601911519939007546009001104352818072820132366209474452340165888771607729658631841166490611894594686587832812169711404088381132607337385623403 2585168411111546849987418832228757478799155117143504859182134482056296647828475363195833150455056425249817496517033671763849432916492910972742454768467067303162028641391149173818711306909411428743225970252890443401611873936038633200695868778433099960916605901196887111483503985420757017711902972762933607939739827440281805352629350964823375982163276726363774931458685397742500547323144538683062196444795104767996064168963091944224926870859608678783680138863894108346324430716076167880557509784488663674987686921213479391935343379811626036877174545125147656210119860341557096323989427771648119416091122662165006785316645529753740291526223271022174659101745486305509203732620101406356438235350581527243233178740987887030388171521926078672704026096412520134177890302759740395353982079168499912037843579148011758411740547367591883911406316732587520877118886753536323924928740434144505388181999157415270083925774191643677151686843169362756721401359337059875065842445798999224689759025384351532137809948541381856810294838599717068856010142815051217230419982909743392141738530168535351091417321199940677938153598541028553691566737143506498011130020821548361338800843751849482931467513823933917158088448241173224206254343183527803992825579158715260175121757109346630653254635897022486152930341161564631422918157753456230165519395485579799489862929347387796421743438760163894288996160115990770576164891720313880715096307924022027360444573542204617580733233374128932026605825994663231244528068872752445171494132034298622641987184214259502454937481159123413635292689381663627823912441564058570278798272060525293795533700092586265213810080665733083326754706704175304348559866849910721405887251827899422445221104592418654715781278266893977137944916142592059643331411362387075266017276690182289248726245765752633854863049186977242393069940245381606337583020335223759495535114487140443827858141603993966603431746322537898016552088196992908922189937180177505167947127437572866497978723154087978256467228218004162179525298607192481274532291063590153125229507058199533362568579433027978272610941929556574994349382603993860866302792428508610688367002004366183320456680957925469069556005093511208304523066694395313386031012547952238675486833860491480823609328530708538506206951575872843513886679 4182890355821044135767767400584951541523171359787133423520265221217579409558902693603918454738802272628271630821294346375111951242913437604170451010262826749074893913394205734183152508150250964113626592011317673475459822267139849110438611623626332913143598125875708333957196982938566285340349954163088078916609188693428877049565361687116108603375395678395926436941012586531635998968127607915679743037635165745716802851505346076667273360910190255512849496116795640678639619669043439302776270800850452710547905473364019869271763439070913723601296176812707456846277990989136375166826573106798133429302516958120204314805195858306419734034621732458844707602004348028991234876603330899997575437871011014454490178235466776344063058116120975115379001330460733556596180413839447536286416320228813668573337100783603081003281775206162058113177074790477854549036363735005556006333148259292697162963111073022815061973995679306436144642778649753310078366641531766632033624180084102704448532575009482287501957799697804451686067035019555751470542971105349532421795918639781794790970016162402222376961933246421913137100511871396003853887825324388895178029288965090623692515183798773667879551344807610712911477518914707786764067082214183633159574080585720632869173947416253428065421036521131651036926048250524723533731458626932276170409013738525420649503432558205544901370990434949639873871544927835035543417100518553249617859071179586656249897396327178146594746439475208835413218927692407511598803235769723237174232499613788097602695040719118590585186167387255072403124344975384546000501975015158927117972358355646179273209067649786722644705298957960357160588068669866011134895618762744179546891272575773264493386321872448865345340688753481463889565994617851070173064031660123924474593475325592725457285285442494250352646119006640637751336770389053744764885500144644916208108004929616758999041755153843254725683235193193334854469570983909697605769995310586982556861855981003266620492875112410321963976622200028797822067239491859056478428096936735797990372311142310410591962497030356945810213888644043056714230838837275606740103994471514127729391826293968094840395688503934470173908823166331340670732541146735479274802620277610870516653324472386075510197161342878249910295332708480180899510082 6768058766932590985755186232813709020322326476930638282702399703273876057387378056799751605193858697878089127338328018138961384159406348576912905778729894052236922554785354908001863815059662392856852562264208116877071696203178482311134480402059432874060204027072595445440700968359323303052252926926021686856349016133710682402194712651939484585538672404759701368399697984274136546291272146598741939482430270513712867020468438020892200231769798934296529634980689749024964050385119607183333780585339116385535592394577499261207106818882539760478470721937855113056397851330693471490816000878446252845393639620285211100121841388060160025560845003481019366703749834334500438609223432306354013673221592541697723356976454663374451229638047053788083027426873253690774070716599187931640398399397313580611180679931614839415022322573753942024583391523065375426155250488541879931261888693437202551145110230438085145899769870950113296329621819116066799768000868826507099466625883101929138291600393833819639767748239186308496361873619272820326553113920400749652215901549525186932708546330937573468379254446362591075254110412424557545454562467895393189159309786638985031316027550623150811018858631544630069565967155881010970321425397711437152399659744435893044295704525600058718675672418154137189856389412089354956649616380388506335928409224105220139366361905593341323114429195113534162867705043825806119581992238867130332955379103608683610341969869382764175479672849337767439824753687070742843331304642475682345726631648086720244682224933378093040123648546378486038417034357048173824414416579217497396770630416171473068742767742372987858515379623693440487342775374041315483455485612654900952778524403672686938607426464867520061121967020375441027510910760443129816395443022510999740610752015775014706011531208246884207509168193617880144406710634435351102468520479868675703643119416757202826899896757837221329114981515731232871021659180902606527959932490764487724808983418576133118471598266498300220443850418032960001592538099051537752960388000325951115601818200509943954531076463384924082824830573599631708580221441269467606406786900022738417758828298334278160852369461859939243464828259842548975255607841130792660833632825563109192140158332877556333806489873586788416502284284353024413396761 10950949122753635121522953633398660561845497836717771706222664924491455466946280750403670059932660970506360758159622364514073335402319786181083356788992720801311816468179560642185016323209913356970479154275525790352531518470318331421573092025685765787203802152948303779397897951297889588392602881089109765772958204827139559451760074339055593188914068083155627805340710570805772545259399754514421682520065436259429669871973784097559473592679989189809379131097485389703603670054163046486110051386189569096083497867941519130478870257953453484079766898750562569902675842319829846657642573985244386274696156578405415414927037246366579759595466735939864074305754182363491673485826763206351589111092603556152213535211921439718514287754168028903462028757333987247370251130438635467926814719626127249184517780715217920418304097779916000137760466313543229975191614223547435937595036952729899714108221303460900207873765550256549440972400468869376878134642400593139133090805967204633586824175403316107141725547936990760182428908638828571797096085025750282074011820189306981723678562493339795845341187692784504212354622283820561399342387792284288367188598751729608723831211349396818690570203439155342981043486070588797734388507611895070311973740330156525913469651941853486784096708939285788226782437662614078490381075007320782506337422962630640788869794463798886224485419630063174036739249971660841662999092757420379950814450283195339860239366196560910770226112324546602853043681379478254442134540412198919519959131261874817847377265652496683625309815933633558441541379332432719824916391594376424514742988771817652341951835392159710503220678581653797647930844043907326618351104375399080499669796979445951431993748337316385406462655773856904917076905378294199989459474682634924215204227341367740163296816650741134560155287200258517895743481023489095867354020624513591911751124346373961825941651911680476054798216708924567725491230164812304133729927801351470281670839399579399738964473378908622184420472618061757823659777590910594231388484937061749105974129342820354546493573493741869893038719217642688422811060278545074346510781371536866147150654592302373001248057965794409417373651426173889645988148987866271935636253103173979708793482805263631844003651216465038326797616992833205312906843 17719007889686226107278139866212369582167824313648409988925064627765331524333658807203421665126519668384449885497950382653034719561726134757996262567722614853548739022964915550186880138269575749827331716539733907229603214673496813732707572427745198661264006180020899224838598919657212891444855808015131452629307220960850241853954786990995077774452740487915329173740408555079909091550671901113163622002495706773142536892442222118451673824449788124105908766078175138728567720439282653669443831971528685481619090262519018391685977076835993244558237620688417682959073693650523318148458574863690639120089796198690626515048878634426739785156311739420883441009504016697992112095050195512705602784314196097849936892188376103092965517392215082691545056184207240938144321847037823399567213119023440829795698460646832759833326420353669942162343857836608605401346864712089315868856925646167102265253331533898985353773535421206662737302022287985443677902643269419646232557431850306562725115775797149926781493296176177068678790782258101392123649198946151031726227721738832168656387108824277369313720442139147095287608732696245118944796950260179681556347908538368593755147238900019969501589062070699973050609453226469808704709933009606507464373400074592418957765356467453545502772381357439925416638827074703433447030691387709288842265832186735860928236156369392227547599848825176708199606955015486647782581084996287510283769829386804023470581336065943674945705785173884370292868435066548997285465845054674601865685762909961538092059490585874776665433464480012044479958413689480893649330808173593921911513619187989125410694603134532698361736058205347238135273619417948642101806589988053981452448321383118638370601174802183905467584622794232345944587816138737329805854917705145923955814979357142754869308347858988018767664455393876398040150191657924446969822541104382267615394243763131164652841548669517697383913198224655800596512889345714910661689860292115958006479822818155532857436071645406922404864323036094717825252315689962131984348872937387700221575947543330298501024649957126793975863549791242320131391281719814541952917568271559604564909482890636651162100427427654348660838479686016438621243756828997064596469885928737088900933641138141188177810141090051826743299901277186229726303604 28669957012439861228801093499611030144013322150366181695147729552256786991279939557607091725059180638890810643657572747167108054964045920939079619356715335654860555491144476192371896461479489106797810870815259697582134733143815145154280664453430964448467808332969203004236496870955102479837458689104241218402265425787989801305714861330050670963366808571070956979081119125885681636810071655627585304522561143032572206764416006216011147417129777313915287897175660528432171390493445700155553883357718254577702588130460537522164847334789446728638004519438980252861749535970353164806101148848935025394785952777096041929975915880793319544751778475360747515315258199061483785580876958719057191895406799654002150427400297542811479805146383111595007084941541228185514572977476458867494027838649568078980216241362050680251630518133585942300104324150151835376538478935636751806451962598897001979361552837359885561647300971463212178274422756854820556037285670012785365648237817511196311939951200466033923218844113167828861219690896929963920745283971901313800239541928139150380065671317617165159061629831931599499963354980065680344139338052463969923536507290098202478978450249416788192159265509855316031652939297058606439098440621501577776347140404748944871235008409307032286869090296725713643421264737317511937411766395030071348603255149366501717105950833191113772085268455239882236346204987147489445580177753707890234584279669999363330820702262504585715931897498430973145912116446027251727600385466873521385644894171836355939436756238371460290743280413645602921499793021913613474247199767970346426256607959806777752646438526692408864956736787001035783204463461855968720157694363453061952118118362564589802594923139500290874047278568089250861664721517031529795314392387780848171019206698510495032605164509729153327819742594134915935893672681413542837176561728895859527145368109505126478783200581198173438711414933580368322004119510527214795419788093467428288150662217734932596400545024315544589284795654156475648912093280872726215737357874449449327550076886150653047518223450868663868902269008885008554202341998359616299428349643096470712060137482939024163348485393448758078212131112190328267231905816863336532106139031911068609727123943404820021813792306516865070097518270019435039210447 46388964902126087336079233365823399726181146464014591684072794180022118515613598364810513390185700307275260529155523129820142774525772055697075881924437950508409294514109391742558776599749064856625142587354993604811737947817311958886988236881176163109731814512990102229075095790612315371282314497119372671031572646748840043159669648321045748737819549058986286152821527680965590728360743556740748926525056849805714743656858228334462821241579565438021196663253835667160739110932728353824997715329246940059321678392979555913850824411625439973196242140127397935820823229620876482954559723712625664514875748975786668445024794515220059329908090214781630956324762215759475897675927154231762794679720995751852087319588673645904445322538598194286552141125748469123658894824514282267061240957673008908775914702008883440084956938487255884462448181986760440777885343647726067675308888245064104244614884371258870915420836392669874915576445044840264233939928939432431598205669667817759037055726997615960704712140289344897540010473155031356044394482918052345526467263666971319036452780141894534472782071971078694787572087676310799288936288312643651479884415828466796234125689149436757693748327580555289082262392523528415143808373631108085240720540479341363829000364876760577789641471654165639060060091812020945384442457782739360190869087336102362645342107202583341319685117280416590435953160002634137228161262749995400518354109056803386801402038328448260661637682672315343438780551512576249013066230521548123251330657081797894031496246824246236956176744893657647401458206711394507123578007941564268337770227147795903163341041661225107226692794992348273918478082879804610821964284351507043404566439745683228173196097941684196341631901362321596806252537655768859601169310092926772126834186055653249901913512368717172095484197988011313976043864339337989806999102833278127142539611872636291131624749250715870822624613158236168918517008856242125457109648385583386294630485035890465453836616669722466994149118690251193474164408970834858200086230811837149549126024429480951548542873407995457844765818800127328685593623718174158252345917914656075276969620373575675325448912821103106739050610798206766888475662645860401128576024960648157510660765081546008199623933396568691813397419547205664765514051 75058921914565948564880326865434429870194468614380773379220523732278905506893537922417605115244880946166071172813095876987250829489817976636155501281153286163269850005253867934930673061228553963422953458170253302393872680961127104041268901334607127558199622845959305233311592661567417851119773186223613889433838072536829844465384509651096419701186357630057243131902646806851272365170815212368334231047617992838286950421274234550473968658709342751936484560429496195592910501426174053980551598686965194637024266523440093436015671746414886701834246659566378188682572765591229647760660872561560689909661701752882710375000710396013378874659868690142378471640020414820959683256804112950819986575127795405854237746988971188715925127684981305881559226067289697309173467801990741134555268796322576987756130943370934120336587456620841826762552506136912276154423822583362819481760850843961106223976437208618756477068137364133087093850867801695084789977214609445216963853907485328955348995678198081994627930984402512726401230164051961319965139766889953659326706805595110469416518451459511699631843701803010294287535442656376479633075626365107621403420923118564998713104139398853545885907593090410605113915331820587021582906814252609663017067680884090308700235373286067610076510561950891352703481356549338457321854224177769431539472342485468864362448058035774455091770385735656472672299364989781626673741440503703290752938388726802750132222740590952846377569580170746316584692667958603500740666615988421644636975551253634249970933003062617697246920025307303250322957999733308120597825207709534614764026835107602680915987480187917516091649531779349309701682546341660579542121978714960105356684558108247817975791021081184487215679179930410847667917259172800389396483702480707620297853392754163744934518676878446325423303940582146229911937537020751532644175664562173986669684979982141417610407949831914044261336028091816537240521128366769340252529436479050814582781147253625398050237161694038011583433914344407669123076502251707584415823588686286598876676101315631604596061096858864121713668087809012337239795965716533774551774267557752545989029757856514699488797398214551864817262741910397095155707568462723737660682163992559226120387889024950828221437725703085556883494937817225099804724498 121447886816692035900959560231257829596375615078395365063293317912301024022507136287228118505430581253441331701968619006807393604015590032333231383205591236671679144519363259677489449660977618820048096045525246907205610628778439062928257138215783290667931437358949407462386688452179733222402087683342986560465410719285669887625054157972142168439005906689043529284724174487816863093531558769109083157572674842644001694078132462884936789900288908189957681223683331862753649612358902407805549314016212134696345944916419649349866496158040326675030488799693776124503395995212106130715220596274186354424537450728669378820025504911233438204567958904924009427964782630580435580932731267182582781254848791157706325066577644834620370450223579500168111367193038166432832362626505023401616509753995585896532045645379817560421544395108097711225000688123672716932309166231088887157069739089025210468591321579877627392488973756802962009427312846535349023917143548877648562059577153146714386051405195697955332643124691857623941240637206992676009534249808006004853174069262081788452971231601406234104625773774088989075107530332687278922011914677751272883305338947031794947229828548290303579655920670965894196177724344115436726715187883717748257788221363431672529235738162828187866152033605056991763541448361359402706296681960508791730341429821571227007790165238357796411455503016073063108252524992415763901902703253698691271292497783606136933624778919401107039207262843061660023473219471179749753732846509969767888306208335432144002429249886863934203096770200960897724416206444702627721403215651098883101797062255398584079328521849142623318342326771697583620160629221465190364086263066467148761250997853931046148987119022868683557311081292732444474169796828569248997653012573634392424687578809816994836432189247163497518788138570157543887981401360089522451174767395452113812224591854777708742032699082629915083960641250052706159038137223011465709639084864634200877411632289515863504073778363760478577583033034658862597240911222542442615909819498123748425802125745112556144603970266859579558433906609139665925389589434707932804120185472408621265999378230090374814246311035654971556313352708603862044183231108584138789258188953207383631048654106496836421061659099654248696892357364430764570238549 196506808731257984465839887096692259466570083692776138442513841644579929529400674209645723620675462199607402874781714883794644433505408008969386884486744522834948994524617127612420122722206172783471049503695500209599483309739566166969526039550390418226131060204908712695698281113747151073521860869566600449899248791822499732090438667623238588140192264319100772416626821294668135458702373981477417388620292835482288644499406697435410758558998250941894165784112828058346560113785076461786100912703177329333370211439859742785882167904455213376864735459260154313185968760803335778475881468835747044334199152481552089195026215307246817079227827595066387899604803045401395264189535380133402767829976586563560562813566616023336295577908560806049670593260327863742005830428495764536171778550318162884288176588750751680758131851728939537987553194260584993086732988814451706638830589932986316692567758788496383869557111120936049103278180648230433813894358158322865525913484638475669735047083393779949960574109094370350342470801258953995974674016697959664179880874857192257869489683060917933736469475577099283362642972989063758555087541042858894286726262065596793660333967947143849465563513761376499310093056164702458309622002136327411274855902247521981229471111448895797942662595555948344467022804910697860028150906138278223269813772307040091370238223274132251503225888751729535780551889982197390575644143757401982024230886510408887065847519510353953416776843013807976608165887429783250494399462498391412525281759589066393973362252949481631450016795508264148047374206178010748319228423360633497865823897363001264995316002037060139409991858551046893321843175563125769906208241781427254117935555962178864124778140104053170772990261223143292142087056001369638394136715054342012722540971563980739770950866125609822942092079152303773799918938380841055095350431957626100481909571836919126352440648914543959345296669341869243399559265589780805962168521343685015460192779543141261554310940057798490161016947379066531720317413474250027031733408184410347302478227060744160740665067125723701272101994418152003165185555151241707355894453030161167255029136086605074303043709250206836373576094619000957199890799571307876449940352945766609751436543131447664642499384802739805580387295181655864374963047 317954695547950020366799447327950089062945698771171503505807159556880953551907810496873842126106043453048734576750333890602038037520998041302618267692335759506628139043980387289909572383183791603519145549220747116805093938518005229897783177766173708894062497563858120158084969565926884295923948552909587010364659511108169619715492825595380756579198171008144301701350995782484998552233932750586500546192967678126290338577539160320347548459287159131851847007796159921100209726143978869591650226719389464029716156356279392135748664062495540051895224258953930437689364756015441909191102065109933398758736603210221468015051720218480255283795786499990397327569585675981830845122266647315985549084825377721266887880144260857956666028132140306217781960453366030174838193055000787937788288304313748780820222234130569241179676246837037249212553882384257710019042155045540593795900329022011527161159080368374011262046084877739011112705493494765782837811501707200514087973061791622384121098488589477905293217233786227974283711438465946671984208266505965669033054944119274046322460914662324167841095249351188272437750503321751037477099455720610167170031601012628588607563796495434153045219434432342393506270780508817895036337190020045159532644123610953653758706849611723985808814629161005336230564253272057262734447588098787015000155202128611318378028388512490047914681391767802598888804414974613154477546847011100673295523384294015023999472298429755060455984105856869636631639106900963000248132309008361180413587967924498537975791502836345565653113565709225045771790412622713376040631639011732380967620959618399849074644523886202762728334185322744476942003804784590960270294504847894402879186553816109910273765259126921854330301342515875736616256852829938887391789727627976405147228550373797734607383055372773320460880217722461317687900339740930577546525199353078214294134163691696835094473347997173874429257310591921949558597402812792271671807606208319216337604411832657125058384718421558968738599980413725394317558324696792469647643227682534095728280352805856716885269037392583280830535901027291669090575144585949640160014638502569788521028514316695449117290020285861807929889447327604819244074030679892015239198541898973993382485197237944501063561043902394054277279652546086628945201596 514461504279208004832639334424642348529515782463947641948321001201460883081308484706519565746781505652656137451532048774396682471026406050272005152179080282341577133568597514902329695105389964386990195052916247326404577248257571396867309217316564127120193557768766832853783250679674035369445809422476187460263908302930669351805931493218619344719390435327245074117977817077153134010936306732063917934813260513608578983076945857755758307018285410073746012791908987979446769839929055331377751139422566793363086367796139134921630831966950753428759959718214084750875333516818777687666983533945680443092935755691773557210077935525727072363023614095056785227174388721383226109311802027449388316914801964284827450693710876881292961606040701112267452553713693893916844023483496552473960066854631911665108398822881320921937808098565976787200107076644842703105775143859992300434730918954997843853726839156870395131603195998675060215983674142996216651705859865523379613886546430098053856145571983257855253791342880598324626182239724900667958882283203925333212935818976466304191950597723242101577564724928287555800393476310814796032186996763469061456757863078225382267897764442578002510782948193718892816363836673520353345959192156372570807500025858475634988177961060619783751477224716953680697587058182755122762598494237065238269968974435651409748266611786622299417907280519532134669356304956810545053190990768502655319754270804423911065319817940109013872760948870677613239804994330746250742531771506752592938869727513564931949153755785827197103130361217489193819164618800724124359860062372365878833444856981401114069960525923262902138326043873791370263846980347716730176502746629321656997122109778288774398543399230975025103291603739019028758343908831308525785926442682318417869769521937778474378333921498383143402972296874765091487819278121771632641875631310704314776043735528615961446913996911717833774553979933791192958156668402573077633976127552004231797797191375798386612695658479357458899616927792791926037875738171042496679376635866944443030758579866600877625934104518306982102637895445443672255760699737191347515909091532730955776057650403300523420333729536068644303465541946605776443964830251199891689138894844740603133921740369392165706060428705133859857666947727742493320164643 832416199827158025199438781752592437592461481235119145454128160758341836633216295203393407872887549105704872028282382664998720508547404091574623419871416041848205272612577902192239267488573755990509340602136994443209671186775576626765092395082737836014256055332624953011868220245600919665369757975385774470628567814038838971521424318814000101298588606335389375819328812859638132563170239482650418481006228191734869321654485018076105855477572569205597859799705147900546979566073034200969401366141956257392802524152418527057379496029446293480655183977168015188564698272834219596858085599055613841851672358901995025225129655744207327646819400595047182554743974397365056954434068674765373865999627342006094338573855137739249627634172841418485234514167059924091682216538497340411748355158945660445928621057011890163117484345403014036412660959029100413124817298905532894230631247977009371014885919525244406393649280876414071328689167637761999489517361572723893701859608221720437977244060572735760547008576666826298909893678190847339943090549709891002245990763095740350514411512385566269418659974279475828238143979632565833509286452484079228626789464090853970875461560938012155556002382626061286322634617182338248382296382176417730340144149469429288746884810672343769560291853877959016928151311454812385497046082335852253270124176564262728126295000299112347332588672287334733558160719931423699530737837779603328615277655098438935064792116369864074328745054727547249871444101231709250990664080515113773352457695438063469924945258622172762756243926926714239590955031423437500400491701384098259801065816599800963144605049809465664866660229196535847205850785132307690446797251477216059876308663594398684672308658357896879433592946254894765374600761661247413177716170310294823016998072311576208985716976871156463863852514597226409175719617862702210188400830663782529070177899220312796541387344908891708203811290525713142516754071215365349305783733760323448135401603208455511671080376900916427638216908206517320355434062867834966327019863549478538759038932672457594511203141910890262933173796472735341346335844323140987675923730035300744297086164719995972537623749821930452233354989274210595688038860931091906928337436743714596516406937607336666769621472607527914134946600273829122265366239 1346877704106366030032078116177234786121977263699066787402449161959802719714524779909912973619669054758361009479814431439395402979573810141846628572050496324189782406181175417094568962593963720377499535655053241769614248435033148023632401612399301963134449613101391785865651470925274955034815567397861961930892476116969508323327355812032619446017979041662634449937306629936791266574106546214714336415819488705343448304731430875831864162495857979279343872591614135879993749406002089532347152505564523050755888891948557661979010327996397046909415143695382099939440031789652997284525069133001294284944608114593768582435207591269934400009843014690103967781918363118748283063745870702214762182914429306290921789267566014620542589240213542530752687067880753818008526240021993892885708422013577572111037019879893211085055292443968990823612768035673943116230592442765525194665362166932007214868612758682114801525252476875089131544672841780758216141223221438247273315746154651818491833389632555993615800799919547424623536075917915748007901972832913816335458926582072206654706362110108808370996224699207763384038537455943380629541473449247548290083547327169079353143359325380590158066785330819780179138998453855858601728255574332790301147644175327904923735062771732963553311769078594912697625738369637567508259644576572917491540093150999914137874561612085734646750495952806866868227517024888234244583928828548105983935031925902862846130111934309973088201506003598224863111249095562455501733195852021866366291327422951628401874099014407999959859374288144203433410119650224161624760351763756464138634510673581202077214565575732728567004986273070327217469697765480024420623299998106537716873430773372687459070852057588871904536884549993913794132944670492555938963642612992613240886767594249354683364050898369539607266824811471991500663538895984473842830276461974486843846221634748928757988301341820609541978365270459504335474910739617938426939759861312327679933198794584253898283776035380273886537833835999309246393309801038877463006396499416422981789797512539058472137137246429197245035811691918179013602096544060332335191832821568031700073143815123296495957957479357999096536820531220816372132003691182291798617476331588455199650328677976728832475681901312661773992613548001571615585530882 2179293903933524055231516897929827223714438744934185932856577322718144556347741075113306381492556603864065881508096814104394123488121214233421251991921912366037987678793753319286808230082537476368008876257190236212823919621808724650397494007482039799148705668434016738877519691170875874700185325373247736401521043931008347294848780130846619547316567647998023825756635442796429399137276785697364754896825716897078317626385915893907970017973430548484941732391319283780540728972075123733316553871706479308148691416100976189036389824025843340390070327672550115128004730062487216881383154732056908126796280473495763607660337247014141727656662415285151150336662337516113340018179939376980136048914056648297016127841421152359792216874386383949237921582047813742100208456560491233297456777172523232556965640936905101248172776789372004860025428994703043529355409741671058088895993414909016585883498678207359207918901757751503202873362009418520215630740583010971167017605762873538929810633693128729376347808496214250922445969596106595347845063382623707337704917345167947005220773622494374640414884673487239212276681435575946463050759901731627518710336791259933324018820886318602313622787713445841465461633071038196850110551956509208031487788324797334212481947582405307322872060932472871714553889681092379893756690658908769744810217327564176866000856612384846994083084625094201601785677744819657944114666666327709312550309581001301781194904050679837162530251058325772112982693196794164752723859932536980139643785118389691871799044273030172722615618215070917673001074681647599125160843465140562398435576490181003040359170625542194231871646502266863064675548550612332111070097249583753776749739436967086143743160715946768783970477496248808559507545432153803352141358783302908063903765666560930892349767875240696071130677326069217909839258513847176053018677292638269372916399533969241554529688686729501250182176560985217477991664810833303776245543595072651128068600397792709409954856412281190314176050744205826566748743863906712429333416362965901520548836445211516066648340388340087507968985488390914354948432388383473322867756551603332444370229979843292468495581229179929548770175520495026967820042552113383705545813768332169796166735615584065499245303373920189688127560148275400737850897121 3526171608039890085263595014107062009836416008633252720259026484677947276062265855023219355112225658622426890987911245543789526467695024375267880563972408690227770084974928736381377192676501196745508411912243477982438168056841872674029895619881341762283155281535408524743171162096150829735000892771109698332413520047977855618176135942879238993334546689660658275693942072733220665711383331912079091312645205602421765931117346769739834180469288527764285604982933419660534478378077213265663706377271002358904580308049533851015400152022240387299485471367932215067444761852140214165908223865058202411740888588089532190095544838284076127666505429975255118118580700634861623081925810079194898231828485954587937917108987166980334806114599926479990608649928567560108734696582485126183165199186100804668002660816798312333228069233340995683638197030376986645586002184436583283561355581841023800752111436889474009444154234626592334418034851199278431771963804449218440333351917525357421644023325684722992148608415761675545982045514022343355747036215537523673163843927240153659927135732603183011411109372695002596315218891519327092592233350979175808793884118429012677162180211699192471689573044265621644600631524894055451838807530841998332635432500125239136217010354138270876183830011067784412179628050729947402016335235481687236350310478564091003875418224470581640833580577901068470013194769707892188698595494875815296485341506904164627325015984989810250731757061923996976093942292356620254457055784558846505935112541341320273673143287438172682474992503215121106411194331871760749921195228897026537070087163762205117573736201274922798876632775337190282145246316092356531693397247690291493623170210339773602814012773535640688507362046242722353640490102646359291105001396295521304790533260810285575713818773610235678397502137541209410502797409831649895848953754612756216762621168718170312517990028550110792160541831444721813466575550451242203185303456384978808001799192376963308238632447661464200713884580205135813142053664945589892339812862382324502338633957750574538785477634769284753004797180309093368550528932443805658059589373171364144443373794966588964453538708537928645306996051715843339952046243295675504163290099920624995817064293560794331720985275232851462120173696276972353436428003 5705465511973414140495111912036889233550854753567438653115603807396091832410006930136525736604782262486492772496008059648183649955816238608689132555894321056265757763768682055668185422759038673113517288169433714195262087678650597324427389627363381561431860949969425263620690853267026704435186218144357434733934563978986202913024916073725858540651114337658682101450577515529650064848660117609443846209470922499500083557503262663647804198442719076249227337374252703441075207350152336998980260248977481667053271724150510040051789976048083727689555799040482330195449491914627431047291378597115110538537169061585295797755882085298217855323167845260406268455243038150974963100105749456175034280742542602884954044950408319340127022988986310429228530231976381302208943153142976359480621976358624037224968301753703413581400846022713000543663626025080030174941411926107641372457348996750040386635610115096833217363055992378095537291396860617798647402704387460189607350957680398896351454657018813452368496416911975926468428015110128938703592099598161231010868761272408100665147909355097557651825994046182241808591900327095273555642993252710803327504220909688946001181001098017794785312360757711463110062264595932252301949359487351206364123220824922573348698957936543578199055890943540656126733517731822327295773025894390456981160527806128267869876274836855428634916665202995270071798872514527550132813262161203524609035651087905466408519920035669647413262008120249769089076635489150785007180915717095826645578897659731012145472187560468345405090610718286038779412269013519359875082038694037588935505663653943208157932906826817117030748279277604053346820794866704688642763494497274045270372909647306859746557173489482409472477839542491530913148035534800162643246360179598429368694298927371216468063586648850931749528179463610427320342055923678825948867631047251025589679020702687411867047678715279612042342718392429939291458240361284545979430847051457629936070399590169672718193488859942654514889935324410962379890797528852302321673229225348226022887470402962090605433818023109372260973782668700007723498961320827278980927345924774696588813603774809881432949119937717858194077171572210870307772088795409059209709103868252794791983799909144859830966288649153041150247733844552373091287325124 9231637120013304225758706926143951243387270762200691373374630292074039108472272785159745091717007921108919663483919305191973176423511262983957013119866729746493527848743610792049562615435539869859025700081677192177700255735492469998457285247244723323715016231504833788363862015363177534170187110915467133066348084026964058531201052016605097533985661027319340377144519588262870730560043449521522937522116128101921849488620609433387638378912007604013512942357186123101609685728229550264643966626248484025957852032200043891067190128070324114989041270408414545262894253766767645213199602462173312950278057649674827987851426923582293982989673275235661386573823738785836586182031559535369932512571028557472891962059395486320461829103586236909219138881904948862317677849725461485663787175544724841892970962570501725914628915256053996227301823055457016820527414110544224656018704578591064187387721551986307226807210227004687871709431711817077079174668191909408047684309597924253773098680344498175360645025327737602014410060624151282059339135813698754684032605199648254325075045087700740663237103418877244404907119218614600648235226603689979136298105028117958678343181309716987257001933801977084754662896120826307753788167018193204696758653325047812484915968290681849075239720954608440538913145782552274697789361129872144217510838284692358873751693061326010275750245780896338541812067284235442321511857656079339905520992594809631035844936020659457663993765182173766065170577781507405261637971501654673151514010201072332419145330847906518087565603221501159885823463345391120625003233922934615472575750817705413275506643028092039829624912052941243628966041182797045174456891744964336763996079857646633349371186263018050160985201588734253266788525637446521934351361575893950673484832188181502043777405422461167427925681601151636730844853333510475844716584801863781806441641871405582179565668743829722834503260223874661104924815911735788182616150507842608744072198782546636026432121307604118715603819904616098193032851193797892214013042087730550525226104360712665144219295657878657013978579849009101092049490253271084638986935297946060733256977569776470397402658646255786839384167623926713647724135038704734713872393968173419787800864202705654162687273924385892612367907540829345444723753127 14937102631986718366253818838180840476938125515768130026490234099470130940882279715296270828321790183595412435979927364840156826379327501592646145675761050802759285612512292847717748038194578542972542988251110906372962343414143067322884674874608104885146877181474259051984552868630204238605373329059824567800282648005950261444225968090330956074636775364978022478595097103792520795408703567130966783731587050601421933046123872097035442577354726680262740279731438826542684893078381887263624226875225965693011123756350553931118980104118407842678597069448896875458343745681395076260490981059288423488815226711260123785607309008880511838312841120496067655029066776936811549282137308991544966793313571160357846007009803805660588852092572547338447669113881330164526621002868437845144409151903348879117939264324205139496029761278766996770965449080537046995468826036651866028476053575341104574023331667083140444170266219382783409000828572434875726577372579369597655035267278323150124553337363311627729141442239713528482838075734280220762931235411859985694901366472056354990222954442798298315063097465059486213499019545709874203878219856400782463802325937806904679524182407734782042314294559688547864725160716758560055737526505544411060881874149970385833614926227225427274295611898149096665646663514374601993562387024262601198671366090820626743627967898181438910666910983891608613610939798762992454325119817282864514556643682715097444364856056329105077255773302423535154247213270658190268818887218750499797092907860803344564617518408374863492656213939787198665235732358910480500085272616972204408081414471648621433439549854909156860373191330545296975786836049501733817220386242238382034368989504953493095928359752500459633463041131225784179936561172246684577597721755492380042179131115552718511840992071312099177453861064762064051186909257189301793584215849114807396120662574092994046613347459109334876845978616304600396383056273020334162046997559300238680142598372716308744625610167546773230493755229027060572923648722650194535686271313078776548113574763674755749653113680988029274952362517709108815548451574098363619914281222720757322070581344586351830351778583973645033461339196137583955496223834113793923581497836426214579784664111850513993653562573538933762615641385381718536011078251 24168739752000022592012525764324791720325396277968821399864864391544170049354552500456015920038798104704332099463846670032130002802838764576603158795627780549252813461255903639767310653630118412831568688332788098550662599149635537321341960121852828208861893412979092840348414883993381772775560439975291700866630732032914319975427020106936053608622436392297362855739616692055391525968747016652489721253703178703343782534744481530423080956266734284276253222088624949644294578806611437528268193501474449718968975788550597822186170232188731957667638339857311420721237999448162721473690583521461736439093284360934951773458735932462805821302514395731729041602890515722648135464168868526914899305884599717830737969069199291981050681196158784247666807995786279026844298852593899330808196327448073721010910226894706865410658676534820992998267272135994063815996240147196090684494758153932168761411053219069447670977476446387471280710260284251952805752040771279005702719576876247403897652017707809803089786467567451130497248136358431502822270371225558740378933971671704609315297999530499038978300200883936730618406138764324474852113446460090761600100430965924863357867363717451769299316228361665632619388056837584867809525693523737615757640527475018198318530894517907276349535332852757537204559809296926876691351748154134745416182204375512985617379660959507449186417156764787947155423007082998434775836977473362204420077636277524728480209792076988562741249538484597301219417791052165595530456858720405172948606918061875676983762849256281381580221817161288358551059195704301601125088506539906819880657165289354034708946192883001196689998103383486540604752877232298778991677277987202718798365069362600126445299546015518509794448242719960037446725086809693206511949083331386330715663963303734220555618397493773266605379542665913700782031762590699777638300800650978589202562304445498576226179016202939057711349238840179261501307872184756122344663148067142847424214797155262944771057731475150891946097575133643158765956499916448086749699313400809327073339679124387420893872409338866686288930942366718209907597941827369448258901216520666818055327558914362822227754437230229431872845506820064297603220358872818528637453891804599634367585528314556168156340836497924826374983548926211063980734831378 39105842383986740958266344602505632197263521793736951426355098491014300990236832215752286748360588288299744535443774034872286829182166266169249304471388831352012099073768196487485058691824696955804111676583899004923624942563778604644226634996460933094008770594453351892332967752623586011380933769035116268666913380038864581419652988197267009683259211757275385334334713795847912321377450583783456504985290229304765715580868353627458523533621460964538993501820063776186979471884993324791892420376700415411980099544901151753305150336307139800346235409306208296179581745129557797734181564580750159927908511072195075559066044941343317659615355516227796696631957292659459684746306177518459866099198170878188583976079003097641639533288731331586114477109667609191370919855462337175952605479351422600128849491218912004906688437813587989769232721216531110811465066183847956712970811729273273335434384886152588115147742665770254689711088856686828532329413350648603357754844154570554022205355071121430818927909807164658980086212092711723585201606637418726073835338143760964305520953973297337293363298348996216831905158310034349055991666316491544063902756903731768037391546125186551341630522921354180484113217554343427865263220029282026818522401624988584152145820745132703623830944750906633870206472811301478684914135178397346614853570466333612361007628857688888097084067748679555769033946881761427230162097290645068934634279960239825924574648133317667818505311787020836373665004322823785799275745939155672745699825922679021548380367664656245072878031101075557216294928063212081625173779156879024288738579761002656142385742737910353550371294714031837580539713281800512808897664229441100832734058867553619541227905768018969427911283851185821626661647981939891089546805086878710757843094419286939067459389565085365782833403730675764833218671847889079431885016500093396598682967019591570272792363662048392588195217456483861897690928457776456506710145626443086104357395527979253515683341642697665176591330362670219338880148639098281285385584713888103621453253888062176643525523019854715563883304884427318723146393401467811878815497743387575377398140258949174058106215814203076906306846016201881558716582706932322561035389641025848947370192426406682149994399071463760137599190311592782516745909629 63274582135986763550278870366830423917588918071705772826219962882558471039591384716208302668399386393004076634907620704904416831985005030745852463267016611901264912535024100127252369345454815368635680364916687103474287541713414141965568595118313761302870664007432444732681382636616967784156494209010407969533544112071778901395080008304203063291881648149572748190074330487903303847346197600435946226238993408008109498115612835157881604489888195248815246723908688725831274050691604762320160613878174865130949075333451749575491320568495871758013873749163519716900819744577720519207872148102211896367001795433130027332524780873806123480917869911959525738234847808382107820210475046045374765405082770596019321945148202389622690214484890115833781285105453888218215218708056236506760801806799496321139759718113618870317347114348408982767499993352525174627461306331044047397465569883205442096845438105222035786125219112157725970421349140938781338081454121927609060474421030817957919857372778931233908714377374615789477334348451143226407471977862977466452769309815465573620818953503796376271663499232932947450311297074358823908105112776582305664003187869656631395258909842638320640946751283019813103501274391928295674788913553019642576162929100006782470676715263039979973366277603664171074766282108228355376265883332532092031035774841846597978387289817196337283501224513467502924456953964759862005999074764007273354711916237764554404784440210306230559754850271618137593082795374989381329732604659560845694306743984554698532143216920937626653099848262363915767354123767513682750262285696785844169395745050356690851331935620911550240369398097518378185292590514099291800574942216643819631099128230153745986527451783537479222359526571145859073386734791633097601495888418265041473507057723021159623077787058858632388212946396589465615250434438588857070185817151071985801245271465090146498971379864987450299544456296663123398998800642532578851373293693585933528572192683242198286741073117848557122688905496313378104836648555546368035084898114697430694792933012449597537397932358721401852814247251145528630744335228837260137716714264054393432725699173311996285860653044432508779152352836266179161936941579750851198489281445625483314955720740962850306335235569388586512582739237803846497480741007 102380424519973504508545214969336056114852439865442724252575061373572772029828216931960589416759974681303821170351394739776703661167171296915101767738405443253277011608792296614737428037279512324439792041500586108397912484277192746609795230114774694396879434601885796625014350389240553795537427978045524238200457492110643482814732996501470072975140859906848133524409044283751216168723648184219402731224283637312875213696481188785340128023509656213354240225728752502018253522576598087112053034254875280542929174878352901328796470904803011558360109158469728013080401489707278316942053712682962056294910306505325102891590825815149441140533225428187322434866805101041567504956781223563834631504280941474207905921227205487264329747773621447419895762215121497409586138563518573682713407286150918921268609209332530875224035552161996972536732714569056285438926372514892004110436381612478715432279822991374623901272961777927980660132437997625609870410867472576212418229265185388511942062727850052664727642287181780448457420560543854949992673584500396192526604647959226537926339907477093713565026797581929164282216455384393172964096779093073849727905944773388399432650455967824871982577274204373993587614491946271723540052133582301669394685330724995366622822536008172683597197222354570804944972754919529834061180018510929438645889345308180210339394918674885225380585292262147058693490900846521289236161172054652342289346196198004380329359088343623898378260162058638973966747799697813167129008350598716518440006569907233720080523584585593871725977879363439472983649051830725764375436064853664868458134324811359346993717678358821903790740692811550215765832303795899804609472606446084920463833187097707365527755357551556448650270810422331680700048382773572988691042693505143752231350152142308098690537176623943998171046350127265230448469106286477936502070833651165382399928238484681716771763743527035842887739673753146985296689729100309035358083439320029019632929588211221451802424414760546222299280235858983597443716797194644649320470482828585534316246186900511774180923455378576117416697552135572847353890728630305072016532212007441968810123839432261170343966868858635585685459198852468060720653524286683173759524671086651332262325913167369532456329634640852346650181929549396629014226650636 165655006655960268058824085336166480032441357937148497078795024256131243069419601648168892085159361074307897805259015444681120493152176327660954231005422055154541924143816396741989797382734327693075472406417273211872200025990606888575363825233088455699750098609318241357695733025857521579693922187055932207734001604182422384209813004805673136267022508056420881714483374771654520016069845784655348957463277045320984711812094023943221732513397851462169486949637441227849527573268202849432213648133050145673878250211804650904287791473298883316373982907633247729981221234284998836149925860785173952661912101938455130224115606688955564621451095340146848173101652909423675325167256269609209396909363712070227227866375407876887019962258511563253677047320575385627801357271574810189474209092950415242408368927446149745541382666510405955304232707921581460066387678845936051507901951495684157529125261096596659687398180890085706630553787138564391208492321594503821478703686216206469861920100628983898636356664556396237934754908994998176400145562363373658979373957774692111547158860980890089836690296814862111732527752458751996872201891869656155391909132643045030827909365810463192623524025487393806691115766338200019214841047135321311970848259825002149093499251271212663570563499958234976019739037027758189437445901843461530676925120150026808317782208492081562664086516775614561617947854811281151242160246818659615644058112435768934734143528553930128938015012330257111559830595072802548458740955258277364134313313891788418612666801506531498379077727625803388751003175598239447125698350550450712627530069861716037845049613979733454031110090909068593951124894309999096410047548662728740094932315327861111514282809335093927872630336993477539773435117565206086292538581923408793704857209865329258313614963682802630559259296523854696063719540725066793572256650802237368201173509949771863270735123392023293187284130049810108695688529742841614209456733013614953161501780894463650089165487878394779421969141355296975548553445750191017355555380943282965011039119912961371718321387737297519269511799386718375984635063859142332154248926271496362242849538605573166629827521903068094464611551688734239882590465866434024958013952532276815577281633908332382762664870210240933162764668787200475511707391643 268035431175933772567369300305502536147293797802591221331370085629704015099247818580129481501919335755611718975610410184457824154319347624576055998743827498407818935752608693356727225420013840017515264447917859320270112510267799635185159055347863150096629533211204037982710083415098075375231350165101456445934459096293065867024546001307143209242163367963269015238892419055405736184793493968874751688687560682633859925508575212728561860536907507675523727175366193729867781095844800936544266682387925426216807425090157552233084262378101894874734092066102975743061622723992277153091979573468136008956822408443780233115706432504105005761984320768334170607968458010465242830124037493173044028413644653544435133787602613364151349710032133010673572809535696883037387495835093383872187616379101334163676978136778680620765418218672402927840965422490637745505314051360828055618338333108162872961405084087971283588671142668013687290686225136190001078903189067080033896932951401594981803982828479036563363998951738176686392175469538853126392819146863769851505978605733918649473498768457983803401717094396791276014744207843145169836298670962730005119815077416433430260559821778288064606101299691767800278730258284471742754893180717622981365533590549997515716321787279385347167760722312805780964711791947288023498625920354390969322814465458207018657177127166966788044671809037761620311438755657802440478321418873311957933404308633773315063502616897554027316275174388896085526578394770615715587749305856993882574319883799022138693190386092125370105055606989242861734652227428965211501134415404115581085664394673075384838767292338555357821850783720618809716957198105898901019520155108813660558765502425568477042038166886650376522901147415809220473483500338779074983581275428552545936207362007637357004152140306746628730305646651119926512188647011544730074327484453402750601101748434453580042498866919059136075023803802957093992378258843150649567540172333643972794431369105685101891589902638941001721249377214280572992270242944835666676025863771868499327285306813473145899244843115873636686209351522291223338525792489447404170781138278938331052973378037834336973794390761703680150070750541202300603243990153117198717538623618928147839607547075701915218994504851093279812946598336597104525934042279 433690437831894040626193385641669016179735155739739718410165109885835258168667420228298373587078696829919616780869425629138944647471523952237010229749249553562360859896425090098717022802748167710590736854335132532142312536258406523760522880580951605796379631820522279340405816440955596954925272352157388653668460700475488251234359006112816345509185876019689896953375793827060256200863339753530100646150837727954844637320669236671783593050305359137693214125003634957717308669113003785976480330520975571890685675301962203137372053851400778191108074973736223473042843958277275989241905434253309961618734510382235363339822039193060570383435416108481018781070110919888918155291293762782253425323008365614662361653978021241038369672290644573927249856856272268665188853106668194061661825472051749406085347064224830366306800885182808883145198130412219205571701730206764107126240284603847030490530345184567943276069323558099393921240012274754392287395510661583855375636637617801451665902929108020462000355616294572924326930378533851302792964709227143510485352563508610761020657629438873893238407391211653387747271960301897166708500562832386160511724210059478461088469187588751257229625325179161606969846024622671761969734227852944293336381850374999664809821038550598010738324222271040756984450828975046212936071822197852499999739585608233826974959335659048350708758325813376181929386610469083591720481665691971573577462421069542249797646145451484156254290186719153197086408989843418264046490261115271246708633197690810557305857187598656868484133334615046250485655403027204658626832765954566293713194464534791422683816906318288811852960874629687403668082092415897997429567703771542400653697817753429588556320976221744304395531484409286760246918617903985161276119857351961339641064571872966615317767103989549259289564943174974622575908187736611523646584135255640118802275258384225443313233990311082429262307933852767202688066788585992263776996905347258925955933150000148751980755390517335781143218518569577548540823688695026684031581244715151464338324426726434517617566230853171155955721150909009599323160856348589736325030064550434693295822916643407503603621912664771774614682302229936540485834456019551223675552576151204963416889180984034297981659375061334212975711267123797580037641433922 701725869007827813193562685947171552327028953542330939741535195515539273267915238808427855088998032585531335756479835813596768801790871576813066228493077051970179795649033783455444248222762007728106001302252991852412425046526206158945681935928814755893009165031726317323115899856053672330156622517258845099602919796768554118258905007419959554751349243982958912192268212882465992385656833722404852334838398410588704562829244449400345453587212866813216941300369828687585089764957804722520747012908900998107493100392119755370456316229502673065842167039839199216104466682269553142333885007721445970575556918826015596455528471697165576145419736876815189389038568930354160985415331255955297453736653019159097495441580634605189719382322777584600822666391969151702576348941761577933849441851153083569762325201003510987072219103855211810986163552902856951077015781567592162744578617712009903451935429272539226864740466226113081211926237410944393366298699728663889272569589019396433469885757587057025364354568032749610719105848072704429185783856090913361991331169242529410494156397896857696640124485608444663762016168145042336544799233795116165631539287475911891349029009367039321835726624870929407248576282907143504724627408570567274701915440924997180526142825829983357906084944583846537949162620922334236434697742552243469322554051066440845632136462826015138753430134851137802240825366126886032198803084565283531510866729703315564861148762349038183570565361108049282612987384614033979634239566972265129282953081489832695999047573690782238589188941604289112220307630456169870127967181358681874798858859207866807522584198656844169674811658350306213385039290521796898449087858880356061212463320178998065598359143108394680918432631825095980720402118242764236259701132780513885577271933880603972321919244296295888019870589826094549088096834748156253720911619709042869403377006818679023355732857230141565337331737655724296680445047429142913344537077680902898750364519105833853872345293156276782864467895783858121533093931639862350707607108487019963665609733539907663516811073969044792641930502431300822661686648838037140495811202829373024348796294681241840577416303426475454764753052771138841089078446172668422393091199770133111256496728059736213200653879912427492788657865460394684563575476201 1135416306839721853819756071588840568506764109282070658151700305401374531436582659036726228676076729415450952537349261442735713449262395529050076458242326605532540655545458873554161271025510175438696738156588124384554737582784612682706204816509766361689388796852248596663521716297009269285081894869416233753271380497244042369493264013532775900260535120002648809145644006709526248586520173475934952980989236138543549200149913686072129046637518225950910155425373463645302398434070808508497227343429876569998178775694081958507828370080903451256950242013575422689147310640546829131575790441974755932194291429208250959795350510890226146528855152985296208170108679850243079140706625018737550879059661384773759857095558655846228089054613422158528072523248241420367765202048429771995511267323204832975847672265228341353379019989038020694131361683315076156648717511774356269870818902315856933942465774457107170140809789784212475133166249685698785653694210390247744648206226637197885135788686695077487364710184327322535046036226606555731978748565318056872476683732751140171514814027335731589878531876820098051509288128446939503253299796627502326143263497535390352437498196955790579065351950050091014218422307529815266694361636423511568038297291299996845335963864380581368644409166854887294933613449897380449370769564750095969322293636674674672607095798485063489462188460664513984170211976595969623919284750257255105088329150772857814658794907800522339824855547827202479699396374457452243680729828087536375991586279180643253304904761289439107073322276219335362705963033483374528754799947313248168512053323742658230206401104975132981527772532979993617053121382937694895878655562651898461866161137932427654154680119330138985313964116234382740967320736146749397535820990132475225218336505753570587639686348285845147309435533001069171664005022484767777367495754964682988205652265202904466668966847541223994599639671508491499368511836015135177121533983028161824706297669105982605853100683673612564007686414353435670073917620334889034739188353202171428003934160266342181134377304822215948597651653340310421984847505186626876820841267379807717644619211324649344181038216091247229379435355001075381574912902192219646068643775921338074673385909043770511182313254973761705764369132584192264601216910123 1837142175847549667013318757536012120833793062824401597893235500916913804704497897845154083765074762000982288293829097256332482251053267105863142686735403657502720451194492657009605519248272183166802739458841116236967162629310818841651886752438581117582397961883974913986637616153062941615238517386675078852874300294012596487752169020952735455011884363985607721337912219591992240972177007198339805315827634549132253762979158135472474500224731092764127096725743292332887488199028613231017974356338777568105671876086201713878284686310406124322792409053414621905251777322816382273909675449696201902769848348034266556250878982587391722674274889862111397559147248780597240126121956274692848332796314403932857352537139290451417808436936199743128895189640210572070341550990191349929360709174357916545609997466231852340451239092893232505117525236217933107725733293341948432615397520027866837394401203729646397005550256010325556345092487096643179019992910118911633920775815656594318605674444282134512729064752360072145765142074679260161164532421408970234468014901993669582008970425232589286518656362428542715271304296591981839798099030422618491774802785011302243786527206322829900901078574921020421466998590436958771418989044994078842740212732224994025862106690210564726550494111438733832882776070819714685805467307302339438644847687741115518239232261311078628215618595515651786411037342722855656118087834822538636599195880476173379519943670149560523395420908935251762312383759071486223314969395059801505274539360670475949303952334980221345662511217823624474926270663939544398882767128671930043310912182950525037728985303631977151202584191330299830438160673459491794327743421532254523078624458111425719753039262438533666232396748059478721687722854389513633795522122912989110795608439634174559961605592582141035329306122827163720752101857232924031088407374673725857609029272021583490024699704771365559936971409164215796048956883444278090466071060709064723456662188211816459725445976829889346872154310137293791607011551974751385446795461689191391669543893806249844651188378791260741239582155771611244646534154024664017316652470209180741993415506005891184758454519517722684144188407772214222663991348364888068461734975691471185929882637103506724382967134886189198553026998044586949164792386324 2972558482687271520833074829124852689340557172106472256044935806318288336141080556881880312441151491416433240831178358699068195700315662634913219144977730263035261106739951530563766790273782358605499477615429240621521900212095431524358091568948347479271786758736223510650159332450072210900320412256091312606145680791256638857245433034485511355272419483988256530483556226301518489558697180674274758296816870687675802963129071821544603546862249318715037252151116755978189886633099421739515201699768654138103850651780283672386113056391309575579742651066990044594399087963363211405485465891670957834964139777242517516046229493477617869203130042847407605729255928630840319266828581293430399211855975788706617209632697946297645897491549621901656967712888451992438106753038621121924871976497562749521457669731460193693830259081931253199248886919533009264374450805116304702486216422343723771336866978186753567146360045794538031478258736782341964673687120509159378568982042293792203741463130977212000093774936687394680811178301285815893143280986727027106944698634744809753523784452568320876397188239248640766780592425038921343051398827050120817918066282546692596224025403278620479966430524971111435685420897966774038113350681417590410778510023524990871198070554591146095194903278293621127816389520717095135176236872052435407967141324415790190846328059796142117677807056180165770581249319318825280037372585079793741687525031249031194178738577950082863220276456762454242011780133528938466995699223147337881266125639851119202608857096269660452735833494042959837632233697422918927637567075985178211822965506693183267935386408607110132730356724310293447491282056397186690206398984184152984944785596043853373907719381768672651546360864293861462655043590536263031331343113045464336013944945387745147601291940867986182638741655828232892416106879717691808455903129638408845814681537224487956693666552312589554536611080672707295417468719459413267587605043737226548162959857317799065578546660503501910879840724490729461680929172309640420185983814891362819673478054072592025785565683613476689837233809111921666631381659211290894137493737588988459638034717330540528939492735608969913523623762773289604238904250557107714530378751612809260603268546147277235565280389859950904317396130628779213766009296447 4809700658534821187846393586660864810174350234930873853938171307235202140845578454727034396206226253417415529125007455955400677951368929740776361831713133920537981557934444187573372309522054541772302217074270356858489062841406250366009978321386928596854184720620198424636796948603135152515558929642766391459019981085269235344997602055438246810284303847973864251821468445893510730530874187872614563612644505236808056726108229957017078047086980411479164348876860048311077374832128034970533176056107431706209522527866485386264397742701715699902535060120404666499650865286179593679395141341367159737733988125276784072297108476065009591877404932709519003288403177411437559392950537568123247544652290192639474562169837236749063705928485821644785862902528662564508448304028812471854232685671920666067067667197692046034281498174824485704366412155750942372100184098458253135101613942371590608731268181916399964151910301804863587823351223878985143693680030628071012489757857950386522347137575259346512822839689047466826576320375965076054307813408135997341412713536738479335532754877800910162915844601677183482051896721630903182849497857472739309692869067557994840010552609601450380867509099892131857152419488403732809532339726411669253518722755749984897060177244801710821745397389732354960699165591536809820981704179354774846611989012156905709085560321107220745893425651695817556992286662041680936155460419902332378286720911725204573698682248099643386615697365697706004324163892600424690310668618207139386540665000521595151912809431249881798398344711866584312558504361362463326520334204657108255133877689643708305664371712239087283932940915640593277929442729856678484534142405716407508023410054155279093660758644207206317778757612353340184342766444925776665126865235958453446809553385021919707562897533450127217968047778655396613168208736950615839544310504312134703423710809246071446718366257083955114473582489836923091466425602903691358053676104446291271619622045529615525303992637333391257751995034628023253287940724284391805632779276580554211343021947878841870436754062404737431076815964883532911277915813235954911454146207798169201631450223336431713697947255126692597667812170545503826902895598921995782992113727304280446533151183250783959948247524746140102870423128673366162930801682771 7782259141222092708679468415785717499514907407037346109983107113553490476986659011608914708647377744833848769956185814654468873651684592375689580976690864183573242664674395718137139099795836900377801694689699597480010963053501681890368069890335276076125971479356421935286956281053207363415879341898857704065165661876525874202243035089923758165556723331962120782305024672195029220089571368546889321909461375924483859689237301778561681593949229730194201601027976804289267261465227456710048377755876085844313373179646769058650510799093025275482277711187394711094049953249542805084880607233038117572698127902519301588343337969542627461080534975556926609017659106042277878659779118861553646756508265981346091771802535183046709603420035443546442830615417114556946555057067433593779104662169483415588525336929152239728111757256755738903615299075283951636474634903574557837587830364715314380068135160103153531298270347599401619301609960661327108367367151137230391058739900244178726088600706236558512916614625734861507387498677250891947451094394863024448357412171483289089056539330369231039313032840925824248832489146669824525900896684522860127610935350104687436234578012880070860833939624863243292837840386370506847645690407829259664297232779274975768258247799392856916940300668025976088515555112253904956157941051407210254579130336572695899931888380903362863571232707875983327573535981360506216192833004982126119974245942974235767877420826049726249835973822460160246335944026129363157306367841354477267806790640372714354521666527519542251134178205909544150190738058785382254157901280642286466956843196336891573599758120846197416663297639950886725420724786253865174740541389900560492968195650199132467568478025975878969325118476647201646997810035462039696458208349003917782823498330409664855164189474318113400606789434483629505584315616668307648000213633950543549238392346470559403412032809396544669010193570509630386883894322363104625641281148183517819782581902847414590882539297836893168631835759118752714968869896594032225818763091471917031016500001951433896222319746018214120914049773995454577909297472447245805591639945387157661269484940666972242637439990735662511191435933318793431141799849479103497522492478917089707136419729398061195513527914606091007187819259302145376696810979218 12591959799756913896525862002446582309689257641968219963921278420788692617832237466335949104853603998251264299081193270609869551603053522116465942808403998104111224222608839905710511409317891442150103911763969954338500025894907932256378048211722204672980156199976620359923753229656342515931438271541624095524185642961795109547240637145362004975841027179935985034126493118088539950620445556419503885522105881161291916415345531735578759641036210141673365949904836852600344636297355491680581553811983517550522895707513254444914908541794740975384812771307799377593700818535722398764275748574405277310432116027796085660640446445607637052957939908266445612306062283453715438052729656429676894301160556173985566333972372419795773309348521265191228693517945777121455003361096246065633337347841404081655593004126844285762393255431580224607981711231034894008574819002032810972689444307086904988799403342019553495450180649404265207124961184540312252061047181765301403548497758194565248435738281495905025739454314782328333963819053215968001758907802999021789770125708221768424589294208170141202228877442603007730884385868300727708750394541995599437303804417662682276245130622481521241701448724755375149990259874774239657178030134240928917815955535024960665318425044194567738685698057758331049214720703790714777139645230761985101191119348729601609017448702010583609464658359571800884565822643402187152348293424884458498260966854699440341576103074149369636451671188157866250660107918729787847617036459561616654347455640894309506434475958769424049532522917776128462749242420147845580678235485299394722090720885980599879264129833085284700596238555591480003350167516110543659274683795616968000991605704354411561229236670183085287103876089000541831340576480387816361585073584962371229633051715431584562727087007768240618574837213139026118752524353618923487544524138262678252662103155716630850130399066480499783483776060346553478350319925266795983694957252629809091402203948377030116186531935170284426383830793746775968256810620878424031451542368052471242359521949830275766659073808422951551990865738878987489187213285683200717045786153185326862900935164003403956335387245862355108859248103864297258044695448401099280514606206221370153669570912648845155461775439352231110058242387975511539627612661989 20374218940979006605205330418232299809204165049005566073904385534342183094818896477944863813500981743085113069037379085264338425254738114492155523785094862287684466887283235623847650509113728342527905606453669551818510988948409614146746118102057480749106127679333042295210709510709549879347317613440481799589351304838320983749483672235285763141397750511898105816431517790283569170710016924966393207431567257085775776104582833514140441234985439871867567550932813656889611897762582948390629931567859603394836268887160023503565419340887766250867090482495194088687750771785265203849156355807443394883130243930315387248983784415150264514038474883823372221323721389495993316712508775291230541057668822155331658105774907602842482912768556708737671524133362891678401558418163679659412442010010887497244118341055996525490505012688335963511597010306318845645049453905607368810277274671802219368867538502122707026748450997003666826426571145201639360428414332902531794607237658438743974524338987732463538656068940517189841351317730466859949210002197862046238127537879705057513645833538539372241541910283528831979716875014970552234651291226518459564914739767767369712479708635361592102535388349618618442828100261144746504823720542070188582113188314299936433576672843587424655625998725784307137730275816044619733297586282169195355770249685302297508949337082913946473035891067447784212139358624762693368541126429866584618235212797673676109453523900199095886287645010618026496996051944859151004923404300916093922154246281267023860956142486288966300666701123685672612939980478933227834836136765941681189047564082317491452863887953931482117259536195542366728770892302364408834015225185517528493959801354553544028797714696158964256428994565647743478338386515849856058043281933966289012456550045841249417891276482086354019181626647622655624336839970287231135544737772213221801900495502187190253542431875877044452493969630856183865234214247629900609336238400813326911184785851224444707069071233007177595015666552865528683225680517472456257270305459524388273376021951781709662881393554441165672904915512874442067096510758130446522637426098572484524170420104670376198972827236598017620050684037183090689186495297880202778037098685138459860805990642046906350975303353958322117246061647277656916324423641207 32966178740735920501731192420678882118893422690973786037825663955130875712651133944280812918354585741336377368118572355874207976857791636608621466593498860391795691109892075529558161918431619784678009518217639506157011014843317546403124166313779685422086283879309662655134462740365892395278755884982105895113536947800116093296724309380647768117238777691834090850558010908372109121330462481385897092953673138247067692519928365249719200876021650013540933500837650509489956534059938440071211485379843120945359164594673277948480327882682507226251903253802993466281451590320987602613432104381848672193562359958111472909624230860757901566996414792089817833629783672949708754765238431720907435358829378329317224439747280022638256222117077973928900217651308668799856561779259925725045779357852291578899711345182840811252898268119916188119578721537353739653624272907640179782966718978889124357666941844142260522198631646407932033551532329741951612489461514667833198155735416633309222960077269228368564395523255299518175315136783682827950968910000861068027897663587926825938235127746709513443770787726131839710601260883271279943401685768514059002218544185430051988724839257843113344236837074373993592818360135918986162001750676311117499929143849324897098895097887781992394311696783542638186944996519835334510437231512931180456961369034031899117966785784924530082500549427019585096705181268164880520889419854751043116496179652373116451029626974348465522739316198775892747656159863588938852540440760477710576501701922161333367390618445058390350199224041461801075689222899081073415514372251241075911138284968298091332128017787016766817855774751133846732121059818474952493289908981134496494951407058907955590026951366342049543532870654648285309678962996237672419628355518928660242089601761272833980618363489854594637756463860761681743089364323906154623089261910475900054562598657903821103672830942357544235977745691202737343584534172896696593031195653443136002586989799601474823255603168177462021399497346612304651482491138350880288721847827576859515735543901611985429540467362864117224895781251753429556283724043813647239683212251757811387071355268673780155308214482460372728909932141047387947231190746281302058551704891359830014475561554695751506437078793310553227304304035253168455952036303196 53340397681714927106936522838911181928097587739979352111730049489473058807470030422225676731855567484421490437155951441138546402112529751100776990378593722679480157997175311153405812427545348127205915124671309057975522003791727160549870284415837166171192411558642704950345172251075442274626073498422587694702888252638437077046207981615933531258636528203732196666989528698655678292040479406352290300385240395332843468624511198763859642111007089885408501051770464166379568431822521388461841416947702724340195433481833301452045747223570273477118993736298187554969202362106252806462588460189292067076692603888426860158608015275908166081034889675913190054953505062445702071477747207012137976416498200484648882545522187625480739134885634682666571741784671560478258120197423605384458221367863179076143829686238837336743403280808252151631175731843672585298673726813247548593243993650691343726534480346264967548947082643411598859978103474943590972917875847570364992762973075072053197484416256960832103051592195816708016666454514149687900178912198723114266025201467631883451880961285248885685312698009660671690318135898241832178052976995032518567133283953197421701204547893204705446772225423992612035646460397063732666825471218381306082042332163624833532471770731369417049937695509326945324675272335879954243734817795100375812731618719334196626916122867838476555536440494467369308844539892927573889430546284617627734731392450046792560483150874547561409026961209393919244652211808448089857463845061393804498655948203428357228346760931347356650865925165147473688629203378014301250350509017182757100185849050615582784991905740948248935115310946676213460891952120839361327305134166652024988911208413461499618824666062501013799961865220296028788017349512087528477671637452894949254546151807114083398509639971940948656938090508384337367426204294193385758633999682689121856463094160091011357215262818234588688471715322058921208818748420526597202367434054256462913771775650825919530324674401184639616415163899477833334708171655823336545992153287101247789111565853393695092421860917305282897800696764627871623380234801944093762320638350330295911241775373344156354281041719058390348960616178230478636417686044161504836588803576498289875281552196742657857412382147268875344550365682530825372276459944403 86306576422450847608667715259590064046991010430953138149555713444603934520121164366506489650210153225757867805274523797012754378970321387709398456972092583071275849107067386682963974345976967911883924642888948564132533018635044706952994450729616851593278695437952367605479634991441334669904829383404693589816425200438553170342932290996581299375875305895566287517547539607027787413370941887738187393338913533579911161144439564013578842987028739898949434552608114675869524965882459828533052902327545845285554598076506579400526075106252780703370896990101181021250653952427240409076020564571140739270254963846538333068232246136666067648031304468003007888583288735395410826242985638733045411775327578813966106985269467648118995357002712656595471959435980229278114681976683531109504000725715470655043541031421678147996301548928168339750754453381026324952297999720887728376210712629580468084201422190407228071145714289819530893529635804685542585407337362238198190918708491705362420444493526189200667447115451116226191981591297832515851147822199584182293922865055558709390116089031958399129083485735792511400919396781513112121454662763546577569351828138627473689929387151047818791009062498366605628464820532982718828827221894692423581971476012949730631366868619151409444249392292869583511620268855715288754172049308031556269692987753366095744882908652763006638036989921486954405549721161092454410319966139368670851227572102419909011512777848896026931766277408169811992308371672037028710004285821871515075157650125589690595737379376405747001065149206609274764318426277095374665864881268423833011324134018913674117119923527965015752971085697810060193013011939314313820595043147786521483862615472369455208851617428843063343494735874944314097696312508325200897299992971823609496635753568386917379128003461795543294694554369146019110515568618099540381723261593165021911025692817994832460888093760592132924449461013261658552403282593423293795398629707699598916358765450427394353580277569362101637814661246090137986190662794174216834714001114678107304847109755005680521962328280169400122696478016381301179663958845757741002003850602088107298313130642017936509589256201518763077870548319277866583648876790442806895140508467858119889757113751438409363849460940579428571854669717783993828228496247599 139646974104165774715604238098501245975088598170932490261285762934076993327591194788732166382065720710179358242430475238151300781082851138810175447350686305750756007104242697836369786773522316039089839767560257622108055022426771867502864735145454017764471106996595072555824807242516776944530902881827281284519313453076990247389140272612514830634511834099298484184537068305683465705411421294090477693724153928912754629768950762777438485098035829784357935604378578842249093397704981216994894319275248569625750031558339880852571822329823054180489890726399368576219856314533493215538609024760432806346947567734965193226840261412574233729066194143916197943536793797841112897720732845745183388191825779298614989530791655273599734491888347339262043701220651789756372802174107136493962222093578649731187370717660515484739704829736420491381930185224698910250971726534135276969454706280271811810735902536672195620092796933231129753507739279629133558325213209808563183681681566777415617928909783150032770498707646932934208648045811982203751326734398307296559948066523190592841997050317207284814396183745453183091237532679754944299507639758579096136485112091824895391133935044252524237781287922359217664111280930046451495652693113073729664013808176574564163838639350520826494187087802196528836295541191595242997906867103131932082424606472700292371799031520601483193573430415954323714394261054020028299750512423986298585958964552466701571995928723443588340793238617563731236960583480485118567468130883265319573813598329018047824084140307753103651931074371756748452947629655109675916215390285606590111509983069529256902111829268913264688086396644486273653904964060153675147900177314438546472773823885830954827676283491344077143456601095240342885713662020412729374971630424718558751181905375501000777637643433736491951632644877530356477941772912292926140357261275854143767488786978085843818103356578826721612921176335320579761222031013949890997766063761956061830130541101253313883904951970546741254229825145567971320898834449997553380706154401779355093958675608399375614384189197474683020497174781009172803044193647701834764324488952418403209554906015362092863870297920577153426831164497508345220066562834604311731729312044356409765038665948181067221261843087848303916405035400314819200504956192002 225953550526616622324271953358091310022079608601885628410841476378680927847712359155238656032275873935937226047704999035164055160053172526519573904322778888822031856211310084519333761119499283950973764410449206186240588041061816574455859185875070869357749802434547440161304442233958111614435732265231974874335738653515543417732072563609096130010387139994864771702084607912711253118782363181828665087063067462492665790913390326791017328085064569683307370156986693518118618363587441045527947221602794414911304629634846460253097897436075834883860787716500549597470510266960733624614629589331573545617202531581503526295072507549240301377097498611919205832120082533236523723963718484478228799967153358112581096516061122921718729848891059995857515660656632019034487484150790667603466222819294120386230911749082193632736006378664588831132684638605725235203269726255023005345665418909852279894937324727079423691238511223050660647037375084314676143732550572046761374600390058482778038373403309339233437945823098049160400629637109814719602474556597891478853870931578749302232113139349165683943479669481245694492156929461268056420962302522125673705836940230452369081063322195300343028790350420725823292576101463029170324479915007766153245985284189524294795205507969672235938436480095066112347915810047310531752078916411163488352117594226066388116681940173364489831610420337441278119943982215112482710070478563354969437186536654886610583508706572339615272559516025733543229268955152522147277472416705136834648971248454607738419821519684158850652996223578366023217266055932205050582080271554030423122834117088442931019231752796878280441057482342296333846917975999467988968495220462225067956636439358200410036527900920187140486951336970184656983409974528737930272271623396542168247817658943887918156765646895532035246327199246676375588457341530392466522080522869019165678514479796080676278991450339418854537370637348582238313625313607373184793164693469655660746489306551680708237485229539908842892044486391658109307089497244171770215420155516457462398805785363405056136346517477644083143193652797390473982708152493459575766328339554506510507868036657380029373459554122095916504701712816786211803715439625047118626869820512214529654795779699619476585111304028427732488259705118098813028733452439601 365600524630782397039876191456592555997168206772818118672127239312757921175303553943970822414341594646116584290135474273315355941136023665329749351673465194572787863315552782355703547893021599990063604178009463808348643063488588441958723921020524887122220909431142512717129249476474888558966635147059256158855052106592533665121212836221610960644898974094163255886621676218394718824193784475919142780787221391405420420682341089568455813183100399467665305761365272360367711761292422262522841540878042984537054661193186341105669719765898889064350678442899918173690366581494226840153238614092006351964150099316468719521912768961814535106163692755835403775656876331077636621684451330223412188158979137411196086046852778195318464340779407335119559361877283808790860286324897804097428444912872770117418282466742709117475711208401009322514614823830424145454241452789158282315120125190124091705673227263751619311331308156281790400545114363943809702057763781855324558282071625260193656302313092489266208444530744982094609277682921796923353801290996198775413818998101939895074110189666372968757875853226698877583394462141023000720469942280704769842322052322277264472197257239552867266571638343085040956687382393075621820132608120839882909999092366098858959044147320193062432623567897262641184211351238905774749985783514295420434542200698766680488480971693965973025183850753395601834338243269132511009820990987341268023145501207353312155504635295783203613352754643297274466229538633007265844940547588402154222784846783625786243905659991911954304927297950122771670213685587314726498295661839637013234344100157972187921343582065791545129143878986782607500822940059621664116395397776663614429410263244031364864204184411531217630407938065424999869123636549150659647243253821260726998999564319388918934403290329268527197959844124206732066399114442685392662437784144873309446003266774166520097094806918245576150291813683902818074847344621323075790930757231611722576619847652934022121390181510455584146274311537226080627988331694169323596126309918236817492764460971804431750730706675118766163690827578399646785752346141161410530652828506924913717422942672742122237329852042673069931532877314294557023782002459651430358599132556570939419834445647800543806373147116276036404664740518413632229238408631603 591554075157399019364148144814683866019247815374703747082968715691438849023015913099209478446617468582053810337840473308479411101189196191849323255996244083394819719526862866875037309012520883941037368588458669994589231104550405016414583106895595756479970711865689952878433691710433000173402367412291231033190790760108077082853285399830707090655286114089028027588706284131105971942976147657747807867850288853898086211595731416359473141268164969150972675918351965878486330124879863308050788762480837399448359290828032801358767617201974723948211466159400467771160876848454960464767868203423579897581352630897972245816985276511054836483261191367754609607776958864314160345648169814701640988126132495523777182562913901117037194189670467330977075022533915827825347770475688471700894667732166890503649194215824902750211717587065598153647299462436149380657511179044181287660785544099976371600610551990831043002569819379332451047582489448258485845790314353902085932882461683742971694675716401828499646390353843031255009907320031611642956275847594090254267689929680689197306223329015538652701355522707944572075551391602291057141432244802830443548158992552729633553260579434853210295361988763810864249263483856104792144612523128606036155984376555623153754249655289865298371060047992328753532127161286216306502064699925458908786659794924833068605162911867330462856794271090836879954282225484244993719891469550696237460332037862239922739013341868122818885912270669030817695498493785529413122412964293538988871756095238233524663727179676070804957923521528488794887479741519519777080375933393667436357178217246415118940575334862669825570201361329078941347740916059089653084890618238888682386046702602231774900732085331718358117359275035609656852533611077888589919514877217802895246817223263276837091168937224800562444287043370883107654856455973077859184518307013892475124517746570247196376086257257664430687662451032485056388472658228696260584095450701267383323109154204614730358875411050364427038318797928884189935077828938341093811546465434694279891570246335209487887077224152762849306884480375790120768460498634620986296981168061431424225290979330122151610789406164768986436234590131080768827497442084698548985468953068785469074630225347420020391484451144703768892924445636512445257971861071204 957154599788181416404024336271276422016416022147521865755095955004196770198319467043180300860959063228170394627975947581794767042325219857179072607669709277967607582842415649230740856905542483931100972766468133802937874168038993458373307027916120643602191621296832465595562941186907888732369002559350487192045842866700610747974498236052318051300185088183191283475327960349500690767169932133666950648637510245303506632278072505927928954451265368618637981679717238238854041886172285570573630303358880383985413952021219142464437336967873613012562144602300385944851243429949187304921106817515586249545502730214440965338898045472869371589424884123590013383433835195391796967332621144925053176285111632934973268609766679312355658530449874666096634384411199636616208056800586275798323112645039660621067476682567611867687428795466607476161914286266573526111752631833339569975905669290100463306283779254582662313901127535614241448127603812202295547848078135757410491164533309003165350978029494317765854834884588013349619185002953408566310077138590289029681508927782629092380333518681911621459231375934643449658945853743314057861902187083535213390481044875006898025457836674406077561933627106895905205950866249180413964745131249445919065983468921722012713293802610058360803683615889591394716338512525122081252050483439754329221201995623599749093643883561296435881978121844232481788620468753377504729712460538037505483477539069593234894517977163906022499265025312328092161728032418536678967353511881941143094540942021859310907632839667982759262850819478611566557693427106834503578671595233304449591522317404387306861918916928461370699345240315861548848563856118711317201286016015552296815456965846263139764936269743249575747767213101034656721657247627039249566758131039063622245816787582665756025572227554069089642246887495089839721255570415763251846956091158765784570521013344413716473181064175910006837954264716387874463320002850019336375026207932879105899729001857548752480265592560820011184593109466110270563066160632510417407672775352931097384334707307013919637807930827881615470575307954189767554212844775782396827633996568356337942713922002864273848119258207442056367767467445375325851279444544349979344068085625356408494464670995220564197857598260979805297589186154926077487210269702807 1548708674945580435768172481085960288035663837522225612838064670695635619221335380142389779307576531810224204965816420890274178143514416049028395863665953361362427302369278516105778165918063367872138341354926803797527105272589398474787890134811716400082162333162522418473996632897340888905771369971641718225236633626808687830827783635883025141955471202272219311064034244480606662710146079791414758516487799099201592843873803922287402095719430337769610657598069204117340372011052148878624419065839717783433773242849251943823204954169848336960773610761700853716012120278404147769688975020939166147126855361112413211155883321983924208072686075491344622991210794059705957312980790959626694164411244128458750451172680580429392852720120341997073709406945115464441555827276274747499217780377206551124716670898392514617899146382532205629809213748702722906769263810877520857636691213390076834906894331245413705316470946914946692495710093260460781393638392489659496424046994992746137045653745896146265501225238431044604629092322985020209266352986184379283949198857463318289686556847697450274160586898642588021734497245345605115003334431886365656938640037427736531578718416109259287857295615870706769455214350105285206109357654378051955221967845477345166467543457899923659174743663881920148248465673811338387754115183365213238007861790548432817698806795428626898738772392935069361742902694237622498449603930088733742943809576931833157633531319032028841385177295981358909857226526204066092089766476175480131966297037260092835571360019344053564220774341007100361445173168626354280659047528626971885948700534650802425802494251791131196269546601644940490196304772177800970286176634254440979201503668448494914665668355074967933865126488136644313574190858704927839486273008256866517492634010845942593116741164778869652086533930865972947376112026388841111031474398172658259695038759914660912849267321433574437525616715748872930851792661078715596959121658634146489222838156062163482839141003611184438222911907394994460498143989570851511219219240787625377275904953642223407524885154980644464777459788329979888322673343410403383124615164629787762168004901332986425458908664372211042804002057576456094678776886629048528329537038694141877569094896342640584589342049405683574190513631791438522745182130774011 2505863274733761852172196817357236710052079859669747478593160625699832389419654847185570080168535595038394599593792368472068945185839635906207468471335662639330034885211694165336519022823605851803239314121394937600464979440628391933161197162727837043684353954459354884069559574084248777638140372530992205417282476493509298578802281871935343193255656290455410594539362204830107353477316011925081709165125309344505099476151876428215331050170695706388248639277786442356194413897224434449198049369198598167419187194870471086287642291137721949973335755364001239660863363708353335074610081838454752396672358091326854176494781367456793579662110959614934636374644629255097754280313412104551747340696355761393723719782447259741748511250570216663170343791356315101057763884076861023297540893022246211745784147580960126485586575177998813105971128034969296432881016442710860427612596882680177298213178110499996367630372074450560933943837697072663076941486470625416906915211528301749302396631775390464031356060123019057954248277325938428775576430124774668313630707785245947382066890366379361895619818274577231471393443099088919172865236618969900870329121082302743429604176252783665365419229242977602674661165216354465620074102785627497874287951314399067179180837260509982019978427279771511542964804186336460469006165666804967567229063786172032566792450678989923334620750514779301843531523162991000003179316390626771248427287116001426392528049296195934863884442321293687002018954558622602771057119988057421275060837979281952146478992859012036323483625160485711928002866595733188784237719123860276335540222852055189732664413168719592566968891841960802039044868628296512287487462650269993276016960634294758054430604624818217509612893701237678970295848106331967089053031139295930139738450798428608349142313392332938741728780818361062787097367596804604362878430489331424044265559773259074629322448385609484444363570980465260805315112663928734933334147866567025595122567157919712235319406596172004449407505016861104731061210150203361928626892016140556474660239660949237327162693085808526080248035096284169655876886188186185779952249161198144100110718823335850699307027922579653099171769525021831420530056331173398507673605124319498286063559567337861148787199647666663379488102817946364600232392400476818 4054571949679342287940369298443196998087743697191973091431225296395468008640990227327959859476112126848618804559608789362343123329354051955235864335001616000692462187580972681442297188741669219675377655476321741397992084713217790407949087297539553443766516287621877302543556206981589666543911742502633923642519110120317986409630065507818368335211127492727629905603396449310714016187462091716496467681613108443706692320025680350502733145890126044157859296875855646473534785908276583327822468435038315950852960437719723030110847245307570286934109366125702093376875483986757482844299056859393918543799213452439267387650664689440717787734797035106279259365855423314803711593294203064178441505107599889852474170955127840171141363970690558660244053198301430565499319711353135770796758673399452762870500818479352641103485721560531018735780341783672019339650280253588381285249288096070254133120072441745410072946843021365507626439547790333123858335124863115076403339258523294495439442285521286610296857285361450102558877369648923448984842783110959047597579906642709265671753447214076812169780405173219819493127940344434524287868571050856266527267761119730479961182894668892924653276524858848309444116379566459750826183460440005549829509919159876412345648380718409905679153170943653431691213269860147798856760280850170180805236925576720465384491257474418550233359522907714371205274425857228622501628920320715504991371096692933259550161580615227963705269619617275045911876181084826668863146886464232901407027135016542044982050352878356089887704399501492812289448039764359543064896766652487248221488923386705992158466907420510723763238438443605742529241173400474313257773639284524434255218464302743252969096272979893185443478020189374323283870038965036894928539304147552796657231084809274550942259054557111808393815314749227035734473479623193445473909904887504082303960598533173735542171715707043058881889187696214133736166905325007450530293269525201172084345405313981875718158547599783188887630416924256099191559354139774213439846111256928181851936144614591460734687578240789170545025494884614149544199559531596589163076864325827931862278723724668837124765936586951864141975771582598287515208833217802447036003142163013640163632654463680501733376541697072346953678616449737803122977574531250829 6560435224413104140112566115800433708139823556861720570024385922095300398060645074513529939644647721887013404153401157834412068515193687861443332806337278640022497072792666846778816211565275071478616969597716678998457064153846182341110284460267390487450870242081232186613115781065838444182052115033626129059801586613827284988432347379753711528466783783183040500142758654140821369664778103641578176846738417788211791796177556778718064196060821750546107936153642088829729199805501017777020517804236914118272147632590194116398489536445292236907445121489703333037738847695110817918909138697848670940471571543766121564145446056897511367396907994721213895740500052569901465873607615168730188845803955651246197890737575099912889875221260775323414396989657745666557083595429996794094299566421698974616284966060312767589072296738529831841751469818641315772531296696299241712861884978750431431333250552245406440577215095816068560383385487405786935276611333740493310254470051596244741838917296677074328213345484469160513125646974861877760419213235733715911210614427955213053820337580456174065400223447797050964521383443523443460733807669826167397596882202033223390787070921676590018695754101825912118777544782814216446257563225633047703797870474275479524829217978919887699131598223424943234178074046484259325766446516975148372465989362892497951283708153408473567980273422493673048805949020219622504808236711342276239798383808934685942689629911423898569154061938568732913895135643449271634204006452290322682087972995823997128529345737368126211188024661978524217450906360092731849134485776347524557029146238761181891131320589230316330207330285566544568286042028770825545261101934794427531235424937038011023526877604711402953090913890612002254165887071368862017592335286848726796969535607703159291401367949444747135544095567588098521570847219998049836788335376835506348226158306432810171494164092652543326252758676679394541482017988936185463627417391768197679467972471901587953477954195955193337037921941117203922620564289977575368473003273068738326596384275540698061850271326597696625273529980898319200076445719782774943029113487026075962389442548004687824072964509531517241147541107620118935738889548975845543676747287333138449696214031018362882163741344739010333166719267684167723209966931727647 10615007174092446428052935414243630706227567254053693661455611218490768406701635301841489799120759848735632208713009947196755191844547739816679197141338894640714959260373639528221113400306944291153994625074038420396449148867063972749059371757806943931217386529703109489156671988047428110725963857536260052702320696734145271398062412887572079863677911275910670405746155103451535385852240195358074644528351526231918484116203237129220797341950947794703967233029497735303263985713777601104842986239275230069125108070309917146509336781752862523841554487615405426414614331681868300763208195557242589484270784996205388951796110746338229155131705029827493155106355475884705177466901818232908630350911555541098672061692702940084031239191951333983658450187959176232056403306783132564891058239821151737486785784539665408692558018299060850577531811602313335112181576949887622998111173074820685564453322993990816513524058117181576186822933277738910793611736196855569713593728574890740181281202817963684625070630845919263072003016623785326745261996346692763508790521070664478725573784794532986235180628621016870457649323787957967748602378720682433924864643321763703351969965590569514671972278960674221562893924349273967272441023665638597533307789634151891870477598697329793378284769167078374925391343906632058182526727367145329177702914939612963335774965627827023801339796330208044254080374877448245006437157032057781231169480501867945492851210526651862274423681555843778825771316728275940497350892916523224089115108012366042110579698615724216098892424163471336506898946124452274914031252428834772778518069625467174049598228009741040093445768729172287097527215429245138803034741219318861786453889239781263992623150584604588396568934079986325538035926036405756946131639434401523454200620416977710233660422506556555529359410316815134256044326843191495310698240264339588652186756839606545713665879799695602208141946372893528277648923313943635993920686916969369763813377785883463671636501795738382224668338865373303114179918429751788808319114529996920178532528890132158796537849567386867170299024865512468744276005251379364106105977812854007824668166272673524948838901096483381383123312690218406450947722766778292579679889450346778613328868494698864615540283041811357286845335717421970846187541462978476 17175442398505550568165501530044064414367390810915414231479997140586068804762280376355019738765407570622645612866411105031167260359741427678122529947676173280737456333166306374999929611872219362632611594671755099394906213020910155090169656218074334418668256771784341675769787769113266554908015972569886181762122283347972556386494760267325791392144695059093710905888913757592356755517018298999652821375089944020130275912380793907938861538011769545250075169183139824132993185519278618881863504043512144187397255702900111262907826318198154760748999609105108759452353179376979118682117334255091260424742356539971510515941556803235740522528613024548707050846855528454606643340509433401638819196715511192344869952430278039996921114413212109307072847177616921898613486902213129358985357806242850712103070750599978176281630315037590682419283281420954650884712873646186864710973058053571116995786573546236222954101273212997644747206318765144697728888347530596063023848198626486984923120120114640758953283976330388423585128663598647204505681209582426479420001135498619691779394122374989160300580852068813921422170707231481411209336186390508601322461525523796926742757036512246104690668033062500133681671469132088183718698586891271645237105660108427371395306816676249681077416367390503318159569417953116317508293173884120477550168904302505461287058673781235497369320069752701717302886323897667867511245393743400057470967864310802631435540840438075760843577743494412511739666452371725212131554899368813546771203081008190039239109044353092342310080448825449860724349852484545006763165738205182297335547215864228355940729548598971356423653099014738831665813257458015964348295843154113289317689314176819275016150028189315991349659847970598327792201813107774618963723974721250250251170156024680869525061790456001302664903505884403232777615174063189545147486575641175095000412915146039355885160043892348145534394705049572922819130941302879821457548104308737567443281350257785051625114455991693575561706260806490507036800482719729364176792117803065658505128913165672856858388120893984563795572554846410787944352450971162139049135091299880083787057608820678212772911865606014898624270853797838525386686612315754138123356636737679917063025082525717227497704024386550367620012054985106138569397508394706123 27790449572597996996218436944287695120594958064969107892935608359076837211463915678196509537886167419358277821579421052227922452204289167494801727089015067921452415593539945903221043012179163653786606219745793519791355361887974127839229027975881278349885643301487451164926459757160694665633979830106146234464442980082117827784557173154897871255822606335004381311635068861043892141369258494357727465903441470252048760028584031037159658879962717339954042402212637559436257171233056219986706490282787374256522363773210028409417163099951017284590554096720514185866967511058847419445325529812333849909013141536176899467737667549573969677660318054376200205953211004339311820807411251634547449547627066733443542014122980980080952353605163443290731297365576098130669890208996261923876416046064002449589856535139643584974188333336651532996815093023267985996894450596074487709084231128391802560239896540227039467625331330179220934029252042883608522500083727451632737441927201377725104401322932604443578354607176307686657131680222432531250943205929119242928791656569284170504967907169522146535761480689830791879820031019439378957938565111191035247326168845560630094727002102815619362640312023174355244565393481362150991139610556910242770413449742579263265784415373579474455701136557581693084960761859748375690819901251265806727871819242118424622833639409062521170659866082909761556966698775116112517682550775457838702137344812670576928392050964727623118001425050256290565437769100001152628905792285336770860318189020556081349688742968816558408972872988921197231248798608997281677196990634017070114065285489695529990327776608712396517098867743911118763340472887261103151330584373432151104143203416600539008773178773920579746228782050584653330237739144180375909855614155651773705370776441658579758722212962557858194262916201218367033659500906381040458184815905514683652599671985645901598825923692043747742536651422466451096779864616823457451468791225706937207094728043668515296750957787431957786374599671863810150980401149481152985111232333062578683661442055805015654925970461371430965871579711923256688628456222541503155241069112734091611725775093351737721750766702498280007394166488056931837634335082532430703036526188026695676353951020416092113244307428361724906857390702528109415585049857684599 44965891971103547564383938474331759534962348875884522124415605499662906016226196054551529276651574989980923434445832157259089712564030595172924257036691241202189871926706252278220972624051383016419217814417548619186261574908884282929398684193955612768553900073271792840696247526273961220541995802676032416226565263430090384171051933422223662647967301394098092217523982618636248896886276793357380287278531414272179035940964824945098520417974486885204117571395777383569250356752334838868569994326299518443919619476110139672324989418149172045339553705825622945319320690435826538127442864067425110333755498076148409983679224352809710200188931078924907256800066532793918464147920685036186268744342577925788411966553259020077873468018375552597804144543193020029283377111209391282861773852306853161692927285739621761255818648374242215416098374444222636881607324242261352420057289181962919556026470086463262421726604543176865681235570808028306251388431258047695761290125827864710027521443047245202531638583506696110242260343821079735756624415511545722348792792067903862284362029544511306836342332758644713301990738250920790167274751501699636569787694369357556837484038615061724053308345085674488926236862613450334709838197448181888007519109851006634661091232049829155533117503948085011244530179812864693199113075135386284278040723544623885909892313190298018539979935835611478859853022672783980028927944518857896173105209123473208363932891402803383961579168544668802305104221471726364760460691654150317631521270028746120588797787321908900719053321814371057955598651093542288440362728839199367449612501353923885931057325207683752940751966758649950429153730345277067499626427527545440421832517593419814024923206963236571095888630021182981122439552251954994873579588876902023956540932466339449283784003418559160859166422085621599811274674969570585605671391546689778653012587131685257483985967584391893276931356472039373915910805919703278909016895534444504650376078301453566921865413779125533348080860478354317187780883869210517161903350136128237188790355221477872513314091355355994761444134558334044632980907193703642204376160412614175398783383914029950494662632308513178631665020285895457224320947398286568826393162925706612739379033546133319610948331814912092526869445687634247984982558252390722 72756341543701544560602375418619454655557306940853630017351213858739743227690111732748038814537742409339201256025253209487012164768319762667725984125706309123642287520246198181442015636230546670205824034163342138977616936796858410768627712169836891118439543374759244005622707283434655886175975632782178650691008243512208211955609106577121533903789907729102473529159051479680141038255535287715107753181972884524227795969548855982258179297937204225158159973608414943005507527985391058855276484609086892700441983249320168081742152518100189329930107802546137131186288201494673957572768393879758960242768639612325309451416891902383679877849249133301107462753277537133230284955331936670733718291969644659231953980676240000158825821623538995888535441908769118159953267320205653206738189898370855611282783820879265346230006981710893748412913467467490622878501774838335840129141520310354722116266366626690301889351935873356086615264822850911914773888514985499328498732053029242435131922765979849646109993190683003796899392024043512267007567621440664965277584448637188032789329936714033453372103813448475505181810769270360169125213316612890671817113863214918186932211040717877343415948657108848844170802256094812485700977808005092130777932559593585897926875647423408629988818640505666704329490941672613068889932976386652091005912542786742310532725952599360539710639801918521240416819721447900092546610495294315734875242553936143785292324942367531007079580593594925092870541990571727517389366483939487088491839459049302201938486530290725459128026194803292255186847449702539570117559719473216437563677786843619415921385101816396149457850834502561069192494203232538170650957011900977591525975721010020353033696385737157150842117412071767634452677291396135370783435203032553797661911708907998029042506216381117019053429338286839966844934175875951626063856207452204462305612259117331159082811891276435641019468007894505825012690670536526736360485686760151441857470806345122082218616371566557491134455460150218127338761285018691670147014582469190815872451797277282888168240061816727425727315714270257301321609363416245145359617229525348267010509159007381688216413399011011458639059186773952389061955282480818999529429689113733308415732984566549411724192639243273817433726836390162357400567608110075321 117722233514805092124986313892951214190519655816738152141766819358402649243916307787299568091189317399320124690471085366746101877332350357840650241162397550325832159446952450459662988260281929686625041848580890758163878511705742693698026396363792503886993443448031036846318954809708617106717971435458211066917573506942298596126661039999345196551757209123200565746683034098316389935141812081072488040460504298796406831910513680927356699715911691110362277545004192326574757884737725897723846478935386411144361602725430307754067141936249361375269661508371760076505608891930500495700211257947184070576524137688473719435096116255193390078038180212226014719553344069927148749103252621706919987036312222585020365947229499020236699289641914548486339586451962138189236644431415044489599963750677708772975711106618887107485825630085135963829011841911713259760109099080597192549198809492317641672292836713153564311078540416532952296500393658940221025276946243547024260022178857107145159444209027094848641631774189699907141652367864592002764192036952210687626377240705091895073691966258544760208446146207120218483801507521280959292488068114590308386901557584275743769695079332939067469257002194523333097039118708262820410816005453274018785451669444592532587966879473237785521936144453751715574021121485477762089046051522038375283953266331366196442618265789658558250619737754132719276672744120684072575538439813173631048347763059616993656257833770334391041159762139593895175646212043453882149827175593637406123360729078048322527284317612634359847079516617663313142446100796081858557922448312415805013290288197543301852442427024079902398602801261211019621647933577815238150583439428523031947808238603440167058619592700393721938006042092950615575116843648090365657014791909455821618452641374337478326290219799676179912595760372461566656208850845522211669527598998894240958624846249016416566797858860827534296399364366545198928601476456230015269502582294595946507846884646575649140481785345683024482536320628572444526542168887902187308917932605319053061242152498760760681554153172083420488759848828591345954590270609948787563993389937962442409292542921411638711076031319524637270724207059847846286276229879105568355822852039439921155112018112682731335140971058185909960596282077796605385550166362466043 190478575058506636685588689311570668846076962757591782159118033217142392471606419520047606905727059808659325946496338576233114042100670120508376225288103859449474446967198648641105003896512476356830865882744232897141495448502601104466654108533629395005432986822790280851941662093143272992893947068240389717608581750454506808082270146576466730455547116852303039275842085577996530973397347368787595793642477183320634627880062536909614879013848895335520437518612607269580265412723116956579122963544473303844803585974750475835809294454349550705199769310917897207691897093425174453272979651826943030819292777300799028886513008157577069955887429345527122182306621607060379034058584558377653705328281867244252319927905739020395525111265453544374875028360731256349189911751620697696338153649048564384258494927498152453715832611796029712241925309379203882638610873918933032678340329802672363788559203339843866200430476289889038911765216509852135799165461229046352758754231886349580291366975006944494751624964872703704041044391908104269771759658392875652903961689342279927863021902972578213580549959655595723665612276791641128417701384727480980204015420799193930701906120050816410885205659303372177267841374803075306111793813458366149563384229038178430514842526896646415510754784959418419903512063158090830978979027908690466289865809118108506975344218389019097961259539672653959693492465568584165122148935107489365923590316995760778948582776137865398120740355734518988046188202615181399539193659533124494615200188127350524465770847903359818975105711420955568329293550498621428675482167785632242576968075041162717773827528840476051856453635763772088814142136810353408801540451329500623473783959613460520092315978437550872780123454164718250027794135044225736440449994942009619280364350282335507368796436180793198966025098659301533501143026721473837733383806451098703264237105366347575649609750137263175315867372261051023941292146992756751629988269054747388365317690991697731359098156912240515616991780778790571865303453906593857455932515074509868933693949776043648849794214988810846216075563098848647276199634026193932923610619463310709419801701928793326927489430330536095909783393833800235348231512359924567885252541153173229570845002679232143059333610301459727394323118467958962786117774472541364 308200808573311728810575003204521883036596618574329934300884852575545041715522727307347174996916377207979450636967423942979215919433020478349026466450501409775306606414151099100767992156794406043455907731325123655305373960208343798164680504897421898892426430270821317698260616902851890099611918503698600784526155257396805404208931186575811927007304325975503605022525119676312920908539159449860083834102981482117041459790576217836971578729760586445882715063616799596155023297460842854302969442479859714989165188700180783589876436390598912080469430819289657284197505985355674948973190909774127101395816914989272748321609124412770460033925609557753136901859965676987527783161837180084573692364594089829272685875135238040632224400907368092861214614812693394538426556183035742185938117399726273157234206034117039561201658241881165676070937151290917142398719972999530225227539139294990005460852040052997430511509016706421991208265610168792356824442407472593377018776410743456725450811184034039343393256739062403611182696759772696272535951695345086340530338930047371822936713869231122973788996105862715942149413784312922087710189452842071288590916978383469674471601199383755478354462661497895510364880493511338126522609818911640168348835898482770963102809406369884201032690929413170135477533184643568593068025079430728841573819075449474703417962484178677656211879277426786678970165209689268237697687374920662996971938080055377772604840609908199789161900117874112883221834414658635281689020835126761900738560917205398846993055165515994178822185228038618881471739651294703287233404616098048047590258363238706019626269955864555954255056437024983108435790070388168646952123890758023655421592198216900687150935571137944594718129496257668865602910978692316102097464786851465440898816991656672985695086655980469378878620859031763100157351877566996049402911405449992944222861951615363992216407608998090709612266736627596222869893623448986766899490851349343334873164575638273380499579942257923540099528101407363016391845622794496044764850447679828921994936102274804409531348368160894266704835411927439993230789904636142720487604009401273151829094244850204965638565461650060733180507600893648081634507742239030136241075393192613150725957020791914874394474581359645637354919400545755568171667940835007407 498679383631818365496163692516092551882673581331921716460002885792687434187129146827394781902643437016638776583463762519212329961533690598857402691738605269224781053381349747741872996053306882400286773614069356552446869408710944902631334613431051293897859417093611598550202278995995163092505865571938990502134737007851312212291201333152278657462851442827806644298367205254309451881936506818647679627745458665437676087670638754746586457743609481781403152582229406865735288710183959810882092406024333018833968774674931259425685730844948462785669200130207554491889403078780849402246170561601070132215109692290071777208122132570347529989813038903280259084166587284047906817220421738462227397692875957073525005803040977061027749512172821637236089643173424650887616467934656439882276271048774837541492700961615192014917490853677195388312862460670121025037330846918463257905879469097662369249411243392841296711939492996311030120030826678644492623607868701639729777530642629806305742178159040983838144881703935107315223741151680800542307711353737961993434300619389651750799735772203701187369546065518311665815026061104563216127890837569552268794932399182663605173507319434571889239668320801267687632721868314413432634403632370006317912220127520949393617651933266530616543445714372588555381045247801659424047004107339419307863684884567583210393306702567696754173138817099440638663657675257852402819836310028152362895528397051138551553423386046065187282640473608631871268022617273816681228214494659886395353761105332749371458826013419353997797290939459574449801033201793324715908886783883680290167226438279868737400097484705032006111510072788755197249932207198522055753664342087524278895376157830361207243251549575495467498252950422387115630705113736541838537914781793475060179181341939008493063883092161262577844645957691064633658494904288469887136295211901091647487099056981711567866017359135353884928134108888647246811185770441743518529479120404090723238482266629971111858678099170164055716519882186153588257149076701089902220782962754338790928630052050848058381142583149705112920910975026288640506989538662336653411214628864583861248895946778998292566054891980596829090290994727448316982739254598954704126327934345786380296802023471147017453808191661105364749242519013714530957785715307548771 806880192205130094306738695720614434919270199906251650760887738368232475902651874134741956899559814224618227220431186462191545880966711077206429158189106679000087659795500846842640988210101288443742681345394480207752243368919288700796015118328473192790285847364432916248462895898847053192117784075637591286660892265248117616500132519728090584470155768803310249320892324930622372790475666268507763461848440147554717547461214972583558036473370068227285867645846206461890312007644802665185061848504192733823133963375112043015562167235547374866138630949497211776086909064136524351219361471375197233610926607279344525529731256983117990023738648461033395986026552961035434600382258918546801090057470046902797691678176215101659973913080189730097304257986118045426043024117692182068214388448501110698726906995732231576119149095558361064383799611961038167436050819917993483133418608392652374710263283445838727223448509702733021328296436847436849448050276174233106796307053373263031192989343075023181538138442997510926406437911453496814843663049083048333964639549437023573736449641434824161158542171381027607964439845417485303838080290411623557385849377566133279645108518818327367594130982299163197997602361825751559157013451281646486261056026003720356720461339636414817576136643785758690858578432445228017115029186770148149437503960017057913811269186746374410385018094526227317633822884947120640517523684948815359867466477106516324158263995954264976444540591482744754489857031932451962917235329786648296092322022538148218451881178935348176619476167498193331272772853088028003142291399981728337757484801518574757026367440569587960366566509813738305685722277586690702705788232845547934316968356047261894394187120713440062216382446680055981233616092428857940635379568644940501077998333595681478758969748141731956723266816722827733815846781855465936539206617351084591709961008597075560082424968133444594540400845516243469681079393890730285428969971753434058111646842268244492358258041428087595816047983593516604648994699495585946985633410434167712923566154325652467912490951310599379625746386953728633737779443298479373898818638265857013077990191629203258204620353630657562270798595621096398617246996837984840367403327538399531022759044263061891848282773020751002104161919559470099129453656142556178 1305559575836948459802902388236706986801943781238173367220890624160919910089781020962136738802203251241257003803894948981403875842500401676063831849927711948224868713176850594584513984263408170844029454959463836760199112777630233603427349731759524486688145264458044514798665174894842216284623649647576581788795629273099429828791333852880369241933007211631116893619259530184931824672412173087155443089593898812992393635131853727330144494216979550008689020228075613327625600717828762476067154254528525752657102738050043302441247898080495837651807831079704766267976312142917373753465532032976267365826036299569416302737853389553465520013551687364313655070193140245083341417602680657009028487750346003976322697481217192162687723425253011367333393901159542696313659492052348621950490659497275948240219607957347423591036639949235556452696662072631159192473381666836456741039298077490314743959674526838680023935388002699044051448327263526081342071658144875872836573837696003069336935167502116007019683020146932618241630179063134297357151374402821010327398940168826675324536185413638525348528088236899339273779465906522048519965971127981175826180781776748796884818615838252899256833799303100430885630324230140164991791417083651652804173276153524669750338113272902945434119582358158347246239623680246887441162033294109567457301188844584641124204575889314071164558156911625667956297480560204973043337359994976967722762994874157654875711687382000330163727181065091376625757879649206268644145449824446534691446083127870897589910707192354702174416767106957767781073806054881352719051178183865408627924711239798443494426464925274619966478076582602493502935654484785212758459452574933072213212344513877623101637438670288935529714635397102443096864321206165399779173294350438415561257179675534689971822852840302994534567912774413892367474341686143935823675501829252176239197060065578787127948442327268798479468534954404890716492265164332473803958449092157524781350129108898215604216936140598251651532567865779670192906143776196675849206416373188506503852196206376500526293633534460304492546657361980017274244768981960816027310033267130440874326886138408201550770675245611254391361089590348544715599986251436939544493731261884185911319561067734208909302090964681856366853404438573184630087239371450104949 2112439768042078554109641083957321421721213981144425017981778362529152385992432895096878695701763065465875231024326135443595421723467112753270261008116818627224956372972351441427154972473509459287772136304858316967951356146549522304223364850087997679478431111822477431047128070793689269476741433723214173075456521538347547445291466372608459826403162980434427142940151855115554197462887839355663206551442338960547111182593068699913702530690349618235974887873921819789515912725473565141252216103032718486480236701425155345456810065316043212517946462029201978044063221207053898104684893504351464599436962906848760828267584646536583510037290335825347051056219693206118776017984939575555829577807816050879120389159393407264347697338333201097430698159145660741739702516170040804018705047945777058938946514953079655167155789044793917517080461684592197359909432486754450224172716685882967118669937810284518751158836512401777072776623700373518191519708421050105943370144749376332368128156845191030201221158589930129168036616974587794171995037451904058661363579718263698898272635055073349509686630408280366881743905751939533823804051418392799383566631154314930164463724357071226624427930285399594083627926591965916550948430534933299290434332179528390107058574612539360251695719001944105937098202112692115458277062480879715606738692804601699038015845076060445574943175006151895273931303445152093683854883679925783082630461351264171199869951377954595140171721656574121380247736681138720607062685154233182987538405150409045808362588371290050351036243274455961112346578907969380722193469583847136965682196041317018251452832365844207926844643092416231808621376762371903461165240807778620147529312869924884996031625791002375591931017843782499078097937298594257719808673919083356062335178009130371450581822588444726491291179591136720101290188467999401760214708446603260830907021074175862688030867295402243074008935799921134186173344558223204089387419063910958839461775951166460096575194182026339247348615849373186797555138475692261796192049783622674216775762360702152994206124485770903872172403748933745907982548425259295401208851905396297887404876330037404808975295599241911953631888185969641114217233248274924384861134589422585442342320111997270801150373737702607368957566358132654729216693027592661127 3417999343879027013912543472194028408523157762382598385202668986690072296082213916059015434503966316707132234828221084424999297565967514429334092858044530575449825086149202036011668956736917630131801591264322153728150468924179755907650714581847522166166576376280521945845793245688531485761365083370790754864252150811446977274082800225488829068336170192065544036559411385300486022135300012442818649641036237773539504817724922427243847024907329168244663908101997433117141513443302327617319370357561244239137339439475198647898057963396539050169754293108906744312039533349971271858150425537327731965262999206418177131005438036090049030050842023189660706126412833451202117435587620232564858065558162054855443086640610599427035420763586212464764092060305203438053362008222389425969195707443053007179166122910427078758192428994029473969777123757223356552382814153590906965212014763373281862629612337123198775094224515100821124224950963899599533591366565925978779943982445379401705063324347307037220904178736862747409666796037722091529146411854725068988762519887090374222808820468711874858214718645179706155523371658461582343770022546373975209747412931063727049282340195324125881261729588500024969258250822106081542739847618584952094607608333053059857396687885442305685815301360102453183337825792939002899439095774989283064039881649186340162220420965374516739501331917777563230228784005357066727192243674902750805393456225421826075581638759954925303898902721665498006005616330344989251208134978679717678984488278279943398273295563644752525453010381413728893420384962850733441244647767712545593606907281115461745879297291118827893322719675018725311557031247157116219624693382711692360741657383802508097669064461291311121645653240884942174962258504759657498981968269521771623592357684665061422404675428747721025859092365550612468764530154143337583890210275855437070104081139754649815979309622671041553477470754326024902665609722555677893345868156068483620811905060064675700792130322624590898881183715152856990461282251888937645398466156811180720627958567078653520499758020231208364719061110913763182227317407220111428518885172526738761731762468445606359745970844853166344992977776318185829817219499711863929354865851306771353661881179731479710452464702384463735810970796705839359303932399042766076 5530439111921105568022184556151349830244371743527023403184447349219224682074646811155894130205729382173007465852547219868594719289434627182604353866161349202674781459121553477438823929210427089419573727569180470696101825070729278211874079431935519845645007488102999376892921316482220755238106517094004927939708672349794524719374266598097288894739333172499971179499563240416040219598187851798481856192478576734086616000317991127157549555597678786480638795975919252906657426168775892758571586460593962725617576140900353993354868028712582262687700755138108722356102754557025169962835319041679196564699962113266937959273022682626632540088132359015007757182632526657320893453572559808120687643365978105734563475800004006691383118101919413562194790219450864179793064524392430229987900755388830066118112637863506733925348218038823391486857585441815553912292246640345357189384731449256248981299550147407717526253061027502598197001574664273117725111074986976084723314127194755734073191481192498067422125337326792876577703413012309885701141449306629127650126099605354073121081455523785224367901349053460073037267277410401116167574073964766774593314044085378657213746064552395352505689659873899619052886177414071998093688278153518251385041940512581449964455262497981665937511020362046559120436027905631118357716158255868998670778574453788039200236266041434962314444506923929458504160087450509160411047127354828533888023917576685997275451590137909520444070624378239619386253353011483709858270820132912900666522893428688989206635883934934802876489253655869690005766963870820114163438117351559682559289103322432479997332129656963035820167362767434957120178408009529019680789934190490312508270970253727393093700690252293686713576671084667441253060195803353915218790642188605127685927535693795432872986498017192447517150271956687332570054718622142739344104918722458697901011102213930512504010176918073284627486406554247159088838954280778881982733287219979442460273681011231135797367324504650930146229799564526043788016420727581199441590515940433854937403720927780806514705882506002112236891464859847509090209865832479406829727737077923036649136638798483011168721266444095078298624865962287826944034452747986788314216000440729356796004201291728750511602838440087071104768537154838494088520625426635427203 8948438455800132581934728028345378238767529505909621788387116335909296978156860727214909564709695698880139700680768304293594016855402141611938446724205879778124606545270755513450492885947344719551375318833502624424252293994909034119524794013783042011811583864383521322738714562170752240999471600464795682803960823161241501993457066823586117963075503364565515216058974625716526241733487864241300505833514814507626120818042913554401396580505007954725302704077916686023798939612078220375890956818155206964754915580375552641252925992109121312857455048247015466668142287906996441820985744579006928529962961319685115090278460718716681570138974382204668463309045360108523010889160180040685545708924140160590006562440614606118418538865505626026958882279756067617846426532614819655957096462831883073297278760773933812683540647032852865456634709199038910464675060793936264154596746212629530843929162484530916301347285542603419321226525628172717258702441552902063503258109640135135778254805539805104643029516063655623987370209050031977230287861161354196638888619492444447343890275992497099226116067698639779192790649068862698511344096511140749803061457016442384263028404747719478386951389462399644022144428236178079636428125772103203479649548845634509821851950383423971623326321722149012303773853698570121257155254030858281734818456102974379362456687006809479053945838841707021734388871455866227138239371029731284693417373802107823351033228897864445747969527099905117392258969341828699109478955111592618345507381706968932604909179498579555401942264037283418899187348833670847604682765119272228152896010603547941743211426948081863713490082442453682431735439256686135900414627573202004869012627637529901191369754713584997835222324325552383428022454308113572717772610458126899309519893378460494295391173445940168543009364322237945038819248776286076927995128998314134971115183353685162319989486540744326180963877308573183991504564003334559876079155376047926081085586071295811498159454827275521045110983279678900778477702979470137086988982097245035658031679494859460035205640526233320601610525970761272272437183239699518258246622250449775410868401266928617528467237288948244643617843738606012773851672247698652243570866292036128149666082471460230222055303142471534840579507951544333447824557825678193279 14478877567721238149956912584496728069011901249436645191571563685128521660231507538370803694915425081053147166533315524162188736144836768794542800590367228980799388004392308990889316815157771808970949046402683095120354119065638312331398873445718561857456591352486520699631635878652972996237578117558800610743669495511036026712831333421683406857814836537065486395558537866132566461331675716039782362025993391241712736818360904681558946136102686741205941500053835938930456365780854113134462543278749169690372491721275906634607794020821703575545155803385124189024245042464021611783821063620686125094662923432952053049551483401343314110227106741219676220491677886765843904342732739848806233352290118266324570038240618612809801656967425039589153672499206931797639491057007249885944997218220713139415391398637440546608888865071676256943492294640854464376967307434281621343981477661885779825228712631938633827600346570106017518228100292445834983813516539878148226572236834890869851446286732303172065154853390448500565073622062341862931429310467983324289014719097798520464971731516282323594017416752099852230057926479263814678918170475907524396375501101821041476774469300114830892641049336299263075030605650250077730116403925621454864691489358215959786307212881405637560837342084195571424209881604201239614871412286727280405597030556762418562692953048244441368390345765636480238548958906375387549286498384559818581441291378793820626484819035773966192040151478144736778512322353312408967749775244505519012030275135657921811545063433514358278431517693153108904954312704490961768120882470831910712185113925980421740543556605044899533657445209888639551913847266215155581204561763692317377283597891257294285070444965878684548798995410219824681082650111467487936563252646732026995447429072255927168377671463132616060159636278925277608873967398428816272100047720772832872126285567615674823999663458817610808450283862820343080343518284113441858812442596027368541359267082526947295526779331926451191340782844204944566494123707051336528579498037678890595435400422640266549911523032235432838501990830608781362647049072178925087974359328372812060005040065411628697188503733043322942242709700893839717886124995685440557786866732765484945670283763188980733658141582558605945348045106382827536345183252313620482 23427316023521370731891640612842106307779430755346266979958680021037818638388368265585713259625120779933286867214083828455782753000238910406481247314573108758923994549663064504339809701105116528522324365236185719544606413060547346450923667459501603869268175216870042022370350440823725237237049718023596293547630318672277528706288400245269524820890339901631001611617512491849092703065163580281082867859508205749338857636403818235960342716607694695931244204131752624954255305392932333510353500096904376655127407301651459275860720012930824888402610851632139655692387330371018053604806808199693053624625884752637168139829944120059995680366081123424344683800723246874366915231892919889491779061214258426914576600681233218928220195832930665616112554778962999415485917589622069541902093681052596212712670159411374359292429512104529122400127003839893374841642368228217885498578223874515310669157875116469550128947632112709436839454625920618552242515958092780211729830346475026005629701092272108276708184369454104124552443831112373840161717171629337520927903338590242967808862007508779422820133484450739631422848575548126513190262266987048274199436958118263425739802874047834309279592438798698907097175033886428157366544529697724658344341038203850469608159163264829609184163663806344583727983735302771360872026666317585562140415486659736797925149640055053920422336184607343501972937830362241614687525869414291103274858665180901643977518047933638411940009678578049854170771291695141108077228730356098137357537656842626854416454242932093913680373781730436527804141661538161809372803647590104138865081124529528363483754983553126763247147527652342321983649286522901291481619189336894322246296225528787195476440199679463682384021319735772208109105104419581060654335863104858926304967322450716421463768844909072784603169000601163222647693216174714893200095176719086967843241468921300837143989149999561936989414161171393527071848082287448001734891597972075294622444853153822758793686234159201972236451766123883845344971826686521473615568480134923926253467079917499726585117163558468753440112516801370053635084232311878443346220981578822587470873441332340246225655741021991567585860553439499852491737797243384092801357733024801613095336366234649210955713444725030140785927553057927160984169741077991813761 37906193591242608881848553197338834376791332004782912171530243706166340298619875803956516954540545860986434033747399352617971489145075679201024047904940337739723382554055373495229126516262888337493273411638868814664960532126185658782322540905220165726724766569356562722001986319476698233474627835582396904291299814183313555419119733666952931678705176438696488007176050357981659164396839296320865229885501596991051594454764722917519288852710381437137185704185588563884711671173786446644816043375653546345499899022927365910468514033752528463947766655017263844716632372835039665388627871820379178719288808185589221189381427521403309790593187864644020904292401133640210819574625659738298012413504376693239146638921851831738021852800355705205266227278169931213125408646629319427847090899273309352128061558048814905901318377176205379343619298480747839218609675662499506842559701536401090494386587748408183956547978682815454357682726213064387226329474632658359956402583309916875481147379004411448773339222844552625117517453174715703093146482097320845216918057688041488273833739025061746414150901202839483652906502027390327869180437462955798595812459220084467216577343347949140172233488134998170172205639536678235096660933623346113209032527562066429394466376146235246745001005890540155152193616906972600486898078604312842546012517216499216487842593103298361790726530372979982211486789268617002236812367798850921856299956559695464604002866969412378132049830056194590949283614048453517044978505600603656369567931978284776227999306365608271958805299423589636709095974242652771140924530060936049577266238455508785224298540158171662780804972862230961535563133789116447062823751100586639623579823420044489761510644645342366932820315145992032790187754531048548590899115751590953300414751522972348632146516372205400663328636880088500256567183573143709472195224439859800715367754488916511967988813458379547797864445034213870152191600571561443593704040568102663163804120236349706089213013491128423427792548968088789911465950393572810144147978172602816848902480340139993135028686590704186278614507631978834997731281384057368434195340907195399530878481397751874922844244755034890528103263140393692209623922239069533359144599757567098041006649997838191689371586307588746731275598164309988520514924330305434243 61333509614763979613740193810180940684570762760129179151488923727204158937008244069542230214165666640919720900961483181073754242145314589607505295219513446498647377103718437999568936217368004866015597776875054534209566945186733005233246208364721769595992941786226604744372336760300423470711677553605993197838930132855591084125408133912222456499595516340327489618793562849830751867462002876601948097745009802740390452091168541153479631569318076133068429908317341188838966976566718780155169543472557923000627306324578825186329234046683353352350377506649403500409019703206057718993434680020072232343914692938226389329211371641463305470959268988068365588093124380514577734806518579627789791474718635120153723239603085050666242048633286370821378782057132930628611326236251388969749184580325905564840731717460189265193747889280734501743746302320641214060252043890717392341137925410916401163544462864877734085495610795524891197137352133682939468845432725438571686232929784942881110848471276519725481523592298656749669961284287089543254863653726658366144821396278284456082695746533841169234284385653579115075755077575516841059442704450004072795249417338347892956380217395783449451825926933697077269380673423106392463205463321070771553373565765916899002625539411064855929164669696884738880177352209743961358924744921898404686428003876236014412992233158352282213062714980323484184424619630858616924338237213142025131158621740597108581520914903050790072059508634244445120054905743594625122207235956701793727105588820911630644453549297702185639179081154026164513237635780814580513728177651040188442347362985037148708053523711298426027952500514573283519212420312017738544442940437480961869876048948831685237950844324806049316841634881764240899292858950629609245234978856449879605382073973688770095915361281278185266497637481251722904260399747858602672290401158946768558609223410217349111977963457941484787278606205607397224039682859009445328595638540177957786248973390172464882899247650330395664244315091972635256437777080094283759716458307526743102369560257639719720145850149172939718727024433348888632815513695935811780416322486017987001751922730092121148499985777026458113963816579893544701361719482453626160502332782368711136343016232487402645085031032618887517203151222237149504684665408297248004 99239703206006588495588747007519775061362094764912091323019167433370499235628119873498747168706212501906154934708882533691725731290390268808529343124453784238370759657773811494798062733630893203508871188513923348874527477312918664015568749269941935322717708355583167466374323079777121704186305389188390102130229947038904639544527867579175388178300692779023977625969613207812411031858842172922813327630511399731442046545933264070998920422028457570205615612502929752723678647740505226799985586848211469346127205347506191096797748080435881816298144161666667345125652076041097384382062551840451411063203501123815610518592799162866615261552456852712386492385525514154788554381144239366087803888223011813392869878524936882404263901433642076026645009335302861841736734882880708397596275479599214916968793275509004171095066266456939881087365600801389053278861719553216899183697626947317491657931050613285918042043589478340345554820078346747326695174907358096931642635513094859756591995850280931174254862815143209374787478737461805246348010135823979211361739453966325944356529485558902915648435286856418598728661579602907168928623141912959871391061876558432360172957560743732589624059415068695247441586312959784627559866396944416884762406093327983328397091915557300102674165675587424894032370969116716561845822823526211247232440521092735230900834826261650644003789245353303466395911408899475619161150605011992946987458578300292573185523781872463168204109338690439036069338519792048142167185741557305450096673520799196406872452855663310457597984380577615801222333610023467351654652707711976238019613601440545933932352063869470088808757473376804245054775554101134185607266691538067601493455872368876174999461488970148416249661950027756273689480613481678157836134094608040832905796825496661118728061877653483585929826274361340223160827583321002312144485625598806569273976977899133861079966776916321032585143051239821267376231283430570888922299679108280620950053093626522170972112261141458819092036864060061425167903727473667093903864436480129559951272040597779712855174536739877125997341532065327723630546795079993180214611663393213386532630404127843996071344230532061348642067079720287236910985641721523159519646932539935809177349666230325594334456617340207634248478749386547138025199589738602682247 160573212820770568109328940817700715745932857525041270474508091160574658172636363943040977382871879142825875835670365714765479973435704858416034638343967230737018136761492249494366998950998898069524468965388977883084094422499651669248814957634663704918710650141809772210746659840077545174897982942794383299969160079894495723669936001491397844677896209119351467244763176057643162899320845049524761425375521202471832498637101805224478551991346533703274045520820270941562645624307224006955155130320769392346754511672085016283126982127119235168648521668316070845534671779247155103375497231860523643407118194062041999847804170804329920732511725840780752080478649894669366289187662818993877595362941646933546593118128021933070505950066928446848023791392435792470348061119132097367345460059925120481809524992969193436288814155737674382831111903122030267339113763443934291524835552358233892821475513478163652127539200273865236751957430480430266164020340083535503328868442879802637702844321557450899736386407441866124457440021748894789602873789550637577506560850244610400439225232092744084882719672509997713804416657178424009988065846362963944186311293896780253129337778139516039075885342002392324710966986382891020023071860265487656315779659093900227399717454968364958603330345284309632912548321326460523204747568448109651918868524968971245313827059420002926216851960333626950580336028530334236085488842225134972118617200040889681767044696775513958276168847324683481189393425535642767289392977514007243823779109620108037516906404961012643237163461731641965735571245804281932168380885363016426461960964425583082640405587580768514836709973891377528573987974413151924151709631975548563363331921317707860237412333294954465566503584909520514588773472432307767081369073464490712511178899470349888823977238934761771196323911842591946065087983068860914816776026757753337832586201309351210191944740374262517372421657445428664600270966289580334250895317648458578736302067016694635855011508791789214756281179152034060424341504553761377663580894787656303053641600855419432575320386889050065716068556498676612263362308775928991995027985879231373534382326857936117219844216309087806756030896300180781612347361203976785680149265322304520313692682462812996979541648372826521765681900608784287529884255146899930251 259812916026777156604917687825220490807294952289953361797527258593945157408264483816539724551578091644732030770379248248457205704726095127224563981468421014975388896419266060989165061684629791273033340153902901231958621899812570333264383706904605640241428358497392939677120982919854666879084288331982773402099390026933400363214463869070573232856196901898375444870732789265455573931179687222447574753006032602203274545183035069295477472413374991273479661133323200694286324272047729233755140717168980861692881717019591207379924730207555116984946665829982738190660323855288252487757559783700975054470321695185857610366396969967196535994064182693493138572864175408824154843568807058359965399251164658746939462996652958815474769851500570522874668800727738654312084796002012805764941735539524335398778318268478197607383880422194614263918477503923419320617975482997151190708533179305551384479406564091449570169582789752205582306777508827177592859195247441632434971503955974662394294840171838382073991249222585075499244918759210700035950883925374616788868300304210936344795754717651647000531154959366416312533078236781331178916688988275923815577373170455212613302295338883248628699944757071087572152553299342675647582938257209904541078185752421883555796809370525665061277496020871734526944919290443177085050570391974320899151309046061706476214661885681653570220641205686930416976247437429809855246639447237127919106075778341182254952568478647977126480278186015122517258731945327690909456578719071312693920452630419304444389359260624323100835147842309257766957904855827749283823033593074992664481574565866129016572757651450238603645467447268181773628763528514286109758976323513616164856787793686584035236873822265102881816165534937276788278254085913985924917503168072531545416975724967011007552039116588245357126150186203932169225915566389863226961261652356559907106563179208485071271911517290583549957564708685249931976502249720151223173194996756739199686355160643216806827123769933248033848318043212095485592245232027428471567445331267785863004913641453199145430494923628927191713410088564004335893909103855922172209639649272444760067012730985780113291188446841149155398097976020468018523333002925499945199796197862240329491042348693138591313998265713034156014160649995331425555083844885502612498 420386128847547724714246628642921206553227809814994632272035349754519815580900847759580701934449970787557906606049613963222685678161799985640598619812388245712407033180758310483532060635628689342557809119291879115042716322312222002513198664539269345160139008639202711887867642759932212053982271274777156702068550106827896086884399870561971077534093111017726912115495965323098736830500532271972336178381553804675107043820136874519956024404721524976753706654143471635848969896354953240710295847489750254039636228691676223663051712334674352153595187498298809036194995634535407591133057015561498697877439889247899610214201140771526456726575908534273890653342825303493521132756469877353842994614106305680486056114780980748545275801567498969722692592120174446782432857121144903132287195599449455880587843261447391043672694577932288646749589407045449587957089246441085482233368731663785277300882077569613222297121990026070819058734939307607859023215587525167938300372398854465031997684493395832973727635630026941623702358780959594825553757714925254366374861154455546745234979949744391085413874631876414026337494893959755188904754834638887759763684464351992866431633117022764667775830099073479896863520285725566667606010117475392197393965411515783783196526825494030019880826366156044159857467611769637608255317960422430551070177571030677721528488945101656496437493166020557367556583465960144091332128289462262891224692978382071936719613175423491084756447033339805998448125370863333676745971696585319937744231740039412481906265665585335744072311304040899732693476101632031215991414478438009090943535530291712099213163239031007118482177421159559302202751502927438033910685955489164728220119715004291895474286155560057347382669119846797302867027558346293691998872241537022257928154624437360896376016355523007128322474098046524115291003549458724141778037679114313244939149380517836281463856257664846067329986366130678596576773216009731557424090314405197778422657227659911442682135278725037248604599222364129546016586736581189849231026226055442166058555242308618578005815310517977257429478645062680948157271412631851164204667635151676133601395057843716230511032663150236962154128872320648800135680364129476730879945463184544849804735031155951588293539914085860677779842550604115713084968100032402542749 680199044874324881319164316468141697360522762104947994069562608348464972989165331576120426486028062432289937376428862211679891382887895112865162601280809260687795929600024371472697122320258480615591149273194780347001338222124792335777582371443874985401567367136595651564988625679786878933066559606759930104167940133761296450098863739632544310390290012916102356986228754588554310761680219494419910931387586406878381589003171943815433496818096516250233367787466672330135294168402682474465436564658731115732517945711267431042976442542229469138541853328281547226855319489823660078890616799262473752347761584433757220580598110738722992720640091227767029226207000712317675976325276935713808393865270964427425519111433939564020045653068069492597361392847913101094517653123157708897228931138973791279366161529925588651056575000126902910668066910968868908575064729438236672941901910969336661780288641661062792466704779778276401365512448134785451882410834966800373271876354829127426292524665234215047718884852612017122947277540170294861504641640299871155243161458666483090030734667396038085945029591242830338870573130741086367821443822914811575341057634807205479733928455906013296475774856144567469016073585068242315188948374685296738472151163937667338993336196019695081158322387027778686802386902212814693305888352396751450221486617092384197743150830783310066658134371707487784532830903389953946578767736699390810330768756723254191672181654071468211236725219354928515706857316191024586202550415656632631664684370458716926295624926209658844907459146350157499651380957459780499814448071513001755425110096157841115785920890481245722127644868427741075831515031441724143669662279002780893076907508690875930711159977825160229198834654784074091145281644260279616916375409609553803345130349404371903928055472111252485448624284250456284516919115848587368739299331470873152045712559726321352735767774955429617287551074815928528553275465729882780597285311161936978109012388303128249509259048658285282452917265576225031608831968608618320798471557323228029063468883761817723436310234146904449142888733626685284051180516487773336414307284424120893668407788829496343802221109991386117552226848341116818659013367054976676079741661046785179295777379849090179607538179798894833794003200599447138640051944917905155247 1100585173721872606033410945111062903913750571919942626341597958102984788570066179335701128420478033219847843982478476174902577061049695098505761221093197506400202962780782681956229182955887169958148958392486659462044054544437014338290781035983144330561706375775798363452856268439719090987048830881537086806236490240589192536983263610194515387924383123933829269101724719911653047592180751766392247109769140211553488632823308818335389521222818041226987074441610143965984264064757635715175732412148481369772154174402943654706028154876903821292137040826580356263050315124359067670023673814823972450225201473681656830794799251510249449447215999762040919879549826015811197109081746813067651388479377270107911575226214920312565321454635568462320053984968087547876950510244302612029516126738423247159954004791372979694729269578059191557417656318014318496532153975879322155175270642633121939081170719230676014763826769804347220424247387442393310905626422491968311572248753683592458290209158630048021446520482638958746649636321129889687058399355225125521618022613122029835265714617140429171358904223119244365208068024700841556726198657553699335104742099159198346165561572928777964251604955218047365879593870793808982794958492160688935866116575453451122189863021513725101039148753183822846659854513982452301561206312819182001291664188123061919271639775884966563095627537728045152089414369350098037910896026161653701555461735105326128391794829494959295993172252694734514154982687054358262948522112241952569408916110498129408201890591794994588979770450391057232344857059091811715805862549951010846368645626449553214999084129512252840609822289587300378034266534369162177580348234491945621297027223695167826185446133385217576581503774630871394012309202606573308915247651146576061273284973841732800304071827634259613771098382296980399807922665307311510517337010585186396984861940244157634199624032620275684617537440946607125130048681739614338021375625567134756531669615963039692191394327383322531057516487940354577625418705189808170029497783378670195122024126070436301442125544664881706572367378689366232208451929119624500618974919575797027269802846673212574313253773141623079706355720661765618794693731184453406959687124231330029100512411005041767901078093884755511573845751203562851725020044950307697996 1780784218596197487352575261579204601274273334024890620411160566451449761559231510911821554906506095652137781358907338386582468443937590211370923822374006767087998892380807053428926305276145650573740107665681439809045392766561806674068363407427019315963273742912394015017844894119505969920115390488297016910404430374350488987082127349827059698314673136849931626087953474500207358353860971260812158041156726618431870221826480762150823018040914557477220442229076816296119558233160318189641168976807212485504672120114211085749004597419133290430678894154861903489905634614182727748914290614086446202572963058115414051375397362248972442167856090989807949105756826728128873085407023748781459782344648234535337094337648859876585367107703637954917415377816000648971468163367460320926745057877397038439320166321298568345785844578186094468085723228983187405107218705317558828117172553602458600861459360891738807230531549582623621789759835577178762788037257458768684844125108512719884582733823864263069165405335250975869596913861300184548563040995524996676861184071788512925296449284536467257303933814362074704078641155441927924547642480468510910445799733966403825899490028834791260727379811362614834895667455862051297983906866845985674338267739391118461183199217533420182197471140211601533462241416195266994867094665215933451513150805215446117014790606668276629753761909435532936622245272740051984489663762861044511886230491828580320063976483566427507229897472049663029861840003245382849151072527898585201073600480956846334497515518004653433887229596741214731996238016551592215620310621464012601793755722607394330785005019993498562737467158015041453865781565810886321250010513494726514373934732386043756896606111210377805780338429414945485157590846866852925831623060756129864618415323246104704232127299745512099219722666547436684324841781155898879256636342056059549030574499970478986935391807575705301905088515762535653683324147469497118618660936729071734640682004266167941700653376041607813510433753516579609234250673798426490827969340701898224185493009832254024878435778811786155715256112316051516259632445607397837033282203999917920938210635502708918115474883133009197258582569002882437453707098239430083039428785278115208396289790854131947508616273683650345367848951803009990365071989868212853243 2881369392318070093385986206690267505188023905944833246752758524554434550129297690247522683326984128871985625341385814561485045504987285309876685043467204273488201855161589735385155488232032820531889066058168099271089447310998821012359144443410163646524980118688192378470701162559225060907164221369834103716640920614939681524065390960021575086239056260783760895189678194411860405946041723027204405150925866829985358854649789580486212539263732598704207516670686960262103822297917953904816901388955693855276826294517154740455032752296037111722815934981442259752955949738541795418937964428910418652798164531797070882170196613759221891615072090751848868985306652743940070194488770561849111170824025504643248669563863780189150688562339206417237469362784088196848418673611762932956261184615820285599274171112671548040515114156245286025503379546997505901639372681196880983292443196235580539942630080122414821994358319386970842214007223019572073693663679950736996416373862196312342872942982494311090611925817889934616246550182430074235621440350750122198479206684910542760562163901676896428662838037481319069286709180142769481273841138022210245550541833125602172065051601763569224978984766580662200775261326655860280778865359006674610204384314844569583373062239047145283236619893395424380122095930177719296428300978035115452804814993338508036286430382553243192849389447163578088711659642090150022400559789022698213441692226933906448455771313061386803223069724744397544016822690299741112099594640140537770482516591454975742699406109799648022867000047132271964341095075643403931426173171415023448162401349056947545784089149505751403347289447602341831900048100180048498830358747986672135670961956081211583082052244595595382361842204045816879169900049473426234746870711902705925891700297087837504536199127379771712990821048844417084132764446463210389773973352641245946015436440214636621135015840195980986522625956709142778813372829209111456640036562296206491172351620229207633892047703424930344567950241456934186859669378988234660857467124080568419307517135902690326320561323476667862287623491005417748468084374727022337652257123575714948208013482175921492428728656274632276964938289664648056248400829423883489999115909509445237496802201859173715409694367568405856941694703006572842090092034818520551239 4662153610914267580738561468269472106462297239969723867163919091005884311688529201159344238233490224524123406700293152948067513948924875521247608865841211040576200747542396788814081793508178471105629173723849539080134840077560627686427507850837182962488253861600586393488546056678731030827279611858131120627045350989290170511147518309848634784553729397633692521277631668912067764299902694288016563192082593448417229076476270342637035557304647156181427958899763776558223380531078272094458070365762906340781498414631365826204037349715170402153494829136304163242861584352724523167852255042996864855371127589912484933545593976008194333782928181741656818091063479472068943279895794310630570953168673739178585763901512640065736055670042844372154884740600088845819886836979223253883006242493217324038594337433970116386300958734431380493589102775980693306746591386514439811409615749838039140804089441014153629224889868969594464003767058596750836481700937409505681260498970709032227455676806358574159777331153140910485843464043730258784184481346275118875340390756699055685858613186213363685966771851843393773365350335584697405821483618490721155996341567092005997964541630598360485706364577943277035670928782517911578762772225852660284542652054235688044556261456580565465434091033607025913584337346372986291295395643251048904317965798553954153301220989221519822603151356599111025333904914830202006890223551883742725327922718762486768519747796627814310452967196794060573878662693545123961250667168039122971556117072411822077196921627804301456754229643873486696337333092194996147046483792879036049956157071664341876569094169499249966084756605617383285765829665990934820080369261481398650044896688467255339978658355805973188142180633460762364327490896340279160578493772658835790510115620333942208768326427125283812210543715391853768457606227619109269030609694697305495046010940185115608070407647771686288427714472471678432496696976678608575258697499025278225813033624495375575592701079466538158078383994973513796093920052786661151685436464782466643493010145734944351198997102288454018002879603321469264727716820334420174685539327575632869146224117678630410544203539407641474223520858667530493702107927663313573038544694787560445893091992713305662918310641252056202309543654809582832455164024686733404482 7543523003232337674124547674959739611650321145914557113916677615560318861817826891406866921560474353396109032041678967509552559453912160831124293909308415314064402602703986524199237281740211291637518239782017638351224287388559448698786652294247346609013233980288778771959247219237956091734443833227965224343686271604229852035212909269870209870792785658417453416467309863323928170245944417315220968343008460278402587931126059923123248096568379754885635475570450736820327202828996225999274971754718600196058324709148520566659070102011207513876310764117746422995817534091266318586790219471907283508169292121709555815715790589767416225398000272493505687076370132216009013474384564872479682123992699243821834433465376420254886744232382050789392354103384177042668305510590986186839267427109037609637868508546641664426816072890676666519092482322978199208385964067711320794702058946073619680746719521136568451219248188356565306217774281616322910175364617360242677676872832905344570328619788852885250389256971030845102090014226160333019805921697025241073819597441609598446420777087890260114629609889324712842652059515727466887095324756512931401546883400217608170029593232361929710685349344523939236446190109173771859541637584859334894747036369080257627929323695627710748670710927002450293706433276550705587723696621286164357122780791892462189587651371774763015452540803762689114045564556920352029290783340906440938769614945696393216975519109689201113676036921538458117895485383844865073350261808179660742038633663866797819896327737603949479621229691005758660678428167838400078472656964294059498118558420721289422353183319005001369432046053219725117665877766170983318910728009468070785715858644548466923060710600401568570504022837506579243497390945813705395325364484561541716401815917421779713304525554505055525201364764236270852590370674082319658804583047338551441061447380399752229205423487967667274950340429180821211310069805887720031898734061321484716985385244724583209484748782891468502646334236430447982953589431774895812542903588863035062800527281637634677519558425765121880290503094326887013195801195061442512337796451151347817354237599854551902972932195682273751188459148332178549950508757087197063037660604297005683389894194572479378328005008820462059251238357816155674545256059505253955721 12205676614146605254863109143229211718112618385884280981080596706566203173506356092566211159793964577920232438741972120457620073402837036352371902775149626354640603350246383313013319075248389762743147413505867177431359127466120076385214160145084529571501487841889365165447793275916687122561723445086096344970731622593520022546360427579718844655346515056051145937744941532235995934545847111603237531535091053726819817007602330265760283653873026911067063434470214513378550583360074498093733042120481506536839823123779886392863107451726377916029805593254050586238679118443990841754642474514904148363540419711622040749261384565775610559180928454235162505167433611688077956754280359183110253077161372983000420197366889060320622799902424895161547238843984265888488192347570209440722273669602254933676462845980611780813117031625108047012681585098958892515132555454225760606111674695911658821550808962150722080444138057326159770221541340213073746657065554769748358937371803614376797784296595211459410166588124171755587933478269890591803990403043300359949159988198308654132279390274103623800596381741168106616017409851312164292916808375003652557543224967309614167994134862960290196391713922467216272117118891691683438304409810711995179289688423315945672485585152208276214104801960609476207290770622923691879019092264537213261440746590446416342888872360996282838055692160361800139379469471750554036181006892790183664097537664458879985495266906317015424129004118332518691774148077389989034600928976218783713594750736278619897093249365408250936375459334879245357015761260033396225519140757173095548074715492385631298922277488504251335516802658837108403431707432161918138991097270949469435760755333015722263039368956207541758646203470967341607824881842153984555903858257220377506911931537755721922072851981630339337411908479628124621047976901701428927835192742035856936107458320584867837275831135739353563378054901652499643806766782566328607157431560346762942798418869219958785077449862358006660724718231403961779047509484561556964228340053645501706293537427372579028718555528053575898293382697648356277923518015395862687023335778726980686500461717533182313517135735089915225411980006999709043652616684750510636076205299084566129282986187285785041246315650072518261560782012625738507000420084191987360203 19749199617378942928987656818188951329762939531798838094997274322126522035324182983973078081354438931316341470783651087967172632856749197183496196684458041668705005952950369837212556356988601054380665653287884815782583414854679525084000812439331876180514721822178143937407040495154643214296167278314061569314417894197749874581573336849589054526139300714468599354212251395559924104791791528918458499878099514005222404938728390188883531750441406665952698910040665250198877786189070724093008013875200106732898147832928406959522177553737585429906116357371797009234496652535257160341432693986811431871709711833331596564977175155543026784578928726728668192243803743904086970228664924055589935201154072226822254630832265480575509544134806945950939592947368442931156497858161195627561541096711292543314331354527253445239933104515784713531774067421937091723518519521937081400813733641985278502297528483287290531663386245682725076439315621829396656832430172129991036614244636519721368112916384064344660555845095202600690023492496050924823796324740325601022979585639918252578700167361993883915225991630492819458669469367039631180012133131516583959090108367527222338023728095322219907077063266991155508563309000865455297846047395571330074036724792396203300414908847835986962775512887611926500997203899474397466742788885823377618563527382338878532476523732771045853508232964124489253425034028670906065471790233696624602867152610155273202470786016006216537805041039870976809669633461234854107951190784398444455633384400145417716989577103012200415996689025885004017694189427871796303991797721467155046193273913106920721275460807509252704948848712056833521097585198332901457901825280417540221476613977564189186100079556609110329150226308473920851322272787967689951229222741781919223313747455177501635377377536135394862613273243864395473638347575783748586639775789374408377168905700984620066481254623707020838328395330833320855116836588454048639056165621668247659783804113944541994562198645249475163371052467834409762001098916336452776771243642508536769094064709010213706238113953818697778583885791975243291119319210457305199361132229878328503854699317387734216490067930772188976600439155331887593603125441837707699113865903381571812672880381858264419574320658892980320812020370441894181545676143697241315924 31954876231525548183850765961418163047875557917683119076077871028692725208830539076539289241148403509236573909525623208424792706259586233535868099459607668023345609303196753150225875432236990817123813066793751993213942542320799601469214972584416405752016209664067509102854833771071330336857890723400157914285149516791269897127933764429307899181485815770519745291957192927795920039337638640521696031413190567732042221946330720454643815404314433577019762344510879763577428369549145222186741055995681613269737970956708293352385285005463963345935921950625847595473175770979248002096075168501715580235250131544953637314238559721318637343759857180963830697411237355592164926982945283238700188278315445209822674828199154540896132344037231841112486831791352708819644690205731405068283814766313547476990794200507865226053050136140892760544455652520895984238651074976162842006925408337896937323848337445438012612107524303008884846660856962042470403489495726899739395551616440134098165897212979275804070722433219374356277956970765941516627786727783625960972139573838226906710979557636097507715822373371660926074686879218351795472928941506520236516633333334836836506017862958282510103468777189458371780680427892557138736150457206283325253326413215712148972900494000044263176880314848221402708287974522398089345761881150360590880004273972785294875365396093767328691563925124486289392804503500421460101652797126486808266964690274614153187966052922323231961934045158203495501443781538624843142552119760617228169228135136424037614082826468420451352372148360764249374709950687905192529510938478640250594267989405492552020197738296013504040465651370893941924529292630494819596892922551367009657237369310579911449139448512816652087796429779441262459147154630121674507133080999002296730225678992933223557450229517765734200025181723492520094686324477485177514474968531410265313276364021569487903757085759446374401706450232485820498923603371020377246213597182015010602582222983164500779639648507607481824095770699238371541048608400898009740999583696154038475387602136382792734956669481872273676877268489623599569042837225853167886384468008605309190355161034920916530007203665862104202012419162331596637255742126588218335190071202466137941955866569144049460820636308965498582372802383067632688546096227889228676127 51704075848904491112838422779607114377638497449481957171075145350819247244154722060512367322502842440552915380309274296391965339116335430719364296144065709692050615256147122987438431789225591871504478720081636808996525957175479126553215785023748281932530931486245653040261874266225973551154058001714219483599567410989019771709507101278896953707625116484988344646169444323355844144129430169440154531291290081737264626885059110643527347154755840242972461254551545013776306155738215946279749069870881720002636118789636700311907462559201548775842038307997644604707672423514505162437507862488527012106959843378285233879215734876861664128338785907692498889655041099496251897211610207294290123479469517436644929459031420021471641888172038787063426424738721151750801188063892600695845355863024840020305125555035118671292983240656677474076229719942833075962169594498099923407739141979882215826145865928725303143770910548691609923100172583871867060321925899029730432165861076653819534010129363340148731278278314576956967980463261992441451583052523951561995119159478145159289679724998091391631048365002153745533356348585391426652941074638036820475723441702364058844041591053604730010545840456449527289243736893422594033996504601854655327363138008108352273315402847880250139655827735833329209285178421872486812504670036183968498567801355124173407841919826538374545072158088610778646229537529092366167124587360183432869831842884769426390436838938329448499739086198074472311113414999859697250503310545015672624861519536569455331072403571432651768368837386649253392404140115776988833502736200107405640461263318599472741473199103522756745414500082950775445626877828827721054794747831784549878713983288144100635239528069425762416946656087915183310469427418089364458362303740784215953539426448110725192827607053901129062638454967356915568324672053268926101114744320784673690445269722554107970238340383153395240034845563319141354040439959474425885269762803683258262366027097109042774201847152856956987466823167072781303049707317234462517770827338662575244481666845393006441194783435690971455461154281598842860162156436310473085745600238483637694209860352308650746497271596634293178612858317663484230858867568425926034303937105847709754628746951002313880394956967858478903184822753509526870091772371586469992051 83658952080430039296689188741025277425514055367165076247153016379511972452985261137051656563651245949789489289834897504816758045375921664255232395603673377715396224559343876137664307221462582688628291786875388802210468499496278728022430757608164687684547141150313162143116708037297303888011948725114377397884716927780289668837440865708204852889110932255508089938126637251151764183467068809961850562704480649469306848831389831098171162559070273819992223599062424777353734525287361168466490125866563333272374089746344993664292747564665512121777960258623492200180848194493753164533583030990242592342209974923238871193454294598180301472098643088656329587066278455088416824194555490532990311757784962646467604287230574562367774232209270628175913256530073860570445878269624005764129170629338387497295919755542983897346033376797570234620685372463729060200820669474262765414664550317779153149994203374163315755878434851700494769761029545914337463811421625929469827717477516787917699907342342615952802000711533951313245937434027933958079369780307577522967258733316372066000659282634188899346870738373814671608043227803743222125870016144557056992356775037200895350059454011887240114014617645907899069924164785979732770146961808137980580689551223820501246215896847924513316536142584054731917573152944270576158266551186544559378572075327909468283207315920305703236636083213097068039034041029513826268777384486670241136796533159383579578402891860652680461673131356277967812557196538484540393055430305632900794089654672993492945155230039853103120740985747413502767114090803682181363013674678747656234729252724092024761670937399536260785880151453844717370156170459322540651687670383151559535951352598724012084378976582242414504743085867356445769616582048211038965495384739786512683765105441043948750277836571666863262663636690849435663010996530754103615589712852194939003721633744123595873995426142599769641741295795804961852964043330494803131483359985698268864948250080273543553841495660464438811562593866311152844098315718132472258770411034816613719869268981775799176151452917563245132338422771222442429204993662163640972130068247088946884565021387229567276504475262496397380625277479995080868114609695014144369494008308313847696584613520146363341215593276823977485557625136577159558637868599475698668178 135363027929334530409527611520632391803152552816647033418228161730331219697139983197564023886154088390342404670144171801208723384492257094974596691747739087407446839815490999125102739010688174560132770506957025611206994456671757854575646542631912969617078072636558815183378582303523277439166006726828596881484284338769309440546947966987101806596736048740496434584296081574507608327596498979402005093995770731206571475716448941741698509713826114062964684853613969791130040681025577114746239195737445053275010208535981693976200210123867060897619998566621136804888520618008258326971090893478769604449169818301524105072670029475041965600437428996348828476721319554584668721406165697827280435237254480083112533746261994583839416120381309415239339681268795012321247066333516606459974526492363227517601045310578102568639016617454247708696915092406562136162990263972362688822403692297661368976140069302888618899649345400392104692861202129786204524133347524959200259883338593441737233917471705956101533278989848528270213917897289926399530952832831529084962377892794517225290339007632280290977919103375968417141399576389134648778811090782593877468080216739564954194101045065491970124560458102357426359167901679402326804143466409992635908052689231928853519531299695804763456191970319888061126858331366143062970771221222728527877139876683033641691049235746844077781708241301707846685263578558606192435901971846853674006628376044153005968839730798982128961412217554352440123670611538344237643558740850648573418951174209562948276227633611285754889109823134062756159518230919459170196516410878855061875190516042691497503144136503059017531294651536795492815783048288150261706482418214936109414665335886868112719618504651668176921689741955271629080086009466300403423857688480570728637304531889154673943105443625567992325302091658206351231335668584023029716704457172979612694166903466677703844233766525753164881776141359124103207004483289969229016753122789381527127314277177382586328043342813321395799029417033383934147148023035366934776541238373479188964350935827168805617346236353254216587799577052821285289367150098474114057875668485572584578774881739538218023001746859130690559238135797658565098973477263440070403797945414161557451213360471148677221610550244682456388742447890086686428729640971062168660229 219021980009764569706216800261657669228666608183812109665381178109843192150125244334615680449805334340131893959979069306025481429868178759229829087351412465122843064374834875262767046232150757248761062293832414413417462956168036582598077300240077657301625213786871977326495290340820581327177955451942974279369001266549599109384388832695306659485846980996004524522422718825659372511063567789363855656700251380675878324547838772839869672272896387882956908452676394568483775206312938283212729321604008386547384298282326687640492957688532573019397958825244629005069368812502011491504673924469012196791379793224762976266124324073222267072536072085005158063787598009673085545600721188360270746995039442729580138033492569146207190352590580043415252937798868872891692944603140612224103697121701615014896965066121086465985049994251817943317600464870291196363810933446625454237068242615440522126134272677051934655527780252092599462622231675700541987944769150888670087600816110229654933824814048572054335279701382479583459855331317860357610322613139106607929636626110889291290998290266469190324789841749783088749442804192877870904681106927150934460436991776765849544160499077379210238575075748265325429092066465382059574290428218130616488742240455749354765747196543729276772728112903942793044431484310413639129037772409273087255711952010943109974256551667149781018344324514804914724297619588120018704679356333523915143424909203536585547242622659634809423085348910630407936227808076828778036614171156281474213040828882556441221382863651138858009850808881476258926632321723141351559530085557602718109919768766783522264815073902595278317174802990640210185939218747472802358170088598087668950616688485592124803997481233910591426432827822628074849702591514511442389353073220357241321069637330198622693383280197234855587965728349055786894346665114777133332294170025174551697888537210801299718229192668352934523517437154929065059968526620464032148236482775079795992262527257656129881884838473785834610592010899695086991246338753499407035311649408295802684220204808944604793497689270817461720137999824043727718572143760637755030005736732661531463339903126767785299506222121627087939863413277653645967088086958454214773291953722475405147797973991295040562826143521506433874300073026663845987367509570537867328407 354385007939099100115744411782290061031819161000459143083609339840174411847265227532179704335959422730474298630123241107234204814360435854204425779099151552530289904190325874387869785242838931808893832800789440024624457412839794437173723842871990626918703286423430792509873872644343858766343962178771571160853285605318908549931336799682408466082583029736500959106718800400166980838660066768765860750696022111882449800264287714581568181986722501945921593306290364359613815887338515397958968517341453439822394506818308381616693167812399633917017957391865765809957889430510269818475764817947781801240549611526287081338794353548264232672973501081353986540508917564257754267006886886187551182232293922812692671779754563730046606472971889458654592619067663885212940010936657218684078223614064842532498010376699189034624066611706065652014515557276853332526801197418988143059471934913101891102274341979940553555177125652484704155483433805486746512078116675847870347484154703671392167742285754528155868558691231007853673773228607786757141275445970635692892014518905406516581337297898749481302708945125751505890842380582012519683492197709744811928517208516330803738261544142871180363135533850622751788259968144784386378433894628123252396794929687678208285278496239534040228920083223830854171289815676556702099808993632001615132851828693976751665305787413993858800052565816512761409561198146726211140581328180377589150053285247689591516082353458616938384497566464982848059898419615173015680172912006930047631992003092119389497610497262424612898960632015539015086150552642600521756046496436457779985110284809475019767959210405654295848469454527435703001722267035623064064652506813023778365282024372460237523615985885578768348122569777899703929788600980811845813210761700927969958374169219353296636488723822802847913267820007262138125682333698800163048998627198154164392055440677479003562462959194106099405293578514053168266973009910433261164989605564461323119576804435038716209928181287107230409621427933079021138394361788866341811852887781774991648571140636113410410843925624071678307937576876865013007939293859111869087881405218234116042114784866306003322507968980757778499101549075312211066061564221894285177089899136636962599011334462443717784436693766188890263042520916750532416097150541600035988636 573406987948863669821961212043947730260485769184271252748990517950017603997390471866795384785764757070606192590102310413259686244228614613434254866450564017653132968565160749650636831474989689057654895094621854438041920369007831019771801143112068284220328500210302769836369162985164440093521917630714545440222286871868507659315725632377715125568430010732505483629141519225826353349723634558129716407396273492558328124812126487421437854259618889828878501758966758928097591093651453681171697838945461826369778805100635069257186125500932206936415916217110394815027258243012281309980438742416793998031929404751050057604918677621486499745509573166359144604296515573930839812607608074547821929227333365542272809813247132876253796825562469502069845556866532758104632955539797830908181920735766457547394975442820275500609116605957883595332116022147144528890612130865613597296540177528542413228408614656992488210704905904577303618105665481187288500022885826736540435084970813901047101567099803100210203838392613487437133628559925647114751598059109742300821651145016295807872335588165218671627498786875534594640285184774890390588173304636895746388954200293096653282422043220250390601710609598888077217352034610166445952724322846253868885537170143427563051025692783263317001648196127773647215721299986970341228846766041274702388563780704919861639562339081143639818396890331317676133858817734846229845260684513901504293478194451226177063324976118251747807582915375613255996126227692001793716787083163211521845032831974675830718993360913563470908811440897015274012782874365741873315576581994060498095030053576258542032774284308249574165644257518075913187661485783095866422822595411111447315898712858052362327613467119489359774555397600527778779491192495323288202563834921285211279443806549551919329872004020037703501233548356317925020028998813577296381292797223328716089943977888280303280692151862459033928811015668982233326941536530897293313226088339541119111839331692694846091813019760893065020213438832774108129640700542365748847164537190070794332791345445058015204341614894889140028075576700908740726511437619749624117887141950895647505454687993073788622014191102384866438964962352965857033149651180348499950381852859112367746809308453738758347262837287695324137342593943414378403464660112137903317043 927791995887962769937705623826237791292304930184730395832599857790192015844655699398975089121724179801080491220225551520493891058589050467638680645549715570183422872755486624038506616717828620866548727895411294462666377781847625456945524985984058911139031786633733562346243035629508298859865879809486116601075572477187416209247062432060123591651013040469006442735860319625993334188383701326895577158092295604440777925076414202003006036246341391774800095065257123287711406980989969079130666356286915266192173311918943450873879293313331840853433873608976160624985147673522551128456203560364575799272479016277337138943713031169750732418483074247713131144805433138188594079614494960735373111459627288354965481593001696606300403298534358960724438175934196643317572966476455049592260144349831300079892985819519464535233183217663949247346631579423997861417413328284601740356012112441644304330682956636933041765882031557062007773589099286674035012101002502584410782569125517572439269309385557628366072397083844495290807401788533433871892873505080377993713665663921702324453672886063968152930207732001286100531127565356902910271665502346640558317471408809427457020683587363121570964846143449510829005612002754950832331158217474377121282332099831105771336304189022797357230568279351604501387011115663527043328655759673276317521415609398896613304868126495137498618449456147830437543420015881572440985842012694279093443531479698915768579407329576868686192080481840596104056024647307174809396959995170141569477024835066795220216603858175988083807772072912554289098933427008342395071623078430518278080140338385733561800733494713903870014113712045511616189383752818718930487475102224135225681180737230512599851229453005068128122677967378427482709279793476135134015774596622213181237817975768905215966360727842840551414501368363580063145711332512377459430291424421482880481999418565759306843155111056565133334104594183035401593914546441330554478215693904002442231416136127733562301741201048000295429834866765853129268035062331232090659017424971845785981362486081171425615185540518960818336013153577773753734450731478861493205768547169129763547569472859379791944522160083142644938066511428278068099211215402242785127471751995749330345820642916182476131699531053884214400385114860164910819561810653737939305679 1501198983836826439759666835870185521552790699369001648581590375740209619842046171265770473907488936871686683810327861933753577302817665081072935512000279587836555841320647373689143448192818309924203622990033148900708298150855456476717326129096127195359360286844036332182612198614672738953387797440200662041297859349055923868562788064437838717219443051201511926365001838851819687538107335885025293565488569096999106049888540689424443890505960281603678596824223882215808998074641422760302364195232377092561952117019578520131065418814264047789849789826086555440012405916534832438436642302781369797304408421028387196548631708791237232163992647414072275749101948712119433892222103035283195040686960653897238291406248829482554200124096828462794283732800729401422205922016252880500442065085597757627287961262339740035842299823621832842678747601571142390308025459150215337652552289970186717559091571293925529976586937461639311391694764767861323512123888329320951217654096331473486370876485360728576276235476457982727941030348459080986644471564190120294535316808937998132326008474229186824557706518876820695171412750131793300859838806983536304706425609102524110303105630583371961566556753048398906222964037365117278283882540320630990167869269974533334387329881806060674232216475479378148602732415650497384557502525714551019909979390103816474944430465576281138436846346479148113677278833616418670831102697208180597737009674150141945642732305695120433999663397216209360052150874999176603113747078333353091322057667041471050935597219089551554716583513809569563111716301374084268387199660424578776175170391961992103833507779022153444179757969563587529377045238601814796910297697635246672997079450088564962178842920124557487897233364978955261488770985971458422218338431543498392517261782318457135296232731862878254915734916719897988165740331325954755811584221644811596571943396454039610123847262919024167262915609852017634920856082972227847791441782243543561343255467820428408393554220808893360450048305598627237397675762873597839506181962161916580314153831526229440819527155413849958364088730278682494460962169098611117323655689120025411053024160852453580566536351185527511377031473781243925132360866582591285077853604854861698092629951369921234478962368341579538537727708803579289223026470765875842622722 2428990979724789209697372459696423312845095629553732044414190233530401635686701870664745563029213116672767175030553413454247468361406715548711616157549995158019978714076133997727650064910646930790752350885444443363374675932703081933662851115080186106498392073477769894528855234244181037813253677249686778642373431826243340077809850496497962308870456091670518369100862158477813021726491037211920870723580864701439883974964954891427449926752301673378478691889481005503520405055631391839433030551519292358754125428938521971004944712127595888643283663435062716064997553590057383566892845863145945596576887437305724335492344739960987964582475721661785406893907381850308027971836597996018568152146587942252203772999250526088854603422631187423518721908734926044739778888492707930092702209435429057707180947081859204571075483041285782090025379180995140251725438787434817078008564402411831021889774527930858571742468969018701319165283864054535358524224890831905362000223221849045925640185870918356942348632560302478018748432136992514858537345069270498288248982472859700456779681360293154977487914250878106795702540315488696211131504309330176863023897017911951567323789217946493532531402896497909735228576040120068110615040757795008111450201369805639105723634070828858031462784754830982649989743531314024427886158285387827337431394999502713088249298592071418637055295802626978551220698849497991111816944709902459691180541153849057714222139635271989120191743879056805464108175522306351412510707073503494660799082502108266271152201077265539638524355586722123852210649728382426663458822738855097054255310730347725665634241273736057314193871681609099145566428991420533727397772799859381898678260187319077562030072373129625616019911332357382744198050779447593556234113028165711573755079758087362351262593459705718806330236285083478051311451663838332215241875646066294477053942815019798916967002373975589300597020204035053036514770629413558402269657476147546003574671603948161970695295421856893655879883172364480366665710825204829930165199387133762366295516317607400866434712695932810776700101883856456248195412900577472610529424236289155174600593633711833372511058511268670156315097985209521993231572081984834070205325356850611028438450594286103710610661899395463752938112823663744200042588281419613781928401 3930189963561615649457039295566608834397886328922733692995780609270611255528748041930516036936702053544453858840881275388001045664224380629784551669550274745856534555396781371416793513103465240714955973875477592264082974083558538410380177244176313301857752360321806226711467432858853776766641474689887440683671291175299263946372638560935801026089899142872030295465863997329632709264598373096946164289069433798438990024853495580851893817258261954982157288713704887719329403130272814599735394746751669451316077545958100491136010130941859936433133453261149271505009959506592216005329488165927315393881295858334111532040976448752225196746468369075857682643009330562427461864058701031301763192833548596149442064405499355571408803546728015886313005641535655446161984810508960810593144274521026815334468908344198944606917782864907614932704126782566282642033464246585032415661116692382017739448866099224784101719055906480340630556978628822396682036348779161226313217877318180519412011062356279085518624868036760460746689462485451595845181816633460618582784299281797698589105689834522341802045620769754927490873953065620489511991343116313713167730322627014475677626894848529865494097959649546308641451540077485185388898923298115639101618070639780172440110963952634918705695001230310360798592475946964521812443660811102378357341374389606529563193729057647699775492142149106126664897977683114409782648047407110640288917550827999199659864871940967109554191407276273014824160326397305528015624454151836847752121140169149737322087798296355091193240939100531693415322366029756510931846022399279675830430481122309717769467749052758210758373629651172686674943474230022348524308070497494628571675339637407642524208915293254183103917144697336338005686821765419051978452451459709209966272341540405819486558826191568597061245971201803376039477191995164286971053459867711106073625886211473838527090849636894613467859935813887070671435626712385786250061099258391089564917927071768590379088849642665787016329931477963107604063386588078427769671381349295678946609670149133630307254239851346660735064190614135138742656375069676083727853079925409180585653617794564286953077594862454197667692129458990765918363932948567425355283178961705472726531080545656024945089624267737043291475840532467323489265614752185489624551123 6359180943286404859154411755263032147242981958476465737409970842801012891215449912595261599965915170217221033871434688842248514025631096178496167827100269903876513269472915369144443578014112171505708324760922035627457650016261620344043028359256499408356144433799576121240322667103034814579895151939574219326044723001542604024182489057433763334960355234542548664566726155807445730991089410308867035012650298499878873999818450472279343744010563628360635980603185893222849808185904206439168425298270961810070202974896622462140954843069455825076417116696211987570007513096649599572222334029073260990458183295639835867533321188713213161328944090737643089536916712412735489835895299027320331344980136538401645837404749881660263406969359203309831727550270581490901763699001668740685846483956455873041649855426058149177993265906193397022729505963561422893758903034019849493669681094793848761338640627155642673461524875499041949722262492876932040560573669993131675218100540029565337651248227197442460973500597062938765437894622444110703719161702731116871033281754657399045885371194815496779533535020633034286576493381109185723122847425643890030754219644926427244950684066476359026629362546044218376680116117605253499513964055910647213068272009585811545834598023463776737157785985141343448582219478278546240329819096490205694772769389109242651443027649719118412547437951733105216118676532612400894464992117013099980098091981848257374087011576239098674383151155329820288268501919611879428135161225340342412920222671258003593239999373620630831765294687253817267533015758138937595304845138134772884685791852657443435101990326494268072567501332781785820509903221442882251705843297354010470353599824726720086238987666383808719937056029693720749884872544866645534686564487874921540027421298493181837821419651274315867576207486886854090788643659002619186295335513777400550679829026493637444057852010870202768456956017922123707950397341799344652330756734538635568492598675716752349784145064522680672209814650327587970729097413283257699836580736429441312905186466741031173688952547279471511764292497991594990851787970253556338382504161698335760254211428276120325588653373722867824007227444200287911595505030552259425488504318556083754969531139942128655700286167132507044413953356131067689308203033605103406479524 10289370906848020508611451050829640981640868287399199430405751452071624146744197954525777636902617223761674892712315964230249559689855476808280719496650544649733047824869696740561237091117577412220664298636399627891540624099820158754423205603432812710213896794121382347951790099961888591346536626629461660009716014176841867970555127618369564361050254377414578960032590153137078440255687783405813199301719732298317864024671946053131237561268825583342793269316890780942179211316177021038903820045022631261386280520854722953276964974011315761509550569957361259075017472603241815577551822195000576384339479153973947399574297637465438358075412459813500772179926042975162951699954000058622094537813685134551087901810249237231672210516087219196144733191806236937063748509510629551278990758477482688376118763770257093784911048771101011955433632746127705535792367280604881909330797787175866500787506726380426775180580781979382580279241121699328722596922449154357988435977858210084749662310583476527979598368633823399512127357107895706548900978336191735453817581036455097634991061029337838581579155790387961777450446446729675235114190541957603198484542271940902922577578915006224520727322195590527018131656195090438888412887354026286314686342649365983985945561976098695442852787215451704247174695425243068052773479907592584052114143778715772214636756707366818188039580100839231881016654215726810677113039524123740269015642809847457033951883517206208228574558431602835112428828316917407443759615377177190165041362840407740915327797669975722025006233787785510682855381787895448527150867537414448715116272974967161204569739379252478830941130983954472495453377451465230776013913794848639042028939462134362610447902959637991823854200727030058755571694310285697513139015947584131506299762838899001324380245842842912928822178688690230130265835654166906157348795381488506624305715237967475971148701647764816236316891831809194379386024054185130902391855992929725133410525747485342728872994707188467688539746128290695574792484001361685469507962085725120259514856615874661480943192398626132246828483112126733733508163039929640066235584087107516345907829222840407278666248236177065491699356903191053829959437979119684780771683280261556481500611685598153600789910434869550335889793888598391178573817785790593031030647 16648551850134425367765862806092673128883850245875665167815722294872637037959647867121039236868532393978895926583750653072498073715486572986776887323750814553609561094342612109705680669131689583726372623397321663518998274116081779098466233962689312118570041227920958469192112767064923405926431778569035879335760737178384471994737616675803327696010609611957127624599316308944524171246777193714680234314370030798196738024490396525410581305279389211703429249920076674165029019502081227478072245343293593071456483495751345415417919817080771586585967686653573246645024985699891415149774156224073837374797662449613783267107618826178651519404356550551143861716842755387898441535849299085942425882793821672952733739214999118891935617485446422505976460742076818427965512208512298291964837242433938561417768619196315242962904314677294408978163138709689128429551270314624731403000478881969715262126147353536069448642105657478424530001503614576260763157496119147489663654078398239650087313558810673970440571869230886338277565251730339817252620140038922852324850862791112496680876432224153335361112690811020996064026939827838860958237037967601493229238761916867330167528262981482583547356684741634745394811772312695692387926851409936933527754614658951795531780159999562472180010573200593047695756914903521614293103299004082789746886913167825014866079784357085936600587018052572337097135330748339211571578031641136840249113734791695714408038895093445306902957709586932655400697330236529286871894776602517532577961585511665744508567797043596352856771528475039327950388397546034386122455712675549221599802064827624604639671729705746746903508632316736258315963280672908113027719757092202649512382539286861082696686890626021800543791256756723779505456566855152343047825580435459053046327184137392183162201665494117228796398386175577084221054479313169525343644130895265907174985544264461113415206553658635019004773847849731318087336421395984475554722612727468360701903124423202095078657139771711148360749560778618283545521581414644943169344542822154561572420043082615692654632144945905603758592775610118328724359951010183196404618088248805852106162040651116527604254901609899933315706584347391341741554943009671944206260187598817640236470142825540282256490196602002057380303747244729458867882020819395696437510171 26937922756982445876377313856922314110524718533274864598221473746944261184703845821646816873771149617740570819296066617302747633405342049795057606820401359203342608919212308850266917760249266995947036922033721291410538898215901937852889439566122124828783938022042340817143902867026811997272968405198497539345476751355226339965292744294172892057060863989371706584631906462081602611502464977120493433616089763096514602049162342578541818866548214795046222519236967455107208230818258248516976065388316224332842764016606068368694884791092087348095518256610934505720042458303133230727325978419074413759137141603587730666681916463644089877479769010364644633896768798363061393235803299144564520420607506807503821641025248356123607828001533641702121193933883055365029260718022927843243828000911421249793887382966572336747815363448395420933596771455816833965343637595229613312331276669145581762913654079916496223822686439457807110280744736275589485754418568301847652090056256449734836975869394150498420170237864709737789692608838235523801521118375114587778668443827567594315867493253491173942691846601408957841477386274568536193351228509559096427723304188808233090105841896488808068084006937225272412943428507786131276339738763963219842440957308317779517725721975661167622863360416044751942931610328764682345876778911675373799001056946540787080716541064452754788626598153411568978151984964066022248691071165260580518129377601543171441990778610651515131532268018535490513126158553446694315654391979694722743002948352073485423895594713572074881777762262824838633243779333929834649606580212963670314918337802591765844241469084999225734449763300690730811416658124373343803733670887051288554411478748995445307134793585659792367645457483753838261028261165438040560964596383043184552626946976291184486581911336960141725220564864267314351320314967336431500992926276754413799291259502428589386355255306399835241090739681540512466722445450169606457114468720398085835313650170687437807530134478899616049289306906908979120314065416006628638852504907879681831934899698490354135575337344531736005421258722245062457868114050112836470853672335913368452069869873956934882921149846076998807405941250582395571514380988791628987031870879079196717970754511138435857280107036871607716193541133327850046455838605186289468540818 43586474607116871244143176663014987239408568779150529766037196041816898222663493688767856110639682011719466745879817270375245707120828622781834494144152173756952170013554920959972598429380956579673409545431042954929537172331983716951355673528811436947353979249963299286336015634091735403199400183767533418681237488533610811960030360969976219753071473601328834209231222771026126782749242170835173667930459793894711340073652739103952400171827604006749651769157044129272237250320339475995048310731609817404299247512357413784112804608172858934681485943264507752365067444003024645877100134643148251133934804053201513933789535289822741396884125560915788495613611553750959834771652598230506946303401328480456555380240247475015543445486980064208097654675959873792994772926535226135208665243345359811211656002162887579710719678125689829911759910165505962394894907909854344715331755551115297025039801433452565672464792096936231640282248350851850248911914687449337315744134654689384924289428204824468860742107095596076067257860568575341054141258414037440103519306618680090996743925477644509303804537412429953905504326102407397151588266477160589656962066105675563257634104877971391615440691678860017807755200820481823664266590173900153370195571967269575049505881975223639802873933616637799638688525232286296638980077915758163545887970114365801946796325421538691389213616205983906075287315712405233820269102806397420767243112393238885850029673704096822034489977605468145913823488789975981187549168582212255320964533863739229932463391757168427738549290737864166583632176879964220772062292888512891914720402630216370483913198790745972637958395617426989127379938797281456831453427979253938066794018035856528003821684211681592911436714240477617766484828020590383608790176818502237598954131113683367648783576831077370521618951039844398572374794280505956844637057172020320974276803766889702801561808965034854245864587531271830554058866846154082011837081447866446537216774593889532886187274250610764410038867685527262665835646830651571808197047730034243404354942781106046790207482290437339764014034332363391182228065060296032875471760584719220558231910525073462487176051455976932123112525597973737313069323998463573193292058477896836954440897336678718113770303638873665096497288378057308914337859424581985906050989 70524397364099317120520490519937301349933287312425394364258669788761159407367339510414672984410831629460037565175883887677993340526170672576892100964553532960294778932767229810239516189630223575620446467464764246340076070547885654804245113094933561776137917272005640103479918501118547400472368588966030958026714239888837151925323105264149111810132337590700540793863129233107729394251707147955667101546549556991225942122815081682494219038375818801795874288394011584379445481138597724512024376119926041737142011528963482152807689399264946282777004199875442258085109902306157876604426113062222664893071945656789244600471451753466831274363894571280433129510380352114021228007455897375071466724008835287960377021265495831139151273488513705910218848609842929158024033644558153978452493244256781061005543385129459916458535041574085250845356681621322796360238545505083958027663032220260878787953455513369061896287478536394038750562993087127439734666333255751184967834190911139119761265297598974967280912344960305813856950469406810864855662376789152027882187750446247685312611418731135683246496384013838911746981712376975933344939494986719686084685370294483796347739946774460199683524698616085290220698629328267954940606328937863373212636529275587354567231603950884807425737294032682551581620135561050978984856856827433537344889027060906589027512866485991446177840214359395475053439300676471256068960173971658001285372489994782057292020452314748337166022245624003636426949647343422675503203560561906978063967482215812715356358986470740502620327053000689005216875956213894055421668873101476562229638740432808136328154667875745198372408158918117719938796596921654800635187098866305226621205496784851973310956477797341385279082171724231456027513089186028424169754773201545422151581078089974552135365488168037512246839515904111712923695109247842388345629983448774734773568063269318292187917064271434689486955327212812343020781312296323688468951550168264532372530424764576970693717408729510380459328174592436241786149712246658200447049552637913925236289842479596400925782819634969075769435293054608453640096179110408869346325432920632589010301780399030397370097201302053930930518466848556132884583704987255202180323929356976033672411651847817153971050410675745272812690829511385158960793698029768275374591807 114110871971216188364663667182952288589341856091575924130295865830578057630030833199182529095050513641179504311055701158053239047646999295358726595108705706717246948946322150770212114619011180155293856012895807201269613242879869371755600786623744998723491896521968939389815934135210282803671768772733564376707951728422447963885353466234125331563203811192029375003094352004133856177000949318790840769477009350885937282196467820786446619210203422808545526057551055713651682731458937200507072686851535859141441259041320895936920494007437805217458490143139950010450177346309182522481526247705370916027006749709990758534260987043289572671248020132196221625123991905864981062779108495605578413027410163768416932401505743306154694718975493770118316503285802802951018806571093380113661158487602140872217199387292347496169254719699775080757116591786828758755133453414938302742994787771376175812993256946821627568752270633330270390845241437979289983578247943200522283578325565828504685554725803799436141654452055901889924208329975386205909803635203189467985707057064927776309355344208780192550300921426268865652486038479383330496527761463880275741647436400159359605374051652431591298965390294945308028453830148749778604872919111763526582832101242856929616737485926108447228611227649320351220308660793337275623836934743191700890776997175272390974309191907530137567053830565379381128726616388876489889229276778055422052615602388020943142050126018845159200512223229471782340773136133398656690752729144119233384932016079551945288822378227908930358876343738553171800508133093858276193731165989989454144359143063024506812067866666491171010366554535544709066176535718936257466640526845559164687999514820708501314778162009022978190518885964709073793997917206618807778544950020047659750535209203657919784149064999114882768458466943956111496069903528348345190267040620795055747844867036207994989478873236469543732819914744084173574840179142477770480788631616130978909747199358466503579904682980121144869367042277963504451985359077309772255246600367948168640644785260702447715990301925406415533449327386971844822324244170704902221797193505351809568533690924103859857273252758030863053630992446529870197653028985718775373615987834872870626852549184495872084820714314618937909188117889442467875131557454350261280642796 184635269335315505485184157702889589939275143404001318494554535619339217037398172709597202079461345270639541876231585045731232388173169967935618696073259239677541727879089380580451630808641403730914302480360571447609689313427755026559845899718678560499629813793974579493295852636328830204144137361699595334734665968311285115810676571498274443373336148782729915796957481237241585571252656466746507871023558907877163224319282902468940838248579241610341400345945067298031128212597534925019097062971461900878583270570284378089728183406702751500235494343015392268535287248615340399085952360767593580920078695366780003134732438796756403945611914703476654754634372257979002290786564392980649879751418999056377309422771239137293845992464007476028535351895645732109042840215651534092113651731858921933222742772421807412627789761273860331602473273408151555115371998920022260770657819991637054600946712460190689465039749169724309141408234525106729718244581198951707251412516476967624446820023402774403422566797016207703781158799382197070765466011992341495867894807511175461621966762939915875796797305440107777399467750856359263841467256450599961826332806694643155953113998426891790982490088911030598249152459477017733545479248049626899795468630518444284183969089876993254654348521682002902801928796354388254608693791570625238235666024236178980001822058393521583744894044924774856182165917065347745958189450749713423337988092382803000434070578333593496366534468853475418767722783476821332193956289706026211448899498295364660645181364698649432979203396739242177017384089307752331615400039091466016373997883495832643140222534542236369382774713453662429004973132640591058101827625711864391309205011605560474625734639806364363469601057688940529821511006392647231948299723221593081902116287293632471919514553167152395015297982848067824419765012776190733535897024069569790521412930305526287177395937507904233219775241956896516595621491438801458949740181784395511282277624123043474273622091709631525328695216870399746238135071323967972702296153005862093876934627740298848641773121560375491302884620441580298462420423281113771568122626425984398578835471323134257227370454060084793984149459295086003082236733972973977553939917191848904299264201032313026055871124990364210721878947400827626835925255484118536655234603 298746141306531693849847824885841878528616999495577242624850401449917274667429005908779731174511858911819046187287286203784471435820169263294345291181964946394788676825411531350663745427652583886208158493256378648879302556307624398315446686342423559223121710315943518883111786771539113007815906134433159711442617696733733079696030037732399774936539959974759290800051833241375441748253605785537348640500568258763100506515750723255387457458782664418886926403496123011682810944056472125526169749822997760020024529611605274026648677414140556717693984486155342278985464594924522921567478608472964496947085445076770761668993425840045976616859934835672876379758364163843983353565672888586228292778829162824794241824276982443448540711439501246146851855181448535060061646786744914205774810219461062805439942159714154908797044480973635412359589865194980313870505452334960563513652607763013230413939969407012317033792019803054579532253475963086019701822829142152229534990842042796129132374749206573839564221249072109593705367129357583276675269647195530963853601864576103237931322107148696068347098226866376643051953789335742594337995017914480237567980243094802515558488050079323382281455479205975906277606289625767512150352167161390426378300731761301213800706575803101701882959749331323254022237457147725530232530726313816939126443021411451370976131250301051721311947875490154237310892533454224235847418727527768845390603694770823943576120704352438655567046692082947201108495919610219988884709018850145444833831514374916605934003742926558363338079740477795348817892222401610607809131205081455470518357026558857149952290401208727540393141267989207138071149668359527315568468152557423555997204526426268975940512801815387341660119943653649603615508923599266039726844673241640741652651496497290391703663618166267277783756449792023935915834916304539078726164064690364846269257797341734282166874810744373776952595156700980690170461670581279229430528813400526490192024823481509977853526774689752670198062259148363250690120430401277744957542753373810262517579413001001296357763423485781906836333947828552143284744667451818673789919819931336208147369162247238117084643706818115657037780451741615873279889762958692752927555905026721774926116750216808898140691839304983148631067065290270094711056812938468797935877399 483381410641847199335031982588731468467892142899578561119404937069256491704827178618376933253973204182458588063518871249515703823993339231229963987255224186072330404704500911931115376236293987617122460973616950096488991869735379424875292586061102119722751524109918098376407639407867943211960043496132755046177283665045018195506706609230674218309876108757489206597009314478617027319506262252283856511524127166640263730835033625724328295707361906029228326749441190309713939156654007050545266812794459660898607800181889652116376860820843308217929478829170734547520751843539863320653430969240558077867164140443550764803725864636802380562471849539149531134392736421822985644352237281566878172530248161881171551247048221580742386703903508722175387207077094267169104487002396448297888461951319984738662684932135962321424834242247495743962063138603131868985877451254982824284310427754650285014886681867203006498831768972778888673661710488192749420067410341103936786403358519763753579194772609348242986788046088317297486525928739780347440735659187872459721496672087278699553288870088611944143895532306484420451421540192101858179462274365080199394313049789445671511602048506215173263945568117006504526758749102785245695831415211017326173769362279745497984675665680094956537308271013326156824166253502113784841224517884442177362109045647630350977953308694573305056841920414929093493058450519571981805608178277482268728591787153626944010191282686032151933581160936422619876218703087041321078665308556171656282731012670281266579185107625207796317283137217037525835276311709362939424531244172921486892354910054689793092512935750963909775915981442869567076122801000118373670295778269287947306409538031829450566247441621751705129721001342590133437019929991913271675144396463233823554767783790922863623178171333419672799054432640091760335599929080729812262061088759934636790670727647260569344270748252278010172370398657877206766083162020080688380268995184922001474302447604553452127148866399384195526757476018762996928255501725245717659838906379672356394514040741300144999536545046157398139218568270132441747165090732932445358042446357320606726204633570372374312014160878200451021929911036701876362126496931666730481495822218570679225380951249121924196562964295347359352946012691097721546982068422587334591112002 782127551948378893184879807474573346996509142395155803744255338519173766372256184527156664428485063094277634250806157453300175259813508494524309278437189132467119081529912443281779121663946571503330619466873328745368294426043003823190739272403525678945873234425861617259519426179407056219775949630565914757619901361778751275202736646963073993246416068732248497397061147719992469067759868037821205152024695425403364237350784348979715753166144570448115253152937313321396750100710479176071436562617457420918632329793494926143025538234983864935623463315326076826506216438464386242220909577713522574814249585520321526472719290476848357179331784374822407514151100585666968997917910170153106465309077324705965793071325204024190927415343009968322239062258542802229166133789141362503663272170781047544102627091850117230221878723221131156321653003798112182856382903589943387797963035517663515428826651274215323532623788775833468205915186451278769121890239483256166321394200562559882711569521815922082551009295160426891191893058097363624116005306383403423575098536663381937484610977237308012490993759172861063503375329527844452517457292279560436962293292884248187070090098585538555545401047322982410804365038728552757846183582372407752552070094041046711785382241483196658420268020344649410846403710649839315073755244198259116488552067059081721954084558995625026368789795905083330803950983973796217653026905805251114119195481924450887586311987038470807500627853019369820984714622697261309963374327406317101116562527045197872513188850551766159655362877694832874653168534110973547233662449254376957410711936613546943044803336959691450169057249432076705147272469359645689238763930826711503303614064458098426506760243437139046789840944996239737052528853591179311401989069704874565207419280288213255326841789499686950582810882432115696251434845385268890988225153450299483059928524988994851511145558996651787124965555358857896936544832601359917810797808585448491666327271086063429980675641089136865724819735167126247618375932126523462617381659753482618912093453742301441357299968531939304975552516098684585031909758184751119147962266288656814873573795817610491396657867696316108059710362778317749642016259890359483409051727245292454151497701465930822337254803600330507984013077981367816258038881361056132526989401 1265508962590226092519911790063304815464401285294734364863660275588430258077083363145533597682458267276736222314325028702815879083806847725754273265692413318539449486234413355212894497900240559120453080440490278841857286295778383248066031858464627798668624758535779715635927065587274999431735993126698669803797185026823769470709443256193748211556292177489737703994070462198609496387266130290105061663548822592043627968185817974704044048873506476477343579902378503631110689257364486226616703375411917081817240129975384578259402399055827173153552942144496811374026968282004249562874340546954080652681413725963872291276445155113650737741803633913971938648543837007489954642270147451719984637839325486587137344318373425604933314119246518690497626269335637069398270620791537810801551734122101032282765312023986079551646712965468626900283716142401244051842260354844926212082273463272313800443713333141418330031455557748612356879576896939471518541957649824360103107797559082323636290764294425270325537797341248744188678418986837143971556740965571275883296595208750660637037899847325919956634889291479345483954796869719946310696919566644640636356606342673693858581692147091753728809346615439988915331123787831338003542014997583425078725839456320792209770057907163291614957576291357975567670569964151953099914979762082701293850661112706712072932037867690198331425631716320012424297009434493368199458635084082733382847787269078077831596503269724502959434209013955792440860933325784302631042039635962488757399293539715479139092373958176973955972646014911870400488444845820336486658193693427298444303066846668236736137316272710655359944973230874946272223395270359764062909059709095999450610023602489927877073007685058890751919561946338829870489548783583092583077133466168108388762187064079136118950019960833106623381865315072207456587034774465998703250286242210234119850599252636255420855416307248929797297335954016735103702627994621440606191066803770370493140629718690616882107824507488521061251577211185889244546631433851769180277220566133154975306607494483601586356836513578096703114771084368817026779074848917683564506004712645977421599778429387982865708672028574516559081640273815019626004142756822026213890547549463863133376878652715052746533817767895677867336959090672465537805020949783643467118101403 2047636514538604985704791597537878162460910427689890168607915614107604024449339547672690262110943330371013856565131186156116054343620356220278582544129602451006568567764325798494673619564187130623783699907363607587225580721821387071256771130868153477614497992961641332895446491766682055651511942757264584561417086388602520745912179903156822204802708246221986201391131609918601965455025998327926266815573518017446992205536602323683759802039651046925458833055315816952507439358074965402688139938029374502735872459768879504402427937290811038089176405459822888200533184720468635805095250124667603227495663311484193817749164445590499094921135418288794346162694937593156923640188057621873091103148402811293103137389698629629124241534589528658819865331594179871627436754580679173305215006292882079826867939115836196781868591688689758056605369146199356234698643258434869599880236498789977315872539984415633653564079346524445825085492083390750287663847889307616269429191759644883519002333816241192408088806636409171079870312044934507595672746271954679306871693745414042574522510824563227969125883050652206547458172199247790763214376858924201073318899635557942045651782245677292284354747662762971326135488826559890761388198579955832831277909550361838921555440148646488273377844311702624978516973674801792414988735006280960410339213179765793794886122426685823357794421512225095755100960418467164417111661989887984496966982751002528719182815256762973766934836866975162261845647948481563941005413963368805858515856066760677011605562808728740115628008892606703275141613379931310033891856142681675401713778783281783679182119609670346810114030480307022977370667739719409752147823639922710953913637666948026303579767928496029798709402891335069607542077637174271894479122535872982953969606344367349374276861750332793573964676197504323152838469619851267594238511395660533602910527777625250272366561866245581584422301509375593000639172827222800524001864612355818984806956989776680312088500148577657926976396946353015492165007365978292642894602225886637594218700948225903027714136482110036008090323600467501611810984607102434683653966978934634236473352225205593357105329896270832667141350636593337375646159016712385697299599276709155587528376354180983568871072571496008375320972168653833354063059831144699599645090804 3313145477128831078224703387601182977925311712984624533471575889696034282526422910818223859793401597647750078879456214858931933427427203946032855809822015769546018053998739153707568117464427689744236780347853886429082867017599770319322802989332781276283122751497421048531373557353957055083247935883963254365214271415426290216621623159350570416359000423711723905385202072117211461842292128618031328479122340609490620173722420298387803850913157523402802412957694320583618128615439451629304843313441291584553112589744264082661830336346638211242729347604319699574560153002472885367969590671621683880177077037448066109025609600704149832662939052202766284811238774600646878282458205073593075740987728297880240481708072055234057555653836047349317491600929816941025707375372216984106766740414983112109633251139822276333515304654158384956889085288600600286540903613279795811962509962062291116316253317557051983595534904273058181965068980330221806205805539131976372536989318727207155293098110666462733626603977657915268548731031771651567229487237525955190168288954164703211560410671889147925760772342131552031412969068967737073911296425568841709675505978231635904233474392769046013164094278202960241466612614391228764930213577539257910003749006682631131325498055809779888335420603060600546187543638953745514903714768363661704189874292472505867818160294376021689220053228545108179397969852960532616570297073970717879814770020080606550779318526487476726369045880930954702706581274265866572047453599331294615915149606476156150697936766905714071600654907518573675630058225751646520550049836108973846016845629950020415319435882381002170059003711181969249594063010079173815056883349018710404523661269437954180652775613554920550628964837673899478031626420757364477556256002041091342731793408446485493226881711165900197346541512576530609425504394317266297488797637870767722761127030261505693221978173494511381719637463392328104341800821844241130192931416126189477947586708467297194196324656066178988227974157538904736711638799830061823171822792019792569525308442709504614070972995688132711205094684836318638590059456020118248159971691580611658073130654593576222814001924845349226222990910408357001650301773534411911190146826173018720905255006896036315404890339391686242657931259326298891868080780928343066763192207 5360781991667436063929494985139061140386222140674514702079491503803638306975762458490914121904344928018763935444587401015047987771047560166311438353951618220552586621763064952202241737028614820368020480255217494016308447739421157390579574120200934753897620744459062381426820049120639110734759878641227838926631357804028810962533803062507392621161708669933710106776333682035813427297318126945957595294695858626937612379259022622071563652952808570328261246013010137536125567973514417031992983251470666087288985049513143587064258273637449249331905753064142587775093337722941521173064840796289287107672740348932259926774774046294648927584074470491560630973933712193803801922646262695466166844136131109173343619097770684863181797188425576008137356932523996812653144129952896157411981746707865191936501190255658473115383896342848143013494454434799956521239546871714665411842746460852268432188793301972685637159614250797504007050561063720972093869653428439592641966181078372090674295431926907655141715410614067086348419043076706159162902233509480634497039982699578745786082921496452375894886655392783758578871141268215527837125673284493042782994405613789577949885256638446338297518841940965931567602101440951119526318412157495090741281658557044470052880938204456268161713264914763225524704517313755537929892449774644622114529087472238299662704282721061845047014474740770203934498930271427697033681959063858702376781752771083135269962133783250450493303882747906116964552229222747430513052867562700100474431005673236833162303499575634454187228663800125276950771671605682956554441905978790649247730624413231804094501555492051348980173034191488992226964730749798583567204706988941421358437298936385980484232543542050950349338367729008969085573704057931636372035378537914074296701399752813834867503743461498693771311217710080853762263974014168533891727309033531301325671654807886755965588540039740092966141938972767921104980973649067041654194796028482008462754543698243977506284824804643836915204371103891920228876646165808354466066425017906430163744009390935407641785109477798168719295418285303820250401044063122552931813938670515245894546482879799169579919331821116181893364341547001694377296460790246797608489746102882174308433631361077019884275962910887694617978903427980132245931140612073042666408283011 8673927468796267142154198372740244118311533853659139235551067393499672589502185369309137981697746525666514014324043615873979921198474764112344294163773633990098604675761804105909809854493042510112257260603071380445391314757020927709902377109533716030180743495956483429958193606474596165818007814525191093291845629219455101179155426221857963037520709093645434012161535754153024889139610255563988923773818199236428232552981442920459367503865966093731063658970704458119743696588953868661297826564911957671842097639257407669726088609984087460574635100668462287349653490725414406541034431467910970987849817386380326035800383646998798760247013522694326915785172486794450680205104467769059242585123859407053584100805842740097239352842261623357454848533453813753678851505325113141518748487122848304046134441395480749448899200997006527970383539723400556807780450484994461223805256422914559548505046619529737620755149155070562189015630044051193900075458967571569014503170397099297829588530037574117875342014591725001616967774108477810730131720747006589687208271653743448997643332168341523820647427734915310610284110337183264911036969710061884492669911592021213854118731031215384310682936219168891809068714055342348291248625735034348651285407563727101184206436260266048050048685517823826070892060952709283444796164543008283818718961764710805530522443015437866736234527969315312113896900124388229650252256137829420256596522791163741820741452309737927219672928628837071667258810497013297085100321162031395090346155279712989313001436342540168258829318707643850626401729831434603074991955814899623093747470043181824509820991374432351150232037902670961476558793759877757382261590337960131762960960205823934664885319155605870899967332566682868563605330478689000849591634539955165639433193161260320360730625172664593968657759222657384371689478408485800189216106671402069048432781838148261658810518213234604347861576436160249209322774470911282784387727444608197940702130406711274700481149460710015903432345261430824965588284965638416289238247809926222733269317833644912255856082473486301430500512970140138888991103519142671179973910362095857552619613534392745802733333745961531119587332457410051378946762563781209519679892929055193029338886367973056199680853250279380860636834687306431137799221393001385733171475218 14034709460463703206083693357879305258697755994333653937630558897303310896477947827800052103602091453685277949768631016889027908969522324278655732517725252210651191297524869058112051591521657330480277740858288874461699762496442085100481951229734650784078364240415545811385013655595235276552767693166418932218476987023483912141689229284365355658682417763579144118937869436188838316436928382509946519068514057863365844932240465542530931156818774664059324904983714595655869264562468285693290809816382623759131082688770551256790346883621536709906540853732604875124746828448355927714099272264200258095522557735312585962575157693293447687831087993185887546759106198988254482127750730464525409429259990516226927719903613424960421150030687199365592205465977810566331995635278009298930730233830713495982635631651139222564283097339854670983877994158200513329019997356709126635648002883766827980693839921502423257914763405868066196066191107772165993945112396011161656469351475471388503883961964481773017057425205792087965386817185183969893033954256487224184248254353322194783726253664793899715534083127699069189155251605398792748162642994554927275664317205810791804003987669661722608201778160134823376670815496293467817567037892529439392567066120771571237087374464722316211761950432587051595596578266464821374688614317652905933248049236949105193226725736499711783249002710085516048395830395815926683934215201688122633378275562246877090703586092988377712976811376743188631811039719760727598153188724731495564777160952949822475304935918174622446057982507769127577173401437117559629433861793690272341478094456413628604322546866483700130405072094159953703523524509676340949466297326901553121398259142209915149117862697656821249305700295691837649179034536620637221627013077869239936134592914074155228234368634163287739968976932738238133953452422654334080943415704933370374104436646035017624399058252974697314003515408928170314303748119978324438582523473090206403456674104955252206765974265353852818636716365322745194464931131446770755304672827832652897013327224580319897641191951284470149795931255443959139392147582265224111787849032611103447166096414191915382652665567077713012951674004411745756243223354028007128169639031937367337772517729050076083956816161167075478615738115286563383730362005074428399579758229 22708636929259970348237891730619549377009289847992793173181626290802983485980133197109190085299837979351791964092674632763007830167997088391000026681498886200749795973286673164021861446014699840592535001461360254907091077253463012810384328339268366814259107736372029241343207262069831442370775507691610025510322616242939013320844655506223318696203126857224578131099405190341863205576538638073935442842332257099794077485221908462990298660684740757790388563954419053775612961151422154354588636381294581430973180328027958926516435493605624170481175954401067162474400319173770334255133703732111229083372375121692911998375541340292246448078101515880214462544278685782705162332855198233584652014383849923280511820709456165057660502872948822723047053999431624320010847140603122440449478720953561800028770073046619972013182298336861198954261533881601070136800447841703587859453259306681387529198886541032160878669912560938628385081821151823359894020571363582730670972521872570686333472492002055890892399439797517089582354591293661780623165675003493813871456526007065643781369585833135423536181510862614379799439361942582057659199612704616811768334228797832005658122718700877106918884714379303715185739529551635816108815663627563788043852473684498672421293810724988364261810635950410877666488639219174104819484778860661189751967011001659910723749168751937578519483530679400828162292730520204156334186471339517542889974798353410618911445038402726304932649740005580260299069850216774024683253509886762890655123316232662811788306372260714790704887301215412978203575131268552162704425817608589895435225564499595453114143538240916051280637109996830915180082318269554098331727887664861684884359219348033849814003181853262692149273032862374706212784365015309638071218647617824405575567786075334475588964993806827881708626736155395622505642930831140134270159522376335439422537218484183279283209576466209301661865091845088419523626522590889607222970250917698404344158804511666526907247123726063868722069061626753570160053216097085187044542920637758875630282645058225232153497274424770771580296444225584098028383251101407895291761759394706960999785709948584661185385999313039244132539006461821797135189985917809216647849531960992560367111404097023132283637669411446456339252572802592994521529583398075814132751233447 36743346389723673554321585088498854635707045842326447110812185188106294382458081024909242188901929433037069913861305649652035739137519412669655759199224138411400987270811542222133913037536357171072812742319649129368790839749905097910866279569003017598337471976787575052728220917665066718923543200858028957728799603266422925462533884790588674354885544620803722250037274626530701522013467020583881961910846314963159922417462374005521229817503515421849713468938133649431482225713890440047879446197677205190104263016798510183306782377227160880387716808133672037599147147622126261969232975996311487178894932857005497960950699033585694135909189509066102009303384884770959644460605928698110061443643840439507439540613069590018081652903636022088639259465409434886342842775881131739380208954784275296011405704697759194577465395676715869938139528039801583465820445198412714495101262190448215509892726462534584136584675966806694581148012259595525887965683759593892327441873348042074837356453966537663909456865003309177547741408478845750516199629259981038055704780360387838565095839497929323251715593990313448988594613547980850407362255699171739043998546003642797462126706370538829527086492539438538562410345047929283926382701520093227436419539805270243658381185189710680473572586382997929262085217485638926194173393178314095685215060238609015916975894488437290302732533389486344210688560916020083018120686541205665523353073915657496002148624495714682645626551382323448930880889936534752281406698611494386219900477185612634263611308178889413150945283723182105780748532705669722333859679402280167776703658956009081718466085107399751411042182090990868883605842779230439281194184991763238005757478490243764963121044550919513398578733158066543861963399551930275292845660695693645511702378989408630817199362440991169448595713088133860639596383253794468351102938081268809796641655130218296907608634719183998975868607254016589837930270710867931661552774390788610747615478616621779114013097991417721540705777992076315354518147228531957799847593465591528527295972282805552051138466376055241730092375481028057167775398683673119403549608427318064446951806362776576568038664880116957145490680466233542891433209271837223776019170992929927704883921826073208367594485572613531817868310917879557905259945403150242532330991676 59451983318983643902559476819118404012716335690319240283993811478909277868438214222018432274201767412388861877953980282415043569305516501060655785880723024612150783244098215386155774483551057011665347743781009384275881917003368110721250607908271384412596579713159604294071428179734898161294318708549638983239122219509361938783378540296811993051088671478028300381136679816872564727590005658657817404753178572062953999902684282468511528478188256179640102032892552703207095186865312594402468082578971786621077443344826469109823217870832785050868892762534739200073547466795896596224366679728422716262267307978698409959326240373877940583987291024946316471847663570553664806793461126931694713458027690362787951361322525755075742155776584844811686313464841059206353689916484254179829687675737837096040175777744379166590647694013577068892401061921402653602620893040116302354554521497129603039091613003566745015254588527745322966229833411418885781986255123176622998414395220612761170828945968593554801856304800826267130095999772507531139365304263474851927161306367453482346465425331064746787897104852927828788033975490562908066561868403788550812332774801474803120249425071415936445971206918742253748149874599565100035198365147657015480272013489768916079674995914699044735383222333408806928573856704813031013658172038975285437182071240268926640725063240374868822216064068887172372981291436224239352307157880723208413327872269068114913593662898440987578276291387903709229950740153308776964660208498257276875023793418275446051917680439604203855832584938595083984323663974221885038285497010870063211929223455604534832609623348315802691679292087821784063688161048784537612922072656624922890116697838277614777124226404182205547851766020441250074747764567239913364064308313518051087270165064743106406164356247819051157222449243529483145239314084934602621262460457604249219178873614401576190818211185393300637733699099105009361556793301757538884523025308487015091774283128288306021260221717481590262774839618829885514571363325617144844390514103350404157578617341030784204635740800826013310388819706612155196158649785081014695311367822025025446737516311361237753424664193156201278029686928055340026623195189646440423868702953922488071995325923096340651232154984059988157120883720472552426789528801226056665082225123 96195329708707317456881061907617258648423381532645687394805996667015572250896295246927674463103696845425931791815285932067079308443035913730311545079947163023551770514909757608289687521087414182738160486100658513644672756753273208632116887477274402010934051689947179346799649097399964880217861909407667940967921822775784864245912425087400667405974216098832022631173954443403266249603472679241699366664024887026113922320146656474032758295691771601489815501830686352638577412579203034450347528776648991811181706361624979293130000248059945931256609570668411237672694614418022858193599655724734203441162240835703907920276939407463634719896480534012418481151048455324624451254067055629804774901671530802295390901935595345093823808680220866900325572930250494092696532692365385919209896630522112392051581482442138361168113089690292938830540589961204237068441338238529016849655783687577818548984339466101329151839264494552017547377845671014411669951938882770515325856268568654836008185399935131218711313169804135444677837408251353281655564933523455889982866086727841320911561264828994070039612698843241277776628589038543758473924124102960289856331320805117600582376131441954765973057699458180792310560219647494383961581066667750242916691553295039159738056181104409725208955808716406736190659074190451957207831565217289381122397131478877942557700957728812159124948597458373516583669852352244322370427844421928873936680946184725610915742287394155670223902842770227158160831630089843529246066907109751663094924270603888080315528988618493617006777868661777189765072196679891607372145176413150230988632882411613616551075708455715554102721474178812652947294003828014976894116257648388160895874176328521379740245270955101718946430499178507793936711164119170188656909969009211696598972544054151737223363718688810220605818162331663343784835697338729070972365398538873059015820528744619873098426845904577299613602306353121599199487064012625470546075799699275625839389761744910085135273319708899311803480617610906200869089510554149102644238107568941932684874589623836336255774207176881255040481195187640212363934048468754134098860976249343089893689322674137814321463329073273158423520367394288882918056404461483664199887873946852415776879247749169549018826640556673519974989194638352110332049474204376299197413216799 155647313027690961359440538726735662661139717222964927678799808145924850119334509468946106737305464257814793669769266214482122877748552414790967330960670187635702553759007972994445462004638471194403508229881667897920554673756641319353367495385545786423530631403106783640871077277134863041512180617957306924207044042285146803029290965384212660457062887576860323012310634260275830977193478337899516771417203459089067922222830938942544286773880027781129917534723239055845672599444515628852815611355620778432259149706451448402953218118892730982125502333203150437746242081213919454417966335453156919703429548814402317879603179781341575303883771558958734952998712025878289258047528182561499488359699221165083342263258121100169565964456805711712011886395091553299050222608849640099039584306259949488091757260186517527758760783703870007722941651882606890671062231278645319204210305184707421588075952469668074167093853022297340513607679082433297451938194005947138324270663789267597179014345903724773513169474604961711807933408023860812794930237786930741910027393095294803258026690160058816827509803696169106564662564529106666540485992506748840668664095606592403702625556513370702419028906376923046058710094247059483996779431815407258396963566784808075817731177019108769944339031049815543119232930895264988221489737256264666559579202719146869198426020969187027947164661527260688956651143788468561722735002302652082350008818453793725829335950292596657802179134158130867390782370243152306210727115608008939969948064022163526367446669058097820862610453600372273749395860654113492410430673424020294200562105867218151383685331804031356794400766266634437010982164876799514507038330305013083785990874166798994517369497359283924494282265198949044011458928686410102020974277322729747686242709118894843629528074936629271763040611575192826930075011423663673593627858996477308234999402359021449289245057089970600251336005452226608561043857314383009430598825007762640931164044873198391156533541426380902066255457229736086383660873879766247488628621672292336842453206964867120460409947977707268350870014894252367560092698253835148794172344071368115340426838985499052074887993266429359701550054322344222944679599651130104623756576900774903848874573672265889670058795540733508132110078358824662758839003005602355862495441922 251842642736398278816321600634352921309563098755610615073605804812940422370230804715873781200409161103240725461584552146549202186191588328521278876040617350659254324273917730602735149525725885377141668715982326411565227430509914527985484382862820188434464683093053962987670726374534827921730042527364974865174965865060931667275203390471613327863037103675692345643484588703679097226796951017141216138081228346115181844542977595416577045069571799382619733036553925408484250012023718663303163140132269770243440856068076427696083218366952676913382111903871561675418936695631942312611565991177891123144591789650106225799880119188805210023780252092971153434149760481202913709301595238191304263261370751967378733165193716445263389773137026578612337459325342047391746755301215026018249480936782061880143338742628655888926873873394162946553482241843811127739503569517174336053866088872285240137060291935769403318933117516849358060985524753447709121890132888717653650126932357922433187199745838855992224482644409097156485770816275214094450495171310386631892893479823136124169587954989052886867122502539410384341291153567650425014410116609709130524995416411710004285001687955325468392086605835103838369270313894553867958360498483157501313655120079847235555787358123518495153294839766222279309892005085716945429321302473554047681976334198024811756126978697999187072113258985634205540320996140712884093162846724580956286689764638519336745078237686752328026081976928358025551614000332995835456794022717760603064872334626051606682975657676591437869388322262149463514468057334005099782575849837170525189194988278831767934761040259746910897122240445447089958276168704814491401154587953401244681865050495320374257614768314385643440712764377456837948170092805580290677884246331941444285215253173046580852891793625439492368858773906856170714910708762392744565993257535350367250819931103641322387671902994547899864938311805348207760530921327008479976674624707038266770553806618108476291806861135280213869736074840642287252750384433915350132866729241234269527327796588703456716184155154588523391351210081892579924026746722589282893033320320711205234116161659636866396351322339702518125070421716633105862736004112613768823644450847627319625753821421435438688885436097407028107099272997176773090888477209978655059908658721 407489955764089240175762139361088583970702815978575542752405612958865272489565314184819887937714625361055519131353818361031325063940140743312246207001287538294956878032925703597180611530364356571545176945863994309485782104266555847338851878248365974857995314496160746628541803651669690963242223145322281789382009907346078470304494355855825988320099991252552668655795222963954928203990429355040732909498431805204249766765808534359121331843451827163749650571277164464329922611468234292155978751487890548675700005774527876099036436485845407895507614237074712113165178776845861767029532326631048042848021338464508543679483298970146785327664023651929888387148472507081202967349123420752803751621069973132462075428451837545432955737593832290324349345720433600690796977910064666117289065243042011368235096002815173416685634657098032954276423893726418018410565800795819655258076394056992661725136244405437477486026970539146698574593203835881006573828326894664791974397596147190030366214091742580765737652119014058868293704224299074907245425409097317373802920872918430927427614645149111703694632306235579490905953718096757091554896109116457971193659512018302407987627244468696170811115512212026884427980408141613351955139930298564759710618686864655311373518535142627265097633870816037822429124935980981933650811039729818714241555536917171680954552999667186215019277920512894894496972139929181445815897849027233038636698583092313062574414187979348985828261111086488892942396370576148141667521138325769543034820398648215133050422326734689258731998775862521737263863917988118592193006523261190819389757094146049919318446372063778267691523006712081526969258333581614005908192918258414328467855924662119368774984265673669567934995029576405881959629021491990392698858523654671191971457962291941424482419868562068764131899385482048997644985720186056418159621116531827675485819333462662771676916960084518500116274317257574816321574778641391489407273449714800907701717851491306867448340402561661115935991532070378373636411258313681597621495350913526606369781003553570577176594103132295791742221224976144947484119444976424431687205664392079320574543000645135918471239315606131877826620476038977328807415603763743873447401027748402223474628395093701328358944231638140536239209351356001435849727480215581010922404100643 659332598500487518992083739995441505280265914734186157826011417771805694859796118900693669138123786464296244592938370507580527250131729071833525083041904888954211202306843434199915761056090241948686845661846320721051009534776470375324336261111186163292459997589214709616212530026204518884972265672687256654556975772407010137579697746327439316183137094928245014299279811667634025430787380372181949047579660151319431611308786129775698376913023626546369383607831089872814172623491952955459141891620160318919140861842604303795119654852798084808889726140946273788584115472477804079641098317808939165992613128114614769479363418158951995351444275744901041821298232988284116676650718658944108014882440725099840808593645553990696345510730858868936686805045775648082543733211279692135538546179824073248378434745443829305612508530492195900829906135570229146150069370312993991311942482929277901862196536341206880804960088055996056635578728589328715695718459783382445624524528505112463553413837581436757962134763423156024779475040574289001695920580407704005695814352741567051597202600138164590561754808774989875247244871664407516569306225726167101718654928430012412272628932424021639203202118047130722797250722036167219913500428781722261024273806944502546929305893266145760250928710582260101739016941066698879080132342203372761923531871115196492710679978365185402091391179498529100037293136069894329909060695751813994923388347730832399319492425666101313854343088014846918494010370909143977124315161043530146099692733274266739733397984411280696601387098124671200778331975322123691975582373098361344578952082424881687253207412323525178588645247157528616927534502286428497309347506211815573149720975157439743032599033988055211375707793953862719907799114297570683376742769986612636256673215464988005335311662187508256500758159388905168359896428948449162725614374067178042736639264566304094064588863079066399981212629062923024082105699968399969383948074421839174472271658109415343740147263696941329805727606911020660889161642747596947754362080154760875897108800142274033892778258286884315133572435058037527408146191699013714580238984712790525808659162304772784867590637945834395951690897755610434670151607876357642271045478596029543100382216515136767047829667735547564346308624353178208940615957425559665982312759364 1066822554264576759167845879356530089250968730712761700578417030730670967349361433085513557075838411825351763724292188868611852314071869815145771290043192427249168080339769137797096372586454598520232022607710315030536791639043026222663188139359552138150455312085375456244754333677874209848214488818009538443938985679753088607884192102183265304503237086180797682955075034631588953634777809727222681957078091956523681378074594664134819708756475453710119034179108254337144095234960187247615120643108050867594840867617132179894156091338643492704397340378020985901749294249323665846670630644439987208840634466579123313158846717129098780679108299396830930208446705495365319643999842079696911766503510698232302884022097391536129301248324691159261036150766209248773340711121344358252827611422866084616613530748259002722298143187590228855106330029296647164560635171108813646570018876986270563587332780746644358290987058595142755210171932425209722269546786678047237598922124652302493919627929324017523699786882437214893073179264873363908941345989505021379498735225659997979024817245287276294256387115010569366153198589761164608124202334842625072912314440448314820260256176892717810014317630259157607225231130177780571868640359080287020734892493809157858302824428408773025348562581398297924168141877047680812730943381933191476165087408032368173665232978032371617110669100011423994534265275999075775724958544779047033560086930823145461893906613645450299682604199101335811436406741485292118791836299369299689134513131922481872783820311145969955333385873987192938042195893310242284168588896359552163968709176570931606571653784387303446280168253869610143896792835868042503217540424470229901617576899819559111807583299661724779310702823530268601867428135789561076075601293641283828228131177756929429817731530749577020632657544870954166004882149134505580885235490599005718222458598028966865741505823163584900097486946320497840403680478609791458791221524136640082173989509600722211188487666258602445741719138981399034525572901061278545375857431068287482266889803695844611069372361419180106875793660034182474892265636675438146267444649104869846383202162949908703338829953551966273778311373794587763477567211640101515718446506344431766575010611608838095406773899373688100585517975709179644790343437641140676904716860007 1726155152765064278159929619351971594531234645446947858404428448502476662209157551986207226213962198289648008317230559376192379564203598886979296373085097316203379282646612571997012133642544840468918868269556635751587801173819496597987524400470738301442915309674590165860966863704078728733186754490696795098495961452160098745463889848510704620686374181109042697254354846299222979065565190099404631004657752107843112989383380793910518085669499080256488417786939344209958267858452140203074262534728211186513981729459736483689275746191441577513287066518967259690333409721801469926311728962248926374833247594693738082638210135288050776030552575141731972029744938483649436320650560738641019781385951423332143692615742945526825646759055550028197722955811984896855884444332624050388366157602690157864991965493702832027910651718082424755936236164866876310710704541421807637881961359915548465449529317087851239095947146651138811845750661014538437965265246461429683223446653157414957473041766905454281661921645860370917852654305447652910637266569912725385194549578401565030622019845425440884818141923785559241400443461425572124693508560568792174630969368878327232532885109316739449217519748306288330022481852213947791782140787862009281759166300753660405232130321674918785599491291980558025907158818114379691811075724136564238088619279147564666375912956397557019202060279509953094571558412068970105634019240530861028483475278553977861213399039311551613536947287116182729930417112394436095916151460412829835234205865196748612517218295557250651934772972111864138820527868632365976144171269457913508547661258995813293824861196710828624868813501027138760824327338154471000526887930682045474767297874976998854840182333649779990686410617484131321775227250087131759452344063627896464484804393221917435153043192937085277133415704259859334364778578082954743610849864666183760959097862595270959806094686242651300078699575383420864485786178578191428175169598558479256646261167710137554928634929955543775547446745892419695414734543808875493130219511223048358163998603838118644962150619706064422009366095092220002300411828374451860847683633817660372191861325254681488206420591497800669730002271550198198147718819516459157989491984940461309675392828123974862454603567109235664931826600062357853730959395066700342887029619371 2792977707029641037327775498708501683782203376159709558982845479233147629558518985071720783289800610114999772041522748244804231878275468702125067663128289743452547362986381709794108506228999438989150890877266950782124592812862522820650712539830290439593370621759965622105721197381952938581401243308706333542434947131913187353348081950693969925189611267289840380209429880930811932700342999826627312961735844064366794367457975458045337794425974533966607451966047598547102363093412327450689383177836262054108822597076868663583431837530085070217684406896988245592082703971125135772982359606688913583673882061272861395797056852417149556709660874538562902238191643979014755964650402818337931547889462121564446576637840337062954948007380241187458759106578194145629225155453968408641193769025556242481605496241961834750208794905672653611042566194163523475271339712530621284451980236901819029036862097834495597386934205246281567055922593439748160234812033139476920822368777809717451392669696229471805361708528297585810925833570321016819578612559417746764693284804061563009646837090712717179074529038796128607553642051186736732817710895411417247543283809326642052793141286209457259231837378565445937247712982391728363650781146942296302494058794562818263534954750083691810948053873378855950075300695162060504542019106069755714253706687179932840041145934429928636312729379521377089105823688068045881358977785309908062043562209377123323107305652957001913219551486217518541366823853879728214707987759782129524368718997119230485301038606703220607268158846099057076862723761942608260312760165817465672516370435566744900396514981098132071148981754896748904721120174022513503744428355152275376384874774796557966647765633311504769997113441014399923642655385876692835527945357269180292712935570978846864970774723686662297766073249130813500369660727217460324496085355265189479181556460624237825547600509406236200176186521703918704889466657187982886966391122695119338820250677310859766117122596214146221289165884873818729940307444870154038506076942291335840430888407533963256031522981125244528885159755126402477192677465049890007115128282922530218575063488204590191545250545049766943508313645344785961625286031156560673707938491284893076250403439732812957861377466482923765517344575771537498521302832707841019791746479378 4519132859794705315487705118060473278313438021606657417387273927735624291767676537057928009503762808404647780358753307620996611442479067589104364036213387059655926645632994281791120639871544279458069759146823586533712393986682019418638236940301028741036285931434555787966688061086031667314587997799403128640930908584073286098811971799204674545875985448398883077463784727230034911765908189926031943966393596172209907356841356251955855880095473614223095869752986942757060630951864467653763645712564473240622804326536605147272707583721526647730971473415955505282416113692926605699294088568937839958507129655966599478435266987705200332740213449680294874267936582462664192285300963556978951329275413544896590269253583282589780594766435791215656482062390179042485109599786592459029559926628246400346597461735664666778119446623755078366978802359030399785982044253952428922333941596817367494486391414922346836482881351897420378901673254454286598200077279600906604045815430967132408865711463134926087023630174157956728778487875768669730215879129330472149887834382463128040268856936138158063892670962581687848954085512612308857511219455980209422174253178204969285326026395526196708449357126871734267270194834605676155432921934804305584253225095316478668767085071758610596547545165359413975982459513276440196353094830206319952342325966327497506417058890827485655514789659031330183677382100137015986992997025840769090527037487931101184320704692268553526756498773333701271297240966274164310624139220194959359602924862315979097818256902260471259202931818210921215683251630574974236456931435275379181064031694562558194221376177808960696017795255923887665545447512176984504271316285834320851152172649773556821487947966961284760683524058498531245417882635963824594980289420897076757197739964200764300123817916623747574899488953390672834734439305300415068106935219931373240140654323219508785353695195648887500254886097087339569375252835766174315141560721253598595466511845020997321045757526169689996836612630766238425355041988679029531636296453514384198594887011372081900993673600831308950894525850218622479493089293424341867962811916740190590766924813459271679751671136547567613238315916894984159773004850673019831697430476225354385925796267856787820315981033592159430449171175833895352252262227774541362678776098749 7312110566824346352815480616768974962095641397766366976370119406968771921326195522129648792793563418519647552400276055865800843320754536291229431699341676803108474008619375991585229146100543718447220650024090537315836986799544542239288949480131319180629656553194521410072409258467984605895989241108109462183365855715986473452160053749898644471065596715688723457673214608160846844466251189752659256928129440236576701724299331710001193674521448148189703321719034541304162994045276795104453028890400735294731626923613473810856139421251611717948655880312943750874498817664051741472276448175626753542181011717239460874232323840122349889449874324218857776506128226441678948249951366375316882877164875666461036845891423619652735542773816032403115241168968373188114334755240560867670753695653802642828202957977626501528328241529427731978021368553193923261253383966483050206785921833719186523523253512756842433869815557143701945957595847894034758434889312740383524868184208776849860258381159364397892385338702455542539704321446089686549794491688748218914581119186524691049915694026850875242967200001377816456507727563799045590328930351391626669717536987531611338119167681735653967681194505437180204517907816997404519083703081746601886747283889879296932302039821842302407495599038738269926057760208438500700895113936276075666596032653507430346458204825257414291827519038552707272783205788205061868351974811150677152570599697308224507428010345225555439976050259551219812664064820153892525332126979977088883971643859435209583119295508963691866471090664309978292545975392517582496769691601092844853580402130129303094617891158907092767166777010820636570266567686199498008015744640986596227537047424570114788135713600272789530680637499512931169060538021840517430508234778166257049910675535179611165094592640310409872665562202521486335104100032517875392603020575196562719322210783843746610901295705055123700431072618791258274264719492954157202107951843948717934286762522331857087162880122383836218125778515640057155295349433549183570142373395805720039025775418906045157025196581956553479779685605345024956685766758474231875077940199662720809341988301663861871296921681597334556746629562239770121398290881829580505405368967510247462176199707589600778177358500075083195966515751605432850773565060482382382470522578127 11831243426619051668303185734829448240409079419373024393757393334704396213093872059187576802297326226924295332759029363486797454763233603880333795735555063862764400654252370273376349785972087997905290409170914123849549380786226561657927186420432347921665942484629077198039097319554016273210577238907512590824296764300059759550972025549103319016941582164087606535136999335390881756232159379678691200894523036408786609081140687961957049554616921762412799191472021484061223624997141262758216674602965208535354431250150078958128847004973138365679627353728899256156914931356978347171570536744564593500688141373206060352667590827827550222190087773899152650774064808904343140535252329932295834206440289211357627115145006902242516137540251823618771723231358552230599444355027153326700313622282049043174800419713291168306447688153182810345000170912224323047235428220435479129119863430536554018009644927679189270352696909041122324859269102348321356634966592341290128913999639743982269124092622499323979408968876613499268482809321858356280010370818078691064468953568987819090184550962989033306859870963959504305461813076411354447840149807371836091891790165736580623445194077261850676130551632308914471788102651603080674516625016550907471000508985195775601069124893600913004043144204097683902040219721714940897248208766482395618938358619834927852875263716084899947342308697584037456460587888342077855344971836991446243097637185239325691748715037494108966732549032884921083961305786428056835956266200172048243574568721751188680937552411224163125674022482520899508229227023092556733226623036368224034644433824691861288839267336716053463184572266744524235812015198376482512287060926820917078689220074343671609623661567234074291364161558011462414478420657804342025488524199063333807108415499380375465218410556934157447565051155912159169838539337818290460709955795127935959462865107063255396254990900704011200685958715878597843639972328720331517249512565202316529753274367352854408208637648553526214962391146406295580650391422228213101778669849320104237620662430278127058018870182787862430674211455563647436178856051898573743040752116402911400108913115123133551048592818144902169984945479134754281171295732502600337102799443735601848101995975446388598493339533667242626415686927439328203025827288256923745149298676876 19143353993443398021118666351598423202504720817139391370127512741673168134420067581317225595090889645443942885159305419352598298083988140171563227434896740665872874662871746264961578932072631716352511059195004661165386367585771103897216135900563667102295599037823598608111506578022000879106566480015622053007662620016046233003132079299001963488007178879776329992810213943551728600698410569431350457822652476645363310805440019671958243229138369910602502513191056025365386619042418057862669703493365943830086058173763552768984986426224750083628283234041843007031413749021030088643846984920191347042869153090445521226899914667949900111639962098118010427280193035346022088785203696307612717083605164877818663961036430521895251680314067856021886964400326925418713779110267714194371067317935851686003003377690917669834775929682610542323021539465418246308488812186918529335905785264255740541532898440436031704222512466184824270816864950242356115069855905081673653782183848520832129382473781863721871794307579069041808187130767948042829804862506826909979050072755512510140100244989839908549827070965337320761969540640210400038169080158763462761609327153268191961564361758997504643811746137746094676306010468600485193600328098297509357747792875075072533371164715443215411538743242835953828097979930153441598143322702758471285534391273342358199333468541342314239169827736136744729243793676547139723696946648142123395668236882547550199176725382719664406708599292436140896625370606581949361288393180149137127546212581186398264056847920187854992145113146830877800775202415610139229996314637461068888224835954821164383457158495623146230351349277565160806078582884575980520302805567807513306226267498913786397759375167506863822044799057524393583538958679644859455996758977229590857019091034559986630313003197244567320230613358433645504942639370336165853312976370324498678785075890907002007156286605759134901117031334669856117904691821674488719357464409151034464040036889684711495371517770937362433088169662046352735945740855777396671921043245125824276646437849184172215044066764744415910453897060908672392864622810372805618118692316065632209450901416786995422345514499742236726731575041374524402569586614332180842508168411245849310278195683035989376670698033742325822382202679044761053799392348739306127619821255003 30974597420062449689421852086427871442913800236512415763884906076377564347513939640504802397388215872368238217918334782839395752847221744051897023170451804528637275317124116538337928718044719714257801468365918785014935748371997665555143322320996015023961541522452675806150603897576017152317143718923134643831959384316105992554104104848105282504948761043863936527947213278942610356930569949110041658717175513054149919886580707633915292783755291673015301704663077509426610244039559320620886378096331152365440489423913631727113833431197888449307910587770742263188328680378008435815417521664755940543557294463651581579567505495777450333830049872017163078054257844250365229320456026239908551290045454089176291076181437424137767817854319679640658687631685477649313223465294867521071380940217900729177803797404208838141223617835793352668021710377642569355724240407354008465025648694792294559542543368115220974575209375225946595676134052590677471704822497422963782696183488264814398506566404363045851203276455682541076669940089806399109815233324905601043519026324500329230284795952828941856686941929296825067431353716621754486009229966135298853501117319004772585009555836259355319942297770055009148094113120203565868116953114848416828748301860270848134440289609044128415581887446933637730138199651868382495391531469240866904472749893177286052208732257427214186512136433720782185704381564889217579041918485133569638765874067786875890925440420213773373441148325321061980586676393010006197244659380321185371120781302937586944994400331412018117819135629351777309004429438702695963222937673829292922869269779513025672296425832339199693535921544309685041890598082952463032589866494628430384915487573257458007383036734740938113408960615535855998017379337449201481485283176292924664127506533940362095531413754178724767795664514345804674781178708154456314022932165452434638247940997970257403411277506463146101802990050548453961544664150394820236606976974353350993793311257037565903580155419490888648050560808452648316596132278005609773699713094445928514267100279462299273062936947532278341128108516472319829043478862271379361159444432468543609559814531910128973394107317887138896716520520509278683740882346834781179610967854981451158380191658482377975164037567409568448797889606484089256825219636996229872769119931879 50117951413505847710540518438026294645418521053651807134012418818050732481934007221822027992479105517812181103077640202191994050931209884223460250605348545194510149979995862803299507650117351430610312527560923446180322115957768769452359458221559682126257140560276274414262110475598018031423710198938756696839622004332152225557236184147107245992955939923640266520757427222494338957628980518541392116539827989699513230692020727305873536012893661583617804217854133534791996863081977378483556081589697096195526547597677184496098819857422638532936193821812585270219742429399038524459264506584947287586426447554097102806467420163727350445470011970135173505334450879596387318105659722547521268373650618966994955037217867946033019498168387535662545652032012403068027002575562581715442448258153752415180807175095126507975999547518403894991043249843060815664213052594272537800931433959048035101075441808551252678797721841410770866492999002833033586774678402504637436478367336785646527889040186226767722997584034751582884857070857754441939620095831732511022569099080012839370385040942668850406514012894634145829400894356832154524178310124898761615110444472272964546573917595256859963754043907801103824400123588804051061717281213145926186496094735345920667811454324487343827120630689769591558236179582021824093534854171999338190007141166519644251542200798769528425681964169857526914948175241436357302738865133275693034434110950334426090102165802933437780149747617757202877212046999591955558533052560470322498666993884123985209051248251599873109964248776182655109779631854312835193219252311290361811094105734334190055753584327962345923887270821874845847969180967528443552892672062435943691141755072171244405142411902247801935453759673060249581556338017094060937482042153522515521146597568500348725844416951423292088026277872779450179723818078490622167335908535776933317033016888877259410567564112222281002920021385218310079449355972069308955964441383504385457833348146722277398951673190428251081138730470499001052541873133783006445620756339571752790913538128646471488107003712276694251582005577380992221908101672644184979278136748534175819010715948697124395739621817629375623448095561883803086310468961166962022119136266227300468658387341518367351834735601151894271180092285528850310624611985735536000388941186882 81092548833568297399962370524454166088332321290164222897897324894428296829447946862326830389867321390180419320995974985031389803778431628275357273775800349723147425297119979341637436368162071144868113995926842231195257864329766435007502780542555697150218682082728950220412714373174035183740853917861891340671581388648258218111340288995212528497904700967504203048704640501436949314559550467651433775257003502753663150578601434939788828796648953256633105922517211044218607107121536699104442459686028248560967037021590816223212653288620526982244104409583327533408071109777046960274682028249703228129983742017748684386034925659504800779300061842152336583388708723846752547426115748787429819663696073056171246113399305370170787316022707215303204339663697880717340226040857449236513829198371653144358610972499335346117223165354197247659064960220703385019937293001626546265957082653840329660617985176666473653372931216636717462169133055423711058479500899927601219174550825050460926395606590589813574200860490434123961527010947560841049435329156638112066088125404513168600669836895497792263200954823930970896832248073453909010187540091034060468611561791277737131583473431516215283696341677856112972494236709007616929834234327994343015244396595616768802251743933531472242702518136703229288374379233890206588926385641240205094479891059696930303750933056196742612194100603578309100652556806325574881780783618409262673199985018121301981027606223147211153590895943078264857798723392601961755777711940791507869787775187061572154045648583011891227783384405534432418784061293015531156442189985119654733963375513847215728050010160301545617423192366184530889859779050480906585482538557064374076057242645428702412525448636988740048862720288596105579573717354543262418967325329815440185274104102440710821375830705602016855821942387125254854504996786645078481358840701229367955280957886847516813978841618685427104723011435766764040994020122464129192571418357857736451626659403759843302531828609919139729189291278951649369138005411788616219320469434017681305180638408108770761169940659808972592710114093853312050951580534915564340437581181002719428570530480607253369133729135516514520164616082393081770051351308001743201730104121208751627038579000000745326998773168561462719977981892012939567449831622731765873158061118761 131210500247074145110502888962480460733750842343816030031909743712479029311381954084148858382346426907992600424073615187223383854709641512498817524381148894917657575277115842144936944018279422575478426523487765677375579980287535204459862238764115379276475822643005224634674824848772053215164564116800648037511203392980410443668576473142319774490860640891144469569462067723931288272188530986192825891796831492453176381270622162245662364809542614840250910140371344579010603970203514077587998541275725344756493584619268000719311473146043165515180298231395912803627813539176085484733946534834650515716410189571845787192502345823232151224770073812287510088723159603443139865531775471334951088037346692023166201150617173316203806814191094750965749991695710283785367228616420030951956277456525405559539418147594461854093222712872601142650108210063764200684150345595899084066888516612888364761693426985217726332170653058047488328662132058256744645254179302432238655652918161836107454284646776816581297198444525185706846384081805315282989055424988370623088657224484526007971054877838166642669714967718565116726233142430286063534365850215932822083722006263550701678157391026773075247450385585657216796894360297811667991551515541140269201740491330962689470063198258018816069823148826472820846610558815912030682461239813239543284487032226216574555293133854966271037876064773435836015600732047761932184519648751684955707634095968455728071129772026080648933740643560835467735010770392193917314310764501261830368454769071185557363096896834611764337747633181717087528563693147328366349661442296410016545057481248181405783803594488263891541310463188059376737828960018009350138375210619500317767198997717599946817667860539236541984316479961656355161130055371637323356449367483337955706420701670941059547220247657025308943848220259904705034228814865135700648694749237006301272313974775724776224546405730907708107643032820985074120443376094533438148535859741362121909460007550482120701483501800347390810328021749450650421679878545571622664941225773589434096094176536755242249276944372085666844292119671234304272859682207559749319715717929536895247581246429304377764873350953145890143612711644276884856361820269168705223849240387436052095696966341519112678833508769713356991158074177541789878074443608467301873547002305643 212303049080642442510465259486934626822083163633980252929807068606907326140829900946475688772213748298173019745069590172254773658488073140774174798156949244640805000574235821486574380386441493720346540519414607908570837844617301639467365019306671076426694504725734174855087539221946088398905418034662539378182784781628668661779916762137532302988765341858648672618166708225368237586748081453844259667053834995206839531849223597185451193606191568096884016062888555623229211077325050776692441000961753593317460621640858816942524126434663692497424402640979240337035884648953132445008628563084353743846393931589594471578537271482736952004070135654439846672111868327289892412957891220122380907701042765079337447264016478686374594130213801966268954331359408164502707454657277480188470106654897058703898029120093797200210445878226798390309173170284467585704087638597525630332845599266728694422311412161884199985543584274684205790831265113680455703733680202359839874827468986886568380680253367406394871399305015619830807911092752876124038490754145008735154745349889039176571724714733664434932915922542496087623065390503739972544553390306966882552333568054828438809740864458289290531146727263513329769388597006819284921385749869134612216984887926579458272314942191550288312525666963176050134984938049802237271387625454479748378966923285913504859044066911163013650070165377014145116253288854087507066300432370094218380834080986577030052157378249227860087331539503913732592809493784795879070088476442053338238242544258247129517142545417623655565531017587251519947347754440343897506103632281529671279020856762028621511853604648565437158733655554243907627688739068490256723857749176564691843256240363028649230193309176225282033179200250252460740703772726180585775416692813153395891694805773381770368596078362627325799670162647029959888733811651780779130053589938235669227594932662572293038525247349593135212366044256751838161437396216997567341107278099219858361086666954241964004015330410266530539517313028402299790817883957360238884261695207607115401274814944864013010446885031894639437002233765087616323811262742475313660153299110539614676151776909911631134007080088662404663777327726669966626413171577170448425579344508644803722735545341519858005832281938274819711136056069554729445524275231199067746705063424404 343513549327716587620968148449415087555834005977796282961716812319386355452211855030624547154560175206165620169143205359478157513197714653272992322538098139558462575851351663631511324404720916295824967042902373585946417824904836843927227258070786455703170327368739399489762364070718141614069982151463187415693988174609079105448493235279852077479625982749793142187628775949299525858936612440037085558850666487660015913119845759431113558415734182937134926203259900202239815047528564854280439542237478938073954206260126817661835599580706858012604700872375153140663698188129217929742575097919004259562804121161440258771039617305969103228840209466727356760835027930733032278489666691457331995738389457102503648414633652002578400944404896717234704323055118448288074683273697511140426384111422464263437447267688259054303668591099399532959281380348231786388237984193424714399734115879617059184004839147101926317714237332731694119493397171937200348987859504792078530480387148722675834964900144222976168597749540805537654295174558191407027546179133379358243402574373565184542779592571831077602630890261061204349298532934026036078919240522899704636055574318379140487898255485062365778597112849170546566282957304630952912937265410274881418725379257542147742378140449569104382348815789648870981595496865714267953848865267719291663453955512130079414337200766129284687946230150449981131854020901849439250820081121779174088468176955032758123287150275308509021072183064749200327820264176989796384399240943315168606697313329432686880239442252235419903278650768968607475911447587672263855765074577939687824078338010210027295657199136829328700044118742303284365517699086499606862232959796065009610455238080628596047861169715461824017495680211908815901833828097817909131866060296491351598115507444322829915816326019652634743518382906934664922962626516916479778748339175241970499908907438297069263071653080500843320009077077736912281880772311531005489643137840581980270546674504724084705498832210613921349845334777852950212497762502931861549202920981196549497368991481619255259723829403980306281294353436321920596670944950035062979869017040076509923733023339216008898880431041808294807390039370946851482774991846339153649428584896080855818432511683038970684665790707988176702294130247096519323598718839666369620252065730047 555816598408359030131433407936349714377917169611776535891523880926293681593041755977100235926773923504338639914212795531732931171685787794047167120695047384199267576425587485118085704791162410016171507562316981494517255669522138483394592277377457532129864832094473574344849903292664230012975400186125726793876772956237747767228409997417384380468391324608441814805795484174667763445684693893881345225904501482866855444969069356616564752021925751034018942266148455825469026124853615630972880543199232531391414827900985634604359726015370550510029103513354393477699582837082350374751203661003358003409198052751034730349576888788706055232910345121167203432946896258022924691447557911579712903439432222181841095678650130688952995074618698683503658654414526612790782137930974991328896490766319522967335476387782056254514114469326197923268454550632699372092325622790950344732579715146345753606316251308986126303257821607415899910324662285617656052721539707151918405307856135609244215645153511629371039997054556425368462206267311067531066036933278388093398147924262604361114504307305495512535546812803557291972363923437766008623472630829866587188389142373207579297639119943351656309743840112683876335671554311450237834323015279409493635710267184121606014693082641119392694874482752824921116580434915516505225236490722199040042420878798043584273381267677292298338016395527464126248107309755936946317120513491873392469302257941609788175444528524536369108403722568662932920629757961785675454487717385368506844939857587679816397381987669859075468809668356220127423259202028016161361868706859469359103099194772238648807510803785394765858777774296547191993206438154989863586090708972629701453711478443657245278054478891687106050674880462161276642537600823998494907282753109644747489810313217704600284412404382279960543188545553964624811696438168697258908801929113477639727503840100869362301596900430093978532375121334488750443318168528528572830750415939801838631633341458966048709514162620880451889362647806255250003315646460292100433464616188803664898643806426483268270170714435874945718296587201409536920482207692510376640022316150616124599884800249127640032887511130470699471167367097616818109188163423509602075007929404725659541168057024558828690498072646262996413430186316651248769122994070865437366957129154451 899330147736075617752401556385764801933751175589572818853240693245680037045253611007724783081334098710504260083356000891211088684883502447320159443233145523757730152276939148749597029195883326311996474605219355080463673494426975327321819535448243987833035159463212973834612267363382371627045382337588914209570761130846826872676903232697236457948017307358234956993424260123967289304621306333918430784755167970526871358088915116047678310437659933971153868469408356027708841172382180485253320085436711469465369034161112452266195325596077408522633804385729546618363281025211568304493778758922362262972002173912474989120616506094675158461750554587894560193781924188755956969937224603037044899177821679284344744093283782691531396019023595400738362977469645061078856821204672502469322874877741987230772923655470315308817783060425597456227735930980931158480563606984375059132313831025962812790321090456088052620972058940147594029818059457554856401709399211943996935788243284331920050610053655852347208594804097230906116501441869258938093583112411767451641550498636169545657283899877326590138177703064618496321662456371792044702391871352766291824444716691586719785537375428414022088340952961854422901954511616081190747260280689684375054435646441663753757071223090688497077223298542473792098175931781230773179085355989918331705874834310173663687718468443421583025962625677914107379961330657786385567940594613652566557770434896642546298731678799844878129475905633412133248450022138775471838886958328683675451637170917112503277621429922094495372088319125188734899170649615688425217633781437409046927177532782448676103168002922224094558821893038850476358724137241489470448323668768694711064166716524285841325915648607148930068170560674070092544371428921816404039148813406136099087925820662027430200228730401932595286706928460899289734659064685613738687550268288719610227412747539166431564668553510594821852384198412225662725198940840059578320393553780383818902180015963690133415012994831494373239207982584108200215813408963223961982667537170000214396012797908102523529894543839855251999590940637731457517153152642545439619891333190692634523617823588343648931767942172278994278557406468563669591963155269848755724436514300806515359600568707597799375163863354251173115724316563747768092721712910531806987209194884498 1455146746144434647883834964322114516311668345201349354744764574171973718638295366984825019008108022214842899997568796422944019856569290241367326563928192907956997728702526633867682733987045736328167982167536336574980929163949113810716411812825701519962899991557686548179462170656046601640020782523714641003447534087084574639905313230114620838416408631966676771799219744298635052750306000227799776010659669453393726803057984472664243062459585685005172810735556811853177867297235796116226200628635944000856783862062098086870555051611447959032662907899083940096062863862293918679244982419925720266381200226663509719470193394883381213694660899709061763626728820446778881661384782514616757802617253901466185839771933913380484391093642294084242021631884171673869638959135647493798219365644061510198108400043252371563331897529751795379496190481613630530572889229775325403864893546172308566396637341765074178924229880547563493940142721743172512454430938919095915341096099419941164266255207167481718248591858653656274578707709180326469159620045690155545039698422898773906771788207182822102673724515868175788294026379809558053325864502182632879012833859064794299083176495371765678398084793074538299237626065927531428581583295969093868690145913625785359771764305731807889772097781295298713214756366696747278404321846712117371748295713108217247961099736120713881363979021205378233628068640413723331885061108105525959027072692838252334474176207324381247237879628202075066169079780100561147293374675714052182296577028504792319675003417591953570840897987481408862322429851643704586579502488296878406030276727554687324910678806707618860417599667335397668351930575396479334034414377741324412517878194967943086603970127498836036118845441136231369186909029745814898946431566515780846577736133879732030484641134784212555829895474014863914546355502854310997596352197402197249954916587640035793866265453940688800384759319746714413168517109368588151151143969720185657533813357422656182124527157452374825128570630390363450219129055423516062416132153358803879294656604334585791800065258275730197717887527839140994437635360335055816259913649341308759123502623837471288964655453302749693749724773566180487701151318693358357799444443705532174900768625732156628065661936000514169529154502880399016861844706981397244354166324038949 2354476893880510265636236520707879318245419520790922173598005267417653755683548977992549802089442120925347160080924797314155108541452792688687486007161338431714727880979465782617279763182929062640164456772755691655444602658376089138038231348273945507795935151020899522014074438019428973267066164861303555213018295217931401512582216462811857296364425939324911728792644004422602342054927306561718206795414837423920598161146899588711921372897245618976326679204965167880886708469617976601479520714072655470322152896223210539136750377207525367555296712284813486714426144887505486983738761178848082529353202400575984708590809900978056372156411454296956323820510744635534838631322007117653802701795075580750530583865217696072015787112665889484980384609353816734948495780340319996267542240521803497428881323698722686872149680590177392835723926412594561689053452836759700462997207377198271379186958432221162231545201939487711087969960781200727368856140338131039912276884342704273084316865260823334065457186662750887180695209151049585407253203158101922996681248921534943452429072107060148692811902218932794284615688836181350098028256373535399170837278575756381018868713870800179700486425746036392722139580577543612619328843576658778243744581560067449113528835528822496386849321079837772505312932298477978051583407202702035703454170547418390911648818204564135464389941646883292341008029971071509717453001702719178525584843127734894880772907886124226125367355533835487199417529802239336619132261634042735857748214199421904822952624847514048066212986306606597597221600501259393011797136269734287452957454260337136001013846809629842954976421560374248144710654712637968804482738046510019123582044911492228927929885776105984966187016001810301461731280458667631302985580379921916945665661954541759460684869865186145151116602402475763204281014567539924736283902465690916860182329335179202225430934007451283622237143518158940075893716050208647729471537523500569476435993373386346315539540152283869198367778612974471650434942464386740024398799690528804093690669402242688315329959802115585449717478468476872451954788512977601255879804982532001393647120447425814937896423395475028688028282180034744157293114473963207113523880958006338690260369194439754427440825799354765342644878819444146784954566419891929051341375518923447 3809623640024944913520071485029993834557087865992271528342769841589627474321844344977374821097550143140190060078493593737099128398022082930054812571089531339671725609681992416484962497169974798968332438940292028230425531822325202948754643161099647027758835142578586070193536608675475574907086947385018196216465829305015976152487529692926478134780834571291588500591863748721237394805233306789517982806074506877314324964204884061376164435356831303981499489940521979734064575766853772717705721342708599471178936758285308626007305428818973326587959620183897426810489008749799405662983743598773802795734402627239494428061003295861437585851072354006018087447239565082313720292706789632270560504412329482216716423637151609452500178206308183569222406241237988408818134739475967490065761606165865007626989723741975058435481578119929188215220116894208192219626342066535025866862100923370579945583595773986236410469431820035274581910103502943899881310571277050135827617980442124214248583120467990815783705778521404543455273916860229911876412823203792078541720947344433717359200860314242970795485626734800970072909715215990908151354120875718032049850112434821175317951890366171945378884510539110931021377206643471144047910426872627872112434727473693234473300599834554304276621418861133071218527688665174725329987729049414153075202466260526608159609917940684849345753920668088670574636098611485233049338062810824704484611915820573147215247084093448607372605235162037562265586609582339897766425636309756788040044791227926697142627628265106001637053884294088006459544030352903097598376638758031165858987730987891823325924525616337461815394021227709645813062585288034448138517152424251343536099923106460172014533855903604821002305861442946532830918189488413446201932011946437697792243398088421491491169510999970357706946497876490627118827370070394235733880254663093114110137245922819238019297199461391972422621902837905654489062233159577235880622681493220755133969806730809002497664067309736244023496349243364835100654071519810256086814931843887607972985326006577274107130025060391315647435365996316013446392423873312657072139718631873310152770623071263286226861078848777778381778006953600924644994265792656565471323325401711870865161137820171911055506487735355279512174033322324545801816411126873326295695541842962396 6164100533905455179156308005737873152802507386783193701940775109007281230005393322969924623186992264065537220159418391051254236939474875618742298578250869771386453490661458199102242260352903861608496895713047719885870134480701292086792874509373592535554770293599485592207611046694904548174153112246321751429484124522947377665069746155738335431145260510616500229384507753143839736860160613351236189601489344301234923125351783650088085808254076922957826169145487147614951284236471749319185242056781254941501089654508519165144055806026498694143256332468710913524915153637304892646722504777621885325087605027815479136651813196839493958007483808302974411267750309717848558924028796749924363206207405062967247007502369305524515965318974073054202790850591805143766630519816287486333303846687668505055871047440697745307631258710106581050944043306802753908679794903294726329859308300568851324770554206207398642014633759522985669880064284144627250166711615181175739894864784828487332899985728814149849162965184155430635969126011279497283666026361894001538402196265968660811629932421303119488297528953733764357525404052172258249382377249253431220687391010577556336820604236972125079370936285147323743516787221014756667239270449286650356179309033760683586829435363376800663470739940970843723840620963652703381571136252116188778656636807944999071258736145248984810143862314971962915644128582556742766791064513543883010196758948308042096019991979572833497972590695873049465004139384579234385557897943799523897793005427348601965580253112620049703266870600694604056765630854162490610173775027765453311945185248228959326938372425967304770370442788083893957773240000672416942999890470761362659681968017952400942463741679710805968492877444756834292649469947081077504917592326359614737909060042963250951854380865156502858063100278966390323108384637934160470164157128784030970319575257998440244728133468843256044859046356064594564955949209785883610094219016721324610405800104195348813203607462020113221864127856339306751089013984196996111213731534416412066675995408819962422459984862506901097152844464792885898347212386290258328019523614405311546417743518689101164757502244252807069806289133635668802287380266619772584847206359718209555421507014611665482947313534710044854818912141768692586770977546765255347036917361885843 9973724173930400092676379490767866987359595252775465230283544950596908704327237667947299444284542407205727280237911984788353365337496958548797111149340401111058179100343450615587204757522878660576829334653339748116295666303026495035547517670473239563313605436178071662401147655370380123081240059631339947645949953827963353817557275848664813565926095081908088729976371501865077131665393920140754172407563851178549248089556667711464250243610908226939325659086009127349015860003325522036890963399489854412680026412793827791151361234845472020731215952652608340335404162387104298309706248376395688120822007655054973564712816492700931543858556162308992498714989874800162279216735586382194923710619734545183963431139520914977016143525282256623425197091829793552584765259292254976399065452853533512682860771182672803743112836830035769266164160201010946128306136969829752196721409223939431270354149980193635052484065579558260251790167787088527131477282892231311567512845226952701581483106196804965632868743705559974091243042871509409160078849565686080080123143610402378170830792735546090283783155688534734430435119268163166400736498124971463270537503445398731654772494603144070458255446824258254764893993864485900715149697321914522468614036507453918060130035197931104940092158802103914942368309628827428711558865301530341853859103068471607230868654085933834155897782983060633490280227194041975816129127324368587494808674768881189311267076073021440870577825857910611730590748966919132151983534253556311937837796655275299108207881377726051340320754894782610516309661207065588208550413785796619170932916236120782652862898042304766585764464015793539770835825288706865081517042895012706195781891124412572956997597583315626970798738887703367123567659435494523706849604272797312530152458131384742443023891865126860565009598155457017441935754708328396204044411791877145080456821180817678264025332930235228467480949193970249054018182369363119490716900509942079744375606835004351310867674771756357245360477099704141851743085504007252198028663378304020039661321415397236529590009922898216744588210461108899344739636259602915400159242246278621699188366589952387391618581093030585451584296087236593447281646059276338056170531761430080420582644834783576538453801270065324366992945464093238388587388673638581642732459204848239 16137824707835855271832687496505740140162102639558658932224320059604189934332630990917224067471534671271264500397330375839607602276971834167539409727591270882444632591004908814689447017875782522185326230366387468002165800783727787122340392179846832098868375729777557254608758702065284671255393171877661699075434078350910731482627022004403148997071355592524588959360879255008916868525554533491990362009053195479784171214908451361552336051864985149897151828231496274963967144239797271356076205456271109354181116067302346956295417040871970714874472285121319253860319316024409190956428753154017573445909612682870452701364629689540425501866039970611966909982740184518010838140764383132119286916827139608151210438641890220501532108844256329677627987942421598696351395779108542462732369299541202017738731818623370549050744095540142350317108203507813700036985931873124478526580717524508282595124704186401033694498699339081245921670232071233154381643994507412487307407710011781188914383091925619115482031708889715404727212168882788906443744875927580081618525339876371038982460725156849209772080684642268498787960523320335424650118875374224894491224894455976287991593098840116195537626383109405578508410781085500657382388967771201172824793345541214601646959470561307905603562898743074758666208930592480132093130001553646530632515739876416606302127390231182818966041645298032596405924355776598718582920191837912470505005433717189231407287068052594274368550416553783661195594888351498366537541432197355835835630802082623901073788134490346101043587625495477214573075292061228078818724188813562072482878101484349741979801270468272071356134906803877433728609065289379282024516933365774068855463859142364973899461339263026432939291616332460201416217129382575601211767196599156927268061518174347993394878272730283363423072698434423407765044139346262556674208568920661176050776396438816118508753466399078484512339995550034843618974131579149003100811119526663404354781406939199700124071282233776470467224604956043448602832099488204248309242394912720432106337316824217198952049994785405117841741054925901785243086848645893173728178765860683933245606110108641488556376083337283392521390585220872262249569026325896110641017738121148289976004151849395242021401114804775369221811857605861930975358366220403836989769376566734082 26111548881766255364509066987273607127521697892334124162507865010201098638659868658864523511756077078476991780635242360627960967614468792716336520876931671993502811691348359430276651775398661182762155565019727216118461467086754282157887909850320071662181981165955628917009906357435664794336633231509001646721384032178874085300184297853067962562997450674432677689337250756873994000190948453632744534416617046658333419304465119073016586295475893376836477487317505402312983004243122793392967168855760963766861142480096174747446778275717442735605688237773927594195723478411513489266135001530413261566731620337925426266077446182241357045724596132920959408697730059318173117357499969514314210627446874153335173869781411135478548252369538586301053185034251392248936161038400797439131434752394735530421592589806043352793856932370178119583272363708824646165292068842954230723302126748447713865478854166594668746982764918639506173460399858321681513121277399643798874920555238733890495866198122424081114900452595275378818455211754298315603823725493266161698648483486773417153291517892395300055863840330803233218395642588498591050855373499196357761762397901375019646365593443260265995881829933663833273304774949986558097538665093115695293407382048668519707089505759239010543655057545178673608577240221307560804688866855176872486374842944888213532996044317116653121939428281093229896204582970640694399049319162281057999814108486070420718554144125615715239128242411694272926185637318417498689524966450912147773468598737899200181996015868072152383908380390259825089384953268293667027274602599358691653811017720470524632664168510576837941899370819670973499444890578086147106033976260786775051245750266777546856458936846342059910090355220163568539784788818070124918616800871954239798213976305732735837902164595410223988082296589880425206979894054590952878252980712538321131233217619633796772778799329313712979820944744005092672992313948512122591528020036605484099157013774204051434938957005532827712585082055747590454575184992211500507271058291024452145998638239614435481640004708303334586329265387010684587826484905496089128338008106962554944794476698593875947994664430313977972974881308108855696850672385172448697188269882578370396586796684178818559854916074840693588804803069955169363945754894042418632501835771582321 42249373589602110636341754483779347267683800531892783094732185069805288572992499649781747579227611749748256281032572736467568569891440626883875930604522942875947444282353268244966098793274443704947481795386114684120627267870482069280228302030166903761050356895733186171618665059500949465592026403386663345796818110529784816782811319857471111560068806266957266648698130011882910868716502987124734896425670242138117590519373570434568922347340878526733629315549001677276950148482920064749043374312032073121042258547398521703742195316589413450480160522895246848056042794435922680222563754684430835012641233020795878967442075871781782547590636103532926318680470243836183955498264352646433497544274013761486384308423301355980080361213794915978681172976672990945287556817509339901863804051935937548160324408429413901844601027910320469900380567216638346202278000716078709249882844272955996460603558352995702441481464257720752095130631929554835894765271907056286182328265250515079410249290048043196596932161484990783545667380637087222047568601420846243317173823363144456135752243049244509827944524973071732006356165908834015700974248873421252252987292357351307637958692283376461533508213043069411781715556035487215479927632864316868118200727589883121354048976320546916147217956288253432274786170813787692897818868408823403118890582821304819835123434548299472087981073579125826302128938747239412981969511000193528504819542203259652125841212178209989607678658965477934121780525669915865227066398648267983609099400820523101255784150358418253427496005885737039662460245329521745845998791412920764136689119204820266612465438978848909298034277623548407228053955867465429130550909626560843906709609409142520755920276109368492849381971552623769956001918200645726130383997471111167066275494480080729232780437325693587411154995024303832972024033400853509552461549633199497182009614058449915281532265728392197492160940294039936291966445527661125692339139563268888453938420713403751559010239239309298179809687011791039057407284480415748816513453203744884252335955063831634433689999493708452428070320312912469830913333551389262856516773967646488190400586807235364504370747767597370494365466528981117946419698711068559338206008003726660372590948533574060581256030879616062810616660675817100339304121114446255622271212338316403 68360922471368366000850821471052954395205498424226907257240050080006387211652368308646271090983688828225248061667815097095529537505909419600212451481454614869450255973701627675242750568673104887709637360405841900239088734957236351438116211880486975423232338061688815088628571416936614259928659634895664992518202142708658902082995617710539074123066256941389944338035380768756904868907451440757479430842287288796451009823838689507585508642816771903570106802866507079589933152726042858142010543167793036887903401027494696451188973592306856186085848760669174442251766272847436169488698756214844096579372853358721305233519522054023139593315232236453885727378200303154357072855764322160747708171720887914821558178204712491458628613583333502279734358010924383194223717855910137340995238804330673078581916998235457254638457960280498589483652930925462992367570069559032939973184971021403710326082412519590371188464229176360258268591031787876517407886549306700085057248820489248969906115488170467277711832614080266162364122592391385537651392326914112405015822306849917873289043760941639809883808365303874965224751808497332606751829622372617610014749690258726327284324285726636727529390042976733245055020330985473773577466297957432563411608109638551641061138482079785926690873013833432105883363411035095253702507735264000275605265425766193033368119478865416125209920501860219056198333521717880107381018830162474586504633650689330072844395356303825704846806901377172207047966162988333363916591365099180131382567999558422301437780166226490405811404386275996864751845198597815412873273394012279455790500136925290791245129607489425747239933648443219380727498846445551576236584885887347618957955359675920067612379212955710552759472326772787338495786707018715851049000798343065406864489470785813465070682601921103811399237291614184258179003927455444462430714530345737818313242831678083712054311065057705910471981885038045028964958759476173248283867159599874372553095434487607802993949196244842125892394769067538629511982469472627249323784511494769336398334593303446069915330004202011787014399585699923154418739818456885351984854782074609043135195063505829240452365412197911348467340347837089973643270371096241008035394277886305030769177745217752879141110946954456756399421463745772269703249876008488674254773048109898724 110610296060970476637192575954832301662889298956119690351972235149811675784644867958428018670211300577973504342700387833563098107397350046484088382085977557745397700256054895920208849361947548592657119155791956584359716002827718420718344513910653879184282694957422001260247236476437563725520686038282328338315020253238443718865806937568010185683135063208347210986733510780639815737623954427882214327267957530934568600343212259942154430990157650430303736118415508756866883301208962922891053917479825110008945659574893218154931168908896269636566009283564421290307809067283358849711262510899274931592014086379517184200961597925804922140905868339986812046058670546990541028354028674807181205715994901676307942486628013847438708974797128418258415530987597374139511274673419477242859042856266610626742241406664871156483058988190819059384033498142101338569848070275111649223067815294359706786685970872586073629945693434081010363721663717431353302651821213756371239577085739764049316364778218510474308764775565256945909789973028472759698960928334958648332996130213062329424796003990884319711752890276946697231107974406166622452803871246038862267736982616077634922282978010013189062898256019802656836735887020960989057393930821749431529808837228434762415187458400332842838090970121685538158149581848882946600326603672823678724156008587497853203242913413715597297901575439344882500462460465119520362988341162668115009453192892589724970236568482035694454485560342650141169746688658249229143657763747448114991667400378945402693564316584908659238900392161733904414305443927337158719272185425200219927189256130111057857595046468274656537967926066767787955552802313017005367135795513908462864664969085062588368299489065079045608854298325411108451788625219361577179384795814176573930764965265894194303463039246797398810392286638488091151027960856297971983176079978937315495252445736533627335843330786098107964142825332084965256925205003834373976206299163143261007033855201011554552959435484151424072204456079329668569389753953042998140297964698514220650670548367277704349020003695720239442469906012835624249653152008274614841371556042255531325595650313064604956736159965508718961705814366071091589690069807309567373600285890031691141768693751326939722366977834072819210038124421589370042553997122934929877044260448215127 178971218532338842638043397425885256058094797380346597609212285229818062996297236267074289761194989406198752404368202930658627644903259466084300833567432172614847956229756523595451599930620653480366756516197798484598804737784954772156460725791140854607515033019110816348875807893374177985449345673177993330833222395947102620948802555278549259806201320149737155324768891549396720606531405868639693758110244819731019610167050949449739939632974422333873842921282015836456816453935005781033064460647618146896849060602387914606120142501203125822651858044233595732559575340130795019199961267114119028171386939738238489434481119979828061734221100576440697773436870850144898101209792996967928913887715789591129500664832726338897337588380461920538149888998521757333734992529329614583854281660597283705324158404900328411121516948471317648867686429067564330937418139834144589196252786315763417112768383392176444818409922610441268632312695505307870710538370520456456296825906229013019222480266388977752020597389645523108273912565419858297350353255249071053348818437062980202713839764932524129595561255580821662455859782903499229204633493618656472282486672874803962206607263736649916592288298996535901891756218006434762634860228779181994941416946866986403476325940480118769528963983955117644041512992883978200302834338936823954329421434353690886571362392279131722507822077299563938698795982182999627744007171325142701514086843581919797814631924785861399301292461719822348217712851646582593060249128846628246374235399937367704131344482811399065050304778437730769166150642525152571592545579437479675717689393055401849102724653957700403777901574509987168683051648758568581603720681401256081822620328760982655980678702020789598368326625098198446947575332238077428228385594157241980795254436051707659374145641167901210209629578252672349330031888311742434413890610324675133808495277414617339390154395843804018436124710370129994221883964480007622260073458763017633560129289688619357546908631728993549964599225146868298081372223425670247464082476193283557049005141670723774264350007897732026456869491712758778668392970465159966826226338116864574460790713818893845409101572163420067429046162203161065232960440903550575408994563776336721910946438969079818863477924788529575609459588167361639745803873131423604131817308558113851 289581514593309319275235973380717557720984096336466287961184520379629738780942104225502308431406289984172256747068590764221725752300609512568389215653409730360245656485811419515660449292568202073023875671989755068958520740612673192874805239701794733791797727976532817609123044369811741710970031711460321669148242649185546339814609492846559445489336383358084366311502402330036536344155360296521908085378202350665588210510263209391894370623132072764177579039697524593323699755143968703924118378127443256905794720177281132761051311410099395459217867327798017022867384407414153868911223778013393959763401026117755673635442717905632983875126968916427509819495541397135439129563821671775110119603710691267437443151460740186336046563177590338796565419986119131473246267202749091826713324516863894332066399811565199567604575936662136708251719927209665669507266210109256238419320601610123123899454354264762518448355616044522278996034359222739224013190191734212827536402991968777068538845044607488226329362165210780054183702538448331057049314183584029701681814567276042532138635768923408449307314145857768359686967757309665851657437364864695334550223655490881597128890241746663105655186555016338558728492105027395751692254159600931426471225784095421165891513398880451612367054954076803182199662574732861146903160942609647633053577442941188739774605305692847319805723652738908821199258442648119148106995512487810816523540036474509522784868493267897093755778022062472489387459540304831822203906892594076361365902800316313106824908799396307724289205170599464673580456086452489730311817764862679895644878649185512906960319700425975060315869500576754956638604451071585586970856476915164544687285297846045244348978191085868643977180923423609555399363957457439005407770389971418554726019401317601853677608680414698609020021864891160440481059849168040406397066690303612449303747723151150966725997726629902126400267535702214959478809169483841996236279757926160894567163144889630912099868067213144974036803681226197966650761977378713245604380440891797777699675690038001478613370011593452265899339397725594402918046122473434581667597894159120105786386364131958450365837732128928786390751976569232156822650510710860142782594849666368413052715132720406758585844902622602394819497712588951009788357870254358534008861569006328978 468552733125648161913279370806602813779078893716812885570396805609447801777239340492576598192601279390371009151436793694880353397203868978652690049220841902975093612715567943111112049223188855553390632188187553553557325478397627965031265965492935588399312760995643633957998852263185919696419377384638314999981465045132648960763412048125108705295537703507821521636271293879433256950686766165161601843488447170396607820677314158841634310256106495098051421960979540429780516209078974484957182838775061403802643780779669047367171453911302521281869725372031612755426959747544948888111185045127512987934787965855994163069923837885461045609348069492868207592932412247280337230773614668743039033491426480858566943816293466525233384151558052259334715308984640888806981259732078706410567606177461178037390558216465527978726092885133454357119406356277230000444684349943400827615573387925886541012222737656938963266765538654963547628347054728047094723728562254669283833228898197790087761325310996465978349959554856303162457615103868189354399667438833100755030633004339022734852475533855932578902875401438590022142827540213165080862070858483351806832710328365685559335497505483313022247474854012874460620248323033830514327114388380113421412642730962407569367839339360570381896018938031920826241175567616839347205995281546471587382998877294879626345967697971979042313545730038472759898054424831118775851002683812953518037626880056429320599500418053758493057070483782294837605172391951414415264156021440704607740138200253680810956253282207706789339509949037195442746606728977642301904363344300159571362568042240914756063044354383675464093771075086742125321656099830154168574577158316420626509905626607027900329656893106658242345507548521808002346939289695516433636155984128660535521273837369309513051754321582599819229651443143832789811091737479782840810957300628287583112243000565768306116152122473706144836392246072344953700693133963849618496353216689178528127292434578250269646776698942138524001402906373066264732134200804383493068462917085081334748680831708725252877720019491184292356208889438353181586439092938594548493824232275984680247177077950852295774939304292348853819798138772393222055610951614410718191589413442705134963661571689486577449322827411131970428957300756312649534161743385782138140678877564442829 758134247718957481188515344187320371500062990053279173531581325989077540558181444718078906624007569374543265898505384459102079149504478491221079264874251633335339269201379362626772498515757057626414507860177308622515846219010301157906071205194730322191110488972176451567121896632997661407389409096098636669129707694318195300578021540971668150784874086865905887947773696209469793294842126461683509928866649521062196031187577368233528680879238567862229001000677065023104215964222943188881301216902504660708438500956950180128222765321401916741087592699829629778294344154959102757022408823140906947698188991973749836705366555791094029484475038409295717412427953644415776360337436340518149153095137172126004386967754206711569430714735642598131280728970760020280227526934827798237280930694325072369456958028030727546330668821795591065371126283486895669951950560052657066034893989536009664911677091921701481715121154699485826624381413950786318736918753988882111369631890166567156300170355603954204679321720067083216641317642316520411448981622417130456712447571615065266991111302779341028210189547296358381829795297522830932519508223348047141382933983856567156464387747229976127902661409029213019348740428061226266019368547981044847883868515057828735259352738241021994263073892108724008440838142349700494109156224156119220436576320236068366120573003664826362119269382777381581097312867479237923957998196300764334561166916530938843384368911321655586812848505844767326992631932256246237468062914034780969106041000569993917781162081604014513628715119636660116327062815430132032216181109162839467007446691426427663023364054809650524409640575663497081960260550901739755545433635231585171197190924453073144678635084192526886322688471945417557746303247152955439043926374100079090247293238686911366729363001997298428249673308034993230292151586647823247208023990931900032415990723716919272842149849103608271236659781774559913179502303447691614732632974615339422694455579467881181746644766155283498038206587599264231382896178183096738672843357976879112448356521746726731491090031084636558255548287163947584504485215412029130161422126435104786033563442082810746140777036421277640210550115341625378878261462325270860974184263109073548016376704409893336035167730033734365248455013345263659322519613640140672149540446570771807 1226686980844605643101794714993923185279141883770092059101978131598525342335420785210655504816608848764914275049942178153982432546708347469873769314095093536310432881916947305737884547738945913179805140048364862176073171697407929122937337170687665910590423249967820085525120748896183581103808786480736951669111172739450844261341433589096776856080411790373727409584044990088903050245528892626845111772355096691458803851864891527075162991135345062960280422961656605452884732173301917673838484055677566064511082281736619227495394219232704438022957318071861242533721303902504051645133593868268419935632976957829743999775290393676555075093823107902163925005360365891696113591111051009261188186586563652984571330784047673236802814866293694857465996037955400909087208786666906504647848536871786250406847516244496255525056761706929045422490532639764125670396634909996057893650467377461896205923899829578640444981886693354449374252728468678833413460647316243551395202860788364357244061495666600420183029281274923386379098932746184709765848649061250231211743080575954088001843586836635273607113064948734948403972622837735996013381579081831398948215644312222252715799885252713289150150136263042087479968988751095056780346482936361158269296511246020236304627192077601592376159092830140644834682013709966539841315151505702590807819575197530947992466540701636805404432815112815854340995367292310356699809000880113717852598793796587368163983869329375414079869918989627062164597804324207660652732218935475485576846179200823674728737415363811721302968225068673855559073669544407774334120544453462999038370014733667342419086408409193325988503411650750239207281916650731893924120010793548005797707096551060101045008291977299185128668196020467225560093242536848471872680082358228739625768567076056220879781117323579898247479324751178826020103243324127606088018981291560187615528233724282687578958301971577314416073052027846904866880195437411541233228986191304517950821748014046131451393421465097422022039609493972330496115030378987480231741306275061960447197037353455451984368810050575820850611757176602300766090924308350623678655246358711089466280740520033663041915716340713626494030348254114018600933872413939681579165773676551778682980038276099379913484490557444866335677412314101576308856681357025922810290219324135214636 1984821228563563124290310059181243556779204873823371232633559457587602882893602229928734411440616418139457540948447562613084511696212825961094848578969345169645772151118326668364657046254702970806219647908542170798589017916418230280843408375882396232781533738939996537092242645529181242511198195576835588338240880433769039561919455130068445006865285877239633297531818686298372843540371019088528621701221746212520999883052468895308691672014583630822509423962333670475988948137524860862719785272580070725219520782693569407623616984554106354764044910771690872312015648057463154402156002691409326883331165949803493836480656949467649104578298146311459642417788319536111889951448487349779337339681700825110575717751801879948372245581029337455597276766926160929367436313601734302885129467566111322776304474272526983071387430528724636487861658923251021340348585470048714959685361366997905870835576921500341926697007848053935200877109882629619732197566070232433506572492678530924400361666022204374387708602994990469595740250388501230177297630683667361668455528147569153268834698139414614635323254496031306785802418135258826945901087305179446089598578296078819872264272999943265278052797672071300499317729179156283046365851484342203117180379761078065039886544815842614370422166722249368843122851852316240335424307729858710028256151517767016358587113705301631766552084495593235922092680159789594623766999076414482187159960713118307007368238240697069666682767495471829491590436256463906890200281849510266545952220201393668646518577445415735816596940188310515675400732359837906366336725562625838505377461425093770082109772464002976512913052226413736289242177201633633679665444428779590968904287475513174189686927061491712014990884492412643117839545784001427311724008732328818716015860314743132246510480325577196675728998059213819250395394910775429335227005282492087647944224447999606851800451820680922687309711809621464780059697740859232847961619165919857373516203593514012633140066231252705520077816081571594727497926557170576970414149633038839559645393875202178715859900081660457408867305463766248350595409523762652808816668485146194252314303962116473788056493377134904134240898369455643979812133876264952440139957939660852230996414980509273249519658287478600700925867327446839968179200970666063482439759770705986443 3211508209408168767392104774175166742058346757593463291735537589186128225229023015139389916257225266904371815998389740767066944242921173430968617893064438705956205033035273974102541593993648883986024787956907032974662189613826159403780745546570062143371956988907816622617363394425364823615006982057572540007352053173219883823260888719165221862945697667613360707115863676387275893785899911715373733473576842903979803734917360422383854663149928693782789846923990275928873680310826778536558269328257636789730603064430188635119011203786810792787002228843552114845736951959967206047289596559677746818964142907633237836255947343144204179672121254213623567423148685427808003542559538359040525526268264478095147048535849553185175060447323032313063272804881561838454645100268640807532978004437897573183151990517023238596444192235653681910352191563015147010745220380044772853335828744459802076759476751078982371678894541408384575129838351308453145658213386475984901775353466895281644423161688804794570737884269913855974839183134685939943146279744917592880198608723523241270678284976049888242436319444766255189775040972994822959282666387010845037814222608301072588064158252656554428202933935113387979286717930251339826712334420703361386476891007098301344513736893444206746581259552390013677804865562282780176739459235561300836075726715297964351053654406938437170984899608409090263088047452099951323575999956528200039758754509705675171352107570072483746552686485098891656188240580671567542932500784985752122798399402217343375255992809227457119565165256984371234474401904245680700457270016088837543747476158761112501196180873196302501416463877163975496524093852365527603785455222327596766611384026573275234695219038790897143659080512879868677932788320849899184404091090557558341784427390799353126291597649157094923208322810392645270498638234903035423245986574052275263472458172282294430758753792258237103382763837468369646939893178270774081190605357224375324337951607560144084533487696350127542117425575543925223612956936158057202155455908100800006842431228657630700228710132236278259479062640368549116686333832113276487471914843857283718595044482150136829972209717848530628271246623569662580746006290204634019305731616212630913976453256608653163004148844923467036603279641548416277035882327691986292729979094841201079 5196329437971731891682414833356410298837551631416834524369097046773731108122625245068124327697841685043829356946837303380151455939133999392063466472033783875601977184153600642467198640248351854792244435865449203773251207530244389684624153922452458376153490727847813159709606039954546066126205177634408128345592933606988923385180343849233666869810983544852994004647682362685648737326270930803902355174798589116500803617969829317692546335164512324605299270886323946404862628448351639399278054600837707514950123847123758042742628188340917147551047139615242987157752600017430360449445599251087073702295308857436731672736604292611853284250419400525083209840937004963919893494008025708819862865949965303205722766287651433133547306028352369768660549571807722767822081413870375110418107472004008895959456464789550221667831622764378318398213850486266168351093805850093487813021190111457707947595053672579324298375902389462319776006948233938072877855779456708418408347846145426206044784827711009168958446487264904325570579433523187170120443910428584954548654136871092394539512983115464502877759573940797561975577459108253649905183753692190291127412800904379892460328431252599819706255731607184688478604447109407622873078185905045564503657270768176366384400281709286821117003426274639382520927717414599020512163766965420010864331878233064980709640768112240068937536984104002326185180727611889545947342999032942682226918715222823982178720345810769553413235453980570721147778676837135474433132782634496018668750619603611012021774570254643192936162105445294886909875134264083587066793995578714676049124937583854882583305953337199279014329516103577711785766271053999161283450899651107187735515671502086449424382146100282609158649965005292511795772334104851326496128099822886377057800287705542485372802077974734291598937320869606464520894033145678464758472991856544362911416682620281901282559205612939159790692475647089834426999590919130006929152224523144232697854155201074156717673553927602833062195241657115519951110883493328634172569605541139639566487825103859809416088610213896735668346368104134797467281743355875929296288583329003477970909348444266610618028703094983434762512144993025306560558140166469586459445689555873483144972868237117926412523807132402067737529146968995256245215083298358049775169738865547187522 8407837647379900659074519607531577040895898389010297816104634635959859333351648260207514243955066951948201172945227044147218400182055172823032084365098222581558182217188874616569740234242000738778269223822356236747913397144070549088404899469022520519525447716755629782326969434379910889741212159691980668352944986780208807208441232568398888732756681212466354711763546039072924631112170842519276088648375432020480607352887189740076400998314441018388089117810314222333736308759178417935836323929095344304680726911553946677861639392127727940338049368458795102003489551977397566496735195810764820521259451765069969508992551635756057463922540654738706777264085690391727897036567564067860388392218229781300869814823500986318722366475675402081723822376689284606276726514139015917951085476441906469142608455306573460264275815000032000308566042049281315361839026230138260666357018855917510024354530423658306670054796930870704351136786585246526023513992843184403310123199612321487689207989399813963529184371534818181545418616657873110063590190173502547428852745594615635810191268091514391120195893385563817165352500081248472864466420079201136165227023512680965048392589505256374134458665542298076457891165039658962699790520325748925890134161775274667728914018602731027863584685827029396198732582976881800688903226200981311700407604948362945060694422519178506108521883712411416448268775063989497270918998989470882266677469732529657350072453380842037159788140465669612803966917417807041976065283419481770791549019005828355397030563063870650055727270702279258144349536168329267767251265594803513592872413742615995084502134210395581515745979980741687282290364906364688887236354873434784502127055528659724659077365139073506302309045518172380473705122425701225680532190913443935399584715096341838499093675623891386522145643679999109791392671380581500181718978430596638174889140792564195713317959405197396894075239484558204073939484097400781010342829880368608022192106808634300802207041623952960604312667232659445174723840429486691374725061449240439573330256332517440116317320346133013927825430744503346583968077187989205783760498172860761689504392926416747448000912812831965390783391616594969141304146456674220478751421172086114058949321493726579575527955977325534774132426610543672522250965626050036067899717960388388601 13604167085351632550756934440887987339733450020427132340473731682733590441474273505275638571652908636992030529892064347527369856121189172215095550837132006457160159401342475259036938874490352593570513659687805440521164604674314938773029053391474978895678938444603442942036575474334456955867417337326388796698537920387197730593621576417632555602567664757319348716411228401758573368438441773323178443823174021136981410970857019057768947333478953342993388388696638168738598937207530057335114378529933051819630850758677704720604267580468645087889096508074038089161242151994827926946180795061851894223554760622506701181729155928367910748172960055263789987105022695355647790530575589776680251258168195084506592581111152419452269672504027771850384371948497007374098807928009391028369192948445915365102064920096123681932107437764410318706779892535547483712932832080231748479378208967375217971949584096237630968430699320333024127143734819184598901369772299892821718471045757747693733992817110823132487630858799722507115998050181060280184034100602087501977506882465708030349704251206978893997955467326361379140929959189502122769650173771391427292639824417060857508721020757856193840714397149482764936495612149066585572868706230794490393791432543451034113314300312017848980588112101668778719660300391480821201066993166401322564739483181427925770335190631418575046058867816413742633449502675879043218261998022413564493596184955353639528792799191611590573023594446240333951745594254942516409198066053977789460299638609439367418805133318513842991889376147574145054224670432412854834045261173518189641997351326470877667808087547594860530075496084319399068056635960363850170687254524541972237642727030746174083459511239356115460959010523464892269477456530552552176660290736330312457385002801884323871895753598625678121082964549605574312286704526259964940191970287141001086305823412846096995877165018136556684767715131648038500939075016530787939495054403512840720046262009708457519880595551555793666507908889774965125834723922815325547294666990380079139818081436377249532405930560029749596171798848638144051249820543865135080049081501864239660413741370683358066029615907815400153295536609620275701862286623143806938197110727959597203922189730844505988051763109727602511661573579538928767466048924408085843069456825935576123 22012004732731533209831454048419564380629348409437430156578366318693449774825921765483152815607975588940231702837291391674588256303244345038127635202230229038718341618531349875606679108732353332348782883510161677269078001818385487861433952860497499415204386161359072724363544908714367845608629497018369465051482907167406537802062808986031444335324345969785703428174774440831497999550612615842454532471549453157462018323744208797845348331793394361381477506506952391072335245966708475270950702459028396124311577670231651398465906972596373028227145876532833191164731703972225493442915990872616714744814212387576670690721707564123968212095500710002496764369108385747375687567143153844540639650386424865807462395934653405770992038979703173932108194325186291980375534442148406946320278424887821834244673375402697142196383252764442319015345934584828799074771858310370009145735227823292727996304114519895937638485496251203728478280521404431124924883765143077225028594245370069181423200806510637096016815230334540688661416666838933390247624290775590049406359628060323666159895519298493285118151360711925196306282459270750595634116593850592563457866847929741822557113610263112567975173062691780841394386777188725548272659226556543416283925594318725701842228318914748876844172797928698174918392883368362621889970219367382634265147088129790870831029613150597081154580751528825159081718277739868540489180997011884446760273654687883296878865252572453627732811734911909946755712511672749558385263349473459560251848657615267722815835696382384493047616646849853403198574206600742122601296526768321703234869765069086872752310221757990442045821476065061086350347000866728539057923609397976756739769782559405898742536876378429621763268056041637272743182578956253777857192481649774247856969717898226162370989429222517064643228608229604684103679375906841465121910948717737639261194964205410292709195124423333953578842954616206242574878559113931568949837884283881448742238368818342758322087637175508754270820576122434410300558564352302016922019728439620518713148337768894689648723250906162763523997229593141490635217897731854340863809579674725001349918134297100105514030528720647365544078928226215244843166433079818027416948531900045711262871511224571085563579719087053137285794000190082601289717014550458121910969174786323964724 35616171818083165760588388489307551720362798429864562497052098001427040216300195270758791387260884225932262232729355739201958112424433517253223186039362235495878501019873825134643617983222705925919296543197967117790242606492700426634463006251972478310883324605962515666400120383048824801476046834344758261750020827554604268395684385403663999937892010727105052144586002842590071367989054389165632976294723474294443429294601227855614295665272347704374865895203590559810934183174238532606065080988961447943942428428909356119070174553065018116116242384606871280325973855967053420389096785934468608968368973010083371872450863492491878960268460765266286751474131081103023478097718743621220890908554619950314054977045805825223261711483730945782492566273683299354474342370157797974689471373333737199346738295498820824128490690528852637722125827120376282787704690390601757625113436790667945968253698616133568606916195571536752605424256223615723826253537442970046747065291127816875157193623621460228504446089134263195777414717019993670431658391377677551383866510526031696509599770505472179116106828038286575447212418460252718403766767621983990750506672346802680065834631020968761815887459841263606330882389337792133845527932787337906677717026862176735955542619226766725824760910030366953638053183759843443091037212533783956829886571311218796601364803782015656200639619345238901715167780415747583707442995034298011253869839643236936407658051764065218305835329358150280707458105927692074794461415527437349712148296224707090234640829700898336039506022997427548252798877033154977435341787941839892876867116395557750420118309305585302575896972149380485418403636827092389228610863922518728977412509590152072825996387617785737224227066565102165012660035486806330033852772386104560314354720700110486242885182821142742764311572779210258415966080433101430062102919004878640347500787618256389705072289441470510263610669747854281075817634130462356889332938687394289462284630828051215841968232727064547937328485012209375426393288275117342469314395430000597852966419205271939181129181466192513120169028441779634686467718275719475943858661176589241010331875667783463580060144628462765697374464835835520545028719702961834355145642628005308466793700955415591551631482196780739797455573769621530057183063474866207754038631612259540847 57628176550814698970419842537727116100992146839301992653630464320120489991126117036241944202868859814872493935566647130876546368727677862291350821241592464534596842638405175010250297091955059258268079426708128795059320608311085914495896959112469977726087710767321588390763665291763192647084676331363127726801503734722010806197747194389695444273216356696890755572760777283421569367539667005008087508766272927451905447618345436653459643997065742065756343401710542950883269429140947007877015783447989844068254006099141007517536081525661391144343388261139704471490705559939278913832012776807085323713183185397660042563172571056615847172363961475268783515843239466850399165664861897465761530558941044816121517372980459230994253750463434119714600760598869591334849876812306204921009749798221559033591411670901517966324873943293294956737471761705205081862476548700971766770848664613960673964557813136029506245401691822740481083704777628046848751137302586047271775659536497886056580394430132097324521261319468803884438831383858927060679282682153267600790226138586355362669495289803965464234258188750211771753494877731003314037883361472576554208373520276544502622948241284081329791060522533044447725269166526517682118187159343881322961642621180902437797770938141515602668933707959065128556446067128206064981007431901166591095033659441009667432394416932612737355220370874064060796886058155616124196623992046182458014143494331120233286523304336518846038647064270060227463170617600441633179724765000896909963996953839974813050476526083282829087122669847280951451373083633897100036638314710161596111736881464644623172428531063575744621718448214441571768750637693820928286534473320495485717182292149557971568533263996215358987495122606739437755842614443060107891045254035878808171324438598336648613874612043659807407540181008814942519645456339942895184013867722616279608695751823666682414267413864804463842453624364060523650696193244393925839170822971275738204522999646393974164055869902573302208149061134643785726951852627419359391334123869621116566114756974166628829852432372355276644166258034921125321685616007573816807668240851314242360250009964883569094090673349110131241453393062050765388195152782779861772094174528051019729665212179986677115211201283833877083249573959704131346900078025324329665007806398583505571 93244348368897864731008231027034667821354945269166555150682562321547530207426312307000735590129744040804756168296002870078504481152111379544574007280954700030475343658279000144893915075177765184187375969906095912849563214803786341130359965364442456036971035373284104057163785674812017448560723165707885988551524562276615074593431579793359444211108367423995807717346780126011640735528721394173720485060996401746348876912946664509073939662338089770131209296914133510694203612315185540483080864436951292012196434528050363636606256078726409260459630645746575751816679415906332334221109562741553932681552158407743414435623434549107726132632422240535070267317370547953422643762580641086982421467495664766435572350026265056217515461947165065497093326872552890689324219182464002895699221171555296232938149966400338790453364633822147594459597588825581364650181239091573524395962101404628619932811511752163074852317887394277233689129033851662572577390840029017318522724827625702931737588053753557553025707408603067080216246100878920731110941073530945152174092649112387059179095060309437643350365016788498347200707296191256032441650129094560544958880192623347182688782872305050091606947982374308054056151555864309815963715092131219229639359648043079173753313557368282328493694617989432082194499250888049508072044644434950547924920230752228464033759220714628393555859990219302962512053838571363707904066987080480469268013333974357169694181356100584064344482393628210508170628723528133707974186180528334259676145250064681903285117355784181165126628692844708499704171960667052077471980102652001488988603997860202373592546840369161047197615420363822057187154274520913317515145337243014214694594801739710044394529651614001096211722189171841602768502649929866437924898026421983368485679159298447134856759794864802550171851753788025200935611536773044325246116786727494919956196539441923072119339703306274974106064294111914804726513827374856282728503761658670027666807630474445190006024102629637850145477546146853161153345140902536701860648519299621714419081176179438568010981613838547789764335286476700760008153334283293292751526902027903483370581885632667032674150817977572896938827857897886285933223872485741696127239817156056328196458913135402268666842683480614616880705147729325661404083141500190537419046438010843046418 150872524919712563701428073564761783922347092108468547804313026641668020198552429343242679792998603855677250103862650000955050849879789241835924828522547164565072186296684175155144212167132824442455455396614224707908883823114872255626256924476912433763058746140605692447927450966575210095645399497071013715353028296998625880791178774183054888484324724120886563290107557409433210103068388399181807993827269329198254324531292101162533583659403831835887552698624676461577473041456132548360096647884941136080450440627191371154142337604387800404803018906886280223307384975845611248053122339548639256394735343805403456998796005605723573304996383715803853783160610014803821809427442538552743952026436709582557089723006724287211769212410599185211694087471422482024174095994770207816708970969776855266529561637301856756778238577115442551197069350530786446512657787792545291166810766018589293897369324888192581097719579217017714772833811479709421328528142615064590298384364123588988317982483885654877546968728071870964655077484737847791790223755684212752964318787698742421848590350113403107584623205538710118954202173922259346479533490567137099167253712899891685311731113589131421398008504907352501781420722390827498081902251475100552601002269223981611551084495509797931162628325948497210750945318016255573053052076336117139019953890193238131466153637647241130911080361093367023308939896726979832100690979126662927282156828305477402980704660437102910383129457898270735633799341128575341153910945529231169640142203904656716335593881867463994213751362691989451155545044300949177508618417362163085100340879324846996764975371432736791819333868578263628955904912214734245801679810563509700411777093889268015963062915610216455199217311778581040524345264372926545815943280457862176657003597896783783470634406908462357579391934796840143455256993112987220430130654450111199564892291265589754533607117171079437948517918475975328377210020619250208567674584629945765871330630120839164170079972532211152353626607281496946880296993529956061251982643169242830985195933153605196840834046210903066408501544511621885329838950290867109559195142879217725730831895597550601768241491326683028180281250959937051321419025268521557899333991684107347926124125315388945782053884764448493963954721689029792750983219525514867084054244409426551989 244116873288610428432436304591796451743702037377635102954995588963215550405978741650243415383128347896482006272158652871033555331031900621380498835803501864595547529954963175300038127242310589626642831366520320620758447037918658596756616889841354889800029781513889796505091236641387227544206122662778899703904552859275240955384610353976414332695433091544882371007454337535444850838597109793355528478888265730944603201444238765671607523321741921606018761995538809972271676653771318088843177512321892428092646875155241734790748593683114209665262649552632855975124064391751943582274231902290193189076287502213146871434419440154831299437628805956338924050477980562757244453190023179639726373493932374348992662073032989343429284674357764250708787414343975372713498315177234210712408192141332151499467711603702195547231603210937590145656666939356367811162839026884118815562772867423217913830180836640355655950037466611294948461962845331371993905918982644081908821109191749291920055570537639212430572676136674938044871323585616768522901164829215157905138411436811129481027685410422840750934988222327208466154909470113515378921183619661697644126133905523238868000513985894181513004956487281660555837572278255137314045617343606319782240361917267060785304398052878080259656322943937929292945444568904305081125096720771067686944874120945466595499912858361869524466940351312669985820993735298343540004757966207143396550170162279834572674886016537686974727611851526481243804428064656709049128097126057565429316287453969338619620711237651645159340380055536697950859717004968001254980598520014164574088944877185049370357522211801897839016949288942085686143059186735647563316825147806523915106371895628978060357592567224217551410939500950422643292847914302792983740841306879845545142682757195230918327394201773264907751243688584865344390868529886031545676247441177606119521088830707512826652946820477354412054582212587890133103723847994106491296178346288615793538138260595284354176104075161849002499104153428350108033642134432492763112631162468864545404277109333043764851815660049450856172836830988322645337992284574160402310722044907121209101413781230217634442392309304255925119109108857823337254642897754263254026573808840163676122583038450791214448896568245063110844659869418355454155066361025705404503100682420269598407 394989398208322992133864378156558235666049129486103650759308615604883570604531170993486095176126951752159256376021302871988606180911689863216423664326049029160619716251647350455182339409443414069098286763134545328667330861033530852382873814318267323563088527654495488953018687607962437639851522159849913419257581156273866836175789128159469221179757815665768934297561894944878060941665498192537336472715535060142857525975530866834141106981145753441906314694163486433849149695227450637203274160206833564173097315782433105944890931287502010070065668459519136198431449367597554830327354241838832445471022846018550328433215445760554872742625189672142777833638590577561066262617465718192470325520369083931549751796039713630641053886768363435920481501815397854737672411172004418529117163111109006765997273241004052304009841788053032696853736289887154257675496814676664106729583633441807207727550161528548237047757045828312663234796656811081415234447125259146499119493555872880908373553021524867308119644864746809009526401070354616314691388584899370658102730224509871902876275760536243858519611427865918585109111644035774725400717110228834743293387618423130553312245099483312934402964992189013057618993000645964812127519595081420334841364186491042396855482548387878190818951269886426503696389886920560654178148797107184825964828011138704726966066496009110655378020712406037009129933632025323372105448945333806323832326990585311975655590676974789885110741309424751979438227405785284390282008071586796598956429657873995335956305119519109153554131418228687402015262049268950432489216937376327659189285756509896367122497583234634630836283157520349315098964098950381809118504958370033615518148989518246076320655482834434006610156812729003683817193178675719529556784587337707721799686355092014701798028608681727265330635623381705487846125522999018766106378095627717319085981121973102581186553937648433850003100131063865461480933868613356699863852930918561559409468890716123518346184047694060154852730760709847054913939127962448824364613805638107376389473042486648961692649706260353922581338375499944530667831234865027511869917187786338934832245676827768236210633800630938953299390359817760388576061923022784811925907800524271024048707163766180160230950453009511604808614591107385246906049580551220271587154926829696150396 639106271496933420566300682748354687409751166863738753714304204568099121010509912643729510559255299648641262648179955743022161511943590484596922500129550893756167246206610525755220466651754003695741118129654865949425777898952189449139490704159622213363118309168385285458109924249349665184057644822628813123162134015549107791560399482135883553875190907210651305305016232480322911780262607985892864951603800791087460727419769632505748630302887675047925076689702296406120826348998768726046451672528725992265744190937674840735639524970616219735328318012151992173555513759349498412601586144129025634547310348231697199867634885915386172180253995628481701884116571140318310715807488897832196699014301458280542413869072702974070338561126127686629268916159373227451170726349238629241525355252441158265464984844706247851241444998990622842510403229243522068838335841560782922292356500865025121557730998168903892997794512439607611696759502142453409140366107903228407940602747622172828429123559164079738692321001421747054397724655971384837592553414114528563241141661321001383903961170959084609454599650193127051264021114149290104321900729890532387419521523946369421312759085377494447407921479470673613456565278901102126173136938687740117081726103758103182159880601265958450475274213824355796641834455824865735303245517878252512909702132084171322465979354370980179844961063718706994950927367323666912110206911540949720382497152865146548330476693512476859838353160951233223242655470441993439410105197644362028272717111843333955577016357170754312894511473765385352874979054236951687469815457390492233278230633694945737480019795036532469853232446462435001242023285686029372435330106176557530624520885147224136678248050058651558021096313679426327110041092978512513297625894217553266942369112287245620125422810454992173081879311966570832236994052885050311782625536805323438607069952680615407839500758125788262057682343651755594584657716607463191160031277207177352947607151311407872522288122855909157351834914138197162947581262394941587477244968106971921793750151819692726544465366309804778754175206488267176005823519439187914180639232693460143933659458057985870653026109935194878418499468675583725830704820777048065952481609364434700171290202216971374679847021254574715653274460525740701061115941576925676090255609249965748803 1034095669705256412700165060904912923075800296349842404473612820172982691615041083637215605735382251400800519024201258615010767692855280347813346164455599922916786962458257876210402806061197417764839404892789411278093108759985720301522364518477889536926206836822880774411128611857312102823909166982478726542419715171822974627736188610295352775054948722876420239602578127425200972721928106178430201424319335851230318253395300499339889737284033428489831391383865782839969976044226219363249725832735559556438841506720107946680530456258118229805393986471671128371986963126947053242928940385967858080018333194250247528300850331675941044922879185300624479717755161717879376978424954616024667024534670542212092165665112416604711392447894491122549750417974771082188843137521243047770642518363550165031462258085710300155251286787043655539364139519130676326513832656237447029021940134306832329285281159697452130045551558267920274931556158953534824374813233162374907060096303495053736802676580688947046811965866168556063924125726326001152283941999013899221343871885830873286780236931495328467974211078059045636373132758185064829722617840119367130712909142369499974625004184860807381810886471659686671075558279547066938300656533769160451923090290249145579015363149653836641294225483710782300338224342745426389481394314985437338874530143222876049432045850380090835222981776124744004080860999348990284215655856874756044214824143450458523986067370487266744949094470375985202680882876227277829692113269231158627229146769717329291533321476689863466448642891994072754890241103505902119959032394766819892467516390204842104602517378271167100689515603982784316340987384636411181553835064546591146142669874665470212998903532893085564631253126408430010927234271654232042854410481555260988742055467379260321923451419136719438412514935348276320083119575884069077889003632433040757693051074653717989026054695774222112060782474715621056065591585220819891023884208125738912357076042027531390868472170549969312204565674848044217861520390357390411841858773745079298183223194306341688237115072570158701335513581988211706673654754304215426050556420479799078765905134885754106863659910566133831717889828493344114406766743799832877878389409888705724219997365983151534910797474264086320461889051633125947967165522128145947677410536079661899199 1673201941202189833266465743653267610485551463213581158187917024741081812625550996280945116294637551049441781672381214358032929204798870832410268664585150816672954208664868401965623272712951421460580523022444277227518886658937909750661855222637511750289325145991266059869238536106661768007966811805107539665581849187372082419296588092431236328930139630087071544907594359905523884502190714164323066375923136642317778980815070131845638367586921103537756468073568079246090802393224988089296177505264285548704585697657782787416169981228734449540722304483823120545542476886296551655530526530096883714565643542481944728168485217591327217103133180929106181601871732858197687694232443513856863723548972000492634579534185119578781731009020618809179019334134144309640013863870481677012167873615991323296927242930416548006492731786034278381874542748374198395352168497798229951314296635171857450843012157866356023043346070707527886628315661095988233515179341065603315000699051117226565231800139853026785504286867590303118321850382297385989876495413128427784585013547151874670684198102454413077428810728252172687637153872334354934044518570009899518132430666315869395937763270238301829218807951130360284532123558448169064473793472456900569004816394007248761175243750919795091769499697535138096980058798570292124784639832863689851784232275307047371898025204751071015067942839843450999031788366672657196325862768415705764597321296315605072316544063999743604787447631327218425923538346669271269102218466875520655501863881560663247110337833860617779343154365759458107765220157742853807428847852157312125745747023899787842082537173307699570542748050445219317583010670322440553989165170723148676767190759812694349677151582951737122652349440087856338037275364632744556152036375772814255684424579666505942048874229591711611494394247314847152320113628769119389671629169238364196300121027334333396865555453900010374118464818367376650650249301828283082183915485332916265304683193338939263390760293405878469556400588986241380809101652752331999319103741852051219976973346126034414781580438879963480089688788476478882679478273743403340231195653173259222699564592943739977516686020501328710136389297168927840237471564576880943830871019253140424391287568200122909590644495518661036115163512158866649028281463705071623767666145329627648002 2707297610907446245966630804558180533561351759563423562661529844914064504240592079918160722030019802450242300696582472973043696897654151180223614829040750739589741171123126278176026078774148839225419927915233688505611995418923630052184219741115401287215531982814146834280367147963973870831875978787586266208001564359195057047032776702726589103985088352963491784510172487330724857224118820342753267800242472493548097234210370631185528104870954532027587859457433862086060778437451207452545903337999845105143427204377890734096700437486852679346116290955494248917529440013243604898459466916064741794583976736732192256469335549267268262026012366229730661319626894576077064672657398129881530748083642542704726745199297536183493123456915109931728769752108915391828857001391724724782810391979541488328389501016126848161744018573077933921238682267504874721866001154035676980336236769478689780128293317563808153088897628975448161559871820049523057889992574227978222060795354612280302034476720541973832316252733758859182245976108623387142160437412142327005928885432982747957464435033949741545403021806311218324010286630519419763767136410129266648845339808685369370562767455099109211029694422790046955607681837995236002774450006226061020927906684256394340190606900573631733063725181245920397318283141315718514266034147849127190658762418529923421330071055131161850290924615968195003112649366021647480541518625290461808812145439766063596302611434487010349736542101703203628604421222896549098794331736106679282731010651277992538643659310550481245791797257753530862655461261248755927387880246924132018213263414104629946685054551578866671232263654428003633923998054958851735543000235269739822909860634478164562676055115844822687283602566496286348964509636286976599006446857328075244426480047045766263972325648728431049906909182663123472403233204653188467560632801671404953993172101988051385891610149674232486179247293082997706715840887049102973207799693458655177661759235366470654259232463955847781760966263834285598670622043109722411160962515597130518160196540432376103018695511450122181425202370464690589353133028047618766281752073653058301465469727829494084380345931067462541854279125662271954644238308376713821709260429141846148611284934183274444501441969782747356577052563791992596995446985833217571445076681409289547201 4380499552109636079233096548211448144046903222777004720849446869655146316866143076199105838324657353499684082368963687331076626102453022012633883493625901556262695379787994680141649351487100260686000450937677965733130882077861539802846074963752913037504857128805412894149605684070635638839842790592693805873583413546567139466329364795157825432915227983050563329417766847236248741726309534507076334176165609135865876215025440763031166472457875635565344327531001941332151580830676195541842080843264130653848012902035673521512870418715587128886838595439317369463071916899540156553989993446161625509149620279214136984637820766858595479129145547158836842921498627434274752366889841643738394471632614543197361324733482655762274854465935728740907789086243059701468870865262206401794978265595532811625316743946543396168236750359112212303113225015879073117218169651833906931650533404650547230971305475430164176132243699682976048188187481145511291405171915293581537061494405729506867266276860395000617820539601349162300567826490920773132036932825270754790513898980134622628148633136404154622831832534563391011647440502853774697811654980139166166977770475001238766500530725337411040248502373920407240139805396443405067248243478682961589932723078263643101365850651493426824833224878781058494298341939886010639050673980712817042442994693836970793228096259882232865358867455811646002144437732694304676867381393706167573409466736081668668619155498486753954523989733030422054527959569565820367896550202982199938232874532838655785753997144411099025134951623512988970420681418991609734816728099081444143959010438004417788767591724886566241775011704873222951507008725281292289532165405992888499677051394290858912353206698796559809935952006584142687001785000919721155158483233100889500110904626712272206021199878320142661401303429977970624723346833422307857232261970909769150293293129322384782757165603574242860297712111450374357366090188877386055391715178791571442966442428705409917649992757361726251317366852820526979479723695862054410480066257449181738137169886558410517800275950330085661514891158941169472032611301791022106512947726826317524165034320773234061897031951568791251990668422831199794881709872953594765540131448394986573002572502383397354092086465301408392692216075950859246023728449538289195212742826738917195203 7087797163017082325199727352769628677608254982340428283510976714569210821106735156117266560354677155949926383065546160304120323000107173192857498322666652295852436550911120958317675430261249099911420378852911654238742877496785169855030294704868314324720389111619559728429972832034609509671718769380280072081584977905762196513362141497884414536900316336014055113927939334566973598950428354849829601976408081629413973449235811394216694577328830167592932186988435803418212359268127402994387984181263975758991440106413564255609570856202439808232954886394811618380601356912783761452449460362226367303733597015946329241107156316125863741155157913388567504241125522010351817039547239773619925219716257085902088069932780191945767977922850838672636558838351975093297727866653931126577788657575074299953706244962670244329980768932190146224351907283383947839084170805869583911986770174129237011099598792993972329221141328658424209748059301195034349295164489521559759122289760341787169300753580936974450136792335108021482813802599544160274197370237413081796442784413117370585613068170353896168234854340874609335657727133373194461578791390268432815823110283686608137063298180436520251278196796710454195747487234438641070022693484909022610860629762520037441556457552067058557896950060026978891616625081201729153316708128561944233101757112366894214558167315013394715649792071779841005257087098715952157408900018996629382221612175847732264921766932973764304260531834733625683132380792462369466690881939088879220963885184116648324397656454961580270926748881266519833076142680240365662204608346005576162172273852109047735452646276465432913007275359301226585431006780240144025075165641262628322586912028769023475029261814641382497219554573080429035966294637206697754164930090428964744537384673758038469993525527048573711308212612641094097126580038075496324792894772581174104286465231310436168648775753248475346476959404533372064081931075926489028599514872250226620628201664071880571909225221317574033078333116654812578150345738971776821641028773046312256297366426990786620818971461780207842940093529405860061385744329838640872794699800479375825630504048602728146277377882636253793844947548493471749525948181330308587249391877536832721613857436566671798593528435084155749269268639742851843019175435371506766657819508148206742404 11468296715126718404432823900981076821655158205117433004360423584224357137972878232316372398679334509449610465434509847635196949102560195205491381816292553852115131930699115638459324781748349360597420829790589619971873759574646709657876369668621227362225246240424972622579578516105245148511561559972973877955168391452329335979691506293042239969815544319064618443345706181803222340676737889356905936152573690765279849664261252157247861049786705803158276514519437744750363940098803598536230065024528106412839453008449237777122441274918026937119793481834128987843673273812323918006439453808387992812883217295160466225744977082984459220284303460547404347162624149444626569406437081417358319691348871629099449394666262847708042832388786567413544347924595034794766598731916137528372766923170607111579022988909213640498217519291302358527465132299263020956302340457703490843637303578779784242070904268424136505353385028341400257936246782340545640700336404815141296183784166071294036567030441331975067957331936457183783381629090464933406234303062683836586956683393251993213761701306758050791066686875438000347305167636226969159390446370407598982800880758687846903563828905773931291526699170630861435887292630882046137270936963591984200793352840783680542922308203560485382730174938808037385914967021087739792367382109274761275544751806203865007786263574895627581008659527591487007401524831410256834276281412702796955631078911929400933540922431460518258784521567764047737660340362028189834587432142071079159196759716955304110151653599372679296061700504779508803496824099231975397021336445087020306131284290113465524220238001351999154782287064174449536938015505521436314607331047255516822263963423059882387382468513437942307155506579664571722968079638126418909323413323529854244648289300470310676014725405368716372709516042619064721849926871497804182025156743490943254579758360632820951405941356822718206774671515983746421448021264803875083991230051041798063594644092777290489559217978679300284395699969475339557630069434833831232121095030495493994434536313549197138619247412110293504454984688347029533418355631629662979307647527305693349795538369375962208174409834205045045835615971324671544407658054283903352789523325931819294616429938950069152685614900385564141961484715693711089042903884909795961870562334887123937607 18556093878143800729632551253750705499263413187457861287871400298793567959079613388433638959034011665399536848500056007939317272102667368398348880138959206147967568481610236596777000212009598460508841208643501274210616637071431879512906664373489541686945635352044532351009551348139854658183280329353253950036753369358091532493053647790926654506715860655078673557273645516370195939627166244206735538128981772394693823113497063551464555627115535970751208701507873548168576299366931001530618049205792082171830893114862802032732012131120466745352748368228940606224274630725107679458888914170614360116616814311106795466852133399110322961439461373935971851403749671454978386445984321190978244911065128715001537464599043039653810810311637406086180906762947009888064326598570068654950555580745681411532729233871883884828198288223492504751817039582646968795386511263573074755624073752909021253170503061418108834574526356999824467684306083535579989995500894336701055306073926413081205867784022268949518094124271565205266195431690009093680431673300096918383399467806369363799374769477111946959301541216312609682962894769600163620969237760676031798623991042374455040627127086210451542804895967341315631634779865320687207293630448501006811653982603303717984478765755627543940627124998835016277531592102289468945684090237836705508646508918570759222344430889909022296658451599371328012658611930126208991685181431699426337852691087777133198462689364434282563045053402497673420792721154490559301278314081159958380160644901071952434549310054334259566988449386046028636572966779472341059225944791092596468303558142222513259672884277817432067789562423475676122369022285761580339682496688518145144850875451828905862411730328079324804375061152745000758934374275333116663488343413958818989185673974228349146008250932417290084017728655260158818976506909573300506818051516072117358866223591943257120054717110071193553251630920517118485529952340730364112590744923292024684222845756849171061468443199996874317474033086130152135780415173805608053762123803541806250731902740539983759438218873890501347395078217752889594804099961468303852102347327785069175426042417978690354451787716841298839680563519818143293933606235614211940038915203468652016230287375516740951279143335469719891230753355436562932062079320281302728528381843035330680011 30024390593270519134065375154731782320918571392575294292231823883017925097052491620750011357713346174849147313934565855574514221205227563603840261955251760000082700412309352235236324993757947821106262038434090894182490396646078589170783034042110769049170881592469504973589129864245099806694841889326227827991921760810420868472745154083968894476531404974143292000619351698173418280303904133563641474281555463159973672777758315708712416676902241773909485216027311292918940239465734600066848114230320188584670346123312039809854453406038493682472541850063069594067947904537431597465328367979002352929500031606267261692597110482094782181723764834483376198566373820899604955852421402608336564602414000344100986859265305887361853642700423973499725254687542044682830925330486206183323322503916288523111752222781097525326415807514794863279282171881909989751688851721276565599261377331688805495241407329842245339927911385341224725620552865876125630695837299151842351489858092484375242434814463600924586051456208022389049577060780474027086665976362780754970356151199621357013136470783869997750368228091750610030268062405827132780359684131083630781424871801062301944190955991984382834331595137972177067522072496202733344564567412092991012447335444087398527401073959188029323357299937643053663446559123377208738051472347111466784191260724774624230130694464804649877667111126962815020060136761536465825961462844402223293483769999706534132003611795894800821829574970261721158453061516518749135865746223231037539357404618027256544700963653706938863050149890825537440069790878704316456247281236179616774434842432335978783893122279169431222571849487650125659307037791283016654289827735773661967114838874888788249794198841517267111530567732409572481902453913459535572811756737488673233833963274698659822022976337786006456727244697879223540826433781071104688843208259563060613445981952576078071460658466893911760026302436500864906977973605534239196581974974333822747817489849626461551027661178676174601869733055605491693410484608639439285883218834037300245166439054089180898057466286000794851850062906099919128222455593097966831409994855090762525221580787354652562626197551046343885516179491142814838341264289898115292828438529400471310846717314466810103964758235855284033192238071130274021104983205191098690398944177922454617618 48580484471414319863697926408482487820181984580033155580103224181811493056132105009183650316747357840248684162434621863513831493307894932002189142094210966148050268893919588832013325205767546281615103247077592168393107033717510468683689698415600310736116516944514037324598681212384954464878122218679481778028675130168512400965798801874895548983247265629221965557892997214543614219931070377770377012410537235554667495891255379260176972304017777744660693917535184841087516538832665601597466163436112270756501239238174841842586465537158960427825290218292010200292222535262539276924217282149616713046116845917374057159449243881205105143163226208419348049970123492354583342298405723799314809513479129059102524323864348927015664453012061379585906161450489054570895251929056274838273878084661969934644481456652981410154614095738287368031099211464556958547075362984849640354885451084597826748411910391260354174502437742341049193304858949411705620691338193488543406795932018897456448302598485869874104145580479587594315772492470483120767097649662877673353755619005990720812511240260981944709669769308063219713230957175427296401328921891759662580048862843436756984818083078194834377136491105313492699156852361523420551858197860593997824101318047391116511879839714815573263984424936478069940978151225666677683735562584948172292837769643345383452475125354713672174325562726334143032718748691662674817646644276101649631336461087483667330466301160329083384874628372759394579245782671009308437144060304390995919518049519099208979250273708041198430038599276871566076642757658176657515473226027272213242738400574558492043566006556986863290361411911125801781676060077044596993972324424291807111965714326717694112205929169596591915905628885154573240836828188792652236300100151447492223019637248927008968031227270203296540744973353139382359802940690644405195661259775635177972312205544519335191515375576965105313277933357017983392507925946264603309172719897625847432040335606475632612496104378673048919343766141735643829190899782445047339645342637579106495898341794629164657495685159891296199245141123852808723026555554566270683512342182875831700647623205333342917077985267887642725196743010960958132274870525512327232867353732869123327077004689983551055243901571325003924422991426566836953167062525472401418927326020957785297629 78604875064684838997763301563214270141100555972608449872335048064829418153184596629933661674460704015097831476369187719088345714513122495606029404049462726148132969306228941067249650199525494102721365285511683062575597430363589057854472732457711079785287398536983542298187811076630054271572964108005709606020596890978933269438543955958864443459778670603365257558512348912717032500234974511334018486692092698714641168669013694968889388980920019518570179133562496134006456778298400201664314277666432459341171585361486881652440918943197454110297832068355079794360170439799970874389545650128619065975616877523641318852046354363299887324886991042902724248536497313254188298150827126407651374115893129403203511183129654814377518095712485353085631416138031099253726177259542481021597200588578258457756233679434078935481029903253082231310381383346466948298764214706126205954146828416286632243653317721102599514430349127682273918925411815287831251387175492640385758285790111381831690737412949470798690197036687609983365349553250957147853763626025658428324111770205612077825647711044851942460037997399813829743499019581254429181688606022843293361473734644499058929009039070179217211468086243285669766678924857726153896422765272686988836548653491478515039280913674003602587341724874121123604424710349043886421787034932059639077029030368120007682605819819518322051992673853296958052778885453199140643608107120503872924820231087190201462469912956223884206704203343021115737698844187528057573009806527622033458875454137126465523951237361748137293088749167697103516712548536880973971720507263451830017173243006894470827459128836156294512933261398775927440983097868327613648262152160065469079080553201606482362000128011113859027436196617564145722739282102252187809111856888936165456853600523625668790054203607989302997472218051018605900629374471715509884504468035198238585758187497095413262976034043859017073304235793518848299485899551798842505754694871959670179857825456102094163523765557349223521213499197341135522601384391084486625528561471616406741064780848718345555553151445892091051095204029952727851249011147664237514922337037966594225869203992687995479704182818933986610712922502103772970616134815410442525695792262269594637923722004450361159208659807180287957615229497697110974272045730663500109326270198880239915247 127185359536099158861461227971696757961282540552641605452438272246640911209316701639117311991208061855346515638803809582602177207821017427608218546143673692296183238200148529899262975405293040384336468532589275230968704464081099526538162430873311390521403915481497579622786492289015008736451086326685191384049272021147445670404342757833759992443025936232587223116405346127260646720166044889104395499102629934269308664560269074229066361284937797263230873051097680975093973317131065803261780441102544730097672824599661723495027384480356414538123122286647089994652392975062510151313762932278235779021733723441015376011495598244504992468050217251322072298506620805608771640449232850206966183629372258462306035506994003741393182548724546732671537577588520153824621429188598755859871078673240228392400715136087060345635643998991369599341480594811023906845839577690975846309032279500884458992065228112362953688932786870023323112230270764699536872078513686128929165081722130279288139040011435340672794342617167197577681122045721440268620861275688536101677867389211602798638158951305833887169707766707877049456729976756681725583017527914602955941522597487935815913827122148374051588604577348599162465835777219249574448280963133280986660649971538869631551160753388819175851326149810599193545402861574710564105522597517007811369866800011465391135080945174231994226318236579631101085497634144861815461254751396605522556156692174673868792936214116552967591578831715780510316944626858537366010153866832013029378393503656225674503201511069789335723127348444568669593355306195057631487193733290724043259911643581452962871025135393143157803294673309901729222659157945372210642234476584357276191046267528324176474206057180710450943341825502718718963576110291044840045411957040383657679873237772552677758085430878192599538217191404157988260432315162359915080165727810833416558070393041614748454491409620824122386582169150536831691993825498063445814927414769585517611898161062577726776019869936022272440557265339076779351792284173529533965173904109195513236963122643347510213048836605783387250340345153805536574275566702230508198434679220842425926516827198021338396782168086821629335909665513064731102891005340922769758563145995138717965000726694433912214452561378505291882038220924263947927439108256135901528253596219838025212876 205790234600783997859224529534911028102383096525250055324773320311470329362501298269050973665668765870444347115172997301690522922334139923214247950193136418444316207506377470966512625604818534487057833818100958293544301894444688584392635163331022470306691314018481121920974303365645063008024050434690900990069868912126378939842886713792624435902804606835952480674917695039977679220401019400438413985794722632983949833229282769197955750265857816781801052184660177109100430095429466004926094718768977189438844409961148605147468303423553868648420954355002169789012563414862481025703308582406854844997350600964656694863541952607804879792937208294224796547043118118862959938600059976614617557745265387865509546690123658555770700644437032085757168993726551253078347606448141236881468279261818486850156948815521139281116673902244451830651861978157490855144603792397102052263179107917171091235718545833465553203363135997705597031155682579987368123465689178769314923367512241661119829777424384811471484539653854807561046471598972397416474624901714194530001979159417214876463806662350685829629745764107690879200228996337936154764706133937446249302996332132434874842836161218553268800072663591884832232514702076975728344703728405967975497198625030348146590441667062822778438667874684720317149827571923754450527309632449067450446895830379585398817686764993750316278310910432928059138276519598060956104862858517109395480976923261864070255406127072776851798283035058801626054643471046065423583163673359635062837268957793352140027152748431537473016216097612265773110067854731938605458914240554175873277084886588347433698484264229299452316227934708677656663642255813699824290496628744422745270126820729930658836206185191824309970778022120282864686315392393297027854523813929319823136726838296178346548139634486181902535689409455176594161061689634075424964670195846031655143828580538710161717467443664683139459886404944055679991479725049862288320682109641545187791755986518679820939543635493371495961770764536417914874393668564614020590702465580811919978027903492065855768601988051675478301435549183758264425524577849894745713357016258809020152386031190709333876486350905755615946622588015168504073507140156333212284258938257408312602924448698884273373661221185685579839653450421961058901711153986799401637579866418718265128123 332975594136883156720685757506607786063665637077891660777211592558111240571817999908168285656876827725790862753976806884292700130155157350822466496336810110740499445706526000865775601010111574871394302350690233524513006358525788110930797594204333860828095229499978701543760795654660071744475136761376092374119140933273824610247229471626384428345830543068539703791323041167238325940567064289542809484897352567253258497789551843427022111550795614045031925235757858084194403412560531808187875159871521919536517234560810328642495687903910283186544076641649259783664956389924991177017071514685090624019084324405672070875037550852309872260987425545546868845549738924471731579049292826821583741374637646327815582197117662297163883193161578818428706571315071406902969035636739992741339357935058715242557663951608199626752317901235821429993342572968514761990443370088077898572211387418055550227783773945828506892295922867728920143385953344686904995544202864898244088449234371940407968817435820152144278882271022005138727593644693837685095486177402730631679846548628817675101965613656519716799453530815567928656958973094617880347723661852049205244518929620370690756663283366927320388677240940483994698350479296225302792984691539248962157848596569217778141602420451641954289994024495319510695230433498465014632832229966075261816762630391050789952767710167982310504629147012559160223774153742922771566117609913714918037133615436537939048342341189329819389861866774582136371588097904602789593317540191648092215662461449577814530354259501326808739343446056834442703423160926996236946107973844899916536996530169800396569509399622442610119522608018579385886301413759072034932731105328780021461173088258254835310412242372534760914119847623001583649891502684341867899935770969703480816600076068731024306225065364374502073906600859334582421494004796435340044835923656865071701898973580324910171958853285507261846468574094592511683473550547925734135609524411130705403654147581257547715563505429393768402328029875494694226185952738143554555876369690007433214991026135413365981650824657458865551775894337563800999800144552125253911791695479651446078902858388730672273268518992577245282532253528233235176398145497255982042822084252547030567925175393318185588113782564190871721691671346225006829150262242935303165833462638556290340999 538765828737667154579910287041518814166048733603141716101984912869581569934319298177219259322545593596235209869149804185983223052489297274036714446529946529184815653212903471832288226614930109358452136168791191818057308252970476695323432757535356331134786543518459823464735099020305134752499187196066993364189009845400203550090116185419008864248635149904492184466240736207216005160968083689981223470692075200237208331018834612624977861816653430826832977420418035193294833507989997813113969878640499108975361644521958933789963991327464151834965030996651429572677519804787472202720380097091945469016434925370328765738579503460114752053924633839771665392592857043334691517649352803436201299119903034193325128887241320852934583837598610904185875565041622659981316642084881229622807637196877202092714612767129338907868991803480273260645204551126005617135047162485179950835390495335226641463502319779294060095659058865434517174541635924674273119009892043667559011816746613601527798594860204963615763421924876812699774065243666235101570111079116925161681825708046032551565772276007205546429199294923258807857187969432554035112429795789495454547515261752805565599499444585480589188749904532368826930865181373201031137688419945216937655047221599565924732044087514464732728661899180039827845058005422219465160141862415142712263658460770636188770454475161732626782940057445487219362050673340983727670980468430824313518110538698402009303748468262106671188144901833383762426231568950668213176481213551283155052931419242929954557507007932864281755559543669100215813491015658934842405022214399075789814081416758147830267993663851742062435750542727257042549943669572771859223227734073202766731299908988185494146618427564359070884897869743284448336206895077638895754459584899023303953326914364909370854364699850556404609596010314511176582555694430510765009506119502896726845727554119035071889426296950190401306354979038648191674953275597788022456291634052675893195410134099937368655107140922765264364098794411912609100579621302757575146578835270819353193018929627479221750252812709134343853211443521322065425324722402019999625148711738460466231288889579440006149754869898332861229154841543401739249905285653589194327081022509955343170849624092202458961775003749876451561345121768186065730861416229734704803413329057274555469122 871741422874550311300596044548126600229714370681033376879196505427692810506137298085387544979422421322026072623126611070275923182644454624859180942866756639925315098919429472698063827625041684229846438519481425342570314611496264806254230351739690191962881773018438525008495894674965206496974323957443085738308150778674028160337345657045393292594465692973031888257563777374454331101535147979524032955589427767490466828808386456051999973367449044871864902656175893277489236920550529621301845038512021028511878879082769262432459679231374435021509107638300689356342476194712463379737451611777036093035519249776000836613617054312424624314912059385318534238142595967806423096698645630257785040494540680521140711084358983150098467030760189722614582136356694066884285677721621222364146995131935917335272276718737538534621309704716094690638547124094520379125490532573257849407601882753282191691286093725122566987954981733163437317927589269361178114554094908565803100265980985541935767412296025115760042304195898817838501658888360072786665597256519655793361672256674850226667737889663725263228652825738826736514146942527171915460153457641544659792034191373176256356162727952407909577427145472852821629215660669426333930673111484465899812895818168783702873646507966106687018655923675359338540288438920684479792974092381217974080421091161686978723222185329714937287569204458046379585824827083906499237098078344539231555244154134939948352090809451436490578006768607965898797819666855271002769798753742931247268593880692507769087861267434191090494902989725934658516914176585931079351130188243975706351077946927948226837503063474184672555273150745836428436245083331843894155958839401982788192472997246440329457030669936893831799017717366286031986098397761980763654395355868726784769926990433640395160589765214930906683502611173845759004049699226946105054342043159761798547626527699359982061385150235697663152823553133240703358426826145713756591901158463806598599064281681194916370670646352159032766426824287407303326765574040901129702455204960826786408009955762892587731903637366593209404987337858885866425124866954145253536940407218111912310191747968170678423023388890910106511687095071634974426303431150845176369903106762502373738774799485520644549888786314067323283036793114411072560011678472670007969246791695830845810121 1410507251612217465880506331589645414395763104284175092981181418297274380440456596262606804301968014918261282492276415256259146235133751898895895389396703169110130752132332944530352054239971793588298574688272617160627622864466741501577663109275046523097668316536898348473230993695270341249473511153510079102497160624074231710427461842464402156843100842877524072723804513581670336262503231669505256426281502967727675159827221068676977835184102475698697880076593928470784070428540527434415814917152520137487240523604728196222423670558838586856474138634952118929019995999499935582457831708868981562051954175146329602352196557772539376368836693225090199630735453011141114614347998433693986339614443714714465839971600304003033050868358800626800457701398316726865602319806502451986954632328813119427986889485866877442490301508196367951283751675220525996260537695058437800242992378088508833154788413504416627083614040598597954492469225194035451233563986952233362112082727599143463566007156230079375805726120775630538275724132026307888235708335636580955043497964720882778233510165670930809657852120662085544371334911959725950572583253431040114339549453125981821955662172537888498766177050005221648560080842042627365068361531429682837467943039768349627605690595480571419747317822855399166385346444342903944953115954796360686344079551932323167493676660491447564070509261903533598947875500424890226908078546775363545073354692833341957655839277713543161766151670441349661224051235805939215946279967294214402321525299935437723645368275367055372250462533395034874330405192244865921756152402643051496165159363686096057105496727325926734991023693473093470986188752904615753379186573475185554923772906234625823603649097501252902683915587109570480322305292839619659408854940767750088723253904798549766014954465065487311293098621488356935586605393657456870063848162662658525393354081818395053950811447185888064459178532171888895033380101743501779048192792516482491794474415781132285025777787274924297130525618699319912427345195343658704849034040231646139601028885390371809482156450075727553258198781380207931850449589356165253162089118956572378541480637547610684572778258789242967740841936615036713676208716804434370696984129272457716909624423577723103511663790063943774844381914882597138290873094702404712772660120753105401279243 2282248674486767777181102376137772014625477474965208469860377923724967190946593894347994349281390436240287355115403026326535069417778206523755076332263459809035445851051762417228415881865013477818145013207754042503197937475963006307831893461014736715060550089555336873481726888370235547746447835110953164840805311402748259870764807499509795449437566535850555960981368290956124667364038379649029289381870930735218141988635607524728977808551551520570562782732769821748273307349091057055717659955664541165999119402687497458654883349790213021877983246273252808285362472194212398962195283320646017655087473424922330438965813612084964000683748752610408733868878048978947537711046644063951771380108984395235606551055959287153131517899118990349415039837755010793749887997528123674351101627460749036763259166204604415977111611212912462641922298799315046375386028227631695649650594260841791024846074507229539194071569022331761391810396814463396629348118081860799165212348708584685399333419452255195135848030316674448376777383020386380674901305592156236748405170221395733004901248055334656072886504946400912280885481854486897866032736711072584774131583644499158078311824900490296408343604195478074470189296502712053698999034642914148737280838857937133330479337103446678106765973746530758504925634883263588424746090047177578660424500643094010146216898845821162501358078466361579978533700327508796726145176625119902776628598846968281906007930087164979652344158439049315560021870902661210218716078721037145649590119180627945492733229542801246462745365523120969532847319368830797001107282590887027202516237310614044283942999790800111407546296844218929899422433836236459647535145412877168343116245903481066153060679767438146734482933304475856512308403690601600423063250296636476873493180895232190161175544230280418217976601232662202694590655092884402975118190205822420323940980609517755036012196597421585727612002085305129598391806927889215535640093950980289090393538697462327201396448433627083329896952442986727215754110769384559834551489245192472926009038841153264397214060087442320762663186119239093798275574456310310506699029526174684290851672385515781362995801647680153074252529031686671688102512147955279547066887236034960090648399223063243748061552576378011098127418707997008210850884773175074720741906912448936247089364 3692755926098985243061608707727417429021240579249383562841559342022241571387050490610601153583358451158548637607679441582794215652911958422650971721660162978145576603184095361758767936104985271406443587896026659663825560340429747809409556570289783238158218406092235221954957882065505888995921346264463243943302472026822491581192269341974197606280667378728080033705172804537795003626541611318534545808152433702945817148462828593405955643735653996269260662809363750219057377777631584490133474872817061303486359926292225654877307020349051608734457384908204927214382468193712334544653115029514999217139427600068660041318010169857503377052585445835498933499613501990088652325394642497645757719723428109950072391027559591156164568767477790976215497539153327520615490317334626126338056259789562156191246055690471293419601912721108830593206050474535572371646565922690133449893586638930299858000862920733955821155183062930359346302866039657432080581682068813032527324431436183828862899426608485274511653756437450078915053107152412688563137013927792817703448668186116615783134758221005586882544357067062997825256816766446623816605319964503624888471133097625139900267487073028184907109781245483296118749377344754681064067396174343831574748781897705482958085027698927249526513291569386157671310981327606492369699206001973939346768580195026333313710575506312610065428587728265113577481575827933686953053255171895266321701953539801623863663769364878522814110310109490665221245922138467149434662358688331360051911644480563383216378597818168301834995828056516004407177724561075662922863434993530078698681396674300140341048496518126038142537320537692023370408622589141075400914331986352353898040018809715691976664328864939399637166848891585426992630708983441220082472105237404226962216434800030739927190498695345905529269699854150559630177260486541859845182038368485078849334334691336150089963008044607473792071180617477018493425187029632717314688286743496771582188013113243459486422226220902007627027478061686047128181455964728218539400523285424119065610067726543636206696216537518048315921384900619301730126024045666475759861118645131256669393153023063392047568579906469396041993370968301708401778720864759713917763871365307417807558023646640966851573216366441954872971800622879605349141757867877479433514567033202041648368607 5975004600585753020242711083865189443646718054214592032701937265747208762333644384958595502864748887398835992723082467909329285070690164946406048053923622787181022454235857778987183817969998749224588601103780702167023497816392754117241450031304519953218768495647572095436684770435741436742369181375416408784107783429570751451957076841483993055718233914578635994686541095493919670990579990967563835190023364438163959137098436118134933452287205516839823445542133571967330685126722641545851134828481602469485479328979723113532190370139264630612440631181457735499744940387924733506848398350161016872226901024990990480283823781942467377736334198445907667368491550969036190036441286561597529099832412505185678942083518878309296086666596781325630537376908338314365378314862749800689157887250311192954505221895075709396713523934021293235128349273850618747032594150321829099544180899772090882846937427963495015226752085262120738113262854120828709929800150673831692536780144768514262232846060740469647501786754124527291830490172799069238038319519949054451853838407512348788036006276340242955430862013463910106142298620933521682638056675576209662602716742124297978579311973518481315453385440961370588938673847466734763066430817257980312029620755642616288564364802373927633279265315916916176236616210870080794445296049151518007193080838120343459927474352133772566786666194626693556015276155442483679198431797015169098330552386769905769671699452043502466454468548539980781267793041128359653378437409368505701501763661191328709111827360969548297741193579636973940025043929906459923970717584417105901197633984914184624991496308926149550083617381910953269831056425377535048449477399229522241156264713196758129725008632377546371649782196061283504939112674042820505535355534040703835709615695262930088366042925626323747246301086812762324767915579426262820300228574307499173275315300853905125975204642029059519683182702782148091816993957521932850328380694477060672581551810705786687818674654529090956924430504672774343935566734112778373952012530616591991619106567696900603910276624960369078584571019858395528401598501976786266560148171305940960244825408579173410564381554149549116245899999988380089881233012714993464830758601342377898206422869704210599634768942819965971099219330876613559992642641052554154256473945650977895457971 9667760526684738263304319791592606872667958633463975595543496607769450333720694875569196656448107338557384630330761909492123500723602123369057019775583785765326599057419953140745951754074984020631032188999807361830849058156822501926651006601594303191376986901739807317391642652501247325738290527639879652727410255456393243033149346183458190661998901293306716028391713900031714674617121602286098380998175798141109776285561264711540889096022859513109084108351497322186388062904354226035984609701298663772971839255271948768409497390488316239346898016089662662714127408581637068051501513379676016089366328625059650521601833951799970754788919644281406600868105052959124842361835929059243286819555840615135751333111078469465460655434074572301846034916061665834980868632197375927027214147039873349145751277585547002816315436655130123828334399748386191118679160073011962549437767538702390740847800348697450836381935148192480084416128893778260790511482219486864219861211580952343125132272669225744159155543191574606206883597325211757801175333447741872155302506593628964571170764497345829837975219080526907931399115387380145499243376640079834551073849839749437878846799046546666222563166686444666707688051192221415827133826991601811886778402653348099246649392501301177159792556885303073847547597538476573164144502051125457353961661033146676773638049858446382632215253922891807133496851983376170632251686968910435420032505926571529633335468816922025280564778658030646002513715179595509088040796097699865753413408141754711925490425179137850132737021636152978347202768490982122846834152577947184599879030659214324966039992827052187692620937919602976640239679014518610449363809385581876139196283522912450106389337497316946008816631087646710497569821657484040588007460771444930797926050495293670015556541620972229276516000940963321954945176065968122665482266942792578022609649992190055215938212686636533311754363320259166585242180987154650165016667437973832254769564923949246174240900875431098583951908566358821472117022698840996913352535816040711057229174294240536810606493162478417394505955920477697258527622547643262026421266816437197629637978431642565458132961460618945158239270968290088491659953877474707382594629966649795705764446516345177451207985309261920844071019953756218909134400508930033587771040978853019543826578 15642765127270491283547030875457796316314676687678567628245433873516659096054339260527792159312856225956220623053844377401452785794292288315463067829507408552507621511655810919733135572044982769855620790103588063997872555973215256043892456632898823144595755397387379412828327422936988762480659709015296061511518038885963994485106423024942183717717135207885352023078254995525634345607701593253662216188199162579273735422659700829675822548310065029948907553893630894153718748031076867581835744529780266242457318584251671881941687760627580869959338647271120398213872348969561801558349911729837032961593229650050641001885657733742438132525253842727314268236596603928161032398277215620840815919388253120321430275194597347774756742100671353627476572292970004149346246947060125727716372034290184542100256499480622712213028960589151417063462749022236809865711754223333791648981948438474481623694737776660945851608687233454600822529391747899089500441282370160695912397991725720857387365118729966213806657329945699133498714087498010827039213652967690926607156345001141313359206770773686072793406081093990818037541414008313667181881433315656044213676566581873735857426111020065147538016552127406037296626725039688150590200257808859792198808023408990715535213757303675104793071822201219990023784213749346653958589798100276975361154741871267020233565524210580155199001920117518500689512128138818654311450118765925604518363058313341435403007168268965527747019247206570626783781508220723868741419233507068371454915171802946040634602252540107398430478215215789952287227812420888582770804870162364290501076664644128509591031489135978337242704555301513929910070735439896145497813286784811398380352548236109208236114346129694492380466413283707994002508934331526861093542816305485634633635666190556600103922584546598553023762302027776084279713091645394385485782495517100077195884965293043960341913417328665592831437546023041314677059174944676583015345048132450892927351116734655032862059575529960189540876339071031595816052589432953775287304548346657303048848280861937437414516769787438786473090526940336092786929221049620048292981414987743138589882803840221738868697343014768494274485170968278468581541186890189700847425388567992173603970869386049388050842754252081886815170239284632832469127043149982587742027514924503997439284549 25310525653955229546851350667050403188982635321142543223788930481286109429775034136096988815760963564513605253384606286893576286517894411684520087605091194317834220569075764060479087326119966790486652979103395425828721614130037757970543463234493126335972742299127186730219970075438236088218950236655175714238928294342357237518255769208400374379716036501192068051469968895557349020224823195539760597186374960720383511708220965541216711644332924543057991662245128216340106810935431093617820354231078930015429157839523620650351185151115897109306236663360783060927999757551198869609851425109513049050959558275110291523487491685542408887314173487008720869104701656887285874760113144680084102738944093735457181608305675817240217397534745925929322607209031669984327115579257501654743586181330057891246007777066169715029344397244281540891797148770623000984390914296345754198419715977176872364542538125358396687990622381647080906945520641677350290952764589647560132259203306673200512497391399191957965812873137273739705597684823222584840388986415432798762458851594770277930377535271031902631381300174517725968940529395693812681124809955735878764750416421623173736272910066611813760579718813850704004314776231909566417334084800461604085586426062338814781863149804976281952864379086523063871331811287823227122734300151402432715116402904413697007203574069026537831217174040410307823008980122194824943701805734836039938395564239912965036342637085887553027584025864601272786295223400319377829460029604768237208328579944700752560092677719245248563215236851942930634430580911870705617639022740311475100955695303342834557071481963030524935325493221116906550310414454414755947177096170393274519548831759021658342503683627011438389283044371354704500078755989010901681550277076930565431561716685850270119479126167570782300278302968739406234658267711362508151264762459892655218494615285234015557851630015302126143191909343300481262301355931831233180361715570424725182120681658604279036300476405391288124828247637390417288169612131794772200657084162698014106077455156177974225123262949917203867596482860813790045456843597263310319402681804180336219520782271864304326830304475387439432724441936568557073201140767664408230020018534641969309735315902394565502050739561343807659241259238389051378261443658912621329798555903357016983111127 40953290781225720830398381542508199505297312008821110852034364354802768525829373396624780975073819790469825876438450664295029072312186699999983155434598602870341842080731574980212222898164949560342273769206983489826594170103253014014435919867391949480568497696514566143048297498375224850699609945670471775750446333228321232003362192233342558097433171709077420074548223891082983365832524788793422813374574123299657247130880666370892534192642989573006899216138759110493825558966507961199656098760859196257886476423775292532292872911743477979265575310631903459141872106520760671168201336839350082012552787925160932525373149419284847019839427329736035137341298260815446907158390360300924918658332346855778611883500273165014974139635417279556799179502001674133673362526317627382459958215620242433346264276546792427242373357833432957955259897792859810850102668519679545847401664415651353988237275902019342539599309615101681729474912389576439791394046959808256044657195032394057899862510129158171772470203082972873204311772321233411879602639383123725369615196595911591289584306044717975424787381268508544006481943404007479863006243271391922978426983003496909593699021086676961298596270941256741300941501271597717007534342609321396284394449471329530317076907108651386745936201287743053895116025037169881081324098251679408076271144775680717240769098279606693030219094157928808512521108261013479255151924500761644456758622553254400439349805354853080774603273071171899570076731621043246570879263111836608663243751747646793194694930259352646993693452067732882921658393332759288388443892902675765602032359947471344148102971099008862178030048522630836460381149894310901444990382955204672899901379995130866578618029756705930769749457655062698502587690320537762775093093382416200065197382876406870223401710714169335324040604996515490514371359356756893637047257976992732414379580578277975899765047343967718974629455366341795939360530876507816195706763702875618109471798393259311898360051935351477665704586708422013104222201564748547487961632509355317154925736018115411639640032737355990340687009801149882832386064646883358612384096791923474809403586112086043195527647490155933707209612904847025654742327657854109077445407102634142913706185288443953552893493813425694474411498523021883847388486808895209071826070827861014422395676 66263816435180950377249732209558602694279947329963654075823294836088877955604407532721769790834783354983431129823056951188605358830081111684503243039689797188176062649807339040691310224284916350828926748310378915655315784233290771984979383101885075816541239995641752873268267573813460938918560182325647489989374627570678469521617961441742932477149208210269488126018192786640332386057347984333183410560949084020040758839101631912109245836975914116064890878383887326833932369901939054817476452991938126273315634263298913182644058062859375088571811973992686520069871864071959540778052761948863131063512346200271224048860641104827255907153600816744756006445999917702732781918503504981009021397276440591235793491805948982255191537170163205486121786711033344118000478105575129037203544396950300324592272053612962142271717755077714498847057046563482811834493582816025300045821380392828226352779814027377739227589931996748762636420433031253790082346811549455816176916398339067258412359901528350129738283076220246612909909457144455996719991625798556524132074048190681869219961841315749878056168681443026269975422472799701292544131053227127801743177399425120083329971931153288775059175989755107445305256277503507283424868427409783000369980875533668345098940056913627668698800580374266117766447836324993108204058398403081840791387547680094414247972672348633230861436268198339116335530088383208304198853730235597684395154186793167365475692442440740633802187298935773172356371955021362624400339292716604845871572331692347545754787607978597895556908688919675813556088974244629994006082915642987240702988055250814178705174453062039387113355541743747743010691564348725657392167479125597947419450211754152524921121713383717369159032502026417403002666446309548664456643370459346765496759099562257140342880836881740117624318907965254896749029627068119401788312020436885387632874195863511991457616677359269845117821364709642277201661886808339049376068479273300343291592480051863590934660528340742765790532834345812430392391813696543319688618716672053331261003191174293385864763295687273194208283492661963672877842908244146668931786778596103811028924368383950347522357951965543373139934054841415582727943468425518517307465425637276112223441501190838519054944233374769502133652757761410935225649930467807830401624626731218031405506803 107217107216406671207648113752066802199577259338784764927857659190891646481433780929346550765908603145453257006261507615483634431142267811684486398474288400058517904730538914020903533122449865911171200517517362405481909954336543785999415302969277025297109737692156319016316565072188685789618170127996119265739820960798999701524980153675085490574582379919346908200566416677723315751889872773126606223935523207319698005969982298283001780029618903689071790094522646437327757928868447016017132551752797322531202110687074205714936930974602853067837387284624589979211743970592720211946254098788213213076065134125432156574233790524112102926993028146480791143787298178518179689076893865281933940055608787447014405375306222147270165676805580485042920966213035018251673840631892756419663502612570542757938536330159754569514091112911147456802316944356342622684596251335704845893223044808479580341017089929397081767189241611850444365895345420830229873740858509264072221573593371461316312222411657508301510753279303219486114221229465689408599594265181680249501689244786593460509546147360467853480956062711534813981904416203708772407137296498519724721604382428616992923670952239965736357772260696364186606197778775105000432402770019104396654375325004997875416016964022279055444736781662009171661563861362162989285382496654761248867658692455775131488741770628239923891655362356267924848051196644221783454005654736359328851912809346421765915042247795593714576790572006945071926448686642405870971218555828441454534816083439994338949482538237950542550602140987408696477747367577389282394526808545663006305020415198285522853277424161048249291385590266378579471072714243036558837157862080802620319351591749283391499739743140423299928781959681480101505254136630086427231736463841762965561956482438664010566282547595909452948359512961770387263400986424876295425359278413878120047253776441789967357381724703237564092450820075984073141022417684846865571775242976175961401064278445122902833020580276094243456237421054234443496614015261291867176580349181408648415928927192408797504403328424629184548970502463113555710228972891030027544170875388027285838327954496036390717885599455699306847143667746262608382685796083372626384910832739910255137147686479282472607837727188195196608064256284432819073038417276703039473450697559079045827902479 173480923651587621584897845961625404893857206668748419003680954026980524437038188462068320556743386500436688136084564566672239789972348923368989641513978197246693967380346253061594843346734782262000127265827741321137225738569834557984394686071162101113650977687798071889584832646002146728536730310321766755729195588369678171046598115116828423051731588129616396326584609464363648137947220757459789634496472291339738764809083930195111025866594817805136680972906533764161690298770386070834609004744735448804517744950373118897580989037462228156409199258617276499281615834664679752724306860737076344139577480325703380623094431628939358834146628963225547150233298096220912470995397370262942961452885228038250198867112171129525357213975743690529042752924068362369674318737467885456867047009520843082530808383772716711785808867988861955649373990919825434519089834151730145939044425201307806693796903956774820994779173608599207002315778452084019956087670058719888398489991710528574724582313185858431249036355523466099024130686610145405319585890980236773633763292977275329729507988676217731537124744154561083957326889003410064951268349725647526464781781853737076253642883393254511416948250451471631911454056278612283857271197428887397024356200538666220514957020935906724143537362036275289428011697687156097489440895057843089659046240135869545736714442976873154753091630554607041183581285027430087652859384971957013247066996139589131390734690236334348378977870942718244282820641663768495371557848545046300406388415132341884704270146216548438107510829907084510033836341822019276400609724188650247008008470449099701558451877223087636404741132010126322481764278591762216229325341206400567738801803503435916420861456524140669087814461707897504507920582939635091688379834301109731058715582000921150909163384477649570572678420927025284012430613492995697213671298850763507680127972305301958814998402062507409210272184785626350342684304493185914947843722249476304692656758496986493767681108616837009246770255400046873889005828957835186865199065853461979676932118366702183369166624111902378757253995125077228588071881135176696475957653984131096867252322879986738240243551421242679987077722587678191110629264508891143692376258377186367360589187670120991662781960562964698741717014045843754298688347744510869875075324290297077233409282 280698030867994292792545959713692207093434466007533183931538613217872170918471969391414871322651989645889945142346072182155874221114616735053476039988266597305211872110885167082498376469184648173171327783345103726619135692906378343983809989040439126410760715379954390905901397718190832518154900438317886021469016549168677872571578268791913913626313968048963304527151026142086963889837093530586395858431995498659436770779066228478112805896213721494208471067429180201489448227638833086851741556497532771335719855637447324612517920012065081224246586543241866478493359805257399964670560959525289557215642614451135537197328222153051461761139657109706338294020596274739092160072291235544876901508494015485264604242418393276795522890781324175571963719137103380621348159369360641876530549622091385840469344713932471281299899980900009412451690935276168057203686085487434991832267470009787387034813993886171902761968415220449651368211123872914249829828528567983960620063585081989891036804724843366732759789634826685585138351916075834813919180156161917023135452537763868790239054136036685585018080806866095897939231305207118837358405646224167251186386164282354069177313835633220247774720511147835818517651835053717284289673967447991793678731525543664095930973984958185779588274143698284461089575559049319086774823391712604338526704932591644677225456213605113078644746992910874966031632481671651871106865039708316342098979805486010897305776938031928062955768442949663316209269328306174366342776404373487754941204498572336223653752684454498980658112970894493206511583709399408558795136532734313253313028885647385224411729301384135885696126722276504901952836992834798775066483203287203188058153395252719307920601199664563969016596421389377606013174719569721518920116298142872696620672064439585161475445932073559023521037933888795671275831599917871992639030577264641627727381748747091926172380126765744973302723004861610423483706722178032780519618965225652266093721036942109396600701688892931252703007676454281317385619844219127054041779415034870628092861045559110980873569952536531563306224497588190784298300854026206724020128529372158382705580277376023128958129150876941986834221390333940799493315060592263770077287091117096622497736874149403464270619687751159895349781270330276573371726765021213909348526021849376123061311761 454178954519581914377443805675317611987291672676281602935219567244852695355510157853483191879395376146326633278430636748828114011086965658422465681502244794551905839491231420144093219815919430435171455049172845047756361431476212901968204675111601227524411693067752462795486230364192979246691630748639652777198212137538356043618176383908742336678045556178579700853735635606450612027784314288046185492928467789999175535588150158673223831762808539299345152040335713965651138526409219157686350561242268220140237600587820443510098909049527309380655785801859142977774975639922079717394867820262365901355220094776838917820422653781990820595286286072931885444253894370960004631067688605807819862961379243523514803109530564406320880104757067866101006472061171742991022478106828527333397596631612228923000153097705187993085708848888871368101064926195993491722775919639165137771311895211095193728610897842946723756747588829048858370526902324998269785916198626703849018553576792518465761387038029225164008825990350151684162482602685980219238766047142153796769215830741144119968562124712903316555205551020656981896558194210528902309673995949814777651167946136091145430956719026474759191668761599307450429105891332329568146945164876879190703087726082330316445931005894092503731811505734559750517587256736475184264264286770447428185751172727514222962170656581986233397838623465482007215213766699081958759724424680273355346046801625600028696511628268262411334746313892381560492089969969942861714334252918534055347592913704678108358022830671047418765623800801577716545420051221427835195746256922963500321037356096484925970181178607223522100867854286631224434601271426560991295808544493603755796955198756155224341462656188704638104410883097275110521095302509356610608496132443982427679387646440506312384609316551208594093716354815820955288262213410867689852701876115405135407509721052393884987378528828252382512995189647236773826391026671218695467462687475128570786377795439095890368382797509768261949777931854328191274625673176962240906978480888332607769793163925813164242736576648433942063478492713268012886372735161383420496086183356289479572832600256009867198372702298184666821299112921618990603944325101154913769663349494282989858326061819524455933401648314124594091498284376120327670415112765724779223601346139673200294721043 734876985387576207169989765389009819080726138683814786866758180462724866273982127244898063202047365792216578420776708930983988232201582393475941721490511391857117711602116587226591596285104078608342782832517948774375497124382591245952014664152040353935172408447706853701387628082383811764846531186957538798667228686707033916189754652700656250304359524227543005380886661748537575917621407818632581351360463288658612306367216387151336637659022260793553623107764894167140586754048052244538092117739800991475957456225267768122616829061592390604902372345101009456268335445179479682065428779787655458570862709227974455017750875935042282356425943182638223738274490645699096791139979841352696764469873259008779407351948957683116402995538392041672970191198275123612370637476189169209928146253703614763469497811637659274385608829788880780552755861472161548926462005126600129603579365220882580763424891729118626518716004049498509738738026197912519615744727194687809638617161874508356798191762872591896768615625176837269300834518761815033157946203304070819904668368505012910207616260749588901573286357886752879835789499417647739668079642173982028837554110418445214608270554659695006966389272747143268946757726386046852436619132324870984381819251625994412376904990852278283320085649432844211607162815785794271039087678483051766712456105319158900187626870187099312042585616376356973246846248370733829866589464388589697445026607111610926002288566300190474290514756842044876701359298276117228057110657292021810288797412277014332011775515125546399423736771696070923057003760620836393990882789657276753634066241743870150381910479991359407796994576563136126387438264261359766362291747780806943855108594008874532262063855853268607121007304486652716534270022079078129528612430586855124300059710880091473860055248624767617614754288704616626564093813328739682491732453380046763134891469799485811159758655593997355815718194508847197310097748849251475987081652700780836880098832381205286969084486402699514652785608308609508660245517396089294948757895923203235862654209484924145116306529184965505369702990301458797184673589187590144516214712728447862278412877632032996156501853175126653655520503255559790097259385693418683846950440611379612356062935968927920204021336065284489441279554706396901042141877786938688572127367989049323356032804 1189055939907158121547433571064327431068017811360096389801977747707577561629492285098381255081442741938543211699207345679812102243288548051898407402992756186409023551093348007370684816101023509043514237881690793822131858555858804147920219339263641581459584101515459316496873858446576791011538161935597191575865440824245389959807931036609398586982405080406122706234622297354988187945405722106678766844288931078657787841955366545824560469421830800092898775148100608132791725280457271402224442678982069211616195056813088211632715738111119699985558158146960152434043311085101559399460296600050021359926082804004813372838173529717033102951712229255570109182528385016659101422207668447160516627431252502532294210461479522089437283100295459907773976663259446866603393115583017696543325742885315843686469650909342847267471317678677752148653820787668155040649237924765765267374891260431977774492035789572065350275463592878547368109264928522910789401660925821391658657170738667026822559578800901817060777441615526988953463317121447795252396712250446224616673884199246157030176178385462492218128491908907409861732347693628176641977753638123796806488722056554536360039227273686169766158058034346450719375863617718376420583564297201750175084906977708324728822835996746370787051897155167403962124750072522269455303351965253499194898207278046673123149797526769085545440424239841838980462060015069815788626313889068863052791073408737210954698800194568452885625261070734426437193449268246060089771444910210555865636390325981692440369798345796593818189360572497648639602423811842264229186629046580240253955103597840355076352091658598582929897862430849767350822039535687920757658100292274410699652063792765029756603526512041973245225418187583927827055365324588434740137108563030837551979447357320597786244664565175976211708470643520437581852356026739607372344434329495451898542401190851879696147137184422249738328713384156083971136488775520470171454544340175909407666476627820301177337467283912467776602563540162937699934871190573051535855736376811535843632447373410737309359043105833399447433181483014726810071046324348973565012300896084737341851245477888042863354874555473311320476819616177178780701203710794573597616613790105662602214388997788452376137422984379409083532777839082517228712556990552663467795728714128722523650753847 1923932925294734328717423336453337250148743950043911176668735928170302427903474412343279318283490107730759790119984054610796090475490130445374349124483267578266141262695464594597276412386127587651857020714208742596507355680241395393872234003415681935394756509963166170198261486528960602776384693122554730374532669510952423875997685689310054837286764604633665711615508959103525763863027129925311348195649394367316400148322582932975897107080853060886452398255865502299932312034505323646762534796721870203092152513038355979755332567172712090590460530492061161890311646530281039081525725379837676818496945513232787827855924405652075385308138172438208332920802875662358198213347648288513213391901125761541073617813428479772553686095833851949446946854457721990215763753059206865753253889139019458449939148720980506541856926508466632929206576649140316589575699929892365396978470625652860355255460681301183976794179596928045877848002954720823309017405653016079468295787900541535179357770563774408957546057240703826222764151640209610285554658453750295436578552567751169940383794646212081119701778266794162741568137193045824381645833280297778835326276166972981574647497828345864773124447307093593988322621344104423273020183429526621159466726229334319141199740987598649070371982804600248173731912888308063726342439643736550961610663383365832023337424396956184857483009856218195953708906263440549618492903353457452750236100015848821880701088760868643359915775827576471313894808566522177317828555567502577675925187738258706772381573860922140217613097344193719562659427572463100623177511836237517007589169839584225226734002138589942337694857007412903477209477799949280524020392040055217643507172386773904288865590367895241852346425492070580543589635346667512869665720993617692676279507068200689260104719813800743829323224932225054208416449840068347054836166782875498661677292660651365507306895840016247094144431578664931168446586524369721647441625992876690244546575460201506464306551770315167291255349148471547208595116707969140830804494272734739079495101582895661454475349635018364952802884473316185607255719913536563709528515608813185204129658355520075859511376408648437974132340119432738570798463096487992281463564230717042214570451933757380296341444320444693572974057393788914129754698868339602156367856082117771847006786651 3112988865201892450264856907517664681216761761404007566470713675877879989532966697441660573364932849669303001819191400290608192718778678497272756527476023764675164813788812601967961228487151096695371258595899536418639214236100199541792453342679323516854340611478625486695135344975537393787922855058151921950398110335197813835805616725919453424269169685039788417850131256458513951808432852031990115039938325445974187990277949478800457576502683860979351173403966110432724037314962595048986977475703939414708347569851444191388048305283831790576018688639021314324354957615382598480986021979887698178423028317237601200694097935369108488259850401693778442103331260679017299635555316735673730019332378264073367828274908001861990969196129311857220923517717168856819156868642224562296579632024335302136408799630323353809328244187144385077860397436808471630224937854658130664353361886084838129747496470873249327069643189806593245957267883243734098419066578837471126952958639208562001917349364676226018323498856230815176227468761657405537951370704196520053252436766997326970559973031674573337830270175701572603300484886674001023623586918421575641814998223527517934686725102032034539282505341440044707698484961822799693603747726728371334551633207042643870022576984345019857423879959767652135856662960830333181645791608990050156508870661412505146487221923725270402923434096060034934170966278510365407119217242526315803027173424586032835399888955437096245541036898310897751088257834768237407600000477713133541561578064240399212751372206718734035802457916691368202261851384305364852364140882817757261544273437424580303086093797188525267592719438262670828031517335637201281678492332329628343159236179538934045469116879937215097571843679654508370645000671255947609802829556648530228258954425521287046349384378976720041031695575745491790268805866807954427180601112370950560219693851503245203454033024438496832473144962821015139583075299890191818896170333052599652213052088021807641644019054227635067857912688634484908529987898542192366660230649546274923127548956306398763834392740851764400236065956330912417326766237885537274540816504897922545980903833408118722866250964121749294609159735609917351499666807282565879080178020822704816784840931545832672478867304824102656506835232871431358467255858892265624163584796246494370657540498 5036921790496626778982280243971001931365505711447918743139449604048182417436441109784939891648422957400062791939175454901404283194268808942647105651959291342941306076484277196565237640873278684347228279310108279015146569916341594935664687346095005452249097121441791656893396831504497996564307548180706652324930779846150237711803302415229508261555934289673454129465640215562039715671459981957301463235587719813290588138600532411776354683583536921865803571659831612732656349349467918695749512272425809617800500082889800171143380872456543881166479219131082476214666604145663637562511747359725374996919973830470389028550022341021183873567988574131986775024134136341375497848902965024186943411233504025614441446088336481634544655291963163806667870372174890847034920621701431428049833521163354760586347948351303860351185170695611018007066974085948788219800637784550496061331832511737698485002957152174433303863822786734639123805270837964557407436472231853550595248746539750097181275119928450634975869556096934641398991620401867015823506029157946815489830989334748496910943767677886654457532048442495735344868622079719825405269420198719354477141274390500499509334222930377899312406952648533638696021106305927222966623931156254992494018359436376963011222317971943668927795862764367900309588575849138396907988231252726601118119534044778337169824646320681455260406443952278230887879872541950915025612120595983768553263273440434854716100977716305739605456812725887369064983066401290414725428556045215711217486765802499105985132946067640874253415555260885087764921278956768465475541652719055274269133443277008805529820095935778467605287576445675574305240995135586481805698884372384845986666408566312838334334707247832456949918269171725088914234636017923460479468550550266222904538461493721976306454104192777463870354920507970545998685255706876301482016767895246449221896986512154610710760928864454743926617576541485946308029661824259913466337796325929289896759627548223314105950570824542802359113261837106032117125104606511333197464724922281014002622650539202060218309742375870129353038950429647098024582486151422100984069332113711107750110562188928194582377627372770187268741499855042655922298129903770558160543742251539747031355292865303212968820311625268796229480892626660345488221954727231867780531440878364266217664327149 8149910655698519229247137151488666612582267472851926309610163279926062406969407807226600465013355807069365793758366855192012475913047487439919862179435315107616470890273089798533198869360429781042599537906007815433785784152441794477457140688774328969103437732920417143588532176480035390352230403238858574275328890181348051547608919141148961685825103974713242547315771472020553667479892833989291578275526045259264776128878481890576812260086220782845154745063797723165380386664430513744736489748129749032508847652741244362531429177740375671742497907770103790539021561761046236043497769339613073175343002147707990229244120276390292361827838975825765217127465397020392797484458281759860673430565882289687809274363244483496535624488092475663888793889892059703854077490343655990346413153187690062722756747981627214160513414882755403084927371522757259850025575639208626725685194397822536614750453623047682630933465976541232369762538721208291505855538810691021722201705178958659183192469293126860994193054953165456575219089163524421361457399862143335543083426101745823881503740709561227795362318618197307948169106966393826428893007117140930118956272614028017444020948032409933851689457989973683403719591267750022660227678882983363828569992643419606881244894956288688785219742724135552445445238809968730089634022861716651274628404706190842316311868244406725663329878048338265822050838820461280432731337838510084356290446865020887551500866671742835850997849624198266816071324236058652133028556522928844759048343866739505197884318274359608289218013177576455967183130341073830327905793601873031530677716714433385832906189732966992872880295883938245133272512471223683087377376704714474329825644745851772379803824127769672047490112851379597284879636689179408089271380106914753132797415919243263352803488571754183911386616083716037788954061573684255909197369007617399782116680363657855914214961888893240759090721504306961447612737124150105285233966658981889548972679636245121747594589878770437426971174525740517025655092505053525564124955571827288925750199495508458982144135116721893753275016385978010441909252389307638258610148618609030296091466022336313305243878336891936563350659590652573273797796711053124039623920272362451848140133796849045641299178930092898885987727859531776846689210586124133404695025674610760588321867647 13186832446195146008229417395459668543947773184299845052749612883974244824405848917011540356661778764469428585697542310093416759107316296382566967831394606450557776966757366995098436510233708465389827817216116094448932354068783389413121828034869334421352534854362208800481929007984533386916537951419565226600259670027498289259412221556378469947381038264386696676781411687582593383151352815946593041511113765072555364267479014302353166943669757704710958316723629335898036736013898432440486002020555558650309347735631044533674810050196919552908977126901186266753688165906709873606009516699338448172262975978178379257794142617411476235395827549957751992151599533361768295333361246784047616841799386315302250720451580965131080279780055639470556664262066950550888998112045087418396246674351044823309104696332931074511698585578366421091994345608706048069826213423759122787017026909560235099753410775222115934797288763275871493567809559172848913292011042544572317450451718708756364467589221577495970062611050100097974210709565391437184963429020090151032914415436494320792447508387447882252894367060693043293037729046113651834162427315860284596097547004528516953355170962787833164096410638507322099740697573677245626851610039238356322588352079796569892467212928232357713015605488503452755033814659107126997622254114443252392747938750969179486136514565088180923736322000616496709930711362412195458343458434493852909553720305455742267601844388048575456454662350085635881054390637349066858457112568144555976535109669238611183017264342000482542633568438461543732104409297842295803447446320928305799811159991442191362726285668745460478167872329613819438513507606810164893076261077099320316492053312164610714138531375602128997408382023104686199114272707102868568739930657180976037335877412965239659257592764531647781741536591686583787639317280560557391214136902863849004013666875812466624975890753347984685708298045792907755642398948410018751571762984911179445732307184468435853545160703313239786084436362846549142780197111564858761589680494108302928372850034710519200453877492592023106313966815625108466491738540729739242679480732320138046202028211264507887621505709662123832092159445695229196095926614823682200167662523902198879495426662152258610119490555361695115468620486192122334911165313356001185226466552975026805986194796 21336743101893665237476554546948335156530040657151771362359776163900307231375256724238140821675134571538794379455909165285429235020363783822486830010829921558174247857030456793631635379594138246432427355122123909882718138221225183890578968723643663390455972587282625944070461184464568777268768354658423800875588560208846340807021140697527431633206142239099939224097183159603147050631245649935884619786639810331820140396357496192929979203755978487556113061787427059063417122678328946185222491768685307682818195388372288896206239227937295224651475034671290057292709727667756109649507286038951521347605978125886369487038262893801768597223666525783517209279064930382161092817819528543908290272365268604990059994814825448627615904268148115134445458151959010254743075602388743408742659827538734886031861444314558288672212000461121824176921717131463307919851789062967749512702221307382771714503864398269798565730754739817103863330348280381140419147549853235594039652156897667415547660058514704356964255666003265554549429798728915858546420828882233486575997841538240144673951249097009110048256685678890351241206836012507478263055434433001214715053819618556534397376118995197767015785868628481005503460288841427268287079288922221720151158344723216176773712107884521046498235348212639005200479053469075857087256276976159903667376343457160021802448382809494906587066200048954762531981550182873475891074796273003937265844167170476629819102711059791411307452511974283902697125714873407718991485669091073400735583453535978116380901582616360090831851581616037999699287539638916126131353239922801337330488876705875577195632475401712453351048168213552064571786020078033847980453637781813794646317698058016383093942355503371801044898494874484283483993909396282276658011310764095729170133293332208503012061081336285831693128152675402621576593378854244813300411505910481248786130347239470322539190852642241225444799019550099869203255136072560124036805729643893068994704986820713557601139750582083677213055610888587066168435289616618384325714636065935591854123049530218978182598012609313916859588983201603118908400990930037377501289629350929168342293494233600821192865384046554060395442819036347802469893723325876806239791582796264650727635560459001304251418669485454594001456348345723899181600375899480134589921492227585787394308062443 34523575548088811245705971942408003700477813841451616415109389047874552055781105641249681178336913336008222965153451475378845994127680080205053797842224528008732024823787823788730071889827846711822255172338240004331650492290008573303700796758512997811808507441644834744552390192449102164185306306077989027475848230236344630066433362253905901580587180503486635900878594847185740433782598465882477661297753575404375504663836510495283146147425736192267071378511056394961453858692227378625708493789240866333127543124003333429881049278134214777560452161572476324046397893574465983255516802738289969519868954104064748744832405511213244832619494075741269201430664463743929388151180775327955907114164654920292310715266406413758696184048203754605002122414025960805632073714433830827138906501889779709340966140647489363183910586039488245268916062740169355989678002486726872299719248216943006814257275173491914500528043503092975356898157839553989332439560895780166357102608616376171912127647736281852934318277053365652523640508294307295731384257902323637608912256974734465466398757484456992301151052739583394534244565058621130097217861748861499311151366623085051350731289957985600179882279266988327603200986415104513913930898961460076473746696803012746666179320812753404211250953701142457955512868128182984084878531090603156060124282208129201288584897374583087510802522049571259241912261545285671349418254707497790175397887475932372086704555447839986763907174324369538578180105510756785849942781659217956712118563205216727563918846958360573374485150054499543431391948936758421934800686243729643130300036697317768558358761070457913829216040543165884010299527684844012873529898858913114962809751370180993808080886878973930042306876897588969683108182103385145226751241421276705207469170745173742671318674100817479474869689267089205364232696134805370691625642813345097790144014115282789164166743395589210130507317595892776958897535020970142788377492628804248440437294005181993454684911285396916999140047251433615311215486728183243087304316560043894782495899564929497383051890101905939965902950017228227374892729470767116743969110083249306388495522444865329080486889756216184227534978482043031665989649940700488439959245320166849607130987121153562861538160040816289116924968831916021516511541212836135775147958780560814200294257239 55860318649982476483182526489356338857007854498603387777469165211774859287156362365487822000012047907547017344609360640664275229148043864027540627853054449566906272680818280582361707269421984958254682527460363914214368630511233757194279765482156661202264480028927460688622851376913670941454074660736412828351436790445190970873454502951433333213793322742586575124975778006788887484413844115818362281084393385736195645060194006688213125351181714679823184440298483454024870981370556324810930985557926174015945738512375622326087288506071510002211927196243766381339107621242222092905024088777241490867474932229951118231870668405015013429843160601524786410709729394126090480969000303871864197386529923525282370710081231862386312088316351869739447580565984971060375149316822574235881566329428514595372827584962047651856122586500610069445837779871632663909529791549694621812421469524325778528761139571761713066258798242910079220228506119935129751587110749015760396754765514043587459787706250986209898573943056631207073070307023223154277805086784557124184910098512974610140350006581466102349407738418473745775451401071128608360273296181862714026205186241641585748107408953183367195668147895469333106661275256531782201010187883681796624905041526228923439891428697274450709486301913781463155991921597258841172134808066763059727500625665289223091033280184077994097868722098526021773893811728159147240493050980501727441242054646409001905807266507631398071359686298653441275305820384164504841428450750291357447702016741194843944820429574720664206336731670537543130679488575674548066153926166530980460788913403193345753991236472170367180264208756717948582085547762877860853983536640726909609127449428197376902023242382345731087205371772073253167102091499667421884762552185372434377602464077382245683379755437103311167997841942491826940826074989050183992037148723826346576274361354753111703357596037830435575306337145992646162152671093530266825183222272697317435142280825895551055824661867480594212195658140020681479650776344801627413018952625979486636618949095148475565649902711219856825491933218831346283293720400804494245258739434178474730789016678466150273352273802770244622977797518390834135883373266577294679750828116431500334766547580154867112956829526270883118381317177639920698111917112316270365069451008146601594602319682 90383894198071287728888498431764342557485668340055004192578554259649411342937468006737503178348961243555240309762812116043121223275723944232594425695278977575638297504606104371091779159249831670076937699798603918546019122801242330497980562240669659014072987470572295433175241569362773105639380966814401855827285020681535600939887865205339234794380503246073211025854372853974627918196442581700839942382146961140571149724030517183496271498607450872090255818809539848986324840062783703436639479347167040349073281636378955755968337784205724779772379357816242705385505514816688076160540891515531460387343886334015866976703073916228258262462654677266055612140393857870019869120181079199820104500694578445574681425347638276145008272364555624344449702980010931866007223031256405063020472831318294304713793725609537015040033172540098314714753842611802019899207794036421494112140717741268785343018414745253627566786841746003054577126663959489119084026671644795926753857374130419759371915353987268062832892220109996859596710815317530450009189344686880761793822355487709075606748764065923094650558791158057140309695966129749738457491157930724213337356552864726637098838698911168967375550427162457660709862261671636296114941086845141873098651738329241670106070749510027854920737255614923921111504789725441825257013339157366215787624907873418424379618177558661081608671244148097281015806073273444818589911305687999517616639942122341373992511821955471384835266860623022979853485925894921290691371232409509314159820579946411571508739276533081237580821881725037086562071437512432970000954612410260623591088950100511114312349997542628281009480249299883832592385075447721873727513435499640024571937200798378370710104129261319661129512248669662222850210273603052567111513793606649139585071634822555988354698429537920790642867531209581032305058771123855554683662791537171444366418375470035900867524339433419645705813654741885423121050206114500409613560714901501565875579574831077544510509573152877511211335705391454296790866263072984870500323269186023381419114848660077972948701792813125796791394883236059573658186449871571610989227849517427781119284539123331479353839163558986428850512776000433865801873023207277783119710073436598349941897534701308429974494989567087172235306286009555942214623458325152406140217409788707415794896576921 146244212848053764212071024921120681414493522838658391970047719471424270630093830372225325178361009151102257654372172756707396452423767808260135053548333427142544570185424384953453486428671816628331620227258967832760387753312476087692260327722826320216337467499499756121798092946276444047093455627550814684178721811126726571813342368156772568008173825988659786150830150860763515402610286697519202223466540346876766794784224523871709396849789165551913440259108023303011195821433340028247570464905093214365019020148754578082055626290277234781984306554060009086724613136058910169065564980292772951254818818563966985208573742321243271692305815278790842022850123251996110350089181383071684301887224501970857052135428870138531320360680907494083897283545995902926382372348078979298902039160746808900086621310571584666896155759040708384160591622483434683808737585586116115924562187265594563871779554317015340633045639988913133797355170079424248835613782393811687150612139644463346831703060238254272731466163166628066669781122340753604286994431471437885978732454000683685747098770647389196999966529576530886085147367200878346817764454112586927363561739106368222846946107864352334571218575057926993816523536928168078315951274728823669723556779855470593545962178207302305630223557528705384267496711322700666429148147224129275515125533538707647470651457742739075706539966246623302789699885001603965830404356668501245057881996768750375898319088463102782906626546921676421128791746279085795532799683159800671607522596687606415453559706107801901787158613395574629692750926088107518067108538576791604051877863503704460066341234014798648189744458056601781174470623210599734581496972140366934181064650226575747612127371643665392216717620441735476017312365102719988996276345792021573962674098899938234038078184975024101810865373152072859245884846112905738675699940260997790942692736824789012570881935471250081281119991887878069283202877208030676438743937174198883310721855656973095566334235020358105423531363531474978270517039417786497913342221812002868055733797755226448514351695524345653616886816454890919941480170272376105234486588951606255850073555801797629627191437361756673473490573518824699937756396473855077799460901553029850276664082281463297087451819093358055353687603187195862912735375437468676505286860796854017389498896603 236628107046125051940959523352885023971979191178713396162626273731073681973031298378962828356709970394657497964134984872750517675699491752492729479243612404718182867690030489324545265587921648298408557927057571751306406876113718418190240889963495979230410454970072051554973334515639217152732836594365216540006006831808262172753230233362111802802554329234732997176684523714738143320806729279220042165848687308017337944508255041055205668348396616424003696077917563151997520661496123731684209944252260254714092301785133533838023964074482959561756685911876251792110118650875598245226105871808304411642162704897982852185276816237471529954768469956056897634990517109866130219209362462271504406387919080416431733560776508414676328633045463118428346986526006834792389595379335384361922511992065103204800415036181121681936188931580806698875345465095236703707945379622537610036702905006863349214797969062268968199832481734916188374481834038913367919640454038607613904469513774883106203618414225522335564358383276624926266491937658284054296183776158318647772554809488392761353847534713312291650525320734588026394843333330628085275255612043311140700918291971094859945784806775521301946769002220384654526385798599804374430892361573965542822208518184712263652032927717330160550960813143629305379001501048142491686161486381495491302750441412126071850269635301400157315211210394720583805505958275048784420315662356500762674521938891091749890830910418574167741893407544699400982277672174007086224170915569309985767343176634017986962298982640883139367980495120611716254822363600540488068063150987052227642966813604215574378691231557426929199224707356485613766855698658321608309010407640006958753001851024954118322231500904985053346229869111397698867522638705772556107790139398670713547745733722494222392776614512944892453732904361653891550943617236761293359362731798169235309111112294824913438406274904669726986933646629763492404253083322531086052304652075700449186301430488050640076843808173235616634867068922929275061383302490771368413665490998026249474848646415304421463053488337471450408281699690950493599666620143947716223714438469034036969358094925129108981030600920743102324003349519258565739629419681132860919170974989628200218561616982771727061946808660445227588993889196751805127358833762621082645504270585561433184395473524 382872319894178816153030548274005705386472714017371788132673993202497952603125128751188153535070979545759755618507157629457914128123259560752864532791945831860727437875454874277998752016593464926740178154316539584066794629426194505882501217686322299446747922469571807676771427461915661199826292221916031224184728642934988744566572601518884370810728155223392783327514674575501658723417015976739244389315227654894104739292479564926915065198185781975917136337025586455008716482929463759931780409157353469079111321933888111920079590364760194343740992465936260878834731786934508414291670852101077362896981523461949837393850558558714801647074285234847739657840640361862240569298543845343188708275143582387288785696205378553207648993726370612512244270072002737718771967727414363660824551152811912104887036346752706348832344690621515083035937087578671387516682965208653725961265092272457913086577523379284308832878121723829322171837004118337616755254236432419301055081653419346453035321474463776608295824546443252992936273059999037658583178207629756533751287263489076447100946305360701488650491850311118912479990700531506432093020066155898068064480031077463082792730914639873636517987577278311648342909335527972452746843636302789212545765298040182857197995105924632466181184370672334689646498212370843158115309633605624766817875974950833719320921093044139233021751176641343886595205843276652750250720019025002007732403935659842125789149998881676950648519954466375822111069418453092881756970598729110657374865773321624402415858688748685041155139108516186345947573289688648006135171689563843831694844677107920034445032465572225577388969165413087394941326321868921342890507379780373892934066501251529865934358872548650445562947489553133174884835003808492545104066485190692287510419832622432456430854799487968994264598277513726750796828463349667032035062672059167026251803849119613926009288210375919808268053638517641561687455960530561762491048589249899332497023286145023735643178043193593722058398432454404253331900341908557866327007712810029117530582444170530869977405183861817104025168516145841413541146790416323821458201027420640292819431650726926738608222038282499775797493923038083265677385816154987938718631876542658050495225699264235024149398627753803282942681492383947668040094209200089759150791131382415450573894370127 619500426940303868093990071626890729358451905196085184295300266933571634576156427130150981891780949940417253582642142502208431803822751313245594012035558236578910305565485363602544017604515113225148736081374111335373201505539912924072742107649818278677158377439643859231744761977554878352559128816281247764190735474743250917319802834880996173613282484458125780504199198290239802044223745255959286555163914962911442683800734605982120733546582398399920832414943149607006237144425587491615990353409613723793203623719021645758103554439243153905497678377812512670944850437810106659517776723909381774539144228359932689579127374796186331601842755190904637292831157471728370788507906307614693114663062662803720519256981886967883977626771833730940591256598009572511161563106749748022747063144877015309687451382933828030768533622202321781911282552673908091224628344831191335997967997279321262301375492441553277032710603458745510546318838157250984674894690471026914959551167194229559238939888689298943860182929719877919202764997657321712879361983788075181523842072977469208454793840074013780301017171045706938874834033862134517368275678199209208765398323048557942738515721415394938464756579498696302869295134127776827177735997876754755367973816224895120850028033641962626732145183815963995025499713418985649801471119987120258120626416362959791171190728345539390336962387036064470400711801551701534671035681381502770406925874550933875679980909300251118390413362011075223093347090627099967981141514298420643142208949955642389378157671389568180523119603636798062202395653289188494203234840550896059337811490712135608823723697129652506588193872769573008708182020527242951199517787420380851687068352276483984256590373453635498909177358664530873752357642514265101211856624589363001058165566344926678823631414000913886718331181875380642347772080586428325394425403857336261560914961414438839447694485280589535254987285147405054091709043853092848543353241325599781683324716633074375720021851366829338693265501377333528393283644399329234740673203808055367005431090585835291440458672199288554433450215836791907140813410560271537681915465889674329788789745652055847589252639203242878121497272557341831417015235836120799637802851532286250713787316247006751211345436414248510531675381580699473167453042962710841796295401967976883758289843651 1002372746834482684247020619900896434744924619213456972427974260136069587179281555881339135426851929486177009201149300131666345931946010873998458544827504068439637743440940237880542769621108578151888914235690650919439996134966107429955243325336140578123906299909215666908516189439470539552385421038197278988375464117678239661886375436399880544424010639681518563831713872865741460767640761232698530944479142617805547423093214170909035798744768180375837968751968736062014953627355051251547770762566967192872314945652909757678183144804003348249238670843748773549779582224744615073809447576010459137436125751821882526972977933354901133248917040425752376950671797833590611357806450152957881822938206245191009304953187265521091626620498204343452835526670012310229933530834164111683571614297688927414574487729686534379600878312823836864947219640252579478741311310039845061959233089551779175387953015820837585865588725182574832718155842275588601430148926903446216014632820613576012274261363153075552156007476163130912139038057656359371462540191417831715275129336466545655555740145434715268951509021356825851354824734393640949461295744355107276829878354126021025531246636055268574982744156777007951212204469655749279924579634179543967913739114265077978048023139566595092913329554488298684671997925789828807916780753592745024938502391313793510492111821389678623358713563677408356995917644828354284921755700406504778139329810210776001469130908181928069038933316477451045204416509080192849738112113027531300517074723277266791794016360138253221678258712152984408149968942977836500338406530114739891032656167820055643268756162701878083977163038182660403649508342396164294090025167200754744621134853528013850190949246002285944472124848217664048637192646322757646315923109780055288568585398967359135254486213488882880982929459389107393144600543936095357429488075916503287812718810534052765456982695656509343523040923665046615779165004383654611034401830575499114180348002778098111363199894560423060751663933831737781725183986307887101067680916618084484536013534756366161417863856061105658458618731982633320681960200976595359140116493310314622608221396378982586197474677485742653918991195595425097094401051991108738356434728074944301209013015511241775360744064168051793474356873964647141207547252162800600947086533350392334332184213778 1621873173774786552341010691527787164103376524409542156723274527069641221755437983011490117318632879426594262783791442633874777735768762187244052556863062305018548049006425601483086787225623691377037650317064762254813197640506020354027985432985958856801064677348859526140260951417025417904944549854478526752566199592421490579206178271280876718037293124139644344335913071155981262811864506488657817499643057580716990106893948776891156532291350578775758801166911885669021190771780638743163761115976580916665518569371931403436286699243246502154736349221561286220724432662554721733327224299919840911975269980181815216552105308151087464850759795616657014243502955305318982146314356460572574937601268907994729824210169152488975604247270038074393426783268021882741095093940913859706318677442565942724261939112620362410369411935026158646858502192926487569965939654871036397957201086831100437689328508262390862898299328641320343264474680432839586105043617374473130974183987807805571513201251842374496016190405883008831341803055313681084341902175205906896798971409444014864010533985508729049252526192402532790229658768255775466829571422554316485595276677174578968269762357470663513447500736275704254081499603783526107102315632056298723281712930489973098898051173208557719645474738304262679697497639208814457718251873579865283059128807676753301663302549735218013695675950713472827396629446380055819592791381788007548546255684761709877149111817482179187429346678488526268297763599707292817719253627325951943659283673232909181172174031527821402201378315789782470352364596267024994541641370665635950370467658532191252092479859831530590565356910952233412357690362923407245289542954621135596308203205804497834447539619455921443381302206882194922389550288837022747527779734369418289626750965312285814078117627489796767701260641264488035492372624522523682823913479773839549373633771948491604904677180937098878778028208812451669870874048236747459577755071901098895863672719411172487083221745927252399444929435209071310118467630707216335808354120426139851541444625342201452858322528260394212892068947819425227822773611536866896822031959199988952397011142031038433786727316688985532040488468152766928511416287827229537994237579607230551922800331758248526572089500582300304006032255545346614375000295125511442743381935318369218090474057429 2624245920609269236588031311428683598848301143622999129151248787205710808934719538892829252745484808912771271984940742765541123667714773061242511101690566373458185792447365839363629556846732269528926564552755413174253193775472127783983228758322099434924970977258075193048777140856495957457329970892675805740941663710099730241092553707680757262461303763821162908167626944021722723579505267721356348444122200198522537529987162947800192331036118759151596769918880621731036144399135689994711531878543548109537833515024841161114469844047249850403975020065310059770504014887299336807136671875930300049411395732003697743525083241505988598099676836042409391194174753138909593504120806613530456760539475153185739129163356418010067230867768242417846262309938034192971028624775077971389890291740254870138836426842306896789970290247849995511805721833179067048707250964910881459916434176382879613077281524083228448763888053823895175982630522708428187535192544277919346988816808421381583787462614995450048172197882046139743480841112970040455804442366623738612074100745910560519566274130943444318204035213759358641584483502649416416290867166909423762425155031300599993801008993525932088430244893052712205293704073439275387026895266235842691195452044755051076946074312775152812558804292792561364369495564998643265635032627172610307997631198990546812155414371124896637054389514390881184392547091208410104514547082194512326685585494972485878618242725664107256468279994965977313502180108787485667457365740353483244176358396510175972966190391666074623879637027942766878502333539244861494880047900780375841403123826352246895361236022533408674542519949134893816007198705319571539379568121821890340929338059332511684638488865458207387853427055099858971026742935159780393843702844149473578195336364279644949332603840978679648684190100653595428636973168458619040253401555690342837186352582482544370361659876593608222301069132477498285650039052620402070612156902476598010044020722189270598446421640487675460196593369040809091843651617015103436876035037044224336077458160098567614276186384321499871350687679802058548504733812513462255962148452510303575005232538410021019984201994174728185959479663748192025605817339818338276350672307682174853131813347269490301932833564750352097480389129509993755582547547288312043690468468668761552422658271207 4246119094384055788929042002956470762951677668032541285874523314275352030690157521904319370064117688339365534768732185399415901403483535248486563658553628678476733841453791440846716344072355960905964214869820175429066391415978148138011214191308058291726035654606934719189038092273521375362274520747154332493507863302521220820298731978961633980498596887960807252503540015177703986391369774210014165943765257779239527636881111724691348863327469337927355571085792507400057335170916328737875292994520129026203352084396772564550756543290496352558711369286871345991228447549854058540463896175850140961386665712185512960077188549657076062950436631659066405437677708444228575650435163074103031698140744061180468953373525570499042835115038280492239689093206056075712123718715991831096208969182820812863098365954927259200339702182876154158664224026105554618673190619781917857873635263213980050766610032345619311662187382465215519247105203141267773640236161652392477963000796229187155300663866837824544188388287929148574822644168283721540146344541829645508873072155354575383576808116452173367456561406161891431814142270905191883120438589463740248020431708475178962070771350996595601877745629328416459375203677222801494129210898292141414477164975245024175844125485983710532204279031096824044066993204207457723353284500752475591056760006667300113818716920860114650750065465104354011789176537588465924107338463982519875231841179734195755767354543146286443897626673454503581799943708494778485176619367679435187835642069743085154138364423193896026081015343732549348854698135511886489421689271446011791773591484884438147453715882364939265107876860087127228364889068242978784669111076443025937237541265137009519086028484914128831234729261982053893416293223996803141371482578518891867822087329591930763410721468468476416385450741918083464129345792981142723077315035464182386559986354431035975266337057530707101079097341289949955520913100857149530189911974377696905907693441600443085529643386414927859641522804249880401962119247722319772684389157470364187618902785440769067134508912581894084242756627621483776327507424050329152784180411710292527402243680441059453770929310863713717999968131900958954117233627645567814344909887289405405054613679027738828504923065332652401486421385055340369957547842413823486433850403987130770513132328636 6870365014993325025517073314385154361799978811655540415025772101481062839624877060797148622809602497252136806753672928164957025071198308309729074760244195051934919633901157280210345900919088230434890779422575588603319585191450275921994442949630157726651006631865009912237815233130017332819604491639830138234449527012620951061391285686642391242959900651781970160671166959199426709970875041931370514387887457977762065166868274672491541194363588097078952341004673129131093479570052018732586824873063677135741185599421613725665226387337746202962686389352181405761732462437153395347600568051780441010798061444189210703602271791163064661050113467701475796631852461583138169154555969687633488458680219214366208082536881988509110065982806522910085951403144090268683152343491069802486099260923075683001934792797234155990309992430726149670469945859284621667380441584692799317790069439596859663843891556428847760426075436289110695229735725849695961175428705930311824951817604650568739088126481833274592360586169975288318303485281253761995950786908453384120947172901265135903143082247395617685660596619921250073398625773554608299411305756373164010445586739775778955871780344522527690307990522381128664668907750662076881156106164527984105672617020000075252790199798758863344763083323889385408436488769206100988988317127925085899054391205657846925974131291985011287804454979495235196181723628796876028621885546177032201917426674706681634385597268810393700365906668420480895302123817282264152633985108032918432012000466253261127104554814859970649960652371675316227357031674756747984301737172226387633176715311236685042814951904898347939650396809222021044372087773562550324048679198264916278166879324469521203724517350372336219088156317081912864443036159156583535215185422668365446017423693871575712743325309447156065069640842571678892766318961439761763330716591154525223746338936913580345627996934124315323380166473767448241170952153477551600802068876854294915951714163789713683976065026902603319838116173290689493805770864737423209560424194514588523696360945539336681410695296903393955593444307423542324832241236563791408746328864220596102407476218851080473755131305038441903959447795649150979723050967463906090695582194971580258186427026297229130437756630083004498966810514565334125540095389702135530124318872655892322935790599843 11116484109377380814446115317341625124751656479688081700900295415756414870315034582701467992873720185591502341522405113564372926474681843558215638418797823730411653475354948721057062244991444191340854994292395764032385976607428424060005657140938216018377042286471944631426853325403538708181879012386984470727957390315142171881690017665604025223458497539742777413174706974377130696362244816141384680331652715757001592803749386397182890057691057435006307912090465636531150814740968347470462117867583806161944537683818386290215982930628242555521397758639052751752960909987007453888064464227630581972184727156374723663679460340820140724000550099360542202069530170027366744804991132761736520156820963275546677035910407559008152901097844803402325640496350146344395276062207061633582308230105896495865033158752161415190649694613602303829134169885390176286053632204474717175663704702810839714610501588774467072088262818754326214476840928990963734815664867582704302914818400879755894388790348671099136548974457904436893126129449537483536097131450283029629820245056619711286719890363847791053117158026083141505212768044459800182531744345836904258466018448250957917942551695519123292185736151709545124044111427884878375285317062820125520149781995245099428634325284742573876967362354986209452503481973413558712341601628677561490111151212325147039792848212845125938554520444599589207970900166385341952729224010159552077149267854440877390152951811956680144263533341874984477102067525777042637810604475712353619847642535996346281242919238053866676041667715407865576211729810268634473723426443672399424950306796121123190268667787263287204758273669309148272736976841805529108717790274707942215404420589606530722810545835286465050322885579063966757859329383153386676586668001187257313839511023463506476154046777915632481455091584489762356895664754420904486408031626618707610306325291344616320894333991655022424459263815057398196691865254334701130991980851231991821859407605390156769505708413317531179479638977540569895767890112459742982244813351984952711315263730980105748545204209485288039836200935045026101159748660614120561530509275930888629809719899292139927526060615902155621959415927550109933840284595109473905040492082260985663241040705324967958942679695415656900453231899620674495497643232115959016558169276643023093448922928479 17986849124370705839963188631726779486551635291343622115926067517237477709939911643498616615683322682843639148276078041729329951545880151867944713179042018782346573109256106001267408145910532421775745773714971352635705561798878699982000100090568373745028048918336954543664668558533556041001483504026814608962406917327763122943081303352246416466418398191524747573845873933576557406333119858072755194719540173734763657970617661069674431252054645532085260253095138765662244294311020366203048942740647483297685723283240000015881209317965988758484084147991234157514693372424160849235665032279411022982982788600563934367281732131983205385050663567062017998701382631610504913959547102449370008615501182489912885118447289547517262967080651326312411591899494236613078428405698131436068407491028972178866967951549395571180959687044328453499604115744674797953434073789167516493453774142407699378454393145203314832514338255043436909706576654840659695991093573513016127866636005530324633476916830504373728909560627879725211429614730791245532047918358736413750767417957884847189862972611243408738777754646004391578611393818014408481943050102210068268911605188026736873814332040041650982493726674090673788713019178546955256441423227348109625822399015245174681424525083501437221730445678875594860939970742619659701329918756602647389165542417982993965766979504830137226358975424094824404152623795182217981351109556336584279066694529147559024538549080767073844629440010295465372404191343059306790444589583745272051859643002249607408347474052913837326002320087083181803568761485025382458025163615898787058127022107357808233083619692161635144408670478531169317109064615368079432766469472972858493571299914076051926535063185658801269411041896145879622302365542309970211801853423855622759856934717335082188897372087362788546524732427061441249661983715860666249738748217773232834052664228258196666522330925779337747839430288824846437862817407812252731794049728086286737811121769179870453481773440220134499317755150831259389573660977197166191805237546499541235011624676519442429955899506388681995429645242468568425991989897177911970276838140151484732217196118143220401281191920940597525918863723199260913563335562573379995736074277232565921427467731622197089380436325498661399420042414186008621037738621818094546682488149298915416384713528322 29103333233748086654409303949068404611303291771031703816826362932993892580254946226200084608557042868435141489798483155293702878020561995426160351597839842512758226584611054722324470390901976613116600768007367116668091538406307124042005757231506589763405091204808899175091521883937094749183362516413799079690364307642905294824771321017850441689876895731267524987020580907953688102695364674214139875051192889491765250774367047466857321309745702967091568165185604402193395109051988713673511060608231289459630260967058386306097192248594231314005481906630286909267654282411168303123729496507041604955167515756938658030961192472803346109051213666422560200770912801637871658764538235211106528772322145765459562154357697106525415868178496129714737232395844382957473704467905193069650715721134868674732001110301556986371609381657930757328738285630064974239487705993642233669117478845218539093064894733977781904602601073797763124183417583831623430806758441095720430781454406410080527865707179175472865458535085784162104555744180328729068145049809019443380587663014504558476582862975091199791894912672087533083824161862474208664474794448046972527377623636277694791756883735560774274679462825800218912757130606431833631726740290168235145972181010490274110058850368244011098697808033861804313443452716033218413671520385280208879276693630308141005559827717675263164913495868694413612123523961567559934080333566496136356215962383588436414691500892723753988892973352170449849506258868836349428255194059457625671707285538245953689590393290967704002043987802491047379780491295294016931748590059571186483077328903478931423352287479424922349166944147840317589846041457173608541484259747680800708975720503682582649345609020945266319733927475209846380161694925463356888388521425042880073696445740798588665051418865278421027979824011551203606557648470281570736146779844391940444358989519602812987416664917434360172298694103882244634554682662146953862786030579318278559670529374570027222987481853537665678797394128371829285341551089656909174050050898484493946326888407499548178501103715873970035265846177513594527151738557792032531807347416082373362026916017435360328807252536842753147878279650749370847403620157682853900776566359493551584668508436947165048323116020914318299873274313806683116535381853934053563240657425941938509833636456801 47090182358118792494372492580795184097854927062375325932752430450231370290194857869698701224240365551278780638074561197023032829566442147294105064776881861295104799693867160723591878536812509034892346541722338469303797100205185824024005857322074963508433140123145853718756190442470650790184846020440613688652771224970668417767852624370096858156295293922792272560866454841530245509028484532286895069770733063226528908744984708536531752561800348499176828418280743167855639403363009079876560003348878772757315984250298386321978401566560220072489566054621521066782347654835329152359394528786452627938150304357502592398242924604786551494101877233484578199472295433248376572724085337660476537387823328255372447272804986654042678835259147456027148824295338619570552132873603324505719123212163840853598969061850952557552569068702259210828342401374739772192921779782809750162571252987626238471519287879181096737116939328841200033889994238672283126797852014608736558648090411940405161342624009679846594368095713663887315985358911119974600192968167755857131355080972389405666445835586334608530672667318091924662435555680488617146417844550257040796289228824304431665571215775602425257173189499890892701470149784978788888168163517516344771794580025735448791483375451745448320428253712737399174383423458652878115001439141882856268442236048291134971326807222505400391272471292789238016276147756749777915431443122832720635282656912735995439230049973490827833522413362465915221910450211895656218699783643202897723566928540495561097937867343881541328046307889574229183349252780319399389773753675469973541204351010836739656435907171586557493575614626371486906955106072541687974250729220653659202547020417758634575880672206604067589144969371355726002464060467773327100190374848898502833553380458133670853948790952641209574504556438612644856219632186142236985885528062165173278411653747861009653938995843213697920138124392707091072417500069959206594580080307404565297481651143749897676469255293757800178115149279203088674915212066854075365855288444984035181338513084018990608457003222262652030695491419982162953143728454969944502084185556233858094244112135578580730088444457783350673797143373948631760966955720256233896512640636726117506095976168569362137703552346412979699293316727992691737573120475752148109923145575240853926218349985123 76193515591866879148781796529863588709158218833407029749578793383225262870449804095898785832797408419713922127873044352316735707587004142720265416374721703807863026278478215445916348927714485648008947309729705585971888638611492948066011614553581553271838231327954752893847712326407745539368208536854412768343135532613573712592623945387947299846172189654059797547887035749483933611723849206501034944821925952718294159519351756003389073871546051466268396583466347570049034512414997793550071063957110062216946245217356772628075593815154451386495047961251807976050001937246497455483124025293494232893317820114441250429204117077589897603153090899907138400243208234886248231488623572871583066160145474020832009427162683760568094703437643585741886056691183002528025837341508517575369838933298709528330970172152509543924178450360189968157080687004804746432409485776451983831688731832844777564584182613158878641719540402638963158073411822503906557604610455704456989429544818350485689208331188855319459826630799448049420541103091448703668338017976775300511942743986893964143028698561425808322567579990179457746259717542962825810892638998304013323666852460582126457328099511163199531852652325691111614227280391410622519894903807684579917766761036225722901542225819989459419126061746599203487826876174686096528672959527163065147718929678599275976886634940180663556185967161483651628399671718317337849511776689328856991498619296324431853921550866214581822415386714636365071416709080732005646954977702660523395274214078741514787528260634849245330090295692065276563129744075613416321522343735041160024281679914315671079788194651011479842742558774211804496801147529715296515734988968334459911522740921441217225226281227549333908878896846565572382625755393236683988578896273941382907249826198932259519000209817919630602484380450163848462777280656423807722032307906557113722770643267463822641355660760648058092436818496589335706972182732106160457366110886722843857152180518319924899456737147295465856912543407574917960256763156510984539905339343468529127665401491518538786958106938136622065961337597495757480295467012761977033891532972316231456271028153013941058895696994626103821675423024698002608370575877939087797289206996219669090764484605516527186026668367327297999166591041799374854108502329686201673163803001182792436051986441924 123283697949985671643154289110658772807013145895782355682331223833456633160644661965597487057037773970992702765947605549339768537153446290014370481151603565102967825972345376169508227464526994682901293851452044055275685738816678772090017471875656516780271371451100606612603902768878396329553054557295026456995906757584242130360476569758044158002467483576852070108753490591014179120752333738787930014592659015944823068264336464539920826433346399965445225001747090737904673915778006873426631067305988834974262229467655158950053995381714671458984614015873329042832349592081826607842518554079946860831468124471943842827447041682376449097254968133391716599715503668134624804212708910532059603547968802276204456699967670414610773538696791041769034880986521622098577970215111842081088962145462550381929939234003462101476747519062449178985423088379544518625331265559261733994259984820471016036103470492339975378836479731480163191963406061176189684402462470313193548077635230290890850550955198535166054194726513111936736526462002568678268530986144531157643297824959283369809474534147760416853240247308271382408695273223451442957310483548561054119956081284886558122899315286765624789025841825582004315697430176389411408063067325200924689561341061961171693025601271734907739554315459336602662210299633338974643674398669045921416161165726890410948213442162686063947458438454272889644675819475067115764943219812161577626781276209060427293151600839705409655937800077102280293327159292627661865654761345863421118841142619237075885466127978730786658136603581639505746478996855932815711296097410511133565486030925152410736224101822598037336318173400583291403756253602256984489985718188988119114069761339199851801106953434153401498023866217921298385089815861010011088769271122839885740803206657065930372949000770560840176988936888776493318996912842566044707917835968722287001182297015324832295294656603861756012574942889296426779389682802065367051946191194127409154633831662069822575925992441053266035027692686778006635171975223365059905760627788452564309003914575537529395415110160399274096656829017477920433439195467731921535975718528550089550515140288592521788984141452409454495472566398646634369337531598195321693801847632945786596860460774085889323730220713740277698459907769792066591681622805438349783086948576423646362270336427047 199477213541852550791936085640522361516171364729189385431910017216681896031094466061496272889835182390706624893820649901656504244740450432734635897526325268910830852250823591615424576392241480330910241161181749641247574377428171720156029086429238070052109602779055359506451615095286141868921263094149439225339042290197815842953100515145991457848639673230911867656640526340498112732476182945288964959414584968663117227783688220543309900304892451431713621585213438307953708428193004666976702131263098897191208474685011931578129589196869122845479661977125137018882351529328324063325642579373441093724785944586385093256651158759966346700408059033298854999958711903020873035701332483403642669708114276297036466127130354175178868242134434627510920937677704624626603807556620359656458801078761259910260909406155971645400925969422639147142503775384349265057740751335713717825948716653315793600687653105498854020556020134119126350036817883680096242007072926017650537507180048641376539759286387390485514021357312559986157067565094017381936869004121306458155240568946177333952503232709186225175807827298450840154954990766414268768203122546865067443622933745468684580227414797928824320878494151273115929924710567800033927957971132885504607328102098186894594567827091724367158680377205935806150037175808025071172347358196208986563880095405489686925100077102866727503644405615756541273075491193384453614454996501490434618279895505384859147073151705919991478353186791738645364743868373359667512609739048523944514115356697978590672994388613580031988226899273704782309608740931546232032818441145552293589767710839468081816012296473609517179060732174795095900557401131972281005720707157322579025592502260641069026333234661702735406902763064486870767715571254246695077348167396781268648053032855998189891949210588480470779473317338940341781774193498989852429950143875279400723952940282788654936650317364509814105011761385885762486361865534171527509312302080850253011786012180389747475382729588348731891940236094352924595428738379876044445665967131921093436669316067056068182373217098535896162618166614973677913734662480493898569867251500866321006786168441606462847879838447035558317147989423344636977708107476134409491091054629165455687624945379602416509756889081067575697626498811591441445790125135124551456250751577606438798322322868971 322760911491838222435090374751181134323184510624971741114241241050138529191739128027093759946872956361699327659768255450996272781893896722749006378677928834013798678223168967784932803856768475013811535012633793696523260116244850492246046558304894586832380974230155966119055517864164538198474317651444465682334949047782057973313577084904035615851107156807763937765394016931512291853228516684076894974007243984607940296048024685083230726738238851397158846586960529045858382343971011540403333198569087732165470704152667090528183584578583794304464275992998466061714701121410150671168161133453387954556254069058328936084098200442342795797663027166690571599674215571155497839914041393935702273256083078573240922827098024589789641780831225669279955818664226246725181777771732201737547763224223810292190848640159433746877673488485088326127926863763893783683072016894975451820208701473786809636791123597838829399392499865599289542000223944856285926409535396330844085584815278932267390310241585925651568216083825671922893594027096586060205399990265837615798538393905460703761977766856946642029048074606722222563650263989865711725513606095426121563579015030355242703126730084694449109904335976855120245622140744189445336021038458086429296889443160148066287593428363459274898234692665272408812247475441364045816021756865254907980041261132380097873313519265552791451102844070029430917751310668451569379398216313652012245061171714445286440224752545625401134290986868840925658071027665987329378264500394387365632956499317215666558460516592310818646363502855344288056087737787479047744114538556063427155253741764620492552236398296207554515378905575378387304313654734229265495706425346310698139662263599840920827440188095856136904926629282408169152805387115256706166117438519621154388856239513064120264898211359041310956462254227716835100771106341555897137867979844001687725135237298113487231944973968371570117586704275182189265751548336236894561258493274977662166419843842459570051308722029401997926967928781130931230600713603241104351426594920373657745673230642593597577788327258935170259274995632451598347173857948225820105842970029416410557301308730198984636863979899445012812620555821991271347045639074329731184892902262111242284485406153688305833487109794807853396086406581383508037471747940562901239337700154030085160592659296018 522238125033690773227026460391703495839355875354161126546151258266820425222833594088590032836708138752405952553588905352652777026634347155483642276204254102924629530473992559400357380249009955344721776173815543337770834493673022212402075644734132656884490577009211325625507132959450680067395580745593904907673991337979873816266677600050027073699746830038675805422034543272010404585704699629365859933421828953271057523831712905626540627043131302828872468172173967353812090772164016207380035329832186629356679178837679022106313173775452917149943937970123603080597052650738474734493803712826829048281040013644714029340749359202309142498071086199989426599632927474176370875615373877339344942964197354870277388954228378764968510022965660296790876756341930871351785585328352561394006564302985070202451758046315405392278599457907727473270430639148243048740812768230689169646157418127102603237478776703337683419948519999718415892037041828536382168416608322348494623091995327573643930069527973316137082237441138231909050661592190603442142268994387144073953778962851638037714480999566132867204855901905173062718605254756279980493716728642291189007201948775823927283354144882623273430782830128128236175546851311989479263979009590971933904217545258334960882161255455183642056915069871208214962284651249389116988369115061463894543921356537869784798413596368419518954747249685785972190826801861836022993853212815142446863341067219830145587297904251545392612644173660579571022814896039346996890874239442911310147071856015194257231454905205890850634590402129049070365696478719025279776932979701615720745021452604088574368248694769817071694439637750173483204871055866201546501427132503633277165254765860481989853773422757558872311829392346895039920520958369503401243465605916402423036909272369062310156847421947521781735935571566657176882545299840545749567818123719281088449088177580902142168595291332881384222598465661067951752113413870408422070570795355827915178205856022849317526691451617750729818908164875483855826029451983117148797092562052294751182342546709649665760161544357471066421893162247425276260908520428719718675710221530282731564087477171805447484743818346480571129768545245335908324753746550464140675983956891276697972110351533290722343243998875875429093712905392974949483261873075687452695588451731636523958914982164989 844999036525528995662116835142884630162540385979132867660392499316958954414572722115683792783581095114105280213357160803649049808528243878232648654882182936938428208697161527185290184105778430358533311186449337034294094609917872704648122203039027243716871551239367291744562650823615218265869898397038370590008940385761931789580254684954062689550853986846439743187428560203522696438933216313442754907429072937878997819879737590709771353781370154226031314759134496399670473116135027747783368528401274361522149882990346112634496758354036711454408213963122069142311753772148625405661964846280217002837294082703042965424847559644651938295734113366679998199307143045331868715529415271275047216220280433443518311781326403354758151803796885966070832575006157118076967363100084763131554327527208880494642606686474839139156272946392815799398357502912136832423884785125664621466366119600889412874269900301176512819341019865317705434037265773392668094826143718679338708676810606505911320379769559241788650453524963903831944255619287189502347668984652981689752317356757098741476458766423079509233903976511895285282255518746145692219230334737717310570780963806179169986480874967317722540687166104983356421168992056178924600000048049058363201106988418483027169754683818642916955149762536480623774532126690753162804390871926718802523962617670249882671727115633972310405850093755815403108578112530287592373251429128794459108402238934275432027522656797170793746935160529420496680885923705334326269138739837298675780028355332409923789915421798201669280953904984393358421784216506504327521047518257679147900275194368709066920485093066024626209818543325551870509184710600430811997133557849943975304917029460322910681213610853415009216756021629303209073326345484760107409583044436023577425765511882126430421745633306563092692397825794374011983316406182101646705686103563282776174223414879015629400540265301252954340185169936250141017864962206645316631829288630805577344625699865308887578000173647152727745876093656614787056630165586358253148519156972668408928015777352243263337949871616406236681168157879876874608082378376945538781553191559699142121388785902004432121607798245925583942389101067327179671799385624793871860876859153387940256595757686979028176731108670683282489799311974358457520733621016250353934926151885666609119507641461007 1367237161559219768889143295534588126001896261333293994206543757583779379637406316204273825620289233866511232766946066156301826835162591033716290931086437039863057739171154086585647564354788385703255087360264880372064929103590894917050197847773159900601362128248578617370069783783065898333265479142632275497682931723741805605846932285004089763250600816885115548609463103475533101024637915942808614840850901891150055343711450496336311980824501457054903782931308463753482563888299043955163403858233460990878829061828025134740809932129489628604352151933245672222908806422887100140155768559107046051118334096347756994765596918846961080793805199566669424798940070519508239591144789148614392159184477788313795700735554782119726661826762546262861709331348087989428752948428437324525560891830193950697094364732790244531434872404300543272668788142060379881164697553356353791112523537727992016111748677004514196239289539865036121326074307601929050263242752041027833331768805934079555250449297532557925732690966102135740994917211477792944489937979040125763706096319608736779190939765989212376438759878417068348000860773502425672712947063380008499577982912582003097269835019849940995971469996233111592596715843368168403863979057640030297105324533676817988051915939273826559012064832407688838736816777940142279792759986988182697067883974208119667470140712002391829360597343441601375299404914392123615367104641943936905971743306154105577614820561048716186359579334190000067703700819744681323160012979280209985927100211347604181021370327004092519915544307113442428787480695225529607297980497959294868645296646972797641288733787835841697904258181075725353714055766466632358498560690353577252470171795320804900534987033610973881528585413976198248993847303854263508653048650352426000462674784251188740578593055254084874428333397361031188865861706022647396273504227282563864623311592459917771569135556634134338562783635597318092769978376077053738702400083986633492522831555888158205104691625264903457564784258532098642882659617569475401945611719024963160110358324061892929098111415973877303103061320127302150868990898805665257457263413089981873685476263073809879606351616592406155072157646312663087996553132175258012536860816044664638228706109220269750519975107546558711583512217367333407003995494091937806630514603617303133078422623625996 2212236198084748764551260130677472756164436647312426861866936256900738334051979038319957618403870328980616512980303226959950876643690834911948939585968619976801485947868315613770937748460566816061788398546714217406359023713508767621698320050812187144318233679487945909114632434606681116599135377539670646087691872109503737395427186969958152452801454803731555291796891663679055797463571132256251369748279974829029053163591188087046083334605871611280935097690442960153153037004434071702946772386634735352400978944818371247375306690483526340058760365896367741365220560195035725545817733405387263053955628179050799960190444478491613019089539312933349422998247213564840108306674204419889439375404758221757314012516881185474484813630559432228932541906354245107505720311528522087657115219357402831191736971419265083670591145350693359072067145644972516713588582338482018412578889657328881428986018577305690709058630559730353826760111573375321718358068895759707172040445616540585466570829067091799714383144491066039572939172830764982446837606963693107453458413676365835520667398532412291885672663854928963633283116292248571364932177398117725810148763876388182267256315894817258718512157162338094949017884835424347328463979105689088660306431522095301015221670623092469475967214594944169462511348904630895442597150858914901499591846591878369550141867827636364139766447437197416778407983026922411207740356071072731365080145545088381009642343217845886980106514494719420564384586743450015649429151719117508661707128566680014104811285748802294189196498212097835787209264911732033934819028016216974016545571841341506708209218880901866324114076724401277224223240477067063170495694248203521227775088824781127811216200644464388890745341435605501458067173649339023616062631694788449577888440296133315171000338688560647967120731223155405200849178112204749042979190330845846640797535007338933400969675821935387292902968805533568233787843338283699055334229372617439069867457255753467092682691798912056185310660352188713429939289783155833655094130875997631569038374101414136192436061287590283539784229478007179025477073277182610796238816604649681015806865048975814311727959414838331739014546747379990267668352517800051884397737675198052578485301866907248778696706216217241994073311529341691864524729115108188160565440755502969742197930265087003 3579473359643968533440403426212060882166332908645720856073480014484517713689385354524231444024159562847127745747249293116252703478853425945665230517055057016664543687039469700356585312815355201765043485906979097778423952817099662538748517898585347044919595807736524526484702218389747014932400856682302921585374803833245543001274119254962242216052055620616670840406354767154588898488209048199059984589130876720179108507302638583382395315430373068335838880621751423906635600892733115658110176244868196343279808006646396382116116622613015968663112517829613413588129366617922825685973501964494309105073962275398556954956041397338574099883344512500018847797187284084348347897818993568503831534589236010071109713252435967594211475457321978491794251237702333096934473259956959412182676111187596781888831336152055328202026017754993902344735933787032896594753279891838372203691413195056873445097767254310204905297920099595389948086185880977250768621311647800735005372214422474665021821278364624357640115835457168175313934090042242775391327544942733233217164509995974572299858338298401504262111423733346031981283977065750997037645124461497734309726746788970185364526150914667199714483627158571206541614600678792515732327958163329118957411756055772119003273586562366296034979279427351858301248165682571037722389910845903084196659730566086489217612008539638755969127044780639018153707387941314534823107460713016668271051888851242486587257163778894603166466093828909420632088287563194696972589164698397718647634228778027618285832656075806386709112042519211278215996745606957563542117008514176268885190868488314304349497952668737708022018334905477002577937296243533695528994254938557098480245260620101932711751187678075362772273926849581699707061020953193287124715680345140875578351115080384503911578931743814732841549064620516436389715039818227396439252694558128410505420846599798851172538811378569521631465752441130886326557821714360752794036629456604072562390288811641625297787383424176959642875444610720812072821949400725309057039742595022594729148732425476029121534172703564160842887290798134481176346064175988276053696080017739662889492341312049624191334311031430737894086704393692653355664905649975309896934598491242717216714007976127518529216681323763800705656823746709025271528724609200125967195955359120272875276352888712999 5791709557728717297991663556889533638330769555958147717940416271385256047741364392844189062428029891827744258727552520076203580122544260857614170103023676993466029634907785314127523061275922017826831884453693315184782976530608430160446837949397534189237829487224470435599334652996428131531536234221973567673066675942749280396701306224920394668853510424348226132203246430833644695951780180455311354337410851549208161670893826670428478650036244679616773978312194384059788637897167187361056948631502931695680786951464767629491423313096542308721872883725981154953349926812958551231791235369881572159029590454449356915146485875830187118972883825433368270795434497649188456204493197988393270909993994231828423725769317153068696289087881410720726793144056578204440193571485481499839791330544999613080568307571320411872617163105687261416803079432005413308341862230320390616270302852385754874083785831615895614356550659325743774846297454352572486979380543560442177412660039015250488392107431716157354498979948234214886873262873007757838165151906426340670622923672340407820525736830813796147784087588274995614567093357999568402577301859615460119875510665358367631782466809484458432995784320909301490632485514216863060791937269018207617718187577867420018495257185458765510946494022296027763759514587201933164987061704817985696251577157964858767753876367275120108893492217836434932115370968236946030847816784089399636132034396330867596899506996740490146572608323628841196472874306644712622018316417515227309341357344707632390643941824608680898308540731309114003206010518689597476936036530393242901736440329655811057707171549639574346132411629878279802160536720600758699489949186760619708020349444883060522967388322539751663019268285187201165128194602532310740778312039929325156239555376517819082579270432375380808669795843671841590564217930432145482231884888974257146218381607137784573508487200504908924368721246664454560345665052644451849370858829221511632257746067395092390470075223089015828186104962909525502761239183881142712133873471020226298187106526890165313970233991154444382671520276141660201823137453170886849934896622389343905299206361025438503062270446269069633101251141072643623333258167775361781332336166440769795199309843034767307913387539981042699730135276050717136053453724308314127761396114623242617474283153800002 9371182917372685831432066983101594520497102464603868574013896285869773761430749747368420506452189454674872004474801813192456283601397686803279400620078734010130573321947255014484108374091277219591875370360672412963206929347708092699195355847982881234157425294960994962084036871386175146463937090904276489258441479775994823397975425479882636884905566044964896972609601197988233594439989228654371338926541728269387270178196465253810873965466617747952612858933945807966424238789900303019167124876371128038960594958111164011607539935709558277384985401555594568541479293430881376917764737334375881264103552729847913870102527273168761218856228337933387118592621781733536804102312191556897102444583230241899533439021753120662907764545203389212521044381758911301374666831442440912022467441732596394969399643723375740074643180860681163761539013219038309903095142122158762819961716047442628319181553085926100519654470758921133722932483335329823255600692191361177182784874461489915510213385796340514994614815405402390200807352915250533229492696849159573887787433668314980120384075129215300409895511321621027595851070423750565440222426321113194429602257454328552996308617724151658147479411479480508032247086193009378793119895432347326575129943633639539021768843747825061545925773449647886065007680269772970887376972550721069892911307724051347985365884906913876078020536998475453085822758909551480853955277497106067907183923247573354184156670775635093313038702152538261828561161869839409594607481115912945956975586122735250676476597900415067607420583250520392219202756125647161019053045044569511786927308817970115407205124218377282368150746535355282380097832964134454228484204125317718188265610064984993234718576000615114435293195134768900872189215555725597865493992385070200734590670456902322994158202176190113650218860464188277980279257748659541921484579447102667651639228206936635746047298579074430555834473687795340886903486767005204643407488285825584194648034879036717688257458647265975471061549573630337575583188584606451769173616066042821027335838952366194435504406694718605225558811074276141378169201629159162903630976640129006794791547673075062694396581477699807527187955534765296978998163817750671678266934657683487011913317819162285837130068863744843405386959022759742407582178333508440094957351473743515492750636042513001 15162892475101403129423730539991128158827872020562016291954312557255029809172114140212609568880219346502616263202354333268659863723941947660893570723102411003596602956855040328611631435367199237418707254814365728147989905878316522859642193797380415423395254782185465397683371524382603277995473325126250056931508155718744103794676731704803031553759076469313123104812847628821878290391769409109682693263952579818595431849090291924239352615502862427569386837246140192026212876687067490380224073507874059734641381909575931641098963248806100586106858285281575723494829220243839928149555972704257453423133143184297270785249013148998948337829112163366755389388056279382725260306805389545290373354577224473727957164791070273731604053633084799933247837525815489505814860402927922411862258772277596008049967951294696151947260343966368425178342092651043723211437004352479153436232018899828383193265338917541996134011021418246877497778780789682395742580072734921619360197534500505165998605493228056672349113795353636605087680615788258291067657848755585914558410357340655387940909811960029096557679598909896023210418163781750133842799728180728654549477768119686920628091084533636116580475195800389809522879571707226241853911832701365534192848131211506959040264100933283827056872267471943913828767194856974904052364034255539055589162884882016206753119761274188996186914029216311888017938129877788426884803094281195467543315957643904221781056177772375583459611310476167103025034036176484122216625797533428173266316943467442883067120539725023748505729123981829506222408766644336758495989081574962754688663749147625926464912295768016856714283158165233562182258369684735212927974153312078337896285959509868053757685964323154866098312463419956102037317410158257908606272304424999525890830225833420142076737472608565494458888656307860119570843475679091687403716464336076924797857609814074420319555785779579339480203194934459795447249151819649656492778347115047095826905780946431810078727533870354991299247654536539863078344427768487594481307489537063047325522945479256359749474640685873049608230331350417801579992339082330049753565873262518350700090754034100501197458851923968877160289206675837940602331421985526033459599270824124256807112627662197053145043456403725886105117094298810459543635632057816754222718747588366758110224919196313003 24534075392474088960855797523092722679324974485165884865968208843124803570602863887581030075332408801177488267677156146461116147325339634464172971343181145013727176278802295343095739809458476457010582625175038141111196835226024615558837549645363296657552680077146460359767408395768778424459410416030526546189949635494738927192652157184685668438664642514278020077422448826810111884831758637764054032190494308087982702027286757178050226580969480175521999696180085999992637115476967793399391198384245187773601976867687095652706503184515658863491843686837170292036308513674721305067320710038633334687236695914145184655351540422167709556685340501300142507980678061116262064409117581102187475799160454715627490603812823394394511818178288189145768881907574400807189527234370363323884726214010192403019367595018071892021903524827049588939881105870082033114532146474637916256193734947271011512446892003468096653665492177168011220711264125012218998180764926282796542982408961995081508818879024397187343728610759038995288487968703508824297150545604745488446197791008970368061293887089244396967575110231517050806269234205500699283022154501841848979080025574015473624399702257787774727954607279870317555126657900235620647031728133712860767978074845146498062032944681108888602798040921591799893774875126747874939741006806260125482074192606067554738485646181102872264934566214787341103760888787339907738758371778301535450499880891477575965212848548010676772650012628705364853595198046323531811233278649341119223292529590178133743597137625438816113149707232349898441611522769983919515042126619532266475591057965596041872117419986394139082433904700588844562356202648869667156458357437396056084551569574853046992404540323769980533605658554725002909506625713983506471766296810069726625420896290322465070895674784755608109107516772048397551122733427751229325201043783179592449496838021011056065603084358653770036037668622255136334152638586654861136185835400872680021553815825468527766984992517620966770309204110170200653927616353094046250481105603105868352858784431622554184979047380591654833789142424693942958161540711489212657196849902647357494882301707175563891855433401668684687477162210603237581329585803276705137866205481807743819025945481359338982173525267470729510504053321570201951217810391325194317676099062110273602975555238826004 39696967867575492090279528063083850838152846505727901157922521400379833379774978027793639644212628147680104530879510479729776011049281582125066542066283556017323779235657335671707371244825675694429289879989403869259186741104341138418479743442743712080947934859331925757450779920151381702454883741156776603121457791213483030987328888889488699992423718983591143182235296455631990175223528046873736725454446887906578133876377049102289579196472342603091386533426226192018849992164035283779615271892119247508243358777263027293805466433321759449598701972118746015531137733918561233216876682742890788110369839098442455440600553571166657894514452664666897897368734340498987324715922970647477849153737679189355447768603893668126115871811372989079016719433389890313004387637298285735746984986287788411069335546312768043969163868793418014118223198521125756325969150827117069692425753847099394705712230921010092787676513595414888718490044914694614740760837661204415903179943462500247507424372252453859692842406112675600376168584491767115364808394360331403004608148349625756002203699049273493525254709141413074016687397987250833125821882682570503528557793693702394252490786791423891308429803080260127078006229607461862500943560835078394960826206056653457102297045614392715659670308393535713722542069983722778992105041061799181071237077488083761491605407455291868451848595431099229121699018665128334623561466059497002993815838535381797746269026320386260232261323104872467878629234222807654027859076182769292489609473057621016810717677350462564618878831214179404664020289414320678011031208194495021164254807113221968337029715754410995796717062865822406744614572333604880084432510749474393980837529084721100750090504646924846631918121974681104946824035872241415078038601235069252516251122123742607147633147393321102567996173079908517121966209106842916728917508119256517247354447835085476385158870138233109516240863556714931781401790406304517628964182515919775848459596771900337845712526387975958069556858646710063732272044121581640731788595140168915678381729910878913934453688066464704442019473775111744538153879793819262410762723165165708194973055741276065089314285325637561847766368886441178183661007788802738597465476305932000626138573143556392127216981671196615615621147620380661494853442449141948540394846650477031713200474435139007 64231043260049581051135325586176573517477820990893786023890730243504636950377841915374669719545036948857592798556666626190892158374621216589239513409464701031050955514459631014803111054284152151439872505164442010370383576330365753977317293088107008738500614936478386117218188315920160126914294157187303149311407426708221958179981046074174368431088361497869163259657745282442102060055286684637790757644941195994560835903663806280339805777441822778613386229606312192011487107641003077179006470276364435281845335644950122946511969617837418313090545658955916307567446247593282538284197392781524122797606535012587640095952093993334367451199793165967040405349412401615249389125040551749665324952898133904982938372416717062520627689989661178224785601340964291120193914871668649059631711200297980814088703141330839935991067393620467603058104304391207789440501297301754985948619488794370406218159122924478189441342005772582899939201309039706833738941602587487212446162352424495329016243251276851047036571016871714595664656553195275939661958939965076891450805939358596124063497586138517890492829819372930124822956632192751532408844037184412352507637819267717867876890489049211666036384410360130444633132887507697483147975288968791255728804280901799955164329990295501604262468349315127513616316945110470653931846047868059306553311270094151316230091053636394740716783161645886570225459907452468242362319837837798538444315719426859373711481874868396937004911335733577832732224432269131185839092354832110411712902002647799150554314814975901380732028538446529303105631812184304597526073334814027287639845865078818010209147135740805134879150967566411251306970774982474547240890868186870450065389098659574147742495044970694827165523780529406107856330661586224921549804898045138979141672018414065072218528822178076710677103689851956914673088942534594146054118551902436109696851285856096532450761954496886879552278532178970068115554428992959378765150017916792455870013412597368865612697518905596924839866062756880264386199660474675686982269700743274784031240514342501468119432735447056359275808616199805687496315420505308475067959573067813065689855357448451628981169718727306246535243531097044415764990593592079443735331681787739744445164518624915731109390506938667345126125200941950863446071252840467142858070945712587305316176029673965011 103928011127625073141414853649260424355630667496621687181813251643884470330152819943168309363757665096537697329436177105920668169423902798714306055475748257048374734750116966686510482299109827845869162385153845879629570317434706892395797036530850720819448549795810311874668968236071541829369177898344079752432865217921704989167309934963663068423512080481460306441893041738074092235278814731511527483099388083901138969780040855382629384973914165381704772763032538384030337099805038360958621742168483682790088694422213150240317436051159177762689247631074662323098583981511843771501074075524414910907976374111030095536552647564501025345714245830633938302718146742114236713840963522397143174106635813094338386141020610730646743561801034167303802320774354181433198302508966934795378696186585769225158038687643607979960231262413885617176327502912333545766470448128872055641045242641469800923871353845488282229018519367997788657691353954401448479702440248691628349342295886995576523667623529304906729413422984390196040825137687043055026767334325408294455414087708221880065701285187791384018084528514343198839644030180002365534665919866982856036195612961420262129381275840635557344814213440390571711139117115159345648918849803869650689630486958453412266627035909894319922138657708663227338859015094193432923951088929858487624548347582235077721696461091686609168631757076985799347158926117596576985881303897295541438131557962241171457750901188783197237172658838450300610853666491938839866951431014879704202511475705420167365032492326363945350907369660708707769652101598625275537104543008522308804100672192039978546176851495216130675868030432233658051585347316079427325323378936344844046226627744295248492585549617619673797441902504087212803154697458466336627843499280208231657923140537807679366161969571397813245099862931865431795055151641437062783036060021692626944205733691182008835920824635119989068519395735684999896956219399263896394114200432712231718473009369269203458410045293572882909422921403590328118471704596257327714058295883443699709622244253380382053886423513521063717828089974917432034469300299127737478722296232978773884828413189727694070484004052943808383009899983485593948651601380882182332797158093671745071303091768472123236607488609863960741746348562331524940924695289609091398465792363064337029376504109104018 168159054387674654192550179235436997873108488487515473205703981887389107280530661858542979083302702045395290127992843732111560327798524015303545568885212958079425690264576597701313593353393979997309034890318287889999953893765072646373114329618957729557949164732288697991887156551991701956283472055531382901744272644629926947347290981037837436854600441979329469701550787020516194295334101416149318240744329279895699805683704661662969190751355988160318158992638850576041824207446041438137628212444848118071934030067163273186829405668996596075779793290030578630666030229105126309785271468305939033705582909123617735632504741557835392796914038996600978708067559143729486102966004074146808499059533946999321324513437327793167371251790695345528587922115318472553392217380635583855010407386883750039246741828974447915951298656034353220234431807303541335206971745430627041589664731435840207142030476769966471670360525140580688596892662994108282218644042836178840795504648311490905539910874806155953765984439856104791705481690882318994688726274290485185906220027066818004129198871326309274510914347887273323662600662372753897943509957051395208543833432229138130006271764889847223381198623800521016344272004622856828796894138772660906418434767860253367430957026205395924184607007023790740955175960204664086855797136797917794177859617676386393951787514728081349885414918722872369572618833570064819348201141735094079882447277389100545169232776057180134242083994572028133343078098761070025706043785846990115915413478353219317919347307302265326082935908107238010875283913782929873063177877822549596443946537270857988755323987236021265555018997998644909358556122298553974566214247123215294111615726403869396235080594588314500962965683033493320659485359044691258177648397325347210799595158951872751584690791749474523922203552783822346468144094176031208837154611924128736641057019547278541286682779132006868620797927914655068012510648392223275159264218349504687588486421966638069071107564199169807749288984160470592504671365070933014696327996626718483740862758595881850173319158960577422993636706174723119530784720804436212546681869300791839574683770638179323051653722780250054918253431080530009713642194972961626068128839881411489516467610393387854345997995548531305867871549504282388386995948130076234256536738075651642345552533783069029 272087065515299727333965032884697422228739155984137160387517233531273577610683481801711288447060367141932987457429020838032228497222426814017851624360961215127800425014693564387824075652503807843178197275472133769629524211199779538768911366149808450377397714528099009866556124788063243785652649953875462654177137862551631936514600916001500505278112522460789776143443828758590286530612916147660845723843717363796838775463745517045598575725270153542022931755671388960072161307251079799096249954613331800862022724489376423427146841720155773838469040921105240953764614210616970081286345543830353944613559283234647831169057389122336418142628284827234917010785705885843722816806967596543951673166169760093659710654457938523814114813591729512832390242889672653986590519889602518650389103573469519264404780516618055895911529918448238837410759310215874880973442193559499097230709974077310008065901830615454753899379044508578477254584016948509730698346483084870469144846944198486482063578498335460860495397862840494987746306828569362049715493608615893480361634114775039884194900156514100658528998876401616522502244692552756263478175876918378064580029045190558392135653040730482780726012837240911588055411121738016174445812988576530557108065254818706779697584062115290244106745664732453968294034975298857519779748225727776281802407965258621471673483975819767959054046675799858168919777759687661396334082445632389621320578835351341716626983677245963331479256653410478433953931765253008865572995216861869820117924954058639485284379799628629271433843277767946718644936015381555148600282420831071905248047209462897967301500838731237396230887028430878567410141469614633401891537626059560138157842354148164644727666144205934174760407585537580533462640056503157594805491896605555442457518299489680430950852761320872337167303415715687778263199245817468271620190671945821363585262753238460550122603603767126857689317323650340067909466867791487171553378418782216919306959431335907272529517609492742690658711905564060920623143069667190342410386292510162183450485002849262232227205582474098486711464796149640551565254021103563950025404165533770613459512183827907017122137726833193863301263331064015603662293796353843808400925997975083234587770702161859977582605484158395266609617898066613913327920643419685325655002530438715979374929037892173047 440246119902974381526515212120134420101847644471652633593221215418662684891214143660254267530363069187328277585421864570143788825020950829321397193246174173207226115279270162089137669005897787840487232165790421659629478104964852185142025695768766179935346879260387707858443281340054945741936122009406845555921410507181558883861891897039337942132712964440119245844994615779106480825947017563810163964588046643692538581147450178708567766476626141702341090748310239536113985514697121237233878167058179918933956754556539696613976247389152369914248834211135819584430644439722096391071617012136292978319142192358265566801562130680171810939542323823835895718853265029573208919772971670690760172225703707092981035167895266316981486065382424858360978165004991126539982737270238102505399510960353269303651522345592503811862828574482592057645191117519416216180413938990126138820374705513150215207932307385421225569739569649159165851476679942618012916990525921049309940351592509977387603489373141616814261382302696599779451788519451681044404219882906378666267854141841857888324099027840409933039913224288889846164845354925510161421685833969773273123862477419696522141924805620330004107211461041432604399683126360873003242707127349191463526500022678960147128541088320686168291352671756244709249210935503521606635545362525694075980267582935007865625271490547849308939461594522730538492396593257726215682283587367483701203026112740442261796216453303143465721340647982506567297009864014078891279039002708859936033338432411858803203727106930894597516779185875184729520219929164485021663460298653621501691993746733755956056824825967258661785906026429523476768697591913187376457751873182775432269458080552034040962746738794248675723373268571073854122125415547848852983140293930902653257113458441553182535543553070346861089506968499510124731343339993499480457345283869950100226319772785739091409286382899133726310115251564995135921977516183710446712642637131721606895445853302545341600625173691912498408000889724531513127814434738123357106714289136880667191347761445144082400524741434675909705101502324363671096038741908000162572086034834562453034195954466086340173791449613443918219516762144545613375935991326805434469054837856494724104238312555247831928603479706926572477489447570896301714916591549761559911539268514367621720481571675242076 712333185418274108860480245004831842330586800455789793980738448949936262501897625461965555977423436329261265042850885408176017322243377643339248817607135388335026540293963726476961744658401595683665429441262555429259002316164631723910937061918574630312744593788486717724999406128118189527588771963282308210098548369733190820376492813040838447410825486900909021988438444537696767356559933711471009688431764007489377356611195695754166342201896295244364022503981628496186146821948201036330128121671511719795979479045916120041123089109308143752717875132241060538195258650339066472357962555966646922932701475592913397970619519802508229082170608651070812729638970915416931736579939267234711845391873467186640745822353204840795600878974154371193368407894663780526573257159840621155788614533822788568056302862210559707774358492930830895055950427735291097153856132549625236051084679590460223273834138000875979469118614157737643106060696891127743615337009005919779085198536708463869667067871477077674756780165537094767198095348021043094119713491522272146629488256616897772518999184354510591568912100690506368667090047478266424899861710888151337703891522610254914277577846350812784833224298282344192455094248098889177688520115925722020634565277497666926826125150435976412398098336488698677543245910802379126415293588253470357782675548193629337298755466367617267993508270322588707412174352945387612016366032999873322523604948091783978423200130549106797200597301392985001250941629267087756852034219570729756151263386470498288488106906559523868950622463643131448165155944546040170263742719484693406940040956196653923358325664698496058016793054860402044178839061527820778349289499242335570427300434700198685690412883000182850483780854108654387584765472051006447788632190536458095714631757931233613486396314391219198256810384215197902994542585810967752077535955815771463811582526024199641531889986666260583999432575215335203831444383975197618266021055913938526202405284638452614130142783184655189066712795288592433750957504405313699517100581647042850641832764294406314627730323908774396416566298474004222661292763011564112597490200368333066493708138293993357295929176446637781520780093208561217038229787680649242869980835831577958692009014717107809511208963865321839087107345637510215042837234969446885566541798953083601095410609567415123 1152579305321248490386995457124966262432434444927442427573959664368598947393111769122219823507786505516589542628272749978319806147264328472660646010853309561542252655573233888566099413664299383524152661607052977088888480421129483909052962757687340810248091473048874425583442687468173135269524893972689153766019958876914749704238384710080176389543538451341028267833433060316803248182506951275281173653019810651181915937758645874462734108678522436946705113252291868032300132336645322273564006288729691638729936233602455816655099336498460513666966709343376880122625903090061162863429579568102939901251843667951178964772181650482680040021712932474906708448492235944990140656352910937925472017617577174279621780990248471157777086944356579229554346572899654907066555994430078723661188125494176057871707825207803063519637187067413422952701141545254707313334270071539751374871459385103610438481766445386297205038858183806896808957537376833745756532327534926969089025550129218441257270557244618694489018162468233694546649883867472724138523933374428650812897342398458755660843098212194920524608825324979396214831935402403776586321547544857924610827754000029951436419502651971142788940435759323776796854777374459762180931227243274913484161065300176627073954666238756662580689451008244943386792456846305900733050838950779164433762943131128637202924026956915466576932969864845319245904570946203113827698649620367357023726631060832226240219416583852250262921937949375491568547951493281166648131073222279589692184601818882357091691834013490418466467401649518316177685375873710525191927203018138314908632034702930409879415150490665754719802699081289925520947536653441008154807041372425111002696758515252232726653159621794431526207154122679728241706890887598855300771772484467360748971745216372786796021939867461566059346317352714708027725885925804467232534881239685721564037902298809938732941176369565394310309547826780330339753421900158908064978663693045660133097851137940997955730767956876567687474713685013123946878771939143437056623814870783923517833180525739550397028255065343450306121667800798367893757331504919564275169576235202895519527904092760079697469720626060081699740296855353106830414165779007454677339035673688072682796247327272355641439812443572248411564596793208406516757753826519208445478081067467451222815892181242657199 1864912490739522599247475702129798104763021245383232221554698113318535209895009394584185379485209941845850807671123635386495823469507706115999894828460444949877279195867197615043061158322700979207818091048315532518147482737294115632963899819605915440560836066837361143308442093596291324797113665935971461976118507246647940524614877523121014836954363938241937289821871504854500015539066884986752183341451574658671293294369841570216900450880418732191069135756273496528486279158593523309894134410401203358525915712648371936696222425607768657419684584475617940660821161740400229335787542124069586824184545143544092362742801170285188269103883541125977521178131206860407072392932850205160183863009450641466262526812601675998572687823330733600747714980794318687593129251589919344816976740027998846439764128070013623227411545560344253847757091972989998410488126204089376610922544064694070661755600583387173184507976797964634452063598073724873500147664543932888868110748665926905126937625116095772163774942633770789313847979215493767232643646865950922959526830655075653433362097396549431116177737425669902583499025449882043011221409255746075948531645522640206350697080498321955573773660057606120989309871622558651358619747359200635504795630577674294000780791389192638993087549344733642064335702757108279859466132539032634791545618679322266540222782423283083844926478135167907953316745299148501439715015653367230346250236008924010218642616714401357060122535250768476569798893122548254404983107441850319448335865205352855380179940920049942335418024113161447625850531818256565362190945737623008315572075659127063802773476155364250777819492136150327565126375714968828933156330871667446573124058949952431412343572504794614376690934976788382629291656359649861748560404675003818844686376974304020409508336181852785257603127736929905930720428511615434984612417195501493027849484824834138374473066356231654894308980401995665543584866284134105683244684748959598659300256422579450569860910740061222876541426480301716380629729443548750756140915452430966368475013290033956711655985389252224702538234099272372116418624267931128387767066435571228586021612231054073054765649802506719481261076948561668047452395566688103920209016509519650641488256341989463450951021407437570250651704138845916731800591061488655331044622866420534823911302790810072322 3017491796060771089634471159254764367195455690310674649128657777687134157288121163706405202992996447362440350299396385364815629616772034588660540839313754511419531851440431503609160571987000362731970752655368509607035963158423599542016862577293256250808927539886235568891884781064464460066638559908660615742138466123562690228853262233201191226497902389582965557655304565171303263721573836262033356994471385309853209232128487444679634559558941169137774249008565364560786411495238845583458140699130894997255851946250827753351321762106229171086651293818994820783447064830461392199217121692172526725436388811495271327514982820767868309125596473600884229626623442805397213049285761143085655880627027815745884307802850147156349774767687312830302061553693973594659685246019998068478164865522174904311471953277816686747048732627757676800458233518244705723822396275629127985794003449797681100237367028773470389546834981771531261021135450558619256679992078859857957136298795145346384208182360714466652793105102004483860497863082966491371167580240379573772424173053534409094205195608744351640786562750649298798330960852285819597542956800604000559359399522670157787116583150293098362714095816929897786164648997018413539550974602475548988956695877850921074735457627949301573777000352978585451128159603414180592516971489811799225308561810450903743146809380198550421859448000013227199221316245351615267413665273734587369976867069756236458862033298253607323044473200143968138346844615829421053114180664129909140520467024235212471871774933540360801885425762679763803535907691967090554118148755761323224204110362057473682188626646030005497622191217440253086073912368409837087963372244092557575820817465204664138996732126589045902898089099468110870998547247248717049332177159471179593658122190676807205530276049314351316949445089644613958446314437419902217147298435187214591887387123644077107414242725797049204618528228775995883338288184293013748223348442005258792398107560520448525591678696937790564016140165314840327508501382692187812764730323214889886308193815773507108684240454595675008659901900070740010175955772850692662936642670774124105549516323814152752235370428566801181001373803914774877866561345695558597548052183207723324284503669261819092390833851009818662216300932054323248558344888007863776522703933887986046727194972052729521 4882404286800293688881946861384562471958476935693906870683355891005669367183130558290590582478206389208291157970520020751311453086279740704660435667774199461296811047307629118652221730309701341939788843703684042125183445895717715174980762396899171691369763606723596712200326874660755784863752225844632077718256973370210630753468139756322206063452266327824902847477176070025803279260640721248785540335922959968524502526498329014896535010439359901328843384764838861089272690653832368893352275109532098355781767658899199690047544187713997828506335878294612761444268226570861621535004663816242113549620933955039363690257783991053056578229480014726861750804754649665804285442218611348245839743636478457212146834615451823154922462591018046431049776534488292282252814497609917413295141605550173750751236081347830309974460278188101930648215325491234704134310522479718504596716547514491751761992967612160643574054811779736165713084733524283492756827656622792746825247047461072251511145807476810238816568047735775273174345842298460258603811227106330496731951003708610062527567293005293782756964300176319201381829986302167862608764366056350076507891045045310364137813663648615053936487755874536018775474520619577064898170721961676184493752326455525215075516249017141940566864549697712227515463862360522460451983104028844434016854180489773170283369591803481634266785926135181135152538061544500116707128680927101817716227103078680246677504650012654964383167008450912444708145737738377675458097288105980228588856332229588067852051715853590303137303449875841211429386439510223655916309094493384331539776186021184537484962102801394256275441683353590580651200288083378666021119703115760004148944876415157095551340304631383660279589024076256493500290203606898578797892581834474998438344499164980827615038612231167136574552572826574519889166742949035337201759715630688707619736871948478215481887309082028704098927508630771661426923154468427119431468033190964857451698363983099899095452589436999013440557566645616556708138230826240938568905645775645856254783207105807463820340225843847899711198135999343112126594580040781821050703709106345352691571128554868225807001020231073520662262450752476442925318956912383662517757068692727373965772760011251282543341855258447388912868005070900239980358935949496519107567326800308520870638497762862801843 7899896082861064778516418020639326839153932626004581519812013668692803524471251721996995785471202836570731508269916406116127082703051775293320976507087953972716342898748060622261382302296701704671759596359052551732219409054141314716997624974192427942178691146609832281092211655725220244930390785753292693460395439493773320982321401989523397289950168717407868405132480635197106542982214557510818897330394345278377711758626816459576169569998301070466617633773404225650059102149071214476810415808662993353037619605150027443398865949820226999592987172113607582227715291401323013734221785508414640275057322766534635017772766811820924887355076488327745980431378092471201498491504372491331495624263506272958031142418301970311272237358705359261351838088182265876912499743629915481773306471072348655062708034625646996721509010815859607448673559009479409858132918755347632582510550964289432862230334640934113963601646761507696974105868974842112013507648701652604782383346256217597895353989837524705469361152837779757034843705381426749974978807346710070504375176762144471621772488614038134397750862926968500180160947154453682206307322856954077067250444567980521924930246798908152299201851691465916561639169616595478437721696564151733482709022333376136150251706645091242140641550050690812966592021963936641044500075518656233242162742300224074026516401183680184688645374135194362351759377789851731974542346200836405086203970148436483136366683310908571706211481651056412846492582354207096511211468770110137729376799253823280323923490787130663939188875638520975232922347202190746470427243249145654763980296383242011167150729447424261773063874571030833737274200451788503109083075359852561724765693880361759690337036757972706182487113175724604371288750854147295847224758993946178032002621355657634820568888280481487891502017916219133847613057386455239418907014065875922211624259072122292589301551807825753303546036859547657310261442652720133179691381632970116244096471543620347621044268133936804004573706810931397035646732208933126381670376098860746141091400921580970929024466298443574719858037899413852136770535813632513713640351777119476797120644878682378559236390659640321843263824556391217803185518258079221115305120875935097290057263680513101635732689109457207575084306002954563228917280837504382884090030734196506917365692734915531364 12782300369661358467398364882023889311112409561698488390495369559698472891654382280287586367949409225779022666240436426867438535789331515997981412174862153434013153946055689740913604032606403046611548440062736593857402854949859029891978387371091599633548454753333428993292538530385976029794143011597924771178652412863983951735789541745845603353402435045232771252609656705222909822242855278759604437666317305246902214285125145474472704580437660971795461018538243086739331792802903583370162690918195091708819387264049227133446410137534224828099323050408220343671983517972184635269226449324656753824678256721573998708030550802873981465584556503054607731236132742137005783933722983839577335367899984730170177977033753793466194699949723405692401614622670558159165314241239832895068448076622522405813944115973477306695969289003961538096888884500714113992443441235066137179227098478781184624223302253094757537656458541243862687190602499125604770335305324445351607630393717289849406499797314334944285929200573555030209189547679887008578790034453040567236326180470754534149339781619331917154715163103287701561990933456621544815071688913304153575141489613290886062743910447523206235689607566001935337113690236172543335892418525827917976461348788901351225767955662233182707506099748403040482055884324459101496483179547500667259016922789997244309885992987161818955431300270375497504297439334351848681671027127938222802431073227116729813871333323563536089378490101968857554638320092584771969308756876090366318233131483411348175975206640720967076492325514362186662308786712414402386736337742529986303756482404426548652112832248818518048505557924621414388474488535167169130202778475612565873710570295518855241677341389356366462076137251981097871578954461045874645117340828421176470347120520638462435607500511648624466054590742793653736779800335490576620666729696564629831361131020600508071188860889854457402473545490319318737184597121147252611159414823934973695794835526720246716496857570935817445131273456547953743784963035174064950576021874506602395874608027388434749364692142291474431056173898756964263365115854414334764344060883464829488691773433550604366237410890713842505526275308867660728504475170462883633062189568662471255830023691764384179074544367904596487952311073854803209276216787000901991657357534505027788004190497778333207 20682196452522423245914782902663216150266342187703069910307383228391276416125634002284582153420612062349754174510352832983565618492383291291302388681950107406729496844803750363174986334903104751283308036421789145589622264004000344608976012345284027575727145899943261274384750186111196274724533797351217464639047852357757272718110943735369000643352603762640639657742137340420016365225069836270423334996711650525279926043751961934048874150435962042262078652311647312389390894951974797846973106726858085061857006869199254576845276087354451827692310222521827925899698809373507649003448234833071394099735579488108633725803317614694906352939632991382353711667510834608207282425227356330908830992163491003128209119452055763777466937308428764953753452710852824036077813984869748376841754547694871060876652150599124303417478299819821145545562443510193523850576359990413769761737649443070617486453636894028871501258105302751559661296471473967716783842954026097956390013739973507447301853787151859649755290353411334787244033253061313758553768841799750637740701357232899005771112270233370051552466026030256201742151880611075227021379011770258230642391934181271407987674157246431358534891459257467851898752859852768021773614115089979651459170371122277487376019662307324424848147649799093853448647906288395742540983255066156900501179665090221318336402394170842003644076674405569859856056817124203580656213373328774627888635043375553212950238016634472107795589971753025270401130902446791868480520225646200504047609930737234628499898697427851631015681201152883161895231133914605148857163580991675641067736778787668559819263561696242779821569432495652248125748688986955672239285853835465127598476264175880614932014378147329072644563250427705702242867705315193170492342099822367354502349741876296097256176388792130112357556608659012787584392857721945816039573743762440552042985390092722800660490412697680210706019582349866976047446039773867385790850796456905089939891307070340594337541125704872621449704980267479350779431695244107191332246397973367348536966008948969405678389158440735049150914211798170816400135651668046848477984412660584306285812418312232982925473801550354164348790099865258878531689993428542104748367310444597568545887287372277485814807233477361804063036617076809366438193497624505284875747388268701534705369883232693864571 33464496822183781713313147784687105461378751749401558300802752788089749307780016282572168521370021288128776840750789259851004154281714807289283800856812260840742650790859440104088590367509507797894856476484525739447025118953859374500954399716375627209275600653276690267677288716497172304518676808949142235817700265221741224453900485481214603996755038807873410910351794045642926187467925115030027772663028955772182140328877107408521578730873623014057539670849890399128722687754878381217135797645053176770676394133248481710291686224888676655791633272930048269571682327345692284272674684157728147924413836209682632433833868417568887818524189494436961442903643576745213066358950340170486166360063475733298387096485809557243661637258152170646155067333523382195243128226109581271910202624317393466690596266572601610113447588823782683642451328010907637843019801225479906940964747921851802110676939147123629038914563843995422348487073973093321554178259350543307997644133690797296708353584466194594041219553984889817453222800741200767132558876252791204977027537703653539920452051852701968707181189133543903304142814067696771836450700683562384217533423794562294050418067693954564770581066823469787235866550088940565109506533615807569435631719911178838601787617969557607555653749547496893930703790612854844037466434613657567760196587880218562646288387158003822599507974675945357360354256458555429337884400456712850691066116602669942764109349958035643884968461854994127955769222539376640449828982522290870365843062220645976675873904068572598092173526667245348557539920627019551243899918734205627371493261192095108471376393945061297870074990420273662514223177522122841369488632311077693472186834471399470173691719536685439106639387679686800114446659776239045137459440650788530972696862396934559691783889303778736823611199401806441321172658057436392660240473459005181874346521113323308731679273587534668108493127840186294784630636895014638402010211280840063635686142597060841054037983275808438894836253724027304523216658279281256282822419847873950932840616976357840427753850583026523581970385696927780663500767522461183242328473544049135774504191745783587291711212441068006854316375174126539260194468599004988381429500013260039801717311064041869993881777845266400550988928150664169647469714411506186867404745803206562493374073730472197778 54146693274706204959227930687350321611645093937104628211110136016481025723905650284856750674790633350478531015261142092834569772774098098580586189538762368247472147635663190467263576702412612549178164512906314885036647382957859719109930412061659654785002746553219951542062038902608368579243210606300359700456748117579498497172011429216583604640107642570514050568093931386062942552692994951300451107659740606297462066372629069342570452881309585056319618323161537711518113582706853179064108904371911261832533401002447736287136962312243128483483943495451876195471381136719199933276122918990799542024149415697791266159637186032263794171463822485819315154571154411353420348784177696501394997352226966736426596215937865321021128574566580935599908520044376206231320942210979329648751957172012264527567248417171725913530925888643603829188013771521101161693596161215893676702702397364922419597130576041152500540172669146746982009783545447061038338021213376641264387657873664304744010207371618054243796509907396224604697256053802514525686327718052541842717728894936552545691564322086072020259647215163800105046294694678771998857829712453820614859925357975833702038092224940385923305472526080937639134619409941708586883120648705787220894802091033456325977807280276882032403801399346590747379351696901250586578449689679814468261376252970439880982690781328845826243584649081515217216411073582759009994097773785487478579701159978223155714347366592507751680558433608019398356900124986168508930349208168491374413452992957880605175772601496424229107854727820128510452771054541624700101063499725881268439230039979763668290639955641304077691644422915925910639971866509078513608774486146542821070663098647280085105706097684014511751202638107392502357314365091432215629801540473155885475046604273230656947960278095908849181167808060819228905565515779382208699814217221445733917331911206046109392169686285214878814512710190053270832076676668882024192861007737745153575577449667401435391579108980681060344541233991506655302648353523388447615068817821241299469806625925327246106143009023761572732884597495098597063636419190508031720312886204633442060316610058016570217185013991422171203106475039385417791884462027547093129796810457857608347604598436319355808689011322628204614025545227473536085663212036011471743152134071908097198743956963166062349 87611190096889986672541078472037427073023845686506186511912888804570775031685666567428919196160654638607307856011931352685573927055812905869869990395574629088214798426522630571352167069922120347073020989390840624483672501911719093610884811778035281994278347206496641809739327619105540883761887415249501936274448382801239721625911914697798208636862681378387461478445725431705868740160920066330478880322769562069644206701506176751092031612183208070377157994011428110646836270461731560281244702016964438603209795135696217997428648537131805139275576768381924465043063464064892217548797603148527689948563251907473898593471054449832681989988011980256276597474797988098633415143128036671881163712290442469724983312423674878264790211824733106246063587377899588426564070437088910920662159796329657994257844683744327523644373477467386512830465099532008799536615962441373583643667145286774221707807515188276129579087232990742404358270619420154359892199472727184572385302007355102040718560956084248837837729461381114422150478854543715292818886594305333047694756432640206085612016373938773988966828404297344008350437508746468770694280413137382999077458781770395996088510292634340488076053592904407426370485960030649151992627182321594790330433810944635164579594898246439639959455148894087641310055487514105430615916124293472036021572840850658443628979168486849648843092623757460574576765330041314439331982174242200329270767276580893098478456716550543395565526895463013526312669347525545149380178190690782244779296055178526581851646505564996827200028254487373859010310975168644251344963418460086895810723301171858776762016349586365375561719413336199573154195044031201354978263118457620514542849933118679555279397817220699950857842025787079302471761024867671260767260981123944416447743466670165216639744167399687586004779007462625670226738173836818601360054690680450915791678432319369418123848959872749546923005838030239565616707313563896662594871219018585217211263592264462276445617092256489499239377487715533959825865011802669703897891237669115250402647242901685086533896859606788096314854983192026377727137186712969214962641359748682577834820801803800157508896226432490178057422850213511957052078930626552081511226310471117648149321909500361225802570789167894605165014473378137705733132926447517658610556879875114659692118030693638260127 141757883371596191631769009159387748684668939623610814723023024821051800755591316852285669870951287989085838871273073445520143699829911004450456179934336997335686946062185821038615743772334732896251185502297155509520319884869578812720815223839694936779281093759716593351801366521713909463005098021549861636731196500380738218797923343914381813276970323948901512046539656817768811292853915017630929987982510168367106273074135246093662484493492793126696776317172965822164949853168584739345353606388875700435743196138143954284565610849374933622759520263833800660514444600784092150824920522139327231972712667605265164753108240482096476161451834466075591752045952399452053763927305733173276161064517409206151579528361540199285918786391314041845972107422275794657885012648068240569414116968341922521825093100916053437175299366110990342018478871053109961230212123657267260346369542651696641304938091229428630119259902137489386368054164867215398230220686103825836772959881019406784728768327702303081634239368777339026847734908346229818505214312357874890412485327576758631303580696024846009226475619461144113396732203425240769552110125591203613937384139746229698126602517574726411381526118985345065505105369972357738875747831027382011225235901978091490557402178523321672363256548240678388689407184415356017194365813973286504282949093821098324611669949815695475086677272838975791793176403624073449326079948027687807850468436559116254192804083143051147246085329071032924669569472511713658310527398859273619192749048136407187027419107061421056307882982307502369463082029710268951446026918185968164249953341151622445052656305227669453253363836252125483794166910540279868587037604604163335613513031765959640385103914904714462609044663894471804829075389959103476397062521597100301922790070943395873587704445495596435185946815523444899132303689616200810059868907901896649709010343525415527516018646157964425737518548220292836448783990232778686787732226756330370786841041931863711837196201237170559583918721707040615128513365326058151512960055490356549872453868827012332640039868630549669047739580687124974790773605903477246682954245953316019895137411861816727726081240423912349260529325252897374843963392654099174641023120928975256496926507936680581611259800490522809779040018605611241818796138483529130353709013947022756890861987656804322476 229369073468486178304310087631425175757692785310117001234935913625622575787276983419714589067111942627693146727285004798205717626885723910320326170329911626423901744488708451609967910842256853243324206491687996134003992386781297906331700035617730218773559440966213235161540694140819450346766985436799363573005644883181977940423835258612180021913833005327288973524985382249474680033014835083961408868305279730436750479775641422844754516105676001197073934311184393932811786123630316299626598308405840139038952991273840172281994259386506738762035097032215725125557508064848984368373718125287854921921275919512739063346579294931929158151439846446331868349520750387550687179070433769845157324776807851675876562840785215077550708998216047148092035694800175383084449083085157151490076276764671580516082937784660380960819672843578376854848943970585118760766828086098640843990036687938470863012745606417704759698347135128231790726324784287369758122420158831010409158261888374508825447329283786551919471968830158453448998213762889945111324100906663207938107241760216964716915597069963619998193304023758488121747169712171709540246390538728586613014842921516625694215112810209066899457579711889752491875591330003006890868375013348976801555669712922726655136997076769761312322711697134766029999462671929461447810281938266758540304521934671756768240649118302545123929769896596436366369941733665387888658062122269888137121235713140009352671260799693594542811612224534046450982238820037258807690705589550055863972045103314933768879065612626417883507911236794876228473393004878913202790990336646055060060676642323481221814672654814034828815083249588325056948361954571481223565300723061783850156362964884639195664501732125414413466886689681551107300836414826774737164323502721044718370533537613561090227448612895284021190725822986070569359041863453019411419923598582347565500688775844784945639867606030713972660524386250532402065491303796675349382603445774915587998104634196325988282813293493660058823296209422574574954378377128727855410851293159471800275101111728697419173936728237337765362594563879151352517910792616446461645595605701998597729958213665616885234977466856402527317952175466409331896042323280651256152249431400092904646248417437041807413830589658417414944054491983748947551929064931046788964265893822137416582980018350442582603 371126956840082369936079096790812924442361724933727815957958938446674376542868300272000258938063230616778985598558078243725861326715634914770782350264248623759588690550894272648583654614591586139575391993985151643524312271650876719052515259457425155552840534725929828513342060662533359809772083458349225209736841383562716159221758602526561835190803329276190485571525039067243491325868750101592338856287789898803856752849776668938417000599168794323770710628357359754976735976798901038971951914794715839474696187411984126566559870235881672384794617296049525786071952665633076519198638647427182153893988587118004228099687535414025634312891680912407460101566702787002740942997739503018433485841325260882028142369146755276836627784607361189938007802222451177742334095733225392059490393733013503037908030885576434397994972209689367196867422841638228721997040209755908104336406230590167504317683697647133389817607037265721177094378949154585156352640844934836245931221769393915610176097611488855001106208198935792475845948671236174929829315219021082828519727087793723348219177765988466007419779643219632235143901915596950309798500664319790226952227061262855392341715327783793310839105830875097557380696699975364629744122844376358812780905614900818145694399255293082984685968245375444418688869856344817465004647752240045044587471028492855092852319068118240599016447169435412158163118137289461337984142070297575944971704149699125606864064882836645690057697553605079375651808292548972466001232988409329483164794151451340955906484719687838939815794219102378597936475034589182154237017254832023224310629983475103666867328960041704282068447085840450540742528865111761092152338327665947185769875996650598836049605647030128876075931353576022912129911804785878213561386024318145020293323608556956963815153058390880456376672638509515468491345553069220221479792506484244215209699119370200473155886252188678398398042934470825238514275294029454036170335672531245958784945676128189700120009494730830618407214931129615190082891742454786006923811348649828350147554980555709751813976596867887434410334144566276327308684398519923708328549851655314617625095625527433612961058707280314876578481500719306706740005715934750430793272552329068161143174925373722389025090390148940224723094510589360189370725203414575919317974907769160173473842006007246905079 600496030308568548240389184422238100200054510243844817192894852072296952330145283691714848005175173244472132325843083041931578953601358825091108520594160250183490435039602724258551565456848439382899598485673147777528304658432174625384215295075155374326399975692143063674882754803352810156539068895148588782742486266744694099645593861138741857104636334603479459096510421316718171358883585185553747724593069629240607232625418091783171516704844795520844644939541753687788522100429217338598550223200555978513649178685824298848554129622388411146829714328265250911629460730482060887572356772715037075815264506630743291446266830345954792464331527358739328451087453174553428122068173272863590810618133112557904705209931970354387336782823408338030043497022626560826783178818382543549566670497685083553990968670236815358814645053267744051716366812223347482763868295854548948326442918528638367330429304064838149515954172393952967820703733441954914475061003765846655089483657768424435623426895275406920578177029094245924844162434126120041153416125684290766626968848010688065134774835952086005613083666978120356891071627768659850044891203048376839967069982779481086556828137992860210296685542764850049256288029978371520612497857725335614336575327823544800831396332062844297008679942510210448688332528274278912814929690506803584891992963164611861092968186420785722946217066031848524533059870954849226642204192567464082092939862839134959535325682530240232869309778139125826634047112586231273691938577959385347136839254766274724785550332314256823323705455897254826409868039468095357028007591478078284371306625798584888682001614855739110883530335428775597690890819683242315717639050727731035926238961535238031714107379155543289542818043257574019430748219612652950725709527039189738663857146170518054042601671286164477567398461495586037850387416522239632899716105066591780710387895214985418795753858219392371058567320721357640579766597826129385552939118306161546783050310324515688402822788224490677230511140552189765037270119583513862334662641809300150422656092284407170987913325105225199772928708445427679826595191136370169974145457357313215355053839193050498196036174136717403896433676185716038636048039215401686945521983729161065789423342810764196438920979807357639667149002573109136922654268345622708282240801591297590056822024357689487682 971622987148650918176468281213051024642416235177572633150853790518971328873013583963715106943238403861251117924401161285657440280316993739861890870858408873943079125590496996907135220071440025522474990479658299421052616930083051344436730554532580529879240510418072892188224815465886169966311152353497813992479327650307410258867352463665303692295439663879669944668035460383961662684752335287146086580880859528044463985475194760721588517304013589844615355567899113442765258077228118377570502137995271817988345366097808425415113999858270083531624331624314776697701413396115137406770995420142219229709253093748747519545954365759980426777223208271146788552654155961556169065065912775882024296459458373439932847579078725631223964567430769527968051299245077738569117274551607935609057064230698586591898999555813249756809617262957111248583789653861576204760908505610457052662849149118805871648113001711971539333561209659674144915082682596540070827701848700682901020705427162340045799524506764261921684385228030038400690111105362294970982731344705373595146695935804411413353952601940552013032863310197752592034973543365610159843391867368167066919297044042336478898543465776653521135791373639947606636984729953736150356620702101694427117480942724362946525795587355927281694648187885654867377202384619096377819577442746848629479463991657466953945287254539026321962664235467260682696178008244310564626346262865040027064644012538260566399390565366885922927007331744205202285855405135203739693171566368714830301633406217615680692035052002095763139499674999633424346343074057277511265024846310101508681936609273688555549330574897443392951977421269226138433419684795003407869977378393678221696114958185836867763713026185672165618749396833596931560660024398531164287095551357334758957180754727475017857754729677044933944071100005101506341732969591459854379508611550835995920087014585185891951640110408070769456610255192182879094041891855583421723274790837407505567995986452705388522832282955321295637726071681804955120161862038299869258473990459128500570211072840116922801889921973112634183262853011704007135279589656293878302695309012627832980149464720484111157094881417032280474915176905022745376053755150152117738794536058229226932598268184486585464011369956297864390243513162469326293379471760198627600215709360457763530664030364936392761 1572119017457219466416857465635289124842470745421417450343748642591268281203158867655429954948413577105723250250244244327589019233918352564952999391452569124126569560630099721165686785528288464905374588965331447198580921588515225969820945849607735904205640486110215955863107570269238980122850221248646402775221813917052104358512946324804045549400075998483149403764545881700679834043635920472699834305473929157285071218100612852504760034008858385365460000507440867130553780177657335716169052361195827796501994544783632724263668129480658494678454045952580027609330874126597198294343352192857256305524517600379490810992221196105935219241554735629886117003741609136109597187134086048745615107077591485997837552789010695985611301350254177865998094796267704299395900453369990479158623734728383670145889968226050065115624262316224855300300156466084923687524776801465006000989292067647444238978542305776809688849515382053627112735786416038494985302762852466529556110189084930764481422951402039668842262562257124284325534273539488415012136147470389664361773664783815099478488727437892638018645946977175872948926045171134270009888283070416543906886367026821817565455371603769513731432476916404797655893272759932107670969118559827030041454056270547907747357191919418771578703328130395865316065534912893375290634507133253652214371456954822078815038255440959812044908881301499109207229237879199159791268550455432504109157583875377395525934716247897126155796317109883331028919902517721435013385110144328100177438472660983890405477585384316352586463205130896888250756211113525372868293032437788179793053243235072273444231332189753182503835507756698001736124310504478245723587616429121409257622353919721074899477820405341215455161567440091170950991408244011184115012805078396524497621037900897993071900356400963209411511469561500687544192120386113699487279224716617427776630474909800171310747393968627463140515177575913540519673808489681712807276213909143569052351046296777221076925655071179811972868237212233994720157431981621813731593136632268428650992867165124524093789803247078337833956191561457131686961874780792664048276840766369941048335203303913534609353131055553749684371348853090738784012101794365553804684316519787390292722021610995250781902932349763655504057392515735578463216033740105821335882456510951755353587486054722625880443 2543742004605870384593325746848340149484886980598990083494602433110239610076172451619145061891651980966974368174645405613246459514235346304814890262310977998069648686220596718072822005599728490427849579444989746619633538518598277314257676404140316434084880996528288848051332385735125150089161373602144216767701141567359514617380298788469349241695515662362819348432581342084641496728388255759845920886354788685329535203575807613226348551312871975210075356075339980573319038254885454093739554499191099614490339910881441149678782129338928578210078377576894804307032287522712335701114347612999475535233770694128238330538175561865915646018777943901032905556395765097665766252199998824627639403537049859437770400368089421616835265917684947393966146095512782037965017727921598414767680798959082256737788967781863314872433879579181966548883946119946499892285685307075463053652141216766250110626655307488781228183076591713301257650869098635035056130464701167212457130894512093104527222475908803930763946947485154322726224384644850709983118878815095037956920360719619510891842680039833190031678810287373625540961018714499880169731674937784710973805664070864154044353915069546167252568268290044745262530257489885843821325739261928724468571537213272270693882987506774698860397976318281520183442737297512471668454084576000500843850920946479545768983542695498838366871545536966369889925415887443470355894896718297544136222227887915656092334106813264012078723324441627536231205757922856638753078281710696815007740106067201506086169620436318448349602704805896521675102554187582650379558057284098281301735179844345961999780662764650625896787485177967227874557730189273249131457593807515087479318468877906911767241533431526887620780316836924767882552068268409715279299900629753859256578218655625468089758111130640254345455540661505789050533853355705159341658733328168263772550561924385357202699034079035533909971787831105723398767850381537296228999488699980976557919042283229926465448487354135133268505963283915799675277593843660113600851610622727557151563078237964641016591693169051450468139454414468835694097154370448957926579536075382568881315352768634018720510225936970781964846264029995761529388155549515705922423111055845619519654619879179737367366943719719953368447636028898047789509413211866019963482672220312213117118150085087562273204 4115861022063089851010183212483629274327357726020407533838351075701507891279331319274575016840065558072697618424889649940835478748153698869767889653763547122196218246850696439238508791128016955333224168410321193818214460107113503284078622253748052338290521482638504803914439956004364130212011594850790619542922955484411618975893245113273394791095591660845968752197127223785321330772024176232545755191828717842614606421676420465731108585321730360575535356582780847703872818432542789809908606860386927410992334455665073873942450258819587072888532423529474831916363161649309533995457699805856731840758288294507729141530396757971850865260332679530919022560137374233775363439334084873373254510614641345435607953157100117602446567267939125259964240891780486337360918181291588893926304533687465926883678936007913379988058141895406821849184102586031423579810462108540469054641433284413694349605197613265590917032591973766928370386655514673530041433227553633742013241083597023869008645427310843599606209509742278607051758658184339124995255026285484702318694025503434610370331407477725828050324757264549498489887063885634150179619958008201254880692031097685971609809286673315680984000745206449542918423530249817951492294857821755754510025593483820178441240179426193470439101304448677385499508272210405846959088591709254153058222377901301624584021798136458650411780426838465479097154653766642630147163447173730048245379811763293051618268823061161138234519641551510867260125660440578073766463391855024915185178578728185396491647205820634800936065909936793409925858765301108023247851089721886461094788423079418235444011994954403808400622992934665229610682040693751494855045210236636496736940822797627986666719353836868103075941884277015938833543476512420899394312705708150383754199256556523461161658467531603463756967010223006476594725973741818858828937958044785691549181036834185528513446428047662997050486965407019263918441658871219009036275702609124545610270088580007147542374142425314945241374200496149794395435025825281927332444747254995985802555945403089165110381496416129788302095645975925967381059029151241621974856376841752509929650556072547553329863356992524531649217612883086500313400257343881259727107427575633009812376641490174988149269876069483608872505028544633626252725446951971841299365128731263968470705636139810188153647 6659603026668960235603508959331969423812244706619397617332953508811747501355503770893720078731717539039671986599535055554081938262389045174582779916074525120265866933071293157311330796727745445761073747855310940437847998625711780598336298657888368772375402479166793651965772341739489280301172968452934836310624097051771133593273543901742744032791107323208788100629708565869962827500412431992391676078183506527944141625252228078957457136634602335785610712658120828277191856687428243903648161359578027025482674366546515023621232388158515651098610801106369636223395449172021869696572047418856207375992058988635967472068572319837766511279110623431951928116533139331441129691534083698000893914151691204873378353525189539219281833185624072653930386987293268375325935909213187308693985332646548183621467903789776694860492021474588788398068048705977923472096147415615932108293574501179944460231852920754372145215668565480229628037524613308565097563692254800954470371978109116973535867903219647530370156457227432929777983042829189834978373905100579740275614386223054121262174087517559018082003567551923124030848082600134030349351632945985965854497695168550125654163201742861848236569013496494288180953787739703795313620597083684478978597130697092449135123166932968169299499280766958905682951009507918318627542676285254653902073298847781170353005340831957488778651972375431848987080069654086100503058343892027592381602039651208707710602929874425150313242965993138403491331418363434712519541673565721730192918684795386902577816826256953249285668614742689931600961319488690673627409147005984742396523602923764197443792657719054434297410478112632457485239770883024743986502804044151584216259291675534898433960887268394990696722201113940706716095544780830614673612606337904243010777475212148929251416578662243718102422550884512265645259827097524018170596691372953955321731598758570885716145462126698530960458753238124987317209509252756305265275191309105522168189130863237074007822629779450078509880163780065594070712619668942040933296357877723542954119023641053806126973189585181238770235100390394803075156183521690579901435912917135078810965908841181572050373582929495313614063876913082261842788412893396965649530538631478629332031261369354725516636819789203562240952664573531674042234860163837861262847800951576181587823786224897750426851 10775464048732050086613692171815598698139602432639805151171304584513255392634835090168295095571783097112369605024424705494917417010542744044350669569838072242462085179921989596549839587855762401094297916265632134256062458732825283882414920911636421110665923961805298455880212297743853410513184563303725455853547052536182752569166789015016138823886698984054756852826835789655284158272436608224937431270012224370558748046928648544688565721956332696361146069240901675981064675119971033713556768219964954436475008822211588897563682646978102723987143224635844468139758610821331403692029747224712939216750347283143696613598969077809617376539443302962870950676670513565216493130868168571374148424766332550308986306682289656821728400453563197913894627879073754712686854090504776202620289866334014110505146839797690074848550163369995610247252151292009347051906609524156401162935007785593638809837050534019963062248260539247157998424180127982095138996919808434696483613061706140842544513330530491129976365966969711536829741701013528959973628931386064442594308411726488731632505494995284846132328324816472622520735146485768180528971590954187220735189726266236097263972488416177529220569758702943831099377317989521746805915454905440233488622724180912627576363346359161639738600585215636291182459281718324165586631267994508806960295676749082794937027138968416139190432399213897328084234723420728730650221791065757640626981851414501759328871752935586288547762607544649270751457078804012786286005065420746645378097263523572299069464032077588050221734524679483341526820084789798696875260236727871203491312026003182432887804652673458242698033471047297687095921811576776238841548014280788080953200114473162885100680241105263093772664085390956645549639021293251514067925312046054626764976731768672390413075046193847181859389561107518742239985800839342876999534649417739646870912635592756414229591890174361528010945718645144251235651168123975314301550893918230067778459219443244221550196772204765023751254364276215388466147645494223968265741105132719528756674969044142971237354686001311027072330746366320770456215212672932201876292289758887588740616464913729125380236939922019845263281489796168762156188670237278225376637966207111639144407902859529713665906695858687171113457693118165300294960307115809702562212929682840150058529422364707938580498 17435067075401010322217201131147568121951847139259202768504258093325002893990338861062015174303500636152041591623959761048999355272931789218933449485912597362727952112993282753861170384583507846855371664120943074693910457358537064480751219569524789883041326440972092107845984639483342690814357531756660292164171149587953886162440332916758882856677806307263544953456544355525246985772849040217329107348195730898502889672180876623646022858590935032146756781899022504258256531807399277617204929579542981461957683188758103921184915035136618375085754025742214104363154059993353273388601794643569146592742406271779664085667541397647383887818553926394822878793203652896657622822402252269375042338918023755182364660207479196041010233639187270567825014866367023088012789999717963511314275198980562294126614743587466769709042184844584398645320199997987270524002756939772333271228582286773583270068903454774335207463929104727387626461704741290660236560612063235650953985039815257816080381233750138660346522424197144466607724743842718794952002836486644182869922797949542852894679582512843864214331892368395746551583229085902210878323223900173186589687421434786222918135690159039377457138772199438119280331105729225542119536051989124712467219854878005076711486513292129809038099865982595196865410291226242484214173944279763460862368975596863965290032479800373627969084371589329177071314793074814831153280134957785233008583891065710467039474682810011438861005573537787674242788497167447498805546738986468375571015948318959201647280858334541299507403139422173273127781404278489370502669383733855945887835628926946630331597310392512676995443949159930144581161582459800982828050818324939665169459406148697783534641128373658084469386286504897352265734566074082128741537918383958869775754206980821319664491624856090899961812111992031007885245627936866895170131340790693602192644234351327299945737352301060058971404471883269238552860677376731619566826085227335589946648350306481295558019401984215102261134528056280982536860265163166009199037463010443071710793992685196777364327875586492265842565846756715573531371396194622781777728202676022667551582373754910697430610522851515158877345366709251023998977083130675191026168504838590268476439164228884439182543515647890733354410357691696974337195167279647563825060730634416331646353208589605689007349 28210531124133060408830893302963166820091449571899007919675562677838258286625173951230310269875283733264411196648384466543916772283474533263284119055750669605190037292915272350411009972439270247949669580386575208949972916091362348363166140481161210993707250402777390563726196937227196101327542095060385748017718202124136638731607121931775021680564505291318301806283380145180531144045285648442266538618207955269061637719109525168334588580547267728507902851139924180239321206927370311330761697799507935898432692010969692818748597682114721099072897250378058572502912670814684677080631541868282085809492753554923360699266510475457001264357997229357693829469874166461874115953270420840749190763684356305491350966889768852862738634092750468481719642745440777800699644090222739713934565065314576404631761583385156844557592348214580008892572351289996617575909366463928734434163590072367222079905953988794298269712189643974545624885884869272755375557531871670347437598101521398658624894564280629790322888391166856003437466444856247754925631767872708625464231209676031584527185077508128710346660217184868369072318375571670391407294814854360407324877147701022320182108178575216906677708530902381950379708423718747288925451506894564945955842579058917704287849859651291448776700451198231488047869572944566649800805212274272267822664652345946760227059618768789767159516770803226505155549516495543561803501926023542873635565742480212226368346435745597727408768181082436944994245575971460285091551804407215020949113211842531500716744890412129349729137664101656614654601489068288067377929620461727149379147654930129063219401963065970919693477420207227831677083394036577221669598832605727746122659520621860668635321369478921178242050371895853997815373587367333642809463230430013496540730938749493710077566671049938081821201673099549750125231428776209772169665990208433249063556869944083714175329242475421586982350190528413489788511845500706933868376979145565657725107569749725517108216174188980126012388892332496371003007910657389977464778568143162600467468961729339748601682561587803292914896593123036343987586608867554983654020492434910256292198838668639822810847462773535004140626856505419786155165753367953416402806471045701907620847067088414152848450211506577904467868050809862274632155474395457266387273660317256481704882630954313627587847 45645598199534070731048094434110734942043296711158210688179820771163261180615512812292325444178784369416452788272344227592916127556406322482217568541663266967917989405908555104272180357022778094805041244507518283643883373449899412843917360050686000876748576843749482671572181576710538792141899626817046040181889351712090524894047454848533904537242311598581846759739924500705778129818134688659595645966403686167564527391290401791980611439138202760654659633038946684497577738734769588947966627379050917360390375199727796739933512717251339474158651276120272676866066730808037950469233336511851232402235159826703024784934051873104385152176551155752516708263077819358531738775672673110124233102602380060673715627097248048903748867731937739049544657611807800888712434089940703225248840264295138698758376326972623614266634533059164407537892551287983888099912123403701067705392172359140805349974857443568633477176118748701933251347589610563415612118143934905998391583141336656474705275798030768450669410815364000470045191188698966549877634604359352808334154007625574437421864660020972574560992109553264115623901604657572602285618038754533593914564569135808543100243868734256284134847303101820069660039529447972831044987558883689658423062433936922780999336372943421257814800317180826684913279864170809134014979156554035728685033627942810725517092098569163395128601142392555682226864309570358392956782060981328106644149633545922693407821118555609166269773754620224619237034073138907783897098543393683396520129160161490702364025748746670649236540803523829887782382893346777437880599004195583095266983283857075693550999273458483596688921369367157976258244976496378204497649650930667411292118926770558452169962497852579262711436658400751350081108153441415771551001148813972366316485145730315029742058295906028981783013785091580758010477056713076667339797330999126851256201104295411014121066594776481645953754662411682728341372522877438553435203064372901247671755920056206812666235576173195228273523420388777353539868175820555986663816031153605672178262954414536525966010437174295558757462439879751917518958005062177765431748695110932923843781212423550520241457985625050163017972223214670810154142836498628607428974975884292176097286231317298592030993727154468637822278408501559248969350641675104830212334390951672813351235839543919316595196 73856129323667131139878987737073901762134746283057218607855383449001519467240686763522635714054068102680863984920728694136832899839880855745501687597413936573108026698823827454683190329462048342754710824894093492593856289541261761207083500531847211870455827246526873235298378513937734893469441721877431788199607553836227163625654576780308926217806816889900148566023304645886309273863420337101862184584611641436626165110399926960315200019685470489162562484178870864736898945662139900278728325178558853258823067210697489558682110399366060573231548526498331249368979401622722627549864878380133318211727913381626385484200562348561386416534548385110210537732951985820405854728943093950873423866286736366165066593987016901766487501824688207531264300357248578689412078180163442939183405329609715103390137910357780458824226881273744416430464902577980505675821489867629802139555762431508027429880811432362931746888308392676478876233474479836170987675675806576345829181242858055133330170362311398240992299206530856473482657633555214304803266372232061433798385217301606021949049737529101284907652326738132484696219980229242993692912853608894001239441716836830863282352047309473190812555834004202020039747953166720119970439065778254604378905012995840485287186232594712706591500768379058172961149437115375783815784368828307996507698280288757485744151717337953162288117913195782187382413826065901954760283987004870980279715376026134919776167554301206893678541935702661564231279649110368068988650347800898417469242372004022203080770639158799998965678467625486502436984382415065505258528624657310244646130938787204756770401236524454516382398789574385807935328370532955426167248483536395157414778447392419120805283867331500440953487030296605347896481740808749414360464379243985862857216084479808739819624966955967063604215458191130508135708485489286439509463321207560100319757974239494728296395837251903232936104852940096218129884368378145487303580043518466905396863489805932329774451750362175354285912312721273724542876086477945964128594599296768272645731916143876274567692998762098851672359033002788261506544613929732749085769187545843180135980051092190343052305448398585167158599079720090596309308589866582023831781446929994083718133298405712744879443938661046542290146459311421523601506116070562096599608051268929295056118470498232944183043 119501727523201201870927082171184636704178042994215429296035204220164780647856199575814961158232852472097316773193072921729749027396287178227719256139077203541026016104732382558955370686484826437559752069401611776237739662991161174051000860582533212747204404090276355906870560090648273685611341348694477828381496905548317688519702031628842830755049128488481995325763229146592087403681555025761457830551015327604190692501690328752295811458823673249817222117217817549234476684396909489226694952557609770619213442410425286298615623116617400047390199802618603926235046132430760578019098214891984550613963073208329410269134614221665771568711099540862727245996029805178937593504615767060997656968889116426838782221084264950670236369556625946580808957969056379578124512270104146164432245593904853802148514237330404073090861414332908823968357453865964393775733613271330869844947934790648832779855668875931565224064427141378412127581064090399586599793819741482344220764384194711608035446160342166691661710021894856943527848822254180854680900976591414242132539224927180459370914397550073859468644436291396600320121584886815595978530892363427595154006285972639406382595916043729474947403137106022089699787482614692951015426624661944262801967446932763266286522605538133964406301085559884857874429301286184917830763525382343725192731908231568211261243815907116557416719055588337869609278135636260347717066047986199086923865009572057613183988672856816059948315690322886183468313722249275852885748891194581813989371532165512905444796387905470648202219271149316390219367275761842943139127628852893339913114222644280450321400509982938113071320158941543784193573347029333630664898134467062568706897374162977572975246365184079703664923688697356697977589894250165185911465528057958229173701230210123769561683262861996045387229243282711266146185542202363106849260652206686951575959078534905742417462432028384878889859515351778946471256891255584040738783107891368153068619409862139142440687326535370582559435733110051078082744262298501950792410630450373944823994870558412800533703435936394410429821472882540179025502618991910514517517882656776103979761263515740863293763434023635330176571302934761406463451426365210631260756422814286259815419529723011336910437665815515180112424867812980772570856757745666926811942442220602108407354310042152260778239 193357856846868333010806069908258538466312789277272647903890587669166300115096886339337596872286920574778180758113801615866581927236168033973220943736491140114134042803556210013638561015946874780314462894295705268831595952532422935258084361114380424617660231336803229142168938604586008579080783070571909616581104459384544852145356608409151756972855945378382143891786533792478396677544975362863320015135626969040816857612090255712611011478509143738979784601396688413971375630059049389505423277736168623878036509621122775857297733515983460620621748329116935175604025534053483205568963093272117868825690986589955795753335176570227157985245647925972937783728981790999343448233558861011871080835175852793003848815071281852436723871381314154112073258326304958267536590450267589103615650923514568905538652147688184531915088295606653240398822356443944899451555103138960671984503697222156860209736480308294496970952735534054891003814538570235757587469495548058690049945627052766741365616522653564932654009228425713417010506455809395159484167348823475675930924442228786481319964135079175144376296763029529085016341565116058589671443745972321596393448002809470269664947963353202665759958971110224109739535435781413070985865690440198867180872459928603751573708838132846670997801853938943030835578738401560701646547894210651721700430188520325697005395533245069719704836968784120056991691961702162302477350034991070067203580385598192532960156227158022953626857626025547747699593371359643921874399238995480231458613904169535108525567027064270647167897738774802892656351658176908448397656253510203584559245161431485207091801746507392629453718948515929592128901717562289056832146618003457726121675821555396693780530232515580144618410718993962045874071635058914600271929907301944092030917314689932509381308229817963108991444701473841774281894027691649546358723973414247051895717052774400470713858269280288111825964368291875164601141259633729528042363151409835058465482899668071472215139076897545936845348045831324802625620348776447914921005229747142217469726786702289075101396434698493262102180505885328440532047232921643263603287070202619284115741314607931206346068882422220497335170382654852002772760016231792655092537869744280343533552828128724081789881604476561722402571327124402296172362873816229023411550493489531403463472780540385204961282 312859584370069534881733152079443175170490832271488077199925791889331080762953085915152558030519773046875497531306874537596330954632455212200940199875568343655160058908288592572593931702431701217874214963697317045069335615523584109309085221696913637364864635427079585049039498695234282264692124419266387444962601364932862540665058640037994587727905073866864139217549762939070484081226530388624777845686642296645007550113780584464906822937332816988797006718614505963205852314455958878732118230293778394497249952031548062155913356632600860668011948131735539101839071666484243783588061308164102419439654059798285206022469790791892929553956747466835665029725011596178281041738174628072868737804064969219842631036155546803106960240937940100692882216295361337845661102720371735268047896517419422707687166385018588605005949709939562064367179810309909293227288716410291541829451632012805692989592149184226062195017162675433303131395602660635344187263315289541034270710011247478349401062682995731624315719250320570360538355278063576014165068325414889918063463667155966940690878532629249003844941199320925685336463150002874185649974638335749191547454288782109676047543879396932140707362108216246199439322918396106022001292315102143129982839906861367017860231443670980635404102939498827888710008039687745619477311419592995446893162096751893908266639349152186277121556024372457926600970097338422650194416082977269154127445395170250146144144900014839013575173316348433931167907093608919774760148130190062045447985436335048013970363414969741295370117009924119282875718933938751391536783882363096924472359384075765657413202256490330742525039107457473376322475064591622687497044752470520294828573195718374266755776597699659848283334407691318743851661529309079786183395435359902321204618544900056278942991492679959154378673944756553040428079569894012653207984625620934003471676131309306213131320701308672990715823883643654111072398150889313568781146259301203211534102309530210614655826403432916519404783778941375880708364611074949865713415860197516162293721657260701875635099870634887672532001978767868619557549851913553778120804952859395388095502578123672069639832316445855827511741685589613409236211442597003286353294292558566603348972357851735418700319270292076902514996194937383068743219631561895950223492935710133511870827090582537465739521 506217441216937867892539221987701713636803621548760725103816379558497380878049972254490154902806693621653678289420676153462912881868623246174161143612059483769294101711844802586232492718378575998188677857993022313900931568056007044567169582811294061982524866763882814191208437299820290843772907489838297061543705824317407392810415248447146344700761019245246283109336296731548880758771505751488097860822269265685824407725870840177517834415841960727776791320011194377177227944515008268237541508029947018375286461652670838013211090148584321288633696460852474277443097200537726989157024401436220288265345046388241001775804967362120087539202395392808602813453993387177624489971733489084739818639240822012846479851226828655543684112319254254804955474621666296113197693170639324371663547440933991613225818532706773136921038005546215304766002166753854192678843819549252213813955329234962553199328629492520559165969898209488194135210141230871101774732810837599724320655638300245090766679205649296556969728478746283777548861733872971173649235674238365593994388109384753422010842667708424148221237962350454770352804715118932775321418384308070787940902291591579945712491842750134806467321079326470309178858354177519092987158005542341997163712366789970769433940281803827306401904793437770919545586778089306321123859313803647168593592285272219605272034882397255996826392993156577983592662059040584952671766117968339221331025780768442679104301127172861967202030942373981678867500464968563696634547369185542276906599340504583122495930442034011942538014748698922175532070592115659839934440135873300509031604545507250864505004002997723371978758055973402968451376782153911744329191370473978020950249017273770960536306830215239992901745126685280789725733164367994386455325342661846413235535859589988788324299722497922263370118646230394814709973597585662199566708599035181055367393184083706683845178970588961102541788251935529275673539410523043096823509410711038269999585209198282086870965480330462456250131824772700683333984959851397780634421089944658379763448443962990950736496305333380934634182484653197060089597084835197041724092023062014672211243892731603275985901198868076324846912068244465412008971458828795941445832162302846946882525185980459500490200874768638624917567522061785364915582505378124973635043429199664915334299871122922670700803 819077025587007402774272374067144888807294453820248802303742171447828461641003058169642712933326466668529175820727550691059243836501078458375101343487627827424454160620133395158826424420810277216062892821690339358970267183579591153876254804508207699347389502190962399240247935995054573108465031909104684506506307189250269933475473888485140932428666093112110422326886059670619364839998036140112875706508911562330831957839651424642424657353174777716573798038625700340383080258970967146969659738323725412872536413684218900169124446781185181956645644592588013379282168867021970772745085709600322707704999106186526207798274758154013017093159142859644267843179004983355905531709908117157608556443305791232689110887382375458650644353257194355497837690917027633958858795891011059639711443958353414320912984917725361741926987715485777369133181977063763485906132535959543755643406961247768246188920778676746621360987060884921497266605743891506445961996126127140758591365649547723440167741888645028181285447729066854138087217011936547187814303999653255512057851776540720362701721200337673152066179161671380455689267865121806960971393022643819979488356580373689621760035722147066947174683187542716508618181272573625114988450320644485127146552273651337787294171725474807941806007732936598808255594817777051940601170733396642615486754382024113513538674231549442273947949017529035910193632156379007602866182200945608375458471175938692825248446027187700980777204258722415610035407558577483471394695499375604322354584776839631136466293857003753237908131758623041458407789526054411231471224018236397433503963929583016521918206259488054114503797163430876344773851846745534431826236122944498315778822212992145227292083427914899841185079534376599533577394693677074172638720778021748734440154404490045067267291215177881417748792590986947855138053167479674852774693224656115058839069315393012896976499671897634093257612135579183386745937561412356665604655670012241481533687518728492701526791883763378975654915603714076564042349570926347646347836950142174542057170101223692826371596175968268607166184463421065679647146936748750819844896975921410060306746470855275345625733515313932152358653753834078821245182901425799227799126454861413550231497543832194919190520145060715527432563716999168433658802136940020923858536364909798427205126961705460136440324 1325294466803945270666811596054846602444098075369009527407558551006325842519053030424132867836133160290182854110148226844522156718369701704549262487099687311193748262331978197745058917139188853214251570679683361672871198751635598198443424387319501761329914368954845213431456373294874863952237939398942981568050013013567677326285889136932287277129427112357356705436222356402168245598769541891600973567331180828016656365565522264819942491769016738444350589358636894717560308203485975415207201246353672431247822875336889738182335536929769503245279341053440487656725266067559697761902110111036542995970344152574767209574079725516133104632361538252452870656632998370533530021681641606242348375082546613245535590738609204114194328465576448610302793165538693930072056489061650384011374991399287405934138803450432134878848025721031992673899184143817617678584976355508795969457362290482730799388249408169267180526956959094409691401815885122377547736728936964740482912021287847968530934421094294324738255176207813137915636078745809518361463539673891621106052239885925473784712563868046097300287417124021835226042072580240739736292811406951890767429258871965269567472527564897201753642004266869186817797039626751144207975608326186827124310264640441308556728112007278635248207912526374369727801181595866358261725030047200289784080346667296333118810709113946698270774342010685613893786294215419592555537948318913947596789496956707135504352747154360562947979235201096397288902908023546047168029242868561146599261184117344214258962224299037765180446146507321963633939860118170071071405664154109697942535568475090267386423210262485777486482555219404279313225228628899446176155427493418476336729071230265916187828390258130139834086824661061880323303127858045068559094046120683595147675690264080033855591590937675803681118911237217342669848026765065337052341401823691296114206462499476719580821678642486595195799400387514712662419476971935399762428165080723279751533272727926774788397757364093841431905047428486777247376334530777745426982258040086832921820618545186683777108092481301649541800366948074262739736744021583947861568988998983424732517990363586878621611634714182008477205565822078544233254154360254595169244958617164260497114022729812654419680721019829354152350131239060953798574384642318145897493579794109463342539426832828382807141127 2144371492390952673441083970121991491251392529189258329711300722454154304160056088593775580769459626958712029930875777535581400554870780162924363830587315138618202422952111592903885341559999130430314463501373701031841465935215189352319679191827709460677303871145807612671704309289929437060702971308047666074556320202817947259761363025417428209558093205469467127763108416072787610438767578031713849273840092390347488323405173689462367149122191516160924387397262595057943388462456942562176860984677397844120359289021108638351459983710954685201924985646028501036007434934581668534647195820636865703675343258761293417372354483670146121725520681112097138499812003353889435553391549723399956931525852404478224701625991579572844972818833642965800630856455721564030915284952661443651086435357640820255051788368157496620775013436517770043032366120881381164491108891468339725100769251730499045577170186846013801887944019979331188668421629013883993698725063091881241503386937395691971102162982939352919540623936879992053723295757746065549277843673544876618110091662466194147414285068383770452353596285693215681731340445362546697264204429595710746917615452338959189232563287044268700816687454411903326415220899324769322964058646831312251456816914092646344022283732753443190013920259310968536056776413643410202326200780596932399567101049320446632349383345496140544722291028214649803979926371798600158404130519859555972247968132645828329601193181548263928756439459818812898938315582123530639423938367936750921615768894183845395428518156041518418354278265945005092347649644224482302876888172346095376039532404673283908341416521973831600986352382835155657999080475644980607981663616362974652507893443258061415120473686045039675271904195438479856880522551722142731732766898705343882115844668570078922858882152853685098867703828204290524986079932545011905116095048347411173045531814869732477798178314384229289057012523093896049165414533347756428032820750735521233066960246655267489924549247857220407559963032200853811418684101704093073330094990229007463877788646410376603479688657269918148966551411495328419383890958332698681413885974904834792824736834442153967237368229495940629564219575912623054499337261680394397044085072025674047345520273644849338871241164890069679782694956060122232233186779258166821352116159019261769744553794533842943581451 3469665959194897944107895566176838093695490604558267857118859273460480146679109119017908448605592787248894884041024004380103557273240481867473626317687002449811950685284089790648944258699187983644566034181057062704712664686850787550763103579147211222007218240100652826103160682584804301012940910706990647642606333216385624586047252162349715486687520317826823833199330772474955856037537119923314822841171273218364144688970695954282309640891208254605274976755899489775503696665942917977384062231031070275368182164357998376533795520640724188447204326699468988692732701002141366296549305931673408699645687411336060626946434209186279226357882219364550009156445001724422965575073191329642305306608399017723760292364600783687039301284410091576103424021994415494102971774014311827662461426756928226189190591818589631499623039157549762716931550264698998843076085246977135694558131542213229844965419595015280982414900979073740880070237514136261541435454000056621724415408225243660502036584077233677657795800144693129969359374503555583910741383347436497724162331548391667932126848936429867752641013409715050907773413025603286433557015836547601514346874324304228756705090851941470454458691721281090144212260526075913530939666973018139375767081554533954900750395740032078438221832785685338263857958009509768464051230827797222183647447716616779751160092459442838815496633038900263697766220587218192713942078838773503569037465089352963833953940335908826876735674660915210187841223605669577807453181236497897520876953011528059654390742455079283598800424773266968726287509762394553374282552326455793318575100879763551294764626784459609087468907602239434971224309104544426784137091109781450989236964673523977602948863944175179509358728856500360180183650409767211290826813019388939029791534932650112778450473090529488779986615065421633194834106697610348957457496872038707287251994314346452058619856956870824484856412910608608711584891505283156190460985831458800984600232974582042278322306611951061839465010460687631058795018632481838500312353030315840385698407191597060380587781138571567690766918359569591159120634979916646542982874973888259525342727198029032588849002943677949106769785397991167287753491621934989566289043689189934544459543003457503758551962184719423832132826195121076030807571421576312718845695953128725112283980627362225750722578 5614037451585850617548979536298829584946883133747526186830159995914634450839165207611684029375052414207606913971899781915684957828111262030397990148274317588430153108236201383552829600259187114074880497682430763736554130622065976903082782770974920682684522111246460438774864991874733738073643882015038313717162653419203571845808615187767143696245613523296290960962439188547743466476304697955028672115011365608711633012375869643744676790013399770766199364153162084833447085128399860539560923215708468119488541453379107014885255504351678873649129312345497489728740135936723034831196501752310274403321030670097354044318788692856425348083402900476647147656257005078312401128464741053042262238134251422201984993990592363259884274103243734541904054878450137058133887058966973271313547862114569046444242380186747128120398052594067532759963916385580380007567194138445475419658900793943728890542589781861294784302844999053072068738659143150145535134179063148502965918795162639352473138747060173030577336424081573122023082670261301649460019227020981374342272423210857862079541134004813638204994609695408266589504753470965833130821220266143312261264489776643187945937654138985739155275379175692993470627481425400682853903725619849451627223898468626601244772679472785521628235753044996306799914734423153178666377431608394154583214548765937226383509475804938979360218924067114913501746146959016792872346209358633059541285433221998792163555133517457090805492114120734023086779539187793108446877119604434648442492721905711905049819260611120802017154703039211973818635159406619035677159440498801888694614633284436835203106043306433440688455259985074590629223389580189407392118754726144425641744858116782039018069337630220219184630633051938840037064172961489354022559579918094282911907379601220191701309355243383173878854318893625923719820186630155360862573591920386118460297526129216184536418035271255053773913425433702504760750306038630912618493806582194322217667193221237309768246855859808282247024973492888484870213702734185931573642448020544847849576195838007436984067469795841485839733469771064919578504525938249345224396760948793094318167464032471186556086371173173889736334004973903790342252828883615383963333128761215608591805063277102353097423203349609493511915521151181198263040758200834479540197812112147986882028534421896068694304029 9083703410780748561656875102475667678642373738305794043949019269375114597518274326629592477980645201456501798012923786295788515101351743897871616465961320038242103793520291174201773858958375097719446531863487826441266795308916764453845886350122131904691740351347113264878025674459538039086584792722028961359768986635589196431855867350116859182933133841123114794161769961022699322513841817878343494956182638827075777701346565598026986430904608025371474340909061574608950781794342778516944985446739538394856723617737105391419051024992403062096333639044966478421472836938864401127745807683983683102966718081433414671265222902042704574441285119841197156812702006802735366703537932382684567544742650439925745286355193146946923575387653826118007478900444552552236858832981285098976009288871497272633432972005336759620021091751617295476895466650279378850643279385422611114217032336156958735508009376876575766717745978126812948808896657286407076569633063205124690334203387883012975175331137406708235132224226266251992442044764857233370760610368417872066434754759249530011667982941243505957635623105123317497278166496569119564378236102690913775611364100947416702642744990927209609734070896974083614839741951476596384843392592867591002990980023160556145523075212817600066457585830681645063772692432662947130428662436191376766861996482554006134669568264381818175715557106015177199512367546234985586288288197406563110322898311351755997509073853365917682227788781649233274620762793462686254330300840932545963369674917239964704210003066200085615955127812478942544922669169013589051441992825257682013189734164200386497870670090893049775924167587314025600447698684733834176255845835925876630981822790306016621018201574395398693989361908439200217247823371256565313386392937483221941698914533870304479759828333912662658840933959047556914654293327765709820031088792424825747549520443562636595037892228125878258769838344311113472335197543914068808954792413653123202267426195819352046569162471759344086489983953576115929008721366667770073954801050860688235274603029604497364655250934413053530500388130634510737625160918165991767379635922681353843510191230500219144935374116851838843103790371894957630006320505550373529622172450405543136264606280559856855975165534328917344048347346302274293848329622410792259043508065276711994312515049258294445026607 14697740862366599179205854638774497263589256872053320230779179265289749048357439534241276507355697615664108711984823568211473472929463005928269606614235637626672256901756492557754603459217562211794327029545918590177820925930982741356928669121097052587376262462593573703652890666334271777160228674737067275076931640054792768277664482537884002879178747364419405755124209149570442788990146515833372167071194004435787410713722435241771663220918007796137673705062223659442397866922742639056505908662448006514345265071116212406304306529344081935745462951390463968150212972875587435958942309436293957506287748751530768715584011594899129922524688020317844304468959011881047767832002673435726829782876901862127730280345785510206807849490897560659911533778894689610370745891948258370289557150986066319077675352192083887740419144345684828236859383035859758858210473523868086533875933130100687626050599158737870551020590977179885017547555800436552611703812126353627656252998550522365448314078197579738812468648307839374015524715026158882830779837389399246408707177970107392091209116946057144162630232800531584086782919967534952695199456368834226036875853877590604648580399129912948765009450072667077085467223376877279238747118212717042630214878491787157390295754685603121694693338875677951863687426855816125796806094044585531350076545248491232518179044069320797535934481173130090701258514505251778458634497556039622651608331533350548161064207370823008487719902902383256361400301981255794701207420445367194405862396822951869754029263677320887633109830851690916363557828575632624728601433324059570707804367448637221700976713397326490464379427572388616229671088264923241568374600562070302272726680907088055639087539204615617878619994960378040254311996332745919335945972855577504853606294135090496181069183577295836537695252852673480634474479957921070682604680712810944207847046572778821131455927499380932032683263778013618233085503582544981427448598995847445419934619417056661814816018331567626333514957446464600799222424100853701647597249071405536084850798867611934348722720730254539370233857901699430316129686856415336991776396871474448161677655262971405701021745290025728579437795345798747972259149389165757492955301211621151728069669557662209953398368883938410855963868497483472556889087823245271799241320177424698876341049471154363139330636 23781444273147347740862729741250164942231630610359114274728198534664863645875713860870868985336342817120610509997747354507261988030814749826141223080196957664914360695276783731956377318175937309513773561409406416619087721239899505810774555471219184492068002813940686968530916340793809816246813467459096236436700626690381964709520349888000862062111881205542520549285979110593142111503988333711715662027376643262863188415069000839798649651822615821509148045971285234051348648717085417573450894109187544909201988688853317797723357554336484997841796590435430446571685809814451837086688117120277640609254466832964183386849234496941834496965973140159041461281661018683783134535540605818411397327619552302053475566700978657153731424878551386777919012679339242162607604724929543469265566439857563591711108324197420647360440236097302123713754849686139137708853752909290697648092965466257646361558608535614446317738336955306697966356452457722959688273445189558752346587201938405378423489409334986447047600872534105626007966759791016116201540447757817118475141932729356922102877099887300650120265855905654901584061086464104072259577692471525139812487217978538021351223144120840158374743520969641160700306965328353875623590510805584633633205858514947713535818829898420721761150924706359596927460119288479072927234756480776908116938541731045238652848612333702615711650038279145267900770882051486764044922785753446185761931229844702304158573281224188926169947691684032489636021064774718480955537721286299740369232071740191834458239266743520973249064958664169858908480497744646213780043426149317252720994101612837608198847383488219540240303595159702641830118786949657075744630446397996178903708503697394072260105740779011016572609356868817240471559819704002484649332365793060726795305208668960800660829011911208499196536186811721037549128773285686780502635769505235769955396567016341457726493819727506810291453102122324731705420701126459050236403391409500568622202045612876013861385180803326970420004941400040716728231145467521471721552050122266224320125401897216431713377971664667592900734246032333941053754847774581328759156032794155802005187846493471624845957119406877567422541585717693705602265469894716131022577473662026694864334275838222066809373534418267328200012215843785746850737417445656064058284828242701410870653564520412657584357243 38479185135513946920068584380024662205820887482412434505507377799954612694233153395112145492692040432784719221982570922718735460960277755754410829694432595291586617597033276289710980777393499521308100590955325006796908647170882247167703224592316237079444265276534260672183807007128081593407042142196163511513632266745174732987184832425884864941290628569961926304410188260163584900494134849545087829098570647698650599128791436081570312872740623617646821751033508893493746515639828056629956802771635551423547253759969530204027664083680566933587259541825894414721898782690039273045630426556571598115542215584494952102433246091840964419490661160476885765750620030564830902367543279254138227110496454164181205847046764167360539274369448947437830546458233931772978350616877801839555123590843629910788783676389504535100859380442986951950614232721998896567064226433158784181968898596358333987609207694352316868758927932486582983904008258159512299977257315912380002840200488927743871803487532566185860069520841945000023491474817174999032320285147216364883849110699464314194086216833357794282896088706186485670844006431639024954777148840359365849363071856128625999803543250753107139752971042308237785774188705231154862337629018301676263420737006734870926114584584023843455844263582037548791147546144295198724040850525362439467015086979536471171027656403023413247584519452275358602029396556738542503557283309485808413539561378052852319637488595011934657667594586415745997421366755974275656745141731666934775094468563143704212268530420841860882174789515860775272038326320278838508644859473376823428798469061474829899824096885546030704683022732091258059789875214580317313005046960066481176435184604482127899193279983626634451229351829195280725871816036748403985278338648638231648911502804051296841898195488504335734231439664394518183603253243607851185240450218046714163243613589120278857949747226887742324136365900338349938506204709004031663851990405348014042136665029932675676201199134894596753519898846505317527453569568375173369149299193671760404976200764828366062100692394922132270968103934033371369884534630996665750932429665630250166865501756443030546978864696903296001979381063492453574524619283881888515532774873647846592403945395884276762771903302205739055976084341269219407626505268901335857526148420126109746994613991567020723687879 62260629408661294660931314121274827148052518092771548780235576334619476340108867255983014478028383249905329731980318277225997448991092505580552052774629552956500978292310060021667358095569436830821874152364731423415996368410781752978477780063535421571512268090474947640714723347921891409653855609655259747950332893435556697696705182313885727003402509775504446853696167370756727011998123183256803491125947290961513787543860436921368962524563239439155969797004794127545095164356913474203407696880823096332749242448822848001751021638017051931429056132261324861293584592504491110132318543676849238724796682417459135489282480588782798916456634300635927227032281049248614036903083885072549624438116006466234681413747742824514270699248000334215749559137573173935585955341807345308820690030701193502499892000586925182461299616540289075664369082408138034275917979342449481830061864062615980349167816229966763186497264887793280950260460715882471988250702505471132349427402427333122295292896867552632907670393376050626031458234608191115233860732905033483358991043428821236296963316720658444403161944611841387254905092895743097214354841311884505661850289834666647351026687371593265514496492011949398486081154033585030485928139823886309896626595521682584461933414482444565216995188288397145718607665432774271651275607006139347583953628710581709823876268736726028959234557731420626502800278608225306548480069062931994175470791222755156478210769819200860827615286270448235633442431530692756612282863017966675144326540303335538670507797164362834131239748180030634180518824064925052288688285622694076149792570674312438098671480373765570944986617891793899889908662164237393057635493358062660080143688301876200159299020762637651023838708698012521197431635740750888634610704441698958444216711473012097502727207399712834930767626476115555732732026529294631687876219723282484118640180605461736584443566954394552615589468022663081643926905835463081900255381814848582664338710642808689537586379938221567173524840246546034255684715035896645090701349315937984725101602662044797775478664059589725171702349966367312423639382405577994510088462459786052172053348249914655392935984103780863424520966781186159176790089178598019538110248535674541456738221234106343572145437720473067255988300185054966258363922714557399915810976662827520617648178511979678308045122 100739814544175241580999898501299489353873405575183983285742954134574089034342020651095159970720423682690048953962889199944732909951370261334962882469062148248087595889343336311378338872962936352129974743320056430212905015581664000146181004655851658650956533367009208312898530355049973003060897751851423259463965160180731430683890014739770591944693138345466373158106355630920311912492258032801891320224517938660164386672651873002939275397303863056802791548038303021038841679996741530833364499652458647756296496208792378205778685721697618865016315674087219276015483375194530383177948970233420836840338898001954087591715726680623763335947295461112812992782901079813444939270627164326687851548612460630415887260794506991874809973617449281653580105595807105708564305958685147148375813621544823413288675676976429717562158996983276027614983315130136930842982205775608266012030762658974314336777023924319080055256192820279863934164468974041984288227959821383512352267602916260866167096384400118818767739914217995626054949709425366114266181018052249848242840154128285550491049533554016238686058033318027872925749099327382122169131990152243871511213361690795273350830230622346372654249463054257636271855342738816185348265768842187986160047332528417455388047999066468408672839451870434694509755211577069470375316457531501787050968715690118180994903925139749442206819077183695985104829675164963849052037352372417802589010352600808008797848258414212795485282880856863981630863798286667032269028004749633609919421008866479242882776327585204695013414537695891409452557150385203890797333145096070899578591039735787267998495577259311601649669640623885157949698537378817710370640540318129141256578872906358328058492300746264285475068060527207801923303451777499292619889043090337190093128214277063394344625402888217170664999066140510073916335279772902482873116669941329198281883794194582015442393314181282294939725833923001431582433110544467113564107372220196596706475375672741365213787579073116163927044739093051351783138284604271818459850648509609745130077803426873163837579356454511857442670453900400683793523917036574660261020892125416302338918850006357685939914848800684159426500347844678612751314708462479908053643023409322388049142166629990620334917341022678806311964384526324185665990427983458735773337125082953630364642792503546699031733001 163000443952836536241931212622574316501925923667955532065978530469193565374450887907078174448748806932595378685943207477170730358942462766915514935243691701204588574181653396333045696968532373182951848895684787853628901383992445753124658784719387080222468801457484155953613253702971864412714753361506683007414298053616288128380595197053656318948095648120970820011802523001677038924490381216058694811350465229621678174216512309924308237921867102495958761345043097148583936844353655005036772196533281744089045738657615226207529707359714670796445371806348544137309067967699021493310267513910270075565135580419413223080998207269406562252403929761748740219815182129062058976173711049399237475986728467096650568674542249816389080672865449615869329664733380279644150261300492492457196503652246016915788567677563354900023458613523565103279352397538274965118900185118057747842092626721590294685944840154285843241753457708073144884424929689924456276478662326854644701695005343593988462389281267671451675410307594046252086407944033557229500041750957283331601831197557106786788012850274674683089219977929869260180654192223125219383486831464128377173063651525461920701856917993939638168745955066207034757936496772401215834193908666074296056673928050100039849981413548912973889834640158831840228362877009843742026592064537641134634922344400699890818780193876475471166053634915116611607629953773189155600517421435349796764481143823563165276059028233413656312898167127312217264306229817359788881310867767600285063747549169814781553284124749567529144654285875922043633075974450128943086021430718764975728383610410099706097167057633077172594656258515679057839607199543055103428276033676191801336722561208234528217791321508901936498906769225220323120735087518250181254499747532036148537344925750075491847352610287930005595766692616625629649067306302197114560992889664611682400523974800043752026836881135676847555315301945664513226360016379930195464362754035045179370814086315550054751373959011337731100569579339597386038822999640168463550551997825547729855179406088917961613058020514101582614372803866767996217163299442152654771109354585202354510972198256272341332850832904465022851021314625864771928104797641077927591753271944996929505880387864096963907062778743151873567952684711379151924354350698016135689148101745781150982290971015526377339778123 263740258497011777822931111123873805855799329243139515351721484603767654408792908558173334419469230615285427639906096677115463268893833028250477817712753849452676170070996732644424035841495309535081823639004844283841806399574109753270839789375238738873425334824493364266511784058021837415775651113358106266878263213797019559064485211793426910892788786466437193169908878632597350836982639248860586131574983168281842560889164182927247513319170965552761552893081400169622778524350396535870136696185740391845342234866407604413308393081412289661461687480435763413324551342893551876488216484143690912405474478421367310672713933950030325588351225222861553212598083208875503915444338213725925327535340927727066455935336756808263890646482898897522909770329187385352714567259177639605572317273790840329077243354539784617585617610506841130894335712668411895961882390893666013854123389380564609022721864078604923297009650528353008818589398663966440564706622148238157053962608259854854629485665667790270443150221812041878141357653458923343766222769009533179844671351685392337279062383828690921775278011247897133106403291550507341552618821616372248684277013216257194052687148616286010822995418120464671029791839511217401182459677508262282216721260578517495238029412615381382562674092029266534738118088586913212401908522069142921685891060090818071813684119016224913372872712098812596712459628938153004652554773807767599353491496424371174073907286647626451798181047984176198895170028104026821150338872517233894983168558036294024436060452334772224158068823571813453085633124835332833883354575814835875306974650145886974095662634892388774244325899139564215789305736921872813798916573994320942593301434114592856276283622255166221973974829752428125044038539295749473874388790622373338630473140027138886191978013176147176260765758757135703565402586075099597434109559605940880682407768994625767469230195316959142495041135868665944808793126924397309028470126255241776077289461988291419965161538084453895027614318432648737821961284244440282010402646335157474985257209515791125450637376968613440057043257767168680010687216478727315032130246710618656849891048262630027272765681705149182277521662470543384679419506103557835645396295354319317555022554494087584241980119765830679879917069237703337590344778681474871462485226828734781346933763519073076371511124 426740702449848314064862323746448122357725252911095047417700015072961219783243796465251508868218037547880806325849304154286193627836295795165992752956445550657264744252650128977469732810027682718033672534689632137470707783566555506395498574094625819095894136281977520220125037760993701828490404474864789274292561267413307687445080408847083229840884434587408013181711401634274389761473020464919280942925448397903520735105676492851555751241038068048720314238124497318206715368704051540906908892719022135934387973524022830620838100441126960457907059286784307550633619310592573369798483998053960987970610058840780533753712141219436887840755154984610293432413265337937562891618049263125162803522069394823717024609879006624652971319348348513392239435062567664996864828559670132062768820926036857244865811032103139517609076224030406234173688110206686861080782576011723761696216016102154903708666704232890766538763108236426153703014328353890896841185284475092801755657613603448843091874946935461722118560529406088130227765597492480573266264519966816511446502549242499124067075234103365604864497989177766393287057483773632560936105653080500625857340664741719114754544066610225648991741373186671705787728336283618617016653586174336578273395188628617535088010826164294356452508732188098374966480965596756954428500586606784056320813404491517962632464312892700384538926347013929208320089582711342160253072195243117396117972640247934339349966314881040108111079215111488416159476257921386610031649740284834180046916107206108805989344577084339753302723109447735496718709099285461776969376006533600851035358260555986680192829692525465946838982157655243273628912936464927917227192607670512743930023995322827384494074943764068158472881598977648448164773626813999655128888538154409487167818065777214378039330623464077181856532451373761333214469892377296711995102449270552563082931743794669519496067076452635990050356437814330458035153143304327504492832880290286955448103548303841474716535497095791626128183897772246123860784283884608745560954644160705204840436615604709087063695397482715022671416061633936676227850515920879969803239601295821011360863246518902368605616514609614205128542977096408156607524303744635763237149567299316247060902942358184548149042898508982553447869753949082489514699129379491007151633328574515932329224734534599453711289247 690480960946860091887793434870321928213524582154234562769421499676728874192036705023424843287687268163166233965755400831401656896730128823416470570669199400109940914323646861621893768651522992253115496173694476421312514183140665259666338363469864557969319471106470884486636821819015539244266055588222895541170824481210327246509565620640510140733673221053845206351620280266871740598455659713779867074500431566185363295994840675778803264560209033601481867131205897487829493893054448076777045588904762527779730208390430435034146493522539250119368746767220070963958170653486125246286700482197651900376084537262147844426426075169467213429106380207471846645011348546813066807062387476851088131057410322550783480545215763432916861965831247410915149205391755050349579395818847771668341138199827697573943054386642924135194693834537247365068023822875098757042664966905389775550339405482719512731388568311495689835772758764779162521603727017857337405891906623330958809620221863303697721360612603251992561710751218130008369123250951403917032487288976349691291173900927891461346137617932056526639776000425663526393460775324139902488724474696872874541617677957976308807231215226511659814736791307136376817520175794836018199113263682598860490116449207135030326040238779675739015182824217364909704599054183670166830409108675926978006704464582336034446148431908925297911799059112741805032549211649495164905626969050884995471464136672305513423873601528666559909260263095664615054646286025413431181988612802068075030084665242402830425405029419111977460791933019548949804342224120794610852730582348436726342332910701873654288492327417854721083308056794807489418218673386800731026109181664833686523325429437420240770358566019234380446856428730076573208812166109749129003277328776782825798291205804353264231308636640224358117298210130897036779872478452396309429212008876493443765339512789295286965297271769595132545397573682996402843946270228724813521303006545528731525393010292132894681697035180245521155798216204894861682745568129049027571357290495862679825693825120500212514332774451328462728459319401105356238537732399607284835369848006439668210754294781532395878382196314763387406064639566951541286943809848193598882545862653635564615925496852272132391023018274813233327786823186785827105043908060965878614118555403250713676158498053672530082800371 1117221663396708405952655758616770050571249835065329610187121514749690093975280501488676352155905305711047040291604704985687850524566424618582463323625644950767205658576296990599363501461550674971149168708384108558783221966707220766061836937564490377065213607388448404706761859580009241072756460063087684815463385748623634933954646029487593370574557655641253219533331681901146130359928680178699148017425879964088884031100517168630359015801247101650202181369330394806036209261758499617683954481623784663714118181914453265654984593963666210577275806054004378514591789964078698616085184480251612888346694596102928378180138216388904101269861535192082140077424613884750629698680436739976250934579479717374500505155094770057569833285179595924307388640454322715346444224378517903731109959125864554818808865418746063652803770058567653599241711933081785618123447542917113537246555421584874416440055272544386456374535867001205316224618055371748234247077191098423760565277835466752540813235559538713714680271280624218138596888848443884490298751808943166202737676450170390585413212852035422131504273989603429919680518259097772463424830127777373500398958342699695423561775281836737308806478164493808082605248512078454635215766849856935438763511637835752565414051064943970095467691556405463284671080019780427121258909695282711034327517869073853997078612744801625682450725406126671013352638794360837325158699164294002391589436776920239852773839916409706668020339478207153031214122543946800041213638353086902255077000772448511636414749606503451730763515042467284446523051323406256387822106588882037577377691171257860334481322019943320667922290214450050763047131609851728648253301789335346430453349424760247625264433509783302538919738027707725021373585792923748784132165866931192312966109271581567642270639260104301539973830661504658369994342370829693021424314458147046006848271256583964806461364348222231122595754011497326860879099413533052318014135886835815686973496558595974369398232532276037147283982113977140985543529852013657773132311934656567884666130440725209299578028171934043485399875381035042032466388248320487254638609449302260679571617541300434764483998710924377592534607616663359697894468113592829362119695429952951811676828439210456680540065916783795786775656577135868316619743037440456885765751883977766646005383232588271983794089618 1807702624343568497840449193487091978784774417219564172956543014426418968167317206512101195443592573874213274257360105817089507421296553441998933894294844350877146572899943852221257270113073667224264664882078584980095736149847886025728175301034354935034533078494919289193398681399024780317022515651310580356634210229833962180464211650128103511308230876695098425884951962168017870958384339892479015091926311530274247327095357844409162280361456135251684048500536292293865703154812947694461000070528547191493848390304883700689131087486205460696644552821224449478549960617564823862371884962449264788722779133365076222606564291558371314698967915399553986722435962431563696505742824216827339065636890039925283985700310533490486695251010843335222537845846077765696023620197365675399451097325692252392751919805388987787998463893104900964309735755956884375166112509822503312796894827067593929171443840855882146210308625765984478746221782389605571652969097721754719374898057330056238534596172141965707241982031842348146966012099395288407331239097919515894028850351098282046759350469967478658144049990029093446073979034421912365913554602474246374940576020657671732369006497063248968621214955800944459422768687873290653414880113539534299253628087042887595740091303723645834482874380622828194375679073964097288089318803958638012334222333656190031524761176710550980362524465239412818385188006010332490064326133344887387060900913592545366197713517938373227929599741302817646268768829972213472395626965888970330107085437690914466840154635922563708224306975486833396327393547527050998674837171230474303720024081959733988769814347361175389005598271244858252465350283238529379279410971000180116976674854197667866034792075802536919366594456437801594582397959033497913135443195707975138764400477385920906501947896744525898091128871635555406774214849282089330853526467023539450613610769373260093426661619991826255141151585180323263723045683761777131535438893381344418498889568888107264079929567456282668439780330182035847226275420142706800703669225152430564491824265845709512092360946385371948128334700436147388704925980720094539473979297308700347782371836081967160362380907239140979940672256230311239181411923441022961002241292606587376292753936062728812931088935058609020103443400322654143724786945501422764379870439381017359681541730641944513876889989 2924924287740276903793104952103862029356024252284893783143664529176109062142597708000777547599497879585260314548964810802777357945862978060581397217920489301644352231476240842820620771574624342195413833590462693538878958116555106791790012238598845312099746685883367693900160540979034021389778975714398265172097595978457597114418857679615696881882788532336351645418283644069164001318313020071178163109352191494363131358195875013039521296162703236901886229869866687099901912416571447312144954552152331855207966572219336966344115681449871671273920358875228827993141750581643522478457069442700877677069473729468004600786702507947275415968829450591636126799860576316314326204423260956803590000216369757299784490855405303548056528536190439259529926486300400481042467844575883579130561056451556807211560785224135051440802233951672554563551447689038669993289560052739616850043450248652468345611499113400268602584844492767189794970839837761353805900046288820178479940175892796808779347831731680679421922253312466566285562900947839172897629990906862682096766526801268672632172563322002900789648323979632523365754497293519684829338384730251619875339534363357367155930781778899986277427693120294752542028017199951745288630646963396469738017139724878640161154142368667615929950565937028291479046759093744524409348228499241349046661740202730044028603373921512176662813249871366083831737826800371169815223025297638889778650337690512785218971553434348079895949939219509970677482891373919013513609265318975872585184086210139426103254904242426015438987822017954117842850444870933307386496943760112511881097715253217594323251136367304496056927888485694909015512481893090258027532712760335526547430024278957915491299225585585839458286332484145526615955983751957246697267609062639167451730509748967488548772587156848827438064959533140213776768557220111782352277840925170585457461882025957224899888025968214057377736905596677650124602145097294829449549574780217160105472386127484081633478162099732319815723762444159176832769805272156364573835981159808998449157954706570918811670389118319415433528210081471189421171314229040581794112588746610961027353989377382401924846379618163518572475279872893670937075880037033852323121936722559539187969582375273185493471154851842404806879099977458522460344529982941879650145622323358784005686924963230216497670979607 4732626912083845401633554145590954008140798669504457956100207543602528030309914914512878743043090453459473588806324916619866865367159531502580331112215333652521498804376184695041878041687698009419678498472541278518974694266402992817518187539633200247134279764378286983093559222378058801706801491365708845528731806208291559294883069329743800393191019409031450071303235606237181872276697359963657178201278503024637378685291232857448683576524159372153570278370402979393767615571384395006605954622680879046701814962524220667033246768936077131970564911696453277471691711199208346340828954405150142465792252862833080823393266799505646730667797365991190113522296538747878022710166085173630929065853259797225068476555715837038543223787201282594752464332146478246738491464773249254530012153777249059604312705029524039228800697844777455527861183444995554368455672562562120162840345075720062274782942954256150748795153118533174273717061620150959377553015386541933199315073950126865017882427903822645129164235344308914432528913047234461304961230004782197990795377152366954678931913791970379447792373969661616811828476327941597195251939332725866250280110384015038888299788275963235246048908076095697001450785887825035942045527076936004037270767811921527756894233672391261764433440317651119673422438167708621697437547303199987058995962536386234060128135098222727643175774336605496650123014806381502305287351430983777165711238604105330585169266952286453123879538960812788323751660203891226986004892284864842915291171647830340570095058878348579147212128993440951239177838418460358385171780931342986184817739335177328312020950714665671445933486756939767267977832176328787406812123731335706664406699133155583357334017661388376377652926940583328210538381710990744610403052258347142590494910226353409455274535053593353336156088404775769183542772069393871683131367392194124908075492795330484993314687588205883632878057181857973388325190781056606581085013673598504523971275696372188897558091667188602484163542774341212679996080692299071374539650384961429013649778972416628323762750064704787381656544781907336809876240209760676333586568043919661375136361213464369085208760525402659552415952129123982176257291960474875284124178015166126564262336311335914306402243786901013826982543377781176604069316928443302414525492762739801365368466693872161011547869596 7657551199824122305426659097694816037496822921789351739243872072778637092452512622513656290642588333044733903355289727422644223313022509563161728330135822954165851035852425537862498813262322351615092332063003972057853652382958099609308199778232045559234026450261654676993719763357092823096580467080107110700829402186749156409301927009359497275073807941367801716721519250306345873595010380034835341310630694519000510043487107870488204872686862609055456508240269666493669527987955842318750909174833210901909781534743557633377362450385948803244485270571682105464833461780851868819286023847851020142861726592301085424179969307452922146636626816582826240322157115064192348914589346130434519066069629554524852967411121140586599752323391721854282390818446878727780959309349132833660573210228805866815873490253659090669602931796450010091412631134034224361745232615301737012883795324372530620394442067656419351379997611300364068687901457912313183453061675362111679255249842923673797230259635503324551086488656775480718091813995073634202591220911644880087561903953635627311104477113973280237440697949294140177582973621461282024590324062977486125619644747372406044230570054863221523476601196390449543478803087776781230676174040332473775287907536800167918048376041058877694384006254679411152469197261453146106785775802441336105657702739116278088731509019734904305989024207971580481860841606752672120510376728622666944361576294618115804140820386634533019829478180322759001234551577810240499614157603840715500475257857969766673349963120774594586199951011395069082028283289393665771668724691455498065915454588394922635272087081970167502861375242634676283490314069419045434344836491671233211836723412113498848633243246974215835939259424728854826494365462947991307670661320986310042225419975320898004047122210442180774221047937915982960311329289505654035409208317364710365537374821287709893202713556419941010614962778535623512927335878351436030634588453815664629443661823856270531036253766920922299887305218500389512765885964455435948375631544770427462807733678987547135433139183024202815184754863378526231047554438801258127699156790530622402490350590846771010055140143566178124891232002017653113333171997508727607246114737725665752231918686609099799873398638743418633861643355239699064413846911385182064671115086098585371055391657102377509218849203 12390178111907967707060213243285770045637621591293809695344079616381165122762427537026535033685678786504207492161614644042511088680182041065742059442351156606687349840228610232904376854950020361034770830535545250576828346649361092426826387317865245806368306214639941660087278985735151624803381958445815956229561208395040715704184996339103297668264827350399251788024754856543527745871707739998492519511909197543637888728778340727936888449211021981209026786610672645887437143559340237325356863797514089948611596497267778300410609219322025935215050182268135382936525172980060215160114978253001162608653979455134166247573236106958568877304424182574016353844453653812070371624755431304065448131922889351749921443966836977625142976110593004449034855150593356974519450774122382088190585364006054926420186195283183129898403629641227465619273814579029778730200905177863857175724140400092592895177385021912570100175150729833538342404963078063272561006077061904044878570323793050538815112687539325969680250724001084395150620727042308095507552450916427078078357281106002581990036390905943659685233071918955756989411449949402879219842263395703352375899755131387444932530358330826456769525509272486146544929588975601817172721701117268477812558675348721695674942609713450139458817446572330530825891635429161767804223323105641323164653665275502512148859644117957631949164798544577077131983856413134174425797728159606444110072814898723446389310087338920986143709017141135547324986211781701467485619049888705558415766429505800107243445021999123173733412080004836020321206121707854024156840505622798484250733193923572250947293037796635838948794861999574443551468146245747832841156960223006939876243422545269082205967260908362592213592186365312183037032747173938735918073713579333452632720330201674307459321657264035534110377136342691752143854101358899525718540575709558835273612867616618194886517401144625824643493019960393596901252526659408042611719602127414169153414937520228459428594345434109524784050847992841602192761966656754507322915281929731856476457512651404175459195889247728990196841299645285863040923794648561934461285724834450283777626711804311140095263900668968837677307184131141635289590463957983602891370292752891792316494254997945014106275642425644432460844186733020875668483163839828484479196607848838386736423858350974538520766718799 20047729311732090012486872340980586083134444513083161434587951689159802215214940159540191324328267119548941395516904371465155311993204550628903787772486979560853200876081035770766875668212342712649863162598549222634681999032319192036134587096097291365602332664901596337080998749092244447899962425525923066930390610581789872113486923348462794943338635291767053504746274106849873619466718120033327860822539892062638398772265448598425093321897884590264483294850942312381106671547296079644107772972347300850521378032011335933787971669707974738459535452839817488401358634760912083979401002100852182751515706047435251671753205414411491023941050999156842594166610768876262720539344777434499967197992518906274774411377958118211742728433984726303317245969040235702300410083471514921851158574234860793236059685536842220568006561437677475710686445713064003091946137793165594188607935724465123515571827089568989451555148341133902411092864535975585744459138737266156557825573635974212612342947174829294231337212657859875868712541037381729710143671828071958165919185059638209301140868019916939922673769868249897166994423570864161244432587458680838501519399878759850976760928385689678293002110468876596088408392063378598403397875157600951587846582885521863592990985754509017153201452827009941978360832690614913911009098908082659270311368014618790237591153137692536255153822752548657613844698019886846546308104888229111054434391193341562193450907725555519163538495321458306326220763359511707985233207492546273916241687363769873916794985119897768319612031016231089403234404997247689928509230314253982316648648511967173582565124878606006451656237242209119834958460315166878275501796714678173088080145957382581054600504155336808049531445790041037863527112636886727225744374900319762674945750176995205463368779474477714884598184280607735104165430648405179753949784026923545639150242437905904779720114701045765654107982738929220414179862537759478642354190581229833782858599344084729959630599201030447083938153211341991705527852621209943271290913474502283939265246330391722594629028430753193012026054508664389271971349087363192588984881624980906180117062395157911105319040812535015802198416133159288402923635955492330498616407490617458068726173684554113906149041064387851094705830088260574732897010751213666543867722934936972107479250008076916029985568002 32437907423640057719547085584266356128772066104376971129932031305540967337977367696566726358013945906053148887678519015507666400673386591694645847214838136167540550716309646003671252523162363073684633993134094473211510345681680284462960974413962537171970638879541537997168277734827396072703344383971739023159951818976830587817671919687566092611603462642166305292771028963393401365338425860031820380334449089606276287501043789326361981771108906571473510081461614958268543815106636316969464636769861390799132974529279114234198580889030000673674585635107952871337883807740972299139515980353853345360169685502569417919326441521370059901245475181730858948011064422688333092164100208738565415329915408258024695855344795095836885704544577730752352101119633592676819860857593897010041743938240915719656245880820025350466410191078904941329960260292093781822147042971029451364332076124557716410749212111481559551730299070967440753497827614038858305465215799170201436395897429024751427455634714155263911587936658944271019333268079689825217696122744499036244276466165640791291177258925860599607906841787205654156405873520267040464274850854384190877419155010147295909291286716516135062527619741362742633337981038980415576119576274869429400405258234243559267933595467959156612018899399340472804252468119776681715232422013723982434965033290121302386450797255650168204318621297125734745828554433021020972105833047835555164507206092065008582760995064476505307247512462593853651206975141213175470852257381251832332008116869569981160240007119020942053024111021067109724440526705101714085349735937052466567381842435539424529858162675241845400451099241783563386426606560914711116658756937685112964323568502651663260567765063699400263123632155353220900559859810825463143818088479653215307666080378669512922690436738513248994975320623299487248019532007304705472490359736482380912763110054524099666237515845671590297601002699322817315432389197167521254073792708644002936273536864313189388224944635139971867989001204183593898289819277964450594206195404234140415722758981795898053824917678482183208867354153950252312895143735925127050270606459431189957743774199469051200582941481503853479505600264300923692514099913475933389986700243509250385220428682499128012424683490032283555550016821281450401380174591042151023064330783775358843903108359051454550752286801 52485636735372147732033957925246942211906510617460132564519982994700769553192307856106917682342213025602090283195423386972821712666591142323549634987325115728393751592390681774438128191374705786334497155732643695846192344713999476499095561510059828537572971544443134334249276483919640520603306809497662090090342429558620459931158843036028887554942097933933358797517303070243274984805143980065148241156988981668914686273309237924787075093006791161737993376312557270649650486653932396613572409742208691649654352561290450167986552558737975412134121087947770359739242442501884383118916982454705528111685391550004669591079646935781550925186526180887701542177675191564595812703444986173065382527907927164299470266722753214048628432978562457055669347088673828379120270941065411931892902512475776512892305566356867571034416752516582417040646706005157784914093180764195045552940011849022839926321039201050549003285447412101343164590692150014444049924354536436357994221471064998964039798581888984558142925149316804146888045809117071554927839794572570994410195651225279000592318126945777539530580611655455551323400297091131201708707438313065029378938554888907146886052215102205813355529730210239338721746373102359013979517451432470380988251841119765422860924581222468173765220352226350414782613300810391595626241520921806641705276401304740092624041950393342704459472444049674392359673252452907867518413937936064666218941597285406570776211902790032024470786007784052159977427738500724883456085464873798106248249804233339855077034992238918710372636142037298199127674931702349404013858966251306448884030490947506598112423287553847851852107336483992683221385066876081589392160553652363286052403714460034244315168269219036208312655077945394258764086972447712190369562463379972977982611830555664718386059216212990963879573504903907222352184962655709885226440143763405926551913352492430004445957630546717355951708985438252037729612251734926999896427983289873836719132136208397919347855543836170418951927154415525585603817671899174393865497108878736424354988005312187620648453946109235376220893408662614641584866492823288319639255488084412096137860836594626962305901982294038869281704016397460212095437735868968263888603107734126708453946602367053241918573724554420134650255846909542025134277185342255817566932053718712330951382358367128370580737854803 84923544159012205451581043509513298340678576721837103694452014300241736891169675552673644040356158931655239170873942402480488113339977734018195482202163251895934302308700327778109380714537068860019131148866738169057702690395679760962056535924022365709543610423984672331417554218747036593306651193469401113250294248535451047748830762723594980166545560576099664090288332033636676350143569840096968621491438071275190973774353027251149056864115697733211503457774172228918194301760568713583037046512070082448787327090569564402185133447767976085808706723055723231077126250242856682258432962808558873471855077052574087510406088457151610826432001362618560490188739614252928904867545194911630797857823335422324166122067548309885514137523140187808021448208307421055940131798659308941934646450716692232548551447176892921500826943595487358370606966297251566736240223735224496917272087973580556337070251312532108555015746483068783918088519764053302355389570335606559430617368494023715467254216603139822054513085975748417907379077196761380145535917317070030654472117390919791883495385871638139138487453442661205479806170611398242172982289167449220256357709899054442795343501818721948418057349951602081355084354141339429555637027707339810388657099354008982128858176690427330377239251625690887586865768930168277341473942935530624140241434594861395010492747648992872663791065346800127105501806885928888490519770983900221383448803377471579358972897854508529778033520246646013628634713641938058926937722255049938580257921102909836237274999357939652425660253058365308852115458407451118099208702188358915451412333383046022642281450229089697252558435725776246607811673436996300508819310590048399016727282962685907575736034282735608575778710100747479664646832258537653513380551859626193290277910934334231308749652951504212874548825527206709600204494663014590698930503499888307464676462546954104112195146392388946249309988137574855045044640932094521150501775998517839655405673072711108736080488471310390819916155619709179502107491177138844459703304282970564770710764293983518702278863787717559429760762816564893897761636559213446689526094543843286095604610794096013506484923775542722761209616661761135787951835782444197278589807977635958839167031049552369930998408044452418205805863730823475535657359933297968589996384502487689795285466726179825131490141604 137409180894384353183615001434760240552585087339297236258971997294942506444361983408780561722698371957257329454069365789453309826006568876341745117189488367624328053901091009552547508905911774646353628304599381864903895035109679237461152097434082194247116581968427806665666830702666677113909958002967063203340636678094071507679989605759623867721487658510033022887805635103879951334948713820162116862648427052944105660047662265175936131957122488894949496834086729499567844788414501110196609456254278774098441679651860014570171686006505951497942827811003493590816368692744741065377349945263264401583540468602578757101485735392933161751618527543506262032366414805817524717570990181084696180385731262586623636388790301523934142570501702644863690795296981249435060402739724720873827548963192468745440857013533760492535243696112069775411253672302409351650333404499419542470212099822603396263391290513582657558301193895170127082679211914067746405313924872042917424838839559022679507052798492124380197438235292552564795424886313832935073375711889641025064667768616198792475813512817415678669068065098116756803206467702529443881689727480514249635296264787961589681395716920927761773587080161841420076830727243698443535154479139810191376908940473774404989782757912895504142459603852041302369479069740559872967715463857337265845517835899601487634534698042335577123263509396474519465175059338836756008933708919964887602390400662878150135184800644540554248819528030698173606062452142662942383023187128848044828507725336249691314309991596858362798296395095663507979790390109800522113067668439665364335442824330552620754704737782937549104665772209768929829196740313077889900979864242411685069130997422720151890904303501771816888433788046141738428733804706249843882943015239599171272889741489998949694808869164495176754122330431113931952389457318724475925370647263294234016589815039384108558152776939106302201018973575826892774656892667021521046929759288391676374537809281109028083936032307480809771843310035234765105925163076313238325200413161706989125698769606171139350732809896952935650654171479179535482628129382501766328781582628255382233465447388722975812386906069581592042913633059221347883389571651412461167192915711762667293113633416605611849572132598872552856061710640365500669934545275553786156928438221200020746667825093308195712227996407 222332725053396558635196044944273538893263664061134339953424011595184243335531658961454205763054530888912568624943308191933797939346546610359940599391651619520262356209791337330656889620448843506372759453466120033961597725505358998423208633358104559956660192392412478997084384921413713707216609196436464316590930926629522555428820368483218847888033219086132686978093967137516627685092283660259085484139865124219296633822015292427085188821238186628161000291860901728486039090175069823779646502766348856547229006742429578972356819454273927583751534534059216821893494942987597747635782908071823275055395545655152844611891823850084772578050528906124822522555154420070453622438535375996326978243554598008947802510857849833819656708024842832671712243505288670491000534538384029815762195413909160977989408460710653414036070639707557133781860638599660918386573628234644039387484187796183952600461541826114766113316940378238911000767731678121048760703495207649476855456208053046394974307015095264202251951321268300982702803963510594315218911629206711055719139886007118584359308898689053817807555518540777962283012638313927686054672016647963469891653974687016032476739218739649710191644430113443501431915081385037873090791506847150001765566039827783387118640934603322834519698855477732189956344838670728150309189406792867889985759270494462882645027445691328449787054574743274646570676866224765644499453479903865108985839204040349729494157698499049084026853048277344187234697165784601001309960909383897983408765646439159527551584990954798015223956648154028816831905848517251640212276370628024279786855157713598643396986188012027246357224207935545176437008413750074190409799174832460084085858280385406059466640337784507425464212498146889218093380636964787497396323567099225364563167652424333181003558522115999389628671155958320641552593951981739066624301150763182541481266277586338212670347923331495248450328961713401747819701533599116042197431535286909516029943482353820136820016520778791200591759465654943944608032654253452082784903717444677553896409533900154658053011673684670495080414934295744429380389765941715213018307677172098668329070058182818989318871829845124314804123249720982483671341407433856658445782723689398626132280664466157981780570540643324971061867574371188976205591905208851754746924822723687710541953291819488020843718138011 359741905947780911818811046379033779445848751400431576212396008890126749779893642370234767485752902846169898079012673981387107765353115486701685716581139987144590410110882346883204398526360618152726387758065501898865492760615038235884360730792186754203776774360840285662751215624080390821126567199403527519931567604723594063108809974242842715609520877596165709865899602241396579020040997480421202346788292177163402293869677557603021320778360675523110497125947631228053883878589570933976255959020627630645670686394289593542528505460779879081694362345062710412709863635732338813013132853335087676638936014257731601713377559243017934329669056449631084554921569225887978340009525557081023158629285860595571438899648151357753799278526545477535403038802269919926060937278108750689589744377101629723430265474244413906571314335819626909193114310902070270036907032734063581857696287618787348863852832339697423671618134273409038083446943592188795166017420079692394280295047612069074481359813587388582449389556560853547498228849824427250292287341096352080783807654623317376835122411506469496476623583638894719086219106016457129936361744128477719526950239474977622158134935660577471965231510275284921508745808628736316625945985986960193142474980301557792108423692516218338662158459329773492325823908411288023276904870650205155831277106394064370279562143733664026910318084139749166035851925563602400508387188823829996588229604703227879629342499143589638275672576308042360840759617927263943692984096512746028237273371775409218865894982551656378022253043249692324811696238627052162325344039067689644122297982044151264151690925794964795461889980145314106266205154063152080310779039074871769154989277808126211357544641286279242352646286193030956522114441671037341279266582338824535836057393914332130698367391280494566382793486389434573504983409300463542549671798026476775497856092625722321228500700270601550651347935289228640594358426266137563244361294575301192404481291634929164903952553086272010363602775690178709713957817329765321110104130606384543022108303506325797403744483581623430731069105774923964863017895324216979347089259800354050562535505571541965131258735914705906847036882780203831554730979085269119612975639401161293425394297882763593630142673242197523917929285011554476875526450484405540903853260944887731288621116912796216555946134418 582074631001177470454007091323307318339112415461565916165820020485310993115425301331688973248807433735082466703955982173320905704699662097061626315972791606664852766320673684213861288146809461659099147211531621932827090486120397234307569364150291314160436966753252764659835600545494104528343176395839991836522498531353116618537630342726061563497554096682298396843993569378913206705133281140680287830928157301382698927691692850030106509599598862151271497417808532956539922968764640757755902461786976487192899693136719172514885324915053806665445896879121927234603358578719936560648915761406910951694331559912884446325269383093102706907719585355755907077476723645958431962448060933077350136872840458604519241410506001191573455986551388310207115282307558590417061471816492780505351939791010790701419673934955067320607384975527184042974974949501731188423480660968707621245180475414971301464314374165812189784935074651647949084214675270309843926720915287341871135751255665115469455666828682652784701340877829154530201032813335021565511198970303063136502947540630435961194431310195523314284179102179672681369231744330384815991033760776441189418604214161993654634874154400227182156875940388728422940660890013774189716737492834110194908041020129341179227064627119541173181857314807505682282168747082016173586094277443073045817036376888527252924589589424992476697372658883023812606528791788368045007840668727695105574068808743577609123500197642638722302525624585386548075456783711864945002945005896644011646039018214568746417479973506454393246209691403721141643602087144303802537620409695713923909153139757749907548677113806992041819114188080859282703213567813226270720578213907331853240847558193532270824184979070786667816858784339920174615495078635824838675590149438049900399225046338665311701925913396493956011464642347755215057577361282202609173972948789659316979122370212060533898848623602096799101676897002630388414059959865253605441792829862210708434424773988749301723969073865063210955362241345122654321990471583217403895007848051062096918517837406480455456756157266293925811484040070668394243407661265932192365396936972452718891605563754360954450130565759830221651160132501186315226072386519125778058758363090559919557674962348921575410713213885522494979796859382743453081118355693257295650778083668575441830574408732284237399664272429 941816536948958382272818137702341097784961166861997492378216029375437742895318943701923740734560336581252364782968656154708013470052777583763312032553931593809443176431556031097065686673170079811825534969597123831692583246735435470191930094942478068364213741114093050322586816169574495349469743595243519356454066136076710681646440316968904279107074974278464106709893171620309785725174278621101490177716449478546101221561370407633127830377959537674381994543756164184593806847354211691732158420807604117838570379531008766057413830375833685747140259224184637647313222214452275373662048614741998628333267574170616048038646942336120641237388641805386991632398292871846410302457586490158373295502126319200090680310154152549327255265077933787742518321109828510343122409094601531194941684168112420424849939409199481227178699311346810952168089260403801458460387693702771203102876763033758650328167206505509613456553208925056987167661618862498639092738335367034265416046303277184543937026642270041367150730434390008077699261663159448815803486311399415217286755195253753338029553721701992810760802685818567400455450850346841945927395504904918908945554453636971276793009090060804654122107450664013344449406698642510506342683478821070388050516000430898971335488319635759511844015774137279174607992655493304196862999148093278201648313483282591623204151733158656503607690743022772978642380717351970445516227857551525102162298413446805488752842696786228360578198200893428908916216401639128888695929102409390039883312389989977965283374956058110771268462734653413466455298325771355964862964448763403568031451121801901171700368039601956837281004168226173388969418721876378351031357252982203622395836836001658482181729620357065910169505070532951131137609520306862179954856731776874436235282440252997442400293304676988522394258128737189788562560770582666151723644746816136092476978462837782855127349323872698349753024832291859029008418386131391168686154124437511900838906065623678466627921626951335221318965017035301364035948288912982725005111978657446639940626140912806252860500640847917356542553145845592359106425556590149171712486196772806769454141069325902919581389301674536128498197015281390146780803365604394897671734002491721212983069260231685169040855887127720018897726144394297929956644806177662836554631344613463173119195525645080453955610406847 1523891167950135852726825229025648416124073582323563408544036049860748736010744245033612713983367770316334831486924638328028919174752439680824938348526723200474295942752229715310926974819979541470924682181128745764519673732855832704499499459092769382524650707867345814982422416715068599877812919991083511192976564667429827300184070659694965842604629070960762503553886740999222992430307559761781778008644606779928800149253063257663234339977558399825653491961564697141133729816118852449488060882594580605031470072667727938572299155290887492412586156103306564881916580793172211934310964376148909580027599134083500494363916325429223348145108227161142898709875016517804842264905647423235723432374966777804609921720660153740900711251629322097949633603417387100760183880911094311700293623959123211126269613344154548547786084286873994995143064209905532646883868354671478824348057238448729951792481580671321803241488283576704936251876294132808483019459250654376136551797558942300013392693470952694151852071312219162607900294476494470381314685281702478353789702735884189299223985031897516125044981787998240081824682594677226761918429265681360098364158667798964931427883244461031836278983391052741767390067588656284696059420971655180582958557020560240150562552946755300685025873088944784856890161402575320370449093425536351247465349860171118876128741322583648980305063401905796791248909509140338490524068526279220207736367222190383097876342894428867082880723825478815456991673185350993833698874108306034051529351408204546711700854929564565164514672426057134608098900412915659767400584858459117491940604261559651079249045153408948879100118356307032671672632289689604621751935466889535475636684394195190753005914599427852577986363854872871305753104598942687018630446881214924336634507486591662754102219218073482478405722771084945003620138131864868760897617695605795409456100833049843389026197947474795148854701729294489417422478345996644774127946954299722609273330839612427768351890700816398432274327258380424018357938760496200128900119826708508736859143978319286708317256798114211282354037185916260753349833217856081364077883133745259488345746633080263874031519867434366350149357147782576462006875752123520675730492365582281132540744222580606744451569101013242513877523003777041383037763161870920132205409428282038614949769934377364691355274679276 2465707704899094234999643366727989513909034749185560900922252079236186478906063188735536454717928106897587196269893294482736932644805217264588250381080654794283739119183785746407992661493149621282750217150725869596212256979591268174691429554035247450888864448981438865305009232884643095227282663586327030549430630803506537981830510976663870121711704045239226610263779912619532778155481838382883268186361056258474901370814433665296362170355517937500035486505320861325727536663473064141220219303402184722870040452198736704629712985666721178159726415327491202529229803007624487307973012990890908208360866708254116542402563267765343989382496868966529890342273309389651252567363233913394096727877093097004700602030814306290227966516707255885692151924527215611103306290005695842895235308127235631551119552753354029774964783598220805947311153470309334105344256048374250027450934001482488602120648787176831416698041492501761923419537912995307122112197586021410401967843862219484557329720113222735519002801746609170685599556139653919197118171593101893571076457931137942637253538753599508935805784473816807482280133445024068707845824770586279007309713121435936208220892334521836490401090841716755111839474287298795202402104450476250971009073020991139121898041266391060196869888863082064031498154058068624567312092573629629449113663343453710499332893055742305483912754144928569769891290226492308936040296383830745309898665635637188586629185591215095443458922026372244365907889586990122722394803210715424091412663798194524676984229885622675935783135160710548074554198738687015732263549307222521059972055383361552250949413193010905716381122524533206060642051011565982972783292719871739098032521230196849235187644219784918488155868925405822436890714119249549198585303612991798772869789926844660196502512522750471000799980899822134792182698902447534912621262442421931501933079295887626244153547271347493498607726561586348446430896732128035942814101078737234510112236905236106234979812327767733653593292275415725382393887049409182853905231805365955376799770119232092961177757438962128638896590331761853112456258774446230535790369330518066257799887702406166793612909169108902478647554163063966608787679117727915573402226368074002345523813482812291913492424988140962532775249148171339312994407968048582968760040772895501788068965460022445145310885086123 3989598872849230087726468595753637930033108331509124309466288129096935214916807433769149168701295877213922027756817932810765851819557656945413188729607377994758035061936015461718919636313129162753674899331854615360731930712447100879190929013128016833413515156848784680287431649599711695105095583577410541742407195470936365282014581636358835964316333116199989113817666653618755770585789398144665046195005663038403701520067496922959596510333076337325688978466885558466861266479591916590708280185996765327901510524866464643202012140957608670572312571430797767411146383800796699242283977367039817788388465842337617036766479593194567337527605096127672789052148325907456094832268881336629820160252059874809310523751474460031128677768336577983641785527944602711863490170916790154595528932086358842677389166097508578322750867885094800942454217680214866752228124403045728851798991239931218553913130367848153219939529776078466859671414207128115605131656836675786538519641421161784570722413584175429670854873058828333293499850616148389578432856874804371924866160667022131936477523785497025060850766261815047564104816039701295469764254036267639105673871789234901139648775578982868326680074232769496879229541875955079898461525422131431553967630041551379272460594213146360881895761952026848888388315460643944937761185999165980696579013203624829375461634378325954464217817546834366561140199735632647426564364910109965517635032857827571684505528485643962526339645851851059822899562772341116556093677319021458142942015206399071388685084815187241100297807586767682682653099151602675499664134165681638551912659644921203330198458346419854595481240880840238732314683301255587594535228186761274573669205624392039988193558819212771066142232780278693742643818718192236217215750494206723109504297413436322950604731740823953479205703670907079795802837034312403673518880138027726911389180128937469633179745218822288647462428290880837863853375078124680716942048033036957119385567744848534003331703028584132085867619533796149400751825809905382982805351632074464113658914097551379669495014237076339921250627517678113865806091992302311899868252464263325746145634335486430667644429036543268828796911310846543070794554869851436249132718733656283478064557705392898657943994089154205046652772151948380696032171129919503100965450201177540403018735394399809836666159765399 6455306577748324322726111962481627443942143080694685210388540208333121693822870622504685623419223984111509224026711227293502784464362874210001439110688032789041774181119801208126912297806278784036425116482580484956944187692038369053882358567163264284302379605830223545592440882484354790332378247163737572291837826274442903263845092613022706086028037161439215724081446566238288548741271236527548314381366719296878602890881930588255958680688594274825724464972206419792588803143064980731928499489398950050771550977065201347831725126624329848732038986758288969940376186808421186550256990357930725996749332550591733579169042860959911326910101965094202679394421635297107347399632115250023916888129152971814011125782288766321356644285043833869333937452471818322966796460922485997490764240213594474228508718850862608097715651483315606889765371150524200857572380451419978879249925241413707156033779155024984636637571268580228783090952120123422727243854422697196940487485283381269128052133697398165189857674805437503979099406755802308775551028467906265495942618598160074573731062539096533996656550735631855046384949484725364177610078806853918112983584910670837347869667913504704817081165074486251991069016163253875100863629872607682524976703062542518394358635479537421078765650815108912919886469518712569505073278572795610145692676547078539874794527434068259948130571691762936331031489962124956362604661293940710827533698493464760271134714076859057969798567878223304188807452359331239278488480529736882234354679004593596065669314700809917036080942747478230757207297890289691231927683472904159611884715028282755581147871539430760311862363405373444792956734312821570567318520906633013671701726854588889223381203038997689554298101705684516179534532837441785415801054107198521882374087340280983147107244263574424480005684570729214587985535936759938586140142580449658413322259424825095877333292490169782146070154852467186310284271810252716659756149111774191629497804650084640238311515356351865739460911809211874783145712859314565836710583437440419490458684216783472630672771676038468560147217849439966978262350766748542435658621794781392003945522037892597461257338205652171307444465473910509679582233987579351822534945101730285823588371188205190571436419077295167579428021300119720009026579097968086069725490974073042191087700854422254981977044851522 10444905450597554410452580558235265373975251412203809519854828337430056908739678056273834792120519861325431251783529160104268636283920531155414627840295410783799809243055816669845831934119407946790100015814435100317676118404485469933073287580291281117715894762679008225879872532084066485437473830741148114034245021745379268545859674249381542050344370277639204837899113219857044319327060634672213360576372382335282304410949427511215555191021670612151413443439091978259450069622656897322636779675395715378673061501931665991033737267581938519304351558189086737351522570609217885792540967724970543785137798392929350615935522454154478664437707061221875468446569961204563442231900996586653737048381212846623321649533763226352485322053380411852975722980416421034830286631839276152086293172299953316905897884948371186420466519368410407832219588830739067609800504854465707731048916481344925709946909522873137856577101044658695642762366327251538332375511259372983479007126704543053698774547281573594860712547864265837272599257371950698353983885342710637420808779265182206510208586324593559057507316997446902610489765524426659647374332843121557218657456699905738487518443492487573143761239307255748870298558039208954999325155294739114078944333104093897666819229692683781960661412767135761808274784979356514442834464571961590842271689750703369250256161812394214412348389238597302892171689697757603789169026204050676345168731351292331955640242562503020496138213730074364011707015131672355834582157848758340377296694210992667454354399515997158136378750334245913439860397041892366731591817638585798163797374673203958911346329885850614907343604286213683525271417614077158161853749093394288245370932478980929211574761858210460620440334485963209922178351555634021633016804601405244991878384753717306097711976004398377959211388241636294383788372971072342259659022718477385324711439553762565510513037708992070793532583143348024174137646888377397376698197144811148748883372394933174241643218384935997825328531343008024183897538669219948819515935069514883604117598314334852300167785913114808481397845367118080844068442759050854335526874259044717750091156373379028128901767242195440136241376784757052750376788857430788071667663835386569301652928893598089229380413166449372626080793452068100705058750227887589170690941175250582594106436248822064818643204616921 16900212028345878733178692520716892817917394492898494730243368545763178602562548678778520415539743845436940475810240387397771420748283405365416066950983443572841583424175617877972744231925686730826525132297015585274620306096523838986955646147454545402018274368509231771472313414568421275769852077904885686326082848019822171809704766862404248136372407439078420561980559786095332868068331871199761674957739101632160907301831358099471513871710264886977137908411298398052038872765721878054565279164794665429444612478996867338865462394206268368036390544947375707291898757417639072342797958082901269781887130943521084195104565315114389991347809026316078147840991596501670789631533111836677653936510365818437332775316051992673841966338424245722309660432888239357797083092761762149577057412513547791134406603799233794518182170851726014721984959981263268467372885305885686610298841722758632865980688677898122493214672313238924425853318447374961059619365682070180419494611987924322826826680978971760050570222669703341251698664127753007129534913810616902916751397863342281083939648863690093054163867733078757656874715009152023824984411649975475331641041610576575835388111405992277960842404381742000861367574202462830100188785167346796603921036166636416061177865172221203039427063582244674728161254498069083947907743144757200987964366297781909125050689246462474360478960930360239223203179659882560151773687497991387172702429844757092226774956639362078465936781608297668200514467491003595113070638378495222611651373215586263520023714216807075172459693081724144197067694932182057963519501111489957775682089701486714492494201425281375219205967691587128318228151926898728729172270000027301917072659333569818434955964897208150174738436191647726101712884393075807048817858708603766874252472093998289244819220267972802439217072812365508971773908907832280845799165298927043738033698978587661387846330199161852939602737995815210484421918698630114036454346256585340378381177045017814479954733741287863564789443152219898967043251528534514656226518506955303094576282531118324930840557589153277041545063216558047822330793525799396771185496053826109754036678411271625590159105447847611443685842258667562429959022845010139894202608937116855125241300081803279800816832243744540205508814752187820714085329325855675240416432149323624785194137103244319800620249468443 27345117478943433143631273078952158191892645905102304250098196883193235511302226735052355207660263706762371727593769547502040057032203936520830694791278854356641392667231434547818576166045094677616625148111450685592296424501009308920028933727745826519734169131188239997352185946652487761207325908646033800360327869765201440355564441111785790186716777716717625399879673005952377187395392505871975035534111483967443211712780785610687069062731935499128551351850390376311488942388378775377202058840190380808117673980928533329899199661788206887340742103136462444643421328026856958135338925807871813567024929336450434811040087769268868655785516087537953616287561557706234231863434108423331390984891578665060654424849815219026327288391804657575285383413304660392627369724601038301663350584813501108040304488747604980938648690220136422554204548812002336077173390160351394341347758204103558575927598200771260349791773357897620068615684774626499391994876941443163898501738692467376525601228260545354911282770533969178524297921499703705483518799153327540337560177128524487594148235188283652111671184730525660267364480533578683472358744493097032550298498310482314322906554898479851104603643688997749731666132241671785099513940462085910682865369270730313727997094864904985000088476349380436536436039477425598390742207716718791830236056048485278375306851058856688772827350168957542115374869357640163940942713702042063517871161196049424182415199201865098962074995338372032212221482622675950947652796227253562988948067426578930974378113732804233308838443415970057636928091974074424695111318750075755939479464374690673403840531311131990126549571977800811843499569540975886891026019093421590162443591812550747646530726755418610795178770677610936023891235948709828681834663310009011866130856847715595342531196272371180398428461054001803355562281878904623105458188017404429062745138532350226898359367908153923733135321139163234658559565587007511413152543401396489127264549439950988721597952126223861390117974495227923150940790197754463475742453576470186698693880845453177231008343502268085522942908583676128666399236284850251106712370312870827504127834784650653719060872690043051579927219043424615180335811702440927965870272772503424426894228975401369030197245410193912831589608204255921419144079553743264411107373324574207379300573352066384619263454085364 44245329507289311876809965599669051009810040398000798980341565428956414113864775413830875623200007552199312203404009934899811477780487341886246761742262297929482976091407052425791320397970781408443150280408466270866916730597533147906984579875200371921752443499697471768824499361220909036977177986550919486686410717785023612165269207974190038323089185155796045961860232792047710055463724377071736710491850585599604119014612143710158582934442200386105689260261688774363527815154100653431767338004985046237562286459925400668764662055994475255377132648083838151935320085444496030478136883890773083348912060279971519006144653084383258647133325113854031764128553154207905021494967220260009044921401944483497987200165867211700169254730228903297595043846192899750424452817362800451240407997327048899174711092546838775456830861071862437276189508793265604544546275466237080951646599926862191441908286878669382843006445671136544494469003222001460451614242623513344317996350680391699352427909239517114961852993203672519775996585627456712613053712963944443254311574991866768678087884051973745165835052463604417924239195542730707297343156143072507881939539921058890158294666304472129065446048070739750593033706444134615199702725629432707286786405437366729789174960037126188039515539931625111264597293975494682338649950861475992818200422346267187500357540305319163133306311099317781338578049017522724092716401200033450690573591040806516409190155841227177428011776946669700412735950113679546060723434605748785600599440642165194494401827949611308481298136497694201833995786906256482658630819861565713715161554076177387896334732736413365345755539669387940161727721467874615620198289093448892079516251146120566081486691652626760969917206869258662125604120341785635730652522018612778740383328941713884587350416540343982837645533866367312327336190786736903951257353316331472800778837510937888286205698107315776672738059134978445142981484285637625449606889657981829505645726484968803201552685867511724954907417647447822117984041726288978131968972083425489793270163376571502161848901091421362564487971800234176488730029810649647877897866366696937258164513195922279309219978137890663023613061302092177610294834547451067860072881709620279552135529057204648831014077653938453037098422956443742133229408879598939651523805473897832164494710455310704419883703553807 71590446986232745020441238678621209201702686303103103230439762312149649625167002148883230830860271258961683930997779482401851534812691278407077456533541152286124368758638486973609896564015876086059775428519916956459213155098542456827013513602946198441486612630885711766176685307873396798184503895196953287046738587550225052520833649085975828509805962872513671361739905798000087242859116882943711746025962069567047330727392929320845651997174135885234240612112079150675016757542479428808969396845175427045679960440853933998663861717782682142717874751220300596578741413471352988613475809698644896915936989616421953817184740853652127302918841201391985380416114711914139253358401328683340435906293523148558641625015682430726496543122033560872880427259497560143051822541963838752903758582140550007215015581294443756395479551291998859830394057605267940621719665626588475292994358130965750017835885079440643192798219029034164563084687996627959843609119564956508216498089372859075878029137500062469873135763737641698300294507127160418096572512117271983591871752120391256272236119240257397277506237194130078191603676076309390769701900636169540432238038231541204481201221202951980170049691759737500324699838685806400299216666091518617969651774708097043517172054902031173039604016281005547801033333452920280729392158578194784648436478394752465875664391364175851906133661268275323453952918375162888033659114902075514208444752236855940591605355043092276390086772285041732624957432736355497008376230833002348589547508068744125468779941682415541790136579913664259470923878880330907353742138611641469654641018450868061300175264047545355472305111647188752005227291008850502511224308186870482241959842958671313728017418408045371765095977546869598149495356290495464412487185328621790606514185789429479929881612812715163236073994920369115682898472665641527056715541333735901863523976043288115184565066015469700405873380274141679801541049872645136862759433059378318632910275924919791923150637993735586345025392142675745268924831924043441607711425659895676491964044222024679392857244593689448087430880383910305155129266095499898984610236679567764762292347980572933028280850827933714603540280345516792790630646249891995825943154482123703979029758032606017861211323064132365868688031160699663552373488433342204062631178798472039543795283807377089039147157639171 115835776493522056897251204278290260211512726701103902210781327741106063739031777562714106454060278811160996134401789417301663012593178620293324218275803450215607344850045539399401216961986657494502925708928383227326129885696075604733998093478146570363239056130583183535001184669094305835161681881747872773733149305335248664686102857060165866832895148028309717323600138590047797298322841260015448456517812655166651449742005073031004234931616336271339929872373767925038544572696580082240736734850160473283242246900779334667428523773777157398095007399304138748514061498915849019091612693589417980264849049896393472823329393938035385950052166315246017144544667866122044274853368548943349480827695467632056628825181549642426665797852262464170475471105690459893476275359326639204144166579467598906389726673841282531852310412363861297106583566398533545166265941092825556244640958057827941459744171958110026035804664700170709057553691218629420295223362188469852534494440053250775230457046739579584834988756941314218076291092754617130709626225081216426846183327112258024950324003292231142443341289657734496115842871619040098067045056779242048314177578152600094639495887507424109235495739830477250917733545129941015498919391720951325256438180145463773306347014939157361079119556212630659065630627428414963068042109439670777466636900741019653376021931669495015039439972367593104792530967392685612126375516102108964899018343277662457000795510884319453818098549231711433037693382850035043069099665438751134190146948710909319963181769632026850271434716411358461304919665786587390012372958473207183369802572527045449196509996783958720818060651316576692166955012476725118131422597280319374321476094104791879809504110060672132735013184416128260275099476632281100143139707347234569346897514731143364517232029353059146073719528786736428010234663452378431007972894650067374664302813554226003470770764122785477078611439409120124944522534158282762312366322717360148138556002409888595124703323861247311299932809790123567386908873650332419739680397743321166285234207598596181554706145685110810651918852184144481643859295906149546862508103046264702020456861176495212337500828965824377627153341647608970400925480797343063686016036191743983531165287089810666692225400718070818905786454117143405685602897312941143714154984272369871708289994262687793459030861192978 187426223479754801917692442956911469413215413004207005441221090053255713364198779711597337284920550070122680065399568899703514547405869898700401674809344602501731713608684026373011113526002533580562701137448300183785343040794618061561011607081092768804725668761468895301177869976967702633346185776944826060779887892885473717206936506146141695342701110900823388685340044388047884541181958142959160202543774724733698780469398002351849886928790472156574170484485847075713561330239059511049706131695335900328922207341633268666092385491559839540812882150524439345092802912387202007705088503288062877180786039512815426640514134791687513252971007516638002524960782578036183528211769877626689916733988990780615270450197232073153162340974296025043355898365188020036528097901290477957047925161608148913604742255135726288247789963655860156936977624003801485787985606719414031537635316188793691477580057037550669228602883729204873620638379215257380138832481753426360750992529426109851108486184239642054708124520678955916376585599881777548806198737198488410438055079232649281222560122532488539720847526851864574307446547695349488836746957415411588746415616384141299120697108710376089405545431590214751242433383815747415798136057812469943226089954853560816823519069841188534118723572493636206866663960881335243797434268017865562115073379135772119251686323033670866945573633635868428246483885767848500160034631004184479107463095514518397592400865927411730208185321516753165662650815586390540077475896271753482779694456779653445431961711314442392061571296325022720775843544666918297366115097084848653024443590977913510496685260831504076290365762963765444172182303485575620642646905467189856563435937063463193537521528468717504500109161962997858424594832922776564555626892675856359953411700520572844447113642165774309309793523707105543693133136118019958064688435983803276527826789597514118655335830138255177484484819683261804746063584030927899175125755776738466771466278334808387047853961854982897644958201932799312655833705574375861347391823403216842777198251820620860947563390278800258739349732568054786798988562001649445847118339725832466782749209157068145365781679793758092230693621993125763191556127047235059511959190673867687510195045122416684553436723782203184774474485277843069237976385746283347776786163070841911252085278070064882498178018832149 303261999973276858814943647235201729624728139705310907652002417794361777103230557274311443738980828881283676199801358317005177559999048518993725893085148052717339058458729565772412330487989191075065626846376683411111472926490693666295009700559239339167964724892052078836179054646062008468507867658692698834513037198220722381893039363206307562175596258929133106008940182978095681839504799402974608659061587379900350230211403075382854121860406808427914100356859615000752105902935639593290442866545496373612164454242412603333520909265336996938907889549828578093606864411303051026796701196877480857445635089409208899463843528729722899203023173831884019669505450444158227803065138426570039397561684458412671899275378781715579828138826558489213831369470878479930004373260617117161192091741075747819994468928977008820100100376019721454043561190402335030954251547812239587782276274246621632937324228995660695264407548429375582678192070433886800434055843941896213285486969479360626338943230979221639543113277620270134452876692636394679515824962279704837284238406344907306172884125824719682164188816509599070423289419314389586903792014194653637060593194536741393760192996217800198641041171420692002160166928945688431297055449533421268482528134999024590129866084780345895197843128706266865932294588309750206865476377457536339581710279876791772627708254703165881985013606003461533039014853160534112286410147106293444006481438792180854593196376811731184026283870748464598700344198436425583146575561710504616969841405490562765395143480946469242333006012736381182080763210453505687378488055558055836394246163504958959693195257615462797108426414280342136339137315962300738774069502747509230884912031168255073347025638529389637235122346379126118699694309555057664698766600023090929300309215251716208964345671518833455383513052493841971703367799570398389072661330633870651192129603151740122126106594261040654563096259092381929690586118189210661487492078494098614910022280744696982172557285716230208944891011722922880042742579224708281087072221146538009062432459419217042502269535963911069391268584752199268442847857907798992709626442772097168803206070333563357703282508759582469857846963640734733592481607844578123197975226865611671041360332212227351245662124500274003680260939394986474923579283059224491490941147343211782960375272332752675957208880025127 490688223453031660732636090192113199037943552709517913093223507847617490467429336985908781023901378951406356265200927216708692107404918417694127567894492655219070772067413592145423444013991724655628327983824983594896815967285311727856021307640332107972690393653520974137356924623029711101854053435637524895292925091106196099099975869352449257518297369829956494694280227366143566380686757545933768861605362104634049010680801077734704008789197280584488270841345462076465667233174699104340148998240832273941086661584045871999613294756896836479720771700353017438699667323690253034501789700165543734626421128922024326104357663521410412455994181348522022194466233022194411331276908304196729314295673449193287169725576013788732990479800854514257187267836066499966532471161907595118240016902683896733599211184112735108347890339675581610980538814406136516742237154531653619319911590435415324414904286033211364493010432158580456298830449649144180572888325695322574036479498905470477447429415218863694251237798299226050829462292518172228322023699478193247722293485577556587395444248357208221885036343361463644730735967009739075740538971610065225807008810920882692880890104928176288046586603010906753402600312761435847095191507345891211708618089852585406953385154621534429316566701199903072798958549191085450662910645475401901696783659012563891879394577736836748930587239639329961285498738928382612446444778110477923113944534306699252185597242739142914234469192265217764362995014022816123224051457982258099749535862270216210827105192260911634394577309061403902856606755120423984744603152642904489418689754482872470189880518446966873398792177244107580511319619447876359416716408214699087448347968231718266884547166998107141735231508342123977124289142477834229254393492698947289253720915772289053411459313684607764693306576200947515396500935688418347137349766617673927719956392749254240781442424399295832047581078775643734436649702220138560662617834270837081681488559079505369220411247571213106589849213655722192698576284799084142434464044549754851839630711239837903449832926242711328130618317320254055241836419909448438556744782497929635585955279490631503069064188553340562088540585633860496784037734891813182709934417539479358551555377334644035799098848282477188454735424672829544161555668805507839267727310414053694212460550402817558455386898857276 793950223426308519547579737427314928662671692414828820745225925641979267570659894260220224762882207832690032465002285533713869667403966936687853460979640707936409830526143157917835774501980915730693954830201667006008288893776005394151031008199571447140655118545573052973535979269091719570361921094330223729805962289326918480993015232558756819693893628759089600703220410344239248220191556948908377520666949484534399240892204153117558130649604089012402371198205077077217773136110338697630591864786328647553251115826458475333134204022233833418628661250181595532306531734993304061298490897043024592072056218331233225568201192251133311659017355180406041863971683466352639134342046730766768711857357907605959069000954795504312818618627413003471018637306944979896536844422524712279432108643759644553593680113089743928447990715695303065024100004808471547696488702343893207102187864682036957352228515028872059757417980587956038977022520083030981006944169637218787321966468384831103786372646198085333794351075919496185282338985154566907837848661757898085006531891922463893568328374181927904049225159871062715154025386324128662644330985804718862867602005457624086641083101145976486687627774431598755562767241707124278392246956879312480191146224851609997083251239401880324514409829906169938731253137500835657528387022932938241278493938889355664507102832440002630915600845642791494324513592088916724732854925216771367120425973098880106778793619550874098260753063013682363063339212459241706370627019692762716719377267760778976222248673207380876727583321797785084937369965573929672123091208200960325812935917987831429883075776062429670507218591524449716850456935410177098190785910962208318333259999399973340231572805527496778970353854721250095823983452032891893953160092722038218554030131024005262375804985203441220076819628694789487099868735258816736210011097251544578912085995900994362907549018660336486610677337868025664127235820409349222150109912764935696591510839824202351392968533287443315534740225378645072741318864023792423521536265696292860902063170659054945952102462206622397521886902072453323684684277817247431266371225270026804389161349824194860772346697312923031946387549274595230376519342736391305907909644405091029592915709546871387044760972782751192134996364067816019085134951864732330758668457757265477172835822735570234412595778882403 1284638446879340180280215827619428127700615245124346733838449433489596758038089231246129005786783586784096388730203212750422561774808885354381981028874133363155480602593556750063259218515972640386322282814026650600905104861061317122007052315839903555113345512199094027110892903892121430672215974529967748625098887380433114580092991101911206077212190998589046095397500637710382814600878314494842146382272311589168448251573005230852262139438801369596890642039550539153683440369285037801970740863027160921494337777410504347332747498779130669898349432950534612971006199058683557095800280597208568326698477347253257551672558855772543724115011536528928064058437916488547050465618955034963498026153031356799246238726530809293045809098428267517728205905143011479863069315584432307397672125546443541287192891297202479036795881055370884676004638819214608064438725856875546826422099455117452281767132801062083424250428412746536495275852969732175161579832495332541361358445967290301581233802061416949028045588874218722236111801277672739136159872361236091332728825377500020480963772622539136125934261503232526359884761353333867738384869957414784088674610816378506779521973206074152774734214377442505508965367554468560125487438464225203691899764314704195404036636394023414753830976531106073011530211686691921108191297668408340142975277597901919556386497410176839379846188085282121455610012331017299337179299703327249290234370507405579358964390862290017012495222255278900127426334226482057829594678477675020816468913130030995187049353865468292511122160630859188987793976720694353656867694360843864815231625672470703900072956294509396543906010768768557297361776554858053457607502319176907405781607967631691607116119972525603920705585363063374072948272594510726123207553585420985507807751046796294315787264298888048984770126204895737002496369670947235083347360863869218506632042388650248603688991443059632318658258416643669398563885522629487782812727747035772778272999398903707720613379780858656422124589439034367265439895148822876565956000310246047712741693881898892849401935388449333725652505219392707378926520697726695869823116007767956439975116629314826363841410885866263594034928134908455727160557077628204488617844061944570388144471086881515422843859821065228380589731788740645563246690620670240170026395768171319171385296373138387792867982677739679 2078588670305648699827795565046743056363286937539175554583675359131576025608749125506349230549665794616786421195205498284136431442212852291069834489853774071091890433119699907981094993017953556117016237644228317606913393754837322516158083324039475002254000630744667080084428883161213150242577895624297972354904849669760033061086006334469962896906084627348135696100721048054622062821069871443750523902939261073702847492465209383969820270088405458609293013237755616230901213505395376499601332727813489569047588893236962822665881702801364503316978094200716208503312730793676861157098771494251592918770533565584490777240760048023677035774028891709334105922409599954899689599961001765730266738010389264405205307727485604797358627717055680521199224542449956459759606160006957019677104234190203185840786571410292222965243871771066187741028738824023079612135214559219440033524287319799489239119361316090955484007846393334492534252875489815206142586776664969760148680412435675132685020174707615034361839939950138218421394140262827306043997721022993989417735357269422484374532100996721064029983486663103589075038786739657996401029200943219502951542212821836130866163056307220129261421842151874104264528134796175684403879685421104516172090910539555805401119887633425295078345386361012242950261464824192756765719684691341278384253771536791275220893600242616842010761788930924912949934525923106216061912154628544020657354796480504459465743184481840891110755975318292582490489673438941299535965305497367783533188290397791774163271602538675673387849743952656974072731346686268283328990785569044825141044561590458535329956032070571826214413229360293007014212233490268230555798288230139115724114867967031664947347692778053100699675939217784624168772256046543618017160713678143023726361781177820299578163069284091490204846945833590526489596238406206051819557371961120763085544128384551242966596540461719968805268935754511695062691121343038837004962837659800708474864510238727910072006348314146099737659329664413012338181214012846668989477536575942340573643757052557947795354037850655956123174392121465160702611204975543943301089487233037983244364277979139021224613757583179186625981315684183050957537076420364595794525753706349661417737386796428386809888620793847979572724728152808461582331825572534972500785064225928584648558132195873958027280578456622082 3363227117184988880108011392666171184063902182663522288422124792621172783646838356752478236336449381400882809925408711034558993217021737645451815518727907434247371035713256658044354211533926196503338520458254968207818498615898639638165135639879378557367346142943761107195321787053334580914793870154265720980003737050193147641178997436381168974118275625937181791498221685765004877421948185938592670285211572662871295744038214614822082409527206828206183655277306155384584653874680414301572073590840650490541926670647467169998629201580495173215327527151250821474318929852360418252899052091460161245469010912837748328913318903796220759889040428238262169980847516443446740065579956800693764764163420621204451546454016414090404436815483948038927430447592967939622675475591389327074776359736646727127979462707494702002039752826437072417033377643237687676573940416094986859946386774916941520886494117153038908258274806081029029528728459547381304166609160302301510038858402965434266253976769031983389885528824356940657505941540500045180157593384230080750464182646922504855495873619260200155917748166336115434923548092991864139414070900634287040216823638214637645685029513294282036156056529316609773493502350644244529367123885329719863990674854260000805156524027448709832176362892118315961791676510884677873910982359749618527229049134693194777280097652793681390607977016207034405544538254123515399091454331871269947589166987910038824707575344130908123251197573571482617916007665423357365559983975042804349657203527822769350320956404143965898971904583516163060525323406962636985858479929888689956276187262929239230028988365081222758319240129061564311574010045126284013405790549316023129896475934663356554463812750578704620381524580847998241720528641054344140368267263564009234169532224616593893950333582979539189617072038486263492092608077153286902904732824989981592176170773201491570285531904779601123927194171155364461255006865668324787775565406836481253137509637631617792619728095004756159783919103447379603621109161669545555433536886188388286385450934456840644755973239105289848826897340857868081537725673270639170912603240805939684339394608453847588455168469045450220016243819091506684697633497992800283143597768294231805881857883309902232732480614913207953314459941549107145578516193205212670811459994099903819943428569012345820148561134361761 5441815787490637579935806957712914240427189120202697843005800151752748809255587482258827466886115176017669231120614209318695424659234589936521650008581681505339261468832956566025449204551879752620354758102483285814731892370735962154323218963918853559621346773688428187279750670214547731157371765778563693334908586719953180702265003770851131871024360253285317487598942733819626940243018057382343194188150833736574143236503423998791902679615612286815476668515061771615485867380075790801173406318654140059589515563884429992664510904381859676532305621351967029977631660646037279409997823585711754164239544478422239106154078951819897795663069319947596275903257116398346429665540958566424031502173809885609656854181502018887763064532539628560126654990042924399382281635598346346751880593926849912968766034117786924967283624597503260158062116467260767288709154975314426893470674094716430760005855433243994392266121199415521563781603949362587446753385825272061658719270838640566951274151476647017751725468774495159078900081803327351224155314407224070168199539916344989230027974615981264185901234829439704509962334832649860540443271843853789991759036460050768511848085820514411297577898681190714038021637146819928933246809306434236036081585393815806206276411660874004910521749253130558912053141335077434639630667051090896911482820671484469998173697895410523401369765947131947355479064177229731461003608960415290604943963468414498290450759825971799234007172891864065108405681104364656901525289472410587882845493925614543513592558942819639286821648536173137133256670093230920314849265498933515097320748853387774559985020435653048972732469489354571325786243535394514569204078779455138854011343901695021501811505528631805320057463798632622410492784687597962157528980941707032960531313402436893472113402867071029394464017872076789981688846483359338722462104786110744677720299157752734536882072366499569929196129925667059523946128208707161792738403066637189728002019876359527864626076409150855897443248767860391941802323174516214544911073462130728860029207987014788440110011089761245972001289462323028784148930648814582472002090473843922928703672587592868813068926052224636845997559503274557642234709918357396077669351474643893223619244679738289042621101408761187526039188094357568727910341765740185171596524220028488468501560764886303847429139590983843 8805042904675626460043818350379085424491091302866220131427924944373921592902425839011305703222564557418552041046022920353254417876256327581973465527309588939586632504546213224069803416085805949123693278560738254022550390986634601792488354603798232116988692916632189294475072457267882312072165635932829414314912323770146328343444001207232300845142635879222499279097164419584631817664966243320935864473362406399445438980541638613613985089142819115021660323792367927000070521254756205102745479909494790550131442234531897162663140105962354849747633148503217851451950590498397697662896875677171915409708555391259987435067397855616118555552109748185858445884104632841793169731120915367117796266337230506814108400635518432978167501348023576599054085437635892339004957111189735673826656953663496640096745496825281626969323377423940332575095494110498454965283095391409413753417060869633372280892349550397033300524396005496550593310332408909968750919994985574363168758129241606001217528128245679001141610997598852099736406023343827396404312907791454150918663722563267494085523848235241464341818982995775819944885882925641724679857342744488077031975860098265406157533115333808693333733955210507323811515139497464173462613933191763955900072260248075807011432935688322714742698112145248874873844817845962112513541649410840515438711869806177664775453795548204204791977742963338981761023602431353246860095063292286560552533130456324537115158335170102707357258370465435547726321688769788014267085273447453392232502697453437312863913515346963605185793553119689300193781993500193557300707745428822205053596936116317013790014008800734271731051709618416135637360253580520798582609869328771161983907819836358378056275318279210509940438988379480620652213313328652306297897248205271042194700845627053487366063736450050568584081089910563053473781454560512625625366837611100726269896469930954226107167604271279171053123324096822423985201135074375486580513968473473670981139529513991145657245804504155612057227167871307771545423432336185760100344610348319117146414658921471629084865984328866535820828186803180896865686656322085221642914693714649862613043067196046716401524094521270087066013803322366064326932343416350196360812949242938125029501102563048191275353582023674395479353648035906675873488857958945397842407984214128392288444989333898649667577700725345604 14246858692166264039979625308091999664918280423068917974433725096126670402158013321270133170108679733436221272166637129671949842535490917518495115535891270444925893973379169790095252620637685701744048036663221539837282283357370563946811573567717085676610039690320617481754823127482430043229537401711393107649820910490099509045709004978083432716166996132507816766696107153404258757907984300703279058661513240136019582217045062612405887768758431401837136992307429698615556388634831995903918886228148930609720957798416327155327651010344214526279938769855184881429582251144434977072894699262883669573948099869682226541221476807436016351215179068133454721787361749240139599396661873933541827768511040392423765254817020451865930565880563205159180740427678816738387238746788082020578537547590346553065511530943068551936607002021443592733157610577759222253992250366723840646887734964349803040898204983641027692790517204912072157091936358272556197673380810846424827477400080246568168802279722326018893336466373347258815306105147154747628468222198678221086863262479612483315551822851222728527720217825215524454848217758291585220300614588341867023734896558316174669381201154323104631311853891698037849536776644284102395860742498198191936153845641891613217709347349196719653219861398379433785897959181039547153172316461931412350194690477662134773627493443614728193347508910470929116502666608582978321098672252701851157477093924739035405609094996074506591265543357299612834727369874152671168610562919863980115348191379051856377506074289783244472615201655862437327038663593424477615557010927755720150917684969704788349999029236387320703784179107770706963146497115915313151813948108226300837919163738053399558086823807842315260496452178113243062706098016250268455426229146978075155232159029490380838177139317121597978545107782639843455470301043871964347828942397211470947616769088706960644049676637778740982319454022489483509147263283082648373252371540110860709141549390350673521871880913306467954670416639168163487225755510701974645255683810449846006443866908486417524975995418627781792829476265503925649835586970899804114916784188493785541746739783639585214593020573494723912011362825640621969167053334707592438482300717582018253120347242786480317974683432435583005392836130264244601399199724685583014004508434156880756946550098784953515006840316329447 23051901596841890500023443658471085089409371725935138105861650040500591995060439160281438873331244290854773313212660050025204260411747245100468581063200859384512526477925383014165056036723491650867741315223959793859832674344005165739299928171515317793598732606952806776229895584750312355301703037644222521964733234260245837389153006185315733561309632011730316045793271572988890575572950544024214923134875646535465021197586701226019872857901250516858797316099797625615626909889588201006664366137643721159852400032948224317990791116306569376027571918358402732881532841642832674735791574940055584983656655260942213976288874663052134906767288816319313167671466382081932769127782789300659624034848270899237873655452538884844098067228586781758234825865314709077392195857977817694405194501253843193162257027768350178905930379445383925308253104688257677219275345758133254400304795833983175321790554534038060993314913210408622750402268767182524948593375796420787996235529321852569386330407968005020034947463972199358551712128490982144032781129990132372005526985042879977401075671086464192869539200820991344399734100683933309900157957332829944055710756656581580826914316488131797965045809102205361661051916141748275858474675689962147836226105889967420229142283037519434395917973543628308659742777027001659666713965872771927788906560283839799549081288991818932985325251873809910877526269039936225181193735544988411710010224381063572520767430166177213948523913822735160561049058643940685435695836367317372347850888832489169241419589636746849658408754775551737520820657093618034916264756356577925204514621086021802140013038037121592434835888726186842600506750696436111734423817436997462821826983574411777614362142087052825200935440557593863714919411344902574753323477352249117349933004656543868204240875767172166562626197693202896929251755604384589973195780008312197217513239019661186751217280909057912035442778119311907494348398357458134953766340013584531690281078904341819179117685417462080011897584510475935032649187846887734745600294158768963152858525829958046609841979747494317613657663068684822515522243292985025757831477903143648154789806979686301616117115094764810978025166148006686296099396751057788799295249960520143282621449805834671593328265456109978484746484166170920474888057683630980856412492648285273045391539432683603182584541041675051 37298760289008154540003068966563084754327652149004056080295375136627262397218452481551572043439924024290994585379297179697154102947238162618963696599092129829438420451304552804260308657361177352611789351887181333697114957701375729686111501739232403470208772297273424257984718712232742398531240439355615629614554144750345346434862011163399166277476628144238132812489378726393149333480934844727493981796388886671484603414631763838425760626659681918695934308407227324231183298524420196910583252365792651769573357831364551473318442126650783902307510688213587614311115092787267651808686274202939254557604755130624440517510351470488151257982467884452767889458828131322072368524444663234201451803359311291661638910269559336710028633109149986917415566292993525815779434604765899714983732048844189746227768558711418730842537381466827518041410715266016899473267596124857095047192530798332978362688759517679088686105430415320694907494205125455081146266756607267212823712929402099137555132687690331038928283930345546617367018233638136891661249352188810593092390247522492460716627493937686921397259418646206868854582318442224895120458571921171811079445653214897755496295517642454902596357662993903399510588692786032378254335418188160339772379951531859033446851630386716154049137834942007742445640736208041206819886282334703340139101250761501934322708782435433661178672760784280839994028935648519203502292407797690262867487318305802607926376525162251720539789457180034773395776428518093356604306399287181352463199080211541025618925663926530094131023956431414174847859320687042512531821767284333645355432306055726590490012067273508913138620067833957549563653247812351424886237765545223763659746147312465177172448965894895140461431892735707106777625509361152843208749706499227192505165163686034249042418015084293764541171305475842740384722056648256554321024722405523668165130008108368147395266957546836653017762232141801391003495661640540783327018711553695392399422628294692492700989566330768547966568001149644098519874943357589709390855977969218809159302392738444464134817975166122099406487139334188748165357830263884829872748262091637433696536546763325886830710135668259534890036528973647308265266450085765381237777550678102161535741797048621151911302948888545561490139320296435165076287257408316563870417001082442153802338089531468556697591381358004498 60350661885850045040026512625034169843737023874939194186157025177127854392278891641833010916771168315145767898591957229722358363358985407719432277662292989213950946929229935818425364694084669003479530667111141127556947632045380895425411429910747721263807504904226231034214614296983054753832943476999838151579287379010591183824015017348714899838786260155968448858282650299382039909053885388751708904931264533206949624612218465064445633484560932435554731624507024949846810208414008397917247618503436372929425757864312775791309233242957353278335082606571990347192647934430100326544477849142994839541261410391566654493799226133540286164749756700772081057130294513404005137652227452534861075838207582190899512565722098221554126700337736768675650392158308234893171630462743717409388926550098032939390025586479768909748467760912211443349663819954274576692542941882990349447497326632316153684479314051717149679420343625729317657896473892637606094860132403688000819948458723951706941463095658336058963231394317745975918730362129119035694030482178942965097917232565372438117703165024151114266798619467198213254316419126158205020616529254001755135156409871479336323209834130586700561403472096108761171640608927780654112810093878122487608606057421826453675993913424235588445055808485636051105383513235042866486600248207475267928007811045341733871790071427252594163998012658090750871555204688455428683486143342678674577497542686866180447143955328428934488313371002769933956825487162034042040002235654498724811049969044030194860345253563276943789432711206965912368679977780660547448086523640911570559946927141748392630025105310630505573455956560144392164159998508787536620661582982221226481573130886876954786811107981947965662367333293300970492544920706055417962073183851476309855098168342578117246658890851465931103797503169045637313973812252641144294220502413835865382643247128029334146484238455894565053205010261113298497844059997998918280785051567279924089703707199034311880107251748230627978465585660120033552524131204477444136456272127987772312160918568402510744659954913616417020144802402873570680880073556869855630579739994781081851326353743012188446827250763024345868061695121653994561365846836823170037072800638622304818363246854455823504631214344655539974885804462606085551175315091947544726829493730727426847729628964152159880175922399679549 97649422174858199580029581591597254598064676023943250266452400313755116789497344123384582960211092339436762483971254409419512466306223570338395974261385119043389367380534488622685673351445846356091320018998322461254062589746756625111522931649980124734016277201499655292199333009215797152364183916355453781193841523760936530258877028512114066116262888300206581670772029025775189242534820233479202886727653419878434228026850228902871394111220614354250665932914252274077993506938428594827830870869229024698999115695677327264627675369608137180642593294785577961503763027217367978353164123345934094098866165522191095011309577604028437422732224585224848946589122644726077506176672115769062527641566893482561151475991657558264155333446886755593065958451301760708951065067509617124372658598942222685617794145191187640591005142379038961391074535220291476165810538007847444494689857430649132047168073569396238365525774041050012565390679018092687241126889010955213643661388126050844496595783348667097891515324663292593285748595767255927355279834367753558190307480087864898834330658961838035664058038113405082108898737568383100141075101175173566214602063086377091819505351773041603157761135090012160682229301713813032367145512066282827380986008953685487122845543810951742494193643427643793551024249443084073306486530542178608067109061806843668194498853862686255342670773442371590865584140336974632185778551140368937444984860992668788373520480490680655028102828182804707352601915680127398644308634941680077274249049255571220479270917489807037920456667638380087216539298467703059979908290925245215915379233197474983120037172584139418712076024394101941727813246321138961506899348527444990141319278199342131959260073876843106123799226029008077270170430067208261170822890350703502360263332028612366289076905935759695644968808644888377698695868900897698615245224819359533547773255236397481541751196002731218070967242402914689501339721638539701607803763120975316489126335493726804581096818078999175945033586809764132072399074562067153527312250097206581471463311306846974879477930079738516426631941737062318846237903820754685503328002086418515547862900506338075277537386431283880758098224095301302826632296922588551274850351316724466354105043903076975415934163233201101465025124759041250627462572500264108597246494813169580650067718495620716577767303757684047 158000084060708244620056094216631424441801699898882444452609425490882971181776235765217593876982260654582530382563211639141870829665208978057828251923678108257340314309764424441111038045530515359570850686109463588811010221792137520536934361560727845997823782105725886326413947306198851906197127393355291932773128902771527714082892045860828965955049148456175030529054679325157229151588705622230911791658917953085383852639068693967317027595781546789805397557421277223924803715352436992745078489372665397628424873559990103055936908612565490458977675901357568308696410961647468304897641972488928933640127575913757749505108803737568723587481981285996930003719417158130082643828899568303923603479774475673460664041713755779818282033784623524268716350609609995602122695530253334533761585149040255625007819731670956550339472903291250404740738355174566052858353479890837793942187184062965285731647387621113388044946117666779330223287152910730293335987021414643214463609846850002551438058879007003156854746718981038569204478957896374963049310316546696523288224712653237336952033823985989149930856657580603295363215156694541305161691630429175321349758472957856428142715185903628303719164607186120921853869910641593686479955605944405314989592066375511940798839457235187330939249451913279844656407762678126939793086778749653875995116872852185402066288925289938849506668786100462341737139345025430060869264694483047612022482403679534968820664435819109589516416199185574641309427402842161440684310870596178802085299018299601415339616171053083981709889378845345999585219276248363607427994814566156786475326160339223375750062277894769924285531980954246333891973244829926498127560931509666216622892409086219086746071181858791071786166559322309047762715350773263679132896074202179812215361500371190483535735796787225626748766311813934015012669681153538842909465727233195398930416502364426815688235434458625783124172252664027987999183781636538619888588814688255240578830042692761116461204069827229803923499172469884165624923205766544597663768522225194353783624229875249485624137884993354933446776744139935889527117977377624541133907742081199597399189254249350263724364637194308226626159919216955297387998143759411721311923151955346771172468290757532798920565377577856641439910929221647336178637887592211653324075988543897007497797347459772876457943226157363596 255649506235566444200085675808228679039866375922825694719061825804638087971273579888602176837193352994019292866534466048561383295971432548396224226185063227300729681690298913063796711396976361715662170705107786050065072811538894145648457293210707970731840059307225541618613280315414649058561311309710745713966970426532464244341769074372943032071312036756381612199826708350932418394123525855710114678386571372963818080665918922870188421707002161144056063490335529498002797222290865587572909360241894422327423989255667430320564583982173627639620269196143146270200173988864836283250806095834863027738993741435948844516418381341597161010214205871221778950308539802856160150005571684072986131121341369156021815517705413338082437367231510279861782309060911756311073760597762951658134243747982478310625613876862144190930478045670289366131812890394857529024164017898685238436877041493614417778815461190509626410471891707829342788677831928822980577113910425598428107271234976053395934654662355670254746262043644331162490227553663630890404590150914450081478532192741102235786364482947827185594914695694008377472113894262924405302766731604348887564360536044233519962220537676669906876925742276133082536099212355406718847101118010688142370578075329197427921685001046139073433443095340923638207432012121211013099573309291832484062225934659029070260787779152625104849339559542833932602723485362404693055043245623416549467467264672203757194184916309790244544519027368379348662029318522288839328619505537858879359548067555172635818887088542891019630346046483726086801758574716066667407903105491402002390705393536698358870099450478909342997608005348348275619786491151065459634460280037111206764211687285561218705331255735634177909965785351317125032885780840471940303718964552883314575624832399802849824812702722985322393735120458822392711365550054436541524710952052554932478189757600824297229986630461357001195139495066942677500523503275078321496392577809230557067956378186487921042300887906228979868532759279648297697322280328611751191080772322400935255087541182096460503615815073093449873408685876998208373355881198379226637235744167618112947052154755688339001902023625592107384258143312256600214630440682000272586773503272071237526573334660609774336499540811057742904936053980688586806100460092475761921322483357066588147865065955393593035710529915047643 413649590296274688820141770024860103481668075821708139171671251295521059153049815653819770714175613648601823249097677687703254125636641526454052478108741335558069996000063337504907749442506877075233021391217249638876083033331031666185391654771435816729663841412951427945027227621613500964758438703066037646740099329303991958424661120233771998026361185212556642728881387676089647545712231477941026470045489326049201933304987616837505449302783707933861461047756806721927600937643302580317987849614559819955848862815657533376501492594739118098597945097500714578896584950512304588148448068323791961379121317349706594021527185079165884597696187157218708954027956960986242793834471252376909734601115844829482479559419169117900719401016133804130498659670521751913196456128016286191895828897022733935633433608533100741269950948961539770872551245569423581882517497789523032379064225556579703510462848811623014455418009374608673011964984839553273913100931840241642570881081826055947372713541362673411601008762625369731694706511560005853453900467461146604766756905394339572738398306933816335525771353274611672835329050957465710464458362033524208914119009002089948104935723580298210596090349462254004389969122997000405327056723955093457360170141704709368720524458281326404372692547254203482863839774799337952892660088041486360057342807511214472327076704442563954356008345643296274339862830387834753924307940106464161489949668351738726014849352128899834060935226553953989971456721364450280012930376134037681444847085854774051158503259595975001340235425329072086386977850964430274835897920057558788866031553875921734620161728373679267283139986302594609511759735980991957762021211546777423387104096371780305451402437594425249696132344673626172795601131613735619436615038755063126790986332770993333360548499510210949142501432272756407724035231207975384434176679285750331408606259965251112918222064919982784319311747730970665499707284911616941384981392497485797646786420879249037503504957733458783792031931749532463322245486095156348854849294547595289038711771057345946127753700066448383320185430016934097900473858576003767771143486248817710346241409005038602726266660819900334010418062529211897602628584441411993898696655227418008699041625418142573257064918388914384344846983202335922984738347684687415245398471900963595645662413415166469493653756072411239 669299096531841133020227445833088782521534451744533833890733077100159147124323395542421947551368966642621116115632143736264637421608074074850276704293804562858799677690362250568704460839483238790895192096325035688941155844869925811833848947982143787461503900720176969563640507937028150023319750012776783360707069755836456202766430194606715030097673221968938254928708096027022065939835757333651141148432060699013020013970906539707693871009785869077917524538092336219930398159934168167890897209856454242283272852071324963697066076576912745738218214293643860849096758939377140871399254164158654989118115058785655438537945566420763045607910393028440487904336496763842402943840042936449895865722457213985504295077124582455983156768247644083992280968731433508224270216725779237850030072645005212246259047485395244932200428994631829137004364135964281110906681515688208270815941267050194121289278310002132640865889901082438015800642816768376254490214842265840070678152316802109343307368203718343666347270806269700894184934065223636743858490618375596686245289098135441808524762789881643521120686048968620050307442945220390115767225093637873096478479545046323468067156261256968117473016091738387086926068335352407124174157841965781599730748217033906796642209459327465477806135642595127121071271786920548965992233397333318844119568742170243542587864483595189059205347905186130206942586315750239446979351185729880710957416933023942483209034268438690078605454253922333338633486039886739119341549881671896560804395153409946686977390348138866020970581471812798173188736425680496942243801025548960791256736947412620093490261178852588610280747991650942885131546227132057417396481491583888630151315783657341524156733693330059427606098130024943297828486912454207559740334003307946441366611165170796183185361202233196271536236552731578800435400781262411925958887631338305263886796017566075410148208695381339785514451242797913343000230788186695262881373970306716354714742799065736958545805845639687763660564691029180761019567766423768100045930066869996224293799312239442406631369515139541833193594115893932306273829739774382994408379230416435823293293563760726941728168684445492441394676205841468497817259025123412266485470158499489246225614960078752347593564459199972127249783037183024509790838807777163177166720955258030183793527479370560062529364285987458882 1082948686828115821840369215857948886003202527566241973062404328395680206277373211196241718265544580291222939364729821423967891547244715601304329182402545898416869673690425588073612210281990115866128213487542285327817238878200957478019240602753579604191167742133128397508667735558641650988078188715842821007447169085140448161191091314840487028124034407181494897657589483703111713485547988811592167618477550025062221947275894156545199320312569577011778985585849142941857999097577470748208885059471014062239121714886982497073567569171651863836816159391144575427993343889889445459547702232482446950497236376135362032559472751499928930205606580185659196858364453724828645737674514188826805600323573058814986774636543751573883876169263777888122779628401955260137466672853795524041925901542027946181892481093928345673470379943593368907876915381533704692789199013477731303195005492606773824799741158813755655321307910457046688812607801607929528403315774106081713249033398628165290680081745081017077948279568895070625879640576783642597312391085836743291012046003529781381263161096815459856646457402243231723142771996177855826231683455671397305392598554048413416172091984837266328069106441200641091316037458349407529501214565920875057090918358738616165362733917608791882178828189849330603935111561719886918884893485374805204176911549681458014914941188037753013561356250829426481282449146138074200903659125836344872447366601375681209223883620567589912666389480476287328604942761251189399354480257805934242249242239264720738135893607734841022310816897141870259575714276644927217079698945606519580122768501288541828110422907226267877563887977953537494643305963113049375158502703130666053538419880029121829608136130924484677302230474698569470624088044067943179176949042063009568157597497941789516545909701743407220678737985004335208159436012470387310393064310624055595295402277531326523066430760301322569833762990528884008499938073098312204266355362804202152361529219944985996049310803373146547452596622778713224341813252518924448900779361417591513332511083296788352759123215205990216513779545910866404174303598350386762179522716665253533639534972765765544454435345265392775405094268370680395419887609564824260384166813726907254924656585496894920850629377588886511594630020385360432775577155461850592412119427158993779439189892785726532023018042059870121 1752247783359956954860596661691037668524736979310775806953137405495839353401696606738663665816913546933844055480361965160232528968852789676154605886696350461275669351380787838642316671121473354657023405583867321016758394723070883289853089550735723391652671642853305367072308243495669801011397938728619604368154238840976904363957521509447202058221707629150433152586297579730133779425383746145243308766909610724075241961246800696252893191322355446089696510123941479161788397257511638916099782269327468304522394566958307460770633645748564609575034373684788436277090102829266586330946956396641101939615351434921017471097418317920691975813516973214099684762700950488671048681514557125276701466046030272800491069713668334029867032937511421972115060597133388768361736889579574761891955974187033158428151528579323590605670808938225198044881279517497985803695880529165939574010946759656967946089019468815888296187197811539484704613250618376305782893530616371921783927185715430274633987449948799360744295550375164771520064574642007279341170881704212339977257335101665223189787923886697103377767143451211851773450214941398245941998908549309270401871078099094736884239248246094234445542122532939028178242105793701814653675372407886656656821666575772522962004943376936257359984963832444457725006383348640435884877126882708124048296480291851701557502805671632942072766704156015556688225035461888313647883010311566225583404783534399623692432917889006279991271843734398620667238428801137928518696030139477830803053637392674667425113283955873707043281398368954668432764450702325424159323499971155480371379505448701161921600684086078856487844635969604480379774852190245106792554984194714554683689735663686463353764869824254544104908328604723512768452574956522150738917283045370956009524208663112585699731270903976603492214974537735914008594836793732799236351951941962360859182198295097401933214639455682662355348214233326797351500168861285007467147729333110918507076272019010722954595116649012834311113161313807893985361381018942692548946709428287587737626310395536230759390492730345532049707373661804798710448133338124769756587901947081689356932828536526492486182604029710885216799770474212148893237146634688236526869636972226396501150271545575647268444193836788858638844413057568384942566415963239013769578840382417023963232717372156286594552382328047329003 2835196470188072776700965877548986554527939506877017780015541733891519559679069817934905384082458127225066994845091786584200420516097505277458935069098896359692539025071213426715928881403463470523151619071409606344575633601271840767872330153489302995843839384986433764580975979054311451999476127444462425375601407926117352525148612824287689086345742036331928050243887063433245492910931734956835476385387160749137463908522694852798092511634925023101475495709790622103646396355089109664308667328798482366761516281845289957844201214920216473411850533075933011705083446719156031790494658629123548890112587811056379503656891069420620906019123553399758881621065404213499694419189071314103507066369603331615477844350212085603750909106775199860237840225535344028499203562433370285933881875729061104610044009673251936279141188881818566952758194899031690496485079542643670877205952252263741770888760627629643951508505721996531393425858419984235311296846390478003497176219114058439924667531693880377822243829944059842145944215218790921938483272790049083268269381105195004571051084983512563234413600853455083496592986937576101768230592004980667707263676653143150300411340230931500773611228974139669269558143252051222183176586973807531713912584934511139127367677294545049242163792022293788328941494910360322803762020368082929252473391841533159572417746859670695086328060406844983169507484608026387848786669437402570455852150135775304901656801509573869903938233214874907995843371562389117918050510397283765045302879631939388163249177563608548065592215266096538692340164978970351376403198916761999951502273949989703749711106993305124365408523947558017874418158153358156167713486897845220737228155543715585183373005955179028782210559079422082239076663000590093918094232087433965577681806161054375216277180605720010712893712522740249216754272806203186546745016252586416454477600572628728456281070215983984925181977223855681360000106934383319671414084695915120659437801238955708950644427452385980858565757936586607209703194271461616997847488789705179250958821478833019112149615945551522266221153207715665114622436936475156518767424663746942890572363509292258030637039374976277992204864742582829288657034244253060787253803785953303756074928131072542189294823214377745150439043077953745375341993118700864361990959809576017742671907264942013126575400370107199124 4587444253548029731561562539240024223052676486187793586968679139387358913080766424673569049899371674158911050325453751744432949484950294953613540955795246820968208376452001265358245552524936825180175024655276927361334028324342724057725419704225026387496511027839739131653284222549981253010874066173082029743755646767094256889106134333734891144567449665482361202830184643163379272336315481102078785152296771473212705869769495549050985702957280469191172005833732101265434793612600748580408449598125950671283910848803597418614834860668781082986884906760721447982173549548422618121441615025764650829727939245977396974754309387341312881832640526613858566383766354702170743100703628439380208532415633604415968914063880419633617942044286621832352900822668732796860940452012945047825837849916094263038195538252575526884811997820043764997639474416529676300180960071809610451216899011920709716977780096445532247695703533536016098039109038360541094190377006849925281103404829488714558654981642679738566539380319224613666008789860798201279654154494261423245526716206860227760839008870209666612180744304666935270043201878974347710229500554289938109134754752237887184650588477025735219153351507078697447800249045753036836851959381694188370734251510283662089372620671481306602148755854738246053947878259000758688639147250791053300769872133384861129920552531303637159094764562860539857732520069914701496669679748968796039256933670174928594089719398580149895210076949273528663081800363527046436746540536761595848356517024614055588362461519482255108873613635051207125104615681295775535726698887917480322881779398690865671311791079383980853253159917162498254193010343603262960268471092559775420917891207402048537137875779433572887118887684145595007529237957112244657011515132804921587206014824166960916008451509696614205108687060476163225349109599935985783096968194548777313659798867726130389495709671666647280530191457182478711500275795668327138561814029026039166514073257966431905239544101398815169678919250394501195064575290404309546794198217992766988585131874369249871540108675897054315928526869520463825070570274599926275355326610828632247505192045818750516819643404687163209004635216794978181894180878941297314123440758179700257225199676648189457739017051166603789283456135522130317908409081939878131569800191993041705904624637098299721127782698154528127 7422640723736102508262528416789010777580615993064811366984220873278878472759836242608474433981829801383978045170545538328633370001047800231072476024894143180660747401523214692074174433928400295703326643726686533705909661925614564825597749857714329383340350412826172896234260201604292705010350193617544455119357054693211609414254747158022580230913191701814289253074071706596624765247247216058914261537683932222350169778292190401849078214592205492292647501543522723369081189967689858244717116926924433038045427130648887376459036075588997556398735439836654459687256996267578649911936273654888199719840527057033776478411200456761933787851764080013617448004831758915670437519892699753483715598785236936031446758414092505237368851151061821692590741048204076825360144014446315333759719725645155367648239547925827463163953186701862331950397669315561366796666039614453281328422851264184451487866540724075176199204209255532547491464967458344776405487223397327928778279623943547154483322513336560116388783210263284455811953005079589123218137427284310506513796097312055232331890093853722229846594345158122018766636188816550449478460092559270605816398431405381037485061928707957235992764580481218366717358392297804259020028546355501720084646836444794801216740297966026355844312547877032034382889373169361081492401167618873982553243263974918020702338299390974332245422824969705523027240004677941089345456349186371366495109083805950233495746520908154019799148310164148436658925171925916164354797050934045360893659396656553443751611639083090803174465828901147745817444780660266126912129897804679480274384053348680569421022898072689105218661683864720516128611168496961419127981957990404996158146046751117633720510881734612601669329446763567677246605900957702338575105747220238887164887820985221336132285632115416624918002399583216412442103382406139172329841984447135193768137399440354858845776779887650632205712168681038160071500382730051646809975898724941159825951874496922140855883971553784796028244677186981108404767769561865926544641687007697946239543953353202268983689724621448576582149680077236128939693007211075082794122751274575575138077555555111008547456682779663441201209499959377807470551215123194358101377244544133004013300127807720731647033840265544348939722499213475875693250402200640742493560760001569059448576531902040312847703183068261727251 12010084977284132239824090956029035000633292479252604953952900012666237385840602667282043483881201475542889095495999290073066319485998095184686016980689390001628955777975215957432419986453337120883501668381963461067243690249957288883323169561939355770836861440665912027887544424154273958021224259790626484863112701460305866303360881491757471375480641367296650455904256349760004037583562697160993046689980703695562875648061685950900063917549485961483819507377254824634515983580290606825125566525050383709329337979452484795073870936257778639385620346597375907669430545816001268033377888680652850549568466303011173453165509844103246669684404606627476014388598113617841180620596328192863924131200870540447415672477972924870986793195348443524943641870872809622221084466459260381585557575561249630686435086178402990048765184521906096948037143732091043096846999686262891779639750276105161204844320820520708446899912789068563589504076496705317499677600404177854059383028773035869041977494979239854955322590582509069477961794940387324497791581778571929759322813518915460092729102723931896458775089462788954036679390695524797188689593113560543925533186157618924669712517184982971211917931988297064165158641343557295856880505737195908455381087955078463306112918637507662446461303731770280436837251428361840181040314869665035854013136108302881832258851922277969404517589532566062884972524747855790842126028935340162534366017476125162089836240306734169694358387113421965322006972289443210791543591470806956742015913681167499339974100602573058283339442536198952942549396341561902447856596692596960597265832747371435092334689152073086071914843781883014382804178840564682088250429082964771579063937958519682257648757514046174556448334447713272254135138914814583232117262353043808752093835809388297048294083625113239123111086643692575667452492006075158112938952641683971081797198308080989235272489559317279486242360138220638783000658525719973948537712753967198992465947754888572761123515655183611197923596437375609599832344852270236091435885225690713228129085227571518855229833297345630898078206946756592764763577485675009069478077885404207385582747600929759064276326184350604410214135176172785652445396002135655415500685302312704270525327484368921104772857316710952729005955348998006011158811282580620625130560193562101154481156539138612568830965766416255378 19432725701020234748086619372818045778213908472317416320937120885945115858600438909890517917863031276926867140666544828401699689487045895415758493005583533182289703179498430649506594420381737416586828312108649994773153352175571853708920919419653685154177211853492084924121804625758566663031574453408170939982469756153517475717615628649780051606393833069110939708978328056356628802830809913219907308227664635917913045426353876352749142132141691453776467008920777548003597173547980465069842683451974816747374765110101372171532907011846776195784355786434030367356687542083579917945314162335541050269408993360044949931576710300865180457536168686641093462393429872533511618140489027946347639729986107476478862430892065430108355644346410265217534382919076886447581228480905575715345277301206404998334674634104230453212718371223768428898434813047652409893513039300716173108062601540289612692710861544595884646104122044601111080969043955050093905164823801505782837662652716583023525300008315799971344105800845793525289914800019976447715929009062882436273118910830970692424619196577654126305369434620910972803315579512075246667149685672831149741931617562999962154774445892940207204682512469515430882517033641361554876909052092697628540027924399873264522853216603534018290773851608802314819726624597722921673441482488539018407256400083220902534597151313252301649940414502271585912212529425796880187582378121711529029475101282075395585582761214888189493506697277570401980932144215359375146340642404852317635675310337720943091585739685663861457805271437346698759994177001828029359986494497276440871649886096052004513357587224762191290576527646603530511415347337526101216232387073369767737209984709637315978159639248658776225777781211280949500741039872516921807223009573282695916981656794609633180579715740529864041113486226908988109555874412214330442780937088819164849934597748435848081049269446967911691954528819258798854501041255771620758513611478908358818417822251810713617007487208968407226168273624356718004600114414136162636077572233388659467673038580773787838919557918794207480227887023992721704456584696750091863600829159979782523660303156040767611733008964014045611423635135550593122996611125330013516877929846445708283825455292089652751806697582255301668728454562473881704409213483221363118691320195131160603057688441178925416534148834677982629 31442810678304366987910710328847080778847200951570021274890020898611353244441041577172561401744232752469756236162544118474766008973043990600444509986272923183918658957473646606939014406835074537470329980490613455840397042425529142592244088981593040925014073294157996952009349049912840621052798713198797424845582457613823342020976510141537522981874474436407590164882584406116632840414372610380900354917645339613475921074415562303649206049691177415260286516298032372638113157128271071894968249977025200456704103089553856966606777948104554835169976133031406275026118087899581185978692051016193900818977459663056123384742220144968427127220573293268569476782027986151352798761085356139211563861186978016926278103370038354979342437541758708742478024789949696069802312947364836096930834876767654629021109720282633443261483555745674525846471956779743452990360038986979064887702351816394773897555182365116593093004034833669674670473120451755411404842424205683636897045681489618892567277503295039826299428391428302594767876594960363772213720590841454366032441724349886152517348299301586022764144524083699926839994970207600043855839278786391693667464803720618886824486963077923178416600444457812495047675674984918850733789557829893536995409012354951727828966135241041680737235155340572595256563876026084761854481797358204054261269536191523784366856003235530271054458004034837648797185054173652671029708407057051691563841118758200557675419001521622359187865084390992367302939116504802585937884233875659274377691224018888442431559840288236919741144713973545651702543573343389931807843091189873401468915718843423439605692276376835277362491371428486544894219526178090783304482816156334539316273922668156998235808396762704950782226115658994221754876178787331505039340271926326504669075492603997930228873799365643103164224572870601563777008366418289488555719889730503135931731796056516837316321759006285191178196888957479437637501699781491594707051324232875557810883770006699286378131002864152018424091870061732327604432459266406398727513457459079372695802123808345306694149391216139838378306093970749314469220162182425100933078907045383989909243050756970526676009335148364650021637770311723378775442007127465668932378615148758412554350782776458573856579554898966254397734409911471887715568024765801983743821880388693261757538844980317537985365114601094238007 50875536379324601735997329701665126557061109423887437595827141784556469103041480487063079319607264029396623376829088946876465698460089886016203002991856456366208362136972077256445608827216811954057158292599263450613550394601100996301165008401246726079191285147650081876131153675671407284084373166606968364828052213767340817738592138791317574588268307505518529873860912462473261643245182523600807663145309975531388966500769438656398348181832868869036753525218809920641710330676251536964810933429000017204078868199655229138139684959951331030954331919465436642382805629983161103924006213351734951088386453023101073316318930445833607584756741979909662939175457858684864416901574384085559203591173085493405140534262103785087698081888168973960012407709026582517383541428270411812276112177974059627355784354386863896474201926969442954744906769827395862883873078287695237995764953356684386590266043909712477739108156878270785751442164406805505310007248007189419734708334206201916092577511610839797643534192274096120057791394980340219929649599904336802305560635180856844941967495879240149069513958704610899643310549719675290522988964459222843409396421283618848979261408970863385621282956927327925930192708626280405610698609922591165535436936754824992351819351844575699028009006949374910076290500623807683527923279846743072668525936274744686901453154548782572704398418537109234709397583599449551217290785178763220593316220040275953261001762736510548681371781668562769283871260720161961084224876280511592013366534356609385523145579973900781198949985410892350462537750345217961167829585687149842340565604939475444119049863601597468653067899075090075405634873515616884520715203229704307053483907377794314213968036011363727008003896870275171255617218659848426846563281499609200586057149398607563409453515106172967205338059097510551886564240830503818998500826819322300781666393804952685397371028453253102870151417776738236492002741037263215465564935711783916629301592258509999995138490073120425650260143686089045609032573680542561363591029692468032163475162389119094533068949134934045858533980994742036173676746879175192796679736205363772432903353913011294287742344112378695633061405447273971898438618252795682449256544995204120838176238068548226608386252481221556066462864473945769419977238249023346862513200583824422360596533421496463401899263435772220636 82318347057628968723908040030512207335908310375457458870717162683167822347482522064235640721351496781866379612991633065351231707433133876616647512978129379550127021094445723863384623234051886491527488273089876906453947437026630138893409097382839767004205358441808078828140502725584247905137171879805765789673634671381164159759568648932855097570142781941926120038743496868589894483659555133981708018062955315144864887575185000960047554231524046284297040041516842293279823487804522608859779183406025217660782971289209086104746462908055885866124308052496842917408923717882742289902698264367928851907363912686157196701061150590802034711977315273178232415957485844836217215662659740224770767452360063510331418637632142140067040519429927682702490432498976278587185854375635247909206947054741714256376894074669497339735685482715117480591378726607139315874233117274674302883467305173079160487821226274829070832112191711940460421915284858560916714849672212873056631754015695820808659855014905879623942962583702398714825667989940703992143370190745791168338002359530742997459315795180826171833658482788310826483305519927275334378828243245614537076861225004237735803748372048786564037883401385140420977868383611199256344488167752484702530845949109776720180785487085617379765244162289947505332854376649892445382405077204947126929795472466268471268309157784312843758856422571946883506582637773102222246999192235814912157157338798476510936420764258132907869236866059555136586810377224964547022109110156170866391057758375497827954705420262137700940094699384438002165081323688607892975672676877023243809481323782898883724742139978432746015559270503576620299854399693707667825198019386038846369757830045951312449776432774068677790230012529269393010493397447179931885903553425935705255132642002605493638327314471816070369562631968112115663572607248793307554220716549825436713398189861469522713692787459538294048348306734217674129504440818754810172616259944659474440185362265209286373269492937272444074352013747821373213465032946948960091104487151547404859277286197464401227218340351073884236840074965491350642896909061600293729758643250747762342146404669981820963751679260743345654699175758997350673880625380261351381635160143962533392527020845006800464965807380187810464197274385417657135545263014825330606335080972517684118135378401814001387264378036866458643 133193883436953570459905369732177333892969419799344896466544304467724291450524002551298720040958760811263002989820722012227697405893223762632850515969985835916335383231417801119830232061268698445584646565689140357067497831627731135194574105784086493083396643589458160704271656401255655189221545046412734154501686885148504977498160787724172672158411089447444649912604409331063156126904737657582515681208265290676253854075954439616445902413356915153333793566735652213921533818480774145824590116835025234864861839488864315242886147868007216897078639971962279559791729347865903393826704477719663802995750365709258270017380081036635642296734057253087895355132943703521081632564234124310329971043533149003736559171894245925154738601318096656662502840208002861104569395803905659721483059232715773883732678429056361236209887409684560435336285496434535178758106195562369540879232258529763547078087270184541548571220348590211246173357449265366422024856920220062476366462349902022724752432526516719421586496775976494834883459384921044212073019790650127970643562994711599842401283291060066320903172441492921726126616069646950624901817207704837380486257646287856584783009781019649949659166358312468346908061092237479661955186777675075868066282885864601712532604838930193078793253169239322415409144877273700128910328357051690199598321408741013158169762312333095416463254841109056118215980221372551773464289977414578132750473558838752464197422526994643456550608647728117905870681637945126508106333986436682458404424292732107213477851000236038482139044684795330352627619074033825854143502262564173086150046928722374327843792003580030214668627169578666695705489273209324552345913222615743153423241737423745626663744468785432404798233909399544564266110616107028358732466834925544905841189791401213057047780829577989037574900691065622667550136848079297126552721543369147737495064583666422208111063815912791396918499724510955910621507181856018025638181195656443391069486954523719286368407983010392869724612157433910418822497606627491521454695516844015437022752448586583495760287289486007930095374055960233386816573655940775486526438379456111534775049758582993115251494023373122041287760581206271322572319243633057033830891705139166654230703258913555027073352059861409366530660138859363426555522501263848677468848281556342106478731911823310464789163641472638679279 215512230494582539183813409762689541228877730174802355337261467150892113798006524615534360762310257593129382602812355077578929113326357639249498028948115215466462404325863524983214855295320584937112134838779017263521445268654361274087983203166926260087602002031266239532412159126839903094358716926218499944175321556529669137257729436657027769728553871389370769951347906199653050610564292791564223699271220605821118741651139440576493456644880961437630833608252494507201357306285296754684369300241050452525644810778073401347632610776063102763202948024459122477200653065748645683729402742087592654903114278395415466718441231627437677008711372526266127771090429548357298848226893864535100738495893212514067977809526388065221779120748024339364993272706979139691755250179540907630690006287457488140109572503725858575945572892399677915927664223041674494632339312837043843762699563702842707565908496459370619403332540302151706595272734123927338739706592432935532998216365597843533412287541422599045529459359678893549709127374861748204216389981395919138981565354242342839860599086240892492736830924281232552609921589574225959280645450950451917563118871292094320586758153068436513697049759697608767885929475848678918299674945427560570597128834974378432713390326015810458558497331529269920741999253923592574292733434256637326528116881207281629438071470117408260222111263681003001722562859145653995711289169650393044907630897637228975133843291252776364419845513787673042457492015170091055128443096592853324795482051107605041432556420498176183079139384179768354792700397722433747119174939441196329959528252505273211568534143558462960684186440082243316005343672903032220171111242001781999792999567469696939113520901559501082588463921928813957276604013554208290618370388351480611096322433403818550686108144049805107944463323033734783213709455328090434106942259918973174208462773527891730824756603372329690966848031245173584751011622674772835810797455601102865509672316788928572741677475947665313798964171181731792035962639574440481545800003995562841882029734784047896987505629837081814332214130925724737459470565002375780256197022706859297117196163252974936215245702633865386942459756965268673246199869013318385212526865283129187623230279758561827538317867241597176994857413244781083691067764278674008075183362528859790596867290225124466176428019509505137922 348706113931536109643718779494866875121847149974147251803805771618616405248530527166833080803269018404392385592633077089806626519219581401882348544918101051382797787557281326103045087356589283382696781404468157620588943100282092409282557308951012753170998645620724400236683815528095558283580261972631234098677008441678174114755890224381200441886964960836815419863952315530716206737469030449146739380479485896497372595727093880192939359058237876590964627174988146721122891124766070900508959417076075687390506650266937716590518758644070319660281587996421402036992382413614549077556107219807256457898864644104673736735821312664073319305445429779354023126223373251878380480791127988845430709539426361517804536981420633990376517722066120996027496112914982000796324645983446567352173065520173262023842250932782219812155460302084238351263949719476209673390445508399413384641931822232606254643995766643912167974552888892362952768630183389293760764563512652998009364678715499866258164720067939318467115956135655388384592586759782792416289409772046047109625128348953942682261882377300958813640003365774154278736537659221176584182462658655289298049376517579950905369767934088086463356216118010077114793990568086158580254861723102636438663411720838980145245995164946003537351750500768592336151144131197292703203061791308327526126438289948294787607833782450503676685366104790059119938543080518205769175579147064971177658104456475981439331265818247419820970454161515790948328173653115217563234777083029535783199906343839712254910407420734214665218184068975098707420319471756259601262677202005369416109575181227647539412326147138493175352813609660910011710832946112356772517024464617525153216241304893442565777265370344933487386697831328358521542714629661236649350837223277025516937512224805031607733888973627794145519364014099357450763846303407387560659663803288120911703527357194313938935820419285121087885347755756129495372518804530790861448978651257546256579159271312647859110085458958058183523576328615642210858460246201932003000495520839578278904782183370631392747792919323089744427588186885958124276044220943151266782635402162970831892245921835968051466739726006987428230220338171539995818519112646375419043418570422295841853933538672116854611669927103006543525517552104144510246590265542522685544031644085201897075599202048434930965591660982143817201 564218344426118648827532189257556416350724880148949607141067238769508519046537051782367441565579275997521768195445432167385555632545939041131846573866216266849260191883144851086259942651909868319808916243247174884110388368936453683370540512117939013258600647651990639769095974654935461377938978898849734042852329998207843252013619661038228211615518832226186189815300221730369257348033323240710963079750706502318491337378233320769432815703118838028595460783240641228324248431051367655193328717317126139916151461045011117938151369420133422423484536020880524514193035479363194761285509961894849112801978922500089203454262544291510996314156802305620150897313802800235679329018021853380531448035319574031872514790947022055598296842814145335392489385621961140488079896162987474982863071807630750163951823436508078388101033194483916267191613942517884168022784821236457228404631385935448962209904263103282787377885429194514659363902917513221099504270105085933542362895081097709791577007609361917512645415495334281934301714134644540620505799753441966248606693703196285522122481463541851306376834290055386831346459248795402543463108109605741215612495388872045225956526087156522977053265877707685882679920043934837498554536668530197009260540555813358577959385490961813995910247832297862256893143385120885277495795225564964852654555171155576417045905252567911936907477368471062121661105939663859764886868316715364222565735354113210414465109109500196185390299675303463990785665668285308618363220179622389107995388394947317296342963841232390848297323453154867062213019869478693348381852141446565746069103433732920750980860290696956136037000049743153327716176619015388992688135706619307153009240872363139504890786271904434569975161753257172478819318643215444939969207611628506128033834658208850158419997117677599253463827337133092233977555758735477994766606063207094085911990130722205669760577022657450778852195787001303080123530427205563697259776106858649122088831588101576431851762934905723497322540499797374002894422885776372484546295524835141120786811918154679289735298549160171558759802317811682861735514785945527047038832424869830129009442085088942987681985428640852815172680095136808669064718981659693804255945435705425029477163818430678682149987794344603720520374965348925593937658029821196693619215006614061687672466492273559397142019680491648955123 912924458357654758471250968752423291472572030123096858944873010388124924295067578949200522368848294401914153788078509257192182151765520443014195118784317318232057979440426177189305030008499151702505697647715332504699331469218546092653097821068951766429599293272715040005779790183031019661519240871480968141529338439886017366769509885419428653502483793063001609679252537261085464085502353689857702460230192398815863933105327200962372174761356714619560087958228787949447139555817438555702288134393201827306658111311948834528670128064203742083766124017301926551185417892977743838841617181702105570700843566604762940190083856955584315619602232084974174023537176052114059809809149842225962157574745935549677051772367656045974814564880266331419985498536943141284404542146434042335036137327804012187794074369290298200256493496568154618455563661994093841413230329635870613046563208168055216853900029747194955352438318086877612132533100902514860268833617738931551727573796597576049741727677301235979761371630989670318894300894427333036795209525488013358231822052150228204384363840842810120016837655829541110082996908016579127645570768261030513661871906451996131326294021244609440409481995717762997473910612020996078809398391632833447923952276652338723205380655907817533261998333066454593044287516318177980698857016873292378780993461103871204653739035018415613592843473261121241599649020182065534062447463780335400223839810589191853796374927747616006360753836819254939113839321400526181597997262651924891195294738787029551253371261966605513515507522129965769633339341234952949644529343451935162178678614960568290393186437835449311389813659404063339427009565127745765205160171236832306225482177256582070668051642249368057361859584585531000362033272876681589320044834905531644971346883013881766153886091305393398983191351232449684741402062142865555426269866495214997615517487916519608696397441942571866737543542757432575496049231736354558708754758116195378667990859414224290961848393863781680846116828413016213752883131978304487546791045674719399691594101525310682483091468483261303187390504697640986011559006888678313821467827032800960901688006924911039148725154647840243402900433308348664883238094306069223299364006127720871331097357102795536761657721447610264045892517453070104184248295363719379163246650699263584748065694321994328107611341473792772324 1477142802783773407298783158009979707823296910272046466085940249157633443341604630731567963934427570399435921983523941424577737784311459484146041692650533585081318171323571028275564972660409020022314613890962507388809719838154999776023638333186890779688199940924705679774875764837966481039458219770330702184381668438093860618783129546457656865118002625289187799494552758991454721433535676930568665539980898901134355270483560521731804990464475552648155548741469429177771387986868806210895616851710327967222809572356959952466821497484337164507250660038182451065378453372340938600127127143596954683502822489104852143644346401247095311933759034390594324920850978852349739138827171695606493605610065509581549566563314678101573111407694411666812474884158904281772484438309421517317899209135434762351745897805798376588357526691052070885647177604511978009436015150872327841451194594103504179063804292850477742730323747281392271496436018415735959773103722824865094090468877695285841318735286663153492406787126323952253196015029071873657301009278929979606838515755346513726506845304384661426393671945884927941429456156811981671108678877866771729274367295324041357282820108401132417462747873425448880153830655955833577363935060163030457184492832465697301164766146869631529172246165364316849937430901439063258194652242438257231435548632259447621699644287586327550500320841732183363260754959845925298949315780495699622789575164702402268261484037247812191751053512122718929899504989685834799961217442274313999190683133734346847596335103198996361812830975284832831846359210713646298026381484898500908247782048693489041374046728532405447426813709147216667143186184143134757893295877856139459234723049619721575558837914153802627337021337842703479181351916092126529289252446534037773005181541222731924573883208982992652447018688365541918718957820878343550192875929702309083527507618638725278456974464600022645589739329758735655619579658941918255968530864974844500756822447515800722813611328769505178168657328210390216647306017754676972093086570509860520478406019679989972218390017643432861947192822509323847747073792834205360860300251902631089911130092013854026830710583288693058575580528445157333947957075965763027555309441833145900808261175533474218911645515792213984566267482801995698121906325184916072782461657313325272420532186595553725249631021965441727447 2390067261141428165770034126762402999295868940395143325030813259545758367636672209680768486303275864801350075771602450681769919936076979927160236811434850903313376150763997205464870002668908171724820311538677839893509051307373545868676736154255842546117799234197420719780655555020997500700977460641811670325911006877979877985552639431877085518620486418352189409173805296252540185519038030620426368000211091299950219203588887722694177165225832267267715636699698217127218527542686244766597904986103529794529467683668908786995491625548540906591016784055484377616563871265318682438968744325299060254203666055709615083834430258202679627553361266475568498944388154904463798948636321537832455763184811445131226618335682334147547925972574677998232460382695847423056888980455855559652935346463238774539539972175088674788614020187620225504102741266506071850849245480508198454497757802271559395917704322597672698082762065368269883628969119318250820041937340563796645818042674292861891060462963964389472168158757313622572090315923499206694096218804417992965070337807496741930891209145227471546410509601714469051512453064828560798754249646127802242936239201776037488609114129645741857872229869143211877627741267976829656173333451795863905108445109118036024370146802777449062434244498430771442981718417757241238893509259311549610216542093363318826353383322604743164093164314993304604860403980027990833011763244276035023013414975291594122057858964995428198111807348941973869013344311086360981559214704926238890385977872521376398849706365165601875328338497414798601479698551948599247670910828350436070426460663654057331767233166367854758816627368551280006570195749270880523098456049092971765460205226876303646226889556403170684698880922428234479543385188968808118609297281439569417976528424236613690727769300288386051430210039597991603460359883021209105619145796197524081143025106555244887153371906542594512327282872516168231115628890678272814677285623091039879424813306930025013775459722633286859014774156623406430400189149732981459639877616184579920170000121205300654701481486126694165134583327206964833758632799722883674681768078935432050812818098938765065979435737936533301978480961753505998831195170271832250854673447960866772139358532636269755673303237239824248612160000255065802306154620548635451945708308012588857168597880917548053357242363439234499771 3867210063925201573068817284772382707119165850667189791116753508703391810978276840412336450237703435200785997755126392106347657720388439411306278504085384488394694322087568233740434975329317191747134925429640347282318771145528545644700374487442733325805999175122126399555531319858963981740435680412142372510292675316073738604335768978334742383738489043641377208668358055243994906952573707550995033540191990201084574474072448244425982155690307819915871185441167646304989915529555050977493521837813857761752277256025868739462313123032878071098267444093666828681942324637659621039095871468896014937706488544814467227478776659449774939487120300866162823865239133756813538087463493233438949368794876954712776184898997012249121037380269089665044935266854751704829373418765277076970834555598673536891285869980887051376971546878672296389749918871018049860285260631380526295948952396375063574981508615448150440813085812649662155125405137733986779815041063388661739908511551988147732379198250627542964574945883637574825286330952571080351397228083347972571908853562843255657398054449612132972804181547599396992941909221640542469862928523994573972210606497100078845891934238046874275334977742568660757781571923932663233537268511958894362292937941583733325534912949647080591606490663795088292919149319196304497088161501749806841652090725622766448053027610191070714593485156725487968121158939873916131961079024771734645802990139993996390319343002243240389862860861064692798912849300772195781520432147200552889576661006255723246446041468364598237141169472699631433326057762662245545697292313248936978674242712347546373141279894900260206243441077698496673713381933414015280991751926949111224694928276496025221785727470556973312035902260270937958724737105060934647898549727973607190981709965459345615301652509271378703877228727963533522179317703899552655812021725899833164670532725193970165610346371142617157917022202274903886735208549620191070645816488065884380181635754445825736589071051402792037183431484833796647047495167487658431732964186694440440648406140885290626919871503770127027081776149716288681505706592557089035542068330838063140723948190952619092810146321225226360554061490198663332779152246237595278409982889794012672947619708169743974584948753032038233178427483057061500428060945733551524728169965325914129589130067513101778606873385404676227218 6257277325066629738838851411534785706415034791062333116147566768249150178614949050093104936540979300002136073526728842788117577656465419338466515315520235391708070472851565439205304977998225363471955236968318187175827822452902091513377110641698575871923798409319547119336186874879961482441413141053954042836203682194053616589888408410211827902358975461993566617842163351496535092471611738171421401540403081501034793677661335967120159320916140087183586822140865863432208443072241295744091426823917387556281744939694777526457804748581418977689284228149151206298506195902978303478064615794195075191910154600524082311313206917652454567040481567341731322809627288661277337036099814771271405131979688399844002803234679346396668963352843767663277395649550599127886262399221132636623769902061912311430825842155975726165585567066292521893852660137524121711134506111888724750446710198646622970899212938045823138895847878017932038754374257052237599856978403952458385726554226281009623439661214591932436743104640951197397376646876070287045493446887765965536979191370339997588289263594839604519214691149313866044454362286469103268617178170122376215146845698876116334501048367692616133207207611711872635409313191909492889710601963754758267401383050701769349905059752424529654040735162225859735900867736953545735981670761061356451868632818986085274406410932795813878686649471718792572981562919901906964972842269047769668816405115285590512377201967238668587974668210006666667926193611858556763079646852126791779962638878777099645295747833530200112469507970114430034805756314610844793368203141599373049100703376001603704908513061268114965060068446249776680283577682684895804090207976042082990155133503372328868012617026960143996734783182699172438268122294029742766507847009413176608958238389695959306029421809559764755307438767561525125639677586920761761431167522097357245813557831749215052763718277685211670244305074791072117850837440298463885323102111156924259606449061375850750364530774036078896198205641457203077447684317220639891372841802879020360818406262090591281621352989896821192216359476923253515264339392279972710223836409773495191536766289891384158789582059161759662532542451952169331610347416509427529264656337754879445086978240806013730258251990271862481790587483312127302734215566282186976673878273338502986757727948430649831964115748843910726989 10124487388991831311907668696307168413534200641729522907264320276952541989593225890505441386778682735202922071281855234894465235376853858749772793819605619880102764794939133672945739953327542555219090162397958534458146593598430637158077485129141309197729797584441673518891718194738925464181848821466096415346496357510127355194224177388546570286097464505634943826510521406740529999424185445722416435080595071702119368151733784211546141476606447907099458007582033509737198358601796346721584948661731245318034022195720646265920117871614297048787551672242818034980448520540637924517160487263091090129616643145338549538791983577102229506527601868207894146674866422418090875123563308004710354500774565354556778988133676358645790000733112857328322330916405350832715635817986409713594604457660585848322111712136862777542557113944964818283602579008542171571419766743269251046395662595021686545880721553493973579708933690667594193879779394786224379672019467341120125635065778269157355818859465219475401318050524588772222662977828641367396890674971113938108888044933183253245687318044451737492018872696913263037396271508109645738480106694116950187357452195976195180392982605739490408542185354280533393190885115842156123247870475713652629694320992285502675439972702071610245647225826020948028820017056149850233069832262811163293520723544608851722459438542986884593280134628444280541102721859775823096933921293819504314619395255279586902696544969481908977837529071071359466839042912630752544600078999327344669539299885032822891741789301894798349610677442814061468131814077273090339065495454848310027774946088349150078049792956168375171303509523948273353996959616098911085081959902991194214850061779868354089798344497517117308770685442970110396992859399090677414406396737386783799939948355155304921331074318831143459184667495525058647818995290820314417243189247997190410484090556943185218374064648827828828161327277065976004586045989918654955968918599222808639788084815821676486953601825438870933381637126290999724495179484708298323105805989573460801466812402975881908541224493666948219298135626639542196770045984837061745765904740611558332260714480844003251599728380386986023086603942150832664389499662747022807674639227548892118034597948975757704843200743303900714969014966369188803162276512015738501402048238664417116346858015943751610570989134248586954207 16381764714058461050746520107841954119949235432791856023411887045201692168208174940598546323319662035205058144808584077682582813033319278088239309135125855271810835267790699112151044931325767918691045399366276721633974416051332728671454595770839885069653595993761220638227905069618886946623261962520050458182700039704180971784112585798758398188456439967628510444352684758237065091895797183893837836620998153203154161829395120178666300797522587994283044829722899373169406801674037642465676375485648632874315767135415423792377922620195716026476835900391969241278954716443616227995225103057286165321526797745862631850105190494754684073568083435549625469484493711079368212159663122775981759632754253754400781791368355705042458964085956624991599726565955949960601898217207542350218374359722498159752937554292838503708142681011257340177455239146066293282554272855157975796842372793668309516779934491539796718604781568685526232634153651838461979528997871293578511361620004550166979258520679811407838061155165539969620039624704711654442384121858879903645867236303523250833976581639291342011233563846227129081850633794578749007097284864239326402504297894852311514894030973432106541749392965992406028600198307751649012958472439468410897095704042987272025345032454496139899687960988246807764720884793103395969051503023872519745389356363594936996865849475782698471966784100163073114084284779677730061906763562867273983435800370565177415073746936720577565812197281078026134765236524489309307679725851454136449501938763809922537037537135424998462080185412928491502937570391883935132433698596447683076875649464350753782958306017436490136363577970198050034280537298783806889172167879033277205005195283240682957810961524477261305505468625669282835260981693120420180914243746799960408898186744851264227360496128390908214492106263086583773458672877741076178674356770094547656297648388692400271137782926513040498405632351857048122436883430217118841292020710379732899394533877197527237318132599474949829579842767748202801942863801928938214478647792452481162285218665066473190162577483563769411514495103562795712034385377117034455989741150385053523797480770735387410389310439548745685619146394103001995999847079256450336939295565303771563121576189781771435101452733575763196759602449681316105896492078297925478075926512002920103104585964374401442535104883092497681196 26506252103050292362654188804149122533483436074521378930676207322154234157801400831103987710098344770407980216090439312577048048410173136838012102954731475151913600062729832785096784884653310473910135561764235256092121009649763365829532080899981194267383393578202894157119623264357812410805110783986146873529196397214308326978336763187304968474553904473263454270863206164977595091319982629616254271701593224905273529981128904390212442274129035901382502837304932882906605160275833989187261324147379878192349789331136070058298040491810013075264387572634787276259403236984254152512385590320377255451143440891201181388897174071856913580095685303757519616159360133497459087283226430780692114133528819108957560779502032063688248964819069482319922057482361300793317534035193952063812978817383084008075049266429701281250699794956222158461057818154608464853974039598427226843238035388689996062660656045033770298313715259353120426513933046624686359201017338634698636996685782819324335077380145030883239379205690128741842702602533353021839274796829993841754755281236706504079663899683743079503252436543140392119246905302688394745577391558356276589861750090828506695287013579171596950291578320272939421791083423593805136206342915182063526790025035272774700785005156567750145335186814267755793540901849253246202121335286683683038910079908203788719325288018769583065246918728607353655187006639453553158840684856686778298055195625844764317770291906202486543649726352149385601604279437120061852279804850781481119041238648842745428779326437319796811690862855742552971069384469157025471499194051295993104650595552699903861008098973604865307667087494146323388277496914882717974254127782024471419855257063109037047609306021994378614276154068639393232253841092211097595320640484186744208838135100006569148691570447222051673676773758611642421277668168561390595917546018091738066781738945635585489511847575340869326566959628923024127022929420135773797260939309602541539182618693019203724271734424913820762961479894039202526438043286637236537584453782025941963752031068042355098703801977230717630812630730202337908804431361954096201755645890996611856058195251579390661989038819935731708705750336253834660389346742003473144613934792852663681156174138757529139944653476879663911728617416050504909058768590313663979477974750667337219451443980318153053106094017341084635403 42888016817108753413400708911991076653432671507313234954088094367355926326009575771702534033418006805613038360899023390259630861443492414926251412089857330423724435330520531897247829815979078392601180961130511977726095425701096094500986676670821079337036989571964114795347528333976699357428372746506197331711896436918489298762449348986063366663010344440891964715215890923214660183215779813510092108322591378108427691810524024568878743071651623895665547667027832256076011961949871631652937699633028511066665556466551493850675963112005729101741223473026756517538357953427870380507610693377663420772670238637063813239002364566611597653663768739307145085643853844576827299442889553556673873766283072863358342570870387768730707928905026107311521784048317250753919432252401494414031353177105582167827986820722539784958842475967479498638513057300674758136528312453585202640080408182358305579440590536573567016918496828038646659148086698463148338730015209928277148358305787369491314335900824842291077440360855668711462742227238064676281658918688873745400622517540229754913640481323034421514486000389367521201097539097267143752674676422595602992366047985680818210181044552603703492040971286265345450391281731345454149164815354650474423885729078260046726130037611063890045023147802514563558261786642356642171172838310556202784299436271798725716191137494552281537213702828770426769271291419131283220747448419554052281490995996409941732844038842923064109461923633227411736369515961609371159959530702235617568543177412652667965816863572744795273771048268671044474006954861040960603932892647743676181526245017050657643966404991041355444030665464344373422558034213666524863426295661057748624860452346349720005420267546471639919781622694308676067514822785331517776234884230986704617736321844857833376052066575612959888168880021698226194736341046302466774591902788186285723079387334327985760649630501853909824972591980780072249459812850352892638552960019982274438577152570216730961589867024388770592541322661787405328380907088566174752063101574478423126037249733108828288866379460794487042327125833765133620838816739071130657745387041381665379855676022314778072378349259484477394324896730356836656389193821259923481553230358156435244277750328539300575046106210455427108488219865731821014955260668611589457553901262670257322556029944692554495641198900433582316599 69394268920159045776054897716140199186916107581834613884764301689510160483810976602806521743516351576021018576989462702836678909853665551764263515044588805575638035393250364682344614700632388866511316522894747233818216435350859460330518757570802273604420383150167008952467151598334511768233483530492344205241092834132797625740786112173368335137564248914155418986079097088192255274535762443126346380024184603013701221791652928959091185345780659797048050504332765138982617122225705620840199023780408389259015345797687563908974003603815742177005611045661543793797761190412124533019996283698040676223813679528264994627899538638468511233759454043064664701803213978074286386726115984337365987899811891972315903350372419832418956893724095589631443841530678551547236966287595446477844331994488666175903036087152241066209542270923701657099570875455283222990502352052012429483318443571048301642101246581607337315232212087391767085662019745087834697931032548562975785354991570188815649413280969873174316819566545797453305444829771417698120933715518867587155377798776936258993304381006777501017738436932507913320344444399955538498252067980951879582227798076509324905468058131775300442332549606538284872182365154939259285371158269832537950675754113532821426915042767631640190358334616782319351802688491609888373294173597239885823209516180002514435516425513321864602460621557377780424458298058584836379588133276240830579546191622254706050614330749125550653111649985376797337973795398729433012239335553017098687584416061495413394596190010064592085461911124413597445076339330197986075432086699039669286176840569750561504974503964646220751697752958490696810835531128549242837680423443082220044715709409458757053029573568466018534057776762948069299768663877542615371555524715173448826574456944864402524743637022835011561845653780309868616014009214863857370509448806278023789861126279963571250161478077194779151539551609703096376482742270488666435813899329584815977759771263235934685861601449302591355502802555826607854818950375203411289647555356504365089789280801151183387570181438025204673139756563967471529643248101025226859501032932378277235913871273894168734367388079420209103030647066610671316778540563263396626167165151009098925433924467296829714990759687335091020216837281782325924014029258925253437031876013337594542007473925010707548747292917774666952002 112282285737267799189455606628131275840348779089147848838852396056866086809820552374509055776934358381634056937888486093096309771297157966690514927134446135999362470723770896579592444516611467259112497484025259211544311861051955554831505434241623352941457372722131123747814679932311211125661856276998541536952989271051286924503235461159431701800574593355047383701294988011406915457751542256636438488346775981122128913602176953527969928417432283692713598171360597395058629084175577252493136723413436900325680902264239057759649966715821471278746834518688300311336119143839994913527606977075704096996483918165328807866901903205080108887423222782371809787447067822651113686169005537894039861666094964835674245921242807601149664822629121696942965625578995802301156398539996940891875685171594248343731022907874780851168384746891181155738083932755957981127030664505597632123398851753406607221541837118180904332150708915430413744810106443550983036661047758491252933713297357558306963749181794715465394259927401466164768187057009482374402592634207741332556000316317166013906944862329811922532224437321875434521441983497222682250926744403547482574593846062190143115649102684379003934373520892803630322573646886284713434535973624483012374561483191792868153045080378695530235381482419296882910064475133966530544467011907796088607508952451801240151707563007874146139674324386148207193729589477716119600335581695794882861037187618664647783458369592048614762573573618604209074343311360338804172198866255252716256127593474148081360413053582809387359232959393084641919083294191238946679364979346783345467703085586801219148940908955687576195728418422835070233393565342215767701106719104139968669576161755808477058449841114937658453839399457256745367283486662874133147790408946160153444310778789722235900795703598447971450014533802008094810750350261166324145101351594464309512940513614291557010811108579048688976512143590483168625942555120841559074366859349567090416336923833452665647451468473691361948044125217614013183199857463769586041710656930982788215826530534260011676436560898819691715466882397732605150482064840096357517246419973759942615769547296208946806745737338904686497355543796967507973167734384523320107720395509165534169711674795836130290036865897790518128705057147514146938969289927536842894585777276007851864563503869703262044388491818208249268601 181676554657426844965510504344271475027264886670982462723616697746376247293631528977315577520450709957655075514877948795932988681150823518454778442179034941575000506117021261261937059217243856125623814006920006445362528296402815015162024191812425626545877755872298132700281831530645722893895339807490885742194082105184084550244021573332800036938138842269202802687374085099599170732287304699762784868370960584135830135393829882487061113763212943489761648675693362534041246206401282873333335747193845289584696248061926621668623970319637213455752445564349844105133880334252119446547603260773744773220297597693593802494801441843548620121182676825436474489250281800725400072895121522231405849565906856807990149271615227433568621716353217286574409467109674353848393364827592387369720017166082914519634058995027021917377927017814882812837654808211241204117533016557610061606717295324454908863643083699788241647382921002822180830472126188638817734592080307054228719068288927747122613162462764588639711079493947263618073631886780900072523526349726608919711378115094102272900249243336589423549962874254383347841786427897178220749178812384499362156821644138699468021117160816154304376706070499341915194756012041223972719907131894315550325237237305325689579960123146327170425739817036079202261867163625576418917761185505035974430718468631803754587223988521196010742134945943525987618187887536300955979923714972035713440583379240919353834072700341174165415685223603981006412317106759068237184438201808269814943712009535643494755009243592873979444694870517498239364159633521436932754797066045823014753879926156551780653915412920333796947426171381325767044229096470765010538787142547222188714291871165267234111479414683403676987897176220204814667052150540416748519345933661333602270885235734586638425539340621282983011860187582317963426764359476030181515610800400742333302801639894255128260972586656243468128051695200186265002425297391330225510180758679151906394096695096688600333313069922993953303546927773440621038018807838972997331358212287487153305615811335411195064006742336844896388606638961700076680125312941121584376747452906138219851683418570103115541113125418324895600386190863578179289946274947786716733887560660174633095145599263132960005027625585125609148921894429296472862983319186462096331617653289345446406570977794713969593135784735982916220603 293958840394694644154966110972402750867613665760130311562469093803242334103452081351824633297385068339289132452766434889029298452447981485145293369313481077574362976840792157841529503733855323384736311490945265656906840157454770569993529626054048979487335128594429256448096511462956934019557196084489427279147071376235371474747257034492231738738713435624250186388669073111006086190038846956399223356717736565257959048996006836015031042180645227182475246847053959929099875290576860125826472470607282189910377150326165679428273937035458684734499280083038144416469999478092114360075210237849448870216781515858922610361703345048628729008605899607808284276697349623376513759064127060125445711232001821643664395192858035034718286538982338983517375092688670156149549763367589328261595702337677162863365081902901802768546311764706063968575738740967199185244563681063207693730116147077861516085184920817969145979533629918252594575282232632189800771253128065545481652781586285305429576911644559304105105339421348729782841818943790382446926118983934350252267378431411268286807194105666401346082187311576258782363228411394400903000105556788046844731415490200889611136766263500533308311079591392145545517329658927508686154443105518798562699798720497118557733005203525022700661121299455376085171931638759542949462228197412832063038227421083604994738931551529070156881809270329674194811917477014017075580259296667830596301620566859584001617531069933222780178258797222585215486660418119407041356637068063522531199839603009791576115422297175683366803927829910582881283242927712675879434162045392606360221583011743352999802856321876021373143154589804160837277622661812980778239893861651362157383868032921075711169929255798341335441736575677461560034335637203290881667136342607493755715196014524308874326335044219730954461874721384326058237514709737196505660712151995206642815742153508546685271783695235292157104563838790669433628367852512171784584547618028718996810433618930141265980764538396685315251591052991054634221218665302742583373068869218469941521442341869671206740443303235664588104073521359432681830607377781217941893993872879898162467452965866312062347858862757229582097741734660545687263114009332310036841607956169340167264857274058969090295064491482916127277626951576810619801952609113998939226203430565353298271134481664417231637524276554191165489204 475635395052121489120476615316674225894878552431112774286085791549618581397083610329140210817835778296944207967644383684962287133598805003600071811492516019149363482957813419103466562951099179510360125497865272102269368453857585585155553817866474606033212884466727389148378342993602656913452535891980313021341153481419456024991278607825031775676852277893452989076043158210605256922326151656162008225088697149393789184389836718502092155943858170672236895522747322463141121496978142999159808217801127479495073398388092301096897907355095898190251725647387988521603879812344233806622813498623193643437079113552516412856504786892177349129788576433244758765947631424101913831959248582356851560797908678451654544464473262468286908255335556270091784559798344509997943128195181715631315719503760077382999140897928824685924238782520946781413393549178440389362096697620817755336833442402316424948828004517757387626916550921074775405754358820828618505845208372599710371849875213052552190074107323892744816418915295993400915450830571282519449645333660959171978756546505370559707443349002990769632150185830642130205014839291579123749284369172546206888237134339589079157883424316687612687785661891487460712085670968732658874350237413114113025035957802444247312965326671349871086861116491455287433798802385119368379989382917868037468945889715408749326155540050266167623944216273200182430105364550318031560183011639866309742203946100503355451603770274396945593944020826566221898977524878475278541075269871792346143551612545435070870431540768557346248622700428081120647402561234112812188959111438429374975462937899904780456771734796355170090580761185486604321851758283745788778681004198584346098159904086342945281408670481745012429633751897666374701387787743707630186482276268827357986081250258895512751874384841013937473734908966644021664279069213226687176322952395948976118543793402801813532756281891535625232615533990855698630793149903502010094728376707870903204530314026829866314077608319679268555137980764495255259237473141715580704427081505957094827058153205082401804450045572509484492680160321132758510732690722339526270741325786036382319136384436415177888971988175554477698127925524123866553060284280096753575495516829514800360002873322102050300092117068041736426548846006107092664935928300461035557821083854698744677705459459131201230660061290174081709807 769594235446816133275442726289076976762492218191243085848554885352860915500535691680964844115220846636233340420410818573991585586046786488745365180805997096723726459798605576944996066684954502895096436988810537759176208611312356155149083443920523585520548013061156645596474854456559590933009731976469740300488224857654827499738535642317263514415565713517703175464712231321611343112364998612561231581806433714651748233385843554517123198124503397854712142369801282392240996787555003124986280688408409669405450548714257980525171844390554582924751005730426132938073879290436348166698023736472642513653860629411439023218208131940806078138394476041053043042644981047478427591023375642482297272029910500095318939657331297503005194794317895253609159652487014666147492891562771043892911421841437240246364222800830627454470550547227010749989132290145639574606660378684025449066949589480177941034012925335726533606450180839327369981036591453018419277098336438145192024631461498357981766985751883196849921758336644723183757269774361664966375764317595309424246134977916638846514637454669392115714337497406900912568243250685980026749389925960593051619652624540478690294649687817220920998865253283633006229415329896241345028793342931912675724834678299562805045970530196372571747982415946831372605730441144662317842217580330700100507173310799013744065087091579336324505753486602874377242022841564335107140442308307696906043824512960087357069134840207619725772202818049151437385637942997882319897712337935314877343391215555226646985853837944240713052550530338664001930645488946788691623121156831035735197045949643257780259628056672376543233735350989647441599474420096726567018574865849946503482027937007418656451337926280086347871370327575127934735723424946998511853618618876321113701277264783204387078209429060744891935609630350970079901793778950423192837035104391155618934285946911348498804539977126827782337179372781525132259161002415673794679275994736589900014963932956971132294842146716364583806729033755549889480456138444458164077495950724427036348500495074753608544893348808174072596753681680565440341340068503557468164735198665934544786589350302727240236830850932784059795869660184669553816174293612406790417103472998854967624860147381071140595156608550957863704175797582917712466888537414459974784024514420052042948839941123548432868184337844365247199011 1245229630498937622395919341605751202657370770622355860134640676902479496897619302010105054933056624933177548388055202258953872719645591492345436992298513115873089942756418996048462629636053682405456562486675809861445577065169941740304637261786998191553760897527884034744853197450162247846462267868450053321829378339074283524729814250142295290092417991411156164540755389532216600034691150268723239806895130864045537417775680273019215354068361568526949037892548604855382118284533146124146088906209537148900523947102350281622069751745650481115002731377814121459677759102780581973320837235095836157090939742963955436074712918832983427268183052474297801808592612471580341422982624224839148832827819178546973484121804559971292103049653451523700944212285359176145436019757952759524227141345197317629363363698759452140394789329747957531402525839324079963968757076304843204403783031882494365982840929853483921233366731760402145386790950273847037782943544810744902396481336711410533957059859207089594738177251940716584672720604932947485825409651256268596224891524422009406222080803672382885346487683237543042773258089977559150498674295133139258507889758880067769452533112133908533686650915175120466941501000864974003903143580345026788749870636102007052358935856867722442834843532438286660039529243529781686222206963248568137976119200514422493391242631629602492129697702876074559672128206114653138700625319947563215786028459060590712520738610482016671366146838875717659284615467876357598438787607807107223486942828100661717856285378712798059301173230766745122578048050180901503812080268269465110172508887543162560716399791468731713324316112175134045921326178380472355797255870048530849580187841093761601732746596761831360301004079472794309437111212690706142040100895145148471687358515042099899830083813901758829409344539317614101566072848163649880013358056787104595052829740314150312337296259018363407569794906772380830889954152319175804774004371444460803219494246983800998608919755036043852361867014520045144739693611586173744781923032230384131175558648279836010349343394380683557089433842001698198852072759225896994435476524451970927105725734739142418125802839108338537493997585708793420369234577892503543992598989828369767984863020703173190895248725618999600130724643589024805131824465714921010341845598274750787626545400582679634098844399134539328908818 2014823865945753755671362067894828179419862988813598945983195562255340412398154993691069899048277471569410888808466020832945458305692377981090802173104510212596816402555024572993458696321008185300552999475486347620621785676482297895453720705707521777074308910589040680341328051906721838779471999844919793622317603196729111024468349892459558804507983704928859340005467620853827943147056148881284471388701564578697285651161523827536338552192864966381661180262349887247623115072088149249132369594617946818305974495816608262147241596136205064039753737108240254397751638393216930140018860971568478670744800372375394459292921050773789505406577528515350844851237593519058769014005999867321446104857729678642292423779135857474297297843971346777310103864772373842292928911320723803417138563186634557875727586499590079594865339876974968281391658129469719538575417454988868653470732621362672307016853855189210454839816912599729515367827541726865457060041881248890094421112798209768515724045611090286444659935588585439768429990379294612452201173968851578020471026502338648252736718258341775001060825180644443955341501340663539177248064221093732310127542383420546459747182799951129454685516168458753473170916330761215348931936923276939464474705314401569857404906387064095014582825948385118032645259684674444004064424543579268238483292511313436237456329723208938816635451189478948936914151047678988245841067628255260121829852972020678069589873450689636397138349656924869096670253410874239918336499945742422100830334043655888364842139216657038772353723761105409124508693539127690195435201425100500845369554837186420340976027848141108256558051463164781487520800598477198922815830735898477353062215778101180258184084523041917708172374407047922244172834637637704653893719514021469585388635779825304286908293242962503721344954169668584181467866627114073072850393161178260213987115687225498811141836236145191189906974279553905963149115154734849599453280366181050703234458179940772130903761901752408436168596048275595034220149750030631908859418982954811167524059143354589618894236743188857629686187523682263639193412827729454462600211723117905471892315085041869658362633690041122597289867245893462974185408871504910334409702462827224735609723168084244331490405334169957463834900441171942517598713003129380985125870112694802830575385341706228066967028736978904576107829 3260053496444691378067281409500579382077233759435954806117836239157819909295774295701174953981334096502588437196521223091899331025337969473436239165403023328469906345311443569041921325957061867706009561962162157482067362741652239635758357967494519968628069808116924715086181249356884086625934267713369846944146981535803394549198164142601854094600401696340015504546223010386044543181747299150007711195596695442742823068937204100555553906261226534908610218154898492103005233356621295373278458500827483967206498442918958543769311347881855545154756468486054375857429397495997512113339698206664314827835740115339349895367633969606772932674760580989648646659830205990639110436988624092160594937685548857189265907900940417445589400893624798301011048077057733018438364931078676562941365704531831875505090950198349531735260129206722925812794183968793799502544174531293711857874515653245166672999694785042694376073183644360131660754618492000712494842985426059634996817594134921179049681105470297376039398112840526156353102710984227559938026583620107846616695918026760657658958799062014157886407312863881986998114759430641098327746738516226871568635432142300614229199715912085037988372167083633873940112417331626189352835080503621966253224575950503576909763842243931817457417669480823404692684788928204225690286631506827836376459411711827858730847572354838541308765148892355023496586279253793641384541692948202823337615881431081268782110612061171653068504496495800586755954868878750597516775287553549529324317276871756550082698424595369836831654896991872154247086741589308591699247281693369965955542063724729582901692427639609839969882367575339915533442126776857671278613086605947008202642403619194941859916831119803749068473378486520716553609945850328410795933820409166618057075994294867404186738377056864262550754298708986198283033939475277722952863751217965364809039945427539649123479132495163554597476769186326286794039069307054025404227284737625511506453952426924573129512681656788452288530463062795640178959843361616805653641342015185195298699617791634425629243580137569541186775621365683961838045485586955351457035688247569876398998040819781012076488436529149461134783864831602256394554643449397413878402301452655594503594586188787417522385654059788957063965625084760967322730537468844301995467715710969553618201930742288907701065873136113443905016647 5274877362390445133738643477395407561497096748249553752101031801413160321693929289392244853029611568071999326004987243924844789331030347454527041338507533541066722747866468142035380022278070053006562561437648505102689148418134537531212078673202041745702378718705965395427509301263605925405406267558289640566464584732532505573666514035061412899108385401268874844551690631239872486328803448031292182584298260021440108720098727928091892458454091501290271398417248379350628348428709444622410828095445430785512472938735566805916552944018060609194510205594294630255181035889214442253358559178232793498580540487714744354660555020380562438081338109504999491511067799509697879450994623959482041042543278535831558331680076274919886698737596145078321151941830106860731293842399400366358504267718466433380818536697939611330125469083697894094185842098263519041119591986282580511345248274607838980016548640231904830913000556959861176122446033727577951903027307308525091238706933130947565405151081387662484058048429111596121532701363522172390227757588959424637166944529099305911695517320355932887468138044526430953456260771304637504994802737320603878762974525721160688946898712036167443057683252092627413283333662387404701767017426898905717699281264905146767168748630995912472000495429208522725330048612878669694351056050407104614942704223141294968303902078047480125400600081833972433500430301472629630382760576458083459445734403101946851700485511861289465642846152725455852625122289624837435111787499291951425147610915412438447540563812026875604008620752977563371595435128436281894682483118470466800911618561916003242668455487750948226440419038504697020962927375334870201428917341845485555704619397296122118100915642845666776645752893568638797782780487966115449827539923188087642464630074692708473646670299826766272099252878654782464501806102391796025714144379143625023027061114765147934620968731308745787383743465880192757188184461788875003680565103806562209688410606865345260416443558540860724699059111071235213179993111647437562500760998140006466223676934989015248137816880758398816461808889366225477238898414684805919635899970687781870890355904822881734851070219190583732073732077495719368740052320902324212812003915482819239204309356871661853876059393958914527800525525932909840329250471973682980593585823664356448777316083995135768032901873092348481124476 8534930858835136511805924886895986943574330507685508558218868040570980230989703585093419807010945664574587763201508467016744120356368316927963280503910556869536629093177911711077301348235131920712572123399810662584756511159786777166970436640696561714330448526822890110513690550620490012031340535271659487510611566268335900122864678177663266993708787097608890349097913641625917029510550747181299893779894955464182931789035932028647446364715318036198881616572146871453633581785330739995689286596272914752718971381654525349685864291899916154349266674080349006112610433385211954366698257384897108326416280603054094250028188989987335370756098690494648138170898005500336989887983248051642635980228827393020824239581016692365476099631220943379332200018887839879169658773478076929299869972250298308885909486896289143065385598290420819906980026067057318543663766517576292369219763927853005653016243425274599206986184201319992836877064525728290446746012733368160088056301068052126615086256551685038523456161269637752474635412347749732328254341209067271253862862555859963570654316382370090773875450908408417951571020201945735832741541253547475447398406668021774918146614624121205431429850335726501353395750994013594054602097930520871970923857215408723676932590874927729929418164910031927418014837541082895384637687557234940991402115934969153699151474432886021434165748974188995930086709555266271014924453524660906797061615834183215633811097573032942534147342648526042608579991168375434951887075052841480749464887787168988530238988407396712435663517744849717618682176717744873593929764811840432756453682286645586144360883127360788196322786613844612554405054152192541480042003947792493758347023016491063978017746762649415845119131380089355351392726338294526245761360332354705699540624369560112660385047356691028822853551587640980747535745577669518978577895597108989832067006542304797058100101226472300384860512652206479551227253768842900407907849841432073716142363033789918389929125215329313013229522173866875392139836473264243216142103013325201764923294726623440877381397018327940003237430255050187315284384001640157376671588218257658269888396724603893811339506748340044866857596909097975763294695770299738091214305368138413742798895545659079376261713453747871591766150610693877163059787940817984976061301534633910066979246826284043469098775009205792386141123 13809808221225581645544568364291394505071427255935062310319899841984140552683632874485664660040557232646587089206495710941588909687398664382490321842418090410603351841044379853112681370513201973719134684837459167687445659577921314698182515313898603460032827245528855505941199851884095937436746802829949128077076151000868405696531192212724679892817172498877765193649604272865789515839354195212592076364193215485623040509134659956739338823169409537489153014989395250804261930214040184618100114691718345538231444320390092155602417235917976763543776879674643636367791469274426396620056816563129901824996821090768838604688744010367897808837436799999647629681965805010034869338977872011124677022772105928852382571261092967285362798368817088457653351960717946739900952615877477295658374239968764742266728023594228754395511067374118714001165868165320837584783358503858872880565012202460844633032792065506504037899184758279854012999510559455868398649040040676685179295008001183074180491407633072701007514209698749348596168113711271904718482098798026695891029807084959269482349833702726023661343588952934848905027280973250373337736343990868079326161381193742935607093513336157372874487533587819128766679084656400998756369115357419777688623138480313870444101339505923642401418660339240450143344886153961565078988743607642045606344820158110448667455376510933501559566349056022968363587139856738900645307214101118990256507350237285162485511583084894231999790188801251498461205113458000272386998862552133432174612498702581426977779552219423588039672138497827280990277611846181155488612247930310899557365300848561589387029338615111736422763205652349309575367981527527411681470921289637979314051642413787186096118662405495082621764884273657994149175506826260641695588900255542793342005254444252821134031717656517795094952804466295763212037551680061315004292039976252614855094067657069944992721069957781046172244256118086672308415438230631775411588414945238635925830773640655263650345568773870173737928581284938110605319829584911680778642864011465208231146971661612456125519213899086338819699239144416412792523282416324963296307488188945440140778752629426775546190576967530628598931328986593695132034748091202062304026309283621232982003204902530741230137772847706786119566676136626787003389038412791667956654887358298266515756562910279179237131676882298140867265599 22344739080060718157350493251187381448645757763620570868538767882555120783673336459579084467051502897221174852408004177958333030043766981310453602346328647280139980934222291564189982718748333894431706808237269830272202170737708091865152951954595165174363275772351745616454890402504585949468087338101608615587687717269204305819395870390387946886525959596486655542747517914491706545349904942393891970144088170949805972298170591985386785187884727573688034631561542122257895511999370924613789401287991260290950415702044617505288281527817892917893043553754992642480401902659638350986755073948027010151413101693822932854716933000355233179593535490494295767852863810510371859226961120062767313003000933321873206810842109659650838898000038031836985551979605786619070611389355554224958244212219063051152637510490517897460896665664539533908145894232378156128447125021435165249784776130313850286049035490781103244885368959599846849876575085184158845395052774044845267351309069235200795577664184757739530970370968387101070803526059021637046736440007093967144892669640819233053004150085096114435219039861343266856598301175196109170477885244415554773559787861764710525240127960278578305917383923545630120074835650414592810971213287940649659546995695722594121033930380851372330836825249272377561359723695044460463626431164876986597746936093079602366606850943819522993732098030211964293673849412005171660231667625779897053568966071468378119322680657927174533937531449777541069785104626375707338885937604974912924077386489750415508018540626820300475335656242676998608959788563926029082542012742151332313818983135207175531390221742472524619085992266193922129773035679719953161512925237430473072398665430278250074136409168144498466884015653747349500568233164555167941350260587897499041545878813812933794416765013208823917806356053936743959573297257730833982869935573361604687161074199374742050821171184253346557104768770293151859642691999474675819496264786670709641973136674445182040274693989199486751158103458804985997459666058175923994784967024790409996070266388235897002900610917414278822936669399466600107807666417965120672979076407203098410667149354030669357530083715870673465788925895691670895329443861501800395240614651759646724802100448189820606399486301454657711332826747320664166448826353609652932716188892932176582735809736563222706230451891503933253406722 36154547301286299802895061615478775953717185019555633178858667724539261336356969334064749127092060129867761941614499888899921939731165645692943924188746737690743332775266671417302664089261535868150841493074728997959647830315629406563335467268493768634396103017880601122396090254388681886904834140931557743664763868270072711515927062603112626779343132095364420736397122187357496061189259137606484046508281386435429012807305251942126124011054137111177187646550937373062157442213411109231889515979709605829181860022434709660890698763735869681436820433429636278848193371934064747606811890511156911976409922784591771459405677010723130988430972290493943397534829615520406728565938992073891990025773039250725589382103202626936201696368855120294638903940323733358971564005233031520616618452187827793419365534084746651856407733038658247909311762397698993713230483525294038130349788332774694919081827556287607282784553717879700862876085644640027244044092814721530446646317070418274976069071817830440538484580667136449666971639770293541765218538805120663035922476725778502535353983787822138096562628814278115761625582148446482508214229235283634099721169055507646132333641296435951180404917511364758886753920306815591567340328645360427348170134176036464565135269886775014732255485588512827704704609849006025542615174772519032204091756251190051034062227454753024553298447086234932657260989268744072305538881726898887310076316308753540604834263742821406533727720251029039530990218084375979725884800157108345098689885192331842485798092846243888515007794740504279599237400410107184571154260672462231871184283983768764918419560357584261041849197918543231705141017207247364842983846527068452386450307844065436170255071573639581088648899927405343649743739990815809636939160843440292383551133258065754928448482669726619012759160520232507171610848937792148987161975549614219542255141856444687043542241142034392729349024888379824168058130230106451231084679731909345567803910315100445690620262763069660489086684743743096602779495643087604773427831036255618227217238049848353128419824816500617642635908543883012900330948834290083969286564596148538551445901983457444903720660683401302064720254882285366027364191952703862699266923935380879706805305350720561836537259149161443830899502883947451169837864766401320889371076251230443098492372646842401943362128773802074120672321 58499286381347017960245554866666157402362942783176204047397435607094382120030305793643833594143563027088936794022504066858254969774932627003397526535075384970883313709488962981492646808009869762582548301311998828231850001053337498428488419223088933808759378790232346738850980656893267836372921479033166359252451585539277017335322932993500573665869091691851076279144640101849202606539164080000376016652369557385234985105475843927512909198938864684865222278112479495320052954212782033845678917267700866120132275724479327166178980291553762599329863987184628921328595274593703098593566964459183922127823024478414704314122610011078364168024507780988239165387693426030778587792900112136659303028773972572598796192945312286587040594368893152131624455919929519978042175394588585745574862664406890844572003044575264549317304398703197781817457656630077149841677608546729203380134564463088545205130863047068710527669922677479547712752660729824186089439145588766375713997626139653475771646736002588180069454951635523550737775165829315178811954978812214630180815146366597735588358133872918252531781668675621382618223883323642591678692114479699188873280956917272356657573769256714529486322301434910389006828755957230184378311541933301077007717129871759058686169200267626387063092310837785205266064333544050486006241605937396018801838692344269653400669078398572547547030545116446896950934838680749243965770549352678784363645282380221918724156944400748581067665251700806580600775322710751687064770737762083258022767271682082257993816633473064188990343450983181278208197188974033213653696273414613564185003267118975940449809782100056785660935190184737153834914052886967318004496771764498925458848973274343686244391480741784079555532915581152693150311973155370977578289421431337791425097012071878688722865247682935442930565516574169251131184146195522982970031911122975824229416216055819429094363412326287739286453793658672976027700822229581127050580944518580055209777046989545627730894956752269147240244788202548082600239161701263528768212798061046028223287504438084250131320435733914896465572577943349613008138615252255204642265641003351636962113051337488114261250744399271975530509180777977036922693635814205663094507538587140526431607405798910382442936745450616101542232329631268115336286691120010973822087265144162619681228182383405624649592580665306007374079043 94653833682633317763140616482144933356080127802731837226256103331633643456387275127708582721235623156956698735637003955758176909506098272696341450723822122661626646484755634398795310897271405630733389794386727826191497831368966904991823886491582702443155481808112947861247070911281949723277755619964724102917215453809349728851249995596613200445212223787215497015541762289206698667728423217606860063160650943820663997912781095869639033209993001796042409924663416868382210396426193143077568433247410471949314135746914036827069679055289632280766684420614265200176788646527767846200378854970340834104232947263006475773528287021801495156455480071482182562922523041551185316358839104210551293054547011823324385575048514913523242290737748272426263359860253253337013739399821617266191481116594718637991368578660011201173712131741856029726769419027776143554908092072023241510484352795863240124212690603356317810454476395359248575628746374464213333483238403487906160643943210071750747715807820418620607939532302660000404746805599608720577173517617335293216737623092376238123712117660740390628344297489899498379849465472089074186906343714982822973002125972780002789907410553150480666727218946275147893582676264045775945651870578661504355887264047795523251304470154401401795347796426298032970768943393056511548856780709915051005930448595459704434731305853325572100328992202681829608195827949493316271309431079577671673721598688975459328991208143569987601392971951835620131765540795127666790655537919191603121457156874414100479614726319308077505351245723685557807434589384140398224850534087075796056187551102744705368229342457641046702784388103280385540055070094214682847480618291567377845299281118409122414646552315423660644181815508558036800055713146186787215228582274778083808648145329944443651313730352662061943324677094401758302794995133315131957193886672590043771671357912264116137905653468322132015802818547052800195758952459687578281665624250489400777580957304646073421515219515338807729331472946291179203018657344351133541640629097301646450504742487932603259740260550415514108208486487232625908469564086545288611552205599500175513558953320945559164971405082673277595229435660262402950057827766909525793774462522521406138412711149630944279474004599777545373131832515215566506124555886412294711458341395393062779720555030248026592954709439108081494751364 153153120063980335723386171348811090758443070585908041273653538938728025576417580921352416315379186184045635529659508022616431879281030899699738977258897507632509960194244597380287957705281275393315938095698726654423347832422304403420312305714671636251914860598345294600098051568175217559650677098997890462169667039348626746186572928590113774111081315479066573294686402391055901274267587297607236079813020501205898983018256939797151942408931866480907632202775896363702263350638975176923247350515111338069446411471393363993248659346843394880096548407798894121505383921121470944793945819429524756232055971741421180087650897032879859324479987852470421728310216467581963904151739216347210596083320984395923181767993827200110282885106641424557887815780182773315055914794410203011766343781001609482563371623235275750491016530445053811544227075657853293396585700618752444890618917258951785329343553650425028338124399072838796288381407104288399422922383992254281874641569349725226519362543823006800677394483938183551142521971428923899389128496429549923397552769458973973712070251533658643160125966165520880998073348795731665865598458194682011846283082890052359447481179809865010153049520381185536900411432221275960323963412511962581363604393919554581937473670422027788858440107264083238236833276937106997555098386647311069807769140939729357835400384251898119647359537319128726559130666630242560237079980432256456037366881069197378053148152544318568669058223652642200732540863505879353855426275681274861144224428556496358473431359792372266495694696706866836015631778358173611878546807501689360241190818221720645818039124557697832363719578288017539374969122981182000851977390056066303304148254392752808659038033057207740199714731089710729950367686301557764793518003706115875233745157401823132374178978035597504873890193668571009433979141328838114927225797795565868001087573968083545232269065794609871302256612205725776223459774689268705332246568769069455987358004294191701152410176267607954969576261148839261803257819045614662309853427158347674673792246926016853391060696284330410573781064430582238916608179338800493253817846602851812475672004658433673426222149481945253125738616438239439872751463581115188888282001109661932570020116948541326722410750050393646915364162146483681842411247006423268533545606539555682460948737413653651242547290104414088868830407 247806953746613653486526787830956024114523198388639878499909642270361669032804856049060999036614809341002334265296511978374608788787129172396080427982719630294136606679000231779083268602552681024049327890085454480614845663791271308412136192206254338695070342406458242461345122479457167282928432718962614565086882493157976475037822924186726974556293539266282070310228164680262599941996010515214096142973671445026562980931038035666790975618924868276950042127439313232084473747065168320000815783762521810018760547218307400820318338402133027160863232828413159321682172567649238790994324674399865590336288919004427655861179184054681354480935467923952604291232739509133149220510578320557761889137867996219247567343042342113633525175844389696984151175640436026652069654194231820277957824897596328120554740201895286951664728662186909841270996494685629436951493792690775686401103270054815025453556244253781346148578875468198044864010153478752612756405622395742188035285512559796977267078351643425421285334016240843551547268777028532619966302014046885216614290392551350211835782369194399033788470263655420379377922814267820740052504801909664834819285208862832362237388590363015490819776739327460684793994108485321736269615283090624085719491657967350105188778140576429190653787903690381271207602220330163509103955167357226120813699589535189062270131690105223691747688529521810556167326494579735876508389411511834127711088479758172837382139360687888556270451195604477820864306404301007020646081813600466464265681585430910458953046086111680344001045942430552393823066367742314010103397341588765156297378369324465351186268467015338879066503966391297924915024193075396683699458008347633681149447535511161931073684585372631400843896546598268766750423399447744552008746585980893959042393302731767576025492708388259566817214870762972767736774136462153246884419684468155911772758931880347661370174719262932003318059430752778576419218727148956283613912193019558856764938961598837774573925395782946762698907734095130441006276476389965795851494056255649321124296989413949456650800956834745924681989550917814864825077743425345781865370052202351987989230957979379232591193554564618530720968052098501842822809291348024714682056463632183338708432828098172271001884754650171192288495994661699248348535802892835563245003947934948745240669292443901677835501999543522170363581771 400960073810593989209912959179767114872966268974547919773563181209089694609222436970413415351993995525047969794956020000991040668068160072095819405241617137926646566873244829159371226307833956417365265985784181135038193496213575711832448497920925974946985203004803537061443174047632384842579109817960505027256549532506603221224395852776840748667374854745348643604914567071318501216263597812821332222786691946232461963949294975463942918027856734757857674330215209595786737097704143496924063134277633148088206958689700764813566997748976422040959781236212053443187556488770709735788270493829390346568344890745848835948830081087561213805415455776423026019542955976715113124662317536904972485221188980615170749111036169313743808060951031121542038991420618799967125568988642023289724168678597937603118111825130562702155745192631963652815223570343482730348079493309528131291722187313766810782899797904206374486703274541036841152391560583041012179328006387996469909927081909522203786440895466432221962728500179027102689790748457456519355430510476435140011843162010324185547852620728057676948596229820941260375996163063552405918103260104346846665568291752884721684869770172880500972826259708646221694405540706597696593578695602586667083096051886904687126251810998456979512228010954464509444435497267270506659053554004537190621468730474918420105532074357121811395048066840939282726457161209978436745469391944090583748455360827370215435287513232207124939509419257120021596847267806886374501508089281741325409906013987406817426477445904052610496740639137419229838698146100487621981944149090454516538569187546185997004307591573036711430223544679315464289993316056578684551435398403699984453595789903914739732722618429839141043611277687979496700791085749302316802264589687009834276138460133590708399671686423857071691105064431543777170753277790991361811645482263721779773846505848431206602443785057541874620316042958504352642678501838224988946158761788628312752296965893029475726335572050554717668483995243969702809534295435580458161347483413996995798089236339966310041861653119076335255770615348397103741685922764146275119187898805203800464902962637812906017415704046563783846706668536741282695560754929139903570338464741845271278452945046713597724295504700564839203860156808182930190947049899258831778549554474504427701618029857555329078049289647936259232412178 648767027557207642696439747010723138987489467363187798273472823479451363642027293019474414388608804866050304060252531979365649456855289244491899833224336768220783173552245060938454494910386637441414593875869635615653039160004847020244584690127180313642055545411261779522788296527089552125507542536923119592343432025664579696262218776963567723223668394011630713915142731751581101158259608328035428365760363391259024944880333011130733893646781603034807716457654522827871210844769311816924878918040154958106967505908008165633885336151109449201823014064625212764869729056419948526782595168229255936904633809750276491810009265142242568286350923700375630310775695485848262345172895857462734374359056976834418316454078511427377333236795420818526190167061054826619195223182873843567681993576194265723672852027025849653820473854818873494086220065029112167299573286000303817692825457368581836236456042157987720635282150009234886016401714061793624935733628783738657945212594469319181053519247109857643248062516419870654237059525485989139321732524523320356626133554561674397383634989922456710737066493476361639753918977331373145970608062014011681484853500615717083922258360535895991792602999036106906488399649191919432863193978693210752802587709854254792315029951574886170166015914644845780652037717597434015763008721361763311435168320010107482375663764462345503142736596362749838893783655789714313253858803455924711459543840585543052817426873920095681209960614861597842461153672107893395147589902882207789675587599418317276379523532015732954497786581567971623661764513842801632085341490679219672835947556870651348190576058588375590496727511070613389205017509131975368250893406751333665603043325415076670806407203802470541887507824286248263451214485197046868811011175667903793318531762865358284425164394812116638508319935194516544907527414253144608696065166731877691546605437728778867972618504320473877938375473711282929061897228987181272560070954808187169517235927491867250300260967833501480367391729339100143815810771825546254012841539669646316922386225753915766692662609953822259937760166266211968566763666189492056984557951007555788454133920617192138608609258611182314567674720635243125518370046277164618252394928374028609986885773144885868726180259350736031492356151469882178539482852792094395023553502409453172942287322301457006913551289191458429595993949 1049727101367801631906352706190490253860455736337735718047036004688541058251249729989887829740602800391098273855208551980356690124923449316587719238465953906147429740425489890097825721218220593858779859861653816750691232656218422732077033188048106288589040748416065316584231470574721936968086652354883624619599981558171182917486614629740408471891043248756979357520057298822899602374523206140856760588547055337491486908829627986594676811674638337792665390787869732423657947942473455313848942052317788106195174464597708930447452333900085871242782795300837266208057285545190658262570865662058646283472978700496125327758839346229803782091766379476798656330318651462563375469835213394367706859580245957449589065565114680741121141297746451940068229158481673626586320792171515866857406162254792203326790963852156412355976219047450837146901443635372594897647652779309831948984547644682348647019355840062194095121985424550271727168793274644834637115061635171735127855139676378841384839960142576289865210791016598897756926850273943445658677163034999755496637976716571998582931487610650514387685662723297302900129915140394925551888711322118358528150421792368601805607128130708776492765429258744753128182805189898517129456772674295797419885683761741159479441281762573343149678243925599310290096473214864704522422062275366300502056637050485025902481195838819467314537784663203689121620240816999692749999328195400015295207999201412913268252714387152302806149470034118717864058000939914779769649097992163949115085493613405724093806000977919785564994527220705390853500462659943289254067285639769674189374516744416837345194883650161412301926951055749928853495010825188554052802328805155033650056639115318991410539129822232309682931119101974227760152005570946349185613275765354913627594670222998948992824836081235973710199424999626060322078280692044135970507710648995599471320451943577210074575062289378015752558691516669787281704575730825406261506229716596815482269532893384896726026596539884056198035875724583069846625345067261126712174189023083643312720475462093882076734524263072898595193530781614609072308449588953638332103745849812759588919036883255005044626024962657746098414381389171984408213930801206304521822733393115873881265338718191599466450475764051300870696216308278065108730429902691353226802103056883957600643905352159012335991600578839394688828406127 1698494128925009274602792453201213392847945203700923516320508828167992421893277023009362244129211605257148577915461083959722339581778738561079619071690290674368212913977734951036280216128607231300194453737523452366344271816223269752321617878175286602231096293827327096107019767101811489093594194891806744211943413583835762613748833406703976195114711642768610071435200030574480703532782814468892188954307418728750511853709960997725410705321419940827473107245524255251529158787242767130773820970357943064302141970505717096081337670051195320444605809365462478972927014601610606789353460830287902220377612510246401819568848611372046350378117303177174286641094346948411637815008109251830441233939302934284007382019193192168498474534541872758594419325542728453205516015354389710425088155830986469050463815879182262009796692902269710640987663700401707064947226065310135766677373102050930483255811882220181815757267574559506613185194988706628262050795263955473785800352270848160565893479389686147508458853533018768411163909799429434797998895559523075853264110271133672980315122600572971098422729216773664539883834117726298697859319384132370209635275292984318889529386491244672484558032257780860034671204839090436562319966652989008172688271471595414271756311714148229319844259840244156070748510932462138538185070996728063813491805370495133384856859603281812817680521259566438960514024472789407063253186998855940006667543041998456321070141261072398487359430648980315706519154612022673164796687895046156904761081212824041370185524509935518519492313802273362477162227173786090886152627130448893862210464301287488693385459708749787892423678566820542242700028334320529421053222211906367315659682440734068081345537026034780224818626926260476023603220056143396054424286941022817420913201985864307277250000476048090348707744934820576866985808106297280579203775815727477162867057381305988942547680793698489630497066990381070210766472959812587534066300671405002651786768820876763976326857507717557678403267453922169990441155839086672966187030562753289629642861687847797843427186873026720855131290947880821040875213255143130389088303800820315377373170803872197183234634221268928412982056109807227533732300847483469140075128321489902491252224491336485335176656023402036902188572459747947287269912755483447621825656559293410773586192674460469342905151868030853118424400076 2748221230292810906509145159391703646708400940038659234367544832856533480144526752999250073869814405648246851770669635940079029706702187877667338310156244580515642654403224841134105937346827825158974313599177269117035504472441692484398651066223392890820137042243392412691251237676533426061680847246690368831543395142006945531235448036444384667005754891525589428955257329397380305907306020609748949542854474066241998762539588984320087516996058278620138498033393987675187106729716222444622763022675731170497316435103426026528790003951281191687388604666299745180984300146801265051924326492346548503850591210742527147327687957601850132469883682653972942971412998410975013284843322646198148093519548891733596447584307872909619615832288324698662648484024402079791836807525905577282494318085778672377254779731338674365772911949720547787889107335774301962594878844619967715661920746733279130275167722282375910879252999109778340353988263351462899165856899127208913655491947227001950733439532262437373669644549617666168090760073372880456676058594522831349902086987705671563246610211223485486108391940070967440013749258121224249748030706250728737785697085352920695136514621953448977323461516525613162854010028988953691776739327284805592573955233336573751197593476721572469522503765843466360844984147326843060607133272094364315548442420980159287338055442101280132218305922770128082134265289789099813252515194255955301875542243411369589322855648224701293508900683099033570577155551937452934445785887210106019846574826229765463991525487855304084486841022978753330662689833729380140219912770218568051584981045704326038580343358911200194350629622570471096195039159509083473855551017061400965716321556053059491884666848267089907749746028234703783755225627089745240037562706377731048507872208863256270074836557284064058907169934446637189064088798341416549711486464723076634187509324883199017122743083076505383055758507050857492471048690637993795572530388001818134056301714261660702353454047601613876439143178505239837066500906347799678361219585836932942363337149941679920161711136099619450324821729495430113183662844096768721192049650633074966292207687127202227860659183926674511396437498979211941946231648689773661897861714605776372517563209528084801627131787453337772884788768026012396000342658174800848627759616177368374230098026619481678896752446870247807252806203 4446715359217820181111937612592917039556346143739582750688053661024525902037803776008612317999026010905395429686130719899801369288480926438746957381846535254883855568380959792170386153475435056459168767336700721483379776288664962236720268944398679493051233336070719508798271004778344915155275042138497113043486808725842708144984281443148360862120466534294199500390457359971861009440088835078641138497161892794992510616249549982045498222317478219447611605278918242926716265516958989575396583993033674234799458405609143122610127674002476512131994414031762224153911314748411871841277787322634450724228203720988928966896536568973896482848000985831147229612507345359386651099851431898028589327458851826017603829603501065078118090366830197457257067809567130532997352822880295287707582473916765141427718595610520936375569604851990258428876771036176009027542104909930103482339293848784209613530979604502557726636520573669284953539183252058091161216652163082682699455844218075162516626918921948584882128498082636434579254669872802315254674954154045907203166197258839344543561732811796456584531121156844631979897583375847522947607350090383098947420972378337239584665901113198121461881493774306473197525214868079390254096705980273813765262226704931988022953905190869801789366763606087622431593495079788981598792204268822428129040247791475292672194915045383092949898827182336567042648289762578506876505702193111895308543085285409825910392996909297099780868331332079349277096310163960126099242473782256262924607656039053806834177049997790822603979154825252115807824917007515471026372539900667461913795445346991814731965803067660988086774308189391013338895067493829612894908773228967768281376003996787127573230203874301870132568372954495179807358445683233141294461849647400548469421074194727563547324837033332154407614914869267214056049896904638697128915262280450553797054566706189187959670423876774995013552825497431927703237521650450581329638831059406820785843070535138424678680311555319171554842410632427409827507656745434472644548250148590222572006198837789477763588898009126340305456112677376251154058876099239899110280353451453390343665378490999399411095293405195602924378493608786439475678532496173242801972990036095678863769787700864570136803787810855374675073361227773959683270255413658248470453416175470779147816290701079951021801904314901100925677206279 7194936589510631087621082771984620686264747083778241985055598493881059382182330529007862391868840416553642281456800355839880398995183114316414295692002779835399498222784184633304492090822262881618143080935877990600415280761106654721118920010622072383871370378314111921489522242454878341216955889385187481875030203867849653676219729479592745529126221425819788929345714689369241315347394855688390088040016366861234509378789138966365585739313536498067750103312312230601903372246675212020019347015709405405296774840712569149138917677953757703819383018698061969334895614895213136893202113814980999228078794931731456114224224526575746615317884668485120172583920343770361664384694754544226737420978400717751200277187808937987737706199118522155919716293591532612789189630406200864990076792002543813804973375341859610741342516801710806216765878371950310990136983754550071198001214595517488743806147326784933637515773572779063293893171515409554060382509062209891613111336165302164467360358454211022255798142632254100747345429946175195711351012748568738553068284246545016106808343023019942070639513096915599419911332633968747197355380796633827685206669463690160279802415735151570439204955290832086360379224897068343945873445307558619357836181938268561774151498667591374258889267371931088792438479227115824659399337540916792444588690212455451959532970487484373082117133105106695124782555052367606689758217387367850610418627528821195499715852557521801074377232015178382847673465715897579033688259669466368944454230865283572298168575485646126688465995848230869138487606841244851166592452670886029965380426392696140770546146426572188281124937811961484435090106653338696368764324246029169247092325552840187065114870722568960040318118982729883591113671310322886534499412353778279517928946403590819817399673590616218466522084803713851245113985702980113678626748745173630431242076031072386976793166959851500396608584004482785195708570341088575125211361447408638919899372249400085381033765602920785431281553810932649664574157651782272322909469734427155514369535987731157683750609145225959755780934406871681267242538943336667831472403102086465309957586178126601638955952589122277435774931107765651417624764144863016463870851750701455236287350910392654938430919598308712447958149995799972079270598071833049319081175791648147522046388727699432700698656761771348732930012482 11641651948728451268733020384577537725821093227517824735743652154905585284220134305016474709867866427459037711142931075739681768283664040755161253073849315090283353791165144425474878244297697938077311848272578712083795057049771616957839188955020751876922603714384831430287793247233223256372230931523684594918517012593692361821204010922741106391246687960113988429736172049341102324787483690767031226537178259656227019995038688948411083961631014717515361708591230473528619637763634201595415931008743079640096233246321712271749045351956234215951377432729824193488806929643625008734479901137615449952306998652720385081120761095549643098165885654316267402196427689129748315484546186442255326748437252543768804106791310003065855796565948719613176784103158663145786542453286496152697659265919308955232691970952380547116912121653701064645642649408126320017679088664480174680340508444301698357337126931287491364152294146448348247432354767467645221599161225292574312567180383377326983987277376159607137926640714890535326600099818977510966025966902614645756234481505384360650370075834816398655170634253760231399808916009816270144962730887016926632627641842027399864468316848349691901086449065138559557904439765147734199970151287832433123098408643200549797105403858461176048256030978018711224031974306904806258191541809739220573628938003930744631727885532867466032015960287443262167430844814946113566263919580479745918961712814231021410108849466818900855245563347257732124769775879857705132930733451722631869061886904337379132345625483436949292445150673482984946312523848760322192964992571553491879175871739687955502511949494233176367899246001352497773985174147168309263673097474996937528468329549627314638345074596870830172886491937225063398472116993556027828961262001178827987350020598318383364724510623948372874136999672981065301163882607618810807542011025624184228296642737261574936463590836626495410161409501914712898946091991539156454850192506815459705742442784538510059714077158239956986123964443360059492081814397216744967457719883017378086375734825520635447339507154352300061237047084247932421301415042576566941752756553539855653622964669126001050051245994317880360153424716552090893303296641036259265843841786797134100057138611257225075234707409164087123031511223573931762540853485491297789534591967118926669862679428779383722500561076672449658607218761 18836588538239082356354103156562158412085840311296066720799250648786644666402464834024337101736706844012679992599731431579562167278847155071575548765852094925682852013949329058779370335119960819695454929208456702684210337810878271678958108965642824260793974092698943351777315489688101597589186820908872076793547216461542015497423740402333851920372909385933777359081886738710343640134878546455421314577194626517461529373827827914776669700944551215583111811903542704130523010010309413615435278024452485045393008087034281420887963029909991919770760451427886162823702544538838145627682014952596449180385793584451841195344985622125389713483770322801387574780348032900109979869240940986482064169415653261520004383979118941053593502765067241769096500396750195758575732083692697017687736057921852769037665346294240157858254638455411870862408527780076631007816072419030245878341723039819187101143274258072425001668067719227411541325526282877199281981670287502465925678516548679491451347635830370629393724783347144636073945529765152706677376979651183384309302765751929376757178418857836340725810147350675830819720248643785017342318111683650754317834311305717560144270732583501262340291404355970645918283664662216078145843596595391052480934590581469111571256902526052550307145298349949800016470453534020630917590879350656013018217628216386196591260856020351839114133093392549957292213399867313720256022136967847596529380340343052216909824702024340701929622795362436114972443241595755284166618993121189000813516117769620951430514200969083075980911146521713854084800130690005173359557445242439521844556298132384096273058095920805364649024183813313982209075280800507005632437421721026106775560655102467501703459945319439790213204610919954946989585788303878914363460674354957107505278967001909203182124184214564591340659084476694916546277868310598924486168759770797814659538718768333961913256757796477995806769993506397498094654662332627731580061553954224098625641815033938595440747842761160742417405518254292709156655972048999017290367189617444533600745270813251793131090116299578259817017981491119613688543953985913234773225159655626320963580550847252602689007198583440157795928355824317742310928060785899275729714693537498589336344489521649880013665627007472799570989661219373903841811451557324347108615767758767074191909068156478816423199217838443798391537231243 30478240486967533625087123541139696137906933538813891456542902803692229950622599139040811811604573271471717703742662507319243935562511195826736801839701410015966205805114473484254248579417658757772766777481035414768005394860649888636797297920663576137716577807083774782065108736921324853961417752432556671712064229055234377318627751325074958311619597346047765788818058788051445964922362237222452541114372886173688549368866516863187753662575565933098473520494773177659142647773943615210851209033195564685489241333355993692637008381866226135722137884157710356312509474182463154362161916090211899132692792237172226276465746717675032811649655977117654976976775722029858295353787127428737390917852905805288808490770428944119449299331015961382273284499908858904362274536979193170385395323841161724270357317246620704975166760109112935508051177188202951025495161083510420558682231484120885458480401189359916365820361865675759788757881050344844503580831512795040238245696932056818435334913206530236531651424062035171400545629584130217643402946553798030065537247257313737407548494692652739380980781604436062219529164653601287487280842570667680950461953147744960008739049431850954241377853421109205476188104427363812345813747883223485604032999224669661368362306384513726355401329327968511240502427840925437175782421160395233591846566220316941222988741553219305146149053679993219459644244682259833822286056548327342448342053157283238319933551491159602784868358709693847097213017475612989299549726572911632682578004673958330562859826452520025273356297195196839031112654538765495552522437813993013723732169872072051775570045415038541016923429814666479983060454947675314896110519196023044304028984652094816341805019916310620386091102857180010388057905297434942192421936356135935492628987600227586546848694838512964214796084149675981847441750918217735293710770796421998887835361505595536849720348633104491216931403008312210993600754324166888034911746461039558331384257818477105500461919919400699403529482697652768648737786446215762257824909500461911687121005638772428578429623453930559878255028575367546109845369028489801714977916209166176617203515516378603739058444577758038156081780540869833204231357426935534995558535324295723436401628132907105088900334416636886694021172442947835604352305042815644898150359725886000861771747585258200145699778915116248050144450004 49314829025206615981441226697701854549992773850109958177342153452478874617025063973065148913341280115484397696342393938898806102841358350898312350605553504941649057819063802543033618914537619577468221706689492117452215732671528160315755406886306400398510551899782718133842424226609426451550604573341428748505611445516776392816051491727408810231992506731981543147899945526761789605057240783677873855691567512691150078742694344777964423363520117148681585332398315881789665657784253028826286487057648049730882249420390275113524971411776218055492898335585596519136212018721301299989843931042808348313078585821624067471810732339800422525133426299919042551757123754929968275223028068415219455087268559066808812874749547885173042802096083203151369784896659054662938006620671890188073131381763014493308022663540860862833421398564524806370459704968279582033311233502540666437023954523940072559623675447432341367488429584903171330083407333222043785562501800297506163924213480736309886682549036900865925376207409179807474491159349282924320779926204981414374840013009243114164726913550489080106790928955111893039249413297386304829598954254318435268296264453462520153009782015352216581669257777079851394471769089579890491657344478614538084967589806138772939619208910566276662546627677918311256972881374946068093373300511051246610064194436703137814249597573571144260282147072543176751857644549573554078308193516174938977722393500335455229758253515500304714491154072129962069656259071368273466168719694100633496094122443579281993374027421603101254267443716910693115912785228770668912079883056432535568288468004456148048628141335843905665947613627980462192135735748182320528547940917049151079589639754562318045264965235750410599295713777134957377643693601313856555882610711093042997907954602136789728972879053077555555455168626370898393719619228816659779879530567219813547374080273929498762977106429582487023701396514709709088255416656794619614973300415263656957026072852415700941209762680561441820935000951945477805393758495214779548192099117906445287866276452024221709519739753508819695273010066487159798389323014403036488203075864792497580784066363631206428065643161198195952010136365187575515159418212834810725273228861794312772746117654556985102565961424109686265010833662321739446163756600139992006766127484653075053680815741737016568898996753560046441681681247 79793069512174149606528350238841550687899707388923849633885056256171104567647663112105960724945853386956115400085056446218050038403869546725049152445254914957615263624178276027287867493955278335240988484170527532220221127532178048952552704806969976536227129706866492915907532963530751305512022325773985420217675674572010770134679243052483768543612104078029308936718004314813235569979603020900326396805940398864838628111560861641152177026095683081780058852893089059448808305558196644037137696090843614416371490753746268806161979793642444191215036219743306875448721492903764454352005847133020247445771378058796293748276479057475455336783082277036697528733899476959826570576815195843956846005121464872097621365519976829292492101427099164533643069396567913567300281157651083358458526705604176217578379980787481567808588158673637741878510882156482533058806394586051086995706186008060958018104076636792257733308791450578931118841288383566888289143333313092546402169910412793128322017462243431102457027631471214978875036788933413141964182872758779444440377260266556851572275408243141819487771710559547955258778577950987592316879796824986116218758217601207480161748831447203170823047111198189056870659873516943702837471092361838023689000589030808434307981515295080003017947957005886822497475309215871505269155721671446480201910760657020079037238339126790449406431200752536396211501889231833387900594250064502281426064446657618693549691805006659907499359512781823809166869276546981262765718446267012266178672127117537612556233853874123126527623740912107532147025439767536164464602320870425549292020637876528199824198186750882446682871043442646942175196190695857635424658460113072195383618624406657134387069985152061030985386816634314967765701598898748798748304547067228978490536942202364376275821573891590519770251252776046880241161370147034395073590301363641812435209441779525035612697455062686978240632799523021920081856170980961507649885046876303215288410330670892806441671682599962141224464483649598246454131544941430541806017008618368356974987282090796650287949363207439379573528038641854705908234692042892838203180992073958674197987581880009810167124087738956234108091916906057408719390775639770345720831764186090036209147745787464090191466295840746572959032006105269575050516061642955636904916487210539075915452563326995216714598775668676294491826131251 129107898537380765587969576936543405237892481239033807811227209708649979184672727085171109638287133502440513096427450385116856141245227897623361503050808419899264321443242078570321486408492897912709210190860019649672436860203706209268308111693276376934737681606649211049749957190140177757062626899115414168723287120088787162950730734779892578775604610810010852084617949841575025175036843804578200252497507911555988706854255206419116600389615800230461644185291404941238473963342449672863424183148491664147253740174136543919686951205418662246707934555328903394584933511625065754341849778175828595758849963880420361220087211397275877861916508576955740080491023231889794845799843264259176301092390023938906434240269524714465534903523182367685012854293226968230238287778322973546531658087367190710886402644328342430642009557238162548248970587124762115092117628088591753432730140532001030577727752084224599100797221035482102448924695716788932074705835113390052566094123893529438208700011280331968382403838880394786349527948282696066284962798963760858815217273275799965737002321793630899594562639514659848298027991248373897146478751079304551487054482054670000314758613462555387404716368975268908265131642606523593329128436840452561773968178836947207247600724205646279680494584683805133754448190590817573362529022182497726811974955093723216851487936700361593666713347825079572963359533781406941978902443580677220403786840157954148779450058522160212213850666853953771236525535618349536231887165961112899674766249561116894549607881295726227781891184629018225262938224996306833376682203926858084860309105880984347872826328086726352348818657070627404367331926444039955953206401030121346463208264161219452432334950387811441584682530411449925143345292500062655304187157778322021488444896804501166004794452944668075325706421402417778634880989375851054853469831930861625982583522053454534375674561492269465264334196037731629170111587637756127264858347291566872245436403523308507382881445280523583045399484601543724259525303436645321354209107736274802262853558542820871997469102960948199268801048708341865706624015057295874691384067938751171778771648243641016595189730900154430060102053271244984234550193852605156446104993047884348981893863442021075294032257264856259224042839767591314496679818243095628911682614695192150969133379068732233283497772422236340933507812498 208900968049554915194497927175384955925792188627957657445112265964821083752320390197277070363232986889396628496512506831334906179649097444348410655496063334856879585067420354597609353902448176247950198675030547181892657987735884258220860816500246353470964811313515703965657490153670929062574649224889399588940962794660797933085409977832376347319216714888040161021335954156388260745016446825478526649303448310420827334965816068060268777415711483312241703038184494000687282268900646316900561879239335278563625230927882812725848930999061106437922970775072210270033655004528830208693855625308848843204621341939216654968363690454751333198699590853992437609224922708849621416376658460103133147097511488811004055605789501543758027004950281532218655923689794881797538568935974056904990184792971366928464782625115823998450597715911800290127481469281244648150924022674642840428436326540061988595831828721016856834106012486061033567765984100355820363849168426482598968264034306322566530717473523763070839431470351609765224564737216109208249145671722540303255594533542356817309277730036772719082334350074207803556806569199361489463358547904290667705812699655877480476507444909758558227763480173457965135791516123467296166599529202290585462968767867755641555582239500726282698442541689691956251923499806689078631684743853944207013885715750743295888726275827152043073144548577615969174861423013240329879496693645179501829851286815572842329141863528820119713210179635777580403394812165330798997605612228125165853438376678654507105841735169849354309514925541125757409963664763842997841284524797283634152329743757512547697024514837608799031689700513274346542528117139897591377864861143193541846826888567876586819404935539872472570069347045764892909046891398811454052491704845550999978981839006865542280616026836258595095957674178464658876042359522885449927060133294503438417792963832979569988372016554956443504966995560753549251967758618717634914743394167870087533846734194201313824553127880485724269863968251141970713656848378075863160226116354643159237840840633617522285418466168387578842329087350196571614858707100188712894565060012709845976759230123650826762313818639110664168193970177302392953940969492375502166936757233974385191041609229485165485498553105602832183074845872860889547195879886051265816599101905731226884585942395727449998096548090912635425333943749 338008866586935680782467504111928361163684669866991465256339475673471062936993117282448180001520120391837141592939957216451762320894325341971772158546871754756143906510662433167930840310941074160659408865890566831565094847939590467489168928193522730405702492920164915015407447343811106819637276124004813757664249914749585096036140712612268926094821325698051013105953903997963285920053290630056726901800956221976816041820071274479385377805327283542703347223475898941925756232243095989763986062387826942710878971102019356645535882204479768684630905330401113664618588516153895963035705403484677438963471305819637016188450901852027211060616099430948177689715945940739416262176501724362309448189901512749910489846059026258223561908473463899903668777983021850027776856714297030451521842880338557639351185269444166429092607273149962838376452056406006763243041650763234593861166467072063019173559580805241455934903233521543136016690679817144752438555003539872651534358158199852004739417484804095039221835309232004551574092685498805274534108470686301162070811806818156783046280051830403618676896989588867651854834560447735386609837298983595219192867181710547480791266058372313945632479849148726873400923158729990889495727966042743147236936946704702848803182963706372562378937126373497090006371690397506651994213766036441933825860670844466512740214212527513636739857896402695542138220956794647271858399137225856722233638126973526991108591922050980331927060846489731351639920347783680335229492778189238065528204626239771401655449616465575582091406110170143982672901889760149831217966728724141719012638849638496895569850842924335151380508357583901750909860043583937547331071262173314888310035152729096039251739885927683914154751877457214818052392183898874109356678862623873021467426735811366708285410479780926670421664095580882437510923348898736504780529965225365064400376485886434104364046578047225908769301191598485178422079346256473762179601741459436959779283137717509821207434573161009307315263452852685694973182151814721184514435224090917961500694399176438394282887569129335778111130136058538437321482722157484587585949127951461017755530878367291843357503549539265094228296023448547377188491163344980658613041750281858734172935472671506240779530810370459091407117685640452204043875698129146894728281716600923377853719321464459683281594320513148976358841756247 546909834636490595976965431287313317089476858494949122701451741638292146689313507479725250364753107281233770089452464047786668500543422786320182814042935089613023491578082787765540194213389250408609607540921114013457752835675474725710029744693769083876667304233680618981064937497482035882211925348894213346605212709410383029121550690444645273414038040586091174127289858154351546665069737455535253551104404532397643376785887342539654155221038766854945050261660392942613038501143742306664547941627162221274504202029902169371384813203540875122553876105473323934652243520682726171729561028793526282168092647758853671156814592306778544259315690284940615298940868649589037678553160184465442595287413001560914545451848527801981588913423745432122324701672816731825315425650271087356512027673309924567815967894559990427543204989061763128503933525687251411393965673437877434289602793612125007769391409526258312769009246007604169584456663917500572802404171966355250502622192506174571270134958327858110061266779583614316798657422714914482783254142408841465326406340360513600355557781867176337759231339663075455411641129647096876073195846887885886898679881366424961267773503282072503860243329322184838536714674853458185662327495245033732699905714572458490358765203207098845077379668063189046258295190204195730625898509890386140839746386595209808628940488354665679813002444980311511313082379807887601737895830871036224063489413789099833437733785579800451640271026125508932043315159949011134227098390417363231381643002918425908761291351635424936400921035711269740082865554523992829059251253521425353164968593396009443266875357761943950412198058097176097452388160723835138708936123316508430156862041296972626071144821467556386724821224502979710961439075297685563409170567469424021446408574818232250566026506617185265517621769759347096386965708421621954707590098519868502818169449719413674352418594602182352274268187159238727674047104875191397094345135627307047313129871911711135031987701041495031585127421103827665686839000192797047674661340445561120738535239810055916568306035297723356953459223408735008936341429257673300480514187964170863732290108490942670119817368178375758396489993625849770142432132837356160779978507515833119363977081900991406265029363476061923590192531513313093591071578015198160544880818506654604738305263860187133279690868604061611784175699996 884918701223426276759432935399241678253161528361940587957791217311763209626306624762173430366273227673070911682392421264238430821437748128291954972589806844369167398088745220933471034524330324569269016406811680845022847683615065193199198672887291814282369797153845533996472384841293142701849201472899027104269462624159968125157691403056914199508859366284142187233243762152314832585123028085591980452905360754374459418605958617019039533026366050397648397485136291884538794733386838296428534004014989163985383173131921526016920695408020643807184781435874437599270832036836622134765266432278203721131563953578490687345265494158805755319931789715888792988656814590328453940729661908827752043477314514310825035297907554060205150821897209332025993479655838581853092282364568117808033870553648482207167153164004156856635812262211725966880385582093258174637007324201112028150769260684188026942950990331499768703912479529147305601147343734645325240959175506227902036980350706026576009552443131953149283102088815618868372750108213719757317362613095142627397218147178670383401837833697579956436128329251943107266475690094832262683033145871481106091547063076972442059039561654386449492723178470911711937637833583449075158055461287776879936842661277161339161948166913471407456316794436686136264666880601702382620112275926828074665607057439676321369154700882179316552860341383007053451303336602534873596294968096892946297127540762626824546325707630780783567331872615240283683235507732691469456591168606601296909847629158197310416740968101000518492327145881413722755767444284142660277217982245567072177607443034506338836726200686279101792706415681077848362248204307772686040007385489823318466897194026068665322884707395240300879573101960194529013831259196559672765849430093297042913835310629598958851436986398111935939285865340229533897889057320358459488120063745233567218545935605847778716465172649408261043569378757723906096126451131665159273946877086744007092413009629220956239422274202504338900390873956513360660021152007518232189096564536479082239229638986494310851193604427059135064589359467273446257824151415157888066463315915631881487820986858234513477320917717640852624786017074397147330923296182336819393020257797691853536912554572497647044560173846521014997310217153765297634947276144345055273162535107577982592024585324646816561285189117210588143017456243 1431828535859916872736398366686554995342638386856889710659242958950055356315620132241898680731026334954304681771844885312025099321981170914612137786632741933982190889666828008699011228737719574977878623947732794858480600519290539918909228417581060898159037101387526152977537322338775178584061126821793240450874675333570351154279242093501559472922897406870233361360533620306666379250192765541127234004009765286772102795391845959558693688247404817252593447746796684827151833234530580603093081945642151385259887375161823695388305508611561518929738657541347761533923075557519348306494827461071730003299656601337344358502080086465584299579247480000829408287597683239917491619282822093293194638764727515871739580749756081862186739735320954764148318181328655313678407708014839205164545898226958406774983121058564147284179017251273489095384319107780509586030972997638989462440372054296313034712342399857758081472921725536751475185604007652145898043363347472583152539602543212201147279687401459811259344368868399233185171407530928634240100616755503984092723624487539183983757395615564756294195359668915018562678116819741929138756228992759366992990226944443397403326813064936458953352966507793096550474352508436907260820382956532810612636748375849619829520713370120570252533696462499875182522962070805898113246010785817214215505353444034886129998095189236844996365862786363318564764385716410422475334190798967929170360616954551726657984059493210581235207602898740749215726550667681702603683689559023964528291490632076623219178032319736425454893248181592683462838632998808135489336469235766992425342576036430515782103601558448223052204904473778253945814636365031607824748943508806331748623759235323041291394029528862796687604394326463174239975270334494245236175019997562721064360243885447831209417463493015297201456907635099576630284854765741980414195710162265102070036715385325261453068883767251590613317837565916962633770173556006856556368292012714051054405542881540932091271409975243999370485518295060341026346860152200315279863757904982040202977764878796550227419499639724782492018048582876008455194165580672831188546977503879802745220111095349177183597138285896016611021276010700246917473355429019692980172998765313524972900889636473489053309589537322582938587502748667078391226018854159543215818043353614232587330329849184833949840976057721272199927193156239 2316747237083343149495831302085796673595799915218830298617034176261818565941926757004072111097299562627375593454237306576263530143418919042904092759222548778351358287755573229632482263262049899547147640354544475703503448202905605112108427090468352712441406898541371686974009707180068321285910328294692267555144137957730319279436933496558473672431756773154375548593777382458981211835315793626719214456915126041146562213997804576577733221273770867650241845231932976711690627967917418899521615949657140549245270548293745221405226204019582162736923438977222199133193907594355970441260093893349933724431220554915835045847345580624390054899179269716718201276254497830245945560012484002120946682242042030182564616047663635922391890557218164096174311660984493895531499990379407322972579768780606888982150274222568304140814829513485215062264704689873767760667980321840101490591141314980501061655293390189257850176834205065898780786751351386791223284322522978811054576582893918227723289239844591764408627470957214852053544157639142353997417979368599126720120842634717854367159233449262336250631487998166961669944592509836761401439262138630848099081774007520369845385852626590845402845689686264008262411990342020356335978438417820587492573591037126781168682661537034041659990013256936561318787628951407600495866123061744042290170960501474562451367249890119024312918723127746325618215689053012957348930485767064822116657744495314353482530385200841362018774934771355989499409786175414394073140280727630565825201338261234820529594773287837425973385575327474097185594400443092278149613687218012559497520183479465022120940327759134502153997610889459331794176884569339380510788950894296155067090656429349109956716914236258036988483967428423368768989101593690804908940869427656018107274079196077430168268900479413409137396193500439806164182743823062338873683830226010335637255261320931109231785348939900998874361406944674686539866300007138521715642238889800795061497955891170153047510832249446503709385909169016854387006881304207833512052854469518519285216994517783044538270693244151841627082637942343281901451989732087989076613440819795434626707932082207411697074459203613657463646062027774644064804278725202029799566019023111216826437802191045986700354149711169103953584812965820843688860966130303888271091205888721810569922354434509480766402261246838482788070210612482 3748575772943260022232229668772351668938438302075720009276277135211873922257546889245970791828325897581680275226082191888288629465400089957516230545855290712333549177422401238331493491999769474525026264302277270561984048722196145031017655508049413610600443999928897839951547029518843499869971455116485508006018813291300670433716175590060033145354654180024608909954311002765647591085508559167846448460924891327918665009389650536136426909521175684902835292978729661538842461202447999502614697895299291934505157923455568916793531712631143681666662096518569960667116983151875318747754921354421663727730877156253179404349425667089974354478426749717547609563852181070163437179295306095414141321006769546054304196797419717784578630292539118860322629842313149209209907698394246528137125667007565295757133395281132451424993846764758704157649023797654277346698953319479090953031513369276814096367635790047015931649755930602650255972355359038937121327685870451394207116185437130428870568927246051575667971839825614085238715565170070988237518596124103110812844467122257038350916629064827092544826847667081980232622709329578690540195491131390215092072000951963767248712665691527304356198656194057104812886342850457263596798821374353398105210339412976400998203374907154611912523709719436436501310591022213498609112133847561256505676313945509448581365345079355869309284585914109644182980074769423379824264676566032751287018361449866080140514444694051943253982537670096738715136336843096096676823970286654530353492828893311443748772805607573851428278823509066780648433033441900413638950156453779551922862759515895537903043929317582725206202515363237585739991520934370988335537894403102486815714415664672151248110943765120833676088361754886543008964371928185050145115889425218739171634323081525261377686363972428706338853101135539382794467598588804319287879540388275437707291976706256370684854232707152589487679244510591649173636473563145378272010530902514846115903498772711085138782242224690503079871427464077195413353741456408148791916612374500559488194759396579594765690192883876624119100686525219290356646155312760820265160418323675237371928043177556588880671597489509674074667338038474890982277634154221722779739017788424741799338691827519475753663739248491686892172315714487922080086984984463431486909249242336043157252684283694314716243237304559754987997403768721 6065323010026603171728060970858148342534238217294550307893311311473692488199473646250042902925625460209055868680319498464552159608819009000420323305077839490684907465177974467963975755261819374072173904656821746265487496925101750143126082598517766323041850898470269526925556736698911821155881783411177775561162951249030989713153109086618506817786410953178984458548088385224628802920824352794565662917840017369065227223387455112714160130794946552553077138210662638250533089170365418402136313844956432483750428471749314138198757916650725844403585535495792159800310890746231289189015015247771597452162097711169014450196771247714364409377606019434265810840106678900409382739307790097535088003248811576236868812845083353706970520849757282956496941503297643104741407688773653851109705435788172184739283669503700755565808676278243919219913728487528045107366933641319192443622654684257315158022929180236273781826590135668549036759106710425728344612008393430205261692768331048656593858167090643340076599310782828937292259722809213342234936575492702237532965309756974892718075862514089428795458335665248941902567301839415451941634753270021063191153774959484137094098518318118149759044345880321113075298333192477619932777259792173985597783930450103182166886036444188653572513722976372997820098219973621099104978256909305298795847274446984011032732594969474893622203309041855969801195763822436337173195162333097573403676105945180433623044829894893305272757472441452728214546123018510490749964251014285096178694167154546264278367578895411277401664398836540877834027433884992691788563843671792111420382942995360560023984257076717227360200126252696917534168405503710368846326845297398641882805072094021261204827858001378870664572329183309911777953473521875855054056758852874757278908402277602691545955264451842115476249294635979188958650342411866658161563370614285773344547238027187479916639581647053588362040651455266335713502773570283899987652769792315641177401454663881238186293074474137006789257336633094049800360622760615982303969466844019078773411753914362639303960886128028465746183324467562572258098145044848809341773859143470671998635975259764000577746056693123331538313400066249535047081912879423752579305036811535958625776494018565462454017888959660790845757128680308765768947951114767319758000455131057853727175038718203795482645498551398237776067614381203 9813898782969863193960290639630500011472676519370270317169588446685566410457020535496013694753951357790736143906401690352840789074219098957936553850933130203018456642600375706295469247261588848597200168959099016827471545647297895174143738106567179933642294898399167366877103766217755321025853238527663283567181764540331660146869284676678539963141065133203593368502399387990276394006332911962412111378764908696983892232777105648850587040316122237455912431189392299789375550372813417904751011740255724418255586395204883054992289629281869526070247632014362120467427873898106607936769936602193261179892974867422193854546196914804338763856032769151813420403958859970572819918603096192949229324255581122291173009642503071491549151142296401816819571345610792313951315387167900379246831102795737480496417064784833206990802523043002623377562752285182322454065886960798283396654168053534129254390564970283289713476346066271199292731462069464665465939694263881599468808953768179085464427094336694915744571150608443022530975287979284330472455171616805348345809776879231931068992491578916521340285183332330922135190011168994142481830244401411278283225775911447904342811184009645454115243002074378217888184676042934883529576081166527383702994269863079583165089411351343265485037432695809434321408810995834597714090390756866555301523588392493459614097940048830762931487894955965613984175838591859716997459838899130324690694467395046513763559274588945248526740010111549466929682459861606587426788221300939626532186996047857708027140384502985128829943222345607658482460467326893105427514000125571663343245702511256097927028186394299952566402641615934503274159926438081357181864739700501128698519487758693412452938801766499704340660690938196454786917845450060905199172648278093496450542725359127952923641628424270821815102395771518571753117941000670977449442911002561211051839214733443850601493814354206177849719895965857984887139247133429278259663300694830487293304953436592323325075316698827509869128764097171245213714364217024131095886079218519638261606513310942234069651079011905089865284010992781862614744300357609629606934277467145909370564018437320589458417654182633005612980738104724426029359547033645475359044054599960700425115185846084938207681628208152477737929444394796687849034936099230751244909704373393896884427723001898110198888735855957992764065018149924 15879221792996466365688351610488648354006914736664820625062899758159258898656494181746056597679576817999792012586721188817392948683038107958356877156010969693703364107778350174259445002523408222669374073615920763092959042572399645317269820705084946256684145796869436893802660502916667142181735021938841059128344715789362649860022393763297046780927476086382577827050487773214905196927157264756977774296604926066049119456164560761564747171111068790008989569400054938039908639543178836306887325585212156902006014866954197193191047545932595370473833167510154280267738764644337897125784951849964858632055072578591208304742968162518703173233638788586079231244065538870982202657910886290484317327504392698528041822487586425198519671992053684773316512848908435418692723075941554230356536538583909665235700734288533962556611199321246542597476480772710367561432820602117475840276822737791444412413494150519563495302936201939748329490568779890393810551702657311804730501722099227742058285261427338255821170461391271959823235010788497672707391747109507585878775086636206823787068354093005950135743518997579864037757313008409594423464997671432341474379550870932041436909702327763603874287347954699330963483009235412503462353340958701369300778200313182765331975447795531919057551155672182432141507030969455696819068647666171854097370862839477470646830535018305656553691203997821583785371602414296054170655001232227898094370573340226947386604104483838553799497482553002195144228582880117078176752472315224722710881163202403972305507963398396406231607621182148536316487901211885797216077843797363774763628645506616657951012443471017179926602767868631420808328331941791726028191584997899770581324559852714673657766659767878575005233020121506366564871318971936760253229407130968253729451127636730644469596892876112937291351690407497760711768283412537635611006281616846984396386452760631330518133396001259766211760547421124320600642020703713178247316070487146128470706408100473561511368391172964516658386100730265295014074986977640113399855546062538717035018267225304873373611965139933555611467335460344434872842445402458438948708136610616581369199993697084590036163710875756337151294138170973961076441459913069227938349091411496659050891679864650400661699517167813268583686573075105453617982887213998071002910159504451750611602761720101905681534234407356230540132632531127 25693120575966329559648642250119148365479591256035090942232488204844825309113514717242070292433528175790528156493122879170233737757257206916293431006944099896721820750378725880554914249784997071266574242575019779920430588219697540491413558811652126190326440695268604260679764269134422463207588260466504342695526480329694310006891678439975586744068541219586171195552887161205181590933490176719389885675369834763033011688941666410415334211427191027464902000589447237829284189915992254211638337325467881320261601262159080248183337175214464896544080799524516400735166638542444505062554888452158119811948047446013402159289165077323041937089671557737892651648024398841555022576513982483433546651759973820819214832130089496690068823134350086590136084194519227732644038463109454609603367641379647145732117799073367169547413722364249165975039233057892690015498707562915759236930990791325573666804059120802853208779282268210947622222030849355059276491396921193404199310675867406827522712355764033171565741611999714982354210298767782003179846918726312934224584863515438754856060845671922471476028702329910786172947324177403736905295242072843619757605326782379945779720886337409057989530350029077548851667685278347386991929422125228753003772470176262348497064859146875184542588588367991866462915841965290294533159038423038409398894451231970930260928475067136419485179098953787197769547441006155771168114840131358222785065040735273461150163379072783802326237492664551662073911042741723665603540693616164349243068159250261680332648347901381535061550843527756194798948368538778902643591843922935438106874348017872755878040629865317132493005409484565924082488258379873083210056324698400899279844047611408086110705461534378279345893711059702821351789164421997665452402055409061750179993852995858597393238521300383759106454086179016332464886224413208613060449192619408195448225667494075181119627210355465944061480443386982305487781267837142456506979371181976615764011361537065884836443707871792026527514864827436540227789351194664244495741625281058355296624780536247107443263044151838645476751346453126297487586745760068068555642414077762490739764012134405179494581365058389342764274876275698387105801006946714703297393146011457359476006865710735338869381145375965746321616017469902141467017823313228822247819863877845647496030484722000015880422970263314223304197650681051 41572342368962795925336993860607796719486505992699911567295387963004084207770008898988126890113104993790320169079844067987626686440295314874650308162955069590425184858157076054814359252308405293935948316190940543013389630792097185808683379516737072447010586492138041154482424772051089605389323282405345401823871196119056959866914072203272633524996017305968749022603374934420086787860647441476367659971974760829082131145106227171980081382538259817473891569989502175869192829459171090518525662910680038222267616129113277441374384721147060267017913967034670681002905403186782402188339840302122978444003120024604610464032133239841745110323310346323971882892089937712537225234424868773917863979264366519347256654617675921888588495126403771363452597043427663151336761539051008839959904179963556810967818533361901132104024921685495708572515713830603057576931528165033235077207813529117018079217553271322416704082218470150695951712599629245453087043099578505208929812397966634569580997617191371427386912073390986942177445309556279675887238665835820520103359950151645578643129199764928421611772221327490650210704637185813331328760239744275961231984877653311987216630588665172661863817697983776879815150694513759890454282763083930122304550670489445113829040306942407103600139744040174298604422872934745991352227686089210263496265314071448400907759010085442076038870302951608781554919043420451825338769841363586120879435614075500408536767483556622356125734975217553857218139625621840743780293165931389071953949322452665652638156311299777941293158464709904731115436269750664699859669687720299212870502993524489413829053073336334312419608177353197344890816590321664809238247909696300669861168607464122759768472121302256854351126731181209187916660483393934425705631462540030003909444980632589241862835414176496696397805776586514093176654507825746248671455474236255179844612120254706511637760606356725710273240990808106626088423288540855634754295441669122744234717769637539446347812099044756543185900965557701835241864338172304357895597171343597072331643047761551980816875009291772201088218681913470732360429191162526507504350550688379072108964005831489769530745075934145679915569014446672348182242466859783931235742237422954018526898545575385739531080662543779014905302590545007595085000710527226893250730023382297398107633246442101921561957204670670453844330283212178 67265462944929125484985636110726945084966097248735002509527876167848909516883523616230197182546633169580848325572966947157860424197552521790943739169899169487147005608535801935369273502093402365202522558765960322933820219011794726300096938328389198637337027187406645415162189041185512068596911542871849744519397676448751269873805750643248220269064558525554920218156262095625268378794137618195757545647344595592115142834047893582395415593965450844938793570578949413698477019375163344730164000236147919542529217391272357689557721896361525163561994766559187081738072041729226907250894728754281098255951167470618012623321298317164787047412981904061864534540114336554092247810938851257351410631024340340166471486747765418578657318260753857953588681237946890883980800002160463449563271821343203956699936332435268301651438644049744874547554946888495747592430235727948994314138804320442591746021612392125269912861500738361643573934630478600512363534496499698613129123073834041397103709972955404598952653685390701924531655608324061679067085584562133454327944813667084333499190045436850893087800923657401436383651961363217068234055481817119580989590204435691932996351475002581719853348048012854428666818379792107277446212185209158875308323140665707462326105166089282288142728332408166165067338714900036285885386724512248672895159765303419331168687485152578495524049401905395979324466484426607596506884681494944343664500654810773869686930862629406158451972467882105519292050668363564409383833859547553421197017481702927332970804659201159476354709308237660925914384638289443602503261531643234650977377341542362169707093703201651444912613586837763268973304848701537892448304234394701569141012655075530845879177582836635133697020442240912009268449647815932091158033517949091754089438833628447839256073935476880455504259862765530425641540732238954861731904666855663375292837787748781692757387816712191654334721434195088931576204556377998091261274812851099359998729131174605331184255806916548569713415830385138375469653689366968602391338796624655427628267828297799088260138053443610846564970028366597029848015936922594576059992964766141562848728017965894949025326440992535022679843890722370735288043473806498634533135383434411378002905411286121078400461807919744761226918608014909736552018533840455715498549887260143045603663731164101937442380174933984677148527933893229 108837805313891921410322629971334741804452603241434914076823264130852993724653532515218324072659738163371168494652811015145487110637847836665594047332854239077572190466692877990183632754401807659138470874956900865947209849803891912108780317845126271084347613679544686569644613813236601673986234825277195146343268872567808229740719822846520853794060575831523669240759637030045355166654785059672125205619319356421197273979154120754375496976503710662412685140568451589567669848834334435248689663146827957764796833520385635130932106617508585430579908733593857762740977444916009309439234569056404076699954287495222623087353431557006532157736292250385836417432204274266629473045363720031269274610288706859513728141365441340467245813387157629317041278281374554035317561541211472289523176001306760767667754865797169433755463565735240583120070660719098805169361763892982229391346617849559609825239165663447686616943719208512339525647230107845965450577596078203822058935471800675966684707590146776026339565758781688866709100917880341354954324250397953974431304763818729912142319245201779314699573144984892086594356598549030399562815721561395542221575082089003920212982063667754381717165745996631308481969074305867167900494948293088997612873811155152576155145473031689391742868076448340463671761587834782277237614410601458936391425079374867732076446495238020571562919704857004760879385527847059421845654522858530464543936268886274278223698346186028514577707443099659376510190293985405153164127025478942493150966804155592985608960970500937417647867772947565657029820908040108302362931219363533863847880335066851583536146776537985757332221764190960613864121439023202701686552144091002239002181262539653605647649704138891988048147173422121197185110131209866516863664980489121757998883814261037081118909349653377151902065639352044518818195240064701110403360141091918555137449908003488204395148423068917364607962425003195557664627844918853726015570254520222104233446900812144777532067905961305112899316795942840210711518027539272960286935967968252499959910876059351069077013062735383047653188710280067762208445128085121083564343515454520634957692023797384718556071516926680702595412905169043083470285940666282565768877620857365396529803956861506817931542470463523776132221198559917331637019244367682608749279910642440443711296977606203859004337379604655130992858217105407 176103268258821046895308266082061686889418700490169916586351140298701903241537056131448521255206371332952016820225777962303347534835400358456537786502753408564719196075228679925552906256495210024340993433722861188881030068815686638408877256173515469721684640866951331984806802854422113742583146368149044890862666549016559499614525573489769074063125134357078589458915899125670623545448922677867882751266663952013312416813202014336770912570469161507351478711147401003266146868209497779978853663382975877307326050911657992820489828513870110594141903500153044844479049486645236216690129297810685174955905454965840635710674729874171319205149274154447700951972318610820721720856302571288620685241313047199680199628113206759045903131647911487270629959519321444919298361543371935739086447822649964724367691198232437735406902209784985457667625607607594552761791999620931223705485422170002201571260778055572956529805219946873983099581860586446477814112092577902435188058545634717363788417563102180625292219444172390791240756526204403034021409834960087428759249577485814245641509290638630207787374068642293522978008559912247467796871203378515123211165286524695853209333538670336101570513794009485737148787454097974445346707133502247872921196951820860038481250639120971679885596408856506628739100302734818563123001135113707609286584844678287063245133980390599067086969106762400740203852012273667018352539204353474808208436923697048147910629208815434673029679910981764895802240962348969562547960885026495914347984285858520318579765629702096894002577081185226582944205546329551904866192751006768514825257676609213753243240479739637202244835351028723882837426287724740594134856378485703808143193917615184451526827286975527121745167615663033206453559779025798608021698498438213512088322647889484920374983285130257607406325502117574944459735972303655972135264807947581930430287695752269897152536239781109018942683859198284489240832401296851817276845067371321464232176031986750108716323712877853682612732626327978586181171716906241562678274764592907927588178704357150157337151116178993894218158738646664792056461065007715659624336480220662197806420041763279667581397957919215725275256795891413818758329414472781200302013004291776774532709368147627896332004278383268537359139806574827068189037778208138324247829797902583489314960708770305796446717554538639808141386150998636 284941073572712968305630896053396428693871303731604830663174404429554896966190588646666845327866109496323185314878588977448834645473248195122131833835607647642291386541921557915736539010897017683479464308679762054828239918619578550517657574018641740806032254546496018554451416667658715416569381193426240037205935421584367729355245396336289927857185710188602258699675536155715978712103707737540007956885983308434509690792356135091146409546972872169764163851715852592833816717043832215227543326529803835072122884432043627951421935131378696024721812233746902607220026931561245526129363866867089251655859742461063258798028161431177851362885566404833537369404522885087351193901666291319889959851601754059193927769478648099513148945035069116587671237800695998954615923084583408028609623823956725492035446064029607169162365775520226040787696268326693357931153763513913453096832040019561811396499943719020643146748939155386322625229090694292443264689688656106257246994017435393330473125153248956651631785202954079657949857444084744388975734085358041403190554341304544157783828535840409522486947213627185609572365158461277867359686924939910665432740368613699773422315602338090483287679540006117045630756528403841613247202081795336870534070762976012614636396112152661071628464485304847092410861890569600840360615545715166545678009924053154795321580475628619638649888811619405501083237540120726440198193727212005272752373192583322426134327555001463187607387354081424272312431256334374715712087910505438407498951090014113304188726600203034311650444854132792239974026454369660207229123970370302378673138011676065336779387256277622959577057115219684496701547726747943295821408522576706047145375180154838057174476991114419109793314789085154403638669910235665124885363478927335270087206462150522001493892634783634759308391141469619463277931212368357082538624949039500485567737603755758101547684662850026383550646284201480046905460246215705543292415321891543568465622932798894886248391618839158795512049422270818796892689744445514522965210732561160427548089580416501226414164178914376941871347448926732554264906193092836743188679995675182832764112065560664386137469474845896427870669701060456902228615355139063766070890625149142171062513325009134714263546748846792313491361005134744399826057022575820932997109708545023933026257686376509655451054934143294939134244368104043 461044341831534015200939162135458115583290004221774747249525544728256800207727644778115366583072480829275202135104366939752182180308648553578669620338361056207010582617150237841289445267392227707820457742402623243709269987435265188926534830192157210527716895413447350539258219522080829159152527561575284928068601970600927228969770969826059001920310844545680848158591435281386602257552630415407890708152647260447822107605558149427917322117442033677115642562863253596099963585253329995206396989912779712379448935343701620771911763645248806618863715733899947451699076418206481742819493164677774426611765197426903894508702891305349170568034840559281238321376841495908072914757968862608510645092914801258874127397591854858559052076682980603858301197320017443873914284627955343767696071646606690216403137262262044904569267985305211498455321875934287910692945763134844676802317462189564012967760721774593599676554159102260305724810951280738921078801781234008692435052563070110694261542716351137276924004647126470449190613970289147422997143920318128831949803918790358403425337826479039730274321282269479132550373718373525335156558128318425788643905655138395626631649141008426584858193334015602782779543982501816058593909215297584743455267714796872653117646751273632751514060894161353721149962193304419403483616680828874154964594768731441858566714456019218705736857918381806241287089552394393458550732931565480080960810116280370574044956763816897860637067265063189168114672218683344278260048795531934321846935375872633622768492229905131205653021935318018822918232000699212112095316721377070893498395688285279090022627736017260161821892466248408379538974014472683889956264901062409855288569097770022508701304278089946231538482404748187610092229689261463732907061977365548782175529110040006921868875919913892366714716643587194407737667184672013054673889756987082415998025299508027998700220902631135402493330143399764536146292647512557360569260389262865032697798964785644994964715331717012478124782048598797383073861461351756085643485497154068355136268284773651383751315295093370836089506187573397346321367258100552402813016475895845030570532107323944053718867432765112153145926496951870720986944769611844966372903629440918945595222693156762610595551027230060850850500811709571468015094800783959257244939506447607422341218395146815451897772488681934747275630519102679 745985415404246983506570058188854544277161307953379577912699949157811697173918233424782211910938590325598387449982955917201016825781896748700801454173968703849301969159071795757025984278289245391299922051082385298537509906054843739444192404210798951333749149959943369093709636189739544575721908755001524965274537392185294958325016366162348929777496554734283106858266971437102580969656338152947898665038630568882331798397914284519063731664414905846879806414579106188933780302297162210433940316442583547451571819775745248723333698776627502643585527967646850058919103349767727268948857031544863678267624939887967153306731052736527021930920406964114775690781364380995424108659635153928400604944516555318068055167070502958072201021718049720445972435120713442828530207712538751796305695470563415708438583326291652073731633760825437539243018144260981268624099526648758129899149502209125824364260665493614242823303098257646628350040041975031364343491469890114949682046580505504024734667869600093928555789850080550107140471414373891811972878005676170235140358260094902561209166362319449252761268495896664742122738876834803202516245053258336454076646023752095400053964743346517068145872874021719828410300510905657671841111297092921613989338477772885267754042863426293823142525379466200813560824083874020243844232226544040700642604692784596653888294931647838344386746730001211742370327092515119898748926658777485353713183308863693000179284318818361048244454619144613440427103475017718993972136706037372729345886465886746926957218830108165517303466789450811062892258455068872319324440691747373272171533699961344426802014992294883121398949581468092876240521741220627185777673423639115902433944277924860565875781269204365341331797193833342013730899599497128857792425456292884052262735572190528923362768554697527126023107785056813871015598397040370137212514706026582901565762903263786100247905565481161786043976427601244583051752893728262903861675711154408601163421897584539881213106950556171273636831470869616179966551205797270608608696229715228782684357865190152610165479474007747777960853636500129900586273451193389146001696471571027863334644172884608439856336907611008581016596198012327623215560124750908732443794254590061116657736018165897324859097776076853164341861816844315867841151823359780190242049214992631355367476081523325107348827422825229686409874887206722 1207029757235780998707509220324312659860451312175154325162225493886068497381645878202897578494011071154873589585087322856953199006090545302279471074512329760056312551776222033598315429545681473099120379793485008542246779893490108928370727234402956161861466045373390719632967855711820373734874436316576809893343139362786222187294787335988407931697807399279963955016858406718489183227208968568355789373191277829330153906003472433946981053781856939523995448977442359785033743887550492205640337306355363259831020755119446869495245462421876309262449243701546797510618179767974209011768350196222638104879390137314871047815433944041876192498955247523396014012158205876903497023417604016536911250037431356576942182564662357816631253098401030324304273632440730886702444492340494095564001767117170105924841720588553696978300901746130649037698340020195269179317045289783602806701466964398689837332021387268207842499857257359906934074850993255770285422293251124123642117099143575614718996210585951231205479794497207020556331085384663039234970021925994299067090162178885260964634504188798488983035589778166143874673112595208328537672803181576762242720551678890491026685613884354943653004066208037322611189844493407473730435020512390506357444606192569757920871689614699926574656586273627554534710786277178439647327848907372914855607199461516038512455009387667057050123604648383017983657416644909513357299659590342965434673993425144063574224241082635258908881521884207802608541775693701063272232185501569307051192821841759380549725711060013296722956488724768829885810490455768084431419757413124444165669929388246623516824642728312143283220842047716501255779495755693311075733938324701525757722513375694883074577085547294311572870279598581529623823129288758592590699487433658432834438264682230535845231644474611419492737824428644008278753265581712383191886404463013665317563788202771814098948126468112297188537306571001009119198045541240820264430936100417273633861220862370184876177822282273183751761613519468413563040412667149026694252181726869297137820626149963803993916794769101118614050359824073527246907640709293941548814712947466872893905176280208552493575204340376120734162522694964198344202504894362753698816697884030980062252958711322659935454648803306914015192362628553887335856246624143739447486988721440238777708694476670140559246599911507164433685505406309401 1953015172640027982214079278513167204137612620128533903074925443043880194555564111627679790404949661480471977035070278774154215831872442050980272528686298463905614520935293829355341413823970718490420301844567393840784289799544952667814919638613755113195215195333334088726677491901559918310596345071578334858617676754971517145619803702150756861475303954014247061875125378155591764196865306721303688038229908398212485704401386718466044785446271845370875255392021465973967524189847654416074277622797946807282592574895192118218579161198503811906034771669193647569537283117741936280717207227767501783147015077202838201122164996778403214429875654487510789702939570257898921132077239170465311854981947911895010237731732860774703454120119080044750246067561444329530974700053032847360307462587733521633280303914845349052032535506956086576941358164456250447941144816432360936600616466607815661696282052761822085323160355617553562424891035230801649765784721014238591799145724081118743730878455551325134035584347287570663471556799036931046942899931670469302230520438980163525843670551117938235796858274062808616795851472043131740189048234835098696797197702642586426739578627701460721149939082059042439600145004313131402276131809483427971433944670342643188625732478126220397799111653093755348271610361052459891172081133916955556249804154300635166343304319314895394510351378384229726027743737424633256048586249120450788387176734007756574403525401453619957125976503352416048968879168718782266204322207606679780538708307646127476682929890121462240259955514219640948702748910836956750744198104871817437841463088207967943626657720607026404619791629184594132020017496913938261511611748340641660156457653619743640452866816498676914202076792414871637554028888255721448491912889951316886701000254421064768594413029308946618760932213700822149768863978752753329098919169040248219129551106035600199196032033593458974581282998602253702249798434969083168292611811571682235024642759954724757390929232829355025398444990338029743006963872946297302860877956584525920504984015153956604082274243108866392011213460573657147493914160487330694816409419037900757239820453093160933431541247987129315179118892976525967418065019113662431260492138621041178910694729488557260313746579383767179534224445398203203697398447503519637729037936432870133076170558193465666595427334332394120095380293516123 3160044929875808980921588498837479863998063932303688228237150936929948691937209989830577368898960732635345566620157601631107414837962987353259743603198628223961927072711515862953656843369652191589540681638052402383031069693035061596185646873016711275056681240706724808359645347613380292045470781388155144751960816117757739332914591038139164793173111353294211016891983784874080947424074275289659477411421186227542639610404859152413025839228128784894870704369463825759001268077398146621714614929153310067113613330014638987713824623620380121168484015370740445080155462885716145292485557423990139888026405214517709248937598940820279406928830902010906803715097776134802418155494843187002223105019379268471952420296395218591334707218520110369054519700002175216233419192393526942924309229704903627558122024503399046030333437253086735614639698184651519627258190106215963743302083431006505499028303440030029927823017612977460496499742028486571935188077972138362233916244867656733462727089041502556339515378844494591219802642183699970281912921857664768369320682617865424490478174739916427218832448052228952491468964067251460277861851416411860939517749381533077453425192512056404374154005290096365050789989497720605132711152321873934328878550862912401109497422092826146972455697926721309882982396638230899538499930041289870411857003615816673678798313706981952444633956026767247709685160382334146613348245839463416223061170159151820148627766484088878866007498387560218657510654862419845538436507709175986831731530149405508026408640950134758963216444238988470834513239366605041182163955517996261603511392476454591460451300448919169687840633676901095387799513252607249337245550073042167417878971029314626715029952363792988487072356390996401261377158177014314039191400323609749721139264936651600613826057503920366111498756642344830428522129560465136520985323632053913536693339308807414298144158501705756163118589569603262821447843976209903432723547911988955868885863622324909633568751515102538777160058509806443306047376540095323997113059683453823058325610165117760597999069012209985006061573284647184394401554869781272243631122366504773651144996733301713427006745588363250049341641587940724311620569913476416130077190022652021241163653440811217195768395382690681194726587073952090539553645071647259085216026657873108910784865034863606225842027245839558553780885699825524 5113060102515836963135667777350647068135676552432222131312076379973828886492774101458257159303910394115817543655227880405261630669835429404240016131884926687867541593646809692308998257193622910079960983482619796223815359492580014264000566511630466388251896436040058897086322839514940210356067126459733479610578492872729256478534394740289921654648415307308458078767109163029672711620939582010963165449651094625755125314806245870879070624674400630265745959761485291732968792267245801037788892551951256874396205904909831105932403784818883933074518787039934092649692746003458081573202764651757641671173420291720547450059763937598682621358706556498417593418037346392701339287572082357467534960001327180366962658028128079366038161338639190413804765767563619545764393892446559790284616692292637149191402328418244395082365972760042822191581056349107770075199334922648324679902699897614321160724585492791852013146177968595014058924633063717373584953862693152600825715390591737852206457967497053881473550963191782161883274198982736901328855821789335237671551203056845588016321845291034365454629306326291761108264815539294592018050899651246959636314947084175663880164771139757865095303944372155407490390134502033736534987284131357362300312495533255044298123154570952367370254809579815065231254006999283359429672011175206825968106807770117308845141618026296847839144307405151477435712904119758779869396832088583867011448346893159576723031291885542498823133474890912634706479534031138627804640829916782666612270238457051635503091570840256221203476399753208111783215988277441997932908153622868079041352855564662559404077958169526196092460425306085689519819530749521187598757161821382809078035428682934370355482819180291665401274433183411272898931187065270035487683313213561066607840265191072665382420470533229312730259688856045652578290993539217889850084242801094161755822890414843014497340190535299215137699872568205516523697642411178986601016159723560638103910506382279634390959680747931893802558503500144473049054340413041621299973937640038348978830594180271717202081343255318851398072786745220841541895469030268602938447531785542674408384817186394874360438286836350379364520760480917250279038634932590078561337682161273062420074348170299774456082141962074448374260811519350293743251043519150778722945064594305979043861035593057071892437454580171952673876265993341647 8273105032391645944057256276188126932133740484735910359549227316903777578429984091288834528202871126751163110275385482036369045507798416757499759735083554911829468666358325555262655100563275101669501665120672198606846429185615075860186213384647177663308577676746783705445968187128320502401537907847888624362539308990486995811448985778429086447821526660602669095659092947903753659045013857300622642861072280853297764925211105023292096463902529415160616664130949117491970060344643947659503507481104566941509819234924470093646228408439264054243002802410674537729848208889174226865688322075747781559199825506238256698997362878418962028287537458509324397133135122527503757443066925544469758065020706448838915078324523297957372868557159300782859285467565794761997813084840086733208925921997540776749524352921643441112699410013129557806220754533759289702457525028864288423204783328620826659752888932821881940969195581572474555424375092203945520141940665290963059631635459394585669185056538556437813066342036276753103076841166436871610768743647000006040871885674711012506800020030950792673461754378520713599733779606546052295912751067658820575832696465708741333589963651814269469457949662251772541180123999754341667698436453231296629191046396167445407620576663778514342710507506536375114236403637514258968171941216496696379963811385933982523939931733278800283778263431918725145398064502092926482745077928047283234509517052311396871659058369631377689140973278472853363990188893558473343077337625958653444001768606457143529500211790390980166692843992196582617729227644047039115072109140864340644864248041117150864529258618445365780301058982986784907619044002128436936002711894424976495914399712248997070512771544084653888346789574407674160308345242284349526874713537170816328979530127724265996246528037149678841758445498390483006813123099683026371069566433148075292516229723650428795484349037004971300818462137808779345145486387388890033739707635549593972796370004604544024528432263034432579718562009950916355101716953136945297086997323492172037156204345389477800080412267528836404134360029868025936297023900049875182078654152047448059529813919696587787445032424713629413862402068857974590659204846066494691414872183925083661238001611110991651850537344765129568987398593302384282804688590798037808161091252179087954645900627920678118279481826011511227657151693167171 13386165134907482907192924053538774000269417037168132490861303696877606464922758192747091687506781520866980653930613362441630676177633846161739775866968481599697010260005135247571653357756898011749462648603291994830661788678195090124186779896277644051560474112786842602532291026643260712757605034307622103973117801863216252289983380518719008102469941967911127174426202110933426370665953439311585808310723375479052890240017350894171167088576930045426362623892434409224938852611889748697292400033055823815906025139834301199578632193258147987317521589450608630379540954892632308438891086727505423230373245797958804149057126816017644649646244015007741990551172468920205096730639007901937293025022033629205877736352651377323411029895798491196664051235129414307762206977286646523493542614290177925940926681339887836195065382773172379997801810882867059777656859951512613103107483226235147820477474425613733954115373550167488614349008155921319105095803358443563885347026051132437875643024035610319286617305228058914986351040149173772939624565436335243712423088731556600523121865321985158128091060704812474707998595145840644313963650718905780212147643549884405213754734791572134564761894034407180031570258501788078202685720584588658929503541929422489705743731234730881712965317086351440345490410636797618397843952391703522348070619156051291369081549759575648122922570837070202581110968621851706352141910016631150245957863945470973594690350255173876512274448169385488070469722924697101147718167542741320056272007063508779032591782630647201370169243745404694400945215921489037047980262763732419686217103605779710268607216787971561872761484289072474427438574751649624534759873715807785573949828395183367425995590724376319289621222757818947059239532307554385014558026750731882936819795318796931378666998570378991572018134354436135585104116638900916221153809234242237048339120138493443292824539572304186438518334706014295868843128798567876634755867359110232076706876386884178415488113010966326382277065510095389404156057366178566597060934963530521015986798525661195002161755522847687802207146775088867478192492930318478120526185937590122467914631106091462147883319261064008778383162549775224869697839778656573252752554345198146081312349781410766107932679306839577943248210112652678026055732109948816531106155846485066998506936220977750010716936406183463901533417686508818 21659270167299128851250180329726900932403157521904042850410531013781384043352742284035926215709652647618143764205998844477999721685432262919239535602052036511526478926363460802834308458320173113418964313723964193437508217863810165984372993280924821714869051789533626307978259213771581215159142942155510728335657110853703248101432366297148094550291468628513796270085295058837180029710967296612208451171795656332350655165228455917463263552479459460586979288023383526716908912956533696356795907514160390757415844374758771293224860601697412041560524391861283168109389163781806535304579408803253204789573071304197060848054489694436606677933781473517066387684307591447708854173705933446407051090042740078044792814677174675280783898452957791979523336702695209069760020062126733256702468536287718702690451034261531277307764792786301937804022565416626349480114384980376901526312266554855974480230363358435615895084569131739963169773383248125264625237744023734526944978661510527023544828080574166757099683647264335668089427881315610644550393309083335249753294974406267613029921885352935950801552815083333188307732374752386696609876401786564600787980340015593146547344698443386404034219843696658952572750382501542419870384157037819955558694588325589935113364307898509396055675824592887815459726814274311877366015893608200218728034430541985273893021481492854448406700834268988927726509033123944632834886987944678433480467380997782370466349408624805254201415421447858341434459911818255574490795505168699973500273775669965922562091994421038181536862087737601277018674443565536076163052371904596760331081351646896861133136475406416927653062543272059259335057618753778061470762585610232762069864228107432364496508362268460973177968012332226621219547877549838734541432740287902699265799325446521197374913526607528670413776579852826618591917239738583942592223375667390312340855349862143872088308888609309157739336796843823075213988615185956766668495574994659826049503246391488722440016545274000758961995627520046305759257774319315511894147932287022693053143002871050672802242167790376524206341506804956893414489516830368353302604840089637570527444445025788049935328351685777638192245564618633199460357044624723067944167426529123229742550351392521757759783216651604707512235608705955062308860420700746854339267247098664154953152836848898428128996418232194975129190569379675989 35045435302206611758443104383265674932672574559072175341271834710658990508275500476783017903216434168485124418136612206919630397863066109080979311469020518111223489186368596050405961816077071125168426962327256188268170006542005256108559773177202465766429525902320468910510550240414841927916747976463132832308774912716919500391415746815867102652761410596424923444511497169770606400376920735923794259482519031811403545405245806811634430641056389506013341911915817935941847765568423445054088307547216214573321869514593072492803492794955560028878045981311891798488930118674438843743470495530758628019946317102155864997111616510454251327580025488524808378235480060367913950904344941348344344115064773707250670551029826052604194928348756283176187387937824623377522227039413379780196011150577896628631377715601419113502830175559474317801824376299493409257771244931889514629419749781091122300707837784049349849199942681907451784122391404046583730333547382178090830325687561659461420471104609777076386300952492394583075778921464784417490017874519670493465718063137824213553043750674921108929643875788145663015730969898227340923840052505470381000127983565477551761099433234958538598981737731066132604320641003330498073069877622408614488198130255012424819108039133240277768641141679239255805217224911109495763859845999903741076105049698036565262103031252430096529623405106059130307620001745796339187028897961309583726425244943253344061039758879979130713689869617243829504929634742952675638513672711441293556545782733474701594683777051685382907031331483005971419619659487025113211032634668329180017298455252676571401743692194388489525824027561131733762496193505427686005522459326040547643814056502615731922503952992837292467589235090045568278787409857393119555990767038634582202619120765318128753580525177907661985794714207262754177021356377484858813377184901632549389194470000637315381133428181613344177855131549837371082831743984524643303251442353770058126210122778372900855504658284967085344272693030141695163413831685494078491208867250553214069129801396711867804403923313224212008548653580045760892682009760686831423131026027227692995359076131879512083211670946841646970628727168408424330054884403379641196919980874321375823862701173932523867715895958444285455483818818607740334916152810695670870373402945149221951659773069876178139713354638378439030723987066184807 56704705469505740609693284712992575865075732080976218191682365724440374551628242760818944118926086816103268182342611051397630119548498372000218847071072554622749968112732056853240270274397244238587391276051220381705678224405815422092932766458127287481298577691854095218488809454186423143075890918618643560644432023570622748492848113113015197203052879224938719714596792228607786430087888032536002710654314688143754200570474262729097694193535848966600321199939201462658756678524957141410884215061376605330737713889351843786028353396652972070438570373173174966598319282456245379048049904334011832809519388406352925845166106204890858005513806962041874765919787651815622805078050874794751395205107513785295463365707000727884978826801714075155710724640519832447282247101540113036898479686865615331321828749862950390810594968345776255605846941716119758737885629912266416155732016335947096780938201142484965744284511813647414953895774652171848355571291405912617775304349072186484965299185183943833485984599756730251165206802780395062040411183603005743219013037544091826582965636027857059731196690871478851323463344650614037533716454292034981788108323581070698308444131678344942633201581427725085177071023504872917943454034660228570046892718580602359932472347031749673824316966272127071264944039185421373129875739608103959804139480240021839155124512745284544936324239375048058034129034869740972021915885905988017206892625941035714527389167504784384915105291065102170939389546561208250129309177880141267056819558403440624156775771472723564443893419220607248438294103052561189374085006572925940348379806899573432534880167600805417178886570833190993097553812259205747476285044936273309713678284610048096419012315261298265645557247422272189498335287407231854097423507326537281468418446211839326128494051785436332399571294060089372768938596116068801405600560569022861730049819862781187469442316790922501917191928393660446296820359170481409971747017348429884175713369169861623295521203558967844306268320550188000922671606004809590385356799537575907122272804267762540606646091103600736214890160385002654307171526591055184725735866116865263522803521157667562018540022632619285162874291787041623790411929028102709141087407403444605566413052566454281627499112610048992967719427524562802643776573511442525209640650043813376904812609918774606268709772870573414159914556445860796 91750140771712352368136389096258250797748306640048393532954200435099365059903743237601962022142520984588392600479223258317260517411564481081198158540093072733973457299100652903646232090474315363755818238378476569973848230947820678201492539635329753247728103594174564128999359694601265070992638895081776392953206936287542248884263859928882299855814289821363643159108289398378392830464808768459796970136833719955157745975720069540732124834592238472613663111855019398600604444093380586464972522608592819904059583403944916278831846191608532099316616354485066765087249401130684222791520399864770460829465705508508790842277722715345109333093832450566683144155267712183536755982395816143095739320172287492546133916736826780489173755150470358331898112578344455824804474140953492817094490837443511959953206465464369504313425143905250573407671318015613167995656874844155930785151766117038219081646038926534315593484454495554866738018166056218432085904838788090708605630036633845946385770289793720909872285552249124834240985724245179479530429058122676236684731100681916040136009386702778168660840566659624514339194314548841378457556506797505362788236307146548250069543564913303481232183319158791217781391664508203416016523912282637184535090848835614784751580386164989951592958107951366327070161264096530868893735585608007700880244529938058404417227543997714641465947644481107188341749036615537311208944783867297600933317870884289058588428926384763515628795160682346000444319181304160925767822850591582560613365341136915325751459548524408947350924750703613219857913762539586302585117641241255120365678262152250003936623859795193906704710598394322726860050005764633433481807504262313857357492341112663828341516268254135558113146482512317757777122697264624973653414274365171863671037566977157454882074576963343994385366008267352126945959952493553660218977745470655411119244289863418502850575744972535846095047059943497817379652103155006053274998459702199942301923491948234524151025861843934929650541013580329696086085437690303668876565666788129121191402605664474408411050014416824948223438813965048415199853536351742016148866892144092956518162597289547074101751693579460932133503018955450048120466813431482350338007388277765981390275753740386805495215008568493278423203246343170542978692726322138196080014052988962598856472382988650784408423127508951853190638543512045603 148454846241218092977829673809250826662824038721024611724636566159539739611531985998420906141068607800691660782821834309714890636960062853081417005611165627356723425411832709756886502364871559602343209514429696951679526455353636100294425306093457040729026681286028659347488169148787688214068529813700419953597638959858164997377111973041897497058867169046302362873705081626986179260552696800995799680791148408098911946546194332269829819028128087439213984311794220861259361122618337727875856737669969425234797297293296760064860199588261504169755186727658241731685568683586929601839570304198782293638985093914861716687443828920235967338607639412608557910075055363999159561060446690937847134525279801277841597282443827508374152581952184433487608837218864288272086721242493605853992970524309127291275035215327319895124020112251026829013518259731732926733542504756422346940883782452985315862584240069019281337768966309202281691913940708390280441476130194003326380934385706032431351069474977664743358270152005855085406192527025574541570840241725681979903744138226007866718975022730635228392037257531103365662657659199455415991272961089540344576344630727618948377987696591648423865384900586516302958462688013076333959977946942865754581983567416217144684052733196739625417275074223493398335105303281952242023611325216111660684384010178080243572352056742999186402271883856155246375878071485278283230860669773285618140210496825324773115818093889547900543900451747448171383708727865369175897132028471723827670184899540355949908235319997132511794818169924220468296207865592147491959202647814181060714058069051823436471504027395999323883597169227513719957603818023839180958092549198587167071170625722711924760528583515433823758703729934589947275457984671856827750837781691709145139456013188996781010568628748780326784937302327441499714898548609622461624578306039678272849294109726199690320018061763458348012238988337158263676472462325487463246745477050629826477636861118096147446547065402902773956809334130517697008757043695113259261922466325705028313675409932236949017696105520425684438328974350051069507025062942797200874602758260958220040966118447214636120291716212080217296377310742491671910878742459585059479094795681210586956688806306841087122714121178542271390922673867733345622469299833580721289654703032775975761284992907425390677132900379525267350553099957906399 240204987012930445345966062905509077460572345361073005257590766594639104671435729236022868163211128785280053383301057568032151154371627334162615164151258700090696882710933362660532734455345874966099027752808173521653374686301456778495917845728786793976754784880203223476487528843388953285061168708782196346550845896145707246261375832970779796914681458867666006032813371025364572091017505569455596650927982128054069692521914401810561943862720325911827647423649240259859965566711718314340829260278562245138856880697241676343692045779870036269071803082143308496772818084717613824631090704063552754468450799423370507529721551635581076671701471863175241054230323076182696317042842507080942873845452088770387731199180654288863326337102654791819506949797208744096891195383447098671087461361752639251228241680791689399437445256156277402421189577747346094729199379600578277726035548570023534944230278995553596931253420804757148429932106764608712527380968982094034986564422339878377736839764771385653230555704254979919647178251270754021101269299848358216588475238907923906854984409433413397052877824190727880001851973748296794448829467887045707364580937874167198447531261504951905097568219745307520739854352521279749976501859225502939117074416251831929435633119361729577010233182174859725405266567378483110917346910824119361564628540116138647989579600740713827868219528337262434717627108100815594439805453640583219073528367709613831704247020274311416172695612429794171828027909169530101664954879063306388283550240677271275659694868521541459145742920627833688154121628131733794544320289055436181079736331204073440408127887191193230588307767621836446817653823788472614439900053460901024428662966835375753102044851769569381871850212446907705052580681936481801404252056056881008810493580166154235892643205712124321170303310594793626660858501103176121843556051510333683968538399589618193170593806735994194107286048280656081056124565480493516521743936752829768779560353066330671597572927246837703607350347710847393094842481385416928138488133113834149505078015596711357428746119937250632661767788315099484706878599294539217023469650405051176559128715736761710222043409791541149429880329697941720031345555891067409817102183958976568346964560047227892617929129747035549814125920210903888601162026155718917369668756021738574617757375896076175085556027888477120541191643469952002 388659833254148538323795736714759904123396384082097616982227332754178844282967715234443774304279736585971714166122891877747041791331690187244032169762424327447420308122766072417419236820217434568442237267237870473332901141655092878790343151822243834705781466166231882823975697992176641499129698522482616300148484856003872243638487806012677293973548627913968368906518452652350751351570202370451396331719130536152981639068108734080391762890848413351041631735443461121119326689330056042216685997948531670373654177990538436408552245368131540438826989809801550228458386768304543426470661008262335048107435893338232224217165380555817044010309111275783798964305378440181855878103289198018790008370731890048229328481624481797237478919054839225307115787016073032368977916625940704525080431886061766542503276896119009294561465368407304231434707837479079021462741884357000624666919331023008850806814519064572878269022387113959430121846047472998992968857099176097361367498808045910809087909239749050396588825856260835005053370778296328562672109541574040196492219377133931773573959432164048625444915081721831245664509632947752210440102428976586051940925568601786146825518958096600328962953120331823823698317040534356083936479806168368693699057983668049074119685852558469202427508256398353123740371870660435352940958236040231022249012550294218891561931657483713014270491412193417681093505179586093877670666123413868837213738864534938604820065114163859316716596064177242343211736637034899277562086907535030215953735140217627225567930188518673970940561090552054156450329493723881286503522936869617241793794400255896876879631914587192554471904936849350166775257641812311795397992602659488191499833592558087677862573435285003205630553942381497652328038666608338629155089837748590153949949593355151016903211834460904647955240612922235126375757049712798583468134357550011956817832509315817883490611868499452542119525036617814344732597027805980979768489413803459595257197214184426819044119992649740477564159681841365090103599525080530187400410599439539177818753425528948306446442225457676317100096762665150554213903662237336417898072408666009396600094834183976346342335126003621366726257640440433391942224298350652469296196979640187155303653366354068979740643250925577821205048594078637234223631325989299638659323459054514550379042368803501565762688928268002387891744743427858401 628864820267078983669761799620268981583968729443170622239818099348817948954403444470466642467490865371251767549423949445779192945703317521406647333913683027538117190833699435077951971275563309534541265020046043994986275827956549657286260997551030628682536251046435106300463226835565594784190867231264812646699330752149579489899863638983457090888230086781634374939331823677715323442587707939906992982647112664207051331590023135890953706753568739262869279159092701380979292256041774356557515258227093915512511058687780112752244291148001576707898792891944858725231204853022157251101751712325887802575886692761602731746886932191398120682010583138959040018535701516364552195146131705099732882216183978818617059680805136086100805256157494017126622736813281776465869112009387803196167893247814405793731518576910698693998910624563581633855897415226425116191941263957578902392954879593032385751044798060126475200275807918716578551778154237607705496238068158191396354063230385789186824749004520436049819381560515814924700549029567082583773378841422398413080694616041855680428943841597462022497792905912559125666361606696049004888931896863631759305506506475953345273050219601552234060521340077131344438171393055635833912981665393871632816132399919881003555318971920198779437741438573212849145638438038918463858305146864350383813641090410357539551511258224426842138710940530680115811132287686909472110471577054452056287267232244552436524312134438170732889291676607036515039764546204429379227041786598336604237285380894898501227625057040215430086304011179887844604451121855615081047843225925053422873530731459970317287759801778385785060212704471186613592911465600784409837892656120389215928496559393463430964618287054572587502404154828405357380619348544820430559341893805471162760443173521305252795855040173028969125543923517028753036615550815974705311690409060345640786370908905436076661205675235446736226811084898470425788721593286474496290233350556289364036757567250757490641692919896578181171510029552212483198442006465947115538898732553373327323831441125659663875188345394926949761864550980250038920782261531875634921542059071060573159223549920738056564378535795162516156137970138375111973569854241719879113299163599163723650617926401296872358572380672613371019174514289541122824793352145018556028992215076253124996799744699577740848244956156479508432936386897810403 1017524653521227521993557536335028885707365113525268239222045432102996793237371159704910416771770601957223481715546841323526234737035007708650679503676107354985537498956465507495371208095780744102983502287283914468319176969611642536076604149373274463388317717212666989124438924827742236283320565753747428946847815608153451733538351444996134384861778714695602743845850276330066074794157910310358389314366243200360032970658131869971345469644417152613910910894536162502098618945371830398774201256175625585886165236678318549160796536516133117146725782701746408953689591621326700677572412720588222850683322586099834955964052312747215164692319694414742838982841079956546408073249420903118522890586915868866846388162429617883338284175212333242433738523829354808834847028635328507721248325133876172336234795473029707988560375992970885865290605252705504137654683148314579527059874210616041236557859317124699353469298195032676008673624201710606698465095167334288757721562038431699995912658244269486446408207416776649929753919807863411146445488382996438609572913993175787454002903273761510647942707987634390371330871239643801215329034325840217811246432075077739492098569177698152563023474460408955168136488433589991917849461471562240326515190383587930077675004824478667981865249694971565972886010308699353816799263382904581406062653640704576431113442915708139856409202352724097796904637467273003349781137700468320893501006096779491041344377248602030049605887740784278858251501183239328656789128694133366820191020521112525726795555245558889401026865101731942001054780615579496367551366162794670664667325131715867194167391716365578339532117641320536780368169107413096205235885258779877407428330151951551108827191722339575793132958097209903009708658015153159059714431731554061316710392766876456269699066874633933617080784536439263879412372600528773288779824766610357597604203418221253960151817543734899278346336121516284770521318621092455476058722764359748959293954781435184309685812912546318658735669711393577573302041531546477302939309331992912505142584866654607970321630570852603266861961313645400593134685923769212052819614467737069969759318384104714402906713661798783882882395610578808503915794152592372348409496143239350878954271292755365852099215631598191192224223108368178357048424678134318194688315674130767675375842113503079306610933884424481896324681130325668804 1646389473788306505663319335955297867291333842968438861461863531451814742191774604175377059239261467328475249264970790769305427682738325230057326837589790382523654689790164942573323179371344053637524767307329958463305452797568192193362865146924305092070853968259102095424902151663307831067511432985012241593547146360303031223438215083979591475750008801477237118785182100007781398236745618250265382297013355864567084302248155005862299176397985891876780190053628863883077911201413604755331716514402719501398676295366098661913040827664134693854624575593691267678920796474348857928674164432914110653259209278861437687710939244938613285374330277553701879001376781472910960268395552608218255772803099847685463447843234753969439089431369827259560361260642636585300716140644716310917416218381690578129966314049940406682559286617534467499146502667931929253846624412272158429452829090209073622308904115184825828669574002951392587225402355948214403961333235492480154075625268817489182737407248789922496227588977292464854454468837430493730218867224418837022653608609217643134431847115358972670440500893546949496997232846339850220217966222703849570551938581553692837371619397299704797083995800486086512574659826645627751762443136956111959331322783507811081230323796398866761302991133544778822031648746738272280657568529768931789876294731114933970664954173932566698547913293254777912715769754959912821891609277522772949788273329024043477868689383040200782495179417391315373291265729443758036016170480731703424428305902007424228023180302599104831113169112911829845659231737435111448599209388719724087540855863175837511455151518143964124592330345791723393961080573013880615073777914900266623356826711345014539791810009394148380635362252038308367089277363697979490273773625359532479470835940397761522494921914806962586206328459956292632448988151344747994091515175670703238390574327126690036813023218970346014573147206414755196310040214378929972348956114916038323330712348685941800327505832442896839907179740945790056500483538012424418478208064546285832466416307780267634196818916247530216623825864625650632055468185301087687741156526808130542918541934025452459471092197593946399038533580717183615889364006834092227522795306838514602604889219156662724457788012270804563243397622657719479873218030279336750717307889207020800372641858202657047459178840580961404757617517223479207 2663914127309534027656876872290326752998698956493707100683908963554811535429145763880287476011032069285698730980517632092831662419773332938708006341265897737509192188746630450068694387467124797740508269594613872931624629767179834729439469296297579555459171685471769084549341076491050067350831998738759670540394961968456482956976566528975725860611787516172839862631032376337847473030903528560623771611379599064927117272906286875833644646042403044490691100948165026385176530146785435154105917770578345087284841532044417211073837364180267811001350358295437676632610388095675558606246577153502333503942531864961272643674991557685828450066649971968444717984217861429457368341644973511336778663390015716552309836005664371852777373606582160501994099784471991394135563169280044818638664543515566750466201109522970114671119662610505353364437107920637433391501307560586737956512703300825114858866763432309525182138872197984068595899026557658821102426428402826768911797187307249189178650065493059408942635796394069114784208388645293904876664355607415275632226522602393430588434750389120483318383208881181339868328104085983651435547000548544067381798370656631432329470188574997857360107470260895041680711148260235619669611904608518352285846513167095741158905328620877534743168240828516344794917659055437626097456831912673513195938948371819510401778397089640706554957115645978875709620407222232916171672746977991093843289279425803534519213066631642230832101067158175594231542766912683086692805299174865070244619326423119949954818735548157994232140034214643771846714012353014607816150575551514394752208180994891704705622543234509542464124447987112260174329249680426976820309663173680144030785156863296565648619001731733724173768320349248211376797935378851138549988205356913593796181228707274217792193988789440896203287112996395556511861360751873521282871339942281060835994777745347943996964840762705245292919483327931039966831358835471385448407678879275787282624667130121126110013318744989215498642849452339367629802525069558901721417517396539198337609001174434875604518449487100133483485787178271051225190154109070299740560770994545200512677860318130166862377805859392730281920929191295992119805158159426464575932291450077865481559160511912028576557003643868995755467620731025897836921642708413654945405623563337788475748483971705736354070112725005443301082298647549148011 4310303601097840533320196208245624620290032799462145962145772495006626277620920368055664535250293536614173980245488422862137090102511658168765333178855688120032846878536795392642017566838468851378033036901943831394930082564748026922802334443221884647530025653730871179974243228154357898418343431723771912133942108328759514180414781612955317336361796317650076981416214476345628871267649146810889153908392954929494201575154441881695943822440388936367471291001793890268254441348199039909437634284981064588683517827410515872986878191844402504855974933889128944311531184570024416534920741586416444157201741143822710331385930802624441735440980249522146596985594642902368328610040526119555034436193115564237773283848899125822216463037951987761554461045114627979436279309924761129556080761897257328596167423572910521353678949228039820863583610588569362645347931972858896385965532391034188481175667547494351010808446200935461183124428913607035506387761638319249065872812576066678361387472741849331438863385371361579638662857482724398606883222831834112654880131211611073722866597504479455988823709774728289365325336932323501655764966771247916952350309238185125166841807972297562157191466061381128193285808086881247421374347745474464245177835950603552240135652417276401504471231962061123616949307802175898378114400442442444985815243102934444372443351263573273253505028939233653622336176977192828993564356255513866793077552754827577997081756014682431614596246575566909604834032642126844728821469655596773669047632325127374182841915850757099063253203327555601692373244090449719264749784940234118839749036858067542217077694752653506588716778332903983568290330253440857435383441088580410654141983574641580188410811741127872554403682601286519743887212742549118040261978982273126275652064647671979314688910704247858789493441456351849144310348903218269276962855117951764074385352072474634033777863981675591307492630534345795163141399049850315420756634994191825605955379478807067910340824577432112338550029193285157686303008607571326139895725461085484170075417482215143238715268403347663700109613042896701857245622294371387428301927521353331055596402252155619321848898056986676680959462772013175735694522166260556803455086756916380084164049731068691301014791656139800318711018353683617316794860738692991696122931452544809276121125829908393401529291565586404705839916164772627218 6974217728407374560977073080535951373288731755955853062829681458561437813050066131935952011261325605899872711226006054954968752522284991107473339520121585857542039067283425842710711954305593649118541306496557704326554712331927861652241803739519464202989197339202640264523584304645407965769175430462531582674337070297215997137391348141931043196973583833822916844047246852683476344298552675371512925519772553994421318848060728757529588468482791980858162391949958916653430971494984475063543552055559409675968359359454933084060715556024670315857325292184566620944141572665699975141167318739918777661144273008783982975060922360310270185507630221490591314969812504331825696951685499630891813099583131280790083119854563497674993836644534148263548560829586619373571842479204805948194745305412824079062368533095880636024798611838545174228020718509206796036849239533445634342478235691859303340042430979803876192947318398919529779023455471265856608814190041146017977669999883315867540037538234908740381499181765430694422871246128018303483547578439249388287106653814004504311301347893599939307206918655909629233653441018307153091311967319791984334148679894816557496311996547295419517298936322276169873996956347116867090986252353992816531024349117699293399040981038153936247639472790577468411866966857613524475571232355115958181754191474753954774221748353213979808462144585212529331956584199425745165237103233504960636366832180631112516294822646324662446697313733742503836376799554809931421626768830461843913666958748247324137660651398915093295393237542199373539087256443464327080900360491748513591957217852959246922700237987163049052841226320016243742619579933867834255693104262260554684927140437938145837029813472861596728172002950534731120685148121400256590250184339186720071833293354946197106882899493688754992780554452747405656171709655091790559834195060232824910380129817822578030742704744380836600412113862276835129972757885321700869164313873467612888580046608928194020354143322421327837192878645624525316105533677130227861313242857624682507684418656650018843233717890447797183595400221167753082435776403441687168862698515898531568274262570285786184226703916379406962880391963309167855499680325687021379387378206994245565723210242980719877571795300008796074178639084709515153716503447106646641528555015882597751869609801614129755599404290591848006922214812321775229 11284521329505215094297269288781575993578764555417999024975453953568064090670986499991616546511619142514046691471494477817105842624796649276238672698977273977574885945820221235352729521144062500496574343398501535721484794896675888575044138182741348850519222992933511444497827532799765864187518862186303494808279178625975511317806129754886360533335380151472993825463461329029105215566201822182402079428165508923915520423215170639225532290923180917225633682951752806921685412843183514972981186340540474264651877186865448957047593747869072820713300226073695565255672757235724391676088060326335221818346014152606693306446853162934711920948610471012737911955407147234194025561726025750446847535776246845027856403703462623497210299682486136025103021874701247353008121789129567077750826067310081407658535956668791157378477561066584995091604329097776158682197171506304530728443768082893491821218098527298227203755764599854990962147884384872892115201951679465267043542812459382545901425010976758071820362567136792274061534103610742702090430801271083500941986785025615578034167945398079395296030628430637918598978777950630654747076934091039901286498989133001682663153804519592981674490402383657298067282764433998114512360600099467280776202185068302845639176633455430337752110704752638592028816274659789422853685632797558403167569434577688399146665099616787253061967173524446182954292761176618574158801459489018827429444384935458690513376578661007094061293560309309413441210832196936776150448238486058617582714591073374698320502567249672192358646440869754975231460500533914046345650145431982632431706254711026789139777932739816555641558004652920227310909910187308691691076545350840965339069124012579726025440625213989469282575685551821250864572360863949374630512163321459846347485358002618176421571810197936613782273995909099254800482058558310059836797050178184588984765481890297212064520568726056427907904744396622630293114156935172016289920948867659438494535426087735261930694967899853440175742907838909683002408542284701554001208968318710166677759836138865162081948986293795460883705013264064454939681398697813074597164626037251862623870664822441405506075601973366083643839854735322343591194202491947578182842464963910625649887259974049411178586586956148596392889657438393132470511364185799638337651486468427407027990735631522523157128695856178252712762130977094402447 18258739057912589655274342369317527366867496311373852087805135412129501903721052631927568557772944748413919402697500532772074595147081640383712012219098859835116925013103647078063441475449656149615115649895059240048039507228603750227285941922260813053508420332136151709021411837445173829956694292648835077482616248923191508455197477896817403730308963985295910669510708181712581559864754497553915004947938062918336839271275899396755120759405972898083796074901711723575116384338167990036524738396099883940620236546320382041108309303893743136570625518258262186199814329901424366817255379066253999479490287161390676281507775523244982106456240692503329226925219651566019722513411525381338660635359378125817939523558026121172204136327020284288651582704287866726579964268334373025945571372722905486720904489764671793403276172905130169319625047606982954719046411039750165070922003774752795161260529507102103396703082998774520741171339856138748724016141720611285021212812342698413441462549211666812201861748902222968484405349738761005573978379710332889229093438839620082345469293291679334603237547086547547832632218968937807838388901410831885620647669027818240159465801066888401191789338705933467941279720781114981603346852453460097307226534186002139038217614493584273999750177543216060440683241517402947329256865152674361349323626052442353920886847970001232870429318109658712286249345376044319324038562722523788065811217116089803029671401307331756507990874043051917277587631751746707572075007316520461496381549821622022458163218648587285654039678411954348770547756977378373426550505923731146023663472563986036062478170726979604694399230972936471053529490121176525946769649613101520023996264450517871862470438686851066010747688502355981985257508985349631220762347660646566419318651357564373528454709691625368775054550361846660456653768213401850396631245238417413895145611708119790095263273470437264508316858258899465423086914820493717159085262741127051383115472696663455951049111222274768012935786484534208318514075961831781862522211176334849185444254795515180925182704184243258067300413485232208022117175101254761766027324553150394192144927392727191690302305889745490606720246698631511446693882817634599562229843170904871215610470217030131056158382256157392467068296523102647624227867632906284979180041484310004779860345433136652912728100146770100719684345789416177676 29543260387417804749571611658099103360446260866791851112780589365697565994392039131919185104284563890927966094168995010589180437771878289659950684918076133812691810958923868313416170996593718650111689993293560775769524302125279638802330080105002161904027643325069663153519239370244939694144213154835138572290895427549167019773003607651703764263644344136768904494974169510741686775430956319736317084376103571842252359694491070035980653050329153815309429757853464530496801797181351505009505924736640358205272113733185830998155903051762815957283925744331957751455487087137148758493343439392589221297836301313997369587954628686179694027404851163516067138880626798800213748075137551131785508171135624970845795927261488744669414436009506420313754604578989114079588086057463940103696397440032986894379440446433462950781753733971715164411229376704759113401243582546054695799365771857646286982478628034400330600458847598629511703319224241011640839218093400076552064755624802080959342887560188424884022224316039015242545939453349503707664409180981416390171080223865235660379637238689758729899268175517185466431610996919568462585465835501871786907146658160819922822619605586481382866279741089590766008562485215113096115707452552927378083428719254304984677394247949014611751860882295854652469499516177192370182942497950232764516893060630130753067551947586788485932396491634104895240542106552662893482840022211542615495255602051548493543047979968338850569284434352361330718798463948683483722523245802579079079096140894996720778665785898259478012686119281709324002008257511292419772200651355713778455369727275012825202256103466796160335957235625856698364439400308485217637846194963942485363065388463097597887911063900840535293323374054177232849829869849299005851274510982106412766804009360182549950026519889561982557328546270945915257135826771711910233428295416602002879911093598417002159783842196493692416221602655522095716201071755665733449006211608786489877650898784398717881744079122128208188678694323443891320922618246533335863731179495045015863204090934380343007131690478038718951005426749296662961798573799067836363191950590402256816015592215168597196377907863111574250560101433953855037888085309582177745072308134815496865497730191079542234744969212305988859957953961495780094739231818705923316831527952737411807851081064659176069856796002948353432446476766510580123 47801999445330394404845954027416630727313757178165703200585724777827067898113091763846753662057508639341885496866495543361255032918959930043662697137174993647808735972027515391479612472043374799726805643188620015817563809353883389029616022027262974957536063657205814862540651207690113524100907447483973649773511676472358528228201085548521167993953308122064815164484877692454268335295710817290232089324041634760589198965766969432735773809735126713393225832755176254071918181519519495046030663132740242145892350279506213039264212355656559093854551262590219937655301417038573125310598818458843220777326588475388045869462404209424676133861091856019396365805846450366233470588549076513124168806495003096663735450819514865841618572336526704602406187283276980806168050325798313129641968812755892381100344936198134744185029906876845333730854424311742068120289993585804860870287775632399082143739157541502433997161930597404032444490564097150389563234235120687837085968437144779372784350109400091696224086064941238211030344803088264713238387560691749279400173662704855742725106531981438064502505722603733014264243215888506270423854736912703672527794327188638162982085406653369784058069079795524233949842205996228077719054305006387475390655253440307123715611862442598885751611059839070712910182757694595317512199363102907125866216686682573106988438795556789718802825809743763607526791451928707212806878584934066403561066819167638296572719381275670607077275308395413247996386095700430191294598253119099540575477690716618743236829004546846763666725797693663672772556014488670793198751157279444924479033199838998861264734274193775765030356466598793169417968890429661743584615844577044005387061652913615469750381502587691601304071062556533214835087378834648637072036858642752979186122660717746923478481229581187351332383096632792575713789594985113760630059540655019416775056705306536792255047115666930956924538460914421561139287986576159450608091474349913541260766371481062173832793190344402976201614480807978099639436694208365117726253390671379865048648345729895523932314394662281977018305840234528870983915748900322598129219275143552651008160519607895788886680213752857064857280348132585366484581968127216777307302151305720368081108200408109673290903351468463381327026250484598427718967099451612208296011569437047416587711426497795828982584896149718454152130822555926757799 77345259832748199154417565685515734087760018044957554313366314143524633892505130895765938766342072530269851591035490553950435470690838219703613382055251127460500546930951383704895783468637093449838495636482180791587088111479163027831946102132265136861563706982275478016059890577935053218245120602319112222064407104021525548001204693200224932257597652258833719659459047203195955110726667137026549173700145206602841558660258039468716426860064280528702655590608640784568719978700871000055536587869380600351164464012692044037420115407419375051138477006922177689110788504175721883803942257851432442075162889789385415457417032895604370161265943019535463504686473249166447218663686627644909676977630628067509531378081003610511033008346033124916160791862266094885756136383262253233338366252788879275479785382631597694966783640848560498142083801016501181521533576131859556669653547490045369126217785575902764597620778196033544147809788338162030402452328520764389150724061946860332127237669588516580246310380980253453576284256437768420902796741673165669571253886570091403104743770671196794401773898120918480695854212808074733009320572414575459434940985349458085804705012239851166924348820885114999958404691211341173834761757559314853474083972694612108393006110391613497503471942134925365379682273871787687695141861053139890383109747312703860055990743143578204735222301377868502767333558481370106289718607145609019056322421219186790115767361244009457646559742747774578715184559649113675017121498921678619654573831611615464015494790445106241679411916975372996774564271999963212970951808635158702934402927114011686466990377660571925366313702224649867782408290738146961222462039540986490750127041376713067638292566488532136597394436610710447684917248683947642923311369624859391952926670077929473428507749470749333889711642903738490970925421756825670863487836071621419654967798904953794414830957863424649340760063569943656855489058331825184057097685958700031138417270265460891714537269466531184390293175131421990960359312454898453589984570166424880911852436664275866939446085140320695969311266983825533945714322699390434492411225733954907824176111823064386083058121615968639107840449566539221522470053436798955052374459440535864946605930599189215525648320680769370186984204446094207813706331270318131612843097389784828395562507562455005052441692152666807584577299322437337922 125147259278078593559263519712932364815073775223123257513952038921351701790618222659612692428399581169611737087901986097311690503609798149747276079192426121108309282902978899096375395940680468249565301279670800807404651920833046416861562124159528111819099770639481292878600541785625166742346028049803085871837918780493884076229405778748746100251550960380898534823943924895650223446022377954316781263024186841363430757626025008901452200669799407242095881423363817038640638160220390495101567251002120842497056814292198257076684327763075934144993028269512397626766089921214295009114541076310275662852489478264773461326879437105029046295127034875554859870492319699532680689252235704158033845784125631164173266828900518476352651580682559829518566979145543075691924186709060566362980335065544771656580130318829732439151813547725405831872938225328243249641823569717664417539941323122444451269956943117405198594782708793437576592300352435312419965686563641452226236692499091639704911587778988608276470396445921491664606629059526033134141184302364914948971427549274947145829850302652634858904279620724651494960097428696581003433175309327279131962735312538096248786790418893220950982417900680639233908246897207569251553816062565702328864739226134919232108617972834212383255083001973996078289865031566383005207341224156047016249326433995276967044429538700367923538048111121632110294125010410077319096597192079675422617389240386825086688486742519680064723835051143187826711570655349543866311719752040778160230051522328234207252323794991953005346137714669036669547120286488634006169702965914603627413436126953010547731724651854347690396670168823443037200377181167808704807077884118030496137188694290328537388674069076223737901465499167243662520004627518596279995348228267612371139049330795676396906988979051936685222094739536531066684715016741939431493547376726640836430024504211490586669878073530355606265298524484365217994777044907984634665189160308613572399183641746523065547330459810934160591907655939400090599796006663263571316237960837804745960500782394171390871760479802602672987617107218354404929630071599713032621630500877507558832336631430960174969738335368825703965120797699124588007052021564015732359676610746256233027714131007298888816551672149232751514010454930692635532673430721930339908854666826832244983273934060250834035026588302385261736708121878364095721 202492519110826792713681085398448098902833793268080811827318353064876335683123353555378631194741653699881588678937476651262125974300636369450889461247677248568809829833930282801271179409317561699403796916152981598991740032312209444693508226291793248680663477621756770894660432363560219960591148652122198093902325884515409624230610471948971032509148612639732254483402972098846178556749045091343330436724332047966272316286283048370168627529863687770798537013972457823209358138921261495157103838871501442848221278304890301114104443170495309196131505276434575315876878425390016892918483334161708104927652368054158876784296470000633416456392977895090323375178792948699127907915922331802943522761756259231682798206981522086863684589028592954434727771007809170577680323092322819596318701318333650932059915701461330134118597188573966330015022026344744431163357145849523974209594870612489820396174728693307963192403486989471120740110140773474450368138892162216615387416561038500037038825448577124856716706826901745118182913315963801555043981044038080618542681435845038548934594073323831653306053518845569975655951641504655736442495881741854591397676297887554334591495431133072117906766721565754233866651588418910425388577820125017182338823198829531340501624083225825880758554944108921443669547305438170692902483085209186906632436181307980827100420281843946128273270412499500613061458568891447425386315799225284441673711661606011876804254103763689522370394793890962405426755214998657541328841250962456779884625353939849671267818585437059247025549631644409666321684558488597219140654774549762330347839054067022234198715029514919615762983871048092904982785471905955666029539923659016986887315735667041605026966635564755874498859935777954110204921876202543922918659597892471763091976000873605870335496728522686019111806382440269557655640438498765102357035212798262256084992303116444381084709031393780255606058588054308874850266103239809818722286846267313603537600912011983957261867729277465344982200831070822081560155319118162024906222531004229626872353219058447257811206564942923368956928374202179938875344394299103467114041726611462466656512743254024561052796456984794343072961247265663809529522075000814687412051070186792097974320061606488104342199992830002121700994659376786843346379761992248471521697764216617073378836441622705839087468280455052069321285421200801433643 327639778388905386272944605111380463717907568491204069341270391986228037473741576214991323623141234869493325766839462748573816477910434519198165540440103369677119112736909181897646575349998029948969098195823782406396391953145255861555070350451321360499763248261238063773260974149185386702937176701925283965740244665009293700460016250697717132760699573020630789307346896994496402002771423045660111699748518889329703073912308057271620828199663095012894418437336274861849996299141651990258671089873622285345278092597088558190788770933571243341124533545946972942642968346604311902033024410471983767780141846318932338111175907105662462751520012770645183245671112648231808597168158035960977368545881890395856065035882040563216336169711152783953294750153352246269604509801383385959299036383878422588640046020291062573270410736299372161887960251672987680805180715567188391749536193734934271666131671810713161787186195782908697332410493208786870333825455803668841624109060130139741950413227565733133187103272823236782789542375489834689185165346402995567514108985119985694764444375976466512210333139570221470616049070201236739875671191069133723360411610425650583378285850026293068889184622246393467774898485626479676942393882690719511203562424964450572610242056060038264013637946082917521959412337004553698109824309365233922881762615303257794144849820544314051811318523621132723355583579301524744482912991304959864291100901992836963492740846283369587094229845034150232138325870348201407640561003003234940114676876268083878520142380429012252371687346313446335868804844977231225310357740464365957761275181020032781930439681369267306159654039871535942183162653073764370836617807777047483024504429957370142415640704640979612400325434945197772724926503721140202914007826160084134231025331669282267242485707574622704333901121976800624340355455240704533850582589524903092515016807327934967754587104924135861871357112538674092845043148147794453387476006575927175936784553758507022809198189088399505574108487010222172159951325781425596222460491842034372832854001452618648682967044745526041944545481420534343804974465898816499735672227488970025488849374684984736022534792353620047038082044964788397536574096564830419771727680933048331002034192613786993158751664979234873215005114307479478879053192714178811430552431043449318362110375682956673122494868757437331057993543079165529364 530132297499732178986625690509828562620741361759284881168588745051104373156864929770369954817882888569374914445776939399835942452211070888649055001687780618245928942570839464698917754759315591648372895111976764005388131985457465306248578576743114609180426725882994834667921406512745606663528325354047482059642570549524703324690626722646688165269848185660363043790749869093342580559520468137003442136472850937295975390198591105641789455729526782783692955451308732685059354438062913485415774928745123728193499370901978859304893214104066552537256038822381548258519846771994328794951507744633691872707794214373091214895472377106295879207912990665735506620849905596930936505084080367763920891307638149627538863242863562650080020758739745738388022521161161416847284832893706205555617737702212073520699961721752392707389007924873338491902982278017732111968537861416712365959131064347424092062306400504021124979589682772379818072520633982261320701964347965885457011525621168639778989238676142857989903810099724981900972455691453636244229146390441076186056790420965024243699038449300298165516386658415791446272000711705892476318167072810988314758087908313204917969781281159365186795951343812147701641550074045390102330971702815736693542385623793981913111866139285864144772192890191838965628959642442724391012307394574420829514198796611238621245270102388260180084588936120633336417042148192972169869228790530244305964812563598848840296994950047059109464624638925112637565081085346858948969402253965691719999302230207933549787960965866071499397236977957856002190489403465828444451012515014128288109114235087055016129154710884186921922637910919628847165948124979720036866157731436064469911820165624411747442607340205735486899185370723151882929848379923684125832667424052555897323001332542888137577982436097308723445707504417070181995995893739469636207617802323165348600009110444379348839296136317916117477415700592982967695309251387604272109762852843240779474385465770490980071065918365864850556309318081044253720106644899587621128683022846263999705207220511065906494173609688449410901473855622714282680318860197919966849713954100432492145362117939009297075331249338414390111043292230452207066096171565645107183778751119840428976354254220275097500951657809236994915999773684266322225432954706427282952250195260066391740946817305662512209963149212489400379278964279966963007 857772075888637565259570295621209026338648930250488950509859137037332410630606505985361278441024123438868240212616402148409758930121505407847220542127883987923048055307748646596564330109313621597341993307800546411784523938602721167803648927194435969680189974144232898441182380661930993366465502055972766025382815214533997025150642973344405298030547758680993833098096766087838982562291891182663553836221369826625678464110899162913410283929189877796587373888645007546909350737204565475674446018618746013538777463499067417495681985037637795878380572368328521201162815118598640696984532155105675640487936060692023553006648284211958341959433003436380689866521018245162745102252238403724898259853520040023394928278745603213296356928450898522341317271314513663116889342695089591514916774086090496109340007742043455280659418661172710653790942529690719792773718576983900757708667258082358363728438072314734286766775878555288515404931127191048191035789803769554298635634681298779520939651903708591123090913372548218683761998066943470933414311736844071753570899406085009938463482825276764677726719797986012916888049781907129216193838263880122038118499518738855501348067131185658255685135966058541169416448559671869779273365585506456204745948048758432485722108195345902408785830836274756487588371979447278089122131703939654752395961411914496415390119922932574231895907459741766059772625727494496914352141781835204170255913465591685803789735796330428696558854483959262869703406955695060356609963256968926660113979106476017428308103346295083751768924324271302338059294248443059669761370255478494245870389416107087798059594392253454228082291950791164789349110778053484407702775539213111952936324595581781889858248044846715099299510805668349655654774883644824328746675250212640031554026664212170404820468143671931427779608626393870806336351348980174170058200391848068441115025917772314316593883241242051979348772813131657060540352399535398725497238859419167955411170019528998002880264107454264356130417805091266425880057970681013217351143514688298372538061221963684555177140654433975452846019337043248626485293326096736466585386181589402517634211492623994033097866041692034437149125337195240604602670268130475526955506432052888759978388446834062090659703322788471868131004887991745801104486147420606094382802626303515710103057192988619185332458017969926731437272507359132492371 1387904373388369744246195986131037588959390292009773831678447882088436783787471435755731233258907012008243154658393341548245701382332576296496275543815664606168976997878588111295482084868629213245714888419777310417172655924060186474052227503937550578860616700027227733109103787174676600029993827410020248085025385764058700349841269695991093463300395944341356876888846635181181563121812359319666995972694220763921653854309490268555199739658716660580280329339953740231968705175267478961090220947363869741732276834401046276800575199141704348415636611190710069459682661890592969491936039899739367513195730275065114767902120661318254221167345994102116196487370923842093681607336318771488819151161158189650933791521609165863376377687190644260729339792475675079964174175588795797070534511788302569630039969463795847988048426586046049145693924807708451904742256438400613123667798322429782455790744472818755411746365561327668333477451761173309511737754151735439755647160302467419299928890579851449112994723472273200584734453758397107177643458127285147939627689827050034182162521274577062843243106456401804363160050493613021692512005336691110352876587427052060419317848412345023442481087309870688871057998633717259881604337288322192898288333672552414398833974334631766553558023726466595453217331621890002480134439098514075581910160208525735036635390025320834411980496395862399396189667875687469084221370572365448476220726029190534644086730746377487806023479122884375507268488041041919305579365510934618380113281336683950978096064312161155251166161302229158340249783651908888114212382770492622533979503651194142814188749103137641150004929861710793636515058903033204444568933270649176422848144761206193637300855385052450586198696176391501538584623263568508454579342674265195928877027996755058542398450579769240151225316130810940988332347242719643806265818194171233789715035028216693665433179377559968096826188513724640028235661650923002997607001712262408734885555485299488982951330025820129206686727123172310679600164615580600838479826537534562372243268442474750461671314264122424863747493192665962909165612186294656433435100135689835009779573610563003330173197291030448827260168629425692811668766439696120634139285183172729188954742701054337188160654980597708863047004661676012123329919102127033377335052821563582101844004010294281697542421167182416131816551471639099455378 2245676449277007309505766281752246615298039222260262782188307019125769194418077941741092511699931135447111394871009743696655460312454081704343496085943548594092025053186336757892046414977942834843056881727577856828957179862662907641855876431131986548540806674171460631550286167836607593396459329465993014110408200978592697374991912669335498761330943703022350709986943401269020545684104250502330549808915590590547332318420389431468610023587906538376867703228598747778878055912472044436764666965982615755271054297900113694296257184179342144294017183559038590660845477009191610188920572054845043153683666335757138320908768945530212563126778997538496886353891942087256426709588557175213717411014678229674328719800354769076672734615641542783070657063790188743081063518283885388585451285874393065739379977205839303268707845247218759799484867337399171697515975015384513881376465580512140819519182545133489698513141439882956848882382888364357702773543955504994054282794983766198820868542483560040236085636844821419268496451825340578111057769864129219693198589233135044120626004099853827520969826254387817280048100275520150908705843600571232390995086945790915920665915543530681698166223275929230040474447193389129660877702873828649103034281721310846884556082529977668962343854562741351940805703601337280569256570802453730334306121620440231452025509948253408643876403855604165455962293603181965998573512354200652646476639494782220447876466542707916502582333606843638376971894996736979662189328767903545040227260443159968406404167658456239002935085626500460678309077900351947783973753025971116779849893067301230612248343495391095378087221812501958425864169681086688852271708809862288375784469356787975527159103429899165685498206982059851194239398147213332783326017924477835960431054660967228947218918723441171579004924757204811794668698591699817976324018586019302230830060945989007982027062618802020076174961326856297088776014050458401723104240571681576690296725504828486985831594133274393562817144928263577105480222586261614055830970052222860744781329664438435016848454918556400316593512529709211535650905512391392900020486317279237527413785103186997363271063332722483264409293966620933416271436707826596161094791615225617948933131147888399278820358303386180731178009549667757924434405249547639471717855447867097811947061203282900882874879185152342863253823978998231947749 3633580822665377053751962267883284204257429514270036613866754901214205978205549377496823744958838147455354549529403085244901161694786658000839771629759213200261002051064924869187528499846572048088771770147355167246129835786723094115908103935069537127401423374198688364659389955011284193426453156876013262195433586742651397724833182365326592224631339647363707586875790036450202108805916609821997545781609811354468986172729879700023809763246623198957148032568552488010846761087739523397854887913346485497003331132301159971096832383321046492709653794749748660120528138899784579680856611954584410666879396610822253088810889606848466784294124991640613082841262865929350108316924875946702536562175836419325262511321963934940049112302832187043799996856265863823045237693872681185655985797662695635369419946669635151256756271833264808945178792145107623602258231453785127005044263902941923275309927017952245110259507001210625182359834649537667214511298107240433809929955286233618120797433063411489349080360317094619853230905583737685288701227991414367632826279060185078302788525374430890364212932710789621643208150769133172601217848937262342743871674372842976339983763955875705140647310585799918911532445827106389542482040162150842001322615393863261283390056864609435515901878289207947394023035223227283049391009900967805916216281828965966488660899973574243055856900251466564852151961478869435082794882926566101122697365523972755091963197289085404308605812729728013884240383037778898967768694278838163420340541779843919384500231970617394254101246928729619018558861552260835898186135796463739313829396718495373426437092598528736528092151674212752062379228584119893296840642080511464798632614117994169164459958814951616271696903158451352732824021410781841237905360598743031889308082657722287489617369303210411730230240888015752783001045834419461782589836780190536020545095974205701647460241996361988173001149840580937117011675701381404720711242283943985425182280990127975968782924159094522769503872051435887785080387201842214894310796589757423117024598106913185478519769182678825180341005722375174444816517698686049333455586452969072537193358713750000693444260623752932091669462596046626227940203147522716795234076798398347137887873848942736466981013283983889594225014211343770047764324351674672849052908269430679913791065213577182580417300352334758995070375450637331403127 5879257271942384363257728549635530819555468736530299396055061920339975172623627319237916256658769282902465944400412828941556622007240739705183267715702761794353027104251261627079574914824514882931828651874933024075087015649386001757763980366201523675942230048370148996209676122847891786822912486342006276305841787721244095099825095034662090985962283350386058296862733437719222654490020860324328095590525401945016318491150269131492419786834529737334015735797151235789724817000211567834619554879329101252274385430201273665393089567500388637003670978308787250781373615908976189869777184009429453820563062946579391409719658552378679347420903989179109969195154808016606535026513433121916253973190514648999591231122318704016721846918473729826870653920056052566126301212156566574241437083537088701108799923875474454525464117080483568744663659482506795299774206469169640886420729483454064094829109563085734808772648441093582031242217537902024917284842062745427864212750269999816941665975546971529585165997161916039121727357409078263399758997855543587326024868293320122423414529474284717885182758965177438923256251044653323509923692537833575134866761318633892260649679499406386838813533861729148952006893020495519203359743035979491104356897115174108167946139394587104478245732851949299334828738824564563618647580703421536250522403449406197940686409921827651699733304107070730308114255082051401081368395280766753769174005018754975539839663831793320811188146336571652261212278034515878629958023046741708460567802223003887790904399629073633257036332555230079696867939452612783682159888822434856093679289785796604038685436093919831906179373486714710488243398265206582149112350890373753174417083474782144691619062244850781957195110140511203927063419557995174021231378523220867849739137318689516436836288026651583309235165645220564577669744426119279758913855366209838251375156920194709629487304615164008249176111167437234205787689751839806443815482855625562115479006494956462954614518292368916332321016979699464890560609788103828950141766641980283861805927771351620495368224101235225496934518252084385980467423211077442233476072770248310064607143816936998056715323956475415356078756562667559644211639855349312956328868413623965086821004996831135745801371587370070325403023761011527972198729601222312320770763717297777725738126416860083463292179537487101858324199429635563350876 9512838094607761417009690817518815023812898250800336009921816821554181150829176696734740001617607430357820493929815914186457783702027397706023039345461974994614029155316186496267103414671086931020600422022288191321216851436109095873672084301271060803343653422568837360869066077859175980249365643218019538501275374463895492824658277399988683210593622997749765883738523474169424763295937470146325641372135213299485304663880148831516229550081152936291163768365703723800571578087951091232474442792675586749277716562502433636489921950821435129713324773058535910901901754808760769550633795964013864487442459557401644498530548159227146131715028980819723052036417673945956643343438309068618790535366351068324853742444282638956770959221305916870670650776321916389171538906029247759897422881199784336478219870545109605782220388913748377689842451627614418902032437922954767891464993386395987370139036581037979919032155442304207213602052187439692131796140169985861674142705556233435062463408610383018934246357479010658974958262992815948688460225846957954958851147353505200726203054848715608249395691675967060566464401813786496111141541475095917878738435691476868600633443455282091979460844447529067863539338847601908745841783198130333105679512509037369451336196259196539994147611141157246728851774047791846668038590604389342166738685278372164429347309895401894755590204358537295160266216560920836164163278207332854891871370542727730631802861120878725119793959066299666145452661072294777597726717325579871880908344002847807175404631599691027511137579483959698715426801004873619580346024618898595407508686504291977465122528692448568434271525160927462550622626849326475445952992970885217973049697592776313856079021059802398228892013298962556659887440968777015259136739121963899739047219976411803926453657329861995039465406533236317360670790260538741541503692146400374271920252894400411276947546611525996422177261008018171322799365453221211164526725139569547540661287485084438923397442451463439101824889031135352675640996989946043844452563231737706978830525878264805973887993283914050677275523974459560425283940909763491566931659223217382601800502530686998750159584580228347447748219158714185872151843002872029751562945212022312224708878845773872212782384871353959919628037972355298019963053952896985169823671986728457639529191630437266043709479889821860853394574880272894754003 15392095366550145780267419367154345843368366987330635405976878741894156323452804015972656258276376713260286438330228743128014405709268137411206307061164736788967056259567448123346678329495601813952429073897221215396303867085495097631436064667472584479285883470938986357078742200707067767072278129560025814807117162185139587924483372434650774196555906348135824180601256911888647417785958330470653736962660615244501623155030417963008649336915682673625179504162854959590296395088162659067093997672004688001552101992703707301883011518321823766716995751367323161683275370717736959420410979973443318308005522503981035908250206711605825479135932969998833021231572481962563178369951742190535044508556865717324444973566601342973492806139779646697541304696377968955297840118185814334138859964736873037587019794420584060307684505994231946434506111110121214201806644392124408777885722869850051464968146144123714727804803883397789244844269725341717049080982232731289538355455826233252004129384157354548519412354640926698096685620401894212088219223702501542284876015646825323149617584323000326134578450641144499489720652858439819621065234012929493013605197010110760861283122954688478818274378309258216815546231868097427949201526234109824210036409624211477619282335653783644472393343993106546063680512872356410286686171307810878417261088727778362370033719817229546455323508465608025468380471642972237245531673488099608661045375561482706171642524952672045930982105402871318406664939106810656227684740372321580341476146225851694966309031228764660768173912039189778412294740457486403262505913441333451501187976290088581503807964786368400340450898647642173038866025114533057595065343861258971147466781067558458547698083304653180186087123439473760586950860526772189280368117645184767588786357295101320363289945356513578348700572178456881938340534686658021300417547512610212523295409814595120906434851226690004671353372175455405528587055205061017608342207995195109656140293980040901878011960743832355434145906010834817566201606778049872794594329873717990840636453649616426469256217385149276174210042226543946405751364120840933800407731993465692666407646347623996806874908536703762803826975721381745516363482858221342707891813625646277311529883842605007958583756458724030245031061733366825992161783554119297490594435704026235365267318047297349507001659427308962711718774309908458104879 24904933461157907197277110184673160867181265238130971415898695563448337474281980712707396259893984143618106932260044657314472189411295535117229346406626711783581085414883634619613781744166688744973029495919509406717520718521604193505108148968743645282629536893507823717947808278566243747321643772778045353308392536649035080749141649834639457407149529345885590064339780386058072181081895800616979378334795828543986927818910566794524878886996835609916343272528558683390867973176113750299568440464680274750829818555206140938372933469143258896430320524425859072585177125526497728971044775937457182795447982061382680406780754870832971610850961950818556073267990155908519821713390051259153835043923216785649298716010883981930263765361085563568211955472699885344469379024215062094036282845936657374065239664965693666089904894907980324124348562737735633103839082315079176669350716256246038835107182725161694646836959325701996458446321912781409180877122402717151212498161382466687066592792767737567453658712119937357071643883394710160776679449549459497243727163000330523875820639171715934383974142317111560056185054672226315732206775488025410892343632701587629461916566409970570797735222756787284679085570715699336695043309432240157315715922133248847070618531912980184466540955134263792792532286920148256954724761912200220583999774006150526799381029712631441210913712824145320628646688203893073409694951695432463552916746104210436803445386073550771050776064469170984552117600179105433825411457697901452222384490228699502141713662828455688279311491523149477127721541462360022842851938060232046908696662794380558968930493478816968774722423808569635589488651963859533041018336832144189120516478660334772403777104364455578414979136738436317246838301495549204539504856767148667327833577271513124289743602686375573388165978711693199299011324947196762841921239659010586795215662708995532183382397838216001093530633183473576851386420658282228772868933134764657196801581465125340801409403195295794535970795041970170241842603767995916639046893105455697819466979527881232443144210669063326851485566201003506831035305030604425367339391216683075268208148878310995557034493116932110251575194880095931388515325861093372459454758837668589536238762688378880171366141330077990164659099705722124012124837507016282660418107690754693004796509677734615550711139317130823565113349190181352858882 40297028827708052977544529551827506710549632225461606821875574305342493797734784728680052518170360856878393370590273400442486595120563672528435653467791448572548141674451082742960460073662290558925458569816730622113824585607099291136544213636216229761915420364446810075026550479273311514393921902338071168115509698834174668673625022269290231603705435694021414244941037297946719598867854131087633115297456443788488550973940984757533528223912518283541522776691413642981164368264276409366662438136684962752381920547909848240255944987465082663147316275793182234268452496244234688391455755910900501103453504565363716315030961582438797089986894920817389094499562637871083000083341793449688879552480082502973743689577485324903756571500865210265753260169077854299767219142400876428175142810673530411652259459386277726397589400902212270558854673847856847305645726707203585447236439126096090300075328869285409374641763209099785703290591638123126229958104635448440750853617208699939070722176925092115973071066760864055168329503796604372864898673251961039528603178647155847025438223494716260518552592958256059545905707530666135353272009500954903905948829711698390323199689364659049616009601066045501494631802583796764644244835666349981525752331757460324689900867566763828938934299127370338856212799792504667241410933220011099001260862733928889169414749529860987666237221289753346097027159846865310655226625183532072213962121665693142975087911026222816981758169872042302958782539285916090053096198070223032563860636454551197108022694057220349047485403562339255540016281919846426105357851501565498409884639084469140472738458265185369115173322456211808628354677078392590636083680693403160267983259727893230951475187669108758601066260177910077833789162022321393819872974412333434916619934566614444653033548042889151736866550890150081237351859633854784142338787171620799318511072523590653089817249064906005764884005358928982379973475863343246381211141129959766852941875445166242679421363939128149970116701052804987808044210546045789433641222979173688660103433177497658912400428054212603025695608427547453236786669151445359167747123210148767934615795225934992363909401653635873055402170601477676904878808719314715167346572463314866847768646530983888129949897788802020409690161439088950004286621061135580151012543394780928370063827725031965057712798744439786276832123500089810963761 65201962288865960174821639736500667577730897463592578237774269868790831272016765441387448778064345000496500302850318057756958784531859207645664999874418160356129227089334717362574241817828979303898488065736240028831345304128703484641652362604959875044544957257954633792974358757839555261715565675116116521423902235483209749422766672103929689010854965039907004309280817684004791779949749931704612493632252272332475478792851551552058407110909353893457866049219972326372032341440390159666230878601365237503211739103115989178628878456608341559577636800219041306853629621770732417362500531848357683898901486626746396721811716453271768700837856871635945167767552793779602821796731844708842714596403299288623042405588369306834020336861950773833965215641777739644236598166615938522211425656610187785717499124351971392487494295810192594683203236585592480409484809022282762116587155382342129135182511594447104021478722534801782161736913550904535410835227038165591963351778591166626137314969692829683426729778880801412239973387191314533641578122801420536772330341647486370901258862666432194902526735275367619602090762202892451085478784988980314798292462413286019785116255774629620413744823822832786173717373299496101339288145098590138841468253890709171760519399479744013405475254261634131648745086712652924196135695132211319585260636740079415968795779242492428877150934113898666725673848050758384064921576878964535766878867769903579778533297099773588032534234341213287510900139465021523878507655768124484786245126683250699249736356885676037326796895085488732667737823382206448948209789561797545318581301878849699441668951744002337889895746264781444217843329042252123677102017525547349388499738388228003355252292033564337016045396916346395080627463517870598359377831179482102244453511838127568942777150729264725125032529601843280536363184581051546984260026830631386113726735232586185273199646903122006858414638542402559231359896521625475154080074264724424049743456910291583480830767134423944506087496094775158049886814314041706072688116084629386479570412705378891355544638723275929877181174628550960067821974182049784535086514426831843202823944104245987920943894770567983306977365481573608293394134580408087626801331300983456384007409219362768301316039118880010574349261144811074016411458568151862811430651085535621374860337402766580608423938061570609841945472690271163822643 105498991116574013152366169288328174288280529689054185059649844174133325069751550170067501296234705857374893673440591458199445379652422880174100653342209608928677368763785800105534701891491269862823946635552970650945169889735802775778196576241176104806460377622401443868000909237112866776109487577454187689539411934317384418096391694373219920614560400733928418554221854981951511378817604062792245608929708716120964029766792536309591935334821872176999388825911385969353196709704666569032893316738050200255593659651025837418884823444073424222724953076012223541122082118014967105753956287759258185002354991192110113036842678035710565790824751792453334262267115431650685821880073638158531594148883381791596786095165854631737776908362815984099718475810855593944003817309016814950386568467283718197369758583738249118885083696712404865242057910433449327715130535729486347563823594508438219435257840463732513396120485743901567865027505189027661640793331673614032714205395799866565208037146617921799399800845641665467408302890987918906506476796053381576300933520294642217926697086161148455421079328233623679147996469733558586438750794489935218704241292124984410108315945139288670029754424888878287668349175883292865983532980764940120367220585648169496450420267046507842344409553389004470504957886505157591437546628352222418586521499474008305138210528772353416543388155403652012822701007897623694720148202062496607980840989435596722753621208125996405014292404213255590469682678750937613931603853838347517350105763137801896357759050942896386374282298647827988207754105302052875053567641063363043728465940963318839914407410009187707005069068720993252846198006120644714313185698218950509656482998116121234306727479702673095617111657094256472914416625540191992179250805591815537161073446404742013595810698772153876861899080491993361773715044214906331126598814002252185432237807756176838363016895968028012623298643901331541611333372384968721535291215394684190902685332355457826160252131073552094476204197147580145857931024860087495506329339063803075139673845882876550267945066777488532902876783056098413304608643333495143702833637636980611137439739330180980284853296424203856362379536083051285198272943299722802794147903764298323231776055750346656431265936907682030984039422583900024020698079629287442962443194480316549744924165127798545666136736806010396118777596190360974786404 170700953405439973327187809024828841866011427152646763297424114042924156341768315611454950074299050857871393976290909515956404164184282087819765653216627769284806595853120517468108943709320249166722434701289210679776515193864506260419848938846135979851005334880356077660975267994952422037825053252570304210963314169800594167519158366477149609625415365773835422863502672665956303158767353994496858102561960988453439508559644087861650342445731226070457254875131358295725229051145056728699124195339415437758805398754141826597513701900681765782302589876231264847975711739785699523116456819607615868901256477818856509758654394488982334491662608664089279430034668225430288643676805482867374308745286681080219828500754223938571797245224766757933683691452633333588240415475632753472597994123893905983087257708090220511372577992522597459925261147019041808124615344751769109680410749890780348570440352058179617417599208278703350026764418739932197051628558711779624677557174391033191345352116310751482826530624522466879648276278179233440148054918854802113073263861942128588827955948827580650323606063508991298750087231936451037524229579478915533502533754538270429893432200913918290443499248711711073842066549182788967322821125863530259208688839538878668210939666526251855749884807650638602153702973217810515633682323484433738171782136214087721107006308014845845420539089517550679548374855948382078785069778941461143747719857205500302532154505225769993046826638554468877980582818215959137810111509606472002136350889821052595607495407828572423701079193733316720875491928684259324001777430625160589047047242842168539356076361753190044894964814985774697064041335162896837990287715744497859044982736504349237661979771736237432633157054010602867995044089058062590538628636771297639405526958242869582538587849501418601986931610093836642310078228795957878110858840832883571545964542988763023636216542871150019481713282443734100842693268906594196689371289659408614952428789265749409641082898207976038982291693242355303907817839174129201579017455148432461619244258588255441623489705500764462780057957684649373372430617515544928237920152063812454340263683434426968205797191194771839669356901564624893491667077880130890420949235065281779615783464969709424732581976026562041558388683728711098037109538197439305773873845565852171119784502530565126274560674867581005960723068880632138609047 276199944522013986479553978313157016154291956841700948357073958217057481411519865781522451370533756715246287649731500974155849543836704967993866306558837378213483964616906317573643645600811519029546381336842181330721685083600309036198045515087312084657465712502757521528976177232065288813934540830024491900502726104117978585615550060850369530239975766507763841417724527647907814537584958057289103711491669704574403538326436624171242277780553098247456643701042744265078425760849723297732017512077465638014399058405167664016398525344755190005027542952243488389097793857800666628870413107366874053903611469010966622795497072524692900282487360456542613692301783657080974465556879121025905902894170062871816614595920078570309574153587582742033402167263488927532244232784649568422984562591177624180457016291828469630257661689235002325167319057452491135839745880481255457244234344399218568005698192521912130813719694022604917891791923928959858692421890385393657391762570190899756553389262928673282226331470164132347056579169167152346654531714908183689374197382236770806754653034988729105744685391742614977898083701670009623962980373968850752206775046663254840001748146053206960473253673600589361510415725066081833306354106628470379575909425187048164661359933572759698094294361039643072658660859722968107071228951836656156758303635688096026245216836787199261963927244921202692371075863846005773505217981003957751728560846641097025285775713351766398061119042767724468450265496966896751741715363444819519486456652958854491965254458771468810075361492381144709083246033986312199055345071688523632775513183805487379270483771762377751900033883706767949910239341283541552303473413963448368701465734620470471968707251438910528250268711104859340909460714598254582717879442363113176566600404647611596134398548273572478848830690585830004083793273010864209237457654835135756978202350744939861999233438839178032105011926345065642454026641291562918224662505054092805855114121621207235801335029281528133458495890389935449765748864034216697085346794212235536758918104471131991891434772278252995682934740740747786677039260849040071940753789700793065477703422764607948490650487618975696031736437647676178689940021179853693215097138829580102847559520720056081163847912934244072542428106312611122057807617826726748736317040046168720864708667658363671940697411673591402079500665070993113395451 446900897927453959806741787337985858020303383994347711654498072259981637753288181392977401444832807573117681626022410490112253708020987055813631959775465147498290560470026835041752589310131768196268816038131392010498200277464815296617894453933448064508471047383113599189951445227017710851759594082594796111466040273918572753134708427327519139865391132281599264281227200313864117696352312051785961814053630693027843046886080712032892620226284324317913898576174102560803654811994780026431141707416881075773204457159309490613912227245436955787330132828474753237073505597586366151986869926974489922804867946829823132554151467013675234774149969120631893122336451882511263109233684603893280211639456743952036443096674302508881371398812349499967085858716122261120484648260282321895582556715071530163544273999918690141630239681757599785092580204471532943964361225233024566924645094289998916576138544580091748231318902301308267918556342668892055744050449097173282069319744581932947898741379239424765052862094686599226704855447346385786802586633762985802447461244178899395582608983816309756068291455251606276648170933606460661487209953447766285709308801201525269895180346967125250916752922312300435352482274248870800629175232492000638784598264725926832872299600099011553844179168690281674812363832940778622704911275321089894930085771902183747352223144802045107384466334438753371919450719794387852290287759945418895476280703846597327817930218577536391107945681322193346430848315182855889551826873051291521622807542779907087572749866600041233776440686114461429958737962670571523057122502313684221822560426647655918626560133515567796794998698692542646974280676446438390293761129707946227746448471124819709630687023175147960883425765115462208904504803656317173256508079134410815972127362890481178672986397774991080835762300679666646393871501806822087348316495668019328524166893733702885635449981710328051586725208788799743296719910198157114914033794713501420807542910886956645442417927489504172440787583632290753673566703208345898664364249360667998378162363059387433514924477779017458462992698425397160049469878364585000178673941764605519817967106199034916696447678813747535701093339212301072181607099059984583636046373894861882463342985689765505896429888960806114100816790041322220094917156024166054510190885612020891984493170188928798215258086541172408040223733951625252004498 723100842449467946286295765651142874174595340836048660011572030477039119164808047174499852815366564288363969275753911464268103251857692023807498266334302525711774525086933152615396234910943287225815197374973573341219885361065124332815939969020760149165936759885871120718927622459082999665694134912619288011968766378036551338750258488177888670105366898789363105698951727961771932233937270109075065525545300397602246585212517336204134898006837422565370542277216846825882080572844503324163159219494346713787603515564477154630310752590192145792357675780718241626171299455387032780857283034341363976708479415840789755349648539538368135056637329577174506814638235539592237574790563724919186114533626806823853057692594381079190945552399932242000488025979611188652728881044931890318567119306249154344001290291747159771887901370992602110259899261924024079804107105714280024168879438689217484581836737102003879045038596323913185810348266597851914436472339482566939461082314772832704452130642168098047279193564850731573761434616513538133457118348671169491821658626415670202337262018805038861812976846994221254546254635276470285450190327416617037916083847864780109896928493020332211390006595912889796862897999314952633935529339120471018360507689912974997533659533671771251938473529729924747471024692663746729776140227157746051688389407590279773597439981589244369348393579359956064290526583640393625795505740949376647204841550487694353103705931929302789169064724089917814881113812149752641293542236496111041109264195738761579538004325371510043851802178495606139041983996656883722112467574002207854598073610453143297897043905277945548695032582399310596884520017729979942597234543671394596447914205745290181599394274614058489133694476220321549813965518254571755974387521497523992538727767538092774807384946048563559684592991265496650477664774817686296585774150503155085502369244478642747634683420549506083691737135133865385750746551489720033138696299767594226662657032508163881243752956771032305899283474022226203439315567242562595749711043572903535137080467530519425406359250057270454145927439166144946726509139213625072119427731465398585295670528963642865187098166432723231732829776859977250871547120239838276851143512724441985310902506409821587060277801895050186643244896353933342152724773850892803246507925658189612849201837847292470155955498214763810119724399022618365399949 1170001740376921906093037552989128732194898724830396371666070102737020756918096228567477254260199371861481650901776321954380356959878679079621130226109767673210065085556959987657148824221075055422084013413104965351718085638529939629433834422954208213674407807268984719908879067686100710517453728995214084123434806651955124091884966915505407809970758031070962369980178928275636049930289582160861027339598931090630089632098598048237027518233121746883284440853390949386685735384839283350594300926911227789560807972723786645244222979835629101579687808609192994863244805052973398932844152961315853899513347362670612887903800006552043369830787298697806399936974687422103500684024248328812466326173083550775889500789268683588072316951212281741967573884695733449773213529305214212214149676021320684507545564291665849913518141052750201895352479466395557023768468330947304591093524532979216401157975281682095627276357498625221453728904609266743970180522788579740221530402059354765652350872021407522812332055659537330800466290063859923920259704982434155294269119870594569597919871002621348617881268302245827531194425568882930946937400280864383323625392649066305379792108839987457462306759518225190232215380273563823434564704571612471657145105954638901830405959133770782805782652698420206422283388525604525352481051502478835946618475179492463520949663126391289476732859913798709436209977303434781478085793500894795542681122254334291680921636150506839180277010405412111161311962127332608530845369109547402562732071738518668667110754191971551277628242864610067569000721959327455245169590076315892076420634037100799216523604038793513345490031281091853243858800694176418332890995673379340824194362676870109891230081297789206450017120241335783758718470321910888929230895600631934808510855130428573953480371343823554640520355291945163296871536276624508383934090646171174414026536138212345633270133402259834135278462343922665129047466461687877148052730094481095647470199943395120526686170884260536478340071057654516957112882270450908494414075292933571533515242830589906858921283727836287912608920137591542106775979017578210072298101673230004105113637635162677781883545845246470767433923116072278323053154219299822860487189886619303867774245492099587092956707690855856300744061686395255562247641929875058857756698811270210504833695008036221268371213584755936218159948132974243617404447 1893102582826389852379333318640271606369494065666445031677642133214059876082904275741977107075565936149845620177530233418648460211736371103428628492444070198921839610643893140272545059132018342647899210788078538692937970999595063962249774391974968362840344567154855840627806690145183710183147863907833372135403573029991675430635225403683296480076124929860325475679130656237407982164226852269936092865144231488232336217311115384441162416239959169448654983130607796212567815957683786674757460146405574503348411488288263799874533732425821247372045484389911236489416104508360431713701435995657217876221826778511402643253448546090411504887424628274980906751612922961695738258814812053731652440706710357599742558481863064667263262503612213983968061910675344638425942410350146102532716795327569838851546854583413009685406042423742804005612378728319581103572575436661584615262403971668433885739812018784099506321396094949134639539252875864595884616995128062307160991484374127598356803002663575620859611249224388062374227724680373462053716823331105324786090778497010239800257133021426387479694245149240048785740680204159401232387590608281000361541476496931085489689037333007789673696766114138080029078278272878776068500233910732942675505613644551876827939618667442554057721126228150131169754413218268272082257191729636581998306864587082743294547103107980533846081253493158665500500503887075175103881299241844172189885963804821986034025342082436141969446075129502028976193075939482361172138911346043513603841335934257430246648758517343061321480045043105673708042705955984338967282057650318099931018707647553942514420647944071458894185063863491163840743320711906398275488230217050735420642276882615400072829475572403264939150814717556105308532435840165460685205283122129458801049582897966666728287756289872118200204948283210659947349201051442194680519864796674329499528905382690988380904816822809340218970199479056530514798213013177597181191426394248689874132856975903284407929923841031568784239354531676743160552197837693471090163786336506475068652323298120426284327642977893558366754847576757687053502488156791835144417529404695402690409308164126320647070644011679193999166752892932255573924701339539661137338333399343745853085147998509408680016985492750906487387306582749188904400366703725951661003206736928400117682896845883513738527169082970700028279672531996861982804396 3063104323203311758472370871629400338564392790496841403343712235951080633001000504309454361335765308011327271079306555373028817171615050183049758718553837872131904696200853127929693883353093398069983224201183504044656056638125003591683608814929176576514752374423840560536685757831284420700601592903047456258838379681946799522520192319188704290046882960931287845659309584513044032094516434430797120204743162578862425849409713432678189934473080916331939423983998745599253551342523070025351761073316802292909219461012050445118756712261450348951733292999104231352660909561333830646545588956973071775735174141182015531157248552642454874718211926972787306688587610383799238942839060382544118766879793908375632059271131748255335579454824495725935635795371078088199155939655360314746866471348890523359092418875078859598924183476493005900964858194715138127341043767608889206355928504647650286897787300466195133597753593574356093268157485131339854797517916642047382521886433482364009153874684983143671943304883925393174694014744233385973976528313539480080359898367604809398177004024047736097575513451485876316935105773042332179324990889145383685166869145997390869481146172995247136003525632363270261293658546442599503064938482345414332650719599190778658345577801213336863503778926570337592037801743872797434738243232115417944925339766575206815496766234371823322814113406957374936710481190509956581967092742738967732567086059156277714946978232942981149723085534914140137505038066814969702984280455590916166573407672776098913759512709314612599108287907715741277043427915311794212451647726633992007439341684654741730944251982864972239675095144583017084602121406082816608379225890430076244836639559485509964059556870192471389167934958891889067250906162076349614436178722761393609560438028395240681768127633695672840725303575155823244220737328066703064453955442845503913555441520903334014174950225069174354248661822979195643845679474865474329244156488729785521603056919298404934616094725292105262579425589331260117665080108144379584577861629440046602167566128710333143248926705729846279363767714349229160278467174370045216715631077925406795522945799288998428954189856925664766600676009004533896977855558839483997825523285963049720859393490608995772973693183606762788131368269144444466648008633601010518759905548198610622516591853919735006898382667726636246439620664971105600208843 4956206906029701610851704190269671944933886856163286435021354369165140509083904780051431468411331244161172891256836788791677277383351421286478387210997908071053744306844746268202238942485111740717882434989262042737594027637720067553933383206904144939355096941578696401164492447976468130883749456810880828394241952711938474953155417722872000770123007890791613321338440240750452014258743286700733213069887394067094762066720828817119352350713040085780594407114606541811821367300206856700109221219722376796257630949300314244993290444687271596323778777389015467842077014069694262360247024952630289651957000919693418174410697098732866379605636555247768213440200533345494977201653872436275771207586504265975374617752994812922598841958436709709903697706046422726625098350005506417279583266676460362210639273458491869284330225900235809906577236923034719230913619204270473821618332476316084172637599319250294639919149688523490732807410360995935739414513044704354543513370807609962365956877348558764531554554108313455548921739424606848027693351644644804866450676864615049198434137045474123577269758600725925102675785977201733411712581497426384046708345642928476359170183506003036809700291746501350290371936819321375571565172393078357008156333243742655486285196468655890921224905154720468761792214962141069516995434961751999943232204353657950110043869342352357168895366900116040437210985077585131685848391984583139922453049863978263748972320315379123119169160664416169113698114006297330875123191801634429770414743607033529160408271226657673920588332950821414985086133871296133179733705376952091938458049332208684245364899926936431133860159008074180925345442117989214883867456107480811665478916442100910036889032442595736328318749676447994375783342002241810299641461844890852410610020926361907410055883923567791040930251858366483191569938379508897744973820239519833413084346903594322395079767047878514573218861302035726158643892488043071510435582882978475395735913895201689342546018566323674046818780121008003278217277945837850674741647965946521670819889426830759427576569683623404646118615291106916213780955331161880361133160482620809485932253963415319076024833868604858765767428901936789470902556898379145135163856685306795573944541489118404452990678676357669275518674851893633371048375337326962179763112285127010740199488699803248745425551750697336274719293196967967583013239 8019311229233013369324075061899072283498279646660127838365066605116221142084905284360885829747096552172500162336143344164706094554966471469528145929551745943185649003045599396131932825838205138787865659190445546782250084275845071145616992021833321515869849316002536961701178205807752551584351049713928284653080332393885274475675610042060705060169890851722901166997749825263496046353259721131530333274630556645957187916130542249797542285186121002112533831098605287411074918642729926725460982293039179089166850410312364690112047156948721945275512070388119699194737923631028093006792613909603361427692175060875433705567945651375321254323848482220555520128788143729294216144492932818819889974466298174351006677024126561177934421413261205435839333501417500814824254289660866732026449738025350885569731692333570728883254409376728815807542095117749857358254662971879363027974260980963734459535386619716489773516903282097846826075567846127275594212030961346401926035257241092326375110752033541908203497858992238848723615754168840234001669879958184284946810575232219858596611141069521859674845272052211801419610891750244065591037572386571767731875214788925867228651329678998283945703817378864620551665595365763975074630110875423771340807052842933434144630774269869227784728684081290806353830016706013866951733678193867417888157544120233156925540635576724180491709480307073415373921466268095088267815484727322107655020135923134541463919298548322104268892246199330309251203152073112300578107472257225345936988151279809628074167783935972286519696620858537156262129561786607927392185353103586083945897391016863425976309151909801403373535254152657198009947563524072031492246681997910887910315556001586420000948589312788207717486684635339883443034248164318159914077640567652246020170458954757148091824011557263463881655555433522306435790675707575600809427775682365337326639788424497656409254717272947688927467523125014921802489571962908545839679739371708260917338970814500094277162113291615779309398205710339263395882358053982230259319509595386568272987455555541092570825496389353250925482383005456145374059422505531925577848791560546216281455199762704317504979023725530523532368104910941323367880412457218629132989379971269845294803934979727400225964371859964432063650043121038077837696383970927972698523017833325621362716080553722983752323934418423972521158913861939073183222082 12975518135262714980175779252168744228432166502823414273386420974281361651168810064412317298158427796333673053592980132956383371938317892756006533140549654014239393309890345664334171768323316879505748094179707589519844111913565138699550375228737466455224946257581233362865670653784220682468100506524809113047322285105823749428831027764932705830292898742514514488336190066013948060612003007832263546344517950713051949982851371066916894635899161087893128238213211829222896285942936783425570203512761555885424481359612678935105337601635993541599290847777135167036814937700722355367039638862233651079649175980568851879978642750108187633929485037468323733568988677074789193346146805255095661182052802440326381294777121374100533263371697915145743031207463923541449352639666373149306033004701811247780370965792062598167584635276964625714119332040784576589168282176149836849592593457279818632172985938966784413436052970621337558882978207123211333626544006050756469548628048702288741067629382100672735052413100552304272537493593447082029363231602829089813261252096834907795045278114995983252115030652937726522286677727445799002750153883998151778583560431854343587821513185001320755404109125365970842037532185085350646195283268502128348963386086676089630915970738525118705953589236011275115622231668154936468729113155619417831389748473891107035584504919076537660604847207189455811132451345680219953663876711905247577473185787112805212891618863701227388061406863746478364901266079409631453230664058859775707402894886843157234576055162629960440284953809358571247215695657904060571919058480538175884355440349072110221674051836737834507395413160731378935293005642061246376114138105391699575794472443687330037837621755383944045805434311787877818817590166559970213719102412543098430780479881119055501879895480831254922585807291888789627360614087084498554401595921885170739724135328091978804334484320826203500686384427050647961133464450951617350115322254686736313074884709701783619708131857939453356216985831347266674099635999820080934061157561333089943807344982371851998402066072976655571600998296563061587840377836693805938981952043167025767387453726119636581003857594135382298135533812878112838782969355597774268153236656576640868748476468845804678955050536322101339168717972931711208744759308254934878286130118452632102915569253526232497749486169121308795878207058907040766235321 20994829364495728349499854314067816511930446149483542111751487579397582793253715348773203127905524348506173215929123477121089466493284364225534679070101399957425042312935945060466104594161522018293613753370153136302094196189410209845167367250570787971094795573583770324566848859591973234052451556238737397700402617499709023904506637806993410890462789594237415655333939891277444106965262728963793879619148507359009137898981913316714436921085282090005662069311817116633971204585666710151031185805800734974591331769925043625217384758584715486874802918165254866231552861331750448373832252771837012507341351041444285585546588401483508888253333519688879253697776820804083409490639738073915551156519100614677387971801247935278467684784959120581582364708881424356273606929327239881332482742727162133350102658125633327050839044653693441521661427158534433947422945148029199877566854438243553091708372558683274186952956252719184384958546053250486927838574967397158395583885289794615116178381415642580938550272092791152996153247762287316031033111561013374760071827329054766391656419184517842926960302705149527941897569477689864593787726270569919510458775220780210816472842863999604701107926504230591393703127550849325720825394143925899689770438929609523775546745008394346490682273317302081469452248374168803420462791349486835719547292594124263961125140495800718152314327514262871185053917613775308221479361439227355232493321710247346676810917412023331656953653063076787616104418152521932031338136316085121644391046166652785308743839098602246959981574667895727509345257444511987964104411584124259830252831365935536197983203746539237880930667313388576945240569166133277868360820103302587486110028445273750038786211068172151763292118947127761261851838330878130127796742980195344450950938835876203593703907038094718804241362725411096063151289794660099363829371604250508066363923752589635213589201593773892428153907552065569763623036413860163189795061626394997230413855524201877896870245149555232665615191541686530069981994053802311193380667156719658216794800537912944569227562462329906497083381302019206961899800342225731516830743603713242048842653488823954085982881319665905830503638723819436206663381812816403401142616627846486163552411448573204904919422396286533402818761093969789046441143279182907576809147951778253465631649807249216250073420587545281317037120920846113949457403 33970347499758443329675633566236560740362612652306956385137908553678944444422525413185520426063952144839846269522103610077472838431602256981541212210651053971664435622826290724800276362484838897799361847549860725821938308102975348544717742479308254426319741831165003687432519513376193916520552062763546510747724902605532773333337665571926116720755688336751930143670129957291392167577265736796057425963666458072061087881833284383631331556984443177898790307525028945856867490528603493576601389318562290860015813129537722560322722360220709028474093765942390033268367799032472803740871891634070663586990527022013137465525231151591696522182818557157202987266765497878872602836786543329011212338571903055003769266578369309379000948156657035727325395916345347897722959568993613030638515747428973381130473623917695925218423679930658067235780759199319010536591227324179036727159447895523371723881358497650058600389009223340521943841524260373698261465118973447914865132513338496903857246010797743253673602685193343457268690741355734398060396343163842464573333079425889674186701697299513826179075333358087254464184247205135663596537880154568071289042335652634554404294356049000925456512035629596562235740659735934676367020677412428028038733825016285613406462715746919465196635862553313356585074480042323739889191904505106253550937041068015370996709645414877255812919174721452326996186368959455528175143238151132602809966507497360151889702536275724559045015059926823265981005684231931563484568800374944897351793941053495942543319894261232207400266528477254298756560953102416048536023470064662435714608271715007646419657255583277072388326080474119955880533574808194524244474958208694287061904500888961080076623832823556095809097553258915639080669428497438100341515845392738442881731418716995259095583802518925973726827170017299885690511903881744597918230967526135678806088059080681614017923685914600095928840291979116217724756500864811780539910383881081733543488740233903661516578377007494686021832177373033796744081630053622392127441824718052748160602145520284796567629628535306562068684379598582268549740178178919537455812695646880267816230107214943590666986738913801288128639172536697549045446351168414177669295853284423127032300887917419009583874472932608634741987479066901500255185902587437842455095278070230885568547219060775448747822906756666590112915327979753154715692724 54965176864254171679175487880304377252293058801790498496889396133076527237676240761958723553969476493346019485451227087198562304924886621207075891280752453929089477935762235785266380956646360916092975600920013862124032504292385558389885109729879042397414537404748774011999368372968167150573003619002283908448127520105241797237844303378919527611218477930989345799004069848568836274542528465759851305582814965431070225780815197700345768478069725267904452376836846062490838695114270203727632575124363025834607144899462766185540107118805424515348896684107644899499920660364223252114704144405907676094331878063457423051071819553075205410436152076846082240964542318682956012327426281402926763495091003669681157238379617244657468632941616156308907760625226772253996566498320852911970998490156135514480576282043329252269262724584351508757442186357853444484014172472208236604726302333766924815589731056333332787341965476059706328800070313624185189303693940845073260716398628291518973424392213385834612152957286134610264843989118021714091429454724855839333404906754944440578358116484031669106035636063236782406081816682825528190325606425137990799501110873414765220767198913000530157619962133827153629443787286784002087846071556353927728504263945895137182009460755313811687318135870615438054526728416492543309654695854593089270484333662139634957834785910677973965233502235715198181240286573230836396622599590359958042459829207607498566513453687747890701968712989900053597110102384453495515906936691030018996184987220148727852063733359834454360248103145150026265906210546928036500127881648786695544861103080943182617640459329816310269256747787508532825774143974327802112835778311996874548014529334234830115410043891728247572389672206043400342521266828316230469312588372933787332682357552871462689287709557020692531068532742710981753663193676404697282060339130386186872451982833271249231512887508373988356994199531181787488379537278671943729705445507476730773902595758105539413448622157049918687447368914720326814063624107424703320822491874772406377396946058197741136857190997636468565767760900601475511639978521145268972643439250593509865072760703767544752969620233467193959142811260516985252109732981230581070438469912269613195853299365992214488793895328895168144806240160871289301627045866620750031904426022009139034178868868024664997896327344211871429952448900599268665150127 88935524364012615008851121446540937992655671454097454882027304686755471682098766175144243980033428638185865754973330697276035143356488878188617103491403507900753913558588526510066657319131199813892337448469874587945970812395360906934602852209187296823734279235913777699431887886344361067093555681765830419195852422710774570571181968950845644331974166267741275942674199805860228442119794202555908731546481423503131313662648482083977100035054168445803242684361875008347706185642873697304233964442925316694622958029000488745862829479026133543822990450050034932768288459396696055855576036039978339681322405085470560516597050704666901932618970634003285228231307816561828615164212824731937975833662906724684926504957986554036469581098273192036233156541572120151719526067314465942609514237585108895611049905961025177487686404515009575993222945557172455020605399796387273331885750229290296539471089553983391387730974699400228272641594573997883450768812914292988125848911966788422830670403011129088285755642479478067533534730473756112151825797888698303906737986180834114765059813783545495285110969421324036870266063887961191786863486579706062088543446526049319625061554962001455614131997763423715865184447022718678454866748968781955767238088962180750588472176502233276883953998423928794639601208458816283198846600359699342821421374730155005954544431325555229778152676957167525177426655532686364571765837741492560852426336704967650456215989963472449746983772916723319578115786616385059000475737065974916347978928273644670395383627621066661760514631622404325022467163649344085036151351713449131259469374795950829037297714913093382657582828261628488706307718782522326357310736520691161609919030223195910192033876715284343381487225464959039423190695325754330810828433765672230214413776269866721784871512075946666257895702760010867444175097558149295200291306656521865678540041913952863249436573422974084285834491510298005213136038143483724269615829388558464317391335992009200930026999164544604709279546287754123558145254161047095448264316592825154537999091578482537704486819532943030634452140499183744061380156700064806428456134897473777681302867918711135419956359147268482087781983797214534297556084149644758739734323196692740228154187283411224072668368261503802886793719227772789556812948454058592486999704092240024602726087928800113745719234100878461542867776880352423380842851 143900701228266786688026609326845315244948730255887953378916700819831998919775006937102967534002905131531885240424557784474597448281375499395692994772155961829843391494350762295333038275777560729985313049389888450070003316687746465324487961939066339221148816640662551711431256259312528217666559300768114327643979942816016367809026272329765171943192644198730621741678269654429064716662322668315760037129296388934201539443463679784322868513123893713707695061198721070838544880757143901031866539567288342529230102928463254931402936597831558059171887134157679832268209119760919307970280180445886015775654283148927983567668870257742107343055122710849367469195850135244784627491639106134864739328753910394366083743337603798693938214039889348345140917166798892405716092565635318854580512727741244410091626188004354429756949129099361084750665131915025899504619572268595509936612052563057221355060820610316724175072940175459934601441664887622068640072506855138061386565310595079941804094795224514922897908599765612677798378719591777826243255252613554143240142892935778555343417930267577164391146605484560819276347880570786719977189093004844052888044557399464084845828753875001985771751959897250869494628234309502680542712820525135883495742352908075887770481637257547088571272134294544232694127936875308826508501296214292432091905708392294640912379217236233203743386179192882723358666942105917200968388437331852518894886165912575149022729443651220340448952485906623373175225889000838554516382673757004935344163915493793398247447360980901116120762734767554351288373374196272121536279233362235826804330477876894011654938174242909692926839576049137021532081862756850128470146514832688036157933559557430740307443920607012590953876897671002439765711962154070561280141022138606017547096133822738184474159221632967358788964235502721849197838291234553992482351645786908052550992024747224112480949460931348072642828691041479792701515575422155667999321274896035195091293931750114740343475621321594523396726915202474450372208878268471798769086808467597560915396037636680278841344010530579499200219901399785219573020135221210075401099574148067287546375628622478680172925979380735676046924795057731519549665817130875339810172793108962353424007486649403438561462263590398971031599959388644078858439994320679342518904130114249163636904956796824778743615561445090332972820225780951692045992978 232836225592279401696877730773386253237604401709985408260944005506587470601873773112247211514036333769717750995397888481750632591637864377584310098263559469730597305052939288805399695594908760543877650497859763038015974129083107372259090814148253636044883095876576329410863144145656889284760114982533944746839832365526790938380208241280610816275166810466471897684352469460289293158782116870871668768675777812437332853106112161868299968548178062159510937745560596079186251066400017598336100504010213659223853060957463743677265766076857691602994877584207714765036497579157615363825856216485864355456976688234398544084265920962409009275674093344852652697427157951806613242655851930866802715162416817119051010248295590352730407795138162540381374073708371012557435618632949784797190026965326353305702676093965379607244635533614370660743888077472198354525224972064982783268497802792347517894531910164300115562803914874860162874083259461619952090841319769431049512414222561868364634765198235644011183664242245090745331913450065533938395081050502252447146880879116612670108477744051122659676257574905884856146613944458747911764052579584550114976588003925513404470890308837003441385883957660674585359812681332221358997579569493917839262980441870256638358953813759780365455226132718473027333729145334125109707347896573991774913327083122449646866923648561788433521538856150050248536093597638603565540154275073345079747312502617542799478945433614692790195936258823346692753341675617223613516858410822979851692142843767438068642830988601967777881277366389958676310840537845616206572430585075684958063799852672844840692235889156003075584422404310765510238389581539372454827457251353379197767852589780626650499477797322296934335364123135961479188902657479824892090969455904278247761509910092604906259030733708914025046859938262732716642013388792703287682642952443429918229532066661176975730386034354322156928663182551777797914651613565639392268937104284593659408685267742123941273502620486139128106006461490228573930354132429518894217351125060422715453395129215162816545830830063522529834672041898968963634400291921274881829555709045541065227678496541189815592882338528004158134706778854946053847221901280520098549907116305655093652161673932814662634130631851902773918393678616416868415252942774737935005903834206489188239631044725624892489334795545968794515688002661304115426835829 376736926820546188384904340100231568482553131965873361639860706326419469521648780049350179048039238901249636235822446266225230039919239876980003093035715431560440696547290051100732733870686321273862963547249651488085977445770853837583578776087319975266031912517238881122294400404969417502426674283302059074483812308342807306189234513610375988218359454665202519426030739114718357875444439539187428805805074201371534392549575841652622837061301955873218632806759317150024795947157161499367967043577502001753083163885926998608668702674689249662166764718365394597304706698918534671796136396931750371232630971383326527651934791220151116618729216055702020166623008087051397870147491037001667454491170727513417093991633194151424346009178051888726514990875169904963151711198585103651770539693067597715794302281969734037001584662713731745494553209387224254029844544333578293205109855355404739249592730774616839737876855050320097475524924349242020730913826624569110898979533156948306438859993460158934081572842010703423130292169657311764638336303115806590387023772052391225451895674318699824067404180390445675422961825029534631741241672589394167864632561324977489316719062712005427157635917557925454854440915641724039540292390019053722758722794778332526129435451017327454026498267013017260027857082209433936215849192788284207005232791514744287779302865798021637264925035342932971894760539744520766508542712405197598642198668530117948501674877265913130644888744729970065928567564618062168033241084579984787036306759261231466890278349582868894002040101157513027599213912041888328108709818437920784868130330549738852347174063398912768511261980359902531770471444296222583297603766186067233925786149338057390806921717929309525289241020806963918954614619633895453371110478042884265308606043915343090733189955341881383835824173765454565839851680027257280164994598230337970780524091408401088211335495285670229571491873593257590616167188987795060268258379180628854499979199492238681616978241807733651502733376692703024302563010697990692986437933528020276368791166851843095387174840594102029034891943298754183207420427142484957230655283193608352774054125163668495765808317908739834181631573912677573396887718411395438360079909414617447076169160582218101195592895442301744949993638005060947273692937095417277524807964320738351876536001522449671232950356991059127488508228442255807472828807 609573152412825590081782070873617821720157533675858769900804711833006940123522553161597390562075572670967387231220334747975862631557104254564313191299274901291038001600229339906132429465595081817740614045109414526101951574853961209842669590235573611310915008393815210533157544550626306787186789265836003821323644673869598244569442754890986804493526265131674417110383208575007651034226556410059097574480852013808867245655688003520922805609480018032729570552319913229211047013557179097704067547587715660976936224843390742285934468751546941265161642302573109362341204278076150035621992613417614726689607659617725071736200712182560125894403309400554672864050166038858011112803342967868470169653587544632468104239928784504154753804316214429107889064583540917520587329831534888448960566658393951021496978375935113644246220196328102406238441286859422608555069516398561076473607658147752257144124640938916955300680769925180260349608183810861972821755146394000160411393755718816671073625191695802945265237084255794168462205619722845703033417353618059037533904651169003895560373418369822483743661755296330531569575769488282543505294252173944282841220565250490893787609371549008868543519875218600040214253596973945398537871959512971562021703236648589164488389264777107819481724399731490287361586227543559045923197089362275981918559874637193934646226514359810070786463891492983220430854137383124332048696987478542678389511171147660747980620310880605920840825003553316758681909240235285781550099495402964638728449603028669535533109338184836671883317467547471703910054449887504534681140403513605742931930183222583693039409952554915844095684384670668042008861025835595038125061017539446431693638739118684041306399515251606459624605143942925398143517277113720345462079933947162513070115954007947996992220689050795408882684112028187282481865068819960567847637550673767889010056158069578063941721529639992386500155056145035388530818802553434452537195483465222513908664467234362622890480862293872779608739838182931598232917143127509587203789058588442991822186296067005911933005670657624558869563985197723146841820719063759839060210992239149418001732621704858311358690656436743992316338352767623627244109619691915536909987025720272540728330834515032763829723527294204518868387316621477815688945879870155212530711798527227540116167046248074563722285152537027922004196231103559922899664636 986310079233371778466686410973849390202710665641732131540665418159426409645171333210947569610114811572217023467042781014201092671476344131544316284334990332851478698147519391006865163336281403091603577592359066014187929020624815047426248366322893586576946920911054091655451944955595724289613463549138062895807456982212405550758677268501362792711885719796876936536413947689726008909670995949246526380285926215180401638205263845173545642670781973905948203359079230379235842960714340597072034591165217662730019388729317740894603171426236190927328407020938503959645910976994684707418129010349365097922238631001051599388135503402711242513132525456256693030673174125909408982950834004870137624144758272145885198231561978655579099813494266317834404055458710822483739041030119992100731106351461548737291280657904847681247804859041834151732994496246646862584914060732139369678717513503156996393717371713533795038557624975500357825133108160103993552668973018569271310373288875764977512485185155961879346809926266497591592497789380157467671753656733865627920928423221395121012269092688522307811065935686776206992537594517817175246535924763338450705853126575468383104328434261014295701155792776525495068694512615669438078164349532025284780426031426921690617824715794435273508222666744507547389443309752992982139046282150560188923792666151938222425529380157831708051388926835916192325614677127645098557239699883740277031709839677778696482295188146519051485713748283286824610476804853347949583340579982949425764756362289901002423387687767705565885357568704984731509268361929392862789850221951526527800060513772322545386584015953828612606946365030570573779332470131817621422664783725513665619424888456741432113321233180915984913846164749889317098131896747615798833190411990046778378721997923291087725410644392676792718508285793641848321716748847217848012632148904105859790580249477979152153057024925662616071646929738292979146985991541229512805453862645851368408643666726601304507459104101606431111473214875634622535480153825500280190226992116463268190977462918849007320180511251726587904455928496477330049241146206244796290866275432757770775786746868526807124498974345483826497969926680301200640997338103310975270066935134889987804499995097250865025316422736506263818380954626538762962638816965572490055519762847965891992703047770524234955235509528087049492704459545815730372493443 1595883231646197368548468481847467211922868199317590901441470129992433349768693886372544960172190384243184410698263115762176955303033448386108629475634265234142516699747748730912997592801876484909344191637468480540289880595478776257268917956558467197887861929304869302188609489506222031076800252814974066717131101656082003795328120023392349597205411984928551353646797156264733659943897552359305623954766778228989268883860951848694468448280261991938677773911399143608446889974271519694776102138752933323706955613572708483180537640177783132192490049323511613321987115255070834743040121623766979824611846290618776671124336215585271368407535834856811365894723340164767420095754176972738607793798345816778353302471490763159733853617810480746942293120042251740004326370861654880549691673009855499758788259033839961325494025055369936557971435783106069471139983577130700446152325171650909253537842012652450750339238394900680618174741291970965966374424119412569431721767044594581648586110376851764824612047010522291760054703409103003170705171010351924665454833074390399016572642511058344791554727690983106738562113364006099718751830176937282733547073691825959276891937805810023164244675667995125535282948109589614836616036309044996846802129268075510855106213980571543092989947066475997834751029537296552028062243371512836170842352540789132157071755894517641778837852818328899412756468814510769430605936687362282955421221010825439444462915499027124972326538751836603583292386045088633731133440075385914064493205965318570537956497025952542237768675036252456435419322811816897397470990625465132270731990696994906238425993968508744456702630749701238615788193495967412659547725801264960097313063627575425473419720748432522444538451308692814715241649173861336144295270345937209291448837951931239084717631333443472201601192397821829130803581817667178415860269699577873748800636407547557216094778554565655002571801985883328367677804794094663965342649346111073882317308133960963927397939966395479210720213053058566220768397296953009867394016050704906260013163758985854919253186181909351146774019913694200476891061865270004635351077267671907188777519368573385118483189630782227818814308279447924827885106957795226512180053960855162528532830829612283628855039950030710782686768271248016578651584696835727702586231561375193432108870094018598798677520662065114971496900690649375653272158079 2582193310879569147015154892821316602125578864959323032982135548151859759413865219583492529782305195815401434165305896776378047974509792517652945759969255566993995397895268121919862756138157888000947769229827546554477809616103591304695166322881360784464808850215923393844061434461817755366413716364112129612938558638294409346086797291893712389917297704725428290183211103954459668853568548308552150335052704444169670522066215693868014090951043965844625977270478373987682732934985860291848136729918150986436975002302026224075140811604019323119818456344450117281633026232065519450458250634116344922534084921619828270512471718987982610920668360313068058925396514290676829078705010977608745417943104088924238500703052741815312953431304747064776697175500962562488065411891774872650422779361317048496079539691744809006741829914411770709704430279352716333724897637862839815831042685154066249931559384365984545377796019876180975999874400131069959927093092431138703032140333470346626098595562007726703958856936788789351647201198483160638376924667085790293375761497611794137584911603746867099365793626669882945554650958523916893998366101700621184252926818401427659996266240071037459945831460771651030351642622205284274694200658577022131582555299502432545724038696365978366498169733220505382140472847049545010201289653663396359766145206941070379497285274675473486889241745164815605082083491638414529163176387246023232452930850503218140945210687173644023812252500119890407902862849941981680716780655368863490257962327608471540379884713720247803654032604957441166928591173746290260260840847416658798532051210767228783812577984462573069309577114731809189567525966099230280970390584990473762932488516032166905533041981613438429452297473442704032339781070608951943128460757927256069827559949854530172443041977836148994319700683615470979125298566514396263872901848481979608591216657025536368247835579491317618643448915621621346824790785635893478148103208756925250725951800687565231905399070497085641831686267934200843303877450778510147584243042821369528204141221904703926573366693161077734678475842190677806940303011476249431641943543104664959553306115441911925607688605127711645312278206128226028526104295898537487450120895990052516337330824709534493880356372767217046505149225874555341614223513801300192641751324223159324101573141789123033632756171593202020989605150195191383644651522 4178076542525766515563623374668783814048447064276913934423605678144293109182559105956037489954495580058585844863569012538555003277543240903761575235603520801136512097643016852832860348940034372910291960867296027094767690211582367561964084279439827982352670779520792696032670923968039786443213969179086196330069660294376413141414917315286061987122709689653979643830008260219193328797466100667857774289819482673158939405927167542562482539231305957783303751181877517596129622909257379986624238868671084310143930615874734707255678451781802455312308505667961730603620141487136354193498372257883324747145931212238604941636807934573253979328204195169879424820119854455444249174459187950347353211741449905702591803174543504975046807049115227811718990295543214302492391782753429753200114452371172548254867798725584770332235854969781707267675866062458785804864881214993540261983367856804975503469401397018435295717034414776861594174615692102035926301517211843708134753907378064928274684705938859491528570903947311081111701904607586163809082095677437714958830594572002193154157554114805211890920521317652989684116764322530016612750196278637903917800000510227386936888204045881060624190507128766776565634590731794899111310236967622018978384684567577943400830252676937521459488116799696503216891502384346097038263533025176232530608497747730202536569041169193115265727094563493715017838552306149183959769113074608306187874151861328657585408126186200768996138791251956493991195248895030615411850220730754777554751168292927042078336381739672790041422707641209897602347913985563187657731831472881791069264041907762135022238571952971317526012207864433047805355719462066642940518116386255433860245552143607592378952762730045960873990748782135518747581430244470288087423731103864465361276397901785769257160673311279621195920893081437300109928880384181574679733171548059853357391853064573093584342614134056972621215250901504949714502595579730557443490752554867999133043259934648529159303339036892564852551899320992767064072274747731520014978259093526275788217304980890558845826552875070428881452495755884878283831364876746254066993020810776572148330825484015297044090878235909939464126586485576150856411211253693763999630174856845215044870161654321818122735396322797927829191917497122571920265808210637027895227982885598352756210443235807721832310276833658316992486505840844567036916809601 6760269853405335662578778267490100416174025929236236967405741226296152868596424325539530019736800775873987279028874909314933051252053033421414520995572776368130507495538284974752723105078192260911239730097123573649245499827685958866659250602321188766817479629736716089876732358429857541809627685543198325943008218932670822487501714607179774377040007394379407934013219364173652997651034648976409924624872187117328609927993383236430496630182349923627929728452355891583812355844243240278472375598589235296580905618176760931330819263385821778432126962012411847885253167719201873643956622891999669669680016133858433212149279653561236590248872555482947483745516368746121078253164198927956098629684553994626830303877596246790359760480419974876495687471044176864980457194645204625850537231732489596750947338417329579338977684884193477977380296341811502138589778852856380077814410541959041753400960781384419841094830434653042570174490092233105886228610304274846837786047711535274900783301500867218232529760884099870463349105806069324447459020344523505252206356069613987291742465718552078990286314944322872629671415281053933506748562380338525102052927328628814596884470285952098084136338589538427595986233354000183386004437626199041109967239867080375946554291373303499825986286532917008599031975231395642048464822678839628890374642954671272916066326443868588752616336308658530622920635797787598488932289461854329420327082711831875726353336873374413019951043752076384399098111744972597092567001386123641045009130620535513618716266453393037845076740246167338769276505159309477917992672320298449867796093118529363806051149937433890595321784979164856994923245428165873221488506971245907623178040659639759284485804711659399303443046255578222779921211315079240030552191861791721431103957851640299429603715289115770190240593765052771089054178950695970943606073396541832965983069721598629952590449713548290239858699817126571061327386365366450921638855763624924383769211735336094391208738107389650494383585588926967907376152198510030162562502136347645316421446202795262772399919568231506616130971598075556090771667888222503498634964353881237107884131599457208969698566841037651109438864691704376884937315549592301487080295752835267561207492479031352616615752695565144875697066722997127261880031724438328087869734209821512080312016377596844865943033005251519013476110991039758420561461123 10938346395931102178142401642158884230222472993513150901829346904440445977778983431495567509691296355932573123892443921853488054529596274325176096231176297169267019593181301827585583454018226633821531690964419600744013190039268326428623334881761016749170150409257508785909403282397897328252841654722284522273077879227047235628916631922465836364162717084033387577843227624392846326448500749644267698914691669790487549333920550778992979169413655881411233479634233409179941978753500620265096614467260319606724836234051495638586497715167624233744435467680373578488873309206338227837454995149882994416825947346097038153786087588134490569577076750652826908565636223201565327427623386878303451841426003900329422107052139751765406567529535202688214677766587391167472848977398634379050651684103662145005815137142914349671213539853975185245056162404270287943454660067849920339797778398764017256870362178402855136811864849429904164349105784335141812530127516118554972539955089600203175468007439726709761100664831410951575051010413655488256541116021961220211036950641616180445900019833357290881206836261975862313788179603583950119498758658976429019852927838856201533772674331833158708326845718305204161620824085795082497314674593821060088351924434658319347384544050241021285474403332613511815923477615741739086728355704015861420983140702401475452635367613061704018343430872152245640759188103936782448701402536462635608201234573160533311761463059575182016089835004032878390293360640003212504417222116878418599760298913462555697052648193065827886499447887377236371624419144872665575724503793180240937060135026291498828289721890405208121333992843597904800278964890232516162006623357501341483423592803247351663438567441705360177433795037713741527502641559549528117975922965656186792380355753426068686764388600395391386161486846490071198983059334877545623339244944601686323374922786171723536933063847605262861073950718631520775829981945097008365129608318492923516812471669984623550512077144282215346935484909919734971448426946241550177540761229873921104638751183685821618226472443301935497583467353960434374603032764968757565627985164657809256214957083472506013789445076947590573565451177280527741348526803286065486710470609680482606077654133353170739351149018363072704888984220119699182145839935075355983097717095419864836522459613404566698253309838909836005962616831884325457478270724 17698616249336437840721179909648984646396498922749387869235088130736598846375407757035097529428097131806560402921318831168421105781649307746590617226749073537397527088719586802338306559096418894732771421061543174393258689866954285295282585484082205515987630038994224875786135640827754870062469340265482848216086098159718058116418346529645610741202724478412795511856446988566499324099535398620677623539563856907816159261913934015423475799596005805039163208086589300763754334597743860543568990065849554903305741852228256569917316978553446012176562429692785426374126476925540101481411618041882664086505963479955471365935367241695727159825949306135774392311152591947686405680787585806259550471110557894956252410929735998555766328009955177564710365237631568032453306172043839004901188915836151741756762475560243929010191224738168663222436458746081790082044438920706300417612188940723059010271322959787274977906695284082946734523595876568247698758737820393401810326002801135478076251308940593927993630425715510822038400116219724812704000136366484725463243306711230167737642485551909369871493151206298734943459594884637883626247321039314954121905855167485016130657144617785256792463184307843631757607057439795265883319112220020101198319164301738695293938835423544521111460689865530520414955452847137381135193178382855490311357783657072748368701694056930292770959767180810776263679823901724380937633691998316965028528317284992409038114799932949595036040878756109262789391472384975809596984223503002059644769429533998069315768914646458865731576188133544575140900924304182143493717176113478690804856228144820862634340871827839098716655777822762761795202210318398389383495130328747249106601633462887110947924372153364759480876841293291964307423852874628768148528114827447908223484313605066368116368103889511161576402080611542842288037238285573516566945318341143519289357992507770353489523513561153553100932650535758091837157368310463459286768464082117847900581683405320717941720815251671865841319070498846702878824579144751580340103263366221566421060197386481084390626392011533442113714438952035990465374700653191261064262949518539046364099088682929714983488011917985241683004315868984904626285842352878366973790766362515750167285146612384523355966901713928217580586050943116826444025871659513684070967451305241376916834475991001411564196342844161355019438727822924083878039731847 28636962645267540018863581551807868876618971916262538771064435035177044824154391188530665039119393487739133526813762753021909160311245582071766713457925370706664546681900888629923890013114645528554303112025962775137271879906222611723905920365843222265157780448251733661695538923225652198315310994987767370489163977386765293745334978452111447105365441562446183089699674612959345650548036148264945322454255526698303708595834484794416454969009661686450396687720822709943696313351244480808665604533109874510030578086279752208503814693721070245920997897373159004862999786131878329318866613191765658503331910826052509519721454829830217729403026056788601300876788815149251733108410972684563002312536561795285674517981875750321172895539490380252925043004218959199926155149442473383951840599939813886762577612703158278681404764592143848467492621150352078025499098988556220757409967339487076267141685138190130114718560133512850898872701660903389511288865336511956782865957890735681251719316380320637754731090546921773613451126633380300960541252388445945674280257352846348183542505385266660752699987468274597257247774488221833745746079698291383141758783006341217664429818949618415500790030026148835919227881525590348380633786813841161286671088736397014641323379473785542396935093198144032230878930462879120221921534086871351732340924359474223821337061669991996789303198052963021904439012005661163386335094534779600636729551858152942349876262992524777052130713760142141179684833024979022101401445619880478244529728447460625012821562839524693618075636020921811512525343449054809069441679906658931741916363171112361462630593718244306837989770666360666595481175208630905545501753686248590590025226266134462611362939595070119658310636331005705834926494434178296266504037793104095015864669358492436803132492489906552962563567458032913487020297620451062190284563285745205612732915293942077026456577408758815962006601254389612612987350255560467651898072400610771417394155075305341492232892395954081188254555408766437850273006090993130517644024596095487525698948570166906008852864454835377611297906305996424839977733418160018629890934683196855620314045766402220997277456994932832256569767046265432367634369156164432460501236972196232773362800745737694095318050732291290285475035163236525626171711594589040054065168400661241753356935604405978262449652683071191025401344654808409335518002571 46335578894603977859584761461456853523015470839011926640299523165913643670529798945565762568547490619545693929735081584190330266092894889818357330684674444244062073770620475432262196572211064423287074533087505949530530569773176897019188505849925427781145410487245958537481674564053407068377780335253250218705250075546483351861753324981757057846568166040858978601556121601525844974647571546885622945993819383606119867857748418809839930768605667491489559895807412010707450647948988341352234594598959429413336319938508008778421131672274516258097560327065944431237126263057418430800278231233648322589837874306007980885656822071525944889228975362924375693187941407096938138789198558490822552783647119690241926928911611748876939223549445557817635408241850527232379461321486312388853029515775965628519340088263402207691595989330312511689929079896433868107543537909262521175022156280210135277413008097977405092625255417595797633396297537471637210047603156905358593191960691871159327970625320914565748361516262432595651851242853105113664541388754930671137523564064076515921184990937176030624193138674573332200707369372859717371993400737606337263664638173826233795086963567403672293253214333992467676834938965385614263952899033861262484990253038135709935262214897330063508395783063674552645834383310016501357114712469726842043698708016546972190038755726922289560262965233773798168118835907385544323968786533096565665257869143145351387991062925474372088171592516251403969076305409954831698385669122882537889299157981458694328590477485983559349651824154466386653426267753236952563158856020137622546772591315933224096971465546083405554645548489123428390683385527029294928996884014995839696626859729021573559287311748434879139187477624297670142350347308807064415032152620552003239348982963558804919500596379417714538965648069575755775057535906024578757229881626888724902090907801712430515980090969912369062939251790147704450144718566023926938666536482728619317975838480626059433953707647625947029573625907613140729097585235744710857747287962317053946759145956647990399479256466368819725012345258032415305352434071351279694153884201735901984413134449331935980765468912918073939574082915250336993920211509042799434292003334711982940647947358122217451284952446219507866061086106353352070197583254102724125032619705902618670191411595407389826645995527232546044840072477732493213557734418 74972541539871517878448343013264722399634442755274465411363958201090688494684190134096427607666884107284827456548844337212239426404140471890124044142599814950726620452521364062186086585325709951841377645113468724667802449679399508743094426215768650046303190935497692199177213487279059266693091330241017589194414052933248645607088303433868504951933607603305161691255796214485190625195607695150568268448074910304423576453582903604256385737615329177939956583528234720651146961300232822160900199132069303923366898024787760986924946365995586504018558224439103436100126049189296760119144844425413981093169785132060490405378276901356162618632001419712976994064730222246189871897609531175385555096183681485527601446893487499198112119088935938070560451246069486432305616470928785772804870115715779515281917700966560486373000753922456360157421701046785946133042636897818741932432123619697211544554693236167535207343815551108648532268999198375026721336468493417315376057918582606840579689941701235203503092606809354369265302369486485414625082641143376616811803821416922864104727496322442691376893126142847929457955143861081551117739480435897720405423421180167451459516782517022087794043244360141303596062820490975962644586685847702423771661341774532724576585594371115605905330876261818584876713313772895621579036246556598193776039632376021196011375817396914286349566163286736820072557847913046707710303881067876166301987421001298293737867325917999149140302306276393545148761138434933853799787114742763016133828886428919319341412040325508252967727460175388198165951611202291761632600535926796554288688954487045585559602059264327712392635319155484094986164560735660200474498637701244430286652085995156036170650251343504998797498113955303375977276841742985360681536190413656098255213652322051241722633088869324267501529215527608669262077833526475640947514444912633930514823823095654507542436668378671185024945853044537317063132068821584394590564608883339390735369993555931400926186600043580028217828181316379578579370591326737841375391312558412541472458094526814896408332120921204197336310251564028840145330167489511298324044818884932757604727180215734156978042925907850906196143849961515769361554580665207231894793240306908215714010748103859911546603003178510798151536121269589877696369294848691764179097788106563860423548347199813368089095648210303737070241417132540902549075736989 121308120434475495738033104474721575922649913594286392051663481367004332165213989079662190176214374726830521386283925921402569692497035361708481374827274259194788694223141839494448283157536774375128452178200974674198333019452576405762282932065694077827448601422743650736658888051332466335070871665494267807899664128479731997468841628415625562798501773644164140292811917816011035599843179242036191214441894293910543444311331322414096316506220996669429516479335646731358597609249221163513134793731028733336703217963295769765346078038270102762116118551505047867337252312246715190919423075659062303683007659438068471291035098972882107507860976782637352687252671629343128010686808089666208107879830801175769528375805099248075051342638381495888195859487920013664685077792415098161657899631491745143801257789229962694064596743252768871847350780943219814240586174807081263107454279899907346821967701334144940299969070968704446165665296735846663931384071650322673969249879274477999907660567022149769251454123071786964917153612339590528289624029898307287949327385480999380025912487259618722001086264817421261658662513233941268489732881173504057669088059353993685254603746084425760087296458694133771272897759456361576908539584881563686256651594812668434511847809268445669413726659325493137522547697082912122936150959026325035819738340392568168201414573123836575909829128520510618240676683820432252034272667600972731967245290144443645125858388843473521228473898792644949117837443844888685498172783865645554023128044410378013670002517811491812317379284329854584819377878955528714195759391946934176835461545802978809656573524810411117947280867644607523376847946262689495403495521716240269983278945724177609729937563091939877936685591579601046119627189051792425096568343034208101494562635285610046642133685248741982040494863597184425037135369432500219704744326539522655416914730897366938058416759348583554087885104834685021513276787387608321529231145366068010053345832036557460360140307691205975247401807223992719308468176562482552233138600520729595419217240483462886807811377387573017061322596822061255450682601560862578018198703086668659589140314665066092958808394820768980135717932876766106355474792174250031329085243641620198654658695461982128997887955624730306017597207375943229766566878102794488304130407812466479093739758795220757915741643737536283115081489610273395762633471407 196280661974347013616481447487986298322284356349560857463027439568095020659898179213758617783881258834115348842832770258614809118901175833598605418969874074145515314675663203556634369742862484326969829823314443398866135469131975914505377358281462727873751792358241342935836101538611525601763962995735285397094078181412980643075929931849494067750435381247469301984067714030496226225038786937186759482889969204214967020764914226018352702243836325847369473062863881452009744570549453985674034992863098037260070115988083530752271024404265689266134676775944151303437378361436011951038567920084476284776177444570128961696413375874238270126492978202350329681317401851589317882584417620841593662976014482661297129822698586747273163461727317433958756310733989500096990694263343883934462769747207524659083175490196523180437597497175225232004772481990005760373628811704900005039886403519604558366522394570312475507312886519813094697934295934221690652720540143739989345307797857084840487350508723384972754546729881141334182455981826075942914706671041683904761131206897922244130639983582061413377979390960269191116617657095022819607472361609401778074511480534161136714120528601447847881339703054275074868960579947337539553126270729266110028312936587201159088433403639561275319057535587311722399261010855807744515187205582923229595777972768589364212790390520750862259395291807247438313234531733478959744576548668848898269232711145741938863725714761472670368776205069038494266598582279822539297959898608408570156956930839297333011414558137000065285106744505242782985329490157820475828359927873730731124150500290024395216175584074738830339916186800091618363012506998349695877994159417484700269931031719333645900587814435444876734183705534904422096904030794777785778104533447864199749776287607661288364766774118066249542024079124793094299213202958975860652258771452156585931738553993021445600853427727254739112830957879222338576408856209192716119795754249407400788715825592488861286326907734786003465229988540372297887838767889220393608529913079142136891675335010277783216143498308777214397632848386090095596012769050373876342243521971601417193867494880800249936851320728619886331861782838281875717029372839457263223878483948528414368669443565842040544490958803241104169133328645533107462936172951486252483228195919030339517288105995034126004837291947840020185322906742814298311709208396 317588782408822509354514551962707874244934269943847249514690920935099352825112168293420807960095633560945870229116696180017378811398211195307086793797148333340304008898805043051082652900399258702098282001515418073064468488584552320267660290347156805701200393780984993672494989589943991936834834661229553204993742309892712640544771560265119630548937154891633442276879631846507261824881966179222950697331863498125510465076245548432449018750057322516798989542199528183368342179798675149187169786594126770596773333951379300517617102442535792028250795327449199170774630673682727141957990995743538588459185104008197432987448474847120377634353954984987682368570073480932445893271225710507801770855845283837066658198503685995348214804365698929846952170221909513761675772055758982096120669378699269802884433279426485874502194240427994103852123262933225574614214986511981268147340683419511905188490095904457415807281957488517540863599592670068354584104611794062663314557677131562840395011075745534742006000852952928299099609594165666471204330700939991192710458592378921624156552470841680135379065655777690452775280170328964088097205242782905835743599539888154821968724274685873607968636161748408846141858339403699116461665855610829796284964531399869593600281212908006944732784194912804859921808707938719867451338164609248265415516313161157532414204963644587438169224420327758056553911215553911211778849216269821630236478001290185583989584103604946191597250103861683443384436026124711224796132682474054124180084975249675346681417075948491877602486028835097367804707369113349190024119319820664907959612046093003204872749108885149948287197054444699141739860453261039191281489681133724970253209977443511255630525377527384754670869297114505468216531219846570210874672876482072301244338922893271335006900459366808231582518942721977519336348572391476080357003097991679241348653284890388383659270187075838293200716062713907360089685643596801037649026899615475410842061657629046321646467215425991978712631795764365017196306944451702945841668513599871732310892575493740670023954875696350231458955445208151351046695370611236454360442225058270076783007809545866342895659715549388866467579715715047982072504165013707294552963727590148613023328139027824169542378914427971410186730536021476337229503051054280740787358603731496818611027864790254883920578935685376303300404396353087694074342679803 513869444383169522970995999450694172567218626293408106977718360503194373485010347507179425743976892395061219071949466438632187930299387028905692212767022407485819323574468246607717022643261743029068111824829861471930603957716528234773037648628619533574952186139226336608331091128555517538598797656964838602087820491305693283620701492114613698299372536139102744260947345877003488049920753116409710180221832702340477485841159774450801720993893648364168462605063409635378086750348129134861204779457224807856843449939462831269888126846801481294385472103393350474212009035118739092996558915828014873235362548578326394683861850721358647760846933187338012049887475332521763775855643331349395433831859766498363788021202272742621378266093016363805708480955899013858666466319102866030583439125906794461967608769623009054939791737603219335856895744923231334987843798216881273187227086939116463555012490474769891314594844008330635561533888604290045236825151937802652659865474988647680882361584468919714760547582834069633282065575991742414119037371981675097471589799276843868287192454423741548757045046737959643891897827423986907704677604392307613818111020422315958682844803287321455849975864802683921010818919351036656014792126340095906313277467987070752688714616547568220051841730500116582321069718794527611966525370192171495011294285929746896626995354165338300428619712135005494867145747287390171523425764938670528505710712435927522853309818366418861966026308930721937651034608404533764094092581082462694337041906088972679692831634085491942887592773340340150790036859271169665852479247694395639083762546383027600088924692959888778627113241244790760102872960259388887159483840551209670523141009162844901531113191962829631405053002649409890313435250641347996652777409929936500994115210500932623371667233484874481124543021846770613635561775350451941009261869443835827280391838883409829260123614803093032313547020593129698666094499805993753768822653864882811630777483221535182932794123160777982177861784304737315084145712340923339450198426679013869202567910504018453240098374005127445856588293594241446642708139661610330702685747029871493976875304426666592832511036278008752799441498553329857789533537853164557776842211538677027391997582593666210086869873231212514355863864667009444692439224005766993270586799650527158128315970785289009925416227633216323485727303095901992386051888199 831458226791992032325510551413402046812152896237255356492409281438293726310122515800600233704072525956007089301066162618649566741697598224212779006564170740826123332473273289658799675543661001731166393826345279544995072446301080555040697938975776339276152579920211330280826080718499509475433632318194391807081562801198405924165473052379733328848309691030736186537826977723510749874802719295632660877553696200465987950917405322883250739743950970880967452147262937818746428930146804284048374566051351578453616783890842131787505229289337273322636267430842549644986639708801466234954549911571553461694547652586523827671310325568479025395200888172325694418457548813454209669126869041857197204687705050335430446219705958737969593070458715293652660651177808527620342238374861848126704108504606064264852042049049494929441985978031213439709019007856456909602058784728862541334567770358628368743502586379227307121876801496848176425133481274358399820929763731865315974423152120210521277372660214454456766548435786997932381675170157408885323368072921666290182048391655765492443744925265421684136110702515650096667177997752950995801882847175213449561710560310470780651569077973195063818612026551092767152677258754735772476457981950925702598241999386940346288995829455575164784625925412921442242878426733247479417863534801419760426810599090904429041200317809925738597844132462763551421056962841301383302274981208492158742188713726113106842893921971365053563276412792405381035470634529244988890225263556516818517126881338648026374248710033983820490078802175437518594744228384518855876598567515060547043374592476030804961673801845038726914310295689489901842733413520428078440973521684934640776350986606356157161638569490214386075922299763915358529966470487918207527450286412008802238454133394203958378567692851682712707061964568748132971910347741928021366264967435515068629045123773798212919393801878931325514263083307037058755780143402794791417849553480358222472839140850581504579261338586769960890493580069102332280452656792626285291866940278885601513460485997759123264053249701477677315543738802392797689403510272846785063127972088141570759883113972532935728170751827397619267021214268377839862037702866871852329805939128825640415325721621490379629248787659183924542594400688485781921942275060047734057945403382023976739343835575543893845995163318592626786131699448989686460394568002 1345327671175161555296506550864096219379371522530663463470127641941488099795132863307779659448049418351068308373015629057281754671996985253118471219331193148311942656047741536266516698186922744760234505651175141016925676404017608789813735587604395872851104766059437666889157171847055027014032429975159230409169383292504099207786174544494347027147682227169838930798774323600514237924723472412042371057775528902806465436758565097334052460737844619245135914752326347454124515680494933418909579345508576386310460233830304963057393356136138754617021739534235900119198648743920205327951108827399568334929910201164850222355172176289837673156047821359663706468345024145975973444982512373206592638519564816833794234240908231480590971336551731657458369132133707541479008704693964714157287547630512858726819650818672503984381777715634432775565914752779688244589902582945743814521794857297744832298515076853997198436471645505178811986667369878648445057754915669667968634288627108858202159734244683374171527096018621067565663740746149151299442405444903341387653638190932609360730937379689163232893155749253609740559075825176937903506560451567521063379821580732786739334413881260516519668587891353776688163496178105772428491250108291021608911519467374011098977710446003143384836467655913038024563948145527775091384388904993591255438104885020651325668195671975264039026463844597769046288202710128691554825700746147162687247899426162040629696203740337783915529302721723127318686505242933778752984317844638979512854168787427620706067080344119475763377671575515777669384781087655688521729077815209456186127137138859058405050598494804927505541423536934280661945606373779816965600457362236144311299491995769201058692751761453044017480975302413325248843401721129266204180227696341945303232569343895136581750234926336557193831604986415518746607472123092379962375526836879350895909436962657208042179517416682024357827810103900166757421874643208788545186672207345241034103616624072116687512055461747547943068355364373839647364598369133549624742065366957899470716028396501777576504151623706605123172132032396634244332111649934457115765813719118013064736758418399199528560681788105406372066462712821707697651571240720036410106648150667502667807323304215156589716118660890396438898458265355495226614381499065814727328532203032551134867659806360832903771411390951808950271859002544891678846446456201 2176785897967153587622017102277498266191524418767918819962536923379781826105255379108379893152121944307075397674081791675931321413694583477331250225895363889138065988521014825925316373730583746491400899477520420561920748850318689344854433526580172212127257345979648997169983252565554536489466062293353622216250946093702505131951647596874080355995991918200575117336601301324024987799526191707675031935329225103272453387675970420217303200481795590126103366899589285272870944610641737702957953911559927964764077017721147094844898585425476027939658006965078449764185288452721671562905658738971121796624457853751374050026482501858316698551248709531989400886802572959430183114109381415063789843207269867169224680460614190218560564407010446951111029783311516069099350943068826562283991656135118922991671692867721998913823763693665646215274933760636145154191961367674606355856362627656373201042017663233224505558348447002026988411800851153006844878684679401533284608711779229068723437106904897828628293644454408065498045415916306560184765773517825007677835686582588374853174682304954584917029266451769259837226253822929888899308443298742734512941532141043257519985982959233711583487199917904869455316173436860508200967708090241947311509761466760951445266706275458718549621093581325959466806826572261022570802252439795011015864915484111555754709395989785189777624307977060532597709259672969992938127975727355654845990088139888153736539097662309148969092579134515532699721975877463023741874543108195496331371295668766268732441329054153459583867750377691215187979525316040207377605676382724516733170511731335089210012272296649966232455733832623770563788339787300245044041430883921078952075842982375557215854390330943258403556897602177240607373368191617184411707677982753954105471023477289340540128802619188239906538666950984266879579382470834307983741791804314865964538482086431006255098911218560955683342073187207203816177654786611583336604521760825599256576455764922698192091316800334317903958848944442941979645051025926175910033932307236785072229488882499536699768204873408082800487675771199027042021515160207303900828941691206154635496641532371732464288852539932803991333483927090085537513608943586908262436454089796328308222649025836646969345367448549580363441052666043981008536323774125862461386477606414575111607003641936376797617406554270401577057990701993881365306841024203 3522113569142315142918523653141594485570895941298582283432664565321269925900388242416159552600171362658143706047097420733213076085691568730449721445226557037450008644568756362191833071917506491251635405128695561578846425254336298134668169114184568084978362112039086664059140424412609563503498492268512852625420329386206604339737822141368427383143674145370414048135375624924539225724249664119717402993104754006078918824434535517551355661219640209371239281651915632726995460291136671121867533257068504351074537251551452057902291941561614782556679746499314349883383937196641876890856767566370690131554368054916224272381654678148154371707296530891653107355147597105406156559091893788270382481726834684003018914701522421699151535743562178608569398915445223610578359647762791276441279203765631781718491343686394502898205541409300078990840848513415833398781863950620350170378157484954118033340532740087221703994820092507205800398468221031655289936439595071201253243000406337926925596841149581202799820740473029133063709156662455711484208178962728349065489324773520984213905619684643748149922422201022869577785329648106826802815003750310255576321353721776044259320396840494228103155787809258646143479669614966280629458958198532968920421280934134962544244416721461861934457561237238997491370774717788797662186641344788602271303020369132207080377591661760453816650771821658301643997462383098684492953676473502817533237987566050194366235301402646932884621881856238660018408481120396802494858860952834475844225464456193889438508409398272935347245421953206992857364306403695895899334754197933972919297648870194147615062870791454893737997157369558051225733946161080062009641888246157223263375334978144758274547142092396302421037872904590565856216769912746450615887905679095899408703592821184477121879037545524797100370271937399785626186854593926687946117318641194216860447919049088214297278428635242980041169883291107370573599529429820371881791193968170840290680072388994814879603372262081865847027204308816781627009649395059725534775997674194684542945517279001314276272356497114687923659807803595661286353626810141761016594755410324167700233399950770931992849534328038210363399946639911793235165180184306944672543102240463830976029972330051803559061486109439976802339510931399476235150705273191677188715009809447126246474663448297209701388817945222210527329849704538773044153287480404 5698899467109468730540540755419092751762420360066501103395201488701051752005643621524539445752293306965219103721179212409144397499386152207780971671121920926588074633089771188117149445648090237743036304606215982140767174104654987479522602640764740297105619458018735661229123676978164099992964554561866474841671275479909109471689469738242507739139666063570989165471976926248564213523775855827392434928433979109351372212110505937768658861701435799497342648551504917999866404901778408824825487168628432315838614269272599152747190526987090810496337753464392799647569225649363548453762426305341811928178825908667598322408137180006471070258545240423642508241950170064836339673201275203334172324934104551172243595162136611917712100150572625559680428698756739679677710590831617838725270859900750704710163036554116501812029305102965725206115782274051978552973825318294956526234520112610491234382550403320446209553168539509232788810269072184662134815124274472734537851712185566995649033948054479031428114384927437198561754572578762271668973952480553356743325011356109359067080301989598333066951688652792129415011583471036715702123447049052990089262885862819301779306379799727939686642987727163515598795843051826788830426666288774916231931042400895913989511122996920580484078654818564956958177601290049820232988893784583613287167935853243762835086987651545643594275079798718834241706722056068677431081652200858472379228075705938348102774399064956081853714460990754192718130456997859826236733404061029972175596760124960158170949738452426394931113172330898208045343831719736103276940430580658489652468160601529236825075143088104859970452891202181821789522285948380307053683319130078302215451177960520315490401532423339560824594770506767806463590138104363635027595583661849853514174616298473817662007840164713037006908938888384052505766237064760995929859110445509082824986401135519220552377339853803935724511956478314574389777184216431955218395715728996439547256528153917513071694689062416183750986053253259723606654700420985901444809929981431469615175006161500850976040561370522770724147483574794688328375141970349064917423697101530322335730041483142664457138386867971014354733430567001878772678789127893852934979556330260159284252621355888450528406853557989557165780563597443457243687029047317539650101487415861701358081667090233586499006224499492612104387840406532654409460128504607 9221013036251783873459064408560687237333316301365083386827866054022321677906031863940698998352464669623362809768276633142357473585077720938230693116348477964038083277658527550308982517565596728994671709734911543719613599358991285614190771754949308382083981570057822325288264101390773663496463046830379327467091604866115713811427291879610935122283340208941403213607352551173103439248025519947109837921538733115430291036545041455320014522921076008868581930203420550726861865192915079946693020425696936666913151520824051210649482468548705593053017499963707149530953162846005425344619193871712502059733193963583822594789791858154625441965841771315295615597097767170242496232293168991604554806660939235175262509863659033616863635894134804168249827614201963290256070238594409115166550063666382486428654380240511004710234846512265804196956630787467811951755689268915306696612677597564609267723083143407667913547988632016438589208737293216317424751563869543935791094712591904922574630789204060234227935125400466331625463729241217983153182131443281705808814336129630343280985921674242081216874110853814998992796913119143542504938450799363245665584239584595346038626776640222167789798775536422161742275512666793069459885624487307885152352323335030876533755539718382442418536216055803954449548376007838617895175535129372215558470956222375969915464579313306097410925851620377135885704184439167361924035328674361289912466063271988542469009700467603014738336342846992852736538938118256628731592265013864448019822224581154047609458147850699330278358594284105200902708138123431999176275184778592462571765809471723384440138013879559753708450048571739873015256232109460369063325207376235525478826512938665073764948674515735863245632643411358372319806908017110085643483489340945752922878209119658294783886877710237834107279210825783838131953091658687683875976429086703299685434320184607434849655768489046915765681839769421944963376713646252327100186909697167279837936600542912327951298061324498049598013257562076505233664349816045626979585927655626154158120523440502165252312917867637458647807291378390349614728768780490825934018452511854490035963441433913596449987921196009224718133377206913672007843969312200797607522658570723990260282593685940254087468339667429533968120074528842933478837734320509216838816497225308827604556330538530796200395042444714822631717690111071427453613415985011 14919912503361252603999605163979779989095736661431584490223067542723373429911675485465238444104757976588581913489455845551501871084463873146011664787470398890626157910748298738426131963213686966737708014341127525860380773463646273093713374395714048679189601028076557986517387778368937763489427601392245802308762880346024823283116761617853442861423006272512392379079329477421667652771801375774502272849972712224781663248655547393088673384622511808365924578754925468726728270094693488771518507594325368982751765790096650363396672995535796403549355253428099949178522388495368973798381620177054313987912019872251420917197929038161096512224387011738938123839047937235078835905494444194938727131595043786347506105025795645534575736044707429727930256312958702969933780829426026953891820923567133191138817416794627506522264151615231529403072413061519790504729514587210263222847197710175100502105633546728114123101157171525671378019006365400979559566688144016670328946424777471918223664737258539265656049510327903530187218301819980254822156083923835062552139347485739702348066223663840414283825799506607128407808496590180258207061897848416235754847125447414647817933156439950107476441763263585677341071355718619858290312290776082801384283365735926790523266662715303022902614870874368911407725977297888438128164428913955828845638892075619732750551566964851741005200931419095970127410906495236039355116980875219762291694138977926890571784099532559096592050803837747045454669395116116454968325669074894420195418984706114205780407886303125725209471766615003408948051969843168102453215615359250952224233970073252621265213156967664613678902939773921694804778518057840676117008526506313827694277690899185389255350206939075424070227413918126178783397046121473720671079073002795606437052825418132112445894717874950871114188149714167890637719328723448679805835539532212382510420721320126655402033108342850851490193796247736519353153897862684282318582625426163719385193128696829841022992750386914233348999310815336228840319050237031528424395857637057623773295529602003016228353479238160229371954774953185037943103910750839890851442149613384812371693482917056260907126308063980239072866807773915550780522758440094650542502214900984149544535215041828704615875193225419091133900638126286390722524763367826756488917984641170528962637997628764382699401266944207434736105530517604081863073544489618 24140925539613036477458669572540467226429052962796667877050933596745695107817707349405937442457222646211944723257732478693859344669541594084242357903818876854664241188406826288735114480779283695732379724076039069579994372822637558707904146150663357061273582598134380311805651879759711426985890648222625129775854485212140537094544053497464377983706346481453795592686682028594771092019826895721612110771511445340211954285200588848408687907543587817234506508958346019453590135287608568718211528020022305649664917310920701574046155464084501996602372753391807098709475551341374399143000814048766816047645213835835243511987720896315721954190228783054233739436145704405321332137787613186543281938255983021522768614889454679151439371938842233896180083927160666260189851068020436069058370987233515677567471797035138511232498998127497333600029043848987602456485203856125569919459875307739709769828716690135782036649145803542109967227743658617296984318252013560606120041137369376840798295526462599499883984635728369861812682031061198237975338215367116768360953683615370045629052145338082495500699910360422127400605409709323800712000348647779481420431365032009993856559933080172275266240538800007839083346868385412927750197915263390686536635689070957667057022202433685465321151086930172865857274353305727056023339964043328044404109848297995702666016146278157838416126783039473106013115090934403401279152309549581052204160202249915433040793800000162111330387146684739898191208333234373083699917934088758868215241209287268253389866034153825055487830360899108609850760107966600101629490800137843414795999779544976005705351170847224367387352988345661567820034750167301045180333733882549353173104203837850463020298881454811287315860057329484551103203954138583806314562562343741359359931034537790407229781595585188705221467360539951728769672420382136363681811968618915682195855041504734090251688876831897767255875636017158464316530611508936609418769535123330999223129729239742168974290811711412282947012568377412734073983400053077155403981785292683777931416053042505181480666397105797688019762066331575387557832679531330716785460602125239302407656924350969857357114229259989463791000184980829222788366727752295448150024873471708139804817808727768958703343532892848625102020712655129324201362497688335973327734481866479356567194328167295178899796309388922257367823220628675509316686960474629 39060838042974289081458274736520247215524789624228252367274001139469068537729382834871175886561980622800526636747188324245361215754005467230254022691289275745290399099155125027161246443992970662470087738417166595440375146286283831801617520546377405740463183626210938298323039658128649190475318249614870932084617365558165360377660815115317820845129352753966187971766011506016438744791628271496114383621484157564993617533856136241497361292166099625600431087713271488180318405382302057489730035614347674632416683101017351937442828459620298400151728006819907047887997939836743372941382434225821130035557233708086664429185649934476818466414615794793171863275193641640400168043282057381482009069851026807870274719915250324686015107983549663624110340240119369230123631897446463022950191910800648868706289213829766017754763149742728863003101456910507392961214718443335833142307073017914810271934350236863896159750302975067781345246750024018276543884940157577276448987562146848759021960263721138765540034146056273391999900332881178492797494299290951830913093031101109747977118369001922909784525709867029255808413906299504058919062246496195717175278490479424641674493089520122382742682302063593516424418224104032786040510206039473487920919054806884457580288865148988488223765957804541777265000330603615494151504392957283873249748740373615435416567713243009579421327714458569076140525997429639440634269290424800814495854341227842323612577899532721207922437950522486943645877728350489538668243603163653288410660193993382459170273920456950780697302127514112018798812077809768204082706415497094367020233749618228626970564327814888981066255928119583262624813268225141721297342260388863180867381894737035852275649088393886711386087471247610729886601000260057526985641635346536965796983859955922519675676313460139576335655510254119619407391749105585043487647508151128064706275762824860745653721985174748618746069432264894983669684509371620891737352160549494718608322857936572009997283562098326516296011879192748962914302450290108683828377642929741401704711582644508197709019876343957917391716841284760425500936590282170607636902751738624114779350407268026118264240537323969702863866992754744773568889486192390098692527088372692289349353023769597663319218726118267716235921350781415714923887261056162729816652466507649885529832325796059561599197576333129692103928751146279591179760504964247 63201763582587325558916944309060714441953842587024920244324934736214763645547090184277113329019203269012471360004920802939220560423547061314496380595108152599954640287561951315896360924772254358202467462493205665020369519108921390509521666697040762801736766224345318610128691537888360617461208897837496061860471850770305897472204868612782198828835699235419983564452693534611209836811455167217726494392995602905205571819056725089906049199709687442834937596671617507633908540669910626207941563634369980282081600411938053511488983923704800396754100760211714146597473491178117772084383248274587946083202447543921907941173370830792540420604844577847405602711339346045721500181069670568025291008107009829393043334804705003837454479922391897520290424167280035490313482965466899092008562898034164546273761010864904528987262147870226196603130500759494995417699922299461403061766948325654520041763066926999678196399448778609891312474493682635573528203192171137882569028699516225599820255790183738265424018781784643253812582363942376730772832514658068599274046714716479793606170514340005405285225620227451383209019316008827859631062595143975198595709855511434635531053022600294658008922840863601355507765092489445713790708121302864174457554743877842124637311067582673953544917044734714643122274683909342550174844357000611917653858588671611138082583859521167417837454497498042182153641088364042841913421599974381866700014543477757756653371699532883319252825097207226841837086061584862622368161537252412156625901403280650712560139954610775836185132488413220628649572185776368305712197215634937781816233529163204632675915498662113348453608916465244830444848018392442766477675994271412534040486098574886315295947969848697998701947528577095280989804954398641333300204197690278325156914894493712926905457909045328281557122870794071348177064169487721407169459476770043746902130804329594835905410862006646386001945068282053447986215120880557501156121695672825717831452587176314178971574373809738799243024447570161696988285850343185839232359428222425179636127635687013379189686273449755605411478907616335813058769269813501324422363353863863417187007331618995975621354766583959166654867177735573996357256213944685546842551961844400429154170832497366622022562259011116341337942063436545039125249758744498703144386948374129242097026653963354740498993885722051949471751971774955100496447465438876 102262601625561614640375219045580961657478632211253172611598935875683832183276473019148289215581183891812997996752109127184581776177552528544750403286397428345245039386717076343057607368765225020672555200910372260460744665395205222311139187243418168542199949850556256908451731196017009807936527147452366993945089216328471257849865683728100019673965051989386171536218705040627648581603083438713840878014479760470199189352912861331403410491875787068435368684384888995814226946052212683697671599248717654914498283512955405448931812383325098796905828767031621194485471431014861145025765682500409076118759681252008572370359020765269358887019460372640577465986532987686121668224351727949507300077958036637263318054719955328523469587905941561144400764407399404720437114862913362114958754808834813414980050224694670546742025297612955059606231957670002388378914640742797236204074021343569330313697417163863574356149751753677672657721243706653850072088132328715159018016261663074358842216053904877030964052927840916645812482696823555223570326813949020430187139745817589541583288883341928315069751330094480639017433222308331918550124841640170915770988345990859277205546112120417040751605142927194871932183316593478499831218327342337662378473798684726582217599932731662441768683002539256420387275014512958044326348749957895790903607329045226573499151572764176997258782211956611258294167085793682282547690890399182681195868884705600080265949599065604527175263047729713785482963789935352161036405140416065445036561597274033171730413875067726616882434615927332647448384263586136509794903631132032148836467278781433259646479826477002329519864844584828093069661286617584487775018254660275714907867993311922167571597058242584710088034999824706010876405954658698860285845833036815290953898754449635446581134222505467857892778381048190967584455918593306450657106984921171811608406567154455581559132847181395004748014500546948431655899630252178392893473856222320436439775445112886188968857935908065315539036326762910659902588300633294523060737071152166581340839218331521576898706149793713522803195748901096238559705860095671932059266105602487531966357738887022093885595303907928869518734170490318769926145700137075645535079050217092718503523856266964285341780985129384057573863414217960754049137019800661432961039414881779127626858979759414302098191462055181641575680722921234691676207970403123 165464365208148940199292163354641676099432474798278092855923870611898595828823563203425402544600387160825469356757029930123802336601099589859246783881505580945199679674279027658953968293537479378875022663403577925481114184504126612820660853940458931343936716074901575518580422733905370425397736045289863055805561067098777155322070552340882218502800751224806155100671398575238858418414538605931567372407475363375404761171969586421309459691585474511270306281056506503448135486722123309905613162883087635196579883924893458960420796307029899193659929527243335341082944922192978917110148930774997022201962128795930480311532391596061899307624304950487983068697872333731843168405421398517532591086065046466656361389524660332360924067828333458664691188574679440210750597828380261206967317706868977961253811235559575075729287445483181256209362458429497383796614563042258639265840969669223850355460484090863252552549200532287563970195737389289423600291324499853041587044961179299958662471844088615296388071709625559899625065060765931954343159328607089029461186460534069335189459397681933720354976950321932022226452538317159778181187436784146114366698201502293912736599134720711698760527983790796227439948409082924213621926448645201836836028542562568706854911000314336395313600047273971063509549698422300594501193106958507708557465917716837711581735432285344415096236709454653440447808174157725124461112490373564547895883428183357836919321298598487846428088144936940627320049851520214783404566677668477601662463000554683884290553829678502453067567104340553276097956449362504815507100846766969930652700807944637892322395325139115677973473761050072923514509305010027254252694248931688248948354091886808482867545028091282708789982528401801291866210909057340193586050030727093616110813648943348373486592131550796139449901251842262315761520088081027857826566461691215558510537371484050417464543709188041390749959568829001879642114751132735894049595551895146154271228032289200367940432309717804114782060774333072356890874150976480362293096499374591760976966854018534956088392423243469128214674656517432051618475129909173256481629459466350949153365070506018069506950070491888036173601348225892766283401914081761192377631012061493147657694688764330907364343244140500398911805477654505793174386778545160136105426363255908369723885633722769042597185347777233591047432694696189792172655435841999 267726966833710554839667382400222637756911107009531265467522806487582428012100036222573691760181571052638467353509139057308384112778652118403997187167903009290444719060996104002011575662302704399547577864313950185941858849899331835131800041183877099886136665925457832427032153929922380233334263192742230049750650283427248413171936236068982238176765803214192326636890103615866507000017622044645408250421955123845603950524882447752712870183461261579705674965441395499262362432774335993603284762131805290111078167437848864409352608690354997990565758294274956535568416353207840062135914613275406098320721810047939052681891412361331258194643765323128560534684405321417964836629773126467039891164023083103919679444244615660884393655734275019809091952982078844931187712691293623321926072515703791376233861460254245622471312743096136315815594416099499772175529203785055875469914991012793180669157901254726826908698952285965236627916981095943273672379456828568200605061222842374317504687897993492327352124637466476545437547757589487177913486142556109459648326206351658876772748281023862035424728280416412661243885760625491696731312278424317030137686547493153189942145246841128739512133126717991099372131725676402713453144775987539499214502341247295289072510933045998837082283049813227483896824712935258638827541856916403499461073246762064285080887005049521412355018921411264698741975259951407407008803380772747229091752312888957917185270897664092373603351192666654412803013641455566944440971818084543046699024597828717056020967704746229069950001720267885923546340712948641325302004477899002079489168086726071151968875151616118007493338605634901016584170591627611742027712503591963963856222085198730650439142086333867418878017528226507302742616863716039053871895863763908907064712403392983820067726354056263997342679632890453283345976006674334308483673446612387370118943938638505999023676556369436395497974069375950311298014381384914286943069408117466590711003477402086556909290245625869430321097101095983016793462451609774885353833570526758342317806072350056532987098573037182651017870405418528290178180990004845188540895565068838481119722809393040163392545374399816905692335518716211536209547614218836837912710062278585866161218545031295192706124229269884456485668891872466547223523798345821569066465778137687497350744613482183344695376809832415232623113417617424483848863406245122 433191332041859495038959545754864313856343581807809358323446677099481023840923599425999094304781958213463936710266168987432186449379751708263243971049408590235644398735275131660965543955840183778422600527717528111422973034403458447952460895124336031230073382000359407945612576663827750658731999238032093105556211350526025568494006788409864456679566554438998481737561502191105365418432160650576975622829430487221008711696852034174022329875046736090975981246497902002710497919496459303508897925014892925307658051362742323369773404997384897184225687821518291876651361275400818979246063544050403120522683938843869532993423803957393157502268070273616543603382277655149808005035194524984572482250088129570576040833769275993245317723562608478473783141556758285141938310519673884528893390222572769337487672695813820698200600188579317572024956874528997155972143766827314514735755960682017031024618385345590079461248152818252800598112718485232697272670781328421242192106184021674276167159742082107623740196347092036445062612818355419132256645471163198489109512666885728211962207678705795755779705230738344683470338298942651474912499715208463144504384748995447102678744381561840438272661110508787326812080134759326927075071224632741336050530883809863995927421933360335232395883097087198547406374411357559233328734963874911208018539164478901996662622437334865827451255630865918139189783434109132531469915871146311776987635741072315754104592196262580220031439337603595040123063492975781727845538495753020648361487598383400940311521534424731523017568824608439199644297162311146140809105324665972010141868894670709044291270476755233685466812366684973940098679896637638996280406752523652212804576177085539133306687114425150127668000056628308594608827772773379247457945894491002523175526052336332193554318485607060136792580884732715599107496094755362166310239908303602928629481310122556416488220265557477786247933638204952190940129132517650180992664960012612744982231509691286924849722555343673545103157875429055373684336602586255247646930069901350103294772926368591489075490996280651779232545061935960341796656119914018445022525024535189430273087879899058232899495444891704941865936866942104302492949528300598030290341074340079013818913233795626100070467473410384855397474369526972340397910576890981705171892141393595867074630247204952387292562157609648823670546112313614276021518842087121 700918298875570049878626928155086951613254688817340623790969483587063451853023635648572786064963529266102404063775308044740570562158403826667241158217311599526089117796271235662977119618142888177970178392031478297364831884302790283084260936308213131116210047925817240372644730593750130892066262430774323155306861633953273981665943024478846694856332357653190808374451605806971872418449782695222383873251385611066612662221734481926735200058507997670681656211939297501972860352270795297112182687146698215418736218800591187779126013687739895174791446115793248412219777628608659041381978157325809218843405748891808585675315216318724415696911835596745104138066682976567772841664967651451612373414111212674495720278013891654129711379296883498282875094538837130073126023210967507850819462738276560713721534156068066320671912931675453887840551290628496928147672970612370390205670951694810211693776286600316906369947105104218037226029699581175970945050238156989442797167406864048593671847640075599951092320984558512990500160575944906310170131613719307948757838873237387088734955959729657791204433511154757344714224059568143171643811993632780174642071296488600292620889628402969177784794237226778426184211860435729640528216000620280835265033225057159284999932866406334069478166146900426031303199124292817872156276820791314707479612411240966281743509442384387239806274552277182837931758694060539938478719251919059006079388053961273671289863093926672593634790530270249452926077134431348672286510313837563695060512196212117996332489239170960592967570544876325123190637875259787466111109802564974089631036981396780196260145628371351692960150972319874956682850488265250738308119256115616176660798262284269783745829200759017546546017584854815897351444636489418301329841758254911430240238455729316013622044839663324134135260517623168882453472101429696474793913354915990298748425248761062415511896821926914181745907707580902502238143513902564467935734368130079335693234987093373481759012800969542975424254976525038390477799054196030133000763640428108445612578998718648022062589569317834430250415467354488631974837109918863633563420589604027911392810689292098396292040819291521847558272385658315838702497142519434868203051136618664879980131778826921292776591702680269311883143261399438887621434375236803274238357919531283364425374860687135731987938967442064056293659529931038759870382248332243 1134109630917429544917586473909951265469598270625149982114416160686544475693947235074571880369745487479566340774041477032172757011538155534930485129266720189761733516531546367323942663573983071956392778919749006408787804918706248731036721831432549162346283429926176648318257307257577881550798261668806416260863072984479299550159949812888711151535898912092189290112013107998077237836881943345799359496080816098287621373918586516100757529933554733761657637458437199504683358271767254600621080612161591140726394270163333511148899418685124792359017133937311540288871138904009478020628041701376212339366089687735678118668739020276117573199179905870361647741448960631717580846700162176436184855664199342245071761111783167647375029102859491976756658236095595415215064333730641392379712852960849330051209206851881887018872513120254771459865508165157494084119816737439684904941426912376827242718394671945906985831195257922470837824142418066408668217721019485410684989273590885722869839007382157707574832517331650549435562773394300325442426777084882506437867351540123115300697163638435453546984138741893102028184562358510794646556311708841243319146456045484047395299634009964809616057455347735565752996291995195056567603287225253022171315564108867023280927354799766669301874049243987624578709573535650377105485011784666225915498151575719868278406131879719253067257530183143100977121542128169672469948635123065370783067023795033589425394455290189252813666229867873844493049140627407130400132048809590584343421999794595518936644010773595692115985139369484764322834935037570933606920215127230946099772905876067489240551416105126585378426963339004848896781530384902889734588526008639268389465374439369808917052516315184167674214017641483124491960272409262797548787787652745913953415764508065648207176363325270384270927841402355884481560968196185058641104153263219593227377906558883618832000117087484391967993841345785854693178272646420214648928399328142692080675466496784660406608735356313216520527412851954093764162135656782285380647693710329458548907351925087239511138080565598486209482960529290448973771493229832882078585945614139217341665898569191156629191536264183226789424209252600420141195446670820032898493392210958743893799045012622547392847059176090654167280617630926411228019344952127784979410250060924879231500005107892088119280501125051712879964205642244653035891901090419364 1835027929792999594796213402065038217082852959442490605905385644273607927546970870723144666434709016745668744837816785076913327573696559361597726287484031789287822634327817602986919783192125960134362957311780484706152636803009039014120982767740762293462493477851993888690902037851328012442864524099580739416169934618432573531825892837367557846392231269745380098486464713805049110255331726041021743369332201709354234036140320998027492729992062731432339293670376497006656218624038049897733263299308289356145130488963924698928025432372864687533808580053104788701090916532618137062010019858702021558209495436627486704344054236594841988896091741467106751879515643608285353688365129827887797229078310554919567481389797059301504740482156375475039533330634432545288190356941608900230532315699125890764930741007949953339544426051930225347706059455785991012267489708052055295147097864071637454412170958546223892201142363026688875050172117647584639162771257642400127786440997749771463510855022233307525924838316209062426062933970245231752596908698601814386625190413360502389432119598165111338188572253047859372898786418078937818200123702474023493788527341972647687920523638367778793842249584962344179180503855630786208131503225873303006580597333924182565927287666173003371352215390888050610012772659943194977641288605457540622977763986960834560149641322103640307063804735420283815053300822230212408427354374984429789146411848994863096684318384115925407301020398144093945975217761838479072418559123428148038482511990807636932976500012766652708952709914361089446025572912830721073031324929795920189403942857464269436811561733497937071387114311324723853464380873168140472896645264754884566126172701654078700798345515943185220760035226337940389311717045752215850117629411000825383656002963794964220798408164933708405063101919979053364014440297614755115898066618135583526126331807644681247512013909411306149739749053366757195416416160322779116864133696272771416368701483878033888367748157282759495951667828479132154639934710978315513648457350757566994519930923805887533200670134916320639733375996644937605746330339751745712149366203743245253058709258483255025483577083474748636982481638258735979897943813339467766696443347577408773779176791449468685623650878770923479163760892325850115640779327364588253648607980456162595925379968579223851268440092493776936257865172175691795762283338751607 2969137560710429139713799875974989482552451230067640588019801804960152403240918105797716546804454504225235085611858262109086084585234714896528211416750751979049556150859363970310862446766109032090755736231529491114940441721715287745157704599173311455808776907778170537009159345108905893993662785768387155677033007602911873081985842650256268997928130181837569388598477821803126348092213669386821102865413017807641855410058907514128250259925617465193996931128813696511339576895805304498354343911469880496871524759127258210076924851057989479892825713990416328989962055436627615082638061560078233897575585124363164823012793256870959562095271647337468399620964604240002934535065292004323982084742509897164639242501580226948879769585015867451796191566730027960503254690672250292610245168659975220816139947859831840358416939172184996807571567620943485096387306445491740200088524776448464697130565630492130878032337620949159712874314535713993307380492277127810812775714588635494333349862404391015100757355647859611861625707364545557195023685783484320824492541953483617690129283236600564885172710994940961401083348776589732464756435411315266812934983387456695083220157648332588409899704932697909932176795850825842775734790451126325177896161442791205846854642465939672673226264634875675188722346195593572083126300390123766538475915562680702838555773201822893374321334918563384792174842950399884878375989498049800572213435644028452522078773674305178220967250266017938439024358389245609472550607933018732381904511785403155869620510786362344824937849283845853768860507950401654679951540057026866289176848733531758677362977838624522449814077650329572750245911258071030207485171273394152955591547141023887617850861831127352894974052867821064881271989455015013398905417063746739337071767471860612427974771490204092675990943322334937845575408493799813757002219881355176753504238366528300079512130996895698117733590399152611888594688806742993765792533024415463497044167980662694294976483513595976016479080680433225918802070367760600894296151061087025543427282848893127044338750700514806849216336525935386579517823569584627790735311817882462594724607827674411654675113347657975426406690890859156121093390484159500665189835558536152667578221804072016078470710054861577646444378523252261343660124279492373233058858041381041827425385076471311970548941217545489816222070814420344831654184429170971 4804165490503428734510013278040027699635304189510131193925187449233760330787888976520861213239163520970903830449675047185999412158931274258125937704234783768337378785187181573297782229958234992225118693543309975821093078524724326759278687366914073749271270385630164425700061382960233906436527309867967895093202942221344446613811735487623826844320361451582949487084942535608175458347545395427842846234745219516996089446199228512155742989917680196626336224799190193517995795519843354396087607210778169853016655248091182909004950283430854167426634294043521117691052971969245752144648081418780255455785080560990651527356847493465801550991363388804575151500480247848288288223430421832211779313820820452084206723891377286250384510067172242926835724897364460505791445047613859192840777484359101111581070688867781793697961365224115222155277627076729476108654796153543795495235622640520102151542736589038354770233479983975848587924486653361577946543263534770210940562155586385265796860717426624322626682193964068674287688641334790788947620594482086135211117732366844120079561402834765676223361283247988820773982135194668670282956559113789290306723510729429342771140681286700367203741954517660254111357299706456628983866293676999628184476758776715388412781930132112676044578480025763725798735118855536767060767588995581307161453679549641537398705414523926533681385139653983668607228143772630097286803343873034230361359847493023315618763092058421103628268270664162032384999576151084088544969167056446880420387023776210792802597010799128997533890559198206943214886080863232375752982864986822786478580791590996028114174539572122459521201191961654296603710292131239170680381816538149037521717719842677966318649207347070538115734088094159005270583706500767229249023046474747564720727770435655576648773179655137801081054045242313991209589848791414568872900286499490760279630570174172981327024144906307004267473339452519369084011104967065772882656666720688234913412869464540728183344231670878735512430748508912358073442005078738916407944608411844592537947213772699014577539420835431127488949712522580324185264153909336373502884678021625707847783317086157666680158690431132724063389172529117892100991334297498968431886278906113561441357398595521484764094360933632501125608139415578111459300903606856961486707466021837204423350765045050535821817381310039266752479935986596036627416467767922578 7773303051213857874223813154015017182187755419577771781944989254193912734028807082318577760043618025196138916061533309295085496744165989154654149120985535747386934936046545543608644676724344024315874429774839466936033520246439614504436391966087385205080047293408334962709220728069139800430190095636355050770235949824256319695797578137880095842248491633420518875683420357411301806439759064814663949100158237324637944856258136026283993249843297661820333155928003890029335372415648658894441951122248050349888180007218441119081875134488843647319460008033937446681015027405873367227286142978858489353360665685353816350369640750336761113086635036142043551121444852088291222758495713836535761398563330349248845966392957513199264279652188110378631916464094488466294699738286109485451022653019076332397210636727613634056378304396300218962849194697672961205042102599035535695324147416968566848673302219530485648265817604925008300798801189075571253923755811898021753337870175020760130210579831015337727439549611928286149314348699336346142644280265570456035610274320327737769690686071366241108533994242929782175065483971258402747712994525104557119658494116886037854360838935032955613641659450358164043534095557282471759601084128125953362372920219506594259636572598052348717804744660639400987457465051130339143893889385705073699929595112322240237261187725749427055706474572547053399402986723029982165179333371084030933573283137051768140841865732726281849235520930179970824023934540329698017519774989465612802291535561613948672217521585491342358828408482052796983746588813634030432934405043849652767757640324527786791537517410746981971015269611983869353956203389310200887866987811543190477309266983701853936500069178197891010708140961980070151855695955782242647928463538494304057799537907516189076747951145341893757044988564648929055165257285214382629902506380845937033134808540701281406536275903202702385206929851671980972605793773808766648449199745103698410457037445203422478320715184474711528909829189345583992244075446499517302240759472931618081374496621592141621878171535945934338166049048515710764781977478921001293619989839508170442507924913832078334833803778790699489795863419977048222084724781658469097076114464649714108935620399593500842565070988494078772052517938830372802961027886349334719766324063218246250776150121521847792366322527584756568702006801016381459070652197093549 12577468541717286608733826432055044881823059609087902975870176703427673064816696058839438973282781546167042746511208356481084908903097263412780086825220319515724313721233727116906426906682579016540993123318149442757126598771163941263715079333001458954351317679038499388409282111029373706866717405504322945863438892045600766309609313625503922686568853085003468362768362893019477264787304460242506795334903456841634034302457364538439736239760977858446669380727194083547331167935492013290529558333026220202904835255309624028086825417919697814746094302077458564372067999375119119371934224397638744809145746246344467877726488243802562664077998424946618702621925099936579510981926135668747540712384150801333052690284334799449648789719360353305467641361458948972086144785899968678291800137378177443978281325595395427754339669620415441118126821774402437313696898752579331190559770057488669000216038808568840418499297588900856888723287842437149200467019346668232693900025761406025927071297257639660354121743575996960437002990034127135090264874747656591246728006687171857849252088906131917331895277490918602949047619165927073030669553638893847426382004846315380625501520221733322817383613968018418154891395263739100743467377805125581546849678996221982672418502730165024762383224686403126786192583906667106204661478381286380861383274661963777635966602249675960737091614226530722006631130495660079451982677244118261294933130630075083759604957791147385477503791594342003209023510691413786562488942045912493222678559337824741474814532384620339892718967680259740198632669676866406185917270030672439246338431915523814905712056982869441492216461573638165957666495520549371568248804349692227999026986826379820255149276525268429126442229056139075422439402456549471896951510013241868778527308343171765725521130800479694838099033806962920264755106076628951502802792880336697312765378714874262733560420809509706652680269304191350056616898740874539531105866465791933323869906909744150661664946855353447041340577698257942065686080525238433710185367884776210619321710394291156199417592371377061827115761571096034950046131388257374796504667861133878290291241999989745014992494209923423553185035949094940323076059079157437528962393370763275550293018995114985606659431922126579897660657354408484262261931493206296206473790085055450674126915166572383614183703837624023321181942787612418086487119965016127 20350771592931144482957639586070062064010815028665674757815165957621585798845503141158016733326399571363181662572741665776170405647263252567434235946205855263111248657280272660515071583406923040856867553092988909693160119017603555768151471299088844159431364972446834351118502839098513507296907501140677996633674841869857086005406891763384018528817344718423987238451783250430779071227063525057170744435061694166271979158715500564723729489604275520267002536655197973576666540351140672184971509455274270552793015262528065147168700552408541462065554310111396011053083026780992486599220367376497234162506411931698284228096128994139323777164633461088662253743369952024870733740421849505283302110947481150581898656677292312648913069371548463684099557825553437438380844524186078163742822790397253776375491962323009061810717974016715660080976016472075398518739001351614866885883917474457235848889341028099326066765115193825865189522089031512720454390775158566254447237895936426786057281877088654998081561293187925246586317338733463481232909155013227047282338281007499595618942774977498158440429271733848385124113103137185475778382548163998404546040498963201418479862359156766278431025273418376582198425490821021572503068461933251534909222599215728576932055075328217373480187969347042527773650048957797445348555367766991454561312869774286017873227789975425387792798088799077775406034117218690061617162010615202292228506413767126851900446823523873667326739312524521974033047445231743484580008717035378106024970094899438690147032053970111682251547376162312537182379258490500436618851675074522092014096072240051601697249574393616423463231731185622035311622698909859572456115792161235418476336253810081674191649345703466320137150370018119145574295098412331714544879973551736172836326846250687954802269081945821588595144022371611849319920363361843334132705299261182634345900187255575544140096696712712409037887199155863331029222692514683306179555066210895631734326944354947573139985662039828158570250406887603526057930155971737951012426127357707828700696207015883297821295763907322996165281810619611745714828108867178376090124657700642048732799166913821823349826297988714123042980899369071988545160783860815906626038507835412989659228639394708486449224502910620658669713175293238857065222959379555630926240114148273696924903065288094231406550026365208779889883949588628799545557772162109676 32928240134648431091691466018125106945833874637753577733685342661049258863662199199997455706609181117530224409083950022257255314550360515980214322771426174778835562378513999777421498490089502057397860676411138352450286717788767497031866550632090303113782682651485333739527784950127887214163624906645000942497113733915457852315016205388887941215386197803427455601220146143450256336014367985299677539769965151007906013461172865103163465729365253378713671917382392057123997708286632685475501067788300490755697850517837689175255525970328239276811648612188854575425151026156111605971154591774135978971652158178042752105822617237941886441242631886035280956365295051961450244722347985174030842823331631951914951346961627112098561859090908816989567199187012386410466989310086046842034622927775431220353773287918404489565057643637131101199102838246477835832435900104194198076443687531945904849105379836668166485264412782726722078245376873949869654857794505234487141137921697832811984353174346294658435683036763922207023320328767590616323174029760883638529066287694671453468194863883630075772324549224766988073160722303112548809052101802892251972422503809516799105363879378499601248408887386395000353316886084760673246535839738377116456072278211950559604473578058382398242571194033445654559842632864464551553216846148277835422696144436249795509194392225101348529889703025608497412665247714350141069144687859320553523439544397201935660051781315021052804243104118863977242070955923157271142497659081290599247648654237263431621846586354732022144266343842572277381011928167366842804768945105194531260434504155575416602961631376485864955448192759260201269289194430408944024364596510927646475363240636461494446798622228734749263592599074258220996734500868881186441831483564978041614854154593859720527790212746301283433243056178574769584675469438472285635508092141519331658665565970449806873657117522222115690567468460054681085839591255557845710660932676687565058196851264691723801650608895181605611590984585861468123616236496976384722611495242484039320017917410174454020713356278700057992397572190707780664874240255435750886629325561775927023090408913811568364818792198637546596165935318166928868236842939973344155000901206176265209521658389823472055883934832747238567373832647647341327484890872761927132713904233329147599029980454666615020733730202832803211065892376241217632044892127125803 53279011727579575574649105604195169009844689666419252491500508618670844662507702341155472439935580688893406071656691688033425720197623768547648558717632030041946811035794272437936570073496425098254728229504127262143446836806371052800018021931179147273214047623932168090646287789226400721460532407785678939130788575785314938320423097152271959744203542521851442839671929393881035407241431510356848284205026845174177992619888365667887195218969528898980674454037590030700664248637773357660472577243574761308490865780365754322424226522736780738877202922300250586478234052937104092570374959150633213134158570109741036333918746232081210218407265347123943210108665003986320978462769834679314144934279113102496850003638919424747474928462457280673666757012565823848847833834272125005777445718172684996729265250241413551375775617653846761280078854718553234351174901455809064962327605006403140697994720864767492552029527976552587267767465905462590109248569663800741588375817634259598041635051434949656517244329951847453609637667501054097556083184774110685811404568702171049087137638861128234212753820958615373197273825440298024587434649966890656518463002772718217585226238535265879679434160804771582551742376905782245749604301671628651365294877427679136536528653386599771722759163380488182333492681822261996901772213915269289984009014210535813382422182200526736322687791824686272818699364933040202686306698474522845751945958164328787560498604838894720130982416643385951275118401154900755722506376116668705272618749136702121768878640324843704395813720004884814563391186657867279423620620179716623274530576395627018300211205770102288418679923944882236580911893340268516480480388672163064951699494446543168638447967932201069400742969092377366571029599281212900986711457116714214451181000844547675330059294692122872028387078550186618904595832800315619768213391402701966004565753226025351013753814234934524728454667615918012115062283770241151890215998887583196792523795619639296941636270935009764181841391473464994181546392468714335735037622600191868020714124426057751842009120186023054157679382810319526379702349122614126976753983262417975755889575827633391714645090187351669639146834687238917413397626800789250781039409041589254868750297784531958505108437743367897237087007940886198392707850252317558058954018381602844523933045742760846427283756568041583100949841964870017177602664289235479 86207251862228006666340571622320275955678564304172830225185851279720103526169901541152928146544761806423630480740641710290681034747984284527862881489058204820782373414308272215358068563585927155652588905915265614593733554595138549831884572563269450386996730275417501830174072739354287935624157314430679881627902309700772790635439302541159900959589740325278898440892075537331291743255799495656525823974991996182084006081061230771050660948334782277694346371419982087824661956924406043135973645031875252064188716298203443497679752493065020015688851534489105161903385079093215698541529550924769192105810728287783788439741363470023096659649897233159224166473960055947771223185117819853344987757610745054411801350600546536846036787553366097663233956199578210259314823144358171847812068645948116217083038538159818040940833261290977862479181692965031070183610801560003263038771292538349045547100100701435659037293940759279309346012842779412459764106364169035228729513739332092410025988225781244314952927366715769660632957996268644713879257214534994324340470856396842502555332502744758309985078370183382361270434547743410573396486751769782908490885506582235016690590117913765480927843048191166582905059262990542918996140141410005767821367155639629696141002231444982169965330357413933836893335314686726548454989060063547125406705158646785608891616574425628084852577494850294770231364612647390343755451386333843399275385502561530723220550386153915772935225520762249928517189357078058026865004035197959304520267403373965553390725226679575726540080063847457091944403114825234122228389565284911154534965080551202434903172837146588153374128116704142437850201087770677460504844985183090711427062735083004663085246590160935818664335568166635587567764100150094087428542940681692256066035155438407395857849507438424155461630134728761388489271302238787905403721483544221297663231319196475157887410931757156640419022136075972693200901875025798997600876931564270761850720646884331020743286879830191369793432376059326462305162628965690720457649117842675907340732041836232205862722476464723112150076955001027307044576589378049877863383308824193902778979984741444960079463882385989216235312770005405846281634469740762594936040310247765520078271956174355430560992372576115135804460840588533539720192741125079485191667922614931992122963026197427461448017486770874386312015734341111234809647556416361282 139486263589807582240989677226515444965523253970592082716686359898390948188677603882308400586480342495317036552397333398324106754945608053075511440206690234862729184450102544653294638637082352253907317135419392876737180391401509602631902594494448597660210777899349669920820360528580688657084689722216358820758690885486087728955862399693431860703793282847130341280564004931212327150497231006013374108180018841356261998700949596438937856167304311176675020825457572118525326205562179400796446222275450013372679582078569197820103979015801800754566054456789355748381619132030319791111904510075402405239969298397524824773660109702104306878057162580283167376582625059934092201647887654532659132691889858156908651354239465961593511716015823378336900713212144034108162656978630296853589514364120801213812303788401231592316608878944824623759260547683584304534785703015812328001098897544752186245094821566203151589323468735831896613780308684875049873354933832835970317889556966352008067623277216193971470171696667617114242595663769698811435340399309105010151875425099013551642470141605886544197832191141997734467708373183708597983921401736673565009348509354953234275816356449031360607277208995938165456801639896325164745744443081634419186662033067308832677530884831581941688089520794422019226827996508988545356761273978816415390714172857321422274038756626154821175265286674981043050063977580430546441758084808366245027331460725859510781048990992810493066207937405635879792307758232958782587510411314628009792886152510667675159603867004419430935893783852341906507794301483101401652010185464627777809495656946829453203384042916690441792808040649024674431112981110945976985325373855253776378762229529547831723694558093136888065078537259012954138793699431306988415254397798406470517216156282955071187908802130547027490017213278948007393867135039103525171934874946923263667797072422500508901164745992091165147476803691890705315964158796040149491092930451853958643244442503970317684923150765201133975273767532791456486709021434405056192686740442867775361446166262289957704731596650746166307756337811346833424278938500664004840137292086611878534869560569078351794108972573340885874459604692644763695032096541551845717079719289354774947022253958887389066100810319483033041547848529419738112900591377397043250621940996534836646896071940188307875301243338915969412965576305981251987250220705596761 225693515452035588907330248848835720921201818274764912941872211178111051714847505423461328733025104301740667033137975108614787789693592337603374321695748439683511557864410816868652707200668279409559906041334658491330913945996648152463787167057718048047207508174767171750994433267934976592708847036647038702386593195186860519591301702234591761663383023172409239721456080468543618893753030501669899932155010837538346004782010827209988517115639093454369367196877554206349988162486585443932419867307325265436868298376772641317783731508866820770254905991278460910285004211123535489653434061000171597345780026685308613213401473172127403537707059813442391543056585115881863424833005474386004120449500603211320452704840012498439548503569189476000134669411722244367477480122988468701401583010068917430895342326561049633257442140235802486238442240648615374718396504575815591039870190083101231792194922267638810626617409495111205959793151464287509637461298001871199047403296298444418093611502997438286423099063383386774875553660038343525314597613844099334492346281495856054197802644350644854182910561325380095738142920927119171380408153506456473500234015937188250966406474362796841535120257187104748361860902886868083741884584491640187008029188706938528818533116276564111653419878208355856120163311195715093811750334042363540797419331504107031165655331051782906027842781525275813281428590227820890197209471142209644302716963287390234001599377146726266001433458167885808309497115311016809452514446512587314313153555884633228550329093683995157475973847699798998452197416308335523880399750749538932344460737498031888106556880063278595166936157353167112281314068881623437490170359038344487805824964612552494808941148254072706729414105425648541706557799581401075843797338480098726583251311721362467045758309568971182951647348007709395883138437277891430575656358491144561331028391618975666788575677749247805566498939767863398516866033821839147091969862016124720493965089388301338428210030595392503768706143592117918791871650400095776650335858285543682702178208098522163567454073115469278457833292812374140468855527878713882703520600910805781313849545310523311873572854959330102109772374698050609976666566282314440653120029537120295025294210133242819627093182895598168846008689117953277833093332502476528442289863611466828769859098137615769323318730109790355724981310647092486796897777121958043 365179779041843171148319926075351165886725072245356995658558571076501999903525109305769729319505446797057703585535308506938894544639200390678885761902438674546240742314513361521947345837750631663467223176754051368068094337398157755095689761552166645707418286074116841671814793796515665249793536758863397523145284080672948248547164101928023622367176306019539581002020085399755946044250261507683274040335029678894608003482960423648926373282943404631044388022335126324875314368048764844728866089582775278809547880455341839137887710524668621524820960448067816658666623343153855280765338571075574002585749325082833437987061582874231710415764222393725558919639210175815955626480893128918663253141390461368229104059079478460033060219585012854337035382623866278475640137101618765554991097374189718644707646114962281225574051019180627109997702788332199679253182207591627919040969087627853418037289743833841962215940878230943102573573460149162559510816231834707169365292853264796426161234780213632257893270760051003889118149323808042336749938013153204344644221706594869605840272785956531398380742752467377830205851294110827769364329555243130038509582525292141485242222830811828202142397466183042913818662542783193248487629027573274606194691221774247361496064001108146053341509399002777875346991307704703639168511608021179956188133504361428453439694087677937727203108068200256856331492567808251436638967555950575889330048424013249744782648368139536759067641395573521688101804873543975592040024857827215324106039708395300903709932960688414588411867631552140904959991717791436925532409936214166710153956394444861341309940922979969036959744198002191786712427049992569414475495732893598264184587194142100326532635706347209594794492642684661495845351499012708064259051736278505197100467468004317538233667111699518210441664561286657403277005572316994955747591233438067824998825464041476175689740423741338970713975743459754103832830192617879296583062792467978679137209531892271656113133181360593637743979911124909375278580671834500832843022598728411458063624374360812121272185669766215444765589630623720973893134466379377887543657892997417659848719105879601663667681827532670987984231979390695373671698662823866286370199748826475069972316464092130208693193993215081201887556537647373015945993923879873571692911804608001665416755170077804077198619973448706325137946886953073738784147997827554804 590873294493878760055650174924186886807926890520121908600430782254613051618372614729231058052530551098798370618673283615553682334332792728282260083598187114229752300178924178390600053038418911073027129218088709859399008283394805907559476928609884693754625794248884013422809227064450641842502383795510436225531877275859808768138465804162615384030559329191948820723476165868299564938003292009353173972490040516432954008264971250858914890398582498085413755219212680531225302530535350288661285956890100544246416178832114480455671442033535442295075866439346277568951627554277390770418772632075745599931529351768142051200463056046359113953471282207167950462695795291697819051313898603304667373590891064579549556763919490958472608723154202330337170052035588522843117617224607234256392680384258636075602988441523330858831493159416429596236145028980815053971578712167443510080839277710954649829484666101480772842558287726054308533366611613450069148277529836578368412696149563240844254846283211070544316369823434390663993702983846385862064535626997303679136567988090725660038075430307176252563653313792757925943994215037946940744737708749586512009816541229329736208629305174625043677517723370147662180523445670061332229513612064914793202720410481185890314597117384710164994929277211133731467154618900418732980261942063543496985552835865535484605349418729720633230950849725532669612921158036072326836177027092785533632765387300639978784247745286263025069074853741407496411301988854992401492539304339802638419193264279934132260262054372409745887841479251939903412189134099772449412809686963705642498417131942893229416497803043247632126680355355358898993741118874192851965666091931942751990412158754652821341576854601282301523906748110310037551909298594109140102849074758603923683718779725680005279425421268489393393311909294366799160144009594886386323247591929212386329853855660451842478316101490586776280474683227617502349696226439718443675032654484103399631174621280572994541343211955986141512686054717027294070452322234596609493358457013955140765802582459334284839639742881684723223422923436095114361989994258091770247178493908223441162568651190124975541254682492001090094004354088745983648365229106180727023319778363595364997610674225373028320287176110679370733565226765326293779087256382350100135201668219468494186614268215419846521938703558496680862928197600166225581045774949512847 956053073535721931203970100999538052694651962765478904258989353331115051521897724035000787372035997895856074204208592122492576878971993118961145845500625788775993042493437539912547398876169542736494352394842761227467102620792963662655166690162051339462044080323000855094624020860966307092295920554373833748677161356532757016685629906090639006397735635211488401725496251268055510982253553517036448012825070195327562011747931674507841263681525902716458143241547806856100616898584115133390152046472875823055964059287456319593559152558204063819896826887414094227618250897431246051184111203151319602517278676850975489187524638920590824369235504600893509382335005467513774677794791732223330626732281525947778660822998969418505668942739215184674205434659454801318757754326225999811383777758448354720310634556485612084405544178597056706233847817313014733224760919759071429121808365338808067866774409935322735058499165956997411106940071762612628659093761671285537777989002828037270416081063424702802209640583485394553111852307654428198814473640150508023780789694685595265878348216263707650944396066260135756149845509148774710109067263992716550519399066521471221450852135986453245819915189553190575999185988453254580717142639638189399397411632255433251810661118492856218336438676213911606814145926605122372148773550084723453173686340226963938045043506407658360434058917925789525944413725844323763475144583043361422962813811313889723566896113425799784136716249314929184513106862398967993532564162167017962525232972675235035970195015060824334299709110804080808372180851891209374945219623177872352652373526387754570726438726023216669086424553357550685706168168866762266441161824825541016174999352896753147874212560948491896318399390794971533397260797606817204361900811037109120784186247729997543513092532968007603834976470581024202437149581911881342070838825367280211328679319701928018168056525231925746994450426687371606182526419057597740258095446952082078768384153172844650654476393316579779256665965841936669349032994069097442336381055742366598829426956820146406111825412647900167989012554059816088255124460637469657790836386905641101011287757069726639208936510024672078078236333479441357320063891930047013393519527190070434969927138317503237013481169325760572621121764412699309725081180262223671828113472827470159603369438293223923720558677007203006000875084553239964365193772777067651 1546926368029600691259620275923724939502578853285600812859420135585728103140270338764231845424566548994654444822881875738046259213304785847243405929098812903005745342672361718303147451914588453809521481612931471086866110904187769570214643618771936033216669874571884868517433247925416948934798304349884269974209038632392565784824095710253254390428294964403437222448972417136355075920256845526389621985315110711760516020012902925366756154080108400801871898460760487387325919429119465422051438003362976367302380238119570800049230594591739506114972693326760371796569878451708636821602883835227065202448808028619117540387987694966949938322706786808061459845030800759211593729108690335527998000323172590527328217586918460376978277665893417515011375486695043324161875371550833234067776458142706990795913622998008942943237037338013486302469992846293829787196339631926514939202647643049762717696259076036803507901057453683051719640306683376062697807371291507863906190685152391278114670927346635773346526010406919785217105555291500814060879009267147811702917357682776320925916423646570883903508049380052893682093839724186721650853804972742303062529215607750800957659481441161078289497432912923338238179709434123315912946656251703104192600132042736619142125258235877566383331367953425045338281300545505541105129035492148266950159239176092499422650392925137378993665009767651322195557334883880396090311321610136146956595579198614529702351143858712062809205791103056336680924408851253960395025103466506820600944426236955169168230457069433234080187550590056020711784369985990981824358029310141577995150790658330647800142936529066464301213104908712909584699909287740955118406827916757483768165411511651405969215789415549774197842306138905281570949170096200926344464749885795713044467905027455677548792517954236496997228288379875391001597293591506767728394086417296492597658533175362379860646372626722512523274925109914989108532222645497316183933128101436185478399558774453417645195819605272565920769352020558963963419485316303694051829739512756321739595229539279480690951465155529584891212435477495911202617114454895561428038014880813864542173856408259851614750191192516673168172240687568187340968429121036227740416839305553665799967537812542876265333768345436439943354686991178025603504168436644573771963315141046938653789983706508643770242497380565699686863803282153406189946239547726580498 2502979441565322622463590376923262992197230816051079717118409488916843154662168062799232632796602546890510519027090467860538836092276778966204551774599438691781738385165799258215694850790757996546015834007774232314333213524980733232869810308933987372678713954894885723612057268786383256027094224904258103722886199988925322801509725616343893396826030599614925624174468668404410586902510399043426069998140180907088078031760834599874597417761634303518330041702308294243426536327703580555441590049835852190358344297407027119642789747149943569934869520214174466024188129349139882872786995038378384804966086705470093029575512333887540762691942291408954969227365806226725368406903482067751328627055454116475106878409917429795483946608632632699685580921354498125480633125877059233879160235901155345516224257554494555027642581516610543008703840663606844520421100551685586368324456008388570785563033485972126242959556619640049130747246755138675326466465053179149443968674155219315385087008410060476148735650990405179770217407599155242259693482907298319726698147377461916191794771862834591554452445446313029438243685233335496360962872236735019613048614674272272179110333577147531535317348102476528814178895422576570493663798891341293591997543674992052393935919354370422601667806629638956945095446472110663477277809042232990403332925516319463360695436431545037354099068685577111721501748609724719853786466193179508379558393009928419425918039972137862593342507352371265865437515713652928388557667628673838563469659209630404204200652084494058414487259700860101520156550837882191199303248933319450347803164184718402370869375255089680970299529462070460270406077456607717384847989741583024784340410864548159117090001976498266094160705529700253104346430893807743548826650696832822165252091275185675092305610487204504601063264850456415204034443173418649070464925242663772808987212495064307878814429151954438270269375536602360714714749064554913924191223548388267557167942927626262295850295998589145700026017986400900632768518310372791494166120568498688338424656496099627097063290568177485059201448031555727290872238915533031085828851267719505643185144165329578253959127702541345246250477021047628698288493012966274753810358832743736234937464950860379502347249514762200515975808755590724913229249616906797443791428613874408813393353144801867693963056057572902692864678366706646154311433320503648149 4049905809594923313723210652846987931699809669336680529977829624502571257802438401563464478221169095885164963849972343598585095305581564813447957703698251594787483727838160976518842302705346450355537315620705703401199324429168502803084453927705923405895383829466770592129490516711800204961892529254142373697095238621317888586333821326597147787254325564018362846623441085540765662822767244569815691983455291618848594051773737525241353571841742704320201940163068781630752455756823045977493028053198828557660724535526597919692020341741683076049842213540934837820758007800848519694389878873605450007414894734089210569963500028854490701014649078217016429072396606985936962136012172403279326627378626707002435095996835890172462224274526050214696956408049541449642508497427892467946936694043862336312137880552503497970879618854624029311173833509900674307617440183612101307527103651438333503259292562008929750860614073323100850387553438514738024273836344687013350159359307610593499757935756696249495261661397324964987322962890656056320572492174446131429615505060238237117711195509405475457960494826365923120337524957522218011816677209477322675577830282023073136769815018308609824814781015399867052358604856699886406610455143044397784597675717728671536061177590247988984999174583064002283376747017616204582406844534381257353492164692411962783345829356682416347764078453228433917059083493605115944097787803315655336153972208542949128269183830849925402548298455427602546361924564906888783582771095180659164414085446585573372431109153927292494674810290916122231940920823873173023661278243461028342953954843049050171012311784156145271512634370783369855105986744348672503254817658340508552505822376199565086305791392048040292003011668605534675295600990008669893291400582628535209719996302641352641098128441441001598291553230331806205631736764925416798859011659960265406645745670426687739460801778676950793544300646517349823246971710052230108124351649824453035567501702079679941046115603861711620795370006959864596188003626676485545995860081255010078019886035379107788014755723707069950413883509051638493489353370428592513866866148533370185359000573589429868709318895058018414422717708615816039256922134002502494227198138297402034905002763403255767681017860198640459330495746768750516733418053551371215754743754921347467183336851310511464205553438138602379728481648860052344257672868230228647 6552885251160245936186801029770250923897040485387760247096239113419414412464606464362697111017771642775675482877062811459123931397858343779652509478297690286569222113003960234734537153496104446901553149628479935715532537954149236035954264236639910778574097784361656315741547785498183460988986754158400477419981438610243211387843546942941041184080356163633288470797909753945176249725277643613241761981595472525936672083534572125115950989603377007838531981865377075874178992084526626532934618103034680748019068832933625039334810088891626645984711733755109303844946137149988402567176873911983834812380981439559303599539012362742031463706591369625971398299762413212662330542915654471030655254434080823477541974406753319967946170883158682914382537329404039575123141623304951701826096929945017681828362138106998052998522200371234572319877674173507518828038540735297687675851559659826904288822326047981055993820170692963149981134800193653413350740301397866162794128033462829908884844944166756725643997312387730144757540370489811298580265975081744451156313652437700153309505967372240067012412940272678952558581210190857714372779549446212342288626444956295345315880148595456141360132129117876395866537500279276456900274254034385691376595219392720723929997096944618411586666981212702959228472193489726868059684653576614247756825090208731426144041265788227453701863147138805545638560832103329835797884253996495163715712365218471368554187223802987787995890805807798868411799440278559817172140438723854497727883744656215977576631761238421350909162069991776223752097471661755364222964527176780478690757119027767452541881687039245826241812163832853830125512064200956389888102807399923533336846233240747724203395793368546306386163717198305787779642031883816413442118051279461357374972087577827027733403738928645506199354818080788221409666179938344065869323936902624038215632958165490995618275230930631389063813676183119710537961720774607144032315575198212720592735444629705942236896411602450857320821387993360765228956521937049277040161980649753698416444542531478734885078046291884555009615331540607365784361592285961623599695717416252875828544144738919008122668446597599363660673194729663444737545415146968777248037556971041138269842467714263635270028267374960840975306304502359475429962667670458168659546172368795756280576689996112379158168609495711505072593160015566698498569106188733876796 10602791060755169249910011682617238855596850154724440777074068737921985670267044865926161589238940738660840446727035155057709026703439908593100467181995941881356705840842121211253379456201450897257090465249185639116731862383317738839038718164345834184469481613828426907871038302209983665950879283412542851117076677231561099974177368269538188971334681727651651317421350839485941912548044888183057453965050764144785266135308309650357304561445119712158733922028445857504931447841349672510427646156233509305679793368460222959026830430633309722034553947296044141665704144950836922261566752785589284819795876173648514169502512391596522164721240447842987827372159020198599292678927826874309981881812707530479977070403589210140408395157684733129079493737453581024765650120732844169773033623988880018140500018659501550969401819225858601631051507683408193135655980918909788983378663311265237792081618609989985744680784766286250831522353632168151375014137742553176144287392770440502384602879923452975139258973785055109744863333380467354900838467256190582585929157497938390427217162881645542470373435099044875678918735148379932384596226655689664964204275238318418452649963613764751184946910133276262918896105135976343306884709177430089161192895110449395466058274534866400571666155795766961511848940507343072642091498110995505110317254901143388927387095144909870049627225592033979555619915596934951741982041799810819051866337427014317682456407633837713398439104263226470958161364843466705955723209819035156892297830102801550949062870392348643403836880282692345984038392485628537246625805420241507033711073870816502712893998823401971513324798203637199980618050945305062391357625058264041889352055616947289289701584760594346678166728866911322454937632873825083335409451862089892584692083880468380374501867370086507797646371311120027615297916703269482668182948562584303622278703835917683357736032709308339857357976829637060361208692484659374140439926848037173628302946331785622177942527206312568941616758000320629825144525563725762586157840731008708494464428566857842673092802015591624960029215049659004277850945656390216113562583564786246013903145312508437991377765492657382075095912438279260776802337280971279742264755109338540304747470477666891037709285235159481434636800249128225946696085724009539875300916123717103747760026847422890622374162933850107452321641664426750842826779056964105443 17155676311915415186096812712387489779493890640112201024170307851341400082731651330288858700256712381436515929604097966516832958101298252372752976660293632167925927953846081445987916609697555344158643614877665574832264400337466974874992982400985744963043579398190083223612586087708167126939866037570943328537058115841804311362020915212479230155415037891284939788219260593431118162273322531796299215946646236670721938218842881775473255551048496719997265903893822933379110439925876299043362264259268190053698862201393847998361640519524936368019265681051153445510650282100825324828743626697573119632176857613207817769041524754338553628427831817468959225671921433411261623221843481345340637136246788353957519044810342530108354566040843416043462031066857620599888791744037795871599130553933897699968862156766499603967924019597093173950929181856915711963694521654207476659230222971092142080903944657971041738500955459249400812657153825821564725754439140419338938415426233270411269447824090209700783256286172785254502403703870278653481104442337935033742242809935638543736723130253885609482786375371723828237499945339237646757375776101902007252830720194613763768530112209220892545079039251152658785433605415252800207158963211815780537788114503170119396055371479484812158333137008469920740321133997069940701776151687609752867142345109874815071428360933137323751490372730839525194180747700264787539866295796305982767578702645485686236643631436825501394329910071025339369960805122026523127863648542889654620181574759017528525694631630769994312998950274468569736135864147383901469590332597021985724468192898583955254775685862647797755136962036491030106130115146261452279460432458187575226198288857695013493097378129140653064330446065217110234579664757641496777527503141551249959664171458295408107905606298732013997001189391908249024964096641613548537506885465208341837911662001408678976011263639939728921171653012756770899170413259266518172755502046249894221038390961491564414838938808763426262438145993681395054101047500775039626319821380762406910908971098336577558170848307476179969644546590266370062212537942351839713258300981039121842447290051427446114046212090256745735769107167942705514347752427940056990302312080379678574589938191930526307737552610120322409943104751487701376658753394467708534847088492512860028336716843535269780542772429561612524914801679993449341395885245697982239 27758467372670584436006824395004728635090740794836641801244376589263385752998696196215020289495653120097356376331133121574541984804738160965853443842289574049282633794688202657241296065899006241415734080126851213948996262720784713714031700565331579147513061012018510131483624389918150792890745320983486179654134793073365411336198283482017419126749719618936591105640611432917060074821367419979356669911697000815507204354151191425830560112493616432155999825922268790884041887767225971553789910415501699359378655569854070957388470950158246090053819628347197587176354427051662247090310379483162404451972733786856331938544037145935075793149072265311947053044080453609860915900771308219650619018059495884437496115213931740248762961198528149172541524804311201624654441864770640041372164177922777718109362175426001154937325838822951775581980689540323905099350502573117265642608886282357379872985563267961027483181740225535651644179507457989716100768576882972515082702819003710913654050704013662675922515259957840364247267037250746008381942909594125616328171967433576934163940293135531151953159810470768703916418680487617579141972002757591672217034995432932182221180075822985643730025949384428921704329710551229143514043672389245869698981009613619514862113646014351212729999292804236882252170074504413013343867649798605257977459600011018203998815456078047193801117598322873504749800663297199739281848337596116801819445040072500003919100039070663214792769014334251810328122169965493229083586858361924811512479404861819079474757502023118637716835830557160915720174256633012438716216138017263492758179266769400457967669684686049769268461760240128230086748166091566514670818057516451617115550344474642302782798962889734999742497174932128432689517297631466580112936955003641142544356255338763788482407473668818521794647560703028276640262013344883031205689834027792645460190365837326362333747296349248068778529629842393831260379105743925892313195428894287067849341337293277186592781466015075995204054903994002024879245573064500802212477662111771115405373399665194420231263650323067804929673761639925374340063483598742055826820884545825367856350435363935884105423977582914127810865019606221966291150089708911336732567067189718218879337408669597417345446837845279803844579905000615927323354839118477248410148004616229963776096743690958160402916935363411719977236443344420200184222664302662087682 44914143684585999622103637107392218414584631434948842825414684440604785835730347526503878989752365501533872305935231088091374942906036413338606420502583206217208561748534284103229212675596561585574377695004516788781260663058251688589024682966317324110556640410208593355096210477626317919830611358554429508191192908915169722698219198694496649282164757510221530893859872026348178237094689951775655885858343237486229142572994073201303815663542113152153265729816091724263152327693102270597152174674769889413077517771247918955750111469683182458073085309398351032687004709152487571919054006180735524084149591400064149707585561900273629421576904082780906278716001887021122539122614789564991256154306284238395015160024274270357117527239371565216003555871168822224543233608808435912971294731856675418078224332192500758905249858420044949532909871397239617063045024227324742301839109253449521953889507925932069221682695684785052456836661283811280826523016023391854021118245236981324923498528103872376705771546130625618749670741121024661863047351932060650070414777369215477900663423389416761435946185842492532153918625826855225899347778859493679469865715627545945989710188032206536275104988635581580489763315966481943721202635601061650236769124116789634258169017493836024888332429812706802992491208501482954045643801486215010844601945120893019070243817011184517552607971053713029943981410997464526821714633392422784587023742717985690155743670507488716187098924405277149698082975087519752211450506904814466132660979620836608000452133653888632029834780831629485456310120780396340185806470614285478482647459667984413222445370548697567023598722276619260192878281237827966950278489974639192341748633332337316275896341018875652806827620997345542924096962389108076890464458145192392504020426797059196590313079967550535791648750094936525665226109986496579743196719493000987298102027838735041309758559989187797699701282855150602159549519003192410485950930940536962070379728254768751007620404823839421466493049987683419933346620565275841838797483492533522316282370763530997789434498630543984899318308230191744402276021541093895540079185526864489698797725415363330219470189673170873546634126774164671805497842136851393722869379270097897453927346861527943653184390455400126254523009752103628700013592512944956944995093108742823804433460534493430183459707792973332502151245024413649525618549548360069921 72672611057256584058110461502396947049675372229785484626659061029868171588729043722718899279248018621631228682266364209665916927710774574304459864344872780266491195543222486760470508741495567826990111775131368002730256925779036402303056383531648903258069701422227103486579834867544468712721356679537915687845327701988535134034417482176514068408914477129158121999500483459265238311916057371755012555770040238301736346927145264627134375776035729584309265555738360515147194215460328242150942085090271588772456173341101989913138582419841428548126904937745548619863359136204149819009364385663897928536122325186920481646129599046208705214725976348092853331760082340630983455023386097784641875172365780122832511275238206010605880488437899714388545080675480023849197675473579075954343458909779453136187586507618501913842575697242996725114890560937563522162395526800442007944447995535806901826875071193893096704864435910320704101016168741800996927291592906364369103821064240692238577549232117535052628286806088465982996937778371770670244990261526186266398586744802792412064603716524947913389105996313261236070337306314472805041319781617085351686900711060478128210890263855192180005130938020010502194093026517711087235246307990307519935750133730409149120282663508187237618331722616943685244661283005895967389511451284820268822061545131911223069059273089231711353725569376586534693782074294664266103562970988539586406468782790485694074843709578151930979867938739528960026205145053012981295037365266739277645140384482655687475209635677007269746670611388790401176484377413408778902022608631548971240826726437384871190115055234747336292060482516747490279626447329394481621096547491090809457298977806979619058695303908610652549324795929473975613614260020574657003401413148833535048376682135822985072720553636369057586296310797964802305488123331379610948886553520793632758292393676061403643505856338435866478230912697544433419928624747118302799146359834824029919721065548045937600401870838915416670547953981685444812592193629776644051275145604304637721655770428725418020698148953611789828992069870117118742339505139835951366900070072689857555148160779299214324894167256085001357499146380386638096647931845762730455436446459816116333264755531125360998631228300679930099102914752719556023368431631422205355143097724972787580530204225451590586376643156385052479387688368833849709841213851022157603 117586754741842583680214098609789165464260003664734327452073745470472957424459391249222778269000384123165100988201595297757291870616810987643066284847455986483699757291756770863699721417092129412564489470135884791511517588837288090892081066497966227368626341832435696841676045345170786632551968038092345196036520610903704856732636680871010717691079234639379652893360355485613416549010747323530668441628383475787965489500139337828438191439577842736462531285554452239410346543153430512748094259765041478185533691112349908868888693889524611006199990247143899652550363845356637390928418391844633452620271916586984631353715160946482334636302880430873759610476084227652105994146000887349633131326672064361227526435262480280962998015677271279604548636546648846073740909082387511867314753641636128554265810839811002672747825555663041674647800432334803139225440551027766750246287104789256423780764579119825165926547131595105756557852830025612277753814608929756223124939309477673563501047760221407429334058352219091601746608519492795332108037613458246916469001522172007889965267139914364674825052182155753768224255932141328030940667560476579031156766426688024074200600451887398716280235926655592082683856342484193030956448943591369170172519257847198783378451681002023262506664152429650488237152491507378921435155252771035279666663490252804242139303090100416228906333540430299564637763485292128792925277604380962370993492525508471384230587380085640647166966863144806109724288120140532733506487872171553743777801364103492295475661769330895901776505392220419886632794498193805119087829079245834449723474186105369284412560425783444903315659204793366750472504728567222448571375037465730001799047611139316935334591644927486305356152416926819518537711222409682733893865871294025927552397108932882181663033633603919593377945060892901327970714233317876190692083273013794620056394421514796444953264416327623664177932195552695035579478143750310713285097290775360991990100793802814688608022275662754838137041003969368864745938814195052485890072629096838160037938141192256415810132647584155774728310378100308863144615526680929846906979255599554347253945886194662544544364356929255874904133273154551309902145773982614124178305825729914013787192102392653304651815618756080056353625924504823184723382024144367162300138190833715611384963664759945020769836350949358384981538933393247499235459763399382227524 190259365799099167738324560112186112513935375894519812078732806500341129013188434971941677548248402744796329670467959507423208798327585561947526149192328766750190952834979257624170230158587697239554601245267252794241774514616324493195137450029615130626696043254662800328255880212715255345273324717630260883881848312892239990767054163047524786099993711768537774892860838944878654860926804695285680997398423714089701836427284602455572567215613572320771796841292812754557540758613758754899036344855313066957989864453451898782027276309366039554326895184889448272413722981560787209937782777508531381156394241773905112999844759992691039851028856778966612942236166568283089449169386985134275006499037844484060037710500686291568878504115170993993093717222128869922938584555966587821658212551415581690453397347429504586590401252906038399762690993272366661387836077828208758190735100325063325607639650313718262631411567505426460658868998767413274681106201836120592228760373718365802078596992338942481962345158307557584743546297864566002353027874984433182867588266974800302029870856439312588214158178469015004294593238455800835981987342093664382843667137748502202411490715742590896285366864675602584877949369001904118191695251581676690108269391577607932498734344510210500124995875046594173481813774513274888824666704055855548488725035384715465208362363189647940260059109806886099331545559586793059028840575369501957399961308298957078305431089663792578146834801884335069750493265193545714801525237438293021422941748586147982950871405007903171523176003609210287809278875607213897989851687877383420964300912542754155602675481018192239607719687310114240752131175896616930192471584956820811256346588946296554393286948836096957905477212856293494151325482430257390897267284442859462600773791068705166735754187240288650964241371690866130276202356649255801640969826534588252814686815190857848596770272666059530656163108250239468999406768497429016084243650610185021909821859350860626208424146501670254807588957951054309558531007824829129941347774701142797759593911620981833830830796537767564557302447970425981886955031820765798273879325672244204809094046973961758869258524185340876261632419534937947998793705828376854633742272189730130120456857923778665650446847056759986452728839257542740746750455775789367655281288558688398965493868985396611356212994105743437460926621762081348945300977250404385127 307846120540941751418538658721975277978195379559254139530806551970814086437647826221164455817248786867961430658669554805180500668944396549590592434039784753233890710126736028487869951575679826652119090715403137585753292103453612584087218516527581357995322385087098497169931925557886041977825292755722606079918368923795944847499690843918535503791072946407917427786221194430492071409937552018816349439026807189877667325927423940284010758655191415057234328126847264993967887301767189267647130604620354545143523555565801807650915970198890650560526885432033347924964086826917424600866201169353164833776666158360889744353559920939173374487331737209840372552712250795935195443315387872483908137825709908845287564145763166572531876519792442273597642353768777715996679493638354099688972966193051710244719208187240507259338226808569080074410491425607169800613276628855975508437022205114319749388404229433543428557958699100532217216721828793025552434920810765876815353699683196039365579644752560349911296403510526649186490154817357361334461065488442680099336589789146808191995137996353677263039210360624768772518849170597128866922654902570243414000433564436526276612091167629989612565602791331194667561805711486097149148144195173045860280788649424806715877186025512233762631660027476244661718966266020653810259821956826890828155388525637519707347665453290064169166392650237185663969309044878921851954118179750464328393453833807428462536018469749433225313801665029141179474781385334078448308013109609846765200743112689640278426533174338799073299681395829630174442073373801019017077680767123217870687775098648123440015235906801637142923378892103480991224635904463839378763846622422550813055394200085613489727878593763583263261629629783113012689036704839940124791133155736885390153170900001587348398787820844208244342186432583767458246916589967131992333053099548382872871081236705654293550034688993683194834095303802934504578884912247739729369340941385546013899922653153675314816446422164425092944629961920423174304469822019881615831420403797980957797532052813238249640963444121923339285612826070734845031570558501695645180858581271798552063039933168624303413622881114596751165765692689489257900939479810990978812048097919644143907648960316431970302262465812840042806354763762365925470132479920156529955419479392404010350457533745341632126049345055101822442465555155328848180760740649786612651 498105486340040919156863218834161390492130755453773951609539358471155215450836261193106133365497189612757760329137514312603709467271982111538118583232113519984081662961715286112040181734267523891673691960670390379995066618069937077282355966557196488622018428341761297498187805770601297323098617473352866963800217236688184838266745006966060289891066658176455202679082033375370726270864356714102030436425230903967369162354708542739583325870804987378006124968140077748525428060380948022546166949475667612101513420019253706432943246508256690114853780616922796197377809808478211810803983946861696214933060400134794857353404680931864414338360593988806985494948417364218284892484774857618183144324747753329347601856263852864100755023907613267590736070990906585919618078194320687510631178744467291935172605534670011845928628061475118474173182418879536462001112706684184266627757305439383074996043879747261691189370266605958677875590827560438827116027012601997407582460056914405167658241744899292393258748668834206771233701115221927336814093363427113282204178056121608494025008852792989851253368539093783776813442409052929702904642244663907796844100702185028479023581883372580508850969656006797252439755080488001267339839446754722550389058041002414648375920370022444262756655902522838835200780040533928699084488660882746376644113561022235172556027816479712109426451760044071763300854604465714910982958755119966285793415142106385540841449559413225803460636466913476249225274650527624163109538347048139786623684861275788261377404579346702244822857399438840462251352249408232915067532455000601291652076011190877595617911387819829382531098579413595231976767080360456308956318207379371624311740789031910044121165542599680221167106842639406506840362187270197515688400440179744852753944691070292515134542008084496895306427804274633588523118946616387793974022926082971125685768051896512142146804961659742725490258412053173973578291680745168745453584591995731035809744512504535941024870568666095347752218919871477483863000829844710745772768178499123755557125964434220083471794240659690903842915274041160826918525590322461443454737906944042756872133980142586062282881405299937627427398112224427205899733185639367833445790370109374274028105818240210635952709312869600029259083603019908666216882935695945897610700767951092409315951402730738243482262339160845259903392176917410197126061717900190997778 805951606880982670575401877556136668470326135013028091140345910441969301888484087414270589182745976480719190987807069117784210136216378661128711017271898273217972373088451314599910133309947350543792782676073527965748358721523549661369574483084777846617340813428859794668119731328487339300923910229075473043718586160484129685766435850884595793682139604584372630465303227805862797680801908732918379875452038093845036488282132483023594084525996402435240453094987342742493315362148137290193297554096022157245036975585055514083859216707147340675380666048956144122341896635395636411670185116214861048709726558495684601706964601871037788825692331198647358047660668160153480335800162730102091282150457662174635166002027019436632631543700055541188378424759684301916297571832674787199604144937519002179891813721910519105266854870044198548583673844486706262614389335540159775064779510553702824384448109180805119747328965706490895092312656353464379550947823367874222936159740110444533237886497459642304555152179360855957723855932579288671275158851869793381540767845268416686020146849146667114292578899718552549332291579650058569827297147234151210844534266621554755635673051002570121416572447337991920001560791974098416487983641927768410669846690427221364253106395534678025388315929999083496919746306554582509344310617709637204799502086659754879903693269769776278592844410281257427270163649344636762937076934870430614186868975913814003377468029162659028774438131942617428700056035861702611417551456657986551824427973965428539803937753685501318122538795268470636693425623209251932145213222123819162339851109839001035633147294621466525454477471517076223201402984824295687720164829801922437367134989117523533849044136363263484428736472422519519529398892110137640479533595916630242907115591071879863533329828928705139648614236858401046770035536583519786307076025631353998556849288602166435696839650653425920324353715856108478157176592992908474822925533381277049709667165658211255841316990830520440696848881791900658167470651864592361604188582297104713354658017247458333112757684781614243128528100111895671950096148824157088635596488215841308935173913311210365696504286414534378593163804913916463800672665450358812257838468029018417935754778556642606254971778682440072065438366782274591687015415616102427566120247343496419666408936476079875608311684215947082345857732072739045306822458549977610429 1304057093221023589732265096390298058962456890466802042749885268913124517339320348607376722548243166093476951316944583430387919603488360772666829600504011793202054036050166600711950315044214874435466474636743918345743425339593486738651930449641974335239359241770621092166307537099088636624022527702428340007518803397172314524033180857850656083573206262760827833144385261181233523951666265447020410311877268997812405650636841025763177410396801389813246578063127420491018743422529085312739464503571689769346550395604309220516802463215404030790234446665878940319719706443873848222474169063076557263642786958630479459060369282802902203164052925187454343542609085524371765228284937587720274426475205415503982767858290872300733386567607668808779114495750590887835915650026995474710235323681986294115064419256580530951195482931519317022756856263366242724615502042224344041692536815993085899380491988928066810936699232312449572967903483913903206666974835969871630518619797024849700896128242358934697813900848195062728957557047801216008089252215296906663744945901390025180045155701939656965545947438812336326145733988702988272731939391898059007688634968806583234659254934375150630267542103344789172441315872462099683827823088682490961058904731429636012629026765557122288144971832521922332120526347088511208428799278592383581443615647681990052459721086249488388019296170325329190571018253810351673920035689990396899980284118020199544218917588575884832235074598856093677925330686389326774527089803706126338448112835241216801181342333032203562945396194707311098944777872617484847212745677124420453991927121029878631251058682441295907985576050930671455178170065184751996676483037181294061678875778149433577970209678962943705595843315061926026369761079380335156167934036096375095661060282142172378667871837013202034955042041133034635293154483199907580281098951714325124242617340498678577843644612313168645814612127909282451735468273738077220276510125377008085519411678162747196866187559496615788449067801663378142030471481709303107376956760796228468911783981681678416584551925441305146971443374153056498868621739146618532090334395159884065807307893453796427979385691714472006020561917138343669700405851089726645703628838138392691963860596796853242207681091552040101324521969802183257903898351312048325176821015294588828982360339206818119090574023376792342249249908990149242432884176450168608207 2110008700102006260307666973946434727432783025479830133890231179355093819227804436021647311730989142574196142304751652548172129739704739433795540617775910066420026409138617915311860448354162224979259257312817446311491784061117036400021504932726752181856700055199480886834427268427575975924946437931503813051237389557656444209799616708735251877255345867345200463609688488987096321632468174179938790187329307091657442138918973508786771494922797792248487031158114763233512058784677222602932762057667711926591587371189364734600661679922551371465615112714835084442061603079269484634144354179291418312352513517126164060767333884673939991989745256386101701590269753684525245564085100317822365708625663077678617933860317891737366018111307724349967492920510275189752213221859670261909839468619505296294956232978491050056462337801563515571340530107852948987229891377764503816757316326546788723764940098108871930684028198018940468060216140267367586217922659337745853454779537135294234134014739818577002369053027555918686681412980380504679364411067166700045285713746658441866065302551086324079838526338530888875478025568353046842559236539132210218533169235428137990294927985377720751684114550682781092442876664436198100315806730610259371728751421856857376882133161091800313533287762521005829040272653643093717773109896302020786243117734341744932363414356019264666612140580606586617841181903154988436857112624860827514167153093934013547596385617738543861009512730798711106625386722251029385944641260364112890272540809206645340985280086717704881067934989975781735638203495826736779357958899248239616331778230868879666884205977062762433440053522447747678379573050009047684396647866983216499046010767266957111819253815326207190024579787484445545899159971490472796647467632013005338568175873214052242201201665941907174603656277991435682063190019783427366588174977345679122799466629100845013540484262966594566138965843765390929892644866730985695099435658758285135229078843820958452707504550327136229145916683455278800197942133573895468981145343093333182266441998929136749697309610222919390099971474264952170818717887970775620725930883375725374742481806765006793675889978129006384613725722052260133501078516540085457961467306167411109899615375353495848462652870234480173389960336584457849590913766928150752742941262638085248648769275682897994698885707592739424595107641062888287739706635000146218636 3414065793323029850039932070336732786395239915946632176640116448268218336567124784629024034279232308667673093621696235978560049343193100206462370218279921859622080445188784516023810763398377099414725731949561364657235209400710523138673435382368726517096059296970101979000734805526664612548968965633932153058756192954828758733832797566585907960828552130106028296754073750168329845584134439626959200499206576089469847789555814534549948905319599182061733609221242183724530802207206307915672226561239401695938137766793673955117464143137955402255849559380714024761781309523143332856618523242367975575995300475756643519827703167476842195153798181573556045132878839208897010792370037905542640135100868493182600701718608764038099404678915393158746607416260866077588128871886665736620074792301491590410020652235071581007657820733082832594097386371219191711845393419988847858449853142539874623145432087036938741620727430331390041028119624181270792884897495307617483973399334160143935030142982177511700182953875750981415638970028181720687453663282463606709030659648048467046110458253025981045384473777343225201623759557056035115291175931030269226221804204234721224954182919752871381951656654027570264884192536898297784143629819292750332787656153286493389511159926648922601678259595042928161160799000731604926201909174894404367686733382023734984823135442268753054631436750931915808412200156965340110777148314851224414147437211954213091815303206314428693244587329654804784550717408640356160471731064070239228720653644447862142166622419749908444013331184683092834582981368444221626570704576372660070323705351898758298135264659504058341425629573378419133557743115193799681073130904164510560724886545416390689789463494289150895620423102546371572268921050870807952815401668109380434229236155356224620869073502955109209558698319124470317356344502983334946869273929060004247042083969599523591384128875279763211953577971674673381628113140469062915375945784135293220748490521983705649573692109823752017594984485118656942228413615283198576358102103889561651178225980610815166281861535664224537071414848418008669687339627117394152816265278535609440549789700218803221655275669843478390634287639190603803201484367629812103665096144305803801863475972150349090670333961786520274714482306386641107494812118240199077919762277932674077631129614889716113789459730969531766844357550053037530172590811450314826843 5524074493425036110347599044283167513828022941426462310530347627623312155794929220650671346010221451241869235926447888526732179082897839640257910836055831926042106854327402431335671211752539324393984989262378810968726993461827559538694940315095478698952759352169582865835162073954240588473915403565435966109993582512485202943632414275321159838083897997451228760363762239155426167216602613806897990686535883181127289928474788043336720400242396974310220640379356946958042860991883530518604988618907113622529725137983038689718125823060506773721464672095549109203842912602412817490762877421659393888347813992882807580595037052150782187143543437959657746723148592893422256356455138223365005843726531570861218635578926655775465422790223117508714100336771141267340342093746335998529914260920996886704976885213562631064120158534646348165437916479072140699075284797753351675207169469086663346910372185145810672304755628350330509088335764448638379102820154645363337428178871295438169164157721996088702552006903306900102320383008562225366818074349630306754316373394706908912175760804112305125223000115874114077101785125409081957850412470162479444754973439662859215249110905130592133635771204710351357327069201334495884459436549903009704516407575143350766393293087740722915211547357563933990201071654374698643975019071196425153929851116365479917186549798288017721243577331538502426253382060120328547634260939712051928314590305888226639411688824052972554254100060453515891176104130891385546416372324434352118993194453654507483151902506467613325081266174658874570221184864270958405928663475620899686655483582767637965019470636566820774865683095826166811937316165202847365469778771147727059770897312683347801608717309615358085645002890030817118168081022361280749462869300122385772797412028570276863070275168897016384162354597115905999419534522766762313457448906405683369841550598700368604924613138246357778092543815440064311520758007200048610475381442893578355977569365804664102281196660150888246740901168573935742426355748857094045339247446982894833444667979539951915979171145887143927171386322682960840506057515088169773542196161911334815292271506983810015331165647972484775248013361242863936702562884169897561626563450473214911763091347503844939132986832021000448104442642971098957085725885168349830662703540570759326279898890572614108488345438562271191439465191115925817912297446450461045479 8938140286748065960387531114619900300223262857373094487170464075891530492362054005279695380289453759909542329548144124505292228426090939846720281054335753785664187299516186947359481975150916423808710721211940175625962202862538082677368375697464205216048818649139684844835896879480905201022884369199368119168749775467313961677465211841907067798912450127557257057117835989323756012800737053433857191185742459270597137718030602577886669305561996156371954249600599130682573663199089838434277215180146515318467862904776712644835589966198462175977314231476263133965624222125556150347381400664027369464343114468639451100422740219627624382297341619533213791856027432102319267148825176128907645978827400064043819337297535419813564827469138510667460707753032007344928470965633001735149989053222488477114997537448634212071777979267729180759535302850291332410920678217742199533657022611626537970055804272182749413925483058681720550116455388629909171987717649952980821401578205455582104194300704173600402734960779057881517959353036743946054271737632093913463347033042755375958286219057138286170607473893217339278725544682465117073141588401192748670976777643897580440203293824883463515587427858737921622211261738232793668603066369195760037304063728429844155904453014389645516889806952606862151361870655106303570176928246090829521616584498389214902009685240556770775875014082470418234665582217085668658411409254563276342462027517842439731226992030367401247498687390108320675726821539531741706888103388504591347713848098102369625318524926217521769094597359341967404804166232715180032499368051993559756979188934666396263154735296070879116291312669204585945495059280396647046542909675312237620495783858099738491398180803904508981265425992577188690437002073232088702278270968231766207026648183926501483939348671852125593721052916240376316775879025750097260326722835465687616883634568299892196308742013526120990046121787114737693148871147669111525851327227028871576726059887788369751854888769974640264335885653692592684654769364140292621697349550872456484622893960150767082261032681551368464242801171100969510193397142205563926358461440446944255842061207202613236986441317815963165882301000433467739904047251799709665291659594779018713626567319654194029803320793807520722818924949357740064580538003408548908582465818503433403911028505462330222277805169531802958283822741168963348084888257900775872322 14462214780173102070735130158903067814051285798799556797700811703514842648156983225930366726299675211151411565474592013032024407508988779486978191890391585711706294153843589378695153186903455748202695710474318986594689196324365642216063316012559683915001578001309267710671058953435145789496799772764804085278743357979799164621097626117228227636996348125008485817481598228479182180017339667240755181872278342451724427646505390621223389705804393130682174889979956077640616524190973368952882203799053628940997588042759751334553715789258968949698778903571812243169467134727968967838144278085686763352690928461522258681017777271778406569440885057492871538579176024995741523505280314352272651822553931634905037972876462075589030250259361628176174808089803148612268813059379337733679903314143485363819974422662196843135898137802375528924973219329363473109995963015495551208864192080713201316966176457328560086230238687032051059204791153078547551090537804598344158829757076751020273358458426169689105286967682364781620279736045306171421089811981724220217663406437462284870461979861250591295830474009091453355827329807874199030992000871355228115731751083560439655452404730014055649223199063448272979538330939567289553062502919098769741820471303573194922297746102130368432101354310170796141562942309481002214151947317287254675546435614754694819196235038844788497118591414008920660918964277205997206045670194275328270776617823730666370638680854420373801752787450561836566902925670423127253304475712938943466707042551756877108470427432685135094175863534000841975025351096986138438428031527614459443634672517434034228174205932637699891156995765030752757432375445599494412012688446459964680266681170783086293006898113519867066910428882608005808605083095593369451741140268354151979824060212496778347009623840749141977883407513356282316195413548516859573784171741871370986725185167000260801233355151772478768138665602554802004669629154869160136326708669922449932703629253593033854136085430125528511076786822266528427081125112997386667036596997855351318067561939690718998240203827438512391414187493783930350699454657293733699900657602358279071134332714186423252317606965788447941130314361676331676606610135969607226918223045252233625389658667158038968936307625828521170923367592328839021666263888576898739245169359074192730190927396034944330766150608094074149723287932284889165997185704351236917801 23400355066921168031122661273522968114274548656172651284871275779406373140519037231210062106589128971060953895022736137537316635935079719333698472944727339497370481453359776326054635162054372172011406431686259162220651399186903724893431691710023889131050396650448952555506955832916050990519684141964172204447493133447113126298562837959135295435908798252565742874599434217802938192818076720674612373058020801722321565364535993199110059011366389287054129139580555208323190187390063207387159418979200144259465450947536463979389305755457431125676093135048075377135091356853525118185525678749714132817034042930161709781440517491406030951738226677026085330435203457098060790654105490481180297801381331698948857310173997495402595077728500138843635515842835155957197284025012339468829892367365973840934971960110831055207676117070104709684508522179654805520916641233237750742521214692339739287021980729511309500155721745713771609321246541708456723078255454551324980231335282206602377552759130343289508021928461422663138239089082050117475361549613818133681010439480217660828748198918388877466437947902308792634552874490339316104133589272547976786708528727458020095655698554897519164810626922186194601749592677800083221665569288294529779124535032003039078202199116520013948991161262777658292924812964587305784328875563378084197163020113143909721205920279401559272993605496479338895584546494291665864457079448838604613238645341573106101865672884787775049251474840670157242629747209954868960192579101443534814420890649859246733788952358902656863270460893342809379829517329701318470927399579608019200613861452100430491328941228708579007448308434235338702927434725996141458555598121772202300762465028882824784405078917424376048175854875185194499042085168825458154019411236585918186850708396423279830948972512601267571604460429596658632971292574266956834110894577337058603608819735300152997542097165298599758184787389669539697818500302538271662178035896951321509429689141381403605990974200100168775412672475959121111735894477137679288733946548727807802690455899841486080501236508989880855656988664884899860892851799499297626259119042805223326976393921389036489304048283604411107012615362109799416510657387769316892209882640031252339016225986812232998739628419636041893742292541686579086246801891985447647827635177577626134101955901497274553043955777625877108007110673453852514082073962252012790123 37862569847094270101857791432426035928325834454972208082572087482921215788676020457140428832888804182212365460497328150569341043444068498820676664835118925209076775607203365704749788348957827920214102142160578148815340595511269367109495007722583573046051974651758220266178014786351196780016483914728976289726236491426912290919660464076363523072905146377574228692081032446282120372835416387915367554930299144174045993011041383820333448717170782417736304029560511285963806711581036576340041622778253773200463038990296215313943021544716400075374872038619887620304558491581494086023669956835400896169724971391683968462458294763184437521179111734518956869014379482093802314159385804833452949623935263333853895283050459570991625327987861767019810323932638304569466097084391677202509795681509459204754946382773027898343574254872480238609481741509018278630912604248733301951385406773052940603988157186839869586385960432745822668526037694787004274168793259149669139061092358957622650911217556512978613308896143787444758518825127356288896451361595542353898673845917679945699210178779639468762268421911400245990380204298213515135125590143903204902440279811018459751108103284911574814033825985634467581287923617367372774728072207393299520945006335576234000499945218650382381092515572948454434487755274068307998480822880665338872709455727898604540402155318246347770112196910488259556503510771497663070502749643113932884015263165303772472504353739208148851004262291231993809532672880377996213497054814382478281127933201616123842259379791587791957446324427343651354854868426687456909355431107222478644248533969534464719503147161346278898605304199266091460359810171595635870568286568232166981029146199665911077411977030944243115086283757793200307647168264418827605760551504940070166674768608920058177958596353350409549487867942952940949166706122783816407895066319208429590334004902300413798775452317071078526323452992224341702488129457407431798504744566873771442133318394974437460127059630225697286489459298225649538817019590135065955770543546583159120758017839532205078741440336428393247071176158668830211592306456793031326159776645163502398110726635575459741621655249392859048142929723786131093117267523738924119128105685283485964405884653970271967675936045464563064665660134015418107913065780562346387072804536651818864292883297532218883810106385719951257730398605738741680079259666603249707924 61262924914015438132980452705949004042600383111144859367443363262327588929195057688350490939477933153273319355520064288106657679379148218154375137779846264706447257060563142030804423511012200092225508573846837311035991994698173092002926699432607462177102371302207172821684970619267247770536168056693148494173729624874025417218223302035498818508813944630139971566680466664085058565653493108589979927988319945896367558375577377019443507728537171704790433169141066494286996898971099783727201041757453917459928489937832679293332327300173831201050965173667962997439649848435019204209195635585115028986759014321845678243898812254590468472917338411545042199449582939191863104813491295314633247425316595032802752593224457066394220405716361905863445839775473460526663381109404016671339688048875433045689918342883858953551250371942584948293990263688673084151829245481971052693906621465392679891010137916351179086541682178459594277847284236495460997247048713700994119292427641164225028463976686856268121330824605210107896757914209406406371812911209360487579684285397897606527958377698028346228706369813709038624933078788552831239259179416451181689148808538476479846763801839809093978844452907820662183037516295167455996393641495687829300069541367579273078702144335170396330083676835726112727412568238655613782809698444043423069872475841042514261608075597647907043105802406967598452088057265789328934959829091952537497253908506876878574370026623995923900255737131902151052162420090332865173689633915826013095548823851475370576048332150490448820716785320686460734684385756388775380282830686830497844862395421634895210832088390054857906053612633501430163287244897591777329123884690004369281791611228548735861817055948368619163262138632978394806689253433244285759779962741525988353525477005343338008907568865951677121092328372549599582137998697050773242005960896545488193942824637600566796317549482369678284508240381893881400306629759945703460682780463825092951563007536355841066118033830325866061902131774184770650552914067272745244504490095310966923448473739373691159242676845418274102728164823553730072485158256292328952418895687968725725087120556964496230925703532997270155155545085895930509627924911508241011337988325314738303422110640782504966415564465100604958407952675701997194159867672547794034900439714229444998394839199029493436854062163345828365737509279192594194161333628855262498047 99125494761109708234838244138375039970926217566117067450015450745248804717871078145490919772366737335485684816017392438675998722823216716975051802614965189915524032667766507735554211859970028012439610716007415459851332590209442459112421707155191035223154345953965393087862985405618444550552651971422124783899966116300937708137883766111862341581719091007714200258761499110367178938488909496505347482918619090070413551386618760839776956445707954122526737198701577780250803610552136360067242664535707690660391528928128894607275348844890231276425837212287850617744208340016513290232865592420515925156483985713529646706357107017774905994096450146063999068463962421285665418972877100148086197049251858366656647876274916637385845733704223672883256163708111765096129478193795693873849483730384892250444864725656886851894824626815065186903472005197691362782741849730704354645292028238445620494998295103191048672927642611205416946373321931282465271415841972850663258353520000121847679375194243369246734639720748997552655276739336762695268264272804902841478358131315577552227168556477667814990974791725109284615313283086766346374384769560354386591589088349494939597871905124720668792878278893455129764325439912534828771121713703081128821014547703155507079202089553820778711176192408674567161900323512723921781290521324708761942581931568941118802010230915894254813217999317455858008591568037286992005462578735066470381269171672180651046874380363204072751259999423134144861695092970710861387186688730208491376676757053091494418307711942078240778163109748030112089539254183076232289638261794052976489110929391169359930335235551401136804658916832767521623647055069187413199692171258236536262820757428214646939229032979312862278348422390771595114336421697663113365540514246466058520200245614263396186866165219302086670580196315502540531304704819834589649901027215753917784276829539900980595093001799440756810831693374118223102794759217353135259187525030698864393696325931330278526245093460551563348391591072410420189369933657407811200275033641894126044206491578905896237984117181846667349799340982222560284077464713085360278578672333132228123197847192539955972547358782390129203298474809682061602745192435247165130466094010598224267827995294752776934091500510565168023073612809717415302072933453110140421973244250881263862687722496561712320664168549065779623467907884931335874240593295458512205971 160388419675125146367818696844324044013526600677261926817458814007576393647066135833841410711844670488759004171537456726782656402202364935129426940394811454621971289728329649766358635370982228104665119289854252770887324584907615551115348406587798497400256717256172565909547956024885692321088820028115273278073695741174963125356107068147361160090533035637854171825441965774452237504142402605095327410906939035966781109762196137859220464174245125827317170367842644274537800509523236143794443706293161608120320018865961573900607676145064062477476802385955813615183858188451532494442061228005630954143243000035375324950255919272365374467013788557609041267913545360477528523786368395462719444474568453399459400469499373703780066139420585578746702003483585225622792859303199710545189171779260325296134783068540745805446074998757650135197462268886364446934571095212675407339198649703838300386008433019542227759469324789665011224220606167777926268662890686551657377645947641286072707839170930225514855970545354207660552034653546169101640077184014263329058042416713475158755126934175696161219681161538818323240246361875319177613643948976805568280737896887971419444635706964529762771722731801275791947362956207702284767515355198768958121084089070734780157904233888991175041259869244400679889312891751379535564100219768752185012454407409983633063618306513542161856323801724423456460679625303076320940422407827019007878523080179057529621244406987199996651515736555036295913857513061043726560876322646034504472225580904566864994356044092568689598879895068716572824223639939465007669921092480883474333973324812804255141167323941455994710712529466268951786934299966779190528816055948240905544612368656763382801046088927681481441610561023749989921025675130907399125320476987992046873725722619606734195773734085253763791672524688052140113442703516885362891906988112299405978219654177501547391410551281810435095339933756012104503101388977298838719870305494523957345259333467686119592363127290877429410293722846595190839922847724680556444779523737205092967654965318279587397226794027264941452527505805776290356562622969377689230997568021100953848284967749504452203473062315387399358454019895577992112373117346755406141804082335912962571250105935535281900507064975665772981481565485419412496232801125657934456873683965110708861082561695591205757518230712411607989205417164123930068401926924313774704018 259513914436234854602656940982699083984452818243378994267474264752825198364937213979332330484211407824244688987554849165458655125025581652104478743009776644537495322396096157501912847230952256117104730005861668230738657175117058010227770113742989532623411063210137958997410941430504136871641471999537398061973661857475900833493990834259223501672252126645568372084203464884819416442631312101600674893825558126037194661148814898698997420619953079949843907566544222054788604120075372503861686370828869298780711547794090468507883024989954293753902639598243664232928066528468045784674926820426146879299726985748904971656613026290140280461110238703673040336377507781763193942759245495610805641523820311766116048345774290341165911873124809251629958167191696990718922337496995404419038655509645217546579647794197632657340899625572715322100934274084055809717312944943379761984490677942283920881006728122733276432396967400870428170593928099060391540078732659402320635999467641407920387214365173594761590610266103205213207311392882931796908341456819166170536400548029052710982295490653363976210655953263927607855559644962085523988028718537159954872326985237466359042507612089250431564601010694730921711688396120237113538637068901850086942098636773890287237106323442811953752436061653075247051213215264103457345390741093460946955036338978924751865628537429436416669541801041879314469271193340363312945884986562085478259792251851238180668118787350404069402775735978170440775552606031754587948063011376242995848902337957658359412663756034646930377043004816746684913762894122541239959559354274936450823084254203973615071502559492857131515371446299036473410581355035966603728508227206477441807433126084978029740275121906994343719958983414521585035362096828570512490860991234458105393925968233870130382639899304555850462252721003554680644747408336719952541808015328053323762496483717402527986503553081251191906171627130130327605896148194651973979057830525222821738955659399016398118608220751428992758685313919005611029292781382088367645054557379099219011861456897185483635210911209111608802326846787998850640640087682463049509576240354233181971482814942044408176020421097777528561752494705260053715118309782002571272270176346511186839078101230288058834598565486230941004555178295136827798305734578768074878846928215991972723770284192152918078182399261477387612673325049055265942642520219772286909989 419902334111360000970475637827023127997979418920640921084933078760401592012003349813173741196056078313003693159092305892241311527227946587233905683404588099159466612124425807268271482601934484221769849295715921001625981760024673561343118520330788030023667780466310524906958897455389829192730292027652671340047357598650863958850097902406584661762785162283422543909645430659271653946773714706696002304732497162003975770911011036558217884794198205777161077934386866329326404629598608647656130077122030906901031566660052042408490701135018356231379441984199477848111924716919578279116988048431777833442969985784280296606868945562505654928124027261282081604291053142240722466545613891073525085998388765165575448815273664044945978012545394830376660170675282216341715196800195114964227827288905542842714430862738378462786974624330365457298396542970420256651884040156055169323689327646122221267015161142275504191866292190535439394814534266838317808741623345953978013645415282693993095053536103820276446580811457412873759346046429100898548418640833429499594442964742527869737422424829060137430337114802745931095806006837404701601672667513965523153064882125437778487143319053780194336323742496006713659051352327939398306152424100619045063182725844625067395010557331803128793695930897475926940526107015482992909490960862213131967490746388908384929246843942978578525865602766302770929950818643439633886307394389104486138315332030295710289363194337604066054291472533206736689410119092798314508939334022277500321127918862225224407019800127215619975922899885463257737986534062006247629480446755819925157057579016777870212669883434313126226083975765305425197515655002745794257324283154718347352045494741741412541321210834675825161569544438271574956387771959477911616181468222450152267651690853476864578413633389809614253925245691606820758190111853605315433715003440352729740716137894904075377914104363061627001511560886142432108997537171950812698928136019746779084214992866702517710971348042306422168979036765600801869215629106768924089834081116304311979516422215465071032437705236376550254854352593775140997202710651840738740573808375334135819767782691548860379493483413164927920206514600838045827491427128757977414074258682424149410328207165823340735105630461896713986036743780556240294538535704426009335720612181102681584852845887744123835700629973888995601878742213179196011044447144086061614007 679416248547594855573132578809722211982432237164019915352407343513226790376940563792506071680267486137248382146647155057699966652253528239338384426414364743696961934520521964770184329832886740338874579301577589232364638935141731571570888634073777562647078843676448483904369838885893966064371764027190069402021019456126764792344088736665808163435037288928990915993848895544091070389405026808296677198558055288041170432059825935257215305414151285727004985500931088384115008749673981151517816447950900205681743114454142510916373726124972649985282081582443142081039991245387624063791914868857924712742696971533185268263481971852645935389234265964955121940668560924003916409304859386684330727522209076931691497161047954386111889885670204082006618337866979207060637534297190519383266482798550760389294078656936011120127874249903080779399330817054476066369196985099434931308180005588406142148021889265008780624263259591405867565408462365898709348820356005356298649644882924101913482267901277415038037191077560618086966657439312032695456760097652595670130843512771580580719717915482424113640993068066673538951365651799490225589701386051125478025391867362904137529650931143030625900924753190737635370739748448176511844789493002469132005281362618515354632116880774615082546131992550551173991739322279586450254881701955674078922527085367833136794875381372414995195407403808182085399222011983802946832192380951189964398107583881533890957481981688008135457067208511377177464962725124552902457002345398520496170030256819883583819683556161862550352965904702209942651749428184547487589039801030756375980141833220751485284172442927170257741455422064341898608097010038712397985832510361195789159478620826719442281596332741670168881528527852793159991749868788048424107042459456908257661577659087346994961053532694365464716177966695161501402937520190325267975523018768406053503212621612306603364417657444312818907683188016272759714893685366602786677985966544969600823170652265718915829579568793735414927664350684606412898508410488857291734888638495403530991377879112650554667648616445488159057181199381773991637842798334303788250150048729567317791250597633593268555513904510942456481959009306098099542609736910760548686344435028935336249406308396111399569704195948127654990591922075693068092844270283194084214567540397094654308623130079897041913883029235366383214552067262234461953686967363858348523996 1099318582658954856543608216636745339980411656084660836437340422273628382388943913605679812876323564450252075305739460949941278179481474826572290109818952842856428546644947772038455812434821224560644428597293510233990620695166405132914007154404565592670746624142759008811328736341283795257102056054842740742068377054777628751194186639072392825197822451212413459903494326203362724336178741514992679503290552450045146202970836971815433190208349491504166063435317954713441413379272589799173946525072931112582774681114194553324864427259991006216661523566642619929151915962307202342908902917289702546185666957317465564870350917415151590317358293226237203544959614066244638875850473277757855813520597842097266945976321618431057867898215598912383278508542261423402352731097385634347494310087456303232008509519674389582914848874233446236697727360024896323021081025255490100631869333234528363415037050407284284816129551781941306960222996632737027157561979351310276663290298206795906577321437381235314483771889018030960726003485741133594005178738486025169725286477514108450457140340311484251071330182869419470047171658636894927191374053565091001178456749488341916016794250196810820237248495686744349029791100776115910150941917103088177068464088463140422027127438106418211339827923448027100932265429295069443164372662817887210890017831756741521724122225315393573721273006574484856329172830627242580718499775340294450536422915911829601246845176025612201511358681044583914154372844217351216965941679420797996491158175682108808226703356289078170328888804587673200389735962246553735218520247786576301137199412237529355496842326361483383967539397829647323805612665041458192243156793515914136511524115568460854822917543576345994043098072291064734948137640747526335723223927679358409929229349940823859539467166084175078970103212386768322161127632043930583409238022208758783243928759507210678742331761807374445909194748902415191823891222538553599376914102564716379907385645132421433540550916836041837096643387450207214767724039595626215824722719611707842970894301328115625700086321681864709312035551975549132635045508986144526990723857104901453611018380325142128935007387924107384402165523906936145370101164039518526100418693711359485659734515561934740304809826410024368976628665856249308387382805987620093550288152578197335893475975967641165749583659209255378816430809475413657964731414507944410138003 1778734831206549712116740795446467551962843893248680751789747765786855172765884477398185884556591050587500457452386616007641244831735003065910674536233317586553390481165469736808640142267707964899519007898871099466355259630308136704484895788478343155317825467819207492715698575227177761321473820082032810144089396510904393543538275375738200988632859740141404375897343221747453794725583768323289356701848607738086316635030662907072648495622500777231171048936249043097556422128946570950691762973023831318264517795568337064241238153384963656201943605149085762010191907207694826406700817786147627258928363928850650833133832889267797525706592559191192325485628174990248555285155332664442186541042806919028958443137369572817169757783885802994389896846409240630462990265394576153730760792886007063621302588176610400703042723124136527016097058177079372389390278010354925031940049338822934505563058939672293065440392811373347174525631458998635736506382335356666575312935181130897820059589338658650352520962966578649047692660925053166289461938836138620839856129990285689031176858255793908364712323250936093008998537310436385152781075439616216479203848616851246053546445181339841446138173248877481984400530849224292421995731410105557309073745451081655776659244318881033293885959915998578274924004751574655893419254364773561289812544917124574658518997606687808568916680410382666941728394842611045527550692156291484414934530499793363492204327157713620336968425889555961091619335569341904119422944024819318492661188432501992392046386912450940720681854709289883143041485390431101222807560048817332677117341245458280840781014769288653641708994819893989222413709675080170590228989303877109925671002736395180297104513876318016162924626600143857894939887509535574759830266387136266667590807009028170854500520698778540543686281179081929823564065152234255851384761040977164836747141381119517282106749419251687264816877936918687951538784907905156386054900069109685980730556297398140349370130485629777252024307738134813627666232450084483507559611358107111373962272180440766180367734938127352868369216751357323124272888307320448315240873905834468771402268977958735397490521292435049840884124533213034244912710900950279074786763128740294821909140823958046139874514022358152023967220587931942376480227076270814177764855692975291990202099106047538207663466688444621762030982876737648119918418381871802758661999 2878053413865504568660349012083212891943255549333341588227088188060483555154828391003865697432914615037752532758126076957582523011216477892482964646052270429409819027810417508847095954702529189460163436496164609700345880325474541837398902942882908747988572091961966501527027311568461556578575876136875550886157773565682022294732462014810593813830682191353817835800837547950816519061762509838282036205139160188131462838001499878888081685830850268735337112371566997810997835508219160749865709498096762430847292476682531617566102580644954662418605128715728381939343823170002028749609720703437329805114030886168116398004183806682949116023950852417429529030587789056493194161005805942200042354563404761126225389113691191248227625682101401906773175354951502053865342996491961788078255102973463366853311097696284790285957571998369973252794785537104268712411359035610415132571918672057462868978095990079577350256522363155288481485854455631372763663944314707976851976225479337693726636910776039885667004734855596680008418664410794299883467117574624646009581416467799797481633998596105392615783653433805512479045708969073280079972449493181307480382305366339587969563239431536652266375421744564226333430321950000408332146673327208645486142209539544796198686371756987451505225787839446605375856270180869725336583627027591448500702562748881316180243119832003202142637953416957151798057567673238288108269191931631778865470953415705193093451172333739232538479784570600545005773708413559255336388885704240116489152346608184101200273090268740018891010743513877556343431221352677654958026080296603908978254540657695810196277857095650137025676534217723636546219322340121628782472146097393024062182526851963641151927431419894362156967724672434922629888025150283101095553490314815625077520036358968994714039987864862715622656384391468698145725192784278186434793999063185923619991070140626727960849081181059061710726072685821103143362676130443709985431814171674402360637941942530561782910681402465819089120951125585020842433956489680109723384334077718819216933166481768881806067821259809217577681252303332872256907933816306592842231597762939370225013287358283877526425528680359157225286290057119970390282812064989797600887181822451654307568875339519980880179323848768176392943849253788191684867609882258434271315143845553489326095575082015179373413050347653877140847413686213061777883149796379747168800002 4656788245072054280777089807529680443906099442582022340016835953847338727920712868402051581989505665625252990210512692965223767842951480958393639182285588015963209508975887245655736096970237154359682444395035709166701139955782678541883798731361251903306397559781173994242725886795639317900049696218908361030247170076586415838270737390548794802463541931495222211698180769698270313787346278161571392906987767926217779473032162785960730181453351045966508161307816040908554257637165731700557472471120593749111810272250868681807340734029918318620548733864814143949535730377696855156310538489584957064042394815018767231138016695950746641730543411608621854516215964046741749446161138606642228895606211680155183832251060764065397383465987204901163072201360742684328333261886537941809015895859470430474613685872895190989000295122506500268891843714183641101801637045965340164511968010880397374541154929751870415696915174528635656011485914630008500170326650064643427289160660468591546696500114698536019525697822175329056111325335847466172929056410763266849437546458085486512810856851899300980495976684741605488044246279509665232753524932797523959586153983190834023109684612876493712513594993441708317830852799224700754142404737314202795215954990626451975345616075868484799111747755445183650780274932444381230002881392365009790515107666005890838762117438691010711554633827339818739785962515849333635819884087923263280405483915498556585655499491452852875448210460156506097393043982901159455811829729059434981813535040686093592319477181190959611692598223167439486472706743108756180833640345421241655371881903154091037058871864938790667385529037617625768633032015201799372701135401270133987853529588358821449031945296212378319892351272578780524827912659818675855383756701951891745110843367997165568540508563641256166342665570550627969289257936512442286178760104163088456738211521746245242955830600310748975542950622739791094901461038348866371486714240784088341368498239928702132280811888095596341145258863719834470100188939764593230943945435825930590895438662209647986435556197936570446050469054690195381180822123627041157472471668773838996415556336242612923916049972794207066170414590333004635195522965940076675673944951191949129478016163478027020053837871126328416911069841720134061347836958529248449079999538528781316297674188062717581076517036098498902878396562950709897801568178251549927462001 7534841658937558849437438819612893335849354991915363928243924141907822283075541259405917279422420280663005522968638769922806290854167958850876603828337858445373028536786304754502832051672766343819845880891200318867047020281257220379282701674244160651294969651743140495769753198364100874478625572355783911916404943642268438133003199405359388616294224122849040047499018317649086832849108787999853429112126928114349242311033662664848811867284201314701845273679383038719552093145384892450423181969217356179959102748933400299373443314674872981039153862580542525888879553547698883905920259193022286869156425701186883629142200502633695757754494264026051383546803753103234943607166944548842271250169616441281409221364751955313625009148088606807936247556312244738193676258378499729887270998832933797327924783569179981274957867120876473521686629251287909814212996081575755297083886682937860243519250919831447765953437537683924137497340370261381263834270964772620279265386139806285273333410890738421686530432677772009064529989746641766056396173985387912859018962925885283994444855448004693596279630118547117967089955248582945312725974425978831439968459349530421992672924044413145978889016738005934651261174749225109086289078064522848281358164530171248174031987832855936304337535594891789026636545113314106566586508419956458291217670414887207019005237270694212854192587244296970537843530189087621744089076019555042145876437331203749679106671825192085413927995030757051103166752396460414792200715433299551470965881648870194792592567449930978502703341737044995829903928095786411138859720642025150633626422560849901233336728960588927693062063255341262314852354355323428155173281498663158050036056440322462600959376716106740476860075945013703154715937810101776950937247016767516822630879726966160282580496428503971788999049962019326115014450720790628720972759167349012076729281662372973203804911781369810686269023308560894238264137168792576356918528412458490702006440182459263915191493290561415430266209989304855312534145429444702954328279513544749807828605143978529792503377457745788023731721358023067638088755939933633999704069431713209221428843694526490450341578653153364291456704647452975025478335030929874276561126773643603437046891502998007900233161719894504809854919095508325746215446840787682720395143384082270642393249270077896954489567383752376043725810249163771675684717974631297096262003 12191629904009613130214528627142573779755454434497386268260760095755161010996254127807968861411925946288258513179151462888030058697119439809270243010623446461336238045762192000158568148643003498179528325286236028033748160237039898921166500405605412554601367211524314490012479085159740192378675268574692272946652113718854853971273936795908183418757766054344262259197199087347357146636455066161424822019114696040567021784065825450809542048737552360668353434987199079628106350782550624150980654440337949929070913021184268981180784048704791299659702596445356669838415283925395739062230797682607243933198820516205650860280217198584442399485037675634673238063019717149976693053328083155484500145775828121436593053615812719379022392614075811709099319757672987422522009520265037671696286894692404227802538469442075172263958162243382973790578472965471550916014633127541095461595854693818257618060405849583318181650352712212559793508826284891389764004597614837263706554546800274876820029911005436957706056130499947338120641315082489232229325230396151179708456509383970770507255712299903994576775606803288723455134201528092610545479499358776355399554613332721256015782608657289639691402611731447642969092027548449809840431482801837051076574119520797700149377603908724421103449283350336972677416820045758487796589389812321468081732778080893097857767354709385223565747221071636789277629492704936955379908960107478305426281921246702306264762171316644938289376205490913557200559796379361574248012545162358986452779416689556288384912044631121938114395939960212435316376634838895167319693360987446392288998304464003992270395600825527718360447592292958888083485386370525227527874416899933292037889586028681284049991322012319118796752427217592483679543850469920452806321003718719408567741723094963325851121004992145227955341715532569954084303708657303071007151519271512100533467493184119218446760742381680559661811973931300685333165598207141442728405242653242579043374938422387966047472305178657011771411468853024689782634334369209296185272224949370680398724043806188177778938933655682358469782190412713263019269578063560675157176541100487048217844400030769103374257628625947571357627119237785979660673857996869950952235071724835552566524907666476034920286999591020833226765988937228459807563283799316931169475142922611051958690923458140614535566084419850874946604206812114481573486286152882847023724004 19726471562947171979651967446755467115604809426412750196504684237662983294071795387213886140834346226951264036147790232810836349551287398660146846838961304906709266582548496754661400200315769841999374206177436346900795180518297119300449202079849573205896336863267454985782232283523841066857300840930476184863057057361123292104277136201267572035051990177193302306696217404996443979485563854161278251131241624154916264095099488115658353916021753675370198708666582118347658443927935516601403836409555306109030015770117669280554227363379664280698856459025899195727294837473094622968151056875629530802355246217392534489422417701218138157239531939660724621609823470253211636660495027704326771395945444562718002274980564674692647401762164418517035567313985232160715685778643537401583557893525338025130463253011255153538916029364259447312265102216759460730227629209116850758679741376756117861579656769414765947603790249896483931006166655152771027838868579609883985819932940081162093363321896175379392586563177719347185171304829130998285721404381539092567475472309856054501700567747908688173055236921835841422224156776675555858205473784755186839523072682251678008455532701702785670291628469453577620353202297674918926720560866359899357932284050968948323409591741580357407786818945228761704053365159072594363175898232277926372950448495780304876772591980079436419939808315933759815473022894024577123998036127033347572158358577906055943868843141837023703304200521670608303726548775821989040213260595658537923745298338426483177504612081052916617099281697257431146280562934681578458553081629471542922624727024853893503732329786116646053509655548300150398337740725848655683047698398596450087925642469003746650950698728425859273612503162606186834259788280022229757258250735486925390372602821929486133701501420649199744340765494589280199318159378093699728124278438861112610196774846492191650565654163050370348080997239861579571429735375934019085323771065701069745381378604847229962663798469218427201677678842329545095168479798653999139600504462915430206552648950166707571442311113428146493513911770736330657358334003494309156880610532200257439273243725295593824599207279100935649083823885238954686152193027799825228796198498479156003571799169474042820520161310915338036620908032736785553778730640104613889870286306693322601084172728218511490055651803603250990330017061278253249171004127514144119986007 31918101466956785109866496073898040895360263860910136464765444333418144305068049515021855002246272173239522549326941695698866408248406838469417089849584751368045504628310688754819968348958773340178902531463672374934543340755337018221615702485454985760497704074791769475794711368683581259235976109505168457809709171079978146075551072997175755453809756231537564565893416492343801126122018920322703073150356320195483285879165313566467895964759306036038552143653781197975764794710486140752384490849893256038100928791301938261735011412084455580358559055471255865565710121398490362030381854558236774735554066733598185349702634899802580556724569615295397859672843187403188329713823110859811271541721272684154595328596377394071669794376240230226134887071658219583237695298908575073279844788217742252933001722453330325802874191607642421102843575182231011646242262336657946220275596070574375479640062618998084129254142962109043724514992940044160791843466194447147692374479740356038913393232901612337098642693677666685305812619911620230515046634777690272275931981693826825008956280047812682749830843725124564877358358304768166403684973143531542239077686014972934024238141358992425361694240200901220589445229846124728767152043668196950434506403571766648472787195650304778511236102295565734381470185204831082159765288044599394454683226576673402734539946689464659985687029387570549093102515598961532503906996234511652998440279824608362208631014458481961992680406012584165504286345155183563288225805758017524376524715027982771562416656712174854731495221657469866462657197773576745778246442616917935211623031488857885774127930611644364413957247841259038481823127096373883210922115298529742125815228497685030700942020740744978070364930380198670513803638749942682563579254454206333958114325916892811984822506412794427699682481027159234283621868035396770735275797710373213143664268030611410097326396544730930009892971171162264904595333583075461813729013718943648788756317027235196010136103647875438973089147695354234877802814167863295324872729412286110605276692756354885350381244769110504963296102183449593676627912067054984314057151632687305657117643756064697198856835905048507006710943123024934346826051024669776181031270223314708570096706835950077740807160901936171263386896969965245361342014439421545059345429229304374559775096186359126025621736223454125936934223873392734822657290280396991143710011 51644573029903957089518463520653508010965073287322886661270128571081127599139844902235741143080618400190786585474731928509702757799694237129563936688546056274754771210859185509481368549274543182178276737641108721835338521273634137522064904565304558966394040938059224461576943652207422326093276950435644642672766228441101438179828209198443327488861746408730866872589633897340245105607582774483981324281597944350399549974264801682126249880781059711408750852320363316323423238638421657353788327259448562147130944561419607542289238775464119861057415514497155061293004958871584984998532911433866305537909312950990719839125052601020718713964101554956122481282666657656399966374318138564138042937666717246872597603576942068764317196138404648743170454385643451743953381077552112474863402681743080278063464975464585479341790220971901868415108677398990472376469891545774796978955337447330493341219719388412850076857933212005527655521159595196931819682334774057031678194412680437201006756554797787716491229256855386032490983924740751228800768039159229364843407454003682879510656847795721370922886080646960406299582515081443722261890446928286729078600758697224612032693674060695211031985868670354798209798432143799647693872604534556849792438687622735596796196787391885135919022921240794496085523550363903676522941186276877320827633675072453707611312538669544096405626837703504308908575538492986109627905032361545000570598638402514418152499857600318985695984606534254773808012893931005552328439066353676062300270013366409254739921268793227771348594503354727297608937760708258324236799524246389478134247758513711779277860260397761010467466903389559188880160867822222538893969813697126192213740870966688777351892719469170837343977433542804857348063427029964912320837505189693259348486928738822298118524007833443627444023246521748514482940027413490470463400076149234325753861042877103601747892050707781300357973968411023844476025068959009480899052784784644718534137695632082425972799902117093866174766826537683779972971293966517294464473233875201540811829341706521592921823555882538651456810013954185924333986246070549293470937762164887563096390887481360291023456043184149442655794767008263889032978244052469601409827468721793864573668506005424120561327322212851509300007805002702030915120745079526158949215715535997697160859268914577637515677388027057376927264240934670988071828294407911135263696018 83562674496860742199384959594551548906325337148233023126035572904499271904207894417257596145326890573430309134801673624208569166048101075598981026538130807642800275839169874264301336898233316522357179269104781096769881862028971155743680607050759544726891745012850993937371655020891003585329253059940813100482475399521079584255379282195619082942671502640268431438483050389684046231729601694806684397431954264545882835853430115248594145845540365747447302995974144514299188033348907798106172818109341818185231873352721545804024250187548575441415974569968410926858715080270075347028914765992103080273463379684588905188827687500823299270688671170251520340955509845059588296088141249423949314479387989931027192932173319462835986990514644878969305341457301671327191076376460687548143247469960822530996466697917915805144664412579544289517952252581221484022712153882432743199230933517904868820859782007410934206112076174114571380036152535241092611525800968504179370568892420793239920149787699400053589871950533052717796796544652371459315814673936919637119339435697509704519613127843534053672716924372084971176940873386211888665575420071818271317678444712197546056931815419687636393680108871256018799243661989924376461024648202753800226945091194502245268983983042189914430259023536360230466993735568734758682706474321476715282316901649127110345852485359008756391313867091074858001678054091947642131812028596056653569038918227122780361130872058800947688665012546838939312299239086189115616664872111693586676794728394392026302337925505402626080089725012197164071594958481835070015045966863307413345870790002569665051988191009405374881424151230818227361983994918596422104891928995655934339556099464373808052834740209915815414342363923003527861867065779907594884416759643899593306601254655715110103346514246238055143705727548907748766561895448887241198675873859607538897525310907715011845218447252512230367866939582186109380620402542084942712781798503588367322894012659317621982936005764969305147855974233038014850774108134380589789345963287487651417106034462876478272204800651649156420106116137635518010614158137604277784994913797574868753508531237424988222312879089197949662505710131288823379804295077139377590858738945108573143765212841374198302134483114787680563394701972667276276462759518947704008561144765302071720634365100936763541299124250511502864198464808063722894485584688308126407406029 135207247526764699288903423115205056917290410435555909787305701475580399503347739319493337288407508973621095720276405552718271923847795312728544963226676863917555047050029059773782705447507859704535456006745889818605220383302605293265745511616064103693285785950910218398948598673098425911422530010376457743155241627962181022435207491394062410431533249048999298311072684287024291337337184469290665721713552208896282385827694916930720395726321425458856053848294507830622611271987329455459961145368790380332362817914141153346313488963012695302473390084465565988151720039141660332027447677425969385811372692635579625027952740101844017984652772725207642822238176502715988262462459387988087357417054707177899790535750261531600304186653049527712475795842945123071144457454012800023006650151703902809059931673382501284486454633551446157933060929980211956399182045428207540178186270965235362162079501395823784282970009386120099035557312130438024431208135742561211048763305101230440926906342497187770081101207388438750287780469393122688116582713096149001962746889701192584030269975639255424595603005019045377476523388467655610927465867000105000396279203409422158089625489480382847425665977541610817009042094133724024154897252737310650019383778817237842065180770434075050349281944777154726552517285932638435205647660598354036109950576721580817957165024028552852796940704794579166910253592584933751759717060957601654139637556629637198513630729659119933384649619081093713120312133017194667945103938465369648977064741760801281042259194298630397428684228366924461680532719190093394251845491109696891480118548516281444329848451407166385348891054620377416242144862740818960998861742692782126553296970431062585404727459679086652758319797465808385209930492809872507205254264833592852655088183394537408221870522079681682587728974070656263249501922862377711662075950008841864651386353784818613593110497960293530725840907993209953856645471501094423611834583288233085857031708291400047955735907882063171322622800770721794823745402100897884253819197162689192228935376169398071194028356534187807876916130091821442344600404208153571255932675962462431849899418718785279245768922273347392318300477139552712412782539129608979000686207666902437717433718846798318863461805327639189863402506975369307191583504598473862957776860301299768881493634015514401056976512277568879791462705742734710966313879096219261671102047 218769922023625441488288382709756605823615747583788932913341274380079671407555633736750933433734399547051404855078079176926841089895896388327525989764807671560355322889198934038084042345741176226892635275850670915375102245331576449009426118666823648420177530963761212336320253693989429496751783070317270843637717027483260606690586773589681493374204751689267729749555734676708337569066786164097350119145506473442165221681125032179314541571861791206303356844268652344921799305336237253566133963478132198517594691266862699150337739150561270743889364654433976915010435119411735679056362443418072466084836072320168530216780427602667317255341443895459163163193686347775576558550600637412036671896442697108926983467923580994436291177167694406681781137300246794398335533830473487571149897621664725340056398371300417089631119046130990447451013182561433440421894199310640283377417204483140230982939283403234718489082085560234670415593464665679117042733936711065390419332197522023680847056130196587823670973157921491468084577014045494147432397387033068639082086325398702288549883103482789478268319929391130348653464261853867499593041287071923271713957648121619704146557304900070483819346086412866835808285756123648400615921900940064450246328870011740087334164753476264964779540968313514957019511021501373193888354134919830751392267478370707928303017509387561609188254571885654024911931646676881393891529089553658307708676474856759978874761601717920881073314631627932652432611372103383783561768810577063235653859470155193307344597119804033023508773953379121625752127677671928464266891457973004304825989338518851109381836642416571760230315205851195643604128857659415383103753671688438060892853069895436393457562199889002468172662161388811913071797558589780102089671024477492445961689438050252518325217036325919737731434701619564012016063818311264952860751823868449403548911664692533625438328945212805761093707847575396063237265874043179366324616381791821453179925720950717669938671913647032476470478775003759809674519510235278474043165160450176843646041410632274549466233157185836964297022246229456960355214562345757849040927589760037300603407949956210267468081801362545341980806187270841535792586834206748356591544946612011010861198931688172517165596288442426870426797208948036583468046264117421566966338005066601840602127999116451164598275636528080382655661170550798433860799463784527388078508076 353977169550390140777191805824961662740906158019344842700646975855660070910903373056244270722141908520672500575354484729645113013743691701056070952991484535477910369939227993811866747793249035931428091282596560733980322628634181742275171630282887752113463316914671430735268852367087855408174313080693728586792958655445441629125794264983743903805738000738267028060628418963732628906403970633388015840859058682338447607508819949110034937298183216665159410692563160175544410577323566709026095108846922578849957509181003852496651228113573966046362754738899542903162155158553396011083810120844041851896208764955748155244733167704511335239994216620666805985431862850491564821013060025400124029313497404286826774003673842526036595363820743934394256933143191917469479991284486287594156547773368628149116330044682918374117573679682436605384074112541645396821076244738847823555603475448375593145018784799058502772052094946354769451150776796117141473942072453626601468095502623254121773962472693775593752074365309930218372357483438616835548980100129217641044833215099894872580153079122044902863922934410175726129987650321523110520507154072028272110236851531041862236182794380453331245012063954477652817327850257372424770819153677375100265712648828977929399345523910340015128822913090669683572028307434011629094001795518184787502218055092288746260182533416114461985195276680233191822185239261815145651246150511259961848314031486397177388392331377040814457964250709026365552923505120578451506872749042432884630924211915994588386856314102663420937458181746046087432660396862021858518736949082701196306107887035132553711685093823738145579206260471573059846273720400234344102615414381220187446150040326498978862289659568089120930981958854620298281728051399652609294925289311085298616777621444789926547087558405601420319163675690220275265565741173642664522827773877291268200298018477352239031439443173099291819548755568606017093911345544273789936450965080054539036957429242117717894407821529095647793101575774481604498264912336176358296984357612866035874976786801672620660261513720024772173938376321278402699814966553911420296860265722499732453307368674995546713850723635892734299106664410394248205369373336357335592231154278913448578632650534970836029058093770066060290199715923405890659629768715895429924114865367901609483621633131965565655252148805649262447123876293533144827113342880746649749610123 572747091574015582265480188534718268564521905603133775613988250235739742318459006792995204155876308067723905430432563906571954103639588089383596942756292207038265692828426927849950790138990212158320726558447231649355424873965758191284597748949711400533640847878432643071589106061077284904926096151010999430430675682928702235816381038573425397179942752427534757810184153640440966475470756797485365960004565155780612829189944981289349478870045007871462767536831812520466209882659803962592229072325054777367552200447866551646988967264135236790252119393333519818172590277965131690140172564262114317981044837275916685461513595307178652495335660516125969148625549198267141379563660662812160701209940101395753757471597423520472886540988438341076038070443438711867815525114959775165306445395033353489172728415983335463748692725813427052835087295103078837242970444049488106933020679931515824127958068202293221261134180506589439866744241461796258516676009164691991887427700145277802621018602890363417423047523231421686456934497484110982981377487162286280126919540498597161130036182604834381132242863801306074783451912175390610113548441143951543824194499652661566382740099280523815064358150367344488625613606381020825386741054617439550512041518840718016733510277386604979908363881404184640591539328935384822982355930438015538894485533462996674563200042803676071173449848565887216734116885938696539542775240064918269556990506343157156263153933094961695531278882336959017985534877223962235068641559619496120284783682071187895731453433906696444446232135125167713184788074533950322785628407055705501132097225553983663093521736240309905809521466322768703450402578059649727206369086069658248339003110221935372319851859457091589103644120243432211353525609989432711384596313788577744578467059495042444872304594731521158050598377309784287281629559484907617383579597745740671749209683169885864469768388385905052913256603144002080331177219587453156261067346871875992216883150192835387833079735176128124263580350778241414172784422571454832340149518063042879521018197433947170126494670905861736470960622550735363055029528899669269337787855482537033056715318631205814181932524998438076279912851681235783997956207543105692183776100890924459439831582223143353194654382212492930716996924871442474127676032833316996890452870434503450085749632248416730253527785333729645102785046844331578687912806665274037828118199 926724261124405723042671994359679931305428063622478618314635226091399813229362379849239474878018216588396406005787048636217067117383279790439667895747776742516176062767654921661817537932239248089748817841043792383335747502599939933559769379232599152647104164793104073806857958428165140313100409231704728017223634338374143864942175303557169300985680753165801785870812572604173595381874727430873381800863623838119060436698764930399384416168228224536622178229394972696010620459983370671618324181171977356217509709628870404143640195377709202836614874132233062721334745436518527701223982685106156169877253602231664840706246763011689987735329877136792775134057412048758706200576720688212284730523437505682580531475271266046509481904809182275470295003586630629337295516399446062759462993168401981638289058460666253837866266405495863658219161407644724234064046688788335930488624155379891417272976853001351724033186275452944209317895018257913399990618081618318593355523202768531924394981075584139011175121888541351904829291980922727818530357587291503921171752755598492033710189261726879283996165798211481800913439562496913720634055595215979815934431351183703428618922893660977146309370214321822141442941456638393250157560208294814650777754167669695946132855801296944995037186794494854324163567636369396452076357725956200326396703588555285420823382576219790533158645125246120408556302125200511685194021390576178231405304537829554333651546264472002509989243133045985383538458382344540686575514308661929004915707893987182484118309748009359865383690316871213800617448471395972181304365356138406697438205112589116216805206830064048051388727726794341763296676298459884071308984500450878435785153150548434351182141519025180710034626079098052509635253661389085320679521603099663043195244680939832371419392153137122578369762053000004562547195300658550281906407371623031939949507701647238103501207831559004344732805358712608097425088565131726946197518311951930531253840579434953105727487556705223772056681926552723018671049334907631190637133875675908915395994984235619790786756184625886508644898998872013765754844495453580689634648121205036765510022687306201360895783248634330810579019516091630032203325580879463027776007255169837908018464232758114189223712475982558991007196640794848364787305801549212426814567735802405059569371265380382295908779934139378907549908923137864723515026149546020687577728322 1499471352698421305308152182894398199869949969225612393928623476327139555547821386642234679033894524656120311436219612542789021221022867879823264838504068949554441755596081849511768328071229460248069544399491024032691172376565698124844367128182310553180745012671536716878447064489242425218026505382715727447654310021302846100758556342130594698165623505593336543680996726244614561857345484228358747760868188993899673265888709911688733895038273232408084945766226785216476830342643174634210553253497032133585061910076736955790629162641844439626866993525566582539507335714483659391364155249368270487858298439507581526167760358318868640230665537652918744282682961247025847580140381351024445431733377607078334288946868689566982368445797620616546333074030069341205111041514405837924769438563435335127461786876649589301614959131309290711054248702747803071307017132837824037421644835311407241400934921203644945294320455959533649184639259719709658507294090783010585242950902913809727015999678474502428598169411772773591286226478406838801511735074453790201298672296097089194840225444331713665128408662012787875696891474672304330747604036359931359758625850836364995001662992941500961373728364689166630068555063019414075544301262912254201289795686510413962866366078683549974945550675899038964755106965304781275058713656394215865291189122018282095386582619023466604332094973812007625290419011139208224736796630641096500962295044172711489914700197566964205520522015382944401523993259568502921644155868281425125200491576058370379849763181916056309829922451996381513802236545929922504089993763194112198570302338143099879898728566304357957198249193117110466747078876519533798515353586520536684124156260770369723501993378482272299138270199341484720988779271378518032064117916888240787773711740434874816291696747868643736420360430309788849828824860143457899289986969368772611698717384817123967970976219944909397646061961856610177756265784719180102458585658823806523470723729627788493560567291881351896320262277330964432843833757479086022977283393738951794917013181669566960913250855531748245115859621422749128809874024353249958972435976687573798566738005937407175077715773632768886858932367772865816201281788422568719959783356060762367458295814981257542418366858195051921724193565666290838914981834382529423705020606236908509655120897628799026162307719473108552652693969982196302202938956211294725405846521 2426195613822827028350824177254078131175378032848091012243258702418539368777183766491474153911912741244516717442006661179006088338406147670262932734251845692070617818363736771173585866003468708337818362240534816416026919879165638058404136507414909705827849177464640790685305022917407565531126914614420455464877944359676989965700731645687763999151304258759138329551809298848788157239220211659232129561731812832018733702587474842088118311206501456944707123995621757912487450802626545305828877434669009489802571619705607359934269358019553642463481867657799645260842081151002187092588137934474426657735552041739246366874007121330558627965995414789711519416740373295784553780717102039236730162256815112760914820422139955613491850350606802892016628077616699970542406557913851900684232431731837316765750845337315843139481225536805154369273410110392527305371063821626159967910268990691298658673911774204996669327506731412477858502534277977623058497912172401329178598474105682341651410980754058641439773291300314125496115518459329566620042092661745294122470425051695581228550414706058592949124574460224269676610331037169218051381659631575911175693057202020068423620585886602478107683098579010988771511496519657807325701861471207068852067549854180109908999221879980494969982737470393893288918674601674177727135071382350416191687892710573567516209965195243257137490740099058128033846721136339719909930818021217274732367599582002265823566246462038966715509765148428929785062451641913043608219670176943354130116199470045552863968072929925416175213612768867595314419685017325894685394359119332518896008507450732216096703935396368406008586976919911452230043755174979417869824338086971415119909309411318804074684134897507453009172896278439537230624032932767603352743639519987903830968956421374707187711088901005766314790122483309793412376020160802008181196394340991804551648225086464362071472184051503913742378867320569218275181354349850907048656103970775737054724564309062741599288054848586575668376944203883687451514883092386717213614417269414860710313008165905186751700007040157634753760758620294762894564718519806830648607084097892610564076760693243608535973499022267099697437951883864495848404607369302031747735790611230600275476760047739371731642079334177610912731390206461139203702287635931741850519588342039313569224492163009181322071087653612487460202602893120061025717965105757315412983574843 3925666966521248333658976360148476331045328002073703406171882178745678924325005153133708832945807265900637028878226273721795109559429015550086197572755914641625059573959818620685354194074698168585887906640025840448718092255731336183248503635597220259008594190136177507563752087406649990749153419997136182912532254380979836066459287987818358697316927764352474873232806025093402719096565695887590877322600001825918406968476184753776852206244774689352792069761848543128964281145269719940039430688166041623387633529782344315724898520661398082090348861183366227800349416865485846483952293183842697145593850481246827893041767479649427268196660952442630263699423334542810401360857483390261175593990192719839249109369008645180474218796404423508562961151646769311747517599428257738609001870295272651893212632213965432441096184668114445080327658813140330376678080954463984005331913826002705900074846695408641614621827187372011507687173537697332717005206263184339763841425008596151378426980432533143868371460712086899087401744937736405421553827736199084323769097347792670423390640150390306614252983122237057552307222511841522382129263667935842535451683052856433418622248879543979069056826943700155401580051582677221401246162734119323053357345540690523871865587958664044944928288146292932253673781566978959002193785038744632056979081832591849611596547814266723741822835072870135659137140147478928134667614651858371233329894626174977313480946659605930921030287163811874186586444901481546529863826045224779255316691046103923243817836111841472485043535220863976828221921563255817189484352882526631094578809788875315976602663962672763965785226113028562696790834051498951668339691673491951804033465672089173798186128275989725308311166477781021951612812204146121384807757436876144618742668161809582004002785648874410051210482913619582262204845020945466080486381310360577163346942471281486039443160271448823140024929282425828452937620134570087151114689629599543578195288038690530092848622140467927564697206481214651884358716849865803236591700663153812505230021347574753712613257895689382998876618241717512023374592544160080607579520074580184362643498699181015711051214795899868584296884251637361664605889157724600467695573967291362642935055862720629274060446192372662834455583772127430042617269470314271274224608948276222078879613060637980348233395373085596012855296863102257327920904061968610138389421364 6351862580344075362009800537402554462220706034921794418415140881164218293102188919625182986857720007145153746320232934900801197897835163220349130307007760333695677392323555391858940060078166876923706268880560656864745012134896974241652640143012129964836443367600818298249057110324057556280280334611556638377410198740656826032160019633506122696468232023111613202784615323942190876335785907546823006884331814657937140671063659595864970517451276146297499193757470301041451731947896265245868308122835051113190205149487951675659167878680951724553830728841165873061191498016488033576540431118317123803329402522986074259915774600979985896162656367232341783116163707838594955141574585429497905756247007832600163929791148600793966069147011226400579589229263469282289924157342109639293234302027109968658963477551281275580577410204919599449601068923532857682049144776090143973242182816694004558748758469613638283949333918784489366189707815674955775503118435585668942439899114278493029837961186591785308144752012401024583517263397065972041595920397944378446239522399488251651941054856448899563377557582461327228917553549010740433510923299511753711144740254876501842242834766146457176739925522711144173091548102335028726948024205326391905424895394870633780864809838644539914911025616686825542592456168653136729328856421095048248666974543165417127806513009509980879313575171928263692983861283818648044598432673075645965697494208177243137047193121644897636540052312240803971648896543394590138083496222168133385432890516149476107785909041766888660257147989731572142641606580581711874878712001859149990587317239607532073306599359041169974372203032940014926834589226478369538164029760463366923942775083407977872870263173497178317484062756220559182236845136913724737551396956864048449711624583184289191713874549880176366000605396929375674580865181747474261682775651352381714995167557745848110915344322952736882403796602995046728118974484420994199770793600375280632919852347753271692136676989054503233074150685098339335873599942252520450206117932568673215543029513479940464313264935847017752637376862012274917939311063966911256186604172472794926720259392424624247024713818166968281734836135501857513010496527026632215431364578521962918411815910460001005702525526550273747186973978588569246319557106246013124744197290315535648104105223647161670304483026698083473057899756222318353638869167725925551372996207 10277529546865323695668776897551030793266034036995497824587023059909897217427194072758891819803527273045790775198459208622596307457264178770435327879763674975320736966283374012544294254152865045509594175520586497313463104390628310424901143778609350223845037557736995805812809197730707547029433754608692821289942453121636662098619307621324481393785159787464088076017421349035593595432351603434413884206931816483855547639539844349641822723696050835650291263519318844170416013093165985185907738811001092736577838679270295991384066399342349806644179590024532100861540914881973880060492724302159820948923253004232902152957542080629413164359317319674972046815587042381405356502432068819759081350237200552439413039160157245974440287943415649909142550380910238594037441756770367377902236172322382620552176109765246708021673594873034044529928727736673188058727225730554127978574096642696710458823605165022279898571161106156500873876881353372288492508324698770008706281324122874644408264941619124929176516212724487923670919008334802377463149748134143462770008619747280922075331695006839206177630540704698384781224776060852262815640186967447596246596423307732935260865083645690436245796752466411299574671599685012250128194186939445714958782240935561157652730397797308584859839313762979757796266237735632095731522641459839680305646056375757266739403060823776704621136410244798399352121001431297576179266047324934017199027388834352220450528139781250828557570339476052678158235341444876136667947322267392912640749581562253399351603745153608361145300683210595548970863528143837529064363064884385781085166127028482848049909263321713933940157429145968577623625423277977321206503721433955318727976240755497151671056391449486903625795229234001581133849657341059846122359154393740193068454292744993871195716660198754586417211088310548957936785710202692940342169156961712958878342110029027334150358504594401560022428725885420875181056594618991081350885483229974824211115140386443801784985299129522430797771357166312991220232316792118323686797818595722485720773050861054694176926522831536400751513995103729786941313903608126991863766124247052979289363758091605639958075928614066836866031720387139219177616385684751232683126938545813325561346871773180630279762971718922936581642557750715999288936826576560284398968806238591757726983718284285142018537878399783679485913196619324575681559773229694535689762417571 16629392127209399057678577434953585255486740071917292243002163941074115510529382992384074806661247280190944521518692143523397505355099341990784458186771435309016414358606929404403234314231031922433300444401147154178208116525525284666553783921621480188681480925337814104061866308054765103309714089220249459667352651862293488130779327254830604090253391810575701278802036672977784471768137510981236891091263631141792688310603503945506793241147326981947790457276789145211867745041062250431776046933836143849768043828758247667043234278023301531198010318865697973922732412898461913637033155420476944752252655527218976412873316681609399060521973686907313829931750750220000311644006654249256987106484208385039576968951305846768406357090426876309722139610173707876327365914112477017195470474349492589211139587316527983602251005077953643979529796660206045740776370506644271951816279459390715017572363634635918182520495024940990240066589169047244268011443134355677648721223237153137438102902805716714484660964736888948254436271731868349504745668532087841216248142146769173727272749863288105741008098287159712010142329609863003249151110266959349957741163562609437103107918411836893422536677989122443747763147787347278855142211144772106864207136330431791433595207635953124774750339379666583338858693904285232460851497880934728554313030918922683867209573833286685500449985416726663045104862715116224223864479998009663164724883042529463587575332902895726194110391788293482129884237988270726806030818489561046026182472078402875459389654195375249805557831200327121113505134724419240939241776886244931075753444268090380123215862680755103914529632178908592550460012504455690744667751194418685651919015838905129543926654622984081943279291990222140316086502477973570859910551350604241518165917328178160387430534748634762783211693707478333611366575384440414603851932613065340593337277586773182261273848917354296904832522488415921909175569103412075550656276830350104844034992734197073477121976118576934030845507851411330556105916734370844137003936528291158936316080374534634641239787767383418504151371965742061859253214672093903119952728419525774216084017484030264205100642432233805147766556522641076690626882211777864898558303124335288479758687683640631285465497245473210328829531729304568535256383682806297523713003528907293375087823507932303688842361426481762958971096375546894035198642397420461241135413778 26906921674074722753347354332504616048752774108912790067589187000984012727956577065142966626464774553236735296717151352145993812812363520761219786066535110284337151324890303416947528568383896967942894619921733651491671220916153595091454927700230830412526518483074809909874675505785472650339147843828942280957295104983930150229398634876155085484038551598039789354819458022013378067200489114415650775298195447625648235950143348295148615964843377817598081720796107989382283758134228235617683785744837236586345882508028543658427300677365651337842189908890230074784273327780435793697525879722636765701175908531451878565830858762238812224881291006582285876747337792601405668146438723069016068456721408937478990008111463092742846645033842526218864689991083946470364807670882844395097706646671875209763315697081774691623924599950987688509458524396879233799503596237198399930390376102087425476395968799658198081091656131097491113943470522419532760519767833125686355002547360027781846367844424841643661177177461376871925355280066670726967895416666231303986256761894050095802604444870127311918638638991858096791367105670715266064791297234406946204337586870342372363973002057527329668333430455533743322434747472359528983336398084217821822989377265992949086325605433261709634589653142646341135124931639917328192374139340774408859959087294679950606612634657063390121586395661525062397225864146413800403130527322943680363752271876881684038103472684146554751680731264346160288119579433146863473978140756953958666932053640656274810993399348983610950858514410922670084368662868256770003604841770630712160919571296573228173125126002469037854687061324877170174085435782433011951171472628374004379895256594402281214983046072470985569074521224223721449936159819033416982269705744344434586620210073172031583147194947389349200422782018027291548152285587133354946021089574778299471679387615800516411632353511755856927261248373836797090232163722403156901541760060324929055150133120640875262107275248099364828616865017724321776338233526489167823801755124013644657089131235589328818166310598919819255665367069471848800567118280220894983718852666578753505447775575635904163176571046300642013798276909780295868243267896529097581685241670148614041105559456821261565228468964396146910472089480020567824193210259366581922681809767499051102071541792217445707380239826265442444884292994871469716758415627114996930897831349 43536313801284121811025931767458201304239514180830082310591350942058128238485960057527041433126021833427679818235843495669391318167462862752004244253306545593353565683497232821350762882614928890376195064322880805669879337441678879758008711621852310601207999408412624013936541813840237753648861933049191740624647756846223638360177962130985689574291943408615490633621494694991162538968626625396887666389459078767440924260746852240655409205990704799545872178072897134594151503175290486049459832678673380436113926336786791325470534955388952869040200227755928048707005740678897707334559035143113710453428564058670854978704175443848211285403264693489599706679088542821405979790445377318273055563205617322518566977062768939511253002124269402528586829601257654346692173584995321412293177121021367798974455284398302675226175605028941332488988321057085279540279966743842671882206655561478140493968332434294116263612151156038481354010059691466777028531210967481364003723770597180919284470747230558358145838142198265820179791551798539076472641085198319145202504904040819269529877194733415417659646737279017808801509435280578269313942407501366296162078750432951809467080920469364223090870108444656187070197895259706807838478609228989928687196513596424740519920813069214834409339992522312924473983625544202560653225637221709137414272118213602634473822208490350075622036381078251725442330726861530024626995007320953343528477154919411147625678805587042280945791123052639642418003817421417590280008959246515004693114525719059150270383053544358860756416345611249791197873797592676010942846618656875643236673015564663608296340988683224141769216693503785762724545448286888702695839223822792690031814272433307410758909700695455067512353813214445861766022662297006987842180257094948676104786127401350191970577729696024111983634475725505625159518860971573769549873022187843640065016665202573698672906202429110153832093770862252718999407732825815232452198036890675033899185125854837948739229251366676298859462372869135652332444150260860011960805691652304803593405211610123963459406098366303237759816739035213910659820332952314798103671581086104527721531793059666168368277213478534447161564833432421372558870150108306962480243544794483902520864247140461892850693966209869357239301621209325136359449593942172879446394813296406344477159365300149749396222601252747205403855389370418363751957058024535458172033245127 70443235475358844564373286099962817352992288289742872378180537943042140966442537122670008059590796386664415114952994847815385130979826383513224030319841655877690717008387536238298291450998825858319089684244614457161550558357832474849463639322083141013734517891487433923811217319625710403988009776878134021581942861830153788589576597007140775058330495006655279988440952717004540606169115739812538441687654526393089160210890200535804025170834082617143953898869005123976435261309518721667143618423510617022459808844815334983897835632754604206882390136646158123491279068459333501032084914865750476154604472590122733544535034206087023510284555700071885583426426335422811647936884100387289124019927026259997556985174232032254099647158111928747451519592341600817056981255878165807390883767693243008737770981480077366850100204979929020998446845453964513339783562981041071812597031663565565970364301233952314344703807287135972467953530213886309789050978800607050358726317957208701130838591655400001807015319659642692105146831865209803440536501864550449188761665934869365332481639603542729578285376270875905592876540951293535378733704735773242366416337303294181831053922526891552759203538900189930392632642732066336821815007313207750510185890862417689606246418502476544043929645664959265609108557184119888845599776562483546274231205508282585080434843147413465743622776739776787839556591007943825030125534643897023892229426796292831663782278271188835697471854316985802706123396854564453753987100003468963360046579359715425081376452893342471707274860022172461282242460460932780946451460427506355397592586861236836469466114685693179623903754828662932898630884069321714647010696451166694411709529027709691973892746767926053081428334438669583215958822116040404824449962839293110691406337474522223553724924643413461184057257743532916707671146558707124495894111762621939536696052818374215084538555940866010759355019236089516089639896548218389353739796950999962954335258975478824001336526614775663688079237886859974108782383787349179784607446776318448250494342845713292277572408965223057015482106104685759460387451232535693087390433752683281226979568635302072531453784524835089175363110342201668427113418004836060061928786464632516561969806597283154415922435174265504149773710689345704183642804201539461369076623063905395579230907092367195103602841079012647848739682365289833468715473651650455102931076476 113979549276642966375399217867421018657231802470572954688771888885100269204928497180197049492716818220092094933188838343484776449147289246265228274573148201471044282691884769059649054333613754748695284748567495262831429895799511354607472350943935451614942517299900057937747759133465948157636871709927325762206590618676377426949754559138126464632622438415270770622062447411995703145137742365209426108077113605160530084471637052776459434376824787416689826076941902258570586764484809207716603451102183997458573735181602126309368370588143557075922590364402086172198284809138231208366643950008864186608033036648793588523239209649935234795687820393561485290105514878244217627727329477705562179583132643582516123962237000971765352649282381331276038349193599255163749154840873487219684060888714610807712226265878380042076275810008870353487435166511049792880063529724883743694803687225043706464332633668246430608315958443174453821963589905353086817582189768088414362450088554389620415309338885958359952853461857908512284938383663748879913177587062869594391266569975688634862358834336958147237932113549893714394385976231871804692676112237139538528495087736245991298134842996255775850073647344846117462830537991773144660293616542197679197382404458842430126167231571691378453269638187272190083092182728322449498825413784192683688503323721885219554257051637763541365659157818028513281887317869473849657120541964850367420706581715703979289461083858231116643262977369625445124127214275982044033996059249983968053161105078774575351759506437701332463691205633422252480116258053608791889298079084381998634265602425900444765807103368917321393120448332448695623176332356210417342849920273959384443523801461017102732802447463381120593782147653115444981981484413047392666630219934241786796192464875872415524302654339437573167691733469038541867190007530280894045767133950465579601712718020947913757444758369976164591448790098342235089047629374033621805937833841674996853520384830316772740565777981451962547541610755995626441226534048209191745413138428623251843899554455837255736978507331526294775298845139899670120207784184850491191062014838787808948511361694968240899730998003369536336927943774623040985983568113143022542172331259116419082834053737745047266616401384134861389075331898670840543092398143712340815471436360311740056390272392516944499825442331759853252595071735708197220672531676185913274964321603 184422784752001810939772503967383836010224090760315827066952426828142410171371034302867057552307614606756510048141833191300161580127115629778452304892989857348734999700272305297947345784612580607014374432812109719992980454157343829456935990266018592628677035191387491861558976453091658561624881486805459783788533480506531215539331156145267239690952933421926050610503400129000243751306858105021964549764768131553619244682527253312263459547658870033833779975810907382547022025794327929383747069525694614481033544026417461293266206220898161282804980501048244295689563877597564709398728864874614662762637509238916322067774243856022258305972376093633370873531941213667029275664213578092851303603059669842513680947411233004019452296440493260023489868785940855980806136096751653027074944656407853816449997247358457408926376014988799374485882011965014306219847092705924815507400718888609272434696934902198744953019765730310426289917120119239396606633168568695464721176406511598321546147930541358361759868781517551204390085215528958683353714088927420043580028235910558000194840473940500876816217489820769619987262517183165340071409816972912780894911425039540173129188765523147328609277186245036047855463180723839481482108623855405429707568295321260119732413650074167922497199283852231455692200739912442338344425190346676229962734529230167804634691894785177007109281934557805301121443908877417674687246076608747391312936008511996810953243362129419952340734831686611247830250611130546497787983159253452931413207684438490000433135959331043804170966065655594713762358718514541572835749539511888354031858189287137281235273218054610501017024203161111628521807216425532131989860616725126078855233330488726794706695194231307173675210482091785028197940306529087797491080182773534897487598802350394639078027578982851034351748991212571458574861154088988018541661245713087519138408770839322128841983314310842175350803809334431751178687525922252011159677630792674959807855643805795596741902304596227626235620848642855600550008917835558371530020585204941700094393897301550548014550916296749351790780951244585429580595235417386184278452448591471090175490930330270313431184782528204625512291054116824709413096986117979082604101117723748935644803860335028201682538836558400365538849042588016544726735202345251802184548059424217135635621179484884139603428283410772501101334754100998030689388005327836368377895398079 298402334028644777315171721834804854667455893230888781755724315713242679376299531483064107045024432826848604981330671534784938029274404876043680579466138058819779282392157074357596400118226335355709659181379604982824410349956855184064408341209954044243619552491287549799306735586557606719261753196732785545995124099182908642489085715283393704323575371837196821232565847540995946896444600470231390657841881736714149329154164306088722893924483657450523606052752809641117608790279137137100350520627878611939607279208019587602634576809041718358727570865450330467887848686735795917765372814883478849370670545887709910591013453505957493101660196487194856163637456091911246903391543055798413483186192313425029804909648233975784804945722874591299528217979540111144555290937625140246759005545122464624162223513236837451002651824997669727973317178476064099099910622430808559202204406113652978899029568570445175561335724173484880111880710024592483424215358336783879083626495065987941961457269427316721712722243375459716675023599192707563266891675990289637971294805886246635057199308277459024054149603370663334381648493415037144764085929210052319423406512775786164427323608519403104459350833589882165318293718715612626142402240397603108904950699780102549858580881645859300950468922039503645775292922640764787843250604130868913651237852952053024188948946422940548474941092375833814403331226746891524344366618573597758733642590227700790242704445987651068983997809056236692954377825406528541821979218503436899466368789517264575784895465768745136634657271289016966242474976568150364725047618596270352666123791713037726001080321423527822410144651493560324144983548781742549332710536999085463298757131949743897439497641694688294268992629744900473179921790942135190157710402707776684283791267226267054602330233322288607519440724681610000442051161619268912587428379663553098740121488860270042599428072680818339942252599432773986267735155296285632965615464634349956661376028636112369482468082577679588783162459398851226991235451883767563275433723633564951938293451757387803751529423628275646566079796384485099700803019602236675469514463430258899124002292025238554330915780531574161849218997891447750399080554231122105146273448982865354727637914072773248949155237942535226927924374486687385269827600488964143000019495784528875692011451877401084103253725742532354353929825836706227910060537004022281652859719682 482825118780646588254944225802188690677679983991204608822676742541385089547670565785931164597332047433605115029472504726085099609401520505822132884359127916168514282092429379655543745902838915962724033614191714702817390804114199013521344331475972636872296587682675041660865712039649265280886634683538245329783657579689439858028416871428660944014528305259122871843069247669996190647751458575253355207606649868267768573836691559400986353472142527484357386028563717023664630816073465066484097590153573226420640823234437048895900783029939879641532551366498574763577412564333360627164101679758093512133308055126626232658787697361979751407632572580828227037169397305578276179055756633891264786789251983267543485857059466979804257242163367851323018086765480967125361427034376793273833950201530318440612220760595294859929027839986469102459199190441078405319757715136733374709605125002262251333726503472643920514355489903795306401797830143831880030848526905479343804802901577586263507605199968675083472591024893010921065108814721666246620605764917709681551323041796804635252039782217959900870367093191432954368911010598202484835495746182965100318317937815326337556512374042550433068628019834918213173756899439452107624510864253008538612518995101362669590994531720027223447668205891735101467493662553207126187675794477545143613972382182220828823640841208117555584223026933639115524775135624309199031612695182345150046578598739697601195947808117071021324732640742847940784628436537075039609962377756889830879576473955754576218031425099788940805623336944611680004833695082691937560797158108158706697981981000175007236353539478138323427168854654671952666790765207274681322571153724211542153990462438470692146192835925995467944203111836685501377862097471222987648790585481311581771390069576661693680357812305139641871189715894181459016912315708256931129089625376640617878530259699592171441411386991660515293056408767205737446422681218537644125293095427024916469231672441907966224370387173907215018783308041706827541244369719325934805454308838506652032687349058938351766080339925024998356860747629070529281398255019622859747966912021729989299493222355508867762100563059778787361510052008272459812177540349101187750374566706614290372441774407801450631694074500935592466773417074703929996562802834215945184567555208746011327632631362285223706682009153304855455264579937704258599448542331858650030755117761 781227452809291365570115947636993545345135877222093390578401058254627768923970097268995271642356480260453720010803176260870037638675925381865813463825265974988293564484586454013140146021065251318433692795571319685641801154071054197585752672685926681115916140173962591460172447626206872000148387880271030875778781678872348500517502586712054648338103677096319693075635095210992137544196059045484745865448531604981917902990855865489709247396626184934880992081316526664782239606352602203584448110781451838360248102442456636498535359838981598000260122231948905231465261251069156544929474494641572361503978601014336143249801150867937244509292769068023083200806853397489523082447299689689678269975444296692573290766707700955589062187886242442622546304745021078269916717972001933520592955746652783064774444273832132310931679664984138830432516368917142504419668337567541933911809531115915230232756072043089096075691214077280186513678540168424363455063885242263222888429396643574205469062469395991805185313268268470637740132413914373809887497440907999319522617847683051270309239090495418924924516696562096288750559504013239629599581675393017419741724450591112501983835982561953537527978853424800378492050618155064733766913104650611647517469694881465219449575413365886524398137127931238747242786585193971914030926398608414057265210235134273853012589787631058104059164119309472929928106362371200723375979313755942908780221188967398391438652254104722090308730449799084633739006261943603581431941596260326730345945263473019152002926890868534077440280608233628646247308671650842302285844776704429059364105772713212733237433860901666145837313506148232276811774313989017230655281690723297005452747594388214589585690477620683762213195741581585974557783888413358177806500988189088266055181336802928748282688045627428249390630440575791459458963477327525843716518005040193716618651748559862214040839459672478855235309008199979723714157836514823277090908560061374873130607701078020335706838469751586803801945767440558054532479821603093498080888032472071603970980800816326155517609763553300644922940544013555628982201274621859535217481375451988888423495514380747422093016343591352949210729049899720210211258094580223292896648015689479645100079688480574699580849312443470819394697791561391315266390403323180088184587050993274887019644083239686307809935734895837209809194405774410486509509079335880931683614837443 1264052571589937953825060173439182236022815861213297999401077800796012858471640663054926436239688527694058835040275680986955137248077445887687946348184393891156807846577015833668683891923904167281157726409763034388459191958185253211107097004161899317988212727856637633121038159665856137281035022563809276205562439258561788358545919458140715592352631982355442564918704342880988328191947517620738101073055181473249686476827547424890695600868768712419238378109880243688446870422426067270068545700935025064780888925676893685394436142868921477641792673598447479995042673815402517172093576174399665873637286656140962375908588848229916995916925341648851310237976250703067799261503056323580943056764696279960116776623767167935393319430049610293945564391510502045395278145006378726794426905948183101505386665034427427170860707504970607932891715559358220909739426052704275308621414656118177481566482575515733016590046703981075492915476370312256243485912412147742566693232298221160468976667669364666888657904293161481558805241228636040056508103205825709001073940889479855905561278872713378825794883789753529243119470514611442114435077421575982520060042388406438839540348356604503970596606873259718591665807517594516841391423968903620186129988689982827889040569945085913747845805333822973848710280247747179040218602193085959200879182617316494681836230628839175659643387146243112045452881497995509922407592008938288058826799787707095992634600062221793111633463090541932574523634698480678621041903974017216561225521737428773728220958315968323018245903945178240326252142366733534239846641934812587766062087753713387740473787400379804469264482360802904229478565079196291911977852844447508547606738056826685281731883313546679230157398853418271475935645985884581165455291573670399847826571406379590441963045857932567891261820156469972918475875793035782774845607630416834334497182008259454385482250846664139370528365416967185461160580517733360921216201655488399789599839373519928301931208856925494018820729075482264882073724191322419432886342341310578256003668149875264507283690103478325643279801291642626158263599529641482394965448287473718877722988736736256289855116906651131736572239101907992670023435634929324480647022582396093935472521462888376150212543386944406411861471208636095245262953206157396033369154606202020898347276714601971531516617744049142065264458985712114745108957621667739581714369955204 2045280024399229319395176121076175781367951738435391389979478859050640627395610760323921707882045007954512555051078857247825174886753371269553759812009659866145101411061602287681824037944969418599591419205334354074100993112256307408692849676847825999104128868030600224581210607292063009281183410444080307081341220937434136859063422044852770240690735659451762257994339438091980465736143576666222846938503713078231604379818403290380404848265394897354119370191196770353229110028778669473652993811716476903141137028119350321892971502707903075642052795830396385226507935066471673717023050669041238235141265257155298519158389999097854240426218110716874393438783104100557322343950356013270621326740140576652690067390474868890982381617935852736568110696255523123665194862978380660315019861694835884570161109308259559481792387169954746763324231928275363414159094390271817242533224187234092711799238647558822112665737918058355679429154910480680606940976297390005789581661694864734674445730138760658693843217561429952196545373642550413866395600646733708320596558737162907175870517963208797750719400486315625531870030018624681744034659096968999939801766838997551341524184339166457508124585726684518970157858135749581575158337073554231833647458384864293108490145358451800272243942461754212595953066832941150954249528591694373258144392852450768534848820416470233763702551265552584975380987860366710645783571322694230967607020976674494384073252316326515201942193540341017208262640960424282202473845570277543291571467000901792880223885206836857095686184553411868972499451038384376542132486711517016825426193526426600473711221261281470615101795866951136506290339393185309142633134535170805553059485651214899871317573791167362992370594594999857450493429874297939343261792561859488113881752743182519190245733903559996140652450597045764377934839270363308618562125635457028051115833756819316599523090306336618225763674425167165184874738354248184198307110215549774662730447074597948637638047326677080822622674842922822936606204012925512930967230373782649859974648950691590662801299867031626288202741835656181787245800804263341930182929662925707766146484251117003711948133250242484685782968151807712880234693729509547773543670598085573580572601151368950849793392699387877231256169000197486560529343609480576121553741657195295785366920797841657839326553478944979275073653391486525231618466701003620513397984792647 3309332595989167273220236294515358017390767599648689389380556659846653485867251423378848144121733535648571390091354538234780312134830817157241706160194053757301909257638618121350507929868873585880749145615097388462560185070441560619799946681009725317092341595887237857702248766957919146562218433007889583286903660195995925217609341502993485833043367641807204822913043780972968793928091094286960948011558894551481290856645950715271100449134163609773357748301077014041675980451204736743721539512651501967922025953796244007287407645576824553283845469428843865221550608881874190889116626843440904108778551913296260895066978847327771236343143452365725703676759354803625121605453412336851564383504836856612806844014242036826375701047985463030513675087766025169060473007984759387109446767643018986075547774342686986652653094674925354696215947487633584323898520442976092551154638843352270193365721223074555129255784622039431172344631280792936850426888709537748356274893993085895143422397808125325582501121854591433755350614871186453922903703852559417321670499626642763081431796835922176576514284276069154774989500533236123858469736518544982459861809227403990181064532695770961478721192599944237561823665653344098416549761042457852019777447074847120997530715303537714020089747795577186444663347080688329994468130784780332459023575469767263216685051045309409423345938411795697020833869358362220568191163331632519026433820764381590376707852378548308313575656630882949782786275658904960823515749544294759852796988738330566608444843522805180113932088498590109298751593405117910781979128646329604591488281280139988214185008661661275084366278227754040735768904472381601054610987379618314100666223708041585153049457104714042222527993448418128926429075860182520508717084135529887961708324149562109632208779761492564031914270753515737296410715063399091393407733265873862385613015765078770985005341153000757596292039842134350646035318871981545119523311871038174452330286448117876939569256183602574841443403918405087818679928204247932363853572715093228115978317100566855170084989970509951931482543127298807945509400333904824325148377950399426643869472987853260001803250156893616422355207253715705550258129364438872254190693180481667516045122614257327000005936086332283643117640208833581805792296815637972154922896263397316683714197512443629370843171222994121340338112377198639976727424322671360095112354747851 5354612620388396592615412415591533798758719338084080779360035518897294113262862183702769852003778543603083945142433395482605487021584188426795465972203713623447010668700220409032331967813843004480340564820431742536661178182697868028492796357857551316196470463917838082283459374249982155843401843451969890368244881133430062076672763547846256073734103301258967080907383219064949259664234670953183794950062607629712895236464354005651505297399558507127477118492273784394905090479983406217374533324367978871063162981915594329180379148284727628925898265259240250448058543948345864606139677512482142343919817170451559414225368846425625476769361563082600097115542458904182443949403768350122185710244977433265496911404716905717358082665921315767081785784021548292725667870963140047424466629337854870645708883650946546134445481844880101459540179415908947738057614833247909793687863030586362905164959870633377241921522540097786851773786191273617457367865006927754145856555687950629817868127946885984276344339416021385951895988513736867789299304499293125642267058363805670257302314799130974327233684762384780306859530551860805602504395615513982399663576066401541522588717034937418986845778326628756531981523789093679991708098116012083853424905459711414106020860661989514292333690257331399040616413913629480948717659376474705717167968322218031751533871461779643187048489677348281996214857218728931213974734654326749994040841741056084760781104694874823515517850171223966991048916619329243025989595114572303144368455739232359488668728729642037209618273052001978271251044443502287324111615357846621416914474806566588687896229922942745699468074094705177242059243865566910197244121914789119653725709359256485024367030895881405214898588043417986376922505734480459851978876697389376075590076892744628822454513665052560172566721350561501674345554333762400011969858901330890436728849521898087584528431459337375822055714267301515830910057226229729317830422086587949115060733522715825577207303510279655664066078761327910755286132217173445294820803088875877975952966051258445832886289837541578219685284962954989732755201138168166255331307613325134410015957238970263713751383407136101108138175405523418430492823093948420027734363778567241096617723765626277849799328785720160874373809209031068366321640425118548276476637920592612469081118310285287210169724701939100615411765768685165208345891023674980608510339540498 8663945216377563865835648710106891816149486937732770168740592178743947599130113607081617996125512079251655335233787933717385799156415005584037172132397767380748919926338838530382839897682716590361089710435529130999221363253139428648292743038867276633288812059805075939985708141207901302405620276459859473655148541329425987294282105050839741906777470943066171903820427000037918053592325765240144742961621502181194186093110304720922605746533722116900834866793350798436581070931188142961096072837019480838985188935711838336467786793861552182209743734688084115669609152830220055495256304355923046452698369083747820309292347693753396713112505015448325800792301813707807565554857180686973750093749814289878303755418958942543733783713906778797595460871787573461786140878947899434533913396980873856721256657993633532787098576519805456155756126903542532061956135276224002344842501873938633098530681093707932371177307162137218024118417472066554307794753716465502502131449681036524961290525755011309858845461270612819707246603384923321712203008351852542963937557990448433338734111635053150903747969038453935081849031085096929460974132134058964859525385293805531703653249730708380465566970926572994093805189442437778408257859158469935873202352534558535103551575965527228312423438052908585485279760994317810943185790161255038176191543791985294968218922507089052610394428089143979017048726577091151782165897985959269020474662505437675137488957073423131829093506802106916773835192278234203849505344658867062997165444477562926097113572252447217323550361550592087570002637848620198106090744004176226008402756086706576902081238584604020783834352322459217977828148337948511251855109294407433754391933067298070177416488000595447437426581491836115303351581594662980360695960832919264037298401042306738454663293426545124204480992104077238970756269397161491405377592167204752822341865286976858569533772612338133418347754109435866476945376098211274437353733957626123567391019970833702516776559693882230505509482679732998573966060421421377658674375803969106091931283151825301002971279808051530151167828090253797678264601472072990580479685563724561053885430226823523715554633564029717530493382659239123980750952458387292281925056959048908612662846379883604849805264872052444517491449417864650172113937240756520431399534183989929152795315822728916581012895924933221955749878145883805185073315346346340703622694288349 14018557836765960458451061125698425614908206275816850948100627697641241712392975790784387848129290622854739280376221329199991286177999194010832638104601481004195930595039058939415171865496559594841430275255960873535882541435837296676785539396724827949485282523722914022269167515457883458249022119911829364023393422462856049370954868598685997980511574244325138984727810219102867313256560436193328537911684109810907081329574658726574111043933280624028311985285624582831486161411171549178470606161387459710048351917627432665648165942146279811135641999947324366117667696778565920101395981868405188796618186254199379723517716540179022189881866578530925897907844272611990009504260949037095935803994791723143800666823675848261091866379828094564677246655809121754511808749911039481958380026318728727366965541644580078921544058364685557615296306319451479800013750109471912138530364904524996003695640964341309613098829702235004875892203663340171765162618723393256647988005368987154779158653701897294135189800686634205659142591898660189501502312851145668606204616354254103596036426434184125230981653800838715388708561636957735063478527749572947259188961360207073226241966765645799452412749253201750625786713231531458399965957274482019726627257994269949209572436627516742604757128310239984525896174907947291891903449537729743893359512114203326719752793968868695797442917766492261013263583795820082996140632640286019014515504246493759898270061768297955344611356973330883764884108897563446875494939773439366141533900216795285585782300982089254533168634602594065841253682292122485430202359362022847425317230893273165589977468507546766483302426417164395219887392203515421449099231209196553408117642426554555201783518896476852652325169535254101680274087329143440212674837530308640112888477935051367277117807091597684377047713454638740645101823730923891417347451068535643259070714808874946154062204071675509240403468376737382307855433324441003755184156044214072682451753493549528093983863204161886169575561441060909329252192638594822953495178892844984067884249203083746835857569645593108370853113053208787411019802610241156835810993177049695463901387465793787429306016971165818638631558064762542411243775552335712309659420737616149709280570145509882699604593657772605391865258626895718538435577665875068707876172104582541621876434133014203791182620626872322571161643914568970393419206370021321312133033828847 22682503053143524324286709835805317431057693213549621116841219876385189311523089397866005844254802702106394615610009262917377085334414199594869810236999248384944850521377897469798011763179276185202519985691490004535103904688976725325078282435592104582774094583527989962254875656665784760654642396371688837678541963792282036665236973649525739887289045187391310888548237219140785366848886201433473280873305611992101267422684963447496716790467002740929146852078975381268067232342359692139566678998406940549033540853339271002115952736007831993345385734635408481787276849608785975596652286224328235249316555337947200032810064233932418902994371593979251698700146086319797575059118129724069685897744606013022104422242634790804825650093734873362272707527596695216297949628858938916492293423299602584088222199638213611708642634884491013771052433222994011861969885385695914483372866778463629102226322058049241984276136864372222900010621135406726072957372439858759150119455050023679740449179456908603994035261957247025366389195283583511213705321202998211570142174344702536934770538069237276134729622839292650470557592722054664524452659883631912118714346654012604929895216496354179917979720179774744719591902673969236808223816432951955599829610528828484313124012593043970917180566363148570011175935902265102835089239698984782069551055906188621687971716475957748407837345855636240030312310372911234778306530626245288034990166751931435035759018841721087173704863775437800538719301175797650725000284432306429138699344694358211682895873234536471856718996153186153411256320140742683536293103366199073433719986979979742492058707092150787267136778739623613197715540541463932700954340503603987162509575493852625379200006897072300089751751027090216983625668923806420573370798363227904150186878977358105731781100518142808581528705558715979615858093128085382822725043235740396081412580095851804723595976684013642658751222486173248784800809422652278192537890001840196249842773464383230610760422898044116675085044120793907903218253060016200612169554696814090159815532354909047838828849453644638522020941143462585089284404082314147416290678740774256517786817692617311144860650535195536169124940724001666391994728010723004591584477696665058321943416525393487549409858529825049909356708044760368710549514906631589139275706288572470774671749955743120372195516551805544526911522060452775578492521716367662015755728117196 36701060889909484782737770961503743045965899489366472064941847574026431023916065188650393692384093324961133895986230592117368371512413393605702448341600729389140781116416956409213183628675835780043950260947450878070986446124814022001863821832316932532259377107250903984524043172123668218903664516283518201701935386255138086036191842248211737867800619431716449873276047438243652680105446637626801818784989721803008348752259622174070827834400283364957458837364599964099553393753531241318037285159794400259081892770966703667764118678154111804481027734582732847904944546387351895698048268092733424045934741592146579756327780774111441092876238172510177596607990358931787584563379078761165621701739397736165905089066310639065917516473562967926949954183405816970809758378769978398450673449618331311455187741282793690630186693249176571386348739542445491661983635495167826621903231682988625105921963022390551597374966566607227775902824798746897838119991163252015798107460419010834519607833158805898129225062643881231025531787182243700715207634054143880176346790698956640530806964503421401365711276640131365859266154359012399587931187633204859377903308014219678156137183261999979370392469432976495345378615905500695208189773707433975326456868523098433522696449220560713521937694673388554537072110810212394726992689236714525962910568020391948407724510444826444205280263622128501043575894168731317774447163266531307049505670998425194934029080610019042518316220748768684303603410073361097600495224205745795280233244911153497268678174216625726389887630755780219252510002432865168966495462728221920859037217873252908082036175599697553750439205156788008417602932744979354150053571712800540570627217920407180580983525793549152742076920562344318663899756252949860786045635893536544263075356912409473008898907609740492958576419013354720260959916859009274240072494304276039340483294904726750877658180755689151899154690862910631092656242747093281947722046046054268932294526957932758704744286102206002844660605561854817232470445698611023565664733589659074227699781557992794674686419099237746892874054196671372500304206692555304252101671917823951981688205158411098574166667506361354807756498788764208803238503563058716901243898434281208031223986670903370249014452187597655301221966671656087248985092572506657847151878393155012396548184088757324163378137178677867098073165975021745971911728086388983327888761946043 59383563943053009107024480797309060477023592702916093181783067450411620335439154586516399536638896027067528511596239855034745456846827593200572258578599977774085631637794853879011195391855111965246470246638940882606090350813790747326942104267909037115033471690778893946778918828789452979558306912655207039380477350047420122701428815897737477755089664619107760761824284657384438046954332839060275099658295333795109616174944585621567544624867286105886605689443575345367620626095890933457603964158201340808115433624305974669880071414161943797826413469218141329692221395996137871294700554317061659295251296930093779789137845008043859995870609766489429295308136445251585159622497208485235307599484003749188009511308945429870743166567297841289222661711002512187107708007628917314942966872917933895543409940921007302338829328133667585157401172765439503523953520880863741105276098461452254208148285080439793581651103430979450675913445934153623911077363603110774948226915469034514260057012615714502123260324601128256391920982465827211928912955257142091746488965043659177465577502572658677500440899479424016329823747081067064112383847516836771496617654668232283086032399758354159288372189612751240064970518579469932016413590140385930926286479051926917835820461813604684439118261036537124548248046712477497562081928935699308032461623926580570095696226920784192613117609477764741073888204541642552552753693892776595084495837750356629969788099451740129692021084524206484842322711249158748325495508638052224418932589605511708951574047451162198246606626908966372663766322573607852502788566094420994292757204853232650574094882691848341017575983896411621615318473286443286851007912216404527733136793414259805960183532690621452831828671589434535647525425176756281359416434256764448413262235889767578740680008127883301540105124572070699876818009987094657062797537540016435421895875000578555601254157439702794557905913349083879877457052169745560140259936047894465182137300422315989315504709000250119519745649682648725135688698758627224177834288286473164387515313912901842513515268552882385414894995340133957589588610774869451668392350658598208499475022851028409719027318041556890976881439512765875195233231573781721492828376130946266353167403196296857798424310717422705210578674716416455959534607479138246986427584681727483171219934044500444535573653730483411624984688035474521550404249802756645343644490063239 96084624832962493889762251758812803522989492192282565246724915024438051359355219775166793229022989352028662407582470447152113828359240986806274706920200707163226412754211810288224379020530947745290420507586391760677076796938604769328805926100225969647292848798029797931302962000913121198461971428938725241082412736302558208737620658145949215622890284050824210635100332095628090727059779476687076918443285055598117964927204207795638372459267569470844064526808175309467174019849422174775641249317995741067197326395272678337644190092316055602307441203800874177597165942383489766992748822409795083341186038522240359545465625782155301088746847938999606891916126804183372744185876287246400929301223401485353914600375256068936660683040860809216172615894408329157917466386398895713393640322536265206998597682203800992969016021382844156543749912307884995185937156376031567727179330144440879314070248102830345179026069997586678451816270732900521749197354766362790746334375888045348779664845774520400252485387245009487417452769648070912644120589311285971922835755742615817996384467076080078866152176119555382189089901440079463700315035150041630874520962682451961242169583020354138658764659045727735410349134484970627224603363847819906252743347575025351358516911034165397961055955709925679085320157522689892289074618172413833995372191946972518503420737365610636818397873099893242117464098710373870327200857159307902134001508748781824903817180061759172210337305272975169145926121322519845925990732843798019699165834516665206220252221667787924636494257664746591916276325006473021469284028822642915151794422726485558656131058291545894768015189053199630032921406031422641001061483929205068303764011334666986541167058484170605573905592151778854311425181429706142145462070150300992676337592802177051749578915737623794498681543585425420137777926846103931302870031844292474762379169905305306478912338195391946457060604211994510970113294916838842087981982093948734114431827380248748020248995102456122364406255244503542368159144457238247743499021876132238615215095470894637188201687652120132307769049536805330089892817467424755920494022576422160481163228009439508293193985547918245784637938301530083998471735136840438394072274565227474384391389867200228047438762905020360511800641388072543208519700051644904833579463074882495567768118133257768698951790909161278723057854010496267522315977889145628671533252009282 155468188776015502996786732556121864000013084895198658428507982474849671694794374361683192765661885379096190919178710302186859285206068580006846965498800684937312044392006664167235574412386059710536890754225332643283167147752395516655748030368135006762326320488808691878081880829702574178020278341593932280462890086349978331439049474043686693377979948669931971396924616753012528774014112315747352018101580389393227581102148793417205917084134855576730670216251750654834794645945313108233245213476197081875312760019578653007524261506477999400133854673019015507289387338379627638287449376726856742636437335452334139334603470790199161084617457705489036187224263249434957903808373495731636236900707405234541924111684201498807403849608158650505395277605410841345025174394027813028336607195454199102542007623124808295307845349516511741701151085073324498709890677256895308832455428605893133522218533183270138760677173428566129127729716667054145660274718369473565694561291357079863039721858390234902375745711846137743809373752113898124573033544568428063669324720786274995461961969648738756366593075598979398518913648521146527812698882666878402371138617350684244328201982778708297947136848658478975475319653064440559241016953988205837179029826626952269194337372847770082400174216746462803633568204235167389851156547108113142027833815873553088599116964286394829431515482577657983191352303252016422879954551052084497218497346499138454873605279513499301902358389797181653988248832571678594251486241481850244118098424122176915171826269118950122883100884573712964580042647580080873972072594917063909444551627579718209230225940983394235785591172949611251648239879317865927852069396145609596036900804748926792501350591174792058405734263741213389958950606606462423504878504407065441089599828691944630490258923865507096038786668157496120014595936833198588365667569384308910184275044905883862080166495635094741014966517561078390847570347086584402228241918141843199296569127802564737335753704102706241884151904927152267503847843215865471921333310162605403002730409383796479701716956205002517722664044876939287679481428242294207588886373235020368980638250860467918012221303589475136761519377814295959193704966710622159886900650696173740737558793063497085845863073622443065722379316104488999168054307530783151820007047756609978738988052177758213234525444639644690348042542045970789072720227691902274015177742072521 251552813608977996886548984314934667523002577087481223675232897499287723054149594136849985994684874731124853326761180749338973113565309566813121672419001392100538457146218474455459953432917007455827311261811724403960243944691000285984553956468360976409619169286838489809384842830615695376482249770532657521545302822652536540176670132189635909000870232720756182032024948848640619501073891792434428936544865444991345546029353001212844289543402425047574734743059925964301968665794735283008886462794192822942510086414851331345168451598794055002441295876819889684886553280763117405280198199136651825977623373974574498880069096572354462173364305644488643079140390053618330647994249782978037166201930806719895838712059457567744064532649019459721567893499819170502942640780426708741730247517990464309540605305328609288276861370899355898244900997381209493895827833632926876559634758750334012836288781286100483939703243426152807579545987399954667409472073135836356440895667245125211819386704164755302628231099091147231226826521761969037217154133879714035592160476528890813458346436724818835232745251718534780708003549961225991513013917816920033245659580033136205570371565799062436605901507704206710885668787549411186465620317836025743431773174201977620552854283881935480361230172456388482718888361757857282140231165280526976023206007820525607102537701652005466249913355677551225308816401962390293207155408211392399352498855247920279777422459575258474112695695070156823134174953894198440177476974325648263817264258638842121392078490786738047519595142238459556496318972586553895441356623739706824596346050306203767886356999274940130553606362002810881681161285349288568853130880074814664340664816083593779042517649658962663979639855892992244270375788036168565650340574557366433765937421494121682239837839603130890537468211742921540152373863679302519668537601228601384946654214811189168559078833830486687472027121773072901817683642003423244316223900235791933411000955182813485356002699205162364248558160171655809872006987673103719664832332038737641617945504854691116889918643857122650030433094413744617769374245709718963509380395811442529461801478869907426305415289137393382546157316115826043192176701847462598280972925261401215121950182930697313893301836527463426234179957492561542376574007582428056653586510831492474306756170311015981933477235548805969071100396056467056595036205581047902686710994081803 407021002384993499883335716871056531523015661982679882103740879974137394748943968498533178760346760110221044245939891051525832398771378146819968637917802077037850501538225138622695527845303067166364202016037057047243411092443395802640301986836495983171945489775647181687466723660318269554502528112126589802008192909002514871615719606233322602378850181390688153428949565601653148275088004108181780954646445834384573127131501794630050206627537280624305404959311676619136763311740048391242131676270389904817822846434429984352692713105272054402575150549838905192175940619142745043567647575863508568614060709426908638214672567362553623257981763349977679266364653303053288551802623278709673403102638211954437762823743659066551468382257178110226963171105230011847967815174454521770066854713444663412082612928453417583584706720415867639946052082454533992605718510889822185392090187356227146358507314469370622700380416854718936707275704067008813069746791505309922135456958602205074859108562554990205003976810937284975036200273875867161790187678448142099261485197315165808920308406373557591599338327317514179226917198482372519325712800483798435616798197383820449898573548577770734553038356362685686360988440613851745706637271824231580610803000828929889747191656729705562761404389202851286352456565993024671991387712388640118051039823694078695701654665938400295681428838255209208500168705214406716087109959263476896570996201747058734651027739088757776015054084867338477122423786465877034428963215807498507935362682761019036563904759905688170402696026812172521076361620166634769413429218656770734040897677885921977116582940258334366339197534952422133329401164667154496705200276220424260377565620832520571543868240833754722385374119634205634229326394642630989155219078964431874855537250186066312730096763468637986576254879900417660166969800512501108034205170612910295130929259717073030639245329465581428486993639334151292665253989090007646544465818377635132707570082985378222691756403307868606132710065098808077375854830888969191586165642201343044620675914238487596591635600062125167753097139290683905448855673952013171098266769046462898442439729730375344317636592726868519307676693930122002385881668558084758167873575957574955859508975994194399739164910149906491956559273597050541544628315113211208473593558588102453045744222488774195168002680188450659419142938102437845667756433272950176701888736154324 658573815993971496769884701185991199046018239070161105778973777473425117803093562635383164755031634841345897572701071800864805512336687713633090310336803469138388958684443613078155481278220074622191513277848781451203655037134396088624855943304856959581564659062485671496851566490933964930984777882659247323553495731655051411792389738422958511379720414111444335460974514450293767776161895900616209891191311279375918673160854795842894496170939705671880139702371602583438731977534783674251018139064582727760332932849281315697861164704066109405016446426658794877062493899905862448847845775000160394591684083401483137094741663934908085431346068994466322345505043356671619199796873061687710569304569018674333601535803116634295532914906197569948531064605049182350910455954881230511797102231435127721623218233782026871861568091315223538190953079835743486501546344522749061951724946106561159194796095755471106640083660280871744286821691466963480479218864641146278576352625847330286678495266719745507632207910028432206263026795637836199007341812327856134853645673844056622378654843098376426832083579036048959934920748443598510838726718300718468862457777416956655468945114376833171158939864066892397246657228163262932172257589660257324042576175030907510300045940611641043122634561659239769071344927750881954131618877669167094074245831514604302804192367590405761931342193932760433808985107176797009294265367474869295923495056994979014428450198664016250127749779937495300256598740360075474606440190133146771752626941399861157955983250692426217922291169050632077572680592753188664854785842396477558637243728192125745002939939533274496892803896955233015010562450016443065558331156295238924718230436916114350586385890492717386365013975527197878499702182678799554805559653521798308621474671680187994969934603071768877113723091643339200319343664191803627702742771841511680077583474528262199198324163296068115959020761107224194482937631093430890860689718613427066118571038168191708047759102513030970381268225270463887247861818562072911250997974240080686238621419093178713481554243919247817783530233704428523218229919661732134607647164857905427904241208600282770623051881864261901853834010045948045578058370405547356448846501218976170981459158924891713632466746677369918190739231089612083921202322695639265127180069419594927352500392799790177101479915737256628490243334158904902262792638853998079388599730236127 1065594818378964996653220418057047730569033901052840987882714657447562512552037531133916343515378394951566941818640962852390637911108065860453058948254605546176239460222668751700851009123523141788555715293885838498447066129577791891265157930141352942753510148838132853184318290151252234485487305994785837125561688640657566283408109344656281113758570595502132488889924080051946916051249900008797990845837757113760491800292356590472944702798476986296185544661683279202575495289274832065493149815334972632578155779283711300050553877809338163807591596976497700069238434519048607492415493350863668963205744792828391775309414231297461708689327832344444001611869696659724907751599496340397383972407207230628771364359546775700847001297163375680175494235710279194198878271129335752281863956944879791133705831162235444455446274811731091178137005162290277479107264855412571247343815133462788305553303410224841729340464077135590680994097395533972293548965656146456200711809584449535361537603829274735712636184720965717181299227069513703360797529490775998234115130871159222431298963249471934018431421906353563139161837946925971030164439518784516904479255974800777105367518662954603905711978220429578083607645668777114677878894861484488904653379175859837400047237597341346605884038950862091055423801493743906626123006590057807212125285655208682998505847033528806057612771032187969642309153812391203725381375326738346192494491258742037749079477937752774026142803864804833777379022526825952509035403405940645279687989624160880194519888010598114388324987195862804598649042212919823434268215061053248292678141406078047722119522879791608863232001431907655148339963614683597562263531432515663185095796057748634922130254131326472108750388095161403512729028577321430543960778732486230183477011921866254307700031366540406863689977971543756860486313464704304735736947942454421975208512734245335229837569492761649544446014400441375487148191620183438537405155536991062198826141121153569930739515505820899576513978290369271964623716649451042102837163616441423730859297333331666310073189843981372985536627372995112428667085593613745305705913933904368326346680938330658114940688474591130421161510703976070047963940038963632114616720077176551126840968134919086113371631656827276410147298504686662625465830637808850473600773628007697380398244615288564372269482595925707287909386272261342747930549072126948256090488466390451 1724168634372936493423105119243038929615052140123002093661688434920987630355131093769299508270410029792912839391342034653255443423444753574086149258591409015314628418907112364779006490401743216410747228571734619949650721166712187979890013873446209902335074807900618524681169856642186199416472083877445084449115184372312617695200499083079239625138291009613576824350898594502240683827411795909414200737029068393136410473453211386315839198969416691968065684364054881786014227266809615739744167954399555360338488712132992615748415042513404273212608043403156494946300928418954469941263339125863829357797428876229874912404155895232369794120673901338910323957374740016396526951396369402085094541711776249303104965895349892335142534212069573250124025300315328376549788727084216982793661059176314918855329049396017471327307842903046314716327958242126020965608811199935320309295540079569349464748099505980312835980547737416462425280919087000935774028184520787602479288162210296865648216099095994481220268392630994149387562253865151539559804871303103854368968776545003279053677618092570310445263505485389612099096758695369569541003166237085235373341713752217733760836463777331437076870918084496470480854302896940377610051152451144746228695955350890744910347283537952987649006673512521330824495146421494788580254625467726974306199531486723287301310039401119211819544113226120730076118138919568000734675640694213215488417986315737016763507928136416790276270553644742329077635621267186027983641843596073792051440616565560741352475871261290540606247278364913436676221722805673012099123000903449725851315385134270173467122462819324883360124805328862888163350526064700040627821862588810902109814026494664749272716640021819189495115402070688601391228730760000230098766338386008028492098486593546442302669965969612175740803701063187096060805657128896108363439690714295933655286096208773597429035893656057717660405035161548599681631129251276869428265845255604489264944712159321761638787274608333930546895246515639735851871578468013115014088161590681504417097918752424845023554744087900620803320157606699540951885315513275477440313561098762273754250922146930940885563740356455392323015344714022018093541998409369179471065566578395527297822427293843977827004098403504646328338037735776274709387032960504489738727953697427292307750745008088354549370962511662963916399629606420247650193341710980946335479088196626578 2789763452751901490076325537300086660184086041175843081544403092368550142907168624903215851785788424744479781209982997505646081334552819434539208206846014561490867879129781116479857499525266358199302943865620458448097787296289979871155171803587562845088584956738751377865488146793438433901959389872230921574676873012970183978608608427735520738896861605115709313240822674554187599878661695918212191582866825506896902273745567976788783901767893678264251229025738160988589722556084447805237317769734527992916644491416703915798968920322742437020199640379654195015539362938003077433678832476727498321003173669058266687713570126529831502810001733683354325569244436676121434702995865742482478514118983479931876330254896668035989535509232948930299519536025607570748666998213552735075525016121194709989034880558252915782754117714777405894464963404416298444716076055347891556639355213032137770301402916205154565321011814552053106275016482534908067577150176934058679999971794746401009753702925269216932904577351959866568861480934665242920602400793879852603083907416162501484976581342042244463694927391743175238258596642295540571167605755869752277820969727018510866203982440286040982582896304926048564461948565717492287930047312629235133349334526750582310394521135294334254890712463383421879918947915238695206377632057784781518324817141931970299815886434648017877156884258308699718427292731959204460057016020951561680912477574479054512587406074169564302413357509547162855014643794011980492677247002014437331128606189721621546995759271888654994572265560776241274870765018592835533391215964502974143993526540348221189241985699116492223356806760770543311690489679383638190085394021326565294909822552413384194846894153145661603865790165850004903957759337321660642727117118494258675575498515412696610369997336152582604493679034730852921291970593600413099176638656750355630494608943018932658873463148819367204851049561989975168779320871460307965671000792595551463770853280475331569526790114154830123409224806009007816495295117464157116925325207122928147957216085756511333627933931881993788856784979694653380552401106889222746019475032666642080597603085261599000504428831046522744176855417998088141505938448332811585682286655572078424663395428763063940375730060331922738485336240462937334852863598313340212328727325434989688148989623376918921640445107588671204309015878681590398123890783107894591569576663017029 4513932087124837983499430656543125589799138181298845175206091527289537773262299718672515360056198454537392620601325032158901524757997573008625357465437423576805496298036893481258863989927009574610050172437355078397748508463002167851045185677033772747423659764639369902546658003435624633318431473749676006023792057385282801673809107510814760364035152614729286137591721269056428283706073491827626392319895893900033312747198779363104623100737310370232316913389793042774603949822894063544981485724134083353255133203549696531547383962836146710232807683782810689961840291356957547374942171602591327678800602545288141600117726021762201296930675635022264649526619176692517961654392235144567573055830759729234981296150246560371132069721302522180423544836340935947298455725297769717869186075297509628844363929954270387110061960617823720610792921646542319410324887255283211865934895292601487235049502422185467401301559551968515531555935569535843841605334697721661159288134005043266657969802021263698153172969982954015956423734799816782480407272096983706972052683961165780538654199434612554908958432877132787337355355337665110112170771992954987651162683479236244627040446217617478059453814389422519045316251462657869897981199763773981362045289877641327220741804673247321903897385975904752704414094336733483786632257525511755824524348628655257601125925835767229696700997484429429794545431651527205194732656715164777169330463890216071276095334210586354578683911154289491932650265061198008476319090598088229382569222755282362899471630533179195600819543925689677951092487824265847632514216867952699995308911674618394656364448518441375583481612089633431475041015744083678817907256610137467404723849047078133467563534174964851098981192236538606295186490097321890741493455504502287167673985108959138913039963305764758345297380097917948982097627722496521462616329371046289285780705151792530087909356804877084865256084723538574850410450122737177393936846048200040728715565439797093208314064722488760670304471321648743668366873585477272131013486797804432565055134838181356357182678019782614592176942586394194332437716620164700186333036131428915834848525232192539886068169187501915067192200132020106235047936857701991056747853233967605722485822722607041767379828463836569066823373976239212044239896558817829951056681022862281995899734631465273471011407619251635120708645485101838048317232494088840927048664859643607 7303695539876739473575756193843212249983224222474688256750494619658087916169468343575731211841986879281872401811308029664547606092550392443164565672283438138296364177166674597738721489452275932809353116302975536845846295759292147722200357480621335592512244721378121280412146150229063067220390863621906927598468930398252985652417715938550281102932014219844995450832543943610615883584735187745838583902762719406930215020944347339893407002505204048496568142415531203763193672378978511350218803493868611346171777694966400447346352883158889147253007324162464884977379654294960624808621004079318825999803776214346408287831296148292032799740677368705618975095863613368639396357388100887050051569949743209166857626405143228407121605230535471110723064372366543518047122723511322452944711091418704338833398810512523302892816078332601126505257885050958617855040963310631103422574250505633625005350905338390621966622571366520568637830952052070751909182484874655719839288105799789667667723504946532915086077547334913882525285215734482025401009672890863559575136591377328282023630780776654799372653360268875962575613951979960650683338377748824739928983653206254755493244428657903519042036710694348567609778200028375362185911247076403216495394624404391909531136325808541656158788098439288174584333042251972178993009889583296537342849165770587227900941812270415247573857881742738129512972724383486409654789672736116338850242941464695125788682740284755918881097268663836654787664908855209988968996337600102666713697828945003984446467389805067850595391809486465919225963252842858683165905432832455674139302438214966615845606434217557867806838418850403974786731505423467317007992650631464032699633671599491517662410428328110512702846982402388611199144249434643551384220572622996545843249483624371835523409960641917340949791059132648801903389598316096934561792968027796644916275314094811462746782819953696452070107134285528550019189770994197485359607846840795592192486418720272424777840854836643590793713696127657751484862168702941429247938812004927360713012350923937867690810611951664608381033727566088847712990117727053922932352511164095557915446128317454138886572598018548437811369055550018194376553875306034802642430139889539684147149218151370105707755558524168491805308710216702149379092760157131170163385408348297271684048724254842192392651852726840306325017661363783428446441123277196735518618241522660636 11817627627001577457075186850386337839782362403773533431956586146947625689431768062248246571898185333819265022412633061823449130850547965451789923137720861715101860475203568078997585479379285507419403288740330615243594804222294315573245543157655108339935904486017491182958804153664687700538822337371582933622260987783535787326226823449365041466967166834574281588424265212667044167290808679573464976222658613306963527768143126702998030103242514418728885055805324246537797622201872574895200289218002694699426910898516096978893736845995035857485815007945275574939219945651918172183563175681910153678604378759634549887949022170054234096671353003727883624622482790061157358011780336031617624625780502938401838922555389788778253674951837993291146609208707479465345578448809092170813897166716213967677762740466793690002878038950424847116050806697500937265365850565914315288509145798235112240400407760576089367924130918489084169386887621606595750787819572377380998576239804832934325693306967796613239250517317867898481708950534298807881416944987847266547189275338494062562284980211267354281611793146008749912969307317625760795509149741779727580146336685491000120284874875520997101490525083771086655094451491033232083892446840177197857439914282033236751878130481788978062685484415192927288747136588705662779642147108808293167373514399242485502067738106182477270558879227167559307518156035013614849522329451281116019573405354911197064778074495342273459781179818126146720315173916407997445315428198190896096267051700286347345939020338247046196211353412155597177055740667124530798419649700408374134611349889585010501970882735999243390320030940037406261772521167550995825899907241601500104357520646569651129973962503075363801828174638927217494330739531965442125714028127498833010923468733330974436449923947682099295088439230566750885487226038593456024409297398842934202056019246603992834692176758573536935363219009067124869600221116934662753544692888995632921201984160069517986154919559132351464018167449306495153229042288418701378952298802731793278067485762119224047993289971447222973210670152483042045427834347218623118685547295524473750294653549646678772640767206050352878561255682038300611601812163736793699177993123507289869635040873977147475135386988005060872132084192941361423332656715949000114442089371159553679948458886307465863663260346091941445726306848885266494758355771285576445666906382304243 19121323166878316930650943044229550089765586626248221688707080766605713605601236405823977783740172213101137424223941091487996736943098357894954488810004299853398224652370242676736306968831561440228756405043306152089441099981586463295445900638276443932448149207395612463370950303893750767759213200993489861220729918181788772978644539387915322569899181054419277039256809156277660050875543867319303560125421332713893742789087474042891437105747718467225453198220855450300991294580851086245419092711871306045598688593482497426240089729153925004738822332107740459916599599946878796992184179761228979678408154973980958175780318318346266896412030372433502599718346403429796754369168436918667676195730246147568696548960533017185375280182373464401869673581074022983392701172320414623758608258134918306511161550979316992895694117283025973621308691748459555120406813876545418711083396303868737245751313098966711334546702285009652807217839673677347659970304447033100837864345604622601993416811914329528325328064652781781006994166268780833282426617878710826122325866715822344585915760987922153654265153414884712488583259297586411478847527490604467509129989891745755613529303533424516143527235778119654264872651519408594269803693916580414352834538686425146283014456290330634221473582854481101873080178840677841772652036692104830510222680169829713403009550376597724844416760969905688820490880418500024504312002187397454869816346819606322853460814780098192340878448481962801507980082771617986414311765798293562809964880645290331792406410143314896791603162898621516403018993509983213964325082532864048273913788104551626347577316953557111197158449790441381048504026591018312833892557873065532803991192246061168792384390831185876504675157041315828693474988966608993509934600750495378854172952357702809959859884589599440244879498363215552788876824354690390586202265426639579118331333341415455581474996712269989005470353294595674888789992111132148113152539729791225113688402880341942763995774395775942257731863576964246638091210991360130626891110807659153991079836686057091738803901923111831354244397718571889758417952074272546051038058459620031665740781867100817659213365224598790689930311232056494988155687469771596341608133013046974016784259025347253182890945512173552677440794409643510802425416873080170277827497719456825363997183141149658256315113072932247770743968212668694941199479048482311964285147904964879 30938950793879894387726129894615887929547949030021755120663666913553339295033004468072224355638357546920402446636574153311445867793646323346744411947725161568500085127573810755733892448210846947648159693783636767333035904203880778868691443795931552272384053693413103646329754457558438468298035538365072794842990905965324560304871362837280364036866347888993558627681074368944704218166352546892768536348079946020857270557230600745889467208990232885954338254026179696838788916782723661140619381929874000745025599491998594405133826575148960862224637340053016034855819545598796969175747355443139133357012533733615508063729340488400500993083383376161386224340829193490954112380948772950285300821510749085970535471515922805963628955134211457693016282789781502448738279621129506794572505424851132274188924291446110682898572156233450820737359498445960492385772664442459733999592542102103849486151720859542800702470833203498736976604727295283943410758124019410481836440585409455536319110118882126141564578581970649679488703116803079641163843562866558092669515142054316407148200741199189507935876946560893462401552566615212172274356677232384195089276326577236755733814178408945513245017760861890740919967103010441826353696140756757612210274452968458383034892586772119612284159067269674029161827315429383504552294183800913123677596194569072198905077288482780202114975640197073248128009036453513639353834331638678570889389752174517519918238889275440465800659628300088948228295256688025983859627193996484458906231932345576679138345430481561942987814516310777113580074734177107744762744732233272422408525137994136636849548199689556354587478480730478787310276547758569308659792465114667032908348712892630819922358353334261240306503331680243046187805728498574435635648628877994211865096421091033784396309808537281539539967937593782303674364050393283846610611562825482513320387352588019448416167173470843525940833572303662799758390213228066810866697232618786858034890387040411460750150693954908293721750031026270741791320253279778832005843409610390947269147322448176315786797191894559054327455067871054931803845786421491169169723605755144505416035435416747496431854132430649143568491566914094795599757499633508390040786126136554263886419299899324400658026332500178613549572878602584872225758073589029170392269587090616379043945642027457124119978373419024189216470275061553961435957834819767888409952054287269122 50060273960758211318377072938845438019313535656269976809370747680159052900634240873896202139378529760021539870860515244799442604736744681241698900757729461421898309779944053432470199417042408387876916098826942919422477004185467242164137344434207996204832202900808716109700704761452189236057248739358562656063720824147113333283515902225195686606765528943412835666937883525222364269041896414212072096473501278734751013346318074788780904314737951353179791452247035147139780211363574747386038474641745306790624288085481091831373916304302885866963459672160756494772419145545675766167931535204368113035420688707596466239509658806746767889495413748594888824059175596920750866750117209868952977017240995233539232020476455823149004235316584922094885956370855525432130980793449921418331113682986050580700085842425427675794266273516476794358668190194420047506179478319005152710675938405972586731903033958509512037017535488508389783822566968961291070728428466443582674304931014078138312526930796455669889906646623431460495697283071860474446270180745268918791841008770138751734116502187111661590142099975778174890135825912798583753204204722988662598406316468982511347343481942370029388544996640010395184839754529850420623499834673338026563108991654883529317907043062450246505632650124155131034907494270061346324946220493017954187818874738901912308086838859377926959392401166978936948499916872013663858146333826076025759206098994123842771699704055538658141538076782051749736275339459643970273938959794778021716196812990867010930751840624876839779417679209398629983093727687090958727069814766136470682438926098688263197125516643113465784636930520920168358780574349587621493685022987732565712339905138691988714742744165447116811178488721558874881280717465183429145583229628489590719269373448736594356169693126880979784847435956997856463240874747974237196813828252122092438718685929434903997642170183113514946303925598258474647180205339198958979849772348578083148578789920753403514146468350684235979481894603234988429411464271138962632734520418050101260227159134233407525601093817670885681699465589626821562263738495763715220761664214764537081776217283848314091067497655247934258421878146151290587913187103279986382394259149601237903203558924671653840917278012352166227013673012228383028183490462109340670097084810073204407942825168606782376293486491956436987214243274222656377157313868250200374237202192234001 80999224754638105706103202833461325948861484686291731930034414593712392195667245341968426495016887306941942317497089398110888472530391004588443312705454622990398394907517864188204091865253255335525075792610579686755512908389348021032828788230139548477216256594221819756030459219010627704355284277723635450906711730112437893588387265062476050643631876832406394294618957894167068487208248961104840632821581224755608283903548675534670371523728184239134129706273214843978569128146298408526657856571619307535649887577479686236507742879451846729188097012213772529628238691144472735343678890647507246392433222441211974303238999295147268882578797124756275048400004790411704979131065982819238277838751744319509767491992378629112633190450796379787902239160637027880869260414579428212903619107837182854889010133871538358692838429749927615096027688640380539891952142761464886710268480508076436218054754818052312739488368692007126760427294264245234481486552485854064510745516423533674631637049678581811454485228594081139984400399874940115610113743611827011461356150824455158882317243386301169526019046536671637291688392528010756027560881955372857687682643046219267081157660351315542633562757501901136104806857540292246977195975430095638773383444623341912352799629834569858789791717393829160196734809699444850877240404293931077865415069307974111213164127342158129074368041364052185076508953325527303211980665464754596648595851168641362689938593330979123942197705082140697964570596147669954133566153791262480622428745336443690069097271106438782767232195520175743563168461864198703489814546999408893090964064092824900046673716332669820372115411251398955669057122108156930153477488102399598620688618031322808637101097499708357117681820401801921069086445963757864781231858506483802584365794539770378752479501664162519324815373550780160137604925141258083807425391077604605759106038517454352413809343653957040887137497901921274405570418567265769846547004967364941183469176961164864264297162305592529701231925629505730220731717550917794638577930028441048529374481582409723312398285712229940009154533460681753366109524917254884390485269969909042497811652700595810522921630085897077826913445060246086187670686736788376423180385286155501789622858823996054498943610512530779776586551614813255253941564051138511062366671900689583451888467196063906496271859910980626203684518335776617813115148688018088784189256479503123 131059498715396317024480275772306763968175020342561708739405162273871445096301486215864628634395417066963482188357604642910331077267135685830142213463184084412296704687461917620674291282295663723401991891437522606177989912574815263196966132664347544682048459495030535865731163980462816940412533017082198106970432554259551226871903167287671737250397405775819229961556841419389432756250145375316912729295082503490359297249866750323451275838466135592313921158520249991118349339509873155912696331213364614326274175662960778067881659183754732596151556684374529024400657836690148501511610425851875359427853911148808440542748658101894036772074210873351163872459180387332455845881183192688191254855992739553048999512468834452261637425767381301882788195531492553313000241208029349631234732790823233435589095976296966034487104703266404409454695878834800587398131621080470039420944418914049022949957788776561824776505904180515516544249861233206525552214980952297647185050447437611812944163980475037481344391875217512600480097682946800590056383924357095930253197159594593910616433745573412831116161146512449812181824218440809339780765086678361520286088959515201778428501142293685572022107754141911531289646612070142667600695810103433665336492436278225441670706672897020105295424367517984291231642303969506197202186624786949032053233944046876023521250966201536056033760442531031122025008870197540967070126999290830622407801950162765205461638297386517782083735781864192447700845935607313924407505113586040502338625558327310700999849111731315622546649874729574373546262189551289662216884361765545363773402990191513163243799232975783286156752341772319124027837696457744551647162511090132164333028523170014797351843841665155473928860309123360795950367163428941293926815088134973393303635167988506973108649194791043499109662809507778016600845799889232321004239219329726698197824724446889256411451513837070555833441423500179749052750623906464728826396777315943024332047966881918267778443630656276765680713820232740718650143181822056757271312450446491149789601640716643130837999379529900825690853999050308574928373263413018599611246934184673579579587869984444124613989127741145012085335323206397376775583873840068362805574644435756739692826417748667708339860888524882946003600224627041638282125054513247851732463756710762787859831292364670688872565346402937063190898761609999274190272462556268289158426458671737124 212058723470034422730583478605768089917036505028853440669439576867583837291968731557833055129412304373905424505854694041021219549797526690418585526168638707402695099594979781808878383147548919058927067684048102292933502820964163284229794920894487093159264716089252355621761623199473444644767817294805833557877144284371989120460290432350147787894029282608225624256175799313556501243458394336421753362116663728245967581153415425858121647362194319831448050864793464835096918467656171564439354187784983921861924063240440464304389402063206579325339653696588301554028896527834621236855289316499382605820287133590020414845987657397041305654653007998107438920859185177744160825012249175507429532694744483872558767004461213081374270616218177681670690434692129581193869501622608777844138351898660416290478106110168504393179943133016332024550723567475181127290083763841934926131212899422125459168012543594614137515994272872522643304677155497451760033701533438151711695795963861145487575801030153619292798877103811593740464498082821740705666497667968922941714553310419049069498750988959714000642180193049121449473512610968820095808325968633734377973771602561421045509658802645001114655670511643812667394453469610434914577891785533529304109875880901567354023506302731589964085216084911813451428377113668951048079427029080880109918649013354850134734415093543694185108128483895083307101517823523068270282107664755585219056397801331406568151576890717496906025933486946333145665416531754983878541071267377302982961054303663754391068946382837754405313882070249750117109430651415488365706698908764954256864367054284338063290472949308453106528867753023718079696894818565901481800639999192531762953717141201337605988944939164863831046542129525162717019453609392699158708046946641457195888000962528277351861128696455206018434478183058558176738450725030490404811664610407331303956930762964343608825260857491027596720578921402101023458321042473730498672943782283307965515517143843083132042740792961869295381945745862246448870874899372974551909890380474932198318976122299052854150397665242130765700008532510990328294482788330273484001732204154582622077399522685039935136910757827042089912248768266643462963254560576856739228755029721912241482449276572663762838804499037413725780186776241854893536066618564386362794830428611452371311719759560734595368837206313917689394583279945775892003387611244286377942615715151240247 343118222185430739755063754378074853885211525371415149408844739141455282388270217773697683763807721440868906694212298683931550627064662376248727739631822791814991804282441699429552674429844582782329059575485624899111492733538978547426761053558834637841313175584282891487492787179936261585180350311888031664847576838631540347332193599637819525144426688384044854217732640732945933999708539711738666091411746231736326878403282176181572923200660455423761972023313714826215267807166044720352050518998348536188198238903401242372271061246961311921491210380962830578429554364524769738366899742351257965248141044738828855388736315498935342426727218871458602793318365565076616670893432368195620787550737223425607766516930047533635908041985558983553478630223622134506869742830638127475373084689483649726067202086465470427667047836282736434005419446309981714688215384922404965552157318336174482117970332371175962292500177053038159848927016730658285585916514390449358880846411298757300519965010628656774143268979029106340944595765768541295722881592326018871967750470013642980115184734533126831758341339561571261655336829409629435589091055312095898259860562076622823938159944938686686677778265785724198684100081680577582178587595636962969446368317179792795694212975628610069380640452429797742660019417638457245281613653867829141971882957401726158255666059745230241141888926426114429126526693720609237352234664046415841464199751494171773613215188104014688109669268810525593366262467362297802948576380963343485299679861991065092068795494569070027860531944979324490655692840966778027923583270530499620637770044475851226534272182284236392685620094796037203724732515023646033447802510282663927286745664371352403340788780830019304975402438648523512969820772821640452634862034776430589191636130516784324969777891246249517544140992566336193339296524919722725815903829737058002154755487411232865236712371328098152554020344902280772511071666380195227499340559599250989847565110725001399821184423618146061062659566094987167521018081195031309181202830921423348108577763015695984988397044772031591390862531561298903222856051743292083612979138339256201656987392669484059750899885568187101997584091473040839738838434416925102034329674157668981175275694321331471178665387562296671783787000868896531818191673077634214527294185322215159171551051925405284241402552716854752585482041555775166193660073800554667101042173822977371 555176945655465162485647232983842943802248030400268590078284316009039119680238949331530738893220025814774331200066992724952770176862189066667313265800461499217686903877421481238431057577393501841256127259533727192044995554503141831656555974453321731000577891673535247109254410379409706229948167606693865222724721123003529467792484031987967313038455970992270478473908440046502435243166934048160419453528409959982294459556697602039694570562854775255210022888107179661312186274822216284791404706783332458050122302143841706676660463310167891246830864077551132132458450892359390975222189058850640571068428178328849270234723972895976648081380226869566041714177550742820777495905681543703050320245481707298166533521391260615010178658203736665224169064915751715700739244453246905319511436588144066016545308196633974820846990969299068458556143013785162841978299148764339891683370217758299941285982875965790099808494449925560803153604172228110045619618047828601070576642375159902788095766040782276066942146082840700081409093848590282001389379260294941813682303780432692049613935723492840832400521532610692711128849440378449531397417023945830276233632164638043869447818747583687801333448777429536866078553551291012496756479381170492273556244198081360149717719278360200033465856537341611194088396531307408293361040682948709251890531970756576292990081153288924426250017410321197736228044517243677507634342328802001060520597552825578341764792078821511594135602755756858739031678999117281681489647648340646468260734165654819483137741877406824433174414015229074607765123492382266393630282179295453877502137098760189289824745131592689499214487847819755283421627333589547515248442509475195690240462805572690009329733719994883136021944568173686229989274382214339611342908981417887785079637093045061676830906587701455535978619175624894370077747249950213130627568440144389306111686250375576474061973228819125749274599266304381795969392708853925726172284341882558955363082254568084531863925216580015356444605311957233616391892980568005861091093211396355546427553885314748839138794710014162357090871064072289231517338840073565567614711342493838823734386915354523994887810643395229191909832859739684302702092994993781841263084703879581222657724970893995234017469886599710397563973777110751425354258291642020577322124613933667530483270811486139879610239759030772441980065321501551058197047685044841045043657888974217618 898295167840895902240710987361917797687459555771683739487129055150494402068509167105228422657027747255643237894279291408884320803926851442916041005432284291032678708159863180667983732007238084623585186835019352091156488288042120379083317028012156368841891067257818138596747197559345967815128517918581896887572297961635069815124677631625786838182882659376315332691641080779448369242875473759899085544940156191718621337959979778221267493763515230678971994911420894487527454081988261005143455225781680994238320541047242949048931524557129203168322074458513962710888005256884160713589088801201898536316569223067678125623460288394911990508107445741024644507495916307897394166799113911898671107796218930723774300038321308148646086700189295648777647695139373850207608987283885032794884521277627715742612510283099445248514038805581804892561562460095144556666514533686744857235527536094474423403953208336966062100994626978598963002531188958768331205534562219050429457488786458660088615731051410932841085415061869806422353689614358823297112260852620960685650054250446335029729120458025967664158862872172263972784186269788078966986508079257926174493492726714666693385978692522374488011227043215261064762653632971590078935066976807455243002612515261152945411932253988810102846496989771408936748415948945865538642654336816538393862414928158302451245747213034154667391906336747312165354571210964286744986576992848416901984797304319750115378007266925526282245272024567384332397941466479579484438224029303989953560414027645884575206537371975894461034945960208399098420816333349044421553865449825953498139907143236040516359017313876925891900107942615792487146359848613193548696245019757859617527208469944042412670522500824902440997347006822209742959095155035980063977771016194318374271273223561846001800684478947705053522760168191230563417043774869935856443472269881447308266441737786809339298685600147223901828619611206662568480464375234120953671624901481809945210647365293085931685109640198161417507264878052220783912911061763037170272296042317778894536131648330444824127191754786193948481733595633588134740194891816857651227690480833095025391374308024008054638710528963416293907416951212725142440931429410706943297414378037250203833000665215326705196135274162007069347760777979647957172449964719654791849418799255882689654821863411545163851642311747627194565547363057326224390707758845395712144700062797194989 1453472113496361064726358220345760741489707586171952329565413371159533521748748116436759161550247773070417569094346284133837090980789040509583354271232745790250365612037284661906414789584631586464841314094553079283201483842545262210739873002465478099842468958931353385706001607938755674045076685525275762110297019084638599282917161663613754151221338630368585811165549520825950804486042407808059504998468566151700915797516677380260962064326370005934182017799528074148839640356810477289934859932565013452288442843191084655725591987867297094415152938536065094843346456149243551688811277860052539107384997401396527395858184261290888638589487672610590686221673467050718171662704795455601721428041700638021940833559712568763656265358393032314001816760055125565908348231737131938114395957865771781759157818479733420069361029774880873351117705473880307398644813682451084748918897753852774364689936084302756161909489076904159766156135361186878376825152610047651500034131161618562876711497092193208908027561144710506503762783462949105298501640112915902499332358030879027079343056181518808496559384404782956683913035710166528498383925103203756450727124891352710562833797440106062289344675820644797930841207184262602575691546357977947516558856713342513095129651532349010136312353527113020130836812480253273832003695019765247645752946898914878744235828366323079093641923747068509901582615728207964252620919321650417962505394857145328457142799345747037876380874780324243071429620465596861165927871677644636421821148193300704058344279249382718894209359975437473706185939825731310815184147629121407375642044241996229806183762445469615391114595790435547770567987182202741063944687529233055307767671275516732422000256220819785577019291574995895972948369537250319675320679997612206159350910316606907678631591066649160589501379343816124933494791024820148987071040710025836614378127988162385813360658828966349651103218877511044364449857084088046679843909243364368900573729619861170463549034856778176773951870190009454400304804042331043031363389253714134440963685533645193663265986464800356305572604659705877366257533731890423218842401823326933849125761223378532049526521172358645485817249810952409445143024424404488784560499081916831426490725636109321939213605160761717466911734555090399382526708256361675369171543413189550220138092674897685043461882070778399636545612684558877282587755443890236757188357951771412607 2351767281337256966967069207707678539177167141943636069052542426310027923817257283541987584207275520326060806988625575542721411784715891952499395276665030081283044320197147842574398521591869671088426500929572431374357972130587382589823190030477634468684360026189171524302748805498101641860205203443857658997869317046273669098041839295239540989404221289744901143857190601605399173728917881567958590543408722343419537135476657158482229558089885236613154012710948968636367094438798738295078315158346694446526763384238327604774523512424426297583475012994579057554234461406127712402400366661254437643701566624464205521481644549685800629097595118351615330729169383358615565829503909367500392535837919568745715133598033876912302352058582327962779464455194499416115957219021016970909280479143399497501770328762832865317875068580462678243679267933975451955311328216137829606154425289947248788093889292639722224010483703882758729158666550145646708030687172266701929491619948077222965327228143604141749112976206580312926116473077307928595613900965536863184982412281325362109072176639544776160718247276955220656697221979954607465370433182461682625220617618067377256219776132628436777355902863860058995603860817234192654626613334785402759561469228603666040541583786337820239158850516884429067585228429199139370646349356581786039615361827073181195481575579357233761033830083815822066937186939172250997607496314498834864490192161465078572520806612672564158626146804891627403827561932076440650366095706948626375381562220946588633550816621358613355244305935645872804606756159080355236738013078947360873781951385232270322542779759346541283014703733051340257714347030815934612640932548990914925294879745460774834670778721644688018016638581818105715907464692286299739298451013806524533622183540168753680432275545596865643024139512007355496911834799690084843514512979907283922644569725949195152659344429113573552931838488717706932930321459322167633515534144846178845784376985154256395234144496976338191459135068061675184217715104094080201635685296031913335499817181975638487393178219586550254054338255339465500997728623707280870070092304160028874517135531402540104165231701322061779724666762165134587583955853815195727857913459954081630323726301324648644409740434923724536259495333070047339699158221081330161020962212445432909792914538309230207313524382526026831111160047616203506978463202735632469333058014568607596 3805239394833618031693427428053439280666874728115588398617955797469561445566005399978746745757523293396478376082971859676558502765504932462082749547897775871533409932234432504480813311176501257553267815024125510657559455973132644800563063032943112568526828985120524910008750413436857315905281888969133421108166336130912268380959000958853295140625559920113486955022740122431349978214960289376018095541877288495120452932993334538743191622416255242547336030510477042785206734795609215585013175090911707898815206227429412260500115500291723391998627951530644152397580917555371264091211644521306976751086564025860732917339828810976689267687082790962206016950842850409333737492208704823102113963879620206767655967157746445675958617416975360276781281215249624982024305450758148909023676437009171279260928147242566285387236098355343551594796973407855759353956141898588914355073323043800023152783825376942478385919972780786918495314801911332525084855839782314353429525751109695785842038725235797350657140537351290819429879256540257033894115541078452765684314770312204389188415232821063584657277631681738177340610257690121135963754358285665439075947742509420087819053573572734499066700578684504856926445068001496795230318159692763350276120325941946179135671235318686830375471204043997449198422040909452413202650044376347033685368308725988059939717403945680312854675753830884331968519802667380215250228415636149252826995587018610407029663605958419602035007021585215870475257182397673301816293967384593262797202710414247292691895095870741332249453665911083346510792695984811666051922160708068768249423995627228500128726542204816156674129299523486888028282334213018675676585620078223970233062551020977507256671034942464473595035930156814001688855834229536619414619131011418730692973093856775661359063866612246026232525518855823480430406625824510233830585553689933120537022697714111580966020003258079923204035057366228751297380178543410214313359443388210547746358106605015426858783179353754514965411005258071129584522519146425123232999074549746047776463502715620832150659164684386906559626942915045342867255262355597704088912494127486962723642896754781072153691752873680707265541916573117544032726980278219684512418412541870913056814451937433970583623345595685442003171229888160446722225866477443005530192505625634983129931007213206915250775406453304426467656772732175080789566218646625869226521415966340020203 6157006676170874998660496635761117819844041870059224467670498223779589369383262683520734329964798813722539183071597435219279914550220824414582144824562805952816454252431580347055211832768370928641694315953697942031917428103720027390386253063420747037211189011309696434311499218934958957765487092412991080106035653177185937479000840254092836130029781209858388098879930724036749151943878170943976686085286010838539990068469991697225421180506140479160490043221426011421573829234407953880091490249258402345341969611667739865274639012716149689582102964525223209951815378961498976493612011182561414394788130650324938438821473360662489896784677909313821347680012233767949303321712614190602506499717539775513371100755780322588260969475557688239560745670444124398140262669779165879932956916152570776762698476005399150705111166935806229838476241341831211309267470114726743961227748333747271940877714669582200609930456484669677224473468461478171792886526954581055359017371057773008807365953379401492406253513557871132355995729617564962489729442043989628869297182593529751297487409460608360817995878958693397997307479670075743429124791468127121701168360127487465075273349705362935844056481548364915922048928818730987884944773027548753035681795170549845176212819105024650614630054560881878266007269338651552573296393732928819724983670553061241135198979525037546615709583914700154035456989606552466247835911950648087691485779180075485602184412571092166193633168390107497879084744329749742466660063091541889172584272635193881325445912492099945604697971846729219315399452143892021288660173787016129123205947012460770451269321964162697957144003256538228285996681243834610289226552627214885158357430766438282091341813664109161613052568738632107404763298921822919153917582025225255226595277396944415039496142157842891875549658367830835927318460624200318674100066669840404459667267440060776118679347687193496756966895854946458230310500002732381946874977533056726592142483590169683254017323850730853156870140326132804768740234250519203434634759845777961111963319897596470638052342903973456813681281170384808368252990979304984958982586431646991598160032286183612257856984575002769045266583335282678620310936132034880240276326001824994687138178238758619228033086030609166539430725221230494061925024698524335691213467838080416039723921751516145458088930835830453298767932779791284296544681849361501695854473980908627799 9962246071004493030353924063814557100510916598174812866288454021249150814949268083499481075722322107119017559154569294895838417315725756876664894372460581824349864184666012851536025143944872186194962130977823452689476884076852672190949316096363859605738017996430221344320249632371816273670768981382124501214201989308098205859959841212946131270655341129971875053902670846468099130158838460319994781627163299333660443001463326235968612802922395721707826073731903054206780564030017169465104665340170110244157175839097152125774754513007873081580730916055867362349396296516870240584823655703868391145874694676185671356161302171639179164471760700276027364630855084177283040813921319013704620463597159982281027067913526768264219586892533048516342026885693749380164568120537314788956633353161742056023626623247965436092347265291149781433273214749686970663223612013315658316301071377547295093661540046524678995850429265456595719788270372810696877742366736895408788543122167468794649404678615198843063394050909161951785874986157821996383844983122442394553611952905734140485902642281671945475273510640431575337917737360196879392879149753792560777116102636907552894326923278097434910757060232869772848493996820227783115262932720312103311802121112496024311884054423711480990101258604879327464429310248103965775946438109275853410351979279049301074916383470717859470385337745584486003976792273932681498064327586797340518481366198685892631848018529511768228640189975323368354341926727423044282954030476135151969786983049441174017341008362841277854151637757812565826192148128703687340582334495084897372629942639689270579995864168978854631273302780025116314279015456853285965812172705438855391419981787415789348012848606573635208088498895446109093619133151359538568536713036643985919568371253720076398560008770088918108075177223654316357725086448710552504685620359773524996689965154172357084699350945273419961001953221175209527690678546142596260234420921267274338500590195185110112800503204485368122281145584203934353262753396944326667633834395524008888426822613217302788711507588360363373308224085430151235508253334902689047895080559133954321802929040964684411548737448683476310808499908400222653037916410254564752694738543695907743952630176192589811656431626294608542601955109390940784150891175967341221405973463715399169654928964723060708864337289134879766424705511966365086110900495987370922375889947248648002 16119252747175368029014420699575674920354958468234037333958952245028740184332530767020215405687120920841556742226166730115118331865946581291247039197023387777166318437097593198591236976713243114836656446931521394721394312180572699581335569159784606642949207007739917778631748851306775231436256073795115581320237642485284143338960681467038967400685122339830263152782601570504848282102716631263971467712449310172200433069933317933194033983428536200868316116953329065628354393264425123345196155589428512589499145450764891991049393525724022771162833880581090572301211675478369217078435666886429805540662825326510609794982775532301669061256438609589848712310867317945232344135633933204307126963314699757794398168669307090852480556368090736755902772556137873778304830790316480668889590269314312832786325099253364586797458432226956011271749456091518181972491082128042402277528819711294567034539254716106879605780885750126272944261738834288868670628893691476464147560493225241803456770631994600335469647564467033084141870715775386958873574425166432023422909135499263891783390051742280306293269389599124973335225217030272622822003941221919682478284462764395017969600272983460370754813541781234688770542925638958771000207705747860856347483916283045869488096873528736131604731313165761205730436579586755518349242831842204673135335649832110542210115362995755406086094921660284640039433781880485147745900239537445428209967145378761378234032431100603934422273358365430866233426671057172786749614093567677041142371255684635055342786920854941223458849609604541785141591600272595708629242508282101026495835889652150041031265186133141552588417306036563344600275696700687896255038725332653740549777412553854071439354662270682796821141067634078216498382432073182457722454295061869241146163648650664491438056150927931809983624835591485152285043547072910871178785687029613929456357232594233133203378698632466916717968849076121667758001178548874978207109398454324000930643073785354793366817827055216221279151285910336739122002987647463530102268594241301970000390142510813773426763850492333820186989505255814959603761244314207674006877666990780945919962961327148296669405722023686245356075083243682901273348852542289444992971064545520902431090808414951209039689517656903775082032680330621434846075915874491676912619441301795815209378850716239206166953268124965333065192638291757649382655582345348872618230363928157275801 26081498818179861059368344763390232020865875066408850200247406266277890999281798850519696481409443027960574301380736025010956749181672338167911933569483969601516182621763606050127262120658115301031618577909344847410871196257425371772284885256148466248687225004170139122951998483678591505107025055177240082534439631793382349198920522679985098671340463469802138206685272416972947412261555091583966249339612609505860876071396644169162646786350931922576142190685232119835134957294442292810300820929598622833656321289862044116824148038731895852743564796636957934650607971995239457663259322590298196686537520002696281151144077703940848225728199309865876076941722402122515384949555252218011747426911859740075425236582833859116700143260623785272244799441831623158469398910853795457846223622476054888809951722501330022889805697518105792705022670841205152635714694141358060593829891088841862128200794762631558601631315015582868664050009207099565548371260428371872936103615392710598106175310609799178533041615376195035927745701933208955257419408288874417976521088404998032269292694023952251768542900239556548673142954390469502214883090975712243255400565401302570863927196261557805665570602014104461619036922459186554115470638468172959659286037395541893799980927952447612594832571770640533194865889834859484125189269951480526545687629111159843285031746466473265556480259405869126043410574154417829243964567124242768728448511577447270865880449630115702650913548340754234587768597784595831032568124043812193112158238734076229360127929217782501313001247362354350967783748401299395969824842777185923868465832291839311611261050302120407219690608816588460914554712157541182220850898038092595941197394341269860787367510877256432029229566529524325592001565224541996290991008098513227065732019904384567836616159698020728091700012815139468642768633521621423683471307389387454453047197748405490288078049577740336678970802297296877285691857095017574467343819375591275269143663980539903479618330259701589401432431494540673475265741044407856769902428636825978888816965124031076215475358080694183560297729341245110839269497649110363054772747549914900241765890368112981080954459472369721666883583152083123926386768952544009745665803089216810175043438591143798851345949283198383624634635440012375630226807050459018134025414765511214379033779680962266875817605414100212831617343803724014468766482841336243540606253875405923803 42200751565355229088382765462965906941220833534642887534206358511306631183614329617539911887096563948802131043606902755126075081047618919459158972766507357378682501058861199248718499097371358415868275024840866242132265508437998071353620454415933072891636432011910056901583747334985366736543281128972355663854677274278666492537881204147024066072025585809632401359467873987477795694364271722847937717052061919678061309141329962102356680769779468123444458307638561185463489350558867416155496976519027135423155466740626936107873541564455918623906398677218048506951819647473608674741694989476728002227200345329206890946126853236242517286984637919455724789252589720067747729085189185422318874390226559497869823405252140949969180699628714522028147571997969496936774229701170276126735813891790367721596276821754694609687264129745061803976772126932723334608205776269400462871358710800136429162740049478738438207412200765709141608311748041388434219000154119848337083664108617952401562945942604399514002689179843228120069616417708595914130993833455306441399430223904261924052682745766232558061812289838681522008368171420742125036887032197631925733685028165697588833527469245018176420384143795339150389579848098145325115678344216033816006769953678587763288077801481183744199563884936401738925302469421615002474432101793685199681023278943270385495147109462228671642575181066153766082844356034902976989864806661688196938415656956208649099912880730719637073186906706185100821195268841768617782182217611489234254529494418711284702914850072723724771850856966896136109375348673895104599067351059286950364301721943989352642526236435261959808107914853151805514830408858229078475889623370746336490974806895123932226722173147939228850370634163602542090383997297724454013445303160382468211895668555049059274672310625952538075324848406624620927812180594532294862256994419001383909404430342638623491456748210207253396939651373418545043693035643892552674453217829915276199786737765894696846436157314917810680583717404877412597268728691871386872171022878127948889207107634844849642239208573028003747287234597060070443030741963318037061650414540695846161728851695261277750360181496055967022958666395766025199735621494833454738636867634737712606134247006095007891035466940102158706667315770633810476302722924950695046644856067307029588412630397201473042770873539065545896809982095481663851422065186685116158836617803563199604 68282250383535090147751110226356138962086708601051737734453764777584522182896128468059608368506006976762705344987638780137031830229291257627070906335991326980198683680624805298845761218029473716899893602750211089543136704695423443125905339672081539140323657016080196024535745818663958241650306184149595746389116906072048841736801726827009164743366049279434539566153146404450743106625826814431903966391674529183922185212726606271519327556130400046020600498323793305298624307853309708965797797448625758256811788030488980224697689603187814476649963473855006441602427619468848132404954312067026198913737865331903172097270930940183365512712837229321600866194312122190263114034744437640330621817138419237945248641834974809085880842889338307300392371439801120095243628612024071584582037514266422610406228544256024632577069827263167596681794797773928487243920470410758523465188601888978291290940844241369996809043515781292010272361757248487999767371414548220210019767724010662999669121253214198692535730795219423155997362119641804869388413241744180859375951312309259956321975439790184809830355190078238070681511125811211627251770123173344168989085593567000159697454665506575982085954745809443612008616770557331879231148982684206775666055991074129657088058729433631356794396456707042272120168359256474486599621371745165726226710908054430228780178855928701937199055440472022892126254930189320806233829373785930965666864168533655919965793330360835339724100455046939335408963866626364448814750341655301427366687733152787514063042779290506226084852104329250487077159097075194500568892193836472874232767554235828664253787286737382367027798523669740266429385121015770260696740521408838932432172201236393793014089684025195660879600200693126867682385562522266450304436311258895695277627688459433627111288470323973266167024861221764089570580814116153718545728301808388838362451628091044113779534797787947590075910453670715422329384892738910127141797037205506551468930401746434600326054487574619400082016148899418086072534469736279243642073451514953927778024072758875925857714566653722187307584963938305181282300239612428400116423162090610746403494742063374258831314640968425688689842249547849149126122390447377464484302670723954522781177685597238806742381416223300542331301951210646186106529529975409713180670270832818243967446410078163739918588478953165758728427325899205678320188548028021359699442871678969123407 110483001948890319236133875689322045903307542135694625268660123288891153366510458085599520255602570925564836388594541535263106911276910177086229879102498684358881184739486004547564260315400832132768168627591077331675402213133421514479525794088014612031960089027990252926119493153649324978193587313121951410243794180350715334274682930974033230815391635089066940925621020391928538800990098537279841683443736448861983494354056568373876008325909868169465058805962354490762113658412177125121294773967652893679967254771115916332571231167643733100556362151073054948554247266942456807146649301543754201140938210661110063043397784176425882799697475148777325655446901842258010843119933623062649496207364978735815072047087115759055061542518052829328539943437770617032017858313194347711317851406056790332002505366010719242264333957008229400658566924706651821852126246680158986336547312689114720453680893720108435016455716547001151880673505289876433986371568668068547103431832628615401232067195818598206538419975062651276066978537350400783519407075199487300775381536213521880374658185556417367892167479916919592689879297231953752288657155370976094722770621732697748530982134751594158506338889604782762398196618655477204346827326900240591672825944752717420376136530914815100993960341643444011045470828678089489074053473538850925907734186997700614275325965390930608841630621538176658209099286224223783223694180447619162605279825489864569065706211091554976797287361753124436230159135468133066596932559266790661621217227571498798765957629363229950856702961296146623186534445749089605167959544895759824597069276179818016896313523172644326835906438522892071944215529873999339172630144779585268923147008131517725240811857173134889729970834856729409772769559819990904317881614419278163489523357014482686385960780949925804242349709628388710498392994710686013407985296227390222271856058433682737270991545998154843472850105044133967373077928382802679816250255035421827668717139512329297172490644889537210762599866304295498669803198428150630514244474393081876667231180393720775499953775226750191054872198535365251725330981575746437178073576631306592565223593758635536581674822464481655712800915943615174325858011942210919222939538358692235387311932603333814633416883163402701037969266981279996582832252900360408227315126900125273555859040475365212961359352492231304625237307994687342171610613214706475858279489482532323011 178765252332425409383884985915678184865394250736746363003113888066475675549406586553659128624108577902327541733582180315400138741506201434713300785438490011339079868420110809846410021533430305849668062230341288421218538917828844957605431133760096151172283746044070448950655238972313283219843893497271547156632911086422764176011484657801042395558757684368501480491774166796379281907615925351711745649835410978045905679566783174645395335882040268215485659304286147796060737966265486834087092571416278651936779042801604896557268920770831547577206325624928061390156674886411304939551603613610780400054676075993013235140668715116609248312410312378098926521641213964448273957154678060702980118024503397973760320688922090568140942385407391136628932314877571737127261486925218419295899888920323212942408733910266743874841403784271396997340361722480580309096046717090917509801735914578093011744621737961478431825499232328293162153035262538364433753742983216288757123199556639278400901188449032796899074150770282074432064340656992205652907820316943668160151332848522781836696633625346602177722522669995157663371390423043165379540427278544320263711856215299697908228436800258170140592293635414226374406813389212809083577976309584447367338881935826847077464195260348446457788356798350486283165639187934563975673674845284016652134445095052130843055504821319632546040686062010199550335354216413544589457523554233550128272143994023520489031499541452390316521387816800063771639123002094497515411682900922092088987904960724286312829000408653736176941555065625397110263693542824284105736851738732232698829836830415646681150100809910026693863704962192632338373600650889769599869370666188424201355319209367911518254901541198330550609571035549856277455155122342257354622317925678173858767151045473916313497249251273899070409374570850152800068973808826839731953713598035779060634307686524726851050526343786102433548760558714849389702462821121712806958047292240928379137647541258763897498545132464156610844616015203713584742337668164429874156317925908035804445255253152596701357668341880472378362457162473670433007631221188174837294496738721917338968718335822009795412989463432907344402643165491464323451980402389588383707242209082646758168489618200572621375798299386703243369271218191926182689361782875770121407985397732943517523305450553528952879947831445397063353664633893893020491799161242727835557722361161501446418 289248254281315728620018861605000230768701792872440988271774011355366828915917044639258648879711148827892378122176721850663245652783111611799530664540988695697961053159596814393974281848831137982436230857932365752893941130962266472084956927848110763204243835072060701876774732125962608198037480810393498566876705266773479510286167588775075626374149319457568421417395187188307820708606023888991587333279147426907889173920839743019271344207950136384950718110248502286822851624677663959208387345383931545616746297572720812889840151938475280677762687776001116338710922153353761746698252915154534601195614286654123298184066499293035131112107787526876252177088115806706284800274611683765629614231868376709575392736009206327196003927925443965957472258315342354159279345238412767007217740326380003274411239276277463117105737741279626397998928647187232130948172963771076496138283227267207732198302631681586866841954948875294314033708767828240867740114551884357304226631389267893802133255644851395105612570745344725708131319194342606436427227392143155460926714384736303717071291810903019545614690149912077256061269720275119131829084433915296358434626837032395656759418935009764299098632525019009136805010007868286287924803636484687959011707880579564497840331791263261558782317139993930294211110016612653464747728318822867578042179282049831457330830786710563154882316683548376208544453502637768372681217734681169290877423819513385058097205752543945293318675178553188207869282137562630582008615460188882750609122188295785111594958038016966127798258026921543733450227988573373710904811283627992523426906106595464698046414333082671020699611400715524410317816180763768939042000810968009470278466217499429243495713398371465440339541870406585687227924682162248258940199540097452022256674402488398999883210032223824874651724280478541510567366803537525745361698894263169282906163744958409588321517889784257277021610663758983357075540749504515486774297547276350206806364680771093194671035777353693821607215881508009083412140866592580504670562400301117681112486433546317476857622117107222569417329361009035684732962202763921274472570315353223931533941929580645331994664285897389000115444081435079497777838414331799302930181747441338993555801550803906436009215182550105944407240485173206179272194035776130529635300524633068791079164491028894165841307183937628367978901941888580362663409774457434311416001850644033769429 468013506613741138003903847520678415634096043609187351274887899421842504465323631192917777503819726730219919855758902166063384394289313046512831449979478707037040921579707624240384303382261443832104293088273654174112480048791111429690388061608206914376527581116131150827429971098275891417881374307665045723509616353196243686297652246576118021932907003826069901909169353984687102616221949240703332983114558404953794853487622917664666680089990404600436377414534650082883589590943150793295479916800210197553525340374325709447109072709306828254969013400929177728867597039765066686249856528765315001250290362647136533324735214409644379424518099904975178698729329771154558757429289744468609732256371774683335713424931296895336946313332835102586404573192914091286540832163631186303117629246703216216819973186544206991947141525551023395339290369667812440044219680861994005940019141845300743942924369643065298667454181203587476186744030366605301493857535100646061349830945907172203034444093884192004686721515626800140195659851334812089335047709086823621078047233259085553767925436249621723337212819907234919432660143318284511369511712459616622146483052332093564987855735267934439690926160433235511211823397081095371502779946069135326350589816406411575304527051611708016570673938344416577376749204547217440421403164106884230176624377101962300386335608030195700923002745558575758879807719051312962138741288914719419149567813536905547128705293996335609840062995353251979508405139657128097420298361110974839597027149020071424423958446670702304739813092546940843713921531397657816641663022360225222256742937011111379196515142992697714563316362908156748691416831653538538911371477156433671633785426867340761750614939569795990949112905956441964683079804504505613562517465775625881023825447962315313380459283497723945061098851328694310636340612364365477315412492298948343540471431483136439372044233570359710570371222473832746778003570626228293732344839517278585944012222029857092169580909817850432451831896711722668154478534757010378826880326209153485557741686698914178215290458987694947779786523482706117740593423952096111767067054075141270502660265402655127407653749330296344518087246926543821229818816721387686637423956523985751724291169004479057385013481936809187776511703365132361961555818651900651043285922366012308602469941582423118721255015383025431332566575782473383155208935700162146973724211805535215847 757261760895056866623922709125678646402797836481628339546661910777209333381240675832176426383530875558112297977935624016726630047072424658312362114520467402735001974739304438634358585231092581814540523946206019927006421179753377901775344989456317677580771416188191852704204703224238499615918855118058544290386321619969723196583819835351193648307056323283638323326564541172994923324827973129694920316393705831861684027408462660683938024297940540985387095524783152369706441215620814752503867262184141743170271637947046522336949224647782108932731701176930294067578519193118828432948109443919849602445904649301259831508801713702679510536625887431851430875817445577860843557703901428234239346488240151392911106160940503222532950241258279068543876831508256445445820177402043953310335369573083219491231212462821670109052879266830649793338219016855044570992392644633070502078302369112508476141227001324652165509409130078881790220452798194846169233972086985003365576462335175066005167699738735587110299292260971525848326979045677418525762275101229979082004761617995389270839217247152641268951902969819312175493929863593403643198596146374912980581109889364489221747274670277698738789558685452244648016833404949381659427583582553823285362297696985976073144858842874969575352991078338346871587859221159870905169131482929751808218803659151793757717166394740758855805319429106951967424261221689081334819959023595888710026991633050290605225911046540280903158738173906440187377687277219758679428913821299857590206149337315856536018916484687668432538071119468484577164149519971031527546474305988217745683649043606576077242929476075368735262927763623681159009233012417307477953372288124443141912251644366770005246328337941261431288654776363027651911004486666753872502717005873077903280499850450714313263669315721548819712823131807235821203707415901891222677111386562117626446635176441546027693562123354616987591981886232816103853544320130743780506642386793628792750376902800950286840616687171544254059047778219731751566619401349590883497442726510271166670228120245231655072912576094917517197115884491741802473555626716017386239637369428365202036602194983300459402318035227685344633531328361623319007657231053186989567605703965324745280092719808385493394228664486915132183752188538338541233749854428031180678586446999081099681634432611317284562562199320653799311468517671053745818618710157596458389726062449568985276 1225275267508798004627826556646357062036893880090815690821549810199051837846564307025094203887350602288332217833694526182790014441361737704825193564499946109772042896319012062874742888613354025646644817034479674101118901228544489331465733051064524591957298997304323003531634674322514391033800229425723590013895937973165966882881472081927311670239963327109708225235733895157682025941049922370398253299508264236815478880896085578348604704387930945585823472939317802452590030806563965545799347178984351940723796978321372231784058297357088937187700714577859471796446116232883895119197965972685164603696195011948396364833536928112323889961143987336826609574546775349015402315133191172702849078744611926076246819585871800117869896554591114171130281404701170536732361009565675139613452998819786435708051185649365877101000020792381673188677509386522857011036612325495064508018321510957809220084151370967717464176863311282469266407196828561451470727829622085649426926293281082238208202143832619779114986013776598325988522638897012230615097322810316802703082808851254474824607142683402262992289115789726547094926590006911688154568107858834529602727592941696582786735130405545633178480484845885480159228656802030477030930363528622958611712887513392387648449385894486677591923665016682763448964608425707088345590534647036636038395428036253756058103502002770954556728322174665527726304068940740394296958700312510608129176559446587196152354616340536616512998801169259692166886092416876886776849212182410832429803176486335927960442874931358370737277884212015425420878071051368689344188137328348442967940391980617687456439444619068066449826244126531837907700649844070846016864743765280876813546037071234110766996943277511057422237767682319469616594084291171259486065234471648703784304325298413029626644128599219272764773921983135930131840048028266256699992523878861065969987106607924682467065606356924976698162353108706648850631547890756972074238987226310907378694389124830807379010197596989394686510879674931454419721097936106601262324323052719424652227969806944145833288203035082612464976902407974447920214149050668113498006704423503506472539262460385955586809971784557981689151618575288167140237476047774574676205029660489310497004383888812864550779242146423724319960263891903470903195305673079931831721872369365093408284104374193740403283817214703679230644035093453527128973827645857758605363450274255104201123 1982537028403854871251749265772035708439691716572444030368211720976261171227804982857270630270881477846444515811630150199516644488434162363137555679020413512507044871058316501509101473844446607461185340980685694028125322408297867233241078040520842269538070413492514856235839377546752890649719084543782134304282259593135690079465291917278505318547019650393346548562298436330676949265877895500093173615901970068677162908304548239032542728685871486571210568464100954822296472022184780298303214441168493683894068616268418754121007522004871046120432415754789765864024635426002723552146075416605014206142099661249656196342338641815003400497769874768678040450364220926876245872837092600937088425232852077469157925746812303340402846795849393239674158236209426982178181186967719092923788368392869655199282398112187547210052900059212322982015728403377901582029004970128135010096623880070317696225378372292369629686272441361351056627649626756297639961801709070652792502755616257304213369843571355366225285306037569851836849617942689649140859597911546781785087570469249864095446359930554904261241018759545859270420519870505091797766704005209442583308702831061072008482405075823331917270043531337724807245490206979858690357947111176781897075185210378363721594244737361647167276656095021110320552467646866959250759666129966387846614231695405549815820668397511713412533641603772479693728330162429475631778659336106496839203551079637486757580527387076897416157539343166132354263779694096645456278126003710690020009325823651784496461791416046039169815955331483909998042220571339720871734611634336660713624041024224263533682374095143435185089171890155519066709882856488153494818116053405319955458288715600880772243271615452318853526422458682497268505088777838013358567951477521781687584825148863743939907797914940821584486745114943165953043755444168147922669635265423183596433741784366228494759168480279593685754334994939464954485092210887715854745629613104536171444766027631757665850814284160938940569927453151186171287717337456192145821765779229695818898197927189377488361115611177529982174018292466189722687704677384130884246341792931871674575864655369256046212289819785667033785149903649790459245133278827761665772635364454635242284476608621250044173470810910639452144016080441809444429055527507963012400458816364174507965738806805057687846379414024333029955503611124580874792446356015355063753176336704673186399 3207812295912652875879575822418392770476585596663259721189761531175313009074369289882364834158232080134776733645324676382306658929795900067962749243520359622279087767377328564383844362457800633107830158015165368129244223636842356564706811091585366861495369410796837859767474051869267281683519313969505724318178197566301656962346763999205816988786982977503054773798032331488358975206927817870491426915410234305492641789200633817381147433073802432157034041403418757274886502828748745844102561620152845624617865594589790985905065819361959983308133130332649237660470751658886618671344041389290178809838294673198052561175875569927327290458913862105504650024910996275891648187970283773639937503977464003545404745332684103458272743350440507410804439640910597518910542196533394232537241367212656090907333583761553424311052920851593996170693237789900758593065617295623199518114945391028126916309529743260087093863135752643820323034846455317749110689631331156302219429048897339542421571987403975145340271319814168177825372256839701879755956920721863584488170379320504338920053502613957167253530134549272406365347109877416779952334811864043972186036295772757654795217535481368965095750528377223204966474147009010335721288310639799740508788072723770751370043630631848324759200321111703873769517076072574047596350200777003023885009659731659305873924170400282667969261963778438007420032399103169869928737359648617104968380110526224682909935143727613513929156340512425824521149872110973532233127338186121522449812502309987712456904666347404409907093839543499335418920291622708410215922748962685103681564433004841950990121818714211501634915416016687356974410532700558999511682859818686196769004325786834991539240214892963376275764190141001966885099173069009272844633185949170485471889150447276773566551926514160094349260667098079096084883803472434404622662159144284249566420848392290910961824774837204570383916688103646113805116640101644687928984616839415443550139155152462565044861011881150333627080807128082640591008815273562793408146088831949120471126167734133523321649318646260142447150920700440637642901853728052244382253046216435378147115127115755211633022261604343648722936768478937957599482609326602336341977665024943945739288860497434114594952712957334363772104279972345280347624361200587894844122331185729267916249843180998798091130196628728012260599538704578108003766274001873113669116626610959777387522 5190349324316507747131325088190428478916277313235703751557973252151574180302174272739635464429113557981221249456954826581823303418230062431100304922540773134786132638435645065892945836302247240569015498995851062157369546045140223797947889132106209131033439824289352716003313429416020172333238398513287858622460457159437347041812055916484322307334002627896401322360330767819035924472805713370584600531312204374169804697505182056413690161759673918728244609867519712097182974850933526142405776061321339308511934210858209740026073341366831029428565546087439003524495387084889342223490116805895193015980394334447708757518214211742330690956683736874182690475275217202767894060807376374577025929210316081014562671079496406798675590146289900650478597877120024501088723383501113325461029735605525746106615981873740971521105820910806319152708966193278660175094622265751334528211569271098444612534908115552456723549408194005171379662496082074046750651433040226955011931804513596846634941830975330511565556625851738029662221874782391528896816518633410366273257949789754203015499862544512071514771153308818265635767629747921871750101515869253414769344998603818726803699940557192297013020571908560929773719637215990194411646257750976522405863257934149115091637875369209971926476977206724984090069543719441006847109866906969411731623891427064855689744838797794381381795605382210487113760729265599345560516018984723601807583661605862169667515671114690411345313879855591956875413651805070177689405464189832212469821828133639496953366457763450449076909794874983245416962512194048131087657360597021764395188474029066214523804192809354936820004587906842876041120415557047153006500975872091516724462614502435872311483486508415695129290612599684464153604261846847286203201137426692267159473975596140517506459724429100915933747412213022262037927558916602552545331794409707433162854590176657139456583943317484164069671023098585578759601732312532403783730246452519979721583921180094322710711826165311272567650734581233826762296532611018985553967854611178816290024365661322900810010434257437672429324938992906827365589558405436375266499388009367249821690991771124467679234551424129315756721918382587748058727742605430098007750300389398580981573337106055364639126183768245003224248296052787089792053416728095857856522790002093442424215581987803855778976576042752345290555042315702688878558720357888468732869802947664450573921 8398161620229160623010900910608821249392862909898963472747734783326887189376543562622000298587345638115997983102279502964129962348025962499063054166061132757065220405812973630276790198760047873676845657011016430286613769681982580362654700223691575992528809235086190575770787481285287454016757712482793582940638654725739004004158819915690139296120985605399456096158363099307394899679733531241076027446722438679662446486705815873794837594833476350885278651270938469372069477679682271986508337681474184933129799805448000725931139160728791012736698676420088241184966138743775960894834158195185371825818689007645761318694089781669657981415597598979687340500186213478659542248777660148216963433187780084559967416412180510256948333496730408061283037518030622019999265580034507557998271102818181837013949565635294395832158741762400315323402203983179418768160239561374534046326514662126571528844437858812543817412543946648991702697342537391795861341064371383257231360853410936389056513818379305656905827945665906207487594131622093408652773439355273950761428329110258541935553365158469238768301287858090672001114739625338651702436327733297386955381294376576381598917476038561262108771100285784134740193784225000530132934568390776262914651330657919866461681506001058296685677298318428857859586619792015054443460067683972435616633551158724161563669009198077049351057569160648494533793128368769215489253378633340706775963772132086852577450814842303925274470220368017781396563523916043709922532802375953734919634330443627209410271124110854858984003634418482580835882803816756541303580109559706868076752907033908165513926011523566438454920003923530233015530948257606152518183835690777713493466940289270863850723701401379071405054802740686431038703434915856559047834323375862752631363126043417291073011650943261010283008079311101358122811362389036957167993953553991682729275438568948050418408718154688734453587711202231692564718372414177091712714863291935423271723076332556887755572838046461606194731541709316467353305347884581778962113943443127936761150533395456424131659752903697814876475859693347465008491412133488619648752434225802627968806118886879679312256813028472964479658686861525705658210351932032434349727965414342526720862197603489479234078896725579366996352576025132370139677777928683752700645121187822710340465425168802653870106772671480357551154581020280796882324994359761582401986429558624227961443 13588510944545668370142225998799249728309140223134667224305708035478461369678717835361635763016459196097219232559234329545953265766256024930163359088601905891851353044248618696169736035062295114245861156006867492443983315727122804160602589355797785123562249059375543291774100910701307626349996110996081441563099111885176351045970875832174461603454988233295857418518693867126430824152539244611660627978034643053832251184210997930208527756593150269613523261138458181469252452530615798128914113742795524241641734016306210465957212502095622042165264222507527244709461525828665303118324275001080564841799083342093470076212303993411988672372281335853870030975461430681427436309585036522793989362398096165574530087491676917055623923643020308711761635395150646521087988963535620883459300838423707583120565547509035367353264562673206634476111170176458078943254861827125868574538083933225016141379345974365000540961952140654163082359838619465842611992497411610212243292657924533235691455649354636168471384571517644237149816006404484937549589957988684317034686278900012744951053227702981310283072441166908937636882369373260523452537843602550801724726292980395108402617416595753559121791672194345064513913421440990724544580826141752785320514588592068981553319381370268268612154275525153841949656163511456061290569934590941847348257442585789017253413847995871430732853174542858981647553857634368561049769397618064308583547433737949022244966485956994336619784100223609738271977175721113887611938266565785947389456158577266706363637581874305308060913429293465826252845316010804672391237470156728632471941381062974380037730204332921375274924591830373109056651363814653305524684811562869230217929554791706736162207187909794766534345415340370895192307696762703845251035460802555019790837101639557808579471375372361926216755491524123620160738921305639509713325747963699115892130028745605189874992661472172898523258734300817271324320104726709495496445109744455402993306997512651210466284664211772878762382276290550294115601880495600764516081798054306753051174899056779324941670187161135487305800798686254292374080970538924994915251822235169877790497110658004146991491364452602280236380605244113453716938094537462532357478265803741107702435534709544843873205080493824370220600872077919459931731194656779610557167911189916152764681007156606509649083348714232702841709623335983485760883714717650051134856232506288678535364 21986672564774828993153126909408070977702003133033630697053442818805348559055261397983636061603804834213217215661513832510083228114281987429226413254663038648916573450061592326446526233822342987922706813017883922730597085409105384523257289579489361116091058294461733867544888391986595080366753823478875024503737766610915355050129695747864600899575973838695313514677056966433825723832272775852736655424757081733494697670916813804003365351426626620498801912409396650841321930210298070115422451424269709174771533821754211191888351662824413054901962898927615485894427664572441264013158433196265936667617772349739231394906393775081646653787878934833557371475647644160086978558362696671010952795585876250134497503903857427312572257139750716773044672913181268541087254543570128441457571941241889420134515113144329763185423304435606949799513374159637497711415101388500402620864598595351587670223783833177544358374496087303154785057181156857638473333561782993469474653511335469624747969467733941825377212517183550444637410138026578346202363397343958267796114608010271286886606592861450549051373729024999609637997108998599175154974171335848188680107587356971490001534892634314821230562772480129199254107205665991254677515394532529048235165919249988848015000887371326565297831573843582699809242783303471115734030002274914282964890993744513178817082857193948480083910743703507476181346986003137776539022776251405015359511205870035874822417300799298261894254320591627519668540699637157597534471068941739682309090489020893915773908705985160167044917063711948407088728119827561213694817579716435500548694288096882545551656215856487813729844595753903342072182312072259458042868647253646943711396495080977600012930889311173837939400218081057326231011131678560404298869784178417772422200227682975099652483026315622936499763570835224978283550283694676466881319701517690798621405467314553240293401379626861632976846445503048963889038477140886587209159973036390826265030073845208098221857502258234484957113817999866761468907228380182543478195741497434689812325432452235749073329940064833302182276658379601757382572382672413614564004256460972505759303229544883826303748177481075244716039292105639159375148446469494966707206231218083634423297732313034323107283977219403737216953448103051830071408972585463363257813032377738863105146432325409163519190121385713060392864204356264282643208709077411633536842662064912906496807 35575183509320497363295352908207320706011143356168297921359150854283809928733979233345271824620264030310436448220748162056036493880538012359389772343264944540767926494310211022616262268884638102168567969024751415174580401136228188683859878935287146239653307353837277159318989302687902706716749934474956466066836878496091706096100571580039062503030962071991170933195750833560256547984812020464397283402791724787326948855127811734211893108019776890112325173547854832310574382740913868244336565167065233416413267838060421657845564164920035097067227121435142730603889190401106567131482708197346501509416855691832701471118697768493635326160160270687427402451109074841514414867947733193804942157983972415709027591395534344368196180782771025484806308308331915062175243507105749324916872779665597003255080660653365130538687867108813584275624544336095576654669963215626271195402682528576603811603129807542544899336448227957317867417019776323481085326059194603681717946169260002860439425117088577993848597088701194681787226144431063283751953355332642584830800886910284031837659820564431859334446170191908547274879478371859698607512014938398990404833880337366598404152309230068380352354444674474263768020627106981979222096220674281833555680507842057829568320268741594833909985849368736541758898946814927177024599936865856130313148436330302196070496705189819910816763918246366457828900843637506337588792173869469323943058639607984897067383786756292598514038420815237257940517875358271485146409335507525629698546647598160622137546287859465475105830493005414233341573435838365886086055049873164133020635669159856925589386420189409189004769187584276451128833675886912763567553458816516173929326049872684336175138077220968604473745633421428221423318828441264249549905244980972792213037329322532908231954401687984862716519062359348598444289205000315976594645449481389914513535496060158430168394041099034531500105179803866235213358581867596082705605082780846229258337071357859308688142166470007363719496094290417055584509108875783307994277539551741442863500331509015074015000127225968789488077457065856049756653353211338609479256078696142383549800340202887973295239541933677524952419897349752613092086541006957499064684497021824742125733267022579166980489057713228107437554320180971290003140167242242973814980943567655015869827439482015673168273470099945763234573827692247768404092423795061684671698894571201585032171 57561856074095326356448479817615391683713146489201928618412593673089158487789240631328907886224068864523653663882261994566119721994819999788616185597927983189684499944371803349062788502706981090091274782042635337905177486545333573207117168514776507355744365648299011026863877694674497787083503757953831490570574645107007061146230267327903663402606935910686484447872807799994082271817084796317133938827548806520821646526044625538215258459446403510611127085957251483151896312951211938359759016591334942591184801659814632849733915827744448151969190020362758216498316854973547831144641141393612438177034628041571932866025091543575281979948039205520984773926756719001601393426310429864815894953569848665843525095299391771680768437922521742257850981221513183603262498050675877766374444720907486423389595773797694893724111171544420534075137918495733074366085064604126673816267281123928191481826913640720089257710944315260472652474200933181119558659620977597151192599680595472485187394584822519819225809605884745126424636282457641629954316752676600852626915494920555318724266413425882408385819899216908156912876587370458873762486186274247179084941467694338088405687201864383201582917217154603463022127832772973233899611615206810881790846427092046677583321156112921399207817423212319241568141730118398292758629939140770413278039430074815374887579562383768390900674661949873934010247829640644114127814950120874339302569845478020771889801087555590860408292741406864777609058574995429082680880404449265312007637136619054537911454993844625642150747556717362640430301555665927099780872629589599633569329957256739471141042636045897002734613783338179793201015987959172221610422106070163117640722544953661936188068966532142442413145851502485547654329960119824653848775029159390564635237557005508007884437428003607799216282633194573576727839488694992443475965150999080713134940963374711670461795420725896164476951625306915199102397059008482669914765055817237055523367145203067406909999668728241848676609912290283817053416337255965851472473281049176132675825763961250823088330067290802091670354115445457807139225735883752224043260335157114889309103569747771799598987719414752769668459189455391772467234987476452465771890728239908376549030999335613490087773034932631844654507768284023120074549139827706337072793975945393878974973871807424836687463591485658823627438032048512051047301132872473318208541556636114491528978 93137039583415823719743832725822712389724289845370226539771744527372968416523219864674179710844332894834090112103010156622156215875358012148005957941192927730452426438682014371679050771591619192259842751067386753079757887681561761890977047450063653595397673002136288186182866997362400493800253692428787956637411523603098767242330838907942725905637897982677655381068558633554338819801896816781531222230340531308148595381172437272427151567466180400723452259505106315462470695692125806604095581758400176007598069497875054507579479992664483249036417141797900947102206045374654398276123849590958939686451483733404634337143789312068917306108199476208412176377865793843115808294258163058620837111553821081552552686694926116048964618705292767742657289529845098665437741557781627091291317500573083426644676434451060024262799038653234118350762462831828651020755027819752945011669963652504795293430043448262634157047392543217790519891220709504600643985680172200832910545849855475345626819701911097813074406694585939808211862426888704913706270108009243437457716381830839350561926233990314267720266069408816704187756065742318572369998201212646169489775348031704686809839511094451581935271661829077726790148459879955213121707835881092715346526934934104507151641424854516233117803272581055783327040676933325469783229876006626543591187866405117570958076267573588301717438580196240391839148673278150451716607123990343663245628485086005668957184874311883458922331162222102035549576450353700567827289739956790941706183784217215160049001281704091117256578049722776873771874991504292985866927679462763766589965626416596396730429056235306191739382970922456244329849663846084985177975564886679291570048594826346272363207043753111046886891484923913769077648788561088903398680274140363356848274886328040916116391829691592661932801695553922175172128693695308420070610600480470627648476459434870100630189461824930695977056805110781434315755640876078752620370138598083284781704216560926715598141835198249212396106006580700872637925446131749159466750820600917575539326095470265897103330194516770881158431572511313856895879089095090833522516413853257272858903909950659772894227261348430294620879086805144385559321528483409964836575225261733118674764266358192657068262092645859952092062088464994410077689307069949310887774919513048894844801311289440509855737061585604586862011859740759819451393556667535002880240451207316076561149 150698895657511150076192312543438104073437436334572155158184338200462126904312460496003087597068401759357743775985272151188275937870178011936622143539120910920136926383053817720741839274298600282351117533110022090984935374226895335098094215964840160951142038650435299213046744692036898280883757450382619447207986168710105828388561106235846389308244833893364139828941366433548421091618981613098665161057889337828970241907217062810642410026912583911334579345462357798614367008643337744963854598349735118598782871157689687357313395820408931401005607162160659163600522900348202229420764990984571377863486111774976567203168880855644199286056238681729396950304622512844717201720568592923436732065123669747396077781994317887729733056627814510000508270751358282268700239608457504857665762221480569850034272208248754917986910210197654652425900381327561725386840092423879618827937244776432986775256957088982723414758336858478263172365421642685720202645301149797984103145530450947830814214286733617632300216300470684934636498709346346543660586860685844290084631876751394669286192647416196676106085968625724861100632653112777446132484387486893348574716815726042775215526712958834783518188878983681189812276292652928447021319451087903597137373362026151184734962580967437632325620695793375024895182407051723762541859815147396956869227296479932945845655829957356692618113242146114325849396502918794565844422074111218002548198330564026440846985961867474319330623903628966813158635025349129650508170144406056253713820920836269697960456275548716759407325606440139514202176547170220085647800309052363400159295583673335867871471692281203194473996754260636037530865651805257206788397670956842409210771139780008208551276010285253489300037336426399316731978748680913557247455303299753921483512443333548924000829257695200461149084328748495751899968182390300863546575751479551340783417422809581771091984882550826860454008430417696633418152699884561422535135194415320340305071361763994122508141503926491061072715918870984689691341783387715010939224101650093708215151859431516720191660261807572972828785687956771664035104824978843057565776749010372162168007479698431572493214980763183064289338276260536158026556515959862430608465953501641495223795265693806147156035127578491796746569856749017530152238446897655647960568895458442773819775183096865346543200653071263410489449891789271870498694689540008321088782007843430568090127 243835935240926973795936145269260816463161726179942381697956082727835095320835680360677267307912734654191833888088282307810432153745536024084628101480313838650589352821735832092420890045890219474610960284177408844064693261908457096989071263414903814546539711652571587399229611689399298774684011142811407403845397692313204595630891945143789115213882731876041795210009925067102759911420878429880196383288229869137118837288389500083069561594378764312058031604967464114076837704335463551567950180108135294606380940655564741864892875813073414650042024303958560110702728945722856627696888840575530317549937595508381201540312670167713116592164438157937809126682488306687833010014826755982057569176677490828948630468689244003778697675333107277743165560281203380934137981166239131948957079722053653276678948642699814942249709248850888770776662844159390376407595120243632563839607208428937782068687000537245357571805729401696053692256642352190320846630981321998817013691380306423176441033988644715445374622995056624742848361136235051457366856968695087727542348258582234019848118881406510943826352038034541565288388718855096018502482588699539518064492163757747462025366224053286365453460540812758916602424752532883660143027286968996312483900296960255691886604005821953865443423968374430808222223083985049232325089691154023500460415162885050516803732097530944994335551822342354717688545176196945017561029198101561665793826815650032109804170836179357778252955065851068848708211475702830218335459884362847195420004705053484858009457557252807876663903656162916387974051538674513071514727988515127166749261210089932264601900748516509386213379725183092281860715315651342191966373235843521700780819734606354480914483054038364536186928821350313085809627537242002460646135577440117278331787329661589840117221087386793123081886024302417927072096876085609283617186351960021968431893882244451871722174344375757556431065235528478067733908340760640175155505333013403625086775578324920838106283339124740273468821925451685562329267229519464170405974922251011283754477954901782617294990456324343853987217260468085520930983914073933891088293162863629435026911389649091345387442242111613358910217363065680543585878044443272395445041178763374613898559532051998804224297220224351748838631945214011940229927753967604958848343814971491668664576494386305856398937714656867997351461751530031689950088246207543323969022459050746644651276 394534830898438123872128457812698920536599162514514536856140420928297222225148140856680354904981136413549577664073554458998708091615714036021250245019434749570726279204789649813162729320188819756962077817287430935049628636135352432087165479379743975497681750303006886612276356381436197055567768593194026851053383861023310424019453051379635504522127565769405935038951291500651181003039860042978861544346119206966089079195606562893711971621291348223392610950429821912691204712978801296531804778457870413205163811813254429222206271633482346051047631466119219274303251846071058857117653831560101695413423707283357768743481551023357315878220676839667206076987110819532550211735395348905494301241801160576344708250683561891508430731960921787743673831032561663202838220774696636806622841943534223126713220850948569860236619459048543423202563225486952101794435212667512182667544453205370768843943957626228080986564066260174316864622063994876041049276282471796801116836910757371007255248275378333077674839295527309677484859845581398001027443829380932017626980135333628689134311528822707619932438006660266426389021371967873464634966976186432866639208979483790237240892937012121148971649419796440106414701045185812107164346738056899909621273658986406876621566586789391497769044664167805833117405491036772994866949506301420457329642459364983462649387927488301686953665064488469043537941679115739583405451272212779668342025146214058550651156798046832097583578969480035661866846501051959868843630028768903449133825625889754555969913832801524636071229262603055902176228085844733157162528297567490566908556793763268132473372440797712580687376479443728319391580967456599398754770906800364109991590874386362689465759064323618025486966157776712402541606285922916017893590880739871199815299772995138764118050345081993584230970353050913678972065058475910147163762103439573309215311305054033642814159226926584416885073665946174701152061040645201597690640527428723965391846940088914960614424843051231334541537844322670252020609012907179181345199023901104991969629814333299337486650718131916826816002948424857184966088739052776948654069911874001597194918869347522917880657222874796423199555639326216701612434560403134826053507132265016109122354797745804951380332347802843545585201801963029470382166200865260606808912710429934442484351677483171202942138367728131407840911643319303560448782935747551645057804466894177212741403 638370766139365097668064603081959736999760888694456918554096503656132317545983821217357622212893871067741411552161836766809140245361250060105878346499748588221315632026525481905583619366079039231573038101464839779114321898043809529076236742794647790044221461955578474011505968070835495830251779736005434254898781553336515019650344996523424619736010297645447730248961216567753940914460738472859057927634349076103207916483996062976781533215670112535450642555397286026768042417314264848099754958566005707811544752468819171087099147446555760701089655770077779385005980791793915484814542672135632012963361302791738970283794221191070432470385114997605015203669599126220383221750222104887551870418478651405293338719372805895287128407294029065486839391313765044136976201940935768755579921665587876403392169493648384802486328707899432193979226069646342478202030332911144746507151661634308550912630958163473438558369795661870370556878706347066361895907263793795618130528291063794183696282264023048523049462290583934420333220981816449458394300798076019745169328393915862708982430410229218563758790044694807991677410090822969483137449564885972384703701143241537699266259161065407514425109960609199023017125797718695767307374025025896222105173955946662568508170592611345363212468632542236641339628575021822227192039197455443957790057622250033979453120025019246681289216886830823761226486855312684600966480470314341334135851961864090660455327634226189875836534035331104510575057976754790087179089913131750644553830330943239413979371390054332512735132918765972290150279624519246228677256286082617733657818003853200397075273189314221966900756204626820601252296283107941590721144142643885810772410608992717170380242118361982561673894979127025488351233823164918478539726458179988478147087102656728604235271432468786707312856377353331606044161934561519430780948455399595277647205187298485514536333571302341973316138901474652768885969381405841772846145860442127590478622518413835798720708182175971608010359769774355814349876242426643351751173946152116275724107769235081954781641174456260680803220208892942705897072653126710839742363074737631032221830258996614263268099464986409782109773002391897245198312604846407221498548311028390723020914329797803755604629568027195294423833747177041410612093954832865565657256525401426111148928171869477059341076082384999405192373394849335250398871181955094969026826925944923857392679 1032905597037803221540193060894658657536360051208971455410236924584429539771131962074037977117875007481290989216235391225807848336976964096127128591519183337792041911231315131718746348686267858988535115918752270714163950534179161961163402222174391765541903212258585360623782324452271692885819548329199461105952165414359825443669798047903060124258137863414853665287912508068405121917500598515837919471980468283069296995679602625870493504836961460758843253505827107939459247130293066144631559737023876121016708564282073600309305419080038106752137287236196998659309232637864974341932196503695733708376785010075096739027275772214427748348605791837272221280656709945752933433485617453793046171660279811981638046970056367786795559139254950853230513222346326707339814422715632405562202763609122099530105390344596954662722948166947975617181789295133294579996465545578656929174696114839679319756574915789701519544933861922044687421500770341942402945183546265592419247365201821165190951530539401381600724301586111244097818080827397847459421744627456951762796308529249491398116741939051926183691228051355074418066431462790842947772416541072405251342910122725327936507152098077528663396759380405639129431826842904507874471720763082796131726447614933069445129737179400736860981513296710042474457034066058595222058988703756864415119700081615017442102507952507548368242881951319292804764428534428424184371931742527121002477877108078149211106484432273021973420113004811140172441904477806749956022719941900654093687655956832993969949285222855857148806362181369028192326507710363979385839784583650108300566374797616468529548645630111934547588132684070548920643877250564540989475915049444249920764001483379079859846001182685600587160861136903737890892840109087834496433317338919859677962386875651867368353321777550780291543826730404245285016226993037429577944710558839168586862516492352519157350492798228926390201212567420827470038030422051043370536786387870851555870469458502750759335133025227202942551897614097026066370485255333822533096372970053221267693737583568381292268291892588177507619223157317799890863161392179487788396432986611632629416749128344137181148756687861206205309328641718113946810747165249542047552055443293406832143269127543608706984961915830038840009035549140070880994260155698126172466169235831360553633279849352648262283214450113130813033285038168638810847654117702646614084631392839101070134082 1671276363177168319208257663976618394536120939903428373964333428240561857317115783291395599330768878549032400768397227992616988582338214156233006938018931926013357543257840613624329968052346898220108154020217110493278272432222971490239638964969039555586124674214163834635288292523107188716071328065204895360850946967696340463320143044426484743994148161060301395536873724636159062831961336988696977399614817359172504912163598688847275038052631573294293896061224393966227289547607330992731314695589881828828253316750892771396404566526593867453226943006274778044315213429658889826746739175831365721340146312866835709311069993405498180818990906834877236484326309071973316655235839558680598042078758463386931385689429173682082687546548979918717352613660091751476790624656568174317782685274709975933497559838245339465209276874847407811161015364779637058198495878489801675681847776473987870669205873953174958103303657583915057978379476689008764841090810059388037377893492884959374647812803424430123773763876695178518151301809214296917816045425532971507965636923165354107099172349281144747450018096049882409743841553613812430909866105958377636046611265966865635773411259142936177821869341014838152448952640623203641779094788108692353831621570879732013637907772012082224193981929252279115796662641080417449251027901212308372909757703865051421555627977526795049532098838150116565990915389741108785338412212841462336613729069942239871561812066499211849256647040142244683016962454561540043201809855032404738241486287776233383928656612910189661541495100135000482476787334883225614517040869732726034224192801469668926623918819426156514488888888697369521896173533672482580197059192088135731536412092371797030226243301047583148834756116030763379244073932252752974973043797099848156109473978308595972588593210019566998856683107757576891060388927598949008725659014238763864509721679651004671886826369531268363517351468895480238923999803456885143382932248312979146349091976916586558055841207403174550562257383871381880720361497760465884847546916205337543417845352803463247049933067044438188422443366210742596760234045306198628138796061349263661638579387340751444416856152847615987419101644110011192009059770095949269050603754321797555164183457341412462589591483857234134432869296317112291606354110530991738123425761232786664782208021222125321624290532498130218225658433017974061246525299657741583111458318784024927526761 2704181960214971540748450724871277052072480991112399829374570352824991397088247745365433576448643886030323389984632619218424836919315178252360135529538115263805399454489155745343076316738614757208643269938969381207442222966402133451403041187143431321128027886472749195259070616975378881601890876394404356466803112382056165906989941092329544868252286024475155060824786232704564184749461935504534896871595285642241801907843201314717768542889593034053137149567051501905686536677900397137362874432613757949844961881032966371705709985606631974205364230242471776703624446067523864168678935679527099429716931322941932448338345765619925929167596698672149457764983019017726250088721457012473644213739038275368569432659485541468878246685803930771947865836006418458816605047372200579879985448883832075463602950182842294127932225041795383428342804659912931638194961424068458604856543891313667190425780789742876477648237519505959745399880247030951167786274356324980456625258694706124565599343342825811724498065462806422615969382636612144377237790052989923270761945452414845505215914288333070931141246147404956827810273016404655378682282647030782887389521388692193572280563357220464841218628721420477281880779483527711516250815551191488485558069185812801458767644951412819085175495225962321590253696707139012671310016604969172788029457785480068863658135930034343417774980789469409370755343924169532969710343955368583339091606178020389082668296498772233822676760044953384855458866932368289999224529796933058831929142244609227353877941835766046810347857281504028674803295045247205000356825453382834334790567599086137456172564449538091062077021572767918442540050784237023569672974241532385652300413575750876890072244483733183735995617252934501270136914041340587471406361136019707834071860853960463340941914987570347290400509838161822176076615920636378586670369573077932451372238172003523829237319167760194753718564036316307708962030225507928513919718636183830702219561435419337317390974232630377493114154997968407947090846753094288417943919886258558811111582936371844539318224959632615696041666523528542487623395437485686416535229047960896291055328515684888625565612840708822192728430285828125138819806935345491316602659197615204387307452584885021169574553399687272974441904845457183172600614266229117910589594997064147218415487870574773583907504982611261031258943471186612872094179417360388197196089711623125997660843 4375458323392139859956708388847895446608601931015828203338903781065553254405363528656829175779412764579355790753029847211041825501653392408593142467557047189818756997746996358967406284790961655428751423959186491700720495398625104941642680152112470876714152560686913029894358909498486070317962204459609251827654059349752506370310084136756029612246434185535456456361659957340723247581423272493231874271210103001414306820006800003565043580942224607347431045628275895871913826225507728130094189128203639778673215197783859143102114552133225841658591173248746554747939659497182753995425674855358465151057077635808768157649415759025424109986587605507026694249309328089699566743957296571154242255817796738755500818348914715150960934232352910690665218449666510210293395672028768754197768134158542051397100510021087633593141501916642791239503820024692568696393457302558260280538391667787655061094986663696051435751541177089874803378259723719959932627365166384368494003152187591083940247156146250241848271829339501601134120684445826441295053835478522894778727582375580199612315086637614215678591264243454839237554114570018467809592148752989160523436132654659059208053974616363401019040498062435315434329732124150915158029910339300180839389690756692533472405552723424901309369477155214600706050359348219430120561044506181481160939215489345120285213763907561138467307079627619525936746259313910641755048756168210045675705335247962628954230108565271445671933407085095629538475829386929830042426339651965463570170628532385460737806598448676236471889352381639029157280082380130430614873866323115560369014760400555806382796483268964247576565910461465287964436224317909506149870033433620521383836825668122673920298487784780766884830373368965264649380987973593340446379404933119555990181334832269059313530508197589914289257192945919399067137004848235327595396028587316696315881959851654528501124145537291463117235915505211787947886030028964813657302650884496809848568653412335923875446815440033552043676412381839789827811208250854754302791466802463896354529428289175307786368158026677053884464109889739285084383629482791885044674025109310159952693907903025640069982468993556438180147531929938136330828866705441440585653262951937001942471636042226433632164144883544507108874774141774295464206968376760109648713020758296933883197695891796898905531795515109391249484601904204586933340704717018129780307548030407150925187604 7079640283607111400705159113719172498681082922128228032713474133890544651493611274022262752228056650609679180737662466429466662420968570660953277997095162453624156452236152104310482601529576412637394693898155872908162718365027238393045721339255902197842180447159662225153429526473864951919853080854013608294457171731808672277300025229085574480498720210010611517186446190045287432330885207997766771142805388643656108727850001318282812123831817641400568195195327397777600362903408125267457063560817397728518177078816825514807824537739857815863955403491218331451564105564706618164104610534885564580774008958750700605987761524645350039154184304179176152014292347107425816832678753583627886469556835014124070251008400256619839180918156841462613084285672928669110000719400969334077753583042374126860703460203929927721073726958438174667846624684605500334588418726626718885394935559101322251520767453438927913399778696595834548778139970750911100413639522709348950628410882297208505846499489076053572769894802308023750090067082438585672291625531512818049489527827995045117531000925947286609732510390859796065364387586423123188274431400019943410825654043351252780334537973583865860259126783855792716210511607678626674280725890491669324947759942505334931173197674837720394544972381176922296304056055358442791871061111150653948968673274825189148871899837595481885082060417088935307501603238080174724759100123578629014796941425983018036898405064043679494610167130049014393934696319298120041650869448898522402099770776994688091684540284442283282237209663143057832083377425377635615230691776498394703805327999641943838969047718502338638642932034233206406976275102146529719543007675152907036137239243873550810370732268513950620825990621899765919517902014933927917785766069139263824253195686229522654472423185160261579657702784081221243213620768871706182066398160394628767254198023658052330361464705051657870954479541528095656848060254472742171222369520680640550788214847755261192837789672663929536790567379808197774902055003949042720735386688722455165641011225547152325686382986309669580505776413267827572007024920277571461209254157271056243749236418710528695548081834265260372875962215766261469648673640786931902255922149552206329779088627111454801738698283231780083316678987231478636807582642989227559302615755361081101613183762371672489439300497720652280743545375391199805434884134378517977503637742030276922848447 11455098606999251260661867502567067945289684853144056236052377914956097905898974802679091928007469415189034971490692313640508487922621963069546420464652209643442913449983148463277888886320538068066146117857342364608883213763652343334688401491368373074556333007846575255047788435972351022237815285313622860122111231081561178647610109365841604092745154395546067973548106147386010679912308480490998645414015491645070415547856801321847855704774042248747999240823603293649514189128915853397551252689021037507191392276600684657909939089873083657522546576739964886199503765061889372159530285390244029731831086594559468763637177283670774149140771909686202846263601675197125383576636050154782128725374631752879571069357314971770800115150509752153278302735339438879403396391429738088275521717200916178257803970225017561314215228875080965907350444709298069030981876029184979165933327226888977312615754117134979349151319873685709352156399694470871033041004689093717444631563069888292446093655635326295421041724141809624884210751528265026967345461010035712828217110203575244729846087563561502288323774634314635302918502156441590997866580153009103934261786698010311988388512589947266879299624846291108150540243731829541832310636229791850164337450699197868403578750398262621703914449536391523002354415403577872912432105617332135109907888764170309434085663745156620352389140044708461244247862551990816479807856291788674690502276673945646991128513629315125166543574215144643932410525706227950084077209100863985972270399309380148829491138733118519754126562044782086989363459805508066230104558099613955072820088400197750221765530987466586215208842495698494371412499420056035869413041108773428419974064911996224730669220053294717505656363990865030568898889988527268364165171002258819814434530518498581968002931382750175868914895730000620310350625617107033777462426747711325083136157875312580831485610242343120988190395046739883604734090283437555828525020405177450399356868260091185068284605112697481580466979761647987602713263254803797023526853491186351520170439514722460112054541012986723464969886303007112656390654403069456505883279266581216196443144321736168765530550827821698553023494145704397800477540346228372487909185101489208272250724669337888433902843166776287192191453129005774101014551019749337208015636513658014984810879654168571394971096012830043530228147279595786738775588851396647757811185772437427848036051 18534738890606362661367026616286240443970767775272284268765852048846642557392586076701354680235526065798714152228354780069975150343590533730499698461747372097067069902219300567588371487850114480703540811755498237517045932128679581727734122830624275272398513455006237480201217962446215974157668366167636468416568402813369850924910134594927178573243874605556679490734552337431298112243193688488765416556820880288726524275706802640130667828605859890148567436018930691427114552032323978665008316249838435235709569355417510172717763627612941473386501980231183217651067870626595990323634895925129594312605095553310169369624938808316124188294956213865378998277894022304551200409314803738410015194931466767003641320365715228390639296068666593615891387021012367548513397110830707422353275300243290305118507430428947489035288955833519140575197069393903569365570294755811698051328262785990299564136521570573907262551098570281543900934539665221782133454644211803066395259973952185500951940155124402348993811618944117648634300818610703612639637086541548530877706638031570289847377088489508788898056285025174431368282889742864714186141011553029047345087440741361564768723050563531132739558751630146900866750755339508168506591362120283519489285210641703203334751948073100342098459421917568445298658471458936315704303166728482789058876562038995498582957563582752102237471200461797396551749465790070991204566956415367303705299218099928665028026918693358804661153741345193658326345222025526070125728078549762508374370170086374836921175679017560803036363771707925144821446837230885701845335249876112349776625416399839694060734578705968924853851774529931700778388774522202565588956048783926335456111304155869775541039952321808668126482354612764796488416792003461196281950937071398083638687726204728104622475354567910437448572598514081841553564246385978739959528824908105953850390355898970633161847074947394778859144874588267979261582150537910297999747389925858090950145083107846446261122394785361411117257547141456185377615318258752839744262240179908806685811450740269612437740923999296393045475662716274940228397679323347027967092533423852272440192380740446697461078632662086958925899456361470659270126213987015304390165107251041414602029813296449343235641541450008067275508132116237252737822133662738564767318252269019096086424063416540243884410396510550695810971692654986986544210472985775165735314823514467704770884498 29989837497605613922028894118853308389260452628416340504818229963802740463291560879380446608242995480987749123719047093710483638266212496800046118926399581740509983352202449030866260374170652548769686929612840602125929145892331925062422524321992648346954846462852812735249006398418566996395483651481259328538679633894931029572520243960768782665989029001102747464282658484817308792155502168979764061970836371933796939823563603961978523533379902138896566676842533985076628741161239832062559568938859472742900961632018194830627702717486025130909048556971148103850571635688485362483165181315373624044436182147869638133262116091986898337435728123551581844541495697501676583985950853893192143920306098519883212389723030200161439411219176345769169689756351806427916793502260445510628797017444206483376311400653965050349504184708600106482547514103201638396552170784996677217261590012879276876752275687708886611702418443967253253090939359692653166495648900896783839891537022073793398033810759728644414853343085927273518511570138968639606982547551584243705923748235145534577223176053070291186380059659489066671201391899306305184007591706038151279349227439371876757111563153478399618858376476438009017290999071337710338901998350075369653622661340901071738330698471362963802373871453959968301012886862514188616735272345814924168784450803165808017043227327908722589860340506505857795997328342061807684374812707155978395801494773874312019155432322673929827697315560338302258755747731754020209805287650626494346640569395754985750666817750679322790490333752707231810810297036393768075439807975726304849445504800037444282500109693435511069060617025630195149801273942258601458369089892699763876085369067866000271709172375103385632138718603629827057315681991988464646116108073656903453122256723226686590478285950660613317487494244082461863914872003085773736991251655817278933526513774283213993332685189737899847335269635007862866316240821347853828272410331035541349501951367937631329406999898058892697724526903104172980328581513556636767789093671095158205981890254992072549795465012283116510445549019282052884788333726416484472975812690433488636635525062182866226609183489908657478922950507175057070603754333243676878074292352530622874280537965787231669544384616784354467699585245243026838836684682487901975333888782677111071234943070708815279381492523380739341199839934582773282986061837171813493126009286905132618920549 48524576388211976583395920735139548833231220403688624773584082012649383020684146956081801288478521546786463275947401873780458788609803030530545817388146953837577053254421749598454631862020767029473227741368338839642975078021011506790156647152616923619353359917859050215450224360864782970553152017648895796955248036708300880497430378555695961239232903606659426955017210822248606904398695857468529478527657252222523464099270406602109191361985762029045134112861464676503743293193563810727567885188697907978610530987435705003345466345098966604295550537202331321501639506315081352806800077240503218357041277701179807502887054900303022525730684337416960842819389719806227784395265657631602159115237565286886853710088745428552078707287842939385061076777364173976430190613091152932982072317687496788494818831082912539384793140542119247057744583497105207762122465540808375268589852798869576440888797258282793874253517014248797154025479024914435299950293112699850235151510974259294349973965884130993408664962030044922152812388749672252246619634093132774583630386266715824424600264542579080084436344684663498039484281642171019370148603259067198624436668180733441525834613717009532358417128106584909884041754410845878845493360470358889142907871982604275073082646544463305900833293371528413599671358321450504321038439074297713227661012842161306600000790910660824827331540968303254347746794132132798888941769122523282101100712873802977047182351016032734488851056905531960585100969757280090335533366200389002721010739482129822671842496768240125826854105460632376632257134267279469920775057851838654626070921199877138343234688399404435922912391555561895928190048464461167047325138676626099332196673223735775812749124696912053758621073216394623545732473995449660928067045145054987091809982927954791212953640518571050766060092758164303417479118389064513696520076563923232783916869673253847155179760137132678706480144223275842127898391359258151828019800256893632299647034475784077590529394683420303814982074044560358357943899772309476512051333851003964891793340995261684987536389011579509555921211735556993113186013049763512440068346114285761076827905802629563687687816151995616404822406868645716340729968320258981268239399603572037476310351262236574905185926066792421743207717361480279576658818345226466742652141051696207157659006487249059163791889033931435152171532589569759827196534822946979228440832801372837389805047 78514413885817590505424814853992857222491673032104965278402311976452123483975707835462247896721517027774212399666448967490942426876015527330591936314546535578087036606624198629320892236191419578242914670981179441768904223913343431852579171474609571966308206380711862950699230759283349966948635669130155125493927670603231910069950622516464743905221932607762174419299869307065915696554198026448293540498493624156320403922834010564087714895365664167941700789703998661580372034354803642790127454127557380721511492619453899833973169062584991735204599094173479425352211142003566715289965258555876842401477459849049445636149170992289920863166412460968542687360885417307904368381216511524794303035543663806770066099811775628713518118507019285154230766533715980404346984115351598443610869335131703271871130231736877589734297325250719353540292097600306846158674636325805052485851442811748853317641072945991680485955935458216050407116418384607088466445942013596634075043047996333087748007776643859637823518305115972195671323958888640891853602181644717018289554134501861359001823440595649371270816404344152564710685673541477324554156194965105349903785895620105318282946176870487931977275504583022918901332753482183589184395358820434258796530533323505346811413345015826269703207164825488381900684245183964692937773711420112637396445463645327114617044018238569547417191881474809112143744122474194606573316581829679260496902207647677289066337783338706664316548372465870262843856717489034110545338653851015497067651308877884808422509314518919448617344439213339608443067431303673237996214865827564959475516425999914582625734798092839946991973008581192091077991322406719768505694228569325863208282042291601776084458297072015439390759791820024450603048155987438125574183153218711890544932239651181477803431926469231664083547587002246765281393990392150287433511328219740511717443383447537061148512445326870578553815413858283704994214632180606005656292210587929173649148985843721708919936394581479196512706600947664531338272481285866113279840427522099123097775231250253757537331854023862626066366760754839045997974346776179996913044158804719249713463430864812429914296999641904273883745357375820773411333722653502658146313691956102660350590889228023806574730310683576776210907302606723306415495503027714368717986029834373318228893949557957874443173381557312174493371372524152533110182596660118792721566842088277970008725596 127038990274029567088820735589132406055722893435793590051986393989101506504659854791544049185200038574560675675613850841271401215485818557861137753702693489415664089861045948227775524098212186607716142412349518281411879301934354938642735818627226495585661566298570913166149455120148132937501787686779050922449175707311532790567381001072160705144454836214421601374317080129314522600952893883916823019026150876378843868022104417166196906257351426196986834902565463338084115327548367453517695339316255288700122023606889604837318635407683958339500149631375810746853850648318648068096765335796380060758518737550229253139036225892592943388897096798385503530180275137114132152776482169156396462150781229093656919809900521057265596825794862224539291843311080154380777174728442751376592941652819200060365949062819790129119090465792838600598036681097412053920797101866613427754441295610618429758529870204274474360209452472464847561141897409521523766396235126296484310194558970592382097981742527990631232183267146017117824136347638313144100221815737849792873184520768577183426423705138228451355252749028816062750169955183648343924304798224172548528222563800838759808780790587497464335692632689607828785374507893029468029888719290793147939438405306109621884495991560289575604040458197016795500355603505415197258812150494410350624106476487488421217044809149230372244523422443112366491490916606327405462258350952202542598002920521480266113520134354739398805399429371402223428957687246314200880872020051404499788662048360014631094351811287159574444198544673971985075324565570952707916989923679403614101587347199791720968969486492244382914885400136753987006181370871180935553019367245951962540478715515337551897207421768927493149380865036419074148780629982887786502250198363766877636742222579136269016385566987802714849607679760411068698873108781214801130031404783663744501360253120790908303692205464003257260295558081559547122113023539864157484312010844822805948796020319505786510465789264899500327688674992224889696216381058175589791891761373103087989568572245515442524868243035442135622287972490396039111160359825943509353112504919005010790291336667441993601984815793899890288567764244466489752063690973761639414553091559674697826901240490260381479916236750369197954115019968203585992154321372940835460638170886069525386552956045206933606965270591243609645542905113722292937379131483065771950007674889650807398530643 205553404159847157594245550443125263278214566467898555330388705965553629988635562627006297081921555602334888075280299808762343642361834085191729690017240024993751126467670146857096416334403606185959057083330697723180783525847698370495314990101836067551969772679282776116848685879431482904450423355909206047943103377914764700637331623588625449049676768822183775793616949436380438297507091910365116559524644500535164271944938427730284621152717090364928535692269461999664487361903171096307822793443812669421633516226343504671291804470268950074704748725549290172206061790322214783386730594352256903159996197399278698775185396884882864252063509259354046217541160554422036521157698680681190765186324892900426985909712296685979114944301881509693522609844796134785124158843794349820203810987950903332237079294556667718853387791043557954138328778697718900079471738192418480240292738422367283076170943150266154846165387930680897968258315794128612232842177139893118385237606966925469845989519171850269055701572261989313495460306526954035953823997382566811162738655270438542428247145733877822626069153372968627460855628725125668478460993189277898432008459420944078091726967457985396312968137272630747686707261375213057214284078111227406735968938629614968695909336576115845307247623022505177401039848689379890196585861914522988020551940132815535834088827387799919661715303917921478635235039080522012035574932781881803094905128169157555179857917693446063121947801837272486272814404735348311426210673902419996856313357237899439516861125806079023061542983887311593518391996874625945913204789506968573577103773199706303594704284585084329906858408717946078084172693277900704058713595815277825748760757806939327981665718840942932540140656856443524751828785970325912076433351582478768181674462230317746819817493457034378933155266762657833980267099173365088563542733003404256218803636568327969452204650790873835814110971939843252116327655720470163140604221432751979597945006163227495430402183846378696840395275939889421034488862344041703071732188895202211087343803495769200062200097059304761688654733245235085109134706602123506266156663723724260503754767532254423516281815435804164172313121620287263163397413627264297560866783515777358177492129718284188054646547433945974165022322574926892407649824400655204178624200720442843615446905603164808050138652148555784138914277637874826047561728143184564671574516977928777407256239 332592394433876724683066286032257669333937459903692145382375099954655136493295417418550346267121594176895563750894150650033744857847652643052867443719933514409415216328716095084871940432615792793675199495680216004592662827782053309138050808729062563137631338977853689282998140999579615841952211042688256970392279085226297491204712624660786154194131605036605377167934029565694960898459985794281939578550795376914008139967042844896481527410068516561915370594834925337748602689451538549825518132760067958121755539833233109508610439877952908414204898356925100919059912438640862851483495930148636963918514934949507951914221622777475807640960606057739549747721435691536168673934180849837587227337106121994083905719612817743244711770096743734232814453155876289165901333572237101196796752640770103392603028357376457847972478256836396554736365459795130954000268840059031907994734034032985712834700813354540629206374840403145745529400213203650135999238412266189602695432165937517851943971261699840900287884839408006431319596654165267180054045813120416604035923176039015725854670850872106273981321902401784690211025583908774012402765791413450446960231023221782837900507758045482860648660769962238576472081769268242525244172797402020554675407343935724590580405328136405420911288081219521972901395452194795087455398012408933338644658416620303957051133636537030291906238726361033845126725955686849417497833283734084345692908048690637821293378052048185461927347231208674709701772091981662512307082693953824496644975405597914070611212937093238597505741528561283578593716562445578653830194713186372187678691120399498024563673771077328712821743808854700065090354064149081639611732963061229788289239473322276879878873140609870425689521521892862598900609415953213698578683549946245645818416684809454015836203060444837093782762946523068902679140207954579889693574137787068000720163889689118877755896856254877093074406530021402799238440679260334320624916232277574785546741026482733281940867973111278197168083950932114310730705243402217292863623950268305299076912375741284642587068340094746897310942705735631124220295066428067015619269168642729271294046104199696417118266631229704054460880885864753752915461104601025936975419875075452056004393370208544569534562784184315172119137342543130478399804145773596039639262371606512369001999861648371741657103922739799393784457182751597118984940859626250336621582191867579584805786882 538145798593723882277311836475382932612152026371590700712763805920208766481930980045556643349043149779230451826174450458796088500209486728244597133737173539403166342796386241941968356767019398979634256579010913727773446353629751679633365798830898630689601111657136465399846826879011098746402634398597463018335382463141062191842044248249411603243808373858789152961550979002075399195967077704647056138075439877449172411911981272626766148562785606926843906287104387337413090051354709646133340926203880627543389056059576614179902244348221858488909647082474391091265974228963077634870226524500893867078511132348786650689407019662358671893024115317093595965262596245958205195091879530518777992523431014894510891629325114429223826714398625243926337063000672423951025492416031451017000563628721006724840107651933125566825866047879954508874694238492849854079740578251450388235026772455352995910871756504806784052540228333826643497658528997778748232080589406082721080669772904443321789960780871691169343586411669995744815056960692221216007869810502983415198661831309454268282917996605984096607391055774753317671881212633899680881226784602728345392239482642726915992234725503468256961628907234869324158789030643455582458456875513247961411376282565339559276314664712521266218535704242027150302435300884174977651983874323456326665210356753119492885222463924830211567954030278955323761960994767371429533408216515966148787813176859795376473235969741631525049295033045947195974586496717010823733293367856244493501288762835813510128074062899317620567284512448595172112108559320204599743399502693340761255794893599204328158378055662413042728602217572646143174526757426982343670446558876507614038000231129216207860538859450813358229662178749306123652438201923539610655116901528724414000091147039771762656020553901871472715918213285726736659407307127944978257116870790472256938967526257446847208101507045750928888517501961246051354768334980804483765520453710326765144686032645960777371270156957656894008479226872003731765194105746258995935356139163507510164256179237053842649268437154051658999597438980866209329429773030190521885425832366453531797800871731950840634548446665508218633194007485041016078858518228290234536286658591229414181885499926828757589209331618261146284159665118057370807453970174251243817886572326955212617446767251536549707242574888355177923371460389471945032502587769434901293156708845508362213043121 870738193027600606960378122507640601946089486275282846095138905874863902975226397464106989616164743956126015577068601108829833358057139371297464577457107053812581559125102337026840297199635191773309456074691129732366109181411804988771416607559961193827232450634990154682844967878590714588354845441285719988727661548367359683046756872910197757437939978895394530129485008567770360094427063498928995716626235254363180551879024117523247675972854123488759276881939312675161692740806248195958859058963948585665144595892809723688512684226174766903114545439399492010325886667603940486353722454649530830997026067298294602603628642439834479533984721374833145712984031937494373869026060380356365219860537136888594797348937932172468538484495368978159151516156548713116926825988268552213797316269491110117443136009309583414798344304716351063611059698287980808080009418310482296229760806488338708745572569859347413258915068736972389027058742201428884231319001672272323776101938841961173733932042571532069631471251078002176134653614857488396061915623623400019234585007348469994137588847478090370588712958176538007882906796542673693283992576016178792352470505864509753892742483548951117610289677197107900630870799911698107702629672915268516086783626501064149856719992848926687129823785461549123203830753078970065107381886732389665309868773373423449936356100461860503474192756639989168888686950454220847031241500250050494480721225550433197766614021789816986976642264254621905676358588698673336040376061810068990146264168433727580739286999992556218073026041009878750705825121765783253573594215879712948934486013998702352722051826739741755550346026427346208264880821576063983282179521937737402327239704451493087739412000060683783919183700642168722553047617876753309233800451474970059818507831849225778492223614346708566498681159808795639338547515082524867950691008577540257659131415946565724963998363300628021962924031982648850593209014241138804390436685987901550691427059128694059312138130068935091176563177804118042495899349148476288798980089431812809241168554978338485236336777248798556310540144716497333549724839458257537504695001009182803091846975931647257752815077895212273094074893349794768994319622829316171511706533666681470186278870135373327123772115802576318403297007661187849207258115947847283457148943933467581619446628899908291364346497628154571707828643141069064017443447395685237914738900713087947018830003 1408883991621324489237689958983023534558241512646873546807902711795072669457157377509663632965207893735356467403243051567625921858266626099542061711194280593215747901921488578968808653966654590752943712653702043460139555535041556668404782406390859824516833562292126620082691794757601813334757479839883183007063044011508421874888801121159609360681748352754183683091035987569845759290394141203576051854701675131812352963791005390150013824535639730415603183169043700012574782792160957842092199985167829213208533651952386337868414928574396625392024192521873883101591860896567018121223948979150424698075537199647081253293035662102193151427008836691926741678246628183452579064117939910875143212383968151783105688978263046601692365198893994222085488579157221137067952318404300003230797879898212116842283243661242708981624210352596305572485753936780830662159749996561932684464787578943691704656444326364154197311455297070799032524717271199207632463399591078355044856771711746404495523892823443223238975057662747997920949710575549709612069785434126383434433246838657924262420506844084074467196104013951291325554788009176573374165219360618907137744709988507236669884977209052419374571918584431977224789659830555153690161086548428516477498159909066403709133034657561447953348359489703576273506266053963145042759365761055845991975079130126542942821578564386690715042146786918944492650647945221592276564649716766016643268534402410228574239849991531448512025937297300569101650945085415684159773669429666313483647552931269541090867361062891873838640310553458473922817933681085987853316993718573053710190280907597906680880429882402154798278948243999992351439407579003046326952626080814245016365239935580709295599950859511497142148845879391474846205485819800292919888917353003694473818598978888997541148244168248580039214599373094522375997954822210469846207807879368012514598098942204012572172099870346378950851441533943894901947977349221943288155957139698228315836113091774654836683408287026591985185042404676121774261093454894735284734336228595320319405424734215392327885605214402850215310137583697363542879154612488448059390120833375636334889647847663598098387363524560720491727268900834835785073178141057606406047993192257910884368164370062202084712981447420837464687456672779245220014712086122098527275035516260422794236893396151444841071589072516509749631200103530541009049946035165120139207895609558596309231873124 2279622184648925096198068081490664136504330998922156392903041617669936572432383774973770622581372637691482482980311652676455755216323765470839526288651387647028329461046590915995648951166289782526253168728393173192505664716453361657176199013950821018344066012927116774765536762636192527923112325281168902995790705559875781557935557994069807118119688331649578213220520996137616119384821204702505047571327910386175533515670029507673261500508493853904362460050983012687736475532967206038051059044131777798873678247845196061556927612800571392295138737961273375111917747564170958607577671433799955529072563266945375855896664304542027630960993558066759887391230660120946952933144000291231508432244505288671700486327200978774160903683389363200244640095313769850184879144392568555444595196167703226959726379670552292396422554657312656636096813635068811470239759414872414980694548385432030413402016896223501610570370365807771421551776013400636516694718592750627368632873650588365669257824866014755308606528913826000097084364190407198008131701057749783453667831846006394256558095691562164837784816972127829333437694805719247067449211936635085930097180494371746423777719692601370492182208261629085125420530630466851797863716221343784993584943535567467858989754650410374640478183275165125396710096807042115107866747647788235657284947903499966392757934664848551218516339543558933661539334895675813123595891217016067137749255627960661772006464013321265499002579561555191007327303674114357495814045491476382473793817099703268671606648062884430056713336594468352673523758802851771106890587934452766659124766921596609033602481709141896553829294270427338559704288400579110310234805602751982418692479640032202383339362859572180926068029580033643568758533437677046229122717804478664533637106810738223319640467782595288605713280532903318015336502337292994714158498887945552772257230358150578297136098233647006972814365565926543752541186363463082092546393825686129866527540150903348895995546417095527076361605582480239816756992804043211573533316318027133128646593289193730813121941991651648771620677728413860876428879451946705596894815834384819137981494823595245356140178602455932764821343794184630554067497763886922577559699725924592354554443240197575411836753563223413783090753680440433069221970202069945810732184460193890375856340025051353132435935570144664321339028746671610073067389482560805377122634510271684256250703127 3688506176270249585435758040473687671062572511569029939710944329465009241889541152483434255546580531426838950383554704244081677074590391570381587999845668240244077362968079494964457605132944373279196881382095216652645220251494918325580981420341680842860899575219243394848228557393794341257869805121052086002853749571384203432824359115229416478801436684403761896311556983707461878675215345906081099426029585517987886479461034897823275325044133584319965643220026712700311258325128163880143259029299607012082211899797582399425342541374968017687162930483147258213509608460737976728801620412950380227148100466592457109189699966644220782388002394758686629069477288304399531997261940202106651644628473440454806175305464025375853268882283357422330128674470990987252831462796868558675393076065915343802009623331795001378046765009908962208582567571849642132399509411434347665159335964375722118058461222587655807881825662878570454076493284599844149158118183828982413489645362334770164781717689457978547581586576573998018034074765956907620201486491876166888101078684664318518978602535646239304980920986079120658992482814895820441614431297253993067841890482878983093662696901653789866754126846061062350210190461022005488024802769772301471083103444633871568122789307971822593826542764868701670216362861005260150626113408844081649260027033626509335579513229235241933558486330477878154189982840897405400160540933782083781017790030370890346246314004852714011028516858855760108978248759530041655587714921142695957441370030972809762474009125776303895353647147926826596341692483937758960207581653025820369315047829194515714482911591544051352108242514427330911143695979582156637187431683566227435057719575612911678939313719083678068216875459425118414964019257477339149011635157482359007455705789627220860788711950843868644927879905997840391334457159503464560366306767313565286855329300354590869308198103993385923665807099870438654489163712685025380702350965384358182363653242678003732678954704122119061546647987156361591018086258937946858267652546622453448052018023409123141007547206054498986930815312111224419308034064435153656284936667760455472871142671258843454527542127016653256548612695019466339140675904944528983607692918182503238922607610259777496549735010644251247778210353219678289236682288192044338007219976454313170093233421202797973507524642661174070970228850202151082117335517725925516330530119830280565482576251 5968128360919174681633826121964351807566903510491186332613985947134945814321924927457204878127953169118321433363866356920537432290914157041221114288497055887272406824014670410960106556299234155805450050110488389845150884967948279982757180434292501861204965588146360169613765320029986869180982130402220988998644455131259984990759917109299223596921125016053340109532077979845077998060036550608586146997357495904163419995131064405496536825552627438224328103271009725388047733858095369918194318073431384810955890147642778460982270154175539409982301668444420633325427356024908935336379291846750335756220663733537832965086364271186248413348995952825446516460707948425346484930405940493338160076872978729126506661632665004150014172565672720622574768769784760837437710607189437114119988272233618570761736003002347293774469319667221618844679381206918453602639268826306762645853884349807752531460478118811157418452196028686341875628269298000480665852836776579609782122519012923135834039542555472733856188115490399998115118438956364105628333187549625950341768910530670712775536698227208404142765737958206949992430177620615067509063643233889078997939070977250729517440416594255160358936335107690147475630721091488857285888518991116086464668046980201339427112543958382197234304726040033827066926459668047375258492861056632317306544974937126475728337447894083793152074825874036811815729317736573218523756432150798150918767045658331552118252778018173979510031096420410951116305552433644399151401760412619078431235187130676078434080657188660733952066983742395179269865451286789530067098169587478587028439814750791124748085393300685947905937536784854669470847984380161266947422237286318209853750199215645114062278676578655858994284905039458761983722552695154385378134352961961023541092812600365444180429179733439157250641160438901158406670959496796459274524805655259118059112559658505169166444296337640392896480172665796982407030350076148107473248744791070488048891193393581352628674501121217646137908253569636601407775079062981158431800968864649586576698611312602853954129489197706147758551493040525085295736913516381859253179752502145274610852637494854088810667720729472586021369956489204096893208173668831451561167392644107095593477050850457352908386488573867665030868964033660111358458652490261990148739404436648203545949573446254151105943460212805838392309257596873761155184725000286730893453164630101964821733279378 9656634537189424267069584162438039478629476022060216272324930276599955056211466079940639133674533700545160383747421061164619109365504548611602702288342724127516484186982749905924564161432178529084646931492583606497796105219443198308338161854634182704065865163365603564461993877423781210438851935523273075001498204702644188423584276224528640075722561700457102005843634963552539876735251896514667246423387081422151306474592099303319812150596761022544293746491036438088358992183223533798337577102730991823038102047440360860407612695550507427669464598927567891538936964485646912065180912259700715983368764200130290074276064237830469195736998347584133145530185236729746016927667880695444811721501452169581312836938129029525867441447956078044904897444255751824690542069986305672795381348299533914563745626334142295152516084677130581053261948778768095735038778237741110311013220314183474649518939341398813226334021691564912329704762582600324815010954960408592195612164375257905998821260244930712403769702066973996133152513722321013248534674041502117229869989215335031294515300762854643447746658944286070651422660435510887950678074531143072065780961460129712611103113495908950225690461953751209825840911552510862773913321760888387935751150424835210995235333266354019828131268804902528737142822529052635409118974465476398955805001970752985063916961123319035085633312204514689969919300577470623923916973084580234699784835688702442464499092023026693521059613279266711225283801193174440806989475333761774388676557161648888196554666314437037847420630890322005866207143770727289027305751240504407397754862579985640462568304892229999258045779299282000381991680359743423584609668969884437288807918791258025741217990297739537062501780498883880398686571952631724527145988119443382548548518389992665041217891684283025895569040344898998798005416656299923834891112422572683345967888958859760035752494441633778820145979765667421061519513788833132853951095756454846231254846636259356361353455825339765199454901556792962998793165321919105290068621411272040024750629336011977095137036403760646745482308352636309715044947580817012909464689169905730083723780166112932265195262856489239277918569184223563232348849573775980544775085562289598832399658460717130404936223584511916278647174386879789647695334778454034486746624413102516716042806867456949079450984855467012463279486447075912237302060518012656409783694749932245387215855629 15624762898108598948703410284402391286196379532551402604938916223734900870533391007397844011802486869663481817111287418085156541656418705652823816576839780014788891010997420316884670717731412684890096981603071996342946990187391478291095342288926684565270830751511963734075759197453768079619834065925494064000142659833904173414344193333827863672643686716510442115375712943397617874795288447123253393420744577326314726469723163708816348976149388460768621849762046163476406726041318903716531895176162376633993992195083139321389882849726046837651766267371988524864364320510555847401560204106451051739589427933668123039362428509016717609085994300409579661990893185155092501858073821188782971798374430898707819498570794033675881614013628798667479666214040512662128252677175742786915369620533152485325481629336489588926985404344352199897941329985686549337678047064047872956867104663991227180979417460209970644786217720251254205333031880600805480863791736988201977734683388181041832860802800403446259957817557373994248270952678685118876867861591128067571638899746005744070051998990063047590512396902493020643852838056125955459741717765032151063720032437380442128543530090164110584626797061441357301471632643999720059801840752004474400419197405036550422347877224736217062435994844936355804069282197100010667611835522108716262349976907879460792254409017402828237708138078551501785648618314043842447673405235378385618551881347033994582751870041200673031090709699677662341589353626818839958391235746380852819911744292324966630635323503097771799487614632717185136072595057516819094403920827982994426194677330776765210653698192915947163983316084136669852839664739904690532031906256202647142558118006903139803496666876395396056786685538342642382409124647786109905280341081404406089641330990358109221647071417722183146210200783800157204676376153096383109415918077831801405080448617364929202196790779274171716626152431464403468549863864981240327199840547525334280146040029840708990027956946557411337363155126429564406568244384900263721869590275921626601449240648614831049266525601466794504033801393161395010781861097198872162644441672051004694576417660967021075862983585961825299288525673427660125557023242607432105942478206396694425876709311174483313322712158379581309516138420539901006153987268716024635486028849750720261992380313711100185394445068272850855588744043949673392486785518299387303236859380034210208949135007 25281397435298023215772994446840430764825855554611618877263846500334855926744857087338483145477020570208642200858708479249775651021923254264426518865182504142305375197980170222809234879163591213974743913095655602840743095406834676599433504143560867269336695914877567298537753074877549290058686001448767139001640864536548361837928469558356503748366248416967544121219347906950157751530540343637920639844131658748466032944315263012136161126746149483312915596253082601564765718224542437514869472278893368457032094242523500181797495545276554265321230866299556416403301284996202759466741116366151767722958192133798413113638492746847186804822992647993712807521078421884838518785741701884227783519875883068289132335508923063201749055461584876712384563658296264486818794747162048459710750968832686399889227255670631884079501489021482780951203278764454645072716825301788983267880324978174701830498356801608783871120239411816166535037794463201130295874746697396794173346847763438947831682063045334158663727519624347990381423466401006132125402535632630184801508888961340775364567299752917691038259055846779091295275498491636843410419792296175223129500993897510154739646643586073060810317259015192567127312544196510582833715162512892862336170347829871761417583210491090236890567263649838884541212104726152646076730809987585115218154978878632445856171370140721863323341450283066191755567918891514466371590378319958620318336717035736437047250962064227366552150322978944373566873154819993280765380711080142627208588301453973854827189989817534809646908245523039191002279738828244108121709672068487401823949539910762405673222003085145946422029095383418670234831345099648114116641575226087084431366036798161165544714657174134933119288466037226522781095696600417834432426329200847788638189849380350774262864963102005209041779241128699156002681792809396306944307030500404484751048337576224689237949285220907950536772132197131824530069377653814373181150936303980180511400886666100065351381412771897176536818056683222527405361409706819369011938211687193666626199869984626808144403562005227441249516109745797704725826808678015885072109130841956734778300197827079953341058246442451064577207094857651223357905872816383412650717563768686293258276367771891613718258935742891497588163312807419690653849322047170059122232653262853236978035187181168049264845429923739863318868230491025585629788846036312043713020554129966455596164990636 40906160333406622164476404731242822051022235087163021482202762724069756797278248094736327157279507439872124017969995897334932192678341959917250335442022284157094266208977590539693905596895003898864840894698727599183690085594226154890528846432487551834607526666389531032613512272331317369678520067374261203001783524370452535252272662892184367421009935133477986236595060850347775626325828790761174033264876236074780759414038426720952510102895537944081537446015128765041172444265861341231401367455055745091026086437606639503187378395002601102972997133671544941267665605506758606868301320472602819462547620067466536153000921255863904413908986948403292469511971607039931020643815523073010755318250313966996951834079717096877630669475213675379864229872336777148947047424337791246626120589365838885214708885007121473006486893365834980849144608750141194410394872365836856224747429642165929011477774261818754515906457132067420740370826343801935776738538434384996151081531151619989664542865845737604923685337181721984629694419079691251002270397223758252373147788707346519434619298742980738628771452749272111939128336547762798870161510061207374193221026334890596868190173676237171394944056076633924428784176840510302893517003264897336736589545234908311839931087715826453953003258494775240345281386923252656744342645509693831480504955786511906648425779158124691561049588361617693541216537205558308819263783555337005936888598382770431630002832105428039583241032678622035908462508446812120723771946826523480028500045746298821457825313320632581446395860155756376138352333885760927216113592896470396250144217241539170883875701278061893586012411467555340087671009839552804648673481482289731573924154805064305348211324050530329176075151575569165163504821248203944337706670282252194727831180370708883484512034519727392187989441912499313207358168962492690053722948578236286156128786193589618440146076000182122253398284628596227998619241518795613508350776851505514791546926695940774341409369718454587874181211809652091811929654091719632733807801963115293227649110633241639193670087606694235753549911138959099736608669775214757234753572514007739472876615488046974416921230028412889876495620531078883483462896058990844756660041975082987684153077083066097031581647901271078897679451227959591660003309315886083757718682112603957240027567494879149450239874992012714174456974534975259022275631554611431016257413510000665805114125643 66187557768704645380249399178083252815848090641774640359466609224404612724023105182074810302756528010080766218828704376584707843700265214181676854307204788299399641406957760762503140476058595112839584807794383202024433181001060831489962350576048419103944222581267098331151265347208866659737206068823028342003424388907000897090201132450540871169376183550445530357814408757297933377856369134399094673109007894823246792358353689733088671229641687427394453042268211366605938162490403778746270839733949113548058180680130139684984873940279155368294227999971101357670966890502961366335042436838754587185505812201264949266639414002711091218731979596397005277033050028924769539429557224957238538838126197035286084169588640160079379724936798552092248793530633041635765842171499839706336871558198525285103936140677753357085988382387317761800347887514595839483111697667625839492627754620340630841976131063427538387026696543883587275408620807003066072613285131781790324428378915058937496224928891071763587412856806069975011117885480697383127672932856388437174656677668687294799186598495898429667030508596051203234403835039399642280581302357382597322722020232400751607836817262310232205261315091826491556096721037020885727232165777790199072759893064780073257514298206916690843570522144614124886493491649405302821073455497278946698659934665144352504597149298846554884391038644683885296784456097072775190854161875295626255225315418506868677253794169655406135391355657566409475335663266805401489152657906666107237088347200272676285015303138167391093304105678795567140632072714005035337823264964957798074093757152301576557097704363207840008041506850974010322502354939200918765315056708376816005290191603225470892925981224665262295363617612795687944600517848621778770132999483099983366021029751059657747376997621732601229768683041198469210039961771888996998029979078640770907177123769814307678095361221090072790170416825728052528688619172609986689501713155485695302947813362040839692790782490351764410999268492874619217291063798539001745746013650308959853848980617868447338073649611921677003066020884756804462435478453230642306862703355964474251176813315126927757979476470863954453702715388730106841368768875374257407377605743769280942429444854957710749840583644162576485842764035379282313852631363056142879951335375457194218062754676047198715085304915752577493325205026000844652064477590923474729277967639967121401279116279 107093718102111267544725803909326074866870325728937661841669371948474369521301353276811137460036035449952890236798700273919640036378607174098927189749227072456493907615935351302197046072953599011704425702493110801208123266595286986380491197008535970938551749247656629363764777619540184029415726136197289545005207913277453432342473795342725238590386118683923516594409469607645709004182197925160268706373884130898027551772392116454041181332537225371475990488283340131647110606756265119977672207189004858639084267117736779188172252335281756471267225133642646298938632496009719973203343757311357406648053432268731485419640335258574995632640966544800297746545021635964700560073372748030249294156376511002283036003668357256957010394412012227472113023402969818784712889595837630952962992147564364170318645025684874830092475275753152742649492496264737033893506570033462695717375184262506559853453905325246292902933153675951008015779447150805001849351823566166786475509910066678927160767794736809368511098193987791959640812304560388634129943330080146689547804466376033814233805897238879168295801961345323315173532171587162441150742812418589971515943046567291348476026990938547403600205371168460415984880897877531188620749169042687535809349438299688385097445385922743144796573780639389365231774878572657959565416101006972778179164890451656259153022928456971246445440627006301578838000993302631084010117945430632632192113913801277300307256626275083445718632388336188445383798171713617522212924604733189587265588392946571497742840616458799972539699965834551943278984406599765962553936857861428194324237974393840747440973405641269733594053918318529350410173364778753723413988538190666547579214346408289776241137305275195591471438769188364853108105339096825723107839669765352178093852210121768541231889032141459993417758124953697782417398130734381687051752927656877057063305909963403926118241437221272195043568701454324280527307860691405600197852490006991210094494740057981614034200152208806352285180480302526711029220717890258634479553815613424253081498091251110086531743737218615912756615932023715904199044148228445399541616275869972213724053428803173902174900706499276844330198335919808990324831664934365102164037647718852268626582521938023807781422231545433655383522215263338873973855940678942226637670017488061151458090322170926348165325179907765291667782179560976103674340109145534905745535381149967787206393241922 173281275870815912924975203087409327682718416370712302201135981172878982245324458458885947762792563460033656455627404650504347880078872388280604044056431860755893549022893112064700186549012194124544010510287494003232556447596347817870453547584584390042495971828923727694916042966749050689152932205020317887008632302184454329432674927793266109759762302234369046952223878364943642382038567059559363379482892025721274344130745806187129852562178912798870443530551551498253048769246668898723943046922953972187142447797866918873157126275560911839561453133613747656609599386512681339538386194150111993833559244469996434686279749261286086851372946141197303023578071664889470099502929972987487832994502708037569120173256997417036390119348810779564361816933602860420478731767337470659299863705762889455422581166362628187178463658140470504449840383779332873376618267701088535210002938882847190695430036388673831289959850219834595291188067957808067921965108697948576799938288981737864656992723627881132098511050793861934651930190041086017257616262936535126722461144044721109032992495734777597962832469941374518407936006626562083431324114775972568838665066799692100083863808200857635805466686260286907540977618914552074347981334820477734882109331364468458354959684129659835640144302784003490118268370222063262386489556504251724877824825116800611657620077755817801329831665650985464134785449399703859200972107305928258447339229219784168984510420444738851854023743993754854859133834980422923702077262639855694502676740146844174027855919596967363633004071513347510419616479313770997891760122826385992398331731546142323998071110004477573602095425169503360732675719717954642179303594899043363584504538011515247134063286499860853766802386801160541052705856945447501877972669248452161459873239872828198979266029763192594647526807994896251627438092506270684049782906735517827970483033733218233796336798442362267833739118280052333055996479864015586887354203162476905397442553420022453726990934699158116696179748795401330246511781688797636225299829263733212935347071868978533869817386830537589759681952908472708661479626681676041848478979225936687975230242118300829932880182970140798783901051308539097166200433809739359571415253462621549569011966792981518531262815189596231869364979298718156287708572041998369517621352863518345676153076846973546880410484823517869161107384586976948326404586736458380474813348789934908607672358201 280374993972927180469701006996735402549588742099649964042805353121353351766625811735697085222828598909986546692426104924423987916457479562379531233805658933212387456638828463366897232621965793136248436212780604804440679714191634804250944744593120360981047721076580357058680820586289234718568658341217607432013840215461907761775148723135991348350148420918292563546633347972589351386220764984719632085856776156619301895903137922641171033894716138170346434018834891629900159376002934018701615254111958830826226714915603698061329378610842668310828678267256393955548231882522401312741729951461469400481612676738727920105920084519861082484013912685997600770123093300854170659576302721017737127150879219039852156176925354673993400513760823007036474840336572679205191621363175101612262855853327253625741226192047503017270938933893623247099332880044069907270124837734551230927378123145353750548883941713920124192893003895785603306967515108613069771316932264115363275448199048416791817760518364690500609609244781653894292742494601474651387559593016681816270265610420754923266798392973656766258634431286697833581468178213724524582066927194562540354608113366983448559890799139405039405672057428747323525858516792083262968730503863165270691458769664156843452405070052402980436718083423392855350043248794721221951905657511224503056989715568456870810643006212789047775272292657287042972786442702334943211090052736560890639453143021061469291767046719822297572656132329943300242932006694040445915001867373045281768265133093415671770696536055767336172704037347899453698600885913536960445696980687814186722569705939983071439044515645747307196149343488032711142849084496708365593292133089709911163718884419805023375200591775056445238241155989525394160811196042273224985812339013804339553725449994596740211155061904652588065284932948594034044836223240652371101535834392394885033788943696622159914578235663634462877307819734376613583304340555421187085206693169468115491937293478004067761191086907964468981360229097928041275732499579056270704853644877157466016845163120088620401561124049153502516297884932188612860523774910121441390095255095908901699283670921474732107780889469417643114099387228348087491032098744104461735452901181473818195594488731005326312685046735029887252887194562057030261564512720940596155291370351579497134243399017899895045735664731283160828889564147953052000744695881993286220348729939902695814065600123 453656269843743093394676210084144730232307158470362266243941334294232334011950270194583032985621162370020203148053509574928335796536351950660135277862090793968281005661721575431597419170977987260792446723068098807673236161787982622121398292177704751023543692905504084753596863553038285407721590546237925319022472517646362091207823650929257458109910723152661610498857226337532993768259332044278995465339668182340576240033883728828300886456895050969216877549386443128153208145249602917425558301034912803013369162713470616934486504886403580150390131400870141612157831269035082652280116145611581394315171921208724354792199833781147169335386858827194903793701164965743640759079232694005224960145381927077421276350182352091029790633109633786600836657270175539625670353130512572271562719559090143081163807358410131204449402592034093751549173263823402780646743105435639766137381062028200941244313978102593955482852854115620198598155583066421137693282040962063940075386488030154656474753241992571632708120295575515828944672684642560668645175855953216942992726754465476032299790888708434364221466901228072351989404184840286608013391041970535109193273180166675548643754607340262675211138743689034231066836135706635337316711838683643005573568101028625301807364754182062816076862386207396345468311619016784484338395214015476227934814540685257482468263083968606849105103958308272507107571892102038802412062160042489149086792372240845638276277467164561149426679876323698155102065841674463369617079130012900976270941873240259845798552455652734699805708108861246964118217365227307958337457103514200179120901437486125395437115625650224880798244768657536071875524804214663007772595727988753274748223422431320270509263878274917299005043542790685935213517052987720726863785008262256501013598689867424939190421091667845182712811740943490285672274315746923055151318741127912713004271977429840393710915034105996730711046938014428946639300820419436773972560896331945020889379846898026521488182021607122585677539977893329371522244281267853906930153474140890678952192234989067154271378510879691092275979837840661321522003401591797483238574234321845589674513913039775562040661072439558441898000438536887184657232532553843821306868154644095367764606455523986844843947861924626119122252173860775186549273084762938965672912723215097842810396475864873441926146149554801029989996948734930000327149282618451666695162078729837604421737958324 734031263816670273864377217080880132781895900570012230286746687415585685778576081930280118208449761280006749840479614499352323712993831513039666511667749727180668462300550038798494651792943780397040882935848703612113915875979617426372343036770825112004591413982084441812277684139327520126290248887455532751036312733108269852982972374065248806460059144070954174045490574310122345154480097028998627551196444338959878135937021651469471920351611189139563311568221334758053367521252536936127173555146871633839595877629074314995815883497246248461218809668126535567706063151557483965021846097073050794796784597947452274898119918301008251819400771513192504563824258266597811418655535415022962087296261146117273432527107706765023191146870456793637311497606748218830861974493687673883825575412417396706905033550457634221720341525927716998648506143867472687916867943170190997064759185173554691793197919816514079675745858011405801905123098175034207464598973226179303350834687078571448292513760357262133317729540357169723237415179244035320032735448969898759262992364886230955566589281682091130480101332514770185570872363054011132595457969165097649547881293533658997203645406479667714616810801117781554592694652498718600285442342546808276265026870692782145259769824234465796513580469630789200818354867811505706290300871526700730991804256253714353278906090181395896880376250965559550080358334804373745623152212779050039726245515261907107568044513884383446999336008653641455344997848368503815532080997385946258039207006333675517569248991708502035978412146209146417816818251140844918783154084202014365843471143426108466876160141295972187994394112145568783018373888711371373365887861078463185911942306851125293884464470049973744243284698780211329374328249029993951849597347276060840567324139862021679401576153572497770778096673892084319717110538987575426252854575520307598038060921126462553625493269769631193588354757748805560222605160974857961057767589501413136381317140376030589249373108515087054658900206991257412797976780846910177635007119018048144969037398109155774672939634928844594792277722772849934382527176501918924628669489417754491373797583961250294148441961908976085012099825765235272148264631297948283042321055825569185960200944254992171156632908659656006375139368422832216810837597483879561828204093566677339944639874882773336971881814286084190818886512882883052327893978500444952915510808669740300235803558447 1187687533660413367259053427165024863014203059040374496530688021709818019790526352124863151194070923650026952988533124074280659509530183463699801789529840521148949467962271614230092070963921767657833329658916802419787152037767600048493741328948529863028135106887588526565874547692365805534011839433693458070058785250754631944190796024994506264569969867223615784544347800647655338922739429073277623016536112521300454375970905380297772806808506240108780189117607777886206575666502139853552731856181784436852965040342544931930302388383649828611608941068996677179863894420592566617301962242684632189111956519156176629690319752082155421154787630340387408357525423232341452177734768109028187047441643073194694708877290058856052981779980090580238148154876923758456532327624200246155388294971507539788068840908867765426169744117961810750197679407690875468563611048605830763202140247201755633037511897919108035158598712127026000503278681241455345157881014188243243426221175108726104767267002349833766025849835932685552182087863886595988677911304923115702255719119351706987866380170390525494701568233742842537560276547894297740608849011135632758741154473700334545847400013819930389827949544806815785659530788205353937602154181230451281838594971721407447067134578416528612590442855838185546286666486828290190628696085542176958926618796938971835747169174150002745985480209273832057187930226906412548035214372821539188813037887502752745844321981048944596426015884977339610447063690042967185149160127398847234310148879573935363367801447361236735784120255070393381935035616368152877120611187716214544964372580912233862313275766946197068792638880803104854893898692926034381138483589067216460660165729282445564393728348324891043248328241570897264587845302017714678713382355538317341580922829729446618591997245240342953490908414835574605389384854734498481404173316648220311042332898556302947336408303875627924299401695763234506861905981394294735030328485833358157270696987274057110737555130122209640336440184884586784320221062114764084565160593158938823921229633098222928944318145808535687068257560613511255904530578093716407867243723739600081048311497001025856189103034348534526910100264302122456805497163851792104349189210469664553724807399778979016000580770584282125497391542283607403360110682246818527501116816781775182755036350747646778898027963840885220808883461617813052655043261118896619610672887399577904657541516771 1921718797477083641123430644245904995796098959610386726817434709125403705569102434055143269402520684930033702829012738573632983222524014976739468301197590248329617930262821653028586722756865548054874212594765506031901067913747217474866084365719354975032726520869672968378152231831693325660302088321148990821095097983862901797173768399059755071030029011294569958589838374957777684077219526102276250567732556860260332511907927031767244727160117429248343500685829112644259943187754676789679905411328656070692560917971619246926118271880896077072827750737123212747569957572150050582323808339757682983908741117103628904588439670383163672974188401853579912921349681498939263596390303524051149134737904219311968141404397765621076172926850547373875459652483671977287394302117887920039213870383924936494973874459325399647890085643889527748846185551558348156480478991776021760266899432375310324830709817735622114834344570138431802408401779416489552622479987414422546777055862187297553059780762707095899343579376289855275419503043130631308710646753893014461518711484237937943432969452072616625181669566257612723131148910948308873204306980300730408289035767233993543051045420299598104444760345924597340252225440704072537887596523777259558103621842414189592326904402650994409104023325468974747105021354639795896918996957068877689918423053192686189026075264331398642865856460239391607268288561710786293658366585600589228539283402764659853412366494933328043425351893630981065792061538411471000681241124784793492349355885907610880937050439069738771762532401279539799751853867508997795903765271918228910807843724338342329189435908242169256787032992948673637912272581637405754504371450145679646572108036133570858278192818374864787491612940351108593962173551047708630562979702814378182148246969591468297993573398812840724269005088727658925106495393722073907657027892168527909080393819682765500961901573645259117887756453512040067084511142369152696088096075334771293652014127650087699986928238637296694995340391875844197118197842961674262200167712176986968890267031207378703617257780737380281860535283386361190287057754595635332495913213157354572422109080962276150337544996257510611922200090067357728953761795149740387391510266295233739685008344033971187157213679243938131872530910706439620170948279730698089329320910348452522699676225630420115869909778126969411627769974500696104982937239619341572526183696069318204893345075218 3109406331137497008382484071410929858810302018650761223348122730835221725359628786180006420596591608580060655817545862647913642732054198440439270090727430769478567398225093267258678793720787315712707542253682308451688219951514817523359825694667884838060861627757261494944026779524059131194313927754842448891153883234617533741364564424054261335599998878518185743134186175605433022999958955175553873584268669381560786887878832412065017533968623669357123689803436890530466518854256816643232637267510440507545525958314164178856420660264545905684436691806119889927433851992742617199625770582442315173020697636259805534278759422465319094128976032193967321278875104731280715774125071633079336182179547292506662850281687824477129154706830637954113607807360595735743926629742088166194602165355432476283042715368193165074059829761851338499043864959249223625044090040381852523469039679577065957868221715654730149992943282265457802911680460657944897780361001602665790203277037296023657827047765056929665369429212222540827601590907017227297388558058816130163774430603589644931299349622463142119883237800000455260691425458842606613813155991436363167030190240934328088898445434119528494272709890731413125911756228909426475489750705007710839942216814135597039394038981067523021694466181307160293391687841468086087547693042611054648845041850131658024773244438481401388851336669513223664456218788617198841693580958422128417352321290267412599256688475982272639851367778608320676239125228454438185830401252183640726659504765481546244304851886430975507546652656349933181686889483877150673024376459634443455772216305250576191502711675188366325579671873751778492806171274563440135642855039212896107232273765416016422671921166699755830739941181922005858550018853065423309276362058352695523729169799320914916585570644053183677759913503563233530495880248456572389061201208816748220122726718239068448298309877520887042187158149275274573946417123763447431118424561168129450922711114924144810724483368759506335331780576760430981438418905076438346765328305335925792811496664305601632561575926545915968928792843999872446191588332689351740363156936896954653470420577963302006526648030606045138832300354369480185759258959001532491740699476764898293409815743812950203157794449828220257369922452990047023531058961977516616830437727130227705454712576378066894767937741967854632436653436118509157637980500738238192136856583468896109550886591989 5031125128614580649505914715656834854606400978261147950165557439960625430928731220235149689999112293510094358646558601221546625954578213417178738391925021017808185328487914920287265516477652863767581754848447814483589287865262034998225910060387239813093588148626934463322179011355752456854616016075991439712248981218480435538538332823114016406630027889812755701724024550563210707077178481277830124152001226241821119399786759443832262261128741098605467190489266003174726462042011493432912542678839096578238086876285783425782538932145441982757264442543243102675003809564892667781949578922199998156929438753363434438867199092848482767103164434047547234200224786230219979370515375157130485316917451511818630991686085590098205327633681185327989067459844267713031320931859976086233816035739357412778016589827518564721949915405740866247890050510807571781524569032157874283735939111952376282698931533390352264827287852403889605320082240074434450402840989017088336980332899483321210886828527764025564713008588512396103021093950147858606099204812709144625293142087827582874732319074535758745064907366258067983822574369790915487017462971737093575319226008168321631949490854419126598717470236656010466163981669613499013377347228784970398045838656549786631720943383718517430798489506776135040496709196107881984466689999679932338763464903324344213799319702812800031717193129752615271724507350327985135351947544022717645891604693032072452669054970915600683276719672239301742031186766865909186511642376968434219008860651389157125241902325500714279309185057629472981438743351386148468928141731552672366580060029588918520692147583430535582366704866700452130718443856200845890147226489358575753804381801549587280950113985074620618231554122273114452512192404113131939839341761167073705877416768912383214579144042866024402028918592290892455602375642178646296718229100985276129203120537921833949260211451166146160074914602787314641030928266132600127206520636502900744574725242574232510711411607396803030327120968636275178556616748038112608965496017512912761701763695512980336178833707283296250789328127386233636478646087284987072859070150054309225892529658925578156864193026863555750754500444436837914713020754151272879132209743060132033094824087846921390315008129072158389242453363696486643702007241708214706159758637478680228154388802008487010637847520094824044064423410619205262620917740357579764663040279538214314444231667207 8140531459752077657888398787067764713416702996911909173513680170795847156288360006415156110595703902090155014464104463869460268686632411857618008482652451787286752726713008187545944310198440179480289297102130122935277507816776852521585735755055124651154449776384195958266205790879811588048929943830833888603402864453097969279902897247168277742230026768330941444858210726168643730077137436453383997736269895623381906287665591855897279795097364767962590880292702893705192980896268310076145179946349537085783612834599947604638959592409987888441701134349362992602437661557635284981575349504642313329950136389623239973145958515313801861232140466241514555479099890961500695144640446790209821499096998804325293841967773414575334482340511823282102675267204863448775247561602064252428418201094789889061059305195711729796009745167592204746933915470056795406568659072539726807204978791529442240567153249045082414820231134669347408231762700732379348183201990619754127183609936779344868713876292820955230082437800734936930622684857165085903487762871525274789067572691417227806031668696998900864948145166258523244513999828633522100830618963173456742349416249102649720847936288538655092990180127387423592075737898522925488867097933792681237988055470685383671114982364786040452492955688083295333888397037575968072014383042290986987608506753456002238572564141294201420568529799265838936180726138945183977045528502444846063243925983299485051925743446897873323128087450847622418270311995320347372342043629152074945668365416870703369546754211931689786855837713979406163125632835263299141952518191187115822352276334839494712194859258618901907946376740452230623524615130764286025790081528571471861036655566965603703622035151774376448971495304195120311062211257178555249115703819519769229606586568233298131164714686919208079788832095854125986098255890635218685779430309802024349325847256160902397558521328687033202262072752062589214977345389896047558324945197671030195497436357498377321435894976156309365658901545396706159995035653114550955730824322848838554513260359818581968740409633829212219718120971386106082670234419974338813222227086951263879362950236888880163390841057469600889586800798806318100472279713152805370872909219825030326504639831659871593472802578900378646612375816686533667233066203685731322990196364608907933609101378386553905405785262062678676501076846737714420258898241095817956799896863007110423995118259196 13171656588366658307394313502724599568023103975173057123679237610756472587217091226650305800594816195600249373110663065091006894641210625274796746874577472805094938055200923107833209826676093043247871051950577937418866795682038887519811645815442364464248037925011130421588384802235564044903545959906825328315651845671578404818441230070282294148860054658143697146582235276731854437154315917731214121888271121865203025687452351299729542056226105866568058070781968896879919442938279803509057722625188633664021699710885731030421498524555429871198965576892606095277441471122527952763524928426842311486879575142986674412013157608162284628335304900289061789679324677191720674515155821947340306816014450316143924833653859004673539809974193008610091742727049131161806568493462040338662234236834147301839075895023230294517959660573333070994823965980864367188093228104697601090940917903481818523266084782435434679647518987073237013551844940806813798586042979636842464163942836262666079600704820584980794795446389247333033643778807312944509586967684234419414360714779244810680763987771534659610013052532516591228336574198424437587848081934910550317668642257270971352797427142957781691707650364043434058239719568136424502244445162577651636033894127235170302835925748504557883291445194859430374385106233683850056481073041970919326371971656780346452371883844107001452285722929018454207905233489273169112397476046467563709135530676331557504594798417813474006404807123086924160301498762186256558853686006120509164677226068259860494788656537432404066165022771608879144564376186649447610880659922739788188932336364428413232887006842049437490313081607152682754243058986965131915937308017930047614841037368515190984572149136848997067203049426468234763574403661291687188955045580686842935484003337145681345743858729785232481817750688145018441700631532813864982497659410787300478528967794082736346818732779853179362336987354849903856008273656028647685531465834173930940072161600072609832147306583553112395986022514032981338551652401152663564696320340361751316215024055331562304919243341112508470507449098772339719148880507259325886081297237005573105255479895814458320255034084333156640341301243243156015185300467304078250005118962885162359599463919506792983787810707972537035854829180383020310935073445393946029149955002087588161763490180395040916043632782157502720565500257356919682879815981453397721462937142545324738439349926403 21312188048118735965282712289792364281439806972084966297192917781552319743505451233065461911190520097690404387574767528960467163327843037132414755357229924592381690781913931295379154136874533222728160349052708060354144303498815740041397381570497489115402487701395326379854590593115375632952475903737659216919054710124676374098344127317450571891090081426474638591440446002900498167231453354184598119624541017488584931975117943155626821851323470634530648951074671790585112423834548113585202902571538170749805312545485678635060458116965417759640666711241969087879879132680163237745100277931484624816829711532609914385159116123476086489567445366530576345158424568153221369659796268737550128315111449120469218675621632419248874292314704831892194417994253994610581816055064104591090652437928937190900135200218942024313969405740925275741757881450921162594661887177237327898145896695011260763833238031480517094467750121742584421783607641539193146769244970256596591347552773042010948314581113405936024877884189982269964266463664478030413074730555759694203428287470662038486795656468533560474961197698775114472850574027057959688678700898084007060018058506373621073645363431496436784697830491430857650315457466659349991111543096370332874021949597920553973950908113290598335784400882942725708273503271259818128495456084261906313980478410236348690944447985401202872854252728284293144085959628218353089443004548912409772379456659631042556520541864711347329532894573934546578571810757506603931195729635272584110345591485130563864335410749364093853020860485588285307690009021912746752833178113926904011284612699267907945081866100668339398259458347604913377767674117729417941727389546501519475877692935480794688194184288623373516174544730663355074636614918470242438070749400206612165090589905378979476908573416704440561606582783999144427798887423449083668277089720589324827854815050243638744377254108540212564599060106912493070985619045924695243856411031844961135569597957570987153583201559709421761644924059429687498546688054267214520427144663210589870728284415150144273659652974941720690225570070158445801819114927233664699303524323956836984618430132703338483645875141802757529928102042049474115657580180456883620878028182710192686104103751166664577260613286872915682467204997069553978168139649079677352140151366696496095372591558781594821449418044220181397066577104094634103138714222549215678262834005552435162434468185599 34483844636485394272677025792516963849462910947258023420872155392308792330722542459715767711785336293290653760685430594051474057969053662407211502231807397397476628837114854403212363963550626265976031401003285997773011099180854627561209027385939853579650525626406456801442975395350939677856021863644484545234706555796254778916785357387732866039950136084618335738022681279632352604385769271915812241512812139353787957662570294455356363907549576501098707021856640687465031866772827917094260625196726804413827012256371409665481956641520847630839632288134575183157320603802691190508625206358326936303709286675596588797172273731638371117902750266819638134837749245344942044174952090684890435131125899436613143509275491423922414102288897840502286160721303125772388384548526144929752886674763084492739211095242172318831929066314258346736581847431785529782755115281934928989086814598493079287099322813915951774115269108815821435335452582346006945355287949893439055511495609304677027915285933990916819673330579229602997910242471790974922661698239994113617789002249906849167559644240068220084974250231291705701187148225482397276526782832994557377686700763644592426442790574454218476405480855474291708555177034795774493355988258947984510055843725155724276786833861795156219075846077802156082658609504943668184976529126232825640352450067016695143316331829508204325139975657302747351991193117491522201840480595379973481514987335962600061115340282524821335937701697021470738873309519692860490049415641393093275022817553390424359124067286796497919185883257197164452254385208562194363713838036666692200216949063696321177968872942717776888572539954757596132010733104694549857664697564431567090718730303995985672766333425472370583377594157131589838211018579761929627025794980893455100574593242524660822652432146489673043424333472144162869499518956262948650774749131376625306383782844326375091195986888393391926936047461762396926993892701953342929387876866018892075641759557643596985730508143262534157630946573462668837098340455419878085123465003572341186943308470481706578578896316054229160733019168930785520967995434492990585384821560962410089873910028517796803900909226135914170269403285292630130842880647760961870883147145595355045703567670673457561048423994845452718322034177452574289103213094473623381290106368784084257136081739176635737493050826377684117632077361451553786018530204002613399725771148097759900873818112002 55796032684604130237959738082309328130902717919342989718065073173861112074227993692781229622975856390981058148260198123011941221296896699539626257589037321989858319619028785698591518100425159488704191750055994058127155402679670367602606408956437342695053013327801783181297565988466315310808497767382143762153761265920931153015129484705183437931040217511092974329463127282532850771617222626100410361137353156842372889637688237610983185758873047135629355972931312478050144290607376030679463527768264975163632324801857088300542414758486265390480298999376544271037199736482854428253725484289811561120538998208206503182331389855114457607470195633350214479996173813498163413834748359422440563446237348557082362184897123843171288394603602672394480578715557120382970200603590249520843539112692021683639346295461114343145898472055183622478339728882706692377417002459172256887232711293504340050932560845396468868583019230558405857119060223885200092124532920150035646859048382346687976229867047396852844551214769211872962176706136269005335736428795753807821217289720568887654355300708601780559935447930066820174037722252540356965205483731078564437704759270018213500088154005950655261103311346905149358870634501455124484467531355318317384077793323076278250737741975085754554860246960744881790932112776203486313471985210494731954332928477253043834260779814909407197994228385587040496077152745709875291283485144292383253894443995593642617635882147236168665470596270956017317445120277199464421245145276665677385368409038520988223459478036160591772206743742785449759944394230474941116547016150593596211501561762964229123050739043386116286831998302362509509778407222423967799392087110933086566596423239476780360960517714095744099552138887794944912847633498232172065096544381100067265665183147903640299561005563194113605030916256143307297298406379712032319051838851965950134238597894570013835573240996933604491535107568674889997979511747878038173244287897863853211211357515214584139313709702971955919275870632892356335645028509687092605550609666782931057671592885631850852238549290995949850958589239089231322787110361726655284688345884919247074492340161221135287546784367938671700197505327342104246500460828217845491761175328305547731807671421840122138309037281718368400789239174522128267271352743553300733430257735480580352508673297958230558942468870597865514698654465546187889157244426551829077988605153650195063308286297601 90279877321089524510636763874826291980365628866601013138937228566169904404950536152496997334761192684271711908945628717063415279265950361946837759820844719387334948456143640101803882063975785754680223151059280055900166501860524995163815436342377196274703538954208239982740541383817254988664519631026628307388467821717185931931914842092916303970990353595711310067485808562165203376002991898016222602650165296196160847300258532066339549666422623636728062994787953165515176157380203947773724152964991779577459337058228497966024371400007113021319931287511119454194520340285545618762350690648138497424248284883803091979503663586752828725372945900169852614833923058843105458009700450107330998577363247993695505694172615267093702496892500512896766739436860246155358585152116394450596425787455106176378557390703286661977827538369441969214921576314492222160172117741107185876319525891997419338031883659312420642698288339374227292454512806231207037479820870043474702370543991651365004145152981387769664224545348441475960086948608059980258398127035747921439006291970475736821914944948670000644909698161358525875224870478022754241732266564073121815391460033662805926530944580404873737508792202379441067425811536250898977823519614266301894133637048232002527524575836880910773936093038547037873590722281147154498448514336727557594685378544269738977577111644417611523134204042889787848068345863201397493123965739672356735409431331556242678751222429760990001408297967977488056318429796892324911294560918058770660391226591911412582583545322957089691392626999982614212198779439037135480260854187260288411718510826660550301019611986103893175404538257120105641789140327118517657056784675364653657315153543472766033726851139568114682929733044926534751058652077994101692122339361993522366239776390428301122213437709683786648455249728287470166797925335974980969826587983342575440622380738896388926769227885326996418471155030437286924973404449831381102632164763882745286853117072858181125044217846234490076906817206355025172743368965106970690674074670355272244614901356113557430817445607050179011691608408020016843755105796219645870073167445881657164366250189738932091447693594074585870466908612634734377343341475978807362644322473900902777511239092513579699357461276563821119111273351974702556374565838026924114720364104264664609644755037134866296435519696975549632330731826997741675175774630554442477714376301747954964182104409603 146075910005693654748596501957135620111268346785944002857002301740031016479178529845278226957737049075252770057205826840075356500562847061486464017409882041377193268075172425800395400164400945243384414901115274114027321904540195362766421845298814538969756552282010023164038107372283570299473017398408772069542229087638117084947044326798099741902030571106804284396948935844698054147620214524116632963787518453038533736937946769677322735425295670772357418967719265643565320447987579978453187680733256754741091661860085586266566786158493378411800230286887663725231720076768400047016076174937950058544787283092009595161835053441867286332843141533520067094830096872341268871844448809529771562023600596550777867879069739110264990891496103185291247318152417366538328785755706643971439964900147127860017903686164401005123726010424625591693261305197198914537589120200279442763552237185501759388964444504708889511281307569932633149573573030116407129604353790193510349229592373998052980375020028784622508775760117653348922263654744328985594134555831501729260223581691044624476270245657271781204845146091425346049262592730563111206937750295151686253096219303681019426619098586355528998612103549284590426296446037706023462291050969584619278211430371308280778262317811966665328796339999291919664522835057350640811920499547222289549018307021522782811837891459327018721128432428476828344145498608911272784407450883964739989303875327149885296387104576997158666878894238933505373763550074091789332539706194724448045759635630432400806043023359117681463599370742768063972143173669512076596807870337853884623220072589624779424070351029490009462236536559482615151567547549542485456448871786297740223911576782949546394687368853663858782481871932721479663906285576226273757218883743093589631904959538331941421774443272877900253486165984430777464096331715687013288878426835308525574860978633466402762342468882260600910006262599112176922952916197709419275876452661746598498064474588072765264357927549206445996182687839247381508388397474794063296224684337138203302286494241745408283055994898046128862650197647109248166542216157946301154761513330800904238858590350960067378994477962013257570664413939976838623843802304196652854405497802206450509318910514353701837666498558282189519900512526496830823645918581580224848150621839745244962153428335093096855377988567573415147029386292543929564333019057106271555702981455398150027490390707204 236355787326783179259233265831961912091633975652545015995939530306200920884129065997775224292498241759524481966151455557138771779828797423433301777230726760764528216531316065902199282228376730998064638052174554169927488406400720357930237281641191735244460091236218263146778648756100825288137537029435400376930696909355303016878959168891016045873020924702515594464434744406863257523623206422132855566437683749234694584238205301743662285091718294409085481962507218809080496605367783926226911833698248534318550998918314084232591157558500491433120161574398783179426240417053945665778426865586088555969035567975812687141338717028620115058216087433689919709664019931184374329854149259637102560600963844544473373573242354377358693388388603698188014057589277612693687370907823038422036390687602234036396461076867687667101553548794067560908182881511691136697761237941386628639871763077499178726996328164021310153979595909306860442028085836347614167084174660236985051600136365649417984520173010172392173000305466094824882350603352388965852532682867249650699229873661520361298185190605941781849754844252783871924487463208585865448670016859224808068487679337343825353150043166760402736120895751664031493722257573956922440114570583850921172345067419540283305786893648847576102732433037838957538113557338497795310369013883949847143703685565792521789415003103744630244262636471366616192213844472112670277531416623637096724713306658706127975138327006758148668287192206910993430081979870984114243834267112783218706150862222343813388626568682074771154991997742750678184341953108549212077068724525114173034938583416285329725089963015593902637641074816602720793356687876661003113505656461662393881226730326422312428414219993231973465411604977648014414964937654220375449341223105087111998144735928760242543987880982561686901941415712718247630894257051661994258705014818651101015483359372362791689111696767587597328477417629549463847926320647540800378508617425629343784917591660930946389402145395440936073089505045602406681131766439901033986898759007493475546901395597858965713873440505096307874341806055129265010297321954165947024834680776682561403224840540698999470442171556087843441131322552611573001187143780175460217049820276107353286830149606867281537023959834846010639011785878471533380020484419607148962870985944009909571798183372227963151813508264548964779360118119541671239508793687660714033417357757146104991672495116807 382431697332476834007829767789097532202902322438489018852941832046231937363307595843053451250235290834777252023357282397214128280391644484919765794640608802141721484606488491702594682392777676241449052953289828283954810310940915720696659126940006274214216643518228286310816756128384395587610554427844172446472925996993420101826003495689115787775051495809319878861383680251561311671243420946249488530225202202273228321176152071420985020517013965181442900930226484452645817053355363904680099514431505289059642660778399670499157943716993869844920391861286446904657960493822345712794503040524038614513822851067822282303173770470487401391059228967209986804494116803525643201698598069166874122624564441095251241452312093487623684279884706883479261375741694979232016156663529682393476355587749361896414364763032088672225279559218693152601444186708890051235350358141666071403424000263000938115960772668730199665260903479239493591601658866464021296688528450430495400829728739647470964895193038957014681776065583748173804614258096717951446667238698751379959453455352564985774455436263213563054599990344209217973750055939148976655607767154376494321583898641024844779769141753115931734732999300948621920018703611662945902405621553435540450556497790848564084049211460814241431528773037130877202636392395848436122289513431172136692721992587315304601252894563071648965391068899843444536359343081023943061938867507601836714017181985856013271525431583755307335166086445844498803845529945075903576373973307507666751910497852776214194669592041192452618591368485518742156485126778061288673876594862968057658158656005910109149160314045083912099877611376085335944924235426203488569954528247960134105138307109371858823101588846895832247893476910369494078871223230446649206560106848180701630049695467092183965762324255439587155427581697149025094990588767349007547583441653959626590344338005829194451454165649848198238483680228661640770879236845250219654385070087375942282982066249003711653760072944647382069272192884849788189520163914695097283123443344631678849187889839604373996929435403142436736992003702238513176839538112112248179596194107483465642083430891659066849436649518101101011795736492588411625030946084372113071455318078313803796149060121220983374690458393128200158912298404968364203666403001187373811021607783755154533951611707321060007191496832122379926389504412085600803841812744766985589120339212544255019162885824011 618787484659260013267063033621059444294536298091034034848881362352432858247436661840828675542733532594301733989508737954352900060220441908353067571871335562906249701137804557604793964621154407239513691005464382453882298717341636078626896408581198009458676734754446549457595404884485220875748091457279572823403622906348723118704962664580131833648072420511835473325818424658424569194866627368382344096662885951507922905414357373164647305608732259590528382892733703261726313658723147830907011348129753823378193659696713754731749101275494361278040553435685230084084200910876291378572929906110127170482858419043634969444512487499107516449275316400899906514158136734710017531552747328803976683225528285639724615025554447864982377668273310581667275433330972591925703527571352720815512746275351595932810825839899776339326833108012760713509627068220581187933111596083052700043295763340500116842957100832751509819240499388546354033629744702811635463772703110667480452429865105296888949415366049129406854776371049842998686964861449106917299199921566001030658683329014085347072640626869155344904354834596993089898237519147734842104277784013601302390071577978368670132919184919876334470853895052612653413740961185619868342520192137286461622901565210388847389836105109661817534261206074969834740749949734346231432658527315121983836425678153107826390667897666816279209653705371210060728573187553136613339470284131238933438730488644562141246663758590513456003453278652755492233927509816060017820208240420290885458061360075120027583296160723267223773583366228269420340827079886610500750945319388082230693097239422195438874250277060677814737518686192688056738280923302864491683460184709622527986365037435794171251515808840127805713305081888017508493836160884667024655901329953267813628194431395852426509750205238001274057368997409867272725884845819011001806288456472610727605827697378191986140565862417435795566961097858211104618805557492791020032893687513005286067899657909934658043162218340088318142361697930452194870651930354596131270022202352125154396089285437463339710802875908238744611333809757367778187136860066278195204430874884166027045308271432358066319878821074188944452927059045199984626218089864547573288505138354421157082979209728088264911714418227974210797924084283439897583686887420794522773892593727765064105749795079549023159005005096671344705749622531627272043350606432427699622537696969690360010835380940818 1001219181991736847274892801410156976497438620529523053701823194398664795610744257683882126792968823429078986012866020351567028340612086393272833366511944365047971185744293049307388647013932083480962743958754210737837109028282551799323555535521204283672893378272674835768412161012869616463358645885123745269876548903342143220530966160269247621423123916321155352187202104909985880866110048314631832626888088153781151226590509444585632326125746224771971283822960187714372130712078511735587110862561259112437836320475113425230907044992488231122960945296971676988742161404698637091367432946634165784996681270111457251747686257969594917840334545368109893318652253538235660733251345397970850805850092726734975856477866541352606061948158017465146536809072667571157719684234882403208989101863100957829225190602931865011552112667231453866111071254929471239168461954224718771446719763603501054958917873501481709484501402867785847625231403569275656760461231561097975853259593844944359914310559088086421536552436633591172491579119545824868745867160264752410618136784366650332847096063132368907958954824941202307871987575086883818759885551167977796711655476619393514912688326672992266205586894353561275333759664797282814244925813690722002073458063001237411473885316570476058965789979112100711943386342130194667554948040746294120529147670740423130991920792229887928175044774271053505264932530634160556401409151638840770152747670630418154518189190174268763338619365098599991037773039761135921396582213727798552209971857927896241777965752764459676392174734713788162497312206664671789424821914251050288351255895428105548023410591105761726837396297568773392683205158729067980253414712957582662091503344545166030074617397687023637961198558798387002572707384115113673862461436801448515258244126862944610475512529493440861212796579107016297820875434586360009353871898126570354196172035384021180592020028067283993805444778086872745389684794338041239687278757600381228350881724158938369696922291284735700211633890815301983060172094269291228553145645696756833245277175277067713707732311311381181348325813459606291363976398178390443384027068991649492687391702324017133169315470592290045464722795537788396251249035948919686359960456432734960879128269849309248286404876621102410956836382688408261787353290421981896584914201511520218639701406786870083166196501928793724632139126943712872847192419177194685211658036182234615029998266764829 1620006666650996860541955835031216420791974918620557088550704556751097653858180919524710802335702356023380720002374758305919928400832528301625900938383279927954220886882097606912182611635086490720476434964218593191719407745624187877950451944102402293131570113027121385226007565897354837339106737342403318093280171809690866339235928824849379455071196336832990825513020529568410450060976675683014176723550974105289074132004866817750279631734478484362499666715693890976098444370801659566494122210691012935816029980171827179962656146267982592401001498732656907072826362315574928469940362852744292955479539689155092221192198745468702434289609861769009799832810390272945678264804092726774827489075621012374700471503420989217588439616431328046813812242403640163083423211806235124024501848138452553762036016442831641350878945775244214579620698323150052427101573550307771471490015526944001171801874974334233219303741902256332201658861148272087292224233934671765456305689458950241248863725925137215828391328807683434171178543980994931786045067081830753441276820113380735679919736690001524252863309659538195397770225094234618660864163335181579099101727054597762185045607511592868600676440789406173928747500625982902682587446005828008463696359628211626258863721421680137876500051185187070546684136291864540898987606568061416104365573348893530957382588689896704207384698479642263565993505718187297169740879435770079703591478159274980295764852948764782219342072643751355483271700549577195939216790454148089437668033218003016269361261913487726900165758100942057582838139286551282290175767233639132519044353134850300986897660868166439541574914983761461449421486082031932471936874897667205190077868381980960201326133206527151443674503640686404511066543544999780698518362766754716328886438558258797036985262734731442135270165576516883570546760280405371011160160354599181081801999732762213166732585890484719789372405875945083850008490351830832259720172445113386514418781382068873027740084509624824018353995588745754177930824024623887359823167848048881987641366460714531053418535187219619925959659623216974069551113258244668638588457943875815519732699973756375199489194291666478989917649854582988380877467125813467259648465594787156117962107479577397513198119294849076621754760466971848159371040177842776419358806795239285282745451201866419106325201507025465069337888749475340144890543025609622384834195733151924975040833647705647 2621225848642733707816848636441373397289413539150080142252527751149762449468925177208592929128671179452459706015240778657486956741444614694898734304895224293002192072626390656219571258649018574201439178922972803929556516773906739677274007479623606576804463491299796220994419726910224453802465383227527063363156720713033009559766894985118627076494320253154146177700222634478396330927086723997646009350439062259070225358595376262335911957860224709134470950538654078690470575082880171302081233073252272048253866300646940605193563191260470823523962444029628584061568523720273565561307795799378458740476220959266549472939885003438297352129944407137119693151462643811181338998055438124745678294925713739109676327981287530570194501564589345511960349051476307734241142896041117527233490950001553511591261207045763506362431058442475668445731769578079523666270035504532490242936735290547502226760792847835714928788243305124118049284092551841362948984695166232863432158949052795185608778036484225302249927881244317025343670123100540756654790934242095505851894956897747386012766832753133893160822264484479397705642212669321502479624048886349556895813382531217155699958295838265860866882027683759735204081260290780185496832371819518730465769817691212863670337606738250613935465841164299171258627522633994735566542554608807710224894721019633954088374509482126592135559743253913317071258438248821457726142288587408920473744225829905398450283042138939050982680692008849955474309473589338331860613372667875887989878005075930912511139227666252186576557932835655845745335451493215954079600589147890182807395609030278406534921071459272201268412311281330234842104691240761000452190289610624787852169371726526126231400750604214175081635702199484791513639250929114894372380824203556164844144682685121741647460775264224882996482962155623899868367635714991731020514032252725751435998171768146234347324605918552003783177850654031956595398175146168873499407451202713767742769663106227811397437006800909559718565629479561056160990996118893178588376313493745638820886643635991598767126267498531001107307985436676580360915089656423059081972485012867465012420091676080392332658509762258769035382372650120776777128716161762386946008426051219891078841235749426706761484524171470179032711596849660256421158393468264758315943720996750805501385152608653289189491398008954258793970027876419053017737735444786817070045853769334159590070831914470476 4241232515293730568358804471472589818081388457770637230803232307900860103327106096733303731464373535475840426017615536963406885142277142996524635243278504220956412959508488263131753870284105064921915613887191397121275924519530927555224459423726008869936033604326917606220427292807579291141572120569930381456436892522723875899002823809968006531565516589987137003213243164046806780988063399680660186073990036364359299490600243080086191589594703193496970617254347969666569019453681830868575355283943284984069896280818767785156219337528453415924963942762285491134394886035848494031248158652122751695955760648421641694132083748906999786419554268906129492984273034084127017262859530851520505784001334751484376799484708519787782941181020673558774161293879947897324566107847352651257992798140006065353297223488595147713310004217719883025352467901229576093371609054840261714426750817491503398562667822169948148091985207380450250942953700113450241208929100904628888464638511745426857641762409362518078319210052000459514848667081535688440836001323926259293171777011128121692686569443135417413685574144017593103412437763556121140488212221531135994915109585814917885003903349858729467558468473165909132828760916763088179419817825346738929466177319424489929201328159930751811965892349486241805311658925859276465530161176869126329260294368527485045757098172023296342944441733555580637251943967008754895883168023179000177335703989180378746047895087703833202022764652601310957581174138915527799830163122023977427546038293933928780500489579739913476723690936597903328173590779767236369776356381529315326439962165128707521818732327438640809987226265091696291526177322792932924127164508291993042247240108507086432726883810741326525310205840171196024705794474114675070899186970310881173031121243380538684446037998956325131753127732140783438914395995397102031674192607324932517800171500908447514057191809036723572550256529977040445406665497999705759127623647827154257188444488296684425177091310534383736919625068306810338921820143517065948199481341794520808528010096706129820544802685750621033267645059893554430466202914667727720560942956743280532152791649836767532147704053925248025300022504703765158006183287575854205656891646007047196803343229004104274682643466319255654466357316632104580529433646107534735302527791990090784130603810519708295816599515979723863307916625894393162628278470396439454880049502486084565111665562176123 6862458363936464276175653107913963215370801996920717373055760059050622552796031273941896660593044714928300132032856315620893841883721757691423369548173728513958605032134878919351325128933123639123354792810164201050832441293437667232498466903349615446740497095626713827214847019717803744944037503797457444819593613235756885458769718795086633608059836843141283180913465798525203111915150123678306195424429098623429524849195619342422103547454927902631441567793002048357039594536562002170656588357195557032323762581465708390349782528788924239448926386791914075195963409756122059592555954451501210436431981607688191167071968752345297138549498676043249186135735677895308356260914968976266184078927048490594053127465996050357977442745610019070734510345356255631565709003888470178491483748141559576944558430534358654075741062660195551471084237479309099759641644559372751957363486108039005625323460670005663076880228512504568300227046251954813190193624267137492320623587564540612466419798893587820328247091296317484858518790182076445095626935566021765145066733908875507705453402196269310574507838628496990809054650432877623620112261107880692890728492117032073584962199188124590334440496156925644336910021207543273676252189644865469395235995010637353599538934898181365747431733513785413063939181559854012032072715785676836554155015388161439134131607654149888478504184987468897708510382215830212622025456610587920651079929819085777196330937226642884184703456661451266431890647728253859660443535789899865417424043369864841291639717245992100053281623772253749073509042272983190449376945529419498133835571195407114056739803786710842078399537546421931133630868563553933376317454118916780894416611835033212664127634414955501606945908039655987538345045403229569443280011173867046017175803928502280331906813263181208128236089887764683307282031710388833052188224860050683953798343269054681861381797727588727355728107184008997040804840644168579258535074850540921999958107594524495822614098111443943455485254547867866499912816262410244536575794835540159629414653732697728587671070184281622140575630496570134791381292571090786802533427969610745544572883325917159864806213816184017060682395154824541935134899449338241151665317697226938275644578978430811036167167637789434687177954166292361001687827114372293051246248788740896285515756419172997485307997524933982657277944502313446180366013915183256524925903271820244155182497476646599 11103690879230194844534457579386553033452190454691354603858992366951482656123137370675200392057418250404140558050471852584300727025998900687948004791452232734915017991643367182483078999217228704045270406697355598172108365812968594787722926327075624316676530699953631433435274312525383036085609624367387826276030505758480761357772542605054640139625353433128420184126708962572009892903213523358966381498419134987788824339795862422508295137049631096128412185047350018023608613990243833039231943641138842016393658862284476175506001866317377655373890329554199566330358295791970553623804113103623962132387742256109832861204052501252296924969052944949378679120008711979435373523774499827786689862928383242078429926950704570145760383926630692629508671639236203528890275111735822829749476546281565642297855654022953801789051066877915434496436705380538675853013253614213013671790236925530509023886128492175611224972213719885018551169999952068263431402553368042121209088226076286039324061561302950338406566301348317944373367457263612133536462936889948024438238510920003629398139971639404727988193412772514583912467088196433744760600473329411828885643601702846991469966102537983319801998964630091553469738782124306361855672007470212208324702172330061843528740263058112117559397625863271654869250840485713288497602876962545962883415309756688924179888705826173184821448626721024478345762326182838967517908624633766920828415633808266155942378832314346717386726221314052577389471821867169387460273698911923842844970081663798770072140206825732013530005314708851652401682633052750426819153301910948813460275533360535821578558536114149482888386763811513627425157045886346866300444618627208773936663851943540299096854518225696828132256113879827183563050839877344244514179198144177927190206925171882819016352851262137533259989217619905466746196427705785935083862417467375616471598514769963129375438989536625450928278363713986037486211506142168285017662698498368076257146552082821180247791189421978327192404879616174676838834636405927310484775276177334680437942663829403858408215872870032243173843275556463689221847495485758514523094370926354026076725674975753927396953917870109265085982417659528307093141082736914095357322209343233985472447922207434915310849811104108690341644311482924465582217260760479827786548776580730987069646360229692705781124597040913706520585861128207839342994292385579695979805952774306328720294163038822722 17966149243166659120710110687300516248822992451612071976914752426002105208919168644617097052650462965332440690083328168205194568909720658379371374339625961248873623023778246101834404128150352343168625199507519799222940807106406262020221393230425239763417027795580345260650121332243186781029647128164845271095624118994237646816542261400141273747685190276269703365040174761097213004818363647037272576922848233611218349188991481764930398684504558998759853752840352066380648208526805835209888531998334399048717421443750184565855784395106301894822816716346113641526321705548092613216360067555125172568819723863798024028276021253597594063518551620992627865255744389874743729784689468804052873941855431732672483054416700620503737826672240711700243181984592459160455984115624293008240960294423125219242414084557312455864792129538110985967520942859847775612654898173585765629153723033569514649209589162181274301852442232389586851397046204023076621596177635179613529711813640826651790481360196538158734813392644635429231886247445688578632089872455969789583305244828879137103593373835674038562701251401011574721521738629311368380712734437292521776372093819879065054928301726107910136439460787017197806648803331849635531924197115077677719938167340699197128279197956293483306829359377057067933190022045567300529675592748222799437570325144850363314020313480323073299952811708493376054272708398669180139934081244354841479495563627351933138709769540989601571429677975503843821362469595423247120717234701823708262394125033663611363779924071724113583286938481105401475191675325733617268530247440368311594111104555942935635298339900860324966786301357935558558787914449900799676762072746125554831080463778573511760982152640652329739202021919483171101395885280573813957459209318044973207382729100385099348259664525318741388225307507670150053478459416174768136050642327426300425396858039017811236820787264214178284006470897995034527016346786336864276197773348908998257104659677345676070405287533422270647890134164042543338747452668337555021351071012874840067357317562101586995886943054313865314418906053033824013228788056849301325627798895964771621298558301671087261760131686293282146664812814352849028275982186252336508987527040460923748092501185865726347016978741898125028822265649216826583905087874852120837795025369471883355162116648865703266432594565847689177863805630521285523360306300762952504731856046126572875476660515469321 29069840122396853965244568266687069282275182906303426580773744792953587865042306015292297444707881215736581248133800020789495295935719559067319379131078193983788641015421613284317483127367581047213895606204875397395049172919374856807944319557500864080093558495533976694085395644768569817115256752532233097371654624752718408174314804005195913887310543709398123549166883723669222897721577170396238958421267368599007173528787344187438693821554190094888265937887702084404256822517049668249120475639473241065111080306034660741361786261423679550196707045900313207856680001340063166840164180658749134701207466119907856889480073754849890988487604565942006544375753101854179103308463968631839563804783814974750912981367405190649498210598871404329751853623828662689346259227360115837990436840704690861540269738580266257653843196416026420463957648240386451465668151787798779300943959959100023673095717654356885526824655952274605402567046156091340052998731003221734738800039717112691114542921499488497141379693992953373605253704709300712168552809345917814021543755748882766501733345475078766550894664173526158633988826825745113141313207766704350662015695522726056524894404264091229938438425417108751276387585456155997387596204585289886044640339670761040657019461014405600866226985240328722802440862531280589027278469710768762320985634901539287493909019306496258121401438429517854400035034581508147657842705878121762307911197435618089081088601855336318958155899289556421210834291462592634580990933613747551107364206697462381435920130897456127113292253189957053876874308378484044087683549351317125054386637916478757213856876015009807855173065169449185983944960336247665977206691373334328767744315722113810857836670866349157871458135799310354664446725157918058471638407462222900397589654272267918364612515787456274648214525127575616799674887121960703219913059794801916896995372808980940612259776800839629212284834611981072013227852928505149293860471847277074514251211760166856318196476955400597840295013780217220177582089074264865506126347190209520505299981391505445404102815924346108488262181609497513235076283542607815848722169822318797698024233277425014658714049556402547232647230473881156121417064923166431866309736383694909220540423393300641657866789846006815370466577132141292166122348635331948624343801950202870424808476878558409047557191606761395698449666758729124866354598686342648484537808820432901595770823554292043 47035989365563513085954678953987585531098175357915498557688497218955693073961474659909394497358344181069021938217128188994689864845440217446690753470704155232662264039199859386151887255517933390382520805712395196617989980025781118828165712787926103843510586291114321954735516977011756598144903880697078368467278743746956054990857065405337187634995733985667826914207058484766435902539940817433511535344115602210225522717778825952369092506058749093648119690728054150784905031043855503459009007637807640113828501749784845307217570656529981445019523762246426849383001706888155780056524248213874307270027189983705880917756095008447485052006156186934634409631497491728922833093153437435892437746639246707423396035784105811153236037271112116029995035608421121849802243342984408846231397135127816080782683823137578713518635325954137406431478591100234227078323049961384544930097682992669538322305306816538159828677098184664192253964092360114416674594908638401348268511853357939342905024281696026655876193086637588802837139952154989290800642681801887603604849000577761903605326719310752805113595915574537733355510565455056481522025942203996872438387789342605121579822705990199140074877886204125949083036388788005632919520401700367563764578507011460237785298658970699084173056344617385790735630884576847889556954062458991561758555960046389650807929332786819331421354250138011230454307742980177327797776787122476603787406761062970022219798371396325920529585577265060265032196761058015881701708168315571259369758331731125992799700054969180240696579191671062455352065983704217661356213796791685436648497742472421692849155215915870132821959366527384744542732874786148465653968764119459883598824779500687322618818823507001487610660157718793525765842610438491872429097616780267873604972383372653017712872180312775016036439832635245766853153346538135471355963702122228217322392230847998751849080564065053807496291305509976106540244199714842013570058245196186072771355871437512532388601764488822868488185147944259763516329541742602420527477418203084360572657298953607032399989758978659973802681087662531337248305071599457117174349968718283569319322791579096101920474181242695829379312043288234005149693047109418768375297263424155832968632924579166368004883768587904940399288842781358118750027436510184069462138827319674753779970593527424112313989786172609084876313472389250410389714904987105600989269664866559474471247484069761364 76105829487960367051199247220674654813373358264218925138462242011909280939003780675201691942066225396805603186350928209784185160781159776514010132601782349216450905054621472670469370382885514437596416411917270594013039152945155975636110032345426967923604144786648298648820912621780326415260160633229311465838933368499674463165171869410533101522306277695065950463373942208435658800261517987829750493765382970809232696246566170139807786327612939188536385628615756235189161853560905171708129483277280881178939582055819506048579356917953660995216230808146740057239681708228218946896688428872623441971234656103613737807236168763297376040493760752876640954007250593583101936401617406067732001551423061682174309017151511001802734247869983520359746889232249784539148502570344524684221833975832506942322953561717844971172478522370163826895436239340620678543991201749183324231041642951769561995401024470895045355501754136938797656531138516205756727593639641623083007311893075052034019567203195515153017572780630542176442393656864290002969195491147805417626392756326644670107060064785831571664490579748063891989499392280801594663339149970701223100403484865331178104717110254290370013316311621234700359423974244161630307116606285657449809218846682221278442318119985104685039283329857714513538071747108128478584232532169760324079541594947928938301838352093315589542755688567529084854342777561685475455619493000598366095317958498588111300886973251662239487741476554616686243031052520608516282699101929318810477122538428588374235620185866636367809871444861019509228940292082701705443897346143002561702884380388900450063012091930879940677132431696833930526677835122396131631175455492794212366569095222801133476655494373350645482118293518103880430289335596409930900736024242490774002562037644920936077484696100231290684654357762821383652828233660096174575876761917030134219387603656979692461340340865893436708576140121957178553472052643347162863918717043463147285607083197679388706798241444223466328480161724476983693911630816867286033603765393293881077957280345112477804092574903006082290943269272028850483381355142064933023072138540602367017347024856521116579188230799098376611959273762115161271110112032585200241606999807850742189173347972467009662750558433911755769755419913499410916149785145516018086482629269877624204779070405982521361546977779370480574763139147979535256069503673448249473807473686992376067018307624053407 123141818853523880137153926174662240344471533622134423696150739230864974012965255335111086439424569577874625124568056398778875025626599993960700886072486504449113169093821332056621257638403447827978937217629665790631029132970937094464275745133353071767114731077762620603556429598792083013405064513926389834306212112246630518156028934815870289157302011680733777377581000693202094702801458805263262029109498573019458218964344996092176878833671688282184505319343810385974066884604760675167138490915088521292768083805604351355796927574483642440235754570393166906622683415116374726953212677086497749241261846087319618724992263771744861092499916939811275363638748085312024769494770843503624439298062308389597705052935616812955970285141095636389741924840670906388950745913328933530453231110960323023105637384855423684691113848324301233326914830440854905622314251710567869161139325944439100317706331287433205184178852321602989910495230876320173402188548280024431275823746432991376924591484891541808893765867268130979279533609019279293769838172949693021231241756904406573712386784096584376778086495322601625345009957735858076185365092174698095538791274207936299684539816244489510088194197825360649442460363032167263226637007986025013573797353693681516227616778955803769212339674475100304273702631684976368141186594628751885838097554994318589109767684880134920964109938705540315308650520541862803253396280123074969882724719561558133520685344647988160017327053819676951275227813578624397984407270244890069846880870159714367035320240835816608506450636532081964581006275786919366800111142934687998351382122861322142912167307846750073499091798224218675069410709908544597285144219612254095965393874723488456095474317880352133092778451236897406196131946034901803329833641022758647607534421017573953790356876413006306721094190398067150505981580198231645931840464039258351541779834504978444310420904930947244204867445631933285093716252358189176433976962239649220056962954635191921095400005933046334816665309668736747210241172559469706561081183596378241650614579298719510204082333881666056093624356934560187731686426741522050197422107258885936336669816435617218499662412041794205991271317050349166420803159142003968616904263232006575157806272551633377667634327021816696169044262694857529666177221655700087548621456589552377984749663933406633675536763951979565451076611537229945645784408660553850463077138553551850538265791693814771 199247648341484247188353173395336895157844891886353348834612981242774254951969036010312778381490794974680228310918984608563060186407759770474711018674268853665564074148442804727090628021288962265575353629546936384644068285916093070100385777478780039690718875864410919252377342220572409428665225147155701300145145480746304981321200804226403390679608289375799727840954942901637753503062976793093012522874881543828690915210911166231984665161284627470720890947959566621163228738165665846875267974192369402471707665861423857404376284492437303435451985378539906963862365123344593673849901105959121191212496502190933356532228432535042237132993677692687916317645998678895126705896388249571356440849485370071772014070087127814758704533011079156749488814072920690928099248483673458214675065086792829965428590946573268655863592370694465060222351069781475584166305453459751193392180968896208662313107355758328250539680606458541787567026369392525930129782187921647514283135639508043410944158688087056961911338647898673155721927265883569296739033664097498438857634513231051243819446848882415948442577075070665517334509350016659670848704242145399318639194759073267477789256926498779880101510509446595349801884337276328893533753614271682463383016200375902794669934898940908454251623004332814817811774378793104846725419126798512209917639149942247527411606036973450510506865627273069400162993298103548278709015773123673335978042678060146244821572317899650399505068530374293637518258866099232914267106372174208880324003408588302741270940426702452976316322081393101473809946567869621072244008489077690560054266503250222592975179399777630014176224229921052605596088545030940728916319675105048308331962969946289589572129812253702778574896744755001286626421281631311734230569665265249421610096458662494889867841572513237597405748548160888534158809813858327820507717225956288485761167438161958136771761245796840680913443585753890463647188305001536339297895679283112367342570037832871309802198247377269801145145471393213730904152803376336992594684948989672122728571859643831988008174908784672138384567626206589038215067781883586983220494245799488303354016841292138335078850642840892582603230590812464327691913271174589168858511263039857317346979620524100387330384885455728451938799682608356940582327006801216105635104085859430002189528734339389155037083741731350046025839750685209480901853912334002099936884612240544226605284099317868178 322389467195008127325507099569999135502316425508487772530763720473639228964934291345423864820915364552554853435487041007341935212034359764435411904746755358114677243242264136783711885659692410093554290847176602175275097418887030164564661522612133111457833606942173539855933771819364492442070289661082091134451357592992935499477229739042273679836910301056533505218535943594839848205864435598356274551984380116848149134175256162324161543994956315752905396267303377007137295622770426522042406465107457923764475749667028208760173212066920945875687739948933073870485048538460968400803113783045618940453758348278252975257220696306787098225493594632499191681284746764207151475391159093074980880147547678461369719123022744627714674818152174793139230738913591597317049994397002391745128296197753152988534228331428692340554706219018766293549265900222330489788619705170319062553320294840647762630813687045761455723859458780144777477521600268846103531970736201671945558959385941034787868750172978598770805104515166804135001460874902848590508871837047191460088876270135457817531833632979000325220663570393267142679519307752517747034069334320097414177986033281203777473796742743269390189704707271955999244344700308496156760390622257707476956813554069584310897551677896712223463962678807915122085477010478081214866605721427264095755736704936566116521373721853585431470975565978609715471643818645411081962412053246748305860767397621704378342257662547638559522395584193970588793486679677857312251513642419098950170884278748017108306260667538269584822772717925183438390952843656540439044119632012378558405648626111544735887346707624380087675316028145271280665499254939485326201463894717302404297356844669778045667604130134054911667675195991898692822553227666213537560403306288008069217630879680068843658198448926243904126842738558955684664791394056559466439557689995546837302947272666936581082182150727787925118311031385823748740904557359725515731872641522761587399532992468063230897598253310316135961810781061950478114393975935806699155766132586050364379186438942551498212257242666338194478191983141149225946754208625109033417916353058374239690686657727755553578513054882686788594501907862813494112716430316593137475415526271863892504785893075733764998019212477545148107843945303214470248504228456916193183725542448982380174278398272795788712620505683329611476916362222439426547638320994555950399961750794096077143549891011682949 521637115536492374513860272965336030660161317394841121365376701716413483916903327355736643202406159527235081746406025615904995398442119534910122923421024211780241317390706941510802513680981372359129644476723538559919165704803123234665047300090913151148552482806584459108311114039936901870735514808237792434596503073739240480798430543268677070516518590432333233059490886496477601708927412391449287074859261660676840049386167328556146209156240943223626287215262943628300524360936092368917674439299827326236183415528452066164549496559358249311139725327472980834347413661805562074653014889004740131666254850469186331789449128841829335358487272325187107998930745443102278181287547342646337320997033048533141733193109872442473379351163253949888719552986512288245149242880675849959803361284545982953962819278001960996418298589713231353771616970003806073954925158630070255945501263736856424943921042804089706263540065238686565044547969661372033661752924123319459842095025449078198812908861065655732716443163065477290723388140786417887247905501144689898946510783366509061351280481861416273663240645463932660014028657769177417882773576465496732817180792354471255263053669242049270291215216718551349046229037584825050294144236529389940339829754445487105567486576837620677715585683140729939897251389271186061592024848225776305673375854878813643932979758827035941977841193251679115634637116748959360671427826370421641838810075681850623163829980447288959027464114568264226311745545777090226518620014593307830494887687336319849577201094240722561139094799318284912200899411526161511288128121090069118459915129361767328862526107402010101851540258066323886261587799970426055117783569822350712629319814616067635239733942387757690242571940746899979448974509297525271790972971553257490827727338342563733526040021439481501532591286719844218823601207914887286947274915951835323064114710828894717853943396524628606031754617139714212388092862361261855029768320805873954742103030300934540699796500687585937106956252455164209018546779312143691750451081575722487107758298586383486220432151451010332862759609347738264161821990508696016638410598857862543044703499019893888657363697723579371197732498675277821804629701491182306333926789311721209851765513599834152328404097933273600046643627911571410830831235258132298818829628308412382363807132612184943749704247414679657502756112907648907449492233328558050336846363034640303748833990329551127 844026582731500501839367372535335166162477742903328893896140422190052712881837618701160508023321524079789935181893066623246930610476479299345534828167779569894918560632971078294514399340673782452683935323900140735194263123690153399229708822703046262606386089748757998964244885859301394312805804469319883569047860666732175980275660282310950750353428891488866738278026830091317449914791847989805561626843641777524989183561423490880307753151197258976531683482566320635437819983706518890960080904407285250000659165195480274924722708626279195186827465276406054704832462200266530475456128672050359072120013198747439307046669825148616433583980866957686299680215492207309429656678706435721318201144580726994511452316132617070188054169315428743027950291900103885562199237277678241704931657482299135942497047609430653336973004808731997647320882870226136563743544863800389318498821558577504187574734729849851161987399524018831342522069569930218137193723660324991405401054411390112986681659034044254503521547678232281425724849015689266477756777338191881359035387053501966878883114114840416598883904215857199802693547965521695164916842910785594146995166825635675032736850411985318660480919923990507348290573737893321207054534858787097417296643308515071416465038254734332901179548361948645061982728399749267276458630569653040401429112559815379760454353480680621373448816759230288831106280935394370442633839879617169947699577473303555001506087642994927518549859698762234815105232225454947538770133657012406780665771966084336957883461761778992145961867517243468350591852255182701950332247753102447676865563755473312064749872815026390189526856286211595166927087054909911381319247464539653116926676659285845680907338072521812601910247136738798672271527736963738809351376277841265560045358218022632577184238470365725405659434025278799903488392601971446753386832605947382160367061983495831298936125547252416531150065648525537961128997419720987370761640962328635542141636022768997771597394753997902073068767033517114687132940755247950390906217214161772851486944737528934984432689394117348527340951592488887490108576199133805050056326951916236782735390156747649442235876752606266159792234406538091315917346131807775443809342315583585102356551406675567917326423310410818748154487573214785881079335463715048492002555170757394762538085530884980732462324753098009268979672475130088333997130554323114000736808113828736380892383881341234076 1365663698267992876353227645500671196822639060298170015261517123906466196798740946056897151225727683607025016928299092239151926008918598834255657751588803781675159878023678019805316913021655154811813579800623679295113428828493276633894756122793959413754938572555342458072555999899238296183541319277557676003644363740471416461074090825579627820869947481921199971337517716587795051623719260381254848701702903438201829232947590819436453962307438202200157970697829264263738344344642611259877755343707112576236842580723932341089272205185637444497967190603879035539179875862072092550109143561055099203786268049216625638836118953990445768942468139282873407679146237650411707837966253778367655522141613775527653185509242489512661433520478682692916669844886616173807348480158354091664735018766845118896459866887432614333391303398445229001092499840229942637698470022430459574444322822314360612518655772653940868250939589257517907566617539591590170855476584448310865243149436839191185494567895109910236237990841297758716448237156475684365004682839336571257981897836868475940234394596701832872547144861321132462707576623290872582799616487251090879812347617990146287999904081227367930772135140709058697336802775478146257348679095316487357636473062960558522032524831571953578895134045089375001879979789020453338050655417878816707102488414694193404387333239507657315426657952481967946740918052143329803305267705987591589538387548985405624669917623442216477577323813330499041416977771232037765288753671605714611160659653420656807460662856019714707100962316561753262792751666708863461620375874192516795325478884835079393612398922428400291378396544277919053188674854880337436437031034362003829555996473901913316147072014909570292152819077485698651720502246261264081142349249394523050873085556365196310710278491805206907192025311998644122311993809886334040334107521899217483431176694324726016790068943777045137181820265665252173517090282082249225791409283134509496883739053069932312297191254685488010175723285972278896151487534560094082656668295737495338594703036115318470653121545568358860203711201836625754270398189642501066694737550774099325780093655767543330893240450329845530989966905213369137721975833298957750143269104895306312208316920275402069654827408344092348201131201126357291910166698973180790821384799065807144901892663497165676212029000512688926482428588037737241446622787651672051073654476863376684641217871670785203 2209690280999493378192595018036006362985116803201498909157657546096518909680578564758057659249049207686814952110192158862398856619395078133601192579756583351570078438656649098099831312362328937264497515124523820030307691952183430033124464945497005676361324662304100457036800885758539690496347123746877559572692224407203592441349751107890578571223376373410066709615544546679112501538511108371060410328546545215726818416509014310316761715458635461176689654180395584899176164328349130150837836248114397826237501745919412616013994913811916639684794655880285090244012338062338623025565272233105458275906281247964064945882788779139062202526449006240559707359361729857721137494644960214088973723286194502522164637825375106582849487689794111435944620136786720059369547717436032333369666676249144254838956914496863267670364308207177226648413382710456079201442014886230848892943144380891864800093390502503792030238339113276349250088687109521808308049200244773302270644203848229304172176226929154164739759538519530040142173086172164950842761460177528452617017284890370442819117508711542249471431049077178332265401124588812567747716459398036685026807514443625821320736754493212686591253055064699566045627376513371467464403213954103584774933116371475629938497563086306286480074682407038020063862708188769720614509285987531857108531600974509573164841686720188278688875474711712256777847198987537700245939107585604761537237965022288960626176005266437143996127183512092733856522209996686985304058887328618121391826431619504993765344124617798706853062829833805221613384603921891565411952623627294964472191042640308391458362271737454790480905252830489514220115761909790248817756278498901656946482673133187758997054410087431382894063066214224497323992029983225002890493725527235788610918443774387828887894516962170932312851459337277444025800386411857780793720940127846599643798238677820557315726194491029461668331885914190790134646087701803236596553050245463145039025375075838930083894586008683390083244490319489393583284428289808044473562885509899268190081647773644253455085810939685707387544662794325513244378974388776306116751064502690336108515483812515192773129117202936111690782201311751460453639321965106733193952611420478891414564868326950969986981250718754911096355618774341143172989502162688229282823939969823201907439978194382146408674353753610698195462101063167825575443753341974786051810462590692113065533601753012019279 3575353979267486254545822663536677559807755863499668924419174670002985106479319510814954810474776891293839969038491251101550782628313676967856850331345387133245238316680327117905148225383984092076311094925147499325421120780676706667019221068290965090116263234859442915109356885657777986679888443024435235576336588147675008902423841933470206392093323855331266680953062263266907553162230368752315259030249448653928647649456605129753215677766073663376847624878224849162914508672991741410715591591821510402474344326643344957103267118997554084182761846484164125783192213924410715575674415794160557479692549297180690584718907733129507971468917145523433115038507967508132845332611213992456629245427808278049817823334617596095510921210272794128861289981673336233176896197594386425034401695015989373735416781384295882003755611605622455649505882550686021839140484908661308467387467203206225412612046275157732898489278702533867157655304649113398478904676829221613135887353285068495357670794824264074975997529360827798858621323328640635207766143016865023874999182727238918759351903308244082343978193938499464728108701212103440330516075885287775906619862061615967608736658574440054522025190205408624742964179288849613721751893049420072132569589434436188460530087917878240058969816452127395065742687977790173952559941405410673815634089389203766569229019959695936004302132664194224724588117039681030049244375291592353126776352571274366250845922889879360473704507325423232897939187767919023069347641000223836002987091272925650572804787473818421560163792150366974876177355588600428873572999501487481267516521525143470851974670659883190772283649374767433273304436764670586254193309533263660776038669607089672313201482102340953186215885291710195975712532229486266971636074776630311661791529330753025198604795453976139220043484649276088148112380221744114834055047649745817127229415372145283332516263434806506805513706179856042308163177983885485822344459528597654535909114128908862396191777263368878093420213605461672479435915824368138556219553805636763528676350809759571925738932485254066247748373996162138998649372578418807183445802053464435434295577468282736104022357653265957221772168216964829591361297798405690944095880525374197726773185247226372056636078127099003444556749975467500464899668861661410073645324768889009052341870857879312084886382754123387121944529651205562816890376129626458102884117067555489750174819624682804482 5785044260266979632738417681572683922792872666701167833576832216099504016159898075573012469723826098980654921148683409963949639247708755101458042911101970484815316755336976216004979537746313029340808610049671319355728812732860136700143686013787970766477587897163543372146157771416317677176235566771312795149028812554878601343773593041360784963316700228741333390568606809946020054700741477123375669358795993869655466065965619440069977393224709124553537279058620434062090673001340871561553427839935908228711846072562757573117262032809470723867556502364449216027204551986749338601239688027266015755598830545144755530601696512268570173995366151763992822397869697365853982827256174206545602968714002780571982461159992702678360408900066905564805910118460056292546443915030418758404068371265133628574373695881159149674119919812799682297919265261142101040582499794892157360330611584098090212705436777661524928727617815810216407743991758635206786953877073994915406531557133297799529847021753418239715757067880357839000794409500805586050527603194393476492016467617609361578469412019786331815409243015677796993509825800916008078232535283324460933427376505241788929473413067652741113278245270108190788591555802221081186155107003523656907502705805911818399027651004184526539044498859165415129605396166559894567069227392942530924165690363713339734070706679884214693177607375906481502435316027218730295183482877197114664014317593563326877021928156316504469831690837515966754461397764606008373406528328841957394813522892430644338148912091617128413226621984172196489561959510491994285525623128782445739707564165451862310336942397337981253188902205256947493420198674460835071949588032165317722521342740277431310255892189772336080278951505934693299704562212711269862129800303866100272709973105140854086499312416147071532894943986553532173912766633601895627775987777592416771027654049965840648242457925835968473845592094046832442809265685688722418897509774060799574934489204747792480086363272052268176664703924951066062720344114176183029782439315536031718757998583403825380824743424939773635293036790487652243028346967195113300196866556154771542811061280797928877151474856202068912554369528716290045000619763512424138048491945853089141338053574177342043617328845853914540912368749808643637889171024349639356469264738712210959781849052261458493560736507734085317406630714373388392334129471601244154694579658247602815708421377694823761 9360398239534465887284240345109361482600628530200836757996006886102489122639217586387967280198602990274494890187174661065500421876022432069314893242447357618060555072017303333910127763130297121417119704974818818681149933513536843367162907082078935856593851132022986287255514657074095663856124009795748030725365400702553610246197434974830991355410024084072600071521669073212927607862971845875690928389045442523584113715422224569823193070990782787930384903936845283225005181674332612972269019431757418631186190399206102530220529151807024808050318348848613341810396765911160054176914103821426573235291379842325446115320604245398078145464283297287425937436377664873986828159867388199002232214141811058621800284494610298773871330110339699693667200100133392525723340112624805183438470066281123002309790477265455031677875531418422137947425147811828122879722984703553465827718078787304315625317483052819257827216896518344083565399296407748605265858553903216528542418910418366294887517816577682314691754597241185637859415732829446221258293746211258500367015650344848280337821315328030414159387436954177261721618527013019448408748611168612236840047238566857756538210071642092795635303435475516815531555735091070694907907000052943729040072295240348006859557738922062766598014315311292810195348084144350068519629168798353204739799779752917106303299726639580150697479740040100706227023433066899760344427858168789467790790670164837693127867851046195864943536198162939199652400585532525031442754169329065793397800614165356294910953699565435549973390414134539171365739315099092423159098622630269927007224085690595333162311613057221172025472551580024380766724635439131421326142897565428978498560012347367103623457374292113289266494836797644889275417094442197536833765875080496411934501502435893879285104107870123210752938428635829620322025146855346010461831035427338233898257069422111123980758721360642475279359298273902874750972443669574208241241969302658454110843603333656654876278140535421146270084917530412738542156259938544321586001993121172795247434349393163397306563675910193839883041410786649791241677719545613920483642668609619206977106638749080664981173832509468026134326537745681119636361917561918115082144372471227286868111238821403714100253406972952917985469118725276144102788839886011049430114589507601220012123719910140770578447119261857472439351160365578951209224505601227702257578696725803092565883241002377628243 15145442499801445520022658026682045405393501196902004591572839102201993138799115661960979749922429089255149811335858071029450061123731187170772936153549328102875871827354279549915107300876610150757928315024490138036878746246396980067306593095866906623071439029186529659401672428490413341032359576567060825874394213257432211589971028016191776318726724312813933462090275883158947662563713322999066597747841436393239579781387844009893170464215491912483922182995465717287095854675673484533822447271693326859898036471768860103337791184616495531917874851213062557837601317897909392778153791848692588990890210387470201645922300757666648319459649449051418759834247362239840810987123562405547835182855813839193782745654603001452231739010406605258473110218593448818269784027655223941842538437546256630884164173146614181351995451231221820245344413072970223920305484498445623188048690371402405838022919830480782755944514334154299973143288166383812052812430977211443948950467551664094417364838331100554407511665121543476860210142330251807308821349405651976859032117962457641916290727347816745974796679969855058715128352813935456486981146451936697773474615072099545467683484709745536748581680745625006320147290893291776094062107056467385947575001046259825258585389926247293137058814170458225324953480310909963086698396191295735663965470116630446037370433319464365390657347416007187729458749094118490639611341045986582454804987758401020004889779202512369413367889000455166406861983297131039816160697657907750792614137057786939249102611657052678386617036118711367855301274609584417444624245759052372746931649856047195472648555454559153278661453785281328260144834113592256398092485597594296221081355087644534933713266481885625346773788303579582575121656654908806695895675384362512207211475541034733371603420286270282285833372622383152495937913488947906089607023204930650669284723472076964629001179286478443753204890367949707193781709355262930660139479076719253685778092538404447356364503807473414446749621455363804604876604052720504615784432436708826966192347976567222687388419335133613518334447577137443484706066512809033783839535165773978519917700029878593858325307365670095046880907274397409681362537325430539220192864417080376009449292395581056143870735818806832526381487475084787740678010910360688786583854246313430971905568962402229072007855769591557756757791079952339601558635072828946412273276384050695381591662380072452004 24505840739335911407306898371791406887994129727102841349568845988304482261438333248348947030121032079529644701523032732094950482999753619240087829395996685720936426899371582883825235064006907272175048019999308956718028679759933823434469500177945842479665290161209515946657187085564509004888483586362808856599759613959985821836168462991022767674136748396886533533611944956371875270426685168874757526136886878916823693496810068579716363535206274700414307086932311000512101036350006097506091466703450745491084226870974962633558320336423520339968193200061675899647998083809069446955067895670119162226181590229795647761242905003064726464923932746338844697270625027113827639146990950604550067396997624897815583030149213300226103069120746304952140310318726841343993124140280029125281008503827379633193954650412069213029870982649643958192769560884798346800028469201999089015766769158706721463340402883300040583161410852498383538542584574132417318670984880427972491369377970030389304882654908782869099266262362729114719625875159698028567115095616910477226047768307305922254112042675847160134184116924032320436746879826954904895729757620548934613521853638957302005893556351838332383885116221141821851703025984362471001969107109411114987647296286607832118143128848310059735073129481751035520301564455260031606327564989648940403765249869547552340670159959044516088137087456107893956482182161018250984039199214776050245595657923238713132757630248708234356904087163394366059262568829656071258914866986973544190414751223143234160056311222488228360007450253250539221040589708676840603722868389322299754155735546642528634960168511780325304134005365305709026869469552723677724235383163023274719641367435011638557170640773998914613268625101224471850538751097106343529661550464858924141712977976928612656707528156393493038771801258212772817963060344293916551438058632268884567541792894188088609759900647120919032564188641852581944754153024837138901381448379377707796621695872061102232642644342894560716834538985776543147032863991264826201786425557881622213626697369730619993952095245327453401375858363787234726383786058422954267482203775393185497024338778959258839499139875138121181207445020078529317724454887348654302337236888307662877560531216984770244124142791759750511850606200360931843466850796371738216698443753914650984029288872542999650454975031449030196108951445531290810783140674056648669851973109853787947474903382450080247 39651283239137356927329556398473452293387630924004845941141685090506475400237448910309926780043461168784794512858890803124400544123484806410860765549546013823812298726725862433740342364883517422932976335023799094754907426006330803501776093273812749102736729190396045606058859514054922345920843162929869682474153827217418033426139491007214543992863472709700466995702220839530822932990398491873824123884728315310063273278197912589609533999421766612898229269927776717799196891025679582039913913975144072350982263342743822736896111521040015871886068051274738457485599401706978839733221687518811751217071800617265849407165205760731374784383582195390263457104872389353668450134114513010097902579853438737009365775803816301678334808131152910210613420537320290162262908167935253067123546941373636264078118823558683394381866433880865778438113973957768570720333953700444712203815459530109127301363322713780823339105925186652683511685872740516229371483415857639416440319845521694483722247493239883423506777927484272591579836017489949835875936445022562454085079886269763564170402770023663906108980796893887379151875232640890361382710904072485632386996468711056847473577041061583869132466796966766828171850316877654247096031214165878500935222297332867657376728518774557352872131943652209260845255044766169994693025961180944676067730719986177998378040593278508881478794434872115081685940931255136741623650540260762632700400645681639733137647409451220603770271976163849532466124552126787111075075564644881294983028888280930173409158922879540906746624486371961907076341864318261258048347114148374672501087385402689724107608723966339478582795459150587037287014303666315934122327868760617570940722722522656173490883907255884539960042413404804054425660407752015150225557225849221436348924453517963346028310948442663775324605173880595925313900973833241822641045081837199535236826516366265053238761079933599362785769079009802289138535862380100069561520927456096961482399788410465549589007148150367975163584160441140347751909468043985330817570857994590449179819045346297842681340514580461066919710305940924678211089852571231988051321738941167164016942038808837852697824447240808216228088352294475938999086992212779193522530101305388038887009823612565826387994878610566583038232093675445719584144861706732427003282298000228081955934857834945228722462830801040587952866742525483630412341775746885595082125249493904483329066565762522532251 64157123978473268334636454770264859181381760651107687290710531078810957661675782158658873810164493248314439214381923535219351027123238425650948594945542699544748725626097445317565577428890424695108024355023108051472936105766264626936245593451758591582402019351605561552716046599619431350809326749292678539073913441177403855262307953998237311667000221106587000529314165795902698203417083660748581650021615194226886966775007981169325897534628041313312536356860087718311297927375685679546005380678594817842066490213718785370454431857463536211854261251336414357133597485516048286688289583188930913443253390847061497168408110763796101249307514941729108154375497416467496089281105463614647969976851063634824948805953029601904437877251899215162753730856047131506256032308215282192404555445201015897272073473970752607411737416530509736630883534842566917520362422902443801219582228688815848764703725597080863922267336039151067050228457314648646690154400738067388931689223491724873027130148148666292606044189847001706299461892649647864443051540639472931311127654577069486424514812699511066243164913817919699588622112467845266278440661693034567000518322350014149479470597413422201516351913187908650023553342862016718098000321275289615922869593619475489494871647622867412607205073133960296365556609221430026299353526170593616471495969855725550718710753237553397566931522328222975642423113416154992607689739475538682945996303604878446270405039699928838127176063327243898525387120956443182333990431631854839173443639504073407569215234102029135106631936625212446297382454026938098652069982537696972255243120949332252742568892478119803886929464515892746313883773219039611846563251923640845660364089957667812048054548029883454573311038506028526276199158849121493755218776314080360490637431494891958685018476599057268363376975138808698131864034177535739192483140469468419804368309260453141848520980580720281818333267651654871083290015404937208462902375835474669279021484282526651821649792493262535880418699426916890898942332035250157019357283552472071393445742716028462675292609825788520321086164304711912937473638629654942318803942716560349513966377587797111537323587115946337409295797314554468316811447100127847824867338193695701764570354829550596632119021402326333550082699875806651427611712503104165219980741754142732939964146707488228372917805832489618148975693971014921223124916420942243751977222603758271276541469144972612498 103808407217610625261966011168738311474769391575112533231852216169317433061913231068968800590207954417099233727240814338343751571246723232061809360495088713368561024352823307751305919793773942118041000690046907146227843531772595430438021686725571340685138748542001607158774906113674353696730169912222548221548067268394821888688447445005451855659863693816287467525016386635433521136407482152622405773906343509536950240053205893758935431534049807926210765626787864436110494818401365261585919294653738890193048753556462608107350543378503552083740329302611152814619196887223027126421511270707742664660325191464327346575573316524527476033691097137119371611480369805821164539415219976624745872556704502371834314581756845903582772685383052125373367151393367421668518940476150535259528102386574652161350192297529436001793603850411375515068997508800335488240696376602888513423397688218924976066067048310861687261373261225803750561914330055164876061637816595706805372009069013419356749377641388549716112822117331274297879297910139597700318987985662035385396207540846833050594917582723174972352145710711807078740497345108735627661151565765520199387514791061070996953047638475006070648818710154675478195403659739670965194031535441168116858091890952343146871600166397424765479337016786169557210811653987600020992379487351538292539226689841903549096751346516062279045725957200338057328364044671291734231340279736301315646396949286518179408052449151149441897448039491093430991511673083230293409065996276736134156472527785003580978374156981570041853256422997174353373724318345199356700417096686071644756330506352021976850177616444459282469724923666479783600898076885355545968891120684258416601086812480323985538938455285767994533353451910832580701859566601136643980776002163301796839561885012855304713329425041721043687982149019404623445765008010777561833528222306667955041194825626718195087282060514319644604102346661457160221825877785037278024423303291571630761421272692992201410656940643630511044002859868057238650851800079235487836928141547062520573264788062326305356633124406249587240796470245636591148563491200886930370125681657727513530908416396634964235148034356754553637384149609030407315898439312907041347397439499083740651580178442116423020113900012892916588314793551252371011756574209836592223263039754370814895899004542433457095380636633530206101842436496498551635466692167827838834102472097662754605608034907495144749 167965531196083893596602465939003170656151152226220220522562747248128390723589013227627674400372447665413672941622737873563102598369961657712757955440631412913309749978920753068871497222664366813149025045070015197700779637538860057374267280177329932267540767893607168711490952713293785047539496661515226760621980709572225743950755399003689167326863914922874468054330552431336219339824565813370987423927958703763837206828213874928261329068677849239523301983647952154421792745777050941131924675332333708035115243770181393477804975235967088295594590553947567171752794372739075413109800853896673578103578582311388843743981427288323577282998612078848479765855867222288660628696325440239393842533555566006659263387709875505487210562634951340536120882249414553174774972784365817451932657831775668058622265771500188609205341266941885251699881043642902405761058799505332314642979916907740824830770773907942551183640597264954817612142787369813522751792217333774194303698292505144229776507789537216008718866307178276004178759802789245564762039526301508316707335195423902537019432395422686038595310624529726778329119457576580893939592227458554766388033113411085146432518235888428272165170623342584128218957002601687683292031856716457732780961484571818636366471814020292178086542089920129853576368263209030047291733013522131909010722659697629099815462099753615676612657479528561032970787158087446726839030019211839998592393252891396625678457488851078280024624102818337329516898794039673475743056427908590973329916167289076988547589391083599176959888359622386799671106772372137455352487079223768617011573627301354229592746508922579086356654388182372529914781850104395157815454372607899262261450902437991797586993003315651449106664490416861106978058725450258137735994778477382157330199316507747263398347901640778312051359124158213321577629042188313301026011362776136374845563134887171336935803041095039926422435614313112031305115893189974486487325679127046300040442756975518853232306733136893046924421559294974129549794132114485644856285425099534591966710530778354768031925734232038107561882634550348504086037129830541872688929624374287863044874793984432075772471621472700891046679946923584875632709886413034889172264777692779442416150533271667019652232921415219250138397493427059022439368286712940757443243781508513547835863151249921685468298442466019824250818130467513472858591608588770082586079694701421025882149504052467757247 271773938413694518858568477107741482130920543801332753754414963417445823785502244296596474990580402082512906668863552211906854169616684889774567315935720126281870774331744060820177417016438308931190025735116922343928623169311455487812288966902901272952679516435608775870265858826968138744269666573737774982170047977967047632639202844009141022986727608739161935579346939066769740476232047965993393197834302213300787446881419768687196760602727657165734067610435816590532287564178416202717843969986072598228163997326644001585155518614470640379334919856558719986371991259962102539531312124604416242763903773775716190319554743812851053316689709215967851377336237028109825168111545416864139715090260068378493577969466721409069983248018003465909488033642781974843293913260516352711460760218350320219972458069029624610998945117353260766768878552443237894001755176108220828066377605126665800896837822218804238445013858490758568174057117424978398813430033929480999675707361518563586525885430925765724831688424509550302058057712928843265081027511963543702103542736270735587614349978145861010947456335241533857069616802685316521600743793224074965775547904472156143385565874363434342813989333497259606414360662341358648486063392157625849639053375524161783238071980417716943565879106706299410787179917196630068284112500873670201549949349539532648912213446269677955658383436728899090299151202758738461070370298948141314238790202177914805086509938002227721922072142309430760508410467122903769152122424185327107486388695074080569525963548065169218813144782619561153044831090717336812052904175909840261767904133653376206442924125367038368826379311848852313515679926989750703784345493292157678862537714918315783125931458601419443640017942327693687679918292051394781716770780640683954169761201520602568111677326682499355739341273177617945023394050199090862859539585082804329886757960513889532023085101609359571026537960974569191526941770975011764511748982418617930801864029668511054642963673780523557968424419163031368200645932193721132693213566646597112539975318840681073388558858638287694802679104795985095234600621031428803059055306032015376575783210381067040007619655829455444684064096532615282948608325725941930519662217191863183067730711713783442672346821428112166726712286978311393451124860922777349666506821262884362731762155792355142563679079099550030352660566964012024494058300756597921420182166799083780487757538959962901996 439739469609778412455170943046744652787071696027552974276977710665574214509091257524224149390952849747926579610486290085469956767986646547487325271376351539195180524310664813889048914239102675744339050780186937541629402806850315545186556247080231205220220284329215944581756811540261923791809163235253001742792028687539273376589958243012830190313591523662036403633677491498105959816056613779364380621762260917064624653709633643615458089671405506405257369594083768744954080309955467143849768645318406306263279241096825395062960493850437728674929510410506287158124785632701177952641112978501089820867482356087105034063536171101174630599688321294816331143192104250398485796807870857103533557623815634385152841357176596914557193810652954806445608915892196528018068886044882170163393418050125988278594723840529813220204286384295146018468759596086140299762813975613553142709357522034406625727608596126746789628654455755713385786199904794791921565222251263255193979405654023707816302393220462981733550554731687826306236817515718088829843067038265052018810877931694638124633782373568547049542766959771260635398736260261897415540336020682629732163581017883241289818084110251862614979159956839843734633317664943046331778095248874083582420014860095980419604543794438009121652421196626429264363548180405660115575845514395802110560672009237161748727675546023293632271040916257460123269938360846185187909400318159981312831183455069311430764967426853306001946696245127768090025309261162577244895178852093918080816304862363157558073552939148768395773033142241947952715937863089474267405391255133608878779477760954730436035670634289617455183033700031224843430461777094145861599799865900056941123988617356307580712924461917070892746682432744554794657977017501652919452765559118066111499960518028349831510025228323277667790700397335831266601023092387404163885550947858940704732321095401060868958888142704399497448973575287681222832057664164986250999074661545664230842306786644029907875270406917416604892845978458005497750440064308206777549498991746131704506685849619035841420484592870325802364561739346333599320637750861970675747984930406303239620658004365499115780091277302156335730744043456200158581318212138976819691926994884642625483881244985450462324579742843331416865109780405370415890493147635718107109750602771397910567625307042276828031977521565569854603478697431525497352649909345368004006261861500504806369907043012430659243 711513408023472931313739420154486134917992239828885728031392674083020038294593501820820624381533251830439486279349842297376810937603331437261892587312071665477051298642408874709226331255540984675529076515303859885558025976161771032998845213983132478172899800764824720452022670367230062536078829808990776724962076665506321009229161087021971213300319132401198339213024430564875700292288661745357773819596563130365412100591053412302654850274133163570991437204519585335486367874133883346567612615304478904491443238423469396648116012464908369054264430267065007144496776892663280492172425103105506063631386129862821224383090914914025683916378030510784182520528341278508310964919416273967673272714075702763646419326643318323627177058670958272355096949534978502861362799305398522874854178268476308498567181909559437831203231501648406785237638148529378193764569151721773970775735127161072426624446418345551028073668314246471953960257022219770320378652285192736193655113015542271402828278651388747458382243156197376608294875228646932094924094550228595720914420667965373712248132351714408060490223295012794492468353062947213937141079813906704697939128922355397433203649984615296957793149290337103341047678327284404980264158641031709432059068235620142202842615774855726065218300303332728675150728097602290183859958015269472312110621358776694397639888992292971587929424352986359213569089563604923648979770617108122627069973657247226235851477364855533723868768387437198850533719728285481014047301276279245188302693557437238127599516487213937614586177924861509105760768953806811079458295431043449140547381894608106642478594759656655824009413011880077156946141704083896565384145359192214619986526332274623363838855920518490336386700375072248482337895309553047701169536339758750065669721719548952399621702555005777023530041670513449211624417142586495026745090532941745034619079055914950400981973244313759068475511536262250414358999435139998015510823643964282161644170816312540962518234080697940162861270397621036865951085996501927910242712558392728817046661168459716914809043451508613497167240844142318694555238371893399478807040236438318616196441214746566155787710933131611780414808139988815441529926537864918750211589212076505808551611956699233904996926564271443583591822067383681809341618008558495456776257424034282273299387462834631970595656600665119884956139264395537521846708210101965925426444028299588586857664581972393561239 1151252877633251343768910363201230787705063935856438702308370384748594252803684759345044773772486101578366065889836132382846767705589977984749217858688423204672231822953073688598275245494643660419868127295490797427187428783012086578185401461063363683393120085094040665033779481907491986327887993044243778467754105353045594385819119330034801403613910656063234742846701922062981660108345275524722154441358824047430036754300687055918112939945538669976248806798603354080440448184089350490417381260622885210754722479520294791711076506315346097729193940677571294302621562525364458444813538081606595884498868485949926258446627086015200314516066351805600513663720445528906796761727287131071206830337891337148799260683819915238184370869323913078800705865427175030879431685350280693038247596318602296777161905750089251051407517885943552803706397744615518493527383127335327113485092649195479052352055014472297817702322770002185339746456927014562241943874536455991387634518669565979219130671871851729191932797887885202914531692744365020924767161588493647739725298599660011836881914725282955110032990254784055127867089323209111352681415834589334430102709940238638723021734094867159572772309247176947075680995992227451312042253889905793014479083095716122622447159569293735186870721499959157939514276278007950299435803529665274422671293368013856146367564538316265220200465269243819336839027924451108836889170935268103939901157112316537666616444791708839725815464632564966940559028989448058258942480128373163269118998419800395685673069426362706010359211067103457058476706816896285346863686686177058019326859655562837078514265393946273279192446711911302000376603481178042426983945225092271561110514949630930944551780382435561229133382807816803276995872327054700620622301898876816177169682237577302231131727783329054691320742067849280478225440234973899190630641480800685739351400151316011269940861387018158565924485111549931637191057099304984266509898305509946392486477602956570870393504487615356767754116376079042363701526060810134687792211550138860521553347018078752756229528044378939299531802583488652293875876122755370154555025166844621855817099219112065271567802210433768116145552183445015600111244750003895569903516206961148434035493201684684367321506307114775000456931847789052225232111156194213563886008026805680183867012769876908798627634122230689739559617961827063019199358119447333929432705889800093393227571624984824220482 1862766285656724275082649783355716922623056175685324430339763058831614291098278261165865398154019353408805552169185974680223578643193309422011110446000494870149283121595482563307501576750184645095397203810794657312745454759173857611184246675046496161566019885858865385485802152274722048863966822853234555192716182018551915395048280417056772616914229788464433082059726352627857360400633937270079928260955387177795448854891740468220767790219671833547240244003122939415926816058223233836984993875927364115246165717943764188359192518780254466783458370944636301447118339418027738936985963184712101948130254615812747482829718000929225998432444382316384696184248786807415107726646703405038880103051967039912445680010463233561811547927994871351155802814962153533740794484655679215913101774587078605275729087659648688882610749387591959588944035893144896687291952279057101084260827776356551478976501432817848845775991084248657293706713949234332562322526821648727581289631685108250621958950523240476650315041044082579522826567973011953019691256138722243460639719267625385549130047076997363170523213549796849620335442386156325289822495648496039128041838862594036156225384079482456530565458537514050416728674319511856292306412530937502446538151331336264825289775344149461252089021803291886614665004375610240483295761544934746734781914726790550544007453530609236808129889622230178550408117488056032485868941552376226566971130769563763902467922156564373449684233020002165791092748717733539272989781404652408457421691977237633813272585913576643624945388991964966164237475770703096426321982117220507159874241550170943720992860153602929103201859723791379157322745185261938992368090584284486181097041281905554308390636302954051565520083182889051759333767636607748321791838238635566242839403957126254630753430338334831714850783738362729689849857377560394217375732013742430773970479207230961670922834631331917634399996647812182051550056534444982282020721949474228554130648419269111832911738568313296930615386773700079229652612057312062598034924108531589338600008186538469671038571495887552796699043427630970988431114494648769633362065403282940472013540433858631427355513143565379896560360323433831041641171287868814320115105419037654242587105158383918272318432871386218584048753915172734034573729164752709020662265450839962457166400232711540769223290722895809624515757226222600541046066329549299854859149918099681980085236206957217781721 3014019163289975618851560146556947710328120111541763132648133443580208543901963020510910171926505454987171618059022107063070346348783287406760328304688918074821514944548556251905776822244828305515265331106285454739932883542185944189369648136109859844959139970952906050519581634182214035191854815897478333660470287371597509780867399747091574020528140444527667824906428274690839020508979212794802082702314211225225485609192427524138880730165210503523489050801726293496367264242312584327402375136550249326000888197464058980070269025095600564512652311622207595749739901943392197381799501266318697832629123101762673741276345086944426312948510734121985209847969232336321904488373990536110086933389858377061244940694283148799995918797318784429956508680389328564620226170005959908951349370905680902052890993409737939934018267273535512392650433637760415180819335406392428197745920425552030531328556447290146663478313854250842633453170876248894804266401358104718968924150354674229841089622395092205842247838931967782437358260717376973944458417727215891200365017867285397386011961802280318280556203804580904748202531709365436642503911483085373558144548802832674879247118174349616103337767784690997492409670311739307604348666420843295461017234427052387447736934913443196438959743303251044554179280653618190782731565074600021157453208094804406690375018068925502028330354891473997887247145412507141322758112487644330506872287881880301569084366948273213175499697652567132731651777707181597531932261533025571726540690397038029498945655339939349635304600059068423222714182587599381773185668803397565179201101205733780799507125547549202382394306435702681157699348666439981419352035809376757742207556231536485252942416685389612794653465990705855036329639963662448942414140137512382420009086194703556861885158121663886406171525806212010168075297612534293408006373494543116513321879358546972940863696018350076200324481759362113688741113633749966548530620254984174946617126022225682703305243055928653698369503149779121593354138118122197285827135658670449860153355204617222427268099540266492096230846011119623282306990617404139787917090570127562327830639652970696698923315353999148012705912506878846641752416037872709890018621625998802676622598360068602639639939178500993584505685762961786259805840320946922584548273477645642641033413002588449567850924845126499364075375188049663560245424448996633784291855807899775373312807831942042002203 4876785448946699893934209929912664632951176287227087562987896502411822835000241281676775570080524808395977170228208081743293924991976596828771438750689412944970798066144038815213278398995012950610662534917080112052678338301359801800553894811156356006525159856811771436005383786456936084055821638750712888853186469390149425175915680164148346637442370232992100906966154627318696380909613150064882010963269598403020934464084167992359648520384882337070729294804849232912294080300535818164387369012477613441247053915407823168429461543875855031296110682566843897196858241361419936318785464451030799780759377717575421224106063087873652311380955116438369906032218019143737012215020693941148967036441825416973690620704746382361807466725313655781112311495351482098361020654661639124864451145492759507328620081069386628816629016661127471981594469530905311868111287685449529282006748201908582010305057880107995509254304938499499927159884825483227366588928179753446550213782039782480463048572918332682492562879976050361960184828690388926964149673865938134661004737134910782935142008879277681451079417354377754368537974095521761932326407131581412686186387665426711035472502253832072633903226322205047909138344631251163896655078951780797907555385758388652273026710257592657691048765106542931168844285029228431266027326619534767892235122821594957234382471599534738836460244513704176437655262900563173808627054040020557073843418651444065471552289104837586625183930672569298522744526424915136804922042937677980183962382374275663312218241253515993260249989051033389386951658358302478199507650920618072339075342755904724520499985701152131485596166159494060315022093851701920411720126393661243923304597513442039561333052988343664360173549173594906795663407600270197264205978376147948662848490151829811492638588459998718121022309544574739857925154990094687625382105508285547287292358565777934611786530649681993834724478407174295740291170168194948830551342204458403500747774441494794536216981624241950628984889923479200823006750175434259883862059767202039198753363391155692098306671036154044892929889438750594270738105112052909421279155973410502799844180086829328126278828497564527909266272830312677683393587325741524210133727045036456919209703518452520911958372049887212168554439678134520294379569485699631605210538928485605098199813235299990337074215568022308988591132414272264101291490778545933639151005725999457353398044038899259783924 7890804612236675512785770076469612343279296398768850695636029945992031378902204302187685742007030263383148788287230188806364271340759884235531767055378331019792313010692595067119055221239841256125927866023365566792611221843545745989923542947266215851484299827764677486524965420639150119247676454648191222513656756761746934956783079911239920657970510677519768731872582902009535401418592362859684093665583809628246420073276595516498529250550092840594218345606575526408661344542848402491789744149027862767247942112871882148499730568971455595808762994189051492946598143304812133700584965717349497613388500819338094965382408174818078624329465850560355115880187251480058916703394684477259053969831683794034935561399029531161803385522632440211068820175740810662981246824667599033815800516398440409381511074479124568750647283934662984374244903168665727048930623091841957479752668627460612541633614327398142172732618792750342560613055701732122170855329537858165519137932394456710304138195313424888334810718908018144397543089407765900908608091593154025861369755002196180321153970681557999731635621158958659116740505804887198574830318614666786244330936468259385914719620428181688737240994106896045401548014942990471501003745372624093368572620185441039720763645171035854130008508409793975723023565682846622048758891694134789049688330916399363924757489668460240864790599405178174324902408313070315131385166527664887580715706533324367040636656053110799800683628325136431254396304132096734336854304470703551910503072771313692811163896593455342895554589110101812609665840945901859972693319724015637518276443961638505320007111248701333867990472595196741472721442518141901831072162203038001665512153744978524814275469673733277154827015164300761831993047563932646206620118513660331082857576346533368354523746581662604527193835350786750026000452602628981033388479002828663800614237924324907552650226668032070035048960166536409429032283801944915379081962459442578447364900463720477239522224680170604327354393073258322416360888293556457169689195425872489058906718595772914525574770576420536989160735449870217553045095729457049209196246543538065127674819739800024825202143851563675921972185337191524325146003363614234100152348671035259595832301878521123551598311228388205753060125441096306554185409806646554189758812406131247739233226237888439904925140413148808352666507602321927661536915227542567423442861533899232726710851870841301786127 12767590061183375406719980006382276976230472685995938258623926448403854213902445583864461312087555071779125958515438270549658196332736481064303205806067743964763111076836633882332333620234854206736590400940445678845289560144905547790477437758422571858009459684576448922530349207096086203303498093398904111366843226151896360132698760075388267295412880910511869638838737529328231782328205512924566104628853408031267354537360763508858177770934975177664947640411424759320955424843384220656177113161505476208494996028279705316929192112847310627104873676755895390143456384666232070019370430168380297394147878536913516189488471262691730935710420966998725021912405270623795928918415378418408021006273509211008626182103775913523610852247946095992181131671092292761342267479329238158680251661891199916710131155548511197567276300595790456355839372699571038917041910777291486761759416829369194551938672207506137681986923731249842487772940527215349537444257717611612069351714434239190767186768231757570827373598884068506357727918098154827872757765459092160522374492137106963256295979560835681182715038513336413485278479900408960507156725746248198930517324133686096950192122682013761371144220429101093310686359574241635397658824324404891276128005943829691993790355428628511821057273516336906891867850712075053314786218313669556941923453737994321159139961267994979701250843918882350762557671213633488940012220567685444654559125184768432512188945157948386425867558997705729777140830557011871141776347408381532094465455145589356123382137846971336155804578161135201996617499304204338172200970644633709857351786717543229840507096949853465353586638754690801787743536369843822242792288596699245588816751258420564375608522662076941515000564337895668627656455164202843470826096889808279745706066498363179847162335041661322648216144895361489883925607592723668658770584511114211087906596490102842164436757317714063869773438573710705169323453970139864209633304663900981948112674905215271775739206304412554956339282996737523239367638468990717053551255193074528257660081986928606623881441612574581882090624888620811823783200841509958630475402516948567927518999826629352951480972349128203831238458167504202008539590689355758310286075716071716515042005396973644463556683278275417921614565119230826848564979292346185794969351334616852837433039473188430241999355981171117341257640016594191762828406006088501062593867259898690080108895909740561570051 20658394673420050919505750082851889319509769084764788954259956394395885592804649886052147054094585335162274746802668459356022467673496365299834972861446074984555424087529228949451388841474695462862518266963811245637900781988451293780400980705688787709493759512341126409055314627735236322551174548047095333880499982913643295089481839986628187953383391588031638370711320431337767183746797875784250198294437217659513774610637359025356707021485068018259165986018000285729616769386232623147966857310533338975742938141151587465428922681818766222913636670944946883090054527971044203719955395885729795007536379356251611154870879437509809560039886817559080137792592522103854845621810062895667074976105193005043561743502805444685414237770578536203249951846833103424323514303996837192496052178289640326091642230027635766317923584530453440730084275868236765965972533869133444241512085456829807093572286534904279854719542524000185048385996228947471708299587255469777588489646828695901071324963545182459162184317792086650755271007505920728781365857052246186383744247139303143577449950242393680914350659672295072602018985705296159081987044360914985174848260601945482864911743110195450108385214535997138712234374517232106898662569697028984644700626129270731714554000599664365951065781926130882614891416394921675363545110007804345991611784654393685083897450936455220566041443324060525087460079526703804071397387095350332235274831718092799552825601211059186226551187322842161031537134689108605478630651879085084004968527916903048934546034440426679051359167271237014606283340250106198144894290368649347375628230679181735160514208198554799221577111349887543260464978887985724073864450799737247254328905003399089189883992335810218669827579502196430459649502728135489677446215403468610828563642844896548201686081623323927175409980246148239909926060195352649692159063513942874888520834414427749717086983985746133904822398740247114598355737772084779588715267123343560395477575368935749015261430984583159283693676069995845655728526762547174223240450618947017316566800582701521149456212188995118871251360338491029376828296570967007839671649060486633055193819566429377776683116200691879753210643504695726333685594052969992410438424387106976110874307275494768015154994506663623674674690560327133402750389098992739984728163740748100576666265711076870146924496394319925693924147618916119424365321233631068486036728793797922806819747780581863356178 33425984734603426326225730089234166295740241770760727212883882842799739806707095469916608366182140406941400705318106729905680664006232846364138178667513818949318535164365862831783722461709549669599108667904256924483190342133356841570878418464111359567503219196917575331585663834831322525854672641445999445247343209065539655222180600062016455248796272498543508009550057960665998966075003388708816302923290625690781129147998122534214884792420043195924113626429425045050572194229616843804143970472038815184237934169431292782358114794666076850018510347700842273233510912637276273739325826054110092401684257893165127344359350700201540495750307784557805159704997792727650774540225441314075095982378702216052187925606581358209025090018524632195431083517925396185665781783326075351176303840180840242801773385576146963885199885126243897085923648567807804883014444646424931003271502286199001645510958742410417536706466255250027536158936756162821245743844973081389657841361262935091838511731776940029989557916676155157112998925604075556654123622511338346906118739276410106833745929803229362097065698185631486087297465605705119589143770107163184105365584735631579815103865792209211479529434965098232022920734091473742296321394021433875920828632073100423708344356028292877772123055442467789506759267106996728678331328321473902933535238392388006243037412204450200267292287242942875850017750740337293011409607663035776889833956902861232065014546369007572652418746320547890808677965246120476620406999287466616099433983062492405057928172287398015207163745432372216602900839554310536317095261013283057232980017396724965001021305148408264575163750104578345048208515257829546316656739396436492843145656261819653565492514997887160184828143840092099087305957892338333148272312293276890574269709343259728048848416664985249823626125141509729793851667788076318350929648025057085976427430904530591881523741303460197774595837313957819767679191742224643798348571787244542343590250274151020791000637288995714240032959066733368895096165231537891276791705812021545574226882569630127773337653801569700753341985227111841200611497412476966470147051577435200982712819393058730728164088549820083584449101672199928342225184742325750720724500103178692625916312672468412478711677784939041596289255679557960251315368391338925779697515075364953414099305184265300388923852375491043035181787635510311187193727239719569548630596053696612886928643690322424926229 54084379408023477245731480172086055615250010855525516167143839237195625399511745355968755420276725742103675452120775189261703131679729211663973151528959893933873959251895091781235111303184245132461626934868068170121091124121808135351279399169800147276996978709258701740640978462566558848405847189493094779127843191979182950311662440048644643202179664086575146380261378392003766149821801264493066501217727843350294903758635481559571591813905111214183279612447425330780188963615849466952110827782572154159980872310582880247787037476484843072932147018645789156323565440608320477459281221939839887409220637249416738499230230137711350055790194602116885297497590314831505620162035504209742170958483895221095749669109386802894439327789103168398681035364758499609989296087322912543672356018470480568893415615603782730203123469656697337816007924436044570848986978515558375244783587743028808739083245277314697391426008779250212584544932985110292954043432228551167246331008091630992909836695322122489151742234468241807868269933109996285435489479563584533289862986415713250411195880045623043011416357857926558689316451311001278671130814468078169280213845337577062680015608902404661587914649501095370735155108608705849194983963718462860565529258202371155422898356627957243723188837368598672121650683501918404041876438329278248925147023046781691326934863140905420833333730567003400937477830267041097082806994758386109125108788620954031617840147580066758878969933643390051840215099935229082099037651166551700104402510979395453992474206727824694258522912703609231209184179804416734461989551381932404608608248075906700161535513346963063796740861454465888308673494145815270390521190196173740097474561265218742755376507333697378854655723342288529546955460620473822825718527696745501402833352188156276250534498288309176999036105387657969703777727983428968043088711538999960864948265318958341598610725289206331679418236054204934366034929514309423387063838910588102739067825643086769806262068273578873523726635136729214550824691994085065500032156430968562890793683152331648922793865990564819624593345565602870577439793983443974309818700637921834037906638959488108504847204750511963337659745176895654675910778795295743131162924490285668736790619947963180493866672291602665270963946239885093654065757490331665764425678816113053990765570895342170535848348769810968729105935254426430611559048473350638034667324847494535693748391470904288282407 87510364142626903571957210261320221910990252626286243380027722079995365206218840825885363786458866149045076157438881919167383795685962058028111330196473712883192494416260954613018833764893794802060735602772325094604281466255164976922157817633911506844500197906176277072226642297397881374260519830939094224375186401044722605533843040110661098450975936585118654389811436352669765115896804653201882804141018469041076032906633604093786476606325154410107393238876850375830761157845466310756254798254610969344218806480014173030145152271150919922950657366346631429557076353245596751198607047993949979810904895142581865843589580837912890551540502386674690457202588107559156394702260945523817266940862597437147937594715968161103464417807627800594112118882683895795655077870648987894848659858651320811695189001179929694088323354782941234901931573003852375732001423161983306248055090029227810384594204019725114928132475034500240120703869741273114199787277201632556904172369354566084748348427099062519141300151144396964981268858714071842089613102074922880195981725692123357244941809848852405108482056043558044776613916916706398260274584575241353385579430073208642495119474694613873067444084466193602758075842700179591491305357739896736486357890275471579131242712656250121495311892811066461628409950608915132720207766650752151858682261439169697569972275345355621100626017809946276787495581007378390094216602421421886014942745523815263682854693949074331531388679963937942648893065181349558719444650454018316203836494041887859050402379015222709465686658135981447812085019358727270779084812395215461841588265472631665162556818495371328371904611559044233356882009403644816707177929592610232940620217527038396320869022331584539039483867182380628634261418512812155973990839990022391977103061531416004299382914953294426822662230529167699497629395771505286394018359564057046841375696223488933480134466592666529454014073368162754133714121256534067185412410697832645082658075917237790597262705562574587763759594203462583445920857225622956776823862242990108465020565721961776696131519792134520377935330792714711778051291395920940779965752215357035020619458352546839233011293300332046922108846849095583018135963537621493851887424593464361362706932620431592972578350076541706867253201919443053905381125881670591544123193891478007404864876079607470924772201145302011764287722889936741798752775713070207583297920901191148580677035161226713208636 141594743550650380817688690433406277526240263481811759547171561317190990605730586181854119206735591891148751609559657108429086927365691269692084481725433606817066453668156046394253945068078039934522362537640393264725372590376973112273437216803711654121497176615434978812867620759964440222666367020432189003503029593023905555845505480159305741653155600671693800770072814744673531265718605917694949305358746312391370936665269085653358068420230265624290672851324275706610950121461315777708365626037183123504199678790597053277932189747635762995882804384992420585880641793853917228657888269933789867220125532391998604342819810975624240607330696988791575754700178422390662014864296449733559437899346492658243687263825354963997903745596730968992793154247442395405644373957971900438521015877121801380588604616783712424291446824439638572717939497439896946580988401677541681492838677772256619123677449297039812319558483813750452705248802726383407153830709430183724150503377446197077658185122421185008293042385612638772849538791824068127525102581638507413485844712107836607656137689894475448119898413901484603465930368227707676931405399043319522665793275410785705175135083597018534655358733967288973493230951308885440686289321458359597051887148477842734554141069284207365218500730179665133750060634110833536762084204980030400783829284485951388896907138486261041933959748376949677724973411274419487177023597179807995140051534144769295300694841529141090410358613607327994489108165116578640818482301620570016308239005021283313042876585743047403724209570839590679021269199163144005241074363777147866450196513548538365324092331842334392168645473013510121665555503549460087097699119788783973038094778792257139076245529665281917894139590524669158181216879133285978799709367686767893379936413719572280549917413241603603821698335916825669201407123754934254437107071103057007706323961542447275078745191881872861133432309422367688499749050770843490572476249608420747821725901560324560403524773836153461287486229340191797996745549219708022276856018673958671355814248874293425618925385782699340002528676358317582355491085379364915089784452853278869058526097312034947737858498050844010259768592025991237694046742332917236983050349083750030099497552568394773466445022368144372138217148159328147559446883372002257308548872707591061395630446974949641460620549915112980493393658144363172410311824186420845617965245748685684274425426632131001491043 229105107693277284389645900694726499437230516108098002927199283397186355811949427007739482993194458040193827766998539027596470723051653327720195811921907319700258948084417001007272778832971834736583098140412718359329654056632138089195595034437623160965997374521611255885094263057362321596926886851371283227878215994068628161379348520269966840104131537256812455159884251097343296381615410570896832109499764781432446969571902689747144545026555420034398066090201126082441711279306782088464620424291794092848418485270611226308077342018786682918833461751339052015437718147099513979856495317927739847031030427534580470186409391813537131158871199375466266211902766529949818409566557395257376704840209090095391624858541323125101368163404358769586905273130126291201299451828620888333369675735773122192283793617963642118379770179222579807619871070443749322312989824839524987740893767801484429508271653316764927247690958848250692825952672467656521353617986631816281054675746800763162406533549520247527434342536757035737830807650538139969614715683713430293681826437799959964901079499743327853228380469945042648242544285144414075191679983618560876051372705483994347670254558291632407722802818433482576251306794009065032177594679198256333538245038753314313685383781940457486713812622990731595378470584719748669482291971630782552642511545925121086466879413831616663034585766186895954512468992281797877271240199601229881154994279668584558983549535478215421941747293571265937138001230297928199537926952074588332512075499063171172093278964758270113189896228975572126833354218521871276020159176172363328291784779021170030486649150337705720540550084572554355022437512953104903804877049381394205978714996319295535397114551996866456933623457707049786815478297646098134773700207676790285357039475250988284849300328194898030644360566445993368699036519526439540831125430667114054547699657765936208558879658474539390587446382790530442633463172027377557757888660306253392904383977477562351000787479398728049051245823543654381442666406445330979053679880916948779820834814596255202315056905574833860380464007151032294133542376775285855869750205068635904079145555664581786970869791351176057181877438875086820712182705870538730834937773677214391462204485188826366439023372444686079005470350078771201464828009253672848852672066599069068800495323054557112385392751060414992257681381034299914209064599899491053201263166649876832855102461793357714699679 370699851243927665207334591128132776963470779589909762474370844714377346417680013189593602199930049931342579376558196136025557650417344597412280293647340926517325401752573047401526723901049874671105460678053111624055026647009111201469032251241334815087494551137046234697961883817326761819593253871803472231381245587092533717224854000429272581757287137928506255929957065842016827647334016488591781414858511093823817906237171775400502613446785685658688738941525401789052661400768097866172986050328977216352618164061208279586009531766422445914716266136331472601318359940953431208514383587861529714251155959926579074529229202789161371766201896364257841966602944952340480424430853844990936142739555582753635312122366678089099271909001089738579698427377568686606943825786592788771890691612894923572872398234747354542671217003662218380337810567883646268893978226517066669233732445573741048631949102613804739567249442662001145531201475194039928507448696062000005205179124246960240064718671941432535727384922369674510680346442362208097139818265351937707167671149907796572557217189637803301348278883846527251708474653372121752123085382661880398717165980894780052845389641888650942378161552400771549744537745317950472863884000656615930590132187231157048239524851224664851932313353170396729128531218830582206244376176610812953426340830411072475363786552317877704968545514563845632237442403556217364448263796781037876295045813813353854284244377007356512352105907178593931627109395414506840356409253695158348820314504084454485136155550501317516914105799815162805854623417685015281261233539949511194741981292569708395810741482180040112709195557586064476687993016502564990902576169170178179016809775111552674473360081662148374827763048231718944996695176779384113573409575363558178736975888970560565399217741436501634466058902362819037900443643281373795268232501770171062254023619308383483637624850356412251720878692212898131133212222798221048330364909914674140726109879037886911404312253234881510338732052883846179439411955665039001330535899590907451176649063470548627933982291357533200382992683509349876489033462154650770959534657921914773137671652976616734708728289402020067441646030901078058406229448203455967817988122760964421561702037757221139905468394812830451143687498238099349024274892625675106161220939306660130196125770029506753846013300975527972751075039178663086619376424085911898819228412398562517129527888425488716190722 599804958937204949596980491822859276400701295698007765401570128111563702229629440197333085193124507971536407143556735163622028373468997925132476105569248246217584349836990048408799502734021709407688558818465829983384680703641249290664627285678957976053491925658657490583056146874689083416520140723174755459259461581161161878604202520699239421861418675185318711089841316939360124028949427059488613524358275875256264875809074465147647158473341105693086805031726527871494372680074879954637606474620771309201036649331819505894086873785209128833549727887670524616756078088052945188370878905789269561282186387461159544715638594602698502925073095739724108178505711482290298833997411240248312847579764672849026936980908001214200640072405448508166603700507694977808243277615213677105260367348668045765156191852710996661050987182884798187957681638327395591206968051356591656974626213375225478140220755930569666814940401510251838357154147661696449861066682693816286259854871047723402471252221461680063161727459126710248511154092900348066754533949065368000849497587707756537458296689381131154576659353791569899951018938516535827314765366280441274768538686378774400515644200180283350100964370834254125995844539327015505041478679854872264128377225984471361924908633165122338646125976161128324507001803550330875726668148241595506068852376336193561830665966149494368003131280750741586749911395838015241719503996382267757450040093481938413267793912485571934293853200749859868765110625712435039894336205769746681332390003147625657229434515259587630104002028790734932687977636206886557281392716121874523033766071590878426297390632517745833249745642158618831710430529455669894707453218551572384995524771430848209870474633659014831761386505938768731812173474425482248347109783040348464094015364221548850248518069631399665110419468808812406599480162807813336099357932437285116801723277074319692196504508830951642308325075003428573766675394825598606088253570220927533630493856515449262405099732633609559389977876427500560882078362110369980384215780507856230997483878066803830249039196932367060763456690660382170622575838929936626829284862990550677216817208641198521679598080753196124623523469776164879118412154073994698652925896438178813023906522946047506344491767257516530149157848316870550489102901879347955013893005905729198996621093084063866231406052035942965008756420212963000828441023985402952020491579048439349984630350218846430890401 970504810181132614804315082950992053364172075287917527875940972825941048647309453386926687393054557902878986520114931299647586023886342522544756399216589172734909751589563095810326226635071584078794019496518941607439707350650360492133659536920292791140986476795703725281018030692015845236113394594978227690640707168253695595829056521128512003618705813113824967019798382781376951676283443548080394939216786969080082782046246240548149771920126791351775543973251929660547034080842977820810592524949748525553654813393027785480096405551631574748265994024001997218074438029006376396885262493650799275533342347387738619244867797391859874691274992103981950145108656434630779258428265085239248990319320255602662249103274679303299911981406538246746302127885263664415187103401806465877151058961562969338028590087458351203722204186547016568295492206211041860100946277873658326208358658948966526772169858544374406382189844172252983888355622855736378368515378755816291465033995294683642535970893403112598889112381496384759191500535262556163894352214417305708017168737615553110015513879018934455924938237638097151659493591888657579437850748942321673485704667273554453361033842068934292479125923235025675740382284644965977905362680511488194718509413215628410164433484389787190578439329331525053635533022380913081971044324852408459495193206747266037194452518467372072971676795314587218987353799394232606167767793163305633745085907295292267552038289492928446645959107928453800392220021126941880250745459464905030152704507232080142365590065760905147018107828605897738542601053891901838542626256071385717775747364160586822108132114697785945958941199744683308398423545958234885610029387721750564012334546542400884343834715321163206589149554170487676808868651204866361920519358403906642830991253192109415647735811067901299576478371171631444499923806089187131367590434207456179055746896382703175834129359187363894029203767216326704899887617623819654418618480135601674356603735553336173809411985868491069728709929311346740321490317775408981714751680098763682174132941537352458183021488289900261146449374169732047111609301084587397788819520912465450354488861617815256388326370155216192065169500677242937524641602277450666470914019199143234585608560703268646249960162070346981292845346554969899513377794505023061175113945212389329192746863113570620077419353011470937759831459391626087447817448071314850839719991447001867114158238644335147081123 1570309769118337564401295574773851329764873370985925293277511100937504750876938893584259772586179065874415393663671666463269614397355340447677232504785837418952494101426553144219125729369093293486482578314984771590824388054291609782798286822599250767194478402454361215864074177566704928652633535318152983149900168749414857474433259041827751425480124488299143678109639699720737075705232870607569008463575062844336347657855320705695796930393467897044862349004978457532041406760917857775448198999570519834754691462724847291374183279336840703581815721911672521834830516117059321585256141399440068836815528734848898163960506391994558377616348087843706058323614367916921078092425676325487561837899084928451689186084182680517500552053811986754912905828392958642223430381017020142982411426310231015103184781940169347864773191369431814756253173844538437451307914329230249983182984872324192004912390614474944073197130245682504822245509770517432828229582061449632577724888866342407045007223114864792662050839840623095007702654628162904230648886163482673708866666325323309647473810568400065610501597591429667051610512530405193406752616115222762948254243353652328853876678042249217642580090294069279801736226823971981482946841360366360458846886639200099772089342117554909529224565305492653378142534825931243957697712473094003965564045583083459599025118484616866440974808076065328805737265195232247847887271789545573391195126000777230680819832201978500380939812308678313669157330646839376920145081665234651711485094510379705799595024581020492777122109857396632671230578690098788395824018972193260240809513435751465248405522747215531779208686841903302140108854075413904780317482606273322949007859317973249094214309348980178038350536060109256408621042125630348610267629141444255106925006617413658265896253880699300964686897839980443851099403968897000467466948366644741295857470173457022868030633868018315536337528842219755278666563012449418260506872050356529207987097592068785436214511718502100629118687805738847301203568679885778962098967460606619913171616819604156288432060685222267321909906064830114217734185140014524024618104383903016127571306070259013778067924450908412316688692970453407816643053756351445365123839915637322047609515083649316152594451929327863511442003194871840450002480696384371016189006951118118528189367956197634486308825405047413902768587879604589088276258472056717802860211570495441217098788588863181577971524 2540814579299470179205610657724843383129045446273842821153452073763445799524248346971186459979233623777294380183786597762917200421241682970221988904002426591687403853016116240029451956004164877565276597811503713198264095404941970274931946359519543558335464879250064941145092208258720773888746929913131210840540875917668553070262315562956263429098830301412968645129438082502114027381516314155649403402791849813416430439901566946243946702313594688396637892978230387192588440841760835596258791524520268360308346276117875076854279684888472278330081715935674519052904954146065697982141403893090868112348871082236636783205374189386418252307623079947688008468723024351551857350853941410726810828218405184054351435187457359820800464035218525001659207956278222306638617484418826608859562485271793984441213372027627699068495395555978831324548666050749479311408860607103908309391343531273158531684560473019318479579320089854757806133865393373169206598097440205448869189922861637090687543194008267905260939952222119479766894155163425460394543238377899979416883835062938862757489324447419000066426535829067764203270006122293850986190466864165084621739948020925883307237711884318151935059216217304305477476609108616947460852204040877848653565396052415728182253775601944696719803004634824178431778067848312157039668756797946412425059238789830725636219571003084238513946484871379916024724618994626480454055039582708879024940211908072522948371870491471428827585771416606767469549550667966318800395827124699556741637799017611785941960614646781397924140217686002530409773179743990690234366645228264645958585260799912052070513654861913317725167628041647985448507277621372139665927511993995073513020193864515649978558144064301341244939685614279744085429910776835214972188148499848161749755997870605767681543989691767202264263376211152075295599327774986187598834538800852197474913217069839726043864763227205679430366732609436081983566450630073237914925490530492130882343701327622121610023923704370591698847397735050194041525058997661187943813719140705383595345749761141508746615082173512167583056355438999846264845794441099111422406923904815481577925794931876829034456250821063628508753862471130650754167695358628896031594753934836465282195123644352584798844412091398210492734848541426810349515858490889394077364120896330507857382114819311205106386244758058884840528419338996215175724075920128032653699931561942443084212946827507516725052647 4111124348417807743606906232498694712893918817259768114430963174700950550401187240555446232565412689651709773847458264226186814818597023417899221408788264010639897954442669384248577685373258171051759176126488484789088483459233580057730233182118794325529943281704426157009166385825425702541380465231284193990441044667083410544695574604784014854578954789712112323239077782222851103086749184763218411866366912657752778097756887651939743632707062585441500241983208844724629847602678693371706990524090788195063037738842722368228462964225312981911897437847347040887735470263125019567397545292530936949164399817085534947165880581380976629923971167791394066792337392268472935443279617736214372666117490112506040621271640040338301016089030511756572113784671180948862047865435846751841973911582024999544398153967797046933268586925410646080801839895287916762716774936334158292574328403597350536596951087494262552776450335537262628379375163890602034827679501655081446914811727979497732550417123132697922990792062742574774596809791588364625192124541382653125750501388262172404963135015819065676928133420497431254880518652699044392943082979387847569994191374578212161114389926567369577639306511373585279212835932588928943799045401244209112412282691615827954343117719499606249027569940316831809920602674243400997366469271040416390623284372914185235244689487701104954921292947445244830461884189858728301942311372254452416135337908849753629191702693449929208525583725285081138706881314805695720540908789934208453122893527991491741555639227801890701262327543399163081003758434089478630190664200457906199394774235663517318919177609128849504376314883551287588616131696786044446244994600268396462028053182488899072772453413281519283290221674389000494050952902465563582455777641292416856681004488019425947440243572466503228950274051132519146698731743883188066301487167496938770770687243296748911895397095223994966704261451655837262233013642522656175432362580848660090330798919690907046238435422872692327966085540789041342728627677546966905912686601312003508517366580745665035047142858734434904966261503829960482579979581113635447025028288718497705497101002135842812524175271972040825442555441584058570810749114980341396718593850473787329804638728001900951438864020726074004176851736298650799518339187273765093553127847448626385571482775508839592695070163106298743297007218600804264000334392184750456560143132437884301311735416370698303024171 6651938927717277922812516890223538096022964263533610935584415248464396349925435587526632692544646313429004154031244861989104015239838706388121210312790690602327301807458785624278029641377423048617035773937992197987352578864175550332662179541638337883865408160954491098154258594084146476430127395144415404830981920584751963614957890167740278283677785091125080968368515864724965130468265498918867815269158762471169208537658454598183690335020657273838138134961439231917218288444439528967965782048611056555371384014960597445082742649113785260241979153783021559940640424409190717549538949185621805061513270899322171730371254770767394882231594247739082075261060416620024792794133559146941183494335895296560392056459097400159101480124249036758231321740949403255500665349854673360701536396853818983985611525995424746001763982481389477405350505946037396074125635543438066601965671934870509068281511560513581032355770425392020434513240557263771241425776941860530316104734589616588420093611131400603183930744284862054541490964955013825019735362919282632542634336451201035162452459463238065743354669249565195458150524774992895379133549843552932191734139395504095468352101810885521512698522728677890756689445041205876404651249442122057765977678744031556136596893321444302968830574575141010241698670522555558037035226068986828815682523162744910871464260490785343468867777818825160855186503184485208755997350954963331441075549816922276577563573184921358036111355141891848608256431982772014520936735914633765194760692545603277683516253874583288625402545229401693490776938178080168864557309428722552157980035035575569389432832471042167229543942925199273037123409318158184112172506594263469975048247047004549051330597477582860528229907288668744579480863679300778554643926141140578606437002358625193628984233264233705493213650262284594442298059518869375665136025968349136245683904313136474955760160322429674397070994061091919245799464272595894090357853111340790972674500247313028656262359127243284026813483275839235384253686675208154849726405742017387103863116341887173781662225032246602488022616942829806747425774022212746869431952193533979283422895934012671846980426093035669334196417912714709324978444473609237428313347785310252611999762372354485750283276112124284496911700277725461149034197678163159170917248743779134242953597594820044699081314921165183583825426557597019439724410312312783110260074694380327385524682243878215028076818 10763063276135085666419423122722232808916883080793379050015378423165346900326622828082078925110059003080713927878703126215290830058435729806020431721578954612967199761901455008526607326750681219668794950064480682776441062323409130390392412723757132209395351442658917255163424979909572178971507860375699598821422965251835374159653464772524293138256739880837193291607593646947816233555014683682086227135525675128921986635415342250123433967727719859279638376944648076641848136047118222339672772572701844750434421753803319813311205613339098242153876591630368600828375894672315737116936494478152742010677670716407706677537135352148371512155565415530476142053397808888497728237413176883155556160453385409066432677730737440497402496213279548514803435525620584204362713215290520112543510308435843983530009679963221792935032569406800123486152345841325312836842410479772224894540000338467859604878462648007843585132220760929283062892615721154373276253456443515611763019546317596086152644028254533301106921536347604629316087774746602189644927487460665285668384837839463207567415594479057131420282802670062626713031043427691939772076632822940779761728330770082307629466491737452891090337829240051476035902280973794805348450294843366266878389961435647384090940011040943909217858144515457842051619273196798959034401695340027245206305807535659096106708949978486448423789070766270405685648387374343937057939662327217783857210887725772030206755275878371287244636938867176929746963313297577710241477644704567973647883586073594769425071893102385179326664872772800856571780696612169647494747973629180458357374809271239086708352010080171016733920257808750560625739541014944228558417501194531866437076300229493448124103050890864379811520128963057745073531816581766342137099703782432995463118006846644619576424476836700208722163924313417113588996791262752563731437513135846075016454591556433223867655557417653669363775255512747756508032477915118550265790215692189451063005299167003935702500794550115976354779568816628276726982314352755121755639092343329390612380482922632838816709367890981037392988878446659767230005753603326382316456980482252476988919996936148514659504601365007710159638973354298767895789193588589578825031941635784039941804401100356386701722140132850358501088552014024111948552536865436924264470376591227760628525080370328884291776385084271482327122433776197823703724744704497533566820217826818211686836417660248913331100989 17415002203852363589231940012945770904939847344326989985599793671629743250252058415608711617654705316509718081909947988204394845298274436194141642034369645215294501569360240632804636968128104268285830724002472880763793641187584680723054592265395470093260759603613408353317683573993718655401635255520115003652404885836587337774611354940264571421934524971962274259976109511672781364023280182600954042404684437600091195173073796848307124302748377133117776511906087308559066424491557751307638554621312901305805805768763917258393948262452883502395855745413390160769016319081506454666475443663774547072190941615729878407908390122915766394387159663269558217314458225508522521031546736030096739654789280705626824734189834840656503976337528585273034757266569987459863378565145193473245046705289662967515621205958646538936796551888189600891502851787362708910968046023210291496505672273338368673159974208521424617487991186321303497405856278418144517679233385376142079124280907212674572737639385933904290852280632466683857578739701616014664662850379947918211019174290664242729868053942295197163637471919627822171181568202684835151210182666493711953462470165586403097818593548338412603036351968729366792591726015000681753101544285488324644367640179678940227536904362388212186688719090598852293317943719354517071436921409014074021988330698404006978173210469271791892656848585095566540834890558829145813937013282181115298286437542694306784318849063292645280748294009068778355219745280349724762414380619201738842644278619198047108588146976968467952067418002202550062557634790249816359305283057903010515354844306814656097784842551213183963464200733949833662862950333102412670590007788795336412124547276497997175433648368447240339750036251726489653012680261067120691743629923573574069555009205269813205408710100933914215377574575701708031294850781621939396573539104195211262138495869569698823415717740083343760846249573839675753831942187714444356148068803530242035679799414316964358763153677359260381593052092467512111236001027963276605365498085346777716243599264520012598371592923227639881011495389489573977431527625539129185888932675786456272342892870161186506485027458043379493835391267013477220767638062198816253345289421094292553804163472710872452005416244974642998000252291749573097586734543600083435387625335006894871478677965148928990857700005436665910947860333794843143449155016810316677080292521198539072361099904127128359177807 28178065479987449255651363135668003713856730425120369035615172094795090150578681243690790542764764319590432009788651114419685675356710166000162073755948599828261701331261695641331244294878785487954625674066953563540234703510993811113447004989152602302656111046272325608481108553903290834373143115895814602473827851088422711934264819712788864560191264852799467551583703158620597597578294866283040269540210112729013181808489139098430558270476096992397414888850735385200914560538675973647311327194014746056240227522567237071705153875791981744549732337043758761597392213753822191783411938141927289082868612332137585085445525475064137906542725078800034359367856034397020249268959912913252295815242666114693257411920572281153906472550808133787838192792190571664226091780435713585788557013725506951045630885921868331871829121294989724377655197628688021747810456502982516391045672611806228278038436856529268202620211947250586560298471999572517793932689828891753842143827224808760725381667640467205397773816980071313173666514448218204309590337840613203879404012130127450297283648421352328583920274589690448884212611630376774923286815489434491715190800935668710727285085285791303693374181208780842828494006988795487101551839128854591522757601615326324318476915403332121404546863606056694344937216916153476105838616749041319228294138234063103084882160447758240316445919351365972226483277933173082871876675609398899155497325268466336991074124941663932525385232876245708102183058577927435003892025323769712490527864692792816533660040079353647278732290775003406634338331402419463854053256687083468872729653578053742806136852631384200697384458542700394288602491348046641229007508983327202849200847505991445299536699259311620151270165214784234726544496842833462828843333706006569532673016051914432781833186937634122937541498889118821620291642044374503128011052240041286278593087426002922691071275157737013124621505086587432261864420102832994621938284495719693098685098581320900061263948227475236736372620909095788838218315380718398361004590428676168328624082187152851415080960814208677274000373836149341207437281228865511502345913158038933261262889806309701165989628823051089653474364621312245116556831650788395078377231056878332495608564573067259153727556377825001499088804305773685046139271409037007699858001926234655500003758335477813282634085089708148238070294109992666847173899721307850243900510348016750759197517564376041690278796 45593067683839812844883303148613774618796577769447359021214965766424833400830739659299502160419469636100150091698599102624080520654984602194303715790318245043556202900621936274135881263006889756240456398069426444304028344698578491836501597254548072395916870649885733961798792127897009489774778371415929606126232736925010049708876174653053435982125789824761741811559812670293378961601575048883994311944894550329104376981562935946737682573224474125515191400756822693759980985030233724954949881815327647362046033291331154330099102138244865246945588082457148922366408532835328646449887381805701836155059553947867463493353915597979904300929884742069592576682314259905542770300506648943349035470031946820320082146110407121810410448888336719060872950058760559124089470345580907059033603719015169918561252091880514870808625673183179325269158049416050730658778502526192807887551344885144596951198411065050692820108203133571890057704328277990662311611923214267895921268108132021435298119307026401109688626097612537997031245254149834218974253188220561122090423186420791693027151702363647525747557746509318271055394179833061610074496998155928203668653271101255113825103678834129716296410533177510209621085733003796168854653383414342916167125241795005264546013819765720333591235582696655546638255160635507993177275538158055393250282468932467110063055370917030032209102767936461538767318168492002228685813688891580014453783762811160643775392974004956577806133526885314486457402803858277159766306405942971451333172143311990863642248187056322115230799708777205956696895966192669280213358539744986479388084497884868398903921695182597384660848659276650227951465441681149053899597516772122539261325394782489442474970347627758860491020201466510724379557177103900583520586963629580143602228025257184245987241897038568037152919073464820529651586492825996442524584591344236497540731583295572621514486992897820356885467754660427108015696362290547438978086353299249935134364897995637864420027101904834497117965673001563300949454316408681674966370088514022946044867681451672864013452553737436317155011869225638915184868808854404640688234845833825389533605782676470887672474656281094469147309755888325722337324469712987211331722520477972625049412728045778131605732972622799644497089056597523258143726005952637091135245627261241550371482436300626742273491785095144814149018154443787509990623054738118166920980802869215289831558617468503170049456603 73771133163827262100534666284281778332653308194567728056830137861219923551409420902990292703184233955690582101487250217043766196011694768194465789546266844871817904231883631915467125557885675244195082072136380007844263048209572302949948602243700674698572981696158059570279900681800300324147921487311744208600060588013432761643140994365842300542317054677561209363143515828913976559179869915167034581485104663058117558790052075045168240843700571117912606289607558078960895545568909698602261209009342393418286260813898391401804256014036846991495320419500907683963800746589150838233299319947629125237928166280005048578799441073044042207472609820869626936050170294302563019569466561856601331285274612935013339558030979402964316921439144852848711142850951130788315562126016620644822160732740676869606882977802383202680454794478169049646813247044738752406588959029175324278597017496950825229236847921579961022728415080822476618002800277563180105544613043159649763411935356830196023500974666868315086399914592609310204911768598052423283843526061174325969827198550919143324435350784999854331478021099008719939606791463438384997783813645362695383844072036923824552388764119921019989784714386291052449579739992591655956205222543197507689882843410331588864490735169052454995782446302712240983192377551661469283114154907096712478576607166530213147937531364788272525548687287827510993801446425175311557690364500978913609281088079626980766467098946620510331518759761560194559585862436204594770198431266741163823700008004783680175908227135675762509531999552209363331234297595088744067411796432069948260814151462922141710058547813981585358233117819350622240067933029195695128605025755449742110526242288480887774507046887070480642290366681294959106101673946734046349430297335586713134901041309098678769075083976202160090460572353939351271878134870370945652595643584277783819324670721575544205558268055557370010089259747014540277560782393380433600024637794969628233049996576958764481291050132309733854338293910659089787672631789400073327374678942699114373491763638825715428533514551644994429012243061788256392306090083270152190580758991864322794868672482780588838464285104145558800784120509637967453881301363775606410099751534850957545021292618845390759460529000624645996177860903296943189865277361674098835103629187476205871486194636104555556125870184852962387088448553780176837796954459426017164881313217232040590756135032879211739735399 119364200847667074945417969432895552951449885964015087078045103627644756952240160562289794863603703591790732193185849319667846716666679370388769505336585089915374107132505568189603006820892565000435538470205806452148291392908150794786450199498248747094489852346043793532078692809697309813922699858727673814726293324938442811352017169018895736524442844502322951174703328499207355520781444964051028893429999213387221935771615010991905923416925045243427797690364380772720876530599143423557211090824670040780332294105229545731903358152281712238440908501958056606330209279424479484683186701753330961392987720227872512072153356671023946508402494562939219512732484554208105789869973210799950366755306559755333421704141386524774727370327481571909584092909711689912405032471597527703855764451755846788168135069682898073489080467661348374915971296460789483065367461555368132166148362382095422180435258986630653842836618214394366675707128555553842417156536257427545684680043488851631321620281693269424775026012205147307236157022747886642258096714281735448060250384971710836351587053148647380079035767608326990995000971296499995072280811801290899052497343138178938377492442954050736286195247563801262070665472996387824810858605957540423857008085205336853410504554934772788587018028999367787621447538187169462460389693065152105728859076098997323210992902281818304734651455224289049761119614917177540243504053392558928063064850890787624541860072951577088137652286646874681016988666294481754536504837209712615156872151316774543818156414191997877740331708329415320028130263787758024280770336177056427648898649347790540613980242996578970019081777096000850191533374710344749028202542527572281371851637070970330249477394514829341133310568147805683485658851050634629870017260965166856737129066566282924756316981014770197243379645818759880923464627696367388177180234928514281360056254017148165720045260953377726895557014407441648293257144683927872578110991094219563367414894572596628901318152037144230972303966912222390737126948198081748293744767456722060418359445090498579441986068289081311584024112287427171577174898937674792878815604825689712328474455159251476510938941385240027948093876397963689791205771076762817741822272012823582594434020664623522365193501623424290493266917500820201333591283314311189970349256448717756242968630936731297829617655279997776536106602997567686828420009197544184085862116086447330422314752501382381789192002 193135334011494337045952635717177331284103194158582815134875241488864680503649581465280087566787937547481314294673099536711612912678374138583235294882851934787192011364389200105070132378778240244630620542342186459992554441117723097736398801741949421793062834042201853102358593491497610138070621346039418023326353912951875572995158163384738037066759899179884160537846844328121332079961314879218063474915103876445339494561667086037074164260625616361340403979971938851681772076168053122159472299834012434198618554919127937133707614166318559229936228921458964290294010026013630322916486021700960086630915886507877560650952797744067988715875104383808846448782654848510668809439439772656551698040581172690346761262172365927739044291766626424758295235760662820700720594597614148348677925184496523657775018047485281276169535262139517424562784543505528235471956420584543456444745379879046247409672106908210614865565033295216843293709928833117022522701149300587195448091978845681827345121256360137739861425926797756617441068791345939065541940240342909774030077583522629979676022403933647234410513788707335710934607762759938380070064625446653594436341415175102762929881207073971756275979961950092314520245212988979480767063828500737931546890928615668442274995290103825243582800475302080028604639915738830931743503847972248818207435683265527536358930433646606577260200142512116560754921061342352851801194417893537841672345938970414605308327171898197598469171046408434875576574528730686349306703268476453778980572159321558223994064641327673640249863707881624683359364561382846768348182132609126375909712800810712682324038790810560555377314894915351472431601307739540444156807568283022023482377879359451218023984441401899821775600934829100642591760524997368676219447558300753569872030107875381603525392064990972357333840218172699232195342762566738333829775878512792065179380924738723709925603529008935096905646274154456188570817927077308306178135628889189191600464891149555393382609202169453964826642260822881480524799579987481821621119446399421174791851208729324294870519582840726306013036355349215427969480989020944945069396363817554035123343127642032065349403226489385586748877996907601657245087072440538424151922023547674540139455313283468913124654030624048936489444778404117144523456560675985288805452885636193962114454825572835853385743525464850738923195051551347863666216963656970201250743429303679371013070887534261593528927401 312499534859161411991370605150072884235553080122597902212920345116509437455889742027569882430391641139272046487858948856379459629345053508972004800219437024702566118496894768294673139199670805245066159012547992912140845834025873892522849001240198168887552686388245646634437286301194919951993321204767091838052647237890318384347175332403633773591202743682207111712550172827328687600742759843269092368345103089832561430333282097028980087677550661604768201670336319624402648606767196545716683390658682474978950849024357482865610972318600271468377137423417020896624219305438109807599672723454291048023903606735750072723106154415091935224277598946748065961515139402718774599309412983456502064795887732445680182966313752452513771662094107996667879328670374510613125627069211676052533689636252370445943153117168179349658615729800865799478755839966317718537323882139911588610893742261141669590107365894841268708401651509611209969417057388670864939857685558014741132772022334533458666741538053407164636451939002903924677225814093825707800036954624645222090327968494340816027609457082294614489549556315662701929608734056438375142345437247944493488838758313281701307373650028022492562175209513893576590910685985367305577922434458278355403899013821005295685499845038598032169818504301447816226087453926000394203893541037400923936294759364524859569923335928424881994851597736405610516040676259530392044698471286096769735410789861202229850187244849774686606823333055309556593563195025168103843208105686166394137444310638332767812221055519671517990195416211040003387494825170604792628952468786182803558611450158503222938019033807139525396396672011352322623134682449885193185010110810594304854229516430421548273461835916729162908911502976906326077419376048003306089464819265920426609159174441664528281709046005742554577219863991459113118807390263105722006956113441306346539437178755871875645648789962312823801203288561897836864075071761236178756246619983408754967879785722152022283927354206598195798946227735103871261926528185563569914864213856143235210210653819822874312505651129807617597060467636642599546655887958619737948211968643243747451817582801283541860342167874625614696971873305565347036292843517301241893744295560498122733889333948092435489847532247473226982711695904937345857047843990296478775802142084911718357423456509567151215361180744848515459301654548915550494636972854514385336605545390126701435385640035643975318119403 505634868870655749037323240867250215519656274281180717347795586605374117959539323492849969997179578686753360782532048393091072542023427647555240095102288959489758129861283968399743271578449045489696779554890179372133400275143596990259247802982147590680615520430447499736795879792692530090063942550806509861379001150842193957342333495788371810657962642862091272250397017155450019680704074722487155843260206966277900924894949183066054251938176277966108605650308258476084420682935249667876155690492694909177569403943485419999318586484918830698313366344875985186918229331451740130516158745155251134654819493243627633374058952159159923940152703330556912410297794251229443408748852756113053762836468905136026944228486118380252815953860734421426174564431037331313846221666825824401211614820748894103718171164653460625828150991940383224041540383471845954009280302724455045055639122140187916999779472803051883573966684804828053263126986221787887462558834858601936580864001180215286011862794413544904497877865800660542118294605439764773341977194967554996120405552016970795703631861015941848900063345022998412864216496816376755212410062694598087925180173488384464237254857101994248838155171463985891111155898974346786344986262959016286950789942436673737960495135142423275752618979603527844830727369664831325947397389009649742143730442630052395928853769575031459255051740248522171270961737601883243845892889179634611407756728831616835158514416747972285075994379463744432170137723755854453149911374162620173118016469959890991806285696847345158240059124092664686746859386553451560977134601395309179468324250969215905262057824617700080773711566926703795054735990189425637341817679093616328336607395789872766297446277318628984684512437806006968669179901045371982308912377566673996481189282317046131807101110996714911911060082164158345314150152829844055836731991954098411718818103494595585571252318971247920706849562716354025434892998838544484934382248872597946568344676871707415666536556376052160625588488557985351786726108173045391535983660255564410002061862549147169183025233970533923610096822985858027516136876979564683017608332460797782575160710443315607209745394364011201445849870213167004281379915957839666045666319108172662873344647231561348614501562871522163472156474309054490380504404666281767581255027721105680471878282082403004601104706209699254382496706100263414160853936511484586587348974693806072448456527569905568847046804 818134403729817161028693846017323099755209354403778619560715931721883555415429065520419852427571219826025407270390997249470532171368481156527244895321725984192324248358178736694416410778119850734762938567438172284274246109169470882782096804222345759568168206818693146371233166093887450042057263755573601699431648388732512341689508828192005584249165386544298383962947189982778707281446834565756248211605310056110462355228231280095034339615726939570876807320644578100487069289702446213592839081151377384156520252967842902864929558803519102166690503768293006083542448636889849938115831468609542182678723099979377706097165106574251859164430302277304978371812933653948218008058265739569555827632356637581707127194799870832766587615954842418094053893101411841926971848736037500453745304457001264549661324281821639975486766721741249023520296223438163672546604184864366633666532864401329586589886838697893152282368336314439263232544043610458752402416520416616677713636023514748744678604332466952069134329804803564466795520419533590481142014149592200218210733520511311611731241318098236463389612901338661114793825230872815130354755499942542581414018931801666165544628507130016741400330380977879467702066584959714091922908697417294642354688956257679033645994980181021307922437483904975661056814823590831720151290930047050666080025201994577255498777105503456341249903337984927781787002413861413635890591360465731381143167518692819065008701661597746971682817712519053988763700918781022556993119479848786567255460780598223759618506752367016676230254540303704690134354211724056353606087070181491983026935701127719128200076858424839606170108238938056117677870672639310830526827789904210633190836912220294314570908113235358147593423940782913294746599277093375288398377196832594423090348456758710660088810157002457466488279946155617458432957543092949777843688105395404758258255282250467461216901108933560744508052851278251862298968070599780663690628868856006701536224462593859437950463910582650356424534716293089223048652636358608961450847874111707645212272516368970043495530885100341541207157290622500627062792764938184420965820301104041530026978293244599149070087562238636816142821743518732351317672759475140907939410614668670785607233981179653784104349095118995390454868170213991836237552248656578246357057169806017398829301738591970155816465886954547769841798360649178964655490909365998971923954520083932773883842167605549544165166207 1323769272600472910066017086884573315274865628684959336908511518327257673374968389013269822424750798512778768052923045642561604713391908804082484990424014943682082378219462705094159682356568896224459718122328351656407646384313067873041344607204493350248783727249140646108029045886579980132121206306380111560810649539574706299031842323980377394907128029406389656213344207138228726962150909288243404054865517022388363280123180463161088591553903217536985412970952836576571489972637695881468994771644072293334089656911328322864248145288437932865003870113168991270460677968341590068631990213764793317333542593223005339471224058733411783104583005607861890782110727905177661416807118495682609590468825542717734071423285989213019403569815576839520228457532449173240818070402863324854956919277750158653379495446475100601314917713681632247561836606910009626555884487588821678722171986541517503589666311500945035856335021119267316495671029832246639864975355275218614294500024694964030690467126880496973632207670604225008913815024973355254483991344559755214331139072528282407434873179114178312289676246361659527658041727689191885567165562637140669339199105290050629781883364232010990238485552441865358813222483934060878267894960376310929305478898694352771606490115323444583675056463508503505887542193255663046098688319056700408223755644624629651427630875078487800504955078233449953057964151463296879736484249645365992550924247524435900167216078345719256758812091982798420933838642536877010143030854011406740373477250558114751424792449214361834470313664396369376881213598277507914583221671576801162495259952096935033462134683042539686943819805864759912732606662828736467868645468997826961527444308010167080868354390553987132277936378588920263415779178138747270707289574399268419571537739075756791895911267999172378399340028319775803747107695922793833680420097349503169977073385745063046788153427904808665214902413994605887733861069438325148625011117728604648104569139465566853617000466958702517050123204851074574835378744531654352986831534367272055214334378918117212678556119070875464817254113608358654578929641917749103983428633564839312602139003687914756279832956602648017588671613731899355599052675432980573985076933776843448480578628411215132718850657990517553927024644523046326618056653322860013938312197527123079301180020674373160417570593164247024224295066749442378816344845877483558511303494777738846332298695175455113012213011 2141903676330290071094710932901896415030074983088737956469227450049141228790397454533689674852322018338804175323314042892032136884760389960609729885745740927874406626577641441788576093134688746959222656689766523940681892493482538755823441411426839109816951934067833792479262211980467430174178470061953713260242297928307218640721351152172382979156293415950688040176291397121007434243597743853999652266470827078498825635351411743256122931169630157107862220291597414677058559262340142095061833852795449677490609909879171225729177704091957035031694373881461997354003126605231440006747821682374335500012265693202383045568389165307663642269013307885166869153923661559125879424865384235252165418101182180299441198618085860045785991185770419257614282350633861015167789919138900825308702223734751423203040819728296740576801684435422881271082132830348173299102488672453188312388704850942847090179553150198838188138703357433706579728215073442705392267391875691835292008136048209712775369071459347449042766537475407789475709335444506945735626005494151955432541872593039594019166114497212414775679289147700320642451866958562007015921921062579683250753218037091716795326511871362027731638815933419744826515289068893774970190803657793605571660167854952031805252485095504465891597493947413479166944357016846494766249979249103751074303780846619206906926407980581944141754858416218377734844966565324710515627075610111097373694091766217254965175917739943466228441629804501852409697539561317899567136150333860193307628938031156338511043299201581378510700568204700074067015567810001564268189308741758293145522195653224654161662211541467379293113928044802816030410477335468047298395473258902037594718281220230461395439262503789345279871360319371833558162378455232122559105666771231862842661886195834467451984721425001629844887619974475393262180065239015743611524108202744907928235328667995530508005054536838369409722955265272857750032829140038105812315639986584611349640793602059426291567464377541352873474657921144163797884031380890263314437679408478979700426606895287087256174087004171217006024411404230859281641722406855933524949248934668880842629117296932513905349920518841284833731493357250631706916725434908121481924487548445514234087812609590868916823199753109512944381892814737038162855608901979438260295369367333140478130481759266343316234036480118794794066093427398621343471835755243482530435258014861671620216140862781004657177379218 3465672948930762981160728019786469730304940611773697293377738968376398902165365843546959497277072816851582943376237088534593741598152298764692214876169755871556489004797104146882735775491257643183682374812094875597089538877795606628864786018631332460065735661316974438587291257867047410306299676368333824821052947467881924939753193476152760374063421445357077696389635604259236161205748653142243056321336344100887188915474592206417211522723533374644847633262550251253630049234977837976530828624439521970824699566790499548593425849380394967896698243994630988624463804573573030075379811896139128817345808286425388385039613224041075425373596313493028759936034389464303540841672502730934775008570007723017175270041371849258805394755585996097134510808166310188408607989541764150163659143012501581856420315174771841178116602149104513518643969437258182925658373160042009991110876837484364593769219461699783223995038378552973896223886103274952032132367230967053906302636072904676806059538586227946016398745146012014484623150469480300990109996838711710646873011665567876426600987676326593087968965394061980170109908686251198901489086625216823920092417142381767425108395235594038721877301485861610185328511552827835848458698618169916500965646753646384576858975210827910475272550410921982672831899210102157812348667568160451482527536491243836558354038855660431942259813494451827687902930716788007395363559859756463366245016013741690865343133818289185485200441896484650830631378203854776577279181187871600048002415281714453262468091650795740345170881869096443443896781408279072182772530413335094308017455605321589195124346224509918980057747850667575943143083998296783766264118727899864556245725528240628476307616894343332412149296697960753821578157633370869829812956345631131262233423934910224243880632693000802223286960002795169065927172934938537445204528300094411098212402053740593554793207964743178074937857679267463637766690209476430960940651104313215997745362741524993145184464844500055390524781125995238372719410125421917667424510942846251755640941274205204468852643123242092470841665517839217936220652048773682628932677568233720155231256300620428661629753475443932851320164970982531062515778110341102055909564482222357682568391238002084049542050411100030498308917459260084489473665555302298274233681564860263557431661779940716476651607073283041818290388494148063722288180601120966088946561509639410466548439557956459770189592229 5607576625261053052255438952688366145335015594862435249846966418425540130955763298080649172129394835190387118699551131426625878482912688725301944761915496799430895631374745588671311868625946390142905031501861399537771431371278145384688227430058171569882687595384808231066553469847514840480478146430287538081295245396189143580474544628325143353219714861307765736565927001380243595449346396996242708587807171179386014550826003949673334453893163531752709853554147665930688608497317980071592662477234971648315309476669670774322603553472352002928392617876092985978466931178804470082127633578513464317358073979627771430608002389348739067642609621378195629089958051023429420266537886966186940426671189903316616468659457709304591385941356415354748793158800171203576397908680664975472361366747253005059461134903068581754918286584527394789726102267606356224760861832495198303499581688427211683948772611898621412133741735986680475952101176717657424399759106658889198310772121114389581428610045575395059165282621419803960332485913987246725736002332863666079414884258607470445767102173539007863648254541762300812561775644813205917411007687796507170845635179473484220434907106956066453516117419281355011843800621721610818649502275963522072625814608598416382111460306332376366870044358335461839776256226948652578598646817264202556831317337863043465280446836242376084014671910670205422747897282112717910990635469867560739939107779958945830519051558232651713642071700986503240328917765172676144415331521731793355631353312870791773511390852377118855871450073796517510912349218280636450961839155093387453539651258546243356786557765977298273171675895470391973553561333764831064659591986801902150964006748471089871746879398132677692020657017332587379740536088602992388918623116862994104895310130744691695865354118002432068174579977270562328107238173954281056728636502839319026447730721736124062798262501581547484660812944540321387799519349514536773256291090897827347386156343584419436751929222041408263999439047139402170603441506312180981862190351325231456067548169492291725026730127413309476866076922070077217862374455629616153881926502902600997860373597552942566979673994285217685051658328233162769432503545249223537834052030667871916656203847592952966365250164209543442690810273997122652329274457281736534529050932193404035562143539207059792885643553401836612356481921546685065760016356364448619381819524501082086764580420737464427366971447 9073249574191816033416166972474835875639956206636132543224705386801939033121129141627608669406467652041970062075788219961219620081064987489994159638085252670987384636171849735554047644117204033326587406313956275134860970249073752013553013448689504029948423256701782669653844727714562250786777822798621362902348192864071068520227738104477903727283136306664843432955562605639479756655095050138485764909143515280273203466300596156090545976616696906397557486816697917184318657732295818048123491101674493619140009043460170322916029402852746970825090861870723974602930735752377500157507445474652593134703882266053159815647615613389814493016205934871224389025992440487732961108210389697121715435241197626333791738700829558563396780696942411451883303966966481391985005898222429125636020509759754586915881450077840422933034888733631908308370071704864539150419234992537208294610458525911576277717992073598404636128780114539654372175987279992609456532126337625943104613408194019066387488148631803341075564027767431818444955636383467547715845999171575376726287895924175346872368089849865600951617219935824280982671684331064404818900094313013331090938052321855251645543302342550105175393418905142965197172312174549446667108200894133438573591461362244800958970435517160286842142594769257444512608155437050810390947314385424654039358853829106880023634485691902808026274485405122033110650827998900725306354195329624024106184123793700636695862185376521837198842513597471154070960295969027452721694512709603393403633768594585245035979482503172859201042331942892960954809130626559708633734369568428481761557106863867832551910903990487217253229423746137967916696645332061614830923710714701766707209732276711718348054496292476010104169953715293341201318693721973862218731579462494125367128734065654915939745986811003234291461539980065731394034411108892818501933164802933730124660132775476717617591470466324725559598670623807785025566209558990967734196942195211043345131519085109412581936394066541463654524220173134640543322851631734098649286701294171483211708489443697496193879373250655401947707742439909295154083026504403298782814604071136321153091629898173371228609427469729150536371823299215693831948281655590325593743616512890229599224595085595037015907300575309573940999727733257207141802940012584034808762732497053667592993805319147776269537250626684878430646870415694748788048196957485414708328381034140492553313019978693924197556563676 14680826199452869085671605925163202020974971801498567793071671805227479164076892439708257841535862487232357180775339351387845498563977676215296104400000749470418280267546595324225359512743150423469492437815817674672632401620351897398241240878747675599831110852086590900720398197562077091267255969228908900983643438260260212100702282732803047080502851167972609169521489607019723352104441447134728473496950686459659218017126600105763880430509860438150267340370845583115007266229613798119716153578909465267455318520129841097238632956325098973753483479746816960581397666931181970239635079053166057452061956245680931246255618002738553560658815556249420018115950491511162381374748276663308655861912387529650408207360287267867988166638298826806632097125766652595561403806903094101108381876507007591975342584980909004687953175318159303098096173972470895375180096825032406598110040214338787961666764685497026048262521850526334848128088456710266880931885444284832302924180315133455968916758677378736134729310388851622405288122297454794441582001504439042805702780182782817318135192023404608815265474477586581795233459975877610736311102000809838261783687501328735865978209449506171628909536324424320209016112796271057485757703170096960646217275970843217341081895823492663209012639127592906352384411663999462969545961202688856596190171166969923488914932528145184110289157315792238533398725281013443217344830799491584846123231573659582526381236934754488912484585298457657311289213734200128866109844231335186759265121907456036809490873355549978056913782016689478465721479844840345084696208723521869215096758122414075908697461756464515526401099641608359890250206665826445895583302701503668858173739025182808219801375690608687796190610732625928581059229810576854607650202579357119472024044196399607635611340929005666359636119957336293722141649282847099558661801305773049151107863497212841680389732967906273044259483568348106413365728908505504507453233286108870692517675428693832018688323288582871918523659220274042713926293138046279631148891645496714667776037613189787918906103378068711424573819361979372371945400960032914936696530574038922150952003495726313795589101464014368221423481627448856601380785200839549131577668543558101515880798933187989982272550739519117383690538007254329794132214469865771343291783429247071628555948858354836062422894180086715043003352337241433853808213313849863327710200558641574640077600399431388624923535123 23754075773644685119087772897638037896614928008134700336296377192029418197198021581335866510942330139274327242851127571349065118645042663705290264038086002141405664903718445059779407156860354456796079844129773949807493371869425649411794254327437179629779534108788373570374242925276639342054033792027530263885991631124331280620930020837280950807785987474637452602477052212659203108759536497273214238406094201739932421483427196261854426407126557344547824827187543500299325923961909616167839644680583958886595327563590011420154662359177845944578574341617540935184328402683559470397142524527818650586765838511734091061903233616128368053675021491120644407141942931998895342482958666360430371297153585155984199946061116826431384947335241238258515401092733133987546409705125523226744402386266762178891224035058749427620988064051791211406466245677335434525599331817569614892720498740250364239384756759095430684391301965065989220304075736702876337464011781910775407537588509152522356404907309182077210293338156283440850243758680922342157428000676014419531990676106958164190503281873270209766882694413410862777905144306942015555211196313823169352721739823183987511521511792056276804302955229567285406188424970820504152865904064230399219808737333088018300052331340652950051155233896850350864992567101050273360493275588113510635549024996076803512549418220047992136563642720914271644049553279914168523699026129115608952307355367360219222243422311276326111327098895928811382249509703227581587804356940938580162898890502041281845470355858722837257956113959582439420530610471400053718430578291950350976653864986281908460608365746951732779630523387746327806946851997888060726507013416205435565383471301894526567855871983084697900360564447919269782377923532550716826381782041851244839152778262054523575357327740008900651097659937402025116176060391739918060594966108706779275767996272689559297981203434230998603858154192155891438931938467496472241650175481319914037649194513803244600624717355124335573047879393408683257249144769780378280435592939668197879484527056887284112785476628724113372281561801888667526028427464436213719511134645175243304043633393899685024198528933743518757795304926664550433329066856429874725321285056448331115105394018783026998179851314828691324690265740511536935935154482449806152054515926300739221549754177502612331960144806771593473650222752936182641856410271335278036038581592782067193390620378125312822480098799 38434901973097554204759378822801239917589899809633268129368048997256897361274914021044124352478192626506684423626466922736910617209020339920586368438086751611823945171265040384004766669603504880265572281945591624480125773489777546810035495206184855229610644960874964471094641122838716433321289761256439164869635069384591492721632303570083997888288838642610061771998541819678926460863977944407942711903044888199591639500553796367618306837636417782698092167558389083414333190191523414287555798259493424154050646083719852517393295315502944918332057821364357895765726069614741440636777603580984708038827794757415022308158851618866921614333837047370064425257893423510057723857706943023739027159065972685634608153421404094299373113973540065065147498218499786583107813512028617327852784262773769770866566620039658432308941239369950514504562419649806329900779428642602021490830538954589152201051521444592456732653823815592324068432164193413143218395897226195607710461768824285978325321665986560813345022648545135063255531880978377136599010002180453462337693456289740981508638473896674818582148168890997444573138604282819626291522298314633007614505427324512723377499721241562448433212491553991605615204537767091561638623607234327359866026013303931235641134227164145613260167873024443257217376978765049736330039236790802367231739196163046727001464350748193176246852800036706510177448278560927611741043856928607193798430586941019801748624659246030815023811684194386468693538723437427710453914201172273766922164012409497318654961229214272815314869895976271917886252090316240398803126787015472220191750623108695984369305827503416248306031623029354687697197058663714506622090316117709104423557210327077334787657247673693385696551175180545198363437153343127571434031984621208364311176822458454131210968668669014567010733779894738318838317709674587017619256767414479828426875859769902400978370936402137271648117637760503997852297667376001976749103408767428784730166869942497076619313040643707207491571538613682725971175437907826657911584484585164912547260564670077072031691580006792824796855381163868039897973828424469128656207665219214165454995636889625998819787630397757886979218786554113407034709852057269423856898953600006432630986192951971016980452402054347808708380803747765866730067368952315577495346299355547810850105703035857448394383038986858308516653575090177616495664623585185141363748782151423641833468220777556701447403633922 62188977746742239323847151720439277814204827817767968465664426189286315558472935602379990863420522765781011666477594494085975735854063003625876632476172753753229610074983485443784173826463859337061652126075365574287619145359203196221829749533622034859390179069663338041468884048115355775375323553283969428755626700508922773342562324407364948696074826117247514374475594032338129569623514441681156950309139089939524060983980992629472733244762975127245916994745932583713659114153433030455395442940077383040645973647309863937547957674680790862910632162981898830950054472298300911033920128108803358625593633269149113370062085234995289668008858538490708832399836355508953066340665609384169398456219557841618808099482520920730758061308781303323662899311232920570654223217154140554597186649040531949757790655098407859929929303421741725911028665327141764426378760460171636383551037694839516440436278203687887417045125780658313288736239930116019555859909008106383117999357333438500681726573295742890555315986701418504105775639659299478756438002856467881869684132396699145699141755769945028349030863304408307351043748589761641846733494628456176967227167147696710889021233033618725237515446783558891021392962737912065791489511298557759085834750637019253941186558504798563311323106921293608082369545866100009690532512378915877867288221159123530514013768968241168383416442757620781821497831840841780264742883057722802750737942308380020970868081557307141135138783090315280075788233140655292041718558113212347085062902911538600500431585072995652572826009935854357306782700787640452521557365307422571168404488094977892829914193250367981085662146417101015504143910661602567348597329533914539988940681628971861355513119656778083596911739628464468145815076875678288260413766663059609150329600720508654786325996409023467661831439832140343954493770066326935679851733523186607702643856042591960276352139836368270251975791952659889291229605843498448990753584248748698767816064456300321219937757998831543064619418007091409228424582677607036192020077524833110426745091726964356144477056635516938169136942965756707424002255888905342375718799864389408759039270283525683843986159331501405737014091480777957468038918913699298582220238656454763746091586970754043978632253369176500033071069488277403666002523434765383647400815281848550071655457213360060726343183793629901990303797843113799137521033856520419399787363744205709026858841155682014269883732721 100623879719839793528606530543240517731794727627401236595032475186543212919747849623424115215898715392287696090104061416822886353063083343546463000914259505365053555246248525827788940496067364217327224408020957198767744918848980743031865244739806890089000824030538302512563525170954072208696613314540408593625261769893514266064194627977448946584363664759857576146474135852017056030487492386089099662212183978139115700484534788997091040082399392909944009162304321667127992304344956444742951241199570807194696619731029716454941252990183735781242689984346256726715780541913042351670697731689788066664421428026564135678220936853862211282342695585860773257657729779019010790198372552407908425615285530527253416252903925015030131175282321368388810397529732707153762036729182757882449970911814301720624357275138066292238870542791692240415591084976948094327158189102773657874381576649428668641487799648280344149698949596250637357168404123529162774255806234301990828461126157724479007048239282303703900338635246553567361307520637676615355448005036921344207377588686440127207780229666619846931179032195405751924182352872581268138255792943089184581732594472209434266520954275181173670727938337550496636597500505003627430113118532885118951860763940950489582320785668944176571490979945736865299746524631149746020571749169718245099027417322170257515478119716434344630269242794327291998946110401769392005786739986329996549168529249399822719492740803337956158950467284701748769326956578083002495632759285486114007226915321035919155392814287268467887695905912126275193034791103880851324684152322894791360155111203673877199220020753784229391693769446455703201340969325317073970687645651623644412497891956049196143170367330471469293462914809009666509252230218805859694445751284267973461506423178962785997294665078038034672565219726878662792811479740913953299108500937666436129519715812494361254723076238505541900093429713163887143527273219500425739856993016177483497982934398797397839250798642538750556190956620774135199600020585433694103604562109998022974005656397041428176168636642309762965992324129624747321976084313374471031926465083603574214034907173151682663773789729259292716232878034891364502748770970968722439119192256461196377077779922725060959084655423524308741451873236043270396069892387080961142747114637396360921761160249217509120726222780488210506957372933291415633185657441705560763536145895629350860327061933238715717287366643 162812857466582032852453682263679795545999555445169205060696901375829528478220785225804106079319238158068707756581655910908862088917146347172339633390432259118283165321232011271573114322531223554388876534096322773055364064208183939253694994273428924948391003100201640554032409219069427984071936867824378022380888470402437039406756952384813895280438490877105090520949729884355185600111006827770256612521323068078639761468515781626563773327162368037189926157050254250841651418498389475198346684139648190235342593378339580392489210664864526644153322147328155557665835014211343262704617859798591425290015061295713249048283022088857500950351554124351482090057566134527963856539038161792077824071505088368872224352386445935760889236591102671712473296840965627724416259946336898437047157560854833670382147930236474152168799846213433966326619750304089858753536949562945294257932614344268185081924077851968231566744075376908950645904644053645182330115715242408373946460483491162979688774812578046594455654621947972071467083160296976094111886007893389226077061721083139272906921985436564875280209895499814059275226101462342909984989287571545361548959761619906145155542187308799898908243385121109387657990463242915693221602629831442878037695514577969743523507344173742739882814086867030473382116070497249755711104261548634122966315638481293788029491888684675513013685685551948073820443942242611172270529623044052799299906471557779843690360822360645097294089250375017028845115189718738294537351317398698461092289818232574519655824399360264120460521915847980632499817491891521303846241517630317362528559599298651770029134214004152210477355915863556718705484879986919641319284975185538184401438573585021057498683486987249552890374654437474134655067307094484147954859517947327582611836023899471440783620661487061502334396659559019006747305249807240888978960234460853043832163571855086321531075216074873812152069221665823776434756879062998874730610577264926182265798998855097719059188556641370293620810374627865544428024603263040730295624639634831133400750748124005784320645693277826701135129267095381454745978340202279813407645264947992982973074177456677366507759949060760698453246969515669321970787689884668021021339430912915960123169366893479104937716908792700808774522942724320674062072415821846344790147929919244910993416617462577569847069406574118112497261170776405214770706691298225980163323509639835059887185903088920729987171099364 263436737186421826381060212806920313277794283072570441655729376562372741397968634849228221295217953550356403846685717327731748441980229690718802634304691764483336720567480537099362054818598587771716100942117279971823108983057164682285560239013235815037391827130739943066595934390023500192768550182364786616006150240295951305470951580362262841864802155636962666667423865736372241630598499213859356274733507046217755461953050570623654813409561760947133935319354575917969643722843345919941297925339218997430039213109369296847430463655048262425396012131674412284381615556124385614375315591488379491954436489322277384726503958942719712232694249710212255347715295913546974646737410714199986249686790618896125640605290370950791020411873424040101283694370698334878178296675519656319497128472669135391006505205374540444407670389005126206742210835281037953080695138665718952132314190993696853723411877500248575716443024973159588003073048177174345104371521476710364774921609648887458695823051860350298355993257194525638828390680934652709467334012930310570284439309769579400114702215103184722211388927695219811199408454334924178123245080514634546130692356092115579422063141583981072578971323458659884294587963747919320651715748364327996989556278518920233105828129842686916454305066812767338681862595128399501731676010718352368065343055803464045544970008401109857643954928346275365819390052644380564276316363030382795849075000807179666409853563163983053453039717659718777614442146296821297032984076684184575099516733553610438811217213647532588348217821760106907692852282995402155170925669953212153888714710502325647228354234757936439869049685310012421906825849312236715289972620837161828813936465541070253641853854317721022183837569246483801164319537313290007649305269231595556073342447078434226780915326565099537006961879285897669540116729548154842278068735398519479961683287667580682785798292313379354052162651378987663578284152282499300470467570281103665763781933253895116898439355283909044177001331248639679627624623848474424399229201744829156374756404521047212496814329920136464101121591225006202067954424515654284439571730031596557187109084629829049171533738790019991169479847550560686473536460855636743460458623169377156500247146816204165896801564216225117515974815960363944458142308208927305932895044556641271915177777711795078967795629354606323004218543709696630403892348739931540926859655535464410747512965022159445704458466007 426249594653003859233513895070600108823793838517739646716426277938202269876189420075032327374537191708425111603267373238640610530897376037891142267695124023601619885888712548370935169141129811326104977476213602744878473047265348621539255233286664739985782830230941583620628343609092928176840487050189164638387038710698388344877708532747076737145240646514067757188373595620727427230709506041629612887254830114296395223421566352250218586736724128984323861476404830168811295141341735395139644609478867187665381806487708877239919674319912789069549334279002567842047450570335728877079933451286970917244451550617990633774786981031577213183045803834563737437772862048074938503276448875992064073758295707264997864957676816886551909648464526711813756991211663962602594556621856554756544286033523969061388653135611014596576470235218560173068830585585127811834232088228664246390246805337965038805335955352216807283187100350068538648977692230819527434487236719118738721382093140050438384597864438396892811647879142497710295473841231628803579220020823699796361501030852718673021624200539749597491598823195033870474634555797267088108234368086179907679652117712021724577605328892780971487214708579769271952578426990835013873318378195770875027251793096889976629335474016429656337119153679797812063978665625649257442780272266986491031658694284757833574461897085785370657640613898223439639833994886991736546845986074435595148981472364959510100214385524628150747128968034735806459557336015559591570335394082883036191806551786184958467041613007796708808739737608087540192669774886923459017167187583529516417274309800977417257488448762088650346405601173569140612310729299156356609257596022700013215375039126091311140537341304970575074212223683957935819386844407774155604164787178923138685178470977905667564535988052161039341358538844916676287421979355395731257028969859372523793846859522667004316873508388253166204231873044811440013041031345498175201078147546029848029580932108992835957627911925279337797811705876505224055649227111515154694853841379660289775507152645052996817460023197963165236250858320387656813932764717934097847216994979589540160183262086506415679293687850780689622726817066230008444324150740304764481798054082293116623416513709683270834518473008925926290497758684684618520214724030773650723042974475886182908594395174372648814865035928724435501479714486101845174599040038157521090183165175299470634698868111080175691629565371 689686331839425685614574107877520422101588121590310088372155654500575011274158054924260548669755145258781515449953090566372358972877605728609944901999815788084956606456193085470297223959728399097821078418330882716701582030322513303824815472299900555023174657361681526687224277999116428369609037232553951254393188950994339650348660113109339579010042802151030423855797461357099668861308005255488969161988337160514150685374616922873873400146285889931457796795759406086780938864185081315080942534818086185095421019597078174087350137974961051494945346410676980126429066126460114491455249042775350409198888039940268018501290939974296925415740053544775992785488157961621913150013859590192050323445086326161123505562967187837342930060337950751915040685582362297480772853297376211076041414506193104452395158340985555040984140624223686379811041420866165764914927226894383198522560996331661892528747832852465382999630125323228126652050740407993872538858758195829103496303702788937897080420916298747191167641136337023349123864522166281513046554033754010366645940340622298073136326415642934319702987750890253681674043010132191266231479448600814453810344473804137303999668470476762044066186032038429156247166390738754334525034126560098872016808071615810209735163603859116572791424220492565150745841260754048759174456282985338859097001750088221879119431905486895228301595542244498805459224047531372300823162349104818390998056473172139176510067948688611204200168685694454584073999482312380888603319470767067611291323285339795397278258826655329297156957559368194447885522057882325614188092857536741670305989020303303064485842683520025090215455286483581562519136578611393071899230216859861842029311504667161564782391195622691597258049792930441736983706381721064163253470056410518694758520918056339894345451314617260576348320418130814345827538708903550573535097705257892003755530147190247687102671800701632520256394524423799103591325183627997475671545717827133513793362865362887952856067267209188381974813037125144903683273850959989579094083043124489446150263557166100209314274353118099629337372449545393858881887189233588382286788725011186097347292346716335464850827426640800680792206664616790694917860611595941507942256677251670273123663660525887436731320037225151043806472574645048562978357032239700956655938019032527454823772172886167727782660665283330758505698258195798475578491388778089062017042820710763881382211833133239621396088031378 1115935926492429544848088002948120530925381960108049735088581932438777281150347474999292876044292336967206627053220463805012969503774981766501087169694939811686576492344905633841232393100858210423926055894544485461580055077587861925364070705586565295008957487592623110307852621608209356546449524282743115892780227661692727995226368645856416316155283448665098181044171056977827096092017511297118582049243167274810545908796183275124091986883010018915781658272164236255592234005526816710220587144296953372760802826084787051327269812294873840564494680689679547968476516696795843368535182494062321326443339590558258652276077921005874138598785857379339730223261020009696851653290308466184114397203382033426121370520644004723894839708802477463728797676794026260083367409919232765832585700539717073513783811476596569637560610859442246552879872006451293576749159315123047444912807801669626931334083788204682190282817225673296665301028432638813399973345994914947842217685795928988335465018780737144083979289015479521059419338363397910316625774054577710163007441371475016746157950616182683917194586574085287552148677565929458354339713816686994361489996591516159028577273799369543015553400740618198428199744817729589348398352504755869747044059864712700186364499077875546229128543374172362962809819926379698016617236555252325350128660444372979712693893802572680598959236156142722245099058042418364037370008335179253986147037945537098686610282334213239354947297653729190390533556818327940480173654864849950647483129837125980355745300439663126005965697296976281988078191832769249073205260045120271186723263330104280481743331132282113740561860887657150703131447307910549428508487812882561855244686543793252875922928536927662172332262016614399672803093226128838318857634843589441833443699389034245561909987302669421615689678956975731022114960688258946304792126675117264527549377006712914691419545309089885686460626397468610543604366214973495650872623865373163361822943797471880788813695179134467719772624743001650127738923078071504733788936884504149735925770709811153206131734376316062794573623307865781515695819953951522480134005719990775637507475608802841880530121114491581370414933481683020703362184762336246272424054731333963389747080174235570707565838510234076970096970333329733181498571756270474607378980993508413637732366568060540376597525701212055194007177972681900320753090428816246583107225985886063352016910701244319797087717596749 1805622258331855230462662110825640953026970081698359823460737586939352292424505529923553424714047482225988142503173554371385328476652587495111032071694755599771533098801098719311529617060586609521747134312875368178281637107910375229188886177886465850032132144954304636995076899607325784916058561515297067147173416612687067645575028758965755895165326250816128604899968518334926764953325516552607551211231504435324696594170800197997965387029295908847239455067923642342373172869711898025301529679115039557856223845681865225414619950269834892059440027100356528094905582823255957859990431536837671735642227630498526670777368860980171064014525910924115723008749177971318764803304168056376164720648468359587244876083611192561237769769140428215643838362376388557564140263216608976908627115045910177966178969817582124678544751483665932932690913427317459341664086542017430643435368798001288823862831621057147573282447350996524791953079173046807272512204753110776945713989498717926232545439697035891275146930151816544408543202885564191829672328088331720529653381712097314819294277031825618236897574324975541233822720576061649620571193265287808815300341065320296332576942269846305059619586772656627584446911208468343682923386631315968619060867936328510396099662681734662801919967594664928113555661187133746775791692838237664209225662194461201591813325708059575827260831698387221050558282089949736338193170684284072377145094418709237863120350282901850559147466339423644974607556300640321368776974335617018258774453122465775753023559266318455303122654856344476435963713890651574687393352902657012857029252350407583546229173815802138830777316174140732265650583886521942500407718029742423697273998048460414440705319732550353769590311809544841409786799607849902482111104899999960528202220307090585456255438617286682192037999375106545367942499397162496878327224380375156531304907153903162378522217109791518206717020921892409647195691398601493126544169583200296875616306662834768741669762446343656101747437780126795031422196929031494312883019927628639182076034266977253415446008729434162423910995757411175374577707143185110862420794445001961734854767955519177345380948541132382051207140146299811398280045373932187780366311408585633662870743834761458144297158547459228013903442907974781744476928788510175564034919012540941092556138740946708104380186366495385952512876230877698796331581817594335645124268806596827233399122534377559418483805628127 2921558184824284775310750113773761483952352041806409558549319519378129573574853004922846300758339819193194769556394018176398297980427569261612119241389695411458109591146004353152762010161444819945673190207419853639861692185498237154552956883473031145041089632546927747302929521215535141462508085798040183039953644274379795640801397404822172211320609699481226785944139575312753861045343027849726133260474671710135242502966983473122057373912305927763021113340087878597965406875238714735522116823411992930617026671766652276741889762564708732623934707790036076063382099520051801228525614030899993062085567221056785323053446781986045202613311768303455453232010197981015616456594476522560279117851850393013366246604255197285132609477942905679372636039170414817647507673135841742741212815585627251479962781294178694316105362343108179485570785433768752918413245857140478088348176599670915755196915409261829763565264576669821457254107605685620672485550748025724787931675294646914568010458477773035359126219167296065467962541248962102146298102142909430692660823083572331565452227648008302154092160899060828785971398141991107974910907081974803176790337656836455361154216069215848075172987513274826012646656026197933031321739136071838366104927801041210582464161759610209031048510968837291076365481113513444792408929393489989559354322638834181304507219510632256426220067854529943295657340132368100375563179019463326363292132364246336549730632617115089914094763993152835365141113118968261848950629200466968906257582959591756108768859705981581309088352153320758424041905723420823760598612947777284043752515680511864027972504948084252571339177061797882968782031194432491928916205842624985552518684592253667316628248269478015941922573826159241082589892833978740800968739743589402361645919696124831018165425919956103807727678332082276390057460085421443183119351055492421058854284160616077069941762418881403893177647319361020190800057613574988777416793448573460237439250460306649530483457625478123821520062523128445159161120007102999046671956812132788918001804976788406621577743105750225218484619065276956890273527097136633342554800164992737372362243564322019225911069655623963421622073627982832101642230136268434052790366139919597052617824008997028851862997057693304984000413241304514925975500544780650171413900006049354730288505309007248480977712067707441146520054203559599117084672246410582228231494792482890585416033235621879215571523224876 4727180443156140005773412224599402436979322123504769382010057106317481865999358534846399725472387301419182912059567572547783626457080156756723151313084451011229642689947103072464291627222031429467420324520295221818143329293408612383741843061359496995073221777501232384298006420822860926378566647313337250187127060887066863286376426163787928106485935950297355390844108093647680625998668544402333684471706176145459939097137783671120022760941601836610260568408011520940338579744950612760823646502527032488473250517448517502156509712834543624683374734890392604158287682343307759088516045567737664797727794851555311993830815642966216266627837679227571176240759375952334381259898644578936443838500318752600611122687866389846370379247083333895016474401546803375211647936352450719649839930631537429446141751111760818994650113826774112418261698861086212260077332399157908731783545397672204579059747030318977336847711927666346249207186778732427944997755501136501733645664793364840800555898174808926634273149319112609876505744134526293975970430231241151222314204795669646384746504679833920390989735224036370019794118718052757595482100347262611992090678722156751693731158339062153134792574285931453597093567234666276714245125767387806985165795737369720978563824441344871832968478563502219189921142300647191568200622231727653768579984833295382896320545218691832253480899552917164346215622222317836713756349703747398740437226782955574412850982900016940473242230332576480339748669419608583217727603536083987165032036082057531861792418972300036612211007009665234860005619614072398447991965850434296900781768030919447574201678763886391402116493235938615234432615080954434429323923872367409249792682640714081757333568002028369711512885635704082492376692441828643283079844643589362889848140003215416474420864537242785999765677707188821757999959482583940061446575435867577590159191314519239448463979528672922099894668241253429837995749012176481903960963031773757113055557123141418272153220071821779923267500303255240190583316936134493359554976739761428100077839243765660037023751835184387642395614822688132264851234240321744204975594609994699107217011519841196571292018196756345472829213774282643499922275510200621833156677548505230715488567843758486996160155605152532997903856149279296670452429333290825735448819018590295822844644049953956585357898434202827099032930434437297913416254064004917873355763599079717818815155769999438634055328853003 7648738627980424781084162338373163920931674165311178940559376625695611439574211539769246026230727120612377681615961590724181924437507726018335270554474146422687752281093107425617053637383476249413093514727715075458005021478906849538294799944832528140114311410048160131600935942038396067841074733111377433227080705161446658927177823568610100317806545649778582176788247668960434487044011572252059817732180847855595181600104767144242080134853907764373281681748099399538303986620189327496345763325939025419090277189215169778898399475399252357307309442680428680221669781863359560317041659598637657859813362072612097316884262424952261469241149447531026629472769573933349997716493121101496722956352169145613977369292121587131502988725026239574389110440717218192859155609488292462391052746217164680926104532405939513310755476169882291903832484294854965178490578256298386820131721997343120334256662439580807100412976504336167706461294384418048617483306249162226521577340088011755368566356652581961993399368486408675344468285383488396122268532374150581914975027879241977950198732327842222545081896123097198805765516860043865570393007429237415168881016378993207054885374408278001209965561799206279609740223260864209745566864903459645351270723538410931561027986200955080864016989532339510266286623414160636360609551625217643327934307472129564200827764729324088679700967407447107641872962354685937089319528723210725103729359147201910962581615517132030387336994325729315704889782538576845066678232736550956071289619041649287970561278678281617921299359162985993284047525337493222208590578798211580944534283711431311602174183711970643973455670297736498203214646275386926358240129714992394802311367232967749073961816271506385653435459461863323574966585275807384084048584387178765251494059699340247492586290457198889807493356039271098148057419568005383244565926491359998649013475475135316518405741947554325993072315560614450028795806625751470681377756480347217350494807583448067802636677697299903744787562826383685349744436943237492406226933551894217018079644220554066658601494940934612860880233887965089155124761337458377547530394774987436479579255084163215797203087852380308894451287402265475601564505646469055885947043688424827768106391852755515848023152662845837981904269390583811596427929878071475906862719024639650553133149358961205066335610501910268245552984637996897030500926310415500101587258391562608404231189005621317849626852077879 12375919071136564786857574562972566357910996288815948322569433732013093305573570074615645751703114422031560593675529163271965550894587882775058421867558597433917394971040210498081345264605507678880513839248010297276148350772315461922036643006192025135187533187549392515898942362861256994219641380424714683414207766048513522213554249732398028424292481600075937567632355762608115113042680116654393502203887024001055120697242550815362102895795509600983542250156110920478642566365139940257169409828466057907563527706663687281054909188233795981990684177570821284379957464206667319405557705166375322657541156924167409310715078067918477735868987126758597805713528949885684378976391765680433166794852487898214588491979987976977873367972109573469405584842264021568070803545840743182040892676848702110372246283517700332305405589996656404322094183155941177438567910655456295551915267395015324913316409469899784437260688432002513955668481163150476562481061750298728255223004881376596169122254827390888627672517805521285220974029518014690098238962605391733137289232674911624334945237007676142936071631347133568825559635578096623165875107776500027160971695101149958748616532747340154344758136085137733206833790495530486459811990670847452336436519275780652539591810642299952696985468095841729456207765714807827928810173856945297096514292305424947097148309948015920933181866960364271988088584577003773803075878426958123844166585930157485375432598417148970860579224658305796044638451958185428284405836272634943236321655123706819832353697650581654533510366172651228144053144951565620656582544648645877845316051742350759176375862475857035375572163533675113437647261356341360787564053587359804052104049873681830831295384273534755364948345097567406067343277717636027367128429030768128141342199702555663967007154994441675807259033746459919906057379050589323306012501927227576239172666789654555966869721476227248092966983801867879866791555637927952585338719512120974463550364706589486074789897769121683668055063129638925540327753879371985765781910291655645118157483464319726695625246776119000503275848710653221419975995577780121752505989384982135586796266604004412368495106049136654367280501176548119101486781156669677719103721236930058483594959696514002844183308267998370979808125539863108266880359211362301642311538043229946375977793408915161651693508936113095344585915072434194943917180374420417974943021990642326223046344775620756483682180930882 20024657699116989567941736901345730278842670454127127263128810357708704745147781614384891777933841542643938275291490753996147475332095608793393692422032743856605147252133317923698398901988983928293607353975725372734153372251222311460331442951024553275301844597597552647499878304899653062060716113536092116641288471209960181140732073301008128742099027249854519744420603431568549600086691688906453319936067871856650302297347317959604183030649417365356823931904210320016946552985329267753515173154405083326653804895878857059953308663633048339297993620251249964601627246070026879722599364765012980517354518996779506627599340492870739205110136574289624435186298523819034376692884886781929889751204657043828565861272109564109376356697135813043794695282981239760929959155329035644431945423065866791298350815923639845616161066166538696225926667450796142617058488911754682372046989392358445247573071909480591537673664936338681662129775547568525179964367999460954776800344969388351537688611479972850621071886291929960565442314901503086220507494979542315052264260554153602285143969335518365481153527470230767631325152438140488736268115205737442329852711480143165803501907155618155554723697884344012816574013756394696205378855574307097687707242814191584100619796843255033561002457628181239722494389128968464289419725482162940424448599777554511297976074677340009612882834367811379629961546931689710892395407150168848947895945077359396338014213934281001247916218984035111749528234496762273351084069009185899307611274165356107802914976328863272454809725335637221428100670289058842865173123446857458789850335453782070778550046187827679349027833831411611640861907631728287145804183302352198854415417106649579905257200545041141018383804559430729642309862993443411451177013417946893392836259401895911459593445451640565614752389785731018054114798618594706550578428418587574888186142264789872485275463423781574086039299362482329895587362263679423266716475992468191814045172290037553877426575466421587412842625956022610890072190822609478172008843843549862136237127684873793354226741717053613364156082598618310575100756915238499300036384159969572066375521688167628165698193901516963261731788578813594703051286803138733605050764925354886251701351549269518692206460930844208961712394930446919863308289089433777549174257067869596929110942767876366718029119438023363590138899710431091974418106684835918076530280382204934627277533781242074333309033008761 32400576770253554354799311464318296636753666742943075585698244089721798050721351689000537529636955964675498868967019917268113026226683491568452114289591341290522542223173528421779744166594491607174121193223735670010301723023537773382368085957216578410489377785146945163398820667760910056280357493960806800055496237258473703354286323033406157166391508849930457312052959194176664713129371805560846822139954895857705422994589868774966285926444926966340366182060321240495589119350469208010684582982871141234217332602542544341008217851866844321288677797822071248981584710276694199128157069931388303174895675920946915938314418560789216940979123701048222240899827473704718755669276652462363056546057144942043154353252097541087249724669245386513200280125245261329000762701169778826472838099914568901670597099441340177921566656163195100548020850606737320055626399567210977923962256787373770160889481379380375974934353368341195617798256710719001742445429749759683032023349850764947706810866307363739248744404097451245786416344419517776318746457584934048189553493229065226620089206343194508417225158817364336456884788016237111902143222982237469490824406581293124552118439902958309899481833969481746023407804251925182665190846245154550024143762089972236640211607485554986257987925724022969178702154843776292218229899339108237520962892082979458395124384625355930546064701328175651618050131508693484695471285577126972792062531007516881713446812351429972108495443642340907794166686454947701635489905281820842543932929289062927635268673979444926988320091508288449572153815240624463521755668095503336635166387196132829954925908663684714724599997365086725078509168988069647933368236889712002906519466980331410736552584818575896383332149656998135709653140711079438818305442448715021534178459104451575426600600446082241422011423532190937960172177669184029856590930345815151127358809054444428452145184900008822179006283164350209762378917901607375852055195504589166277595536996627039952216473235543271080897689085661536430399944701981463937790754135205507254394611149193520049851988493172613867431931309271531995076752493018621052542373544951707653171788292172040534193299950653617629012289755361713804538067959808411324154486162284944735296311245783521536389769198842579941520520470310028130188648300796079191485795111099543305088736176791528369722628374136458934724814782865286918335287059256336051473302372847260850323878556862830816991213939643 52425234469370543922741048365664026915596337197070202848827054447430502795869133303385429307570797507319437144258510671264260501558779100361845806711624085147127689475306846345478143068583475535467728547199461042744455095274760084842699528908241131685791222382744497810898698972660563118341073607496898916696784708468433884495018396334414285908490536099784977056473562625745214313216063494467300142076022767714355725291937186734570468957094344331697190113964531560512535672335798475764199756137276224560871137498421401400961526515499892660586671418073321213583211956346721078850756434696401283692250194917726422565913759053659956146089260275337846676086125997523753132362161539244292946297261801985871720214524207105196626081366381199556994975408226501089930721856498814470904783522980435692968947915364980023537727722329733796773947518057533462672684888478965660296009246179732215408462553288860967512608018304679877279928032258287526922409797749220637808823694820153299244499477787336589869816290389381206351858659321020862539253952564476363241817753783218828905233175678712873898378686287595104088209940454377600638411338187974911820677118061436290355620347058576465454205531853825758839981818008319878870569701819461647711851004904163820740831404328810019818990383352204208901196543972744756507649624821271177945411491860533969693100459302695940158947535695987031248011678440383195587866692727295821739958476084876278051461026285710973356411662626376019543694920951709974986573974291006741851544203454419035438183650308308199443129816843925671000254485529683306386928791542360795425016722649914900733475954851512394073627831196498336719371076619797935079172420192064201760934884086980990641809785363617037401715954216428865351963003704522850269482455866661914927014718506347486886194045897722807036763813317921956014286976287778736407169358764402726015544951319234300937420648323790396265045582526832539657966280165286799118771671497057358091640709286664593829643048701964858493740315041684147320472135524590942109799597978755369390631738834067313404078730210226227231588013907889842570177509408257120352578757704921279719547309980339668699891493852170580890744078334175308507589354762947144929205251087639830986997662795053040228596230129686788903232915400756947993496937390229856740660052178969140234199678944667895087751747812159822524863714493296378892753393744092254128003582755052195477601412338104905150300246948404 84825811239624098277540359829982323552350003940013278434525298537152300846590484992385966837207753471994936013225530588532373527785462591930297921001215426437650231698480374767257887235177967142641849740423196712754756818298297858225067614865457710096280600167891442974297519640421473174621431101457705716752280945726907587849304719367820443074882044949715434368526521819921879026345435300028146964215977663572061148286527055509536754883539271298037556296024852801008124791686267683774884339120147365795088470100963945741969744367366736981875349215895392462564796666623415277978913504627789586867145870838673338504228177614449173087068383976386068916985953471228471888031438191706656002843318946927914874567776304646283875806035626586070195255533471762418931484557668593297377621622895004594639545014806320201459294378492928897321968368664270782728311288046176638219971502967105985569352034668241343487542371673021072897726288969006528664855227498980320840847044670918246951310344094700329118560694486832452138275003740538638858000410149410411431371247012284055525322382021907382315603845104959440545094728470614712540554561170212381311501524642729414907738786961534775353687365823307504863389622260245061535760548064616197735994766994136057381043011814365006076978309076227178079898698816521048725879524160379415466374383943513428088224843928051870705012237024162682866061809949076680283337978304422794532021007092393159764907838637140945464907106268716927337861607406657676622063879572827584395477132743481963073452324287753126431449908352214120572408300770307769908684459637864132060183109846047730688401863515197108798227828561585061797880245607867583012540657081776204667454351067312401378362370182192933785048103873427001061616144415602289087787898315376936461193177610799062312794646343805048458775236850112893974459153956962766263760289110217877142903760373678729389565833223799218444051865691182749420345198066894174970826867001646524369236246283291633781859521937508129574638004127345683750872080226572406047590352113960876645026349983260833453930718703398841099019945217161374565254261901275741405121131249872987372719098272511709234084793802824198519756368089537022312127422722755556253359737249924775722293974040836561764985999328529368844753435871066976123685585691025935932145847290068683539288415121459423457474376186296281459588529276161665811088680803348590179476885127899456327925290894967735967291460888047 137251045708994642200281408195646350467946341137083481283352352984582803642459618295771396144778550979314373157484041259796634029344241692292143727712839511584777921173787221112736030303761442678109578287622657755499211913573057943067767143773698841782071822550635940785196218613082036292962504708954604633449065654195341472344323115702234728983372581049500411425000084445667093339561498794495447106292000431286416873578464242244107223840633615629734746409989384361520660464022066159539084095257423590355959607599385347142931270882866629642462020633968713676148008622970136356829669939324190870559396065756399761070141936668109129233157644251723915593072079468752225020393599730950948949140580748913786594782300511751480501887402007785627190230941698263508862206414167407768282405145875440287608492930171300224997022100822662694095915886721804245400996176525142298515980749146838200977814587957102311000150389977700950177654321227294055587265025248200958649670739491071546195809821882036918988376984876213658490133663061559501397254362713886774673189000795502884430555557700620256213982531392554544633304668924992313178965899358187293132178642704165705263359134020111240807892897677133263703371440268564940406330249884077845447845771898299878121874416143175025895968692428431386981095242789265805233529148981650593411785875804047397781325303230747810863959772720149714114073488389459875871204671031718616271979483177269437816368864922851918821318768895092946881556528358367651608637853863834326247021336197900998511635974596061325874579725196139791572662786299991076295613251180224927485199832495962631421877818366709502871855659758083398517251322227665518091713077273840406428389235154293392020172155545809971186764058089855866413579148120125139357270354182038851388207896117146549198988692241527855495539050168034849988746130244741502670929647874620603158448711692913030326986481547589614709097448218015289078311478232180974089598538498703882460876955569956227611502570639472988068378319169029831071344215751163348157389950092716246035658088817328146858009448913625068330607959125051217135431771309532861757699888954794267092266408252851377933976287654994779410500446423712330819716777485702701182564988337564606709291636835889601993582229458216157747986351271823924117182523081255792672805899469037823773488094066127318545226123998456103984452243769458044703842074547440844307480467882951651805526703233072641117591707836451 222076856948618740477821768025628674020296345077096759717877651521735104489050103288157362981986304451309309170709571848329007557129704284222441648714054938022428152872267595879993917538939409820751428028045854468253968731871355801292834758639156551878352422718527383759493738253503509467583935810412310350201346599922249060193627835070055172058254625999215845793526606265588972365906934094523594070507978094858478021864991297753643978724172886927772302706014237162528785255708333843313968434377570956151048077700349292884901015250233366624337369849864106138712805289593551634808583443951980457426541936595073099574370114282558302320226028228109984510058032939980696908425037922657604951983899695841701469350076816397764377693437634371697385486475170025927793690971836001065660026768770444882248037944977620426456316479315591591417884255386075028129307464571318936735952252113944186547166622625343654487692761650722023075380610196300584252120252747181279490517784161989793147120165976737248106937679363046110628408666802098140255254772863297186104560247807786939955877939722527638529586376497513985178399397395607025719520460528399674443680167346895120171097920981646016161580263500440768566761062528810001942090797948694043183840538892435935502917427957540031972947001504658565060993941605786853959408673142030008878160259747560825869550147158799681568972009744312396980135298338536556154542649336141410804000490269662597581276703559992864286225875163809874219418135765025328230701733436661910642498468941382961585088298883814452306029633548353912145071087070298846204297710818089059545382942342010362110279681881906611670083488319668460315131567835533101104253734355616611095843586221605793398534525728002904971812161963282867475195292535727428445058252497415787849401073727945611511783338585332903954314287018147743963205284201704268934689936984838480301352472066591759716552314771388833153149313909198038498656676299075149060425405500350406830113201853247861393362092576981117643016323296375514822216295977735754204980302206677122680684438800588980311940167617023909429627904342212591700686033210808603162821020204667254464985506525363087168061081457818977930256814513249353131844200208458257435924725587489382431585610876726163758568228786745526592739787142890900240868108772281728604951746759106507312776509187586742002700500184752385444040773045619710514930755350789434486957353010851108133451994128040377084883168724498 359327902657613382678103176221275024488242686214180241001230004506317908131509721583928759126764855430623682328193613108125641586473945976514585376426894449607206074046054816992729947842700852498861006315668512223753180645444413744360601902412855393660424245269163324544689956866585545760546440519366914983650412254117590532537950950772289901041627207048716257218526690711256065705468432889019041176799978526144894895443455539997751202564806502557507049116003621524049445719730400002853052529634994546507007685299734640027832286133099996266799390483832819814860813912563687991638253383276171327985938002351472860644512050950667431553383672479833900103130112408732921928818637653608553901124480444755488064132377328149244879580839642157324575717416868289436655897386003408833942431914645885169856530875148920651453338580138254285513800142107879273530303641096461235251933001260782387524981210582445965487843151628422973253034931423594639839385277995382238140188523653061339342929987858774167095314664239259769118542329863657641652509135577183960777749248603289824386433497423147894743568907890068529811704066320599338898486359886586967575858810051060825434457055001757256969473161177574032270132502797374942348421047832771888631686310790735813624791844100715057868915693933089952042089184395052659192937822123680602289946135551608223650875450389547492432931782464462111094208786727996432025747320367860027075979973446932035397645568482844783107544644058902821100974664123392979839339587300496236889519805139283960096724273479875778180609358744493703717733873370289922499910961998313987030582774837972993532157500248616114541939148077751858832382890063198619195966811629457017524232821375899185418706681273812876158576220053138733888774440655852567802328606679454639237608969845092160710772030826860759449853337186182593951951414446445771605619584859459083459801183759504790043538796318978447862246762127213327576968154531256123150023943999054289290990157423204089004864663216454105711394642465405345893560511728899102362370252299393368716342527617917127169949616530648977760235863467263808836117804520341464920520909159461521557251914778214465102037369112813757340757260936961683951560977694160958618489713925053989140877247712615765752150458244961684340726138414714824358050631853537521277757646228144331086264603253714060547926624183208489428493016815077755218772829898230278794437820893802759938978697361113018202474876560949 581404759606232123155924944246903698508539031291277000719107656028053012620559824872086122108751159881932991498903184956454649143603650260737027025140949387629634226918322412872723865381640262319612434343714366692007149377315769545653436661052011945538776667987690708304183695120089055228130376329779225333851758854039839592731578785842345073099881833047932103012053296976845038071375366983542635247307956621003372917308446837751395181288979389485279351822017858686578230975438733846167020964012565502658055763000083932912733301383333362891136760333696925953573619202157239626446836827228151785412479938946545960218882165233225733873609700707943884613188145348713618837243675576266158853108380140597189533482454144547009257274277276529021961203892038315364449588357839409899602458683416330052104568820126541077909655059453845876931684397493954301659611105667780171987885253374726574072147833207789619975535913279144996328415541619895224091505530742563517630706307815051132490050153835511415202252343602305879746950996665755781907763908440481146882309496411076764342311437145675533273155284387582514990103463716206364618006820414986642019538977397955945605554975983403273131053424678014800836893565326184944290511845781465931815526849683171749127709272058255089841862695437748517103083126000839513152346495265710611168106395299169049520425597548347174001903792208774508074344085066532988180289969704001437879980463716594632978922272042837647393770519222712695320392799888418308070041320737158147532018274080666921681812572363690230486638992292847615862804960440588768704208672816403046575965717179983355642437182130522726212022636397420319147514457898731720300220545985073628620076407597504978817241207001815781130388382016421601363969733191579996247386859176870427087010043573037772222555369412193663404167624204330337915156698648150040540309521844297563761153655826096549760091111090367281015396076036411366075624830830331272210449349499404696121103359276451950398226755793435223354410965761780860715776807706634856567350554506070491397026966418506107481889784147672887189863767809476400536803837731150068083341929364128776022237421303577552270098450570632735271014075450211037083405177902619216054414439512543371572462858589341929510718687031707210933465925557605724598918740625819249882709392987250838399041112441300802550627124367960874872533789860697465733703585249019713281395173904653868072430691489153395287358045285447 940732662263845505834028120468178722996781717505457241720337660534370920752069546456014881235516015312556673827096798064580290730077596237251612401567843837236840300964377229865453813224341114818473440659382878915760330022760183290014038563464867339199200913256854032848873651986674600988676816849146140317502171108157430125269529736614634974141509040096648360230579987688101103776843799872561676424107935147148267812751902377749146383853785892042786400938021480210627676695169133849020073493647560049165063448299818572940565587516433359157936150817529745768434433114720927618085090210504323113398417941298018820863394216183893165426993373187777784716318257757446540766062313229874712754232860585352677597614831472696254136855116918686346536921308906604801105485743842818733544890598062215221961099695275461729362993639592100162445484539601833575189914746764241407239818254635508961597129043790235585463379064907567969581450473043489863930890808737945755770894831468112471832980141694285582297567007841565648865493326529413423560273044017665107660058745014366588728744934568823428016724192277651044801807530036805703516493180301573609595397787449016771040012030985160530100526585855588833107026068123559886638932893614237820447213160473907562752501116158970147710778389370838469145172310395892172345284317389391213458052530850777273171301047937894666434835574673236619168552871794529420206037290071861464955960437163526668376567840525682430501315163281615516421367464011811287909380908037654384421538079219950881778536845843566008667248351037341319580538833810878691204119634814717033606548492017956349174594682379138840753961784475172177979897347961930339496187357614530646144309228973404164235947888275628657288964602069560335252744173847432564049715465856325066324619013418129932933327400239054422854020961390512931867108113094595812145929106703756647220954839585601339803629907409345728877642838163624693652592985361587395360473293498458985412093516699656039403091419009889329065805608227186206609337319435533958929720806805463860113369494036423234651839400678321864950099631276740209372921642251491533003862838523590297579489336081792017372135819683446492611771336387172721034966155596780174672904153437597360713340106301957695262869145276668895274192063972320548956969372479356771160467039215395169485305715695014863098553748551169364301026806675775220952476415147249992075832994798456628011409388850266413489832921846396 1522137421870077628989953064715082421505320748796734242439445316562423933372629371328101003344267175194489665325999983021034939873681246497988639426708793224866474527882699642738177678605981377138085875003097245607767479400075952835667475224516879284737977581244544741153057347106763656216807193178925365651353929962197269718001108522456980047241390873144580463242633284664946141848219166856104311671415891768151640730060349215500541565142765281528065752760039338897205907670607867695187094457660125551823119211299902505853298888899766722049072911151226671722008052316878167244531927037732474898810897880244564781082276381417118899300603073895721669329506403106160159603305988806140871607341240725949867131097285617243263394129394195215368498125200944920165555074101682228633147349281478545274065668515402002807272648699045946039377168937095787876849525852432021579227703508010235535669276876998025205438914978186712965909866014663385088022396339480509273401601139283163604323030295529796997499819351443871528612444323195169205468036952458146254542368241425443353071056371714498961289879476665233559791910993753012068134500000716560251614936764846972716645567006968563803231580010533603633943919633449744830929444739395703752262740010157079311880210388217225237552641084808586986248255436396731685497630812655101824626158926149946322691726645486241840436739366882011127242896956861062408386327259775862902835940900880121301355490112568520077895085682504328211741760263900229595979422228774812531953556353300617803460349418207256239153887343330188935443343794251467459908328307631120080182514209197939704817031864509661566965984420872592497127411805860662059796407903599604274764385636570909143053189095277444438419352984085981936616713907039012560297102325033195493411629056991167705155882769651248086258188585594843269782264811742745852686238628548054210982108495411697889563721018499713009893038914200036059728217816191918667570922642997863681533196875976107989801318174803324552420216573988967067325114127142168815497071361311534351510396460454929342133729184825994752139963399086216609909725479982641601087204767887719073601726757385369569642234270254079227882785411837383758118371333499399390727318592950140732285802964891299624773587832308376106207657989529926273555888113105176021043176432202646007884346828136315665649180872919130239173560596536472686686180000396269705357228168703110496083840080339419808777190967131843 2462870084133923134823981185183261144502102466302191484159782977096794854124698917784115884579783190507046339153096781085615230603758842735240251828276637062103314828847076872603631491830322491956559315662480124523527809422836136125681513787981746623937178494501398774001930999093438257205484010028071505968856101070354699843270638259071615021382899913241228823473213272353047245625062966728665988095523826915299908542812251593249687948996551173570852153698060819107833584365777001544207167951307685600988182659599721078793864476416200081207009061968756417490442485431599094862617017248236798012209315821542583601945670597601012064727596447083499454045824660863606700369368302036015584361574101311302544728712117089939517530984511113901715035046509851524966660559845525047366692239879540760496026768210677464536635642338638046201822653476697621452039440599196262986467521762645744497266405920788260790902294043094280935491316487706874951953287148218455029172495970751276076156010437224082579797386359285437177477937649724582629028309996475811362202426986439809941799801306283322389306603668942884604593718523789817771650993181018133861210334552295989487685579037953724333332106596389192467050945701573304717568377633009941572709953170630986874632711504376195385263419474179425455393427746792623857842915130044493038084211457000723595863027693424136506871574941555247746411449828655591828592364549847724367791901338043647969732057953094202508396400845785943728163127727912040883888803136812466916375094432520568685238886264050822247821135694367530255023882628062346151112447942445837113789062701215896053991626546888800407719946205347764675107309153822592399292595261214134920908694865544313307289136983553073095708317586155542271869458080886445124346817790889520559736248070409297638089210169890302509112209546985356201649372924837341664832167735251810858203063334997299229367350925909058738770681752363660753380810801553506062931395936496322666945290392675764029204409593813213881486022182216153273934451446577702774426792168116998211623765954491352576785568585504316617090063030362956819282647122234133134091067606411309371181216093467161587014370089937525720494556748224556479153337489096179565400222746387738092999143071193257320036456977585045001481850053502246822512857485584532792203643471418041177369652543831330528747734621470299603474587403212247907638656415543519697433061163501567124095249469189686222267023888978239 3985007506004000763813934249898343566007423215098925726599228293659218787497328289112216887924050365701536004479096764106650170477440089233228891254985430286969789356729776515341809170436303869094645190665577370131295288822912088961348989012498625908675156075745943515154988346200201913422291203206996871620210031032551969561271746781528595068624290786385809286715846557017993387473282133584770299766939718683451549272872600808750229514139316455098917906458100158005039492036384869239394262408967811152811301870899623584647163365315966803256081973119983089212450537748477262107148944285969272911020213701787148383027946979018130964028199520979221123375331063969766859972674290842156455968915342037252411859809402707182780925113905309117083533171710796445132215633947207275999839589161019305770092436726079467343908291037683992241199822413793409328888966451628284565695225270655980032935682797786285996341209021280993901401182502370260039975683487698964302574097110034439680479040732753879577297205710729308706090381972919751834496346948933957616744795227865253294870857677997821350596483145608118164385629517542829839785493181734694112825271317142962204331146044922288136563686606922796100994865335023049548497822372405645324972693180788066186512921892593420622816060558988012441641683183189355543340545942699594862710370383150669918554754338910378347308314308437258873654346785516654236978691809623587270627842238923769271087548065662722586291486528290271939904887991812270479868225365587279448328650785821186488699235682258078486975023037697719190467226422313813611020776250076957193971576910413835758808658411398461974685930626220357172234720959683254459089003164813739195673080502115222450342326078830517534127670570241524208486171987925457684643920115922716053147877127400465343245092939541550595370398132580199471431637736580087517518406363799865069185171830408997118931071944408771748663720666563696813109028617745424730502318579494186348478487268651872019005727768616538433906238756205120341259565573719871589923863529428532563134162414946281918919297770330311369230026429449173429192372602216774735178272374299028444782942850852531156656604360191604948377342160061940237271708822595578956127541339337878825284946036084556944810044809893421107689508043032173096068745598689708813246819903620687185253999371967646194396915494389429842648147999748720594324836415939789402790289332204677620179089549529106031044214856110082 6447877590137923898637915435081604710509525681401117210759011270756013641622027206896332772503833556208582343632193545192265401081198931968469143083262067349073104185576853387945440662266626361051204506328057494654823098245748225087030502800480372532612334570247342289156919345293640170627775213235068377589066132102906669404542385040600210090007190699627038110189059829371040633098345100313436287862463545598751457815684852401999917463135867628669770060156160977112873076402161870783601430360275496753799484530499344663441027841732166884463091035088739506702893023180076356969765961534206070923229529523329731984973617576619143028755795968062720577421155724833373560342042592878172040330489443348554956588521519797122298456098416423018798568218220647970098876193792732323366531829040560066266119204936756931880543933376322038443022475890491030780928407050824547552162747033301724530202088718574546787243503064375274836892498990077134991928970635917419331746593080785715756635051169977962157094592070014745883568319622644334463524656945409768978947222214305063236670658984281143739903086814551002768979348041332647611436486362752827974035605869438951692016725082876012469895793203311988568045811036596354266066200005415586897682646351419053061145633396969616008079480033167437897035110929981979401183461072744087900794581840151393514417782032334514854179889249992506620065796614172246065571056359471311638419743576967417240819606018756925094687887374076215668068015719724311363757028502399746364703745218341755173938121946308900734796158732065249445491109050376159762133224192522794307760639611629731812800284958287262382405876831568121847342030113505846858381598426027874116581775367659535757631463062383590629835988156397066480355630068811902808990737906812236612884125197809762981334303109431853104482607679565555673081010661417429182350574099051675927388235165406296348298422870317830487434402418927357566489839419298930793433714515990509015423777661327636048210137362429752315392260938421273615194017020297574364350655697545530774757928369437634495704866355834627986320089459812130248475019724450907869269339980710337815964158944319692743670974450129130668871898908286496716425046311691758521527764085725616918284089107277814264846501787478466109171358096534419918581603084274241605450463375038728362623651915798976723144650115859729446122735402960968501963492831483309100223350495706244744274339018718792253311238745088321 10432885096141924662451849684979948276516948896500042937358239564415232429119355496008549660427883921910118348111290309298915571558639021201698034338247497636042893542306629903287249832702930230145849696993634864786118387068660314048379491812978998441287490645993285804311907691493842084050066416442065249209276163135458638965814131822128805158631481486012847396904906386389034020571627233898206587629403264282203007088557453210750146977275184083768687966614261135117912568438546740022995692769243307906610786401398968248088191207048133687719173008208722595915343560928553619076914905820175343834249743225116880368001564555637273992783995489041941700796486788803140420314716883720328496299404785385807368448330922504305079381212321732135882101389931444415231091827739939599366371418201579372036211641662836399224452224414006030684222298304284440109817373502452832117857972303957704563137771516360832783584712085656268738293681492447395031904654123616383634320690190820155437114091902731841734391797780744054589658701595564086298021003894343726595692017442170316531541516662278965090499569960159120933364977558875477451221979544487522086860877186581913896347871127798300606459479810234784669040676371619403814564022377821232222655339532207119247658555289563036630895540592155450338676794113171334944524007015443682763504952223302063432972536371244893201488203558429765493720143399688900302549748169094898909047585815891186511907154084419647680979373902366487607972903711536581843625253867987025813032396004162941662637357628566979221771181769762968635958335472689973373154000442599751501732216522043567571608943369685724357091807457788479019576751073189101317470601590841613312254855869774758207973789141214108163963658726638590688841802056737360493634658022734952666032002325210228324579396048973403699853005812145755144512648397997516699868980462851540996573406995815293467229494814726602236098123085491054379598868037044355523936033095484695363902264929979508067215865131046290749298499694626393956453582594017445954274519226974063337892090784383916414624164126164939355550115889261303677667392326667682604447612355009366260747101795172223900327578810320735617249241068348436953696755134287337477655305425063495743569035143362371209656546597371887216860866139566593014650348682963950418697283278659415547877651287766622917541565610249159288770883402709689096288329247423098503013639827910922364453428568247898284355453601198403 16880762686279848561089765120061552987026474577901160148117250835171246070741382702904882432931717478118700691743483854491180972639837953170167177421509564985115997727883483291232690494969556591197054203321692359440941485314408539135409994613459370973899825216240628093468827036787482254677841629677133626798342295238365308370356516862729015248638672185639885507093966215760074653669972334211642875491866809880954464904242305612750064440411051712438458026770422112230785644840708610806597123129518804660410270931898312911529219048780300572182264043297462102618236584108629976046680867354381414757479272748446612352975182132256417021539791457104662278217642513636513980656759476598500536629894228734362325036852442301427377837310738155154680669608152092385329968021532671922732903247242139438302330846599593331104996157790328069127244774194775470890745780553277379670020719337259429093339860234935379570828215150031543575186180482524530023833624759533802966067283271605871193749143072709803891486389850758800473227021218208420761545660839753495574639239656475379768212175646560108830402656774710123702344325600208125062658465907240350060896483056020865588364596210674313076355273013546773237086487408215758080630222383236819120337985883626172308804188686532652638975020625322888235711905043153314345707468088187770664299534063453456947390318403579408055668092808422272113785940013861146368120804528566210547467329392858603752726760103176572775667261276442703276040919431260893207382282370386772177736141222504696836575479574875879956567340501828218081449444523066133135287224635122545809492856133673299384409228327972986739497684289356600866918781186694948175852200016869487428836631237434293965605252203597698793799646883035657169197432125549263302625395929547189278916127523019991305913699158405256804335613491711310817593659059414945882219554561903216923961642161221589815527917685044432723532525504418411946088707456343286317369747611475204379326042591307144115426002493476043064690760633047667571647599614315020318625174924519594112650019153821550910329030481999567341870205349073433926142412051118590473716952335719704076711260739491916643998553260449866286121139976634933670121801445979095999183069510789112661853124250640185474503048384850353326032224236101012933231951767238192024147746653698143910501303203565599640686215726108888734893618805670657598251822078906407603236990323617167108727767586966690537666692346286724 27313647782421773223541614805041501263543423474401203085475490399586478499860738198913432093359601400028819039854774163790096544198476974371865211759757062621158891270190113194519940327672486821342903900315327224227059872383068853183789486426438369415187315862233913897780734728281324338727908046119198876007618458373823947336170648684857820407270153671652732903998872602149108674241599568109849463121270074163157471992799758823500211417686235796207145993384683247348698213279255350829592815898762112567021057333297281159617410255828434259901437051506184698533580145037183595123595773174556758591729015973563492720976746687893691014323786946146603979014129302439654400971476360318829032929299014120169693485183364805732457218523059887290562770998083536800561059849272611522099274665443718810338542488262429730329448382204334099811467072499059911000563154055730211787878691641217133656477631751296212354412927235687812313479861974971925055738278883150186600387973462426026630863234975441645625878187631502855062885722813772507059566664734097222170331257098645696299753692308839073920902226734869244635709303159083602513880445451727872147757360242602779484712467338472613682814752823781557906127163779835161895194244761058051342993325415833291556462743976095689269870561217478338574388699156324649290231475103631453427804486286755520380362854774824301257156296366852037607506083413550046670670552697661109456514915208749790264633914187596220456646635178809190884013823142797475051007536238373797990768537226667638499212837203442859178338522271591186717407779995756106508441225077722297311225072655716866956018171697658711096589491747145079886495532259884049493322801607711100741091487107209052173579041344811806957763305609674247858039234182286623796260053952282141944948129848230219630493095207378660504188619303857065962106307457412462582088535024754757920535049157036883282757412499771034959630648589909466325687575493387641841305780706959899743228307521286652182641867624522333813989260327674061528101182208332466272899694151493657450542109938205467324953194608164506697420321238334737603809804377786273078164564690729070337458362534664140544326132070770601903370381044983370623818556580266433476838374935852608405422159394002556684159594982222240542893090375667605947882300450202142442845029932357559458378954491332222558227781336358048023664502208380346694540151326329506106250630151528089473181196155214588822022145947485127 44194410468701621784631379925103054250569898052302363233592741234757724570602120901818314526291318878147519731598258018281277516838314927542032389181266627606274888998073596485752630822642043412539958103637019583668001357697477392319199481039897740389087141078474541991249561765068806593405749675796332502805960753612189255706527165547586835655908825857292618411092838817909183327911571902321492338613136884044111936897042064436250275858097287508645604020155105359579483858119963961636189939028280917227431328265195594071146629304608734832083701094803646801151816729145813571170276640528938173349208288722010105073951928820150108035863578403251266257231771816076168381628235836917329569559193242854532018522035807107159835055833798042445243440606235629185891027870805283444832177912685858248640873334862023061434444539994662168938711846693835381891308934609007591457899410978476562749817491986231591925241142385719355888666042457496455079571903642683989566455256734031897824612378048151449517364577482261655536112744031980927821112325573850717744970496755121076067965867955399182751304883509579368338053628759291727576538911358968222208653843298623645073077063549146926759170025837328331143213651188050919975824467144294870463331311299459463865266932662628341908845581842801226810100604199477963635938943191819224092104020350208977327753173178403709312824389175274309721292023427411193038791357226227320003982244601608394017360674290772793232313896455251894160054742574058368258389818608760570168504678449172335335788316778318739134905862773419404798857224518822239643728449712844843120717928789390166340427400025631697836087176036501680753414313446578997669175001624580588169928118344643346139184293548409505751562952492709905027236666307835887098885449881829331223864257371250210936406794365783917308524232795568376779699966516827408464308089586657974844496691318258473098285330184815467683163174094327878271776282949730928158675528318435104122554350112593796298067870117998376878680020960721729099748781822647486591524869076013251563192129092027018235282225090164074039290526587408171529952216428904863551881517026448774414169623274156057188324685331220468189491521021618304293940358026245529476021444446641721067275283644642742158662643367072593868925314611768618881114252217440334466992776586055703368880257694897822198913997062466936758558121014051004292791973405235913709487620475145256581908963742181279359688838293771851 71508058251123395008172994730144555514113321526703566319068231634344203070462859100731746619650920278176338771453032182071374061036791901913897600941023690227433780268263709680272571150314530233882862003952346807895061230080546245502988967466336109804274456940708455889030296493350130932133657721915531378813579211986013203042697814232444656063178979528945351315091711420058292002153171470431341801734406958207269408889841823259750487275783523304852750013539788606928182071399219312465782754927043029794452385598492875230764039560437169091985138146309831499685396874182997166293872413703494931940937304695573597794928675508043799050187365349397870236245901118515822782599712197236158602488492256974701712007219171912892292274356857929735806211604319165986452087720077894966931452578129577058979415823124452791763892922198996268750178919192895292891872088664737803245778102619693696406295123737527804279654069621407168202145904432468380135310182525834176166843230196457924455475613023593095143242765113764510598998466845753434880678990307947939915301753853766772367719560264238256672207110244448612973762931918375330090419356810696094356411203541226424557789530887619540441984778661109889049340814967886081871018711905352921806324636715292755421729676638724031178716143060279565384489303355802612926170418295450677519908506636964497708116027953228010569980685542126347328798106840961239709461909923888429460497159810358184281994588478369013688960531634061085044068565716855843309397354847134368159273215675839973835001153981761598313244385045010591516265004514578346152169674790567140431943001445107033296445571723290408932676667783646760639909845706463047162497803232291688911019605451852398312763334893221312709326258102384152885275900490122510895145503834111473168812387219480430566899889573162577812712852099425442741806273974239871046396624611412732765031740475295356381042742684586502642793822684237344597463858443118569999981309025395003865782657633880448480709737742520710692669281288395790627849964030979952864424563227506909013734239030232485560235419698328580736710847825742909133762020806691136630046081717177844751627985808820197732650817401991070092861902066601674917758914606511962952859819382494329472697443038645298842822238349294834411818404987436224828996552667642476909837806518413262827259212186230044757141778398824984782222623222431350987332124731565419815738250626673346055090159897395868181710984241256978 115702468719825016792804374655247609764683219579005929552660972869101927641064980002550061145942239156323858503051290200352651577875106829455929990122290317833708669266337306166025201972956573646422820107589366391563062587778023637822188448506233850193361598019182997880279858258418937525539407397711863881619539965598202458749224979780031491719087805386237969726184550237967475330064743372752834140347543842251381345786883887696000763133880810813498354033694893966507665929519183274101972693955323947021883713863688469301910668865045903924068839241113478300837213603328810737464149054232433105290145593417583702868880604328193907086050943752649136493477672934591991164227948034153488172047685499829233730529254979020052127330190655972181049652210554795172343115590883178411763630490815435307620289157986475853198337462193658437688890765886730674783181023273745394703677513598170259156112615723759396204895212007126524090811946889964835214882086168518165733298486930489822280087991071744544660607342596026166135111210877734362701791315881798657660272250608887848435685428219637439423511993754027981311816560677667057666958268169664316565065046839850069630866594436766467201154804498438220192554466155937001846843179049647792269655948014752219286996609301352373087561724903080792194589907555280576562109361487269901612012526987173475035869201131631719882805074717400657050090130268372432748253267150115749464479404411966578299355262769141806921274428089312979204123308290914211567787173455894938327777894125012309170789470760080337448150247818429996315122229033400585795898124503411983552660930234497199636872971748922106768763843820148441393324159153042044831672804856872277080947723796495744451947628441630818460889210595094057912512566797958397994030953715940804392676644590730641503306683938946495121237084894993819521506240491067279510704714198070707609528431793553829479328072869401970325956996778565222869240141392849498158656837343830107988337007746474244778777607860519087571349302249117519727598745853627439455949432303520160576926368122259503795517644788492654776001374413151080663714237235596000181927598743626619165797609082976254920975502733211538282353423088219979211699272632757492428881263829136050539972726683288041001484881716367428280743719599204843710110804885082811376830583104468966196139469881127866956055775461291921540780744236482355280124098136801333525225871101818602636999123639577147541399822535028829 187210526970948411800977369385392165278796541105709495871729204503446130711527839103281807765593159434500197274504322382424025638911898731369827591063314008061142449534601015846297773123271103880305682111541713199458123817858569883325177415972569959997636054959891453769310154751769068457673065119627395260433119177584215661791922794012476147782266784915183321041276261658025767332217914843184175942081950800458650754676725710955751250409664334118351104047234682573435848000918402586567755448882366976816336099462181344532674708425483073016053977387423309800522610477511807903758021467935928037231082898113157300663809279836237706136238309102047006729723574053107813946827660231389646774536177756803935442536474150932944419604547513901916855863814873961158795203310961073378695083068945012366599704981110928644962230384392654706439069685079625967675053111938483197949455616217863955562407739461287200484549281628533692292957851322433215350192268694352341900141717126947746735563604095337639803850107709790676734109677723487797582470306189746597575574004462654620803404988483875696095719103998476594285579492596042387757377624980360410921476250381076494188656125324386007643139583159548109241895281123823083717861890955000714075980584730044974708726285940076404266277867963360357579079210911083189488279779782720579131921033624137972743985229084859730452785760259527004378888237109333672457715177074004178924976564222324762581349851247510820610234959723374064248191874007770054877184528303029306487051109800852283005790624741841935761394632863440587831387233547978931948067799293979123984603931679604232933318543472212515701440511603795202033234004859505091994170608089163965991967329248348142764710963334852131170215468697478210797788467288080908889176457550052277561489031810211072070206573512109072933949936994419262263312514465307150557101338809483440374560172268849185860370815553988472968750819462802567466703999835968068158638146369225111854119665380354693259487345603039798264018583537513310355448709884607392320373995531027069590660607152491989355753064486821235512712222238893989797476258042287136811973680460804463917425594891796452653626320135202608375215325154821654129458187239269455381741083211630380012670169721933339844307120065662262692562124586641068539107357552725288286668389622882229023398682067357911713197553860116906323003367458913706267456222868366753340964121728491948692089283536973015723110806776285807 302912995690773428593781744040639775043479760684715425424390177372548058352592819105831868911535398590824055777555612582776677216787005560825757581185604325894851118800938322012322975096227677526728502219131079591021186405636593521147365864478803810190997652979074451649590013010188005983212472517339259142052659143182418120541147773792507639501354590301421290767460811895993242662282658215937010082429494642710032100463609598651752013543545144931849458080929576539943513930437585860669728142837690923838219813325869813834585377290528976940122816628536788101359824080840618641222170522168361142521228491530741003532689884164431613222289252854696143223201246987699805111055608265543134946583863256633169173065729129952996546934738169874097905516025428756331138318901844251790458713559760447674219994139097404498160567846586313144127960450966356642458234135212228592653133129816034214718520355185046596689444493635660216383769798212398050565074354862870507633440204057437569015651595167082184464457450305816842869220888601222160284261622071545255235846255071542469239090416703513135519231097752504575597396053273709445424335893150024727486541297220926563819522719761152474844294387657986329434449747279760085564705070004648506345636532744797193995722895241428777353839592866441149773669118466363766050389141269990480743933560611311447779854430216491450335590834976927661428978367377706105205968444224119928389455968634291340880705114016652627531509387812687043452315182298684266444971701758924244814829003925864592176580095501922273209544880681870584146509462581379517743965923797391107537264861914101432570191515221134622470204355423943643426558164012547136825843412946036243072915053044843887216658591776482949631104679292572268710301034086039306883207411265993081954165676400941713573513257451055568055187021889413081784818754956374430067806053007554147984088604062403015339698888423390443294707816241367790335944141228817566317294983713055219842456673126828938038264953463558885835367885786630830083047455738234831776323427834547230167586975274751493151270709275313890288713596652045070461190495277883136993901279204431083083223203974772707574601822868414146657568748243041633341157459872026947810622347040766430552642896405221380845792001782029690973305844185845912249218162437808099663498972727351195219538151948485778669253329321408827863784111695396061547580321005168086866189992830310551329088407176550163264510629311314636 490123522661721840394759113426031940322276301790424921296119381875994189064120658209113676677128558025324253052059934965200702855698904292195585172248918333955993568335539337858620748219498781407034184330672792790479310223495163404472543280451373770188633707938965905418900167761957074440885537636966654402485778320766633782333070567804983787283621375216604611808737073554019009994500573059121186024511445443168682855140335309607503263953209479050200562128164259113379361931355988447237483591720057900654555912788051158367260085716012049956176794015960097901882434558352426544980191990104289179752311389643898304196499164000669319358527561956743149952924821040807619057883268496932781721120041013437104615602203280885940966539285683776014761379840302717489933522212805325169153796628705460040819699120208333143122798230978967850567030136045982610133287247150711790602588746033898170280928094646333797173993775264193908676727649534831265915266623557222849533581921184385315751215199262419824268307558015607519603330566324709957866731928261291852811420259534197090042495405187388831614950201750981169882975545869751833181713518130385138408017547602003058008178845085538482487433970817534438676345028403583169282566960959649220421617117474842168704449181181505181620117460829801507352748329377446955538668921052711059875854594235449420523839659301351180788376595236454665807866604487039777663683621298124107314432532856616103462054965264163448141744347536061107700507056306454321322156230061953551301880113726716875182370720243764208970939513545311171977896696129358449692033723091370231521868793593705665503510058693347138171644867027738845459792168872052228820014021035200209064882382293192029981369555111335080801320147990050479508089501374120215772383868816045359515654708211152785643719830963164640989136958883832344048131269421681580624907391817037588358648776331252201200069703977378916263458635704170357802648141064785634475933130082280331696576338507183631297752299066598684099386469324144140438496165622842224096697423365574299758247582427243482507023773762135125801425818890939060258666753320170273805874959665235547000648798866569160228228143003616755032784073397863287470615647111296403192363430252396810565313066127154720690099121847691953665867968772486980788325519990533387950167362350233424242936834015843690382450883181525734186787479154309767815036543873534840207154114558802500021177690713523178987621436087600443 793036518352495268988540857466671715365756062475140346720509559248542247416713477314945545588663956616148308829615547547977380072485909853021342753434522659850844687136477659870943723315726458933762686549803872381500496629131756925619909144930177580379631360918040357068490180772145080424098010154305913544538437463949051902874218341597491426784975965518025902576197885450012252656783231275058196106940940085878714955603944908259255277496754623982050020209093835653322875861793574307907211734557748824492775726113920972201845463006541026896299610644496886003242258639193045186202362512272650322273539881174639307729189048165100932580816814811439293176126068028507424168938876762475916667703904270070273788667932410838937513474023853650112666895865731473821071841114649576959612510188465907715039693259305737641283366077565280994694990587012339252591521382362940383255721875849932384999448449831380393863438268899854125060497447747229316480340978420093357167022125241822884766866794429502008732765008321424362472551454925932118150993550332837108047266514605739559281585821890901967134181299503485745480371599143461278606049411280409865894558844822929621827701564846690957331728358475520768110794775683343254847272030964297726767253650219639362700172076422933958973957053696242657126417447843810721589058062322701540619788154846760868303694089517842631123967430213382327236844971864745882869652065522244035703888501490907444342760079280816075673253735348748151152822238605138587767127931820877796116709117652581467358950815745686482180484394227181756124406158710737967435999646888761339059133655507807098073701573914481760641849222451682488886350332884599365645857433981236452137797435338035917198028146887818030432424827282622748218390535460159522655591280082038441469820384612094499217233088414220209044323980773245425832950024378056010692713444824591736342737380393655216539768592400769359558166451945538148138592282293603200793228113795335551539033011634012569336017252530157569934754355110774970521543621361077055873020851200121529925834557701994975658294483037449016090139415542984130719857248598053410799776238869666630083872002841341867802829965872030901690352821640904920811773106983323351002985777293163241117955962532376101535891123629721644639173812958332893037543682428341487613666335077584619462474985964329469051704212502934562050571590849705829362616864878702927073344107389113051350266097890073342252132065398915079 1283160041014217109383299970892703655688032364265565268016628941124536436480834135524059222265792514641472561881675482513178082928184814145216927925683440993806838255472016997729564471535225240340796870880476665171979806852626920330092452425381551350568265068857006262487390348534102154864983547791272567947024215784715685685207288909402475214068597340734630514384934959004031262651283804334179382131452385529047397810744280217866758541449964103032250582337258094766702237793149562755144695326277806725147331638901972130569105548722553076852476404660456983905124693197545471731182554502376939502025851270818537611925688212165770251939344376768182443129050889069315043226822145259408698388823945283507378404270135691724878480013309537426127428275706034191311005363327454902128766306817171367755859392379514070784406164308544248845262020723058321862724808629513652173858310621883830555280376544477714191037432044164048033737225097282060582395607601977316206700604046426208200518081993691921833001072566337031882075882021250642076017725478594128960858686774139936649324081227078290798749131501254466915363347145013213111787762929410795004302576392424932679835880409932229439819162329293055206787139804086926424129838991923946947188870767694481531404621257604439140594074514526044164479165777221257677127726983375412600495642749082210288827533748819193811912344025449836993044711576351785660533335686820368143018321034347523547804815044544979523814998082884809258853329294911592909089284161882831347418589231379298342541321535989450691151423907772492928102302854840096417128033369980131570581002449101512763577211632607828898813494089479421334346142501756651594465871455016436661202679817631227947179397701999153111233744975272673227726480036834279738427975148898083800985475092823247284860952919377384850033460939657077769881081293799737591317620836641629324701386156724907417739838296378148275821625087649708505941240423358388835269161243877615883235609350141196200633769551596756254034140824434919110960039786983919279969718274565695829684082140129238458165318256799584141891565234433923190978524001918223684605651198534902177084520801707911028031058108875647656723136895038768208282388754094619754195349207545560051683269028659530822225990245477413598305041781730819873825869202418874875563833697427818043705411819980173159434155095684460296237359070004015597177653408752237767280498221947915551371443788603596521239753501486515522 2076196559366712378371840828359375371053788426740705614737138500373078683897547612839004767854456471257620870711291030061155463000670723998238270679117963653657682942608494657600508194850951699274559557430280537553480303481758677255712361570311728930947896429775046619555880529306247235289081557945578481491562653248664737588081507250999966640853573306252656416961132844454043515308067035609237578238393325614926112766348225126126013818946718727014300602546351930420025113654943137063051907060835555549640107365015893102770951011729094103748776015304953869908366951836738516917384917014649589824299391151993176919654877260330871184520161191579621736305176957097822467395761022021884615056527849553577652192938068102563815993487333391076240095171571765665132077204442104479088378817005637275470899085638819808425689530386109529839957011310070661115316330011876592557114032497733762940279824994309094584900870313063902158797722545029289898875948580397409563867626171668031085284948788121423841733837574658456244548433476176574194168719028926966068905953288745676208605667048969192765883312800757952660843718744156674390393812340691204870197135237247862301663581974778920397150890687768575974897934579770269678977111022888244673956124417914120894104793334027373099568031568222286821605583225065068398716785045698114141115430903928971157131227838337036443036311455663219320281556548216531543402987752342612178722209535838430992147575123825795599488251818233557410006151533516731496856412093703709143535298349031879809900272351735137173331908301999674684226709013550834384564033016868892909640136104609319861650913206522310659455343311931103823232492834641250960111728888997673113340477252969263864377425848886971141666169802555295975944870572294439261083566428980122242455295477435341784078186007791605059077784920430323195714031318177793602010334281466221061044123537118562634279606888778917635379791539595246654079832705651992036062389357672951434774642361775208769969786804126913823968895179545694081481583408344996335842739125765817359609916697831233433823612739837033157981704649976907321698381250516277095405427437404568807168392804549252895833888074747678558413489716679673129094161861077943105198334984838723292801224991191906923761881369107135242944215594689152766863412884847216363177500032505402663167886805944502628485859308187394858287930660853721426540270273630940694353842329337028602721709886493669863491885566885430601 3359356600380929487755140799252079026741820791006270882753767441497615120378381748363063990120248985899093432592966512574333545928855538143455198604801404647464521198080511655330072666386176939615356428310757202725460110334385597585804813995693280281516161498632052882043270877840349390154065105736851049438586869033380423273288796160402441854922170646987286931346067803458074777959350839943416960369845711143973510577092505343992772360396682830046551184883610025186727351448092699818196602387113362274787439003917865233340056560451647180601252419965410853813491645034283988648567471517026529326325242422811714531580565472496641436459505568347804179434227846167137510622583167281293313445351794837085030597208203794288694473500642928502367523447277799856443082567769559381217145123822808643226758478018333879210095694694653778685219032033128982978041138641390244730972343119617593495560201538786808775938302357227950192534947642311350481271556182374725770568230218094239285803030781813345674734910140995488126624315497427216270186444507521095029764640062885612857929748276047483564632444302012419576207065889169887502181575270101999874499711629672794981499462384711149836970053017061631181685074383857196103106950014812191621144995185608602425509414591631812240162106082748330986084749002286326075844512029073526741611073653011181445958761587156230254948655481113056313326268124568317203936323439162980321740530570185954539952390168370775123303249901118366668859480828428324405945696255586540490953887580411178152441593887724587864483332209772167612329011868390930801692066386849024480221138553710832625228124839130139558268837401410525157578635336397902554577600344014109774543157070600491811556823550886124252899914777827969203671350609128718999511541577878206043440770570258589068939138927168989909111245860087400965595112611977531193327955118107850385745509693843470052019445185157065911201416627244955160021073129010380871331550601550567318010251711916404970603556355723670078003036003980613192441623195328915615812457400331513189293998837960471891988930996636617299873269884410830512676905252434500780011078635939470984252913606257163923864946183623326215136626611718441337376550615172562859393684192384283344484494019851437745987871614584548841249257376419972640689282087266091238741333729933220706873298625924675787920014403871855154525289730857737023717923682383178461634340551284944154093153675097266384731639068371946123 5435553159747641866126981627611454397795609217746976497490905941870693804275929361202068757974705457156714303304257542635489008929526262141693469283919368301122204140689006312930580861237128638889915985741037740278940413816144274841517175566005009212464057928407099501599151407146596625443146663682429530930149522282045160861370303411402408495775743953239943348307200647912118293267417875552654538608239036758899623343440730470118786179343401557060851787429961955606752465103035836881248509447948917824427546368933758336111007572180741284350028435270364723721858596871022505565952388531676119150624633574804891451235442732827512620979666759927425915739404803264959978018344189303177928501879644390662682790146271896852510466987976319578607618618849565521575159772211663860305523940828445918697657563657153687635785225080763308525176043343199644093357468653266837288086375617351356435840026533095903360839172670291852351332670187340640380147504762772135334435856389762270371087979569934769516468747715653944371172748973603790464355163536448061098670593351631289066535415325016676330515757102770372237050784633326561892575387610793204744696846866920657283163044359490070234120943704830207156583008963627465782084061037700436295101119603522723319614207925659185339730137650970617807690332227351394474561297074771640882726504556940152603089989425493266697984966936776275633607824672784848747339311191505592500462740106024385532099965292196570722791501719351924078865632361945055902802108349290249634489185929443057962341866239459725037815240511771842296555720881941765186256099403717917389861274658320152486879038045652450217724180713341628980811128171039153514689329233011782887883634323569755675934249399773095394566084580383265179616221181423158260595108006858328285896066047693930853017324934960594968189030780517724161309143930155324795338289399574071446789633230962032686299052073935983546581208166840201814100905834662372907393939959223518752784894073691613740573343159850583901971931183526307273923206603673911951655196526097330548903915535791705325812543736473650457854974534387737834375286502950777875416506073344039791421306410806416819698834258371004773550116328398114466470712476250505964592019177223006637285719011043344669749752983691684084193472971109125407552694972113307601918833762438623370041185431869178416405873712059250012813220391711458450258193956014119155988182880621972756814863561590936248223524635257376724 8794909760128571353882122426863533424537430008753247380244673383368308924654311109565132748094954443055807735897224055209822554858381800285148667888720772948586725338769517968260653527623305578505272414051794943004400524150529872427321989561698289493980219427039152383642422284986946015597211769419280580368736391315425584134659099571804850350697914600227230279653268451370193071226768715496071498978084747902873133920533235814111558539740084387107402972313571980793479816551128536699445111835062280099214985372851623569451064132632388464951280855235775577535350241905306494214519860048702648476949875997616605982816008205324154057439172328275230095173632649432097488640927356584471241947231439227747713387354475691141204940488619248080975142066127365378018242339981223241522669064651254561924416041675487566845880919775417087210395075376328627071398607294657082019058718736968949931400228071882712136777475027519802543867617829651990861419060945146861105004086607856509656891010351748115191203657856649432497797064471031006734541608043969156128435233414516901924465163601064159895148201404782791813257850522496449394756962880895204619196558496593452264662506744201220071090996721891838338268083347484661885191011052512627916246114789131325745123622517290997579892243733718948793775081229637720550405809103845167624337578209951334049048751012649496952933622417889331946934092797353165951275634630668572822203270676210340072052355460567345846094751620470290747725113190373380308747804604876790125443073509854236114783460127184312902298572721544009908884732750332695987948165790566941870082413212030985112107162884782589775993018114752154138389763507437056069266929577025892662426791394170247487491072950659219647465999358211234383287571790551877260106649584736534329336836617952519921956463862129584877300276640605125126904256542132855988666244517681921832535142924805502738318497259093049457782624794085156974121978963672753778725490560774086070795145785608018711176899515574253979974967187506920466364829799002827567467653926428843738197914373752177217801474733110267757728244418798568347052191755385278655427584709283510775674220017063580743563780441994330988686742940116555803847263091423068823985703369607289981770213030894782415737624598276232925442730347529098048241977059379398840660167492371844076914484057793854204325888115931105167338510122569195473976117638397297617622523431906916910908017236688202632955163703629322847 14230462919876213220009104054474987822333039226500223877735579325239002728930240470767201506069659900212522039201481597845311563787908062426842137172640141249708929479458524281191234388860434217395188399792832683283340937966674147268839165127703298706444277355446251885241573692133542641040358433101710111298885913597470744996029402983207258846473658553467173627960469099282311364494186591048726037586323784661772757263973966284230344719083485944168254759743533936400232281654164373580693621283011197923642531741785381905562071704813129749301309290506140301257208838776328999780472248580378767627574509572421497434051450938151666678418839088202656010913037452697057466659271545887649170449111083618410396177500747587993715407476595567659582760684976930899593402112192887101828193005479700480622073605332641254481666144856180395735571118719528271164756075947923919307145094354320306367240254604978615497616647697811654895200288016992631241566565707918996439439942997618780027978989921682884707672405572303376868969813444634797198896771580417217227105826766148190991000578926080836225663958507553164050308635155823011287332350491688409363893405363514109547825551103691290305211940426722045494851092311112127667275072090213064211347234392654049064737830442950182919622381384689566601465413456989115024967106178616808507064082766891486652138740438142763650918589354665607580541917470138014698614945822174165322666010782234725604152320752763916568886253339822214826590745552318436211549912954167039759932259439297294077125326366644037940113813233315852205440453632274461174204265194284859259943687870351137598986200930435039993717198828093783119200891678476209583956258810037675550310425717740003163425322350432315042032083938594499562903792971975035520701757591594862615232902665646450774973788797090179845489307421122849288213400472288180784004533917255993279324776155767535424617549333029033004363832960925358788222884798335126686119430519997604823580039859299632451750242675424837881946898371033227740288036402676739519122850452526174287101829909543882543614018469583918215583218953186306181427478258336056530844090782627550567095526427869997563262614700365335762236859268514670270317975567673574788577722546830296619055932041938127085487377581967917009636203318638223455794672031492706442579001254810467446955669489663032620731761827990355180151730514280653924234311594411416773610706312528889667722880798279138881178688338886699571 23025372680004784573891226481338521246870469235253471257980252708607311653584551580332334254164614343268329775098705653055134118646289862711990805061360914198295654818228042249451887916483739795900460813844627626287741462117204019696161154689401588200424496782485404268883995977120488656637570202520990691667622304912896329130688502555012109197171573153694403907613737550652504435720955306544797536564408532564645891184507202098341903258823570331275657732057105917193712098205292910280138733118073478022857517114637005475013135837445518214252590145741915878792559080681635493994992108629081416104524385570038103416867459143475820735858011416477886106086670102129154955300198902472120412396342522846158109564855223279134920347965214815740557902751104296277611644452174110343350862070130955042546489647008128821327547064631597482945966194095856898236154683242581001326203813091289256298640482676861327634394122725331457439067905846644622102985626653065857544444029605475289684870000273430999898876063428952809366766877915665803933438379624386373355541060180665092915465742527144996120812159912335955863566485678319460682089313372583613983089963860107561812488057847892510376302937148613883833119175658596789552466083142725692127593349181785374809861452960241180499514625118408515395240494686626835575372915282461976131401660976842820701187491450792260603852211772554939527476010267491180649890580452842738144869281458445065676204676213331262414981004960292505574315858742691816520297717559043829885375332949151530191908786493828350842412385954859862114325186382607157162152430984851801130026101082382122711093363815217629769710216942845937257590655185913265653223188387063568212737217111910250650916395301091534689498083296805733946191364762526912780808407176331396944569739283598970696930252659219764722789584061727974415117657014421036772670778434937915111859919080573038162936046592122082462146457755010515762344863762007880464844921080771690894375185644907651162927142190999091861921865558540148206652866201679567086590504378955018025299744283296059761415493202694185973311463371984874528479670013721335186271675491911061342769746444933578306826395142359666750923602208631226074165238659096643612563425916437586600826145072832909501225002180244149935078933666167321504036649090872105283239168747182311523870153547456886825057649943921460347490240636849849398210429232808714391233229744435806578630898034967341514133852042516022418 37255835599880997793900330535813509069203508461753695135715832033846314382514792051099535760234274243480851814300187250900445682434197925138832942234001055448004584297686566530643122305344174013295649213637460309571082400083878166965000319817104886906868774137931656154125569669254031297677928635622700802966508218510367074126717905538219368043645231707161577535574206649934815800215141897593523574150732317226418648448481168382572247977907056275443912491800639853593944379859457283860832354401084675946500048856422387380575207542258647963553899436248056180049767919457964493775464357209460183732098895142459600850918910081627487414276850504680542116999707554826212421959470448359769582845453606464568505742355970867128635755441810383400140663436081227177205046564366997445179055075610655523168563252340770075809213209487777878681537312815385169400910759190504920633348907445609562665880737281839943132010770423143112334268193863637253344552192360984853983883972603094069712848990195113884606548469001256186235736691360300601132335151204803590582646886946813283906466321453225832346476118419889119913875120834142471969421663864272023346983369223621671360313608951583800681514877575335929327970267969708917219741155232938756338940583574439423874599283403191363419137006503098081996705908143615950600340021461078784638465743743734307353326231888935024254770801127220547108017927737629195348505526275016903467535292240679791280356996966095178983867258300114720400906604295010252731847630513210869645307592388448824269034112860472388782526199188175714319765640014881618336356696179136660389969788952733260310079564745652669763427415770939720376791546864389475237179447197101243763047642829650253814341717651523849731530167235400233509095157734501948301510164767926259559802641949245421471904041456309944568278891482850823703331057486709217556675312352193908391184695236340573587553595925151115466510290715935874550567748560343007150964351600769295717955225504207283614677384866423929743868763929573375946940902604356306605713354831481192312401574192839942305029511672278104188894682325171180709907148272057391717115766274538611909865272872803575870089009842725002513160461477145896344483214226770218401141148463267883219882077114771036586712379762212066944715136984805544959831321122364811725818170001992778970825823037119919445789411771911815527641971151130503322444740827220131164843936056964696246353778833246480395312540381402721989 60281208279885782367791557017152030316073977697007166393696084742453626036099343631431870014398888586749181589398892903955579801080487787850823747295361969646300239115914608780095010221827913809196110027482087935858823862201082186661161474506506475107293270920417060423009565646374519954315498838143691494634130523423263403257406408093231477240816804860855981443187944200587320235936097204138321110715140849791064539632988370480914151236730626606719570223857745770787656478064750194140971087519158153969357565971059392855588343379704166177806489581989972058842327000139599987770456465838541599836623280712497704267786369225103308150134861921158428223086377656955367377259669350831889995241796129310726615307211194146263556103407025199140698566187185523454816691016541107788529917145741610565715052899348898897136760274119375361627503506911242067637065442433085921959552720536898818964521219958701270766404893148474569773336099710281875447537819014050711528328002208569359397718990468544884505424532430208995602503569275966405065773530829189963938187947127478376821932063980370828467288278332225075777441606512461932651510977236855637330073333083729233172801666799476311057817814723949813161089443628305706772207238375664448466533932756224798684460736363432543918651631621506597391946402830242786175712936743540760769867404720577128054513723339727284858623012899775486635493938005120375998396106727859641612404573699124856956561673179426441398848263260407225975222463037702069252145348072254699530682925337600354460942899354300739624938585143035576434090826397488775498509127163988461519995890035115383021172928560870299533137632713785657634382202050302740890402635584164811975784859941560504465258112952615384421028250532205967455286522497028861082318571944257656504372381232844392168834294115529709291068475544578798118448714501130254329346090787131823503044614316913611750489642517273197928656748470946390312912612322350887615809272681540986612330411149114934777604527057423021605790629488113524153593768806035873692303859210436210337701318476136002066445004874972290162206145697156055238386818285778726903387441766449673252635019317737154176915404985084669264084063685777122418648452885866862013704574379705469820708222187603946087937381942456216879794070650972866463867970213236917009057338749175090494695976584576806270847061715833275875132211787980352720655170060028845556077165801400502824984676868213821909446392423918744407 97537043879766780161691887552965539385277486158760861529411916776299940418614135682531405774633162830230033403699080154856025483514685712989656689529363025094304823413601175310738132527172087822491759241119548245429906262284960353626161794323611362014162045058348716577135135315628551251993427473766392297600638741933630477384124313631450845284462036568017558978762150850522136036151239101731844684865873167017483188081469538863486399214637682882163482715658385624381600857924207478001803441920242829915857614827481780236163550921962814141360389018238028238892094919597564481545920823048001783568722175854957305118705279306730795564411712425838970340086085211781579799219139799191659578087249735775295121049567165013392191858848835582540839229623266750632021737580908105233708972221352266088883616151689668972945973483607153240309040819726627237037976201623590842592901627982508381630401957240541213898415663571617682107604293573919128792090011375035565512211974811663429110567980663658769111973001431465181838240260636267006198108682033993554520834834074291660728398385433596660813764396752114195691316727346604404620932641101127660677056702307350904533115275751060111739332692299285742489059711598014623991948393608603204805474516330664222559060019766623907337788638124604679388652310973858736776052958204619545408333148464311435407839955228662309113393814026996033743511865742749571346901633002876545079939865939804648236918670145521620382715521560521946376129067332712321983992978585465569175990517726049178729977012214773128407464784331211290753856466412370393834865823343125121909965678987848643331252493306522969296565048484725378011173748914692216127582082781266055738832502771210758279599830604139234152558417767606200964381680231530809383828736712183916064175023182089813640738335571839653859347367027429621821779771987839471886021403139325731894229309553254185338043238442424313395167039186882264863480360882693894766773624282310282330285636653322218392281911923846951349659393417686900100534671410392180298017214041917402650102892668975944371474516547250394351100828022327235948293966557836118620503208040988285162500292190540730047004414827809671777244525162923018763131667112637080414845722842973353040590299302374982674649761704668283824509207635778411423699291335601728734875508751167869465521799621696725716636473487745091402774182939110856043099910887248976720921101858365199071338455701460302304758932805321466396 157818252159652562529483444570117569701351463855768027923108001518753566454713479313963275789032051416979214993097973058811605284595173500840480436824724994740605062529515784090833142749000001631687869268601636181288730124486042540287323268830117837121455315978765777000144700962003071206308926311910083792234769265356893880641530721724682322525278841428873540421950095051109456272087336305870165795581014016808547727714457909344400550451368309488883052939516131395169257335988957672142774529439400983885215180798541173091751894301666980319166878600228000297734421919737164469316377288886543383405345456567455009386491648531834103714546574346997398563172462868736947176478809150023549573329045865086021736356778359159655747962255860781681537795810452274086838428597449213022238889367093876654598669051038567870082733757726528601936544326637869304675041644056676764552454348519407200594923177199242484664820556720092251880940393284201004239627830389086277040539977020232788508286971132203653617397533861674177440743829912233411263882212863183518459022781201770037550330449413967489281052675084339271468758333859066337272443618337983298007130035391080137705916942550536422797150507023235555650149155226320330764155631984267653272008449086889021243520756130056451256440269746111276780598713804101522951765894948160306178200553184888563462353678568389593972016826926771520379005803747869947345297739730736186692344439638929505193480343324948061781563784820929172351351530370414391236138326657720268706673443063649533190919911569073868032403369474246867187947292809859169333374950507113583429961569022964026352425421867393268829702681198511035645555950964994957017984718365430867714617362712771262744857943556754618573586668299812168419668202728559670466147308656441572568547404414934205809572629687369363150415842572008419940228486488969726215367493926457555397273923870167797088532880959697511323823787657828655176392973205044782382582896963851268942616047802437153169886438981269972955450022905800424254128440216428053990321073252353612987804211145111946437919521422222684513306973719483291186680784843614845523890649807437958415135311508277884223919819812894341041328588848700141181780119998503942428550297222678822861298521489978928762587143647124500704303278286751277887567261548838645743932847500342959960217776206273531987483535203578367277906394727091208763755080947277822276998267659765701896323132569674124214205325229240210803 255355296039419342691175332123083109086628950014528889452519918295053506873327614996494681563665214247209248396797053213667630768109859213830137126354088019834909885943116959401571275276172089454179628509721184426718636386771002893913485063153729199135617361037114493577279836277631622458302353785676476089835408007290524358025655035356133167809740877996891099400712245901631592308238575407602010480446887183826030915795927448207886949666005992371046535655174517019550858193913165150144577971359643813801072795626022953327915445223629794460527267618466028536626516839334728950862298111934545166974067632422412314505196927838564899278958286772836368903258548080518526975697948949215209151416295600861316857406345524173047939821104696364222377025433719024718860166178357318255947861588446142743482285202728236843028707241333681842245585146364496541713017845680267607145355976501915582225325134439783698563236220291709933988544686858120133031717841764121842552751951831896217618854951795862422729370535293139359278984090548500417461990894897177072979857615276061698278728834847564150094817071836453467160075061205670741893376259439110958684186737698431042239032218301596534536483199322521298139208866824334954756104025592870858077482965417553243802580775896680358594228907870715956169251024777960259727818853152779851586533701649199998870193633797051903085410640953767554122517669490619518692199372733612731772284305578734153430399013470469682164279306381451118727480597703126713220131305243185837882663960789698711920896923783846996439868153805458157941803759222229563168240773850238705339927248010812669683677915173916238126267729683236413656729699879687173145566801146696923453449865483982021024457774160893852726145086067418369384049882960090479849976045368625488632722427597024019450310965259209017009763209599438041762008258476809198101388897065783287291503233423421982426576119402121824718990826844710920039873334087738677149356521246161551272901684455759371562168350905116924305109416323487324354663111626820234288338287294271015637907103814087890809394037969473078864407801741810527134974751401450964144393857848426243577635603698818614270924234640704012818573114011623159944911787111141022843396020065652175901888820792353911437236905351792784528812485922529689311266552884440374478808356251510829425739575827970257704120008691323458680680577666202064806854991834526798997919369518130900967661588271134426518964258034561677199 413173548199071905220658776693200678787980413870296917375627919813807073328041094310457957352697265664188463389895026272479236052705032714670617563178813014575514948472632743492404418025172091085867497778322820608007366511257045434200808331983847036257072677015880270577424537239634693664611280097586559882070177272647418238667185757080815490335019719425764639822662340952741048580325911713472176276027901200634578643510385357552287500117374301859929588594690648414720115529902122822287352500799044797686287976424564126419667339525296774779694146218694028834360938759071893420178675400821088550379413088989867323891688576370399002993504861119833767466431010949255474152176758099238758724745341465947338593763123883332703687783360557145903914821244171298805698594775806531278186750955540019398080954253766804713111440999060210444182129473002365846388059489736944371697810325021322782820248311639026183228056777011802185869485080142321137271345672153208119593291928852129006127141922928066076346768069154813536719727920460733828725873107760360591438880396477831735829059284261531639375869746920792738628833395064737079165819877777094256691316773089511179944949160852132957333633706345756853789358022050655285520259657577138511349491414504442265046101532026736809850669177616827232949849738582061782679584748100940157764734254834088562332547312365441497057427467880539074501523473238489466037497112464348918464628745217663658623879356795417743945843091202380291078832128073541104456269631900906106589337403853348245111816835352920864472271523279705025129751052032088732501615724357352288769888817033776696036103337041309506955970410881747449302285650844682130163551519512127791168067228196753283769315717717648471299731754367230537803718085688650150316123354025067061201269832011958225259883594946578380160179052171446461702236744965778924316756390992240842688777157293589779515109000361819336042814614502539575216266307292783459531939418210012820215517732258196524732054789886386897260559439229287748608791551843248288278659360546624628625711314959199837247313559391695763377714775461293818321655536245065809668284507655864201992770915207096498494844054453598353859901702860323301126691907109644965271946317288330998763187342282332840199824048998917285233115764209280967198833814433279020222741203751853789385957352034243789691603543894901825958586972393293273570610072781804621274917637177896602863984720840808550733169583263801888002 668528844238491247911834108816283787874609363884825806828147838108860580201368709306952638916362479911397711786692079486146866820814891928500754689532901034410424834415749702893975693301344180540047126288044005034726002898028048328114293395137576235392690038052994764154704373517266316122913633883263035971905585279937942596692840792436948658144760597422655739223374586854372640888564487121074186756474788384460609559306312805760174449783380294230976124249865165434270973723815287972431930472158688611487360772050587079747582784748926569240221413837160057370987455598406622371040973512755633717353480721412279638396885504208963902272463147892670136369689559029774001127874707048453967876161637066808655451169469407505751627604465253510126291846677890323524558760954163849534134612543986162141563239456495041556140148240393892286427714619366862388101077335417211978843166301523238365045573446078809881791292997303512119858029767000441270303063513917329962146043880684025223745996874723928499076138604447952895998712011009234246187864002657537664418738011753893434107788119109095789470686818757246205788908456270407821059196137216205215375503510787942222183981379153729491870116905668278151928566888874990240276363683170009369426974379921995508848682307923417168444898085487543189119100763360022042407403601253720009351267956483288561202740946162493400142838108834306628624041142729108984729696485197961650236913050796397812054278370265887426110122397583831409806312725776667817676400937144091944472001364643046957032713759136767860912139677085163183071554811254318295669856498207590994109816065044589365719781252215225745082238140564983862959015350724369303309118320658824714621517093680735304793773491878542324025876840434648907187767968648740630166099399393692549833992259608982244710194560205787397169942261770884503464245003442588122418145288058024129980280390717011761941685119763941160761805441347250495256139641380522136681295939456174371488419416713955896294223140791503821565668855552775072963454663470068522566997647840895644263618418773287728056707597361168842242122577203104345456630287646516773812678365504290445570406518905915112765768289094302366678474816871946461071603694220785988115342337353983174665076163074686751637060954350710069761928250131810656510100367317719394701549560003364618811696927862214047395723552586225284639267550059495338377465064616331420272837006696027503831646309111942977252133841298363565201 1081702392437563153132492885509484466662589777755122724203775757922667653529409803617410596269059745575586175176587105758626102873519924643171372252711714048985939782888382446386380111326516271625914624066366825642733369409285093762315101727121423271649762715068875034732128910756901009787524913980849595853975762552585360835360026549517764148479780316848420379046036927807113689468890398834546363032502689585095188202816698163312461949900754596090905712844555813848991089253717410794719282972957733409173648748475151206167250124274223344019915560055854086205348394357478515791219648913576722267732893810402146962288574080579362905265968009012503903836120569979029475280051465147692726600906978532755994044932593290838455315387825810656030206667922061622330257355729970380812321363499526181539644193710261846269251589239454102730609844092369228234489136825154156350540976626544561147865821757717836065019349774315314305727514847142762407574409186070538081739335809536154229873138797651994575422906673602766432718439931469968074913737110417898255857618408231725169936847403370627428846556565678038944417741851335144900225016014993299472066820283877453402128930540005862449203750612014035005717924910925645525796623340747147880776465794426437773894783839950153978295567263104370422068950501942083825086988349354660167116002211317377123535288258527934897200265576714845703125564615967598450767193597662310568701541796014061470678157727061305170055965488786211700885144853850208922132670569044998051061338768496395202144530594489688725384411200364868208201305863286407028171472222564943282879704882078366061755884589256535252038208551446731312261301001569051433472669840170952505789584321877488588563089209596190795325608594801879444991486054337390780482222753418759611035262091620940469970078155152365777330121313942330965166481748408367046734901679050264972669057548010601541456794120125760496804620055849790070472405948673305596213235357666187191703937148972152421026277930677890718826228294782062821572246215313316810845657008387520272889329733732487565304021156752864605619837352664398163778285823891582583480962873160154647563177434113011611260612343547900720538376519732269762198295601330430953387288654642314173428263505357019591836885003349627354995044014341091623708934181750998414924290763755218408197654279896457837087327096481127110597854522452788611948075137398136041547754643873924106695631029952751527985303424562165453203 1750231236676054401044326994325768254537199141639948531031923596031528233730778512924363235185422225486983886963279185244772969694334816571672126942244615083396364617304132149280355804627860452165961750354410830677459372307313142090429395122258999507042452753121869798886833284274167325910438547864112631825881347832523303432052867341954712806624540914271076118269411514661486330357454885955620549788977477969555797762123010969072636399684134890321881837094420979283262062977532698767151213445116422020661009520525738285914832909023149913260136973893014143576335849955885138162260622426332355985086374531814426600685459584788326807538431156905174040205810129008803476407926172196146694477068615599564649496102062698344206942992291064166156498514599951945854816116684134230346455976043512343681207433166756887825391737479847995017037558711736090622590214160571368329384142928067799512911395203796645946810642771618826425585544614143203677877472699987868043885379690220179453619135672375923074499045278050719328717151942479202321101601113075435920276356419985618604044635522479723218317243384435285150206650307605552721284212152209504687442323794665395624312911919159591941073867517682313157646491799800635766072987023917157250203440174348433282743466147873571146740465348591913611188051265302105867494391950608380176467270167800665684738029204690428297343103685549152331749605758696707435496890082860272218938454846810459282732436097327192596166087886370043110691457579626876739809071506189089995533340133139442159177244353626456586296550877450031391272860674540725323841328720772534276989520947122955427475665841471760997120446692011715175220316352293420736781788160829777220411101415558223893356862701474733119351485435236528352179254022986131410648322152812452160869254351229922714680272715358153174500063575713215468630726751850955169153046967108289102649337938727613303398479239889701657566425497197040565728545590053827732894531297122361563192356565686108317320501071469394540391897150334837894535700878783385333412654656228415917152948152505775293360728754114033447861959929867502509234916111538099357293641238664445093133583953018926724026380632642203087216851336604216223269899295551216941502630991996297348093339668431706343473945957700337424756972264472902280219034549068717809625840323758583027009351207758671884483050649067352395237122072512283950325540202014467461820591650569951610527277339064694505237437265860529018404 2831933629113617554176819879835252721199788919395071255235699353954195887260188316541773831454481971062570062139866291003399072567854741214843499194956329132382304400192514595666735915954376723791876374420777656320192741716598235852744496849380422778692215468190744833618962195031068335697963461844962227679857110385108664267412893891472476955104321231119496497315448442468600019826345284790166912821480167554650985964939709132385098349584889486412787549938976793132253152231250109561870496418074155429834658269000889492082083033297373257280052533948868229781684244313363653953480271339909078252819268342216573562974033665367689712804399165917677944041930698987832951687977637343839421077975594132320643541034655989182662258380116874822186705182522013568185073472414104611158777339543038525220851626877018734094643326719302097747647402804105318857079350985725524679925119554612360660777216961514482011829992545934140731313059461285966085451881886058406125624715499756333683492274470027917649921951951653485761435591873949170396015338223493334176133974828217343773981482925850350647163799950113324094624392158940697621509228167202804159509144078542849026441842459165454390277618129696348163364416710726281291869610364664305130979905968774871056638249987823725125036032611696284033257001767244189692581380299963040343583272379118042808273317463218363194543369262263998034875170374664305886264083680522582787639996642824520753410593824388497766222053375156254811576602433477085661941742075234088046594678901635837361321774948116145311680962077814899599474166537827132352012800943337477559869225829201321489231550430728296249158655243458446487481617353862472170254458001000729726200685737435712481919951911070923914677094030038407797170740077323522191130544906231211771904516442850863184650350870510518951830184889655546433797208500259322215887948646158554075318395486738214844855273360015462154371045553046830636200951538727133329107766654788548754896293714658260738346779002147285259218125445116900716107947094096702144258311664615936190042277886238262858664749910866898053481797282531900673013201935429681940774604111824599740696761387131938335286992976190103807755227856336485985468194896881647894889919646638611521521603173788725935310830961049964779752016278813993903927968730819716224550131087513801435207005487655129721570377745548479505834976594965072562273615339412603503368346294443875717222908369017446033222740690422694471607 4582164865789671955221146874161020975736988061035019786267622949985724120990966829466137066639904196549553949103145476248172042262189557786515626137200944215778669017496646744947091720582237175957838124775188486997652114023911377943173891971639422285734668221312614632505795479305235661608402009709074859505738458217631967699465761233427189761728862145390572615584859957130086350183800170745787462610457645524206783727062720101457734749269024376734669387033397772415515215208782808329021709863190577450495667789526627777996915942320523170540189507841882373358020094269248792115740893766241434237905642874031000163659493250156016520342830322822851984247740827996636428095903809539986115555044209731885293037136718687526869201372407938988343203697121965514039889589098238841505233315586550868902059060043775621920035064199150092764684961515841409479669565146296893009309262482680160173688612165311127958640635317552967156898604075429169763329354586046274169510095189976513137111410142403840724420997229704205090152743816428372717116939336568770096410331248202962378026118448330073865481043334548609244831042466546250342793440319412308846951467873208244650754754378325046331351485647378661321010908510526917057942597388581462381183346143123304339381716135697296271776497960288197644445053032546295560075772250571420520050542546918708493011346667908791491886472947813150366624776133361013321760973763382855006578451489634980036143029921715690362388141261526297922268060013103962401750813581423178042128019034775279520499019301742601897977512955264930990747027212367857675854129664110011836858746776324276916707216272200057246279101935470161662701933706155892907036246161830506946611787152993936375276814612545657034028579465274936149349994100309653601778867059043663932773770794080785899330623585868672126330248465368761902427935252110277385040995613266843177967733425465828148253752599905163811937471050243871201929497128780961062002297951910910318088650280344369055667280073616679799610022595451738610643647972880087477670966320844352107195226038744038152025478664980931501343757212399403182248118046967781298068245350489044833830345340150865059313373608832306894972079192940702208738094192432864836392550638634908869614942842220432278784776918750302204508988543286896184147003279888434034175971411272384462216356695413801606053428394615831901072098667477356512599155541427070965188937945013827327750185708082140538460177956283223490011 7414098494903289509397966753996273696936776980430091041503322303939920008251155146007910898094386167612124011243011767251571114830044299001359125332157273348160973417689161340613827636536613899749714499195966143317844855740509613795918388821019845064426883689503359466124757674336303997306365471554037087185595568602740631966878655124899666716833183376510069112900308399598686370010145455535954375431937813078857769692002429233842833098853913863147456936972374565547768367440032917890892206281264732880330326058527517270078998975617896427820242041790750603139704338582612446069221165106150512490724911216247573726633526915523706233147229488740529928289671526984469379783881446883825536633019803864205936578171374676709531459752524813810529908879643979082224963061512343452664010655129589394122910686920794356014678390918452190512332364319946728336748916132022417689234382037292520834465829126825609970470627863487107888211663536715135848781236472104680295134810689732846820603684612431758374342949181357690851588335690377543113132277560062104272544306076420306152007601374180424512644843284661933339455434625486947964302668486615113006460611951751093677196596837490500721629103777075009484375325221253198349812207753245767512163252111898175396019966123521021396812530571984481677702054799790485252657152550534460863633814926036751301284664131127154686429842210077148401499946508025319208025057443905437794218448132459500789553623746104188128610194636682552733844662446581048063692555656657266088722697936411116881820794249858747209658475033079830590221193750194990027866930607447489396727972605525598405938766702928353495437757178928608150183551060018365077290704162831236672812472890429648857196766523616580948705673495313343946520734177633175792909411965274875704678287236931649083980974456379191078160433355024308336225143752369599600928944259425397253286128912204042993109025959920625966308516603290701838130448667508094391110064606699459072984943995002629794014059075763965058828148040568639326751595066976789621929277985460288297237503924982301010690228575847829554825554494931303855261319982397463238842849462313644574527106727282803394600366585022410702727307049277188194206289089314512731282470285273520391136546016009158214095607879800266984261004822100890088074972010708150258726102498786185897423362183068931327623806140164311406907075262442429074872770880839674468557284239457703044973094077099586571682918646705917961618 11996263360692961464619113628157294672673765041465110827770945253925644129242121975474047964734290364161677960346157243499743157092233856787874751469358217563939642435185808085560919357118851075707552623971154630315496969764420991739092280792659267350161551910815974098630553153641539658914767481263111946691334026820372599666344416358326856478562045521900641728485168356728772720193945626281741838042395458603064553419065149335300567848122938239882126324005772337963283582648815726219913916144455310330825993848054145048075914917938419598360431549632632976497724432851861238184962058872391946728630554090278573890293020165679722753490059811563381912537412354981105807879785256423811652188064013596091229615308093364236400661124932752798873112576765944596264852650610582294169243970716140263024969746964569977934713455117602283277017325835788137816418481278319310698543644519972681008154441292136737929111263181040075045110267612144305612110591058150954464644905879709359957715094754835599098763946411061895941741079506805915830249216896630874368954637324623268530033719822510498378125886619210542584286477092033198307096108806027421853412079824959338327951351215815547052980589424453670805386233731780115407754805141827229893346598255021479735401682259218317668589028532272679322147107832336780812732924801105881383684357472955459794296010799035946178316315157890298768124722641386332529786031207288292800796899622094480825696653667819878490998335898208850656112722459685010465443369238080444130850716971186396402319813551601349107635987988344761580968220962562847703721060271557501233586719381849875322645982975128410741716859114398769812885484766174257984326950324661743619424260043423585232473581136162237982734252960588280095870728277942829394688279024318539637452058031012434983311598042247863204490681820393070238653079004479876985969939872692240431253862337669871141362778559825789778245987653534573040059945796289055453112362558610369391073594275346998849681339149380644858438170636020377937395243039856877099600244306304640404432729963726339162715707240828761056169311707330707037509438029365244536911094812802689408357452067433668453913740193854717597699386242217890402944383281747377567675020923908429260751488858229590492880384798550569188769993365387786272221975290596584292902073910058570359639718878482732933677234534780143307979173929919785587471926422266745433746222184471530372723279785181727110143096602989141451629 19410361855596250974017080382153568369610542021895201869274267557865564137493277121481958862828676531773801971589169010751314271922278155789233876801515490912100615852874969426174746993655464975457267123167120773633341825504930605535010669613679112414588435600319333564755310827977843656221132952817149033876929595423113231633223071483226523195395228898410710841385476756327459090204091081817696213474333271681922323111067578569143400946976852103029583260978146903511051950088848644110806122425720043211156319906581662318154913893556316026180673591423383579637428771434473684254183223978542459219355465306526147616926547081203428986637289300303911840827083881965575187663666703307637188821083817460297166193479468040945932120877457566609403021456409923678489815712122925746833254625845729657147880433885364333949391846036054473789349690155734866153167397410341728387778026557265201842620270418962347899581891044527182933321931148859441460891827530255634759779716569442206778318779367267357473106895592419586793329415197183458943381494456692978641498943401043574682041321196690922890770729903872475923741911717520146271398777292642534859872691776710432005147948053306047774609693201528680289761558953033313757567012895072997405509850366919655131421648382739339065401559104257160999849162632127266065390077351640342247318172398992211095580674930163100864746157367967447169624669149411651737811088651193730595015347754553981615250277413924066619608530534891403389957384906266058529135924894737710219573414907597513284140607801460096317294463021424592171189414712757837731587990879004990630314691987375473728584749678056764237154616293327377963069035826192623061617654487492980292236732933853234089670347659778818931439926455901624042391462455576005187597690989593415342130345267944084067292572498627054282651115175417378574878222756849476586898884132117637684539991249873914134471804519746415744554504256825274878190394463797149844222427165309828464058538270349628643695398225144609917266318676589017264146838106833666721529522291764928701670233888708640173405935816676590610994866202262010892770758011762707775753944275116333982884558794716471848514106778877128300426693291495078597150672371061890298957491209181949651888034874238748706975992678350836173030998187488676360296947301304734551628176408844756257063081061551664261301040674944454714886249192362214662344697303106419902303506423929233417696373862281313681826015249695059413247 31406625216289212438636194010310863042284307063360312697045212811791208266735399096956006827562966895935479931935326254251057429014512012577108628270873708476040258288060777511735666350774316051164819747138275403948838795269351597274102950406338379764749987511135307663385863981619383315135900434080260980568263622243485831299567487841553379673957274420311352569870645113056231810398036708099438051516728730284986876530132727904443968795099790342911709584983919241474335532737664370330720038570175353541982313754635807366230828811494735624541105141056016556135153204286334922439145282850934405947986019396804721507219567246883151740127349111867293753364496236946680995543451959731448841009147831056388395808787561405182332782002390319408276134033175868274754668362733508041002498596561869920172850180849934311884105301153656757066367015991523003969585878688661039086321671077237882850774711711099085828693154225567257978432198761003747073002418588406589224424622449151566736033874122102956571870842003481482735070494703989374773630711353323853010453580725666843212075041019201421268896616523083018508028388809553344578494886098669956713284771601669770333099299269121594827590282625982351095147792684813429165321818036900227298856448621941134866823330641957656733990587636529840321996270464464046878123002152746223631002529871947670889876685729199047043062472525857745937749391790797984267597119858482023395812247376648462440946931081743945110606866433100254046070107365951068994579294132818154350424131878783909686460421353061445424930451009769353752157635675320685435309051150562491863901411369225349051230732653185174978871475407726147775954520592366881045944604812154723911660992977276819322143928795941056914174179416489904138262190733518834582285970013911954979582403298956519050604170540874917487141796995810448813531301761329353572868824004809878115793853587543785275834583079572205522800491910359847918250340260086205297334789723920197855132132545696627493376737374525254775704489312609395201542081146690543821129766598069569106102963852434979336121643057505351667164177909592717930280196041127952312665039087919023391242010862150140302427846972731845898126079533712969000095055652809267866632512133090378912639523732468339199856377476901405361800991552876462632518922591901318844530250318903326616702799940034397194978275209724598022865423122282000249816623725373165336049728608400763790419653647463040791969111852684200864876 50816987071885463412653274392464431411894849085255514566319480369656772404228676218437965690391643427709281903524495265002371700936790168366342505072389199388140874140935746937910413344429781026622086870305396177582180620774282202809113620020017492179338423111454641228141174809597226971357033386897410014445193217666599062932790559324779902869352503318722063411256121869383690900602127789917134264991062001966909199641200306473587369742076642445941292845962066144985387482826513014441526160995895396753138633661217469684385742705051051650721778732479400135772581975720808606693328506829476865167341484703330869124146114328086580726764638412171205594191580118912256183207118663039086029830231648516685562002267029446128264902879847886017679155489585791953244484074856433787835753222407599577320730614735298645833497147189711230855716706147257870122753276099002767474099697634503084693394982130061433728275045270094440911754129909863188533894246118662223984204339018593773514352653489370314044977737595901069528399909901172833717012205810016831651952524126710417894116362215892344159667346426955494431770300527073490849893663391312491573157463378380202338247247322427642602199975827511031384909351637846742922888830931973224704366298988860789998244979024696995799392146740787001321845433096591312943513079504386565878320702270939881985457360659362147907808629893825193107374060940209636005408208509675753990827595131202444056197208495668011730215396967991657436027492272217127523715219027555864569997546786381422970601029154521541742224914031193945923347050388078523166897042029567482494216103356600822779815482331241939216026091701053525739023556418559504107562259299647704203897725911130053411814276455719875845614105872391528180653653189094839769883661003505370321712748566900603117896743039501971769792912171227827388409524518178830159767708136927515800333844837417699410306387599318621267354996167185122796440734723883355141557216889230026319190670816046256137072135599669864692970807989198412465688919253524210542659288889834497807773197741143619509527578874181942278159044111854728823050954052890660088418983363035357374126569656866612150941953751608974198552772825208047597245728023871158165590003342272328564527558606707087906832370155252241534831989740365138992815869893206053396158426727748082873765881001586061456279315884669052737751672314644214912161321028479585238353235032329997208116027509744354473795127102379260278123 82223612288174675851289468402775294454179156148615827263364693181447980670964075315393972517954610323644761835459821519253429129951302180943451133343262907864181132428996524449646079695204097077786906617443671581531019416043633800083216570426355871944088410622589948891527038791216610286492933820977670995013456839910084894232358047166333282543309777739033415981126766982439922711000164498016572316507790732251896076171333034378031338537176432788853002430945985386459723015564177384772246199566070750295120947415853277050616571516545787275262883873535416691907735180007143529132473789680411271115327504100135590631365681574969732466891987524038499347556076355858937178750570622770534870839379479573073957811054590851310597684882238205425955289522761660227999152437589941828838251818969469497493580795585232957717602448343367987922083722138780874092339154787663806560421368711740967544169693841160519556968199495661698890186328670866935606896664707068813208628961467745340250386527611473270616848579599382552263470404605162208490642917163340684662406104852377261106191403235093765428563962950038512939798689336626835428388549489982448286442234980049972671346546591549237429790258453493382480057144322660172088210648968873452003222747610801924865068309666654652533382734377316841643841703561055359821636081657132789509323232142887552875334046388561194950871102419682939045123452731007620273005328368157777386639842507850906497144139577411956840822263401091911482097599638168196518294513160374018920421678665165332657061450507582987167155365040963299675504686063399208602206093180129974358117514725826171831046214984427114194897567108779673514978077010926385153506864111802428115558718888406872733958205251660932759788285288881432318915843922613674352169631017417325301295151865857122168500913580376889256934709167038276201940826279508183732636532141737393916127698424961484686140970678890826790155488077544970714691074983969560438892006613150224174322803361742883630448872974195119468675297301807807667231000400214754363789055487904066913876161593578598845649221931687293945323222021447446753331150094018612401084022450954380765368580519016752453369800724340820096678852358921016597340783676680426032222515475362707477167082339175427106688747632153646896632981293241601625334792485107372240688677046651409490468680941620458651257591094393650760617095436926215161977944753852750574402963640730760998535681157207395265764238955063461142999 133040599360060139263942742795239725866074005233871341829684173551104753075192751533831938208346253751354043738984316784255800830888092349309793638415652107252322006569932271387556493039633878104408993487749067759113200036817916002892330190446373364123426833734044590119668213600813837257849967207875081009458650057576683957165148606491113185412662281057755479392382888851823613611602292287933706581498852734218805275812533340851618708279253075234794295276908051531445110498390690399213772360561966147048259581077070746735002314221596838925984662606014816827680317155727952135825802296509888136282668988803466459755511795903056313193656625936209704941747656474771193361957689285809620900669611128089759519813321620297438862587762086091443634445012347452181243636512446375616674005041377069074814311410320531603551099595533079218777800428286038744215092430886666574034521066346244052237564675971221953285243244765756139801940458580730124140790910825731037192833300486339113764739181100843584661826317195283621791870314506335042207655122973357516314358628979087679000307765450986109588231309376994007371568989863700326278282212881294939859599698358430175009593793913976880031990234281004413864966495960506915011099479900846676707589046599662714863313288691351648332774881118103842965687136657646672765149161161519355387643934413827434860791407047923342858679732313508132152497513671217256278413536877833531377467437639053350553341348073079968571037660369083568918125091910385324042009732187929883490419225451546755627662479662104528909380279072157245598851736451477731769103135209697456852333618082426994610861697315669053410923658809833199254001633429485889261069123411450132319456444799536926145772481707380808605402391161272960499569497111708514122053292020922695623007900432757725286397656619878861026727621338266103590350350797687013892404240278664909716461543262379184096447358278209448057510484244730093511131809707852915580449223502380250493513474177789139767521008573864984161646105291006220132919919653738964906448344377738564721649359334722218355176800805869236223482266133302175576382104146909272489503005813989738139495150175883364604311754475949794295231625184129064194586511700551584197812518817635036041694640945882515013521117787405888431464971033606740618150662378313425636847103774399492364234561943206520107536906979062703498368767751570430074139265782332335812756198673060758206651708666951749739559366057442721421122 215264211648234815115232211198015020320253161382487169093048866732552733746156826849225910726300864074998805574444138303509229960839394530253244771758915015116503138998928795837202572734837975182195900105192739340644219452861549802975546760872729236067515244356634539011195252392030447544342901028852752004472106897486768851397506653657446467955972058796788895373509655834263536322602456785950278898006643466470701351983866375229650046816429508023647297707854036917904833513954867783986018560128036897343380528492924023785618885738142626201247546479550233519588052335735095664958276086190299407397996492903602050386877477478026045660548613460248204289303732830630130540708259908580155771508990607662833477624376211148749460272644324296869589734535109112409242788950036317445512256860346538572307892205905764561268702043876447206699884150424819618307431585674330380594942435057985019781734369812382472842211444261417838692126787251597059747687575532799850401462261954084454015125708712316855278674896794666174055340719111497250698298040136698200976764733831464940106499168686079875016795272327032520311367679200327161706670762371277388146041933338480147680940340505526117461780492734497796345023640283167087099310128869720128710811794210464639728381598358006300866157615495420684609528840218702032586785242818652144896967166556714987736125453436484537809550834733191071197620966402224876551418865245991308764107280146904257050485487650491925411859923770175480400222691548553520560304245348303902410840904116712088284723930169687516076535644113120545274356422514876940371309228389827431210451132808253166441907912300096167605821225918612872768979710440412274414575987523252560435015163687943798879730686959041741365190676450154392818485341034322188474222923038340020924303052298614847454898570200255750283662330505304379792291177077195197625040772420402303632589241687340668782588328957100274847665972322275064225822884691822476019341230115530474667836277539532023397969881548060103630321402592814027800150920053953719270237399865642631635525520928300817200826022737556530168805488154749622329713254240927884890587028264944118904863730694900117057681555200290614391910477543050080791927295377232010230035034292997743518861723285057942120209865419559535328097952326848342243485454863420797877535780821050901854703242884826978758794498073456354258985863188496645236117210536185086387159162313791519205187389824159145005323605012506182564121 348304811008294954379174953993254746186327166616358510922733040283657486821349578383057848934647117826352849313428455087765030791727486879563038410174567122368825145568861067224759065774471853286604893592941807099757419489679465805867876951319102600190942078090679129130863465992844284802192868236727833013930756955063452808562655260148559653368634339854544374765892544686087149934204749073883985479505496200689506627796399716081268755095682583258441592984762088449349944012345558183199790920690003044391640109569994770520621199959739465127232209085565050347268369491463047800784078382700187543680665481707068510142389273381082358854205239396457909231051389305401323902665949194389776672178601735752592997437697831446188322860406410388313224179547456564590486425462482693062186261901723607647122203616226296164819801639409526425477684578710858362522524016560996954629463501404229072019299045783604426127454689027173978494067245832327183888478486358530887594295562440423567779864889813160439940501213989949795847211033617832292905953163110055717291123362810552619106806934137065984605026581704026527682936669064027487984952975252572328005641631696910322690534134419502997493770727015502210209990136243674002110409608770566805418400840810127354591694887049357949198932496613524527575215976876348705351934403980171500284611100970542422596916860484407880668230567046699203350118480073442132829832402123824840141574717785957607603826835723571893982897584139259049318347783458938844602313977536233785901260129568258843912386409831792044985915923185277790873208158966354672140412363599524888062784750890680161052769609615765221016744884728446072022981343869898163675645110934702692754471608487480725025503168666422549970593067611427353318054838146030702596276215059262716547310952731372572741296226820134611310389951843570483382641527874882211517445012699067213349050784949719852879035687235309722905176456567005157736954694399675391599790453617910725161349751717321163165490890121925087791967507883820247933070839707692684176685744243381196357174880263023035556002823543425766392287754288051797906095358387837157380090034078933857044358880870783481661993309676240408687142102727179144986513807077783594427847553110632779560556364230940457133730983206965423759562923360455082861636117241734223514382884595450394218937804828033498866331405052519057757354630940067075310256476318517422199915360986852277411839098491110894744882971069948903985243 563569022656529769494407165191269766506580327998845680015781907016210220567506405232283759660947981901351654887872593391274260752566881409816283181933482137485328284567789863061961638509309828468800793698134546440401638942541015608843423712191831836258457322447313668142058718384874732346535769265580585018402863852550221659960161913806006121324606398651333270139402200520350686256807205859834264377512139667160207979780266091310918801912112091282088890692616125367254777526300425967185809480818039941735020638062918794306240085697882091328479755565115283866856421827198143465742354468890486951078661974610670560529266750859108404514753852856706113520355122136031454443374209102969932443687592343415426475062074042594937783133050734685182813914082565676999729214412519010507698518762070146219430095822132060726088503683285973632177568729135677980829955602235327335224405936462214091801033415595986898969666133288591817186194033083924243636166061891330737995757824394508021794990598525477295219176110784615969902551752729329543604251203246753918267888096642017559213306102823145859621821854031059047994304348264354649691623737623849716151683565035390470371474474925029114955551219750000006555013776526841089209719737640286934129212635020591994320076485407364250065090112108945212184744817095050737938719646798823645181578267527257410333042313920892418477781401779890274547739446475667009381251267369816148905681997932861864654312323374063819394757507909434529718570475007492365162618222884537688312101033684970932197110340001479561062451567298398336147564581481231612511721591989352319273235883698933327494677521915861388622566110647058944791961054310310438090221098457955253189486772175424523905233855625464291335783744061581746136540179180352891070499138097602737471614005029987420196194797020390361594052282348874863174932704952077409142485785119469516981640026637060521661624016192409997752842428889280221962777579091497867619131683733441199829186029256853186563460771669985191422288910476634275733221759761646403446923144109023827992700401191323852756828846280982296561093242442801420235808612628765042270677062343877975949222611565683598719674864876531023079052580270229225778441102455015604657882587403630523079418087515998399253940848626524959087660875687303425105121572105155021391918665416501296073641047712860477625125903125975412016340494128563720546373686854702508587074523300643796617026488315270039750206576082455086549364 911873833664824723873582119184524512692907494615204190938514947299867707388855983615341608595595099727704504201301048479039291544294368289379321592108049259854153430136650930286720704283781681755405687291076353540159058432220481414711300663510934436449399400537992797272922184377719017148728637502308418032333620807613674468522817173954565774693240738505877644905294745206437836191011954933718249857017635867849714607576665807392187557007794674540530483677378213816604721538645984150385600401508042986126660747632913564826861285657621556455711964650680334214124791318661191266526432851590674494759327456317739070671656024240190763368959092253164022751406511441432778346040158297359709115866194079168019472499771874041126105993457145073496038093630022241590215639875001703569884780663793753866552299438358356890908305322695500057655253307846536343352479618796324289853869437866443163820332461379591325097120822315765795680261278916251427524644548249861625590053386834931589574855488338637735159677324774565765749762786347161836510204366356809635559011459452570178320113036960211844226848435735085575677241017328382137676576712876422044157325196732300793062008609344532112449321946765502216765003912770515091320129346410853739547613475830719348911771372456722199264022608722469739759960793971399443290654050778995145466189368497799832929959174405300299146011968826589477897857926549109142211083669493640989047256715718819472258139159097635713377655092048693579036918258466431209764932200420771474213361163253229776109496749833271606048367490483676127020772740447586284652133955588877207336020634589613488547447131531626609639310995375505016814942398180208601765866209392657945943958380662905248930737024291886841306376811673009099454595017326383593666775353156865454018924957761359992937491023840524972904442234192445346557574232826959620659930797818536730330690811586780374540659703427719720658018885456285379699732273491173259218922137351351924990535780974174349728951661791910279214256418360454523666292599469339087623608888352405024349875281454346888312831669824408062953380996730853218141903971016602199650767096422811832993581492436467080381668174552771431766194682997408370764954909532799199085730140514263302639974451746938856387671831833490382847223799047758507966757689346889244906301550011951690292578852540893976491457308178494469773695125068630795856630163173219930786989884287496074028865586806380934495089547152403990534607 1475442856321354493367989284375794279199487822614049870954296854316077927956362388847625368256543081629056159089173641870313552296861249699195604774041531397339481714704440793348682342793091510224206480989210899980560697374761497023554724375702766272707856722985306465414980902762593749495264406767889003050736484660163896128482979087760571896017847137157210915044696945726788522447819160793552514234529775535009922587356931898703106358919906765822619374369994339183859499064946410117571409882326082927861681385695832359133101371355503647784191720215795618080981213145859334732268787320481161445837989430928409631200922775099299167883712945109870136271761633577464232789414367400329641559553786422583445947561845916636063889126507879758678852007712587918589944854287520714077583299425863900085982395260490417616996809005981473689832822036982214324182435221031651625078275374328657255621365876975578224066786955604357612866455312000175671160810610141192363585811211229439611369846086864115030378853435559181735652314539076491380114455569603563553826899556094587737533419139783357703848670289766144623671545365592736787368200450500271760309008761767691263433483084269561227404873166515502223320017689297356180529849084051140673676826110851311343231847857864086449329112720831414951944705611066450181229373697577818790647767636025057243263001488326192717623793370606479752445597373024776151592334936863457137952938713651681336912451482471699532772412599958128108755488733473923574927550423305309162525462196938200708306607089834751167110819057782074463168337321928817897163855547578229526609256518288546816042124653447487998261877106022563961606903452490519039856087307850613199133445152838329772835970879917351132642160555734590845591135196506736484737274491254468191490538962791347413133685820860915334498494516541320209732506937779037029802416582938006247312330838223840896202283719620129718410861314345565601662509852582671126838053821084793124819721810231027536292412433461895470636545328837088799399514359230985491070532032461428852342575682645670741069660516105390359514474239173654638377712583645367241921444158766689808942804104002150679101343039429302454845247263267637596543396011987814803743612727917893825719392539262937255641612680460015341934884674735061933071879261452044266298220215428452986366219900253754454116583211304469881790035619197194516403003850027922439374064407588139870645892075121650974245296123234859077083971 2387316689986179217241571403560318791892395317229254061892811801615945635345218372462966976852138181356760663290474690349352843841155617988574926366149580657193635144841091723635403047076873191979612168280287253520719755806981978438266025039213700709157256123523299262687903087140312766643993044270197421083070105467777570597005796261715137670711087875663088559949991690933226358638831115727270764091547411402859637194933597706095293915927701440363149858047372553000464220603592394267957010283834125913988342133328745923959962657013125204239903684866475952295106004464520525998795220172071835940597316887246148701872578799339489931252672037363034159023168145018897011135454525697689350675419980501751465420061617790677189995119965024832174890101342610160180160494162522417647468080089657653952534694698848774507905114328676973747488075344828750667534914839827975914932144812195100419441698338355169549163907777920123408546716590916427098685455158391053989175864598064371200944701575202752765538530760333747501402077325423653216624659935960373189385911015547157915853532176743569548075518725501230199348786382921118925044777163376693804466333958499992056495491693614093339854195113281004440085021602067871271849978430461994413224439586682030692143619230320808648593135329553884691704666405037849624520027748356813936113957004522857076192960662731493016769805339433069230343455299573885293803418606357098127000195429370500809170590641569335246150067692006821687792406991940354784692482623726080636738823360191430484416103839668022773159186548265750590189110062376404181815989503167106733945277152878160304589571784979114607901188101398068978421845850670727641621953517243271145077403533501235021766707904209237973948537367407599945045730213833120078404049844411333645509463920552707406071176844701440307402936750733765556290081170605996650462347380756542977643021649810621270742943423047849439068880199801850981362242126073844386056975958436145049810257591205201886021364095253805749850801747197543323065806958700324578694140920813833876692450964100017629382492185929798422467855235904507856519616554661969441572211255189501641936385596438617759483011213982073886611441946265045967308350921520614002829342868432157128359366991009876112029284512293505724782108473782820441038636950798933511204521765440404676658798752794648430608040519482964351563730744265825312259634013201142370161054291875635944674757661928031908740385670387263067618578 3862759546307533710609560687936113071091883139843303932847108655932023563301580761310592345108681262985816822379648332219666396138016867687770531140191112054533116859545532516984085389869964702203818649269498153501280453181743475461820749414916466981865112846508605728102883989902906516139257451038086424133806590127941466725488775349475709566728935012820299474994688636660014881086650276520823278326077186937869559782290529604798400274847608206185769232417366892184323719668538804385528420166160208841850023519024578283093064028368628852024095405082271570376087217610379860731064007492552997386435306318174558333073501574438789099136384982472904295294929778596361243924868893098018992234973766924334911367623463707313253884246472904590853742109055198078770105348450043131725051379515521554038517089959339192124901923334658447437320897381810964991717350060859627540010420186523757675063064215330747773230694733524481021413171902916602769846265768532246352761675809293810812314547662066867795917384195892929237054391864500144596739115505563936743212810571641745653386951316526927251924189015267374823020331748513855712412977613876965564775342720267683319928974777883654567259068279796506663405039291365227452379827514513135086901265697533342035375467088184895097922248050385299643649372016104299805749401445934632726761724640547914319455962151057685734393598710039548982789052672598661445395753543220555264953134143022182146083042124041034778922480291964949796547895725414278359620033047031389799264285557129631192722710929502773940270005606047825053357447384305222078979845050745336260554533671166707120631696438426602606163065207420632940028749303161246681478040825093884344210848686339564794602678784126589106590697923142190790636865410339856563141324335665801837000002883344054819204862665562355641901431267275085766022588108385033680264763963694549224955352488034462166945227142667979157479741514147416583024751978656515512895029779520938174629979401436229422313776528715701220487347076034632122465321317931310069764672953275262729035026646745688370452152702035188781982329475078162494897329138307336683493655413956191450879189700440768438584354253411376341456689209532683563851746933508428806572955596350050954078759530272813367670897192753521066716993148517882374110516212250977777502741980868857663025018653048402884724623730787434233353766363463019828662637863229064809535118699463775815320649737049682882985681793622122144702549 6250076236293712927851132091496431862984278457072557994739920457547969198646799133773559321960819444342577485670123022569019239979172485676345457506340692711726752004386624240619488436946837894183430817549785407022000208988725453900086774454130167691022368970031904990790787077043219282783250495308283845216876695595719037322494571611190847237440022888483388034944680327593241239725481392248094042417624598340729196977224127310893694190775309646548919090464739445184787940272131198653485430449994334755838365652353324207053026685381754056263999089948747522671193222074900386729859227664624833327032623205420707034946080373778279030389057019835938454318097923615258255060323418795708342910393747426086376787685081497990443879366437929423028632210397808238950265842612565549372519459605179207991051784658187966632807037663335421184808972726639715659252264900687603454942564998718858094504762553685917322394602511444604429959888493833029868531720926923300341937540407358182013259249237269620561455914956226676738456469189923797813363775441524309932598721587188903569240483493270496799999707740768605022369118131434974637457754777253659369241676678767675376424466471497747907113263393077511103490060893433098724229805944975129500125705284215372727519086318505703746515383379939184335354038421142149430269429194291446662875681645070771395648922813789178751163404049472618213132507972172546739199172149577653391953329572392682955253632765610370025072547983971771484340302717354633144312515670757470436003108917321061677138814769170796713429192154313575643546557446681626260795834553912442994499810824044867425221268223405717214064253308818701918450595153831974323099994342337155489288252219840799816369386688335827080539235290549790735682595624172976641545374180077135482509466803896762225276039510263795949304368018008851322312669278991030330727111344451092202598374137845083437688170565715828596548621713949267564386994104730359898952005737957083224440236992641431308335140623969506970338148823232175445531128276631634648458813874089096605727477610845705999834644887964987204450184710982670351416945692969306125065866669145693092815575296879386198067365467393450228068131155797729531160097855029042809402298464782208082438126521282689479700181705047026791499101622300702815149153163049911288707263746309262339683817405843051315332664250270398584917497107728845140922271876430207179696172991339411759995407398977714791726067464009385212321127 10112835782601246638460692779432544934076161596915861927587029113479992761948379895084151667069500707328394308049771354788685636117189353364115988646531804766259868863932156757603573826816802596387249466819283560523280662170468929361907523869046634672887481816540510718893671066946125798922507946346370269350683285723660504047983346960666556804168957901303687509939368964253256120812131668768917320743701785278598756759514656915692094465622917852734688322882106337369111659940670003039013850616154543597688389171377902490146090713750382908288094495031019093047280439685280247460923235157177830713467929523595265368019581948217068129525442002308842749613027702211619498985192311893727335145367514350421288155308545205303697763612910834013882374319453006317720371191062608681097570839120700762029568874617527158757708960997993868622129870108450680650969614961547230994952985185242615769567826769016665095625297244969085451373060396749632638377986695455546694699216216651992825573796899336488357373299152119605975510861054423942410102890947088246675811532158830649222627434809797424051923896756035979845389449879948830349870732391130624934017019399035358696353441249381402474372331672874017766895100184798326176609633459488264587026970981748714762894553406690598844437631430324483979003410437246449236018830640226079389637406285618685715104884964846864485557002759512167195921560644771208184594925692798208656906463715414865101336674889651404803995028275936721280888198442768911503932548717788860235267394474450692869861525698673570653699197760361400696904004830986848339775679604657779255054344495211574545852964661832319820227318516239334858479344456993221004578035167431039833499100906180364610972065472462416187129933213691981526319461034512833204686698515742937319509469687240817044480902175826151591205799285283937088335257387376064010991875308145641427553726625879545604633397708383807754028363228096684147411746083386875411847035517478021399070216394077660730648917152685208190825495899266807567996449594562944718223486827364359334762504257591394370286797590000175986432514186060832846314274831276642808559522083101884543694764997320154636651719720804826569524820365330413095011844788537471615975254061132259036516886051555502847371078897800547858216094770818585189259669375300889066210005727178120002708836058891454200057287981057832818271263471191864969584909739659271989231291690803187575316057136027397674711749257631507357023676 16362912018894959566311824870928976797060440053988419922326949571027961960595179028857710989030320151670971793719894377357704876096361839040461446152872497477986620868318780998223062263763640490570680284369068967545280871159194383261994298323176802363909850786572415709684458143989345081705758441654654114567559981319379541370477918571857404041608980789787075544884049291846497360537613061017011363161326383619327953736738784226585788656398227499283607413346845782553899600212801201692499281066148878353526754823731226697199117399132136964552093584979766615718473661760180634190782462821802664040500552729015972402965662321995347159914499022144781203931125625826877754045515730689435678055761261776507664942993626703294141642979348763436911006529850814556670637033675174230470090298725879970020620659275715125390515998661329289806938842835090396310221879862234834449895550183961473864072589322702582418019899756413689881332948890582662506909707622378847036636756624010174838833046136606108918829214108346282713967330244347740223466666388612556608410253746019552791867918303067920851923604496804584867758568011383804987328487168384284303258696077803034072777907720879150381485595065951528870385161078231424900839439404463394087152676265964087490413639725196302590953014810263668314357448858388598666288259834517526052513087930689457110753807778636043236720406808984785409054068616943754923794097842375862048859793287807548056590307655261774829067576259908492765228501160123544648245064388546330671270503391771754547000340467844367367128389914674976340450562277668474600571514158570222249554155319256441971074232885238037034291571825058036776929939610825195327678029509768195322787353126021164427341452160798243267669168504241772262002056658685809846232072695820072802018936491137579269756941686089947540510167303292788410647926666367094341718986652596733630152100763724629042321568274099636350576984942045951711798740188117235310799041255435104623510453386719092038984057776654715161163644722498983013527577871194579366682300701453455940489981868437100370121442477965163190882698897043503197731220524245948933625388752247577636510340294199540834719085188198276797592951521128142626171942643566514425377552525914467118955012572838192327071260602847574649715196393119288004408822538350800354917269473487382342392653464734505515389952231328231403188760578920710110507181616089479168927464682142599335311464535005112466437816721640892569344803 26475747801496206204772517650361521731136601650904281849913978684507954722543558923941862656099820858999366101769665732146390512213551192404577434799404302244246489732250937755826636090580443086957929751188352528068561533329663312623901822192223437036797332603112926428578129210935470880628266388001024383918243267043040045418461265532523960845777938691090763054823418256099753481349744729785928683905028168897926710496253441142277883122021145352018295736228952119923011260153471204731513131682303421951215143995109129187345208112882519872840188080010785708765754101445460881651705697978980494753968482252611237770985244270212415289439941024453623953544153328038497253030708042583163013201128776126928953098302171908597839406592259597450793380849303820874391008224737782911567661137846580732050189533893242284148224959659323158429068712943541076961191494823782065444848535369204089633640416091719247513645197001382775332706009287332295145287694317834393731335972840662167664406843035942597276202513260465888689478191298771682633569557335700803284221785904850202014495353112865344903847501252840564713148017891332635337199219559514909237275715476838392769131348970260552855857926738825546637280261263029751077449072863951658674179647247712802253308193131886901435390646240588152293360859295635047902307090474743605442150494216308142825858692743482907722277409568496952604975629261714963108389023535174070705766257003222413157926982544913179633062604535845214046116699602892456152177613106335190906537897866222447416861866166517938020827587675036377037354567108655322940347193763228001504608499814468016516927197547070356854518890341297371635409284067818416332256064677199235156286454032201529038313517633260659454799101717933753788321517693198643050918771211563010121528406178378396314237843861916099131715966588576725498983184053743158352710861960742375057705827389604174646954965982483444104605348170142635859210486271504110722646076772913126022580669780796752769632974929339923351989140621765790581524027465757524084905787528817815275252486126028494740408240067965339177315213083104336044045495355522591742184910835349462180205105291519695471370804909003103367117771886458555721183787432103986041352806587046726155471898624393695174442339500648122507931291163937873193668491913651689421127275200665502345101489523625959715447240212386064221460024050112575080092091355748751158158756372945786910627521671032510141149565979272399926368479 42838659820391165771084342521290498528197041704892701772240928255535916683138737952799573645130141010670337895489560109504095388309913031445038880952276799722233110600569718754049698354344083577528610035557421495613842404488857695885896120515400239400707183389685342138262587354924815962334024829655678498485803248362419586788939184104381364887386919480877838599707467547946250841887357790802940047066354552517254664232992225368863671778419372851301903149575797902476910860366272406424012412748452300304741898818840355884544325512014656837392281664990552324484227763205641515842488160800783158794469034981627210173950906592207762449354440046598405157475278953865375007076223773272598691256890037903436618041295798611891981049571608360887704387379154635431061645258412957142037751436572460702070810193168957409538740958320652448236007555778631473271413374686016899894744085553165563497713005414421829931665096757796465214038958177914957652197401940213240767972729464672342503239889172548706195031727368812171403445521543119422857036223724313359892632039650869754806363271415933265755771105749645149580906585902716440324527706727899193540534411554641426841909256691139703237343521804777075507665422341261175978288512268415052761332323513676889743721832857083204026343661050851820607718308154023646568595350309261131494663582146997599936612500522118950958997816377481738014029697878658718032183121377549932754626050291029961214517290200174954462130180795753706811345200763016000800422677494881521577808401257994201963862206634362305387955977589711353377805129386323797540918707921798223754162655133724458488001430432308393888810462166355408412339223678643611659934094186967430479073807158222693465654969794058902722468270222175526050323574351884452897150843907383082923547342669515975583994785548006046672226133891869513909631110720110252694429848613339108687857928153328803689276534256583080455182333112188587571009226459621346033445118028348230646091123167515844808617032705994638513152785344264773595051605336952103451588088230271271215742467994465595110529682545930502368197911980147839241776715879768540675810299587597039816715445585719236306089890097201380164710723407586698347355730075670500466730359112961193274426911197231887501513600103495697157646487557057161198077314452002489776044544674152884687494142988360465230837192443714295624648784629033285190599272971838230327086221055088386245938986206037622607587382700913292495713282 69314407621887371975856860171652020259333643355796983622154906940043871405682296876741436301229961869669703997259225841650485900523464223849616315751681101966479600332820656509876334444924526664486539786745774023682403937818521008509797942707623676437504515992798268566840716565860286842962291217656702882404046515405459632207400449636905325733164858171968601654530885804046004323237102520588868730971382721415181374729245666511141554900440518203320198885804750022399922120519743611155525544430755722255957042813949485071889533624897176710232469745001338033249981864651102397494193858779763653548437517234238447944936150862420177738794381071052029111019432281903872260106931815855761704458018814030365571139597970520489820456163867958338497768228458456305452653483150740053605412574419041434120999727062199693686965917979975606665076268722172550232604869509798965339592620922369653131353421506141077445310293759179240546744967465247252797485096258047634499308702305334510167646732208491303471234240629278060092923712841891105490605781060014163176853825555719956820858624528798610659618607002485714294054603794049075661726926287414102777810127031479819611040605661400256093201448543602622144945683604290927055737585132366711435511970761389691997030025988970105461734307291439972901079167449658694470902440784004736936814076363305742762471193265601858681275225945978690619005327140373681140572144912724003460392307294252374372444272745088134095192785331598920857461900365908456952600290601216712484346299124216649380724072800880243408783565264747730415159696494979120481265901685026225258771154948192475004928627979378750743329352507652780047748507746462027992190158864166665635360261190424222503968487427319562177267371940109279838645092045083095948069615118946093045075748847894371898232629409922145803942100480446239408614294773853411047140710574081483745563755542932978336231500239066524559787681282331223430219712731125456756091194801261356668671792948312597578250007635334561865141925966030564176575632802709627536493875759089086490994954120494089850937922613895841545513125063252175285822211235291132417995210422946501996920550877238931777460695006204483531828495294045254068539517507774486508083165700007919429898809821625582675955939604143819665577778720995034391745806365654179197171819874818387032595632511986424946284432656100359846108808679145860270691364327586981485244977428034173156566507877070132748736948680185692422081761 112153067442278537746941202692942518787530685060689685394395835195579788088821034829541009946360102880340041892748785951154581288833377255294655196703957901688712710933390375263926032799268610242015149822303195519296246342307378704395694063223023915838211699382483610705103303920785102805296316047312381380889849763767879218996339633741286690620551777652846440254238353351992255165124460311391808778037737273932436038962237891880005226678859891054622102035380547924876832980886016017579537957179208022560698941632789840956433859136911833547624751409991890357734209627856743913336682019580546812342906552215865658118887057454627940188148821117650434268494711235769247267183155589128360395714908851933802189180893769132381801505735476319226202155607613091736514298741563697195643164010991502136191809920231157103225706876300628054901083824500804023504018244195815865234336706475535216629066426920562907376975390516975705760783925643162210449682498198260875267281431770006852670886621381040009666265967998090231496369234385010528347642004784327523069485865206589711627221895944731876415389712752130863874961189696765515986254633015313296318344538586121246452949862352539959330544970348379697652611105945552103034026097400781764196844294275066581740751858846053309488077968342291793508797475603682341039497791093265868431477658510303342699083693787720809640273042323460428633035025019032399172755266290273936215018357585282335586961562945263088557322966127352627668807101128924457753022968096098234062154700382210851344586279435242548796739542854459083792964825881302918022184609606824449012933810081916933492930058411687144632139814674008188460087731425105639652124253051134096114434068348646915969623457221378464899735642162284805888968666396967548845220459026329175968623091517410347482227414957928192476168234372315753318245405493963663741570559187420592433421683696261782025508034495649605014970014394519811001228939190746802789536312829609587314762916115828442386867040341329200378294711310295337771627238139661730988081963989360357706737422114959684961467605159826343913711037043400014527598927115059673093805510010543541813635996462958168083550585103405863696539218701631952415895247583444986974813524812969112704325721018857470177469539707639516823224266278052195589823120817656668973216364548971271720089775500346890177121625099814655470757593308179145461290637299425211812331198483122559402505494083107755356324331381098984917795043 181467475064165909722798062864594539046864328416486669016550742135623659494503331706282446247590064750009745890008011792805067189356841479144271512455639003655192311266211031773802367244193136906501689609048969542978650280125899712905492005930647592275716215375281879271944020486645389648258607264969084263293896279173338851203740083378192016353716635824815041908769239156038259488361562831980677509009119995347617413691483558391146781579300409257942300921185297947276755101405759628735063501609963744816655984446739326028323392761809010257857221154993228390984191492507846310830875878360310465891344069450104106063823208317048117926943202188702463379514143517673119527290087404984122100172927665964167760320491739652871621961899344277564699923836071548041966952224714437249248576585410543570312809647293356796912672794280603661566160093222976573736623113705614830573929327397904869760419848426703984822285684276154946307528893108409463247167594456308509766590134075341362838533353589531313137500208627368291589292947226901633838247785844341686246339690762309668448080520473530487075008319754616578169015793490814591647981559302727399096154665617601066063990468013940215423746418891982319797556789549843030089763682533148475632356265036456273737781884835023414949812275633731766409876643053341035510400231877270605368291734873609085461554887053322668321548268269439119252040352159406080313327411202997939675410664879534709959405835690351222652515751458951548526269001494832914705623258697314946546500999506427500725310352236122792205523108119206814208124522376282038503450511291850674271704965030109408497858686391065895375469167181660968507836239171567667644314411915300761749794329539071138473591944648698027077003014102394085727613758442050644793290074145275269013698840365304719380460044367850338280110334852761992726859700267817074788711269761502076178985439239194760361739534734716129574757695676851034431448651921872259545627507630870943983434709064141039965117047976663762243436637276325901948202870942371358524575839748449444197732376235453774812405527773722185459224162106652189813421138350350805511800720433490043810556547340197099861011280109610347228367713995677206484434765091219473482896690512977032134224530840483052853425479311783336488802044999047229981568927183310848170388184423789658752685408012333315123406057755915015316866401987325005731982001627012193297576175911156732559072001960177888105061280061284677339876804 293620542506444447469739265557537057834395013477176354410946577331203447583324366535823456193950167630349787782756797743959648478190218734438926709159596905343905022199601407037728400043461747148516839431352165062274896622433278417301186069153671508113927914757765489977047324407430492453554923312281465644183746042941218070200079717119478706974268413477661482163007592508030514653486023143372486287046857269280053452653721450271152008258160300312564402956565845872153588082291775646314601458789171767377354926079529166984757251898720843805481972564985118748718401120364590224167557897940857278234250621665969764182710265771676058115092023306352897648008854753442366794473242994112482495887836517897969949501385508785253423467634820596790902079443684639778481250966278134444891740596402045706504619567524513900138379670581231716467243917723780597240641357901430695808266033873440086389486275347266892199261074793130652068312818751571673696850092654569385033871565845348215509419974970571322803766176625458523085662181611912162185889790628669209315825555968899380075302416418262363490398032506747442043976983187580107634236192318040695414499204203722312516940330366480174754291389240362017450167895495395133123789779933930239829200559311522855478533743681076724437890243976023559918674118657023376549898022970536473799769393383912428160638580841043477961821310592899547885075377178438479486082677493271875890429022464817045546367398635614311209838717586304176195076102623757372458646226793413180608655699888638352069896631671365341002262650973665898001089348257584956525635120898675123284638775112026341990788744802753040007608981855669156967923970596673307296438664966434857864228397887718054443215401870076491976738656264678891616582424839018193638510533171604444982321931882715066862687459325778530756278569225077746045105105761780738530281828948922668612407122935456542387247569230365734589727710071370845432677591112619062335163820460480531298197625179969482351984088317992962621731348586621239719830109082033089512657803737809801904469798350413459773873132933548529372935199150052204341020065465410478605606230444033585624192543803155267944561865213016210924906932697309158900330012674664460457710215325946144838550251859340523030895019019422853312026311277099425571392048000967517143604548972760930472775183512680205300527682855729670787623995295504151193272638926437405109907374394279291961577496043285643461385611442383662257671847 475088017570610357192537328422131596881259341893663023427497319466827107077827698242105902441540232380359533672764809536764715667547060213583198221615235908999097333465812438811530767287654884055018529040401134605253546902559178130206678075084319100389644130133047369248991344894075882101813530577250549907477642322114556921403819800497670723327985049302476524071776831664068774141847585975353163796055977264627670866345205008662298789837460709570506703877751143819430343183697535275049664960399135512194010910526268493013080644660529854063339193719978347139702592612872436534998433776301167744125594691116073870246533474088724176042035225495055361027522998271115486321763330399096604596060764183862137709821877248438125045429534164874355602003279756187820448203190992571694140317181812589276817429214817870697051052464861835378033404010946757170977264471607045526382195361271344956149906123773970877021546759069285598375841711859981136944017687110877894800461699920689578347953328560102635941266385252826814674955128838813796024137576473010895562165246731209048523382936891792850565406352261364020212992776678394699282217751620768094510653869821323378580930798380420390178037808132344337247724685045238163213553462467078715461556824347979129216315628516100139387702519609755326328550761710364412060298254847807079168061128257521513622193467894366146283369578862338667137115729337844559799410088696269815565839687344351755505773234325965533862354469045255724721345104118590287164269485490728127155156699395065852795206983907488133207785759092872712209213870633866995029085632190525797556343740142135750488647431193818935383078149037330125475760209768240974940753076881735619614022727426789192916807346518774519053741670367072977344196183281068838431800607316879713996020772248019786243147503693628869036388904077839738771964806029597813318993098710424744791392562174651302748987103965081864164485405748221879864126243034491321880791328091351475281632334244110522317101136294656724865167985862947141668032980024404448037233643486259246102202174585867234586278660707270714832159361256704394154441203815761284117406950877523629434749091143352367805573145322626558153274646692986365384764777765883933940606905838923176972774782699823575884320498331206189800828356276146655552960975184278365313992733396550589225460591525013520423933740611644686104490397282829156925254640553449598407483550305436024520649498003463531566446891503668339597548651 768708560077054804662276593979668654715654355370839377838443896798030554661152064777929358635490400010709321455521607280724364145737278948022124930774832814343002355665413845849259167331116631203535368471753299667528443524992456547507864144237990608503572044890812859226038669301506374555368453889532015551661388365055774991603899517617149430302253462780138006234784424172099288795333609118725650083102834533907724318998926458933450798095621009883071106834316989691583931265989310921364266419188307279571365836605797659997837896559250697868821166284963465888420993733237026759165991674242025022359845312782043634429243739860400234157127248801408258675531853024557853116236573393209087091948600701760107659323262757223378468897168985471146504082723440827598929454157270706139032057778214634983322048782342384597189432135443067094500647928670537768217905829508476222190461395144785042539392399121237769220807833862416250444154530611552810640867779765447279834333265766037793857373303530673958745032561878285337760617310450725958210027367101680104877990802700108428598685353310055214055804384768111462256969759865974806916453943938808789925153074025045691097871128746900564932329197372706354697892580540633296337343242401008955290757383659501984694849372197176863825592763585778886247224880367387788610196277818343552967830521641433941782832048735409624245190889455238215022191106516283039285492766189541691456268709809168801052140632961579845072193186631559900916421206742347659622915712284141307763812399283704204865103615578853474210048410066538610210303218891451951554720753089200920840982515254162092479436175996571975390687130892999282443684180364914282237191741848170477478251125314507247360022748388851011030480326631751868960778608120087032070311140488484158978342704130734853105834963019407399792667473302917484817069911791378551849274927659347413403799685110107845136234673195447598754213115819592725296803834147110384215955148551832006579829959424080004669085224612649687486899334449568381387863089106437537549891447224069048006671972936280694360151793640819244205094560406756598495461269281171762723013181321557215058941634946507635750135010535642769078181579390295524285094790440548394398317121164869321811325034559164098915215517350629043112854667553246081124353023185245882457597282369311519698235775037693725724461423467374356892114392578333308118527279479887003517390924699715316482226994046749175027832502946052001855220498 1243796577647665161854813922401800251596913697264502401265941216264857661738979763020035261077030632391068855128286416817489079813284339161605323152390068723342099689131226284660789934618771515258553897512154434272781990427551634677714542219322309708893216175023860228475030014195582256657181984466782565459139030687170331913007719318114820153630238512082614530306561255836168062937181195094078813879158811798535395185344131467595749587933081719453577810712068133511014274449686846196413931379587442791765376747132066153010918541219780551932160360004941813028123586346109463294164425450543192766485440003898117504675777213949124410199162474296463619703054851295673339437999903792305691688009364885622245369145140005661503514326703150345502106086003197015419377657348263277833172374960027224260139477997160255294240484600304902472534051939617294939195170301115521748572656756416129998689298522895208646242354592931701848819996242471533947584885466876325174634794965686727372205326632090776594686298947131112152435572439289539754234164943574691000440156049431317477122068290201848064621210737029475482469962536544369506198671695559576884435806943846369069678801927127320955110367005505050691945617265585871459550896704868087670752314208007481113911165000713277003213295283195534212575775642077752200670494532666150632135891649898955455405025516629775770528560468317576882159306835854127599084902854885811507022108397153520556557913867287545378934547655676815625637766310860937946787185197774869434918969098678770057660310599486341607417834169159411322419517089525318946583806385279726718397326255396297842968083607190390910773765279930329407919444390133155257177944818729906097092273852741296440276830094907625530084221996998824846304974791401155870502111747805363872974363476378754639348982466713036268829056377380757223589034717820976365168268026369772158195192247284759147885221777160529462918698521567814605160930077181601706096746476643183481861462293668190526986186360907306412352067320312515523055896069130841985587125090710328294108874147522147928946430454348089959037253921663460992649902473096933046840420132199080844493690726089860003555708155858269327231456226083281889669859568206432328338924027003792498784099817258987674799536015681835232913683023829392736677313998369524247771590015765862108923696366562707246148395164079019042996604789861162465043781920033336601924874475005151341002876492050212706594279394449720341452769149 2012505137724719966517090516381468906312568052635341779104385113062888216400131827797964619712521032401778176583808024098213443959021618109627448083164901537685102044796640130510049101949888146462089265983907733940310433952544091225222406363560300317396788219914673087701068683497088631212550438356314581010800419052226106904611618835731969583932491974862752536541345680008267351732514804212804463962261646332443119504343057926529200386028702729336648917546385123202598205715676157117778197798775750071336742583737863813008756437779031249800981526289905278916544580079346490053330417124785217788845285316680161139105020953809524644356289723097871878378586704320231192554236477185514778779957965587382353028468402762884881983223872135816648610168726637843018307111505533983972204432738241859243461526779502639891429916735747969567034699868287832707413076130623997970763118151560915041228690922016446415463162426794118099264150773083086758225753246641772454469128231452765166062699935621450553431331509009397490196189749740265712444192310676371105318146852131425905720753643511903278677015121797586944726932296410344313115125639498385674360960017871414760776673055874221520042696202877757046643509846126504755888239947269096626043071591666983098606014372910453867038888046781313098823000522445139989280690810484494185103722171540389397187857565365185394773751357772815097181497942370410638370395621075353198478377106962689357610054500249125224006740842308375526554187517603285606410100910059010742682781497962474262525414215065195081627882579225949932629820308416770898138527138368927639238308770650459935447519783186962886164452410823328690363128570498069539415136560578076574570524978055803687636852843296476541114702323630576715265753399521242902572422888293848031952706180509489492454817429732443668621723850683674708406104629612354917017542954029119571598991932394866993021456450355977061672911637387407330457733911328712090312701625195015488441292253092270531655271585519956099838966654762083904443759158237279523137016537934397342115546120458428623306582247988909203242348482070217591145363742378104809563433313520638059552632361036367639305843166393912096309637805473577413954954358646980722737241148168661820595424851818151773714751533032464276026537691382638817801667021554770130229187298135173628621932141600400971872856587546393399888719182439495773162309199513223605442265399704866657485103486096961881622111897395772343307989647 3256301715372385128371904438783269157909481749899844180370326329327745878139111590817999880789551664792847031712094440915702523772305957271232771235554970261027201733927866415170839036568659661720643163496062168213092424380095725902936948582882610026290004394938533316176098697692670887869732422823097146469939449739396438817619338153846789737562730486945367066847906935844435414669695999306883277841420458130978514689687189394124949973961784448790226728258453256713612480165363003314192129178363192863102119330869929966019674978998811801733141886294847091944668166425455953347494842575328410555330725320578278643780798167758649054555452197394335498081641555615904531992236380977820470467967330473004598397613542768546385497550575286162150716254729834858437684768853797261805376807698269083503601004776662895185670401336052872039568751807905127646608246431739519719335774907977045039917989444911655061705517019725819948084147015554620705810638713518097629103923197139492538268026567712227148117630456140509642631762189029805466678357254251062105758302901562743382842821933713751343298225858827062427196894832954713819313797335057962558796766961717783830455474983001542475153063208382807738589127111712376215439136652137184296795385799674464212517179373623730870252183329976847311398776164522892189951185343150644817239613821439344852592883081994961165302311826090391979340804778224538237455298475961164705500485504116209914167968367536670602941288497985191152191953828464223553197286107833880177601750596641244320185724814551536689045716748385361255049337397942089844722333523648654357635635026046757778415603390377353796938217690753658098282572960631224796593081379307982671662798830797100127913682938204102071198924320629401561570728190922398773074534636099211904927069656888244131803799896445479937450780228064431931995139347433331282185810980398891729794184179679626140906678227516506524591610158955221935618663988510313796409448101838198970302754546760461058641457946427262512191033975074599427499655227368121508724141628644725636224420267980576552253012702336999162279602403733678583795266215475037856403853445719718904046323087126227642861551322252181423541094031556859303624813926853413051076165175172454319379524669077139448514287548714299508940220715212031554478981019924294378000777313901035737545628508163108218021251751625412442885323972300658238206091119546560207367139874710017998487979978147174588216391291845492684760758796 5268806853097105094888994955164738064222049802535185959474711442390634094539243418615964500502072697194625208295902465013915967731327575380860219318719871798712303778724506545680888138518547808182732429479969902153402858332639817128159354946442910343686792614853206403877167381189759519082282861179411727480739868791622545722230956989578759321495222461808119603389252615852702766402210803519687741803682104463421634194030247320654150359990487178126875645804838379916210685881039160431970326977138942934438861914607793779028431416777843051534123412584752370861212746504802443400825259700113628344176010637258439782885819121568173698911741920492207376460228259936135724546472858163335249247925296060386951426081945531431267480774447421978799326423456472701455991880359331245777581240436510942747062531556165535077100318071800841606603451676192960354021322562363517690098893059537960081146680366928101477168679446519938047348297788637707464036391960159870083573051428592257704330726503333677701548961965149907132827951938770071179122549564927433211076449753694169288563575577225654621975240980624649371923827129365058132428922974556348233157726979589198591232148038875763995195759411260564785232636957838880971327376599406280922838457391341447311123193746534184737291071376758160410221776686968032179231876153635139002343335992979734249780740647360146560076063183863207076522302720594948875825694097036517903978862611078899271778022867785795826948029340293566678746141346067509159607387017892890920284532094603718582711139029616731770673599327611311187679157706358860742860860662017581996873943796697217713863123173564316683102670101576986788645701531129294336008217939886059246233323808852903815550535781500578612313626644259978276836481590443641675646957524393059936879775837397733624258617326177923606072504078748106640401243977045686199203353934428011301393176112074493133928134677872483586264521796342629266076397899839025886722149727033214458744046799852731590296729531947218612030000629836683331943414385605401031861158166579122978339966388439005175559594950325908365521950885803896174940629957853142665967286759240356963598955448162595282167394488646093519850731837030436717579768285500393773813406323341116139974949520895291222229039081746763784966758406594670372280648041479064508229964612036209366167560649763509189894108339171805842774043154740154011368400319059783812809405274414884655973083464244136469838503189241265028068748443 8525108568469490223260899393948007222131531552435030139845037771718379972678355009433964381291624361987472240007996905929618491503633532652092990554274842059739505512652372960851727175087207469903375592976032070366495282712735543031096303529325520369976797009791739720053266078882430406952015284002508873950679318531018984539850295143425549059057952948753486670237159551697138181071906802826571019645102562594400148883717436714779100333952271626917102374063291636629823166046402163746162456155502135797540981245477723745048106395776654853267265298879599462805880912930258396748320102275442038899506735957836718426666617289326822753467194117886542874541869815552040256538709239141155719715892626533391549823695488299977652978325022708140950042678186307559893676649213128507582958048134780026250663536332828430262770719407853713646172203484098088000629568994103037409434667967515005121064669811839756538874196466245757995432444804192328169847030673677967712676974625731750242598753071045904849666592421290416775459714127799876645800906819178495316834752655256912671406397510939405965273466839451711799120721962319771951742720309614310791954493941306982421687623021877306470348822619643372523821764069551257186766513251543465219633843191015911523640373120157915607543254706735007721620552851490924369183061496785783819582949814419079102373623729355107725378375009953599055863107498819487113280992572997682609479348115195109185945991235322466429889317838278757830938095174531732712804673125726771097886282691244962902896863844168268459719316075996672442728495104300950587583194185666236354509578822743975492278726563941670480040887792330644886928274491760519132601299319194041917896122639650003943464218719704680683512550964889379838407209781366040448721492160492271841806845494285977756062417222623403543523284306812538572396383324479017481389164914826903031187360291754119274834812905388990110856131955297851201695061888349339683131597828871413429046801346613192648938187478374481124221034604911282759443069612973522540585299795223848614564386656419581727812607652662907527801553289537574758735896173328180522371140204960075867645278535288822925028945810898274943391825868587296021204582212353806824889571498513570459354474189972430670743326630461063293906979121806701926759629061403358886230741925937245103713189157926617407915360090797218285659367127040812249574491438606344020176545149124902654461063442391311058054894481086757712829507239 13793915421566595318149894349112745286353581354970216099319749214109014067217598428049928881793697059182097448303899370943534459234961108032953209872994713858451809291376879506532615313605755278086108022456001972519898141045375360159255658475768430713663589624644946123930433460072189926034298145181920601431419187322641530262081252133004308380553175410561606273626412167549840947474117606346258761448784667057821783077747684035433250693942758805043978019868130016546033851927441324178132783132641078731979843160085517524076537812554497904801388711464351833667093659435060840149145361975555667243682746595095158209552436410894996452378936038378750251002098075488175981085182097304490968963817922593778501249777433831408920459099470130119749369101642780261349668529572459753360539288571290968997726067888993965339871037479654555252775655160291048354650891556466555099533561027052965202211350178767858016042875912765696042780742592830035633883422633837837796250026054324007946929479574379582551215554386440323908287666066569947824923456384105928527911202408951081959969973088165060587248707820076361171044549091684830084171643284170659025112220920896181012919771060753070465544582030903937309054401027390138158093889850949746142472300582357358834763566866692100344834326083493168131842329538458956548414937650420922821926285807398813352154364376715254285454438193816806132385410219414435989106686670034200513458210726274008457724014103108262256837347178572324509684236520599241872412060143619662018170814785848681485608002873785000230392915403607983630407652810659811330444054847683818351383522619441193206141849737505987163143557893907631675573976022889813468609517259080101164129446448502907759014754501205259295826177609149358115243691371809682124368449684885331778686621331683711380321034548801327149595788385560645212797627301524703680592518849254914332580536403828612408762947583261473697120653751640480467771459788188365569853747555904627887790848146465924239234917010321699736251035234747966091386483998578923572446457961802971592904353044858586903372202602988815893323504175341470933676526131181323188338426964200432831244233983451418207196340299544368463242557705617732738784350497854200598702977821854686599329423710867721892972365712207827078873737528401372299040277102882423394460706537973454469880749807690126597809468429969024128433410281780966260942891757666127832985950423539787310434146906635447527893397670328022740898255682 22319023990036085541410793743060752508485112907405246239164786985827394039895953437483893263085321421169569688311896276873152950738594640685046200427269555918191314804029252467384342488692962747989483615432034042886393423758110903190351962005093951083640386634436685843983699538954620332986313429184429475382098505853660514801931547276429857439611128359315092943863571719246979128546024409172829781093887229652221931961465120750212351027895030431961080393931421653175857017973843487924295239288143214529520824405563241269124644208331152758068654010343951296472974572365319236897465464250997706143189482552931876636219053700221819205846130156265293125543967891040216237623891336445646688679710549127170051073472922131386573437424492838260699411779829087821243345178785588260943497336706070995248389604221822395602641756887508268898947858644389136355280460550569592508968228994567970323276019990607614554917072379011454038213187397022363803730453307515805508927000680055758189528232645425487400882146807730740683747380194369824470724363203284423844745955064207994631376370599104466552522174659528072970165271054004602035914363593784969817066714862203163434607394082630376935893404650547309832876165096941395344860403102493211362106143773373270358403939986850015952377580790228175853462882389949880917597999147206706641509235621817892454527988106070362010832813203770405188248517718233923102387679243031883122937558841469117643670005338430728686726665016851082340622331695130974585216733269346433116057097477093644388504866717953268690112231479604656073136147914960761918027249033350054705893101442185168698420576301447657643184445686238276562502250514650332601210816578274143082025569088152911702478973220909939979338728574038737953650901153175722573089941845377603620493466825969689136383451771424730693119072692373183785194010626003721161981683764081817363767896695582731683597760488650463807976785706938331669466521676537705252985345384776041316837649493079116888173104488696180860472069839659248850829553611552446113031757757026820207468739701278168631184810255651723421125057464879045692412422304509503710709567169160508698889512518740241132225286110442643406634383574205028759988932710208007423592549320368257058683897900840152563715692342668890372780716650208074225799906164285782280691448463910699573593938965616744005724828520766242414092777408821778510517383196272471853162495572664689964895210349026758585948292151414780453727762921 36112939411602680859560688092173497794838694262375462338484536199936408107113551865533822144879018480351667136615795647816687409973555748717999410300264269776643124095406131973916957802298718026075591637888036015406291564803486263349607620480862381797303976259081631967914132999026810259020611574366350076813517693176302045064012799409434165820164303769876699217489983886796820076020142015519088542542671896710043715039212804785645601721837789237005058413799551669721890869901284812102428022420784293261500667565648758793201182020885650662870042721808303130140068231800380077046610826226553373386872229148027034845771490111116815658225066194644043376546065966528392218709073433750137657643528471720948552323250355962795493896523962968380448780881471868082593013708358048014304036625277361964246115672110816360942512794367162824151723513804680184709931352107036147608501790021620935525487370169375472570959948291777150080993929989852399437613875941353643305177026734379766136457712219805069952097701194171064592035046260939772295647819587390352372657157473159076591346343687269527139770882479604434141209820145689432120086006877955628842178935783099344447527165143383447401437986681451247141930566124331533502954292953442957504578444355730629193167506853542116297211906873721343985305211928408837466012936797627629463435521429216705806682352482785616296287251397587211320633927937648359091494365913066083636395769567743126101394019441538990943564012195423406850306568215730216457628793412966095134227912262942325874112869591738268920505146883212639703543800725620573248471303881033873057276624061626361904562426038953644806328003580145908238076226537540146069820333837354244246155015536655819461493727722115199275164906183188096068894592524985404697458391530262935399180088157653400516704486320226057842714861077933828997991637927528424842574202613336731696348433099411344092360708071911937505097439458578812137237981464726070822839092940680669204628497639545041127408021499017880596723105074407214942216037610131369685478215718829791800373092746136755534557012858640539314448561640220516626088948435690826899047994133360941530133746502191659339421626409987011869876941279822761498773283208062208022295527142222943658013321611707874456688058054876717451654454178609446524840183267168205675152155001884154043474688773306870603534296950735266542526187690602744771460274953938599686148445996204477275329357255662206113841689821742803194626018603 58431963401638766400971481835234250303323807169780708577649323185763802147009505303017715407964339901521236824927691924689840360712150389403045610727533825694834438899435384441301300290991680774065075253320070058292684988561597166539959582485956332880944362893518317811897832537981430592006925003550779552195616199029962559865944346685864023259775432129191792161353555606043799204566166424691918323636559126362265647000677925535857952749732819668966138807730973322897747887875128300026723261708927507791021491971212000062325826229216803420938696732152254426613042804165699313944076290477551079530061711700958911481990543811338634864071196350909336502090033857568608456332964770195784346323239020848118603396723278094182067333948455806641148192661300955903836358887143636275247533961983432959494505276332638756545154551254671093050671372449069321065211812657605740117470019016188905848763390159983087125877020670788604119207117386874763241344329248869448814104027414435524325985944865230557352979848001901805275782426455309596766372182790674776217403112537367071222722714286373993692293057139132507111375091199694034156000370471740598659245650645302507882134559226013824337331391331998556974806731221272928847814696055936168866684588129103899551571446840392132249589487663949519838768094318358718383610935944834336104944757051034598261210340588855978307120064601357616508882445655882282193882045156097966759333328409212243745064024779969719630290677212274489190928899910861191042845526682312528250285009740035970262617736309691537610617378362817295776679948640581335166498552914383927763169725503811530602983002340401302449512449266384184800578477052190478671031150415628387328180584624808731163972700943025139254503634757226834022545493678161127270548333375640539019673554983623089653087938091650788535833933770307012783185648553532146004555886377418549060116329794994075775958468560562401313074225165517143806704503141263776075824438325456710521466147132624158015581125987714061457195174914066463793045591221683815798509973475856612007841832447414924165741823114292262735573619105099562318501370740200330609757561302521450229023259020931900471646912520429655276511324854027790258762215918270215445888076462591200716697219512548027020403750397545607824435170828817520750640089431453987955843603465794853617068627738923614609259125471501508956618965099424523281977658150211071539310941568869167240224567604688964699789981973157583648353781524 94544902813241447260532169927407748098162501432156170916133859385700210254123057168551537552843358381872903961543487572506527770685706138121045021027798095471477562994841516415218258093290398800140666891208106073698976553365083429889567202966818714678248339152599949779811965537008240851027536577917129629009133892206264604929957146095298189079939735899068491378843539492840619280586308440211006866179231023072309362039890730321503554471570608905971197221530524992619638757776413112129151284129711801052522159536860758855527008250102454083808739453960557556753111035966079390990687116704104452916933940848985946327762033922455450522296262545553379878636099824097000675042038203945922003966767492569067155719973634056977561230472418775021596973542772823986429372595501684289551570587260794923740620948443455117487667345621833917202394886253749505775143164764641887725971809037809841374250760329358559696836968962565754200201047376727162678958205190223092119281054148815290462443657085035627305077549196072869867817472716249369062020002378065128590060270010526147814069057973643520832063939618736941252584911345383466276086377349696227501424586428401852329661724369397271738769378013449804116737297345604462350768989009379126371263032484834528744738953693934248546801394537670863824073306246767555849623872742461965568380278480251304067892693071641594603407315998944827829516373593530641285376411069164050395729097976955369846458044221508710573854689407697896041235468126591407500474320095278623384512922002978296136730605901429806531122525246029935480223749366201908414969856795417800820446349565437892507545428379354947255840452846530093038654703589730624740851484252982631574335600161464550625466428665140338529668540940414930091440086203146531968006724905903474418853643141276490169792424411876846378548794848240841781177286481060570847130088990755280756464762894405419868319176632474338818171664624095955943942484605989846898663531266137379726094644772169199142989147486731942053918279988473678735261628831815185483988189194686403808214925193551679700298835972932802050022180745320078944590319175891157508805555435882391759157005523123559811068538930416667146388266133850551757535499126332423468183603604814144374710541124255901477091808452422325276089625007426967275480272698622193630995758467679007660543316512230485212793422422236775499145152790027268053437933104149671225459387565073644515553924860351170813631671794900386842979800127 152976866214880213661503651762641998401486308601936879493783182571464012401132562471569252960807698283394140786471179497196368131397856527524090631755331921166312001894276900856519558384282079574205742144528176131991661541926680596429526785452775047559192702046118267591709798074989671443034461581467909181204750091236227164795901492781162212339715168028260283540197095098884418485152474864902925189815790149434575009040568655857361507221303428574937336029261498315517386645651541412155874545838639308843543651508072758917852834479319257504747436186112811983366153840131778704934763407181655532446995652549944857809752577733794085386367458896462716380726133681665609131375002974141706350290006513417185759116696912151159628564420874581662745166204073779890265731482645320564799104549244227883235126224776093874032821896876505010253066258702818826840354977422247627843441828053998747223014150489341646822713989633354358319408164763601925920302534439092540933385081563250814788429601950266184658057397197974675143599899171558965828392185168739904807463382547893219036791772260017514524356996757869448363960002545077500432086747821436826160670237073704360211796283595411096076100769345448361091544028566877391198583685065315295237947620613938428296310400534326380796390882201620383662841400565126274233234808687296301673325035531285902329103033660497572910527380600302444338398819249412923479258456225262017155062426386167613591522069001478430204145366619972385232164368037452598543319846777591151634797931743014266399348342211121344141739903608847231256903698006783243581468409709801728583616075069249423110528430719756249705352902112914277839233180641921103411882634668611018902516184786273281789439129608165477784172175697641764113985579881307659238555058281544013438527198124899579822880362503527634914382728618547854564362935034592716851685975368173829816581092689399495644277645193036740131245889789613099750646987747253622974487969591594090247560791904793357158570273474446003511113454902540142528307220053499001282498162670543015816056757640966603866040659087225064785595799850419641263091689916091488118563116738403841988180264544055460282715451450846322422899590987878342016297715044602638914071680067405345091407760636803928497495558849967933100524795836244488026120362130076181586839361933473861277611944251154099822052547893738284455764117889451791335415591254360742764770329133942811755778492465040135513421653768057970491333581651 247521769028121660922035821690049746499648810034093050409917041957164222655255619640120790513651056665267044748014667069702895902083562665645135652783130016637789564889118417271737816477572478374346409035736282205690638095291764026319093988419593762237441041198718217371521763611997912294061998159385038810213883983442491769725858638876460401419654903927328774919040634591725037765738783305113932055995021172506884371080459386178865061692874037480908533250792023308137025403427954524285025829968351109896065811044933517773379842729421711588556175640073369540119264876097858095925450523885759985363929593398930804137514611656249535908663721442016096259362233505762609806417041178087628354256774005986252914836670546208137189794893293356684342139746846603876695104078147004854350675136505022806975747173219548991520489242498338927455461144956568332615498142186889515569413637091808588597264910818700206519550958595920112519609212140329088599260739629315633052666135712066105250873259035301811963134946394047545011417371887808334890412187546805033397523652558419366850860830233661035356420936376606389616544913890460966708173125171133053662094823502106212541458007964808367814870147358898165208281325912481853549352674074694421609210653098772957041049354228260629343192276739291247486914706811893830082858681429758267241705314011537206396995726732139167513934696599247272167915192842943564764634867294426067550791524363122983437980113222987140778000056027670281273399836164044006043794166872869775019310853745992562536078948112551150672862428854877166737127447372985151996438266505219529404062424634687315618073859099111196961193354959444370877887884231651728152734118921593650476851784947737832414905558273305816313840716638056694205425666084454191206561783187447487857380841266176069992672786915404481292931523466788696345540221515653287698816064358929110573045855583804915512596821825511078949417554413709055694589472353243469873151500857731469973655436676962556301559420961177945565031734891013821263568848885314186766486351865229419624271682834518283566339495060157866835617980595739720207682009091982645627368672174286233747337270067179020093783990381262989569287857121728893773833214170935062382255283672219489466118301761059829974587367302390258376614420843671455301600634828698375217835120401152868938155260763384585034845970315975059954909270679479059388853524358510413990229716699016456271332417325391306327053325562958357334313381778 400498635243001874583539473452691744901135118636029929903700224528628235056388182111690043474458754948661185534485846566899264033481419193169226284538461937804101566783395318128257374861854557948552151180264458337682299637218444622748620773872368809796633743244836484963231561686987583737096459740852947991418634074678718934521760131657622613759370071955589058459237729690609456250891258170016857245810811321941459380121028042036226568914177466055845869280053521623654412049079495936440900375806990418739609462553006276691232677208740969093303611826186181523485418716229636800860213931067415517810925245948875661947267189390043621295031180338478812640088367187428218937792044152229334704546780519403438673953367458359296818359314167938347087305950920383766960835560792325419149779685749250690210873397995642865553311139374843937708527403659387159455853119609137143412855465145807335820279061308041853342264948229274470839017376903931014519563274068408173986051217275316920039302860985567996621192343592022220155017271059367300718804372715544938204987035106312585887652602493678549880777933134475837980504916435538467140259872992569879822765060575810572753254291560219463890970916704346526299825354479359244747936359140009716847158273712711385337359754762587010139583158940911631149756107377020104316093490117054568915030349542823108726098760392636740424462077199549716506314012092356488243893323519688084705853950749290597029502182224465570982145422647642666505564204201496604587114013650460926654108785489006828935427290323672494814602332463724397994031145379768395577906676215021257987678499703936738728602289818867446666546257072358648717121064873572831564616753590204669379367969734011114204344687881471294098012892335698458319411245965761850445116841468991501295908039391075649815553149418932116207314252085336550909903156550246004550502039727102940389626948273204411156874467018547819080663444203322155445236460100497092847639470449325560221216228581755913460129694435623949076145189793553963791876068938813188048984514535772435440328440475484887432380154147382931621213780446159361470773699008074133745931788912690075735517534611234480376499441832109311992187448109607235790130929215537701296326963739624834557526062397863758472082926152358191477139216679915943327720996958774556804674482334626730215767205014538684856898518209713344410673388568930850724269115612871156755000045832959268027110909790431441840474979331016327825646963429 648020404271123535505575295142741491400783928670122980313617266485792457711643801751810833988109811613928230282500513636602159935564981858814361937321591954441891131672513735399995191339427036322898560216000740543372937732510208649067714762291962572034074784443554702334753325298985496031158457900237986801632518058121210704247618770534083015179024975882917833378278364282334494016630041475130789301805832494448343751201487428215091630607051503536754402530845544931791437452507450460725926205775341528635675273597939794464612519938162680681859787466259551063604683592327494896785664454953175503174854839347806466084781801046293157203694901780494908899450600693190828744209085330316963058803554525389691588790038004567434008154207461295031429445697766987643655939638939330273500454822254273497186620571215191857073800381873182865163988548615955492071351261796026658982269102237615924417543972126742059861815906825194583358626589044260103118824013697723807038717352987383025290176120020869808584327289986069765166434642947175635609216560262349971602510687664731952738513432727339585237198869511082227597049830325999433848432998163702933484859884077916785294712299525027831705841064063244691508106680391841098297289033214704138456368926811484342378409108990847639482775435680202878636670814188913934398952171546812836156735663554360315123094487124775907938396773798796988674229204935300053008528190814114152256645475112413580467482295447452711760145478675312947778964040365540610630908180523330701673419639234999391471506238436223645487464761318601564731158592752753547574344942720240787391740924338624054346676148917978643627739612031803019595008949105224559717350872511798319856219754681748946619250246154777110411853608973755152524836912050216041651678624656438989153288880657251719808225936334336597500245775552125247255443378065899292249318104086032050962672803857009326669471288844058898030080998617031211139825932453740562720790971307057030194871665258718469761689115396801894641176924684567785055444917824127374815470866401001855064600123310003170998719649207540798456831761041899081678455708100056779373300461086976309482854804678413500470283432213372301561475305231336129563964143386472763678582247411844324023644364158923588446670293454748449853753637523587398629321631787472932022509602735779599153922465777923269891744488525688404365582659248409910113122639971381570745229762531975724298443327115822748167528304893974685159960345207 1048519039514125410089114768595433236301919047306152910217317491014420692768031983863500877462568566562589415816986360203501423969046401051983588221860053892245992698455909053528252566201281594271450711396265198881055237369728653271816335536164331381830708527688391187297984886985973079768254917641090934793051152132799929638769378902191705628938395047838506891837516093972943950267521299645147646547616643816389803131322515470251318199521228969592600271810899066555445849501586946397166826581582331947375284736150946071155845197146903649775163399292445732587090102308557131697645878386020591020985780085296682128032048990436336778498726082118973721539538967880619047682001129482546297763350335044793130262743405462926730826513521629233378516751648687371410616775199731655692650234508003524187397493969210834722627111521248026802872515952275342651527204381405163802395124567383423260237823033434783913204080855054469054197643965948191117638387287766131981024768570262699945329478981006437805205519633578091985321451914006542936328020932977894909807497722771044538626166035221018135117976802645558065577554746761537900988692871156272813307624944653727358047966591085247295596811980767591217807932034871200343045225392354713855303527200524195727715768863753434649622358594621114509786426921565934038715045661663867405071766013097183423849193247517412648362858850998346705180543217027656541252421514333802236962499425861704177496984477671918282742290901322955614284528244567037215218022194173791628327528424724006220406933528759896140302067093782325962725189738132521943152251618935262045379419424042560793075278438736846090294285869104161668312130013978797391281967626102002989235587724415760060823594934036248404509866501309453610844248158015977892096795466125430490449196920048327369623779085753268713707560027637461798165346534616145296799820143813134991352299752130213737826345755862606717110744442820353366585062392554237655568430441756382590416087893840474383221818809832425843717322114478121748847320986762940562864455380936774290504928563785488058431099803354923730078045541488058443149229407108130913119232249999666385218372339289647980846782874045481613553662753340943365354095072602010464974909211151469158581170426556787346918753219607106641330892854203503341957042628746247488827184085070406329369689670792461954748643006735401748776256047817340760837391755584252727500229808364934992325554236906254190008003284224991012985607308636 1696539443785248945594690063738174727702702975976275890530934757500213150479675785615311711450678378176517646099486873840103583904611382910797950159181645846687883830128422788928247757540708630594349271612265939424428175102238861920884050298456293953864783312131945889632738212284958575799413375541328921594683670190921140343016997672725788644117420023721424725215794458255278444284151341120278435849422476310838146882524002898466409830128280473129354674341744611487237286954094396857892752787357673476010960009748885865620457717085066330457023186758705283650694785900884626594431542840973766524160634924644488594116830791482629935702420983899468630438989568573809876426210214812863260822153889570182821851533443467494164834667729090528409946197346454359054272714838670985966150689330257797684584114540426026579700911903121209668036504500891298143598555643201190461377393669621039184655367005561525973065896761879663637556270554992451220757211301463855788063485923250082970619655101027307613789846923564161750487886556953718571937237493240244881410008410435776491364679467948357720355175672156640293174604577087537334837125869319975746792484828731644143342678890610275127302653044830835909316038715263041441342514425569417993759896127335680070094177972744282289105134030301317388423097735754847973113997833210680241228501676651543738972287734642188556301255624797143693854772421962956594260949705147916389219144900974117757964466773119370994502436379998268562063492284932577825848930374697122330000948063959005611878439767196119785789531855100927527456348330885275490726596561655502832771160348381184847421954587654824733922025481135964687907138963084021950999318498613801309091807479097509007442845180191025514921720110283208763369085070066193933748474090781869479602485800705579089432005022087605311207805803189587045420789912682044589049138247899167042314972555987223064495817044706665615140825441437384577724888325007978218289221413063439620610959559099192852983507925229227738358499039162689533902765904587067937679926247337776145569528687095491229429819452562464528534877302529957524827685115208187692492532711086642694701227143968061481317066306258853915115138058572279494918059215988483228653491458563313482604814790715710935365423513061855091184646491727090740586364260533720420849693687806185928523612136570385224640387495261090153141838707065750670950514395555634298245459570896910716623997564022076938175531589118965698145567653843 2745058483299374355683804832333607964004622023282428800748252248514633843247707769478812588913246944739107061916473234043605007873657783962781538381041699738933876528584331842456500323741990224865799983008531138305483412471967515192700385834620625335695491839820337076930723099270931655567668293182419856387734822323721069981786376574917494273055815071559931617053310552228222394551672640765426082397039120127227950013846518368717728029649509442721954946152643678042683136455681343255059579368940005423386244745899831936776302914231969980232186586051151016237784888209441758292077421226994357545146415009941170722148879781918966714201147066018442351978528536454428924108211344295409558585504224614975952114276848930420895661181250719761788462948995141730464889490038402641658800923838261321871981608509636861302328023424369236470909020453166640795125760024606354263772518237004462444893190038996309886269977616934132691753914520940642338395598589229987769088254493512782915949134082033745418995366557142253735809338470960261508265258426218139791217506133206821029990845503169375855473152474802198358752159323849075235825818740476248560100109773385371501390645481695522422899465025598427127123970750134241784387739817924131849063423327859875797809946836497716938727492624922431898209524657320782011829043494874547646300267689748727162821480982159601204664114475795490399035315638990613135513371219481718626181644326835821935461451250791289277244727281321224176348020529499615041066952568870913958328476488683011832285373295956015926091598948883253490181538069017797433878848180590764878150579772423745640497233026391670824216311350240126356219268977062819342281286124715804298327395203513269068266440114227273919431586611592662374213333228082171825845269556907299970051682720753906459055784107840874024915365830827048843586136447298189885848958391712302033667272308117436802322162800569272332251569884257737944309950717562215873857651854819822211027047452939667236205326735061653582075821153640811282750086891350008500544381628274550436074457250880979287860919255917388258612922844018015967976914522316318605611764961086309079919599483257709462163849180304335528668800811913222860272154288590493693628400669714782641185985217272498282284176732668961732515539345930594082543406889279967909676877772876592257893301807362847179389030501996491901918094754883091431787906151139887025745689379261845708949551800928331128183534873343956711131174962479 4441597927084623301278494896071782691707324999258704691279187006014846993727383555094124300363925322915624708015960107883708591778269166873579488540223345585621760358712754631384748081282698855460149254620797077729911587574206377113584436133076919289560275151952282966563461311555890231367081668723748777982418492514642210324803374247643282917173235095281356342269105010483500838835823981885704518246461596438066096896370521267184137859777789915851309620494388289529920423409775740112952332156297678899397204755648717802396760631317036310689209772809856299888479674110326384886508964067968124069307049934585659316265710573401596649903568049917910982417518105028238800534421559108272819407658114185158773965810292397915060495848979810290198409146341596089519162204877073627624951613168519119556565723050062887882028935327490446138945524954057938938724315667807544725149911906625501629548557044557835859335874378813796329310185075933093559152809890693843557151740416762865886568789183061053032785213480706415486297225027913980080202495919458384672627514543642597521355524971117733575828328146958838651926763900936612570662944609796224306892594602117015644733324372305797550202118070429263036440009465397283225730254243493549842823319455195555867904124809241999227832626655223749286632622393075629984943041328085227887528769366400270901793768716801789760965370100592634092890088060953569729774320924629635015400789227809939693425918023910660271747163661319492738411512814432192866915882943568036288329424552642017444163813063152135711881130803984181017637886399903072924605444742246267710921740120804930487919187614046495558138336831376091044126407940146841293280604623329605607419202682610778075709285294418299434353306721875871137582418298148365759593743647689169449654168521459485548487789129928479336123171634016635889006926359980234474898096639611469075982244864104659866817979845275937947392395325695122522034839042570194092146873267883261831638007012038860089188834660290881320434320192803500816652852795937076438224307875612326581643985937976470517290738708479852787147800146547973492804599637524506298104297672172951774620826627225770943480915486563189443783938870485502355190213504578976922281892128278096123790800007988209217649600245730816823700185837657684823129771149813688330526571460682778186416913943933232404029417997257582055059933461948842102738420546695521323991148950158756425573549364950408066359066462462922409276742616322 7186656410383997656962299728405390655711947022541133492027439254529480836975091324572936889277172267654731769932433341927313599651926950836361026921265045324555636887297086473841248405024689080325949237629328216035395000046173892306284821967697544625255766991772620043494184410826821886934749961906168634370153314838363280306589750822560777190229050166841287959322415562711723233387496622651130600643500716565294046910217039635901865889427299358573264566647031967572603559865457083368011911525237684322783449501548549739173063545549006290921396358861007316126264562319768143178586385294962481614453464944526830038414590355320563364104715115936353334396046641482667724642632903403682377993162338800134726080087141328335956157030230530051986872095336737819984051694915476269283752537006780441428547331559699749184356958751859682609854545407224579733850075692413898988922430143629964074441747083554145745605851995747929021064099596873735897548408479923831326239994910275648802517923265094798451780580037848669222106563498874241588467754345676524463845020676849418551346370474287109431301480621761037010678923224785687806488763350272472866992704375502387146123969854001319973101583096027690163563980215531525010117994061417681691886742783055431665714071645739716166560119280146181184842147050396411996772084822959775533829037056148998064615249698961390965629484576388124491925403699944182865287692144111353641582433554645761628887369274701949548991890942640716914759533343931807907982835512438950246657901041325029276449186359108151637972729752867434507819424468920870358484292922837032589072319893228676128416420640438166382354648181616217400345676917209660635561890748045409905746597886124047143975725408645573353784893333468533511795751526230537585439013204596469419705851242213392007543573237769353361038537464843684732593062807278424360747055031323771109649517172222096669140142645845210279643965209952860466344789760132409966004525122703084042665054464978527325394161395352534902510141346444312099402939687287084938768689503886877017718443188857449805151657964397241045760722990565989460781514159840824903716062633259260854540426110483480405644764666867524972452739682398725215462367793169470615910292797992878764976785225260707499933776978399778556215725183588278905673178039093656240203449233559370444310215751296079583418448499254073956978028216831933534526326697835408349736838329420602134523101165878739194542601335806879120407917578801 11628254337468620958240794624477173347419272021799838183306626260544327830702474879667061189641097590570356477948393449811022191430196117709940515461488390910177397246009841105225996486307387935786098492250125293765306587620380269419869258100774463914816042143724903010057645722382712118301831630629917412352571807353005490631393125070204060107402285262122644301591520573195224072223320604536835118889962313003360143806587560903086003749205089274424574187141420257102523983275232823480964243681535363222180654257197267541569824176866042601610606131670863616014744236430094528065095349362930605683760514879112489354680300928722160014008283165854264316813564746510906525177054462511955197400820452985293500045897433726251016652879210340342185281241678333909503213899792549896908704150175299560985113054609762637066385894079350128748800070361282518672574391360221443714072342050255465703990304128111981604941726374561725350374284672806829456701218370617674883391735327038514689086712448155851484565793518555084708403788526788221668670250265134909136472535220492016072701895445404843007129808768719875662605687125722300377151707960068697173885298977619402790857294226307117523303701166456953200003989680928808235848248304911231534710062238250987533618196454981715394392745935369930471474769443472041981715126151045003421357806422549268966409018415763180726594854676980758584815491760897752595062013068740988656983222782455701322313287298612609820739054603960209653171046158364000774898718456006986534987325593967046720612999422260287349853860556851615525457310868823943283089737665083300299994060014033606616335608254484661940492985012992308444472084857356501928842495371375015513165800568734825219685010703063872788138200055344404649378169824378903345032756852285638869360019763672877556031362367697832697161709098860320621599989167258658835645151670935240185631762036326756535958122491121148227036360535647982988379628802702604058151398390586345874303061477017387414582996055643416222944461539247812916055792483224161376992997379499203599362429126833920322442396672877093832908523137113962953586113797365331201820360305432212629161252737709251349125680153430714416236678552884227570652581297748447538192184926270974888767585233248916717583377224130595379915911021245963728802949188907344570730020694242148630727129695229311987447866496511656012037961678780775637264747244530929673727987279579358560096650530829147260901667798269801529684660195123 18814910747852618615203094352882564003131219044340971675334065515073808667677566204239998078918269858225088247880826791738335791082123068546301542382753436234733034133306927579067244891332077016112047729879453509800701587666554161726154080068472008540071809135497523053551830133209534005236581592536086046722725122191368770937982875892764837297631335428963932260913936135906947305610817227187965719533463029568654190716804600538987869638632388632997838753788452224675127543140689906848976155206773047544964103758745817280742887722415048892532002490531870932141008798749862671243681734657893087298213979823639319393094891284042723378112998281790617651209611387993574249819687365915637575393982791785428226125984575054586972809909440870394172153337015071729487265594708026166192456687182080002413660386169462386250742852831209811358654615768507098406424467052635342702994772193885429778432051211666127350547578370309654371438384269680565354249626850541506209631730237314163491604635713250649936346373556403753930510352025662463257138004610811433600317555897341434624048265919691952438431289390480912673284610350507988183640471310341170040878003353121789936981264080308437496405284262484643363567969896460333245966242366328913226596805021306419199332268100721431560952865215516111656316916493868453978487210974004778955186843478698267031024268114724571692224339253368883076740895460841935460349705212852342298565656337101462951200656573314559369730945546600926567930579502295808682881553968445936781645226635292075997062185781368438987826590309719050033276735337744813641574030587920332889066379907262282744752028894922828322847633194608525844817761774566162564404386119420425418912398454858872363660736111709446141923093388812938161173921350609440930471770056882108289065871005886269563574935605467186058200246563704005354193051974537083196392206702259011295281279208548853205098265136966358506680325745600843454724418562835014024155923513289429916968115941995914739977157450995951125454602885692125015458732170511246315761686883386080617080872315691370127594054637274334878669246127679952414367627957206156105536422938691473483701678848192731754770444820298239388689418235282952786114949090917918154102477724263853653744370458509624217517154202530373936131636204834242634476127228001000810933469927801519075037345446525391570866314995765729969015989895612709171791073942366338023464825608999960694619751696707886455444269134076680650092577773924 30443165085321239573443888977359737350550491066140809858640691775618136498380041083907059268559367448795444725829220241549357982512319186256242057844241827144910431379316768684293241377639464951898146222129578803566008175286934431146023338169246472454887851279222426063609475855592246123538413223166003459075296929544374261569376000962968897405033620691086576562505456709102171377834137831724800838423425342572014334523392161442073873387837477907422412940929872481777651526415922730329940398888308410767144758015943084822312711899281091494142608622202734548155753035179957199308777084020823692981974494702751808747775192212764883392121281447644881968023176134504480774996741828427592772794803244770721726171882008780837989462788651210736357434578693405638990479494500576063101160837357379563398773440779225023317128746910559940107454686129789617078998858412856786417067114244140895482422355339778108955489304744871379721812668942487394810950845221159181093023465564352678180691348161406501420912167074958838638914140552450684925808254875946342736790091117833450696750161365096795445561098159200788335890297476230288560792179270409867214763302330741192727838558306615555019708985428941596563571959577389141481814490671240144761306867259557406732950464555703146955345611150886042127791685937340495960202337125049782376544649901247535997433286530487752418819193930349641661556387221739688055411718281593330955548879119557164273513943871927169190470000150561136221101625660659809457780272424452923316632552229259122717675185203628726337680450866570665558734046206568756924663768253003633189060439921295889361087637149407490263340618207600834289289846631922664493246881490795440932078199023593697583345746814773318930061293444157342810552091174988344275504526909167747158425890769559147119606297973165018755361955662564325975793041141795742032037358373194251480913041244875609741056387628087506733716686281248826443104047365537618082307321903875775791271177419013302154560153506639367348399064424939937931514524653735407692754684262885284216443301442525290450036451310151428711577769264793915367953741754571487307356783244123686112862931585901983103896124973728953804926096788167180356767530388666365692294662650534828542511955691758540935100531426660969316047547226080206363279076416908345381663490622043667705764475141754703558314181492277385981053951574393484809055821186897267697192812888579319254716402227537033716345936932346482179777237969047 49258075833173858188646983330242301353681710110481781533974757290691945166057607288147057347477637307020532973710047033287693773594442254802543600226995263379643465512623696263360486268971541968010193952009032313366709762953488592872177418237718480994959660414719949117161305988801780128774994815702089505798022051735743032507358876855733734702664956120050508823419392845009118683444955058912766557956888372140668525240196761981061743026469866540420251694718324706452779069556612637178916554095081458312108861774688902103055599621696140386674611112734605480296761833929819870552458818678716780280188474526391128140870083496807606770234279729435499619232787522498055024816429194343230348188786036556149952297866583835424962272698092081130529587915708477368477745089208602229293617524539459565812433826948687409567871599741769751466109301898296715485423325465492129120061886438026325260854406551444236306036883115181034093251053212167960165200472071700687302655195801666841672295983874657151357258540631362592569424492578113148182946259486757776337107647015174885320798427284788747883992387549681701009174907826738276744432650580751037255641305683862982664819822386923992516114269691426239927139929473849474727780733037569057987903672280863825932282732656424578516298476366402153784108602431208949938689548099054561331731493379945803028457554645212324111043533183718524738297282682581623515761423494445673254114535456658627224714600445241728560200945697162062789032205162955618140661826392898860098277778864551198714737370984997165325507041176289715592010781544313570566237798840923966078126819828558172105839666044330318586188251402209360134107608406488827057651267610215866350990597478452569947006482926482765071984386832970280971726012525597785205976296966049855447491761775445416683181233578632204813562202226268331329986093116332825228429565075453262776194320453424462946154652765053865240397012026849669897828465928372632106463245417165205708239293361009216894537310957635318473853667310632062946973256824246654008516371146271364833524173758216660577630505947425763590247015392473867782321369711777643412893206182815159596564610434094714858666569794027193193615515023450133142882479479584283846397140374798682196256326150268165152617685629191343252179183430914448997755203644909346192596960549845186780801820588280095129180496488043115950069941470006193980846895129263605720657638497579279949336153924244920171790206066423162829869815742971 79701240918495097762090872307602038704232201176622591392615449066310081664437648372054116616037004755815977699539267274837051756106761441058785658071237090524553896891940464947653727646611006919908340174138611116932717938240423024018200756406964953449847511693942375180770781844394026252313408038868092964873318981280117294076734877818702632107698576811137085385924849554111290061279092890637567396380313714712682859763588923423135616414307344447842664635648197188230430595972535367508856952983389869079253619790631986925368311520977231880817219734937340028452514869109777069861235902699540473262162969229142936888645275709572490162355561177080381587255963657002535799813171022770823120983589281326871678469748592616262951735486743291866887022494401883007468224583709178292394778361896839129211207267727912432885000346652329691573563988028086332564422183878348915537129000682167220743276761891222345261526187860052413815063722154655354976151317292859868395678661366019519852987332036063652778170707706321431208338633130563833108754514362704119073897738133008336017548588649885543329553485708882489345065205302968565305224829851160904470404608014604175392658380693539547535823255120367836490711889051238616209595223708809202749210539540421232665233197212127725471644087517288195911900288368549445898891885224104343708276143281193339025890841175700076529862727114068166399853669904321311571173141776039004209663414576215791498228544317168897750670945847723199010133830823615427598442098817351783414910331093810321432412556188625891663187492042860381150744827750882327490901567093927599267187259749854061466927303193737808849528869609810194423397455038411491550898149101011307283068796502046267530352229741256084002045680277127623782278103700586129481480823875217602605917652545004563802787531551797223568924157888832657305779134258128567260466923448647514257107361698300072687211040393141371974113698308098496340932513293910250188770567321040981499510470780022519049097464464274685822252731735572000878487781477982061701271055409156649049967475200741951027666957257577192301824784657267783150275111466349130720249989426938845709427542019996697962562694767756146998541611811617313499650009868250649538691803025333510738768281842026706087718217055852312568226730656994655361034280061817691574260451171888854486566295730034798687494677980320501931123893044399678789902716316160873417850451386158599204052556151781953888136142998769645009647053712018 128959316751668955950737855637844340057913911287104372926590206357002026830495255660201173963514642062836510673249314308124745529701203695861329258298232353904197362404564161211014213915582548887918534126147643430299427701193911616890378174644683434444807172108662324297932087833195806381088402854570182470671341033015860326584093754674436366810363532931187594209344242399120408744724047949550333954337202086853351385003785685404197359440777210988262916330366521894683209665529148004687773507078471327391362481565320889028423911142673372267491830847671945508749276703039596940413694721378257253542351443755534065029515359206380096932589840906515881206488751179500590824629600217114053469172375317883021630767615176451687914008184835372997416610410110360375945969672917780521688395886436298695023641094676599842452871946394099443039673289926383048049845509343841044657190887120193546004131168442666581567563070975233447908314775366823315141351789364560555698333857167686361525283315910720804135429248337684023777763125708676981291700773849461895411005385148183221338347015934674291213545873258564190354240113129706842049657480431911941726045913698467158057478203080463540051937524811794076417851818525088090937375956746378260737114211821285058597515929868552303987942563883690349696008890799758395837581433323158905040007636661139142054348395820912400640906260297786691138150952586902935086934565270484677463777950032874418722943144762410626310871891544885261799166035986571045739103925210250643513188109958361520147149927173623056988694533219150096742755609295195898057139365934851565345314079578412233572766969238068127435717121012019554557505063444900318608549416711227173634059393980498837477358712667738849074030067110097904754004116226183914687457120841267458053409414320449980485968765130429428382486360115100988635765227374461392488896488524100777033301682151724535633365693158195237214510710334948166238760979222282882295233812738206187207749764141031735943634775421910004296106399046204063825461038302228715709787426555428013883491648958958611605297463205002955892071800049741650932596481178126774133143195609754005305992152454091412821229264561783340192157126835067446642532489347834933385088943400132192935024607992294871240335902685043655820405914087909104358789483706727037766857411721734041267368116318314893816675174468363617881193834514405872770749611445424479138508089883737879153388710076026874059926349065192807839516869454989 208660557670164053712828727945446378762146112463726964319205655423312108494932904032255290579551646818652488372788581582961797285807965136920114916369469444428751259296504626158667941562193555807826874300286254547232145639434334640908578931051648387894654683802604699478702869677589832633401810893438275435544660014295977620660828632493138998918062109742324679595269091953231698806003140840187901350717515801566034244767374608827332975855084555436105580966014719082913640261501683372196630460061861196470616101355952875953792222663650604148309050582609285537201791572149374010274930624077797726804514412984677001918160634915952587094945402083596262793744714836503126624442771239884876590155964599209893309237363769067950865743671578664864303632904512243383414194256626958814083174248333137824234848362404512275337872293046429134613237277954469380614267693222189960194319887802360766747407930333888926829089258835285861723378497521478670117503106657420424094012518533705881378270647946784456913599956044005454986101758839240814400455288212166014484903123281191557355895604584559834543099358967446679699305318432675407354882310283072846196450521713071333450136583774003087587760779932161912908563707576326707146971180455187463486324751361706291262749127080680029459586651400978545607909179168307841736473318547263248748283779942332481080239236996612477170768987411854857538004622491224246658107707046523681673441364609090210221171689079579524061542837392608460809299866810186473337546024027602426928098441052171841579562483362248948651882025262010477893500437046078225548040933028779164612501339328266295039694272431805936285245990621829748980902518483311810159447565812238480917128190482545105007710942408994933076075747387225528536282219926770044168937944716485060659327066865454544288756296682226651951410518003933645941544361632589959749363411972748291290409043850024608320576733551336609188624408643046662579693492516193132484004380059247168707260234921054254992732239886184690118359130781776064703948819780210777411058481964584662933459124159700562632964420462580148193896584707009434082871592644475904853393185036692851015419694474088110783791959329539487190698738646684760142182499216085582923780746425465703673792889834321577328054119740895968388632644744903759719823763768544729341117862893622895753934412048349692504169852448684119812317727558805551560652327761585352556358541269896478357441266227808827948062492063962452849163923167007 337619874421833009663566583583290718820060023750831337245795861780314135325428159692456464543066288881488999046037895891086542815509168832781444174667701798332948621701068787369682155477776104695745408426433897977531573340628246257798957105696331822339461855911267023776634957510785639014490213748008457906216001047311837947244922387167575365728425642673512273804613334352352107550727188789738235305054717888419385629771160294231530335295861766424368497296381240977596849927030831376884403967140332523861978582921273764982216133806323976415800881430281231045951068275188970950688625345456054980346865856740211066947675994122332684027535242990112144000233466016003717449072371456998930059328339917092914940004978945519638779751856414037861720243314622603759360163929544739335771570134769436519258489457081112117790744239440528577652910567880852428664113202566031004851510774922554312751539098776555508396652329810519309631693272888301985258854896021980979792346375701392242903553963857505261049029204381689478763864884547917795692156062061627909895908508429374778694242620519234125756645232226010870053545431562382249404539790714984787922496435411538491507614786854466627639698304743955989326415526101414798084347137201565724223438963182991349860265056949232333447529215284668895303918069968066237574054751870422153788291416603471623134587632817524877811675247709641548676155575078127181745042272317008359137219314641964628944114833841990150372414728937493722608465902796757519076649949237853070441286551010533361726712410535872005640576558481160574636256046341274123605180298963630729957815418906678528612461241669874063720963111633849303538407581928212128767996982523465654551187584463043942485069655076733782150105814497323433290286336152953958856395065557752518712736481185904524774725061812656080333896878119034634577309589007051352238259900496849068323710726001749143953942426709531846403135118977994828818454471738476014779238192797453355915009999062085990936367015308094694414465529827980128529409858082439493120845908520012676816950773118659174238261883667583104085968384756751085015468073822602678986536380646446856321411846928179523605021223891322827382855865481752206784714988563920516308869689825597896608817497826616448568390022425939624209038558832812864078613247475271767107975274615356937021302528366664586320845026917047737693511562073211424331401939207009831694866631153634357510829976303835702007988841129155260688680792621996 546280432091997063376395311528737097582206136214558301565001517203626243820361063724711755122617935700141487418826477474048340101317133969701559091037171242761699880997573413528350097039969660503572282726720152524763718980062580898707536036747980210234116539713871723255337827188375471647892024641446733341760661061607815567905751019660714364646487752415836953399882426305583806356730329629926136655772233689985419874538534903058863311150946321860474078262395960060510490188532514749081034427202193720332594684277226640936008356469974580564109932012890516583152859847338344960963555969533852707151380269724888068865836629038285271122480645073708406793978180852506844073515142696883806649484304516302808249242342714587589645495527992702726023876219134847142774358186171698149854744383102574343493337819485624393128616532486957712266147845835321809278380895788220965045830662724915079498947029110444435225741588645805171355071770409780655376358002679401403886358894235098124281824611804289717962629160425694933749966643387158610092611350273793924380811631710566336050138225103793960299744591193457549752850749995057656759422100998057634118946957124609824957751370628469715227459084676117902234979233677741505231318317656753187709763714544697641123014184029912362907115866685647440911827249136374079310528070417685402536575196545804104214826869814137354982444235121496406214160197569351428403149979363532040810660679251054839165286522921569674433957566330102183417765769606943992414195973265455497369384992062705203306274893898120954292458583743171052529756483387352349153221231992409894570316758234944823652155514101680000006209102255679052519310100411523938927444548335704135468315774945589047492780597485728715226181561884548961826568556079724003025333010274237579372063548051359069063481358494882732285307396122968280518853950639641311987623312469597359614119769851773752274519160260868455591759527621041491398147964254669147263242572856700524622270233983140245929099255194279384532824660609756193233358677862650270531904390484597339750409897278359736871226304130163252279864969463760519098339666467078583839929565683139707336831541402267634388813183220862314573554604128436966926897487780006099232650436251063600282610387660938025896444142166835592597671203577716623798437011243816496449093137508979832775236940415014278825014879365731857505829289632016975892054266968595184251225172423530835868271242531644529956051333193117713537844715789003 883900306513830073039961895112027816402266159965389638810797378983940379145789223417168219665684224581630486464864373365134882916826302802483003265704873041094648502698642200898032252517745765199317691153154050502295292320690827156506493142444312032573578395625138747031972784699161110662382238389455191247976662108919653515150673406828289730374913395089349227204495760657935913907457518419664371960826951578404805504309695197290393646446808088284842575558777201038107340115563346125965438394342526244194573267198500405918224490276298556979910813443171747629103928122527315911652181314989907687498246126465099135813512623160617955150015888063820550794211646868510561522587514153882736708812644433395723189247321660107228425247384406740587744119533757450902134522115716437485626314517872010862751827276566736510919360771927486289919058413716174237942494098354251969897341437647469392250486127886999943622393918456324480986765043298082640635212898701382383678705269936490367185378575661794979011658364807384412513831527935076405784767412335421834276720140139941114744380845623028086056389823419468419806396181557439906163961891713042422041443392536148316465366157482936342867157389420073891561394759779156303315665454858318911933202677727688990983279240979144696354645081970316336215745319104440316884582822288107556324866613149275727349414502631662232794119482831137954890315772647478610148192251680540399947879993893019468109401356763559824806372295267595906026231672403701511490845922503308567810671543073238565032987304433992959933035142224331627166012529728626472758401530956040624528132177141623352264616755771554063727172213889528356057717682339736067695441530859169790019503359408632989977850252562462497376287376381872395116854892232677961881728075831990098084800029237263593838206420307538812619204274242002915096163539646692664225883212966446427937830495853522896228461586970400301994894646599036320216602435993145162042480765654153880537280233045226236865466270502374078947290190437736321762768535945089763652750299004610016567360670397018911109488187797746356365833354220511604113807740289681262826465946329586563658243388330447157993834407112185141956410469610189173711612476343926615541520126076661496891427885487554474464834164592775216806709762410529487877050258719088263557068412124336769796539468781678865145859906282779595199340851705228400223456206175605015946091803577165193379101218835480231964040174322272974226525508410999 1430180738605827136416357206640764913984472296179947940375798896187566622966150287141879974788302160281771973883690850839183223018143436772184562356742044283856348383696215614426382349557715425702889973879874203027059011300753408055214029179192292242807694935339010470287310611887536582310274263030901924589737323170527469083056424426489004095021401147505186180604378186963519720264187848049590508616599185268390225378848230100349256957597754410145316653821173161098617830304095860875046472821544719964527167951475727046854232846746273137544020745456062264212256787969865660872615737284523760394649626396189987204679349252198903226272496533137528957588189827721017405596102656850766543358296948949698531438489664374694818070742912399443313767995752892298044908880301888135635481058900974585206245165096052360904047977304414444002185206259551496047220874994142472934943172100372384471749433156997444378848135507102129652341836813707863296011570901380783787565064164171588491467203187466084696974287525233079346263798171322235015877378762609215758657531771850507450794519070726822046356134414612925969559246931552497562923383992711100056160390349660758141423117528111406058094616474096191793796373993456897808546983772515072099642966392272386632106293425009057059261760948655963777127572568240814396195110892705792958861441809695079831564241372445799587776563717952634361104475970216830038551342231044072440758540673144074307274687879685129499240329861597698089443997442010645503905041895768764065180056535135943768339262198332113914225493725967502679695769013115978821911622762948450519098448935376568175916772269873234063733381316145207408577027782751260006622886079194873925487819134354222037470630850048191212602468938266421356943423448312401964907061086106227677456863577288622662901687778802421544904511670364971195615017490286333976213506525436043787551950265705296648502980747231268757586654174220077811614750400247814309305723338510854405159550467028366482794565525696653463480114851047492514996127213807740034184654689489207356317770567675378647980714491927909608645698323684272123212147406756759846666395512012726270995074929732714792382647590333047456529965073738626140638509964123932714774170562327725097174038273148492500361278306759610809404380965988246111675487269962904760006161549633316602571776409196693143970874785648511452705170141337245376115510473144200200197316976000696029247372461367124761920091507515390687764370224200002 2314081045119657209456319101752792730386738456145337579186596275171507002111939510559048194453986384863402460348555224204318105934969739574667565622446917324950996886394857815324414602075461190902207665033028253529354303621444235211720522321636604275381273330964149217319283396586697692972656501420357115837713985279447122598207097833317293825396314542594535407808873947621455634171645366469254880577426136846795030883157925297639650604044562498430159229379950362136725170419659207001011911215887246208721741218674227452772457337022571694523931558899234011841360716092392976784267918599513668082147872522655086340492861875359521181422512421201349508382401474589527967118690171004649280067109593383094254627736986034802046495990296806183901512115286649748947043402417604573121107373418846596068996992372619097414967338076341930292104264673267670285163369092496724904840513538019853863999919284884444322470529425558454133328601857005945936646783800082166171243769434108078858652581763127879675985945890040463758777629699257311421662146174944637592934251911990448565538899916349850132412524238032394389365643113109937469087345884424142478201833742196906457888483685594342400961773863516265685357768753236054111862649227373391011576169070000075623089572665988201755616406030626280113343317887345254713079693714993900515186308422844355558913655875077461820570683200783772315994791742864308648699534482724612840706420667037093775384089236448689324046702156865293995470229114414347015395887818272072632990728078209182333372249502766106874158528868191834306861781542844605294670024293904491143626581112518191528181389025644788127460553530034735764634745465090996074318327610054043715507322493762855027448481102610653709978756314648293752060278340545079926788789161938217775541663606525886256739894199109960357523715944606974110711181029933026640439389738402490215489780761558819544731442334201669059581548820819114131831352836240959471348204104165008285696830700073592719660031796199027542427405041485228836758895749752829797837404988493817372885131238072397559090202679725655965011531677904783727325955147046441109492861458342312834653318318063161950376481997445232598486375543348815314350122440467859330315690688404386594065466158636046974826112471352386026211090728398775599552537528681993023563229961757653372368315877978372009116734691931291047904510993042473776338966679319805216143408779577861222626473680202604993884131681837663661990895732611001 3744261783725484345872676308393557644371210752325285519562395171359073625078089797700928169242288545145174434232246075043501328953113176346852127979188961608807345270091073429750796951633176616605097638912902456556413314922197643266934551500828896518188968266303159687606594008474234275282930764451259040427451308449974591681263522259806297920417715690099721588413252134584975354435833214518845389194025322115185256262006155397988907561642316908575475883201123523235343000723755067876058384037431966173248909170149954499626690183768844832067952304355296276053617504062258637656883655884037428476797498918845073545172211127558424407695008954338878465970591302310545372714792827855415823425406542332792786066226650409496864566733209205627215280111039542046991952282719492708756588432319821181275242157468671458319015315380756374294289470932819166332384244086639197839783685638392238335749352441881888701318664932660583785670438670713809232658354701462949958808833598279667350119784950593964372960233415273543105041427870579546437539524937553853351591783683840956016333418987076672178768658652645320358924890044662435032010729877135242534362224091857664599311601213705748459056390337612457479154142746692951920409632999888463111219135462272462255195866090997258814878166979282243890470890455586069109274804607699693474047750232539435390477897247523261408347246918736406677099267713081138687250876713768685281464961340181168082658777116133818823287032018462992084914226556424992519300929714040836698170784613345126101711511701098220788384022594159336986557550555960584116581647056852941662725030047894759704098161295518022191193934846179943173211773247842256080941213689248917640995141628117077064919111952658844922581225252914715109003701788857481891695850248044445452998527183814508919641581977912381902428227614971945306326198520219360616652896263838534003041731027264116193234423081432937817168202995039191943446103236488773780653927442675862690856381167101959202454597321895681005907519892532721351755022963560569832022059677983024729202901805747776207070917171653565573657230001589055850538102553803200956159256970355039105648393247795876742759129587778280055016340617087441454988632404591792045089861250732111691239504431784539475187390778111996835615471694387021711228024798644897783569391511390969974940092287175065153087609477579802500609681134379719152454477152464005416340725755578557251873846141569729755804223189353054349755265956811003 6058342828845141555328995410146350374757949208470623098748991446530580627190029308259976363696274930008576894580801299247819434888082915921519693601635878933758342156485931245075211553708637807507305303945930710085767618543641878478655073822465500793570241597267308904925877405060931968255587265871616156265165293729421714279470620093123591745814030232694256996222126082206430988607478580988100269771451458961980287145164080695628558165686879407005635112581073885372068171143414274877070295253319212381970650388824181952399147520791416526591883863254530287894978220154651614441151574483551096558945371441500159885665073002917945589117521375540227974352992776900073339833482998860065103492516135715887040693963636444298911062723506011811116792226326191795938995685137097281877695805738667777344239149841290555733982653457098304586393735606086836617547613179135922744624199176412092199749271726766333023789194358219037918999040527719755169305138501545116130052603032387746208772366713721844048946179305314006863819057569836857859201671112498490944526035595831404581872318903426522311181182890677714748290533157772372501098075761559385012564057834054571057200084899300090860018164201128723164511911499929006032272282227261854122795304532272537878285438756985460570494573009908524003814208342931323822354498322693593989234058655383790949391553122600723228917930119520178993094059455945447335950411196493298122171382007218261858042866352582508147333734175328286080384455670839339534696817532312909331161512691554308435083761203864327662542551462351171293419332098805189411251671350757432806351611160412951232279550321162810318654488376214678937846518712933252155259541299302961356502464121879932092367593055269498632559981567563008861063980129402561818484639409982663228540190790340395176381476177022342259951943559578919417037379550152387257092286002241024218531511788822935737965865415634606876749751815858306075277456072729733252002131546840870976553211867175551922114629118094708548334924934017950188513918713313399629859464666476842102088033043820173766161119851379221538668761679493839577864057700849642065652118428697351940301711565859038693135611585223512653502716160436256769338754845059651375405551939136498285304970590420586450013503249464382861826562422785797310780562327326890807132621473148623347308408165153437162204344169511093548514192127422192928793443831783810632484134535156418474500319821772334749688354871190718011746161689422004 9802604612570625901201671718539908019129159960795908618311386617889654252268119105960904532938563475153751328813047374291320763841196092268371821580824840542565687426577004674826008505341814424112402942858833166642180933465839521745589625323294397311759209863570468592532471413535166243538518030322875196692616602179396305960734142352929889666231745922793978584635378216791406343043311795506945658965476781077165543407170236093617465727329196315581110995782197408607411171867169342753128679290751178555219559558974136452025837704560261358659836167609826563948595724216910252098035230367588525035742870360345233430837284130476369996812530329879106440323584079210618712548275826715480926917922678048679826760190286853795775629456715217438332072337365733842930947967856589990634284238058488958619481307309962014052997968837854678880683206538906002949931857265775120584407884814804330535498624168648221725107859290879621704669479198433564401963493203008066088861436630667413558892151664315808421906412720587549968860485440416404296741196050052344296117819279672360598205737890503194489949841543323035107215423202434807533108805638694627546926281925912235656511686113005839319074554538741180643666054246621957952681915227150317234014439994545000133481304847982719385372739989190767894285098798517392931629302930393287463281808887923226339869450370123984637265177038256585670193327169026586023201287910261983403636343347399429940701643468716326970620766193791278165298682227264332053997747246353746029332297304899434536795272904962548450926574056510508279976882654765773527833318407610374469076641208307710936377711616680832509848423222394622111058291960775508236200754988551878997497605749997009157286705007928343555141206820477723970067681918260043710180489658027108681538717974154904096023058154934724162380171174550864723363578070371747873745182266079558221573242816087051931200288497067544693917954810897498018723559309218507032656058989516733667409593034277511124569226439990389554242444826550671540268941676873969461881524344459866831290934849567949973232037023032787112325991681082895428402160254652843021811375399052391045950104813654915435894741173001792708519056777523698224327387249651443420495413189868609976544475022205125925200894027576379697442034117172819022008587125971788590702012984539593322248500452328502315291953647090896049123873261801912081247920984247816048824860290734975726374165963342064505492578060543772361501427646233007 15860947441415767456530667128686258393887109169266531717060378064420234879458148414220880896634838405162328223393848673539140198729279008189891515182460719476324029583062935919901220059050452231619708246804763876727948552009481400224244699145759898105329451460837777497458348818596098211794105296194491352957781895908818020240204762446053481412045776155488235580857504298997837331650790376495045928736928240039145830552334316789246023893016075722586746108363271293979479343010583617630198974544070390937190209947798318404424985225351677885251720030864356851843573944371561866539186804851139621594688241801845393316502357133394315585930051705419334414676576856110692052381758825575546030410438813764566867454153923298094686692180221229249448864563691925638869943652993687272511980043797156735963720457151252569786980622294952983467076942144992839567479470444911043329032083991216422735247895895414554748897053649098659623668519726153319571268631704553182218914039663055159767664518378037652470852592025901556832679543010253262155942867162550835240643854875503765180078056793929716801131024434000749855505956360207180034206881400254012559490339759966806713711771012305930179092718739869903808177965746550963984954197454412171356809744526817538011766743604968179955867312999099291898099307141448716753983801253086881452515867543307017289261003492724707866183107157776764663287386624972033359151699106755281525807725354617691798744509821298835117954500369119564245683137898103671588694564778666655360493809996453742971879034108826876113469125518861679573396214753570962939084989758367807275428252368720662168657261937843642828502911598609301048904810673708760391460296287854840354000069871876941249654298063197842187701188388040732831131662047662605528665129068009771910078908764495299272404534331957066422332114734129784140400957620524135130837468268320582440104754604909987669166153912702151570667706626755804094001015381948240284658190536357604643962804901453063046683855558085098102577369760568621728782860390187369091740989010936708933378967893388123739393156874412008650994753360576735006266217955502485087463493827749742986251816379513954129030352758225305362021772937959954993666142094711094795900965129005108261849445612625712375214397277040762559268596539958616332789149453298679397834634457688216669556908617481939477496297816601989597638065389224105010041364816031626681308994825891394200874485785114399255180932931734490373247589335655011 25663552053986393357732338847226166413016269130062440335371764682309889131726267520181785429573401880316079552206896047830460962570475100458263336763285560018889717009639940594727228564392266655732111189663597043370129485475320921969834324469054295417088661324408246089990820232131264455332623326517366549650398498088214326200938904798983371078277522078282214165492882515789243674694102172001991587702405021116311373959504552882863489620345272038167857104145468702586890514877752960383327653834821569492409769506772454856450822929911939243911556198474183415792169668588472118637222035218728146630431112162190626747339641263870685582742582035298440855000160935321310764930034652291026957328361491813246694214344210151890462321636936446687780936901057659481800891620850277263146264281855645694583201764461214583839978591132807662347760148683898842517411327710686163913439968806020753270746520064062776474004912939978281328337998924586883973232124907561248307775476293722573326556670042353460892759004746489106801540028450669666452684063212603179536761674155176125778283794684432911291080865977323784962721379562641987567315687038948640106416621685879042370223457125311769498167273278611084451844019993172921937636112681562488590824184521362538145248048452950899341240052988290059792384405939966109685613104183480168915797676431230243629130453862848692503448284196033350333480713793998619382352987017017264929444068702017121739446153290015162088575266562910842410981820125368003642692312025020401389826107301353177508674307013789424564395699575372187853373097408336736466918308165978181744504893577028373105034973554524475338351334821003923159963102634484268627661051276406719351497675621873950406941003071126185742842395208518456801199343965922649238845618726036880591617626738650203368427592486891790584712285908680648863764535690895883004582650534400140661677997420997039600366442409769696264585661437653302112724574691166747317314249525874338311372397935730574171253081998075487656819814587119293269051802067061338553622513355396575764669902742956073712625193897444795763320745041659630434668378210155328109274869226802134032201921193168869564925093931227098070540829715483653217993529344362538216396378318873718238393920634830838300415291304617142256710630657131435354797736579270467988536647442227809991805409069810441792788251463692885646761938651026017091289285800279442730133855116626369927248651748456463760673510992278262734749016981888018 41524499495402160814263005975912424806903378299328972052432142746730124011184415934402666326208240285478407775600744721369601161299754108648154851945746279495213746592702876514628448623442718887351819436468360920098078037484802322194079023614814193522418112785246023587449169050727362667126728622711857902608180393997032346441143667245036852490323298233770449746350386814787081006344892548497037516439333261155457204511838869672109513513361347760754603212508739996566369857888336578013526628378891960429599979454570773260875808155263617129163276229338540267635743612960033985176408840069867768225119353964036020063841998397265001168672633740717775269676737791432002817311793477866572987738800305577813561668498133449985149013817157675937229801464749585120670835273843964535658244325652802430546922221612467153626959213427760645814837090828891682084890798155597207242472052797237176005994415959477331222901966589076940952006518650740203544500756612114430526689515956777733094221188420391113363611596772390663634219571460922928608626930375154014777405529030679890958361851478362628092211890411324534818227335922849167601522568439202652665906961445845849083935228137617699677259992018480988260021985739723885922590310135974659947633929048180076157014792057919079297107365987389351690483713081414826439596905436567050368313543974537260918391457355573400369631391353810114996768100418970652741504686123772546455251794056634813538190663111313997206529766932030406656664958023471675231386876803687056750319917297806920480553341122616300677864825094233867426769312161907699406003297924345989019933145945749035273692235492368118166854246419613224208867913308193029019121347564261559705497745493750891656595301134324027930543583596559189632331006013585254767510747794046652501696535503145502640832126818848857007044400642810433004165493311420018135420118802720723101782752025907027269532596322471847835253368064409106206725590073114987601972440062231942955335202837183637217936937556160585759397184347687914997834662457248707645363502366333284698048870636344197452018350771856804414315498402236365440934596165657813196738363054551877018453737572682823693955446689452403432562602653443608211659671439073633012297343447878826500243366247456550675629688581657904815979227197090051687586886032569147386371281899916026661362317687292381270284549280294875244400004040250122101330650616311069411442849942517764128123137533570863015854443924012753107996606317543029 67188051549388554171995344823138591219919647429391412387803907429040013142910683454584451755781642165794487327807640769200062123870229209106418188709031839514103463602342817109355677187834985543083930626131957963468207522960123244163913348083868488939506774109654269677439989282858627122459351949229224452258578892085246672642082572044020223568600820312052663911843269330576324681038994720499029104141738282271768578471343422554973003133706619798922460316654208699153260372766089538396854282213713529922009748961343228117326631085175556373074832427812723683427913281548506103813630875288595914855550466126226646811181639661135686751415215776016216124676898726753313582241828130157599945067161797391060255882842343601875611335454094122625010738365807244602471726894694241798804508607508448125130123986073681737466937804560568308162597239512790524602302125866283371155912021603257929276740936023540107696906879529055222280344517575327087517732881519675678834464992250500306420777858462744574256370601518879770435759599911592595061310993587757194314167203185856016736645646162795539383292756388648319780948715485491155168838255478151292772323583131724891454158685262929469175427265297092072711866005732896807860226422817537148538458113569542614302262840510869978638347418975679411482868119021380936125210009620047219284111220405767504547521911218422092873079675549843465330248814212969272123857673140789811384695862758651935277636816401329159295105033494941249067646778148839678874079188828707458140146024599160097989227648136405725242260524669606055280142409570244435872921606090324170764438039522777408378727209046892593505205581240617147368831015942677297646782398840668279056995421115624842063536304205450213673385978805077646433530349979507904006356366520083533093314162241795706009259719305740647591756686551491081867930029002315901140002769337120863763460749446904066869899038732241544099839029502062408319450164764281734919286689588106281266707600772914211389190019554236073416216998934807208266886464524310046198986015721729860462718773379300271164643544669301600177636243443895995875602974375813141306013232281354011050655658765851693258880540620679501503103432368927261429653200783436171228693721766752544738637286882287388976044979886275047072689857854221487042384622611839615374907929342143836653167726757102823063072800743987760891161942691276139192619936416590512141576705059144134055371789282027326776527954916291015842745623299431047 108712551044790714986258350799051016026823025728720384440236050175770137154095099388987118081989882451272895103408385490569663285169983317754573040654778119009317210195045693623984125811277704430435750062600318883566285560444925566357992371698682682461924886894900293264889158333585989789586080571941082354866759286082279019083226239289057076058924118545823113658193656145363405687383887268996066620581071543427225782983182292227082516647067967559677063529162948695719630230654426116410380910592605490351609728415914001378202439240439173502238108657151263951063656894508540088990039715358463683080669820090262666875023638058400687920087849516733991394353636518185316399553621608024172932805962102968873817551340477051860760349271251798562240539830556829723142562168538206334462752933161250555677046207686148891093897017988328953977434330341682206687192924021880578398384074400495105282735351983017438919808846118132163232351036226067291062233638131790109361154508207278039514999046883135687619982198291270434069979171372515523669937923962911209091572732216535907695007497641158167475504646799972854599176051408340322770360823917353945438230544577570740538093913400547168852687257315573060971887991472620693782816732953511808486092042617722690459277632568789057935454784963068763173351832102795762564806915056614269652424764380304765465913368573995493242711066903653580327016914631939924865362359264562357839947656815286748815827479512643156501634800426971655724311736172311354105466065632394514890465941896967018469780989259022025920125349763839922706911721732152135278924904014670159784371185468526443652419444539260711672059827660230371577698929250870326665903746404929838762493166609375733720131605339774241603929562401636836065861355993093158773867114314130185595010697744941208650091846124589504598801087194301514872095522313735919275422888139841586865243501472811094139431635054713391935092397566471514526175754837396722521259129650338224222042803610097848607126957110396659175614183282495123264721126981558753844349518088063145160767644015644468616661895441158404591951741846132361316537570541470954502751595335905888069109396338534516952835987310131904935666035022370869641312872222509804240991065214631371238880653129743939651674668467932951888669085051311538729971508644408762761279211242059863314530044444395204333357350024282636135561946731526261293950587032901581553019555001661898183494926815598189792382398840303768950742229616974076 175900602594179269158253695622189607246742673158111796828039957604810150297005782843571569837771524617067382431216026259769725409040212526860991229363809958523420673797388510733339802999112689973519680688732276847034493083405048810521905719782551171401431661004554562942329147616444616912045432521170306807125338178167525691725308811333077299627524938857875777570036925475939730368422881989495095724722809825698994361454525714782055519780774587358599523845817157394872890603420515654807235192806319020273619477377257229495529070325614729875312941084963987634491570176057046192803670590647059597936220286216489313686205277719536374671503065292750207519030535244938629981795449738181772877873123900359934073434182820653736371684725345921187251278196364074325614289063232448133267261540669698680807170193759830628560834822548897262140031569854472731289495049888163949554296096003753034559476288006557546616715725647187385512695553801394378579966519651465788195619500457778345935776905345880261876352799810150204505738771284108118731248917550668403405739935402391924431653143803953706858797403188621174380124766893831477939199079395505238210554127709295631992252598663476638028114522612665133683753997205517501643043155771048957024550156187265304761540473079659036573802203938748174656219951124176698690016924676661488936535984786072270013435279792417586115790742453497045657265728844909196989220032405352169224643519573938684093464295913972315796739833921912904791958514321151032979545254461101973030611966496127116459008637395427751162385874433445977987054131302396571151846510104994330548809224991303852031146653586153305177265408900847518946529945193547624312686145245598117819488587725000575783667909545224455277315541206714482499391705972601062780223480834213718688324859986736914659351565430330152190557773745792596740025551316051820415425657476962450628704250919715161009330673786954936034931427068533922845625919601678457440545819238444505488750404383012059996316976664632732591831182217302331531607591505868800043335533809793005623486417394944739781305440110460004769587985290028357192140544917284095808764827617259899119765055104386210211716527930811406438769467391298131070966073005945975469684786981383915977517940012031328627719648354207998961358942905533025772356131256248378136187140584203699967697771201498027396430150768270397026723889422802400486570523449492093694596260060806032238866716097625516568910353756594784793487852916405123 284613153638969984144512046421240623273565698886832181268276007780580287451100882232558687919761407068340277534624411750339388694210195844615564270018588077532737883992434204357323928810390394403955430751332595730600778643849974376879898091481233853863356547899454856207218305950030606701631513093111389161992097464249804710808535050622134375686449057403698891228230581621303136055806769258491162345303881369126220144437708007009138036427842554918276587374980106090592520834074941771217616103398924510625229205793171230873731509566053903377551049742115251585555227070565586281793710306005523281016890106306751980561228915777937062591590914809484198913384171763123946381349071346205945810679086003328807890985523297705597132033996597719749491818026920904048756851231770654467730014473830949236484216401445979519654731840537226216117465900196154937976687973910044527952680170404248139842211639989574985536524571765319548745046590027461669642200157783255897556774008665056385450775952229015949496334998101420638575717942656623642401186841513579612497312667618927832126660641445111874334302049988594028979300818302171800709559903312859183648784672286866372530346512064023806880801779928238194655641988678138195425859888724560765510642198804987995220818105648448094509256988901816937829571783226972461254823839733275758588960749166377035479348648366413079358501809357150625984282643476849121854582391669914527064591176389225432909291775426615472298374634348884560516270250493462387085011320093496487921077908393094134928789626654449777082511224197285900693965853034548706430771414119664490333180410459830295683566098125414016849325236561077890524228874444417950978589891650527956581981754334376309503799514884998696881245103608351318565253061965694221554090595148343904283335557731678123309443411554919656789358860940094111612121073629787739690848545616804037493947752392526255148762308841668327970023824635005437371801674439075179961804948888782729710793207993109908603443933775029391767445365499797454796328718487427553887685051897856150784254061410589208397967335551618409361539727136160718508678115458755050311516422953165787188874451442920727164552515240943311374435502413669000712278945228455779710675852196015287216398593141775268279394316822140950850028027956844564502327639900657140897466351826263563282227815645893231729787500792553033162285836154328661780521110482393675247615815062467930422361642913223706361292752596898553744230082533379199 460513756233149253302765742043430230520308372044943978096315965385390437748106665076130257757532931685407659965840438010109114103250408371476555499382398036056158557789822715090663731809503084377475111440064872577635271727255023187401803811263785025264788208904009419149547453566475223613676945614281695969117435642417330402533843861955211675313973996261574668798267507097242866424229651247986258070026691194825214505892233721791193556208617142276876111220797263485465411437495457426024851296205243530898848683170428460369260579891668633252863990827079239220046797246622632474597380896652582878953110392523241294247434193497473437263093980102234406432414707008062576363144521084387718688552209903688741964419706118359333503718721943640936743096223284978374371140295003102600997276014500647917291386595205810148215566663086123478257497470050627669266183023798208477506976266408001174401687927996132532153240297412506934257742143828856048222166677434721685752393509122834731386552857574896211372687797911570843081456713940731761132435759064248015903052603021319756558313785249065581193099453177215203359425585196003278648758982708364421859338799996162004522599110727500444908916302540903328339395985883655697068903044495609722535192354992253299982358578728107131083059192840565112485791734351149159944840764409937247525496733952449305492783928158830665474292551810647671641548372321758318843802424075266696289234695963164117002756071340587788095114468270797465308228764814613420064556574554598460951689874889221251387798264049877528244897098630731878681019984336945277582617924224658820881989635451134147714712751711567322026590645461925409470758819637965575291276036896126074401470342059376885287467424430223152158560644815065801064644767938295284334314075982557622971660417718415037968794976985249808979916634685886708352146624945839560106274203093766488122652003312241416158092982628623264004955251703539360217427594040753637402350768127227235199543612376121968599760910439662124359276547717099786327936309993296353931020585707649156407740478805533948179272775662078414131127712426189075700818660376039146120281250570425686308639506547306937376269043171754717813204969804967131783245018234401755180360639177399203193916533153806596907113965176348949811386970862377590274683771156905519033653492410467263249925586847391259126217651560823430189009725577131062267091633931885768942212075123273962661228359010849222930203106353493338537717935449784322 745126909872119237447277788464670853793874070931776159364591973165970725199207547308688945677294338753747937500464849760448502797460604216092119769400986113588896441782256919447987660619893478781430542191397468308236050371104997564281701902745018879128144756803464275356765759516505830315308458707393085131109533106667135113342378912577346051000423053665273560026498088718546002480036420506477420415330572563951434650329941728800331592636459697195152698595777369576057932271570399197242467399604168041524077888963599691242992089457722536630415040569194490805602024317188218756391091202658106159970000498829993274808663109275410499854684894911718605345798878771186522744493592430593664499231295907017549855405229416064930635752718541360686234914250205882423127991526773757068727290488331597153775602996651789667870298503623349694374963370246782607242870997708253005459656436812249314243899567985707517689764869177826483002788733856317717864366835217977583309167517787891116837328809803912160869022796012991481657174656597355403533622600577827628400365270640247588684974426694177455527401503165809232338726403498175079358318886021223605508123472283028377052945622791524251789718082469141522995037974561793892494762933220170488045834553797241295203176684376555225592316181742382050315363517578121621199664604143213006114457483118826340972132576525243744832794361167798297625831015798607440698384815745181223353825872352389549912047846767203260393489102619682025824499015308075807149567894648094948872767783282315386316587890704327305327408322828017779374985837371493984013389338344323311215170045910964443398278849836981338875915882023003299994987694082383526269865928546654030983452096393753194791266939315221849039805748423417119629897829903989505888404671130901527254995975450093161278238388540169465769275495625980819964267698575627299797122748710570525616599755704767671306855291470291591974979076338544797589229268479828817364155717016009964910336820369231877203204844214691516126721913216897241124265028480723907818705637605505307191994540216123156577240111213696823492667439562349794209496775834794196431797673523591473497513957990227664540821558412698029187640472218636132495523963462857534891036491373414490410315126295581865186508281998489900661414998819222154777011411057562659931119844236730826532153402493284490856005152353376463351295561731459724047612744414279444189827890185741893083590001924072929291495858950391892281948017983163521 1205640666105268490750043530508101084314182442976720137460907938551361162947314212384819203434827270439155597466305287770557616900711012587568675268783384149645054999572079634538651392429396563158905653631462340885871322098360020751683505714008803904392932965707473694506313213082981053928985404321674781100226968749084465515876222774532557726314397049926848228824765595815788868904266071754463678485357263758776649156222175450591525148845076839472028809816574633061523343709065856623267318695809411572422926572134028151612252669349391169883279031396273730025648821563810851230988472099310689038923110891353234569056097302772883937117778875013953011778213585779249099107638113514981383187783505810706291819824935534424264139471440485001622978010473490860797499131821776859669724566502832245071066989591857599816085865166709473172632460840297410276509054021506461482966632703220250488645587495981840049843005166590333417260530877685173766086533512652699269061561026910725848223881667378808372241710593924562324738631370538087164666058359642075644303417873661567345243288211943243036720500956343024435698151988694178358007077868729588027367462272279190381575544733519024696698634385010044851334433960445449589563665977715780210581026908789494595185535263104662356675375374582947162801155251929270781144505368553150253639954217071275646464916504684074410307086912978445969267379388120365759542187239820447919643060568315553666914803918107791048488603570890479491132727780122689227214124469202693409824457658171536637704386154754204833572305421458749658056005821708439261596007262568982132097159681362098591112991601548548660902506527484928709465746513720349101561141965442780105384922438453130080078734363745445001198366393238482920694542597842284790222718747113459150226656393168508199247033365525419274749192130311867528316414323521466859903396951804337013739251759017009087464948274098914855979934328042084157806656862520582454766506485143237200109880432745353845802965754654353640485998460933997027452201338474020261749726223313154463599735019021657104756512886875775237623795151988538869910315436210833342552078924094017159806153464537534601917090601584452747000845442023603264278768981697259290071397130550813693604231659449388462093622247174838850472801969681599745051695182214468178964773336647198089782078989340675749982222803914199893540305287308590786314704378346165213132039965309015855744818360934922152221698965303885230819665953432947843 1950767575977387728197321318972771938108056513908496296825499911717331888146521759693508149112121609192903534966770137531006119698171616803660795038184370263233951441354336553986639053049290041940336195822859809194107372469465018315965207616753822783521077722510937969863078972599486884244293863029067866231336501855751600629218601687109903777314820103592121788851263684534334871384302492260941098900687836322728083806552117179391856741481536536667181508412352002637581275980636255820509786095413579613947004461097627842855244758807113706513694071965468220831250845880999069987379563301968795198893111390183227843864760412048294436972463769925671617124012464550435621852131705945575047687014801717723841675230164950489194775224159026362309212924723696743220627123348550616738451856991163842224842592588509389483956163670332822867007424210544192883751925019214714488426289140032499802889487063967547567532770035768159900263319611541491483950900347870676852370728544698616965061210477182720533110733389937553806395806027135442568199680960219903272703783144301814933928262638637420492247902459508833668036878392192353437365396754750811632875585744562218758628490356310548948488352467479186374329471935007243482058428910935950698626861462586735890388711947481217582267691556325329213116518769507392402344169972696363259754411700190101987437049081209318155139881274146244266893210403918973200240572055565629142996886440667943216826851764874994308882092673510161516957226795430765034363692363850788358697225441453852024020974045458532138899713744286767437430991659079933245609396600913305443312329727273063034511270451385529999778422409507932009460734207802732627831007893989434136368374534846883274870001303060666850238172141661900040324440427746274296111123418244360677481652368618601360525271754065588740518467625937848348280682022097094159700519700514907539355851514721776758771803565569206447954913404380628955395886131000411272130662202159247165020217253114585723006170598869045156612720374150894268576466366954744169568431860918659770791729559237780261333752998089472061116462591550888664119812212045627538983876597617608633303667422527762266457912159997150776188485914242239396774292945160116824962433621924228184014546785744970327280130529173328751134216968500821899828706593272030838895893180883928916314232391833960240838227956267576356891600849040050510362317122760444657321867855494757748828408362858995081513194824254277123101613971416111364 3156408242082656218947364849480873022422238956885216434286407850268693051093835972078327352546948879632059132433075425301563736598882629391229470306967754412879006440926416188525290445478686605099241849454322150079978694567825039067648713330762626687914010688218411664369392185682467938173279267350742647331563470604836066145094824461642461503629217153518970017676029280350123740288568564015404777386045100081504732962774292629983381890326613376139210318228926635699104619689702112443777104791222991186369931033231655994467497428156504876396973103361741950856899667444809921218368035401279484237816222281536462412920857714821178374090242644939624628902226050329684720959769819460556430874798307528430133495055100484913458914695599511363932190935197187604018126255170327476408176423493996087295909582180366989300042028837042296039639885050841603160260979040721175971392921843252750291535074559949387617375775202358493317523850489226665250037433860523376121432289571609342813285092144561528905352443983862116131134437397673529732865739319861978917007201017963382279171550850580663528968403415851858103735030380886531795372474623480399660243048016841409140204035089829573645186986852489231225663905895452693071622094888651730909207888371376230485574247210585879938943066930908276375917674021436663183488675341249513513394365917261377633901965585893392565446968187124690236160589792039338959782759295386077062639947008983496883741655682982785357370696244400641008089954575553454261577816833053481768521683099625388661725360200212736972472019165745517095486997480788372507205403863482287575409489408635161625624262052934078660680928936992860718926480721523081729392149859432214241753296973300013354948735666806111851436538534900382961018983025588559086333842165357819827708308761787109559772305119591008015267659756249715876597096345618561019603916652319244553095103273738785846236751839668121303934847732422713113202542993520993726897168687302484365130097685859939568809136353523398797098718835084891296028667705428764431318158084231814234391464578259437366090265884965247298740257743539427534030127648256460881535955521711625793109820887065296868375002761581603523189331356265842661053061926857376115033830752475041877618778445194358789373752776348167601607018938182421644880401775486499017860666517531127006096311381174635990820450760181776250431906136348641296677021501106609870453907820803773604573226723793917233734893789558162353921279924849059207 5107175818060043947144686168453644960530295470793712731111907761986024939240357731771835501659070488824962667399845562832569856297054246194890265345152124676112957882280752742511929498527976647039578045277181959274086067037290057383613920947516449471435088410729349634232471158281954822417573130379810513562899972460587666774313426148752365280944037257111091806527292964884458611672871056276345876286732936404232816769326409809375238631808149912806391826641278638336685895670338368264286890886636570800316935494329283837322742186963618582910667175327210171688150513325808991205747598703248279436709333671719690256785618126869472811062706414865296246026238514880120342811901525406131478561813109246153975170285265435402653689919758537726241403859920884347238753378518878093146628280485159929520752174768876378783998192507375118906647309261385796044012904059935890459819210983285250094424561623916935184908545238126653217787170100768156733988334208394052973803018116307959778346302621744249438463177373799669937530243424808972301065420280081882189710984162265197213099813489218084021216305875360691771771908773078885232737871378231211293118633761403627898832525446140122593675339319968417599993377830459936553680523799587681607834749833962966375962959158067097521210758487233605589034192790944055585832845313945876773148777617451479621339014667102710720586849461270934503053800195958312160023331350951706205636833449651440100568507447857779666252788917910802525047181370984219295941509196904270127218908541079240685746334245671269111371732910032284532917989139868305752814800464395593018721819135908224660135532504319608660459351346500792728387214929325814357223157753421648378121671508146896629818736969866778701674710676562283001343423453334833382444965583602180505189961130405710920297576873656596755786127382187564224877778367715655179304436352834152092450954788460562605008555405237327751889761136803342068598429124521404999027830889461731530150314938974525291815306952392443953711439209235785564605134072383508600886589945150474005183194137497217627424018883054719359856720335090316198149939860302088420519832119329234426413488309593059134832914921578754299377817270508082057827354872017492939996264374399270061633325230939329116653883305521496352741235906683243544709108368758529856756559698415055922410543773008596231658678716449352607323506985388691807039338623867054527775775676298531353401635086652912315248088613812439477022893896265170571 8263584060142700166092051017934517982952534427678929165398315612254717990334193703850162854206019368457021799832920988134133592895936875586119735652119879088991964323207168931037219944006663252138819894731504109354064761605115096451262634278279076159349099098947761298601863343964422760590852397730553160894463443065423732919408250610394826784573254410630061824203322245234582351961439620291750653672778036485737549732100702439358620522134763288945602144870205274035790515360040480708063995677859561986686866527560939831790239615120123459307640278688952122545050180770618912424115634104527763674525555953256152669706475841690651185152949059804920874928464565209805063771671344866687909436611416774584108665340365920316112604615358049090173594795118071951256879633689205569554804703979156016816661756949243368084040221344417414946287194312227399204273883100657066431212132826538000385959636183866322802284320440485146535311020589994821984025768068917429095235307687917302591631394766305778343815621357661786068664680822482502033931159599943861106718185180228579492271364339798747550184709291212549875506939153965417028110346001711610953361681778245037039036560535969696238862326172457648825657283725912629625302618688239412517042638205339196861537206368652977460153825418141881964951866812380718769321520655195390286543143534712857255240980252996103286033817648395624739214389987997651119806090646337783268276780458634936984310163130840565023623485162311443533137135946537673557519326029957751895740591640704629347471694445884006083843752075777801628404986620656678260020204327877880594131308544543386285759794557253687321140280283493653447313695650848896086615307612853862619874968481446909984767472636672890553111249211462665962362406478923392468778807748960000332898269892192820480069881993247604771053787138437280101474874713334216198908353005153396645546058062199348451245307244905449055824608869226055181800972118042398725924999576764215895280412624834464860624443305915842750810158044320676860633801777812273032204748029382288239574658715756654993514284768019966658596978078629743732180067508558549302055787641040860219523309196658356003207917683160357822567148626773924718880416798874869055030095126874311939252103676133687906027636081869663954348254844865665189589510144245028874617226215946182928506855154183232222479129476631128857755413121737333103716360124973664398229683497102304957974861810446829548982982403370601830944173821114229778 13370759878202744113236737186388162943482829898472641896510223374240742929574551435621998355865089857281984467232766550966703449192991121781010000997272003765104922205487921673549149442534639899178397940008686068628150828642405153834876555225795525630784187509677110932834334502246377583008425528110363674457363415526011399693721676759147192065517291667741153630730615210119040963634310676568096529959510972889970366501427112248733859153942913201751993971511483912372476411030378848972350886564496132787003802021890223669112981802083742042218307454016162294233200694096427903629863232807776043111234889624975842926492093968560123996215655474670217120954703080089925406583572870272819387998424526020738083835625631355718766294535116586816414998655038956298495633012208083662701432984464315946337413931718119746868038413851792533852934503573613195248286787160592956891031343809823250480384197807783257987192865678611799753098190690762978718014102277311482069038325804225262369977697388050027782278798731461456006194924247291474334996579880025743296429169342493776705371177829016831571401015166573241647278847927044302260848217379942822246480315539648664937869085982109818832537665492426066425650661556372566178983142487827094124877388039302163237500165526720074981364583905375487553986059603324774355154365969141267059691921152164336876579994920098814006620667109666559242268190183955963279829421997289489473913613908286377084878670578698344689876274080222246058184317317521892853460835226862022022959500181783870033218028691555275195215484985810086161322975760524984012835004792273473612853127680451610945895327061573295981599631629994446175700910580174710443838465366275510997996639989593806614586209606539669254785959888024948963705829932258225851223773332562180838088231022598531400367458866904201526839914520624844326352653081049871378212789357987548737997012850659911056253862650142776807714370006029397250399401242563803724952830466225947425430727563808990152439750258308286704521597253556462425238935850195781633091337974532762244757852853253872620938303651074686018453698413720059930330007368860637722575619760370094645936797506251415138040832604739112121944965897282006776707771670892361995026359501273582000885428907073017022681519387391160307089490751548908734298618513003558731373785914361238850917398927191828454137808193080481465078920107126024910755698748840718926005459173400836311376496897099741864231071017183041307967067717379400349 21634343938345444279328788204322680926435364326151571061908538986495460919908745139472161210071109225739006267065687539100837042088927997367129736649391882854096886528695090604586369386541303151317217834740190177982215590247520250286139189504074601790133286608624872231436197846210800343599277925840916835351826858591435132613129927369542018850090546078371215454933937455353623315595750296859847183632289009375707916233527814688092479676077676490697596116381689186408266926390419329680414882242355694773690668549451163500903221417203865501525947732705114416778250874867046816053978866912303806785760445578231995596198569810250775181368604534475137995883167645299730470355244215139507297435035942795322192500965997276034878899150474635906588593450157028249752512645897289232256237688443471963154075688667363114952078635196209948799221697885840594452560670261250023322243476636361250866343833991649580789477186119096946288409211280757800702039870346228911164273633492142564961609092154355806126094420089123242074859605069773976368927739479969604403147354522722356197642542168815579121585724457785791522785787081009719288958563381654433199841997317893701976905646518079515071399991664883715251307945282285195804285761176066506641920026244641360099037371895373052441518409323517369518937926415705493124475886624336657346235064686877194131820975173094917292654484758062183981482580171953614399635512643627272742190394366921314069188833709538909713499759242533689591321453264059566410980161256819773918700091822488499380689723137439281279059237061587887789727962381181662272855209120151354206984436224994997231655121618826983302739911913488099623014606231023606530453772979129373617871608471040716599353682243212559807897209099487614926068236411181618320002581081522181170986500914791351880437340860151806297893701659062124427827527794384087577121142363140945383543070912859259507499169895048225863538978875255452432200373360606202450877830042990163320711140188643455013064193564224129455331755297877139285872737628008054665296086003915050484332511569010527614452588419094652677050676492349803662510074877419187024631407401410954865460106702909771141248750287899469944512114524055931495588188469767231050056454628147893940137532583206704928709155469260824261437745596414573923888128657248587605991012130307421779424254081375060676616937669711610322834333228863358014472058873814383324235142670503141269351358707546571413214053420553643138911241538493630127 35005103816548188392565525390710843869918194224624212958418762360736203849483296575094159565936199083020990734298454090067540491281919119148139737646663886619201808734183012278135518829075943050495615774748876246610366418889925404121015744729870127420917474118301983164270532348457177926607703453951280509809190274117446532306851604128689210915607837746112369085664552665472664279230060973427943713591799982265678282734954926936826338830020589692449590087893173098780743337420798178652765768806851827560694470571341387170016203219287607543744255186721276711011451568963474719683842099720079849896995335203207838522690663778810899177584260009145355116837870725389655876938817085412326685433460468816060276336591628631753645193685591222723003592105195984548248145658105372894957670672907787909491489620385482861820117049048002482652156201459453789700847457421842980213274820446184501346728031799432838776670051797708746041507401971520779420053972623540393233311959296367827331586789542405833908373218820584698081054529317065450703924319359995347699576523865216132903013719997832410692986739624359033170064635008054021549806780761597255446322312857542366914774732500189333903937657157309781676958606838657761983268903663893600766797414283943523336537537422093127422882993228892857072923986019030267479630252593477924405926985839041531008400970093193731299275151867728743223750770355909577679464934640916762216104008275207691154067504288237254403376033322755935649505770581581459264440996483681795941659592004272369413907751828994556474274722047397973951050938141706646285690213912424827819837563905446608177550448680400279284339543543482545798715516811198316974292238345404884615868248460634523213939891849752229062683168987512563889774066343439844171226354414084362009074731937389883280804799727056007824733616179686968754180180875433958955333931721128494121540083763519170563753032545191002671253348881284849682599774603170006175830660509216110746141867752452445165503943822532416159853352551433601711111673478203836298387423978447812729090364422264400235390892070169338695504374906069863592840082246279824747207027161781049511396904209161186279289582892638582066457080421337938272295960140659593045082814129421475941022961490279721951390674856651984568527236347963482658186747170252146337364798044668660630341653008566889130754745862792091787913253335989382925227757622655102250240601843903977580727855604646313277445124437736684446878309255873030476 56639447754893632671894313595033524796353558550775784020327301347231664769392041714566320776007308308759997001364141629168377533370847116515269474296055769473298695262878102882721888215617246201812833609489066424592582009137445654407154934233944729211050760726926855395706730194667978270206981379792197345161017132708881664919981531498231229765698383824483584540598490120826287594825811270287790897224088991641386198968482741624918818506098266183147186204274862285189010263811217508333180651049207522334385139120792550670919424636491473045270202919426391127789702443830521535737820966632383656682755780781439834118889233589061674358952864543620493112721038370689386347294061300551833982868496411611382468837557625907788524092836065858629592185555353012798000658304002662127213908361351259872645565309052845976772195684244212431451377899345294384153408127683093003535518297082545752213071865791082419566147237916805692329916613252278580122093842969769304397585592788510392293195881696761640034467638909707940155914134386839427072852058839964952102723878387938489100656262166647989814572464082144824692850422089063740838765344143251688646164310175436068891680379018268848975337648822193496928266552120942957787554664839960107408717440528584883435574909317466179864401402552410226591861912434735760604106139217814581752162050525918725140221945266288648591929636625790927205233350527863192079100447284544034958294402642129005223256337997776164116875792565289625240827223845641025675421157740501569860359683826760868794597474966433837753333959108985861740778900522888308558545423032576182026822000130441605409205570299227262587079455456970645421730123042221923504746011324534258233739856931675239813293574092964788870580378087000178815842302754621462491228935495606543180061232852181235161242140587207814122627317838749093182007708669818046532455074084269439505083154676378430071252202440239228534792327756540302114800147963776208626708490552206274066853007941095900178568137386756545615185107849310740996984411106211890963683509982362863213422875991274927849843480489263991372555051398419667255350157123699011771838434563192004376857010912070957420538333180538052010969194945393869767884148610426824095139268757569369881160494073486426880099830325912808829964981944378056582074875827500733943355810174976082409765907089941949807371683532503702110747586564852740939699816496469485574475744514407118850079214312192884690659177858290327585789550794366660603 91644551571441821064459838985744368666271752775399996978746063707967868618875338289660480341943507391780987735662595719235918024652766235663409211942719656092500503997061115160857407044693189252308449384237942671202948428027371058528170678963814856631968234845228838559977262543125156196814684833743477854970207406826328197226833135626920440681306221570595953626263042786298951874055872243715734610815888973907064481703437668561745157336118855875596776292168035383969753601232015686985946419856059349895079609692133937840935627855779080589014458106147667838801154012793996255421663066352463506579751115984647672641579897367872573536537124552765848229558909096079042224232878385964160668301956880427442745174149254539542169286521657081352595777660548997346248803962108035022171579034259047782137054929438328838592312733292214914103534100804748173854255585104935983748793117528730253559799897590515258342817289714514438371424015223799359542147815593309697630897552084878219624782671239167473942840857730292638236968663703904877776776378199960299802300402253154622003669982164480400507559203706503857862915057097117762388572124904848944092486623032978435806455111518458182879275305979503278605225158959600719770823568503853708175514854812528406772112446739559307287284395781303083664785898453766028083736391811292506158089036364960256148622915359482379891204788493519670428984120883772769758565381925460797174398410917336696377323842286013418520251825888045560890332994427222484939862154224183365802019275831033238208505226795428394227608681156383835691829838664594954844235636945001009846659564035888213586756018979627541871418999000453191220445639853420240479038249669939142849608105392309763027233465942717017933263547074512742705616369098061306662455289909690905189135964789571118442046940314263821947360934018436061936187889545252005487789005805397933626623238439897600635005234985430231206045676637825151797399922566946214802539151061422384812994875693548345344072081209288961775038460400744342708096084584415727262070933960810675942513240413539328085234372559433330068059426304489530848190239369978836519045461724973053888253915121232143699827916073176634077426275366731808040180108751086417140222082886990845822183455563766148831490505182564793398492218292341539240261622997752880280720608219644743040107560098508838938126429395295793898660839900842123864927574119124587824716346358311096430807069916839197968104302296027012032667860050239691079 148283999326335453736354152580777893462625311326175780999073365055199533388267380004226801117950815700540984737026737348404295558023613352178678686238775425565799199259939218043579295260310435454121282993727009095795530437164816712935325613197759585843018995572155693955683992737793134467021666213535675200131224539535209862146814667125151670447004605395079538166861532907125239468881683514003525508039977965548450680671920410186663975842217122058743962496442897669158763865043233195319127070905266872229464748812926488511855052492270553634284661025574058966590856456624517791159484032984847163262506896766087506760469130956934247895489989096386341342279947466768428571526939686515994651170453292038825214011706880447330693379357722939982187963215902010144249462266110697149385487395610307654782620238491174815364508417536427345554912000150042558007663712788028987284311414611276005772871763381597677908964527631320130701340628476077939664241658563079002028483144873388611917978552935929113977308496640000578392882798090744304849628437039925251905024280641093111104326244331128390322131667788648682555765479186181503227337469048100632738650933208414504698135490536727031854612954801696775533491711080543677558378233343813815584232295341113290207687356057025487151685798333713310256647810888501788687842531029107087910251086890878981288844860625771028483134425119310597634217471411635961837665829210004832132692813559465701600580180283789582637127618453335186131160218272863510615283311964684935662378959657794107003102701761862231980942640265369697432608739187483263402781059977577191873481564166329818995961589278854804458498454457423836642175762895642163983784260994473401083347962323985002840527040035681806803843925161512921521458671852682769153684225405297448369197197641752353603289080901471636069988251857185155118195598215070052020244079889667373131706393116276030706257437425669459740838004394365453912200070530722423429247641613628658879847883634644245522640218596045507390223568250055083705080495690627618225754443943173539155936116404814255935077853048697321440614477702909198103540396493677848290883896288165058265110926033303101120366249253714686088395470312125677808064257361513241235361351644560215703343949637252575711590335508477602228457200236719595822336498825253614224076418394620825449873467188450788745498112927799496009408426465694864804627390615594073399192090872718215280886284229032082658763480154317339618457410844606351682 239928550897777274800813991566522262128897064101575777977819428763167402007142718293887281459894323092321972472689333067640213582676379587842087898181495081658299703257000333204436702305003624706429732377964951766998478865192187771463496292161574442474987230417384532515661255280918290663836351047279153055101431946361538059373647802752072111128310826965675491793124575693424191342937555757719260118855866939455515162375358078748409133178335977934340738788610933053128517466275248882305073490761326222124544358505060426352790680348049634223299119131721726805392010469418514046581147099337310669842258012750735179402049028324806821432027113649152189571838856562847470795759818072480155319472410172466267959185856134986872862665879380021334783740876451007490498266228218732171557066429869355436919675167929503653956821150828642259658446100954790731861919297892964971033104532140006259332671660972112936251781817345834569072764643699877299206389474156388699659380696958266831542761224175096587920149354370293216629851461794649182626404815239885551707324682894247733107996226495608790829690871495152540418680536283299265615909593952949576831137556241392940504590602055185214733888260781200054138716870040144397329201801847667523759747150153641696979799802796584794438970194115016393921433709342267816771578922840399594068340123255839237437467775985253408374339213612830268063201592295408731596231211135465629307091224476802397977904022569803001157379444341380747021493212700085995555145466188868301464398235488827345211607928557290626208551321421753533124438577852078218247016696922578201720141128202218032582717608258482346329917453457877027862621402749062404462822510664412543932956067716294765867760505978398824737107472236025664227075040950744075816139515314988353558333162431323472045336021215735458017349185875621217054383487760322057508033085695065306758329631556173631341262672411099690946883681032190605709599993097668638231786792675051043692842759328192590866712299805334469165262028650799426413176580275043345487825377903984215098449356818353584020312225608130651508673904007398728951730635863656684809929358013138112153364841154535244820194165326891320165821745678857485848244366112599658375583434531551061525527405201018724543080840691042395626949418529061135062598121823006494504797026614265568489981027286959627683624542323095289908069266366536988669554964734718661223908437231029311711693354145871280626867782450344351651125270894846042761 388212550224112728537168144147300155591522375427751558976892793818366935395410098298114082577845138792862957209716070416044509140699992940020766584420270507224098902516939551248015997565314060160551015371691960862794009302357004484398821905359334028318006225989540226471345248018711425130858017260814828255232656485896747921520462469877223781575315432360755029959986108600549430811819239271722785626895844905003965843047278488935073109020553099993084701285053830722287281331318482077624200561666593094354009107317986914864645732840320187857583780157295785771982866926043031837740631132322157833104764909516822686162518159281741069327517102745538530914118804029615899367286757758996149970642863464505093173197563015434203556045237102961316971704092353017634747728494329429320942553825479663091702295406420678469321329568365069605213358101104833289869583010680993958317415946751282265105543424353710614160746344977154699774105272175955238870631132719467701687863841831655443460739777111025701897457851010293795022734259885393487476033252279810803612348963535340844212322470826737181151822539283801222974446015469480768843247063001050209569788489449807445202726092591912246588501215582896829672208581120688074887580035191481339343979445494754987187487158853610281590655992448729704178081520230769605459421453869506681978591210146718218726312636611024436857473638732140865697419063707044693433897040345470461439784038036268099578484202853592583794507062794715933152653430972949506170428778153553237126777195146621452214710630319152858189493961687123230557047317039561481649797756900155393593622692368547851578679197537337150788415907915300864504797165644704568446606771658885945016304030040279768708287546014080631540951397397538585748533712803426844969823740720285801927530360073075825648625102117207094087337437732806372172579085975392109528277165584732679890036024672449662047520109836769150687721685426556059621800063628391061661034434288679702572690642962836836389352518401379976555485596900854510118257075965670963713579821847157754254385473223167839955390078656827972949288381710307927055271032357334533100813254301303170418475767187838345940560414580606006254217215990983163656308623474112899610944786176111277228871354838271300254671176199519997855406618765780730884934620648260108728873445008886393939854494475410416429122655250894785917477692832231853474182355350312734623100528103747526992579638374903363285631262604661691269582681739452394443 628141101121890003337982135713822417720419439529327336954712222581534337402552816592001364037739461885184929682405403483684722723376372527862854482601765588882398605773939884452452699870317684866980747749656912629792488167549192255862318197520908470792993456406924758987006503299629715794694368308093981310334088432258285980894110272629295892703626259326430521753110684293973622154756795029442045745751711844459481005422636567683482242198889077927425440073664763775415798797593730959929274052427919316478553465823047341217436413188369822080882899289017512577374877395461545884321778231659468502947022922267557865564567187606547890759544216394690720485957660592463370163046575831476305290115273636971361132383419150421076418711116482982651755444968804025125245994722548161492499620255349018528621970574350182123278150719193711864871804202059624021731502308573958929350520478891288524438215085325823550412528162322989268846869915875832538077020606875856401347244538789922275003501001286122289817607205380587011652585721680042670102438067519696355319673646429588577320318697322345971981513410778953763393126551752780034459156656953999786400926045691200385707316694647097461322389476364096883810925451160832472216781837039148863103726595648396684167286961650195076029626186563746098099515229573037422231000376709906276046931333402557456163780412596277845231812852344971133760620656002453425030128251480936090746875262513070497556388225423395584951886507136096680174146643673035501725574244342421538591175430635448797426318558876443484398045283108876763681485894891639699896814453822733595313763820570765884161396805795819497118333361373177892367418568393766972909429282323298488949260097756574534576048051992479456278058869633564249975608753754170920785963256035274155485863522504399297693961123332942552104686623608427589226962573735714167036310251279797986648365656228623293388782782247868841634605366458746665331400056726059699892821226963730746265533402291029427256064818206714445720747625551653936531433656240714309201405199751141969352834830041521423975702304264958624457962285717706656007001668220991217910742612314441282571840608342373590760754579907497326420038961669840649504552989586712557986528220707662338754398760039290024797752016890562393482356037294841865947532742471266603233670471623151962429835521762370044112747197573990075825546959198768842143737320085031395847008965334776838704272992520774643912499045055006042920707952634298437204 1016353651346002731875150279861122573311941814957078895931605016399901272797962914890115446615584600678047886892121473899729231864076365467883621067022036096106497508290879435700468697435631745027531763121348873492586497469906196740261140102880242499110999682396464985458351751318341140925552385568908809565566744918155033902414572742506519674278941691687185551713096792894523052966576034301164831372647556749463446848469915056618555351219442177920510141358718594497703080128912213037553474614094512410832562573141034256082082146028690009938466679446313298349357744321504577722062409363981626336051787831784380551727085346888288960087061319140229251400076464622079269530333333590472455260758137101476454305580982165855279974756353585943968727149061157042759993723216877590813442174080828681620324265980770860592599480287558781470085162303164457311601085319254952887667936425642570789543758509679534164573274507300143968620975188051787776947651739595324103035108380621577718464240778397147991715065056390880806675319981565436157578471319799507158932022609964929421532641168149083153133335950062754986367572567222260803302403719955049995970714535141007830910042787239009707910890691946993713483134032281520547104361872230630202447706041143151671354774120503805357620282179012475802277596749803807027690421830579412958025522543549275674890093049207302282089286491077111999458039719709498118464025291826406552186659300549338597134872428276988168746393569930812613326800074645985007896003022495974775717952625782070249641029189195596342587539244795999994238533211931201181546612210722888988907386512939313735740076003333156647906749269288478756872215734038471541356036053982184433965564127796854303284335598006560087819010267031102835724142466557597765755786996755559957413393882577475123342586225450149646192024061341233961399541659711106276564587416864530666538401680901072955436302892084637992322327051885302724953200120354450761553855661252410448838224045253866263645417336608094422276233222452508446649690732206385272914985021598299723607220303264689263931092382921786597407250667428014583062272700578325751011555866615744452990316375530211936701314994488103332674256177660823813160861613060825457597473006883773615983270114877561325052423193090082391337762656060622596832467363119526711962543916632038356369690016237780460541869852824884861743024652031000695617919675435344130470109493438524365696852630895678007198130307659667734190290634373750831647 1644494752467892735213132415574944991032361254486406232886317238981435610200515731482116810653324062563232816574526877383413954587452737995746475549623801684988896114064819320152921397305949429894512510871005786122378985637455388996123458300401150969903993138803389744445358254617970856720246753877002790875900833350413319883308683015135815566982567951013616073466207477188496675121332829330606877118399268593922927853892551624302037593418331255847935581432383358273118878926505943997482748666522431727311116038964081597299518559217059832019349578735330810926732621716966123606384187595641094838998810754051938417291652534494836850846605535534919971886034125214542639693379909421948760550873410738447815437964401316276356393467470068926620482594029961067885239717939425752305941794336177700148946236555121042715877631006752493334956966505224081333332587627828911817018456904533859313981973595005357714985802669623133237467845103927620315024672346471180504382352919411499993467741779683270281532672261771467818327905703245478827680909387319203514251696256394517998852959865471429125114849360841708749760699118975040837761560376909049782371640580832208216617359481886107169233280168311090597294059483442353019321143709269779065551432636791548355522061082154000433649908365576221900377111979376844449921422207289319234072453876951833131053873461803580127321099343422083133218660375711951543494153543307342642933534563062409094691260653700383753698280077066909293500946718319020509621577266838396314309128056417519047067347748072039826985584527904876757920019106822840881443426664545622584221150333510079619901472809128976145025082630661656649239634302432238514265465336305482922914824225553428837860383649999039544097069136664667085699751220311768686541750252790834112899257405081874421036547348783092198296710684949661550626504233446820443600897668144328653186767337129696248825085674332506833956932418344049390284600177080510461446676888216141195103757447544895690901482154814808867996980848004162383181124388447099582116390221349441692960055133306210687906794687186745221865212953145721239069274368799316968922298478930185735562156983872585527462069574395600659094295139330664462665414602647538015584001227591435954737668874916851349850175209980644784820118693355464462780000105590793315196214388255190318799525538000150504654617050398874937568571611229769537761656995520375526317118458773301204401125623416452651110629352714673777110998587008049268851 2660848403813895467088282695436067564344303069443485128817922255381336882998478646372232257268908663241280703466648351283143186451529103463630096616645837781095393622355698755853390094741581174922044273992354659614965483107361585736384598403281393469014992821199854729903710005936311997645799139445911600441467578268568353785723255757642335241261509642700801625179304270083019728087908863631771708491046825343386374702362466680920592944637773433768445722791101952770821959055418157035036223280616944138143678612105115853381600705245749841957816258181644109276090366038470701328446596959622721175050598585836318969018737881383125810933666854675149223286110589836621909223713243012421215811631547839924269743545383482131636368223823654870589209743091118110645233441156303343119383968417006381769270502535891903308477111294311274805042128808388538644933672947083864704686393330176430103525732104684891879559077176923277206088820291979408091972324086066504607417461300033077711931982558080418273247737318162348625003225684810914985259380707118710673183718866359447420385601033620512278248185310904463736128271686197301641063964096864099778342355115973216047527402269125116877144170860258084310777193515723873566425505581500409267999138677934700026876835202657805791270190544588697702654708729180651477611844037868732192097976420501108805943966511010882409410385834499195132676700095421449661958178835133749195120193863611747691826133081977371922444673646997721906827746792965005517517580289334371090027080682199589296708376937267636169573123772700876752158552318754042062990038875268511573128536846449393355641548812462132792931831899950135406111850036470710055621501390287667356880388353350283141144719248005599631916079403695769921423893686869366452297537249546394070312651287659349544379133574233241844488734746290895512026045893157926720165485085008859319725169018030769204261388566417144826279259470229352115237800297434961223000532549468551643941981492798761954546899491422903290273214070456670829830815120653484855031375242947741416567275436570899951837887070108531819272463620573735822131547069377642719933854345545930188552473359402797464163384568883703991768551316991488275826276215708363473181474234475209570720938989794412674902598403070727176157881349416087059612467468710320027158758304887228675169215554237930965196486903223759799311596263260770233379576670955719656787227952211825570097978254312130658308759660374341511301289221381800100498 4305343156281788202301415111011012555376664323929891361704239494362772493198994377854349067922232725804513520041175228666557141038981841459376572166269639466084289736420518076006311492047530604816556784863360445737344468744816974732508056703682544438918985960003244474349068260554282854366045893322914391317368411618981673669031938772778150808244077593714417698645511747271516403209241692962378585609446093937309302556255018305222630538056104689616381304223485311043940837981924101032518971947139375865454794651069197450681119264462809673977165836916974920202822987755436824934830784555263816014049409339888257386310390415877962661780272390210069195172144715051164548917093152434369976362504958578372085181509784798407992761691293723797209692337121079178530473159095729095425325762753184081918216739091012946024354742301063768139999095313612619978266260574912776521704850234710289417507705699690249594544879846546410443556665395907028406996996432537685111799814219444577705399724337763688554780409579933816443331131388056393812940290094437914187435415122753965419238560899091941403363034671746172485888970805172342478825524473773149560713995696805424264144761751011224046377451028569174908071252999166226585746649290770188333550571314726248382398896284811806224920098910164919603031820708557495927533266245158051426170430297452941936997839972814462536731485177921278265895360471133401205452332378441091838053728426674156786517393735677755676142953724064631200328693511284026027139157556172767404336208738617108343775724685339675996558708300605753510078571425576882944433465539814134157349687179959472975543021621591108937956914530611792055351484338902948569886966726593150279795212578903711979005102898004639176013148540360437007123644907181135138839287502337228183211908692741223965415680923016334042785445431240557062652550126604747163766382753153187972911936355160465453086474240749651660236191888573401505522400474515471684447209437684692839045738940343657645448381646237712158270194918460833213011939509100584437147765464297183109527330569877110639744681757295277041137676573719457061200821438176959688856152824476115924114630343275382991625454143279304650862846456322152738491690818355901488765475462066645525458607864711264024752773613051371960978000042771551522392467574301113342354972693142418993968741092238081469851103953622634736880167874490539771141233666476095183104346410985126774499103877728583309419389013089015288412287808389849369349 6966191560095683669389697806447080119720967393373376490522161749744109376197473024226581325191141389045794223507823579949700327490510944923006668782915477247179683358776216831859701586789111779738601058855715105352309951852178560468892655106963937907933978781203099204252778266490594852011845032768825991758835989887550027454755194530420486049505587236415219323824816017354536131297150556594150294100492919280695677258617484986143223482693878123384827027014587263814762797037342258067555195227756320003598473263174313304062719969708559515934982095098619029478913353793907526263277381514886537189100007925724576355329128297261088472713939244885218418458255304887786458140806395446791192174136506418296354925055168280539629129915117378667798902080212197289175706600252032438544709731170190463687487241626904849332831853595375042945041224122001158623199933521996641226391243564886719521033437804375141474103957023469687649645485687886436498969320518604189719217275519477655417331706895844106828028146898096165068334357072867308798199670801556624860619133989113412839624161932712453681611219982650636222017242491369644119889488570637249339056350812778640311672164020136340923521621888827259218848446514890100152172154872270597601549709992660948409275731487469612016190289454753617305686529437738147405145110283026783618268406717954050742941806483825344946141871012420473398572060566554850867410511213574841033173922290285904478343526817655127598587627371062353107156440304249031544656737845507138494363289420816697640484101622607312166131832073306630262237123744330925007423504415082645730478224026408866331184570434053241730888746430561927461463334375373658625508468116880817636675600932253995120149822146010238807929227944056206928547538594050501591136824751883622253524559980400573509794814497249575887274180177531452574678596019762673883931867838162047292637105373191234657347862807166796486515451358802753620760200771950432907447741987153244482987720433142419599995281137660615448543408988917504042842754629754069292179140707244924526094606006448010591582568827403808860410140194293192883332368507554602408790007170022046112667103702678180455788838712163008642631397773313641014317967034064264961946949696541855096179546854505676699655372016122099137135881392187638582004935043011433369513730998029647669137956646476012435047590856846394536191764137751310004520810337431814839891574363196952344597082132040713967728148673463356799713577029771649469847 11271534716377471871691112917458092675097631717303267852226401244106881869396467402080930393113374114850307743548998808616257468529492786382383240949185116713263973095196734907866013078836642384555157843719075551089654420596995535201400711810646482346852964741206343678601846527044877706377890926091740383076204401506531701123787133303198636857749664830129637022470327764626052534506392249556528879709939013218004979814872503291365854020749982813001208331238072574858703635019266359100074167174895695869053267914243510754743839234171369189912147932015593949681736341549344351198108166070150353203149417265612833741639518713139051134494211635095287613630400019938951007057899547881161168536641464996668440106564953078947621891606411102465008594417333276467706179759347761533970035493923374545605703980717917795357186595896438811085040319435613778601466194096909417748096093799597008938541143504065391068648836870016098093202151083793464905966316951141874831017089738922233122731431233607795382808556478029981511665488460923702611139960895994539048054549111867378258862722831804395084974254654396808707906213296541986598715013044410398899770346509584064575816925771147564969899072917396434126919699514056326737918804163040785935100281307387196791674627772281418241110388364918536908718350146295643332678376528184835044438837015406992679939646456639807482873356190341751664467421037688252072862843592015932871227650716960061264860920553332883274730581095126984307485133815533057571795895401679905898699498159433805984259826307946988162690540373912383772315695169907807951856969954896779887827911206368339306727592055644350668845660961173719516814818714276607195395434843473967916470813511157707099154925044014877983942376484416643935671183501231636729976112254220850436736468673141797475210495420265909930059625608772009637331146146367421047698250591315235265549041728351700110434337047916448146751643247376155126282601246465904591894951424837937322033459373486077245443662783898327606813603907378337255854694138854653729326906171542107635621936576325121231327250584699085901547816768012649944533189945731562097646159994498162036781734045953563447414292855442313293494244229635793752809657852420166450712425158608500621638154719216940724408145629173471098113881434959190104397402617312546711868703691172066663106697738714093904898694810469029273071932012241849775662044003907910022995920774182079119096186009769297277147537686552372088125864838161498839196 18237726276473155541080810723905172794818599110676644342748562993850991245593940426307511718304515503896101967056822388565957796020003731305389909732100593960443656453972951739725714665625754164293758902574790656441964372449174095670293366917610420254786943522409442882854624793535472558389735958860566374835040391394081728578542327833619122907255252066544856346295143781980588665803542806150679173810431932498700657073489988277509077503443860936386035358252659838673466432056608617167629362402652015872651741177417824058806559203879928705847130027114212979160649695343251877461385547585036890392249425191337410096968647010400139607208150879980506032088655324826737465198705943327952360710777971414964795031620121359487251021521528481132807496497545473756881886359599793972514745225093565009293191222344822644690018449491813854030081543557614937224666127618906058974487337364483728459574581308440532542752793893485785742847636771679901404935637469746064550234365258399888540063138129451902210836703376126146579999845533791011409339631697551163908673683100980791098486884764516848766585474637047444929923455787911630718604501615047648238826697322362704887489089791283905893420694806223693345768146028946426890090959035311383536649991300048145200950359259751030257300677819672154214404879584033790737823486811211618662707243733361043422881452940465152429015227202762225063039481604243102940273354805590773904401573007245965743204447370988010873318208466189337414641574119782089116452633247187044393062787580250503624743927930554300328822372447219014034552818914238732959280474369979425618306135232777205637912162489697592399734407391735646978278153089650265820903902960354785553146414443411702219304747190025116791871604428472850864218722095282138321112937006104472690261028653542370985005309917515485817333805786303462212009742166130094931630118429477282558186147101542934767782199855083244633267094606178908747042802018416337499342693411991181805021179806628496845438943921558943055357012896295841298697448768608723021506046878787032161716542582773131822909819412102894761957956962305842827865558453286164506436167164520208149448837748631743903203131567605321936125642002949434767127624886484431412659374855150355717817701573722617424063517645295570235249762827146828686402337660323980081382434689201714332244654385190106339946285667315423809263696149993159780182854341339724862887495137379031463693268141810011244875686360015728887839441867933148309043 29509260992850627412771923641363265469916230827979912194974964237957873114990407828388442111417889618746409710605821197182215264549496517687773150681285710673707629549169686647591727744462396548848916746293866207531618793046169630871694078728256902601639908263615786561456471320580350264767626884952306757911244792900613429702329461136817759765004916896674493368765471546606641200309935055707208053520370945716705636888362491568874931524193843749387243689490732413532170067075874976267703529577547711741705009091661334813550398438051297895759277959129806928842386036892596228659493713655187243595398842456950243838608165723539190741702362515075793645719055344765688472256605491209113529247419436411633235138185074438434872913127939583597816090914878750224588066118947555506484780719016939554898895203062740440047205045388252665115121862993228715826132321715815476722583431164080737398115724812505923611401630763501883836049787855473366310901954420887939381251454997322121662794569363059697593645259854156128091665333994714714020479592593545702956728232212848169357349607596321243851559729291444253637829669084453617317319514659458047138597043831946769463306015562431470863319767723620127472687845543002753628009763198352169471750272607435341992624987032032448498411066184590691123123229730329434070501863339396453707146080748768036102821099397104959911888583393103976727506902641931355013136198397606706775629223724206027008065367924320894148048789561316321722126707935315146688248528648866950291762285739684309609003754238501288491512912821131397806868514084146540911137444324876205506134046439145544944639754545341943068580068352909366495092971803926873016299337803828753469617227954569409318459672234039994775813980912889494799889905596513775051089049260325323126997497326684168460215805337781395747393431395075471849340888312497515979328369020792517823735188829894634878216536902999692780018737853555063873325403264882242091237644836829119127054639180114574090882606705457270662170616803674178554552142907463376750832953050329139797338479159098253054237069996801980663505773730318492772398748399017726604082327159018370186230571794585307350617424423047635229619886232585228519937282738904597863371800013758856339455856292939558148471663274469041333363644262106018790799740277636526793251138380373780995351352123904200244844980477784453082335628162235009555844898345247634885883415911561110582789454151579308522023224046568100975965306706094647148239 47746987269323782953852734365268438264734829938656556537723527231808864360584348254695953829722405122642511677662643585748173060569500248993163060413386304634151286003142638387317442410088150713142675648868656863973583165495343726541987445645867322856426851786025229444311096114115822823157362843812873132746285184294695158280871788970436882672260168963219349715060615328587229866113477861857887227330802878215406293961852479846384009027637704685773279047743392252205636499132483593435332891980199727614356750269079158872356957641931226601606407986244019908003035732235848106120879261240224133987648267648287653935576812733939330348910513395056299677807710669592425937455311434537065889958197407826598030169805195797922123934649468064730623587412424223981469952478547349478999525944110504564192086425407563084737223494880066519145203406550843653050798449334721535697070768528564465857690306120946456154154424656987669578897424627153267715837591890634003931485820255722010202857707492511599804481963230282274671665179528505725429819224291096866865401915313828960455836492360838092618145203928491698567753124872365248035924016274505695377423741154309474350795105353715376756740462529843820818455991571949180518100722233663553008400263907483487193575346291783478755711744004262845337528109314363224808325350150608072369853324482129079525702552337570112340903810595866201790546384246174457953409553203197480680030796731451992751269815295308905021366998027505659136768282055097235804701161896053994684825073319934813233747682169055588820335285268350411841421332998385273870417918694855631124440181671922750582551917035039535468314475744645013473371124893577138837203240764183539022763642397981111537764419424065111567685585341362345664108627691795913372201986266429795817258525980226539445221115255296881564727237181378934061350630478627610910958487450269800381921335931437569645998736758082937413285832459733972620368205283298579590580338248820300932075818986743070936321550627016213717527629699970019853249591676072099772338999929116171959055021741871384877146889408904875425463730692624335600264306852303891110518494323538578335679409543217051253820555990652957165745528235534663287064907625389029276031174868909212057273557866662175572535180919764611568613407089252847477202077937960506874633573069575495327596006509094306584791266145099876891599324312228169336027752686587359748770911048940142046482722293389319766898910406583829863804748574027795457282 77256248262174410366624658006631703734651060766636468732698491469766737475574756083084395941140294741388921388268464782930388325118996766680936211094672015307858915552312325034909170154550547261991592395162523071505201958541513357413681524374124225458066760049641016005767567434696173087924989728765179890657529977195308587983201250107254642437265085859893843083826086875193871066423412917565095280851173823932111930850214971415258940551831548435160522737234124665737806566208358569703036421557747439356061759360740493685907356079982524497365685945373826836845421769128444334780372974895411377583047110105237897774184978457478521090612875910132093323526766014358114409711916925746179419205616844238231265307990270236356996847777407648328439678327302974206058018597494904985484306663127444119090981628470303524784428540268319184260325269544072368876930771050537012419654199692645203255806030933452379765556055420489553414947212482626634026739546311521943312737275253044131865652276855571297398127223084438402763330513523220439450298816884642569822130147526677129813186099957159336469704933219935952205582793956818865353243530933963742516020784986256243814101120916146847620060230253463948291143837114951934146110485432015722480150536514918829186200333323815927254122810188853536460651339044692658878827213490004526076999405230897115628523651734675072252792393988970178518053286888105812966545751600804187455660020455658019759335183219629799169415787588821980858894989990412382492949690544920944976587359059619122842751436407556877311848198089481809648289847082531814781555363019731836630574228111068295527191671580381478536894544097554379968464096697504011853502578568012292492380870352550520856224091658105106343499566254251840463998533288309688423291035526755118944256023306910707905436920593078277312120668576454405910691518791125126890286856471062318205656524761332204524215273661082630193304570313289036493693608548180821681817983085649420059130458166857645027204157332473484379698246503644198407801734583535476523171952979445311756393500900969637931383959405706856088969504422942828372663055251321617714600821482556948521909981337802358604437980413700592395365414468119891807002190364293627139402974882668068396729414159601733721006844194233652901977051351358866268001818215597033667884711449949276322947358632998506829636246622884329973934952474463178891872651031834994634654326960501252629272176444968628288922134453151930839770055280122442605521 125003235531498193320477392371900141999385890705293025270422018701575601836159104337780349770862699864031433065931108368678561385688497015674099271508058319942010201555454963422226612564638697975134268044031179935478785124036857083955668970019991548314493611835666245450078663548811995911082352572578053023403815161490003746264073039077691525109525254823113192798886702203781100932536890779422982508181976702147518224812067451261642949579469253120933801784977516917943443065340842163138369313537947166970418509629819652558264313721913751098972093931617846744848457501364292440901252236135635511570695377753525551709761791191417851439523389305188393001334476683950540347167228360283245309163814252064829295477795466034279120782426875713059063265739727198187527971076042254464483832607237948683283068053877866609521652035148385703405528676094916021927729220385258548116724968221209669113496337054398835919710480077477222993844637109779901742577138202155947244223095508766142068509984348082897202609186314720677434995693051726164880118041175739436687532062840506090269022592317997429087850137148427650773335918829184113389167547208469437893444526140565718164896226269862224376800692783307769109599828686901114664211207665679275488550800422402316379775679615599406009834554193116381798179448359055883687152563640612598446852729713026195154226204072245184593696204584836380308599671134280270919955304804001668135690817187110012510604998514938704190782785616327639995663272045509618297650852440974939661412432379553936076499118576612466132183483357832221489711180080917088651973281714587467755014409782991046109743588615421014005209019842199393441835221591081150690705819332195831515144512750531632393988511082170217911185151595614186128107160980105601795493021793184914761514549287137247350658035848375158876847905757833339972042149269752737801245343921332118587577860692769774170214010419165567606590402773023009114061813831479401272398321334469720991206277153600715963525707959489698097225876203614218261051326259607576295510952908561483715448522642841022808530848814611731514433235115567163972927362103625508825119315806095526857589390881019409858258536404353549561110942703654555094067097989682656415434149751577280454002972026263909293542025113998264470590458440611713745203896153557540542518284519524771650543365142092813414427512767984206865534276786691348227900403718422354383425238009441394675754898738357948055821044859735760703574803854150238062803 202259483793672603687102050378531845734036951471929494003120510171342339311733860420864745712002994605420354454199573151608949710807493782355035482602730335249869117107767288457135782719189245237125860439193703006983987082578370441369350494394115773772560371885307261455846230983508168999007342301343232914061345138685312334247274289184946167546790340683007035882712789078974971998960303696988077789033150526079630155662282422676901890131300801556094324522211641583681249631549200732841405735095694606326480268990560146244171669801896275596337779876991673581693879270492736775681625211031046889153742487858763449483946769648896372530136265215320486324861242698308654756879145286029424728369431096303060560785785736270636117630204283361387502944067030172393585989673537159449968139270365392802374049682348170134306080575416704887665853945638988390804659991435795560536379167913854872369302367987851215685266535497966776408791849592406535769316684513677890556960370761810273934162261203654194600736409399159080198326206574946604330416858060382006509662210367183220082208692275156765557555070368363602978918712786002978742411078142433180409465311126821961978997347186009071996860923036771717400743665801853048810321693097694997968701336937321145565976012939415333263957364381969918258830787403748542565979777130617124523852134943923310782749855806920256846488598573806558826652958022386083886501056404805855591350837642768032269940181734568503360198573205149620854558262035922000790600542985895884637999791439173058919250554984169343444031681447314031138001027163448903433528644734319304385588637894059341636935260195802492542103563939753773410299318288585162544208397900208124007525383103082153250212602740275324254684717849866026592105694268415290218784057319940033705770572594047955256094956441453436188968574334287745882733668060877864691532200392394436793234385454101978694429284080248197799894973086312045607755422379660222954216304420119141050336735320458360990729865291963182476924122707258416668853060843143052818682905888006795471842023543810660739914808220318587603402739538509992345590417354947126539720137288652475379499372218821768462696516818054141956476357171774446901069288353976283554837124634245348850732386185865643014548869308231917372567509791970580013205714369154574210402995969474047973490723775091320244063759390868536839469229261154527119773054750257349018079564969942647305027075183326576344743179312887691543344859134272680668324 327262719325170797007579442750431987733422842177222519273542528872917941147892964758645095482865694469451787520130681520287511096495990798029134754110788655191879318663222251879362395283827943212260128483224882942462772206615227525325019464414107322087053983720973506905924894532320164910089694873921285937465160300175316080511347328262637692656315595506120228681599491282756072931497194476411060297215127228227148380474349873938544839710770054677028126307189158501624692696890042895979775048633641773296898778620379798802435983523810026695309873808609520326542336771857029216582877447166682400724437865612289001193708560840314223969659654520508879326195719382259195104046373646312670037533245348367889856263581202304915238412631159074446566209806757370581113960749579413914451971877603341485657117736226036743827732610565090591071382621733904412732389211821054108653104136135064541482798705042250051604977015575443999402636486702186437511893822715833837801183466270576416002672245551737091803345595713879757633321899626672769210534899236121443197194273207689310351231284593154194645405207516791253752254631615187092131578625350902618302909837267387680143893573455871296373661615820079486510343494488754163474532900763374273457252137359723461945751692555014739273791918575086300057010235762804426253132340771229722970704864656949505936976059879165441440184803158642939135252629156666354806456361208807523727041654829878044780545180249507207550981358821477260850221534081431619088251395426870824299412223818726994995749673560781809576215164805146252627712207244365992085501926448906772140603047677050387746678848811223506547312583781953166852134539879666313234914217232403955522669895853613785644201113822445542165869869445480212720212855248520892014277079113124948467285121881185202606752992289828595065816480092121085854775817330630602492777544313726555380812246146871752864643294499413765406485375859335054721817236211139624226614625754588862041543012474059076954255573251452880574149998910872634929904387102750629114193858796568279187290546186651683548445657034930319117835974654077156318517779458572635364839453094748002237088763099841178320955053222407691517587299875429001995136386343658939970271274385822629304735358212129552308090894422230181843157968232582293758409610522712114752921280488998819624034088917184133658491272158852743705003506047845875347673458468679703401504802979384041980781973921684524400564224172623452246919662988422918731127 529522203118843400694681493128963833467459793649152013276663039044260280459626825179509841194868689074872141974330254671896460807303484580384170236713518990441748435770989540336498178003017188449385988922418585949446759289193597966694369958808223095859614355606280768361771125515828333909097037175264518851526505438860628414758621617447583860203105936189127264564312280361731044930457498173399138086248277754306778536136632296615446729842070856233122450829400800085305942328439243628821180783729336379623379047610939945046607653325706302291647653685601193908236216042349765992264502658197729289878180353471052450677655330489210596499795919735829365651056962080567849860925518932342094765902676444670950417049366938575551356042835442435834069153873787542974699950423116573364420111147968734288031167418574206878133813185981795478737236567372892803537049203256849669189483304048919413852101073030101267290243551073410775811428336294592973281210507229511728358143837032386689936834506755391286404082005113038837831648106201619373540951757296503449706856483574872530433439976868310960202960277885154856731173344401190070873989703493335798712375148394209642122890920641880368370522538856851203911087160290607212284854593861069271425953474297044607511727705494430072537749282957056218315841023166552968819112117901846847494556999600872816719725915686085698286673401732449497961905587179052438692957417613613379318392492472646077050485361984075710911179932026626881704779796117353619878851938412766708937412015257900053915000228544951153020246846252460283765713234407814895519030571183226076526191685571109729383614109007025999089416147721706940262433858168251475779122615132612079530195278956695938894413716562720866420554587295346239312318549516936182233061136433064982173055694475233157862847948731282031254785054426408831737509485391508467184309744706120992174046631600973731559072578579661963206380348945647100329572658590799847180830930174708003091879747794517437944985438543416063051074121618131051598757447945893681932876764684575074659132569730462344288360465255248906721238714192587148664108196813519761904559590383400477616588135318662946783651570040461833474063657047203448896205674697635223525108399020067978155467744397995195322639763730462099215725478024552873771615324891866688963324276458472867597524812692275453902555031549721280544472735309000402467446513218937052419584367949326689285809049105011100745307403485511143790264522122695599399451 856784922444014197702260935879395821200882635826374532550205567917178221607519789938154936677734383544323929494460936192183971903799475378413304990824307645633627754434211792215860573286845131661646117405643468891909531495808825492019389423222330417946668339327254275267696020048148498819186732049185804788991665739035944495269968945710221552859421531695247493245911771644487117861954692649810198383463404982533926916610982170553991569552840910910150577136589958586930635025329286524800955832362978152920277826231319743849043636849516328986957527494210714234778552814206795208847380105364411690602618219083341451871363891329524820469455574256338244977252681462827044964971892578654764803435921793038840273312948140880466594455466601510280635363680544913555813911172695987278872083025572075773688285154800243621961545796546886069808619189106797216269438415077903777842587440183983955334899778072351318895220566648854775214064822996779410793104329945345566159327303302963105939506752307128378207427600826918595464970005828292142751486656532624892904050756782561840784671261461465154848365485401946110483427976016377163005568328844238417015284985661597322266784494097751664744184154676930690421430654779361375759387494624443544883205611656768069457479398049444811811541201532142518372851258929357395072244458673076570465261864257822322656701975565251139726858204891092437097158216335718793499413778822420903045434147302524121831030542233582918462161290848104142555001330198785238967103333839637533236824239076627048910749902105732962596462011057606536393425441652180887604532497632132848666794733248160117130292957818249505636728731503660107114568398047917789014036832365016035052865174810309724538614830385166408586424456740826452032531404765457074247338215546189930640340816356418360469600941021110626320601534518529917592285302722139069677087289019847547554858877747845484423715873079075728612865724804982155051389894801939471407445555929296865133422760268576514899241011794868943625224120529003686528661835048644311047070623481143353846423115917114027836806122290179225839074688846664304982625976272092397269399043478148479853676898418504125104606623262869524991650956922632450891342061041294163495379673405890607460203102610124747630730658152692281058883446257135167530024935414578803716245556947471687221558901609459587561046303708574024249476241356846277815119971687616755821089170928710731266591023026695625145871627658134596037184185111118518130578 1386307125562857598396942429008359654668342429475526545826868606961438502067146615117664777872603072619196071468791190864080432711102959958797475227537826636075376190205201332552358751289862320111032106328062054841356290785002423458713759382030553513806282694933535043629467145563976832728283769224450323640518171177896572910028590563157805413062527467884374757810224052006218162792412190823209336469711682736840705452747614467169438299394911767143273027965990758672236577353768530153622136616092314532543656873842259688895651290175222631278605181179811908143014768856556561201111882763562140980480798572554393902549019221818735416969251493992167610628309643543394894825897411510996859569338598237709790690362315079456017950498302043946114704517554332456530513861595812560643292194173540810061719452573374450500095358982528681548545855756479690019806487618334753447032070744232903369187000851102452586185464117722265551025493159291372384074314837174857294517471140335349795876341259062519664611509605939957433296618112029911516292438413829128342610907240357434371218111238329776115051325763287100967214601320417567233879558032337574215727660134055806964389675414739632033114706693533781894332517815069968588044242088485512816309159085953812676969207103543874884349290484489198736688692282095910363891356576574923417959818863858695139376427891251336838013531606623541935059063803514771232192371196436034282363826639775170198881515904217658629373341222874731024259781126316138858845955272252404242174236254334527102825750130650684115616708857310066820159138676059995783123563068815358925192986418819269846513907066825275504726144879225367047377002256216169264793159447497628114583060453767005663433028546947887275006979044036172691344849954282393256480399351979254912813396510831651518332448889752392657575386588944938749329794788113647536861397033725968539728905509348819215982788451658737691819246073750629255380962553392739318588276486104004868225302508063093952844226450338285006676298242147134738127419282994537992979947388165718428505555685647576372125166587545428132560313403039251453646734173085612159173958633861548957470265033737167071888258193303331358465714613969835899787547735738929387020488072425958585615670847008119942953370421883154380274608924281688041301640260306445492679569833405944554819083714301735041463601335258295304793948976665846680282566484906553808240673538878037420552400072131706725891179031143645739827448707233814117530029 2243092048006871796099203364887755475869225065301901078377074174878616723674666405055819714550337456163520000963252127056264404614902435337210780218362134281709003944639413124768219324576707451772678223733705523733265822280811248950733148805252883931752951034260789318897163165612125331547470501273636128429509836916932517405298559508868026965921948999579622251056135823650705280654366883473019534853175087719374632369358596637723429868947752678053423605102580717259167212379097816678423092448455292685463934700073579432744694927024738960265562708674022622377793321670763356409959262868926552671083416791637735354420383113148260237438707068248505855605562325006221939790869304089651624372774520030748630963675263220336484544953768645456395339881234877370086327772768508547922164277199112885835407737728174694122056904779075567618354474945586487236075926033412657224874658184416887324521900629174803905080684684371120326239557982288151794867419167120202860676798443638312901815848011369648042818937206766876028761588117858203659043925070361753235514957997139996212002782499791241269899691248689047077698029296433944396885126361181812632742945119717404286656459908837383697858890848210712584753948469849329963803629583109956361192364697610580746426686501593319696160831686021341255061543541025267758963601035247999988425080728116517462033129866816587977740389811514634372156222019850490025691784975258455185409260787077694320712546446451241547835502513722835166814782456514924097813058606092041775411060493411154151736500032756417078213170868367673356552564117712176670728095566447491773859781152067429963644200024643525010362873610729027154491570654264087053807196279862644149635925628577315387971643377333053683593403500776999143377381359047850330727737567525444843453737327188069878802049830773503283895988123463468666922080090835786606538484322745816087283764387096664700406504324737813420432111798555611410432352448194678789995722042033301733358725268331670467743467462133153950301522362676138424656081118043182304027018011646861782351978801564690399961972709835607358399388091885915758629360149357704556443357677339697437323941932155671196992864816566200883457365570892468350678889796780223550515867745831849193075873949618244690584101080035846661333492370538823208831665195721024296395815390353416242040642615911194629024647638966869329043425218022692958097686456594170564061762709806748151818991095158402351037050658801780335864632892344932635660607 3629399173569729394496145793896115130537567494777427624203942781840055225741813020173484492422940528782716072432043317920344837326005395296008255445899960917784380134844614457320578075866569771883710330061767578574622113065813672409446908187283437445559233729194324362526630311176102164275754270498086452070028008094829090315327150072025832378984476467463997008866359875656923443446779074296228871322886770456215337822106211104892868168342664445196696633068571475931403789732866346832045229064547607218007591573915839121640346217199961591544167889853834530520808090527319917611071145632488693651564215364192129256969402334966995654407958562240673466233871968549616834616766715600648483942113118268458421654037578299792502495452070689402510044398789209826616841634364321108565456471372653695897127190301549144622152263761604249166900330702066177255882413651747410671906728928649790693708901480277256491266148802093385877265051141579524178941734004295060155194269583973662697692189270432167707430446812706833462058206229888115175336363484190881578125865237497430583220893738121017384951017011976148044912630616851511630764684393519386848470605253773211251046135323577015730973597541744494479086466284919298551847871671595469177501523783564393423395893605137194580510122170510539991750235823121178122854957611822923406384899591975212601409557758067924815753921418138176307215285823365261257884156171694489467773087426852864519594062350668900177208843736597566191074563582831062956659013878344446017585296747745681254562250163407101193829879725677740176711702793772172453851658635262850699052767570886699810158107091468800515089018489954394201868572910480256318600355727360272264218986082344321051404671924280940958600382544813171834722231313330243587208136919504699756267133838019721397134498720525895941471374712408407416251874878949434143399881356471784627012669896445483916389292776396551112251357872306240665813315001587418108583998528137306601584027776394764420587693912471438956977820604823273162783500401037720297006965399812580210857534487212266772087139297381035490959701494925167212276094322443316715617316311201246394794206965892838268881123009869532241923080184862304250466437532519152937536355818257807778691544796626364633537471501919001041608101294820511250133305456027469789075385223759360796859726330212929670488248974225164633837374194688539638380252941500724372302436248684785572371391167290109076928229689945426075692081599578746753190636 5872491221576601190595349158783870606406792560079328702581016956718671949416479425229304206973277984946236073395295444976609241940907830633219035664262095199493384079484027582088797400443277223656388553795473102307887935346624921360180056992536321377312184763455113681423793476788227495823224771771722580499537845011761607720625709580893859344906425467043619259922495699307628724101145957769248406176061858175589970191464807742616298037290417123250120238171152193190571002111964163510468321513002899903471526273989418554385041144224700551809730598527857152898601412198083274021030408501415246322647632155829864611389785448115255891846665630489179321839434293555838774407636019690300108314887638299207052617712841520128987040405839334858905384280024087196703169407132829656487620748571766581732534928029723838744209168540679816785254805647652664491958339685160067896781387113066678018230802109452060396346833486464506203504609123867675973809153171415263015871068027611975599508037281801815750249384019473709490819794347746318834380288554552634813640823234637426795223676237912258654850708260665195122610659913285456027649810754701199481213550373490615537702595232414399428832488389955207063840414754768628515651501254705425538693888481174974169822580106730514276670953856531881246811779364146445881818558647070923394809980320091730063442687624884512793494311229652810679371507843215751283575941146952944653182348213930558840306608797120141725044346250320401357889346039345987054472072484436487792996357241156835406298750196163518272043050594045413533264266911484349124579754201710342472912548722954129773802307116112325525451892100683421356360143564744343372407552007222916413854911710921636439376315301613994642193786045590170978099612672378093917935874487030144599720871165207791275936548551299399225367362835871876083173954969785220749938365679217600714296434283542148616795797101134364532683469670861852076245667449782096898579720570170608334942753044726434888331161374604592907279342967499411587439581519080902601033983411459441993209513288776957172049112007216642849359089586811082970905454471801021272060673988540943832118148898048509465873987826435733125380445755754772601145327329299376488052223564089656971767418746244609324121572581954847702941593665359334458964970651748494085471200614112777038900368946124124299512896613192033962880799412711232596477939398094894936364198958491533724190382262448511427965280348747206411556714491923679388851243 9501890395146330585091494952679985736944360054856756326784959738558727175158292445402788699396218513728952145827338762896954079266913225929227291110162056117277764214328642039409375476309846995540098883857240680882510048412438593769626965179819758822871418492649438043950423787964329660098979042269809032569565853106590698035952859652919691723890901934507616268788855574964552167547925032065477277498948628631805308013571018847509166205633081568446816871239723669121974791844830510342513550577550507121479117847905257676025387361424662143353898488381691683419409502725403191632101554133903939974211847520021993868359187783082251546254624192729852788073306262105455609024402735290948592257000756567665474271750419819921489535857910024261415428678813297023320011041497150765053077219944420277629662118331272983366361432302284065952155136349718841747840753336907478568688116041716468711939703589729316887612982288557892080769660265447200152750887175710323171065337611585638297200226552233983457679830832180542952878000577634434009716652038743516391766688472134857378444569976033276039801725272641343167523290530136967658414495148220586329684155627263826788748730555991415159806085931699701542926881039687927067499372926300894716195412264739367593218473711867708857181076027042421238562015187267624004673516258893846801194879912066942664852245382952437609248232647790986986586793666581012541460097318647434120955435640783423359900671147789041902253189986917967548963909622177050011131086362780933810581653988902516660861000359570619465872930319723153709975969705256521578431412836973193171965316293840829583960414207581126040540910590637815558228716475224599691007907734583188678073897793265957490780987225894935600794168590403342812821843985708337505144011406534844355988005003227512673071047271825295166838737548280283499425829848734654893338247035689385341309104179987632533185089877530915644934827543168092742058982451369515007163719098307914936526780821121199308918855287076031864257163572322684750223081920118622898040948811272022204067047775989223944136251304597678340318791081736250183181548794244337987677990299742190226912355863941347734755110836305265367303525940617076851611764861818529425588579382347464750458963542870973957659044083873848744549694960179845709098276107775963874546585837872137835760095276337053970001145587417198596718173607399772234858192339595619308666635207176319296561773429738620504893510038692632487248796091502426142041879 15374381616722931775686844111463856343351152614936085029365976695277399124574771870632092906369496498675188219222634207873563321207821056562446326774424151316771148293812669621498172876753124219196487437652713783190397983759063515129807022172356080200183603256104551725374217264752557155922203814041531613069103698118352305756578569233813551068797327401551235528711351274272180891649070989834725683675010486807395278205035826590125464242923498691696937109410875862312545793956794673852981872090553407024950644121894676230410428505649362695163629086909548836318010914923486465653131962635319186296859479675851858479748973231197507438101289823219032109912740555661294383432038754981248700571888394866872526889463261340050476576263749359120320812958837384220023180448629980421540697968516186859362197046360996822110570600842963882737409941997371506239799093022067546465469503154783146730170505699181377283959815775022398284274269389314876126560040347125586186936405639197613896708263834035799207929214851654252443697794925380752844096940593296151205407511706772284173668246213945534694652433533306538290133950443422423686064305902921785810897706000754442326451325788405814588638574321654908606767295794456555583150874181006320254889300745914341763041053818598223133852029883574302485373794551414069886492074905964770196004860232158672728294933007836950402742543877443797665958301509796763825036038465600378774137783854713982200207279944909183627297536237238368906853255661523037065603158847217421603578011230059352067159750555734137737915980913768567243240236616740870703011167038683535644877865016794959357762721323693451565992802691321236914588860039968943063415459741806105091928809504187593930157302527508930242987954635993513790921456658086431423079885893564988955708876168435303949007595823124694392206100384152159582599784818519875643276612714906986055605538463529781149980886978665280177618297214029944818304649901151611905743439668478523271469533865847634197250016661680624771536506539822096337662663439199525499074932222731464197276561064766181116185363311814321189677880668547333154087003266045359259738664288283134059030504761989857200629098662740998492683971696371849452757092191117905913640802946437121722226382289115583281780616665828696447491288625539180168063246759524457960017786451984914874660464222461178269514042200609232559598973020111004831336131737690514245030834165667853020752155692187131932858790387439838898805510583426105530893122 24876272011869262360778339064143842080295512669792841356150936433836126299733064316034881605765715012404140365049972970770517400474734282491673617884586207434048912508141311660907548353062971214736586321509954464072908032171502108899433987352175839023055021748753989769324641052716886816021182856311340645638669551224943003792531428886733242792688229336058851797500206849236733059196996021900202961173959115439200586218606845437634630448556580260143753980650599531434520585801625184195495422668103914146429761969799933906435815867074024838517527575291240519737420417648889657285233516769223126271071327195873852348108161014279758984355914015948884897986046817766749992456441490272197292828889151434538001161213681159971966112121659383381736241637650681243343191490127131186593775188460607136991859164692269805476932033145247948689565078347090347987639846358975025034157619196499615442110209288910694171572798063580290365043929654762076279310927522835909358001743250783252193908490386269782665609045683834795396575795503015186853813592632039667597174200178907141552112816189978810734454158805947881457657240973559391344478801051142372140581861628018269115200056344397229748444660253354610149694176834144482650650247107307214971084713010653709356259527530465931991033105910616723723935809738681693891165591164858616997199740144225615393147178390789388011990776525234784652545095176377776366496135784247812895093219495497405560107951092698225529550726224156336455817165283700087076734245209998355414159665218961868728020750915304757203788911233491720953216206321997392281442579875656728816843181310635788941723135531274577606533713281959052472817576515193542754423367476389293770002707297453551420938289753403865843782123226396856603743300643794768928223897300099833311696881171662816622078643094949989559044837932432443082025614667254530536614859750596371396914642643517413683165976856196195822553124757198037560363632352521126912907158766786438207996314686968833506168871948756656635793670112144781087885745359318148397115881034003486401343608840755405060321614616411999529996671750283583337268552060289697247416654588025324285942860625931204935384209499046263859987497636988926304368857052936435339229382328784586472685345831986557239439660749702545192040983585719025877161522867300421834564372289857052710420559498798232239515187788026431156317146627510777066194324077286133553697469372844172317313929121925752437752300426132471386054306674928531672935001 40250653628592194136465183175607698423646665284728926385516913129113525424307836186666974512135211511079328584272607178644080721682555339054119944659010358750820060801953981282405721229816095433933073759162668247263306015930565624029241009524531919223238625004858541494698858317469443971943386670352872258707773249343295309549109998120546793861485556737610087326211558123508913950846067011734928644848969602246595864423642672027760094691480078951840691090061475393747066379758419858048477294758657321171380406091694610136846244372723387533681156662200789356055431332572376122938365479404542312567930806871725710827857134245477266422457203839167917007898787373428044375888480245253445993400777546301410528050676942500022442688385408742502057054596488065463366371938757111608134473156976793996354056211053266627587502633988211831426975020344461854227438939381042571499627122351282762172280714988092071455532613838602688649318199044076952405870967869961495544938148889980866090616754220305581873538260535489047840273590428395939697910533225335818802581711885679425725781062403924345429106592339254419747791191416981815030543106954064157951479567628772711441651382132803044337083234575009518756461472628601038233801121288313535225974013756568051119300581349064155124885135794191026209309604290095763777657666070823387193204600376384288121442111398626338414733320402678582318503396686174540191532174249848191669231003350211387760315231037607409156848262461394705362670420945223124142337404057215777017737676449021220795180501471038894941704892147260288196456442938738262984453746914340264461721046327430748299485856854968029172526515973280289387406436555162485817838827218195398861931516801641145351095592280912796086770077862390370394664757301881200351303783193664822267405757340098120571086238918074683951250938316584602664625399485774406179891472465503357452520181107047194833146863834861476000171421971227982378668282253672738818650598435264961479465848552816467703418888610437281407330176651966877425548408798517673896190813256734950598620169905521586176506977928226320719674552418830916491355555326335056507155318876308458344973365387921062136013308161787262352671469333360775757125949244054341252870185275221708194911728121102140521220277415531241639532272211258206045224769626824879794582158741841967585081023721259410509029229988635663715916119647621781897530455814976647798728303538512025338066084814112884370611090813572310284859817258354637203828123 65126925640461456497243522239751540503942177954521767741667849562949651724040900502701856117900926523483468949322580149414598122157289621545793562543596566184868973310095292943313269582879066648669660080672622711336214048102067732928674996876707758246293646753612531264023499370186330787964569526664212904346442800568238313341641427007280036654173786073668939123711764972745647010043063033635131606022928717685796450642249517465394725140036659211984445070712074925181586965560045042243972717426761235317810168061494544043282060239797412372198684237492029875792851750221265780223598996173765438839002134067599563175965295259757025406813117855116801905884834191194794368344921735525643286229666697735948529211890623659994408800507068125883793296234138746706709563428884242794728248345437401133345915375745536433064434667133459780116540098691552202215078785740017596533784741547782377614390924277002765627105411902182979014362128698839028685181895392797404902939892140764118284525244606575364539147306219323843236849385931411126551724125857375486399755912064586567277893878593903156163560751145202301205448432390541206375021908005206530092061429256790980556851438477200274085527894828364128906155649462745520884451368395620750197058726767221760475560108879530087115918241704807749933245414028777457668823257235682004190404340520609903514589289789415726426724096927913366971048491862552316558028310034096004564324222845708793320423182130305634686398988685551041818487586228923211219071649267214132431897341667983089523201252386343652145493803380752009149672649260735655265896326789996993278564227638066537241208992386242606779060229255239341860224013070356028572262194694584692631934224099094696772033882034316661930552201088787226998408057945675969279527680493764655579102638511760937193164882013024673510295776249017045746651014153028936716506332216099728849434823750564608516312840691057671822724546728426019939031914606193865731557757202051399687462163239785301209587760559193938043123846764111658513434154157835822293306694290738436999963778746276991236828592544638320249671224169114499828624107386624753754571973464333782630916226013852267071397517660833526212658966970349702061494806296990776592099567604006294667597073953088697760659938165233786831573255796977231922386292494125301629146531031699020295501583220057642748544417776662094872233266275132558963724779892262781352425772911356197655380013936038636808363391239704781670914123933283168876763124 105377579269053650633708705415359238927588843239250694127184762692063177148348736689368830630036138034562797533595187328058678843839844960599913507202606924935689034112049274225718990812695162082602733839835290958599520064032633356957916006401239677469532271758471072758722357687655774759907956197017085163054216049911533622890751425127826830515659342811279026449923323096254560960889130045370060250871898319932392315065892189493154819831516738163825136160773550318928653345318464900292450012185418556489190574153189154180128304612520799905879840899692819231848283082793641903161964475578307751406932940939325274003822429505234291829270321694284718913783621564622838744233401980779089279630444244037359057262567566160016851488892476868385850350830626812170075935367641354402862721502414195129699971586798803060651937301121671611543515119036014056442517725121060168033411863899065139786671639265094837082638025740785667663680327742915981091052863262758900447878041030744984375141998826880946412685566754812891077122976359807066249634659082711305202337623950265993003674940997827501592667343484456720953239623807523021405565014959270688043540996885563691998502820610003318422611129403373647662617122091346559118252489683934285423032740523789811594860690228594242240803377498998776142555018318873221446480923306505391383608940896994191636031401188042064841457417330591949289551888548726856749560484283944196233555226195920181080738413167913043843247251146945747181158007174146335361409053324429909449635018117004310318381753857382547087198695528012297346129092199473918250350073704337257740285273965497285540694849241210635951586745228519631247630449625518514390101021912780091493865740900735842123129474315229458017322278951177597393072815247557169630831463687429477846508395851859057764251120931099357461546714565601648411276413638803342896397804681603086301955004857611803349459704525919147822895968699654002317700196859866604550208355637316361166928011792601768913006649169631219450454023416078535938982562956353496189497507547473387598583948651798577413335570472864640969345776587945416319979662712959810261727292340642240975889591401773329207410825822620788565330436303710477818620755541045117844969752879228002862508802074190838281880215580765028471105528008235437967611062120950181423728689773540987880582606941317053257573647765297758588149385922754340861255235707239429151154076449868222993446098750151521178974482053277091955773941191637806080591247 170504504909515107130952227655110779431531021193772461868852612255012828872389637192070686747937064558046266482917767477473276965997134582145707069746203491120558007422144567169032260395574228731272393920507913669935734112134701089886591003277947435715825918512083604022745857057842105547872525723681298067400658850479771936232392852135106867169833128884947965573635088069000207970932193079005191856894827037618188765708141706958549544971553397375809581231485625244110240310878509942536422729612179791807000742214683698223410364852318212278078525137184849107641134833014907683385563471752073190245935075006924837179787724764991317236083439549401520819668455755817633112578323716304732565860110941773307586474458189820011260289399544994269643647064765558876785498796525597197590969847851596263045886962544339493716371968255131391660055217727566258657596510861077764567196605446847517401062563542097602709743437642968646678042456441755009776234758655556305350817933171509102659667243433456310951832872974136734313972362291218192801358784940086791602093536014852560281568819591730657756228094629659022158688056198064227780586922964477218135602426142354672555354259087203592508139024231737776568772771554092080002703858079555035620091467291011572070420799108124329356721619203806526075800432347650679115304180542187395574013281417604095150620690977457791268181514258505316260600380411279173307588794318040200797879449041628974401161595298218678529646239832496788999645593403069546580480702591644041881532359784987399841583006243726199232692498908764306495801741460209573516246400494334251018849501603563822781903841627453242730646974483758973107854462695874542962363216607364784125799964999830538895163356349546119947874480039964824391480873193233138910359144181194133425611034363619994957416002944124030971842490814618694157927427791832279612904136897702815151389828608176411865772545216976819645620515428080022256732111466060470281766112839367760854390175032387070122594409728825157493577870180190194452416717114189318482804201838211824598547727398075568650164163017502961219017000757059916148603770099584564016299265804976023606805817415625596278808343483454314777989403274060179880115561838035894437069320483234297530105876027279536042540153745998815302678783805212669889997354615075483052875220805240008176084190161374696006118065541959853460382652197886899824980015599502210503579849361224420648826112686190157987337873292981873626688065124920974957354371 275882084178568757764660933070470018359119864433023155996037374947076006020738373881439517377973202592609064016512954805531955809836979542745620576948810416056247041534193841394751251208269390813875127760343204628535254176167334446844507009679187113185358190270554676781468214745497880307780481920698383230454874900391305559123144277262933697685492471696226992023558411165254768931821323124375252107766725357550581080774033896451704364803070135539634717392259175563038893656196974842828872741797598348296191316367872852403538669464839012183958366036877668339489417915808549586547527947330380941652868015946250111183610154270225609065353761243686239733452077320440471856811725697083821845490555185810666643737025755980028111778292021862655493997895392371046861434164166951600453691350265791392745858549343142554368309269376803003203570336763580315100114235982137932600608469345912657187734202807192439792381463383754314341722784184670990867287621918315205798695974202254087034809242260337257364518439728949625391095338651025259050993444022798096804431159965118553285243760589558159348895438114115743111927680005587249186151937923747906179143423027918364553857079697206910930750153635111424231389893645438639120956347763489321043124207814801383665281489336718571597524996702805302218355450666523900561785103848692786957622222314598286786652092165499856109638931589097265550152268960006030057149278601984397031434675237549155481900008466131722372893490979442536180803600577215881941889755916073951331167377901991710159964760101108746319891194436776603841930833659683491766596474198671508759134775569061108322598690868663878682233719712278604355484912321393057352464238520144875619665705900566381018292830664775577965196758991142421784553688440790308541190607868623611272119430215479052721667123875223388433389205380220342569203841430635622509301941579305901453344833465788215215232249742895967468516484127734024574432308325927074831974468476684122021318186824988839035601058898456376944031893596268730391399280070542814672301709385685212197131676049874146063499733490367602188362777345005332468583432812544374278026558145618264582695408817398925486219169306075103343319839577770657698736317379081012282039073362462300392614678101470374324420369326763843773784311813448107857608416736025664476603910578780996056666797102691749263691713307257612048532038120641240686235251306741639654733925811092643642272211436341679166312355346258965582462006316558781037945618 446386589088083864895613160725580797790650885626795617864889987202088834893128011073510204125910267150655330499430722283005232775834114124891327646695013907176805048956338408563783511603843619545147521680851118298470988288302035536731098012957134548901184108782638280804214071803339985855653007644379681297855533750871077495355537129398040564855325600581174957597193499234254976902753516203380443964661552395168769846482175603410253909774623532915444298623744800807149133967075484785365295471409778140103192058582556550626949034317157224462036891174062517447130552748823457269933091419082454131898803090953174948363397879035216926301437200793087760553120533076258104969390049413388554411350666127583974230211483945800039372067691566856925137644960157929923646932960692548798044661198117387655791745511887482048084681237631934394863625554491146573757710746843215697167805074792760174588796766349290042502124901026722961019765240626426000643522380573871511149513907373763189694476485693793568316351312703086359705067700942243451852352228962884888406524695979971113566812580181288817105123532743774765270615736203651476966738860888225124314745849170273037109211338784410503438889177866849200800162665199530719123660205843044356663215675105812955735702288444842900954246615906611828294155883014174579677089284390880182531635503732202381937272783142957647377820445847602581810752649371285203364738072920024597829314124279178129883061603764350400902539730811939325180449193980285428522370458507717993212699737686979110001547766344834945552583693345540910337732575119893065282842874693005759777984277172624931104502532496117121412880694196037577463339375017267600314827455127509659745465670900396919913456187014321697913071239031107246176034561634023447451549752049817744697730464579099047679083126819347419405231696194839036727131269222467902122206078477008716604734662073964627081004794959872787114136999555814046831164419791987545113740581316051882875708361857375909158195468627281534437609763776458924843815997184732133155105911223897036795679403447949714713663896507870563407379778102065248617187202912128938294325823950594288189501226233024521765027512789529418121309242851830837578851879217116906719108393845696597922720554128749910366960523072762659076463095618660777747605771351101147529479131384021004232750987264066445269809778849217465508914690318528140511215266906243850158313775172317064291098324122531837153650228639240839209150071441479755995299989 722268673266652622660274093796050816149770750059818773860927362149164840913866384954949721503883469743264394515943677088537188585671093667636948223643824323233052090490532249958534762812113010359022649441194322927006242464469369983575605022636321662086542299053192957585682286548837866163433489565078064528310408651262383054478681406660974262540818072277401949620751910399509745834574839327755696072428277752719350927256209499861958274577693668455079016016003976370188027623272459628194168213207376488399383374950429403030487703781996236645995257210940185786619970664632006856480619366412835073551671106899425059547008033305442535366790962036774000286572610396698576826201775110472376256841221313394640873948509701780067483845983588719580631642855550300970508367124859500398498352548383179048537604061230624602452990507008737398067195891254726888857824982825353629768413544138672831776530969156482482294506364410477275361488024811096991510810002492186716948209881576017276729285727954130825680869752432035985096163039593268710903345672985682985210955855945089666852056340770846976454018970857890508382543416209238726152890798811973030493889272198191401663068418481617414369639331501960625031552558844969358244616553606533677706339882920614339400983777781561472551771612609417130512511333680698480238874388239572969489257726046800668723924875308457503487459377436699847360904918331291233421887351522008994860748799516727285364961612230482123275433221791381861361252794557501310464260214423791944543867115588970820161512526445943691872474887782317514179663408779576557049439348891677268537119052741686039427101223364781000095114413908316181818824287338660657667291693647654535365131376800963300931749017679097275878267998022249667960588250074813755992740359918441355969849894794578100400750250694570807838620901575059379296335110653103524631508020056314618058079495539752842296237044702768754582653483683548071405596728117914619945715049792736004897026548682364748193796527525737911381641657372727655235215277255274947827407620609582248992811079497823860777163629998238165595742555447070581085770635724673312572352382096212552772196635050423447251246682095604521464629082429601495277588196596197919001147467208158898315335232230220284691380892399526502850247407432108885605214188087126812006083041962802000289417784366758194533501492156475077557446728439169381197450518212985489813047700983409707933370535558873516319962583985499804791612077758038537033245607 1168655262354736487555887254521631613940421635686614391725817349351253675806994396028459925629793736893919725015374399371542421361505207792528275870338838230409857139446870658522318274415956629904170171122045441225477230752771405520306703035593456210987726407835831238389896358352177852019086497209457745826165942402133460549834218536059014827396143672858576907217945409633764722737328355531136140037089830147888120773738385103272212184352317201370523314639748777177337161590347944413559463684617154628502575433532985953657436738099153461108032148385002703233750523413455464126413710785495289205450474197852600007910405912340659461668228162829861760839693143472956681795591824523860930668191887440978615104159993647580106855913675155576505769287815708230894155300085552049196543013746500566704329349573118106650537671744640671792930821445745873462615535729668569326936218618931433006365327735505772524796631265437200236381253265437522992154332383066058228097723788949780466423762213647924393997221065135122344801230740535512162755697901948567873617480551925060780418868920952135793559142503601665273653159152412890203119629659700198154808635121368464438772279757266027917808528509368809825831715224044500077368276759449578034369555558026427295136686066226404373506018228516028958806667216694873059915963672630453152020893229779003050661197658451415150865279823284302429171657567702576436786625424442033592690062923795905415248023215994832524177972952603321186541701988537786738986630672931509937756566853275949930163060292790778637425058581127858424517395983899469622332282223584683028315103329914310970531603755860898121507995108104353759282163662355928257982119148775164195110597047701360220845205204693418973791339237053356914136622811708837203444290111968259100667580359373677148079833377513918227243852597769898416023466379875571426753714098533323334662814157613717469377241839662641541696790483239362118236761147909902165059455631108787887772734910539740657351991996153019445819251421149186580079031274440007080982513531833479285788490482945773575490827526506108729003122333549135829702957838636802250866678206046806840961697861283447969016274194885133939585938325281432332856440075813314825720255861053855496238055786358970195058341415472289161926710503050769663352819959438227959535562173346823004522168771630824639803311271005692543066361418757697521708665785119229339971361476155726772224468859681405353473612812624740644000762149199518293028545596 1890923935621389110216161348317682430090192385746433165586744711500418516720860780983409647133677206637184119531318076460079609947176301460165224093982662553642909229937402908480853037228069640263192820563239764152483473217240775503882308058229777873074268706889024195975578644901015718182519986774535810354476351053395843604312899942719989089936961745135978856838697320033274468571903194858891836109518107900607471700994594603134170458930010869825602330655752753547525189213620404041753631897824531116901958808483415356687924441881149697754027405595942889020370494078087470982894330151908124279002145304752025067457413945646101997035019124866635761126265753869655258621793599634333306925033108754373255978108503349360174339759658744296086400930671258531864663667210411549595041366294883745752866953634348731252990662251649409190998017337000600351473360712493922956704632163070105838141858704662255007091137629847677511742741290248619983665142385558244945045933670525797743153047941602055219678090817567158329897393780128780873659043574934250858828436407870150447270925261722982770013161474459555782035702568622128929272520458512171185302524393566655840435348175747645332178167840870770450863267782889469435612893313056111712075895440947041634537669844007965846057789841125446089319178550375571540154838060870026121510150955825803719385122533759872654352739200721002276532562486033867670208512775964042587550811723312632700612984828225314647453406174394703047902954783095288049450890887355301882300433968864920750324572819236722329297533468910175938697059392679046179381721572476360296852222382655997009958704979225679121603109522012669941100987949694588915649410842422818730475728424502323521776954222372516249669607235075606582097211061783650959437030471886700456637430254168255248480583628208489035082473499344957795319801490528674951385222118589637952720893653153470311673478884365410296279443966922910189642357876027816785005170680901523892669761459222105405545788523678757357200893078521914235314246551695282028809921152443061534781301562443597436267991156504346894598864888996206410788728474361475563439030588143019393733894496333871416267520876980738461050567407711033828134028272409512744721403328262014394553391018589190479749722307871815664776957910482878548958034147525354771541645215309625004811586555997582834336812763162167620623808147196866902906116303332214829784409177139136480157839395240278869793575396610240448792374226957556830061791203 3059579197976125597772048602839314044030614021433047557312562060851672192527855177011869572763470943531103844546692475831622031308681509252693499964321500784052766369384273567003171311644026270167362991685285205377960703970012181024189011093823234084061995114724855434365475003253193570201606483983993556180642293455529304154147118478779003917333105417994555764056642729667039191309231550390027976146607938048495592474732979706406382643282328071196125645295501530724862350803968348455313095582441685745404534242016401310345361179980303158862059553980945592254121017491542935109308040937403413484452619502604625075367819857986761458703247287696497521965958897342611940417385424158194237593224996195351871082268496996940281195673333899872592170218486966762758818967295963598791584380041384312457196303207466837903528333996290080983928838782746473814088896442162492283640850782001538844507186440168027531887768895284877748123994555686142975819474768624303173143657459475578209576810155249979613675311882702280674698624520664293036414741476882818732445916959795211227689794182675118563572303978061221055688861721035019132392150118212369340111159514935120279207627933013673249986696350239580276694983006933969512981170072505689746445450998973468929674355910234370219563808069641475048125845767070444600070801733500479273531044185604806770046320192211287805218019024005304705704220053736444106995138200406076180240874647108538115861008044220147171631379126998024234444656771633074788437521560286811820057000822140870680487633112027500966722592050038034363214455376578515801714003796061043325167325712570307980490308735086577243111104630117023700383151612050517173631529991197982925586325472203683742622159427065935223460946472128963496233833873492488162881320583854959557305010613541932396560417005722407262326326097114856211343267870404246378138936217122961287383707810767187781050720724028051837976234450162272307879119023937718950064626312010311780442496369761846062897780519831776803020144499671100815393277826135289109792434684276540820569792045389371011758818683010455623601987222545342240491686312998277814305708794189826234695592357617319385283795071865872400636505732992466160990468348222827570441659189315869890791446804948160674808063723344104826703668413533648212310854106963582731077207388656448009333755327628407474140124034167860163690169565954564424614782088451444169755770653294863252382308254921684223267188209234981092793136376157075123090336799 4950503133597514707988209951156996474120806407179480722899306772352090709248715957995279219897148150168287964078010552291701641255857810712858724058304163337695675599321676475484024348872095910430555812248524969530444177187252956528071319152053011957136263821613879630341053648154209288384126470758529366535118644508925147758460018421498993007270067163130534620895340049700313659881134745248919812256126045949103064175727574309540553102212338941021727975951254284272387540017588752497066727480266216862306493050499816667033285621861452856616086959576888481274491511569630406092202371089311537763454764807356650142825233803632863455738266412563133283092224651212267199039179023792527544518258104949725127060377000346300455535432992644168678571149158225294623482634506375148386625746336268058210063256841815569156518996247939490174926856119747074165562257154656415240345482945071644682649045144830282538978906525132555259866735845934762959484617154182548118189591130001375952729858096852034833353402700269439004596018300793073910073785051817069591274353367665361674960719444398101333585465452520776837724564289657148061664670576724540525413683908501776119642976108761318582164864191110350727558250789823438948594063385561801458521346439920510564212025754242336065621597910766921137445024317446016140225639794370505395041195141430610489431442725971160459570758224726306982236782539770311777203650976370118767791686370421170816473992872445461819084785301392727282347611554728362837888412447642113702357434791005791430812205931264223296020125518948210301911514769257561981095725368537403622019548095226304990449013714312256364714214152129693641484139561745106089280940833620801656062053896706007264399113649438451473130553707204570078331044935276139122318351055741660013942440867710187645041000633930896297408799596459814006663069360932921329524158335712599240104601463920658092724199608393462134255678417085182497521476899965535735069796992911835673112257828983951468443569043510534160221037578193015050707524377830571138602355836719602355351093607832968448026809839514802518200852111541548651280414787359753377744739382332845628429486853951190801551315948846610861687073140703499989124496620632340315163062517577884285344837823537351154557786031215920491480626324016526761268888254488937502618852603966073014145341883625990308476936797330027784313977713151431327520898391783658999540179830433999732540147650161963093060763605845221541585510603114631953152128002 8010082331573640305760258553996310518151420428612528280211868833203762901776571135007148792660619093699391808624703028123323672564539319965552224022625664121748441968705950042487195660516122180597918803933810174908404881157265137552260330245876246041198258936338735064706528651407402858585732954742522922715760937964454451912607136900277996924603172581125090384951982779367352851190366295638947788402733983997598656650460554015946935745494667012217853621246755814997249890821557100952379823062707902607711027292516217977378646801841756015478146513557834073528612529061173341201510412026714951247907384309961275218193053661619624914441513700259630805058183548554879139456564447950721782111483101145076998142645497343240736731106326544041270741367645192057382301601802338747178210126377652370667259560049282407060047330244229571158855694902493547979651153596818907523986333727073183527156231584998310070866675420417433007990730401620905935304091922806851291333248589476954162306668252102014447028714582971719679294642821457366946488526528699888323720270327460572902650513627073219897157769430581997893413426010692167194056820694936909865524843423436896398850604041774991832151560541349931004253233796757408461575233458067491204966797438893979493886381664476706285185405980408396185570870084516460740296441527870984668572239327035417259477762918182448264788777248731611687941002593506755884198789176776194948032561017529708932335000916665608990716164428390751516792268326361437626325934007928925522414435613146662111299839043291724262742717568986244665125970145836077782809729164598446947186873807796612970939322449398833607825318782246717341867291173795623262912470824818784581648379368909691007021273076504386696591500179333533574564878808768627285199671639596619571247451481252120041601417639653303559735125693574670218006337231337167707663094552835560527488309274687845873774920332421513972231912867247454805400595923903254685134423304922147453554754198745797531341349563342310963241182077864115866100802203965860248394790520996143175920885653222339459785628522525258141802839334086890891772101100358031192050448176522671863125079211568510186835111020712483262323578873695966150114964968855167885604721706893754176136284628485511829365849754560025318184294737550174973579742361452520233696059992622521023479097211254397782617060831497887948004147279105995752135680480235103169295950483728862984922455905083647316327951815080202634378646979271707076242464801 12960585465171155013748468505153306992272226835792009003111175605555853611025287093002428012557767243867679772702713580415025313820397130678410948080929827459444117568027626517971220009388218091028474616182335144438849058344518094080331649397929257998334522757952614695047582299561612146969859425501052289250879582473379599671067155321776989931873239744255625005847322829067666511071501040887867600658860029946701720826188128325487488847707005953239581597198010099269637430839145853449446550542974119470017520343016034644411932423703208872094233473134722554803104040630803747293712783116026489011362149117317925361018287465252488370179780112822764088150408199767146338495743471743249326629741206094802125203022497689541192266539319188209949312516803417352005784236308713895564835872713920428877322816891097976216566326492169061333782551022240622145213410751475322764331816672144828209805276729828592609845581945549988267857466247555668894788709076989399409522839719478330115036526348954049280382117283241158683890661122250440856562311580516957914994623695125934577611233071471321230743234883102774731137990300349315255721491271661450390938527331938672518493580150536310414316424732460281731811484586580847410169296843629292663488143878814490058098407418719042350807003891175317323015894401962476880522081322241490063613434468466027748909205644153608724359535473457918670177785133277067661402440153146313715824247387950879748808993789111070809800949729783478799139879881089800464214346455571039224771870404152453542112044974555947558762843087934454967037484915093639763905454533135850569206421903022917961388336163711089972539532934376410983351430735540729352193411658439586237710433265615698271420386725942838169722053886538103652895923744044766407518022695338279585189892348962307686642418273584199857143925290034484224669406592270089037187252888548159767592910738608503966499119940814976106487591284332637302922072823868790420204220297833983126667012027729748999784918606852845123462219656057130916808326581796431386997146357715745531271979261055307907812438362040060660003691445628439543052515887717784569795187558855517491554566065519700988386426969559094124010652014399466139239461589487508200767784224471638461481122452022862983923635785775945809664921061566701734848630615941457736314912596588594037624439094880388091093997628827915732318124992257427079656578872018762168836130314162862717462603555245610409388715420925424175964157582386339029394592803 20970667796744795319508727059149617510423647264404537283323044438759616512801858228009576805218386337567071581327416608538348986384936450643963172103555491581192559536733576560458415669904340271626393420116145319347253939501783231632591979643805504039532781694291349759754110950969015005555592380243575211966640520437834051583674292222054986856476412325380715390799305608435019362261867336526815389061594013944300377476648682341434424593201672965457435218444765914266887321660702954401826373605682022077728547635532252621790579225544964887572379986692556628331716569691977088495223195142741440259269533427279200579211341126872113284621293813082394893208591748322025477952307919693971108741224307239879123345667995032781928997645645732251220053884448609409388085838111052642743045999091572799544582376940380383276613656736398632492638245924734170124864564348294230288318150399218011736961508314826902680712257365967421275848196649176574830092800999796250700856088308955284277343194601056063727410831866212878363185303943707807803050838109216846238714894022586507480261746698544541127901004313684772624551416311041482449778311966598360256463370755375568917344184192311302246467985273810212736064718383338255871744530301696783868454941317708469551984789083195748635992409871583713508586764486478937620818522850112474732185673795501445008386968562336056989148312722189530358118787726783823545601229329922508663856808405480588681143994705776679800517114158174230315932148207451238090540280463499964747186306017299115653411884017847671821505560656920699632163455060929717546715183697734297516393295710819530932327658613109923580364851716623128325218721909336352615105882483258370819358812634525389278441659802447224866313554065871637227460802552813393692717694334934899156437343830214427728243835913237503416879050983609154442675743823607256744850347441383720295081220013296349840274040273236490078719504151580092108322668747772045105338643602756130580221766226475546531126268170195156086703401733921246782909128785762291635391936878711888707192864914277647367598066884565318801806530779715330434824616988075815761845635735378189354679645277088211175221537990271577386334230888095432289354426558342676086372505931365392637617407080508374813289485540335971127849215799116876708428372977393977970010972589211115061103536306134785873711058460325803680322272271363422831792259352253865338132080797891725702385059460329257725716667236005626810342804561658046105637057604 33931253261915950333257195564302924502695874100196546286434220044315470123827145321012004817776153581434751354030130188953374300205333581322374120184485319040636677104761203078429635679292558362654868036298480463786102997846301325712923629041734762037867304452243964454801693250530627152525451805744627501217520102911213651254741447543831976788349652069636340396646628437502685873333368377414682989720454043891002098302836810666921913440908678918697016815642776013536524752499848807851272924148656141547746067978548287266202511649248173759666613459827279183134820610322780835788935978258767929270631682544597125940229628592124601654801073925905158981358999948089171816448051391437220435370965513334681248548690492722323121264184964920461169366401252026761393870074419766538307881871805493228421905193831478359493179983228567693826420796946974792270077975099769553052649967071362839946766785044655495290557839311517409543705662896732243724881510076785650110378928028433614392379720950010113007792949149454037047075965065958248659613149689733804153709517717712442057872979770015862358644239196787547355689406611390797705499803238259810647401898087314241435837764342847612660784410006270494467876202969919103281913827145326076531943085196522959610083196501914790986799413762759030831602658888441414501340604172353964795799108263967472757296174206489665713507848195647449028296572860060891207003669483068822379681055793431468429952988494887750610318063887957709115072028088541038554754626919071003971958176421451569195523928992403619380268403744855154599200939976023357310620638230870148085599717613842448893715994776821013552904384650999539308570152644877081967299294141697957057069245900141087549862046528390063036035607952409740880356726296858160100235717030273178741627236179176735414886254186821703274022976273643638667345150415877345782037600329931880062674130751904853806773160214051466185207095435912729411244741571640835525542863900590113706888778254205295530911186777048001210165621389978377699717455367558723022389083236427634238464844175332955275410505246605379461810222225343769977877132875793600331640823294233706846234211342607912163607964959830671510344882902494898428593888147830184287140290155837031099098529532531237797213121326111916937514136860683578443277003593335435706325885185799709098727975401015173964805056089153719412640397263620849911448838224272627506968211112054588419847663015574868135105382656931050986306962144044385135031650407 54901921058660745652765922623452542013119521364601083569757264483075086636629003549021581622994539919001822935357546797491723286590270031966337292288040810621829236641494779638888051349196898634281261456414625783133356937348084557345515608685540266077400086146535314214555804201499642158081044185988202713184160623349047702838415739765886963644826064395017055787445934045937705235595235713941498378782048057835302475779485493008356338034110351884154452034087541927803412074160551762253099297754338163625474615614080539887993090874793138647238993446519835811466537180014757924284159173401509369529901215971876326519440969718996714939422367738987553874567591696411197294400359311131191544112189820574560371894358487755105050261830610652712389420285700636170781955912530819181050927870897066027966487570771858742769793639964966326319059042871708962394942539448063783340968117470580851683728293359482397971270096677484830819553859545908818554974311076581900811235016337388898669722915551066176735203781015666915410261269009666056462663987798950650392424411740298949538134726468560403486545243510472319980240822922432280155278115204858170903865268842689810353181948535158914907252395280080707203940921353257359153658357447022860400398026514231429162067985585110539622791823634342744340189423374920352122159127022466439527984782059468917765683142768825722702656160917836979386415360586844714752604898812991331043537864198912057111096983200664430410835178046131939431004176295992276645294907382570968719144482438750684848935813010251291201773964401775854231364395036953074857335821928604445601993013324661979826043653389930937133269236367622667633788874554213434582405176624956327876428058534666476828303706330837287902349162018281378107817528849671553792953411365208077898064580009391163143130090100059206690902027257252793110020894239484602526887947771315600357755350765201203647047200487287956263926599587492821519567410319412880630881507503346244287110544480680842062037454947243157296869023123899624482626584153321014657781020115139522945657709089610602643008572131170698263616753005059100412701749863869416093486459029611896200913856619696123338829502950102248896679113790590330717948314706172860373512796087202423736715936613039612610502606866447888065363352659800455151705376570729413676336857775010824159831511707149959838516114549479523092962669534984272743241097576526492845100291909946314122232722475904125860822049892936677796649766705702431240668708011 88833174320576695986023118187755466515815395464797629856191484527390556760456148870033586440770693500436574289387676986445097586795603613288711412472526129662465913746255982717317687028489456996936129492713106246919459935194385883058439237727275028115267390598779278669357497452030269310606495991732830214401680726260261354093157187309718940433175716464653396184092562483440391108928604091356181368502502101726304574082322303675278251475019030802851468849730317941339936826660400570104372221902994305173220683592628827154195602524041312406905606906347114994601357790337538760073095151660277298800532898516473452459670598311121316594223441664892712855926591644500369110848410702568411979483155333909241620443048980477428171526015575573173558786686952662932175825986950585719358809742702559256388392764603337102262973623193534020145479839818683754665020514547833336393618084541943691630495078404137893261827935989002240363259522442641062279855821153367550921613944365822513062102636501076289742996730165120952457337234075624305122277137488684454546133929458011391596007706238576265845189482707259867335930229533823077860777918443117981551267166930004051789019712878006527568036805286351201671817124323176462435572184592348936932341111710754388772151182087025330609591237397101775171792082263361766623499731194820404323783890323436390522979316975315388416164009113484428414711933446905605959608568296060153423218919992343525541049971695552181021153241934089648546076204384533315200049534301641972691102658860202254044459742002654910582042368146631008830565335012976432167956460159474593687592730938504428719759648166751950686173621018622206942359027199090516549704470766654284933497304434807564378165752859227350938384769970691118988174255146529713893189128395481256639691816188567898558016344286880909964925003530896431777366044655361948308925548101247480420429481517106057453820360701339422449133695023405550930812151891053716156424371403936357993999322734886137592948641724291158507034644513878002182344039520879737680170103351567157184122553264943557918419077377776077725426975230402870390578882739663016425127282323845603047148067962304035502437467909932920407023996693085229146542202854003044660653086243039454835814466145570850407715728192559805002877489520484033594982380164064849382662742960810533258559487108165133803321170638633242505603066798605122654689935800799120352068503022000902542080385491478993995927432549867728782956728849746816375700358418 143735095379237441638789040811208008528934916829398713425948749010465643397085152419055168063765233419438397224745223783936820873385873645255048704760566940284295150387750762356205738377686355631217390949127732030052816872542470440403954846412815294192667476745314592883913301653529911468687540177721032927585841349609309056931572927075605904078001780859670451971538496529378096344523839805297679747284550159561607049861807796683634589509129382687005920883817859869143348900820952332357471519657332468798695299206709367042188693398834451054144600352866950806067894970352296684357254325061786668330434114488349778979111568030118031533645809403880266730494183340911566405248770013699603523595345154483801992337407468232533221787846186225885948206972653299102957781899481404900409737613599625284354880335375195845032767263158500346464538882690392717059963053995897119734586202012524543314223371763620291233098032666487071182813381988549880834830132229949451732848960703211411731825552052142466478200511180787867867598503085290361584941125287635104938558341198310341134142432707136669331734726217732187316171052456255358016056033647976152455132435772693862142201661413165442475289200566431908875758045676433821589230542039371797332739138224985817934219167672135870232383061031444519511981505638282118745658858217286843851768672382905308288662459744141111118820170031321407801127294033750320712213467109051484466756784191255582652146954896216611431988419980221587977080380680525591845344441684212941410247141298952938893395555012906201783816332548406863061929730049929507025292282088079039289585744263166408545803301556682887819442857386244874576147901753303951132109647391610612809925362969474041206469459190064638840733931988972497095991783996201267686142539760689334537756396197959061701146434386940116655827030788149224887386938894846550835813495872563080778184832282307261100867561188627378713060294610898372450379562210466596787305878907282602281109867215566979654986096671534315803903667637777626664970623674200752337951123466706680129780262354554160561427649508946775989043728235461970803280632603532432518613741353457499248061924582000158841266970860035169303703110483675559864490517560175905034165882330241878572530402758610463018218335059007693068240842180284488746687756734794263058999600735821357418390998815315093641837285188112765598565736333589395397931033377325613197168794931947216664313107967383119856749482442804406579606495555449247616369066429 232568269699814137624812158998963475044750312294196343282140233537856200157541301289088754504535926919874971514132900770381918460181477258543760117233093069946761064134006745073523425406175812628153520441840838276972276807736856323462394084140090322307934867344093871553270799105560180779294036169453863141987522075869570411024730114385324844511177497324323848155631059012818487453452443896653861115787052261287911623944130100358912840984148413489857389733548177810483285727481352902461843741560326773971915982799338194196384295922875763461050207259214065800669252760689835444430349476722063967130967013004823231438782166341239348127869251068772979586420774985411935516097180716268015503078500488393043612780456448709961393313861761799059506993659605962035133607886431990619768547356302184540743273099978532947295740886352034366610018722509076471724983568543730456128204286554468234944718450167758184494925968655489311546072904431190943114685953383317002654462905069033924793928188553218756221197241345908820324935737160914666707218262776319559484692270656321732730150138945712935176924208924992054652101281990078435876833952091094134006399602702697913931221374291171970043326005852783110547575169999610284024802726631720734265080249935740206706370349759161200841974298428546294683773587901643885369158589412107248175552562706341698811641776719456499534984179144805836215839227480655926671822035405111637889975704183599108193196926591768792453141661914311236523156585065058907045393975985854914101349800159155192937855297015561112365858700695037871892495065062905939193248742247553632977178475201670837265562949723434838505616478404867081518506928952394467681814118158264897743422667404281605584635212049291989779118701959663616084166039142730981579331668156170591177448212386526960259162778673821026620752034319045656664752983550208499144739043973810561198614313799413318554687921889966801162193989634303923381191714101520312943730250311218960275109189950453117247934738395825474310938312151655628847314663195080490018121226818273837313902815619497718479846726886722853714470703465864841193859515343195448943741023677303102295209992544304194343704438769968089710727107176760789011032720414178949694818968573281333408344868904181313425934063251567498071118331700768522341670136898859112441662343696631890676950485923480227445158455826746008104168803132194518052620969178124733549237297953948119206393493458862113852676914992672135362563224405196063992069424847 376303365079051579263601199810171483573685229123595056708088982548321843554626453708143922568301160339313368738878124554318739333567350903798808821993660010231056214521757507429729163783862168259370911390968570307025093680279326763866348930552905616500602344089408464437184100759090092247981576347174896069573363425478879467956303041460930748589179278183994300127169555542196583797976283701951540863071602420849518673805937897042547430493277796176863310617366037679626634628302305234819315261217659242770611282006047561238572989321710214515194807612081016606737147731042132128787603801783850635461401127493173010417893734371357379661515060472653246316914958326323501921345950729967619026673845642876845605117863916942494615101707948024945455200632259261138091389785913395520178284969901809825098153435353728792328508149510534713074557605199469188784946622539627575862790488566992778258941821931378475728024001321976382728886286419740823949516085613266454387311865772245336525753740605361222699397752526696688192534240246205028292159388063954664423250611854632073864292571652849604508658935142724241968272334446333793892889985739070286461532038475391776073423035704337412518615206419215019423333215676044105614033268671092531597819388160726024640589517431297071074357359459990814195755093539926004114817447629394092027321235089247007100304236463597610653804349176127244016966521514406247384035502514163122356732488374854690845343881487985403885130081894532824500236965745584498890738417670067855511596941458108131831250852028467314149675033243444734954424795112835446218541024335632672266764219464837245811366251280117726325059335791111956094654830705698418813923765549875510553348030373755646791104671239356628619852633948636113180157823138932249265474207916859925715204608584486021960309213060761143276579065107194881552139922445055049980552539846373641976799146081720579655555483078594179875254284245202295831571276311986909731036129218501562556219057166020096902920835067359790114841979789433255512285286869281242356072350284980517443683077974051879041274376395669629703514431701326811997140147946727881462354765030760601543271917126304353184971409630003259014430217660436348875523237974354854728984850903523211980875271662791776444152398310575191139359173881053011088357893633653375500661944432453248095341484738795321086995741014858773702734539465783913450552002555450346746406092885895335870706601426245233709426397435476541942169719960645311608438491276 608871634778865716888413358809134958618435541417791399990229216086178043712167754997232677072837087259188340253011025324700657793748828162342568939226753080177817278655764252503252589190037980887524431832809408583997370488016183087328743014692995938808537211433502335990454899864650273027275612516628759211560885501348449878981033155846255593100356775508318148282800614555015071251428727598605401978858654682137430297750067997401460271477426209666720700350914215490109920355783658137281159002777986016742527264805385755434957285244585977976245014871295082407406400491731967573217953278505914602592368140497996241856675900712596727789384311541426225903335733311735437437443131446235634529752346131269889217898320365652456008415569709824004962194291865223173224997672345386139946832326203994365841426535332261739624249035862569079684576327708545660509930191083358031990994775121461013203660272099136660222949969977465694274959190850931767064202038996583457041774770841279261319681929158579978920594993872605508517469977407119694999377650840274223907942882510953806594442710598562539685583144067716296620373616436412229769723937830164420467931641178089690004644409995509382561941212271998129970908385675654389638835995302813265862899638096466231346959867190458271916331657888537108879528681441569889483976037041501340202873797795588705911946013183054110188788528320933080232805748995062174055857537919274760246708192558453799038540808079754196338271743808844061023393550810643405936132393655922769612946741617263324769106149044028426515533733938482606846919860175741385411789766583186305243942694666508083076929201003552564830675814195979037613161759658092886495737883708140408296770697778037252375739883288648618398971335908299729264323862281663230844805876073030516892652820971012982219471991734582169897331099426240538216892905995263549125291583820184203175413459881133898210243404968560981037448273879506219212762990413507222674766379529720522831328247116473214150855573463185264425780291941088884359599950064361732374193577103254354757585893593549597521121103282392483417985135167191653190999663289923330406095788708063703838481909670608547528675848399971348725157324837197137886555958388533804423803819476804545389220140566973089870086461562142689210477505581821533430028030532512487942324288129085138772291970662275548532154196841604781806903342597978431503172971733575080295643390839843455077100094885107347562103312428148677304732944365841375600507916123 985174999857917296152014558619306442192120770541386456698318198634499887266794208705376599641138247598501708991889149879019397127316179066141377761220413090408873493177521759932981752973900149146895343223777978891022464168295509851195091945245901555309139555522910800427639000623740365275257188863803655281134248926827329346937336197307186341689536053692312448409970170097211655049405011300556942841930257102986948971556005894444007701970704005843584010968280253169736554984085963372100474263995645259513138546811433316673530274566296192491439822483376099014143548222774099702005557080289765238053769267991169252274569635083954107450899372014079472220250691638058939358789082176203253556426191774146734823016184282594950623517277657848950417394924124484311316387458258781660125117296105804190939579970685990531952757185373103792759133932908014849294876813622985607853785263688453791462602094030515135950973971299442077003845477270672591013718124609849911429086636613524597845435669763941201619992746399302196710004217653324723291537038904228888331193494365585880458735282251412144194242079210440538588645950882746023662613923569234706929463679653481466078067445699846795080556418691213149394241601351698495252869263973905797460719026257192255987549384621755342990689017348527923075283774981495893598793484670895432230195032884835713012250249646651720842592877497060324249772270509468421439893040433437882603440680933308489883884689567739600223401825703376885523630516556227904826870811325990625124543683075371456600357001072495740665208767181927341801344655288576831630330790918818977510706914131345328888295452283670291155735149987090993707816590363791305309661649258015918850118728151792899166844554528005247018823969856935842444481685420595480110280083989890442607857429555499004179781204795343313173910164533435419769032828440318599105844123666557845152212605962854477865798888047155160912702558124708515044334266725494132405802508748222085387547304282493311053776408530545054540622271730522139871885236933642974730265927388234872201268971567601476562395479678062113121499566868518465188139811236651211868450553738824305381753826796912900713647258029974607739587542497633486762079196362888659152788670380327757370095412229764866314238859872717880349836679462874544518385924166165863442986232561538386867633455401070869619149937856463555509637882063762344953724974289025427042049483725738790947806696311352581271529709863625219246902664326486687208946407399 1594046634636783013040427917428441400810556311959177856688547414720677930978961963702609276713975334857690049244900175203720054921065007228483946700447166170586690771833286012436234342163938130034419775056587387475019834656311692938523834959938897494117676766956413136418093900488390638302532801380432414492695134428175779225918369353153441934789892829200630596692770784652226726300833738899162344820788911785124379269306073891845467973448130215510304711319194468659846475339869621509381633266773631276255665811616819072108487559810882170467684837354671181421549948714506067275223510358795679840646137408489165494131245535796550835240283683555505698123586424949794376796232213622438888086178537905416624040914504648247406631932847367672955379589215989707484541385130604167800071949622309798556781006506018252271577006221235672872443710260616560509804807004706343639844780038809914804666262366129651796173923941276907771278804668121604358077920163606433368470861407454803859165117598922521180540587740271907705227474195060444418290914689744503112239136376876539687053177992849974683879825223278156835209019567319158253432337861399399127397395320831571156082711855695356177642497630963211279365149987027352884891705259276719063323618664353658487334509251812213614907020675237065031954812456423065783082769521712396772433068830680424418924196262829705831031381405817993404482578019504530595495750578352712642850148873491762288922425497647493796561673569512220946547024067366871310763003204981913394737490424692634781369463150116524167180742501120409948648264515464318217042120557502005282754649608797853411965224653287222855986410964183070031320978350021884191805399532966156327146889425929830151542584437816653865417795305765235571708805547702258710955085960062920959500510250526511986399253196529925483071241263959675957985925734435582148231135707486742048327626065843988376076042293015716141950150832004214734257097257139001355080568888277942608218875551398966525204631981993730318966402563671611024231485186998004707104459504491489226958854865161151074083516582960454596539484702035710118379139474526574542274546342446888009220235736467521448242323106429945956464744867334830624648635154751422463576592489857132302759315552796737956184325321434860569560314185044696077948413954698678351385310520690623525639925426063346418151304134698068337316541224661740776456897946022600507337692874565582246024906791196459928833633022291773896551635608692328062809454323522 2579221634494700309192442476047747843002677082500564313386865613355177818245756172407985876355113582456191758236789325082739452048381186294625324461667579260995564265010807772369216095137838279181315118280365366366042298824607202789718926905184799049426816322479323936845732901112131003577789990244236069773829383355003108572855705550460628276479428882892943045102740954749438381350238750199719287662719168888111328240862079786289475675418834221353888722287474721829583030323955584881482107530769276535768804358428252388782017834377178362959124659838047280435693496937280166977229067439085445078699906676480334746405815170880504942691183055569585170343837116587853316155021295798642141642604729679563358863930688930842357255450125025521905796984140114191795857772588862949460197066918415602747720586476704242803529763406608776665202844193524575359099683818329329247698565302498368596128864460160166932124897912576349848282650145392276949091638288216283279899948044068328457010553268686462382160580486671209901937478412713769141582451728648732000570329871242125567511913275101386828074067302488597373797665518201904277094951784968633834326859000485052622160779301395202972723054049654424428759391588379051380144574523250624860784337690610850743322058636433968957897709692585592955030096231404561676681563006383292204663263863565260131936446512476357551873974283315053728732350290013999016935643618786150525453589554425070778806310187215233396785075395215597832070654583923099215589874016307904019862034107768006237969820151189019907845951268302337290449609170752895048672451348420824260265356522929198740853520105570893147142146114170161025028794940385675497115061182224172245997008154081623050709428992344659112436619275622171414153287233122854191065366044052811402108367680082010990579034401325268796245151428493111377754958562875900747336979831153299893479838671806842853941841181062871302862853390128923249301431523864495487486371397026164693606422855681459836258408390524275373507024835402133164103370423931647681834725431879724099160123836728752550645912062638516709660984268904228583567279285763225754142996896185712314601989563264434348955970364459920564204332409832464111410714351114311122729381160237460060129410965026502822498564181307578449910150864507570622466799878864844214828296753252161912507558881464417287770454072554531892826179106725503121410622920311625934379742358291321036972713487507812510105162732155399115798538273018814750018400730921 4173268269131483322232870393476189243813233394459742170075413028075855749224718136110595153069088917313881807481689500286459506969446193523109271162114745431582255036844093784805450437301776409215734893336952753841062133480918895728242761865123696543544493089435737073263826801600521641880322791624668484266524517783178887798774074903614070211269321712093573641795511739401665107651072489098881632483508080673235707510168153678134943648866964436864193433606669190489429505663825206390863740797542907812024470170045071460890505394188060533426809497192718461857243445651786234252452577797881124919346044084969500240537060706677055777931466739125090868467423541537647692951253509421081029728783267584979982904845193579089763887382972393194861176573356103899280399157719467117260269016540725401304501592982722495075106769627844449537646554454141135868904490823035672887543345341308283400795126826289818728298821853853257619561454813513881307169558451822716648370809451523132316175670867608983562701168226943117607164952607774213559873366418393235112809466248118665254565091267951361511953892525766754209006685085521062530527289646368032961724254321316623778243491157090559150365551680617635708124541575406404265036279782527343924107956354964509230656567888246182572804730367822657986984908687827627459764332528095688977096332694245684550860642775306063382905355689133047133214928309518529612431394197138863168303738427916833067728735684862727193346748964727818778617678651289970526352877221289817414599524532460641019339283301305544075026693769422747239097873686217213265714571905922829543020006131727052152818744758858116003128557078353231056349773290407559688920460715190328573143897580011453202252013430161312977854414581387406985862092780825112902020452004115732361608877930608522976978287597855194279316392692452787335740884297311482895568115538640041941807464737650831230017883474078587444813004222133137983558528781003496842566940285304107301825298407080426361463040372518005692473427399073744188334855610929652388939184936371213326118978701889903624729428645598971306200468970939938701946418760289800296417543238632600323822225299731955797198293470889866520669077277167294736059349505865733586305973650094592362888726517823240778682889502742439019470465049552266700415213833563522566213607273942785438147484307527763705921758207252600230142720331387243897867520866334226441717435232856903282997620278704272438938795754447173012350173881711142812827855054443 6752489903626183631425312869523937086815910476960306483462278641431033567470474308518581029424202499770073565718478825369198959017827379817734595623782324692577819301854901557174666532439614688397050011617318120207104432305526098517961688770308495592971309411915061010109559702712652645458112781868904554040353901138181996371629780454074698487748750594986516686898252694151103489001311239298600920146227249561347035751030233464424419324285798658218082155894143912319012535987780791272345848328312184347793274528473323849672523228565238896385934157030765742292936942589066401229681645236966569998045950761449834986942875877557560720622649794694676038811260658125501009106274805219723171371387997264543341768775882509932121142833097418716766973557496218091076256930308330066720466083459141004052222179459426737878636533034453226202849398647665711228004174641365002135241910643806651996923991286449985660423719766429607467844104958906158256261196740038999928270757495591460773186224136295445944861748713614327509102431020487982701455818147041967113379796119360790822077004543052748340027959828255351582804350603722966807622241431336666796051113321801676400404270458485762123088605730272060136883933163785455645180854305777968784892294045575359973978626524680151530702440060408250942015004919232189136445895534478981181759596557810944682797089287782420934779329972448100861947278599532528629367037815925013693757327982341903846535045872077960590131824359943416610688333235213069741942751237597721434461558640228647257309103452494563982872645037725084529547482856970108314387023254343653803285362654656250893672264864429009150270703192523392081378568230793235186035521897414500819140905734093076252961442422505972090291033857009578400015380013947967093085818048168543763717245610690533967557321999180463075561544120945898713495842860187383642905095369793341835287303409457674083959724655141458747675857612262061232859960304867992330053311682330271995431721262761886197721448763042281065980452234475877352438226034861300070773910368250937425279102538618656175375340708237488015861453239844167285513698046053026050560540134818312638424214862996390146154263835349787084873409686999758847470063856980044709035354810332052423018137482849743601181453684050017469380615914059837322882013712428366781041904027194947350655043188992180993692212279807132122968899438112747019278143786645852376097177591148224319970333766212084949043958486602572128148712154729957562846255785364 10925758172757666953658183263000126330629143871420048653537691669506889316695192444629176182493291417083955373200168325655658465987273573340843866785897070124160074338698995341980116969741391097612784904954270874048166565786444994246204450635432192136515802501350798083373386504313174287338435573493573038306878418921360884170403855357688768699018072307080090328693764433552768596652383728397482552629735330234582743261198387142559362973152763095082275589500813102808442041651605997663209589125855092159817744698518395310563028622753299429812743654223484204150180388240852635482134223034847694917391994846419335227479936584234616498554116533819766907278684199663148702057528314640804201100171264849523324673621076089021885030216069811911628150130852321990356656088027797183980735099999866405356723772442149232953743302662297675740495953101806847096908665464400675022785255985114935397719118112739804388722541620282865087405559772420039563430755191861716576641566947114593089361895003904429507562916940557445116267383628262196261329184565435202226189262367479456076642095811004109851981852354022105791811035689244029338149531077704699757775367643118300178647761615576321273454157410889695845008474739191859910217134088305312709000250400539869204635194412926334103507170428230908928999913607059816596210228062574670158855929252056629233657732063088484317684685661581147995162206909051058241798432013063876862061066410258736914263781556940687783478573324671235389306011886503040268295628458887538849061083172689288276648386753800108057899338807147831768645356543187321580101595160266483346305368786383303046491009623287125153399260270876623137728341521200794874955982612604829392284803314104529455213455852667285068145448438396985385877472794773079995106270052284276125326123541299056944535609597035657354877936813398686049236727157498866538473210908433383777094768147108505313977608129220046192488861834395199216418489085871489172620251967634379297257019669842312559184489135560286758453879633549621540773081645790952459713095304622150751398081240508559800104769353836459322061922210784105987460116806342826346978083373450912962246440162728345943352557306239653605542486964167053583529413362845778295341328460426644785906864000672984379864343186792456488851080963612104023297227545991889347255511301137732788802527496519944699613970487059732353111619769499990917145664652980078817814612824005127602967954044916357387982754241049745140498886036441100375674110839807 17678248076383850585083496132524063417445054348380355136999970310937922884165666753147757211917493916854028938918647151024857425005100953158578462409679394816737893640553896899154783502181005786009834916571588994255270998091971092764166139405740687729487111913265859093482946207025826932796548355362477592347232320059542880542033635811763467186766822902066607015592017127703872085653694967696083472775962579795929779012228620606983782297438561753300357745394957015127454577639386788935555437454167276507611019226991719160235551851318538326198677811254249946443117330829919036711815868271814264915437945607869170214422812461792177219176766328514442946089944857788649711163803119860527372471559262114066666442396958598954006173049167230628395123688348540081432913018336127250701201183459007409408945951901575970832379835696750901943345351749472558324912840105765677158027166628921587394643109399189790049146261386712472555249664731326197819691951931900716504912324442706053862548119140199875452424665654171772625369814648750178962785002712477169339569058486840246898719100354056858192009812182277457374615386292966996145771772509041366553826480964919976579052032074062083396542763141161755981892407902977315555397988394083281493892544446115229178613820937606485634209610488639159871014918526292005732656123597053651340615525809867573916454821350870905252464015634029248857109485508583586871165469828988890555818394392600640760798827429018648373610397684614651999994345121716110010238379696485260283522641812917935533957490206294672040771983844872916298192839400157429894488618414610137149590731441039553940163274487716134303669963463400015219106909751994030060991504510019330211425709048197605708174898275173257158436482295406563785892852808721047088192088100452819889043369151989590912092931596216120430439480934344584762732570017686250181378306278226725612382071556566179397937332784361504940164719446657260449278449390739481502673563649964651292688740932604198756905937898602567824434331868025498893211307680652252530487005672873088176677183779127215975480110062073947337923375450628273272973814852395852397538623508269225600670655025724736089506821141589440690415896651166812430999477219825823004376683270758697208925001483522727981045796870842473958231696877671941346179241258420256128297415328332680139457570685512125693306182766866864476080519207612737936423808439625931193911790415153351922938287811128442337026712727652317268647598191171057938520366625171 28604006249141517538741679395524189748074198219800403790537661980444812200860859197776933394410785333937984312118815476680515890992374526499422329195576464940897967979252892241134900471922396883622619821525859868303437563878416087010370590041172879866002914414616657176856332711339001220134983928856050630654110738980903764712437491169452235885784895209146697344285781561256640682306078696093566025405697910030512522273427007749543145270591324848382633334895770117935896619290992786598765026580022368667428763925510114470798580474071837756011421465477734150593297719070771672193950091306661959832829940454288505441902749046026793717730882862334209853368629057451798413221331434501331573571730526963589991116018034687975891203265237042540023273819200862071789569106363924434681936283458873814765669724343725203786123138359048577683841304851279405421821505570166352180812422614036522792362227511929594437868803006995337642655224503746237383122707123762433081553891389820646951910014144104304959987582594729217741637198277012375224114187277912371565758320854319702975361196165060968043991664536299563166426421982211025483921303586746066311601848608038276757699793689638404669996920552051451826900882642169175465615122482388594202892794846655098383249015350532819737716780916870068800014832133351822328866351659628321499471455061924203150112553413959389570148701295610396852271692417634645112963901842052767417879460802859377675062608985959336157088971009285887389300357008219150278534008155372799132583724985607223810605876960094780098671322652020748066838195943344751474590213574876620495896100227422856986654284111003259457069223734276638356835251273194824935947487122624159603710512362302135163388354127840542226581930733803549171770325603494127083298358152737096014369492693288647856628541193251777785317417747743270811969297175185116719851517186660109389476839703674684711914940913581551132653581281052459665696938476610970675293815617599030589945760602446511316090427034162854582888211501575120433984389326443204990200100977495238928075265019635775775584879415910406659985297661412379260433931658738678744516706881720138562917095188453082032859378447829094295958383615333866014528890582671601299718011731185341994831865484195712360910140057634930447082777841284045369476468804412145475552926629470412928260098182032070392920153253926596829192138977112728853569473092606010011726403239158479525906241856044799725009466968702062409146484227612158314194477464978 46282254325525368123825175528048253165519252568180758927537632291382735085026525950924690606328279250792013251037462627705373315997475479658000791605255859757635861619806789140289683974103402669632454738097448862558708561970387179774536729446913567595490026327882516270339278918364828152931532284218528223001343059040446645254471126981215703072551718111213304359877798688960512767959773663789649498181660489826442301285655628356526927568029886601682991080290727133063351196930379575534320464034189645175039783152501833631034132325390376082210099276731984097036415049900690708905765959578476224748267886062157675656325561507818970936907649190848652799458573915240448124385134554361858946043289789077656657558414993286929897376314404273168418397507549402153222482124700051685383137466917881224174615676245301174618502974055799479627186656600751963746734345675932029338839589242958110187005336911119384487015064393707810197904889235072435202814659055663149586466215832526700814458133284304180412412248248900990367007012925762554186899189990389540905327379341159949874080296519117826236001476718577020541041808275178021629693076095787432865428329572958253336751825763700488066539683693213207808793290545146491021013110876471875696785339292770327561862836288139305371926391405509228671029750659643828061522475256681972840086980871791777066567374764830294822612716929639645709381177926218231984129371671041657973697855195460018435861436414977984530699368693900539389294702129935260288772387851858059416106366798525159344563367166389452139443306496893664365031035343502181369078831989486757645486831668462410926817558598719393760739187197676653575942161025188854996938991632643489815136221410499740871563252403013799385018413029210112957663178412215174171490446253189915903412861845278238768721472789467898215756898682087855574701867192871366901229823464886835001858911260240864109852273697943056072818300727709720114975387867350452177967379267563681882634501535050710072996364932765422407322543369600619327195697007095457520687106650368327104752448798762991751064989477984353997908673112040652533407746511134531142055330389989364163587750214177818122366199589418534986374280266500678445528367802497424304094695001944039203756866967718440341955936928477404405314474718955986715655710062832401603850341957803093067717668867544196086226336020793461305272658184725466789993281532231941205638193654311831448844529667173242062036179696354379677794082418783216252714844090149 74886260574666885662566854923572442913593450787981162718075294271827547285887385148701624000739064584729997563156278104385889206989850006157423120800832324698533829599059681381424584446025799553255074559623308730862146125848803266784907319488086447461492940742499173447195611629703829373066516213074578853655453798021350409966908618150667938958336613320360001704163580250217153450265852359883215523587358399856954823559082636106070072838621211450065624415186497250999247816221372362133085490614212013842468547078011948101832712799462213838221520742209718247629712768971462381099716050885138184581097826516446181098228310553845764654638532053182862652827202972692246537606465988863190519615020316041246648674433027974905788579579641315708441671326750264225012051231063976120065073750376755038940285400589026378404626112414848057311027961452031369168555851246098381519652011856994632979367564423048978924883867400703147840560113738818672585937366179425582668020107222347347766368147428408485372399830843630208108644211202774929411013377268301912471085700195479652849441492684178794279993141254876583707468230257389047113614379682533499177030178180996530094451619453338892736536604245264659635694173187315666486628233358860469899678134139425425945111851638672125109643172322379297471044582792995650390388826916310294339558435933715980216679928178789684392761418225250042561652870343852877097093273513094425391577315998319396110924045400937320687788339703186426778595059138154410567306396007230858548690091784132383155169244126484232238114629148914412431869231286846932843669045564363378141382931895885267913471842709722653217808410931953291932777412298383679932886478755267649418846733772801876034951606530854341611600343763013662129433504015709301254788804405927011917782354538566886625350013982719676001074316429831126386671164368056483621081340651546944391335750963915548821767214611524607205471882008762179780672326343961422853261194885162712472580262137497221389086791966928276990210754871175739761180086333538662510887207627863566032827713818398767526649868893894760657893970773453031793841678169873209886572037271709502726504845402630900155225578037247629282332663881834544460057258385169025603812706733129381198588732451914152702866076986112334852397252560240032085132178867244547079403268587273505995977767049576266479146489274720058134464797161838195643562754624837951217364596893470310974750771523218041787045646665056442086940566646395374566909321555127 121168514900192253786392030451620696079112703356161921645612926563210282370913911099626314607067343835522010814193740732091262522987325485815423912406088184456169691218866470521714268420129202222887529297720757593420854687819190446559444048935000015056982967070381689717534890548068657525998048497293107076656796857061797055221379745131883642030888331431573306064041378939177666218225626023672865021769018889683397124844738264462597000406651098051748615495477224384062599013151751937667405954648401659017508330230513781732866845124852589920431620018941702344666127818872153090005482010463614409329365712578603856754553872061664735591546181244031515452285776887932694661991600543225049465658310105118903306232848021261835685955894045588876860068834299666378234533355764027805448211217294636263114901076834327553023129086470647536938214618052783332915290196922030410858491601099952743166372901334168363411898931794410958038465002973891107788752025235088732254486323054874048580826280712712665784812079092531198475651224128537483597912567258691453376413079536639602723521789203296620515994617973453604248510038532567068743307455778320932042458507753954783431203445217039380803076287938477867444487463732462157507641344235332345596463473432195753506974687926811430481569563727888526142074333452639478451911302172992267179645416805507757283247302943619979215374135154889688271034048270071109081222645184136083365275171193779414546785481815915305218487708397086966167889761268089670856078783859088917964796458582657542499732611292873684377557935645808076796900266630349114212747877553850135786869763564347678840289401308442046978547598129629945508719573323572534929825470387911139233982955183301616906514858933868140996618756792223775087096682427924475426279250659116927821195216383845125394071486772187574216831215111918981961373031560927850522311164116433779393194662224156412931619488309467663278290182736471899895647714211311875031228574152726394355214763672547931462083156899693699397533298240776359088375783340634120031574314278231893137580162617161759277714858371879114655802643885493684327249424681007741028627367661698866890092595616808718277591777626666164268706944148335222905585626187666449907907401735073420402345599419632593044822013914589739257711727279196018800787888930076948683253610545076599063695435917120462565372825295513519439737455346563662433556036157069892423002790547782142423595301190391283849081826361410821764734649065178590819624165645276 196054775474859139448958885375193138992706154144143084363688220835037829656801296248327938607806408420252008377350018836477151729977175491972847033206920509154703520817926151903138852866155001776142603857344066324283000813667993713344351368423086462518475907812880863164730502177772486899064564710367685930312250655083147465188288363282551580989224944751933307768204959189394819668491478383556080545356377289540351948403820900568667073245272309501814239910663721635061846829373124299800491445262613672859976877308525729834699557924314803758653140761151420592295840587843615471105198061348752593910463539095050037852782182615510500246184713297214378105112979860624941199598066532088239985273330421160149954907281049236741474535473686904585301740161049930603246584586828003925513284967671391302055186477423353931427755198885495594249242579504814702083846048168128792378143612956947376145740465757217342336782799195114105879025116712709780374689391414514314922506430277221396347194428141121151157211909936161406584295435331312413008925944526993365847498779732119255572963281887475414795987759228330187955978268789956115856921835460854431219488685934951313525655064670378273539612892183742527080181636919777823994269577594192815496141607571621179452086539565483555591212736050267823613118916245635128842300129089302561519203852739223737499927231122409663608135553380139730832686918613923986178315918697230508756852487192098810657709527216852625906276048100273392946484820406244081423385179866319776513486550366789925654901855419357916615672564794722489228769497917196047056416923118213513928252695460232946753761244018164700196356009061583237441496985621956214862711949143178788652829688956103492941466465464722482608219100555237437216530186443633776681068055065043939738977570922412012019421500754907250217905531541750108348044195928984334143392504767980723784530413188071961753386702920992270483762064745234079676320040555273297884489769037889106827795025810045152851169948866621976387744053111952098849555869674172782542461521906095459170407876435560526804364727265773875313696614658946716121091102850880950915199404933408369616597441019439618432817355663913793551039608030169767365642884572835475511720108468202801600934331871546745747688090900702074110108979839436050885920067797321495762656879132350105059673202966696729044519314570233577574202252508401858077118790781907843640367387441252453398346072713609325636127473026467263851675215711573965386533487200403 317223290375051393235350915826813835071818857500305006009301147398248112027715207347954253214873752255774019191543759568568414252964500977788270945613008693610873212036792622424853121286284203999030133155064823917703855501487184159903795417358086477575458874883262552882265392725841144425062613207660793006969047512144944520409668108414435223020113276183506613832246338128572485886717104407228945567125396179223749073248559165031264073651923407553562855406140946019124445842524876237467897399911015331877485207539039511567566403049167393679084760780093122936961968406715768561110680071812367003239829251673653894607336054677175235837730894541245893557398756748557635861589667075313289450931640526279053261140129070498577160491367732493462161808995349596981481117942592031730961496184966027565170087554257681484450884285356143131187457197557598034999136245090159203236635214056900119312113367091385705748681730989525063917490119686600888163441416649603047176992753332095444928020708853833816942023989028692605059946659459849896606838511785684819223911859268758858296485071090772035311982377201783792204488307322523184600229291239175363261947193688906096956858509887417654342689180122220394524669100652239981501910921829525161092605081003816932959061227492294986072782299778156349755193249698274607294211431262294828698849269544731494783174534066029642823509688535029419103720966883995095259538563881366592122127658385878225204495009032767931124763756497360359114374581674333752279463963725408694478283008949447468154634466712231600993230500440530566025669764547545161269164800672063649715122459024580625594050645326606747174903607191213182950216558945528749792537419531089927886812644139405109847981324398590623604837857347461212303626868871558252107347305724160867560172787306257137413492987527094824434736746653669090309417227489912184665703668884414503177725075412228374685006191230459933762052247481705979571967754766585172915718343190615501183009789482593084313253105766315675785277351352728457937931653014806902574035836184327352307988039052722286082079585637652989969499258544440400448340527531888691943826772595107236506690036636248336710409133290579957819746552178504990271228510760501925419627510203276222003279931291179338792510104815291813367820707118632069686707956727398444445910489677426704123368638883817191609892139865747097013939707854965520510674826938977736063370177989034595821941373904000609485209299387878085616409864776752556206157652845679 513278065849910532684309801202006974064525011644448090372989368233285941684516503596282191822680160676026027568893778405045565982941676469761117978819929202765576732854718774327991974152439205775172737012408890241986856315155177873248146785781172940093934782696143416046995894903613631324127177918028478937281298167228091985597956471696986804009338220935439921600451297317967305555208582790785026112481773468764101021652380065599931146897195717055377095316804667654186292671898000537268388845173629004737462084847565241402265960973482197437737901541244543529257808994559384032215878133161119597150292790768703932460118237292685736083915607838460271662511736609182577061187733607401529436204970947439203216047410119735318635026841419398047463549156399527584727702529420035656474781152637418867225274031681035415878639484241638725436699777062412737082982293258287995614778827013847495457853832848603048085464530184639169796515236399310668538130808064117362099499183609316841275215136994954968099235898964854011644242094791162309615764456312678185071410639000878113869448352978247450107970136430113980160466576112479300457151126700029794481435879623857410482513574557795927882302072305962921604850737572017805496180499423717976588746688575438112411147767057778541663995035828424173368312165943909736136511560351597390218053122283955232283101765188439306431645241915169149936407885497919081437854482578597100878980145577977035862204536249620557031039804597633752060859402080577833702849143591728470991769559316237393809536322131589517608903065235253055254439262464741208325581723790277163643375154484813572347811889344771447371259616252796420391713544567484964655249368674268716539642333095508602789447789863313106213056957902698649520157055315192028788415360789204807299150358228669149432914488282002074652642278195419198657461423418896518809096173652395226962255488600300336438392894151452204245814312226940059248287795321858470800208112228504608010804815292638237164423054632937652173021404464680556787487522688979685116497358090422811478395915488282812886444312903426865283195873203387116569431630382769642859026177528515606123287477655687955143226488954493751370786160208674757636871395333337400931347618671479023604214263162726084540198195715993887477929686958068120572628024524719940208567368809776809183041841850513920654411454435980674588141960363367378587793617720885579703737565430287049220287446617609935121336772414345349468085080488326521592691140046082 830501356224961925919660717028820809136343869144753096382290515631534053712231710944236445037553912931800046760437537973613980235906177447549388924432937896376449944891511396752845095438723409774202870167473714159690711816642362033151942203139259417669393657579405968929261287629454775749189791125689271944250345679373036506007624580111422027029451497118946535432697635446539791441925687198013971679607169647987850094900939230631195220549119124608939950722945613673310738514422876774736286245084644336614947292386604752969832364022649591116822662321337666466219777401275152593326558204973486600390122042442357827067454291969860971921646502379706165219910493357740212922777400682714818887136611473718256477187539190233895795518209151891509625358151749124566208820472012067387436277337603446432395361585938716900329523769597781856624156974620010772082118538348447198851414041070747614769967199939988753834146261174164233714005356085911556701572224713720409276491936941412286203235845848788785041259887993546616704188754251012206222602968098363004295322498269636972165933424069019485419952513631897772364954883435002485057380417939205157743383073312763507439372084445213582224991252428183316129519838224257786998091421253243137681351769579255045370208994550073527736777335606580523123505415642184343430722991613892218916902391828686727066276299254468949255154930450198569040128852381914176697393046459963693001107803963855261066699545282388488155803561094994111175233983754911585982313107317137165470052568265684861964170788843821118602133565675783621280109027012286369594746524462340813358497613509394197941862534671378194546163223444009603341930103513013714447786788205358644426454977234913712637429114261903729817894815250159861823783924186750280895762666513365674859323145534926286846407475809096899087379024849088288966878650908808703474799842536809730139980564012528711123399085381912138007866559708646038820255550088443643715926455419120109193814604775231321477676160399253327958298755817409014725419175703786587690533194274750163786383954541005098968523898541079855252695131747827517017772157914658334802852950123622842629977514291936291853635622245073709190532712387179747908099906093839326350975128874755245607494194453905423332708300531285700845750394076700190259335981252118384654477858487203513306410480734331112264303594301727771602081668218332899098468444659863315767107743419321645042228820521610544606546071802223435084494945265079077798848792891761 1343779422074872458603970518230827783200868880789201186755279883864819995396748214540518636860234073607826074329331316378659546218847853917310506903252867099142026677746230171080837069591162615549375607179882604401677568131797539906400088988920432357763328440275549384976257182533068407073316969043717750881531643846601128491605581051808408831038789718054386457033148932764507096997134269988798997792088943116751951116553319296231126367446314841664317046039750281327497031186320877312004675090258273341352409377234169994372098324996131788554560563862582209995477586395834536625542436338134606197540414833211061759527572529262546708005562110218166436882422229966922789983965134290116348323341582421157459693234949309969214430545050571289557088907308148652150936523001432103043911058490240865299620635617619752316208163253839420582060856751682423509165100831606735194466192868084595110227821032788591801919610791358803403510520592485222225239703032777837771375991120550729127478450982843743753140495786958400628348430849042174515838367424411041189366733137270515086035381777047266935527922650062011752525421459547481785514531544639234952224818952936620917921885659003009510107293324734146237734370575796275592494271920676961114270098458154693157781356761607852069400772371435004696491817581586094079567234551965489609134955514112641959349378064442908255686800172365367718976536737879833258135247529038560793880087949541832296928904081532009045186843365692627863236093385835489419685162250908865636461822127581922255773707110975410636211036630911036676534548289477027577920328248252617977001872767994207770289674424016149641917422839696806023733643648080498679103036156879627360966097310330422315426876904125216836030951773152858511343940979501942309684178027302570482158473503763595436279321964091098973740021303044507487624340074327705222283896016189204957102236052612829047561791979533364342253680871935586098068543345410302114516134567647624717204619420067869558642099215032190980131320160282089571512906698392766272807030552365172975264779870029287911854968211444506720535891004951214633587203788297427977661879127652138448753264991947624246996862111199567460561318872595854505544971301427176727282322747546234269211708457616631507872906496247279588323680081034768310831964005776838324863045227296980322489452322584845032918715048737708446190223628581700277686262062380748895470845308849608694262516267139220479727882844216568784552580025753405599391539932937843 2174280778299834384523631235259648592337212749933954283137570399496354049108979925484755081897787986539626121089768854352273526454754031364859895827685804995518476622637741567833682165029886025323578477347356318561368279948439901939552031192059691775432722097854955353905518470162523182822506760169407022825781989525974164997613205631919830858068241215173332992465846568211046888439059957186812969471696112764739801211454258526862321587995433966273256996762695895000807769700743754086740961335342917677967356669620774747341930689018781379671383226183919876461697363797109689218868994543108092797930536875653419586595026821232407679927208612597872602102332723324663002906742534972831167210478193894875716170422488500203110226063259723181066714265459897776717145343473444170431347335827844311732015997203558469216537687023437202438685013726302434281247219369955182393317606909155342724997788232728580555753757052532967637224525948571133781941275257491558180652483057492141413681686828692532538181755674951947245052619603293186722060970392509404193662055635540152058201315201116286420947875163693909524890376342982484270571911962578440109968202026249384425361257743448223092332284577162329553863890414020533379492363341930204251951450227733948203151565756157925597137549707041585219615322997228278422997957543579381828051857905941328686415654363697377204941955102815566288016665590261747434832640575498524486881195753505687557995603626814397533342646926787621974411327369590401005667475358226002801931874695847607117737877899819231754813170196586820297814657316489313947515074772714958790360370381503601968231536958687527836463586063140815627075573751593512393550822945084986005392552287565336028064306018387120565848846588403018373167724903688692590579940693815936157017796649298521723125729439900195872827400327893595776591218725236513925758695858726014687242216616625357758685191064915276480261547431644232136888798895498745758232061023066744826398434024843100880119775375431444308089618916099498586238325874096552860497563746639923139051163824570293010823492109985586575788586136699042150604975946212086312464732077775761291383242506239560538850497733444641169751851584983034253453071207521016053633297876420989514819202652070536931205614796778565289169430475111468501091299987028956709517523085784183835795862803319176145183018643039436217792305296800033176784730507040612211237953052268930339304745087660831024334428916018792219637074971018484677190388725829604 3518060200374706843127601753490476375538081630723155469892850283361174044505728140025273718758022060147452195419100170730933072673601885282170402730938672094660503300383971738914519234621048640872954084527238922963045848080237441845952120180980124133196050538130504738881775652695591589895823729213124773707313633372575293489218786683728239689107030933227719449498995500975553985436194227175611967263785055881491752328007577823093447955441748807937574042802446176328304800887064631398745636425601191019319766046854944741714029014014913168225943790046502086457174950192944225844411430881242698995470951708864481346122599350494954387932770722816039038984754953291585792890707669262947515533819776316033175863657437810172324656608310294470623803172768046428868081866474876273475258394318085177031636632821178221532745850277276623020745870477984857790412320201561917587783799777239937835225609265517172357673367843891771040735046541056356007180978290269395952028474178042870541160137811536276291322251461910347873401050452335361237899337816920445383028788772810667144236696978163553356475797813755921277415797802529966056086443507217675062193020979186005343283143402451232602439577901896475791598260989816808971986635262607165366221548685888641360932922517765777666538322078476589916107140578814372502565192095544871437186813420053970645765032428140285460628755275180934006993202328141580692967888104537085280761283703047519854924507708346406578529490292480249837647420755425890425352637609134868438393696823429529373511585010794642391024206827497856974349205605966341525435403020967576767362243149497809738521211382703677478381008902837621650809217399674011072653859101964613366358649597895758343491182922512337401879798361555876884511665883190634900264118721118506639176270153062117159405051403991294846567421630938103264215558799564219148042591874915219644344452669238186806246983044448640822515228303579818234957342240909047872748195590714369543603053444910970438761874590463635288220939076381588157751232572489319133304594299005096114315943694599580922678460321430093296324477141650256784192179734509514290126611205427899740136507498187184785847359844644208630313170457578888758998042508948192780915620623967223784030911109687168439078521293025844877493110556146236811923263992805795034380568313081164158285315125904021178101733691777144663982528925381733454470992569421361106708798361118539033567261354800051504062311760235361004189654996771890276581928658767447 5692340978674541227651232988750124967875294380657109753030420682857528093614708065510028800655810046687078316508869025083206599128355916647030298558624477090178979923021713306748201399650934666196532561874595241524414128028677343785504151373039815908628772635985460092787294122858114772718330489382531796533095622898549458486831992315648070547175272148401052441964842069186600873875254184362424936735481168646231553539461836349955769543437182774210831039565142071329112570587808385485486597760944108697287122716475719489055959703033694547897327016230421962918872313990053915063280425424350791793401488584517900932717626171727362067859979335413911641087087676616248795797450204235778682744297970210908892034079926310375434882671570017651690517438227944205585227209948320443906605730145929488763652630024736690749283537300713825459430884204287292071659539571517099981101406686395280560223397498245752913427124896424738677959572489627489789122253547760954132680957235535011954841824640228808829504007136862295118453670055628547959960308209429849576690844408350819202438012179279839777423672977449830802306174145512450326658355469796115172161223005435389768644401145899455694771862479058805345462151403837342351478998604537369618172998913622589564084488273923703263675871785518175135722463576042650925563149639124253265238671325995299332180686791837662665570710377996500295009867918403328127800528680035609767642479456553207412920111335160804111872137219267871812058748125016291431020112967360871240325571519277136491249462910613874145837377024084677272163862922455655472950477793682535557722613531001411706752748341391205314844594965978437277884791151267523466204682047049599371751201885461094371555488940899457967728644949958895257679390786879327490844059414934442796194066802360638882530780843891490719394821958831699040806777524800733073801287733641234331586669285863544564932174109363917302776775735224050371846141136407793630980256613781114370001487469754071318881649965895079596310557992481086743989558446585871993802158045645019253367107519169873933501952431415679872113063278349298934797155680721600602591343283203661031519750004426745324697857578088849800065022042561923012451113716469208834548918500388213298850113761757705370284136089804410166662541031257705313014563979834751743898091398865347994081177929223197323284752334816580881774834222181766631255723076461973317946751413387469372872006442460882528396740676254153223826729967790374953772317384597051 9210401179049248070778834742240601343413376011380265222923270966218702138120436205535302519413832106834530511927969195814139671801957801929200701289563149184839483223405685045662720634271983307069486646401834164487459976108914785631456271554019940041824823174115964831669069775553706362614154218595656570240409256271124751976050778999376310236282303081628771891463837570162154859311448411538036903999266224527723305867469414173049217498878931582148405082367588247657417371474873016884232234186545299716606888763330664230769988717048607716123270806276924049376047264182998140907691856305593490788872440293382382278840225522222316455792750058229950680071842629907834588688157873498726198278117746526942067897737364120547759539279880312122314320610995990634453309076423196717381864124464014665795289262845914912282029387577990448480176754682272149862071859773079017568885206463635218395449006763762925271100492740316509718694619030683845796303231838030350084709431413577882496001962451765085120826258598772642991854720507963909197859646026350294959719633181161486346674709157443393133899470791205752079721971948042416382744798977013790234354243984621395111927544548350688297211440380955281137060412393654151323465633867144534984394547599511230925017410791689480930214193863994765051829604154857023428128341734669124702425484746049269977945719219977948126199465653177434302003070246544908820768416784572695048403763159600727267844619043507210690401627511748121649706168880442181856372750576495739678719268342706665864761047921408516536861583851582534246513068528421996998385880814650112325084856680499221445273959724094882793225603868816058928694008550941534538858541149014212738109851483356852715046671863411795369608443311514772142191056670069962391108178136052949435370336955422756041935832247882785565962243589769802305022336324364952221843879608556453975931121955101731371179157153812558125292004038803868606803483377316841503728452204495483913604540914665041757643524556358714884531497068862674901740791019075191127106752344650115367683051213769454856180412752845773168437540419999555718989335415231114892717954488631560771656257502613930110545217422733058430378192500140811771449156225417401615464539124355437082881024871444873809362657382830255044155651587403942124937827972640546778278659711946512152366493055127218501386486026593725545757363147563500085726715645883334424655549774506008406439267797260934032459052436489514228016384964562265230354246043364498 14902742157723789298430067730990726311288670392037374975953691649076230231735144271045331320069642153521608828436838220897346270930313718576230999848187626275018463146427398352410922033922917973266019208276429406011874104137592129416960422927059755950453595810101424924456363898411821135332484707978188366773504879169674210462882771315024380783457575230029824333428679639348755733186702595900461840734747393173954859406931250523004987042316114356359236121932730318986529942062681402369718831947489408413894011479806383719825948420082302264020597822507346012294919578173052055970972281729944282582273928877900283211557851693949678523652729393643862321158930306524083384485608077734504881022415716737850959931817290430923194421951450329774004838049223934840038536286371517161288469854609944154558941892870651603031312924878704273939607638886559441933731399344596117549986613150030498955672404262008678184527617636741248396654191520311335585425485385791304217390388649112894450843787091993893950330265735634938110308390563592457157819954235780144536410477589512305549112721336723232911323143768655582882028146093554866709403154446809905406515466990056784880571945694250143991983302860014086482522563797491493674944632471681904602567546513133820489101899065613184193890065649512940187552067730899674353691491373793377967664156072044569310126406011815610791770176031173934597012938164948236948568945464608304816046242616153934680764730378668014802273764731015993461764917005458473287392863543856610919044839861983802356010510832022390682698960875667211518676931450877652471336358608332647882807470211500633152026708065486088108070198834794496206578799702209058005063223196063812109861053368817947086602160804311253337337088261473667399870447456949289881952237550987392231564403757783394924466613091774276285357065548601501345829113849165685295645167342197688307517791240965275936111331263176475428068779774027918978649624513724635134708708818276598283606028384419113076525174522253794480842055061343761645730349465661063120908910390295134621050158732939328789682365184261453040550603698348854653786491095952715495309297771835221803176007507040675435243075000821908230443214542702734783900269941886610450013457624743650381731138633202579179646793472634665210818192618661647437952391952475298522176751110811860146447670984350415824671238361410306427532197369745266716982438722345307742602301187893477779311274239721816560855793112743667451843114932352640184126563427961549 24113143336773037369208902473231327654702046403417640198876962615294932369855580476580633839483474260356139340364807416711485942732271520505431701137750775459857946369833083398073642668194901280335505854678263570499334080246506915048416694481079695992278418984217389756125433673965527497946638926573844937013914135440798962438933550314400691019739878311658596224892517209510910592498151007438498744734013617701678165274400664696054204541195045938507641204300318566643947313537554419253951066134034708130500900243137047950595937137130909980143868628784270061670966842356050196878664138035537773371146369171282665490398077216171994979445479451873813001230772936431917973173765951233231079300533463264793027829554654551470953961231330641896319158660219925474491845362794713878670333979073958820354231155716566515313342312456694722419784393568831591795803259117675135118871819613665717351121411025771603455628110377057758115348810550995181381728717223821654302099820062690776946845749543758979071156524334407581102163111071556366355679600262130439496130110770673791895787430494166626045222614559861334961750118041597283092147953423823695640869710974678179992499490242600832289194743240969367619582976191145644998410266338826439586962094112645051414119309857302665124104259513507705239381671885756697781819833108462502670089640818093839288072125231793558917969641684351368899016008411493145769337362249180999864450005775754661948609349422175225492675392242764115111471085885900655143765614120352350597764108204690468220771558753430907219560544727249745765189999979299649469722239422982760207892326891999854597300667789580970901295802703610555135272808253150592543921764345078024847970904852174799801648832667723048706945531572988439542061504127019252273060415687040341666934740713206150966402445339657061851319309138371303650851450173530637517489046950754142283448913196067007307290488416989033553360783812831787585453107891041476638437161022772082197210569299084154834168699078612509365373552130206436547471140484736254248015662734945249988733209946708783645862777937107226208988144118348410372775826511183830388027252260466782574832265009654605545788292423554966660821407042843546555349426167304012065477996749099087464612163504647452989009450855464920254973844206065589562890219925115845300455410822758372298814164039477634326057724388004031973289560517308766802709154368228642167257850962399486185750542036982750593314845549233181679859499896914905414480809471326047 39015885494496826667638970204222053965990716795455015174830654264371162601590724747625965159553116413877748168801645637608832213662585239081662700985938401734876409516260481750484564702117819253601525062954692976511208184384099044465377117408139451942732014794318814680581797572377348633279123634552033303787419014610473172901816321629425071803197453541688420558321196848859666325684853603338960585468761010875633024681331915219059191583511160294866877326233048885630477255600235821623669898081524116544394911722943431670421885557213212244164466451291616073965886420529102252849636419765482055953420298049182948701955928910121673503098208845517675322389703242956001357659374028967735960322949180002643987761371944982394148383182780971670323996709443860314530381649166231039958803833683902974913173048587218118344655237335398996359392032455391033729534658462271252668858432763696216306793815287780281640155728013799006512003002071306516967154202609612958519490208711803671397689536635752873021486790070042519212471501635148823513499554497910584032540588360186097444900151830889858956545758328516917843778264135152149801551107870633601047385177964734964873071435936850976281178046100983454102105539988637138673354898810508344189529640625778871903221208922915849317994325163020645426933739616656372135511324482255880637753796890138408598198531243609169709739817715525303496028946576441382717906307713789304680496248391908596629374079800843240294949156973780108573236002891359128431158477664208961516808948066674270576782069585453297902259505602916957283866931430177301941058598031315408090699797103500487749327375855067059009366001538405051341851607955359650548984987541141836957831958220992746888250993472034302044282619834462106941931951583968542155012653238027733898499144470989545890869058431431338136676374686972804996680564022696322813134214292951830590966704437032283243401819680165508981429563586859706564102732404766111773145869841048680480816597683503267910693873600866303846215607191550198193201489950397317368924573125240384609783368679648112435545143121368679249538747816697265026562317607136545883336550032302004378008272516695280981031367424376874891264621585546281339249696109190622515491454373842737846343302137850032168656244328099585465792036824727237000842611877591143822632161933570232445261835023828050150728962749414338400821757887054033519691593090573949909860152150292963965061816276704567154170638661976849131702614829267545598607372899287596 63129028831269864036847872677453381620692763198872655373707616879666094971446305224206598999036590674233887509166453054320318156394856759587094402123689177194734355886093565148558207370312720533937030917632956547010542264630605959513793811889219147935010433778536204436707231246342876131225762561125878240801333150051272135340749871943825762822937331853347016783213714058370576918183004610777459330202774628577311189955732579915113396124706206233374518530533367452274424569137790240877620964215558824674895811966080479621017822694344122224308335080075886135636853262885152449728300557801019829324566667220465614192354006126293668482543688297391488323620476179387919330833139980200967039623482643267437015590926599533865102344414111613566643155369663785789022227011960944918629137812757861795267404204303784633657997549792093718779176426024222625525337917579946387787730252377361933657915226313551885095783838390856764627351812622301698348882919833434612821590028774494448344535286179511852092643314404450100314634612706705189869179154760041023528670699130859889340687582325056485001768372888378252805528382176749432893699061294457296688254888939413144865570926179451808570372789341952821721688516179782783671765165149334783776491734738423923317340518780218514442098584676528350666315411502413069917331157590718383307843437708232247886270656475402728627709459399876672395044954987934528487243669962970304544946254167663258577983429223018465787624549216544223684707088777259783574924091784561312114573056271364738797553628338884205121820050330166703049056931409476951410780837454298168298592123995500342346628043644648029910661804242015606477124416208510243092906751886219861805802863073167546689899826139757350751228151407450546483993455710987794428073068925068075565433885184195696857271503771088399987995683825344108647532014196226960330623261243705972874415617633099290550692308097154542534790347399691494149555840295807588411583030863820762678027166982587422744862572679478813211589159321756634740672630435133571616940235860185634598516578626356896081407921058475905458526891935045675399338144118320376271363802292768786952840537526349886526819659847931841552086028628389827894599122276494634580969451122941825310955465642497485157665695183564505720765881030792826563732831802706989123087572756328604744075999063305684476786687137418370374111318404362800322400747458802592077118003112692450150812358313687317747485484211210030811562114726182451013088182370613643 102144914325766690704486842881675435586683479994327670548538271144037257573037029971832564158589707088111635677968098691929150370057441998668757103109627578929610765402354046899042772072430539787538555980587649523521750449014705003979170929297358599877742448572855019117289028818720224764504886195677911544588752164661745308242566193573250834626134785395035437341534910907230243243867858214116419915671535639452944214637064495134172587708217366528241395856766416337904901824738026062501290862297082941219290723689023911291439708251557334468472801531367502209602739683414254702577936977566501885277986965269648562894309935036415341985641897142909163646010179422343920688492514009168702999946431823270081003352298544516259250727596892585236967152079107646103552608661127175958587941646441764770180577252891002752002652787127492715138568458479613659254872576042217640456588685141058149964709041601332166735939566404655771139354814693608215316037122443047571341080237486298119742224822815264725114130104474492619527106114341854013382678709257951607561211287491045986785587734155946343958314131216895170649306646311901582695250169165090897735640066904148109738642362116302784851550835442936275823794056168419922345120063959843127966021375364202795220561727703134363760092909839548996093249151119069442052842482072974263945597234598370656484469187719011898337449277115401975891073901564375911205149977676759609225442502559571855207357509023861706082573706190324332257943091668618912006082569448770273631382004338039009374335697924337503024079555933083660332923862839654253351839435485613576389291921099000830095955419499715088920027805780420657818976024163869893641891739427361698763634821294160293578150819611791652795510771241912653425925407294956336583085722163095809463933029655185242748140562202519738124672058512316913644212578218923283143757475536657803465382322070131573794094127777320051516219910986551200713658572700573700184728900704869443158843764666090690655556446280345117057804766513306832933874120385530888985864808985426019208299947306005008516953064179844584708065639751742940425900461725456922154700352325070791330848810043045167507851027272308716443350650213936109233848818385685257096460905496784563157298767780347517326321939511664091186557917855520063564575443680298132945719734689898837189337834087133734627515649886832708774933076291416833842092340549376541986978155262985414115874174590391884901656122873186879943264729555449996611695555269901239 165273943157036554741334715559128817207376243193200325922245888023703352544483335196039163157626297762345523187134551746249468526452298758255851505233316756124345121288447612047600979442743260321475586898220606070532292713645310963492964741186577747812752882351391223553996260065063100895730648756803789785390085314713017443583316065517076597449072117248382454124748624965600820162050862824893879245874310268030255404592797075049285983832923572761615914387299783790179326393875816303378911826512641765894186535655104390912457530945901456692781136611443388345239592946299407152306237535367521714602553632490114177086663941162709010468185585440300651969630655601731840019325653989369670039569914466537518018943225144050124353072011004198803610307448771431892574835673088120877217079459199626565447981457194787385660650336919586433917744884503836284780210493622164028244318937518420083622624267914884051831723404795512535766706627315909913664920042276482184162670266260792568086760108994776577206773418878942719841740727048559203251857864017992631089881986621905876126275316481002828960082504105273423454835028488651015588949230459548194423894955843561254604213288295754593421923624784889097545482572348202706016885229109177911742513110102626718537902246483352878202191494516077346759564562621482511970173639663692647253440672306602904370739844194414626965158736515278648286118856552310439692393647639729913770388756727235113785340938246880171870198255406868555942650180445878695581006661233331585745955060609403748171889326263221708145899606263250363381980794249131204762620272939911744687884045094501172442583463144363118830689610022436264296100440372380136734798491313581560569437684367327840268050645751549003546738922649363199909918863005944131011158791088163885029366914839380939605412065973608138112667742337661022291744592415150243474380736780363776339797939703230864344786435874474594051010258386242694863214412996381288596311931568690205836870931648678113400419018959823930269393925835063467674546750820664460602805044845611653806816525932361904598360985238320490166592531686788615825238605843777298426064154617839578283689347569395054034670687120240557995436678842325937128447940662179891677430356619726388468254233422845002483987634695228596907323798886312890128308275483005122068807307446227441933413833150439419104302337024251079149044394695779634164493088008179134064096158375677864266686532904079202649141607084396910754826844281632447624783737640514882 267418857482803245445821558440804252794059723187527996470784159167740610117520365167871727316216004850457158865102650438178618896509740756924608608342944335053955886690801658946643751515173800109014142878808255594054043162660015967472135670483936347690495330924246242671285288883783325660235534952481701329978837479374762751825882259090327432075206902643417891466283535872831063405918721039010299161545845907483199619229861570183458571541140939289857310244066200128084228218613842365880202688809724707113477259344128302203897239197458791161253938142810890554842332629713661854884174512934023599880540597759762739980973876199124352453827482583209815615640835024075760707818167998538373039516346289807599022295523688566383603799607896784040577459527879077996127444334215296835805021105641391335628558710085790137663303124047079149056313342983449944035083069664381668700907622659478233587333309516216218567662971200168306906061442009518128980957164719529755503750503747090687828984931810041302320903523353435339368846841390413216634536573275944238651093274112951862911863050636949172918396635322168594104141674800552598284199399624639092159535022747709364342855650412057378273474460227825373369276628516622628362005293069021039708534485466829513758463974186487241962284404355626342852813713740551954023016121736666911199037906904973560855209031913426525302608013630680624177192758116686350897543625316489522995831259286806968992698447270741877952771961597192888200593272114497607587089230682101859377337064947442757546225024187559211169979162196334023714904657088785458114459708425525321077175966193502002538538882644078207750717415802856922115076464536250030376690230740943259333072505661488133846201465363340656342249693891275853335844270300900467594244513251259694493299944494566182353552628176127876237339800849977935935957170634073526618138212317021579805180261773362438138880563651794645567230169372793895576872985696954988781040832273559648995714696314768804055975465240169047327198692348370300608420871206195349588669853831037673015116473238366913115314049418165074874658171438531556251139067569234220580764506942910369614538157612440221542521714392549274438787329056262046362296759047865148773891262116510951625553001203192519810309574206892688093881716741832953692883719163303255014527042136126279122751667237573153731817986911083787923977470987196468006585428557555676051074313638663278382560707494471087550797729957583790698091573837082444236479292910416121 432692800639839800187156273999933070001435966380728322393030047191443962662003700363910890473842302612802682052237202184428087422962039515180460113576261091178301007979249270994244730957917060430489729777028861664586335876305326930965100411670514095503248213275637466225281548948846426555966183709285491115368922794087780195409198324607404029524279019891800345591032160838431883567969583863904178407420156175513455023822658645232744555374064512051473224631365983918263554612489658669259114515322366473007663794999232693116354770143360247854035074754254278900081925576013069007190412048301545314483094230249876917067637817361833362922013068023510467585271490625807600727143821987908043079086260756345117041238748832616507956871618900982844187766976650509888702280007303417713022100564841017901076540167280577523323953460966665582974058227487286228815293563286545696945226560177898317209957577431100270399386375995680842672768069325428042645877206996011939666420770007883255915745040804817879527676942232378059210587568438972419886394437293936869740975260734857739038138367117952001878479139427442017558976703289203613873148630084187286583429978591270618947068938707811971695398085012714470914759200864825334378890522178198951451047595569456232296366220669840120164475898871703689612378276362034465993189761400359558452478579211576465225948876107841152267766750145959272463311614668996790589937272956219436766220016014042082778039385517622049822970217004061444143243452560376303168095891915433445123292125556846505718114350450780919315878768459584387096885451337916662877079981365437065765060011288003174981122345788441326581407025825293186411176904908630167111488722054524819902510190028815974114252111114889659888988616540639053245763133306844598605403304339423579522666859333947121958964694149736014350007543187638958227701763049223770092518949097385356144978201476593302483666999526269239618240427759036590440087398693336277377352763842249854832585627963446917456394484199992977596592618183433768282967622026859810191474898676649326821932999170728817713675034656485565041250703125320172076377673413011519006828661560749947898227505181835275577192401512789832434224007898587983490744699710045040451321618736237340093807234626037522294297208902121285001205515628145843821191994646308377083334349582353721056165500388012572836120323935334867073021865682976102171078516565734810115170472014341142649247240398550290199939337041980701452918418118714891861263030550931003 700111658122643045632977832440737322795495689568256318863814206359184572779524065531782617790058307463259840917339852622606706319471780272105068721919205426232256894670050929940888482473090860539503872655837117258640379038965342898437236082154450443193743544199883708896566837832629752216201718661767192445347760273462542947235080583697731461599485922535218237057315696711262946973888304902914477568966002082996654643052520215416203126915205451341330534875432184046347782831103501035139317204132091180121141054343360995320252009340819039015289012897065169454924258205726730862074586561235568914363634828009639657048611693560957715375840550606720283200912325649883361434961989986446416118602607046152716063534272521182891560671226797766884765226504529587884829724341518714548827121670482409236705098877366367660987256585013744732030371570470736172850376632950927365646134182837376550797290886947316488967049347195849149578829511334946171626834371715541695170171273754973943744729972614859181848580465585813398579434409829385636520931010569881108392068534847809601950001417754901174796875774749610611663118378089756212157348029708826378742965001338979983289924589119869349968872545240539844284035829381447962740895815247219991159582081036285746054830194856327362126760303227330032465191990102586420016205883137026469651516486116550026081157908021267677570374763776639896640504372785683141487480898272708959762051275300849051770737832788363927775742178601254332343836724674873910755185122597535304500629190504289263264339374638340130485857930655918410811790108426702120991539689790962386842235977481505177519661228432519534332124441628150108526253369444880197488178952795468079235582695690304107960453576478230316231238310431914906581607403607745066199647817590683274015966803828513304312517322325863890587347344037616894163658933683297296710657161414406935950158463249955740622547563178063885185470597131830486016960384390291266158393596115809503828300324278215721512369949440162024923791310531804068891388493233055159780144752507686999837049472409095730828989084074650639915908874563851728327516740982245739587593168503660317512765662794275497119714115905339106873011336954850029853041458757910189225212880852748291719360235829230042104606783109013973095087232369978797514075713809611632097861391718480000178917167625585726567938310846418654996999336670172570177663945123290486166244785653004421031807947893021377750737066999564492151009991955797336097742323461347124 1132804458762482845820134106440670392796931655948984641256844253550628535441527765895693508263900610076062522969577054807034793742433819787285528835495466517410557902649300200935133213431007920969993602432865978923226714915270669829402336493824964538696991757475521175121848386781476178772167902371052683560716683067550323142644278908305135491123764942427018582648347857549694830541857888766818655976386158258510109666875178860648947682289269963392803759506798167964611337443593159704398431719454457653128804849342593688436606779484179286869324087651319448355006183781739799869264998609537114228846729058259516574116249510922791078297853618630230750786183816275690962162105811974354459197688867802497833104773021353799399517542845698749728952993481180097773532004348822132261849222235323427137781639044646945184311210045980410315004429797958022401665670196237473062591360743015274868007248464378416759366435723191529992251597580660374214272711578711553634836592043762857199660475013419677061376257407818191457790021978268358056407325447863817978133043795582667340988139784872853176675354914177052629222095081378959826030496659793013665326394979930250602236993527827681321664270630253254315198795030246273297119786337425418942610629676605741978351196415526167482291236202099033722077570266464620886009395644537386028103995065328126491307106784129108829838141513922599169103815987454679932077418171228928396528271291314891134548777218305985977598712395605315776487080177235250213923281014512968749623921316061135768982453725089121049801736699115502797908675559764618783868619671156399452607295988769508352500783574220960860913531467453443294937430274353510364599667674849992899138092885719120082074705687593119976120226926972553959827370536914589664805051121930106853538633663162460426271482016475599904937354887225255852391360696732521066803176110511792292095136664726549043106214562704333124803711024890867076457047783083627543535746359958059358660885952241662638968764433640155002520383928715237837174356115259914969971619651184336326658982471579824548542664118731136204957159577689171900403894414395257258594421830064410265410993167976110772696906517418128939307235344853438013343786158467955229676534499588985631813167470455267564398903992011135258096292747998124641335267708455920009181195741300833721235082668013598299404058634781753522070021202353148672348742461689025296281415257667345563681055188291571667950676404041545193603928410074512227959005354012278127 1832916116885125891453111938881407715592427345517240960120658459909813108221051831427476126053958917539322363886916907429641500061905600059390597557414671943642814797319351130876021695904098781509497475088703096181867093954236012727839572575979414981890735301675404884018415224614105930988369621032819876006064443341012866089879359492002866952723250864962236819705663554260957777515746193669733133545352160341506764309927699076065150809204475414734134294382230352010959120274696660739537748923586548833249945903685954683756858788824998325884613100548384617809930441987466530731339585170772683143210363886269156231164861204483748793673694169236951033987096141925574323597067801960800875316291474848650549168307293874982291078214072496516613718219985709685658361728690340846810676343905805836374486737922013312845298466630994155047034801368428758574516046829188400428237494925852651418804539351325733248333485070387379141830427091995320385899545950427095330006763317517831143405204986034536243224837873404004856369456388097743692928256458433699086525112330430476942938141202627754351472230688926663240885213459468716038187844689501840044069359981269230585526918116947550671633143175493794159482830859627721259860682152672638933770211757642027724406026610382494844417996505326363754542762256567207306025601527674412497755511551444676517388264692150376507408516277699239065744320360240363073564899069501637356290322566615740186319515051094349905374454574206570108830916901910124124678466137110504054124550506565425032246793099727461180287594629771421208720465668191320904860159360947361839449531966251013530020444802653480395245655909081593403463683643798390562087846627645460978373675581409424190035159264071350292351465237404468866408977940522334731004698939520790127554600466990973730583999338801463795524702231262872746555019630415818363513833271926199228045295127976504783728762125882397009989181622022697562474008167473918809694139956073868862489186276519878360481134383080317027444175239247041906065744608492970129751764403692023326496031943988920279371653202805786844873068452253023628731411155377502998182014998568070582923758830770386269816620633323468046180246681808288043196827617225865418901747380441733923532527706284497606503510775120149231191379980368103438849343422265531641279057133019313721413999835639184025971996945628172177067020539023321242526406406812315782447660043320349984712863136184593045701413471041109685754938402030309564056747677473625251 2965720575647608737273246045322078108389359001466225601377502713460441643662579597323169634317859527615384886856493962236676293804339419846676126392910138461053372699968651331811154909335106702479491077521569075105093808869506682557241909069804379520587727059150926059140263611395582109760537523403872559566781126408563189232523638400308002443847015807389255402354011411810652608057604082436551789521738318600016873976802877936714098491493745378126938053889028519975570457718289820443936180643041006486378750753028548372193465568309177612753937188199704066164936625769206330600604583780309797372057092944528672805281110715406539871971547787867181784773279958201265285759173613935155334513980342651148382273080315228781690595756918195266342671213466889783431893733039162979072525566141129263512268376966660258029609676676974565362039231166386780976181717025425873490828855668867926286811787815704150007699920793578909134082024672655694600172257529138648964843355361280688343065679999454213304601095281222196314159478366366101749335581906297517064658156126013144283926280987500607528147585603103715870107308540847675864218341349294853709395754961199481187763911644775231993297413805747048474681625889873994556980468490098057876380841434247769702757223025908662326709232707425397476620332523031828192034997172211798525859506616772803008695371476279485337246657791621838234848136347695043005642317240730565752818593857930631320868292269400335882973166969811885885317997079145374338601747151623472803748471822626560801229246824816582230089331328886924006629141227955939688728779032103761292056827955020521882521228376874441256159187376535036698401113918151900926687514302495453877511768467128544272109864951664470268471692164377022826236348477436924395809750061450896981093234130153434156855481355277063700462057118488128598946380327148339430317009382437991520140431792703053826834976688586730134792892646913564638931055950557546353229886316031928221150072228761540999449898816720472029964559167962279743240100723752885099723384054876359653155014415568744827914317321536923049830228029942195529135305569772760256776436828632480848334751998746497042513527150741596985487482026661726056540613775693820648578281880030719555345695176739765170902414767131284489287672728366228080184611130721451650460252874320147442649082503652782325376055580409925699137041741376469914875148868501341078729075300987695548393918324476164713652089875082654879358866812104821792015753031485903378 4798636692532734628726357984203485823981786346983466561498161173370254751883631428750645760371818445154707250743410869666317793866245019906066723950324810404696187497288002462687176605239205483988988552610272171286960902823742695285081481645783794502478462360826330943158678836009688040748907144436692435572845569749576055322402997892310869396570266672351492222059674966071610385573350276106284923067090478941523638286730577012779249300698220792861072348271258871986529577992986481183473929566627555319628696656714503055950324357134175938638550288748088683974867067756672861331944168951082480515267456830797829036445971919890288665645241957104132818760376100126839609356241415895956209830271817499798931441387609103763981673970990691782956389433452599469090255461729503825883201910046935099886755114888673570874908143307968720409074032534815539550697763854614273919066350594720577705616327167029883256033405863966288275912451764651014986071803479565744294850118678798519486470884985488749547825933154626201170528934754463845442263838364731216151183268456443621226864422190128361879619816292030379110992522000316391902406186038796693753465114942468711773290829761722782664930556981240842634164456749501715816841150642770696810151053191889797427163249636291157171127229212751761231163094779599035498060598699886211023615018168217479526083636168429861844655174069321077300592456707935406079207216310232203109108916424546371507187807320494685788347621544018455994148913981055498463280213288733976857873022329191985833476039924544043410376925958658345215349606896147260593588938393051123131506359921271535412541673179527921651404843285616630101864797561950291488775360930140914855885444048537968462145024215735820560823157401781491692645326417959259126814449000971687108647834597144407887439480694078527495986759349751001345501399957564157793830842654364190748185726920679558610563738814469127144782074268936262201405064118031465162924026272105797083639258505281419359931033199800789057408734407209321649305845332245855229475148458568382979651046359557665107285970524342709894703296482195219157866716725150263254958451827200551431258510829516883312330147784065065031667728708470014099737441392919686067480029260472453478878222883024262777405925542251433720479052708734331519033954552986983291739310007339461164063082339291966351348052526038097876204062280399791157401555275313656861176735344308045533106781460660757759353503346123764565113805214135131356072500708959528629 7764357268180343365999604029525563932371145348449692162875663886830696395546211026073815394689677972770092137599904831902994087670584439752742850343234948865749560197256653794498331514574312186468479630131841246392054711693249377842323390715588174023066189419977257002298942447405270150509444667840564995139626696158139244554926636292618871840417282479740747624413686377882262993630954358542836712588828797541540512263533454949493347792191966170988010402160287391962100035711276301627410110209668561806007447409743051428143789925443353551392487476947792750139803693525879191932548752731392277887324549775326501841727082635296828537616789744971314603533656058328104895115415029831111544344252160150947313714467924332545672269727908887049299060646919489252522149194768666804955727476188064363399023491855333828904517819984943285771113263701202320526879480880040147409895206263588503992428114982734033263733326657545197409994476437306709586244061008704393259693474040079207829536564984942962852427028435848397484688413120829947191599420271028733215841424582456765510790703177628969407767401895134094981099830541164067766624527388091547462860869903668192961054741406498014658227970786987891108846082639375710373821619132868754686531894626137567129920472662199819497836461920177158707783427302630863690095595872098009549474524784990282534779007644709347181901831860942915535440593055630449084849533550962768861927510282477002828056099589895021671320788513830341879466911060200872801881960440357449661621494151818546634705286749360625640466257287545269221978748124103200282317717425154884423563187876292057295062901556402362907564030662151666800265911480102192415462875232636368733397212515666512734254889167400290829294849566158514518881674895396183522624199062422584089741068727297842044294962049355591196448816468239129944447780284712497224147852036802182268326158713382612437398715503055857279574966915849826840336120068589011516153912588137725304789330734042960359380932016521261087373293575171601392545946055998740329198532513444742632806060775126409935200287845879632944533524512137414687002022294923023511734888655833032279593262828263380354843674934806662017155210735131740156278055168613506716058311140503173034223918059764027948308340309382718209766725437100559599218565683708434942199562881659608606712164842944748676724108106448023575341104021776261072276704143814997939905810645295741081500699785136922473005593221206419444472672026239953148088253740445432007 12562993960713077994725962013729049756352931695433158724373825060200951147429842454824461155061496417924799388343315701569311881536829459658809574293559759270445747694544656257185508119813517670457468182742113417679015614516992073127404872361371968525544651780803587945457621283414958191258351812277257430712472265907715299877329634184929741236987549152092239846473361343953873379204304634649121635655919276483064150550264031962272597092890186963849082750431546263948629613704262782810884039776296117125636144066457554484094114282577529490031037765695881434114670761282552053264492921682474758402592006606124330878173054555187117203262031702075447422294032158454944504471656445727067754174523977650746245155855533436309653943698899578832255450080372088721612404656498170630838929386234999463285778606744007399779425963292912006180187296236017860077577244734654421328961556858309081698044442149763916519766732521511485685906928201957724572315864488270137554543592718877727316007449970431712400252961590474598655217347875293792633863258635759949367024693038900386737655125367757331287387218187164474092092352541480459669030713426888241216325984846136904734345571168220797323158527768228733743010539388877426190662769775639451496682947818027364557083722298490976668963691132928919938946522082229899188156194571984220573089542953207762060862643813139209026557005930263992836033049763565855164056749861194971971036426707023374335243906910389707459668410057848797873615825041256371265162173729091426519494516481010532468181326673904669050843183246203614437328355020250460875906655818206007555069547797563592707604574735930284558968873947768296902130709042052483904238236162777283589282656564204481196399913383136111390118006967940006211527001313355442649438648063394271198388903324442249931734442743434118692435575817990131289949180242276655017978694691166373016511885634062171047962454317524984424357041184786089041741184186620476679077938860243522388428589239324379719311965216322050144782027982380923041851791388244595558673680972013125612457107134684075042486258370222342839236820994332633844868739020073286766693340483033583710851773657780263667173822718871727048822939443601754256015496561533192783538340400975626513102140942788290725714265851634151930245778145834891118252520236695418233938872888999069770775247182236715028072160632486121451545166302176052229678259419128654801082545989603786614607481245797680232359096567330184009586477240375084504160754449404960636 20327351228893421360725566043254613688724077043882850887249488947031647542976053480898276549751174390694891525943220533472305969207413899411552424636794708136195307891801310051683839634387829856925947812873954664071070326210241450969728263076960142548610841200780844947756563730820228341767796480117822425852098962065854544432256270477548613077404831631832987470887047721836136372835258993191958348244748074024604662813797486911765944885082153134837093152591833655910729649415539084438294149985964678931643591476200605912237904208020883041423525242643674184254474454808431245197041674413867036289916556381450832719900137190483945740878821447046762025827688216783049399587071475558179298518776137801693558870323457768855326213426808465881554510727291577974134553851266837435794656862423063826684802098599341228683943783277855291951300559937220180604456725614694568738856763121897585690472557132497949783500059179056683095901404639264434158559925496974530814237066758956935145544014955374675252679990026322996139905760996123739825462678906788682582866117621357152248445828545386300695154620082298569073192183082644527435655240814979788679186854749805097695400312574718811981386498555216624851856622028253136564484388908508206183214842444164931687004194960690796166800153053106078646729949384860762878251790444082230122564067738198044595641651457848556208458837791206908371473642819196304248906283412157740832963936989500377163300006500284729130989198571679139753082736101457244067044134169448876181116010632829079102886613423265294691309440533748883659307103144353661158224373243360891978632735673855650002667476292332647466532904609919963702396620522154676319701111395413652322679869079870993930654802550536402219412856534098520730408676208751626172062847125816855288129972051740091976029404792789709888884392286229261234396960526989152242126546727968555284838044347444783485361169820580841703932008100635915882077304255209488195231851448381247693217919973367340078692897232843311232155321557552524434397737444243335887872213485457868245263167909810484977686546216101975783770345506470048531870761314996310278428229138866615990445036486043644022017497653678389065978150178733494412293551730146699499596651541478799547326059002552318674022606161016870140012503582935450717471085920403853176138435770658678377487412025181463704796268738934145026886270323952313301954963562943652740988356634899527696108181030934602705364689788536603454059149266615037652249008189850392643 32890345189606499355451528056983663445077008739316009611623314007232598690405895935722737704812670808619690914286536235041617850744243359070361998930354467406641055586345966308869347754201347527383415995616068081750085940727233524097133135438332111074155492981584432893214185014235186533026148292395079856564571227973569844309585904662478354314392380783925227317360409065790009752039563627841079983900667350507668813364061518874038541977972340098686175903023379919859359263119801867249178189762260796057279735542658160396332018490598412531454563008339555618369145216090983298461534596096341794692508562987575163598073191745671062944140853149122209448121720375237993904058727921285247052693300115452439804026178991205164980157125708044713809960807663666695746958507765008066633586248658063289970580705343348628463369746570767298131487856173238040682033970349348990067818319980206667388516999282261866303266791700568168781808332841222158730875789985244668368780659477834662461551464925806387652932951616797594795123108871417532459325937542548631949890810660257538986100953913143631982541838269463043165284535624124987104685954241868029895512839595942002429745883742939609304545026323445358594867161417130562755147158684147657679897790262192296244087917259181772835763844186034998585676471467090662066407985016066450695653610691405806656504295270987765235015843721470901207506692582762159412963033273352712804000363696523751498543913410674436590657608629527937626698561142713615332206307898540302700610527113839611571067940097169963742152623779952498096635458164604122034131029061566899533702283471419242710272051028262932025501778557688260604527329564207160223939347558190935911962525644075475127054715933672513609530863502038526941935677522107068821501495189211126486518875376182341907763847536223828581319968104219392524346140769265807260105241419134928301349929981506954533323624138105826128289049285422004923818488441829964874309790308624770081646509212691719798004862449165361376937349539933447476249528832487931446545894457470993857720275044494560020172804586324318623007166500802682376739500335069597045121569621900199701296810143823907689191320372550116114801089622335248668309048291679892283134991942454426060428199945340609399736872012651022070258281728770341835723606157099271410077308659657748148262659207418178732868429371420266478431436626128365531633222982072307542070902624503314310715662276732282937723786355866787463645626506990122156409762639255353279 53217696418499920716177094100238277133801085783198860498872802954264246233381949416621014254563845199314582440229756768513923819951657258481914423567149175542836363478147276360553187388589177384309363808490022745821156266937474975066861398515292253622766334182365277840970748745055414874793944772512902282416670190039424388741842175140026967391797212415758214788247456787626146124874822621033038332145415424532273476177859005785804486863054493233523269055615213575770088912535340951687472339748225474988923327018858766308569922698619295572878088250983229802623619670899414543658576270510208830982425119369025996317973328936155008685019674596168971473949408592021043303645799396843426351212076253254133362896502448974020306370552516510595364471534955244669881512359031845502428243111081127116655382803942689857147313529848622590082788416110458221286490695964043558806675083102104253078989556414759816086766850879624851877709737480486592889435715482219199183017726236791597607095479881181062905612941643120590935028869867541272284788616449337314532756928281614691234546782458529932677696458351761612238476718706769514540341195056847818574699694345747100125146196317658421285931524878661983446723783445383699319631547592655863863112632706357227931092112219872569002563997239141077232406420851951424944659775460148680818217678429603851252145946728836321443474681512677809578980335401958463661869316685510453636964300686024128661843919910959165721646807201207077379781297244170859399250442067989178881726537746668690673954553520435258433462064313701381755942561308957783192355402304927791512335019145274892712939527320595579492034683167608224306923950086361836543640458953604588234642394723946469057709518484208915828943720036137047672344353730858694993564342315027981774648847427922433883793252329013538470204360390448653758743101296254959502231788147103483586187974328951738018684793958686667832221057386057920805895792697039453069541641757006017774864429186059059876697759682008672609092671097485971910647266276731267334418107942928862102983442954305044997859350802426294406777512007272730908610261650065907323549798760766815691741846629867551711208818026228505180779239801068743080602600021826591782731643483933225607754258947892928073759478173667892210270785311705792553194692077503124586215744430316426525750071232599642437664698110354411505317706950080678833588186545015960283059259259402842006823843307666885643088476144403390917704775773605159808658770829105745922 86108041608106420071628622157221940578878094522514870110496116961496844923787845352343751959376516007934273354516293003555541670695900617552276422497503642949477419064493242669422535142790524911692779804106090827571242207664708499163994533953624364696921827163949710734184933759290601407820093064907982138981241418012994233051428079802505321706189593199683442105607865853416155876914386248874118316046082775039942289541920524659843028841026833332209444958638593495629448175655142818936650529510486271046203062561516926704901941189217708104332651259322785420992764886990397842120110866606550625674933682356601159916046520681826071629160527745291180922071128967259037207704527318128673403905376368706573166922681440179185286527678224555309174432342618911365628470866796853569061829359739190406625963509286038485610683276419389888214276272283696261968524666313392548874493403082310920467506555697021682390033642580193020659518070321708751620311505467463867551798385714626260068646944806987450558545893259918185730151978738958804744114553991885946482647738941872230220647736371673564660238296621224655403761254330894501645027149298715848470212533941689102554892080060598030590476551202107342041590944862514262074778706276803521543010422968549524175180029479054341838327841425176075818082892319042087011067760476215131513871289121009657908650241999824086678490525234148710786487027984720623074832349958863166440964664382547880160387833321633602312304415830735015006479858386884474731456749966529481582337064860508302245022493617605222175614688093653879852578019473561905226486431366494691046037302616694135423211578348858511517536461725296484911451279650568996767579806511795524146604920368021944184764234417881429438474583538175574614280031252965763815065837504239108261167722804104775791557099865237367051524328494668046283089242065520766762337029566238411887537904310458692552008418096792493960510106671479925729714281138869417943851432065630787856510938398750779674702622131174033986030020637419419386896795109219198780964002400399855960703717998799605018032155388750613029784678508075413285349761985135504368671368382667015393038656773691459400400138398778621295580329423403991748911648313506484065866635426387651668182458893233537473496350186318914280529067040476134388918298234602395996293053089974174674012730440017821170533127481774677983749143576209044365221409527088267825130161883906156317539505584399168580812262500270178381350402280595281965068533468361099201 139325738026606340787805716257460217712679180305713730609368919915761091157169794768964766213940361207248855794746049772069465490647557876034190846064652818492313782542640519029975722531379702296002143612596113573392398474602183474230855932468916618319688161346314988575155682504346016282614037837420884421397911608052418621793270254942532289097986805615441656893855322641042302001789208869907156648191498199572215765719779530445647515704081326565732714014253807071399537088190483770624122869258711746035126389580375693013471863887837003677210739510306015223616384557889812385778687137116759456657358801725627156234019849617981080314180202341460152396020537559280080511350326714972099755117452621960706529819183889153205592898230741065904538903877574156035509983225828699071490072470820317523281346313228728342757996806268012478297064688394154483255015362277436107681168486184415173546496112111781498476800493459817872537227807802195344509747220949683066734816111951417857675742424688168513464158834903038776665180848606500077028903170441223261015404667223486921455194518830203497337934754972986267642237973037664016185368344355563667044912228287436202680038276378256451876408076080769325488314728307897961394410253869459385406123055674906752106272141698926910840891838664317153050489313170993511955727535936363812332088967550613509160796188728660408121965206746826520365467363386679086736701666644373620077928965068572008822231753232592768033951223031942092386261155631055334130707192034518660464063602607176992918977047138040480609076752407355261608520580782519688418841833671422482558372321761969028136151105669454091009571144892904709218375229736930833311220265465400112381247315091968413242473752902090345267418303574312622286624384983824458808630179819267090035816570232027209675350352194250905521728688885116700041832343361775726264568817713341895473725878639410430570693212055479161792731164057537846535610073835908871013393073822636805631375367584809839551400381813182706595122691734905391297544061385950466115382110343328718063687160953104650015891506191176907436562190515348144193960023635201411692221167143433831084780503403559011111608956425007126476359569224472734829514248335333075848598278910320877275936717841126465547255828359986806490799852352181926942112990312105520582508797520290601199762801672617463608197825592129089489066850526289723198809596072104228108189421143308998324363348892066054223900738644673569299055178054200441773727304297466845123 225433779634712760859434338414682158291557274828228600719865036877257936080957640121308518173316877215183129149262342775625007161343458493586467268562156461441791201607133761699398257674170227207694923416702204400963640682266891973394850466422540983016609988510264699309340616263636617690434130902328866560379153026065412854844698334745037610804176398815125098999463188494458457878703595118781274964237580974612158055261700055105490544545108159897942158972892400567028985263845626589560773398769198017081329452141892619718373805077054711781543390769628800644609149444880210227898798003723310082332292484082228316150066370299807151943340730086751333318091666526539117719054854033100773159022828990667279696741865329332390879425908965621213713336220193067401138454092625552640551901830559507929907309822514766828368680082687402366511340960677850745223540028590828656555661889266726094014002667808803180866834136040010893196745878123904096130058726417146934286614497666044117744389369495155964022704728162956962395332827345458881773017724433109207498052406165359151675842255201877061998173051594210923045999227368558517830395493654279515515124762229125305234930356438854482466884627282876667529905673170412223469188960146262906949133478643456276281452171177981252679219680089493228868572205490035598966795296412578943845960256671623167069446430728484494800455731980975231151954391371399709811534016603236786518893629451119888982619586554226370346255638862677107392741014017939808862163942001048142046400667467685295163999540755645702784691440501009141461098600256081593645328265037917173604409624378663163559362684018312602527107606618201194129826509387499830078800071977195636527852235459990357427237987319971774705892887112488196900904416236790222623696017323506198296984293036131985466907452059488272573253017379784746324921585427296493026905847279580307361263782949869123122701630152271655753241270729017772265324354974778288957244505888267593487886305983560619226103003944356740581152712372324810684440856495169664896346112743728574024390878951904255033923661579927520466346869023423557479309785620336916060892535526100846477819160177250470512009094823785747771939898647876726578425896648839559914464914336708528944119176734360003020752178546305720771328919392658061331031288546707916578801850610264775873775532112635284778730953073903767472815994102498767564031005599192495933319583027215154641902854476465222804713001144943747680405580334795723738795837765827944324 364759517661319101647240054672142376004236455133942331329233956793019027238127434890273284387257238422431984944008392547694472651991016369620658114626809279934104984149774280729373980205549929503697067029298317974356039156869075447625706398891457601336298149856579687884496298767982633973048168739749750981777064634117831476637968589687569899902163204430566755893318511135500759880492803988688431612429079174184373820981479585551138060249189486463674872987146207638428522352036110360184896268027909763116455841722268312731845668964891715458754130279934815868225534002770022613677485140840069538989651285807855472384086219917788232257520932428211485714112204085819198230405180748072872914140281612627986226561049218485596472324139706687118252240097767223436648437318454251712041974301379825453188656135743495171126676888955414844808405649072005228478555390868264764236830375451141267560498779920584679343634629499828765733973685926099440639805947366830001021430609617461975420131794183324477486863563065995739060513675951958958801920894874332468513457073388846073131036774032080559336107806567197190688237200406222534015763838009843182560036990516561507914968632817110934343292703363645993018220401478310184863599214015722292355256534318363028387724312876908163520111518753810381919061518661029110922522832348942756178049224222236676230242619457144902922420938727801751517421754758078796548235683247610406596822594519691897804851339786819138380206861894619199779002169648995142992871134035566802510464270074862288082976587893686183393768192908364403069619181038601282064170098709339656162781946140632191695513789687766693536678751511105903348201739124430663390020337442595748909099550551958770669711740222062119973311190686800819187528801220614681432326197142773288332800863268159195142257804253739178094981706264901446366753928789072219291474664992922202834989661589279553693394842207750817545972434786555618800934428810687159970637579710904399119261673568370458777503385757539447176275404107230201981984917881120131011728223087057292088078039905008905049815167771104427902909059538771701673269809255538327753113702669534677562599663580809481623618051248792874248299467872349461407940144984172635763063193247029406220055894575486468568008006906292527262128771744839988273144278858813437161310648130555377073538333785252748386928778666032856961882844628788490762840601671296724041509004170524152966266203368531277028613739789617316979460758388996165512523142063294789447 590193297296031862506674393086824534295793729962170932049098993670276963319085075011581802560574115637615114093270735323319479813334474863207125383188965741375896185756908042428772237879720156711391990446000522375319679839135967421020556865313998584352908138366844387193836915031619251663482299642078617542156217660183244331482666924432607510706339603245691854892781699629959217759196399107469706576666660148796531876243179640656628604794297646361617031960038608205457507615881736949745669666797107780197785293864160932450219474041946427240297521049563616512834683447650232841576283144563379621321943769890083788534152590217595384200861662514962819032203870612358315949460034781173646073163110603295265923302914547817987351750048672308331965576317960290837786891411079804352593876131939333383095965958258261999495356971642817211319746609749855973702095419459093420792492264717867361574501447729387860210468765539839658930719564050003536769864673783976935308045107283506093164521163678480441509568291228952701455846503297417840574938619307441676011509479554205224806879029233957621334280858161408113734236427774781051846159331664122698075161752745686813149898989255965416810177330646522660548126074648722408332788174161985199304390012961819304669176484054889416199331198843303610787633724151064709889318128761521700024009480893859843299689050185629397722876670708776982669376146129478506359769699850847193115716223970811786787470926341045508726462500757296307171743183666934951855035076036614944556864937542547583246976128649331886178459633409373544530717781294682875709498363747256829767191570519295355254876473706079296063786358129307097478028248511930493468820409419791385436951786011949128096949727542033894679204077799289016088433217457404904056022214466279486629785156304291180609165256313227450668234723644686192691675514216368712318380512272502510196253444539148676816096472360022473299213705515573391066258783785465448927882085599171992607147979551931078003606389701896187757428116479555012666425774376289795908074335830785866112468918856913160083738829351031948369255928562195259152579594875875243814006238195635524040418823758059952135627146072578622020239366520226187986366041633012195677528107583737935164175071309846471588760185452598248033457691137498049604175567405521353740112498740820152947313865897888033165659731739936624434698838731287258326871607270489219974828587197739307608169057844996499833326740934561064659866338723791889251318979829122733771 954952814957350964153914447758966910300030185096113263378332950463295990557212509901855086947831354060047099037279127871013952465325491232827783497815775021310001169906682323158146218085270086215089057475298840349675718996005042868646263264205456185689206288223424075078333213799601885636530468381828368523933282294301075808120635514120177410608502807676258610786100210765459977639689203096158138189095739322980905697224659226207766665043487132825291904947184815843886029967917847309930565934825017543314241135586429245182065143006838142699051651329498432381060217450420255455253768285403449160311595055697939260918238810135383616458382594943174304746316074698177514179865215529246518987303392215923252149863963766303583824074188378995450217816415727514274435328729534056064635850433319158836284622094001757170622033860598232056128152258821861202180650810327358185029322640169008629135000227649972539554103395039668424664693249976102977409670621150806936329475716900968068584652957861804918996431854294948440516360179249376799376859514181774144524966552943051297937915803266038180670388664728605304422473628181003585861923169673965880635198743262248321064867622073076351153470034010168653566346476127032593196387388177707491659646547280182333056900796931797579719442717597113992706695242812093820811840961110464456202058705116096519529931669642774300645297609436578734186797900887557302908005383098457599712538818490503684592322266127864647106669362651915506950745353315930094847906210072181747067329207617409871329952716543018069572227826317737947600336962333284157773668462456596485929973516659927546950390263393845989600465109640413000826229987636361156858840746862387134346051336563907898766661467764096014652515268486089835275962018678019585488348411609052774962586019572450375751423060566966628763216429909587639058429443005440931609855177265424713031243106128428230509491314567773290845186140302129009867193212596152608898519665310076391726409653120301536781109775459435634933703520586785214648410692257409926919802558917843158200546958761922065133553997122136376272164988100966960825849404131413571567119940865170201603018487338869433759245197321371496268538834392575649394306186617184831440591300830767341384230965885332940156768192358890775295586462882338037877319846264334790901423146871375530020852199683140781552588510405969481396581683360075749089712208941785944016337591368263460574435261213527776861940480724178381639327097112788054763842121892417523218 1545146112253382826660588840845791444595823915058284195427431944133572953876297584913436889508405469697662213130549863194333432278659966096034908881004740762685897355663590365586918455964990242926481047921299362724995398835141010289666820129519454770042114426590268462272170128831221137300012768023906986066089499954484320139603302438552784921314842410921950465678881910395419195398885602203627844765762399471777437573467838866864395269837784779186908936907223424049343537583799584259676235601622125323512026429450590177632284617048784569939349172379062048893894900898070488296830051429966828781633538825588023049452391400352979000659244257458137123778519945310535830129325250310420165060466502819218518073166878314121571175824237051303782183392733687805112222220140613860417229726565258492219380588052260019170117390832241049267447898868571717175882746229786451605821814904886875990709501675379360399764572160579508083595412814026106514179535294934783871637520824184474161749174121540285360506000145523901141972206682546794639951798133489215820536476032497256522744794832499995802004669522890013418156710055955784637708082501338088578710360496007935134214766611329041767963647364656691314114472550775755001529175562339692690964036560242001637726077280986686995918773916440417603494328966963158530701159089871986156226068186009956362829620719828403698368174280145355716856174047017035809267775082949304792828255042461315471379793192468910155833131863409211814122488536982865046702941286108796691624194145159957454576928845192349955750687459727111492131054743627967033483166826203853315697165087179222902205266737099925285664251467769720098304258236148291650327661156282178519783003122575857026863611195306129909331719346285378851364395236135424489544370626075332261592371175876741556360588316880194079431451153554273831750104957221809643928235689537927223227496550667576907325587786927795764144399845817702400933451996381618057826401750909248384333557632672232614784716165161331822691131637066340227314836466633699722827876894748629024313015877618835225217292826473168324641420916663162219978428999007288815381126179060805725643437311096929385894872343393950118288778200912801837380672228250197027118119408414505276548406037195179411745528377811489023329044154019836087481495413669856144641535645612195682968166065581028814718248242145906105831280522091363007416583816212275163991166178566002768182604319058524276695267221658739446299193435836579944015161101721540256989 2500098927210733790814503288604758354895854100154397458805764894596868944433510094815291976456236823757709312167828991065347384743985457328862692378820515783995898525570272688745064674050260329141570105396598203074671117831146053158313083393724910955731320714813692537350503342630823022936543236405735354590022782248785395947723937952672962331923345218598209076464982121160879173038574805299785982954858138794758343270692498093072161934881271912012200841854408239893229567551717431569606801536447142866826267565037019422814349760055622712638400823708560481274955118348490743752083819715370277941945133881285962310370630210488362617117626852401311428524836020008713344309190465839666684047769895035141770223030842080425154999898425430299232401209149415319386657548870147916481865576998577651055665210146261776340739424692839281323576051127393578378063397040113809790851137545055884619844501903029332939318675555619176508260106064002209491589205916085590807966996541085442230333827079402090279502431999818849582488566861796171439328657647670989965061442585440307820682710635766033982675058187618618722579183684136788223570005671012054459345559239270183455279634233402118119117117398666859967680819026902787594725562950517400182623683107522183970782978077918484575638216634037531596201024209775252351513000050982450612428126891126052882359552389471177999013471889581934451042971947904593112175780466047762392540793860951819155972115458596774802939801226061127321073233890298795141550847496180978438691523352777367325906881561735368025322915286044849439731391705961251191256835288660449801627138603839150449155657000493771275264716577410133099130488223784652807186501903144565654129054459139764925630272663070225923984234614771468686640357254813444075032719037684385036554957195449191932112011377447160708194667583463861470808534400227250575538090866803351936258739656796005137835079101495569054989585986119831410800645208977770666724921416219324776059967285792534151565825940620767457624835157653125441963247158891109649747679453666472182513562836380757290350846823595304700913585904764129180804278403138702386948246119925975927246455798435798819654117540715321614557317035305377486774978414867381858558710709245272617932637003080512351902296570170379798624630616902174125358815259934190935542958792483571212989018265264169596270836752551875587227862205451438756506296025154061108007503769934266228757039580272052053557207702382917827938520532949367998779003223613957780207 4045245039464116617475092129450549799491678015212681654233196838730441898309807679728728865964642293455371525298378854259680817022645423424897601259825256546681795881233863054331983130015250572068051153317897565799666516666287063447979903523244365725773435141403960999622673471462044160236556004429642340656112282203269716087327240391225747253238187629520159542143864031556298368437460407503413827720620538266535780844160336959936557204719056691199109778761631663942573105135517015829283037138069268190338293994487609600446634377104407282577749996087622530168850019246561232048913871145337106723578672706873985359823021610841341617776871109859448552303355965319249174438515716150086849108236397854360288296197720394546726175722662481603014584601883103124498879769010761776899095303563836143275045798198521795510856815525080330591023949995965295553946143269900261396672952449942760610554003578408693339083247716198684591855518878028316005768741211020374679604517365269916392083001200942375640008432145342750724460773544342966079280455781160205785597918617937564343427505468266029784679727710508632140735893740092572861278088172350143038055919735278118589494400844731159887080764763323551281795291577678542596254738512857092873587719667764185608509055358905171571556990550477949199695353176738410882214159140854436768654195077136009245189173109299581697381646169727290167899145994921628921443555548997067185369048903413134627351908651065684958772933089470339135195722427281660188253788782289775130315717497937324780483810406927717981073602745771960931862446449589218224740002114864303117324303691018373351360923737593696560928968045179853197434746459932944457514163059426744173912057581715621952493883858376355833315953961056847538004752490948868564577089663759717298147328371325933488472599694327354787626118737018135302558639357449060219466326556341279159486236207463582045160666888423364819133985831937533811734097205359388724551323167128573160393524918464766766350542105782099280315966794719465669278083625524809372575556348415101206826578713999592515568139650068473025555006821427291400782707402145991202329372298986781652889893109532728205548989884109271732846095236218179324155650643117578885676830117659777894481043040275691763647824947981868821953674770922010212840310673604047080184494438095766895957184330845198410989084994697781693059142727542801763922879841366336271998669948500268996939643899330576330252474924041657274237713968785947942794164325335498037196 6545343966674850408289595418055308154387532115367079113038961733327310842743317774544020842420879117213080837466207845325028201766630880753760293638645772330677694406804135743077047804065510901209621258714495768874337634497433116606292986916969276681504755856217653536973176814092867183173099240835377695246135064452055112035051178343898709585161532848118368618608846152717177541476035212803199810675478677061294124114852835053008719139600328603211310620616039903835802672687234447398889838674516411057164561559524629023260984137160029995216150819796183011443805137595051975800997690860707384665523806588159947670193651821329704234894497962260759980828191985327962518747706181989753533156006292889502058519228562474971881175621087911902246985811032518443885537317880909693380960880562413794330711008344783571851596240217919611914600001123358873932009540310014071187524089994998645230398505481438026278401923271817861100115624942030525497357947127105965487571513906355358622416828280344465919510864145161600306949340406139137518609113428831195750659361203377872164110216104032063767354785898127250863315077424229361084848093843362197497401478974548302044774035078133278006197882161990411249476110604581330190980301463374493056211402775286369579292033436823656147195207184515480795896377386513663233727159191836887381082321968262062127548725498770759696395118059309224618942117942826222033619336015044829577909842764364953783324024109662459761712734315531466456268956317580455329804636278470753569007240850714692106390691968663086006396518031816810371593838155550469415996837403524752918951442294857523800516580738087467836193684622589986296565234683717597264700664962571309828041112040855386878124156521446581757300188575828316224645109745762312639609808701444102334702285566775125420584611071774515495820786320481996773367173757676310795004417423144631095744975864259587182995745989918933874123571818057365222534742414337159391276244583347897936453492204257300917916368046402866737940801952372591111241330784415919022323235802081573389340141550380349805918986473663777726468592726191420581586985805284693589277618418912757580136348907968527025203107424824593347403412271523556810930629057984960744235540826905050512413680043356204115550121518152248620578305387824184338199125933538238015727453230579338108946202596109368007259921747249657280287004932994240520429175866520397380006173718434535225696683479602628383809682626424575102176234501735315941573167548949455817403 10590589006138967025764687547505857953879210130579760767272158572057752741053125454272749708385521410668452362764586699584709018789276304178657894898471028877359490288037998797409030934080761473277672412032393334674004151163720180054272890440213642407278190997621614536595850285554911343409655245265020035902247346655324828122378418735124456838399720477638528160752710184273475909913495620306613638396099215327829904959013172012945276344319385294410420399377671567778375777822751463228172875812585679247502855554012238623707618514264437277793900815883805541612655156841613207849911562006044491389102479295033933030016673432171045852671369072120208533131547950647211693186221898139840382264242690743862346815426282869518607351343750393505261570412915621568384417086891671470280056184126249937605756806543305367362453055742999942505623951119324169485955683579914332584197042444941405840952509059846719617485170988016545691971143820058841503126688338126340167176031271625275014499829481286841559519296290504351031410113950482103597889569209991401536257279821315436507537721572298093552034513608635883004050971164321933946126182015712340535457398709826420634268435922864437893278646925313962531271402182259872787235039976231585929799122443050555187801088795728827718752197734993429995591730563252074115941318332691324149736517045398071372737898608070341393776764229036514786841263937747850955062891564041896763278891667778088410675932760728144720485667405001805591464678744862115518058425060760528699322958348652016886874502375590803987470120777588771303456284605139687640736839518389056036275745985875897151877504475681164397122652667769839493999981143650541722214828021998054001953169622571008830618040379822937590616142536885163762649862236711181204186898365203819632849613938101058909057210766101870283446905057500132075925813115125371014470743979485910255231212071723169228156412878342298693257557649994899034268839619696548115827567750476471096847017122722067684266910152184966018256768747092056780519414409940728394898792150496674596166720264379942321487126123732250752023599547618711982369693207430684791606990717899539233026242017501255230752097308933865080249507507741736135086279701102539629912370944564828406894723083631895879197946466134117442531980158746194551039436607142285095911947668675105004903386926954566418249006741947438973346147660537042284352055707886733652004843666934804222636327378933204714062157550466232376413948470521263884367331874284953854599 17135932972813817434054282965561166108266742245946839880311120305385063583796443228816770550806400527881533200230794544909737220555907184932418188537116801208037184694842134540486078738146272374487293670746889103548341785661153296660565877357182919088782946853839268073569027099647778526582754486100397731148382411107379940157429597079023166423561253325756896779361556336990653451389530833109813449071577892389124029073866007065953995483919713897621731019993711471614178450509985910627062714487102090304667417113536867646968602651424467273010051635679988553056460294436665183650909252866751876054626285883193880700210325253500750087565867034380968513959739935975174211933928080129593915420248983633364405334654845344490488526964838305407508556223948140012269954404772581163661017064688663731936467814888088939214049295960919554420223952242683043417965223889928403771721132439940051071351014541284745895887094259834406792086768762089367000484635465232305654747545177980633636916657761631307479030160435665951338359454356621241116498682638822597286916641024693308671647937676330157319389299506763133867366048588551295030974275859074538032858877684374722679042471000997715899476529087304373780747512786841202978215341439606078986010525218336924767093122232552483865947404919508910791488107949765737349668477524528211530818839013660133500286624106841101090171882288345739405783381880574072988682227579086726341188734432143042193999956870390604482198401720533272047733635062442570847863061339231282268330199199366708993265194344253889993866638809405581675050122760690157056733676921913808955227188280733420952394085213768632233316337290359825790565215827368138986915492984569363829994281663426395708742196901269519347916331112713479987294971982473493843796707066647921967551899504876184329641821837876385779267691377982128849292986872801681809475161402630541350976187935982756411152158868261232567381129468052264256803582034033707507103812333824369033300509326979368602183278198587832756197570699464647891760745194356647417222027952578247985506861814760292127406112597396028478492192273810132563956679012715378380884609136812296813162590925469782255955204733758458427652919779265292946016908759087500374147911771469878919308403126988099994748067984286366063110285546570378889238562540680523111639400899254443113849589523063934425508928489197096253633152593531282804781231574407131032011017385369339448333010858535833097871840176890807478590182972256579825940499423234409672002 27726521978952784459818970513067024062145952376526600647583278877442816324849568683089520259191921938549985562995381244494446239345183489111076083435587830085396674982880133337895109672227033847764966082779282438222345936824873476714838767797396561496061137851460882610164877385202689869992409731365417767050629757762704768279808015814147623261960973803395424940114266521264129361303026453416427087467677107716953934032879179078899271828239099192032151419371383039392554228332737373855235590299687769552170272667549106270676221165688904550803952451563794094669115451278278391500820814872796367443728765178227813730226998685671795940237236106501177047091287886622385905120149978269434297684491674377226752150081128214009095878308588698912770126636863761580654371491664252633941073248814913669542224621431394306576502351703919496925847903362007212903920907469842736355918174884881456912303523601131465513372265247850952484057912582148208503611323803358645821923576449605908651416487242918149038549456726170302369769568307103344714388251848813998823173920846008745179185659248628250871423813115399016871417019752873228977100457874786878568316276394201143313310906923862153792755176012618336312018914969101075765450381415837664915809647661387479954894211028281311584699602654502340787079838513017811465609795857219535680555356059058204873024522714911442483948646517382254192624645818321923943745119143128623104467626099921130604675889631118749202684069125535077639198313807304686365921486399991810967653157548018725880139696719844693981336759586994352978506407365829844697470516440302864991502934266609318104271589689449796630438989958129665284565196971018680709130321006567417831947451285997404539360237281092456938532473649598643749944834219184675047983605431851741600401513442977243238699032603978256062714596435482260925218799987927052823945905382116451606207400007705925639308571746603531260638687118047163291072421653730255622931380084300840130147526449701436286450188350772798774454339446556704672280159604297375812120820103074922581673582079140234448893238721128279230515791821428844546326372220146063172491599854711836046188832942971037486707302042692323507902427287007029081103188460190040004060282716034707326203126210619995873946014450420483505642265705316573440277999147822808207551348567929548118752976450018500843757935231144535226979300254068325089133287282293864684015861052304143670969338237469037811933997727357039855004131442777843710307831297519363526601 44862454951766601893873253478628190170412694622473440527894399182827879908646011911906290809998322466431518763226175789404183459901090674043494271972704631293433859677722267878381188410373306222252259753526171541770687722486026773375404645154579480584844084705300150683733904484850468396575164217465815498199012168870084708437237612893170789685522227129152321719475822858254782812692557286526240536539255000106077963106745186144853267312158813089653882439365094511006732678842723284482298304786789859856837689781085973917644823817113371823814004087243782647725575745714943575151730067739548243498355051061421694430437323939172546027803103140882145561051027822597560117054078058399028213104740658010591157484735973558499584405273427004320278682860811901592924325896436833797602090313503577401478692436319483245790551647664839051346071855604690256321886131359771140127639307324821507983654538142416211409259359507685359276144681344237575504095959268590951476671121627586542288333145004549456517579617161836253708129022663724585830886934487636596110090561870702053850833596924958408190813112622162150738783068341424524008074733733861416601175154078575865992353377924859869692231705099922710092766427755942278743665722855443743901820172879724404721987333260833795450647007574011251578567946462783548815278273381747747211374195072718338373311146821752543574120528805727993598408027698895996932427346722215349445656360532064172798675846501509353684882470846068349686931948869747257213784547739223093235983356747385434873404891064098583975203398396399934653556530126520001754204193362216673946730122547342739056665674903218428863755327248489491075130412798386819696045813991136781661941732949423800248102434182361976286448804762312123737239806201658168891780312498499663567953412947853427568340854441854641841982287813464389774511786860728734633421066784746992957183587943688682050460730614864763828019816586099427547876003687763963130035192418125209163448035776680804888633466549360631530651910146021352564040904798654023229342848055653170567180443893900526576299351318524307709007984095238977110283051232861441553376208991524132859351423868440819742662506776450781935555347066272322027120097219277540378208194487504586245511529337608095868694082434706849568752551251886952329516561688503331319190749467183991232602565973082435269266863720341631480612452847599607893914518856700995716026878437673483119302349096004870909805837904247847333594314415034423536248330720753773198603 72588976930719386353692223991695214232558646999000041175477678060270696233495580594995811069190244404981504326221557033898629699246274163154570355408292461378830534660602401216276298082600340070017225836305453979993033659310900250090243412951976042080905222556761033293898781870053158266567573948831233265249641926632789476717045628707318412947483200932547746659590089379518912173995583739942667624006932107823031897139624365223752539140397912281686033858736477550399286907175460658337533895086477629409007962448635080188321044982802276374617956538807576742394691196993221966652550882612344610942083816239649508160664322624844341968040339247383322608142315709219946022174228036668462510789232332387817909634817101772508680283582015703233048809497675663173578697388101086431543163562318491071020917057750877552367053999368758548271919758966697469225807038829613876483557482209702964895958061743547676922631624755536311760202593926385784007707283071949597298594698077192450939749632247467605556129073888006556077898590970827930545275186336450594933264482716710799030019256173586659062236925737561167610200088094297752985175191608648295169491430472777009305664284848722023484986881112541046404785342725043354509116104271281408817629820541111884676881544289115107035346610228513592365647784975801360280888069238967282891929551131776543246335669536663986058069175323110247791032673517217920876172465865343972550123986631985303403351736132628102887566539971603427326130262677051943579706034139214904203636514295404160753544587783943277956540157983394287632062937492349846451674709802519538938233056813952057160937264592668225494194317206619156359695609769405500405176134997704199493889184235421204787462671463454433224981278411910767487184640420842843939763917930351405168354926390830670807039887045832897904696884248946650699730586848655787457366972166863444563390987951394607689769302361468295088658503704146590838948425341494218752966572502426049293595562226382241175083654900133430305106249592578057236321064402951399041463668158728093148854025973040761025192590039652586939523775916667821656609423453007504725867808846235968905540256811411857229369808819143105443457774353279351108223285679467580382268477203539293571714655548228091742640096885127333074394816957203525769794560836326139526742098035113539351355542423100936113024798951486166707591753101667932983047806138994860400042739489977626790271687333473908721739835631604887188598445857812267246556162018273136725204 117451431882485988247565477470323404402971341621473481703372077243098576142141592506902101879188566871413023089447732823302813159147364837198064627380997092672264394338324669094657486492973646292269485589831625521763721381796927023465648058106555522665749307262061183977632686354903626663142738166297048763448654095502874185154283241600489202633005428061700068379065912237773694986688141026468908160546187107929109860246369551368605806452556725371339916298101572061406019586018183942819832199873267489265845652229721054105965868799915648198431960626051359390120266942708165541804280950351892854440438867301071202591101646564016887995843442388265468169193343531817506139228306095067490723893972990398409067119553075331008264688855442707553327492358487564766503023284537920229145253875822068472499609494070360798157605647033597599617991614571387725547693170189385016611196789534524472879612599885963888331890984263221671036347275270623359511803242340540548775265819704778993228082777252017062073708691049842809786027613634552516376162120824087191043355044587412852880852853098545067253050038359723318348983156435722276993249925342509711770666584551352875298017662773581893177218586212463756497551770480985633252781827126725152719449993420836289398868877549948902485993617802524843944215731438584909096166342620715030103303746204494881619646816358416529632189704128838241389440701216113917808599812587559321995780347164049476202027582634137456572449010817671777013062211546799200793490581878437997439619871042789595626949478848041861931743556379794222285619467618869848205878903164736212884963179361294796217602939495886654357949644455108647434826022567792320101221948988840981155830917184845005035565105645816409511430083174222891224424446622501012831544230428851068736308339338684098375380741487687539746679172062411040474242373709384522090788038951610437520574575895083289740230032976333058916678320290246018386824429029258181883001764920551258457043598003063046063717121449494061835758159738599409800361969201605422270806516214381263716034469866941287601491941358176894648531760011906798766892474685868946279244017837760101764891680679852676972032315595593887379013121419551673135343382898745120760476671691043879817226184885836187611334179319834182643147368209090478099311122524829470845932847502297530583958108396183371382291662671827798188204205949267540876962324995695856116069617927651109909574036429478779631545673535852734522192760272846690782804492739026909923807 190040408813205374601257701462018618635529988620473522878849755303369272375637173101897912948378811276394527415669289857201442858393639000352634982789289554051094928998927070310933784575573986362286711426137079501756755041107827273555891471058531564746654529818822217271531468224956784929710312115128282028698296022135663661871328870307807615580488628994247815038656001617292607160683724766411575784553119215752141757385993916592358345592954637653025950156838049611805306493193644601157366094959745118674853614678356134294286913782717924573049917164858936132514958139701387508456831832964237465382522683540720710751765969188861229963883781635648790777335659241037452161402534131735953234683205322786226976754370177103516944972437458410786376301856163227940081720672639006660688417438140559543520526551821238350524659646402356147889911373538085194773500209018998893094754271744227437775570661629511565254522609018757982796549869197009143519510525412490146073860517781971444167832409499484667629837764937849365863926204605380446921437307160537785976619527304123651910872109272131726315286964097284485959183244530020029978425116951158006940158015024129884603681947622303916662205467325004802902337113206028987761897931398006561537079813961948174075750421839064009521340228031038436309863516414386269377054411859682312995233297336271424865982485895080515690258879451948489180473374733331838684772278452903294545904333796034779605379318766765559460015550789275204339192474223851144373196616017652901643256385338193756380494066631985139888283714363188509917682405111219694657553612967255751823196236175246853378540204088554879852143961661727803794521632337197820506398083986545180649720101420266209823027777109270842736411361586133658711609087043343856771308148359202473904663265729514769182420628533520437651376056311357691173972960558040309548155011118473882083965563846477897429999335337801354005336823994392609225772854370752400635968337422977307750639160229445287238800776349627492140864409331177467036683033604556821312270184373109356864888495839982048626684531397829481588055535928574620423501898138876451005111826683996070670431937491264534201402124414736992822470895772831024243566668578212701142745148894583173388940840434064279353974276204961515717542185166294003869105683361155610372674945537411069935313650819284307495316461623313964895795959050935473860010131134690716516112357417628736699845723762952688353285509167457621710791206130658958029360654757300046649011 307491840695691362848823178932342023038501330241947004582221832546467848517778765608800014827567378147807550505117022680504256017541003837550699610170286646723359323337251739405591271068547632654556197015968705023520476422904754297021539529165087087412403837080883401249164154579860411592853050281425330792146950117638537847025612111908296818213494057055947883417721913855066302147371865792880483945099306323681251617632363467960964152045511363024365866454939621673211326079211828543977198294833012607940699266908077188400252782582633572771481877790910295522635225082409553050261112783316130319822961550841791913342867615752878117959727224023914258946529002772854958300630840226803443958577178313184636043873923252434525209661292901118339703794214650792706584743957176926889833671313962628016020136045891599148682265293435953747507902988109472920321193379208383909705951061278751910655183261515475453586413593281979653832897144467632503031313767753030694849126337486750437395915186751501729703546455987692175649953818239932963297599427984624977019974571891536504791724962370676793568337002457007804308166400965742306971675042293667718710824599575482759901699610395885809839424053537468559399888883687014621014679758524731714256529807382784463474619299389012912007333845833563280254079247852971178473220754480397343098537043540766306485629302253497045322448583580786730569914075949445756493372091040462616541684680960084255807406901400903016032464561606946981352254685770650345166687197896090899082876256380983352007443545480027001820027270742982732203301872730089542863432516131991964708159415536541649596143143584441534210093606116836451229347654904990140607620032975386161805551018605111214858592882755087252247841444760356549936033533665844869602852378788053542640971605068198867557801370021207977398055228373768731648215334267424831638943050070084319604540139741561187170229368314134412922015144284638627612597283400010582518970102343528566207682758232508333302517897799121553976622569069776876837045002806162243583076700587490620580922965706923336228176472756006376236587295940481419190394372824745397284355844521756172435323618171117211173434440010330880201484017192382697378910051476957821903221820585627053206167025319900466965308455524795698360689553375384481968416805885985081218607793039708600519271759215467678877608124295141763084000165000203014736972456130386572632181975345279846609419760192431467984831182703310356232983966403505648812165147496326956572818 497532249508896737450080880394360641674031318862420527461071587849837120893415938710697927775946189424202077920786312537705698875934642837903334592959576200774454252336178809716525055644121619016842908442105784525277231464012581570577431000223618652159058366899705618520695622804817196522563362396553612820845246139774201508896940982216104433793982686050195698456377915472358909308055590559292059729652425539433393375018357384553322497638466000677391816611777671285016632572405473145134564389792757726615552881586433322694539696365351497344531794955769231655150183222110940558717944616280367785205484234382512624094633584941739347923611005659563049723864662013892410462033374358539397193260383635970863020628293429538042154633730359529126080096070814020646666464629815933550522088752103187559540662597712837499206924939838309895397814361647558115094693588227382802800705333022979348430753923144987018840936202300737636629447013664641646550824293165520840922986855268721881563747596250986397333384220925541541513880022845313410219036735145162762996594099195660156702597071642808519883623966554292290267349645495762336950100159244825725650982614599612644505381558018189726501629520862473362302225996893043608776577689922738275793609621344732637550369721228076921528674073864601716563942764267357447850275166340079656093770340877037731351611788148577561012707463032735219750387450682777595178144369493365911087589014756119035412786220167668575492480112396222185691447159994501489539883813913743800726132641719177108387937612112012141708310985106171242120984277841309237520986129099247716531355651711788502974683347672996414062237567778564255023869287242187961114018116961931342455271120025377424681620659864358094984252806346490208647642620709188726374160527147256016545634870797713636740221998554728415049431284685126422822188294825465141187098061188558201688505703588039084600228703651935766927351968279031236838370137770762983154938439766505873958321918461953620541318674148749046117486978400954343873728036410719064895346884960599977445811461546905384854861004153835857824642831869056039613896270963621848289467671205752243105755555662381745374836564425067873023954912965213721622476720055170523045966969480210226595107865753964746319282731729757214078231738541678485837522489247140691591282738577119670454585410034751986372924585918455727979796124051138488596982587265077289148294332762908583309265483955384156338116691870767977943775172534164606841525802253627003221829 805024090204588100298904059326702664712532649104367532043293420396304969411194704319497942603513567572009628425903335218209954893475646675454034203129862847497813575673430549122116326712669251671399105458074489548797707886917335867598970529388705739571462203980589019769859777384677608115416412677978943612992196257412739355922553094124401252007476743106143581874099829327425211455427456352172543674751731863114644992650720852514286649683977363701757683066717292958227958651617301689111762684625770334556252148494510511094792478947985070116013672746679527177785408304520493608979057399596498105028445785224304537437501200694617465883338229683477308670393664786747368762664214585342841151837561949155499064502216681972567364295023260647465783890285464813353251208586992860440355760066065815575560798643604436647889190233274263642905717349757031035415886967435766712506656394301731259085937184660462472427349795582717290462344158132274149582138060918551535772113192755472318959662783002488127036930676913233717163833841085246373516636163129787740016568671087196661494322034013485313451960969011300094575516046461504643921775201538493444361807214175095404407081168414075536341053574399941921702114880580058229791257448447469990050139428727517101024989020617089833536007919698164996818022012120328626323495920820476999192307384417804037837241090402074606335156046613521950320301526632223351671516460533828527629273695716203291220193121568571591524944674003169167043701845765151834706571011809834699809008898100160460395381157592039143528338255849153974324286150571398780384418645231239681239515067248330152570826491257437948272331173895400706253216942147178101721638149937317504260822138630488639540213542619445347232094251106846758583676154375033595977012905935309559186606475865912504298023368575936392447486513058895154470403629092889972826041111258642521293045843329600271770458071966070179849367112563669864450967421170773565673908542110034440166004676694461953843836571947870600094109547470731220710773039216881308478423585548090598026734427253828721083037476909842234061230127809537458804290643788367245573823515727508415541079173833498956548271004435398753225438930157596419001386771532128344949188790065837279801274891073865213284591187254552912438921291917062967805939295133125772809890531616828270973857169250219665250532710213597491063796289051341503333955043395463861780476308108188429918685244147815624322947874574078334176759138937670255653690949749953959794647 1302556339713484837748984939721063306386563967966788059504365008246142090304610643030195870379459756996211706346689647755915653769410289513357368796089439048272267828009609358838641382356790870688242013900180274074074939350929917438176401529612324391730520570880294638290555400189494804637979775074532556433837442397186940864819494076340505685801459429156339280330477744799784120763483046911464603404404157402548038367669078237067609147322443364379149499678494964243244591224022774834246327074418528061171805030080943833789332175313336567460545467702448758832935591526631434167697002015876865890233930019606817161532134785636356813806949235343040358394258326800639779224697588943882238345097945585126362085130510111510609518928753620176591863986356278833999917673216808793990877848818169003135101461241317274147096115173112573538303531711404589150510580555663149515307361727324710607516691107805449491268285997883454927091791171796915796132962354084072376695100048024194200523410379253474524370314897838775258677713863930559783735672898274950503013162770282856818196919105656293833335584935565592384842865691957266980871875360783319170012789828774708048912462726432265262842683095262415284004340877473101838567835138370208265843749050072249738575358741845166755064681993562766713381964776387686074173771087160556655286077725294841769188852878550652167347863509646257170070688977315000946849660830027194438716862710472322326632979341736240167017424786399391352735149005759653324246454825723578500535141539819337568783318769704051285236649240955325216445270428412708017905404774330487397770870718960118655545509838930434362334568741673964961277086229389366062835656266899248846716093258655866064221834202483803442216347057453336967231318775084222322351173433082565575732241346663626141038245367130664807496917797744021577292591923918355114013139172447200722981551546917639356370686775618005946776719080842701101289337558941536548828846981876540314124326595156415574385155246096619646211596525871685564584501075627600373373770470508690575472545888800734105937898481063678091885872959678593498418186914751989093863291186933260658646834729495880701923107568860466626249393843122810140623863491587298867995155759546047506396382756827829959603873918984310126517153030458741453643461784380266464401173270193947941428442579284971651623457296132053219043592413102479991930937630660541150928770640871097013227950728103199780661064566444846312120534311471834862495216752003580963016476 2107580429918072938047888999047765971099096617071155591547658428642447059715805347349693812982973324568221334772592982974125608662885936188811402999219301895770081403683039907960757709069460122359641119358254763622872647237847253305775372059001030131301982774860883658060415177574172412753396187752511500046829638654599680220742047170464906937808936172262482862204577574127209332218910503263637147079155889265662683360319799089581895797006420728080907182745212257201472549875640076523358089759044298395728057178575454344884124654261321637576559140449128286010720999831151927776676059415473363995262375804831121698969635986330974279690287465026517667064651991587387147987361803529225079496935507534281861149632726793483176883223776880824057647876641743647353168881803801654431233608884234818710662259884921710794985305406386837181209249061161620185926467523098916227814018121626441866602628292465911963695635793466172217554135329929189945715100415002623912467213240779666519483073162255962651407245574752008975841547705015806157252309061404738243029731441370053479691241139669779146787545904576892479418381738418771624793650562321812614374597042949803453319543894846340799183736669662357205706455758053160068359092586817678255893888478799766839600347762462256588600689913260931710199986788508014700497267007981033654478385109712645807026093968952726773683019556259779120390990503947224298521177290561022966346136406188525617853172463304811758542369460402560519778850851524805158953025837533413200344150437919498029178699927296090428764987496804479190769556578984106798289823419561727079010385786208448808116336330187872310606899915569365667530303171536544164557294416836566350976915397286354703762047745103248789448441308560183725814994929459255918328186339017875134918847822529538645336268735706601199944404310802916731762995553011245086839180283705843244274597390247239628141144847584076126626086193406370965740304980112310114502755523986574754290331271850877528228991818044490246305706073342416785295274114844481681852194056056781173499280316054562827020935957973520325947103087488130957222477558540356339437114702660769074187913903329379658471378573295865379474832773280406559625250263119427212944344549611884786197657647901695172888465106238863038956074322375804421449401079513392237211063801810776212402299748535191316873990006345650710107388702153821495264892674056005012709246948979285443146635972251015404984012441018924646297293450409505118148907701753534922811123 3410136769631557775796873938768829277485660585037943651052023436888589150020415990379889683362433081564433041119282630730041262432296225702168771795308740944042349231692649266799399091426250993047883133258435037696947586588777170743951773588613354523032503345741178296350970577763667217391375962827044056480667081051786621085561541246805412623610395601418822142535055318926993452982393550175101750483560046668210721727988877326649504944328864092460056682423707221444717141099662851357604416833462826456899862208656398178673456829574658205037104608151577044843656591357783361944373061431350229885496305824437938860501770771967331093497236700369558025458910318388026927212059392473107317842033453119408223234763236904993786402152530501000649511862998022481353086555020610448422111457702403821845763721126238984942081420579499410719512780772566209336437048078762065743121379848951152474119319400271361454963921791349627144645926501726105741848062769086696289162313288803860720006483541509437175777560472590784234519261568946365940987981959679688746042894211652910297888160245326072980123130840142484864261247430376038605665525923105131784387386871724511502232006621278606062026419764924772489710796635526261906926927725187886521737637528872016578175706504307423343665371906823698423581951564895700774671038095141590309764462835007487576214946847503378941030883065906036290461679481262225245370838120588217405062999116660847944486151805041051925559794246801951872513999857284458483199480663256991700879291977738835597962018697000141714001636737759804407214827007396814816195228193892214476781256505168567463661846169118306672941468657243330628807389400925910227392950683735815197693008655942220767983881947587052231664788366013520693046313704543478240679359772100440710651089169193164786374514102837266007441322108546938309055587476929600200852319456153043967256148937164878984511831623202082073402805274249072067029642539053846663331602505863115068414657867007293102614147064141109892517302599214102349879775190472082055225964526565471748971826204855296932958834439037198417832976047166724455640664473292345433300405889594029732834748632825260360394486142156332005724226616403216700249113754706726080939500309157932292594040404729525132492339025223173165473227352834545875092862863893658701612237072004724153830742327820162968497447302477703929150981115256301487195830304716546163638017589850382456374586700354215185645077007463770958417827761881339980644124453757115885827599 5517717199549630713844762937816595248584757202109099242599681865531036209736221337729583496345406406132654375891875613704166871095182161890980174794528042839812430635375689174760156800495711115407524252616689801319820233826624424049727145647614384654334486120602061954411385755337839630144772150579555556527496719706386301306303588417270319561419331773681305004739632893054202785201304053438738897562715935933873405088308676416231400741335284820540963865168919478646189690975302927880962506592507124852627919387231852523557581483835979842613663748600705330854377591188935289721049120846823593880758681629269060559471406758298305373187524165396075692523562309975414075199421196002332397338968960653690084384395963698476963285376307381824707159739639766128706255436824412102853345066586638640556425981011160695737066725985886247900722029833727829522363515601860981970935397970577594340721947692737273418659557584815799362200061831655295687563163184089320201629526529583527239489556703765399827184806047342793210360809273962172098240291021084426989072625653022963777579401384995852126910676744719377343679629168794810230459176485426944398761983914674314955551550516124946861210156434587129695417252393579421975286020312005564777631526007671783417776054266769679932266061820084630133781938353403715475168305103122623964242847944720133383241040816456105714713902622165815410852669985209449543892015411149240371409135522849373562339324268345863684102163707204512392292850708809263642152506500790404901223442415658333627140718624296232142766624234564283597984383586380921614485051613453941555791642291377016271778182499306178983548368572812696296337692572462454391950245100572381548669924053228575471745929692690301021113229674573704418861308634002734159007546111118315845569936991722703431710782838543867207385726419349855040818583029940845287691499739858887211530746327412118612652976470786158200028891467655443032769947519166156777834358029849689822704989138858170630843138882185600138823008672556519135175049305316563737078158582622252922471106520909859759979770397010718743780079134654855412863142031832701772737520592254798807022662536154640018865864715452197385199059389683623259874364017826153293883844858769817078791698052631220305380804131462036204429301675210350296542263943407050938823300873815500366233042076355354285371437308823354639258369817410122982460722978772551176347264538829667899521222672605230590629089448482695604715121212290845098793032155510650808638722 8927853969181188489641636876585424526070417787147042893651705302419625359756637328109473179707839487697087417011158244434208133527478387593148946589836783783854779867068338441559555891921962108455407385875124839016767820415401594793678919236227739177366989466343240250762356333101506847536148113406599613008163800758172922391865129664075732185029727375100127147274688211981196238183697603613840648046275982602084126816297553742880905685664148913001020547592626700090906832074965779238566923425969951309527781595888250702231038313410638047650768356752282375698034182546718651665422182278173823766254987453706999419973177530265636466684760865765633717982472628363441002411480588475439715181002413773098307619159200603470749687528837882825356671602637788610059341991845022551275456524289042462402189702137399680679148146565385658620234810606294038858800563680623047714056777819528746814841267093008634873623479376165426506845988333381401429411225953176016490791839818387387959496040245274837002962366519933577444880070842908538039228272980764115735115519864675874075467561630321925107033807584861862207940876599170848836124702408532076183149370786398826457783557137403552923236576199511902185128049029105683882212948037193451299369163536543799995951760771077103275931433726908328557363889918299416249839343198264214274007310779727620959455987663959484655744785688071851701314349466471674789262853531737457776472134639510221506825476073386915609661957954006464264806850566093722125351987164047396602102734393397169225102737321296373856768260972324088005199210593777736430680279807346156032572898796545583735440028668424485656489837230056026925145081973388364619343195784308196746362932709170796239729811640277353252778018040587225111907622338546212399686905883218756556221026160915868218085296941381133214827048527896793349874170506870445488543819196011931178786895264576997597164808093988240273431696741904515099799590058220003441165960535712804891119647005865463733457285946326710031340311271770621485054824495788645792304123109187724671442932725765156692938604836047917161613055181821579868503806505125047206037926481848828539857411168979900379260350857608529390923286006086839960123477772532879374823345167927749371385738457360745437873143156685209369902529028044896171635126807300709640435537945820224520063784404175517253868884611301058568409350932666424469656553283489097339985282128680050355895809372959445776274166455946466563132948974172185079437156609267766694466321 14445571168730819203486399814402019774655174989256142136251387167950661569492858665839056676053245893829741792903033858138375004622660549484129121384364826623667210502444027616319712692417673223862931638491814640336588054242026018843406064883842123831701475586945302205173742088439346477680920263986155169535660520464559223698168718081346051746449059148781432152014321105035399023385001657052579545608991918535957531904606230159112306426999433733541984412761546178737096523050268707119529430018477076162155700983120103225788619797246617890264432105352987706552411773735653941386471303124997417647013669082976059979444584288563941839872285031161709410506034938338855077610901784477772112519971374426788392003555164301947712972905145264650063831342277554738765597428669434654128801590875681102958615683148560376416214872551271906520956840440021868381164079282484029684992175790106341155563214785745908292283036960981225869046050165036697116974389137265336692421366347970915198985596949040236830147172567276370655240880116870710137468564001848542724188145517698837853046963015317777233944484329581239551620505767965659066583878893959020581911354701073141413335107653528499784446732634099031880545301422685105857498968349199016077000689544215583413727815037846783208197495546992958691145828271703131725007648301386838238250158724447754342697028480415590370458688310237667112167019451681124333154868942886698147881270162359595069164800341732779293764121661210976657099701274902985767504493664837801503326176809055502852243455945592605999534885206888371603183594180158658045165331420800097588364541087922600007218211167730664640038205802868723221482774545850819011293440884880578295032856762399371711475741332967654273891247715160929530768930972548946558694451994337072401790963152638571649796079779925000422212774947246648390692753536811290776235318935870818390317641591989116209817784564774398473460588209559958132569537577386160219000318565562494713824636144723634364300424828512310170163319944327140620229873801105209529382281691809977593914039246675016452918375233058635905393134316476435281366948536957748978775447074103627346880073705134540398126215573060726776122345395770463219997841790359032668707190026697566450177436509991965743253947288147245574331830703255246468177390750707760579258838819635724886296826480530871539240321920124413207667720750076547452117276262261648516332546667509718255417032045564676366903255904429162167848070186463030178230188764778417503105043 23373425137912007693128036690987444300725592776403185029903092470370286929249495993948529855761085381526829209914192102572583138150138937077278067974201610407521990369512366057879268584339635332318339024366939479353355874657427613637084984120069863009068465053288542455936098421540853325217068377392754782543824321222732146090033847745421783931478786523881559299289009317016595261568699260666420193655267901138041658720903783901993212112663582646543004960354172878828003355125234486358096353444447027471683482579008353928019658110657255937915200462105270082250445956282372593051893485403171241413268656536683059399417761818829578306557045896927343128488507566702296080022382372953211827700973788199886699622714364905418462660433983147475420502944915343348824939420514457205404258115164723565360805385285960057095363019116657565141191651046315907239964642963107077399048953609635087970404481878754543165906516337146652375892038498418098546385615090441353183213206166358303158481637194315073833109539087209948100120950959779248176696836982612658459303665382374711928514524645639702340978291914443101759561382367136507902708581302491096765060725487471967871118664790932052707683308833610934065673350451790789739711916386392467376369853080759383409679575808923886484128929273901287248509718190002547974846991499651052512257469504175375302153016144375075026203473998309518813481368918152799122417722474624155924353404801869816575990276415119694903426079615217440921906551840996707892856480828885198105428911202452672077346193266888979856303146179212459608382804773936394475845611228146253620937439884468183742658239836155150296528043032924750146627856519239183630636636669188775041395789471570167951205552973245007526669265755748154642676553311095158958381357877555828958011989313554439867881376721306133637039823475143441740566924043681736264779138131882749569104536856566113806982592658762638746892284951464473232369127635606163660166279101275299604944283150589098097757710774839020201503631216097762105284698296893855321686404800997702265356971972440173145856980069106553067006189498298015149870755042082796184813373555952455886737484874114440777386566430669256167045631401857303180121319562891912043530535194625315821563174967352711181127090444832454944234359731300142639812517558008470219694376765455949406360610884706388793109206531425471776077071682742971921773829545750745856317828796189768611312841418524122143177422360375628730981019160635215257667345374046184197571364 37818996306642826896614436505389464075380767765659327166154479638320948498742354659787586531814331275356571002817225960710958142772799486561407189358566437031189200871956393674198981276757308556181270662858754119689943928899453632480491049003911986840769940640233844661109840509980199802897988641378909952079484841687291369788202565826767835677927845672662991451303330422051994284953700917718999739264259819673999190625510014061105518539663016380084989373115719057565099878175503193477625783462924103633839183562128457153808277907903873828179632567458257788802857730018026534438364788528168659060282325619659119378862346107393520146429330928089052538994542505041151157633284157430983940220945162626675091626269529207366175633339128412125484334287192898087590536849183891859533059706040404668319421068434520433511577891667929471662148491486337775621128722245591107084041129399741429125967696664500451458189553298127878244938088663454795663360004227706689875634572514329218357467234143355310663256711654486318755361831076649958314165400984461201183491810900073549781561487660957479574922776244024341311181888135102166969292460196450117346972080188545109284453772444460552492130041467709965946218651874475895597210884735591483453370542624974966823407390846770669692326424820894245939655546461705679699854639801037890750507628228623129644850044624790665396662162308547185925648388369833923455572591417510854072234674964229411645155076756852474197190201276428417579006253115899693660360974493722999608755088011508174929589649212481585855838031386100831211566398954095052521010942648946351209301980972390783749876451003885814936566248835793473368110631065090002641930077554069353336428646233969539662681294306212661800560513470909084173445484283644105517075809871892901359802952466193011517677456501231134059252598422390090131259677580493027041014457067753567959422178448555230016800377223537037220352873161024431364938665212992323879166597666837794318768919295312732462058135603351330371666951160424902725514572097999064851068686492807679859271011219115189598775355302165188972399323814774450431237703579040545163588820630056083233617558579248981175512782003729982943167976797627766400119161353250944712237725221322882271740611477344676924381037732979700518566190434555389107989908308716230798953215585091674292657437365237260332349528451549884983744792432819519373891105808012394372650375463699486866729873464088798510080678264804790898829089347098245435897534138824601700676407 61192421444554834589742473196376908376106360542062512196057572108691235427991850653736116387575416656883400212731418063283541280922938423638685257332768047438711191241468759732078249861096943888499609687225693599043299803556881246117576033123981849849838405693522387117045938931521053128115057018771664734623309162910023515878236413572189619609406632196544550750592339739068589546522400178385419932919527720812040849346413797963098730652326599026627994333469891936393103233300737679835722136907371131105522666141136811081827936018561129766094833029563527871053303686300399127490258273931339900473550982156342178778280107926223098452986376825016395667483050071743447237655666530384195767921918950826561791248983894112784638293773111559600904837232108241436415476269698349064937317821205128233680226453720480490606940910784587036803340142532653682861093365208698184483090083009376517096372178543254994624096069635274530620830127161872894209745619318148043058847778680687521515948871337670384496366250741696266855482782036429206490862237967073859642795476282448261710076012306597181915901068158467443070743270502238674872001041498941214112032805676017077155572437235392605199813350301320900011892002326266685336922801121983950829740395705734350233086966655694556176455354094795533188165264651708227674701631300688943262765097732798504947003060769165740422865636306856704739129757287986722577990313892135009996588079766099228221145353171972169100616280891645858500912804956896401553217455322608197714183999213960847006935842479370565712141177565313290819949203728031446996856553877092604830239420856858967492534690840040965233094291868718223514738487584329186272566714223258128377824435705539707613886847279457669327229779226657238816122037594739264475457167749448730317814941779747451385558833222537267696292421897533531871826601624174763305793595199636317528526715305121343823782969882299675967245158112488904597307792848598487539332876768113093923713202445901830559815846378190350573170582376522664830799270394892920172755091293805382124627983191555362744632335371271742039405513313072465581108458621123341348402194186008539120355043453363421952899348434399239110213608199485069580240480916142856755768260415948198093303786444697388105508128177812155462800550165855531747802425866724701018647592350547623699018048249943649125458734982975356759821864115562491295664935353763140228968204259889255478042714882612920653258100625180419629810108507733460693564879512870785898247771 99011417751197661486356909701766372451487128307721839362212051747012183926734205313523702919389747932239971215548644023994499423695737910200092446691334484469900392113425153406277231137854252444680880350084447718733243732456334878598067082127893836690608346333756231778155779441501252931013045660150574686702794004597314885666438979398957455287334477869207542201895670161120583831476101096104419672183787540486040039971923812024204249191989615406712983706585610993958203111476240873313347920370295234739361849703265268235636213926465003594274465597021785659856161416318425661928623062459508559533833307776001298157142454033616618599415707753105448206477592576784598395288950687815179708142864113453236882875253423320150813927112239971726389171519301139524006013118882240924470377527245532901999647522155000924118518802452516508465488634018991458482222087454289291567131212409117946222339875207755446082285622933402408865768215825327689873105623545854732934482351195016739873416105481025695159622962396182585610844613113079164805027638951535060826287287182521811491637499967554661490823844402491784381925158637340841841293501695391331459004885864562186440026209679853157691943391769030865958110654200742580934133685857575434283110938330709317056494357502465225868781778915689779127820811113413907374556271101726834013272725961421634591853105393956405819527798615403890664778145657820646033562905309645864068822754730328639866300429928824643297806482168074276079919058072796095213578429816331197322939087225469021936525491691852151567979208951414122031515602682126499517867496526038956039541401829249751242411141843926780169660540704511696882849118649419188914496791777327481714253081939509247276568141585670331127790292697566322989567521878383369992532977621341631677617894245940462903236289723768401755545020319923622003086279204667790346808052267389885487948893753676573840583347105836713187598031273513335962246458061590811418499474434950888242482121741214563021873981981541680944837533536947567556313842492891985023823777786613061983898994410670552343407690673436931011804837127846916012346162200163886511991014816064622353972602032612403128412130438129222053381584997112835980359642269393801468005985637271080365044397922042065029889165910791855981366740600410920855792334175440931817600807935639297991675485615180909457808263434525241743566656548382010669556041161775534601618579723588742344772588346701719163338778889985210528639197854831706129462413651695387598924178 160203839195752496076099382898143280827593488849784351558269623855703419354726055967259819306965164589123371428280062087278040704618676333838777704024102531908611583354893913138355480998951196333180490037310141317776543536013216124715643115251875686540446752027278618895201718373022306059128102678922239421326103167507338401544675392971147074896741110065752092952488009900189173377998501274489839605103315261298080889318337609987302979844316214433340978040055502930351306344776978553149070057277666365844884515844402079317464149945026133360369298626585313530909465102618824789418881336390848460007384289932343476935422561959839717052402084578121843873960642648528045632944617218199375476064783064279798674124237317432935452220885351531327294008751409380960421489388580589989407695348450661135679873975875481414725459713237103545268828776551645141343315452662987476050221295418494463318712053751010440706381692568676939486598342987200584082851242864002775993330129875704261389364976818696079655989213137878852466327395149508371295889876918608920469082763464970073201713512274151843406724912560959227452668429139579516713294543194332545571037691540579263595598646915245762891756742070351765970002656527009266271056486979559385112851334036443667289581324158159782045237133010485312315986075765122135049257902402415777276037823694220139538856166163122146242393434922260595403907902945807368611553219201780874065410834496427868087445783100796812398422763059720134580831863029692496766795885138939395037123086439429868943461334171222717280120386516727412851464806410157946514724050403131560869780822686108718734945832683967745402754832573229920397587606233748375187063506000585610092077517645048954890454988865128000455020071924223561805689559473122634467990145370790361995432836025687914288795122946305669451837442217457153874912880828842553652601647467026203016475609058797917664366316988136389154843189386002240559554250910189298957832351203063982166195324187116393581689828359732031518008115913470232387113112887784905196578869080418444108526977602225915088040026044708673051210350440919381593454620821287227860393209002073161474327645485975825081311478872528461163595193196597905560600123185536658223774246053219278458348184366739453135397294088604011444167290766266452603594760042165632836248400286186921690693533865124558583266998417500598503388520663944501965220976515538674830586783983477997822815303229314639816596879515165630158449306362565166823027293164566173497171949 259215256946950157562456292599909653279080617157506190920481675602715603281460261280783522226354912521363342643828706111272540128314414244038870150715437016378511975468319066544632712136805448777861370387394589036509787268469551003313710197379769523231055098361034850673357497814523558990141148339072814108028897172104653287211114372370104530184075587934959635154383680061309757209474602370594259277287102801784120929290261422011507229036305829840053961746641113924309509456253219426462417977647961600584246365547667347553100363871491136954643764223607099190765626518937250451347504398850357019541217597708344775092565015993456335651817792331227292080438235225312644028233567906014555184207647177733035556999490740753086266147997591503053683180270710520484427502507462830913878072875696194037679521498030482338843978515689620053734317410570636599825537540117276767617352507827612409541051928958765886788667315502079348352366558812528273955956866409857508927812481070721001262781082299721774815612175534061438077172008262587536100917515870143981295370050647491884693351012241706504897548756963451011834593587776920358554588044889723877030042577405141450035624856595098920583700133839382631928113310727751847205190172837134819395962272367152984346075681660625007914018911926175091443806886878536042423814173504142611289310549655641774130709271557078552061921233537664486068686048603628014645116124511426738134233589226756507953746213029621455696229245227794410660750921102488591980374314955270592360062173664898890879986825863074868848099595468141534882980409092284446032591546929170516909322224515358469977356974527894525572415373277741617280436724883167564101560297777913091806330599584558202167023130450798331582810364621789884795257081351506004460523122992131993673050730271628377192031412670074071207382462537380775877999160033510343999409699734416088504424502812474491504949664093973102342441220659515576521800708971780110376331825638014870408677445928330956603563810341273712462845649450417799943426955380676890220402646867031506092425972012896467431447716718145604063015187568766297605800783021451114372384223818137783828300247518588228209723609310657683216976778193710741540959765454930459691780231690490358823392582288781518165286459999395867425534031366677373459387094217606564653849208221826219682369019480305468041075261852025840246955177212326512634777017677314209432205363707066740167587891576016358979935658405150840687088504217396872952489706816261561096096127 419419096142702653638555675498052934106674106007290542478751299458419022636186317248043341533320077110486714072108768198550580832933090577877647854739539548287123558823212979682988193135756645111041860424704730354286330804482767128029353312631645209771501850388313469568559216187545865049269251017995053529355000339611991688755789765341251605080816698000711728106871689961498930587473103645084098882390418063082201818608599031998810208880622044273394939786696616854660815801030197979611488034925627966429130881392069426870564513816517270315013062850192412721675091621556075240766385735241205479548601887640688252027987577953296052704219876909349135954398877873840689661178185124213930660272430242012834231123728058186021718368882943034380977189022119901444848991896043420903285768224146855173359395473905963753569438228926723599003146187122281741168852992780264243667573803246106872859763982709776327495049008070756287838964901799728858038808109273860284921142610946425262652146059118417854471601388671940290543499403412095907396807392788752901764452814112461957895064524515858348304273669524410239287262016916499875267882588084056422601080268945720713631223503510344683475456875909734397898115967254761113476246659816694204508813606403596651635657005818784789959256044936660403759792962643658177473072075906558388565348373349861913669565437720200698304314668459925081472593951549435383256669343713207612199644423723184376041191996130418268094652008287514545241582784132181088747170200094209987397185260104328759823448160034297586128219981984868947734445215502442392547315597332302077779103047201467188712302807211862270975170205850971537678024331116915939288623803778498701898408117229607157057478119315926332037830436546013446600946640824628638928513268362922355668483566297316291480826535616379740659219904754837929752912040862352897652011347201442291520900111871272409169315981082109491497284410045517817081354959881969409334164176841078852574872770115447350185253638701005743980853765363888032330540068268461795416981515947449950200952949615122382519487742762854277114225538009685679199255403842738342232777432820210945302627893004564053291035088183186144380571971390308647101559888640467117915554477743709637281740766655520971300683754087999878869701322132943826062981854259772197490097608508013141373062553345430026624342260269526438750343697876271014599997994192852884262792147690544737990403194805330998796532537920316470845537810579962039775516999980827734593268076 678634353089652811201011968097962587385754723164796733399232975061134625917646578528826863759674989631850056715937474309823120961247504821916518005454976564665635534291532046227620905272562093888903230812099319390796118072952318131343063510011414733002556948749348320241916714002069424039410399357067867637383897511716644975966904137711356135264892285935671363261255370022808687796947706015678358159677520864866322747898860454010317437916927874113448901533337730778970325257283417406073906012573589567013377246939736774423664877688008407269656827073799511912440718140493325692113890134091562499089819485349033027120552593946752388356037669240576428034837113099153333689411753030228485844480077419745869788123218798939107984516880534537434660369292830421929276494403506251817163841099843049211038916971936446092413416744616343652737463597692918340994390532897541011284926311073719282400815911668542214283716323572835636191331460612257131994764975683717793848955092017146263914927141418139629287213564206001728620671411674683443497724908658896883059822864759953842588415536757564853201822426487861251121855604693420233822470632973780299631122846350862163666848360105443604059157009749117029826229277982512960681436832653829023904775878770749635981732687479409797873274956862835495203599849522194219896886249410700999854658923005503687800274709277279250366235901997589567541280000153063397901785468224634350333878012949940883994938209160039723790881253515308955902333705234669680727544515049480579757247433769227650703434985897372454976319577453010482617425624594726838579907144261472594688425271716825658689659781739756796547585579128713154958461056000083503390184101556411793704738716814165359224501249766724663620640801167803331396203722176134643389036391355054349341534296568944668672857948286453811866602367292218705630911200895863241651421046935858380025324614683746900674265645176082593839725630705033393603155668853749519710496002479093722983550216043778306788817449042279456443699414814305832273967023649138685637384162814481456293378921628018849950935459480999881177240725578451976805056186864189456605161656638348729130928140523152281500758697493843827597548749584019388642519654095397577607334709434199996105133348944302489465970214087395746295235353499621199522368948477378762143946816729839361055431572825735494665417522121552278997298875088597527234775011870167093694997511397611478157991086381347357776468196325467311532626314797358912728006706797089295689364203 1098053449232355464839567643596015521492428829172087275877984274519553648553832895776870205292995066742336770788046242508373701794180595399794165860194516112952759093114745025910609098408318738999945091236804049745082448877435085259372416822643059942774058799137661789810475930189615289088679650375062921166738897851328636664722693903052607740345708983936383091368127059984307618384420809660762457042067938927948524566507459486009127646797549918386843841320034347633631141058313615385685394047499217533442508128331806201294229391504525677584669889923991924634115809762049400932880275869332767978638421372989721279148540171900048441060257546149925563989235990972994023350589938154442416504752507661758704019246946857125129702885763477571815637558314950323374125486299549672720449609323989904384398312445842409845982854973543067251740609784815200082163243525677805254952500114319826155260579894378318541778765331643591924030296362411985990033573084957578078770097702963571526567073200536557483758814952877942019164170815086779350894532301447649784824275678872415800483480061273423201506096096012271490409117621609920109090353221057836722232203115296582877298071863615788287534613885658851427724345245237274074157683492470523228413589485174346287617389693298194587832531001799495898963392812165852397369958325317259388420007296355365601469840146997479948670550570457514649013873951702498781158454811937841962533522436673125260036130205290457991885533261802823501143916489366850769474714715143690567154432693873556410526883145931670041104539559437879430351870840097169231127222741593774672467528318918292847401962588951619067522755784979684692636485387116999442678807905334910495603146834043772516281979369082650995658471237713816777997150363000763282317549659717976705010017862866260960153684483902833552525822272047056635383823241758216139303432394137300671546224726555019309843581626258192085337010040750551210684510628735718929044660179320172575558422986159225656974071087743285200424553180178193864604507091917600481054365678761931406494331871243141232470423202243854158291466263588137656004311590706927798837939089458559674433556033527716334791793785677029971978120720974328035744079542735864695522889187177909633386874115599823460766653968175395625164936675632565025585350802737150959634044425237852502428494126171165521289759782391078717747642572964868541834773006063019977957789659088156216148394281186678356573000734245783782378164125377320952503523706777917030282632279 1776687802322008276040579611693978108878183552336884009277217249580688274471479474305697069052670056374186827503983716818196822755428100221710683865649492677618394627406277072138230003680880832888848322048903369135878566950387403390715480332654474675776615747887010110052392644191684713128090049732130788804122795363045281640689598040763963875610601269872054454629382430007116306181368515676440815201745459792814847314406319940019445084714477792500292742853372078412601466315597032791759300060072807100455885375271542975717894269192534084854326716997791436546556527902542726624994166003424330477728240858338754306269092765846800829416295215390501992024073104072147357040001691184670902349232585081504573807370165656064237687402644012109250297927607780745303401980703055924537613450423832953595437229417778855938396271718159410904478073382508118423157634058575346266237426425393545437661395806046860756062481655216427560221627823024243122028338060641295872619052794980717790482000341954697113046028517083943747784842226761462794392257210106546667884098543632369643071895598030988054707918522500132741530973226303340342912823854031617021863325961647445040964920223721231891593770895407968457550574523219787034839120325124352252318365363945095923599122380777604385705805958662331394166992661688046617266844574727960388274666219360869289270114856274759199036786472455104216555153951855562179060240280162476312867400449623066144031068414450497715676414515318132457046250194601520450202259230193171146911680127642784061230318131829042496080859136890889912969296464691896069707129885855247267155953590635118506091622370691375864070341364108397847594946443117082946068992006891322289307885550857937875506480618849375659279112038881620109393354085176897925706586051073031054351552159435205628826542432189287364392424639339275341014734442654079380954853441073159051571549341238766210517847271434274679176735671455584604287666297589468448755156181799266298541973202203003963762888536785564656868252594992499696878474115566739166691749841576412862787710792871160082421358661724854039468706989166589632809367777571117255443100746096908403564484174050868616292552483170873799575669470558347424386599196831262273130223896612109629492007464544125950232624182262791371460172029132186225107719751214529721777991241967691863483925698996901015955177304512630996744941448053466069069548017933187071652787170485767694306385367568025714349468930571251093910790440174679865231530413575006325971996482 2874741251554363740880147255289993630370612381508971285155201524100241923025312370082567274345665123116523598292029959326570524549608695621504849725844008790571153720521022098048839102089199571888793413285707418880961015827822488650087897155297534618550674547024671899862868574381300002216769700107193709970861693214373918305412291943816571615956310253808437545997509489991423924565789325337203272243813398720763371880913779426028572731512027710887136584173406426046232607373910648177444694107572024633898393503603349177012123660697059762438996606921783361180672337664592127557874441872757098456366662231328475585417632937746849270476552761540427556013309095045141380390591629339113318853985092743263277826617112513189367390288407489681065935485922731068677527467002605597258063059747822857979835541863621265784379126691702478156218683167323318505320877584253151521189926539713371592921975700425179297841246986860019484251924185436229112061911145598873951389150497944289317049073542491254596804843469961885766949013041848242145286789511554196452708374222504785443555375659304411256214014618512404231940090847913260452003177075089453744095529076944027918262992087337020179128384781066819885274919768457061108996803817594875480731954849119442211216512074075798973538336960461827293130385473853899014636802900045219776694673515716234890739955003272239147707337042912618865569027903558060960218695092100318275400922886296191404067198619740955707561947777120955958190166683968371219676973945336861714066112821516340471757201277760712537185398696328769343321167304789065300834352627449021939623481909553411353493584959642994931593097149088082540231431830234082388747799912226232784911032384901710391788459987932026654937583276595436887390504448177661208024135710791007759361570022301466588980226916092120916918246911386331976398557684412295520258285835210459723117774067793785520361428897692466764513745712206135814972176926325187377799816361119438874100396188362229620736959624528849857292805775170693561482981207484339647746115520338344269282042664114301314891781863968708197760173252754727288813679368278045054281039835555468077998040207578584951084346268847903771553790191532675460130678739567126968653113083790019262878881580143949410999278150438186996625108704764751250693070553951680681412035667205544365912419825168066537244937086903709714492584021018334610904321023996207049610576829573923910454779648754704070922469664817034876288954565552000817735054120352923356254628761 4651429053876372016920726866983971739248795933845855294432418773680930197496791844388264343398335179490710425796013676144767347305036795843215533591493501468189548347927299170187069105770080404777641735334610788016839582778209892040803377487952009294327290294911682009915261218572984715344859749839324498774984488577419199946101889984580535491566911523680492000626891919998540230747157841013644087445558858513578219195320099366048017816226505503387429327026778504458834073689507680969203994167644831734354278878874892152730017929889593847293323323919574797727228865567134854182868607876181428934094903089667229891686725703593650099892847976930929548037382199117288737430593320523784221203217677824767851633987278169253605077691051501790316233413530511813980929447705661521795676510171655811575272771281400121722775398409861889060696756549831436928478511642828497787427352965106917030583371506472040053903728642076447044473552008460472234090249206240169824008203292925007107531073884445951709850871987045829514733855268609704939679046721660743120592472766137155086627271257335399310921933141012536973471064074216600794916000929121070765958855038591472959227912311058252070722155676474788342825494291676848143835924142719227733050320213064538134815634454853403359244142919124158687297378135541945631903647474773180164969339735077104180010069859546998346744123515367723082124181855413623139278935372262794588268323335919257548098267034191453423238362292439088415236416878569891669879233175530032860977792949159124532987519409589755033266257833219659256290463769480961370541482513304269206779435500188529859585207330334370795663438513196480387826378273351165334816791919117555074218917935759648267294940606781402314216695315477056996783858533354559133730721761864038813713122181736672217806769348281408281310671550725607317413292127066374901213139276283618774689323409032551730879276169126741443690481383661720419259843223914655826554972542918705172642369390565233584499848161314414514161058370163193258361455323051078814437865361914757132069753456985461397313140525693562237228880241921316921623047145849162309724140581652376481562524381629453567376898752018777571129459662091022884517277936398389241783336980402128892370889044688075361231902332700978368085280733896937475800790305166210403190026909173236229396345524164967553200114391416340711237525469071800679973869041929394121263364000059691604761165016322729785271938595388285970199745005726680682966584533927929682226625243 7526170305430735757800874122273965369619408315354826579587620297781172120522104214470831617744000302607234024088043635471337871854645491464720383317337510258760702068448321268235908207859279976666435148620318206897800598606032380690891274643249543912877964841936353909778129792954284717561629449946518208745846181791793118251514181928397107107523221777488929546624401409989964155312947166350847359689372257234341591076233878792076590547738533214274565911200184930505066681063418329146648688275216856368252672382478241329742141590586653609732319930841358158907901203231726981740743049748938527390461565320995705477104358641340499370369400738471357104050691294162430117821184949862897540057202770568031129460604390682442972467979458991471382168899453242882658456914708267119053739569919478669555108313145021387507154525101564367216915439717154755433799389227081649308617279504820288623505347206897219351744975628936466528725476193896701346152160351839043775397353790869296424580147426937206306655715457007715281682868310457947084965836233214939573300846988641940530182646916639810567135947759524941205411154922129861246919178004210524510054384115535500877490904398395272249850540457541608228100414060133909252832727960314103213782275062183980346032146528929202332782479879585985980427763609395844646540450374818399941664013250793339070750024862819237494451460558280341947693209758971684099497630464363112863669246222215448952165465653932409130800310069560044373426583562538262889556207120866894575043905770675465004744720687350467570451656529548428599611631074270026671375835140753291146402917409741941213078792289977365727256535662284562928057810103585247723564591831343787859129950320661358659083400594713428969154278592072493884174362981532220341754857472655046573074692204038138806786996264373529198228918462111939293811849811478670421471425111494078497807097476826337251240705066819208208204227095867856234232020150239843204354788904038144046742765578927463205236807785843264371453864145333886819844436530535418462183980882253101401351796121099762712204922389662270434989053494676044210436726514127207364005180417207844559560564589208038518461245020866681342683249853623698344647956675965516210436450064192148155249770624832024772231180483139165364710389438661688726493860859117891084602062576378780595308765349333034090445051478320050425730109490090135290878190065925601170873940829633615515215944665077433856194408260205320846488699571278681500701638654280853038481254004 12177599359307107774721600989257937108868204249200681874020039071462102318018896058859095961142335482097944449884057311616105219159682287307935916908831011726950250416375620438422977313629360381444076883954928994914640181384242272731694652131201553207205255136848035919693391011527269432906489199785842707520830670369212318197616071912977642599090133301169421547251293329988504386060105007364491447134931115747919810271553978158124608363965038717661995238226963434963900754752926010115852682442861688102606951261353133482472159520476247457025643254760932956635130068798861835923611657625119956324556468410662935368791084344934149470262248715402286652088073493279718855251778270386681761260420448392798981094591668851696577545670510493261698402312983754696639386362413928640849416080091134481130381084426421509229929923511426256277612196266986192362277900869910147096044632469927205654088718713369259405648704271012913573199028202357173580242409558079213599405557083794303532111221311383158016506587444053544796416723579067652024644882954875682693893319754779095616809918173975209878057880900537478178882218996346462041835178933331595276013239154126973836718816709453524320572696134016396570925908351810757396668652103033330946832595275248518480847780983782605692026622798710144667725141744937790278444097849591580106633352985870443250760094722366235841195584073648065029817391614385307238776565836625907451937569558134706500263732688123862554038672361999132788663000441108154559435440296396927436021698719834589537732240096940222603717914362768087855902094843750988041917317654057560353182352909930471072663999620311736522919974175481043315884188376936413058381383750461342933348868256421006926378341201494831283370973907549550880958221514886779475485579234519085386787814385774811024593765612654937479539590012837546611225141938545045322684564387777697272496420885858888982119981235945949651894708479529576653491863374154499030909761446956849219385134969492696789736655947157678885614922515497080078205891853586497276621846244167858533421549578085224109518062915355832672217933736597361132059773659976369673729320998860221041123088970837492085838143772885458913812709515714721229165234612363905452219787044594277047620659669520100133463082815840143732795670172558626202294651164284101487792089485552016824705110873498001643645165869736391136967634959161935970852059107854995292137304829693307119977109681400163641466346855593606816688444577005362183668223188208782720707879247 19703769664737843532522475111531902478487612564555508453607659369243274438541000273329927578886335784705178473972100947087443091014327778772656300226168521985710952484823941706658885521488640358110512032575247201812440779990274653422585926774451097120083219978784389829471520804481554150468118649732360916266676852161005436449130253841374749706613355078658351093875694739978468541373052173715338806824303372982261401347787856950201198911703571931936561149427148365468967435816344339262501370718078544470859623643831374812214301111062901066757963185602291115543031272030588817664354707374058483715018033731658640845895442986274648840631649453873643756138764787442148973072963220249579301317623218960830110555196059534139550013649969484733080571212436997579297843277122195759903155650010613150685489397571442896737084448612990623494527635984140947796077290096991796404661911974747494277594065920266478757393679899949380101924504396253874926394569909918257374802910874663599956691368738320364323162302901061260078099591889525599109610719188090622267194166743421036146992565090615020445193828660062419384293373918476323288754356937542119786067623269662474714209721107848796570423236591558004799026322411944666649501380063347434160614870337432498826879927512711808024809102678296130648152905354333634924984548224409980048297366236663782321510119585185473335647044631928406977510601373356991338274196300989020315606815780350155452429198342056271684838982431559177162089584003646417448991647417263822011065604490510054542476960784290690174169570892316516455513725918021014713293152794810851499585270319672412285742791910289102250176509837765606243941998480521660781945975581805130792478818577082365585461741796208260252525252499622044765132584496418999817240436707174131959862506589812949831380761877028466677768508474949485905036991750023715744155989499271775770303518362685226233360686302765157860098935575397432887723883524394342235264550350994993266127900548420159994973463733000943257068786660830966898050328384121915738805827126420959934773345699184986821722985305018103107206987231273405342496500174103577037734501416068065600683653560045530604299388793752140256495959369338419573813191288329421662656237108786425202870430294352124905694263298979309097506059611220314928788512023401992572394152061930797420013876222831035734090217348056441562697744449252071261730249173780596463011245659326922635193054346477597497660755115798927663177144148284043684369861842489635759189133251 31881369024044951307244076100789839587355816813756190327627698440705376756559896332189023540028671266803122923856158258703548310174010066080592217134999533712661202901199562145081862835118000739554588916530176196727080961374516926154280578905652650327288475115632425749164911816008823583374607849518203623787507522530217754646746325754352392305703488379827772641126988069966972927433157181079830253959234488730181211619341835108325807275668610649598556387654111800432868190569270349378354053160940232573466574905184508294686460631539148523783606440363224072178161340829450653587966364999178440039574502142321576214686527331208798310893898169275930408226838280721867828324741490636261062578043667353629091649787728385836127559320479977994778973525420752275937229639536124400752571730101747631815870481997864405967014372124416879772139832251127140158355190966901943500706544444674699931682784633635738163042384170962293675123532598611048506636979467997470974208467958457903488802590049703522339668890345114804874516315468593251134255602142966304961087486498200131763802483264590230323251709560599897563175592914822785330589535870873715062080862423789448550928537817302320890995932725574401369952230763755424046170032166380765107447465612681017307727708496494413716835725477006275315878047099271425203428646074001560154930719222534225572270214307551709176842628705576472007327992987742298577050762137614927767544385338484861952692931030180134238877654793558309950752584444754572008427087713660749447087303210344644080209200881230912777887485255084604311415820761772002755210470448868411852767623229602883358406791530600838773096484013246649559826186857458073840327359332266473725827686833503372511840082997703091535896226407171595646090806011305779292726015941693217346650320975587760855974527489683404157308098487787032516262133688568761066840553887049473042799939248544115215480667538711107511993644054927009541215746898548841266174311797951842485513035517912856784710119680158622142683709176328046976256220237708413015427673370588818468194895277270210931241048220373935779424920967870766474556273834079946711463822414928286641806742530883022690137532566637599170308668885053140802978425900693327114876024153380702250491089963872225039157346114819452830301729783778941131083163187686094060186241547482814244718987096329037377735383217792832699665379408414007232582308281635591755148550489020229755170164027877761139127101971392534479865588725289405868038085030698418479897012498 51585138688782794839766551212321742065843429378311698781235357809948651195100896605518951118915007051508301397828259205790991401188337844853248517361168055698372155386023503851740748356606641097665100949105423398539521741364791579576866505680103747447371695094416815578636432620490377733842726499250564540054184374691223191095876579595727142012316843458486123735002682809945441468806209354795169060783537861712442612967129692058527006187372182581535117537081260165901835626385614688640855423879018777044326198549015883106900761742602049590541569625965515187721192612860039471252321072373236923754592535873980217060581970317483447151525547623149574164365603068164016801397704710885840363895666886314459202204983787919975677572970449462727859544737857749855235072916658320160655727380112360782501359879569307302704098820737407503266667468235268087954432481063893739905368456419422194209276850553902216920436064070911673777048036994864923433031549377915728349011378833121503445493958788023886662831193246176064952615907358118850243866321331056927228281653241621167910795048355205250768445538220662316947468966833299108619343892808415834848148485693451923265138258925151117461419169317132406168978553175700090695671412229728199268062335950113516134607636009206221741644828155302405964030952453605060128413194298411540203228085459198007893780333892737182512489673337504878984838594361099289915324958438603948083151201118835017405122129372236405923716637225117487112842168448400989457418735130924571458152907700854698622686161665521602952057056147401120766929546679793017468503623243679263352352893549275295644149583440889941023272993851012255803768185337979734622273334914071604518306505410585738097301824793911351788421478906793640411223390507724779109966452648867349306512827565400710687355289366711870835076606962736518421299125438592476810996543386321248813103457611229341448841353841476265372092579630324442428939630422943183501438862148946835751640936066333016779683583413159565399752495837159013874306548621830328754233500497009778402968240976455197752964033525392038886631908199144171817052774008183523749198323830996352242490396090928553294436921360389739426804628254391560376791617189022748777532261262167127453361520258224349944851609413798761927807789394999256059871675211088086632580393609413611664732863319160073111825600565849274262363123857666078494312557455416188218159796148347152390363218374355358636787857087191462143042732873573449552407946873188054239086145749 83466507712827746147010627313111581653199246192067889108863056250654027951660792937707974658943678318311424321684417464494539711362347910933840734496167589411033358287223065996822611191724641837219689865635599595266602702739308505731147084585756397774660170210049241327801344436499201317217334348768768163841691897221440945742622905350079534318020331838313896376129670879912414396239366535874999314742772350442623824586471527166852813463040793231133673924735371966334703816954885038019209477039959009617792773454200391401587222374141198114325176066328739259899353953689490124840287437372415363794167038016301793275268497648692245462419445792425504572592441348885884629722446201522101426473710553668088293854771516305811805132290929440722638518263278502131172302556194444561408299110214108414317230361567171708671113192861824383038807300486395228112787672030795683406075000864096894140959635187537955083478448241873967452171569593475971939668528845913199323219846791579406934296548837727409002500083591290869827132222826712101378121923474023232189369139739821299674597531619795481091697247781262214510644559748121893949933428679289549910229348117241371816066796742453438352415102042706807538930783939455514741841444396108964375509801562794533442335344505700635458480553632308681279908999552876485331841840372413100358158804681732233466050548200288891689332302043081350992166587348841588492375720576218875850695586457319879357815060402416540162594292018675797063594752893155561465845822844585320905240210911199342702895362546752515729944541402485725078345367441565020223714093692547675205120516778878179002556374971490779796369477864258905363594372195437808462600694246338078244134192244089110609141907791614443324317705313965236057314196519030558402692468590560566653163148540988471543329816856395274992384705450523550937561259127161237877837097273370721855903396859773456664322021380187372884086223685251451970155377321492024767613173946898678237153971584245873564393703093318187542436205013487060850562768859538741769661173867598596871163136253725408684205081745765974666056829167014938291609047842263470460662146245924638884297138621811575984574453927027338597113297139444701179770043089716075892408285415547829703852610222096574984008955528618214758109519178778197190954838398774180692766635156896425909451850415489110489560983783642106962028503266080085726894865737051779973308346637367382145533382402233119775914959058583996622908321598862855420446031903886472718983158247 135051646401610540986777178525433323719042675570379587890098414060602679146761689543226925777858685369819725719512676670285531112550685755787089251857335645109405513673246569848563359548331282934884790814741022993806124444104100085308013590265860145222031865304466056906437777056989579051060060848019332703895876271912664136838499484945806676330337175296800020111132353689857855865045575890670168375526310212155066437553601219225379819650412975812668791461816632132236539443340499726660064900918977786662118972003216274508487984116743247704866745692294254447620546566549529596092608509745652287548759573890282010335850467966175692613944993415575078736958044417049901431120150912407941790369377439982547496059755304225787482705261378903450498063001136251986407375472852764722064026490326469196818590241136479011375212013599231886305474768721663316067220153094689423311443457283519088350236485741440172003914512312785641229219606588340895372700078223828927672231225624700910379790507625751295665331276837466934779748130184830951621988244805080159417650792981442467585392579975000731860142786001924531458113526581421002569277321487705384758377833810693295081205055667604555813834271359839213707909337115155605437512856625837163643572137512908049576942980514906857200125381787611087243939952006481545460255034670824640561386890140930241359830882093026074201821975380586229977005181709940878407700679014822823933846787576154896762937189774652946086310929243793284176436921341556550923264557975509892363393118612054041325581524212274118682001597549886845845274914121358037692217716936226938557473410328153474646705958412380720819642471715271161167362557533417543084874029160409682762440697654674848706443732585525795112739184220758876468537587026755337512658921239427915959675976106389182230685106223107145827461312413260069358860384565753714688833640659691970669006854471002798113163375221663638256178803315575894399095007744435208269052036095845513988794907650578890344077286506477752942188700850646074724869317481369070523894674364608375274131377230180606437169115271158013552688737366159110108661821850446994209860470076920991126787534712740129279011375287417078023917925393836261556561660278738824669940546677714957157214130480320924928860564942416976685917308573777453250826513609862267325347028766310037574184713734649183601386584349491381224391627123746164221207423192467968191468142785714534535896600776588478412702816145775458765951054472436304972853978777074526958069303996 218518154114438287133787805838544905372241921762447476998961470311256707098422482480934900436802363688131150041197094134780070823913033666720929986353503234520438871960469635845385970740055924772104480680376622589072727146843408591039160674851616542996692035514515298234239121493488780368277395196788100867737568169134105082581122390295886210648357507135113916487262024569770270261284942426545167690269082562597690262140072746392232633113453769043802465386552004098571243260295384764679274377958936796279911745457416665910075206490884445819191921758622993707519900520239019720932895947118067651342926611906583803611118965614867938076364439208000583309550485765935786060842597113930043216843087993650635789914526820531599287837552308344173136581264414754117579678029047209283472325600540577611135820602703650720046325206461056269344282069208058544180007825125485106717518458147615982491196120928978127087392960554659608681391176181816867312368607069742126995451072416280317314087056463478704667831360428757804606880353011543053000110168279103391607019932721263767259990111594796212951840033783186745968758086329542896519210750166994934668607181927934666897271852410057994166249373402546021246840121054611120179354301021946128019081939075702583019278325020607492658605935419919768523848951559358030792096875043237740919545694822662474825881430293314965891154277423667580969171769058782466900076399591041699784542374033474776120752250177069486248905221262469081240031674234712112389110380820095213268633329523253384028476886759026634411946138952372570923620281562923057915931810628774613762593927107031653649262333383871500616011949579530066530956929728855351547474723406747761006574889898763959315585640377140238437056889534724112525851783545785895915351389829988482612839124647377653774014923079502420819846017863783620296421643692914952566670737933062692524910251330776254777485396601851011140265027000827346369250385065927233036665210042744192225948879234824763908470989599795940484624905864133135575432086340907812293555848232206972145294513483906015121374197016923988218745566533174048400270869692710464670522616322845630011084673334551705263585829214444416621031222533280962736331703368454900562348832093262786861066740702417499912869520471035191444026827752555650441781352008636448018113663923206463483636564150138294090947568133133488186420130389826249948102288929519748164776489423081916681429983178821598188617775204359455388859376071299160393300010680960999677052462243 353569800516048828120564984363978229091284597332827064889059884371859386245184172024161826214661049057950875760709770805065601936463719422508019238210838879629844385633716205693949330288387207706989271495117645582878851590947508676347174265117476688218723900818981355140676898550478359419337456044807433571633444441046769219419621875241692886978694682431913936598394378259628126126330518317215336065795392774752756699693673965617612452763866744856471256848368636230807782703635884491339339278877914582942030717460632940418563190607627693524058667450917248155140447086788549317025504456863719938891686185796865813946969433581043630690309432623575662046508530182985687491962748026337985007212465433633183285974282124757386770542813687247623634644265551006103987053501899974005536352090867046807954410843840129731421537220060288155649756837929721860247227978220174530028961915431135070841432606670418299091307472867445249910610782770157762685068685293571054667682298040981227693877564089230000333162637266224739386628483196374004622098413084183551024670725702706234845382691569796944811982819785111277426871612910963899088488071654700319426985015738627961978476908077662549980083644762385234954749458169766725616867157647783291662654076588610632596221305535514349858731317207530855767788903565839576252351909714062381480932584963592716185712312386341040092976252804253810946176950768723345307777078605864523718389161609629672883689439951722432335216150506262365416468595576268663312374938795605105632026448135307425354058410971300753093947736502259416768895195684281095608149527565001552320067337435185128295968291796252221435654421294801227698319487262272894632348752567157443769015587553438808022029372962666033549796073755482988994389370572541233428010311069416398572515100753766836004700029302609566647307330277043689655282028258668667255504378592754663193917105801779052890648771823514649396443830316403240768345392810362441305717246138589706214743786885403654252548276106273693426813606714779210300301403822276882817450522596815347419425890714086621558543312288082001771434303899333158508932691543157458880383086399766621137872208047291834542597204501861494644949147927117224292893363647193725232289378770977744018280871182738424841730085413452168129944136326333103692607865618498715343460692689516501057821277884787477692334152482624869410811757513572414169309712121987716356244632208796451217326583955410076601320591350134914154810430543735465366153989458035526635121766239 572087954630487115254352790202523134463526519095274541888021354683116093343606654505096726651463412746082025801906864939845672760376753089228949224564342114150283257594185841539335301028443132479093752175494268171951578737790917267386334939969093231215415936333496653374916020043967139787614851241595534439371012610180874302000744265537579097627052189567027853085656402829398396387615460743760503756064475337350446961833746712009845085877320513900273722234920640329379025963931269256018613656836851379221942462918049606328638397098512139343250589209540241862660347607027569037958400403981787590234612797703449617558088399195911568766673871831576245356059015948921473552805345140268028224055553427283819075888808945288986058380365995591796771225529965760221566731530947183289008677691407624419090231446543780451467862426521344424994038907137780404427235803345659636746480373578751053332628727599396426178700433422104858592001958951974629997437292363313181663133370457261545007964620552708705000993997694982543993508836207917057622208581363286942631690658423970002105372803164593157763822853568298023395629699240506795607698821821695254095592197666562628875748760487720544146333018164931256201589579224377845796221458669729419681736015664313215615499630556121842517337252627450624291637855125197607044448784757300122400478279786255191011593742679656005984130530227921391915348719827505812207853478196906223502931535643104449004441690128791918584121371768731446656500269810980775701485319615700318900659777658560809382535297730327387505893875454631987692515477247204153524081338193776166082661264542216781945230625180123722051666370874331294229276416991128246179823475973905204775590477452202767337615013339806271986852963290207101520241154118327129343361700899404881185354225401144489778714952382111987467153348140827309951703671951583619822175116525817355718827357132555307668134168425365660536708857317230587137595777876289674342382456181333898440692666120228418161019265706069633911438512578912345875733490163184695111006370829022319564720404197992636679917509305005989990179870432507206909203561235867923550905702722612251148956881381843539806183033716305911265980370460398187029225067015648625794638210864240530879347611885155924754599605884487359573970964078888754134389217627135163361574356612722964541457842034925771783281720615758357597231887903398664117412001051507464521021121631878367898756567134231674789938366554494369543669806615034625759454000138996526312174228482 925657755146535943374917774566501363554811116428101606777081239054975479588790826529258552866124461804032901562616635744911274696840472511736968462775180993780127643227902047233284631316830340186083023670611913754830430328738425943733509205086569919434139837152478008515592918594445499206952307286402968011004457051227643521420366140779271984605746871998941789684050781089026522513945979060975839821859868112103203661527420677627457538641187258756744979083289276560186808667567153747357952935714765962163973180378682546747201587706139832867309256660457490017800794693816118354983904860845507529126298983500315431505057832776955199456983304455151907402567546131907161044768093166606013231268018860917002361863091070046372828923179682839420405869795516766325553785032847157294545029782274671227044642290383910182889399646581632580643795745067502264674463781565834166775442289009886124174061334269814725270007906289550108502612741722132392682505977656884236330815668498242772701842184641938705334156634961207283380137319404291062244306994447470493656361384126676236950755494734390102575805673353409300822501312151470694696186893476395573522577213405190590854225668565383094126416662927316491156339037394144571413088616317512711344390092252923848211720936091636192376068569834981480059426758691037183296800694471362503881410864749847907197306055065997046077106783032175202861525670596229157515630556802770747221320697252734121888131130080514350919337522274993812072968865387249439013860258411305424532686225793868234736593708701628140599841611956891404461410672931485249132230865758777718402728601977401910241198916976375943487320792169132521927595904253401140812172228541062648544606065005641575359644386302472305536649037045690090514630524690868362771372011968821279757869326154911325783414981684721554114460678417870999606985700210252287077679495118572018912744462934334360558782940248880309933152687633633827905941170686652115648099702319923604655436453005632072413567541812343327338252119293691556176034893985461577928456893425837666984146294912079258238460821593087991761614174331840365418136252779025382431288789122378872286829089429135374348780238218167405910929518387515411322118430662842351026927589635218274897628483067894349596329691297939527703915100405221857826997083245633878705035049302239465599279119919713249475615873098383227008043645416971078286721713173495180877265753840674819116083151089641751391258957904629283698480237158770091125607989597032052947295994721 1497745709777023058629270564769024498018337635523376148665102593738091572932397481034355279517587874550114927364523500684756947457217225600965917687339523107930410900822087888772619932345273472665176775846106181926782009066529343211119844145055663150649555773485974661890508938638412638994567158527998502450375469661408517823421110406316851082232799061565969642769707183918424918901561439804736343577924343449453650623361167389637302624518507772657018701318209916889565834631498423003376566592551617341385915643296732153075839984804651972210559845869997731880461142300843687392942305264827295119360911781203765049063146231972866768223657176286728152758626562080828634597573438306874041455323572288200821437751900015335358887303545678431217177095325482526547120516563794340583553707473682295646134873736927690634357262073102977005637834652205282669101699584911493803521922662588637177506690061869211151448708339711654967094614700674107022679943270020197417993949038955504317709806805194647410335150632656189827373646155612208119866515575810757436288052042550646239056128297898983260339628526921707324218131011391977490303885715298090827618169411071753219729974429053103638272749681092247747357928616618522417209310074987242131026126107917237063827220566647758034893405822462432104351064613816234790341249479228662626281889144536103098208899797745653052061237313260096594776874390423734969723484034999676970724252232895838570892572820209306269503458894043725258729469135198230214715345578027005743433346003452429044119129006431955528105735487411523392153926150178689402656312203952553884485389866519618692186429542156499665538987163043463816156872321244529386991995704514967853320196542457844342697259399642278577523502000335897192034871678809195492114733712868226160943223551556055815562129934066833541581614026558698309558689372161835906899854611644389374631571820066889668226917108674245970469861544950864415043536948562941789990482158501257503096129119125860490574586807518412961249690631872603902051768384148646273039463264254859986548866699110071894918378330898093981751794044764347572327339814014893305982194491844991123435785970810978914154963271934473317176909888847913598351343497678490976821565800499458805776976094953050274350929297182426887277886064484110611961386300872769042066609405914962430140736961954639021258897593714141584605275533320369742404133714225002645398286875472553187014839718223873426181197324459123653242150043773804716885061989736028579259470223203 2423403464923559002004188339335525861573148751951477755442183832793067052521188307563613832383712336354147828927140136429668222154057698112702886150114704101710538544049989936005904563662103812851259799516718095681612439395267769154853353350142233070083695610638452670406101857232858138201519465814401470461379926712636161344841476547096123066838545933564911432453757965007451441415507418865712183399784211561556854284888588067264760163159695031413763680401499193449752643299065576750734519528266383303549888823675414699823041572510791805077869102530455221898261936994659805747926210125672802648487210764704080480568204064749821967680640480741880060161194108212735795642341531473480054686591591149117823799614991085381731716226725361270637582965120999292872674301596641497878098737255956966873179516027311600817246661719684609586281630397272784933776163366477327970297364951598523301680751396139025876718716246001205075597227442396239415362449247677081654324764707453747090411648989836586115669307267617397110753783475016499182110822570258227929944413426677322476006883792633373362915434200275116625040632323543448185000072608774486401140746624476943810584200097618486732399166344019564238514267654012666988622398691304754842370516200170160912038941502739394227269474392297413584410491372507271973638050173700025130163300009285951005406205852811650098138344096292271797638400061019964127239114591802447717945572930148572692780703950289820620422796416318719070802438000585479653729205836438311167966032229246297278855722715133583668705577099368414796615336823110174651788543069711331602888118468497020602427628459132875609026307955212596338084468225497930527804167933056030501864802607463485918056903785944750883060151037381587282549502203500063854886105724837047440701092877710967141345544915751555095696074704976569309165675072372088193977534106762961393544316283001224028785700048923126280403014232584498242949478119249593905638581860821181107751565572131492562988154349330756288587942751166295458227803278134107850967920157680697653533012994022151153156839152491181973513408219096187937745476066793918688413483280967369995722615060240114288503743510152640723087839407235429009673461928341333327848493390134677080674604578020944623947258988480366414981801164889332469788383384118402920771644455217201895740016081874352270734513466812524811613319178737340820690855427398497826275552629313228006130922869313515177572456282363752936940630280932574808010669979333060632206766217924 3921149174700582060633458904104550359591486387474853904107286426531158625453585788597969111901300210904262756291663637114425169611274923713668803837454227209640949444872077824778524496007377285516436575362824277608394448461797112365973197495197896220733251384124427332296610795871270777196086624342399972911755396374044679168262586953412974149071344995130881075223465148925876360317068858670448526977708555011010504908249755456902062787678202804070782381719709110339318477930563999754111086120818000644935804466972146852898881557315443777288428948400452953778723079295503493140868515390500097767848122545907845529631350296722688735904297657028608212919820670293564430239914969780354096141915163437318645237366891100717090603530271039701854760060446481819419794818160435838461652444729639262519314389764239291451603923792787586591919465049478067602877862951388821773819287614187160479187441458008237028167424585712860042691842143070346438042392517697279072318713746409251408121455795031233526004457900273586938127429630628707301977338146068985366232465469227968715063012090532356623255062727196823949258763334935425675303958324072577228758916035548697030314174526671590370671916025111811985872196270631189405831708766291996973396642308087397975866162069387152262162880214759845688761555986323506763979299652928687756445189153822054103615105650557303150199581409552368392415274451443699096962598626802124688669825163044411263673276770499126889926255310362444329531907135783709868444551414465316911399378232698726322974851721565539196811312586779938188769262973288864054444855273663885487373508335016639294614058001289375274565295118256060154241340546742459914796163637570998355184999149921330260754163185587029460583653037717484474584373882309259347000839437705273601644316429267022956907674849818388637277688731535267618724364444533924100877388718407350768175888103068113697012617157597372250872875777535362657993015067812535695629064019322438610847694691257353053562741156849169249837633383038899360279571662282754124007383421935557640081879693132223048075217483389275955265202263860535510072815880808811994395677772812361119158401031051093202658706782087114040264749296083342608024805426019824304670059190634135886451580672973994898298188285662793302259687229373443081749769684991171962838253861132164325880753043828991291993411060526666396218594712057710563094989141623500471673839504785781193145762587537388603753653606822876590182780324706379524895731969069089211466236441127 6344552639624141062637647243440076221164635139426331659549470259324225677974774096161582944285012547258410585218803773544093391765332621826371689987568931311351487988922067760784429059669481098367696374879542373290006887857064881520826550845340129290816946994762880002702712653104128915397606090156801443373135323086680840513104063500509097215909890928695792507677223113933327801732576277536160710377492766572567359193138343524166822950837897835484546062121208303789071121229629576504845605649084383948485693290647561552721923129826235582366298050930908175676985016290163298888794725516172900416335333310611926010199554361472510703584938137770488273081014778506300225882256501253834150828506754586436469036981882186098822319756996400972492343025567481112292469119757077336339751181985596229392493905791550892268850585512472196178201095446750852536654026317866149744116652565785683780868192854147262904886140831714065118289069585466585853404841765374360726643478453862998498533104784867819641673765167890984048881213105645206484088160716327213296176878895905291191069895883165729986170496927471940574299395658478873860304030932847063629899662660025640840898374624290077103071082369131376224386463924643856394454107457596751815767158508257558887905103572126546489432354607057259273172047358830778737617349826628712886608489163108005109021311503368953248337925505844640190053674512463663224201713218604572406615398093192983956453980720788947510349051726681163400334345136369189522173757250903628079365410461945023601830574436699122865516889686148352985384599796399038706233398343375217090261626803513659897041686460422250883591603073468656492325808772240390442600331570627028857049801757384816178811066971531780343643804075099071757133876085809323201886945162542321042345409306977990098253219765569943732973763436511836927890039516906012294854922825170312161720204386069337725798317206520498531275890010119860900942493187062129601267645880143619718599260263388845616550895506179925538425576134205194818507374940416861974975303579616255293614892687154374201232056635880457928778610482956723447818291947602730682809161053779731114881016091291207491162450292239754763352588703318771617698267354361157632518552580768812967126185250994939522245447274143159717241488394262775551538153069109574883609898316349366221620769125703343562727924527339191207831913890795051383785844569021998297949392134099009199276685456850903781326109889186629527123410605638954332906401948402149843673002659051 10265701814324723123271106147544626580756121526901185563656756685855384303428359884759552056186312758162673341510467410658518561376607545540040493825023158520992437433794145585562953555676858383884132950242366650898401336318861993886799748340538025511550198378887307334999323448975399692593692714499201416284890719460725519681366650453922071364981235923826673582900688262859204162049645136206609237355201321583577864101388098981068885738516100639555328443840917414128389599160193576258956691769902384593421497757619708405620804687141679359654726999331361129455708095585666792029663240906672998184183455856519771539830904658195199439489235794799096486000835448799864656122171471034188246970421918023755114274348773286815912923287267440674347103086013962931712263937917513174801403626715235491911808295555790183720454509305259782770120560496228920139531889269254971517935940179972844260055634312155499933053565417426925160980911728536932291447234283071639798962192200272249906654560579899053167678223068164570987008642736273913786065498862396198662409344365133259906132907973698086609425559654668764523558158993414299535607989256919640858658578695574337871212549150961667473742998394243188210258660195275045800285816223888748789163800816344956863771265641513698751595234821817104961933603345154285501596649479557400643053678316930059212636417153926256398537506915397008582468948963907362321164311845406697095285223256237395220127257491288074400275307037043607729866252272152899390618308665368944990764788694643749924805426158264662062328202272928291174153862769687902760678253617039102577635135138530299191655744461711626158156898191724716646567149318982850357396495208198027212234800907306146439565230157118809804227457112816556231718249968118582548887784600247594643989725736245013055160894615388332370251452168047104546614403961439936395732311543577662929896092489137451422810934364117870782148765787655223558935508254874665296896709899466058329446954954646198670113636663029094788263209517244094178786946602699616098982687001551812933696772380286597249307274119269733884043812746817258957891107828411542677204838826592092234039417122342300693821157074326868803617337999402114225723072780380981937188611771402948853577765923968934420543635559805953019501175623636218633287922754100746846448152177481530547501522169532334854721335587865857604050508602852761946880833710645498769623231638884790392422448044388292385079763496009506117306190930345333857802133917471239055139239100178 16610254453948864185908753390984702801920756666327517223206226945179609981403133980921135000471325305421083926729271184202611953141940167366412183812592089832343925422716213346347382615346339482251829325121909024188408224175926875407626299185878154802367145373650187337702036102079528607991298804656002859658026042547406360194470713954431168580891126852522466090577911376792531963782221413742769947732694088156145223294526442505235708689353998475039874505962125717917460720389823152763802297418986768541907191048267269958342727816967914942021025050262269305132693111875830090918457966422845898600518789167131697550030459019667710143074173932569584759081850227306164882004427972288022397798928672610191583311330655472914735243044263841646839446111581444044004733057674590511141154808700831721304302201347341075989305094817731978948321655942979772676185915587121121262052592745758528040923827166302762837939706249140990279269981314003518144852076048446000525605670654135248405187665364766872809351988236055555035889855841919120270153659578723411958586223261038551097202803856863816595596056582140705097857554651893173395912020189766704488558241355599978712110923775251744576814080763374564434645124119918902194739923681485500604930959324602515751676369213640245241027589428874364235105650703985064239213999306186113529662167480038064321657728657295209646875432421241648772522623476371025545366025064011269501900621349430379176581238212077021910624358763724771130200597408522088912792065916272573070130199156588773526636000594963784927845091959076644159538462566086941466911651960414319667896761942043959088697430922133877041748501265193373138892958091223240799996826778825056069284602664690962618376297128650590147871261187915627988852126053927905750774729762789915686335135043223003153414114380958276103225215604558941474504443478345948690587234368747975091616296875206789148609251570638369313424655797775084459878001441936794898164355779609678048046215218035044286664532169209020326688785651449288997294321543116478073957990581168068227311665067440971450539330755150191812822423229773982405709399776014273360013999880371823348920433213633508184983607366566623566969926702720885843421340134742139569707164352171761820703951174963873942789082833949112736742664017898994184826075823210321730058050493830896769122291295235678417449260115205048811882422493647813330666678279667497067572623772983799591699133501239196166405873385196135644429601535984288190708535865873388898812241759229 26875956268273587309179859538529329382676878193228702786862983631034994284831493865680687056657638063583757268239738594861130514518547712906452677637615248353336362856510358931910336171023197866135962275364275675086809560494788869294426047526416180313917343752537494672701359551054928300584991519155204275942916762008131879875837364408353239945872362776349139673478599639651736125831866549949379185087895409739723087395914541486304594427870099114595202949803043132045850319550016729022758989188889153135328688805886978363963532504109594301675752049593630434588401207461496882948121207329518896784702245023651469089861363677862909582563409727368681245082685676106029538126599443322210644769350590633946697585679428759730648166331531282321186549197595406975716996995592103685942558435416067213216110496903131259709759604122991761718442216439208692815717804856376092779988532925731372300979461478458262770993271666567915440250893042540450436299310331517640324567862854407498311842225944665925977030211304220126022898498578193034056219158441119610620995567626171811003335711830561903205021616236809469621415713645307472931520009446686345347216820051174316583323472926213412050557079157617752644903784315193947995025739905374249394094760140947472615447634855153943992622824250691469197039254049139349740810648785743514172715845796968123534294145811221466045412939336638657354991572440278387866530336909417966597185844605667774396708495703365096310899665800768378860066849680674988303410374581641518060894987851232523451441426753228446990173294232004935333692325335774844227589905577453422245531897080574258280353175383845503199905399456918089785460107410206091157393321987023083281519403571997109057941527285769399952098718300732184220570376022046488299662514363037510330324860779468016208575008996346608473476667772606046021118847439785885086319545912325638021512389364344240571420185934756240095573421585430308018813509696811460195061065679075736377493170172681242956778168832238115114951995168693383176081268145816094172940677582719881161008437447727568699846604874419925696866235976591241363600507604425816037218838706963915582959850335975808878804764440893492370587264702123000069144412915123121506895776123574710674281717098932808363332718393755065756243839641535212818113998577311068576506202671312427316623813464768013272170595703070906415932931096500575277547511990312995837195855411868589984121581545627488551485636881205641761735792466329622048510669783344627953951480859407 43486210722222451495088612929514032184597634859556220010069210576214604266234627846601822057128963369004841194969009779063742467660487880272864861450207338185680288279226572278257718786369537348387791600486184699275217784670715744702052346712294335116284489126187682010403395653134456908576290323811207135600942804555538240070308078362784408526763489628871605764056511016444268089614087963692149132820589497895868310690440983991540303117224097589635077455765168849963311039939839881786561286607875921677235879854154248322306260321077509243696777099855899739721094319337326973866579173752364795385221034190783166639891822697530619725637583659938266004164535903412194420131027415610233042568279263244138280897010084232645383409375795123968025995309176851019721730053266694197083713244116898934520412698250472335699064698940723740666763872382188465491903720443497214042041125671489900341903288644761025608932977915708905719520874356543968581151386379963640850173533508542746717029891309432798786382199540275681058788354420112154326372818019843022579581790887210362100538515687425719800617672818950174719273268297200646327432029636453049835775061406774295295434396701465156627371159920992317079548908435112850189765663586859749999025719465549988367124004068794189233650413679565833432144904753124413980024648091929627702378013277006187855951874468516675692288371757880306127514195916649413411896361973429236099086465955098153573289733915442118221524024564493149990267447089197077216202440497914091131025187007821296978077427348192231918018386191081579493230787901861785694501557537867741913428659022618217369050606305979380241653900722111462924353065501429331957390148765848139350804006236688071676317824414419990099969979488647812209422502075974394050437244125827426016659995822691019361989123377304884576701883377164987495623290918131833776906780281073613113128686239551029720029437505394609408998077383205392478691511138748255093225421458685414425539385390716287243442701001447135441640780820142672173375589688932572246898668163887949388320102515168540150385935629570117509688659206365223769309907380440089397232838587335738931880283549609317063788371807460115937557191404843885912565753049865261076602940475746472494985668273896682306121801227704178492986503659434207002940074400521390306564253165143324085746104760003691689619855818275955227815353590148388608214190269980492904768479184852389575820715046866684717891510266401777406165394002313910239219205649218016852763722618636 70362166990496038804268472468043361567274513052784922796932194207249598551066121712282509113786601432588598463208748373924872982179035593179317539087822586539016651135736931210168054957392735214523753875850460374362027345165504613996478394238710515430201832878725176683104755204189385209161281842966411411543859566563670119946145442771137648472635852405220745437535110656096004215445954513641528317908484907635591398086355525477844897545094196704230280405568211982009161359489856610809320275796765074812564568660041226686269792825187103545372529149449530174309495526798823856814700381081883692169923279214434635729753186375393529308200993387306947249247221579518223958257626858932443687337629853878084978482689512992376031575707326406289212544506772257995438727048858797883026271679532966147736523195153603595408824303063715502385206088821397158307621525299873306822029658597221272642882750123219288379926249582276821159771767399084419017450696711481281174741396362950245028872117254098724763412410844495807081686852998305188382591976460962633200577358513382173103874227517987623005639289055759644340688981942508119258952039083139395182991881457948611878757869627678568677928239078610069724452692750306798184791403492233999393120479606497460982571638923948133226273237930257302629184158802263763720835296877673141875093859073974311390246020279738141737701311094518963482505768356927801278426698882847202696272310560765927969998229618807214532423690365261528850334296769872065519612815079555609191920174859053820429518854101420678908191680423086514826923113237636629922091463115321164158960556103192475649403781689824883441559300179029552709813172911635423114783470752871222632323409808685180734259351700189390052068697789379996429992878098020882350099758488864936346984856602159035570564132373651493050178551149771033516742138357917718863226326193399251134641075603895270291449623440150849504571498968635700497505020835559715288286487137761150803032555563397530200220869833685250556592775988836055349456857834748666419839345746607830549328539962896108850232540503990043206554895182956465132910414984865905434451677294299654514840133885585125942593136248353608308144456106966885981710165964988382583498716599321183169267385372829490669454519621459244249230343300969419821054072977832458883070455836455751402369918224771704961790451521346861643748284686648963885761702260293488741964334596720979559942296592494173269377147147607419167901186468643532287729875432562644806715203478043 113848377712718490299357085397557393751872147912341142807001404783464202817300749558884331170915564801593439658177758152988615449839523473452182400538029924724696939414963503488425773743762272562911545476336645073637245129836220358698530740951004850546486322004912858693508150857323842117737572166777618547144802371119208360016453521133922056999399342034092351201591621672540272305060042477333677450729074405531459708776796509469385200662318294293865357861333380831972472399429696492595881562404640996489800448514195475008576053146264612789069306249305429914030589846136150830681279554834248487555144313405217802369645009072924149033838577047245213253411757482930418378388654274542676729905909117122223259379699597225021414985083121530257238539815949109015160457102125492080109984923649865082256935893404075931107889002004439243051969961203585623799525245743370520864070784268711172984786038767980313988859227497985726879292641755628387598602083091444922024914929871492991745902008563531523549794610384771488140475207418417342708964794480805655780159149400592535204412743205413342806256961874709819059962250239708765586384068719592445018766942864722907174192266329143725305299398999602386804001601185419648374557067079093749392146199072047449349695642992742322459923651609823136061329063555388177700859944969602769577471872350980499246197894748254817429989682852399269610019964273577214690323060856276438795358776515864081543287963534249332753947714929754678840601743859069142735815255577469700322945361866875117407596281449612910826210066614168094320153901139498415616593020653188906072389215125810693018454387995804263683213200901141015634166238413064755072173619518719361983127416045373252410577176114609380152038677278027808639415380173995276400537002614692362363644852424850054932553255750956377626880434526936021012365429276049552640133106474472864247769761843446300011479060945545458913569576351841092976196531974307970381511908596446565228571940954113817443663570835132385998233556808978727522832447523681238666738013910495779937648642478064649000618476133560160716243554389321688902220322365305994831684515881635393446720417435194443006381508055813724245701647511810771894275919014853643660101657075067655664253053646726172975576320849163422742216846960403626823994147378353849189634709001599075488116022984775396651410307339622816871563638276797352493975892530273981646732813781573369135763011639360857987268657414009196574066580470957442526949081081780661659478926096679 184210544703214529103625557865600755319146660965126065603933598990713801368366871271166840284702166234182038121386506526913488432018559066631499939625852511263713590550700434698593828701155007777435299352187105447999272475001724972695009135189715365976688154883638035376612906061513227326898854009744029958688661937682878479962598963905059705472035194439313096639126732328636276520505996990975205768637559313167051106863152034947230098207412490998095638266901592813981633758919553103405201838201406071302365017174236701694845845971451716334441835398754960088340085372934974687495979935916132179725067592619652438099398195448317678342039570434552160502658979062448642336646281133475120417243538971000308237862389110217397446560790447936546451084322721367010599184150984289963136256603182831229993459088557679526516713305068154745437176050024982782107146771043243827686100442865932445627668788891199602368785477080262548039064409154712806616052779802926203199656326234443236774774125817630248313207021229267295222162060416722531091556770941768288980736507913974708308286970723400965811896250930469463400651232182216884845336107802731840201758824322671519052950135956822293983227638078212456528454293935726446559348470571327748785266678678544910332267281916690455686196889540080438690513222357651941421695241847275911452565731424954810636443915027992959167690993946918233092525732630505015968749759739123641491631087076630009513286193153056547286371405295016207690936040628941208255428070657025309514865536725928937837115135551033589734401747037254609147077014377135045538684483768510070231349771229003168667858169685629147124772501080170568343979411324700178186957090271590584615450825854058433144836527814798770204107375067407805069408258272016158750636761103557298710629709027009090503117388124607870677058985676707054529107567633967271503359432667872115382410837447341570302928684385696308418141075320476793473701552809867685669798395734207716031604496517511347643884440668817636554826332797814782872289305358429905086577359657103610486977182440960757850851016637550203922798449572278154035130737350171900266136193175935047961560551320779568948974644304167332553846103618777657875986084979842026243600373674388838833520439019555663645030840470622666991447190261373046645048220356186308072705164838054826890485941209547101613200758860969678515311922963446316379737594790567470388697148378294348695705308231855031256645804561616615741967766939600974814678956514343306466194129574722 298058922415933019402982643263158149071018808877467208410935003774178004185667620830051171455617731035775477779564264679902103881858082540083682340163882435988410529965663938187019602444917280340346844828523750521636517604837945331393539876140720216523174476888550894070121056918837069444636426176521648505833464308802086839979052485038981762471434536473405447840718354001176548825566039468308883219366633718698510815639948544416615298869730785291960996128234973645954106158349249596001083400606047067792165465688432176703421899117716329123511141648060390002370675219071125518177259490750380667280211906024870240469043204521241827375878147481797373756070736545379060715034935408017797147149448088122531497242088707442418861545873569466803689624138670476025759641253109782043246241526832696312250394981961755457624602307072593988489146011228568405906672016786614348550171227134643618612454827659179916357644704578248274918357050910341194214654862894371125224571256105936228520676134381161771863001631614038783362637267835139873800521565422573944760895657314567243512699713928814308618153212805179282460613482421925650431720176522324285220525767187394426227142402285966019288527037077814843332455895121146094933905537650421498177412877750592359681962924909432778146120541149903574751842285913040119122555186816878681030037603775935309882641809776247776597680676799317502702545696904082230659072820595400080286989863592494091056574156687305880040319120224770886531537784488010350991243326234495009837810898592804055244711417000646500560611813651422703467230915516633461155277504421698976303738986354813861686312557681433410807985701981311583978145649737764933259130709790309946598578241899431685555413703929408150356146052345435613708823638446011435151173763718249661074274561451859145435670643875564248303939420203643075541472996910016824143492539142344979630180599290787870314407745331241767331710651672317886449898084784175656051310304330654281260176437471625165087548011503950022553059889606793510395121752882111143753315373567599390424625824919025406851469492771110364639042003961599842937351059715477895097820709057570441408280968755974011955356152359981056799547751130588429770262003994695669903702030749456494497773492666281836620607161319786089733664037221776673469042367734540157262339873839653902378601964194322498264611066200592495386875561240243668873713487320841452035429962159867717831468319871215889243914461975625812316034347410558417341628037596123968125673055671401 482269467119147548506608201128758904390165469842593274014868602764891805554034492101218011740319897269957515900950771206815592313876641606715182279789734947252124120516364372885613431146072288117782144180710855969635790079839670304088549011330435582499862631772188929446733962980350296771535280186265678464522126246484965319941651448944041467943469730912718544479845086329812825346072036459284088988004193031865561922503100579363845397077143276290056634395136566459935739917268802699406285238807453139094530482862668878398267745089168045457952977046815350090710760592006100205673239426666512847005279498644522678568441399969559505717917717916349534258729715607827703051681216541492917564392987059122839735104477817659816308106664017403350140708461391843036358825404094072006382498130015527542243854070519434984141315612140748733926322061253551188013818787829858176236271670000576064240123616550379518726430181658510822957421460065054000830707642697297328424227582340379465295450260198792020176208652843306078584799328251862404892078336364342233741632165228541951820986684652215274430049463735648745861264714604142535277056284325056125422284591510065945280092538242788313271754675156027299860910189056872541493254008221749246962679556429137270014230206826123233832317430689984013442355508270692060544250428664154592482603335200890120519085724804240735765371670746235735795071429534587246627822580334523721778620950669124100569860349840362427326690525519787094222473825116951559246671396891520319352676435318732993081826552551680090295013560688677312614307929893768506693961988190209046535088757583817030354170727367062557932758203061482152322125061062465111446087800061900531214029067753490118700250231744206920560253427412843418778231896718027593901810524821806959784904270478868235938788032000172118980998405880350130070580564543984095646851971810217095012591436738129440617336429716938075749851726992794679923599637594043341721108700064861997291780933989136512731432452172767659107886222404608293267411058240541048839892733224703000911603007359986164702320509408660568561840453533877996972481797065649795363956902233505489369841520076753580904330796664148389353393854749366087646248088974537696147302404423845333331293931685837500265638001790408756725111227483149720114090588090726465335045038677708729269087905403869599877811825061562173902187484203689985253451082111408922424127110538162066527173628103070920500560266537242428058002114350159392156306994110467274591867185246123 780328389535080567909590844391917053461184278720060482425803606539069809739702112931269183195937628305732993680515035886717696195734724146798864619953617383240534650482028311072633033590989568458128989009234606491272307684677615635482088887471155799023037108660739823516855019899187366216171706362787326970355590555287052159920703933983023230414904267386123992320563440330989374171638075927592972207370826750564072738143049123780460695946874061582017630523371540105889846075618052295407368639413500206886695948551101055101689644206884374581464118694875740093081435811077225723850498917416893514285491404669392919037484604490801333093795865398146908014800452153206763766716151949510714711542435147245371232346566525102235169652537586870153830332600062319062118466657203854049628739656848223854494249052481190441765917919213342722415468072482119593920490804616472524786442897135219682852578444209559435084074886236759097875778510975395195045362505591668453648798838446315693816126394579953792039210284457344861947436596087002278692599901786916178502527822543109195333686398581029583048202676540828028321878197026068185708776460847380410642810358697460371507234940528754332560281712233842143193366084178018636427159545872170745140092434179729629696193131735556011978437971839887588194197794183732179666805615481033273512640938976825430401727534580488512363052347545553238497617126438669477286895400929923802065610814261618191626434506527668307367009645744557980754011609604961910237914723126015329190487333911537048326537969552326590855625374340100016081538845410401967849239492611908022838827743938630892040483285048495968740743905042793736300270710800230044705218509852210477812607309652921804255663935673615070916399479758279032487055535164039029052984288540056620859178831930727381374458675875736367284937826083993205612053561454000919790344510952562074642772036028917310931744175048179843081562378665112566373497722378218997772419004395516278551957371460761677818980463676717681660946112011401803662532811122652192593208106792302391336228832279011571553790002179770933200882457495477839909832856781127690461777611291075930778122488832727592859686949024129446152941605879954517416510092969233366051004435173301827829067424352119336886245163110194846458775264704926393583132955825266622597384912517362631647689869598192098142422891262154669289063045443933654127164569432250374459557072698029784358641947974286809744474728512868240374036461760717809497935031706591242717540240917524 1262597856654228116416199045520675957851349748562653756440672209303961615293736605032487194936257525575690509581465807093533288509611365753514046899743352330492658770998392683958246464737061856575911133189945462460908097764517285939570637898801591381522899740432928752963588982879537662987706986549053005434877716801772017479862355382927064698358373998298842536800408526660802199517710112386877061195375019782429634660646149703144306093024017337872074264918508106565825585992886854994813653878220953345981226431413769933499957389296052420039417095741691090183792196403083325929523738344083406361290770903313915597605926004460360838811713583314496442273530167761034466818397368491003632275935422206368210967451044342762051477759201604273503971041061454162098477292061297926056011237786863751396738103123000625425907233531354091456341790133735670781934309592446330701022714567135795747092702060759938953810505067895269920833199971040449195876070148288965782073026420786695159111576654778745812215418937300650940532235924338864683584678238151258412244159987771651147154673083233244857478252140276476774183142911630210720985832745172436536065094950207526316787327478771542645832036387389869443054276273234891177920413554093919992102771990608866899710423338561679245810755402529871601636553302454424240211056044145187865995244274177715550920813259384729248128424018291788974292688555973256723914717981264447523844231764930742292196294856368030734693700171264345074976485434721913469484586120017535648543163769230270041408364522104006681150638935028777328695846775304170474543201480802117069373916501522447922394654012415558526673502108104275888622395771862695156151306309914111009026636377406411922955914167417821991476652907171122451265287431882066622954794813361863580644083102409595617313246707875908486265936231964343335682634125997985015437196482762779169655363472767046751549080604765117918831414105657907246297097359972262339493527704460378275843738305449898190550412915849485340768832334416010096929943869363193241433100840017005392247831839638997736256110511588431501762722911029355836882314653846777485825734513524581420147964008909481173764017745688277835506335460629320605062758181943771062198306839597147161160361356037956837151883164900603603183886492188076113697223543915993087932429951195071360916777775002061698020234716323716843191250529647623639380615651543659296883684183236191850885815576077357730245034995050110668432038576110877201654242025817058517309407426163647 2042926246189308684325789889912593011312534027282714238866475815843031425033438717963756378132195153881423503261980842980250984705346089900312911519696969713733193421480420995030879498328051425034040122199180068952180405449194901575052726786272747180545936849093668576480444002778725029203878692911840332405233307357059069639783059316910087928773278265684966529120971966991791573689348188314470033402745846532993707398789198826924766788970891399454091895441879646671715432068504907290221022517634453552867922379964870988601647033502936794620881214436566830276873632214160551653374237261500299875576262307983308516643410608951162171905509448712643350288330619914241230585113520440514346987477857353613582199797610867864286647411739191143657801373661516481160595758718501780105639977443711975251232352175481815867673151450567434178757258206217790375854800397062803225809157464271015429945280504969498388894579954132029018708978482015844390921432653880634235721825259233010852927703049358699604254629221757995802479672520425866962277278139938174590746687810314760342488359481814274440526454816817304802505021108656278906694609206019816946707905308904986688294562419300296978392318099623711586247642357412909814347573099966090737242864424788596529406616470297235257789193374369759189830751096638156419877861659626221139507885213154540981322540793965217760491476365837342212790305682411926201201613382194371325909842579192360483822729362895699042060709817008903055730497044326875379722500843143550977733651103141807089734902491656333272006264309368877344777385620714572442392440973414025092212744245461078814435137297464054495414246013147069624922666482662925200856524819766321486839243687059333727211578103091437062393052386929401483752342967046105652007779101901920201503261934340322998687705383751644853550874058048336541294687687451985935227540993715341244298135508795964062480824779813297761912976484323019812670595082350481337265946708855894554395695676910659868369393379526203022429778446427411900592476680485845434026308946809307783584060671918009307809900513768202434963605368524833676792147510627905176287512124815657350926086497742208766623704694712407281659277066509275122479268274913004428249311274770448988989428780390076174038128328010798449642661756893002507280356499741259710529814863712433992564467644600253796162657607585871512480313575091557293507780220975909671343241255934221635244457524051644539989509723562978908806075037871595011152177057523649760026947667081171 3305524102843536800741988935433268969163883775845367995307148025146993040327175322996243573068452679457114012843446650073784273214957455653826958419440322044225852192478813678989125963065113281609951255389125531413088503213712187514623364685074338562068836589526597329444032985658262692191585679460893337840111024158831087119645414699837152627131652263983809065921380493652593773207058300701347094598120866315423342059435348530069072881994908737326166160360387753237541018061391762285034676395855406898849148811378640922101604422798989214660298310178257920460665828617243877582897975605583706236867033211297224114249336613411523010717223032027139792561860787675275697403510888931517979263413279559981793167248655210626338125170940795417161772414722970643259073050779799706161651215230575726647970455298482441293580384981921525635099048339953461157789109989509133926831872031406811177037982565729437342705085022027298939542178453056293586797502802169600017794851680019706012039279704137445416470048159058646743011908444764731645861956378089433002990847798086411489643032565047519298004706957093781576688164020286489627680441951192253482773000259112513005081889898071839624224354487013581029301918630647800992267986654060010729345636415397463429117039808858914503599948776899630791467304399092580660088917703771409005503129487332256532243354053349947008619900384129131187082994238385182925116331363458818849754074344123102776019024219263729776754409988273248130706982479048788849207086963161086626276814872372077131143267013760339953156903244397654673473232396018742916935642454216142161586660746983526736829791309879613022087748121251345513545062254525620357007831129680432495865880064465745650167492270509259053869705294100523935017630398928172274962573915263783782147345036749918616000952091627553339816810290012679876977321813449970950664737476478120413953498981563010814029905384578415680744390589980927058967692442322743676759474413316272830239433982360558058919806295375688363198610780843421997522420549849038675459409786826313175831892511557007044066011025356633936726328279554189513674462164474682662113246638340238771074050506651689940387722440400685117165612527138595727542026456856775490447618114367596150149790136428033011190011492911402052826548249081078620977580043657252798462244814907505353481245419602315494182892323909588355671564104739180932888395872519568968226925439170413486130273100129002270234544718613089577238113613982472212806419083340708277336355093244818 5348450349032845485067778825345861980476417803128082234173623840990024465360614040959999951200647833338537516105427493054035257920303545554139869939137291757959045613959234674020005461393164706643991377588305600365268908662907089089676091471347085742614773438620265905924476988436987721395464372372733670245344331515890156759428474016747240555904930529668775595042352460644385346896406489015817128000866712848417049458224547356993839670965800136780258055802267399909256450129896669575255698913489860451717071191343511910703251456301926009281179524614824750737539460831404429236272212867084006112443295519280532630892747222362685182622732480739783142850191407589516927988624409372032326250891136913595375367046266078490624772582679986560819573788384487124419668809498301486267291192674287701899202807473964257161253536432488959813856306546171251533643910386571937152641029495677826606983263070698935731599664976159327958251156935072137977718935456050234253516676939252716864966982753496145020724677380816642545491580965190598608139234518027607593737535608401171832131392046861793738531161773911086379193185128942768534375051157212070429480905568017499693376452317372136602616672586637292615549560988060710806615559754026101466588500840186059958523656279156149761389142151269389981298055495730737079966779363397630145011014700486797513565894847315164769111376749966473399873299920797109126317944745653190175663916923315463259841753582159428818815119805282151186437479523375664228929587806304637604010465975513884220878169505416673225163167553766532018250618016733315359328083427630167253799404992444605551264928607343667517501994134398415138467728737188545557864355949446753982705123751525079377379070373600696116262757681029925418769973365974277926970353017165703983650606971090241614688657475379198193367684348061016418272009500901956885892278470193461658251634490358974876510730164391713442657367074303946871638287524673225014025421122172167384635129659271217927289199674901891385628389227270833898114897230334884109485718733635620959415953183475016351875911539124836371689933648079023190466609675102587838400758763155896122000137004393898707011427135113092398824889593647870850021294731769779918696929389138045139139218916818109185228139820922200502469210005974081128257936543398512508992059678619939346045713064202569290345549931495459868151877679830738226396176093495478639570166695104635121374730624180646810224054442176068486044188651854067223958596140864358037363302760325989 8653974451876382285809767760779130949640301578973450229480771866137017505687789363956243524269100512795651528948874143127819531135261001207966828358577613802184897806438048353009131424458277988253942632977431131778357411876619276604299456156421424304683610028146863235368509974095250413587050051833627008085455355674721243879073888716584393183036582793652584660963732954296979120103464789717164222598987579163840391517659895887062912552960708874106424216162655153146797468191288431860290375309345267350566220002722152832804855879100915223941477834793082671198205289448648306819170188472667712349310328730577756745142083835774208193339955512766922935412052195264792625392135298303550305514304416473577168534294921289116962897753620781977981346203107457767678741860278101192428942407904863428547173262772446698454833921414410485448955354886124712691433020376081071079472901527084637784021245636428373074304749998186626897793335388128431564516438258219834271311528619272422877006262457633590437194725539875289288503489409955330254001190896117040596728383406487583321774424611909313036535868731004867955881349149229258162055493108404323912253905827130012698458342215443976226841027073650873644851479618708511798883546408086112195934137255583523387640696088015064264989090928169020772765359894823317740055697067169039150514144187819054045809248900665111777731277134095604586956294159182292051434276109112009025417991267438566035860777801423158595569529793555399317144462002424453078136674769465724230287280847885961352021436519177013178320070798164186691723850412752058276263725881846309415386065739428132288094719917223280539589742255649760652012790991714165914872187079127186478571003815990825027546562644109955170132462975130449353787603764902450201932926932429487765797952007840160230689609567006751533184494638073696295249331314351927836557015946671582072205133471921985690540635548970129123401757664284873930605979966995968690784895535488440214874563641631775986209005970277579748827000008114255895637317780183922784945128520461934135247845695032023395941922564481470308416261927633212704141071839577270500514005401496134893074187511045588647399149575513777515990502120786466577563321188626555409144547503505641289289009053246142196418151313833602555295758255055159749235516587055765307454304493527444699526958483804884784528442255405048223823441784569919159284571966015047607797092134275048607505003724309649080458599160789158063282302265836539436765015224205066314699657853570807 14002424800909227770877546586124992930116719382101532463654395707127041971048403404916243475469748346134189045054301636181854789055564546762106698297714905560143943420397283027029136885851442694897934010565736732143626320539526365693975547627768510047298383466767129141292986962532238134982514424206360678330799687190611400638502362733331633738941513323321360256006085414941364466999871278732981350599854292012257440975884443244056752223926509010886682271964922553056053918321185101435546074222835127802283291194065664743508107335402841233222657359407907421935744750280052736055442401339751718461753624249858289376034831058136893375962687993506706078262243602854309553380759707675582631765195553387172543901341187367607587670336300768538800919991491944892098410669776402678696233600579151130446376070246410955616087457846899445262811661432295964225076930762653008232113931022762464391004508707127308805904414974345954856044492323200569542235373714270068524828205558525139741973245211129735457919402920691931833995070375145928862140425414144648190465919014888755153905816658771106775067030504915954335074534278172026696430544265616394341734811395147512391834794532816112829457699660288166260401040606769222605499106162112213662522638095769583346164352367171214026378233079438410754063415390554054820022476430566669295525158888305851559375143747980276546842653884062077986829594079979401177752220854765199201081908190754029295702531383582587414384649598837550503581941525800117307066262575770361834297746823399845572899606024593686403483238351930718709974468429485373635591809309476476669185470731872737839359648524566948057091736390048175790480519728902711472736543028573940461276127567515904404925633017710651286395220656160374772557577130876728128903279949595191749448558978930401845378267042385949726552178986134712713521340815253884722449294416865043730456767962280960567051365713361842566059124738588820802244267491669193704810316657660607599509693300902993913498205645179471134455389235385089793752215010518806894430847254097555094663798878507039747817834103606306680106195575712235894607681514679858338914764164652031015074324515439487354410576710626869914815391714434337427584615920396335327841476892643686428428227970064251381646291134755803057764968261029240877493453130454277816446364172147384045572671548007454074873992186900508091975319464400657385680748059510526247367258829379683728879734348490295890682653602965226549326490917690606660723611365069424352062960613896796 22656399252785610056687314346904123879757020961074982693135167573264059476736192768872486999738848858929840574003175779309674320190825547970073526656292519362328841226835331380038268310309720683151876643543167863921983732416145642298275003784189934351981993494913992376661496936627488548569564476039987686416255042865332644517576251449916026921978096116973944916969818369238343587103336068450145573198841871176097832493544339131119664776887217884993106488127577706202851386512473533295836449532180395152849511196787817576312963214503756457164135194200990093133950039728701042874612589812419430811063952980436046121176914893911101569302643506273629013674295798119102178772895005979132937279499969860749712435636108656724550568089921550516782266194599402659777152530054503871125176008484014558993549333018857654070921379261309930711767016318420676916509951138734079311586832549847102175025754343555681880209164972532581753837827711329001106751811972489902796139734177797562618979507668763325895114128460567221122498559785101259116141616310261688787194302421376338475680241270680419811602899235920822290955883427401284858486037374020718253988717222277525090293136748260089056298726733939039905252520225477734404382652570198325858456775351353106733805048455186278291367324007607431526828775285377372560078173497735708446039303076124905605184392648645388324573931018157682573785888239161693229186496963877208226499899458192595331563309185005746009954179392392949820726403528224570385202937345236086064585027671285806924921042543770699581803309150094905401698318842237431911855535191322786084571536471300870127454368441790228596681478645697936442493310720616877387608730107701126939847131383506729432472195661820606456527683631290824126345180895779178330836206882024679515246510986770562076067876609392701259736673624208409008770672129605812559006310363536625802661901434202946257592001262331971689460882402873694732850247458665162395595212193149047814384256942534769899707211615457050883282389243499345689389532790702729679375975774559489229911644573539063143759756668087776988522457503345448598748753354257128839428769566148165908148512026485076001809726286140647430805893835220804005147937109022890736986024396149327717717237023310393578064442448589405613060726516084400626728969717510043123900668665674828745099630031812338859402434442305556315798761248970576544965320025525573855164350963654732336384738072799944971141252763754384612608793183527146097488626589274490666762618467467603 36658824053694837827564860933029116809873740343176515156789563280391101447784596173788730475208597205064029619057477415491529109246390094732180224954007424922472784647232614407067405196161163378049810654108904596065610052955672007992250551411958444399280376961681121517954483899159726683552078900246348364747054730055944045156078614183247660660919609440295305172975903784179708054103207347183126923798696163188355273469428782375176417000813726895879788760092500259258905304833658634731382523755015522955132802390853482319821070549906597690386792553608897515069694790008753778930054991152171149272817577230294335497211745952047994945265331499780335091936539400973411732153654713654715569044695523247922256336977296024332138238426222319055583186186091347551875563199830906549821409609063165689439925403265268609687008837108209375974578677750716641141586881901387087543700763572609566566030263050682990686113579946878536609882320034529570648987185686759971320967939736322702360952752879893061353033531381259152956493630160247187978282041724406336977660221436265093629586057929451526586669929740836776626030417705573311554916581639637112595723528617425037482127931281076201885756426394227206165653560832246957009881758732310539520979413447122690079969400822357492317745557087045842280892190675931427380100649928302377741564461964430757164559536396625664871416584902219760560615482319141094406938717818642407427581807648946624627265840568588333424338828991230500324308345054024687692269199921006447898882774494685652497820648568364385985286547502025624111672787271722805547447344500799262753757007203173607966814016966357176653773215035746112232973830449519588860345273136275067401123258951022633837397828679531257742922904287451198898902758026655906459739486831619871264695069965700963921446143651778650986288852610343121722292012944859697281455604780401669533118669396483906824643366975693814255520007141462515535094514950334356100405528850809655413893950243437763813205417260636522017737778478884435483141747801221536573806823028657044324575443452046102891577590771694083668628653079057684493356434868936987178343533730800196923222836541924563356220302996767517345621285549655141432732553029419226064827501288793014146145464993374644959710733583345208670825694777113641504222422847964320940347032837822212790672301579819792934276426629206064407774080713371233930646068085036100102531609793034416065264472421290240861823906366719611161935284101217752758212237954343915018825579081364399 59315223306480447884252175279933240689630761304251497849924730853655160924520788942661217474947446063993870193060653194801203429437215642702253751610299944284801625874067945787105673506470884061201687297652072459987593785371817650290525555196148378751262370456595113894615980835787215232121643376286336051163309772921276689673654865633163687582897705557269250089945722153418051641206543415633272496997538034364453105962973121506296081777700944780872895248220077965461756691346132168027218973287195918107982313587641299896134033764410354147550927747809887608203644829737454821804667580964590580083881530210730381618388660845959096514567975006053964105610835199092513910926549719633848506324195493108671968772613404681056688806516143869572365452380690750211652715729885410420946585617547180248433474736284126263757930216369519306686345694069137318058096833040121166855287596122456668741056017394238672566322744919411118363720147745858571755738997659249874117107673914120264979932260548656387248147659841826374078992189945348447094423658034668025764854523857641432105266299200131946398272828976757598916986301132974596413402619013657830849712245839702562572421068029336290942055153128166246070906081057724691414264411302508865379436188798475796813774449277543770609112881094653273807720965961308799940178823426038086187603765040555662769743929045271053195990515920377443134401370558302787636125214782519615654081707107139219958829149753594079434293008383623450145034748582249258077472137266242533963467802165971459422741691112135085567089856652120529513371106113960237459302879692122048838328543674474478094268385408147405250454693681444048675467141170136466247954003243976194340970390334529363269870024341351864199450587918742023025247938922435084790575693713644550779941580952471525997514020261171352246025526234551530731062685074465509840461915143938295335780570830686853082235368238025785944980889544336210267944762408999518496000741043958703228278207185972533712912628876093572901020167722383781172531280591924266253182798803216533554487088025585166035337347439781860657151110582403133092105188223194116017772303296948362831371348568409639358030029282908164776427179384875945437880490138442116801813525684942341863862702016685038537775176031934614283886421293198042130951392565474364064247701503497041535771931611632131793678861071511620723572841962341810475611388110561673957695960756689148401649210494090185832965159130473995774544077284744898855700864543618405685588197548832002 95974047360175285711817036212962357499504501647428013006714294134046262372305385116449947950156043269057899812118130610292732538683605737434433976564307369207274410521300560194173078702632047439251497951760977056053203838327489658282776106608106823150542747418276235412570464734946941915673722276532684415910364502977220734829733479816411348243817314997564555262921625937597759695309750762816399420796234197552808379432401903881472498778514671676752684008312578224720661996179790802758601497042211441063115115978494782215955104314316951837937720301418785123273339619746208600734722572116761729356699107441024717115600406798007091459833306505834299197547374600065925643080204433288564075368891016356594225109590700705388827044942366188627948638566782097763528278929716316970767995226610345937873400139549394873444939053477728682660924371819853959199683714941508254398988359695066235307086280444921663252436324866289654973602467780388142404726183346009845438075613650442967340885013428549448601181191223085527035485820105595635072705699759074362742514745293906525734852357129583472984942758717594375543016718838547907968319200653294943445435774457127600054548999310412492827811579522393452236559641889971648424146170034819404900415602245598486893743850099901262926858438181699116088613156637240227320279473354340463929168227004986419934303465441896718067407100822597203695016852877443882043063932601162023081663514756085844586094990322182412858631837374853950469343093636273945769741337187248981862350576660657111920562339680499471552376404154146153625043893385683043006750224192921311592085550877648086061082402374504581904227908717190160908440971619656055108299276380251261742093649285551997107267853020883121942373492206193221924150696949090991250315180545264422044636650918172489918960163912950003232314378844894652453354698019325207121917519924339964868899240227170759906878735213719600200500896685798725803039277359333874596406269894768358642172157429410297526118046136730094918757946201268216655673028393145802826989621831873577879062531477631268926914938211475944325779763661460817585461623092131103196115837027748559754594185110334202714250332279675682122048464934531086870613043167861342866641026973735356010008167010059683497485909615279822954712116070311683635173815413438685004594734341319254326444233191451924727955287700717685131346922675713044406257456195597774060227570549723564466913682915380426694789065497193606936479361385962651613913102497962320704413776630196401 155289270666655733596069211492895598189135262951679510856639024987701423296826174059111165425103489333051770005178783805093935968120821380136687728174607313492076036395368505981278752209102931500453185249413049516040797623699307308573301661804255201901805117874871349307186445570734157147795365652819020467073674275898497424503388345449575035826715020554833805352867348091015811336516294178449671917793772231917261485395375025387768580556215616457625579256532656190182418687525922970785820470329407359171097429566136082112089138078727305985488648049228672731476984449483663422539390153081352309440580637651755098733989067643966187974401281511888263303158209799158439554006754152922412581693086509465266193882204105386445515851458510058200314090947472847975180994659601727391714580844157526186306874875833521137202869269847247989347270065888991277257780547981629421254275955817522904048142297839160335818759069785700773337322615526246714160465181005259719555183287564563232320817273977205835849328851064911901114478010050944082167129357793742388507369269151547957840118656329715419383215587694351974460003019971522504381721819666952774295148020296830162626970067339748783769866732650559698307465722947696339838410581337328270279851791044074283707518299377445033535971319276352389896334122598549027260458296780378550116771992045542082704047394487167771263397616742974646829418223435746669679189147383681638735745221863225064544924140075776492292924845758477400614377842218523203847213474453491515825818378826628571343304030792634557119466260806266683138414999499643280466053103885043360430414094552122564155350787782651987154682602398634209583908112789792521356253279624227456083064039620081360377137877362234986141824080124935244949398635871526076040890874258908972824578231870644015916474184174121355478339905079446183184417383093790716962379435068278260204679811057857612989114103451745386145481786230134936070984039768333393092407010938727061870450364615382831239030675012823667819778113923651997828204308985070069080172420635090111433549619503216434962252285651257804982930874243863950677566811315325219213888140324696922585965533678743842072280361562583846898475644319407032308493533306303459668454552658677697873870869026744722035261085647214437238598537363509725766125207978913049068842435844816295862216164803084056521634148772229305854919764638054854881868844306159448017923531306412712868562893409470612527754224627667602711023438670707550469613967041580726390001974179028403 251263318026831019307886247705857955688639764599107523863353319121747685669131559175561113375259532602109669817296914415386668506804427117571121704738914682699350446916669066175451830911734978939704683201174026572094001462026796966856077768412362025052347865293147584719756910305681099063469087929351704882984038778875718159333121825265986384070532335552398360615788974028613571031826044941266071338590006429470069864827776929269241079334730288134378263264845234414903080683705713773544421967371618800234212545544630864328044242393044257823426368350647457854750324069229872023274112725198114038797279745092779815849589474441973279434234588017722562500705584399224365197086958586210976657061977525821860418991794806091834342896400876246828262729514254945738709273589318044362482576070767872124180275015382916010647808323324976672008194437708845236457464262923137675653264315512589139355228578284081999071195394651990428310925083306634856565191364351269564993258901215006199661702287405755284450510042287997428149963830156539717239835057552816751249884014445454483574971013459298892368158346411946350003019738810070412350041020320247717740583794753957762681519066650161276597678312172953150544025364837667988262556751372147675180267393289672770601262149477346296462829757458051505984947279235789254580737770134719014045940219050528502638350859929064489330804717565571850524435076313190551722253079984843661817408736619310909131019130397958905151556683133331351083720935854797149616954811640740497688168955487285683263866370473134028671842664960412836763458892885326323472803328077964672022499645429770650216433190157156569058910511115824370492349084409448576464552556004478717825157688905633357484405730383118108084197572331128466873549332820617067291206054804173394869214882788816505835434348087071358710654283924340835637772081113115924084296954992618225073579051285028372895992838665464986345982682915933661874023317127667267688813280833495420512622522044793128765148721149553762738536060124920214483877337378215871907162042466963689312612150980847703889167223862733749308710637905324768263028434407456322410003977352445482340559718789078044786530693842259529020524109253938119179106576474164802535095579632413053883879036036804405532746995262494260193310653433821409401299023392351734073437170186135550188660397994535981249589436472946990986266687313767899288126300501757222078151101856136277335476576324851039222543290124861209647502800056670202083527069539543047094415750809224804 406552588693486752903955459198753553877775027550787034719992344109449108965957733234672278800363021935161439822475698220480604474925248497707809432913521996191426483312037572156730583120837910440157868450587076088134799085726104275429379430216617226954152983168018934026943355876415256211264453582170725350057713054774215583836510170715561419897247356107232165968656322119629382368342339119715743256383778661387331350223151954657009659890945904592003842521377890605085499371231636744330242437701026159405309975110766946440133380471771563808915016399876130586227308518713535445813502878279466348237860382744534914583578542085939467408635869529610825803863794198382804751093712739133389238755064035287126612873998911478279858747859386305028576820461727793713890268248919771754197156914925398310487149891216437147850677593172224661355464503597836513715244810904767096907540271330112043403370876123242334889954464437691201648247698832881570725656545356529284548442188779569431982519561382961120299838893352909329264441840207483799406964415346559139757253283597002441415089669789014311751373934106298324463022758781592916731762839987200492035731815050787925308489133989910060367545044823512848851491087785364328100967332709475945460119184333747054308780448854791329998801076734403895881281401834338281841196066915097564162712211096070585342398254416232260594202334308546497353853299748937221401442227368525300553153958482535973675943270473735397444481528891808751698098778073320353464168286094232013513987334313914254607170401265768585791308925766679519901873892384969603938856431963008032452913739981893214371783977939808556213593113514458580076257197199241097820805835628706173908221728525714717861543607745353094226021652456063711822947968692143143332096929063082367693793114659460521751908532261192714188994189003787018822189464206906641046676390060896485278258862342885985885106942117210372491464469146068597945007356896000660781220291772222482383072886660175960004179396162377430558314174048572212312081646363285940987334463102053800746161770484064138851419509513991554291641512149188718940595245722781541623892117677142404926525252467821886858811055404843375918999753573345151487600109780468262203550132291090751757749905063549127568008080909708697431909190797331135167424231371264783142279606030951846050876562797620037771223585245176296841186451951822754169995144807916670096074633162548990204039469734321651750297514752528812358526238727377752553141036581123773484417724988253207 657815906720317772211841706904611509566414792149894558583345663231196794635089292410233392175622554537271109639772612635867272981729675615278931137652436678890776930228706638332182414032572889379862551651761102660228800547752901242285457198628979252006500848461166518746700266182096355274733541511522430233041751833649933743169631995981547803967779691659630526584445296148242953400168384060981814594973785090857401215050928883926250739225676192726382105786223125019988580054937350517874664405072644959639522520655397810768177622864815821632341384750523588440977632587943407469087615603477580387035140127837314730433168016527912746842870457547333388304569378597607169948180671325344365895817041561108987031865793717570114201644260262551856839549975982739452599541838237816116679732985693270434667424906599353158498485916497201333363658941306681750172709073827904772560804586842701182758599454407324333961149859089681629959172782139516427290847909707798849541701089994575631644221848788716404750348935640906757414405670364023516646799472899375891007137298042456924990060683248313204119532280518244674466042497591663329081803860307448209776315609804745687990008200640071336965223356996465999395516452623032316363524084081623620640386577623419824910042598332137626461630834192455401866228681070127536421933837049816578208652430146599087980749114345296749925007051874118347878288376062127773123695307353368962370562695101846882806962400871694302596038212025140102781819713928117503081123097734972511202156289801199937871036771738902614463151590727092356665332785270295927411659760040972704475413385411663864588217168096965125272503624630282950568606281608689674285358391633184891733379417431348075345949338128471202310219224787192178696497301512760210623302983867255762563007997448277027587342880348264072899648472928127854459961545320022565130973345053514710351837913627914358781099780782675358837447152062002259819030674023667928470033572605717902895695408704969088769328117311931193296850234173492426795958983741501812894496505569017490058773921464911842740586733376725303600352150054513487203623680130237864033896095029587887267084971256899931645341749247102904939523862827283270666706686254633064738645711923503805641628941100353533100755076172202957625219844231152544568723254763616517215716776217087396239536960792156019020813021718123287827453139265590653458121445309673892174225735018685267539516046059172690972840804877390022006029038784047954636668106120666820578833475797478011 1064368495413804525115797166103365063444189819700681593303338007340645903601047025644905670975985576472432549462248310856347877456654924112986740570565958675082203413540744210488912997153410799820020420102348178748363599633479005517714836628845596478960653831629185452773643622058511611485997995093693155583099464888424149327006142166697109223865027047766862692553101618267872335768510723180697557851357563752244732565274080838583260399116622097318385948307601015625074079426168987262204906842773671119044832495766164757208311003336587385441256401150399719027204941106656942914901118481757046735273000510581849645016746558613852214251506327076944214108433172795989974699274384064477755134572105596396113644739792629048394060392119648856885416370437710533166489810087157587870876889900618668745154574797815790306349163509669425994719123444904518263887953884732671869468344858172813226161970330530566668851104323527372831607420480972397998016504455064328134090143278774145063626741410171677525050187828993816086678847510571507316053763888245935030764390581639459366405150353037327515870906214624542998929065256373256245813566700294648701812047424855533613298497334629981397332768401819978848247007540408396644464491416791099566100505761957166879218823047186928956460431910926859297747510082904465818263129903964914142371364641242669673323147368761529010519209386182664845232141675811064994525137534721894262923716653584382856482905671345429700040519740916948854479918492001437856545291383829204524716143624115114192478207173004671200254460516493771876567206677655265531350516192003980736928327125393557078960001146036773681486096738144741530644863478807930772106164227261891065641601145957062793207492945873824296536240877243255890519445270204903353955399912930338130256801112107737549339251412609456787088642661931914873282151009526929206177649735114411195630096775970800344666206722899885731328911621208070857764038030919668589251253864377940385278768295365145048773507513474308623855164408222064639108040630104787753881830968671071290804935691948975981592006242890716857891993662203702206144218925853019405657788212706730292193610223724721818504152804651946280858523616400628422154306796035101326942195844214594557399378846163902660668763157081911655057129035028483679736147486134881300357996382248039242290413523589776056792036606963299584668639591217413407628116590117590562270300368181234257743555515793494342723138319629918834364555277511425707189809142701790594063251200785731218 1722184402134122297327638873007976573010604611850576151886683670571842698236136318055139063151608131009703659102020923492215150438384599728265671708218395353972980343769450848821095411185983689199882971754109281408592400181231906760000293827474575730967154680090351971520343888240607966760731536605215585816141216722074083070175774162678657027832806739426493219137546914416115289168679107241679372446331348843102133780325009722509511138342298290044768054093824140645062659481106337780079571247846316078684355016421562567976488626201403207073597785900923307468182573694600350383988734085234627122308140638419164375449914575141764961094376784624277602413002551393597144647455055389822121030389147157505100676605586346618508262036379911408742255920413693272619089351925395403987556622886311939179821999704415143464847649426166627328082782386211200014060662958560576642029149445015514408920569784937891002812254182617054461566593263111914425307352364772126983631844368768720695270963258960393929800536764634722844093253180935530832700563361145310921771527879681916291395211036285640719990438495142787673395107753964919574895370560602096911588363034660279301288505535270052734297991758816444847642523993031428960828015500872723186740892339580586704128865645519066582922062745119314699613738763974593354685063741014730720580017071389268761303896483106825760444216438056783193110430051873192767648832842075263225294279348686229739289868072217124002636557952942088957261738205929555359626414481564177035918299913916314130349243944743573814717612107220864233232539462925561458762175952044953441403740510805220943548218314133738806758600362775024481213469760416620446391522618895075957374980563388410868553442284002295498846460102030448069215942571717663564578702896797593892819809109556014576926594292957720859988291134860042727742112554846951771308623080167925905981934689598714703447306503682561090166358773270073117583068704943336517721287436983658288174463704070114137542835630786239817152014642395557065903999613846289566776327474240088780863709613413887824332592976267442161492345812258215693347842605983257269691684307736318179460695194981621750149494553899049185798047479227911692821013482289734391680841556138098363041007787264256193769518233254114612682348879259636224304870740898497817573713158465126638529950484381932075812849628681422872496092730483004061086238035427264454444526103199919525283071561852667033695979124507308856370584316295473661826477248822457414642084676583209229 2786552897547926822443436039111341636454794431551257745190021677912488601837183343700044734127593707482136208564269234348563027895039523841252412278784354029055183757310195059310008408339394489019903391856457460156955999814710912277715130456320172209927808511719537424293987510299119578246729531698908741399240681610498232397181916329375766251697833787193355911690648532683987624937189830422376930297688912595346866345599090561092771537458920387363154002401425156270136738907275325042284478090619987197729187512187727325184799629537990592514854187051323026495387514801257293298889852566991673857581141149001014020466661133755617175345883111701221816521435724189587119346729439454299876164961252753901214321345378975666902322428499560265627672290851403805785579162012552991858433512786930607924976574502230933771196812935836053322801905831115718277948616843293248511497494303188327635082540115468457671663358506144427293174013744084312423323856819836455117721987647542865758897704669132071454850724593628538930772100691507038148754327249391245952535918461321375657800361389322968235861344709767330672324173010338175820708937260896745613400410459515812914587002869900034131630760160636423695889531533439825605292506917663822752841398101537753583347688692705995539382494656046173997361248846879059172948193644979644862951381712631938434627043851868354770963425824239448038342571727684257762173970376797157488217996002270612595772773743562553702677077693859037811741656697930993216171705865393381560634443538031428322827451117748245014972072623714636109799746140580826990112692144048934178332067636198778022508219460170512488244697100919766011858333239224551218497686846156967023016581709345473661760935229876119795382700979273703959735387841922566918534102809727932023076610221663752126265845705567177647076933796791957601024263564373880977486272815282337101612031465569515048113513226582446821495270394478143975347106735863005106972541301361598673453231999435259186316343144260548441007179050617621705012040243951077320658158442911160071668645305362863805924599219158159019384339474461917899492061531836276675349472520443048471654305418706343568653647358550995466656571095628540114975320278324835718623037400352692920440386633428158854438281390336026267739477914288119904041018227033379117931709540713165880820364007971708132604886235644722457164732321700417468714354625544855016714826471381153783026627077646161376419117444137227690735139593806899369016286391524248008705335877368940447 4508737299682049119771074912119318209465399043401833897076705348484331300073319661755183797279201838491839867666290157840778178333424123569518083987002749383028164101079645908131103819525378178219786363610566741565548399995942819037715424283794747940894963191809889395814331398539727545007461068304124327215381898332572315467357690492054423279530640526619849130828195447100102914105868937664056302744020261438449000125924100283602282675801218677407922056495249296915199398388381662822364049338466303276413542528609289893161288255739393799588451972952246333963570088495857643682878586652226300979889281787420178395916575708897382136440259896325499418934438275583184263994184494844121997195350399911406314997950965322285410584464879471674369928211265097078404668513937948395845990135673242547104798574206646077236044462362002680650884688217326918292009279801853825153526643748203842044003109900406348674475612688761481754740607007196226848631209184608582101353832016311586454168667928092465384651261358263261774865353872442568981454890610536556874307446341003291949195572425608608955851783204910118345719280764303095395604307821498842524988773494176092215875508405170086865928751919452868543532055526471254566120522418536545939582290441118340287476554338225062122304557401165488696974987610853652527633257385994375583531398784021207195930940334975180531407642262296231231453001779557450529822803218872420713512275350956842335062641815779677705313635646801126769003394903860548575798120346957558596552743451947742453176695062491818829689684730935500343032285603506388448874868096093887619735808147003998966056437774304251295003297463694790493071802999641171664889209465052042980391562272733884530314377513878415294229161081304152028951330413640230483112805706525525915896419331219766703192439998524898507065224931652000328766376119220832748794895895450263007593966155168229751560819730265007911661629167748217092930175440806341624693828738345256961627695703505373323859178775046788258159193693013178770916039857797366887434485917151248852532354918776751630257192195425601180876685286720133592839904137819533945041156828179366651115000613687965318803141912450044652454618574856451807796333760614570110303878956490791283481394420692415048207799623590140880421826793547756128345888967931876935505422699178292519350314492353640208417735864326145329660825052183421529800592660972119471159352574581073308309698639498828410115096568644536547105723910102373030842763640346705423347420553952149676 7295290197229975942214510951230659845920193474953091642266727026396819901910503005455228531406795545973976076230559392189341206228463647410770496265787103412083347858389840967441112227864772667239689755467024201722504399810653731315430554740114920150822771703529426820108318908838847123254190600003033068614622579943070547864539606821430189531228474313813205042518843979784090539043058768086433233041709174033795866471523190844695054213260139064771076058896674453185336137295656987864648527429086290474142730040797017218346087885277384392103306160003569360458957603297114936981768439219217974837470422936421192416383236842652999311786143008026721235455873999772771383340913934298421873360311652665307529319296344297952312906893379031939997600502116500884190247675950501387704423648460173155029775148708877011007241275297838733973686594048442636569957896645147073665024138051392169679085650015874806346138971194905909047914620751280539271955066004445037219075819663854452213066372597224536839501985951891800705637454563949607130209217859927802826843364802324667606995933814931577191713127914677449018043453774641271216313245082395588138389183953691905130462511275070120997559512080089292239421587059911080171413029336200368692423688542656093870824243030931057661687052057211662694336236457732711700581451030974020446482780496653145630557984186843535302371068086535679269795573507241708291996773595669578201730271353227454930835415559342231407990713340660164580745051601791541791969826212350940157187186989979170776004146180240063844661757354650136452832031744087215438987560240142821798067875783202776988564657234474763783247994564614556504930136238865722883386896311209010003408143982079358192075312743754535089611862060577855988686718255562797401646908516253457938973029552883518829458285704092076154142158728443957929790639683594713726281168710732600109205997620737744799674332956847454733156899562226361068277282176669346731666370039706855635080927702940632510175521919307336699166372743630800475928080101748444208092644360062408924201000224139615436181791414583760200261024761182051492331965669655810620390629348622415122769306032394308887456789271001040119111189670484991922771654038939405828926916356843484203921781054120573902646081013926167148161304707835876032386907194965256053437132239891458400170678500325348341022622099970867786825557373883838998514947286516974487874179045962227091336325717144989786534214012781764237840863503909272399859050031870953432052756431321090123 11804027496912025061985585863349978055385592518354925539343432374881151201983822667210412328685997384465815943896849550030119384561887770980288580252789852795111511959469486875572216047390150845459476119077590943288052799806596550353145979023909668091717734895339316215922650307378574668261651668307157395830004478275642863331897297313484612810759114840433054173347039426884193453148927705750489535785729435472244866597447291128297336889061357742178998115391923750100535535684038650687012576767552593750556272569406307111507376141016778191691758132955815694422527691792972580664647025871444275817359704723841370812299812551550381448226402904352220654390312275355955647335098429142543870555662052576713844317247309620237723491358258503614367528713381597962594916189888449783550413784133415702134573722915523088243285737659841414624571282265769554861967176447000898818550781799596011723088759916281155020614583883667390802655227758476766120586275189053619320429651680166038667235040525317002224153247310155062480502808436392176111664108470464359701150811143327959556191506240540186147564911119587567363762734538944366611917552903894430663377957447867997346338019680240207863488263999542160782953642586382334737533551754736914632005978983774434158300797369156119783991609458377151391311224068586364228214708416968396030014179280674352826488924521818715833778710348831910501248575286799158821819576814541998915242546704184297265898057375121909113304348987461291349748446505652090367767946559308498753739930441926913229180841242731882674351442085585636795864317347593603887862428336236709417803683930206775954621095008779015078251292028309346998001939238506894548276105776261052983799706254813242722389690257632950383841023141882008017638048669203027884759714222778983854869448884103285532650725702616974661207383660095958258557015802815546475076064606182863116799963775905974551235152687112462644818528729974578161207457617475688356360198778052112596708623406446005834034700694354124957325566436643979246844119959545811095527130277213657776733355142916367066438983610009361381137710047902185085171869807475344565431786176801781773884306646082274206259931183451084771565808245341443730567987799553975939230795313334275487403175474812988950853880637516308028583131501383632160732796162897132988942554939069750919520992992678988549440357964297013116486382426067260528315539947489093959033531620543300399646024356643818196649310581426300784946587414011645430701813672217658855400176985273239799 19099317694142001004200096814580637901305785993308017181610159401277971103894325672665640860092792930439792020127408942219460590790351418391059076518576956207194859817859327843013328275254923512699165874544615145010557199617250281668576533764024588242540506598868743036030969216217421791515842268310190464444627058218713411196436904134914802341987589154246259215865883406668283992191986473836922768827438609506040733068970481972992391102321496806950074174288598203285871672979695638551661104196638884224699002610203324329853464026294162583795064292959385054881485295090087517646415465090662250654830127660262563228683049394203380760012545912378941889846186275128727030676012363440965743915973705242021373636543653918190036398251637535554365129215498098846785163865838951171254837432593588857164348871624400099250527012957680148598257876314212191431925073092147972483574919850988181402174409932155961366753555078573299850569848509757305392541341193498656539505471344020490880301413122541539063655233262046863186140263000341783241873326330392162527994175945652627163187440055471763339278039034265016381806188313585637828230797986290018801767141401559902476800530955310328861047776079631453022375229646293414908946581090937283324429667526430528029125040400087177445678661515588814085647460526319075928796159447942416476496959777327498457046908708662251136149778435367589771044148794040867113816350410211577116972818057411752196733472934464140521295062328121455930493498107443632159737772771659438910927117431906084005184987422971946519013199440235773248696349091680819326849988576379531215871559713409552943185752243253778861499286592923903502932075477372617431663002087470062987207850236892600914465003001387485473452885202459864006324766924765825286406622739032441793842478436986804362109011406709050815349542388539916188347655486410260201357233316915463226005961396643719350909485643959917377975428292200939229484739794145035088026568817758968231789551109386638344210222613661461656491939180274779722772200061294255303619774637276066700934355367055982502620775024593121581398734809084236577503835477131155185822415525424196896653612678476583093716720454452124890676997915826435653339641838493381768157711670177759691324956528933562853499961651442475176744436209219508193119703357862389042379687178961209319691671493004336890462980064267880903311939799951099526830487234006068446907710666505527490982350073788807983183524594208065022787450917920917830560863704088612287452933416594329922 30903345191054026066185682677930615956691378511662942720953591776159122305878148339876053188778790314905607964024258492249579975352239189371347656771366809002306371777328814718585544322645074358158641993622206088298609999423846832021722512787934256334258241494208059251953619523595996459777493936617347860274631536494356274528334201448399415152746703994679313389212922833552477445340914179587412304613168044978285599666417773101289727991382854549129072289680521953386407208663734289238673680964191477975255275179609631441360840167310940775486822425915200749304012986883060098311062490962106526472189832384103934040982861945753762208238948816731162544236498550484682678011110792583509614471635757818735217953790963538427759889609896039168732657928879696809380080055727400954805251216727004559298922594539923187493812750617521563222829158579981746293892249539148871302125701650584193125263169848437116387368138962240690653225076268234071513127616382552275859935123024186529547536453647858541287808480572201925666643071436733959353537434800856522229144987088980586719378946296011949486842950153852583745568922852530004440148350890184449465145098849427899823138550635550536724536040079173613805328872232675749646480132845674197956435646510204962187425837769243297229670270973965965476958684594905440157010867864910812506511139058001851283535833230480966969928488784199500272292724080840025935635927224753576032215364761596049462631530309586049634599411315582747280241944613095722527505719330967937664667047873832997234365828665703829193364641525821410044560666439274423214712416912616240633675243643616328897806847252032793939750578621233250500934014715879511979939107863731115971007556491705843636854693259020435857293908344341872023962815593968853171166336961811425648711927321090089894759737109326025476556926048635874446904671289225806676433297923098326342805925172549693902144638331072380022793957022175517390692197411620723444386767595811080828498174515832644178244923308015586613817505616918758969616320020840066399146904914489724477667710509972349569059758634602482962536444856986421662675705284606499751254201702225978670537919324558857299976651637903209662242806161167879383907629638047357707388506983512035178728132003746551804353842288958783205327567710603140353852499520759522031322242118030960239212664485683325439903338028564894019798322226018360055146027181495162405941242287048827890628374430432626179832835175634365807734038331932563261262677376306271142853110401867569721 50002662885196027070385779492511253857997164504970959902563751177437093409772474012541694048871583245345399984151667434469040566142590607762406733289943765209501231595188142561598872597899997870857807868166821233309167199041097113690299046551958844576798748093076802287984588739813418251293336204927538324719258594713069685724771105583314217494734293148925572605078806240220761437532900653424335073440606654484326332735388255074282119093704351356079146463969120156672278881643429927790334785160830362199954277789812955771214304193605103359281886718874585804185498281973147615957477956052768777127019960044366497269665911339957142968251494729110104434082684825613409708687123156024475358387609463060756591590334617456617796287861533574723097787144377795656165243921566352126060088649320593416463271466164323286744339763575201711821087034894193937725817322631296843785700621501572374527437579780593077754121694040813990503794924777991376905668957576050932399440594368207020427837866770400080351463713834248788852783334437075742595410761131248684757139163034633213882566386351483712826120989188117600127375111166115642268379148876474468266912240250987802299939081590860865585583816158805066827704101878969164555426713936611481280865314036635490216550878169330474675348932489554779562606145121224516085807027312853228983008098835329349740582741939143218106078267219567090043336872874880893049452277634965153149188182819007801659365003244050190155894473643704203210735442720539354687243492102627376575594165305739081239550816088675775712377840966057183293257015530955242541562405488995771849546803357025881840992599495286572801249865214157154003866090193252129411602109951201178958215406728598444551319696260407921330746793546801736030287582518734678457572959700843867442554405758076894256868748516035076291906468437175790635252326775636066877790531240013789568811886569193413253054123975032297400769385314376456620176937205765758532413336413570049060287725625219282522455145921677048270309444797193538692388520082134321702766679551765791178602065877028332071680533659195604543935179666070658240179540761737654937076617227650175567191532003035440393693372092355334552919804076994315037247271476540739475546218653689794870053088532680114657853803940401258382072003919822648546972202878621911073701929296992169558904335978687662330366318092832774923110262025969459581976514415501230852848952953554355381610724504221434163016359769842430830521489249853481091823541080394883430306043818461899643 80906008076250053136571462170441869814688543016633902623517342953596215715650622352417747237650373560251007948175925926718620541494829797133754390061310574211807603372516957280184416920545072229016449861789027321607777198464943945712021559339893100911056989587284861539938208263409414711070830141544886184993890131207425960253105307031713632647480997143604885994291729073773238882873814833011747378053774699462611932401806028175571847085087205905208218753649642110058686090307164217029008466125021840175209552969422587212575144360916044134768709144789786553489511268856207714268540447014875303599209792428470431310648773285710905176490443545841266978319183376098092386698233948607984972859245220879491809544125580995045556177471429613891830445073257492465545323977293753080865339866047597975762194060704246474238152514192723275043916193474175684019709572170445715087826323152156567652700749629030194141489833003054681157020001046225448418796573958603208259375717392393549975374320418258621639272194406450714519426405873809701948948195932105206986284150123613800601945332647495662312963939341970183872944034018645646708527499766658917732057339100415702123077632226411402310119856237978680633032974111644914201906846782285679237300960546840452403976715938573771905019203463520745039564829716129956242817895177764041489519237893331201024118575169624185076006756003766590315629596955720918985088204859718729181403547580603851121996533553636239790493884959286950490977387333635077214749211433595314240261213179572078473916644754379604905742482491878593337817681970229665756274822401612012483222047000642210738799446747319366741000443835390404504800104909131641391541217814932294929222963220304288188174389519428357188040701891143608054250398112703531628739296662655293091266333079166984151628485625361101768463394485811665082156998064861873554223829163112115911617811741743107155198762306104677423563342336551974010869134617386481976800104009381129888785900141051926700700069229692634884126950414112297662004840102974388101913584466255515656269776387000681640740292293798087506471624523057079902855246046344154688330818929876154237729451327594297693670023730258544215162610238162194421154901114588097182934725637201830048781220536426666462207646229360041587399571630425788900824702399381433105024171415023129798117000464370987770269656121397668942908584251987819637122541596996393258790195240603183272239098934654060342849194945476796638255527581786044353086218456701154573159154220329469364 130908670961446080206957241662953123672685707521604862526081094131033309125423096364959441286521956805596407932327593361187661107637420404896161123351254339421308834967705099841783289518445070099874257729955848554916944397506041059402320605891851945487855737680361663827922797003222832962364166346472424509713148725920495645977876412615027850142215290292530458599370535313994000320406715486436082451494381353946938265137194283249853966178791557261287365217618762266730964971950594144819343251285852202375163830759235542983789448554521147494050595863664372357675009550829355330226018403067644080726229752472836928580314684625668048144741938274951371412401868201711502095385357104632460331246854683940248401134460198451663352465332963188614928232217635288121710567898860105206925428515368191392225465526868569760982492277767924986865003228368369621745526894801742558873526944653728942180138329409623271895611527043868671660814925824216825324465531534654140658816311760600570403212187188658701990735908240699503372209740310885444544358957063353891743423313158247014484511718998979375139084928530087784000319145184761288976906648643133385998969579351403504423016713817272267895703672396783747460737075990614078757333560718897160518166274583475942620527594107904246580368135953075524602170974837354472328624922490617270472527336728660550764701317108767403182085023223333680358966469830601812034540482494683882330591730399611652781361536797686429946388358602991153701712830054174431901992703536222690815855378485311159713467460843055380618120323457935776631074697501184908297837227890607784332768850357668092579792046242605939542250309049547558508666195102383770803143327766133473887438369948902732739494085779836278518787495437945344084537980631438210086312256363499160533820738837243878408497234141396178060369862922987455717409324840497940432014360403125905480429698310936520408252886281136974824332727650928430631046071823152240509213440422951178949073625766271209223155215151369683154436395211305836354393360185108709804680264018021306834871842264029013712420825952993692050406804189127738143034786808081809625407436157526329804920983330629738087363395822613878768082414315156509458402172591128836658480944290891624918834309069106781120061450169761299969471575550248437447796905278003344178726100712015299357021336443058650100635974214230443866018846277957279219099056012497624111639148194157538653849823438875494505865554715319227468777016831639525444909759537096038003465198038791369007 211814679037696133343528703833394993487374250538238765149598437084629524841073718717377188524172330365847415880503519287906281649132250202029915513412564913633116438340222057121967706438990142328890707591744875876524721595970985005114342165231745046398912727267646525367861005266632247673434996488017310694707038857127921606230981719646741482789696287436135344593662264387767239203280530319447829829548156053409550197539000311425425813263878763166495583971268404376789651062257758361848351717410874042550373383728658130196364592915437191628819305008454158911164520819685563044494558850082519384325439544901307359890963457911378953321232381820792638390721051577809594482083591053240445304106099904819740210678585779446708908642804392802506758677290892780587255891876153858287790768381415789367987659587572816235220644791960648261908919421842545305765236466972188273961353267805885509832839079038653466037101360046923352817834926870442273743262105493257348918192029152994120378586507606917323630008102647150217891636146184695146493307152995459098729707463281860815086457051646475037452048867872057967873263179203406935685434148409792303731026918451819206546094346043683670205823528634762428093770050102258992959240407501182839755467235130316395024504310046478018485387339416596269641735804553484428571442817668381311962046574621991751788819892278391588258091779227100270674596066786322731019628687354402611511995277980215503903358070351322669736882243562278104192690217387809509116741914969818005056116591664883238187384105597434985523862805949814369968892379471414574054112050292219796815990897358310303318591492989925306283250752884937963013466300011515412194684545581065768816661333169207020927668475299264635706828197329088952138788378744141741715051553026154453625087071916410862560125719766757279828833257408799120799566322905359813986238189566238021392047510052679627563451648587241652247896069987480404641915206440538722486013544432332308837859525907323135923855284381062318038563345625418134016398200288083097906593848484276822491141618651029695353161118246791779556878428712184818045890032854425964313738255087402484042650434658224035781033419552872422983245024553318703879557073705716933841415669928093454967615529605533447582269096399121341556871147180674226348621607677384777283750272127038429155138336907429637870905630335628112808927430529945098856221597609494017370429343434760721926088922373529554848714749660796024107032544413425569797995977993797192576624352259120838371 342723349999142213550485945496348117160059958059843627675679531215662833966496815082336629810694287171443823812831112649093942756769670606926076636763819253054425273307927156963750995957435212428764965321700724431441665993477026064516662771123596991886768464948008189195783802269855080635799162834489735204420187583048417252208858132261769332931911577728665803193032799701761239523687245805883912281042537407356488462676194594675279779442670320427782949188887166643520616034208352506667694968696726244925537214487893673180154041469958339122869900872118531268839530370514918374720577253150163465051669297374144288471278142537047001465974320095744009803122919779521096577468948157872905635352954588759988611813045977898372261108137355991121686909508528068708966459775013963494716196896783980760213125114441385996203137069728573248773922650210914927510763361773930832834880212459614452012977408448276737932712887090792024478649852694659099067727637027911489577008340913594690781798694795576025620744010887849721263845886495580591037666110058812990473130776440107829570968770645454412591133796402145751873582324388168224662340797052925689729996497803222710969111059860955938101527201031546175554507126092873071716573968220080000273633509713792337645031904154382265065755475369671794243906779390838900900067740158998582434573911350652302553521209387158991440176802450433951033562536616924543054169169849086493842587008379827156684719607149009099683270602165269257894403047441983941018734618506040695871971970150194397900851566440490366141983129407750146599967076972599482351949278182827581148759747715978395898383539232531245825501061934485521522132495113899182997827873347199242704099703118109753667162561079100914225615692767034296223326359375579951801363809389653614158907810753654740968622953908153457889203120331786576516975647745857754418252549969363926872477208363616147971704534868378627072228797638408835272961278263690962995226984855283487786933151673594345147010499532432001192999740836723970370791560473191807711274112502298129326013460915058709065581944199785471607285232901312556188924819662507773939145691244928813847571417988853773868396815375486301751327438868475213337959246296845770499896614218985079886449838674640228702330546568882641526342722730922663796418512955388121462476372839053728512159673350488287971541604549858556674946276807902378075320653621991641482068491628918260579938745812405049354580304376115251575809561245065095242905737530893230580089550297912207378 554538029036838346894014649329743110647434208598082392825277968300292358807570533799713818334866617537291239693334631937000224405901920808955992150176384166687541711648149214085718702396425354757655672913445600307966387589448011069631004936355342038285681192215654714563644807536487328309234159322507045899127226440176338858439839851908510815721607865164801147786695064089528478726967776125331742110590693460766038660215194906100705592706549083594278533160155571020310267096466110868516046686107600287475910598216551803376518634385395530751689205880572690180004051190200481419215136103232682849377108842275451648362241600448425954787206701916536648193843971357330691059552539211113350939459054493579728822491631757345081169750941748793628445586799420849296222351651167821782506965278199770128200784702014202231423781861689221510682842072053460233275999828746119106796233480265499961845816487486930203969814247137715377296484779565101372810989742521168838495200370066588811160385202402493349250752113534999939155482032680275737530973263054272089202838239721968644657425822291929450043182664274203719746845503591575160347774945462717993461023416255041917515205405904639608307350729666308603648277176195132064675814375721262840029100744844108732669536214200860283551142814786268063885642583944323329471510557827379894396620485972644054342341101665550579698268581677534221708158603403247274073797857203489105354582286360042660588077677500331769420152845727547362087093264829793450135476533475858700928088561815077636088235672037925351665845935357564516568859456444014056406061328475047377964750645074288699216975032222456552108751814819423484535598795125414595192512418928265011520761036287316774594831036378365549932443890096123248362114738119721693516415362415808067783994882670065603528748673674910737718036377740585697316541970651217568404490739535601948264524718416295775535156183455620279320124867625889239914876484704229685481240529287615796624792677580917481070865783913494319231563086462142104387189760761274905617867960986574951817155079566088404418743062446577251164163661613497374234814852516933738252883946332331297890221852647077809649430234928358724734572463421793917217516320002562704341312284147078534854065368280173676284599642968003983083213869911596890145040120632772898746226644966092157667298010257917925842447234885486669483873707337847476931542251231485658852497835063678982506027668185934604203295054036911275682842105658490665040901715524690423156713902557033045749 897261379035980560444500594826091227807494166657926020500957499515955192774067348882050448145560904708735063506165744586094167162671591415882068786940203419741966984956076371049469698353860567186420638235146324739408053582925037134147667707478939030172449657163662903759428609806342408945033322156996781103547414023224756110648697984170280148653519442893466950979727863791289718250655021931215654391633230868122527122891389500775985372149219404022061482349042737663830883130674463375183741654804326532401447812704445476556672675855353869874559106752691221448843581560715399793935713356382846314428778139649595936833519742985472956253181022012280657996966891136851787637021487368986256574812009082339717434304677735243453430859079104784750132496307948918005188811426181785277223162174983750888413909816455588227626918931417794759456764722264375160786763190520049939631113692725114413858793895935206941902527134228507401775134632259760471878717379549080328072208710980183501942183897198069374871496124422849660419327919175856328568639373113085079675969016162076474228394592937383862634316460676349471620427827979743385010115742515643683191019914058264628484316465765595546408877930697854779202784302288005136392388343941342840302734254557901070314568118355242548616898290155939858129549363335162230371578297986378476831194397323296356895862311052709571138445384127968172741721140020171817127967027052575599197169294739869817272797284649340869103423447892816619981496312271777391154211151981899396800060531965272033989087238478415717807829064765314663168826533416613538758010606657874959113510392790267095115358571454987797934252876753909006057731290239313778190340292275464254224860739405426528261993597457466464158059582863157544585441097495301645317779171805461681942902693423720344497371627583064195607239498072372273833517618397075322822743289504965875137001926779911923506860718323998906392353665264298075187837762967920648476467514142899284411725829254511826217876283445926320424562827298866074757981321234466713329142073488873081143168540481147113484325006646362722771448894514809930423739672179441512192029637577260111737793270635931583517827050303845026485899902290269130555475566299408474841208898366063614740515206954813904986930189536886624609556592642519553941458633588161020208703017805145886179457683608406213813988839435345226158819984145749855006862904853477300334566326692597243085966413998339653557875358413026527258651666903555760283807453055583653736803452854945253127 1451799408072818907338515244155834338454928375256008413326235467816247551581637882681764266480427522246026303199500376523094391568573512224838060937116587586429508696604225585135188400750285921944076311148591925047374441172373048203778672643834281068458130849379317618323073417342829737254267481479503827002674640463401094969088537836078790964375127308058268098766422927880818196977622798056547396502223924328888565783106584406876690964855768487616340015509198308684141150227140574243699788340911926819877358410920997279933191310240749400626248312633263911628847632750915881213150849459615529163805886981925047585195761343433898911040387723928817306190810862494182478696574026580099607514271063575919446256796309492588534600610020853578378578083107369767301411163077349607059730127453183521016614694518469790459050700793107016270139606794317835394062763019266169046427347172990614375704610383422137145872341381366222779071619411824861844689707122070249166567409081046772313102569099600562724122248237957849599574809951856132066099612636167357168878807255884045118885820415229313312677499124950553191367273331571318545357890687978361676652043330313306545999521871670235154716228660364163382851061478483137201068202719662605680331834999402009802984104332556102832168041104942207922015191947279485559843088855813758371227814883295940411238203412718260150836713965805502394449879743423419091201764884256064704551751581099912477860874962149672638523576293620363982068589577101570841289687685457758097728149093780349670077322910516341069473675000122879179737685989860627595164071935132922337078261037864555794332333603677444350043004691573332490593330085364728373382852711203729265745621775692743302856824633835832014090503472959280792947555835615023338834194534221269749726897576093785948026120301257974933325275875812957971150059589048292891227234029040567823401526645196207699042016901779619185712478532890187315102714247672150333957708043430515081036518506835429307288742067359420639656125913761008179145171081995741618947010034475448032960323620047235517903068069092939973935612556128307304658554524696375250444913583909591409628015123283009393167257285232203751220472365712063047772991886301971179182521182513142149594580575234987581271529832504890607692770462554116444086498754220933918954929662771238043846755693866324139656436074320831895642693691483597331938405156084962959187064161756276225591994082184274257761170412449937802941493772562046425324709168580274076893517355411978298876 2349060787108799467783015838981925566262422541913934433827192967332202744355705231563814714625988426954761366705666121109188558731245103640720129724056791006171475681560301956184658099104146489130496949383738249786782494755298085337926340351313220098630580506542980522082502027149172146199300803636500608106222054486625851079737235820249071113028646750951735049746150791672107915228277819987763050893857155197011092905997973907652676337004987891638401497858241046347972033357815037618883529995716253352278806223625442756489863986096103270500807419385955133077691214311631281007086562815998375478234665121574643522029281086419371867293568745941097964187777753631034266333595513949085864089083072658259163691100987227831988031469099958363128710579415318685306599974503531392336953289628167271905028604334925378686677619724524811029596371516582210554849526209786218986058460865715728789563404279357344087774868515594730180846754044084622316568424501619329494639617792026955815044752996798632098993744362380699259994137871031988394668252009280442248554776272046121593114215008166697175311815585626902662987701159551061930368006430494005359843063244371571174483838337435830701125106591062018162053845780771142337460591063603948520634569253959910873298672450911345380784939395098147780144741310614647790214667153800136848059009280619236768134065723770969721975159349933470567191600883443590908329731911308640303748920875839782295133672246799013507626999741513180602050085889373348232443898837439657494528209625745621704066410148994756787281504064888193842906512523277241133922082541790797296191771430654822889447692175132432147977257568327241496651061375604042151573193003479193519970482515098169831118818231293298478248563055822438337532996933110324984151973706026731431669800269517506292523491928841039128932515373885330244983577207445368214049977318545533698538528571976119622548877620103618092104832198154485390290552010640070982434175557573414365448244336089941133506618350805346960080688741059874253903152403230208332276152107964321114103492160528382631387393075739302696707061450643117235082294196875816762636943221486851521365808393918940976685084335536048777706372268002332178328467452601379654023730080879205764335095782189801486258460022041777232302327055196635998027957387809094939163632680576383930026213377474730353470424913756177121801513675629347186945268060938440259521630488448873468677960496182613911319045770862964330200145439465602185608516621635857730630320808266923552003 3800860195181618375121531083137759904717350917169942847153428435148450295937343114245578981106415949200787669905166497632282950299818615865558190661173378592600984378164527541319846499854432411074573260532330174834156935927671133541705012995147501167088711355922298140405575444492001883453568285116004435108896694950026946048825773656327862077403774059010003148512573719552926112205900618044310447396081079525899658689104558314529367301860756379254741513367439355032113183584955611862583318336628180172156164634546440036423055296336852671127055732019219044706538847062547162220237412275613904642040552103499691107225042429853270778333956469869915270378588616125216745030169540529185471603354136234178609947897296720420522632079120811941507288662522688452608011137580880999396683417081350792921643298853395169145728320517631827299735978310900045948912289229052388032485808038706343165268014662779481233647209896960952959918373455909484161258131623689578661207026873073728128147322096399194823115992600338548859568947822888120460767864645447799417433583527930166712000035423396010487989314710577455854354974491122380475725897118472367036495106574684877720483360209106065855841335251426181544904907259254279538528793783266554200966404253361920676282776783467448212952980500040355702159933257894133350057756009613895219286824163915177179372269136489229872811873315738972961641480626867009999531496795564705008300672456939694772994547208948686146150576035133544584118675466474919073733586522897415592256358719525971374143733059511097856755179065011073022644198513137868729086154476923719633270032468519378683780025778809876498020262259900573987244391460968770524956045714682922785716104290790913133975642865129130492339066528781719130480552768725348322986168240248001181396697845611292240549612230099014062257791249698288216133636796493661105277211347586101521940055217172327321590894521883237277817310731044672705393266258312221316391883601003929446484762842925370440795360418164767599736814654820882433048323485225949951223162142439769147063815780575618149290461144832242670642674006771424539740848721572192013081856805396442930993823517201950369852341620768252528926844633714395226101459338903350833206251263392347913929676357424789067529989854546667839995097517750752442114456142030028858118562343347621973872969071341054493126860988077009017444207367112944518883673217023403218708694650205149694269954578366888169080216183312902133141639212027648610933225790216131807523838163678901850879 6149920982290417842904546922119685470979773459083877280980621402480653040293048345809393695732404376155549036610832618741471509031063719506278320385230169598772460059724829497504504598958578900205070209916068424620939430682969218879631353346460721265719291862465278662488077471641174029652869088752505043215118749436652797128563009476576933190432420809961738198258724511225034027434178438032073498289938234722910751595102532222182043638865744270893143011225680401380085216942770649481466848332344433524434970858171882792912919282432955941627863151405174177784230061374178443227323975091612280120275217225074334629254323516272642645627525215811013234566366369756251011363765054478271335692437208892437773638998283948252510663548220770304635999241938007137914611112084412391733636706709518064826671903188320547832405940242156638329332349827482256503761815438838607018544268904422071954831418942136825321422078412555683140765127499994106477826556125308908155846644665100683943192075093197826922109736962719248119563085693920108855436116654728241665988359799976288305114250431562707663301130296204358517342675650673442406093903548966372396338169819056448894967198546541896556966441842488199706958753040025421875989384846870502721600973507321831549581449234378793593737919895138503482304674568508781140272423163414032067345833444534413947506334860260199594787032665672443528833081510310600907861228706873345312049593332779477068128219455747699653777575776646725186168761355848267306177485360337073086784568345271593078210143208505854644036683129899266865550711036415109863008237018714516929461803899174201573227717953942308645997519828227815483895452836572812676529238718162116305686586805889082965094461096422428970587629584604157468013549701835673307138141946274732613066498115128798533073104158940053191190306623583618461117214003939029319327188666131635220478583789148446944139772141986855369922142929199158095683818268952292298826059158577343811933007179015311574301978768970114559817503395880756686951475888456158283499314250404090261167307941104000780677854220571545367349735457414541774823142918448008775718800026883294452359631911120891346537425956304301306633216901716727404429926791504730487229981344271553678264772139614590553788449876588445072297424572947388440142413529839123797282195023924005903899182448815784846597285901833186139245721042742291705828941277961843478230325138654023162947915074549502080399261954175866463341784651493250796541742411851989538154158971945825402882 9950781177472036218026078005257445375697124376253820128134049837629103336230391460054972676838820325356336706515999116373754459330882335371836511046403548191373444437889357038824351098813011311279643470448398599455096366610640352421336366341608222432808003218387576802893652916133175913106437373868509478324015444386679743177388783132904795267836194868971741346771298230777960139640079056076383945686019314248810410284207090536711410940726500650147884524593119756412198400527726261344050166668972613696591135492718322829335974578769808612754918883424393222490768908436725605447561387367226184762315769328574025736479365946125913423961481685680928504944954985881467756393934595007456807295791345126616383586895580668673033295627341582246143287904460695590522622249665293391130320123790868857748315202041715716978134260759788465629068328138382302452674104667890995051030076943128415120099433604916306555069288309516636100683500955903590639084687748998486817053671538174412071339397189597021745225729563057796979132033516808229316203981300176041083421943327906455017114285854958718151290445006781814371697650141795822881819800667438739432833276393741326615450558755647962412807777093914381251863660299279701414518178630137056922567377760683752225864226017846241806690900395178859184464607826402914490330179173027927286632657608449591126878603996749429467598905981411416490474562137177610907392725502438050320350265789719171841122766664696385799928151811780269770287436822323186379911071883234488679040927064797564452353876268016952500791862194910339888194909549552978592094391495638236562731836367693580257007743732752185144017782088128389471139844297541583201485284432845039091402691096679996099070103961551559462926696113385876598494102470561021630124310186522733794463195960740090773622716389039067253448097873281906677250850800432690424604400013717736742418639006320774265730666663870092647739453660243830801077084527264513615217942759581273258417770021940682015097339187134882159554318050701639119999799373682108234722476392843859408231123721679618929968315365403788037992409464185966314563991640020200788800656832279737383353455428322841716389767577072553835560061535431122630531386130408081320436232607663901592194448497039379621318439731135112912292522090698140882256869671869152655400757367271627877772151520156839339724146889910195156689928409855236224712614494985246696939019788859172857217869652916390249479478137488768596483423863520899407474968202068121345677997135624727253761 16100702159762454060930624927377130846676897835337697409114671240109756376523439805864366372571224701511885743126831735115225968361946054878114831431633717790145904497614186536328855697771590211484713680364467024076035797293609571300967719688068943698527295080852855465381730387774349942759306462621014521539134193823332540305951792609481728458268615678933479545030022742002994167074257494108457443975957548971721161879309622758893454579592244921041027535818800157792283617470496910825517015001317047221026106350890205622248893861202764554382782034829567400274998969810904048674885362458838464882590986553648360365733689462398556069589006901491941739511321355637718767757699649485728142988228554019054157225893864616925543959175562352550779287146398702728437233361749705782863956830500386922574987105230036264810540201001945103958400677965864558956435920106729602069574345847550487074930852547053131876491366722072319241448628455897697116911243874307394972900316203275096014531472282794848667335466525777045098695119210728338171640097954904282749410303127882743322228536286521425814591575302986172889040325792469265287913704216405111829171446212797775510417757302189858969774218936402580958822413339305123290507563477007559644168351268005583775445675252225035400428820290317362666769282394911695630602602336441959353978491052984005074384938857009629062385938647083860019307643647488211815253954209311395632399859122498648909250986120444085453705727588426994956456198178171453686088557243571561765825495410069157530564019476522807144828545324809606753745620585968088455102628514352753492193640266867781830235461686694493790015301916356204955035297134114395878014523151007155397089277902569079064164565057973988433514325697990034066507652172396694937262452132797466407529694075868889306695820547979120444638404496865525138368064804371719743931588679849371962897222795469221209870438805856948017661596589442988896760902796216805914044001918158617070350777200955993589399317956104996719371821446582395806951275262138266518221790643247949669398431662783619710646169585975333405342144921600508089387134558468209564519456859163031835713087339443733062927193533376855142193278437147850034961312921912811807666213951935455270459220636653970175106889607723557984589946663645529322399283201708276452682952391195633781671333968972624186321432791743381295935649452597527930541555772947090175169344927513196020165784727465892329878740091664635059825208515014150204016710613920110883832156107570552656643 26051483337234490278956702932634576222374022211591517537248721077738859712753831265919339049410045026868222449642830851488980427692828390249951342478037265981519348935503543575153206796584601522764357150812865623531132163904249923722304086029677166131335298299240432268275383303907525855865743836489523999863149638210012283483340575742386523726104810547905220891801320972780954306714336550184841389661976863220531572163516713295604865520318745571188912060411919914204482017998223172169567181670289660917617241843608528451584868439972573167137700918253960622765767878247629654122446749826064649644906755882222386102213055408524469493550488587172870244456276341519186524151634244493184950284019899145670540812789445285598577254802903934796922575050859398318959855611414999173994276954291255780323302307271751981788674461761733569587469006104246861409110024774620597120604422790678902195030286151969438431560655031588955342132129411801287755995931623305881789953987741449508085870869472391870412561196088834842077827152727536567487844079255080323832832246455789198339342822141480143965882020309767987260737975934265088169733504883843851262004722606539102125868316057837821382581996030316962210686073638584824705025742107144616566735729028689336001309901270071277207119720685496221851233890221314610120932781509469886640611148661433596201263542853759058529984844628495276509782205784665822722646679711749445952750124912217820750373752785140471253633879400207264726743635000494640065999629126806050444866422474866721982917895744539759645620407519719946641940530135521067047197020009990990054925476634561362087243205419446678934033084004484594426175141431655979079499807583852194488491968999249075163234669019525547896441021811375910665001754642957716567386762319320200201992890036608980080318536937018187698086502370147431815618915604804410168535988693567108705315861801789995475601105469727040665401050249686819697837987323481319529261944677739890328768547222896675604496657143239878878926139497284034926951074635820374752944267036091809077629555384463238640614484951379121443334554385786474403951126198488410353320113691442769219066542767766574779316961110449408977753339972578972665492699052320893128102446559599356862653669133693349796425329338858670896882468754343670204656152873577429108083709758467261659443485489129463526045579681653576452625577862452764155254170267932336872108364716372368877383654380382282579358218229153403656308632378535049611491678815988232229510153243195279910404 42152185496996944339887327860011707069050920046929214946363392317848616089277271071783705421981269728380108192769662586604206396054774445128066173909670983771665253433117730111482062494356191734249070831177332647607167961197859495023271805717746109829862593380093287733657113691681875798625050299110538521402283832033344823789292368351868252184373426226838700436831343714783948473788594044293298833637934412192252734042826336054498320099910990492229939596230720071996765635468720082995084196671606708138643348194498734073833762301175337721520482953083528023040766848058533702797332112284903114527497742435870746467946744870923025563139495488664811983967597697156905291909333893978913093272248453164724698038683309902524121213978466287347701862197258101047397088973164704956858233784791642702898289412501788246599214662763678673545869684070111420365545944881350199190178768638229389269961138699022570308052021753661274583580757867698984872907175497613276762854303944724604100402341755186719079896662614611887176522271938264905659484177209984606582242549583671941661571358428001569780473595612754160149778301726734353457647209100248963091176168819336877636286073360027680352356214966719543169508486977889947995533305584152176210904080296694919776755576522296312607548540975813584518003172616226305751535383845911845994589639714417601275648481710768687592370783275579136529089849432154034537900633921060841585149984034716469659624738905584556707339606988634259683199833178666093752088186370377612210691917884935879513481915221062566790448952844529553395686150721489155502299648524343743547119116901429143917478667106141172724048385920840799381210438565770374957514330734859349885581246901818154227399234077499536329955347509365944731509406815354411504649214452117666609522584112477869387014357484997308142724906867012956953986980409176129912467577373416480668213084597259216685471544275583988683062646839129808594598890119698125443305946595898507399119324423852669193895975099344875598297960943866430733902349897958641271166057679339758747027987047246858351260654537354454848676699307386982493338260756956619917839570550605801054779630107210307842244154643826264119946618409726822700454011974233704935768660511534812133112889770347319971532218946582228881472415417989199527055436075285705560766662149662895441114819458102087712367012473396957748561227315050292085795726040879427047277709643885564897549439107848174909236958320818038716133840893549199815508389429908343113342309350765832567047 68203668834231434618844030792646283291424942258520732483612113395587475802031102337703044471391314755248330642412493438093186823747602835378017516387708249753184602368621273686635269290940793257013427981990198271138300125102109418745575891747423275961197891679333720001932496995589401654490794135600062521265433470243357107272632944094254775910478236774743921328632664687564902780502930594478140223299911275412784306206343049350103185620229736063418851656642639986201247653466943255164651378341896369056260590038107262525418630741147910888658183871337488645806534726306163356919778862110967764172404498318093132570159800279447495056689984075837682228423874038676091816060968138472098043556268352310395238851472755188122698468781370222144624437248117499366356944584579704130852510739082898483221591719773540228387889124525412243133338690174358281774655969655970796310783191428908291464991424850992008739612676785250229925712887279500272628903107120919158552808291686174112186273211227578589492457858703446729254349424665801473147328256465064930415074796039461140000914180569481713746355615922522147410516277660999441627380713984092814353180891425875979762154389417865501734938210997036505380194560616474772700559047691296792777639809325384255778065477792367589814668261661309806369237062837540915872468165355381732635200788375851197476912024564527746122355627904074413038872055216819857260547313632810287537900108946934290409998491690725027960973486388841524409943468179160733818087815497183662655558340359802601496399810965602326436069360364249500037626680857010222549496668534334733602044593535990506004721872525587851658081469925325393807385579997426354037014138318711544374073215901067229390633903097025084226396369320741855396511161458312128072035976771437866811515474149086849467332894422015495840811409237160388769605896013980540081003566066983589373528946399049212161072649745311029348463697088816628292436877443179444972567891273638397727887871646749344798392632242584754477224100441150465660853424533779016024110324715431567824657542431710096991875139488733576292011253693173456897289386955445030271159684242048570273846172874976882621561115754275673097699958382305795365946711026554598063871107071134168995766558904040669767957548285440899778354884172332869731711588948863134668850371908130157100558304947231551238412592155050534201186805177503056241049896308811763919386074360257933774933093488230457488595176549971442372442473272084249427000068245896575342852462593961112477451 110355854331228378958731358652657990360475862305449947429975505713436091891308373409486749893372584483628438835182156024697393219802377280506083690297379233524849855801739003798117331785296984991262498813167530918745468086299968913768847697465169385791060485059427007735589610687271277453115844434710601042667717302276701931061925312446123028094851663001582621765464008402348851254291524638771439056937845687605037040249169385404601505720140726555648791252873360058198013288935663338159735575013503077194903938232605996599252393042323248610178666824421016668847301574364697059717110974395870878699902240753963879038106545150370520619829479564502494212391471735832997107970302032451011136828516805475119936890156065090646819682759836509492326299445375600413754033557744409087710744523874541186119881132275328474987103787289090916679208374244469702140201914537320995500961960067137680734952563550014579047664698538911504509293645147199257501810282618532435315662595630898716286675552982765308572354521318058616430871696604066378806812433675049536997317345623133081662485538997483283526829211535276307560294579387733795085027923084341777444357060245212857398440462777893182087294425963756048549703047594364720696092353275448968988543889622079175554821054314663902422216802637123390887240235453767221624003549201293578629790428090268798752560506275296433714726411179653549567961904648973891798447947553871129123050092981650760069623230596309584668313093377475784093143301357826827570176001867561274866250258244738481009881726186664893226518313208779053433312831578499378051796317058678477149163710437419649922200539631729024382129855846166193188596018563196728994528469053570894259654462802885383618033137174524620556351716830107800128020568273666539576685191223555533421038058261564718854347251907012803983536316104173345723592876423156669993471143440400070041742030996308428846544194020895018031526343927946436887035767562877570415873837869536905127007196070602013992288607341929630075522061385016896394755774431737657295276382394771326571685529478956955343135794026088031140687953000560439390627647712401650188999254792654371328625802982187190463805270398101937217646576792032618066400723000788302999639767582668981128879448674387989739489767232023128659827299590322069258767025024148840229617034057793052541673124405333638950779604628447491949748032492553348326845622349691190966663784004143498672482532596078632397832134870789481088576314165633449242508457675804918456194771944726945044498 178559523165459813577575389445304273651900804563970679913587619109023567693339475747189794364763899238876769477594649462790580043549980115884101206685087483278034458170360277484752601076237778248275926795157729189883768211402078332514423589212592661752258376738760727737522107682860679107606638570310663563933150772520059038334558256540377804005329899776326543094096673089913754034794455233249579280237756963017821346455512434754704691340370462619067642909516000044399260942402606593324386953355399446251164528270713259124671023783471159498836850695758505314653836300670860416636889836506838642872306739072057011608266345429818015676519463640340176440815345774509088924031270170923109180384785157785515175741628820278769518151541206731636950736693493099780110978142324113218563255262957439669341472852048868703374992911814503159812547064418827983914857884193291791811745151496045972199943988401006587787277375324161734435006532426699530130713389739451593868470887317072828472948764210343898064812380021505345685221121269867851954140690140114467412392141662594221663399719566964997273184827457798454970810857048733236712408637068434591797537951671088837160594852195758683822232636960792553929897608210839493396651400966745761766183698947463431332886532107031492236885064298433197256477298291308137496471714556675311264991216466119996229472530839824179837082039083727962606833959865793749058995261186681416660950201928585050479621722287034612629286579766317308503086769536987561388263817364744937521808598604541082506281537152267219662587673573028553470939512435509600601292985593013210751208303973410155926922412157316876040211325771491586995981598560623083031542607372282438633727678703952613008667040271549704782748086150849655524531729731978667648721167994993400232553532410651568321680146329028299824347725341333734493198772437137210074474709507383659415270977395357641007616843766206047379990041016763065179472645006057015388441729143175302854895067717351358790681239584514384552746161826167362055609198965516673319386707110202894396343071910667052335010933514821607432699206693733896287917034667846680460158939034702941602471975857164073085366386152377610315346535174338413432347434027342901063510874653803150124646007578428659507447315517464028438182183762654938990478613973011974898467405965923209642231429352565190189192196783498026150934837670056404567895518658502954886049858364401432447415626084309089886427311420760923461018787437717698669508525921701493799047234538688057521949 288915377496688192536306748097962264012376666869420627343563124822459659584647849156676544258136483722505208312776805487487973263352357396390184896982466716802884313972099281282869932861534763239538425608325260108629236297702047246283271286677762047543318861798187735473111718370131956560722483005021264606600868074796760969396483568986500832100181562777909164859560681492262605289085979872021018337175602650622858386704681820159306197060511189174716434162389360102597274231338269931484122528368902523446068466503319255723923416825794408109015517520179521983501137875035557476354000810902709521572208979826020890646372890580188536296348943204842670653206817510342086032001572203374120317213301963260635112631784885369416337834301043241129277036138868700193865011700068522306273999786831980855461353984324197178362096699103594076491755438663297686055059798730612787312707111563183652934896551951021166834942073863073238944300177573898787632523672357984029184133482947971544759624317193109206637166901339563962116092817873934230760953123815164004409709487285727303325885258564448280800014038993074762531105436436467031797436560152776369241895011916301694559035314973651865909527062924548602479600655805204214092743754242194730754727588569542606887707586421695394659101866935556588143717533745075359120475263757968889894781644556388794982033037115120613551808450263381512174795864514767640857443208740552545784000294910235810549244952883344197297599673143793092596230070894814388958439819232306212388058856849279563516163263338932112889105986781807606904252344014008978653089302651691687900372014410829805849122951789045900422341181617657780184577617123819812026071076425853332893382141506837996626700177446074325339099802980957455652552298005645207225406359218548933653591590672216287176027398236041103807884041445507080216791648860293880067945852947783729457013008391666069854161037787101065411516384944709502066508412568934585804315567012712207981902263787953372782969846926444014628268223211184258450364973397254330614663089504974220968028601389624007678146727540909638573387159694294335678544682380248330649158193827357312931097778839351263549171656550479547532993111966371031498748157028131204063150642236472131253525456252816649246937082749487157098009483352977008249245638997160815128084440023716262183904553757898829139971801411945518100682870162609752894741141008194145852713642368544931119898158680387722284259446291550404549595101603351147912016983597506412255242006483415002566447 467474900662148006113882137543266537664277471433391307257150743931483227277987324903866338622900382961381977790371454950278553306902337512274286103667554200080918772142459558767622533937772541487814352403482989298513004509104125578797694875890354709295577238536948463210633826052992635668329121575331928170534018847316820007731041825526878636105511462554235707953657354582176359323880435105270597617413359613640679733160194254914010888400881651793784077071905360146996535173740876524808509481724301969697232994774032514848594440609265567607852368215938027298154974175706417892990890647409548164444515718898077902254639236010006551972868406845182847094022163284851174956032842374297229497598087121046150288373413705648185855985842249972766227772832361799973975989842392635524837255049789420524802826836373065881737089610918097236304302503082125669969917682923904579124452263059229625134840540352027754622219449187234973379306710000598317763237062097435623052604370265044373232573081403453104701979281361069307801313939143802082715093813955278471822101628948321524989284978131413278073198866450873217501916293485200268509845197221210961039432963587390531719630167169410549731759699885341156409498264016043707489395155208940492520911287517006038220594118528726886895986931233989785400194832036383496616946978314644201159772861022508791211505567954944793388890489347109474781629824380561389916438469927233962444950496838820861028866675170378809926886252910110401099316840431801950346703636597051149909867455453820646022444800491199332551693660354836160375191856449518579254382288244704898651580318384239961776045363946362776462552507389149367180559215684442895057613683798135771527109820210790609635367217717624030121847889131807111177084027737623874874127527213542333886145123082867855497707544565069403632231766786840814709990421297431090142420562455167388872283985787023710861777881553307112791506425961472567245981057574991601192757296155887510836797331505304731573651086510958399181014385037351620505974172362771003934049796615177115364371673300291060013157661055731246006086366388028231966461717048095011109317132862060254533569754696515336634538042702857157848339647140709444931095591055474105126661516890275281378171463831245308754384398266951185536191667115631947239724252970172790026551845989639471826135983110464019329163998195443544251617707832666157462636659666697100738763500732946363567313784764696812170686757712311328010613889041068846581525509519207906054289241022103060088396 756390278158836198650188885641228801676654138302811934600713868753942886862635174060542882881036866683887186103148260437766526570254694908664471000650020916883803086114558840050492466799307304727352778011808249407142240806806172825080966162568116756838896100335136198683745544423124592229051604580353192777134886922113580977127525394513379468205693025332144872813218036074438964612966414977291615954588962264263538119864876075073317085461392840968500511234294720249593809405079146456292632010093204493143301461277351770572517857435059975716867885736117549281656112050741975369344891458312257686016724698724098792901012126590195088269217350050025517747228980795193260988034414577671349814811389084306785401005198591017602193820143293213895504808971230500167841001542461157831111254836621401380264180820697263060099186310021691312796057941745423356024977481654517366437159374622413278069737092303048921457161523050308212323606887574497105395760734455419652236737853213015917992197398596562311339146182700633269917406757017736313476046937770442476231811116234048828315170236695861558873212905443947980033021729921667300307281757373987330281327975503692226278665482143062415641286762809889758889098919821247921582138909451135223275638876086548645108301704950422281555088798169546373543912365781458855737422242072613091054554505578897586193538605070065406940698939610490986956425688895329030773881678667786508228950791749056671578111628053723007224485926053903493695546911326616339305143455829357362297926312303100209538608063830131445440799647136643767279444200463527557907471590896396586551952332795069767625168315735408676884893689006807147365136832808262707083684760223989104420491961717628606262067395163698355460947692112764566829636325743269082099533886432091267539736713755084142673734942801110507440115808232347894926782070157724970210366415402951118329296994178689780715938919340408178203022810906182069312489470143926186997072863168599718818699595293258104356620933437402413809282608248535878956339145760025334548712886120151336332400274689915067691304388596640884579473526082322567645006399428343341758475326689417567464667533535866600183709699253336705381332759107080476429843748083605309189812159126747412631696920084061958001321481016438342634201150468608955488969891967333605154636286013355734010040536868362848469135799607389062352300577995275910357377800674891246591477143101491294687211943445084534454946204003861732560208990644419994493542493116714318309531247505518062654843 1223865178820984204764071023184495339340931609736203241857864612685426114140622498964409221503937249645269163893519715388045079877157032420938757104317575116964721858257018398818115000737079846215167130415291238705655245315910298403878661038458471466134473338872084661894379370476117227897380726155685120947668905769430400984858567220040258104311204487886380580766875390656615323936846850082562213572002321877904217853025070329987327973862274492762284588306200080396590344578820022981101141491817506462840534456051384285421112298044325543324720253952055576579811086226448393262335782105721805850461240417622176695155651362600201640242085756895208364841251144080044435944067256951968579312409476205352935689378612296665788049805985543186661732581803592300141816991384853793355948509886410821905067007657070328941836275920939788549100360444827549025994895164578421945561611637681642903204577632655076676079380972237543185702913597575095423158997796552855275289342223478060291224770480000015416041125464061702577718720696161538396191140751725720948053912745182370353304455214827274836946411771894821197534938023406867568817126954595198291320760939091082757998295649312472965373046462695230915298597183837291629071534064660075715796550163603554683328895823479149168451075729403536158944107197817842352354369220387257292214327366601406377405044173025010200329589428957600461738055513275890420690320148595020470673901288587877532606978303224101817151372178964013894794863751758418289651847092426408512207793767756920855561052864321330777992493307491479927654636056913046137161853879141101485203532651179309729401213679681771453347446196395956514545696048492705602141298444022124875947601781928419215897434612881322385582795581244571678006720353480892956973661413645633601425881836837951998171442487366179911072347575019188709636772491455156060352786977858118507201580979965713491577716800893715290994529236867654636558470527718917788189830159324487229655496926798562835930272019948360812990296993285887499462313318122796338482762682735328451696771947990206127704462049652372130585559892470350799611468116476438352867792459551477821998237288232381936818247741956193863229672406247789921360939339139079414316473676017022694009868383915307266755705879283389528170392817584240902728694144937506395181188132002995205836176519978826867798299797802832606603918285827942067820014460341588347330240643834437658254525728209781346625632961716173060570822879685488841075068002635922224363820488527621122743239 1980255456979820403414259908825724141017585748039015176458578481439369001003257673024952104384974116329156349996667975825811606447411727329603228104967596033848524944371577238868607467536387150942519908427099488112797486122716471228959627201026588222973369439207220860578124914899241820126432330736038313724803792691543981961986092614553637572516897513218525453580093426731054288549813265059853829526591284142167755972889946405060645059323667333730785099540494800646184153983899169437393773501910710955983835917328736055993630155479385519041588139688173125861467198277190368631680673564034063536477965116346275488056663489190396728511303106945233882588480124875237696932101671529639929127220865289659721090383810887683390243626128836400557237390774822800309657992927314951187059764723032223285331188477767592001935462230961479861896418386572972382019872646232939311998771012304056181274314724958125597536542495287851398026520485149592528554758531008274927526080076691076209216967878596577727380271646762335847636127453179274709667187689496163424285723861416419181619625451523136395819624677338769177567959753328534869124408711969185621602088914594774984276961131455535381014333225505120674187696103658539550653672974111210939072189039690103328437197528429571450006164527573082532488019563599301208091791462459870383268881872180303963598582778095075607270288368568091448694481202171219451464201827262806978902852080336934204185089931277824824375858105017917388490410663085034628956990548255765874505720080060021065099660928151462223433292954628123694934080257376573695069325470037498071755484983974379497026381995417180130232339885402763661910832881300968309224983204246113980368093743646047822159502008045020741043743273357336244836356679224162039073195300077724868965618550593036140845177430167290418512463383251536604563554561612881030563153393261069625530877974144403272293655720234123469197552047773836705870959997862843975186903022493086948474196522091820940286892953385763226799579601534423378418652463882821673031475568855479788029172222680121195395766438249013015165033418552673367256474515904781694626267786240895389462904821768248537001957441209530568611005165354870397790783087222684723506285835143770106641565303999369224757027360299827870804593968052849858217664036904840000335824418016350939846217056847189716267435597410221668956218863823217978177392261016479593921717786935928952941737671654865881080579165720034793131031870329908835568610495752636542673351736033139185398082 3204120635800804608178330932010219480358517357775218418316443094124795115143880171989361325888911365974425513890187691213856686324568759750541985209285171150813246802628595637686722468273466997157687038842390726818452731438626769632838288239485059689107842778079305522472504285375359048023813056891723434672472698460974382946844659834593895676828102001104906034346968817387669612486660115142416043098593606020071973825915016735047973033185941826493069687846694881042774498562719192418494914993728217418824370373380120341414742453523711062366308393640228702441278284503638761894016455669755869386939205533968452183212314851790598368753388863840442247429731268955282132876168928481608508439630341495012656779762423184349178293432114379587218969972578415100451474984312168744543008274609443045190398196134837920943771738151901268410996778831400521408014767810811361257560382649985699084478892357613202273615923467525394583729434082724687951713756327561130202815422300169136500441738358596593143421397110824038425354848149340813105858328441221884372339636606598789534924080666350411232766036449233590375102897776735402437941535666564383912922849853685857742275256780768008346387379688200351589486293287495831179725207038771286654868739203293658011766093351908720618457240256976618691432126761417143560446160682847127675483209238781710341003626951120085807599877797525691910432536715447109872154521975857827449576753368924811736792068234501926641527230283981931283285274414843452918608837640682174386713513847816941920660713792472793001425786262119603622588716314289619832231179349178599556959017635153689226427595675098951583579786081798720176456528929793673911366281648268238856315695525574467038056936620926343126626538854601907922843077032705054996046856713723358470391500387430988139016619917533470329584810958270725314200327053068037090915940371119188132732458954110116763871372521127838760192081284641491342429430525581761763376733181817574178129693448890383776217164973334124039789876594820310877880965782005618011514238251590808239725944170670327323100228487901385145750593311023024166867942632381220047494060245792373211461142110000630473820205183165724431840677571602660319151722426361764137822759511160792800651433687914676491512733239583217398974986785637090760946358181842346395517012550019346145682393576826016584065735395213054275560137149651160045997406721358067941251958430770366611196263399864647227706212127436207853701854750015397676643678498388558767037172224560760308141321 5184376092780625011592590840835943621376103105814233594775021575564164116147137845014313430273885482303581863886855667039668292771980487080145213314252767184661771747000172876555329935809854148100206947269490214931250217561343240861797915440511647912081212217286526383050629200274600868150245387627761748397276491152518364908830752449147533249344999514323431487927062244118723901036473380202269872625184890162239729798804963140108618092509609160223854787387189681688958652546618361855888688495638928374808206290708856397408372609003096581407896533328401828302745482780829130525697129233789932923417170650314727671268978340980995097264691970785676130018211393830519829808270600011248437566851206784672377870146234072032568537058243215987776207363353237900761132977239483695730068039332475268475729384612605512945707200382862748272893197217973493790034640457044300569559153662289755265753207082571327871152465962813245981755954567874280480268514858569405130341502376860212709658706237193170870801668757586374272990975602520087815525516130718047796625360468015208716543706117873547628585661126572359552670857530063937307065944378533569534524938768280632726552217912223543727401712913705472263673989391154370730378880012882497593940928242983761340203290880338292068463404784549701223920146325016444768537952145306998058752091110962014304602209729215161414870166166093783359127017917618329323618723803120634428479605449261745940977158165779751465903088388999848671775685077928487547565828188937940261219233927876962985760374720624255224859079216747727317522796571666193527300504819216097628714502619128068723453977670516131713812125967201483838367361811094642220591264852514352836683789269220514860216438628971363867670282127959244167679433711929217035120052013801083339357118938024024279861797347700760748097274341522261918763881614680918121479093764380257758263336928254520036165028241361962229389633332415328048300390523444605738563636204310661126603889970982204716504057926719887266589456196354734256299618245888439684545713820446288027755116393350448518495994926150398160915626729575697534124417148286001742120328032033268600924046931768879010822162624375255000451682736957530716942505513584448861329045346304562907292998991914045716269760599883045269779580753689940619164022218747186395852836968035697085528610633673206300333170992623275944516356013474378024174798982374547535173676217706295564138001071519513108786791293156242646832886620345306512212288994141195309710523960593899493539403 8388496728581429619770921772846163101734620463589452013091464669688959231291018017003674756162796848278007377777043358253524979096549246830687198523537938335475018549628768514242052404083321145257893986111880941749702948999970010494636203679996707601189054995365831905523133485649959916174058444519485183069749189613492747855675412283741428926173101515428337522274031061506393513523133495344685915723778496182311703624719979875156591125695550986716924475233884562731733151109337554274383603489367145793632576664088976738823115062526807643774204926968630530744023767284467892419713584903545802310356376184283179854481293192771593466018080834626118377447942662785801962684439528492856946006481548279685034649908657256381746830490357595574995177335931653001212607961551652440273076313941918313666127580747443433889478938534764016683889976049374015198049408267855661827119536312275454350232099440184530144768389430338640565485388650598968431982271186130535333156924677029349210100444595789764014223065868410412698345823751860900921383844571939932168964997074613998251467786784223958861351697575805949927773755306799339745007480045097953447447788621966490468827474692991552073789092601905823853160282678650201910104087051653784248809667446277419351969384232247012686920645041526319915352273086433588328984112828154125734235300349743724645605836680335247222470043963619475269559554633065439195773245778978461878056358818186557677769226400281678107430318672981779955060959492771940466174665829620114647932747775693904906421088513097048226284865478867330940111512885955813359531684168394697185673520254281757949881573345615083297391912049000204014823890740888316131957546500782591692999484794794981898273375249897706994296820982561152090522510744634272031166908727524441809748619325455012418878417265234231077682085299792987232964208667748955212395034135499445890995795882364636800036400762489800989581714617056819390729821049026367501940369386128235304733583419872588492721222900054011306379332791175045134180584027894057696059952072037096267481060564020775841596223414051783306666220040598721700992359780667221789614388277825641812385189041769509484642367807540979432292360308560191036094227939946212999151804857465355707944432679828722207782493839466262668754567539327031380110380400589532791369849518055043231211004210499222884398906387836330220076493163125538070172205703732615476425634648476662175334264471384160336493003420592450500534741370360704188855967492529754076747696185154659801680724 13572872821362054631363512613682106723110723569403685607866486245253123347438155862017988186436682330581589241663899025293193271868529733910832411837790705520136790296628941390797382339893175293358100933381371156680953166561313251356434119120508355513270267212652358288573762685924560784324303832147246931467025680766011112764506164732888962175518101029751769010201093305625117414559606875546955788348963386344551433423524943015265209218205160146940779262621074244420691803655955916130272291985006074168440782954797833136231487671529904225182101460297032359046769250065297022945410714137335735233773546834597907525750271533752588563282772805411794507466154056616321792492710128504105383573332755064357412520054891328414315367548600811562771384699284890901973740938791136136003144353274393582141856965360048946835186138917626764956783173267347508988084048724899962396678689974565209615985306522755858015920855393151886547241343218473248912250786044699940463498427053889561919759150832982934885024734625996786971336799354380988736909360702657979965590357542629206968011492902097506489937358702378309480444612836863277052073424423631522981972727390247123195379692605215095801190805515611296116834272069804572640482967064536281842750595689261180692172675112585304755384049826076021139272419411450033097522064973461123792987391460705738950208046409550408637340210129713258628686572550683768519391969582099096306535964267448303618746384566061429573333407061981628626836644570700428013740494018558054909151981703570867892181463233721303451143944695615058257634309457622006886832188987610794814388022873409826673335551016131215011204038016201687853191252551982958352548811353296944529683274064015496758489813878869070861967103110520396258201944456563489066286960741325525149105738263479036698740214612934991825779359641315249151728090282429873333874127899879703649259132810619156836201429003851763218971347949472147439030211572470973240504005590438896431337473390854793209225280826773898572968788987529779390480202273782497380605665892483384295236176957371224360092218340202181467581846770174419235116776928953223531734716309858910413309235973538388495464530431916234432744043045517721753036733453530661860480850203769918615237431671742767924052254439349307938534148293016971999274402619336719187222686486090740316739614844172429184732077380459606164592849176599916094347004686107163011599310866182957739472265542903673445279794713748693147367627990706010701068256486670949386458220145748559295220127 21961369549943484251134434386528269824845344032993137620957950914942082578729173879021662942599479178859596619440942383546718250965078980741519610361328643855611808846257709905039434743976496438615994919493252098430656115561283261851070322800505063114459322208018190194096896171574520700498362276666732114536774870379503860620181577016630391101691202545180106532475124367131510928082740370891641704072741882526863137048244922890421800343900711133657703737854958807152424954765293470404655895474373219962073359618886809875054602734056711868956306387265662889790793017349764915365124299040881537544129923018881087380231564726524182029300853640037912884914096719402123755177149656996962329579814303344042447169963548584796062198038958407137766562035216543903186348900342788576276220667216311895807984546107492380724665077452390781640673149316721524186133456992755624223798226286840663966217405962940388160689244823490527112726731869072217344233057230830475796655351730918911129859595428772698899247800494407199669682623106241889658293205274597912134555354617243205219479279686321465351289056278184259408218368143662616797080904468729476429420516012213613664207167298206647874979898117517119969994554748454774550587054116190066091560263135538600044142059344832317442304694867602341054624692497883621426506177801615249527222691810449463595813883089885655859810254093332733898246127183749207715165215361077558184592323085634861296515610966343107680763725734963408581897604063472368479915159848178169557084729479264772798602551746818351677428810174482389197745822343577820246363873156005492000061543127691584623217124361746298308595950065201891868015143292871274484506357854079536222682758858810478656763189128766777856263924093081548348724455201197761097453869468849966958854357588934049117618631878169222903461444941108236384692298950178828546269162035379149540254928692983793636237829766341564208553062566528966829760032621497340742444374976567131736071056810727381701946503726827909879348121778704824524660786301676555076665617964520480562717237521392000201688441754253964774248066810773140936109136709620445321349104587684552225694425015307897980106898239457213865036403354077912789130961393476874859632655061235274323181864351571490131834748278815570607288715832344003379384783019926251978592536004145783547950619054671652069130983768295936384669342339725454164519210389839778488024945514659619914806530014287833781772798134341143647902369361066714889924223979200703463205916330903219096900851 35534242371305538882497947000210376547956067602396823228824437160195205926167329741039651129036161509441185861104841408839911522833608714652352022199119349375748599142886651295836817083869671731974095852874623255111609282122596513207504441921013418627729589420670548482670658857499081484822666108813979046003800551145514973384687741749519353277209303574931875542676217672756628342642347246438597492421705268871414570471769865905687009562105871280598483000476033051573116758421249386534928187459379294130514142573684643011286090405586616094138407847562695248837562267415061938310535013178217272777903469853478994905981836260276770592583626445449707392380250776018445547669859785501067713153147058408399859690018439913210377565587559218700537946734501434805160089839133924712279365020490705477949841511467541327559851216370017546597456322584069033174217505717655586620476916261405873582202712485696246176610100216642413659968075087545466256483843275530416260153778784808473049618746261755633784272535120403986641019422460622878395202565977255892100145712159872412187490772588418971841226414980562568888662980980525893849154328892360999411393243402460736859586859903421743676170703633128416086828826818259347191070021180726347934310858824799780736314734457417622197688744693678362193897111909333654524028242775076373320210083271155202546021929499436064497150464223045992526932699734432976234557184943176654491128287353083164915261995532404537254097132796945037208734248634172796493655653866736224466236711182835640690784014980539655128572754870097447455380131801199827133196062143616286814449566001101411296552675377877513319799988081403579721206395844854232837055169207376480752366032922825975415253003007635848718231027203601944606926399657761250163740830210175492107960095852413085816358846491104214729240804582423485536420389232608701880143289935258853189514061503602950472439258770193327427524410516001114268790244193968313982948380567006028167408530201582174911171784553601808452316910766234603915140988575459052457271283857003864857953414478763224561780660094456146241829913580947560171225913638573668853083820897543462639003660988846286475571428671373448297780446399595634542167694847007536720113505265005192938419296023314258055887002718164878545822864125360975378659185639262971165815222490236523864690233898844081253863061148755542549262191516325370258866215075946941499624256380842577654278795557191507227052592848089836795269997351772725590992480465871652849664136476651778392120978 57495611921249023133632381386738646372801411635389960849782388075137288504896503620061314071635640688300782480545783792386629773798687695393871632560447993231360407989144361200876251827846168170590090772367875353542265397683879775058574764721518481742188911628688738676767555029073602185321028385480711160540575421525018834004869318766149744378900506120111982075151342039888139270725087617330239196494447151398277707520014788796108809906006582414256186738330991858725541713186542856939584082933752514092587502192571452886340693139643327963094714234828358138628355284764826853675659312219098810322033392872360082286213400986800952621884480085487620277294347495420569302847009442498030042732961361752442306859981988498006439763626517625838304508769717978708346438739476713288555585687707017373757826057575033708284516293822408328238129471900790557360350962710411210844275142548246537548420118448636634337299345040132940772694806956617683600716900506360892056809130515727384179478341690528332683520335614811186310702045566864768053495771251853804234701066777115617406970052274740437192515471258746828296881349124188510646235233361090475840813759414674350523794027201628391551150601750645536056823381566714121741657075296916414025871121960338380780456793802249939639993439561280703248521804407217275950534420576691622847432775081604666141835812589321720356960718316378726425178826918182183949722400304254212675720610438718026211777606498747644934860858531908445790631852697645164973570813714914394023321440662100413489386566727358006806001565044579836653125954144777647379559935299621778814511109128792995919769799739623811628395938146605471589221539137725507321561527061456016975048791781636454072016192136402626574494951296683492955650854858959011261194699679025459066814453441347134933977478369273437632702249523531721921112688182787530426412451970638002729768990196586744108677088536534891636077473082530081098550276815465654725392755543573159903479587012309556613118288280429718331665032544939428439801774877135607533936901821524345420670652000155224763469101848710111016077980391720701107335050348194114174432925485228014864698086004154184455678326910830662162816849753673547331298656240484411579746160326240467261601160374885748187721750996980449153111579957704978758043968659189223144407758494382307412640852953515733322994044917051478933931533856050824423385425465786719987649201895502197569085325571479341008825390982430980443172366712839440480916704445072356312870052807554997489021829 93029854292554562016130328386949022920757479237786784078606825235332494431063833361100965200671802197741968341650625201226541296632296410046223654759567342607109007132031012496713068911715839902564186625242498608653874679806476288266079206642531900369918501049359287159438213886572683670143694494294690206544375972670533807389557060515669097656109809695043857617827559712644767613367434863768836688916152420269692277991784654701795819468112453694854669738807024910298658471607792243474512270393131808223101644766256095897626783545229944057233122082391053387465917552179888791986194325397316083099936862725839077192195237247077723214468106530937327669674598271439014850516869227999097755886108420160842166550000428411216817329214076844538842455504219413513506528578610638000834950708197722851707667569042575035844367510192425874835585794484859590534568468428066797464752058809652411130622830934332880513909445256775354432662882044163149857200743781891308316962909300535857229097087952283966467792870735215172951721468027487646448698337229109696334846778936988029594460824863159409033741886239309397185544330104714404495389562253451475252207002817135087383380887105050135227321305383773952143652208384973468932727096477642761960181980785138161516771528259667561837682184254959065442418916316550930474562663351767996167642858352759868687857742088757784854111182539424718952111526652615160184279585247430867166848897791801191127039602031152182188957991328853482999366101331817961467226467581650618489558151844936054180170581707897661934574319914677284108506085945977474512755997443238065628960675129894407216322475117501324948195926228009051310427934982579740158616696268832497727414824704462429487269195144038475292725978500285437562577254516720261424935529889200951174774549293760220750336324860377652361943054105955207457533077415396232306555741905896855919283051700189694581116347306728219063601883598531195367340521009433968708341136110579188070888117213891731524290072834031526783981943311174032354942763452594659991208185678528210278624066478918449325249761943166257257907893972668261278560963986767783027516746382771477503701746993000470931249755582204110460597296153269181873466351087491948299859665591245660200020456398200006243608753715145327698934444083065954136703154298452194310222980984618831277331086852359814576857106065807021483193725372376194682251640541733661487273458276344775223364121128670848235877983830520817238442364064612166071909184910944009162534189284206775881142807 150525466213803585149762709773687669293558890873176744928389213310469782935960336981162279272307442886042750822196408993613171070430984105440095287320015335838469415121175373697589320739562008073154277397610373962196140077490356063324653971364050382112107412678048025836205768915646285855464722879775401367084951394195552641394426379281818842035010315815155839692978901752532906884092522481099075885410599571667969985511799443497904629374119036109110856477138016769024200184794335100414096353326884322315689146958827548783967476684873272020327836317219411526094272836944715645661853637616414893421970255598199159478408638233878675836352586616424947946968945766859584153363878670497127798619069781913284473409982416909223257092840594470377146964273937392221852967318087351289390536395904740225465493626617608744128883804014834203073715266385650147894919431138478008309027201357898948679042949382969514851208790296908295205357689000780833457917644288252200373772039816263241408575429642812299151313206350026359262423513594352414502194108480963500569547845714103647001430877137899846226257357498056225482425679228902915141624795614541951093020762231809437907174914306678526778471907134419488200475589951687590674384171774559175986053102745476542297228322061917501477675623816239768690940720723768206425097083928459619015075633434364534829693554678079505211071900855803445377290353570797344134001985551685079842569508230519217338817208529899827123818849860761928789997954029463126440797281296565012512879592507036467669557148435255668740575884959257120761632040090755121892315932742859844443471784258687403136092274857125136576591864374614522899649474120305247480178223330288514702463616486098883559285387280441101867220929796968930518228109375679272686130229568226410241589002735107355684313803229651089994645303629486929378645765598183762732968193876534858649052041896776438689793435843263110699679356681061276465890797824899623433733891654152347974367704226201288137408361114461245115646975856113460794744538329730267525145087500052555699294718479073674088718863791876368273985874364388962385896014334961897201949671867999492368399832997154655386928082493034772623414145906942729204765007327976359879605825917486127461621616773085754431330504712125776852046024040770932894747122957641417454630739479001138689971939805875547899851150982858500417125259228427019105637066007520381474922660171846972792449446700150189244703374812951797681614730777451606552825889356016365475404242091761773370164636 243555320506358147165893038160636692214316370110963529006996038545802277367024170342263244472979245083784719163847034194839712367063280515486318942079582678445578422253206386194302389651277847975718464022852872570850014757296832351590733178006582282482025913727407312995643982802218969525608417374070091573629327366866086448783983439797487939691120125510199697310806461465177674497459957344867912574326751991937662263503584098199700448842231489803965526215945041679322858656402127343888608623720016130538790791725083644681594260230103216077560958399610464913560190389124604437648047963013730976521907118324038236670603875480956399050820693147362275616643544038298599003880747898496225554505178202074126639959982845320440074422054671314915989419778156805735359495896697989290225487104102463077173161195660183779973251314207260077909301060870509738429487899566544805773779260167551359809665780317302395365118235553683649638020571044943983315118388070143508690734949116799098637672517595096265619106077085241532214144981621840060950892445710073196904394624651091676595891702001059255259999243737365622667970009333617319637014357867993426345227765048944525290555801411728662005793212518193440344127798336661059607111268252201937946235083530614703813999850321585063315357808071198834133359637040319136899659747280227615182718491787124403517551296766837290065183083395228164329401880223412504318281570799115947009418406022320408465856810561052009312776841189615411789364055361281087908023748878215631002437744351972521849727730143153330675150204873934404870138126036732596405071930186097910072432459388581810352414749974626461524787790602623574210077409102884987638794919599121012429878441190561313046554582424479577159946908297254368080805363892399534111065759457427361416363552028867576434650128090028742356588357735442136836178843013579995039523935782431714568335093596966133270909783149991329763281240279592471833231318834333592142075027764731536045255821440093019661698433948492771899628919167287493149687301782324927516353273178580765977918784957992123413968625735042625531893768337057223664456978321729680229466418250770969872101579990155126318177838075238883084011442060211911078231358415468308179465491508731787661642073171285760674939258427271104550980468123836887031450277256093611764853720463619969967303026658235362476708257048665521900318984600803213787888706549254042962196118448191748015813567828821037480581358643472614920057094842063772624735074266960374637938431375968549251307443 394080786720161732315655747934324361507875260984140273935385251856272060302984507323425523745286687969827469986043443188452883437494264620926414229399598014284047837374381759891891710390839856048872741420463246533046154834787188414915387149370632664594133326405455338831849751717865255381073140253845492940714278761061639090178409819079306781726130441325355537003785363217710581381552479825966988459737351563605632249015383541697605078216350525913076382693083058448347058841196462444302704977046900452854479938683911193465561736914976488097888794716829876439654463226069320083309901600630145869943877373922237396149012513714835074887173279763787223563612489805158183157244626568993353353124247983987411113369965262229663331514895265785293136384052094197957212463214785340579616023500007203302638654822277792524102135118222094280983016327256159886324407330705022814082806461525450308488708729700271910216327025850591944843378260045724816773036032358395709064506988933062340046247947237908564770419283435267891476568495216192475453086554191036697473942470365195323597322579138959101486256601235421848150395688562520234778639153482535377438248527280753963197730715718407188784265119652612928544603388288348650281495440026761113932288186276091246111228172383502564793033431887438602824300357764087343324756831208687234197794125221488938347244851444916795276254984251031609706692233794209848452283556350801026851987914252839625804674019090951836436595691050377340579362009390744214348821030174780643515317336859008989519284878578408999415726089833191525631770166127487718297387862928957754515904243647269213488507024831751598101379654977238097109726883223190235118973142929409527132342057676660196605839969704920679027167838094223298599033473268078806797195989025653771657952554763974932118963931319679832351233661364929066214824608611763757772492129658966573217387135493742571960703218993254440462960596960653748299122116659233215575808919418883884019623525666294307799106795062954017015275895023400953944431840112055195041498360678633321677213503437065797502687489526918993805879642701446186050352992656691577431416090118770462240501412987309781705105920568273655707425587967154640282996365743444668059071317426217915123263689944371515106269763139396881403026492164607819926197400213735029219484459942621108657274966464110910376559408031524022317444243829230232893525772556774424437118778620038720808263014528971226725284733456424412601671825619515379177560963622976740113342673467730322621472079 637636107226519879481548786094961053722191631095103802942381290402074337670008677665688768218265933053612189149890477383292595804557545136412733171479180692729626259627588146086194100042117704024591205443316119103896169592084020766506120327377214947076159240132862651827493734520084224906681557627915584514343606127927725538962393258876794721417250566835555234314591824682888255879012437170834901034064103555543294512518967639897305527058582015717041908909028100127669917497598589788191313600766916583393270730408994838147155997145079704175449753116440341353214653615193924520957949563643876846465784492246275632819616389195791473937993972911149499180256033843456782161125374467489578907629426186061537753329948107550103405936949937100209125803830251003692571959111483329869841510604109666379811816017937976304075386432429354358892317388126669624753895230271567619856585721693001668298374510017574305581445261404275594481398831090668800088154420428539217755241938049861438683920464833004830389525360520509423690713476838032536403978999901109894378337095016287000193214281140018356746255844972787470818365697896137554415653511350528803783476292329698488488286517130135850790058332170806368888731186625009709888606708278963051878523269806705949925228022705087628108391239958637436957659994804406480224416578488914849380512617008613341864796148211754085341438067646259774036094114017622352770565127149916973861406320275160034270530829652003845749372532239992752368726064752025302256844779052996274517755081210981511369012608721562330090876294707125930501908292164220314702459793115055664588336703035851023840921774806378059626167445579861671319804292326075222757768062528530539562220498867221509652394552129400256187114746391477666679838837160478340908261748483081133074316106792842508553614059409708574707822019100371203051003451625343752812016065441398287785722229090708705231613002143245770226241837240246220132353435493566807717883947183615420064879347106387327460805229011446788914904814190688447094119141894380122557851633857214087655132288395057920916656115261961619337773411038503409714809970978421257660882508369541432112602992977464908023283758643512538791437030027366551361227724158912976238536808934949702784905763115657275781209021566667985954006960288444706957647677469828640984338180406241078624577993122346272853267665080189544217763228430033446681414479106028467399314897068230468824076582357792264205866092099897027521728920461579151802296037889937114751281104843698871872779522 1031716893946681611797204534029285415230066892079244076877766542258346397972993184989114291963552621023439659135933920571745479242051809757339147400878778707013674097001969905978085810432957560073463946863779365636942324426871209181421507476747847611670292566538317990659343486237949480287754697881761077455057884888989364629140803077956101503143381008160910771318377187900598837260564916996801889493801455119148926761534351181594910605274932541630118291602111158576016976338795052232494018577813817036247750669092906031612717734060056192273338547833270217792869116841263244604267851164274022716409661866168513028968628902910626548825167252674936722743868523648614965318370001036482932260753674170048948866699913369779766737451845202885502262187882345201649784422326268670449457534104116869682450470840215768828177521550651448639875333715382829511078302560976590433939392183218451976787083239717846215797772287254867539324777091136393616861190452786934926819748926982923778730168412070913395159944643955777315167281972054225011857065554092146591852279565381482323790536860278977458232512446208209318968761386458657789194292664833064181221724819610452451686017232848543039574323451823419297433334574913358360170102148305724165810811456082797196036456195088590192901424671846076039781960352568493823549173409697602083578306742230102280212040999656670880617693051897291383742786347811832201222848683500718000713394234527999660075204848742955682185968223290370092948088074142769516605665809227776918033072418069990500888297487299971329506602384540317456133678458291708032999847656044013419104240946683120237329428799638129657727547100557099768429531175549265457876741205457940066694562556543881706258234521834320935214282584485700965278872310428557147705457737508734904732268661556817440672577990729388407059055680465300269265828060237107510584508195100364861003109364584451277192316221136500210689202434200899968431475552152800023293692866602499304084502872772681635259912024074400805930180709214089401038550982006435317599349994535847409332345791832123718419343604788880613143653053739949595765162963635112835092298598488311894353104405964774689728389679211786194498862617994521191644224089902357644297608126361167617908169453060028790887478784706064867357033452453052526883845077683563670203822640348862187281852959586457183229827073111713566535207472259263679574940251662802891836433675688269189632339596886763490931150825556321440123400746081094530979857001512913854864623778311429194494251601 1669353001173201491278753320124246468952258523174347879820147832660420735643001862654803060181818554077051848285824397955038075046609354893751880572357959399743300356629558052064279910475075264098055152307095484740838494018955229947927627804125062558746451806671180642486837220758033705194436255509676661969401491016917090168103196336832896224560631574996466005632969012583487093139577354167636790527865558674692221274053318821492216132333514557347160200511139258703686893836393642020685332178580733619641021399501900869759873731205135896448788300949710559146083770456457169125225800727917899562875446358414788661788245292106418022763161225586086221924124557492071747479495375503972511168383100356110486620029861477329870143388795139985711387991712596205342356381437752000319299044708226536062262286858153745132252907983080802998767651103509499135832197791248158053795977904911453645085457749735420521379217548659143133806175922227062416949344873215474144574990865032785217414088876903918225549470004476286738857995448892257548261044553993256486230616660397769323983751141418995814978768291180996789787127084354795343609946176183592985005201111940150940174303749978678890364381783994225666322065761538368070058708856584687217689334725889503145961684217793677821009815911804713476739620347372900303773589988186516932958819359238715622076837147868424965959131119543551157778880461829454553993413810650634974574800554803159694345735678394959527935340755530362845316814138894794818862510588280773192550827499280972012257310096021533659597478679247443386635586750455928347702307449159069083692577649718971261170350574444507717353714546136961439749335467875340680634509267986470606256783055411103215910629073963721191401397330877178631958711147589035488613719485991816037806584768349659949226192050139096981766877699565671472316831511862451263396524260541763148788831593675159982423929223279745980915444271441146188563828987646366831011576813786114724149382219879068962720717253085847594845085523404777848132670123900815440157201628393061496987478080227181639335999720050842232481426464778453005479972934613534092753181106857853326465707398942239597751673437855298733290299648021887743005451814061270620536144935296117320693075216175686066668687806272732853311040412741497233841492755153392311188160820755103265906430952708803456083094738191903110752970700689297126256354730768831359235748572756499658456416179244555755137016917656218467645129666542673682782153039402850969615904883155128066367031123 2701069895119883103075957854153531884182325415253591956697914374918767133615995047643917352145371175100491507421758318526783554288661164651091027973236738106756974453631527958042365720908032824171519099170874850377780818445826439129349135280872910170416744373209498633146180706995983185482190953391437739424459375905906454797243999414788997727704012583157376776951346200484085930400142271164438680021667013793841148035587670003087126737608447098977278492113250417279703870175188694253179350756394550655888772068594806901372591465265192088722126848782980776938952887297720413729493651892191922279285108224583301690756874195017044571588328478261022944667993081140686712797865376540455443429136774526159435486729774847109636880840640342871213650179594941406992140803764020670768756578812343405744712757698369513960430429533732251638642984818892328646910500352224748487735370088129905621872540989453266737176989835914010673130953013363456033810535326002409071394739792015708996144257288974831620709414648432064054025277420946482560118110108085403078082896225779251647774288001697973273211280737389206108755888470813453132804238841016657166226925931550603391860320982827221929938705235817644963755400336451726430228811004890411383500146181972300341998140412882268013911240583650789516521580699941394127322763397884119016537126101468817902288878147525095846576824171440842541521666809641286755216262494151352975288194789331159354420940527137915210121308978820732938264902213037564335468176397508550110583899917350962513145607583321504989104081063787760842769265208747636380702155105203082502796818596402091498499779374082637375081261646694061208178866643424606138511250473444410672951345611954984922168863595798042126615679915362879597237583458017592636319177223500550942538853429906477389898770040868485388825933380030971741582659572099558773981032455642128009791940958259611259616245444416246191604646705642046156995304539799166854305269680388614028233885092651750597980629277160248400775266232618867249171221105907250757756551622928908906319823872059305357755343324839722845625079518518402601245135898248646927845479705346165220818811804907014287480063117067084927789162266016408934649675903963628264833753061657284938601244669235714857556166590978797720668073865194549760725337832836955981391983461103965453188283912295260639312921811303616677288178172948560805831294982431634251072182248444768848088755776131319246068167743212539907768530412623768213762010040915764824480528661466557260861282724 4370422896293084594354711174277778353134583938427939836518062207579187869258996910298720412327189729177543355707582716481821629335270519544842908545594697506500274810261086010106645631383108088269574251477970335118619312464781669077276763084997972729163196179880679275633017927754016890676627208901114401393860866922823544965347195751621893952264644158153842782584315213067573023539719625332075470549532572468533369309640988824579342869941961656324438692624389675983390764011582336273864682934975284275529793468096707771132465196470327985170915149732691336085036657754177582854719452620109821842160554582998090352545119487123462594351489703847109166592117638632758460277360752044427954597519874882269922106759636324439507024229435482856925038171307537612334497185201772671088055623520569941806975044556523259092683337516813054637410635922401827782742698143472906541531347993041359266957998739188687258556207384573153806937128935590518450759880199217883215969730657048494213558346165878749846258884652908350792883272869838740108379154662078659564313512886177020971758039143116969088190049028570202898543015555168248476414185017200250151232127043490754332034624732805900820303087019811870630077466097990094500287519861475098601189480907861803487959824630675945834921056495455502993261201047314294431096353386070635949495945460707533524365715295393520812535955290984393699300547271470741309209676304801987949862995344134319048766676205532874738056649734351095783581716351932359154330686985789323303134727416631934525402917679343038648701559743035204229404851959203564728404462554362151586489396246121062759670129948527145092434976192831022647928202111299946819145759741430881279208128667366088138079492669761763318017077246240058229196294605606628124932896709492366980345438198256137339124962091007582370592811079596643213899491083962010037377556716183891158580772551934771242040174667695992172520090977083192345559133527445533685316846494174728752383267312530819560701346530246095995620351756023645097303891229808066197913753251321970403307301952286486997091343044890565078106505983296855606725108832862181020598660812204018547284519203849253885231736554922383661079461914038296677655127718024898885369897996953402259294319885411400924224854397251530573979114277936046994566830587990348292580144281859068719094714865004064095396016549495519788041148873637857932087649713200465610307930821201268506545171955375875001205184660868758375413660079166441896544163080318615794096433544621685327228313847 7071492791412967697430669028431310237316909353681531793215976582497955002874991957942637764472560904278034863129341035008605183623931684195933936518831435613257249263892613968149011352291140912441093350648845185496400130910608108206625898365870882899579940553090177908779198634750000076158818162292552140818320242828729999762591195166410891679968656741311219559535661413551658953939861896496514150571199586262374517345228658827666469607550408755301717184737640093263094634186771030527044033691369834931418565536691514672505056661735520073893041998515672113023989545051897996584213104512301744121445662807581392043301993682140507165939818182108132111260110719773445173075226128584883398026656649408429357593489411171549143905070075825728138688350902479019326637988965793341856812202332913347551687802254892773053113767050545306276053620741294156429653198495697655029266718081171264888830539728641953995733197220487164480068081948953974484570415525220292287364470449064203209702603454853581466968299301340414846908550290785222668497264770164062642396409111956272619532327144814942361401329765959409007298904025981701609218423858216907317459052975041357723894945715633122750241792255629515593832866434441820930516330866365509984689627089834103829957965043558213848832297079106292509782781747255688558419116783954754966033071562176351426654593442918616659112779462425236240822214081112028064425938798953340925151190133465478403187616732670789948177958713171828721846618564969923489798863383297873413718627333982897038548525262664543637805640806822965072174117167951201109106617659565234089286214842523154258169909322609782467516237839525083856107068754724552957657010214875291952159474279321073060248356265559805444632757161602937826433878063624220761252073932992917922884291628162614729023732131876067759418744459627614955482150656061568811358589171826019168372713510194382501656420112112238364124737682725238502554438067244700539622116174563342780617152405182570158681975807406344396395617988642512346475112335715316955670304874250879309627125824345792354846686369730287923731585501815258207970244731110827948444140517550183768103331008756268172711799671989468588868624180054705612304803621988527150203651058610687197895564554647115781781020988230328294647188143130596755292168420827304273972127742963034172282998777299324734708938360799136465329327046586418737918944695632099861380113069646037354633927731507194247273352404081298283182190491790210110306173121234380618576962206088242588089596571 11441915687706052291785380202709088590451493292109471629734038790077142872133988868241358176799750633455578218836923751490426812959202203740776845064426133119757524074153699978255656983674249000710667602126815520615019443375389777283902661450868855628743136732970857184412216562504016966835445371193666542212181109751553544727938390918032785632233300899465062342119976626619231977479581521828589621120732158730907886654869647652245812477492370411626155877362029769246485398198353366800908716626345119206948359004788222443637521858205848059063957148248363449109026202806075579438932557132411565963606217390579482395847113169263969760291307885955241277852228358406203633352586880629311352624176524290699279700249047495988650929299511308585063726522210016631661135174167566012944867825853483289358662846811416032145797104567358360913464256663695984212395896639170561570798066074212624155788538467830641254289404605060318287005210884544492935330295724438175503334201106112697423260949620732331313227183954248765639791823160623962776876419432242722206709921998133293591290366287931911449591378794529611905841919581149950085632608875417157468691180018532112055929570448439023570544879275441386223910332532431915430803850727840608585879107997695907317917789674234159683753353574561795503043982794569982989515470170025390915529017022883884951020308738312137471648734753409629940122761352582769373635615103755328875014185477599797451954292938203664686234608447522924505428334916902282644129550369087196716853354750614831563951442942007582286507200549858169301578969127154765837511080213927385675775611088644217017840039271136927559951214032356106504035270866024499776802769956306173231367602946687161198327848935321568762649834407842996055630172669230848886184970642485284903229729826418752068148694222883650130011555539224258169381641740023578848736145888009910326953486062129153743696594779808230536644828659808430848113571594690234224938962668738071533000419717713389719383322337652440392015969744666157443779003565523383153584058125572849712934427776632279351938029414620853001838091485112113814695353563973008969042801329754202315387850212605522057943536226911852249948086094093002289959931340013426035573549055564089457189884440058516706005875385481858868626302421066643749858999008817652566552272024822102891377713642303388830104954910294656253370475920224276670006594408832565471688043890847305861179099686883069248478537064950056658595850570956652006850336201552996412673395750709927915317910418 18513408479119019989216049231140398827768402645791003422950015372575097875008980826183995941272311537733613081966264786499031996583133887936710781583257568733014773338046313946404668335965389913151760952775660706111419574285997885490528559816739738528323077286061035093191415197254017042994263533486218683030501352580283544490529586084443677312201957640776281901655638040170890931419443418325103771691931744993282404000098306479912282085042779166927873062099669862509580032385124397327952750317714954138366924541479737116142578519941368132956999146764035562133015747857973576023145661644713310085051880198160874439149106851404476926231126068063373389112339078179648806427813009214194750650833173699128637293738458667537794834369587134313202414873112495650987773163133359354801680028186396636910350649066308805198910871617903667189517877404990140642049095134868216600064784155383889044619078196472595250022601825547482767073292833498467419900711249658467790698671555176900632963553075585912780195483255589180486700373451409185445373684202406784849106331110089566210822693432746853810992708560489020913140823607131651694851032733634064786150232993573469779824516164072146320786671531070901817743198966873736361320181594206118570568735087530011147875754717792373532585650653668088012826764541825671547934586953980145881562088585060236377674902181230754130761514215834866180944975433694797438061553902708669800165375611065275855141909670874454634412567160694753227274953481872206133928413752385070130571982084597728602499968204672125924312841356681134373753086295105966946617697873492619765061825931167371276009948593746710027467451871881190360142339620749052734459780171181465183527077226008234258576205200881374207282591569445933882064050732855069647437044575478202826114021454581366797172426354759717889430299998851873124863792396085147660094735059835929495326199572323536245353014891920468900769566342533669350668009661934934764561078843301414313617572122895959878065298145058784788411587733308669790254115901238700109254362999823729022561553600978071706784715784351140925569676986927372022665598295083836917486941847304386083491181221361790230655335898901320838816710274147707902264734962001953185777200114174776655085448994705632487786896373712187163273490564197240505151167429644956840524399767785137063660712419602713564813893271093792718699802966810695407925539104464665333068156960493343215813027418390263495751889469031354941778041062746862117156509322787377031250357956798170503407506989 29955324166825072281001429433849487418219895937900475052684054162652240747142969694425354118072062171189191300803188537989458809542336091677487626647683701852772297412200013924660325319639638913862428554902476226726439017661387662774431221267608594157066214019031892277603631759758034009829708904679885225242682462331837089218467977002476462944435258540241344243775614666790122908899024940153693392812663903724190290654967954132158094562535149578554028939461699631756065430583477764128861466944060073345315283546267959559780100378147216192020956295012399011242041950664049155462078218777124876048658097588740356834996220020668446686522433954018614666964567436585852439780399889843506103275009697989827916993987506163526445763669098442898266141395322512282648908337300925367746547854039879926269013495877724837344707976185262028102982134068686124854444991774038778170862850229596513200407616664303236504312006430607801054078503718042960355231006974096643294032872661289598056224502696318244093422667209837946126492196612033148222250103634649507055816253108222859802113059720678765260584087355018632818982743188281601780483641609051222254841413012105581835754086612511169891331550806512288041653531499305651792124032322046727156447843085225918465793544392026533216339004228229883515870747336395654537450057124005536797091105607944121328695210919542891602410248969244496121067736786277566811697169006463998675179561088665073307096202609078119320647175608217677732703288398774488778057964121472266847425336835212560166451411146679708210820041906539303675332055422260732784128778087420005440837437019811588293849987864883637587418665904237296864177610486773552511262550127487638414894680172695395456904054136202942969932425977288929937694223402085918533622015217963487729343751281000118865321120577643368019441855538076131294245434136108726508830880947845839822279685634452689989049609671728699437414395002342100198781581256625168989500041512039485846617991840609349597448620482711225180427557477974827234033119466762083262838421125396578735495981377610351058722745198971993927407768472039485837360951859056845886529743177058588398879031433967312288598872125813173088764796368240710192224666302015379221350749169738866112275333434764149193792771759194046031899792985263884255010166438462609407076671792607239955038426061906102394918848181388448972070278887034972077932133513297230804756200851340649076992127105273332744230426533981411600373891633703514124006845524340373443923753707508098418725417407 48468732645944092270217478664989886245988298583691478475634069535227338622151950520609350059344373708922804382769453324488490806125469979614198408230941270585787070750246327871064993655605028827014189507678136932837858591947385548264959781084348332685389291305092927370795046957012051052823972438166103908273183814912120633708997563086920140256637216181017626145431252706961013840318468358478797164504595648717472694655066260612070376647577928745481902001561369494265645462968602161456814217261775027483682208087747696675922678898088584324977955441776434573375057698522022731485223880421838186133709977786901231274145326872072923612753560022081988056076906514765501246208212899057700853925842871688956554287725964831064240598038685577211468556268435007933636681500434284722548227882226276563179364144944033642543618847803165695292500011473676265496494086908906994770927634384980402245026694860775831754334608256155283821151796551541427775131718223755111084731544216466498689188055771904156873618150465427126613192570063442333667623787837056291904922584218312426012935753153425619071576795915507653732123566795413253475334674342685287040991646005679051615578602776583316212118222337583189859396730466179388153444213916252845727016578172755929613669299109818906748924654881897971528697511878221326085384644077985682678653194193004357706370113100773645733171763185079362302012712219972364249758722909172668475344936699730349162238112279952573955059742768912430959978241880646694911986377873857336977997318919810288768951379351351834135132883263220438049085141717366699730746475960912625205899262950978959569859936458630347614886117776118487224319950107522605245722330298669103598421757398703629715480259337084317177215017546734863819758274134940988181059059793441690555457772735581485662493546932403085908872155536928004419109226532193874168925616007681769317605885206776226234402624563649168338183961344875769549449590918560103754061120355340900160235563963505309475513918627770009968839145211283497024287235368000783372092784125220307758057534978588422765507460983323134852977445458966857860026550154140682804016685024362974482370212655329102519254208024714493927581506642388418094489401264017332407127949283913642767360782429469781681579668132906233195173283549461124760161333868107566247601071560392377018699138481508815959732741452482241690770081853845667485857672617761896137824357811833992292805154523663596239982316003012766542151932696450376241163354847127750475174111664306268922132924396 78424056812769164551218908098839373664208194521591953528318123697879579369294920215034704177416435880111995683572641862477949615667806071291686034878624972438559368162446341795725318975244667740876618062580613159564297609608773211039391002351956926842455505324124819648398678716770085062653681342845989133515866277243957722927465540089396603201072474721258970389206867373751136749217493298632490557317259552441662985310034214744228471210113078324035930941023069126021710893552079925585675684205835100828997491634015656235702779276235800516998911736788833584617099649186071886947302099198963062182368075375641588109141546892741370299275993976100602723041473951351353685988612788901206957200852569678784471281713470994590686361707784020109734697663757520216285589837735210090294775736266156489448377640821758479888326823988427723395482145542362390350939078682945772941790484614576915445434311525079068258646614686763084875230300269584388130362725197851754378764416877756096745412558468222400967040817675265072739684766675475481889873891471705798960738837326535285815048812874104384332160883270526286551106309983694855255818315951736509295833059017784633451332689389094486103449773144095477901050261965485039945568246238299572883464421257981848079462843501845439965263659110127855044568259214616980622834701201991219475744299800948479035065324020316537335582012154323858423080449006249931061455891915636667150524497788395422469334314889030693275706918377130108692681530279421183690044341995329603825422655755022848935402790498031542345952925169759741724417197139627432514875254048332630646736699970790547863709924323513985202304783680355784088497560594296157756984880426156742013316437571399025172384313473287260147147443524023793757452497537026906714681075011405178284801524016581604527814667510046453928314011075004135713354660668302600677756496955527609139885570841228916223452234235377867775598356347217869748231172175185272743561161867380386006853555804114659072962539110481235149266702689258324258320354834762866634931205250616886493553516356198773824230206182295128780385213931006343697387502013197528690546428201421562881249244089296414807853080150527667016346303010629128286714067566032711628478698453652508879636115864233930875372439892100279227073076534725009015171500306570175654677743352999616973737564543414918354651589633870690662840360740880639563789806131059126942580558663174641369797281628936928984212742536994178142525824330153890365170200371468123919097865371814367340858341803 126892789458713256821436386763829259910196493105283432003952193233106917991446870735644054236760809589034800066342095186966440421793276050905884443109566243024346438912692669666790312630849696567890807570258750092402156201556158759304350783436305259527844796629217747019193725673782136115477653781012093041789050092156078356636463103176316743457709690902276596534638120080712150589535961657111287721821855201159135679965100475356298847857691007069517832942584438620287356356520682087042489901467610128312679699721763352911625458174324384841976867178565268157992157347708094618432525979620801248316078053162542819383286873764814293912029553998182590779118380466116854932196825687958907811126695441367741025569439435825654926959746469597321203253932192528149922271338169494812843003618492433052627741785765792122431945671791593418687982157016038655847433165591852767712718118999557317690461006385854900012981222942918368696382096821125815905494443421606865463495961094222595434600614240126557840658968140692199352877336738917815557497679308762090865661421544847711827984566027530003403737679186033940283229876779108108731152990294421796336824705023463685066911292165677802315567995481678667760446992431664428099012460154552418610480999430737777693132142611664346714188313992025826573265771092838306708219345279976902154397493993952836741435437121090183068753775339403220725093161226222295311214614824809335625869434488125771631572427168983267230766661146042539652659772160067878602030719869186940803419974674833137704354169849383376481085808432980179773502338856994132245621730009245255852635962921769507433569860782144332817190901456474271312817510701818763002707210724825845611738194970102654887864572810371577324362461070758657577210771671967894895740134804846868840259296752163090190308214442449539837186166611932140132463887200496474846682112963209378457491456048005142457854858799027036113782317692093639297680763093745376497622282222721286167089119767619968548476457738251245118105847900541821282607590202763650007023989375837194251611051334787196589737667165618263633362659389973201557414052167338211494563113225784537363619456744625517327107288175242160943927809653017546381203468830050044035606647737566151646996898293703712556952108025006512422246360084186133775332834174677741902278814913391993992436703024923734314384331086352932353610442594726307049647478748821023080404916475008633662602436152600525224195058540006944684677757026604266606333555218595874394271977036120636262991266199 205316846271482421372655294862668633574404687626875385532270316930986497360741790950678758414177245469146795749914737049444390037461082122197570477988191215462905807075139011462515631606094364308767425632839363251966453811164931970343741785788262186370300301953342566667592404390552221178131335123858082175304916369400036079563928643265713346658782165623535566923844987454463287338753454955743778279139114753600798665275134690100527319067804085393553763883607507746309067250072762012628165585673445229141677191355779009147328237450560185358975778915354101742609256996894166505379828078819764310498446128538184407492428420657555664211305547974283193502159854417468208618185438476860114768327548011046525496851152906820245613321454253617430937951595950048366207861175904704903137779354758589542076119426587550602320272495780021142083464302558401046198372244274798540654508603614134233135895317910933968271627837629681453571612397090710204035857168619458619842260377971978692180013172708348958807699785815957272092562103414393297447371570780467889826400258871382997643033378901634387735898562456560226834336186762802963986971306246158305632657764041248318518243981554772288419017768625774145661497254397149468044580706392851991493945420688719625772594986113509786679451973102153681617834030307455287331054046481968121630141793794901315776500761141406720404335787493727079148173610232472226372670506740446002776393932276521194100906742058013960506473579523172648345341302439489062292075061864516544628842630429855986639756960347414918827038733602739921497919535996621564760496984057577886499372662892560055297279785105658318019495685136830055401315071296114920759692091150982587625054632541501680060248886283658837471509904594782451334663269208994801610421209816252047125060820768744694718122881952495993765500177686936275845818547868799075524438609918736987597377026889234058681307093034404903889380674039311509045911935268930649241183444090101672173942675571734627621438996848732480267372550589800145540927945037526516641955194626454080745164567690985970413967873347913392413747873320979545254801554180535740185109541427206100244868700833921932134960368325769827960274112663646674667917536396082755664085346191218660526633014157937643432324547917106791649319436618911142790504334481247917556956558266391610966174267568338652669035920720223623016450803335606946613437284879880150022985475138183275032399717781537454208407801077001122827203581356758156971503755590063998313369842407935003603849608002 332209635730195678194091681626497893484601180732158817536222510164093415352188661686322812650938055058181595816256832236410830459254358173103454921097757458487252245987831681129305944236944060876658233203098113344368610012721090729648092569224567445898145098582560313686786130064334357293608988904870175217093966461556114436200391746442030090116491856525812163458483107535175437928289416612855066000960969954759934345240235165456826166925495092463071596826191946366596423606593444099670655487141055357454356891077542362058953695624884570200952646093919369900601414344602261123812354058440565558814524181700727226875715294422369958123335101972465784281278234883585063550382264164819022579454243452414266522420592342645900540281200723214752141205528142576516130132514074199715980782973251022594703861212353342724752218167571614560771446459574439702045805409866651308367226722613691550826356324296788868284609060572599822267994493911836019941351612041065485305756339066201287614613786948475516648358753956649471445439440153311113004869250089229980692061680416230709471017944929164391139636241642594167117566063541911072718124296540580101969482469064712003585155273720450090734585764107452813421944246828813896143593166547404410104426420119457403465727128725174133393640287094179508191099801400293594039273391761945023784539287788854152517936198262496903473089562833130299873266771458694521683885121565255338402263366764646965732479169226997227737240240669215187998001074599556940894105781733703485432262605104689124344111130196798295308124542035720101271421874853615697006118714066823142352008625814329562730849645887802650836686586593304326714132581997933683762399301875808433236792827511604334948113459094030414795872365665541108911874040880962696506161344621098915965320117520907784908431096394945533602686344298868415978282435069295550371120722881946366054868482937239201139161951833431940003162991731405148343592698362676025738805726312822958341031795339354596169915454586983725385478398490341966823535535240290166648979184002291274996775619025773167003705540513531656047110532710952746812215606347873951679672654652990637608488157578547449462067656501011988904201922316664221049121005226132799699691993928784812173629912451641355989276655942113304071565796703097276565837168655925659459235373179783604958610970593262386983420251806576555370061245930333253663084763628701173103390391613191908695002153934137979432602859617008067511881338383362423577837310808659872707641819444055639866840874201 537526482001678099566746976489166527059005868359034203068492827095079912712930452637001571065115300527328391566171569285855220496715440295301025399085948673950158053062970692591821575843038425185425658835937476596335063823886022699991834355012829632268445400535902880354378534454886578471740324028728257392398882830956150515764320389707743436775274022149347730382328094989638725267042871568598844280100084708360733010515369855557353485993299177856625360709799454112905490856666206112298821072814500586596034082433321371206281933075444755559928425009273471643210671341496427629192182137260329869312970310238911634368143715079925622334640649946748977783438089301053272168567702641679137347781791463460792019271745249466146153602654976832183079157124092624882337993689978904619118562328009612136779980638940893327072490663351635702854910762132840748244177654141449849021735326227825783962251642207722836556236898202281275839606891002546223977208780660524105148016717038179979794626959656824475456058539772606743538001543567704410452240820869697870518461939287613707114051323830798778875534804099154393951902250304714036705095602786738407602140233105960322103399255275222379153603532733226959083441501225963364188173872940256401598371840808177029238322114838683920073092260196333189808933831707748881370327438243913145414681081583755468294436959403903623877425350326857379021440381691166748056555628305701341178657299041168159833385911285011188243713820192387836343342377039046003186180843598220030061105235534545110983868090544213214135163275638460022769341410850237261766615698124401028851381288706889618028129430993460968856182271730134382115447653294048604522091393026791020861847460053106015008362345377689252267382270260323560246537310089957498116582554437350963090380938289652479626553978347441527368186521985804691824100982938094625895559332800683353652245509826473259820469044867836843892543665770716657389504633631606674979989170402924630514974470911089223791354451435716205652850949080142112364463480277816683290934378628745355741940186716759137417673413861445048460858406031932292067017160528409691864782196080196737853356858412469381597028024826781816864476034980310895717038541622215555363777340120003472700262926609578999421601203859220095720885233322008419356341503137173577016191931446175215924785238161601039652456172526800178386512049265940200276522048508581323126375866751375183727401871715675433641010660694009190339084919740120580549341066398723871021011661851990643470690482203 869736117731873777760838658115664420543607049091193020604715337259173328065119114323324383716053355585509987382428401522266050955969798468404480320183706132437410299050802373721127520079982486062083892039035589940703673836607113429639926924237397078166590499118463194041164664519220935765349312933598432609492849292512264951964712136149773526891765878675159893840811202524814163195332288181453910281061054663120667355755605021014179652918794270319696957535991400479501914463259650211969476559955555944050390973510863733265235628700329325760881071103192841543812085686098688753004536195700895428127494491939638861243859009502295580457975751919214762064716324184638335718949966806498159927236034915875058541692337592112046693883855700046935220362652235201398468126204053104335099345301260634731483841851294236051824708830923250263626357221707280450289983064008101157388962048841517334788607966504511704840845958774881098107601384914382243918560392701589590453773056104381267409240746605299992104417293729256214983440983721015523457110070958927851210523619703844416585069268759963170015171045741748561069468313846625109423219899327318509571622702170672325688554528995672469888189296840679772505385748054777260331767039487660811702798260927634432704049243563858053466732547290512698000033633108042475409600830005858169199220369372609620812373157666400527350514913159987678894707153149861269740440749870956679580920665805815125565865080512008415980954060861603024341343451638602944080286625331923515493367840639234235327979220741011509443287817674180124040763285703852958772734412191224171203389914521219180758979076881263619692868858323438708829580235291982288284490694902599454098640287564710349956475804471719667063254635925864669158411350970920194622743899058449879055701055810560264534985074742387060970872866284673107802383418007390176266680055682629719707113992763712460959630996701268783895706657502121805733097331994282700718794896715747588856006266250443819961269906022699931038329347570484079187999015518106849939913562631036630738715805742532304421378954374976704507968938742885038879232766876283643544454850733187375461845015991016831059095681327793805768677957296975116766159546848348355063469334048788284873892839061220355410877859801333399792451030025105695922178671793099236475427304625958820883396208754863426635876424333376733756573295196273453939606812137282496229766258364567092422404025649813413073613520311017257850966258123483004127178377207383743728653481296046283337531356404 1407262599733551877327585634604830947602612917450227223673208164354253240778049566960325954781168656112838378948599970808121271452685238763705505719269654806387568352113773066312949095923020911247509550874973066537038737660493136129631761279250226710435035899654366074395543198974107514237089636962326690001891732123468415467729032525857516963667039900824507624223139297514452888462375159750052754561161139371481400366270974876571533138912093448176322318245790854592407405319925856324268297632770056530646425055944185104471517561775774081320809496112466313187022757027595116382196718332961225297440464802178550495612002724582221202792616401865963739848154413485691607887517669448177297275017826379335850560964082841578192847486510676879118299519776327826280806119894032008954217907629270246868263822490235129378897199494274885966481267983840121198534160718149551006410697375069343118750859608712234541397082856977162373947208275916928467895769173362113695601789773142561247203867706262124467560475833501862958521442527288719933909350891828625721728985558991458123699120592590761948890705849840902955021370564151339146128315502114056917173762935276632647791953784270894849041792829573906731588827249280740624519940912427917213301170101735811461942371358402541973539824807486845887808967464815791356779928268249771314613901450956365089106810117070304151227940263486845057916147534841028017796996378176658020759577964846983285399250991797019604224667881053990860684685828677648947266467468930143545554473076173779346311847311285224723578451093312640146810104696554090220539350110315625200054771203228108798787108507874724588549051130053573090945027888586030892806582087929390474960487747617816364964838149849408919330636906186188229404948661060877692739326453495800842146081994100212744161539053089828588339059388270477799626484400945484802162239388483313073359359502590185720780100041569105627788250323272838463122601965625889375698784067118672219370980737161533043752624357458416136691180296650626191552462495795923533230847941259781986480655992459291441839052368236421752968827344774817330946249927404693335409237046813384113315201874403486212656123706154575622633153992277286012483198088470563910427246674168791757574155765670799354832479063660553495513336263347114115278520174930272813491619236072134036808181446916464466288332596860176912143085344462213654216128860645863819356142125115942276149805897365488846714624181005026448190051177863603584676519443606107614749665143148036926808221838607 2276998717465425655088424292720495368146219966541420244277923501613426568843168681283650338497222011698348366331028372330387322408655037232109986039453360938824978651164575440034076616003003397309593442914008656477742411497100249559271688203487623788601626398772829268436707863493328450002438949895925122611384581415980680419693744662007290490558805779499667518063950500039267051657707447931506664842222194034602067722026579897585712791830887718496019275781782255071909319783185506536237774192725612474696816029455048837736753190476103407081690567215659154730834842713693805135201254528662120725567959294118189356855861734084516783250592153785178501912870737670329943606467636254675457202253861295210909102656420433690239541370366376926053519882428563027679274246098085113289317252930530881599747664341529365430721908325198136230107625205547401648824143782157652163799659423910860453539467575216746246237928815752043472054809660831310711814329566063703286055562829246942514613108452867424459664893127231119173504883511009735457366460962787553572939509178695302540284189861350725118905876895582651516090838877997964255551535401441375426745385637447304973480508313266567318929982126414586504094212997335517884851707951915578025003968362663445894646420601966400027006557354777358585809001097923833832189529098255629483813121820328974709919183274736704678578455176646832736810854687990889287537437128047614700340498630652798410965116072309028020205621941915593885026029280316251891346754094262067061047840916813013581639826532026236233021738910986820270850867982257943179312084522506849371258161117749327979546087584755988208241919988377011799774608123878013181091072782831989929059128035182526714921313954321128586393891542112052898563360012031797887362070352554250721201783049910773008696524127832215649309932254555150907428867818952874978428919444165942793066473495353898181739731038270374411683956980774960268855699297620172076417578963834419808226987003411976863713894263481116067729509644221110270740461511314030383170761503890818617219371798201823746260431322611398457476796283517702369825482694280976978953691897546571488777046890394503043715219387482369428401831949574261129249357635318912265490716008217580042448048604732019710243356923461886895305787293372219811200698846723372049967046540698092857691577655671327892924209021193553645899658639658487108155735672783146315585908383480509368572209923015302259788237701316043706041017435987086588803697820813491358478318624444083210145753195011 3684261317198977532416009927325326315748832883991647467951131665967679809621218248243976293278390667811186745279628343138508593861340275995815491758723015745212547003278348506347025711926024308557102993788981723014781149157593385688903449482737850499036662298427195342832251062467435964239528586858251812613276313539449095887422777187864807454225845680324175142287089797553719940120082607681559419403383333406083468088297554774157245930742981166672341594027573109664316725103111362860506071825495669005343241085399233942208270752251877488402500063328125467917857599741288921517397972861623346023008424096296739852467864458666737986043208555651142241761025151156021551493985305702852754477271687674546759663620503275268432388856877053805171819402204890853960080365992117122243535160559801128468011486831764494809619107819473022196588893189387522847358304500307203170210356798980203572290327183928980787635011672729205846002017936748239179710098739425816981657352602389503761816976159129548927225368960732982132026326038298455391275811854616179294668494737686760663983310453941487067796582745423554471112209442149303401679850903555432343919148572723937621272462097537462167971774955988493235683040246616258509371648864343495238305138464399257356588791960368942000546382162264204473617968562739625188969457366505400798427023271285339799025993391807008829806395440133677794727002222831917305334433506224272721100076595499781696364367064106047624430289822969584745710715108993900838613221563192210606602313992986792927951673843311460956600190004299460417660972678812033399851434632822474571312932320977436778333196092630712796790971118430584890719636012464044073897654870761380404019615782800343079886152104170537505724528448298241127968308673092675580101396806050051563347865044010985752858063180922044237648991642825628707055352219898359780591158832649255866425832997944083902519831079839480039472207304047798731978301263246061452116363030953092027597967740573509907466518620939532204420689940871736462292924007109953916401609445150600603700027790661115188099483690847820210445623628292519700771732621685670314362928944359955602092248764797989256371343093636945051034985941851547141732555723789476175917962682386371800022204370402819065075835987122440390819123556719333926479219021653644863458665776770226894499759102587792359212541618053730558042743984120700762371864533429010134942050508596451644722015820380791106502861882321070154231068613850690173480217264419598973227983767592120136953975033618 5961260034664403187504434220045821683895052850533067712229055167581106378464386929527626631775612679509535111610656715468895916269995313227925477798176376684037525654442923946381102327929027705866696436702990379492523560654693635248175137686225474287638288697200024611268958925960764414241967536754176935224660894955429776307116521849872097944784651459823842660351040297592986991777790055613066084245605527440685535810324134671742958722573868885168360869809355364736226044886296869396743846018221281480040057114854282779945023942727980895484190630543784622648692442454982726652599227390285466748576383390414929209323726192751254769293800709436320743673895888826351495100452941957528211679525548969757668766276923708958671930227243430731225339284633453881639354612090202235532852413490332010067759151173293860240341016144671158426696518394934924496182448282464855334010016222891064025829794759145727033872940488481249318056827597579549891524428305489520267712915431636446276430084611996973386890262087964101305531209549308190848642272817403732867608003916382063204267500315292212186702459641006205987203048320147267657231386304996807770664534210171242594752970410804029486901757082403079739777253243951776394223356816259073263309106827062703251235212562335342027552939517041563059426969660663459021158986464761030282240145091614314508945176666543713508384850616780510531537856910822806592871870634271887421440575226152580107329483136415075644635911764885178630736744389310152729959975657454277667650154909799806509591500375337697189621928915286280688511840661069976579163519155329323942571093438726764757879283677386701005032891106807596690494244136342057254988727653593370333078743817982869794807466058491666092118419990410294026531668685124473467463467158604302284549648093921758761554587308754259886958923897380779614484220038851234759020078276815198659492306493297982084259562118109854451156164284822759000834000560866233528533941994787511835824954743985486771180412884420648272150199585092846733033385518423984299572370949041419220919399588862938934359915013459218667922419911810222070597215315966647293316620841906527090869295655192492300086562481119314479436817891425808270981913359108388441408678690603951842470252975134838775319192910584327286124910850091553737679917868377016913425712317468319752191336758259120252136750639247284203942402623779187870527600206212156450527958892076961013294225743396093366291099583637113860272086049837776762283915085233090331706302392036203347099728228629 9645521351863380719920444147371147999643885734524715180180186833548786188085605177771602925054003347320721856890285058607404510131335589223740969556899392429250072657721272452728128039855052014423799430491972102507304709812287020937078587168963324786674950995627219954101209988428200378481496123612428747837937208494878872194539299037736905399010497140148017802638130095146706931897872663294625503648988860846769003898621689445900204653316850051840702463836928474400542769989408232257249917843716950485383298200253516722153294694979858383886690693871910090566550042196271648169997200251908812771584807486711669061791590651417992755337009265087462985434921039982373046594438247660380966156797236644304428429897426984227104319084120484536397158686838344735599434978082319357776387574050133138535770638005058355049960123964144180623285411584322447343540752782772058504220373021871267598120121943074707821507952161210455164058845534327789071234527044915337249370268034025950038247060771126522314115631048697083437557535587606646239918084672019912162276498654068823868250810769233699254499042386429760458315257762296571058911237208552240114583682782895180216025432508341491654873532038391572975460293490568034903595005680602568501614245291461960607824004522704284028099321679305767533044938223403084210128443831266431080667168362899654307971170058350722338191246056914188326264859133654723898206304140496160142540651821652361803693850200521123269066201587854763376447459498304053568573197220646488274252468902786599437543174218649158146222118919585741106172813339882009979014953788151798513884025759704201536212479770017413801823862225238181581213880148806101328886382524354750737098359600783212874693618162662203597842948438708535154499977358217149047564863964654353847897513137932744514412650489676304124607915540206408321539572258749594539611237109464454525918139491242065986779393197949334490628371588870557732812301824112294980650305025740603863422922484558996678646931505360180476570889525964583195326309525533938215973980394192019824619427379524054122459398704307038878368043540102741771368947937652317607679549786266482692961544419990481556457905574756259530471803833277355412714469082897864617326641372990323642492457345537657840395028897706767676944034406810887664159136890030661776884378094238546646691095860846912611349292257301014761985146607899888632899464739641166585470009400673412658016241563776884472793961465958184014503154663688466935764132349652689304934286159628323484053703262247 15606781386527783907424878367416969683538938585057782892409242001129892566549992107299229556829616026830256968500941774076300426401330902451666447355075769113287598312164196399109230367784079720290495867194962481999828270466980656185253724855188799074313239692827244565370168914388964792723463660366605683062598103450308648501655820887609003343795148599971860462989170392739693923675662718907691587894594388287454539708945824117643163375890718937009063333646283839136768814875705101653993763861938231965423355315107799502098318637707839279370881324415694713215242484651254374822596427642194279520161190877126598271115316844169247524630809974523783729108816928808724541694891189617909177836322785614062097196174350693185776249311363915267622497971471798617238789590172521593309239987540465148603529789178352215290301140108815339049981929979257371839723201065236913838230389244762331623949916702220434855380892649691704482115673131907338962758955350404857517083183465662396314677145383123495701005893136661184743088745136914837088560357489423645029884502570450887072518311084525911441201502027435966445518306082443838716142623513549047885248216993066422810778402919145521141775289120794652715237546734519811297818362496861641764923352118524663859059217085039626055652261196347330592471907884066543231287430296027461362907313454513968816916346724894435846576096673694698857802716044477530491078174774768047563981227047804941911023333336936198913702113352739942007184203887614206298533172878100765941902623812586405947134674593986855335844047834872021794684654000951986558178472943481122456455119198430966294091763447404114806856753332045778271708124285148158583875110177948121070177103418766082669501084221153869689961368429118829181031646043341622515028331123258656132447161231854503275967237798430564011566839437587187936023792297600829298631315386279653185410445984540048071038955316059188941784535873693316733646302384978528509184247020528115699247877228544483449827344389780828748721089111057429928359695043957922515546351343233439045538826968386993056819313717766257546290463451912963841966163253618964900996170628173009783830840075182973856544468055875574009908621724703163683696382442006253058735320063594275484962710320672496615714221808291094963068945256902441401839054758407678690310090411706866398882432619106032863486042896548298965927549231679076503427064945853323035997968292750373671310467307172977839085061049595297874775240713526243698048047434885779636640588551664526831153431490876 25252302738391164627345322514788117683182824319582498072589428834678678754635597285070832481883619374150978825391226832683704936532666491675407416911975161542537670969885468851837358407639131734714295297686934584507132980279267677122332312024152123860988190688454464519471378902817165171204959783979034430900535311945187520696195119925345908742805645740119878265627300487886400855573535382202317091543583249134223543607567513563543368029207568988849765797483212313537311584865113333911243681705655182450806653515361316224251613332687697663257572018287604803781792526847526022992593627894103092291745998363838267332906907495587240279967819239611246714543737968791097588289329437278290143993120022258366525626071777677412880568395484399804019656658310143352838224568254840951085627561590598287139300427183410570340261264072959519673267341563579819183263953848008972342450762266633599222070038645295142676888844810902159646174518666235128033993482395320194766453451499688346352924206154250018015121524185358268180646280724521483328478442161443557192161001224519710940769121853759610695700544413865726903833563844740409775053860722101287999831899775961603026803835427487012796648821159186225690697840225087846201413368177464210266537597409986624466883221607743910083751582875653098125516846107469627441415874127293892443574481817413623124887516783245158184767342730608887184067575178132254389284478915264207706521878869457303714717183537457322182768314940594705383631663385918259867106370098747254216155092715373005384677848812636013482066166754457762900857467340833996537193426731632920970339144958135167830304243217421528608680615557283959852922004433954259912761492702302871807275463019549295544194702383816073287804316867827364335531623401558771562593195087913009980344674369787247790379888288106868136174754977793596257563364556350423838242552495744107711328585475782114057818348514008523432412907462563874466458604209090823489834552046268719562670799713103480128474275895141009225291978637022013123686004569491860731520331737425458870158254347911047179278712422073296424658506992015705613335111191271282508675720414439492476792384495173455413002373630631833540380425557980519096410851524904117676061961436584599127455167666210154456109250705997862640012979663713329065998191648438340467194468505945413045573528479952945474835335153849313727912695839578965136326529685494489621467977693423786329326708870949862311879022515553481889278395377214710633812179784538468941574874711292850315207134753123 40859084124918948534770200882205087366721762904640280964998670835808571321185589392370062038713235400981235793892168606760005362933997394127073864267050930655825269282049665250946588775423211455004791164881897066506961250746248333307586036879340922935301430381281709084841547817206129963928423444345640113963133415395496169197850940812954912086600794340091738728616470880626094779249198101110008679438177637421678083316513337681186531405098287925858829131129496152674080399740818435565237445567593414416230008830469115726349931970395536942628453342703299516997035011498780397815190055536297371811907189240964865604022224339756487804598629214135030443652554897599822129984220626896199321829442807872428622822246128370598656817706848315071642154629781941970077014158427362544394867549131063435742830216361762785630562404181774858723249271542837191022987154913245886180681151511395930846019955347515577532269737460593864128290191798142466996752437745725052283536634965350742667601351537373513716127417322019452923735025861436320417038799650867202222045503794970598013287432938285522136902046441301693349351869927184248491196484235650335885080116769028025837582238346632533938424110279980878405935386959607657499231730674325852031460949528511288325942438692783536139403844072000428717988753991536170672703304423321353806481795271927591941803863508139594031343439404303586041870291222609784880362653690032255270503105917262245625740516874393521096470428293334647390815867273532466165639542976848020158057716527959411331812523406622868817910214589329784695542121341785983095371899675114043426794264156566134124396006664825643415537368889329738124630128719102418496636602880250992877452566438315378213695786604969942977765685296946193516563269444900394077621526211171666112791835601641751066347126086537432147741594415380784193587156853951253136873867882023760896739031460322162128857303830067712374197443336257191200104906594069351999018799066796835261918676941647963578301620284921837974013067748079443052045699613449783247066683080658897915697081316298040236098026139839553970948970443928669455301274444890247409671891042612502260623224570356429269546841686507407550289047282683682780107233966910370734797281500178874612417877986882651071823472514288957603081924920615770467837246406846019157504558917652279444455961099058978338321378050397612693840245071258041639753594631347812657465945986174160000637176178122840150964083565148779764053636090740954331860227219424248578215463262957377146360566243999 66111386863310113162115523396993205049904587224222779037588099670487250075821186677440894520596854775132214619283395439443710299466663885802481281179026092198362940251935134102783947183062343189719086462568831651014094231025516010429918348903493046796289621069736173604312926720023295135133383228324674544863668727340683689894046060738300820829406440080211616994243771368512495634822733483312325770981760886555901626924080851244729899434305856914708594928612708466211391984605931769476481127273248596867036662345830431950601545303083234605886025360990904320778827538346306420807783683430400464103653187604803132936929131835343728084566448453746277158196292866390919718273550064174489465822562830130795148448317906048011537386102332714875661811288092085322915238726682203495480495110721661722882130643545173355970823668254734378396516613106417010206251108761254858523131913778029530068089993992810720209158582271496023774464710464377595030745920141045247049990086465039089020525557691623531731248941507377721104381306585957803745517241812310759414206505019490308954056554792045132832602590855167420253185433771924658266250344957751623884912016544989628864386073774119546735072931439167104096633227184695503700645098851790062297998546938497912792825660300527446223155426947653526843505600099005798114119178550615246250056277089341215066691380291384752216110782134912473225937866400742039269647132605296462977024984786719549340457700411850843279238743233929352774447530659450726032745913075595274374212809243332416716490372219258882299976381343787547596399588682619979632565326406746964397133409114701301954700249882247172024217984446613697977552133153056678409398095582553864684728029457864673757890488988786016265570002164773557852094892846459165640214721299084676093136509971428998856727014374644300283916349393174380451150521410301676975116420377767868608067616936104276186675652344076235806610350798821065666563510803160175488853351113065554824589476654751443706775896180062847199305046385101456175731704182941643978587014818084356785855335664209087415376738561912850395607477435944375068636385636161529918347611457051994737415609065529884682549215317139241090669472840664201876518085491814488410859242936763473739873045653092805527932723220286820243094904584329099533835438055284359624699027423597692490029489579011923813156713204246926421752940910837006776080124316842302278933923679597946329963885049072702462843106080702261653332031467955664965672407003962717519790337974250227461567700997122 106970470988229061696885724279198292416626350128863060002586770506295821397006776069810956559310090176113450413175564046203715662400661279929555145446077022854188209533984799353730535958485554644723877627450728717521055481771764343737504385782833969731591051451017882689154474537229425099061806672670314658826802142736179859091897001551255732916007234420303355722860242249138590414071931584422334450419938523977579710240594188925916430839404144840567424059742204618885472384346750205041718572840842011283266671176299547676951477273478771548514478703694203837775862549845086818622973738966697835915560376845767998540951356175100215889165077667881307601848847763990741848257770691070688787652005638003223771270564034418610194203809181029947303965917874027292992252885109566039875362659852725158624960859906936141601386072436509237119765884649254201229238263674500744703813065289425460914109949340326297741428319732089887902754902262520062027498357886770299333526721430389831688126909228997045447376358829397174028116332447394124162556041463177961636252008814460906967343987730330654969504637296469113602537303699108906757446829193401959769992133314017654701968312120752080673497041719147982502568614144303161199876829526115914329459496467009201118768098993310982362559271019653955561494354090541968786822482973936600056538072361268807008495243799524346247454221539216059267808157623351824150009786295328718247528090703981794966198217286244364375709171527264000165263397932983192198385456052443294532270525771291828048302895625881751117886595933117332291941710024405962727937226081861007823927673271267436079096256547072815439755353335943436102182261872159096906034698462804857562180595896180051971586275593755959243335687461719751368658162291359559717836247510256342205928345573070749923074140461181732431657943808555164644737678264252930111990288259791629504806648396426438315532956174143948180807794135078256866668417397229527487872150179862390086508153596399407285077516464984685173318114133180899227777403796391427225653697898743254701552416980507127651474764701752404366556447879873044523937660081051777328019502499664496998038833635886313952096057003646648640958520123347884656625319458724859145656524436942348352290923639975456599756195734575777846176829504944870001672684462130378782203586341249971934485450678070902151478091254644539115593185982095048415833718948190114936399869665772106330601061227195542613807189645851041417385667558696619297532634223386966098005801237207604607928267241121 173081857851539174859001247676191497466530937353085839040174870176783071472827962747251851079906944951245665032458959485647425961867325165732036426625103115052551149785919933456514483141547897834442964090019560368535149712797280354167422734686327016527880672520754056293467401257252720234195189900994989203690470870076863548985943062289556553745413674500514972717104013617651086048894665067734660221401699410533481337164675040170646330273710001755276018988354913085096864368952681974518199700114090608150303333522129979627553022576562006154400504064685108158554690088191393239430757422397098300019213564450571131477880488010443943973731526121627584760045140630381661566531320755245178253474568468134018919718881940466621731589911513744822965777205966112615907491611791769535355857770574386881507091503452109497572209740691243615516282497755671211435489372435755603226944979067454990982199943333137017950586902003585911677219612726897657058244278027815546383516807895428920708652466920620577178625300336774895132497639033351927908073283275488721050458513833951215921400542522375787802107228151636533855722737471033565023697174151153583654904149859007283566354385894871627408569973158315086599201841328998664900521928377905976627458043405507113911593759293838428585714697967307482404999954189547766900941661524551846306594349450610022075186624090909098463565003674128532493746024024093863419656918900625181224553075490701344306655917698095207654947914761193352939710928592433918231131369128038568906483335014624244764793267845140633417862977276904879888341298707025942360502552488607972221061082385968738033796506429319987463973337782557134079734395025215775315432794045358722246908625354044725729476764582541975508905689626493309220753055137818725358050968809341018299064855544499748779801154835826032715574293201729545095888199674554607087106708637559498112874265332530714502208608518220183987418144933899322533231928200389702976725501292927944911097630251150850991853412645047532372623160518282355403509107979333071204240712716827611487407752644716215066851503263665254762163925315817419592574045717213307246367113956716491735454442701416198634645272320785889731627992964012086533143404950539347556515767373705822092163969293068262127688918954862598089271734089273969535508122517414738406902613764847664424514940257082825964634804458891465537346126892932055191913843265032417215333793345370052660564946276268245076650295726553303070717699026652284263205041227349683617796139211457832069495968238243 280052328839768236555886971955389789883157287481948899042761640683078892869834738817062807639217035127359115445634523531851141624267986445661591572071180137906739359319904732810245019100033452479166841717470289086056205194569044697904927120469160986259471723971771938982621875794482145333256996573665303862517273012813043408077840063840812286661420908920818328439964255866789676462966596652156994671821637934511061047405269229096562761113114146595843443048097117703982336753299432179559918272954932619433570004698429527304504499850040777702914982768379311996330552638036480058053731161363796135934773941296339130018831844185544159862896603789508892361893988394372403414789091446315867041126574106137242690989445974885231925793720694774770269743123840139908899744496901335575231220430427112040132052363359045639173595813127752852636048382404925412664727636110256347930758044356880451896309892673463315692015221735675799579974514989417719085742635914585845717043529325818752396779376149617622626001659166172069160613971480746052070629324738666682686710522648412122888744530252706442771611865448105647458260041170142471781144003344555543424896283173024938268322698015623708082067014877463069101770455473301826100398757904021890956917539872516315030361858287149410948273968986961437966494308280089735687764144498488446363132421811878829083681867890433444711019225213344591761554181647445687569666705195953899472081166194683139272854134984339572030657086288457353104974326525417110429516825180481863438753860785916072813096163471022384535749573210022212180283008731431905088439778570468980044988755657236174112892762976392802903728691118500570181916656897374872221467492508163579809089221250224777701063040176297934752241377088213060589411217429178285075887216319597360504993201117570498702875295297007765147232237010284709740625877938807537199096996897351127617680913728957152817741564692364132168225939068977579399900345597619230464597651472790334997605783847550258276930929110032217545941274651463254631286511775724498429894410615570866188960169625223342718326267965417659128720373195690464116511705798265084574386616456380988733493276337302512586741329324432538372586513087359971189768724409264206702172291810648170444454892933043718727445114689438375935448563594218839537180806979545117189106200106097636359000390935153728116112895713536004652939312875027103607747562213222532151733663011142158991166007503463787690457485372404344488103366585348903560737675450736649715801940448665436677424235479364 453134186691307411414888219631581287349688224835034738082936510859861964342662701564314658719123980078604780478093483017498567586135311611393627998696283252959290509105824666266759502241581350313609805807489849454591354907366325052072349855155488002787352396492525995276089277051734865567452186474660293066207743882889906957063783126130368840406834583421333301157068269484440762511861261719891654893223337345044542384569944269267209091386824148351119462036452030789079201122252114154078117973069023227583873338220559506932057522426602783857315486833064420154885242726227873297484488583760894435953987505746910261496712332195988103836628129911136477121939129024754064981320412201561045294601142574271261610708327915351853657383632208519593235520329806252524807236108693105110587078201001498921639143866811155136745805553818996468152330880160596624100217008546011951157703023424335442878509836006600333642602123739261711257194127716315376143986913942401392100560337221247673105431843070238199804626959502946964293111610514097979978702608014155403737169036482363338810145072775082230573719093599742181313982778641176036804841177495709127079800433032032221834677083910495335490636988035778155700972296802300491000920686281927867584375583278023428941955617580987839533988666954268920371494262469637502588705806023040292669726771262488851158868491981342543174584228887473124255300205671539550989323624096579080696634241685384483579510052682434779685605001049650706044685255117851028660648194308520432345237195800540317577889431316163017953612550486927092068624307438457847448942331059076952266049838043204912146689269405712790367702028901057704261651051922590647536900286553522302055997846604269503430539804758839910261147066714706369810164272566997010433938185128938378804058056662070247482676450132833797862806530212014254836514077613362144286203705534910625730555179061487867319950173210584316155644084002876901933132273798008933441323152765718279908703414098701109268784341755079749918564435169745610034795619755057569634135123332398477676367922269939557785177771229082913890884298511507883709085751515478391820753730413097480468947719038718711221386601645218428104214506051372057722912129359803554258688059184353992536618862226111980855134033644300974024720297683492809072688929496959855596008813870945300783515331192236554080747700172427470190285439767959158799661405478254949367067456356512211651730953779732032767107781098957647558821065612001187823942716678086333333598079660123268746920203717607 733186515531075647970775191586971077232845512316983637125698151542940857212497440381377466358341015205963895923728006549349709210403298057055219570767463390866029868425729399077004521341614802792776647524960138540647560101935369749977276975624648989046824120464297934258711152846217010900709183048325596928725016895702950365141623189971181127068255492342151629597032525351230438974827858372048649565044975279555603431975213498363771852499938294946962905084549148493061537875551546333638036246023955847017443342918989034236562022276643561560230469601443732151215795364264353355538219745124690571888761447043249391515544176381532263699524733700645369483833117419126468396109503647876912335727716680408504301697773890237085583177352903294363505263453646392433706980605594440685818298631428610961771196230170200775919401366946749320788379262565522036764944644656268299088461067781215894774819728680063649334617345474937510837168642705733095229729549856987237817603866547066425502211219219855822430628618669119033453725581994844032049331932752822086423879559130775461698889603027788673345330959047847828772242819811318508585985180840264670504696716205057160102999781926119043572704002913241224802742752275602317101319444185949758541293123150539743972317475868137250482262635941230358337988570749727238276469950521528739032859193074367680242550359871775987885603454100817716016854387318985238558990329292532980168715407880067622852364187666774351716262087338108059149659581643268139090165019489002295783991056586456390390985594787185402489362123696949304248907316169889752537382109629545932311038593700441086259582032382105593271430720019558274443567708819965519758367779061685881865087067854494281131602844935137845013388443802919430399575489996175295509825401448535739309051257779640746185551745429841563010038767222298964577139955552169681485300702432261753348236092790445020137691737902948448323870023071854481333032619395628163905920804238508614906309197946251367545715270865111967464505709821208864666082131530782068064029533947969343865328091895162900503504039194500573019604671707198347825597457313743476395140346869478469202440995376021223808127930969650966476801019138732028912680853769067760960860350995002162981073755159155699582579148333739349960168861277711648609869736476504972785115013977042937142515722127390282196860595885963474843224752642986262407408967691477481518801119367654370642896961283195820457565266471361992046924432197350091384680392128822983049400020108788705424344439196971 1186320702222383059385663411218552364582533737152018375208634662402802821555160141945692125077464995284568676401821489566848276796538609668448847569463746643825320377531554065343764023583196153106386453332449987995238915009301694802049626830780136991834176516956823929534800429897951876468161369522985889994932760778592857322205406316101549967475090075763484930754100794835671201486689120091940304458268312624600145816545157767630980943886762443298082367121001179282140738997803660487716154219092979074601316681139548541168619544703246345417545956434508152306101038090492226653022708328885585007842748952790159653012256508577520367536152863611781846605772246443880533377429915849437957630328859254679765912406101805588939240560985111813956740783783452644958514216714287545796405376832430109883410340096981355912665206920765745788940710142726118660865161653202280250246164091205551337653329564686663982977219469214199222094362770422048471373716463799388629918164203768314098607643062290094022235255578172065997746837192508942012028034540766977490161048595613138800509034675802870903919050052647590010086225598452494545390826358335973797584497149237089381937676865836614379063340990949019380503715049077902808102240130467877626125668706428563172914273093449125090016251302895499278709482833219364740865175756544569031702585964336856531401418851853118531060187682988290840272154592990524789548313953389112060865349649565452106431874240349209131401867088387758765194344836761119167750813213797522728129228252386996707968875026103348420442974674183876396317531623608347599986324440688622884577088431743645998406271301787818383639132748920615978705218760742556167295268065615208183921084914458763784562142649693977755274535510517625800209739762563172305943763586577474118113109314441710993668228195562675360872845297434313219413654033165531825771504407967172379078791271851932887457641911113532764479514107074731383266164893193637097347243957004226894815012612044952476814499612620191717383070144990954474700877751285839637698164657280367821541696014165102458288681810423583486910488970218706231534683208829221868215894077282575949671388714414739935029514532614869394581015525190104086635592983128871315219548410179356155517692617385267680437713181978040323984889158961204457682558665973464828381123827847988237926031053319626836277608296058390945033510192410945421207070373169732430885868575724166582294627915062927853224673047570319639605745497809351279208623108806909316382998099768911974171264642914578 1919507217753458707356438602805523441815379249469002012334332813945743678767657582327069591435806010490532572325549496116197986006941907725504067140231210034691350245957283464420768544924810955899163100857410126535886475111237064552026903806404785980881000637421121863793511582744168887368870552571311486923657777674295807687347029506072731094543345568105636560351133320186901640461516978463988954023313287904155749248520371265994752796386700738245045272205550327775202276873355206821354190465116934921618760024058537575405181566979889906977776426035951884457316833454756580008560928074010275579731510399833409044527800684959052631235677597312427216089605363863007001773539419497314869966056575935088270214103875695826024823738338015108320246047237099037392221197319881986482223675463858720845181536327151556688584608287712495109729089405291640697630106297858548549334625158986767232428149293366727632311836814689136732931531413127781566603446013656375867735768070315380524109854281509949844665884196841185031200562774503786044077366473519799576584928154743914262207924278830659577264381011695437838858468418263813053976811539176238468089193865442146542040676647762733422636044993862260605306457801353505125203559574653827384666961829579102916886590569317262340498513938836729637047471403969091979141645707066097770735445157411224211643969211724894518945791137089108556289008980309510028107304282681645041034065057445519729284238428015983483118129175725866824344004418404387306840978233286525023913219308973453098359860620890533822932336797880825700566438939778237352523706550318168816888127025444087084665853334169923976910563468940174253148786469562521687053635844676894065786171982313258065693745494629115600287923954320545230609315252559347601453588988026009857422160572221351739853779940992516923882884064656612183990793988717701507256805110399434132427027364642377907595333649016481212803384130146585864599197512589265261253164761242735509721321809991203844360214883485303684847575854812163339366959882816621705762194191228337165407024106060265358792185849618084059930093641925904579360280666142965344611034424152054418873829709790761158837642463584520361057816544328836115548273836897939076180408761174358318498766372544423380020292330311779673945058020238916106292428402449969801166238841825031175068546775447017118474468891944354419876734945053931683614479340861209912404669695091820952937524876346123673682238314041681631652669930006701370593303500935732299432398119877700679595609082111549 3105827919975841766742102014024075806397912986621020387542967476348546500322817724272761716513271005775101248727370985683046262803480517393952914709694956678516670623488837529764532568508007109005549554189860114531125390120538759354076530637184922972715177154377945793328312012642120763837031922094297376918590538452888665009552435822174281062018435643869121491105234115022572841948206098555929258481581600528755895065065529033625733740273463181543127639326551507057343015871158867309070344684209913996220076705198086116573801111683136252395322382470460036763417871545248806661583636402895860587574259352623568697540057193536572998771830460924209062695377610306887535150969335346752827596385435189768036126509977501414964064299323126922276986831020551682350735414034169532278629052296288830728591876424132912601249815208478240898669799548017759358495267951060828799580789250192318570081478858053391615289056283903335955025894183549830037977162477455764497653932274083694622717497343800043866901139775013251028947399967012728056105401014286777066745976750357053062716958954633530481183431064343027848944694016716307599367637897512212265673691014679235923978353513599347801699385984811279985810172850431407933305799705121705010792630536007666089800863662766387430514765241732228915756954237188456720006821463610666802438031121748080743045388063578013050005978820077399396561163573300034817655618236070757101899414707010971835716112668365192614519996264113625589538349255165506474591791447084047752042447561360449806328735646993882243375311472064702096883970563386584952510030991006791701465215457187733083072124635957742360549696217860790231854005230305077854348903910292102249707256896772021850255888144323093355562459464838171030819055015122519907397352574603483975535269886663062733522008136555192284755729362090925403404448021883233333028309518366606511505818636494310795052975560130013977282898237221317247865362405782902358600408718246962404536334422036156321174714496105495402230645999803117814067837634102461343460358848508704986948720120225367817080867660041667546840582612144610810894963874972187212826928501434630368545218424205501093867156996199389755638832069518940202183866820026810391399957171353714474016458989929691060458005512289819997929947179200120563974987068423434629547362669673019412994577828766643954752077188002745364910245137464877104821549714030942343290538270815987535232152791409051526906911361612001271258415427816052649801926609742641615815396219646612653766873725026127 5025335137729300474098540616829599248213292236090022399877300290294290179090475306599831307949077016265633821052920481799244248810422425119456981849926166713208020869446120994185301113432818064904712655047270241067011865231775823906103434443589708953596177791799067657121823595386289651205902474665608863842248316127184472696899465328247012156561781211974758051456367435209474482409723077019918212504894888432911644313585900299620486536660163919788172911532101834832545292744514074130424535149326848917838836729256623691978982678663026159373098808506411921220734705000005386670144564476906136167305769752456977742067857878495625630007508058236636278784982974169894536924508754844067697562442011124856306340613853197240988888037661142030597232878257650719742956611354051518760852727760147551573773412751284469289834423496190736008398888953309400056125374248919377348915414409179085802509628151420119247600893098592472687957425596677611604580608491112140365389700344399075146827351625309993711567023971854436060147962741516514100182767487806576643330904905100967324924883233464190058447812076038465687803162434980120653344449436688450733762884880121382466019030161362081224335430978673540591116630651784913058509359279775532395459592365586769006687454232083649771013279180568958552804425641157548699148467170676764573173476279159304954689357275302907568951769957166507952850172553609544845762922518752402142933479764456491565000351096381176097638125439839492413882353673569893781432769680370572775955666870333902904688596267884416066307648269945527797450409503164822305033737541324960518353342482631820167737977970127666337460259686800964485002791699867599541402539754968996315493428879085279915949633638952208955850383419158716261428370267681867508850941562629493832957430458884414473375788077547709208638613426747537587395242010600934840285114628766040643932846001136688702648309209146495190086282367367903112464559918372167619853573479489697914257656232027360165534929379590799087078221854615281153434797516919083049222553039737042152355744226285633175873053509659751606770676254070515390255244541115152557437962925586684787419048133996262252704799459783910116696648613847776317732140656924749467580365932528072792515225362474114440478297842601599671875005199439036670267415470873404430713601511498050588063124604213661073226546079947099784786980082518808788436029054892152255695207965907808488169677667755175200589149675653682902911085357822754020395230110678373915247794339524313333362482807137676 8131163057705142240840642630853675054611205222711042787420267766642836679413293030872593024462348022040735069780291467482290511613902942513409896559621123391724691492934958523949833681940825173910262209237130355598137255352314583260179965080774631926311354946177013450450135608028410415042934396759906240760838854580073137706451901150421293218580216855843879542561601550232047324357929175575847470986476488961667539378651429333246220276933627101331300550858653341889888308615672941439494879833536762914058913434454709808552783790346162411768421190976871957984152576545254193331728200879801996754880029105080546439607915072032198628779338519160845341480360584476782072075478090190820525158827446314624342467123830698655952952336984268952874219709278202402093692025388221051039481780056436382302365289175417381891084238704668976907068688501327159414620642199980206148496203659371404372591107009473510862889949382495808642983319780227441642557770968567904863043632618482769769544848969110037578468163746867687089095362708529242156288168502093353710076881655458020387641842188097720539631243140381493536747856451696428252712087334200662999436575894800618389997383674961429026034816963484820576926803502216320991815158984897237406252222901594435096488317894850037201528044422301187468561379878346005419155288634287431375611507400907385697734745338880920618957748777243907349411336126909579663418540754823159244832894471467463400716463764746368712158121703953118003420702928735400256024561127454620527998114431694352711017331914878298309682959742010229894334380066551407257543768532331752219818557939819553250810102606085408698009955904661754716856796930172677395751443665261098565200685775857301766205521783275302311412842883996887292247425282804387416248294137232977808492700345547477206897796214102901493394342788838462990799690032484168173313424147132647155438664637630999497701284769276509167369180604589220360329922324155069978453982197736660318793990654063516486709643875696294489308867854418398967502635151021544392682911888245747139304464346511000992953921169701419153611258866215126201150208416087339770264891427021315155964266558201763346571956455983299872335480683366716519916007476951559858980323103881787266531684352403805500936303354891419669804952378639157234242402539296839060260964181171070001057702432980305027978623267949845149697225219983685893257578768923094598985746236723796023401830459164226727496061037265684174169500785638806670197156720421015531063190559170925987129356532163803 13156498195434442714939183247683274302824497458801065187297568056937126858503768337472424332411425038306368890833211949281534760424325367632866878409547290104932712362381079518135134795373643238814974864284400596665149120584090407166283399524364340879907532737976081107571959203414700066248836871425515104603087170707257610403351366478668305375141998067818637594017968985441521806767652252595765683491371377394579183692237329632866706813593791021119473462390755176722433601360187015569919414982863611831897750163711333500531766469009188571141519999483283879204887281545259580001872765356708132922185798857537524181675772950527824258786846577397481620265343558646676608999986845034888222721269457439480648807737683895896941840374645410983471452587535853121836648636742272569800334507816583933876138701926701851180918662200859712915467577454636559470746016448899583497411618068550490175100735160893630110490842481088281330940745376905053247138379459680045228433332962881844916372200594420031290035187718722123149243325450045756256470935989899930353407786560558987712566725421561910598079055216419959224551018886676548906056536770889113733199460774922000856016413836323510250370247942158361168043434154001234050324518264672769801711815267181204103175772126933686972541323602870146021365805519503554118303755804964195948784983680066690652424102614183828187909518734410415302261508680519124509181463273575561387766374235923954965716814861127544809796247143792610417303056602305294037457330807825193303953781302028255615705928182762714375990608011955757691784789569716229562577506073656712738171900422451373418548080576213075035470215591462719201859588630040276937153983420230094880694114654942581682155155422227511267263226303155603553675795550486254925099235699862471641450130804431891680273584291650610702032956215586000578194932043085103013598538775898687799371510638767688200349593978423004357455462971957123472794482242527237598307555677226358233051646886090876652244573255287093576387089709033680120937432667940627441905464927982789291660208572796634168826974679361170760381935120285641591405452957202492327702854352607999943383314692198025599276755915767209989032129297214492837648148133876309326560689036409860059046909714877919941414601197493019341679957578078193904509818010170243490974565692669120589120827037193966101205169347896944934484205302502494681693607823815246854680954202631604511571508126919401928085210712919367077080586143461560690592386831099389446310984898695239320491839339301479 21287661253139584955779825878536949357435702681512107974717835823579963537917061368345017356873773060347103960613503416763825272038228310146276774969168413496657403855316038042084968477314468412725237073521530952263286375936404990426463364605138972806218887684153094558022094811443110481291771268185421345363926025287330748109803267629089598593722214923662517136579570535673569131125581428171613154477847866356246723070888758966112927090527418122450774013249408518612321909975859957009414294816400374745956663598166043309084550259355350982909941190460155837189039858090513773333600966236510129677065827962618070621283688022560022887566185096558326961745704143123458681075464935225708747880096903754104991274861514594552894792711629679936345672296814055523930340662130493620839816287873020316178503991102119233072002900905528689822536265955963718885366658648879789645907821727921894547691842170367140973380791863584089973924065157132494889696150428247950091476965581364614685917049563530068868503351465589810238338688158574998412759104491993284063484668216017008100208567609659631137710298356801452761298875338372977158768624105089776732636036669722619246013797511284939276405064905643181744970237656217555042139677249570007207964038168775639199664090021783724174069368025171333489927185397849559537459044439251627324396491080974076350158847953064748806867267511654322651672844807428704172600004028398720632599268707391418366433278625873913521954368847745728420723759531040694293481891935279813831951895733722608326723260097641012685673567753965987586119169636267636820121274605988464957990458362270926669358183182298483733480171496124473918716385560212954332905427085491193445894800430799883448360677205502813578676069187152490845923220833290642341347529837095449449942831149979368887171380505753512195427299004424463568994622075569271186911962923031334954810175276398687698050878747699513524824643576546343833124404566682307576761537874963018551845637540154393138954217130983388065695957563452079088440067818962171834588376816228536430964672919307635161780895849062589913993193986500767792555661373289832097967745779629315099347581250399788945848712371750509861367609980581209357564155610827869185541012140291647325578594067281725442350904552384439011484909956717351138752220549467082551235529873840190590178529470174271129183792615846790084181430522486180574951186592738341453666700439355400534973338586083628655581271750185051251250086929100367360789543551520404977374175457866165307621195871465282 34444159448574027670719009126220223660260200140313173162015403880517090396420829705817441689285198098653472851446715366045360032462553677779143653378715703601590116217697117560220103272688111651540211937805931548928435496520495397592746764129503313686126420422129175665594054014857810547540608139610936449967013195994588358513154634107757903968864212991481154730597539521115090937893233680767378837969219243750825906763126088598979633904121209143570247475640163695334755511336046972579333709799263986577854413761877376809616316728364539554051461189943439716393927139635773353335473731593218262599251626820155594802959460973087847146353031673955808582011047701770135290075451780260596970601366361193585640082599198490449836633086275090919817124884349908645766989298872766190640150795689604250054642693028821084252921563106388402738003843410600278356112675097779373143319439796472384722792577331260771083871634344672371304864810534037548136834529887927995319910298544246459602289250157950100158538539184311933387582013608620754669230040481893214416892454776575995812775293031221541735789353573221411985849894225049526064825160875978890465835497444644620102030211347608449526775312847801542913013671810218789092464195514242777009675853435956843302839862148717411146610691628041479511292990917353113655762800244215823273181474761040767002582950567248576994776786246064737953934353487947828681781467301974282020365642943315373332150093487001458331750615991538338838026816133345988330939222743105007135905677035750863942429188280403727061664175765921745277903959205983866382698780679645177696162358784722300087906263758511558768950387087587193120575974190253231270059410505721288326588915085742465130515832627730324845939295490308094399599016383776897266446765536957921091392961954411260567444964797404122897460255220010464147189554118654374200510501698930022754181685915166375898400472726122517882280106548503467305918886809209545175069093552189376784897284426245269791198790386270481642083047272485759209377500486902799276493841744211325722624881492104269330607870528423760674375129106786409383961114330492324425670600132237315042730895942597814545125468287517719850399739277795702195212303744704178512101701176701507384625503782159645383765505749877458353164867534795545043262038559637326042210095566509311179299356507368237230388961963743735018665635824988675256644794416553588308347654641987005046544846713003030583666482463104418328330673072561928051381930382619794423685160356561404628113035210766761 55731820701713612626498835004757173017695902821825281136733239704097053934337891074162459046158971159000576812060218782809185304500781987925420428347884117098247520073013155602305071750002580064265449011327462501191721872456900388019210128734642286492345308106282270223616148826300921028832379407796357795330939221281919106622957901736847502562586427915143671867177110056788660069018815108938991992447067110107072629834014847565092560994648627266021021488889572213947077421311906929588748004615664361323811077360043420118700866987719890536961402380403595553582966997726287126669074697829728392276317454782773665424243148995647870033919216770514135543756751844893593971150916715486305718481463264947690631357460713085002731425797904770856162797181163964169697329961003259811479967083562624566233146684130940317324924464011917092560540109366563997241479333746659162789227261524394279270484419501627912057252426208256461278788875691170043026530680316175945411387264125611074288206299721480169027041890649901743625920701767195753081989144973886498480377122992593003912983860640881172873499651930022864747148769563422503223593784981068667198471534114367239348044008858893388803180377753444724657983909466436344134603872763812784217639891604732482502503952170501135320680059653212813001220176315202673193221844683467450597577965842014843352741798520313325801644053757719060605607198295376532854381471330373002652964911650706791698583372112875371853704984839284067258750575664386682624421114678384820967857572769473472269152448378044739747337743519887732864023128842251503202820055285633642654152817146993226757264446940810042502430558583711667039292359750466185602964837591212481772483715516542348578876509833233138424615364677460585245522237217067539607794295374053370541335793104390629454616345303157635092887554224434927716184176194223645387422464621961357708991861191565063596451351473822031407104750125049811139043291375891852751830631427152395336742921966399662930153007517253869707779004835937838297817568305864971111082218560439862153589554411411904492388766377486350588368323093287177176516775703782156523638345911866630142078477192997603490974180659268229711767349258376911552776459355532047697642713316993154710204097849441370826116410302261897364649777491512896182014259109104408593445625440349501769477885977542508359572754579590525102847066347474855831595981009291929762014355081342405581518185299086659239247754213289469579580760001662295412171473934140199401059335814427569935734231082232043 90175980150287640297217844130977396677956102962138454298748643584614144330758720779979900735444169257654049663506934148854545336963335665704564081726599820699837636290710273162525175022690691715805660949133394050120157368977395785611956892864145600178471728528411445889210202841158731576372987547407294245297952417276507465136112535844605406531450640906624826597774649577903751006912048789706370830416286353857898536597140936164072194898769836409591268964529735909281832932647953902168081714414928347901665491121920796928317183716084430091012863570347035269976894137362060480004548429422946654875569081602929260227202609968735717180272248444469944125767799546663729261226368495746902689082829626141276271440059911575452568058884179861775979922065513872815464319259876026002120117879252228816287789377159761401577846027118305495298543952777164275597592008844438535932546701320866663993276996832888683141124060552928832583653686225207591163365210204103940731297562669857533890495549879430269185580429834213677013502715375816507751219185455779712897269577769168999725759153672102714609289005503244276732998663788472029288418945857047557664307031559011859450074220206501838329955690601246267570997581276655133227068068278055561227315745040689325805343814319218546467290751281254292512513167232555786848984644927683273870759440603055610355324749087561902796420840003783798559541551783324361536162938632347284673330554594022165030733465599876830185455600830822406096777391797732670955360337421489828103763249805224336211581636658448466809001919285809478141927088048235369585518835965278820350315175931715526845170710699321601271380945671298860159868333940719416873024248096933770099072630602284813709392342460963463270554660167768679645121253600844436874241060911011291632728755058801890022061310100561757990347809444445391863373730312878019587932966320891380463173547106731439494851824199944549289384856673553278444962178185101397926899724979341772121640206392644932721351797903524351349862052108423597507195068792767770387576060304651187876214435903516173822996636905910111262743452200073586560477890034274480949308946044103945184809373135595418036099648946785949562167088536172613747988763100236226209744414493694662094829601631601016209881916052139355717814645026308441225276297668741734635655721006858812948777242484910745589961716543334260121512702172463531088240775425845518070362009723329410628063032012089689822914236676393887907911433074224223463553404316759993824744496170988974563847266292998804 145907800852001252923716679135734569695652005783963735435481883288711198265096611854142359781603140416654626475567152931663730641464117653629984510074483937798085156363723428764830246772693271780071109960460856551311879241434296173631167021598787886670817036634693716112826351667459652605205366955203652040628891638558426571759070437581452909094037068821768498464951759634692411075930863898645362822863353463964971166431155783729164755893418463675612290453419308123228910353959860831756829719030592709225476568481964217047018050703804320627974265950750630823559861135088347606673623127252675047151886536385702925651445758964383587214191465214984079669524551391557323232377285211233208407564292891088966902797520624660455299484682084632632142719246677836985161649220879285813600084962814853382520936061290701718902770491130222587859084062143728272839071342591097698721773962845260943263761416334516595198376486761185293862442561916377634189895890520279886142684826795468608178701849600910438212622320484115420639423417143012260833208330429666211377646700761762003638743014312983887482788657433267141480147433351894532512012730838116224862778565673379098798118229065395227133136068354690992228981490743091477361671941041868345444955636645421808307847766489719681787970810934467105513733343547758460042206489611150724468337406445070453708066547607875228598064893761502859165148750078700894390544409962720287326295466244728956729316837712752202039160585670106473355527967462119353579781452099874649071620822574697808480734085036493206556339662805697211005950216890486872788338891250912463004467993078708753602435157640131643773811504255010527199160693691185602475989085688146251871556346118827162288268852294196601695170024845229264890643490817911976482035356285064662174064548163192519476677655403719393083235363668880319579557906507101664975355430942852738172165408298296503091303175673766580696489606798603089584005469560993250678730356406494167458383128359044595651504805420778221057641056944361435805012637098632741498658278865091050029803990314928078315385403283396461851111775293360763736994665738056637472947291955970575326887850328593021527073829606054179273934437794549525300765222455768273907387127810687816805033699481042387035998326354401253082464422517821337407290556777846143229101346447208314718255128462453253949534471122924785224359768519938386919836756435137447832376364804671816209581217311176349062161990889683357487492193075886518875724878250900193225803831985416544499581497375230847 236083781002288893220934523266711966373608108746102189734230526873325342595855332634122260517047309674308676139074087080518275978427453319334548591801083758497922792654433701927355421795383963495876770909594250601432036610411691959243123914462933486849288765163105162002036554508618384181578354502610946285926844055834934036895182973426058315625487709728393325062726409212596162082842912688351733653279639817822869703028296719893236950792188300085203559417949044032510743286607814733924911433445521057127142059603885013975335234419888750718987129521097666093536755272450408086678171556675621702027455617988632185878648368933119304394463713659454023795292350938221052493603653706980111096647122517230243174237580536235907867543566264494408122641312191709800625968480755311815720202842067082198808725438450463120480616518248528083157628014920892548436663351435536234654320664166127607257038413167405278339500547314114126446096248141585225353261100724383826873982389465326142069197399480340707398202750318329097652926132518828768584427515885445924274916278530931003364502167985086602092077662936511418213146097140366561800431676695163782527085597232390958248192449271897065463091758955937259799979072019746610588740009319923906672271381686111134113191580808938228255261562215721398026246510780314246891191134538833998339096847048126064063391296695437131394485733765286657724690301862025255926707348595067571999626020838751121760050303312629032224616186500928879452305359259852024535141789521364477175384072379922144692315721694941673365341582091506689147877304938722242373857727216191283354783169010424280447605868339453245045192449926309387359029027631905019349013333785080021970628976721111975997661194755160064965724685012997944535764744418756413356276417196075953806793303221994409498738965504281151073583173113325711442931636819979684563288397263744118635338955405027942586154999873711129985874463472156368028967647746094648605630081385835939580023334751689528372856603324302572407503109052785033312207705891400511886234339169742237906018426218444252138382040189306573113855227493434350297472555772331118422256238000074520511697223464188439563173478552840128836101526330722139048753985556004500117131542304382478899863301112643403245880242406540608800279067544129778632566854446587877864757067454067127667032370947363999539496187666259045345872470692401918008077531860982965902738374528001226837644249323266038885076227566077245395403626150110742339278282567660187050548328156405519063428763668229651 381991581854290146144651202402446536069260114530065925169712410162036540860951944488264620298650450090963302614641240012182006619891570972964533101875567696296007949018157130692185668568077235275947880870055107152743915851845988132874290936061721373520105801797798878114862906176078036786783721457814598326555735694393360608654253411007511224719524778550161823527678168847288573158773776586997096476142993281787840869459452503622401706685606763760815849871368352155739653640567675565681741152476113766352618628085849231022353285123693071346961395471848296917096616407538755693351794683928296749179342154374335111530094127897502891608655178874438103464816902329778375725980938918213319504211415408319210077035101160896363167028248349127040265360558869546785787617701634597629320287804881935581329661499741164839383387009378750671016712077064620821275734694026633933376094627011388550520799829501921873537877034075299420308538810057962859543156991244663713016667216260794750247899249081251145610825070802444518292349549661841029417635846315112135652562979292693007003245182298070489574866320369778559693293530492261094312444407533280007389864162905770057046310678337292292596227827310628252028960562762838087950411950361792252117227018331532942421039347298657910043232373150188503539979854328072706933397624149984722807434253493196517771457844303312359992550627526789516889839051940726150317251758557787859325921487083480078489367141025381234263776772171035352807833326721971378114923241621239126247004894954619953173049806731434879921681244897203900153827521829209115162196618467103746359251162089133034050041025979584888819003954181319914558189721323090621825002419473226273842185322839939138285930047049356666660894709858227209426408235236668389838311773481140615980857851385186928975416620908000544156818536782206031022489543327081349538643828206596856807504363703324445677458175547477710682364070270759457612973117307087899284360437792330107038406463110734124024361408745080793465144165997146469117220342990033253384892618034833287935822416533372330453767443472703034964967002786795114034467221510387755895203529956045095838585073792781461090247308158894308110035964125271664349519208011772774024518670115070295704897000593685790281878568760941861882743490061951116039857411224434021093858413901275442385287499409817253489030658789183830570232239212340304927914288296120413735114739332673043047225466634442387947238218455760602882895819225997261215003160818560380276352160141822063563010261043460498 618075362856579039365585725669158502442868223276168114903942937035361883456807277122386880815697759765271978753715327092700282598319024292299081693676651454793930741672590832619541090363461198771824651779649357754175952462257680092117414850524654860369394566960904040116899460684696420968362075960425544612482579750228294645549436384433569540345012488278555148590404578059884735241616689275348830129422633099610710572487749223515638657477795063846019409289317396188250396927175490299606652585921634823479760687689734244997688519543581822065948524992945963010633371679989163780029966240603918451206797772362967297408742496830622196003118892533892127260109253267999428219584592625193430600858537925549453251272681697132271034571814613621448388001871061256586413586182389909445040490646949017780138386938191627959864003527627278754174340091985513369712398045462170168030415291177516157777838242669327151877377581389413546754635058199548084896418091969047539890649605726120892317096648561591853009027821120773615945275682180669798002063362200558059927479257823624010367747350283157091666943983306289977906439627632627656112876084228443789916949760138161015294503127609189358059319586266565511828939634782584698539151959681716158789498400017644076534230928107596138298493935365909901566226365108386953824588758688818721146531100541322581834849140998749491387036361292076174614529353802751406243959107152855431325547507922231200249417444338010266488392958671964232260138685981823402650065031142603603422388967334542097865365528426376553287022826988710589301704826767931357536054345683295029714034331099557314497646894319038133864196404107629301917218748954995641174015753258306295812814299561051114283591241804516731626619394871225153962172979655424803194588190677216569787651154607181338474155586412281695230401709895531742465421180147061034101932225470340975442843319108352388263613175421188840668238533742915825641940765053182547889990519178166046618429797862423652397218012069383365872647275049931502429428048881433765271126957204575525841840842751816582592149483662009608078822230280229464331939777282718874317459767956119616350282297256969900653420786711734436946137490455993803398273193567777274141650212419452774604760301706329193527758811167482470683022557606080894672424265671021898958615481355342570052319870357181253028526846455442875916104709904742222935991820157103379637853113860674269884869715957708426832314446021837848278299445376108003554281443386220567326900488298227582626439024711690149 1000066944710869185510236928071605038512128337806234040073655347197398424317759221610651501114348209856235281368356567104882289218210595265263614795552219151089938690690747963311726758931538434047772532649704464906919868314103668224991705786586376233889500368758702918231762366860774457755145797418240142939038315444621655254203689795441080765064537266828716972118082746907173308400390465862345926605565626381398551441947201727138040364163401827606835259160685748343990050567743165865288393738397748589832379315775583476020041804667274893412909920464794259927729988087527919473381760924532215200386139926737302408938836624728125087611774071408330230724926155597777803945565531543406750105069953333868663328307782858028634201600062962748488653362429930803372201203884024507074360778451830953361468048437932792799247390537006029425191052169050134190988132739488804101406509918188904708298638072171249025415254615464712967063173868257510944439575083213711252907316821986915642564995897642842998619852891923218134237625231842510827419699208515670195580042237116317017370992532581227581241810303676068537599733158124888750425320491761723797306813923043931072340813805946481650655547413577193763857900197545422786489563910043508410906725418349177018955270275406254048341726308516098405106206219436459660757986382838803443953965354034519099606306985302061851379586988818865691504368405743477556561210865710643290651468995005711278738784585363391500752169730842999585067972012703794780764988272763842729669393862289162051038415335157811433208704071885914489455532348597140472698250964150398776073285493188690348547687920298623022683200358288949216475408470278086262999018172731532569654999622400990252569521288853873398287514104729452363388581214892093193032899964158357185768509005992368267449572207320282239387220246677737773487910723474142383640576053676937832250347682811676833941071350968666551350602604013675283254913882360270447174350956970496153656836260973157776421579420814464159337791441047077971546648391871467018656019575239408813777663259285188913045916927134712643043789233067024578366406998793106630212663297912164712188867371049751361743668094870628745056173454581265467747792401579550048166168882534523070309657302300014983809637379928424332565766047668032010712281676895455920052473895256618012437607369766998506517557505244626706486336949117082527863906108453223793372967853193347312932095182592150814779552664477598451161195264602105264769284604204780947603252648440049646189449285755150647 1618142307567448224875822653740763540954996561082402154977598284232760307774566498733038381930045969621507260122071894197582571816529619557562696489228870605883869432363338795931267849294999632819597184429353822661095820776361348317109120637111031094258894935719606958348661827545470878723507873378665687551520895194849949899753126179874650305409549755107272120708487324967058043642007155137694756734988259481009262014434950950653679021641196891452854668450003144532240447494918656164895046324319383413312140003465317721017730324210856715478858445457740222938363359767517083253411727165136133651592937699100269706347579121558747283614892963942222357985035408865777232165150124168600180705928491259418116579580464555160905236171877576369937041364300992059958614790066414416519401269098779971141606435376124420759111394064633308179365392261035647560700530784950974269436925209366420866076476314840576177292632196854126513817808926457059029335993175182758792797966427713036534882092546204434851628880713043991750182900914023180625421762570716228255507521494939941027738739882864384672908754286982358515506172785757516406538196575990167587223763683182092087635316933555671008714866999843759275686839832328007485028715869725224569696223818366821095489501203513850186640220243882008306672432584544846614582575141527622165100496454575841681441156126300811342766623350110941866118897759546228962805169972863498721977016502927942478988202029701401767240562689514963817328110698685618183415053303906446333091782829623704148903780863584187986495726898874625078757237175365071830234305309833693805787319824288247663045334814617661156547396762396578518392627219233081904173033925989838865467813921962041366853112530658390129914133499600677517350754194547517996227488154835573755556160160599549605923727793732563934617621956573269515953331903621203417742508279147278807693191001920029222204684526389855392018841137756591108896854647413452995064341476148662200275266058835581428818797432883847525210438716097009473976076440752900783927146532443984339619504102037005495638066410796722251122611463347254042698346776075825504530123065868284328539149668306721262397088881582363182002310945037259271146065595147327322307819094953975844914417604006344177337396191095906803248788605274112905384705942566477819011089376611960582489927240124179759546084351700069582402441659021824750799897928610327173010820967054021582816964898549859241611867110499436299439494709978213268323566047591001514930153136738277228815888310466840796 2618209252278317410386059581812368579467124898888636195051253631430158732092325720343689883044394179477742541490428461302464861034740214822826311284781089756973808123054086759242994608226538066867369717079058287568015689090465016542100826423697407328148395304478309876580424194406245336478653670796905830490559210639471605153956815975315731070474087021935989092826570071874231352042397621000040683340553885862407813456382152677791719385804598719059689927610688892876230498062661822030183440062717132003144519319240901197037772128878131608891768365922534482866093347855045002726793488089668348851979077625837572115286415746286872371226667035350552588709961564463555036110715655712006930810998444593286779907888247413189539437771940539118425694726730922863330815993950438923593762047550610924503074483814057213558358784601639337604556444430085781751688663524439778370843435127555325574375114387011825202707886812318839480880982794714569973775568258396470045705283249699952177447088443847277850248733604967209884420526145865691452841461779231898451087563732056258045109732415445612254150564590658427053105905943882405156963517067751891384530577606226023159976130739502152659370414413420953039544740029873430271518279779768732980602949236715998114444771478920104234981946552398106711778638803981306275340561524366425609054461808610360781047463111602873194146210338929807557623266165289706519366380838574142012628485497933653757726986615064793267992732420357963402396082711389412964180041576670289062761176691912866199942196198741999419704430970760539568212769523962212302932556273984092581860605317476938011593022734916284179230597120685527734868035689511168167172052098721371435122813544363031619422633819512263528201647604330129880739335409439611189260388118993930941324669166591917873373300001052846174004842203251007289441242627095345801383084332824216639943538684731706056145755877358521943369443741770266392151768529773723442238692433119158353932102319808739205240376853698311684548230157144087445522724832624367802583166107683393153397167361322194408683983337931434894166400696414278621064753774868932134742786363780449040728017039356472624140756976452991927058484399618524738893857996726877370473987977488498915224074906306359161147033571024331135814554652942144916096987619461933739063563271868578594927534609891178266063641856944696288888778608138907278663804037063550966383788820247368895749060081142010056391419774977034750600689974580318533092850651795782462533405785178326875005337596221991443 4236351559845765635261882235553132120422121459971038350028851915662919039866892219076728264974440149099249801612500355500047432851269834380389007774009960362857677555417425555174262457521537699686966901508412110229111509866826364859209947060808438422407290240197916834929086021951716215202161544175571518042080105834321555053709942155190381375883636777043261213535057396841289395684404776137735440075542145343417075470817103628445398407445795610512544596060692037408470945557580478195078486387036515416456659322706218918055502453088988324370626811380274705804456707622562085980205215254804482503572015324937841821633994867845619654841559999292774946694996973329332268275865779880607111516926935852704896487468711968350444673943818115488362736091031914923289430784016853340113163316649390895644680919190181634317470178666272645783921836691121429312389194309390752640280360336921746440451590701852401380000519009172965994698791721171629003111561433579228838503249677412988712329180990051712701877614318011201634603427059888872078263224349948126706595085226996199072848472298309996927059318877640785568612078729639921563501713643742058971754341289408115247611447673057823668085281413264712315231579862201437756546995649493957550299173055082819209934272682433954421622166796280115018451071388526152889923136665894047774154958263186202462488619237903684536912833689040749423742163924835935482171550811437640734605502000861596236715188644766195035233295109872927219724193410075031147595094880576735395852959521536570348845977062326187406200157869635164646970006699327284133166861583817786387647925141765185674638357549533945335777993883082106253260662908744250071345086024711210300590627466325072986275746350170653658115781103930807398090089603987129185487876273829504696880829327191467479297027794785410108622464159824276805394574530716549219125592611971495447636729686651735278350440403748377335388284879526857501048623177187176437303033909267820554207368378644320634059174286582159209758668873241096919498801273377268586510312640127377493016671463359199904322049748728157145289012159761532663763100550944757639272909429648733369267166707663193886537845858035355109060795344655784010039923591874204692781807072442474760138492510312703338484429762120237939063343258216257821481693562028411558074652648480539177417461850015358025609726208644765871291220267160732029463701965673878139394609787301390478566024979691869298003286885476471050040184684558531801416416699386783977463558921916604103821225906688832239 6854560812124083045647941817365500699889246358859674545080105547093077771959217939420418148018834328576992343102928816802512293886010049203215319058791050119831485678471512314417257065748075766554336618587470397797127198957291381401310773484505845750555685544676226711509510216357961551680815214972477348532639316473793160207666758130506112446357723798979250306361627468715520747726802397137776123416096031205824888927199256306237117793250394329572234523671380930284701443620242300225261926449753647419601178641947120115093274581967119933262395177302809188670550055477607088706998703344472831355551092950775413936920410614132492026068227034643327535404958537792887304386581435592614042327925380445991676395356959381539984111715758654606788430817762837786620246777967292263706925364200001820147755403004238847875828963267911983388478281121207211064077857833830531011123795464477072014826705088864226582708405821491805475579774515886198976887129691975698884208532927112940889776269433898990552126347922978411519023953205754563531104686129180025157682648959052457117958204713755609181209883468299212621717984673522326720465230711493950356284918895634138407587578412559976327455695826685665354776319892074868028065275429262690530902122291798817324379044161354058656604113348678221730229710192507459165263698190260473383209420071796563243536082349506557731059044027970556981365430090125642001537931650011782747233987498795249994442175259830988303226027530230890622120276121464444111775136457247024458614136213449436548788173261068186825904588840395704215182776223289496436099417857801878969508530459242123686231380284450229515008591003767633988128698598255418238517138123432581735713441010688104605698380169682917186317428708260937278829425013426740374748264392823435638205498493783385352670327795838256282627306363075284094835817157811895020508676944795712087580268371383441334496196281106899278757728621297123893200391706960899879541726342386978908139470698453059839299551140280470894306899030385184365021526106001636389093478747810770646413838824681394313006033086659592039455412856175811284827854325813689774015695793429182409995183747019666510678602834488347036119279744274308748933781588601082063255795049930973675362567416619062499631463333144569074877897911158402737578681181490345297138215920349117772344996459906536291673368065589462160179998875299639308127506002737429105778398607548759374315085060833879354394706660453505800640874659138850334509267351182566439996964707094930978826563502910823682 11090912371969848680909824052918632820311367818830712895108957462755996811826110158497146412993274477676242144715429172302559726737279883583604326832801010482689163233888937869591519523269613466241303520095882508026238708824117746260520720545314284172962975784874143546438596238309677766882976759148048866574719422308114715261376700285696493822241360576022511519896684865556810143411207173275511563491638176549241964398016359934682516200696189940084779119732072967693172389177822778420340412836790162836057837964653339033148777035056108257633021988683083894475006763100169174687203918599277313859123108275713255758554405481978111680909787033936102482099955511122219572662447215473221153844852316298696572882825671349890428785659576770095151166908794752709909677561984145603820088680849392715792436322194420482193299141934184629172400117812328640376467052143221283651404155801398818455278295790716627962708924830664771470278566237057827979998691125554927722711782604525929602105450423950703254003962240989613153627380265643435609367910479128151864277734186048656190806677012065606108269202345939998190330063403162248283966944355236009328039260185042253655199026085617799995540977239950377670007899754276305784612271078756648081201295346881636534313316843788013078226280144958336748680781581033612055186834856154521157364378334982765706024701587410242267971877717011306405107594014961577483709482461449423481839489499656846231157363904597183338459322640103817841844469531539475259370231337823759854467095734986006897634150323394374232104746710030868862152782922616780569266279441619665357156455601007309360869737833984174850786584886849740241389361506999668309862224148143792036304068477013177591974126519853570844433209812191744676919514617413869560236140666652940335086327820974852831967355590623666391249770522899560900230391688528444239634269556767207535216998058035176612846636684855276614146013500823981394249014884148076316844760251654799462346839077097380473358725426862630104065567903626281284520327379378904975603791387938148139430510288040594217328082835387749184744425015937343948590954876758447413288605223077915779262350454682860397216448692523702145180075088930092758973705180475286756037602122373448435501059926931765838115893095264807013941241169374660559060374743518756855212868568829656949762458309921894317283094274234228031471219142460371337591207968411307245173008394850149852881110040525748652397993545929976850681059343697382135925684050569350417460523629011535082647789409599655921 17945473184093931726557765870284133520200614177690387440189063009849074583785328097917564561012108806253234487818357989105072020623289932786819645891592060602520648912360450184008776589017689232795640138683352905823365907781409127661831494029820129923518661329550370257948106454667639318563791974120526215107358738781907875469043458416202606268599084375001761826258312334272330891138009570413287686907734207755066853325215616240919633993946584269657013643403453897977873832798065078645602339286543810255659016606600459148242051617023228190895417165985893083145556818577776263394202621943750145214674201226488669695474816096110603706978014068579430017504914048915106877049028651065835196172777696744688249278182630731430412897375335424701939597726557590496529924339951437867527014045049394535940191725198659330069128105202096612560878398933535851440544909977051814662527951265875890470105000879580854545417330652156576945858340752944026956885820817530626606920315531638870491881719857849693806130310163968024672651333471397999140472596608308177021960383145101113308764881725821215289479085814239210812048048076684575004432175066729959684324179080676392062786604498177776322996673066636043024784219646351173812677546508019338612103417638680453858692361005142071734830393493636558478910491773541071220450533046414994540573798406779328949560783936916799999030921744981863386473024105087219485247414111461206229073476998452096225599539164428171641685350170334708463964745653003919371145367795070784313081231948435443446422323584462561058009335550426573077335559145906277005365697299421544326664986060249433047101118118434404365795175890617374229518060105255086548379362271576373772017509487701282197672506689536488030750638520452681955748939630840609934984405059476375973291826314758238184637683386461922673877076885974844995066208846340339260142946501562919622797266429418617947342832965962175892903742122121105287449406591108976196386486594041778370486309775550440312658276567143100998372466934011465649541853485380541364697270135748918785844349112721988530334115922047341224199837872113155233418809202572137187304301016507098189257534201702526907895051527012049181299354833204401507907486769076368819293397172304422110863627343550828337747356428409376088819139080533063296639055925009102152351084489178774722107454769828430608956462339823690191651218017760010645718713971148736350951407002398909227196195101359628006792700206383482651321934002836232470434951401751916857457488336106466061474352912510479603 29036385556063780407467589923202766340511981996521100335298020472605071395611438256414710974005383283929476632533787161407631747360569816370423972724393071085209812146249388053600296112287302699036943658779235413849604616605526873922352214575134414096481637114424513804386702692977317085446768733268575081682078161090022590730420158701899100090840444951024273346154997199829141034549216743688799250399372384304308817723231976175602150194642774209741792763135526865671046221975887857065942752123333973091716854571253798181390828652079336448528439154668976977620563581677945438081406540543027459073797309502201925454029221578088715387887801102515532499604869560037326449711475866539056350017630013043384822161008302081320841683034912194797090764635352343206439601901935583471347102725898787251732628047393079812262427247136281241733278516745864491817011962120273098313932107067274708925383296670297482508126255482821348416136906990001854936884511943085554329632098136164800093987170281800397060134272404957637826278713737041434749840507087436328886238117331149769499571558737886821397748288160179209002378111479846823288399119421965969012363439265718645717985630583795576318537650306586420694792119400627479597289817586775986693304712985562090393005677848930084813056673638594895227591273354574683275637367902569515697938176741762094655585485524327042267002799461993169791580618120048796968956896572910629710912966498108942456756903069025354980144672810438526305809215184543394630515599132894544167548327683421450344056473907856935290114082260457441939488342068523057574631976741041209683821441661256742407970855952418579216581760777467114470907421612254754858241586419720165808321577964714459789646633209390058875183848332644426632668454248254479495220545726129316308378154135733091016605038977085589065126847408874405895296600534868783499777216058330127158014264487453794560189469650817452507049755622945086681698421475257052513231246845696577832833148852647820786017001994005731102438034837637746934062180864759446340301061523687066925274859400762582747662198757435090408944262888050499182009764079330584600592906239585013968519884656385387305111500219535751326479429922134494266881191949551655575330999294677870546364687270482594175863249523674183102760380249907723855699430668527859007563953058008431671869913079750324926239556614057918223122437160220381983309921939560043596124415397249059080077305141885376659190693752313459502002993346533614606360635452321267274918011965118001144122142322110135524 46981858740157712134025355793486899860712596174211487775487083482454145979396766354332275535017492090182711120352145150512703767983859749157243618615985131687730461058609838237609072701304991931832583797462588319672970524386936001584183708604954544020000298443974884062334809147644956404010560707389101296789436899871930466199463617118101706359439529326026035172413309534101471925687226314102086937307106592059375671048447592416521784188589358479398806406538980763648920054773952935711545091409877783347375871177854257329632880269102564639423856320654870060766120400255721701475609162486777604288471510728690595149504037674199319094865815171094962517109783608952433326760504517604891546190407709788073071439190932812751254580410247619499030362361909933702969526241887021338874116770948181787672819772591739142331555352338377854294156915679400343257556872097324912976460058333150599395488297549878337053543586134977925361995247742945881893770332760616180936552413667803670585868890139650090866264582568925662498930047208439433890313103695744505908198500476250882808336440463708036687227373974418419814426159556531398292831294488695928696687618346395037780772235081973352641534323373222463719576339046978653409967364094795325305408130624242544251698038854072156547887067132231453706501765128115754496087900948984510238511975148541423605146269461243842266033721206975033178053642225136016454204310684371835939986443496561038682356442233453526621830022980773234769773960837547314001660966927965328480629559631856893790478797492319496348123417810884015016823901214429334579997674040462754010486427721506175455071974070852983582376936668084488700425481717509841406620948691296539580339087452415741987319139898926546905934486853097108588417393879095089430204950785605692281669980450491329201242722363547511739003924294849250890362809381209122759920162559893046780811530916872412507532302616779628399953497745066191969147828066366028709617733439738356203319458628198261098675278561148832100810501771649212583604034350139987704998331659435985711119208513484571277996314679482431633144100760163654415428573281902721787897207256092112157777418858087914213006551746547800507778784755338895774788678718628024394624396466982292657228314614033422513610605952083559191579519330440787152338486593536961159915037547187206393977367849578755535196018953881608414773655177980392629028635910708779947075822399647968307273500243245004665983393958696942153324927349369847076795586854073184132375500301224467205596495234620615127 76018244296221492541492945716689666201224578170732588110785103955059217375008204610746986509022875374112187752885932311920335515344429565527667591340378202772940273204859226291209368813592294630869527456241823733522575140992462875506535923180088958116481935558399397866721511840622273489457329440657676378471515060961953056929883775820000806450279974277050308518568306733930612960236443057790886187706478976363684488771679568592123934383232132689140599169674507629319966276749840792777487843533211756439092725749108055511023708921181901087952295475323847038386683981933667139557015703029805063362268820230892520603533259252288034482753616273610495016714653168989759776471980384143947896208037722831457893600199234894072096263445159814296121126997262276909409128143822604810221219496846969039405447819984818954593982599474659096027435432425264835074568834217598011290392165400425308320871594220175819561669841617799273778132154732947736830654844703701735266184511803968470679856060421450487926398854973883300325208760945480868640153610783180834794436617807400652307907999201594858084975662134597628816804271036378221581230413910661897709051057612113683498757865665768928960071973679808884414368458447606133007257181681571311998712843609804634644703716703002241360943740770826348934093038482690437771725268851554025936450151890303518260731754985570884533036520668968202969634260345184813423161207257282465650899409994669981139113345302478881601974695791211761075583176022090708632176566060859872648177887315278344134535271400176431638237500071341456956312243282952392154629650781503963694307869382762917863042830023271562798958697445551603171332903329764596264862535111016705388660665417130201776965773108316605781118335185741535221085848127349568925425496511735008590048134586224420217847761340633100804130771703723656785659409916077906259697378618223173938825795404326207067721772267597080907003253368011278650846249541623081222848980285434934036152607480846081884692280555154563203248536609286959517666215214899434045299393183123052636394067914247154025658513436917522042088363648214153597438337361233306388490113495677126126297303514473301518118051966083551834258214677473390041669870668179679969955395761660163203593001884516016689473855475757742294339899580348511008037917262064820167478990605195638065847280929329080461435575567939526637896092338200774612338557850268823543200237796897027387350805385130381325174087711010401655327920695903461683156222306394451407293512266342468349718637556730750651 123000103036379204675518301510176566061937174344944075886272187437513363354404970965079262044040367464294898873238077462433039283328289314684911209956363334460670734263469064528818441514897286562702111253704412053195545665379398877090719631785043502136482234002374281929056320988267229893467890148046777675260951960833883523129347392938102512809719503603076343690981616268032084885923669371892973125013585568423060159820127161008645718571821491168539405576213488392968886331523793728489032934943089539786468596926962312840656589190284465727376151795978717099152804382189388841032624865516582667650740330959583115753037296926487353577619431444705457533824436777942193103232484901748839442398445432619530965039390167706823350843855407433795151489359172210612378654385709626149095336267795150827078267592576558096925537951813036950321592348104665178332125706314922924266852223733575907716359891770054156615213427752777199140127402475893618724425177464317916202736925471772141265724950561100578792663437542808962824138808153920302530466714478925340702635118283651535116244439665302894772203036109016048631230430592909619874061708399357826405738675958508721279530100747742281601606297053031348133944797494584786417224545776366637304120974234047178896401755557074397908830807903057802640594803610806192267813169800538536174962127038844941865878024446814726799070241875943236147687902570320829877365517941654301590885853491231019821469787535932408223804718771984995845357136859638022633837532988825201128807446947135237925014068892495927986360917882225471973136144497381726734627324821966717704794297104269093318114804094124546381335634113636091871758385047274437671483483802313244968999752869545943764284913007243152687052822038838643809503242006444658355630447297340700871718115036715749419090483704180612543134695998572907676022219297287029019617541178116220719637326321198619575254074884376709306956751113077470619994077607989109932466713725173290239472066109044342983367559116303395304059038380936172101270249565039421750297724842559038347513276427731725303654828116399953675232464408377808012866910643136028176387320751769238284074722372561215731124603712631352342036999432812285816458549386807704364579792228642455860821316498549439203084461427841301485919418910789298160376403855601781327394028152382844459824648778907835996631594521821135052669747516181167241367193760977603490276060196544995694624305628375385991157481669707343808652848045273308759951809160467635539669012567566935555315132791351365778 199018347332600697217011247226866232263161752515676663997057291392572580729413175575826248553063242838407086626124009774353374798672718880212578801296741537233611007468328290820027810328489581193571638709946235786718120806371861752597255554965132460252964169560773679795777832828889503382925219588704454053732467021795836580059231168758103319259999477880126652209549923001962697846160112429683859312720064544786744648591806729600769652955053623857680004745887996022288852608273634521266520778476301296225561322676070368351680298111466366815328447271302564137539488364123055980589640568546387731013009151190475636356570556178775388060373047718315952550539089946931952879704465285892787338606483155450988858639589402600895447107300567248091272616356434487521787782529532230959316555764642119866483715412561377051519520551287696046349027780529930013406694540532520935557244389134001216037231485990229976176883269370576472918259557208841355555080022168019651468921437275740611945581010982551066719062292516692263149347569099401171170620325262106175497071736091052187424152438866897752857178698243613677448034701629287841455292122310019724114789733570622404778287966413511210561678270732840232548313255942190919424481727457937949302833817843851813541105472260076639269774548673884151574687842093496630039538438652092562111412278929148460126609779432385611332106762544911439117322162915505643300526725198936767241785263485901000960583132838411289825779414563196756920940312881728731266014099049685073776985334262413582059549340292672359624598417953566928929448387780334118889256975603470681399102166487032011181157634117396109180294331559187695043091288377039033936346018913329950357660418286676145541250686115559758468171157224580179030589090133794227281055943809075709461766249622940169636938245044813713347265467702296564461681629213364935279314919796339394658463121725524826642975847151973790213960004481088749270840327149612191155315694010608224275624673589890424868059839671457958507307574990223131618936464779938855795597118025682090983907344341978879329313341553317475717320828056591961610305248004369334564877434247446364410372025887034517249242655678714904176295214110285675858128420054987384334535187990302619064414318383065455892558316903599043780259318491137809168414321117666601494873018757578482525671929708236916458067170089760661690565839854381941853705751611246427033476297993442023081975111013505767316331569380717745463980768741176770443108031466862086946962524833909403905033770348082116429 322018450368979901892529548737042798325098926860620739883329478830085944083818146540905510597103610302701985499362087236786414082001008194897490011253104871694281741731797355348846251843386867756273749963650647839913666471751260629687975186750175962389446403563147961724834153817156733276393109736751231728993418982629720103188578561696205832069718981483202995900531539269994782732083781801576832437733650113209804808411933890609415371526875115026219410322101484415257738939797428249755553713419390836012029919603032681192336887301750832542704599067281281236692292746312444821622265434062970398663749482150058752109607853105262741637992479163021410084363526724874145982936950187641626781004928588070519823678979570307718797951155974681886424105715606698134166436915241857108411892032437270693561983005137935148445058503100732996670620128634595191738820246847443859824096612867577123753591377760284132792096697123353672058386959684734974279505199632337567671658362747512753211305961543651645511725730059501225973486377253321473701087039741031516199706854374703722540396878532200647629381734352629726079265132222197461329353830709377550520528409529131126057818067161253492163284567785871580682258053436775705841706273234304586606954792077898992437507227817151037178605356576941954215282645704302822307351608452631098286374405967993401992487803879200338131177004420854675265010065485826473177892243140591068832671116977132020782052920374343698049584133335181752766297449741366753899851632038510274905792781209548819984563409185168287610959335835792400902584532277715845623884300425437399103896463591301104499272438211520655561629965672823786914849673424313471607829502715643195326660171156222089305535599122802911155223979263418822840092332140238885636686391106416410333484364659655919056028728748994325890400163700869472137703848510651964298932460974455615378100448046723446218229922036350499520916755594166219890834404757601301087782407735781514515096739698934767851427398787761353811366613371159303720206714344978277545894842868241129331420620769710604632968169669717429392553292464969769623172158647505362741264754999215602694446748259595732980367259391346256518332213543097961674586969441795088699114980218945074925235634881614895095642778331440345266178737401927107328790724973268382822267046909961326985496578487144752454698764611581796743235587370563109095072945372224030523752358189987018776599416641881153307489051050425089272633616786450079203059840627329722486631537401476339460348903139433482207 521036797701580599109540795963909030588260679376297403880386770222658524813231322116731759150166853141109072125486097011139788880673727075110068812549846408927892749200125646168874062171876448949845388673596883626631787278123122382285230741715308422642410573123921641520611986646046236659318329325455685782725886004425556683247809730454309151329718459363329648110081462271957480578243894231260691750453714657996549457003740620210185024481928738883899415067989480437546591548071062771022074491895692132237591242279103049544017185413217199358033046338583845374231781110435500802211906002609358129676758633340534388466178409284038129698365526881337362634902616671806098862641415473534414119611411743521508682318568972908614245058456541929977696722072041185655954219444774088067728447797079390560045698417699312199964579054388429043019647909164525205145514787379964795381341002001578339790822863750514108968979966493930144976646516893576329834585221800357219140579800023253365156886972526202712230788022576193489122833946352722644871707365003137691696778590465755909964549317399098400486560432596243403527299833851485302784645953019397274635318143099753530836106033574764702724962838518711813230571309378966625266188000692242535909788609921750805978612700077227676448379905250826105789970487797799452346890047104723660397786684897141862119097583311585949463283766965766114382332228401332116478418968339527836074456380463033021742636053212754987875363547898378509687237762623095485165865731088195348682778115471962402044112749477840647235557753789359329832032920058049964513141276028908080502998630078333115680430072328916764741924297232011481957940961801352505544175521628973145684320589442898234846786285238362669623395136487999001870681422274033112917742334915492119795250614282596088692966973793808039237665631403166036599385477724016899578247380770795010036563569772248272861205769188324289734876760075254969161674731907213492243098101746389738790721413288825192719487238459219312318674188361382435339143179124917133341491960893923220315327965111689483962281511223034905109874120521561731233477406651874697306142189246661967104818774146630250229609915070061160694627427653383637532715389496782473033650168209247693989649953264680350988201095235039389046438055893064916497205046090934984317140065667539809511168508195381668912765934701342458433801427224945050948778696983470457557228656183429041858574527655386920623820620431142834736614385527626849646167872094191809433594062235385743365382673487515598636 843055248070560501002070344700951828913359606236918143763716249052744468897049468657637269747270463443811057624848184247926202962674735270007558823802951280622174490931923001517720314015263316706119138637247531466545453749874383011973205928465484385031856976687069603245446140463202969935711439062206917511719304987055276786436388292150514983399437440846532644010613001541952263310327676032837524188187364771206354265415674510819600396008803853910118825390090964852804330487868491020777628205315082968249621161882135730736354072714968031900737645405865126610924073856747945623834171436672328528340508115490593140575786262389300871336358006044358772719266143396680244845578365661176040900616340331592028505997548543216333043009612516611864120827787647883790120656360015945176140339829516661253607681422837247348409637557489162039690268037799120396884335034227408655205437614869155463544414241510798241761076663617283817035033476578311304114090421432694786812238162770766118368192934069854357742513752635694715096320323606044118572794404744169207896485444840459632504946195931299048115942166948873129606564966073682764113999783728774825155846552628884656893924100736018194888247406304583393912829362815742331107894273926547122516743401999649798416119927894378713626985261827768060005253133502102274654241655557354758684161090865135264111585387190786287594460771386620789647342293887158589656311211480118904907127497440165042524688973587098685924947681233560262453535212364462239065717363126705623588570896681511222028676158663008934846517089625151730734617452335765810137025576454345479606895093669634220179702510540437420303554262904835268872790635225665977152005024344616341010980760599120324152321884361165580778619115751417824710773754414271998554428726021908530128734978942252007748995702542802365128065795104035508737089326234668863877179841745250625414664017818971719079435691224674789255793515669421189052509136664814793330880509482171253305818152987759960570914637246980666130040801732541739059349893469895410887386803762164349646748585881400088595249680892752334502427412986531500856649565299380060047406944245877569799265522406225983209977174461407417212959641196481599207302358938577561732765148428192768914885588146295246083843873566479734312616793294992023825995771064203367139407112577501136496665086682526421367464699312924255177037014595508160043851642355694488080981014373416060635173944297268073931309671481567924009248002314076928849227712721521531920225599636862082825731576626949080843 1364092045772141100111611140664860859501620285613215547644103019275402993710280790774369028897437316584920129750334281259065991843348462345117627636352797689550067240132048647686594376187139765655964527310844415093177241027997505394258436670180792807674267549810991244766058127109249206595029768387662603294445190991480833469684198022604824134729155900209862292120694463813909743888571570264098215938641079429202903722419415131029785420490732592794018240458080445290350922035939553791799702697210775100487212404161238780280371258128185231258770691744448971985155854967183446426046077439281686658017266748831127529041964671673339001034723532925696135354168760068486343708219781134710455020227752075113537188316117516124947288068069058541841817549859689069446074875804790033243868787626596051813653379840536559548374216611877591082709915946963645602029849821607373450586778616870733803335237105261312350730056630111213962011679993471887633948675643233052005952817962794019483525079906596057069973301775211888204219154269958766763444501769747306899593264035306215542469495513330397448602502599545116533133864799925168066898645736748172099791164695728638187730030134310782897613210244823295207143400672194708956374082274618789658426532011921400604394732627971606390075365167078594165795223621299901727001131702662078419081947775762277126230682970502372237057744538352386904029674522288490706134730179819646740981583877903198064267325026799853673800311229131938772140772974987557724231583094214900972271349012153473624072788908140849582082074843414511060566650372393815774650166852483253560109893723747967335860132582869354185045478560136846750830731597027018482696180545973589486695301350042018558999108169599528250402014252239416826581455176688305111472171060937400649923985593224848096441962676336610404365731426507201545336474803958685763455427222516045635451227587591219991940641460412999078990670275744676158214183868572028285573978611228560992096539566276585153290401875706199978448714990093924174398493072594812544228878764656087569962076550993089572557531192115787239612301533508093232090126971951254757353549133492539536904084296552856233439587089531468577907587068849865236740017748435360034766415316637440462904535541410975597072044968801519123359054849188056940323200817155138351456547178245040946007833594877908090280230634014266713610838441820453210992630339339164945638209670556845102493748471952654994555130291912710758745862387841703778495395584815713341353819661872247826191114250114464679479 2207147293842701601113681485365812688414979891850133691407819268328147462607330259432006298644707780028731187375182465506992194806023197615125186460155748970172241731063971649204314690202403082362083665948091946559722694777871888406231642598646277192706124526498060848011504267572452176530741207449869520806164495978536110256120586314755339118128593341056394936131307465355862007198899246296935740126828444200409257987835089641849385816499536446704137065848171410143155252523808044812577330902525858068736833566043374511016725330843153263159508337150314098596079928823931392049880248875954015186357774864321720669617750934062639872371081538970054908073434903465166588553798146795886495920844092406705565694313666059341280331077681575153705938377647336953236195532164805978420009127456112713067261061263373806896783854169366753122400183984762765998914184855834782105792216231739889266879651346772110592491133293728497779046713470050198938062766064665746792765056125564785601893272840665911427715815527847582919315474593564810882017296174491476107489749480146675174974441709261696496718444766493989662740429765998850831012645520476946924947011248357522844623954235046801092501457651127878601056230035010451287481976548545336780943275413921050402810852555865985103702350428906362225800476754802004001655373358219433177766108866627412390342268357693158524652205309739007693677016816175649295791041391299765645888711375343363106792014000386952359725258910365499034594308187352019963297300457341606595859919908834984846101465066803858516928591933039662791301267824729581584787192428937599039716788817417601556039835093409791605349032823041682019703522232252684459848185570318205827706282110641138883151430053960693831180633367990834651292228931102577110026599786959309180052720572167100104190958378879412769493797221611237054073564130193354627332607064261296260865891605410191711020077151637673868246463791414097347266693005236843078904859120710732245402357719264345113861316512953180644578755791826465913457842966064707955116265568418251919608825136874489661152780873008539574114728946494624732946776537250634817400956077738417106703349818959082216649564263992875995120546710046346835947320107373937596499180465065633231819421129557270843155888842367998857671671642483048964149196588219341718595954290822542082504498681560434511647695333327190968787875456415961371036481981694859433719190684930261163128922416249923068486439963394278682755110390155780707344623297537234873274045261509109909016845826741413760322 3571239339614842701225292626030673547916600177463349239051922287603550456317611050206375327542145096613651317125516746766058186649371659960242814096508546659722308971196020296890909066389542848018048193258936361652899935805869393800490079268827070000380392076309052092777562394681701383125770975837532124100609686970016943725804784337360163252857749241266257228252001929169771751087470816561033956065469523629612161710254504772879171236990269039498155306306251855433506174559747598604377033599736633169224045970204613291297096588971338494418279028894763070581235783791114838475926326315235701844375041613152848198659715605735978873405805071895751043427603663533652932262017927930596950941071844481819102882629783575466227619145750633695547755927507026022682270407969596011663877915082708764880914441103910366445158070781244344205110099931726411600944034677442155556378994848610623070214888452033422943221189923839711741058393463522086572011441707898798798717874088358805085418352747261968497689117303059471123534628863523577645461797944238783007083013515452890717443937222592093945320947366039106195874294565924018897911291257225119024738175944086161032353984369357583990114667895951173808199630707205160243856058823164126439369807425842451007205585183837591493777715595984956391595700376101905728656505060881511596848056642389689516572951328195530761709949848091394597706691338464140001925771571119412386870295253246561171059339027186806033525570139497437806735081162339577687528883551556507568131268920988458470174253974944708099010666776454173851867918197123397359437359281420852599826682541165568891899967676279145790394511383178528770534253829279702942544366116291795314401583460683157442150538223560222081582647620230251477873684107790882221498770847896709829976706165391948200632921055216023173859528648118438599410038934152040390788034286777341896317119193001411702960718612050672947237134067158773505480876873808871364478837731939293237498897285540930267151718388659380623027470781920390087856336038659520499345144333074339489570901687867579233710312065124326813727030480002717965036903509201889574754505211230956643607434115511938450089151353524344573028133778896212072687337855809297631265595781703073694723956670968246440227933811169517981030726491671105904472397405374480070052501469067583028512332276438342601927925967341457682398713898236414582029112321034024379357400355487106265622670888202578063041570255306989441500972777997484485840018882352948214627864923381357735207960076855878439801 5778386633457544302338974111396486236331580069313482930459741555931697918924941309638381626186852876642382504500699212273050381455394857575368000556664295629894550702259991946095223756591945930380131859207028308212622630583741282206721721867473347193086516602807112940789066662254153559656512183287401644906774182948553053981925370652115502370986342582322652164383309394525633758286370062857969696192297967830021419698089594414728557053489805486202292372154423265576661427083555643416954364502262491237960879536247987802313821919814491757577787366045077169177315712615046230525806575191189717030732816477474568868277466539798618745776886610865805951501038566998819520815816074726483446861915936888524668576943449634807507950223432208849253694305154362975918465940134401990083887042538821477948175502367284173341941924950611097327510283916489177599858219533276937662171211080350512337094539798805533535712323217568209520105106933572285510074207772564545591482930213923590687311625587927879925404932830907054042850103457088388527479094118730259114572762995599565892418378931853790442039392132533095858614724331922869728923936777702065949685187192443683876977938604404385082616125547079052409255860742215611531338035371709463220313082839763501410016437739703576597480066024891318617396177130903909730311878419100944774614165509017101906915219685888689286362155157830402291383708154639789297716812962419178032759006628589924277851353027573758393250829049862936841329389349691597650826184008898114163991188829823443316275719041748566615939258709493836643169186021852978944224551710358451639543471358583170447939802769688937395743544206220210790237776061532387402392551686610001142107865571324296325301968277520915912763280988221086129165913038893459331525370634856019010029426737559048304823879434095435943353325869729675653483603064345395018120641351038638157183010798411603413980795763688346815483597858572870852747569879045714443383696852650025482901255004805275381013034901612561267606226573746856001314179004724228454461409901492591409179726824742068894863092938132866387841759426497342697983680046452524392155461288969373750310783934471020666738715617517220568148680488942558908634657963183235227764776246768706926543377800525517283383822653537516838702398134154154868621593993593821788648455759890125111016830957998777113575621300668648651186589354652375953065594302728883813076591040417367428751593304452501131528010218701268124256083168153265193184642179890183087901910184890467644224805903597292200123 9349625973072387003564266737427159784248180246776832169511663843535248375242552359844756953728997973256033821626215959039108568104766517535610814653172842289616859673456012242986132822981488778398180052465964669865522566389610676007211801136300417193466908679116165033566629056935854942782283159124933769007383869918569997707730154989475665623844091823588909392635311323695405509373840879419003652257767491459633581408344099187607728290480074525700447678460675121010167601643303242021331398101999124407184925506452601093610918508785830251996066394939840239758551496406161069001732901506425418875107858090627417066937182145534597619182691682761556994928642230532472453077834002657080397802987781370343771459573233210273735569369182842544801450232661388998600736348103998001747764957621530242829089943471194539787099995731855441532620383848215589200802254210719093218550205928961135407309428250838956478933513141407921261163500397094372082085649480463344390200804302282395772729978335189848423094050133966525166384732320611966172940892062969042121655776511052456609862316154445884387360339498572202054489018897846888626835228034927184974423363136529844909331922973761969072730793443030226217455491449420771775194094194873589659682890265605952417222022923541168091257781620876275008991877507005815458968383479982456371462222151406791423488171014084220048072105005921796889090399493103929299642584533538590419629301881836485448910692054760564426776399189360374648064470512031175338355067560454621732122457750811901786449973016693274714949925485948010495037104218976376303661910991779304239370153899748739339839770445968083186138055589398739560772029890812090344936917802901796456509449032007453767452506501081137994345928608451337607039597146684341553024141482752728840006132902950996505456800489311459117212854517848114252893641998497435408908675637815980053500129991413015116941514375739019762720731925731644358228446752854585807862534584589318720400152290346205648164753290271941890633697355667246089170515043383748953806554234566930898750628512609648128573405003257193201568789906500060663020583555654413966909966500200330393918218049982959116827866971041565141176814267838770981321995818992532859030372028471780621267334471493763723611756464707034819733124625825260773093991398968301858700957228957708139529163234437119715503547268010106333585303252888790535094706623762908192433991395904473694374264192655079194569580474008257565757055946150749679024661062243131302529775108271825379432765980453170639924 15128012606529931305903240848823646020579760316090315099971405399466946294167493669483138579915850849898416326126915171312158949560161375110978815209837137919511410375716004189081356579573434708778311911672992978078145196973351958213933523003773764386553425281923277974355695719190008502438795342412335413914158052867123051689655525641591167994830434405911561557018620718221039267660210942276973348450065459289655001106433693602336285343969880011902740050615098386586829028726858885438285762604261615645145805042700588895924740428600322009573853760984917408935867209021207299527539476697615135905840674568101985935214648685333216364959578293627362946429680797531291973893650077383563844664903718258868440036516682845081243519592615051394055144537815751974519202288238399991831652000160351720777265445838478713129041920682466538860130667764704766800660473743996030880721417009311647744403968049644490014645836358976130781268607330666657592159857253027889981683734516205986460041603923117728348498982964873579209234835777700354700419986181699301236228539506652022502280695086299674829399731631105297913103743229769758355759164812629250924108550328973528786309861578166354155346918990109278626711352191636383306532129566583052879995973105369453827238460663244744688737847645767593626388054637909725189280261899083401146076387660423893330403390699972909334434260163752199180474107647743718597359397495957768452388308510426409726762045082334322820027228239223311489393859861722772989181251569352735896113646580635345102725692058441841330889184195441847138206290240829355247886462702137755878913625258331909787779573215657020581881599795618950351009805952344477747329469489511797598617314603331750092754474778602053907109209596672423736205510185577800884549512117608747850035559640510044810280679923406895060566180387577789906377245062842830427029316988854618210683140789824618530922310139427366578204329784304515210976016631900300251246231437239344203301407295151481029177788191884503158239923929414102090484694048107977408267964136059522307930355337351717023436497941390059589410549332997403361004263602106938359065427789169704144229001984453979783566582588558785709325494756781329889956653782175768086795148275240487547810712272019281006995579118244551658435522759979415641715585392562123647349412988847833250545994192435896829079168568678754984771892607541166488160300926491792005510582436321841123125857497107580326097590692709525690013139114304014872209303242133314390431685293162293023657571884050462840047 24477638579602318309467507586250805804827940562867147269483069243002194669410046029327895533644848823154450147753131130351267517664927892646589629863009980209128270049172016432067489402554923487176491964138957647943667763362962634221145324140074181580020333961039443007922324776125863445221078501537269182921541922785693049397385680631066833618674526229500470949653932041916444777034051821695977000707832950749288582514777792789944013634449954537603187729075773507596996630370162127459617160706260740052330730549153189989535658937386152261569920155924757648694418705427368368529272378204040554780948532658729403002151830830867813984142269976388919941358323028063764426971484080040644242467891499629212211496089916055354979088961797893938856594770477140973119938636342397993579416957781881963606355389309673252916141916414321980392751051612920356001462727954715124099271622938272783151713396300483446493579349500384052042432107727761029674245506733491234371884538818488382232771582258307576771593033098840104375619568098312320873360878244668343357884316017704479112143011240745559216760071129677499967592762127616646982594392847556435898531913465503373695641784551928323228077712433139504844166843641057155081726223761456642539678863370975406244460483586785912779995629266643868635379932144915540648248645379065857517538609811830684753891561714057129382506365169673996069564507140847647897001982029496358872017610392262895175672737137094887246803627428583686137458330373753948327536319129807357628236104331447246889175665075135116045839109681389857633243394459805731551548373693917060118283779158080649127619343661625103768019655385017689911781835843156568092266387292413594055126763635339203860206981279683191901455138205123761343245107332262142437573653600361476690041692543461041315737480412718354177779034905425904159270887061340265835937992626670598264183270781237633647863824515166386340925061710036159569204463384754886059108766021828662923701559585497686677342541482156445048873621285081348179655209091491726362074518370626453206680983849961365152009902944647252790979339239497464024024847157761352325975394289370034538147220034436938900394449559600350850502309024620100871278649601168300945825520303712268169078046743513044730607335582951586478168647385804676414809576791530425506050370217805541390075157426873016544582715836688861318357195860429957023255007550254700197944573832226314817500121689762659520667171166717783255770195060454764551233964304376445692961460401434118403090337864503633479971 39605651186132249615370748435074451825407700878957462369454474642469140963577539698811034113560699673052866473880046301663426467225089267757568445072847118128639680424888020621148845982128358195954803875811950626021812960336314592435078847143847945966573759242962720982278020495315871947659873843949604596835699975652816101087041206272658001613504960635412032506672552760137484044694262763972950349157898410038943583621211486392280298978419834549505927779690871894183825659097021012897902923310522355697476535591853778885460399365986474271143773916909675057630285914448575668056811854901655690686789207226831388937366479516201030349101848270016282887788003825595056400865134157424208087132795217888080651532606598900436222608554412945332911739308292892947639140924580797985411068957942233684383620835148151966045183837096788519252881719377625122802123201698711154979993039947584430896117364350127936508225185859360182823700715058427687266405363986519124353568273334694368692813186181425305120092016063713683584854403876012675573780864426367644594112855524356501614423706327045234046159802760782797880696505357386405338353557660185686822640463794476902481951646130094677383424631423248783470878195832693538388258353328039695419674836476344860071698944250030657468733476912411462261767986782825265837528907278149258663614997472254578084294952414030038716940625333426195250038614788591366494361379525454127324405918902689304902434782219429210066830855667806997626852190235476721316717570699160093524349750912082591991901357133576957376728293876831704771449684700635086799434836396054815997197404416412558915398916877282124349901255180636640262791641795501045839595856781925391653744078238670953952961456058285245808564347801796185079450617517839943322123165717970224540077252183971086126018160336125249238345215293003694065648132124183096262967309615525216474866411571062252178786134654593752919129391494340674780180480016655186310354997459068007127002966880649167706520329674040948207113545214495450270139903139599703770342482506685975514611339187313082175446400886037312380389888572494867385029110759868290685040822078539738682376222018890918683961032148159136559827803781401430761235303383344069032620668578952755716888759015532325737602914701196138136604170145784092056525162184092549153399783206653374640621151619308913373661884405367616303129088467971123511415308476746492203455156268548155940625979186870239846764761859427308945783334174758779423443267546509760083393145694596411426747909748554096320018 64083289765734567924838256021325257630235641441824609638937543885471335632987585728138929647205548496207316621633177432014693984890017160404158074935857098337767950474060037053216335384683281683131295839950908273965480723699277226656224171283922127546594093204002163990200345271441735392880952345486873779757241898438509150484426886903724835232179486864912503456326484802053928821728314585668927349865731360788232166135989279182224312612869789087109115508766645401780822289467183140357520084016783095749807266141006968874996058303372626532713694072834432706324704619875944036586084233105696245467737739885560791939518310347068844333244118246405202829146326853658820827836618237464852329600686717517292863028696514955791201697516210839271768334078770033920759079560923195978990485915724115647989976224457825218961325753511110499645632770990545478803585929653426279079264662885857214047830760650611383001804535359744234866132822786188716940650870720010358725452812153182750925584768439732881891685049162553787960473971974324996447141742671035987951997171542060980726566717567790793262919873890460297848289267485003052320947950507742122721172377259980276177593430682023000611502343856388288315045039473750693469984577089496337959353699847320266316159427836816570248729106179055330897147918927740806485777552657215116181153607284085262838186514128087168099446990503100191319603121929439014391363361554950486196423529294952200078107519356524097313634483096390683764310520609230669644253889828967451152585855243529838881077022208712073422567403558221562404693079160440818350983210089971876115481183574493208043018260538907228117920910565654330174573477638657613931862244074338985708870841874010157813168437337968437710019486006919946422695724850102085759696819318331701230118944727432127441755640748843603416124250198429598224919019185523362098905302242195814739049682352299885826649959169760139260054453204376834349384943401410072369463763480896670050704526466146854383862871156197393255987166499576798449795112231091430132417000877312428721292323037274447327456303830684565171369227811992331409053957917629643011016216367909773220523442053327857584355481707759487410330112806021531632513952984512369978446188882665023885966805759045370468210250284147724614772817531588768471334738975622974659450153424458916030696309046181929918244600242056477621486284328401080534670316027001192401399730100774470758126100876632899367431933026145092201553529235213543974677231850886205776354606096030529829838247613057729799989 103688940951866817540209004456399709455643342320782072008392018527940476596565125426949963760766248169260183095513223733678120452115106428161726520008704216466407630898948057674365181366811639879086099715762858899987293684035591819091303018427770073513167852446964884972478365766757607340540826189436478376592941874091325251571468093176382836845684447500324535962999037562191412866422577349641877699023629770827175749757200765574504611591289623636615043288457517295964647948564204153255423007327305451447283801732860747760456457669359100803857467989744107763954990534324519704642896088007351936154526947112392180876884789863269874682345966516421485716934330679253877228701752394889060416733481935405373514561303113856227424306070623784604680073387062926868398220485503993964401554873666349332373597059605977185006509590607899018898514490368170601605709131352137434059257702833441644943948125000739319510029721219104417689833537844616404207056234706529483079021085487877119618397954621158187011777065226267471545328375850337672020922607097403632546110027066417482340990423894836027309079676651243095728985772842389457659301508167927809543812841054457178659545076812117677994926975279637071785923235306444231858242930417536033379028536323665126387858372086847227717462583091466793158915905710566072323306459935364374844768604756339840922481466542117206816387615836526386569641736718030380885724741080404613520829448197641504980542301575953307380465338764197681391162710844707390960971460528127544676935606155612430872978379342289030799295697435053267176142763861075905150418046486026692112678587990905766958417177416189352467822165746290970437365119434158659771458100856264377362614920112681111766129893396253683518583833808716131502146342367942029081819985036301925770196196911403213567773801084968852654469465491433292290567151309706458361872611857721031213916093923362138005436093824353892179183844698717509129565423418065258679818760939964677177707493346796022090383200830238341463100711714072248719935015370691133902759483383998404235903662224587529502902704716721877551759116384487198794083068677497933696057038446449511902899664072218776268316513855918623970157916587422962393749256367856439011066857461617779602855564774577696205813164985343862751376987677372860527859901159715523812849936631112290671317460665490843291906484647424093924615372796372204046085624503747684604854886369322626698752080063503139214196694885572401147336863409972323398120499397395965859747751790626941256586157361611826120007 167772230717601385465047260477724967085878983762606681647329562413411812229552711155088893407971796665467499717146401165692814437005123588565884594944561314804175581373008094727581516751494921562217395555713767173952774407734869045747527189711692201059761945650967048962678711038199342733421778534923352156350183772529834402055894980080107672077863934365237039419325522364245341688150891935310805048889361131615407915893190044756728924204159412723724158797224162697745470238031387293612943091344088547197091067873867716635452515972731727336571162062578540470279695154200463741228980321113048181622264686997952972816403100210338719015590084762826688546080657532912698056538370632353912746334168652922666377589999628812018626003586834623876448407465832960789157300046427189943392040789390464980363573284063802403967835344119009518544147261358716080409295061005563713138522365719298858991778885651350702511834256578848652555966360630805121147707105426539841804473897641059870543982723060891068903462114388821259505802347824662668468064349768439620498107198608478463067557141462626820571999550541703393577275040327392509980249458675669932264985218314437454837138507494140678606429319136025360100968274780194925328227507507032371338382236170985392704017799923663797966191689270522124056063824638306878809084012592579491025922212040425103760667980670204374915834606339626577889244858647469395277088102635355099717252977492593705058649820932477404694099821860588365155473231453938060605225350357094995829521461399142269754055401551001104221863100993274829580835843021516723501401256575998568228159771565398975001435437955096580585743076311945300611938597072816273703320344930603363071485761986691269579298330734222121228603319815636077924842067218044114841516804354633627000315141638835341009529441833812456070593715689862890515486170495229820460777914099916845952965776275662023832086052994114031439238297903094343478950366819475331049282524420861347228412019812942876474246071986435734719087878213649047169730127601782564035176484261310832957195985261861976830359008547406442723128344196479530203137026595127576707073254814359285123423106125546633852671995563678111380488029393444494026263209352368808989513046344282803488822370533623066674023415269491587366149805208961628999194640135338498472300090055571206702013769711672773210151084889480571546101657124773284580755940530748877006254616470097097456878180940136038581628627911717493348890392645185867372797731248282171636102357886657471086424404974669555919996 271461171669468203005256264934124676541522326083388753655721580941352288826117836582038857168738044834727682812659624899370934889120230016727611114953265531270583212271956152401946698118306561441303495271476626073940068091770460864838830208139462274572929798097931933935157076804956950073962604724359830532943125646621159653627363073256490508923548381865561575382324559926436754554573469284952682747912990902442583665650390810331233535795449036360339202085681679993710118186595591446868366098671393998644374869606728464395908973642090828140428630052322648234234685688524983445871876409120400117776791634110345153693287890073608593697936051279248174263014988212166575285240123027242973163067650588328039892151302742668246050309657458408481128480852895887657555520531931183907793595663056814312737170343669779588974344934726908537442661751726886682015004192357701147197780068552740503935727010652090022021863977797953070245799898475421525354763340133069324883494983128936990162380677682049255915239179615088731051130723675000340488986956865843253044217225674895945408547565357462847881079227192946489306260813169781967639550966843597741808798059368894633496683584306258356601356294415662431886891510086639157186470437924568404717410772494650519091876172010511025683654272361988917214979730348872951132390472527943865870690816796764944683149447212321581732222222176152964458886595365499776162812843715759713238082425690235210039192122508430712074565160624786046546635942298645451566196810885222540506457067554754700627033780893290135021158798428328096756978606882592628651819303062025260340838359556304741959852615371285933053565242058236271049303716506974933474778445786867740434100682099372381345428224130475804747187153624352209426988409585986143923336789390935552770511338550238554577303242918781308725063181181296182806053321804936278822650525957637877166881870199024161837522146818467923618422142601811852608515790237540589729101285360826024406119513159738898564629272816674076182188589927721295889665142972473697937935967645309237193099647486449506333261713264128320274887460580966728997220095272625510403130293260808797026322770197765410120988509419596735350645945980867456420012465720225248000579903805900583091677935308200762879836580254835450117526792886334489527054541295054022285150026686683497373331230377163616502057569536904665470717029921145488626841565034496561611109502839419724155630261003639177795825322797289894496227256055158190770918230645678137495850109677284412343010562336281382040003 439233402387069588470303525411849643627401309845995435303051143354764101055670547737127750576709841500195182529806026065063749326125353605293495709897826846074758793644964247129528214869801483003520890827190393247892842499505329910586357397851154475632691743748898982897835787843156292807384383259283182689293309419150994055683258053336598181001412316230798614801650082290682096242724361220263487796802352034057991581543580855087962459999608449084063360882905842691455588424626978740481309190015482545841465937480596181031361489614822555476999792114901188704514380842725447187100856730233448299399056321108298126509690990283947312713526136042074862809095645745079273341778493659596885909401819241250706269741302371480264676313244293032357576888318728848446712820578358373851185636452447279293100743627733581992942180278845918055986809013085602762424299253363264860336302434272039362927505896303440724533698234376801722801766259106226646502470445559609166687968880769996860706363400742940324818701294003909990556933071499663008957051306634282873542324424283374408476104706820089668453078777734649882883535853497174477619800425519267674073783277683332088333822091800399035207785613551687791987859784866834082514697945431600776055793008665635911795893971934174823649845961632511041271043554987179829941474485120523356896613028837190048443817427882525956648056828515779542348131454012969171439900946351114812955335403182828915097841943440908116768664982485374411702109173752583512171422161242317536335978528953896970381089182444291239243021899421602926337814449904109352153220559638023828568998131121703716961288053326382513639308318370181571661242313579791207178098790717471103505586444086063650924726554864697925975790473439988287351830476804030258764853593745569179770826480189073895586832684752593764795656896871159073321539492300166099283428440057554723119847646474686185669608199812581955057660440504906196087466157057015920778383809781687371634531532972681775038875344803109810901276468141370343059395270574256261973112451906620070150295632748311483163620721811534762998015804777446259200357121867753087110203548075168082149745876323312043973660504983274846731133975374311950446275675072594056990092950150183386580500305841823829553859995524327037483676598095296118526249181430392520757450116742254704075345000088836389712208654426385237016818687045918773207597505565245438617364119309516821612508441943775216377453950709007387845117648700344058143715961893960309131952467563941883429434967310950937959999 710694574056537791475559790345974320168923635929384188958772724296116389881788384319166607745447886334922865342465650964434684215245583622021106824851092377345342005916920399531474912988108044444824386098667019321832910591275790775425187605990616750205621541846830916832992864648113242881346987983643013222236435065772153709310621126593088689924960698096360190183974642217118850797297830505216170544715342936500575247193971665419195995795057485444402562968587522685165706611222570187349675288686876544485840807087324645427270463256913383617428422167223836938749066531250430632972733139353848417175847955218643280202978880357555906411462187321323037072110633957245848627018616686839859072469469829578746161892605114148510726622901751440838705369171624736104268341110289557758979232115504093605837913971403361581916525213572826593429470764812489444439303445720966007534082502824779866863232906955530746555562212174754793047566157581648171857233785692678491571463863898933850868744078424989580733940473618998721608063795174663349446038263500126126586541649958270353884652272177552516334158004927596372189796666666956445259351392362865415882581337052226721830505676106657391809141907967350223874751294953473239701168383356169180773203781160286430887770143944685849333500233994499958486023285336052781073864957648467222767303845633954993126966875094847538380279050691932506807018049378468947602713790066874526193417828873064125137034065949338828843230143110160458248745116051228963737618972127540076842435596508651671008122963337581374264180697849931023094793056786701980805039862700049088909836490678008458921140668697668446692873560428417842710546030086766140652877236504338843939687126185436032270154778995173730722977627064340496778818886390016402688190383136504732541337818739312450164135927671375073520720078052455256127592814105102378106078966015192600286729516673710347507130346631049878676082583106718048695981947294556510507485095142513396040651046132420673603504617619783887083465058069091638949060413546729959911048419551929307343395280234760989496882435075663083272903265358412988197577217140378597513333841335976879176068646521077454094649014402871582081779921355179406866288140792819304990672853956083969672178241150024592433696575779162487601203390981630608053303722725446543042600143428938201448676230466000006214266223963289902487535716967064261834439070599742000228473622148936545768138702947414394173279273506297282341344904755502248914634192539638446627802577241226295772445529647232320000002 1149927976443607379945863315757823963796324945775379624261823867650880490937458932056294358322157727835118047872271677029498433541370937227314602534748919223420100799561884646661003127857909527448345276925857412569725753090781120686011545003841771225838313285595729899730828652491269535688731371242926195911529744484923147764993879179929686870926373014327158804985624724507800947040022191725479658341517694970558566828737552520507158455794665934528465923851493365376621295035849548927830984478702359090327306744567920826458631952871735939094428214282125025643263447373975877820073589869587296716574904276326941406712669870641503219124988323363397899881206279702325121968797110346436744981871289070829452431633907485628775402936146044473196282257490353584550981161688647931610164868567951372898938657599136943574858705492418744649416279777898092206863602699084230867870384937096819229790738803258971471089260446551556515849332416687874818359704231252287658259432744668930711575107479167929905552641767622908712164996866674326358403089570134409000128866074241644762360756978997642184787236782662246255073332520164130922879151817882133089956364614735558810164327767907056427016927521519038015862611079820307322215866328787769956828996789825922342683664115878860672983346195627010999757066840323232611015339442768990579663916874471145041570784302977373495028335879207712049155149503391438119042614736417989339148753232055893040234876009390246945611895125595534869950854289803812475909041133369857613178414125462548641389212145781872613507202597271533949432607506690811332958260422338072917478834621799712175882428722024050960332181878798599414371788343666557347830976027221809947445273570271499683194881333859871656698768100504328784130649363194046661453043976882073912312164298928386345750968612423968838316376974923614329449132306405268477389507406072747323406577163148396533176738546443631833733743023611624244783448104351572431285868904924200767675182579105102448642379962422893697984741526210461982008455684120986221884160871458549377493690912983072472660503156887197846270919070135859247397934339008131684623537389411144961325814522844389498068309519386146428812913896729491357312563815865413361980765804106267356252678546991848421987556571303489525084879989076926726579552904155839063800050260171192905524021230554836395926474878389675139504354404012983035042036576164987438845837741458453367380647144891189610550733224215304670186462553455846307058350154433598755759755044805168179201880496958183257960001 1860622550500145171421423106103798283965248581704763813220596591946996880819247316375460966067605614170040913214737327993933117756616520849335709359600011600765442805478805046192478040846017571893169663024524431891558663682056911461436732609832387976043934827442560816563821517139382778570078359226569209133766179550695301474304500306522775560851333712423518995169599366724919797837320022230695828886233037907059142075931524185926354451589723419972868486820080888061787001647072119115180659767389235634813147551655245471885902416128649322711856636449348862582012513905226308453046323008941145133750752231545584686915648750999059125536450510684720936953316913659570970595815727033276604054340758900408198593526512599777286129559047795914034987626661978320655249502798937489369144100683455466504776571570540305156775230705991571242845750542710581651302906144805196875404467439921599096653971710214502217644822658726311308896898574269522990216938016944966149830896608567864562443851557592919486286582241241907433773060661848989707849127833634535126715407724199915116245409251175194701121394787589842627263129186831087368138503210244998505838945951787785531994833444013713818826069429486388239737362374773780561917034712143939137602200570986208773571434259823546522316846429621510958243090125659285392089204400417457802431220720105100034697751178072221033408614929899644555962167552769907066645328526484863865342171060928957165371910075339585774455125268705695328199599405855041439646660105497397690020849721971200312397335109119453987771383295121464972527400563477513313763300285038122006388671112477720634803569390721719407025055439227017257082334373753323488483853263726148791384960696456935715465036112855045387421745727568669280909468249584063064141234360018578644853502117667698795915104540095343911837097052976069585576725120510370855495586372087939923693306679822106880683868893074681712409825606718342293479430051646128941793354000066714163715833625237523122245884580042677585068206584279553620957516097667716181795209291010478684837086193217833462157385591962860929543822335494272235595511556148510282136871230747121840501883169365466952162958533789018010894693818084670764178851956658232666971438658062351325924856788141873014421253147082652012686083380058557334632856626881285606842650403600131106972697461020836402140741102352965041991890120980047296876475646764729439074311363607389913148785847838604004724012497721601952527807458211348555972984346973237202387557622046394474974326026605415577960003 3010550526943752551367286421861622247761573527480143437482420459597877371756706248431755324389763342005158961087009005023431551297987458076650311894348930824185543605040689692853481168703927099341514939950381844461284416772838032147448277613674159201882248113038290716294650169630652314258809730469495405045295924035618449239298379486452462431777706726750677800155224091232720744877342213956175487227750732877617708904669076706433512907384389354501334410671574253438408296682921668043011644246091594725140454296223166298344534369000385261806284850731473888225275961279202186273119912878528441850325656507872526093628318621640562344661438834048118836834523193361896092564612837379713349036212047971237651025160420085406061532495193840387231269884152331905206230664487585420979308969251406839403715229169677248731633936198410315892262030320608673858166508843889427743274852377018418326444710513473473688734083105277867824746230990957397808576642248197253808090329353236795274018959036760849391839224008864816145938057528523316066252217403768944126844273798441559878606166230172836885908631570252088882336461706995218291017655028127131595795310566523344342159161211920770245842996951005426255599973454594087884132901040931709094431197360812131116255098375702407195300192625248521958000156965982518003104543843186448382095137594576245076268535481049594528436950809107356605117317056161345185687943262902853204490924292984850205606786084729832720067020394301230198150453695658853915555701238867255303199263847433748953786547254901326601278585892392998921960008070168324646721560707376194923867505734277432810685998112745770367357237318025616671454122717419880836314829290947958738830234266728435398659917446714917044120513828072998065040117612778109725594278336900652557165666416596085141666073152519312750153474027899683915025857426915639332885093778160687247099883842970503413860607439518313546143568630329966538262878155997701373079222904990914931391016204342625570888264542465571283052948110490015602965971781788702403679370162469028062330777106200905934817888748850058775814741405630131482993445895156641966760408620158266801827697692209856450231268053175164439707607714814162121491415772523646028952204462168618682177535335133721436408809718386141537770963369135484061212409531037124670642700663771324012496718691575672798067215980742640181496244524993030331918512222929716877920149105065843280529432992729793615274745721936906622714270011667194863031334501406835958147312666851562654176206523563598835920004 4871173077443897722788709527965420531726822109184907250703017051544874252575953564807216290457368956175199874301746333017364669054603978925986021253948942424950986410519494739045959209549944671234684602974906276352843080454894943608885010223506547177926182940480851532858471686770035092828888089696064614179062103586313750713602879792975237992629040439174196795324823457957640542714662236186871316113983770784676850980600600892359867358974112774474202897491655141500195298329993787158192304013480830359953601847878411770230436785129034584518141487180822750807288475184428494726166235887469586984076408739418110780543967372639621470197889344732839773787840107021467063160428564412989953090552806871645849618686932685183347662054241636301266257510814310225861480167286522910348453069934862305908491800740217553888409166904401887135107780863319255509469414988694624618679319816940017423098682223687975906378905764004179133643129565226920798793580265142219957921225961804659836462810594353768878125806250106723579711118190372305774101345237403479253559681522641474994851575481348031587030026357841931509599590893826305659156158238372130101634256518311129874153994655934484064669066380491814495337335829367868446049935753075648232033397931798339889826532635525953717617039054870032916243247091641803395193748243603906184526358314681345110966286659121815561845565739007001161079484608931252252333271789387717069833095353913807370978696160069418494522145663006925526350053101513895355202361344364652993220113569404949266183882364020780589049969187514463894487408633645837960484860992414316930256176846755153445489567503467489774382292757252633928536457091173204324798682554674107530215194963185371114124953559569962431542259555641667345949585862362172789735512696919231202019168534263783937581177692614656661990571080875753500602582547426010188380680150248627170793190522792610294544476332592995258553394237048308831742308207643830314872576905057629095106849829580148693134149122508248868121154694769569223923487879456418585474579453479506747167863299418739396975274340812919705358563741124403718588957451305152248897279850905388642329580861575323402394226586964182450602301532898832885670267729181878695923643120230970008102392123275594450830062865468793550457046749194041395845266157918410277485351067371455119469416152596509200207957083095605223488134645973077628794987869694446316994460468673233193678218840568397619998758219658508575242077469878543419004318848380073160534870288897957129150532550169014413880007 7881723604387650274155995949827042779488395636665050688185437511142751624332659813238971614847132298180358835388755338040796220352591437002636333148297873249136530015560184431899440378253871770576199542925288120814127497227732975756333287837180706379808431053519142249153121856400687407087697820165560019224358027621932199952901259279427700424406747165924874595480047549190361287592004450143046803341734503662294559885269677598793380266358502128975537308163229394938603595012915455201203948259572425085094056144101578068574971154129419846324426337912296639032564436463630680999286148765998028834402065247290636874172285994280183814859328178780958610622363300383363155725041401792703302126764854842883500643847352770589409194549435476688497527394966642131067710831774108331327762039186269145312207029909894802620043103102812203027369811183927929367635923832584052361954172193958435749543392737161449595112988869282046958389360556184318607370222513339473766011555315041455110481769631114618269965030258971539725649175718895621840353562641172423380403955321083034873457741711520868472938657928094020391936052600821523950173813266499261697429567084834474216313155867855254310512063331497240750937309283961956330182836794007357326464595292610471006081631011228360912917231680118554874243404057624321398298292086790354566621495909257590187234822140171410090282516548114357766196801665092597438021215052290570274324019646898657576585482244799251214589166057308155724500506797172749270758062583231908296419377416838698219970429618922107190328555079907462816447416703814162607206421699790511854123682581032586256175565616213260141739530075278250599990579808593085161113511845622066269045429229913806512784871006284879475662773383714665410989703475140282515329791033819883759184834950859869079247250845133969412144045108775437415628439974341649521265773928409314417893074365763113708405083772111308804696962867378275370005186363641531687951799810048544026497866033922774264022413664973820151174102805259584826889459661245120989153949615948534809498640405619645331793163089662978481173305146754535201582403346461794215657688471063655444157278553785179852625494640139346890309909247712995007161683501705524724875847582399588690279927458409315887238872583854935088228010118329525457057675688955534948128051731142779131966134844172181998275173063838245404984379170966107960713500092624163194914609573739076474207651833298191235273503941595415197956347481545738282035653349786909118682182955749519783326739073732613249800011 12752896681831547996944705477792463311215217745849957938888454562687625876908613378046187905304501254355558709690501671058160889407195415928622354402246815674087516426079679170945399587803816441810884145900194397166970577682627919365218298060687253557734613993999993782011593543170722499916585909861624633403420131208245950666504139072402938417035787605099071390804871007148001830306666686329918119455718274446971410865870278491153247625332614903449740205654884536438798893342909242359396252273053255445047657991979989838805407939258454430842567825093119389839852911648059175725452384653467615818478473986708747654716253366919805285057217523513798384410203407404830218885469966205693255217317661714529350262534285455772756856603677112989763784905780952356929190999060631241676215109121131451220698830650112356508452270007214090162477592047247184877105338821278676980633492010898453172642074960849425501491894633286226092032490121411239406163802778481693723932781276846114946944580225468387148090836509078263305360293909267927614454907878575902633963636843724509868309317192868900059968684285935951901535643494647829609329971504871391799063823603145604090467150523789738375181129711989055246274645113329824776232772547083005558497993224408810895908163646754314630534270734988587790486651149266124793492040330394260751147854223938935298201108799293225652128082287121358927276286274023849690354486841678287344157115000812464947564178404868669709111311720315081250850559898686644625960423927596561289639490986243647486154311982942887779378524267421926710934825337460000567691282692204828784379859427787739701665133119680749916121822832530884528527036899766289485912194400296173799260624193099177626909824565854841907205032939356332756939289337502455305065303730739114961204003485123653016828428537748626074134616189651190916231022521767659709646454078657941588686264888555724002949560104704304063250357104426584201747494571285362002824376715106173121604715863502922957156562787482069019295257500029154050812947540701539574628529069428041556666503705038384728768437430475898186531868887878938920171360797766946464554968321969044086486859415360503255019721227103529340912210780611827892831951230887403420799490702630558698382319581684910338068935449323728638685056867523566852902941846873945225613402798514234251435550996768691198483130146933850628472513816939185589508487962318609511909070042412309667885870673866588855272262161253923773198424951424281701039972198166982279217053244647476912477271623901627663680018 20634620286219198271100701427619506090703613382515008627073892073830377501241273191285159520151633552535917545079257009098957109759786852931258687550544688923224046441639863602844839966057688212387083688825482517981098074910360895121551585897867959937543045047519136031164715399571409907004283730027184652627778158830178150619405398351830638841442534771023945986284918556338363117898671136472964922797452778109265970751139956089946627891691117032425277513818113931377402488355824697560600200532625680530141714136081567907380379093387874277166994163005416028872417348111689856724738533419465644652880539233999384528888539361199989099916545702294756995032566707788193374610511367998396557344082516557412850906381638226362166051153112589678261312300747594487996901830834739573003977148307400596532905860560007159128495373110026293189847403231175114244741262653862729342587664204856888922185467698010875096604883502568273050421850677595558013534025291821167489944336591887570057426349856583005418055866768049803031009469628163549454808470519748326014367592164807544741767058904389768532907342214029972293471696095469353559503784771370653496493390687980078306780306391644992685693193043486295997211954397291781106415609341090362884962588517019281901989794657982675543451502415107142664730055206890446191790332417184615317769350133196525485435930939464635742410598835235716693473087939116447128375701893968857618481134647711122524149660649667920923700477777623236975351066695859393896718486510828469586058868403082345706124741601864994969707079347329389527382242041274163174897704391995340638503542008820325957840698735894010057861352907809135128517616708359374647025706245918240068306053423012984139694695572139721382867806323070998167928992812642737820395094764558998720388838435983522096075679382882595486278661298426628331859462496109309230912228007067256006579339254318837711354643876815612867947319971804859571752680934926893690776176525154717148102581897425697221178976452455889170469360305288738877702407201946660563782478685376576366165144110658030060561600520138876667705174034633474121753764144228740680212656793032699530644137969145683107645215867242876231222120028324822899993634732592928145675338285030147388662247040094226225307808033178663726913066985853092309960617535829480173741454529657013383401685840940873196758303210772096033456892987905293550221988054942772706823679616151386142093522507164780090545766102849338971154772432970019983075625547953891397899236200396996695804010697634240913480029 33387516968050746268045406905411969401918831128364966565962346636518003378149886569331347425456134806891476254769758680157117999166982268859881041952791504597311562867719542773790239553861504654197967834725676915148068652592988814486769883958555213495277659041519129813176308942742132406920869639888809286031198290038424101285909537424233577258478322376123017377089789563486364948205337822802883042253171052556237381617010234581099875517023731935875017719472998467816201381698733939919996452805678935975189372128061557746185787032646328708009561988098535418712270259759749032450190918072933260471359013220708132183604792728119794384973763225808555379442770115193023593495981334204089812561400178271942201168915923682134922907756789702668025097206528546844926092829895370814680192257428532047753604691210119515636947643117240383352324995278422299121846601475141406323221156215755342094827542658860300598096778135854499142454340799006797419697828070302861213877117868733685004370930082051392566146703277128066336369763537431477069263378398324228648331229008532054610076376097258668592876026499965924195007339590117183168833756276242045295557214291125682397247456915434731060874322755475351243486599510621605882648381888173368443460581741428092797897958304736990173985773150095730455216706356156570985282372747578876068917204357135460783637039738757861394538681122357075620749374213140296818730188735647144962638249648523587471713839054536590632811789497938318226201626594546038522678910438425030875698359389325993192279053584807882749085603614751316238317067378734163742588987084200169422883401436608065659505831855574759973983175740340019657044653608125664132937900646214413867566677616112161766604520137994563290072839262427330924868282150145193125460398495298113681592841921107175112904107920631221560413277488077819248090485017876968940558682085725197595265604142874561714304203981519916931197677076231443773500175506212255693600553240260890269707297760928620178335539239937958189764617805317892928515354742648200138411007754804617922831647815696414789330037950614774854237042922512413041925124941995687144767625115001743617130997384506186362664937094346405572134330808936650792825585963480331566474828987660706087044566621779136563376743482502392365598123853376659162863559382703425399354857328171247634837236837709564395241433357705946661929406804844479139730476017261382218732749658563695809979393181031368945818028264103262744353197384394301684115597746120873677116289445044473608281282321535868577160047 54022137254269944539146108333031475492622444510879975193036238710348380879391159760616506945607768359427393799849015689256075108926769121791139729503336193520535609309359406376635079519919192866585051523551159433129166727503349709608321469856423173432820704089038265844341024342313542313925153369915993938658976448868602251905314935776064216099920857147146963363374708119824728066104008959275847965050623830665503352368150190671046503408714848968300295233291112399193603870054558637480596653338304616505331086264143125653566166126034202985176556151103951447584687607871438889174929451492398905124239552454707516712493332089319783484890308928103312374475336822981216968106492702202486369905482694829355052075297561908497088958909902292346286409507276141332922994660730110387684169405735932644286510551770126674765443016227266676542172398509597413366587864129004135665808820420612231017013010356871175694701661638422772192876191476602355433231853362124028703821454460621255061797279938634397984202570045177869367379233165595026524071848918072554662698821173339599351843435001648437125783368713995896488479035685586536728337541047612698792050604979105760704027763307079723746567515798961647240698553907913386989063991229263731328423170258447374699887752962719665717437275565202873119946761563047017177072705164763491386686554490331986269072970678222497136949279957592792314222462152256743947105890629616002581119384296234709995863499704204511556512267275561555201552693290405432419397396949253500461757227792408338898403795186672877718792682962080705765699309420008326917486691476195510061386943445428391617346530591468770031844528648149154785562270316485038779963606892132653935872731039125145906299215710134284672940645585498329092797274962787930945855493259857112401981680357090697208979787303513817046691938786504447579949947513986278171470910092792453601844943397193399425658847858335529799144997048036303345252856441139149384376729765415607417809879658354317399514515692393847360233978110606631806217761944594860702193486440181194288996791926354444849891638470753651521942216957145887163678889086224427824980281908034443147775135353651869470310152961589281803356450837261473692819220696073259712150167272690853475706813661873362788684551515681056092511190839229751472824176918532905573096311857828261018238922678650437591999736568478042695386299792749772689952464072204154925556429274715081952072915688196149036363794366952601715507969817364321667191223294074765075015525645441470304085293019170109490640076 87409654222320690807191515238443444894541275639244941758998585346866384257541046329947854371063903166318870054618774369413193108093751390651020771456127698117847172177078949150425319073780697520783019358276836348277235380096338524095091353814978386928098363130557395657517333285055674720846023009804803224690174738907026353191224473200297793358399179523269980740464497683311093014309346782078731007303794883221740733985160425252146378925738580904175312952764110867009805251753292577400593106143983552480520458392204683399751953158680531693186118139202486866296957867631187921625120369565332165595598565675415648896098124817439577869864072153911867753918106938174240561602474036406576182466882873101297253244213485590632011866666691995014311506713804688177849087490625481202364361663164464692040115242980246190402390659344507059894497393788019712488434465604145541989029976636367573111840553015731476292798439774277271335330532275609152852929681432426889917698572329354940066168210020685790550349273322305935703748996703026503593335227316396783311030050181871653961919811098907105718659395213961820683486375275703719897171297323854744087607819270231443101275220222514454807441838554436998484185153418534992871712373117437099771883751999875467497785711267456655891423048715298603575163467919203588162355077912342367455603758847467447052710010416980358531487961079949867934971836365397040765836079365263147543757633944758297467577338758741102189324056773499873427754319884951470942076307387678531337455587181734332090682848771480760467878286576832022004016376798742490660075678560395679484270344882036457276852362447043530005827704388489174442606923924610702912901507538347067803439408655237307672903735848128847963013484847925660017665557112933124071315891755155226083574522278197872321883895224145038607105216274582266828040432531863247112029592178517651197110547540067961139963051839855446730342674124267747118753031947351405077977283005676497687517177419282937577850054932331805549998595915924524734733116687243060840604494194985812211828439742050859639221676421368426376179259879658300205604014028220114969747907023036186764906132738158055832975090055935687375490781646198124485644806659553591278624996260351559562751380283652499352061294998183448458109314692606410635687736301236330972451169185999508653076159516360001987241169926183989357315706597594251829682940089465537144289178933278777762052308869227517982181822631055864459861167201758623351306821040195638752131815090485943912366575340705978067800123 141431791476590635346337623571474920387163720150124916952034824057214765136932206090564361316671671525746263854467790058669268217020520512442160500959463891638382781486438355527060398593699890387368070881827995781406402107599688233703412823671401560360919067219595661501858357627369217034771176379720797163349151187775628605096539408976362009458320036670416944103839205803135821080413355741354578972354418713887244086353310615923192882334453429872475608186055223266203409121807851214881189759482288168985851544656347809053318119284714734678362674290306438313881645475502626810800049821057731070719838118130123165608591456906759361354754381082015180128393443761155457529708966738609062552372365567930652305319511047499129100825576594287360597916221080829510772082151355591590048531068900397336326625794750372865167833675571773736436669792297617125855022329733149677654838797056979804128853563372602651987500101412700043528206723752211508286161534794550918621520026789976195127965489959320188534551843367483805071128229868621530117407076234469337973728871355211253313763246100555542844442763927957717171965410961290256625508838371467442879658424249337203805302983529594178554009354353398645724883707326448379860776364346700831100306922258322842197673464230176321608860324280501476695110229482250605339427783077105858842290313337799433321782981095202855668437241037542660249194298517653784712941969994879150124877018240993007463440838462945613745836324049061428629307013175356903361473704336932031799212814974142670989086643958153638186670969538912727769715686218750817577562370036591189545657288327464848894198893038512300037672233036638329228169194241095741692865114430479721739312139694362453579202951558263132635954130433423989110462832075721055017171385015012338485556202635288569530863682527658855653797155061086714407990380045849525283500502271310104798955490937261360565621899698190976529487671172304050464005888388490554462354012771092105105327057077637254977364570624725652910232574026531156540950878631837921542797980635167006500825231668405304489113314892122077898121476836804187369282903114444542794728188931070629912681268091809925303285243017524969178847232483459598178464027355626850990775163533042413038458193945525862140745846513864504550620505531836162108511913219769236545547481043827769671315082195010439579240906494662032052702006390344024519635404161669692069845608207993859714125224557423667018545616998008466175369137019122945018498044334270403827147340735927414216451868359876087558440199 228841445698911326153529138809918365281704995789369858711033409404081149394473252420512215687735574692065133909086564428082461325114271903093181272415591589756229953663517304677485717667480587908151090240104832129683637487696026757798504177486379947289017430350153057159375690912424891755617199389525600388039325926682654958287763882176659802816719216193686924844303703486446914094722702523433309979658213597108984820338471041175339261260192010776650921138819334133213214373561143792281782865626271721466372003048552492453070072443395266371548792429508925180178603343133814732425170190623063236315436683805538814504689581724198939224618453235927047882311550699329698091311440775015638734839248441031949558563724533089761112692243286282374909422934885517688621169641981072792412892732064862028366741037730619055570224334916280796331167186085636838343456795337295219643868773693347377240694116388334128280298541186977314863537256027820661139091216226977808539218599119331135194133699980005979084901116689789740774877226571648033710742303550866121284758921537082907275683057199462648563102159141919537855451786236993976522680135695322186967266243519568646906578203752108633361451192907835644209068860744983372732488737464137930872190674258198309695459175497632977500283372995800080270273697401454193501782860989448226297894072185266880374492991512183214199925202117492528184166134883050825478778049360142297668634652185751304931018177221686715935160380822561302057061333060308374303550011724610563136668402155877003079769492729634398654549256115744749773732063017493308237638048596986869029927633209501306171051255485555830043499937425127503670776118165706444605766621968826789542751548349599761252106687406391980598967615281349649128128389188654179088487276770167564569130724913486441852747577751803894260902371335668981236030812577712772395530094449827755996066038477329321705584951538046423259830345296571797582758920335841959540331295776768602792844234496920192555214625557057458460231169942455681275683995319080982383402474830152818712653671410456164128334991313490504274300736716462487574886917142664657764476095954106816677587400829967981136260333073460656554338014129657722664108834015180442269400159793393972601209574229178361492807141512047953008729820224442572744199649521005567517998650229827278324391241711370441566482076420846021410017712987938276349318344251135229214134787141272637476177533426651185000727439629064330635230304220881568369804865374466042579279155826413358128818443700582065626240322 370273237175501961499866762381393285668868715939494775663068233461295914531405458511076577004407246217811397763554354486751729542134792415535341773375055481394612735149955660204546116261180478295519161121932827911090039595295714991501917001157781507649936497569748718661234048539794108790388375769246397551388477114458283563384303291153021812275039252864103868948142909289582735175136058264787888952012632310996228906691781657098532143594645440649126529324874557399416623495368995007162972625108559890452223547704900301506388191728110001049911466719815363494060248818636441543225220011680794307035274801935661980113281038630958300579372834317942228010704994460485155621020407513624701287211614008962601863883235580588890213517819880569735507339155966347199393251793336664382461423800965259364693366832480991920738058010488054532767836978383253964198479125070444897298707570750327181369547679760936780267798642599677358391743979780032169425252751021528727160738625909307330322099189939326167619452960057273545846005456440269563828149379785335459258487792892294160589446303300018191407544923069877255027417197198284233148188974066789629846924667768905850711881187281702811915460547261234289933952568071431752593265101810838761972497596516521151893132639727809299109143697276301556965383926883704798841210644066554085140184385523066313696275972607386069868362443155035188433360433400704610191720019355021447793511670426744312394459015684632329680996704871622730686368346235665277665023716061542594935881217130019674068856136687788036841220225654657477543447749236244125815200418633578058575584921536966155065250148524068130081172170461765832898945312406802186298631736399306511282063688043962214831309638964655113234921745714773638238591221264375234105658661785179903054686927548775011383611260279462749914699526396755695644021192623562297679030596721137860795021529414590682271206851236237399789318016468875848046764808724332514002685308547860707898171291574557447532579196181783111370463743968986837816634873950918903926200455465319825213478903078861468617448306205612582172422213553266674944169820257109200559204284885177446590268668921777906439545576090985625733185246613117320842572861370807293260175323326436385639667768174704223633552988025912457559350325756278734852711562740774804063546131273655047995706323906380881145722982915508053462719719378282300868953748412804921283980395349266497190302757984074852019273056627072796810599441240004513388302909708736446406426496562340772345270312060458153184680521 599114682874413287653395901191311650950573711728864634374101642865377063925878710931588792692142820909876531672640918914834190867249064318628523045790647071150842688813472964882031833928661066203670251362037660040773677082991741749300421178644161454938953927919901775820609739452219000546005575158771997939427803041140938521672067173329681615091758469057790793792446612776029649269858760788221198931670845908105213727030252698273871404854837451425777450463693891532629837868930138799444755490734831611918595550753452793959458264171505267421460259149324288674238852161770256275650390202303857543350711485741200794617970620355157239803991287553869275893016545159814853712331848288640340022050862449994551422446960113678651326210063166852110416762090851864888014421435317737174874316533030121393060107870211610976308282345404335329099004164468890802541935920407740116942576344443674558610241796149270908548097183786654673255281235807852830564343967248506535699957225028638465516232889919332146704354076747063286620882683011917597538891683336201580543246714429377067865129360499480839970647082211796792882868983435278209670869109762111816814190911288474497618459391033811445276911740169069934143021428816415125325753839274976692844688270774719461588591815225442276609427070272101637235657624285158992342993505056002311438078457708333194070768964119569284068287645272527716617526568283755435670498068715163745462146322612495617325477192906319045616157085694184032743429679295973651968573727786153158072549619285896677148625629417422435495769481770402227317179812253737434052838467230564927605512554746467461236301404009623960124672107886893336569721430572508630904398358368133300824815236393561976083416326371047093833889360996123287366719610453029413194145938555347467623817652462261453236358838031266644175601897732424676880052005201275070074560691170965616791087567891920003976791802774283823049148361765447645629523729060174473543016604324629310691015526071477640087793821738840569830694913911442519092318869269999886309602930295472643926132574489317632745783297519103086446722950269729162519056737399773858323680380839284263267856069751745887575805909164446282287523260742775043506681695385987735529575483119830358240877342403882585126360129537960410568080145980721307596911212261780371581544781503482326320097565617751322712205059336354074872737432366220577218272092663940150498115182490539134666480291410726037020000496256137127445829745460886081758107775083202488985705652388754130474088755761040218810920843 969387920049915249153262663572704936619442427668359410037169876326672978457284169442665369696550067127687929436195273401585920409383856734163864819165702552545455423963428625086577950189841544499189412483970487951863716678287456740802338179801942962588890425489650494481843787992013109336393950928018395490816280155599222085056370464482703427366797721921894662740589522065612384444994819053009087883683478219101442633722034355372403548449482892074903979788568448932046461364299133806607728115843391502370819098458353095465846455899615268471371725869139652168299100980406697818875610213984651850385986287676862774731251658986115540383364121871811503903721539620300009333352255802265041309262476458957153286330195694267541539727883047421845924101246818212087407673228654401557335740333995380757753474702692602897046340355892389861866841142852144766740415045478185014241283915194001739979789475910207688815895826386332031647025215587884999989596718270035262860695850937945795838332079858658314323807036804336832466888139452187161367041063121537039801734507321671228454575663799499031378192005281674047910286180633562442819058083828901446661115579057380348330340578315514257192372287430304224076973996887846877919018941085815454817185867291240613481724454953251575718570767548403194201041551168863791184204149122556396578262843231399507767044936726955353936650088427562905050887001684460045862218088070185193255657993039239929719936208590951375297153790565806763429798025531638929633597443847695753008430836415916351217481766105210472336989707425059704860627561489981559868038885864142986181097476283433616301551552533692090205844278348659169468666742979310817203030094767439812106878924437524190914725965335702207068811106710896925605310831717404647299804600340527370678504580011036464619970098310729394090301424129180372524073197824837367753591287892103477586109097306510686247998654010521222838466378234323493676288537784506987545701912872490018589186817646035087620373017920623681201158657880429356908953743220918790235803385760792469139611477568179101363231603724715668619145163822995837463226557656883058882884665724461709858124738673523794015351485255431908020708507355892364349254556756795028789750806446266743880545110578586808759913117563872868127430471737000042449622775002555175645090912777137374315803889524132203857928042251862128335457151744502878087225841076745071782095577839805631856783049394800889039273552883209924256429186700890595146410684791938935392132148951094902819359067821498371995601364 1568502602924328536806658564764016587570016139397224044411271519192050042383162880374254162388692888037564461108836192316420111276632921052792387864956349623696298112776901589968609784118502610702859663846008147992637393761279198490102759358446104417527844353409552270302453527444232109882399526086790393430244083196740160606728437637812385042458556190979685456533036134841642033714853579841230286815354324127206656360752287053646274953304320343500681430252262340464676299233229272606052483606578223114289414649211805889425304720071120535892831985018463940842537953142176954094526000416288509393736697773418063569349222279341272780187355409425680779796738084780114863045684104090905381331313338908951704708777155807946192865937946214273956340863337670076975422094663972138732210056867025502150813582572904213873354622701296725190965845307321035569282350965885925131183860259637676298590031272059478597363993010172986704902306451395737830553940685518541798560653075966584261354564969777990461028161113551400119087770822464104758905932746457738620344981221751048296319705024298979871348839087493470840793155164068840652489927193591013263475306490345854845948799969349325702469284027599374158219995425704262003244772780360792147661874138065960075070316270178693852327997837820504831436699175454022783527197654178558708016341300939732701837813900846524638004937733700090621668413569968215481532716156785348938717804315651735547045413401497270420913310876259990796173227704827612581602171171633848911080980455701813028366107395522632907832759189195461932177807373743718993920877353094707913786610031029901077537852956543316050330516386235552506038388173551819448107428453135573112931694160831086166998142291706749300902700467707020212972030442170434060493950538895874838302322232473297917856328936341996038265903321861605049404125203026112437828151979063069094377196665198430690224790456784805045887614739999771139305812266844681461088718517197119329280202343717512727708166839659464251031853571791871876001272612490918676545406316056265113065744052057496734109014901243818755065868114092724999982283295056656917206565046563745973125980808425269681591157394419878190308231768098667407855936252142782764319326289566097102121422452982469393886273247101833278695510617717721350046533987264335547226635694280619700635901455141883526570133101588216203208194584110723455305497933740685222280210760330344766523263340805526926059274049139347051702258932161776676904518459875141424377837801339849033293447823582538590806522207 2537890522974243785959921228336721524189458567065583454448441395518723020840447049816919532085242955165252390545031465718006031686016777786956252684122052176241753536740330215055187734308344155202049076329978635944501110439566655230905097538248047380116734778899202764784297315436245219218793477014808788921060363352339382691784808102295088469825353912901580119273625656907254418159848398894239374699037802346308098994474321409018678501753803235575585410040830789396722760597528406412660211722421614616660233747670158984891151175970735804364203710887603593010837054122583651913401610630273161244122684061094926344080473938327388320570719531297492283700459624400414872379036359893170422640575815367908857995107351502213734405665829261695802264964584488289062829767892626540289545797201020882908567057275596816770400963057189115052832686450173180336022766011364110145425144174831678038569820747969686286179888836559318736549331666983622830543537403788577061421348926904530057192897049636648775351968150355736951554658961916291920272973809579275660146715729072719524774280688098478902727031092775144888703441344702403095308985277419914710136422069403235194279140547664839959661656315029678382296969422592108881163791721446607602479060005357200688552040725131945428046568605368908025637740726622886574711401803301115104594604144171132209604858837573479991941587822127653526719300571652675527394934244855534131973462308690975476765349610088221796210464666825797559603025730359251511235768615481544664089411292117729379583589161627843380169748896620521637038434935233700553788916238958850899967707507313334693839404509077008140536360664584211675507054916531130265310458547903012925038573085268610357912868257042451507971511574417917138577341273887838707793755139236402208980826812484334382476299034652725432356204745990785421928198400850949805581743266955172571963305762504941376472789110795326268726081118234094632982100804629188448634420430069609347869389161363547815328539857580087932233012229672301232910226355711837466781209701817057582205355529625675835472246504968534423685013277915720837445509852713539976089449712288207682984105547098793475606508879675310098328940275454559772205190808899577793109077096012363846001967563561056202646186364665706146822941089454721392496156762266890722871726607057757074951705344666015730428061143840078331543651735855226333392723774817430294062306338170150398380046390200327815098547602022556975958688118862667272050929144667080359769969950290943936112806891404036962802123571 4106393125898572322766579793100738111759474706462807498859712914710773063223609930191173694473935843202816851653867658034426142962649698839748640549078401799938051649517231805023797518426846765904908740175986783937138504200845853721007856896694151797644579132308755035086750842880477329101193003101599182351304446549079543298513245740107473512283910103881265575806661791748896451874701978735469661514392126473514755355226608462664953455058123579076266840293093129861399059830757679018712695328999837730949648396881964874316455896041856340257035695906067533853375007264760606007927611046561670637859381834512989913429696217668661100758074940723173063497197709180529735424720463984075803971889154276860562703884507310159927271603775475969758605827922158366038251862556598679021755854068046385059380639848501030643755585758485840243798531757494215905305116977250035276609004434469354337159852020029164883543881846732305441451638118379360661097478089307118859982002002871114318547462019414639236380129263907137070642429784380396679178906556037014280491696950823767821093985712397458774075870180268615729496596508771243747798912471010927973611728559749090040227940517014165662130940342629052540516964848296370884408564501807399750140934143423160763622356995310639280374566443189412857074439902076909358238599457479673812610945445110864911442672738420004629946525555827744148387714141620891008927650401640883070691266624342711023810763011585492217123775543085788355776253435186864092837939787115393575170391747819542407949696557150476288002508085815983569216242308977419547709793592053558813754317538343235771377257465620324190866877050819764181545443090082949713417887001038586037970267246099696524911010548749200808874212042124937351549371716058272768287705678132277047283149044957632300332627970994721470622108067852390471332323603877062243409895246018241666340502427703372066697579567580131314613695858233865772287913071473869909723138947266728677149591505081060543036706697239552183264865801464173108911498968202756143326616017873322695271099581683172569581261406212353178750881392008445837427793147770196893296014758851953656110086355524063157197666274095188288637172043553227180061127061042360557428403385578460948123390016543525596532459611767539425518451707172442742542690749531226270098362301338376775587606799807899256998194245428294534751846319965949788698221708558115516342517098500495164903309731005854741157821651161904027660947051024443948955447604542221784147807751630792969406254714986575553608645778 6644283648872816108726501021437459635948933273528390953308154310229496084064056980008093226559178798368069242198899123752432174648666476626704893233200453976179805186257562020078985252735190921106957816505965419881639614640412508951912954434942199177761313911207957799871048158316722548319986480116407971272364809901418925990298053842402561982109264016782845695080287448656150870034550377629709036213429928819822854349700929871683631956811926814651852250333923919258121820428286085431372907051421452347609882144552123859207607072012592144621239406793671126864212061387344257921329221676834831881982065895607916257510170155996049421328794472020665347197657333580944607803756823877246226612464969644769420698991858812373661677269604737665560870792506646655101081630449225219311301651269067267967947697124097847414156548815674955296631218207667396241327882988614145422034148609301032375729672767998851169723770683291624178000969785362983491641015493095695921403350929775644375740359069051288011732097414262874022197088746296688599451880365616289940638412679896487345868266400495937676802901273043760618200037853473646843107897748430842683748150629152325234507081064679005621792596657658730922813934270888479765572356223254007352619994148780361452174397720442584708421135048558320882712180628699795932950001260780788917205549589281997121047531575993484621888113377955397675107014713273566536322584646496417202664728933033686500576112621673714013334240209911585915379279165546115604073708402596938239259803039937271787533285718778319668172256982436505206254677244211120101498709831012409713722025045656570465216661974697332331403237715403975857052498006614079978728345548941598963008840331368306882823878805791652316845723616542854490126712989946111476081460817368679256263975857441966682808927005647446902978312813843175893260522004728012048991638512973414238303808190208313443170368678375457583339776976467960405270013876103058358357559377336338025018980666444608358365246554819640115497878031136474341821725323914593610107825719690380277476455111308848405053507911180887602435894669924166674873303000483736869385464471140161339094191902622856632804175153770498386966112319007786952266317869941938350537480481590824794125357580104581799178645976433245572341392796627164135038847511798116992970088908396133850539312144473914987426255389268372866295498055821176122090945483375545810404823436670645563283356121206182556256369253184461003619635169887111221006376749209302143917777701921736905519061606390612516410769349 10750676774771388431493080814538197747708407979991198452167867224940269147287666910199266921033114641570886093852766781786858317611316175466453533782278855776117856835774793825102782771162037687011866556681952203818778118841258362672920811331636350975405893043516712834957799001197199877421179483218007153623669256450498469288811299582510035494393174120664111270886949240405047321909252356365178697727822055293337609704927538334348585411870050393728119090627017049119520880259043764450085602380421290078559530541434088733524062968054448484878275102699738660717587068652104863929256832723396502519841447730120906170939866373664710522086869412743838410694855042761474343228477287861322030584354123921629983402876366122533588948873380213635319476620428805021139333493005823898333057505337113653027328336972598878057912134574160795540429749965161612146632999965864180698643153043770386712889524788028016053267652530023929619452607903742344152738493582402814781385352932646758694287821088465927248112226678170011092839518530677085278630786921653304221130109630720255166962252112893396450878771453312376347696634362244890590906810219441770657359879188901415274735021581693171283923537000287783463330899119184850649980920725061407102760928292203522215796754715753223988795701491747733739786620530776705291188600718260462729816495034392862032490204314413489251834638933783141823494728854894457545250235048137300273355995557376397524386875633259206230458015752997374271155532600732979696911648189712331814430194787756814195482982275928795956174765068252488775470919553188539649208503423065968527476342583999806236593919440317656522270114766223740038597941096697029692146232549980185000979107577468003407734889354540853125719935658667791841676084706004384244369166495500956303547124902399598983141554976642168373600420881695566364592845608605074292401533758991655904644310617911685509867948245955588897953472834701826177557926947576928268080698324603066702168572171525668901401953252059192298762743832600647450733224292117349753434441737563702972747554692992020974634769317393240781186776061932612512301096148253933762681479229992114995204278258146919790001841427865686675603284362561014132327444930984298907965883867169285742248747596648107395711105588200784997859844503799606877581538261329343263068451209734510626126918944281814244424449634696667401047344375787125910789167191933661326747340535171140728186665852212037297414190904346365031280582220911555169961824353751523928065585453552529874925316321377188070019415127 17394960423644204540219581835975657383657341253519589405476021535169765231351723890207360147592293439938955336051665905539290492259982652093158427015479309752297662022032355845181768023897228608118824373187917623700417733481670871624833765766578550153167206954724670634828847159513922425741165963334415124896034066351917395279109353424912597476502438137446956965967236689061198191943802733994887733941251984113160464054628468206032217368681977208379971340960940968377642700687329849881458509431842742426169412685986212592731670040067040629499514509493409787581799130039449121850586054400231334401823513625728822428450036529660759943415663884764503757892512376342418951032234111738568257196819093566399404101868224934907250626142984951300880347412935451676240415123455049117644359156606180920995276034096696725472068683389835750837060968172829008387960882954478326120677301653071419088619197556026867222991423213315553797453577689105327644379509075498510702788703862422403070028180157517215259844324092432885115036607276973773878082667287269594161768522310616742512830518513389334127681672726356136965896672215718537434014707967872613341108029818053740509242102646372176905716133657946514386144833390073330415553276948315414455380922440983883667971152436195808697216836540306054622498801159476501224138601979041251647022044623674859153537735890406973873722752311738539498601743568168024081572819694633717476020724490410084024962988254932920243792255962908960186534811766279095300985356592309270053689997827694085983016267994707115624347022050688993981725596797399659750707213254078378241198367629656376701810581415014988853673352481627715895650439103311109670874578098921783963987947908836310290558768160332505442565659275210646331802797695950495720450627312869635559811100759841565665950481982289615276578733695538742257853367613333086341393172271965070142948118808119998953038316924331046481293249811169786582827940823679986626438257701939404727187552837970277259767199806878832414260621863737121792554949616031943363542267457254083250224009804300869379688277228574128383622670731856779187174399148737670632066943701132276334298470160769776422806016581636185062569396681568801084593762800926237258503364348760110536374105176752689194889751564634030570201237300426771012620385773127460256038540118130644476666231088755729231850705023965040267342842431608302032880112675309207137152163971841786291470021973418219853670560157530826034900217390798666390968201102960826071983363155474266780444377927767800586430184476 28145637198415592971712662650513855131365749233510787857643888760110034378639390800406627068625408081509841429904432687326148809871298827559611960797758165528415518857807149670284550795059266295130690929869869827519195852322929234297754577098214901128573099998241383469786646160711122303162345446552422278519703322802415864567920653007422632970895612258111068236854185929466245513853055090360066431669074039406498073759556006540380802780552027602108090431587958017497163580946373614331544111812264032504728943227420301326255733008121489114377789612193148448299386198691553985779842887123627836921664961355849728599389902903325470465502533297508342168587367419103893294260711399599890287781173217488029387504744591057440839575016365164936199824033364256697379748616460873015977416661943294574022604371069295603529980817963996546377490718137990620534593882920342506819320454696841805801508722344054883276259075743339483416906185592847671797118002657901325484174056795069161764316001245983142507956550770602896207876125807650859156713454208922898382898631941336997679792770626282730578560444179668513313593306577963428024921518187314383998467909006955155783977124228065348189639670658234297849475732509258181065534197673376821558141850733187405883767907151949032686012538032053788362285421690253206515327202697301714376838539658067721186027940204820463125557391245521681322096472423062481626823054742771017749376720047786481549349863888192126474250271715906334457690344367012074997897004782021601868120192615450900178499250270635911580521787118941482757196516350588199399915716677144346768674710213656182938404500855332645375943467247851455934248380200008139363020810648901968964967055486304313698293657514873358568285594933878438173478882401954879964819793808370591863358225662241164649092036958931783650179154577234308622446213221938160633794706030956726047592429426031684462906265170286635379246722645871612760385867771256914894518956026542471429356125009495946161169153058938024713023365696337769243288173908149293116976709194817786222971564497292890354323046545967369164809446793789391699475495296991604394748422931124391329502748418916696212807858009501871738172681044129815216921207731910536166469248215929396278622852773400796590600857152834815568061081804226377890201924034456803519106991327865155102793150033037543476275154658661707668390186807395427943669279867242868463899504507012927019656687825630257151084751061877191066180799611710221560930025456712350000048948609026796655369694249144988656449599603 45540597622059797511932244486489512515023090487030377263119910295279799609991114690613987216217701521448796765956098592865439302131281479652770387813237475280713180879839505515466318818956494903249515303057787451219613585804600105922588342864793451281740306952966054104615493320225044728903511409886837403415737389154333259847030006432335230447398050395558025202821422618527443705796857824354954165610326023519658537814184474746413020149234004810488061772548898985874806281633703464213002621244106774930898355913406513918987403048188529743877304121686558235881185328731003107630428941523859171323488474981578551027839939432986230408918197182272845926479879795446312245292945511338458544977992311054428791606612815992348090201159350116237080171446299708373620163739915922133621775818549475495017880405165992329002049501353832297214551686310819628922554765874820832939997756349913224890127919900081750499250498956655037214359763281952999441497511733399836186962760657491564834344181403500357767800874863035781322912733084624633034796121496192492544667154251953740192623289139672064706242116906024650279489978793681965458936226155186997339575938825008896293219226874437525095355804316180812235620565899331511481087474621692236013522773174171289551739059588144841383229374572359842984784222849729707739465804676342966023860584281742580339565676095227436999280143557260220820698215991230505708395874437404735225397444538196565574312852143125046718042527678815294644225156133291170298882361374330871921810190443144986161515518265343027204868809169630476738922113147987859150622929931222725009873077843312559640215082270347634229616819729479171829898819303319249033895388747823752928955003395140623988852425675205864010851254209089084505281680097905375685270421121240227423169326422082730315042518941221398926757888272773050880299580835271246975187878302921796190540548234151683415944582094617681860539972457041399343213808594936901520957213728481876156543677847466223420936352865816857127283987560074891035843123524181236480518976652071869473195574301593759734011323774541497548432117525646170886649894445729275026815366632256667663801218579686472635613874591138056800742077725698616301514970532836773424972612564689506814996957950153485785490608717468846138262319104653148902822309807584263775145531445995799579459381121793272708125859682626747935733029239003729976549392542552075601051668478854713311126709799048477004755311219408017101081017002508887951898226559673176072032311764501063435814072176912789242879784079 73686234820475390483644907137003367646388839720541165120763799055389833988630505491020614284843109602958638195860531280191588112002580307212382348610995640809128699737646655185750869614015761198380206232927657278738809438127529340220342919963008352410313406951207437574402139480936167032065856856439259681935440711956749124414950659439757863418293662653669093439675608547993689219649912914715020597279400062926156611573740481286793822929786032412596152204136857003371969862580077078544546733056370807435627299140826815245243136056310018858255093733879706684180571527422557093410271828647487008245153436337428279627229842336311700874420730479781188095067247214550205539553656910938348832759165528542458179111357407049788929776175715281173279995479663965070999912356376795149599192480492770069040484776235287932532030319317828843592042404448810249457148648795163339759318211046755030691636642244136633775509574699994520631265948874800671238615514391301161671136817452560726598660182649483500275757425633638677530788858892275492191509575705115390927565786193290737872416059765954795284802561085693163593083285371645393483857744342501381338043847831964052077196351102502873284995474974415110085096298408589692546621672295069057571664623907358695435506966740093874069241912604413631347069644539982914254793007373644680400699123939810301525593616300047900124837534802781902142794688414292987335218929180175752974774164585983047123662716031317173192292799394721629101915500500303245296779366156352473789930383058595886340014768535978938785390596288571959496118629498576058550538646608367071778547788056968742578619583125680279605560286977330627764147199503327388396916199396725721893922058881444937687146083190079222579136849142967522678760562499860255650090214929610819286527552084323894964134555900153182576937042850007359502745794057209407608982584333878522238132977660183367878850847264904317239786695102913012103599676366193816415476169755024347585899802856962169582105505924754881840307353256412660279131297432330529597495685846889655696167138798886650088334370320508866713241564319435562586125389742720879421563789563381058993303966998603168848421732600639928538914758769828431518436178264747309591441860780618903093619810723554282376091465870303661706323400908879526793024233842041067294252522773860954682252531154830816184401014341288455604123216046399157920218672409794944064951172985867640330783397624678734155840062281285208167261816614219109512828252016385526072081260373527860091183766426057777899329383682 119226832442535187995577151623492880161411930207571542383883709350669633598621620181634601501060811124407434961816629873057027414133861786865152736424233116089841880617486160701217188432972256101629721535985444729958423023932129446142931262827801803692053713904173491679017632801161211760969368266326097085351178101111082384261980665872093093865691713049227118642497031166521132925446770739069974762889726086445815149387924956033206843079020037223084213976685755989246776144213780542757549354300477582366525655054233329164230539104498548602132397855566264920061756856153560201040700770171346179568641911319006830655069781769297931283338927662054034021547127009996517784846602422276807377737157839596886970717970223042137019977335065397410360166925963673444620076096292717283220968299042245564058365181401280261534079820671661140806594090759629878379703414669984172699315967396668255581764562144218384274760073656649557845625712156753670680113026124700997858099578110052291433004364052983858043558300496674458853701591976900125226305697201307883472232940445244478065039348905626859991044677991717813872573264165327358942793970497688378677619786656972948370415577976940398380351279290595922320716864307921204027709146916761293585187397081529984987246026328238715452471287176773474331853867389712621994258812049987646424559708221552881865159292395275337124117678360042122963492904405523493043614803617580488200171609124179612697975568174442219910335327073536923746140656633594415595661727530683345711740573501740872501530286801321965990259405458202436235040742646563917701161576539589796788420865900281302218834665396027913835177106706809799594046018806646637430811588144549474822877062276585561675998508865285086589988103352056607184042242597765631335360636050851046709696878506406625279177074841374581503694931122780410383045374892480654584170462636800318428673525894335051294795429359521999100326667559954411446813484961130717936433383483506223742443480704428393003041858790571738967591340816487551314974420956511766078014662498961525169362713100480409822345694095050364261673681845081733472775284188450154448379156195637726657105185578289641484035607191777985339656836495527047819951148797584083016414473345308409908616768673707768161582074587772507844585720013532675695846543649625331069398054219856754261711912276624088892526874023915203539856245285402887896768064952347019666002841464722353641910107423727211160595373500693225268342833616727997464726478576058702144113572138028923526997838602970567142209167761 192913067263010578479222058760496247807800769928112707504647508406059467587252125672655215785903920727366073157677161153248615526136442094077535085035228756898970580355132815886968058046988017300009927768913102008697232462059658786363274182790810156102367120855380929253419772282097378793035225122765356767286618813067831508676931325311850957283985375702896212082172639714514822145096683653784995360169126149371971760961665437320000666008806069635680366180822612992618746006793857621302096087356848389802152954195060144409473675160808567460387491589445971604242328383576117294450972598818833187813795347656435110282299624105609632157759658141835222116614374224546723324400259333215156210496323368139345149829327630091925949753510780678583640162405627638515619988452669512432820160779535015633098849957636568194066110139989489984398636495208440127836852063465147512458634178443423286273401204388355018050269648356644078476891661031554341918728540516002159529236395562613018031664546702467358319315726130313136384490450869175617417815272906423274399798726638535215937455408671581655275847239077410977465656549536972752426651714840189760015663634488937000447611929079443271665346754265011032405813162716510896574330819211830351156852020988888680422752993068332589521713199781187105678923511929695536249051819423632326825258832161363183390752908695323237248955213162824025106287592819816480378833732797756241174945773710162659821638284205759393102628126468258552848056157133897660892441093687035819501670956560336758841545055337300904775650001746774395731159372145139976251700223147956868566968653957250044797454248521708193440737393684140427358193218309974025827727787541275196716799121158030499363144592055364309169124952495024129862802805097625886985450850980461865996224430590730520243311630741527764080631973972787769885791168949690062193153046970678840666806503554518419173646276624426316340113362662867423550413161327324534351909553238530571328343283561390562585147364715326620807898694072900211594105718388842295675510348345851180865529851899367059910680064415559230974915246164517296058900673931171033869942945759018785650409152576892810332457339792417913878571595265355479338387327062331392607856334125927313002236579397262050537673540458076169550909120922412202488870777491666398363650576993717708943964443431454905076927888365203659143979461331802045816986737362141963730954014450589993972693505048405945316435435781978433435604650230947106977554730592444228216194832511556783618181605029028345041538551443 312139899705545766474799210383989127969212700135684249888531217756729101185873745854289817286964731851773508119493791026305642940270303880942687821459461872988812460972618976588185246479960273401639649304898546738655655485991788232506205445618611959794420834759554420932437405083258590554004593389091453852637796914178913892938911991183944051149677088752123330724669670881035955070543454392854970123058852235817786910349590393353207509087826106858764580157508368981865522151007638164059645441657325972168678609249293473573704214265307116062519889445012236524304085239729677495491673368990179367382437258975441940937369405874907563441098585803889256138161501234543241109246861755491963588233481207736232120547297853134062969730845846075994000329331591311960240064548962229716041129078577261197157215139037848455600189960661151125205230585968070006216555478135131685157950145840091541855165766532573402325029722013293636322517373188308012598841566640703157387335973672665309464668910755451216362874026626987595238192042846075742644120970107731157872031667083779694002494757577208515266891917069128791338229813702300111369445685337878138693283421145909948818027507056383670045698033555606954726530027024432100602039966128591644742039418070418665409999019396571304974184486957960580010777379319408158243310631473619973249818540382916065255912201090598574373072891522866148069780497225339973422448536415336729375117382834342272519613852380201613012963453541795476594196813767492076488102821217719165213411530062077631343075342138622870765909407204976831966200114791703893952861799687546665355389519857531347016288913917736107275914500390950226952239237116620663258539375685824671539676183434616061039143100920649395759113055847080737046845047695391518320811487031312912705921309097137145522488705582902345584326905095568180268836543842170716777323509607479159095480029448853470468441705983948315440440030222821834997226646288455252288342936722036795070786764265818955588189223505898359775490034889387762909080139345354061753525010844812706034892564999847469733025758510609595236588928009599029531675958119621188318322101954656512307514338155182451816492946984195899218228431760882527158338475859915475624270807471235722910853348070969818699255615045848677395494840935944878184717321141291729433048631213574463205676355708078993969454762389118862683835706617204933713754802314488983396956855915312347614603612472133156477030809282671658703947483847675104442281209168502930360308404649585707145179443631998912183747719204 505052966968556344954021269144485375777013470063796957393178726162788568773125871526945033072868652579139581277170952179554258466406745975020222906494690629887783041327751792475153304526948290701649577073811648747352887948051447018869479628409422115896787955614935350185857177365355969347039818511856810619924415727246745401615843316495795008433662464455019542806842310595550777215640138046639965483227978385189758671311255830673208175096632176494444946338330981974484268157801495785361741529014174361970831563444353617983177889426115683522907381034458208128546413623305794789942645967809012555196232606631877051219669029980517195598858243945724478254775875459089964433647121088707119798729804575875577270376625483225988919484356626754577640491737218950475860053001631742148861289858112276830256065096674416649666300100650641109603867081176510134053407541600279197616584324283514828128566970920928420375299370369937714799409034219862354517570107156705316916572369235278327496333457457918574682189752757300731622682493715251360061936243014154432271830393722314909939950166248790170542739156146539768803886363239272863796097400178067898708947055634846949265639436135826941711044787820617987132343189740942997176370785340421995898891439059307345832752012464903894495897686739147685689700891249103694492362450897252300075077372544279248646665109785921811622028104685690173176068090045156453801282269213092970550063156544504932341252136585961006115591580010054029442252970901389737380543914904754984715082486622414390184620397475923775541559408951751227697359486936843870204562022835503533922358173814781391813743162439444300716651894075090654310432455426594689086267163227099868256475304592646560402287692976013704928238008342104866909647852793017405306262338011774778702145739687867665765800336324430109664958879068355950154627712791860778970476556578157999762286533003371889642087982608374631780553392885689258547639807615779786640252489960567366399130047827209518173336588221224980583388728962287974503185857734196357429035359190663886900422416899214529643705822926168826211504174174116325590576632050792222188265047713675297957923490732075262148950286776613813096800027026238006496725802922246868232127141597163035913089927468231869236929155503924846946403961858357080673588098632958127796699208207292172149640799139533899046382650754322521827815167949006979530741539676630947127910870365902341587297117520539101793466245064650092139552134078622211419835939760947158576503237161142490763361048661027257225286270647 817192866674102111428820479528474503746226170199481207281709943919517669958999617381234850359833384430913089396664743205859901406677049855962910727954152502876595502300370769063338551006908564103289226378710195486008543434043235251375685074028034075691208790374489771118294582448614559901044411900948264472562212641425659294554755307679739059583339553207142873531511981476586732286183592439494935606286830621007545581660846224026415684184458283353209526495839350956349790308809133949421386970671500334139510172693647091556882103691422799585427270479470444652850498863035472285434319336799191922578669865607318992157038435855424759039956829749613734392937376693633205542893982844199083386963285783611809390923923336360051889215202472830571640821068810262436100117550593971864902418936689538027413280235712265105266490061311792234809097667144580140269963019735410882774534470123606369983732737453501822700329092383231351121926407408170367116411673797408474303908342907943636961002368213369791045063779384288326860874536561327102706057213121885590143862060806094603942444923825998685809631073215668560142116176941572975165543085515946037402230476780756898083666943192210611756742821376224941858873216765375097778410751469013640640930857129726011242751031861475199470082173697108265700478270568511852735673082370872273324895912927195313902577310876520385995100996208556321245848587270496427223730805628429699925180539378847204860865988966162619128555033551849506036449784668881813868646736122474149928494016684492021527695739614546646307468816156728059663559601728547764157423822523050199277747693672312738830032076357180407992566394466040881262671692543215352344806538912924539796151488027262621441430793896663100687351064189185603956492900488408923627073825043087691408067048785004811288289041907332455249285784163924130423464256634031495747800066185637158857766562452225360110529688592322947220993423108511093544866453904235038928595426682604161469916812093028473761525811727123340358878763851675737412265997079550419182560370035476592935314981899061999376731581436778421448093102183715355122252590170413410506587149668331810265437828887257713965443233760809712315028458787120533655064278782162343856397949068398758823943275539201687936184770549773524341898802794301958858305419774249857229747839420866635355317154847612893015837413143441384511650874566211913244496341991119930524867726281214689201900729992672258270497054347321750843499617926297315862117148929450088936811641810728197908540492293026169409033989851 1322245833642658456382841748672959879523239640263278164674888670082306238732125488908179883432702037010052670673835695385414159873083795830983133634448843132764378543628122561538491855533856854804938803452521844233361431382094682270245164702437456191587996745989425121304151759813970529248084230412805075092486628368672404696170598624175534068017002017662162416338354292072137509501823730486134901089514809006197304252972102054699623859281090459847654472834170332930834058466610629734783128499685674696110341736138000709540059993117538483108334651513928652781396912486341267075376965304608204477774902472239196043376707465835941954638815073695338212647713252152723169976541103932906203185693090359487386661300548819586040808699559099585149281312806029212911960170552225714013763708794801814857669345332386681754932790161962433344412964748321090274323370561335690080391118794407121198112299708374430243075628462753169065921335441628032721633981780954113791220480712143221964457335825671288365727253532141589058483557030276578462767993456136040022415692454528409513882395090074788856352370229362208328946002540180845838961640485694013936111177532415603847349306379328037553467787609196842928991216406506318094954781536809435636539822296189033357075503044326379093965979860436255951390179161817615547228035533268124573399973285471474562549242420662442197617129100894246494421916677315652881025013074841522670475243695923352137202118125552123625244146613561903535478702755570271551249190651027229134643576503306906411712316137090470421849028225108479287360919088665391634361985845358553733200105867487094130643775238796624708709218288541131535573104147969810041431073702140024408052626792619909181843718486872676805615589072531290470866140753281426328933336163054862470110212788472872477054089378231762564914244663232280080578091969425892274718276622763795158620053095455597249752617671200697579001546815994200352092506261520014825568847916643171527869046859920237991934862399948348320942267492813963711915451854813746776611595729226140479835737398798276529020437404362947247659597276357831680712829222221205632694852197382007108223361319619332976114393520537423525411828485813358540151790081704409212088525090665561794737033203007433557173113926053698371288302764652659039531893518407207985026447047628158807504957953987146792062220063897763906339466042515218892775237881667750877652778596647117030789197847513211360063963299411971842983051752004919527281953088690397247513314878971870688671901540954053426634320260498 2139438700316760567811662228201434383269465810462759371956598614001823908691125106289414733792535421440965760070500438591274061279760845686946044362402995635640974045928493330601830406540765418908228029831232039719369974816137917521620849776465490267279205536363914892422446342262585089149128642313753339565048841010098063990725353931855273127600341570869305289869866273548724241788007322925629836695801639627204849834632948278726039543465548743200863999330009683887183848775419763684204515470357175030249851908831647801096942096808961282693761921993399097434247411349376739360811284641407396400353572337846515035533745901691366713678771903444951947040650628846356375519435086777105286572656376143099196052224472155946092697914761572415720922133874839475348060288102819685878666127731491352885082625568098946860199280223274225579222062415465670414593333581071100963165653264530727568096032445827932065775957555136400417043261849036203088750393454751522265524389055051165601418338193884658156772317311525877385344431566837905565474050669257925612559554515334504117824840013900787542162001302577876889088118717122418814127183571209959973513408009196360745432973322520248165224530430573067870850089623271693192733192288278449277180753153318759368318254076187854293436062034133364217090657432386127399963708615638996846724869198398669876451819731538962583612230097102802815667765264586149308248743880469952370400424235302199342062984114518286244372701647113753041515152540239153365117837387149703284572070519991398433240011876705017068156497041265207347024478690393939398519409667881603932477853561159406869473807315153805116701784683007172416835775840513025393775880241052948947848778280647171803285149280769339906302940136720476074822633653769835252560409988097950161518279837257877288342378420139095020163530447396204211001556226059923770466076688949432317477819657907822609863147359793020526222540239102711445637372715424249864497443343325775689338963672013266465696388211675471661301146256665639449327717851893297195794156099261617072771052380697338528397168985799725669107690378541547035835081812391619043201439347050338918488799148506590690079836754298233237726856944600479073806854360486571555944923039733960553560976478546635245109298696603471895630201567446960998390198938181457842256194887049025442860275108834759685078057477041205290851116917081430806019734223658870808177646322928331719991098577505883618334460353759293593826551369931216843144070237619847336450126520782598886580442033247079596043354250349 3461684533959419024194503976874394262792705450726037536631487284084130147423250595197594617225237458451018430744336133976688221152844641517929177996851838768405352589556615892140322262074622273713166833283753883952731406198232599791866014478902946458867202282353340013726598102076555618397212872726558414657535469378770468686895952556030807195617343588531467706208220565620861751289831053411764737785316448633402154087605050333425663402746639203048518472164180016818017907242030393418987643970042849726360193644969648510637002089926499765802096573507327750215644323835718006436188249946015600878128474810085711078910453367527308668317586977140290159688363880999079545495976190710011489758349466502586582713525020975532133506614320672000870203446680868688260020458655045399892429836526293167742751970900485628615132070385236658923635027163786760688916704142406791043556772058937848766208332154202362308851586017889569482964597290664235810384375235705636056744869767194387565875674019555946522499570843667466443827988597114484028242044125393965634975246969862913631707235103975576398514371531940085218034121257303264653088824056903973909624585541611964592782279701848285718692318039769910799841306029778011287687973825087884913720575449507792725393757120514233387402041894569620168480836594203742947191744148907121420124842483870144439001062152201404781229359197997049310089681941901802189273756955311475040875667931225551479265102240070409869616848260675656576993855295809424916367028038176932419215647023298304844952328013795487490005525266373686634385397779059331032881395513240157665677959428646501000117582553950429825411002971548303952408879988482835435206953943192973355901405073267080985128867767642016711918529209251766545688774407051261581493746151152812631628492625730749765396467798370857585077775110628484291579648195485816045184353311713227476097872753363419859615765030993718105224087055096911797729878976944264690066291259968947217208010531933504457631250611623819982243413749479603161243169706707043972405751828487757552606789779495615057417606390162672916767287654899378716547911034612824675896291544432346026712160468125923666194230274835656763138685430413837613958644442190980768033448130399522348298009681554068802282412622657170266918504332099620037922092456588665827282641934677184250365233062821906477140277540938969197190582959596649698794972105326621685830424919575448750780296425019094978398423653171265436809603121936136370426023326310244583963441399754469575252343574201133022677674510847 5601123234276179592006166205075828646062171261188796908588085898085954056114375701487009351017772879891984190814836572567962282432605487204875222359254834404046326635485109222742152668615387692621394863114985923672101381014370517313486864255368436726146407818717254906149044444339140707546341515040311754222584310388868532677621306487886080323217685159400772996078086839169585993077838376337394574481118088260607003922237998612151702946212187946249382471494189700705201756017450157103192159440400024756610045553801296311733944186735461048495858495500726847649891735185094745796999534587422997278482047147932226114444199269218675381996358880585242106729014509845435921015411277487116776331005842645685778765749493131478226204529082244416591125580555708163608080746757865085771095964257784520627834596468584575475331350608510884502857089579252431103510037723477892006722425323468576334304364600030294374627543573025969900007859139700438899134768690457158322269258822245553167294012213440604679271888155193343829172420163952389593716094794651891247534801485197417749532075117876363940676372834517962107122239974425683467216007628113933883137993550808325338215253024368533883916848470342978670691395653049704480421166113366334190901328602826552093712011196702087680838103928702984385571494026589870347155452764546118266849711682268814315452881883740367364841589295099852125757447206487951497522500835781427411276092166527750821328086354588696113989549907789409618509007836048578281484865425326635703787717543289703278192339890500504558162022307638893981409876469453270431400805181121761598155812989805907869591389869104234942112787654555476369244655828995860828982834184245922303750183353914252788414017048411356618221469345972242620511408060821096834054156139250762793146772462988627053738846218509952605241305558024688502581204421545739815650430000662659793575692411271242469478912390786738631446627294199623243367251692368514554563734603294722906546974203946770923327638823299291643544560006145242610570887558600341168199907927749374625377842160192953585814775375962398585874978033440925752382992847004443719097730891482684945200959616632514356274067029133890000865542375014316687765498802677552323978371170133482901858986160100704047391711319260642162548705899546581036312291394770123669538836821726209693225508171656666162218335017980174488041699876678080504814706328985492494008071242503780470771395002524978596732884006930559030636154491867353213570093563930091920413567920537068461832785607448212618721028761196 9062807768235598616200670181950222908854876711914834445219573182170084203537626296684603968243010338343002621559172706544650503585450128722804400356106673172451679225041725114882474930690009966334561696398739807624832787212603117105352878734271383185013610101070594919875642546415696325943554387766870168880119779767639001364517259043916887518835028747932240702286307404790447744367669429749159312266434536894009158009843048945577366348958827149297900943658369717523219663259480550522179803410442874482970239198770944822370946276661960814297955069008054597865536059020812752233187784533438598156610521958017937193354652636745984050313945857725532266417378390844515466511387468197128266089355309148272361479274514107010359711143402916417461329027236576851868101205412910485663525800784077688370586567369070204090463420993747543426492116743039191792426741865884683050279197382406425100512696754232656683479129590915539382972456430364674709519143926162794379014128589439940733169686232996551201771458998860810273000408761066873621958138920045856882510048455060331381239310221851940339190744366458047325156361231728948120304831685017907792762579092420289930997532726216819602609166510112889470532701682827715768109139938454219104621904052334344819105768317216321068240145823272604554052330620793613294347196913453239686974554166138958754453944035941772146070948493096901435847129148389753686796257791092902452151760097753302300593188594659105983606398168465066195502863131858003197851893463503568123003364566588008123144667904295992048167547574012580615795274248512601464282200694361919263833772418452408869708972423054664767523790626103780321653535817478696264189788127438895659651588427181333773542884816053373330139998555224009166200182467872358415547902290403575424775265088719376819135314016880810190319080668653172794160852617031555860834783312375887269673565164634662329094677421780456736670714349296535041097130669312779244630025863263670123754984735880275380958889434923111625787973755624845771814057265307385140605659756237132177984631939688568643232381766125071502642265688340304468930903881617268394994022435915030971913120084758438022468297303969546764004227805428154301724143244868533092011819300533005250156995841654772849674123941917812429467210231646201074234383851358789496821478756403393943590741234478572639358612558919143685232282836274730203609678434312114179838496162079229221551691427544073575131307660101824467445757613803489583996116890240336504377009320291538037085129181649345641398703272043 14663931002511778208206836387026051554917047973103631353807659080256038259652001998171613319260783218234986812374009279112612786018055615927679622715361507576498005860526834337624627599305397658955956559513725731296934168226973634418839742989639819911160017919787849826024686990754837033489895902807181923102704090156507534042138565531802967842052713907333013698364394243960033737445507806086553886747552625154616161932081047557729069295171015095547283415152559418228421419276930707625371962850842899239580284752572241134104890463397421862793813564508781445515427794205907498030187319120861595435092569105950163307798851905964659432310304738310774373146392900689951387526798745684245042420361151793958140245024007238488585915672485160834052454607792285015476181952170775571434621765041862208998421163837654779565794771602258427929349206322291622895936779589362575057001622705875001434817061354262951058106673163941509282980315570065113608653912616619952701283387411685493900463698446437155881043347154054154102172828925019263215674233714697748130044849940257749130771385339728304279867117200976009432278601206154631587520839313131841675900572643228615269212785750585353486526014980455868141224097335877420248530306051820553295523232655160896912817779513918408749078249751975588939623824647383483641502649677999357953824265848407773069906825919682139510912537788196753561604576354877705184318758626874329863427852264281053121921274949247802097595948076254475814011870967906581479336758888830203826791082109877711401337007794796496606329569881651474597205150717965871895683005875483680861989585408258316739300362292158899709636578280659256690898191646474557093172622311684817963401771781095586561956901864464729948361467901196251786711590528693455249602058429654338217922037551708003872874160235390762795560386226677861296742057038577295676485213313038547063249257575905904798573589812567195368117341643496158284464382361681293799193760466558393030301958939827046304286528258222403269332533761770088382384944823907726308805567683986506803362474099881522229047157142087470088517243721781230221313896728621712114091753327397715917114079701390952378742364333103436764869770180442470989489642047546085415990190470666488152015982001755476897065835261178454592015916131192782110546675246128913166360315578129603636816249406135238801576947576899318173273982712952810708424384763297606673846567404583009692323086430069052171864191667032383498081912105670842797566210454170428424790577240828606498917914789097558260119732033239 23726738770747376824407506568976274463771924685018465799027232262426122463189628294856217287503793556577989433933181985657263289603505744650484023071468180748949685085568559452507102529995407625290518255912465538921766955439576751524192621723911203096173628020858444745900329537170533359433450290574052091982823869924146535406655824575719855360887742655265254400650701648750481481813177235835713199013987162048625319941924096503306435644129842244845184358810929135751641082536411258147551766261285773722550523951343185956475836740059382677091768633516836043380963853226720250263375103654300193591703091063968100501153504542710643482624250596036306639563771291534466854038186213881373308509716460942230501724298521345498945626815888077251513783635028861867344283157583686057098147565825939897369007731206724983656258192596005971355841323065330814688363521455247258107280820088281426535329758108495607741585802754857048665952772000429788318173056542782747080297516001125434633633384679433707082814806152914964375173237686086136837632372634743605012554898395318080512010695561580244619057861567434056757434962437883579707825670998149749468663151735648905200210318476802173089135181490568757611756799018705136016639445990274772400145136707495241731923547831134729817318395575248193493676155268177096935849846591452597640798820014546731824360769955623911656983486281293654997451705503267458871115016417967232315579612362034355422514463543906908081202346244719542009514734099764584677188652352333771949794446676465719524481675699092488654497117455664055213000424966478473359965206569845600125823357826710725609009334715213564477160368906763037012551727463953253357362410439123713623053360208276920335499786680518103278501466456420260952911772996565813665149960720057913642697302640427380692009474252271572985879466895331034090902909655608851537319996625414434332922822740540567127668267234347652104788055992792693325561513030994073043823786329822063154056943675707321685245417693145514895120507517394934154199002089215111449411227440223638981347106039570090872279538908212541591159509410121534690244800610238980509085775763312746889027199786149390401210661637072983528873997985870625291213785292414618508002009771199493402172977843410249746739959203096267021483126362838983184781059097487702663181794334532997580406990640613811440935560135818461858506265549227540912034063197609720853685063566662238913874777857613125746995499327134207965527669719474332381562327344410764929167586561120144536003043970746903901518435305282 38390669773259155032614342956002326018688972658122097152834891342682160722841630293027830606764576774812976246307191264769876075621561360578163645786829688325447690946095393790131730129300805284246474815426191270218701123666550385943032364713551023007333645940646294571925016527925370392923346193381234015085527960080654069448794390107522823202940456562598268099015095892710515219258685041922267085761539787203241481874005144061035504939300857340392467773963488553980062501813341965772923729112128672962130808703915427090580727203456804539885582198025617488896391647432627748293562422775161789026795660169918263808952356448675302914934555334347081012710164192224418241564984959565618350930077612736188641969322528583987531542488373238085566238242821146882820465109754461628532769330867802106367428895044379763222052964198264399285190529387622437584300301044609833164282442794156427970146819462758558799692475918798557948933087570494901926826969159402699781580903412810928534097083125870862963858153306969118477346066611105400053306606349441353142599748335575829642782080901308548898924978768410066189713563644038211295346510311281591144563724378877520469423104227387526575661196471024625752980896354582556265169752042095325695668369362656138644741327345053138566396645327223782433299979915560580577352496269451955594623085862954504894267595875306051167896024069490408559056281858145164055433775044841562179007464626315408544435738493154710178798294320974017823526605067671166156525411241163975776585528786343430925818683493888985260826687337315529810205575684444345255648212445329280987812943234969042348309697007372464186796947187422293703449919110427810450535032750808531586455131989372506897456688544982833226862934357616512739623363525259268914752019149712251860619340192135384564883634487662335781439853122008895387644966694186147213805209938452981396172080316446471926241857046914847472905397636288851610025895392675366843017546796380456184358902615534367989531945951367918164453041279165022536583946913122837758216795124210145784709580139451613101326696050300011679676753131902764911558697338860692623177529090710462806141279487540342779953025970176420293743768166313096280703427339960703923992200241865981554188959845165726643805794464274721613499042494031765295327734343616615829542109912662601217223240046749050242512507712717780031780248262180351620458447960907327527531630971245248606197864287682177918859690994166591463609581825145175179128537798581193353958163801948751034920958759844462161638167338521 62117408544006531857021849524978600482460897343140562951862123605108283186031258587884047894268370331390965680240373250427139365225067105228647668858297869074397376031663953242638832659296212909536993071338656809140468079106127137467224986437462226103507273961504739317825346065095903752356796483955286107068351830004800604855450214683242678563828199217863522499665797541460996701071862277757980284775526949251866801815929240564341940583430699585237652132774417689731703584349753223920475495373414446684681332655258613047056563943516187216977350831542453532277355500659347998556937526429461982618498751233886364310105860991385946397558805930383387652273935483758885095603171173446991659439794073678419143693621049929486477169304261315337080021877850008750164748267338147685630916896693742003736436626251104746878311156794270370641031852452953252272663822499857091271563262882437854505476577571254166541278278673655606614885859570924690245000025702185446861878419413936363167730467805304570046672959459884082852519304297191536890938978984184958155154646730893910154792776462888793517982840335844122947148526081921791003172181309431340613226876114526425669633422704189699664796377961593383364737695373287692281809198032370098095813506070151380376664875176187868383715040902471975926976135183737677513202342860904553235421905877501236718628365830929962824879510350784063556507987361412622926548791462808794494587076988349763966950202037061618260000640565693559833041339167435750833714063593497747726379975462809150450300359192981473915323804792979585023206000650922818615613419015174881113636301061679767957319031722586028663957316094185330716001646574381063807897443189932245209508492197649427232956475225500936505364400814036773692535136521825082579901979869770165503316642832562765256893108739933908767319320017339929478547876349794998751125206563867415729094903056987039053910124281262499577693453629081544935587408423669439886841333126202519338415846291241689674777363644513433059573548796559956690782949002337949207628022564433784766056686179021703973606234958512553270836262542024299601803497949099673132263304854023209695168479273689733181163687607249403822617766152183721571917212632375322431994210013065474956361937688575976390545753667370988634982168856870748480108793441104318492723904247195598797630230687362861683448067848536241890286513811407892532492511158517048381216694537907487520072642145295303665855190321300799429137251544619507560690865142991958283125750363068895570924002730591366063156602643803 100508078317265686889636192480980926501149870001262660104697014947790443908872888880911878501032947106203941926547564515197015440846628465806811314645127557399845066977759347032770562788597018193783467886764848079359169202772677523410257351151013249110840919902151033889750362593021274145280142677336520122153879790085454674304244604790765501766768655780461790598680893434171511920330547319680247370537066736455108283689934384625377445522731556925630119906737906243711766086163095189693399224485543119646812141359174040137637291146972991756862933029568071021173747148091975746850499949204623771645294411403804628119058217440061249312493361264730468664984099675983303337168156133012610010369871686414607785662943578513474008711792634553422646260120671155632985213377092609314163686227561544110103865521295484510100364120992534769926222381840575689856964123544466924435845705676594282475623397034012725340970754592454164563818947141419592171826994861588146643459322826747291701827550931175433010531112766853201329865370908296936944245585333626311297754395066469739797574857364197342416907819104254189136862089725960002298518691620712931757790600493403946139056526931577226240457574432618009117718591727870248546978950074465423791481875432807519021406202521241006950111686229695758360276115099298258090554839130356508830044991740455741612895961706236013992775534420274472115564269219557786981982566507650356673594541614665172511385940530216328438798934886667577656567944235106916990239474834661723502965504249152581376119042686870459176150492130295114833411576335367163871261631460504162101449244296648810305628728729958492850754263281607624419451565684808874258432475940740776795963624187021934130413163770483769732227335171653286432158500047084351494653999019482417363935983024698149821776743227596244548759173139348824866192843043981145964930416502320397125266983373433510980151981328177347050598851265370396545613303816344806729858879922582975522774748906776057664309309595881351224026590075724979227366895915460786965844817688643930550766266318473317074932931008812564950513015673927064513362195287960365755440833944733672501309758761230075961116713577425824116361534318496817852620639972336026355986410254931456510550897533741703034351548131645710248481211350902513775436527784720934322266014159858200014853470734111911925960575561254021922066762073588244152950959119424375908748325509152736126270506432977481584714881315467390892746833369764682739819402941573151637083914165017646605844961490435828224794769982324 162625486861272218746658042005959526983610767344403223056559138552898727094904147468795926395301317437594907606787937765624154806071695571035458983503425426474242443009423300275409395447893231103320460958103504888499637281878804660877482337588475475214348193863655773207575708658117177897636939161291806229222231620090255279159694819474008180330596854998325313098346690975632508621402409597438227655312593685706975085505863625189719386106162256510867772039512323933443469670512848413613874719858957566331493474014432653184693855090489178973840283861110524553451102648751323745407437475634085754263793162637690992429164078431447195710052167195113856317258035159742188432771327306459601669809665760093026929356564628442960485881096895868759726281998521164383149961644430756999794603124255286113840302147546589256978675277786805140567254234293528942129627946044324015707408968559032136981099974605266891882249033266109771178704806712344282416827020563773593505337742240683654869558018736480003057204072226737284182384675205488473835184564317811269452909041797363649952367633827086135934890659440098312084010615807881793301690872930144272371017476607930371808689949635766925905253952394211392482456287101157940828788148106835521887295381502958899398071077697428875333826727132167734287252250283035935603757181991261062065466897617956978331524327537165976817655044771058535672072256580970409908531357970459151168181618603014936478336142567277946698799575452361137489609283402542667823953538428159471229345479711961731826419401879851933091474296923274699856617576986289982486875050475679043215085545358328578262947760452544521514711579375792955135453212259189938066329919130673022005472116384671361363369638995984706237591735985690060124693636568909434074555978889252582867252625857260915078669851967530153316078493156688754344740719393776144716055623066187812854361886430420550034062105609439846628292304894451941481200712240014246616700213048785494861190595198017747339086673240394784283600138872284935918149844917798736173472840253077715316822952497495021048539165967325118221349278215951364115165693237060038887704138798756882196478238034919809142280401184675227938979300470680539424537852604711348787980620267996931466912835222317679424897301799016698883463380207773262255545321225825252814989918407053798812483701421474773609408643409790263812353275884996136685443470277941424289965020047060223646343148578272785250570071636768190321884084914384190300510268084565109920209664528086542176768964221027194287951372626127 263133565178537905636294234486940453484760637345665883161256153500689171003777036349707804896334264543798849533335502280821170246918324036842270298148552983874087509987182647308179958236490249297103928844868352967858806484651482184287739688739488724325189113765806807097326071251138452042917081838628326351376111410175709953463939424264773682097365510778787103697027584409804020541732956917118475025849660422162083369195798009815096831628893813436497891946250230177155235756675943603307273944344500685978305615373606693322331146237462170730703216890678595574624849796843299492257937424838709525909087574041495620548222295871508445022545528459844324982242134835725491769939483439472211680179537446507634715019508206956434494592889530422182372542119192320016135175021523366313958289351816830223944167668842073767079039398779339910493476616134104631986592069588790940143254674235626419456723371639279617223219787858563935742523753853763874588654015425361740148797065067430946571385569667655436067735184993590485512250046113785410779430149651437580750663436863833389749942491191283478351798478544352501220872705533841795600209564550857204128808077101334317947746476567344152145711526826829401600174878829028189375767098181300945678777256935766418419477280218669882283938413361863492647528365382334193694312021121617570895511889358412719944420289243401990810430579191333007787636525800528196890513924478109507841776160217680108989722083097494275137598510339028715146177227637649584814193013262821194732310983961114313202538444566722392267624789053569814690029153321657146358136681936183205316534789654977388568576489182503014365465842657400579554904777943998812324762395071413798801435740571693295493782802766468475969819071157343346556852136615993785569209977908735000231188608881959064900446595195126397864837666296037579210933562437757290680986039568508209979628869803854061014214086937617193678891156159822338026814016056359053346559092971368470383965344104793805003395982836276135507626728948009915145516740833259523139317657941721645867589218815968338123472096976137683171862293889878428628527888525020404643144972743490554697787996796149885103397114762101052055340834789177357277158492577047375143967030522928387977463732756059382459248849930662409131944591558675776030981849010546187137255932566911998827337172155586685535369218971044285734420037958584380838394429397365800198713345556212959772613655011250266835284952952235581214630918284148873040329671026138261557293578693104188782613925711463022512746142608451 425759052039810124382952276492899980468371404690069106217815292053587898098681183818503731291635581981393757140123440046445325052990019607877729281651978410348329952996605947583589353684383480400424389802971857856358443766530286845165222026327964199539537307629462580304901779909255629940554020999920132580598343030265965232623634243738781862427962365777112416795374275385436529163135366514556702681162254107869058454701661635004816217735056069947365663985762554110598705427188792016921148664203458252309799089388039346507025001327951349704543500751789120128075952445594623237665374900472795280172880736679186612977386374302955640732597695654958181299500169995467680202710810745931813349989203206600661644376072835399394980473986426290942098824117713484399285136665954123313752892476072116337784469816388663024057714676566145051060730850427633574116220015633114955850663642794658556437823346244546509105468821124673706921228560566108157005481035989135333654134807308114601440943588404135439124939257220327769694634721319273884614614713969248850203572478661197039702310125018369614286689137984450813304883321341723588901900437481001476499825553709264689756436426203111078050965479221040794082631165930186130204555246288136467566072638438725317817548357916098757617765140494031226934780615665370129298069203112878632960978786976369698275944616780567967628085623962391543459708782381498606799045282448568659009957778820695045468058225664772221836398085791389852635786511040192252638146551690980665961656463673076045028957846446574325359099085976844514546646730307947128845011732411862248531620335013305966831524249635047535880177422033193534690357990203188750391092314202086820806907856956364656857152441762453182207410807143033406681545773184903219643765956797987583098441234739219979979116447162656551180916159452726333555674281831533435397041662634696022833990756234274611048276192547057040307183461054274279508014728296373299963259306020153965245155939302811552342482656076670919791226867820294851063666585751058259312790498194799361184412171313463359172011262943462801393211572105829792743693581762080443530849111542247436894266234831069694245677515946776279994320135259857896701696345181758723931947650790925319444376567978377061884146151729679108015407971766449038286527170236371439952245850973965797639820873577061459144777862380834549546773313843580517523837899675307224488678365603273183418956803589523052085855024589003771536515003198533063340839939110703371477503243221190730959382889932490216800697515234578 688892617218348030019246510979840433953132042035734989379071445554277069102458220168211536187969846525192606673458942327266495299908343644719999579800531394222417462983788594891769311920873729697528318647840210824217250251181769029452961715067452923864726421395269387402227851160394081983471102838548458931974454440441675186087573668003555544525327876555899520492401859795240549704868323431675177707011914530031141823897459644819913049363949883383863555932012784287753941183864735620228422608547958938288104704761646039829356147565413520435246717642467715702700802242437922729923312325311504806081968310720682233525608670174464085755143224114802506281742304831193171972650294185404025030168740653108296359395581042355829475066875956713124471366236905804415420311687477489627711181827888946561728637485230736791136754075345484961554207466561738206102812085221905895993918317030284975894546717883826126328688608983237642663752314419872031594135051414497073802931872375545548012329158071790875192674442213918255206884767433059295394044863620686430954235915525030429452252616209653092638487616528803314525756026875565384502110002031858680628633630810599007704182902770455230196677006047870195682806044759214319580322344469437413244849895374491736237025638134768639901703553855894719582308981047704322992381224234496203856490676334782418220364906023969958438516203153724551247345308182026803689559206926678166851733939038375154457780308762266496973996596130418567781963738677841837452339564953801860693967447634190358231496291013296717626723875030414329236675883629604275203148414348045453848155124668283355400100738817550550245643264690594114245262768147187562715854709273500619608343597528057952350935244528921658177229878300376753238397909800897005212975934706722583329629843621179044879563042357782949045753825748763912766607844269290726078027702203204232813619626038128672062490279484674233986074617214096617534828744352732353309818398991522435629121283407605357345878638912947055298853596768304766209183326584317782452108156136521007052001390129431697295483359919600484565073865995708221372221470287100848173994084285737991592054231627219579349074630708877332049660970049035253978854837758806099075914681313853707421840300734436444343395001660341517147352563325124814317509019246917627089501783540877796467158045732648144680147081351878835281193351802164898362232329072673024687391711159486143191570458600773318921139977541239352751145921482681936381169610136841633034796821914294919741996815643953239313443657843029 1114651669258158154402198787472740414421503446725804095596886737607864967201139403986715267479605428506586363813582382373711820352898363252597728861452509804570747415980394542475358665605257210097952708450812068680575694017712055874618183741395417123404263729024731967707129631069649711924025123838468591512572797470707640418711207911742337406953290242333011937287776135180677078868003689946231880388174168637900200278599121279824729267099005953331229219917775338398352646611053527637149571272751417190597903794149685386336381148893364870139790218394256835830776754688032545967588687225784300086254849047399868846502995044477419726487740919769760687581242474826660852175361104931335838380157943859708958003771653877755224455540862383004066570190354619288814705448353431612941464074303961062899513107301619399815194468751911630012614938316989371780219032100855020851844581959824943532332370064128372635434157430107911349584980874985980188599616087403632407457066679683660149453272746475926314317613699434246024901519488752333180008659577589935281157808394186227469154562741228022706925176754513254127830639348217288973404010439512860157128459184519863697460619328973566308247642485268910989765437210689400449784877590757573880810922533813217054054573996050867397519468694349925946517089596713074452290450427347374836817469463311152116496309522804537926066601827116116094707054090563525410488604489375246825861691717859070199925838534427038718810394681921808420417750249718034090090486116644782526655623911307266403260454137459871042985822961007258843783322613937551404048160146759907702379775459681589322231624988452598086125820686723787648935620758350376313106947023475587440415251454484422609208087686291374840384640685443410159919943682985800224856741891504710166428071078360399024858679489520439500226669985201490246322282126100824161475069364837900255647610382272403283110766472031731274293258078268370897042843472649105653273077705011676400874277222710416909688361294989617975090080464588599617272849912335376041764898654331320368236413561442895056467494622863063285958285438101538014115915052049181291704843195827985428486320466458289273594752146655653612043981105308893150680551182940564823007862332104779026866216868712813506227541153390020625162760535091573852604036189483289067041747634514843594106978919309709603824924943732713384827966665645745415886070228747980249176070076762759326610527262190296371006995002130243124287660924681214999722009549247545004512300065135485650701379705576443456114141173077607 1803544286476506184421445298452580848374635488761539084975958183162142036303597624154926803667575275031778970487041324700978315652806706897317728441253041198793164878964183137367127977526130939795481027098652279504792944268893824904071145456462870047268990150420001355109357482230043793907496226677017050444547251911149315604798781579745892951478618118888911457780177994975917628572872013377907058095186083167931342102496580924644642316462955836715092775849788122686106587794918263257377993881299376128886008498911331426165737296458778390575036936036724551533477556930470468697511999551095804892336817358120551080028603714651883812242884143884563193862984779657854024148011399116739863410326684512817254363167234920111053930607738339717191041556591525093230125760040909102569175256131850009461241744786850136606331222827257114974169145783551109986321844186076926747838500276855228508226916782012198761762846039091148992248733189405852220193751138818129481259998552059205697465601904547717189510288141648164280108404256185392475402704441210621712112044309711257898606815357437675799563664371042057442356395375092854357906120441544718837757092815330462705164802231744021538444319491316781185448243255448614769365199935227011294055772429187708790291599634185636037421172248205820666099398577760778775282831651581871040673960139645934534716674428828507884505118030269840645954399398745552214178163696301924992713425656897445354383618843189305215784391278052226988199713988395875927542825681598584387349591358941456761491950428473167760612546836037673173019998497567155679251308561107953156227930584349872677631725727270148636371463951414381763180883526497563875822801732749088060023595052012480561559022930820296498561870563743786913158341592786697230069717826211432749757700921981578069738242531878222449272423810950254159088889970370114887553097067041104488461230008310531955173256751516405508279332695482467514577672217001838006582896104003198836503398506118022267034239933902565030388934061356904383482033238919693824217006810467841375288414951572326753762977982782663770523359304097246235488136522336282139878837280113723420078374698085508852943826777364530944093642075357928404659406020699370922083777013418632734288057169447249950570936155050362142310113098416698666921545208730206694131249418055721390574136965042357748505072025084592220109160017447910314248302557820653273863461787922245469802097720791069689928134979671482477038806846163896936103179159384386637547096887049780570443376521220396695427584830920636 2918195955734664338823644085925321262796138935487343180572844920770007003504737028141642071147180703538365334300623707074690136005705070149915457302705551003363912294944577679842486643131388149893433735549464348185368638286605880778689329197858287170673253879444733322816487113299693505831521350515485641957120049381856956023509989491488230358431908361221923395067954130156594707440875703324138938483360251805831542381095702204469371583561961790046321995767563461084459234405971790894527565154050793319483912293061016812502118445352143260714827154430981387364254311618503014665100686776880104978591666405520419926531598759129303538730625063654323881444227254484514876323372504048075701790484628372526212366938888797866278386148600722721257611746946144382044831208394340715510639330435811072360754852088469536421525691579168744986784084100540481766540876286931947599683082236680172040559286846140571397197003469199060341833714064391832408793367226221761888717065231742865846918874651023643503827901841082410305009923744937725655411364018800556993269852703897485367761378098665698506488841125555311570187034723310143331310130881057578994885551999850326402625421560717587846691961976585692175213680466138015219150077525984585174866694963000925844346173630236503434940640942555746612616488174473853227573282078929245877491429602957086651212983951633045810571719857385956740661453489309077624666768185677171818575117374756515554309457377616343934594785959974035408617464238113910017633311798243366914005215270248723164752404565933038803598369797044932016803321111504707083299468707867860858607706044031461999863350715722746722497284638138169412116504284847940188929748756224675500438846506496903170767110617111671338946511249187197073078285275772497454926459717716142916185772000341977094596922021398661949499093796151744405411172096470939049028166431879004744108840390582935238284023223548136782572590773750838411620515689650943659855973809014875237377675728828439176722601228892183005479014525945504000754883151255069865981905464799161743524828513015221810230472605645727056481644742198784249604051574385463431583680475941708848564695164543798126538578924020184556137623180666821555339957203639935745091639345523411761154274038160063456798477308440382767472873633508272519525581398213495761172997052570564984681115884352067352329996968817305604937126683093655730134372786568633523039531864685004796412624982981366060935129981801725601326467770845111935825188708631931642059396952185266221144756226796840151541726003998243 4721740242211170523245089384377902111170774424248882265548803103932149039808334652296568874814755978570144304787665031775668451658511777047233185743958592202157077173908760817209614620657519089688914762648116627690161582555499705682760474654321157217942244029864734677925844595529737299739017577192502692401667301293006271628308771071234123309910526480110834852848132125132512336013747716702045996578546334973762884483592283129114013900024917626761414771617351583770565822200890054151905559035350169448369920791972348238667855741810921651289864090467705938897731868548973483362612686327975909870928483763640971006560202473781187350973509207538887075307212034142368900471383903164815565200811312885343466730106123717977332316756339062438448653303537669475274956968435249818079814586567661081821996596875319673027856914406425859960953229884091591752862720473008874347521582513535400548786203628152770158959849508290209334082447253797684628987118365039891369977063783802071544384476555571360693338189982730574585118328001123118130814068460011178705381897013608743266368193456103374306052505496597369012543430098402997689216251322602297832642644815180789107790223792461609385136281467902473360661923721586629988515277461211596468922467392188634634637773264422139472361813190761567278715886752234632002856113730511116918165389742603021185929658380461553695076837887655797386615852888054629838844931881979096811288543031653960908693076220805649150379177238026262396817178226509785945176137479841951301354806629190179926244354994406206564210916633082605189823319609071862762550777268975814014835636628381334677495076442992895358868748589552551175297387811345504064752550488973763560462441558509383732326133547931967837508381812930983986236626868559194684996177543927575665943472922323555164335164553276884398771517607101998564500062066841053936581263498920109232570070398893467193457279975064542290851923469233305926198187906652781666438869913018074073881074234946461443756841162794748035867948587302408384236916390174763690198912275267003118813243464587548563993450588428390827005004046296030485092188096721745571462517756055432268643069862629306979482405701384715500231265256024749959999363224339306667175416358942044495442331207607313407369413463490744909782986731924971186447126606943702455304246470626286375255252849394425100835068993901897825046286700541566044382675344389286796902993652607250266214722703772435750863264961473208078365274617009008871928367868016318279606493839235046791588132748017236846969310834918879 7639936197945834862068733470303223373966913359736225446121648024702156043313071680438210945961936682108509639088288738850358587664216847197148643046664143205520989468853338497052101263788907239582348498197580975875530220842105586461449803852179444388615497909309468000742331708829430805570538927707988334358787350674863227651818760562722353668342434841332758247916086255289107043454623420026184935061906586779594426864687985333583385483586879416807736767384915044855025056606861845046433124189400962767853833085033365051169974187163064912004691244898687326261986180167476498027713373104856014849520150169161390933091801232910490889704134271193210956751439288626883776794756407212891266991295941257869679097045012515843610702904939785159706265050483813857319788176829590533590453917003472154182751448963789209449382605985594604947737313984632073519403596759940821947204664750215572589345490474293341556156852977489269675916161318189517037780485591261653258694129015544937391303351206595004197166091823812984890128251746060843786225432478811735698651749717506228634129571554769072812541346622152680582730464821713141020526382203659876827528196815031115510415645353179197231828243444488165535875604187724645207665354987196181643789162355189560478983946894658642907302454133317313891332374926708485230429395809440362795656819345560107837142642332094599505648557745041754127277306377363707463511700067656268629863660406410476463002533598421993084973963198000297805434642464623695962809449278085318215360021899438903090996759560339245367809286430127537206626640720576569845850245976843674873443342672412796677358427158715642081366033227690720587413892096193444253682299245198439060901288065006286903093244165043639176454893062118181059314912144331692139922637261643718582129244922665532258932086574675546348270611403253742969911234163311992985609429930799113976678910789476402431741303198612679073424514242984144337818703596303725326294843722032949311258749963774900620479442391686931041346963113247912384991799541429833556180817740066164862338071977602770374223923194074117883486648788494814734696239671107209003046198231997141117207765027173105106020984625404900056368888436691571515339320427979242412267055704465456256596605245767376864167890771931127677255860365433243705972708005157198216477243523196851359936368733746492453165065962719203429983413383635221774517048130957920319942525517292255062627347686753801811798394943274933679691742387854120807753556576648249921665890791420313012732888974814076998511036838917122 12361676440157005385313822854681125485137687783985107711670451128634305083121406332734779820776692660678653943875953770626027039322728624244381828790622735407678066642762099314261715884446426329271263260845697603565691803397605292144210278506500601606557741939174202678668176304359168105309556504900491026760454651967869499280127531633956476978252961321443593100764218380421619379468371136728230931640452921753357311348280268462697399383611797043569151539002266628625590878807751899198338683224751132216223753877005713289837829928973986563294555335366393265159718048716449981390326059432831924720448633932802361939652003706691678240677643478732098032058651322769252677266140310377706832192107254143213145827151136233820943019661278847598154918354021483332594745145264840351670268503571133236004748045839108882477239520392020464908690543868723665272266317232949696294726247263750973138131694102446111715116702485779479009998608571987201666767603956301544628671192799347008935687827762166364890504281806543559475246579747183961917039500938822914404033646731114971900497765010872447118593852118750049595273894920116138709742633526262174660170841630211904618205869145640806616964524912390638896537527909311275196180632448407778112711629747378195113621720159080782379664267324078881170048261678943117233285509539951479713822209088163129023072300712556153200725395632697551513893159265418337302356631949635365441152203438064437371695609819227642235353140436026560202251820691133481907985586757927269516714828528629083017241114554745451932020203063210142396449960329648432608401023245819488888278979300794131354853503601708537440234781817243271762711279907538948318434849734172202621363729623515670635419377712975607013963274875049165045551539012890886824918814805571294248072717844989087423267251127952430747042129010355741534411296230153046922190693429719223209248981188369869625198583173677221364276437712217450264016891502956506992733713635051023385139824198721362064236283554481679077214911700550320769228715931604597246379730015333167981151315442190318938217373782502508710491652834790845219788427767828954574508715988052573385850834889802412085503390326789615556600153692716321475338683652318549079442472063407500752038936453374690271537304235421872587038847097358214892419834612100900671781489993823137735191621583140917554000134956621101255029700084176787818899723475347207116845519169899505328842070390526237562661659904748141758057017004863129679681924444664568201272384630655359804321021722831313845480347673836001 20001612638102840247382556324984348859104601143721333157792099153336461126434478013172990766738629342787163582964242509476385626986945471441530471837286878613199056111615437811313817148235333568853611759043278579441222024239710878605660082358680045995173239848483670679410508013188598910880095432608479361119242002642732726931946292196678830646595396162776351348680304635710726422922994556754415866702359508532951738212968253796280784867198676460376888306387181673480615935414613744244771807414152094984077586962039078341007804116137051475299246580265080591421704228883926479418039432537687939569968784101963752872743804939602169130381777749925308988810090611396136454060896717590598099183403195401082824924196148749664553722566218632757861183404505297189914533322094430885260722420574605390187499494802898091926622126377615069856427857853355738791669913992890518241930912013966545727477184576739453271273555463268748685914769890176718704548089547563197887365321814891946326991178968761369087670373630356544365374831493244805703264933417634650102685396448621200534627336565641519931135198740902730178004359741829279730269015729922051487699038445243020128621514498820003848792768356878804432413132097035920403845987435603959756500792102567755592605667053739425286966721457396195061380636605651602463714905349391842509479028433723236860214943044650752706373953377739305641170465642782044765868332017291634071015863844474913834698143417649635320327103634026858007686463155757177870795036036012587732074850428067986108237874115084697299829489493337679603076601050225002454251269222663163761722321973206928032211930760424179521600815044933992350125172003732392572117148979370641682265017688521957538512621878019246190418167937167346104866451157222578964841452067215012830201962767654619682199337702627977095312740413609484504322530393465039907800123360518337185927891977846272056939886372289900437700951955201594601835595099260232319028557357083972696398574162496262684715725946168610118561874813798233154220515473034430802560547755399332843489387419793089312441296976576626593978301623285659954484667438936163577554914220049714503058599916975517191524374952194515612969042129407892990678004080297791491709527767872957008635541699142067135705195007353000264294707462791458598392542617258098888258733517019989095127990316887410007165200919340304685013113467812009593416771606305127436788044687191760391469418077280039374460054848023075437748759392717250487435481021312818122938275422075672817053910697645390843991384512753123 32363289078259845632696379179665474344242288927706440869462550281970766209555884345907770587515322003465817526840196280102412666309674095685912300627909614020877122754377537125575533032681759898124875019888976183006913827637316170749870360865180647601730981787657873358078684317547767016189651937508970387879696654610602226212073823830635307624848357484219944449444523016132345802391365693482646798342812430286309049561248522258978184250810473503946039845389448302106206814222365643443110490638903227200301340839044791630845634045111038038593801915631473856581422277600376460808365491970519864290417418034766114812395808646293847371059421228657407020868741934165389131327037027968304931375510449544295970751347284983485496742227497480356016101758526780522509278467359271236930990924145738626192247540642006974403861646769635534765118401722079404063936231225840214536657159277717518865608878679185564986390257949048227695913378462163920371315693503864742516036514614238955262679006730927733978174655436900103840621411240428767620304434356457564506719043179736172435125101576513967049729050859652779773278254661945418440011649256184226147869880075454924746827383644460810465757293269269443328950660006347195600026619884011737869212421849945950706227387212820207666630988781475076231428898284594719697000414889343322223301237521886365883287243757206905907099349010436857155063624908200382068224963966926999512168067282539351206393753236877277555680244070053418209938283846890659778780622793939857248789678956697069125478988669830149231849692556547821999526561379873435062652292468482652650001301274001059387065434362132716961835596862177264112836451911271340890551998713542844303628747312037628173931999590994853204381442812216511150417990170113465789760266872786307078274680612643707105466588830580407842354869423965226038733826623618086829990816790237560395176873166216141682138469545967121801977389667419044865852486602216739311762270992134996081538398361217624748952009500650289195776786514348553923449231404639028048940277770732500824640702861983408250658670759079135304469954458076505174273095206765118152063630208102287888909434806777929277027765278984131169569195822124214466016687732616340571151999831280457760674478152516757407242499242774872851333554560149673490812377229358999560040223510843126830319611900028327561165335875961405940042813551988797412316495081652334553633563857091265720311488467806276937121714752771217195805776397580380167117405465977386324210660052731032621374932420476704689471732186589124 52364901716362685880078935504649823203346890071427774027254649435307227335990362359080761354253951346252981109804438789578798293296619567127442772465196492634076178865992974936889350180917093466978486778932254762448135851877027049355530443223860693596904221636141544037489192330736365927069747370117449748998938657253334953144020116027314138271443753646996295798124827651843072225314360250237062665045171938819260787774216776055258969118009149964322928151776629975586822749636979387687882298053055322184378927801083869971853438161248089513893048495896554448003126506484302940226404924508207803860386202136729867685139613585896016501441198978582716009678832545561525585387933745558903030558913644945378795675543433733150050464793716113113877285163032077712423811789453702122191713344720344016379747035444905066330483773147250604621546259575435142855606145218730732778588071291684064593086063255925018257663813412316976381828148352340639075863783051427940403401836429130901589670185699689103065845029067256648205996242733673573323569367774092214609404439628357372969752438142155486980864249600555509951282614403774698170280664986106277635568918520697944875448898143280814314550061626148247761363792103383116003872607319615697625713213952513706298833054266559632953597710238871271292809534890246322160715320238735164732780265955609602743502186801857658613473302388176162796234090550982426834093295984218633583183931127014265041091896654526912876007347704080276217624747002647837649575658829952444980864529384765055233716862784914846531679182049885501602603162430098437516903561691145816411723623247207987419277365122556896483436411907111256462961623915003733462669147692913485985893765000559585712444621469014099394799610749383857255284441327336044754601718940001319908476643380298326787665926533208384937667609837574710543056357017083126737790940150755897581104765144062413739078355918257022239678341622620639467688081701476971630790828349218968777936972523713887433667735446818899314338661328146787077669746877673458851500825526131833668130090281776497563099967735655761898448256081362165128757762645701281729618544428152002391968034723753446468552140231178646782538237951532107456694691812914132062861527599153414769310019851658824542947694250127873115628262022941132089204919846617098448298957027863115925447602216915737568330536795301710625055927019800807005733266687957461990421608544283026111780906545086316311581769600794292633554535790297630654552886487290204447148935474806705438428843118122095533463116699342247 84728190794622531512775314684315297547589178999134214896717199717277993545546246704988531941769273349718798636644635069681210959606293662813355073093106106654953301620370512062464883213598853365103361798821230945455049679514343220105400804089041341198635203423799417395567876648284132943259399307626420136878635311863937179356093939857949445896292111131216240247569350667975418027705725943719709463387984369105569837335465298314237153368819623468268967997166078277693029563859345031130992788691958549384680268640128661602699072206359127552486850411528028304584548784084679401034770416478727668150803620171495982497535422232189863872500620207240123030547574479726914716714970773527207961934424094489674766426890718716635547207021213593469893386921558858234933090256812973359122704268866082642571994576086912040734345419916886139386664661297514546919542376444570947315245230569401583458694941935110583244054071361365204077741526814504559447179476555292682919438351043369856852349192430616837044019684504156752046617653974102340943873802130549779116123482808093545404877539718669454030593300460208289724560869065720116610292314242290503783438798596152869622276281787741624780307354895417691090314452109730311603899227203627435494925635802459657005060441479379840620228699020346347524238433174841041857715735128078486956081503477495968626789430559064564520572651398613019951297715459182808902318259951145633095351998409553616247485649891404190431687591774133694427563030849538497428356281623892302229654208341462124359195851454744995763528874606433323602129723809971872579555854159628469061724924521209046806342799484689613445272008769288520575798075826275074353221146406456330289522512312597213886376621060008952599181053561600368405702431497449510544361985812787626986751323992942033893132515363788792780022479261539936581790183640701213567781756940993457976281638310278555421216825464224144041655731290039684333540568303693710942553099341353964859475370884931512182619744947469188510115447842495341001118978282312486900441103296864334492770793143759905813758638494734897202918210539438670303030857852466399881682174636254290280877469530531375745579905510162777952107433773656321922711379545530472634013527430433872529984498004175581950190193492902745966961816583090805580017297075976098008339180538706242755767214116944065129495872671263116565098740571789604418049761769609796544055172401374291832092395012892593248703484353565509829360312187878010821670291953267590771359595527537738059803775538598800222934848885931371 137093092510985217392854250188965120750936069070561988923971849152585220881536609064069293296023224695971779746449073859260009252902913229940797845558302599289029480486363486999354233394515946832081848577753485707903185531391370269460931247312902034795539425059940961433057068979020498870329146677743869885877573969117272132500114055885263584167735864778212536045694178319818490253020086193956772128433156307924830625109682074369496122486828773432591896148942708253279852313496324418818875086745013871569059196441212531574552510367607217066379898907424582752587675290568982341261175340986935472011189822308225850182675035818085880373941819185822839040226407025288440302102904519086110992493337739435053562102434152449785597671814929706583770672084590935947356902046266675481314417613586426658951741611531817107064829193064136744008210920872949689775148521663301680093833301861085648051781005191035601501717884773682180459569675166845198523043259606720623322840187472500758442019378130305940109864713571413400252613896707775914267443169904641993725527922436450918374629977860824941011457550060763799675843483469494814780572979228396781419007717116850814497725179931022439094857416521565938851678244213113427607771834523243133120638849754973363303893495745939473573826409259217618817047968065087364018431055366813651688861769433105571370291617360922223134045953786789182747531806010165235736411555935364266678535929536567881288577546545931103307694939478213970645187777852186335077931940453844747210518737726227179592912714239659842295208056656318825204732886240070310096459415850774285473448547768417034225620164607246509928708420676399777038759699741278807815890294099369816275416277313156799598821242529023051993980664310984225660986872824785555298963704752788946895227967373240360680798441896997177717690089099114647124846540657784340305572697091749355557386403454340969160295181382481166281334072912660323801228650005170682573343927690572933637412343408645399616287480394288087824454109170642128078788725159985945751941928822996168160900883425536403376858606230390659101366466620800835431788620498167681611300719064406292672845504254284822214132045741341424734645671725188429379406071358444604696875055029587287299294517855834406493137887743030619082590078606031937669222216922593196456638137566569358681214816333859802697826409466564827190154667591590411423783028457567258534476780945657317943873301557978909560285253954359802462914847978175641476223178440557795218508531002344443498232618656720895756397965585273618 221821283305607748905629564873280418298525248069696203820689048869863214427082855769057825237792498045690578383093708928941220212509206892754152918651408705943982782106733999061819116608114800197185210376574716653358235210905713489566332051401943375994174628483740378828624945627304631813588545985370290022756209280981209311856207995743213030064027975909428776293263528987793908280725812137676481591821140677030400462445147372683733275855648396900860864146108786530972881877355669449949867875436972420953739465081341193177251582573966344618866749318952611057172224074653661742295945757465663140161993442479721832680210458050275744246442439393062962070773981505015355018817875292613318954427761833924728328529324871166421144878836143300053664059006149794182289992303079648840437121882452509301523736187618729147799174612981022883394875582170464236694690898107872627409078532430487231510475947126146184745771956135047384537311201981349757970222736162013306242278538515870615294368570560922777153884398075570152299231550681878255211316972035191772841651405244544463779507517579494395042050850520972089400404352535214931390865293470687285202446515713003684120001461718764063875164771416983629941992696322843739211671061726870568615564485557433020308953937225319314194055108279563966341286401239928405876146790494892138644943272910601539997081047919986787654618605185402202698829521469348044638729815886509899773887927946121497536063196437335293739382531252347665072750808701724832506288222077737049440172946067689303952108565694404838058736931262752148806862610050042182676015270010402754535173472289626081031962964091936123373980429445688297614557775567553882169111440505826146564938789625754013485197863589032004593161717872584594066689304322235065843325690565576573881979291366182394573930957260785970497712568360654583706636724298485553873354454032742813533668041764619524581512006846705310322989804202700008134769218308864393515897027031926898496887714293576911798907225341757276334569557013137469079907703442298432652383032119860502653671676569296309190617244725125556304284677160239505734819478350634081492982893700660582953722973784816197959711951251504202686753105498844751302117450903975077330888582460021159829279015860009988443328081235933365049551895189122743249239513998569294464977318105275601436982030450803867827322282137827943755253408163380015841832790227177055078531953347031609775965696570871502808988738307925312292275160166053652297893470393825385989868126529882181558036394195319695979332814471204989 358914375816592966298483815062245539049461317140258192744660898022448435308619464833127118533815722741662358129542782788201229465412120122694950764209711305233012262593097486061173350002630747029267058954328202361261420742297083759027263298714845410789714053543681340261682014606325130683917692663114159908633783250098481444356322051628476614231763840687641312338957707307612398533745898331633253720254296984955231087554829447053229398342477170333452760295051494784252734190851993868768742962181986292522798661522553724751804092941573561685246648226377193809759899365222644083557121098452598612173183264787947682862885493868361624620384258578885801111000388530303795320920779811699429946921099573359781890631759023616206742550651073006637434731090740730129646894349346324321751539496038935960475477799150546254864003806045159627403086503043413926469839419771174307502911834291572879562256952317181786247489840908729564996880877148194956493265995768733929565118725988371373736387948691228717263749111646983552551845447389654169478760141939833766567179327680995382154137495440319336053508400581735889076247836004709746171438272699084066621454232829854498617726641649786502970022187938549568793670940535957166819442896250113701736203335312406383612847432971258787767881517538781585158334369305015769894577845861705790333805042343707111367372665280909010788664558972191385446361327479513280375141371821874166452423857482689378824640742983266397047077470730561635717938586553911167584220162531581796650691683793916483545021279934064680353944987919070974011595496290112492772474685861177040008622020058043115257583128699182633302688850122088074653317475308832689985001734605195962840355066938910813084019106118055056587142382183568819727676177147020621142289395318365520777207258739422755254729399157783148215402657459769230831483264956269894178927151124492169091054445218960493741807188229186476604323877115360331935997868314035076089240954722499832134300057702222311415194705736045364159023666183779597158696428602284378404324960942856670814572559994832712567475850955516215405651143781040341166608098848801763104283612765066875626568478039101020173843996992845627421398777224033180681523522262419682027763637489608447128573533715844394936465968978963984132141973795154680918461730921162490921615455671844960118196846784663670525148691604392770945408075754970427265615818684744313613008734292688927719838998128850412369273992262285114755190008144229293774116648834383181208376657532226625056269012852040591735730780056478607 580735659122200715204113379935525957347986565209954396565349946892311649735702320602184943771608220787352936512636491717142449677921327015449103682861120011176995044699831485122992466610745547226452269330902919014619655953202797248593595350116788786783888682027421719090306960233629762497506238648484449931389992531079690756212530047371689644295791816597070088632221236295406306814471710469309735312075437661985631549999976819736962674198125567234313624441160281315225616068207663318718610837618958713476538126603894917929055675515539906304113397545329804866932123439876305825853066855918261752335176707267669515543095951918637368866826697971948763181774370035319150339738655104312748901348861407284510219161083894782627887429487216306691098790096890524311936886652425973162188661378491445261999213986769275402663178419026182510797962085213878163164530317879046934911990366722060111072732899443327970993261797043776949534192079129544714463488731930747235807397264504241989030756519252151494417633509722553704851076998071532424690077113975025539408830732925539845933645013019813731095559251102707978476652188539924677562303566169771351823900748542858182737728103368550566845186959355533198735663636858800906031113957976984270351767820869839403921801370196578101961936625818345551499620770544944175770724636356597928978748315254308651364453713200895798443283164157593588145190848948861325013871187708384066226311785428810876360703939420601690786460001982909300790689395255636000090508384609318846090864629861605787497129845628469518412681919181823122818458106340154675448489955871579794543795492347669196289546092791118756676669279567776372267875250876386572154113175111022109405293856564664826569216969707087061180304100056153413794365481469255686985615085883942094659186550105605149828660356418569118713115225820423814538119989254755448052281605157234982624722486983580018323319195075891786927313681318060340070767086622899469605137981754426730631187771995799223214101931077802640493593223196917066238604132044582811056707993062717173468244236564129021758093095680641771709935820941279846901427577199435844597266506465727458580291451823917218133555948244349830108151882722877931983640973166394759358652219949629606957852549575854383379794050214897349181693868984277424167701244919731785386592773777120561555178877235467538352470973742220714700661483918350443107448608911921368691540687639720537495804694699721915178262730570210427047465168310282946072010119228208567198244784062108806614305407047360287715063594527683596 939650034938793681502597194997771496397447882350212589310010844914760085044321785435312062305423943529015294642179274505343679143333447138144054447070831316410007307292928971184165816613376294255719328285231121375881076695499881007620858648831634197573602735571103059351988974839954893181423931311598609840023775781178172200568852099000166258527555657284711400971178943603018705348217608800942989032329734646940862637554806266790192072540602737567766384736211776099478350259059657187487353799800945005999336788126448642680859768457113467989360045771706998676692022805098949909410187954370860364508359972055617198405981445786998993487210956550834564292774758565622945660659434916012178848269960980644292109792842918398834629980138289313328533521187631254441583781001772297483940200874530381222474691785919821657527182225071342138201048588257292089634369737650221242414902201013632990634989851760509757240751637952506514531072956277739670956754727699481165372515990492613362767144467943380211681382621369537257402922445461186594168837255914859305976010060606535228087782508460133067149067651684443867552900024544634423733741838868855418445354981372712681355454745018337069815209147294082767529334577394758072850556854227097972087971156182245787534648803167836889729818143357127136657955139849959945665302482218303719312553357598015762731826378481804809231947723129784973591552176428374605389012559530258232678735642911500255185344682403868087833537472713470936508627981809547167674728547140900642741556313655522271042151125562534198766626907100894096830053602630267168220964641732756834552417512405712311547129221490301389979358129689864446921192726185219262139114909716218072245648923503575639653236075825142117767446482239722233522041658616276308127904481202307615436393808845027905083389755576352266928517883280193045369603254211025342231208756281727151715776932202540512065126383305078263531637558433420672006764954936934545694378936476926562765487829698021534629296636813848004652616889380696663397300560646867189461032954005573844282816796558961734325568946636157987115586964722320188068035676048237607701550119230794334206859929863018238307399945237195457529550659946911112665164495428814441386415857439238054086426083291698778316260019193861333313835842779432105086162975840894276308208229448965521673375724020131208877619665346613485646069559673320870373064427596665682304549421932409465215643692828572327547536722832495541802655176454512239846126768062591748406621441594335431670574419899400879450794374584162203 1520385694060994396706710574933297453745434447560166985875360791807071734780024106037497006077032164316368231154815766222486128821254774153593158129931951327587002351992760456307158283224121841482171597616134040390500732648702678256214453998948422984357491417598524778442295935073584655678930169960083059771413768312257862956781382146371855902823347473881781489603400179898425012162689319270252724344405172308926494187554783086527154746738728304802080009177372057414703966327267320506205964637419903719475874914730343560609915443972653374293473443317036803543624146244975255735263254810289122116843536679323286713949077397705636362354037654522783327474549128600942096000398090020324927749618822387928802328953926813181462517409625505620019632311284521778753520667654198270646128862253021826484473905772689097060190360644097524648999010673471170252798900055529268177326892567735693101707722751203837728234013434996283464065265035407284385420243459630228401179913254996855351797900987195531706099016131092090962253999443532719018858914369889884845384840793532075074021427521479946798244626902787151846029552213084559101296045405038626770269255729915570864093182848386887636660396106649615966264998214253558978881670812204082242439738977052085191456450173364414991691754769175472688157575910394904121436027118574901648291301672852324414096280091682700607675230887287378561736743025377235930402883747238642298905047428340311131546048621824469778619997474696380237299317377065183167765236931750219488832420943517128058539280971191003717179308826282717219648511708970421843669454597604336629096213004753381507836675314281420146656027409257640819189067977061605834293228084827240181650942780068240466222453045532229178947750582295875647316407140085531995113519567086249710095580358950633054912050111994921385641633109100616859907723243465780790283490361438962134340499419186120530388445578380970050458951239751481012077532041559834015299516918231353293396675601693820757843398567891650645146210112577613729635904692691450000517740947068291017751061033123090756083662042316799758825522785663600034969463253247673452298816625696521792787151381686935456440955893481545287637702542669789044648805468595209200745068077388867661044278632867553161696054069408758682495529711763709529253864220760626061694801003226086083228554601255598747230090639088834200346731043591671313480513036508587050996090109572130002711448387528294242725799453402705968850120344764795185918136887290800315604866225656444238284879826946761167165857969111845799 2460035728999788078209307769931068950142882329910379575185371636721831819824345891472809068382456107845383525796995040727829807964588221291737212577002782643997009659285689427491324099837498135737890925901365161766381809344202559263835312647780057181931094153169627837794284909913539548860354101271681669611437544093436035157350234245372022161350903131166492890574579123501443717510906928071195713376734906955867356825109589353317346819279331042369846393913583833514182316586326977693693318437220848725475211702856792203290775212429766842282833489088743802220316169050074205644673442764659982481351896651378903912355058843492635355841248611073617891767323887166565041661057524936337106597888783368573094438746769731580297147389763794933348165832472153033195104448655970568130069063127552207706948597558608918717717542869168866787200059261728462342433269793179489419741794768749326092342712602964347485474765072948789978596337991685024056376998187329709566552429245489468714565045455138911917780398752461628219656921888993905613027751625804744151360850854138610302109210029940079865393694554471595713582452237629193525029787243907482188714610711288283545448637593405224706475605253943698733794332791648317051732227666431180214527710133234330978991098976532251881421572912532599824815531050244864067101329600793205367603855030450340176828106470164505416907178610417163535328295201805610535791896306768900531583783071251811386731393304228337866453534947409851173807945358874730335439965478891120131573977257172650329581432096753537915945935733383611316478565311600689011890419239337093463648630517159093819383804535771721536635385538947505266110260703246825096432342994543458253896591703571816105875689121357371296715197064535597880838448798701808303241424048288557325531974167795660959995439867571273652570150992380809905277326497676806132514699117720689286056276351388661042453571961686048313990588798184901684084296996496768560993895854708279856162163431391842292472695204705498649798827001958310393033205253338317189978773901073864862033877829682052490409230988952957745941109750385920223037498929295911060000366744927316126994011311549953694748355838718740745167253202616700157313969964024023642131483934828105715130704716159251940012314088602620015809365554543141634340027196601520338003009232675051604901930325275729956107710304435447685992800603264992183853577464105252733300639531504539467927092080356866570273336176235201510652775521219307425764263655353392064011487667250779669955454246846162046616652343696008002 3980421423060782474916018344864366403888316777470546561060732428528903554604369997510306074459488272161751756951810806950315936785842995445330370706934733971584012011278449883798482383061619977220062523517499202156882541992905237520049766646728480166288585570768152616236580844987124204539284271231764729382851312405693898114131616391743878064174250605048274380177979303399868729673596247341448437721140079264793851012664372439844501566018059347171926403090955890928886282913594298199899283074640752444951086617587135763900690656402420216576306932405780605763940315295049461379936697574949104598195433330702190626304136241198271718195286265596401219241873015767507137661455614956662034347507605756501896767700696544761759664799389300553367798143756674811948625116310168838776197925380574034191422503331298015777907903513266391436199069935199632595232169848708757597068687336485019194050435354168185213708778507945073442661603027092308441797241646959937967732342500486324066362946442334443623879414883553719181910921332526624631886665995694628996745691647670685376130637551420026663638321457258747559612004450713752626325832648946108958983866441203854409541820441792112343136001360593314700059331005901876030613898478635262456967449110286416170447549149896666873113327681708072512973106960639768188537356719368107015895156703302664590924386561847206024582409497704542097065038227182846466194780054007542830488830499592122518277441926052807645073532422106231411107262735939913503205202410641339620406398200689778388120713067944541633125244559666328536127077020571110855559873836941430092744843521912475327220479850053141683291412948205146085299328680308430930725571079370698435547534483640056572098142166889600475662947646831473528154855938787340298354943615374807035627554526746294014907489979566195038211784101481426765185049741142586922798189479159651420396775770574781572842017540067018364449540037936382696161829038056602576293412772939633149558839033085663050316093772597149294945037114535924122669109946029767190496514848142155879784938862805143246492893031269757504766632536049520258006962182543584512299183370623837919781162693236889151189311732200286032804955745286489201962775432619232842876552012216973376174983349026805101708368158011378698304895266306851163593891417362146399697810235901137688130484926531328703337800943524281886339531646856663497334090500613839784296729641076669470638540467885160812999135629637907479502895865984102611682400542644192379616353892907223908240334073792923213782510312807853801 6440457152060570553125326114795435354031199107380926136246104065250735374428715888983115142841944380007135282748805847678145744750431216737067583283937516615581021670564139311289806482899118112957953449418864363923264351337107796783885079294508537348219679723937780454030865754900663753399638372503446398994288856499129933271481850637115900225525153736214767270752558426901312447184503175412644151097874986220661207837773961793161848385297390389541772797004539724443068599499921275893592601511861601170426298320443927967191465868832187058859140421494524407984256484345123667024610140339609087079547329982081094538659195084690907074036534876670019111009196902934072179322513139892999140945396389125074991206447466276342056812189153095486715963976228827845143729564966139406906266988508126241898371100889906934495625446382435258223399129196928094937665439641888247016810482105234345286393147957132532699183543580893863421257941018777332498174239834289647534284771745975792780927991897473355541659813636015347401567843221520530244914417621499373148106542501809295678239847581360106529032016011730343273194456688342946151355619892853591147698477152492137954990458035197337049611606614537013433853663797550193082346126145066442671495159243520747149438648126428918754534900594240672337788638010884632255638686320161312383499011733753004767752493032011711441489588108121705632393333428988457001986676360776443362072613570843933905008835230281145511527067369516082584915208094814643838645167889532459751980375457862428717702145164698079549071180293049939852605642332171799867450293076278523556393474039071569146604284385824863219926798487152651351409589383555256027157914073914156689444126187211872677973831288246971772378144711367071408993304737489148601596367663663364361159528694541954974902929847137468690781935093862236670462376238819393055312888596880340706453052121963442615295589501753066678440128836121284380246126034553371137287308627647913005721002464477505342788788977302647944743864116494234515702315199368084380475288749216020741818816692487195736902124020222715250707742286435440481044461111839495572299550115551154046775174004786842845937667570919026777972208947903189359276745396643256485008035947045079091305688065186057041720682246613998714114260820849992797933918613963666737700819468576189293032415251807058659445511247959729572332332250121655681187667964719092517597369172581208938565632548242027383272471805873108990155671387203410037446664197997584443627841560158003578195788320639085260399162656503861803 10420878575121353028041344459659801757919515884851472697306836493779638929033085886493421217301432652168887039700616654628461681536274212182397953990872250587165033681842589195088288865960738090178015972936363566080146893330013034303934845941237017514508265294705933070267446599887787957938922643735211128377140168904823831385613467028859778289699404341263041650930537730301181176858099422754092588819015065485455058850438334233006349951315449736713699200095495615371954882413515574093491884586502353615377384938031063731092156525234607275435447353900305013748196799640173128404546837914558191677742763312783285164963331325889178792231821142266420330251069918701579316983968754849661175292903994881576887974148162821103816476988542396040083762119985502657092354681276308245682464913888700276089793604221204950273533349895701649659598199132127727532897609490597004613879169441719364480443583311300717912892322088838936863919544045869640939971481481249585502017114246462116847290938339807799165539228519569066583478764554047154876801083617194002144852234149479981054370485132780133192670337468989090832806461139056698777681452541799700106682343593695992364532278476989449392747607975130328133912994803452069112960024623701705128462608353807163319886197276325585627648228275948744850761744971524400444176043039529419399394168437055669358676879593858917466071997605826247729458371656171303468181456414783986192561444070436056423286277156333953156600599791622313996022470830754557341850370300173799372386773658552207105822858232642621182196424852716268388732719352742910723010166913219953649138317560984044473824764235878004903218211435357797436708918063863686957883485153284855124991660670851929250071973455136572248041092358198544937148160676276488899951311279038171396787083221288248989810419826703663728993719195343663435647425979961979978111078076039992126849827892538224188137607041820085042889668874057667076407955072609973713580721400587546155279841497563168393104882749899797239688901231030158638371425145397851570971803597358176621603755555292338983395017051492472755474374822484960739051423294383080084598733486174991966556336698023731997126979303119312810777164693189678561239520829262489327884587959262052467480671414212862143429050404625377412419156087156843961527810031325813137398629704477326981162900178338387362783312191484011458671863896978319178521758465332932301894098813657878409204173016127188196271607435511016469658567253187512649129064740641776823244195453065227486436122394432008474181672969311715604 16861335727181923581166670574455237111950714992232398833552940559030374303461801775476536360143377032176022322449422502306607426286705428919465537274809767202746055352406728506378095348859856203135969422355227930003411244667120831087819925235745554862727945018643713524298312354788451711338561016238657527371429025403953764657095317665975678515224558077477808921683096157202493624042602598166736739916890051706116266688212296026168198336612840126255471997100035339815023481913436849987084486098363954785803683258474991698283622394066794334294587775394829421732453283985296795429156978254167278757290093294864379703622526410580085866268356018936439441260266821635651496306481894742660316238300384006651879180595629097445873289177695491526799726096214330502236084246242447652588731902396826517988164705111111884769158796278136907882997328329055822470563049132485251630689651546953709766836731268433250612075865669732800285177485064646973438145721315539233036301885992437909628218930237281154707199042155584413985046607775567685121715501238693375292958776651289276732610332714140239721702353480719434106000917827399644929037072434653291254380820746188130319522736512186786442359214589667341567766658601002262195306150768768147799957767597327910469324845402754504382183128870189417188550382982409032699814729359690731782893180170808674126429372625870628907561585713947953361851705085159760470168132775560429554634057641279990328295112386615098668127667161138396580937678925569201180495538189706259124367149116414635823525003397340700731267605145766208241338361684914710590460459989498477205531791600055613620429048621702868123145009922510448788118507447418942985041399227199011814435786858063801928045804743383544020419237069565616346141465413765637501547678942701535757946611915830203964713349673841132419775654289205900106109802218781373033423966672920332833302880014501666803433196543573151721329797710178951456654081107163344850868030028235459161000843962040673735893671727202445184432765347524393154073740344765935951447092346574197363422572247779534720297141071715188006182117108920401220095884406222575656898283601726146013331510702810574843064646874038339588749373641092867920516266225905745812892623906307131558786359479398919185149732651239376126533416908006836759461728645289479875099449173053516274195315430145446022228823439443741031004196147099974859709426430052024819491467986239087347769805564369215579544079241384125459814238640390922686575728938639361266872037013223231064631910715071093734580835625815577407 27282214302303276609208015034115038869870230877083871530859777052810013232494887661969957577444809684344909362150039156935069107822979641101863491265682017789911089034249317701466384214820594293313985395291591496083558137997133865391754771176982572377236210313349646594565758954676239669277483659973868655748569194308777596042708784694835456804923962418740850572613633887503674800900702020920829328735905117191571325538650630259174548287928289862969171197195530955186978364326952424080576370684866308401181068196506055429375778919301401609730035129295134435480650083625469923833703816168725470435032856607647664868585857736469264658500177161202859771511336740337230813290450649592321491531204378888228767154743791918549689766166237887566883488216199833159328438927518755898271196816285526794077958309332316835042692146173838557542595527461183550003460658623082256244568820988673074247280314579733968524968187758571737149097029110516614378117202796788818538319000238900026475509868577088953872738270675153480568525372329614839998516584855887377437811010800769257786980817846920372914372690949708524938807378966456343706718524976452991361063164339884122684055014989176235835106822564797669701679653404454331308266175392469852928420375951135073789211042679080090009831357146138162039312127953933433143990772399220151182287348607864343485106252219729546373633583319774201091310076741331063938349589190344415747195501711716046751581389542949051824728266952760710576960149756323758522345908489880058496753922774966842929347861629983321913464029998482476630071081037657621313470626902718430854670109161039658094253812857580873026363221357868246224827425511282629942924884380483866939427447528915731178117778198520116268460329427764161283289626090042126401498990221739707154733695137118452954523769500544796148769373484549563541757228198743353011535044748960324960152707907039890991570803585393236764219466584236618533062036179773318564448751428823005316280685459603842128998554477102242424121666578554551792445165490163787522418895943932373985026327803071873703692158123207660761656491931405361959147307700605655741497017087901137979887847400834306840191626177157652399526538334282546481755787055168235140777211865569184026267030893611781328578783055864753538952572995163680720989538676615293012498078877530843255358215608483833385012135630927752489676060044078294038231184895384957121385566799896965756973978580496403775815686676895141929472805893578435335704793679281138090116232466288458551068033109503102208762508595127293011 44143550029485200190374685608570275981820945869316270364412717611840387535956689437446493937588186716520931684599461659241676534109685070021329028540491784992657144386656046207844479563680450496449954817646819426086969382664254696479574696412728127239964155331993360118864071309464691380616044676212526183119998219712731360699804102360811135320148520496218659494296730044706168424943304619087566068652795168897687592226862926285342746624541129989224643194295566295002001846240389274067660856783230263186984751454981047127659401313368195944024622904689963857213103367610766719262860794422892749192322949902512044572208384147049350524768533180139299212771603561972882309596932544334981807769504762894880646335339421015995563055343933379093683214312414163661564523173761203550859928718682353312066123014443428719811850942451975465425592855790239372474023707755567507875258472535626784014117045848167219137044053428304537434274514175163587816262924112328051574620886231337936103728798814370108579937312830737894553571980105182525120232086094580752730769787452058534519591150561060612636075044430427959044808296793855988635755597411106282615443985086072253003577751501363022277466037154465011269446312005456593503572326161238000728378143548462984258535888081834594392014486016327579227862510936342465843805501758910882965180528778673017611535624845600175281195169033722154453161781826490824408517721965904845301829559352996037079876501929564150492855934113899107157897828681892959702841446679586317621121071891381478752872865027324022644731635144248684871409442722572331903931086892216908060201900761095271714682861479283741149508231280378695012945932958701572927966283607682878753863234386979533106163582941903660288879566497329777629431091503807763903046669164441242912680307052948656919237119174385928568545027773755463647867030417524726044959011421880657793455587921541557795004000128966388485549264294415569989716117286936663415316781457058464477281529421644515864892226204304687608554431926078944946518905834929723473865988290506571348448900050851408423989299194922848767838609040325763179243192106828231398395300689627283993219358103644881683256273051195991988275911975375414402272053281073980953669835771876315585053390373010700513728515707104129665485989903170517480451267321904772887597528050584359529553531038629279407240959070371493520680256191178268897940611325436981940877034786136053104743784144865619355359765918279267389287044533969358022280522617920499356988269479511689615699943824574195943343344220942870418 71425764331788476799582700642685314851691176746400141895272494664650400768451577099416451515032996400865841046749500816176745641932664711123192519806173802782568233420905363909310863778501044789763940212938410922170527520661388561871329467589710699617200365645343006713429830264140931049893528336186394838868567414021508956742512887055646592125072482914959510066910363932209843225844006640008395397388700286089258917765513556544517294912469419852193814391491097250188980210567341698148237227468096571588165819651487102557035180232669597553754658033985098292693753451236236643096564610591618219627355806510159709440794241883518615183268710341342158984282940302310113122887383193927303299300709141783109413490083212934545252821510171266660566702528613996820892962101279959449131125534967880106144081323775745554854543088625814022968188383251422922477484366378649764119827293524299858261397360427901187662012241186876274583371543285680202194380126909116870112939886470237962579238667391459062452675583505891375122097352434797365118748670950468130168580798252827792306571968407980985550447735380136483983615675760312332342474122387559273976507149425956375687632766490539258112572859719262680971125965409910924811838501553707853656798519499598058047746930760914684401845843162465741267174638890275898987796274158131034147467877386537361096641877065329721654828752353496355544471858567821888346867311156249261049025061064712083831457891472513202317584201066659817734857978438216718225187355169466376117874994666348321682220726657307344558195665142731161501480523760229953217401713794935338914872009922134929808936674336864614175871452638246941237773358469984202870891167988166745693290681915895264284281361140423776557339895925093938912720717593849890304545659386180950067414002190067109873760888674930724717314401258305027189624258616268079056494056170840982753608295828581448786574803714359625249768730878652188522778153466709981979765532885881469793562214881248357993890780681406930032676098504633496738964071325093510996284884234438945333475227853923282127681457318130509529495100971731125138390499807433887139892317777528421973107205504479188523447899228353644387802450309657960884027840336242216094447047637445499611320421266622481842307298762968883204438562898334198201440805998520065900095606928115202784911746647113112792253094701299246010356316235256562936171796220821939062262601586033018861717762725362023131175452595174409318759850427547793357985316297201637447104501945800148166767976934077298152105852816070163429 115569314361273676989957386251255590833512122615716412259685212276490788304408266536862945452621183117386772731348962475418422176042349781144521548346665587775225377807561410117155343342181495286213895030585230348257496903325643258350904164002438826857164520977336366832293901573605622430509573012398921021988565633734240317442316989416457727445221003411178169561207093976916011650787311259095961466041495454986946509992376482829860041537010549841418457585786663545190982056807730972215898084251326834775150571106468149684694581546037793497779280938675062149906856818847003362359425405014510968819678756412671754013002626030567965708037243521481458197054543864282995432484315738262285107070213904677990059825422633950540815876854104645754249916841028160482457485275041162999991054253650233418210204338219174274666394031077789488393781239041662294951508074134217271995085766059926642275514406276068406799056294615180812017646057460843790010643051021444921687560772701575898682967466205829171032612896336629269675669332539979890238980757045048882899350585704886326826163118969041598186522779810564443028423972554168320978229719798665556591951134512028628691210517991902280390038896873727692240572277415367518315410827714945854385176663048061042306282818842749278793860329178793320495037149826618364831601775917041917112648406165210378708177501910929896936023921387218509997633640394312712755385033122154106350854620417708120911334393402077352810440135180558924892755807120109677928028801849052693738996066557729800435093591684631367202927300286979846372889966482802285121332800687152246975073910683230201523619535816148355325379683918625636250719291428685775798857451595849624447153916302874797390444944082327436846219462422423716542151809097657654207592328550622192980094309243015766792998007849316653285859429032060490837491289033792805101453067592721640547063883750123006581578803843326013735317995173067758512494270753646645395082314342939934270843744302892873858783006885711617641230530430712441685482977160023234470150872524945516681924127904774690551670756513053358297333710012056888317633691914262118538287618467155705966326563608124070206704172279549636376078362285033375286299893617316197048116883409321815196373811639633182356035814470073012869924552801504715681892073320424838787693134978699562314465277685742392199494053771670739531036572426434831834112407546258921003139636372169071966461546870227642486535218513453676708046894961517151380265838915122136804092771425311837782467920758651494095449197037013033847 186995078693062153789540086893940905685203299362116554154957706941141189072859843636279396967654179518252613778098463291595167817975014492267714068152839390557793611228466774026466207120682540075977835243523641270428024423987031820222233631592149526474364886622679373545723731837746553480403101348585315860857133047755749274184829876472104319570293486326137679628117457909125854876631317899104356863430195741076205427757890039374377336449479969693612271977277760795379962267375072670364135311719423406363316390757955252241729761778707391051533938972660160442600610270083240005455990015606129188447034562922831463453796867914086580891305953862823617181337484166593108555371698932189588406370923046461099473315505846885086068698364275912414816619369642157303350447376321122449122179788618113524354285661994919829520937119703603511361969622293085217428992440512867036114913059584226500536911766703969594461068535802057086601017600746523992205023177930561791800500659171813861262206133597288233485288479842520644797766684974777255357729427995517013067931383957714119132735087377022583736970515190700927012039648314480653320703842186224830568458283937985004378843284482441538502611756592990373211698242825278443127249329268653708041975182547659100354029749603663963195706172341259061762211788716894263819398050075172951260116283551747739804819378976259618590852673740714865542105498962134601102252344278403367399879681482420204742792284874590555128024336247218742627613785558326396153216157018519069856871061224078122117314318341938711761122965429711007874370490243032238338734514482087585889945920605365131332556210153012969501251136556872577488492649898669978669748619584016370140444598218770061674726305222751213403559358347517655454872526691507544512137987936803143047508311433082876666758896524247378003173830290365518027115547650060884157947123763562623300672179578704455368153607557685638985086726051719947035272424220356627374847847228821404064405959184141231852673787567118547673906628935345938424447048485116745466435756759384462015399355758697972679352213831183867826828810983788013456024191721696005678179936244684127939433769112603258730152071507903280763880812594691336170327733953558413142563931046767314807694232906255664198343113233041896074363115699838913883332879318944904687788741906814765099377024332855504991747148472969985541392888661691394770284203767080860065402237958202090828179309595589665617710671108628086026806745389064944738251155212323774251197273371111985949235897692728792247555049853083197276 302564393054335830779497473145196496518715421977832966414642919217631977377268110173142342420275362635639386509447425767013589994017364273412235616499504978333018989036028184143621550462864035362191730274108871618685521327312675078573137795594588353331529407600015740378017633411352175910912674360984236882845698681489989591627146865888562047015514489737315849189324551886041866527418629158200318329471691196063151937750266522204237377986490519535030729563064424340570944324182803642580033395970750241138466961864423401926424343324745184549313219911335222592507467088930243367815415420620640157266713319335503217466799493944654546599343197384305075378392028030876103987856014670451873513441136951139089533140928480835626884575218380558169066536210670317785807932651362285449113234042268346942564490000214094104187331150781392999755750861334747512380500514647084308109998825644153142812426172980038001260124830417237898618663658207367782215666228952006713488061431873389759945173599803117404517901376179149914473436017514757145596710185040565895967281969662600445958898206346064181923493295001265370040463620868648974298933561984890387160409418450013633070053802474343818892650653466718065452270520240645961442660156983599562427151845595720142660312568446413241989566501520052382257248938543512628650999825992214868372764689716958118512996880887189515526876595127933375539739139356447313857637377400557473750734301900128325654126678276667907938464471427777667520369592678436074081244958867571763595867127781807922552407910026570078964050265716690854247260456725834523460067315169239832865019831288595332856175745969161324826630820475498213739211941327355754468606071179865994587598514521644859065171249305078650249778820769941371997024335789165198719730316487425336027602620676098643459756904373564031289033259322426008864606836683853689259400191356284263847736063328827461949732411401011652720404721224787705547766694974003272769930161571761338335249703487034105711456794452830165315137159366058380109930025645139979936586629284329978697323483663472663231022970344237226124162520995844901773657883635958124216467554711839833905760332720727328936856243787452917139959174879724711456627627570874610190680814456089130004068044545888846554378927703114908944287668501343629565224952639369743475481876885514327413842302018597897191241202244640725072429461088126226604396611313339781068541874330371162794640856465817308104245889622081762734853640350582096118516994127445911055290044796423823731703818451380286343004246890096231123 489559471747397984569037560039137402203918721339949520569600626158773166450127953809421739387929542153892000287545889058608757811992378765679949684652344368890812600264494958170087757583546575438169565517632512889113545751299706898795371427186737879805894294222695113923741365249098729391315775709569552743702831729245738865811976742360666366585807976063453528817442009795167721404049947057304675192901886937139357365508156561578614714435970489228643001540342185135950906591557876312944168707690173647501783352622378654168154105103452575600847158883995383035108077359013483373271405436226769345713747882258334680920596361858741127490649151247128692559729512197469212543227713602641461919812059997600189006456434327720712953273582656470583883155580312475089158380027683407898235413830886460466918775662209013933708268270484996511117720483627832729809492955159951344224911885228379643349337939684007595721193366219294985219681258953891774420689406882568505288562091045203621207379733400405638003189856021670559271202702489534400954439613036082909035213353620314565091633293723086765660463810191966297052503269183129627619637404171115217728867702387998637448897086956785357395262410059708438663968763065924404569909486252253270469127028143379243014342318050077205185272673861311444019460727260406892470397876067387819632880973268705858317816259863449134117729268868648241081844638318581914959889721678960841150613983382548530396918963151258463066488807674996410147983378236762470234461115886090833452738189005886044669722228368508790725173231146401862121630946968866761798801829651327418754965751893960464188731956122174294327881957032370791227704591226025733138354690763882364728043112740414920739897554527829863653338179117459027451896862480672743231868304424228479075110932109181520126515800897811409292207089612791526891722384333914573417347315119846887148408242907531917317886018958697291705491447276507652583039119194359900144778008800582742399655662671175337564130582019948712989043788301404318534377074130256725403022386043714440712722839422170635910375184175421093950991331979632915229682075357654129894647490956523961845194101833330587667008315295356197903839987474416047626955361524433023333244745502856444811762277452144510752722040936156805018650784201182543448557831958314648163270618792329092513219326351453402182988350717610710613822349749817621374680815080420641133944112288573253622820166061406973721956560730709848761660385739647040856768149339769685306487318167535809680939716144109078590559296743179428399 792123864801733815348535033184333898722634143317782486984243545376405143827396063982564081808204904789531386796993314825622347806009743039092185301151849347223831589300523142313709308046410610800361295791741384507799067078612381977368509222781326233137423701822710854301758998660450905302228450070553789626548530410735728457439123608249228413601322465800769378006766561681209587931468576215504993522373578133202509303258423083782852092422461008763673731103406609476521850915740679955524202103660923888640250314486802056094578448428197760150160378795330605627615544447943726741086820856847409502980461201593837898387395855803395674089992348631433767938121540228345316531083728273093335433253196948739278539597362808556339837848801037028752949691790982792874966312679045693347348647873154807409483265662423108037895599421266389510873471344962580242189993469807035652334910710872532786161764112664045596981318196636532883838344917161259556636355635834575218776623522918593381152553333203523042521091232200820473744638720004291546551149798076648805002495323282915011050531500069150947583957105193231667092966890051778601918570966156005604889277120838012270518950889431129176287913063526426504116239283306570366012569643235852832896278873739099385674654886496490447174839175381363826276709665803919521121397702059602688005645662985663976830813140750638649644605863996581616621583777675029228817527099079518314901348285282676856051045641427926371004953279102774077668352970915198544315706074753662597048605316787693967222130138395078869689223496863092716368891403694701285258869144820567251619985583182555797044907702091335619154512777507869004966916532553381487606960761943748359315641627262059779805068803832908513903116999887400399448921198269837941951598620911653815102713552785280163586272705271375440581240348935217535756329221017768262676747506476131150996144306236359379267618430359708944425896168501295358130805814168363172914708170372344080734905366158209443275587376472778878304180947667462698644307099775396705339609015328044419410046323085643299141398154519658320075153852975477817003339958993612254111115045668363795750954434554057916603864559082809115043799162354140759083582989095307633523925559958945574815830321998033357307100968639271713962938452702526173013782784597684391638752495677843419927061628370051299374229552962251435686251810837943847979077426393760422202485986618944416417461022527224281826202450352791611496514026090229136975285143467215596361777362963959633412643534595489364933563543633275659522 1281683336549131799917572593223471300926552864657732007553844171535178310277524017791985821196134446943423387084539203884231105618002121804772134985804193716114644189565018100483797065629957186238530861309373897396912612829912088876163880649968064112943317996045405968225500363909549634693544225780123342370251362139981467323251100350609894780187130441864222906824208571476377309335518523272809668715275465070341866668766579645361466806858431497992316732643748794612472757507298556268468370811351097536142033667109180710262732553531650335751007537679325988662723621806957210114358226293074178848694209083852172579307992217662136801580641499878562460497851052425814529074311441875734797353065256946339467546053797136277052791122383693499336832847371295267964124692706729101245584061704041267876402041324632121971603867691751386021991191828590412971999486424966986996559822596100912429511102052348053192702511562855827869058026176115151331057045042717143724065185613963797002359933066603928680524281088222491033015841422493825947505589411112731714037708676903229576142164793792237713244420915385197964145470159234908229538208370327120822618144823226010907967847976387914533683175473586134942780208046372494770582479129488106103365405901882478628688997204546567652360111849242675270296170393064326413591795578126990507638526636254369835148629400614087783762335132865229857703428415993611143777416820758479156051962268665225386447964604579184834071442086777770487816336349151961014550167190639753430501343505793580011891852366763587660414396728009494578490522350663568047057670974471894670374951335076516261233639658213509913482394734540239796194621123779407220745315452707630724043684740002474700544966358360738377556455179004859426900818060750510685183466925335882294177824484894461683712788506169186849873447438548009062648051605351682836094094821595978038144552549143891296585504449318406236131387615777803010713844933362723073059486179172926823134561028829384780839717958492727591293224735968867017178684173905653430742631401371758860122769162507813935051773338695079414026145184955110732233022034351266384005762536624887757596148536387388504270872874378165312947639149828556806710538350619740656857170305461802019627592599450177868059823009575428518981589236903708716462340616555999039802023114470172512440280954721504701557217903679862146300074160587761469353758241474181063336430098907517670040281188588631255548159011083501460258174411829876177832053292806985281668264681131495443093583250739598443524122840376455087921 2073807201350865615266107626407805199649187007975514494538087716911583454104920081774549903004339351732954773881532518709853453424011864843864320286956043063338475778865541242797506373676367797038892157101115281904711679908524470853532389872749390346080741697868116822527259362570000539995772675850677131996799892550717195780690223958859123193788452907664992284830975133157586897266987099488314662237649043203544375972025002729144318899280892506755990463747155404088994608423039236223992572915012021424782283981595982766357311001959848095901167916474656594290339166254900936855445047149921588351674670285446010477695388073465532475670633848509996228435972592654159845605395170148828132786318453895078746085651159944833392628971184730528089782539162278060839091005385774794592932709577196075285885306987055230009499467113017775532864663173552993214189479894774022648894733306973445215672866165012098789683829759492360752896371093276410887693400678551718942841809136882390383512486399807451723045372320423311506760480142498117494056739209189380519040204000186144587192696293861388660828378020578429631238437049286686831456779336483126427507421944064023178486798865819043709971088537112561446896447329679065136595048772723958936261684775621578014363652091043058099534951024624039096572880058868245934713193280186593195644172299240033811979442541364726433406940996861811474325012193668640372594943919837997470953310553947902242499010246007111205076395365880544565484689320067159558865873265393416027549948822581273979113982505158666530103620224872587294859413754358269332316540119292461921994936918259072058278547360304845532636907512048108801161537656332788708352276214651379083359326367264534480350035162193646891459572178892259826349739259020348627135065546247536109280538037679741847299061211440562290454687787483226598404380826369451098770842328072109189140696855380250675853122879678115180557283784279098368844650747531086245974194349545270903869466394987594224115305334965506469597405683636329715822991273681050136082240416699803279532815485593457234193171493214737734101299037930588549236361993344878638116877582293251553347102970941446420874737433460974427991438312182697565794121339715048290381095865420747594443422921448211225366923978214700232944527689606234889476123401153683431440775610148015932367342583091556000931447456642113581986325971425705317332835667867941485538916085526462086457742211115855537374361461436293071754688437920105314807338436274200878030042044095455076506226785335087808457686384009730747443 3355490537899997415183680219631276500575739872633246502091931888446761764382444099566535724200473798676378160966071722594084559042013986648636455272760236779453119968430559343281303439306324983277423018410489179301624292738436559729696270522717454459024059693913522790752759726479550174689316901630800474367051254690698663103941324309469017973975583349529215191655183704633964206602505622761124330952924508273886242640791582374505785706139324004748307196390904198701467365930337792492460943726363118960924317648705163476620043555491498431652175454153982582953062788061858146969803273442995767200368879369298183057003380291127669277251275348388558688933823645079974374679706612024562930139383710841418213631704957081110445420093568424027426615386533573328803215698092503895838516771281237343162287348311687351981103334804769161554855855002143406186188966319741009645454555903074357645183968217360151982386341322348188621954397269391562218750445721268862666906994750846187385872419466411380403569653408645802539776321564991943441562328620302112233077912677089374163334861087653626374072798935963627595383907208521595060994987706810247250125566767290034086454646842206958243654264010698696389676655376051559907177527902212065039627090677504056643052649295589625751895062873866714366869050451932572348304988858313583703282698935494403647128071941978814217169276129727041332028440609662251516372360740596476627005272822613127628946974850586296039147837452658315053301025669219120573416040456033169458051292328374853991005834871922254190518016952882081873349936105021837379374211093764356592369888253335588319512187018518355446119302246588348597356158780112195929097591667359009807403011107267009180895001520554385269016027357897119253250557319770859312318532471583418403458362522574203531011849717609749140328135226031235661052432431721133934864937149668087227285249404524141972438627328996521416688671400056901379558495680893809319033680528718197727004027423816979004955023293458234060890630419605196733001675447586703566824871818071562139655584648101271169244944831909817148127444222885699281469384027696145022122640118918139310943251507328834925145610307839139740939077462011254372504659690334788947238266170882549614071015520898389093426746987790128751926116926509943605938464017709682471242798724618188444807623537813060702488665360321975728286400132013466786686593909342122548875346184433979756498023399704486792922520472519794532012862849749981492639391729081186159698306725226950519599810036074686251981809224386185835364 5429297739250863030449787846039081700224926880608760996630019605358345218487364181341085627204813150409332934847604241303938012466025851492500775559716279842791595747296100586078809812982692780316315175511604461206335972646961030583228660395466844805104801391781639613280019089049550714685089577481477606363851147241415858884631548268328141167764036257194207476486158837791551103869492722249438993190573551477430618612816585103650104605420216511504297660138059602790461974353377028716453516641375140385706601630301146242977354557451346527553343370628639177243401954316759083825248320592917355552043549654744193534698768364593201752921909196898554917369796237734134220285101782173391062925702164736496959717356117025943838049064753154555516397925695851389642306703478278690431449480858433418448172655298742581990602801917786937087720518175696399400378446214515032294349289210047802860856834382372250772070171081840549374850768362667973106443846399820581609748803887728577769384905866218832126615025729069114046536801707490060935619067829491492752118116677275518750527557381515015034901176956542057226622344257808281892451767043293373677632988711354057264941445708026001953625352547811257836573102705730625043772576674936023975888775453125634657416301386632683851430013898490753463441930510800818283018182138500176898926871234734437459107514483343540650576217126588852806353452803330891888967304660434474097958583376561029871445985096593407244224232818538859618785714989286280132281913721426585485601241150956127970119817377080920720621637177754669168209349859380106711690751213056818514364825171594660377790734378823200978756209758636457398517696436444984637449867882010388890762337474531543661245036682748032160475599536789379079600296578791207939453598017830954512738900560253945378310910929050311430782823013514462259456813258090585033635779477740196416425946259904392648291750208674636597245955184335999748403146428424895565007874878263468630873493818804573229070328628423740530488036103241526448824666721267753702907112234771365419188400133694728403438116325124554882228743260816287830705746021041023660239517701211390864290354478270281346020347741300114168930515774193951938298781030049837237619362036303297208514438442346600318793670966004828984870644616116178495414587418863365902683574334766204377174966120904616703420112816964089310272726103439172104019429577210064034414262269960441842955765610820342330296881933956087603767551287670086807446730165355387037728348769322405596106036821409774060439495608395916582807 8784788277150860445633468065670358200800666753242007498721951493805106982869808280907621351405286949085711095813675963898022571508039838141137230832476516622244715715726659929360113252289017763593738193922093640507960265385397590312924930918184299264128861085695162404032778815529100889374406479112278080730902401932114521988572872577797159141739619606723422668141342542425515310471998345010563324143498059751316861253608167478155890311559540516252604856528963801491929340283714821208914460367738259346630919279006309719597398112942844959205518824782621760196464742378617230795051594035913122752412429024042376591702148655720871030173184545287113606303619882814108594964808394197953993065085875577915173349061074107054283469158321578582943013312229424718445522401570782586269966252139670761610460003610429933971706136722556098642576373177839805586567412534256041939803845113122160506040802599732402754456512404188737996805165632059535325194292121089444276655798638574765155257325332630212530184679137714916586313123272482004377181396449793604985196029354364892913862418469168641408973975892505684822006251466329876953446754750103620927758555478644091351396092550232960197279616558509954226249758081782184950950104577148089015515866130629691300468950682222309603325076772357467830310980962733390631323170996813760602209570170228841106235586425322354867745493256315894138381893412993143405339665401030950724963856199174157500392959947179703283372070271197174672086740658505400705697954177459754943652533479330981961125652249003174911139654130636751041559285964401944091064962306821175106734713424930248697302921397341556424875512005224805995873855216557180566547459549369398698165348581798552842140038203302417429491626894686498332850853898562067251772130489414372916197263082828148909322760646660060571110958239545697920509245689811718968500716627408283643711195664428534620730377537671158013934626584392901127961642109318704884041555406981666357877521242621552234025351921881974591378666522846723181826342168854457269731984052842927558843984781795999572683061157034372030356187483701987112175130048737168682362157820129530175233605985599116271165958049139253909869593236205206310803440720384626184857628207185846822585453963244989412220417953794957736796761542626122101353051436573048373926373059384392821982589658717677405908778177286065038559126235452638890706023486552186583289608454394421599453789010524829123219402406475882135780414137420068300086121894436573197426655494549356115705846857484460312421304832782102418171 14214086016401723476083255911709439901025593633850768495351971099163452201357172462248706978610100099495044030661280205201960583974065689633638006392192796465036311463022760515438923065271710543910053369433698101714296238032358620896153591313651144069233662477476802017312797904578651604059496056593755687094753549173530380873204420846125300309503655863917630144627501380217066414341491067260002317334071611228747479866424752581805994916979757027756902516667023404282391314637091849925367977009113399732337520909307455962574752670394191486758862195411260937439866696695376314620299914628830478304455978678786570126400917020314072783095093742185668523673416120548242815249910176371345055990788040314412133066417191132998121518223074733138459411237925276108087829105049061276701415732998104180058632658909172515962308938640343035730296891353536204986945858748771074234153134323169963366897636982104653526526683486029287371655933994727508431638138520910025886404602526303342924642231198849044656799704866784030632849924979972065312800464279285097737314146031640411664389975850683656443875152849047742048628595724138158845898521793396994605391544189998148616337538258258962150904969106321212062822860787512809994722681252084112991404641583755325957885252068854993454755090670848221293752911473534208914341353135313937501136441404963278565343100908665895518321710382904746944735346216324035294306970061465424822922439575735187371838945043773110527596303089736034290872455647791680837979867898886340429253774630287109931245469626084095631761291308391420209768635823782050802755713519877993621099538596524909075093655776164757403631721763861263394391551653002165203997327431379787588927686056330096503385074886050449589967226431475877412451150477353275191225728507245327428936163643082094287633671575710372001893781253060160179966058947902304002136496105148480060137141924332927269022127746345794611180581768728900876364788537743600449049430285245134988751015061426125463095680550305715121866702626088249630651008890122210972639096287614292978032384915490727976121177482158926912584930744518274942880876069778192342601675521340921039523960463869397617186305790439368078800109010399158249102221750434463422476990243489144031099892405591589731014088919799786721667406158742300596767638855436414276609947394150597199157555779622294109328890994250154348831852338891810994725453063762250617703870724354863442409554621345171453516284340431969739547965425090155107532852059791960235155004263871761711811883678894234372860800441178019000978 22998874293552583921716723977379798101826260387092775994073922592968559184226980743156328330015387048580755126474956169099983155482105527774775237224669313087281027178749420444799036317560728307503791563355791742222256503417756211209078522231835443333362523563171964421345576720107752493433902535706033767825655951105644902861777293423922459451243275470641052812768843922642581724813489412270565641477569670980064341120032920059961885228539297544009507373195987205774320654920806671134282437376851659078968440188313765682172150783337036445964381020193882697636331439073993545415351508664743601056868407702828946718103065676034943813268278287472782129977036003362351410214718570569299049055873915892327306415478265240052404987381396311721402424550154700826533351506619843862971381985137774941669092662519602449934015075362899134372873264531376010573513271283027116173956979436292123872938439581837056280983195890218025368461099626787043756832430641999470163060401164878108079899556531479257186984384004498947219163048252454069689981860729078702722510175386005304578252394319852297852849128741553426870634847190468035799345276543500615533150099668642239967733630808491922348184585664831166289072618869294994945672785829232202006920507714385017258354202751077303058080167443205689124063892436267599545664524132127698103346011575192119671578687333988250386067203639220641083117239629317178699646635462496375547886295774909344872231904990952813810968373360933208962959196306297081543677822076346095372906308109618091892371121875087270542900945439028171251327921788183994893820675826699168727834252021455157772396577173506313828507233769086069390265406869559345770544786980749186287093034638128649345525113089352867019458853326162375745302004375915342442997858996659700345133426725910243196956432222370432573004739492605858100475304637714022970637212732556763703848337588761461889752505284016952625115208353121802004326430647062305333090985692226801346628536304047677697121032472187689713245369148934972812477351058976668242371080340457220536876369697286727548804238639193298942941118228220262055056006118515361024963833341470451214757566449468513888352263839578621988669702246604364559905662470819089607334618450674990853685346368836579143234506873594744458464167701368422698120690292009462650536320453534990021140145438339971515237669171536219387390978574344449885431476550314437200993479178749285041863343631870000576735686746907851875328379562510223407618973954228533432581659758421117827517730536378694685282105273960121419149 37212960309954307397799979889089238002851854020943544489425893692132011385584153205405035308625487148075799157136236374301943739456171217408413243616862109552317338641772180960237959382832438851413844932789489843936552741450114832105232113545486587402596186040648766438658374624686404097493398592299789454920409500279175283734981714270047759760746931334558682957396345302859648139154980479530567958811641282208811820986457672641767880145519054571766409889863010610056711969557898521059650414385965058811305961097621221644746903453731227932723243215605143635076198135769369860035651423293574079361324386381615516844503982696349016596363372029658450653650452123910594225464628746940644105046661956206739439481895456373050526505604471044859861835788079976934621180611668905139672797718135879121727725321428774965896324014003242170103170155884912215560459130031798190408110113759462087239836076563941709807509879376247312740117033621514552188470569162909496049465003691181451004541787730328301843784088871282977852012973232426135002782325008363800459824321417645716242642370170535954296724281590601168919263442914606194645243798336897610138541643858640388584071169066750884499089554771152378351895479656807804940395467081316314998325149298140343216239454819932296512835258114053910417816803909801808460005877267441635604482452980155398236921788242654145904388914022125388027852585845641213993953605523961800370808735350644532244070850034725924338564676450669243253831651954088762381657689975232435802160082739905201823616591501171366174662236747419591461096557611966045696576389346577162348933790617980066847490232949671071232138955532947332784656958522561510974542114412128973876020720694458745848910187975403316609426079757638253157753154853268617634223587503905027774069590368992337484590103798080804574898520745666018280441363585616326972773708837705243763985479513094389158774633030362747236295790121850702880691219184805905782140415977471936335379551365473803160216713022493404835112071775023222443128359949098879215010176628071513514908754612777455524925416121352225855526048972738536997936882188293553367565508862811372254281526913337911505538569630017990067469811257003522809007884221253553029811608694164134884785238774428168874248595793394531180131573860110723294888329147445876927146267847685587220297701217962265624566560165786373736222830913236260880156929614076687818697349903104148484272898253215172030251971087339821614876344987600378515151826014020493667736664022292879539329614215272929058142905715138140420127 60211834603506891319516703866469036104678114408036320483499816285100570569811133948561363638640874196656554283611192543401926894938276745183188480841531422639598365820521601405036995700393167158917636496145281586158809244867871043314310635777322030735958709603820730860003951344794156590927301128005823222746065451384820186596759007693970219211990206805199735770165189225502229863968469891801133600289210953188876162106490592701729765374058352115775917263058997815831032624478705192193932851762816717890274401285934987326919054237068264378687624235799026332712529574843363405451002931958317680418192794084444463562607048372383960409631650317131232783627488127272945635679347317509943154102535872099066745897373721613102931492985867356581264260338234677761154532118288749002644179703273654063396817983948377415830339089366141304476043420416288226133972401314825306582067093195754211112774516145778766088493075266465338108578133248301595945302999804908966212525404856059559084441344261807559030768472875781925071176021484880204692764185737442503182334496803651020820894764490388252149573410332154595789898290105074230444589074880398225671691743527282628551804799875242806847274140435983544640968098526102799886068252910548517005245657012525360474593657571009599570915425557259599541880696346069408005670401399569333707828464555347517908500475576642396290456117661346029110969825474958392693600240986458175918695031125553877116302755025678738149533049811602452216790848260385843925335512051578531175066390849523293715987713376258636717563182186447762712424479400150040590397065173276331076768042639435224619886810123177385060646189302033402174922365392120856745086901392878160163113755332587395194435301064756183628884933083800628903055159229183960077221446500564728119203017094902580681546536020451237147903260238271876380916668223330349943410921570262007467833817101855851048527138314379699861410998474972504885017649831868211115231401669698737682008087669521480857337745494681094548357440923958195255605711008075547457381256968528734051785124310064183073729654760545524798467167200958799052992888306808914392529342204281823469039093362806425393890833469596612056139513503607887368913546692072642637146227144839125738470585143264748017483102666989275638595741561479145993009019439455339577682588301220577241437846656302237139804229337322593123613809487580710765588406164391125019690829081853433526136241885085172606987657834247673490204724550110601922770799968249027100318323780713997366847344751651623743425010989098261839276 97424794913461198717316683755558274107529968428979864972925709977232581955395287153966398947266361344732353440747428917703870634394447962591601724458393532191915704462293782365274955083225606010331481428934771430095361986317985875419542749322808618138554895644469497298662325969480560688420699720305612677666474951663995470331740721964017978972737138139758418727561534528361878003123450371331701559100852235397687983092948265343497645519577406687542327152922008425887744594036603713253583266148781776701580362383556208971665957690799492311410867451404169967788727710612733265486654355251891759779517180466059980407111031068732977005995022346789683437277940251183539861143976064450587259149197828305806185379269177986153457998590338401441126096126314654695775712729957654142316977421409533185124543305377152381726663103369383474579213576301200441694431531346623496990177206955216298352610592709720475896002954642712650848695166869816148133773568967818462261990408547241010088983131992135860874552561747064902923188994717306339695546510745806303642158818221296737063537134660924206446297691922755764709161733019680425089832873217295835810233387385923017135875968941993691346363695207135922992863578182910604826463719991864832003570806310665703690833112390941896083750683671313509959697500255871216465676278667010969312310917535502916145422263819296542194845031683471417138822411320599606687553846510419976289503766476198409360373605060404662488097726262271695470622500214474606306993202026810966977226473589428495539604304877430002892225418933867354173521037012116086286973454519853493425701833257415291467377043072848456292785144834980734959579323914682367719629015805007134039134476027046141043345489040159500238311012841438882060808314082452577711445034004469755893272607463894918166136639818532041722801780983937894661358031808946676916184630407967251231819296614950240207301771344742447097706788596823207765708869016674116897371817647170674017387639034995284017554458517174499383469512698981417698734070957174426672391433596600247566693878922841638598655070881897750653993216173697336050929770495102467760094851067093195723320620276144336899429403099614602123609324760611410177921430913326195666957835839003260623255823917692916891731698460383806818727315421589869287897348586901216504828856148906164461735547874264502764370789503108966859836640400816971645745335778467812838388178984957582010409140138300344637239628921587495105081069537710980437922625982269520768054987803006876906176958966924552801567916704236402259403 157636629516968090036833387622027310212208082837016185456425526262333152525206421102527762585907235541388907724358621461105797529332724707774790205299924954831514070282815383770311950783618773169249117925080053016254171231185856918733853385100130648874513605248290228158666277314274717279348000848311435900412540403048815656928499729657988198184727344944958154497726723753864107867091920263132835159390063188586564145199438858045227410893635758803318244415981006241718777218515308905447516117911598494591854763669491196298585011927867756690098491687203196300501257285456096670937657287210209440197709974550504443969718079441116937415626672663920916220905428378456485496823323381960530413251733700404872931276642899599256389491576205758022390356464549332456930244848246403144961157124683187248521361289325529797557002192735524779055256996717488667828403932661448803572244300150970509465385108855499241984496029909177988957273300118117744079076568772727428474515813403300569173424476253943419905321034622846827994365016202186544388310696483248806824493315024947757884431899151312458595871102254910360499060023124754655534421948097694061481925130913205645687680768817236498193637835643119467633831676709013404712531972902413349008816463323191064165426769961951495654666109228573109501578196601940624471346680066580303020139382090850434053922739395938938485301149344817446249792236795557999381154087496878152208198797601752286476676360086083400637630776073874147687413348474860450232328714078389498152292864438951789255592018253688639609788601120315116885945516412266126877370519693129824502469875896850516087263853196025841353431334137014137134501689306803224464715917197885294202248231359633536237780790104915683867195945925239510963863473311636537788666480505034484012475624558797498847683175838983278870705041222209771042274700032277026859595551978229258699653113716806091255828909659122146959117787071795712650726518848542328012603219316869411699395726704516764874892204011855593931826953622939612954339781965249974129772690565128981618479003232905821672384725642443275452460383374656135103922658801911382152624193271375019192359713638950762293320236569211214179748838264219297546834977605398838304104062983842386361726409060957664909214801127373082457323056983069015280906368026356556082511444450126741703173394530566739904175018840431559983450449888397682411333741942858937858079008066811015536545382023385517244227286755835168595285794087821582360693425950518547868373311583720874273024303718576176544992927693334664098679 255061424430429288754150071377585584319738051265996050429351236239565734480601708256494161533173596886121261165106050378809668163727172670366391929758318487023429774745109166135586905866844379179580599354014824446349533217503842794153396134422939267013068500892759725457328603283755277967768700568617048578079015354712811127260240451622006177157464483084716573225288258282225985870215370634464536718490915423984252128292387123388725056413213165490860571568903014667606521812551912618701099384060380271293435126053047405270250969618667249001509359138607366268289984996068829936424311642462101199977227155016564424376829110509849914421621695010710599658183368629640025357967299446411117672400931528710679116655912077585409847490166544159463516452590863987152705957578204057287278134546092720433645904594702682179283665296104908253634470573018689109522835464008072300562421507106186807817995701565219717880498984551890639805968466987933892212850137740545890736506221950541579262407608246079280779873596369911730917554010919492884083857207229055110466652133246244494947969033812236665042168794177666125208221756144435080624254821314989897292158518299128662823556737759230189540001530850255390626695254891924009538995692894278181012387269633856767856259882352893391738416792899886619461275696857811840937022958733591272332450299626353350199345003215235480680146181028288863388614648116157606068707934007298128497702564077950695837049965146488063125728502336145843158035848689335056539321916105200465129519338028380284795196323131118642502014020054182471059466553424382213164343974212983317928171709154265807554640896268874297646216478971994872094081013221485592184344933002892428241382707386679677281126279145075184105506958766678393024671787394089115500111514509504239905748232022692417013819815657515320593506822206147665703632731841223703775780182386196509931472410331756331463130681003864594056824575668618920416435387865216444909975036964040085716783365739512048892446662529030093315296466321921030653073852922424400802164124161729229185172882155747460271039796524341026106453599548353471154852429297013849912719044338468214915680333915095099192749639668825816303358163024830707724756408518725033971061898822845646984982232978650581800946499587756889276050372404658884568803716613257772587340300599032906164908942404831242668545808343540526843287090289214654057079077721326750696467187051768597546954522161685861881466915677422663700366863625532562798616051932788068636428299386727751179201262685500729346560844397571066358082 412698053947397378790983458999612894531946134103012235885776762501898887005808129359021924119080832427510168889464671839915465693059897378141182135058243441854943845027924549905898856650463152348829717279094877462603704448689699712887249519523069915887582106141049953615994880598029995247116701416928484478491555757761626784188740181279994375342191828029674727723014982036090093737307290897597371877880978612570816273491825981433952467306848924294178815984884020909325299031067221524148615501971978765885289889722538601568835981546535005691607850825810562568791242281524926607361968929672310640174937129567068868346547189950966851837248367674631515879088797008096510854790622828371648085652665229115552047932554977184666236981742749917485906809055413319609636202426450460432239291670775907682167265884028211976840667488840433032689727569736177777351239396669521104134665807257157317283380810420718959864995014461068628763241767106051636291926706513273319211022035353842148435832084500022700685194630992758558911919027121679428472167903712303917291145448271192252832400932963549123638039896432576485707281779269189736158676769412683958774083649212334308511237506576466687733639366493374858260526931600937414251527665796691530021203732957047832021686652314844887393082902128459728962853893459752465408369638800171575352589681717203784253267742611174419165447330373106309638406884911715605449862021504176280705901361679702982313726325232571463763359278410019990845449197164195506771650630183589963281812202467332074050788341384807282111802621174497587945412069836648340041714493906113142430641585051116323641904749464900138999647813109009009228582702528288816649060850200777722443630938746313213518907069249990867972702904691917903988535260705725653288777995014538723918223856581489915861502991496498599464211863428357436745907431873500730635375734364425768631125524048562422718959590662986741015942362740414633067161906713758772922578256280909497416179092444028813767338866540885687247123419944860643607413634887674374931936814726858210803651885388653281943424522166784301558913982923009606258775088098925232065343237609843234108040047554045861486069876238037030483107001289050005271591386124123872275165961806688033346708642039608246710161300715129971733373429387727899849710084639614328669851745049159647868082336935397982572720827183972086826737540177612336468412819664185688554546195118579613083499904185071379125694202433257832295652657713354145159309477883306616504801610970448625452225566404076905891553772090905730456761 667759478377826667545133530377198478851684185369008286315127998741464621486409837615516085652254429313631430054570722218725133856787070048507574064816561928878373619773033716041485762517307531528410316633109701908953237666193542507040645653946009182900650607033809679073323483881785273214885401985545533056570571112474437911448980632902000552499656311114391300948303240318316079607522661532061908596371894036555068401784213104822677523720062089785039387553787035576931820843619134142849714886032359037178725015775586006839086951165202254693117209964417928837081227277593756543786280572134411840152164284583633292723376300460816766258870062685342115537272165637736536212757922274782765758053596757826231164588467054770076084471909294076949423261646277306762342160004654517719517426216868628115813170478730894156124332784945341286324198142754866886874074860677593404697087314363344125101376511985938677745493999012959268569210234093985528504776844253819209947528257304383727698239692746101981465068227362670289829473038041172312556025110941359027757797581517436747780369966775785788680208690610242610915503535413624816782931590727673856066242167511462971334794244335696877273640897343630248887222186492861423790523358690969711033591002590904599877946534667738279131499695028346348424129590317564306345392597533762847685039981343557134452612745826409899845593511401395173027021533027873211518569955511474409203603925757653678150776290379059526889087780746165834003485045853530563310972546288790428411331540495712358845984664515925924613816641228680059004878623261030553206058468119096460358813294205382131196545645733774436645864292081003881322663715749774408833405783203670150685013646132992890800033348395066052078209863458596297013207048099814768788889509524042963823972088604182332875322807154013920057718685634505102449540163714724434411155916750622278562597934380318754182090271666851335072766938409033553483597294578975217832553293244949583132962458183540862659785529069915780562419886266781674260487487810098775734100938888587439988824767544400742214464318691125327665367582471363077413627517395939081978062281948311449023720381469140960678819515906862846786465164313880712996347794642848906246227860629533680331690875018258828511107800302886861009423801792386784418513801252872101257192045648192554032991279340229225241266635527512613670024630466826990525491897385512439251013382170348210630454426346757241007161118110680495996019521338886707957925529816094685141229910357176376631426829089577635238114616488476796814843 1080457532325224046336116989376811373383630319472020522200904761243363508492217966974538009771335261741141598944035394058640599549846967426648756199874805370733317464800958265947384619167770683877240033912204579371556942114883242219927895173469079098788232713174859632689318364479815268462002103402474017535062126870236064695637720814181994927841848139144066028671318222354406173344829952429659280474252872649125884675276039086256629991026911014079218203538671056486257119874686355666998330388004337803064014905498124608407922932711737260384725060790228491405872469559118683151148249501806722480327101414150702161069923490411783618096118430359973631416360962645833047067548545103154413843706261986941783212521022031954742321453652043994435330070701690626371978362431104978151756717887644535797980436362759106132965000273785774319013925712491044664225314257347114508831753121620501442384757322406657637610489013474027897332452001200037164796703550767092529158550292658225876134071777246124682150262858355428848741392065162851741028193014653662945048943029788629000612770899739334912318248587042819096622785314682814552941608360140357814840325816723797279846031750912163565007280263837005107147749118093798838042051024487661241054794735547952431899633186982583166524582597156806077386983483777316771753762236333934423037629663060760918705880488437584319011040841774501482665428417939588816968431977015650689909505287437356660464502615611630990652447059156185824848934243017726070082623176472380391693143742963044432896773005900733206725619262403177646950290693097678893247772962025209602789454879256498454838450395198674575645512105190012890551246418278063225482466633404447873128644584879306104318940417645056920050912768150514201001742308805540422077667504538581687742195945185672248736825798650512519521930549062862539195447595588225165046531651115048047193723458428881176901049862329838076088709301149448186550759201292733990755131549525859080549141550627569676427124395610801467809543306211642317867901122697773150666037753615445650792476652933054024157888840857909629224281565394372683672402605494864314043405519558154683131760429023186822164889392144899877269572165602930718267939180766972778521393822436221713678399517057867075221269101018016832742797231180114684268223885892486429927043790697352201901073616275627207813987462711484700496762170644439326993904717049698127805559577288927823713954330531828620132855320543938328291672179052240853117235007699401301646031521327625002083652395493654541129668388579382527271604 1748217010703050713881250519754009852235314504841028808516032759984828129978627804590054095423589691054773028998606116277365733406634037475156330264691367299611691084573991981988870381685078215405650350545314281280510179781076784726968540827415088281688883320208669311762641848361600541676887505388019550591632697982710502607086701447083995480341504450258457329619621462672722252952352613961721189070624766685680953077060252191079307514746973103864257591092458092063188940718305489809848045274036696840242739921273710615247009883876939515077842270754646420242953696836712439694934530073941134320479265698734335453793299790872600384354988493045315746953633128283569583280306467377937179601759858744768014377109489086724818405925561338071384753332347967933134320522435759495871274144104513163913793606841490000289089333058731115605338123855245911551099389118024707913528840435983845567486133834392596315355983012486987165901662235294022693301480395020911739106078549962609603832311469992226663615331085718099138570865103204024053584218125595021972806740611306065748393140866515120700998457277653061707538288850096439369724539950868031670906567984235260251180825995247860442280921161180635356034971304586660261832574383178630952088385738138857031777579721650321445656082292185152425811113074094881078099154833867697270722669644404318053158493234263994218856634353175896655692449950967462028487001932527125099113109213195010338615278905990690517541534839902351658852419288871256633393595722761170820104475283458756791742757670416659131339435903631857705955169316358709446453831430144306063148268173461880586034996040932449012291376397271016771873910134027837634315872416608118023813658231012298995118973766040122972129122631609110498014949356905355190866557014062624651566168033789854581612148605804526439579649234697367641644987759302949599457687567865670325756321392809199931083140133996689411161476239558481740034356495871709208587684842770808663682104008811110539086909924680717248371963192478423992128388610507871926400138692504033090781301420477454766372353159549034956889649147865735761086030122890803396021467801506466132155480810492327782843708908051762724056037329916811431264286975409821684767621683065755394010090392076125903732376901320903693752221032972501468686737687145358531184235836345544755934064895615856433055254098238997314166786801111266317519396614435210567056572959459276034344408756878585861140016438654618824287691700391127561075160537515495986787261431684801378715079224583232176367783005067859324086447 2828674543028274760217367509130821225618944824313049330716937521228191638470845771564592105194924952795914627942641510336006332956481004901805086464566172670345008549374950247936255000852848899282890384457518860652067121895960026946896436000884167380477116033383528944451960212841415810138889608790493568126694824852946567302724422261265990408183352589402523358290939685027128426297182566391380469544877639334806837752336291277335937505773884117943475794631129148549446060592991845476846375662041034643306754826771835223654932816588676775462567331544874911648826166395831122846082779575747856800806367112885037614863223281284384002451106923405289378369994090929402630347855012481091593445466120731709797589630511118679560727379213382065820083403049658559506298884866864474023030861992157699711774043204249106422054333332516889924352049567736956215324703375371822422360593557604347009870891156799253952966472025961015063234114236494059858098183945788004268264628842620835479966383247238351345765593944073527987312257168366875794612411140248684917855683641094694749005911766254455613316705864695880804161074164779253922666148311008389485746893800959057531026857746160024007288201425017640463182720422680459099874625407666292193143180473686809463677212908632904612180664889341958503198096557872197849852917070201631693760299307465078971864373722701578537867675194950398138357878368907050845455433909542775789022614500632366999079781521602321508193981899058537483701353531888982703476218899233551211797619026421801224639530676317392338065055166035035352905460009456388339701604392169515665937723052718379040873446436131123587936888502461029662425156552305900859798339050012565896942302815891605099437914183685179892180035399759624699016691665710895612944224518601206339308363978975526830348974404455038959101579783760230180840435354891174764504219218980718372950044851238081107984189996326527487250185540707929926585115697164443199342816392296667744231245559438680215514034320291518716181506498690066309996289733205645077066176446119478741573778073410508790530242000406944586113930713260108444758432728385667710064873321064620815287241239515514605008598300196662601325609495519742149532226156176794463289015505501977107688489909133992978953646002338920526495018264152616152954961573037844961111279627042896957835138511891483640869241560950482014663548971755705644513301331484908694862132536748203858058363087410414481272871759198557152579363879443368414192395545214897288433292953012426380798731620076886717497451393647241851358051 4576891553731325474098618028884831077854259329154078139232970281213019768449473576154646200618514643850687656941247626613372066363115042376961416729257539969956699633948942229925125382537927114688540735002833141932577301677036811673864976828299255662165999353592198256214602061203016351815777114178513118718327522835657069909811123708349985888524857039660980687910561147699850679249535180353101658615502406020487790829396543468415245020520857221807733385723587240612635001311297335286694420936077731483549494748045545838901942700465616290540409602299521331891779863232543562541017309649688991121285632811619373068656523072156984386806095416450605125323627219212972213628161479859028773047225979476477811966740000205404379133304774720137204836735397626492640619407302623969894305006096670863625567650045739106711143666391248005529690173422982867766424092493396530335889433993588192577357024991191850268322455038448002229135776471788082551399664340808916007370707392583445083798694717230578009380925029791627125883122271570899848196629265843706890662424252400760497399052632769576314315163142348942511699363014875693292390688261876421156653461785194317782207683741407884449569122586198275819217691727267119361707199790844923145231566211825666495454792630283226057836747181527110929009209631967078927952071904069328964482968951869397025022866956965572756724309548126294794050328319874512873942435842069900888135723713827377337695060427593012025735516738960889142553772820760239336869814621994722031902094309880558016382288346734051469404491069666893058860629325815097786155435822313821729085991226180259626908442477063572600228264899732046434299066686333738494114211466620683920755961046903904094556887949725302864309158031368735197031641022616250803810781532663830990874532012765381411961123010259565398681229018457597822485423114194124363961906786846388698706366244047281039067330130323216898411661780266411666619472193036152407930501235067476407913349568249790754600944244972235964553469691168490302124678343713517003466315138623511832355079493887963556902595159955979543003579861125844205844462851276471106086341122571086947442722050007842387852307208248425325381646825436553580796513131586616148056637188567732501698580301210118882686022903659824220247239297125117621641699260183203492295515463388441713769203407507340073924495659189479328830335772866971962032697945920119261918705496207479892402771844289000342412888197853175976867055579834495975267556082730393275220554384697227759513810844660118893865234398715101175444498 7405566096759600234315985538015652303473204153467127469949907802441211406920319347719238305813439596646602284883889136949378399319596047278766503193823712640301708183323892477861380383390776013971431119460352002584644423572996838620761412829183423042643115386975727200666562274044432161954666722969006686845022347688603637212535545969615976296708209629063504046201500832726979105546717746744482128160380045355294628581732834745751182526294741339751209180354716389162081061904289180763540796598118766126856249574817381062556875517054293066002976933844396243540606029628374685387100089225436847922091999924504410683519746353441368389257202339855894503693621310142374843976016492340120366492692100208187609556370511324083939860683988102203024920138447285052146918292169488443917335868088828563337341693249988213133197999723764895454042222990719823981748795868768352758250027551192539587227916147991104221288927064409017292369890708282142409497848286596920275635336235204280563765077964468929355146518973865155113195379439937775642809040406092391808518107893495455246404964399024031927631869007044823315860437179654947215056836572884810642400355586153375313234541487567908456857324011215916282400412149947578461581825198511215338374746685512475959132005538916130670017412070869069432207306189839276777804988974270960658243268259334475996887240679667151294591984743076692932408206688781563719397869751612676677158338214459744336774841949195333533929498638019426626255126352649222040346033521228273243699713336302359241021819023051443807469546235701928411766089335271486125857040214483337395023714278898638667781888913194696188165153402193076096724223238639639353912550516633249817698263862795509193994802133410482756489193431128359896048332688327146416755006051265037330182895991740908242310097414714604357782808802217828003325858469085299128466126005827107071656411095285362147051520126649744385661847320974341593204587890200595607273317627364144152144595127688470970114978565263754680734976189858556612120968076919162080532491584742990573928857567298472347432837160362924129117510574385952650602895579662138816151214443635707762729963289523356992860905508445087926707256320956295730328739287763410611345652694069709609387070210344111861639668905998744746742257561277733774596660833221048453406795090431338671604341919398823714793737220139961343493884744622677606545999277405027956780838032955683750461134931699414823685759957051733129446419459277864389459951627945290563653847337709654140312542464737005611362685792362343026802549 11982457650490925708414603566900483381327463482621205609182878083654231175369792923873884506431954240497289941825136763562750465682711089655727919923081252610258407817272834707786505765928703128659971854463185144517221725250033650294626389657482678704809114740567925456881164335247448513770443837147519805563349870524260707122346669677965962185233066668724484734112061980426829784796252927097583786775882451375782419411129378214166427546815598561558942566078303629774716063215586516050235217534196497610405744322862926901458818217519909356543386536143917575432385892860918247928117398875125839043377632736123783752176269425598352776063297756306499629017248529355347057604177972199149139539918079684665421523110511529488318993988762822340229756873844911544787537699472112413811640874185499426962909343295727319844341666115012900983732396413702691748172888362164883094139461544780732164584941139182954489611382102857019521505667180070224960897512627405836283006043627787725647563772681699507364527444003656782239078501711508675491005669671936098699180532145896215743804017031793608241947032149393765827559800194530640507447524834761231799053817371347693095442225228975792906426446597414192101618103877214697823289024989356138483606312897338142454586798169199356727854159252396180361216515821806355705757060878340289622726237211203873021910107636632724051316294291202987726458535008656076593340305593682577565294061928287121674469902376788345559665015376980315768808899173409461377215848143222995275601807646182917257404107369785495276874037305368821470626718661086583912012476036797159124109705505078898294690331390258268788393418301925122531023289924973377848026761983253933738454224909699413288551690083135785620798351462497095093079973710943397220565787583928868321057428004506289654271220424974169756464037820675425825811281583279423492428032792673495770362777339332643186118850256972961284073509101240753259824060083236748015203818862431620560057944695938261724715922810235990645288445881027046914245646420632679083998806723366502406283937061186435904335432320318903672121090435511796856447358430938609922237555566206794710172685339531199380713212716693513252088903146392849311125252419350026759402289882637442111085650511554230744325691809658568966989496858402851396238360093404251945702310553819780385373545326906163788718232879329440672324220517489649568578697223325147218699543529163163642863906775988415166098648154904909106313475039112360364727507710675683838874401722406881899826353309397124505227920191077444202247047 19388023747250525942730589104916135684800667636088333079132785886095442582290112271593122812245393837143892226709025900512128865002307136934494423116904965250560116000596727185647886149319479142631402973923537147101866148823030488915387802486666101747452230127543652657547726609291880675725110560116526492408372218212864344334882215647581938481941276297787988780313562813153808890342970673842065914936262496731077047992862212959917610073110339901310151746433020018936797125119875696813776014132315263737261993897680307964015693734574202422546363469988313818972991922489292933315217488100562686965469632660628194435696015779039721165320500096162394132710869839497721901580194464539269506032610179892853031079481022853572258854672750924543254677012292196596934455991641600857728976742274327990300251036545715532977539665838777796437774619404422515729921684230933235852389489095973271751812857287174058710900309167266036813875557888352367370395360914002756558641379862992006211328850646168436719673962977521937352273881151446451133814710078028490507698640039391670990208981430817640169578901156438589143420237374185587722504361407646042441454172957501068408676766716543701363283770608630108384018516027162276284870850187867353821981059582850618413718803708115487397871571323265249793423822011645632483562049852611250280969505470538349018797348316299875345908279034279680658866741697437640312738175345295254242452400142746866011244744325983679093594514014999742395064025526058683417561881664451268519301520982485276498425926392836939084343583541070749882392807996358070037869516251280496519133419783977536962472220303452964976558571704118198627747513163613017201939312499887183556152488772494922482546492216546268377287544893625454989128306399270543637320793635193905651240323996247197896581317839688774114246846622893253829137140052364722620894158798500602842019188434618005333170370383622705669735356422215094853028647973437343622477136489795764712202539823626732694830901375499745326023422070885603526366614497551841164531298308109492980212794628484908251768269480681827801238601009897749507050254010600748738388770009842502472902648629054556373574118225138601178796159467349145041453991707113437370747942576707151720472720721898342605965360715657313713731754419680585170835020926625300399109105644251119056977887246304987503511970099469402015818105262112327175124696500730175175480381562118847393325041707687829989784408111956642235759894498390224754187459338620974402528249060116536040138895774134130116590605983439787229049596 31370481397741451651145192671816619066128131118709538688315663969749673757659905195467007318677348077641182168534162664074879330685018226590222343039986217860818523817869561893434391915248182271291374828386722291619087874073064139210014192144148780452261344868111578114428890944539329189495554397264046297971722088737125051457228885325547900667174342966512473514425624793580638675139223600939649701712144948106859467403991591174084037619925938462869094312511323648711513188335462212864011231666511761347667738220543234865474511952094111779089750006132231394405377815350211181243334886975688526008847265396751978187872285204638073941383797852468893761728118368853068959184372436738418645572528259577518452602591534383060577848661513746883484433886137108141721993691113713271540617616459827417263160379841442852821881331953790697421507015818125207478094572593098118946528950640754003916397798426357013200511691270123056335381225068422592331292873541408592841647423490779731858892623327867944084201406981178719591352382862955126624820379749964589206879172185287886734012998462611248411525933305832354970980037568716228229951886242407274240507990328848761504118991945519494269710217206044300485636619904376974108159875177223492305587372480188760868305601877314844125725730575661430154640337833451988189319110730951539903695742681742222040707455952932599397224573325482668385325276706093716906078480938977831807746462071033987685714646702772024653259529391980058163872924699468144794777729807674263794903328628668193755830033762622434361217620846439571353019526657444653949881992288077655643243125289056435257162551693711233764951990006043321158770803088586395049966074483141117294606713682194335771098182299682053998085896356122550082208280110213940857886581219122773972297752000753487550852538264662943870710884443568679654948421635644146113322191591174098612381965773950648519289220640595666953808865523455848112852708056674091637680955352227385272260484519564994419546824185735735971311867951912650440612260918184520248530105031475995386496731689671344156103701801000731473359691445409546363497612441539358660626325576049297183075333968585755754287330941832114430885062613741994352579244126463464130150232459344593831558371233452573350291052525315882680721251278083436567073381020029552344811416198070899442351432573211151292230202978798842688142325779601976743703393724055322394179925091282011036188948483676245155883056266861551342073369537502585118914967049296658241402650782523417939965249083531254621818526174517231431296643 50758505144991977593875781776732754750928798754797871767448449855845116339950017467060130130922741914785074395243188564587008195687325363524716766156891183111378639818466289079082278064567661413922777802310259438720954022896094628125401994630814882199713574995655230771976617553831209865220664957380572790380094306949989395792111100973129839149115619264300462294739187606734447565482194274781715616648407444837936515396853804134001647693036278364179246058944343667648310313455337909677787245798827025084929732118223542829490205686668314201636113476120545213378369737839504114558552375076251212974316898057380172623568300983677795106704297948631287894438988208350790860764566901277688151605138439470371483682072557236632836703334264671426739110898429304738656449682755314129269594358734155407563411416387158385799420997792568493859281635222547723208016256824031354798918439736727275668210655713531071911412000437389093149256782956774959701688234455411349400288803353771738070221473974036380803875369958700656943626264014401577758635089827993079714577812224679557724221979893428888581104834462270944114400274942901815952456247650053316681962163286349829912795758662063195632993987814674408869655135931539250393030725365090846127568432063039379282024405585430331523597301898926679948064159845097620672881160583562790184665248152280571059504804269232474743132852359762349044192018403531357218816656284273086050198862213780853696959391028755703746854043406979800558936950225526828212339611472125532314204849611153470254255960155459373445561204387510321235412334653802723987751508539358152162376545073033972219634771997164198741510561710161519786518316252199412251905386983028300850759202454689258253644674516228322375373441249748005071336586509484484495207374854316679623538075997000685447433856104351717984957731066461933484085561688008868734216350389674701454401154208568653852459591024218372623544221945670942965881356030111435260158091842023149984463024343191727114377725561235481297335290022798253966978875415736361413061403339585488366709526318156252407871971281682559274598292455307295870547866452140107399015095585891799655977982597640312127861449166970715609681222081091139394033235833576901500898175036051745552031091955350915956256413240973196394453005697764021737908401946654852743920521842322018499329319819516138795742173078268244703960431041714303918828090224785497569660306653400858429513990191364075145667464378818193577833264035892809873102426387917632643930899842639953980104144857665384738409132157957018660346239 82128986542733429245020974448549373817056929873507410455764113825594790097609922662527137449600089992426256563777351228661887526372343590114939109196877400972197163636335850972516669979815843685214152630696981730340041896969158767335416186774963662651974919863766808886405508498370539054716219354644619088351816395687114447249339986298677739816289962230812935809164812400315086240621417875721365318360552392944795982800845395308085685312962216827048340371455667316359823501790800122541798477465338786432597470338766777694964717638762425980725863482252776607783747553189715295801887262051939738983164163454132150811440586188315869048088095801100181656167106577203859819948939338016106797177666699047889936284664091619693414551995778418310223544784566412880378443373869027400810211975193982824826571796228601238621302329746359191280788651040672930686110829417129473745447390377481279584608454139888085111923691707512149484638008025197552032981107996819942241936226844551469929114097301904324888076776939879376534978646877356704383455469577957668921456984409967444458234978356040136992630767768103299085380312511618044182408133892460590922470153615198591416914750607582689902704205020718709355291755835916224501190600542314338433155804543228140150330007462745175649323032474588110102704497678549608862200271314514330088360990834022793100212260222165074140357425685245017429517295109625074124895137223250917857945324284814841382674037731527728400113572798959858722809874924994973007117341279799796109108178239821664010085993918081807806778825233949892588431861311247377937633500827435807805619670362090407476797323690875432506462551716204840945289119340785807301871461466169418145365916136883594024742856815910376373459337605870555153544866619698425353093956073439453595835827997754172998286394369014661855668615510030613139033983323653014847538541980848800066783119982519302371748811664814039577353087469126791078734064086785526897839047194250535256723508862756721533924549746971217268647157974710904407591136333920881661591508371061483753206258007827596563975673082683290747957983900716842234045478893679466059641421161941096839053316566226067882148780108802830040566284694833133746612479960040365631048407495396339383589463188803489306547465766289079075174256975847458304981782966684405088731938040392917941680752392727290087972376057067087392102756821316280662531483948840819963840231744682869465702938675040320301550520645679744919906633573395394992017393437214290885333550625163371920069393941196639360227658332474250091642882 132887491687725406838896756225282128567985728628305282223212563681439906437559940129587267580522831907211330959020539793248895722059668953639655875353768584083575803454802140051598948044383505099136930433007241169060995919865253395460818181405778544851688494859422039658382126052201748919936884312025191878731910702637103843041451087271807578965405581495113398103904000007049533806103612150503080935008959837782732498197699199442087333005998495191227586430400010984008133815246138032219585723264165811517527202456990320524454923325430740182361976958373321821162117291029219410360439637128190951957481061511512323435008887171993664154792393749731469550606094785554650680713506239293794948782805138518261419966736648856326251255330043089736962655682995717619034893056624341530079806333928138232389983212615759624420723327538927685140070286263220653894127086241160828544365830114208555252819109853419157023335692144901242633894790981972511734669342452231291642225030198323207999335571275940705691952146898580033478604910891758282142090559405950748636034796634647002182456958249469025573735602230374243199780587454519860134864381542513907604432316901548421329710509269645885535698192835393118224946891767455474894221325907405184560724236606267519432354413048175507172920334373514790050768657523647229535081431898077120273026238986303364159717064491397548883490278045007366473709313513156431343711793507524003908144186498595695079633428760283432146967616205939659281746825150521801219456952751925328423313027850975134264341954073541181252340029621460213823844195965050101925385009366793959967996215435124379696432095688039631247973113426366360731807435592985219553776848449197718996125118591572852278387531332138698748832778855618560224881453129182909848301330927756133219373903994754858445720250473366379840626346576492546623119545011661883581754892370523501521184274191087956224208402689032412200897309414797734044615420116896962157997139036273685241186533205948448648302275308206698565982447997509158374570011749657243074652911710646972119915784325983848971847644364365850022556276356024138104593345345819573458656516747832896495031299163866380010010229275773545650247506775924273140645715793617267131946582531448084935620555144154405262803879007262275469627262673611480042890184913339257832652459882714936441010072212243428883714549135335332096063187863030584581359574173626317533500538398083727895216928866404395447217985024497938497739897609288204865119819825131923529264450467803325900173538798862024098636790490431268751989121 215016478230458836083917730673831502385042658501812692678976677507034696535169862792114405030122921899637587522797891021910783248432012543754594984550645985055772967091137991024115618024199348784351083063704222899401037816834412162796234368180742207503663414723188848544787634550572287974653103666669810967083727098324218290290791073570485318781695543725926333913068812407364620046725030026224446253369512230727528480998544594750173018318960712018275926801855678300367957317036938154761384200729504597950124672795757098219419640964193166163087840440626098428945864844218934706162326899180130690940645224965644474246449473360309533202880489550831651206773201362758510500662445577309901745960471837566151356251400740476019665807325821508047186200467562130499413336430493368930890018309122121057216555008844360863042025657285286876420858937303893584580237915658290302289813220491689834837427563993307242135259383852413392118532799007170063767650450449051233884161257042874677928449668577845030580028923838459410013583557769114986525546028983908417557491781044614446640691936605509162566366369998477542285160899966137904317272515434974498526902470516747012746625259877228575438402397856111827580238647603371699395411926449719522993880041149495659582684420510920682822243366848102900153473155202196838397281703212591450361387229820326157259929324713562623023847703730252383903226608622781505468606930730774921766089510783410536462307466491811160547081189004899518004556700075516774226574294031725124532421206090796798274427947991622989059118854855410106412276057276297479863018510194229767773615885797214787173229419378915063754435665142571201677096554933771026855648309915367137141491034728456446303130388148049075122292116461489115378426319748881335201395287001195586815209731992509031444006644842381041696294962086523159762153528335314898429293434351372301587967394173607258595957214353846451778250396883924525123349484203682489055836186230524220497910042068705170182226825055177915834629605972220062782161148083578124736244420081708455873122042333811445535823317447049140770514260256740980338638824239499039518297937909773993334084615730092447892159009384576375690813791470757406887258195753657632762994990026844424319210018332957894569351344773551354544801519649458938347871967880023662921384397923107854382690824604970718971686925192402419488165944684346865243891058122467137497340770142766597360919867541444715748768505670177683417646531182683599857137213262346214414598001092966697820242932740058663458864448822905518843632003 347903969918184242922814486899113630953028387130117974902189241188474602972729802921701672610645753806848918481818430815159678970491681497394250859904414569139348770545940131075714566068582853883488013496711464068462033736699665558257052549586520752355351909582610888203169760602774036894589987978695002845815637800961322133332242160842292897747101125221039732016972812414414153852828642176727527188378472068510260979196243794192260351324959207209503513232255689284376091132283076186980969923993670409467651875252747418743874564289623906345449817398999420250107982135248154116522766536308321642898126286477156797681458360532303197357672883300563120757379296148313161181375951816603696694743276976084412776218137389332345917062655864597784148856150557848118448229487117710460969824643050259289606538221460120487462748984824214561560929223567114238474365001899451130834179050605898390090246673846726399158595075997314634752427589989142575502319792901282525526386287241197885927785239853785736271981070737039443492188468660873268667636588389859166193526577679261448823148894854978188140101972228851785484941487420657764452136896977488406131334787418295434076335769146874460974100590691504945805185539370827174289633252357124707554604277755763179015038833559096189995163701221617690204241812725844067932363135110668570634413468806629521419646389204960171907337981775259750376935922135937936812318724238298925674233697282006231541940895252094592694048805210839177286303525226038575446031246783650452955734233941771932538769902065164170311458884476870320236120253241347581788403519561023727741612101232339166869661515066954695002408778568937562408903990526756246409425158364564856137616153320029298581517919480187773871124895317107675603307772878064245049696617928951720034583635987263889889726895315747421536921308663015706385273073346976782011048326721895803109151668364695214820165617042878863979147706298722259167964904320579451213833325266797905739096575274653618830529100363384614400612053969729221156731159833235367810897331792355427993037826659795294507670961811414990793070536612765118443232169585318612976954454657606889829115914893958827902169238660349921341061298246681680027903911547274899894941572558292509254830573477112299832155223780813630014428782323070418390762152793362920754036857805822790823700896817214147855401474327737751584229132547377449825250632296093455030841308540850325256136796407849111195986490694675621915386428791971804722257033087478137943862451560770023720416471538920687557501239313336787595621124 562920448148643079006732217572945133338071045631930667581165918695509299507899665713816077640768675706486506004616321837070462218923694041148845844455060554195121737637078122099830184092782202667839096560415686967863071553534077721053286917767262959859015324305799736747957395153346324869243091645364813812899364899285540423623033234412778216528796668946966065930041624821778773899553672202951973441747984299237789460194788388942433369643919919227779440034111367584744048449320014341742354124723175007417776548048504516963294205253817072508537657839625518679053846979467088822685093435488452333838771511442801271927907833892612730560553372851394771964152497511071671682038397393913598440703748813650564132469538129808365582869981686105831335056618119978617861565917611079391859842952172380346823093230304481350504774642109501437981788160871007823054602917557741433123992271097588224927674237840033641293854459849728026870960388996312639269970243350333759410547544284072563856234908431630766852009994575498853505772026429988255193182617373767583751018358723875895463840831460487350706468342227329327770102387386795668769409412412462904658237257935042446822961029024103036412502988547616773385424186974198873685045178806844230548484318905258838597723254070016872817407068069720590357714967928040906329644838323260020995800698626955678679575713918522794931185685505512134280162530758719442280925654969073847440323208065416768004248361743905753241129994215738695290860225301555349672605540815375577488155440032568730813197850056787159370577739332280426648396310517645061651422029755253495515227987029553954042890934445869758756844443711508764086000545460527273265073468279931993279107188048485744884648307628236848993417011778596790981734092626945580251091904930147306849793367979772921333733540158128463233216270749538866147426601682291680440341761073268104697119062538302473416122831396725315757398103182646784291314388524261940269669511497322126237006617343358789012755925418562530235241659941949283938892307916813492547141751874063883866159868993606740043494279258464131563584796869506098781870993824817652495252392567380883163200530624051275794328248044926297031875089717439086915162107300932532657936562585136933574040591810070194401506568554364984559230301972529356738634120673386583675421255728930645206391721422184866827088399520140171072395077231724315069141690418560592528182078683616922617056663949293826944754996364853305333032959974655404579394246349824352358460452653736721540659404278979351016365688136242306439253127 910824418066827321929546704472058764291099432762048642483355159883983902480629468635517750251414429513335424486434752652230141189415375538543096704359475123334470508183018253175544750161365056551327110057127151036325105290233743279310339467353783712214367233888410624951127155756120361763833079624059816658715002700246862556955275395255071114275897794168005797947014437236192927752382314379679500630126456367748050439391032183134693720968879126437282953266367056869120139581603090528723324048716845416885428423301251935707168769543440978853987475238624938929161829114715242939207859971796773976736897797919958069609366194424915927918226256151957892721531793659384832863414349210517295135447025789734976908687675519140711499932637550703615483912768677826736309795404728789852829667595222639636429631451764601837967523626933715999542717384438122061528967919457192563958171321703486615017920911686760040452449535847042661623387978985455214772290036251616284936933831525270449784020148285416503123991065312538296997960495090861523860819205763626749944544936403137344286989726315465538846570314456181113255043874807453433221546309389951310789572045353337880899296798170977497386603579239121719190609726345026047974678431163968938103088596661022017612762087629113062812570769291338280561956780653884974262007973433928591630214167433585200099222103123482966838523667280771884657098452894657379093244379207372773114556905347422999546189256996000345935178799426577872577163750527593925118636787599026030443889673974340663351967752121951329682036623809150746884516563758992643439825549316277223256840088261893120912552449512824453759253222280446326494904535987283519674498626644496849416723341368515043466166227108424622864541907095704466585041865505009825300788522859099026884377003967036811223460435473875884770137579412554572532699675029268462451390087795163907806270730902997688236288448439604179736545809481369043459279292844841391483502836764120031976103192618012407843285025781947144635853713911678505095623467750048860358039083666419311859197695653402034551165241069879122356655333482271217225103163410136265472206847224987772992316445518010103696497486705276218372936387964120766943066018848207432552878135143429442828871165287182494233661792335178614573659084295599775129396273466749504429458113534753436030092618239399014682489873847877922656624209779101764894392322714654047559023387224467247873193460357142938140741487059528927248419388766627209301651279437302490302322904214506745261075875817900038573866927449579094034874251 1473744866215470400936278922045003897629170478393979310064521078579493201988529134349333827892183105219821930491051074489300603408339069579691942548814535677529592245820096375275374934254147259219166206617542838004188176843767821000363626385121046672073382558194210361699084550909466686633076171269424630471614367599532402980578308629667849330804694463114971863877056062057971701651935986582631474071874440666985839899585820572077127090612799045665062393300478424453864188030923104870465678173440020424303204971349756452670462974797258051362525133078250457608215676094182331761892953407285226310575669309362759341537274028317528658478779629003352664685684291170456504545452746604430893576150774603385541041157213648949077082802619236809446818969386797805354171361322339869244689510547395019983252724682069083188472298269043217437524505545309129884583570837014933997082163592801074839945595149526793681746303995696770688494348367981767854042260279601950044347481375809343013640255056717047269976001059888037150503732521520849779054001823137394333695563295127013239750830557775952889553038656683510441025146262194249101990955721802414215447809303288380327722257827195080533799106567786738492576033913319224921659723609970813168651572915566280856210485341699129935629977837361058870919671748581925880591652811757188612626014866060540878778797817042005761769709352786284018937260983653376821374170034176446620554880113412839767550437618739906099176308793642316567868023975829149274791242328414401607932045114006909394165165602178738489052614363141431173532912874276637705091247579071530718772068075291447074955443383958694212516097665991955090580905081447810792939572094924428842695830529417000788350814534736661471857958918874301257566775958131955405551880427789246333734170371946809732557193975632004348003353850162093438680126276711560142891731848868432012503389793441300161652411279836329495493943912664015827750593681369103331753172348261442158213109809961371196856040951200509674871095373853627789034515775666862352905180835540483195725357564647008774594659520328343253920240130351777316006974157234953917967459239792368656155516976142061379490825734750202515404811477681559853858228126149139965210814697728566376402911757097252688635168360889543599132889386268129131868030394140136088104879369263684081236484339661583881509578273368018093729019287010826079963534013133214640087205465908084170490250124306436765085496483424382232581452348741282613881045525787126842660783356868243466801735280096879389590232615585821400474127378 2384569284282297722865825626517062661920269911156027952547876238463477104469158602984851578143597534733157354977485827141530744597754445118235039253174010800864062754003114628450919684415512315770493316674669989040513282134001564279673965852474830384287749792082620986650211706665587048396909250893484447130329370299779265537533584024922920445080592257282977661824070499294164629404318300962310974702000897034733890338976852755211820811581678172102345346566845481322984327612526195399189002222156865841188633394651008388377631744340699030216512608316875396537377505208897574701100813379082000287312567107282717411146640222742444586397005885155310557407216084829841337408867095814948188711597800393120517949844889168089788582735256787513062302882155475632090481156727068659097519178142617659619682356133833685026439821895976933437067222929747251946112538756472126561040334914504561454963516061213553722198753531543813350117736346967223068814550315853566329284415207334613463424275205002463773099992125200575447501693016611711302914821028901021083640108231530150584037820284091418428399608971139691554280190137001702535212502031192365526237381348641718208621554625366058031185710147025860211766643639664250969634402041134782106754661512227302873823247429328242998442548606652397151481628529235810854853660785191117204256229033494126078878019920165488728608233020067055903594359436548034200467414413383819393669437018760262767096626875735906445111487593068894440445187726356743199909879116013427638375934787981250057517133354300689818734650986950581920417429438035630348531073128387807942028908163553340195867995833471518666275350888272401417075809617435094312614070721568925692112553870785515831816980761845086094722500825970005724151817823636965230852668950648345360618547375913846543780654411105880232773491429574648011212825951740828605343121936663595920309660524344297849888699728275933675230489722145384871209872974213944723236675185025562190189213002579383604699325976982456819506949087765306294130139243416911213263219919206902507584555260300410809145824761398222376276895463834048533232077320645090183439666087017356429147833421660071483187323221455478733777747865645680620801294144997347397763692832871995819231782922384435182868830153224722213706548470563728906997426667606885592534337482798437517266576957900982896192068147215896016385643496789927844857926335847868687646228853132551418363443584663579703226237970483911159829871737507909823182696805224429332963106261082750212062811155914779428164099543035400494509001629 3858314150497768123802104548562066559549440389550007262612397317042970306457687737334185406035780639952979285468536901630831348006093514697926981801988546478393654999823211003726294618669659574989659523292212827044701458977769385280037592237595877056361132350276831348349296257575053735029985422162909077601943737899311668518111892654590769775885286720397949525701126561352136331056254287544942448773875337701719730238562673327288947902194477217767407739867323905776848515643449300269654680395596886265491838366000764841048094719137957081579037741395125854145593181303079906462993766786367226597888236416645476752683914251059973244875785514158663222092900376000297841954319842419379082287748574996506058991002102817038865665537876024322509121851542273437444652518049408528342208688690012679602935080815902768214912120165020150874591728475056381830696109593487060558122498507305636294909111210740347403945057527240584038612084714948990922856810595455516373631896583143956477064530261719511043075993185088612598005425538132561081968822852038415417335671526657163823788650841867371317952647627823201995305336399195951637203457752994779741685190651930098536343812452561138564984816714812598704342677552983475891294125651105595275406234427793583730033732771027372934072526444013456022401300277817736735445313596948305816882243899554666957656817737207494490377942372853339922531620420201411021841584447560266014224317132173102534647064494475812544287796386711211008313211702185892474701121444427829246307979901988159451682298956479428307787265350092013093950342312312268053622320707459338660800976238844787270823439217430212878791448554264356507656714698882905105553642816493354534808384400202516620167795296581747566580459744844306981718593781768920636404549378437591694352717747860656276337848386737884580776845279736741449892952228452388748234853785532027932813050317785598011541111008112263170724433634809400698960466655583048054989847533287004348402322812540754801555366928182966494378044461618934083164655019083773566168400754747385703309912824947419583740484281726565630197135594185825849239051477880044101407125326809725085303350397802132862678148956205681249182559343327240474659522271146487362974507530600562195634694679481687871503998514114265812839437856831858038865457061747021680639216852062121598503061297562566777701646420583914110114662783800753924821460348981083327733434319040635588853693708970016468311734453908293392411324086249192437063742331011556175623889617950993678864546436011658817754332158621221894983129007 6242883434780065846667930175079129221469710300706035215160273555506447410926846340319036984179378174686136640446022728772362092603847959816162021055162557279257717753826325632177214303085171890760152839966882816085214741111770949559711558090070707440648882142359452334999507964240640783426894673056393524732273108199090934055645476679513690220965878977680927187525197060646300960460572588507253423475876234736453620577539526082500768713776155389869753086434169387099832843255975495668843682617753752106680471760651773229425726463478656111795550349712001250682970686511977481164094580165449226885200803523928194163830554473802417831272791399313973779500116460830139179363186938234327270999346375389626576940846991985128654248273132811835571424733697749069535133674776477187439727866832630339222617436949736453241351942060997084311658951404803633776808648349959187119162833421810197749872627271953901126143811058784397388729821061916213991671360911309082702916311790478569940488805466721974816175985310289188045507118554744272384883643880939436500975779758187314407826471125958789746352256598962893549585526536197654172415959784187145267922572000571816744965367077927196596170526861838458916109321192647726860928527692240377382160895940020886603856980200355615932515075050665853173882928807053547590298974382139423021138472933048793036534837657372983218986175392920395826125979856749445222308998860944085407893754150933365301743691370211718989399283979780105448758399428542635674611000560441256884683914689969409509199432310780118126521916337042595014367771750347898402153393835847146602829884402398127466691435050901731545066799442536757924732524316317999418167713538062280226920938270988032451984776058426833661302960570814312705870411605405885867257218329085937054971265123774502820118502797843764813550336709311389461105778180193217353577975722195623853122710842129895861429810736388196845954923356954785570170339629796992778226522718312566538591535815120138406254692905165423313884993549384240377294794262500684779431620673954288210894468085247830392886309043124788006474031058019874382471128798525134284846791413827081514451183819462204345865472177661159982960307208972921095460816416143834760738200363472558014866477601866123054372828667338988026545986327395586945862883729353907273173554334860559115769638255463549673893714567799810126500306280590681769679386684828952015379663172173187007217137293633596171537972424392204552241195823757102260246439136235985508586995879033743890927357591926438245918431701656622389492130636 10101197585277833970470034723641195781019150690256042477772670872549417717384534077653222390215158814639115925914559630403193440609941474514089002857151103757651372753649536635903508921754831465749812363259095643129916200089540334839749150327666584497010014492636283683348804221815694518456880095219302602334216846098402602573757369334104459996851165698078876713226323621998437291516826876052195872249751572438173350816102199409789716615970632607637160826301493292876681358899424795938498363013350638372172310126652538070473821182616613193374588091107127104828563867815057387627088346951816453483089039940573670916514468724862391076148576913472637001593016836830437021317506780653706353287094950386132635931849094802167519913811008836158080546585240022506979786192825885715781936555522643018825552517765639221456264062226017235186250679879860015607504757943446247677285331929115834044781738482694248530088868586024981427341905776865204914528171506764599076548208373622526417553335728441485859251978495377800643512544092876833466852466732977851918311451284844478231615121967826161064304904226786095544890862935393605809619417537181925009607762652501915281309179530488335161155343576651057620451998745631202752222653343345972657567130367814470333890712971382988866587601494679309196284229084871284325744287979087728838020716832603459994191655394580477709364117765773735748657600276950856244150583308504351422118071283106467836390755864687531533687080366491316457071611130728528149312122004869086130991894591957568960881731267259546434309181687134608108318114062660166455775714543306485263630860641242914737514874268331944423858247996801114432389239015200904523721356354555634761729322671190549072152571355008581227883420315658619687589005387174806503661767707523528749323982871635159096456351184581649394327181989048130910998730408645606101812829507727651785935761159915493872970921744500460016679356991764186269130806285380040833216370251599570886993858627660893207810059833348389808263038011003174460459449281584458345600021428701673914204380910195249976626793324851353636671166652205700231710180276405178386253916740636806599754534217264337208543621133866841232142866552300161570120338687290322123712707894073120210501172281347810925876827181453253839385424184227444984728340791100928953812771186922680714272699553026116451595360988383724236614969064391435694500847033810035343113097491213822596070831002603612639849706878300497944652519910006294697310181467247541684210885496984737569791904027938097063672763860277844284475259643 16344081020057899817137964898720325002488860990962077692932944428055865128311380417972259374394536989325252566360582359175555533213789434330251023912313661036909090507475862268080723224840003356509965203225978459215130941201311284399460708417737291937658896634995736018348312186056335301883774768275696127066489954297493536629402846013618150217817044675759803900751520682644738251977399464559449295725627807174626971393641725492290485329746787997506913912735662679976514202155400291607342045631104390478852781887304311299899547646095269305170138440819128355511534554327034868791182927117265680368289843464501865080345023198664808907421368312786610781093133297660576200680693718888033624286441325775759212872696086787296174162084141647993651971318937771576514919867602362903221664422355273358048169954715375674697616004287014319497909631284663649384313406293405434796448165350926031794654365754648149656232679644809378816071726838781418906199532418073681779464520164101096358042141195163460675427963805666988689019662647621105851736110613917288419287231043031792639441593093784950810657160825748989094476389471591259982035377321369070277530334653073732026274546608415531757325870438489516536561319938278929613151181035586350039728026307835356937747693171738604799102676545345162370167157891924831916043262361227151859159189765652253030726493051953460928350293158694131574783580133700301466459582169448436830011825434039833138134447234899250523086364346271421905830010559271163823923122565310343015675809281926978470081163578039664560831098024177203122685885813008064857929108379153631866460745043641042204206309319233675968925047439337872357121763331518903941889069892617914988650260942178581524137347413435414889186380886472932393459416992580692370918986036609465804295247995409661916574853982425414207877518698359520372104508588838823455390805229923275639058472002045389734400732480888656862634280348718971839301145915177033611442892969912137425585394442781031614064752738513813122148031560387414837754243544085143125031642102655962125098848995443080369513102367976141643145197710225574614181309074930312671100708154463888114205718036726541554409093311528001215103173761273082665581155103434156884450908257545678225367649883213933980249655848792241865931410511623031930591224520454836226986325521783239830042337808489666125489075556183534363115275344982117464180233718638987358492760663387009603287968296237208811387679302692702496893715733763396957556620603483527192797881376018481460719261619864535309591195561934466673967390279 26445278605335733787607999622361520783508011681218120170705615300605282845695914495625481764609695803964368492275141989578748973823730908844340026769464764794560463261125398903984232146594834822259777566485074102345047141290851619239209858745403876434668911127632019701697116407872029820340654863494998729400706800395896139203160215347722610214668210373838680613977844304643175543494226340611645167975379379612800322209743924902080201945717420605144074739037155972853195561054825087545840408644455028851025092013956849370373368828711882498544726531926255460340098422142092256418271274069082133851378883405075535996859491923527199983569945226259247782686150134491013221998200499541739977573536276161891848804545181589463694075895150484151732517904177794083494706060428248619003600977877916376873722472481014896153880066513031554684160311164523664991818164236851682473733497280041865839436104237342398186321548230834360243413632615646623820727703924838280856012728537723622775595476923604946534679942301044789332532206740497939318588577346895140337598682327876270871056715061611111874962065052535084639367252406984865791654794858550995287138097305575647307583726138903866918481214015140574157013318683910132365373834378932322697295156675649827271638406143121593665690278040024471566451386976796116241787550340314880697179906598255713024918148446533938637714410924467867323441180410651157710610165477952788252129896717146300974525203099586782056773444712762738362901621689999691973235244570179429146667703873884547430962894845299210995140279711311811231003999875668231313704822922460117130091605684883956941721183587565620392783295436138986789511002346719808465610426247173549750379583613369130596289918768443996117069801202131552081048422379755498874580753744132994553619230867044821013031205167007063602204700687407651283103238997484429557203634737650927424994233161960883607371654225389116879313637340483158108431952200557074444659263221511708312579253070441924821874812571862202930411069571390589298213692825669601470631663531357636039303229905638330346139895692827495279816364362431274845891489351335491057354624895100694713960252253990878762952714445394842447246040313573244235701493790724479008163616151618798435868822164561744906126483030245495705316834695850476915319565311555765180799096708705920544315037361515782577084436544567258599730244409373553158681080752449022701605858154600832199358799298840821451237386180993200441546235643769691654866802070731068877008766873003219030511165647802632373263959422212310958442649922 42789359625393633604745964521081845785996872672180197863638559728661147974007294913597741139004232793289621058635724348754304507037520343174591050681778425831469553768601261172064955371434838178769742769711052561560178082492162903638670567163141168372327807762627755720045428593928365122224429631770694856467196754693389675832563061361340760432485255049598484514729364987287913795471625805171094463701007186787427293603385650394370687275464208602650988651772818652829709763210225379153182454275559419329877873901261160670272916474807151803714864972745383815851632976469127125209454201186347814219668726869577401077204515122192008890991313539045858563779283432151589422678894218429773601859977601937651061677241268376759868237979292132145384489223115565660009625928030611522225265400233189734921892427196390570851496070800045874182069942449187314376131570530257117270181662630967897634090469991990547842554227875643739059485359454428042726927236342911962635477248701824719133637618118768407210107906106711778021551869388119045170324687960812428756885913370908063510498308155396062685619225878284073733843641878576125773690172179920065564668431958649379333858272747319398675807084453630090693574638622189061978525015414518672737023182983485184209386099314860198464792954585369633936618544868720948157830812701542032556339096363907966055644641498487399566064704083161998898224760544351459177069747647401225082141722151186134112659650334486032579859809059034160268731632249270855797158367135489772162343513155811525901044058423338875555971377735489014353689885688676296171633931301613748996552350728524999145927492906799296361708342875476859146632765678238712407499496139791464739029844555547712120427266181879411006256182088604484474507839372336191245499739780742460357914478862454482929606059149432477810082219385767171655207747586323253012594439967574203064052705164006273341772386706277773741947917689202129947733098115734108056102156191423845738164647513222956435939565310376016052559101131778004135967936369754744595663305634013598164402078901081410715652998060803636922961562072656849460072798426265803728455333049564582828165970290717420317361807756922843662349214074846326901282648894158635892614524409164476661236472047775678886376138879037737571248245207473508845910789832010601407785422230489160374357375170005448702573512100750792962845519754355670622861314471088010060098618817987841802646767595078030262625065483685902938439951377533088612423422674214596069806648249021700491230427267667167682855154984146777632410040201 69234638230729367392353964143443366569504884353398318034344175029266430819703209409223222903613928597253989550910866338333053480861251252018931077451243190626030017029726660076049187518029673001029520336196126663905225223783014522877880425908545044806996718890259775421742545001800394942565084495265693585867903555089285815035723276709063370647153465423437165128707209291931089338965852145782739631676386566400227615813129575296450889221181629207795063390809974625682905324265050466699022862920014448180902965915218010040646285303519034302259591504671639276191731398611219381627725475255429948071047610274652937074064007045719208874561258765305106346465433566642602644677094717971513579433513878099542910481786449966223562313874442616297117007127293359743504331988458860141228866378111106111795614899677405467005376137313077428866230253613710979367949734767108799743915159911009763473526574229332946028875776106478099302898992070074666547654940267750243491489977239548341909233095042373353744787848407756567354084076128616984488913265307707569094484595698784334381555023217007174560581290930819158373210894285560991565344967038471060851806529264225026641441998886223265594288298468770664850587957306099194343898849793450995434318339659135011481024505457981792130483232625394105503069931845517064399618363041856913253519002962163679080562789945021338203779115007629866221665940955002616887679913125354013334271618868332435087184853434072814636633253771796898631633253939270547770393611705669201309011217029696073332006953268638086551111657446800825584693885564344527485338754224073866126643956413408956087648676494364916754491638311615845936143768024958520873109922386965014489409428168916842716717184950323407123325983290736036555556261752091690120080493524875454911533709729499303942637264316439541412286920073174822938310986583807682569798074705225130489046938325967156949144040931666890621261555029685288056165050316291182500761419412935554050743900583664881257814377882238218982970170703168593434181629195424346066294969165371234203705308806719741061792893753631132202777926435088124305964287777601294785809957944665277542126222544708299080314522202317686109595254388419571136984142684883114900778140560783275097105294212337423792502621909283233276565079903323985761230355143566366588584518939195080918672412531521231279657948645318051562575764163729223781542395223537032761704476972588674002005566893918851713862451664679103379986187021302780267290224744945664946815415122024919521741592915469800056119114406359088590852690123 112023997856123000997099928664525212355501757025578515897982734757927578793710504322820964042618161390543610609546590687087357987898771595193522128133021616457499570798327921248114142889464511179799263105907179225465403306275177426516550993071686213179324526652887531141787973595728760064789514127036388442335100309782675490868286338070404131079638720473035649643436574279219003134437477950953834095377393753187654909416515225690821576496645837810446052042582793278512615087475275845852205317195573867510780839816479170710919201778326186105974456477417023092043364375080346506837179676441777762290716337144230338151268522167911217765552572304350964910244716998794192067355988936401287181293491480037193972159027718342983430551853734748442501496350408925403513957916489471663454131778344295846717507326873796037856872208113123303048300196062898293744081305297365917014096822541977661107617044221323493871430003982121838362384351524502709274582176610662206126967225941373061042870713161141760954895754514468345375635945516736029659237953268519997851370509069692397892053331372403237246200516809103232107054536164137117339035139218391126416474961222874405975300271633542664270095382922400755544162595928288256322423865207969668171341522642620195690410604772841990595276187210763739439688476714238012557449175743398945809858099326071645136207431443508737769843819090791865119890701499354076064749660772755238416413341019518569199844503768558847216493062830831058900364886188541403567551978841158973471354730185507599233051011691976962107083035182289839938383771253020823656972685525687615123196307141933955233576169401164213116199981187092705082776533703197233280609418526756479228439272724464554837144451132202818129582165379340521030064101124427881365580233305617915269448188591953786872243323465872019222369139458941994593518734170130935582392514672799333553099643489973430290916427637944664363209472718887418003898148432025290556863575604359399788908548096887837693753943192614235035529271834946597570149565565179090661958274799384832368107387707801151777445891814434769125739488507744973766037086203867098514265290994229860370292192835425719397676329959240529771944468463265898038266791579041750793392664969947751758341766260113102678878760788320970847813325110797494607141144975576967996369941169684241293029787701526679982231460746068844525421283918084894404403709694625042821803095790576515804652334488996881976487517148365006318426138398835868879713647419160261016622063371046620012972020183136967738974269390505866223262730324 181258636086852368389453892807968578925006641378976833932326909787194009613413713732044186946232089987797600160457457025420411468760022847212453205584264807083529587828054581324163330407494184180828783442103305889370628530058191949394431418980231257986321245543147306563530518597529155007354598622302082028203003864871961305904009614779467501726792185896472814772143783571150092473403330096736573727053780319587882525229644800987272465717827467018241115433392767904195520411740326312551228180115588315691683805731697180751565487081845220408234047982088662368235095773691565888464905151697207710361763947418883275225332529213630426640113831069656071256710150565436794712033083654372800760727005358136736882640814168309206992865728177364739618503477702285147018289904948331804682998156455401958513122226551201504862248345426200731914530449676609273112031040064474716758011982452987424581143618450656439900305780088599937665283343594577375822237116878412449618457203180921402952103808203515114699683602922224912729720021645353014148151218576227566945855104768476732273608354589410411806781807739922390480265430449698108904380106256862187268281490487099432616742270519765929864383681391171420394750553234387450666322715001420663605659862301755207171435110230823782725759419836157844942758408559755076957067538785255859063377102288235324216770221388530075973622934098421731341556642454356692952429573898109251750684959887851004287029357202631661853126316602627957531998140127811951337945590546828174780365947215203672565057964960615048658194692629090665523077656817365351142311439749761481249840263555342911321224845895529129870691619498708551018920301728155754153719340913721493717848700893381397553861636082526225252908148670076557585620362876519571485660726830493370180981898321453090814880587782311560634656059532116817531829720753938618152190589378024464042146581815940587240060468569611554984471027748572706060063198748316473057624995017294953839652448680552718951568321074852454018499442538115191004331194760603436728253243964756066571812696514520892839238785568065901328517414942833098072001373981468393300075248938895137912418415380134018477990852161558215881539722851685469175250934263924865694170805530731026855447060472450526471381382697604204124378405014121480368371500119143334584954460108879322211702200233047911261889409391386896087997048081814118185946104918162075583507572763165189806657901382915733690349968813044109698412325420138649147003872164105925963437478493071539534713613098606767795093383796864954814115420447 293282633942975369386553821472493791280508398404555349830309644545121588407124218054865150988850251378341210770004047712507769456658794442405975333717286423541029158626382502572277473296958695360628046548010485114836031836333369375910982412051917471165645772196034837705318492193257915072144112749338470470538104174654636796772295952849871632806430906369508464415580357850369095607840808047690407822431174072775537434646160026678094042214473304828687167475975561182708135499215602158403433497311162183202464645548176351462484688860171406514208504459505685460278460148771912395302084828138985472652480284563113613376601051381541644405666403374007036166954867564230986779389072590774087942020496838173930854799841886652190423417581912113182119999828111210550532247821437803468137129934799697805230629553424997542719120553539324034962830645739507566856112345361840633772108804994965085688760662671979933771735784070721776027667695119080085096819293489074655745424429122294463994974521364656875654579357436693258105355967162089043807389171844747564797225613838169130165661685961813649052982324549025622587319966613835226243415245475253313684756451709973838592042542153308594134479064313572175938913149162675706988746580209390331777001384944375402861845715003665773321035607046921584382446885273993089514516714528654804873235201614306969352977652832038813743466753189213596461447343953710769017179234670864490167098300907369573486873860971190509069619379433459016432363026316353354905497569387987148251720677400711271798108976652592010765277727811380505461461428070386174799284125275449096373036570697276866554801015296693342986891600685801256101696835431352987434328759440477972946287973617845952391006087214729043382490314049417078615684464000947452851240960136111285450430086913406877687123911248183579857025198991058812125348454924069553734583104050823797595246225305914017530976896207556219347680500467460124063961347180341763614488570621654353628560996777440556645322264267466689054028714373061788574480760325782527390211518764140898939920084222322044616684677382500670454256903450578071838038460185335491814340539933124998282710608215559737875667182120798745653484191314951367213517725842966616487563470500678778613788826732563629150260143485925174972191730124918974975512645094720302581324401278563563504731987934574591244120870137455740613418331999899012590349814612787118405310668553741705611310235871912615666837485961409116016838463818974518026717519583266186980059541864118159547685633281743735534067653187370821037378150771 474541270029827737776007714280462370205515039783532183762636554332315598020537931786909337935082341366138810930461504737928180925418817289618428539301551230624558746454437083896440803704452879541456829990113791004206660366391561325305413831032148729151967017739182144268849010790787070079498711371640552498741108039526598102676305567629339134533223092265981279187724141421519188081244138144426981549484954392363419959875804827665366507932300771846928282909368329086903655910955928470954661677426750498894148451279873532214050175942016626922442552441594347828513555922463478283766989979836193183014244231981996888601933580595172071045780234443663107423665018129667781491422156245146888702747502196310667737440656054961397416283310089477921738503305813495697550537726386135272820128091255099763743751779976199047581368898965524766877361095416116839968143385426315350530120787447952510269904281122636373672041564159321713692951038713657460919056410367487105363881632303215866947078329568171990354262960358918170835075988807442057955540390420975131743080718606645862439270040551224060859764132288948013067585397063533335147795351732115500953037942197073271208784812673074523998862745704743596333663702397063157655069295210810995382661247246130610033280825234489556046795026883079429325205293833748166471584253313910663936612303902542293569747874220568889717089687287635327803003986408067461969608808568973741917783260795220577773903218173822170922745696036086973964361166444165306243443159934815323032086624615914944363166941613207059423472420440471170984539084887751525941595565025210577622876834252619777876025861192222472857583220184509807120617137159508741588048100354199466664136674511227349944867723297255268635398462719493636201304826877467024336901686966604655631411985234859968502004499030495140491681258523175629657178175678008171886773693428848261637392807121854604771037364777167774332151528216032830124024545928658236672113565638949307468213445457993275596890585342319143072528156911176979578811955086385964118464762728896965511732780736842937455923462950566571782774318393411169910039834166803885114415788872020136195129023595693756353658034282356961535023914166636836388768660106891482181734276031409805469235887205014155621641526183529379096570135139040455343884145213863637166278861387442885716434188167622502506010279528842636701415380081713130776295919530949193988818241316906895417968137254828349357187454774453225715250789239113167173721391747372112943497020357189699082399246380350503329161036984235775851493571218 767823903972803107162561535752956161486023438188087533592946198877437186427662149841774488923932592744480021700465552450435950382077611732024403873018837654165587905080819586468718277001411574902084876538124276119042692202724930701216396243084066200317612789935216981974167502984044985151642824120979022969279212214181234899448601520479210767339653998635489743603304499271888283689084946192117389371916128465138957394521964854343460550146774076675615450385343890269611791410171530629358095174737912682096613096828049883676534864802188033436651056901100033288792016071235390679069074807975178655666724516545110501978534631976713715451446637817670143590619885693898768270811228835920976644767999034484598592240497941613587839700892001591103858503133924706248082785547823938740957258026054797568974381333401196590300489452504848801840191741155624406824255730788155984302229592442917595958664943794616307443777348230043489720618733832737546015875703856561761109306061425510330942052850932828866008842317795611428940431955969531101762929562265722696540306332444814992604931726513037709912746456837973635654905363677368561391210597207368814637794393907047109800827354826383118133341810018315772272576851559738864643815875420201327159662632190506012895126540238155329367830633930001013707652179107741255986100967842565468809847505516849262922725527052607703460556440476848924264451330361778230986788043239838232084881561702590151260777079145012679992365075469545990396724192760518661148940729322802471283807302016626216161275918265799070188750148251851676446000512958137700740879690300659673995913404949896644430826876488915815844474820870311063222313972590861729022376859794677439610424648129073302335873810511984312017888776768910714816989290878414477188142647102715941081842072148266846189128410278678720348706457514234441782526630602077725621356797479672059232639032427768622302014260984723993679832028683492954187985893109000000286602136260603661096774442235433832242212849609785832126556871284238768153292715412168491508676281493037864451652864959164982072608140333067242237031221843989241748078294352139376928756328805145134477839631811253494229325216403155707188508105481588203602286385949858098669297746532088584083024713937577784771901669669454554068761865263959430319396790308583939747603262666006449221166176102197093750131149666298377314833712081612143366645734143736312394128909870648601029278373126740965024024940735862341732089253058087685200438911330638299923556562221307858630084879662094238863228690171606596888871721989 1242365174002630844938569250033418531691538477971619717355582753209752784448200081628683826859014934110618832630927057188364131307496429021642832412320388884790146651535256670365159080705864454443541706528238067123249352569116492026521810074116214929469579807674399126243016513774832055231141535492619575468020320253707833002124907088108549901872877090901471022791028640693407471770329084336544370921401082857502377354397769682008827058079074848522543733294712219356515447321127459100312756852164663180990761548107923415890585040744204660359093609342694381117305571993698868962836064787811371838680968748527107390580468212571885786497226872261333251014284903823566549762233385081067865347515501230795266329681153996574985255984202091069025597006439738201945633323274210074013777386117309897332718133113377395637881858351470373568717552836571741246792399116214471334832350379890870106228569224917252681115818912389365203413569772546395006934932114224048866473187693728726197889131180501000856363105278154529599775507944776973159718469952686697828283387051051460855044201767064261770772510589126921648722490760740901896539005948939484315590832336104120381009612167499457642132204555723059368606240553956802022298885170631012322542323879436636622928407365472644885414625660813080443032857472941489422457685221156476132746459809419391556492473401273176593177646127764484252067455316769845692956396851808811974002664822497810729034680297318834850915110771505632964361085359204683967392383889257617794315893926632541160524442859879006129612222568692322847430539597845889226682475255325870251618790239202516422306852737681138288702058041054820870342931109750370470610424960148876906274561322640300652280741533809239580653287239488404351018294117755881501525044334069320596713254057383126814691132909309173860840387716037410071439704806280085897508130490908520320870031839549623227073051625761891768011983556899525784312010439037658236958715701899552968564987887693427107839103434952104975199085028195415747732104670498554455627141044221934829963385645696007919528531603283633814019805540237400411658118128518943262043172117677165270672968655406947250582983250685512668723532019648225039991055046056749580851032022563498389552260601142591940393543195852983933165332000402999885663280935522447576913882124053449334937600364269819596256141429195141014016249092163325274142941653674685506382947151187555496447246510381569314381212395510315567447340042297200852374160303078010412867053582578497557712484126042444742192389727155842372740365293207 2010189077975433952101130785786374693177561916159707250948528952087189970875862231470458315782947526855098854331392609638800081689574040753667236285339226538955734556616076256833877357707276029345626583066362343242292044771841422727738206317200281129787192597609616108217184016758877040382784359613598598437299532467889067901573508608587760669212531089536960766394333139965295755459414030528661760293317211322641334748919734536352287608225848925198159183680056109626127238731298989729670852026902575863087374644935973299567119905546392693795744666243794414406097588064934259641905139595786550494347693265072217892559002844548599501948673510079003394604904789517465318033044613916988841992283500265279864921921651938188573095685094092660129455509573662908193716108822034012754734644143364694901692514446778592228182347803975222370557744577727365653616654847002627319134579972333787702187234168711868988559596260619408693134188506379132552950807818080610627582493755154236528831184031433829722371947595950141028715939900746504261481399514952420524823693383496275847649133493577299480685257045964895284377396124418270457930216546146853130228626730011167490810439522325840760265546365741375140878817405516540886942701046051213649701986511627142635823533905710800214782456294743081456740509652049230678443786188999041601556307314936240819415198928325784296638202568241333176331906647131623923943184895048650206087546384200400880295457376463847530907475846975178954757809551965202628541324618580420265599701228649167376685718778144805199800972716944174523876540110804026927423354945626529925614703644152413066737679614170054104546532861925131933565245082341232199632801819943554345884985970769373954616615344321223892671176016257315065835283408634295978713186981172036537795096129531393660880261319587852581189094173551644513222231436882163623129487288388192380102670871977391849375065886746615761691815585583018738499996332146658237245317838160156629661762329928860940081316284561890807325641899479654515885397385910722947135817325714972694415038510655172901601139743616701056256836762081389653406196422871082638971928446482310405150808287218200744812308467088668375912040125129813243593341432006607679520329769095586973635285315080169725165444865522438487234093865666959315982677725831031516661485386719455784158766540372016690006272578861439391331082804244937417509587387818421818777076061058204097476524883508310279405237336246177909179429295355288537574599214408648712790610144799805416342569005704538981055618417327448969629237015196 3252554251978064797039700035819793224869100394131326968304111705296942755324062313099142142641962460965717686962319666827164212997070469775310068697659615423745881208151332927199036438413140483789168289594600410365541397340957914754260016391316496059256772405284015234460200530533709095613925895106218173905319852721596900903698415696696310571085408180438431789185361780658703227229743114865206131214718294180143712103317504218361114666304923773720702916974768328982642686052426448829983608879067239044078136193043896715457704946290597354154838275586488795523403160058633128604741204383597922333028662013599325283139471057120485288445900382340336645619189693341031867795277998998056707339799001496075131251602805934763558351669296183729155052516013401110139349432096244086768512030260674592234410647560155987866064206155445595939275297414299106900409053963217098653966930352224657808415803393629121669675415173008773896547758278925527559885739932304659494055681448882962726720315211934830578735052874104670628491447845523477421199869467639118353107080434547736702693335260641561251457767635091816933099886885159172354469222495086337445819459066115287871820051689825298402397750921464434509485057959473342909241586216682225972244310391063779258751941271183445100197081955556161899773367124990720100901471410155517734302767124355632375907672329598960889815848696005817428399361963901469616899581746857462180090211206698211609330137673782682381822586618480811919118894911169886595933708507838038059915595155281708537210161638023811329413195285636497371307079708649916154105830200952400177233493883354929489044532351851192393248590902979952803908176192091602670243226780092431252159547293409674606897356878130463473324463255745719416853577526390177480238231315241357134508350186914520475571394228897026442029481889589054584661936243162249520637617779296712700972702711527015076448117512508507529703799142482544522812006771184316474204033540059709598226750217622288047920419719513995782524726927675070263617502056409277402762958369936907524378424156351180821129671346900334870276642302318790065064314551390025901015100564159475675823776942625147995395291717774181044635572144778038283584396478063357260371361791659085363187545916222761665558988061375422420399425866069959201645958661353479093575367510772905119096366904641836286262414008056580405347331896408262691652529041493107325160023212245759593923771393889879593786449731756493476626769337652489389948759517486659125657663727378302974055053131746983723248008144483291342369602308403 5262743329953498749140830821606167918046662310291034219252640657384132726199924544569600458424909987820816541293712276465964294686644510528977304982998841962701615764767409184032913796120416513134794872660962753607833442112799337481998222708516777189043965002893631342677384547292586135996710254719816772342619385189485968805271924305284071240297939269975392555579694920623998982689157145393867891508035505502785046852237238754713402274530772698918862100654824438608769924783725438559654460905969814907165510837979870015024824851836990047950582941830283209929500748123567388246646343979384472827376355278671543175698473901669084790394573892419340040224094482858497185828322612915045549332082501761354996173524457872952131447354390276389284508025587064018333065540918278099523246674404039287136103162006934580094246553959420818309833041992026472554025708810219725973101510324558445510603037562340990658235011433628182589681946785304660112836547750385270121638175204037199255551499243368660301107000470054811657207387746269981682681268982591538877930773818044012550342468754218860732143024681056712217477283009577442812399439041233190576048085796126455362630491212151139162663297287205809650363875364989883796184287262733439621946296902690921894575475176894245314979538250299243356513876777039950779345257599154559335859074439291873195322871257924745186454051264247150604731268611033093540842766641906112386177757590898612489625595050246529912730062465455990873876704463135089224475033126418458325515296383930875913895880416168616529214168002580671895183619819453943081529185146578930102848197527507342555782211966021246497795123764905084737473421274432834869876028600035985598044533264179048561513972222451687365995639272003034482688860935024473458951418296413393672303446316445914136451655548484879023218576063140699097884167680044413143767105067684905081075373583504406925823183399255123291395614728065563261312003103330974711449351378219866227888512547551148988001736004075886589850368827154724779502899442320000349898775695651880218793462667006353722730811090517035926533479064400179718470510974261108539987029010641786080974585229843348740207600184862849420547612269907851527177737910069964939891691560754672336822831231302931390724432926897860907633519731736918517628636387184510610236852897492360903255133445013852976268686586918019796678414700653200109162116429311529143937099273303963691400296277398189873191687068002671385806198633007777927523358731895307838448273872178108390397622137451522704303626561810740311998839323599 8515297581931563546180530857425961142915762704422361187556752362681075481523986857668742601066872448786534228256031943293128507683714980304287373680658457386447496972918742111231950234533556996923963162255563163973374839453757252236258239099833273248300737408177646577137585077826295231610636149826034946247939237911082869708970340001980381811383347450413824344765056701282702209918900260259074022722753799682928758955554742973074516940835696472639565017629592767591412610836151887389638069785037053951243647031023766730482529798127587402105421217416772005452903908182200516851387548362982395160405017292270868458837944958789570078840474274759676685843284176199529053623600611913102256671881503257430127425127263807715689799023686460118439560541600465128472414973014522186291758704664713879370513809567090567960310760114866414249108339406325579454434762773436824627068440676783103319018840955970112327910426606636956486229705064230187672722287682689929615693856652920161982271814455303490879842053344159482285698835591793459103881138450230657231037854252591749253035804014860421983600792316148529150577169894736615166868661536319528021867544862241743234450542901976437565061048208670244159848933324463226705425873479415665594190607293754701153327416448077690415176620205855405256287243902030670880246729009310077070161841563647505571230543587523706076269899960252968033130630574934563157742348388763574566267968797596824098955732724029212294552649083936802792995599374304975820408741634256496385430891539212584451106042054192427858627363288217169266490699528103859235635015347531330280081691410862272044826744317872438891043714667885037541381597466524437540119255380128416850204080557588723168411329100582150839320102527748753899542438461414650939189649611654750806811796503360434612023049777381905465248057952729753682546103923206662664404722846981617782048076295031422002271300911763630821099413870548107784124009874515291185653384918279575826115262765173437035922155723589882372375095754829795043120401498729277752661734065588787743171886823357534543860482437417370796810121366718969783534825525651134441002129574801261756798362172468496735602891902637030465183184414685889810762134388133322200263053352413757700010377147525693056283420988273283328032945597806877719274595048537989703812220408265266022351500349655689262531100594974600202025746597061462800814645470804636469097122485549723285324067671288069466978136799759164862432967970660267317472118249381966964105937599556411364452675269198506427551634706294031654368441632002 13778040911885062295321361679032129060962425014713395406809393020065208207723911402238343059491782436607350769549744219759092802370359490833264678663657299349149112737686151295264864030653973510058758034916525917581208281566556589718256461808350050437344702411071277919814969625118881367607346404545851718590558623100568838514242264307264453051681286720389216900344751621906701192608057405652941914230789305185713805807791981727787919215366469171558427118284417206200182535619877325949292530691006868858409157869003636745507354649964577450056004159247055215382404656305767905098033892342366867987781372570942411634536418860458654869235048167179016726067378659058026239451923224828147806003964005018785123598651721680667821246378076736507724068567187529146805480513932800285815005379068753166506616971574025148054557314074287232558941381398352052008460471583656550600169951001341548829621878518311102986145438040265139075911651849534847785558835433075199737332031856957361237823313698672151180949053814214293942906223338063440786562407432822196108968628070635761803378272769079282715743816997205241368054452904314057979268100577552718597915630658368198597081034114127576727724345495876053810212808689453110501610160742149105216136904196445623047902891624971935730156158456154648612801120679070621659591986608464636406020916002939378766553414845448451262723951224500118637861899185967656698585115030669686952445726388495436588581327774275742207282711549392793666872303837440065044883774760674954710946187923143460365001922470361044387841531290797841161674319347557802317164200494110260382929888938369614600608956283893685388838838432790122278855018740957272409995283980164402448248613821767771729925301323033838205315741799751788382231299396439124398141067908068144479115242819806348748474705325866784488466634015870452780430271603251075808171827914666522863123449878535828928094484311018754112495028598613671045436012977846265897102736296499442054003775312724586023923891727665768962225464581984519822623300941049278102560509761240667961965349490363888266591293527934406723343600431119149502005336499912242980989158585443047837772947402311845475810492087499879885730796684593741337939872298203287140154744913168430036833208378828624447007853915171144235666465329543796236903231435722500314049073305757626925606633794669542238799787181892619998704161297714662909976761900116165613034221758853686976724363948686259340169823867761836248239166603668045244995476981277274802554211471734519754850297406650029131855261268104771966367280955601 22293338493816625841501892536458090203878187719135756594366145382746283689247898259907085660558654885393884997805776163052221310054074471137552052344315756735596609710604893406496814265187530506982721197172089081554583121020313841954514700908183323685645439819248924496952554702945176599217982554371886664838497861011651708223212604309244834863064634170803041245109808323189403402526957665912015936953543104868642564763346724700862436156202165644197992135914009973791595146456029213338930600476043922809652804900027403475989884448092164852161425376663827220835308564487968421949421440705349263148186389863213280093374363819248224948075522441938693411910662835257555293075523836741250062675845508276215251023778985488383511045401763196626163629108787994275277895486947322472106764083733467045877130781141115716014868074189153646808049720804677631462895234357093375227238391678124652148640719474281215314055864646902095562141356913765035458281123115765129353025888509877523220095128153975642060791107158373776228605058929856899890443545883052853340006482323227511056414076783939704699344609313353770518631622799050673146136762113872246619783175520609941831531577016104014292785393704546297970061742013916337207036034221564770810327511490200324201230308073049626145332778662010053869088364581101292539838715617774713476182757566586884337783958432972157338993851184753086670992529760902219856327463419433261518713695186092260687537060498304954501835360633329596459867903211745040865292516394931451096377079462356044816107964524553472246468894579015010428165018875661661552799215841641590663011580349231886645435700601766124279882553100675159820236616207481709950114539360292819298452694379356494898336630423615989044635844327500542281773737857853775337330717519722895285927039323166783360497755103248689953714691968600206462976375526457738472576550761648140645171526173567250930365785222782384933594442469161778829560022852361557082756121214779017880119038077898023059846047451255651334600560336814314865743702439778555855222243826829455705137236313721422810451775965351777520153721797838119285540162025563377421991288160244309594571309574780342211413383990136910350913981099279631148702006686336609340417798265582187736843585526354317503291274903444427563699410927350673956177826484260490017861293714022892947958134144325231501330887776867220200729907894776125710791407370920802082131344244403410262048431619974328807147960667521001110672134574328312562467595230659241766660149071290931119302972675848535559406895974398803620735722587603 36071379405701688136823254215490219264840612733849152001175538402811491896971809662145428720050437322001235767355520382811314112424433961970816731007973056084745722448291044701761678295841504017041479232088614999135791402586870431672771162716533374122990142230320202416767524328064057966825328958917738383429056484112220546737454868616509287914745920891192258145454559945096104595135015071564957851184332410054356370571138706428650355371568634815756419254198427179991777682075906539288223131167050791668061962769031040221497239098056742302217429535910882436217713220793736327047455333047716131135967762434155691727910782679706879817310570609117710137978041494315581532527447061569397868679809513295000374622430707169051332291779839933133887697675975523422083376000880122757921769462802220212383747752715140864069425388263440879366991102203029683471355705940749925827408342679466200978262597992592318300201302687167234638053008763299883243839958548840329090357920366834884457918441852647793241740160972588070171511282267920340677005953315875049448975110393863272859792349553018987415088426310559011886686075703364731125404862691424965217698806178978140428612611130231591020509739200422351780274550703369447708646194963713876026464415686645947249133199698021561875488937118164702481889485260171914199430702226239349882203673569526263104337373278420608601717802409253205308854428946869876554912578450102948471159421574587697276118388272580696709118072182722390126740207049185105910176291155606405807323267385499505181109886994914516634310425869812851589839338223219463869963416335751851045941469287601501246044656885659809668721391533465282099091634948438982360109823340457221746701308201124266628261931746649827249951586127252330664005037254292899735471785427791039765042282142973132108972460429115474442181325984470659243406647129708814280748378676314663508294976052103079858460269533801139046089471067775449874996035830207822979858857511278459934122813390622609083769939178921420296826024918798834688367003380827833957782753588070123667102585804085311077043069493286184243497322228957268787545498525475620402980446745687357432344256977092187687223876077636790236644777783873372486641878984539896480572543178750617773676793905182941950299128818615571799365876256894470193081057919982990331910367019780519873564767938994773740130674958759840199434069192490788620768169271036967695165566003257097238772795568660588147317784535282837358911301177996357807463072211936516569214360543025450874153270082498564691262157242503575587103003543204 58364717899518313978325146751948309468718800452984908595541683785557775586219707922052514380609092207395120765161296545863535422478508433108368783352288812820342332158895938108258492561029034524024200429260704080690374523607184273627285863624716697808635582049569126913720079031009234566043311513289625048267554345123872254960667472925754122777810555061995299390564368268285507997661972737476973788137875514922998935334485431129512791527770800459954411390112437153783372828531935752627153731643094714477714767669058443697487123546148907154378854912574709657053021785281704748996876773753065394284154152297368971821285146498955104765386093051056403549888704329573136825602970898310647931355655021571215625646209692657434843337181603129760051326784763517697361271487827445230028533546535687258260878533856256580084293462452594526175040823007707314934250940297843301054646734357590853126903317466873533614257167334069330200194365677064918702121081664605458443383808876712407678013570006623435302531268130961846400116341197777240567449499198927902788981592717090783916206426336958692114433035623912782405317698502415404271541624805297211837481981699588082260144188146335605313295132904968649750336292717285784915682229185278646836791927176846271450363507771071188020821715780174756350977849841273206739269417844014063358386431136113147442121331711392765940711653594006291979846958707772096411240041869536209989873116760679957963655448770885651210953432816051986586608110260930146775468807550537856903700346847855549997217851519467988880779320448827862018004357098881125422762632177393441708953049636833387891480357487425933948603944634140441919328251155920692310224362700750041045154002580480761526598562170265816294587430454752872945778775112146675072802502947513935050969321466139915469470215532364164395896017953070865706383022656166552753324929437962804153466502225670330788826054756583523979683913536937228704556058682569380062614978726057477814241851468520632143615986630177071631426585255613149554110705820606389813004997414899579372239822117806733887494845458637961763651044026795388073085660551038997824971734905931667026915566551872529898637260067773700587558758883153003635343885670876505820990341444332805510520379431537259453590403722059999363065287184245144149258884404243480349771660733803412821522902083320005241461562735627060400163977087266914331559576641957769777296910247660507500821227188634916954465745202803838469583435752324670369930667442595758335874509614316381993456242758347100250669053216902379207838726130807 94436097305220002115148400967438528733559413186834060596717222188369267483191517584197943100659529529396356532516816928674849534902942395079185514360261868905088054607186982810020170856870538541065679661349319079826165926194054705300057026341250071931625724279889329330487603359073292532868640472207363431696610829236092801698122341542263410692556475953187557536018928213381612592796987809041931639322207924977355305905624137558163146899339435275710830644310864333775150510607842291915376862810145506145776730438089483918984362644205649456596284448485592093270735006075441076044332106800781525420121914731524663549195929178661984582696663660174113687866745823888718358130417959880045800035464534866216000268640399826486175628961443062893939024460739041119444647488707567987950303009337907470644626286571397444153718850716035405542031925210736998405606646238593226882055077037057054105165915459465851914458470021236564838247374440364801945961040213445787533741729243547292135932011859271228544271429103549916571627623465697581244455452514802952237956703110954056775998775889977679529521461934471794292003774205780135396946487496722177055180787878566222688756799276567196333804872105391001530610843420655232624328424148992522863256342863492218699496707469092749896310652898339458832867335101445120938700120070253413240590104705639410546458704989813374542429456003259497288701387654641972966152620319639158461032538335267655239773837043466347920071504998774376713348317310115252685645098706144262711023614233355055178327738514382505515089746318640713607843695322100589292726048513145292754894518924434889137525014373085743617325336167605724018419886104359674670334186041207262791855310781605028154860493916915643544539016582005203609783812366439574808274288375304974816011603609113047578442675961479638838077343937541524949789669785875367034073308114277467661761478277773410647286324290384663025773384604712678579552094512777203042473836237335937748364664859143241227385925809098491928252610174411984242477709201434223770787751002969703039342407921892044964537914951924146007148366255752656860631159076514618227952181651619024459259823528964717585861136145410490824203536667026376121985764655416402301562884623083423284197173336720201403889532540675571162431163441139614342339942324226470681682027753583932695087670022314778981592237694386900599598046279757702952327745912994737472462476250917604739594022757295505101783529738086675828494736930321028177393739654532274905088870157341832867609512840845664941931210459405954794941729674011 152800815204738316093473547719386838202278213639818969192258905973927043069411225506250457481268621736791477297678113474538384957381450828187554297712550681725430386766082920918278663417899573065089880090610023160516540449801238978927342889965966769740261306329458456244207682390082527098911951985496988479964165174359965056658789814468017533470367031015182856926583296481667120590458960546518905427460083439900354241240109568687675938427110235735665242034423301487558523339139778044542530594453240220623491498107147927616471486190354556610975139361060301750323756791357145825041208880553846919704276067028893635370481075677617089348082756711230517237755450153461855183733388858190693731391119556437431625914850092483921018966143046192653990351245502558816805918976535013217978836555873594728905504820427654024238012313168629931717072748218444313339857586536436527936701811394647907232069232926339385528715637355305895038441740117429720648082121878051245977125538120259699813945581865894663846802697234511762971743964663474821811904951713730855026938295828044840692205202226936371643954497558384576697321472708195539668488112302019388892662769578154304948900987422902801647100005010359651280947136137941017540010653334271169700048270040338490149860215240163937917132368678514215183845184942718327677969537914267476598976535841752557988580036701206140483141109597265789268548346362414069377392662189175368450905655095947613203429285814351999131024937814826363299956427571045399461113906256682119614723961081210605175545590033850494395869066767468575625848052420981714715488680690538734463847568561268277029005371860511677565929280801746165937748137260280366980558548741957303837009313362085789681459056087181459839126447036758076555562587478586249881076791322818909866980925075252963047912891493843803233973361890612390656172692442041919787398237552240271815227980503443741436112379046968187005457298141649907284108153195346583105088814963393415562606516327663873371001912439275563559679195430025133796588415022040613583792748417869282411582230039698778852032760410562107770799410282548044933716819627553616052923916557550691486175390080837247484498396213184191411762295550179379757329650326292908122553226067416228794717552768257460857479936262735570525496450625384758491598826728469951031453688487387345516610572105634784223053800430013960999762023367024617283887322554952507249759386498578112240415249945930422056249274940890514298078172682645698547324407097128033240963379771658214861065755599192765192600263676308334002780455804818 247236912509958318208621948686825366935837626826653029788976128162296310552602743090448400581928151266187833830194930403213234492284393223266739812072812550630518441373269903728298834274770111606155559751959342240342706375995293684227399916307216841671887030609347785574695285749155819631780592457704351911660776003596057858356912156010280944162923506968370414462602224695048733183255948355560837066782291364877709547145733706245839085326449671011376072678734165821333673849747620336457907457263385726769268228545237411535455848834560206067571423809545893843594491797432586901085540987354628445124397981760418298919677004856279073930779420371404630925622195977350573541863806818070739531426584091303647626183490492310407194595104489255547929375706241599936250566465242581205929139565211502199550131106999051468391731163884665337259104673429181311745464232775029754818756888431704961337235148385805237443174107376542459876689114557794522594043162091497033510867267363806991949877593725165892391074126338061679543371588129172403056360404228533807264894998938998897468203978116914051173475959492856370989325246913975675065434599798741565947843557456720527637657786699469997980904877115750652811557979558596250164339077483263692563304612903830708849356922709256687813443021576853674016712520044163448616669657984520889839566640547391968535038741691019515025570565600525286557249734017056042343545282508814526911938193431215268443203122857818347051096442813600740013304744881160652146759004962826382325747575314565660353873328548232999910958813086109289233691747743082304008214729203684027218742087485703166166530386233597421183254616969351889956168023364640041650892734783164566628864624143690817836319550004097103383665463618763280165346399845025824689351079698123884682992528684366010626355567455323442072050705828153915605962362227917286821471545666517739476989458781217152083398703337352850031230682746362585863660247708123786147562651200729353310971181186807114598387838248374055487931805604437118039066124223474837354580499420838985450924637961590823816570675362486253777947776538300701794347978704068234280876098209169715945435213609801965070359532358594682235965832217205755879315414981709310424116110690499652078914726104977662261369468803411141687927614066524372833938769052696421713135716240971278211698242127949563204646038124400861599360069646782320236215068467947244722221862749495716980009272703225927158032804678977190126572909612966726724718146751660308146052249929000047728675268440038430134531474135714288797722185478829 400037727714696634302095496406212205138115840466471998981235034136223353622013968596698858063196773002979311127873043877751619449665844051454294109785363232355948828139352824646577497692669684671245439842569365400859246825796532663154742806273183611412148336938806241818902968139238346730692544443201340391624941177956022915015701970478298477633290537983553271389185521176715853773714908902079742494242374804778063788385843274933515023753559906747041314713157467308892197188887398381000438051716625947392759726652385339151927335024914762678546563170606195593918248588789732726126749867908475364828674048789311934290158080533896163278862177082635148163377646130812428725597195676261433262817703647741079252098340584794328213561247535448201919726951744158753056485441777594423907976121085096928455635927426705492629743477053295268976177421647625625085321819311466282755458699826352868569304381312144622971889744731848354915130854675224243242125283969548279487992805484066691763823175591060556237876823572573442515115552792647224868265355942264662291833294767043738160409180343850422817430457051240947686646719622171214733922712100760954840506327034874832586558774122372799628004882126110304092505115696537267704349730817534862263352882944169198999217137949420625730575390255367889200557704986881776294639195898788366438543176389144526523618778392225655508711675197791075825798080379470111720937944697989895362843848527162881646632408672170346182121380628427103313261172452206051607872911219508501940471536395776265529418918582083494306827879853577864859539800164064018723703409894222761682589656046971443195535758094109098749183897771098055893916160624920408631451283525121870465873937505776607517778606091278563222791910655521356720908987323612074570427871020942794549973453759618973674268458949167245306024067718766306262135054669959206608869783218758011292217439284660893519511082384321037036687980888012493147768400903470369252651466164122768873577697514470987969389750687649619047611001034462251835654539245515450938373247838708267862506868001289602668603435773048361548747186820848746728064798331621850333800014766720407431610603690639212554857928571778873647728127767385135636645065308002218546669336757915880873632278873235123118849405066146712213424064691909131325537595781166372744589404728358623728308814233584347427699838554414822599122093013806937520102391022899751971981249248073829220424522649156349214282079619867704424651082295612425272042553848788341387015629700658262589741024039231195327131737812022622800502641283647 647274640224654952510717445093037572073953467293125028770211162298519664174616711687147258645124924269167144958067974280964853941950237274721033921858175782986467269512622728374876331967439796277400999594528707641201953201791826347382142722580400453084035367548154027393598253888394166362473136900905692303285717181552080773372614126488579421796214044951923685851787745871764586956970857257640579561024666169655773335531576981179354109080009577758417387391891633130225871038635018717458345508980011674162027955197622750687383183859474968746117986980152089437512740386222319627212290855263103809953072030549730233209835085390175237209641597454039779088999842108163002267461002494332172794244287739044726878281831077104735408156352024703749849102657985758689307051907020175629837115686296599128005767034425756961021474640937960606235282095076806936830786052086496037574215588258057829906539529697949860415063852108390814791819969233018765836168446061045312998860072847873683713700769316226448628950949910635122058487140921819627924625760170798469556728293706042635628613158460764473990906416544097318675971966536146889799357311899502520788349884491595360224216560821842797608909759241860956904063095255133517868688808300798554826657495847999907848574060658677313544018411832221563217270225031045224911308853883309256278109816936536495058657520083245170534282240798316362383047814396526154064483227206804422274782041958378150089835531529988693233217823442027843326565917333366703754631916182334884266219111710341925883292247130316494217786692939687154093231547907146322731918139097906788901331743532674609362066144327706519932438514740449945850084183989560450282344018308286437094738561649467425354098156095375666606457374274284636886255387168637899259778950719066679232965982443984984300624026404490687378074773546920221868097416897876493430341328885275750769206898065878045602909785721673887067918663634375079011428648611594155400214117364852122184548878701278102567777588936023674535542806638899369874720663468990288292953747259547253313431505962880426485174111135534615326694963359149448522412777035690084614676112975890123377045817300441177625217460930373555883693959984590891515960480289711528970785447448415532952547004978212785380218873869557853901351678758433504159476364833862794457725120969329901940007056361533910632345876678815684198482162660589257756317459490846996694203111997569546200433795352382276372314884298844894551223991908579151996760700600448649533067879629658310318416292479269625461663211947736911598224826762476 1047312367939351586812812941499249777212069307759597027751446196434743017796630680283846116708321697272146456085941018158716473391616081326175328031643539015342416097651975553021453829660109480948646439437098073042061200027588359010536885528853584064496183704486960269212501222027632513093165681344107032694910658359508103688388316096966877899429504582935476957240973267048480440730685766159720322055267040974433837123917420256112869132833569484505458702105049100439118068227522417098458783560696637621554787681850008089839310518884389731424664550150758285031430988975012052353339040723171579174781746079339042167499993165924071400488503774536674927252377488238975430993058198170593606057061991386785806130380171661899063621717599560151951768829609729917442363537348797770053745091807381696056461402961852462453651218117991255875211459516724432561916107871397962320329674288084410698475843911010094483386953596840239169706950823908243009078293730030593592486852878331940375477523944907287004866827773483208564573602693714466852792891116113063131848561588473086373789022338804614896808336873595338266362618686158318104533280024000263475628856211526470192810775334944215597236914641367971260996568210951670785573038539118333417090010378792169106847791198608097939274593802087589452417827930017927001205948049782097622716652993325681021582276298475470826042993915996107438208845894775996265785421171904794317637625890485541031736467940202159039415339204070454946639827089785572755362504827401843386206690648106118191412711165712399988524614572793265018952771348071210341455621548992129550583921399579646052557601902421815618681622412511548001744000344614480858913795301833408307560612499155244032871876762186654229829249284929805993607164374492249973830206821740009473782939436203603957974892485353657932684098841265686528130232471567835700039211112104033762061424337350538939122420868105994924104606644522387572159197049515064524652865583528974891058126576215749090537167339623673293583153807673361621710375202714505739231326995098255521175938373964170029153777546908582976875442150179998195250477575367311934948476127742610530808656420991080390180075389502152429531422087751976027152605545597713747517454784206331413826179283851447908499068278935704566114775743450342635485013960615029167202314525697688525668315870595118258060045715233230506797604255674396195276419850513746748666184361245643375420858318001538625586596963918712598975875074204191577268803254449236990920083509330316572908157316518500820788794949759759534398727468046123 1694587008164006539323530386592287349286022775052722056521657358733262681971247391970993375353446621541313601044008992439681327333566318600896361953501714798328883367164598281396330161627549277226047439031626780683263153229380185357919028251433984517580219072035114296606099475916026679455638818245012724998196375541060184461760930223455457321225718627887400643092761012920245027687656623417360901616291707144089610459448997237292223241913579062263876089496940733569343939266157435815917129069676649295716815637047630840526693702743864700170782537130910374468943729361234371980551331578434682984734818109888772400709828251314246637698145371990714706341377330347138433260519200664925778851306279125830533008662002739003799029873951584855701617932267715676131670589255817945683582207493678295184467169996278219414672692758929216481446741611801239498746893923484458357903889876342468528382383440708044343802017448948629984498770793141261774914462176091638905485712951179814059191224714223513453495778723393843686632089834636286480717516876283861601405289882179129009417635497265379370799243290139435585038590652694464994332637335899765996417206096018065553034991895766058394845824400609832217900631306206804303441727347419131971916667874640169014696365259266775252818612213919811015635098155048972226117256903665406878994762810262217516640933818558715996577276156794423800591893709172522419849904399111598739912407932443919181826303471732147732648557027512482789966393007118939459117136743584178270472909759816460117296003412842716482742401265732952173046002895978356664187539688090036339485253143112320661919668046749522138614060927251997947594084528604041309196139320141694744655351060804711458225974918282029896435706659204090630493419761660887873089985772459076153015905418647588942275516511758148620062173614812606749998329888465712193469552440989309512830631235416416984725330653827668811172525308156762651170625698126658680053079700893827013242675454917027193104944928559696968118696614312260991585095866183496027524280742357802774489369879927050455638951658044117592202137113539147643772890352403002019563152240718500654185702238291521567805292850432525985415116047736566918668566025887425276488240231654746946778726288829660693879287152805262420016127422208776139644490325448891961660039646667018427608322926956652168692391591912046190996086418334985453032737310004593745360387473243212921621292113353920901958911848217557493527099066112770729265563955049685640453151388959974883226573608997770446250458161707496445996952294808599 2741899376103358126136343328091537126498092082812319084273103555168005699767878072254839492061768318813460057129950010598397800725182399927071689985145253813671299464816573834417783991287658758174693878468724853725324353256968544368455913780287568582076402776522074565818600697943659192548804499589119757693107033900568288150149246320422335220655223210822877600333734279968725468418342389577081223671558748118523447583366417493405092374747148546769334791601989834008462007493679852914375912630373286917271603318897638930366004221628254431595447087281668659500374718336246424333890372301606262159516564189227814568209821417238318038186649146527389633593754818586113864253577398835519384908368270512616339139042174400902862651591551145007653386761877445593574034126604615715737327299301059991240928572958130681868323910876920472356658201128525672060663001794882420678233564164426879226858227351718138827188971045788869154205721617049504783992755906122232497972565829511754434668748659130800458362606496877052251205692528350753333510407992396924733253851470652215383206657836069994267607580163734773851401209338852783098865917359900029472046062307544535745845767230710273992082739041977803478897199517158475089014765886537465389006678253432338121544156457874873192093206016007400468052926085066899227323204953447504501711415803587898538223210117034186822620270072790531238800739603948518685635325571016393057550033822929460213562771411934306772063896231582937736606220096904512214479641570986021656679600407922578308708714578555116471267015838526217191998774244049567005643161237082165890069174542691966714477269949171337757295683339763545949338084873218522168109934621975103052215963559959955491097851680468684126264955944133896624100584136153137846920192594199085626798844854851192900250408997111806552746272456078293278128562360033547893508763553093343274892055572766955923847751521933663735277131952679150223329822747641723204705945284422801904300802031132776283642112268183370261701850421985622613295471068898001766755607737456058295665308253891220484792729204952700569077579263719145839023367927770313954511628368461111184994358659282601957985368239934678414946538135488542945821171571485139024005695015861078360604905572681108602378355431740966986130903165659118775129504286063921128862354172364706953276638797551770426752437307145276697793690674009381648309157160518340494026571834488856297042150431355459527545508812136270092502974140316962306534367209498922631373234898290291456134730925516271267039253111467255980395679762854722 4436486384267364665459873714683824475784114857865041140794760913901268381739125464225832867415214940354773658173959003038079128058748718527968051938646968612000182831981172115814114152915208035400741317500351634408587506486348729726374942031721553099656621848557188862424700173859685872004443317834132482691303409441628472611910176543877792541880941838710278243426495292888970496105999012994442125287850455262613058042815414730697315616660727609033210881098930567577805946759837288730293041700049936212988418955945269770892697924372119131766229624412579033969318447697480796314441703880040945144251382299116586968919649668552564675884794518518104339935132148933252297514096599500445163759674549638446872147704177139906661681465502729863355004694145161269705704715860433661420909506794738286425395742954408901282996603635849688838104942740326911559409895718366879036137454040769347755240610792426183170990988494737499138704492410190766558907218082213871403458278780691568493859973373354313911858385220270895937837782362987039814227924868680786334659141352831344392624293333335373638406823453874209436439799991547248093198554695799795468463268403562601298880759126476332386928563442587635696797830823365279392456493233956597360923346128072507136240521717141648444911818229927211483688024240115871453440461857112911380706178613850116054864143935592902819197546229584955039392633313121041105485229970127991797462441755373379395389074883666454504712453259095420526572613104023451673596778314570199927152510167739038426004717991397832954009417104259169365044777140027923669830700925172202229554427685804287376396937995920859895909744267015543896932169401822563477306073942116797796871314620764666949323826598750714022700662603337987254594003897814025720010178366658161779814750273498781842525925508869955172808446070890900028126892248499260086978315994082652787722686808183372908573082175761332546449657260835912874500448445768381884759024985316628917543477486049803476747057196743067229820547036297883604880566935081497794279888479813861070154678133818270940431680862996818161279716377258293482796258280173315974074780609179611839180060897574123525790661090367204400361654183225109864489737597372564300493935247515825307383631861510769296257642584546229406147030587867894914773994611512813090522393819031725380884961724508422595444828899057322888789777092344367101341894470522934239386959307732069218663442544709380429504420660353827586030073206429733035799931164548608271826386287250266339361304534514041713289711273174752426392632057663321 7178385760370722791596217042775361602282206940677360225067864469069274081507003536480672359476983259168233715303909013636476928783931118455039741923792222425671482296797745950231898144202866793575435195969076488133911859743317274094830855812009121681733024625079263428243300871803345064553247817423252240384410443342196760762059422864300127762536165049533155843760229572857695964524341402571523348959409203381136505626181832224102407991407876155802545672700920401586267954253517141644668954330423223130260022274842908701258702146000373563361676711694247693469693166033727220648332076181647207303767946488344401537129471085790882714071443665045493973528886967519366161767673998335964548668042820151063211286746351540809524333057053874871008391456022606863279738842465049377158236806095798277666324315912539583151320514512770161194763143868852583620072897513249299714371018205196226982098838144144321998179959540526368292910214027240271342899973988336103901430844610203322928528722032485114370220991717147948189043474891337793147738332861077711067912992823483559775830951169405367906014403617608983287841009330400031192064472055699824940509330711107137044726526357186606379011302484565439175695030340523754481471259120494062749930024381504845257784678175016521637005024245934611951740950325182770680763666810560415882417594417438014593087354052627089641817816302375486278193372917069559791120555541144384855012475578302839608951846295600761276776349490678358263178833200927963888076419885556221583832110575661616734713432569952949425276432942785386557043551384077490675473862162254368119623602228496254090874207945092197653205427606779089846270254275041085645416008564091900849087278180724622440421678279219398148965618547471883878694588033967163566930370960857247406613595128349974742776334505981761725554718526969193306255454608532807980487079547175996062614742380950328832420833697694996281726789213515063097830271193410105089464970269739430821844279517182579760389169464926437491522397458283506218176038003979499561035496217269919365819986387709491425224410067949518730357295640977439321819626207943629928586408977640723024174419556856725483776029330301882815308192318713652810310909168857703324499630263376903667988537434191877898635998016287196392277933753527013689903498897576734219384747991396432334161600522060193022197266206202599586583467766353748749651051631041274733413531142220925515705592976064839957049929472490097678533047346746695342334298374047530903199621185540557795496035460030312980328964384642008406788311820518043 11614872144638087457056090757459186078066321798542401365862625382970542463246129000706505226892198199523007373477868016674556056842679836983007793862439191037671665128778918066046012297118074828976176513469428122542499366229666003821205797843730674781389646473636452290668001045663030936557691135257384723075713852783825233373969599408177920304417106888243434087186724865746666460630340415565965474247259658643749563668997246954799723608068603764835756553799850969164073901013354430374961996030473159343248441230788178472151400070372492695127906336106826727439011613731208016962773780061688152448019328787460988506049120754343447389956238183563598313464019116452618459281770597836409712427717369789510083434450528680716186014522556604734363396150167768132985443558325483038579146312890536564091720058866948484434317118148619850032868086609179495179482793231616178750508472245965574737339448936570505169170948035263867431614706437431037901807192070549975304889123390894891422388695405839428282079376937418844126881257254324832961966257729758497402572134176314904168455244502740741544421227071483192724280809321947279285263026751499620408972599114669738343607285483662938765939865927153074872492861163889033873927752354450660110853370509577352394025199892158170081916842475861823435428974565298642134204128667673327263123773031288130647951497988219992461015362531960441317586006230190600896605785511272376652474917333676219004340921179267215781488802749773778789751446304951415561673198200126421510984620743400655160718150561350782379285850047044555922088328524105414345304563087426570349178029914300541467271145941013057549115171873794633743202423676863649122722082506208698645958592801489289389745504877970112171666281150809871133288591931781189286940549327515409186428345401848756585302260014851716898363164597860093334382346857032068067465395541258648850337429189133701740993915873456328828176446474350975972330719639178486974223995255056059739387757003232383237136226661669504721342944494581389823056604939060997355315384697083780435974664521527762365656090930946336891637012018235732804615884488116945902661189586820334863354480454430849009566690420669087215669846501938762674800646766230267624993565510892728975372169295702647194893640600833425798424964341394908604677493509089547309907141810428157715046562246568615617642095105259922475373244858698115850992946101564208972800490449952994734369035520774220386554350132843925264563120553176428378134229538596139175026007472790824134857339994544354693618675657816760833180943878181364 18793257905008810248652307800234547680348528739219761590930489852039816544753132537187177586369181458691241088781777030311032985626610955438047535786231413463343147425576664016277910441320941622551611709438504610676411225972983277916036653655739796463122671098715715718911301917466376001110938952680636963460124296126021994136029022272478048066953271937776589930946954438604362425154681818137488823206668862024886069295179079178902131599476479920638302226500771370750341855266871572019630950360896382473508463505631087173410102216372866258489583047801074420908704779764935237611105856243335359751787275275805390043178591840134330104027681848609092286992906083971984621049444596172374261095760189940573294721196880221525710347579610479605371787606190374996265182400790532415737383118986334841758044374779488067585637632661390011227631230478032078799555690744865478464879490451161801719438287080714827167350907575790235724524920464671309244707166058886079206319968001098214350917417438324542652300368654566792315924732145662626109704590590836208470485126999798463944286195672146109450435630689092176012121818652347310477327498807199445349481929825776875388333811840849545144951168411718514048187891504412788355399011474944722860783394891082197651809878067174691718921866721796435387169924890481412814967795478233743145541367448726145241038852040847082102833178834335927595779379147260160687726341052416761507487392911979058613292767474867977058265152240452137052930279505879379449749618085682643094816731319062271895431583131303731804562282989829942479131879908182905020778425249680938468801632142796795558145353886105255202320599480573723589472677951904734768138091070300599495045870982213911830167183157189510320631899698281755011983179965748352853870920288372656593041940530198731328078594520833478623917883124829286640637801465564876047952475088434644912952171570084030573414749571151325109903235687866039070160990832588592063688965524795490561232036520414962997525396126595942212865341952864896041232642943040496916350880914353699801794650909237253790880500998895855621994307659213172126435510696060575831247598564461057887528900011287574493342719750970970030978038820652415485111555935087970949493195774269632643360706729894525093529638617120622190702898094921922294580992406666281529291889801824590049208162768628808639839361311462522061956712625051864600643997732605483706214021592173920250074628496839060343604279605334022943096167899923123720468527912643670078225628658331381930353375454574667673947640042458769239969255698699407 30408130049646897705708398557693733758414850537762162956793115235010359007999261537893682813261379658214248462259645046985589042469290792421055329648670604501014812554355582082323922738439016451527788222907932733218910592202649281737242451499470471244512317572352168009579302963129406937668630087938021686535838148909847227509998621680655968371370378826020024018133679304351028885785022233703454297453928520668635632964176326133701855207545083685474058780300622339914415756280226002394592946391369541816756904736419265645561502286745358953617489383907901148347716393496143254573879636305023512199806604063266378549227712594477777493983920032172690600456925200424603080331215194008783973523477559730083378155647408902241896362102167084339735183756358143129250625959116015454316529431876871405849764433646436552019954750810009861260499317087211573979038483976481657215387962697127376456777736017285332336521855611054103156139626902102347146514358129436054511209091391993105773306112844163970934379745591985636442805989399987459071670848320594705873057261176113368112741440174886850994856857760575368736402627974294589762590525558699065758454528940446613731941097324512483910891034338871588920680752668301822229326763829395382971636765400659550045835077959332861800838709197658258822598899455780054949171924145907070408665140480014275888990350029067074563848541366296368913365385377450761584332126563689138159962310245655277617633688654135192839753954990225915842681725810830795011422816285809064605801352062462927056149733692654514183848133036874498401220208432288319366082988337107508817979662057097337025416499827118312751435771354368357332675101628768383890860173576509298141004463783703201219912688035159622492298180849091626145271771897529542140811469615888065779470285932047487913380854535685195522281047722689379975020148322596944115417870629693293763289600759217732314408665444607653938079682162217015042491710471767079037912960779851550300619793523647346234661622788265446934208286447446285864289247882101494271666265611437480237769315430765016156536591929842192513631319677448904931051395184177521733908788151281392750883380465718423502909410171640057246647885322591178159912202701318238574486761285162361618732876025597172288423279217954047989127862436316830899258485915755828839199031612252747764254725015197424257481456416722444537329957483749980451636943834169692679014512042126914984443664017613280730158629738177948207659288453099552098602757451239809253251636131122206065210715449119022367566315700275530073150199576880771 49201387954655707954360706357928281438763379276981924547723605087050175552752394075080860399630561116905489551041422077296622028095901747859102865434902017964357959979932246098601833179759958074079399932346437343895321818175632559653279105155210267707634988671067883728490604880595782938779569040618658649995962445035869221646027643953134016438323650763796613949080633742955391310939704051840943120660597382693521702259355405312603986807021563606112361006801393710664757611547097574414223896752265924290265368242050352818971604503118225212107072431708975569256421173261078492184985492548358871951593879339071768592406304434612107598011601880781782887449831284396587701380659790181158234619237749670656672876844289123767606709681777563945106971362548518125515808359906547870053912550863206247607808808425924619605592383471399872488130547565243652778594174721347135680267453148289178176216023098000159503872763186844338880664547366773656391221524188322133717529059393091320124223530282488513586680114246552428758730721545650085181375438911430914343542388175911832057027635847032960445292488449667544748524446626641900239918024365898511107936458766223489120274909165362029055842202750590102968868644172714610584725775304340105832420160291741747697644956026507553519760575919454694209768824346261467764139719624140813554206507928740421130029202069914156666681720200632296509144764524710922272058467616105899667449703157634336230926456129003169898019107230678052895612005316710174461172434371491707700618083381525198951581316823958245988410416026704440880352088340471224386861413586788447286781294199894132583561853713223567953756370834942080922147779580673118658998264646809897636050334765917113050079871192349132812930080547373381157254951863277894994682389904260722372512226462246219241459449056518674146198930847518666615657949788161820163370345718127938676241772329301762887823415015758979047982917850083054112652701304355671101601926304647040861851830044062309232187018914861389147073628400311181905521890825141991188017146525791180039563966340002269947417092928738048135625627336662077057486905880238097565156386715742450638412280477005997996252129922611027277625924143243593645023758636406209523979957059431994262093582755491697381952917835074670179830760531238753193839478322422110368490921414077337813462887783826232897320817728184966599286670108801845052280941566775176385228533634300835234518292514452341073762909343511971150755456353022675819071285363883479331477264789453587995564090903693690041513955742734299313119455275580178 79609518004302605660069104915622015197178229814744087504516720322060534560751655612974543212891940775119738013301067124282211070565192540280158195083572622465372772534287828180925755918198974525607188155254370077114232410378281841390521556654680738952147306243420051738069907843725189876448199128556680336531800593945716449156026265633789984809694029589816637967214313047306420196724726285544397418114525903362157335223531731446305842014566647291586419787102016050579173367827323576808816843143635466107022272978469618464533106789863584165724561815616876717604137566757221746758865128853382384151400483402338147141634017029089885091995521912954473487906756484821190781711874984189942208142715309400740051032491698026009503071783944648284842155118906661254766434319022563324370441982740077653457573242072361171625547134281409733748629864652455226757632658697828792895655415845416554632993759115285491840394618797898442036804174268876003537735882317758188228738150785084425897529643126652484521059859838538065201536710945637544253046287232025620216599649352025200169769076021919811440149346210242913484927074600936490002508549924597576866390987706670102852216006489874512966733237089461691889549396841016432814052539133735488804056925692401297743480033985840415320599285117112953032367723802041522713311643770047883962871648408754697019019552098981231230530261566928665422510149902161683856390594179795037827412013403289613848560144783138362737773062220903968738293731127540969472595250657300772306419435443988126007731050516612760172258549063578939281572296772759543752944401923895956104760956256991469608978353540341880705192142189310438254822881209441502549858438223319195777054798549620314269992559227508755305228261396465007302526723760807437135493859520148788151982512394293707154840303592203869668479978570208046590678098110758764278788216347821232439531373088519495202232080460366632986062600012300069155144411776122750139514887084498591162471623567709655466848641703126836081281914847757467769811138707243485459683412137228660277333281770767286103953684858580240649256947014110981988538301064415619299065174867023843389295660942724421499161540094251084524273809465834771804935961337724448098466718344594355880826458781088869670376197053028718168958622967555584093097964238177939207689953026330085577717612799023657154802274144907411136616627592551825503917885400944869064243045676427750218961956532065621803921539081689919358414744806122227917674042815123288584728900920575794060774806352812712409080271443009829386269654852460949 128810905958958313614429811273550296635941609091726012052240325409110710113504049688055403612522501892025227564342489201578833098661094288139261060518474640429730732514220074279527589097958932599686588087600807421009554228553914401043800661809891006659782294914487935466560512724320972815227768169175338986527763038981585670802053909586924001248017680353613251916294946790261811507664430337385340538775123286055679037482887136758909828821588210897698780793903409761243930979374421151223040739895901390397287641220519971283504711292981809377831634247325852286860558740018300238943850621401741256102994362741409915734040321463701992690007123793736256375356587769217778483092534774371100442761953059071396723909335987149777109781465722212229949126481455179380282242678929111194424354533603283901065382050498285791231139517752809606236760412217698879536226833419175928575922868993705732809209782213285651344267381984742780917468721635649659928957406506080321946267210178175746021753173409140998107739974085090493960267432491287629434421726143456534560142037527937032226796711868952771885441834659910458233451521227578390242426574290496087974327446472893591972490915655236542022575439840051794858418041013731043398778314438075594636477085984143045441124990012347968840359861036567647242136548148302990477451363394188697517078156337495118149048754168895387897211981767560961931654914426872606128449061795900937494861716560923950079486600912141532635792169451582021633905736444251143933767685028792480007037518825513324959312367340571006160668965090283380161924385113230768139805815510684403391542250456885602192540207253565448658948513024252519176970660790114621208856702870129093413105133315537427320072430419857888118158341943838388459781675624085332130176249424409510524494738856539926396299752648722543814678909417726713206336047898920584442158562065949171115773145417821258090055495476125612034045517862383123267797113080478421241116813389145632024323453611771964699035660617988225228355543248068649675333029532385476647700558663019840316897248110769556051370777787318288784882574350773059046025206944653716864221561582766294027707941419730419495413670016862111801899733609078365449959719974130657622446675404026350142920041536580567052329114888103388348789383498794337286937442560600049576180874440407423391180500582849890052123091873092377735903297701353670556198826967720045449471579310728585453480249046517962877684448425201890509170201159144903736745328179006767916206165710029382056338897256506402450594227185744128699389110128041127 208420423963260919274498916189172311833119838906470099556757045731171244674255705301029946825414442667144965577643556325861044169226286828419419255602047262895103505048507902460453345016157907125293776242855177498123786638932196242434322218464571745611929601157907987204630420568046162691675967297732019323059563632927302119958080175220713986057711709943429889883509259837568231704389156622929737956889649189417836372706418868205215670836154858189285200581005425811823104347201744728031857583039536856504309914198989589748037818082845393543556196062942729004464696306775521985702715750255123640254394846143748062875674338492791877782002645706690729863263344254038969264804409758561042650904668368472136774941827685175786612853249666860514791281600361840635048676997951674518794796516343361554522955292570646962856686652034219339985390276870154106293859492117004721471578284839122287442203541328571143184662000782641222954272895904525663466693288823838510175005360963260171919282816535793482628799833923628559161804143436925173687468013375482154776741686879962232396565787890872583325591180870153371718378595828514880244935124215093664840718434179563694824706922145111054989308676929513486747967437854747476212830853571811083440534011676544343184605023998188384160959146153680600274504271950344513190763007164236581479949804746249815168068306267876619127742243334489627354165064329034289984839655975695975322273729964213563928046745695279895373565231672485990372199467571792113406362935686093252313456954269501450967043417857183766332927514153862319443496681885990311892750217434580359496303206713877071801518560793907329364140655213562957431793541999556123758715141093448289190159931865157741590064989647366643423386603340303395762308399384892769265670108944558298676477251250833633551140056240926413483158887987934759797014146009679348720946778413770403555304518506340753292287575936492245020108117874683192422941524856601171380631700473644223186795077179481620165884302321115061309637458095826117445144168239628962107383970800248500594230529881536842155324462645898529434139521364884041034563508009069336163286736449790137417003602362454840994575210111113196326173543074913137254895681311855105720913393748620706023746500317669436722705311941132106517748006466349921380035406798777988783870827466737508968898113381873547206925366017999788872519925293905496060116712368664914513714624987156335672442205578583584681605987506891809867584945965267131654419370994130056500935066630605176117113703609319114859674498628753958085658764980502076 337231329922219232888928727462722608469061447998196111608997371140281954787759754989085350437936944559170193141986045527439877267887381116558680316120521903324834237562727976739980934114116839724980364330455984919133340867486110643478122880274462752271711896072395922671190933292367135506903735466907358309587326671908887790760134084807637987305729390297043141799804206627830043212053586960315078495664772475473515410189306004964125499657743069086983981374908835573067035326576165879254898322935438246901597555419509561031542529375827202921387830310268581291325255046793822224646566371656864896357389208885157978609714659956493870472009769500426986238619932023256747747896944532932143093666621427543533498851163672325563722634715389072744740408081817020015330919676880785713219151049946645455588337343068932754087826169787028946222150689087852985830086325536180650047501153832828020251413323541856794528929382767384003871741617540175323395650695329918832121272571141435917941035989944934480736539808008719053122071575928212803121889739518938689336883724407899264623362499759825355211033015530063829951830117056093270487361698505589752815045880652457286797197837800347597011884116769565281606385478868478519611609168009886678077011097660687388625730014010536353001319007190248247516640820098647503668214370558425278997027961083744933317117060436772007024954225102050589285819978755906896113288717771596912817135446525137514007533346607421428009357401124068012006105204016043257340130620714885732320494473095014775926355785197754772493596479244145699605421066999221080032556032945264762887845457170762673994058768047472778023089168237815476608764202789670744967571843963577382603265065180695168910137420067224531541544945284141784222090075008978101395846358368967809200971990107373559947439808889648957297837797405661473003350193908599933163105340479719574671077663924162011382343071412617857054153635737066315690738637937079592621748513862789855211118530791253584864919962939103286537993001343894767120477197772014438755084529463268340911127777992306398206695240433216818219022095715657100080588714953723053027508298032556431444711543782185260489988880127975308128073276683991502704855401285985763343360069152647056166666541854250003775034426829235494866537389965144258666972849359378038360051701907144932360078613964723437259048457891092166608423222995259166616315539336384959963186204297884921125922454625101547559290435932093700376755147124412035391164699173136824417141232340634558173452600865825517310268725814498086785047875108543203 545651753885480152163427643651894920302181286904666211165754416871453199462015460290115297263351387226315158719629601853300921437113667944978099571722569166219937742611235879200434279130274746850274140573311162417257127506418306885912445098739034497883641497230303909875821353860413298198579702764639377632646890304836189910718214260028351973363441100240473031683313466465398274916442743583244816452554421664891351782895724873169341170493897927276269181955914261384890139673777910607286755905974975103405907469618499150779580347458672596464944026373211310295789951353569344210349282121911988536611784055028906041485388998449285748254012415207117716101883276277295717012701354291493185744571289796015670273792991357501350335487965055933259531689682178860650379596674832460232013947566290007010111292635639579716944512821821248286207540965958007092123945817653185371519079438671950307693616864870427937713591383550025226826014513444700986862343984153757342296277932104696089860318806480727963365339641932347612283875719365137976809357752894420844113625411287861497019928287650697938536624196400217201670208712884608150732296822720683417655764314832020981621904759945458652001192793699078768354352916723225995824440021581697761517545109337231731810335038008724737162278153343928847791145092048992016858977377722661860476977765829994748485185366704648626152696468436540216639985043084941186098128373747292888139409176489351077935580092302701323382922632796554002378304671587835370746493556400978984633951427364516226893399203054938538826523993398008019048917748885211391925306250379845122384148663884639745795577328841380107387229823451378434040557744789226868726286985057025671793424997045852910500202409714591174964931548624445179984398474393870870661516467313526107877449241358207193498579865130575370780996685393596232800364339918279281884052118893489978226382182430502764674630647349110102074261753611749508113680162793680764002380214336434078397913607970735205030804265260218347847630459439720884565621366011643400862468500263516841505358307873843240362019703079115347653161617080541141115152222962792389190795034482346568861715146144640101484564090239088504454246819758904639959751082597840869064273462901267762190413042171919440497739738770367601384285396431494180047008256158156027143922529373882441328976727346596984465973823909091955480943148289164662676432251705049874476900829285041256798364660203685132240896423438985510244340093089679167045584070167266880918076298971239734290566304475144632169943224443252044870706640089045279 882883083807699385052356371114617528771242734902862322774751788011735154249775215279200647701288331785485351861615647380740798705001049061536779887843091069544771980173963855940415213244391586575254504903767147336390468373904417529390567979013497250155353393302699832547012287152780433705483438231546735942234216976745077701478348344835989960669170490537516173483117673093228318128496330543559894948219194140364867193085030878133466670151640996363253163330823096957957175000354076486541654228910413350307505025038008711811122876834499799386331856683479891587115206400363166434995848493568853432969173263914064020095103658405779618726022184707544702340503208300552464760598298824425328838237911223559203772644155029826914058122680445006004272097763995880665710516351713245945233098616236652465699629978708512471032338991608277232429691655045860077954032143189366021566580592504778327945030188412284732242520766317409230697756130984876310257994679483676174417550503246132007801354796425662444101879449941066665405947295293350779931247492413359533450509135695760761643290787410523293747657211930281031622038829940701421219658521226273170470810195484478268419102597745806249013076910468644049960738395591704515436049189591584439594556206997919120436065052019261090163597160534177095307785912147639520527191748281087139474005726913739681802302427141420633177650693538590805925805021840848082211417091518889800956544623014488591943113438910122751392280033920622014384409875603878628086624177115864716954445900459531002819754988252693311320120472642153718654338815884432471957862283325109885271994121055402419789636096888852885410318991689193910649321947578897613693858829020603054396690062226548079410339829781815706506476493908586964206488549402848972057362825682493917078421231465580753446019674020224328078834482799257705803714533826879215047157459373209552897459846354664776056973718761727959128415389348815823804418800730760356624128728199223933609032138761988789895724228199321634385623460783615651686098563783657839617553029726785182416486085866149638568714943512332165872183712796198241195740937916515442218303332514903000306426689926825361974552970367063812582320096442896142664606483883826632407633532053914818357079584026169444272774165599603096250822786396638438713981105517534065503974231281027373689055341311320421725022281800184122089366371284423829292747791041434834440087033582926177924287114828786679800186859371079210621095240214091202436748769340403705335217531311874292464018905340970149480211950257750131655754515197588482 1428534837693179537215784014766512449073424021807528533940506204883188353711790675569315944964639719011800510581245249234041720142114717006514879459565660235764709722785199735140849492374666333425528645477078309753647595880322724415303013077752531748038994890533003742422833641013193731904063140996186113574881107281581267612196562604864341934032611590777989205166431139558626593044939074126804711400773615805256218975980755751302807840645538923639522345286737358342847314674131987093828410134885388453713412494656507862590703224293172395851275883056691201882905157753932510645345130615480841969580957318942970061580492656855065366980034599914662418442386484577848181773299653115918514582809201019574874046437146387328264393610645500939263803787446174741316090113026545706177247046182526659475810922614348092187976851813429525518637232621003867170077977960842551393085660031176728635638647053282712669956112149867434457523770644429577297120338663637433516713828435350828097661673602906390407467219091873414277689823014658488756740605245307780377564134546983622258663219075061221232284281408330498233292247542825309571951955343946956588126574510316499250041007357691264901014269704167722818315091312314930511260489211173282201112101316335150852246400090027985827325875313878105943098931004196631537386169126003748999950983492743734430287487793846069259330347161975131022565790064925789268309545465266182689095953799503839669878693531212824074775202666717176016762714547191713998833117733516843701588397327824047229713154191307631850146644466040161737703256564769643863883168533704955007656142784940042165585213425730232992797548815140572344689879692368124482420145814077628726190115059272400989910542239496406881471408042533032144190887023796719842718879292996020024955870472823787946944599539150799698859831168192853938604078873745158496931209578266699531123842028785167540731604366110838061202677142960565331918098963524441120626508942535658012006945746732723994926528493459539982233253920223336536251719929795301240480021529990302023921844393739992878930734646591447513525345329876739382310893160879307831409098366997249569168141836071465463459117060606152317036566916201800782624357566481667501471906994955182580547492626198088884770513904369970697635108182828132618760989361675690092647896760654909815018032068657917406190996105709276077570309519573588491969180042746484708916987862867967434722651775032471812041083282810064720865435333303770369482332839507670586253293830283114026754585209816114781650155174701002176526461155286633761 2311417921500878922268140385881129977844666756710390856715257992894923507961565890848516592665928050797285862442860896614782518847115766068051659347408751305309481702959163591081264705619057920000783150380845457090038064254227141944693581056766028998194348283835703574969845928165974165609546579227732849517115324258326345313674910949700331894701782081315505378649548812651854911173435404670364606348992809945621086169065786629436274510797179920002775508617560455300804489674486063580370064363795801804020917519694516574401826101127672195237607739740171093470020364154295677080340979109049695402550130582857034081675596315260844985706056784622207120782889692878400646533897951940343843421047112243134077819081301417155178451733325945945268075885210170621981800629378258952122480144798763311941510552593056604659009190805037802751066924276049727248032010104031917414652240623681506963583677241694997402198632916184843688221526775414453607378333343121109691131378938596960105463028399332052851569098541814480943095770309951839536671852737721139911014643682679383020306509862471744526031938620260779264914286372766010993171613865173229758597384705800977518460109955437071150027346614636366868275829707906635026696538400764866640706657523333069972682465142047246917489472474412283038406716916344271057913360874284836139424989219657474112089790220987489892507997855513721828491595086766637350520962556785072490052498422518328261821806970122946826167482700637798031147124422795592626919741910632708418542843228283578232532909179560325161466764938682315456357595380654076335841030817030064892928136905995444585374849522619085878207867806829766255339201639947022096114004643098231780586805121498949069320882069278222587977884536441619108397375573199568814776242118678513942034291704289368700390619213171024026938665650992111644407793407572037711978367037639909084021301875139832316788578084872566020331092532309381155722517764255201477250637670734881945615977885494712784822252721658861616618877381006952187937818493578959080097574559717087206338330479606142517499449590103779679397529042672937623506634098795823273627401699512152569474568525998290825433670030973216129618887012644696925288964050365494133879540527009097398904572210224258329043288069969573793885930969224771057474970467193224158151870991935937188707087409969237827916018387509460199659675890858012321261927833787919543357074896450893612646938889861258491841270142181143931486530573517861571919081608848074291588511361594988319218604115157084931130367124958752308182215670484222243 3739952759194058459483924400647642426918090778517919390655764197778111861673356566417832537630567769809086373024106145848824238989230483074566538806974411541074191425744363326222114197993724253426311795857923766843685660134549866359996594134518560746233343174368707317392679569179167897513609720223918963091996431539907612925871473554564673828734393672093494583815979952210481504218374478797169317749766425750877305145046542380739082351442718843642297853904297813643651804348618050674198474498681190257734330014351024436992529325420844591088883622796862295352925521908228187725686109724530537372131087901800004143256088972115910352686091384536869539225276177456248828307197605056262358003856313262708951865518447804483442845343971446884531879672656345363297890742404804658299727190981289971417321475207404696846986042618467328269704156897053594418109988064874468807737900654858235599222324294977710072154745066052278145745297419844030904498672006758543207845207373947788203124702002238443259036317633687895220785593324610328293412457983028920288578778229663005278969728937532965758316220028591277498206533915591320565123569209120186346723959216117476768501117313128336051041616318804089686590921020221565537957027611938148841818758839668220824928865232075232744815347788290388981505647920540902595299530000288585139375972712401208542377278014833559151838345017488852851057385151692426618830508022051255179148452222022167931700500501335770900942685367354974047909838969987306625752859644149552120131240556107625462246063370867957011613409404722477194060851945423720199724199350735019900584279690935486750960062948349318871005416621970338600029081332315146578534150457175860506776920180771350059231424308774629469449292578974651252588262596996288657495121411674533966990162177113156647335218752321823725798496819184965583011872281317196208909576615906608615145143903924999857520182450983404081533769675269946487640616727779642597877146613270539957622923632227436779748781215118401598852131301230288724189538423374260320577596089707389230260174873346135396430184236695227192922874372549677005817527259675131105036500066509402138642710362069756288892787091579368446655453928846497707913321616847161635351447521964279979452064836422347213813801974339544491521039152052903676235959828868914250799767752590847003725119478627155234107014493218736277229985410431600813231107876534404252274062759318861047369590664893730303882353424991208652351965906821631941401414448355744877841805191878102345973189324973199712780522299659754484708676825770856004 6051370680694937381752064786528772404762757535228310247371022190673035369634922457266349130296495820606372235466967042463606757836346249142618198154383162846383673128703526917303378903612782173427094946238769223933723724388777008304690175191284589744427691458204410892362525497345142063123156299451651812609111755798233958239546384504265005723436175753408999962465528764862336415391809883467533924098759235696498391314112329010175356862239898763645073362521858268944456294023104114254568538862476992061755247534045541011394355426548516786326491362537033388822945886062523864806027088833580232774681218484657038224931685287376755338392148169159076660008165870334649474841095556996606201424903425505843029684599749221638621297077297392829799955557866515985279691371783063610422207335780053283358832027800461301505995233423505131020771081173103321666141998168906386222390141278539742562806001536672707474353377982237121833966824195258484511877005349879652898976586312544748308587730401570496110605416175502376163881363634562167830084310720750060199593421912342388299276238800004710284348158648852056763120820288357331558295183074293416105321343921918454286961227268565407201068962933440456554866750728128200564653566012703015482525416363001290797611330374122479662304820262702672019912364836885173653212890874573421278800961932058682654467068235821049044346342873002574679548980238459063969351470578836327669200950644540496193522307471458717727110168067992772079056963392782899252672601554782260538674083784391203694778972550428282173080174343404792650418447326077796535565230167765084793512416596930931336334912470968404749213284428800104855368282972262168674648155100274092287363725302270299128552306378052852057427177115416270360985638170195857472271363530353047909024453881402525347725837965492847752737162470177077227419665688889233920887943653546517699166445779064832174308760535855970101864862207579327643363134492034844075127784284005421903238901517722149564571033936777263215471008682237240912127356916953219400675170649424476436598505352952277913929633826799006872320403415222614629324161358470954378663901766021554708117278888068047114326457122552584576274340941491194633202285667212655769230988048973377378356637046646605542857090044309118285406970121277674733710930296062138408951638744526784192432206888596393062023032880728196476889661301289613134493035710322323795631137655769754660016529554754988795723623567172352583838496480339493513320496057203819169430316553473090665191793440130284643910889424618506792890892496255078247 9791323439888995841235989187176414831680848313746229638026786388451147231308279023684181667927063590415458608491073188312430996825576732217184736961357574387457864554447890243525493101606506426853406742096692990777409384523326874664686769325803150490661034632573118209755205066524309960636766019675570775701108187338141571165417858058829679552170569425502494546281508717072817919610184362264703241848525661447375696459158871390914439213682617607287371216426156082588108098371722164928767013361158182319489577548396565448386884751969361377415374985333895684175871407970752052531713198558110770146812306386457042368187774259492665691078239553695946199233442047790898303148293162052868559428759738768551981550118197026122064142421268839714331835230522861348577582114187868268721934526761343254776153503007865998352981276041972459290475238070156916084251986233780855030128041933397978162028325831650417546508123048289399979712121615102515416375677356638196106821793686492536511712432403808939369641733809190271384666956959172496123496768703778980488172200142005393578245967737537676042664378677443334261327354203948652123418752283413602452045303138035931055462344581693743252110579252244546241457671748349766102610593624641164324344175202669511622540195606197712407120168050993061001418012757426076248512420874862006418176934644459891196844346250654608196184687890491427530606365390151490588181978600887582848349402866562664125222807972794488628052853435347746126966802362770205878425461198931812658805324340498829157025035921296239184693583748127269844479299271501516735289429518500104694096696287866418087294975419317723620218701050770443455397364304577315253182305557449952794140645483041649187783730686827481526876469694390921613573900767192146129766484942027581876014616058515681995061056717814671478535659289362042810431537970206430129797520269453126314311589682989832031828942986839374183398631882849274131003751219814486673004930897275961860861825149949586344319815151895664814323139983467529636316895340327479721252766739131865666858680226298413310359818063494234065243277787772291635141688618146085483700401832530956846759989250137803403219244214131953022929794870337692341115607284059817404582435570937657357808701883068952756670892018648662776928009273330578409946890124931052659751406497117631196157326367223548296130047373946932754119646711721213947724143586856728047905200415088615707386120219648719099605976992163561236190462387161125454721910505559564047272121745351193011164982765103484356691411724278261277599569322025934251 15842694120583933222988053973705187236443605848974539885397808579124182600943201480950530798223559411021830843958040230776037754661922981359802935115740737233841537683151417160828872005219288600280501688335462214711133108912103882969376944517087740235088726090777529102117730563869452023759922319127222588310219943136375529404964242563094685275606745178911494508747037481935154335001994245732237165947284897143874087773271200401089796075922516370932444578948014351532564392394826279183335552223635174381244825082442106459781240178517878163741866347870929072998817294033275917337740287391691002921493524871114080593119459546869421029470387722855022859241607918125547777989388719049474760853663164274395011234717946247760685439498566232544131790788389377333857273485970931879144141862541396538134985530808327299858976509465477590311246319243260237750393984402687241252518183211937720724834327368323125020861501030526521813678945810360999928252682706517849005798379999037284820300162805379435480247149984692647548548320593734663953581079424529040687765622054347781877522206537542386327012537326295391024448174492305983681713935357707018557366647059954385342423571850259150453179542185685002796324422476477966667264159637344179806869591565670802420151525980320192069424988313695733021330377594311249901725311749435427696977896576518573851311414486475657240531030763494002210155345628610554557533449179723910517550353511103160318745115444253206355163021503340518206023765755553105131098062753714073197479408124890032851804008471724521357773758091532062494897746597579313270854659686265189487609112884797349423629887890286128369431985479570548310765647276839483927830460657724045081504370785311948316336037064880333584303646809807191974559538937388003602037848472380629785039069939918207342786894683307519231272821759539120037851203659095664050685463922999644013478035462054664206137703522695344285263494090428601774366885711849330748132715181281383764100726667671735908890849088672928029794148665704770548444252257280699121927937388556342103457185579250691224289451890293240937563681202994906264465849976617039862364303598552511554877268138205850517545701336684537599204135811828886974317892951272473173813423619911034736165338929715558299527982062957781062334979394608253143657820420993191068703045241644415388589533255819941358153080254675129231009308013010827082217179297179051843536338070858370367402649774403707895329600559335913820028958867500618968042406562763383216702438298824283676356776205233769000602301148896768070490461818281012498 25634017560472929064224043160881602068124454162720769523424594967575329832251480504634712466150623001437289452449113419088468751487499713576987672077098311621299402237599307404354365106825795027133908430432155205488542493435430757634063713842890890725749760723350647311872935630393761984396688338802793364011328130474517100570382100621924364827777314604413989055028546199007972254612178607996940407795810558591249784232430071792004235289605133978219815795374170434120672490766548444112102565584793356700734402630838671908168124930487239541157241333204824757174688702004027969869453485949801773068305831257571122961307233806362086720548627276550969058475049965916446081137681881102343320282422903042946992784836143273882749581919835072258463626018912238682434855600158800147866076389302739792911139033816193298211957785507450049601721557313417153834645970636468096282646225145335698886862653199973542567369624078815921793391067425463515344628360063156045112620173685529821332012595209188374849888883793882918933215277552907160077077848128308021175937822196353175455768174275080062369676916003738725285775528696254635805132687641120621009411950197990316397885916431952893705290121437929549037782094224827732769874753261985344131213766768340314042691721586517904476545156364688794022748390351737326150237732624297434115154831220978465048155760737130265436715718653985429740761711018762045145715427780611493365899756377665824443967923417047694983215874938688264332990568118323311009523523952645885856284732465388862008829044393020760542467341839659332339377045869080830006144089204765294181705809172663767510924863309603851989650686530340991766163011581416799181012766215173997875645016268353597504119767751707815111180116504198113588133439704580149731804333414408211661053685998433889337847951401122190709808481048901162848282741629302094180482984192452770327789625145044496237966646509534718468662125973277875905370636931663817421137646078557345624962551817621322253210664240568592844117288649172300184761147597608178843180704127688207770315865805549104534649269953787475002806958990767197899607538594763125346064705431083468401637257388343653920764945550816490622133930682166579315433500235332290578395859190848692093974040812784511056198874081606443839262988667938831553604710545924243728454451738762046584746859623043489654283127628622061985128954724732041029941322884035779891441538485946986074788769994052426994935577551499475056219421254661744422764317068322947263974560044175476687521758970337253357293712873175029348090031140306946749 41476711681056862287212097134586789304568060011695309408822403546699512433194681985585243264374182412459120296407153649864506506149422694936790607192839048855140939920750724565183237112045083627414410118767617420199675602347534640603440658359978630960838486814128176413990666194263214008156610657930015952321548073610892629975346343185019050103384059783325483563775583680943126589614172853729177573743095455735123872005701272193094031365527650349152260374322184785653236883161374723295438117808428531081979227713280778367949365109005117704899107681075753830173505996037303887207193773341492775989799356128685203554426693353231507750019014999405991917716657884041993859127070600151818081136086067317342004019554089521643435021418401304802595416807301616016292129086129732027010218251844136331046124564624520598070934294972927639912967876556677391585039955039155337535164408357273419611696980568296667588231125109342443607070013235824515272881042769673894118418553684567106152312758014567810330136033778575566481763598146641824030658927552837061863703444250700957333290380812622448696689453330034116310223703188560619486846622998827639566778597257944701740309488282212044158469663623614551834106516701305699437138912899329523938083358334011116462843247566838096545970144678384527044078767946048576051963044373732861812132727797497038899467175223605922677246749417479431950917056647372599703248876960335403883450109888768984762713038861300901338378896442028782539014333873876416140621586706359959053764140590278894860633052864745281900241099931191394834274792466660143276998748891030483669314922057461116934554751199889980359082672009911540076928658858256283108843226872898042957149387053665545820455804816588148695483763314005305562692978641968153333842181886788841446092755938352096680634846084429709941081302808440282886133945288397758231168448115452414341267660607099160444104350032230062753925620063706477679737522643513148169270361259838729389063278485293058162101513329241520873911437314877070733205399854888877965108641516244549873773051384799795758938721844080715940370640193762104164073388571380165208429009029635979956514525526549504438310646887501028221338066493995466289751393186604763752209282810759726830139379742500069355726856144564224901597968062547084697262530966917434797157496980406461973336392878863431012436207883297191216138262737742868112158502181214831734977876556805356442191419768456134890265178110835388876248380122162363390806723631086330480676998342999760363878535175571022357896014022071797418580492958587959247 67110729241529791351436140295468391372692514174416078932246998514274842265446162490219955730524805413896409748856267068952975257636922408513778279269937360476440342158350031969537602218870878654548318549199772625688218095782965398237504372202869521686588247537478823725863601824656975992553298996732809316332876204085409730545728443806943414931161374387739472618804129879951098844226351461726117981538906014326373656238131343985098266655132784327372076169696355219773909373927923167407540683393221887782713630344119450276117490039492357246056349014280578587348194698041331857076647259291294549058105187386256326515733927159593594470567642275956960976191707849958439940264752481254161401418508970360288996804390232795526184603338236377061059042826213854698726984686288532174876294641146876123957263598440713896282892080480377689514689433870094545419685925675623433817810633502609118498559633768270210155600749188158365400461080661288030617509402832829939231038727370096927484325353223756185180024917572458485414978875699548984107736775681145083039641266447054132789058555087702511066366369333772841595999231884815255291979310639948260576190547455935018138195404714164937863759785061544100871888610926133432207013666161314868069297125102351430505534969153356001022515301043073321066827158297785902202200776998030295927287559018475503947622935960736188113962468071464861691678767666134644848964304740946897249349866266434809206680962278348596321594771380717046872004901992199727150145110659005844910048873055667756869462097257766042442708441770850727173651838335740973283142838095795777851020731230124884445479614509493832348733358540252531843091670439673082289855993088072040832794403322019143324575572568295963806663879818203419150826418346548303065646515301197053107146441936785986018482797485551900650889783857341445734416686917699852411651432307905184669057285752143656682070996541764781222587746036984353585108159575176965590408007338396075014025830302914380415312177569810113718028725964049370917966547452497056808289345643932757644088917190348900293587991797868190943177599184529302063680927166143290554493714460719448358151782914893158359075592438317518843471997176162045605184893421937054330605142001608418924113420555284580411925730226170668740860956730485916250867241512841678525611948719168508558083252501906920666719335511919253201267217462474909142099825065250611626419415042752342516980189762508561885200755662334863932467801376824107813571040699409277744651558387175237051400294145908275715189726895246826766670524098894905996 108587440922586653638648237430055180677260574186111388341069402060974354698640844475805198994898987826355530045263420718817481763786345103450568886462776409331581282079100756534720839330915962281962728667967390045887893698130500038840945030562848152647426734351607000139854268018920190000709909654662825268654424277696302360521074786991962465034545434171064956182579713560894225433840524315455295555282001470061497528243832616178192298020660434676524336544018540005427146257089297890702978801201650418864692858057400228644066855148497474950955456695356332417521700694078635744283841032632787325047904543514941530070160620512825102220586657275362952893908365734000433799391823081405979482554595037677631000823944322317169619624756637681863654459633515470715019113772418264201886512892991012455003388163065234494353826375453305329427657310426771937004725880714778771352975041859882538110256614336566877743831874297500809007531093897112545890390445602503833349457281054664033636638111238323995510160951351034051896742473846190808138395703233982144903344710697755090122348935900324959763055822663806957906222935073375874778825933638775900142969144713879719878504892996376982022229448685158652705995127627439131644152579060644392007380483436362546968378216720194097568485445721457848110905926243834478254163821371763157739420286815972542847090111184342110791209217488944293642595824313507244552213181701282301132799976155203793969394001139649497659973667822745829411019235866076143290766697365365803963813013645946651730095150122511324342949541702042122007926630802401116560141586986826261520335653287586001380034365709383812707816030550164071920020329297929365398699219960970083789943790375684689145031377384884112502147643132208724713519396988516456399488697187985894553239197875138082699117643569981610591971086665781728620550632206097610642819880423357599010324946359242817126175346573994843976513366100690831264845682218690113759678368598234804403089108788207438577413690899051634591940163278926441651171947307385934773397987160177307517861968575148696052526713641948906883548239378291406227754315737523455762922723490355428314666308441442662797386239325818547064810063670157511894936286608541818082814424812368145754252800297784649767652586370734893642458924793033000948129772479759113322769445699574970531419645380770351679155543395216444417405480200217777254258327246465443361397291599557698959171609530964696775465933773170252808716181498986471204377764330495608225328556730174997415278829321479298073085740917318624185251017057482865243 175698170164116444990084377725523572049953088360527467273316400575249196964087006966025154725423793240251939794119687787770457021423267511964347165732713769808021624237450788504258441549786840936511047217167162671576111793913465437078449402765717674334014981889085823865717869843577165993263208651395634584987300481781712091066803230798905879965706808558804428801383843440845324278066875777181413536820907484387871184481963960163290564675793219003896412713714895225201055631017221058110519484594872306647406488401519678920184345187989832197011805709636911004869895392119967601360488291924081874106009730901197856585894547672418696691154299551319913870100073583958873739656575562660140883973104008037919997628334555112695804228094874058924713502459729325413746098458706796376762807534137888578960651761505948390636718455933683018942346744296866482424411806390402205170785675362491656608816248104837087899432623485659174407992174558400576507899848435333772580496008424760961120963464462080180690185868923492537311721349545739792246132478915127227942985977144809222911407490988027470829422191997579799502222166958191130070805244278724160719159692169814738016700297710541919885989233746702753577883738553572563851166245221959260076677608538713977473913185873550098591000746764531169177733084541620380456364598369793453666707845834448046794713047145078298905171685560409155334274591979641889401177486442229198382149842421638603176074963417998093981568439203462876283024137858275870440911808024371648873861886701614408599557247380277366785657983472892849181578469138142089843284425082622039371356384517710885825513980218877645056549389090416603763111999737602447688555213049042124622738193697703832469606949953180076308811522950412143864345815335064759465135212489182947660385639811924068717600441055533511242860870523123174354967319123797463054471312731262783679382232111386473808246343115759625199101112137675184849953841793867079350086375936630879417114939091121818992725868468861748309968889242975812569138494759882991581687332804110065161950885765497596346114705439817097826725838562820708291435242903666746317416437951074876672818091356335821156461831764136065908282060846319557500121180030478872413419566813976564678366220853069230179578316596905562383319881523518917198997013992600791848381394418743479089502897882677272345874878907135697618672697662692686396358152311716054987816706642310041476151799293473258660666689435505116741183982875810579017948805029904885969980115117350234466679123467387573788275467812565450951921541156377771239 284285611086703098628732615155578752727213662546638855614385802636223551662727851441830353720322781066607469839383108506587938785209612615414916052195490179139602906316551545038979280880702803218473775885134552717464005492043965475919394433328565826981441716240692824005572137862497355993973118306058459853641724759478014451587878017790868345000252242729869384983963557001739549711907400092636709092102908954449368712725796576341482862696453653680420749257733435230628201888106518948813498285796522725512099346458919907564251200336487307147967262404993243422391596086198603345644329324556869199153914274416139386656055168185243798911740956826682866764008439317959307539048398644066120366527699045715550998452278877429865423852851511740788367962093244796128765212231125060578649320427128901033964039924571182884990544831386988348370004054723638419429137687105180976523760717222374194719072862441403965643264497783159983415523268455513122398290294037837605929953289479424994757601575700404176200346820274526589208463823391930600384528182149109372846330687842564313033756426888352430592478014661386757408445102031567004849631177917500060862128836883694457895205190706918901908218682431861406283878866181011695495318824282603652084058091975076524442291402593744196159486192485989017288639010785454858710528419741556611406128132650420589641803158329420409696380903049353448976870416293149133953390668143511499514949818576842397145468964557647591641542107026208705694043373724352013731678505389737452837674900347561060329652397502788691128607525174934971189505099940543206403426012069448300891692037805296887205548345928261457764365419640580675683132329035531813087254433010012208412681984073388521614638327338064188810959166082620868577865212323581215864623909677168842213624837687062151416718084625515121834831957188904902975517951329895073697291193154620382689707178470629290934421689689754469175614478238366016114799524012557193109764744534865683820204047879329257570139559367913382901909052521902254220310442067268926355085319964287372679812854340646292398641419081766004710274077941112114519189558641190202080339161441430304987484399797778483953848071089954612973092124516477069395057466639020690496233991626344710432619021150853879947230902967640456025778806316551918147126786472359905171150840118318449620922543263447624025030422302352142036078177862910463650616479558181498349213998241867740435323408824437955436132623208675369549900164374797050222326569360400494195308671847525231881957952788866871861361208729884075137172558213860636482 459983781250819543618816992881102324777166750907166322887702203211472748626814858407855508445746574306859409633502796294358395806632880127379263217928203948947624530554002333543237722430489644154984823102301715389040117285957430912997843836094283501315456698129778647871290007706074521987236326957454094438629025241259726542654681248589774224965959051288673813785347400442584873989974275869818122628923816438837239897207760536504773427372246872684317161971448330455829257519123740006924017770391395032159505834860439586484435545524477139344979068114630154427261491478318570947004817616480951073259924005317337243241949715857662495602895256378002780634108512901918181278704974206726261250500803053753470996080613432542561228080946385799713081464552974121542511310689831856955412127961266789612924691686077131275627263287320671367312350799020504901853549493495583181694546392584865851327889110546241053542697121268819157823515443013913698906190142473171378510449297904185955878565040162484356890532689198019126520185172937670392630660661064236600789316664987373535945163917876379901421900206658966556910667268989758134920436422196224221581288529053509195911905488417460821794207916178564159861762604734584259346485069504562912160735700513790501916204588467294294750486939250520186466372095327075239166893018111350065072835978484868636436516205474498708601552588609762604311145008272791023354568154585740697897099660998481000321543927975645685623110546229671581977067511582627884172590313414109101711536787049175468929209644883066057914265508647827820371083569078685296246710437152070340263048422323007773031062326147139102820914808730997279446244328773134260775809646059054333035420177771092354084245277291244265119770689033033012442211027658645975329759122166351789874010477498986220134318525681048633077692827712028077330485270453692536751762505885883166369089410582015764742668032805514094374715590376041200964753365806424272459851120471496563237318986970451076562865427836775131211877941764878066789448936827151917936772652768397437841763740106143888744756124521583102536999916503932822810624801544856948397755599392505181660302491154114305110309902854090678881374185362796626895178646669499562909653558440321275110985242003923110126809219564546018409098687840070835346123800464960697019532234537061928710425441146124896370905301209487839654750875525603150046974631869897553337030704884177781911475208117911214096799312644180486291084147250607629240275374390305380165288786964875466348637076256254445649636676542449526089094099370238407721 744269392337522642247549608036681077504380413453805178502088005847696300289542709849685862166069355373466879472885904800946334591842492742794179270123694128087227436870553878582217003311192447373458598987436268106504122778001396388917238269422849328296898414370471471876862145568571877981209445263512554292270750000737740994242559266380642569966211294018543198769310957444324423701881675962454831721026725393286608609933557112846256290068700526364737911229181765686457459407230258955737516056187917757671605181319359494048686745860964446492946330519623397849653087564517174292649146941037820272413838279733476629898004884042906294514636213204685647398116952219877488817753372850792381617028502099469021994532892309972426651933797897540501449426646218917671276522920956917534061448388395690646888731610648314160617808118707659715682354853744143321282687180600764158218307109807240046046961972987645019185961619051979141239038711469426821304480436511008984440402587383610950636166615862888533090879509472545715728648996329600993015188843213345973635647352829937848978920344764732332014378221320353314319112371021325139770067600113724282443417365937203653807110679124379723702426598610425566145641470915595954841803893787166564244793792488867026358495991061038490909973131736509203755011106112530097877421437852906676478964111135289226078319363803919118297933491659116053288015424565940157307958822729252197412049479575323397467012892533293277264652653255880287671110885306979897904268818803846554549211687396736529258862042385854749042873033822762791560588669019228502650136449221518641154740460128304660236610672075400560585280228371577955129376657808666073863064079069066541448102161844480875698883604629308453930729855115653881020076239982227191194383031843520632087635315186048371551036610306563754912524784900932980306003221783587610449053699040503549058796589052645055677089722495268563550330068614407217079552889818981465569615865006362247057523034849780334133004987204688514113786994286780321009759378894420844291857972732684810521576594446790181143397543603349107247273994445044937329814360186047150478094760833935486647786890951892789064157973944045291854466309879273696290236113308520253405887550066665985543604263154776990074040122532186474434877494156622753493250586937320602190683074655380378331347984409572520395935723511839981690829053388513613697591111428079051686244703126045522346798616942349169532931935852855855840984311625404679462601943750705874360597458812400698230595029045121317510997885272333601226266657584099044203 1204253173588342185866366600917783402281547164360971501389790209059169048916357568257541370611815929680326289106388701095304730398475372870173442488051898077034851967424556212125454725741682091528443422089737983495544240063958827301915082105517132829612355112500250119748152153274646399968445772220966648730899775241997467536897240514970416794932170345307217012554658357886909297691855951832272954349950541832123848507141317649351029717440947399049055073200630096142286716926353998962661533826579312789831111016179799080533122291385441585837925398634253552276914579042835745239653964557518771345673762285050813873139954599900568790117531469582688428032225465121795670096458347057518642867529305153222492990613505742514987880014744283340214530891199193039213787833610788774489473576349662480259813423296725445436245071406028331082994705652764648223136236674096347339912853502392105897374851083533886072728658740320798299062554154483340520210670578984180362950851885287796906514731656025372889981412198670564842248834169267271385645849504277582574424964017817311384924084262641112233436278427979319871229779640011083274690504022309948504024705894990712849719016167541840545496634514788989726007404075650180214188288963291729476405529493002657528274700579528332785660460070987029390221383201439605337044314455964256741551800089620157862514835569278417826899486080268878657599160432838731180662526977314992895309149140573804397788556820508938962887763199485551869648178396889607782076859132217955656260748474445911998188071687268920806957138542470590611931672238097913798896846886373588981417788882451312433267672998222539663406195037102575234575620986581800334638873725128120874483522339615573229783128881920552719050500544148686893462287267640873166524142154009872421961645792685034591685355135987612387990217612612961057636488492237280147200816204926386715427885999634660820419757755300782657925045658990448418044306255625405738029466985477858810294842021820231410695870415041463645325664936051658387799208315721572762228630625501082248363340334552934069888153668124932209784273910948977760140439161730904098875850360226440668308089382106007094174467876798135970735840495242070323185414759978019816315541108506987260654589505158700100200849342096732492843976181996693588839374387402281299210215309192442307041773425555697416766841024721327821345579928914116763744565743297976605023275408010223304258273825060260383629731248497036342132068458876012308702877318141011254525886245777276164579232105301375763160634561814783127315360756954337451924 1948522565925864828113916208954464479785927577814776679891878214906865349205900278107227232777885285053793168579274605896251064990317865612967621758175592205122079404295110090707671729052874538901902021077174251602048362841960223690832320374939982157909253526870721591625014298843218277949655217484479203023170525242735208531139799781351059364898381639325760211323969315331233721393737627794727786070977267225410457117074874762197286007509647925413792984429811861828744176333584257918399049882767230547502716197499158574581809037246406032330871729153876950126567666607352919532303111498556591618087600564784290503037959483943475084632167682787374075430342417341673158914211719908311024484557807252691514985146398052487414531948542180880715980317845411956885064356531745692023535024738058170906702154907373759596862879524735990798677060506508791544418923854697111498131160612199345943421813056521531091914620359372777440301592865952767341515151015495189347391254472671407857150898271888261423072291708143110557977483165596872378661038347490928548060611370647249233903004607405844565450656649299673185548892011032408414460571622423672786468123260927916503526126846666220269199061113399415292153045546565776169030092857078896040650323285491524554633196570589371276570433202723538593976394307552135434921735893817163418030764200755447088593154933082336945197419571927994710887175857404671337970485800044245092721198620149127795255569713042232240152415852741432157319289282196587679981127951021802210809960161842648527446933729654775556000011576293353403492260907117142301546983335595107622572529342579617093504283670297940223991475265474153189704997644390466408501937804197187415931624501460054105482012486549861172981230399264340774482363507623100357718525185853393054049281107871082963236391746294176142902742397513894037942491714020867757649869903966890264486682588687305876096847477796051221475375727604855635123859145444387203599082850484221057352365056670011744828875402246152159439451930338438708808967694615993606520488598233767058884916928999724251031551211728281317031547905394022697470253521916951249353945121060376154955876273057899883238625850742181262590306805121344019475650873286540069721428658573653246198193768313477090274889464628918967278853676153316342332624974339601901400898383847822685373121409965269937162776748233167803036408982302630377442156854726055656709520111136268826605072442002609553162663184349892197973052770501416988165479261891717128886483704589676862809827134346497080671632447087116728541627414538436496127 3152775739514207013980282809872247882067474742175748181281668423966034398122257846364768603389701214734119457685663306991555795388793238483141064246227490282156931371719666302833126454794556630430345443166912235097592602905919050992747402480457114987521608639370971711373166452117864677918100989705445851754070300484732676068037040296321476159830551984632977223878627673218143019085593579627000740420927809057534305624216192411548315724950595324462848057630441957971030893259938256881060583709346543337333827213678957655114931328631847618168797127788130502403482245650188664771957076056075362963761362849835104376177914083844043874749699152370062503462567882463468829010670066965829667352087112405914007975759903795002402411963286464220930511209044604996098852190142534466513008601087720651166515578204099205033107950930764321881671766159273439767555160528793458838044014114591451840796664140055417164643279099693575739364147020436107861725821594479369710342106357959204763665629927913634313053703906813675400226317334864143764306887851768511122485575388464560618827088870046956798886935077278993056778671651043491689151075644733621290492829155918629353245143014208060814695695628188405018160449622215956383218381820370625517055852778494182082907897150117704062230893273710567984197777508991740771966050349781420159582564290375604951107990502360754772096905652196873368486336290243402518633012777359237988030347760722932193044126533551171203040179052226984026967467679086195462057987083239757867070708636288560525635005416923696362957150118763944015423933145215056100443830221968696603990318225030929526771956668520479887397670302576728424280618630972266743140811529325308290415146841075627335265141368470413892031730943413027667944650775263973524242667339863265476010926900556117554921746882281788530892960010126855095578980206258147904850686108893276979914568588321966696516605233096833879400421386595304053168165401069792941628549835962079867647207078490243155524745817287615804765116866390097096608176010337566368749119223734849307248257263552658320919704879853213526815821816343000457610692683647855348229795481286816823263965655163906977413093727540317233326147300363414342661065633264559886036969767080640506852783273472177190475738806725651460122829858150009931171999361741883200611113693040264992414894835520967353929617772954495624381988911216747141186722598024032261732795519146492130863346267062869936792394432846928540105121229377429296868356580032728383412369950366953027389059239647872843832267008901899855856988171492773948051 5101298305440071842094199018826712361853402319990524861173546638872899747328158124471995836167586499787912626264937912887806860379111104096108686004403082487279010776014776393540798183847431169332247464244086486699640965747879274683579722855397097145430862166241693302998180750961082955867756207189925054777240825727467884599176840077672535524728933623958737435202596988549376740479331207421728526491905076282944762741291067173745601732460243249876641042060253819799775069593522514799459633592113773884836543411178116229696740365878253650499668856942007452530049912257541584304260187554631954581848963414619394879215873567787518959381866835157436578892910299805141987924881786874140691836644919658605522960906301847489816943911828645101646491526890016952983916546674280158536543625825778822073217733111472964629970830455500312680348826665782231311974084383490570336175174726790797784218477196576948256557899459066353179665739886388875203240972609974559057733360830630612620816528199801895736125995614956785958203800500461016142967926199259439670546186759111809852730093477452801364337591726578666242327563662075900103611647267157294076960952416846545856771269860874281083894756741587820310313495168781732552248474677449521557706176063985706637541093720707075338801326476434106578174171816543876206887786243598583577613328491131052039701145435443091717294325224124868079373512147648073856603498577403483080751546380872059988299696246593403443192594904968416184286756961282783142039115034261560077880668798131209053081939146578471918957161695057297418916194052332198401990813557563804226562847567610546620276240338818420111389145568050881613985616275362733151642749333522495706346771342535681440747153855020275065012961342677368442427014282887073881961192525716658530060208008427200518158138628575964673795702407640749133521471920279015662500556012860167244401251177009272572613452710892885100875797114200159688292024546514180145227632686446300924999572135160254900353621219533767964204568796728535805417143704953559975269607821968616366133174192552382571951256091581494843847369721737023155080946205564806597583740602347192978219841928221806860651719578282498495916454105484758362136716506551099955758398425654293753050977041785654280750628271354570427401683534303326273504624336081485102012012076888087677788016245486237291092394521187663427418397893519377518628879452750087918442315630282760957468418709065479489955057617196820738078173999878846285033835841924445512298853654956629890198886373994369924503899455989016584398615586031210444178 8254074044954278856074481828698960243920877062166273042455215062838934145450415970836764439557287714522032083950601219879362655767904342579249750250630572769435942147734442696373924638641987799762592907410998721797233568653798325676327125335854212132952470805612665014371347203078947633785857196895370906531311126212200560667213880373994011684559485608591714659081224661767519759564924787048729266912832885340479068365507259585293917457410838574339489099690695777770805962853460771680520217301460317222170370624857073884811671694510101268668465984730137954933532157907730249076217263610707317545610326264454499255393787651631562834131565987527499082355478182268610816935551853839970359188732032064519530936666205642492219355875115109322577002735934621949082768736816814625049552226913499473239733311315572169663078781386264634562020592825055671079529244912284029174219188841382249625015141336632365421201178558759928919029886906824983064966794204453928768075467188589817384482158127715530049179699521770461358430117835325159907274814051027950793031762147576370471557182347499758163224526803857659299106235313119391792762722911890915367453781572765175210016412875082341898590452369776225328473944790997688935466856497820147074762028842479888720448990870824779401032219750144674562371949325535616978853836593380003737195892781506656990809135937803846489391230876321741447859848437891476375236511354762721068781894141594992181343822780144574646232773957195400211254224640368978604097102117501317944951377434419769578716944563502168281914311813821241434340127197547254502434643779532500830553165792641476147048197007338899998786815870627610038266234906334999894783560862847803996761918183611308776012295223490688957044692286090396110371665058151047406203859865579924006071134908983318073079885510857753204688662417767604229100452126537163567351242121753444224315819765331239269130057943989718980276218500795463741460189947583973086856182522408380792646779213650498055878367036821383768969685663118632902025319715291126344018727045703465673381431456105040892870960971434708370663191538080023612691638889212661945813536083634009801483807583385713838064813305822815729242601405848172704797782139815659841795368192734934259903760315257831471226367078080221887524513392453336204676623697823368302623125769928352670202911081007204645022012294142159051800386804736124659815602050774120180175111149429253088331764976128349426747452050043749278183295229256275581902192421957173895711223605323582917587945613642242768336166464890916440255603757523984392229 13355372350394350698168680847525672605774279382156797903628761701711833892778574095308760275724874214309944710215539132767169516147015446675358436255033655256714952923749219089914722822489418969094840371655085208496874534401677600359906848191251309278383332971854358317369527954040030589653613404085295961308551951939668445266390720451666547209288419232550452094283821650316896500044255994470457793404737961623423831106798326759039519189871081824216130141750949597570581032446983286479979850893574091107006914036035190114508412060388354919168134841672145407463582070165271833380477451165339272127459289679073894134609661219419081793513432822684935661248388482073752804860433640714111051025376951723125053897572507489982036299786943754424223494262824638902066685283491094783586095852739278295312951044427045134293049611841764947242369419490837902391503329295774599510394363568173047409233618533209313677759078017826282098695626793213858268207766814428487825808828019220430005298686327517425785305695136727247316633918335786176050242740250287390463577948906688180324287275824952559527562118530436325541433798975195291896374370179048209444414733989611721066787682735956622982485209111364045638787439959779421487715331175269668632468204906465595357990084591531854739833546226578781140546121142079493185741622836978587314809221272637709030510281373246938206685556100446609527233360585539550231840009932166204149533440522467052169643519026737978089425368862163816395540981601651761746136217151762878022832046232550978631798883710080640200871473508878538853256321249879452904425457337096305057116013360252022767324437346157320110175961438678491652251851181697733046426310196370299703108689526146990216759449078510964022057653628767764552798679341038121288165052391296582536131342917410518591238024139433717878484364825408353362621924046816179229851798134613611468717070942340511841743510654882604081152015614995623429752214494098153232083815208854681717646351348810752956231988256355151733174254459847168707442463420244686319288334867672082039514605648657423464822217063016203214510561259817046767772585094777468543397276685981202779703649511607520698716532884105314225159055511332931066934498646366759797553766618389228012954737357043485751976995349434792314926196926756662478181248033904853404635137846816440347990927326493441936114406815329822479218784698255502178444481503524208098617426779712014045800183685193828916702509667240570016261469229135121866936028263881619408010077260280212807786831987636612692840065920879933024654219343555194836407 21609446395348629554243162676224632849695156444323070946083976764550768038228990066145524715282161928831976794166140352646532171914919789254608186505664228026150895071483661786288647461131406768857433279066083930294108103055475926036233973527105521411335803777467023331740875157118978223439470600980666867839863078151869005933604600825660558893847904841142166753365046312084416259609180781519187060317570846963902899472305586344333436647281920398555619241441645375341386995300444058160500068195034408329177284660892263999320083754898456187836600826402283362397114228073002082456694714776046589673069615943528393390003448871050644627644998810212434743603866664342363621795985494554081410214108983787644584834238713132474255655662058863746800496998759260851149454020307909408635648079652777768552684355742617303956128393228029581804390012315893573471032574208058628684613552409555297034248759869841679098960256576586211017725513700038841333174561018882416593884295207810247389780844455232955834485394658497708675064036171111335957517554301315341256609711054264550795844458172452317690786645334293984840540034288314683689137093090939124811868515562376896276804095611038964881075661481140270967261384750777110423182187673089815707230233748945484078439075462356634140865765976723455702918070467615110164595459430358591052005114054144366021319417311050784696076786976768350975093209023431026607076521286928925218315334664062044350987341806882552735658142819359216606795206242020740350233319269264195967783423666970748210515828273582808482785785322699780287596448447426707406860101116628805887669179152893498914372634353496220108962777309306101690518086088032732941209871059218103699870607709758298992771744302001652979102345914858160663170344399189168694368912256876506542202477826393836664317909650291471083173027243175957591722376173353342797203040256367055693032890707671751110873568598872323061428234115791087171212404441682126318939997731263062510293130562461251012110355293176535502143940122965801609467783135535812663307061913375547712896037104762464357693178034450911585173752797897070380464223983990130489210812769615212581187457094993234536781346189928129954401656917181103771732280786182419639349134811124162272858497672301317223203362427515014202450710319209998682857871731728221707258263616744793018193838407500646581136419109471981531019171502991626838260083554298328278792537929141267134131948661322178343449961717284319294444764458391397448838220685838793303721300865603795725374777601278855461176232385770849464909823101079179228636 34964818745742980252411843523750305455469435826479868849712738466262601931007564161454284991007036143141921504381679485413701688061935235929966622760697883282865847995232880876203370283620825737952273650721169138790982637457153526396140821718356830689719136749321381649110403111159008813093084005065962829148415030091537451199995321277327106103136324073692618847648867962401312759653436775989644853722308808587326730579103913103372955837153002222771749383192594972911968027747427344640479919088608499436184198696927454113828495815286811107004735668074428769860696298238273915837172165941385861800528905622602287524613110090469726421158431632897370404852255146416116426656419135268192461239485935510769638731811220622456291955449002618171023991261583899753216139303799004192221743932392056063865635400169662438249178005069794529046759431806731475862535903503833228195007915977728344443482378403050992776719334594412493116421140493252699601382327833310904419693123227030677395079530782750381619791089795224955991697954506897512007760294551602731720187659960952731120131733997404877218348763864730310381973833263509975585511463269987334256283249551988617343591778346995587863560870592504316606048824710556531910897518848359484339698438655411079436429160053888488880699312203302236843464191609694603350337082267337178366814335326782075051829698684297722902762343077214960502326569608970576838916531219095129367848775186529096520630860833620530825083511681523033002336187843672502096369536421027073990615469899521726842314711983663448683657258831578319140852769697306160311285558453725110944785192513145521681697071699653540219138738747984593342769937269730465987636181255588403402979297235905289209531193380512617001159999543625925215969023740227289982533964648173089078333820743804355255555933789725188961657392068584310954344300220169522027054838390980667161749961650012262952617079253754927142580249730786710600964618935780279551023812940117744227939481911272003968342343549531687235318194582812970316910246555780498982595396781047629752410642753419887822515395097467114799684314057714117148236809078767599032608089455596415360891106606600755235497879074033444179560712428514034838666779432549179436902901429513390285813235029344802975180357776949806517376907245966661161039119765633075111893401463561233366184765733994088517250825924801804010237956201247129016704565057822536377409964708853281179932132346516007260152471384524889310706233687526519315774248949720412711731378125884008533161609588915468154016298306650782489564042444634374065043 56574265141091609806655006199974938305164592270802939795796715230813369969236554227599809706289198071973898298547819838060233859976855025184574809266362111309016743066716542662492017744752232506809706929787253069085090740512629452432374795245462352101054940526788404980851278268277987036532554606046629696988278108243406457133599922102987664996984228914834785601013914274485729019262617557508831914039879655551229630051409499447706392484434922621327368624634240348253355023047871402800979987283642907765361483357819718113148579570185267294841336494476712132257810526311275998293866880717432451473598521566130680914616558961520371048803430443109805148456121810758480048452404629822273871453594919298414223566049933754930547611111061481917824488260343160604365593324106913600857392012044833832418319755912279742205306398297824110851149444122625049333568477711891856879621468387283641477731138272892671875679591170998704134146654193291540934556888852193321013577418434840924784860375237983337454276484453722664666761990678008847965277848852918072976797371015217281915976192169857194909135409199024295222513867551824659274648556360926459068151765114365513620395873958034552744636532073644587573310209461333642334079706521449300046928672404356563514868235516245123021565078180025692546382262077309713514932541697695769418819449380926441073149115995348507598839130053983311477419778632401603445993052506024054586164109850591140871618202640503083560741654500882249609131394085693242446602855690291269958398893566492475052830540257246257166443044154278099428449218144732867718145659570353916832454371666039020596069706053149760328101516057290695033288023357763198928846052314806507102849904945663588202302937682514269980262345458484085879139368139416458676902876905049595620536298570198191919873843440016660044830419311760268546066676393522864824257878647347722854782852357684014063490647852627250204008483846577797772177023377462405869963810671380806738232612473733254980452698842708222737462134705778771926378029691316311645902458694423177465306679858182352180208573131918026384858066855611187528701033062757729521818902225211627942078563701593989772279225263961574133962369345695138610399060218731599076252036240637552558671732701646120198383720204464820719827617565176659843896991497361296819151665080306026384378604141494735098387245034273785541257127704238755854964648612120864656202502637994548314064081007838185603602433101809208605150998145917916764612469635559206015452678991487804258536387190194323615192530692421631954473865545713553293679 91539083886834590059066849723725243760634028097282808645509453697075971900244118389054094697296234215115819802929499323473935548038790261114541432027059994591882591061949423538695388028373058244761980580508422207876073377969782978828515616963819182790774077276109786629961681379436995849625638611112592526136693138334943908333595243380314771100120552988527404448662782236887041778916054333498476767762188464138556360630513412551079348321587924844099118007826835321165323050795298747441459906372251407201545682054747172226977075385472078401846072162551140902118506824549549914131039046658818313274127427188732968439229669051990097469961862076007175553308376957174596475108823765090466332693080854809183862297861154377386839566560064100088848479521927060357581732627905917793079135944436889896283955156081942180454484403367618639897908875929356525196104381215725085074629384365011985921213516675943664652398925765411197250567794686544240535939216685504225433270541661871602179939906020733719074067574248947620658459945184906359973038143404520804696985030976170013036107926167262072127484173063754605604487700815334634860160019630913793324435014666354130963987652305030140608197402666148904179359034171890174244977225369808784386627111059767642951297395570133611902264390383327929389846453687004316865269623965032947785633784707708516124978814679646230501601473131198271979746348241372180284909583725119183954012885037120237392249063474123614385825166182405282611467581929365744542972392111318343949014363466014201895145252240909705850100302985856418569301987842039028029431218024079027777239564179184542277766777752803300547240254805275288376057960627493664916482233570394910505829202181568877411834131063026886981422345002110011095108391879643748659436841553222684698870119314002547175429777229741849006487811380344579500410976613692386851312717038328390016532814007696277016107727106382177346588733577364508373141642313242685420987623611498550966172094385005258948795042392239909972780329288591742243288276247096810628497855475470807217717322611602240002723968229385141184542380913325304676937842141525328554426991680808043302969670308194745007777104337995018313523081774209173449065839651280778513154937670150942844484967730990923173564077981414627237204524811143321004936111262994371931045066543867259750563369875488823615638070959075589551495083905485884871669213669943401033612467346847829493996213354354192863754904486334097915857231833444436080386718585279618727184057117371812791697996779109791769208828999072414444037907990347927358722 148113349027926199865721855923700182065798620368085748441306168927889341869480672616653904403585432287089718101477319161534169408015645286299116241293422105900899334128665966201187405773125290751571687510295675276961164118482412431260890412209281534891829017802898191610812959647714982886158193217159222223124971246578350365467195165483302436097104781903362190049676696511372770798178671891007308681802068119689785990681922911998785740806022847465426486632461075669418678073843170150242439893655894314966907165412566890340125654955657345696687408657027853034376317350860825912424905927376250764747725948754863649353846228013510468518765292519116980701764498767933076523561228394912740204146675774107598085863911088132317387177671125582006672967782270220961947325952012831393936527956481723728702274911994221922659790801665442750749058320051981574529672858927616941954250852752295627398944654948836336528078516936409901384714448879835781470496105537697546446847960096712526964800281258717056528344058702670285325221935862915207938315992257438877673782401991387294952084118337119267036619582262778900827001568367159294134808575991840252392586779780719644584383526263064693352833934739793491752669243633223816579056931891258084433555783464124206466165631086378734923829468563353621936228715764314030380202165662728717204453234088634957198127930674994738100440603185181583457166126873773783730902636231143238540176994887711378263867266114626697946566820683287532220598976015058986989575247801609613907413257032506676947975792498155963016543347140134517997751205986771895747576877594432944609693935845223562873836483805953060875341770862565983409345983985256863845328285885201417608679107127232465614137068745541156961684690460594096974247760019060207336339718458272280319406417884200739095303620669758509051318230692104848046477653007215251675570595685676112871315666365380291079598374959009427550597217423942306145318665690705091290951434282879357704404706858738513929247741234948132710242463994370514169666305938413122274400314169893984683024002469784592182932541361303167569400447768936492205638875204283058076245893906019671245048234009788734780056329601956592447485451119904312059464899870012377589406973910788495403156700432637043371947798185879447957032142376319980848833102760355668750196731624173286134941974016983558714025315993349375092752211609724640726633862282064265689814969984842377808060294362192378467357337588143306521008229979362352844999188220838824742636736108859617050234383969304115384401359691494046398511773536061480652401 239652432914760789924788705647425425826432648465368557086815622624965313769724791005707999100881666502205537904406818485008104956054435547413657673320482100492781925190615389739882793801498348996333668090804097484837237496452195410089406029173100717682603095079007978240774641027151978735783831828271814749261664384913294273800790408863617207197225334891889594498339478748259812577094726224505785449564256583828342351312436324549865089127610772309525604640287910990584001124638468897683899800028145722168452847467314062567102730341129424098533480819578993936494824175410375826555944974035069078021853375943596617793075897065500565988727154595124156255072875725107672998670052160003206536839756628916781948161772242509704226744231189682095521447304197281319529058579918749187015663900918613624986230068076164103114275205033061390646967195981338099725777240143342027028880237117307613320158171624780001180477442701821098635282243566380022006435322223201771880118501758584129144740187279450775602411632951617905983681881047821567911354135661959682370767432967557307988192044504381339164103755326533506431489269182493928994968595622754045717021794447073775548371178568094833961031337405942395932028277805113990824034157261066868820182894523891849417463026656512346826093858946681551326075169451318347245471789627761664990087018796343473323106745354640968602042076316379855436912475115145964015812219956262422494189879924831615656116329588750312332391986865692814832066557944424731532547639912927957856427620498520878843121044739065668866643650125990936567053193828810923777008095618511972386933500024408105151603261558756361422582025667841271785403944612750528761810519455596328114508309308801343025971199808568043943107035462704108069356151898703955995776560011494965018276537198203286270733397899500358057806042072449427546888629620907638526883312724004502887848480373076568095706102065391604897185951001306814518460308003947776711939057894377908670576801243743772878042783627188042683022793282962256412954582185509932902898169645364791900741325081386832185656509590688308753942828682261796882576717345808386630672885586827714548017904317983479787833433939951610761008532894113485508530739521293156102561911580939438247641668163627966545511876167294075194236667187463301853769214023350040681241798168040545885505343892472382329663386952424964644247295515210525598303075952007666723427437331690207302056507716546571331112242074477404436865461812806788925385906806118443469820793226231429841932380748413907153610188690566460842549681526409408011123 387765781942686989790510561571125607892231268833454305528121791552854655639205463622361903504467098789295256005884137646542274364070080833712773914613904206393681259319281355941070199574623639747905355601099772761798401614934607841350296441382382252574432112881906169851587600674866961621942025045431036972386635631491644639267985574346919643294330116795251784548016175259632583375273398115513094131366324703518128341994359236548650829933633619774952091272748986660002679198481639047926339693684040037135360012879880952907228385296786769795220889476606846970871141526271201738980850901411319842769579324698460267146922125079011034507492447114241136956837374493040749522231280554915946740986432403024380034025683330642021613921902315264102194415086467502281476384531931580580952191857400337353688504980070386025774066006698504141396025516033319674255450099070958968983131089869603240719102826573616337708555959638231000019996692446215803476931427760899318326966461855296656109540468538167832130755691654288191308903816910736775849670127919398560044549834958944602940276162841500606200723337589312407258490837549653223129777171614594298109608574227793420132754704831159527313865272145735887684697521438337807403091089152324953253738677988016055883628657742891081749923327510035173262303885215632377625673955290490382194540252884978430521234676029635706702482679501561438894078601988919747746714856187405661034366874812542993919983595703377010278958807548980347052665533959483718522122887714537571763840877531027555791096837237221631883186997266125454564804399815582819524584973212944916996627435869631668025439745364709422297923796530407255194749928598007392607138805340797745723187416436033808640108268554109200904791725923298205043603911917764163332116278469767245337682955082404025366037018569258867109124272764554275593366282628122890202453908409680615759164146738456859175304477024401032447783168425249120663778973694652868002890492177257266374981508102482286807290524862136175393265257277332770582620888123923055177298483815258776583765327551171424368589050951991476323343276451198289088215592550091444706918779492847385793066138327772214567889763541908203208493984014017797567995639391305533691968885491727933650798368596265009917459674353173523151268809563783282702602316783705709431438529792213832020447317909455941043688702945774339736999507124935166324936938234071932413242407316532585110116802078738949798469579662620710957873691792169141770385095026957268212457529335091046892166764717718022538011548382060507241061455062470888663524 627418214857447779715299267218551033718663917298822862614937414177819969408930254628069902605348765291500793910290956131550379320124516381126431587934386306886463184509896745680952993376121988744239023691903870246635639111386803251439702470555482970257035207960914148092362241702018940357725856873702851721648300016404938913068775983210536850491555451687141379046355654007892395952368124340018879580930581287346470693306795561098515919061244392084477695913036897650586680323120107945610239493712185759303812860347195015474331115637916193893754370296185840907365965701681577565536795875446388920791432700642056884939998022144511600496219601709365293211910250218148422520901332714919153277826189031941161982187455573151725840666133504946197715862390664783601005443111850329767967855758318950978674735048146550128888341211731565532042992712014657773981227339214300996012011326986910854039260998198396338889033402340052098655278936012595825483366749984101090207084963613880785254280655817618607733167324605906097292585697958558343761024263581358242415317267926501910928468207345881945364827092915845913689980106732147152124745767237348343826630368674867195681125883399254361274896609551678283616725799243451798227125246413391822073921572511907905301091684399403428576017186456716724588379054666950724871145744918252047184627271681321903844341421384276675304524755817941294330991077104065711762527076143668083528556754737374609576099925292127322611350794414673161884732091903908450054670527627465529620268498029548434634217881976287300749830647392116391131857593644393743301593068831456889383560935894039773177043006923465783720505822198248526980153873210757921368949324796394073837695725744835151666079468362677244847898761386002313112960063816468119327892838481262210355959492280607311636770416468759225166930314837003703140254912249030528729337221133685118647012627111533427271010579089792637344969119426555935182239281698600644714829550071635175045558309346226059685333308489324218076288050560295026995575470309432988080196653460623568484506652632558256554245560542679785077286105133460085970792309895899831337591665079675100341084042645755694355723197481859813969502516908131283076526378912598689794530797072667371898440036759892976462971550520467598345505476751246584556371530807055750112680327960254377905952661801928323373352089898199304381246802640145691923240014186079599136669844648222792412173309795285521129581821737098115394739153604975930695771001833075711682278322561322476734099145466131929691621737072626968083611136588880296674647 1015183996800134769505809828789676641610895186132277168143059205730674625048135718250431806109815864080796049916175093778092653684194597214839205502548290513280144443829178101622023192950745628492144379293003643008434040726321411092789998911937865222831467320842820317943949842376885901979667881919133888694034935647896583552336761557557456493785885568482393163594371829267524979327641522455531973712296905990864599035301154797647166748994878011859429787185785884310589359521601746993536579187396225796439172873227075968381559500934702963688975259772792687878237107227952779304517646776857708763561012025340517152086920147223522635003712048823606430168747624711189172043132613269835100018812621434965542016213138903793747454588035820210299910277477132285882481827643781910348920047615719288332363240028216936154662407218430069673439018228047977448236677438285259964995142416856514094758363824772012676597589361978283098675275628458811628960298177745000408534051425469177441363821124355786439863923016260194288601489514869295119610694391500756802459867102885446513868744370187382551565550430505158320948470944281800375254522938851942641936238942902660615813880588230413888588761881697414171301423320681789605630216335565716775327660250499923961184720342142294510325940513966751897850682939882583102496819700208742429379167524566300334365576097413912382007007435319502733225069679092985459509241932331073744562923629549917603496083520995504332890309601963653508937397625863392168576793415342003101384109375560575990425314719213508932633017644658241845696661993459976562826178042044401806380188371763671441202482752288175206018429618728655782174903801808765313976088130137191819560883142180868960306187736916786445752690487309300518156563975734232282660009116951029455693642447363011337002807435038018092276054587601557978733621194877153418931791129543365734406176773849990286446315056114193669792752287851805055846018255393253512717720042248892441420539817448708346492623833351460393469553307837627797578196358433356043257495137275882345068271980183729680922834611494671261400629381584658375059007902445991276044510444572522486134150180973527908923612961023768017177996500922149080644522018303904223486499682564395305549238405356157986380431224873641121496774286315029867258973847590761459544118857752468209926399979711384264417040792843973644118246309765080858248176952420151531549912251964755377522290111874024470928051401399718826352612845397145072466156096860032979894735851896413523626265910183849952229633285454687475324672591651351185338171 1642602211657582549221109096008227675329559103431100030757996619908494594457065972878501708715164629372296843826466049909643033004319113595965637090482676820166607628339074847302976186326867617236383402984907513255069679837708214344229701382493348193088502528803734466036312084078904842337393738792836740415683235664301522465405537540767993344277441020169534542640727483275417375280009646795550853293227487278211069728607950358745682668056122403943907483098822781961176039844721854939146818681108411555742985733574270983855890616572619157582729630068978528785603072929634356870054442652304097684352444725982574037026918169368034235499931650532971723380657874929337594564033945984754253296638810466906703998400594476945473295254169325156497626139867797069483487270755632240116887903374038239311037975076363486283550748430161635205482010940062635222217904777499560961007153743843424948797624822970409015486622764318335197330554564471407454443664927729101498741136389083058226618101780173405047597090340866100385894075212827853463371718655082115044875184370811948424797212577533264496930377523421004234638451051013947527379268706089290985762869311577527811495006471629668249863658491249092454918149119925241403857341581979108597401581823011831866485812026541697938901957700423468622439061994549533827367965445126994476563794796247622238209917518798189057311532191137444027556060756197051171271769008474741828091480384287292213072183446287631655501660396378326670822129717767300618631463942969468631004377873590124425059532601189796233382848292050358236828519587104370306127771110875858695763749307657711214379525759211640989738935440926904309155057675019523235345037454933585893398578867925704111972267205279463690600589248695302831269524039550700401987901955432291666049601939643618648639577851506777317442984902438561681873876107126183947661128350677050853053189400961523713717325635203986307137721407278360991028257537091854157432549592320527616466098126794934406177957141840784611545841358397922824573771828742789031337691790736505913552778632816287937477080172037351046477915486718118461029800212341891107382102109652197586475234223619283603279336158505627831147499017830280363721048397216502913281030479637062677447678442116050962843402775394108719842279763066276451815345378397817209656799185712722587832352641513312587790392882742172948499493112405226550171416966606231130686582096612978169934463421669309992057633223136816941747351999002121003161927098693108691577014174457736000360365055649981881921255022527314443408283728240231482012818 2657786208457717318726918924797904316940454289563377198901055825639169219505201691128933514824980493453092893742641143687735686688513710810804842593030967333446752072168252948924999379277613245728527782277911156263503720564029625437019700294431213415919969849646554783980261926455790744317061620711970629109718171312198106017742299098325449838063326588651927706235099312542942354607651169251082827005524393269075668763909105156392849417051000415803337270284608666271765399366323601932683397868504637352182158606801346952237450117507322121271704889841771216663840180157587136174572089429161806447913456751323091189113838316591556870503643699356578153549405499640526766607166559254589353315451431901872246014613733380739220749842205145366797536417344929355365969098399414150465807950989757527643401215104580422438213155648591704878921029168110612670454582215784820926002296160699939043555988647742421692084212126296618296005830192930219083403963105474101907275187814552235667981922904529191487461013357126294674495564727697148582982413046582871847335051473697394938665956947720647048495927953926162555586921995295747902633791644941233627699108254480188427308887059860082138452420372946506626219572440607031009487557917544825372729242073511755827670532368683992449227898214390220520289744934432116929864785145335736905942962320813922572575493616212101439318539626456946760781130435290036630781010940805815572654404013837209816568266967283135988391969998341980179759527343630692787208257358311471732388487249150700415484847320403305166015865936708600082525181580564346868953949152920260502143937679421382655582008511499816195757365059655560091329961476828288549321125585070777712959462010106573072278454942196250136353279736004603349426088015284932684647911072383321121743244387006629985642385286544795409719039490040119660607497302003337366592919480220416587459366174811514000163640691318179976930473695130166046874275792485107670150269634569420057886637944243642752670580975192245005015394666235550622151968187176145074595186928012388258621050613000017618399914783532022307878544868302776836088808114787882383426612554224720072609384404592811512202949119529395848325495518752429444365570415520407136767530162201457982996916847472208949223834000267749841339054049381306319074319225988578669200918043465190797758752621224696852207433675586146592617739422170307408419593919026382662236494348577733547456753533543334462985684624536535768099964844399266075628083195553141671471750026354149523986630965833831834150888307982001918732956319891582667350989 4300388420115299867948028020806131992270013392994477229659052445547663813962267664007435223540145122825389737569107193597378719692832824406770479683513644153613359700507327796227975565604480862964911185262818669518573400401737839781249401676924561609008472378450289250016574010534695586654455359504807369525401406976499628483147836639093443182340767608821462248875826795818359729887660816046633680298751880547286738492517055515138532085107122819747244753383431448232941439211045456871830216549613048907925144340375617936093340734079941278854434519910749745449443253087221493044626532081465904132265901477305665226140756485959591106003575349889549876930063374569864361171200505239343606612090242368778950013014327857684694045096374470523295162557212726424849456369155046390582695854363795766954439190180943908721763904078753340084403040108173247892672486993284381887009449904543363992353613470712830707570834890614953493336384757401626537847628033203203406016324203635293894600024684702596535058103697992395060389639940525002046354131701664986892210235844509343363463169525253911545426305477347166790225373046309695430013060351030524613461977566057716238803893531489750388316078864195599081137721560532272413344899499523933970130823896523587694156344395225690388129855914813689142728806928981650757232750590462731382506757117061544810785411135010290496630071817594390788337191191487087802052779949280557400745884398124502029640450413570767643893630394720306850581657061397993405839721301280940363392865122740824840544379921593101399398714228758958319353701167668717175081720263796119197907686987079093869961534270711457185496300500582464400485019151847811784666163040004363606358040878032277184250722147475713826953868984699906180695612054835633086635813027815612787792846326650248634281963138051572727162024392478681342481373409129521314254047830897467440512555575773037713880966326522166284068195102408527037902533329576961827582819226889947674352736071038577158848538117033029616561236024633473446725740015918934105932878718748894172173829245816305555876994955569373354356460355020895297118608327129773490808714663876917659084618628212095115482285278035023679472994536582709808086618812736910050048560641838520660444595289588259912067236775661858561181333812447582770889664604386395878857717229177913385591105262738009439997826558328319541117232534575533958591010885632613792923076445190711717391216955212644455043317847673352709847316843401387078790010294246250363048764200811885524346996021483813716072143330509316362141240048131814149363807 6958174628573017186674946945604036309210467682557854428560108271186833033467469355136368738365125616278482631311748337285114406381346535217575322276544611487060111772675580745152974944882094108693438967540729825782077120965767465218269101971355775024928442228096844033996835936990486330971516980216777998635119578288697734500890135737418893020404094197473389955110926108361302084495311985297716507304276273816362407256426160671531381502158123235550582023668040114504706838577369058804513614418117686260107302947176964888330790851587263400126139409752520962113283433244808629219198621510627710580179358228628756415254594802551147976507219049246128030479468874210391127778367064493932959927541674270651196027628061238423914794938579615890092698974557655780215425467554460541048503805353553294597840405285524331159977059727345044963324069276283860563127069209069202813011746065243303035909602118455252399655047016911571789342214950331845621251591138677305313291512018187529562581947589231788022519117055118689734885204668222150629336544748247858739545287318206738302129126472974558593922233431273329345812295041605443332646851995971758241161085820537904666112780591349832526768499237142105707357294001139303422832457417068759342860065970035343521826876763909682837357754129203909663018551863413767687097535735798468288449719437875467383360904751222391935948611444051337549118321626777124432833790890086372973400288411961711846208717380853903632285600393062287030341184405028686193047978659592412095781352371891525256029227241996406565414580165467558401878882748233064044035669416716379700051624666500476525543542782211273381253665560238024491814980628676100333987288625075141319317502888138850256529177089671963963307148720704509530121700070120565771283724100198933909536090713656878619924348424596368136881063882518801003088870711132858680846967311117884027971921750584551714044607017840346260998668797538693084776809122062069497733088861459367732239374015282219911519119092225274621576630690869024068877708203095079180528065646761282430794879858816323174276909739101395662235005223323672133207416441917655874235327218101637731694003032804906627685234397564419527798490055335139252452189228257317186816090804039978643441512137060468861291070775929608402520387861828889089963983830374974548058635272643104183349857883962706292205260233914466133734971956745841367010604804658996455159570793768445264847970488755978918029002472209888477947281687800653154418093489799392034520514227166035048333626987317645550223031638491318280874196368023396816714796 11258563048688317054622974966410168301480481075552331658219160716734496847429737019143803961905270739103872368880855530882493126074179359624345801960058255640673471473182908541380950510486574971658350152803548495300650521367505304999518503648280336633936914606547133284013409947525181917625972339721585368160520985265197362984037972376512336202744861806294852203986752904179661814382972801344350187603028154363649145748943216186669913587265246055297826777051471562737648277788414515676343830967730735168032447287552582824424131585667204678980573929663270707562726686332030122263825153592093614712445259705934421641395351288510739082510794399135677907409532248780255488949567569733276566539631916639430146040642389096108608840034954086413387861531770382205064881836709506931631199659717349061552279595466468239881740963806098385047727109384457108455799556202353584700021195969786667028263215589168083107225881907526525282678599707733472159099219171880508719307836221822823457181972273934384557577220753111084795274844608747152675690676449912845631755523162716081665592295998228470139348538908620496136037668087915138762659912347002282854623063386595620904916674122839582915084578101337704788495015561671575836177356916592693312990889866558931215983221159135373225487610044017598805747358792395418444330286326261199670956476554937012194146315886232682432578683261645728337455512818264212234886570839366930374146172810086213875849167794424671276179230787782593880922841466426679598887699960873352459174217494632350096573607163589507964813294394226516721232583915901781219117389680512498897959311653579570395505077052922730566749966060820488892299999780523912118653451665079504925675543766171127440779899237147677790261017705404415710817312124956198857919537128014546697328937040307127254206311562647940864043088274997482345570244120262379995101015142015351468484477326357589427925573344362512545066863899947220122679342451639031325315908088349315406592110086320797070367657209258304238137866715502497515603448219014013286460944365510176602968709104632628730153904694670769016591465578344567430326024769047429365044041881978555390778621661017001743167519675599443207271484591917849060538808040994227236864651445878499303886107426648728773358307551591466963701721674276471860853648434761370426916352501821017568940963146700715732203086792242785674852204491321375325601615690291610248082647238959156982239187443968623373072320319883241187794598531202040233208103784045642397569278427977920572680623008801459266295174969000634643015436416155210966078603 18216737677261334241297921912014204610690948758110186086779268987921329880897206374280172700270396355382355000192603868167607532455525894841921124236602867127733583245858489286533925455368669080351789120344278321082727642333272770217787605619636111658865356834643977318010245884515668248597489319938363366795640563553895097484928108113931229223148956003768242159097679012540963898878284786642066694907304428180011553005369376858201295089423369290848408800719511677242355116365783574480857445385848421428139750234729547712754922437254468079106713339415791669676010119576838751483023775102721325292624617934563178056649946091061887059018013448381805937889001122990646616727934634227209526467173590910081342068270450334532523634973533702303480560506328037985280307304263967472679703465070902356150120000751992571041718023533443430011051178660740969018926625411422787513032942035029970064172817707623335506880928924438097072020814658065317780350810310557814032599348240010353019763919863166172580096337808229774530160049276969303305027221198160704371300810480922819967721422471203028733270772339893825481849963129520582095306764342974041095784149207133525571029454714189415441853077338479810495852309562810879259009814333661452655850955836594274737810097923045056062845364173221508468765910655809186131427822062059667959406195992812479577507220637455074368527294705697065886573834445041336667720361729453303347546461222047925722057885175278574908464831180844880911264025871455365791935678620465764554955569866523875352602834405585914530227874559694075123111466664134845263153059097228878598010936320080046921048619835134003948003631621058513384114980409200012452640740290154646244993046654309977697309076326819641753568166426108925240939012195076764629203261228213480606865027753964005874130659987244309000924152157516283348659114831395238675947982453133235496456399076942141141970180362202858806065532697485913207456151573701100823048996949808683138831484101603016981886776301483578859714497406371521584481156422109092466989010012271459033763588963448951904430814433772164678826470801668239563533441210965085239279369100080193122472624693821908370852754073163862735069974647252988312990997269251544423680742249918477947327619563709197634649378327521075366222109536105360950817632265136344974974987774464121752290821030663422024408347026157251808587176448067216692612220494950606703242218032727602247087157932724602291101322792093129665741880219002693387626197273845034432089792655143955621014249996119104816518206607491952923889632784178607782793399 29475300725949651295920896878424372912171429833662517744998429704655826728326943393423976662175667094486227369073459399050100658529705254466266926196661122768407054719041397827914875965855244052010139273147826816383378163700778075217306109267916448292802271441191110602023655832040850166223461659659948734956161548819092460468966080490443565425893817810063094363084431916720625713261257587986416882510332582543660698754312593044871208676688615346146235577770983239980003394154198090157201276353579156596172197522282130537179054022921672758087287269079062377238736805908868873746848928694814940005069877640497599698045297379572626141528807847517483845298533371770902105677502203960486093006805507549511488108912839430641132475008487788716868422038098420190345189140973474404310903124788251417702399596218460810923458987339541815058778288045198077474726181613776372213054138004816637092436033296791418614106810831964622354699414365798789939450029482438322751907184461833176476945892137100557137673558561340859325434893885716455980717897648073550003056333643638901633313718469431498872619311248514321617887631217435720857966676689976323950407212593729146475946128837028998356937655439817515284347325124482455095187171250254145968841845703153205953793319082180429288332974217239107274513269448204604575758108388320867630362672547749491771653536523687756801105977967342794224029347263305548902606932568820233721692634032134139597907052969703246184644061968627474792186867337882045390823378581339117014129787361156225449176441569175422495041168953920591844344050580036626482270448777741377495970247973659617316553696888056734514753597681879002276414980189723924571294191955234151170668590420481105138088975563967319543829184131513340951756324320032963487122798356228027304193964794271133128336971549892249864967240432513765694229358951657618671048997595148586964940876403299730569895753706565371351132396597433133330135494025340132148364905038157998545423594187923814052254433510741883097852364121874019100084604641123105753449954377781635636732298068081580634584719128442933695417936380012806993859465980012514604323410982058748513251246354838910114020273748763305942341459239170837373529805310245771660545393695796977251213726990357926408007685879112542329923831210381832811671280699897715401891340276285139321231784177364137756611433818400037483439380939388592018213836185242216951324865271686759229326345376693225664173643111976370853536478750204733620834301057890676829659071083121876193694873004920564082813381576492587566905069200333818748872002 47692038403210985537218818790438577522862378591772703831777698692577156609224149767704149362446063449868582369266063267217708190985231149308188050433263989896140637964899887114448801421223913132361928393492105137466105806034050845435093714887552559951667628275835087920033901716556518414820950979598312101751802112372987557953894188604374794649042773813831336522182110929261589612139542374628483577417637010723672251759681969903072503766111984636994644378490494917222358510519981664638058721739427578024311947757011678249933976460176140837194000608494854046914746925485707625229872703797536265297694495575060777754695243470634513200546821295899289783187534494761548722405436838187695619473979098459592830177183289765173656109982021491020348982544426458175625496445237441876990606589859153773852519596970453381965177010872985245069829466705939046493652807025199159726087080039846607156608851004414754120987739756402719426720229023864107719800839792996136784506532701843529496709812000266729717769896369570633855594943162685759285745118846234254374357144124561721601035140940634527605890083588408147099737594346956302953273441032950365046191361800862672046975583551218413798790732778297325780199634687293334354196985583915598624692801539747480691603417005225485351178338390460615743279180104013790707185930450380535589768868540561971349160757161142831169633272673039860110603181708346885570327294298273537069239095254182065319964938144981821093108893149472355703450893209337411182759057201804881569085357227680100801779275974761337025269043513614666967455517244171471745423507874970256093981184293739664237602316723190738462757229302937515660529960598923937023934932245388797415661637074791082835398051890786961297397350557622266192695336515109728116326059584441507911058992548235139002467631537136558865891392590030049042888473783052857346996980048281822461397275480241871711865934068768230157197929294919046537591645599041232971413901987966681684255078289526831034141209812225461957566861528245540684565761063232198220438964390053094670495887031530532539015533562215098374244407181681046557392907190977599843602780082138941635723871048660818484873027821927168677411433886423825686520802579497316084226135945715455198541346554067124042657064206633617696145940746487193762488912965034060376866328050749261073522605208027559781019780844557289292026557387455808710826056680192823654567083304414361476413503309417827955274965904069500519278358969207427008460498331735711261748863738265831814709123001039668899331588183984540490794701984512426531665401 77167339129160636833139715668862950435033808425435221576776128397232983337551093161128126024621730544354809738339522666267808849514936403774454976629925112664547692683941284942363677387079157184372067666639931953849483969734828920652399824155469008244469899717026198522057557548597368581044412639258260836707963661192080018422860269094818360074936591623894430885266542845982215325400799962614900459927969593267332950513994562947943712442800599983140879956261478157202361904674179754795259998093006734620484145279293808787113030483097813595281287877573916424153483731394576498976721632492351205302764373215558377452740540850207139342075629143416773628486067866532450828082939042148181712480784606009104318286096129195814788584990509279737217404582524878365970685586210916281301509714647405191554919193188914192888635998212527060128607754751137123968378988638975531939141218044663244249044884301206172735094550588367341781419643389662897659250869275434459536413717163676705973655704137367286855443454930911493181029837048402215266463016494307804377413477768200623234348859410066026478509394836922468717625225564392023811240117722926688996598574394591818522921712388247412155728388218114841064546959811775789449384156834169744593534647242900686645396736087405914639511312607699723017792449552218395282944038838701403220131541088311463120814293684830587970739250640382654334632528971652434472934226867093770790931729286316204917871991114685067277752955118099830495637760547219456573582435783143998583215144588836326250955717543936759520310212467535258811799567824208098227693956652711633589951432267399281554156013611247472977510826984816517936944940788647861595229124200622948586330227495272187973487027454754280841226534689135607144451660835142691603448857940669535215252957342506272130804603087028808730858633022543814737117832734710476018045977643430409426338151883541602281761687775333601508330325892352179867727139624381365119778807026124680229678672477450645086395643322967345055419225650119559784650365704355303973888918767834730307228185099612113173600252690658032069662343561693853551252373170990114447926191064197690148975117403499728598893301570690474619752893125594663060050607889743087744771529641512432449755073544425050450664750085746160026069771956869026574160193664931775778757668327034400394754389385391697537631214662957326775465938326844400729039892865435040605891948576101120705739848686111053619448609016045871372814837719412160629294799389626388091407934821387708008403996005960232982144969760477128057699771184846245280537403 124859377532371622370358534459301527957896187017207925408553827089810139946775242928832275387067793994223392107605585933485517040500167553082643027063189102560688330648841172056812478808303070316733996060132037091315589775768879766087493539043021568196137527992861286442091459265153886995865363618856572938459765773565067576376754457699193154723979365437725767407448653775243804937540342337243384037345606603991005202273676532851016216208912584620135524334751973074424720415194161419433318719832434312644796093036305487037047006943273954432475288486068770471068230656880284124206594336289887470600458868790619155207435784320841652542622450439316063411673602361293999550488375880335877331954763704468697148463279418960988444694972530770757566387126951336541596182031448358158292116304506558965407438790159367574853813009085512305198437221457076170462031795664174691665228298084509851405653735305620926856082290344770061208139872413527005379051709068430596320920249865520235470365516137634016573213351300482127036624780211087974552208135340542058751770621892762344835384000350700554084399478425330615817362819911348326764513558755877054042789936195454490569897295939465825954519120996412166844746594499069123803581142418085343218227448782648167337000153092631399990689650998160338761071629656232185990129969289081938809900409628873434469975050845973419140372523313422514445235710679999320043261521165367307860170824540498270237836929259666888370861848267572186199088653756556867756341492984948880152300501816516427052734993518698096545579255981149925779255085068379569973117464527681889683932616561138945791758330334438211440268056287754033597474901387571798619164056446011746001991864570063270808885079345541242138623885246757873337146997350252419719774917525111043126311949890741411133272234624165367596750025612573863780006306517763333365042957691712231887735427363783473993627621844101831665528255187271226405318785223422598091192709014091361913933750766977476120536853135192807012986087178365100469216126767587502194327883157887824977724072131142645712615786252873130443906750743374900108645280361967714291528971146336631784698988452160547083766329392617643297164327012018488746571410469240403828997665587227887648296420098492174493321814292379777722215712703356220336649106629965836155623996377783661468276994593419257318650995507514616067492495714300209439865949545627864260459031880515482182153351995528881574723574920115371892093196688619587637755297721362099353156798559653539823113119006999901881476557944461668548494473169358671812202804 202026716661532259203498250128164478392929995442643146985329955487043123284326336089960401411689524538578201845945108599753325890015103956857098003693114215225236023332782456999176156195382227501106063726771969045165073745503708686739893363198490576440607427709887484964149016813751255576909776258114833775167729434757147594799614726794011514798915957061620198292715196621226020262941142299858284497273576197258338152787671095798959928651713184603276404291013451231627082319868341174228578717925441047265280238315599295824160037426371768027756576363642686895221714388274860623183315968782238675903223242006177532660176325171048791884698079582732837040159670227826450378571314922484059044435548310477801466749375548156803233279963040050494783791709476214907566867617659274439593626019153964156962357983348281767742449007298039365327044976208213294430410784303150223604369516129173095654698619606827099591176840933137402989559515803189903038302578343865055857333967029196941444021220275001303428656806231393620217654617259490189818671151834849863129184099660962968069732859760766580562908873262253084534988045475740350575753676478803743039388510590046309092819008327713238110247509214527007909293554310844913252965299252255087811762096025548853982396889180037314630200963605860061778864079208450581273074008127783342030031950717184897590789344530804007111111773953805168779868239651651754516195748032461078651102553826814475155708920374351955648614803385672016694726414303776324329923928768092878735515646405352753303690711062634856065889468448685184591054652892587668200811421180393523273884048828538227345914343945685684417778883272570551534419842176219660214393180646634694588322092065335458782372106800295522979850419935893480481598658185395111323223775465780578341564907233247683264076837711194176327608658635117678517124139252473809383088935335142641314073579247325076275389309619435433173858581079623406273045924847803963210971516040216042143612423244428121206932496458160152068405312828484660253866492471942806168216801925722555284952257230754758886216038943531162513569094305068753659897653532957828739455162210534321933674105855660275682659630963308117916917220137613151806622018358983491573769195228740320098051493642917224943986564378125937748285484660225246910809300294897611934381664704818061863031383978810954856282210170471942842958434041144610168905842411062904866350980456616602887893200681639935194172183936161243264908034408031748267050097110988487444564733381041247831517115012960134863621527704938796606194244354204917092740207 326886094193903881573856784587466006350826182459851072393883782576853263231101579018792676798757318532801593953550694533238842930515271509939741030756303317785924353981623629055988635003685297817840059786904006136480663521272588452827386902241512144636744955702748771406240476078905142572775139876971406713627495208322215171176369184493204669522895322499345965700163850396469825200481484637101668534619182801249343355061347628649976144860625769223411928625765424306051802735062502593661897437757875359910076331351904782861207044369645722460231864849711457366289945045155144747389910305072126146503682110796796687867612109491890444427320530022048900451833272589120449929059690802819936376390312014946498615212654967117791677974935570821252350178836427551449163049649107632597885742323660523122369796773507649342596262016383551670525482197665289464892442579967324915269597814213682947060352354912448026447259131277907464197699388216716908417354287412295652178254216894717176914386736412635320001870157531875747254279397470578164370879287175391921880954721553725312905116860111467134647308351687583700352350865387088677340267235234680797082178446785500799662716304267179064064766630210939174754040148809914037056546441670340431029989544808197021319397042272668714620890614604020400539935708864682767263203977416865280839932360346058332060764395376777426251484297267227683225103950331651074559457269197828386511273378367312745393545849634018844019476651653244202893815068060333192086265421753041758887816148221869180356425704581332952611468724429835110370309737960967238173928885708075412957816665389677173137672674280123895858046939560324585131894743563791458833557237092646440590313956635398729591257186145836765118474305182651353818745655535647531042998692990891621467876857123989094397349072335359543924358684247691542297130445770237142748131893026854873201809006611108550269016931463537264839386836266894632678364710071226561302164225054307404057546174011405597327469349593352959081391400006849760723082619239530308362544685083610380262676329361897404598831825196404292957475845048443653768542933894925543030984133356870953718373094307820822766425960355925761214081547149631640553193428828223895402766860815968207746347913741409399437308378670505715470501197363581467247458406924863448090005661082601723331308378572230212174933205677986558910450929755444819608771791956690769126810012337132085070046552677168816768895758856276615157001231096651335904805394832350586797721531940694787654630234019960036745098085649400465154688717523563588904943011 528912810855436140777355034715630484743756177902494219379213738063896386515427915108753078210446843071379795799495803132992168820530375466796839034449417533011160377314406086055164791199067525318946123513675975181645737266776297139567280265440002721077352383412636256370389492892656398149684916135086240488795224643079362765975983911287216184321811279560966163992879047017695845463422626936959953031892758998507681507849018724448936073512338953826688332916778875537678885054930843767890476155683316407175356569667504078685367081796017490487988441213354144261511659433430005370573226273854364822406905352802974220527788434662939236312018609604781737491992942816946900307631005725303995420825860325424300081962030515274594911254898610871747133970545903766356729917266766907037479368342814487279332154756855931110338711023681591035852527173873502759322853364270475138873967330342856042715050974519275126038435972211044867187258904019906811455656865756160708035588183923914118358407956687636623430526963763269367471934014730068354189550439010241785010138821214688280974849719872233715210217224949836784887338910862829027916020911713484540121566957375547108755535312594892302175014139425466182663333703120758950309511740922595518841751640833745875301793931452706029251091578209880462318799788073133348536277985544648622869964311063243229651553739907581433362596071221032852004972189983302829075653017230289465162375932194127220549254770008370799668091455038916219588541482364109516416189350521134637623331794627221933660116415643967808677358192878520294961364390853554906374740306888468936231700714218215400483587018225809580275825822832895136666314585740011119047950417739281135178636048700734188373629292946132288098324725118544834300344313721042642366222468456672199809441764357236777661425910046553720251967342882809220814254585022710952131220828361997514515882585858433626544406241082972698013245417346518038951410634919030524513135741094523446201158597255833718534401846051513111149796712835334420976949111711473114530761487009332935547628586592652163485047864139935455471044939353512407428440587427883371770439295567405275652047200163481098449085591319233879130998767287244792359815447187207386976536056044708527844399407384326624381294943048631653218786682023806714158267707219761060024387325787419785194339762551041167031215415848458501753409363796589429777677634367753673993160992793748687957939753358808751963067942792437858421909265504683084171855491943339074242286265321736035486147349032920171608719613354339261760882961877768505997683218 855798905049340022351211819303096491094582360362345291773097520640749649746529494127545755009204161604181389753046497666231011751045646976736580065205720850797084731296029715111153426202752823136786183300579981318126400788048885592394667167681514865714097339115385027776629968971561540722460056012057647202422719851401577937152353095780420853844706602060312129693042897414165670663904111574061621566511941799757024862910366353098912218372964723050100261542544299843730687789993346361552373593441191767085432901019408861546574126165663212948220306063065601627801604478585150117963136578926490968910587463599770908395400544154829680739339139626830637943826215406067350236690696528123931797216172340370798697174685482392386589229834181692999484149382331317805892966915874539635365110666475010401701951530363580452934973040065142706378009371538792224215295944237800054143565144556538989775403329431723152485695103488952331384958292236623719873011153168456360213842400818631295272794693100271943432397121295145114726213412200646518560429726185633706891093542768413593879966579983700849857525576637420485239689776249917705256288146948165337203745404161047908418251616862071366239780769636405357417373851930672987366058182592935949871741185641942896621190973725374743871982192813900862858735496937816115799481962961513903709896671409301561712318135284358859614080368488260535230076140314953903635110286428117851673649310561439965942800619642389643687568106692160422482356550424442708502454772274176396511147942849091114016542120225300761288826917308355405331674128814522144548669192596544349189517379607892573621259692505933476133872762393219721798209329303802577881507654831927575768950005336132917964886479091969053216799030301196188119089969256690173409221161447563821277318621481225872058774982381913264176326027130500763111385030792948094879352721388852387717691592469542176813423172546509962852632253613412671629775344990257085815299966148830850258704771267239315861871195644866070231188112842184181700031730951003422893306172092943315810304915954549568083879689336339748428520784401956061196983521322808914801423428924276229370420294471301921215511551675159640345080314436876432913008876015431282379302916860676735590747321125736023818603321719137368689287879387388181405726114144624508114392986870021508525648141123271379206148621526445060663860293552034249386449426324444443119971005130880773027986306035977568731963701648714473578910496601334420076660886775689661040007797262430823140777583052880208353817699003739726915571679401332094902626229 1384711715904776163128566854018726975838338538264839511152311258704646036261957409236298833219651004675561185552542300799223180571576022443533419099655138383808245108610435801166318217401820348455732306814255956499772138054825182731961947433121517586791449722528021284147019461864217938872144972147143887691217944494480940703128337007067637038166517881621278293685921944431861516127326738511021574598404700798264706370759385077547848291885303676876788594459323175381409572844924190129442849749124508174260789470686912940231941207961680703436208747276419745889313263912015155488536362852780855791317492816402745128923188978817768917051357749231612375435819158223014250544321702253427927218042032665795098779136715997666981500484732792564746618119928235084162622884182641446672844479009289497681034106287219511563273684063746733742230536545412294983538149308508275193017532474899395032490454303950998278524131075699997198572217196256530531328668018924617068249430584742545413631202649787908566862924085058414482198147426930714872749980165195875491901232363983101874854816299855934565067742801587257270127028687112746733172309058661649877325312361536595017173786929456963668414794909061871540080707555051431937675569923515531468713492826475688771922984905178080773123073771023781325177535285010949464335759948506162526579860982472544791363871875191940292976676439709293387235048330298256732710763303658407316836025242755567186492055389650760443355659561731076642070898032788552224918644122795311034134479737476313047676658535869268569966185110186875700293038519668077050923409499485013285421218093826107974104846710731743056409698585226114858464523915043813696929458072571208710947586054036867106338515772038101341315123755419741022419434282977732815775443629904236021086760385838462649720200892428466984428293370013309983925639615815659047010573549750849902233574178327975803357829413629482660865877670959930710581185979909287610328435707243354296459863368523073034396273041696379181380984825677518602676980842662476537424067659102276251357933502547201731568927553476275203899565723755468468625424108750692286571862724491681505022467494634783019664597142994393519476079081724121225272824323202638669355838972905385263435146728510062648199898264767769021908074561411194895563993821364385568138780312657441293719987903674312546237364037374903562417269657348623679164127060692198117113131997924629460985926059394786320695031644441152332000819762106017504248516378719028735282294062584166858626924932085800379962537312358078988676454641279100600900309447 2240510620954116185479778673321823466932920898627184802925408779345395686008486903363844588228855166279742575305588798465454192322621669420269999164860859234605329839906465516277471643604573171592518490114835937817898538842874068324356614600803032452505547061643406311923649430835779479594605028159201534893640664345882518640280690102848057892011224483681590423378964841846027186791230850085083196164916642598021731233669751430646760510258268399926888856001867475225140260634917536490995223342565699941346222371706321801778515334127343916384429053339485347517114868390600305606499499431707346760228080280002516037318589522972598597790696888858443013379645373629081600781012398781551859015258205006165897476311401480059368089714566974257746102269310566401968515851098515986308209589675764508082736057817583092016208657103811876448608545916951087207753445252746075247161097619455934022265857633382721431009826179188949529957175488493154251201679172093073428463272985561176708903997342888180510295321206353559596924360839131361391310409891381509198792325906751515468734782879839635414925268378224677755366718463362664438428597205609815214529057765697642925592038546319035034654575678698276897498081406982104925041628106108467418585234012117631668544175878903455516995055963837682188036270781948765580135241911467676430289757653881846353076190010476299152590756808197553922465124470613210636345873590086525168509674553317007152434856009293150087043227668423237064553254583212994933421098895069487430645627680325404161693200656094569331255012027495231105624712648482599195472078692081557634610735473434000547726106403237676532543571347619334580262733244347616274810965727403136286716536059373000024303402251130070394531922785720937210538524252234422989184664791351799842364079007319688521778975874810380248604619397143810747037024646608607141889926271139702289951265770797517980171252586175992623718509924573343382210961324899544696143735673392185146718568139790312350258144237341245251612172938519702784377012573613479960317373831195219567168238418501751299652807242812614952328086508157424529822407630073501201373286153415957734392887789106084940880108694669553159821159396160997658185833199218069951735141889766061999025894049635798672018501586486906390597362440798583076969719935509010076253173299527462802245636044797583925443512658901348623081129950900657928550576487016642560233103003055510234013912365430763889426995346089866805579730258707351924325177265494718396322301859846597681767702515138680588316355011361818715592026320680432695802935676 3625222336858892348608345527340550442771259436892024314077720038050041722270444312600143421448506170955303760858131099264677372894197691863803418264515997618413574948516901317443789861006393520048250796929091894317670676897699251056318562033924550039296996784171427596070668892699997418466750000306345422584858608840363459343409027109915694930177742365302868717064886786277888702918557588596104770763321343396286437604429136508194608802143572076803677450461190650606549833479841726620438073091690208115607011842393234742010456542089024619820637800615905093406428132302615461095035862284488202551545573096405261166241778501790367514842054638090055388815464531852095851325334101034979786233300237671960996255448117477726349590199299766822492720389238801486131138735281157432981054068685054005763770164104802603579482341167558610190839082462363382191291594561254350440178630094355329054756311937333719709533957254888946728529392684749684782530347191017690496712703570303722122535199992676089077158245291411974079122508266062076264060390056577384690693558270734617343589599179695569979993011179811935025493747150475411171600906264271465091854370127234237942765825475775998703069370587760148437578788962033536862717198029623998887298726838593320440467160784081536290118129734861463513213806066959715044471001859973838956869618636354391144440061885668239445567433247906847309700172800911467369056636893744932485345699796072574338926911398943910530398887230154313706624152616001547158339743017864798464780107417801717209369859191963837901221197137682106805917751168150676246395488191566570920031953567260108521830953113969419588953269932845449438727257159391429971740423799974344997664122113409867130641918023168171735847046541140678232957958535212155804960108421256035863450839393158151171499176767238847233032912767157120730962664262424266188900499820890552192184839949125493783529081999805475284584387595533274092792147304808832306472171380635539443178431508313385384654417279037624432993157764197221387053993416275956497741441490297495818526171921048953031221734796288890156227652231912892998447831738824193487945148877907639239415355283740867960544705837663946679297238477885118883458657522420708621090980862671447262461040778145861320218399851254675412505437002209777972533713756873395644391953612184904095965623948471896471680876696276252185498399608249281607714703547708840677346235000980139694999838424825550210122026990531019137580550020813369428573693644213747131604595922430764540394627447224480968278892323719897704268480961959533296703245123 5865732957813008534088124200662373909704180335519209117003128817395437408278931215963988009677361337235046336163719897730131565216819361284073417429376856853018904788423366833721261504610966691640769287043927832135569215740573319380675176634727582491802543845814833907994318323535776898061355028465546957478499273186245977983689717212763752822188966848984459140443851628123915889709788438681187966928237985994308168838098887938841369312401840476730566306463058125831690094114759263111433296434255908056953234214099556543788971876216368536205066853955390440923543000693215766701535361716195549311773653376407777203560368024762966112632751526948498402195109905481177452106346499816531645248558442678126893731759518957785717679913866741080238822658549367888099654586379673419289263658360818513846506221922385695595690998271370486639447628379314469399045039814000425687339727713811263077022169570716441140543783434077896258486568173242839033732026363110763925175976555864898831439197335564269587453566497765533676046869105193437655370799947958893889485884177486132812324382059535205394918279558036612780860465613838075610029503469881280306383427892931880868357864022095033737723946266458425335076870369015641787758826135732466305883960850710952109011336662984991807113185698699145701250076848908480624606243771441515387159376290236237497516251896144538598158190056104401232165297271524678005402510483831457653855374349389581491361767408237060617442114898577550771177407199214542091760841912934285895425735098127121371063059848058407232476209165177337911542463816633275441867566883648128554642689040694109069557059517207096121496841280464784018989990403739046246551389527377481284380658172782867154945320274298242130378969326861615443496482787446578794144773212607835705814918400477839693278152642049227481637532164300931477999688909032873330790426092030254482136105719923011763700334585981467908302897520106617475003108629708377002615907054027724589896999648103697734912561516378869684605330702716924171431005989889436458058815321492715385694410339550704330874542039101505108555738740070317528270239368897694689318435031323596973808243072846952901424814532333499839118397874046116541644490721638778572826122752437509261486934827781659992236901437741581803102799443008361049503433692382405720645126911712366898211259993269480397124389355177600808579529559149939536265280034725483237579338004035649929013750790256314099549022336620885943160280279520721352898870909708465527926897782277362222162329962363161556595247335081716419860507282639965992506180799 9490955294671900882696469728002924352475439772411233431080848855445479130549375528564131431125867508190350097021850996994808938111017053147876835693892854471432479736940268151165051365617360211689020083973019726453239892638272570436993738668652132531099540629986261504064987216235774316528105028771892380063357882026609437327098744322679447752366709214287327857508738414401804592628346027277292737691559329390594606442528024447035978114545412553534243756924248776438239927594600989731871369525946116172560246056492791285799428418305393156025704654571295534329971132995831227796571224000683751863319226472813038369802146526553333627474806165038553791010574437333273303431680600851511431481858680350087889987207636435512067270113166507902731543047788169374230793321660830852270317727045872519610276386027188299175173339438929096830286710841677851590336634375254776127518357808166592131778481508050160850077740688966842987015960857992523816262373554128454421888680126168620953974397328240358664611811789177507755169377371255513919431190004536278580179442448220750155913981239230775374911290737848547806354212764313486781630409734152745398237798020166118811123689497871032440793316854218573772655659331049178650476024165356465193182687689304272549478497447066528097231315433560609214463882915868195669077245631415354344028994926590628641956313781812778043725623304011248541865470072436145374459147377576390139201074145462155830288678807180971147841002128731864477801559815216089250100584930799084360205842515928838580432919040022245133697406302859444717460214984783951688263055075214699474674642607954217591388012631176515710450111213310233457717247563130476218291813327351826282044780286192734285587238297466413866226015868002293676454441322658734599104881633863871569265757793635990864777329409288074714670444931458052208962353171457139519690925912920806674320945669048505547229416585786943192887285115639891567795255934517209309088078434663264033075431156417083119566978795416494117598488466914145558484999406165392955800256811790211204220582260599657362096276835390395264783390971983210526718071107721888177263583909231236213223598356587820861969520369997446518415636351931235425103148244059487193917103615108956523947975605927521312455301288996257215608236445218139022037147449255801365037080523897270994176883941741376868805266051453852994077929167399221143979983582434323914925573005015789624013589215081864309671049327151905080740830300334090781472564553922212659531493704708126762556957409587642524874139658801614124128988244599499289209425922 15356688252484909416784593928665298262179620107930442548083977672840916538828306744528119440803228845425396433185570894724940503327836414431950253123269711324451384525363634984886312870228326903329789371016947558588809108378845889817668915303379715022902084475801095412059305539771551214589460057237439337541857155212855415310788461535443200574555676063271786997952590042525720482338134465958480704619797315384902775280626912385877347426947253030264810063387306902269930021709360252843304665960202024229513480270592347829588400294521761692230771508526685975253514133689046994498106585716879301175092879849220815573362514551316299740107557691987052193205684342814450755538027100668043076730417123028214783718967155393297784950027033248982970365706337537262330447908040504271559581385406691033456782607949573994770864337710299583469734339220992320989381674189255201814858085521977855208800651078766601990621524123044739245502529031235362849994399917239218347064656682033519785413594663804628252065378286943041431216246476448951574801989952495172469665326625706882968238363298765980769829570295885160587214678378151562391659913204034025704621225913097999679481553519966066178517263120676999107732529700064820438234850301088931499066648540015224658489834110051519904344501132259754915713959764776676293683489402856869731188371216826866139472565677957316641883813360115649774030767343960823379861657861407847793056448494851737321650446215418031765283117027309415248978967014430631341861426843733370255631577614055959951495978888080652366173615468036782629002678801417227130130621958862828029317331648648326660945072148383611831946952493775017476707237966869522464843202854729307566425438458975601440532558571764655996604985194863909119950924110105313393249654846471707275080676194113830558055482051337302196307977095758983686962042080490012850481352004951061156457051388971517310929751171768411101190182635746509042798364564225586311703985488690988622972430804520780854479540311795363802203819169631069729916005396054829413859072133282926589914992600150361692970818874491900373339129712053528054988310476619582866582018940554833187031841429434773763394334902330946357534034225977351966747638965698265766743226367546465785434910433709181304692202726737839018711035888226500071540581141638207085682207435609637892388143935010857265929655406631453802657458726549160680245263617159807152504911009051439553027340005338178409220071663772791023901110579854812134371435463630678187458391486985488984719287371950804081469386993883330543989495527239465281715606721 24847643547156810299481063656668222614655059880341675979164826528286395669377682273092250871929096353615746530207421891719749441438853467579827088817162565795883864262303903136051364235845687115018809454989967285042049001017118460254662653972031847554001625105787356916124292756007325531117565086009331717605215037239464852637887205858122648326922385277559114855461328456927525074966480493235773442311356644775497381723154936832913325541492665583799053820311555678708169949303961242575176035486148140402073726327085139115387828712827154848256476163097981509583485266684878222294677809717563053038412106322033853943164661077869633367582363857025605984216258780147724058969707701519554508212275803378302673706174791828809852220140199756885701908754125706636561241229701335123829899112452563553067058993976762293946037677149228680300021050062670172579718308564509977942376443330144447340579132586816762840699264812011582232518489889227886666256773471367672768953336808202140739387991992044986916677190076120549186385623847704465494233179957031451049844769073927633124152344537996756144740861033733708393568891142465049173290322938186771102859023933264118490605243017837098619310579974895572880388189031113999088710874466445396692249336229319497207968331557118048001575816565820364130177842680644871962760735034272224075217366143417494781428879459770094685609436664126898315896237416396968754320805238984237932257522640313893151939125022599002913124119156041279726780526829646720591962011774532454615837420129984798531928897928102897499871021770896227346462893786201178818393677034077527503991974256602544252333084779560127542397063707085250934424485529999998683135016182081133848470218745168335726119796869231069862831001062866202796405365432764047992354536480335578844346433987749821422832811460625376910978422027217035895924395251947152370172277917871867830777997058020022858159167757555354294077467751386400610593620498742795620792063923354252656047861960937863974046519107211857919802307636545215288401004802220222369659328945073137794135574860750019055067095709882295638122520684036738581706381584341471043845602849786069400255439786022594625363855272328392875949670577908587391850787209757752960660329982655422309382886039636702617147504015734096234319272333444639093577728590894008450719287959506908886565027876752234134734921458085306796735387893948381824225247199594131067430484014067229177040929220420042718891120990924696104641940880188902915844000017552890846989885191693615747276244781538446606343526652684944668118483771838964570925032643 40204331799641719716265657585333520876834679988272118527248804201127312208205989017620370312732325199041142963392992786444689944766689882011777341940432277120335248787667538120937677106074014018348598826006914843630858109395964350072331569275411562576903709581588452328183598295778876745707025143246771055147072192452320267948675667393565848901478061340830901853413918499453245557304614959194254146931153960160400157003781849218790672968439918614063863883698862580978099971013321495418480701446350164631587206597677486944976229007348916540487247671624667484836999400373925216792784395434442354213504986171254669516527175629185933107689921549012658177421943122962174814507734802187597584942692926406517457425141947222107637170167233005868672274460463243898891689137741839395389480497859254586523841601926336288716902014859528263769755389283662493569099982753765179757234528852122302549379783665583364831320788935056321478021018920463249516251173388606891116017993490235660524801586655849615168742568363063590617601870324153417069035169909526623519510095699634516092390707836762736914570431329618868980783569520616611564950236142220796807480249846362118170086796537803164797827843095572571988120718731178819526945724767534328191315984769334721866458165667169567905920317698080119045891802445421548256444224437129093806405737360244360920901445137727411327493250024242548089927004760357792134182463100392085725313971135165630473589571238017034678407236183350694975759493844077351933823438618265824871468997744040758483424876816183549866044637238933009975465572587618405948524298992940355533309305905250870913278156927943739374344016200860268411131723496869521147978219036810441414895657204143937166652355440995725859435986257730111916356289542869361385604191326807286119427110181863651980888293511962679107286399122976019582886437332437165220653629922822928987235048446991540169088918929323765395267650387132909653391985062968381932496049412045241279020292765458644828526059419007221722006126806176285018317010198275051783518401078356064384050567460900380748037914584374196011461650396090266636694692060961053910427621790340902587287281215457368388758190174659339233483704803885939358598426175456018727403556350201888094817796473345883921839706742471935253030308221671139165118309732532215536401495395116546778953171811763091400664576864716760599392846620497542504470510816753938219935395023118668730068269225758221128111192654697487128543051460043715050215435481183569034448276678679104731995532153489250687812913646568275212107979299078429852640639364 65051975346798530015746721242001743491489739868613794506413630729413707877583671290712621184661421552656889493600414678164439386205543349591604430757594842916219113049971441256989041341919701133367408280996882128672907110413082810326994223247443410130905334687375809244307891051786202276824590229256102772752287229691785120586562873251688497228400446618390016708875246956380770632271095452430027589242510604935897538726936786051703998509932584197862917704010418259686269920317282737993656736932498305033660932924762626060364057720176071388743723834722648994420484667058803439087462205152005407251917092493288523459691836707055566475272285406038264161638201903109898873477442503707152093154968729784820131131316739050917489390307432762754374183214588950535452930367443174519219379610311818139590900595903098582662939692008756944069776439346332666148818291318275157699610972182266749889958916252400127672020053747067903710539508809691136182507946859974563884971330298437801264189578647894602085419758439184139803987494171857882563268349866558074569354864773562149216543052374759493059311292363352577374352460663081660738240559080407567910339273779626236660692039555640263417138423070468144868508907762292818615656599233979724883565320998654219074426497224287615907496134263900483176069645126066420219204959471401317881623103503661855702330324597497506013102686688369446405823242176754760888503268339376323657571493775479523625528696260616037591531355339391974702540020673724072525785450392798279487306417874025557015353774744286447365915659009829237321928466373819584766917976027017883037301280161853415165611241707503866916741079907945519345556209026869519831113235218891575263365875949312272892772152310226795722266987320596314712761654975633409377958727807142864963773544169613473403721104972588056018264821150193055478810832584384317590825907840694796818013045505011563027248086686879119689345118138519310263985605561711177553288113335399493935068154726396508802572578526219079641808434442721500306718015000495274153177730023429202178186142321650399803105010294256491649584171080127005218401073645302524954273224640126971987542721001479963014122045446987732109433375381794526750449213385213771688063886332857310404200682512982586538987210758206031487349580555115778258696038323426223987120783354623455665518199688515325535399498322802067396128234514445924328695758016348069287365879037185897907109198446178263847002313645622183233184992340232617966059435498736459881438161870372720479271776935027697294156440299253219880226463070917394423565672007 105256307146440249732012378827335264368324419856885913033662434930541020085789660308332991497393746751698032456993407464609129330972233231603381772698027120036554361837638979377926718447993715151716007107003796972303765219809047160399325792522854972707809044268964261572491489347565079022531615372502873827899359422144105388535238540645254346129878507959220918562289165455834016189575710411624281736173664565096297695730718635270494671478372502811926781587709280840664369891330604233412137438378848469665248139522440113005340286727524987929230971506347316479257484067432728655880246600586447761465422078664543192976219012336241499582962206955050922339060145026072073687985177305894749678097661656191337588556458686273025126560474665768623046457675052194434344619505185013914608860108171072726114742197829434871379841706868285207839531828629995159717918274072040337456845501034389052439338699917983492503340842682124225188560527730154385698759120248581455000989323788673461788991165303744217254162326802247730421589364496011299632303519776084698088864960473196665308933760211522229973881723692971446355136030183698272303190795222628364717819523625988354830778836093443428214966266166040716856629626493471638142602324001514053074881305767988940940884662891457183813416451961980602221961447571487968475649183908530411688028840863906216623231769735224917340595936712611994495750246937112553022685731439768409382885464910645154099118267498633072269938591522742669678299514517801424459608889011064104358775415618066315498778651560469997231960296248762247297394038961437990715442275019958238570610586067104286078889398635447606291085096108805787756687932523739040979091454255702016678261533153456210059424507751222521581702973578326426629117944518502770763562919133950151083200654351477125384609398484550735125551220273169075061697269916821482811479537763517725805248093952003103196337005616202885084612768525652219917377590624679559485784162747444735214088447491855153631098637945226301363814561248897785325035025198770325936696131101785266562236709782550780551142924878630687661045821476217271855095765706263578864700846430467874574830002216937331402880235621647071342917080185680466109047639560669790415467442683059198499018478986328470460826917500677966740379888776786917423814348055958439523522278749740002444471371500278416936064075187518827995521081134943466833166268833102007507301274060304566637177467671936484975113506300319670361728043800276333016274870979920028915886438549051825211267309088516947981969353945821495092334442369995824276206311371 170308282493238779747759100069337007859814159725499707540076065659954727963373331599045612682055168304354921950593822142773568717177776581194986203455621962952773474887610420634915759789913416285083415388000679100976672330222129970726320015770298382838714378956340070816799380399351281299356205601758976600651646651835890509121801413896942843358278954577610935271164412412214786821846805864054309325416175170032195234457655421322198669988305087009789699291719699100350639811647886971405794175311346774698909072447202739065704344447701059317974695341069965473677968734491532094967708805738453168717339171157831716435910849043297066058234492361089186500698346929181972561462619809601901771252630385976157719687775425323942615950782098531377420640889641144969797549872628188433828239718482890865705642793732533454042781398877042151909308267976327825866736565390315495156456473216655802329297616170383620175360896429192128899100036539845521881267067108556018885960654087111263053180743951638819339582085241431870225576858667869182195571869642642772658219825246758814525476812586281723033193016056324023729488490846779933041431354303035932628158797405614591491470875649083691632104689236508861725138534255764456758258923235493777958446626766643160015311160115744799720912586225881085398031092697554388694854143379931729569651944367568072325562094332722423353698623400981440901573489113867313911188999779144733040456958686124677724646963759249109861469946862134644380839535191525496985394339403862383846081833492091872514132426304756444597875955258591484619322505335257575482360251046976121607911866228957701244500640342951473207826176016751307102244141550608560810204689474593591941627409102768482952196660061449317303969960898922741341879599494136180141521646941093016046974198521090598788330503457138791143816041423362130540508102501205800402305445604212522623261139457014666223585092303082004773957886664171530181363196186390737039072276082844229149156602218251662433671216471445381005622995691619285631753040199265600089873861125214468740422852104201180354247935172887179310629992556344277073496839351566103818974071070594846562372723218417294417002281068634803452350455567474992859496852945883562103531329015916508903219161499311056999814128258883998227729469331902695682510386379384663510643062104363458109989571188793742471463573510320895391649315649389391161862026849450076794667153097490464544286666118114748822115819945941853594913036140508950982334306478656488797324600419424545690539086023544645276125794245074714972560905440913218699771983378 275564589639679029479771478896672272228138579582385620573738500590495748049162991907378604179448915056052954407587229607382698048150009812798367976153649082989327836725249400012842478237907131436799422495004476073280437550031177131125645808293153355546523423225304332389290869746916360321887820974261850428551006073979995897657039954542197189488157462536831853833453577868048803011422516275678591061589839735128492930188374056592693341466677589821716480879428979941015009702978491204817931613690195244364157211969642852071044631175226047247205666847417281952935452801924260750847955406324900930182761249822374909412129861379538565641196699316140108839758491955254046249447797115496651449350292042167495308244234111596967742511256764300000467098564693339404142169377813202348437099826653963591820384991561968325422623105745327359748840096606322985584654839462355832613301974251044854768636316088367112678701739111316354087660564269999907580026187357137473886949977875784724842171909255383036593744412043679600647166223163880481827875389418727470747084785719955479834410572797803953007074739749295470084624521030478205344622149525664297345978321031602946322249711742527119847070955402549578581768160749236094900861247237007831033327932534632100956195823007201983534329038187861687619992540269042357170503327288462141257680785231474288948793864067947340694294560113593435397323736050979866933874731218913142423342423596769831823765231257882182131408538384877314059139049709326921445003228414926488204857249110158188012911077865226441829836251507353731916716544296695566197802526066934360178522452296061987323390038978399079498911272125557094858932074074347601789296143730295608619888942256224693011621167812671838885672934477249167970997544012638950905084566075043167130174852872567724172939901941689526269367261696531205602205372418027283213784983367730248428509233409017769419922097919284889858570655189823750098740786811070296524856438830288964363245049710106816064769854416671682369437556940517070956788065398035926026569992226999735302659561886751960905390860051517866971675814032561548928592605057829682683674917501062721137202725435354625819882516690281874795267535753155458968544492506553352518998771698975707402237640485639527460641045759561964968109358108689613106324734435343103034165340854103460554460942689072159407527648697839723387170396784332857995028295682552084301968427157795031181464133790051233797229326246261523956641079940785283998609177458576517713211038968476370901806395112061593258095148190896210064895347810909042975978294749 445872872132917809227530578966009280087952739307885328113814566250450476012536323506424216861504083360407876358181051750156266765327786393993354179609271045942101311612859820647758238027820547721882837883005155174257109880253307101851965824063451738385237802181644403206090250146267641621244026576020827029202652725815886406778841368439140032846436417114442789104617990280263589833269322139732900387006014905160688164646029477914892011454982676831506180171148679041365649514626378176223725789001542019063066284416845591136748975622927106565180362188487247426613421536415792845815664212063354098900100420980206625848040710422835631699431191677229295340456838884436018810910416925098553220602922428143653027932009536920910358462038862831377887739454334484373939719250441390782265339545136854457526027785294501779465404504622369511658148364582650811451391404852671327769758447467700657097933932258750732854062635540508482986760600809845429461293254465693492772910631962895987895352653207021855933326497285111470872743081831749664023447259061370243405304610966714294359887385384085676040267755805619493814113011877258138386053503828700229974137118437217537813720587391610811479175644639058440306906695005000551659120170472501608991774559301275260971506983122946783255241624413742773018023632966596745865357470668393870827332729599042361274355958400669764047993183514574876298897225164847180845063730998057875463799382282894509548412195017131291992878485247011958439978584900852418430397567818788872050939082602250060527043504169982886427712206765945216536039049631953141680162777113910481786434318525019688567890679321350552706737448142308401961176215624956162599500833204889200561516351358993175963817827874121156189642895376171909312877143506775131046606213016136183177149051393658322961270405398828317413183303119893336142713474919233083616090428971942771051770372866032435643507190222366894632528541853995280280103982997461033563928714913133193512401651928358478498441070888117063375060552632136356588541105597301526116443853352214204043082413990953141259638795224405046282305806588905826002089444409395786502648988571657567699575448653771920236884797758916678247617991320630451828041345452436914622530100714892216305456801984950584460455174018445963195838827440592308788835120814727766544808402958466918664450513877865901878991222208160618778819712433722249156890322532002161096635580255285495725750799908165982619345146192203377551554116081294234980943483937233006510535639387900916592345481135606238534220942435970925037456253251822261675750278127 721437461772596838707302057862681552316091318890270948687553066840946224061699315413802821040952998416460830765768281357538964813477796206791722155762920128931429148338109220660600716265727679158682260378009631247537547430284484232977611632356605093931761225406948735595381119893184001943131847550282677457753658799795882304435881322981337222334593879651274642938071568148312392844691838415411491448595854640289181094834403534507585352921660266653222661050577658982380659217604869381041657402691737263427223496386488443207793606798153153812386029035904529379548874338340053596663619618388255029082861670802581535260170571802374197340627890993369404180215330839690065060358214040595204669953214470311148336176243648517878100973295627131378354838019027823778081888628254593130702439371790818049346412776856470104888027610367696871406988461188973797036046244315027160383060421718745511866570248347117845532764374651824837074421165079845337041319441822830966659860609838680712737524562462404892527070909328791071519909304995630145851322648480097714152389396686669774194297958181889629047342495554914963898737532907736343730675653354364527320115439468820484135970299134137931326246600041608018888674855754236646559981417709509440025102491835907361927702806130148766789570662601604460638016173235639103035860797956856012085013514830516650223149822468617104742287743628168311696220961215827047778938462216971017887141805879664341372177426275013474124287023631889272499117634610179339875400796233715360255796331712408248539954582035209328257548458273298948452755593928648707877965303180844841964956770821081675891280718299749632205648720267865496820108289699303764388796976935184809181405293615217868975438995686792995075315829853421077283874687519414081951690779091179350307323904266226047134210307340517843682550564816424541744918847337260366829875412339673019480279606275050205063429288141651784491099197043819030378844769808531330088785153743422157875646701638465294563210925304788745744498109572653427545329170995337452143013845579213939345741975877705102165029655275922913253981620621467374930682049467225469186323906072720288836778174089126546056767314449198553042885527073785910796585837958990267141528872413867923707694442470590111921096219778007928163948185549281921895159855250070869578973743812570379218911456566938061286518870906000342165990109218055107151918618214554245398604007413080526907214933698217216416574472438464901508195196022079518979552661395809524223746678356377287494151876247667831792316090626867135102351601062731304651728572876 1167310333905514647934832636828690832404044058198156276801367633091396700074235638920227037902457081776868707123949333107695231578805582600785076335372191174873530459950969041308358954293548226880565098261014786421794657310537791334829577456420056832316999027588593138801471370039451643564375874126303504486956311525611768711214722691420477255181030296765717432042689558428575982677961160555144391835601869545449869259480433012422477364376642943484728841221726338023746308732231247557265383191693279282490289780803334034344542582421080260377566391224391776806162295874755846442479283830451609127982962091782788161108211282225209829040059082670598699520672169724126083871268630965693757890556136898454801364108253185438788459435334489962756242577473362308152021607878695983912967778916927672506872440562150971884353432114990066383065136825771624608487437649167698488152818869186446168964504180605868578386827010192333320061181765889690766502612696288524459432771241801576700632877215669426748460397406613902542392652386827379809874769907541467957557694007653384068554185343565975305087610251360534457712850544784994482116729157183064757294252557906038021949690886525748742805422244680666459195581550759237198219101588182011049016877051137182622899209789253095550044812287015347233656039806202235848901218268625249882912346244429559011497505780869286868790280927142743187995118186380674228624002193215028893350941188162558850920589621292144766117165508878901230939096219511031758305798364052504232306735414314658309066998086205192214685260665039244164988794643560601849558128080294755323751391089346101364459171397621100184912386168410173898781284505324259926988297810140074009742921644974211044939256823560914151264958725229592986596751831026189212998296992107315533484472955659884370095480712739346161095733867936317877887632322256493450445965841311615790532049979141082640706936478364018679123627738897814310658948752805992363652713868656555351388048353566823773061651996192905809119558662204789784133870276592638978259457698931428143388824389868658243424668450500327959536287427210373200932771493876621255688972894644377856536353622742898466293652112208115231290503518394416362624627183411427181764058973128760140013151244455540696381551393796453891359787012989874230683994976064798636123782146771037297883361970444803963165510093114160960944809821651777356308808940746556406495239587668366022632965733606383199035919618630668279059749312103373753960496145333042530734282317744278204086497357383274070326537033062838060139807854314553566327478851003 1888747795678111486642134694691372384720135377088427225488920699932342924135934954334029858943410080193329537889717614465234196392283378807576798491135111303804959608289078261968959670559275906039247358639024417669332204740822275567807189088776661926248760252995541874396852489932635645507507721676586181944709970325407651015650604014401814477515624176416992074980761126576888375522652998970555883284197724185739050354314836546930062717298303210137951502272303997006126967949836116938307040594385016545917513277189822477552336189219233414189952420260296306185711170213095900039142903448839864157065823762585369696368381854027584026380686973663968103700887500563816148931626845006288962560509351368765949700284496833956666560408630117094134597415492390131930103496506950577043670218288718490556218853339007441989241459725357763254472125286960598405523483893482725648535879290905191680831074428952986423919591384844158157135602930969536103543932138111355426092631851640257413370401778131831640987468315942693613912561691823009955726092556021565671710083404340053842748483301747864934134952746915449421611588077692730825847404810537429284614367997374858506085661185659886674131668844722274478084256406513473844779083005891520489041979542973089984826912595383244316834382949616951694294055979437874951937079066582105894997359759260075661720655603337903973532568670770911499691339147596501276402940655431999911238082994042223192292767047567158240241452532510790503438213854121211098181199160286219592562531746027066557606952668240401542942809123312543113441550237489250557436093383475600165716347860167183040350452115920849817118034888678039395601392795023563691377094787075258818924326938589428913914695819247707146340274555083014063880626518545603294949987771198494883791796859926110417229691020079864004778284432752742419632551169593753817275841253651288810012329585416132845770365766505670463614726935941633341037793522614523693741499022399977509263695055205289067624862921497694554864056771777443211679199447587976430402471544510642082734566365746363345589698105776250872790269047831840575863453543343846724875296800717098145373131796832025012350419426657313784333389045468202273421213021370417448905587845542628063720845686926130808302647613574461819523735198539156152579154831314869505702755890583607677102273427011742024452028964020161303110799930869832463460727558961110651893843595081446549540180667304600415452494091069133180567944508125453272940048806728852054958028996100655491580649233630941902118853123689705195242159455377284870979207423879 3056058129583626134576967331520063217124179435286583502290288333023739624210170593254256896845867161970198245013666947572929427971088961408361874826507302478678490068240047303277318624852824132919812456900039204091126862051360066902636766545196718758565759280584135013198323859972087289071883595802889686431666281851019419726865326705822291732696654473182709507023450685005464358200614159525700275119799593731188919613795269559352540081674946153622680343494030335029873276682067364495572423786078295828407803057993156511896878771640313674567518811484688082991873466087851746481622187279291473285048785854368157857476593136252793855420746056334566803221559670287942232802895475971982720451065488267220751064392750019395455019843964607056890839992965752440082125104385646560956637997205646163063091293901158413873594891840347829637537262112732223014010921542650424136688698160091637849795578609558855002306418395036491477196784696859226870046544834399879885525403093441834114003278993801258389447865722556596156305214078650389765600862463563033629267777411993437911302668645313840239222562998275983879324438622477725307964133967720494041908620555280896528035352072185635416937091089402940937279837957272711042998184594073531538058856594110272607726122384636339866879195236632298927950095785640110800838297335207355777909706003689634673218161384207190842322849597913654687686457333977175505026942848647028804589024182204782043213356668859303006358618041389691734377310073632242856486997524338723824869267160341724866673950754445593757628069788351787278430344881049852406994221463770355489467738949513284404809623513541950002030421057088213294382677300347823618365392597215332828667248583563639958853952642808621297605233280312607050477378349571792507948284763305810417276269815585994787325171732819210165874018300689060297520183491850247267721807094962904600544379564557215486477302244869689142738354674839447651696742275420516057394212891056532860651743408772112840686514917690600363983615433982232995813069724180615408661929243442070226123390755615021589014366556276578832326556475042213776796225037220467980564269695361476001909485419574923478644071538865429015623892563862618636045840204781844630669646818671388203733996931381671504684199007370915710883522211529030383263149807379668141826538037354644974985635397456545987617539057134322264055609752521609819769536499707667058389083182749812572173146400910983614488413709699801459627693820228827026900544952061894585692311313844933695667146591014215972445390156752543255381967309691838437306686274882 4944805925261737621219102026211435601844314812375010727779209032956082548346105547588286755789277242163527782903384562038163624363372340215938673317642413782483449676529125565246278295412100038959059815539063621760459066792182342470443955633973380684814519533579676887595176349904722934579391317479475868376376252176427070742515930720224106210212278649599701582004211811582352733723267158496256158403997317916927969968110106106282602798973249363760631845766334332036000244631903481433879464380463312374325316335182978989449214960859547088757471231744984389177584636300947646520765090728131337442114609616953527553844974990280377881801433029998534906922447170851758381734522320978271683011574839635986700764677246853352121580252594724151025437408458142572012228600892597138000308215494364653619310147240165855862836351565705592892009387399692821419534405436133149785224577450996829530626653038511841426226009779880649634332387627828762973590476972511235311618034945082091527373680771933090030435334038499289770217775770473399721326955019584599300977860816333491754051151947061705173357515745191433300936026700170456133811538778257923326522988552655755034121013257845522091068759934125215415364094363786184887777267599965052027100836137083362592553034980019584183713578186249250622244151765077985752775376401789461672907065762949710334938816987545094815855418268684566187377796481573676781429883504079028715827107176247005235506123716426461246600070573900482237815523927753453954668196684624943417431798906368791424280903422685995300570878911664330391871895118539102964430314847245955655184086809680467445160075629462799819148455945766252689984070095371387309742487384290591647591575522153068872768648462056328443945507835395621114358004868117395802898272534504305301068066675512105204554862752899074170652302733441802717152734661444001084997648348614193410556709149973348332247668011375359606353081610781080992734535798035039751135711913456510369915438463977401908311377839188294918847672205759676207492269171768591839064400787952712308857957121361384934604064662052829705116825522874054352659678580564314705439566496078574147282617216406948490994490965522742799957281609330820909467053226152262079575234664214016267454842618307802312986846620945377530407257410068186535842304638694537647529293927938252652087908824468288012069568021154483567166409683391442283230264058668777710282926777831259121713327068215584029940907800768934640195638328354280299840593758790746640650340309945589187247795824645157874564243280442248450624126765069123308285893698761 8000864054845363755796069357731498818968494247661594230069497365979822172556276140842543652635144404133726027917051509611093052334461301624300548144149716261161939744769172868523596920264924171878872272439102825851585928843542409373080722179170099443380278814163811900793500209876810223651274913282365554808042534027446490469381257426046397942908933122782411089027662496587817091923881318021956433523796911648116889581905375665635142880648195517383312189260364667065873521313970845929451888166541608202733119393176135501346093732499860763324990043229672472169458102388799393002387278007422810727163395471321685411321568126533171737222179086333101710144006841139700614537417796950254403462640327903207451829069996872747576600096559331207916277401423895012094353705278243698956946212700010816682401441141324269736431243406053422529546649512425044433545326978783573921913275611088467380422231648070696428532428174917141111529172324687989843637021806911115197143438038523925641376959765734348419883199761055885926522989849123789486927817483147632930245638228326929665353820592375545412580078743467417180260465322648181441775672745978417368431609107936651562156365330031157508005851023528156352643932321058895930775452194038583565159692731193635200279157364655924050592773422881549550194247550718096553613673736996817450816771766639345008156978371752285658178267866598220875064253815550852286456826352726057520416131358451787278719480385285764252958688615290173972192834001385696811155194208963667242301066066710516290954854177131589058198948700016117670302239999588955371424536311016311144651825759193751849969699143004749821178877002854465984366747395719210928107879981505924476258824105716708831622601104864949741550741115708228164835383217689188310846557297810115718344336491098099991880034485718284336526321034130863014672918153294248352719455443577098011101088714530563818724970256245048749091436285620528644431278073455555808529924804513043230567181872749514748997892756878895282831287639741909203305338895949207247726330031394782534981347876976406523618431218329408537443381997916268129455903617784782686003836191440050149192102635981871969638562504388171815581174173193439545512893430934106710244881482885404471188839549689473817671045628316293241290779621597216919105454446074205789355831965292897627073544221924833999687107078288805831222019435913052102999800558376444768672009960581071693886473469126567644429321510468736099823332148583107326741138710852641226342651623790522882914942415659373847009633437194791706006094074760961745592579973643 12945669980107101377015171383942934420812809060036604957848706398935904720902381688430830408424421646297253810820436071649256676697833641840239221461792130043645389421298298433769875215677024210837932087978166447612044995635724751843524677813143480128194798347743488788388676559781533158230666230761841423184418786203873561211897188146270504153121211772382112671031874308170169825647148476518212591927794229565044859550015481771917745679621444881143944035026698999101873765945874327363331352547004920577058435728359114490795308693359407852082461274974656861347042738689747039523152368735554148169278005088275212965166543116813549619023612116331636617066454011991458996271940117928526086474215167539194152593747243726099698180349154055358941714809882037584106582306170840836957254428194375470301711588381490125599267594971759015421556036912117865853079732414916723707137853062085296911048884686582537854758437954797790745861559952516752817227498779422350508761472983606017168750640537667438450318533799555175696740765619597189208254772502732232231223499044660421419404972539437250585937594488658850481196492022818637575587211524236340694954597660592406596277378587876679599074610957653371768008026684845080818552719794003635592260528868276997792832192344675508234306351609130800172438399315796082306389050138786279123723837529589055343095795359297380474033686135282787062442050297124529067886709856805086236243238534698792514225604101712225499558759189190656210008357929139150765823390893588610659732864973079307715235757599817584358769827611680448062174135118128058335854851158262266799835912568874219295129774772467549640327332948620718674350817491090598237850367365796516123850399627869777704391249566921278185496248951103849279193388085806584113744829832314421019412403166610205196434897238617358507178623767572665731825652814738249437717103792191291421657797864503912150972638267620408355444517896401609637165813871490595559665636717969553600482620336726916657309270596067190201678959845501585410797608067717799086790730819347494843839304998337791458222495880382238242560207520790322482115582198349097391443402687518624296474719852388820460633053469910914615538455782524260454979946657086368789820116147099420738643682167997276130657892249261670771698037031665403454947759084768743436885125893231150279161453046393122011756675099443289398388429119304494386230064617045222478954936738412330815599800537342151674370229311237670740018970476937387626581732469643387866992991933736112070162738240304531721573876717637040156630220839830085053878473672404 20946534034952465132811240741674433239781303307698199187918203764915726893458657829273374061059566050430979838737487581260349729032294943464539769605941846304807329166067471302293472135941948382716804360417269273463630924479267161216605399992313579571575077161907300689182176769658343381881941144044206977992461320231320051681278445572316902096030144895164523760059536804757986917571029794540169025451591141213161749131920857437552888560269640398527256224287063666167747287259845173292783240713546528779791555121535249992141402425859268615407451318204329333516500841078546432525539646742976958896441400559596898376488111243346721356245791202664738327210460853131159610809357914878780489936855495442401604422817240598847274780445713386566857992211305932596200936011449084535914200640894386286984113029522814395335698838377812437951102686424542910286625059393700297629051128673173764291471116334653234283290866129714931857390732277204742660864520586333465705904911022129942810127600303401786870201733560611061623263755468720978695182589985879865161469137272987351084758793131812795998517673232126267661456957345466819017362884270214758063386206768529058158433743917907837107080461981181528120651959005903976749328171988042219157420221599470632993111349709331432284899125032012349722632646866514178860002723875783096574540609296228400351252773731049666132211954001881007937506304112675381354343536209531143756659369893150579792945084486997989752517447804480830182201191930524847576978585102552277902033931039789824006190611776949173416968776311696565732476375117717013707279387469278577944487738328067971145099473915472299461506209951475184658717564886809809165958247347302440600109223733586486536013850671786227927046990066812077444028771303495772424591387130124536737756739657708305188314931724335642843704944801703528746498570968032497790436559235768389432758886579034475969697608523865457104535954182022138281597091944946151368195561522482596831049802209476431406307163352946085484510247485243494614102946963667006334517060850742277378820652875314197981840927098711646780003589518706590611571485816133880077447238878958674445666822488370692430271615974299086431119629955717700000492840088020475500064997629984825209832521717686749948328937877577964012988816653262620374053213530842949226240957858524047906234997268317956011443782177732095229610448555217546489229865175421667247626946698993402509486274006468719318799550821706406839842302625520494953322871180496029093335643557526634953077680655963905568583510154831831862636314914591046799471053646047 33892204015059566509826412125617367660594112367734804145766910163851631614361039517704204469483987696728233649557923652909606405730128585304778991067733976348452718587365769736063347351618972593554736448395435721075675920114991913060130077805457059699769875509650789477570853329439876540112607374806048401176880106435193612893175633718587406249151356667546636431091411112928156743218178271058381617379385370778206608681936339209470634239891085279671200259313762665269621053205719500656114593260551449356849990849894364482936711119218676467489912593178986194863543579768293472048692015478531107065719405647872111341654654360160270975269403318996374944276914865122618607081298032807306576411070662981595757016564484324946972960794867441925799707021187970180307518317619925372871455069088761757285824617904304520934966433349571453372658723336660776139704791808617021336188981735259061202520001021235772138049304084512722603252292229721495478092019365755816214666384005735959978878240841069225320520267360166237320004521088318167903437362488612097392692636317647772504163765671250046584455267720785118142653449368285456592950095794451098758340804429121464754711122505784516706155072938834899888659985690749057567880891782045854749680750467747630785943542054006940519205476641143149895071046182310261166391774014569375698264446825817455694348569090347046606245640137163794999948354409799910422230246066336229992902608427849372307170688588710215252076206993671486392209549859663998342801975996140888561766796012869131721426369376766757775738603923377013794650510235845072043134238627540844744323650896942190440229248687939849101833542900095903333068382377900407403808614713098956723959623361456264240405100238707506112543239017915926723222159389302356538336216962438957757169142824318510384749828962953001350883568569276194478324223782770747228153663027959680854416684443538388120670246791485865459980472078423747918762905816436746927861198240452150431532422546203348063616433949013275686189207330745080024900555031384805421307791670089772222659957873651989440063422979093885022563797039496913093687068014482977468890641566477298742141542340759512890904669444210001046658085738241960455472786745106844289885113777084245948476203885684026078986830126839634784686853684928023829000972615611692663126083751755198185396450314711078023200457277175384627998877674522040875459929792466889726581883437405733325086074543810870993169780132944077579861273102457882579904603650139416960328635491262747023240418896268437290157386872468872019266535754421131853349527318451 54838738050012031642637652867291800900375415675433003333685113928767358507819697346977578530543553747159213488295411234169956134762423528769318760673675822653260047753433241038356819487560920976271540808812704994539306844594259074276735477797770639271344952671558090166753030099098219921994548518850255379169341426666513664574454079290904308345181501562711160191150947917686143660789208065598550642830976511991368357813857196647023522800160725678198456483600826331437368340465564673948897833974097978136641545971429614475078113545077945082897363911383315528380044420846839904574231662221508065962160806207469009718142765603506992331515194521661113271487375718253778217890655947686087066347926158423997361439381724923794247741240580828492657699232493902776508454329069009908785655709983148044269937647427118916270665271727383891323761409761203686426329851202317318965240110408432825493991117355889006421340170214227654460643024506926238138956539952089281920571295027865902789005841144471012190722000920777298943268276557039146598619952474491962554161773590635123588922558803062842582972940952911385804110406713752275610312980064665856821727011197650522913144866423692353813235534920016428009311944696653034317209063770088073907100972067218263779054891763338372804104601673155499617703693048824440026394497890352472272805056122045856045601342821396712738457594139044802937454658522475291776573782275867373749561978320999952100115773075708205004593654798152316574410741790188845919780561098693166463800727052658955727616981153715931192707380235073579527126885353562085750413626096819422688811389225010161585328722603412148563339752851571087991785947264710216569766862060401397324068847095042750776418950910493734039590229084728004167250930692798128962927604092563494494925882482026815573064760687288644194588513370979723224822794750803245018590222263728070287175571022572864090367855315351322564516426260445886200359997761382898296056759762934747262582224755679779469923597301959361170699454815988574639003501995051811755824852520832049601480610748966187421904350077805531802567386558203503705258553830616857546337880445435973187808364829130205321176285418509087477777715693959660455965626833127319789950111407069071158308725603370776027315768004417598797675670338190644203054186146454641889367041610279246091631447583029034034644239454907479857609326229739587364689794967888556974208830136399135834572348550279590311969330954650484419703575727978377533227474830635446053664279048789381976318099552232342858740897027300703881902850669012178652820580964498 88730942065071598152464064992909168560969528043167807479452024092618990122180736864681783000027541443887447137853334887079562540492552114074097751741409799001712766340799010774420166839179893569826277257208140715614982764709250987336865555603227698971114828181208879644323883428538096462107155893656303780346221533101707277467629713009491714594332858230257796622242359030614300404007386336656932260210361882769574966495793535856494157040051810957869656742914588996706989393671284174605012427234649427493491536821323978958014824664296621550387276504562301723243588000615133376622923677700039173027880211855341121059797419963667263306784597840657488215764290583376396824971953980493393642758996821405593118455946209248741220702035448270418457406253681872956815972646688935281657110779071909801555762265331423437205631705076955344696420133097864462566034643010934340301429092143691886696511118377124778559389474298740377063895316736647733617048559317845098135237679033601862767884081985540237511242268280943536263272797645357314502057314963104059946854409908282896093086324474312889167428208673696503946763856082037732203263075859116955580067815626771987667855988929476870519390607858851327897971930387402091885089955552133928656781722534965894564998433817345313323310078314298649512774739231134701192786271904921847971069502947863311739949911911743759344703234276208597937403012932275202198804028342203603742464586748849324407286461664418420256669861791823802966620291649852844262582537094834055025567523065528087449043350530482688968445984158450593321777395589407157793547864724360267433135040121952352025557971291351997665173295751666991324854329642610623973575476773500354048028470456499015016824051149201240152133468102643930890473090082100485501263821055002452252095025306345325957814589650241645545472081940255917703147018533573992246743885291687751141592255466111252211038102106837188024496898338869634119122903577819645223917958003386897694114647301883127533540031250972636856888662146733654663904057026436617177132644190921821824140568622618176861967773056899416825131183597700416798945621845099835015228522011913271929949907169889718212080954862719088524435801432201620911438413578234164079835225184153317106784929489054802106302598131257233582362524023118668032055158762066334552493125362034444277027897897740112057844696732082864485608203904261628240149724760355446700790713573804869159658423094090461305139111087594561999564848830436260113132078480774863013992914540052128999558518448500780148898283899769575901169386423433310506170108282949 143569680115083629795101717860200969461344943718600810813137138021386348630000434211659361530571095191046660626148746121249518675254975642843416512415085621654972814094232251812776986326740814546097818066020845710154289609303510061613601033400998338242459780852766969811076913527636316384101704412506559159515562959768220942042083792300396022939514359792968956813393306948300444064796594402255482903041338394760943324309650732503517679840212536636068113226515415328144357734136848848553910261208747405630133082792753593433092938209374566633284640415945617251623632421461973281197155339921547238990041018062810130777940185567174255638299792362318601487251666301630175042862609928179480709106922979829590479895327934172535468443276029098911115105486175775733324426975757945190442766489055057845825699912758542353476296976804339236020181542859068148992364494213251659266669202552124712190502235733013784980729644512968031524538341243573971756005099269934380055808974061467765556889923130011249701964269201720835206541074202396461100677267437596022501016183498918019682008883277375731750401149626607889750874262795790007813576055923782812401794826824422510581000855353169224332626142778867755907283875084055126202299019322222002563882694602184158344053325580683686127414679987454149130478432279959141219180769795274320243874559069909167785551254733140472083160828415253400874857671454750493975377810618070977492026565069849276507402234740126625261263516589976119541031033440041690182363098193527221489368250118187043176660331684198620161153364393524172848904280942969243543961490821179690121946429346962513610886693894764146228513048603238079316640276907320840543342338833901751372097317551541765793243002059694974191723697187371935057724020774898614464191425147565946747020907788372141530879350337530289740060595311235640927969813284377237265334107555415821428767826488684116301405957422188510589013324599315520319482901339202543519974717766321644956696872057562907003463628552931998027588116962722229302907559021488428932957496711753871425621179371584364283872123134704948627698570155903920504204175675716692561566402457349245117758271999019923533257240281228176002213517126161281367404040411361483869785336591222388265093655092425578133618366135674832380038194361309312235109344908520976441860166972313690368659345480769146092488936186990344343217530134001215604839519728244003674999543710204004994230771644370051617108442042245046419268424558414637646359553311410309067657193588841510975876618000733123007639180927070279783072237092445489158990689247447 232300622180155227947565782853110138022314471761768618292589162114005338752181171076341144530598636634934107764002081008329081215747527756917514264156495420656685580435031262587197153165920708115924095323228986425769272374012761048950466589004226037213574609033975849455400796956174412846208860306162862939861784492869928219509713505309887737533847218023226753435635665978914744468803980738912415163251700277530518290805444268360011836880264347593937769969430004324851347127808133023158922688443396833123624619614077572391107762873671188183671916920507918974867220422077106657820079017621586412017921229918151251837737605530841518945084390202976089703015956885006571867834563908672874351865919801235183598351274143421276689145311477369329572511739857648690140399622446880472099877268126967647381462178089965790681928681881294580716601675956932611558399137224185999568098294695816598887013354110138563540119118811708408588433657980221705373053658587779478191046653095069628324774005115551487213206537482664371469813871847753775602734582400700082447870593407200915775095207751688620917829358300304393697638118877827740016839131782899767981862642451194498248856844282646094852016750637719083805255805471457218087388974874355931220664417137150052909051759398028999450724758301752798643253171511093842411967041700196168214944062017772479525501166644884231427864062691461998812260684387025696174181838960274581234491151818698600914688696404545045517933378381799922507651325089894534444945635288361276514935773183715130625703682214681309129599348551974766170681676532376401337509355545539957555081469468914865636444665186116143893686344354905070641494606549931464516917815607402105420125788008040780810067053208896214343857165290015865948197110856999099965455246202568398999115933094717467488693939987771935285532677251491558631116831817951229512077992847103572570360081954795368512444059529025698613510222938185154438605804917022188743892675769708542650811519359446034537003659803904634884476779109455883966811616047925046110090140902675693249761747994202541145839896191604365452829753753604337303149797520816527576794924469262517047708179168909641745338195143947264526649318558362902278842453989595647949620561775375705371878584581480380239920964266932065962400718384427980267164503670587310994353292334348134645687243378509258150333632919073208828825734038262843844989244488599450375790257284008874153889194738460512922247553129839608418833273388850897759491631792185172081650108128893639975435136449233903156537464826839855684241623515878799665160797530396 375870302295238857742667500713311107483659415480369429105726300135391687382181605288000506061169731825980768390150827129578599891002503399760930776571581042311658394529263514399974139492661522662021913389249832135923561983316271110564067622405224375456034389886742819266477710483810729230310564718669422099377347452638149161551797297610283760473361577816195710249028972927215188533600575141167898066293038672291461615115095000863529516720476884230005883195945419652995704861944981871712832949652144238753757702406831165824200701083045754816956557336453536226490852843539079939017234357543133651007962247980961382615677791098015774583384182565294691190267623186636746910697173836852355060972842781064774078246602077593812157588587506468240687617226033424423464826598204825662542643757182025493207162090848508144158225658685633816736783218816000760550763631437437658834767497247941311077515589843152348520848763324676440112971999223795677129058757857713858246855627156537393881663928245562736915170806684385206676354946050150236703411849838296104948886776906118935457104091029064352668230507926912283448512381673617747830415187706682580383657469275617008829857699635815319184642893416586839712539680555512344289687994196577933784547111739334211253105084978712685578139438289206947773731603791052983631147811495470488458818621087681647311052421378024703511024891106715399687118355841776190149559649578345558726517716888547877422090931144671670779196894971776042048682358529936224627308733481888498004304023301902173802364013898879929290752712945498939019585957475345644881470846366719647677027898815877379247331359080880290122199392958143149958134883457252305060260154441303856792223105559582546603310055268591188535580862477387801005921131631897714429646671350134345746136840883089609019573290325302225025593272562727199559086645102328466777412100402519393999127908443479484813850016951214209202523547537500674758088706256224732263867393536030187607508391417008941540467288356836632912064896072178113269719175069413475043047637614429564675382927365786905429712019326309314080528323909508257807353973196533220138361326926611762165466451167929565278595435425175440528862835684524183646246494400957131819405898366598093636972239673905958373539330402606898342438912745737292502273848579108287436213459306661825014346588859278404242822569106063553172043264172264059449828764216843454050789800994212879148119966382830564539355995172084654838101697947265535405851185103595481149307301717735150951311754449967026164176645753910135467313860608324288824151486777843 608170924475394085690233283566421245505973887242138047398315462249397026134362776364341650591768368460914876154152908137907681106750031156678445040728076462968343974964294776987171292658582230777946008712478818561692834357329032159514534211409450412669608998920718668721878507439985142076519425024832285039239131945508077381061510802920171498007208795839422463684664638906129933002404555880080313229544738949821979905920539269223541353600741231823943653165375423977847051989753114894871755638095541071877382322020908738215308463956716943000628474256961455201358073265616186596837313375164720063025883477899112634453415396628857293528468572768270780893283580071643318778531737745525229412838762582299957676597876221015088846733898983837570260128965891073113605226220651706134642521025308993140588624268938473934840154340566928397453384894772933372109162768661623658402865791943757909964528943953290912060967882136384848701405657204017382502112416445493336437902280251607022206437933361114224128377344167049578146168817897904012306146432238996187396757370313319851232199298780752973586059866227216677146150500551445487847254319489582348365520111726811507078714543918461414036659644054305923517795486026969562377076969070933865005211528876484264162156844376741685028864196590959746416984775302146826043114853195666656673762683105454126836553588022908934938888953798177398499379040228801886323741488538620139961008868707246478336779627549216716297130273353575964556333683619830759072254368770249774519239796485617304428067696113561238420352061497473705190267634007722046218980201912259605232109368284792244883776024266996434015885737313048220599629490007183769577177970048705962212348893567623327413377108477487402879438027767403666954118242488896814395101917552702744745252773977807076508267230313074160311125949814218758190203476920279696289490093249622966569487990398274853326294076480239907816033770475685829196694511173246921007760069305738730258319910776454976077470948160741267796541675181633997236530791117338521153137778517105257925144675359989446575551915517913679533358077663112595110503770717349747715156251395874279213174630336839207023933630569122705055512154242887085925088948390552779769026460141973799008850824255386338613460294669538964304839631130165272769438352249695598430566751641009959660033832237787662393156202025136762000868998210526903294818008705442904426580058278221753302009161121291077461603548301924263256934971336116433165342816895780653230957409846628790926746890899200929320714110580749991151555484124203088489312284308239 984041226770632943432900784279732352989633302722507476504041762384788713516544381652342156652938100286895644544303735267486280997752534556439375817299657505280002369493558291387145432151243753439967922101728650697616396340645303270078601833814674788125643388807461487988356217923795871306829989743501707138616479398146226542613308100530455258480570373655618173933693611833345121536005131021248211295837777622113441521035634270087070870321218116053949536361320843630842756851698096766584588587747685310631140024427739904039509165039762697817585031593414991427848926109155266535854547732707853714033845725880074017069093187726873068111852755333565472083551203258280065689228911582377584473811605363364731754844478298608901004322486490305810947746191924497537070052818856531797185164782491018633795786359786982078998379999252562214190168113588934132659926400099061317237633289191699221042044533796443260581816645461061288814377656427813059631171174303207194684757907408144416088101861606676961043548150851434784822523763948054249009558282077292292345644147219438786689303389809817326254290374154128960594662882225063235677669507196264928749177581002428515908572243554276733221302537470892763230335166582481906666764963267511798789758640615818475415261929355454370607003634880166694190716379093199809674262664691137145132581304193135774147606009400933638449913844904892798186497396070578076473301138116965698687526585595794355758870558693888387076327168325352006605016042149766983699563102252138272523543819787519478230431710012441167711104774442972644209853591483067691100451048278979252909137267100669624131107383347876724138085130271191370557764373464436074637438124490009819004571999127205874016687163746078591415018890244791467960039374120794528824748588902837090491389614860896685527840520638376385336719222376945957749290122022608163066902193652142360568615898841754338140144093431454117018557318013186503954783217429471653271627462841768917865828302193463917617938236517577900708606571253812110506249966186751996196185416131534822600527602725776352005263934844222993613886401572620852917857743913882967853517578322486041378641081504768772302529065994298145584374989927411269571335442791509911588432358508571892645823063929292296986999625072145862647278543875902565271712200828803885866780210947671784674380421097066066635978771131200315172912262382790962744646772922286358477369859272434632450129127504121642000959543474008918095036669283381968571194001999376134380264711564363941878058645349167955484890756334660126618869344732527377313463771086082 1592212151246027029123134067846153598495607189964645523902357224634185739650907158016683807244706468747810520698456643405393962104502565713117820858027733968248346344457853068374316724809825984217913930814207469259309230697974335429593136045224125200795252387728180156710234725363781013383349414768333992177855611343654303923674818903450626756487779169495040637618358250739475054538409686901328524525382516571935421426956173539310612223921959347877893189526696267608689808841451211661456344225843226382508522346448648642254817628996479640818213505850376446629206999374771453132691861107872573777059729203779186651522508584355730361640321328101836252976834783329923384467760649327902813886650367945664689431442354519623989851056385474143381207875157815570650675279039508237931827685807800011774384410628725456013838534339819490611643553008361867504769089168760684975640499081135457131006573477749734172642784527597446137515783313631830442133283590748700531122660187659751438294539794967791185171925495018484362968692581845958261315704714316288479742401517532758637921502688590570299840350240381345637740813382776508723524923826685847277114697692729240022987286787472738147257962181525198686748130652609451469043841932338445663794970169492302739577418773732196055635867831471126440607701154395346635717377517886803801806343987298589900984159597423842573388802798703070196685876436299379962797042626655585838648535454303040834095650186243105103373457441678927971161349725769597742771817471022388047042783616273136782658499406126002406131456835940446349400121225490789737319431250191238858141246635385461869014883407614873158153970867584239591157393863471619844214616094538715781216920892694829201430064272223565994294456918012195134914157616609691343219850506455539835236642388838703762036107750951450545647845172191164715939493598942887859356392286901765327138103889240029191466438169911694024834591088488872333151477728602718574279387532147507648124148212969918893695409184678319168505148246435446107742780757304090517349323194648640080525672278085765798580815850362136673147244479235733448028361514631232715568673829718360320591815711841607979326462696563420850639887144170298355496424391182062691357458818650545691654673888184678635600459919741684826952118175006067838041150553078499484297346962588681744334414253334853729029134973156337077173781260593317866039464781627729262903949917550656385752138288625412719462563091775933181351971640619498401736536818895156787611222121410992732804805536248368884805604866915410117770424828856730465802776055394321 2576253378016659972556034852125885951485240492687153000406398987018974453167451539669025963897644569034706165242760378672880243102255100269557196675327391473528348713951411359761462156961069737657881852915936119956925627038619638699671737879038799988920895776535641644698590943287576884690179404511835699316472090741800530466288127003981082014968349543150658811552051862572820176074414817922576735821220294194048862947991807809397683094243177463931842725888017111239532565693149308428040932813590911693139662370876388546294326794036242338635798537443791438057055925483926719668546408840580427491093574929659260668591601772082603429752174083435401725060385986588203450156989560910280398360461973309029421186286832818232890855378871964449192155621349740068187745331858364769729012850590291030408180196988512438092836914339072052825833721121950801637429015568859746292878132370327156352048618011546177433224601173058507426330160970059643501764454765051907725807418095067895854382641656574468146215473645869919147791216345794012510325262996393580772088045664752197424610806078400387626094640614535474598335476265001571959202593333882112205863875273731668538895859031027014880479264718996091449978465819191933375710606895605957462584728810108121214992680703087650426242871466351293134798417533488546445391640182577940946938925291491725675131765606824776211838716643607962994872373832369958039270343764772551537336062039898835189854520744936993490449784610004279977766365767919364726471380573274526319566327436060656260888931116138443573842561610383418993609974816973857428419882298470218111050383902486131493145990790962749882292055997855430961715158236936055918852054219028725600221492891822035075446751435969644585709475808256986602874196990730485872044599095358376925728032003699600447563948271589826930984564394568110673688783720965496022423294480553907687706719788081783529606582263343148141853148406502058837106260946032190227551014994989276565989976515163382811313347421195897069213754817689258218249030723490842513545508610780174903126199880811542150586079785206359666761130880808354300946219258545115683422191408040846361970456793346376751628991762557718996224262134097709625067759833973572602945891177159117584300496952113970932587459544813830689599396718881970403312862753907303370164127173536353529008794674431919795665113744287537392346693522976108828784111554550015621381319776823091018202267416129534361463522635249942099447008309902880370307730820894532921991486832975356674682864181597536840290495623250070244389294173589257843116239826480403 4168465529262687001679168919972039549980847682651798524308756211653160192818358697685709771142351037782516685941217022078274205206757665982675017533355125441776695058409264428135778881770895721875795783730143589216234857736593974129264873924262925189716148164263821801408825668651357898073528819280169691494327702085454834389962945907431708771456128712645699449170410113312295230612824504823905260346602810765984284374947981348708295318165136811809735915414713378848222374534600520089497277039434138075648184717325037188549144423032721979454012043294167884686262924858698172801238269948453001268153304133438447320114110356438333791392495411537237978037220769918126834624750210238183212247112341254694110617729187337856880706435257438592573363496507555638838420610897873007660840536398091042182564607617237894106675448678891543437477274130312669142198104737620431268518631451462613483055191489295911605867385700655953563845944283691473943897738355800608256930078282727647292677181451542259331387399140888403510759908927639970771640967710709869251830447182284956062532308766990957925934990854916820236076289647778080682727517160567959482978572966460908561883145818499753027737226900521290136726596471801384844754448827944403126379698979600423954570099476819846481878739297822419575406118687883893081109017700464744748745269278790315576115925204248618785227519442311033191558250268669338002067386391428137375984597494201876023950170931180098593823242051683207948927715493688962469243198044296914366609111052333793043547430522264445979974018446323865343010096042464647165739313548661456969191630537871593362160874198577623040446026865439670552872552100407675763066670313567441381438413784516864276876815708193210580003932726269181737788354607340177215264449601813916760964674392538304209600056022541277476632409566759275389628277319908383881779686767455673014844823677321812721073020433254842166687739494990931170257738674634908801830402527136784214114124728133301705008756605874216237718903064124704325991811480794933030894831805428814983651872158897307949166895635568496339908375360044087748974580773176348398990865237759206682562272505187984730955454459121139846864149278268007980564184225155635294303349995809663275955170840298649568187919464555515516551514893888038241354013306985802854461474136125035273343208927766773524694248717443874469520474783569426694823576336177744884285269694373747403954405704754947080926085727025875280798979950522378772044267639789689709602708954386349407487669717845905725096100490165480362159719002445988308919015881874724 6744718907279346974235203772097925501466088175338951524715155198672134645985810237354735735039995606817222851183977400751154448309012766252232214208682516915305043772360675787897241038731965459533677636646079709173160484775213612828936611803301725178637043940799463446107416611938934782763708223792005390810799792827255364856251072911412790786424478255796358260722461975885115406687239322746481996167823104960033147322939789158105978412408314275741578641302730490087754940227749828517538209853025049768787847088201425734843471217068964318089810580737959322743318850342624892469784678789033428759246879063097707988705712128520937221144669494972639703097606756506330284781739771148463610607574314563723531804016020156089771561814129403041765519117857295707026165942756237777389853386988382072590744804605750332199512363017963596263310995252263470779627120306480177561396763821789769835103809500842089039091986873714460990176105253751117445662193120852515982737496377795543147059823108116727477602872786758322658551125273433983281966230707103450023918492847037153487143114845391345552029631469452294834411765912779652641930110494450071688842448240192577100779004849526767908216491619517381586705062290993318220465055723550360588964427789708545169562780179907496908121610764173712710204536221372439526500657883042685695684194570282041251247690811073394997066236085918996186430624101039296041337730156200688913320659534100711213804691676117092084273026661687487926694081261608327195714578617571440686175438488394449304436361638402889553816580056707284336620070859438504594159195847131675080242014440357724855306864989540372922738082863295101514587710337343731681918724532596166981659906676338899352323567144162855165713408534526168340662551598070663087309048697172293686692706396237904657164004294131104407616973961327386063317061040873879904202981248009580702551543465403596250679602696597990308540887901492990007363999620667099029381417522126060780104101243296684516322104027070113306932657881813962544240842204285775544440340416208989886778072039708850099752975420774856006669506240852442049920800031721464082413056645800053044532729298534361482584446221678858843088411412365717605631944059129207897249241172968780860255667792412620500775379009369346206150911612770008644666876060893106224625601309661388802352003602198693320359362461731411861867168306545535523607687890727760505666589471196838422156673120884481442389608362275817380245988260425259142351998460684222631594195787361706082170533899443442565386596113415550606549013176035246152035255708355127 10913184436542033975914372692069965051446935857990750049023911410325294838804168935040445506182346644599739537125194422829428653515770432234907231742037642357081738830769940216033019920502861181409473420376223298389395342511807586958201485727564650368353192105063285247516242280590292680837237043072175082305127494912710199246214018818844499557880606968442057709892872089197410637300063827570387256514425915726017431697887770506814273730573451087551314556717443868935977314762350348607035486892459187844436031805526462923392615640101686297543822624032127207429581775201323065271022948737486430027400183196536155308819822484959271012537164906509877681134827526424457119406489981386646822854686655818417642421745207493946652268249386841634338882614364851345864586553654110785050693923386473114773309412222988226306187811696855139700788269382576139921825225044100608829915395273252383318159000990138000644959372574370414554022049537442591389559931476653124239667574660523190439737004559658986808990271927646726169311034201073954053607198417813319275748940029322109549675423612382303477964622324369115070488055560557733324657627655018031171821021206653485662662150668026520935953718520038671723431658762794703065219504551494763715344126769308969124132879656727343390000350061996132285610654909256332607609675583507430444429463849072356827363616015322013782293755528230029377988874369708634043405116547628826289305257028302587237754862607297190678096268713370695875621796755297289664957776661868355052784549540728242347983792160667335533790598503031149679630166901903151759898509395793132049433644978229318217467739188117995963184109728734772067460262437751407444985394846163608363098320460855763629200382852356065745717341260795350078450906205410840302573498298986210447657380788776208866764060316672381884249383528086661452945338360782263785982668015465253717396367142725408971752623129852832475228627396483921177621738295302007831211820049262844994218225971429986221330860632944329544651560945938666870232653685080708575335172221637804870429944198606158048919871056343352346577881600896529798895380804897812481403921883559259727095001803722346213539900680799998689952560690633725586196128284284843191552591168778444136210838632711270068963298473924861722702426506658046886020889367878909079087075445786424075695212529965466845053611179175286331387643090114962218431264226905505389951859165570585826111078825639428523315694089301692661044968210947637914396266100473912341196904741748055489658203617289348290482696603581030968708732178481234460954271590229851 17657903343821380950149576464167890552913024033329701573739066608997429484789979172395181241222342251416962388309171823580583101824783198487139445950720159272386782603130616003930260959234826640943151057022303007562555827287021199787138097530866375546990236045862748693623658892529227463600945266864180473115927287739965564102465091730257290344305085224238415970615334065082526043987303150316869252682249020686050579020827559664920252142981765363292893198020174359023732254990100177124573696745484237613223878893727888658236086857170650615633633204770086530172900625543947957740807627526519858786647062259633863297525534613480208233681834401482517384232434282930787404188229752535110433462260970382141174225761227650036423830063516244676104401732222147052890752496410348562440547310374855187364054216828738558505700174714818735964099264634839610701452345350580786391312159095042153153262810490980089684051359448084875544198154791193708835222124597505640222405071038318733586796827667775714286593144714405048827862159474507937335573429124916769299667432876359263036818538457773649029994253793821409904899821473337385966587738149468102860663469446846062763441155517553288844170210139556053310136721053788021285684560275045124304308554559017514293695659836634840298121960826169844995815191130628772134110333466550116140113658419354398078611306826395408779359991614149025564419498470747930084742846703829515202625916562403298451559554283414282762369295375058183802315878016905616860672355279439795738959988029122691652420153799070225087607178559738434016250237761341656354057705242924807129675659418587043072774604177658368885922192592029873582047972775095139126904119378759775344758227137194662981523949996518920911430749795321518419113457803481503389882546996158504134350087185014113523928064610803486291866357489414047516262399401656143690185649263474834419947910608129005222432225826450822783769515297976911184985737915969106860593237571388905774322327214726670737652964660014442851584218827752629414473495889366484119775512637846794757208016238315008148672846477118208353247387841748971848816180836619276563816978529359312771627731102256707696124346902478857533040972102999443191828072343414051088801832341747224996466506425123890569738677483294207928853338119428055530687765428772015303712676755447812878047216132164160165412973640906698193254811396660497742038952117633265895618448636767424248267751946523909965705302451577510041290956471372897056748264561158134972791100529109761571828737516732790855869292716996581575257745354516480612989527298584978 28571087780363414926063949156237855604359959891320451622762978019322724323594148107435626747404688896016701925434366246410011755340553630722046677692757801629468521433900556219963280879737687822352624477398526305951951169798828786745339583258431025915343428150926033941139901173119520144438182309936355555421054782652675763348679110549101789902185692192680473680508206154279936681287366977887256509196674936412068010718715330171734525873555216450844207754737618227959709569752450525731609183637943425457659910699254351581628702497272336913177455828802213737602482400745271023011830576264006288814047245456170018606345357098439479246218999307992395065367261809355244523594719733921757256316947626200558816647506435143983076098312903086310443284346586998398755339050064459347491241233761328302137363629051726784811887986411673875664887534017415750623277570394681395221227554368294536471421811481118090329010732022455290098220204328636300224782056074158764462072645698841924026533832227434701095583416642051774997173193675581891389180627542730088575416372905681372586493962070155952507958876118190524975387877033895119291245365804486134032484490653499548426103306185579809780123928659594725033568379816582724350904064826539888019652681328326483417828539493362183688122310888165977281425846039885104741720009050057546584543122268426754905974922841717422561653747142379054942408372840456564128147963251458341491931173590705885689314416890711473440465564088428879677937674772202906525630131941308150791744537569850934000403945959737560621397777062769583695880404663244808113956214638717939179109304396816361290242343365776364849106302320764645649508235212846546571889514224923383707856547598050426610724332848874986657148091056116868497564364008892343692456045295144714582007467973790322390692124927475868176115741017500708969207737762438407476168317278940088137344277750854414194184848956303655258998142694460832362607476211271114691805057620651750768540553186156656958983825292958772396235779773691296284706149574447192695110684859484599627637960436921166197592717533461560699825269442645501647711561641517089045220900412918572498722732905979053909664247583278856222993532793633168778024200627698894280354423510525669132677345057835160638701975957219069651555764626086102416708654796650924382799752201234236953742428662129627010466584820081984524642454486775459960470216344538771285570307802338010074378830772163338489020996540879202702335924682320534971144530661632047313988005270857817061486941134022139146351989320577612543966477532997715073943798888814829 46228991124184795876213525620405746157272983924650153196502044628320153808384127279830807988627031147433664313743538069990594857165336829209186123643477960901855304037031172223893541838972514463295775534420829313514506997085849986532477680789297401462333664196788782634763560065648747608039127576800536028536982070392641327451144202279359080246490777416918889651123540219362462725274670128204125761878923957098118589739542889836654778016536981814137100952757792586983441824742550702856182880383427663070883789592982240239864789354442987528811089033572300267775383026289218980752638203790526147600694307715803881903870891711919687479900833709474912449599696092286031927782949486456867689779208596582699990873267662794019499928376419330986547686078809145451646091546474807909931788544136183489501417845880465343317588161126492611628986798652255361324729915745262181612539713463336689624684621972098180013062091470540165642418359119830009060004180671664404684477716737160657613330659895210415382176561356456823825035353150089828724754056667646857875083805782040635623312500527929601537953129912011934880287698507232505257833103953954236893147960100345611189544461703133098624294138799150778343705100870370745636588625101585012323961235887343997711524199329997023986244271714335822277241037170513876875830342516607662724656780687781152984586229668112831341013738756528080506827871311204494212890809955287856694557090153109184140873971174125756202834859463487063480253552789108523386302487220747946530704525598973625652824099758807785709004955622508017712130642424586464468013919881642746308784963815403404363016947543434733735028494912794519231556207987941685698793633603683159052614774735245089592248282845393907568578840851438386916677821812373847082338592291303218716357555158804435914620189538279354467982098506914756485470137164094551166353966542414922557292188358983419416617074782754478042767657992437743547593214127240221552398295192040656542862880400883327696636789952973215247819998601443925699179645463813676814886197497331394384845976675236174346265564010579769053072657284394473496527742478136365609037878942277885270350464008235761605788594485757713756034504896632611969852272971112945369156255852272894129143851482959051208440653440513277580409102745514157947396420225422939686512428956682049831789644794293787175879558460988682717897265883435957702509168462172037181188756439105434322646582718687248454726298992456712743626881153693432027892795222790182286779105799967578633315678650754930002221282037574194119224222887514195686933326187399807 74800078904548210802277474776643601761632943815970604819265022647642878131978275387266434736031720043450366239177904316400606612505890459931232801336235762531323825470931728443856822718710202285648400011819355619466458166884678773277817264047728427377677092347714816575903461238768267752477309886736891583958036853045317090799823312828460870148676469609599363331631746373642399406562037106091382271075598893510186600458258220008389303890092198264981308707495410814943151394495001228587792064021371088528543700292236591821493491851715324441988544862374514005377865427034490003764468780054532436414741553171973900510216248810359166726119833017467307514966957901641276451377669220378624946096156222783258807520774097938002576026689322417296990970425396143850401430596539267257423029777897511791638781474932192128129476147538166487293874332669671111948007486139943576833767267831631226096106433453216270342072823492995455740638563448466309284786236745823169146550362436002581639864492122645116477759977998508598822208546825671720113934684210376946450500178687722008209806462598085554045912006030202459855675575541127624549078469758440370925632450753845159615647767888712908404418067458745503377273480686953469987492689928124900343613917215670481129352738823359207674366582602501799558666883210398981617550351566665209309199902956207907890561152509830253902667485898907135449236244151661058341038773206746198186488263743815069830188388064837229643300423551915943158191227561311429911932619162056097322449063168824559653228045718545346330402732685277601408011047087831272581970134520360685487894268212219765653259290909211098584134797233559164881064443200788232270683147828606542760471322333295516202972615694268894225726931907555255414242185821266190774794637586447933298365023132594758305312314465755222644097839524415465454677874926532958642522283821355010694636466109837833610801923739058133301765800686898575910200690338511336244203352812692407311403433587039984655620615245931987644055778375135221983885795038260869509996882356815994012483937112157340543858281544041329752897926727039975144239304119653454654258779355196457769073196914214815515452842069036569979028037690265780747876473598811839649510679362798563261821196540794211847142629397732347231964867371600260364105075022073864069312181157916286785532073456423414186346143281070667242539720370211417662979384806710808466759064241443444397025413490850586943747295533335915445962805836013966999037325884422229600767111070825395694802619784777069148573271358151806663190700420511910760877125076214636 121029070028733006678491000397049347918905927740620758015767067275963031940362402667097242724658751190884030552921442386391201469671227289140418924979713723433179129507962900667750364557682716748944175546240184932980965163970528759810294944837025828840010756544503599210667021304417015360516437463537427612495018923437958418250967515107819950395167247026518252982755286593004862131836707234295508032954522850608305190197801109845044081906629180079118409660253203401926593219237551931443974944404798751599427489885218832061358281206158311970799633895946814273153248453323708984517106983845058584015435860887777782414087140522278854206020666726942219964566653993927308379160618706835492635875364819365958798394041760732022075955065741748283538656504205289302047522143014075167354818322033695281140199320812657471447064308664659098922861131321926473272737401885205758446306981294967915720791055425314450355134914963535621383056922568296318344790417417487573831028079173163239253195152017855531859936539354965422647243899975761548838688740878023804325583984469762643833118963126015155583865135942214394735963274048360129806911573712394607818780410854190770805192229591846007028712206257896281720978581557324215624081315029709912667575153103014478840876938153356231660610854316837621835907920380912858493380694083272872033856683643989060875147382177943085243681224655435215956064115462865552553929583162034054881045353896924253971062359238962985846135283015403006638444780350419953298235106382804043853153588767798185306052145477353132039407688307785619120141689512417737049984054402003431796679232027623170016276238452645832319163292146353684112620651188729917969476781432289701813086097068540605795220898539662801794305772758993642330920007633640037857133229877751152014722578291399194219932504004034577112079938031330221940148012090627509808876250363769933251928654468821253027418998521812611344533458679336319457793904465751557796601648004733063854266313987923312352257405198905202891875776976579147683065440502074546324883079854147388397329913787393514890123845554621098805970584011434448640767046597789820263296658297474343039423660922450577121241436554794283735062542586898392717728746569924785018666935215071457390965048023753263055583282838245624812373970117114418311501495247496803755824610114598336617321718250717201362225701742059349960436986253647375365488553268882845647947820680548878719671996209537835398473594525792628189589686989707399026930121107212411887546216870792974328118298435531999150794553395726000782414923308026106447810451263614443 195829148933281217480768475173692949680538871556591362835032089923605910072340678054363677460690471234334396792099346702791808082177117749071651726315949485964502954978894629111607187276392919034592575558059540552447423330855207533088112208884754256217687848892218415786570482543185283112993747350274319196453055776483275509050790827936280820543843716636117616314387032966647261538398744340386890304030121744118491790656059329853433385796721378344099718367748614216869744613732553160031767008426169840127971190177455423882851773057873636412788178758321328278531113880358198988281575763899591020430177414059751682924303389332638020932140499744409527479533611895568584830538287927214117581971521042149217605914815858670024651981755064165580529626929601433152448952739553342424777848099931207072778980795744849599576540456202825586216735463991597585220744888025149335280074249126599141816897488878530720697207738456531077123695486016762627629576654163310742977578441609165820893059644140500648337696517353474021469452446801433268952623425088400750776084163157484652042925425724100709629777141972416854591638849589487754355990043470834978744412861608035930420839997480558915433130273716641785098252062244277685611574004957834813011189070318684959970229676976715439334977436919339421394574803591311840110931045649938081343056586600196968765708534687773339146348710554342351405300359614526610894968356368780253067533617640739323801250747303800215489435706567318949796636007911731383210167725544860141175602651936622744959280191195898478369810420993063220528152736600249009631954188922364117284573500239842935669535529361856930903298089379912848993685094389518150240159929260896244573557419401836121998193514233931696020032704666548897745162193454906228631927867464199085313087601423993952525244818469789799756177777555745687394825887017160468451398534185124943946565120578659086638220922260870744646299259366234895367994594804262894040805000817425471165669747574963297007878020444837190535931555351714369666951235540335415834879962210963382409813850899550855433982127098662428558868510738474423785006350717443274917555437652670800808496857836665392636694278623830853714090580277164173465605220168736624668177614577870020652786244564547474902725912235977972044338837488714678675606570269570667825136791272514623402853791707140615548571845023130017202976706623858793028467938075593654114706884921992323116697409700388422342220890059128543635552492825721366025967446991634641488313327941618370022920918220309068299367824753877807445605623728538017208687576339829079 316858218962014224159259475570742297599444799297212120850799157199568942012703080721460920185349222425218427345020789089183009551848345038212070651295663209397682084486857529779357551834075635783536751104299725485428388494825736292898407153721780085057698605436722014997237503847602298473510184813811746808948074699921233927301758343044100770939010963662635869297142319559652123670235451574682398336984644594726796980853860439698477467703350558423218128028001817618796337832970105091475741952830968591727398680062674255944210054264031948383587812654268142551684362333681907972798682747744649604445613274947529465338390529854916875138161166471351747444100265889495893209698906634049610217846885861515176404308857619402046727936820805913864068283433806722454496474882567417592132666421964902353919180116557507071023604764867484685139596595313524058493482289910355093726381230421567057537688544303845171052342653420066698506752408585058945974367071580798316808606520782329060146254796158356180197633056708439444116696346777194817791312165966424555101668147627247295876044388850115865213642277914631249327602123637847884162901617183229586563193272462226701226032227072404922461842479974538066819230643801601901235655319987544725678764223421699438811106615130071670995588291236177043230482723972224698604311739733210953376913270244186029640855916865716424390029935209777567361364475077392163448897939530814307948578971537663577772313106542763201335570989582721956435080788262151336508402831927664185028756240704420930265332336673251610409218109300848839648294426112666746681938243324367549081252732267466105685811767814502763222461381526266533106305745578248068209636710693185946386643516470376727793414412773594497814338477425542540076082201088546266489061097341950237327810179715393146745177322473824376868257715587075909334973899107787978260274784548894877198493775047480339665639920782683355990832718045571214825788499270014451837406648822158535019936061562886609360135425643742393427807332328293517350016676042409962159763042065110770807143764686944370324105972653283527364839094749908872425773397315233095180852095950145143847920518759115969757935715178625137449153122864062566183333966738661409686844549792941478043751292588300737958309195074223596856712807605829096987108065517067471580961401387112960020175509957857816910797546765189367163413692877506168393956491344476499762654705602541201836369405909926257740694484584921171825142179815428765052897568098847053375859544812411344351039216655841067450162378149603808228020547036564123656498027603443522 512687367895295441640027950744435247279983670853803483685831247123174852085043758775824597646039693659552824137120135791974817634025462787283722377611612695362185039465752158890964739110468554818129326662359266037875811825680943825986519362606534341275386454328940430783807986390787581586503932164086066005401130476404509436352549170980381591482854680298753485611529352526299385208634195915069288641014766338845288771509919769551910853500071936767317846395750431835666082446702658251507508961257138431855369870240129679827061827321905584796375991412589470830215476214040106961080258511644240624875790689007281148262693919187554896070301666215761274923633877785064478040237194561263727799818406903664394010223673478072071379918575870079444597910363408155606945427622120760016910514521896109426698160912302356670600145221070310271356332059305121643714227177935504429006455479548166199354586033182375891749550391876597775630447894601821573603943725744109059786184962391494881039314440298856828535329574061913465586148793578628086743935591054825305877752310784731947918969814574216574843419419887048103919240973227335638518891660654064565307606134070262631646872224552963837894972753691179851917482706045879586847229324945379538689953293740384398781336292106787110330565728155516464625057527563536538715242785383149034719969856844382998406564451553489763536378645764119918766664834691918774343866295899594561016112589178402901573563853846563416825006696150040906231716796173882719718570557472524326204358892641043675224612527869150088779028530293912060176447162712915756313892432246731666365826232507309041355347297176359694125759470906179382099990839967766218449796639954082190960200935872212849791607927007526193834371182092091437821244394543452495120988964806149322640897781139387099270422140943614176624435493142821596729799786124948446711673318734019821145058895626139426303860843043554100637131977411806110193783094074277345878211649639584006185605809137849906368013446088579583963738887680007887016967911582745377994643004276074153216957615586495225758088099751945955923707605488383296210779748032676370098407533602815944656417376595781362394629993802455991163243703141226739648939186907398034355022164370811498696537537152848212861035107310201568901051645094543775662714635786638139406098192659627583423029301664998432459369391788319384366390399501364961422424429420070153877361590524533524953066815610314680082915374644049715460694672641150131078865015090481694864172872754029714373960134876150135749530202903481615673626170765102140865185603943272601 829545586857309665799287426315177544879428470151015604536630404322743794097746839497285517831388916084771251482140924881157827185873807825495793028907275904759867123952609688670322290944544190601666077766658991523304200320506680118884926516328314426333085059765662445781045490238389880060014116977897812814349205176325743363654307514024482362421865643961389354908671672085951508878869647489751686977999410933572085752363780209250388321203422495190535974423752249454462420279672763342983250914088107023582768550302803935771271881585937533179963804066857613381899838547722014933878941259388890229321403963954810613601084449042471771208462832687113022367734143674560371249936101195313338017665292765179570414532531097474118107855396675993308666193797214878061441902504688177609043180943861011780617341028859863741623749985937794956495928654618645702207709467845859522732836709969733256892274577486221062801893045296664474137200303186880519578310797324907376594791483173823941185569236457213008732962630770352909702845140355822904535247757021249860979420458411979243795014203424332440057061697801679353246843096865183522681793277837294151870799406532489332872904451625368760356815233665717918736713349847481488082884644932924264368717517162083837592442907236858781326154019391693507855540251535761237319554525116359988096883127088569028047420368419206187926408580973897486128029309769310937792764235430408868964691560716066479345876960389326618160577685732762862666797584436034056226973389400188511233115133345464605489944864542401699188246639594760899824741588825582502995830675571099215447078964774775147041159064990862457348220852432445915206296585546014286659433350647268137346844452342589577585022339781120691648709659517633977897326595631998761610050062148099559968707960854780246015599463417438553492693208729897506064773685232736424971948103282914698343552670673619765969500763826237456627964695457377325019571593344291797715618298461742541205541870700736515728148871732321977391546220008301404366984587625155340154406046341184924024101380273439596082194072405229483288546700238292168636553145347909465279259629552961088504337895354897332152565708981081128612396826005289305832273153646059444041866714163752976740288829741148950819344302384425165757764452700372872649822701303705610987059594046740543443204811622856249370166938553508751529804092378871129816380920764546653640016296127074726789436221520240937823609859228970887285836852456578896131762583189328748240032417566441058724999351531991203199692581053085423901646717801666264521683631546716123 1342232954752605107439315377059612792159412141004819088222461651445918646182790598273110115477428609744324075619261060673132644819899270612779515406518888600122052163418361847561287030055012745419795404429018257561180012146187623944871445878934848767608471514094602876564853476629177461646518049141983878819750335652730252800006856685004863953904720324260142840520201024612250894087503843404820975619014177272417374523873699978802299174703494431957853820819502681290128502726375421594490759875345245455438138420542933615598333708907843117976339795479447084212115314761762121894959199771033130854197194652962091761863778368230026667278764498902874297291368021459624849290173295756577065817483699668843964424756204575546189487773972546072753264104160623033668387330126808937625953695465757121207315501941162220412223895207008105227852260713923767345921936645781363951739292189517899456246860610668596954551443437173262249767648197788702093182254523069016436380976445565318822224883676756069837268292204832266375288993933934450991279183348076075166857172769196711191713984017998549014900481117688727457166084070092519161200684938491358717178405540602751964519776676178332598251787987356897770654196055893361074930113969878303803058670810902468236373779199343645891656719747547209972480597779099297776034797310499509022816852983932952026453984819972695951462787226738017404894694144461229712136630531330003429980804149894469380919440814235890034985584381882803768898514380609916775945543946872712837437474025986508280714557392411551787967275169888672960001188751538498259309723107817830881812905197282084188396506362167222151473980323338625297306287425513780505109229990601350328307045388214802427376630266788646885483080841609725415718570990175451256731039026954248882609605741994167345286021604361052730117128701872719102794573471357684871683621422016934519488611566299759192273361606869791557265096672869183435213354687418569143593829948101326547391147679838586422096162317820901561355285107688309291383952499207900718149049050617259077241058995859934821840282172157175439212254305726675464847332893380585835377667163155777033160755271950678694547195702783537119775640529146516045481212340553457478396888878534564475436826366893997163680379409694626734658816097794916648312537337090343750393157786706368126866234113287854681829536330341828135896194491880236091238805350184616807517377886651608251742503037130555617906525233873020602746531525097729027210627598279810443104205290320470773098959486408141338949222783956567039575272888566768405386869235489988724 2171778541609914773238602803374790337038840611155834692759092055768662440280537437770395633308817525829095327101401985554290472005773078438275308435426164504881919287370971536231609320999556936021461482195677249084484212466694304063756372395263163193941556573860265322345898966867567341706532166119881691634099540829055996163661164199029346316326585968221532195428872696698202402966373490894572662597013588205989460276237480188052687495906916927148389795243254930744590923006048184937474010789433352479020906970845737551369605590493780651156303599546304697594015153309484136828838141030422021083518598616916902375464862817272498438487227331589987319659102165134185220540109396951890403835148992434023534839288735673020307595629369222066061930297957837911729829232631497115234996876409618132987932842970022084153847645192945900184348189368542413048129646113627223474472128899487632713139135188154818017353336482469926723904848500975582612760565320393923812975767928739142763410452913213282846001254835602619284991839074290273895814431105097325027836593227608690435508998221422881454957542815490406810412927166957702683882478216328652869049204947135241297392681127803701358608603221022615689390909405740842563012998614811228067427388328064552073966222106580504672982873766938903480336138030635059013354351835615869010913736111021521054501405188391902139389195807711914891022723454230540649929394766760412298945495710610535860265317774625216653146162067615566631565311965045950832172517336272901348670589159331972886204502256953953487155521809483433859825930340364080762305553783388930097259984162056859335437665427158084608822201175771071212512584011059794791768663341248618465653889840557392004961652606569767577131790501127359393615897585807450018341089089102348442578313702848947591301621067778491283609821910602616608859347156590421296655569525299849217832164236973378958242862370696029013893061368326560760232926280762860941309448246563069088596689550539322937824311189553223538746831327696610695750937086833056058303455096958444001265160376133374417922476244562404922500801005964967633483886038728495300656926792708738121665093167305576026699761411764618248388037355151805351313485494199516922438755592698317452177115196635146114499723712079051900416580550495289520962360038394049361380217380753108670309438924910710931199703268895336887425998584259107221055186270949163461157394182778682978531939258650796555730135093101991490032368377554307923342390181469139191344237707886911831823958837940132542148915365009652463476919606368434669908552867036704847 3514011496362519880677918180434403129198252752160653780981553707214581086463328036043505748786246135573419402720663046227423116825672349051054823841945053105003971450789333383792896351054569681441256886624695506645664224612881928008627818274198011961550028087954868198910752443496744803353050215261865570453849876481786248963668020884034210270231306292481675035949073721310453297053877334299393638216027765478406834800111180166854986670610411359106243616062757612034719425732423606531964770664778597934459045391388671166967939299401623769132643395025751781806130468071246258723797340801455151937715793269878994137328641185502525105765991830492861616950470186593810069830282692708467469652632692102867499264044940248566497083403341768138815194402118460945398216562758306052860950571875375254195248344911184304566071540399954005412200450082466180394051582759408587426211421089005532169385995798823414971904779919643188973672496698764284705942819843462940249356744374304461585635336589969352683269547040434885660280833008224724887093614453173400194693765996805401627222982239421430469858023933179134267579011237050221845083163154820011586227610487737993261912457803982033956860391208379513460045105461634203637943112584689531870486059138967020310340001305924150564639593514486113452816735809734356789389149146115378033730589094954473080955390008364598090851983034449932295917417598691770362066025298090415728926299860505005241184758588861106688131746449498370400463826345655867608118061283145614186108063185318481166919059649365505275122796979372106819827119091902579021615276891206760979072889359338943523834171789325306760296181499109696509818871436573575296877893331849968793960935228772194432338282873358414462614871342737084809334468575982901275072128116056597325187919444843114936587642672139544013726950612475335711653920627948106168339190947316783737320775803273138150516223977565820571158158041195744195446280968181430084903278194664395635987837230377909359920473507374125100102116435384919987134889586040956776452504147575703078506219371993309239762758416719580361713055311691643098331218932109081136034593955864515154825848439256254721246957114548155368163677884298321396794697834752974400835644471232881927613941563529143278180103121773678635075396648290206169274897375484393111773375167459476797175673038198565613029239599237165023322193076139343312293991621133780268674772069430291230274442295781352173636660326975012092778899902652036950553017779748949634448442998207382604922918324348273881098138148966219503052192494935203075295422102526693571 5685790037972434653916520983809193466237093363316488473740645762983243526743865473813901382095063661402514729822065031781713588831445427489330132277371217609885890738160304920024505672054126617462718368820372755730148437079576232072384190669461175155491584661815133521256651410364312145059582381381747262087949417310842245127329185083063556586557892260703207231377946418008655700020250825193966300813041353684396295076348660354907674166517328286254633411306012542779310348738471791469438781454211950413479952362234408718337544889895404420288946994572056479400145621380730395552635481831877173021234391886795896512793504002775023544253219162082848936609572351727995290370392089660357873487781684536891034103333675921586804679032710990204877124700076298857128045795389803168095947448284993387183181187881206388719919185592899905596548639451008593442181228873035810900683549988493164882525130986978232989258116402113115697577345199739867318703385163856864062332512303043604349045789503182635529270801876037504945272672082514998782908045558270725222530359224414092062731980460844311924815566748669541077991938404007924528965641371148664455276815434873234559305138931785735315468994429402129149436014867375046200956111199500759937913447467031572384306223412504655237622467281425016933152873840369415802743500981731247044644325205975994135456795196756500230241178842161847186940141052922311011995420064850828027871795571115541101450076363486323341277908517113937032029138310701818440290578619418515534778652344650454053123561906319458762278318788855540679653049432266659783920830674595691076332873521395802859271837216483391369118382674880767722331455447633370088646556673098587259614825069329586437299935479928182039746661843864444202950366161790351293413217205158945767766233147692062527889263739918035297336772523077952320513267784538527464994760472616632955152940040246517108759086348261849585051219409522304955679207248944291026212726441227464724584526780917232297744784696927348638848947763081530682885826672874012834755959244534147079771379748126683657685234661281985284213856317656610731815104970837576436691520748573253276490941606561830747946718526312773616551715239450126748108183328952491323274400063931199379791056760164289392679826833852730535491977198785495690237257413878442473153592548212585467485111963109276544228942868132501910748191660398450533349177892082943729832166252208974208806381554432148729366795420077003582811268280206344873895407961218088825792680706094294436746877162288406423247053513975871966529112101303637745203974969563398418 9199801534334954534594439164243596595435346115477142254722199470197824613207193509857407130881309796975934132542728078009136705657117776540384956119316270714889862188949638303817402023108696298903975255445068262375812661692458160081012008943659187117041612749770001720167403853861056948412632596643612832541799293792628494090997205967097766856789198553184882267327020139319108997074128159493359939029069119162803129876459840521762660837127739645360877027368770154814029774470895398001403552118990548347938997753623079885305484189297028189421590389597808261206276089451976654276432822633332324958950185156674890650122145188277548650019210992575710553560042538321805360200674782368825343140414376639758533367378616170153301762436052758343692319102194759802526262358148109220956898020160368641378429532792390693285990725992853911008749089533474773836232811632444398326894971077498697051911126785801647961162896321756304671249841898504152024646205007319804311689256677348065934681126093151988212540348916472390605553505090739723670001660011444125417224125221219493689954962700265742394673590681848675345570949641058146374048804525968676041504425922611227821217596735767769272329385637781642609481120329009249838899223784190291808399506605998592694646224718428805802262060795911130385969609650103772592132650127846625078374914300930467216412185205121098321093161876611779482857558651614081374061445362941243756798095431620546342634834952347430029409654966612307432492964656357686048408639902564129720886715529968935220042621555684964037401115768227647499480168524169238805536107565802452055405762880734746383106009005808698129414564173990464232150326884206945385524450004948556053575760298101780869638218353286596502361533186601529012284834737773252568485345321215543092954152592535177464476906412057579311063723135553288032167188412486633633333951419933416692473715843519655259275310325827670156209377450718049151125488217125721111116004635891860360572364011295141657665258204301473738951064198466450670020716258914969611208463392109850158277599120119992897447993078001565645926911629348253830146323902946657572726114704437768431316790045818085469193675640860928984715393123748448144902881163705465724110044535164081307404998323693432670859929955626409170567373847075701859512154789362835584926967715672062264660785001307842157258182467369666934070384736537793845643169513216723998506938321639265439080823850213500903003455747052015675590168182858381824448425740967038460241123704301677041669795486636680304345191662942091469581304596238840820499397072090091989 14885591572307389188510960148052790061672439478793630728462845233181068139951058983671308512976373458378448862364793109790850294488563204029715088396687488324775752927109943223841907695162822916366693624265441018105961098772034392153396199613120362272533197411585135241424055264225369093472214978025360094629748711103470739218326391050161323443347090813888089498704966557327764697094378984687326239842110472847199424952808500876670335003645067931615510438674782697593340123209367189470842333573202498761418950115857488603643029079192432609710537384169864740606421710832707049829068304465209497980184577043470787162915649191052572194272430154658559490169614890049800650571066872029183216628196061176649567470712292091740106441468763748548569443802271058659654308153537912389052845468445362028561610720673597082005909911585753816605297728984483367278414040505480209227578521065991861934436257772779880950421012723869420368827187098244019343349590171176668374021768980391670283726915596334623741811150792509895550826177173254722452909705569714850639754484445633585752686943161110054319489157430518216423562888045066070903014445897117340496781241357484462380522735667553504587798380067183771758917135196384296039855334983691051746312954073030165078952448130933461039884528077336147319122483490473188394876151109577872123019239506906461351868980401877598551334340718773626669797699704536392386056865427792071784669891002736087444084911315833753370687563483726244464522102967059504488699218521982645255665367874619389273166183462004422799679434557083188179133217956435898589456938240398143131738636402130549242377846222292089498532946848871231954481782331840315474171006678047143313190585367431367306938153833214778542108195030465973215235200899563603861898562526374488860720385740227239992366170151975614608400495658631240352680456197025161098328711892550049647626655883766172368034396674089519741260596860240354106804695466070012137328731077119325085156890792212373955410042901228822377800011961547981352906542931788982445964422636643997238048978868246676555133227739283550930140767947004864561961428873784234009417635453011021707807731652379916217140394167173702601267108363198574893011064492657957047384444599095280687196055083857722063539756789479139706059351045861197549749412203241278058080560263884647732145896964417118701487125335502168844818576396936244378992347405299667728339104573848239647887205404645649632370251167129019258401436463064726698343833702185127286033804410395971478416672648925086727592245176917963436110416697542478565703372041653490407 24085393106642343723105399312296386657107785594270772983185044703378892753158252493528715643857683255354382994907521187799987000145680980570100044516003759039665615116059581527659309718271519215270668879710509280481773760464492552234408208556779549389574810161355136961591459118086426041884847574668972927171548004896099233309323597017259090300136289367072971766031986696646873694168507144180686178871179592010002554829268341398432995840772807576976387466043552852407369897680262587472245885692193047109357947869480568488948513268489460799132127773767673001812697800284683704105501127098541822939134762200145677813037794379330120844291641147234270043729657428371606010771741654398008559768610437816408100838090908261893408203904816506892261762904465818462180570511686021610009743488605730669940040253465987775291900637578607727614046818517958141114646852137924607554473492143490558986347384558581528911583909045625725040077028996748171367995795178496472685711025657739736218408041689486611954351499708982286156379682263994446122911365581158976056978609666853079442641905861375796714162748112366891769133837686124217277063250423086016538285667280095690201740332403321273860127765704965414368398255525393545878754558767881343554712460679028757773598672849362266842146588873247277705092093140576960987008801237424497201394153807836928568281165606998696872427502595385406152655258356150473760118310790733315541467986434356633786719746268181183400097218450338551897015067623417190537107858424546774976552083404588324493208805017689386837080550325310835678613386480605137394993045806200595187144399282865295625483855228100787627947511022861696186632109216047260859695456682995699366766345665533148176576372186501375044469728217067502227520035637336856430383907847590031953674538332762417456843076564033193919464218794184528384847644609511794731662663312483466340100371727285827627309706999917189897469974310958403257930183683195733248444735713011185445729254803507515613075301105530296116751076160014432022927259190703952057172886028753847396326577988366669452581220817285116576067679576353118392107752776730891582143750157448790139124521698198001686334069808034631585982501486947023037913945656363422771494489134259361994601053407551154734399686745105548876626724892936899409261566992604113643007527979556709996806681965724960858745307802871835778888961133474038224635516918516391726846042895487505086968029254859150535373706914181034933991604645923108522792259443152165746274928114697648520086468135561767031937436839860054905691721293781319386202769113743582396 38970984678949732911616359460349176718780225073064403711647889936559960893109311477200024156834056713732831857272314297590837294634244184599815132912691247364441368043169524751501217413434342131637362503975950298587734859236526944387804408169899911662108007572940272203015514382311795135357062552694333021801296715999569972527649988067420413743483380180961061264736953253974638391262886128868012418713290064857201979782076842275103330844417875508591897904718335550000710020889629776943088219265395545870776897985338057092591542347681893408842665157937537742419119511117390753934569431563751320919319339243616464975953443570382693038564071301892829533899272318421406661342808526427191776396806498993057668308803200353633514645373580255440831206706736877121834878665223933999062588957051092698501650974139584857297810549164361544219344547502441508393060892643404816782052013209482420920783642331361409862004921769495145408904216094992190711345385349673141059732794638131406502134957285821235696162650501492181707205859437249168575821071150873826696733094112486665195328849022485851033651905542885108192696725731190288180077696320203357035066908637580152582263068070874778447926145772149186127315390721777841918609893751572395301025414752058922852551120980295727882031116950583425024214576631050149381884952347002369324413393314743389920150146008876295423761843314159032822452958060686866146175176218525387326137877437092721230804657584014936770784781934064796361537170590476695025807076946529420232217451279207713766374988479693809636759984882394023857746604437041035984449984046598738318883035684995844867861701450392877126480457871732928141113891547887576333866463361042842679956931032964515483514526019716153586577923247533475442755236536900460292282470373964520814394924072989657449209246716008808527864714452815768737528100806536955829991375205033515987727027611051999995344103674006709638730571171198757364734879149265745385773466790130510530886145595719889568485344006759118494551088121562413375833802122492934503137308665397844634375556856613346007714448556568667506208447523357982954069181650515125591561385610459811846932253350577917903474463975208334187249609850145597930925010149021379818878933733354642681797108491408876797939443534584688582686075938798096959010979195845391701088088243441357728952578930142079560232433138374004623707537530410282603627864323816059455185147469335744734855234659504800167743958081310054192393041108987835221136093145337293032308732525093619998503140784486853759529682016778018341802137991323797951906141155397072803 63056377785592076634721758772645563375888010667335176694832934639938853646267563970728739800691739969087214852179835485390824294779925165169915177428695006404106983159229106279160527131705861346908031383686459579069508619701019496622212616726679461051682817734295409164606973500398221177241910127363305948972844720895669205836973585084679504043619669548034033030768939950621512085431393273048698597584469656867204534611345183673536326685190683085568285370761888402408079918569892364415334104957588592980134845854818625581540055616171354207974792931705210744231817311402074458040070558662293143858454101443762142788991237949712813882855712449127099577628929746793012672114550180825200336165416936809465769146894108615526922849278396762333092969611202695584015449176909955609072332445656823368441691227605572632589711186742969271833391366020399649507707744781329424336525505352972979907131026889942938773588830815120870448981245091740362079341180528169613745443820295871142720542998975307847650514150210474467863585541701243614698732436732032802753711703779339744637970754883861647747814653655251999961830563417314505457140946743289373573352575917675842784003400474196052308053911477114600495713646247171387797364452519453738855737875431087680626149793829657994724177705823830702729306669771627110368893753584426866525807547122580318488431311615874992296189345909544438975108216416837339906293487009258702867605863871449355017524403852196120170882000384403348258552238213893885562914935371076195208769534683796038259583793497383196473840535207704859536359990917646173379443029852799333506027434967861140493345556678493664754427968894594624327746000763934837193561920044038542046723276698497663660090898206217528631047651464600977670275272174237316722666378221554552768069462405752074906052323280042002447328933247000297122375745416048750561654038517516982327827399338337827622653810673923899536200545482157160622665062832461478634218202503141695976615400399227405181560645112289414611302164281576845398761061313196886560310194694151692030702134844980015460295669373853784082276127099711101346176934427246017173705135767908601986056775048775919589808533783242965773232111337092620968838955805384802590373422867614004676398161898960031532339130279690237459312800831734996368272546188449505344095616222998067725759260895867040418977740941245840402596498663884320828263381242332451182031190364823249821823263914363950703117664995491089126384645754910943743928352588489458778583660639791268518589608920048620791467118856638073247493859285105117338108910269140655199 102027362464541809546338118232994740094668235740399580406480824576498814539376875447928763957525796682820046709452149782981661589414169349769730310341386253768548351202398631030661744545140203478545393887662409877657243478937546441010017024896579372713790825307235681367622487882710016312598972680057638970774141436895239178364623573152099917787103049728995094295505893204596150476694279401916711016297759721724406514393422025948639657529608558594160183275480223952408789939459522141358422324222984138850911743840156682674131597963853247616817458089642748486650936822519465211974639990226044464777773440687378607764944681520095506921419783751019929111528202065214419333457358707252392112562223435802523437455697308969160437494651977017773924176317939572705850327842133889608134921402707916066943342201745157489887521735907330816052735913522841157900768637424734241118577518562455400827914669221304348635593752584616015857885461186732552790686565877842754805176614934002549222677956261129083346676800711966649570791401138492783274553507882906629450444797891826409833299603906347498781466559198137108154527289148504793637218643063492730608419484555255995366266468545070830755980057249263786623029036968949229715974346271026134156763290183146603478700914809953722606208822774414127753521246402677259750778705931429235850220940437323708408581457624751287719951189223703471797561174477524206052468663227784090193743741308542076248329061436211056941666782318468144620089408804370580588722012317605615440986985963003752025958781977077006110600520090098883394106595354687209363893013899398071824910470652856985361207258128886541880908426766327552468859892311822413527428383405081384726680207731462179143605424225933682217625574712134453113030508711137777014948848595519073582464386478741732355261569996050810975193647699816065859903846222585706391645413722550498315554426949389827617997914347930609174931116653355917987399941981727224019991669293272206507501545994947294750045989119048533105853252403139258774594863435689821063447503359549536665077691701593361468010117930422451588484574623069084300246116077761142765266521378368413832989028399353837493282997758451299960481721187238218899763965954406182409252356600968647358195270390368908330278573814274926041998876770533093327283525384294897045183704466439425454711839826009119979210174079619845026304036194294603431891245566148510637216337834158994556678498573868750870861623076801143318777686863898778965064445733826751810892393164884888517092749704535474550996800873416091589295997276428915290015051424537728002 165083740250133886181059877005640303470556246407734757101313759216437668185644439418657503758217536651907261561631985268372485884194094514939645487770081260172655334361627737309822271676846064825453425271348869456726752098638565937632229641623258833765473643041531090532229461383108237489840882807420944919746986157790908384201597158236779421830722719277029127326274833155217662562125672674965409613882229378591611049004767209622175984214799241679728468646242112354816869858029414505773756429180572731831046589694975308255671653580024601824792251021347959230882754133921539670014710548888337608636227542131140750553935919469808320804275496200147028689157131812007432005571908888077592448727640372611989206602591417584687360343930373780107017145929142268289865777019043845217207253848364739435385033429350730122477232922650300087886127279543240807408476382206063665455103023915428380735045696111247287409182583399736886306866706278472914870027746406012368550620435229873691943220955236436930997190950922441117434376942839736397973285944614939432204156501671166154471270358790209146529281212853389108116357852565819299094359589806782104181772060472931838150269869019266883064033968726378387118742683216120617513338798790479873012501165614234284104850708639611717330386528598244830482827916174304370119672459515856102376028487559904026897012769240626280016140535133247910772669390894361545958762150237042793061349605179991431265853465288407177112548782702871492878641647018264466151636947688681810649756520646799790285542575474460202584441055297803742930466586272333382743336043752197405330937905620718125854552814807380206635336395660922176796605893075757250720990303449119926773403484429959842803696322432151210848673226176735430783305780885375093737615226817073626350533848884493807261313893276092813422522580946816362982279591638634456953299452240067480643381826287727655240651725021854508711131662135513078610065004814188702654209871796413902484116946394174699931606634231337947717155416684716104173355924748886707623757698053701228695779826546573376928305787304276235670760701722780185646423050505007159938971657146277015819045803448129757083091531541694265733713832524330839868602921759790984999625779468582652034593432289328939862617704093965163501311677602268089695556071572744402389279320689437493180471100721876160398187915020865685428900534858178924260154626808480961819247528198982244378501762488232701573979288072292232445162332618809722708992798322316210589476053804676157035682358624584095342463919730054164836789856561534032628123961693678383201 267111102714675695727397995238635043565224482148134337507794583792936482725021314866586267715743333334727308271084135051354147473608263864709375798111467513941203685564026368340484016221986268303998819159011279334383995577576112378642246666519838206479264468348766771899851949265818253802439855487478583890521127594686147562566220731388879339617825769006024221621780726359813813038819952076882120630179989100316017563398189235570815641744407800273888651921722336307225659797488936647132178753403556870681958333535131990929803251543877849441609709110990707717533690956441004881989350539114382073414000982818519358318880600989903827725695279951166957800685333877221851339029267595329984561289863808414512644058288726553847797838582350797880941322247081840995716104861177734825342175251072655502328375631095887612364754658557630903938863193066081965309245019630797906573680542477883781562960365332551636044776335984352902164752167465205467660714312283855123355797050163876241165898911497566014343867751634407767005168343978229181247839452497846061654601299562992564304569962696556645310747772051526216270885141714324092731578232870274834790191545028187833516536337564337713820014025975642173741771720185069847229313145061506007169264455797380887583551623449565439936595351372658958236349162576981629870451165447285338226249427997227735305594226865377567736091724356951382570230565371885752011230813464826883255093346488533507514182526724618234054215565021339637498731055822635046740358960006287426090743506609803542311501357451537208695041575387902626324573181627020592107229057651595477155848376273575111215760072936266748516244822427249729265465785387579664248418686854201311500083692161422021947301746658084893066298800888869883896336289596512870752564075412592699932998235363235539616575463272143624397716228646632428842183437861220163344944865962617978958936253237117482858649639369785117886062778788868996597464946795915926674201541089686108991618492389121994681652623350386480823008669087855362947950788184576528687205201413250765360857518248166738396315905234698687259245276345849269946669166582768302704238178524645429652034831847483594576374529300145565694195553711569058768366887714197167408878136069551299392788702679697848192896277908240089543310554372801183022839596957039299434463025155876918635182940547885280377398089100485530455204571052473527692045872374629472456463866033141238935180261062101452444840911149093375763940019482708501674057244056142962400368446969561045552775108329119569893460720603470256426085853837962947918139013118216111203 432194842964809581908457872244275347035780728555869094609108343009374150910665754285243771473960869986634569832716120319726633357802358379649021285881548774113859019925654105650306287898832333129452244430360148791110747676214678316274476308143097040244738111390297862432081410648926491292280738294899528810268113752477055946767817889625658761448548488283053348948055559515031475600945624751847530244062218478907628612402956445192991625959207041953617120567964448662042529655518351152905935182584129602513004923230107299185474905123902451266401960132338666948416445090362544552004061088002719682050228524949660108872816520459712148529970776151313986489842465689229283344601176483407577010017504181026501850660880144138535158182512724577987958468176224109285581881880221580042549429099437394937713409060446617734841987581207930991824990472609322772717721401836861572028783566393312162298006061443798923453958919384089788471618873743678382530742058689867491906417485393749933109119866734002945341058702556848884439545286817965579221125397112785493858757801234158718775840321486765791840028984904915324387242994280143391825937822677056938971963605501119671666806206583604596884047994702020560860514403401190464742651943851985880181765621411615171688402332089177157266981879970903788719177078751285999990123624963141440602277915557131762202606996106003847752232259490199293342899956266247297969992963701869676316442951668524938780035992013025411166764347724211130377372702840899512891995907694969236740500027256603332597043932925997411279482630685706369255039767899353974850565101403792882486786281894293237070312887743646955151581218088171906062071678463336914969408990303321238273487176591381864750998069090236103914972027065605314679642070481887964490179302229666326283532084247729346877889356548236437820238809593448791824463029499854620298244318202685459602318079524845138099301364391639626597194440924382075207529951610104629328411412886100011475735438783296694613259257581724428540164085772571467121306712933463236310962899466951994056637344794740115324621692538974922930005978068629455593092217087775462643209835670922445471080635295613351659466060841839831427909386235899898636969809473988152408503915538133951427382134969026788055513982002205253044622231975069272718395668529783701823742345845314411815654041269761440775586004121351215884105105910652451952200499183110434275711394232123483313682023550334154018820199221385608209102352101518224383050042378459172989844500774237202588457466953703665235924640333524421262875710399496980546262974811894494404 699305945679485277635855867482910390601005210704003432116902926802310633635687069151830039189704203321361878103800255371080780831410622244358397083993016288055062705489680473990790304120818601433451063589371428125494743253790790694916722974662935246724002579739064634331933359914744745094720593782378112700789241347163203509334038621014538101066374257289077570569836285874845288639765576828729650874242207579223646175801145680763807267703614842227505772489686784969268189453007287800038113935987686473194963256765239290115278156667780300708011669243329374665950136046803549433993411627117101755464229507768179467191697121449615976255666056102480944290527799566451134683630444078737561571307367989441014494719168870692382956021095075375868899790423305950281297986741399314867891604350510050440041784691542505347206742239765561895763853665675404738026966421467659478602464108871195943860966426776350559498735255368442690636371041208883850191456370973722615262214535557626174275018778231568959684926454191256651444713630796194760468964849610631555513359100797151283080410284183322437150776756956441540658128135994467484557516055547331773762155150529307505183342544147942310704062020677662734602286123586260311971965088913491887351030077208996059271953955538742597203577231343562746955526241328267629860574790410426778828527343554359497508201222971381415488323983847150675913130521638133049981223777166696559571536298157058446294218518737643645220979912745550767876103758663534559632354867701256662831243533866406874908545290377534619974524206073608995579612949526374566957794159055388359642634658167868348286072960679913703667826040515421635327537463850916579217827677157522549773570868752803886698299815748320996981270827954475198575978360078400835242743377642259026216530319610964886494464819820380062217955038240081220666646467361074783643189184165303438561254332761962620957951003761424744483257219713251071804994898406020556002612953975786120467353931172418689294911880932110909363172754860426830069257501118039764998168100880202759417494863042906853720937597773673610189251254414478725539761383670543765347448014195567875123115467143096946235840590141985397122104939947468957405336697188185319817382051607685250820170837648724636248410259910445342587932786347870455741235265486823001258205371001191330450836981817646721152984093221836746339309676963125979644246371557739906732175260265264722248862284612435606463661110370478983973042371584226726057107286434602135390212947743798248141232575282823235129385360936994677688961564237459928464401987930110605607 1131500788644294859544313739727185737636785939259872526726011269811684784546352823437073810663665073307996447936516375690807414189212980624007418369874565062168921725415334579641096592019650934562903308019731576916605490930005469011191199282806032286968740691129362496764014770563671236387001332077277641511057355099640259456101856510640196862514922745572130919517891845389876764240711201580577181118304426058131274788204102125956798893662821884181122893057651233631310719108525638952944049118571816075707968179995346589300753061791682751974413629375668041614366581137166093985997472715119821437514458032717839576064513641909328124785636832253794930780370265255680418028231620562145138581324872170467516345380049014830918114203607799953856858258599530059566879868621620894910441033449947445377755193751989123082048729820973492887588844138284727510744687823304521050631247675264508106158972488220149482952694174752532479107989914952562232722198429663590107168632020951376107384138644965571905025985156748105535884258917614160339690090246723417049372116902031310001856250605670088228990805741861356865045371130274610876383453878224388712734118756030427176850148750731546907588110015379683295462800526987450776714617032765477767532795698620611230960356287627919754470559111314466535674703320079553629850698415373568219430805259111491259710808219077385263240556243337349969256030477904380347951216740868566235887979249825583385074254510750669056387744260469761898253476461504434072524350775396225899571743561123010207505589223303532031254006836759315364834652717425728541808359260459181242129420940062161585356385848423560658819407258603593541389609142314253494187236667460843788047058045344185751449297884838557100896242855020080513255620430560288799732922679871925352500062403858694233372354176368616500038193847833530012491109496860929403941433502367988898163572412286807759057252368153064371080451660637633147012524850016125185331024366861886131943089369955715383908171138513835337903336840632998297190564214051503001309131000347154753474132207837646969045559290312648533119257232483108181132853600758319227990657849866490320594196102438710297895306650983825228550014326183368856042306506662173472225885967145819202247552972617751424303924241912650595632555018322939728459630934016606703081947716846505742266491023087408161928570097343187962223414782873778431596446870740850341007886654497388205562544308162769760482481309591864592182144723685744950440157328813061308380057448518035450729690042236526900365310001270519098951837274636956909010664962742005100011 1830806734323780137180169607210096128237791149963875958842914196613995418182039892588903849853369276629358326040316631061888195020623602868365815453867581350223984430905015053631886896140469535996354371609103005042100234183796259706107922257468967533692743270868427131095948130478415981481721925859655754211846596446803462965435895131654734963581297002861208490087728131264722052880476778409306831992546633637354920964005247806720606161366436726408628665547338018600578908561532926752982163054559502548902931436760585879416031218459463052682425298618997416280316717183969643419990884342236923192978687540486019043256210763358944101041302888356275875070898064822131552711862064640882700152632240159908530840099217885523301070224702875329725758049022836009848177855363020209778332637800457495817796978443531628429255472060739054783352697803960132248771654244772180529233711784135704050019938914996500042451429430120975169744360956161446082913654800637312722430846556509002281659157423197140864710911610939362187328972548410355100159055096334048604885476002828461284936660889853410666141582498817798405703499266269078360940969933771720486496273906559734682033491294879489218292172036057346030065086650573711088686582121678969654883825775829607290232310243166662351674136342658029282630229561407821259711273205783994998259332602665850757219009442048766678728880227184500645169160999542513397932440518035262795459515547982641831368473029488312701608724173215312666129580220167968632156705643097482562402987094989417082414134513681066651228531042832924360414265666952103108766153419514569601772055598230029933642458809103474362487233299119015176717146606165170073405064344618366337820628914096989638147597700586878097877513682974555711831598790638689634975666057514184378716592723469659119866818996188996562256148886073611233157755964222004187584622686533292336724826745048770380015203371914489115563708880350884218817519748422145741333637320837672252410443301128134073203083019445946247266509595493425127259821715169542766307299101227357512891627070880553822766496888086322143308508486897586906672614984428862993338105864062058195717311569581807244131147241125810625672119266130837813447643203850358792043268018753504453067723810266476060552334501823095938220487804670810184200866199503429704340153087847697072717328004905054883081554190565024708562724459836904411240693242298590247740061914762652927811406592775205366946142419962343576155187095269971676497264615247663443770270396261833698870922617519350135494695362207513776640798838874416837475066950672115705618 2962307522968074996724483346937281865874577089223748485568925466425680202728392716025977660517034349937354773976833006752695609209836583492373233823742146412392906156320349633272983488160120470559257679628834581958705725113801728717299121540274999820661483961997789627859962901042087217868723257936933395722903951546443722421537751642294931826096219748433339409605619976654598817121187979989884013110851059695486195752209349932677405055029258610589751558604989252231889627670058565705926212173131318624610899616755932468716784280251145804656838927994665457894683298321135737405988357057356744630493145573203858619320724405268272225826939720610070805851268330077811970740093685203027838733957112330376047185479266900354219184428310675283582616307622366069415057723984641104688773671250404941195552172195520751511304201881712547670941541942244859759516342068076701579864959459400212156178911403216649525404123604873507648852350871114008315635853230300902829599478577460378389043296068162712769736896767687467723213231466024515439849145343057465654257592904859771286792911495523498895132388240679155270748870396543689237324423811996109199230392662590161858883640045611036125880282051437029325527887177561161865401199154444447422416621474450218521192666530794582106144695453972495818304932881487374889561971621157563217690137861777342016929817661126151941969436470521850614425191477446893745883657258903829031347494797808225216442727540238981757996468433685074564383056681672402704681056418493708461974730656112427289919723736984598682482537879592239725248918384377831650574512679973750843901476538292191518998844657527035021306640557722608718106755748479423567592301012079210125867686959441175389596895585425435198773756537994636225087219221198978434708588737386109731216655127328353353239173172557613062294342733907141245648865461082933591526056188901281234888399157335578139072455740067553486644160540988517365830044598438270926664661687699558384353532671083849457111254157959781585169846436126423424450385929221045767616430101574512266365759278718200791812056178398970676427765719380695087805468585187182221328763713928548516311507672020517542026453892109635854222133592314206669489949710512532264269153985899323655315276782884227484856258743735746533853042822993749912660497133520036407422100804694202814983819027992463045010124287908212670786139242710682842837140113039440588747948569260041133373950900937975127428623729554208168337331818955716626937421944060724752150327844779869149600612659755877035860005363478032875592636113511373746485731913414120805629 4793114257291855133904652954147377994112368239187624444411839663039675620910432608614881510370403626566713100017149637814583804230460186360739049277609727762616890587225364686904870384300590006555612051237937587000805959297597988423407043797743967354354227232866216758955911031520503199350445183796589149934750547993247185386973646773949666789677516751294547899693348107919320870001664758399190845103397693332841116716214597739398011216395695336998380224152327270832468536231591492458908375227690821173513831053516518348132815498710608857339264226613662874175000015505105380825979241399593667823471833113689877662576935168627216326868242608966346680922166394899943523451955749843910538886589352490284578025578484785877520254653013550613308374356645202079263235579347661314467106309050862437013349150639052379940559673942451602454294239746204992008287996312848882109098671243535916206198850318213149567855553034994482818596711827275454398549508030938215552030325133969380670702453491359853634447808378626829910542204014434870540008200439391514259143068907688232571729572385376909561273970739496953676452369662812767598265393745767829685726666569149896540917131340490525344172454087494375355592973828134872954087781276123417077300447250279825811424976773961244457818831796630525100935162442895196149273244826941558215949470464443192774148827103174918620698316697706351259594352476989407143816097776939091826807010345790867047811200569727294459605192606900387230512636901840371336837762061591191024377717751101844372333858250665665333711068922425164085663184051329934759340666099488320445673532136522221452641303466630509383793873856841623894823902354644593640997365356697576463688315873538165027744493286012313296651270220969191936918818011837668069684254794900294109933247850798012473105992168746609624550491619980752478806621425304937779110678875434573571613225902384348519087659111982042602207869421339401584647564346860416667998299008537230636763975972211983530314337177405727832436356031619848551710207644390588533923729202801869779257386349598754614578553066485292819736274206278281994478083569616045214666869577990606712028819241602324786157601133235446479894252858445044482937592914362891056312422004652828108383000593150703545408593245558842472073530627664560096861363333023466111762253892541899887701147032897517928091678478473237379348863702547587254077833355338030836488010484022694061185357493713180494374766149516551744492518914225688303434686559308388195920598241041702848471535277275227171354700725685546652233434952385790583960798864086236511247 7755421780259930130629136301084659859986945328411372929980765129465355823638825324640859170887437976504067873993982644567279413440296769853112283101351874175009796743545714320177853872460710477114869730866772168959511684411399717140706165338018967175015711194864006386815873932562590417219168441733522545657654499539690907808511398416244598615773736499727887309298968084573919687122852738389074858214248753028327312468423947672075416271424953947588131782757316523064358163901650058164834587400822139798124730670272450816849599778961754661996103154608328332069683313826241118231967598456950412453964978686893736281897659573895488552695182329576417486773434724977755494192049435046938377620546464820660625211057751686231739439081324225896890990664267568148678293303332302419155879980301267378208901322834573131451863875824164150125235781688449851767804338380925583688963630702936128362377761721429799093259676639867990467449062698389462714185361261239118381629803711429759059745749559522566404184705146314297633755435480459385979857345782448979913400661812548003858522483880900408456406358980176108947201240059356456835589817557763938884957059231740058399800771386101561470052736138931404681120861005696034819488980430567864499717068724730044332617643304755826563963527250603020919240095324382571038835216448099121433639608326220534791078644764301070562667753168228201874019543954436300889699755035842920858154505143599092264253928109966276217601661040585461794895693583512774041518818480084899486352448407214271662253581987650264016193606802017403810912102435707766409915178779462071289575008674814412971640148124157544405100514414564232612930658103124017208589666368776786589556002832979340417341388871437748495425026758963828162006037233036646504392843532286403841149902978126365826345165341304222686844834353887893724455486886387871370636735064335854806501625059719926658160114852049596088852029962327918950477608945298687594662960696236789021117508643295832987425591335365509417606202467746271976160593573611634301540159304376382045623145628316955406390609244884263496164039925658977082283552154803227435995633291919155228340326913622842328184055025345082334116386450759251152427542624875423320581575990552151763698277376034931030264851989294589005926573450658310009521860466543502519184354697236102702684966060889980973101802766381450050135002945258270096914973468377471425235959053282735194559308394651155621803389879070759912829850733181404930372108503369112948070926085821571998072147937031104207214706089163579527826071065897164330446530777500357316876 12548536037551785264533789255232037854099313567598997374392604792505031444549257933255740681257841603070780974011132282381863217670756956213851332378961601937626687330771079007082724256761300483670481782104709755960317643708997705564113209135762934529369938427730223145771784964083093616569613625530111695592405047532938093195485045190194265405451253251022435208992316192493240557124517496788265703317646446361168429184638545411473427487820649284586512006909643793896826700133241550623742962628512960971638561723788969164982415277672363519335367381221991206244683329331346499057946839856544080277436811800583613944474594742522704879563424938542764167695601119877699017644005184890848916507135817310945203236636236472109259693734337776510199365020912770227941528882679963733622986289352129815222250473473625511392423549766615752579530021434654843776092334693774465798062301946472044568576612039642948661115229674862473286045774525664917112734869292177333933660128845399139730448203050882420038632513524941127544297639494894256519865546221840494172543730720236236430252056266277318017680329719673062623653609722169224433855211303531768570683725800889954940717902726592086814225190226425780036713834833830907773576761706691281577017515975009870144042620078717071021782359047233546020175257767277767188108461275040679649589078790663727565227471867475989183366069865934553133613896431425708033515852812782012684961515489389959312065128679693570677206853647485849025408330485353145378356580541676090510730166158316116034587440238315929349904675724442567896575286487037701169255844878950391735248540811336634424281451590788053788894388271405856507754560457768610849587031725474363053244318706517505445085882157450061792076296979933020098924855244874314574077098327186697951083150828924378299451157510050832311395325973868646203262108311692809149747413939770428378114850962104275177247773964031638691059899383667320535125173292159104262661259704774019657881484615507816517739928512771237250042558499366120527870801218002222835463888507178251824880531977915710020969162311369556315900314131937259076761635724419272650662502869909761940369146155225167114341656158580528814010639309204295635365135539238314376893997995204979872081277969185634575673445234853431478000104078322870106383223799566968630946608589778002590386113093787498901193481244854687429483866647805857350992806823715502261723969537305429255744665888364336116178156028587311657322369647407093233806795062677501143991524326863274846543683214306331378569406814849126180059506018282954914407329641586593828123 20303957817811715395162925556316697714086258896010370304373369921970387268188083257896599852145279579574848848005114926949142631111053726066963615480313476112636484074316793327260578129222010960785351512971481924919829328120397422704819374473781901704385649622594229532587658896645684033788782067263634241250059547072629001003996443606438864021224989750750322518291284277067160244247370235177340561531895199389495741653062493083548843759245603232174643789666960316961184864034891608788577550029335100769763292394061419981832015056634118181331470535830319538314366643157587617289914438313494492731401790487477350226372254316418193432258607268119181654469035844855454511836054619937787294127682282131605828447693988158340999132815662002407090355685180338376619822186012266152778866269653397193431151796308198642844287425590779902704765803123104695543896673074700049487025932649408172930954373761072747754374906314730463753494837224054379826920230553416452315289932556828898790193952610404986442817218671255425178053074975353642499722892004289474085944392532784240288774540147177726474086688699849171570854849781525681269445028861295707455640785032630013340518674112693648284277926365357184717834695839526942593065742137259146076734584699739914476660263383472897585745886297836566939415353091660338226943677723139801083228687116884262356306116631777059746033823034162755007633440385862008923215607848624933543116020632989051576319056789659846894808514688071310820304024068865919419875399021760989997082614565530387696841022225966193366098282526459971707487388922745467579171023658412463024823549486151047395921599714945598193994902685970089120685218560892628058176698094251149642800321539496845862427271028887810287501323738896848260930892477910961078469941859473101792233053807050744125796322851355054998240160327756539927717595198080680520384149004106283184616476021824201835407888816081234779911929345995239485602782237457791857324220401010808678998993258803649505165519848136746667648760967112392504031394791613857137004047811554633870503677606232665427359771556253819812064354057596236159045187879222500086658136161828917168709473068848009442525711183925611148127025759963546787792678164113737697475573985757131635779555345220565605938297224148020483926677528981180115905084266110471150130963287014105293071079154677479874295284011236137479618869593064127447907780292092973686959928590588164450303974283015491737981545907658071570152220380588498164178903566046614092062450412684846844615831151337435585784112904012705707885577084180119244853860419086951144999 32852493855363500659696714811548735568185572463609367678765974714475418712737341191152340533403121182645629822016247209331005848781810682280814947859275078050263171405087872334343302385983311444455833295076191680880146971829395128268932583609544836233755588050324452678359443860728777650358395692793745936842464594605567094199481488796633129426676243001772757727283600469560400801371887731965606264849541645750664170837701038495022271247066252516761155796576604110858011564168133159412320512657848061741401854117850389146814430334306481700666837917052310744559049972488934116347861278170038573008838602288060964170846849058940898311822032206661945822164636964733153529480059804828636210634818099442551031684330224630450258826549999778917289720706093108604561351068692229886401852559005527008653402269781824154236710975357395655284295824557759539319989007768474515285088234595880217499530985800715696415490135989592937039540611749719296939655099845593786248950061402228038520642155661287406481449732196196552722350714470247899019588438226129968258488123253020476719026596413455044491767018419522234194508459503694905703300240164827476026324510833519968281236576839285735098503116591782964754548530673357850366642503843950427653752100674749784620702883462189968607528245345070112959590610858938105415052138998180480732817765907547989921533588499253048929399892900097308141247336817287716956731460661406946228077536122379010888384185469353417572015368335557159845712354554219064798231979563437080507812780723846503731428462464282122716002958250902539604062675409783168748426868537362854760072090297487681820203051305733651982889290957375945628439779018661238907763729819725512696044640246014351307513153186337872079577620718829868359855747722785275652547040186659799743316204635975122425247480361405887309635486301625186130979703509773489670131562943876711562731326983928477012655662780112873470971828729662560020727955529616896119985480105784828336880477874311466022905448360907983917691319466478513031902196009616079972467936318732885695384209584148375448328933867623376127964668189533495235806823603641772737320639031738679109078619224073176556867367342506139962137665069167842423157813703352052074369571980962111507860833314406200181611742459001451961926781607304050222288308065677439781077571876792107883457192248464978775488765256090824909102736240869984798900587115808475948683898127893593706048640171379827854159701936245383227474590027995591397985698628724115236053974739548121691159514365643766964353519718861831887945083102463074159261190060673544973122 53156451673175216054859640367865433282271831359619737983139344636445805980925424449048940385548400762220478670021362136280148479892864408347778563339588554162899655479404665661603880515205322405241184808047673605799976299949792550973751958083326737938141237672918682210947102757374461684147177760057380178092524141678196095203477932403071993447901232752523080245574884746627561045619257967142946826381436845140159912490763531578571115006311855748935799586243564427819196428203024768200898062687183162511165146511911809128646445390940599881998308452882630282873416615646521733637775716483533065740240392775538314397219103375359091744080639474781127476633672809588608041316114424766423504762500381574156860132024212788791257959365661781324380076391273446981181173254704496039180718828658924202084554066090022797080998400948175557989061627680864234863885680843174564772114167245288390430485359561788444169865042304323400793035448973773676766575330399010238564239993959056937310836108271692392924266950867451977900403789445601541519311330230419442344432515785804717007801136560632770965853707119371405765363309285220586972745269026123183481965295866149981621755250951979383382781042957140149472383226512884792959708245981209573730486685374489699097363146845662866193274131642906679899005963950598443641995816721320281816046453024432252277839705131030108675433715934260063148880777203149725879947068510031879771193556755368062464703242259013264466823883023628470666016378623084984218107378585198070504895395289376891428269484690248316082101240777362511311550064332528636327597892195775317784895639783638729216124651020679250176884193643346034749124997579553866965940427913976662338844961785511197169940424215225682367078944457726716620786640200696236731016982046132901535549258443025866551043803212760942307875646629381726058697298707854170190515711947982994747347803005752678848063551596194108250883758075657799506330737767074687977309700506795637015879471133115115528070968209044730585340080433590905535933590801229937109471984130287519565887887190381040875688705423877195940029022247129731394852011482864272823978775193567596277788092292921185999393078526431751110264690829131389210950491867465789771845145966719243143640388659626765787550039683149472445853459136285230338193392331787910931208535163806213176528271403142458649784049267326962388721605833934112246808367407901449635643826718481758156352614454395319592141247843903454797626810408584089562164602194770729328116425152232968535775345516981202550137632622874537595830660186643193404115050479760496118121 86008945528538716714556355179414168850457403823229105661905319350921224693662765640201280918951521944866108492037609345611154328674675090628593511198863632213162826884492537995947182901188633849697018103123865286680123271779187679242684541692871574171896825723243134889306546618103239334505573452851126114934988736283763189402959421199705122874577475754295837972858485216187961846991145699108553091230978490890824083328464570073593386253378108265696955382820168538677207992371157927613218575345031224252567000629762198275460875725247081582665146369934941027432466588135455849985636994653571638749078995063599278568065952434299990055902671681443073298798309774321761570796174229595059715397318481016707891816354437419241516785915661560241669797097366555585742524323396725925582571387664451210737956335871846951317709376305571213273357452238623774183874688611649080057202401841168607930016345362504140585355178293916337832576060723492973706230430244604024813190055361284975831478263932979799405716683063648530622754503915849440538899768456549410602920639038825193726827732974087815457620725538893639959871768788915492676045509190950659508289806699669949902991827791265118481284159548923114226931757186242643326350749825160001384238786049239483718066030307852834800802376987976792858596574809536549057047955719500762548864218931980242199373293630283157604833608834357371290128114020437442836678529171438825999271092877747073353087427728366682038839251359185630511728733177304049016339358148635151012708176013223395159697947154530438798104199028265050915612739742311805076024760733138172544967730081126411036327702326412902159773484600721980377564776598215105873704157733702175034889602031525548477453577401563554446656565176556584980642387923481512383564022232792701278865463079000988976291283574166829617511132931006912189677002217627659860647274891859706310079129989681155860719214376306981721855586805320359527058693296691584097295180612580465352759949007426581550976416569952714503031399900069418567835786810846017081939920449020405261272096774529416324017639291500572067993690436663226630658835086506045561299414225306275386866711516994362556260445868937891072402355898299231634108305570817841846214717947681354651501221974032965969161782142150924407780240743589280560481700397465350712286107040598321059985463651607437425272814523417787297824342074804097045708954523709925584327724846375351862401254625775147446300949780148838025101400436579680960150300823494844564170399891781090226934859882624969514491152341736369483775743289106267563376240540434041091243 139165397201713932769415995547279602132729235182848843645044663987367030674588190089250221304499922707086587162058971481891302808567539498976372074538452186376062482363897203657551063416393956254938202911171538892480099571728980230216436499776198312110038063396161817100253649375477701018652751212908506293027512877961959284606437353602777116322478708506818918218433369962815522892610403666251499917612415336030983995819228101652164501259689964014632754969063732966496404420574182695814116638032214386763732147141674007404107321116187681464663454822817571310305883203781977583623412711137104704489319387839137592965285055809659081799983311156224200775431982583910369612112288654361483220159818862590864751948378650208032774745281323341566049873488640002566923697578101221964763290216323375412822510401961869748398707777253746771262419079919488009047760369454823644829316569086456998360501704924292584755220220598239738625611509697266650472805760643614263377430049320341913142314372204672192329983633931100508523158293361450982058211098686968852947353154824629910734628869534720586423474432658265045725235078074136079648790778217073842990255102565819931524747078743244501864065202506063263699314983699127436286058995806369575114725471423729182815429177153515700994076508630883472757602538760134992699043772440821044364910671956412494477212998761313266280267324768617434439008891223587168716625597681470705770464649633115135817790669987379946505663134382814101177745111800389033234446736733833221517603571302600286587967431844778754880205439805627562227162804074840441403622652928913490329863369864765140252452353347092152336657678244068015126689774177768972839644585647678837373734563817036745647394001616789236813735509634283301601429028124177749114581004278925602814414721522026855527335086786927771925386779560388638248374300925481830051162986839842701057426932995433834708782765972501089972739344880978159033389431063766272074604881119376102368639420140541697079047384778997445088371480333660324103769377612075954191411904579307924827159983964910457199706344715377768008022712683792958025510846569370318385278189418873871664654803809915548555653524395369642182667046727430620845058797438283631618059863914400597795141610633659731756711821825300396853633699879874510898675092729253261643494642204404534236513735054749896075056863790744749686545947908738209292517321931611375219971551564857110018753869080170467038442197624052292822728210845163770522314903018265573892286825044014058762710205399606172064628784964610907079606403475749460967491291020194537209364 225174342730252649483972350726693770983186639006077949306949983338288255368250955729451502223451444651952695654096580827502457137242214589604965585737315818589225309248389741653498246317582590104635221014295404179160222843508167909459121041469069886281934889119404951989560195993580940353158324665759632407962501614245722474009396774802482239197056184261114756191291855179003484739601549365360053008843393826921808079147692671725757887513068072280329710351883901505173612412945340623427335213377245611016299147771436205679568196841434763047328601192752512337738349791917433433609049705790676343238398382902736871533351008243959071855885982837667274074230292358232131182908462883956542935557137343607572643764733087627274291531196984901807719670586006558152666221901497947890345861603987826623560466737833716699716417153559317984535776532158111783231635058066472724886518970927625606290518050286796725340575398892156076458187570420759624179036190888218288190620104681626888973792636137651991735700316994749039145912797277300422597110867143518263550273793863455104461456602508808401881095158197158685685106846863051572324836287408024502498544909265489881427738906534509620345349362054986377926246740885370079612409745631529576498964257472968666533495207461368535794878885618860265616199113569671541756091728160321806913774890888392736676586292391596423885100933602974805729137005244024611553304126852909531769735742510862209170878097715746628544502385741999731689473844977693082250786094882468372530311747315823681747665378999309193678309638833892613142775543817152246479647413662051662874831099945891551288780055673505054496431162844789995504254550775984078713348743381381012408624165848562294124847579018352791260392074810839886582071416047659261498145026511718304093280184601027844503626370361094601542897912491395550438051303143109489911810261731702407367506062985114990569501980348808071694594931686298518560448124360457856171900061731956567721399369147968278630023801348950159591402880233729742671605164422921971273351825028328330088432080739439873523723984006878340076016403120456184656169681655876363946577603644180147051521515326909911111913970264307533255069402625729852479167103009101473464274581862081952446642832607692697725873603967451321261413940623463791459156793126718612355780749245002855296499198706357333500329678314162536984370289983542306338226276455321300804299276411232461881155123705945614484743147404201130847829611281743451482465203841760418456457224935795148989645065282231141579119937306347276563382146764855728530867531560628578300607 364339739931966582253388346273973373115915874188926792951994647325655286042839145818701723527951367359039282816155552309393759945809754088581337660275768004965287791612286945311049309733976546359573423925466943071640322415237148139675557541245268198391972952515566769089813845369058641371811075878668138700990014492207681758615834128405259355519534892767933674409725225141819007632211953031611552926455809162952792074966920773377922388772758036294962465320947634471670016833519523319241451851409459997780031294913110213083675517957622444511992056015570083648044232995699411017232462416927781047727717770741874464498636064053618153655869293993891474849662274942142500795020751538318026155716956206198437395713111737835307066276478308243373769544074646560719589919479599169855109151820311202036382977139795586448115124930813064755798195612077599792279395427521296369715835540014082604651019755211089310095795619490395815083799080118026274651841951531832551568050154001968802116107008342324184065683950925849547669071090638751404655321965830487116497626948688085015196085472043528988304569590855423731410341924937187651973627065625098345488800011831309812952485985277754122209414564561049641625561724584497515898468741437899151613689728896697849348924384614884236788955394249743738373801652329806534455135500601142851278685562844805231153799291152909690165368258371592240168145896467611780269929724534380237540200392143977344988668767703126575050165520124813832867218956778082115485232831616301594047915318618423968335632810844087948558515078639520175369938347891992687883270066590965153204694469810656691541232409020597206833088841088858010630944324953753051552993329029059849782358729665599039772241580635142028074127584445123188183500444171837010612726030790643906907694906123054700030961457148022373468284692051784188686425604068591319962973248571545108424932995980548825278284746321309161667334276567276677593837555424224128246504942851332670090038789288509975709071186127947604679774360567390066775374542034997925464763729607636254915592064704350330723430328722256108084039115804249142681680528225246682331855793063054018716176319136825459667567494659677175437736449353160473324225900447385105082334445776482550241784443241352429482585425792751718115047640503338302357831885855971873999275391449407389533012933761107229575386542104907286670916237892280515630743598386932676024270827976089571899908992786116081523185345028253423670557822126907222004780106860025992348744049979809207752355270681837313643748722270958183642988550240605189498358822580823115509971 589514082662219231737360697000667144099102513195004742258944630663943541411090101548153225751402812010991978470252133136896217083051968678186303246013083823554513100860676686964547556051559136464208644939762347250800545258745316049134678582714338084673907841634971721079374041362639581724969400544427771108952516106453404232625230903207741594716591077029048430601017080320822492371813502396971605935299202989874600154114613445103680276285826108575292175672831535976843629246464863942668787064786705608796330442684546418763243714799057207559320657208322595985782582787616844450841512122718457390966116153644611336031987072297577225511755276831558748923892567300374631977929214422274569091274093549806010039477844825462581357807675293145181489214660653118872256141381097117745455013424299028659943443877629303147831542084372382740333972144235711575511030485587769094602354510941708210941537805497886035436371018382551891541986650538785898830878142420050839758670258683595691089899644479976175801384267920598586814983887916051827252432832974005380047900742551540119657542074552337390185664749052582417095448771800239224298463353033122847987344921096799694380224891812263742554763926616036019551808465469867595510878487069428728112653986369666515882419592076252772583834279868604003990000765899478076211227228761464658192460453733197967830385583544506114050469191974567045897282901711636391823233851387289769309936134654839554159546865418873203594667905866813564556692801755775197736018926498769966578227065934247650083298189843397142236824717473412788512713891709144934362917480253016816079525569756548242830012464694102261329520003933648006135198875729737130266342072410440862190982895514161333897089159653494819334519659255963074765571860219496272110871057302362211000975090724082544534587827509116975011182604543179739124476907211700809874783510303247515792439058965663815847786726670117233361929208253575196154285679784681984418405004583289237811438158436478254339094987476897764271177240801119809446979706457919896738115554635964585004024145443790204247154312729134448160055518924705327337850209881123046278433396707234165767697834463735370779481464923984708692805851978890325803393003456486578546609027638564502688427275849045127208459029760203039376461581126802093816988678982690486355056140694410244829512132467464563075716220419069823655286527875822821968969874842253976828570104387322033781064116492061696007928492432454554518387433408650673487245310701786410805201274915604356742000335964068455222868659577305460206370697005460918029226354141451693810578 953853822594185813990749043274640517215018387383931535210939277989598827453929247366854949279354179370031261286407685446289977028861722766767640906288851828519800892472963632275596865785535682823782068865229290322440867673982464188810236123959606283065880794150538490169187886731698223096780476423095909809942530598661085991241065031613000950236125969796982105010742305462641500004025455428583158861755012152827392229081534218481602665058584144870254640993779170448513646079984387261910238916196165606576361737597656631846919232756679652071312713223892679633826815783316255468073974539646238438693833924386485800530623136351195379167624570825450223773554842242517132772949965960592595246991049756004447435190956563297888424084153601388555258758735299679591846060860696287600564165244610230696326421017424889595946667015185447496132167756313311367790425913109065464318190050955790815592557560708975345532166637872947706625785730656812173482720093951883391326720412685564493206006652822300359867068218846448134484054978554803231907754798804492496545527691239625134853627546595866378490234339908006148505790696737426876272090418658221193476144932928109507332710877090017864764178491177085661177370190054365111409347228507327879726343715266364365231343976691137009372789674118347742363802418229284610666362729362607509471146016578003198984184874697415804215837450346159286065428798179248172093163575921670006850136526798816899148215633121999778644833425991627397423911758533857313221251758115071560626142384552671618418931000687485090795339796112932963882652239601137622246187546843981969284220039567204934371244873714699468162608845022506016766143200683490181819335401439500711973341625179760373669330740288636847408647243701086262949072304391333282723597088093006117908669996847137244565549284657139348479467296594963927810902511280292129837756758874792624217372054946212641126071472991426395029263484820851873748123235208906112664909947434621907901476947724988230048166173604845368950951601368509876222354248492917822202879284243600839919616210148140534970584641451390556244094634728954470019530738106369728610289189770288184483874153600560830447048959583661884130542301332050799127618903903871683628943473415047052930211719090397556691044455552954757491509221630140396174820564838662360354331532143817634362525066228571792651102762523977110326202765768103337599713473229186652852840932363411605680973109278177777531113837460707978188945255535557895492025417561812403153945324895413564494355606645905768866617381848263643849359247246066107527585176722274809320549 1543367905256405045728109740275307661314120900578936277469883908653542368865019348915008175030756991381023239756659818583186194111913691444953944152301935652074313993333640319240144421837094819287990713804991637573241412932727780237944914706673944367739788635785510211248561928094337804821749876967523680918895046705114490223866295934820742544952717046826030535611759385783463992375838957825554764797054215142701992383196147663585282941344410253445546816666610706425357275326449251204579025980982871215372692180282203050610162947555736859630633370432215275619609398570933099918915486662364695829659950078031097136562610208648772604679379847657008972697447409542891764750879180382867164338265143305810457474668801388760469781891828894533736747973395952798464102202241793405346019178668909259356269864895054192743778209099557830236466139900549022943301456398696834558920544561897499026534095366206861380968537656255499598167772381195598072313598236371934231085390671369160184295906297302276535668452486767046721299038866470855059160187631778497876593428433791165254511169621148203768675899088960588565601239468537666100570553771691344041463489854024909201712935768902281607318942417793121680729178655524232706920225715576756607838997701636030881113763568767389781956623953986951746353803184128762686877589958124072167663606470311201166814570458241921918266306642320726331962711699890884563916397427308959776160072661453656453307762498540872982239501331858440961980604560289632510957270684613841527204369450486919268502229190530882233032164513586345752395366131310282556609105027096998785363745609323753177201257338408801729492128848956154022901342076413227312085677473849941574164324520693921707566419899942131666743166902957049337714644164610829554834468145395368328909645087571219789100137112166256323490649901138143666935379418491992939712540269178040140009811113911876456973858199661543628391192693074427069902408914993588097083314952017911145712915106161466484387261161081743133222128842169629685669333954950837718940994838879565424923640355591930739217738954180525004404150153653659797357380947987492774888722586477522350251571988064296201226530424507646592823348153310941124931011907360358262175552501053611555618638994939442683899503485313157796867970802756942489991809243821352846709387672838227879192037198696036355726818982943046933981489293643926159568683348071440629681411036750733639462037225770239473539042329893162532707332688944208568979270728263598813959146599811017921236355942609974224089486041425569104055729944251527025556811530863726503131127 2497221727850590859718858783549948178529139287962867812680823186643141196318948596281863124310111170751054501043067504029476171140775414211721585058590787480594114885806603951515741287622630502111772782670220927895682280606710244426755150830633550650805669429936048701417749814826036027918530353390619590728837577303775576215107360966433743495188843016623012640622501691246105492379864413254137923658809227295529384612277681882066885606402994398315801457660389876873870921406433638466489264897179036821949053917879859682457082180312416511701946083656107955253436214354249355386989461202010934268353784002417582937093233344999967983847004418482459196471002251785408897523829146343459759585256193061814904909859757952058358205975982495922292006732131252478055948263102489692946583343913519490052596285912479082339724876114743277732598307656862334311091882311805900023238734612853289842126652926915836726500704294128447304793558111852410245796318330323817622412111084054724677501912950124576895535520705613494855783093845025658291067942430582990373138956125030790389364797167744070147166133428868594714107030165275092976842644190349565234939634786953018709045646645992299472083120908970207341906548845578597818329572944084084487565341416902395246345107545458526791329413628105299488717605602358047297543952687486679677134752486889204365798755332939337722482144092666885618028140498070132736009561003230629783010209188252473352455978131662872760884334757850068359404516318823489824178522442728913087830511835039590886921160191218367323827504309699278716278018370911420178855292573940980754647965648890958111572502212123501197654737693978660039667485277096717493905012875289442286137666145873682081235750640230768514151814146658135600663716469002162837558065233488374446818315084418357033665686396823395671970117197733107594746281929772285069550297028052832764227183168858089098099929672652970023420456177895278943650532150202494209748224899452533053614392053886454714435427334686588502173080443538139561891688203443755541143874123123166264843256565740071274188323595631915560648244788382614267376911686093862503499011776247810534735446141664857031673579384091308476953890454642991924058630811264229945804495974468658608548850714029840240590547940866112554359480024387082886166629808660015207063719204982045513554562264924608148377921745467024044307692059412029497168396821300627282534251969114145245143010335048417251070156167353870510896277944479766464471296145825411217113091924706431485730711549255879992956103423273832747905089191497593133084396707586001312451676 4040589633106995905446968523825255839843260188541804090150707095296683565183967945196871299340868162132077740799727322612662365252689105656675529210892723132668428879140244270755885709459725321399763496475212565468923693539438024664700065537307495018545458065721558912666311742920373832740280230358143271647732624008890066438973656901254486040141560063449043176234261077029569484755703371079692688455863442438231376995473829545652168547747404651761348274327000583299228196732882889671068290878161908037321746098162062733067245127868153371332579454088323230873045612925182455305904947864375630098013734080448680073655843553648740588526384266139468169168449661328300662274708326726326923923521336367625362384528559340818827987867811390456028754705527205276520050465344283098292602522582428749408866150807533275083503085214301107969064447557411357254393338710502734582159279174750788868660748293122698107469241950383946902961330493048008318109916566695751853497501755423884861797819247426853431203973192380541577082132711496513350228130062361488249732384558821955643875966788892273915842032517829183279708269633812759077413197962040909276403124640977927910758582414894581079402063326763329022635727501102830525249798659660841095404339118538426127458871114225916573286037582092251235071408786486809984421542645610751844798358957200405532613325791181259640748450734987611949990852197961017299925958430539589559170281849706129805763740630203745743123836089708509321385120879113122335135793127342754615034881285526510155423389381749249556859668823285624468673384502221702735464397601037979540011711258214711288773759550532302927146866542934814062568827353509944805990690349139383860301990666567603788802170540172900180894981049615184938378360633612992392392533378883742775727960171989576822765823508989651995460767098871251261681661348264278009262837297230872904236994282769965555073787872314513651811648870969706013552941065196082306831539851470444199327307160047921198822688495768331635395209285707769247561022158394593260084868962002731689766896921332002013406062549812440565052394942036274064734292634081355278387734362725332884987018129729153232900109808598955069777238607953933048989642718624588207980048475522270164167489708969282924490051426179270351227450827144025376158439052481368053773106877820273392746599463620644504104740728410070978289181353055955656737080169372067912215663005864878884605047560818656724609198497247033043603610633423975033450566874089010031072238524517449406967067491865854217045589464699401851960819135749120158641208238449727815582803 6537811360957586765165827307375204018372399476504671902831530281939824761502916541478734423650979332883132241842794826642138536393464519868397114269483510613262543764946848222271626997082355823511536279145433493364605974146148269091455216367941045669351127495657607614084061557746409860658810583748762862376570201312665642654081017867688229535330403080072055816856762768275674977135567784333830612114672669733760761607751511427719054154150399050077149731987390460173099118139316528137557555775340944859270800016041922415524327308180569883034525537744431186126481827279431810692894409066386564366367518082866263010749076898648708572373388684621927365639451913113709559798537473069786683508777529429440267294388317292877186193843793886378320761437658457754575998728446772791239185866495948239461462436720012357423227961329044385701662755214273691565485221022308634605398013787604078710787401220038534833969946244512394207754888604900418563906234897019569475909612839478609539299732197551430326739493897994036432865226556522171641296072492944478622871340683852746033240763956636344063008165946697777993815299799087852054255842152390474511342759427930946619804229060886880551485184235733536364542276346681428343579371603744925582969680535440821373803978659684443364615451210197550723789014388844857281965495333097431521933111444089609898412081124120597363230594827654497568018992696031150035935519433770219342180491037958603158219718761866618504008170847558577680789637197936612159314315570071667702865393120566101042344549572967616880687173132984903184951402873133122914319690174978960294659676907105669400346261762655804124801604236913474102236312630606662299895703224428826146439656812441285870037921180403668695046795196273320539042077102615155229950598612372117222546275256407933856431509905813047667430884296604358856427943278036563078813134325283705668464177451628054653173717544967483675232105048864984957203473215398576516579764750922977252941699213934375913258115830454920137568289729245908809452710361838348801228743085125897954610153487072073287594386145444356125700639730418888332111204320175217781886746138973143419722464271394010264573689192690263546731129062596924973048273529888818153784544449990928772716340422999123165080599367045382905586930851531108262325068861141383260836826082802318906301161728545252652482662473877095022596873412467985153905476990672695194749914974979024129748057895867073975679354664600903554499888577903741497921863019914421248185330449223880892697779041121734210001692887973234599865908327246713291725604946035729128034479 10578400994064582670612795831200459858215659665046475992982237377236508326686884486675605722991847495015209982642522149254800901646153625525072643480376233745930972644087092493027512706542081144911299775620646058833529667685586293756155281905248540687896585561379166526750373300666783693399090814106906134024302825321555709093054674768942715575471963143521098993091023845305244461891271155413523300570536112171992138603225340973371222701897803701838498006314391043472327314872199417808625846653502852896592546114203985148591572436048723254367104991832754416999527440204614265998799356930762194464381252163314943084404920452297449160899772950761395534807901574442010222073245799796113607432298865797065629678916876633696014181711605276834349516143185663031096049193791055889531788389078376988870328587527545632506731046543345493670727202771685048819878559732811369187557292962354867579448149513161232941439188194896341110716219097948426882016151463715321329407114594902494401097551444978283757943467090374578009947359268018684991524202555305966872603725242674701677116730745528617978850198464526961273523569432900611131669040114431383787745884068908874530562811475781461630887247562496865387178003847784258868829170263405766678374019653979247501262849773910359937901488792289801958860423175331667266387037978708183366731470401290015431025406915301857003979045562642109518009844893992167335861477864309808901350772887664732963983459392070364247132006937267087002174758077049734494450108697414422317900274406092611197767938954716866437546841956270527653624787375354825649784087776016939834671388165320380689120021313188107051948470779848288164805139984116607105886393573568210006741647479008889658840091720576568875941776245888505477420437736228147622343131991255859998274235428397510679197333414802699662891651395475610118109604626300841088075971622514578572701171734398020208247505417281997327043753919834690970756414280594658823411304602393421452269006373982297112080804326223251772963499014953678057013732520232942061313612047128629644377050408404075301000448695256796690753034672455162396845496954256573060274480501698476304709482401123163497473799001289218616508367670550858022037916248513406361764592925513198936883830131968406089570650793224653256814381678675133638483507913622751314609932960622592299047761192165897156587403202287166000886054765523940810642557160044763106965577980843903014353105456685730700288553161847936598103499211327716531372429894003431279257568973741330299664846532987588427047282352672636451826727462995833450366813184485456943617282 17116212355022169435778623138575663876588059141551147895813767659176333088189801028154340146642826827898342224485316975896939438039618145393469757749859744359193516409033940715299139703624436968422836054766079552198135641831734562847610498273189586357247713057036774140834434858413193554057901397855668996400873026634221351747135692636630945110802366223593154809947786613580919439026838939747353912685208781905752900210976852401090276856048202751915647738301781503645426433011515945946183402428843797755863346130245907564115899744229293137401630529577185603126009267484046076691693765997148758830748770246181206095153997350946157733273161635383322900447353487555719781871783272865900290941076395226505896973305193926573200375555399163212670277580844120785672047922237828680770974255574325228331791024247557989929959007872389879372389957985958740385363780755120003792955306749958946290235550733199767775409134439408735318471107702848845445922386360734890805316727434381103940397283642529714084682960988368614442812585824540856632820275048250445495475065926527447710357494702164962041858364411224739267338869231988463185924882266821858299088643496839821150367040536668342182372431798230401751720280194465687212408541867150692261343700189420068875066828433594803302516940002487352682649437564176524548352533311805614888664581845379625329437488039422454367209640390296607086028837590023317371796997298080028243531263925623336122203178153936982751140177784825664682964395274986346653764424267486090020765667526658712240112488527684483318234015089255430838576190248487948564103777950995900129331065072426050089466283075843911176750075016761762267041452614723269405782096797997036153181304291450175528878012900980237570988571442161826016462514838843302852293730603627977220820510684805444535628843320615747330322535692079968974537547904337404166889105947798284241165349186026074861421222962249481002275858968699675927959887495993235339991069353316398705210705587916673025338920156678171910531788744199586866466442882071290862542355132254527598987203895476148588594834840701152816453674402874050728956701274431790842161226640671619724431946672517173762047488193979482163239496733147782995086189778402224515549137375504127709600170554967529254651250160270036162401312530206241900808576774764134575446759043424911205348922920711149809070065676164261023482928177991925964548034150717458301715492955822927144101163352552804675967907826448840152603387789231458029294292913917852527442899422965211192362625574109322637048975240645871051692635790242546742092418130521186071651761 27694613349086752106391418969776123734803718806597623888796005036412841414876685514829945869634674322913552207127839125151740339685771770918542401230235978105124489053121033208326652410166518113334135830386725611031665309517320856603765780178438127045144298618415940667584808159079977247456992211962575130425175851955777060840190367405573660686274329367114253803038810458886163900918110095160877213255744894077745038814202193374461499557946006453754145744616172547117753747883715363754809249082346650652455892244449892712707472180278016391768735521409940020125536707688660342690493122927910953295130022409496149179558917803243606894172934586144718435255255061997730003945029072662013898373375261023571526652222070560269214557267004440047019793724029783816768097116028884570302762644652702217202119611775103622436690054415735373043117160757643789205242340487931372980512599712313813869683700246361000716848322634305076429187326800797272327938537824450212134723842029283598341494835087507997842626428078743192452759945092559541624344477603556412368078791169202149387474225447693580020708562875751700540862438664889074317593922381253242086834527565748695680929852012449803813259679360727267138898284042249946081237712130556458939717719843399316376329678207505163240418428794777154641509860739508191814739571290513798255396052246669640760462894954724311371188685952938716604038682484015484707658475162389837144882036813288069086186637546007346998272184722092751685139153352036081148214532964900512338665941932751323437880427482401349755780857045525958492200977623842774213887865727012839964002453237746430778586304389032018228698545796610050431846592598839876511668490371565246159922951770459065187718104621556806446930347688050331493882952575071450474636862594883837219094746113202955214826176735418446993214187087555579092647152530638245254965077570312862813866520920424095069668728379531478329319612888534366898716301776587894163402373955709820157479711961898970137419724482901423683495287759153264923480175402304232923855967179383157243364254303880223889595283535957949507206709075329213125802198228688363902435707142370096029141429073640337259521287195268700779747864403698641017124106026915630877313730301017326646484000686935935344221900953494689419215694208881375539292084688386885890056692004047503504396684112877046965657468878451427024368982943515866775190591310762221408681070936666830158454268809238535376256460988296776750706887000559174560666722807921283806700468396706541492027472107096911064096257593318507503519363253238380192459231315006643015269043 44810825704108921542170042108351787611391777948148771784609772695589174503066486542984286016277501150811894431613156101048679777725389916312012158980095722464318005462154973923625792113790955081756971885152805163229800951349055419451376278451627713402392011675452714808419243017493170801514893609818244126826048878589998412587326060042204605797076695590707408612986597072467083339944949034908231125940953675983497939025179045775551776413994209205669793482917954050763180180895231309700992651511190448408319238374695800276823371924507309529170366050987125623251545975172706419382186888925059712125878792655677355274712915154189764627446096221528041335702608549553449785816812345527914189314451656250077423625527264486842414932822403603259690071304873904602440145038266713251073736900227027445533910636022661612366649062288125252415507118743602529590606121243051376773467906462272760159919250979560768492257457073713811747658434503646117773860924185185102940040569463664702281892118730037711927309389067111806895572530917100398257164752651806857863553857095729597097831720149858542062566927286976439808201307896877537503518804648075100385923171062588516831296892549118145995632111158957668890618564236715633293646253997707151201061420032819385251396506641099966542935368797264507324159298303684716363092104602319413144060634092049266089900382994146765738398326343235323690067520074038802079455472460469865388413300738911405208389815699944329749412362506918416368103548627022427801978957232386602359431609459410035677992916010085833074014872134781389330777167872330722777991643678008740093333518310172480868052587464875929405448620813371812698888045213563145917450587169562282313104256061909240716596117522537044017918919130212157510345467413914753326930593198511814439915256798008399750455020056034194323536722779635548067184700434975649421854183518111147055031870106450169931089951341780959331595471857234042826676189272581129503393443309026218862690417549815643162758644639579595594027076503352851789946618284375523786398322311637684842351458199356372478190118376659102323660383478203263854758899503120154744596933783041715753573375746157511021568775389248182942987361136846424012210295805317855392862867676521454356084171241903464598873151113764725581617006739087617440100661463151020465503451047472414709745607033588196774727534554615688047851911121507792739738625461479679710396563892489757302555432161791340052224368814745616903310274789790632589961015721839136334143367819671752684390097681206233701145232833964378555211999043480926934551649445527829086920804 72505439053195673648561461078127911346195496754746395673405777732002015917943172057814231885912175473725446638740995226200420117411161687230554560210331700569442494515276007131952444523957473195091107715539530774261466260866376276055142058630065840447536310293868655476004051176573148048971885821780819257251224730545775473427516427447778266483351024957821662416025407531353247240863059130069108339196698570061242977839381239150013275971940215659423939227534126597880933928778946673455801900593537099060775130619145692989530844104785325920939101572397065643377082682861366762072680011852970665421008815065173504454271832957433371521619030807672759770957863611551179789761841418189928087687826917273648950277749335047111629490089408043306709865028903688419208242154295597821376499544879729662736030247797765234803339116703860625458624279501246318795848461730982749753980506174586574029602951225921769209105779708018888176845761304443390101799462009635315074764411492948300623386953817545709769935817145854999348332476009659939881509230255363270231632648264931746485305945597552122083275490162728140349063746561766611821112727029328342472757698628337212512226744561567949808891790519684936029516848278965579374883966128263610140779139876218701627726184848605129783353797592041661965669159043192908177831675892833211399456686338718906850363277948871077109587012296174040294106202558054286787113947622859702533295337552199474294576453245951676747684547229011168053242701979058508950193490197287114698097551392161359115873343492487182829795729180307347822978145496173496991879509405021580057335971547918911646638891853907947634147166609981863130734637812403022429119077541127528473027207832368305904314222144093850464849266818262489004228419988986203801567455793395651659010002911211354965281196791452641316750909867191127159831852965613894676819261088424009868898391026874265000758679721312437660915084745768409725392491049169023666795817264736039020170129511714613300178369122481019277522364262506116713426793686679756710254289491020842085715712503236596367785401912617051830867092553532476980561097731808518647032640925411811782714804819797848281090062584516883722735225540545065029334401832233486270176597977538781002568171928839399943095052067259415000832700947968992979392746151537906355560143051519918214142291146465243740385003433067115072220894065023659514929216772241901119077634829156587461009700971029875428480829803042393654017161790349807150627738529760420140843836216378294176417569788303144765241490427282886058731362296719307127010880760534472102189847 117316264757304595190731503186479698957587274702895167458015550427591190421009658600798517902189676624537341070354151327249099895136551603542566719190427423033760499977430981055578236637748428276848079600692335937491267212215431695506518337081693553849928321969321370284423294194066318850486779431599063384077273609135773886014842487489982872280427720548529071029012004603820330580808008164977339465137652246044740916864560284925565052385934424865093732710452080648644114109674177983156794552104727547469094368993841493266354216029292635450109467623384191266628628658034073181454866900778030377546887607720850859728984748111623136149065127029200801106660472161104629575578653763717842277002278573523726373903276599533954044422911811646566399936333777593021648387192562311072450236445106757108269940883820426847169988178991985877874131398244848848386454582974034126527448412636859334189522202205482537701363236781732699924504195808089507875660386194820418014804980956613002905279072547583421697245206212966806243905006926760338138673982907170128095186505360661343583137665747410664145842417449704580157265054458644149324631531677403442858680869690925729343523637110686095804523901678642604920135412515681212668530220125970761341840559909038086879122691489705096326289166389306169289828457346877624540923780495152624543517320430768172940263660943017842847985338639409363984173722632093088866569420083329567921708638291110879502966268945896006497096909735929584421346250606080936752172447429673717057529160851571394793866259502573015903810601315088737153755313368504219769871153083030320150669489858091392514691479318783877039595787423353675829622683025966168346569664710689810786131463894277546620910339666630894482768185948474646514573887402900957128498048991907466098925259709219754715736216847486835640287632646826675227016553400589544098673444606535156923930261133324434931848631063093396992510556603002452552068680321750153170189260573762257882860547061530256462937013762060614871549440765858968503373411971055280496652611802658526928067170702592968845975520289276154154527476031735740835319997234928673391629574708453527536288180565955359302658837973765066665722586677391489041544697637551341663039465654060235358652343170742864541968203181024140582449707687056610419493407614688926821063594098992332923887898180053440515112537987682803120072805186531452254667842233721580829474198721646344763565133132821215480705198617788010557327436580140439740588754251599556474987204036050046860807667469509378466386723261247264613943361340200234061562530206062301189110651 189821703810500268839292964264607610303782771457641563131421328159593206338952830658612749788101852098262787709095146553449520012547713290773121279400759123603202994492706988187530681161705901471939187316231866711752733473081807971561660395711759394297464632263190025760427345370639466899458665253379882641328498339681549359442358914937761138763778745506350733445037412135173577821671067295046447804334350816105983894703941524075578328357874640524517671937986207246525048038453124656612596452698264646529869499612987186255885060134077961371048569195781256910005711340895439943527546912631001042967896422786024364183256581069056507670684157836873560877618335772655809365340495181907770364690105490797375324181025934581065673913001219689873109801362681281440856629346857908893826735989986486771005971131618192081973327295695846503332755677746095167182303044705016876281428918811445908219125153431404306910469016489751588101349957112532897977459848204455733089569392449561303528666026365129131467181023358821805592237482936420278020183213162533398326819153625593090068443611344962786229117907612432720506328801020410761145744258706731785331438568319262941855750381672254045613415692198327540949652260794646792043414186254234371482619699785256788506848876338310226109642963981347831255497616390070532718755456387985835942974006769487079790626938891888919957572350935583404278279925190147375653683367706189270455003975843310353797542722191847683244781456964940752474588952585139445702365937626960831755626712243732753909739602995060198733606330495396084976733458864677716761750662488051900208005461406010304161330371172691824673742954033335538960357320838369190775688742251817339259158671726645852525224561810724744947617452766737135518802307391887160930065504785303117757935262620431109681017413638939476957038542514017802386848406366203438775492705694959166792828652160198699932607310784405834653425641348770862277461171370919176836985077838498296903030676573244869763115382884541634149071805028365085216800205657735037206906901293679369013782883205829565213760922201893205985394568585268217815881094966737192038662215633865339319002985385753207583748900558281950388457812217936554070879099469784827933216063631599016361220515099582264485063255248283555583282408635025603398886153766226833176623737150512251138030189326518684255497541420749918192293699251555111769597059005963481948551833550802932224574834103851090909186028420830404211344598370490246891216492781359976615831040252428341037225237257812523231628213688530150672674723636919541188573410966596773291300498 307137968567804864030024467451087309261370046160536730589436878587184396759962489259411267690291528722800128779449297880698619907684264894315687998591186546636963494470137969243108917799454329748787266916924202649244000685297239667068178732793452948147392954232511396044850639564705785749945444684978946025405771948817323245457201402427744011044206466054879804474049416738993908402479075460023787269472003062150724811568501809001143380743809065389611404648438287895169162148127302639769391004802992193998963868606828679522239276163370596821158036819165448176634339998929513124982413813409031420514784030506875223912241329180679643819749284866074361984278807933760438940919148945625612641692384064321101698084302534115019718335913031336439509737696458874462505016539420219966276972435093243879275912015438618929143315474687832381206887075990944015568757627679051002808877331448305242408647355636886844611832253271484288025854152920622405853120234399276151104374373406174306433945098912712553164426229571788611836142489863180616158857196069703526422005658986254433651581277092373450374960325062137300663593855479054910470375790384135228190119438010188671199274018782940141417939593876970145869787673310328004711944406380205132824460259694294875385971567828015322435932130370654000545326073736948157259679236883138460486491327200255252730890599834906762805557689574992768262453647822240464520252787789518838376712614134421233300508991137743689741878366700870336895935203191220382454538385056634548813155873095304148703605862497633214637416931810484822130488772233181936531621815571082220358674951264101696676021850491475701713338741456689214789980003864335359122258406962507150045290135620923399146134901477355639430385638715211782033376194794788118058563553777210583856860522329650864396753630486426312597326175160844477613864959766792982874166150301494323716758913293523134864455941847499231645936197951773314829529851692669330007174338412260554785891223634775126226052396646602249020621245794224053720173617628790317703559513096337895941850053908422534059736442491169360139922044617003958651201092201665865430291790342318866855291165951708566886407738532047017054180398895328043112423797107336169596255529285659251719872858270325129027031458429307696165732116322082213818379561380915759997687331249504584061918087506572124770610079408432721312366504438086564024264901239685062778026032272449276988139967236672306389891227038618414768672034950630686631805247032959533090818244288478387898032904727321901698014936949777415286618084977119775250135941172659074480411149 496959672378305132869317431715694919565152817618178293720858206746777603098915319918024017478393380821062916488544444434148139920231978185088809277991945670240166488962844957430639598961160231220726454233156069360996734158379047638629839128505212342444857586495701421805277984935345252649404109938358828666734270288498872604899560317365505149807985211561230537919086828874167486224150142755070235073806353878256708706272443333076721709101683705914129076586424495141694210186580427296381987457501256840528833368219815865778124336297448558192206606014946705086640051339824953068509960726040032463482680453292899588095497910249736151490433442702947922861897143706416248306259644127533383006382489555118477022265328468696085392248914251026312619539059140155903361645886278128860103708425079730650281883147056811011116642770383678884539642753737039182751060672384067879090306250259751150627772509068291151522301269761235876127204110033155303830580082603731884193943765855735609962611125277841684631607252930610417428379972799600894179040409232236924748824812611847523720024888437336236604078232674570021169922656499465671616120049090867013521558006329451613055024400455194187031355286075297686819439934104974796755358592634439504307079959479551663892820444166325548545575094352001831800823690127018689978434693271124296429465333969742332521517538726795682763130040510576172540733573012387840173936155495708108831716589977731587098051713329591372986659823665811089370524155776359828156904322683595380568782585339036902613345465492693413371023262305880907107222231097859653293372478059134120566680412670112000837352221664167526387081695490024753750337324702704549897947149214324489304448807347569251671359463288080384378003091481948917552178502186675278988629058562513701614795784950081974077771044125365789554364717674862280000713366132996421649658855996453490509587565453721834797063252631905066299361839300544177106991023063588506844159416250758851688921900208019995989167779531143883169693050822589138936973823286525354910466414390017264955632937114252099273497364693062566125316613202272176467082187168403057468954005976184206174294151337461774470156639090328967442638211113264597183302896577120997529471592917258268081093373369907393512094713677591251749014524957107817217265715147142593174311068400016835199948276833090809026107620829182639504660203689641675793861960245648544726577865823252209212714801340523397299077255459448818980016633321120933523021739814319509706649284540906728935258141985134424929643150638307565959292808614039316438709352139255847771711647 804097640946109996899341899166782228826522863778715024310295085333961999858877809177435285168684909543863045267993742314846759827916243079404497276583132216877129983432982926673748516760614560969513721150080272010240734843676287305698017861298665290592250540728212817850128624500051038399349554623337774692140042237316195850356761719793249160852191677616110342393136245613161394626629218215094022343278356940407433517840945142077865089845492771303740481234862783036863372334707729936151378462304249034527797236826644545300363612460819155013364642834112153263274391338754466193492374539449063883997464483799774812007739239430415795310182727569022284846175951640176687247178793073158995648074873619439578720349631002811105110584827282362752129276755599030365866662425698348826380680860172974529557795162495429940259958245071511265746529829727983198319818300063118881899183581708056393036419864705177996134133523032720164153058262953777709683700317003008035298318139261909916396556224190554237796033482502399029264522462662781510337897605301940451170830471598101957371606165529709686979038557736707321833516511978520582086495839475002241711677444339640284254298419238134328449294879952267832689227607415302801467302999014644637131540219173846539278792011994340870981507224722655832346149763863966847238113930154262756915956661169997585252408138561702445568687730085568940803187220834628304694188943285226947208429204112152820398560704467335062728538190366681426266459358967580210611442707740229929381938458434341051316951327990326628008440194116365729237711003331041589824994293630216340925355363934213697513374072155643228100420436946713968540317328567039909020205556176831639349738942968492650817494364765436023808388730197160699585554696981463397047192612339724285471656307279732838474524674611792102151690892835706757614578325899789404523825006297947814226346478747244969661519194479404297945298037252317491936520874756257836851333754663019406474813123842795122215220176177746132190314296616813192657147440915315672614025927486355160897482991022674633333233807184231926265238657819276135118283279370068922899245796318503073029585317289170341356564377622375984496818610008592640295726693684457167125727122202917519800966231640232522539126172106898947914746641279190031035645276528058353171998399649521419261866364339662933796717700237615360817026708127728239818126861485333607504603898095701486200854768577195703688968482498067233748688668271751620154826986847279042797467528829385116833291046712456326627658087588084981245910893591159091688845293311914922252122796 1301057313324415129768659330882477148391675681396893318031153292080739602957793129095459302647078290364925961756538186748994899748148221264493306554575077887117296472395827884104388115721774792190240175383236341371237469002055334944327856989803877633037108127223914239655406609435396291048753664561696603358874312525815068455256322037158754310660176889177340880312223074487328880850779360970164257417084710818664142224113388475154586798947176477217869557821287278178557582521288157232533365919805505875056630605046460411078487948758267713205571248849058858349914442678579419262002335265489096347480144937092674400103237149680151946800616170271970207708073095346592935553438437200692378654457363174558055742614959471507190502833741533389064748815814739186269228308311976477686484389285252705179839678309552240951376601015455190150286172583465022381070878972447186760989489831967807543664192373773469147656434792793956040280262372986933013514280399606739919492261905117645526359167349468395922427640735433009446692902435462382404516938014534177375919655284209949481091631053967045923583116790411277343003439168477986253702615888565869255233235450669091897309322819693328515480650166027565519508667541520277598222661591649084141438620178653398203171612456160666419527082319074657664146973453990985537216548623425387053345421995139739917773925677288498128331817770596145113343920793847016144868125098780935056040145794089884407496612417796926435715198014032492515636983514743940038768347030423825309950721043773377953930296793483020041379463456422246636344933234428901243118366771689350461492035776604325698350726293819810754487502132436738722290654653269744458918152705391156128654187750316061902488853828053516408186391821679109617137733199168138676035821670902237987086452092229814812552295718737157891706055610510569037615291692032785826173483862294401304735934044200966804458582447111309364244659876552861669043511897819846343695493170913778258163735024050815118204387955708890015360007347439402331594121264201841027524492341876372425853115928136926732606731171877294492390555271021548311585365466538471980368199802294687279203879468626632115826721016712704951939456821121857237479029590261578164655198715120175787882059605010139916051220885784490199663761166236297848252910991675200946346309468049538254461814641172753742822825321066798000321686911817369915611988821730982152231181763918953695413569569917719100988045737957516052728705301592872553677848726661598552504116813370291845768549188697590751557301238226392547205203702205198408127554645451170770023834443 2105154954270525126668001230049259377218198545175608342341448377414701602816670938272894587815763199908789007024531929063841659576064464343897803831158210103994426455828810810778136632482389353159753896533316613381478203845731622250025874851102542923629358667952127057505535233935447329448103219185034378051014354763131264305613083756952003471512368566793451222705359320100490275477408579185258279760363067759071575741954333617232451888792669248521610039056150061215420954855995887168684744382109754909584427841873104956378851561219086868218935891683171011613188834017333885455494709804938160231477609420892449212110976389110567742110798897840992492554249046986769622800617230273851374302532236793997634462964590474318295613418568815751816878092570338216635094970737674826512865070145425679709397473472047670891636559260526701416032702413193005579390697272510305642888673413675863936700612238478647143790568315826676204433320635940710723197980716609747954790580044379555442755723573658950160223674217935408475957424898125163914854835619836117827090485755808051438463237219496755610562155348147984664836955680456506835789111728040871496944912895008732181563621238931462843929945045979833352197895148935580399689964590663728778570160397827244742450404468155007290508589543797313496493123217854952384454662553579649810261378656309737503026333815850200573900505500681714054147108014681644449562314042066162003248574998202037227895173122264261498443736204399173941903442873711520249379789738164055239332659502207719005247248121473346669387903650538612365582644237759942832943361065319566802417391140538539395864100365975453982587922569383452690830971981836784367938358261567987768003926693284554553306348192818952431994780551876270316723287896149602073083014283241962272558108399509547651026820393348949993857746503346275795229870017932575230697308868592349118962280522948211774120101641590713662189957913805179160980032772576104180546826925576797664638548147893610240419608131886636147550321644056215524251268705117156700138518269362727586750598919159601365939964979061526418655793928840824446703648745908540903267445598613190352233464785915802457183285394335080936436275431130449877774756283946035331780925837323093307683025836650372438590347057891389147578507807515487879288556268203259299518307867699059673723681005512416676619543021304413361138713619945098155430115683216315759735785662014655181614424338494914804677014220455583286477393969864624173832675713508877595301584342199676962601840235410047078184959325814477528451114595796357499816399938763085692275957239 3406212267594940256436660560931736525609874226572501660372601669495441205774464067368353890462841490273714968781070115812836559324212685608391110385733287991111722928224638694882524748204164145349994071916552954752715672847786957194353731840906420556666466795176041297160941843370843620496856883746730981409888667288946332760869405794110757782172545455970792103017582394587819156328187940155422537177447778577735717966067722092387038687739845725739479596877437339393978537377284044401218110301915260784641058446919565367457339509977354581424507140532229869963103276695913304717497045070427256578957754357985123612214213538790719688911415068112962700262322142333362558354055667474543752956989599968555690205579549945825486116252310349140881626908385077402904323279049651304199349459430678384889237151781599911843013160275981891566318874996658027960461576244957492403878163245643671480364804612252116291447003108620632244713583008927643736712261116216487874282841949497200969114890923127346082651314953368417922650327333587546319371773634370295203010141040018000919554868273463801534145272138559262007840394848934493089491727616606740752178148345677824078872944058624791359410595212007398871706562690455857997912626182312812920008780576480642945622016924315673710035671862871971160640096671845937921671211177005036863606800651449477420800259493138698702232323271277859167491028808528660594430439140847097059288720792291921635391785540061187934158934218431666457540426388455460288148136768587880549283380545981096959177544914956366710767367106960859001927577472188844076061727837008917263909426917142865094214826659795264737075424701820191413121626635106528826856510966959143896658114443600616455795202020872468840181172373555379933861021095317740749118835954144200259644560491739362463579116112086107885563802113856844832845161709965361056870792730886750423698214567149178578578684088702023026434617790358040830023544670395950524242320096490575922802283171944425358623996087595526162910328991495617855845389969318997727663010611239100012603714847296528098546696150938820911046349199862372758289014212447012883635645400907877631437344254542434573010006411047785888375732252252307115253785874207613496436124552443269095565085441660512354641567943675879347242268973751785727541467259878460245864617335748597928185495646685170419442368342371211361460400531762468071042104504947297911966967425933608877027993908412633905665059958413099339206099271457496727510524440170476147805701155569968808370389424107637829742260564040870075656318298001555907943954584214256462299791682 5511367221865465383104661790980995902828072771748110002714050046910142808591135005641248478278604690182503975805602044876678218900277149952288914216891498095106149384053449505660661380686553498509747968449869568134193876693518579444379606692008963480295825463128168354666477077306290949944960102931765359460903022052077597066482489551062761253684914022764243325722941714688309431805596519340680816937810846336807293708022055709619490576532514974261089635933587400609399492233279931569902854684025015694225486288792670323836191071196441449643443032215400881576292110713247190172991754875365416810435363778877572824325189927901287431022213965953955192816571189320132181154672897748395127259521836762553324668544140420143781729670879164892698505000955415619539418249787326130712214529576104064598634625253647582734649719536508592982351577409851033539852273517467798046766836659319535417065416850730763435237571424447308449146903644868354459910241832826235829073421993876756411870614496786296242874989171303826398607752231712710234226609254206413030100626795826052358018105492960557144707427486707246672677350529390999925280839344647612249123061240686556260436565297556254203340540257987232223904457839391438397602590772976541698578940974307887688072421392470681000544261406669284657133219889700890306125873730584686673868179307759214923826593308988899276132828771959573221638136823210305043992753182913259062537295790493958863286958662325449432602670422830840399443869262166980537527926506751935788616040048188815964424793036429713380155270757499471367510221709948786909005088902328484066326818057681404490078927025770718719663347271203644103952598616943313194794869228527131664662041136885171009101550213691421272175952925431650250584308991467342822201850237386162532202668891248910114605936505435057879421548617203120628075031727897936287568101599479099542660495090097390352698785730292736688624575704163219991003577442972054704789147022067373587440831319838035599043604219482162310460650635551833380096658674436154427801528880601827599354313766456129464486661130000347329702143128703197204992662958355553786903090999521067983670809040458237030193291805382866824812007683382756993028542158153648828217050389766362403248111278310884793231915001567268494820776781267273606830023528081719545382925203447657601909176652197587096061911363675624722599114151707566226472220188163613671702753087948264058642418246907548710342074178868682625683493241322120901343200153679353743107285497769645770972229659517684907927219889855347604107432893797913407760354522977342154575748921 8917579489460405639541322351912732428437946998320611663086651716405584014365599073009602368741446180456218944586672160689514778224489835560680024602624786086217872312278088200543186128890717643859742040366422522886909549541305536638733338532915384036962292258304209651827418920677134570441816986678496340870791689341023929827351895345173519035857459478735035428740524109276128588133784459496103354115258624914543011674089777802006529264272360700000569232811024740003378029610563975971120964985940276478866544735712235691293530581173796031067950172747630751539395387409160494890488799945792673389393118136862696436539403466692007119933629034066917893078893331653494739508728565222938880216511436731109014874123690365969267845923189514033580131909340493022443741528836977434911563989006782449487871777035247494577662879812490484548670452406509061500313849762425290450644999904963206897430221462982879726684574533067940693860486653795998196622502949042723703356263943373957380985505419913642325526304124672244321258079565300256553598382888576708233110767835844053277572973766424358678852699625266508680517745378325493014772566961254353001301209586364380339309509356181045562751135469994631095611020529847296395515216955289354618587721550788530633694438316786354710579933269541255817773316561546828227797084907589723537474979959208692344626852802127597978365152043237432389129165631738965638423192323760356121826016582785880498678744202386637366761604641262506856984295650622440825676063275339816337899420594169912923602337951386080090922637864460330369437799182137630985066816739337401330236244974824269584293753685565983456738771973023835517074225252049842021651380195486275561320155580485787464896752234563890112357125298987030184445330086785083571320686191530362791847229382988272578185052617521165764985350731059965460920193437863297344438894330365849966358709657246568931277469818994759715059193494521260821027122113368005229031467118557949510243114491782460957667600307077688473370979627047451235942048643755152155464539491840927611958028613752657563033357280939168240748492328565569963281677170802566670538736400428945615108153295000671603203298216430652713187739935635064108282328032361262324653174942209631498813196719971397147873482945243147842063045755019059334371490787960179791247542539196255530094672298882757515504279706046836084059514683470034297514324693110911583669720513881872935670412155320182616007134137281781964889592512779617628853724593849829890912986653339614579342619083625322737669480453896217679763751191799469315704309107191598616875540603 14428946711325871022645984142893728331266019770068721665800701763315726822956734078650850847020050870638722920392274205566192997124766985512968938819516284181324021696331537706203847509577271142369490008816292091021103426234824116083112945224924347517258117721432378006493895997983425520386777089610261700331694711393101526893834384896236280289542373501499278754463465823964438019939380978836784171053069471251350305382111833511626019840804875674261658868744612140612777521843843907541023819669965292173092031024504906015129721652370237480711393204963031633115687498122407685063480554821158090199828481915740269260864593394593294550955843000020873085895464520973626920663401462971334007476033273493662339542667830786113049575594068678926278636910295908641983159778624303565623778518582886514086506402288895077312312599348999077531022029816360095040166123279893088497411836564282742314495638313713643161922145957515249143007390298664352656532744781868959532429685937250713792856119916699938568401293295976070719865831797012966787824992142783121263211394631670105635591079259384915823560127111973755353195095907716492940053406305901965250424270827050936599746074653737299766091675727981863319515478369238734793117807728265896317166662525096418321766859709257035711124194676210540474906536451247718533922958638174410211343159266967907268453446111116497254497980815197005610767302454949270682415945506673615184363312373279839361965702864712086799364275064093347256428164912789421363203989782091752126515460642358728888027130987815793471077908621959801736948020892086417894071905641665885396563063032505674074372680711336702176402119244227479621026823868993155216446249424013407225982196717370958473998302448255311384533078224418680435029639078252426393522536428916525324049898274237182692790989122956223644406899348263086088995225165761233632006995929844949509019204747343959283976255549287496403683769198684480812030699556340059933820614140625323097683945811620496556711204526559850783831630262599284616038707318191306583266068372442755211312342380208787027520018410939515570450635457268767168274340129158120457441827399950013598778962335458908633396590021813519537999747619017821101310870190514911152870225331975993902061307998282281941105397946810416336883822536286332941201514316041899336630467742643913132003848951080344611566191069722460806658628835177600523986544881274525255372473601830136994312830402227731326349208316150464590573085754101738530196924747529183634020272151109260350314848743143007645596700343751565283871184085597382723464663630168940771451289524 23346526200786276662187306494806460759703966768389333328887353479721310837322333151660453215761497051094941864978946366255707775349256821073648963422141070267541894008609625906747033638467988786229232049182714613908012975776129652721846283757839731554220409979736587658321314918660560090828594076288758041202486400734125456721186280241409799325399832980234314183203989933240566608073165438332887525168328096165893317056201611313632549105077236374262228101555636880616155551454407883512144784655905568651958575760217141706423252233544033511779343377710662384655082885531568179953969354766950763589221600052602965697403996861285301670889472034087790978974357852627121660172130028194272887692544710224771354416791521152082317421517258192959858768819636401664426901307461281000535342507589668963574378179324142571889975479161489562079692482222869156540479973042318378948056836469245949211925859776696522888606720490583189836867876952460350853155247730911683235785949880624671173841625336613580893927597420648315041123911362313223341423375031359829496322162467514158913164053025809274502412826737240264033712841286041985954825973267156318251725480413415316939055584009918345328842811197976494415126498899086031188633024683555250935754384075884948955461298026043390421704127945751796292679853012794546761720043545764133748818139226176599613080298913244095232863132858434437999896468086688236320839137830433971306189328956065719860644447067098724166125879705355854113412460563411862188880053057431568464414881236528641811629468939201873562000546486420132106385820074224048879138722381003286726799308007329943658666434396902685633140891217251315138101049121042997238097629619499682787302352297856745938895054682819201496890203523405710619474969165037509964843222620446888115897127657225455270976041740477389409392250079323051549915418603624530976445890260210799475377914404590528215253725368282256118742962693205741633057821669708065162852081259183272607927060303402957514378804833637539257202609889646735851980755961946458738730607864283682823270370993961444590553375691878683811199127785834337131556017299960687127980563800378959213887115630459580236599888238244172251187487554652885209593198222876173477523400274185625400874504718253679088978880892053564178946868291305392275573005104002079127878010281840168662098521249963102127070470775769296890718143518647634821500869574385436839042194115712009929983242557547913942356342453432246555462678266881356159050649341379013524933258804448874929657467826768330383266180797647782963634935277396852039168972737360539388326830127 37775472912112147684833290637700189090969986538458054994688055243037037660279067230311304062781547921733664785371220571821900772474023806586617902241657354448865915704941163612950881148045259928598722057999006704929116402010953768804959228982764079071478527701168965664815210916643985611215371165899019741534181112127226983615020665137646079614942206481733592937667455757205004628012546417169671696221397567417243622438313444825258568945882112048523886970300249021228933073298251791053168604325870860825050606784722047721552973885914270992490736582673694017770770383653975865017449909588108853789050081968343234958268590255878596221845315034108664064869822373600748580835531491165606895168577983718433693959459351938195366997111326871886137405729932310306410061086085584566159121026172555477660884581613037649202288078510488639610714512039229251580646096322211467445468673033528691526421498090410166050528866448098438979875267251124703509687992512780642768215635817875384966697745253313519462328890716624385760989743159326190129248367174142950759533557099184264548755132285194190325972953849214019386907937193758478894879379573058283502149751240466253538801658663655645094934486925958357734641977268324765981750832411821147252921046600981367277228157735300426132828322621962336767586389464042265295643002183938543960161298493144506881533745024360592487361113673631443610663770541637507003255083337107586490552641329345559222610149931810810965490154769449201369840625476201283552084042839523320590930341878887370699656599927017667033078455108379933843333840966310466773210628022669172123362371039835617733039115108239387809543010461478794759127872990036152454543879043513090013284549015227704412893357131074512881423281747824391054504608243289936358365759049363413439947025931462637963767030863433613053799149427586137638910643769385764608452886190055748984397119151934487499229980917569752522426731891890222445088521226048125096672695399808595705611006115023454071090009360197390041034240152246020468019463280137765321996676236726438034582713374170231618073394102818199381649763243103104299830357429118807585422391200328972812666077965918488869996478260057691789187235173670706310904068413391084630393625606161619302935812716535961030084278838863980515830690827591725216774519420043978464508478024484081794102370201043446738636661845491757697376772353825235345487414455659962094414667717542146924296072959775645268705550769582711146035764020983094689247574088908197158953530955558135279972316569911338028862881141399348247506119362994234762633636367529480159778119651 61121999112898424347020597132506649850673953306847388323575408722758348497601400381971757278543044972828606650350166938077608547823280627660266865663798424716407809713550789519697914786513248714827954107181721318837129377787083421526805512740603810625698937680905553323136525835304545702043965242187777782736667512861352440336206945379055878940342039461967907120871445690445571236085711855502559221389725663583136939494515056138891118050959348422786115071855885901845088624752659674565313388981776429477009182544939189427976226119458304504270079960384356402425853269185544044971419264355059617378271682020946200655672587117163897892734787068196455043844180226227870241007661519359879782861122693943205048376250873090277684418628585064845996174549568711970836962393546865566694463533762224441235262760937180221092263557671978201690406994262098408121126069364529846393525509502774640738347357867106688939135586938681628816743144203585054362843240243692326004001585698500056140539370589927100356256488137272700802113654521639413470671742205502780255855719566698423461919185311003464828385780586454283420620778479800464849705352840214601753875231653881570477857242673573990423777298123934852149768476167410797170383857095376398188675430676866316232689455761343816554532450567714133060266242476836812057363045729702677708979437719321106494614043937604687720224246532065881610560238628325743324094221167541557796741970285411279083254596998909535131616034474805055483253086039613145740964095896954889055345223115416012511286068866219540595079001594800065949719661040534515652349350403672458850161679047165561391705549505142073442683901678730109897228922111079149692641508663012772800586901313084450351788411813893714378313485271230101673979577408327446323208981669810301555844153588688093234743072603911002463191399506909189188826062373010295584898776450266548459775033556525015714483706285852008641169694585095964078146342895756190259524776658991868313538066418426411585468814193834929298236850041892756320000219242084224060727284101010120857853084368131676208626769794696883192848891028937441431386374729079494713402955000707932026553193596378069106596366498301864040374722728323591520497266636267258107917025880347244703810317434789640119063159730917544694777559118897117492347524524046057592386488306324250456200891451006548865707132621261054588094915872472870166988284030045398933456861833254156854279315517323559211061893223014957701498442287864450848298223430287210683886789760007010209629784396679668412129061939047131211141054640391086801802609104890019548104949778 98897472025010572031853887770206838941643939845305443318263463965795386157880467612283061341324592894562271435721387509899509320297304434246884767905455779165273725418491953132648795934558508643426676165180728023766245779798037190331764741723367889697177465382074518987951736751948531313259336408086797524270848624988579423951227610516701958555284245943701500058538901447650575864098258272672230917611123231000380561932828500964149686996841460471310002042156134923074021698050911465618481993307647290302059789329661237149529200005372575496760816543058050420196623652839519909988869173943168471167321763989289435613941177373042494114580102102305119108714002599828618821843193010525486678029700677661638742335710225028473051415739911936732133580279501022277247023479632450132853584559934779918896147342550217870294551636182466841301121506301327659701772165686741313838994182536303332264768855957516854989664453386780067796618411454709757872531232756472968772217221516375441107237115843240619818585378853897086563103397680965603599920109379645731015389276665882688010674317596197655154358734435668302807528715673558943744584732413272885256024982894347824016658901337229635518711785049893209884410453435735563152134689507197545441596477277847683509917613496644242687360773189676469827852631940879077353006047913641221669140736212465613376147788961965280207585360205697325221224009169963250327349304504649144287294611614756838305864746930720346097106189244254256853093711515814429293048138736478209646275564994303383210942668793237207628157456703179999793053502006844982425559978426341630973524050087001179124744664613381461252226912140208904656356795101115302147185387706525862813871450328312154764681768944968227259736767019054492728484185651617382681574740719173714995791179520150731198510103467344615516990548934495326827736706142396060193351662640322297444172152708459503213713687203421761163596426476986186523234864121804315356197472058800464019149072533449865656558823554032319339271090194138776788019682522221989382723960337736558892435797742301907826700163897515082574498654272040545731216732158198302298825346201036904839219271562296557976592844758359555829561957901994297831401335049658342738310651486508864006746130151325601149147438569781525210608249946488842709122043944090036056894966330808332250303261652049995604343794466752812285471688226298105512475698485705361027871529550796303778575388477099204479767443992597668847534206308847545537545797519195407842840320715565145489602100966591006440991943080446479458647174003385321564436245472419499707883069429 160019471137908996378874484902713488792317893152152831641838872688553734655481867994254818619867637867390878086071554447977117868120585061907151633569254203881681535132042742652346710721071757358254630272362449342603375157585120611858570254463971700322876403062980072311088262587253077015303301650274575307007516137849931864287434555895757837495626285405669407179410347138096147100183970128174790139000848894583517501427343557103040805047800808894096117114012020824919110322803571140183795382289423719779068971874600426577505426124830880001030896503442406822622476922025063954960288438298228088545593446010235636269613764490206392007314889170501574152558182826056489062850854529885366460890823371604843790711961098118750735834368497001578129754829069734248083985873179315699548048093697004360131410103487398091386815193854445042991528500563426067822898235051271160232519692039077973003116213824623543928800040325461696613361555658294812235374473000165294776218807214875497247776486433167720174841866991169787365217052202605017070591851585148511271244996232581111472593502907201119982744515022122586228149494153359408594290085253487487009900214548229394494516144010803625942489083173828062034178929603146360322518546602573943630271907954713999742607069257988059241893223757390602888118874417715889410369093643343899378120173931786719870761832899569967927809606737763206831784247798288993651443525672190702084036581900168117389119343929629881228722223719059312336346797555427575034012234633433098701620788109719395722228737659456748223236458297980065742773163047379498077909328830014089823685729134166740516450214118523534694910813818939014553585717212194451839826896369538635614458351641396605116470180758861941638050252290284594402463763059944829004783722388984016551635333108838824433253176071255617980181948441404516016562768515406355778250439090588845903947186264984518928197393489273769804766121062082150601381207017560505615722248717792332332687138951876277242027637747867248637507940236031533108019901764306213443451244438746679750288882110433584035326933692211965767347545300977987162603106887277797012228301201744836865772465158674627083189211256661419869936680630317889351898601685925600846227677366856108710556447586115241268210598300699069905385809065385960201469568468136093649281454637132582706504153103056544470050927088013866873566604098770975679463982515750759961328391384050460632854703994422763690829337215612626549032648596711996385844020949482618526727110475572155699231885363270674853121005019493610669788228643776408366238854577309519255988019207 258916943162919568410728372672920327733961832997458274960102336654349120813362335606537879961192230761953149521792941957876627188417889496154036401474709983046955260550534695784995506655630266001681306437543177366369620937383157802190334996187339590020053868445054591299039999339201608328562638058361372831278364762838511288238662166412459796050910531349370907237949248585746722964282228400847021056611972125583898063360172058067190492044642269365406119156168155747993132020854482605802277375597071010081128761204261663727034626130203455497791713046500457242819100574864583864949157612241396559712915209999525071883554941863248886121894991272806693261272185425885107884694047540410853138920524049266482533047671323147223787250108408938310263335108570756525331009352811765832401632653631784279027557446037615961681366830036911884292650006864753727524670400738012474071513874575381305267885069782140398918464493712241764409979967113004570107905705756638263548436028731250938355013602276408339993427245845066873928320449883570620670511960964794242286634272898463799483267820503398775137103249457790889035678209826918352338874817666760372265925197442577218511175045348033261461200868223721271918589383038881923474653236109771489071868385232561683252524682754632301929253996947067072715971506358594966763375141556985121047260910144252333246909621861535248135394966943460532053008256968252243978792830176839846371331193514924955694984090860350227325828412963313569189440509071242004327060373369911308347896353104022778933171406452693955851393915001160065535826665054224480503469307256355720797209779221167919641194878731904995947137725959147919209942512313309753987012284076064498428329801969708759881151949703830168897787019309339087130947948711562211686358463108157731547426512628989555631763279538600233497172497375899842844299474657802415971602101730911143348119338973444022141911080692695530968362547539068337124616071139364820971919720776592796351836211485326142898586461301899567976779030430170309896039584286528202826175204776483238642724679852735491862027097589727048341846199573018532893819839045476099311053647402781741704991736720971185059782056015020975699498638532312187183299936735583943584538328853364972717302577737440842417358036870480595115994059011874802910591612412226129706176420967940914956807414755106540074394721554766679159038292325069081191939681001456120989199920934846764411430092471521968170596781208210295396566854905559541923389818468678026369567431191137301188833986329861681294112948099940090128435402647161729930675100049729018963871088636 418936414300828564789602857575633816526279726149611106601941209342902855468844203600792698581059868629344027607864496405853745056538474558061188035043964186928636795682577438437342217376702023359935936709905626708972996094968278414048905250651311290342930271508034663610128261926454685343865939708635948138285880900688443152526096722308217633546536816755040314417359595723842870064466198529021811195612821020167415564787515615170231297092443078259502236270180176572912242343658053745986072757886494729860197733078862090304540052255034335498822609549942864065441577496889647819909446050539624648258508656009760708153168706353455278129209880443308267413830368251941596947544902070296219599811347420871326323759632421265974523084476905939888393089937640490773414995225991081531949680747328788639158967549525014053068182023891356927284178507428179795347568635789283634304033566614459278271001283606763942847264534037703461023341522771299382343280178756803558324654835946126435602790088709576060168269112836236661293537502086175637741103812549942753557879269131044910955861323410599895119847764479913475263827703980277760933164902920247859275825411990806613005691189358836887403689951397549333952768312642028283797171782712345432702140293187275682995131752012620361171147220704457675604090380776310856173744235200329020425381084076039053117671454761105216063204573681223738884792504766541237630236355849030548455367775415093073084103434789980108554550636682372881525787306626669579361072608003344407049517141213742174655400144112150704074630373299140131278599828101603978581378636086369810620895508355334660157645092850428530642048539778086933763528229525504205826839180445603134042788153611105364997622130462692110535837271599623681533411711771507040691142185497141748099061845737828380065016455609855851477354445817304358860862243173208771749852540821499989252066525238428541070108474181969300773128668601150487725997278156925326587641969494385128684523350437202420140614099049766816614286970666201843004059486050834416269626449215229918393013561963169075897354031281939014109193744873996520056422945932753896323281948604526578570764201879645812142971267271682395569435319162630076535198538421509544430766006220221081427859025323556083685568635171179665021379868077260763112061180880362223355457875605073497663311567858163084544445648642780546032604896423840056871403663517206880950528312318897225044284796465944731861426118423822921945599503502271538309233839418160644896294541666709456888065871693132356147233953119433700798223631290938138296913954627038538219859107843 677853357463748133200331230248554144260241559147069381562043545997251976282206539207330578542252099391297177129657438363730372244956364054215224436518674169975592056233112134222337724032332289361617243147448804075342617032351436216239240246838650880362984139953089254909168261265656293672428577766997320969564245663526954440764758888720677429597447348104411221655308844309589593028748426929868832252224793145751313628147687673237421789137085347624908355426348332320905374364512536351788350133483565739941326494283123754031574678385237790996614322596443321308260678071754231684858603662781021207971423866009285780036723648216704164251104871716114960675102553677826704832238949610707072738731871470137808856807303744413198310334585314878198656425046211247298746004578802847364351313400960572918186524995562630014749548853928268811576828514292933522872239036527296108375547441189840583538886353388904341765729027749945225433321489884303952451185884513441821873090864677377373957803690985984400161696358681303535221857951969746258411615773514736995844513542029508710439129143913998670256951013937704364299505913807196113272039720587008231541750609433383831516866234706870148864890819621270605871357695680910207271825018822116921774008678419837366247656434767252663100401217651524748320061887134905822937119376757314141472641994220291386364581076622640464198599540624684270937800761734793481609029186025870394826698968930018028779087525650330335880379049645686450715227815697911583688132981373255715397413494317764953588571550564844659926024288300300196814426493155828459084847943342725531418105287576502579798839971582333526589186265737234852973470741838813959813851464521667632471117955580814124878774080166522279433624290908962768664359660483069252377500648605299479646488358366817935696779735148456084974526943193204201705161717831011187721454642552411132600185864211872563212019554874664831741491216140218824850613349296290147559561690270977925036359561922528563039200560351666384591066001096372152900099070337362619095801653991713157035738241815904567759381128871666062451039944447015052950242784978229995634335596007308320275755938600616997202753323286703371268933957694942263718498475157093488015304335073586054145161603060996926102926672041660260137373927089135566022652793292588353061634296573014412620118982613269624618840370197547225191643188748909138063343344518663001939728233253743989455714888937466700032022899632033217342166358407831080232623657886838671265861972857846758076899858022994037441346901219373790926659033938099868227589054676767557183730196479 1096789771764576697989934087824187960786521285296680488163984755340154831751050742808123277123311968020641204737521934769584117301494838612276412471562638356904228851915689572659679941409034312721553179857354430784315613127319714630288145497489962170705914411461123918519296523192110979016294517475633269107850126564215397593290855611028895063143984164859451536072668440033432463093214625458890643447837614165918729192935203288407653086229528425884410591696528508893817616708170590097774422891370060469801524227361985844336114730640272126495436932146386185373702255568643879504768049713320645856229932522019046488189892354570159442380314752159423228088932921929768301779783851681003292338543218891009135180566936165679172833419062220818087049514983851738072160999804793928896300994148289361557345492545087644067817730877819625738861007021721113318219807672316579742679581007804299861809887636995668284612993561787648686456663012655603334794466063270245380197745700623503809560593779695560460329965471517540196515395454055921896152719586064679749402392811160553621394990467324598565376798778417617839563333617787473874205204623507256090817576021424190444522557424065707036268580771018819939824126008322938491068996801534462354476148971607113049242788186779873024271548438355982423924152267911216679110863611957643161898023078296330439482252531383745680261804114305908009822593266501334719239265541874900943282066744345111101863190960440310444434929686328059332241015122324581163049205589376600122446930635531507128243971694676995364000654661599440328093026321257432437666226579429095342039000795931837239956485064432762057231234805515321786736998971364318165640690644967270766513906109191919489876396210629214389969461562508586450197771372254576293068642834102441227745550204104646315761796190758311936451881389010508560566023961004219959471307183373911121852252389450301104282128029056634132514619884741369312576610627453215474147203659765363053720882912359730983179814659401433201205352971762573995904158556388197035365428103206943075428751803779073643656735160153605076560233689321011573006665730910983891957617544611834898846520140480262809345724590558385766838369276857572340253697013578603032446070341293807135573020628384553009788495307212839925158753795166396329134713974172950576417092172178087910283430550471432709163286018840327771224248085172749194934747008035869882890256545572641214499999685403411431893449018055856139287765861910102618541857497304999316162156514524556214964965729716126393588580854338807491724882665229038006524503009303806095403589304322 1774643129228324831190265318072742105046762844443749869726028301337406808033257282015453855665564067411938381867179373133314489546451202666491636908081312526879820908148801706882017665441366602083170423004803234859658230159671150846527385744328613051068898551414213173428464784457767272688723095242630590077414372227742352034055614499749572492741431512963862757727977284343022056121963052388759475700062407311670042821082890961645074875366613773509318947122876841214722991072683126449562773024853626209742850721645109598367689409025509917492051254742829506681962933640398111189626653376101667064201356388028332268226616002786863606631419623875538188764035475607595006612022801291710365077275090361146944037374239910092371143753647535696285705940030062985370907004383596776260652307549249934475532017540650274082567279731747894550437835536014046841092046708843875851055128448994140445348773990384572626378722589537593911889984502539907287245651947783687202070836565300881183518397470681544860491661830198843731737253406025668154564335359579416745246906353190062331834119611238597235633749792355322203862839531594669987477244344094264322359326630857574276039423658772577185133471590640090545695483704003848698340821820356579276250157650026950415490444621547125687371949656007507172244214155046122502047982988714957303370665072516621825846833608006386144460403654930592280760394028236128200848294727900771338108765713275129130642278486090640780315308735973745782956242938022492746737338570749855837844344129849272081832543245241840023926678949899740524907452814413260896751074522771820873457106083508339819755325036015095583820421071252556639710469713203132125454542109488938398985024064772733614755170290795736669403085853417549218862131032737645545446143482707740707392038562471464251458575925906768021426408332203712762271185678835231147192761825926322254452438253662173667494147583931298964256111100881588137427223976749505621706765350036340978757242474282259546219015219753099585796418972858946148804257626725559654461229757198656232464490045594978211416116289025271139011273633768026625956908515889213887591953140619143219122276079080879806548477913845089138107303234552514603972195488735696520461374676367393189718182231445549935891421979254500185296127722255531895157366767465538929478726468751102322903549533084702333782126389037874996415891273921658332998090352554532884829984778826385203955714574340878131925471917687889356629932220317933698774481155191837987428018487382402973041865587739120431029927755558181282651541699167137874752092063980573652587319500801 2871432900992901529180199405896930065833284129740430357890013056677561639784308024823577132788876035432579586604701307902898606847946041278768049379643950883784049760064491279541697606850400914804723602862157665643973843286990865476815531241818575221774812962875337091947761307649878251705017612718263859185264498791957749627346470110778467555885415677823314293800645724376454519215177677847650119147900021477588772014018094250052727961596142199393729538819405350108540607780853716547337195916223686679544374949007095442703804139665782043987488186889215692055665189209041990694394703089422312920431288910047378756416508357357023049011734376034961416852968397537363308391806652972713657415818309252156079217941176075771543977172709756514372755455013914723443068004188390705156953301697539296032877510085737918150385010609567520289298842557735160159311854381160455593734709456798440307158661627380240910991716151325242598346647515195510622040118011053932582268582265924384993078991250377105320821627301716383928252648860081590050717054945644096494649299164350615953229110078563195801010548570772940043426173149382143861682448967601520413176902652281764720561981082838284221402052361658910485519609712326787189409818621891041630726306621634063464733232808326998711643498094363489596168366422957339181158846600672600465268688150812952265329086139390131824722207769236500290582987294737462920087560269775672281390832457620240232505469446530951224750238422301805115197258060347073909786544160126455960291274765380779210076514939918835387927333611499180853000479135670693334417301102200916215496106879440177059711810100447857641051655876767878426447468684567450291095232754456209165498930173964653104631566501424951059372547415926135669059902404992221838514786316810181935137588766576110567220372116665079957878289721214221322837209639839451106664069009300233376304690643112474771776275612987933096770730985622957450003834604202721095853969009801704032478125386641990529398829879154532787001771944621520144708416183113756689826657860405599307893241849374051855072851449178876215571507323089038198963574246800197779549570685230978117968796219561142615894202504403474904945672511410086944225892502314299552907445017661200325291202859830102945679917286467340110454881517421928224292080741638489505895818640929190233186980083556135042945412407878202767640139359094407527932837360590402767720241324399026418455714259744289563818920935743745495917698082228036317316338652496837303590175001906959188006831317455246824618508609896988774376424364396175881276595073284379747990908805123 4646076030221226360370464723969672170880046974184180227616041358014968447817565306839030988454440102844517968471880681036213096394397243945259686287725263410663870668213292986423715272291767516887894025866960900503632073446662016323342916986147188272843711514289550265376226092107645524393740707960894449262678871019700101661402084610528040048626847190787177051528623008719476575337140730236409594847962428789258814835100985211697802836962755972903048485942282191323263598853536842996899968941077312889287225670652205041071493548691291961479539441632045198737628122849440101884021356465523979984632645298075711024643124360143886655643153999910499605617003873144958315003829454264424022493093399613303023255315415985863915120926357292210658461395043977708813975008571987481417605609246789230508409527626388192232952290341315414839736678093749207000403901090004331444789837905792580752507435617764813537370438740862836510236632017735417909285769958837619784339418831225266176597388721058650181313289131915227659989902266107258205281390305223513239896205517540678285063229689801793036644298363128262247289012680976813849159693311695784735536229283139338996601404741610861406535523952299001031215093416330635887750640442247620906976464271661013880223677429874124399015447750370996768412580578003461683206829589387557768639353223329574091175919747396517969182611424167092571343381322973591120935854997676443619499598170895369363147747932621592005065547158275550898153500998369566656523882730876311798135618895230051291909058185160675411854012561398921377907931950083954231168375624972737088953212962948516879467135136462953224872076948020435066157938397770582416549774863945147564483954238737386719386736792220687728775633269343684887922033437729867383960929799517922642529627329047574818678948042571847979304698053417934085108395318674682253856830835226555630757128896774648439270423196919232061026842086504545587431058580952226717560734359838045011235367860924250075617845098907632372798190917480466293512673809839316344287887617604255540357731894969030066488967738204147354582780956857064824920482762689411667141523825850121337091072298642022422442680418248564043052975745962601548198087991049996073368819694028593515009385091275652881571339265721840295751009239677460119449447509104028435374545109680292556090529616640837376727538796916077764056030633016065860930927713144935652550226103225411622411428834085167695744392853431634852547630302545970016090819807688675291018193489289362161048696905194367255648436365455170057027966063563313756028687137264953400578228305924 7517508931214127889550664129866602236713331103924610585506054414692530087601873331662608121243316138277097555076581988939111703242343285224027735667369214294447920428277784265965412879142168431692617628729118566147605916733652881800158448227965763494618524477164887357323987399757523776098758320679158308447943369811657851288748554721306507604512262868610491345329268733095931094552318408084059713995862450266847586849119079461750530798558898172296778024761687541431804206634390559544237164857300999568831600619659300483775297688357074005467027628521260890793293312058482092578416059554946292905063934208123089781059632717500909704654888375945461022469972270682321623395636107237137679908911708865459102473256592061635459098099067048725031216850057892432257043012760378186574558910944328526541287037712126110383337300950882935129035520651484367159715755471164787038524547362591021059666097245145054448362154892188079108583279532930928531325887969891552366608001097149651169676379971435755502134916433631611588242551126188848255998445250867609734545504681891294238292339768364988837654846933901202290715185830358957710842142279297305148713131935421103717163385824449145627937576313957911516734703128657423077160459064138662537702770893295077344956910238201123110658945844734486364580947000960800864365676190060158233908041374142526356505005886786649793904819193403592861926368617711054041023415267452115900890430628515609595653217379152543229815785580577356013350759058716640566310426891002767758426893660610830501985573125079510799781346172898102230908411085754647565585676727173653304449319842388693939178945236910810865923732824788313492605407082338032707645007618401356729982884412702039824018303293645638788148180685269820556981935842722089222475716116328104577667216095623685385899320159236927937182987774632155407945604958514133360520899844526789007061819539887123211046698809907165157797573072127503037434893185154947813414703369639749043713493247566240605016674978062165159799962862101986438221089992953073034114545478009854848250973744343081921561819187383023570154288279946103023884057009489609446691094511081099455059868518203165038336882922652038947998648257372688492423980493364295626276264711689793840300587951105755827251256552189180406205890757099388343741528250742517941270363750609482789277509700196972419672951204794280531696169992110473388863765073735338420270467427624438040867143093829457259563313789175380348465328384774006333407158460185512594608368491196321349055528222649614080266944975352158831404390427959489637305282210549333148569137111047 12163584961435354249921128853836274407593378078108790813122095772707498535419438638501639109697756241121615523548462669975324799636740529169287421955094477705111791096491077252389128151433935948580511654596079466651237990180314898123501365214112951767462235991454437622700213491865169300492499028640052757710622240831357952950150639331834547653139110059397668396857891741815407669889459138320469308843824879056106401684220064673448333635521654145199826510703969732755067805487927402541137133798378312458118826290311505524846791237048365966946567070153306089530921434907922194462437416020470272889696579506198800805702757077644796360298042375855960628086976143827279938399465561501561702402005108478762125728572008047499374219025424340935689678245101870141071018021332365667992164520191117757049696565338514302616289591292198349968772198745233574160119656561169118483314385268383601812173532862909867985732593633050915618819911550666346440611657928729172150947419928374917346273768692494405683448205565546839248232453392296106461279835556091122974441710199431972523355569458166781874299145297029464538004198511335771560001835590993089884249361218560442713764790566060007034473100266256912547949796544988058964911099506386283444679235164956091225180587668075247509674393595105483132993527578964262547572505779447716002547394597472100447680925634183167763087430617570685433269749940684645161959270265128559520390028799410978958800965311774135234881332738852906911504260057086207222834309621879079556562512555840881793894631310240186211635358734297023608816343035838601796754052352146390393402532805337210818646080373373764090795809772808748558763345480108615124194782482346504294466838651439426543405040085866326516923813954613505444903969280451956606436645915846027220196843424671260204578268201808775916487685828050089493054000277188815614377730679753344637818948436661771650317122006826397218824415158632048624865951766107174530975437729477794054948861108490490680634520076969797532598153779582452731733763802792389378402433095614110388608705639312111988050786925587170924737069236803167848804539772179021113832618336931220792150940816845187460779563340900602991051624003335290040622068484414291699645084405718387355309973042381408708822595817911020701956899996776848463190975759846546376644908860289775345368039316837809796400490001710358295752200625126539249794692786880274072820693530849849663278571927914624955307706642607015201012958687319976349497978267874187885626561980485683510104225127843981335915381340807328888432356491522803393333969347814286549147365416971 19681093892649482139471792983702876644306709182033401398628150187400028623021311970164247230941072379398713078625044658914436502879083814393315157622463691999559711524768861518354541030576104380273129283325198032798843906913967779923659813442078715262080760468619324980024200891622693076591257349319211066158565610643015804238899194053141055257651372928008159742187160474911338764441777546404529022839687329322953988533339144135198864434080552317496604535465657274186872012122317962085374298655679312026950426909970806008622088925405439972413594698674566980324214746966404287040853475575416565794760513714321890586762389795145706064952930751801421650556948414509601561795101668738699382310916817344221228201828600109134833317124491389660720895095159762573328061034092743854566723431135446283590983603050640412999626892243081285097807719396717941319835412032333905521838932630974622871839630108054922434094748525238994727403191083597274971937545898620724517555421025524568515950148663930161185583121999178450836475004518484954717278280806958732708987214881323266761647909226531770711953992230930666828719384341694729270843977870290395032962493153981546430928176390509152662410676580214824064684499673645482042071558570524945982382006058251168570137497906276370620333339439839969497574474579925063411938181969507874236455435971614626804185931520969817556992249810974278295196118558395699202982685532580675421280459427926588554454182690926678464697118319430262924855019115802847789144736512881847314989406216451712295880204435319697011416704907195125839724754121593249362339729079320043697851852647725904757825025610284574956719542597597062051368752562446647831839790100747861024449723064141466367423343379511965305071994639883326001885905123174045828912362032174131797864059520294945590477588361045703853670673602682244900999605235702948974898630524280133644880767976548894861363820816733562376621988230759551662300844951262122344390141099117543098662354356056731285651195055031962692398116641684439169954853795745462412516978573623965236859679383655193909612606112970194494891357516749270872688596781668630560523712848012320247210809335048352499116446263552641939050272260707978533046048977778587325921349117408181195610560993487164536073852370100201108162790753876236806932504010589064317915272610899258134645549017034782216073441206504638827448370617237012638658457860615612493091160958474287704145715021744082214871020431782395549478287072093982682905136728059700480234930471682004859159753350493595416182326316159487719836746919482293030639251558363619697716502528018 31844678854084836389392921837539151051900087260142192211750245960107527158440750608665886340638828620520328602173507328889761302515824343562602579577558169704671502621259938770743669182010040328853640937921277499450081897094282678047161178656191667029542996460073762602724414383487862377083756377959263823869187851474373757189049833384975602910790482987405828139045052216726746434331236684724998331683512208379060390217559208808647198069602206462696431046169627006941939817610245364626511432454057624485069253200282311533468880162453805939360161768827873069855136181874326481503290891595886838684457093220520691392465146872790502425250973127657382278643924558336881500194567230240261084712921925822983353930400608156634207536149915730596410573340261632714399079055425109522558887951326564040640680168389154715615916483535279635066579918141951515479955068593503024005153317899358224684013162970964790419827342158289910346223102634263621412549203827349896668502840953899485862223917356424566869031327564725290084707457910781061178558116363049855683428925080755239285003478684698552586253137527960131366723582853030500830845813461283484917211854372541989144692966956569159696883776846471736612634296218633541006982658076911229427061241223207259795318085574351618130007733034945452630568002158889325959510687748955590239002830569086727251866857155152985320079680428544963728465868499080344364941955797709234941670488227337567513255148002700813699578451058283169836359279172889055011979046134760926871551918772292594089774835745559883223052063641492149448541097157431851159093781431466434091254385453063115576471105983658339047515352370405810610132098042555262956034572583094365318916561715580892910828383465378291821995808594496831446789874403626002435349007948020159018060902944966205795055856562854479770158359430732334394053605512891764589276361204033478282699716413210666511680942823559959595446403389391600287166796717369296875365578828595337153611215464547221966285715132001760224996270421266891901688617598537851790919411669238075625468385022967305897663393038557365419628426753552438721493136553847651674356331184943541039361750151893539959896009604453244930101896264043268573668117462192879025566433523126568550920534035868573244896448188011221810119690750653085270123479770435610694560181471189033480013588333872592012473931208214997123200571242363551888453150647495886565911854489324137367424286949658707170178727074389410750491245759413959032403114995933888365861492452167688369263978478337576752097707656966816608269103411005096423973220906177906246863867944989 51525772746734318528864714821242027696206796442175593610378396147507555781462062578830133571579900999919041680798551987804197805394908157955917737200021861704231214146028800289098210212586144709126770221246475532248925804008250457970820992098270382291623756928693087582748615275110555453675013727278474890027753462117389561427949027438116658168441855915413987881232212691638085198773014231129527354523199537702014378750898352943846062503682758780193035581635284281128811829732563326711885731109736936512019680110253117542090969087859245911773756467502440050179350928840730768544144367171303404479217606934842581979227536667936208490203903879458803929200872972846483061989668898978960467023838743167204582132229208265769040853274407120257131468435421395287727140089517853377125611382462010324231663771439795128615543375778360920164387637538669456799790480625836929526992250530332847555852793079019712853922090683528905073626293717860896384486749725970621186058261979424054378174066020354728054614449563903740921182462429266015895836397170008588392416139962078506046651387911230323298207129758890798195442967194725230101689791331573879950174347526523535575621143347078312359294453426686560677318795892279023049054216647436175409443247281458428365455583480627988750341072474785422128142476738814389371448869718463464475458266540701354056052788676122802877071930239519242023661987057476043567924641330289910362950947655264156067709330693627492164275569377713432761214298288691902801123782647642774186541324988744306385655040180879580234468768548687275288265851279025100521433510510786477789106238100789020334296131593942914004234894968002872661500850605001910787874362683842226343366284779722359278251726844890257127067803234380157448675779526800048264261369980194290815924962465261151385533444923900183623829033033414579295053210748594713564174991728313611927580484389759561373044763640293521972068391620151151949467641668631419219755719927712880252273569820603953251936910187033722917394387062951331071643471394283314203436390242862040862328064406622499807275999151527559914519784270301709594181733335516282234880044032955861286572559486941892459012455868005886869152168524751247106714166439971466351487782640534749746531095029355737780970300558111422918282481504529322077055983781024675012475454082088291614659137350907374228547372414719635950648941859600564527111608508111499059003015447798425071570001971402789385049747506171806299969532831507941715308251723993588846096422923849693228423731828831172168280033973126304328105850330487389454612472464541525944580370473007 83370451600819154918257636658781178748106883702317785822128642107615082939902813187496019912218729620439370282972059316693959107910732501518520316777580031408902716767288739059841879394596185037980411159167753031699007701102533136017982170754462049321166753388766850185473029658598417830758770105237738713896941313591763318616998860823092261079232338902819816020277264908364831633104250915854525686206711746081074768968457561752493260573284965242889466627804911288070751647342808691338397163563794560997088933310535429075559849250313051851133918236330313120034487110715057250047435258767190243163674700155363273371692683540726710915454877007116186207844797531183364562184236129219221551736760668990187936062629816422403248389424322850853542041775683028002126219144942962899684499333788574364872343939828949844231459859313640555230967555680620972279745549219339953532145568429691072239865956049984503273749432841818815419849396352124517797035953553320517854561102933323540240397983376779294923645777128629031005889920340047077074394513533058444075845065042833745331654866595928875884460267286850929562166550047755730932535604792857364867386201899065524720314110303647472056178230273158297289953092110912564056036874724347404836504488504665688160773669054979606880348805509730874758710478897703715330959557467419054714461097109788081307919645831275788197151610668064205752127855556556387932866597127999145304621435882601723580964478696328305863854020435996602597573577461580957813102828782403701058093243761036900475429875926439463457520832190179424736806948436456951680527291942252911880360623553852135910767237577601253051750247338408683271632948647557173743908935266936591662282846495303252189080110310268548949063611828876988895465653930426050699610377928214449833985865410227357180589301486754663393987392464146913689106816261486478153451352932347090210280200802970227884725706463853481567514795009542752236634438386000716095121298756308217405884785285151175218222625319035483142390657484218222973332088992821165994355801912100116487796449429589805704939392190084925334148211023854148315674869889363933909236375217899402325934309638835432418908465472459131799254064788794515680382283902164345377054216163661318297451629065224311025866748746122644728402172255182407347179463551460285707035635553277325094672725684779966241021303622934633073849513101964116415564759155607385624914869937122562438994288921061496555228474580561217050460778590921900747711366719927477211957915376017381597687710307168748920377741630093120936374953741492485878585693370719432191444238417996 134896224347553473447122351480023206444313680144493379432507038255122638721364875766326153483798630620358411963770611304498156913305640659474438053977601893113133930913317539348940089607182329747107181380414228563947933505110783593988803162852732431612790510317459937768221644933708973284433783832516213603924694775709152880044947888261208919247674194818233803901509477600002916831877265146984053040729911283783089147719355914696339323076967724023082502209440195569199563477075372018050282894673531497509108613420788546617650818338172297762907674703832753170213838039555788018591579625938493647642892307090205855350920220208662919405658780886574990137045670504029847624173905028198182018760599412157392518194859024688172289242698729971110673510211104423289853359234460816276810110716250584689104007711268744972847003235092001475395355193219290429079536029845176883059137818960023919795718749129004216127671523525347720493475690069985414181522703279291139040619364912747594618572049397134022978260226692532771927072382769313092970230910703067032468261205004912251378306254507159199182667397045741727757609517242480961034225396124431244817560549425589060295935253650725784415472683699844857967271888003191587105091091371783580245947735786124116526229252535607595630689877984516296886852955636518104702408427185882519189919363650489435363972434507398591074223540907583447775789842614032431500791238458289055667572383537865879648673809389955798028129589813710035358787875750272860614226611430046475244634568749781206861084916107319043691989600738866700025072799715482052201960802453039389669466861654641156245063369171544167055985142306411555933133799252559084531783297950778818005649131275025611467331837155158806076131415063257146344141433457226098963871747908408740649910827875488508566122746410654847017816425497561492984160027010081191717626344660660702137860685192729789257770470104147003539583186629693904186102080054632135314877018684021097658158355105755128470159535506069206059785044547169554044975560387104480197792192154962157350124513836212305512215391341612485248667995294155857909856603224880216144116419250855263612506869125777324877920921340465018668406233313545762787096450342135811728541998804196068043982724094580048806837049304234067646684653759711729424235447332484960719511089635365616709331863035687340469568676037654269024498454961564680942676367663718884683917885384920987510564290892464285940278222086733023350430311422429842463019618443921066058054338299867074826111442135999921088657775603219425264480804071979875333198165835260958136024608891003 218266675948372628365379988138804385192420563846811165254635680362737721661267688953822173396017360240797782246742670621192116021216373160992958370755181924522036647680606278408781969001778514785087592539581981595646941206213316730006785333607194480933957263706226787953694674592307391115192553937753952317821636089300916198661946749084301180326906533721053619921786742508367748464981516062838578726936623029864163916687813476448832583650252689265971968837245106857270315124418180709388680058237326058506197546731323975693210667588485349614041592940163066290248325150270845268639014884705683890806567007245569128722612903749389630321113657893691176344890468035213212186358141157417403570497360081147580454257488841110575537632123052821964215551986787451291979578379403779176494610050039159053976351651097694817078463094405642030626322748899911401359281579064516836591283387389714992035584705178988719401420956367166535913325086422109931978558656832611656895180467846071134858970032773913317901906003821161802932962303109360170044625424236125476544106270047745996709961121103088075067127664332592657319776067290236691966761000917288609684946751324654585016249363954373256471650913973003155257224980114104151161127966096130985082452224290789804687002921590587202511038683494247171645563434534221820033367984653301573904380460760277516671892080338674379271375151575647653527917698170588819433657835586288200972193819420467603229638288086284103891983610249706637956361453211853818427329440212450176302727812510818107336514792033758507149510432929046124761879748151939003882488094395292301549827485208493292155830606749145420107735389644820239204766747900116258275692233217715409667931977770328863656411947465427355025195026892134135239607087387652149663482125836623190483896693285715865746712047897409510411803817961708406673266843271567669871077697593007792348140885995700017142496176568000485107097981639236656422736518440632851409998317440329315064043140390906303688382160825104689202175702031387777018307649379925646192147994067062273837920963265802111217154783531697410582816206318010006225531473114244150053352794468754665938441178764612757296829386812924150467660298102340278467478734244300157105596214967857386341434353159804359832703798050356712375086826014894136771414910883945246426546725188642941804004588720467306710589979660588902098347968063528797358241126819326270308832755322043549949558579813525782495506696667294240400891090013351743210730985163848543270012253675884456423799152443168670009035517233312546200855757813472361211783859205980390327468847308999 353162900295926101812502339618827591636734243991304544687142718617860360382632564720148326879815990861156194210513281925690272934522013820467396424732783817635170578593923817757722058608960844532194773919996210159594874711324100323995588496459926912546747774023686725721916319526016364399626337770270165921746330865010069078706894637345510099574580728539287423823296220108370665296858781209822631767666534313647253064407169391145171906727220413289054471046685302426469878601493552727438962952910857556015306160152112522310861485926657647376949267643995819460462163189826633287230594510644177538449459314335774984073533123958052549726772438780266166481936138539243059810532046185615585589257959493304972972452347865798747826874821782793074889062197891874581832937613864595453304720766289743743080359362366439789925466329497643506021677942119201830438817608909693719650421206349738911831303454307992935529092479892514256406800776492095346160081360111902795935799832758818729477542082171047340880166230513694574860034685878673263014856334939192509012367475052658248088267375610247274249795061378334385077385584532717653000986397041719854502507300750243645312184617605099040887123597672848013224496868117295738266219057467914565328399960076913921213232174126194798141728561478763468532416390170739924735776411839184093094299824410766952035864514846072970345598692483231101303707540784621250934449074044577256639766202958333482878312097476239901920113200063416673315149328962126679041556051642496651547362381260599314197599708141077550841500033667912824786952547867421056084448896848331691219294346863134448400893975920689587163720531951231795137900547152675342807475531168494227673581109045354475123743784620586161101326441955391281583748520844878248627353873745031931133807521161204374312834794308064357429620243459269899657426870281648861588704042253668494486001571188429806400266646672147488646681168268930560608838598495264986724875336124350412722201495496661432158541696331173895261960746578557331063283209767030126389940186222024431188045477102014416729370174873309895831484201612165864135388076339124366197469213719609929550948047890390082174750308153389169136066531415886041254575184586435968834138213772053454385417077254384408639540847354590780021771479774605866195650358216430207146057814824008558513336451756154647180158655698243171122846423025093478300917494483045154992750640706964537460122870705990068435784918754027263751321401435781585673750603607769609328066591975751531249910594579168591097693292836531971465336561885452236544982025041241348463493456200002 571429576244298730177882327757631976829154807838115709941778398980598082043900253673970500275833351101953976457255952546882388955738386981460354795487965742157207226274530096166504027610739359317282366459578191755241815917537417054002373830067121393480705037729913513675610994118323755514818891708024118239567966954310985277368841386429811279901487262260341043745082962616738413761840297272661210494603157343511416981094982867594004490377473102555026439883930409283740193725911733436827643011148183614521503706883436498004072153515142996990990860584158885750710488340097478555869609395349861429256026321581344112796146027707442180047886096673957342826826606574456271996890187343032989159755319574452553426709836706909323364506944835615039104614184679325873812515993268374629799330816328902797056711013464134607003929423903285536648000691019113231798099187974210556241704593739453903866888159486981654930513436259680792320125862914205278138640016944514452830980300604889864336512114944960658782072234334856377792996988988033433059481759175317985556473745100404244798228496713335349316922725710927042397161651822954344967747397959008464187454052074898230328433981559472297358774511645851168481721848231399889427347023564045550410852184367703725900235095716782000652767244973010640177979824704961744769144396492485666998680285171044468707756595184747349616973844058878754831625238955210070368106909630865457611960022378801086107950385562524005812096810313123311271510782173980497468885491854946827850090193771417421534114500174836057991010466596958949548832296019360059966936991243623992769121832071627740556724582669835007271455921596052034342667295052791601083167764386209637341513086815683338780155732086013516126521468847525416823355608232530398290835999581655121617704214446920240059546842205473867841424061420978306330693713553216531459781739846676286834142457184129823542762823240147973753779149908167217031575116935897838134873653564679727786244635887567735846923857156278584464136448609945108081590859146955772582088180289086705025966440367816527946524958405007306414300407930175870360919549453368516250822008188364595489389226655002839471579694966313319603726829518226319722053918830736125939734428739910840726851430414188768472244645404947492396858305789500002967065269100375453572604540012651500317341040476621953890748635358832073221194391088622275659158621302371425301583396029008087409681450519515850931291615421321504152212491449133328884481588771618152598078845651635987673709747022337261106728810069844517666192319698924597756765884247221738790962303509001 924592476540224831990384667376459568465889051829420254628921117598458442426532818394118827155649341963110170667769234472572661890260400801927751220220749559792377804868453913924226086219700203849477140379574401914836690628861517377997962326527048306027452811753600239397527313644340119914445229478294284161314297819321054356075736023775321379476067990799628467568379182725109079058699078482483842262269691657158670045502152258739176397104693515844080910930615711710210072327405286164266605964059041170536809867035549020314933639441800644367940128228154705211172651529924111843100203905994038967705485635917119096869679151665494729774658535454223509308762745113699331807422233528648574749013279067757526399162184572708071191381766618408113993676382571200455645453607132970083104051582618646540137070375830574396929395753400929042669678633138315062236916796883904275892125800089192815698191613794974590459605916152195048726926639406300624298721377056417248766780133363708593814054197116007999662238464848550952653031674866706696074338094114510494568841220153062492886495872323582623566717787089261427474547236355671997968733795000728318689961352825141875640618599164571338245898109318699181706218716348695627693566081031960115739252144444617647113467269842976798794495806451774108710396214875701669504920808331669760092980109581811420743621110030820319962572536542109856135332779739831321302555983675442714251726225337134568986262483038763907732210010376539984586660111136107176510441543497443479397452575032016735731714208315913608832510500264871774335784843886781116051385888091955683988416178934762188957618558590524594435176453547283829480567842205466943890643295554703865015094195861037813903899516706599677227847910802916698407104129077408646918189873326687052751511735608124614372381636513538225271044304880248205988120583834865393048485782100344781320144028372559629943029469912295462400460318177097777640413715431162824859748989689030140508446131384229168005465553487452479726097195188502439144874068913985898972028366511111136214011917469830944675895133278317202245784609542341734496307625792492882448291221907974525040337274545392921646330003119702488739793360934112360976629103417172094773872642511964295112268507668573177111785492759538272418629785564105869162715627316805660718662354836660058830677492232776601070907291057075244344040814113715753960076115785416580294334036735972624869804321225505919367076534175348767903533892884914914558232192379387761926145437627387518923620341601505852204422102906376489131528881584376834301747909288463087254455759709003 1496022052784523562168266995134091545295043859667535964570699516579056524470433072068089327431482693065064147125025187019455050845998787783388106015708715301949585031142984010090730113830439563166759506839152593670078506546398934432000336156594169699508157849483513753073138307762663875429264121186318402400882264773632039633444577410205132659377555253059969511313462145341847492820539375755145052756872849000670087026597135126333180887482166618399107350814546120993950266053317019601094248975207224785058313573918985518319005792956943641358930988812313590961883139870021590398969813301343900396961511957498463209665825179372936909822544632128180852135589351688155603804312420871681563908768598642210079825872021279617394555888711454023153098290567250526329457969600401344712903382398947549337193781389294709003933325177304214579317679324157428294035015984858114832133830393828646719565079773281956245390119352411875841047052502320505902437361394000931701597760433968598458150566312060968658444310699183407330446028663854740129133819853289828480125314965253466737684724369036917972883640512800188469871708888178626342936481192959736782877415404900040105969052580724043635604672620964550350187940564580095517120913104596005666150104328812321373013702365559758799447263051424784748888376039580663414274065204824155427091660394752855889451377705215567669579546380600988610966958018695041391670662893306308171863686247715935655094212868601287913544306820689663295858170893310087673979327035352390307247542768803434157265828708490749666823520966861830723884617139906141176018322879335579676757538011006389929514343141260359601706632375143335863823235137258258544973811059940913502356607282676721152684055248792613193354369379650442115230459737309939045209025872908342174369215950055044854431928478719012093112468366301226512318814297388081924508267521947021068154286485556689453485792293152443436154239468085264994671988832367060662994622643253709868294690767271796903852389410643731064190233643798447547226464928060941671554116546800197841239978357837647472622420091683324508660085017472517604857227175245861398699113230096339120529726501200395761117909698086015808343520190452338680698683022247908220713607071251875135839119938082761945584030138164485764815488091353605872129780896417181114291266894849311559148018532709398554961655926415907317565235205202338029619234737087788005595917432764980712279485771745021770298368149596670272055746384334048243442713781151005914524224283279023506597330088623843113311150912976221006797721201283301432058513793535684826045418063218004 2420614529324748394158651662510551113760932911496956219199620634177514966896965890462208154587132035028174317792794421492027712736259188585315857235929464861741962836011437924014956200050139767016236647218726995584915197175260451809998298483121218005535610661237113992470665621407003995343709350664612686562196562592953093989520313433980454038853623243859597978881841328066956571879238454237628895019142540657828757072099287385072357284586860134243188261745161832704160338380722305765360854939266265955595123440954534538633939432398744285726871117040468296173055791399945702242070017207337939364666997593415582306535504331038431639597203167582404361444352096801854935611734654400330138657781877709967606225034205852325465747270478072431267091966949821726785103423207534314796007433981566195877330851765125283400862720930705143621987357957295743356271932781742019108025956193917839535263271387076930835849725268564070889773979141726806526736082771057348950364540567332307051964620509176976658106549164031958283099060338721446825208157947404338974694156185406529230571220241360500596450358299889449897346256124534298340905214987960465101567376757725181981609671179888614973850570730283249531894159280928791144814479185627965781889356473256939020127169635402735598241758857876558857598772254456365083778986013155825187184640504334667310194998815246387989542118917143098467102290798434872712973218876981750886115412473053070224080475351640051821276516831066203280444831004446194850489768578849833786644995343835450892997542916806663275656031467126702498220401983792922292069708767427535360745954189941152118471961699850884196141808828690619693303802979463725488864454355495617367371701478537758966587954765499212870582217290453358813637563866387347692127215746235029227120727685663169468804310115232550318383512671181474718306934881222947317556753304047365849474430513929249083428821763064738898554699786262362772312402547798223487854371632942740008803136898656026071857854964131183543916330838986949986371338996974927570526144913311308977453990275307478417298315224961641710905869627014859339353534801038354281147404452004313645570063775745788682764239701205718297083313551386451041675312125665080315487479713763839430951388445751335122695815630924024037234117876917711741292496523733986775009929249685971617978696024942175156032563217472982561909276019316053783579310852873204585890251469500953337149290092970527689665444683772019039959280277218963158000945973530393676450369720906411025520950430225348965515573015882597495929250082867678266360261702824147913299873822927007 3916636582109271956326918657644642659055976771164492183770320150756571491367398962530297482018614728093238464917819608511482763582257976368703963251638180163691547867154421934105686313880579330182996154057879589254993703721659386241998634639715387705043768510720627745543803929169667870772973471850931088963078827366585133622964890844185586698231178496919567490195303473408804064699777829992773947776015389658498844098696422511405538172069026752642295612559707953698110604434039325366455103914473490740653437014873520056952945225355687927085802105852781887134938931269967292641039830508681839761628509550914045516201329510411368549419747799710585213579941448490010539416047075272011702566550476352177686050906227131942860303159189526454420190257517072253114561392807935659508910816380513745214524633154419992404796046108009358201305037281453171650306948766600133940159786587746486254828351160358887081239844620975946730821031644047312429173444165058280651962301001300905510115186821237945316550859863215365613545089002576186954341977800694167454819471150659995968255944610397418569333998812689638367217965012712924683841696180920201884444792162625222087578723760612658609455243351247799882082099845508886661935392290223971448039460802069260393140872000962494397689021909301343606487148294037028498053051217979980614276300899087523199646376520461955659121665297744087078069248817129914104643881770288059057979098720769005879174688220241339734820823651755866576303001897756282524469095614202224093892538112638885050263371625297412942479552433988533222105019123699063468088031646763115037503492200947542047986304841111243797848441203833955557127038116721984033838265415436530869728308761214480119272010014291826063936586670103800928868023603697286737336241619143371401489943635718214323236238593951562411495981037482701230625749178611029242065020825994386917628716999485938536914614056217182334708939254347627766984391380165284150848994276196449877097827665927822975710244374774914608106564482785397533597803925035869242080261460111506818693968633145125889920735316644966219565954644487376944210761976284215679846517682100652766099790276946184443882149399291734105426833741838789722373995147912988536201086785015714566790508383834097068279845769088509802049605968271317613422277420151167889301196144535283177126714557651573710994219143888889879474511224518391813198545589960992591486168902265934049428775864715549459963812833368689312015026661553011401443659754681399590974594004185434532118280518849192078826723928858818502726971284150979698418775496359832739345291886145011 6337251111434020350485570320155193772816909682661448402969940784934086458264364852992505636605746763121412782710614030003510476318517164954019820487567645025433510703165859858120642513930719097199232801276606584839908900896919838051996933122836605710579379171957741738014469550576671866116682822515543775525275389959538227612485204278166040737084801740779165469077144801475760636579016284230402842795157930316327601170795709896477895456655886886885483874304869786402270942814761631131815958853739756696248560455828054595586884657754432212812673222893250183307994722669912994883109847716019779126295507144329627822736833841449800189016950967292989575024293545291865475027781729672341841224332354062145292275940432984268326050429667598885687282224466893979899664816015469974304918250362079941091855484919545275805658767038714501823292395238748915006578881548342153048185742781664325790091622547435817917089569889540017620595010785774118955909526936115629602326841568633212562079807330414921974657409027247323896644149341297633779550135748098506429513627336066525198827164851757919165784357112579088264564221137247223024746911168880666986012168920350404069188394940501273583305814081531049413976259126437677806749871475851937229928817275326199413268041636365229995930780767177902464085920548493393581832037231135805801460941403422190509841375335708343648663784214887185545171539615564786817617100647269809944094511193822076103255163571881391556097340482822069856747832902202477374958864193052057880537533456474335943260914542104076218135583901115235720325421107491985760157740414190650398249446390888694166458266540962127993990250032524575250430841096185709522702719770932148237100010239752239085859964779791038934518803960557159742505587470084634429463457365378400628610671321381383792040548709184112729879493708664175948932684059833976559621774130041752767103147513415187620343435819281921233263639040609990539296793927963507638703365909139189885900964564583849047568099338906098152022895321772347519969142922010796812606406373422815796147958908452604307219050541606607930471824271502236283564296777322569960993922134104966411669854052691973126646389100497452402510147293225240764049307273578068851688566498779553997741896829585432190975661400012533839283723845189029354714773943885154664311125394221254795105410582593748867026782361361872441383787243834445596777856442834197177376420371766887386578065957686077149629257517140708351974306938771974559444605728211793267424963725091845557639230949074541044342296944741415998656221367018657964779037199183980652645165709072018 10253887693543292306812488977799836431872886453825940586740260935690657949631763815522803118624361491214651247628433638514993239900775141322723783739205825189125058570320281792226328827811298427382228955334486174094902604618579224293995567762551993415623147682678369483558273479746339736889656294366474864488354217326123361235450095122351627435315980237698732959272448274884564701278794114223176790571173319974826445269492132407883433628724913639527779486864577740100381547248800956498271062768213247436901997470701574652539829883110120139898475328746032070442933653939880287524149678224701618887924016695243673338938163351861168738436698767003574788604234993781876014443828804944353543790882830414322978326846660116211186353588857125340107472481983966233014226208823405633813829066742593686306380118073965268210454813146723860024597432520202086656885830314942286988345529369410812044919973707794704998329414510515964351416042429821431385082971101173910254289142569934118072194994151652867291208268890462689510189238343873820733892113548792673884333098486726521167083109462155337735118355925268726631782186149960147708588607349800868870456961082975626156767118701113932192761057432778849296058358971946564468685263766075908677968278077395459806408913637327724393619802676479246070573068842530422079885088449115786415737242302509713709487751856170299307785449512631272623240788432694700922260982417557869002073609914591081982429851792122731290918164134577936433050834799958759899427959807254281974430071569113220993524286167401489160615136335103768942430440231191049228245772060953765435752938591836236214444571382073371791838691236358530807557879212907693556540985186368679106828319000966719205131974794082864998455390630660960671373611073781921166799698984521772030100614957099598115276787303135675141375474746146877179558433238445005801686794956036139684731864512901126157258049875499103567972578294957618306281185308128791789552360185335639762998792230511672023278343713681012760129459804557745053566946847046666054686667833534322614841927541597730197139785858251574150037778915989613227775058753606785640840439816205619177769644329638157570528538499789186507936981035064030486423302421491057387889653283795268564532405213419529259255507169101043641333329813460346968137051364036322553612321538756537972232125140245322578021001505250762320858298468352837409976402032795189768862589274032821436006841822401626609593070350509397663989333600324985960888265482893192858399557729277280089757511467923733123169020873600234501383192651169637663197812695543813391990457595217029 16591138804977312657298059297955030204689796136487388989710201720624744407896128668515308755230108254336064030339047668518503716219292306276743604226773470214558569273486141650346971341742017524581461756611092758934811505515499062345992500885388599126202526854636111221572743030323011603006339116882018640013629607285661588847935299400517668172400781978477898428349593076360325337857810398453579633366331250291154046440287842304361329085380800526413263361169447526502652490063562587630087021621953004133150557926529629248126714540864552352711148551639282253750928376609793282407259525940721398014219523839573301161674997193310968927453649734296564363628528539073741489471610534616695385015215184476468270602787093100479512404018524724225794754706450860212913891024838875608118747317104673627398235602993510544016113580185438361847889827758951001663464711863284440036531272151075137835011596255230522915418984400055981972011053215595550340992498037289539856615984138567330634274801482067789265865677917710013406833387685171454513442249296891180313846725822793046365910274313913256900902713037847814896346407287207370733335518518681535856469130003326030225955513641615205776066871514309898710034618098384242275435135241927845907897095352721659219676955273692954389550583443657148534658989391023815661717125680251592217198183705931904219329127191878642956449233727518458168412328048259487739878083064827678946168121108413158085685015364004122847015504617400006289798667702161237274386824000306339854967605025587556936785200709505565378750720236219004662755861338683034988403512475144415834002384982724930380902837923035499785828941268883106057988720309093403079243704957300827343928329240718958290991939573873903932974194591218120413879198543866555596263156349900172658711286278480981907317336012319787871254968454811053128491117298278982361308569086077892451835012026316313777601485694781024801236217335567608845577979236092299428255726094474829648899756795095521070846443052587110912152355126330092573536089769057462867293074206957138410989886450050334504358836399858182080509603187491849511339355530929355601834361950310585589439498382330130697174927600286638910447128328289271250472609695069126239578219782574822562274302043004961450231168569113577480617053658649376322851825307921477217923446932977792767337535722839071445047783866612634762242085712187283006754258475629386946239009645799708822584907780087703759222327867650106015963640539096960520332871211104986125824521454369125647396742416998274167511317818341650500039414018188295627976849894727794044635623304289047 26845026498520604964110548275754866636562682590313329576450462656315402357527892484038111873854469745550715277967481307033496956120067447599467387965979295403683627843806423442573300169553315951963690711945578933029714110134078286639988068647940592541825674537314480705131016510069351339895995411248493504501983824611784950083385394522869295607716762216176631387622041351244890039136604512676756423937504570265980491709779974712244762714105714165941042848034025266603034037312363544128358084390166251570052555397231203900666544423974672492609623880385314324193862030549673569931409204165423016902143540534816974500613160545172137665890348501300139152232763532855617503915439339561048928806098014890791248929633753216690698757607381849565902227188434826445928117233662281241932576383847267313704615721067475812226568393332162221872487260279153088320350542178226727024876801520485949879931569963025227913748398910571946323427095645416981726075469138463450110905126708501448706469795633720656557073946808172702917022626029045275247334362845683854198179824309519567532993383776068594636021068963116541528128593437167518441924125868482404726926091086301656382722632342729137968827928947088748006092977070330806744120399008003754585865373430117119026085868911020678783170386120136394605232058233554237741602214129367378632935426008441617928816879048048942264234683240149730791653116480954188662139065482385547948241731023004240068114867156126854137933668751977942722849502502119997173814783807560621829397676594700777930309486876907054539365856571322773605186301569874084216649284536098181269755323574561166595347409305108871577667632505241636865546599522001096635784690143669506450756648241685677496123914367956768931429585221879081085252809617648476763062855334421944688811901235580580022594123315455463012630443200957930308049550536723988162995364042114032136566876539217439934859535570280128369208795630525227151859164544221091217808086279810469411898549025607193094124786766268123672281814930887837627103036616104128921979742040491461025831813991648064701498622258109756230547382103481462739114414284536141242674801766516204767209142711968288267703466100075825418384109363353301736895912116560183627467873066370091126806707256424490709486675738214621121950383472109723290988876671957799771535768471734330739569660863084394023068785371863397083100384180540120416730660508424576715101598919832530258591749602489330368815398218159503679952974139421946481221136693998178984224079183646405737154253884922007290680338691941885001422606669357933291174662590271607436626080899506076 43436165303497917621408607573709896841252478726800718566160664376940146765424021152553420629084577999886779308306528975552000672339359753876210992192752765618242197117292565092920271511295333476545152468556671691964525615649577348985980569533329191668028201391950591926703759540392362942902334528130512144515613431897446538931320693923386963780117544194654529815971634427605215376994414911130336057303835820557134538150067817016606091799486514692354306209203472793105686527375926131758445106012119255703203113323760833148793258964839224845320772432024596577944790407159466852338668730106144414916363064374390275662288157738483106593343998235596703515861292071929358993387049874177744313821313199367259519532420846317170211161625906573791696981894885686658842008258501156850051323700951940941102851324060986356242681973517600583720377088038104089983815254041511167061408073671561087714943166218255750829167383310627928295438148861012532067067967175752989967521110847068779340744597115788445822939624725882716323856013714216729760776612142575034512026550132312613898903658089981851536923782000964356424475000724374889175259644387163940583395221089627686608678145984344343744894800461398646716127595168715049019555534249931600493762468782838778245762824184713633172720969563793543139891047624578053403319339809618970850133609714373522148146006239927585220683916967668188960065444529213676402017148547213226894409852131417398153799882520130976984949173369377949012648170204281234448201607807866961684365281620288334867094687586412619918116576807541778267942162908557119205052797011242597103757708557286096976250247228144371363496573774124742923535319831094499715028395100970333794684977482404635787115853941830672864403779813097201499132008161515032359326011684322117347523187514061561929911459327775250883885411655768983436540667835002970524303933128191924588401888565533753712461021265061153170445012966092835997437143780313390646063812374285299060798305820702714164971229818855234584434170057217930200639126385161591789272816247448599436821700441698399205857458657967938311056985290973312250453769815465496844509163716826790356648641094298418964878393700362464328831237691642572987368521811629309867046092848944913689081009299429452159717844307328198602567437130759099613840701979879276989459215404712123506907196585923465468116569238476031845342469892727403423484918984053963661340608565632239081176657382577034128037726085809609695916614678518907001554007905103165110048600638015531384550996301920281458191656510283535501462020687546228919151512484999401481261704203795123 70281191802018522585519155849464763477815161317114048142611127033255549122951913636591532502939047745437494586274010282585497628459427201475678380158732061021925824961098988535493571680848649428508843180502250624994239725783655635625968638181269784209853875929265072631834776050461714282798329939379005649017597256509231489014706088446256259387834306410831161203593675778850105416131019423807092481241340390823115029859847791728850854513592228858295349057237498059708720564688289675886803190402285507273255668720992037049459803388813897337930396312409910902138652437709140422270077934271567431818506604909207250162901318283655244259234346736896842668094055604784976497302489213738793242627411214258050768462054599533860909919233288423357599209083320513104770125492163438091983900084799208254807467045128462168469250366849762805592864348317257178304165796219737894086284875192047037594874736181280978742915782221199874618865244506429513793143436314216440078426237555570228047214392749509102380013571534055419240878639743262005008110974988258888710206374441832181431897041866050446172944850964080897952603594161542407617183770255646345310321312175929342991400778327073481713722729408487394722220572239045855763675933257935355079627842212955897271848693095734311955891355683929937745123105858132291144921553938986349483069035722815140076962885287976527484918600207817919751718561010167865064156214029598774842651583154421638221914749676257831122882842121355891735497672706401231622016391615427583513762958214989112797404174463319674457482433378864551873128464478431203421702081547340778373513032131847263571597656533253242941164206279366379789081919353095596350813085244639840245441625724090313283239768309787441795833365034976282584384817779163509122388867018744062036335088749642141952505582643230713896515854856726913744590218371726958687299297170305956724968765104751193647320556835341281539653808596618063149296308324534481863871898654095768472696854846309907259096016585123358256715984988105767827742163001265720711252558287940060462653514433346463907356080916077694541604367394454774989568184100001638087183965483342995123857783806266707232581859800438289747215347054995874724264433928189493494513965915315004815887716555853942869204520045542819724517820602868822904829578651837076760994983876446454246476857449007859491185354610339428928442854073267523840215579492478540376442207485464769339768406985066364496853124303969113375869588817940853482775144599101344094272679821661937121705250186842288748871995202225420502884627356904162210326175075271008917887785103301199 113717357105516440206927763423174660319067640043914766708771791410195695888375934789144953132023625745324273894580539258137498300798786955351889372351484826640168022078391553628413843192143982905053995649058922316958765341433232984611949207714598975877882077321215664558538535590854077225700664467509517793533210688406678027946026782369643223167951850605485691019565310206455320793125434334937428538545176211380249568009915608745456946313078743550649655266440970852814407092064215807645248296414404762976458782044752870198253062353653122183251168744434507480083442844868607274608746664377711846734869669283597525825189476022138350852578344972493546183955347676714335490689539087916537556448724413625310287994475445851031121080859194997149296190978206199763612133750664594942035223785751149195910318369189448524711932340367363389313241436355361268287981050261249061147692948863608125309817902399536729572083165531827802914303393367442045860211403489969430045947348402639007387958989865297548202953196259938135564734653457478734768887587130833923222232924574144795330800699956032297709868632965045254377078594885917296792443414642810285893716533265557029600078924311417825458617529869886041438348167407760904783231467507866955573390310995794675517611517280447945128612325247723480885014153482710344548240893748605320333202645437188662225108891527904112705602517175486108711784005539381541466173362576812001737061435285839036375714632196388808107832015490733840748145842910682466070217999423294545198128239835277447664498862049732294375599010186406330141070627386988322626754878558583375477270740689133360547847903761397614304660780053491122712617239184190096065841480345610174040126603206494949070355622251618114660237144848073484083516825940678541481714878703066179383858276263703703882417041971005964780401266512495897181130886206729929211603230298497881313370653670284947359781578100402434710098821562710899146733452104847872509935711028381067533495160667012621424067246403978592841150155045323698028381289386427312500525374535388659899475214875044863113213539574045632852661352685428087240021953915467134931693129200169785480506424900565126197460253500800754076046584746638447711632955739818803361560058764259918504968725855283395028922364352871018327085257733627922518670280631716353750454199281158577753384054034931324959301923848815460773785323965994927263700498476532504037782816051097008420945064367643398624890850389778723071786203496459760484329152504204509204321280459677468506256246488762570207063651712508956004346648044450391129477687560270410399149489307096322 183998548907534962792446919272639423796882801361028814851382918443451245011327848425736485634962673490761768480854549540722995929258214156827567752510216887662093847039490542163907414872992632333562838829561172941953005067216888620237917845895868760087735953250480737190373311641315791508498994406888523442550807944915909516960732870815899482555786157016316852223158985985305426209256453758744521019786516602203364597869763400474307800826670972408945004323678468912523127656752505483532051486816690270249714450765744907247712865742467019521181565056844418382222095282577747696878824598649279278553376274192804775988090794305793595111812691709390388852049403281499311987992028301655330799076135627883361056456530045384892031000092483420506895400061526712868382259242828033034019123870550357450717785414317910693181182707217126194906105784672618446592146846480986955233977824055655162904692638580817708314998947753027677533168637873871559653354839804185870124373585958209235435173382614806650582966767793993554805613293200740739776998562119092811932439299015976976762697741822082743882813483929126152329682189047459704409627184898456631204037845441486372591479702638491307172340259278373436160568739646806760546907400765802310653018153208750572789460210376182257084503680931653418630137259340842635693162447687591669816271681160003802302071776815880640190521117383304028463502566549549406530329576606410776579713018440260674597629381872646639230714857612089732483643515617083697692234391038722128711891198050266560461903036513051968833081443565270882014199091865419526048456960105924153850783772820980624119445560294650857245824986332857502501699158537285692416654565590250014285568228930585262353595390561405556456070509883049766667901643719842050604103745721810241420193365013345845834922624614236678676917121369222810925721104578456887898902527468803838038339418775036141007102134935743716249752630159328962296029760429382354373807609682476836006192015513322528683163262989101951097866140033429465856123452387693033211777932823328720362128729308391327020569620490123327394265720079882862229590138015468773018877094683512780604364208706831833430042113301239043823261931801634322435897389668008296856074024679574923320856442411137337898126884398413838051603078336496745423499859283553430511449183157605031999860911483939184450487278459154889702228178039262451103916077969011044414225023536561777760713471352709763121743974693747836447655792314400613967104297103305853298593960281339405627961496675604858955935646914734376507231275401354553339803862635541419317037274410397521 297715906013051402999374682695814084115950441404943581560154709853646940899703783214881438766986299236086042375435088798860494230057001112179457124861701714302261869117882095792321258065136615238616834478620095258911770408650121604849867053610467735965618030571696401748911847232169868734199658874398041236084018633322587544906759653185542705723738007621802543242724296191760747002381888093681949558331692813583614165879679009219764747139749715959594659590119439765337534748816721291177299783231095033226173232810497777445965928096120141704432733801278925862305538127446354971487571263026991125288245943476402301813280270327931945964391036681883935036004750958213647478681567389571868355524860041508671344451005491235923152080951678417656191591039732912631994392993492627976054347656301506646628103783507359217893115047584489584219347221027979714880127896742236016381670772919263288214510540980354437887082113284855480447472031241313605513566243294155300170320934360848242823132372480104198785919964053931690370347946658219474545886149249926735154672223590121772093498441778115041592682116894171406706760783933377001202070599541266917097754378707043402191558626949909132630957789148259477598916907054567665330138868273669266226408464204545248307071727656630202213116006179376899515151412823552980241403341436196990149474326597192464527180668343784752896123634558790137175286572088930947996502939183222778316774453726099710973344014069035447338546873102823573231789358527766163762452390462016673910019437885544008126401898562784263208680453751677212155269719252407848675211838664507529328054513510113984667293464056048471550485766386348625214316397721475788482496045935860188325694832137080211423951012813023671116307654731123250751418469660520592085818624424876420804051641277049549717339666585242643457318387881718708106851990785186817110505757767301719351710072445321088366883713036146150959851451722039861442763212534230226883743320710857903539687176180335150107230509393080543939016295078753163884504741774120345712303307358717380261603944183436190133783160064168960246927072765310949469612091930935907950570223883682566084870633607396959627502366802039797899308516548272770147530345407827100217634083443834841825825168266420732927049248751284856378688336070124667942170139915269784261903382438763609753244965518870509409789202307970350476013502005257378367616576445543548452007839587658786181658535720353161746634825083526559519441995810860374451433449607510362502915240741016874134217743164367429162999298627243332511577923445804944469281550195811829716186763717493843 481714454920586365791821601968453507912833242765972396411537628297098185911031631640617924401948972726847810856289638339583490159315215269007024877371918601964355716157372637956228672938129247572179673308181268200864775475867010225087784899506336496053353983822177138939285158873485660242698653281286564678634826578238497061867492524001442188279524164638119395465883282177066173211638341852426470578118209415786978763749442409694072547966420688368539663913797908677860662405569226774709351270047785303475887683576242684693678793838587161225614298858123344244527633410024102668366395861676270403841622217669207077801371064633725541076203728391274323888054154239712959466673595691227199154600995669392032400907535536620815183081044161838163086991101259625500376652236320661010073471526851864097345889197825269911074297754801615779125453005700598161472274743223222971615648596974918451119203179561172146202081061037883157980640669115185165166921083098341170294694520319057478258305755094910849368886731847925245175961239858960214322884711369019547087111522606098748856196183600197785475495600823297559036442972980836705611697784439723548301792224148529774783038329588400439803298048426632913759485646701374425877046269039471576879426617413295821096531938032812459297619687111030318145288672164395615934565789123788659965746007757196266829252445159665393086644751942094165638789138638480354526832515789633554896487472166360385570973395941682086569261730714913305715432874144849861454686781500738802621910635935810568588304935075836232041761897316948094169468811117827374723668798770431683178838286331094608786739024350699328796310752719206127716015556258761480899150611526110202611263061067665473777546403374429227572378164614173017419320113380362642689922370146686662224245006290395395552262291199479322134235509250941519032573095363643705009408285236105557390049491220357229373985847971889867209604081881368823738792972963612581257550930393334739545879191693657678790393772382182495036882435112182629740628194161813378924081240182046100623732673491827517154352780554292287641192792845193811699202229946404680969447318567195346689234842314228793057544480103278841722570448349907092583427735075835397073708108123409765146681610677558070825176133149698694430291414406621413365669999198823214773352565596368641753105877002809693860276480767125240178241680044519829471532654414554592866232863124220563942372007073062924868378799777274395967097788125260988418537746710816215801509201022356279762179239839972288118934945541977709018809198847159497809085412831353249033224038127891364 779430360933637768791196284664267592028783684170915977971692338150745126810735414855499363168935271962933853231724727138443984389372216381186482002233620316266617585275254733748549931003265862810796507786801363459776545884517131829937651953116804232018972014393873540688197006105655528976898312155684605914718845211561084606774252177186984894003262172259921938708607578368826920214020229946108420136449902229370592929629121418913837295106170404328134323503917348443198197154385948065886651053278880336702060916386740462139644721934707302930047032659402270106833171537470457639853967124703261529129868161145609379614651334961657487040594765073158258924058905197926606945355163080799067510125855710900703745358541027856738335161995840255819278582140992538132371045229813288986127819183153370743973992981332629128967412802386105363344800226728577876352402639965458987997319369894181739333713720541526584089163174322738638428112700356498770680487326392496470465015454679905721081438127575015048154806695901856935546309186517179688868770860618946282241783746196220520949694625378312827068177717717468965743203756914213706813768383980990465399546602855573176974596956538309572434255837574892391358402553755942091207185137313140843105835081617841069403603665689442661510735693290407217660440084987948596175969130559985650115220334354388731356433113503450145982768386500884302814075710727411302523335454972856333213261925892460096544317410010717533907808603817736878947222232672616025217139171962755476531930073821354576714706833638620495250442351068625306324738530370235223398880637434939212506892799841208593454032488406747800346796519105554752930331953980237269381646657461970390936957893204745685201497416187452898688685819345296268170738583040883234775740994571563083028296647567444945269601957784721965591553897132660227139425086148830522119914043003407276741759563665678317740869561008036018169455533603408685181556185497842808141294251104192643085566367873992828897624281775263038975898730190935793625132935935933724636384547540763480885336617675263707288135940618461247888119865610504761168814321877340588920017542450877912774105475921625752685046846905318639621878964898179862730958080483662497291342191567244606972506778943978803752225381900983550808979750476746081307840139114092999035255948035132251506350842521680203270065683075095590654255182049777207839149230860098141318240702711879350124030542793416086615013624860800955486539783936121362869971196318326578304424441763373153896396983004339717281934244169221041530387122292964442278366963027165078749410801845385207 1261144815854224134583017886632721099941616926936888374383229966447843312721767046496117287570884244689781664088014365478027474548687431650193506879605538918230973301432627371704778603941395110382976181094982631660641321360384142055025436852623140728072325998216050679627482164979141189219596965436971170593353671789799581668641744701188427082282786336898041334174490860545893093425658571798534890714568111645157571693378563828607909843072591092696673987417715257121058859559955174840596002323326665640177948599962983146833323515773294464155661331517525614351360804947494560308220362986379531932971490378814816457416022399595383028116798493464432582812113059437639566412028758772026266664726851380292736146266076564477553518243040002093982365573242252163632747697466133949996201290710005234841319882179157899040041710557187721142470253232429176037824677383188681959612967966869100190452916900102698730291244235360621796408753369471683935847408409490837640759709974998963199339743882669925897523693427749782180722270426376139903191655571987965829328895268802319269805890808978510612543673318540766524779646729895050412425466168420714013701338827004102951757635286126710012237553886001525305117888200457316517084231406352612419985261699031136890500135603722255120808355380401437535805728757152344212110534919683774310080966342111584998185685558663115539069413138442978468452864849365891657050167970762489888109749398058820482115290805952399620477070334532650184662655106817465886671825953463494279153840709757165145303011768714456727292204248385573400494207341488062598122549436205370895685731086172303202240771512757447129143107271824760880646347510238998750280797268988080593548220954272411158979043819561882126261063983959469285590058696421245877465663364718249745252541653857840340821864248984201287725789406383601746171998181512474227129322328239512834131809054886035547114855408979925885379059615484777508920349158461455389398845181497527382631445559567650507688018054157445534012781165303118423365761130097747103560465787722809581509069291167091224442488721172753535529312658455698572868016551823745269889464861018073259463340318235854545742591327008597481344449413248086955314385815559497894365050299690654372119188389621536874577401515050682245239271164883367494673510138312916213808608513631500893259456719524489897130342163842220830832496862094297037310681885274652734184473565836099914066402549866479011483392424638075351453637572061382351288508943029142794105933642785729433658576222844312005400869189711198750549196321140123940087452375858518327782634839973276571 2040575176787861903374214171296988691970400611107804352354922304598588439532502461351616650739819516652715517319739092616471458938059648031379988881839159234497590886707882105453328534944660973193772688881783995120417867244901273884963088805739944960091298012609924220315679171084796718196495277592655776508072517001360666275415996878375411976286048509157963272883098438914720013639678801744643310851018013874528164623007685247521747138178761497024808310921632605564257056714341122906482653376605545976880009516349723608972968237708001767085708364176927884458193976484965017948074330111082793462101358539960425837030673734557040515157393258537590841736171964635566173357383921852825334174852707091193439891624617592334291853405035842349801644155383244701765118742695947238982329109893158605585293875160490528169009123359573826505815053459157753914177080023154140947610287336763281929786630620644225314380407409683360434836866069828182706527895735883334111224725429678868920421182010244940945678500123651639116268579612893319592060426432606912111570679014998539790755585434356823439611851036258235490522850486809264119239234552401704479100885429859676128732232242665019584671809723576417696476290754213258608291416543665753263091096780648977959903739269411697782319091073691844753466168842140292808286504050243759960196186676465973729542118672166565685052181524943862771266940560093302959573503425735346221323011323951280578659608215963117154384878938350387063609877339490081911888965125426249755685770783578519722017718602353077222542646599454198706818945871858297821521430073640310108192623886013511795694804001164194929489903790930315633576679464219236019662443926450050984485178847477156844180541235749335024949749803304765553760797279462129112241404359289812828280838301425285286091466206768923253317343303516261973311423267661304749249236371242920110873568618551713864855724969987961903548515149088186194101905343959298197540139432601720025717011927441643336585642335932708572988679895494054216990894066033680828196850335263573062394405908842354931730624661791214783417432524066203334036830873701085858809482403468951172237445794157480298427638173913916120966328378146266818045343896043160391656392491257898979091695168565515678329626896951665796048250915360113575981350277427009212843864461666633144765807562046170100400407846917316421486752044144074245149831116134750875502714268547979264190433092659895098098406049498876306940177355997503714158480139347469372410358084549102587554973205848651722682803433880419792079583443433088382365819338885683406532045641818661778 3301719992642086037957232057929709791912017538044692726738152271046431752254269507847733938310703761342497181407753458094498933486747079681573495761444698152728564188140509477158107138886056083576748869976766626781059188605285415939988525658363085688163624010825974899943161336063937907416092243029626947101426188791160247944057741579563839058568834846056004607057589299460613107065337373543178201565586125519685736316386249076129656981251352589721482298339347862685315916274296297747078655699932211617057958116312706755806291753481296231241369695694453498809554781432459578256294693097462325395072848918775242294446696134152423543274191752002023424548285024073205739769412680624851600839579558471486176037890694156811845371648075844443784009728625496865397866440162081188978530400603163840426613757339648427209050833916761547648285306691586929952001757406342822907223255303632382120239547520746924044671651645043982231245619439299866642375304145374171751984435404677832119760925892914866843202193551401421296990850039269459495252082004594877940899574283800859060561476243335334052155524354799002015302497216704314531664700720822418492802224256863779080489867528791729596909363609577943001594178954670575125375647950018365683076358479680114850403874873133952903127446454093282289271897599292637020397038969927534270277153018577558727727804230829681224121594663386841239719805409459194616623671396497836109432760722010101060774899021915516774861949272883037248272532446307547798560791078889744034839611493335684867320730371067533949834850847839772107313153213346360419643979509845681003878354972185814997935575513921642058633011062755076514223026974458234769943241195438131578033399801749568003159585055311217151210813787264234839350855975883374989707067724008062573533379955283125626913330455753124541043132709899863719483421449173778976378558699482432945005377673437749411970580378967887788927574764572963703022254502420753586938984614099247408348457487009293844273660390090154107001461060797172640356655196131427931757316122986382643903475200009446156173113382963968318946745182521901906904847425524831128698947264487024431700786112393334844170229500922513602310777791394353773359729711602658286021442790948553351210883558187052552907028412002348041287522080243481070654860415739925426652472975298134038025264281570659997530750010759537252319248906238371282460513001409403609687187834384079178256835642526374109581798474136951658393814928058886065446989082376612166516291727334832021213549428692963728083672623591618542628779764573212322453271714744201734314680481791938349 5342295169429947941331446229226698483882418149152497079093074575645020191786771969199350589050523277995212698727492550710970392424806727712953484643283857387226155074848391582611435673830717056770521558858550621901477055850186689824951614464103030648254922023435899120258840507148734625612587520622282723609498705792520914219473738457939251034854883355213967879940687738375333120705016175287821512416604139394213900939393934323651404119430114086746290609260980468249572972988637420653561309076537757593937967632662430364779259991189297998327078059871381383267748757917424596204369023208545118857174207458735668131477369868709464058431585010539614266284456988708771913126796602477676935014432265562679615929515311749146137225053111686793585653884008741567162985182858028427960859510496322446011907632500138955378059957276335374154100360150744683866178837429496963854833542640395664050026178141391149359052059054727342666082485509128049348903199881257505863209160834356701040182107903159807788880693675053060413259429652162779087312508437201790052470253298799398851317061677692157491767375391057237505825347703513578650903935273224122971903109686723455209222099771456749181581173333154360698070469708883833733667064493684118946167455260329092810307614142545650685446537527785127042738066441432929828683543020171294230473339695043532457269922902996246909173776188330704010986745969552497576197174822233182330755772045961381639434507237878633929246828211233424311882409785797629710449756204315993790525382276914204589338448973420611172377497447293970814132099085204658241165409583485991112070978858199326793630379515085836988122914853685392147799706438677470789605685121888182562518578649226724847340126291060552176160563590569000393111653255345504101948472083297875401814218256708410913004796662522047794360476013416125692794844716835083725627795070725353055878946291989463276826305348955849692476089913661149897124159846380051784479124046700967434065469414450937180859302726022862679990140956291226857347549262165108759954166458249955706297881108851801087903738044755183102364177706588105240941678299225916987508429667955975603938231906550815142597867674836429723277106169540620591405073607645818677677835282206452330302578726752568231236655308954013837335772995603594646636210693166934639496337436964767182791071843616830097931157857676853673806000950382445527610344117544154485189902102932058442447268735186269207680204523635827965333992284056389779605469221724081538926649811883934608768522634541615450766476057472038334708363208006300704819091053629885140846726123610600127 8644015162072033979288678287156408275794435687197189805831226846691451944041041477047084527361227039337709880135246008805469325911553807394526980404728555539954719262988901059769542812716773140347270428835317248682536244455472105764940140122466116336418546034261874020202001843212672533028679763651909670710924894583681162163531480037503090093423718201269972486998277037835946227770353548830999713982190264913899637255780183399781061100681466676467772907600328330934888889262933718400639964776469969210995925748975137120585551744670594229568447755565834882077303539349884174460663716306007444252247056377510910425924066002861887601705776762541637690832742012781977652896209283102528535854011824034165791967406005905957982596701187531237369663612634238432560851623020109616939389911099486286438521389839787382587110791193096921802385666842331613818180594835839786762056797944028046170265725662138073403723710699771324897328104948427915991278504026631677615193596239034533159943033796074674632082887226454481710250279691432238582564590441796667993369827582600257911878537921027491543922899745856239521127844920217893182568635994046541464705333943587234289711967300248478778490536942732303699664648663554408859042712443702484629243813740009207660711489015679603588573983981878409332009964040725566849080581990098828500750492713621091184997727133825928133295370851717545250706551379011692192820846218731018440188532767971482700209406259794150704108777484116461560154942232105177509010547283205737825364993770249889456659179344488145122212348295133742921445252298551018660809389093331672115949333830385141791565955029007479046755925916440468662022733413135705559548926317326314140551978450976292850499711346371769327371377377833235232462509231228879091655539807305937975347598211991536539918127118275172335403608723315989412278266166008862702006353770207786000884323965427212688796885727923737481403664678234113600146414348800805371418108660800214842413926901460231025132963116113016786991602017088399497704204458296536691711482581236338350201356308861247244076851427719151421310922889110007147846525724750748116207376932443000035639018018944149986768097175758943325587883960934974364764803319248476963699278073155005681513462284939620784143683720956361878623295075847075717291071108906860066148810412262901220816336125187490095461907868436390926125249856620816810070857118953558094877089937316137620704104377712643317262002997772779623727807212115275845052458304100693705442941539218766629982072063234579178850148681063656877337142972579513027272362768374086875161406605402538476 13986310331501981920620124516383106759676853836349686884924301422336472135827813446246435116411750317332922578862738559516439718336360535107480465048012412927180874337837292642380978486547490197117791987693867870584013300305658795589891754586569146984673468057697773140460842350361407158641267284274192394320423600376202076383005218495442341128278601556483940366938964776211279348475369724118821226398794404308113538195174117723432465220111580763214063516861308799184461862251571139054201273853007726804933893381637567485364811735859892227895525815437216265345052297267308770665032739514552563109421263836246578557401435871571351660137361773081251957117199001490749566023005885580205470868444089596845407896921317655104119821754299218030955317496642979999723836805878138044900249421595808732450429022339926337965170748469432295956486026993076297684359432265336750616890340584423710220291903803529222762775769754498667563410590457555965340181703907889183478402757073391234200125141699234482420963580901507542123509709343595017669877098878998458045840080881399656763195599598719649035690275136913477026953192623731471833472571267270664436608443630310689498934067071705227960071710275886664397735118372438242592709776937386603575411269000338300471019103158225254274020521509663536374748030482158496677764125010270122731223832408664623642267650036822175042469147040048249261693297348564189769018021040964200770944304813932864339643913497672784633355605695349885872037352017902807219460303487521731615890376047164094045997628317908756294589845742427713735577351383755676901974798676817663228020312688584468585196334544093316034878840770125860809822439851813176349154611439214496703070557100203017697839837637432321503531940968402235625574162486574383193604011890603813377161816468699947452922923780797220129764084736732115105073110882843946427634148840933139056763270257416675965623191076879587173879754591895263497270574195180857155897232707501182276479396315911168205992265842135879466981742973379626355051753720461645451665649039486294056499237417713048331980589472474334523675100595698112388788204023976665103715806600398975639577249925494965129365964850595373048864990130475594956169876926894295641377113355361458011816041011692189015380339029910375715959068071450670363927281802073794705645147849227668403607407968804320193393065726113244599931250807003262337681201236497712580066992040248196063151373112898912524942207521408607589061799496171665624657927525824775244369591351102701238750594697776194629616624738535695212045506180585813732091453822003972016008132729013138603 22630325493574015899908802803539515035471289523546876690755528269027924079868854923293519643772977356670632458997984568321909044247914342502007445452740968467135593600826193702150521299264263337465062416529185119266549544761130901354831894709035263321092014091959647160662844193574079691669947047926102065031348494959883238546536698532945431221702319757753912853937241814047225576245723272949820940380984669222013175450954301123213526320793047439681836424461637130119350751514504857454841238629477696015929819130612704605950363480530486457463973571003051147422355836617192945125696455820560007361668320213757488983325501874433239261843138535622889647949941014272727218919215168682734006722455913631011199864327323561062102418455486749268324981109277218432284688428898247661839639332695295018888950412179713720552281539662529217758871693835407911502540027101176537378947138528451756390557629465667296166499480454269992460738695405983881331460207934520861093596353312425767360068175495309157053046468127962023833759989035027256252441689320795126039209908463999914675074137519747140579613174882769716548081037543949365016041207261317205901313777573897923788646034371953706738562247218618968097399767035992651451752489381089088204655082740347508131730592173904857862594505491541945706757994522884063526844707000368951231974325122285714827265377170648103175764517891765794512399848727575881961838867259695219211132837581904347039853319757466935337464383179466347432192294250007984728470850770727469441255369817413983502656807662396901416802194037561456657022603682306695562784187770149335343969646518969610376762289573100795081634766686566329471845173264948881908703537756540810843622535551179310548339548983804090830903318346235470858036671717803262285259551697909751352509414680691483992841050899072392465167693460048104517351377048852809129640502611140925057647594222843888654420076804803324655283419270129377097416988543981662527315341368301397118893323217371399231125228958248896253973344990468025852755958178758182143377131620722632406700593726574295576057440900193485944986023484808119536634729748727413219923183532841975675216267944439115116134062026354316374452874091410569320934680246142772605076391428516463693329503296631809799524022750866737594582363147297746081218352910980654771793958261490569624423744093991810288854973594549635526056500663624079147752058355451270674944081977564333683855477490611555842204210519181387212789606708286941469710385829925468949812532890321467868732666761010773808466773419599352089382649153165326759363816590378058891169539334415677079 36616635825075997820528927319922621795148143359896563575679829691364396215696668369539954760184727674003555037860723127838348762584274877609487910500753381394316467938663486344531499785811753534582854404223052989850562845066789696944723649295604410305765482149657420301123686543935486850311214332200294459351772095336085314929541917028387772349980921314237853220876206590258504924721092997068642166779779073530126713646128418846645991540904628202895899941322945929303812613766075996509042512482485422820863712512250272091315175216390378685359499386440267412767408133884501715790729195335112570471089584050004067540726937746004590921980500308704141605067140015763476784942221054262939477590900003227856607761248641216166222240209785967299280298605920198432008525234776385706739888754291103751339379434519640058517452288131961513715357720828484209186899459366513287995837479112875466610849533269196518929275250208768660024149285863539846671641911842410044571999110385817001560193317194543639474010049029469565957269698378622273922318788199793584085049989345399571438269737118466789615303450019683193575034230167680836849513778528587870337922221204208613287580101443658934698633957494505632495134885408430894044462266318475691780066351740685808602749695332130112136615027001205482081506025005042560204608832010639073963198157530950338469533027207470278218233664931814043774093146076140071730856888300659419982077142395837211379497233255139719970819988874816233304229646267910791947931154258249201057145745864578077548654435980305657711392039779989170392599955066062372464758986446966998571989959207554078961958624117194111116513607456692190281667613116762058257858149195755307546693092651382328246179386621236412334435259314637706483610834204377645478863563588513564729671231149391431445763974679869612594931778196780219622424487931696755557274651452074064114410864480260564620043267881682911829163173862024640594687562739162519683212574075802579395372719533282567437117494800384775720955087963847652207807711899219827595042780660208926463199831144287343908038030372667820468661124080506231925422933772704078323638990133240951314793517869934080245500026876949689423317864221886164277104557173037068246453504783877921705145544308323998814904361780777113310541431218748416445145634713054449477439106110718238028031152062796130482248039320662880125987751470627341485433259591948983255011074017812529747006850603510468367146418040589994801851406204458607094368313355750244194182124241424169107483261458786968438083398158135047301428155333751140491455270412382030907177672063428815682 59246961318650013720437730123462136830619432883443440266435357960392320295565523292833474403957705030674187496858707696160257806832189220111495355953494349861452061539489680046682021085076016872047916820752238109117112389827920598299555544004639673626857496241617067461786530737509566541981161380126396524383120590295968553476078615561333203571683241071991766074813448404305730500966816270018463107160763742752139889097082719969859517861697675642577736365784583059423163365280580853963883751111963118836793531642862976697265538696920865142823472957443318560189763970501694660916425651155672577832757904263761556524052439620437830183823638844327031253017081030036204003861436222945673484313355916858867807625575964777228324658665272716567605279715197416864293213663674633368579528086986398770228329846699353779069733827794490731474229414663892120689439486467689825374784617641327223001407162734863815095774730663038652484887981269523728003102119776930905665595463698242768920261492689852796527056517157431589791029687413649530174760477520588710124259897809399486113343874638213930194916624902452910123115267711630201865554985789905076239235998778106537076226135815612641437196204713124600592534652444423545496214755699564779984721434481033316734480287506034969999209532492747427788264019527926623731453539011008025195172482653236053296798404378118381393998182823579838286492994803715953692695755560354639193209979977741558419350553012606655308284372054282580736421940517918776676402005028976670498401115681992061051311243642702559128194233817550627049622558748369068027543174217116333915959605726523689338720913690294906198148374143258519753512786381710940166561686952296118390315628202561638794518935605040503165338577660873177341647505922180907764123115286423316082180645830082915438605025578942005060099471656828324139775864980549564686915154063214989172058458703104453274463344686486236484446593132154017692104551283144182210527915444103976514266042750653966668242723758633671974928432954315678060563670077978009738419912280931558869900424870861639484095471272861306413647147565314351462057663521431491543562173666082926990009785814373195361634088903304005797770738313296733598039237419179840851529896212394385398475047604955808614428384531643850905123794366046162526363987624035104249233064372208807652454896156787940771103012915212515652044252134251420633185317947400253929955155995376863430862328094122024209350628559771382014641012912745548564078699185675713143994657131745636976215928219797742246550171577734399390810804486916467250819087002760089798347211397844492761 95863597143726011540966657443384758625767576243340003842115187651756716511262191662373429164142432704677742534719430823998606569416464097720983266454247731255768529478153166391213520870887770406630771224975291098967675234894710295244279193300244083932622978391274487762910217281445053392292375712326690983734892685632053868405620532589720975921664162386229619295689654994564235425687909267087105273940542816282266602743211138816505509402602303845473636307107528988726975979046656850472926263594448541657657244155113248788580713913311243828182972343883585972957172104386196376707154846490785148303847488313765624064779377366442421105804139153031172858084221045799680788803657277208612961904255920086724415386824605993394546898875058683866885578321117615296301738898451019075319416841277502521567709281218993837587186115926452245189587135492376329876338945834203113370622096754202689612256696004060334025049980871807312509037267133063574674744031619340950237594574084059770480454809884396436001066566186901155748299385792271804097079265720382294209309887154799057551613611756680719810220074922136103698149497879311038715068764318492946577158219982315150363806237259271576135830162207630233087669537852854439540677022018040471764787786221719125337229982838165082135824559493952909869770044532969183936062371021647099158370640184186391766331431585588659612231847755393882060586140879856025423552643861014059175287122373578769798847786267746375279104360929098814040651586785829568624333159287225871555546861546570138599965679623008216839586273597539797442222513814431440492302160664083332487949564934077768300679537807489017314661981599950710035180399498472998424419836148051425937008720853943967040698322226276915499773836975510883825258340126558553242986678874936880811851876979474346884369000258811617655031249853608543762200352912246320244189805515289053286469323183365017894506612568169148313609766994178658286792114022306701893740489519906555909638762283936534105360218559018447695883520918163330268371381977197837333462692941140485333100256015148983392133501645529126882308271645820583387480597294135569867201163799323878304803303684307275607134115780253695221088602535182897875143794592216909097983400996272307103620591913279807429332746312420964215665225584794578971509622337089553726672170482927045680486048219584071253351052235875395778032003604878762118618577539349237184966230013189393177869178697632492576497046600361376816492419117204155658447012541425957338176781373169806083699189678584710684633569735869446692238959820667607742274357415142120705524883461273308443 155110558462376025261404387566846895456387009126783444108550545612149036806827714955206903568100137735351930031578138520158864376248653317832478622407742081117220591017642846437895541955963787278678688045727529208084787624722630893543834737304883757559480474632891555224696748018954619934273537092453087508118013275928022421881699148151054179493347403458221385370503103398869965926654725537105568381101306559034406491840293858786365027264299979488051372672892112048150139344327237704436810014706411660494450775797976225485846252610232108971006445301326904533146936074887891037623580497646457726136605392577527180588831816986880251289627777997358204111101302075835884792665093500154286446217611836945592223012400570770622871557540331400434490858036315032160594952562125652443898944928263901291796039127918347616656919943720942976663816550156268450565778432301892938745406714395529912613663858738924149120824711534845964993925248402587302677846151396271855903190037782302539400716302574249232528123083344332745539329073205921334271839743240971004333569784964198543664957486394894650005136699824589013821264765590941240580623750108398022816394218760421687440032373074884217573026366920754833680204190297277985036891777717605251749509220702752442071710270344200052135034091986700337658034064060895807667515910032655124353543122837422445063129835963707041006230030578973720347079135683571979116248399421368698368497102351320328218198339280353030587388732983381394777073527303748345300735164316202542053947977228562199651276923265710775967780507415090424491845072562800508519845334881199666403909170660601457639400451497783923512810355743209229788693185880183938590981523100347544327324349056505605835217257831317418665112414636384061166905846048739461007109794161360196894032522809557262322974025837753622715130721510436867901976217892795884931104959578504042458527781886469471168969957254655384798056360126332675978896665305450884104268404964010532423904805034590500773602942317652119670811953872479008328935052055175847071882605222072044203000680886010622876228972918390433295955419211134934849538260815567061410763337465406805294813089498680470968768204683557701018859340848479631473183032011396749949513297208666692502095639518235616043761130844064815120789019950840741497873609961124657975905234855135853332940944376372012024454065151087911430076255739130182751803895486749491114921386008566256608731506791754516785847675160132758831133432029949704222525711727101670482171438504915443059915117898382452931183741313603846083049764307584074993093444417902210503872094859117801204 250974155606102036802371045010231654082154585370123447950665733263905753318089906617580332732242570440029672566297569344157470945665117415553461888861989812372989120495796012829109062826851557685309459270702820307052462859617341188788113930605127841492103453024166042987606965300399673326565912804779778491852905961560076290287319680740775155415011565844451004666192758393434201352342634804192673655041849375316673094583504997602870536666902283333525008979999641036877115323373894554909736278300860202152108019953089474274426966523543352799189417645210490506104108179274087414330735344137242874440452880891292804653611194353322672395431917150389376969185523121635565581468750777362899408121867757032316638399225176764017418456415390084301376436357432647456896691460576671519218361769541403813363748409137341454244106059647395221853403685648644780442117378136096052116028811149732602225920554742984483145874692406653277502962515535650877352590183015612806140784611866362309881171112458645668529189649531233901287628458998193138368919008961353298542879672118997601216571098151575369815356774746725117519414263470252279295692514426890969393552438742736837803838610334155793708856529128385066767873728150132424577568799735645723514297006924471567408940253182365134270858651480653247527804108593864991603578281054302223511913763021608836829461267549295700618461878334367602407665276563428004539801043282382757543784224724899098017046125548099405866493093912480208817725114089577913925068323603428413609494838775132338251242602888718992807366781012630221934067586377231949012147495545282998891858735594679225940079989305272940827472337343159939823873585378656937015401359248398970264333069910449572875915580057594334164886251611894944992164186175298014250096473036297077705884399789031609207343026096565240370161971364045411664176570805042205175294765093793095744997105069834489063476569822824533111666127120511334265688779327757585998008894483917088333543567318527034878963160876670567366695474790642338597306434032373684405345298163212529536100936901159606268362474563919560178263690856955518237018858109702631277964501264730683599616393182987746575902320463811396239947943383662529348326826603613659047496698204938999605716231431515423473093877156485779336454245535635320469383232298214211702577405338062899013426992595956083277805117386963307208108259344008944870422473026098728299887616021755649786600685489387009362344721760494135647625851147153859880972724268527627820348219878085249143614307576967163615817311049473292775288724128251682735367801833044331209396978320391109647 406084714068478062063775432577078549538541594496906892059216278876054790124917621572787236300342708175381602597875707864316335321913770733385940511269731893490209711513438859267004604782815344963988147316430349515137250484339972082331948667910011599051583927657057598212303713319354293260839449897232865999970919237488098712169018828891829334908358969302672390036695861792304167278997360341298242036143155934351079586423798856389235563931202262821576381652891753085027254667701132259346546293007271862646558795751065699760273219133775461770195862946537395039251044254161978451954315841783700600577058273468819985242443011340202923685059695147747581080286825197471450374133844277517185854339479593977908861411625747534640290013955721484735867294393747679617491644022702323963117306697805305105159787537055689070901026003368338198517220235804913231007895810437988990861435525545262514839584413481908632266699403941499242496887763938238180030436334411884662043974649648664849281887415032894901057312732875566646826957532204114472640758752202324302876449457083196144881528584546470019820493474571314131340679029061193519876316264535288992209946657503158525243870983409040011281882896049139900448077918447410409614460577453250975263806227627224009480650523526565186405892743467353585185838172654760799271094191086957347865456885859031281892591103513002741624691908913341322754744412246999983656049442703751455912281327076219426235244464828452436453881826895861603594798641393326259225803487919630955663442816003694537902519526154429768775147288427720646425912658940032457531992830426482665295767906255280683579480440803056864340282693086369169612566771258840875606382882348746514591657418966955178711132837888911752829998666248279006159070032224037475257206267197657274599916922598588871530317051934318863085292692874482279566152788697838090106399724672297138203524886956303960232446527077479917909722487246844010244585444633208470102277299447927620757448372353117535652566103194322687037507428663121346926241486087549531477227903385284573739101617787170229144591447482309993474219110068090453086557118925269692688727838730137488894429482681668217544670525147369097258807284232142160821509858615010408997009995413605692107811870949751039516855008000550594457243265486476061967256842259338869678482640193198752346367936972328095302259182538051218638184515083139127622226368512848219414809002030321906395332192281141526148192396920626894478759283177103564103498435995629298302519658383000692203529425475349616547001052363077138858338488435835757728461246250946541713269073179508910851 657058869674580098866146477587310203620696179867030340009882012139960543443007528190367569032585278615411275164173277208473806267578888148939402400131721705863198832009234872096113667609666902649297606587133169822189713343957313271120062598515139440543687380681223641199910678619753966587405362702012644491823825199048175002456338509632604490323370535147123394702888620185738368631339995145490915691185005309667752681007303853992106100598104546155101390632891394121904369991075026814256282571308132064798666815704155174034700185657318814569385280591747885545355152433436065866285051185920943475017511154360112789896054205693525596080491612298136958049472348319107015955602595054880085262461347351010225499810850924298657708470371111569037243730751180327074388335483278995482335668467346708918523535946193030525145132063015733420370623921453558011450013188574085042977464336694995117065504968224893115412574096348152519999850279473889057383026517427497468184759261515027159163058527491540569586502382406800548114585991202307611009677761163677601419329129202193746098099682698045389635850249318039248860093292531445799172008778962179961603499096245895363047709593743195804990739425177524967215951646597542834192029377188896698778103234551695576889590776708930320676751394948006832713642281248625790874672472141259571377370648880640118722052371062298442243153787247708925162409688810427988195850485986134213456065551801118524252290590376551842320374920808341812412523755482904173150871811523059369272937654778826876153762129043148761582514069440350868359980245317264406544140325971765664187626641849959909519560430108329805167755030429529109436440356637497812621784241597145484855990488877404751587048417946506086994884917860173951151234218399335489507302740233954352305801322387620480737660078030884103455454664238527691230329359502880295281694489766090233948521992026138449295923096900304451021388614367355344510274223960966056100286193931844709090991939671644570531529264070993254404202903453763685523547920119923215882573201548497103275202554688329835412953922046229553652482800925045971323575977034972323966692339994868172494045875864655964120572845611180493498755227615804690169836685218624068044506693618544691713528102381266462989948885157036373793697511022111382436640074557553081381060045531261651359794929568284178580064299925014525846292774427148072492648841538946947714696618052077556181932877770528535510537118681121030126385134324257423984471160264156926122867878261085941347143733052316780162818363412550431633627212564087440463829048083990872922666051499900020498 1063143583743058160929921910164388753159237774363937232069098291016015333567925149763154805332927986790792877762048985072790141589492658882325342911401453599353408543522673731363118272392482247613285753903563519337326963828297285353452011266425151039595271308338281239412214391939108259848244812599245510491794744436536273714625357338524433825231729504449795784739584481978042535910337355486789157727328161244018832267431102710381341664529306808976677772285783147206931624658776159073602828864315403927445225611455220873794973404791094276339581143538285280584606196687598044318239367027704644075594569427828932775138497217033728519765551307445884539129759173516578466329736439332397271116800826944988134361222476671833297998484326833053773111025144928006691879979505981319445452975165152014023683323483248719596046158066384071618887844157258471242457908999012074033838899862240257631905089381706801747679273500289651762496738043412127237413462851839382130228733911163692008444945942524435470643815115282367194941543523406422083650436513366001904295778586285389890979628267244515409456343723889353380200772321592639319048325043497468953813445753749053888291580577152235816272622321226664867664029565044953243806489954642147674041909462178919586370241300235495507082644138415360417899480453903386590145766663228216919242827534739671400614643474575301183867845696161050247917154101057427971851899928689885669368346878877337950487535055205004278774256747704203416007322396876230432376675299442690324936380470782521414056281655197578530357661357868071514785892904257296864076133156398248329483394548105240593099040870911386669508037723515898279049007127896338688228167123945891999447647907844359930298181255835417839824883584108452957310304250623372964764509007431611626905718244986209352267977129965202966540747357113009970796482148200718385388094214438387372152046878982442409528369623977784368931111101614199354754859668594174526202563493379772329848440312024762106184095367265315941441710332116885032449789406207472747359801104933781677014304172475500064557545369528539547126701910993136424410133095960242016655420178725005661388475358546324181665243370758549590757562511847946850991346543833634477041516689032150383821339973331017502506803893157586968250940776508587444403896916816891951059542685724460403706162866540612273882323482463065744484477289510287200114875210051795167129505620082399462577265070051670061658729515601747924605144417501360988087969596259786224425387536644086633550673158527666396709819415775627570491965700999923198192290294334937414635935124679408931349 1720202453417638259796068387751698956779933954230967572078980303155975877010932677953522374365513265406204152926222262281263947857071547031264745311533175305216607375531908603459231940002149150262583360490696689159516677172254598624572073864940290480138958689019504880612125070558862226435650175301258154983618569635584448717081695848157038315555100039596919179442473102163780904541677350632280073418513166553686584948438406564373447765127411355131779162918674541328835994649851185887859111435623535992243892427159376047829673590448413090908966424130033166129961349121034110184524418213625587550612080582189045565034551422727254115846042919744021497179231521835685482285339034387277356379262174295998359861033327596131955706954697944622810354755896108333766268314989260314927788643632498722942206859429441750121191290129399805039258468078712029253907922187586159076816364198935252748970594349931694863091847596637804282496588322886016294796489369266879598413493172678719167608004470015976040230317497689167743056129514608729694660114274529679505715107715487583637077727949942560799092193973207392629060865614124085118220333822459648915416944849994949251339290170895431621263361746404189834879981211642496077998519331831044372820012696730615163259832076944425827759395533363367250613122735152012381020439135369476490620198183620311519336695845637599626110999483408759173079563789867855960047750414676019882824412430678456474739825645581556121094631668512545228419846152359134605527547110965749694209318125561348290210043784240727291940175427308422383145873149574561270620273482370013993671021189955200502618601301019716474675792753945427388485447484533836500849951365543037484303638396721764681885229673781923926819768501968626908461538469022708454271811747665565979211519567373829833005637207996087069996202021351537662026811507703598680669788704204477606100568871008580858824292720878088819952499715981554699265133892555140582302849687311617038939432251696406676715624631336309195845913235570648717973337326327395963242374306482278780289506727163829899970499291574769100779184711918182395733709072995214340622112518719873833882521234410980145785816216369730084256317739463751541161183229052258545086023382650695075534868075712283965496752778314623342044638287530698826840536991374445032440602731255722055065957796108896452462387782388080270330770063937435272607524051590742114844202238134477018759197947822198597169266634282868954731529551825618412072440756523943150548255414905172574897816891579983176872637779188178002125592913564010638656119342418928287558601176179308951847 2783346037160696420725990297916087709939171728594904804148078594171991210578857827716677179698441252196997030688271247354054089446564205913590088222934628904570015919054582334822350212394631397875869114394260208496843641000551883978024085131365441519734229997357786120024339462497970486283894987900503665475413314072120722431707053186681472140786829544046714964182057584141823440452014706119069231145841327797705417215869509274754789429656718164108456935204457688535767619308627344961461940299938939919689118038614596921624646995239507367248547567668318446714567545808632154502763785241330231626206650010017978340173048639760982635611594227189906036308990695352263948615075473719674627496063001240986494222255804267965253705439024777676583465781041036340458148294495241634373241618797650736965890182912690469717237448195783876658146312235970500496365831186598233110655264061175510380875683731638496610771121096927456044993326366298143532209952221106261728642227083842411176052950412540411510874132612971534937997673038015151778310550787895681410010886301772973528057356217187076208548537697096746009261637935716724437268658865957117869230390603744003139630870748047667437535984067630854702544010776687449321805009286473192046861922158909534749630073377179921334842039671778727668512603189055398971166205798597693409863025718359982919951339320212900809978845179569809420996717890925283931899650343365905552192759309555794425227360700786560399868888416216748644427168549235365037904222410408440019145698596343869704266325439438305822297836785176493897931766053831858134696406638768262323154415738060441095717642171931103144183830477461325667534454612430175189078118489488929483751286304566124612183410929617341766644652086077079865771842719646081419036320755097177606117237812360039185273614337961290036536949378464547632823293655904317066057882918642864978252615749991023268352662344855873188883610817595754054019993561149315108505413180691389368787872563721168782899719998601625137287623567687533750423126732534868710602175411416060457303810899639329964528044661103308647905886622911318820143842168955456357277532697444879495270996592957304327451059587128279675013880251311698392152529772885893022127540071682845459356208049043301468003556671472210310295579064039286271244433908191336983500145416980182458772120662649508726344711264851146014815247353447722472722399261642537281973707858216876481336463017873868658827996149884616879336673969326979400160410352783729374973642951549259208448490050107649573582457194963805572617558614563933836848409636753865702194536300858717883196 4503548490578334680522058685667786666719105682825872376227058897327967087589790505670199554063954517603201183614493509635318037303635752944854833534467804209786623294586490938281582152396780548138452474884956897656360318172806482602596158996305731999873188686377291000636464533056832712719545163201761820459031883707705171148788749034838510456341929583643634143624530686305604344993692056751349304564354494351392002164307915839128237194784129519240236098123132229864603613958478530849321051735562475911933010465773972969454320585687920458157513991798351612844528894929666264687288203454955819176818730592207023905207600062488236751457637146933927533488222217187949430900414508106951983875325175536984854083289131864097209412393722722299393820536937144674224416609484501949301030262430149459908097042342132219838428738325183681697404780314682529750273753374184392187471628260110763129846278081570191473862968693565260327489914689184159827006441590373141327055720256521130343660954882556387551104450110660702681053802552623881472970665062425360915725994017260557165135084167129637007640731670304138638322503549840809555488992688416766784647335453738952390970160918943099058799345814035044537423991988329945399803528618304236419681934855640149912889905454124347162601435205142094919125725924207411352186644933967169900483223901980294439288035165850500436089844662978568594076281680793139891947400758041925435017171740234250899967186346368116520963520084729293872847014701594499643431769521374189713355016721905217994476369223679033114238012212484916281077639203406419405316680121138276316825436928015641598336243472950819618859623231406753056019902096964011689928069855031966968054924701287889294068640603399265693464420588045706774233381188668789873308132502762743585328757379733869018279251545957377106533151399816085294850105163607915746727671622847342584353184620999604127176955065733962008836110533577308753285127453704455690808262868003006407727304815417575459615344629937934333133536803258182468396464058862264673844549717898339237593317626803159864498543952678077748685071334829501215877551241950670697899645216164753329153517827368284473236875803498009759270197990775449933313713001938151567213563454333540534891076124755585433500309449786833652340217351569985098084970899565782015940748148235904513838078458758405178807099047239226285146017417385157745329923313233279396817910096351353500095660965696067255997262784167485834068203521152597812232851109307672525521898366454431783346306941687632750455094974151983574743151528127944475504528979172793989753137477038026835043 7286894527739031101248048983583874376658277411420777180375137491499958298168648333386876733762395769800198214302764756989372126750199958858444921757402433114356639213641073273103932364791411946014321589279217106153203959173358366580620244127671173519607418683735077120660803995554803199003440151102265485934445197779825893580495802221519982597128759127690349107806588270447427785445706762870418535710195822149097419380177425113883026624440847683348693033327589918400371233267105875810782992035501415831622128504388569891078967580927427825406061559466670059559096440738298419190051988696286050803025380602225002245380648702249219387069231374123833569797212912540213379515489981826626611371388176777971348305544936132062463117832747499975977286317978181014682564903979743583674271881227800196873987225254822689555666186520967558355551092550653030246639584560782625298126892321286273510721961813208688084634089790492716372483241055482303359216393811479403055697947340363541519713905295096799061978582723632237619051475590639033251281215850321042325736880319033530693192440384316713216189269367400884647584141485557533992757651554373884653877726057482955530601031666990766496335329881665899239968002765017394721608537904777428466543857014549684662519978831304268497443474876920822587638329113262810323352850732564863310346249620340277359239374486063401246068689842548378015072999571718423823847051101407830987209931049790045325194547047154676920832408500946042517274183250829864681335991931782629732500715318249087698742694663117338936535848997661410179009405257238277540013086759906538639979852666076082694053885644881922763043453708868078723554356709394186879006188344520896451806211005854013906252051533016607460109072674122786640005223908314871292344453257859921191445995192093908203552865883918667143070100778280632927673398819512232812785554541490207562605800370990627395529617410589835197719721351173062807305121014853770799313676048694395776515177379138744242515064628539559470421160370945716218819590791397133384446725129314399694897128526442489829026588613781386396590957957740820036021393410906127055177177913609632824424514420325588800687935390626289434284078242087148325466242774824044589341103526016385994247284173798886901503866121259043962635796415609271369329404807757118999440893565216086972610199121407913905151810312090372299961264770832880218052322574875816678791617954568229981432123983569935914825258934052102713404877490479577212393261462091401900495541318003690991794796991795282324037552169115789147360710142691878312352938615926659691947673777896744718239 11790443018317365781770107669251661043377383094246649556602196388827925385758438839057076287826350287403399397917258266624690164053835711803299755291870237324143262508227564211385514517188192494152774064164174003809564277346164849183216403123976905519480607370112368121297268528611635911722985314304027306393477081487531064729284551256358493053470688711333983251431118956753032130439398819621767840274550316500489421544485340953011263819224977202588929131450722148264974847225584406660104043771063891743555138970162542860533288166615348283563575551265021672403625335667964683877340192151241869979844111194432026150588248764737456138526868521057761103285435129728162810415904489933578595246713352314956202388834067996159672530226470222275371106854915325688906981513464245532975302143657949656782084267596954909394094924846151240052955872865335559996913337934967017485598520581397036640568239894778879558497058484057976699973155744666463186222835401852544382753667596884671863374860177653186613083032834292940300105278143262914724251880912746403241462874336294087858327524551446350223830001037705023285906645035398343548246644242790651438525061511221907921571192585933865555134675695700943777391994753347340121412066523081664886225791870189834575409884285428615660044910082062917506764055037470221675539495666532033210829473522320571798527409651913901682158534505526946609149281252511563715794451859449756422227102790024296225161733393522793441795928585675336390121197952424364324767761453156819445855732040154305693219063886796372050773861210146326460087044460644696945329766881044814956805289594091724292390129117832742381903076940274831779574258806358198568934258199552863419861135707141903200320692136415873153573493262168493414238605096983661165652585760622664776774752571827777221832117429876044249603252178096718222523503983120148559513226164337550146958984991990231522706572476323797206555831884750371560590248468558226490121938916697402184242482194556319702130409258477493803554697174203898687216054850259398058291274847212738932490446153245649693525132566459464145276029292570321251898944652856797753076823129774386153578032247693873273924811194124299193554276232862598258779955776762196156554666980349926529138360298554472335004175571045877614976013767179256467414375707322901015381641713451991486448277580166319083958909359329598585107282188218037963382245888109096075609528050919583481527784949266003170822521718219588547473081011632175024626112571399074426017439684458122775141103933482915074492647143267772722103861670819822787857467595099453681700811254934771553282 19077337546056396883018156652835535420035660505667426736977333880327883683927087172443953021588746057203597612220023023614062290804035670661744677049272670438499901721868637484489446881979604440167095653443391109962768236519523215763836647251648079039088026053847445241958072524166439110726425465406292792327922279267356958309780353477878475650599447839024332359237707227200459915885105582492186375984746138649586840924662766066894290443665824885937622164778312066665346080492690282470887035806565307575177267474551112751612255747542776108969637110731691731962721776406263103067392180847527920782869491796657028395968897466986675525596099895181594673082648042268376189931394471760205206618101529092927550694379004128222135648059217722251348393172893506703589546417443989116649574024885749853656071492851777598949761111367118798408506965415988590243552922495749642783725412902683310151290201707987567643131148274550693072456396800148766545439229213331947438451614937248213383088765472749985675061615557925177919156753733901947975533096763067445567199754655327618551519964935763063440019270405105907933490786520955877541004295797164536092402787568704863452172224252924632051470005577366843017359997518364734843020604427859093352769648884739519237929863116732884157488384958983740094402384150733031998892346399096896521175723142660849157766784137977302928227224348075324624222280824229987539641502960857587409437033839814341550356280440677470362628337086621378907395381203254229006103753384939449178356447358403393391961758549913710987309710207807736639096449717882974485342853640951353596785142260167806986444014762714665144946530649142910503128615515752385447940446544073759871667346712995917106572743669432480613682565936291280054243829005298532457997039018482585968220747763921685425384983313794711392673352956377351150196902802632381372298780705827757709564785362980858918236189886913632404275553235923434367895369483411997289435614965391797960757659573695063944645473887017053273975857545149614906035645641656531442737999976527138627387574679688139522551721180240850541866987250311141287920338063762924808254001043384018978002546668019462074612746584750588627838354474949746584246198551586240745895770506366312523385644472353359236508041692304921577611810182788527836743780515080020014822535278668078459058476701574232989110719671419970885068546959050918181434568462984912754401146005487813462959908932835939085647780652271691260877958502111752237019374033490476326512981002461813766935900925278197398530199312383561869464571813511701100210406211026113373648485032831516271521 30867780564373762664788264322087196463413043599914076293579530269155809069685526011501029309415096344606997010137281290238752454857871382465044432341142907762643164230096201695874961399167796934319869717607565113772332513865688064947053050375624984558568633423959813363255341052778075022449410779710320098721399360754888023039064904734236968704070136550358315610668826183953492046324504402113954216259296455150076262469148107019905554262890802088526551296229034214930320927718274689130991079577629199318732406444713655612145543914158124392533212661996713404366347112074227786944732372998769790762713602991089054546557146231724131664122968416239355776368083171996539000347298961693783801864814881407883753083213072124381808178285687944526719500027808832392496527930908234649624876168543699510438155760448732508343856036213270038461462838281324150240466260430716660269323933484080346791858441602766447201628206758608669772429552544815229731662064615184491821205282534132885246463625650403172288144648392218118219262031877164862699784977675813848808662628991621706409847489487209413663849271442810931219397431556354221089250940039955187530927849079926771373743416838858497606604681273067786794751992271712074964432670950940758238995440754929353813339747402161499817533295041046657601166439188203253674431842065628929732005196664981420956294193789891204610385758853602271233371562076741551255435954820307343831664136629838637775518013834200263804424265672296715297516579155678593330871514838096268624212179398557699085180822436710083038083571417954063099183494178527671430672620521996168553590431854259531278834143880547407526849607589417742282702874322110584016874704743626623291528482420137820306893435805848353767256059198459773468482434102282193623649624779105250744995500335749462647217100743670755642276605134474069372720406785752529931812006870165307856523770354971090440942762363237429610831385120673805928485617951970223779557553882089200145000141768251383646775883145494547077530554719353513593251700491915929501029274823739877559878020832933789216076853746700314687143016542881462539819282716619722561330824173158405131580578915713335348537557778874887821392630707812344843026154328348436902450437486716239052524004770907831571512217263350799192587823949967784304158156222402921030204176992120069945506754281740552073069629030749569470175829147268956144816814351094008830010674056407396944487693882101942256470302370491279808351039513743927261645486604889550752530420686919936542077004858761112473022846455651334591568433484331523888067873806125567055349296287766287824803 49945118110430159547806420974922731883448704105581503030556864149483692753612613183944982331003842401810594622357304313852814745661907053126789109390415578201143065951964839180364408281147401374486965371050956223735100750385211280710889697627273063597656659477807258605213413576944514133175836245116612891049321640022244981348845258212115444354669584389382647969906533411153951962209609984606140592244042593799663103393810873086799844706556626974464173461007346281595667008210964971601878115384194506893909673919264768363757799661700900501502849772728405136329068888480490890012124553846297711545583094787746082942526043698710807189719068311420950449450731214264915190278693433453989008482916410500811303777592076252603943826344905666778067893200702339096086074348352223766274450193429449364094227253300510107293617147580388836869969803697312740484019182926466303053049346386763656943148643310754014844759355033159362844885949344963996277101293828516439259656897471381098629552391123153157963206263950143296138418785611066810675318074438881294375862383646949324961367454422972477103868541847916839152888218077310098630255235837119723623330636648631634825915641091783129658074686850434629812111989790076809807453275378799851591765089639668873051269610518894383975021680000030397695568823338936285673324188464725826253180919807642270114060977927868507538612983201677595857593842900971538795077457781164931241101170469652979325874294274877734167052602758918094204911960358932822336975268223035717802568626756961092477142580986623794025393281625761799738279943896410645916015474162947522150375574114427338265278158643262072671796138238560652785831489837862969464815151287700383163195829133133737413466179475280834380938625134751053522726263107580726081646663797587836713216248099671148072602084057465467034949958090851420522917309588384911304110787575993065566088555717951949359178952250151062015106938356597240296380987435382221068993168847480998105757801341946447591421357032511600351506412264503128499287346133572460943767274800267016187265595512621928738628574926941165229010003793192603827739620780382647369584825216542424109583125583732797423150304363625476449230985182762091427272352879934677648346207993082551575909649243261190808020258955655720770199634132756312140901936737482941045026712270788148404565230983314785062180348702169540355244376106319874326251382814078921584411820061895210407447602814937881342118083022762971069228998015855679498664860638380027079043401689381750309012905784039309871553045768034896461033005297843224988278280017151680428997781320597804096324 80812898674803922212594685297009928346861747705495579324136394418639501823298139195446011640418938746417591632494585604091567200519778435591833541731558485963786230182061040876239369680315198308806835088658521337507433264250899345657942748002898048156225292901767071968468754629722589155625247024826932989770721000777133004387910162946352413058739720939740963580575359595107444008534114386720094808503339048949739365862958980106705398969447429062990724757236380496525987935929239660732869194961823706212642080363978423975903343575859024894036062434725118540695416000554718676956856926845067502308296697778835137489083189930434938853842036727660306225818814386261454190625992395147772810347731291908695056860805148376985752004630593611304787393228511171488582602279260458415899326361973148874532383013749242615637473183793658875331432641978636890724485443357182963322373279870844003735007084913520462046387561791768032617315501889779226008763358443700931080862180005513983876016016773556330251350912342361414357680817488231673375103052114695143184525012638571031371214943910181890767717813290727770372285649633664319719506175877074911154258485728558406199659057930641627264679368123502416606863982061788884771885946329740609830760530394598226864609357921055883792554975041077055296735262527139539347756030530354755985186116472623691070355171717759712148998742055279867090965404977713090050513412601472275072765307099491617101392308109077997971476868431214809502428539514611415667846783061131986426780806155518791562323403423333877063476853043715862837463438074938317346688094684943690703966005968686869544112302523809480198645745827978395068534364159973553481689856031327006454724311553271557720359615281129188148194684333210826991208697209862919705296288576693087458211748435420610719819184801136222677226563225325489895637716374137441235922794446158373422612326072923039800121714613388491625938323477271046224866605387352444848550722729570198250757943110197831238197240178006147429036966983856642092539046625488390444796549624006893747143616345555717954705428673641479916153020336074066367558903497002369930915649389700829241163704499446132771687862142500364270623615890574436270298507208283114550796645479798790628433654014169022379532476219006519962787458082724096445060092959885862075230889262908218350071985265055337135249977732919109825420205253588830471068197165172930414422494118302607351935296697039823598588385393254250877580037529599606760310347243269577831573822376301686851089910642800422344575892223686231052601438782174748876346153823277247484347077608364091921127 130758016785234081760401106271932660230310451811077082354693258568123194576910752379390993971422781148228186254851889917944381946181685488718622651121974064164929296134025880056603777961462599683293800459709477561242534014636110626368832445630171111753881952379574330573682168206667103288801083269943545880820042640799377985736755421158467857413409305329123611550481893006261395970743724371326235400747381642749402469256769853193505243676004056037454898218243726778121654944140204632334747310346018213106551754283243192339661143237559925395538912207453523677024484889035209566968981480691365213853879792566581220431609233629145746043561105039081256675269545600526369380904685828601761818830647702409506360638397224629589695830975499278082855286429213510584668676627612682182173776555402598238626610267049752722931090331374047712201402445675949631208504626283649266375422626257607660678155728224274476891146916824927395462201451234743222285864652272217370340519077476895082505568407896709488214557176292504710496099603099298484050421126553576437560387396285520356332582398333154367871586355138644609525173867710974418349761411714194634777589122377190041025574699022424756922754054973937046418975971851865694579339221708540461422525620034267099915878968439950267767576655041107452992304085866075825021080218995080582238367036280265961184416149645628219687611725256957462948559247878684628845590870382637206313866477569144596427266602383955732138529471190132903707340499873544238004822051284167704229349432912479884039465984409957671088870134669477662575743381971348963262703568847891212854341580083114207809390461167071552870441884066539047854365853997836522946505007319027389617920140686405295133825794756410022529133309467961880513934960317443645786942952374280924171427996535091758792421268858601689712176521316176910418555025962522352540033582022151438988700881790874989159300666863539553641045261833868286521247592822734665917543891577051196356515744452144278829618597210517747780543379248359770591826392759060851388563824424273909934409211858177646693334003600582645145163024129266670195298524277385017300500474606243253350746830083178930194838166506125840719854601073336527697570860088217792199142853472881342204343303257430213187552735174662240732987092215480408585962029697368803120257601533696366754637216248370122197430326435088650180664581359908704797319579979251851998834314180197817759382899511977704940706468416017221946809035545455286258975207881649604910617224065683437160102816426839732216128937991721127513634444080017973864624433840428927913344858928961896017451 211570915460038003972995791568942588577172199516572661678829652986762696400208891574837005611841719894645777887346475522035949146701463924310456192853532550128715526316086920932843147641777797992100635548367998898749967278887009972026775193633069159910107245281341402542150922836389692444426330294770478870590763641576510990124665584104820270472149026268864575131057252601368839979277838758046330209250720691699141835119728833300210642645451485100445622975480107274647642880069444293067616505307841919319193834647221616315564486813418950289574974642178642217719900889589928243925838407536432716162176490345416357920692423559580684897403141766741562901088359986787823571530678223749534629178378994318201417499202373006575447835606092889387642679657724682073251278906873140598073102917375747113158993280798995338568563515167706587532835087654586521932990069640832229697795906128451664413162813137794938937534478616695428079516953124522448294628010715918301421381257482409066381584424670265818465908088634866124853780420587530157425524178668271580744912408924091387703797342243336258639304168429372379897459517344638738069267587591269545931847608105748447225233756953066384187433423097439463025839953913654579351225168038281071253286150428865326780488326361006151560131630082184508289039348393215364368836249525435338223553152752889652254771321363387931836610467312237330039524652856397718896104282984109481386631784668636213528658910493033730110006339621347713209769039388155653672668834345299690656130239067998675601789387833291548152346987713193525413206820046287280609391663532834903558307586051801077353502763690881033069087629894517442922900218157810076428194863350354396072644452239676852854185410037539210677327993801172707505143657527306565492239240950974011629639744970512369512240453659737912389403084541502400314192742336659793775956376468309812411313207863798028959422381476928045266983585311139332746114198210087110766094614306621394607273687562342110067815837388523895209580346232216412684365439384549241833360374048280803681552828203733364648039432274224125061316044465340736562857427774387387231416123995944082591910534582625062966526028648626204990478216963910963967869367296500906749939498952680132832776957271599235567085211393668760695774550298204505031022122657254665195488490796604585104709201513425459332680304168007760006084786613497535268387777144424782413256808298500425111318196209017528539294853809271472824389073075054893019285555124919182742191046441985124011192727069640154560704830215407358566235882862192722740970587663706175397691936537325987938578 342328932245272085733396897840875248807482651327649744033522911554885890977119643954227999583264501042873964142198365439980331092883149413029078843975506614293644822450112800989446925603240397675394436008077476459992501293523120598395607639263240271663989197660915733115833091043056795733227413564714024751410806282375888975861421005263288127885558331597988186681539145607630235950021563129372565609998102334448544304376498686493715886321455541137900521193723834052769297824209648925402363815653860132425745588930464808655225630050978875685113886849632165894744385778625137810894819888227797930016056282911997578352301657188726430940964246805822819576357905587314192952435364052351296448009026696727707778137599597636165143666581592167470497966086938192657919955534485822780246879472778345351785603547848748061499653846541754299734237533330536153141494695924481496073218532386059325091318541362069415828681395441622823541718404359265670580492662988135671761900334959304148887152832566975306680465264927370835349880023686828641475945305221848018305299805209611744036379740576490626510890523568016989422633385055613156419028999305464180709436730482938488250808455975491141110187478071376509444815925765520273930564389746821532675811770463132426696367294800956419327708285123291961281343434259291189389916468520515920461920189033155613439187471009016151524222192569194792988083900735082347741695153366746687700498262237780809955925512876989462248535810811480616917109539261699891677490885629467394885479671980478559641255372243249219241217122382671187988950202017636243872095232380726116412649166134915285162893224857952585939529513961056490777266072155646599374699870669381785690564592926082147988011204793949233206461303269134588019078617844750211279182193325254935801067741505604128304661722518339602101579605857679310732747768299182146315989958490461251400014089654673018118723048340467598908028847145007619267361791032821776683638505883672590963789432014486388897434434599041642990123725480576183276191832143610093221924198472554713615962040061911011341373435874806770206479068594607406758155952051772404531916598602187335942657364665803993161364195154752045710332818037247491665440227384718698949082352425561475037120260529029448754637946568331001428761642513684913616984152354623468315746092330300951859346417761795581530110630603096410186749367973406240065707357123676634412091122478698242870701095720995233480001322225288694771198108620510179278260763006568787652808270507668561171295543496479886776833768207128486079870326942210696605595021504135103311036795466287883956029 553899847705310089706392689409817837384654850844222405712352564541648587377328535529065005195106220937519742029544840962016280239584613337339535036829039164422360348766199721922290073245018195667495071556445475358742468572410130570422382832896309431574096442942257135657984013879446488177653743859484503622001569923952399965986086589368108398357707357866852761812596398208999075929299401887418895819248823026147686139496227519793926528966907026238346144169203941327416940704279093218469980320961702051744939423577686424970790116864397825974688861491810808112464286668215066054820658295764230646178232773257413936272994080748307115838367388572564382477446265574102016523966042276100831077187405691045909195636801970642740591502187685056858140645744662874731171234441358963378319982390154092464944596828647743400068217361709460887267072620985122675074484765565313725771014438514510989504481354499864354766215874058318251621235357483788118875120673704053973183281592441713215268737257237241125146373353562236960203660444274358798901469483890119599050212214133703131740177082819826885150194691997389369320092902400251894488296586896733726641284338588686935476042212928557525297620901168815972470655879679174853281789557785102603929097920891997753476855621161962570887839915205476469570382782652506553758752718045951258685473341786045265693958792372404083360832659881432123027608553591480066637799436350856169087130046906417023484584423370023192358542150432828330126878578649855545350159719974767085541609911048477235243044760076540767393564110095864713402157022063923524481486895913561019970956752186716362516395988548833619008617143855573933700166290313456675802894734019736181763209045165759000842196614831488443883789297070307295524222275372056776771421434276228947430707486476116497816902176178077514490982690399181711046940510635841940091946334958771063811327297518471047078145429817395644175012432456146952013475989242908887449733120190293985571063119576828498965250271987565538199704071712792595960557271528159335055284572520835517297514868265644375989412868149030895267795113059948143321013379826159791763332722598131418534567899248429056127890223803378250700811035001158455633309594681219605699021851378241607869897217800628684321723157961999762124536192811889418648006275011878133511234583126905536964055619275221040862790934771104170192834154586903775334095134268101416825347930777198667982019291930012762019296176034560167595587181695565072297546318131487970394999316949653685182488270566120041337538598422535844646106209804403419346565609167841278708728732003613871894607 896228779950582175439789587250693086192137502171872149745875476096534478354448179483293004778370721980393706171743206401996611332467762750368613880804545778716005171216312522911736998848258593342889507564522951818734969865933251168817990472159549703238085640603172868773817104922503283910881157424198528373412376206328288941847507594631396526243265689464840948494135543816629311879320965016791461429246925360596230443872726206287642415288362567376246665362927775380186238528488742143872344136615562184170685012508151233626015746915376701659802748341442974007208672446840203865715478183992028576194289056169411514625295737937033546779331635378387202053804171161416209476401406328452127525196432387773616973774401568278905735168769277224328638611831601067389091189975844786158566861862932437816730200376496491461567871208251215187001310154315658828215979461489795221844232970900570314595799895861933770594897269499941075162953761843053789455613336692189644945181927401017364155890089804216431826838618489607795553540467961187440377414789111967617355512019343314875776556823396317511661085215565406358742726287455865050907325586202197907350721069071625423726850668904048666407808379240192481915471805444695127212353947531924136604909691355130180173222915962918990215548200328768430851726216911797743148669186566467179147393530819200879133146263381420234885054852450626916015692454326562414379494589717602856787628309144197833440509936247012654607077961244308947043988117911555437027650605604234480427089583028955794884300132319789986634781232478535901391107224081559768353582128294287136383605918321631647679289213406786204948146657816630424477432362469103275177594604689117967453773638091841148830207819625437677090250600339441883543300893216806988050603627601483883231775227981720626121563898696417116592562296256861021779688278935024086407936293449232315211341387173144065196868478157863243083041279601154571280837780275730664133371626073966576534852551591314887862684706586607181189827797193368779236749103671769428277208770993390230913476908327555387330786304023837665474274181654555550079169331877932196295249321200318754477225263914233049289254418958130296411143853038405947298749822065938304648104203803803082907017478329658133076361104530330763553297835325574332264990427366501601826980675457206488823402037037016622392901565374200580379583522560310015399802491391778051237439053255896910852720387651007995499297498259848862366785290316075251575807081138056758047807587457322246353783814062599928114372366629664330725976536746614115952160630671976382019765527469901755850636 1450128627655892265146182276660510923576792353016094555458228040638183065731776715012358009973476942917913448201288047364012891572052376087708148917633584943138365519982512244834027072093276789010384579120968427177477438438343381739240373305055859134812182083545430004431801118801949772088534901283683031995413946130280688907833594183999504924600973047331693710306731942025628387808620366904210357248495748386743916583368953726081568944255269593614592809532131716707603179232767835362342324457577264235915624436085837658596805863779774527634491609833253782119672959115055269920536136479756259222372521829426825450898289818685340662617699023950951584531250436735518226000367448604552958602383838078819526169411203538921646326670956962281186779257576263942120262424417203749536886844253086530281674797205144234861636088569960676074268382775300781503290464227055108947615247409415081304100281250361798125361113143558259326784189119326841908330734010396243618128463519842730579424627347041457556973211972051844755757200912235546239278884273002087216405724233477018007516733906216144396811279907562795728062819189856116945395622173098931633992005407660312359202892881832606191705429280409008454386127685123869980494143505317026740534007612247127933650078537124881561103388115534244900422108999564304296907421904612418437832866872605246144827105055753824318245887512332059039043301007918042481017294026068459025874758356050614856925094359617035846965620111677137277170866696561410982377810325579001565968699494077433030127344892396330754028345342574400614793264246145483292835069024207848156354562670508348010195685201955619823956763801672204358177598652782559950980489338708854149216982683257600149672404434456926120974039897409749179067523168588863764822025061877712830662482714457837123938466074874494631083544986656042732826628789570866026499882628408003379022668684691615112275013907975258887258053712057301523294313769518639551583104746264260562105915671168143386827934978574172719389531868906161375197306375199928763332493343514225748210991776593199763320199172172868560742069294714503693400182711704091988058582043798450173011793163162662105417144642761508547111954888039564402932059416747157910347126055182044690776914696130286817398084262492330525677834028137463750912996702378379735338215258584112025787457656312237663255692500145304750572417677147213790733897625659879468062786984033095578834739679581020757518593674294409029962372472011640323873353399269544728442806904406975931536272084628719969451910965052200175372082746551017535298726239839817660728494259473515627745243 2346357407606474440585971863911204009768929855187966705204103516734717544086224894495651014751847664898307154373031253766009502904520138838076762798438130721854370691198824767745764070941535382353274086685491378996212408304276632908058363777215408838050267724148602873205618223724453055999416058707881560368826322336608977849681101778630901450844238736796534658800867485842257699687941331921001818677742673747340147027241679932369211359543632160990839474895059492087789417761256577506214668594192826420086309448593988892222821610695151229294294358174696756126881631561895473786251614663748287798566810885596236965523585556622374209397030659329338786585054607896934435476768854933005086127580270466593143143185605107200552061839726239505515417869407865009509353614393048535695453706116018968098404997581640726323203959778211891261269692929616440331506443688544904169459480380315651618696081146223731895956010413058200401947142881169895697786347347088433263073645447243747943580517436845673988800050590541452551310741380196733679656299062114054833761236252820332883293290729612461908472365123128202086805545477311981996302947759301129541342726476731937782929743550736654858113237659649200936301599490568565107706497452848950877138917303602258113823301453087800551318936315863013331273835216476102040056091091178885616980260403424447023960251319135244553130942364782685955058993462244604895396788615786061882662386665194812690365604295864048501572698072921446224214854814472966419405460931183236046395789077106388825011645024716120740663126575052936516184371470227043061188651152502135292738168588829979657874974415362406028904910459488834782655031015251663226158083943397972116670756321349441298502612254082363798064290497749191062610824061805670752872628689479196713894257942439557750060029973570911747676107282912903754606317068505890112907818921857235694234010071864759177471882386133122130341094991658456094575151549794370215716476372338227138640768222759458274690619685160779900579359666099530154434055478871698191609702114507615979124468684920755150650985476196706226216343476369059243479352043582024184353831364998768927489018427076895154706399061719638843523098741077970350230809238813096214995230258985847773683932174459944950474445367022661289231131863463038083177987129744881337165195934041318514610859693349254285648594065519505330952001199707523806133700117051657519300226037288992489687460067232028753017891172554257892329157762327715575449160480407601486490614491864298177890055898691319897566283331681864506098059283297631651250886870511794042748259786943417383595879 3796486035262366705732154140571714933345722208204061260662331557372900609818001609508009024725324607816220602574319301130022394476572514925784911716071715664992736211181337012579791143034812171363658665806459806173689846742620014647298737082271267972862449807694032877637419342526402828087950959991564592364240268466889666757514695962630406375445211784128228369107599427867886087496561698825212175926238422134084063610610633658450780303798901754605432284427191208795392596994024412868556993051770090656001933884679826550819627474474925756928785968007950538246554590676950743706787751143504547020939332715023062416421875375307714872014729683280290371116305044632452661477136303537558044729964108545412669312596808646122198388510683201786702197126984128951629616038810252285232340550369105498380079794786784961184840048348172567335538075704917221834796907915600013117074727789730732922796362396585530021317123556616459728731332000496737606117081357484676881202108967086478523005144783887131545773262562593297307067942292432279918935183335116142050166960486297350890810024635828606305283645030690997814868364667168098941698569932400061175334731884392250142132636432569261049818666940058209390687727175692435088200640958165977617672924915849386047473379990212682112422324431397258231695944216040406336963512995791304054813127276029693168787356374889068871376829877114744994102294470162647376414082641854520908537145021245427547290698655481084348538318184598583501385721511034377401783271256762237612364488571183821855138989917112451494691471917627337130977635716372526354023720176709983449092731259338327668070659617318025852861674261161039140832629668034223177138573282106826265887739004607041448175016688539289919038330395158940241678347230394534517694653751356909544556740656897394873998496048445406378759652269568946487432945858076756139407701550265239073256678756556374289746896294108381017599148703715757617869465319313009767299581118602487700746683893927601661518554663734952619968891535005691529631361854071626954942195458021841727335460461513954913971184648369574786958412771083562936879534755286116172412413408797219100500811590239557260123543704481147390635053629117534753162868655560254125342356314167892464460846870590231767872529629514991814908965891600501834090983832123261072503411192625430540398317349661491948904286565664810081524418876854737596867597742711536987363013021322088068522199746813049510536484846848666922291530234339355899322513879677146214933421396271274109426327983320039867018194296734064681470142029848649186549613110351611703476754046416933011341122 6142843442868841146318126004482918943114652063392027965866435074107618153904226504003660039477172272714527756947350554896031897381092653763861674514509846386847106902380161780325555213976347553716932752491951185169902255046896647555357100859486676810912717531842635750843037566250855884087367018699446152733066590803498644607195797741261307826289450520924763027908466913710143787184503030746213994603981095881424210637852313590819991663342533915596271759322250700883182014755280990374771661645962917076088243333273815443042449085170076986223080326182647294373436222238846217493039365807252834819506143600619299381945460931930089081411760342609629157701359652529387096953905158470563130857544379012005812455782413753322750450350409441292217614996391993961138969653203300820927794256485124466478484792368425687508044008126384458596807768634533662166303351604144917286534208170046384541492443542809261917273133969674660130678474881666633303903428704573110144275754414330226466585662220732805534573313153134749858378683672629013598591482397230196883928196739117683774103315365441068213756010153819199901673910144480080938001517691701190716677458361124187925062379983305915907931904599707410326989326666261000195907138411014928494811842219451644161296681443300482663741260747260271562969779432516508377019604086970189671793387679454140192747607694024313424507772241897430949161287932407252271810871257640582791199531686440240237656302951345132850111016257520029725600576325507343821188732187945473658760277648290210680150634941828572235354598492680273647162007186599569415212371329212118741830899848168307325945634032680431881766584720649873923487660683285886403296657225504798382558495325956482746677628942621653717102620892908131304289171292200205270567282440836106258450998599336952624058526022016318126435759552481850242039262926582646252315520472122474767490688828421133467218778680241503147940243695374213712444616869107379983016057490940714839387452116687059936209174348895732520548251201105221684065417332943325146551897572529457706459929146434710064622170124566281013174756247452622180358886798868140356766244773795988027989830017316452414829942766200786234158152370195505103393677894373350340337586573153740238144779045050176718346974996537653104140097755063539917268970961868142409668607126666749055009177043010746234552880631184315412476420076562261403001297859763194506663239058611080558209659814045078263554376019402924814620687996667071474771674360084747701424035888135572287316383882011359764584477628415929187568201313146280837800499980863405746225013833360350394937001 9939329478131207852050280145054633876460374271596089226528766631480518763722228113511669064202496880530748359521669856026054291857665168689646586230581562051839843113561498792905346357011159725080591418298410991343592101789516662202655837941757944783775167339536668628480456908777258712175317978691010745097306859270388311364710493703891714201734662305052991397016066341578029874681064729571426170530219518015508274248462947249270771967141435670201704043749441909678574611749305403243328654697733007732090177217953641993862076559645002743151866294190597832619990812915796961199827116950757381840445476315642361798367336307237803953426490025889919528817664697161839758431041462008121175587508487557418481768379222399444948838861092643078919812123376122912768585692013553106160134806854229964858564587155210648692884056474557025932345844339450884001100259519744930403608935959777117464288805939394791938590257526291119859409806882163370910020510062057787025477863381416704989590807004619937080346575715728047165446625965061293517526665732346338934095157225415034664913340001269674519039655184510197716542274811648179879700087624101251892012190245516438067195016415875176957750571539765619717677053841953435284107779369180906112484767135301030208770061433513164776163585178657529794665723648556914713983117082761493726606514955483833361534964068913382295884602119012175943263582402569899648224953899495103699736676707685667784947001606826217198649334442118613226986297836541721222972003444707711271124766219474032535289624858941023730046070410307610778139642902972095769236091505922102190923631107506634994016293649998457734628258981810913064320290351320109580435230507611624648446234330563524194852645631160943636140951288067071545967518522594739788261936192193015803007739256234347498057022070461724505195411822050796729472208784659402391723222022387713840747367584977507756965674974349884165539392399089971330314082188420389750315638609543202540134136010614661597727729012630685140517142736110913213696779187014952101494093030551299433795389607948664978593354772935855800133169018536185117238421554154256529178658182593207128490641607556009674953486470681933624793205999313039856556546549933604465679942887321632702605625915640408486219504626052644919049063646664041751359954793991403482172018319292179595407494392672238183457167196849125494000838953416998999868895602474731494026252079933168626731859560858127774090860866251591736912218231006427374094188239761893916357457284406846396742711865331399631602671925149993869038343342994930024350113091215017449701767879777283406278123 16082172921000048998368406149537552819575026334988117192395201705588136917626454617515329103679669153245276116469020410922086189238757822453508260745091408438686950015941660573230901570987507278797524170790362176513494356836413309758012938801244621594687884871379304379323494475028114596262684997390456897830373450073886955971906291445153022028024112825977754424924533255288173661865567760317640165134200613896932484886315260840090763630483969585797975803071692610561756626504586393618100316343695924808178420551227457436904525644815079729374946620373245126993427035154643178692866482758010216659951619916261661180312797239167893034838250368499548686519024349691226855384946620478684306445052866569424294224161636152767699289211502084371137427119768116873907555345216853927087929063339354431337049379523636336200928064600941484529153612973984546167403611123889847690143144129823502005781249482204053855863391495965779990088281763830004213923938766630897169753617795746931456176469225352742614919888868862797023825309637690307116118148129576535818023353964532718439016655366710742732795665338329397618216184956128260817701605315802442608689648606640625992257396399181092865682476139473030044666380508214435480014917780195834607296609354752674370066742876813647439904845925917801357635503081073423091002721169731683398399902634937973554282571762937695720392374360909606892424870334977151920035825157135686490936208394125908022603304558171350048760350699638642952586874162049065044160735632653184929885043867764243215440259800769595965400668902987884425301650089571665184448462835134220932754530955674942319961927682678889616394843702460786987807951034605995983731887733116423031004729656520006941530274573782597353243572180975202850256689814794945058829218633029122061458737855571300122115548092478042631631171374532646971511471711242048644038742494510188608238056413398641224184453654591387313479636094464185042758699057527769733331696100483917379521588127301721533936903361526417661065393937216134897762196519958277248045990603080757140255318754383375043215524897502136813307925265988807297597308353022396885944902956389195156480471624872462089783429236882719858951358369508544959950224444306954806017529460475372940750404960690585204566479622590298023189161401727581668628925755859545891840625445958928650416671435682984418010047828033440906477259029979260402870193462237926000689491138544249184941519374903206037645236885654516551532906227673498848865862599846641617781493172542418684059095747342759396187149553565923056606544656141210862150613072078423195926781713137633801215124 26021502399131256850418686294592186696035400606584206418923968337068655681348682731026998167882166033776024475990690266948140481096422991143154846975672970490526793129503159366136247927998667003878115589088773167857086458625929971960668776743002566378463052210915973007803951383805373308438002976081467642927680309344275267336616785149044736229758775131030745821940599596866203536546632489889066335664420131912440759134778208089361535597625405255999679846821134520240331238253891796861428971041428932540268597769181099430766602204460082472526812914563842959613417848070440139892693599708767598500397096231904022978680133546405696988264740394389468215336689046853066613815988082486805482032561354126842775992540858552212648128072594727450057239243144239786676141037230407033248063870193584396195613966678846984893812121075498510461499457313435430168503870643634778093752080089600619470070055421598845794453649022256899849498088645993375123944448828688684195231481177163636445767276229972679695266464584590844189271935602751600633644813861922874752118511189947753103929995367980417251835320522839595334758459767776440697401692939903694500701838852157064059452412815056269823433047679238649762343434350167870764122697149376740719781376490053704578836804310326812216068431104575331152301226729630337804985838252493177125006417590421806915817535831851078016276976479921782835688452737547051568260779056630790190672885101811575807550306164997567247409685141757256179573171998590786267132739077360896201009810087238275750729884659710619695446739313295495203441292992543760953684554341056323123678162063181577313978221332677347351023102684271700052128241385926105564167118240728047679450963987083531136382920204943540989384523469042274396224208337389684847091154825222137864466477111805647620172570162939767136826583196583443700983680495901451035761964516897902448985423998376148981150128628941271479019028493554156373072781245948159483647334710027119919655724137916383131664632374157102801582536673327048111458975706973229349540083633632056574050708362332040021808879670437992613441094284524992414835729907176653415123561138982402284971113232428471764736915707564653483744564368821584816506770994240559271697472347797005643356030876330993690785984248642942942238225048391623419988880549850949374012643765251108245824165828355222601467215024882566400478097983396259402739089064712657494715743218477417811673378935761333811736097751906108288445124458679926222960050839608535534138950456949265080801807612674159027789821478715916925644887999136140886500726163293440645628549592914917207493247 42103675320131305848787092444129739515610426941572323611319170042656792598975137348542327271561835187021300592459710677870226670335180813596663107720764378929213743145444819939367149498986174282675639759879135344370580815462343281718681715544247187973150937082295277387127445858833487904700687973471924540758053759418162223308523076594197758257782887957008500246865132852154377198412200250206706500798620745809373244021093468929452299228109374841797655649892827130802087864758478190479529287385124857348447018320408556867671127849275162201901759534937088086606844883225083318585560082466777815160348716148165684158992930785573590023102990762889016901855713396544293469200934702965489788477614220696267070216702494704980347417284096811821194666362912356660583696382447260960335992933532938827532663346202483321094740185676439994990653070287419976335907481767524625783895224219424121475851304903802899650317040518222679839586370409823379337868387595319581364985098972910567901943745455325422310186353453453641213097245240441907749762961991499410570141865154480471542946650734691159984630985861168992952974644723904701515103298255706137109391487458797690051709809214237362689115523818711679807009814858382306244137614929572575327077985844806378948903547187140459655973277030493132509936729810703760895988559422224860523406320225359780470100107594788773736669350840831389728113323072524203488296604213766476681609093495937483830153610723168917296170035841395899132160046160639851311293474710014081130894853955002518966170144460480215660847408216283379628742943082115426138133017176190544056432693018856519633940149015356236967417946386732487039936192420532101547899005973844470710455693643603538077913194778726138342628095650017477246480898152184629905920373458251259925925214967376947742288118255417809768457754571116090672495152207143499679800707011408091057223480411774790205334582283532658792498664588018341415831480303475929216979030810511037299177312265218104665601535735683520462647930610543183009221172226931506597586074236712813714306027116715415065024404567940129426749019550513799712433038260199050301068464095371597441451584857300933854520344944447373342695922738330129776456995438547514077715001808272378584106435837021578895352463871233240965427386450119205088617806305710495265853269211210036896240837264038207019477262852916007306955357013375519805609282526950583495405234357021666996614898310664539849381334637560624839978030686353425071825913439455177151920443629491683764860903360016918423976971032281839982251432655277351748651339235371863841555331306052551008708371 68125177719262562699205778738721926211645827548156530030243138379725448280323820079569325439444001220797325068450400944818367151431603804739817954696437349419740536274947979305503397426984841286553755348967908512227667274088273253679350492287249754351613989293211250394931397242638861213138690949553392183685734068762437490645139861743242494487541663088039246068805732449020580734958832740095772836463040877721814003155871677018813834825734780097797335496713961651042419103012369987340958258426553789888715616089589656298437730053735244674428572449500931046220262731295523458478253682175545413660745812380069707137673064331979287011367731157278485117192402443397360083016922785452295270510175574823109846209243353257192995545356691539271251905606056596447259837419677667993584056803726523223728277312881330305988552306751938505452152527600855406504411352411159403877647304309024740945921360325401745444770689540479579689084459055816754461812836424008265560216580150074204347711021685298102005452818038044485402369180843193508383407775853422285322260376344428224646876646102671577236466306384008588287733104491681142212504991195609831610093326310954754111162222029293632512548571497950329569353249208550177008260312078949316046859362334860083527740351497467271872041708135068463662237956540334098700974397674718037648412737815781587385917643426639851752946327320753172563801775810071255056557383270397266872281978597749059637703916888166484543579720983153155311733218159230637578426213787374977331904664042240794716900029120190835356294147529578874832184236074659187091817571517246867180110855082038096947918370348033584318441049071004187092064433806458207112066124214572518389906657630687069214296114983669679332012619119059751642705106489574314753011528283473397790391692079182595362460688418357576905284337767699534373478832703044950715562671528305993506208904410150939186484710912473930271517693081572497788904261549424088700626365520538157218833036403134487797266168109840623264230467283870231120680147933904735947126157870344870288356735479047455086833284238378122040190113835038792127268768167375703716192025234353999726422698089729405619257260652012026826440487107151714592963766432788073349412474156069384227462466713352572586138448119876183907665611498510828508606686855561444639865912976461145142065003092393429620944477877798573707433454996771779208348371591663240990120977575499084808288277246425873661117432389466733128423155145033351294785964279063712686059394086440948845662710972691077451766792510997756907896320654413492635152065398665304487183880898967468216201618 110228853039393868547992871182851665727256254489728853641562308422382240879298957428111652711005836407818625660910111622688593821766784618336481062417201728348954279420392799244870546925971015569229395108847043856598248089550616535398032207831496942324764926375506527782058843101472349117839378923025316724443787828180599713953662938337440252745324551045047746315670865301174957933371032990302479337261661623531187247176965145948266134053844154939594991146606788781844506967770848177820487545811678647237162634409998213166108857903010406876330331984438019132827107614520606777063813764642323228821094528528235391296665995117552877034470721920167502019048115839941653552217857488417785058987789795519376916425945847962173342962640788351092446571968968953107843533802124928953920049737259462051260940659083813627083292492428378500442805597888275382840318834178684029661542528528448862421772665229204645095087730058702259528670829465640133799681224019327846925201679122984772249654767140623524315639171491498126615466426083635416133170737844921695892402241498908696189823296837362737221097292245177581240707749215585843727608289451315968719484813769752444162872031243530995201664095316662009376363064066932483252397927008521891373937348179666462476643898684607731528014985165561596172174686351037859596962957096942898171819058041141367856017751021428625489615678161584562291915098882595458544853987484163743553891072093686543467857527611335401839749756824549054443893264319870488889719688497389058462799517997243313683070173580671051017141555745862254460927179156774613229950588693437411236543548100894616581858519363389821285858995457736674132000626226990308659965130188416989100362351274290607292209309762395817674640714769077228889186004641758944658931901741724657716316907046559543104748806673775386673742092338815625045973984910188450395363378539714084563432384821925729391819293196006589064016357669590839204735741852900017917605396331049194518010348668352592462867703845524143726878397894413414129901320160836242544712232107057684002662762595762870151857688806318251466939133385552591839701806427574754017260489329725597167874282947030339473777605596459400169136409845481844369420761871335587427127475964341762811568902550374151481490911991109424873092997948630033597224493161271939905719182187671182038305840356431636640421740730714581014388812010147299013957654118613824485526211932520751804903175557090413510498767027027357968401185831386776366611877718518889837979837715932632610523614332707995875743763543279596890147753309690844383803404634037168328739212205020019224909989 178354030758656431247198649921573591938902082037885383671805446802107689159622777507680978150449837628615950729360512567506960973198388423076299017113639077768694815695340778550373944352955856855783150457814952368825915363638889789077382700118746696676378915668717778176990240344111210330978069872578708908129521896943037204598802800080682747232866214133086992384476597750195538668329865730398252173724702501253001250332836822967079968879578935037392326643320750432886926070783218165161445804238232437125878250499587869464546587956745651550758904433938950179047370345816130235542067446817868642481840340908305098434339059449532164045838453077445987136240518283339013635234780273870080329497965370342486762635189201219366338507997479890363698477575025549555103371221802596947504106540985985274989217971965143933071844799180317005894958125489130789344730186589843433539189832837473603367694025554606390539858419599181839217755288521456888261494060443336112485418259273058976597365788825921626321091989529542612017835606926828924516578513698343981214662617843336920836699942940034314457563598629186169528440853707266985940113280646925800329578140080707198274034253272824627714212666814612338945716313275482660260658239087471207420796710514526546004384250182075003400056693300630059834412642891371958297937354771660935820231795856922955241935394448068477242562005482337734855716874692666713601411370754561010426173050691435603105561444499501886383329477807702209755626482479101126468145902284764035794704182039484108399970202700861886373435703275441129293111415231433800321768160210684278416654403182932713529776889711423405604300044528740861224065060033448515772031254402989507490269008904977676506505424746065497006653333888136980531891111131333259411943430025198055506708599125742138467209495092132963579026430106515159419452817613233401110926050068020078069641289232076668578304004108480519335534050751163336993640003402324106618231761851587351736843385071487080260133871955364766991108865178283645250581468094740978491838389977402554291019498074810325238690973044696373507129247220591383966970574594950457733452514564079596894296981036759745093034866248471426995576896952633558962384528304123660776539950120411147039031369263726724067629360110985608780758609447140862105831180016833384545585095164132327180370843448825066261366218608513154721822267006919078222306025710277065475647189508019836613191452803516287171616199416494091096824340976420127661397841997582602524039231802373581456186325305399073327510556054277353798044073964104337018955470032702472815923093103987487441111607 288582883798050299795191521104425257666158336527614237313367755224489930038921734935792630861455674036434576390270624190195554794965173041412780079530840806117649095115733577795244491278926872425012545566661996225424163453189506324475414907950243639001143842044224305959049083445583559448817448795604025632573309725123636918552465738418122999978190765178134738700147463051370496601700898720700731510986364124784188497509801968915346102933423089976987317789927539214731433038554066342981933350049911084363040884909586082630655445859756058427089236418376969311874477960336737012605881211460191871302934869436540489731005054567085041080309174997613489155288634123280667187452637762287865388485755165861863679061135049181539681470638268241456145049543994502662946905023927525901424156278245447326250158631048957560155137291608695506337763723377406172185049020768527463200732361365922465789466690783811035634946149657884098746426117987097022061175284462663959410619938396043748847020555966545150636731161021040738633302033010464340649749251543265677107064859342245617026523239777397051678660890874363750769148602922852829667721570098241769049062953850459642436906284516355622915876762131274348322079377342415143513056166095993098794734058694193008481028148866682734928071678466191656006587329242409817894900311868603833992050853898064323097953145469497102732177683643922297147631973575262172146265358238724753980064122785122146573418972110837288223079234632251264199519746798971615357865590782153094257503700036727422083040376281532937390577259021303383754038594388208413551718748904121689653197951283827330111635409074813226890159039986477535356065686260438824431996384591406496590631360179268283798714734508461314681294048657214209421077115773092204070875331766922713223025506172301681571958301765908350252768522445330784465426802523421851506289428607734162633073674054002397970123297304487108399550408420754176198375745255224124535837158182636546254853733739839672723001575800888910717987263072697059380482788255577221036550622084460238293682260670573195390548661851014624974068380606143975806672381022525211750713003893805194062171263983790084566812471844930827164713306798115403331805290175459248203667426084752909850600271814100875549120272102095033653851607395770895703055673178105324451304277351803509218676683805256702901787959339227735736211079017066377236263679828890889961173401440540588418094628360606700682114966443521449065225526807806904028009719716101492362019069518306214066709939638107069203254319597556950688191827273795181402758874666739641144662305309007506666021596 466936914556706731042390171025998849605060418565499620985173202026597619198544512443473609011905511665050527119631136757702515768163561464489079096644479883886343910811074356345618435631882729280795696024476948594250078816828396113552797608068990335677522757712942084136039323789694769779795518668182734540702831622066674123151268538498805747211056979311221731084624060801566035270030764451098983684711066626037189747842638791882426071813002025014379644433248289647618359109337284508143379154288143521488919135409173952095202033816501709977848140852315919490921848306152867248147948658278060513784775210344845588165344114016617205126147628075059476291529152406619680822687418036157945717983720536204350441696324250400906019978635748131819843527119020052218050276245730122848928262819231432601239376603014101493226982090789012512232721848866536961529779207358370896739922194203396069157160716338417426174804569257065937964181406508553910322669344906000071896038197669102725444386344792466776957823150550583350651137639937293265166327765241609658321727477185582537863223182717431366136224489503549920297589456630119815607834850745167569378641093931166840710940537789180250630089428945886687267795690617897803773714405183464306215530769208719554485412399048757738328128371766821715840999972133781776192837666640264769812282649754987278339888539917565579974739689126260032003348848267928885747676728993285764406237173476557749678980416610339174606408712439953473955146229278072741826011493066917130052207882076211530483010578982394823764012962296744513047150009619642213873486909114805968069852354466760043641412298786236632494459084515218396580130746293887340204027638994396004080900369084245960305220159254526811687947382545351189952968226904425463482818761792120768729734105298043820039167796858041313831794952551845943884879620136655252617215478675754240702714963286079066548427301412967627735084459171917513192015748657548231154068920034223897991697118811326752983135447756253677709096128250980704631064256350318199528389012061862792584701758745383520629239634895710998481197627826735359773642955617475669484165518457884790956468245020549829659847338093402254160290203750748962294189818479582908980207376205164056889631641077827599616749632213080642434610216842911757808886853194938708996889372515935836399047527254081769163154177947740890458033346023985455458569705539167955436820590948560425031286081164122987853731165860015540162049867784227031689407561713684094886058301320679795522896264943506142530764875651834304486235901237899518421714344699442113960585398412994994107133203 755519798354757030837581692130424107271218755093113858298540957251087549237466247379266239873361185701485103509901760947898070563128734505901859176175320690003993005926807934140862926910809601705808241591138944819674242270017902438028212516019233974678666599757166390095088407235278329228612967463786760173276141347190311041703734276916928747189247744489356469784771523852936531871731663171799715195697430750821378245352440760797772174746425114991366962223175828862349792147891350851125312504338054605851960020318760034725857479676257768404937377270692888802796326266489604260753829869738252385087710079781386077896349168583702246206456803072672965446817786529900348010140055798445811106469475702066214120757459299582445701449274016373275988576663014554880997181269657648750352419097476879927489535234063059053382119382397708018570485572243943133714828228126898359940654555569318534946627407122228461809750718914950036710607524495650932383844629368664031306658136065146474291406900759011927594554311571624089284439672947757605816077016784875335428792336527828154889746422494828417814885380377913671066738059552972645275556420843409338427704047781626483147846822305535873545966191077161035589875067960312947286770571279457405010264827902912562966440547915440473256200050233013371847587301376191594087737978508868603804333503653051601437841685387062682706917372770182329150980821843191057893942087232010518386301296261679896252399388721176462829487947072204738154665976077044357183877083849070224309711582112938952566050955263927761154590221318047896801188604007850627425205658018927657723050305750587373753047707861049859384618124501695931936196432554326164636024023585802500671531729263514244103934893762988126369241431202565399374045342677517667553694093559043481952759611470345501611126098623949664084563474997176728350306422660077104123504907283488403335788637340081464518550598717454736134634867592671689390391493912772355689906078216860444246550852551166425706137023557142588427083391323677764011547044605895420564939634146323030878384019415956716019788296746725623455266008432879335580315336640000881234878522351689985018639509004339914226659809938333081325003510548864365625995108655042157183874802289916966740231912891928475165869904315175676088461824238682653511942526373044033448193649867739345617724211059338472064942137286968626194244425041051832694833385368058845397993992389101013449380709524729688535846132303536989227275394592033935717417281429785587248077370838986009589606204581613211734019195249391255174427728511694699824473219366181755105247703722002500773154799 1222456712911463761879971863156422956876279173658613479283714159277685168436010759822739848885266697366535630629532897705600586331292295970390938272819800573890336916737882290486481362542692330986603937615615893413924321086846298551581010124088224310356189357470108474231127731024973099008408486131969494713978972969256985164855002815415734494400304723800578200869395584654502567141762427622898698880408497376858567993195079552680198246559427140005746606656424118509968151257228635359268691658626198127340879155727933986821059513492759478382785518123008808293718174572642471508901778528016312898872485290126231666061693282600319451332604431147732441738346938936520028832827473834603756824453196238270564562453783549983351721427909764505095832103782034607099047457515387771599280681916708312528728911837077160546609101473186720530803207421110480095244607435485269256680576749772714604103788123460645887984555288172015974674788931004204842706513974274664103202696333734249199735793245551478704552377462122207439935577312885050870982404782026484993750519813713410692752969605212259783951109869881463591364327516183092460883391271588576907806345141712793323858787360094716124176055620023047722857670758578210751060484976462921711225795597111632117451852946964198211584328421999835087688587273509973370280575645149133373616616153408038879777730225304628262681657061896442361154329670111119943641618816225296282792538469738237645931379805331515637435896659512158212109812205355117099009888576915987354361919464189150483049061534246322584918603183614792409848338613627492841298692567133733625792902660217347417394460006647286491879077209016914328516327178848213504840051662580198504752432098347760204409155053017514938057188813747916589327013569581943131036512855351164250682493716768389321650293895481990977916358427549022672235186042796732356740720385959242644038503600626160531066977900130422363869719326764589202582407242570320586843974998251084342238247971362493178689272471313396266136179519574658468642611300956213620093328646208185823463085778161340236649027931642436621936463636259614695353958292257476550719044040809574775975107754024889743886507148031735335485293714299613327920184927134625066164082178495081023629863553969756074782619536528256318523072041081594411320829379567982742445083022383675182016771738313420241228096315234709516652277771065037288153403090907226800834814583337661438480666790688852676389577298163552529389325262376260967406824843143469682134135672159665805112502469525119354264784070901225559660663629749594218246187564065623869065833102134997494880288002 1977976511266220792717553555286847064147497928751727337582255116528772717673477007202006088758627883068020734139434658653498656894421030476292797448995121263894329922664690224627344289453501932692412179206754838233598563356864200989609222640107458285034855957227274864326216138260251428237021453595756254887255114316447296206558737092332663241589552468289934670654167108507439099013494090794698414076105928127679946238547520313477970421305852254997113568879599947372317943405119986210394004162964252733192839176046694021546916993169017246787722895393701697096514500839132075769655608397754565283960195369907617743958042451184021697539061234220405407185164725466420376842967529633049567930922671940336778683211242849565797422877183780878371820680445049161980044638785045420349633101014185192456218447071140219599991220855584428549373692993354423228959435663612167616621231305342033139050415530582874349794306007086966011385396455499855775090358603643328134509354469799395674027200146310490632146931773693831529220016985832808476798481798811360329179312150241238847642716027707088201765995250259377262431065575736065106158947692431986246234049189494419807006634182400251997722021811100208758447545826538523698347255547742379116236060425014544680418293494879638684840528472232848459536174574886164964368313623658001977420949657061090481215571910691690945388574434666624690305310491954311001535560903457306801178839765999917542183779194052692100265384606584362950264478181432161456193765660765057578671631046302089435615112489510250346073193404932840306649527217635343468723898225152661283515952965967934791147507714508336351263695333518610260452523611402539669476075686166001005423963827611274448513089946780503064426430244950481988701058912259460798590206948910207732635253328238734823261419994105940642000921902546199400585492465456809460864225293242731047374292237966241995585528498847877100004354194357260891972798736483092942533881076467944786484798823913659604395409494870538854563262910898336232654158345562109040658268280354508854341469797577296952668816228389162245391729644692494030934273628897477431953922563161264760993747263029229658113166957970068416810297224848477693546180035789667223347956980784997990370095466861684549948489440843431994611533865320277064832771905941026775893276672251414527634495949372758713293038452521678142846522196106089120848236476275285646232808575726762451930047500213582364925423430467089518616600656968294903124242124573255269382213042998651814702108674106732565998803266150616814835091358261288918070660783431805624171080805856999995653442801 3200433224177684554597525418443270021023777102410340816865969275806457886109487767024745937643894580434556364768967556359099243225713326446683735721814921837784666839402572515113825651996194263679016116822370731647522884443710499541190232764195682595391045314697383338557343869285224527245429939727725749601234087285704281371413739907748397735989857192090512871523562693161941666155256518417597112956514425504538514231742599866158168667865279395002860175536024065882286094662348621569662695821590450860533718331774628008367976506661776725170508413516710505390232675411774547278557386925770878182832680660033849410019735733784341148871665665368137848923511664402940405675795003467653324755375868178607343245665026399549149144305093545383467652784227083769079092096300433191948913782930893504984947358908217380146600322328771149080176900414464903324204043099097436873301808055114747743154203654043520237778861295258981986060185386504060617796872577917992237712050803533644873762993391861969336699309235816038969155594298717859347780886580837845322929831963954649540395685632919347985717105120140840853795393091919157567042338964020563154040394331207213130865421542494968121898077431123256481305216585116734449407740524205300827461856022126176797870146441843836896424856894232683547224761848396138334648889268807135351037565810469129360993302135996319208070231496563067051459640162065430945177179719682603083971378235738155188115158999384207737701281266096521162374290386787278555203654237681044933033550510491239918664174023756572930991796588547632716497865831262836310022590792286394909308855626185282208541967721155622843142772542535524588968850790250753174316127348746199510176395925959034652922244999798018002483619058698398578028072481841403929626719804261371983317747045007124144911713889587931619917280330095222072820678508253541817604945679201973691412795838592402526652506398978299463874073521121850094555205979053413529377856074719029128723046795276152783084681966183935120699442430472994701296769646518322660751596926562694677804555575738637189317844160031598867328193280952108726288231921154953982672966603970839536968855017054119401999674106001803752295590939148091021466364962924292289512039159280079013999959020831440624731108977371688313134605906401871476153601285509009518338359694635089709651267687686178954521134767756387659498799967171126409001639567182512447067623159064423890410714290902435041315000728630642048005925919344555870531066967716724951516348715158317619814611143631851920263587337051842374495754988010883136316848347497429493236913907991997490533730803 5178409735443905347315078973730117085171275031162068154448224392335230603782964774226752026402522463502577098908402215012597900120134356922976533170810043101678996762067262739741169941449696196371428296029125569881121447800574700530799455404303140880425901271924658202883560007545475955482451393323482004488489201602151577577972477000081060977579409660380447542177729801669380765168750609212295527032620353632218460470290120179636139089171131649999973744415624013254604038067468607780056699984554703593726557507821322029914893499830793971958231308910412202486747176250906623048212995323525443466792876029941467153977778184968362846410726899588543256108676389869360782518762533100702892686298540118944121928876269249114946567182277326261839473464672132931059136735085478612298546883945078697441165805979357599746591543184355577629550593407819326553163478762709604489923039360456780882204619184626394587573167302345947997445581842003916392887231181561320372221405273333040547790193538172459968846241009509870498375611284550667824579368379649205652109144114195888388038401660626436187483100370400218116226458667655222673201286656452549400274443520701632937872055724895220119620099242223465239752762411655258147754996071947679943697916447140721478288439936723475581265385366465532006760936423282303299017202892465137328458515467530219842208874046688010153458805931229691741764950654019741946712740623139909885150218001738072730298938193436899837966665872680884112638768568219440011397419898446102511705181556793329354279286513266823277064989993480473023147393048898179778746489017439056192824808592153216999689475435663959194406467876054134849421374401653292843792203034912200515600359753570309101435334946578521066910049303648880566729131394100864728216926753171579715953000373245858968173133883693872261918202232641421473406170973710351278469170972444704738787088076558644522238034897826176563878427715479110986528004715536506471911737151186973915207845619189812387480091461054473975262705341371330933950927992080431701409865206917203532146025373315934141986660388420761112719922925644602757222505550052431414626889167132104297962602280083349060112841063971872169105888163996568715012544998713959512859996140065077004370054487693125174679598418215120307746139771722148540986373191450036294231636366886504237285763637058937667814173220278065802345322163277215529849876043457798093300431734791186342340761791116017406240424159097731566622526576312850773655309092289980220898561758156969434516719817738584486262390603202459189330846346272172054387509130929235117407994713848997486187173604 8378842959621589901912604392173387106195052133572408971314193668141688489892452541251497964046417043937133463677369771371697143345847683369660268892624964939463663601469835254854995593445890460050444412851496301528644332244285200071989688168498823475816946586622041541440903876830700482727881333051207754089723288887855858949386216907829458713569266852470960413701292494831322431324007127629892639989134779136756974702032720045794307757036411045002833919951648079136890132729817229349719395806145154454260275839595950038282870006492570697128739722427122707876979851662681170326770382249296321649625556689975316563997513918752703995282392564956681105032188054272301188194557536568356217441674408297551465174541295648664095711487370871645307126248899216700138228831385911804247460666875972202426113164887574979893191865513126726709727493822284229877367521861807041363224847415571528625358822838669914825352028597604929983505767228507977010684103759479312609933456076866685421553186930034429305545550245325909467531205583268527172360254960487050975038976078150537928434087293545784173200205490541058970021851759574380240243625620473112554314837851908846068737477267390188241518176673346721721057978996771992597162736596152980771159772469266898276158586378567312477690242260698215553985698271678441633666092161272272679496081277999349203202176182684329361529037427792758793224590816085172891889920342822512969121596237476227918414097192821107575667947138777405275013058955006718566601074136127147444738732067284569272943460537023396208056786582028105739645258880161016088769079809725451102133664218338499208231443156819582037549240418589659438390225191904046018108330383658400025776755679529343754357579946376539069393668362347279144757203875942268657843646557432951699270747418252983113084847773281803881835482562736643546226849481963893096074116651646678430199883915151047048890541296804476027752501236600961081083210694589920001289593225906003043930892414465965170564773427238409095962147771844325635247697638598754362161462133479898209950580949054571331304504548452359980048116206596711483510737471207385397299855771102943834931457297137468462112515169973675921401479103144659736478909961638251802372035299345156018370013508524565799410707395586808620880745678124020017139974476959045812569996061521593946937031324745116622335307988034453461844122130448341938851515610640310540368054893855610232751476082018452447555424887728373614628452495657406644186376060006705172414910473315287054331330961370436406525977940254301563826601334283055190704357478426664610644908621840994976720904407 13557252695065495249227683365903504191366327164734477125762418060476919093675417315478249990448939507439710562585771986384295043465982040292636802063435008041142660363537097994596165534895586656421872708880621871409765780044859900602789143572801964356242847858546699744324463884376176438210332726374689758578212490490007436527358693907910519691148676512851407955879022296500703196492757736842188167021755132768975435172322840225430446846207542695002807664367272092391494170797285837129776095790699858047986833347417272068197763506323364669086971031337534910363727027913587793374983377572821765116418432719916783717975292103721066841693119464545224361140864444141661970713320069669059110127972948416495587103417564897779042278669648197907146599713571349631197365566471390416546007550821050899867278970866932579639783408697482304339278087230103556430531000624516645853147886776028309507563442023296309412925195899950877980951349070511893403571334941040632982154861350199725969343380468206889274391791254835779965906816867819194996939623340136256627148120192346426316472488954172220360683305860941277086248310427229602913444912276925661954589281372610479006609532992285408361138275915570186960810741408427250744917732668100660714857688916407619754447026315290788058955627627163747560746634694960744932683295053737410007954596745529569045411050229372339514987843359022450534989541470104914838602660965962422854271814239214300648713035386258007413634613011458289387651827523226158577998494034573249956443913624077898627222747050290219485121776575508578762792651929059195867515568827164507294958472810491716207920918592483541231955708294643794287811599593557338861900533418570600541377115433099652855792914892955060136303717665996159711486335270043133386060573310604531415223747791498842081257981656975676143753684795378065019633020455674244374543287624091383168986971991709691571128576194630652591630928952080072067611215410126426473201330377092976959138738033655777558044864888292883071224853113215656569198625630679186063571327340397101742096606322370505473291164936873121092768039132241314240733243021259816811926744938235048132894059577220817522225356233945548090507367267141228451491454960352211315232031439410233022740067996217690974090305813801928928626885449846168558126347668409082106801632428408098184222794961804054290149481208312519264189444293725557468701391654098108633668486628646796575092237873134469853795849046826105181250979071970257417841685152296685393313472231472256488848050779109020892788368543456760753157447680555227245091866609355899728052903335689992462908078011 21936095654687085151140287758076891297561379298306886097076611728618607583567869856729747954495356551376844026263141757755992186811829723662297070956059972980606323965006933249451161128341477116472317121732118172938410112289145100674778831741300787832059794445168741285765367761206876920938214059425897512667935779377863295476744910815739978404717943365322368369580314791332025627816764864472080807010889911905732409874355560271224754603243953740005641584318920171528384303527103066479495491596845012502247109187013222106480633512815935366215710753764657618240706879576268963701753759822118086766043989409892100281972806022473770836975512029501905466173052498413963158907877606237415327569647356714047052277958860546443137990157019069552453725962470566331335594397857302220793468217697023102293392135754507559532975274210609031049005581052387786307898522486323687216372734191599838132922264861966224238277224497555807964457116299019870414255438700519945592088317427066411390896567398241318579937341500161689433438022451087722169299878300623307602187096270496964244906576247718004533883511351482336056270162186803983153688537897398774508904119224519325075347010259675596602656452588916908681868720405199243342080469264253641486017461385674518030605612693858100536645869887861963114732332966639186566349387215009682687450678023528918248613226412056668876516880786815209328214132286190087730492581308784935823393410476690528567127132579079114989302560150235694662664886478232877144599568170700397401182645691362467900166207587313615693178563157536684502437910809220211956284648636889958397092137028830215416152361749303123269504948713233453726201824785461384880008863802229000567153871112628996610150494839331599205697386028343438856243539145985402043904219868037483114494495209751825194342829430257480025589167358114708565859869937638137470617404275738061599186855906860738620019117491435128619383430188681033148694426104716346474490923602998980003069630448121742728609638315531292167187000885059982204446323269277940425732789473876999952047187271425076804595669485325481072816155338838025724243980492467202209226600709337991967825516874358285984337871403919224011908846370285888187970364921990463117604066738755389041110081504742256773501013209388737549507631127970188575266322145368127919371628489929692131159826286549170912484789196346972726033566424173899407552907264738419174036541522502406807843713955152922301351273934554478795879431567627664062028061212303390565728382704787543543179381740479457299314346483711062316984049014838282435796224087782564338697811957530987439628982418 35493348349752580400367971123980395488927706463041363222839029789095526677243287172207997944944296058816554588848913744140287230277811763954933873019494981021748984328544031244047326663237063772894189830612740044348175892334005001277567975314102752188302642303715441030089831645583053359148546785800587271246148269867870732004103604723650498095866619878173776325459337087832728824309522601314268974032645044674707845046678400496655201449451496435008449248686192263919878474324388903609271587387544870550233942534430494174678397019139300035302681785102192528604433907489856757076737137394939851882462422129808883999948098126194837678668631494047129827313916942555625129621197675906474437697620305130542639381376425444222180268826667267459600325676041915962532959964328692637339475768518074002160671106621440139172758682908091335388283668282491342738429523110840333069520620967628147640485706885262533651202420397506685945408465369531763817826773641560578574243178777266137360239947866448207854329132754997469399344839318906917166239501640759564229335216462843390561379065201890224894566817212423613142518472614033586067133450174324436463493400597129804081956543251961004963794728504487095642679461813626494086998201932354302200875150302082137785052639009148888595601497515025710675478967661599931499032682268747092695405274769058487294024276641429008391504724145837659863203673756295002569095242274747358677665224715904829215840167965337122402937173161693984050316714001459035722598062205273647357626559315440366527388954637603835178300339733045263265230562738279407823800217464054465692050609839321931624073280341786664501460657007877248014013424379018723741909397220799601108530986545728649465943409732286659342001103694339598567729874416028535429964793178642014529718243001250667275600811087233156169342852153492773585492890393312381845160691899829444768173827898570430191147693686065781211014359140761105216305641514842772947692253980091956962208368481777520286654503203824175238411853998275638773644948899957126489304116814274101694143793593795582277886834422198602165584194471079339964977223513727019021153345647573040100719576451579103506563227637864772102416213637427116639461819882342674432836098178165622063850149500959947747591319023190666478134516577816357133392669813777210026173260918337790315382621248353225202634270404659491990223010717899456876254298918836527807705028151149203382935951828287392155147122981380583977130410639597921479869746364600075959041854936259800032027432519588478192102715027167823070141496695393509680888090697138464066750715293220979902537060429 57429444004439665551508258882057286786489085761348249319915641517714134260811157028937745899439652610193398615112055501896279417089641487617230943975554954002355308293550964493498487791578540889366506952344858217286586004623150101952346807055403540020362436748884182315855199406789930280086760845226484783914084049245734027480848515539390476500584563243496144695039651879164754452126287465786349781043534956580440254921033960767879956052695450175014090833005112435448262777851491970088767078984389883052481051721443716281159030531955235401518392538866850146845140787066125720778490897217057938648506411539700984281920904148668608515644143523549035293486969440969588288529075282143889765267267661844589691659335285990665318258983686337012054051638512482293868554362185994858132943986215097104454063242375947698705733957118700366437289249334879129046328045597164020285893355159227985773407971747228757889479644895062493909865581668551634232082212342080524166331496204332548751136515264689526434266474255159158832782861769994639335539379941382871831522312733340354806285641449608229428450328563905949198788634800837569220821988071723210972397519821649129157303553511636601566451181093404004324548182218825737429078671196607943686892611687756655815658251703006989132247367402887673790211300628239118065382069483756775382855952792587405542637503053485677268021604932652869191417806042485090299587823583532294501058635192595357782967300544416237392239733311929678712981600479691912867197630375974044758809205006802834427555162224917450871478902890581947767668473547499619780084866100944424089142746868152147040225642091089787770965605721110701740215249164480108621918261023028601675684857658357646076093904571618258547698489722683037423973413562013937473869013046679497644212738211002492469943640517490636194932019511607482151352760330950519315778096175567506367360683805431168811166811177500909830397789329442138365000067619559119422183177583090936965277998929899263015264141519355467405598854883335620978091272169235066915036906288151101646190980865220659082482503907524083238400349809917365689221204006194221230379946356911032068545093325937389490901099041783996114325060007713004827432184804333137550440164916921011104960231005702204521092332232579404027642147705786545708658991959145337945544889408267482446542447534902396115119059601006464716256577142073356283807206183574946981741569673651610190779665783440314456498396915935062773009842207225585541897807576903466524770237641047343575206814260067935491417061510878885387125545710231792116684314784921028405448527250751967342166042847 92922792354192245951876230006037682275416792224389612542754671306809660938054444201145743844383948669009953203960969246036566647367453251572164816995049935024104292622094995737545814454815604662260696782957598261634761896957155103229914782369506292208665079052599623345945031052372983639235307631027072055160232319113604759484952120263040974596451183121669921020498988966997483276435810067100618755076180001255148099967712361264535157502146946610022540081691304699368141252175880873698038666371934753602714994255874210455837427551094535436821074323969042675449574694555982477855228034611997790530968833669509868281869002274863446194312775017596165120800886383525213418150272958050364202964887966975132331040711711434887498527810353604471654377314554398256401514326514687495472419754733171106614734348997387837878492640026791701825572917617370471784757568708004353355413976126856133413893678632491291540682065292569179855274047038083398049908985983641102740574674981598686111376463131137734288595607010156628232127701088901556501778881582142436060857529196183745367664706651498454323017145776329562341307107414871155287955438246047647435890920418778933239260096763597606530245909597891099967227644032452231516076873128962245887767761989838793600710890712155877727848864917913384465690268289839049564414751752503868078261227561645892836661779694914685659526329078490529054621479798780092868683065858279653178723859908500186998807468509753359795176906473623662763298314481150948589795692581247692116435764322243200954944116862521286049779242623627211032899036285779027603885083564998889781193356707474078664298922432876452272426262728987949754228673543498832363827658243828202784215844204086295542037314303904917889699593417022635991703287978042472903833806225321512173930981212253159745544451604723792364274871665100255736845650724262901160938788075396951135534511704001599002314504863566691041412148470203243581305709134401892369875431563182893927486367411676783301918644723179642644010708881611259751736221069192193404341023102425203340334774459016241360369338329722685403984544280996705654198427519921240251533292004484072169264669777516492997464326679648768216741273645140121466894004686675811983276263095086633168810380506662152268683651255770070505776664283602902842051661772922547971718150326605272761925068783255621317753330005665956706479587859972813160061505102411474789446597824800813573715617611727706611645519897315646750140252846823507021767553941503542483812092577307143607234246779656413683519776538046708457267042405625301797572405482059492472199242543972947244703103276 150352236358631911503384488888094969061905877985737861862670312824523795198865601230083489743823601279203351819073024747932846064457094739189395760970604889026459600915645960231044302246394145551627203735302456478921347901580305205182261589424909832229027515801483805661800230459162913919322068476253556839074316368359338786965800635802431451097035746365166065715538640846162237728562097532886968536119714957835588354888746322032415113554842396785036630914696417134816404030027372843786805745356324636655196045977317926736996458083049770838339466862835892822294715481622108198633718931829055729179475245209210852563789906423532054709956918541145200414287855824494801706679348240194253968232155628819722022700046997425552816786794039941483708428953066880550270068688700682353605363740948268211068797591373335536584226597145492068262862166952249600831085614305168373641307331286084119187301650379720049430161710187631673765139628706635032281991198325721626906906171185931234862512978395827260722862081265315787064910562858896195837318261523525307892379841929524100173950348101106683751467474340235511540095742215708724508777426317770858408288440240428062396563650275234208096697090691295104291775826251277968945155544325570189574660373677595449416369142415162866860096232320801058255901568918078167629796821236260643461117180354233298379299282748400362927547934011143398246039285841265183168270889441811947679782495101095544781774769054169597187416639785553341476279914960842861456993322957221736875244969329046035382499279087438736921258145514209158800567509833278647383969949665943313870336103575626225704524564523966240043391868450098651494443922707978940985745919266856804459900701862443941618131218875523176437398083139705673415676701540056410377702819272001009818143719423255652215488092122214428559206891176707737888198411055213420476716884250964457502895195509432767813481316041067600871809937799645381946305776753961011792058609146273830892764366341576046317182786242535110049609563764946880729827493238427260319377929390576304986525755324236900442851842237246768642384894090914071343419631526115461481913238361395104237809763103453882488365425721432764331066333652853126294326189491008949533716428012007644273770611512364356789775983488349474533418811989389448550710653732067885917263039734872755208467516318158017432872389606672421422736165002046169443868711285986421771188167498452423764495283395168021068143916813250709523150095054049092563665361518407009008582330218354487182441061039724349174936838048925593844392588115857093914256720266980520877647769794724914586869146123 243275028712824157455260718894132651337322670210127474405424984131333456136920045431229233588207549948213305023033993993969412711824547990761560577965654824050563893537740955968590116701209750213887900518260054740556109798537460308412176371794416124437692594854083429007745261511535897558557376107280628894234548687472943546450752756065472425693486929486835986736037629813159721004997907599987587291195894959090736454856458683296950271056989343395059170996387721834184545282203253717484844411728259390257911040233192137192833885634144306275160541186804935497744290176178090676488946966441053519710444078878720720845658908698395500904269693558741365535088742208020015124829621198244618171197043595794854353740758708860440315314604393545955362806267621278806671583015215369849077783495681439317683531940370723374462719237172283770088435084569620072615843183013172726996721307412940252601195329012211340970843775480200853620413675744718430331900184309362729647480846167529920973889441526964995011457688275472415297038263947797752339097143105667743953237371125707845541615054752605138074484620116565073881402849630579879796732864563818505844179360659206995635823747038831814626943000289186204259003470283730200461232417454532435462428135667434243017080033127318744587945097238714442721591837207917217194211572988764511539378407915879191215961062443315048587074263089633927300660765640045276036953955300091600858506355009595731780582237563922956982593546259177004239578229441993810046789015538469428991680733651289236337443395949960022971037388137836369833466546119057674987855033230942203651529460283100304368823486956842692315818131179086601248672596251477773349573577510685007244116546066530237160168533179428094327097676556728309407379989518098883281536625497322521992074700635508811961032543726938220923481762841807993625044061779476321637655672326361408638429707213434366815795820904634291913222086269848625527611485888362904161934040709456724820250733753252829619101430965714752693620272646558140481563714307619453723718952493001508326860529783253141803221180566969454046369438371910776997618059046036701733446530365879176407074432880970375485829752401081532547807607297993247761220194177684761516992691107094277442580992019026509058459634744119545039195476272992351392762315504990433888981190061478027970392585101413638750625719612338378129215752862018982603930216388397896560634765323253237338210901006895727679789436710566356273290347900872599585432915459910551492394422795661630789675307819380762858456614586972302301659630521482395711829125749040013349847012338697861831572249399 393627265071456068958645207782227620399228548195865336268095296955857251335785646661312723332031151227416656842107018741902258776281642729950956338936259713077023494453386916199634418947603895765515104253562511219477457700117765513594437961219325956666720110655567234669545491970698811477879444583534185733308865055832282333416553391867903876790522675852002052451576270659321958733560005132874555827315609916926324809745205005329365384611831740180095801911084138969000949312230626561271650157084584026913107086210510063929830343717194077113500008049640828320039005657800198875122665898270109248889919324087931573409448815121927555614226612099886565949376598032514816831508969438438872139429199224614576376440805706285993132101398433487439071235220688159356941651703916052202683147236629707528752329531744058911046945834317775838351297251521869673446928797318341100638028638699024371788496979391931390401005485667832527385553304451353462613891382635084356554387017353461155836402419922792255734319769540788202361948826806693948176415404629193051845617213055231945715565402853711821825952094456800585421498591846288604305510290881589364252467800899635058032387397314066022723640090980481308550779296535008169406387961780102625037088509345029692433449175542481611448041329559515500977493406125995384824008394225025155000495588270112489595260345191715411514622197100777325546700051481310459205224844741903548538288850110691276562357006618092554170010186044730345715858144402836671503782338495691165866925702980335271719942675037398759892295533652045528634034055952336322371824982896885517521865563858726530073348051480808932359209999629185252743116518959456714335319496777541811704017247928974178778299752054951270764495759696433982823056691058155293659239444769323531810218420058764464176520635849152649482688654018515731513242472834689742114372556577325866141324902722867134629277136945701892785032024069494007473917262642323915953992649855730555713015100094828875936284217208249862743229836411505021211391207546046714043096881883577813313386285107490042246073022804216222688754332462824848341037690572152163215359768727274280644884195984424257974195178122514296878873940950846374055546383668693711050709119119101921716351603531390865848235618232469019572614288262381799943472969237058319806244229796350783178860101419571656183498109219010799551951917864065152047798927674384318331822932821705661102706184402063748747933353523817065796440442954921692149098276978317560500976753014016117972116368859105112033393452635897896146052218637339489626085846016020534227494782133422776418441395522 636902293784280226413905926676360271736551218405992810673520281087190707472705692092541956920238701175629961865141012735871671488106190720712516916901914537127587387991127872168224535648813645979403004771822565960033567498655225822006614333013742081104412705509650663677290753482234709036436820690814814627543413743305225879867306147933376302484009605338838039187613900472481679738557912732862143118511504876017061264601663688626315655668821083575154972907471860803185494594433880278756494568812843417171018126443702201122664229351338383388660549236445763817783295833978289551611612864711162768600363402966652294255107723820323056518496305658627931484465340240534831956338590636683490310626242820409430730181564415146433447416002827033394434041488309438163613234719131422051760930732311146846435861472114782285509665071490059608439732336091489746062771980331513827634749946111964624389692308404142731371849261148033381005966980196071892945791566944447086201867863520991076810291861449757250745777457816260617658987090754491700515512547734860795798854584180939791257180457606316959900436714573365659302901441476868484102243155445407870096647161558842053668211144352897837350583091269667512809782766818738369867620379234635060499516645012463935450529208669800356035986426798229943699085243333912602018219967213789666539873996185991680811221407635030460101696460190411252847360817121355735242178800041995149396795205120287008342939244182015511152603732303907349955436373844830481550571354034160594858606436631624508057386070987358782863332921789881898467500602071393997359680016127827721173395024141826834442171538437651624675028130808271853991789115210934487684893074288226818948133793995504415938468285234379365091593436253162292230436680576254176940776070266646053802293120694273276137553179576090870406170416860323725138286534614166063752028228903687274779754609936301501445072957850336184698254110339342633001528748530686820115926690565187280533265833848081705555385648173964615436850109058063161692954921853666167766815834376579321640246814890743184049294203371185676735123770834735625338655749618188864948806299093153457051958628865394633460024930523595829426681548248839621816766577846378472567701810226196199158932595550417374906695252976588564611809764535374151336235284742048753695225419857828811149252686520985294934123828831349177681167670726084134651729144062782214892457698144958898440917085408959476427722790234383422069730790855794291734531192438228111993371175809677748761791676678485874891850067222870198447711849158821885337914971765060547577341794472120638250013644921 1030529558855736295372551134458587892135779766601858146941615578043047958808491338753854680252269852403046618707248031477773930264387833450663473255838174250204610882444514788367858954596417541744918109025385077179511025198772991335601052294233068037771132816165217898346836245452933520514316265274349000360852278799137508213283859539801280179274532281190840091639190171131803638472117917865736698945827114792943386074346868693955681040280652823755250774818555999772186443906664506840028144725897427444084125212654212265052494573068532460502160557286086592137822301491778488426734278762981272017490282727054583867664556538942250612132722917758514497433841938273049648787847560075122362450055442045024007106622370121432426579517401260520833505276708997597520554886423047474254444077968940854375188191003858841196556610905807835446791029587613359419509700777649854928272778584810988996178189287796074121772854746815865908391520284647425355559682949579531442756254880874452232646694281372549506480097227357048820020935917561185648691927952364053847644471797236171736972745860460028781726388809030166244724400033323157088407753446326997234349114962458477111700598541666963860074223182250148821360562063353746539274008341014737685536605154357493627883978384212281967484027756357745444676578649459907986842228361438814821540369584456104170406481752826745871616318657291188578394060868602666194447403644783898697935084055230978284905296250800108065322613918348637695671294518247667153054353692529851760725532139611959779777328746024757542755628455441927427101534658023730319731504999024713238695260588000553364515519589918460557034238130437457106734905634170391202020212571065768630652151041924478594716768037289330635856089195949596275053493371634409470600015515035969585612511540753037740314073815425243519888859070878839456651529007448855805866400785481013140921079512659168636074350094796038077483286134408836640475446011173010736069919340420917836246280933942910581491669865382214478180079945469568182904346129399712881809912716260157134953633099998233226295367226175401899423878103297560473679693440190341028164166067820427737696842824849818891434220108646110126305555489199685995872312961515072183618410929345298120875284199081808240754930871209057584184424052797755951279708253979107073501469649654179594328112787940556951117621938050359977233119588590149286699528071737166533224280630966664559543623269811023225175656143758200487866171233810715983883629469416545672494347928823693866733908045537590986925243519858768094593764067796161374964000817781081081804836576605543414668455040443 1667431852640016521786457061134948163872330985007850957615135859130238666281197030846396637172508553578676580572389044213645601752494024171375990172740088787332198270435642660536083490245231187724321113797207643139544592697428217157607666627246810118875545521674868562024126998935168229550753085965163814988395692542442734093151165687734656481758541886529678130826804071604285318210675830598598842064338619668960447338948532382581996695949473907330405747726027860575371938501098387118784639294710270861255143339097914466175158802419870843890821106522532355955605597325756777978345891627692434786090646130021236161919664262762573668651219223417142428918307278513584480744186150711805852760681684865433437836803934536578860026933404087554227939318197307035684168121142178896306205008701252001221624052475973623482066275977297895055230761923704849165572472757981368755907528530922953620567881596200216853144704007963899289397487264843497248505474516523978528958122744395443309456986142822306757225874685173309437679923008315677349207440500098914643443326381417111528229926318066345741626825523603531904027301474800025572509996601772405104445762124017319165368809686019861697424806273519816334170344830172484909141628720249372746036121799369957563334507592882082323520014183155975388375663892793820588860448328652604488080243580642095851217703160461776331718015117481599831241421685724021929689582444825893847331879260351265293248235494982123576475217650652545045626730892092497634604925046564012355584138576243584287834714817012116325618961377231809325569035260095124317091185015152540959868655612142380198957691128356112181709266261245728960726694749381325689705105645353995449600284835919983010655236322523710000947682632202758567283930052210663647540791585302615639414804661447311016451626995001334390295029487739163181789815542063021869618429014384700415700834122595470137519423052646374262181540244748179273476974759703697556185846030986105116779546767790992287047055513556179093616930054527631344597301051253379049576728550636736456593879914888976410344661429546587576159001874132296099018349189808529893112972366913581194748801453715213524894245039169705955732237037448525617689079539361450656186112739571494320034216794632225615661626124185646148796233817333130102615943538721155827196695069512008405477365474461542246051745766881709154914287259316233421351257215799948748116738329111623457984540355219982701603378933992583909935902024666510275618160661854773784487719104633371615495699722216076861817093587081638293041475916954983260301915789546141629382178371077664052918468685364 2697961411495752817159008195593536056008110751609709104556751437173286625089688369600251317424778405981723199279637075691419532016881857622039463428578263037536809152880157448903942444841648729469239222822592720319055617896201208493208718921479878156646678337840086460370963244388101750065069351239512815349247971341580242306435025227535936661033074167720518222465994242736088956682793748464335541010165734461903833413295401076537677736230126731085656522544583860347558382407762893958812784020607698305339268551752126731227653375488403304392981663808618948093427898817535266405080170390673706803580928857075820029584220801704824280783942141175656926352149216786634129532033710786928215210737126910457444943426304658011286606450805348075061444594906304633204723007565226370560649086670192855596812243479832464678622886883105730502021791511318208585082173535631223684180307115733942616746070883996290974917558754779765197789007549490922604065157466103509971714377625269895542103680424194856263705971912530358257700858925876862997899368452462968491087798178653283265202672178526374523353214332633698148751701508123182660917750048099402338794877086475796277069408227686825557499029455769965155530906893526231448415637061264110431572726953727451191218485977094364291004041939513720833052242542253728575702676690091419309620613165098200021624184913288522203334333774772788409635482554326688124136986089609792545266963315582243578153531745782231641797831569001182741298025410340164787659278739093864116309670715855544067612043563036873868374589832673736752670569918118854636822690014177254198563916200142933563473210718274572738743504391683186067461600383551716891725318216419764080252435877844461605372004359813040636803771828152354842337423423845073118140807100338585225027316202200348756765700810426577910183888558618002638441344549511877675484829799865713556621913635254638773593773147442412339664826379157015913952420770876708292255765371407022953025827701733902868538725378938393571797009999997199527501647180653091931386641266896893591547513014887209636640028655721989475582879977429856572698042629998870921277138434734008932445644278565032416328465147815816082037792526648211613561392500876522839804523668916792440909500993714033856416556995394703732980657870130886053895651792700262900698164719166187999805478262402099197169367704932069132147406847906382708050785287537115281341018960078288017528163625031005926779035077750784397802073258477226259501790131271319456982067033457065482229607767753667848742337106940406387635239984751144635265916607327222711187014947683207467586923725807 4365393264135769338945465256728484219880441736617560062171887296303525291370885400446647954597286959560399779852026119905065133769375881793415453601318351824869007423315800109440025935086879917193560336619800363458600210593629425650816385548726688275522223859514955022395090243323269979615822437204676630337643663884022976399586190915270593142791616054250196353292798314340374274893469579062934383074504354130864280752243933459119674432179600638416062270270611720922930320908861281077597423315317969166594411890850041197402812177908274148283802770331151304049033496143292044383426062018366141589671574987097056191503885064467397949435161364592799355270456495300218610276219861498734067971418811775890882780230239194590146633384209435629289383913103611668888891128707405266866854095371444856818436295955806088160689162860403625557252553435023057750654646293612592440087835646656896237313952480196507828062262762743664487186494814334419852570631982627488500672500369665338851560666567017163020931846597703667695380781934192540347106808952561883134531124560070394793432598496592720264980039856237230052779002982923208233427746649871807443240639210493115442438217913706687254923835729289781489701251723698716357557265781513483177608848753097408754552993569976446614524056122669696221427906435047549164563125018744023797700856745740295872841888073750298535052348892254388240876904240050710053826568534435686392598842575933508871401767240764355218273049219653727786924756302432662422264203785657876471893809292099128355446758380048990193993551209905546078239605178213978953913875029329795158432571812285313762430901846630684920452770652928915028188295132933042581430423861773759529852720713764444616027240682336750637751454460355113409621353476055736765681598685641200864442120863647659773217327805427912300478918046357165820231160091574899545103258814250413972322747757850108911113196200088786601846366623905195187429395530580405848441611402393128069805374469524895155585780892494572665413940054524830872098948231906470980963369817533630048141392929776186046984690085268577051741881851562152671716391819807400814390110801647590127194445732280245941222710186985522037770029564096737231250472040237973495990636408488286760943717788346259472078183119580349881776891687464016156511595331421418727894859788678196405282843736863641443221113471813778287061694107222616129402042503337064029457757289189911475512703980250988628382414011743368307737975283143736535119950793126093241469786138090437097725307489969744710559430694022044680676715901706127895567832396873364340569193318760871520505392411171 7063354675631522156104473452322020275888552488227269166728638733476811916460573770046899272022065365542122979131663195596484665786257739415454917029896614862405816576195957558343968379928528646662799559442393083777655828489830634144025104470206566432168902197355041482766053487711371729680891788444189445686891635225603218706021216142806529803824690221970714575758792557076463231576263327527269924084670088592768114165539334535657352168409727369501718792815195581270488703316624175036410207335925667471933680442602167928630465553396677452676784434139770252142461394960827310788506232409039848393252503844172876221088105866172222230219103505768456281622605712086852739808253572285662283182155938686348327723656543852601433239835014783704350828508009916302093614136272631637427503182041637712415248539435638552839312049743509356059274344946341266335736819829243816124268142762390838854060023364192798802979821517523429684975502363825342456635789448730998472386877994935234393664346991212019284637818510234025953081640860069403345006177405024851625618922738723678058635270675119094788333254188870928201530704491046390894345496697971209782035516296968911719507626141393512812422865185059746645232158617224947805972902842777593609181575706824859945771479547070810905528098062183417054480148977301277740265801708835443107321469910838495894466072987038820738386682667027176650512386794377398177963554624045478937865805891515752449555298986546586860070880788654910528222781712772827209923482524751740588203480007954672423058801943085864062368141042579282830910175096332833590736565043507049356996488012428247325904112564905257659196275044612101095649895516484759473155742078193523610105156591608906221399245042149791274555226288507468251958776899900809883822405785979786089469437065848008529983028615854490210662806604975168458672504641086777220588088614116127528944661393104747684706969347531198941511193003062211101381816301457114140697376773800151022831202171258798024124506271432966237210950054522030399600595412559562912350011084430523639688905944663395683624718740990566527324761828992009244414434449806271735667249236381599059640090010845278357551175334801338119807822090744948844811864541114496335795160077405079201853218782060293328494740114975053614757549557594902210407247124121681628593024507844384405088321999265740640390481176745847419209100955128998837452827790874179310798776249268199493040867605281994555161449089494152705540048541620962794621740924397412698451853171547502579954915257723412559301767800962451068311955886457272530833749004200587051756208266444078988092316136978 11428747939767291495049938709050504495768994224844829228900526029780337207831459170493547226619352325102522758983689315501549799555633621208870370631214966687274823999511757667783994315015408563856359896062193447236256039083460059794841490018933254707691126056869996505161143731034641709296714225648866076024535299109626195105607407058077122946616306276220910929051590871416837506469732906590204307159174442723632394917783267994777026600589328007917781063085807302193419024225485456114007630651243636638528092333452209126033277731304951600960587204470921556191494891104119355171932294427405989982924078831269932412591990930639620179654264870361255636893062207387071350084473433784396351153574750462239210503886783047191579873219224219333640212421113527970982505264980036904294357277413082569233684835391444641000001212603912981616526898381364324086391466122856408564355978409047735091373975844389306631042084280267094172161997178159762309206421431358486973059378364600573245225013558229182305569665107937693648462422794261943692112986357586734760150047298794072852067869171711815053313294045108158254309707473969599127773243347843017225276155507462027161945844055100200067346700914349528134933410340923664163530168624291076786790424459922268700324473117047257520052154184853113275908055412348826904828926727579466905022326656578791767307961060789119273439031559281564891389291034428108231790123158481165330464648467449261320957066227310942078343930008308638315147538015205489632187686310409617060097289300053800778505560323134854256361692252484828909149780274546812544650440072836844515429059824713561088335014411535942579649045697541016123838190649417802054586165939967283139957877305373350837426485724486541912306680748862581661580130375956546649504004471620986953911557929495668303200356421282402511141724651332334278903664732661676765691347428366541501267409150954856595820165547619985543357559626967406288811211832037519989138988176193279092636576640783693179710287163927538902624890109046861271699543644466033893313380901964153687830298874439581730609408826259143579066643680554161916130826269613672550057360038029189186834535743125524298773885521786860157577851654841686076062336581352469831785796485893365962796936570406552800572923234555403496534441245058918366918842455543100356487884296522580810371165736129382083611594648559625706270795062351614966854870294211243340256533538458110968553571585532983183543863101237521013278023824764699329741691717523505939921639309637939677680222747693157269861198494984495748988671788163400426401581401073951392325401585204950508597708548149 18492102615398813651154412161372524771657546713072098395629164763257149124292032940540446498641417690644645738115352511098034465341891360624325287661111581549680640575707715226127962694943937210519159455504586531013911867573290693938866594489139821139860028254225037987927197218746013438977606014093055521711426934335229413811628623200883652750440996498191625504810383428493300738045996234117474231243844531316400509083322602530434378768999055377419499855901002883463907727542109631150417837987169304110461772776054377054663743284701629053637371638610691808333956286064946665960438526836445838376176582675442808633680096796811842409873368376129711918515667919473924089892727006070058634335730689148587538227543326899793013113054239003037991040929123444273076119401252668541721860459454720281648933374827083193839313262347422337675801243327705590422128285952100224688624121171438573945433999208582105434021905797790523857137499541985104765842210880089485445446256359535807638889360549441201590207483618171719601544063654331347037119163762611586385768970037517750910703139846830909841646548233979086455840411965015990022118740045814227007311671804430938881453470196493712879769566099409274780165568958148611969503071467068670395972000166747128646095952664118068425580252247036530330388204389650104645094728436414910012343796567417287661774034047827940011825714226308741541901677828805506409753677782526644268330454358965013770512365213857528938414810796963548843370319727978316842111168835161357648300769308008473201564362266220718318729833295064111740059955370879646135387005116343893872425547837141808414239126976441200238845320742153117219488086165902561527741908018160806750063033896982257058825730766636333186861907037370049913538907275857356533326410257600773043380994995343676833183385037136892721804531256307502737576169373748453986279436042482669030212070544059604280527134895151184484868752630029617390193028133494634129836364949993430115467778812042491203834793435360505139835840163568891671300139057025596805663391986394677327519204819102977414234127567249710106391405509546171160545260719419944285724609274410788246474625753970802656325060856588198277385673745586634920874201122466966167580956563298445164650155352466846129067663349530457111291990802653820577326089579664781985080908804366965215459487735395122724002075825305473125479896017480613804307698085085422651055309787726310461594439190814977738705312190731673718818072366385662124363432641920918638373492481185442257635138005416569829162966295946946817300627674620672957235330405274538444081609851649029496690024685127 29920850555166105146204350870423029267426540937916927624529690793037486332123492111033993725260770015747168497099041826599584264897524981833195658292326548236955464575219472893911957009959345774375519351566779978250167906656750753733708084508073075847551154311095034493088340949780655148274320239741921597735962233444855608917236030258960775697057302774412536433861974299910138244515729140707678538403018974040032904001105870525211405369588383385337280918986810185657326751767595087264425468638412940748989865109506586180697021016006580654597958843081613364525451177169066021132370821263851828359100661506712741046272087727451462589527633246490967555408730126860995439977200439854454985489305439610826748731430109946984592986273463222371631253350236972244058624666232705446016217736867802850882618210218527834839314474951335319292328141709069914508519752074956633252980099580486309036807975052971412065063990078057618029299496720144867075048632311447972418505634724136380884114374107670383895777148726109413250006486448593290729232150120198321145919017336311823762771009018542724894959842279087244710150119438985589149891983393657244232587827311892966043399314251593912947116267013758802915098979299072276133033240091359747182762424626669397346420425781165325945632406431889643606296259801998931549923655163994376917366123223996079429081995108617059285264745785590306433290968863233614641543800941007809598795102826414275091469431441168471016758740805272187158517857743183806474298855145570974708398058608062273980069922589355572575091525547548940649209735645426458680037445189180738387854607661855369502574141387977142818494366439694133343326276815320363582328073958128089890020911202355607896252216491122875099168587786232631575119037651813903182830414729221759997292552924839345136383741458419295232946255907639837016479834106410130751970783470849210531479479695014460876347300442771170028226312256997023679004239965532154118975353126186709208104355452826184383545080599288044042460730272615752942999682701491630698976772888358831015349503693542559144843536393508853685458049190100333076676086989033616835781969312439977433309161497096326955098946378375058434963525400428320996936537703819435999366753049191811127447091922873398929640586584085860607826432047712738944244932035207882341568793100889546025830653471524504807613670473865098831750691079832228771162568379296665991311843326184421430148010776347960922249175291969194732096096191150361454105124359444424578295131790823381935315360753109727099024164790931442566289299462784073383636911806348489836407011436853980005287733233276 48412953170564918797358763031795554039084087650989026020158855556294635456415525051574440223902187706391814235214394337697618730239416342457520945953438129786636105150927188120039919704903282984894678807071366509264079774230041447672574678997212896987411182565320072481015538168526668587251926253834977119447389167780085022728864653459844428447498299272604161938672357728403438982561725374825152769646863505356433413084428473055645784138587438762756780774887813069121234479309704718414843306625582244859451637885560963235360764300708209708235330481692305172859407463234012687092809348100297666735277244182155549679952184524263304999401001622620679473924398046334919529869927445924513619825036128759414286958973436846777606099327702225409622294279360416517134744067485373987738078196322523132531551585045611028678627737298757656968129385036775504930648038027056857941604220751924882982241974261553517499085895875848141886436996262129971840890843191537457863951891083672188523003734657111585485984632344281132851550550102924637766351313882809907531687987373829574673474148865373634736606390513066331165990531404001579172010723439471471239899499116323904924852784448087625826885833113168077695264548257220888102536311558428417578734424793416525992516378445283394371212658678926173936684464191649036195018383600409286929709919791413367090856029156444999297090460011899047975192646692039121051297478723534453867125557185379288861981796655025999955173551602235736001888177471162123316410023980732332356698827916070747181634284855576290893821358842613052389269691016306104815424450305524632260280155498997177916813268364418343057339687181847250562814362981222925110069981976288896640083945099337864955077947257759208286030494823602681488657944927671259716156824986822533040673547920183021969567126495556187954750787163947339754056003480158584738250219513331879561691550239074065156874435337922354513095064887026641069197268099026788248811718076180139323572134264868675587379874034648549182296570436184644614299821758517227504640164874753508342868708512645536559077663960758563791849454699646504237221347708453561121506578586850765679783787251067129611424007234963256712349199146014955917810738826286402166947709612490256292097247275340245058708249933616317719118422850366559521571021614872664326649701905256511241290141206919627531615746299170571957230587097312842575470266464382088642367153113910731891742449967162938660954487482700868450914168557536023578468557001365343216668624272008824192950498758526296928187131086878389383589927137404746340872242211623028280488621288503009501977757918403 78333803725731023943563113902218583306510628588905953644688546349332121788539017162608433949162957722138982732313436164297202995136941324290716604245764678023591569726146661013951876714862628759270198158638146487514247680886792201406282763505285972834962336876415106974103879118307323735526246493576898717183351401224940631646100683718805204144555602047016698372534332028313577227077454515532831308049882479396466317085534343580857189508175822148094061693874623254778561231077299805679268775263995185608441502995067549416057785316714790362833289324773918537384858640403078708225180169364149495094377905688868290726224272251714767588928634869111647029333128173195914969847127885778968605314341568370241035690403546793762199085601165447781253547629597388761193368733718079433754295933190325983414169795264138863517942212250092976260457526745845419439167790102013491194584320332411192019049949314524929564149885953905759915736492982274838915939475502985430282457525807808569407118108764781969381761781070390546101557036551517928495583464003008228677607004710141398436245157883916359631566232792153575876140650842987168321902706833128715472487326428216870968252098699681538774002100126926880610363527556293164235569551649788164761496849420085923338936804226448720316845065110815817542980723993647967744942038764403663847076043015409446519938024265062058582355205797489354408483615555272735692841279664542263465920660011793563953451228096194470971932292407507923160406035214345929790708879126303307065096886524133021161704207444931863468912884390161993038479426661732563495461895494705370648134763160852547419387409752395485875834053621541383906140639796543288692398055934416986530104856301693472851330163748882083385199082609835313063776982579485162898987239716044293037966100845022367105950867953975483187697043071587176770535837586568715490221002984181090093171029934088526033221735780693524541321377144023664748201508064558942367787071202366848531676489717694859970924954633936593224757300708800397557299504460008858203616937763112339358218212206188095703921200354267417477307503889746837313897434697487177957288547899290743113092948748163456566522953613338315147312724546443276914747276530105838166314462661682067419544339198213643988348836517702178326944854898079298465815953650080546668218495006146057267120794678444132339229416773035670788981278177145071346632834843678754633678996440095153321890460743510899583203662774670063183010264748686385032573681360809767794963756062832206128265859511636024027211295877809831949879226600188819724509154017971518116895632725356989507265491151679 126746756896295942740921876934014137345594716239894979664847401905626757244954542214182874173065145428530796967527830501994821725376357666748237550199202807810227674877073849133991796419765911744164876965709512996778327455116833649078857442502498869822373519441735179455119417286833992322778172747411875836630740569005025654374965337178649632592053901319620860311206689756717016209639179890357984077696745984752899730169962816636502973646763260910850842468762436323899795710387004524094112081889577430467893140880628512651418549617423000071068619806466223710244266103637091395317989517464447161829655149871023840406176456775978072588329636491732326503257526219530834499717055331703482225139377697129655322649376983640539805184928867673190875841908957805278328112801203453421492374129512849115945721380309749892196569949548850633228586911782620924369815828129070349136188541084336075001291923576078447063235781829753901802173489244404810756830318694522888146409416891480757930121843421893554867746413414671678953107586654442566261934777885818136209294992083970973109719306749289994368172623305219907042131182246988747493913430272600186712386825544540775893104883147769164600887933240094958305628075813514052338105863208216582340231274213502449331453182671732114688057723789741991479665188185297003939960422364812950776785962806822813610794053421507057879445665809388402383676262247311856744138758388076717333046217197172852815433024751220470927105844009743659162294212685508053107118903107035639421795714440203768343338492300508154362734243232775045427749117678038668310886345800230002908414918659849725336200678116813828933173740803388634468955002777766213802468037910705883170188801401031337806408111006641291671229577433437994552434927507156422615144064702866826078639648765205389075517994449531671142447830235534516524591841066727300228471222497512969654862580173162591190096171118615879054416442031050305817398776163585730616598789278546987855248623982563535558304828668585142407053871144985042171599326218526085708257102637865847701086920718833632262998864315025981269156958589393341551118782405940739078795126486141508792876735999230586177946960848301571859661923692458232832558015356392240333262172274172323711641586473553889047057086451318496046063277748445857987386975264953210994868196911402568508410935885363759870845163072206242746211865274457913922103101308060843276046149554005885213632910710673838244158150257370931633924433306222408611042238362175111011632380334841030321216358270162320955398426964688221333469153737593566065381396229594546397384254013859999009243249070082 205080560622026966684484990836232720652105344828800933309535948254958879033493559376791308122228103150669779699841266666292024720513298991038954154444967485833819244603220510147943673134628540503435075124347659484292575136003625850485140206007784842657335856318150286429223296405141316058304419240988774553814091970229966286021066020897454836736609503366637558683741021785030593436716634405890815385746628464149366047255497160217360163154939083058944904162637059578678356941464304329773380857153572616076334643875696062067476334934137790433901909131240142247629124744040170103543169686828596656924033055559892131132400729027692840177258271360843973532590654392726749469564183217482450830453719265499896358339780530434302004270530033120972129389538555194039521481534921532855246670062703175099359891175573888755714512161798943609489044438528466343808983618231083840330772861416747267020341872890603376627385667783659661717909982226679649672769794197508318428866942699289327337239952186675524249508194485062225054664623205960494757518241888826364886901996794112371545964464633206353999738856097373482918271833089975915815816137105728902184874151972757646861356981847450703374890033367021838915991603369807216573675414858004747101728123633588372670389986898180835004902788900557809022645912178944971684902461129216614623862005822232260130732077686569116461800871606877756792159877802584592436980038052618980798966877208966416768884252847414941899038136417251582322700247899853982897827782233338946486892600964336789505042699745440017831647127622937038466228544339771231806348241294935373556549681820702272755588087869209314809007794424930018375095642574309502494866093845122869700293657702724810657738274755523375056428660043273307616211910086641585514131304418911119116605749610227756181468862403507154330144873307121693295127678653296015718692225481694059748033610107251117223317906899309403595737819175073970565600284228144672984385860480913836386925113700258395529229783302521735631811171853785439728898830678534943911874040400978187059305132925021727966920064669293398746464462479140178865016217103427917036083674385432251905969684747394042744469914461639887006974648238901509747305291886498078499576634935854391131185925671767533035405922969020674373008132646525156453202928915033757663086691917548625775531730563807892210074579845241913535193143451602985268735936151739597909725145994101038535523371454184737827361813032040994816934698054908793643615919722984878806596136397673236449482217781798344982609722842498053283348380337782385789890550247566064514279886739216988516508740221761 331827317518322909425406867770246857997700061068695912974383350160585636278448101590974182295293248579200576667369097168286846445889656657787191704644170293644046919480294359281935469554394452247599952090057172481070902591120459499563997648510283712479709375759885465884342713691975308381082591988400650390444832539234991940396031358076104469328663404686258418994947711541747609646355814296248799463443374448902265777425459976853863136801702343969795746631399495902578152651851308853867492939043150046544227784756324574718894884551560790504970528937706365957873390847677261498861159204293043818753688205430915971538577185803670912765587907852576300035848180612257583969281238549185933055593096962629551680989157514074841809455458900794163005231447512999317849594336124986276739044192216024215305612555883638647911082111347794242717631350311087268178799446360154189466961402501083342021633796466681823690621449613413563520083471471084460429600112892031206575276359590770085267361795608569079117254607899733904007772209860403061019453019774644501096196988878083344655683771382496348367911479402593389960403015336964663309729567378329088897260977517298422754461864995219867975777966607116797221619679183321268911781278066221329441959397847090822001843169569912949692960512690299800502311100364241975624862883494029565400647968629055073741526131108076174341246537416266159175836140049896449181118796440695698132013094406139269584317277598635412826143980426995241484994460585362036004946685340374585908688315404540557848381192045948172194381370855712083893977662017809900117234587095165376464964600480551998091788765986023143742181535228318652844050645352075716297334131755828752870482459103756148464146385762164666727658237476711302168646837593798008129275369121777945195245398375433145256986856853038825472592703542656209819719519720023315947163447979207029402896190280413708413414078017925282650154261206124276382999060391730403600984649759460824242173737682821931087534611971106878038865042998770481900498156897061029620131143038844034760392053643855360229918928984319380015621421068533520416134999509368656114878800871573760698846420746624628922416875309941458866636571931359742579863307242890318832838807210026714842827512145321422082463009420339170419071410394971014440589904179986968657954888828951194283942666449171652080919742917448156281405008726060899190839037459800441185771295548106923749156282164858576071519963289411926450859131361131202254658158085159989818228516732514266770698576051960665938008149807186274616817534075375951855271946477160610911664140753076987525751989291843 536907878140349876109891858606479578649805405897496846283919298415544515311941660967765490417521351729870356367210363834578871166402955648826145859089137779477866164083514869429879142689022992751035027214404831965363477727124085350049137854518068555137045232078035752313566010097116624439387011229389424944258924509464958226417097378973559306065272908052895977678688733326778203083072448702139614849190002913051631824680957137071223299956641427028740650794036555481256509593315613183640873796196722662620562428632020636786371219485698580938872438068946508205502515591717431602404328891121640475677721260990808102670977914831363752942846179213420273568438835004984333438845421766668383886046816228129448039328938044509143813725988933915135134620986068193357371075871046519131985714254919199314665503731457527403625594273146737852206675788839553611987783064591238029797734263917830609041975669357285200318007117397073225237993453697764110102369907089539525004143302290059412604601747795244603366762802384796129062436833066363555776971261663470865983098985672195716201648236015702702367650335499966872878674848426940579125545704484057991082135129490056069615818846842670571350667999974138636137611282553128485485456692924226076543687521480679194672233156468093784697863301590857609524957012543186947309765344623246180024509974451287333872258208794645290803047409023143915967996017852481041618098834493314678930979971615105686353201530446050354725182116844246823807694708485216018902774467573713532395580916368877347353423891791388190026028498478649122360206206357581131923582828390100750021514282301254270847376853855232458551189329653248671219146287926385218792200225600951622570776116806480959121884660517688041784086897519984609784858747680439593643406673540689064311851147985660901438455719256545979802737576849777903114847198373319331665855673460901089150929800387664825636731984917234686245892080381198246948599344619875076585370510240374660629098851383080326616764395273628613670676214852555921629396987575595973532005183439822221819697186568877088196838993653612778762085883547673699281151216612796573150962475257006012604816105494018671666886789771581345873611220170261252327168599129388397332415442145881105974013437817088955117868932389359844792079543041496170893792833095020726321041580746499820059474397012979544290994322762690069816598152177663884459574973611540039095496441542207962284679653619043313898881776321452921267793829416039995898274077808144868624824653130187503220180793833759010920617872649684327900165914413158337645162496724726675425944027492293976042260729513604 868735195658672785535298726376726436647505466966192759258302648576130151590389762558739672712814600309070933034579461002865717612292612306613337563733308073121913083563809228711814612243417444998634979304462004446434380318244544849613135503028352267616754607837921218197908723789091932820469603217790075334703757048699950166813128737049663775393936312739154396673636444868525812729428262998388414312633377361953897602106417113925086436758343770998536397425436051383834662245166922037508366735239872709164790213388345211505266104037259371443842967006652874163375906439394693101265488095414684294431409466421724074209555100635034665708434087065996573604287015617241917408126660315854316941639913190758999720318095558583985623181447834709298139852433581192675220670207171505408724758447135223529971116287341166051536676384494532094924307139150640880166582510951392219264695666418913951063609465823967024008628567010486788758076925168848570531970019981570731579419661880829497871963543403813682484017410284530033070209042926766616796424281438115367079295974550279060857332007398199050735561814902560262839077863763905242435275271862387079979396107007354492370280711837890439326445966581255433359230961736449754397237970990447405985646919327770016674076326038006734390823814281157410027268112907428922934628228117275745425157943080342407613784339902721465144293946439410075143832157902377490799217630934010377062993066021244955937518808044685767551326097271242065292689169070578054907721152914088118304269231773417905201805083837336362220409869334361206254183868375391032040817415485266126486478882781806268939165619841255602293370864881567324063196933278460935089534357356780375441258575910237107586031046279852708511745134996695911953505585274237601772682042662467009507096546361094046695442576109584805275330280392434112934566718093342647613019121440108118553825990668078534050146062935159968896046341587322523331598405011605480186355159999835484871272589065902257704299007244735491709541257851326403529895144472657003152136326478666256580089240212732448426757922637932158777707304616207219697286216122165229265841276128579773303662526240643300589303665081522804740247792101620994907031906372278716165254249355907820816840949962410377200331941809699015211150953436467185334382737275007694978996469575451014343417063462151196371914065680138226098003160903724783650414011071340480281267737090314886033835935783901889970401739610864847718652960777171198152932235893304858443053169862701769990879369885719676858626022456870602516983448488534289500434443201887286337608168245370963568012718805447 1405643073799022661645190584983206015297310872863689605542221946991674666902331423526505163130335952038941289401789824837444588778695567955439483422822445852599779247647324098141693754932440437749670006518866836411797858045368630199662273357546420822753799839915956970511474733886208557259856614447179500278962681558164908393230226116023223081459209220792050374352325178195304015812500711700528029161823380275005529426787374250996309736714985198027277048219472606865091171838482535221149240531436595371785352642020365848291637323522957952382715405075599382368878422031112124703669816986536324770109130727412532176880533015466398418651280266279416847172725850622226250846972082082522700827686729418888447759647033603093129436907436768624433274473419649386032591746078218024540710472702054422844636620018798693455162270657641269947130982927990194492154365575542630249062429930336744560105585135181252224326635684407560013996070378866612680634339927071110256583562964170888910476565291199058285850780212669326162132645875993130172573395543101586233062394960222474777058980243413901753103212150402527135717752712190845821560820976346445071061531236497410561986099558680561010677113966555394069496842244289578239882694663914673482529334440808449211346309482506100519088687115872015019552225125450615870244393572740521925449667917531629741486042548697366755947341355462553991111828175754858532417316465427325055993973037636350642290720338490736122276508214115488889100383877555794073810495620487801650699850148142295252555228975628724552246438367813010328614390074732972163964400243875366876507993165083060539786542473696488060844560194534815995282343221204846153881734582957731998012034692716718066707915706797540750295832032516680521738364332954677195416088716203156073818947694346754948133898295366130785078067857242212016049413916466661979278874794901009207704755791055743359686878047852394655141938421968520770280197749631480556771725670240210145500371440448982584321063402518364105380217472703882325159292132048252976684141509918488478399786426781609536623596916291544937539793188163880918978437432734961802416803751385585785908478631734661972256190454853104150613859012271882247234200505501667113497669691501788926790854387779499332318200874199058860003230496477963356228175570370028421300038050321950834402891460475130740662908388442828295914601313081388668109988984682880519376764178632522848318515589402945203869283515932317768986446790193211194051206313701449727067877822992889273211060163719478687779243895106554930417149362901692627145596939926613961763552195737664939610273448319051 2274378269457695447180489311359932451944816339829882364800524595567804818492721186085244835843150552348012222436369285840310306390988180262052820986555753925721692331211133326853508367175857882748304985823328840858232238363613175049275408860574773090370554447753878188709383457675300490080326217664969575613666438606864858560043354853072886856853145533531204771025961623063829828541928974698916443474456757636959427028893791364921396173473328969025813445644908658248925834083649457258657607266676468080950142855408711059796903427560217323826558372082252256532254328470506817804935305081951009064540540193834256251090088116101433084359714353345413420777012866239468168255098742398377017769326642609647447479965129161677115060088884603333731414325853230578707812416285389529949435231149189646374607736306139859506698947042135802042055290067140835372320948086494022468327125596755658511169194601005219248335264251418046802754147304035461251166309947052680988162982626051718408348528834602871968334797622953856195202854918919896789369819824539701600141690934772753837916312250812100803838773965305087398556830575954751063996096248208832151040927343504765054356380270518451450003559933136649502856073206026027994279932634905120888514981360136219228020385808544107253479510930153172429579493238358044793179021800857797670874825860611972149099826888600088221091635301901964066255660333657236023216534096361335433056966103657595598228239146535421889827834311386730954393073046626372128718216773401889769004119379915713157757034059466060914466848237147371534868573943108363196005217659360633002994472047864866808725708093537743663137931059416383319345540154483307088971268940314512373453293268626955174293946753077393458807577167513376433691869918228914797188770758865623083326044240707848994829340871475715590353398137634646128983980634560004626891893916341117326258581781723821893737024110787554624037984763555843293611796154643086036958080830240045630371644029514884842025362409763099597089758730555208728689187276520909979836277836397154734979875666994341985050354838929477096317500492780088138675723648857127031682645027514165559212141157975305272845494119934626955354106804373503242141232411873945829662923940857696747607695337741909709518532816008757875214381449914430541562558307645036116279034519897401848746308523937281937034822454122966522012604473985113451760402995754220999658031915722837734352351525186847093839685255543182616705099750970382392204138549594754585510930992855591043201939533605198364637869917563425532934132811390226916646031383128501248101160363983035903178286167124498 3680021343256718108825679896343138467242127212693571970342746542559479485395052609611749998973486504386953511838159110677754895169683748217492304409378199778321471578858457424995202122108298320497974992342195677270030096408981805248937682218121193913124354287669835159220858191561509047340182832112149075892629120165029766953273580969096109938312354754323255145378286801259133844354429686399444472636280137911964956455681165615917705910188314167053090493864381265114017005922131992479806847798113063452735495497429076908088540751083175276209273777157851638901132750501618942508605122068487333834649670921246788427970621131567831503010994619624830267949738716861694419102070824480899718597013372028535895239612162764770244496996321371958164688799272879964740404162363607554490145703851244069219244356324938552961861217699777071989186272995131029864475313662036652717389555527092403071274779736186471472661899935825606816750217682902073931800649874123791244746545590222607318825094125801930254185577835623182357335500794913026961943215367641287833204085894995228614975292494226002556941986115707614534274583288145596885556917224555277222102458580002175616342479829199012460680673899692043572352915450315606234162627298819794371044315800944668439366695291050207772568198046025187449131718363808660663423415373598319596324493778143601890585869437297454977038976657364518057367488509412094555633850561788660489050939141293946240518959485026158012104342525502219843493456924182166202528712393889691419703969528058008410312263035094785466713286604960381863482964017841335359969617903235999879502465212947927348512250567234231723982491253951199314627883375688153242853003523272244371465327961343673241001862459874934209103409200030056955430234251183591992604859475068779157144991935054603942963239166841846375431465994876858145033394551026666606170768711242126533963337572779565253423902158639949279179923185524364063891993904274566593729806500480255775872015469963867426346425812281463702469976203259091053848479408569162956520419346315643213379662093775951521673951755221022033857293680943969057654161081592088834099448778899751345120619789709967245101684574787731105967965816645385489375432917375612943160593632359485674398549725521409041836733690207816735217611946392393897790733878015064537579072570219352683149199984412412677697730842565794817927205787066502119870391980437101519034796094355360582670867114589792297708968771475500385691546541163593586255344863296204312578808815848480316412999697324677052417113812669980463351282174291919543791628323055115209864712559720700842788559615443549 5954399612714413556006169207703070919186943552523454335143271138127284303887773795696994834816637056734965734274528396518065201560671928479545125395933953704043163910069590751848710489284156203246279978165524518128262334772594980298213091078695967003494908735423713347930241649236809537420509049777118651506295558771894625513316935822168996795165500287854459916404248424322963672896358661098360916110736895548924383484574956980839102083661643136078903939509289923362942840005781449738464455064789531533685638352837787967885444178643392600035832149240103895433387078972125760313540427150438342899190211115081044679060709247669264587370708972970243688726751583101162587357169566879276736366340014638183342719577291926447359557085205975291896103125126110543448216578648997084439580935000433715593852092631078412468560164741912874031241563062271865236796261748530675185716681123848061582443974337191690720997164187243653619504364986937535182966959821176472232909528216274325727173622960404802222520375458577038552538355713832923751313035192180989433345776829767982452891604745038103360780760081012701932831413864100347949553013472764109373143385923506940670698860099717463910684233832828693075208988656341634228442559933724915259559297161080887667387081099594315026047708976178359878711211602166705456602437174456117267199319638755574039685696325897543198130611959266482123623148843069330578850384658149995922107905244951541838747198631561579901932176836888950797886529970808538331246929167291581188708088907973721568069297094560846381180134842107753398351537960949698555974835562596632882496937260812794157237958660771975387120422313367582633973423530171460331824272463586756744918621229970628415295809212952327667910986367543433389122104169412506789793630233934402240471036175762452937792580038317561965784864132511504274017375185586671233062662627583243860221919354503387147160926269427503903217907949080207357503790058917652630687887330720301406243659499478752268371788222044563299559734933814299782537666685090072936356697182712797948359537760770293506724306594150499130174794173724057196329884730449215865782093806413916904332760947685272517947178694722358061322072621018888731516665329249558772823517573217182422006245063263318751355266506216574610431993396306824439353292185660100653858107090116754531895508508349694614732553296688761339939810261051615571630794976191322518692828010078198317023218639776639391548654027018683002396646292133975978459483412890958898089739808704071359614939230929875417054983730233405996285414985682146460437659706183616457965872923703736745966845782568047 9634420955971131664831849104046209386429070765217026305486017680686763789282826405308744833790123561121919246112687507195820096730355676697037429805312153482364635488928048176843912611392454523744254970507720195398292431181576785547150773296817160916619263023093548507151099840798318584760691881889267727398924678936924392466590516791265106733477855042177715061782535225582097517250788347497805388747017033460889339940256122596756807993849957303131994433373671188476959845927913442218271302862902594986421133850266864875973984929726567876245105926397955534334519829473744702822145549218925676733839882036327833107031330379237096090381703592595073956676490299962857006459240391360176454963353386666719237959189454691217604054081527347250060791924398990508188620741012604638929726638851677784813096448956016965430421382441689946020427836057402895101271575410567327903106236650940464653718754073378162193659064123069260436254582669839609114767609695300263477656073806496933045998717086206732476705953294200220909873856508745950713256250559822277266549862724763211067866897239264105917722746196720316467105997152245944835109930697319386595245844503509116287041339928916476371364907732520736647561904106657240462605187232544709630603612962025556106753776390644522798615907022203547327842929965975366120025852548054436863523813416899175930271565763194998175169588616631000180990637352481425134484235219938656411158844386245488079266158116587737914036519362391170641379986894990704533775641561181272608412058436031729978381560129655631847893421447068135261834501978791033915944453465832632761999402473760721505750209228006207111102913567318781948601306905859613574677275986859001116383949191314301656297671672827261877014395567573490344552338420596098782398489709003181397616028110817056880755819205159408341216330127388362419050769736613337839233431338825370394185256927282952400584828428067453182397831134604571421395783963192219224417693831200557182115674969442619694718214034326027002029711137073390836386146093659235892877116529028441161739199854546245028398258349371521164032087854668026253984045812041304699881542585313668249453380737395239763048863269510089167290038437664274220892098246625171715984111205576668096404794788784727793192000196424391345649605342699218337144026063675165191437179660336107215044708492762107292430284139254556157867016048118117691501186956628424037727624104433558899694085754366431689257622798494183388088192833297569564714828276187163210668548624552551676027938928254552469472097542903386459636697159974066004229288029238731667830585483424437588755405398011596 15588820568685545220838018311749280305616014317740480640629288818814048093170600201005739668606760617856884980387215903713885298291027605176582555201246107186407799398997638928692623100676610726990534948673244713526554765954171765845363864375513127920114171758517261855081341490035128122181200931666386378905220237708819017979907452613434103528643355330032174978186783649905061190147147008596166304857753929009813723424831079577595910077511600439210898372882961111839902685933694891956735757927692126520106772203104652843859429108369960476280938075638059429767906908445870463135685976369364019633030093151408877786092039626906360677752412565565317645403241883064019593816409958239453191329693401304902580678766746617664963611166733322541956895049525101051636837319661601723369307573852111500406948541587095377898981547183602820051669399119674760338067837159098003088822917774788526236162728410569852914656228310312914055758947656777144297734569516476735710565602022771258773172340046611534699226328752777259462412212222578874464569285752003266699895639554531193520758501984302209278503506277733018399937411016346292784662944170083495968389230427016056957740200028633940282049141565349429722770892762998874691047747166269624890162910123106443774140857490238837824663615998381907206554141568142071576628289722510554130723133055654749969957262089092541373300200575897482304613786195550755713334619878088652333266749631197029918013356748149317815968696199280121439266516865799242865022570728472853797120147344005451546450857224216478229073556289175888660186039939740732471919289028429265644496339734573515662988167888778182498223335880686364582574730436031073906501548450445757861302570421284930071593480885779589544925381935116923733674442590008605572192119942937583638087064286579509818548399243476970307001194259899866693068144922200009072296093966408614254407176281786339547745754697494957085615739083684778778899574022109871855105581161920858588359334468921371963090002256370590301589446070887690618923812778749308829233813711741239110098737615316538535122564943522020294206882028392083450313930542490520565663636391727585153786141685080512280996041964232447228612111058683162952408763575874730488807628778793850518411039852048046544547266702640965956081598739006042776497318249335265845295286750452861746940217001111801907162837435943317497806826309169733263131981932819746556420452114511757216717304394143071080806276825512866390484839125431545543174311689078122108758288433256623035642878159184427886527081273136792455922112145656212464666947735422348125796458407128174334722251180579643 25223241524656676885669867415795489692045085082957506946115306499500811882453426606314484502396884178978804226499903410909705395021383281873619985006558260668772434887925687105536535712069065250734789919180964908924847197135748551392514637672330288836733434781610810362232441330833446706941892813555654106304144916645743410446497969404699210262121210372209890039969318875487158707397935356093971693604770962470703063365087202174352718071361557742342892806256632300316862531861608334175007060790594721506527906053371517719833414038096528352526044002036014964102426737919615165957831525588289696366869975187736710893123370006143456768134116158160391602079732183026876600275650349599629646293046787971621818637956201308882567665248260669792017686973924091559825458060674206362299034212703789285220044990543112343329402929625292766072097235177077655439339412569665330991929154425728990889881482483948015108315292433382174492013530326616753412502179211776999188221675829268191819171057132818267175932282046977480372286068731324825177825536311825543966445502279294404588625399223566315196226252474453334867043408168592237619772874867402882563635074930525173244781539957550416653414049297870166370332796869656115153652934398814334520766523085131999880894633880883360623279523020585454534397071534117437696654142270564990994246946472553925900228827852287539548469789192528482485604423548032180847818855098027308744425594017442517997279514864737055730005215561671292080646503760789947398798212289654126405532205780037181524832417353872110076966977736244023922020541918531766387863742494261898406495742208334237168738377116784389609326249448005146531176037341890687481178824437304758977686519612599231727891152558606851421939777502690414078226781010604704354590609651940765035703092397396566699304218448636378648217524387288229112118914658813346911529525305233984648592433209069291948330583125562410268013570218289350200295357985302091079523274993121415770475009438363991657808216290696617303619157207961081455309958872408544722110930240769680271837937469862783563520823292893541458238969883060109704297976354531825265545178977041253403239522422475752044044905233742536395902149496347437173300861822499902204791739984370518614815834640832774337739266899065357301731204081705261113641344313010431036732466410788968961984925493873909199593121575197873655673842357287850954633168889448170594148076218945316116411390148509502770063899624007049778573031958729115107889139965265285319426837057809174711670817087438980355999178816040178915558809305630278468896235764661079793627043890552611923477656578591239 40812062093342222106507885727544769997661099400697987586744595318314859975624026807320224171003644796835689206887119314623590693312410887050202540207804367855180234286923326034229158812745675977725324867854209622451401963089920317237878502047843416756847606540128072217313782820868574829123093745222040485209365154354562428426405422018133313790764565702242065018156102525392219897545082364690137998462524891480516786789918281751948628148873158181553791179139593412156765217795303226131742818718286848026634678256476170563692843146466488828806982077674074393870333646365485629093517501957653715999900068339145588679215409633049817445886528723725709247482974066090896194092060307839082837622740189276524399316722947926547531276414993992333974582023449192611462295380335808085668341786555900785626993532130207721228384476808895586123766634296752415777407249728763334080752072200517517126044210894517868022971520743695088547772477983393897710236748728253734898787277852039450592343397179429801875158610799754739834698280953903699642394822063828810666341141833825598109383901207868524474729758752186353266980819184938530404435819037486378532024305357541230202521739986184356935463190863219596093103689632654989844700681565083959410929433208238443655035491371122198447943139018967361740951213102259509273282431993075545124970079528208675870186089941380080921769989768425964790218209743582936561153474976115961077692343648639547915292871612886373545973911760951413519913020626589190263820783018126980202652353124042633071283274578088588306040534025419912582206581858272498859783031522691164050992081942907752831726545005562572107549585328691511113750767777921761387680372887750516838989090033884161799484633444386440966865159437807337811901223600613309926782729594878348673790156683976076517852617692113348955218718647188095805187059581013355983825619271642598902999609490855631496076337823057367353629309301974128979194932007411962934628856155042274358834343907285363620898218547067207605208603278848772074233771651157853551344743952510919381936675085179322098643388236415561752445851911452193154611906897022345831208815368768838557025664107556264325040947197974983624514260555030600125709625398374632693599368763164369133226874492880820882286533601706323257812802820711303890138662562345696882027753161241830708925142494985711106755959011141191153480668666457584217765150822267917150568528333457073333128694542652573850870176449519916169057871084160660651063451654343407428185125491065797747313695246623408242526260089176971371480921451286490933563183500083427919423502297680786258199907759170882 66035303617998898992177753143340259689706184483655494532859901817815671858077453413634708673400528975814493433387022725533296088333794168923822525214362628523952669174849013139765694524814741228460114787035174531376249160225668868630393139720173705593581041321738882579546224151702021536064986558777694591513510071000305838872903391422832524052885776074451955058125421400879378604943017720784109692067295853951219850155005483926301346220234715923896683985396225712473627749656911560306749879508881569533162584309847688283526257184563017181333026079710089357972760384285100795051349027545943412366770043526882299572338779639193274214020644881886100849562706249117772794367710657438712483915786977248146217954679149235430098941663254662125992268997373284171287753441010014447967375999259690070847038522673320064557787406434188352195863869473830071216746662298428665072681226626246508015925693378465883131286813177077263039786008310010651122738927940030734087008953681307642411514454312248069051090892846732220206984349685228524820220358375654354632786644113120002698009300431434839670956011226639688134024227353530768024208693904889261095659380288066403447303279943734773588877240161089762463436486502311104998353615963898293931695956293370443535930125252005559071222662039552816275348284636376946969936574263640536119217026000762601770414917793667620470239778960954447275822633291615117408972330074143269822117937666082065912572386477623429275979127322622705600559524387379137662618995307781106608184558904079814596115691931960698383007511761663936504227123776804265247646774016953062457487824151241990000464922122346961716875834776696657644926805119812448868859197325055275816675609646483393527375786002993292388804936940497751890128004611218014281373339246819113709493249081372643217156836140749727603436243034476324917305974239826702895355144576876583551592042699924923444406920948619777621642879520263479179490289992714054014152131148163690129309353345649355278706434837763824908827760486809853529543730523566398273455674193280599653774612555042105662164211529309103210684821794512302858909883251554171096753994345810091960265186530032016369085852431717520020416410051378037299010487220874534898391108747534887748042709133713595220025800500771680559544006902416565003780006875356127918760219572030799670910067988859620306349080586339064809154511023745435172398319711716087744716604552402389449540084691162076620934076073526965947630903042889775758952591619608692747611962548874972458984512334062388598525438905217150287039730756916769402459419264744507713050546188233398181677564337762121 106847365711341121098685638870885029687367283884353482119604497136130531833701480220954932844404173772650182640274142040156886781646205055974025065422166996379132903461772339173994853337560417206185439654889384153827651123315589185868271641768017122350428647861866954796860006972570596365188080303999735076722875225354868267299308813440965837843650341776694020076281523926271598502488100085474247690529820745431736636944923765678249974369107874105450475164535819124630392967452214786438492698227168417559797262566323858847219100331029506010140008157384163751843094030650586424144866529503597128366670111866027888251554189272243091659907173605611810097045680315208668988459770965277795321538527166524670617271402097161977630218078248654459966851020822476782750048821345822533635717785815590856474032054803527785786171883243083938319630503770582486994153912027191999153433298826764025141969904272983751154258333920772351587558486293404548832975676668284468985796231533347093003857851491677870926249503646486960041682630639132224462615180439483165299127785946945600807393201639303364145685769978826041401005046538469298428644512942375639627683685645607633649825019929919130524340431024309358556540176134966094843054297528982253342625389501608887190965616623127757519165801058520178016299497738636456243219006256716081244187105528971277640601007735047701392009768729380412066040843035198053970125805050259230899810281314721613827865258090509802821953039083574119120472545013968327926439778325908086810836912028122447667398966510049286689048045787083849086433705635076764107429805539644226508479906094149742832191467127909533824425420105388168758677572897734210256539570212805792655664699680367555326860419447379733355670096378305089702029228211831324208156068841697462383283405765348719735009453832863076558654961681664420722493033820840058879180763848519182454591652190780554940483258771677144975272188822237608158685222000126016948780987303205964488143697252934718899604653384831032514036363765658625603777502174724251824800418145791519035711287640221427760807599765724664963130673705964496013521790148576516927962809714578930517290850637588280694126799629692503644930670606408637424720112619249167591990477510699256881269583626594416102312334102478003817356809723127868893918669437701824800787972733272630379835210483845331413105039597480255962635179690203019390163470533984004895285132885859462782668779233814650471804252523046882116688774127050436410016043273952100175797088039940770206298207580685796841051698994394121658520652208203260336022602764827935632474048485914184439877472096933003 172882669329340020090863392014225289377073468368008976652464398953946203691778933634589641517804702748464676073661164765690182869979999224897847590636529624903085572636621352313760547862375158434645554441924558685203900283541258054498664781488190827944009689183605837376406231124272617901253066862777429668236385296355174106172212204863798361896536117851145975134406945327150977107431117806258357382597116599382956487099929249604551320589342590029347159149932044837104020717109126346745242577736049987092959846876171547130745357515592523191473034237094253109815854414935687219196215557049540540733440155392910187823892968911436365873927818487497910946608386564326441782827481622716507805454314143772816835226081246397407729159741503316585959120018195760954037802262355836981603093785075280927321070577476847850343959289677272290515494373244412558210900574325620664226114525453010533157895597651449634285545147097849614627344494603415199955714604608315203072805185214654735415372305803925939977340396493219180248666980324360749282835538815137519931914430060065603505402502070738203816641781205465729535029273892000066452853206847264900723343065933674037097128299873653904113217671185399121019976662637277199841407913492880547274321345794979330726895741875133316590388463098072994291647782375013403213155580520356617363404131529733879411015925528715321862249547690334859341863476326813171379098135124402500721928218980803679740437644568133232097932166406196824721032069401347465589058773633689193419021470932202262263514658442009985072055557548747785590660829411881029355076579556597288965967730245391732832656389250256495541301254882084826403604378017546659125398767537861068472340309326850948854236205450373025744475033318802841592157232823049338489529408088516576092776654846721362952166289973612804162091204716140745639799008060666761774535908425395766006183694890705478384890179720296922596915068342501087338175511992840070962933118451369654617453050598584074178311088222594857422864124252468479133321232698290650098256092339072118689485900195263533422971811295033768173815495500476798872431673400130688024716804060389022477556037167620297063212652061410023665347080657786674723730599840123702490381586258234144629312292760308011322338134603249684376900816625544433897698676313057952719548192305303430050745278472704951719454120183819320771789690713948454562561790245700092640001737438261852232208863924976727092738328596573848064319677169940212168968634893560792923409050588815742665282719914748185439577137899611271945560382965120029738482022029572443345524594674147582621555036434695124 279730035040681141189549030885110319064440752252362458772068896090076735525480413855544574362208876521114858713935306805847069651626204280871872656058696621282218476098393691487755401199935575640830994096813942839031551406856847240366936423256207950294438337045472792173266238096843214266441147166777164744959260521710042373471521018304764199740186459627839995210688469253422575609919217891732605073126937344814693124044853015282801294958450464134797634314467863961734413684561341133183735275963218404652757109442495405977964457846622029201613042394478416861658948445586273643341082086553137669100110267258938076075447158183679457533834992093109721043654066879535110771287252587994303126992841310297487452497483343559385359377819751971045925971039018237736787851083701659515238811570890871783795102632280375636130131172920356228835124877014995045205054486352812663379547824279774558299865501924433385439803481018621966214902980896819748788690281276599672058601416748001828419230157295603810903589900139706140290349610963492973745450719254620685231042216007011204312795703710041567962327551184291770936034320430469364881497719789640540351026751579281670746953319803573034637558102209708479576516838772243294684462211021862800616946735296588217917861358498261074109554264156593172307947280113649859456374586777072698607591237058705157051616933263763023254259316419715271407904319362011225349223940174661731621738500295525293568302902658643034919885205489770943841504614415315793515498551959597280229858382960324709930913624952059271761103603335831634677094535046957793462506385096241515474447636339541475664847856378166029365726674987472995162281950915280869381938337750666861128005009007218504181096624897752759100145129697107931294186461034880662697685476930214038476060060612070082687175743806475880720746166397805166362292041881506820653716672273914948460775347081486033325373438491974067572187257164738695496860733992966087911714105754575619105596747851518793077915741607425889936900488018127104737098734873014901923056510484863637725197187835484961183779411060758433136946169206441294885953463548707204952679613774967952994846887805208577757339451691102527310277751264195312148450712459372870082372063768933401510581876386902427424650468705727688194257626348672302791617345750759777520336165038576060430580488956550283132559159781299576734424870404151473952725260779684097535286870324121315014877643158791377564542581119620730181008451296990648578984678167512893099206138628756512871580927495433982280628836894005393604081035173323290074504624794400378977998643160061767061432508531628127 452612704370021161280412422899335608441514220620371435424533295044022939217259347490134215880013579269579534787596471571537252521606203505769720246695226246185304048735015043801515949062310734075476548538738501524235451690398105294865601204744398778238448026229078629549672469221115832167694214029554594413195645818065216479643733223168562561636722577478985970345095414580573552717350335697990962455724053944197649611144782264887352615547793054164144793464399908798838434401670467479928977853699268391745716956318666953108709815362214552393086076631572669971474802860521960862537297643602678209833550422651848263899340127095115823407762810580607631990262453443861552554114734210710810932447155454070304287723564589956793088537561255287631885091057213998690825653346057496496841905355966152711116173209757223486474090462597628519350619250259407603415955060678433327605662349732785091457761099575883019725348628116471580842247475500234948744404885884914875131406601962656563834602463099529750880930296632925320539016591287853723028286258069758205162956646067076807818198205780779771778969332389757500471063594322469431334350926636905441074369817512955707844081619677226938750775773395107600596493501409520494525870124514743347891268081091567548644757100373394390699942727254666166599595062488663262669530167297429315970995368588439036462632858792478345116508864110050130749767795688824396728322075299064232343666719276328973308740547226776267017817371895967768562536683816663259104557325593286473648879853892526972194428283394069256833159160884579420267755364458838822817582964652838804440415366584933208497504245628422524907027929869557821565886328932827528507337105288527929600345318334069453035332830348125784844620163015910772886343693857930001187214885018730614568836715458791445639342033780088684882837371113945912002091049942173582428252580699310714466959041972191511710263618212270990169102325507239782835036245985806158874647224205945273723049798450102867256226829830020747359764612270595583870419967571305552021312602823935756414683088030748494606751222355792201310761664706918093758385136948837892977396417835356975472402924972828874820552103752512550975624831921981986872181312299496572572753650027167546139894169147210438746988603308977372571158442974216736689316022063817730239884357343879490481325767429255234852013279965118897506214561118099928515287051025384190175288607762383167247086507083768104657280909716194578245328128466930860747953313061073686022615189217572255536863647410182167720205974793616665549641418138443319812986646823972822323523237834209349682987544966323251 732342739410702302469961453784445927505954972872733894196602191134099674742739761345678790242222455790694393501531778377384322173232407786641592902753922867467522524833408735289271350262246309716307542635552444363267003097254952535232537628000606728532886363274551421722938707317959046434135361196331759158154906339775258853115254241473326761376909037106825965555783883833996128327269553589723567528850991289012342735189635280170153910506243518298942427778867772760572848086231808613112713129662486796398474065761162359086674273208836581594699119026051086833133751306108234505878379730155815878933660689910786339974787285278795280941597802673717353033916520323396663325401986798705114059439996764367791740221047933516178447915381007258677811062096232236427613504429759156012080716926857024494911275842037599122604221635517984748185744127274402648621009547031245990985210174012559649757626601500316405165152109135093547057150456397054697533095167161514547190008018710658392253832620395133561784520196772631460829366202251346696773736977324378890393998862074088012130993909490821339741296883574049271407097914752938796215848646426545981425396569092237378591034939480799973388333875604816080173010340181763789210332335536606148508214816388155766562618458871655464809496991411259338907542342602313122125904754074502014578586605647144193514249792056241368370768180529765402157672115050835622077546015473725963965405219571854266877043449885419301937702577385738712404041298231979052620055877552883753878738236852851682125341908346128528594262764220411054944849899505796616280089349749080319914863002924474684162352102006588554272754604857030816728168279848108397889275443039194790728350327341287957216429455245878543944765292713018704180530154892810663884900361948944653044896776070861528326517777586564565603583537511751078364383091823680403081969252973225662927734389053677545035637056704245057741289582671978478331896979978772246786361329960520892828646546301621660334142571437446637296665100288722688607518702444320453944369113308799394139880275866233455790530633416550634447707833913359388644338600497545097930076031610324928467249812778037452577891555443615078285902583186177299020632024758869442655125713796100947650476045534112866171639072014705060765416069322889039480933367814577507760220522382455550911906256385805517984572439746418474240639431522251402468012311805068287710575478086504482261964150242559482221823490835815308426336579763921509326937991228586579121821327846328768408444574905616150000834811687622059153722453311766609887491271618373201301521880994271116744420053497951378 1184955443780723463750373876683781535947469193493105329621135486178122613959999108835813006122236035060273928289128249948921574694838611292411313149449149113652826573568423779090787299324557043791784091174290945887502454787653057830098138832745005506771334389503630051272611176539074878601829575225886353571350552157840475332758987464641889323013631614585811935900879298414569681044619889287714529984575045233209992346334417545057506526054036572463087221243267681559411282487902276093041690983361755188144191022079829312195384088571051133987785195657623756804608554166630195368415677373758494088767211112562634603874127412373911104349360613254324985024178973767258215879516721009415924991887152218438096027944612523472971536452942262546309696153153446235118439157775816652508922622282823177206027449051794822609078312098115613267536363377533810252036964607709679318590872523745344741215387701076199424890500737251565127899397931897289646277500053046429422321414620673314956088435083494663312665450493405556781368382793539200419802023235394137095556955508141164819949192115271601111520266215963806771878161509075408227550199573063451422499766386605193086435116559158026912139109648999923680769503841591284283736202460051349496399482897479723315207375559245049855509439718665925505507137405090976384795434921371931330549581974235583229976882650848719713487277044639815532907439910739660018805868090772790196309071938848183240185783997112195568955519949281706480966577982048642311724613203146170227527618090745378654319770191740197785427421925104990475212605263964635439097672314401919124355278369509407892659856347635011079179782534726588638294054608780935926396612548327722720328695645675357410251762285594004328789385455728929477066873848750740665072115246967675267613733491529652973965859811366653250486420908625696990366474141765853985510221833672536377394693431025869056745900674916516047910391908179218261166933225964578405661008554166466166551696344751724527590369401267467384656429712559318272477938670015626005965681716132735150554563363896981950397281855772342835758469498620277482402723737446382990907472449445681903939652737750866327398443659196127629261527415108159285892813337058366015227879363823268493790370214681323304918627675323682433336574512297105776170249389878395238000104879726335041393232023815060752836585719711537371746853992640351330983299362830452477885864085848887649509050657326327586879104400552009886671664708230852370074891304289660265144436517063901023945308222315798317721040786481238724703363871450209929700477918442346023625045118828480466427407598464274629 1917298183191425766220335330468227463453424166365839223817737677312222288702738870181491796364458490850968321790660028326305896868071019079052906052203071981120349098401832514380058649586803353508091633809843390250769457884908010365330676460745612235304220752778181472995549883857033925035964936422218112729505458497615734185874241706115216084390540651692637901456663182248565809371889442877438097513426036522222335081524052825227660436560280090762029649022135454319984130574134084706154404113024241984542665087840991671282058361779887715582484314683674843637742305472738429874294057103914309967700871802473420943848914697652706385290958415928042338058095494090654879204918707808121039051327148982805887768165660456989149984368323269804987507215249678471546052662205575808521003339209680201700938724893832421731682533733633598015722107504808212900657974154740925309576082697757904390973014302576515830055652846386658674956548388294344343810595220207943969511422639383973348342267703889796874449970690178188242197748995790547116575760212718515985950954370215252832080186024762422451261563099537856043285259423828347023766048219489997403925162955697430465026151498638826885527443524604739760942514181773048072946534795587955644907697713867879081769994018116705320318936710077184844414679747693289506921339675446433345128168579882727423491132442904961081858045225169580935065112025790495640883414106246516160274477158420037507062827446997614870893222526667445193370619280280621364344669080699053981406356327598230336445112100086326314021684689325401530157455163470432055377761664150999444270141372433882576822208449641599633452537139583619455022222888629044324285887991366917511057045973016645367468191740839882872734150748441948181247404003643551328957015608916619920658630267600514502292377588953217816090004446137448068730857233589534388592191086645762040322427820079546601781537731620761105651681490851196739498830205943350652447369884126987059380342891053346187924511972704914021953094812848040961085457372459946459910050829441534544694443639763215406187812489188893470206177332533636871047062337943928088837548481056006832406902550528903779976335214639742707547429998294336584913445361817235457883005077619369441440846260215436171090266747338387494101990581619994815651182757692972745760325402108790592305138280200866270821158159457955845987493424162602733451311674635520765596439563935392131771014807568887069100927891387825195098001287994773879401829295518246844266257844910229792353752797221414467721875598168860783857086324761976539587969190060719224926566999822751583171827651962226007 3102253626972149229970709207152008999400893359858944553438873163490344902662737979017304802486694525911242250079788278275227471562909630371464219201652221094773175671970256293470845948911360397299875724984134336138271912672561068195428815293490617742075555142281811524268161060396108803637794511648104466300856010655456209518633229170757105407404172266278449837357542480663135490416509332165152627498001081755432327427858470370285166962614316663225116870265403135879395413062036360799196095096385997172686856109920820983477442450350938849570269510341298600442350859639368625242709734477672804056468082915036055547723042110026617489640319029182367323082274467857913095084435428817536964043214301201243983796110272980462121520821265532351297203368403124706664491819981392461029925961492503378906966173945627244340760845831749211283258470882342023152694938762450604628166955221503249132188402003652715254946153583638223802855946320191633990088095273254373391832837260057288304430702787384460187115421183583745023566131789329747536377783448112653081507909878356417652029378140034023562781829315501662815163420932903755251316247792553448826424929342302623551461268057796853797666553173604663441712018023364332356682737255639305141307180611347602396977369577361755175828376428743110349921817152784265891716774596818364675677750554118310653468015093753680795345322269809396467972551936530155659689282197019306356583549097268220747248611444109810439848742475949151674337197262329263676069282283845224208933974418343608990764882291826524099449106614430392005370060427435067494475433978552918568625419741943290469482064797276610712632319674310208093316277497409980250682500539694640231385741618692002777719954026433887201523536204170877658314277852394291994029130855884295188272363759130167476258237400319871066576425354763145059097331375355388374102412920318298417717121251105415658527438406537277153562073399030415000665763431907929058108378438293453225932039235805070715514881373972381406609524525407359233563396042475572465875732545574269695249007003660197356585094344961236305964646831153914353449786075390311079745020930501688736346555288279770107374778873835870336808957413402495870806258698875601473110884441442637935231216474896759476008894422662069927438565093917100591821432147571367983760430281835125633698370304015927023657743879169493217734347416802954064434611037465973243482303649784279781280065464895214655980032291939835081769665996225626249476720599807907109410694361974130816299061019537212785442916384650099508560450196212186469288447108503065248551612118651232049599235250426500636 5019551810163574996191044537620236462854317526224783777256610840802567191365476849198796598851153016762210571870448306601533368430980649450517125253855293075893524770372088807850904598498163750807967358793977726389041370557469078560759491754236229977379775895059992997263710944253142728673759448070322579030361469153071943704507470876872321491794712917971087738814205662911701299788398775042590725011427118277654662509382523195512827399174596753987146519287538590199379543636170445505350499209410239157229521197761812654759500812130826565152753825024973444080093165112107055117003791581587114024168954717509476491571956807679323874931277445110409661140369961948567974289354136625658003094541450184049871564275933437451271505189588802156284710583652803178210544482186968269550929300702183580607904898839459666072443379565382809298980578387150236053352912917191529937743037919261153523161416306229231085001806430024882477812494708485978333898690493462317361344259899441261652772970491274257061565391873761933265763880785120294652953543660831169067458864248571670484109564164796446014043392415039518858448680356732102275082296012043446230350092298000054016487419556435680683193996698209403202654532205137380429629272051227260786214878325215481478747363595478460496147313138820295194336496900477555398638114272264798020805919134001038076959147536658641877203367494978977403037663962320651300572696303265822516858026255688258254311438891107425310741965002616596867707816542609885040413951364544278190340330745941839327209994391912850413470791303755793535527515590905499549853195642703918012895561114377173046304273246918210346084856813893827548338500386039024574968388531061557742442787591708648145188145767273770074257686952612825839561681856037843322986146464800915108930994026730681978550614989273088882666429800900593127828188608944922762694604006964060458039549071184962260308976138158038259213754889881611740164593637851279710555748322420440285312382126858416903439393346677295428562619338255400194648853414935518925785783375015804239943450643423412762772906834150129776170824163687551224496848413334239168582569411557695568753457838808673887351114088475613044356387411696832455719704060692836930993889519062007376672062735112195647099161170000457421540555675537095407472614905264340729520755683943916226003508584216793294478902038627449063721840840965556797885922712101494009078743213719671913051080272464101725080960183327660276867667284220400128878549895326153953676952206884360608652813816758627253164791982818960292417536520974163008876416298563784473478179118473983632771062902388726643 8121805437135724226161753744772245462255210886083728330695484004292912094028214828216101401337847542673452821950236584876760839993890279821981344455507514170666700442342345101321750547409524148107843083778112062527313283230030146756188307047726847719455331037341804521531872004649251532311553959718427045331217479808528153223140700047629426899198885184249537576171748143574836790204908107207743352509428200033086989937240993565797994361788913417212263389552941726078774956698206806304546594305796236329916377307682633638236943262481765414723023335366272044522444024751475680359713526059259918080637037632545532039294998917705941364571596474292776984222644429806481069373789565443194967137755751385293855360386206417913393026010854334507581913952055927884875036302168360730580855262194686959514871072785086910413204225397132020582239049269492259206047851679642134565909993140764402655349818309881946339947960013663106280668441028677612323986785766716690753177097159498549957203673278658717248680813057345678289330012574450042189331327108943822148966774126928088136138942304830469576825221730541181673612101289635857526398543804596895056775021640302677567948687614232534480860549871814066644366550228501712786312009306866565927522058936563083875724733172840215671975689567563405544258314053261821290354888869083162696483669688119348730427162630412322672548689764788373871010215898850806960261978500285128873441575352956479001560050335217235750590707478565748542045013804939148716483233648389502399274305164285448317974876683739374512919897918186185540897576018340567044328629621256836581520980856320463515786338044194821058717176488204035641654777883449004825650889070756197973828529210400650922908099793707657275781223156783703497875959708432135317015277320685210297203357785860849454808852389592959949242855155663738186925519984300311136797016927282358875756670322290377918836414544695315412775828288912026740830357069759208768664126760713893511244421362663487618954274720649676835172143863662759428212249457411091391661515920590073935192457647083610119358001179111366082135470994841465577946634488724550248327590342059384305100013127088443994725892962311483381165344825099328326525962759568438404104773960504645311903279210008955123108055592662527348979120769454195999294047052835708713281185965779041859701878888232720318136645917796942281456188257768510862320533749567467252561046863503951694331145737359316381060992475267495358637333280446026378355270495134061063087646568858491424951874836295840038607708367469059800977986717186349478164863407066849722029791237125215682370298152815227279 13141357247299299222352798282392481925109528412308512107952094845095479285393691677414898000189000559435663393820684891478294208424870929272498469709362807246560225212714433909172655145907687898915810442572089788916354653787499225316947798801963077696835106932401797518795582948902394260985313407788749624361578948961600096927648170924501748390993598102220625314985953806486538089993306882250334077520855318310741652446623516761310821760963510171199409908840480316278154500334377251809897093515206475487145898505444446292996444074612591979875777160391245488602537189863582735476717317640847032104805992350055008530866955725385265239502873919403186645363014391755049043663143702068852970232297201569343726924662139855364664531200443136663866624535708731063085580784355329000131784562896870540122775971624546576485647604962514829881219627656642495259400764596833664503653031060025556178511234616111177424949766443687988758480935737163590657885476260179008114521357058939811609976643769932974310246204931107611555093893359570336842284870769774991216425638375499758620248506469626915590868614145580700532060781646367959801480839816640341287125113938302731584436107170668215164054546570023469847021082433639093215941281358093826713736937261778565354472096768318676168123002706383700738594810953739376688993003141347960717289588822120386807386310167070964549752057259767351274047879861171458260834674803550951390299601608644737255871489226324661061332672481182345409752830347549033756897185012933780589614635910227287645184871075652224926390689221941979076425091609246066594181825263960754594416541970697636562090611291113031404802033302097863189993278269488029400619277601817755716271316802109299068096245560981427350038910109396529337437641564469978640001423785486125406134351812591531433359467378866048831909284956564331314753708593245233899491620934246419333796219393475340179145390682853353671989583178793638480994950707610488479219875083134333796556803489521904522393668067326972263734763201918159622861102872346610317447299295605878175135908290507022882130908013261495858306295158529016802443482902058789416910159753617079873853470965897117882077007050787096425521732236796160782245666820261275335098663479566652688575341945121150770207216762662984770519676444991291406766661958100049442801941649722958085705387472449513612615547956424391345178029098734067660206456461668961261639790077223623607382226009823418106141952658595155635505000564666426507233820390460215016764598775742852033604688653054467291772500350288020093395523238160512487041279705630634195507970355599199315141361055203953922 21263162684435023448514552027164727387364739298392240438647578849388391379421906505630999401526848102109116215770921476355055048418761209094479814164870321417226925655056779010494405693317212047023653526350201851443667937017529372073136105849689925416290437969743602040327454953551645793296867367507176669692796428770128250150788870972131175290192483286470162891157701950061374880198214989458077430030283518343828642383864510327108816122752423588411673298393422042356929457032584058114443687821002711817062275813127079931233387337094357394598800495757517533124981214615058415836430843700106950185443029982600540570161954643091206604074470393695963629585658821561530113036933267512047937370052952954637582285048346273278057557211297471171448538487764658947960617086523689730712639825091557499637647044409633486898851830359646850463458676926134754465448616276475799069563024200789958833861052925993123764897726457351095039149376765841202981872262026895698867698454218438361567180317048591691558927017988453289844423905934020379031616197878718813365392412502427846756387448774457385167693835876121882205672882936003817327879383621237236343900135578605409152384794784900749644915096441837536491387632662140806002253290664960392641258996198341649230196829941158891840098692273947106282853125007001197979347892010431123413773258510239735537813472797483287222300747024555725145058095760022265221096653303836080263741176961601216257431539561541896811923379959748093951797844152488182473380418661323282988888941074512735963159747759391599439310587140128164617322667627586633638510454885217591175937522827018100077876949335307852463519209790301898831648056152937034226270166672573953690099846012509949991004345354689084625820133266180232835313601272902113957016701106171335703337709598452380888168319768459008781152140112228069501679228577545545036288637861528778209552889715765718097981805227548669084765411467705665221825307777369697247884001843848227307801224852185392141347942787976649098906907065580919051073352329757701709108815216195952110328365937590633001488909192372861940441766153370482380390117390783339665237750095676464178953484092985561876802900013098579806687077061895489108771629579829713739203437440071298000478621155130105893315272355325512119498797214445487406060709010935758156083127615501999945407266360682233930752193874221333626634217356502578522526990211236428514200836940727575301713371747182734487202945133862650994142333845112452885589090885594276079852245344601343458556563489350307330380208717757079894373509955346861965206143112697483917537761592724414997511659208019181201 34404519931734322670867350309557209312474267710700752546599673694483870664815598183045897401715848661544779609591606367833349256843632138366978283874233128663787150867771212919667060839224899945939463968922291640360022590805028597390083904651653003113125544902145399559123037902454040054282180775295926294054375377731728347078437041896632923681186081388690788206143655756547912970191521871708411507551138836654570294830488027088419637883715933759611083207233902358635083957366961309924340781336209187304208174318571526224229831411706949374474577656148763021727518404478641151313148161340953982290249022332655549101028910368476471843577344313099150274948673213316579156700076969580900907602350154523981309209710486128642722088411740607835315163023473390011046197870879018730844424387988428039760423016034180063384499435322161680344678304582777249724849380873309463573216055260815515012372287542104301189847492901039083797630312503004793639757738287074706982219811277378173177156960818524665869173222919560901399517799293590715873901068648493804581818050877927605376635955244084300758562450021702582737733664582371777129360223437877577631025249516908140736820901955568964808969643011861006338408715095779899218194572023054219354995933460120214584668926709477568008221694980330807021447935960740574668340895151779084131062847332360122345199782964554251772052804284323076419105975621193723481931328107387031654040778570245953513303028787866557873256052440930439361550674500037216230277603674257063578503576984740023608344618835043824365701276362070143693747759236832700232692280149178345770354064797715736639967560626420883868321243092399762021641334422425063626889444274391709406371162814619249059100590915670511975859043375576762172751242837372092597018124891657461109472061411043912321527787147325057613061425068792400816432937170790778935780258795775197543349109109241058277127195910402022756754994646499303702820258484980185727103876926982561104358028341707296663741610855303621362641670267499078673934455202104312026556114511801830285464274228097655883619817205634357798748061311899499182833600292842129082147909849293544052806955058882679758879907063885676232208809298691649891017296400090989074302100919637950689053963100251256663522489117988496890018473659436778812827370969035807598885069265224958031112653833131747543367741830645724971812246455236646182733446672905389775840627017951198909095597757006152593344897792457806629647334409778879392822911276054491096616844120344195492161252142404774622152709068045099987769033193507374452247422818328118113045731948323614312653020263223135123 55667682616169346119381902336721936699839007009092992985247252543872262044237504688676896803242696763653895825362527844188404305262393347461458098039103450081014076522827991930161466532542111992963117495272493491803690527822557969463220010501342928529415982871889001599450492856005685847579048142803102963747171806501856597229225912868764098971378564675160951097301357706609287850389736861166488937581422354998398937214352537415528454006468357348022756505627324400992013414399545368038784469157211899121270450131698606155463218748801306769073378151906280554852499619093699567149579005041060932475692052315256089671190865011567678447651814706795113904534332034878109269737010237092948844972403107478618891494758832401920779645623038079006763701511238048959006814957402708461557064213079985539398070060443813550283351265681808530808136981508912004190297997149785262642779079461605473846233340468097424954745219358390178836779689268845996621630000313970405849918265495816534744337277867116357428100240908014191243941705227611094905517266527212617947210463380355452133023404018541685926256285897824464943406547518375594457239607059114813974925385095513549889205696740469714453884739453698542829796347757920705220447862688014611996254929658461863814865756650636459848320387254277913304301060967741772647688787162210207544836105842599857883013255762037538994353551308878801564164071381215988703027981411223111917781955531847169770734568349408454685179432400678533313348518652525398703658022335580346567392518059252759571504366594435423805011863502198308311070426864419333871202735034395936946291587624733836717844509961728736331840452882701660853289390575362097853159610946965663096471008827129199050104936270359596601679176641756995008064844110274206554034825997828796812809771009496293209696106915784066394213565181020470318112165748336323972068896657303975752901998825006776375109001137950691841520406114204968924645566262349882974987878770830788412159253193892688805089553643280270461548577333079997725007807531862013735664929727997782395792640165688288885108726398007219739189827465269981563223717683625468747385659944970008231760439151868241635682807076984256038895886360587138999788925979920702813505538359709248689532584255381362556837761473314009009517270873882266218888079979971565754968196880726957976519920193813981474119935704867058598446463811739224705260436884141818290041463958678774210808969504188887080547842926320457623789668254891332278412002161648767176469089464945538950717815631755081952532917785802179882142543148854236417453565931025602030583493541048029310164679471242316324 90072202547903668790249252646279146012313274719793745531846926238356132709053102871722794204958545425198675434954134212021753562106025485828436381913336578744801227390599204849828527371767011938902581464194785132163713118627586566853303915152995931642541527774034401158573530758459725901861228918099029257801547184233584944307662954765397022652564646063851739303445013463157200820581258732874900445132561191652969232044840564503948091890184291107633839712861226759627097371766506677963125250493421086425478624450270132379693050160508256143547955808055043576580018023572340718462727166382014914765941074647911638772219775380044150291229159019894264179483005248194688426437087206673849752574753262002600200704469318530563501734034778686842078864534711438970053012828281727192401488601068413579158493076477993613667850701003970211152815286091689253915147378023094726215995134722420988858605628010201726144592712259429262634410001771850790261387738601045112832138076773194707921494238685641023297273463827575092643459504521201810779418335175706422529028514258283057509659359262625986684818735919527047681140212100747371586599830496992391605950634612421690626026598696038679262854382465559549168205062853700604438642434711068831351250863118582078399534683360114027856542082234608720325748996928482347316029682313989291675898953174959980228213038726591790766406355593201877983270047002409712184959309518610143571822734102093123284037597137275012558435484841608972674899193152562614933935626009837410145896095043992783179848985429479248170713139864268452004818186101252034103895015183574282716645652422449573357812070588149620200161695975101422874930724997787161480049055221357372502842171641748448109205527186030108577538220017333757180816086947646299151052950889486257922281832420540205531223894063109124007274990249812871134545102919127102907849155453079173296251107934247834652236197048352714598275400760704272627465824747330068702091755697813349516517281535599985468831164498583891824190247600579076398942262733966325762221044239799612681256914393785944768728543603641577537937888777169480746057317976467597829533569794263552284567394210750921394562714140869932271104695659278788890806222380011691887807639279347199378586547355632619220360250591302505899535744533319045031715450949007373353853266145951916007632574026945729017487677535512783570258710266975870887993883557047208065882090976629973119904567261195039673892740718778264253437002664670211671234913437703258273085933585289734442879067774159856574685626853847279869911576342361610869700988749353720143629225489371643622817699734465451447 145739885164073014909631154983001082712152281728886738517094178782228394753290607560399691008201242188852571260316662056210157867368418833289894479952440028825815303913427196779989993904309123931865698959467278623967403646450144536316523925654338860171957510645923402758024023614465411749440277060902132221548718990735441541536888867634161121623943210739012690400746371169766488670970995594041389382713983546651368169259193101919476545896652648455656596218488551160619110786166052046001909719650632985546749074581968738535156268909309562912621333959961324131432517642666040285612306171423075847241633126963167728443410640391611828738880973726689378084017337283072797696174097443766798597547156369481219092199228150932484281379657816765848842566045949487929059827785684435653958552814148399118556563136921807163951201966685778741960952267600601258105445375172879988858774214184026462704838968478299151099337931617819441471189691040696786883017738915015518682056342269011242665831516552757380725373704735589283887401209748812905684935601702919040476238977638638509642682763281167672611075021817351512624546759619122966043839437556107205580876019707935240515232295436508393716739121919258091998001410611621309659090297399083443347505792777043942214400440010750487704862469488886633630050057896224119963718469476199499220735059017559838111226294488629329760759906902080679547434118383625700887987290929833255489604689633940293054772165486683467243614917242287505988247711805088013637593648345417756713288613103245542751353352023914671975725003366466760315888612965671367975097750217970219662937240047183410075656580549878356532002148857803083728220115573149259333208666168323035599313180468877647159310463456389705179217396659090752188880931057920505705087776887315054735091603430036498740920000978893190401488555430833341452657268667463426879918052110383149049153106759254611027345198186303406439795806874909241552111391009679951677079634468644137928676534729492674273920718141864162285738824933659074123950070265828339497885973967797395077049554559474233653837270001648797277127716242439462309281035660093066576919229739233560516327833362619163030245521217854188310000582019865927890595148359932394701313177639056448068119131611013981777198012064616514909053015407201311250603530928978939108821463026678873984152494220759710491607613240379842168705174078715095593254320441189026355923554935308747330713536765383926754440583645098721877226670919561543949646915599352025449555023050235273393596883405914938527218544639649459752054119491215847287154554680379322174212719030419672932982379205707767771 235812087711976683699880407629280228724465556448680484048941105020584527462343710432122485213159787614051246695270796268231911429474444319118330861865776607570616531304026401629818521276076135870768280423662063756131116765077731103169827840807334791814499038419957803916597554372925137651301505979001161479350266174969026485844551822399558144276507856802864429704191384632923689491552254326916289827846544738304337401304033666423424637786836939563290435931349777920246208157932558723965034970144054071972227699032238870914849319069817819056169289768016367708012535666238381004075033337805090762007574201611079367215630415771655979030110132746583642263500342531267486122611184650440648350121909631483819292903697469463047783113692595452690921430580660926899112840613966162846360041415216812697715056213399800777619052667689748953113767553692290512020592753195974715074769348906447451563444596488500877243930643877248704105599692812547577144405477516060631514194419042205950587325755238398404022647168563164376530860714270014716464353936878625463005267491896921567152342122543793659295893757736878560305686971719870337630439268053099597186826654320356931141258894132547072979593504384817641166206473465321914097732732110152274698756655895626020613935123370864515561404551723495353955799054824706467279748151790188790896634012192519818339439333215221120527166262495282557530704165386035413072946600448443399061427423736033416338809762623958479802050402083896478663146904957650628571529274355255166859184708147238325931202337453393920146438143230735212320706799066923402078992765401544502379582892469632983433468651138027976732163844832904506603150840570936420813257721389680408102155352110626095268515990642419813756755616676424509369697018005566804856140727776801312657373435850576704272143895042002314408763545680646212587202371586590529787767207563462322345404214693502445679581395234656121038071207635613514179577215757010020379171390166457487445193816265092659742751882640448054109929072534238150522892332999794665260107018207597007758306468953260178422565813605290374815065605019608943055338353636560664406452799533497112800895227573370084424808235358724120581105277679144716781401370739944086589120816918403647446705678966646600997558262655919020808588759940520356282318981877986312462674729172630789991785068247705439509095290775892625738963884345690966481248203998236234421805645911938720450618104026578966428333324363876986130663673584231755620881829037055283722640956635525007836475951180074795101904171493496739621965695833577458156855543429733042317841944519791316555800078940173219218 381551972876049698609511562612281311436617838177567222566035283802812922215634317992522176221361029802903817955587458324442069296842863152408225341818216636396431835217453598409808515180385259802633979383129342380098520411527875639486351766461673651986456549065881206674621577987390549400741783039903293700898985165704468027381440690033719265900451067541877120104937755802690178162523249920957679210560528284955705570563226768342901183683489588018947032149838329080865318944098610769966944689794687057518976773614207609450005587979127381968790623727977691839445053308904421289687339509228166609249207328574247095659041056163267807768991106473273020347517679814340283818785282094207446947669066000965038385102925620395532064493350412218539763996626610414828172668399650598500318594229365211816271619350321607941570254634375527695074719821292891770126038128368854703933543563090473914268283564966800028343268575495068145576789383853244364027423216431076150196250761311217193253157271791155784748020873298753660418261924018827622149289538581544503481506469535560076795024885824961331906968779554230072930233731338993303674278705609206802767702674028292171656491189569055466696332626304075733164207884076943223756823029509235718046262448672669962828335563381615003266267021212381987585849112720930587243466621266388290117369071210079656450665627703850450287926169397363237078138283769661113960933891378276654551032113369973709393581928110641947045665319326183984651394616762738642209122922700672923572473321250483868682555689477308592122163146597201972636595412032594770054090515619514722042520132516816393509125231687906333264165993690707590331370956144085680146466387558003443701468532579503742427826454098809518935973013335515261558577949063487310561228504664116367392465039280613203013063896020895504810252101111479554039859640254053956667685259673845471394557321452757056706926593420959527477867014510522755731688606766689972056251024635101625373870350994585334016672600782312216395667897467897224646842403265623004757992992175394402835356023512734412076403083606939172092193321262048405364619389296653730983372029272730673317223060935989247455053756576578308891105859699010644671996519099876481290433994557460095514824810577660582774756274720535535717641775347721667532922512806965251571496192199309663975937562468465150000702904016272467907669058424406062074502524439425260777729200847247467781331640791962893182773908008975708007890344503793299570528744636407309172195979685760281230072834585989733629122716133146199374019815324793305444010098110112364492054663550210989488782458145880986989 617364060588026382309391970241561540161083394626247706614976388823397449677978028424644661434520817416955064650858254592673980726317307471526556203683993243967048366521480000039627036456461395673402259806791406136229637176605606742656179607269008443800955587485839010591219132360315687052043289018904455180249251340673494513225992512433277410176958924344741549809129140435613867654075504247873969038407073023260042971867260434766325821470326527582237468081188107001111527102031169493931979659938741129491204472646446480364854907048945201024959913495994059547457588975142802293762372847033257371256781530185326462874671471934923786799101239219856662611018022345607769941396466744648095297790975632448857678006623089858579847607043007671230685427207271341727285509013616761346678635644582024513986675563721408719189307302065276648188487374985182282146630881564829419008312911996921365831728161455300905587199219372316849682389076665791941171828693947136781710445180353423143840483027029554188770668041861918036949122638288842338613643475460169966486773961432481643947367008368754991202862537291108633235920703058863641304717973662306399954529328348649102797750083701602539675926130688893374330414357542265137854555761619387992745019104568295983442270686752479518827671572935877341541648167545637054523214773056577081014003083402599474790104960919071570815092431892645794608842449155696527033880491826720053612459537106007125732391690734600426847715721410080463314541521720389270780652197055928090431658029397722194613758026930702512268601289827937184957302211099518172133083281021059224422103024986449376942593882825934309996329838523612096934521796715022100959724108947683851803623884690129837696342444741229332692728630011939770928274967069054115417369232440917680049838475131189907285207791062897819219015646792125766627062011840644486455452467237307793739961536146259502386507988655615648515938222146136269911265822523699992435422414801559112819064167259677993759424483422760270505596970002135375169734736265417670018100010382991410593662492465994590498968897212229546907258926281657348419957742933214395389824828806227786118118288509359331879861991935302429472211137378155361453397889839820567879554811475863742961530489544307183772314537376454556526230535288242023815241494684951564034170921371940453967722630716170589509798194792165093646632942770097028555750728437661495199534846759186188231949744818541859611107232372852694138554018088025055191410573673462592894836936321285289066548785766064528731026887626642938995985511158370763600865641539845406809896608070002306044582537086054206207 998916033464076080918903532853842851597701232803814929181011672626210371893612346417166837655881847219858882606445712917116050023160170623934781545502209880363480201738933598449435551636846655476036239189920748516328157588133482382142531373730682095787412136551720217265840710347706236452785072058807748881148236506377962540607433202466996676077409991886618669914066896238304045816598754168831648248967601308215748542430487203109227005153816115601184500231026436081976846046129780263898924349733428187010181246260654089814860495028072582993750537223971751386902642284047223583449712356261423980505988858759573558533712528098191594568092345693129682958535702159948053760181748838855542245460041633413896063109548710254111912100393419889770449423833881756555458177413267359846997229873947236330258294914043016660759561936440804343263207196278074052272669009933684122941856475087395280100011726422100933930467794867384995259178460519036305199251910378212931906695941664640337093640298820709973518688915160671697367384562307669960762933014041714469968280430968041720742391894193716323109831316845338706166154434397856944978996679271513202722232002376941274454241273270658006372258756992969107494622241619208361611378791128623710791281553240965946270606250134094522093938594148259329127497280266567641766681394322965371131372154612679131240770588622922021103018601290009031686980732925357640994814383204996708163491650475980835125973618845242373893381040736264447965936138483127912989775119756601014004131350648206063296313716408011104390764436425139157593897623132112942187173796640573946464623157503265770451719114513840643260495832214319687265892752859107781106190496505687295505092417269633580124168898840038851628701643347455032486852916132541425978597737105034047442303514411803110298271687083793324029267747903605320666921652094698443123137726911153265134518857599016559093434582076575175993805236656659025642954429290389964491673439436660738192934518254263327776097084205072486901264867470032599816577139531040674776093002558385813429018515978729002575371980819168718999452247543705753784577132229868126373196858078958459435341349445348579334915748511880738363316997077166006125394408939697049169988806033323838476355300121967766547070812096990092243872310635963691348164007491916815605667113571250117943660193184635739510501098808437561554302001194503090630253252877086755977264047606433656013281385610504752793881140381828402146444362591818354761939318309869902067032916007045570296621620352054262360149603759789138370005326483164069044875739649957771301951271620213295533364995231935193196 1616280094052102463228295503095404391758784627430062635795988061449607821571590374841811499090402664636813947257303967509790030749477478095461337749186203124330528568260413598489062588093308051149438498996712154652557794764739089124798710980999690539588367724037559227857059842708021923504828361077712204061397487847051457053833425714900274086254368916231360219723196036673917913470674258416705617287374674331475791514297747637875552826624142643183421968312214543083088373148160949757830904009672169316501385718907100570179715402077017784018710450719965810934360231259190025877212085203294681351762770388944900021408384000033115381367193584912986345569553724505555823701578215583503637543251017265862753741116171800112691759707436427561001134851041153098282743686426884121193675865518529260844244970477764425379948869238506080991451694571263256334419299891498513541950169387084316645931739887877401839517667014239701844941567537184828246371080604325349713617141122018063480934123325850264162289356957022589734316507200596512299376576489501884436455054392400523364689758902562471314312693854136447339402075137456720586283714652933819602676761330725590377251991356972260546048184887681862481825036599161473499465934552748011703536300657809261929712876936886574040921610167084136670669145447812204696289896167379542452145375238015278606030875549541993591918111033182654826295823182081054168028694875031716761775951187581987960858365309579842800741096762146344911280477660203517183770427316812529104435789380045928257910071743338713616659365726253076342551199834231631114320257077661633170886726182489715147394312997339774953256825670737931784200414549574129882065914605453371147308716301959763417820511343581268184321430273359394803415127883201595541395966969545951727492141989542993017583479478146691143248283394695731087293983663935342929578590194148461058874480393745276061479942570732190824509743458802795295554220251814089956927095854238219851011998685513941321535521567627832757406861837472167974986311875796458344794193012941377224022681008444723593074340878031398265906711173825363102204534875163082521763021686885186245553459637954707911214777740447183167835528134455321367578792298779517617049543617509187581437885789666274950319385349473444648770102845924205715163405502176868379639838034943190571911382823900806329020299293600602655200934943964600119186003981314748251176798894365619844245231130429046612404988372754681096284998380679843409953349891983332494961869852328330859363170406118118791091176491386432077365990837641534832645741381189803178111847879690215601577947532317989399403 2615196127516178544147199035949247243356485860233877564976999734075818193465202721258978336746284511856672829863749680426906080772637648719396119294688413004694008769999347196938498139730154706625474738186632903168885952352872571506941242354730372635375779860589279445122900553055728159957613433136519952942545724353429419594440858917367270762331778908117978889637262932912221959287273012585537265536342275639691540056728234840984779831777958758784606468543240979165065219194290730021729828359405597503511566965167754659994575897105090367012460987943937562321262873543237249460661797559556105332268759247704473579942096528131306975935285930606116028528089426665503877461759964422359179788711058899276649804225720510366803671807829847450771584274875034854838201863840151481040673095392476497174503265391807442040708431174946885334714901767541330386691968901432197664892025862171711926031751614299502773448134809107086840200745997703864551570332514703562645523837063682703818027763624670974135808045872183261431683891762904182260139509503543598906423334823368565085432150796756187637422525170981786045568229571854577531262711332205332805398993333102531651706232630242918552420443644674831589319658840780681861077313343876635414327582211050227875983483187020668563015548761232395999796642728078772338056577561702507823276747392627957737271646138164915613021129634472663857982803915006411809023509258236713469939442838057968795984338928425085174634477802882609359246413798686645096760202436569130118439920730694134321206385459746724721050130162678215500145097457363744056507430874302207117351349339992980917846032111853615596517321502952251471466307302433237663172105101959058442813808719229396997944680242421307035950131916706849835901980799334136967374564706650985774934445503954796127881751165230484467277551142599336407960905316030041372701727921059614324008999251344292620573377152808766000503548695459454321197174681104479921418769293674880589204933203768204649311618651832905244308126704942200574802889015327499019570286015499763037451699524423452595649712858850566984906163421369068855989112007392950648136218544964144704988800987400056490549693488959063906198845131532487373704186707719214666219532423542511419914241089788242716866456161570434741013975156560169406511569509668785195245505148514440689855043017085442068530800392409040216755236945159103209816257234191835007154062941972053500258512516039551365198869513136509498431442743271661764715289210293202397028902768335376429659792026470173053451326095146221215735996164124698901690617120839760949413799151310428897111312527549924592599 4231476221568281007375494539044651635115270487663940200772987795525426015036793096100789835836687176493486777121053647936696111522115126814857457043874616129024537338259760795427560727823462757774913237183345057821443747117611660631739953335730063174964147584626838672979960395763750083462441794214232157003943212200480876648274284632267544848586147824349339109360458969586139872757947271002242882823716949971167331571025982478860332658402101401968028436855455522248153592342451679779560732369077766820012952684074855230174291299182108151031171438663903373255623104802427275337873882762850786684031529636649373601350480528164422357302479515519102374097643151171059701163338180005862817331962076165139403545341892310479495431515266275011772719125916187953120945550267035602234348960911005758018748235869571867420657300413452966326166596338804586721111268792930711206842195249256028571963491502176904612965801823346788685142313534888692797941413119028912359140978185700767298961886950521238298097402829205851166000398963500694559516085993045483342878389215769088450121909699318658951735219025118233384970304709311298117546425985139152408075754663828122028958223987215179098468628532356694071144695439942155360543247896624647117863882868859489805696360123907242603937158928316532670465788175890977034346473729082050275422122630643236343302521687706909204939240667655318684278627097087465977052204133268430231715394025639956756842704238004927975375574565028954270526891458890162280530629753381659222875710110740062579116457203085438337709495888931291842696297291595375170827687951963840288238075522482696065240345109193390549774147173690183255666721852007367545238019707412429590122525021189160415765191586002575220271562190066244639317108682535732508770531676196937502426587493497789145465230643377175610525834537295067495254888979965384302280318115208075382883479645089568682053319723540956825013292154262249616751394932918569878345865147913100440216931889282145970847140219460738001714988542414368549789200891123957364364479028441140261474380532868176188724053736881965250812874595194431958193646882556033169899240231849330950542260625354764401764471229406247074034373265987808741282979006498732283269076041051699001352126879454517667185841511043879389784078002484375121674975011845653574885343183457631261766425840986248397551099686009642871956171889123703329002261215506583258330861836337673344503743646468597977603857885891190594716441123951505174668639102276534891990772620663707289022962432588291844542502586532653293101987001766233734336358502029564127525647031000644498689260059867913992002 6846672349084459551522693574993898878471756347897817765749987529601244208501995817359768172582971688350159606984803328363602192294752775534253576338563029133718546108259107992366058867553617464400387975369977960990329699470484232138681195690460435810339927445216118118102860948819478243420055227350752109946488936553910296242715143549634815610917926732467317998997721902498361832045220283587780148360059225610858871627754217319845112490180060160752634905398696501413218811536742409801290560728483364323524519649242609890168867196287198518043632426607840935576885978345664524798535680322406892016300288884353847181292577056295729333237765446125218402625732577836563578625098144428221997120673135064416053349567612820846299103323096122462544303400791222807959147414107187083275022056303482255193251501261379309461365731588399851660881498106345917107803237694362908871734221111427740497995243116476407386413936632453875525343059532592557349511745633732475004664815249383471116989650575192212433905448701389112597684290726404876819655595496589082249301724039137653535554060496074846589157744196100019430538534281165875648809137317344485213474747996930653680664456617458097650889072177031525660464354280722837221620561240501282532191465079909717681679843310927911166952707689548928670262430903969749372403051290784558098698870023271194080574167825871824817960370302127982542261431012093877786075713391505143701654836863697925552827043166430013150010052367911563629773305257576807377290832189950789341315630841434196900322842662832163058759626051609507342841394748959119227335118826266047405589424862475676983086377221047006146291468676642434727133029154440605208410124809371488032936333740418557413709871828423882256221694106773094475219089481869869476145096382847923277361032997452585273346981808607660077803385679894403903215794295995425674982046036267689706892478896433861302626696876349722825516840849721703937948569614023049799764634441587981029421865093050350620158758871293643246023115247356569124592089906451456383934765043940903298926080057291628784373766595732532235719038016563500814182758889948983818035458776813475655531061612754820892314164718365310980233218397520296114987165714217946949488608464594210421266367969242760384052297672614314130798053159044544528186544521514438770130848331972071951621468858071690466081900078418683088711408834282806538818518449698418265484924778309726844762256162508149342802727399027700093147883867223166939383928312569737289019675388999083718682754459058464897993828681678874508837983165890932636026975622869325076939446182311073395800572587417838584601 11078148570652740558898188114038550513587026835561757966522975325126670223538788913460558008419658864843646384105856976300298303816867902349111033382437645262743083446518868787793619595377080222175301212553323018811773446588095892770421149026190498985304075029842956791082821344583228326882497021564984266950432148754391172890989428181902360459504074556816657108358180872084501704803167554590023031183776175582026203198780199798705445148582161562720663342254152023661372403879194089580851293097561131143537472333317465120343158495469306669074803865271744308832509083148091800136409563085257678700331818521003220782643057584460151690540244961644320776723375729007623279788436324434084814452635211229555456894909505131325794534838362397474317022526707410761080092964374222685509371017214488013211999737130951176882023032001852817987048094445150503828914506487293620078576416360683769069958734618653311999379738455800664210485373067481250147453158752761387363805793435084238415951537525713450732002851530594963763684689689905571379171681489634565592180113254906741985675970195393505540892963221218252815508838990477173766355563302483637621550502660758775709622680604673276749357700709388219731609049720664992582163809137125929650055347948769207487376203434835153770889866617865461340728219079860726406749525019866608374120992653914430423876689513578734022899610969783301226540058109181343763127917524773573933370230889337882309669747404434941125385626932940517900300196716466969657821461943332448564191340952174259479439299865917601396469121940540799185537692040554494398162806778229887693827500384958373048326722330240396696065615850332617982799751006447972753648144516783917623058858761607717829475063414426457476493256296839339114536198164405601984915628059044860779787620490950374418812212451984835688329220217189471398470683275960809977262364151475765089775958541523429984680016599890679650530133003983953554699964546941619678110499589501081469638796982332496591005899090754381247738103789770937674381290797575413748299244072382043560400460590159804973097820332614497486531912611757932772376405772505016987934699008662806606073322238109585294078635947771558054267591663508104856270144720716679232757684505645909422618494848697278051238139183658193520582131161528919649861519533360092345016191515429703213387894699057938863632999764428325960667580723406509867820779665205001523815786614647400189265999808976747320406585284918890687864324991174672114052567414846272181010448009662791007705716891646756742536331268211527801939970167657166370363334124898889204465093213311717894489832647285752576603 17924820919737200110420881689032449392058783183459575732272962854727914432040784730820326181002630553193805991090660304663900496111620677883364609721000674396461629554777976780159678462930697686575689187923300979802103146058580124909102344716650934795644002475059074909185682293402706570302552248915736376896921085308301469133704571731537176070422001289283975107355902774582863536848387838177803179543835401192885074826534417118550557638762221723473298247652848525074591215415936499382141853826044495467061991982560075010512025691756505187118436291879585244409395061493756324934945243407664570716632107405357067963935634640755881023778010407769539179349108306844186858413534468862306811573308346293971510244477117952172093638161458519936861325927498633569039240378481409768784393073517970268405251238392330486343388763590252669647929592551496420936717744181656528950310637472111509567953977735129719385793675088254539735828432600073807496964904386493862368470608684467709532941188100905663165908300231984076361368980416310448198827276986223647841481837294044395521230030691468352130050707417318272246047373271643049415164700619828122835025250657689429390287137222131374400246772886419745392073404001387829803784370377627212182246813028678925169056046745763064937842574307414390010990649983830475779152576310651166472819862677185624504450857339450558840859981271911283768801489121275221549203630916278717635025067753035807862496790570864954275395679300852081530073501974043777035112294133283237905506971793608456379762142528749764455228747992150306528379086789513613625497925604495935099416925247434050031413099551287402842357084526975052709932780160888577962058269326155405655995192502026275243184935242850339732714950403612433589755287646275471461060724441892784057148653488402959692159194260592495766132605897083875301686477571956235652244410187743454796668437437957291287306713476240402476046973853705657492648534160964669477875134031089062499060662075382847211164657962048024493761219037127506798973380704026870132234009116322946859326540647451433757471586928347029722250950628321433586559164662454000805970157785476282261604383850864406186392800666136869034500810061028400971257310434934626182246292970240119843884862817940038435290436856272507651380184320573464178048064054874531115147039847401775165009363557129629329714899842847009049378989557689316406639298114903419789300711392957127034028255971484896663209312683946590781012208858397839053436495727416009470030123398661874726388471350705221640530159949890402310777953333548099006390309747768214281404539395622791290290405234703591161204 29002969490389940669319069803070999905645810019021333698795938179854584655579573644280884189422289418037452375196517280964198799928488580232475643103438319659204713001296845567953298058307777908750990400476623998613876592646676017679523493742841433780948077504902031700268503637985934897185049270480720643847353234062692642024693999913439536529926075846100632215714083646667365241651555392767826210727611576774911278025314616917256002787344383286193961589907000548735963619295130588962993146923605626610599464315877540130855184187225811856193240157151329553241904144641848125071354806492922249416963925926360288746578692225216032714318255369413859956072484035851810138201970793296391626025943557523526967139386623083497888172999820917411178348454206044330119333342855632454293764090732458281617250975523281663225411795592105487634977686996646924765632250668950149028887053832795278637912712353783031385173413544055203946313805667555057644418063139255249732276402119551947948892725626619113897911151762579040125053670106216019577998958475858213433661950548951137506906000886861857670943670638536525061556212262120223181520263922311760456575753318448205099909817826804651149604473595807965123682453722052822385948179514753141832302160977448132656432250180598218708732440925279851351718869063691202185902101330517774846940855331100054928327546853029292863759592241694584995341547230456565312331548441052291568395298642373690172166537975299895400781306233792599430373698690510746692933756076615686469698312745782715859201442394667365851697869932691105713916778830068108023660732382725822793244425632392423079739821881527799538422700377307670692732531167336550715706413842939323279054051263633993072659998657276797209208206700451772704291485810681073445976352500937644836936273979353334110971406712577331454461826114273346700157160847917045629506774339219219886444395979480721271986730076131082126577106857689611047348498707906289155985633620590143968699459057715343802170557052802405741499322826898444473354671501602283880533253188704990419727001237611238730569407260961527208782863240079366358935570434959017793904856794139088867677706088973991480471436613908427088768401724536505827527455155651305415003977475886029266503357666637316486528576039930701171962315482102383827909583588234623460163231362831478378397258256187568193347899607275335010046570281095826274460077780108421313116498007604527223294255780461643983615897968865481468876533849572511167489063142262281651040571408324665734094188242351978383066491218101930112717923501205265376753643872667103485869632608934509184780237881989343737807 46927790410127140779739951492103449297704593202480909431068901034582499087620358375101210370424919971231258366287177585628099296040109258115840252824438994055666342556074822348112976521238475595326679588399924978415979738705256142588625838459492368576592079979961106609454185931388641467487601519396457020744274319370994111158398571644976712600348077135384607323069986421250228778499943230945629390271446977967796352851849034035806560426106605009667259837559849073810554834711067088345135000749650122077661456298437615141367209878982317043311676449030914797651299206135604450006300049900586820133596033331717356710514326865971913738096265777183399135421592342695996996615505262158698437599251903817498477383863741035669981811161279437348039674381704677899158573721337042223078157164250428550022502213915612149568800559182358157282907279548143345702349994850606677979197691304906788205866690088912750770967088632309743682142238267628865141382967525749112100747010804019657481833913727524777063819451994563116486422650522526467776826235462081861275143787842995533028136031578330209800994378055854797307603585533763272596684964542139883291601003976137634490196955048936025549851246482227710515755857723440652189732549892380354014548974006127057825488296926361283646575015232694241362709519047521677965054677641168941319760718008285679432778404192479851704619573513605868764143036351731786861535179357331009203420366395409498034663328546164849676176985534644680960447200664554523728046050209898924375205284539391172238963584923417130306926617924841412242295865619581721649158657987221757892661350879826473111152921432815202380779784904282723402665311328225128677764683169094728935049243765660268315844933900127136941923157104064206294046773456956544907037076942830428894084927467756293803130600973169827220594432011357222001843638419873281281751184526962674683112833417438012559293443552371484602624080711395268539997032868870958633860767651679206467760121133098191013335215014850430235260541864025951272328052205629154012767262305027937279053541885062672488040994189308556931033813868400799945494735097413018599875014579615371129282089939838397666864237280045296123269211785564906798784765590585931597250270446126149110388220484577354921819012896203208823342499802675848005957647643109154575310271210233253543406621813317197523062799450122344059425559838785142681099375895011841102417209400561654257322511751946540646825210652812072249888742707970350220925558869678291121070694806986540460482659593057200023596651167992332423495876834753364383143953620435317767274172004557300475070643116692934899011 75930759900517081449059021295174449203350403221502243129864839214437083743199932019382094559847209389268710741483694866592298095968597838348315895927877313714871055557371667916066274579546253504077669988876548977029856331351932160268149332202333802357540157484863138309722689569374576364672650789877177664591627553433686753183092571558416249130274152981485239538784070067917594020151498623713455600999058554742707630877163650953062563213450988295861221427466849622546518454006197677308128147673255748688260920614315155272222394066208128899504916606182244350893203350777452575077654856393509069550559959258077645457093019091187946452414521146597259091494076378547807134817476055455090063625195461341025444523250364119167869984161100354759218022835910722229277907064192674677371921254982886831639753189438893812794212354774463644917884966544790270467982245519556827008084745137702066843779402442695782156140502176364947628456043935183922785801030665004361833023412923571605430726639354143890961730603757142156611476320628742487354825193937940074708805738391946670535042032465192067471938048694391322369159797795883495778205228464451643748176757294585839590106772875740676699455720078035675639438311445493474575680729407133495846851134983575190481920547106959502355307456157974092714428388111212880150956778971686716166701573339385734361105951045509144568379165755300453759484583582188352173866727798383300771815665037783188206829866521464745076958291768437280390820899355065270420979806286514610844903597285173888098165027318084496158624487857532517956212644449649829672819390369947580685905776512218896190892743314343001919202485281590394095397842495561679393471097012034052214103295029294261388504932557403934151131363804515978998338259267637618353013429443768073731021201447109627914102007685747158675056258125630568702000799267790326911257958866181894569557229396918733831280173628502566729201187569084879587345531576777247789846401272269350436459580190813534815505772067652835976759864690924395745682723707231437893300515493732927698780543122673911218610401450270084139816677108480166304430305532372036393779871373754459996959796028812389147335673893953723212037613510101412626312220746237237012254247922012178376891578151214671408347588936133909995304815284778231833867231231343778035473502573064731921803880069504765716410699057397679069472130119880968955559453675120262415533707408166181480616767532408184630441108621677553718765276557542861388414622011940572772111266215311206194576847835409178406663142386094262536213800335958629759897597493102421253143804613491809659850880998682278636818 122858550310644222228798972787277898501054996423983152560933740249019582830820290394483304930272129360499969107770872452220397392008707096464156148752316307770537398113446490264179251100784729099404349577276473955445836070057188302856775170661826170934132237464824244919176875500763217832160252309273634685335901872804680864341491143203392961730622230116869846861854056489167822798651441854659084991270505532710503983729012684988869123639557593305528481265026698696357073288717264765653263148422905870765922376912752770413589603945190445942816593055213159148544502556913057025083954906294095889684155992589795002167607345957159860190510786923780658226915668721243804131432981317613788501224447365158523921907114105154837851795322379792107257697217615400128436480785529716900450078419233315381662255403354505962363012913956821802200792246092933616170332240370163504987282436442608855049646092531608532927107590808674691310598282202812787927183998190753473933770423727591262912560553081668668025550055751705273097898971151268955131651429400021935983949526234942203563178064043522277272932426750246119676763383329646768374890193006591527039777761270723474080303727924676702249306966560263386155194169168934126765413279299513849861400108989702248307408844033320786001882471390668334077137907158734558116011456612855657486462291347671413793884355237988996272998739268906322523627619933920139035401907155714309975236031433192686241493195067629594753135277303081961351268100019619794149025856496413535220108881824565060337128612241501626465551105782373930198508510069231551321978048357169338578567127392045369302045664747158204299982270185873117498063153823786808071235780181128781149152538794954529704349866457531071093054520908580185292385032724594163260050506386598502625106128914865921717232608658916985895650690136987790703844437687663608193009143393144569252670062814356746390573617180874051331825268280480148127342564445648206423707168923948556904219701323911725828840987082503266212020406554950347018010775912860591906067777798760864977834085007736583706651395639578641070850490976880966249925040629785054993654885953369831126241885968650786814199911173999019335306825295666319425096986336823168609504518368138327487279798635792026330166601832337118818647315087454079839824878874452932610783773783297985465210501882821963239473498507520023128897689958666111636658829570132103517950916808727835737939279284354725277266319274489625968654019265513211609340180881618863893181961022297746655059507428466378430259793554086594959709677170711994143041551113537739020417976618049110134921524115375213535829 198789310211161303677857994082452347704405399645485395690798579463456666574020222413865399490119338749768679849254567318812695487977304934812472044680193621485408453670818158180245525680330982603482019566153022932475692401409120463124924502864159973291672394949687383228899565070137794196832903099150812349927529426238367617524583714761809210860896383098355086400638126557085416818802940478372540592269564087453211614606176335941931686853008581601389702692493548318903591742723462442961391296096161619454183297527067925685811998011398574842321509661395403499437705907690509600161609762687604959234715951847872647624700365048347806642925308070377917318409745099791611266250457373068878564849642826499549366430364469274005721779483480146866475720053526122357714387849722391577821999674216202213302008592793399775157225268731285447118677212637723886638314485889720331995367181580310921893425494974304315083248092985039638939054326137996710712985028855757835766793836651162868343287192435812558987280659508847429709375291780011442486476623337962010692755264626888874098220096508714344744870475444637442045923181125530264153095421471043170787954518565309313670410500800417378948762686638299061794632480614427601341094008706647345708251243973277438789329391140280288357189927548642426791566295269947438266968235584542373653163864687057148154990306283498140841377905024206776283112203516108491209268634954097610747051696470975874448323061589094339830093569071519241742088999374685064570005662782928146065012479109738948435293639559586122624175593639906448154721154518881380994797438727116919264472903904264265492938408061501206219184755467463511593460996319348487464706877193162833363255833824248791092854799014935005244185884713096164290723291992231781613063935830366576356127330361975549631334616344664144570706948262618359405845236955453935104267102259326463822227292211275480221853790809376618061026455849565027714688096022425454213553570196217907340679281514725260644346759150156102188780271245874742763693499620092029799368293292493792676614628130410494925261797089848725210667168085361132554355346162157091387434757327124291123201681997463175961535585067952742547344438805767732051409207083060405621758766290150505864171376787006697738514190768471028813952130372232311673692110105796710646257276356362717387014381952326728955884197564917702198369820078547080592218283245252365933484624216894017218556046816762909907707427896167179687419295823056072997754802893559436665293227237608952849636355263875556836922935940180857495923477506670623902939148606640160273561781231540919794772405114057492172647 321647860521805525906656966869730246205460396069468548251732319712476249404840512808348704420391468110268648957025439771033092879986012031276628193432509929255945851784264648444424776781115711702886369143429496887921528471466308765981699673525986144225804632414511628148076440570901012028993155408424447035263431299043048481866074857965202172591518613215224933262492183046253239617454382333031625583540069620163715598335189020930800810492566174906918183957520247015260665031440727208614654444519067490220105674439820696099401601956589020785138102716608562647982208464603566625245564668981700848918871944437667649792307711005507666833436094994158575545325413821035415397683438690682667066074090191658073288337478574428843573574805859938973733417271141522486150868635252108478272078093449517594964263996147905737520238182688107249319469458730657502808646726259883836982649618022919776943071587505912848010355683793714330249652608340809498640169027046511309700564260378754131255847745517481227012830715260552702807274262931280397618128052737983946676704790861831077661398160552236622017802902194883561722686564455177032527985614477634697827732279836032787750714228725094081198069653198562447949826649783361728106507288006161195569651352962979687096738235173601074359072398939310760868704202428681996382979692197398031139626156034728561948874661521487137114376644293113098806739823450028630244670542109811920722287727904168560689816256656723934583228846374601203093357099394304858719031519279341681285121360934304008772422251801087749089726699422280378353229664588112932316775487084286257843040031296309634794984072808659410519167025653336629091524150143135295535942657374291614512408372619203320797204665472466076337240405621676349583108324716825944873114442216965078981233459276841471348567225003581130466357638399606150109689674643117543297276245652471033074897355025632226612427407990250669392851724130045175842030660468073660637260739120166464244898982838636986473187746232659368400800677800825089781704275532952621705436071091254657654448713138147078631913192729427366281517659062242098804280386791942146381089643280494122249443567966113962775735496241951761882651264101434051476506193419883574231263284658288833351451175422798724068680792600808147632599445459686391513516988980249643257041050139660702852224883835148692195357696072437725327267510037213192228877112815384469451435541025621852956495326101117635184973747170656805656073315088569284607094983775178300558475188259906699504695862692341935267182729494267452455633154677382618045980699720177899293979757849590029929693929229432705708476 520437170732966829584514960952182593909865795714953943942530899175932915978860735222214103910510806860037328806280007089845788367963316966089100238112703550741354305455082806624670302461446694306368388709582519820397220872875429229106624176390146117517477027364199011376976005641038806225826058507575259385190960725281416099390658572727011383452414996313580019663130309603338656436257322811404166175809633707616927212941365356872732497345574756508307886650013795334164256774164189651576045740615229109674288971966888621785213599967987595627459612378003966147419914372294076225407174431669305808153587896285540297417008076053855473476361403064536492863735158920827026663933896063751545630923733018157622654767843043702849295354289340085840209137324667644843865256484974500056094077767665719808266272588941305512677463451419392696438146671368381389446961212149604168978016799603230698836497082480217163093603776778753969188706934478806209353154055902269145467358097029916999599134937953293786000111374769400132516649554711291840104604676075945957369460055488719951759618257060950966762673377639521003768609745580707296681081035948677868615686798401342101421124729525511460146832339836861509744459130397789329447601296712808541277902596936257125886067626313881362716262326487953187660270497698629434649947927781940404792790020721785710103864967804985277955754549317319875089852026966137121453939177063909531469339424375144435138139318245818274413322415446120444835446098768989923289037182062269827350133840044042957207715891360673871713902293062186826507950819106994313311572925811403177107512935200573900287922480870160616738351781120800140684985146462483783000649534567454447875664206443452111890059464487401081581426290334772513873831616709057726486178378047331655337360789638817020979901841348245275037064586662224509515534911598571478401543347911797496897124647236907706834281198799627287453878179979610203556718756490499114850814309316384371585578264353362247117534505382815470589580949046699832545397775153044651504804364383748450331063341268557573557174989819276091492184827147603231358635732954099237768524400607618413372645249963577138737271081309904504429995702907201783527915400502943979853022050948439339215622552209805421807194983369279176446551575831918703187209099086046353903298326496023420239239265787475421151241893637355427525637330115760272821095396060636835384920165242515870175051372917880545092681175066823985343492610911625357604849786668737737223768415497515652354332217956217492104105665434448309951556632184053241948919848326818059567541539081130949724466334343490197881123 842085031254772355491171927821912840115326191784422492194263218888409165383701248030562808330902274970305977763305446860878881247949328997365728431545213479997300157239347455069095079242562406009254757853012016708318749344341737995088323849916132261743281659778710639525052446211939818254819213915999706420454392024324464581256733430692213556043933609528804952925622492649591896053711705144435791759349703327780642811276554377803533307838140931415226070607534042349424921805604916860190700185134296599894394646406709317884615201924576616412597715094612528795402122836897642850652739100651006657072459840723207947209315787059363140309797498058695068409060572741862442061617334754434212696997823209815695943105321618131692868929095200024813942554595809167330016125120226608534366155861115237403230536585089211250197701634107499945757616130099038892255607938409488005960666417626150475779568669986130011103959460572468299438359542819615707993323082948780455167922357408671130854982683470775013012942090029952835323923817642572237722732728813929904046164846350551029421016417613187588780476279834404565491296310035884329209066650426312566443419078237374889171838958250605541344901993035423957694285780181151057554108584718969736847553949899236812982805861487482437075334725427263948528974700127311431032927619979338435932416176756514272052739629326472415070131193610432973896591850416165751698609719173721452191627152279312995827955574902542208996551261820721647928803198163294782008068701341611508635255200978346965980138143161761620803628992484467204861180483695107245628348412895689434950552966496883535082906553678820027257518806774136769776509296605619078536592191941746062388072579062655432687264129959867157918666695956448863456939941425883671359292820264296734318594248915658492328469066351826405503422225061830659625224586241689021698819593564268529972022002262539933446708606789877956846729904109655379398749416958572775488075048436550835830477247191999233590722251615474838990381626847524922327102050685997273210240435475003107985512054406704652189088182548703457773702486209845330162916119746041384149614043888112535622088817929691101513006577551856266312646967008635835004421593922827554084285335606728172567073727632604145875875775970087324079151021291605094700726088066295997160339376635684123091464149622624113346599589709793152852904840152973465049972508876021304836355706268137723131546699018998180277654922237480790999565926000194642211944770443916037782243603757422351859028080648559427371288394928715762407189786861435859994900548046995958861521296930720979654160263572922903589599 1362522201987739185075686888774095434025191987499376436136794118064342081362561983252776912241413081830343306569585453950724669615912645963454828669657917030738654462694430261693765381704009100315623146562594536528715970217217167224194948026306278379260758687142909650902028451852978624480645272423574965805645352749605880680647392003419224939496348605842384972588752802252930552489969027955839957935159337035397570024217919734676265805183715687923533957257547837683589178579769106511766745925749525709568683618373597939669828801892564212040057327472616494942822037209191719076059913532320312465226047737008748244626323863113218613786158901123231561272795731662689468725551230818185758327921556227973318597873164661834542164283384540110654151691920476812173881381605201108590460233628780957211496809174030516762875165085526892642195762801467420281702569150559092174938683217229381174616065752466347174197563237351222268627066477298421917346477138851049600635280454438588130454117621424068799013053464799352967840573372353864077827337404889875861415624901839270981180634674674138555543149657473925569259906055616591625890147686374990435059105876638716990592963687776117001491734332872285467438744910578940387001709881431778278125456546835493938868873487801363799791597051915217136189245197825940865682875547761278840725206197478299982156604597131457693025885742927752848986443877382302873152548896237630983660966576654457430966094893148360483409873677266842092764249296932284705297105883403881335985389041022389923187854034522435492517531285546654031369131302802101558939921338707092612058065901697457435370829034548980643995870587894936910461494443068102861537241726509200510263736785506107544577323594447268239500092986291221377330771558134941397845471198311628389655955038554475513308370907700071680540486811724055169140759497840260500100362941476066026869146649499447640280989805589505244300608084089265582955468173449071890338889357752935207416055511545361480708256756998290309579962575894224754872499825839041924715044799858751558316575395675262225746263172367979549265887313357448561521551852700140621918138444495730948994734067893268240250277658861760770742642669915837618532336994425771533937307386555167511782696279842409567683070759339366500525702597123523797887935187152342351063637703131707543330703415410099534497841483347148580378542170268733737871067904936658140221275871510653593306598071936878725370336097304304776343058536911819999816794557112653775006012019254938004213360298604776919475394060363164072358746419045489101943820396373814018429062836011851929378626597916413101470722 2204607233242511540566858816596008274140518179283798928331057336952751246746263231283339720572315356800649284332890900811603550863861974960820557101203130510735954619933777716762860460946571506324877904415606553237034719561558905219283271876222410641004040346921620290427080898064918442735464486339574672226099744773930345261904125434111438495540282215371189925514375294902522448543680733100275749694509040363178212835494474112479799113021856619338760027865081880033014100385374023371957446110883822309463078264780307257554444003817140828452655042567229023738224160046089361926712652632971319122298507577731956191835639650172581754095956399181926629681856304404551910787168565572619971024919379437789014540978486279966235033212479740135468094246516285979503897506725427717124826389489896194614727345759119728013072866719634392587953378931566459173958177088968580180899349634855531650395634422452477185301522697923690568065426020118037625339800221799830055803202811847259261309100304894843812025995554829305803164497189996436315550070133703805765461789748189822010601651092287326144323625937308330134751202365652475955099214336801303001502524954876091879764802646026722542836636325907709425133030690760091444555818466150748014973010496734730751851679349288846236866931777342481084718219897953252296715803167740617276657622374234814254209344226457930108096016936538185822883035727798468624851158615411352435852593728933770426794050468050902692406424939087563740693052495095579487305174584745492844620644242000736889167992177684197113321160278031121236230311786497208804568269751602782047008618868194340970453735588227800671253389394669073680238003739673721940073833918450946572651809364568762977264587724407135397418759682247670240787711499560825069204764018575925123974549287470134005636839974051898086043909036785885828765984084081949521799182535040334556841168651761987573727698412379383201147337988198920962354217590407644665826964406189486043246532758737360714298979008613765148570344202741749677199601876525039197925285235333754666302087450081966877935351354916683007039589799567293891684467972446182006067752488383843484616822885822959341763284236413617037055289636924473453536758588348599088021592722161895684349770007475013713558946535309453824604853618415128892588661275218638348223977079767391666422167565032723647844441073056941733231447010421707202921040413812679445057631577778791316438144770955876905647991019541785567342624462912014642028739327556569812788255623012360356072388379253336346846682455291879834765936205906924961938720944420809977290584132942572909032786861489336005060321 3567129435230250725642545705370103708165710166783175364467851455017093328108825214536116632813728438630992590902476354762328220479774620924275385770861047541474609082628207978456625842650580606640501050978201089765750689778776072443478219902528689020264799034064529941329109349917897067216109758763149638031745097523536225942551517437530663435036630821213574898103128097155453001033649761056115707629668377398575782859712393847156064918205572307262293985122629717716603278965143129883724192036633348019031761883153905197224272805709705040492712370039845518681046197255281081002772566165291631587524555314740704436461963513285800367882115300305158190954652036067241379512719796390805729352840935665762333138851650941800777197495864280246122245938436762791677778888330628825715286623118677151826224154933150244775948031805161285230149141733033879455660746239527672355838032852084912825011700174918824359499085935274912836692492497416459542686277360650879656438483266285847391763217926318912611039049019628658771005070562350300393377407538593681626877414650029092991782285766961464699866775594782255704011108421269067580989362023176293436561630831514808870357766333802839544328370658779994892571775601339031831557528347582526293098467043570224690720552837090210036658528829257698220907465095779193162398678715501896117382828571713114236365948823589387801121902679465938671869479605180771498003707511648983419513560305588227857760145361199263175816298616354405833457301792027864192602280468149374180606033283023126812355846212206632605838691563577775267599443089299310363508191090309874659066684769891798405824564622776781315249259982564010590699498182741824801611075644960147082915546150074870521841911318854403636918852668538891618118483057695766467050235216887553513630504326024609518945210881751969766584395848509940997906743581922210021899545476516400583710315301261435214008688217968888445447946072288186545309685763856716556165853763942421250662588270282722195007235765612055458150306778635974432072101702364081122640330035192506224618662845757229103681614527284662556305477112924742453206019825146322627985890932879574433611556953716227582013561895275377807797932306840311072069095582774370621958900108717063196132466287317423281242017294648820325130556215538652690476596462370980699287614782899099209752870980442823182342282556404090313609989180690440940792108318749337585278907449289444909744742842892755631018327116846090343685682999823834641845533884669223587794267642267298360285748677858113266322076515655043907124682624952414063882541340794623995719646968954424838411413459405749106531043 5771736668472762266209404521966111982306228346066974292798908791969844574855088445819456353386043795431641875235367255573931771343636595885095942872064178052210563702561985695219486303597152112965378955393807643002785409340334977662761491778751099661268839380986150231756190247982815509951574245102724310257844842297466571204455642871642101930576913036584764823617503392057975449577330494156391457324177417761753995695206867959635864031227428926601054012987711597749617379350517153255681638147517170328494840147934212454778716809526845868945367412607074542419270357301370442929485218798262950709823062892472660628297603163458382121978071699487084820636508340471793290299888361963425700377760315103551347679830137221767012230708344020381590340184953048771181676395056056542840113012608573346440951500692269972789020898524795677818102520664600338629618923328496252536737382486940444475407334597371301544800608633198603404757918517534497168026077582450709712241686078133106653072318231213756423065044574457964574169567752346736708927477672297487392339204398218915002383936859248790844190401532090585838762310786921543536088576359977596438064155786390900750122568979829562087165006984687704317704806292099123276113346813733274308071477540304955442572232186379056273525460606600179305625684993732445459114481883242513394040450945947928490575293050047317909217919616004124494752515332979240122854866127060335855366154034521998284554195829250165868222723555441969574150354287123443679907455052894867025226677525023863701523838389890829719159851841608896503829754875796519168076460841912656706075303638086139376278300211004581986502649377233084270937501922415546741684909563411093655567355514643633499106499043261539034337612350786561858906194557256591536254999235463478637605053613494743524582050855803867852628304885295826826672727666004159543698728011556735140551483953023422787736386630348271646595284060487107507663903354264361221992818170131907293909121029020082909306214774225820606720650981377724109271703578889120320565615270526260890920750295839195981616965882201345563345066912492036344890487797592504634053643421263417918228379839539186923776846131688994844853221943764784525605854171122969709980492830878958880482236294792436994800963829958274149735409833953781583065257737589619047511591862666490876175038545475546830186723629461032046841436191112148143713148732562017030336539027068236226182887613848632536666318136387875911028307462735849283874273212225793400582523265279658716358137057111449613168758970946923741890618830859339025821262285215433973010231101896997747444200320895085111591364 9338866103703012991851950227336215690471938512850149657266760246986937902963913660355572986199772234062634466137843610336259991823411216809371328642925225593685172785190193673676112146247732719605880006372008732768536099119111050106239711681279788681533638415050680173085299597900712577167684003865873948289589939821002797147007160309172765365613543857798339721720631489213428450610980255212507164953845795160329778554919261806791928949433001233863347998110341315466220658315660283139405830184150518347526602031088117652002989615236550909438079782646920061100316554556651523932257784963554582297347618207213365064759566676744182489860186999792243011591160376539034669812608158354231429730601250769313680818681788163567789428204208300627712586123389811562859455283386685368555399635727250498267175655625420217564968930329956963048251662397634218085279669568023924892575415339025357300419034772290125904299694568473516241450411014950956710712354943101589368680169344418954044835536157532669034104093594086623345174638314697037102304885210891169019216619048248007994166222626210255544057177126872841542773419208190611117077938383153889874625786617905709620480335313632401631493377643467699210276581893438155107670875161315800601169944583875180133292785023469266310183989435857877526533150089511638621513160598744409511423279517661042726941241873636705710339822295470063166621994938160011620858573638709319274879714340110226142314341190449429044039022171796375407607656079151307872509735521044241205832710808046990513879684602097462324998543405186671771429197965095829531584651932222531365141988407977937782102864833781363301751909359797094861637000105157371543295985208371240738482901664718504020948410362115942671256465019325453477024677614952358003305234452351032151235557939519353043527261737555837619212700733805767824579471247926369565598273488073135724261799254284858001745074848317160092043230132775294052973589118121077778158671934074328544571709299302805104313450539837876064870957760013698541343805281253201443205945305718767115539413141596425085298580409486008119650544025416778798096507622738827262039534354142992351839936793255414505790408026964372652651154250605095597674949753897340331939392939596022076614702582109860276042981124607094474865966049492434273541854199960599746799206645565590085927909525918370012529006185865122360451425371802589084505257051311354615615446476357681135927630456741388167684645253233966254713990462559683925719807096895016988376790907546957076643885734969562879490835486601967649015301455811753089703803626010057968729878070851422585855613780300834218122407 15110602772175775258061354749302327672778166858917123950065669038956782477819002106175029339585816029494276341373210865910191763167047812694467271514989403645895736487752179368895598449844884832571258961765816375771321508459446027769001203460030888342802477796036830404841489845883528087119258248968598258547434782118469368351462803180814867296190456894383104545338134881271403900188310749368898622278023212922083774250126129766427792980660430160464402011098052913215838037666177436395087468331667688676021442179022330106781706424763396778383447195253994603519586911858021966861743003761817533007170681099686025693057169840202564611838258699279327832227668717010827960112496520317657130108361565872865028498511925385334801658912552321009302926308342860334041131678442741911395512648335823844708127156317690190353989828854752640866354183062234556714898592896520177429312797825965801775826369369661427449100303201672119646208329532485453878738432525552299080921855422552060697907854388746425457169138168544587919344206067043773811232362883188656411555823446466922996550159485459046388247578658963427381535729995112154653166514743131486312689942404296610370602904293461963718658384628155403527981388185537278383784221975049074909241422124180135575865017209848322583709450042458056832158835083244084080627642481986922905463730463608971217516534923684023619557741911474187661374510271139251743713439765769655130245868374632224426868537019699594912261745727238344981758010366274751552417190573939108231059388333070854215403522991988292044158395246795568275258952840892348699661112774135188071217292046064077158381165044785945288254558737030179132574502027572918284980894771782334394050257179362137520054909405377481705594077370112015335930872172208949539560233687814510788840611553014096568109312593359705471841005619101594651252198913930529109297001499629870864813283207308280789481461478665431738638514193262401560637492472385439000151490104206235838480830328322888013619665314063696671591608741391422650615508860142321763771560576245028006460163437435621066915546291687353682995610937908815142986995420331331896093177775406410270068316632794601429567254158653367497504376194369880123280803925020310041919885770474980957096938876902297270843944954565368624601375883446215856607111937550218794310798508232080962102948071393916842715729815326154407292861562914737228218405783873371645951985503425917362110518070590020704350963389621842165742297925295533209594080309120810388959314172826615793002022792081012492659594457548891390905920286671092115525065911225491941740109172748420333299814101195919329713771 24449468875878788249913304976638543363250105371767273607332429285943720380782915766530602325785588263556910807511054476246451754990459029503838600157914629239580909272942373042571710596092617552177138968137825108539857607578557077875240915141310677024336116211087510577926789443784240664286942252834472206837024721939472165498469963489987632661804000752181444267058766370484832350799291004581405787231869008082413552805045391573219721930093431394327750009208394228682058695981837719534493298515818207023548044210110447758784696039999947687821526977900914664619903466414673490794000788725372115304518299306899390757816736516946747101698445699071570843818829093549862629925104678671888559838962816642178709317193713548902591087116760621637015512431732671896900586961829427279950912284063074342975302811943110407918958759184709603914605845459868774800178262464544102321888213164991159076245404141951553353399997770145635887658740547436410589450787468653888449602024766971014742743390546279094491273231762631211264518844381740810913537248094079825430772442494714930990716382111669301932304755785836268924309149203302765770244453126285376187315729022202319991083239607094365350151762271623102738257970078975433491455097136364875510411366708055315709157802233317588893893439478315934358691985172755722702140803080731332416887009981270013944457776797320729329897564206944250827996505209299263364572013404478974405125582714742450569182878210149023956300767899034720389365666445426059424926926094983349436892099141117844729283207594085754369156938651982240046688150805988178231245764706357719436359280454042014940484029878567308590006468096827273994211502132730289828276879980153575132533158844080641541003319767493424376850542389437468812955549787161307542865468140165542940076169492533449611636574330915543091053706352907362475831670161856898674895274987703006589075082461593138791226536326982591830681744326037695613611081590506516778310162038280564383052539627625693117933115853901572736462566501405121191959314141395523206977505881963795121999576579032046152214126701173361802646154963325593941083503043070159158132712129549402621908253426050015935357662185617740150155530444974975720955753678917650373859278710071003033711641459012157546886926079172463099467341932938650130148966137510818541110005153797671048030857597312286855244736001191276767744286934717326312723662835184726261567431979783598498038148527331408872035608642855808420456288387855217135313887406015827377336105080373572869645908527050575372150429944150859039921221742482845205228869537235549910469987243599842919155427881496753547836178 39560071648054563507974659725940871036028272230684397557398098324900502858601917872705631665371404293051187148884265342156643518157506842198305871672904032885476645760694552411467309045937502384748397929903641484311179116038003105644242118601341565367138594007124340982768279289667768751406200501803070465384459504057941533849932766670802499957994457646564548812396901251756236250987601753950304409509892221004497327055171521339647514910753861554792152020306447141897896733648015155929580766847485895699569486389132777865566402464763344466204974173154909268139490378272695457655743792487189648311688980406585416450873906357149311713536704398350898676046497810560690590037601198989545689947324382515043737815705638934237392746029312942646318438740075532230941718640272169191346424932398898187683429968260800598272948588039462244780960028522103331515076855361064279751201010990956960852071773511612980802500300971817755533867070079921864468189219994206187530523880189523075440651244935025519948442369931175799183863050448784584724769610977268481842328265941181853987266541597128348320552334444799696305844879198414920423410967869416862500005671426498930361686143900556329068810146899778506266239358264512711875239319111413950419652788832235451285022819443165911477602889520773991190850820255999806782768445562718255322350740444878985161974311721004752949455306118418438489371015480438515108285453170248629535371451089374674996051415229848618868562513626273065371123676811700810977344116668922457667951487474188698944686730586074046413315333898777808321947103646880526930906877480492907507576572500106092098865194923353253878261026833857453126786004160303208113257774751935909526583416023442779061058229172870906082444619759549484148886421959370257082425701827980053728916781045547546179745886924275248562894711972008957127083869075787427784192276487332877453888365668901419580707997805648023569320258519300097174248574062891955778461652142486800221533369955948581131552781167965269408054175242796543842574823001537844970749066458208823128459740016467667219129672992860715485641765901234409084070498463401491054225889904955812891976570058844617364924916344271107647659906639344855844236557603937960415779164480545983990808580335914454817730871033737831724068717816384865986756078075061037335420803662029752010133805668706203697960465816517431175037148497632063540942068619058097907519417483209515860148666597921429576386572032477650586198586313150750344907967715136637766295419253200188662647931319131587864810024401699750430827142029153937320753935448461041852210096416348263252455241982692672877549949 64009540523933351757887964702579414399278377602451671164730527610844223239384833639236233991156992556608097956395319818403095273147965871702144471830818662125057555033636925454039019642030119936925536898041466592851036723616560183519483033742652242391474710218211851560695068733452009415693142754637542672221484225997413699348402730160790132619798458398745993079455667622241068601786892758531710196741761229086910879860216912912867236840847292949119902029514841370579955429629852875464074065363304102723117530599243225624351098504763292154026501151055823932759393844687368948449744581212561763616207279713484807208690642874096058815235150097422469519865326904110553219962705877661434249786287199157222447132899352483139983833146073564283333951171808204127842305602101596471297337216461972530658732780203911006191907347224171848695565873981972106315255117825608382073089224155948119928317177653564534155900298741963391421525810627358275057640007462860075980125904956494090183394635481304614439715601693807010448381894830525395638306859071348307273100708435896784977982923708797650252857090230635965230154028401717686193655420995702238687321400448701250352769383507650694418961909171401609004497328343488145366694416247778825930064155540290766994180621676483500371496328999089925549542805428755529484909248643449587739237750426148999106432088518325482279352870325362689317367520689737778472857466574727603940497033804117125565234293439997642824863281525307785760489343257126870402271042763905807104843586615306543673969938180159800782472272550760048368635254452868705162152642186850626943935852954148107039349224801920562468267494930684727120997506293033497941534654732089484659116574867523420602061548940364330459295162148986952961841971746531564625291169968145596668992950538080995791382461255190791653948418324916319602915539237644326459087551475035884042963448130494558371934534132630615400002002845337792787859655653398472556771814180767364604585909583574274249485897021866842144516741744201665034534137142933368177726572340172618250459316595499713371343799694034077288287920864560003025154001506471650212358602034505215513884823484894633300282578529888847797815437084319831565192311282855610789638443190616987024520221794926612364617797112910294823536059749323516116905044212571855876530808815827423058164663266018490553205201817708707942781435432349389853665731454242824169086849462993114358186815125252838448422180675333459006654874701005967480221855121152465143631524333573761532293839846182163236960454345850609470748363771636782525982804985696591762680083659948106171610669864189426425386127 103569612171987915265862624428520285435306649833136068722128625935744726097986751511941865656528396849659285105279585160559738791305472713900450343503722695010534200794331477865506328687967622321673934827945108077162215839654563289163725152343993807758613304225336192543463348023119778167099343256440613137605943730055355233198335496831592632577792916045310541891852568873997304852774494512482014606251653450091408206915388434252514751751601154503912054049821288512477852163277868031393654832210789998422687016988376003489917500969526636620231475324210733200898884222960064406105488373699751411927896260120070223659564549231245370528771854495773368195911824714671243810000307076650979939733611581672266184948604991417377376579175386506929652389911883736358784024242373765662643762148860870718342162748464711604464855935263634093476525902504075437830331973186672661824290235146905080780388951165177514958400599713781146955392880707280139525829227457066263510649785146017165624045880416330134388157971624982809632244945279309980363076470048616789115428974377078638965249465305925998573409424675435661535998907600132606617066388865119101187327071875200180714455527408207023487772056071180115270736686608000857241933735359192776349716944372526218279203441119649411849099218519863916740393625684755336267677694206167843061588490871027984268406400239330235228808176443781127806738536170176293581142919744976233475868484893491800561285708669846261693425795151580851131613020068827681379615159432828264772795074089495242618656668766233847195787606449537856690582358099749232093059519667343534451512425454254199138214419725273816346528521764542180247783510453336706054792429484025394185699990890966199663119778113235236541739781908536437110728393705901821707716871796125650397909731583628541971128348179466040216843130296925276729999408313431754243279827962368761496851813799395977952642531938278638969322261364637889962108229716290428335233466323254164826119279539522855381038678189832111552570916986998208877108960144471213148475638798381441378919056611967380590473472686894792773929686765794412109224499969873141266584491939461028405861393543739250665207494874159955445475343723664687409428868886793571205417607671162971015328802130841067182348668146648126547604777565708382103661122287632893211951612477857175068298468934724694251165667634226139117818583929981453394607800073300922076606266946202630218335481723174268024808752707811109592853461014156717825129822836289102909926943586773950194941771165313751101770478747550359901575505800790719846736740434157633614890180076296369424065911846882099302936076 167579152695921267023750589131099699834585027435587739886859153546588949337371585151178099647685389406267383061674904978962834064453438585602594815334541357135591755827968403319545348329997742258599471725986574670013252563271123472683208186086646050150088014443548044104158416756571787582792486011078155809827427956052768932546738226992382765197591374444056534971308236496238373454561387271013724802993414679178319086775605347165381988592448447453031956079336129883057807592907720906857728897574094101145804547587619229114268599474289928774257976475266557133658278067647433354555232954912313175544103539833555030868255192105341429344007004593195837715777151618781797029963012954312414189519898780829488632081504343900517360412321460071212986341083691940486626329844475362133941099365322843249000895528668622610656763282487805942172091776486047544145587091012281043897379459302853200708706128818742049114300898455744538376918691334638414583469234919926339490775690102511255807440515897634748827873573318789820080626840109835376001383329119965096388529682812975423943232389014723648826266514906071626766152936001850292810721809860821339874648472323901431067224910915857717906733965242581724275234014951489002608628151606971602279781099912816985273384062796132912220595547518953842289936431113510865752586942849617430800826241297176983374838488757655717508161046769143817124106056859914072054000386319703837416365518697608926126520002109843904518289076676888636892102363325954551781886202196734071877638660704801786292626606946393647978259879000297905059217612552617937255212161854194161395448278408402306177563644527194378814796016695226907368781016746370203996327084216114878844816565758489620265181327053599567001034944057523390072570365452433386333008041764271247066902682121709537762510809434656831870791548621841596332914947551076080702367379437404645539815261929890536324577066070909254369324264209975682749967885369688900892005280504021529430705189123097129630524575211698953697087658731199873911643097287404581326202211138554059629378373207467093961817272380928870062217607630354415134378501476344791478943093973966243919746217028633883965490073404048803243290780807984518974621180169649181995056050861779958039849023925767679546966465259558421371140837315031898220566166500204749088482421293684598126463132200743184804370869451934847060600019362330843248273531527543746245693116409195744576522296848427106473230933383144568599508335715162685305351677957441568053558467920347711727235611011495914338730933093400969372323869572427502372719545419854225377570263736244475595676581711071525728322203 271148764867909182289613213559619985269891677268723808608987779482333675435358336663119965304213786255926668166954490139522572855758911299503045158838264052146125956622299881185051677017965364580273406553931682747175468402925686761846933338430639857908701318668884236647621764779691565749891829267518768947433371686108124165745073723823975397775384290489367076863160805370235678307335881783495739409245068129269727293690993781417896740344049601956944010129157418395535659756185588938251383729784884099568491564575995232604186100443816565394489451799477290334557162290607497760660721328612064587471999799953625254527819741336586799872778859088969205911688976333453040839963320030963394129253510362501754817030109335317894736991496846578142638730995575676845410354086849127796584861514183713967343058277133334215121619217751440035648617678990122981975919064198953705721669694449758281489095079983919564072701498169525685332311572041918554109298462376992603001425475248528421431486396313964883216031544943772629712871785389145356364459799168581885503958657190054062908481854320649647399675939581507288302151843601982899427788198725940441061975544199101611781680438324064741394506021313761839545970701559489859850561886966164378629498044285343203552587503915782324069694766038817759030330056798266202020264637055785273862414732168204967643244888996985952736969223212924944930844593030090365635143306064680070892234003591100726687805710779690166211714871828469488023715383394782233161501361629562336650433734794297028911283275712627495174047485449835761749799970652367169348271681521537695846960703862656505315778064252468195161324538459769087616564527199706910051119513700140273030516556649455819928301105166834803542774725966059827183298759158335208040724913560396897464812413705338079733639157614122872087634678918766873062914355864507834945647207399773407036667075729286514277219598009187893338646525574613572712076115085979329227238746827275694256824468662619985011563253401531065249658575718198082788752057431875794474677849936935501008297429819434474552290745067823662836147294396148827243603001446217932745527585913427272325607610572373134630697568278208758688766124531649206384050049056442753200473658532942929055177826056608746729315133406206547918745614880740280324227288787837642300434033771541773194761601135467879055536537086160986178418603292312296642881331600844668322299383355398374794857778571601374498039686090955678192361796729319403130481500793730670963485411507121661922177382176809665440501411840951329273899375373218222219456285854011858992460443812540845019742493557953625031258279 438727917563830449313363802690719685104476704704311548495846933028922624772729921814298064951899175662194051228629395118485406920212349885105639974172805409281717712450268284504597025347963106838872878279918257417188720966196810234530141524517285908058789333112432280751780181536263353332684315278596924757260799642160893098291811950816358162972975664933423611834469041866474051761897269054509464212238482808448046380466599128583278728936498049409975966208493548278593467349093309845109112627358978200714296112163614461718454699918106494168747428274743847468215440358254931115215954283524377763016103339787180285396074933441928229216785863682165043627466127952234837869926332985275808318773409143331243449111613679218412097403818306649355625072079267617332036683931324489930525960879506557216343953805801956825778382500239245977820709455476170526121506155211234749619049153752611482197801208802661613187002396625270223709230263376556968692767697296918942492201165351039677238926912211599632043905118262562449793498625498980732365843128288546981892488340003029486851714243335373296225942454487578915068304779603833192238510008586761780936624016523003042848905349239922459301239986556343563821204716510978862459190038573135980909279144198160188825971566711915236290290313557771601320266487911777067772851579905402704663240973465381951018083377754641670245130269982068762054950649890004437689143692384383908308599522288709652814325712889534070730003948505358124915817746720736784943387563826296408528072395499098815203909882659021143152307364450133666809017583204985106603483843375731857242408982271058811493341708779662573976120555154995994985345543946077114047446597916255151875333122407945440193482432220434370543809670023583217255869124610768594373732955324668144531715095827047617496149967048779703958426227540608469395829303415583915648014586837178052576482337659177050601796664080097147707970789784589255462044000455668230119244027331297223687529657785717114642087828613230018946746234449397956700395154719280375800880061075489560637675803026901568514108017448752532898364902026503242377981502922562724224470679887393516245353827601007018596187641682257561932056905339633725358671229226091935195529709394722887095026849982376426276281598665764969289886452195772178544793455288042391388916455065226371321224733336211063859907406538095833239018622654643139891154863128388414567992499764594119371380075420028480971270619474100246791870132444482088435833178751172239017043879427469373649412993188305579779232344934352298646223244945645724592175831273866084370030707548785320615419075269025150759580482 709876682431739631602977016250339670374368381973035357104834712511256300208088258477418030256112961918120719395583885258007979775971261184608685133011069461427843669072568165689648702365928471419146284833849940164364189369122496996377074862947925765967490651781316517399401946315954919082576144546115693704694171328269017264036885674640333560748359955422790688697629847236709730069233150838005203621483550937717773674157592910001175469280547651366919976337650966674129127105278898783360496357143862300282787676739609694322640800361923059563236880074221137802772602648862428875876675612136442350488103139740805539923894674778515029089564722771134249539155104285687878709889653016239202448026919505832998266141723014536306834395315153227498263803074843294177447038018173617727110822393690271183687012082935291040900001717990686013469327134466293508097425219410188455340718848202369763686896288786581177259703894794795909041541835418475522802066159673911545493626640599568098670413308525564515259936663206335079506370410888126088730302927457128867396446997193083549760196097656022943625618394069086203370456623205816091666298207312702221998599560722104654630585787563987200695746007870105403367175418070468722309751925539300359538777188483503392378559070627697560359985079596589360350596544710043269793116216961187978525655705633586918661328266751627622982099493194993706985795242920094803324286998449063979200833525879810379502131423669224236941718820333827612939533130115519018104888925455858745178506130293395844115193158371648638326354849899969428558817553857352275951755524897269553089369686133715316809119773032130769137445093614765082601910071145784024098566111616395424905849679057401260121783537387269174086584395989643044439167883769103802414457868885065041996527509532385697229789124662902576046060906459375342458743659280091750593661794236951459613149413388463564879016262089285041046617315359202828174120115541647559346482774158572917944354126448337099653651082014761084196404810167596039489147212151156170275557911012425061645973232846336043066398762516576195734512196422652069621584504368780656969998265800820788570961438173380153226885209960466320620823029871282931742721278282534688396003367927665816150204676038985173005596732071971517208632067076512458869020744075880033689350488836768144515986334471678942915443943624256819417437225946955436534036194729233082890291883119992494166237853991629855469310305565055924984231929173801491566314679544902909980529290934591035571590375365115245219733756775303627920122620318863946811632117127877943362491151361326165635161568826978775790838761 1148604599995570080916340818941059355478845086677346905600681645540178924980818180291716095208012137580314770624213280376493386696183611069714325107183874870709561381522836450194245727713891578258019163113768197581552910335319307230907216387465211674026279984893748798151182127852218272415260459824712618461954970970429910362328697625456691723721335620356214300532098889103183781831130419892514667833722033746165820054624192038584454198217045700776895942546144514952722594454372208628469608984502840500997083788903224156041095500280029553731984308348964985270988043007117359991092629895660820113504206479527985825319969608220443258306350586453299293166621232237922716579815986001515010766800328649164241715253336693754718931799133459876853888875154110911509483721949498107657636783273196828400030965888737247866678384218229931991290036589942464034218931374621423204959768001954981245884697497589242790446706291420066132750772098795032491494833856970830487985827805950607775909340220737164147303841781468897529299869036387106821096146055745675849288935337196113036611910340991396239851560848556665118438761402809649283904808215899464002935223577245107697479491136803909659996985994426448967188380134581447584768941964112436340448056332681663581204530637339612796650275393154360961670863032621820337565967796866590683188896679098968869679411644506269293227229763177062469040745892810099241013430690833447887509433048168520032316457136558758307671722768839185737855350876836255803048276489282155153706578525792494659319103041030669781478662214350103095367835137062337382555239368273001410331778668404774128302461481811793343113565648769761077587255615091861138146012709532650576781182801465346700315265969607703544630394066013226261695037008379872396788190824209733186528242605359433314725939091711682280004487133999983811854572962695675666241676381074129512189631751047640615480812926169382188754588105143792083636164115997315789465726801489870141631883784234054214295738910627991103143151044616993996189542366870436546076437972087914622283649035873237611580506779965328728632877098449155311999566007291343381194468945688214304816315265774387171823072851642723882552879935210916657101392507508626623591533077322388703245231526021361599281878330737736486498518519272284637413814199363922425078266943901994515837211067807890006775351350162352652656455848601598576425191057857621497458284382884586613537617929411658336440580925039156171776102061618283580002147858296075148997573170362060409221003368553420824998966101709655926566345865264509671403807948401744027732521858910111486250580644096003926550419243 1858481282427309712519317835191399025853213468650382262705516358051435225188906438769134125464125099498435490019797165634501366472154872254323010240194944332137405050595404615883894430079820049677165447947618137745917099704441804227284291250413137439993770636675065315550584074168173191497836604370828312166649142298698927626365583300097025284469695575779004989229728736339893511900363570730519871455205584683883593728781784948585629667497593352143815918883795481626851721559651107411830105341646702801279871465642833850363736300641952613295221188423186123073760645655979788866969305507797262463992309619268791365243864282998958287395915309224433542705776336523610595289705639017754213214827248154997239981395059708291025766194448613104352152678228954205686930759967671725384747605666887099583717977971672538907578385936220618004759363724408757542316356594031611660300486850157351009571593786375823967706410186214862041792313934213508014296900016644742033479454446550175874579753529262728662563778444675232608806239447275232909826448983202804716685382334389196586372106438647419183477179242625751321809218026015465375571106423212166224933823137967212352110076924367896860692732002296554370555555552651916307078693889651736699986833521165166973583089707967310357010260472750950322021459577331863607359084013827778661714552384732555788340739911257896916209329256372056176026541135730194044337717689282511866710266574048330411818588560227982544613441589173013350794884006951774821153165414738013898885084656085890503434296199402318419805017064250072523926652690919689658506994893170270963421148354538489445111581254843924112251010742384526160189165686237645162244578821149046001687032480522747960437049506994972718716978462002869306134204892148976199202648693094798228524770114891819011955728216374584856050548040459359154313316621975767416835338175311080971802781164436104180359829188258667229801205420502994911810284231538963348812209575648443059576237910682391313949389992642752187339555854784590035678689579021592716351995883100339683929622268719573654646905542481904924367389294871807381621150511660124038164467211489035093387276703947767325049958061603190203173702965082199588844113785791161311987536445250054519395436202060346772287475062809708003707150586348797096282834943439802458767617432738762660353197402279568949690795293786609472073893074548554012959227252586854580348576266004579107703855783403288191909891230604212096760333990792085071568462537840978058978102461296651444792593743918536070218699858484959554486468485583373618215440065529621971095013010271437651885742212922982702341258004 3007085882422879793435658654132458381332058555327729168306198003591614150169724619060850220672137237078750260644010446010994753168338483324037335347378819202846966432118241066078140157793711627935184611061386335327470010039761111458191507637878349114020050621568814113701766202020391463913097064195540930628604113269128837988694280925553717008191031196135219289761827625443077293731493990623034539288927618430049413783405976987170083865714639052920711861429939996579574316014023316040299714326149543302276955254546058006404831800921982167027205496772151108344748688663097148858061935403458082577496516098796777190563833891219401545702265895677732835872397568761533311869521625019269223981627576804161481696648396402045744697993582072981206041553383065117196414481917169833042384388940083927983748943860409786774256770154450549996049400314351221576535287968653034865260254852112332255456291283965066758153116477634928174543086033008540505791733873615572521465282252500783650489093749999892809867620226144130138106108483662339730922595038948480565974317671585309622984016779638815423328740091182416440247979428825114659475914639111630227869046715212320049589568061171806520689717996723003337743935687233363891847635853764173040434889853846830554787620345306923153660535865905311283692322609953683944925051810694369344903449063831524658020151555764166209436559019549118645067287028540293285351148380115959754219699622216850444135045696786740852285164358012199088650234883788030624201441904020169052591663181878385162753399240432988201283679278600175619294487827982027041062234261443272373752927022943263573414042736655717455364576391154287237776421301329506300390591530681696578468215281988094660752315476602676263347372528016095567829241900528848595990839517304531415053012720251252326681667308086267136055035174459342966167889584671443083077014556385210483992412915483744795840642114428049418555793525646786995446448347536279138277936377138313201208121694916445528245128903270743290482706899401584031868231945892029262428433855188254306213271304592811266227412322447233653000266393320962693620716518951467419358936157177249398203591969722154496873030913245914085726582900293116245945506293299787935579069522572443222640667728081708371569353393547444490205669105621081733696649142803724883845884376640757176190408470087458956466146643948962124730348923150152589384418310444476077806860648889165721241473712814946528350472155643368268536436052410368651570610396137053207975675631658711854013597112471956895217665960194615481052814350847883289619248013931365998827534869181549138136322857018986628891677247 4865567164850189505954976489323857407185272023978111431011714361643049375358631057829984346136262336577185750663807611645496119640493355578360345587573763534984371482713645681962034587873531677612350059009004473073387109744202915685475798888291486554013821258243879429252350276188564655410933668566369242795253255567827765615059864225650742292660726771914224278991556361782970805631857561353554410744133203113933007512187761935755713533212232405064527780313735478206426037573674423452129819667796246103556826720188891856768568101563934780322426685195337231418509334319076937725031240911255345041488825718065568555807698174218359833098181204902166378578173905285143907159227264037023437196454824959158721678043456110336770464188030686085558194231612019322883345241884841558427131994606971027567466921832082325681835156090671168000808764038759979118851644562684646525560741702269683265027885070340890725859526663849790216335399967222048520088633890260314554944736699050959525068847279262621472431398670819362746912347930937572640749044022151285282659700005974506209356123218286234606805919333808167762057197454840580035047021062323796452802869853179532401699644985539703381382449999019557708299491239885280198926329743415909740421723375011997528370710053274233510670796338656261605713782187285547552284135824522148006618001448564080446360891467022063125645888275921174821093828164270487329688866069398471620929966196265180855953634257014723396898605947185212439445118890739805445354607318758182951476747837964275666187695439835306621088696342850248143221140518901716699569229154613543337174075377481753018525623991499641567615587133538813397965586987567151462635170351830742580155247762510842621189364983597648982064350990018964873963446792677824795193488210399329643577782835143071338637395524460851992105583214918702120481206206647210499912352731696291455795194079919848976200471302686716648356998946149781907256732579075242487090145952786756260784359605598836842194518895913495477822262754186174067546921524913621978780429738288593990142893573312384920874317864929138577367655688192770075241867030611591457523403368666284491590868673669921821922988974849104288900285865375315834789620079090949247566605967822497742036103930142055143856828456357152493912819691969878829979484086243527342613501809379519836543605872367027906156941937735571596804241997698706602343645563031330658155436914893744828945329496218234720260363386247580365296770043202453723139072933978031266953778092955363298806190856390492965436365818679575035539282836431256907834688079460987969922547879452986790022065069941969331232935251 7872653047273069299390635143456315788517330579305840599317912365234663525528355676890834566808399573655936011307818057656490872808831838902397680934952582737831337914831886748040174745667243305547534670070390808400857119783964027143667306526169835668033871879812693542954116478208956119324030732761910173423857368836956603603754145151204459300851757968049443568753383987226048099363351551976588950033060821543982421295593738922925797398926871457985239641743675474786000353587697739492429533993945789405833781974734949863173399902485916947349632181967488339763258022982174086583093176314713427618985341816862345746371532065437761378800447100579899214450571474046677219028748889056292661178082401763320203374691852512382515162181612759066764235784995084440079759723802011391469516383547054955551215865692492112456091926245121717996858164353111200695386932531337681390820996554382015520484176354305957484012643141484718390878486000230589025880367763875887076410018951551743175557941029262514282299018896963492885018456414599912371671639061099765848634017677559815832340139997925050030134659424990584202305176883665694694522935701435426680671916568391852451289213046711509902072167995742561046043426927118644090773965597180082780856613228858828083158330398581156664331332204561572889406104797239231497209187635216517351521450512395605104381043022786229335082447295470293466161115192810780615040014449514431375149665818482031300088679953801464249183770305197411528095353774527836069556049222778352004068411019842660828941094680268294822372375621450423762515628346883743740631463416056815710927002400425016591939666728155359022980163524693100635742008288896657763025761882512439158623463044498937281941680460200325245411723518035060441792688693206673391184327727703861058630795555394323665319062832547119128160618389378045086649095791318653582989367288081501939787606995403593772041113417114766066912792471796568902703180926611521625368082329925069461992481300515282370439647799184238768304969653587758099415153470805651241208863593476848296356164877905196187101730187376372230367922081513732768862583549563058876882339525843533889794460643392076318796019888095018374626868765668432080735126372390737183145675490394940964676771658223763515426181849904596984118488797590960563676133229047252226459386186020277012734014342454486862623088581684533721534590920848859191728063873475806735962297563782910550186803209033181248610835541890948633833206095612822374709683330115084474929453724614075152819787968862449860654031778874190516592097187279140197453936093392353968750082748634535928158387926960955960124612498 12738220212123258805345611632780173195702602603283952030329626726877712900886986734720818912944661910233121761971625669301986992449325194480758026522526346272815709397545532430002209333540774983159884729079395281474244229528166942829143105414461322222047693138056572972206466754397520774734964401328279416219110624404784369218814009376855201593512484739963667847744940349009018904995209113330143360777194024657915428807781500858681510932139103863049767422057410952992426391161372162944559353661742035509390608694923841719941968004049851727672058867162825571181767357301251024308124417225968772660474167534927914302179230239656121211898628305482065593028745379331821126187976153093316098374537226722478925052735308622719285626369643445152322430016607103762963104965686852949896648378154025983118682787524574438137927082335792885997666928391871179814238577094022327916381738256651698785512061424646848209872169805334508607213885967452637545969001654136201631354755650602702700626788308525135754730417567782855631930804345537485012420683083251051131293717683534322041696263216211284636940578758798751964362374338506274729569956763759223133474786421571384852988858032251213283454617994762118754342918167003924289700295340595992521278336603870825611529040451855390175002128543217834495119886984524779049493323459738665358139451960959685550741934489808292460728335571391468287254943357081267944728880518912902996079632014747212156042314210816187646082376252382623967540472665267641514910656541536534955545158857806936495128790120103601443461071964300671905736768865785460440200692570670359048101077777906769610465290719655000590595750658231914033707595276463809225660932234343181738778710807009779903131045443797974227476074508054025315756135485884498186377815938103190702208578390537395003956458357007971120266201604296747207130301997965864082901720019777793395582801075323442748241584719801482715269791417946350809959913505686764112458228282711825722776840906114119212634166695097734246127232407773932166962074995719273219989293331765442286499058451217581107976048052305510807735577769706502844104450580174650334405742894509818381385329317061998140719008862944122663527154631043747915524746451481686430712281458217438706712875588365818659283010306261749478031308489560839393655617315290779569072887995399796849277620214821514768780030519420105318338832918547565794071709436507137394117734478676655379132132705251415968871198928138528999129976138815276097848756264093115741883231817569438451625978825252942826090397597553765552131380023710397105288624172853341938672630628087522718180452996902925291357547749 20610873259396328104736246776236488984219933182589792629647539092112376426415342411611653479753061483889057773279443726958477865258157033383155707457478929010647047312377419178042384079208018288707419399149786089875101349312130969972810411940631157890081565017869266515160583232606476894058995134090189589642967993241740972822568154528059660894364242708013111416498324336235067004358560665306732310810254846201897850103375239781607308331065975321035007063801086427778426744749069902436988887655687824915224390669658791583115367906535768675021691049130313910945025380283425110891217593540682200279459509351790260048550762305093882590699075406061964807479316853378498345216725042149608759552619628485799128427427161135101800788551256204219086665801602188203042864689488864341366164761701080938669898653217066550594019008580914603994525092744982380509625509625360009307202734811033714305996237778952805693884812946819226998092371967683226571849369418012088707764774602154445876184729337787650037029436464746348516949260760137397384092322144350816979927735361094137874036403214136334667075238183789336166667551222171969424092892465194649814146702989963237304278071078962723185526785990504679800386345094122568380474260937776075302134949832729653694687370850436546839333460747779407384525991781764010546702511094955182709660902473355290655122977512594521795810782866861761753416058549892048559768894968427334371229297833229243456130994164617651895266146557580035495635826439795477584466705764314886959613569877649597324069884800371896265833447585751095668252397212669204180832155986727174759028080178331786202404957447810359613575914182925014669449603565360466988686694116855620897402173851508717185072725903998299472887798026089085757548824179091171577562143665807051760839373945931718669275521189555090248426819993674792293779397789284517665891087307859295335370408070727036520282698136916248782182583889742919712663094432298285737826310612636895184769322206629401583073814494281973014432202061361690266377228466524924461198156925242290582855223329122777295077778239681883038103499851220235612967034129737709211288082420353352271179789960454074459515028751039141038154023396712179996259872823872423613857956948612379671389647246589582174709192156166346462149797287151799957331750544338031795532274181420073862011634557276001631403119101104639039873423839396424985799773309982944130080032042459565929318935914284597217482034470029477632963182234428098472558439594208200216812685542183513604445766794115392686744429376427956068723477210989537302742560266245695907422713376722058646338840923863881251482160247 33349093471519586910081858409016662179922535785873744659977165818990089327302329146332472392697723394122179535251069396260464857707482227863913733980005275283462756709922951608044593412748793271867304128229181371349345578840297912801953517355092480112129258155925839487367049987003997668793959535418469005862078617646525342041382163904914862487876727447976779264243264685244085909353769778636875671587448870859813278911156740640288819263205079184084774485858497380770853135910442065381548241317429860424614999364582633303057335910585620402693749916293139482126792737584676135199342010766650972939933676886718174350729992544750003802597703711544030400508062232710319471404701195242924857927156855208278053480162469757821086414920899649371409095818209291966005969655175717291262813139855106921788581440741640988731946090916707489992192021136853560323864086719382337223584473067685413091508299203599653903756982752153735605306257935135864117818371072148290339119530252757148576811517646312785791759854032529204148880065105674882396513005227601868111221453044628459915732666430347619304015816942588088131029925560678244153662849228953872947621489411534622157266929111213936468981403985266798554729263261126492670174556278372067823413286436600479306216411302291937014335589290997241879645878766288789596195834554693848067800354434314976205864912002402814256539118438253230040671001906973316504497775487340237367308929847976455612173308375433839541348522809962659463176299105063119099377362305851421915158728735456533819198674920475497709294519550051767573989166078454664621032848557397533807129157956238555812870248167465360204171664841156928703157198841824276214347626351198802636180884658518497088203771347796273700363872534143111073304959664975669763939959603910242463047952336469113673231979546563061368693021597971539500909699787250381748792807327637088730953209146050479268524282856717731497452375307689270522623007937985049850284538895348720907546163112743520795707981189379707260559434469135622433339303462244197681187450257007732869354281780340358403053826291987393845839077620926738457071484709912359545693825314863170652565119277516072600234037613983263701681178027755927911784619275354110044570238406829818378102522834955400833992202462428095940181105776712639350987367859628811364605162176819870711289254772097516400183149620524744358212256757943990779871482746490081524197766521136221308451068619536013186353233398168006632093158373243374570407195858301315958695917359752952056071745619368335512834826973981721620854857234699934408031184439099037846095344004809581364519293920766806542839707996 53959966730915915014818105185253151164142468968463537289624704911102465753717671557944125872450784878011237308530513123218942722965639261247069441437484204294109804022300370786086977491956811560574723527378967461224446928152428882774763929295723638002210823173795106002527633219610474562852954669508658595505046610888266314863950318432974523382240970155989890680741589021479152913712330443943607982397703717061711129014531980421896127594271054505119781549659583808549279880659511967818537128973117685339839390034241424886172703817121389077715440965423453393071818117868101246090559604307333173219393186238508434399280754849843886393296779117605995207987379086088817816621426237392533617479776483694077181907589630892922887203472155853590495761619811480169048834344664581632628977901556187860458480093958707539325965099497622093986717113881835940833489596344742346530787207878719127397504536982552459597641795698972962603398629902819090689667740490160379046884304854911594452996246984100435828789290497275552665829325865812279780605327371952685091149188405722597789769069644483953971091055126377424297697476782850213577755741694148522761768192401497859461545000190176659654508189975771478355115608355249061050648817216148143125548236269330133000903782152728483853669050038776649264171870548052800142898345649649030777461256907670266860987889514997336052349901305114991794087060456865365064266670455767571738538227681205699068304302540051491436614669367542694958812125544858596683844068070166308874772298613106131143268559720847393975127967135802863242241563291123868801865004544124708566157238134570342015275205615275719817747579024081943372606802407184743203034320468054423533583058510027214273276497251794573173251670560232196830853783844066841341502103269717294223887326282400832342507500736118151617119841591646331794689097576534899414683894635496384066323617216777515788806980993633980279634959197432190235286102370283335588110849507985616092315485319372922378781795683661680274991636530497312699716531928769122142385607182250023452209505109463135698131604531669276883942577472146974070038518839650068756981907735216522923744909237970147059749066365022404739835201424468107908044492099226533658428195355442198049492170081544983008701394618594442402330903063864439308319118403966843160137436358239944573300889329373518031586268721629383398085680597340415765671256056473025654277798563595787237770004533820610403835267868197484265056340607671473042965635452509516175508602901936465660517512413483728199579256350409677689578334445689471710773744705344733753518057381531640010858134844630687794321868243 87309060202435501924899963594269813344065004754337281949601870730092555081020000704276598265148508272133416843781582519479407580673121489110983175417489479577572560732223322394131570904705604832442027655608148832573792506992726795576717446650816118114340081329720945489894683206614472231646914204927127601367125228534791656905332482337889385870117697603966669944984853706723238823066100222580483653985152587921524407925688721062184946857476133689204556035518081189320133016569954033200085370290547545764454389398824058189230039727707009480409190881716592875198610855452777381289901615073984146159326863125226608750010747394593890195894482829150025608495441318799137288026127432635458475406933338902355235387752100650743973618393055502961904857438020772135054803999840298923891791041411294782247061534700348528057911190414329583978909135018689501157353683064124683754371680946404540489012836186152113501398778451126698208704887837954954807486111562308669386003835107668743029807764630413221620549144529804756814709390971487162177118332599554553202370641450351057705501736074831573275106872068965512428727402343528457731418590923102395709389681813032481618811929301390596123489593961038276909844871616375553720823373494520210948961522705930612307120193455020420868004639329773891143817749314341589739094180204342878845261611341985243066852801517400150308889019743368221834758062363838681568764445943107809105847157529182154680477610915485330977963192177505354421988424649921715783221430376017730789931027348562664962467234641322891684422486685854630816230729369578533422897853101522242373286396090808897828145453782741080021919243865238872075764001249009019417381946819253226169763943168545711361480268599590846873615543094375307904158743509042511105442062873627536686935278618869946015739480282681212985812863189617871295598797363785281163476701963133472797276826362827995057331263850351711777087334505121460757909110308268385438395388403334336999861648432116443174489776873041387535551070999632935133055835391013319823573057439257756321563786889803494101185430823656670729781655093073712527110003549562428302675733050079693576310028515486219659983103979005668441516379452224035819829111374580643702998433762272016427594692916500383842693597081022538342512008840577078659306486263595654524742598535059815284590144101471034431769418342154127756297937355284406545542738802963107178475565084732008546221073153356623590188501266365490897149498980914847613372831310810832134204520261689417716589258032852063712414083324391399310433191680389406118804929144443771599613401386341221375377428765397494337161576239 141269026933351416939718068779522964508207473722800819239226575641195020834737672262220724137599293150144654152312095642698350303638760750358052616854973683871682364754523693180218548396662416393016751182987116293798239435145155678351481375946539756116550904503516051492422316426224946794499868874435786196872171839423057971769282800770863909252358667759956560625726442728202391736778430666524091636382856304983235536940220701484081074451747188194324337585177664997869412897229466001018622499263665231104293779433065483075402743544828398558124631847140046268270428973320878627380461219381317319378720049363735043149291502244437776589191261946756020816482820404887955104647553670027992092886709822596432417295341731543666860821865211356552400619057832252304103638344504880556520768942967482642705541628659056067383876289911951677965626248900525441990843279408867030285158888825123667886517373168704573099040574150099660812103517740774045497153852052469048432888139962580337482804011614513657449338435027080309480538716837299441957723659971507238293519829856073655495270805719315527246197927195342936726424879126378671309174332617250918471157874214530341080356929491567255777997783936809755264960479971624614771472190710668354074509758975260745308023975607748904721673689368550540407989619862394389881992525853991909622722868249655509927840691032397486361238921048483213628845122820704046633031116398875380844385385210387853748781913455536822414577861545048049380800550194780312467065498446184039664703325961668796105735794362170285659550453821657494058472292660702402224762857645646950939443634225379239843420659398016799839666822889320815448370803656193762620416267287307649703347001678572925634756765851385420046867213654607504735012527353109352446944166143344830910822604901270778358246981018799364602932704781264203090287894940320180578160596598629856863600443579605510846138244843985692056722293702553650993195212678551721026506237911319953092177133751489365553271572556703067810542707530130247832772367319782441965958664621507779773773291999266629799317035355325947613724232565220686597148522389212497059657640785296216500054937753456366719732170344028073181351580876692143727873603473807177361426629117714214477086862998045366851394991699616980744842911904441517967625604667562497684880034893299759857891033430844552463355687063783511154383617952624822311213994859436132832753363648327795783991077687177233994023769134562975162205839588586320656338466763320348309713123163625883377106770446335791911993339674801077000011526126078877829578673849788505353131458767872861386235563610028182131483444482 228578087135786918864618032373792777852272478477138101188828446371287575915757672966497322402747801422278070996093678162177757884311882239469035792272463163449254925486747015574350119301368021225458778838595265126372031942137882473928198822597355874230890985833236996982316999632839419026146783079362913798239297067957849628674615283108753295122476365363923230570711296434925630559844530889104575290368008892904759944865909422546266021309223321883528893620695746187189545913799420034218707869554212776868748168831889541264632783272535408038533822728856639143469039828773656008670362834455301465538046912488961651899302249639031666785085744775906046424978261723687092392673681102663450568293643161498787652683093832194410834440258266859514305476495853024439158442344345179480412559984378777424952603163359404595441787480326281261944535383919214943148196962472991714039530569771528208375530209354856686600439352601226359020808405578729000304639963614777717818891975070249080512611776244926879069887579556885066295248107808786604134841992571061791495890471306424713200772541794147100521304799264308449155152281469907129040592923540353314180547556027562822699168858792957851901487377897848032174805351588000168492295564205188565023471281681191357615144169062769325589678328698324431551807369176735979621086706058334788467984479591640752994693492549797636670127940791851435463603185184542728201795562341983189950232542739570008429259524371022153392541053722553403802788974844702028250286928822201770454634353310231461068203029003493177343972940507512124874703022030280935647660710747169193312730030316188137671566113180757879861586066754559687524134804905202782037798214106560875873110944847118636996237034450976266920482756748982812639171270862151863552386229016972367597757883520140724373986461301480577588745567970882074385886692304105461741637298561763329660877269942433505903469508694337403833809628207675111751104322986820106464901626314654290092038782183605808727761349429744455346093778529763182965828202710795761789531722060765536095337078889070123900502466178982618343505887658294399124258525938774925362333373835375910076364966268942586379715274323033741622867960328916179547702714848387821064425062879986230904681555914545750694088588780639519087354920745018596626932090931158152209622633428359575142481177532315586895125105405937638910681555307909228856756733662399240011228928733059804330212150840533857584212270400928466059355338569501168269711298074131180443917643425315301093696028479187855624407422999192476310444717806468283948383602994232276952744860154214082761612992375425676468645020721 369847114069138335804336101153315742360479952199938920428055022012482596750495345228718046540347094572422725148405773804876108187950642989827088409127436847320937290241270708754568667698030437618475530021582381420170271377283038152279680198543895630347441890336753048474739316059064365820646651953798699995111468907380907600443898083879617204374835033123879791196437739163128022296622961555628666926750865197887995481806130124030347095760970510077853231205873411185058958811028886035237330368817878007973041948264955024340035526817363806596658454575996685411739468802094534636050824053836618784916766961852696695048593751883469443374277006722662067241461082128575047497321234772691442661180352984095220069978435563738077695262123478216066706095553685276743262080688850060036933328927346260067658144792018460662825663770238232939910161632819740385139040241881858744324689458596651876262047582523561259699479926751326019832911923319503045801793815667246766251780115032829417995415787859440536519226014583965375775786824646086046092565652542569029789410301162498368696043347513462627767502726459651385881577160596285800349767256157604232651705430242093163779525788284525107679485161834657787439765831559624783263767754915856919097981040656452102923168144670518230311352018066874971959796989039130369503079231912326698090707347841296262922534183582195123031366861840334649092448308005246774834826678740858570794617927949957862178041437826558975807118915267601453183589525039482340717352427268385810119337679271900257173938823365663463003523394329169618933175314690983337872423568392816144252173664541567377514986772578774679701252889643880502972505608561396544658214481393868525576457946525691562630993800302361686967349970403590317374183798215261215999330395160317198508580488421411502732233442320279942191678272752146277476174587244425642319797895160393186524477713522039016749607753538323095890531921910228762744299535665371827491407864225974243184215915935095174281032921986447523156636486059893430798600570030578203755490386682273315869110370888336753699819501534308565957230120223515085721407048327987422421991014620672126576419904022398953099447444667061814804219541205608323275576318322194998425851691997700445381768418912591117545483580480256499832197832649460114594557695598720649894502668321659335000372210963160139358480792469721150065065173260534051167970728521835372843982292381387600114203228527711091578236039535491441221561178158087488926049764837451528753630766588941184470802798925523647536400762673993553310456243932547161777962276844020782305876318922086944147848555985453858600128465203 598425201204925254668954133527108520212752430677077021616883468383770172666253018195215368943094895994700796144499451967053866072262525229296124201399900010770192215728017724328918786999398458843934308860177646546542303319420920626207879021141251504578332876169990045457056315691903784846793435033161613793350765975338757229118513366988370499497311398487803021767149035598053652856467492444733242217118874090792755426672039546576613117070193831961382124826569157372248504724828306069456038238372090784841790117096844565604668310089899214635192277304853324555208508630868190644721186888291920250454813874341658346947896001522501110159362751498568113666439343852262139889994915875354893229473996145594007722661529395932488529702381745075581011572049538301182420523033195239517345888911725037492610747955377865258267451250564514201854697016738955328287237204354850458364220028368180084637577791878417946299919279352552378853720328898232046106433779282024484070672090103078498508027564104367415589113594140850442071034932454872650227407645113630821285300772468923081896815889307609728288807525723959835036729442066192929390360179697957546832252986269655986478694647077482959580972539732505819614571183147624951756063319121045484121452322337643460538312313733287555901030346765199403511604358215866349124165937970661486558691827432937015917227676131992759701494802632186084556051493189789503036622241082841760744850470689527870607300962197581129199659968990154856986378499884184368967639356090587580573972032582131718242141852369156640347496334836681743807878336721264273520084279139985337564903694857755515186552885759532559562838956398440190496640413466599326696012695500429401449568891372810199627230834753337953887832727152573130013355069077413079551716624177289566106338371941552227106219903621760519780423840723028351862061279548531104061435193722156516185354983464472522653077262232660499724341550117903874495403858652191933956309490540628533276254698118700983008794271416191978502730264589656613764428772741373965545022108743038851964447449777406877600321967713291184300736007881809484845665574266762347784324388456048036652784870291341539479162718990095556427087501534524502823279033170582819490276754877686676286449974827136868239572169260896018919552753394478711221489786529878802104125301750018910142853388495475726253605897875658788975746728568443280024727462184234612855211221114447404444415379368244949162448309936419907280916516727588657195761062911582709197548410014256485564498827404711503160808185673186029620900961739015445726345879838253059258621179076301026909461548360879535068773485924 968272315274063590473290234680424262573232382877015942044938490396252769416748363423933415483441990567123521292905225771929974260213168219123212610527336858091129505969288433083487454697428896462409838881760027966712574696703958778487559219685147134925774766506743093931795631750968150667440086986960313788462234882719664829562411450867987703872146431611682812963586774761181675153090454000361909143869739288680750908478169670606960212831164342039235356032442568557307463535857192104693368607189968792814832065361799589944703836907263021231850731880850009966947977432962725280772010942128539035371580836194355041996489753405970553533639758221230180907900425980837187387316150648046335890654349129689227792639964959670566224964505223291647717667603223577925682603722045299554279217839071297560268892747396325921093115020802747141764858649558695713426277446236709202688909486964831960899625374401979205999399206103878398686632252217735091908227594949271250322452205135907916503443351963807952108339608724815817846821757100958696319973297656199851074711073631421450592859236821072356056310252183611220918306602662478729740127435855561779483958416511749150258220435362008067260457701567163607054337014707249735019831074036902403219433362994095563461480458403805786212382364832074375471401347254996718627245169882988184649399175274233278839761859714187882732861664472520733648499801195036277871448919823700331539468398639485732785342400024140105006778884257756310169968024923666709684991783358973390693309711854031975416080675734820103351019729165851362741053651412247611392507847532801481817077359399322892701539658338307239264091846042320693469146022027995871354227176894297927026026837898501762258224635055699640855182697556163447387538867292674295551047019337606764614918860362963729838453345942040461972102113475174629338235866792956746381233088882549702709832696986511539402685015770983595614873472028132637239703394317563761447717354766602776460470614053796157289827193402639501659366750649550044563029342771952169300512495425312167833557820665743631300141469247599750257966128105324570567072622594749770206315403076720163229204774313740492578610163657157371231307042740132826098855351492777817916128446875387121668218393739727985785055749741152518751750586043938825816047482128599451998627970071678245143225599458635865612086690345379939040811901828977331192698190706069985699193513495835004558618607895956040740684349471911348502477694885676146121810827749034237951179176603197670035301626330235150697208948347179582931357205671562607504308156682273841564497497998387971057310104346333393668901951127 1566697516478988845142244368207532782785984813554092963661821958780022942083001381619148784426536886561824317437404677738983840332475693448419336811927236868861321721697306157412406241696827355306344147741937674513254878016124879404695438240826398639504107642676733139388851947442871935514233522020121927581813000858058422058680924817856358203369457830099485834730735810359235328009557946445095151360988613379473506335150209217183573329901358174000617480859011725929555968260685498174149406845562059577656622182458644155549372146997162235867043009185703334522156486063830915925493197830420459285826394710536013388944385754928471663693002509719798294574339769833099327277311066523401229120128345275283235515301494355603054754666886968367228729239652761879108103126755240539071625106750796335052879640702774191179360566271367261343619555666297651041713514650591559661053129515333012045537203166280397152299318485456430777540352581115967138014661374231295734393124295238986415011470916068175367697453202865666259917856689555831346547380942769830672360011846100344532489675126128682084345117777907571055955036044728671659130487615553519326316211402781405136736915082439491026841430241299669426668908197854874686775894393157947887340885685331739023999792772137093342113412711597273778983005705470863067751411107853649671208091002707170294756989535846180642434356467104706818204551294384825780908071160906542092284318869329013603392643362221721234206438853247911167156346524807851078652631139449560971267281744436163693658222528103976743698516064002533106548931988133511884912592126672786819381981054257078407888092544097839798826930802440760883965786435494595198050239872394727328475595729271311961885455469809037594743015424708736577400893936370087375102763643514896330721257232304515956944673249563800981752525954198202981200297146341487850442668282604706218895187680450984062055762278003644095339215022146036511735107252969755695404026845307231309736725312172497140298621464818831480162097015239206658327458115513326134845534604168351019798005270443150508900463436960890934558702135987134055412738196861512117990639791532768199881989644605082032057772882647252927658394544274657328922134384663360637406405201753073797954668368566864854024627919002048537671303339438417537037537268658478254102753271821697155286078987954111591865692588221038728016558630397420611217425652890304598554404734610282409003033987264200989903132659408331255783394211613264803317571890660616947148727586617454155599800453734946653858017134020365612552258167410578053230654036520526900823118677074688997966771652707212928737675437051 2534969831753052435615534602887957045359217196431108905706760449176275711499749745043082199909978877128947838730309903510913814592688861667542549422454573726952451227666594590495893696394256251768753986623697702479967452712828838183182997460511545774429882409183476233320647579193840086181673609007082241370275235740778086888243336268724345907241604261711168647694322585120417003162648400445457060504858352668154257243628378887790533542732522516039852836891454294486863431796542690278842775452752028370471454247820443745494075983904425257098893741066553344489104463496793641206265208772548998321197975546730368430940875508334442217226642267941028475482240195813936514664627217171447565010782694404972463307941459315273620979631392191658876446907255985457033785730477285838625904324589867632613148533450170517100453681292170008485384414315856346755139792096828268863742039002297844006436828540682376358298717691560309176226984833333702229922888969180566984715576500374894331514914268031983319805792811590482077764678446656790042867354240426030523434722919731765983082534362949754440401428030091182276873342647391150388870615051409081105800169819293154286995135517801499094101887942866833033723245212562124421795725467194850290560319048325834587461273230540899128325795076429348154454407052725859786378656277736637855857490177981403573596751395560368525167218131577227551853051095579862058779520080730242423823787267968499336177985762245861339213217737505667477326314549731517788337622922808534361960591456290195669074303203838796847049535793168384469289985639545759496305099974205588301199058413656401300589632202436147038091022648483081577434932457522591069404467049289025255501622567169813724143680104864737235598198122264900024788432803662761670653810662852503095336176092667479686783126595505841443724628067673377610538533013134444596823901371487255921605020377437495601458447293774627690954088494174169148974810647287319456851744200073834086197195926226293297588448658221470981821463765888756702890487458285278304146047099593663187631563091108894140200604906208490684816668264092458625979810819456261888196955194609488363111194418918822524636383046304410298889701587014790155020989736156138455322533648628460919622886762306592839809683668743201056423053925482356362853584750787077706101381241893375400429304587412747457477779278566418667057370532226397942410123843596374584253598248106117413561652595160157030643817008880242604285871906498940949439382718409651185099906763220651825635102080065181804555226082367545195483615373082140660734962193202800742387616175073076969024081757053546322406577388178 4101667348232041280757778971095489828145202009985201869368582407956298653582751126662230984336515763690772156167714581249897654925164555115961886234381810595813772949363900747908299938091083607075098134365635376993222330728953717587878435701337944413933990051860209372709499526636712021695907131027204168952088236598836508946924261086580704110611062091810654482425058395479652331172206346890552211865846966047627763578778588104974106872633880690040470317750466020416419400057228188452992182298314087948128076430279087901043448130901587492965936750252256679011260949560624557131758406602969457607024370257266381819885261263262913880919644777660826770056579965647035841941938283694848794130911039680255698823242953670876675734298279160026105176146908747336141888857232526377697529431340663967666028174152944708279814247563537269829003969982153997796853306747419828524795168517630856051974031706962773510598036177016739953767337414449669367937550343411862719108700795613880746526385184100158687503246014456148337682535136212621389414735183195861195794734765832110515572209489078436524746545807998753332828378692119822048001102666962600432116381222074559423732050600240990120943318184166502460392153410416999108571619860352798177901204733657573611461066002677992470439207788026621933437412758196722854130067385590287527065581180688573868353740931406549167601574598681934370057602389964687839687591241636784516108106137297512939570629124467582573419656590753578644482661074539368866990254062258095333227873200726359362732525731942773590748051857170917575838917627679271381217692100878375120581039467913479708477724746533986836917953450923842461400718893017186267454706921683752583977218296441125686029135574673774830341213546973636602189326740032849045756574306367399426057433324971995643727799845069642425477154021871580591738830159475932447266569654091962140500208057888479663514209571778271786293303516320205660709917900257075152255771045381065395933921238398790437887070123040302461983560781127963361217945573798604438991581703762014207429568361552044649101068343169381619375370400079592681392549016317774006187594986142256562993184063523904556694155928951663226548096131289447483943124120819499092728938850381534717577555130873457693834311587745249594094357264920773899891122019445555960204134513715072555715383575366859049343471866787457395073929162623818553627549496486679182808002982716399822564686582424358020546949668288573860069266118112205752756954609070268132248634349838105981234902533800128458413243216387910808035873540492718713965616229723327643210734852147765966990853409760759251144252825229 6636637179985093716373313573983446873504419206416310775075342857132574365082500871705313184246494640819719994898024484760811469517853416783504435656836384322766224177030495338404193634485339858843852120989333079473189783441782555771061433161849490188363872461043685606030147105830552107877580740034286410322363472339614595835167597355305050017852666353521823130119380980600069334334854747336009272370705318715782020822406966992764640415366403206080323154641920314903282831853770878731834957751066116318599530678099531646537524114806012750064830491318810023500365413057418198338023615375518455928222345803996750250826136771597356098146287045601855245538820161460972356606565500866296359141693734085228162131184412986150296713929671351684981623054164732793175674587709812216323433755930531600279176707603115225380267928855707278314388384298010344551993098844248097388537207519928700058410860247645149868896753868577049129994322247783371597860439312592429703824277295988775078041299452132142007309038826046630415447213582869411432282089423621891719229457685563876498654743852028190965147973838089935609701721339510972436871717718371681537916551041367713710727186118042489215045206127033335494115398622979123530367345327547648468461523781983408198922339233218891598765002864455970087891819810922582640508723663326925382923071358669977441950492326966917692768792730259161921910653485544549898467111322367026939931893405266012275748614886713443912632874328259246121808975624270886655327876985066629695188464657016555031806828935781570437797587650339302045128903267225030877522792075083963421780097881569881009067356948970133875008976099406924038835651350539777336859173970972777839478840863610939410172815679538512065939411669238536626977759543695610716410384969219902521393609417639475330510926440575483869201782089544958202277363172610377044090471025579218062105228435325975264972656865552899477247392010494374809684728547544394609107515245454899482131117164625083735475518781261773443805024547016720064108433032083882743137628803355677395061131452660938789301673249377872304192038664172051307372359835774035894384550180751744926104378482442727081330538975256073525437797718304237638964113856975637548051472499009995637200441893180050533643995256488450650517411190403130262744706770232633666305515755608447956144688162779606506821251145353876062131299694850216496037673340083053767061601230822517236126339177584515051190766677168816464355138024611146702196337327479919317348541113058757806870004613865310262968469298755456003519488913574859374700578422926128385598351027220842936014935166814305573550830213407 10738304528217134997131092545078936701649621216401512644443925265088873018665251998367544168583010404510492151065739066010709124443017971899466321891218194918579997126394396086312493572576423465918950255354968456466412114170736273358939868863187434602297862512903894978739646632467264129573487871061490579274451708938451104782091858441885754128463728445332477612544439376079721665507061094226561484236552284763409784401185555097738747288000283896120793472392386335319702231910999067184827140049380204266727607108378619547580972245707600243030767241571066702511626362618042755469782021978487913535246716061263132070711398034860269979065931823262682015595400127108008198548503784561145153272604773765483860954427366657026972448227950511711086799201073480129317563444942338594020963187271195567945204881756059933660082176419244548143392354280164342348846405591667925913332376037559556110384891954607923379494790045593789083761659662233040965797989656004292422932978091602655824567684636232300694812284840502778753129748719082032821696824606817752915024192451395987014226953341106627489894519646088688942530100031630794484872820385334281970032932263442273134459236718283479335988524311199837954507552033396122638938965187900446646362728515640981810383405235896884069204210652482592021329232569119305494638791048917212909988652539358551310304233258373466860370367328941096291968255875509237738154702564003811456039999542563525215319244011181026486052530919012824766291636698810255522318131047324725028416337857742914394539354667724344028545639507510219620967820894904302258740484175962338542361137349483360717545081695504120711926929550330766500236370243556963604313880892656530423456059160052065096201951254212286896280625216212173229167086283728459762166959275587301947451042742611470974238726285645126294678936111416538794016193332086309491357040679671180202605436493214454928486866437331171263540695526814580470394646447801469761363286290835964878065038403023874173362588904302075905788585328144683425326378605882487182129210507117691602490699814212983438402741592547253923567409064251643988764908852091809900572145166894001489097562545966631638024694904207736751985893849593685122907237977795136640780411349391530354777997024053508227478306844233700244611768455323904162635828789678189626509650269323520511860071738146465556164723012141333457205228857474035049665222836569732949869604213538917058691025760008873071737716345457390324424404142723352454953291936550187449597175462896863788104907147665438721381712515143366811555362454067578088666194652649456028809085879368608903005788576575064824695083038636 17374941708202228713504406119062383575154040422817823419519268122221447383747752870072857352829505045330212145963763550771520593960871388682970757548054579241346221303424891424716687207061763324762802376344301535939601897612518829130001302025036924790661734973947580584769793738297816237451068611095776989596815181278065700617259455797190804146316394798854300742663820356679790999841915841562570756607257603479191805223592522090503387703366687102201116627034306650222985063764769945916662097800446320585327137786478151194118496360513612993095597732889876726011991775675460953807805637354006369463469061865259882321537534806457626077212218868864537261134220288568980555155069285427441512414298507850712023085611779643177269162157621863396068422255238212922493238032652150810344396943201727168224381589359175159040350105274951826457780738578174686900839504435916023301869583557488256168795752202253073248391543914170838213755981910016412563658428968596722126757255387591430902608984088364442702121323666549409168576962301951444253978914030439644634253650136959863512881697193134818455042493484178624552231821371141766921744538103705963507949483304809986845186422836325968551033730438233173448622950656375246169306310515448095114824252297624390009305744469115775667969213516938562109221052380041888135147514712244138292911723898028528752254725585340384553139160059200258213878909361053787636621813886370838395971892947829537491067858897894470398685405247272070888100612323081142177646008032391354723604802514759469426346183603505914466343227157849521666096724162129333136263276251046301964141235231053241726612438644474254586935905649737690539072021594096740941173054863629308262934900023663004506374766933750798962220036885450709856144845827424070478577344244807204468844652160250946304749652726220610163880718200961496996293556504696686535447511705250398264710664928540430193459523302884070740788087537308955280079374995345864370470801536290864360196155567648957908838107685563849349593609875161403489434811637966369925266839310473368997551831266873922227704414841925126227759447728423695296137268687865845794956695347645746415201941028409358719355233879463810277423691567897922761871351834770774188831883848401525991978438917233558761122302100722150895129179645727034425380535559910823292815166024931968468004759900926072062985974157495209519336528552324251545702896176652786716931205444361434294817364937593388122928483022626206788779542167334499157149629264030106766945716575955621594974911761530748984350181813898822815074851367642437463366773075575584414407436906589451839020723743389370398245913252043 28113246236419363710635498664141320276803661639219336063963193387310320402413004868440401521412515449840704297029502616782229718403889360582437079439272774159926218429819287511029180779638186790681752631699269992406014011783255102488941170888224359392959597486851475563509440370765080367024556482157267568871266890216516805399351314239076558274780123244186778355208259732759512665348976935789132240843809888242601589624778077188242134991366970998321910099426692985542687295675769013101489237849826524852054744894856770741699468606221213236126364974460943428523618138293503709277587659332494282998715777926523014392248932841317896056278150692127219276729620415676988753703573069988586665686903281616195884040039146300204241610385572375107155221456311693051810801477594489404365360130472922736169586471115235092700432281694196374601173092858339029249685910027583949215201959595047812279180644156860996627886333959764627297517641572249453529456418624601014549690233479194086727176668724596743396933608507052187921706711021033477075675738637257397549277842588355850527108650534241445944937013130267313494761921402772561406617358489040245477982415568252259979645659554609447887022254749433011403130502689771368808245275703348541761186980813265371819689149705012659737173424169421154130550284949161193629786305761161351202900376437387080062558958843713851413509527388141354505847165236563025374776516450374649852011892490393062706387102909075496884737936166284895654392249021891397699964139079716079752021140372502383820885538271230258494888866665359741287064545057033635395003760427008640506502372580536602444157520339978375298862835200068457039308391837653704545486935756285838686390959183715069602576718187963085858500662101662883085311932111152530240744303520394506416295694902862417278988379011865736458559654312378035790309749836782996026804552384921578467316101421754885121946389740215242004328783064123535750474021443147334131834087827126829238261193970672832082200696589865925255382195203306086914761190243848857107396049817591060600042531081086905666107156434472380151326856792675339284902177539957655695528840514539747904299503574375990357379928783671547029409585417491607884778589812565910829612295197793056346756435941287066988600608944955851139740948101050938588016364349589012919324816294255488979864831639072537619150697169636542976541757409798286595368119013222519666800809657900351353508390697602261194666199368083597113203946310057851612102921200580294216542892038852485383079818909196187705731894329042189626630213821710015552032967728225040443216522785958060742026512319964435222940996290679 45488187944621592424139904783203703851957702062037159483482461509531767786160757738513258874242020495170916442993266167553750312364760749265407836987327353401272439733244178935745867986699950115444555008043571528345615909395773931618942472913261284183621332460799056148279234109062896604475625093253044558468082071494582506016610770036267362421096518043041079097872080089439303665190892777351702997451067491721793394848370599278745522694733658100523026726460999635765672359440538959018151335650272845437381882681334921935817964966734826229221962707350820154535609913968964663085393296686500652462184839791782896713786467647775522133490369560991756537863840704245969308858642355416028178101201789466907907125650925943381510772543194238503223643711549905974304039510246640214709757073674649904393968060474410251740782386969148201058953831436513716150525414463499972517071543152536068447976396359114069876277877873935465511273623482265866093114847593197736676447488866785517629785652812961186099054932173601597090283673322984921329654652667697042183531492725315714039990347727376264399979506614445938046993742773914328328361896592746208985931898873062246824832082390935416438055985187666184851753453346146614977551586218796636876011233110889761828994894174128435405142637686359716239771337329203081764933820473405489495812100335415608814813684429054235966648687447341612719726074597616813011398330336745488247983785438222600197454961806969967283423341413556966542492861344972539877610147112107434475625942887261853247231721874736172961232093823209262953161269219162968531267036678054942470643607811589844170769958984452629885798740849806147578380413431750445486659990619915146949325859207378074108951485121713884820720698987113592941456777938576600719321647765201710885140347063113363583738031738086346622440372513339532786603306341479682562252064090171976732026766350295315315405913043099312745116870601432491030553396438493198502304889363417693598457349538321789991038804275429774604975805078467490404196001881815227032662889128064429597594362347960827893811571276397506379086304521099034581039446227823501490485535862185494319501444602785349076735162663135357306833276985389530646649941647336685018444179046194582338734874858520625749722911045678002034870127746777973013396899909499836212139982319187457447869591539998609682136671327131752495878285962122538141071015189875306383732015102261785648325755635195649317594682390709803901983488477392350769252550464610400983488608614808106978054730670726936690082076142941012441705065189352453015399740803800624857623959692547512581047236063353805621186909542722 73601434181040956134775403447345024128761363701256495547445654896842088188573762606953660395654535945011620740022768784335980030768650109847844916426600127561198658163063466446775048766338136906126307639742841520751629921179029034107883643801485643576580929947650531711788674479827976971500181575410312127339348961711099311415962084275343920695876641287227857453080339822198816330539869713140835238294877379964394984473148676466987657686100629098844936825887692621308359655116307972119640573500099370289436627576191692677517433572956039465348327681811763583059228052262468372362980956018994935460900617718305911106035400489093418189768520253118975814593461119922958062562215425404614843788105071083103791165690072243585752382928766613610378865167861599026114840987841129619075117204147572640563554531589645344441214668663344575660126924294852745400211324491083921732273502747583880727157040515975066504164211833700092808791265054515319622571266217798751226137722345979604356962321537557929495988540680653785011990384344018398405330391304954439732809335313671564567098998261617710344916519744713251541755664176686889734979255081786454463914314441314506804477741945544864325078239937099196254883956035917983785796861922145178637198213924155133648684043879141095142316061855780870370321622278364275394720126234566840698712476772802688877372643272768087380158214835482967225573239834179838386174846787120138099995677928615662903842064716045464168161277579841862196885110366863937577574286191823514227647083259764237068117260145966431456120960488569004240225814276196603926270797105063582977145980392126446614927479324431005184661576049874604617688805269404150032146926376200985635716818391093143711528203309676970679221361088776476026768710049729130960065951285596217301436041965975780862726410749952083081000026825717568576913056178262678589056616475093555199342867772050200437352302783314554749445653665556026781027417881640532634138977190544522836718543508994622073239500865295699860358000281773577318957192125664084140058938945655490197636893429047733559918727710869886530413161313774373865941623767781157186014376376725242223800948177161339434115091446806904336242862402881138531428531459902595848056474243987638685491310799807692738323519990633853174611075847828911601413264259088849131464798613442946427734423179071147301287368496768295472420043371920824736439134203097826050532824760162137001834146332797910512260881758793401015187434787450202381355471665190695200031500653660592361134549579923124395813970471983202068335279011062468567432708532025665300840482478505573323073748383318240844127905833401 119089622125662548558915308230548727980719065763293655030928116406373855974734520345466919269896556440182537183016034951889730343133410859113252753413927480962471097896307645382520916753038087021570862647786413049097245830574802965726826116714746927760202262408449587860067908588890873575975806668663356685807431033205681817432572854311611283116973159330268936550952419911638119995730762490492538235745944871686188379321519275745733180380834287199367963552348692257074032014556846931137791909150372215726818510257526614613335398539690865694570290389162583737594837966231433035448374252705495587923085457510088807819821868136868940323258889814110732352457301824168927371420857780820643021889306860550011698291340998186967263155471960852113602508879411505000418880498087769833784874277822222544957522592064055596181997055632492776719080755731366461550736738954583894249345045900119949175133436875089136380442089707635558320064888536781185715686113810996487902585211212765121986747974350519115595043472854255382102274057667003319734985043972651481916340828038987278607089345988993974744896026359159189588749406950601218063341151674532663449846213314376753629309824336480280763134225124765381106637409382064598763348448140941815513209447035044895477678938053269530547458699542140586610092959607567357159653946707972330194524577108218297692186327701822323346806902282824579945299314431796651397573177123865626347979463366838263101297026523015431451584618993398828739377971711836477455184433303930948703273026147026090315348982020702604417353054311778267193387083495359572457537833783118525447789588203716290785697438308883635070460316899680752196069218701154595518806916996116132585042677598471217820479688431390855499942060075890068968225487988305731679387599050797928186576389029089144446464442488038429703440399339057101363516362519742361151308680565265531931369634122345515752758215826413867494562524266988517811580814320133731136443866553962216435175893047316412064278305140725474465333805360241067723153194007479311172721828073719919795231255777008561453730298987267392909499465834873408446981069995604658676499912238910736543302392779946688510850254109942261643076139388270669178078473107239280866500653290182221024226185658328318488046431036311855209481203594606884614810164168588685343604780932630403875604014719069756983424039823900047968298329334043362877510149392973132434264839862423922650159901967993559829855564149503204917170923264842553150608022129801096183520109268468699339189280250650061085896046614924214510040344200414921582832449335826290158464442171053085904120984446672046465314815376123 192691056306703504693690711677893752109480429464550150578373771303215944163308282952420579665551092385194157923038803736225710373902060968961097669840527608523669756059371111829295965519376223927697170287529254569848875751753831999834709760516232571336783192356100119571856583068718850547475988244073668813146779994916781128848534938586955203812849800617496794004032759733836936326270632203633373474040822251650583363794667952212720838066934916298212900378236384878382391669673154903257432482650471586016255137833718307290852832112646905159918618070974347320654066018493901407811355208724490523383986075228394718925857268625962358513027410067229708167050762944091885433983073206225257865677411931633115489457031070430553015538400727465723981374047273104026533721485928899452859991481969795185521077123653700940623211724295837352379207680026219206950948063445667815981618548647703829902290477391064202884606301541335651128856153591296505338257380028795239128722933558744726343710295888077045091032013534909167114264442011021718140315435277605921649150163352658843174188344250611685089812546103872441130505071127288107798320406756319117913760527755691260433787566282025145088212465061864577361521365417982582549145310063086994150407660959200029126362981932410625689774761397921456980414581885931632554374072942539170893237053881020986569558970974590410726965117118307547170872554265976489783748023910985764447975141295453926005139091239060895619745896573240690936263082078700415032758719495754462930920109406790327383466242166669035873474014800347271433612897771556176383808630888182108424935568595842737400624917633314640255121892949555356813758023970558745550953843372317118220759495989564361532007891741067826179163421164666544994994198038034862639453550336394145488012430995064925309190853237990512784440426164774669940429418698005039740365297040359087130712501894395716190110518609728422244008177932544544592608232201774263770582843744506739271894436556311034137517806006021174325691805642014645042110386133143395312780767019375409992868149206056295013649026698137279439912627148647782312922693763385815862514288615635978767103340957108027944965345556749165979319001791151807709507004567141876714557127534169859709717496458136011226369951026945708384092279442435796216223428427677534475069579546073350303338437898140904284711408320668343440718372705964187613949283596070958484797664622586059651994048300791470342116445908296605932358358052292755531963493794991791383551609922129291700323829830573185481710017086907416578375623211477390150265157867851955459304924649558659227194732829990287309442721209524 311780678432366053252606019908442480090199495227843805609301887709589800138042803297887498935447648825376695106054838688115440717035471828074350423254455089486140853955678757211816882272414310949268032935315667618946121582328634965561535877230979499096985454764549707431924491657609724123451794912737025498954211028122462946281107792898566486929822959947765730554985179645475056322001394694125911709786767123336771743116187227958454018447769203497580863930585077135456423684230001834395224391800843801743073648091244921904188230652337770854488908460136931058248903984725334443259729461429986111307071532738483526745679136762831298836286299881340440519508064768260812805403930987045900887566718792183127187748372068617520278693872688317837583882926684609026952601984016669286644865759792017730478599715717756536805208779928330129098288435757585668501684802400251710230963594547823779077423914266153339265048391248971209448921042128077691053943493839791727031308144771509848330458270238596160686075486389164549216538499678025037875300479250257403565490991391646121781277690239605659834708572463031630719254478077889325861661558430851781363606741070068014063097390618505425851346690186629958468158774800047181312493758204028809663617107994244924604041919985680156237233460940062043590507541493498989714028019650511501087761630989239284261745298676412734073772019401132127116171868697773141181321201034851390795954604662292189106436117762076327071330515566639519675641053790536892487943152799685411634193135553816417698815224187371640290827069112125538626999981266915748841346464671300633872725156799559028186322355942198275325582209849236109009827242671713341069760760368433250805802173588035579352487580172458681679105481240556613963219686026340594318841149387192073674588820024154069755655295726028942487880825503831771303945781217747400891673977605624619062082136016741231942868734436142289738570702199533062404189046521907994907026710298468955707070329603627446201796111146746648791025611002255712765263580140622706485502595093095329788099404983064856467379325685404672349412092983521190759903763758990474539014200854546715310405733737054716455815599666691427622395141179422476887585477674381157581057780824352080733943682116464329714416382063257563593573483037042680831033592596266219818674360478703754178942452617210661268135448144568391409016702040007550491459432989044090919062504485009982302153950268785030171972010057799810849529281317135308682571515924792887567071719190597991039513110081223246567606063701831631088415967411892311733097607203678245617769366820611745131315717276662333774757536585647 504471734739069557946296731586336232199679924692393956187675659012805744301351086250308078600998741210570853029093642424341151090937532797035448093094982698009810610015049869041112847791790534876965203222844922188794997334082466965396245637747212070433768647120649827003781074726328574670927783156810694312100991023039244075129642731485521690742672760565262524559017939379311992648272026897759285183827589374987355106910855180171174856514704119795793764308821462013838815353903156737652656874451315387759328785924963229195041062764984676014407526531111278378902970003219235851071084670154476634691057607966878245671536405388793657349313709948570148686558827712352698239387004193271158753244130723816242677205403139048073294232273415783561565256973957713053486323469945568739504857241761812915999676839371457477428420504224167481477496115783804875452632865845919526212582143195527608979714391657217542149654692790306860577777195719374196392200873868586966160031078330254574674168566126673205777107499924073716330802941689046756015615914527863325214641154744304964955466034490217344924521118566904071849759549205177433659981965187170899277367268825759274496884956900530570939559155248494535829680140218029763861639068267115803814024768953444953730404901918090781927008222337983500570922123379430622268402092593050671980998684870260270831304269651003144800737136519439674287044422963749630965069224945837155243929745957746115111575209001137222691076412139880210611904135869237307520701872295439874565113244960606745082281466354040676164301083912472810060612879038471925225155095559482742297660725395401765586947273575512915580704102798791465823585266642272086620714603740750369026561669577599940884495471913526507858268902405223158958213884064375456958294699723586219162601251019218995064846148964019455272321251668606441244375199915752440632039274645983706192794637911136948132979253045870711982578880132077606996797278723682258677609554042975694978964766159938480339313917152767823116717416644270357807373966273766101798283362112470739780967554189121151481028352383541951789324720132168973072826457522376290401528489470182694077509074694162744400780945223440593601714142970574284597092482241523034295614908358521940443661178574600340940786333090203271977665762479478477047257021023943754293743940024777104482280890515351565552846856465236734849735074745971738105408716585115049403860169107596041954147998569576500514088455966096416781887639369428064214535009719784678950623329112727282739836939911796432049316080788739047666791590623369701883362765071530201077074291470170404358510450106652621084200257795171 816252413171435611198902751494778712289879419920237761796977546722395544439393889548195577536446390035947548135148481112456591807973004625109798516349437787495951463970728626252929730064204845826233236158160589807741118916411101930957781514978191569530754101885199534435705566383938298794379578069547719811055202051161707021410750524384088177672495720513028255114003119024787048970273421591885196893614356498324126850027042408129628874962473323293374628239406539149295239038133158572047881266252159189502402434016208151099229293417322446868896434991248209437151873987944570294330814131584462745998129140705361772417215542151624956185600009829910589206066892480613511044790935180317059640810849515999369864953775207665593572926146104101399149139900642322080438925453962238026149723001553830646478276555089214014233629284152497610575784551541390543954317668246171236443545737743351388057138305923370881414703084039278070026698237847451887446144367708378693191339223101764423004626836365269366463182986313238265547341441367071793890916393778120728780132146135951086736743724729823004759229691029935702569014027283066759521643523618022680640974009895827288559982347519035996790905845435124494297838915018076945174132826471144613477641876947689878334446821903770938164241683278045544161429664872929611982430112243562173068760315859499555093049568327415878874509155920571801403216291661522772146390425980688546039884350620038304218011326763213549762406927706519730287545189659774200008645025095125286199306380514423162781096690541412316455128153024598348687612860305387674066501560230783376170385882194960793773269629517711190906286312648027574833412509313985427690475364109183619832363843165635520236983052085985189537374383645779772921433570090716051277135849110778292837190071043373064820501444690048397760202077172438212548320981133499841523713252251608325254876773927878180075847987482013001721149582331610669400986325245590253584636264341444650686035095763565926541110028299514471907743027646526070572637546414388808283785957205566069569066959172186007948407678068946624138736813115690163832730221281366764940542690324729409387914808431217460856596544890132021224109284149996761484677959915904191876672689182874021177604860691064670655202715153460835571239245516521157878290613620209974112418300503480858661223343132562226820982304609805126258751776785979288596868149574159140322922673592606024256301948838361530686060466023896227631416920686563372897106525644577566517695048303325273779350049993019678616922144490570678755207558035262013616460372275208446694843658290782149489826167383314954858957794380818 1320724147910505169145199483081114944489559344612631717984653205735201288740744975798503656137445131246518401164242123536797742898910537422145246609444420485505762073985778495294042577855995380703198439381005511996536116250493568896354027152725403639964522749005849361439486641110266873465307361226358414123156193074200951096540393255869609868415168481078290779673021058404099041618545448489644482077441945873311481956937897588300803731477177443089168392548228001163134054392036315309700538140703474577261731219941171380294270356182307122883303961522359487816054843991163806145401898801738939380689186748672240018088751947540418613534913719778480737892625720192966209284177939373588218394054980239815612542159178346713666867158419519884960714396874600035133925248923907806765654580243315643562477953394460671491662049788376665092053280667325195419406950534092090762656127880938878997036852697580588423564357776829584930604475433566826083838345241576965659351370301432018997678795402491942572240290486237311981878144383056118549906532308305984053994773300880256051692209759220040349683750809596839774418773576488244193181625488805193579918341278721586563056867304419566567730465000683619030127519055236106709035771894738260417291666645901134832064851723821861720091249905616029044732351788252360234250832204836612845049759000729759825924353837978419023675246292440011475690260714625272403111459650926525701283814096577784419329586535764350772453483339846399940899449325529011507529346897390565160764419625475029907863378156895452992619429236937071158748225739343859599291656655790266118468046607590362559360216903093224106486990415446819040656997775956257514311189967849933988858925512743235461121478523999511697395643286051002931879647454155091508235430548834364511999791322062592059885347593654067853032523328841044653792696181049252282155752526897592031447671411839015128208827240527883713703728462463688276397783603969272512262245818384420345664999861923504406880423945452282295024460444290796428380011512688154910082069319318036809350034513361307159429436030452488575928061533247859136905556678803743055342071179794912103465423883125380205257377490113572614825823427120571046081770442157427226172287597541395961621266039265665011595989048243664107548905007995999634925547634644153728406162240528257963143504233647913792373829161075041861108486851531951026702276866159274189726782842700202066210449947407938031200148921989992644413304560055991437111641535364362245468318377416052556519186989904816110666238225279309726421999148658631715499823137346738647771917949760952553848336617489967575943158052175989 2136976561081940780344102234575893656779438764532869479781630752457596833180138865346699233673891521282465949299390604649254334706883542047255045125793858273001713537956507121546972307920200226529431675539166101804277235166904670827311808667703595209495276850891048895875192207494205172259686939295906133934211395125362658117951143780253698046087664201591319034787024177428886090588818870081529678971056302371635608806964939996430432606439650766382543020787634540312429293430169473881748419406955633766764133653957379531393499649599629569752200396513607697253206717979108376439732712933323402126687315889377601790505967489692043569720513729608391327098692612673579720328968874553905278034865829755814982407112953554379260440084565623986359863536775242357214364174377870044791804303244869474208956229949549885505895679072529162702629065218866585963361268202338261999099673618682230385093991003503959304979060860868863000631173671414277971284489609285344352542709524533783420683422238857211938703473472550550247425485824423190343797448702084104782774905447016207138428953483949863354442980500626775476987787603771310952703269012423216260559315288617413851616849651938602564521370846118743524425357970254183654209904721209405030769308522848824710399298545725632658255491588894074588893781453125289846233262317080175018118519316589259381017403406305834902549755448360583277093477006286795175257850076907214247323698447197822723547597862527564322215890267552919671186994515188785707537991922485690446963726005989453070644474847436865309074557389961669507435838599649247273358158216021049494638432489785323353133486532610935297393276728094846615490410285270242942001665331959117608691289355908870981358461576085496886933017669696782704801081024245807559512566397945142804836981393105965124705849038344116250792725406013482866341017162182752123679465779149200356702548185766893308284675228009896715424878044795298945798769929214862765846882082725864996351034957687070333421533973751796766932203471937322498952649059102543718365855276523602878919101472533493167377843708521435200066798346363549300738286900085109820282613870119641512853338691556597666113974035003704636049932711270567807566448402073331418048960286724269982798870899956729682251191763397124943120144253512520792803838248264363702518580541031738821804727576780476019194811465684846987367238628317930315299145015733433330049705516292808090466751896246299561886209388013888872044721480742554810008748061008939811986013425719377830298537039897835789283160369769880405177206706693893729116283509621947094466761608051734703338162784873282530802115846556807 3457700708992445949489301717657008601268998109145501197766283958192798121920883841145202889811336652528984350463632728186052077605794079469400291735238278758507475611942285616841014885776195607232630114920171613800813351417398239723665835820428998849459799599896898257314678848604472045724994300522264548057367588199563609214491537036123307914502832682669609814460045235832985132207364318571174161048498248244947090763902837584731236337916828209471711413335862541475563347822205789191448957547659108344025864873898550911687770005781936692635504358035967185069261561970272182585134611735062341507376502638049841808594719437232462183255427449386872064991318332866545929613146813927493496428920809995630594949272131901092927307242985143871320577933649842392348289423301777851557458883488185117771434183344010556997557728860905827794682345886191781382768218736430352761755801499621109382130843701084547728543418637698447931235649104981104055122834850862310011894079825965802418362217641349154510943763958787862229303630207479308893703981010390088836769678747896463190121163243169903704126731310223615251406561180259555145884894501228409840477656567339000414673716956358169132251835846802362554552877025490290363245676615947665448060975168749959542464150269547494378346741494510103633626133241377650080484094521916787863168278317319019206941757244284253926225001740800594752783737720912067578369309727833739948607512543775607142877184398291915094669373607399319612086443840717797215067338819876255607728145631464482978507853004332318301693986626898740666184064338993106872649814871811315613106479097375685912493703435704159403880267143541665656147408061226500456312855299809051597550214868652106442479940100085008584328660955747785636680728478400899067747996946779507316836772715168557184591196631998184103825248734854527520133713343232004405835218306046792388150219597605908436493502468537780429128606507258987222196553533184135278109127901110285342016034819610574740301957919204079061956663916228118927332660571790698628447924595841639688269135985894800326807279738973923775994859879611408437643843578888852875624685049914553616318762574681977871371351525117277250875756138391138853648218844230758644221247884265665944420136939222394693847180811640789050669049261508520427729385882908517430924742781559996784948231810428389811568640626759888848475725479849881342001421881892707519776488358993010156677201843654237593086358310003881516458026040798546247120389596373302057454331803135430386817724029802651899949398595049190131599205855352525444616106646968685742238679557812687257186499402363250106745273898732796 5594677270074386729833403952232902258048436873678370677547914710650394955101022706491902123485228173811450299763023332835306412312677621516655336861032137031509189149898792738387987193696395833762061790459337715605090586584302910550977644488132594058955076450787947153189871056098677217984681239818170681991578983324926267332442680816377005960590496884260928849247069413261871222796183188652703840019554550616582699570867777581161668944356478975854254434123497081787992641252375263073197376954614742110789998527855930443081269655381566262387704754549574882322468279949380559024867324668385743634063818527427443599100686926924505752975941178995263392090010945540125649942115688481398774463786639751445577356385085455472187747327550767857680441470425084749562653597679647896349263186733054591980390413293560442503453407933434990497311411105058367346129486938768614760855475118303339767224834704588507033522479498567310931866822776395382026407324460147654364436789350499585839045639880206366449647237431338412476729116031902499237501429712474193619544584194912670328550116727119767058569711810850390728394348784030866098588163513651626101036971855956414266290566608296771696773206692921106078978234995744474017455581337157070478830283691598784252863448815273127036602233083404178222519914694502939926717356838996962881286797633908278587959160650590088828774757189161178029877214727198862753627159804740954195931210990973429866424782260819479416885263874952239283273438355906582922605330742361946054691871637453936049152327851769183610768544016860410173619902938642354146007973087832365107744911587161009265627189968315094701273543871636512271637818346496743398314520631768169206241504224560977423838401676170505471261678625444568341481809502646706627260563344724650121673754108274522309297045670342300354617974140868010386474730505414756529514684085195992744852767783372801744778177696547677144553484552054286167995323462398998043956009983836150338367069777297645073723491892955875828888867388165441426285309630893242346813779872365242567188237458428293494185123447495358976061658225974957738382130478973962695907298920034195129172101266238575537485325560120981886925688849661706661214667246304090062270208170989935927219007839179124376098372575037913993789193515021041220533224131172881133443323322591735606752959387208865830763452092444735835842964108167811657300566897626140849826193875285818247143953739900537154972567698017770388502747521541101057129137657382241869440345228854808217116261069700487689232558964819070536776412562046419173732390156590632836705441165864421960524662187236532637547389745289603 9052377979066832679322705669889910859317434982823871875314198668843193077021906547637105013296564826340434650226656061021358489918471700986055628596270415790016664761841078355229002079472591440994691905379509329405903938001701150274643480308561592908414876050684845410504549904703149263709675540340435230048946571524489876546934217852500313875093329566930538663707114649094856355003547507223878001068052798861529790334770615165892905282273307185325965847459359623263555989074581052264646334502273850454815863401754481354769039661163502955023209112585542067391729841919652741610001936403448085141440321165477285407695406364156967936231368628382135457081329278406671579555262502408892270892707449747076172305657217356565115054570535911729001019404074927141910943020981425747906722070221239709751824596637570999501011136794340818291993756991250148728897705675198967522611276617924449149355678405673054762065898136265758863102471881376486081530159311009964376330869176465388257407857521555520960591001390126274706032746239381808131205410722864282456314262942809133518671279970289670762696443121074005979800909964290421244473058014880035941514628423295414680964283564654940829025042539723468633531112021234764380701257953104735926891258860348743795327599084820621414948974577914281856146047935880590007201451360913750744455075951227297794900917894874342754999758929961772782660952448110930331996469532574694144538723534749037009301966659111394511554637482351558895359882196624380137672669562238201662420017268918419027660180856101501912462530643759150839803967277635461018657787959643680720851390684536695178120893404019254105153811015178177927785226407723243854627375931577220803791719093213083866318341776255514055590339581192353978162537981047605695008560291504157438510526823443079493888242302340484458443222875722537906608443848646760935349902391242785133002987380978710181271680165085457573682091059313273390191876995583133322065137884946435680383104596908219814025449812159954890845531304393560353617970202683940975261704468206882255457373444323093820992403186469282752056518105586366176025974057862815571531983969948748745490863840920553408856677085238259137801444988052845514862886090534848706491456055255601871639144778401519069945553386678703044458242776529561648262610014081398564368066104151732391701191197637255642332092719204624684318689588017692999301988779518848369602682234278828403821155583554774748058926008021651904960773562339647304249527253755543926894677031990238603933985099503139589181957559868260668375618417398944618348496803559318578944120723677109217711161589599782744292663644022399 14647055249141219409156109622122813117365871856502242552862113379493588032122929254129007136781793000151884949989679393856664902231149322502710965457302552821525853911739871093616989273168987274756753695838847045010994524586004060825621124796694186967369952501472792563694420960801826481694356780158605912040525554849416143879376898668877319835683826451191467512954184062356727577799730695876581841087607349478112489905638392747054574226629786161180220281582856705051548630326956315337843711456888592565605861929610411797850309316545069217410913867135116949714198121869033300634869261071833828775504139692904729006796093291081473689207309807377398849171340223946797229497378190890291045356494089498521749662042302812037302801898086679586681460874500011891473596618661073644255985256954294301732215009931131442004464544727775808789305168096308516075027192613967582283466751736227788916580513110261561795588377634833069794969294657771868107937483771157618740767658526964974096453497401761887410238238821464687182761862271284307368706840435338476075858847137721803847221396697409437821266154931924396708195258748321287343061221528531662042551600279251828947254850172951712525798249232644574712509347016979238398156839290261806405721542551947528048191047900093748451551207661318460078665962630383529933918808199910713625741873585135576382860078545464431583774516119122950812538167175309793085623629337315648340469934525722466875726748919930873928439901357303798178633320552530963060278000304600147717111888906372355076812508707870685523231074660619561013423870216277815164665761047476045828596302271697704443748083372334348806427354886814690199423044754219987252941896563345390010033223317774061290156743452426019526852018206636922319644347483694312322269123636228807560184280931717601803185287972682784813061197016590548293083174354061517464864586476438777877855755164351511926049857861633134718235575611367559558187200457982131366021147868782586018750174374205864887748941705115830719734398692559001779903279833577183322075484340572124822645610902751387315177526633964641728118176331561323914408104536836778267439282889982943874662965107159128946342002645359241024727133837714552176077553336838938768761664226245537798858152617580643446043925961716617038247436291550602868795834145254279697811389426743467998454150584846121473095544811649360520161653696185504656602555677144989219428876109564646650965109323455311903031493706039422293463521083880748361378664911137785796335022260845046821050246169203627278414516524687331205152030979445363792080886960149951415649561889541531178235823776836315381840053389312002 23699433228208052088478815292012723976683306839326114428176312048336781109144835801766112150078357826492319600216335454878023392149621023488766594053572968611542518673580949448845991352641578715751445601218356374416898462587705211100264605105255779875784828552157637974198970865504975745404032320499041142089472126373906020426311116521377633710777156018122006176661298711451583932803278203100459842155660148339642280240409007912947479508903093346506186129042216328315104619401537367602490045959162443020421725331364893152619348977708572172434122979720659017105927963788686042244871197475281913916944460858382014414491499655238441625438678435759534306252669502353468809052640693299183316249201539245597921967699520168602417856468622591315682480278574939033384539639642499392162707327175534011484039606568702441505475681522116627081298925087558664803924898289166549806078028354152238065936191515934616557654275771098828658071766539148354189467643082167583117098527703430362353861354923317408370829240211590961888794608510666115499912251158202758532173110080530937365892676667699108583962598052998402687996168712611708587534279543411697984066228702547243628219133737606653354823291772368043346040459038214002778858097243366542332612801412296271843518646984914369866500182239232741934812010566264119941120259560824464370196949536362874177760996440338774338774275049084723595199119623420723417620098869890342485008658060471503885028715579042268439994538839655357073993202749155343197950669866838349379531906175290774104472689563972187435693605304378711853227837493913276183323549007119726549447692956234399621868976776353602911581165901992868127208271161943231107569272494922610813824942410987145156475085228681533582442357787829276297806885464741918017277683927732964998694807755160681297073530275023269271504419892313086199691618202708278400214488867681563010858742545330222107321538026718592291917666670680832948379077453565264688086285753729021699133278971114084701774391517275785610579929996952562133521250036261124297337188808779007078102984347074481136169929820433924480174694437147690090434078594699593838971266859931692620153828948079682355198679730597500162528578825767397690940439427373787475253120281501139670497297395982162515989479348395320082705679068080164517058444159335678262179455530895200390155341782483377115427637530853985204480343284203197655904544456663837589031558343843475054786264907010086651090419714061074198424294646220395665628192164893329723229699292835285424984231268706766867596474084555591873527649396844308410429383763709269994593682613218640395946985366436098126132717033334401 38346488477349271497634924914135537094049178695828356981038425427830369141267765055895119286860150826644204550206014848734688294380770345991477559510875521433068372585320820542462980625810565990508199297057203419427892987173709271925885729901949966843154781053630430537893391826306802227098389100657647054129997681223322164305688015190254953546460982469313473689615482773808311510603008898977041683243267497817754770146047400660002053735532879507686406410625073033366653249728493682940333757416051035586027587260975304950469658294253641389845036846855775966820126085657719342879740458547115742692448600551286743421287592946319915314645988243136933155424009726300266038550018884189474361605695628744119671629741822980639720658366709270902363941153074950924858136258303573036418692584129828313216254616499833883509940226249892435870604093183867180878952090903134132089544780090380026982516704626196178353242653405931898453041061196920222297405126853325201857866186230395336450314852325079295781067479033055649071556470781950422868619091593541234608031957218252741213114073365108546405228752984922799396191427460932995930595501071943360026617828981799072575473983910558365880621541005012618058549806055193241177014936533628348738334343964243799891709694885008118318051389900551202013477973196647649875039067760735177995938823121498450560621074985803205922548791168207674407737286798730516503243728207205990825478592586193970760755464498973142368434440196959155252626523301686306258228670171438497096643795081663129181285198271842872958924679964998272866651707710191091347989310054595772378043995227932104065617060148687951718008520788807558326631315916163218360511169058268000823858165728761206446631828681107553109294375994466198617451232948436230339546807563961772558879088686878283100258818247706054084565616908903634492774792556769795865079075344120340888714497709681734033371395888351727010153242282048392506566277911547396054107433622511607717883453345319949589523333222391616330314328689511563913424529869838307619412673149351131900748595249825868451347456454398566208292870768709014004842183131536372106410549749914636494816794055238811301540682375956741187255712663481949867017992764212726244014784507746677469355450013562805962033405310111937120953115359630767385854278304589957959990844957638668388609492367329498588523182342503345724641996980388702312507100133808826808460434453408121705751374230465398554121913420100496491887815730101144027006857076031115519564721553680332246034477437910394146010990609242923078679680376289672202510270723859221410243244502760171574182809143272413507972770422646403 62045921705557323586113740206148261070732485535154471409214737476167150250412600857661231436938508653136524150422350303612711686530391369480244153564448490044610891258901769991308971978452144706259644898275559793844791449761414483026150335007205746718939609605788068512092362691811777972502421421156688196219469807597228184731999131711632587257238138487435479866276781485259895443406287102077501525398927646157397050386456408572949533244435972854192592539667289361681757869130031050542823803375213478606449312592340198103089007271962213562279159826576434983926054049446405385124611656022397656609393061409668757835779092601558356940084666678896467461676679228653734847602659577488657677854897167989717593597441343149242138514835331862218046421431649889958242675897946072428581399911305362324700294223068536325015415907772009062951903018271425845682876989192300681895622808444532265048452896142130794910896929177030727111112827736068576486872769935492784974964713933825698804176207248396704151896719244646610960351079292616538368531342751743993140205067298783678579006750032807654989191351037921202084187596173544704518129780615355058010684057684346316203693117648165019235444832777380661404590265093407243955873033776994891070947145376540071735228341869922488184551572139783943948289983762911769816159327321559642366135772657861324738382071426141980261323066217292398002936406422151239920863827077096333310487250646665474645784180078015410808428979036614512326619726050841649456179340038276846476175701256953903285757887835815060394618285269376984719879545204104367531312859061715498927491688184166503687486036925041554629589686690800426453839587078106449468080441553190611637683108139748351603106913909789086691736733782295474915258118413178148356824491491694737557573896442038964397332348522729323356070036801216720692466410759478074265293564211801903899573240255011956140692933915070319302070908952729225454945355365112660742193719376240629417016732316434034291297724739667401940894258686464126046945779906099431916749861958130138978851579596900349587517386274832490688467565205856704095276261726235965945381816609846329114970623003318493656739362106554241349784291489249347557958432191586513719267904789247817139852747409544968478022884658507257203658794427710931902912722463925636222170300488533868778764834149812875703950819873357330929122340264591899968411644590472664397491992797251596760537639137475485205212333134161570690312110376321539692635049240924445242794420846515617671018708706617161013607464693798514952207329773133980612939654487568491404836927115978811970129794509708511634105487455980804 100392410182906595083748665120283798164781664230982828390253162903997519391680365913556350723798659479780728700628365152347399980911161715471721713075324011477679263844222590533771952604262710696767844195332763213272684436935123754952036064909155713562094390659418499049985754518118580199600810521814335250349467488820550349037687146901887540803699120956748953555892264259068206954009296001054543208642195143975151820532503809232951586979968852361878998950292362395048411118858524733483157560791264514192476899853315503053558665566215854952124196673432210950746180135104124728004352114569513399301841661960955501257066685547878272254730654922033400617100688954954000886152678461678132039460592796733837265227183166129881859173202041133120410362584724840883100812156249645465000092495435190637916548839568370208525356134021901498822507111455293026561829080095434813985167588534912292030969600768326973264139582582962625564153888932988798784277896788817986832830900164221035254491059573475999932964198277702260031907550074566961237150434345285227748237024517036419792120823397916201394420104022844001480379023634477700448725281687298418037301886666145388779167101558723385116066373782393279463140071148600485132887970310623239809281489340783871626938036754930606502602962040335145961767956959559419691198395082294820362074595779359775299003146411945186183871857385500072410673693220881756424107555284302324135965843232859445406539644576988553176863419233573667579246249352527955714408010209715343572819496338617032467043086107657933353542965234375257586531252914295458879302169116311271305535683412098607753103097073729506347598207479607984780470902994269667828591610611458612461541273868509558049738742590896639801031109776761673532709351361614378696371299055656510116452985128917247497591166770435377440635653710120355185241203316247870130372639555922244788287737964693690174064329803422046312224151234777617961511633276660056796301152998752237134900185661753983880821057962059018271208587375975689960370309775937739536162535107481270879600174846726218038864842729231056896760435974565718100118444857772338051792366359760965609787417058557304958280044482510982537040004152731297424976424955799239963282689296994494609208197423107774440056289968619194324611909787341699288767000768515594182161145446172537167374326517142374292474002215860676653764337244980602280918744724281491205952427250659718466289013367940883759334246554262067182199926106422683719641906316955560762359142400195949917053186144527555159618455303041438030887010149423652815449925211427712815080171618738983544312603652980925142078257878627207 162438331888463918669862405326432059235514149766137299799467900380164669642092966771217582160737168132917252851050715455960111667441553084951965866639772501522290155103124360525080924582714855403027489093608323007117475886696538237978186399916361460281034000265206567562078117209930358172103231942971023446568937296417778533769686278613520128060937259444184433422169045744328102397415583103132044734041122790132548870918960217805901120224404825216071591489959651756730168987988555784025981364166477992798926212445655701156647672838178068514403356500008645934672234184550530113128963770591911055911234723370624259092845778149436629194815321600929868078777368183607735733755338039166789717315489964723554858824624509279123997688037372995338456784016374730841343488054195717893581492406740552962616843062636906533540772041793910561774410129726718872244706069287735495880790396979444557079422496910457768175036511759993352675266716669057375271150666724310771807795614098046734058667266821872704084860917522348870992258629367183499605681777097029220888442091815820098371127573430723856383611455060765203564566619808022404966855062302653476047985944350491704982860219206888404351511206559773940867730336242007729088761004087618130880228634717323943362166378624853094687154534180119089910057940722471189507357722403854462728210368437221100037385217838087166445194923602792470413610099643032996344971382361398657446453093879524920052323824655003963985292398270188179905865975403369605170587350247992190048995197595570935752800973943472993748161250503752242306410798118399826410615028178026770233027371596265111440589133998771060977187894170408411234310490072376117296672052164649224099224382008257909652845656500685726492767843559057148447967469774792527053195790547351247674026881570956211894923515293164700796705690511337075877707614075725944395666203767724148687860978219705646314757263718492365614295060187506843416456988641772717538494872374992866551916917978188018172118782701726420212102846062439816007316089682037171452912397065611409858451754443626567626382229004063547585228001180422422195394706584008303997174182969607294724758040061875798615019406589065223886824295641980644982934857147385753682550594086242311749060944832652742918079174627126451528270704215052631191679723232441230404331445934706405946139160666955249996424822089218007582886677509572502249330389314754155603444420047911315226826652505416368964546579688423637872512036482744223412276955557880006005153563246711567588071894851144716173225919996839952983094339922557633428389579698996204219917098734717795514442398162689436776183745334608011 262830742071370513753611070446715857400295813997120128189721063284162189033773332684773932884535827612697981551679080608307511648352714800423687579715096512999969418947346951058852877186977566099795333288941086220390160323631661992930222464825517173843128390924625066612063871728048938371704042464785358696918404785238328882807373425515407668864636380400933386978061310003396309351424879104186587942683317934107700691451464027038852707204373677577950590440252014151778580106847080517509138924957742506991403112298971204210206338404393923466527553173440856885418414319654654841133315885161424455213076385331579760349912463697314901449545976522963268695878057138561736619908016500844921756776082761457392124051807675409005856861239414128458867146601099571724444300210445363358581584902175743600533391902205276742066128175815812060596917241182011898806535149383170309865957985514356849110392097678784741439176094342955978239420605602046174055428563513128758640626514262267769313158326395348704017825115800051131024166179441750460842832211442314448636679116332856518163248396828640057778031559083609205044945643442500105415580343989951894085287831016637093762027320765611789467577580342167220330870407390608214221648974398241370689510124058107814989104415379783701189757496220454235871825897682030609198556117486149283090284964216580875336388364250032352629066780988292542824283792863914752769078937645700981582418937112384365458863469231992517162155817503761847485112224755897560884995360457707533621814693934187968219844060051130927101704215738127499892942051032695285289917197294338041538563055008363719193692231072500567324786101650016396014781393066645785125263662776107836560765655876767467702584399091582366293798953335818821980676821136406905749567089603007757790479866699873459392514682063600078237341344221457431062948817391973814526038843323646393476148716184399336488821593521914411926519211422284461377968621918432774334796025373745103686817103639942002052939840663785438483311433438415505967686399457974910989074932173092680738051929290352785665247071733294604481988437154988140295513151441780642048966549329368260334545457120433103573299451071576206423864299794711942407911282103184993645833283383236806358269142255760517358135464595745645852882614002394330480446724000956824586492591380878943113513487184097624288898824305078684236651014754553104530249134039035646809396847298571033693115665873357252723880826242685705054711962589166907131918861874835566767512705646907517505125080995672271332844375299881391013981350071981286243839504910423917034997270353456779058755001815670361918262003213235218 425269073959834432423473475773147916635809963763257427989188963664326858675866299455991515045272995745615234402729796064267623315794267885375653446354869014522259574050471311583933801769692421502822822382549409227507636210328200230908408864741878634124162391189831634174141988937979296543807274407756382143487342081656107416577059704128927796925573639845117820400230355747724411748840462207318632676724440724240249562370424244844753827428778502794022181930211665908508749094835636301535120289124220499790329324744626905366854011242571991980930909673449502820090648504205184954262279655753335511124311108702204019442758241846751530644361298123893136774655425322169472353663354540011711474091572726180946982876432184688129854549276787123797323930617474302565787788264641081252163077308916296563150234964842183275606900217609722622371327370908730771051241218670905805746748382493801406189814594589242509614212606102949330914687322271103549326579230237439530448422128360314503371825593217221408102686033322400002016424808808933960448513988539343669525121208148676616534375970259363914161643014144374408609512263250522510382435406292605370133273775367128798744887539972500193819088786901941161198600743632615943310409978485859501569738758775431758351270794004636795876912030400573325781883838404501798705913839890003745818495332653801975373773582088119519074261704591085013237893892506947749114050320007099639028872030991909285511187293886996481147448215773950027390978200159267166055582710705699723670809891529758903972645033994603920849865466241879742199352849151095111700532225472364811771590426604628830634281365071271628301973995820424807249091883139021902421935714940757060659990037885025377355430055592268092786566796894875970428644290911199432802762880150359005464506748270829671287438197356764779034047034732794506940656431467699758921705047091370542164009694404104982803578857240406777540814271609791304794425610560205491873290897748737970238734021618130020225058623365511858695414279500855321975002489140012082441987329238704090596503683733979353291629300737358152067216438335410562490907858025788946046140732298975555059303497182308902188318857660641430310688595436692587390846139250570747328383877469479118107330087088413260276214639222872097381153318217446961672126447233398054990824037315585349059652647851052874285323646394296691819537692264125606779579523353789802412841267346482348919942318378773621688427405931109342927223999071911130544195817432715572772666268893619085093196975846816987506070295296721343997075689994538919672229084609420121254914369088174574573197399978359798694445748547843229 688099816031204946177084546219863774036105777760377556178910026948489047709639632140765447929808823358313215954408876672575134964146982685799341026069965527522228992997818262642786678956669987602618155671490495447897796533959862223838631329567395807967290782114456700786205860666028234915511316872541740840405746866894436299384433129644335465790210020246051207378291665751120721100265341311505220619407758658347950253821888271883606534633152180371972772370463680060287329201682716819044259214081963006781732437043598109577060349646965915447458462846890359705509062823859839795395595540914759966337387494033783779792670705544066432093907274646856405470533482460731208973571371040856633230867655487638339106928239860097135711410516201252256191077218573874290232088475086444610744662211092040163683626867047460017673028393425534682968244612090742669857776368054076115612706368008158255300206692268027251053388700445905309154107927873149723382007793750568289089048642622582272684983919612570112120511149122451133040590988250684421291346199981658118161800324481533134697624367088003971939674573227983613654457906693022615798015750282557264218561606383765892506914860738111983286666367244108381529471151023224157532058952884100872259248882833539573340375209384420497066669526621027561653709736086532407904469957376153028908780296870382850710161946338151871703328485579377556062177685370862501883129257652800620611290968104293650970050763118988998309604033277711874876090424915164726940578071163407257292624585463946872192489094045734847951569681980007242092294900183790396990449422766702853310153481612992549827973596143772195626760097470441203263873276205667687547199377716864897220755693761792845058014454683850459080365750230694792409321112047606338552329969753366763254986614970703130679952879420364857271388378954251938003605248859673573447743890415016935640158410588504319292400450762321189467333483032075766172394232478638266208086923122483073925551125258072022277998464029297297178725712939270827942688888597986993431062261411796771334555613024332138956876372470652756549204875490398702786421009467569588095107281628343815393848954302742005761618308732217636734552895231404529798757421353755740974217160852715924465599229344173777634350103818617743234035932219841292152573171234354879577316628696464292173166135035150498574222470699375376056188707018678711309828657392825449222238114645053382613057984252130874412308232173795047981935961661078037676114679307551139540178974540526602598322056842489258838914670596602735011057040066520205916068589519844038289911639441631353631952401794030160612707751761078447 1113368889991039378600558021993011690671915741523634984168098990612815906385505931596756962975081819103928450357138672736842758279941250571174994472424834542044488567048289574226720480726362409105440978054039904675405432744288062454747040194309274442091453173304288334960347849604007531459318591280298122983893088948550543715961492833773263262715783660091169027778522021498845132849105803518823853296132199382588199816192312516728360362061930683165994954300675345968796078296518353120579379503206183506572061761788225014943914360889537907428389372520339862525599711328065024749657875196668095477461698602735987799235428947390817962738268572770749542245188907782900681327234725580868344704959228213819286089804672044785265565959792988376053515007836048176856019876739727525862907739520008336726833861831889643293279928611035257305339571982999473440909017586724981921359454750501959661490021286857269760667601306548854640068795250144253272708587023988007819537470770982896776056809512829791520223197182444851135057015797059618381739860188521001787686921532630209751232000337347367886101317587372358022263970169943545126180451156575162634351835381750894691251802400710612177105755154146049542728071894655840100842468931369960373828987641608971331691646003389057292943581557021600887435593574491034206610383797266156774727275629524184826083935528426271390777590190170462569300071577877810250997179577659900259640162999096202936481238057005985479457052249051661902267068625074431892996160781869106980963434476993705776165134128040338768801435148221886984291647749334885508690981648239067665081743908217621380462254961215043823928734093290866010512965159344689589969135092657621957880745731646818222413444510276118551866932547125570762837965402958805771355092849903725768719493363241532801967391076777129636305435413687046444944261680327373332369448937506387477804168104992609302095979308002727967008147754641867070966819843038843758081377820871221044164285146876202042503057087394809155874139992440126149917691377737999075873049590650500861931059296758311492248505673208010908616421313825809265277328867493358534141248013927319370453152451485050907949937166392859067045241490668097117189603560604326488302601038322195042572929316432587037910564743041489840615189250437288253824699618467752934568140666012049641232818782886203372859546117093672067875726399282804318089408180746615251635079381991535731533000302630904496100735638104904390909159960732989168220310496740266712312845243434145687691519032689306246344984965893324079008132730061059125588297674129264159544826008529805928205149801772389959307153500308921676 1801468706022244324777642568212875464708021519284012540347009017561304954095145563737522410904890642462241666311547549409417893244088233256974335498494800069566717560046107836869507159683032396708059133725530400123303229278247924678585671523876670250058743955418745035746553710270035766374829908152839863824298835815444980015345925963417598728505993680337220235156813687249965853949371144830329073915539958040936150070014200788611966896695082863537967726671139026029083407498201069939623638717288146513353794198831823124520974710536503822875847835367230222231108774151924864545053470737582855443799086096769771579028099652934884394832175847417605947715722390243631890300806096621724977935826883701457625196732911904882401277370309189628309706085054622051146251965214813970473652401731100376890517488698937103310952957004460791988307816595090216110766793954779058036972161118510117916790227979125297011720990006994759949222903178017402996090594817738576108626519413605479048741793432442361632343708331567302268097606785310302803031206388502659905848721857111742885929624704435371858040992160600341635918428076636567741978466906857719898570396988134660583758717261448724160392421521390157924257543045679064258374527884254061246088236524442510905032021212773477790010251083642628449089303310577566614514853754642309803636055926394567676794097474764423262480918675749840125362249263248672752880308835312700880251453967200496587451288820124974477766656282329373777143159049989596619936738853032514238256059062457652648357623222086073616753004830201894226383942649518675905681431071005770518391897389830613930290228557358816019555494190761307213776838435550357277516334470374486855101501425408611067471458964959969010947298297356265555247286515006412109907422819657092531974479978212235932647343956197494493576823792641298382947866929187046905817192827921404413444326515581113621388379758765049156475481237673942837139214075517482024289464743993704118089836272134274064781055551424106453052865705379396977860380266335986069304111852062297633265614909782643631205382045678663665165626189316207968063749876960928122236355295555663185847001405787792913711555475125076703779794385899501646988360981958082229276818199174910967038528545776760815544914846860107583849225182657129545977272789702107814145457294708513933405984917921353871433768587793047443931915106301483029399236838139440700857317496636589114146058286883035370513043870278699438891095922394067205896425176047817851853024217974672290289841089531795505183899636489926814019189770127579331504366263649108197834737647971437281837102203566420119919861252070000123 2914837596013283703378200590205887155379937260807647524515108008174120860480651495334279373879972461566170116668686222146260651524029483828149329970919634611611206127094397411096227640409394805813500111779570304798708662022535987133332711718185944692150197128723033370706901559874043297834148499433137986808191924763995523731307418797190861991221777340428389262935335708748810986798476948349152927211672157423524349886206513305340327258757013546703962680971814371997879485794719423060203018220494330019925855960620048139464889071426041730304237207887570084756708485479989889294711345934250950921260784699505759378263528600325702357570444420188355489960911298026532571628040822202593322640786111915276911286537583949667666843330102178004363221092890670228002271841954541496336560141251108713617351350530826746604232885615496049293647388578089689551675811541504039958331615869012077578280249265982566772388591313543614589291698428161656268799181841726583928163990184588375824798602945272153152566905514012153403154622582369921184771066577023661693535643389741952637161625041782739744142309747972699658182398246580112868158918063432882532922232369885555275010519662159336337498176675536207466985614940334904359216996815624021619917224166051482236723667216162535082953832640664229336524896885068600821125237551908466578363331555918752502878033003190694653258508865920302694662320841126483003877488412972601139891616966296699523932526877130959957223708531381035679410227675064028512932899634901621219219493539451358424522757350126412385554439978423781210675590398853561414372412719244838183473641298048235310752483518573859843484228284052173224289803594895046867485469563032108812982247157055429289884903475236087562814230844481836318085251917965217881262515669560818300693973341453768734614735032974624129882259206328344827892128609514420238186641765427791891248494620573722923484359066767777123483628992315809908106033918556325782370842564864925162254121419010476107284112638818915608927005697819523127778071644073985145177161442712798495196674206540955123453887718886674573782047503142017233341078744454286656377603309482982556300153857272843821661492641517935770825035876567598764177964542562408717579419237497106009611457862209347853455479589901597424464414433094417799801972408169860748713597960720563574638803700807557244293314704886719511807641505584287347488645018886055952492396878628124845679058589513939866613779508383603829800255883127056374116735672788084564165869461408817977981360122221101751528884602383250893027322500188638457092663937778372357379563656501243210042252005338810079227014752378921799 4716306302035528028155843158418762620087958780091660064862117025735425814575797059071801784784863104028411782980233771555678544768117717085123665469414434681177923687140505247965734800092427202521559245505100704922011891300783911811918383242062614942208941084141778406453455270144079064208978407585977850632490760579440503746653344760608460719727771020765609498092149395998776840747848093179482001127212115464460499956220714093952294155452096410241930407642953398026962893292920492999826656937782476533279650159451871263985863781962545553180085043254800306987817259631914753839764816671833806365059870796275530957291628253260586752402620267605961437676633688270164461928846918824318300576612995616734536483270495854550068120700411367632672927177945292279148523807169355466810212542982209090507868839229763849915185842619956841281955205173179905662442605496283097995303776987522195495070477245107863784109581320538374538514601606179059264889776659465160036790509598193854873540396377714514784910613845579455671252229367680223987802272965526321599384365246853695523091249746218111602183301908573041294100826323216680610137384970290602431492629358020215858769236923608060497890598196926365391243157986013968617591524699878082866005460690493993141755688428936012872964083724306857785614200195646167435640091306550776381999387482313320179672130477955117915739427541670142820024570104375155756757797248285302020143070933497196111383815697255934434990364813710409456553386725053625132869638487934135457475552601909011072880380572212486002307444808625675437059533048372237320053843790250608701865538687878849241042712075932675863039722474813480438066642030445404145001804033406595668083748582464040357356362440196056573761529141838101873332538432971629991169938489217910832668453319666004667262078989172118623459082998969643210839995538701467144003834593349196304692821136154836544872738825532826279959110229989752745245247994073807806660307308858629280343957691144750172065168190243022061979871403198920105638451910409971214481273294775096128462289116323598754659269764565338238947673692458225201404828621415214778613958605038645742147155263060636735373048116643012474604830262467100411166325524520490946856237436672016976649986407986108669000394436761705008313639615751547345779245197871968562859055255429077508044788618728911115727083292679766955739556611885770376887881857025496653349714375264713959825116876396975237126823378662303268691351805521123580013160848835902416018893679383490268271201211752897256712784238873177707046512270316217788597030201427480555214301304472680491879354208905230199146876004448921922 7631143898048811731534043748624649775467896040899307589377225033909546675056448554406081158664835565594581899648919993701939196292147200913272995440334069292789129814234902659061962440501822008335059357284671009720720553323319898945251094960248559634359138212864811777160356830018122362043126907019115837440682685343436027477960763557799322710949548361193998761027485104747587827546325041528634928338884272887984849842427227399292621414209109956945893088614767770024842379087639916060029675158276806553205506120071919403450752853388587283484322251142370391744525745111904643134476162606084757286320655495781290335555156853586289109973064687794316927637544986296697033556887741026911623217399107532011447769808079804217734964030513545637036148270835962507150795649123896963146772684233317804125220189760590596519418728235452890575602593751269595214118417037787137953635392856534273073350726511090430556498172634081989127806300034340715533688958501191743964954499782782230698338999322986667937477519359591609074406851950050145172573339542549983292920008636595648160252874788000851346325611656545740952283224569796793478296303033723484964414861727905771133779756585767396835388774872462572858228772926348872976808521515502104485922684856545475378479355645098547955917916364971087122139097080714768256765328858459242960362719038232072682550163481145812568997936407590445514686890945501638760635285661257903160034687899793895635316342574386894392214073345091445135963614400117653645802538122835756676695046141360369497403137922338898387861884787049456647735123447225798734426256509495446885339179985927084551795195594506535706523950758865653662356445625340451012487273596438704481065995739519469647241265915432144136575759986319938191417790350936847872432454158778729133362426661119773401876814022146742753341342205297988038732124148215887382190476358776988195941315756728559468357097892300603403442739222305562653351281912630133589031149873723554442598079110155226279349280829061937670906877101018443233416523554483956359658434737487894623658963322864553878113157483452012812729721195600242434745907365869501434991561914521628298447309120333480557034540758160948245429866139034699175344290067082899664435656674169122986261444270195456522455874026663302432778054048845965145581217606041829311572653216149641082683592319536468360020397997566486467547198117470057724376526875911552605842111253892838805504175465910915103740602887045907098491607688648179954129896521623986980184763140792308246252561333973999008241668841256428600073834770504856245689694139205852912593864960973923701921606214244040278373890756827843721 12347450200084339759689886907043412395555854820990967654239342059644972489632245613477882943449698669622993682629153765257617741060264917998396660909748503973967053501375407907027697240594249210856618602789771714642732444624103810757169478202311174576568079297006590183613812100162201426252105314605093688073173445922876531224614108318407783430677319381959608259119634500746364668294173134708116929466096388352445349798647941493244915569661206367187823496257721168051805272380560409059856332096059283086485156279523790667436616635351132836664407294397170698732343004743819396974240979277918563651380526292056821292846785106846875862375684955400278365314178674566861495485734659851229923794012103148745984253078575658767803084730924913269709075448781254786299319456293252429956985227215526894633089028990354446434604570855409731857557798924449500876561022534070235948939169844056468568421203756198294340607753954620363666320901640519774798578735160656904001745009380976085571879395700701182722388133205171064745659081317730369160375612508076304892304373883449343683344124534218962948508913565118782246384050893013474088433688004014087395907491085925986992548993509375457333279373069388938249471930912362841594400046215380187351928145547039468520235044074034560828882000089277944907753297276360935692405420165010019342362106520545392862222293959100930484737363949260588334711461049876794517393082909543205180177758833291091746700158271642828827204438158801854592517001125171278778672176610769892134170598743269380570283518494551384390169329595675132084794656495598036054480100299746055587204718673805933792837907670439211569563673233679134100423087655785855157489077629845300149149744321983510004597628355628200710337289128158040064750328783908477863602392647996639966030879980785778069138893011318861376800425204267631249572119686917354526194310952126184500634136892883396013229836717833429683401849452295315398596529906703941395691457182582183722942036801299976451414449019304959732886748504217363339054975464893927574139708032262990752121252439188152632772427248017351051677394888058467636150735987284716213605520519560274040594464383394117292407588874803960720034696401501799586510615591603390611291894110841139962911430678181565191456268463425007441091693664597512491360462803913797874431708471578718590728380938265379475747481290246253423286754729355828101264408732937049259191825629157552765329292342307890340867426265708210367182959494169303534143057370459889396203656820175798514523762545726896264954453080129606307120347040821074034286724340633333467808166265446604193800960423149270477520766761276765643 19978594098133151491223930655668062171023750861890275243616567093554519164688694167883964102114534235217575582278073758959556937352412118911669656350082573266756183315610310566089659681096071219191677960074442724363452997947423709702420573162559734210927217509871401960774168930180323788295232221624209525513856131266312558702574871876207106141626867743153607020147119605493952495840498176236751857804980661240430199641075168892537536983870316324133716584872488938076647651468200325119886007254336089639690662399595710070887369488739720120148729545539541090476868749855724040108717141884003320937701181787838111628401941960433164972348749643194595292951723660863558529042622400878141547011411210680757432022886655462985538048761438458906745223719617217293450115105417149393103757911448844698758309218750945042954023299090862622433160392675719096090679439571857373902574562700590741641771930267288724897105926588702352794127201674860490332267693661848647966699509163758316270218395023687850659865652564762673820065933267780514332948952050626288185224382520044991843596999322219814294834525221664523198667275462810267566729991037737572360322352813831758126328750095142854168668147941851511107700703838711714571208567730882291837850830403584943898714399719133108784799916454249032029892394357075703949170749023469262302724825558777465544772457440246743053735300356851033849398351995378433278028368570801108340212446733084987382016500846029723219418511503893299728480615525288932424474714733605648810865644884629750067686656416890282778031214382724588732529779942823834788906356809241502472543898659733018344633103264945747276087623992544787762779533281126306169976351226284004630215740061502979651838894271060344846913049114477978256168119134845325736034846806775369099393306641905551471015707033465604130141767409565619288304243835133241908384787310903172696575452649611955481586934610134033086844588674600878051947811819334074984722607056305738165540115911455202730763729848366897403793625605235806572471499019377883933798142769750885375780215762052706510885584731469363864407116083658710070896643353154217648597082434081902339041773503727597849442129632964908965464562540536498761854905658686290275727550785010262949172874948377021713912142490088309873869747713443477636941680409955627186004361687728359673411973257801847835767879287812739890833952846825885825640935608848601865033936883050391570833467808218805444608029152754117465674567182817483488272953892083876376388419960968106760776323879700895273196121921386034907194181811325930279976418479839186380402031226420527895722566637393310755894657518104609364 32326044298217491250913817562711474566579605682881242897855909153199491654320939781361847045564232904840569264907227524217174678412677036910066317259831077240723236816985718473117356921690320430048296562864214439006185442571527520459590051364870908787495296806877992144387981030342525214547337536229303213587029577189189089927188980194614889572304187125113215279266754106240317164134671310944868787271077049592875549439723110385782452553531522691321540081130210106128452923848760734179742339350395372726175818679119500738323986124090852956813136839936711789209211754599543437082958121161921884589081708079894932921248727067280040834724434598594873658265902335430420024528357060729371470805423313829503416275965231121753341133492363372176454299168398472079749434561710401823060743138664371593391398247741299489388627869946272354290718191600168596967240462105927609851513732544647210210193134023487019237713680543322716460448103315380265130846428822505551968444518544734401842097790724389033382253785769933738565725014585510883493324564558702593077528756403494335526941123856438777243343438786783305445051326355823741655163679041751659756229843899757745118877743604518311501947521011240449357172634751074556165608613946262479189778975950624412418949443793167669613681916543526976937645691633436639641576169188479281645086932079322858406994751399347673538472664306111622184109813045255227795421451480344313520390205566376079128716659117672552046622949662695154320997616650460211203146891344375540945036243627899130637970174911441667168200543978399720817324436438421870843386457108987558059748617333538952137471010935384958845651297226223921863202620936912161327465428856129304779365484383486489656436522626688545557250338242636018320918447918753803599637239454772009065424186622691329540154600044784465506942192613833250537876363522050596434579098263029357197209589542495351494816771327967462770246438126896193450544341726038016380414064238887921888482152712755179182178178867671857136680374109453169911526474484271811507937850802013876127901468201240859143658011979486714916084510971717177707047379340438933862202602953642176379636237887121715141849718507768869685499258942038298348365521250289680887019444895851402912084305626558586905368410953513317314961441378040990128302143213869425060436070159307078264140354196067227311515360578058993314120707576181713926905344341785651124225762512207944336162760150526695785475455418462327832857526676986787022416011262543765772592076781143905275300086425427791538150575001515641214314528852147004314263142820472519848210197491867132089523527060542581233415424279381375007 52304638396350642742137748218379536737603356544771518141472476246754010819009633949245811147678767140058144847185301283176731615765089155821735973609913650507479420132596029039207016602786391649239974522938657163369638440518951230162010624527430642998422514316749394105162149960522849002842569757853512739100885708455501648629763852070821995713931054868266822299413873711734269659975169487181620645076057710833305749080798279278319989537401839015455256666002699044205100575316961059299628346604731462365866481078715210809211355612830573076961866385476252879686080504455267477191675263045925205526782889867733044549650669027713205807073184241789468951217625996293978553570979461607513017816834524510260848298851886584738879182253801831083199522888015689373199549667127551216164501050113216292149707466492244532342651169037134976723878584275887693057919901677784983754088295245237951851965064290775744134819607132025069254575304990240755463114122484354199935144027708492718112316185748076884042119438334696412385790947853291397826273516609328881262753138923539327370538123178658591538177964008447828643718601818634009221893670079489232116552196713589503245206493699661165670615668953091960464873338589786270736817181677144771027629806354209356317663843512300778398481832997776008967538085990512343590746918211948543947811757638100323951767208839594416592207964662962656033508165040633661073449820051145421860602652299461066510733159963702275266041461166588454049478232175749143627621606077981189755901888512528880705656831328331949946231758361124309549854216381245705632292813918229060532292515993271970482104114200330706121738921218768709625982154218038467497441780082413309409581224444989469308275416897748890404163387357113996577086567053599129335672086261547378164817493264596881011170307078250069637083960023398869826180607357183838342963885573932529893785042192107306976403705938101495857091026801497071502492153545372091365136671295193660054022268624210381912941908716038754540473999714688976483997973503649695441735993571764761503681683963293565654543596710956078780491627055375887777944022693593151510799685387724078718678011390849312991291848140733778650963821482574797110220426908975971162746995680861665861257180574935608619280553443601627188831189091484467765243823623825052246440431847035437937552327453869075147283239865871733204954660423007599752546279950634252989259699395258335906996227958745501230083484571216445298532093859804270510688965154627642148980496742112012036076410305128686811346696922901676121508710663472934594239561300311706228612228718287659985246093697935891989310081797485984371 84630682694568133993051565781091011304182962227652761039328385399953502473330573730607658193243000044898714112092528807393906294177766192731802290869744727748202656949581747512324373524476712079288271085802871602375823883090478750621600675892301551785917811123627386249550130990865374217389907294082815952687915285644690738556952832265436885286235241993380037578680627817974586824109840798126489432347134760426181298520521389664102442090933361706776796747132909150333553499165721793479370685955126835092042299757834711547535341736921426033775003225412964668895292259054810914274633384207847090115864597947627977470899396094993246641797618840384342609483528331724398578099336522336884488622257838339764264574817117706492220315746165203259653822056414161452948984228837953039225244188777587885541105714233544021731279038983407331014596775876056290025160363783712593605602027789885162062158198314262763372533287675347785715023408305621020593960551306859751903588546253227119954413976472465917424373224104630150951515962438802281319598081168031474340281895327033662897479247035097368781521402795231134088769928174457750877057349121240891872782040613347248364084237304179477172563189964332409822045973340860826902425795623407250217408782304833768736613287305468448012163749541302985905183777623948983232323087400427825592898689717423182358761960238942090130680628969074278217617978085888888868871271531489735380992857865837145639449819081374827312664410829283608370475848826209354830768497422356730700938132140428011343627006239773617114432302339524030367178652819667576475679271027216618592041133326810922619575125135715664967390218444992631489184775154950628824907208938542614188946708828475958964711939524437435961413725599750014898005014972352932935309325716319387230241679887288210551324907123034535144026152637232120364056970879234434777542983836961887090994631734602658471220477266068958627337464928393264953036495271410107745550735534081581942504421336965561095120087583710611677154373824142146395524447987921506949673844373778637631583152164534424798201608690442793696576138027093065484991402034032085373002288341366255098314249277971028133141566648502648336463080424613095458585948159265652049766440576713068773341486201494195524648964397114944503792630469525457893545966837694477306876502006342516201692681649936302458798600443930726519075367999189313679451624292419904113485461907466280243158988109272197015558939989678773131389620536791057533104976417171407921572573523255917311376496730556478349497271924417317335823239515619938908502704120784226076822426210154792074769620758478473222725506076867359378 136935321090918776735189313999470548041786318772424279180800861646707513292340207679853469340921767184956858959277830090570637909942855348553538264479658378255682077082177776551531390127263103728528245608741528765745462323609429980783611300419732194784340325440376780354712280951388223220232477051936328691788800994100192387186716684336258881000166296861646859878094501529708856484085010285308110077423192471259487047601319668942422431628335200722232053413135608194538654074482682852778999032559858297457908780836549922356746697349751999110736869610889217548581372763510078391466308647253772295642647487815361022020550065122706452448870803082173811560701154328018377131670315983944397506439092362850025112873669004291231099497999967034342853344944429850826148533895965504255389745238890804177690813180725788554073930208020542307738475360151943983083080265461497577359690323035123113914123262605038507507352894807372854969598713295861776057074673791213951838732573961719838066730162220542801466492662439326563337306910292093679145871597777360355603035034250572990268017370213755960319699366803678962732488529993091760098951019200730123989334237326936751609290731003840642843178858917424370286919311930647097639242977300552021245038588659043125054277130817769226410645582539078994872721863614461326823070005612376369540710447355523506310529169078536506722888593632036934251126143126522549942321091582635157241595510165298212150182979045077102578705871995872062419954081001958498458390103500337920456840020652956892049283837568105567060664060700648339917032869200913282107972084945445679124333649320082893101679239336046371089129139663761341115166929372989096322348989020955923598527933273465428272987356422186326365577112956864011475091582025952062270981411977866765395059173151885091562495214201284604781110112660630990190237578236418273120506869410894416984779673926709965447624183204170454484428491729890336455528648816782199110687406829275241996526689961175943008061996299749366217628373538831122879522421491571202391409837945543399135264836127827990452745205401398872477067765082468953262935424727625236883801973729090333816992260668820341124433414789236426987426901907187892568806375068241623212513436257574734634598666776429804143929517840716571692623819561009925658789790461519529553316933853377954139245009103805377606081840309802459724030028422196913431997904243054157102745161302724616150155216068017698245642424560895218429921714396595328043793941571799050070553070265367929347452907035685165160843968847318993457331950179092873502742265421095932305434654928442452060015714456414365212035587874353343749 221566003785486910728240879780561559345969281000077040220129247046661015765670781410461127534164767229855573071370358897964544204120621541285340555349403106003884734031759524063855763651739815807816516694544400368121286206699908731405211976312033746570258136564004166604262411942253597437622384346019144644476716279744883125743669516601695766286401538855026897456775129347683443308194851083434599509770327231685668346121841058606524873719268562429008850160268517344872207573648404646258369718514985132549951080594384633904282039086673425144511872836302182217476665022564889305740942031461619385758512085762988999491449461217699699090668421922558154170184682659742775709769652506281281995061350201189789377448486121997723319813746132237602507167000844012279097518124803457294614989427668392063231918894959332575805209247003949638753072136028000273108240629245210170965292350825008275976281460919301270879886182482720640684622121601482796651035225098073703742321120214946958021144138693008718890865886543956714288822872730895960465469678945391829943316929577606653165496617248853329101220769598910096821258458167549510976008368321971015862116277940283999973374968308020120015742048881756780108965285271507924541668772923959271462447370963876893790890418123237674422809332080381980777905641238410310055393093012804195133609137072946688669291129317478596853569222601111212468744121212411438811192363114124892622588368031135357789632798126451929891370282825155670790429929828167853289158600922694651157778152793384903392910843807879184175096363040172370284211522020580858583651355972662297716374782646893815721254364471762036056519358108753972604351704527939725147256197959498537787474642101941387237699295946623762326990838556614026373096596998304995206290737694186152625300853039173302113820121324319139925136265297863110554294549115652707898049853247856304075774305661312623918844660470239413111765956658283601408565144088192306856238142363356823939031111298141504103182083883459977894782747362973269275046869479492709341083682319322036766847988292362415250946814091841666173643903109562018747926826761657322256804262070456588915306509946791369257574981437739075323889982331800988027392323227507275262279876834287803407940152977923999668578482237831516196416450030535383552335757299214006860193435859720470340937690753741680064880440753733186243105396421386227111449528535474061216230623210190896393314204177289895261201364550573991561311334933386385576898917988970457992125643788623846658829403766241643510341240771736310793155189694712812411244969541880158382257081138597244134785335214892838434761093951220703127 358501324876405687463430193780032107387755599772501319400930108693368529058010989090314596875086534414812432030648188988535182114063476889838878819829061484259566811113937300615387153779002919536344762303285929133866748530309338712188823276731765941354598462004380946958974692893641820657854861397955473336265517273845075512930386200937954647286567835716673757334869630877392299792279861368742709587193519702945155393723160727548947305347603763151240903573404125539410861648131087499037368751074843430007859861430934556261028736436425424255248742447191399766058037786074967697207250678715391681401159573578350021511999526340406151539539225004731965730885836987761152841439968490225679501500442564039814490322155126288954419311746099271945360511945273863105246052020768961550004734666559196240922732075685121129879139455024491946491547496179944256191320894706707748324982673860131389890404723524339778387239077290093495654220834897344572708109898889287655581053694176666796087874300913551520357358548983283277626129783022989639611341276722752185546351963828179643433513987462609289420920136402589059553746988160641271074959387522701139851450515267220751582665699311860762858920907799181150395884597202155022180911750224511292707485959622920018845167548941006900833454914619460975650627504852871636878463098625180564674319584428470194979820298396015103576457816233148146719870264338933988753513454696760049864183878196433569939815777171529032470076154821027733210384010830126351747548704423032571614618173446341795442194681375984751235760423740820710201244391221494140691623440918107976840708431966976708822933603807808407145648497772515313719518633900928821469605186980454461386002575375406815510686652368810088692567951513478037848188179024257057477272149672052918020360026191058393676315335525603744706246377958494100744532127352070981018556722658750721060553979588022589366468843674409867596194448388173937864093792904974505966925549192632065935557801259317447111244080183209344112411120901804392154569290971063911732493520264865435902112824420190405703692019493240538650711668192030972010862251489282559140606235799546922732298770615611710382008396226975502311316884238988880596198698295748898474793313091862538042538819754353803812508000078548087889040269591545309211125547760733536413510369713098424480182699857547057670962281063535645967135424843583140543447432778528218318975784512915512543469420245307593506843789111469209991233049329981713620692859560769508062678714053991776006282310801926808671185209619055304250487139873805685913987234962976090687691736067039696194801049671307203646796681825574046876 580067328661892598191671073560593666733724880772578359621059355740029544823681770500775724409251301644668005102018547886499726318184098431124219375178464590263451545145696824679242917430742735344161278997830329501988034737009247443594035253043799687924856598568385113563237104835895418095477245743974617980742233553589958638674055717539650413572969374571700654791644760225075743100474712452177309096963846934630823739845001786155472179066872325580249753733672642884283069221779492145295738469589828562557810942025319190165310775523098849399760615283493581983534702808639857002948192710177011067159671659341339021003448987558105850630207646927290119901070519647503928551209620996506961496561792765229603867770641248286677739125492231509547867678946117875384343570145572418844619724094227588304154650970644453705684348702028441585244619632207944529299561523951917919290275024685139665866686184443641049267125259772814136338842956498827369359145123987361359323374814391613754109018439606560239248224435527239991914952655753885600076810955668144015489668893405786296599010604711462618522140906001499156375005446328190782050967755844672155713566793207504751556040667619880882874662956680937930504849882473662946722580523148470564169933330586796912636057967064244575256264246699842956428533146091281946933856191637984759807928721501416883649111427713493700430027038834259359188614385551345427564705817810884942486772246227568927729448575297980962361446437646183404000813940658294205036707305345727222772396326239726698835105525183863935410856786780993080485455913242074999275274796890770274557083214613870524544187968279570443202167855881269286323870338428868546616861384939952999173477217477348202748385948315433851019558790070092064221284776022562052683562887366239070645660879230231695790135456849922884631382643256357211298826676467723688916606575906607025136328285249335213285313504144649280707960405046457539272658936993166812823163691555988889874588912557458951214426164066669322007193868264777661429616160450556621073577202584187472668960812712552820954638833585082204824355571301592990758789078250939881397410497870003511647605280562403079639583377664714577635206866570789868623591021523256173737073189926150341450478972732277803481086482316379604085456719622080692763461305059947543273703805572818894821120390611288737735842721817268832210240821264969367654896961314002279535206407723106408936783624422597488768045153662043201552544384263368099197591777549739966054804357842615622665111714568168452181526450390791615043642329568518498325232204504856249069948817205636940329586384886200042081557775776794750003 938568653538298285655101267340625774121480480545079679021989464433398073881692759591090321284337836059480437132666736875034908432247575320963098195007526074523018356259634125294630071209745654880506041301116258635854783267318586155782858529775565629279455060572766060522211797729537238753332107141930091317007750827435034151604441918477605060859537210288374412126514391102468042892754573820920018684157366637575979133568162513704419484414476088731490657307076768423693930869910579644333107220664671992565670803456253746426339511959524273655009357730684981749592740594714824700155443388892402748560831232919689042515448513898512002169746871932022085631956356635265081392649589486732640998062235329269418358092796374575632158437238330781493228190891391738489589622166341380394624458760786784545077383046329574835563488157052933531736167128387888785490882418658625667615257698545271055757090907967980827654364337062907631993063791396171942067255022876649014904428508568280550196892740520111759605582984510523269541082438776875239688152232390896201036020857233965940032524592174071907943061042404088215928752434488832053125927143367373295565017308474725503138706366931741645733583864480119080900734479675817968903492273372981856877419290209716931481225516005251476089719161319303932079160650944153583812319290263165324482248305929887078628931726109508804006484855067407505908484649890279416318219272507644992350956124424002497669264352469509994831522592467211137211197951488420556784256009768759794387014499686068494277300206559848686646617210521813790686700304463569139966898237808878251397791646580847233367121572087378850347816353653784600043388972329797368086466571920407460559479792852755018259072600684243939712126741583570102069472955046819110160835037038291988666020905421290089466450792375526629337629021214851312043358803819794669935163298565357746196882264837357802651782347819059148304154853434631477136752729898141318790089240748620955810146713816776398325670244249878666119604989166582053584185451421620532806070722849052908571073637132743226658330853078322743475067239493623962769651329740222440538016733669550434379904051178014790021591773891690079946523750809778749219789719819005072211866503018012879493017792486631607293594482394927691974496989213626001974586852820681079687214175285917319301303090468835795406805002880804478177376246108552508198344394092530497854182192236021921480253044667905082274888942773512411543777433593349812818284637110509474117483071896607398671394025370095260852711660009846919294129469442324184239219439467832339757640553272676636524387434557507245728354457602368796879 1518635982200190883846772340901219440855205361317658038643048820173427618705374530091866045693589137704148442234685284761534634750431673752087317570185990664786469901405330949973872988640488390224667320298946588137842818004327833599376893782819365317204311659141151174085448902565432656848809352885904709297749984381024992790278497636017255474432506584860075066918159151327543785993229286273097327781121213572206802873413164299859891663481348414311740411040749411307977000091690071789628845690254500555123481745481572936591650287482623123054769973014178563733127443403354681703103636099069413815720502892261028063518897501456617852799954518859312205533026876282769009943859210483239602494624028094499022225863437622862309897562730562291041095869837509613873933192311913799239244182855014372849232034016974028541247836859081375116980786760595833314790443942610543586905532723230410721623777092411621876921489596835721768331906747894999311426400146864010374227803322959894304305911180126671998853807420037763261456035094530760839764963188059040216525689750639752236631535196885534526465201948405587372303757880817022835176894899212045451278584101682230254694747034551622528608246821161057011405584362149480915626072796521452421047352620796513844117283483069496051345983408019146888507693797035435530746175481901150084290177027431303962278043153823002504436511893901666865097099035441624843882925090318529934837728370651571425398712927767490957192969030113394541212011892146714761820963315114487017159410825925795193112405731743712622057473997302806871172156217705644139242173034699648525954874861194717757911309540366949293549984209535053886367259310758665914703327956860360459732957010330103221007458548999677790731685531653662166290757731069381162844397924404531059311681784651521785256586249225449513969011664471208523342185480287518358851769874471964771333210550086693015937095851963708429012115258481089016409411666891308131613252932304609845684735626374235349540096408316547988126798857431359715013801611872177153879647925433240381240034449845296047612969686663404948299422810795216953528440407991162321935427231539553946027509331740417869661175151556404657581730617380568617843380741342261245948939692944163220943496765218909410774680964711307296059953708835706694738048157880628622960917980858736214122423481080124533142647724698073310387617067373521875853241355406532777389388599959128330417036669090502571042934096435555613096321817856717912015876414660249440172287429739223021336505739938263713034238110400638534337771799010842682564451643972688588827589370478313576853973819443707287809912233379163546882 2457204635738489169501873608241845214976685841862737717665038284606825692587067289682956366977926973763628879367352021636569543182679249073050415765193516739309488257664965075268503059850234045105173361600062846773697601271646419755159752312594930946483766719713917234607660700294969895602141460027834800614757735208460026941882939554494860535292043795148449479044673542430011828885983860094017346465278580209782782006981326813564311147895824503043231068347826179731670930961600651433961952910919172547689152548937826683017989799442147396709779330744863545482720183998069506403259079487961816564281334125180717106034346015355129854969701390791334291164983232918034091336508799969972243492686263423768440583956233997437942055999968893072534324060728901352363522814478255179633868641615801157394309417063303603376811325016134308648716953888983722100281326361269169254520790421775681777380868000379602704575853933898629400324970539291171253493655169740659389132231831528174854502803920646783758459390404548286530997117533307636079453115420449936417561710607873718176664059789059606434408262990809675588232510315305854888302822042579418746843601410156955757833453401483364174341830685641176092306318841825298884529565069894434277924771911006230775598508999074747527435702569338450820586854447979589114558494772164315408772425333361191040906974879932511308442996748969074371005583685331904260201144362826174927188684495075573923067977280237000952024491622580605678423209843635135318605219324883246811546425325611863687389705938303561308704091207824620661858856522169213279209071272508526777352666507775564991278431112454328143897800563188838486410648283088463282789794528780767920292436803182858239266531149683921730443812273237232268360230686116200273005232961442823047977702690072811874723037041600976143306640685686059835385544284107313028786933173037322517530092814924050818588878199782767577316270111915720493546164396789449450403342173053230801494882340191011747865766652566426654246403846597941768597987063293797686685718648282293289811108086978039274271300539741727691774490050288840916298091737731384762473443965209104380407413382918432659682766925448094737528254368190347367063170461161266318160806195962176100436514557705541018068275447106234988034450698049332696712635010701309702648132156144653533423726571548960328549452727578877788564993313482074384051585749499063275243570792195150251897289713758407653317823039209068024640099251450067724834161051770758914289770501635830420007899765308358973886949770410485453631901268453166866803671083440520928585229923750990213378361254001214533538266690981532343761 3975840617938680053348645949143064655831891203180395756308087104780253311292441819774822412671516111467777321602037306398104177933110922825137733335379507404095958159070296025242376048490722435329840681899009434911540419275974253354536646095414296263688078378855068408693109602860402552450950812913739509912507719589485019732161437190512116009724550380008524545962832693757555614879213146367114674246399793781989584880394491113424202811377172917354971479388575591039647931053290723223590798601173673102812634294419399619609640086924770519764549303759042109215847627401424188106362715587031230380001837017441745169553243516811747707769655909650646496698010109200803101280368010453211845987310291518267462809819671620300251953562699455363575419930566410966237456006790168978873112824470815530243541451080277631918059161875215683765697740649579555415071770303879712841426323145006092499004645092791224581497343530734351168656877287186170564920055316604669763360035154488069158808715100773455757313197824586049792453152627838396919218078608508976634087400358513470413295594985945140960873464939215262960536268196122877723479716941791464198122185511839186012528200436034986702950077506802233103711903203974779800155637866415886698972124531802744619715792482144243578781685977357597709094548245015024645304670254065465493062602360792495003185018033755513812879508642870741236102682720773529104084069453144704862026412865727145348466690208004491909217460652694000219635221735781850080426182639997733828705836151537658880502111670047273930761565205127427533031012739874857418451244307208175303307541368970282749189740652821277437447784772723892372777907593847129197493122485641128380025393813512961460273989698683599521175497804890894434650988417185581435849630885847354107289384474724333659979623290826425657275652350157268358727729764394831387638703047509287288863303365010743834525974051746476006328385370396809509955576063680757582016595105357840647179617966565247097405863060882974642373202704029301483611788675165974840565366573715533671051142536823335321884270226405132640073912861084057869826532145722547084408871196748658326434922714658850529343942077004499395109984985570915984906551202503527564109745888906339321380011322924450428842956411817542284094404406885039391450683168581938325609050137003389747546150052629084861692100452276951098952610380855596259904827104905596052632959392154278582314326382848910224360757135644623637736421069306785636850037466431008354462057931375053441344405505246622686921187880811123987969673067464009549368122727413209517412819294229303790232335073444921821348178924360695890643 6433045253677169222850519557384909870808577045043133473973125389387079003879509109457778779649443085231406200969389328034673721115790171898188149100573024143405446416735261100510879108340956480435014043499072281685238020547620673109696398408009227210171845098568985643300770303155372448053092272941574310527265454797945046674044376745006976545016594175156974025007506236187567443765197006461132020711678373991772366887375817926988513959272997420398202547736401770771318862014891374657552751512092845650501786843357226302627629886366917916474328634503905654698567811399493694509621795074993046944283171142622462275587589532166877562739357300441980787862993342118837192616876810423184089479996554942035903393775905617738194009562668348436109743991295312318600978821268424158506981466086616687637850868143581235294870486891349992414414694538563277515353096665148882095947113566781774276385513093170827286073197464632980568981847826477341818413710486345329152492266986016244013311519021420239515772588229134336323450270161146032998671194028958913051649110966387188589959654775004747395281727930024938548768778511428732611782538984370882944965786921996141770361653837518350877291908192443409196018222045800078684685202936310320976896896442808975395314301481218991106217388546696048529681402692994613759863165026229780901835027694153686044091992913688025121322505391839815607108266406105433364285213815970879789215097360802719271534667488241492861241952275274605898058431579416985399031401964880980640252261477149522567891817608350835239465656412952048194889869262044070697660315579716702080660207876745847740468171765275605581345585335912730859188555876935592480282917014421896300317830616695819699540520848367521251619310078128126703011219103301781708854863847290177155267087164797145534702660332427401800582293035843328194113274048502144416425636220546609806393396179934794653114852251529243583644655482312530003501740460470207032419937278411071448674500306756258845271629713449401296619606550627243252209775738459772527251085221997826960862250623801374596155570766146860331848402911372898786124623883453931846882315161957762706842336097577283189026709002452594132638239353761263351969721663664793882270552084868515421816525880629991446911231858923777272128855104934372088163318179283248028257182293148043280969876624178045190241553179855828887517603694337670643956412854404659327876530184349428834211616096607317877678580174853691662376520320756853361684198518201767268751828433010883861352305270554981660808137651221609441601574335917176416171793810853730445998049217980294003610696327446136354886445615342228234404 10408885871615849276199165506527974526640468248223529230281212494167332315171950929232601192320959196699183522571426634432777899048901094723325882435952531547501404575805557125753255156831678915764854725398081716596778439823594926464233044503423523473859923477424054051993879906015775000504043085855313820439773174387430066406205813935519092554741144555165498570970338929945123058644410152828246694958078167773761951767770309040412716770650170337753174027124977361810966793068182097881143550113266518753314421137776625922237269973291688436238877938262947763914415438800917882615984510662024277324285008160064207445140833048978625270509013210092627284561003451319640293897244820876395935467306846460303366203595577238038445963125367803799685163921861723284838434828058593137380094290557432217881392319223858867212929648766565676180112435188142832930424866969028594937373436711787866775390158185962051867570540995367331737638725113663512383333765802949998915852302140504313172120234122193695273085786053720386115903422788984429917889272637467889685736511324900659003255249760949888356155192869240201509305046707551610335262255926162347143087972433835327782889854273553337580241985699245642299730125249774858484840840802726207675869020974611720015030093963363234684999074524053646238775950938009638405167835280295246394897630054946181047277010947443538934202014034710556843210949126878962468369283269115584651241510226529864620001357696245984770459412927968606117693653315198835479457584604878714468958097628687181448393929278398109170227221618079475727920882001918928116111559886924877383967749245716130489657912418096883018793370108636623231966463470782721677776039500063024680343224430208781159814510547051120772794807883019021137662207520487363144704494733137531262556471639521479194682283623253827457857945386000596552841003812896975804064339268055897095256699544945538487640826303275719589973040852709339513457316524150964614436532383768912095854118273321505942677492774332375938992809254656544735821564413625747367816451795713360631913393160624709918039840992551992971922315772456956655951156029176478931291186358706421033277258812236133718370651079457093527748224339332179336876272866168321446380297973774854743196537203554441875754188270741319556223259511819411479614001347865186353866232430151433028516026676807130051933653632132779986470214075193266903861239959310255380509489576503707416525942479456228102039337310498315300112941390063638998534235984632775623213886364385937302696710775801604347729325532032733429571247403381185965539916538266939963410868512209597793843031400891058176234624539702924125047 16841931125293018499049685063912884397449045293266662704254337883554411319051460038690379971970402281930589723540815962467451620164691266621514031536525555690906850992540818226264134265172635396199868768897153998282016460371215599573929442911432750684031768575993039695294650209171147448557135358796888130967038629185375113080250190680526069099757738730322472595977845166132690502409607159289378715669756541765534318655146126967401230729923167758151376574861379132582285655083073472538696301625359364403816207981133852224864899859658606352713206572766853418612983250200411577125606305737017324268568179302686669720728422581145502833248370510534608072423996793438477486514121631299580024947303401402339269597371482855776639972688036152235794907913157035603439413649327017295887075756644048905519243187367440102507800135657915668594527129726706110445777963634177477033320550278569641051775671279132879153643738460000312306620572940140854201747476289295328068344569126520557185431753143613934788858374282854722439353692950130462916560466666426802737385622291287847593214904535954635751436920799265140058073825218980342947044794910533230088053759355831469553251508111071688457533893891689051495748347295574937169526043739036528652765917417420695410344395444582225791216463070749694768457353631004252165031000306525027296732657749099867091369003861131564055524519426550372450319215532984395832654497085086464440456607587332583891536025184487477631701365203243212015752084894615820878488986569759695109210359105836704016285746886748944409692878031031523922810751263962998813771875466641579464627957122461978230126084183372488600138955444549354091155019347718314158058956514484920980661055046904600859355031395418642024414117961147147840673426623789144853559358580427708417823558804318624729384943955681229258440238421843924746954277861399120220489975488602506901650095724880333140755678554804963173617696335021869516959056984621171646856469662179983544528618580077764787949122487781777235612415805283787988031340152085519895067537017711187592775643784426084514195411758698853303770718683829855442075779912630410778173501520664183740119594909813416907397360081909687660386463693093442688845994529833115328650850058643370165013063084184433322665420129665096828352114616753783567777319527148434382123414723299476309485903300985175242175206811988608873987817769530937547817652813714914708386019760853136250737558576063545979717917485352006962489461710820492360218434502834542891965714797396821164049016046356586008537463183254342871172821739298362381711710349120670409408917730189891797453727728337194531121070155045152359451 27250816996908867775248850570440858924089513541490191934535550377721743634223410967922981164291361478629773246112242596900229519213592361344839913972478087238408255568346375352017389422004314311964723494295235714878794900194810526038162487414856274157891692053417093747288530115186922449061178444652201951406811803572805179486456004616045161654498883285487971166948184096077813561054017312117625410627834709539296270422916436007813947500573338095904550601986356494393252448151255570419839851738625883157130629118910478147102169832950294788952084511029801182527398689001329459741590816399041601592853187462750877165869255630124128103757383720627235356985000244758117780411366452175975960414610247862642635800967060093815085935813403956035480071835018758888277848477385610433267170047201481123400635506591298969720729784424481344774639564914848943376202830603206071970693986990357507827165829465094931021214279455367644044259298053804366585081242092245326984196871267024870357551987265807630061944160336575108555257115739114892834449739303894692423122133616188506596470154296904524107592113668505341567378871926531953282307050836695577231141731789666797336141362384625026037775879590934693795478472545349795654366884541762736328634938392032415425374489407945460476215537594803341007233304569013890570198835586820273691630287804046048138646014808575102989726533461260929293530164659863358301023780354202049091698117813862448511537382880733462402160778131211818133445738209814656357946571174638409578168456734523885464679676165147053579920099649110999650731633265881926929883435353566456848595706368178108719783996601469371618932325553185977323121482818501035835834996014547945661004279477113382019169541942469762797208925844166168978335634144276507998263853313565239680380030443840103924067227578935056716298183807844521299795281674296096024554314756658403996906795269825871628396504858080682763590737187731209030416373508772136261293002045948895640382736853399270730626615262114153174605225059940332723852904565711267262883988813424548224689036945050794432235252751250846275693034456286812098026935941806889709464687879370604773396853722049550625768011161366781188134688032425622025722267396001436775031148032418224908209600287738875198419608400406416384575374128573195047391320875013620735989647153450909338001929977792305294108860444121388860458031844724204451678892773025170088895509337356843667263501055519774081757254795850322262602403100884131358752670487467318515179601161782758466745726822158190356266788715287076300744069142679548347251626887387610372819786242399489591296759129228252707355694694748076484498 44092748122201886274298535634353743321538558834756854638789888261276154953274871006613361136261763760560362969653058559367681139378283627966353945509003642929315106560887193578281523687176949708164592263192389713160811360566026125612091930326289024841923460629410133442583180324358069897618313803449090082373850432758180292566706195296571230754256622015810443762926029262210504063463624471407004126297591251304830589078062562975215178230496505854055927176847735626975538103234329042958536153363985247560946837100044330371967069692608901141665291083796654601140381939201741036867197122136058925861421366765437546886597678211269630937005754231161843429408997038196595266925488083475555985361913649264981905398338542949591725908501440108271274979748175794491717262126712627729154245803845530028919878693958739072228529920082397013369166694641555053821980794237383549004014537268927148878941500744227810174858017915367956350879870993945220786828718381540655052541440393545427542983740409421564850802534619429830994610808689245355751010205970321495160507755907476354189685058832859159859029034467770481625452697145512296229351845747228807319195491145498266889392870495696714495309773482623745291226819840924732823892928280799264981400855809453110835718884852527686267432000665553035775690658200018142735229835893345300988362945553145915230015018669706667045251052887811301743849380192847754133678277439288513532154725401195032403073408065220940033862143334455030149197823104430477236435557744398104687378815840360589480965423051895997989612977680142523573542384529844925743655310820208036313223663490640086949910080784841860219071280997735331414276502166219349993893952529032866641665334524017982878524573337888404821623043805313316819009060768065652851823211893992948098203589248158728653452171534616285974738422229688446046749559535695216245044290245260910898556890994706204769152183412885645937208433522753078547375430493393307908149471708128879184911355433477035518575737749895930410217640865224120711884244717796787157951525831135735817464680729476878946430664509949699579463753140116667540102715854437300487638189400034788513516448631862967533165371243276468848521151725519064714568261925834552103681998091061595073222663371923308521085028530071513212927488745326978615168640402162055118113061876750385647487833278777480536284067256109997734445849614255141999496545586740084797281529098209979918001059631583320061475172281202329225091864811704623718971104990301861407145315959179579630794742868514776364804251898541419171916890881977910728963337236508280782228703972589381388750486857565447238476764849793228843949 71343565119110754049547386204794602245628072376247046573325438638997898587498281974536342300553125239190136215765301156267910658591875989311193859481481730167723362129233568930298913109181264020129315757487625428039606260760836651650254417741145298999815152682827227189871710439544992346679492248101292033780662236330985472053162199912616392408755505301298414929874213358288317624517641783524629536925425960844126859500978998983029125731069843949960477778834092121368790551385584613378376005102611130718077466218954808519069239525559195930617375594826455783667780628203070496608787938535100527454274554228188424052466933841393759040763137951789078786393997282954713047336854535651531945776523897127624541199305603043406811844314844064306755051583194553379995110604098238162421415851047011152320514200550038041949259704506878358143806259556403997198183624840589620974708524259284656706107330209322741196072297370735600395139169047749587371909960473785982036738311660570297900535727675229194912746694956004939549867924428360248585459945274216187583629889523664860786155213129763683966621148136275823192831569072044249511658896583924384550337222935165064225534232880321740533085653073558439086705292386274528478259812822562001310035794201485526261093374260473146743647538260356376782923962769032033305428671480165574679993233357191963368661033478281770034977586349072231037379544852711112434702057793490562623852843215057480914610790945954402436022921465666848282643561314245133594382128919036514265547272574884474945645099217043051569533077329253523224274017795726852673538746173774493161819369858818195669694077386311231838003606550921308737397984984720385829728948543580812302669614001131364897694115280358167618831969649479485797344694912342160850087065207558187778583619691998832577519399113551342691036606037532967346544841209991312269598605001919314895463686264532076397548688270966328700799170710484287577791804002165444169442473754077774825294092286876306249202353012010083584822865925164453435737149283508054420835514644560284042153717674527673378665917261200545855156787596403479638129651796244190197102877279405393286913302353912518158933382404643250036655839757944686740290529321835988878713146123479819981432263659662183719504636930477929597502862873900173662559961277175675854102709030201294985489763256569785830392927700231386594903881458979346451175438359765254886177038435566823585264560687103094143232427077052651487694267912588755077723775477769179922324917120962338097540469690672966721071040613828495472660960024657459076214964123895891155048490214988870980047245986793699945832459544541305328447 115436313241312640323845921839148345567166631211003901212115326900274053540773152981149703436814888999750499185418359715635591797970159617277547804990485373097038468690120762508580436796358213728293908020680015141200417621326862777262346348067434323841738613312237360632454890763903062244297806051550382116154512669089165764619868395209187623163012127317108858692800242620498821687981266254931633663223017212148957448579041561958244303961566349804016404955681827748344328654619913656336912158466596378279024303318999138891036309218168097072282666678623110384808162567404811533475985060671159453315695920993625970939064612052663389977768892182950922215802994321151308314262342619127087931138437546392606446597644145992998537752816284172578030031331370347871712372730810865891575661654892541181240392894508777114177789624589275371512972954197959051020164419077973169978723061528211805585048830953550551370930315286103556746019040041694808158738678855326637089279752054115725443519468084650759763549229575434770544478733117605604336470151244537682744137645431141214975840271962622843825650182604046304818284266217556545741010742331153191869532714080663331114927103376018455028395426556182184377932112227199261302152741103361266291436650010938637096812259113000833011079538925909412558614620969050176040658507373510875668356178910337878598676052147988437080228639236883532781228925045558866568380335232779076156007568616252513317684199011175342469885064800121878431841384418675610830817686663434618952926088415245064426610522268939049559146055009396046797816402325571778417194056993982529475043033349458282619604158171153092057074887548656640151674487150939735823622901072613678944334948525149347776218688618246572440455013454792802616353755680407813701910277101551135876787208940157561230971570648167628665775028267221413393294400745686528514642895247180225794020577259238281166700871683851974638007604233237366125167234495558752077591945462206654010205447720353341767778090761906013995040506790388574147621394001304841578787040475696019859618398404004552325096581771150245434620540736520147178232367650681490684741066679440181800429750985775485692098753647919718885176991483463751454858791247670540982395144214541415054654927031585492240589665460549442810430351619227152277728601679337730972215770906951680632977596535347266366676994956341384329349731073234488450671983946505339683458567533776803503265620318686414204707599358254980712786132724293378796694880468071041329470233080141917728335212559187743085875292512369914644577850906635369805178301360404171937277194187578252368797732844359147184309224394334534172396 186779878360423394373393308043942947812794703587250947785440765539271952128271434955686045737368014238940635401183660871903502456562035606588741664471967103264761830819354331438879349905539477748423223778167640569240023882087699428912600765808579622841553765995064587822326601203448054590977298299651674149935174905420151236673030595121804015571767632618407273622674455978787139312498908038456263200148443172993084308080020560941273429692636193753976882734515919869713119206005498269715288163569207508997101769537953947410105548743727293002900042273449566168475943195607882030084772999206259980769970475221814394991531545894057149018532030134740001002196991604106021361599197154778619876914961443520230987796949749036405349597131128236884785082914564901251707483334909104053997077505939552333560907095058815156127049329096153729656779213754363048218348043918562790953431585787496462291156161162873292567002612656839157141158209089444395530648639329112619126018063714686023344055195759879954676295924531439710094346657545965852921930096518753870327767534954806075761995485092386527792271330740322128011115835289600795252669638915077576419869937015828395340461336256340195561481079629740623464637404613473789780412553925923267601472444212424163357905633373473979754727077186265789341538583738082209346087178853676450348349412267529841967337085626270207115206225585955763818608469898269979003082393026269638779860411831309994232294989957129744905907986265788726714484945732920744425199815582471133218473360990129539372255621485982101128679132338649570022090420121298631090732803167757022636862403208276478289298235557464323895078494099577948889072472135660121653351849616194491247004562526280712673912803898604740059286983104272288413698450592749974551997342309109323655370828632156393808490969761718971356811634304754380739839241955677840784241500249099540689484263523770357564249559954818303338806774943721653702959038497724196247034419216284428835499540007229648016980443773916097579863372715553027583358543284812895999622555120256303901772116078532225703762499032350791289777328332923626816362019446925680881843943958845575087343053339688003851032136052562968921832831241408438195149320569506529861108290338021235036087190691247675960094302391027372407933214493127325940288562956513406826318479937152975618467359791917052197069922656572770924253612532213834901847422306270594569635605969343627088530181005789508347940026435307632200480400636882133874418655945840221251795150201104255825875682249860709806946333126198410117238810931292828881393265484300063092325684402567123348844978831152847130141683938875839500843 302216191601736034697239229883091293379961334798254848997556092439546005669044587936835749174182903238691134586602020587539094254532195223866289469462452476361800299509475093947459786701897691476717131798847655710440441503414562206174947113876013946683292379307301948454781491967351116835275104351202056266089687574509317001292898990330991638734779759935516132315474698599285961000480174293387896863371460385142041756659062122899517733654202543557993287690197747618057447860625411926052200322035803887276126072856953086301141857961895390075182708952072676553284105763012693563560758059877419434085666396215440365930596157946720538996300922317690923217999985925257329675861539773905707808053398989912837434394593895029403887349947412409462815114245935249123419856065719969945572739160832093514801299989567592270304838953685429101169752167952322099238512462996535960932154647315708267876204992116423843937932927942942713887177249131139203689387318184439256215297815768801748787574663844530714439845154106874480638825390663571457258400247763291553071905180385947290737835757055009371617921513344368432829400101507157340993680381246230768289402651096491726455388439632358650589876506185922807842569516840673051082565295029284533892909094223362800454717892486474812765806616112175201900153204707132385386745686227187326016705591177867720566013137774258644195434864822839296599837394943828845571462728259048714935867980447562507549979188968305087375793051065910605146326330151596355256017502245905752171399449405374603798866143754921150687825187348045616819906822446870409507926860161739552111905436557734760908902393728617415952153381648234589040746959286599857476974750688808170191339511051430060450131492516851312499741996559065091030052206273157788253907619410660459532158037572313955039462540409886600022586662571975794133133642701364369298884395496279766483504840783008638730950431638670277976814379176959019828126272993282948324626364678491082845704987727582989784758534535822111574903879505941601730979937286117737578409595595952323761390514482536778028859080803501036724397869069443773994594387097607171566585010638285756887772804325463489543130889700482687807009822724872189650008111817177070843503434552562650090742117722833168200683967851576815218363566112354478218017164635851137798534250844104656251444956327264318563746917612914155253603343605448323352519406252775934253094173503120430591795801324475922552647625793562612913266533361175512671113536413911262581265383281246173554210894809048452892821625638568324761816661837928198686571566844704235029602878590145375717642711675511994314450908333210373673239 488996069962159429070632537927034241192756038385505796782996857978817957797316022892521794911550917477631769987785681459442596711094230830455031133934419579626562130328829425386339136607437169225140355577015296279680465385502261635087547879684593569524846145302366536277108093170799171426252402650853730416024862479929468237965929585452795654306547392553923405938149154578073100312979082331844160063519903558135126064739082683840791163346838737311970170424713667487770567066630910195767488485605011396273227842394907033711247406705622683078082751225522242721760048958620575593645531059083679414855636871437254760922127703840777688014832952452430924220196977529363351037460736928684327684968360433433068422191543644065809236947078540646347600197160500150375127339400629073999569816666771645848362207084626407426431888282781582830826531381706685147456860506915098751885586233103204730167361153279297136504935540599781871028335458220583599220035957513551875341315879483487772131629859604410669116141078638314190733172048209537310180330344282045423399672715340753366499831242147395899410192844084690560840515936796758136246350020161308344709272588112320121795849775888698846151357585815663431307206921454146840862977848955207801494381538435786963812623525859948792520533693298440991241691788445214594732832865080863776365055003445397562533350223400528851310641090408795060418445864842098824574545121285318353715728392278872501782274178925434832281701037331699331860811275884517099681217317828376885389872810395504143171121765240903251816504319686695186841997242568169040598659663329496574748767839766011239198200629286081739847231875747812537929819431422259979130326600305002661438344073577710773124044296415456052559028979663337379443750656865907762805904961719769783187528866204470348847953510171605571379398296876730174872972884657042210083125895745379307172989104306778996295199991593488581315621154120680673531085311491007144571660783894775511681204527734812637801738978309738209154767252221494629314338480570930633578032150716208627663162630561069003732621579835851828014175197402367400810956406544532852448428954597131331975115857665151493394163025753045656728842653966280627845157432386683600704611724890583885126829308414080844160778270242604187626296780605481804158305727592364544624852730781257631869912316119181370760816840269486926177856956137662158254366828559046528822729779472464057680325982330265430900587652228870245113746933998057646545532192359751483833060533482350429380086577058909162699767958764766734879055472769221027567964832329004298121928562992712499066487690506664841444592592272086213174082 791212261563895463767871767810125534572717373183760645780552950418363963466360610829357544085733820716322904574387702046981690965626426054321320603396872055988362429838304519333798923309334860701857487375862951990120906888916823841262494993560607516208138524609668484731889585138150288261527507002055786682114550054438785239258828575783787293041327152489439538253623853177359061313459256625232056926891363943277167821398144806740308897001041280869963458114911415105828014927256322121819688807640815283549353915251860120012389264667518073153265460177594919275044154721633269157206289118961098848941303267652695126852723861787498227011133874770121847438196963454620680713322276702590035493021759423345905856586137539095213124297025953055810415311406435399498547195466349043945142555827603739363163507074193999696736727236467011931996283549659007246695372969911634712817740880418912998043566145395720980442868468542724584915512707351722802909423275697991131556613695252289520919204523448941383555986232745188671371997438873108767438730592045336976471577895726700657237666999202405271028114357429058993669916038303915477240030401407539112998675239208811848251238215521057496741234092001586239149776438294819891945543143984492335387290632659149764267341418346423605286340309410616193141844993152346980119578551308051102381760594623265283099363361174787495506075955231634357018283259785927670146007849544367068651596372726435009332253367893739919657494088397609937007137606036113454937234820074282637561272259800878746969987908995824402504329507034740803661904065015039450106586523491236126860673276323746000107103023014699155799385257396047126970566390708859836607301350993810831629683584629140833574175788932307365058770976222402470473802863139065551059812581130430242719686903776784303887416050581492171401984959448705969006106527358406579382010291241659073656493945089787635026150423232158859292435533297639693359211584484290092896287148573266594526909515462395627586497512845560320729671131727436231045318417857048371156441746312160951424553145043605781761480660639352864738573066471811174805550793642140024015013965235417088862888661990614982937293915453528344535852476691152817495165544203860671548115159443146535217571426136914012361462238094181002844660346717836282376322892228215682423386981625362288121357272446445689324563757882401081431460299743110481606886234811822463075823952975584488272121783654741353453235278022432858027013467359233159216645728773662746414325916763596602934297471867957615592589584403335059640872134607149226254536399173708533151531441582857874784130402182176835759043500605296586847321 1280208331526054892838504305737159775765473411569266442563549808397181921263676633721879338997284738193954674562173383506424287676720656884776351737331291635614924560167133944720138059916772029926997842952878248269801372274419085476350042873245201085732984669912035021008997678308949459687779909652909517098139412534368253477224758161236582947347874545043362944191773007755432161626438338957076216990411267501412293886137227490581100060347880018181933628539625082593598581993887232317587177293245826679822581757646767153723636671373140756231348211403117161996804203680253844750851820178044778263796940139089949887774851565628275915025966827222552771658393940983984031750783013631274363177990119856778974278777681183161022361244104493702158015508566935549873674534866978117944712372494375385211525714158820407123168615519248594762822814931365692394152233476826733464703327113522117728210927298675018116947804009142506455943848165572306402129459233211543006897929574735777293050834383053352052672127311383502862105169487082646077619060936327382399871250611067454023737498241349801170438307201513749554510431975100673613486380421568847457707947827321131970047087991409756342892591677817249670456983359748966732808520992939700136881672171094936728079964944206372397806874002709057184383536781597561574852411416388914878746815598068662845632713584575316346816717045640429417436729124628026494720552970829685422367324765005307511114527546819174751939195125729309268867948881920630554618452137902659522951145070196382890141109674236727654320833826721435990503901307583208490705246186820732701609441116089757239305303652300780895646617133143859664900385822131119815737627951298813493068027658206851606698220085347763417617799955885739849917553520004973313865717542850200025907215769981254652735369560753097742781383256325436143879079412015448789465136186987038380829483049396566631321350414825647440608056687418320366890296895975297237467947932468042106208114043197208265388236491155298529884438383948930860359656898427979004734473897028369579087715775604674785494102240475204692752748263874178575616507200186672876463442919832548420838004519655766476331456941206574001264695130657433445340322976590544272252726884333730420344400734550994856522240508336785190470957127323318086534628619820580227048239712406619919991269588565627060085380598151888007609317255880772639861253063370868991898553732448048545952447765985006784353822930251303103140760401357290805762177921133414230247386450245947032314384048926866778292357543168101794519927607376370253822501231502712831273460004575570373850618092688841677203636092877382800021403 2071420593089950356606376073547285310338190784753027088344102758815545884730037244551236883083018558910277579136561085553405978642347082939097672340728163691603286990005438464053936983226106890628855330328741200259922279163335909317612537866805808601941123194521703505740887263447099747949307416654965303780253962588807038716483586737020370240389201697532802482445396860932791222939897595582308273917302631444689461707535372297321408957348921299051897086654536497699426596921143554439406866100886641963371935672898627273736025936040658829384613671580712081271848358401887113908058109297005877112738243406742645014627575427415774142037100701992674619096590904438604712464105290333864398671011879280124880135363818722256235485541130446757968430819973370949372221730333327161889854928321979124574689221233014406819905342755715606694819098481024699640847606446738368177521067993941030726254493444070739097390672477685231040859360872924029205038882508909534138454543269988066813970038906502293436228113544128691533477166925955754845057791528372719376342828506794154680975165240552206441466421558942808548180348013404589090726410822976386570706623066529943818298326206930813839633825769818835909606759798043786624754064136924192472268962803754086492347306362552796003093214312119673377525381774749908554971989967696965981128576192691928128732076945750103842322793000872063774455012384413954164866560820374052491018921137731742520446780914712914671596689214126919205875086487956744009555686957976942160512417329997261637111097583232552056825163333756176794165805372598247940811832710311968828470114392413503239412406675315480051446002390539906791870952212839979652344929302292624324697711242835992440272395874280070782676570932108142320391356383144038864925530123980630268626902673758038956622785611334589914183368215774142112885185939373855368847146478228697454485976994486354266347500838057806299900492220715960060249508480459587330364235081041308700735023558659603892974734004000858850614109515676367091404975316285027375890915643340530530512268920648280567255582901114557557491321330345989750422057993828812900478456885067965509700893181646381459268750856660102345800547607348586262835488520794404943800842043776876955561972160687908868883702746430966193315617474041154368910951512048795909471626694031982208112626861012072749409944356034289089040777555623883121468139298182691454974377685423633034224569549639748137807058208273735961167773868716523964978823649907076976661712367009543635248681520794824393884947127571436854160799741983519480077037630676421364424991446158428248634748494871018512962679593482679386868724 3351628924616005249444880379284445086103664196322293530907652567212727805993713878273116222080303297104232253698734469059830266319067739823874024078059455327218211550172572408774075043142878920555853173281619448529723651437754994793962580740051009687674107864433738526749884941756049207637087326307874820878393375123175292193708344898256953187737076242576165426637169868688223384566335934539384490907713898946101755593672599787902509017696801317233830715194161580293025178915030786756994043394132468643194517430545394427459662607413799585615961882983829243268652562082140958658909929475050655376535183545832594902402426993044050057063067529215227390754984845422588744214888303965138761849001999136903854414141499905417257846785234940460126446328540306499245896265200305279834567300816354509786214935391834813943073958274964201457641913412390392034999839923565101642224395107463148454465420742745757214338476486827737496803209038496335607168341742121077145352472844723844107020873289555645488900240855512194395582336413038400922676852464700101776214079117861608704712663481902007611904728760456558102690779988505262704212791244545234028414570893851075788345414198340570182526417447636085580063743157792753357562585129863892609150634974849023220427271306759168400900088314828730561908918556347470129824401384085880859875391790760590974364790530325420189139510046512493191891741509041980659587113791203737913386245902737050031561308461532089423535884339856228474743035369877374564174139095879601683463562400193644527252207257469279711145997160477612784669706680181456431517078897132701530079555508503260478717710327616260947092619523683766456771338034971099468082557253591437817765738901042844046970615959627834200294370887993882170308909903149012178791247666830830294534118443739293609358155172087687656964751472099578256764265351389304158312282665215735835315460043882920897668851252883453740508548908134280427139805376434884567832183013509350806943137601856812158362970495156157380498547899625297951764632214713006380625389540368900109599984696252955352749685141589762250244069594220168326038565194015485776941899804900513930538897701302147935600207797866676347065242738006019708175811497384949216053568928110607375906372895238903725405943254767751383786574601364472455445580131869376136519866406438602128103896449577699809495324954186177096650094811504655761329392361553560446872931417871681580177017315624754922160881138525039064308534270073814770741001571040491206909098817255490667563065569721691172177304670739538648680727349359889733899538862179134195698451450733998622485366587559860190166315686360062186890127 5423049517705955606051256452831730396441854981075320619251755326028273690723751122824353105163321856014509832835295554613236244961414822762971696418787619018821498540178010872828012026368985811184708503610360648789645930601090904111575118606856818289615231058955442032490772205203148955586394742962840124658647337711982330910191931635277323428126277940108967909082566729621014607506233530121692764825016530390791217301207972085223917975045722616285727801848698077992451775836174341196400909495019110606566453103444021701195688543454458415000575554564541324540500920484028072566968038772056532489273426952575239917030002420459824199100168231207902009851575749861193456678993594299003160520013878417028734549505318627673493332326365387218094877148513677448618117995533632441724422229138333634360904156624849220762979301030679808152461011893415091675847446370303469819745463101404179180719914186816496311729148964512968537662569911420364812207224251030611283807016114711910920990912196057938925128354399640885929059503338994155767734643993072821152556907624655763385687828722454214053371150319399366650871128001909851794939202067521620599121193960381019606643740405271384022160243217454921489670502955836539982316649266788085081419597778603109712774577669311964403993302626948403939434300331097378684796391351782846841003967983452519103096867476075524031462303047384556966346753893455934824453674611577790404405167040468792552008089376245004095132573553983147680618121857834118573729826053856543843975979730190906164363304840701831767971160494233789578835512052779704372328911607444670358549669900916763718130117002931740998538621914223673248642290247811079120427486555884062142463450143878836487243011833907904982970941820102024490700266286293051043716777790811460563161021117497332565980940783422277571148119687873720369649451290763159527159429143444433289801437038369275164016352090941260040409041128850240487389313856894471898196418094550659507678161160516416051337704499157016231112657415301665043169607530998033756516305183709430640112253616901235920005268042704319807735390924566158076460623187844298677420356689968479440239790882948529394868958654526778692865790345354605971011300018179354159854410971887484331468345055926812594289646001198717577102192075405626824356531643918172045991493100470584336216523310589772558905269310220466185690872367128538882797531659736251901847309103295314614401586865264503059967939346798775025476308138790338735719825220947568183570811184265034302811747090516515566062251798310975502841527091343409213976576492855555560123442896892426871120115082430878703128995279842741573758851 8774678442321960855496136832116175482545519177397614150159407893241001496717465001097469327243625153118742086534030023673066511280482562586845720496847074346039710090350583281602087069511864731740561676891980097319369582038845898905537699346907827977289338923389180559240657146959198163223482069270714945537040712835157623103900276533534276615863354182685133335719736598309237992072569464661077255732730429336892972894880571873126426992742523933519558517042859658285476954751205127953394952889151579249760970533989416128655351150868258000616537437548370567809153482566169031225877968247107187865808610498407834819432429413503874256163235760423129400606560595283782200893881898264141922369015877553932588963646818533090751179111600327678221323477053983947864014260733937721558989529954688144147119092016684034706053259305644009610102925305805483710847286293868571461969858208867327635185334929562253526067625451340706034465778949916700419375565993151688429159488959435755028011785485613584414028595255153080324641839752032556690411496457772922928770986742517372090400492204356221665275879079855924753561907990415114499151993312066854627535764854232095394989154603611954204686660665091007069734246113629293339879234396651977690570232753452132933201848976071132804893390941777134501343218887444848814620792735868727700879359774213110077461658006400944220601813093897050158238495402497915484040788402781528317791412943205842583569397837777093518668457893839376155361157227711493137903965149736145527439542130384550691615512098171111479117157654711402363505218732961160803845990504577371888629225409420024196847827330548001945631241437907439705413628282782178588510043809475499960229189044921680534213627793535739183265312708095906661009176189442063222508025457642290857695139561236626175339095955509965228112871159973298626413716642152463685471711808660169125116897082252196061685203343824713780917590036984520914529119233329356466028601108060010314621298762373228209700674994313173611611205314926962994934239745711040137141694724078330749712238313154191272754953184294082057979460518786326402499188381859784454362256494868993370778688584250677330469166452393455039931033083360625679187111515564303375907979899998091707374717951165716319695589255966468960888766676770099279802111775787548182511359506909186464320419760167472368400594264406643282340967178633194644126924021289812348720240521166996194578604180889257982128820485323814089784842408864153506460826791988059390479910001520524970374812660238206738239556469050514151522254440703298947876115355034689755821894347626425493605481669990738893295310966202803760648978 14197727960027916461547393284947905878987374158472934769411163219269275187441216123921822432406947009133251919369325578286302756241897385349817416915634693364861208630528594154430099095880850542925270180502340746109015512639936803017112817953764646266904569982344622591731429352162347118809876812233555070195688050547139954014092208168811600043989632122794101244802303327930252599578802994782770020557746959727684190196088543958350344967788246549805286318891557736277928730587379469149795862384170689856327423637433437829851039694322716415617112992112911892349654403050197103792846007019163720355082037450983074736462431833963698455263403991631031410458136345144975657572875492563145082889029755970961323513152137160764244511437965714896316200625567661396482132256267570163283411759093021778508023248641533255469032560336323817762563937199220575386694732664172041281715321310271506815905249116378749837796774415853674572128348861337065231582790244182299712966505074147665949002697681671523339156949654793966253701343091026712458146140450845744081327894367173135476088320926810435718647029399255291404433035992324966294091195379588475226656958814613115001632895008883338226846903882545928559404749069465833322195883663440062771989830532055242645976426645383097208886693568725538440777519218542227499417184087651574541883327757665629180558525482476468252064116141281607124585249295953850308494463014359318722196579983674635135577487214022097613801031447822523835979279085545611711633791203592689371415521860575456855978816938872943247088318148945191942340730785740865176174902112022042247178895310336787914977944333479742944169863352131112954055918530593257708937530365359562102692639188800517021456639627443644166236254528197931151709442475735114266224803248453751420856160678733958741320036738932242799260990847847018996063167932915623212631140952104602414918334120621471225701555434765973821326631165834761401918433090223828364225019202610669822299459922889644261038379493470189842723862730228628038103847276709073893657999907787761389824491930055427192760221226998401865714851443352484478959811569704083131782613184837472811018479467199206725338125106920233732796823428715231650198411533743657535762390871885576038843063007092528913985235257165186537990958752175726104158643419705720228502852607379770800536943070757244927305863574627109468031839545761733526924455681026064250567549624462310808980191046153761042096759832122589115261150547654492242180652012935627574050721185785559273186559750754722304301808267361489654363781532046708161852691847890245315945337244518852364725596752421617596424306246045545334407829 22972406402349877317043530117064081361532893335870548919570571112510276684158681125019291759650572162251994005903355601959369267522379947936663137412481767710900918720879177436032186165392715274665831857394320843428385094678782701922650517300672474244193908905733803150972086499121545282033358881504270015732728763382297577117992484702345876659852986305479234580522039926239490591651372459443847276290477389064577163090969115831476771960530770483324844835934417394563405685338584597103190815273322269106088394171422853958506390845190974416233650429661282460158807885616366135018723975266270908220890647949390909555894861247467572711426639752054160811064696940428757858466757390827287005258045633524893912476798955693854995690549566042574537524102621645344346146517001507884842401289047709922655142340658217290175085819641967827372666862505026059097542018958040612743685179519138834451090584045941003363864399867194380606594127811253765650958356237333988142125994033583420977014483167285107753185544909947046578343182843059269148557636908618667010098881109690507566488813131166657383922908479111216157994943982740080793243188691655329854192723668845210396622049612495292431533564547636935629138995183095126662075118060092040462560063285507375579178275621454230013780084510502672942120738105987076314037976823520302242762687531878739258020183488877412472665929235178657282823744698451765792535251417140847039987992926880477719146885051799191132469489341661899991340436313257104849537756353328834898855063990960007547594329037044054726205475803656594305845949518702025980020892616599414135808120719756812111825771664027744889801104790038552659469546813375436297447574174835062062921828233722197555670267420979383349501567236293837812718618665177177488732828706096042278551300239970584916659132694442208027373862007820317622476884575068086898102852760764771540035231202873667287386758778590687602244221202819282316447552323553184830253620310670680136920758685262872470739054487783363454335068045155591033038087022420114030799694631866092139536730243209618465515174411292483923694311962138810881458999951563867586144869679706466181797168051449884055807291559313688772727856512075857329385523049307960911670370771883667746217780958258245233680824513131655498879725428945825383960755195493268411014212114288957264857362830924717295706457839033752750372806724394928171051379702315876599287790145629307003558795227043019024225580317446403205045992956518645748641478804923686964530631187306084243561372410992929042541364736412003805886035972750007109728807202924935071767231592145277858331078422412356489719617212248349095056807 37170134362377793778590923402011987240520267494343483688981734331779551871599897248941114192057519171385245925272681180245672023764277333286480554328116461075762127351407771590462285261273565817591102037896661589537400607318719504939763335254437120511098478888078425742703515851283892400843235693737825085928416813929437531132084692871157476703842618428273335825324343254169743191230175454226617296848224348792261353287057659789827116928319017033130131154825975130841334415925964066252986677657492958962415817808856291788357430539513690831850763421774194352508462288666563238811569982285434628575972685400373984292357293081431271166690043743685192221522833285573733516039632883390432088147075389495855235989951092854619240201987531757470853724728189306740828278773269078048125813048140731701163165589299750545644118379978291645135230799704246634484236751622212654025400500829410341266995833162319753201661174283048055178722476672590830882541146481516287855092499107731086926017180848956631092342494564741012832044525934085981606703777359464411091426775476863643042577134057977093102569937878366507562427979975065047087334384071243805080849682483458325398254944621378630658380468430182864188543744252560959984271001723532103234549893817562618225154702266837327222666778079228211382898257324529303813455160911171876784646015289544368438578708971353880724730045376460264407408993994405616101029714431500165762184572910555112854724372265821288746270520789484423827319715398802716561171547556921524270270585851535464403573145975916997973293793952601786248186680304442891156195794728621456382987016030093600026803715997507487833970968142169665613525465343968694006385104540194624165614467422522714577126907048423027515737821764491768964428061140912291754957631954549793699407460918704543657979169433374450826634852855667336618540052507983710110733993712869373954953565323495138513088314213356661423570852368654043718365985413777013194478639513281349959220218608152516731777433981253553297058930775384219071141934299129187924457694539653853529361222173265045658275395638290885789409163405491295360418811521267950717927482864543938992815647518649090781145416666233922505524679940791088979583934583051618447432761643769243785060843965350774147666059770296842036870684181121551488119398615198988639517064721668728065394305901681962223012321413660862218404646270156661697975835383341940849855339770091617812538986273196780066322340149568992320307143504173137990822130817859314538581352373091643516747932161747651346843173003773493460249817504796715271581499050815180387712568836664130223056675174833974086143923458293894429464636 60142540764727671095634453519076068602053160830214032608552305444289828555758578373960405951708091333637239931176036782205041291286657281223143691740598228786663046072286949026494471426666281092256933895290982432965785701997502206862413852555109594755292387793812228893675602350405437682876594575242095101661145577311735108250077177573503353363695604733752570405846383180409233782881547913670464573138701737856838516378026775621303888888849787516454975990760392525404740101264548663356177492930815228068504211980279145746863821384704665248084413851435476812667270174282929373830293957551705536796863333349764893848252154328898843878116683495739353032587530226002491374506390274217719093405121023020749148466750048548474235892537097800045391248830810952085174425290270585932968214337188441623818307929957967835819204199620259472507897662209272693581778770580253266769085680348549175718086417208260756565525574150242435785316604483844596533499502718850275997218493141314507903031664016241738845528039474688059410387708777145250755261414268083078101525656586554150609065947189143750486492846357477723720422923957805127880577572762899134935042406152303535794876994233873923089914032977819799817682739435656086646346119783624143697109957103069993804332977888291557236446862589730884325018995430516380127493137734692179027408702821423107696598892460231293197395974611638921690232738692857381893564965848641012802172565837435590573871257317620479878740010131146323818660151712059821410709303910250359169125649842495471951167475012961052699499269756258380554032629823144917136216687345220870518795136749850412138629487661535232723772072932208218272995012157344130303832678715029686228536295656244912132797174469402410865239389000785606777146679806089469243690460660645835977958761158675128574638302127816658854008714863487654241016937083051797008836846473634145494988796526368805800475072991947349025815073571473326034813537737330198024732259823952030096140977293415389202516488469036916751393998820539810104180021321549301955257389171519945668897952416474664123790570049583369713103475367630106241877811472831818304072352544250405174612815570098974836952708225547611278252536452866946308969457632359579359103132415652911531278624923609019381346884283428497535750409610067376872080153810692257050531276835957685330251668732606679518718779252694614968777452994551589869027215085657817449143129915720924816097781500239799090547920467015395525353136460691783739463609622783001503111983560397727760309304572740580389384537740185497266135853477546722381310306253740115459479800428809408081387753597246330575863540670542243524521443 97312675127105464874225376921088055842573428324557516297534039776069380427358475622901520143765610505022485856448717962450713315050934614509624246068714689862425173423694720616956756687939846909848035933187644022503186309316221711802177187809546715266390866681890654636379118201689330083719830268979920187589562391241172639382161870444660830067538223162025906231170726434578976974111723367897081869986926086649099869665084435411131005817168804549585107145586367656246074517190512729609164170588308187030920029789135437535221251924218356079935177273209671165175732462949492612641863939837140165372836018750138878140609447410330115044806727239424545254110363511576224890546023157608151181552196412516604384456701141403093476094524629557516244973559000258826002704063539663981094027385329173324981473519257718381463322579598551117643128461913519328066015522202465920794486181177959516985082250370580509767186748433290490964039081156435427416040649200366563852310992249045594829048844865198369937870534039429072242432234711231232361965191627547489192952432063417793651643081247120843589062784235844231282850903932870174967911956834142940015892088635761861193131938855252553748294501408002664006226483688217046630617121507156246931659850920632612029487680155128884459113640668959095707917252755045683940948298645864055812054718110967476135177601431585173922126019988099186097641732687262997994594680280141178564357138747990703428595629583441768625010530920630747645979867110862537971880851467171883439396235694030936354740620988878050672793063708860166802219310127587808292412482073842326901782152779944012165433203659042720557743041074377883886520477501312824310217783255224310394150763078767626709924081517825438380977210765277375741574740947001760998648092615195629677366222077379672232617471561191109680643567719154990859556989591035507119570840186503519449942361849863944313563387205304010449385925940127369753179523151107211219210899337233380055361195901567905934293922450290470048452929595924029175321955620678489879715083711173799198259174589739709782065965687874255502512638773121401602296622994099769021999835408794344167428463088748065618098124891781533783777216393658035288553392215411197806535894059422155316339468888959793529012944053725339572621093791188928360199552425891245690048341557626413395645974634288641741731100666355477187182099264708251567003050468999758298998469685812542628636767773436579156870260616584387845660279964864921730285740440642316041693335933489371277057236734488231736227710743958990726385670982343437652891805304555295847192369265473538304444428772080304662007464128836137953986079 157455215891833135969859830440164124444626589154771548906086345220359208983117053996861926095473701838659725787624754744655754606337591895732767937809312918649088219495981669643451228114606128002104969828478626455468972011313723918664591040364656310021683254475702883530054720552094767766596424844222015289250707968552907747632239048018164183431233827895778476637017109614988210756993271281567546443125627824505938386043111211032434894706018592066040083136346760181650814618455061392965341663519123415099424241769414583282085073308923021328019591124645147977843002637232421986472157897388845702169699352099903771988861601739228958922923410735163898286697893737578716265052413431825870274957317435537353532923451189951567711987061727357561636222389811210911177129353810249914062241722517614948799781449215686217282526779218810590151026124122792021647794292782719187563571861526508692703168667578841266332712322583532926749355685640280023949540151919216839849529485390360102732080508881440108783398573514117131652819943488376483117226605895630567294478088649971944260709028436264594075555630593321955003273827890675302848489529597042074950934494788065396988008933089126476838208534385822463823909223123873133276963241290780390628769808023702605833820658043420441695560503258689980032936248185562064068441436380556234839463420932390583831776493891816467119521994599738107787874471380120379888159646128782191366529704585426294002466886901062248503750541051777071464640018822922359382590155377422242608521885536526408305908096001839103372292333465118547356251939950732725428629169419063197420577289529794424304062691320577953281515114006586102159515489658656954614050461970253996622687058735012538842721255987227849246216599766062982518721420753091230242338553275841465655324983236054800807255773689007768534652282582642645100573926674087304128407686660137664944931158376232750114038460197251359475200999511600695787993060888437409243943159161185410151502173194983295136810410919327386799846928416463839279501976942227791834972472882693744867157127006214373905856535737457625215616114140751507844174434466931587326072187953044749342041278658847040455050833117329145062029752846524981597522849847770777165639026475075066847618093812568812910359828337153837108371503401256305232279706236583502740579618393584098725897643366895321260449879919050092155959552259259841436030265554657575748141599601533467444734549273676378247418181083599783371013416425556705469749350063425317544805319493887099037366541307228812125612248484144487992521524459890160034202111558295411306672169694282946385832182369326635237871004799378381478507522 254767891018938600844085207361252180287200017479329065203620384996428589410475529619763446239239312343682211644073472707106467921388526510242392183878027608511513392919676390260407984802545974911953005761666270477972158320629945630466768228174203025288074121157593538166433838753784097850316255113201935476840270359794080387014400918462825013498772051057804382868187836049567187731104994649464628313112553911155038255708195646443565900523187396615625190281933127837896889135645574122574505834107431602130344271558550020817306325233141377407954768397854819143018735100181914599114021837225985867542535370850042650129471049149559073967730137974588443540808257249154941155598436589434021456509513848053957917380152331354661188081586356915077881195948811469737179833417349913895156269107846788273781254968473404598745849358817361707794154586036311349713809814985185108358058042704468209688250917949421776099899071016823417713394766796715451365580801119583403701840477639405697561129353746638478721269107553546203895252178199607715479191797523178056487430520713389737912352109683385437664618414829166186286124731823545477816401486431185014966826583423827258181140871944379030586503035793825127830135706812090179907580362797936637560429658944335217863308338198549326154674143927649075740853500940607748009389735026420290651518139043358059966954095323401641041648014587837293885516204067383377882754326408923369930886843333416997431062516484504017128761071972407819110619885933784897354471006844594126047918121230557344660648716990717154045085397173978714158471250078320533721041651492905524322359442309738436469495894979620673839258155080963986046035967159969778924268245225478307016837821813780165552645337505053287627193810531340358260296161700092991240986645891037095332691205313434473039873245250198878215295850301797635960130916265122811247978526846641184394873520226096694427601847402555369924586925451728065541172584039544620463154058498418790206863369096551201071104333369617856848299858012387868454823932562906281714687556593867544065416301595954083687922501425331880718128752913872909446471057461031356348072023361839093509469741747595106073148958009110678845806969240183016886076242063181974972174920534497222163957562701528606439372772390879176680992597192445233592479258662474748430627959951210512121543618001183963002180980585405569343141651523968093003033316023657334047140069287346010073371317047112957404288441700184171216673696390421627200035090504067633586498655427376470314423778041717043861839959228103478718907195442233597687093916862850707153864538959756484690276611141406939899878468928214519432493601 412223106910771736813945037801416304731826606634100614109706730216787798393592583616625372334713014182341937431698227451762222527726118405975160121687340527160601612415658059903859212917152102914057975590144896933441130331943669549131359268538859335309757375633296421696488559305878865616912679957423950766090978328346988134646639966480989196930005878953582859505204945664555398488098265931032174756238181735660976641751306857476000795229205988681665273418279888019547703754100635515539847497626555017229768513327964604099391398542064398735974359522499967120861737737414336585586179734614831569712234722949946422118332650888788032890653548709752341827506150986733657420650850021259891731466831283591311450303603521306228900068648084272639517418338622680648356962771160163809218510830364403222581036417689090816028376138036172297945180710159103371361604107767904295921629904230976902391419585528263042432611393600356344462750452436995475315120953038800243551369963029765800293209862628078587504667681067663335548072121687984198596418403418808623781908609363361682173061138119650031740174045422488141289398559714220780664891016028227089917761078211892655169149805033505507424711570179647591654044929935963313184543604088717028189199466968037823697128996241969767850234647186339055773789749126169812077831171406976525490981559975748643798730589215218108161170009187575401673390675447503757770913972537705561297416547918843291433529403385566265632511613024184890575259904756707256737061162222016368656440006767083752966556812992556257417377730639097261514723190029053259149670820911968721742936731839532860773558586300198627120773269087550088205551456818626733538318707195732303639524880548792704395366593492281136873410410297403340779017582453184221483325199166878560988016188549489273847129018939206646749948132884440281060704842939210115376386213506778849339804678602329444541640307599806729399787924963328761329165644927982029707097217659604200358365542291534496207914744288945243648146786428851707734325909505134073549660029476561288932573428602168457593779037162789505933744867054624417290645491927962943674144211314883842851511020406442146528199791126439823907836722086707998483599091910952752137813947009572289011575656514097419349732600728033013789364100593701538824758964899058251171207578344794610847441261368079284262630860504455661499101203783227934439063581578314909795281668888879477518105866320789335651706622783783954587687112815978332669784440567492951131303974921263569351790319348945855987452207712247966711428719902123757721296028421146118460536708654039431076108793510733575137749473727592900911001123 666990997929710337658030245162668485019026624113429679313327115213216387804068113236388818573952326526024149075771700158868690449114644916217552305565368135672115005335334450164267197719698077826010981351811167411413288652573615179598127496713062360597831496790889959862922398059662963467228935070625886242931248688141068521661040884943814210428777930011387242373392781714122586219203260580496803069350735646816014897459502503919566695752393385297290463700213015857444592889746209638114353331733986619360112784886514624916697723775205776143929127920354786263880472837596251184700201571840817437254770093799989072247803700038347106858383686684340785368314408235888598576249286610693913187976345131645269367683755852660890088150234441187717398614287434150385536796188510077704374779938211191496362291386162495414774225496853534005739335296195414721075413922753089404279687946935445112079670503477684818532510464617179762176145219233710926680701754158383647253210440669171497854339216374717066225936788621209539443324299887591914075610200941986680269339130076751420085413247803035469404792460251654327575523291537766258481292502459412104884587661635719913350290676977884538011214605973472719484180636748053493092123966886653665749629125912373041560437334440519094004908791113988131514643250066777560087220906433396816142499699019106703765684684538619749202818023775412695558906879514887135653668298946628931228303391252260288864591919870070282761272684996592709685879790690492154091532169066610494704358127997641097627205529983273411462463127813075975673194440107373792870712472404874246065296174149271297243054481279819300960031424168514074251587423978596512462586952421210610656362702362572869948011930997334424500604220828743699039313744153277212724311845057915656320707393862923746887002264189405524965243983186237917020835759204332926624364740353420033734678198828426138969242155002362099324374850415056826870338228967526650170251276158022990565228911388085697279019077658563100496446644441239576189149842068040355264347586070428832997989730198122541281701538588121386651873619968497326737116549388994300022216234676722936360980762154037252601348749135550502753643691326891015369675333974134727109988867544069511175533219215626025789105373118912190470356697786146772417238223561532999601835538296005122968984879369263247264811841089861230842242855307196027442096897601972243842421738176225487591477183367902293055995064483968125804360809206399959869819531071560584717802630348640039666214097390662899849292166940351445430335915344357355408389945283996825614401247613795915766385404652140515037627942655807420343494724 1079214104840482074471975282964084789750853230747530293423033845430004186197660696853014190908665340708366086507469927610630912976840763322192712427252708662832716617750992510068126410636850180740068956941956064344854418984517284728729486765251921695907588872424186381559410957365541829084141615028049837009022227016488056656307680851424803407358783808964970101878597727378677984707301526511528977825588917382476991539210809361395567490981599373978955737118492903876992296643846845153654200829360541636589881298214479229016089122317270174879903487442854753384742210575010587770286381306455649006967004816749935494366136350927135139749037235394093127195820559222622255996900136631953804919443176415236580817987359373967118988218882525460356916032626056831033893758959670241513593290768575594718943327803851586230802601634889706303684516006354518092437018030520993700201317851166422014471090089005947860965121858217536106638895671670706401995822707197183890804580403698937298147549079002795653730604469688872874991396421575576112672028604360795304051247739440113102258474385922685501144966505674142468864921851251987039146183518487639194802348739847612568519440482011390045435926176153120311138225566684016806276667570975370693938828592880410865257566330682488861855143438300327187288432999192947372165052077840373341633481258994855347564415273753837857363988032962988097232297554962390893424582271484334492525719939171103580298121323255636548393784298020777600261139695447199410828593331288626863360798134764724850593762342975829668879840858452173237187917630136427052020383293316842967808232905988804158016613067580017928080804693256064162457138880797223246000905659616942914295887582911365574343378524489615561374014631126147039818331326606461434207637044224794217308723582412413020734131283128612171715192116070678198081540602143543042000750953860198883074482877430755583510882462602168828724162775378385588199503873895508679877348493817627190923594453679620193486933821947508344144593430870091283923475751573174428814007615546990121930563158800290998875480575750910892585618487023121744027762041316957243696360445991606779212491782560479399129548540261990326661480413413599013853274425885087479247802814553641800187108875729723445138837973846945204259720798379848311241997188460591250773043116640799733816426140737342531527442701594316892341344059090423961881160479180287153637703407065104965109583049688691628707701687267752080392047922022378292539603971639053535849106605269903609018004416739608755836744374652599412141764635246481113129685973705142944074937956267835346842494198162874090175377416383400321254495847 1746205102770192412130005528126753274769879854860959972736360960643220574001728810089403009482617667234390235583241627769499603425955408238410264732818076798504831623086326960232393608356548258566079938293767231756267707637090899908327614261964984056505420369215076341422333355425204792551370550098675723251953475704629125177968721736368617617787561738976357344251990509092800570926504787092025780894939653029293006436670311865315134186733992759276246200818705919734436889533593054791768554161094528255949994083100993853932786846092475951023832615363209539648622683412606838954986582878296466444221774910549924566613940050965482246607420922078433912564134967458510854573149423242647718107419521546881850185671115226628009076369116966648074314646913490981419430555148180319217968070706786786215305619190014081645576827131743240309423851302549932813512431953274083104481005798101867126550760592483632679497632322834715868815040890904417328676524461355567538057790844368108796001888295377512719956541258310082414434720721463168026747638805302781984320586869516864522343887633725720970549758965925796796440445142789753297627476020947051299686936401483332481869731158989274583447140782126593030622406203432070299368791537862024359688457718792783906818003665123007955860052229414315318803076249259724932252272984273770157775980958013962051330099958292457606566806056738400792791204434477278029078250570430963423754023330423363869162713243125706831155056983017370309947019486137691564920125500355237358065156262762365948220967872959103080342303986265249212861112070243800844891095765721717213873529080138075455259667548859837229040836117424578236708726304775819758463492612038153524952250285273938444291390455486949985874618851954890738857645070759738646931948889282709873629430976275336767621133547318017696680436099256916115102376361347875968625115694213618916809161076259181722480124617604530928048537625793442415069842102863035330047599769975650181488823365067705890765952899606071444641040075311330860112625593641214784078355201617418954928552888998413540157182114339032279237492106991619070764878590705951543718576680668329715573472544714516651730897289397540829415124104740490029222949759859222206357791682097711311362642094945349470927943346965857394730077496165995083659235412022124250374878654936804856785411020106605778792254542684178123183586914397619989323257376782259397480125145241330452701060233056593921763696751751720206196408731228778252409423502710614120566909235618543648684218514130271655686036541592950857572100550590838468538075918989139769689339203881631262608879602815014605213005359039207741597990571 2825419207610674486601980811090838064520733085608490266159394806073224760199389506942417200391283007942756322090711555380130516402796171560602977160070785461337548240837319470300520018993398439306148895235723296101122126621608184637057101027216905752413009241639262722981744312790746621635512165126725560260975702721117181834276402587793421025146345547941327446130588236471478555633806313603554758720528570411769997975881121226710701677715592133255201937937198823611429186177439899945422754990455069892539875381315473082948875968409746125903736102806064293033364893987617426725272964184752115451188779727299860060980076401892617386356458157472527039759955526681133110570049559874601523026862697962118431003658474600595128064587999492108431230679539547812453324314107850560731561361475362380934248946993865667876379428766632946613108367308904450905949449983795076804682323649268289141021850681489580540462754181052251975453936562575123730672347168552751428862371248067046094149437374380308373687145727998955289426117143038744139419667409663577288371834608956977624602362019648406471694725471599939265305366994041740336773659539434690494489285141330945050389171641000664628883066958279713341760631770116087105645459108837395053627286311673194772075569995805496817715195667714642506091509248452672304417325062114143499409462217008817398894515232046295463930794089701388890023501989439668922502832841915297916279743269594467449460834566381343379548841281038147910208159181584890975748718831643864221425954397527090798814730215934932749222144844717422450049029700380227896911479059038560181681761986126879613276280616439855157121640810680642399165865185573043004464398271655096439248137868185304018634768979976565547248633483081037778675976397366200081139585933507504090938154558687749788355264830446629868395628215327594313183916963491419010625866648073817799883643953689937305991007080206699756772700401171828003269345976758544009924948263793277372412417818747326084252886721553579788785633506181422144036101345214389212892362817164409076859116047798704539032662690089943171823110594014740814792640632022908787414937126659936494785964327274996050860445829659531156076604518154089043076224185744309685605594496651353111549750970675072916066781320812802598989798294545843394901232600482715501147921771577604590601837160843948310319697244278495015524930973488043951204417855962546551117828552306435417810643282745285550471398439019472286588456653251156544949027474349667656416015840888447257702222930869880411522780916245550269713865185837319581667761892694282713764277160149466609451373800977888695388382775422608062852486418 4571624310380866898731986339217591339290612940469450238895755766716445334201118317031820209873900675177146557673953183149630119828751579799013241892888862259842379863923646430532913627349946697872228833529490527857389834258699084545384715289181889808918429610854339064404077668215951414186882715225401283512929178425746307012245124324162038642933907286917684790382578745564279126560311100695580539615468223441063004412551433092025835864449584892531448138755904743345866075711032954737191309151549598148489869464416466936881662814502222076927568718169273832681987577400224265680259547063048581895410554637849784627594016452858099632963879079550960952324090494139643965143198983117249241134282219509000281189329589827223137140957116458756505545326453038793872754869256030879949529432182149167149554566183879749521956255898376186922532218611454383719461881937069159909163329447370156267572611273973213219960386503886967844268977453479541059348871629908318966920162092435154890151325669757821093643686986309037703860837864501912166167306214966359272692421478473842146946249653374127442244484437525736061745812136831493634401135560381741794176221542814277532258902799989939212330207740406306372383037973548157405014250646699419413315744030465978678893573660928504773575247897128957824894585497712397236669598046387913657185443175022779450224615190338753070497600146439789682814706423916946951581083412346261340033766600017831318623547809507050210703898264055518220155178667722582540668844331999101579491110660289456747035698088894035829564448830982671662910141770624028741802574824760277395555291066264955068535948165299692386162476928105220635874591490348862762927890883693249964200388153459242462926159435463515533123252335035928517533621468125938728071534822790213964567585534963086555976398377764647565076064314584510428286293324839294979250982342287436716692805029949119028471131697811230684821238026965270418339188079621579339972548033768927553901241183815031975018839621159651233426673581492753004148726938855603996970718018781828031787668936797118079189844804428975451060602701006359885557519222728860331133513807328266210359436871989512702591343119057071985491728622894579072299173945603531891963386178749064422912393065620422386994724667778659993719875790711838478560468012504839751522800426514409447387248180950554089111951786962673138708517887885663940527675232744805948597953697547765870511703515801879472235095190771192492784865384479934797358450977060281776982925076506990906386441445000152067208817457838501127285965736428158050205837811683422483453616364031097872060253403792903300601388134461815804450476989 7397043517991541385333967150308429403811346026077940505055150572789670094400507823974237410265183683119902879764664738529760636231547751359616219052959647721179928104760965900833433646343345137178377728765213823958511960880307269182441816316398795561331438852493601787385821981006698035822394880352126843773904881146863488846521526911955459668080252834859012236513166982035757682194117414299135298335996793852833002388432554318736537542165177025786650076693103566957295261888472854682614064142004668041029744845731940019830538782911968202831304820975338125715352471387841692405532511247800697346599334365149644688574092854750717019320337237023487992084046020820777075713248542991850764161144917471118712192988064427818265205545115950864936776005992586606326079183363881440681090793657511548083803513177745417398335684665009133535640585920358834625411331920864236713845653096638445408594461955462793760423140684939219819722914016054664790021218798461070395782533340502200984300763044138129467330832714307992993286955007540656305586973624629936561064256087430819771548611673022533913939209909125675327051179130873233971174795099816432288665506684145222582648074440990603841213274698686019714143669743664244510659709755536814466943030342139173450969143656734001591290443564843600330986094746165069541086923108502057156594905392031596849119130422385048534428394236141178572838208413356615874083916254261559256313509869612298768084382375888393590252739545093666130363337849307473516417563163642965800917065057816547545850428304828968578786593675700094112959171471004256638714053883798837577237053052391834681812228781739547543284117738785863035040456675921905767392289155348346403448526021644546481560928415440081080371885818116966296209597865492138809211120756297718055505740093650836344331663208211277433471692529912104741470210288330713989876848990361254516576448983639056334462138778017930441593938428137098421608534056380123349897496297562204926313659002562358059271726342713231022212307087674175148184828284069993209863080835946237108646784984595822618222507494518918622883713295021100700350159854751769118548450933988202705145401199264508753451788948716603141568333141048668115375398131347841577568980675400417534462144036295495303061505988591462592709674085257681873461700612987555252670722198092014037989085341794502399431649031241168154233448861373707891732093088707352499715782249854201288322346798547165022706493629790664779373322037731091342307478451409949433398940917395438164088664375870032478731598374084051396999830922265477631873599704377705197217893524180564481511627204770791995989770909884423867302963407 11968667828372408284065953489526020743101958966547390743950906339506115428601626141006057620139084358297049437438617921679390756060299331158629460945848509981022307968684612331366347273693291835050606562294704351815901795139006353727826531605580685370249868463347940851789899649222649450009277595577528127286834059572609795858766651236117498311014160121776697026895745727600036808754428514994715837951465017293896006800983987410762373406614761918318098215449008310303161337599505809419805373293554266189519614310148406956712201597414190279758873539144611958397340048788065958085792058310849279242009889002999429316168109307608816652284216316574448944408136514960421040856447526109100005295427136980118993382317654255041402346502232409621442321332445625400198834052619912320630620225839660715233358079361625166920291940563385320458172804531813218344873213857933396623008982544008601676167073229436006980383527188826187663991891469534205849370090428369389362702695432937355874452088713895950560974519700617030697147792872042568471754279839596295833756677565904661918494861326396661356183694346651411388796991267704727605575930660198174082841728226959500114906977240980543053543482439092326086526707717212401915673960402236233880258774372605152129862717317662506364865691461972558155880680243877466777756521154889970813780348567054376299343745612723801604925994382580968255652914837273562825664999666607820596347276469630130086707930185395443800956637809149184350518516517030056057086407495642067380408175718106004292886126393723004408351042506682765775869313241628285380516628708559114972792344118656789750348176947039239929446594666891083670915048166270768530320180039041596367648914175103788944487087850903596613495138153152894813743219333618077537282655579087932020073325628613922900308061585975924998547756844496615169756503613170008969127831332648691233269254013588175362933270475829161126415176455102368839947722136001702689870044331331132480214900186377390034290565963872882255638980669166928152333555222925597206833798854728065140434453921392940697412352298947894073944315996027460585907679077480629449681964741316468915504838071254021456043132067773675127060061763943247187674572076951373469532366854149481957374537101915917690056230656370122586429549875969520352022168625492395004193522624606423485376333522745056488543600818203841292941966749259371832259768321452158448313735947401967158834050314349044494941588820561857272158187422211026139665929428470231210381865993902429070475105820870184545940415831922552524285796658693635682079437516061127680671509888211662353571880608563695296591159044346239671753440396 19365711346363949669399920639834450146913304992625331249006056912295785523002133964980295030404268041416952317203282660209151392291847082518245679998808157702202236073445578232199780920036636972228984291059918175774413756019313622910268347921979480931581307315841542639175721630229347485831672475929654971060738940719473284705288178148072957979094412956635709263408912709635794490948545929293851136287461811146729009189416541729498910948779938944104748292142111877260456599487978664102419437435558934230549359155880346976542740380326158482590178360119950084112692520175907650491324569558649976588609223368149074004742202162359533671604553553597936936492182535781198116569696069100950769456572054451237705575305718682859667552047348360486379097338438212006524913235983793761311711019497172263317161592539370584318627625228394453993813390452172052970284545778797633336854635640647047084761535184898800740806667873765407483714805485588870639391309226830459758485228773439556858752851758034080028305352414925023690434747879583224777341253464226232394820933653335481690043472999419195270122904255777086715848170398577961576750725760014606371507234911104722697555051681971146894756757137778345800670377460876646426333670157773048347201804714744325580831860974396507956156135026816158486866774990042536318843444263392027970375253959085973148462876035108850139354388618722146828491123250630178699748915920869379852660786339242428854792312561283837391209377354242850480881854366337529573503970659285033181325240775922551838736554698551972987137636182382859888828484712632542019230682592357952550029397171048624432160405728778787472730712405676946705955504842192674297712469194389942771097440196748335426048016266343677693867023971269861109952817199110216346493776335385650075579065722264759244639724794187202432019449374408719911226713901500722959004680323009945749845702997227231697395409253847091568009114883239467261556256192381826039767540628893337406528559188939748093562292306586113277851287756841103300518383506995590416696879690674302249081238905988763315634859793466812696828029291048561286257838932232398568230415675304671620650239270518530209494921016490278268628394904991915303049970208299215047101347529549899491836681138211412993117736644961585179139223961227202225483869238479950256864244822698437523365418864539558887975249849445009447175415610633079723991861410159510948029518197256168447156397112896209517648082450352522051531509459942117481973407879880180643780806911297867234563770196740217024672014206006603921285627580959113313953037220438832877889403412392226835083507813334487292580929954230663539056403803 31334379174736357953465874129360470890015263959172721992956963251801900951603760105986352650543352399714001754641900581888542148352146413676875140944656667683224544042130190563566128193729928807279590853354622527590315551158319976638094879527560166301831175779189483490965621279451996935840950071507183098347573000292083080564054829384190456290108573078412406290304658437235831299702974444288566974238926828440625015990400529140261284355394700862422846507591120187563617937087484473522224810729113200420068973466028753933254941977740348762349051899264562042510032568963973608577116627869499255830619112371148503320910311469968350323888769870172385880900319050741619157426143595210050774751999191431356698957623372937901069898549580770107821418670883837406723747288603706081942331245336832978550519671900995751238919565791779774451986194983985271315157759636731029959863618184655648760928608414334807721190195062591595147706696955123076488761399655199849121187924206376912733204940471930030589279872115542054387582540751625793249095533303822528228577611219240143608538334325815856626306598602428498104645161666282689182326656420212780454348963138064222812462028922951689948300239576870671887197085178089048342007630560009282227460579087349477710694578292059014321021826488788716642747455233920003096599965418281998784155602526140349447806621647832651744280383001303115084144038087903741525413915587477200449008062808872558941500242746679281192166015163392034831400370883367585630590378154927100561733416494028556131622681092274977395488678689065625664697797954260827399747311300917067522821741289705414182508582675818027402177307072568030376870553008463442828032649233431539138746354371852124370535104117247274307362162124422755923696036532728293883776431914473582095652391350878682144947786380163127430567206218905335080983217514670731928132511655658636983114957010815407060328679729676252694424291338341836101503978328383528729637584960224469886743459375317138127852858270458995533490268426008031452851938729921187623530678545402367389515692827381704013047212092414706770772345287076021872165518009713028017912380416621140536155077341772551665538053084263953395688456668935162490724542285250588516633714383699381449211218240127330683173967301331707765568773837196722577506037863972345261057767447304861008741752387284615376518850667648850740117382359892451556251629731611669396343254144658135605990447427245254012589671270914379323689696882153143621639337308350411854162672905200296305038876017610401570612430037929156445571424239652748996032474736499960558560913300603889188655388421898182589172088998576903210809844199 50700090521100307622865794769194921036928568951798053241963020164097686474605894070966647680947620441130954071845183242097693540643993496195120820943464825385426780115575768795765909113766565779508575144414540703364729307177633599548363227449539647233412483095031026130141342909681344421672622547436838069408311941011556365269343007532263414269202986035048115553713571146871625790651520373582418110526388639587354025179817070869760195304174639806527594799733232064824074536575463137624644248164672134650618332621909100909797682358066507244939230259384512126622725089139881259068441197428149232419228335739297577325652513632327883995493323423770322817392501586522817273995839664311001544208571245882594404532929091620760737450596929130594200516009322049413248660524587499843254042264834005241867681264440366335557547191020174228445799585436157324285442305415528663296718253825302695845690143599233608461996862936357002631421502440711947128152708882030308879673152979816469591957792229964110617585224530467078078017288631209018026436786768048760623398544872575625298581807325235051896429502858205584820493332064860650759077382180227386825856198049168945510017080604922836843056996714649017687867462638965694768341300717782330574662383802093803291526439266455522277177961515604875129614230223962539415443409681674026754530856485226322596269497682941501883634771620025261912635161338533920225162831508346580301668849148114987796292555307963118583375392517634885312282225249705115204094348814212133743058657269951107970359235790826950382626314871448485553526282666893369418977993893275020072851138460754038614668988404596814874908019478244977082826057850656117125745118427821481909843794568600459796583120383590952001229186095692617033648853731838510230270208249859232171231457073143441389587511174350329862586655593314054992209931416171454887137191978668582732960660008042638757724088983523344262433406221581303363060234520765354769405125589117807293272018564256886221415150577045108811341556182849134753370322236916778040227558236076669638596931733370467328682071885881519467600374578124583158423356941945426586142796091925812156805316612291081875032974100754231664316851573927077793774512493549803563735061913249280941047899378338743676291703946293292944707997798423924802989907102452295517922012270003298532107171251824174264494100517093860187292797970525531280243491141771180344372772341914304053146844540141463530237753721266901375221206342095261103612745188230592497943479816498163539602646214350618595284444243935760366857051820611862309985511956938793436450316712996116023738896235232669881753018952807566749866248002 82034469695836665576331668898555391926943832910970775234919983415899587426209654176953000331490972840844955826487083823986235688996139909871995961888121493068651324157705959359332037307496494586788165997769163230955044858335953576186458106977099813535243658874220509621106964189133341357513572618944021167755884941303639445833397836916453870559311559113460521844018229584107457090354494817870985084765315468027979041170217600010021479659569340668950441307324352252387692473662947611146869058893785335070687306087937854843052624335806856007288282158649074169132757658103854867645557825297648488249847448110446080646562825102296234319382093293942708698292820637264436431421983259521052318960570437313951103490552464558661807349146509900702021934680205886819972407813191205925196373510170838220418200936341362086796466756811954002897785780420142595600600065052259693256581872009958344606618752013568416183187057998948597779128199395835023616914108537230158000861077186193382325162732701894141206865096646009132465599829382834811275532320071871288851976156091815768907120141651050908522736101460634082925138493731143339941404038600440167280205161187233168322479109527874526791357236291519689575064547817054743110348931277791612802122962889443281002221017558514536598199788004393591772361685457882542512043375099956025538686459011366672044076119330774153627915154621328376996779199426437661750576747095823780750676911956987546737792798054642399775541407681026920143682596133072700834684726969139234304792073763979664101981916883101927778114993560514111218224080621154196818725305194192087595672879750459452797177571080414842277085326550813007459696610859119559953777767661253021048590148940452584167118224500838226308591348220115372957344890264566804114046640164332814266883848424022123534535297554513457293153861812219390073193148930842186815269703634327219716075617018858045818052768713199596956857697559923139464564212849148883499042710549342277180015477939574024349268008847504104344831824608857166206222260966837965663758236781479037028112624560752171341729283978296226238372719865200605030588874951658454604055176508546952692960393954063633540571027185018185060005308242862240284499054778800392080368776296948662390259117618466074359465671247625000710276771635620647380495944966424640778979779717308159540848923639108789641012951184742710927410180330417982836495120873382849740716026486572439659137291967386717542827424992181280698910903224248404725252082496581004352106152721698459844641522231961020165896874281864916812428476060264611306017986693438753995011230013600005212394284657130852470925107951384469960676092201 132734560216936973199197463667750312963872401862768828476883003579997273900815548247919648012438593281975909898332267066083929229640133406067116782831586318454078104273281728155097946421263060366296741142183703934319774165513587175734821334426639460768656141969251535751248307098814685779186195166380859237164196882315195811102740844448717284828514545148508637397731800730979082881006015191453403195291704107615333066350034670879781674963743980475478036107057584317211767010238410748771513307058457469721305638709846955752850306693873363252227512418033586295755482747243736126713999022725797720669075783849743657972215338734624118314875416717713031515685322223787253705417822923832053863169141683196545508023481556179422544799743439031296222450689527936233221068337778705768450415775004843462285882200781728422354013947832128231343585365856299919886042370467788356553300125835261040452308895612802024645183920935305600410549701836546970745066817419260466880534230166009851917120524931858251824450321176476210543617118014043829301969106839920049475374700964391394205701948976285960419165604318839667745631825796003990700481420780667554106061359236402113832496190132797363634414233006168707262932010456020437878690231995573943376785346691537084293747456824970058875377749519998466901975915681845081927486784781630052293217315496592994640345617013715655511549926241353638909414360764971581975739578604170361052345761105102534534085353362605518358916800198661805455964821382777816038779075783351368047850731033930772072341152673928878160741308431962596771750363288047566237703299087467107668524018211213491411846559485011657151993346029057984542522668709775677079522886089074502958433943509053043963701344884429178309820534315807989990993743996405314344316848414192046438115305497165564924122808728863787155740517405533445065403080347013641702406895612995802449036277026900684575776857696722941219291103781504442827624447369914238268447836138460084473287496503830910570683159424549213156173380791706300959592583203754743703985795017555706666709556294122638670411355864177745705973094443325188189012231893603881190197972600472764849765710566354715415604001285772416724322159816789318078273567272350195644103838210197943331307016996804818035757375193918293654984769434044572183485852068876936296901791987311458072956094890932963905507051701836571114702978300943514116738612015154030085088798828486743712284136507528181073065178713448182074132109566343665828864827684811596850049632538196623384244168446311638761181318525800677179285527880876473616003498650377547431461546726596121236133180892363522352678126904192036710542340203 214769029912773638775529132566305704890816234773739603711802986995896861327025202424872648343929566122820865724819350890070164918636273315939112744719707811522729428430987687514429983728759554953084907139952867165274819023849540751921279441403739274303899800843472045372355271287948027136699767785324880404920081823618835256936138681365171155387826104261969159241750030315086539971360510009324388280057019575643312107520252270889803154623313321144428477414381936569599459483901358359918382365952242804791992944797784810595902931029680219259515794576682660464888240405347590994359556848023446208918923231960189738618778163836920352634257510011655740213978142861051690136839806183353106182129712120510496611514034020738084352148889948931998244385369733823053193476150969911693646789285175681682704083137123090509150480704644082234241371146276442515486642435520048049809881997845219385058927647626370440828370978934254198189677901232381994361980925956490624881395307352203234242283257633752393031315417822485343009216947396878640577501426911791338327350857056207163112822090627336868941901705779473750670770319527147330641885459381107721386266520423635282154975299660671890425771469297688396837996558273075180989039163273365556178908309580980365295968474383484595473577537524392058674337601139727624439530159881586077831903774507959666684421736344489809139465080862682015906193560191409243726316325699994141803022673062090081271878151417247918134458207879688725599647417515850516873463802752490602352642804797910436174323069557030805938856301992476707989974443909201763056428604281659195264196897961672944209024130565426499429078672579870992002219279568895237033300653750327524007024092449505628130819569385267404618411882535923362948338634260972118458363488578524860704999153921187688458658106283377244448894379217752835138596229277855828517676599247323022165111894045758730393829626409922538176148801341427582292188660219063121767490546687802361653302974443404934919951168272053317501005205400563467165814844170592709367744031799034743694822180854874810012140639842473971944345814308525793219601106845262335794253149109019717542726104520418348956175028470790601784327468059651558362772622051150587724472614507146605721566134615270892395223046441543294365261541069665219563981797035301577075881571704619617613805018530041753546520002886579282042113158631361496953233732888536879825804825315059183371421428474914898615892603705629462773043012790592070554116910181392601202155785259895083228885690678272658927078192807665593991714003941141084922021485343816301426472776740196126448527465549494374823603234855576506671218432404 347503590129710611974726596234056017854688636636508432188685990575894135227840750672792296356368159404796775623151617956154094148276406722006229527551294129976807532704269415669527930150022615319381648282136571099594593189363127927656100775830378735072555942812723581123603578386762712915885962951705739642084278705934031068038879525813888440216340649410477796639481831046065622852366525200777791475348723683258645173870286941769584829587057301619906513521439520886811226494139769108689895673010700274513298583507631766348753237723553582511743306994716246760643723152591327121073555870749243929587999015809933396590993502571544470949132926729368771729663465084838943842257629107185160045298853803707042119537515576917506896948633387963294466836059261759286414544488748617462097205060180525144989965337904818931504494652476210465584956512132742435372684805987836406363182123680480425511236543239172465473554899869559798600227603068928965107047743375751091761929537518213086159403782565610644855765738998961553552834065410922469879470533751711387802725558020598557318524039603622829361067310098313418416402145323151321342366880161775275492327879660037395987471489793469254060185702303857104100928568729095618867729395268939499555693656272517449589715931208454654348955287044390525576313516821572706367016944663216130125121090004552661324767353358205464651015007104035654815607920956380825702055904304164502855368434167192615805963504779853436493375008078350531055612238898628332912242878535841970400493535831841208246664222230959684099597610424439304761724807197249329294131903369126302932720916172886435620870690050438156581072018608928976544741948278670914112823539839402026965458035958558672094520914269696582928232416851731352939332378257377432802680336992716907143114459418353253382780915012241031604634896623286280203999309624869470220083494860318824614148171072659414969606484106645479395439905122932025119813107588977360035938382826262446126590470947235845490634327696602530657178586192269768125407427374347453071729826816590450361531737148997448682551995706651717650318908751850981408613338738866216984451121709492482392491815086773064371779029756563018508649627876440876441046189323500783368576452717344549052873151612075710430980421635461588020246310503709791747467649104178513372783363691931075686761113420974717452027054588415853156816136932305011069972344903690909910893624143545927083705564982443079688957782419077644847175122356935736382981737866204198052205417798091706613129859124584297688259511333466271170999531822017558538024983994193848857934323466792247684660646441857897176281361759768543381760772607 562272620042484250750255728800361722745504871410248035900488977571790996554865953097664944700297725527617641347970968846224259066912680037945342272271001941499536961135257103183957913878782170272466555422089438264869412213212668679577380217234118009376455743656195626495958849674710740052585730737030620047004360529552866324975018207179059595604166753672446955881231861361152162823727035210102179755405743258901957281390539212659387984210370622764334990935821457456410685978041127468608278038962943079305291528305416576944656168753233801771259101571398907225531963557938918115433112718772690138506922247770123135209771666408464823583390436741024511943641607945890633979097435290538266227428565924217538731051549597655591249097523336895292711221428995582339608020639718529155743994345356206827694048475027909440654975357120292699826327658409184950859327241507884456173064121525699810570164190865542906301925878803813996789905504301310959469028669332241716643324844870416320401687040199363037887081156821446896562051012807801110456971960663502726130076415076805720431346130230959698302969015877787169087172464850298651984252339542882996878594400083672678142446789454141144485957171601545500938925127002170799856768558542305055734601965853497814885684405591939249822532824568782584250651117961300330806547104544802207957024864512512328009189089702695273790480087966717670721801481147790069428372230004158644658391107229282697077841656197101354627833215958039256655259656414478849785706681288332572753136340629751644420987291787990490038453912416916012751699251106451092350560507650785498196917814134559379829894820615864656010150691188799968546961227847566151146124193589729550972482128408064300225340483654963987546644299387654715887671012518349551261043825571241767848113613339540941841439021295618276053529275841039115342595538902725298737760094107641846779260065118418145363436110516568017571588706464359607412001767808040481803428929514064807779893445390640780410585495968655848158183791592833235291222271544940162439473858615625194056353918003872258694692635549125689594664723060376774628214445584128552778704270818512199935217919607191413327954058227353620292977095936092434803818811374651371093049067224491154774439286227346602826203468077004882385507851573375011311449446139480090448664935396550693300566131951016470998547057474995135198929295563666508023206077792227789736698449458605110455126993457357978304850386124707107620218135147527806937098648047596799254361203057986789842015549802856956615337704141131865162713535763158643460046469338010150284407100206988374133188111991352271999884596615345050052979205011 909776210172194862724982325034417740600193508046756468089174968147685131782706703770457241056665884932414416971122586802378353215189086759951571799822296071476344493839526518853485844028804785591848203704226009364464005402575796607233480993064496744449011686468919207619562428061473452968471693688736359689088639235486897393013897732992948035820507403082924752520713692407217785676093560410879971230754466942160602455260826154428972813797427924384241504457260978343221912472180896577298173711973643353818590111813048343293409406476787384283002408566115153986175686710530245236506668589521934068094921263580056531800765168980009294532523363470393283673305073030729577821355064397723426272727419727924580850589065174573098146046156724858587178057488257341626022565128467146617841199405536731972684013812932728372159470009596503165411284170541927386232012047495720862536246245206180236081400734104715371775480778673373795390133107370239924576076412707992808405254382388629406561090822764973682742846895820408450114885078218723580336442494415214113932801973097404277749870169834582527664036325976100587503574610173449973326619219704658272370922279743710074129918279247610398546142873905402605039853695731266418724497953811244555290295622126015264475400336800393904171488111613173109826964634782873037173564049208018338082145954517064989333956443060900738441495095070753325537409402104170895130428134308323147513759541396475312883805160976954791121208224036389787710871895313107182697949559824174543153629876461592852667651514018950174138051522841355317513424058303700421644692411019911801129638730307445815450765510666302812591222709797728945091703176126237065258947733429131577937940164366622972319861397924660570474876716239386068827003390775726984063724162563958674991228072757894195224219936307859307658164172464325395546594848527594768957843588967960671393408236191077560333042594623213496967028611587291632531814875397017841839367312340327253906483916337876625901219823665258378815362377785103003416629698919287615511203685432215644417885655152869707377244631255777407244983631812227756036827784322994769763155392528004682327709734693964477699733087983916638801626723812533311244865000698152154461625519941835703827312437839422313257183889712466470405754162077084803058917095243658603821448299088481768987327245371991188450574112063410988355745432495971519093178422695918699647592073602151037538832558439801057993808168543784752467393257504463543320080385913800997306566620856078496455145408927441254303597215474598136333713067585176201998071453332203999142341423673780621817848758433210169176165958375113593434739977618 1472048830214679113475238053834779463345698379457004503989663945719476128337572656868122185756963610460032058319093555648602612282101766797896914072093298012975881454974783622037443757907586955864314759126315447629333417615788465286810861210298614753825467430125114834115521277736184193021057424425766979736092999765039763717988915940172007631424674156755371708401945553768369948499820595620982150986160210201062559736651365367088360798007798547148576495393082435799632598450222024045906451750936586433123881640118464920238065575230021186054261510137514061211707650268469163351939781308294624206601843511350179667010536835388474118115913800211417795616946680976620211800452499688261692500155985652142119581640614772228689395143680061753879889278917252923965630585768185675773585193750892938800378062287960637812814445366716795865237611828951112337091339289003605318709310366731880046651564924970258278077406657477187792180038611671550884045105082040234525048579227259045726962777862964336720629928052641855346676936091026524690793414455078716840062878388174209998181216300065542225967005341853887756590747075023748625310871559247541269249516679827382752272365068701751543032100045506948105978778822733437218581266512353549611024897587979513079361084742392333153994020936181955694077615752744173367980111153752820546039170819029577317343145532763596012231975183037470996259210883251960964558800364312481792172150648625758009961646817174056145749041439994429044366131551727586032483656241112507115906766217091344497088638805806940664176505435258271330265123309410151513995252918670697299326556544442005195280660331282167468601373400986528913638664403973803216405071927018861128910422292774687272545201881579624558021521015627040784714674403294076535324767988135200442839341686097435137065658957603477583711693448305364510889190387430320067695603683075602518172668301309495705696478705139781514538617318051651239943816643205058323642796241854392061686377361728517406311805319633914226973546169377936238707851970464227777950677544047840838474239573156741966071937266804903096839648354872604530665042229907123322541859663346516882262927654301155891027687146211270259094603819748625746048683812072803525554674587166326858601751724066768916083387357789471352791262013650459814370366541383138694270113234485032462287893377323007659449121169538406123554674728059638027116384500488146489384290523060756147993959551897159036298658554668491860087611392651991350257179033961397796560927823914065286297160958730298210918934919615730001496426603348334845458117922670214149426748523880768995951036870424562441176050554990458643487719182629 2381825040386873976200220378869197203945891887503760972078838913867161260120279360638579426813629495392446475290216142450980965497290853557848485871915594084452225948814310140890929601936391741456162962830541456993797423018364261894044342203363111498274479116594034041735083705797657645989529118114503339425181639000526661111002813673164955667245181559838296460922659246175587734175914156031862122216914677143223162191912191521517333611805226471532817999850343414142854510922402920623204625462910229786942471751931513263531474981706808570337263918703629215197883336978999408588446449897816558274696764774930236198811302004368483412648437163681811079290251754007349789621807564085985118772883405380066700432229679946801787541189836786612467067336405510265591653150896652822391426393156429670773062076100893366184973915376313299030648895999493039723323351336499326181245556611938060282732965659074973649852887436150561587570171719041790808621181494748227333453833609647675133523868685729310403372774948462263796791821169245248271129856949493930953995680361271614275931086469900124753631041667829988344094321685197198598637490778952199541620438959571092826402283347949361941578242919412350711018632518464703637305764466164794166315193210105528343836485079192727058165509047795128803904580387527046405153675202960838884121316773546642306677101975824496750673470278108224321796620285356131859689228498620804939685910190022233322845451978151010936870249664030818832077003447040693215181605800936681659060396093552937349756290319825890838314556958099626647778547367713851935639945329690609100456195274749451010731425841948470281192596110784257858730367580100040281664019660447992706848362457141310244865063279504285128496397731866426853541677794069803519388492150699159117830569758855329332289878893911336891369857620769689906435785235957914836653447272043563189566076537500573266029521299762995011505645929638942872475631518602076165482163554194719315592861278066394032213025143299172605788908547163039242124481669383515393461881229480056482892125228309611673449181898060680504084631986684832286701870014230118092305015055874521564590637388995120368727420234195186897896230543561159057293548812770955680016300107108162562429064161906191229340571247501937823197016175727544617429283636626797298091561533573514231275220622694998847899695281601817111910420160555609546209562923184065189031882596662907185532792110336960094292466723212276612555004650156454893577259419875198793867494444770143782752306367657739465222532135090328137830139670933511047456189376002418148569089947554549617768885628857772610352216513365572236922459160247 3853873870601553089675458432703976667291590266960765476068502859586637388457852017506701612570593105852478533609309698099583577779392620355745399944008892097428107403789093762928373359843978697320477721956856904623130840634152727180855203413661726252099946546719148875850604983533841839010586542540270319161274638765566424828991729613336963298669855716593668169324604799943957682675734751652844273203074887344285721928563556888605694409813025018681394495243425849942487109372624944669111077213846816220066353392049978183769540556936829756391525428841143276409590987247468571940386231206111182481298608286280415865821838839756957530764350963893228874907198434983970001422260063774246811273039391032208820013870294719030476936333516848366346956615322763189557283736664838498165011586907322609573440138388854003997788360743030094895886507828444152060414690625502931499954866978669940329384530584045231927930294093627749379750210330713341692666286576788461858502412836906720860486646548693647124002703001104119143468757260271772961923271404572647794058558749445824274112302769965666979598047009683876100685068760220947223948362338199740810869955639398475578674648416651113484610342964919298816997411341198140855887030978518343777340090798085041423197569821585060212159529983977084497982196140271219773133786356713659430160487592576219624020247508588092762905445461145695318055831168608092824248028862933286731858060838647991332807098795325067082619291104025247876443134998768279247665262042049188774967162310644281846844929125632831502491062393357897978043670677124003449635198248361306399782751819191456206012086173230637749793969511770786772369031984073843498069091587466853835758784749915997517410265161083909686517918747493467638256352197363880054713260138834359560669911444952764469355537851514814475081551069075054417324975623388234904349050955119165707738744838810068971726000004902776526044263247690594112419448161807134489124959796049111377279238639794911438524830462933086832762454716540975480832333639847743171412558773527897321366364801466353639521119164865583600924280341557436817366912244137241414846874719221038446853565043296276259755107380406457156990834363309784803342232624843759205570974694274489421030815885972960145423958605291409175988278189378004431799650178009935992361674768058546693563114000018006507348816451140223235465094888615247573325947423672211678416173119723663333526751662234119130591125277880768472642616042808446243834438453836596590428422268684209069049467326388037676141467054706058139326566274281845892914307298672632297995838471435318613719922499282335051528267068356030880410178342876 6235698910988427065875678811573173871237482154464526448147341773453798648578131378145281039384222601244925008899525840550564543276683473913593885815924486181880333352603403903819302961780370438776640684787398361616928263652516989074899545617024837750374425663313182917585688689331499485000115660654773658586456277766093085939994543286501918965915037276431964630247264046119545416851648907684706395419989564487508884120475748410123028021618251490214212495093769264085341620295027865292315702676757046007008825143981491447301015538643638326728789347544772491607474324226467980528832681103927740755995373061210652064633140844125440943412788127575039954197450188991319791044067627860231930045922796412275520446099974665832264477523353634978814023951728273455148936887561491320556437980063752280346502214489747370182762276119343393926535403827937191783738041962002257681200423590608000612117496243120205577783181529778310967320382049755132501287468071536689191956246446554395994010515234422957527375477949566382940260578429517021233053128354066578748054239110717438550043389239865791733229088677513864444779390445418145822585853117151940352490394598969568405076931764600475426188585884331649528016043859662844493192795444683137943655284008190569767034054900777787270325039031772213301886776527798266178287461559674498314281804366122861930697349484412589513578915739253919639852451453964224683937257361554091671543971028670224655652550773476078019489540768056066708520138445808972462846867842985870434027558404197219196601219445458722340805619351457524625822218044837855385275143578051915500238947093940907216743512015179108030986565622555044631099399564173883779733111247914846542607147207057307762275328440588194815014316479359894491798029991433683574101752289533518678500481203808093801645416745426151366451408689844744323760760859346149741002498227162728897304821376310642237755521304665771537549909177329536984895079680409210654607123350243830692872099917861305470737855606232259438551363263704014722956815309231258564874440003007953804258490029775965312970301062926264105008912328242269104068782258367359507151889775095560011444202432291396628482527614601644054887064906870943860635781437614714885587274801382651983459880047879151374764529852793346999185294365105549049228933814636733290453236301632060924838334622713005355248511732742040347375515049170857119535510346856276867448055716386570519059543772571079224883592001093045085197620692964901137411697873711795384295916713454352851801773694045777141363999189796386277156705945215356940370496674675050446564928418989868231488808128140107661880483581721603117332637503123 10089572781589980155551137244277150538529072421425291924215844633040436037035983395651982651954815707097403542508835538650148121056076094269339285759933378279308440756392497666747676321624349136097118406744255266240059104286669716255754749030686564002474372210032331793436293672865341324010702203195043977747730916531659510768986272899838882264584892993025632799571868846063503099527383659337550668623064451831794606049039305298728722431431276508895606990337195114027828729667652809961426779890603862227075178536031469631070556095580468083120314776385915768017065311473936552469218912310038923237293981347491067930454979683882398474177139091468268829104648623975289792466327691634478741318962187444484340459970269384862741413856870483345160980567051036644706220624226329818721449566971074889919942352878601374180550636862373488822421911656381343844152732587505189181155290569277940941502026827165437505713475623406060347070592380468474193953754648325151050458659283461116854497161783116604651378180950670502083729335689788794194976399758639226542112797860163262824155692009831458712827135687197740545464459205639093046534215455351681163360350238368043983751580181251588910798928849250948345013455200860985349079826423201481720995374806275611190231624722362847482484569015749297799868972668069485951421247916388157744442291958699081554717596993000682276484361200399614957908282622572317508185286224487378403402031867318215988459649568801145102108831872081314584963273444577251710512129885035059208994720714841501043446148571091553843296681744815422603865888721961858834910341826413221900021698913132363422755598188409745780780535134325831403468431548247727277802202835381700378365931956973305279685593601672104501532235226853362130054382188797563628815012428367878239170392648760858271000954596940965841532959758919798741085736482734384645351549182281894605043566215120711209481521309568548063594172425020131097314527842216345143732083146292942070151338557656216909262686069165346271313817980244990203789148949079001736286998776535851125624854831242318952491420227791847705933192669799705921435694502504600921998764494316598458297767475587672888237634995008101211877899270180728663978014062458474091158249495657141404490695933852111520188488458084756175173572554483553481028583992646669282814911069690607618401448622731011862597328183882263582840609937786104692861457770528488545864228836110233852586295434805198355474717278973813557840236735773347381246136327548391974724338982138561920851241020433814817505466244502444416483272219497202833284803973347682744560766890425186845208730627422442713408750650077633997742815845999 16325271692578407221426816055850324409766554575889818372363186406494234685614114773797263691339038308342328551408361379200712664332759568182933171575857864461188774108995901570566979283404719574873759091531653627856987367939186705330654294647711401752848797873345514711021982362196840809010817863849817636334187194297752596708980816186340801230499930269457597429819132892183048516379032567022257064043054016319303490169515053708851750453049527999109819485430964378113170349962680675253742482567360908234084003680012961078371571634224106409849104123930688259624539635700404532998051593413966663993289354408701719995088120528007839417589927219043308783302098812966609583510395319494710671364884983856759860906070244050695005891380224118323975004518779310099855157511787821139277887547034827170266444567368348744363312912981716882748957315484318535627890774549507446862355714159885941553619523070285643083496657153184371314390974430223606695241222719861840242414905730015512848507677017539562178753658900236885023989914119305815428029528112705805290167036970880701374199081249697250446056224364711604990243849651057238869120068572503621515850744837337612388828511945852064336987514733582597873029499060523829842272621867884619664650658814466180957265679623140634752809608047521511101755749195867752129708709476062656058724096324821943485414946477413271790063276939653534597760734076536542192122543586041470074946002895988440644112200342277223121598372640137381293483411890386224173358997728020929643022279119038720240047368016550276184102301096272947229688106766799714220185485404465137400260646007073270639499110203588853811767100756880876034567831112421611057535314083296546920973079164030613041960922042260299316546551706213256621852412180231247202916764717901396917670873852568952072646371342367117207984368448764543064846497342080534386354047409444623502348387591431353447237042614234319601144081602349668082209607522625555798339206496536772763023438475517522380000541675397605709865181243949004926745964258310260301161438779543804929883344861018284265461721290718111810942104998041975025504476760871960429150654269412158469741969907879069516720162609609745266764964177051672524613795500073188976745524297039793387950575981731262894953018310878103174358866919589102530257517807283402573268147371322668543239783245444017217845839916624303930216124986956961812396968117384765413312284552496804371645839207376277580358309280066858643037857428738248518657834201260187359020255695592914772653014714479591958869465434298830693639978164712559773655300648022733191125695309415055076697538755562550375289234231799237115075453349122 26414844474168387376977953300127474948295626997315110296579031039534670722650098169449246343293854015439732093917196917850860785388835662452272457335791242740497214865388399237314655605029068710970877498275908894097046472225856421586409043678397965755323170083377846504458276035062182133021520067044861614081918110829412107477967089086179683495084823262483230229391001738246551615906416226359807732666118468151098096218554359007580472884480804508005426475768159492140999079630333485215169262457964770461159182216044430709442127729804574492969418900316604027641604947174341085467270505724005587230583335756192787925543100211890237891767066310511577612406747436941899375976723011129189412683847171301244201366040513435557747305237094601669135985085830346744561378136014150957999337114005902060186386920246950118543863549844090371571379227140699879472043507137012636043511004729163882495121549897451080589210132776590431661461566810692080889194977368186991292873565013476629703004838800656166830131839850907387107719249809094609623005927871345031832279834831043964198354773259528709158883360051909345535708308856696331915654284027855302679211095075705656372580092127103653247786443582833546218042954261384815191352448291086101385646033620741792147497304345503482235294177063270808901624721863937238081129957392450813803166388283521025040132543470413954066547638140053149555669016699108859700307829810528848478348034763306656632571849911078368223707204512218695878446685334963475883871127613055988852016999833880221283493516587641830027398982841088369833553995488761573055095827230878359300282344920205634062254708391998599592547635891206707438036262660669338335337516918678247299339011121003918321646515643932403818078786933066618751906794369028810831731777146269275156841266501329810343647325939308083049517328207684341805932233824814919031705596591726518107391953806552064656718563923802867664738254027369799179524135364841900942071289642829714833174777033173739289263227744562951981178999224193995130535113207389262037448437556079656055508199692260603217953141518509959516875297667841680946940171263376561351149418763728756928039737383466742404957797604617846478642863447232401188591809562531663067903773792696934792441271915583374415141506768962859349532439474072656011286101799930071856083058441013276161641231868175029080443168100506567513056734924743066505258425887913253959176513388607038224232134642181475935833026559040672200878094164511595899903970528808579333744594677731476693504255734913406776374931678801275110123250384209762606940104621370415935686462199840241921906269382984993088697984881876871112818269195121 42740116166746794598404769355977799358062181573204928668942217446028905408264212943246510034632892323782060645325558297051573449721595230635205628911649107201685988974384300807881634888433788285844636589807562521954033840165043126917063338326109367508171967956723361215480258397259022942032337930894679250416105305127164704186947905272520484725584753531940827659210134630429600132285448793382064796709172484470401586388069412716432223337530332507115245961199123870254169429593014160468911745025325678695243185896057391787813699364028680902818523024247292287266144582874745618465322099137972251223872690164894507920631220739898077309356993529554886395708846249908508959487118330623900084048732155158004062272110757486252753196617318719993110989604609656844416535647801972097277224661040729230452831487615298862907176462825807254320336542625018415099934281686520082905866718889049824048741072967736723672706789929774802975852541240915687584436200088048831535288470743492142551512515818195729008885498751144272131709163928400425051035455984050837122446871801924665572553854509225959604939584416620950525952158507753570784774352600358924195061839913043268761408604072955717584773958316416144091072453321908645033625070158970721050296692435207973104762983968644116988103785110792320003380471059804990210838666868513469861890484608342968525547489947827225856610915079706684153429750775645401892430373396570318553294037659295097276684050253355591345305577152356077171930097225349700057230125341076918495039278952918941523540884604192106211501283937361317063242102255561287275281312635343496700542990927278904701753818595587453404314736648087583472604093773090949392872831001974794220312090285034531363607437686192703134625338639279875373759206549260058034648541864170672074512140353898762416293697281675200257501696656448884870778731166895453418059644001171141609740341397983418103955606538037187265882335629719467261733742887467456740410496139366487596198215508691261669263769419960557691044180468143000057281077465699522338609876335623460985391544553278887483414862809228071327817402665883655972444648024248521780300073033140915397781707291345811921677960214227591745407827624284073713205605062604852044649298089736728180391847897314637310094525079840962523891306393661758541543619607213474429351205812335944704881015113619046298289008017130871443272859911700028317655394005298019372488797941103842595877973849557753516191335839107530843915951593249844418561804730068766692764850373324391466157270449392998735244397113100105803763228548922322380595405269393149126812157509255296998603808138547543463987219113676108227893722544243 69154960640915181975382722656105274306357808570520038965521248485563576130914311112695756377926746339221792739242755214902434235110430893087478086247440349942183203839772700045196290493462856996815514088083471416051080312390899548503472382004507333263495138040101207719938534432321205075053857997939540864498023415956576811664914994358700168220669576794424057888601136368676151748191865019741872529375290952621499682606623771724012696222011137015120672436967283362395168509223347645684081007483290449156402368112101822497255827093833255395787941924563896314907749530049086703932592604861977838454456025921087295846174320951788315201124059840066464008115593686850408335463841341753089496732579326459248263638151270921810500501854413321662246974690440003588977913783816123055276561775046631290639218407862248981451040012669897625891715769765718294571977788823532718949377723618213706543862622865187804261916922706365234637314108051607768473631177456235822828162035756968772254517354618851895839017338602051659239428413737495034674041383855395868954726706632968629770908627768754668763822944468530296061660467364449902700428636628214226874272934988748925133988696200059370832560401899249690309115407583293460224977518450056822435942726055949765252260288314147599223397962174063128905005192923742228291968624260964283665056872891863993565680033418241179923158553219759833709098767474754261592738203207099167031642072422601753909255900164433959569012781664574773050376782560313175941101252954132907347056278786799162807034401191833936238900266778449686896796097744322860330377139866221856000825335847484538764008526987586052996862372539294290910640356433760287728210347920653041519651101406038449685253953330125106952704125572346494125666000918288868866380319010439947231353406855228572759941023220983283307019024864133226676710964991710372449765240592897659717132295204535482760674170461840054930620589657089266441257878252309357682481785782196202429372992541865000958526997164523509672223179692336995187816190673088784376058313891703117040899744245539490701368004327738030844692700333725336919384819287625083131449491796869672325821444674812554326635757818845438224050691071516474901797414625136515112553071882433662972833119812898011725236031848803821873423745867734414552829721407143546285434264253349220866522246981794075378732176117637438956329594836443094822913819893211273331665311329710880820110108491739229452024362398148203044794045757761440318465775258877346026509445051055868159661526184306405511619328791901380913886478933132084987535509890763565062498619709095538920510077521532536552685203995552979340711991739364 111895076807661976573787492012083073664419990143724967634463465931592481539178524055942266412559638663003853384568313511954007684832026123722683715159089457143869192814157000853077925381896645282660150677891033938005114152555942675420535720330616700771667105996824568935418792829580228017086195928834220114914128721083741515851862899631220652946254330326364885547811270999105751880477313813123937326084463437091901268994693184440444919559541469522235918398166407232649337938816361806152992752508616127851645554008159214285069526457861936298606464948811188602173894112923832322397914703999950089678328716085981803766805541691686392510481053369621350403824439936758917294950959672376989580781311481617252325910262028408063253698471732041655357964295049660433394449431618095152553786436087360521092049895477547844358216475495704880212052312390736709671912070510052801855244442507263530592603695832924527934623712636140037613166649292523456058067377544284654363450506500460914806029870437047624847902837353195931371137577665895459725076839839446706077173578434893295343462482277980628368762528885151246587612625872203473485202989228573151069334774901792193895397300273015088417334360215665834400187860905202105258602588609027543486239418491157738357023272282791716211501747284855448908385663983547218502807291129477753526947357500206962091227523366068405779769468299466517862528518250399663485168576603669485584936110081896851185939950417789550914318358816930850222306879785662875998331378295209825842095557739718104330575285796026042450401550715811003960038199999884147605658452501565352701368326774763443465762345583173506401177109187381874383244450206851237121083178922627835739963191691072981048861391016317810087329464211626369499425207467548926901028860874610619305865547209127335176234720502658483564520721520582111547489696158605825867824884594068801326872636602518900864629776999877242196502925286808733702991621139776814422892281921562690025571208050556262627790766584484067363267360160479995245097268138788306714668190227326578026291288798818378184782867136966102172510102999608992891829467311873604911749564830010587723603151966158366248313718033073029969458518695800548615003019687741367157202369972170391153224967710212649035330556928644784397315052261396173094373341014357020714785470065685165571403262095413121677021184134768310399602454748143123140569213898509292704154109270814723415988082341296982968215698237255733888709997351011284737027579988946112719274295424380259625818796633699404246863725905001486717649707482054407368130915160156714189310777218350835919113885660080080016672423109229087568605714283607 181050037448577158549170214668188347970777798714245006599984714417156057670092835168638022790486385002225646123811068726856441919942457016810161801406529807086052396653929700898274215875359502279475664765974505354056194464946842223924008102335124034035162244036925776655357327261901433092140053926773760979412152137040318327516777893989920821166923907120788943436412407367781903628669178832865809855459754389713400951601316956164457615781552606537356590835133690595044506448039709451837073759991906577008047922120261036782325353551695191694394406873375084917081643642972919026330507308861927928132784742007069099612979862643474707711605113209687814411940033623609325630414801014130079077513890808076500589548413299329873754200326145363317604938985489664022372363215434218207830348211133991811731268303339796825809256488165602506103768082156455004243889859333585520804622166125477237136466318698112332196540635342505272250480757344131224531698555000520477191612542257429687060547225055899520686920175955247590610565991403390494399118223694842575031900285067861925114371110046735297132585473353681542649273093236653376185631625856787377943607709890541119029385996473074459249894762114915524709303268488495565483580107059084365922182144547107503609283560596939315434899709458918577813390856907289446794775915390442037192004230392070955656907556784309585702928021519226351571627285725153925077906779810768652616578182504498605095195850582223510483331140481505623272683662345976051939432631249342733189151836526517267137609686987859978689301817494260690856834297744207007936035592367787208702193662622247982229770872570759559398039481726676165293884806640611524849293526843280877259614293097111430734115344346442917040033589783972863625091208385837795767409179885050566537218954064355907936175743723641766871539746384715338224200661150316198317590125186966461044004931807054383625303947461717297127123514943898000144249499392086172105374067703758892454944200592421263586317763749007577035490539852816990432913458811877091090726504119029695067191033044357868886150871464704133017202803333334329811214286599498688043199056626880260049424596640970920574949475851918468193509209767317023516800434312877882269755441854604054126058087523110660760566588777448606270738798129130587647203062421500567000219734319034386437925509077207197055753360252405749355932049584586217963483033791720566035819420600525604236098190833036212420240060635403936933504043108772725055493355247823458745783740475436127785480322818005809758483054696902867631536186415186492355666425050920279251809396927446374839623963181612616569357627104782066909317706022971 292945114256239135122957706680271421635197788857969974234448180348748539209271359224580289203046023665229499508379382238810449604774483140532845516565619264229921589468086701751352141257256147562135815443865539292061308617502784899344543822665740734806829350033750345590776120091481661109226249855607981094326280858124059843368640793621141474113178237447153828984223678366887655509146492645989747181544217826805302220596010140604902535341094076059592509233300097827693844386856071257990066512500522704859693476128420251067394880009557127993000871822186273519255537755896751348728422012861878017811113458093050903379785404335161100222086166579309164815764473560368242925365760686507068658295202289693752915458675327737937007898797877404972962903280539324455766812647052313360384134647221352332823318198817344670167472963661307386315820394547191713915801929843638322659866608632740767729070014531036860131164347978645309863647406636654680589765932544805131555063048757890601866577095492947145534823013308443521981703569069285954124195063534289281109073863502755220457833592324715925501348002238832789236885719108856849670834615085360529012942484792333312924783296746089547667229122330581359109491129393697670742182695668111909408421563038265241966306832879731031646401456743774026721776520890836665297583206519919790718951587892277917748135080150377991482697489818692869434155803975553588563075356414438138201514292586395456281135801000013061397649499298436473494990542131638927937764009544552559031247394266235371468184972783886021139703368210071694816872497744091155541694044869352561403561989397011425695533218153933065799216590914058039677129256847462761970376705765908712999577484788184411782976735362760727127363053995599233124516415853386722668438040759661185843084501273483243112410464226300250436060467905297449771690357308922024185415009781035262370877568409573284489933724461594539323626440230706733847241120531862986528266349625321582480515408642977526214108530333491644398757900013296985678010726950665397805394694346356273093482321843176247070933738601670235189712906332943322703043753911372292954948621456890847773027748607129286823263193884991498162967728463117572131803454000619249426957811826774445279283055233323309795897145706093390668053850390526760741576403435857587715005204384719552009328771172620318732774544387174059755534504332729341104052247690229858739973529871340327652086273174333195388455758872659670822214040459784009792520935236769571465058035899816387411299119451705214005346780601904354349185893897240899723797340211076993441120174145797210758737848841692696586030050214011154477923420306578 473995151704816293672127921348459769605975587572214980834432894765904596879364194393218311993532408667455145632190450965666891524716940157343007317972149071315973986122016402649626357132615649841611480209840044646117503082449627123268551925000864768841991594070676122246133447353383094201366303782381742073738432995164378170885418687611062295280102144567942772420636085734669559137815671478855557037003972216518703172197327096769360151122646682596949100068433788422738350834895780709827140272492429281867741398248681287849720233561252319687395278695561358436337181398869670375058929321723805945943898200100120002992765266978635807933691279788996979227704507183977568555780561700637147735809093097770253505007088627067810762099124022768290567842266028988478139175862486531568214482858355344144554586502157141495976729451826909892419588476703646718159691789177223843464488774758218004865536333229149192327704983321150582114128163980785905121464487545325608746675591015320288927124320548846666221743189263691112592269560472676448523313287229131856140974148570617145572204702371451222633933475592514331886158812345510225856466240942147906956550194682874431954169293219164006917123884445496883818794397882193236225762802727196275330603707585372745575590393476670347081301166202692604535167377798126112092359121910361827910955818284348873405042636934687577185625511337919221005783089700707513640982136225206790818092475090894061376331651582236571880980639779942096767674204477614979877196640793895292220399230792752638605794659771745999829005185704332385673706795488298163477729637237139770105755652019259407925304090724692625197256072640734204971014063488074286819670232609189590259191777885295842517092079709203644167396643779572096749607624239224518435847220644711752380303455337839151048586207949942017307600214290012787995891018459238222503005134968001723414882500216627668115237671923311836450749955174604733991490619923949158633640417329080474935459609235398789800426294082499221434248439866113976110924185762542488896121198465385968160673354887534115957084610066374368206915709666277652514258040510870980998147678083771107822452345248100207398212669736909966356476938230434595648603888313497131696713253681378499405341142756433970556463734483541996938792648519657348388779465857358154715224938703753938447254280249827515788527904639579809111466553917315559067535281481950424775792950471865931888184464007369407808695819508063607755718083568556734848014290484593030210841776375252515196779442269711023763829835298807221980722080312427392079463765261997272692929571073243585598361812023305313155387677318793221387241126329549 766940265961055428795085628028731191241173376430184955068881075114653136088635553617798601196578432332684645140569833204477341129491423297875852834537768335545895575590103104400978498389871797403747295653705583938178811699952412022613095747666605503648820944104426467836909567444864755310592553637989723168064713853288438014254059481232203769393280382015096601404859764101557214646962164124845304218548190043324005392793337237374262686463740758656541609301733886250432195221751851967817206784992951986727434874377101538917115113570809447680396150517747631955592719154766421723787351334585683963755011658193170906372550671313796908155777446368306144043468980744345811481146322387144216394104295387464006420465763954805747769997921900173263530745546568312933905988509538844928598617505576696477377904700974486166144202415488217278735408871250838432075493719020862166124355383390958772594606347760186052458869331299795891977775570617440585711230420090130740301738639773210890793701416041793811756566202572134634573973129541962402647508350763421137250048012073372366030038294696167148135281477831347121123044531454367075527300856027508435969492679475207744878952589965253554584353006776078242928285527275890906967945498395308184739025270623637987541897226356401378727702622946466631256943898688962777389942328430281618629907406176626791153177717085065568668323001156612090439938893676261102204057492639644929019606767677289517657467452582249633278630139078378570262664746609253907814960650338447851251646625058988010073979632555632020968708553914404080490579293232389319019423682106492331509317641416270833620837308878625690996472663554792244648143320335537048790046938375098303258769262673480254300068815071964371294759697775171329874124040092611241104285261404372938223387956611322394160996672176242267743660682195310237767581375768160246688420144749036985785760068626200952605171396384906375774376395405311467838731740455812145161906766954402057415975017878376316014534824415990865833006339879410961788934912713207886701515892811742241254155676730710363028018348668044603396628615999220975217301794422243273953096299540661955595480093855229494221475863621901464519444666693552167780407342314116381123671065508152944684624197989757280352360880189635387606846498910184109130355869293215742430230143088473490456583051422447834521302449026753868867001058250044900171587529172180283515766480343206259540270737181702603197151578380723278577932124028340744640535225721362601675899812275068902608078561721416237769176615900711576329907974209668291803261105473074266134049745219040796357099660864998009741417727532804375865164546636127 1240935417665871722467213549377190960847148964002399935903313969880557732967999748011016913190110841000139790772760284170144232654208363455218860152509917406861869561712119507050604855522487447245358775863545628584296314782402039145881647672667470272490812538175102590083043014798247849511958857420371465241803146848452816185139478168843266064673382526583039373825495849836226773784777835603700861255552162259842708564990664334143622837586387441253490709370167674673170546056647632677644347057485381268595176272625782826766835347132061767367791429213308990391929900553636092098846280656309489909698909858293290909365315938292432716089468726157303123271173487928323380036926884087781364129913388485234259925472852581873558532097045922941554098587812597301412045164372025376496813100363932040621932491203131627662120931867315127171154997347954485150235185508198086009588844158149176777460142680989335244786574314620946474091903734598226490832694907635456349048414230788531179720825736590640477978309391835825747166242690014638851170821637992552993391022160643989511602242997067618370769214953423861453009203343799877301383767096969656342926042874158082176833121883184417561501476891221575126747079925158084143193708301122504460069628978209010733117487619833071725809003789149159235792111276487088889482301450340643446540863224460975664558220354019753145853948512494531311445721983376968615845039628864851719837699242768183579033799104164486205159610778858320667030338951086868887692157291132343143472045855851740648679774292327378020797713739618736466164286088720687482497153319343632101615073293435530241546141399603318316193728736195526449619157383823611335609717170984287893517961040558776096817160894781168015462156341554743426623731664331835759540132482049084690603691411949161545209582880126184285051260896485323025763472394227398469191425279717038709200642568842828620720409068308218212225126350579916201830222360379761303795547184283482532351434627113775105814961118498490087267254779745524937899859098475750375597637091277128209414829031618244478985102958734418971603544325665498627731559834933114254951243977624433063417932439103329701619688533358811430875921604923986763429011230627613512820384319189531444089965340746191250908824614673177384545639147429841457519135335150573897145455081792227428903837331672275350309830353666333677978467612167360459239122810654130708291559430815072191428455201189072011005847397888786886333650207596897479488549516205955631886741588650321417804858003991127261533006451199518798310630054522095683882724870735071538826979316292284381955461472888303322896805404851597597252405672965676 2007875683626927151262299177405922152088322340432584890972195044995210869056635301628815514386689273332824435913330117374621573783699786753094712987047685742407765137302222611451583353912359244649106071517251212522475126482354451168494743420334075776139633482279529057919952582243112604822551411058361188409867860701741254199393537650075469834066662908598135975230355613937783988431739999728546165474100352303166713957784001571517885524050128199910032318671901560923602741278399484645461553842478333255322611147002884365683950460702871215048187579731056622347522619708402513822633631990895173873453921516486461815737866609606229624245246172525609267314642468672669191518073206474925580524017683872698266345938616536679306302094967823114817629333359165614345951152881564221425411717869508737099310395904106113828265134282803344449890406219205323582310679227218948175713199541540135550054749028749521297245443645920742366069679305215667076543925327725587089350152870561742070514527152632434289734875594407960381740215819556601253818329988755974130641070172717361877632281291763785518904496431255208574132247875254244376911067952997164778895535553633289921712074473149671116085829897997653369675365452433975050161653799517812644808654248832648720659384846189473104536706412095625867049055175176051666872243778770925065170770630637602455711398071104818714522271513651143401885660877053229718049097121504496648857306010445473096691266556746735838438240917936699237293003697696122795507117941470790994723692480910728658753753924883010041766422293533140546654865381953076801516577001450124433124390934851801075166978708481944007190201399750318694267300704159148384399764109359386196776730303232256351117229709853132386756916039329914756497855704424447000644417743453457628827079368560483939370579552302426552794921578680633263531053769995558715879845424466075694986402637469029573325580464693124587999502745985227669668954100835573448957453951237884589767409644992151421829495942914480953100261119624935899688794011188958262299152984088870450668984708348954842013121307402463575000172941664719602948861629355357528904340277165095019013412532958559195841164396980712895395366271617538931209418572941729893944055384697684388774589538735948531261185494862812772152485646340025566649491204443789639575685224880700919360420383094723184831132802693087546845468670417405359410710339826310991807325911158278450968725938370774614202998976269510164911582331625238224129084741927318233562641400925390320412936565712543499302183067100230374640538028731763975685985976208145804961029061511325178312561133753301332638223132384401973117570219601803 3248811101292798873729512726783113112935471304434984826875509014875768602024635049639832427576800114332964226686090401544765806437908150208313573139557603149269634699014342118502188209434846691894464847380796841106771441264756490314376391093001546048630446020454631648002995597041360454334510268478732653651671007550194070384533015818918735898740045435181175349055851463774010762216517835332247026729652514563009422522774665905661508361636515641163523028042069235596773287335047117323105900899963714523917787419628667192450785807834932982415979008944365612739452520262038605921479912647204663783152831374779752725103182547898662340334714898682912390585815956600992571555000090562706944653931072357932526271411469118552864834192013746056371727921171762915757996317253589597922224818233440777721242887107237741490386066150118471621045403567159808732545864735417034185302043699689312327514891709738856542032017960541688840161583039813893567376620235361043438398567101350273250235352889223074767713184986243786128906458509571240104989151626748527124032092333361351389234524288831403889673711384679070027141451219054121678294835049966821121821578427791372098545196356334088677587306789219228496422445377592059193355362100640317104878283227041659453776872466022544830345710201244785102841166451663140556354545229111568511711633855098578120269618425124571860376220026145674713331382860430198333894136750369348368695005253213656675725065660911222043597851696795019904323342648782991683199275232603134138195738336762469307433528217210388062564136033151877012819151470673764284013730320793756534739464228287331316713120108085262323383930135945845143886458087982759720009481280343674090294691343791032447934390604634300402219072380884658183121587368756282760184550225502542319430770780509645484580162432428610837846182475165956289294526164222957185071270704183114404187045206311858194045989533001342800224629096565143871499176461215334752753001135521367122118844272105926527644457061412971040367515899370460837588653109664708637896790075365998660083813739967199320998224266136882546603717267330218230680421464288471783855584254789528082431344972061888897460852930339524326271287876541525694638429803569343406764439703887215832864554879482139782170010109535990156698124793769867024168626539594363536721140306672928348264257714766998535140963156359421224823936282584765818649833150480441700098885341973350642397181139559846625208846374158297051245232539222135703617634258133273865449382989575711738217794569703670760835189518299749172951168083253859659568710846943217343788008377803609560268022606641604655535028537235999570369975892567479 5256686784919726024991811904189035265023793644867569717847704059870979471081270351268647941963489387665788662599420518919387380221607936961408286126605288891677399836316564729953771563347205936543570918898048053629246567747110941482871134513335621824770079502734160705922948179284473059157061679537093842061538868251935324583926553468994205732806708343779311324286207077711794750648257835060793192203752866866176136480558667477179393885686643841073555346713970796520376028613446601968567454742442047779240398566631551558134736268537804197464166588675422235086975139970441119744113544638099837656606752891266214540841049157504891964579961071208521657900458425273661763073073297037632525177948756230630792617350085655232171136286981569171189357254530928530103947470135153819347636536102949514820553283011343855318651200432921816070935809786365132314856543962635982361015243241229447877569640738488377839277461606462431206231262345029560643920545563086630527748719971912015320749880041855509057448060580651746510646674329127841358807481615504501254673162506078713266866805580595189408578207815934278601273699094308366055205903002963985900717113981424662020257270829483759793673136687216881866097810830026034243517015900158129749686937475874308174436257312212017934882416613340410969890221626839192223226789007882493576882404485736180575981016496229390574898491539796818115217043737483428051943233871873845017552311263659129772416332217657957882036092614731719141616346346479114478706393174073925132919430817673197966187282142093398104330558326685017559474016852626841085530307322243880967863855163139132391880098816567206330574131535696163838153758792141908104409245389703060287071421647023288799051620314487432788975988420214572939619443073180729760828967968955999948257850149070129423950741984731037390641104053846589552825579934218515900951116128649190099173447843780887767371569997694467388224131842550371541168130562050908201710455086759251711886253917098077949473953004327451993467777018995396737277447120853666900195943059454869110752798448316154163011345573539346121603890208994937833629283093643829312759924531954623101444757505020448093302017327320237221666654148159064625847848376511073300708495088584900221639144418218088313431195604398802928850610440109892590818117744038153176296825531553629267624678097861721719972095959052508771669404953002171178060543490306752691906211253131629093365907077930621239411845350427807216156814870847373927746719000060592099012024390501102058630731135416214260137372585399979547591706111985623635254696823151363148749037439314934738580583740394905988173251669620401543487546112169282 8505497886212524898721324630972148377959264949302554544723213074746748073105905400908480369540289501998752889285510920464153186659516087169721859266162892040947034535330906848455959772782052628438035766278844894736018009011867431797247525606337167873400525523188792353925943776325833513491571948015826495713209875802129394968459569287912941631546753778960486673342058541485805512864775670393040218933405381429185559003333333382840902247323159482237078374756040032117149315948493719291673355642405762303158185986260218750585522076372737179880145597619787847826427660232479725665593457285304501439759584266045967265944231705403554304914675969891434048486274381874654334628073387600339469831879828588563318888761554773785035970478995315227561085175702691445861943787388743417269861354336390292541796170118581596809037266583040287691981213353524941047402408698053016546317286940918760205084532448227234381309479567004120046392845384843454211297165798447673966147287073262288570985232931078583825161245566895532639553132838699081463796633242253028378705254839440064656101329869426593298251919200613348628415150313362487733500738052930807022538692409216034118802467185817848471260443476436110362520256207618093436872378000798446854565220702915967628213129778234562765228126814585196072731388078502332779581334236994062088594038340834758696250634921353962435274711565942492828548426597913626385837370622243193386247316516872786448141397878569179925633944311526739045939688995262106161905668406677059271115169154435667273620810359303786166894694359836894572293168323300605369544037643037637502603319391426463708593218924652468653958061671642008982040216880124667824418726670046734377366112990814321246986010919121733191195060801099231122741030441937012521013518194458542267688620929579774908530904417159648228487286529012545842120106098441473086022386832832304503360493050092745961417559530695810188448760939115515412667307023266242954463456222280618834005098189204004477118410065740423033835292918365857574866100230518375538092733134820867770836612188283353484009569839676228668207607476325156064309704557932301096615508786744151183876102477082336990762870257659761547937942024700590320486278180080416707472934792472116054503699297700228095601205713934793085548735233879759614986744283632516713017965838226557615888935812628720255113059115411929996493341235586936996710376640787194392005096595104979735763088217490467864620691724586104267402047410069509631364353258193865964461407380076813796848525705119885020972562103699728720542874195239483294823407670094580492537045817118544298848606347036510643708280206856401113857522004736761 13762184671132250923713136535161183642983058594170124262570917134617727544187175752177128311503778889664541551884931439383540566881124024131130145392768180932624434371647471578409731336129258564981606685176892948365264576758978373280118660119672789698170605025922953059848891955610306572648633627552920337774748744054064719552386122756907147364353462122739797997628265619197600263513033505453833411137158248295361695483892000860020296133009803323310633721470010828637525344561940321260240810384847810082398584552891770308720258344910541377344312186295210082913402800202920845409707001923404339096366337157312181806785280862908446269494637041099955706386732807148316097701146684637971995009828584819194111506111640429017207106765976884398750442430233619975965891257523897236617497890439339807362349453129925452127688467015962103762917023139890073362258952660688998907332530182148208082654173186715612220586941173466551252624107729873014855217711361534304493896007045174303891735112972934092882609306147547279150199807167826922822604114857757529633378417345518777922968135450021782706830127016547627229688849407670853788706641055894792923255806390640696139059738015301608264933580163652992228618067037644127680389393900956576604252158178790275802649387090446580700110543427925607042621609705341525002808123244876555665476442826570939272231651417583353010173203105739310943765470335397054437780604494117038403799627780531916220557730096227137807670036926258458187556035341741220640612061580750984404034599972108865239808092501397184271225252686521912131767185175927446455074344965281518470467174554565596100473317741219674984532193207338172820193975672266575928827972059749794664437534637837610046037631233609165980171049221313804062360473515117742281842486163414542215946471078649904332481646401890685619128390582859135394945686032659988986973502961481494602533940893873633728789129528390277576672892781665886953835437585317151156173911309039870545891352106302082426592363070067875027303069937361254312143547351372042438288676194275736881589410636599507647020915413215574789811497685320093897938987651576130409375433318698774285320859982102785084064887584979998769604596172859654946334126556591490008181429881057016276142843715918316409032401318333596014399345673989652205804862027670669889314791369780186883513613910490441975085155074464438768162746188589108174770920131093947083911307848236608829128995295421089104032537075013911483558862280916883559111072258254458063473431770577915855479256840536099281109934689099708268134580307225106930078104493245943641286083256433479037429190087431416631881531876476802657345068116906043 22267682557344775822434461166133332020942323543472678807294130209364475617293081153085608681044068391663294441170442359847693753540640111300852004658931072973571468906978378426865691108911311193419642451455737843101282585770845805077366185726009957571571130549111745413774835731936140086140205575568746833487958619856194114520845692044820088995900215901700284670970324160683405776377809175846873630070563629724547254487225334242861198380332962805547712096226050860754674660510434040551914166027253572385556770539151989059305780421283278557224457783914997930739830460435400571075300459208708840536125921423358149072729512568312000574409313010991389754873007189022970432329220072238311464841708413407757430394873195202802243077244972199626311527605936311421827835044912640653887359244775730099904145623248507048936725733599002391454898236493415014409661361358742015453649817123066968287738705634942846601896420740470671299016953114716469066514877159981978460043294118436592462720345904012676707770551714442811789752940006526004286400748100010558012083672184958842579069465319448376005082046217160975858103999721033341522207379108825599945794498799856730257862205201119456736194023640089102591138323245262221117261771901755023458817378881706243430862516868681143465338670242510803115352997783843857782389457481870617754070481167405697968482286338937315445447914671681803772313896933310680823617975116360231790046944297404702668699127974796317733303981237785197233495724337003326802517729987428043675149769126544532513428902860700970438119947046358806704060353499228051824618382608319155973070493945992059809066536665872143638490254878980181802234192552391243753246698729796529041803647628651931293023642152730899171366110022413035185101503957054754802856004357873084483635092008229679241012550819050333847615677111871681237065792131101462072995889794313799105894433943966379690206689059086087765121653720781402366502744608583394110637367531320489379896450295506086903710773135808298061138362855727111887009647581890417976381409329096604652426022824882861131030485252891803458019105161645249962248692209508431505990942105442925469196962459185122074827757842639760317542538197560245266820404736671906715654364673529132330646543013618544504633607032268389099948080907869411820791606311303186602332757208006744499402549723119162230198214189876368764656087424176045171481296771881141475916404443341588564892083512911556968653228799600015750960909690986393190475425516448324027934839150654729652327782545655984302082496792799436988677454502464590224901512163340524133823129073552023336277796434467927275589812083333203771202590121642804 36029867228477026746147597701294515663925382137642803069865047343982203161480256905262736992547847281327835993055373799231234320421764135431982150051699253906195903278625850005275422445040569758401249136632630791466547162529824178357484845845682747269741735575034698473623727687546446658788839203121667171262707363910258834073231814801727236360253678024440082668598589779881006039890842681300707041207721878019908949971117335102881494513342766128858345817696061689392200005072374361812154976412101382467955355092043759368026038766193819934568769970210208013653233260638321416485007461132113179632492258580670330879514793431220446843903950052091345461259739996171286530030366756876283459851536998226951541900984835631819450184010949084025061970036169931397793726302436537890504857135215069907266495076378432501064414200614964495217815259633305087771920314019431014360982347305215176370392878821658458822483361913937222551641060844589483921732588521516282953939301163610896354455458876946769590379857861990090939952747174352927109004862957768087645462089530477620502037600769470158711912173233708603087792849128704195310914020164720392869050305190497426396921943216421065001127603803742094819756390282906348797651165802711600063069537060496519233511903959127724165449213670436410157974607489185382785197580726747173419546923993976637240713937756520668455621117777421114716079367268707735261398579610477270193846572077936618889256858071023455540974018164043655421051759678744547443129791568179028079184369098653397753236995362098154709345199732880718835827538675155498279692727573600674443537668500557655909539854407091818623022448086318354622428168224657819682074670789546323706241182266489541339061273386340065151537159243726839247461977472172497084698490521287626699581563086879583573494197220941019466744067694730816632011478163761451059969392755795293708428374837840013418995818587476365341794546502447289320338182193900545266811278840360359925787802401808169330303136205876173088441432793088366199153194933262460414670085523372341534015433461482368778051400666107378247830602846965343860187679861084561915366375424141699754517822441287907158892645427619759087147134370419900213154531293263396723835794554586148606789386729536860913666008350601985114347426581859064026596468338973856491647548577786931382916163633609604205283369264340807532818833612765153346252216902975088559827712291578197394021078808332646072685765874613927234519771971903276749586497774702782091408270921232645507807039386192083583192431481899145256812034809689697154979616656586467775109212329985502373706986521899343907471343959810006428547658238548847 58297549785821802568582058867427847684867705681115481877159177553346678778773338058348345673591915672991130434225816159078928073962404246732834154710630326879767372185604228432141113553951880951820891588088368634567829748300669983434851031571692704841312866124146443887398563419482586744929044778690414004750665983766452948594077506846547325356153893926140367339568913940564411816268651857147580671278285507744456204458342669345742692893675728934406057913922112550146874665582808402364069142439354954853512125631195748427331819187477098491793227754125205944393063721073721987560307920340822020168618180004028479952244305999532447418313263063082735216132747185194256962359586829114594924693245411634708972295858030834621693261255921283651373497642106242819621561347349178544392216379990800007170640699626939550001139934213966886672713496126720102181581675378173029814632164428282144658131584456601305424379782654407893850658013959305952988247465681498261413982595282047488817175804780959446298150409576432902729705687180878931395405611057778645657545761715436463081107066088918534716994219450869578945896848849737536833121399273545992814844803990354156654784148417540521737321627443831197410894713528168569914912937704466623521886915942202762664374420827808867630787883912947213273327605273029240567587038208617791173617405161382335209196224095457983901069032449102918488393264202018416085016554726837501983893516375341321557955986045819773274277999401828852654547484015747874245647521555607071754334138225197930266665898222799125147465146779239525539887892174383550104311110181919830416608162446549715718606391072963962261512702965298536424662360777049063435321369519342852748044829895141472632084915539070964322903269266139874432563481429227251887554494879160711183216655095109262814506748039991353314359744806602497869077270294862913132965282550109092814322808781806393109202507646562453106916200223228691686840926802483939377448646371680849305684252697314256234013909341684471149579795648815478086162842515152878391051494852468946186441456286365229909081885918999181705849708008610593822436372070592993421357317529584625223714784900473029233720403270259519404689672567980145479974936029935303439490159228115280937435929743155405418299615382870374214295507489728475847388074650277043093980305785793675882318713356728766435481583454217176297474921036941198517733513674856230035744116734919785958913162321244203041338994674213942985480681662889669940061923291151106119343110071887375160134821931848067885274928274698582245489489312154287379881128819926991908932341403537525709984782956367271183061156043143210199750248360191651 94327417014298829314729656568722363348793087818758284947024224897328881940253594963611082666139762954318966427281189958310162394384168382164816304762329580785963275464230078437416535998992450710222140724720999426034376910830494161792335877417375452111054601699181142361022291107029033403717883981812081176013373347676711782667309321648274561716407571950580450008167503720445417856159494538448287712486007385764365154429460004448624187407018495063264403731618174239539074670655182764176224118851456337321467480723239507795357857953670918426361997724335413958046296981712043404045315381472935199801110438584698810831759099430752894262217213115174080677392487181365543492389953585990878384544782409861660514196842866466441143445266870367676435467678276174217415287649785716434897073515205869914437135776005372051065554134828931381890528755760025189953501989397604044175614511733497321028524463278259764246863144568345116402299074803895436909980054203014544367921896445658385171631263657906215888530267438422993669658434355231858504410474015546733303007851245914083583144666858388693428906392684578182033689697978441732144035419438266385683895109180851583051706091633961586738449231247573292230651103811074918712564103507178223584956453002699281897886324786936591796237097583383623431302212762214623352784618935364964593164329155358972449910161851978652356690150226524033204472631470726151346415134337314772177740088453277940447212844116843228815252017565872508075599243694492421688777313123786099833518507323851328019902893584897279856810346512120244375715430849539048384003837755520504860145830947107371628146245480055780884535151051616891047090529001706883117396040308889176454286012161631013971146188925411029474440428509866713680025458901399748972252985400448337882798218181988846388000945260932372781103812501333314501088748458624364192934675305904386522751183619646406528198326234038818448710746725675981007179108996384484644259925212041209231472055099122425564317045547560644238021228441903844285316037448415338805721580375841287720456889747847598687133286585106559953680310855575937682624051931677555336723692953726324978232607341760936392613048697879278491836806938400045693129467323198700163325953782701429544225316472692266331965623733472359328642934071587539873984542989250899585627854363580607265234876990338370640764952718557983830293754649706351863985730577831318595571829026497983352934241129576849114024760548827870220000453634792946689648421065853888210751380993120020667941861318040151468467359756597727502301524121843984534860745476513459684041553733523028083691769478266615090532500002953216628297906598740498 152624966800120631883311715436150211033660793499873766824183402450675560719026933021959428339731678627310096861507006117389090468346572628897650459472959907665730647649834306869557649552944331662043032312809368060602206659131164145227186908989068156952367467823327586248420854526511620148646928760502495180764039331443164731261386828494821887072561465876720817347736417661009829672428146395595868383764292893508821358887802673794366880300694223997670461645540286789685949336237991166540293261290811292174979606354435256222689677141148016918155225478460619902439360702785765391605623301813757219969728618588727290784003405430285341680530476178256815893525234366559800454749540415105473309238027821496369486492700897301062836706522791651327808965320382417037036848997134894979289289895196669921607776475632311601066694069042898268563242251886745292135083664775777073990246676161779465686656047734861069671242927222753010252957088763201389898227519884512805781904491727705873988807068438865662186680677014855896399364121536110789899816085073325378960553612961350546664251732947307228145900612135447760979586546828179268977156818711812378498739913171205739706490240051502108475770858691404489641545817339243488627477041211644847106843368944902044562260745614745459427024981496330836704629818035243863920371657143982755766781734316741307659106385947436636257759182675626951692865895672744567431431689064152274161633604828619262005168830162663002089530016967701360730146727710240295934424834679393171587852645549049258286568791807696405004275493291359769915603323023922598488314947937440335276753993393657087346752636553019743146047854016915427471752889778755946552717409828232029202330842056772486603231104464481993797343697776006588112588940330627000859807480279609049066014873277098109202507693300923726095463557307935812370166018753487277325899957856013479337073992401452799637400833880601271555626946948904672694020035798868424021708571583722058537156307796436681798330954889245115387601024090719322371478879963568217196773075228310233906898346034212828596215172504105741659530018864186531505060424002270548758081010483310950201947392242233965626333451968138797896526479506380191173104403353134003602816113010816710481661246215847671750265239116342733542938441561316015721372617639527942679608160149374283147553590347067137076246536172775160127768675686647550381719244252687548631315945761417769311847403450821052155363755223041813205481135297682616629710344357004994330094491065007395828076683249888219353742288031296309747791013433998271914741874296440451592973895137060553793676552434633886273593656046096426828048154958932149 246952383814419461198041372004872574382453881318632051771207627348004442659280527985570511005871441581629063288788196075699252862730741011062466764235289488451693923114064385306974185551936782372265173037530367486636583569961658307019522786406443609063422069522508728609443145633540653552364812742314576356777412679119876513928696150143096448788969037827301267355903921381455247528587640934044156096250300279273186513317262678242991067707712719060934865377158461029225024006893173930716517380142267629496447087077674764018047535094818935344517223202796033860485657684497808795650938683286692419770839057173426101615762504861038235942747689293430896570917721547925343947139494001096351693782810231358030000689543763767503980151789662019004244432998658591254452136646920611414186363410402539836044912251637683652132248203871829650453771007646770482088585654173381118165861187895276786715180511013120833918106071791098126655256163567096826808207574087527350149826388173364259160438332096771878075210944453278890069022555891342648404226559088872112263561464207264630247396399805695921574807004820025943013276244806621001121192238150078764182635022352057322758196331685463695214220089938977781872196921150318407340041144718823070691799821947601326460147070401682051223262079079714460135932030797458487273156276079347720359946063472100280109016547799415288614449332902150984897338527143470718777846823401467046339373693281897202452381674279506230904782034533573868805745971404732717623202147803179271421371152872900586306471685392593684861085839803480014291318753873461646872318785692960840136899824340764458974898882033075524030583005068532318518843418780462829670113450137121205656616854218403500574377293389893023271784126285873301792614399232026749832060465680057386948813091459086955590508638561856098876567369809269126871254767212111641518834633161917865859825176021099206165599160114640090004337693674580653701199144795252908665968496795763267768628362895559107362648000436805759625622252532623166656794917411983556002494655604151521627355235782060427283348459089212301613210329719762469187684475933948104094804703437037275180179999583994902018946500666018076388363286444780236866233870676332703766142066793518140025886562688539938082230862849815092871581375632903555595357160628778842265236014512954890412788467337405507717011488891333143958062430336353902245704974830518867226887774787915752664781644580397901269388515771869683425481588932475563319358765422858882540845872058127416496018544567928370822209647787894037250092537555842256449602619772953911277015448870583581877368321912900501364126156049049643456346061557672647 399577350614540093081353087441022785416114674818505818595391029798680003378307461007529939345603120208939160150295202193088343331077313639960117223708249396117424570763898692176531835104881114034308205350339735547238790229092822452246709695395511766015789537345836314857864000160052273701011741502817071537541452010563041245190082978637918335861530503704022084703640339042465077201015787329640024480014593172782007872205065352037357948008406943058605327022698747818910973343131165097256810641433078921671426693432110020240737212235966952262672448681256653762925018387283574187256561985100449639740567675762153392399765910291323577623278165471687712464442955914485144401889034416201825003020838052854399487182244661068566816858312453670332053398319041008291488985644055506393475653305599209757652688727269995253198942272914727919017013259533515774223669318949158192156107864057056252401836558747981903589348999013851136908213252330298216706435093972040155931730879901070133149245400535637540261891621468134786468386677427453438304042644162197491224115077168615176911648132753003149720707616955473703992862791634800270098349056861891142681374935523263062464686571736965803689990948630382271513742738489561895967518185930467917798643190892503371022407816016427510650287060576045296840561848832702351193527933223330476126727797788841587768122933746851924872208515577777936590204422816215286209278512465619320501007298110516464457550504442169232994312051501275229535892699114973013557626982482572443009223798421949844593040477200290089865361333094839784206922076897384245360633733630401175413653817734421546321651518586095267176630859085447745990596308559218776222830859965353234858947696275175987177608397854375017069127824061879889905203339562653750691867945959666436014827964736185064793016331862779824972030927117204939241420785965598918844734591017931345196899168422552005802999993995241361559964640623485326395219180594121332687677068379485326305784670691995789160978955326050875013223276623342489028273797375551773199267730832461755534253581816273255879563631593318043272740348583949000692744899936218652852885713920348225382127391826228867645279952634156874284889765951160428039338274029466707368958179804334850507547808904387609832496101966157826414519817194219571316729778268306784944844174662329173560342057684472644793258025064108304085831106023001452627424219083206415858203720549333521976629048031218953424752270994911496630962724230158179949069109779863876870940363123134812324095227817816590175951935819190346997883550989840528364344494069394362869989344007644135671044874347534387637719812095146070284394216516604796 646529734428959554279394459445895359798568556137137870366598657146684446037587988993100450351474561790568223439083398268787596193808054651022583987943538884569118493877963077483506020656817896406573378387870103033875373799054480759266232481801955375079211606868345043467307145793592927253376554245131647894318864689682917759118779128781014784650499541531323352059544260423920324729603428263684180576264893452055194385522328030280349015716119662119540192399857208848135997350024339027973328021575346551167873780509784784258784747330785887607189671884052687623410676071781382982907500668387142059511406732935579494015528415152361813566025854765118609035360677462410488349028528417298176696803648284212429487871788424836070797010102115689336297831317699599545941122290976117807662016716001749593697600978907678905331190476786557569470784267180286256312254973122539310321969051952333039117017069761102737507455070804949263563469415897395043514642668059567506081557268074434392309683732632409418337102565921413676537409233318796086708269203251069603487676541375879807159044532558699071295514621775499647006139036441421271219541295011969906864009957875320385222882903422429498904211038569360053385939659639880303307559330649290988490443012840104697482554886418109561873549139655759756976493879630160838466684209302678196486673861260941867877139481546267213486657848479928921487542949959686004987125335867086366840380991392413666909932178721675463899094086034849098341638670519705731180829130285751714430594951294850430899512162592883774726447172898319798498240830770845892232952519323362015550553642075186005296550400619170791207213864153980064509439727339681605892944310102474440515564550493579487751985691244268040340911950347753191697817738794680500523928411639723822963641056195272020383524970424635923848598296926474066112675553177710560363569224179849211056724344443651211968599154109881451564302334298065980096418325389374241353645565175248594074413033587554896523626955762856634638845529155965655685068714787535329201762386436613277161608817598333683162912090682530344885950678303711469880429375870166756947690417357385500562307391410223769664226453300174950673253052395940664905572144705799411135100246597852990533434371592927547914726964815972919286101192827123126912086938897085627210080189175284063973130525021878152510269513955441448043893536359355354873129193913725283085091495337249274641410692611616854694140786766781180056444313162633743268427875202722759411786235181262228820113772385744960998161583607084384247976088545682784813947113842348274147004792878227717548413196260434889001845968144195713740740278074277443 1046107085043499647360747546886918145214683230955643688961989686945364449415895450000630389697077681999507383589378600461875939524885368290982701211651788280686543064641861769660037855761699010440881583738209838581114164028147303211512942177197467141095001144214181358325171145953645200954388295747948719431860316700245959004308862107418933120512030045235345436763184599466385401930619215593324205056279486624837202257727393382317706963724526605178145519422555956667046970693155504125230138663008425472839300473941894804499521959566752839869862120565309341386335694459064957170164062653487591699251974408697732886415294325443685391189304020236806321499803633376895632750917562833500001699824486337066828975054033085904637613868414569359668351229636740607837430107935031624201137670021600959351350289706177674158530132749701285488487797526713802030535924292071697502478076916009389291518853628509084641096804069818800400471682668227693260221077762031607662013288147975504525458929133168046958598994187389548463005795910746249525012311847413267094711791618544494984070692665311702221016222238730973350999001828076221541317890351873861049545384893398583447687569475159395302594201987199742324899682398129442199275077516579758906289086203732608068504962702434537072523836200231805053817055728462863189660212142526008672613401659049783455645262415293119138358866364057706858077747372775901291196403848332705687341388289502930131367482683163844696893406137536124327877531369634678744738456112768324157439818749716800275492552639793173864591808505993159582705162907668230137593586252953763190964207459809607551618201919205266058383844723239427810500036035898900382115775170067827675374512246768755474929594089098643057410039774409633081603021078357334251215796357599390258978469020931457085176541302287415748820629224043679005354096339143309479208303815197780556253623512866203217771599148105122813124266974921551306491637505983495574041322633554733920380197704279550685684605911088907509652068805779308144713342512163087102401030117269075032695862399414606939042475722275848388158691026887660470573174275806385409800576131277733725944434783236452637309506405934331824958142818347101092944910418735266118504058426402187841040982180497315157747223066782130745700621010021342698228816717165392412154924363837613237533472582706350797303527539019549752129724642382356807500553412996931698943295215886582796618039740642835808118893057761692676687407037392791923217496984982586636282726598304397041144209000203561551174113519426274731245859639535523313178291607911742637016994136885871853219458070607969276639565780239341784025134494590882239 1692636819472459201640142006332813505013251787092781559328588344092048895453483438993730840048552243790075607028461998730663535718693422942005285199595327165255661558519824847143543876418516906847454962126079941614989537827201783970779174658999422516174212751082526401792478291747238128207764849993080367326179181389928876763427641236199947905162529586766668788822728859890305726660222643857008385632544380076892396643249721412598055979440646267297685711822413165515182968043179843153203466684583772024007174254451679588758306706897538727477051792449362029009746370530846340153071563321874733758763381141633312380430822740596047204755329875001924930535164310839306121099946091250798178396628134621279258462925821510740708410878516685049004649060954440207383371230226007742008799686737602708945047890685085353063861323226487843057958581793894088286848179265194236812800045967961722330635870698270187378604259140623749664035152084125088303735720430091175168094845416049938917768612865800456376936096753310962139543205144065045611720581050664336698199468159920374791229737197870401292311736860506472998005140864517642812537431646885830956409394851273903832910452378581824801498413025769102378285622057769322502582636847229049894779529216572712765987517588852646634397385339887564810793549608093024028126896351828686869100075520310725323522401896839386351845524212537635779565290322735587296183529184199792054181769280895343798277414861885520160792500223570973426219170040154384475919285243054075871870413701011650706392064802386057639318255678891479381203403738439076029826538772277125206514761101884793556914752319824436849591058587393407875009475763238581988008719480170302115890076797262334962681579780342911097750951724757386273300838817152014751739724769239114081942110077126729105560066272712051672669227520970153071466771892321020039571873039377629767310347857309854429740198302215004264688569309219617286588055831372869815394968198729982514454610737867105582208232866851764144290914334935273800398411226950622431602792503705688309857471217012940622205387812958378733044641705191371940453603651676552166748266548635119226506742174646676406973732859234506775631395870743041757850482563441065529639158673000040831574416552090242705661950031598103664986722202848465825140903656062478039365004553012897301506603107728228949813797052974991200173618178741712162373682606910656982028386711223832071259450433254452662813033844528473856743851350555425666485924860185309395694512833485659269964322772589306512172275103033359115493835728081206097992238721754090911163998929764099570767871266868404165641411748383537497765874772665159682 2738743904515958849000889553219731650227935018048425248290578031037413344869378888994361229745629925789582990617840599192539475243578791232987986411247115445942204623161686616803581732180215917288336545864289780196103701855349087182292116836196889657269213895296707760117649437700883329162153145741029086758039498090174835767736503343618881025674559632002014225585913459356691128590841859450332590688823866701729598900977114794915762943165172872475831231244969122182229938736335347278433605347592197496846474728393574393257828666464291567346913913014671370396082064989911297323235625975362325458015355550331045266846117066039732595944633895238731252034967944216201753850863654084298180096452620958346087437979854596645346024746931254408673000290591180815220801338161039366209937356759203668296398180391263027222391455976189128546446379320607890317384103557265934315278122883971111622154724326779272019701063210442550064506834752352781563956798192122782830108133564025443443227541998968503335535090940700510602549001054811295136732892898077603792911259778464869775300429863182103513327959099237446349004142692593864353855321998759692005954779744672487280598021853741220104092615012968844703185304455898764701857714363808808801068615420305320834492480291287183706921221540119369864610605336555887217787108494354695541713477179360508779167664312132505490204390576595342637643037695511488587379933032532497741523157570398273929644897545049364857685906361107097754096701409789063220657741355822400029310232450728450981884617442179231503910064184884638963908566646107306167420125025230888397478968561694401108532954239029702907974903310632835685509511799137482370124494650238129791264589044031090437611173869441554155160991499167019354903859895509349002955521126838504340920579098058186190736607574999467421489856745013832076820868231464329518780176854575410323563971370176057647511797450320127077812836284141168593079693337356365389436290832284716434834808442146656267892838777940671653942983140714581945111753739113709534003822620974763342553333616427547561247863535234227121203332732079032411026777927482937576548842679912852952451176957883129044283239265168838600589538689090142850795392982176331648143217099402228672615398732587557863409173098380234410687343212869808523369720373227870451519928916850510539040075690434579747117324591994540952303342821124068969874236019907588680971681927110414867877490173897288470931926902290166533431258387948217589703421845167896031977239431790056311108531772792868063346388622459633846739695367616729411170530329665833548180993066649971423987329337476373442280977528622879281791009267256041921 4431380723988418050641031559552545155241186805141206807619166375129462240322862327988092069794182169579658597646302597923203010962272214174993271610842442611197866181681511463947125608598732824135791507990369721811093239682550871153071291495196312173443426646379234161910127729448121457369917995734109454084218679480103712531164144579818828930837089218768683014408642319246996855251064503307340976321368246778621995544226836207513818922605819139773516943067382287697412906779515190431637072032175969520853648982845253982016135373361830294823965705464033399405828435520757637476307189297237059216778736691964357647276939806635779800699963770240656182570132255055507874950809745335096358493080755579625345900905676107386054435625447939457677649351545621022604172568387047108218737043496806377241446071076348380286252779202676971604404961114501978604232282822460171128078168851932833952790595025049459398305322351066299728541986836477869867692518622213957998202978980075382360996154864768959712471187694011472742092206198876340748453473948741940491110727938385244566530167061052504805639695959743919347009283557111507166392753645645522962364174595946391113508474232323044905591028038737947081470926513668087204440351211037858695848144636878033600479997880139830341318606880006934675404154944648911245914004846183382410813552699671234102690066208971891842049914789132978417208328018247075883563462216732289795704926851293617727922312406934885018478406584678071180315871449943447696577026598876475901180646151740101688276682244565289143228319863776118345111970384546382197246663797508013603993729663579194665447706558854139757565961898026243560518987562376064358133214130408431907154665841293425400292753649784465252911943223924405628204698712661363754695245896077618422862689175184915296296673847711519094159084265983985148287640123785349558352049893953040090874319227485912077251995752535131342501405593360785879667749168729235204831259031014698949289419180013761850101071644792435798233897475649855745510164966064331965606615124680451652410804833440488183453251348192605854247974437270404351480381579159489743297109228547972178957919132529805451256972124403345376220934559833184608645875545617397177782375772402269504189815284677800569071123129978338075674065415718274348510624029290348490884933469863407840546678798162808696931121644969532152476960999865781132247918626818245663000068638334246939136940607151741133744960746818640390175109738503643256189346705353205427671752265275715581072854545382174575518663725492992962233531095697935509162769051419924459344991996414070994755200604344777607922389277006416779556884039921201603 7170124628504376899641921112772276805469121823189632055909744406166875585192241216982453299539812095369241588264143197115742486205851005407981258022089558057140070804843198080750707340778948741424128053854659502007196941537899958335363408331393201830712640541675941922027777167149004786532071141475138540842258177570278548298900647923437709956511648850770697239994555778603687983841906362757673567010192113480351594445203951002429581865770992012249348174312351409879642845515850537710070677379768167017700123711238828375273964039826121862170879618478704769801910500510668934799542815272599384674794092242295402914123056872675512396644597665479387434605100199271709628801673399419394538589533376537971433338885530704031400460372379193866350649642136801837824973906548086474428674400256010045537844251467611407508644235178866100150851340435109868921616386379726105443356291735903945574945319351828731418006385561508849793048821588830651431649316814336740828311112544100825804223696863737463048006278634711983344641207253687635885186366846819544284021987716850114341830596924234608318967655058981365696013426249705371520248075644405214968318954340618878394106496086064265009683643051706791784656230969566851906298065574846667496916760057183354434972478171427014048239828420126304540014760281204798463701113340538077952527029879031742881857730521104397332254305365728321054851365713758564470943395249264787537228084421691891657567209951984249876164312945785168934412572859732510917234767954698875930490878602468552670161299686744520647138384048660757309020537030653688364666788822738902001472698225273595773980660797883842665540865208659079246028499361513546728257708780646561698419254885324515837903927519226019408072934723091424983108558608170712757650767022916122763783268273243101487033281422710986515648941010997817225108508355249679077132226748528450414438290597661969724763793202855258420314241877501954472747442506085600594267549863299415384124227622160418117993910422733107452176880616364437690621918705178041499610437745655214994964138449868035744701114883426832975451307169349436762507159506642427319845951908460825131409096090412934495540211389572183976810473248923327459441268527793728825925592871804498176805214017265358432480296228358572486361408628588082871880344402518218942404862386713918379586754488597388444048446236964073104780303820989850102122154646725834343971750565444661807014430781049029604676887649108806923606368126451860845892768550521101459648991697065771892181386318175042638865052347952626808973226463314664920333299381085758007525985063064042418742529941821151050203366805629296061347893307177243524 11601505352492794950282952672324821960710308628330838863528910781296337825515103544970545369333994264948900185910445795038945497168123219582974529632932000668337936986524709544697832949377681565559919561845029223818290181220450829488434699826589514004156067188055176083937904896597126243901989137209247994926476857050382260830064792503256538887348738069539380254403198097850684839092970866065014543331560360258973589989430787209943400788376811152022865117379733697577055752295365728141707749411944136538553772694084082357290099413187952156994845323942738169207738936031426572275850004569836443891572828934259760561399996679311292197344561435720043617175232454327217503752483144754490897082614132117596779239791206811417454895997827133324028298993682422860429146474935133582647411443752816422779290322543959787794897014381543071755256301549611847525848669202186276571434460587836779527735914376878190816311707912575149521590808425308521299341835436550698826514091524176208165219851728506422760477466328723456086733413452563976633639840795561484775132715655235358908360763985287113124607351018725285043022709806816878686640829290050737930683128936565269507614970318387309915274671090444738866127157483234939110738416785884526192764904694061388035452476051566844389558435300133239215418915225853709709615118186721460363340582578702976984547796730076289174304220154861299472059693732005640354506857465997077332933011272985509385489522358919134894642719530463240114728444309675958613811794553575351831671524754208654358437981931309809790366703912436875654132507415200070561913452620246915605466427888852790439428367356737982423106827106685322806547486923889611086390922911054993605573920726617941238196681169010484660984877947015830611313257320832076512346012918993741186645957448428016783329955270422505609808025276981802373396148479035028635484276642481490505312609825147881802015788955390389762815647470862740352415191674814835799098808894314114333413646802174179968094982067525543250410778092014293436132083671242373465217052870335666647374943283308523928154366231619438829699281606619841113987541085801917063143061137008797310367015222942739946797183513975529353031407808756512068087144073411126003707968644206767680995029301943159001551419358336910562035474044306357220390968431808567433289795856577326220133433286760197140979567881933605257257264820855631234370073273544080006971819203778908746151371388200770738421848395927447313781477864955504102082115255874306887320743962341487473254240863557217214383716073445619771206757559012600429496068432505682466870977059478113413497730546165928658125756082635712840904777347098445127 18771629980997171849924873785097098766179430451520470919438655187463213410707344761952998668873806360318141774174588992154687983373974224990955787655021558725478007791367907625448540290156630306984047615699688725825487122758350787823798108157982715834868707729731118005965682063746131030434060278684386535768735034620660809128965440426694248843860386920310077494397753876454372822934877228822688110341752473739325184434634738212372982654147803164272213291692085107456698597811216265851778426791712303556253896405322910732564063453014074019165724942421442939009649436542095507075392819842435828566366921176555163475523053551986804593989159101199431051780332653598927132554156544173885435672147508655568212578676737515448855356370206327190378948635819224698254120381483220057076085844008826468317134574011571195303541249560409171906107641984721716447465055581912382014790752323740725102681233728706922234318093474083999314639630014139172730991152250887439654825204068277033969443548592243885808483744963435439431374620706251612518826207642381029059154703372085473250191360909521721443575006077706650739036136056522250206888904934455952899002083277184147901721466404451574924958314142151530650783388452801791017036482360731193689681664751244742470424954222993858437798263720259543755433675507058508173316231527259538315867612457734719866405527251180686506558525520589620526911059445764204825450252715261864870161095694677401043056732310903384770807032476248409049141017169408469531046562508274227762162403356677207028599281618054330437505087961097632963153044445853758926580241442985817606939126114126386213409028154621825088647692315344402052575986285403157814648631691701555303993175611942457076100608688236504069057812670107255594421815929002789269996779941909863950429225721671118270363236693133492125456966287979619598504656834284707712616503391009940919750900422809851526779582158245648183129889348364694825162634180900436393366358757613529717537874424334598086088892490258650702587658708378731126754002376420414964827490615990881642339081733176559672855481115046271805150588775969277876494700592444344382989013045469622441776111313355674442337394903547713329841881057679839527528412601204854829633561516011265857800243319208517434031715586695483048396882672894440092271312834326786375694658243291244599720187775357585585028014118897678362037568641845481336492227920269914350943569769223570553165802169249800343098736045036254237387845991407364947974883806395408346969735659407259365435627181732259853248768421398246580179984022327265349829367813591440474396962122542155832240260487987079708329122888265008902252670654275688651 30373135333489966800207826457421920726889739079851309782967565968759551236222448306923544038207800625267041960085034787193633480542097444573930317287953559393815944777892617170146373239534311872543967177544717949643777303978801617312232807984572229839024774917786294089903586960343257274336049415893634530695211891671043069959030232929950787731209124989849457748800951974305057662027848094887702653673312833998298774424065525422316383442524614316295078409071818805033754350106581993993486176203656440094807669099406993089854162866202026176160570266364181108217388372573522079351242824412272272457939750110814924036923050231298096791333720536919474668955565107926144636306639688928376332754761640773164991818467944326866310252368033460514407247629501647558683266856418353639723497287761642891096424896555530983098438263941952243661363943534333563973313724784098658586225212911577504630417148105585113050629801386659148836230438439447694030332987687438138481339295592453242134663400320750308568961211292158895518108034158815589152466048437942513834287419027320832158552124894808834568182357096431935782058845863339128893529734224506690829685212213749417409336436722838884840232985232596269516910545936036730127774899146615719882446569445306130505877430274560702827356699020392782970852590732912217882931349713980998679208195036437696850953323981256975680862745675450919998970753177769845179957110181258942203094106967662910428546254669822519665449752006711649163869461479084428144858357061849579593833928110885861387037263549364140227871791873534508617285551861053829488493694063232733212405554002979176652837395511359807511754519422029724859123473209292768901039554602756548909567096338560398314297289857246988730042690617123086205735073249834865782342792860903605137075183170099135053693191963555997735264991564961421971900805313319736348100780033491431425063510247957733328795371113636037945945536819227435177577825855715272192465167651927644050951521226508778054183874557784193952998436800393024562886086047662788430044543486326548289714025016485083601009847346665710634849870382589118990482241678246261446132074182478419752143126536298414389134578417523242682873288866436351595615556674615980833341530160218033538795272621151676435583134945032393610432356717200797312662281266135353808984454099868570819853621062117782726007582000831283619294833462701112570862301193813994357915388973002479299317173557450571081520584440963701551169323856362869050056999062269715234290479621748746838689868045289477067632484494843866351386741581339865779325436246097122941267939182020269245737991034153008366454878970900721743157448001374133778 49144765314487138650132700242519019493069169531371780702406221156222764646929793068876542707081606985585183734259623779348321463916071669564886104942975118119293952569260524795594913529690942179528014793244406675469264426737152405136030916142554945673893482647517412095869269024089388304770109694578021066463946926291703879087995673356645036575069511910159535243198705850759430484962725323710390764015065307737623958858700263634689366096672417480567291700763903912490452947917798259845264602995368743651061565504729903822418226319216100195326295208785624047227037809115617586426635644254708101024306671287370087512446103783284901385322879638118905720735897761525071768860796233102261768426909149428733204397144681842315165608738239787704786196265320872256937387237901573696799583131770469359413559470567102178401979513502361415567471585519055280420778780366011040601015965235318229733098381834292035284947894860743148150870068453586866761324139938325578136164499660730276104106948912994194377444956255594334949482654865067201671292256080323542893442122399406305408743485804330556011757363174138586521094981919861379100418639158962643728687295490933565311057903127290459765191299374747800167693934388838521144811381507346913572128234196550872976302384497554561265154962740652326726286266239970726056247581241240536995075807494172416717358851232437662187421271196040540525881812623534050005407362896520807073255202662340311471602986980725904436256784482960058213010478648492897675904919570123807355996331467563068415636545167418470665376879834632141580438596306907588415073935506218550819344680117105562866246423665981632600402211737374126911699459494695926715688186294458104213560271950502855390397898545483492799100503287230341800156889178837655052339572802813469087504408891770253324056428656689489860721957852941041570405462147604444060717283424501372344814410670767584855574953271881686129075426167592130002740460036615708585831526409541173768489395650843376140272767048042844655586095508771755689640088424083203394872034102317429932053106749661643273865328461711982440000459158558396866976942270690605829121087227948042193919237849654088831471973321070956012715169924116191123143969275820835662975091676229299396595515940360193869614850531727876658829239390095237404933594100462140184679112343159815419573808837475368311035596119728961981332402104546593907354529114083908708858958742226049852482975726700371424619320485999955788557169847770233998031882868665123581260215281156006204125495227021736920881252916242112931566725603667131129154804059688563415664901304562425077978251522140088074784001859165730645410118655649822429 79517900647977105450340526699940940219958908611223090485373787124982315883152241375800086745289407610852225694344658566541954944458169114138816422230928677513109897347153141965741286769225254052071981970789124625113041730715954022448263724127127175512918257565303706185772855984432645579106159110471655597159158817962746949047025906286595824306278636900008992991999657825064488146990573418598093417688378141735922733282765789057005749539197031796862370109835722717524207298024380253838750779199025183745869234604136896912272389185418126371486865475149805155444426181689139665777878468666980373482246421398185011549369154014582998176656600175038380389691462869451216405167435922030638101181670790201898196215612626169181475861106273248219193443894822519815620654094319927336523080419532112250509984367122633161500417777444313659228835529053388844394092505150109699187241178146895734363515529939877148335577696247402296987100506893034560791657127625763716617503795253183518238770349233744502946406167547753230467590689023882790823758304518266056727729541426727137567295610699139390579939720270570522303153827783200507993948373383469334558372507704682982720394339850129344605424284607344069684604480324875251272586280653962633454574803641857003482179814772115264092511661761045109697138856972882943939178930955221535674284002530610113568312175213694637868284016871491460524852565801303895185364473077779749276349309630003221900149241650548424101706536489671707376879940127577325820763276631973386949830259578448929802673808716782610893248671708166650197724148167961417903567629569451284031750234120084739519083819177341440112156731159403851770822932703988695616727740897214653123127368289063253704695188402730481529143193904353428005891962428672520834682365663717074224579592061869388377749620620245487595986949417902463542306267460924180408818063457992803769877920918725318184370324385517724075020962986819565180318285892330980778296694061468817819440916877352154194456641605827038608584532309164780252526174471745991824916577588643978221767131766146726874875175808377693074850329541147515857459183948936867275253161410426461946062364385952503220606551738594198695588458790552542718759525950436816496316621836447332935390788561511870305197985476760270269261596107296034717595875366597493993663566443028386239427429899593151037043178120560245600627235567247706478216830307897903066774347715228529151800149284150942506139904926963657339726493704133103048088881930934838815550694902904753042815363272311213988513737411085979282953467185006996908480240305785686356932840486582694323716242556293096441238880830066452388567566657023956207 128662665962464244100473226942459959713028078142594871187780008281205080530082034444676629452371014596437409428604282345890276408374240783703702527173903795632403849916413666761336200298916196231599996764033531300582306157453106427584294640269682121186811740212821118281642125008522033883876268805049676663623105744254450828135021579643240860881348148810168528235198363675823918631953298742308484181703443449473546692141466052691695115635869449277429661810599626630014660245942178513684015382194393927396930800108866800734690615504634226566813160683935429202671463990804757252204514112921688474506553092685555099061815257797867899561979479813157286110427360630976288174028232155132899869608579939630631400612757308011496641469844513035923979640160143392072558041332221501033322663551302581609923543837689735339902397290946675074796307114572444124814871285516120739788257143382213964096613911774169183620525591108145445137970575346621427552981267564089294753668294913913794342877298146738697323851123803347565417073343888949992495050560598589599621171663826133442976039096503469946591697083444709108824248809703061887094367012542431978287059803195616548031452242977419804370615583982091869852298414713713772417397662161309547026703037838407876458482199269669825357666624501697436423425123212853669995426512196462072669359810024782530285671026446132300055705288067532001050734378424837945190771835974300556349604512292343533371752228631274328537963320972631765589890418776070223496668196202097194305826591046011998218310353884201081558625551542798791778162744474869006318641565075669834851094914237190302385330242843323072712558942896777978682522392198684622332415927191672757336687640239566109095093086948213974328243697191583769806048851607510175887021938466530543312084000953639641701806049276934977456708907270843505112711729608528624469535346882494176114692331589492903039945277657399410204096389154411695183058745928946689364128220471009991587930312528195530334729408653869883264170627817936535942166262895829195219788611690961408153820238515808370148740504270089675514850788699705912724436126219627473104374248638374504139981602235606592052078525059665154708303628714668733841903495226257652159291713512676632331986304501872064174812836008488146928090835497391272122529469467059634178342678786188201659001238737068519348078774240289207581959637671794300385571359421981811775633306457454579004283125010851313930759225412963613128283663551903337046120764799599962396810910184060759246940858499332950909394990327328092214520192788674128037635044365474249772597741791145119401694494078433184516022882689232183033977685312673778636 208180566610441349550813753642400899932986986753817961673153795406187396413234275820476716197660422207289635122948940912432231352832409897842518949404832473145513747263566808727077487068141450283671978734822655925695347888169060450032558364396809296699729997778124824467414980992954679462982427915521332260782264562217197777182047485929836685187626785710177521227198021500888406778943872160906577599391821591209469425424231841748700865175066481074292031920435349347538867543966558767522766161393419111142800034713003697646963004690052352938300026159085234358115890172493896917982392581588668847988799514083740110611184411812450897738636079988195666500118823500427504579195668077163537970790250729832529596828369934180678117330950786284143173084054965911888178695426541428369845743970834693860433528204812368501402815068390988734025142643625832969208963790666230438975498321529109698460129441714046331956103287355547742125071082239655988344638395189853011371172090167097312581647647380483200270257291351100795884664032912832783318808865116855656348901205252860580543334707202609337171636803715279631127402637486262395088315385925901312845432310900299530751846582827549148976039868589435939536902895038589023689983942815272180481277841480264879940662014041785089450178286262742546120563980185736613934605443151683608343643812555392643853983201659826937923989304939023461575586944226141840376136309052080305625953821922346755271901470281822752639669857462303472966770358903647549317431472834070581255656850624460928020984162600983692451874223250965441975886892642830424222209194645121118882845148357275041904414062020664512824715674056181830453345324902673317949143668088887410459815008528629362799788275350944455857386891095937197811940814036182696721704304130247617536663593015509030079555669897180465052695856688745968655017997069452804878353410340486979884570252508218221224315602042917134279117352141231260363377031821277670142424914532478809407371229405547684529186050259696921872755160127101316194692437367575187044705189279605386375587370281955097023615680078467368589701118240853428581895310168564340379627410048800966086043966621559095272685076798259353403892087505221276560663021176694468655608335349123965267377093063383934480010821485248417197352431604687306840125344833657128172006245229216587898428668636661670385121952360849453182586873239042006863788189729879714842407654172683108156083274295002256436899130339927270468010157256036440094209646730534801212361605086965512289756221771644164897908727738414071497473659973681124946115284671259936129530582277727813725410736634726280957261763519298635422545251969697734843 336843232572905593651286980584860859646015064896412832860933803687392476943316310265153345650031436803727044551553223258322507761206650681546221476578736268777917597179980475488413687367057646515271975498856187226277654045622166877616853004666491417886541737990945942749057106001476713346858696720571008924405370306471648605317069065573077546068974934520346049462396385176712325410897170903215061781095265040683016117565697894440395980810935930351721693731034975977553527789908737281206781543587813038539730834821870498381653620194686579505113186843020663560787354163298654170186906694510357322495352606769295209672999669610318797300615559801352952610546184131403792753223900232296437840398830669463160997441127242192174758800795299320067152724215109303960736736758762929403168407522137275470357072042502103841305212359337663808821449758198277094023835076182351178763755464911323662556743353488215515576628878463693187263041657586277415897619662753942306124840385081011106924524945527221897594108415154448361301737376801782775813859425715445255970072869078994023519373803706079283763333887159988739951651447189324282182682398468333291132492114095916078783298825804968953346655452571527809389201309752302796107381604976581727507980879318672756399144213311454914807844910764439982543989103398590283930031955348145681013003622580175174139654228105959237979694593006555462626321322650979785566908145026380861975558334214690288643653698913097081177633178434935238556660777679717772814099669036167775561483441670472926239294516485184774010499774793764233754049637117699430540850759720790953733940062594465344289744304863987585537274616952959809135867717101357940281559595280560167796502648768195471894881362299158430185630588287520967617989665643692872608726242596778160848747593969148671781361719174115442509404763959589473767729726677981429347888757222981155999262584097711124264260879700316544483213741295642955546435777750224359506553135003488800995301541933743214863915458913566805136925787945037852136858700263404382264493800970566794529407608797763467172356184348557044104551906940559341306331436388191813484001658687175470226025568857165687324763601857924508112195716219890010402566516402952120814900048861800597599363397565255998654823657493736564125443267102078578962654814300716762350348924015404789557429907373730189733200726601138660764546510910836307249359549151861526618040960630137687160366399305853570367658355752890883596293820807939777140330411530134763609172515271026271536697080270977115807303718065742163711993852762355252983750329036734185902128324068872933127105230713159465473284646208530818456522937282371513479 545023799183346943202100734227261759579002051650230794534087599093579873356550586085630061847691859011016679674502164170754739114039060579388740425983568741923431344443547284215491174435199096798943954233678843151973001933791227327649411369063300714586271735769070767216472086994431392809841124636092341185187634868688846382499116551502914231256601720230523570689594406677600732189841043064121639380487086631892485542989929736189096845986002411426013725651470325325092395333875296048729547704981232149682530869534874196028616624884738932443413213002105897918903244335792551088169299276099026170484152120853035320284184081422769695039251639789548619110665007631831297332419568309459975811189081399295690594269497176372852876131746085604210325808270075215848915432185304357773014151492971969330790600247314472342708027427728652542846592401824110063232798866848581617739253786440433361016872795202261847532732165819240929388112739825933404242258057943795317496012475248108419506172592907705097864365706505549157186401409714615559132668290832300912318974074331854604062708510908688620934970690875268371079054084675586677270997784394234603977924424996215609535145408632518102322695321160963748926104204790891819797365547791853907989258720798937636339806227353240004258023197027182528664553083584326897864637398499829289356647435135567817993637429765786175903683897945578924201908266877121625943044454078461167601512156137037043915555169194919833817303035897238711523431136583365322131531141870238356817140292294933854260278679086168466462373998044729675729936529760529854763059954365912072616785210951740386194158366884652098361990291009141639589213042004031258230703263369447578256317657296824834694669637650102886043017479383458165429930479679875569330430546727025778385411186984657701860917389071295907562100620648335442422747723747434234226242167563468135883832836605929345488576481743233678762331093436874215909812809571502029648978049535967610402672771339290899393101509173263727009680948072139168331551137630979569309198990250172180904994979079718564195971864427024412694253025181412769888226746556756153863629068735976436312069535478724782597448678656183861516087803725111286963229537579646589470508384210924562866740490628639933134834478978984981322795698706765885802780159134373890522355169244621377455858576010391860118322678961988113947133384149878314113147738881741241460448614802820795316449673600855826804557486092818154064303978063976217234540058260669564821534120357991783826453302042621280705212445804156235209467512736036377929865613707994122031658906346600746852515967347885746430546409727829453879068189252069248322 881867031756252536853387714812122619225017116546643627395021402780972350299866896350783407497723295814743724226055387429077246875245711260934961902562305010701348941623527759703904861802256743314215929732535030378250655979413394205266264373729792132472813473760016709965529192995908106156699821356663350109593005175160494987816185617075991777325576654750869620151990791854313057600738213967336701161582351672575501660555627630629492826796938341777735419382505301302645923123784033329936329248569045188222261704356744694410270245079425511948526399845126561479690598499091205258356205970609383492979504727622330529957183751033088492339867199590901571721211191763235090085643468541756413651587912068758851591710624418565027634932541384924277478532485184519809652168944067287176182559015109244801147672289816576184013239787066316351668042160022387157256633943030932796503009251351757023573616148690477363109361044282934116651154397412210820139877720697737623620852860329119526430697538434926995458474121659997518488138786516398334946527716547746168289046943410848627582082314614767904698304578035257111030705531864910959453680182862567895110416539092131688318444234437487055669350773732491558315305514543194615904747152768435635497239600117610392738950440664694919065868107791622511208542186982917181794669353847974970369651057715742992133291657871745413883378490952134386828229589528101411509952599104842029577070490351727332559208868108016914994936214332173950080091914263083094945630810906406132378623733965406780499573195571353240472873772838493909483986166878229285303910714086703026350725273546205730483902671748639683899264907962101448725080759105389198512262858650007746052820306065020306589550999949261316228648067670979133047920145323568441939156789323803939234158780953806373642279108245411350071505384607924916190477450425415663574130924786449291883095420703640469752837361443550223245544834732517171456248587321726389155531184539456411397974313273034114257016968086830532146606736017177020468409837894383951573692791220738975434402587877482031368328048775581456798804932121972111194558182944947967347630727423151906538095104335890469922212280514108369628283519945001297365796053982598710285408433072725160466103888193895931789658136472721545448238965808844464765434973435090652872704093260026167013288483384122049851523405563126774711679895060714621362507288033602768078489575432958482476816072906709397172215841845709037660597798871915994374870469790804328430706635629018055363150382313598396512516163869898398921461365498391630913615942744728307933787230415473679979621198061045211903831055936360272335591126534440761801 1426890830939599480055488449039384378804019168196874421929109001874552223656417482436413469345415154825760403900557551599831985989284771840323702328545873752624780286067075043919396036237455840113159883966213873530223657913204621532915675742793092847059085209529087477182001279990339498966540945992755691294780640043849341370315302168578906008582178374981393190841585198531913789790579257031458340542069438304467987203545557366818589672782940753203749145033975626627738318457659329378665876953550277337904792573891618890438886869964164444391939612847232459398593842834883756346525505246708409663463656848475365850241367832455858187379118839380450190831876199395066387418063036851216389462776993468054542185980121594937880511064287470528487804340755259735658567601129371644949196710508081214131938272537131048526721267214794968894514634561846497220489432809879514414242263037792190384590488943892739210642093210102175046039267137238144224382135778641532941116865335577227945936870131342632093322839828165546675674540196231013894079196007380047080608021017742703231644790825523456525633275268910525482109759616540497636724677967256802499088340964088347297853589643070005157992046094893455307241409719334086435702112700560289543486498320916548029078756668017934923323891304818805039873095270567244079659306752347804259726298492851310810126929087637531589787062388897713311030137856405223037452997053183303197178582646488764376474764037302936748812239250229412661603523050846448417077161952776644489195764026260340634759851874657521706935247770883223585213922696638759140066970668452615098967510484497946116678061038633291782261255198971243088314293801109420456742966122019455324309137963361845141284220637599364202271665547054437298477850625003444011269587336050829717619569967938464075503196497316707257633606005256260358613225174172849897800373092349917427766928257309569815241413843186783902007875928169391387366061396893228418804509234075424021800647084612325013650118477260094259156287684089316188799960975525363520882891781470911156339397566957200595564299913202605869493057957303384881082784929501704121211259796159128342850164639814615252519660959170292231144371323670112584329025591562245299755916817283649723332844378822535864924492615451706526771034664515610350568215132569464543395059262504647544469147059394513909969846084525114888658813279210592935475655026915344009538938190235779277793265746507565223976773327938527191724901776935892211609410528051473893252240755987009839189603684356219677217728609674054634130928878234428008843481556452722429965446136762074426832137165408930958334377465664189726214659315786510010123 2308757862695852016908876163851506998029036284743518049324130404655524573956284378787196876843138450640504128126612939028909232864530483101258664231108178763326129227690602803623300898039712583427375813698748903908474313892618015738181940116522884979531898683289104187147530472986247605123240767349419041404373645219009836358131487785654897785907755029732262810993575990386226847391317470998795041703651789977043488864101184997448082499579879094981484564416480927930384241581443362708602206202119322526127054278248363584849157115043589956340466012692359020878284441333974961604881711217317793156443161576097696380198551583488946679718986038971351762553087391158301477503706505392972803114364905536813393777690746013502908145996828855452765282873240444255468219770073438932125379269523190458933085944826947624710734507001861285246182676721868884377746066752910447210745272289143947408164105092583216573751454254385109162690421534650355044522013499339270564737718195906347472367567669777559088781313949825544194162678982747412229025723723927793248897067961153551859226873140138224430331579846945782593140465148405408596178358150119370394198757503180478986172033877507492213661396868625946865556715233877281051606859853328725178983737921034158421817707108682629842389759412610427551081637457550161261453976106195779230095949550567053802260220745509277003670440879849847697858367445933324448962949652288145226755653136840491709033972905410953663807175464561586611683614965109531512022792763683050621574387760225747415259425070228874947408121543721717494697908863516988425370881382539318125318235758044151847161963710381931466160520106933344537039374560214809655255228980669463070361958269426865447873771637548625518500313614725416431525770770327012453208744125374633656853728748892270449145475605562118607705111389864185274803702624598265561374504017136366719650023678013210284994251204630334125253420762901908558822309984214954807960040418614880433198621397885359127907135445346924791302894420106493209268370813419747472456584572691650131773800154834682626932627961978187326291862889425356992277343112446652088558890523582280249388259744150505722441873239684400600772654843615113881694821645544844010041325250356374883798948267016431796714150751924428072219273630324454815333650106004555196267763355764673711482435542778635959821369490088241663370493174271307556838162314948946777617427765668737760270081819414274621148989169784236229385499575807808205984280997842278221682947391616027894552754066669818073730244773543953033052390243732819639757097499197450737899233367177548106811758363469976170238208521600549998550250442320950771924 3735648693635451496964364612890891376833055452940392471253239406530076797612701861223610346188553605466264532027170490628741218853815254941582366559654052515950909513757677847542696934277168423540535697664962777438697971805822637271097615859315977826590983892818191664329531752976587104089781713342174732699154285262859177728446789954233803794489933404713656001835161188918140637181896728030253382245721228281511476067646742364266672172362819848185233709450456554558122560039102692087268083155669599864031846852139982475288043985007754400732405625539591480276878284168858717951407216464026202819906818424573062230439919415944804867098104878351801953384963590553367864921769542244189192577141899004867935963670867608440788657061116325981253087213995703991126787371202810577074575980031271673065024217364078673237455774216656254140697311283715381598235499562789961624987535326936137792754594036475955784393547464487284208729688671888499268904149277980803505854583531483575418304437801120191182104153777991090869837219178978426123104919731307840329505088978896255090871663965661680955964855115856308075250224764945906232903036117376172893287098467268826284025623520577497371653442963519402172798124953211367487308972553889014722470236241950706450896463776700564765713650717429232590954732728117405341113282858543583489822248043418364612387149833146808593457503268747561008888505302338547486415946705471448423934235783329256085508736942713890412619414714790999273287138015955979929099954716459695110770151786486088050019276944886396654343369314604941079911831560155747565437852050991933224285746242542097963840024749015223248421775305904587625353668361324230111998195102688918394671096232788710589157992275147989720771979161779853730003621395330456464478331461425463374473298716830734524648672102878825865338717395120445633416927798771115459174877109486284147416951935322780100235665047817118027261296691071299946188371381108183226764549652690304454999268482497684141557253922607019050459182104195809398068331788945110993339476354162561288113197721791883222496927875180793195784920846728741873360128041948356209770150319741408592238424383965120974961534198854692831917026167285226466023847237107089309797242067640024607131792645838967661638643367376134598990308294840065165901865238574019739662822618269321255951582602173149869791215574613356552029306453481900492313817341864290787156365955904517038063347565921839845125762497722763421110401352743700417593691525893752114935188147603037733742357751026037750947973383218007667183319121967247648600579055650173167864679503939622533643895528878907128572585987264739724764909758107460782047 6044406556331303513873240776742398374862091737683910520577369811185601371568986240010807223031692056106768660153783429657650451718345738042841030790762231279277038741448280651165997832316881006967911511363711681347172285698440653009279555975838862806122882576107295851477062225962834709213022480691593774103527930481869014086578277739888701580397688434445918812828737179304367484573214199029048423949373018258554964931747927361714754671942698943166718273866937482488506801620546054795870289357788922390158901130388346060137201100051344357072871638231950501155162725502833679556288927681343995976349980000670758610638470999433751546817090917323153715938050981711669342425476047637161995691506804541681329741361613621943696803057945181434018370087236148246595007141276249509199955249554462131998110162191026297948190281218517539386879988005584265975981566315700408835732807616080085200918699129059172358145001718872393371420110206538854313426162777320074070592301727389922890672005470897750270885467727816635063999898161725838352130643455235633578402156940049806950098537105799905386296434962802090668390689913351314829081394267495543287485855970449305270197657398084989585314839832145349038354840187088648538915832407217739901453974162984864872714170885383194608103410130039660142036370185667566602567258964739362719918197593985418414647370578656085597127944148597408706746872748271871935378896357759593650689888920169747794542709848124844076426590179352585884970752981065511441122747480142745732344539546711835465278702015115271601751490858326658574609740423672735990808733433531251349603982000586249811001988459397154714582295412837932162393042921539039767253424083358381465033054502215576037031763912696615239272292776505270161529392165657468917687075586800097031327027465723004973794147708440944473043828784984630908220630423369381020549381126622650867066975613335990385229916252447452152514717453973208505010681365323138034724590071305184888197889880383043269464389367953943841762076524302302607336702602364858465796060926854211419886997876626565849429555837158980522076783736154098865637471154395008298329040843323688841626684128115626697403407438539093432689681010900340347718668882651933319838567317996399490930740912855399458352794119300562671209581925164519981235515344578574935930585974033994967434018144951785829612585064701598215399799627753208049151979656813237564773793721573254798333429385336114466274751667506999650495900928551508623577972523736030336618135539219065628295111817695855824678218156761960700235709365700067288357676554847623905763912871117170640455653892348883298810794508865289723315160200428411553971 9780055249966755010837605389633289751695147190624302991830609217715678169181688101234417569220245661573033192180953920286391670572160992984423397350416283795227948255205958498708694766594049430508447209028674458785870257504263290280377171835154840632713866468925487515806593978939421813302804194033768506802682215744728191815025067694122505374887621839159574814663898368222508121755110927059301806195094246540066440999394669725981426844305518791351951983317394037046629361659648746883138372513458522254190747982528328535425245085059098757805277263771541981432041009671692397507696144145370198796256798425243820841078390415378556413915195795674955669323014572265037207347245589881351188268648703546549265705032481230384485460119061507415271457301231852237721794512479060086274531229585733805063134379555104971185646055435173793527577299289299647574217065878490370460720342943016222993673293165535128142538549183359677580149798878427353582330312055300877576446885258873498308976443272017941452989621505807725933837117340704264475235563186543473907907245918946062040970201071461586342261290078658398743640914678297221061984430384871716180772954437718131554223280918662486956968282795664751211152965140300016026224804961106754623924210404935571323610634662083759373817060847468892732991102913784971943680541823282946209740445637403783027034520411802894190585447417344969715635378050610419421794843063231042074624124703499003880051446790838734489046004894143585158257890997021491370222702196602440843114691333197923515297978960001668256094860172931599654521571983828483556246585484523184573889728243128347774842013208412377963004070718742519787746711282863269879251619186047299859704150735004286626189756187844604960044271938285123891533013560987925382165407048225560405800326182553739498442819811319770338382546180105076541637558222140496479724258236108935014483927548658770485465581300264570179776014145044508451199052746431321261489139723995489343197158362880727411021643290560962892221258628498112005405034391309969459135537281016772708000195598418449071926483712339773717861704582882840738997599196343364508099191163065097433865108512080747672364941637393786264606707178185566813742516119759022629635809385636424098062533558694367119991437486676697270199890220004585147137380583152594675593408592303316223385600747124935699403800639314954767429106081235108541465796998677528351930159677477771836396776951257954311400514165229763071606302281295209041171664049629782451553323686822103362037469568721893575626191539979968367419028487667314936958255610497797073628592375056793174099549421227790427383380496130029448080069958535872336018 15824461806298058524710846166375688126557238928308213512407979028901279540750674341245224792251937717679801852334737349944042122290506731027264428141178515074504986996654239149874692598910930437476358720392386140133042543202703943289656727810993703438836749045032783367283656204902256522515826674725362280906210146226597205901603345434011206955285310273605493627492635547526875606328325126088350230144467264798621405931142597087696181516248217734518670257184331519535136163280194801679008661871247444644349649112916674595562446185110443114878148902003492482587203735174526077063985071826714194772606778425914579451716861414812307960732286712998109385261065553976706549772721637518513183960155508088230595446394094852328182263177006688849289827388468000484316801653755309595474486479140195937061244541746131269133836336653691332914457287294883913550198632194190779296453150559096308194591992294594300500683550902232070951569909084966207895756474832620951647039186986263421199648448742915691723875089233624360997837015502430102827366206641779107486309402858995868991068738177261491728557725041460489412031604591648535891065824652367259468258810408167436824420938316747476542283122627810100249507805327388664565140637368324494525378184567920436196324805547466953981920470977508552875027473099452538546247800788022308929658643231389201441681890990458979787713391565942378422382250798882291357173739420990635725314013623668751674594156638963578565472595073496171043228643978087002811345449676745186575459230879909758980576680975116939857846351031258258229131312407501219547055318918054435923493710243714597585844001667809532677586366131580451950139754204402309646505043269405681324737205237219862663221520100541220199316564714790394053062405726645394299852482635025657437127353648276744472236967519760714811426374965089707449858188645509877500273639362731585881550903161994760870695497552712022332290731599017716956209734111754459296213729795300674231395048243263770680486032658514906733983335152800414612741736993674827924931598207870984127887193475045014921356039549498754239938488319036939604635070350738372806428232006388786275491792640196374369768349075932879697296388189085907161461185002410955949474376703632823588993274471549766578344231605977259941409472145169105128372895927731169611523994566337311190819618892076721529016385704016552982828905708988316590617776655490765916703953399051026634730206336594068777675265832736762722102203209846717664749636573365812788171459226041168990332581386417749400304409696741929067654737853367382225315932165345420979392505246173963814555203313576673726194175004995319171395230158964283889989 25604517056264813535548451556008977878252386118932516504238588246616957709932362442479642361472183379252835044515691270230433792862667724011687825491594798869732935251860197648583387365504979867984805929421060598918912800706967233570033899646148544071550615513958270883090250183841678335818630868759130787708892361971325397716628413128133712330172932112765068442156533915749383728083436053147652036339561511338687846930537266813677608360553736525870622240501725556581765524939843548562147034384705966898540397095445003130987691270169541872683426165775034464019244744846218474571681215972084393568863576851158400292795251830190864374647482508673065054584080126241743757119967227399864372228804211634779861151426576082712667723296068196264561284689699852722038596166234369681749017708725929742124378921301236240319482392088865126442034586584183561124415698072681149757173493502112531188265285460129428643222100085591748531719707963393561478086786887921829223486072245136919508624892014933633176864710739432086931674132843134367302601769828322581394216648777941931032038939248723078070819015120118888155672519269945756953050255037238975649031764845885568378644219235409963499251405423474851460660770467688680591365442329431249149302394972856007519935440209550713355737531824977445608018576013237510489928342611305255139399088868792984468716411402261873978298838983287348138017628849492710778968582484221677799938138327167755554645603429802313054518599967639756201486534975108494181568151873347627418573922213107682495874659935118608113941211204189857883652884391329703103301904402577620497383438486842945360686014876221910640590436850322971737886465487265579525756662455452981184441355972224149289411276288385825159360836653075517944595419287633319682017889683251217842927679830830483970679787331080485149808921145194783991495746867650373979997897598840520896034830710653531356161078852976592512066745744062225407408786858185780557702869519296163574592206606144498091507675949075869626204593781298526618146771384984797384067135488887756835887389073463463993282523261838527957800192901919780343632669547081737314527423169453883709356901152277122042133290713326665961903095367271473975203701122169978579110186089269247687055808030244133698335669092653957211609362365173690275510276510883764287117403158640627414205219639201657228420186343331507750258011790223425132083573654168294268634113076528798471126983287852023089075779997966525793708505491141926705921300622995595239724782912863272352370050955139642975930601236721897435073766341034697162274187775843218053021097621230756988654752734804464153577555501125348619475300117500156226007 41428978862562872060259297722384666004809625047240730016646567275518237250683036783724867153724121096932636896850428620174475915153174455038952253632773313944237922248514436798458079964415910305461164649813446739051955343909671176859690627457142247510387364558991054250373906388743934858334457543484493068615102508197922603618231758562144919285458242386370562069649169463276259334411761179236002266484028776137309252861679863901373789876801954260389292497686057076116901688220038350241155696255953411542890046208361677726550137455279984987561575067778526946606448480020744551635666287798798588341470355277072979744512113245003172335379769221671174439845145680218450306892688864918377556188959719723010456597820670935040849986473074885113851112078167853206355397819989679277223504187866125679185623463047367509453318728742556459356491873879067474674614330266871929053626644061208839382857277754723729143905650987823819483289617048359769373843261720542780870525259231400340708273340757849324900739799973056447929511148345564470129967976470101688880526051636937800023107677425984569799376740161579377567704123861594292844116079689606235117290575254053005203065157552157440041534528051284951710168575795077345156506079697755743674680579540776443716260245757017667337658002802485998483046049112690049036176143399327564069057732100182185910398302392720853766012230549229726560399879648375002136142321905212313525252151950836507229239760068765891619991195041135927244715178953195496992913601550092813994033153093017441476451340910235547971787562235448116112784196798830922650357223320632056420877148730557542946530016544031443318176802981903423688026219691667889172261705724858662509178561209444011952632796388927045358677401367865911997657825014278713981870372318276875280055033479107228442916754850841199961235296110284491441353935513160251480271536961572106777585733872648292226856576405688614844357477343079942363618520969940239853916599314596837805987254849408268771993708607590776360187928934098941230888508378659625308998733696758740963774582548508478914638562811337282197738681220956719948267739897820110120955655175842669984848693792473496411901639789259545659199483556357381136664886124580934528584562792902071276049082501793900276679900698631217153018834510342795403883172438614933898641397724977938605024838531278378757436572047348060733086917499211741722701350309659060185338066475579825105857189624446091866751045830703288515810708700988644370670937196361408027896242138904441342702632341557392376235010933463826502728504194402079387590119941188639032413602867404720803209956048381137879771730506120667790870530276464440115996 67033495918827685595807749278393643883062011166173246520885155522135194960615399226204509515196304476185471941366119890404909708015842179050640079124368112813970857500374634447041467329920890173445970579234507337970868144616638410429724527103290791581937980072949325133464156572585613194153088412243623856323994870169248001334860171690278631615631174499135630511805703379025643062495197232383654302823590287475997099792217130715051398237355690786259914738187782632698667213159881898803302730640659378441430443303806680857537828725449526860245001233553561410625693224866963026207347503770882981910333932128231380037307365075194036710027251730344239494429225806460194064012656092318241928417763931357790317749247247017753517709769143081378412396767867705928393993986224048958972521896592055421310002384348603749772801120831421585798526460463251035799030028339553078810800137563321370571122563214853157787127751073415568015009325011753330851930048608464610094011331476537260216898232772782958077604510712488534861185281188698837432569746298424270274742700414879731055146616674707647870195755281698265723376643131540049797166334726845210766322340099938573581709376787567403540785933474759803170829346262766025747871522027186992823982974513632451236195685966568380693395534627463444091064625125927559526104486010632819208456820968975170379114713794982727744311069532517074698417508497867712915110904389433991325190290278004262783885363498568204674509795008775683446201713928303991174481753423440441412607075306125123972326000845354156085728773439637973996437081190160625753659127723209676918260587217400488307216031420253353958767239832226395425912685178933468698018368180311643693619917181668161242044072677312870518038238020941429942253244301912033663888262001528093122982713309937712413596542181921685111044217255479275432849682380810625460269434560412627673620564583301823583017655258665207356424223087142167771027307828126020411619468833893001380579461455552766863501384556666645986392522715397467849035279763644422693065869185646497799661971621971942907921086073175810155538874122876500291900409444901847435483078345296553694205594944750618454034930502586211621102578923628855111868587246750913107694748882171318963104890532038033975015569791285174364628196875516485679393448949498698185758800883618566019230058170480035985856758390679568483344929289435166854784923963827354453972179552108623576984172912298114955826825828669814309519214192130571076592237819357003267621025051767713695072683296697035352165612170185723937802270535436776549864307717031857085434700488635477791864708783185602033349286007246016410345830393964596342003 108462474781390557656067047000778309887871636213413976537531722797653432211298436009929376668920425573118108838216548510579385623169016634089592332757141426758208779748889071245499547294336800478907135229047954077022823488526309587289415154560433039092325344631940379383838062961329548052487545955728116924939097378367170604953091930252423550901089416885506192581454872842301902396906958411619656569307619063613306352653896994616425188114157645046649207235873839708815568901379920249044458426896612789984320489512168358584087966180729511847806576301332088357232141704887707577843013791569681570251804287405304359781819478320197209045407020952015413934274371486678644370905344957236619484606723651080800774347067917952794367696242217966492263508846035559134749391806213728236196026084458181100495625847395971259226119849573978045155018334342318510473644358606425007864426781624530209953979840969576886931033402061239387498298942060113100225773310329007390964536590707937600925171573530632282978344310685544982790696429534263307562537722768525959155268752051817531078254294100692217669572495443277643291080766993134342641282414416451445883612915353991578784774534339724843582320461526044754880997922057843370904377601724942736498663554054408894952455931723586048031053537429949442574110674238617608562280629409960383277514553069157356289513016187703581510323300081746801258817388146242715051253226294646304850442442228840770013125123567334096294500990049911610690916892881499488167395354973533255406640228399142565448777341755589704057516335675086090109221277988991548404016351043841733339137735947958031253746047964284797276944042814129819113938904870601357870280073905170306202798478391112173194676869066239915876715639388807341939911069316190747645758634319804968403037746789044940856513297032762885072279513365763766874203617893970876940540971521984734451206298455950115809874231664353822200781700430222110134645828798066260265536068148489839186566716304961035635495093164257422346580451649496409079923788142304048002064602882405238763436554170480421822559648884513092353277555343833220240168149342721957556438733521139223679054288737224114865936570291845757280302062479986236248533473371331847636279311675073390239153973033831934251695470489916391517647031385859281083276621388113632084400198608596504624254896701758414743293330438027629216431846788646908577486274273486414639310246027688448682841362536744206822577871659373102825329922893119215447263175015718411295517267190672155037775315638254427728400623103649550440530774729838855937454427658220496117848303356040198595074664831566739913121016513366684201216360670429036457999 175495970700218243251874796279171953770933647379587223058416878319788627171913835236133886184116730049303580779582668400984295331184858813140232411881509539572179637249263705692541014624257690652353105808282461414993691633142947997719139681663723830674263324704889704517302219533915161246640634367971740781263092248536418606287952101942702182516720591384641823093260576221327545459402155644003310872131209351089303452446114125331476586351513335832909121974061622341514236114539802147847761157537272168425750932815975039441625794906179038708051577534885649767857834929754670604050361295340564552162138219533535739819126843395391245755434272682359653428703597293138838434918001049554861413024487582438591092096315164970547885406011361047870675905613903265063143385792437777195168547981050236521805628231744575008998920970405399630953544794805569546272674386945978086675226919187851580525102404184430044718161153134654955513308267071866431077703358937472001058547922184474861142069806303415241055948821398033517651881710722962144995107469066950229430011452466697262133400910775399865539768250724975909014457410124674392438448749143296656649935255453930152366483911127292247123106395000804558051827268320609396652249123752129729322646528568041346188651617690154428724449072057412886665175299364545168088385115420593202485971374038132526668627729982686309254634369614263875957234896644110427966364130684080296175632732506845032797010487065902300969010785058687294137118606809803479341877108396973696819247303705267689421103342600943860143245109114724064105658359179152174157675478767051410257398323165358519560962079384538151235711282646356214539851590049534826568298442085481949896418395572780334436720941743552786394753877409748771882164313618102781309646896321333061526020460098982653270109839214684570183323730621243042307053300274781502400810406082397362124826863039251939392891886923019029557205923517364277905673136626192280677155536982382840567146177760513802498996477720924068332972974364893876928959067905948470695130472068051736563098525792452364730480734957688902508816429466709720532068558787623804991921811866435777373259883681974733319971500794431968901404641403615091360402060618082760743974060557244709202258863565869968226711040281201565882275228261375766762670070337612330270158999492215070643484954872238450729150088828707197699776776078082075432271198237313769093282425579797072259825535449042321778404697488042917134849137085249786523855412835075414563138292242439868732847998934951463080566235273835274378333045265275632487318735375252353203283003844675676386939373614752341946470302520612700611562191064393632800002 283958445481608800907941843279950263658805283593001199595948601117442059383212271246063262853037155622421689617799216911563680954353875447229824744638650966330388416998152776938040561918594491131260241037330415492016515121669257585008554836224156869766588669336830083901140282495244709299128180323699857706202189626903589211241044032195125733417810008270148015674715449063629447856309114055622967441438828414702609805100011119947901774465670980879558329209935462050329805015919722396892219584433884958410071422328143398025713761086908550555858153836217738125089976634642378181893375086910246122413942506938840099600946321715588454800841293634375067362977968779817482805823346006791480897631211233519391866443383082923342253102253579014362939414459938824197892777598651505431364574065508417622301254079140546268225040819979377676108563129147888056746318745552403094539653700812381790479082245154006931649194555195894343011607209131979531303476669266479392023084512892412462067241379834047524034293132083578500442578140257225452557645191835476188585280204518514793211655204876092083209340746168253552305538177117808735079731163559748102533548170807921731151258445467017090705426856526849312932825190378452767556626725477072465821310082622450241141107549413740476755502609487362329239285973603162776650665744830553585763485927107289882958140746170389890764957669696010677216052284790353143017617356978726601026075174735685802810135610633236397263511775108598904828035499691302967509272463370506952225887532104410254869880684356533564200761444789810154214879637168143722561691829810893143596536059113316550814708127348822948512655325460486033653790494920136184438578515990652256099216873963892507631397810809792702271469516798556113822075382934293528955405530641138029929058206888027594126623136247447455255603243987006809181256918168752379341351377604382096576033161495202055202766118587372851757987623947586388040318965424258540942691605130872679753712894065474838134491570885181490679553426014390286008882856048252518697195074950456975326535079962932786553040383842201994862093984810542940772236708130345762548360545387575001052314172419198848185908071086277726181706703883601327608935533989414608380253372232318099441412836599701902478406510771117957399922259647235047845946691725725962354559198100811575267739851573996865472443419266734826916208622866728984009757472510800183732592671607485520942666897985786528600982569147416019960179059978369001971118587850793825858655559433112023770623314573205890808966858377484824818863819995114488424773163033472849321131307200715874982014038446319081859591319033979384812778551734822669258001 459454416181827044159816639559122217429738930972588422654365479437230686555126106482197149037153885671725270397381885312547976285538734260370057156520160505902568054247416482630581576542852181783613346845612876907010206754812205582727694517887880700440851994041719788418442502029159870545768814691671598487465281875440007817528996134137827915934530599654789838767976025284956993315711269699626278313570037765791913257546125245279378360817184316712467451183997084391844041130459524544739980741971157126835822355144118437467339555993087589263909731371103387892947811564397048785943736382250810674576080726472375839420073165110979700556275566316734720791681566072956321240741347056346342310655698815957982958539698247893890138508264940062233615320073842089261036163391089282626533122046558654144106882310885121277223961790384777307062107923953457603018993132498381181214880620000233371004184649338436976367355708330549298524915476203845962381180028203951393081632435076887323209311186137462765090241953481612018094459850980187597552752660902426418015291656985212055345056115651491948749108996893229461319995587242483127518179912703044759183483426261851883517742356594309337828533251527653870984652458699062164208875849229202195143956611190491587329759167103894905479951681544775215904461272967707944739050860251146788249457301145422409626768476153076200019592039310274553173287181434463570983981487662806897201707907242530835607146097699138698232522560167286198965154106501106446851149571767480649045134835809677944290984026957477424344006553904534218320537996347295896719367308577944553853934382278675070375670206733361099748366608106842248193642084969671011006876958076134205995635269536672842068118752553345488666223394208304885704239696552396310265052426962471091455078666987010247396732975462132025438926974608249851488310218443533881742161783686779458700860024534453994595658005510391881315193547464950665945992102050450821619847142113255520320859071825988640633488048606105559012526400379284162937841923954200989392325547018508711889633605755385151283521118799890897370910414277252661304305266917969567540282357254010778425574056101173581505879571880709695083111345287216418969337594607497369124227432789562808643671700165571870705117551052319523282197487908610814608616762063338292624718197593026645911224806446235316201593508095442024615985398944811059442028670748113952825875097187282593202492433434828850379387266635458937095028197063618788494974000685869240421793851675551892503471313508157353889533093651320099197196865260390120912091898408725202524414311045391551368953412061071423806061621554592085424340742799216302058003 743412861663435845067758482839072481088544214565589622250314080554672745938338377728260411890191041294146960015181102224111657239892609707599881901158811472232956471245569259568622138461446672914873587882943292399026721876481463167736249354112037570207440663378549872319582784524404579844896995015371456193667471502343597028770040166332953649352340607924937854442691474348586441172020383755249245755008866180494523062646136365227280135282855297592025780393932546442173846146379246941632200326405042085245893777472261835493053317079996139819767885207321126018037788199039426967837111469161056796990023233411215939021019486826568155357116859951109788154659534852773804046564693063137823208286910049477374824983081330817232391610518519076596554734533780913458928940989740788057897696112067071766408136390025667545449002610364154983170671053101345659765311878050784275754534320812615161483266894492443908016550263526443641536522685335825493684656697470430785104716947969299785276552565971510289124535085565190518537037991237413050110397852737902606600571861503726848556711320527584031958449743061483013625533764360291862597911076262792861717031597069773614669000802061326428533960108054503183917477649077514931765502574706274660965266693812941828470866716517635382235454291032137545143747246570870721389716605081700374012943228252712292584909222323466090784549709006285230389339466224816714001598844641533498227783081978216638417281708332375095496034335275885103793189606192409414360422035137987601271022367914088199160864711314010988544767998694344372535417633515439619281059138388837697450470441391991621190378334082184048261021933567328281847432579889807195445455474066786462094852143500565349699516563363138190937692911006860999526315079486689839220457957603609121384136873875037841523356111709579480694530218595256660669567136612286261083513161291161555276893186029656049798424124097764733073181171412537053986311067474709362562538747244128200074571965891463478767979619491287049692079826393674448946724780002453508089520621968965687216168685718317937836561502642092892233004399087795602076541975048315330088642902641585779477888228520372429691787642966987421264818049170817746578273128596911977504480805021880908085084536765273773183524061823437480682119747555845862454563453789064254979277395693838221178964658020232181674036927362176851532194021811540043451786143258914136558467768794768114145159331420615378980369835782874957055207257041987790466092588536663066280449411108663916274094628081363244698499952028804924016060685255504609336865061442198051845545618246107426350967450507390505665652940588571470237119294534038971316004 1202867277845262889227575122398194698518283145538178044904679559991903432493464484210457560927344926965872230412562987536659633525431343967969939057678971978135524525492985742199203715004298854698486934728556169306036928631293668750463943871999918270648292657420269660738025286553564450390665809707043054681132753377783604846299036300470781565286871207579727693210667499633543434487731653454875524068578903946286436320192261610506658496100039614304493231577929630834017887276838771486372181068376199212081716132616380272960392873073083729083677616578424513910985599763436475753780847851411867471566103959883591778441092651937547855913392426267844508946341100925730125287306040119484165518942608865435357783522779578711122530118783459138830170054607623002719965104380830070684430818158625725910515018700910788822672964400748932290232778977054803262784305010549165456969414940812848532487451543830880884383905971856992940061438161539671456065836725674382178186349383046187108485863752108973054214777039046802536631497842217600647663150513640329024615863518488938903901767436179075980707558739954712474945529351602774990116090988965837620900515023331625498186743158655635766362493359582157054902130107776577095974378423935476856109223305003433415800625883621530287715405972576912761048208519538578666128767465332847162262400529398134702211677698476542290804141748316559783562626647659280284985580332304340395429490989220747474024427806031513793728556895443171302758343712693515861211571606905468250316157203723766143451848738271488412888774552598878590855955629862735516000426446966782251304404823670666691566048540815545148009388541674170530041074664859478206452332432142920668090487413037238191767635315916483679603916305215165885230554776039086149485510384566080212839215540862048088920089087171711506133457193203506512157877355055820142825674944977941013977753210564110044394082129608156614388374718877487719932303169525160184182385889357383720395431037717452119401467668097392608704606226772958611884566703956654497481846168987474399105802291473703089120082621441983789603914813365048263380847241966284897628925259895596557903462284621546011197667214847697116347929394458034165547610723204409346628708237811443716728756236930845643888641612875757003964317235464456677063180215852402547603995593286864867090189464466467497875630435457618876148179420756351102893814814007028089384342865982050707347651764855444229359757102418333894150235454105606578961066589222532306702243262784215808777565941589520598588033045680125023213257550515894730248956959850923254369959929291498977719920862568461929471714562143163555661460037333255273374007 1946280139508698734295333605237267179606827360103767667154993640546576178431802861938717972817535968260019190427744089760771290765323953675569820958837783450368480996738555001767825853465745527613360522611499461705063650507775131918200193226111955840855733320798819533057608071077969030235562804722414510874800224880127201875069076466803735214639211815504665547653358973982129875659752037210124769823587770126780959382838397975733938631382894911896519011971862177276191733423218018428004381394781241297327609910088642108453446190153079868903445501785745639929023387962475902721617959320572924268556127193294807717462112138764116011270509286218954297101000635778503929333870733182621988727229518914912732608505860909528354921729301978215426724789141403916178894045370570858742328514270692797676923155090936456368121967011113087273403450030156148922549616888599949732723949261625463693970718438323324792400456235383436581597960846875496949750493423144812963291066331015486893762416318080483343339312124611993055168535833455013697773548366378231631216435379992665752458478756706660012666008483016195488571063115963066852714002065228630482617546620401399112855743960716962194896453467636660238819607756854092027739880998641751517074489998816375244271492600139165669950860263609050306191955766109449387518484070414547536275343757650846994796586920800008381588691457322845013951966113884096998987179176945873893657274071198964112441709514363888889224591230719056406551533318885925275571993642043455851587179571637854342612713449585499401433542551293222963391373263378175135281485585355619948754875265062658312756426874897729196270410475241498811888507244749285401897787906209707130185339556537803541467151879279621870541609216222026884756869855525775988705968342169689334223352414737085930443445198881290986827987411798763172827444491668106403909188106269102569254646396593766094192506253705921347461555890290024773918614236999869546744924636601511920470003003608915598169447287588679658396686053166633060831291483959108005571366790956440086321970977192021026956644124084076681836919212452843865457389217014600227717568162537182337381350513141918440889454857814684537612747443628851912125883851801321324133189042833324624813840773696119417072165674699194484646436983020302539517743669641466802583272988980703088269154122486699679549667362819795727680373442567891146345600957265942225942810634776818821492811096276059608340126938201208851205442711147594369427159177759195372982692673892879725051660569670883843286532997708929947229318235771399339585822021293121306215505547537606404070888313075852435137367502731735025898579331867294244690011 3149147417353961623522908727635461878125110505641945712059673200538479610925267346149175533744880895225891420840307077297430924290755297643539760016516755428504005522231540743967029568470044382311847457340055631011100579139068800668664137098111874111504025978219089193795633357631533480626228614429457565555932978257910806721368112767274516779926083023084393240864026473615673310147483690665000293892166674073067395703030659586240597127482934526201012243549791808110209620700056789914376562463157440509409326042705022381413839063226163597987123118364170153840008987725912378475398807171984791740122231153178399495903204790701663867183901712486798806047341736704234054621176773302106154246172127780348090392028640488239477451848085437354256894843749026918898859149751400929426759332429318523587438173791847245190794931411862019563636229007210952185333921899149115189693364202438312226458169982154205676784362207240429521659399008415168405816330148819195141477415714061674002248280070189456397554089163658795591800033675672614345436698880018560655832298898481604656360246192885735993373567222970907963516592467565841842830093054194468103518061643733024611042487119372597961258946827218817293721737864630669123714259422577228373183713303819808660072118483760695957666266236185963067240164285648028053647251535747394698537744287048981697008264619276550672392833205639404797514592761543377283972759509250214289086765060419711586466137320395402682953148126162227709309877031579441136783565248948924101903336775361620486064562187856987814322317103892101554247328893240910651281912032322402200059280088733325004322475415713274344279799016915669341929581909608763608350120338352627798275826969575041733234787195196105550145525521437192769987424631564862138191478726735769547062567955599134019363534286053002492961444605002269684985321846723926546734863051247043583232399607157876138586588383314077961849930609167512493850917406525029730927310525958895640865434041326367717570914955686072267101292279939591672715858187915762503053212959943914485427773268665724116076726745526060471440834025817892128838236458980885125346493422432778895284812797763464452087122072662381653960676838086886077673494575005730670761897280644768341542597010626965060960807287574951488610754218484759216580923885493869350187268582267567955359343586953167177425297798277414603828552863324242249239415771272970315327153500758869528840462861131503837699884040619542745355678165253200948388225766981727679684935936677095533829226511260404441874566043389054970442575786287294069834778981144044560585465476829105381790809175644314364609082064874898581560039369200549518064018 5095427556862660357818242332872729057731937865745713379214666841085055789357070208087893506562416863485910611268051167058202215056079251319109580975354538878872486518970095745734855421935789909925207979951555092716164229646843932586864330324223829952359759299017908726853241428709502510861791419151872076430733203138038008596437189234078251994565294838589058788517385447597803185807235727875125063715754444199848355085869057561974535758865829438097531255521653985386401354123274808342380943857938681806736935952793664489867285253379243466890568620149915793769032375688388281197016766492557716008678358346473207213365316929465779878454410998705753103148342372482737983955047506484728142973401646695260823000534501397767832373577387415569683619632890430835077753195121971788169087846700011321264361328882783701558916898422975106837039679037367101107883538787749064922417313464063775920428888420477530469184818442623866103257359855290665355566823571964008104768482045077160896010696388269939740893401288270788646968569509127628043210247246396792287048734278474270408818724949592396006039575705987103452087655583528908695544095119423098586135608264134423723898231080089560156155400294855477532541345621484761151454140421218979890258203302636183904343611083899861627617126499795013373432120051757477441165735606161942234813088044699828691804851540076559053981524662962249811466558875427474282959938686196088182744039131618675698907846834759291572177739356881284115861410350465366412355558890992379953490516346999474828677275637442487215755859655185324517638702156619085786563397617678022148814155353795983317078902290611003540550209492157168153818089154358049010247908244562334928461166526112845274701939074475727420687134737659219654744294487090638126897447068905458881285920370336219949806979484934293479789432016801032857812766338392032950644051157516146152487046003751642232779094637019999309311486499457537267769531643524899277672235162560407561335437044935283315740362243274751925497978333106224733547149671874870508624579750900354571749744245857745143033370869610137153277753238270735994295625675995485353064061584969961232666163310905382892976576930477066191573424281715737989799378426807051994895086323478092966356437784323084478032972962274145973257191201505061756098667555135336152770541571248271043628497709439866856974965161097210331508926305892133395585016728538912541269964135535688350333273957407563446040010978820751596561120876400795317815384944740923052667628610569975258880887080931288285161099041097984917671894022058693409420601002437165866800971024366711785861697488720166799746449567606633607458618701067843762754029 8244574974216621981341151060508190935857048371387659091274340041623535400282337554237069040307297758711802032108358244355633139346834548962649340991871294307376492041201636489701884990405834292237055437291610723727264808785912733255528467422335704063863785277236997920648874786341035991488020033581329641986666181395948815317805302001352768774491377861673452029381411921213476495954719418540125357607921118272915750788899717148215132886348763964298543499071445793496610974823331598256757506321096122316146261995498686871281124316605407064877691738514085947609041363414300659672415573664542507748800589499651606709268521720167443745638312711192551909195684109186972038576224279786834297219573774475608913392563141886007309825425472852923940514476639457753976612344873372717595847179129329844851799502674630946749711829834837126400675908044578053293217460686898180112110677666502088146887058402631736145969180649864295624916758863705833761383153720783203246245897759138834898258976458459396138447490451929584238768603184800242388646946126415352942881033176955875065178971142478131999413142928958011415604248051094750538374188173617566689653669907867448334940718199462158117414347122074294826263083486115430275168399843796208263441916606455992564415729567660557585283392735980976440672284337405505494812987141909336933350832331748810388813116159353109726374357868601654608981151636970851566932698195446302471830804192038387285373984155154694255130887483043511825171287382044807549139124139941304055393853122361095314741837825299475030078176759077426071886031049859996437845309650000424348873435442529308321401377706324277884830008509072837495747671063966812618598028582914962726736993495687887007936726269671832970832660259096412424731719118655500265088925795641228428348488325935353969170513770987295972750876621803302542798088185115959497378914208763189735719445610909518371365683020334077271161417108625049761620449050049929008599545688519303202200871086261651033311277198960824192599270613045816406263007859790633011677792710844269057177517514523469259110097615136197624718587264088628123133862134976370478410555007402740127950976108668847345063699003139447845534101119802624067472873001812782665656983604122861307899034794950049538993780249849097461867945419989820972679591440629205502957810153515838998987841296393034034400262959374624935337479169216375644824432499811882856597117636294557879173736818539067283739895019440294341916799041653996266203610711722650732352564547247070792710113592191692727035665084487039888114469808345987479255379983581210427386436501195817167652506664364481164355531632481532189018658070268393280818047 13340002531079282339159393393380919993588986237133372470489006882708591189639407762324962546869714622197712643376409411413835354402913800281758921967225833186248978560171732235436740412341624202162263417243165816443429038432756665842392797746559534016223544576254906647502116215050538502349811452733201718417399384533986823914242491235431020769056672700262510817898797368811279681761955146415250421323675562472764105874768774710189668645214593402396074754593099778883012328946606406599138450179034804122883197948292351361148409569984650531768260358664001741378073739102688940869432340157100223757478947846124813922633838649633223624092723709898305012344026481669710022531271786271562440192975421170869736393097643283775142199002860268493624134109529888589054365539995344505764935025829341166116160831557414648308628728257812233237715587081945154401100999474647245034527991130565864067315946823109266615153999092488161728174118718996499116949977292747211351014379804215995794269672846729335879340891740200372885737172693927870431857193372812145229929767455430145473997696092070528005452718634945114867691903634623659233918283293040665275789278172001872058838949279551718273569747416929772358804429107600191426622540265015188153700119909092176468759340651560419212900519235775989814104404389162982935978722748071279168163920376448639080617967699429668780355882531563904420447710512398325849892636881642390654574843323657062984281830989913985827308626839924795941032697732510173961494683030933684008884369469360570143419113462741962245834036414262750589524733206479082224408707267678446497687590796325291638480279996935281425380218001230005649565760218324861628845936827477297655198160021800732282638665344147560391519794996755632079476013605746138391986372864546687309634408696271573918977493255921589452540308638604335400610854523507992448022965366279335888206491614661160604144777657354076580472903608082587029389980693574828286271780851079710763536308131196934349051639442235576118097248946152041139810157531665503520302372461744623628927261760381214402143468484746334777996340502359364117429487810971855831474616592372701360617139419574230238040275933616514037107525401518362057272251428619834660552069927600954274255472579273134017026753212123243435125136621494882728778258995764541655728351724764110042616339005832900891375228120471835266846405475108509040409449228350795397867081771830246229507010775946630729779905998261045938477919918054791584018995656463573785020193157817046051591000673122981012196764125585024805786363830404680888675980986018376294187407525562528953514204153084647964101981200088165796477276771336237043572076 21584577505295904320500544453889110929446034608521031561763346924332126589921745316562031587177012380909514675484767655769468493749748349244408262959097127493625470601373368725138625402747458494399318854534776540170693847218669399097921265168895238080087329853491904568150991001391574493837831486314531360404065565929935639232047793236783789543548050561935962847280209290024756177716674564955375778931596680745679856663668491858404801531563357366694618253664545572379623303769938004855895956500130926439029459943791038232429533886590057596645952097178087688987115102516989600541847913821642731506279537345776420631902360369800667369731036421090856921539710590856682061107496066058396737412549195646478649785660785169782452024428333121417564648586169346343030977884868717223360782204958671010967960334232045595058340558092649359638391495126523207694318460161545425146638668797067952214203005225741002761123179742352457353090877582702332878333131013530414597260277563354830692528649305188732017788382192129957124505775878728112820504139499227498172810800632386020539176667234548660004865861563903126283296151685718409772292471466658231965442948079869320393779667479013876390984094539004067185067512593715621701790940108811396417142036515548169033175070219220976798183911971756966254776688726568488430791709889980616101514752708197449469431083858782778506730240400165559029428862149369177416825335077088693126405647515695450269655815145068680082439514322968307766203985114554981510633807170874988064278222591721665458160951288041437275912213173340176661410764256339078662254016917678870846561026238854599959881657703259559310210226510302843145313431282291674247443965410392260381935153517488619290575391613819393362352455255852044504207732724401638657075298660187915737982897022206927888148007026908885425291185260407637943408942708623951945401879575042525623925937225570678975510460677688153851634320716707636791010429743624757294871326539599013965737179217458585382362916641196400310696519559197857546073165391456136531980165172588892686104779274904683661253566099882532402714927766447992240563349945948226309885171599775441488568115528243077583103974936755961882641626521320986124745124430432617326209053531723815582154507374223183556020533461972340896993082041484703701457850436393747158686161878279949041604180302225934925775491079846460202183884644324884685233881728162678254464199408124804108680747594485698013519801017701340280394718959708787850222606368186224517372757705064116844301114265314673739232429210072064693900833638750668367931360969599586721573844026758346121166710817449129128457512832569697985495934841604630324390123 34924580036375186659659937847270030923035020845654404032252353807040717779561153078886994134046727003107227318861177067183303848152662149526167184926322960679874449161545100960575365815089082696561582271777942356614122885651426064940314062915454772096310874429746811215653107216442112996187642939047733078821464950463922463146290284472214810312604723262198473665179006658836035859478629711370626200255272243218443962538437266568594470176777950769090693008257645351262635632716544411455034406679165730561912657892083389593577943456574708128414212455842089430365188841619678541411280253978742955263758485191901234554536199019433890993823760130989161933883737072526392083638767852329959177605524616817348386178758428453557594223431193389911188782695699234932085343424864061729125717230788012177084121165789460243366969286350461592876107082208468362095419459636192670181166659927633816281518952048850269376277178834840619081264996301698831995283108306277625948274657367570826486798322151918067897129273932330330010242948572655983252361332872039643402740568087816166013174363326619188010318580198848241150988055320342069006210754759698897241232226251871192452618616758565594664553841955933839543871941701315813128413480373826584570842156424640345501934410870781396011084431207532956068881093115731471366770432638051895269678673084646088550049051558212447287086122931729463449876572661767503266717971958731083780980490839352513253937646134982665909748141162893103707236682847065155472128490201808672073162592061082235601580064750783399521746249587602927250935497462818160886662724185357317344248617035179891598361937700194840735590444511532848794879191500616535876289902237869558037133313539289351573214056957966953753872250252607676583683746330147777049061671524734603047617305718478501807125500282830474877831493899011973344019797232131944393424844941321861512132428840231839579655238335042230432107224324790223820400410437199585581143107390678724729273487348655519731414556083431976428793768505349898685883322923121640052282537634333516315032041035285898063397034584628867180711268268807356357992837756920082141359788192148142849185254947817307821144250870372475919749151922839348182017375859052451986761123459324769856409979953496317573047286674095584332118218662979586430236109432158288814414513603044059084220519308058835817150719200318295469030290119433393725643330956513473652331281179955050338187758370432328743299707015962386218872638877763579434241602024649798302392950862881162895892114938437654751429193335657089499687197469155349256607341955617963015761251552320875074680914970533777092559494032657863781973211612940867367962199 56509157541671090980160482301159141852481055454175435594015700731372844369482898395449025721223739384016741994345944722952772341902410498770575447885420088173499919762918469685713991217836541190960901126312718896784816732870095464038235328084350010176398204283238715783804098217833687490025474425362264439225530516393858102378338077708998599856152773824134436512459215948860792037195304276326001979186868923964123819202105758426999271708341308135785311261922190923642258936486482416310930363179296657000942117835874427826007477343164765725060164553020177119352303944136668141953128167800385686770038022537677655186438559389234558363554796552080018855423447663383074144746263918388355915018073812463827035964419213623340046247859526511328753431281868581275116321309732778952486499435746683188052081500021505838425309844443110952514498577334991569789737919797738095327805328724701768495721957274591272137400358577193076434355873884401164873616239319808040545534934930925657179326971457106799914917656124460287134748724451384096072865472371267141575551368720202186552351030561167848015184441762751367434284207006060478778503226226357129206675174331740512846398284237579471055537936494937906728939454295031434830204420482637980987984192940188514535109481090002372809268343179289922323657781842299959797562142528032511371193425792843538019480135416995225793816363331895022479305434811136680683543307035819776907386138355047963523593461280051345992187655485861411473440667961620136982762297372683660137440814652803901059741016038824836797658462760943103912346261719157239548916741103036188190809643274034491558243595403454400045800671021835691940192622782908210123733867648261818419068467056777970863789448571786347116224705508459721087891479054549415706136970184922518785600202740685429695273507309739360303122679159419611287428739940755896338826724516364387136058366065802518555165699012730384283741545041497860611410840180824342876014433930277738695010666566114105113777472724628376739490288064547756231956488314577776584262702806922409001136820310190581724650600684511399583426196035255348598556187702868308451244959791923584337753370476060385404248225807128437802390778444160334306762500289485069312970176991048585438564487327719501129067820136067925229111300704464290131693959868552035973100675481324008125824699610284770742926210280164755671214174763758278410877212684676151906795480588079854446868505964918026756819508033663726499267357837472367284464208392836022819765708567945279740193229203752328490661622545729154193588031107906017624538702925217549737335095579079221195847625787982906221017006865227561767469146454545497692352322 91433737578046277639820420148429172775516076299829839626268054538413562149044051474336019855270466387123969313207121790136076190055072648296742632811743048853374368924463570646289357032925623887522483398090661253398939618521521528978549390999804782272709078712985526999457205434275800486213117364409997518046995466857780565524628362181213410168757497086332910177638222607696827896673933987696628179442141167182567781740543024995593741885119258904876004270179836274904894569203026827765964769858462387562854775727957817419585420799739473853474377008862266549717492785756346683364408421779128642033796507729578889740974758408668449357378556683069180789307184735909466228385031770718315092623598429281175422143177642076897640471290719901239942213977567816207201664734596840681612216666534695365136202665810966081792279130793572545390605659543459931885157379433930765508971988652335584777240909323441541513677537412033695515620870186099996868899347626085666493809592298496483666125293609024867812046930056790617144991673024040079325226805243306784978291936808018352565525393887787036025503021961599608585272262326402547784713980986056026447907400583611705299016900996145065720091778450871746272811395996347247958617900856464565558826349364828860037043891960783768820352774386822878392538874958031431164332575166084406640872098877489626569529186975207673080902486263624485929182007472904183950261278994550860688366629194400476777531107415034011901935796648754515180677350808685292454890787574492332210603406713886136661321080789608236319404712348546031163281759181975400435579465288393505535058260309214383156605533103649240781391115533368540735071814283524746000023769886131376456201780596067322437003505529753300870096955761067397671575225384697192755198641709657121833217508459163931502399007592569835180954173058431584631448537172887840732251569457686248648190794906034358134820937347772614715848769366288084431811250618023928457157541320956463424284153914769624845192028808060353168284056569897654917839811237699416636545240441255925316168861345476479788047635269140266764137464304062704956549025459788390592604747984071727186938625423877693225392476677500913722139930366999682488779876148537521299731300450373355294974467281215818702115106810163509561229519367443876561930069300710324787515189084368067210045218918343606560076929480483051140244464883191672136520543641189625559126761768034904785056264335350355500119215049626112718139996715235946718705810417485821122158659430826442636085344142189983242090815881386243693275228577061366881146044880835512753096347131400096270528540758516683313576500897885425549442358067486365060314521 147942895119717368619980902449588314627997131754005275220283755269786406518526949869785045576494205771140711307553066513088848531957483147067318080697163137026874288687382040332003348250762165078483384524403380150183756351391616993016784719084154792449107282996224242783261303652109487976238591789772261957272525983251638667902966439890212010024910270910467346690097438556557619933869238264022630158629010091146691600942648783422593013593460567040661315532102027198547153505689509244076895133037759044563796893563832245245592898142904239578534541561882443669069796729893014825317536589579514328803834530267256544927413317797903007720933353235149199644730632399292540373131295689106671007641672241745002458107596855700237686719150246412568695645259436397482317986044329619634098716102281378553188284165832471920217588975236683497905104236878451501674895299231668860836777317377037353272962866598032813651077895989226771949976744070501161742515586945893707039344527229422140845452265066131667726964586181250904279740397475424175398092277614573926553843305528220539117876424448954884040687463724350976019556469332463026563217207212413155654582574915352218145415185233724536775629714945809653001750850291378682788822321339102546546810542305017374572153373050786141629621117566112800716196656800331390961894717694116918012065524670333164589009322392202898874718849595519508408487442284040864633804586030370637595752767549448440301124568695085357894123452134615926654118018770305429437653084947175992348044221366690037721062096828433073117063175109489135075628020901132639984496206391429693725867903583248874714849128507103640827191786555204232675264437066432956123757637534393194875270247652845293300792954101539647986321661269527118759466704439246608461335611894579640618817711199849361197672514902309195484076852217851195918877277113643737071078293974050635784249160971836876689986636360502998999590314407785945043222090798848271333171975251234202119294820480883729958969501532688729907774344634445411149796299552277193220807943248178334317305681655667061512698235953651666347563660339318053555105213162656699043849707775995311524691995899938078629640702484629351524530708811160016795542376438022590612701477441421940733538954608935319831182926946231434790340820071908166693624029169262360760615864565692075335869918528628377303003139760647806811458639646949950547397756325865777465922242356114759231924770300268382256938723083289839217407354552708314003170018810321843941924367998771722376278573345942311732752438427115397886863259684967384505684747806053062490431442710479317466376166546499589534593507763112987316911504522031862752666843 239376632697763646259801322598017487403513208053835114846551809808199968667571001344121065431764672158264680620760188303224924722012555795364060713508906185880248657611845610978292705283687788966005867922494041403582695969913138521995334110083959574721816361709209769782718509086385288462451709154182259475319521450109419233427594802071425420193667767996800256867735661164254447830543172251719258338071151258329259382683191808418186755478579825945537319802281863473452048074892536071842859902896221432126651669291790062665178318942643713432008918570744710218787289515649361508681945011358642970837631037996835434668388076206571457078311909918218380434037817135202006601516327459824986100265270671026177880250774497777135327190440966313808637859237004213689519650778926460315710932768816073918324486831643438002009868106030256043295709896421911433560052678665599626345749306029372938050203775921474355164755433401260467465597614256601158611414934571979373533154119527918624511577558675156535539011516238041521424732070499464254723319082857880711532135242336238891683401818336741920066190485685950584604828731658865574347931188198469182102489975498963923444432086229869602495721493396681399274562246287725930747440222195567112105636891669846234609197265011569910449973891952935679108735531758362822126227292860201324652937623547822791158538509367410571955621335859143994337669449756945048584065865024921498284119396743848917078655676110119369796059248783370441834795369578990721892543872521668324558647628080576174382383177618041309436467887458035166238909780083108040420075671679823199260926163892463257871454661610752881608582902088572773410336251349957702123781407420524571331472028248912615737796459631292948856418617030594516431041929823943801216534253604236762452035219659013292700071522494879030665031025276282780550325814286531577803329863431736884432439955877871234824807573708275613715439083774074029475033341416872199790329516572190665543578974395653354804161530340749083076058401204343066067636110789976609857353183689434259633474543001143541300745871222791933111701124643380758511654238622445089636454455760067038711630621323815771855033179162130265246670639178159699284322252586560111912432777891795296028513421890151138533298033756394944351570339439352043255554098469972685548131053650060142545915137446971983863080069241130857951703104530141622683918299967055403025049004124149664016981034635618737757057938132915951935547351267944260721875829227807665064083027429598165012363917488132294974843254308501641580138488262028751386830792686888575243527789841879413736904707305016272848170008660998412866353862589518227812981364 387319527817481014879782225047605802031510339807840390066835565077986375186097951213906111008258877929405391928313254816313773253970038942431378794206069322907122946299227651310296053534449954044489252446897421553766452321304755515012118829168114367170923644705434012565979812738494776438690300943954521432592047433361057901330561241961637430218578038907267603557833099720812067764412410515741888496700161349475950983625840591840779769072040392986198635334383890671999201580582045315919755035933980476690448562855622307910771217085547953010543460132627153887857086245542376333999481600938157299641465568264091979595801394004474464799245263153367580078768449534494546974647623148931657107906942912771180338358371353477373013909591212726377333504496440611171837636823256079949809648871097452471512770997475909922227457081266939541200814133300362935234947977897268487182526623406410291323166642519507168815833329390487239415574358327102320353930521517873080572498646757340765357029823741288203265976102419292425704472467974888430121411360472454638085978547864459430801278242785696804106877949410301560624385200991328600911148395410882337757072550414316141589847271463594139271351208342491052276313096579104613536262543534669658652447433974863609181350638062356052079595009519048479824932188558694213088122010554318242665003148218155955747547831759613470830340185454663502746156892040985913217870451055292135879872164293297357379780244805204727690182700917986368488913388349296151330196957468844316906691849447266212103445274446474382553531062567524301314537800984240680404571878071252892986794067475712132586303790117856522435774688643777006085600688416390658247539044954917766206742275901757909038589413732832596842740278300121635190508634263190409677869865498816403070852930858862653897744037397188226149107877494133976469203091400175314874408157405787520216689116849708111514794210068778612715029398181859974518255432215720471123501491823424867662873794876537084763131031873437812983832745838788477217432410342253803078161126937612593950780224656810602813444107176443599459264784982698812066759451785101788680304163536062350236322617223753850484673881646759616771201347989319716079864629024582702525134255333217236762052376499086458364480960702626379141911159511260209949178127639235046308746918215752217881785055975600361166083209001778664763161744177091573231316056292921180490971246480264423248905804935887120013996661216205791152954705820652574725045848038129509006007395428369887388642490834074606707595692735617039467001747946996135892515540492941637733959232552358731203280873851515862382763516424111400183265367111550090565648207 626696160515244661139583547645623289435023547861675504913387374886186343853668952558027176440023550087670072549073443119538697975982594737795439507714975508787371603911073262288588758818137743010495120369391462957349148291217894037007452939252073941892740006414643782348698321824880064901142010098136780907911568883470477134758156044033062850412245806904067860425568760885066515594955582767461146834771312607805210366309032400258966524550620218931735955136665754145451249655474581387762614938830201908817100232147412370575949536028191666442552378703371864106644375761191737842681426612296800270479096606260927414264189470211045921877557173071585960512806266669696553576163950608756643208172213583797358218609145851254508341100032179040185971363733444824861357287602182540265520581639913526389837257829119347924237325187297195584496524029722274368795000656562868113528275929435783229373370418440981523980588762791747706881171972583703478965345456089852454105652766285259389868607382416444738804987618657333947129204538474352684844730443330335349618113790200698322484680061122438724173068435096252145229213932650194175259079583609351519859562525913280065034279357693463741767072701739172451550875342866830544283702765730236770758084325644709843790547903073925962529568901471984158933667720317057035214349303414519567317940771765978746906086341127024042785961521313807497083826341797930961801936316080213634163991561037146274458435920915324097486241949701356810323708757928286873222740829990512641465339477527842386485828452064515691989998950025559467553447581067348720824647549751076092247720231368175390457758451728609404044357590732349779495936939766348360371320452375442337538214304150670524776385873364125545699158895330716151621550564087134210894404119103053165522888150517875946597815559892067256814138902770416757019528905686706892677738020837524404649129072727579346339601783777054226430468481955934003993288773632592670913831008395615533206452769272190439567292562214186896059891147043131543285068521132230412935514310627046853584254767657954144114189978399235532570965909626079570578413690407546878316758619296129388947953238547569622339707060808889882017871987167479415364186881611142814437567033225012532790565798389237596897778994459021323493481498950612253204732226109207731856877971865812360427700193422572345029163278242909522714864848707233195915234356259976583516020250604414087265886839571505857771054599349121743088502057088596835446921677265937174070090422857968052401006408322206901682438947044118681047140236209024887279346333179830212977487022394238144940185581156532135230933525085109813049619229701068318378629571 1014015688332725676019365772693229091466533887669515894980222939964172719039766903771933287448282428017075464477386697935852471229952633680226818301921044831694494550210300913598884812352587697054984372816288884511115600612522649552019571768420188309063663651120077794914678134563374841339832311042091302340503616316831535036088717285994700280630823845811335463983401860605878583359367993283203035331471473957281161349934872992099746293622660611917934590471049644817450451236056626703682369974764182385507548795003034678486720753113739619453095838835999017994501462006734114176680908213234957570120562174525019393859990864215520386676802436224953540591574716204191100550811573757688300316079156496568538556967517204731881355009623391766563304868229885436033194924425438620215330230511010978861350028826595257846464782268564135125697338163022637304029948634460136600710802552842193520696537060960488692796422092182234946296746330910805799319275977607725534678151413042600155225637206157732942070963721076626372833677006449241114966141803802789987704092338065157753285958303908135528279946384506553705853599133641522776170227979020233857616635076327596206624126629157057881038423910081663503827188439445935157819965309264906429410531759619573452971898541136282014609163910991032638758599908875751248302471313968837809982943919984134702653634172886637513616301706768470999829983233838916875019806767135505770043863725330443631838216165720528825176424650619343178812622146277583024552937787459356958372031326975108598589273726510990074543530012593083768867985382051589401229219427822328985234514298843887523044062241846465926480132279376126785581537628182739018618859497330360103744956580052428433814975287096958142541899173630837786812059198350324620572273984601869568593741081376738600495559597289255482963246780264550733488731997086882207552146178243311924865818189577287457854395993845832839145497880137793978511544205848313142037332500219040400869326564148727524330423594087624709043723892881920020502500931474484216013675437564659447535034992314764746927634085575679132030230694608778382645173142192648666997062782832191739184275855771323472824380942455649498789073335156799131444051510635725516962701288558229769552618174888324055262259955161647702635392658461872463153910353748442778165624890081564578309485249398172706195246487244688187478026592884324769146550412552897764006991497084678510514792644507392977785051260565327534241456762909249410171967525304066683076097818286337939789648899156281508390034639779735720514141984156021023171861873672771850711446254946596876143466455008047997613697041509221213232884596812618408944277778 1640711848847970337158949320338852380901557435531191399893610314850359062893435856329960463888305978104745537026460141055391169205935228418022257809636020340481866154121374175887473571170725440065479493185680347468464748903740543589027024707672262250956403657534721577263376456388254906240974321140228083248415185200302012170846873330027763131043069652715403324408970621490945098954323576050664182166242786565086371716243905392358712818173280830849670545607715398962901700891531208091444984913594384294324649027150447049062670289141931285895648217539370882101145837767925852019362334825531757840599658780785946808124180334426566308554359609296539501104380982873887654126975524366444943524251370080365896775576663055986389696109655570806749276231963330260894552212027621160480850812150924505251187286655714605770702107455861330710193862192744911672824949291023004714239078482277976750069907479401470216777010854973982653177918303494509278284621433697577988783804179327859545094244588574177680875951339733960319962881544923593799810872247133125337322206128265856075770638365030574252453014819602805851082813066291716951429307562629585377476197602240876271658405986850521622805496611820835955378063782312765702103668074995143200168616085264283296762446444210207977138732812463016797692267629192808283516820617383357377300884691750113449559720514013661556402263228082278496913809575636847836821743083215719404207855286367589906296652086635852922662666600320699989136330904205869897775678617449869599837370804502950985075102178575505766533528962618643236421432963118938122053866977573405077482234530212062913501820693575075330524489870108476565077474567949087378990179949705802441283170884203098958591361160461083688241058068961553938433609762437458831466678103704922734116629231894614547093375157181322739777385683034967490508260902773589100229884199080836329514947262304866804193997777622887065575966362093727982504832979480905812951163508614655934075779333420917963897716156301811605103615039925051563787569452606714628949189748191706301119289759972718891041824063974914664601196604234857953223586832600195545313821402128321128132229094318893095164088003264539380806945322324278546808238392246868331400268321783242302343183973277561652160038949620669026128874157412484716358642579857650510022502861947376938737185442820745051224409765487597710192891441591557965061784768812874347523011747689092597780679484078898835556105859914449277329958819997846245618889202570003857146188241144305992190655307478488410072473586823854401561282220365045910451208206852602063688933277340835021083652036164580132844630566594331026282503826513686727322907349 2654727537180696013178315093032081472368091323200707294873833254814531781933202760101893751336588406121821001503846838991243640435887862098249076111557065172176360704331675089486358383523313137120463866001969231979580349516263193141046596476092450560020067308654799372178054590951629747580806632182319385588918801517133547206935590616022463411673893498526738788392372482096823682313691569333867217497714260522367533066178778384458459111795941442767605136078765043780352152127587834795127354888358566679832197822153481727549391042255670905348744056375369900095647299774659966196043243038766715410720220955310966201984171198642086695231162045521493041695955699078078754677787098124133243840330526576934435332544180260718271051119278962573312581100193215696927747136453059780696181042661935484112537315482309863617166889724425465835891200355767548976854897925483141314949881035120170270766444540361958909573432947156217599474664634405315077603897411305303523461955592370459700319881794731910622946915060810586692796558551372834914777014050935915325026298466331013829056596668938709780732961204109359556936412199933239727599535541649819235092832678568472478282532616007579503843920521902499459205252221758700859923633384260049629579147844883856749734344985346489991747896723454049436450867538068559531819291931352195187283828611734248152213354686900299070018564934850749496743792809475764711841549850351225174251719011698033538134868252356381747839091250940043167948953050483452922328616404909226558209402131478059583664375905086495841077058975211727005289418345170527523283086405395734062716748829055950436545882935421541257004622149484603350659012196131826397609039447036162545028127464255527392406336447558041830782957242592391725245668960787783452038952088306792302710370313271353147588934754470578222740632463299518223996992899860471307782030377324148254380765451882154262048393771468719904721464242231521961016377185329218954988496008833696334945105897569645488228139750389436314147338932806971584290070384081198844962865185756365748654324752287483637969458149550593796631427298843636335868759974792844212310884184960512867316504950090216567988468945720188879596018657481077678252289902882593848362969610341472071895802148165885707422298904782316728764266815874357179512552933606093288188127752028941517046670692218917757419656252732285897670918034475882734208335181365772111530003244773771108295472128586291813341157120479776811571415582907095655790856727874070540222286059430643931980304206634769918462508226603590122075424204521066933623070080525373914400379532287431897227118491172628130458327608103552239515388423326305136267185127 4295439386028666350337264413370933853269648758731898694767443569664890844826638616431854215224894384226566538530306980046634809641823090516271333921193085512658226858453049265373831954694038577185943359187649579448045098420003736730073621183764712810976470966189520949441431047339884653821780953322547468837333986717435559377782463946050226542716963151242142112801343103587768781268015145384531399663957047087453904782422683776817171929969222273617275681686480442743253853019119042886572339801952950974156846849303928776612061331397602191244392273914740782196793137542585818215405577864298473251319879736096913010108351533068653003785521654818032542800336681951966408804762622490578187364581896657300332108120843316704660747228934533380061857332156545957822299348480680941177031854812859989363724602138024469387868997180286796546085062548512460649679847216506146029188959517398147020836352019763429126350443802130200252652582937899824355888518845002881512245759771698319245414126383306088303822866400544547012759440096296428714587886298069040662348504594596869904827235033969284033185976023712165408019225266224956679028843104279404612569030280809348749940938602858101126649417133723335414583316004071466562027301459255192829747763930148140046496791429556697968886629535917066234143135167261367815336112548735552564584713303484361601773075200913960626420828162933027993657602385112612548663292933566944578459574298065623444431520338992234670501757851260743157085283954689322820104295022359096158046772935981010568739478083662001607610587937830370241710851308289465645336953382969139140198983359268013350047703628996616587529112019593079915736486764080913776599219396741964986311298348458626350997697608019125519024015311553945663679278723225242283505630192011715036826999545165967694682309911651900962518018146334485714505253802634060408011914576404984583895712714187021066242391549091606970297430604325249943521210164810124767939659517448352269020885230990563452125855906691247919250953972732023148077639836687913473912054933948072049773614512260202529011282213525508461232623903078494289092346807393039757624705587088833995448734044409109663152556948984728260402963979805356225060528295129462179763237932124714374238986121443447359582337854402985754893140973286841895871195513463743798210630613976318455783856135039662808644066018219883607863809476067440699270119950178646459053014992462863706076151612665190648897262980394226088901374402904941901409745930444074397368474300574949924170959514113258328534981813427444523636706424886112844074278287377975978089312809628266918310770527337208263302958174697883265797892249839991863590092476 6950166923209362363515579506403015325637740081932605989641276824479422626759841376533747966561482790348387540034153819037878450077710952614520410032750150684834587562784724354860190338217351714306407225189618811427625447936266929871120217659857163370996538274844320321619485638291514401402587585504866854426252788234569106584718054562072689954390856649768880901193715585684592463581706714718398617161671307609821437848601462161275631041765163716384880817765245486523606005146706877681699694690311517653989044671457410504161452373653273096593136330290110682292440437317245784411448820903065188662040100691407879212092522731710739699016683700339525584496292381030045163482549720614711431204912423234234767440665023577422931798348213495953374438432349761654750046484933740721873212897474795473476261917620334333005035886904712262381976262904280009626534745141989287344138840552518317291602796560125388035923876749286417852127247572305139433492416256308185035707715364068778945734008178037998926769781461355133705555998647669263629364900349004955987374803060927883733883831702907993813918937227821524964955637466158196406628378645929223847661862959377821228223471218865680630493337655625834873788568225830167421950934843515242459326911775031996796231136414903187960634526259371115670594002705329927347155404480087747751868541915218609753986429887814259696439393097783777490401395194588377260504842783918169752711293309763656982566388591348616418340849102200786325034237005172775742432911427268322716256175067459070152403853988748497448687646913042097247000269653459993168620039788364873202915732188323963786593586564418157844533734169077683266395498960212740174208258843778127531339425812714153743404034055577167349806972554146337388924947684013025735544582280318507339537369858437320842271244666122479185258650609634003938502246702494531715793944953729132838276478166069175328290785320560326875018894846556771904537587350139343722928155526282048603965991128560208940353995657080684233398292905538994732367710220769112318874920119704437798427939264547686166980740363076102257864051201922130624961106782185883969935589772049346862765238994499326231141025894704917139998982637286433903312818198012056028126207542466186446134788269609333067004636759185302483657407789161199075383748447069837086398758366005259972830526827258580566063722270952169505534727510543323433478455131544418570583018237236634814371623741251482462238420100874002900472789985812037557200602658318144937590760360005593856151263720748028246997490040031034645712130629407179777697348367903349892489692341915698815537889018509836393761285782801435505313280673166296999857277603 11245606309238028713852843919773949178907388840664504684408720394144313471586479992965602181786377174574954078564460799084513259719534043130791743953943236197492814421237773620234022292911390291492350584377268390875670546356270666601193838843621876181973009241033841271060916685631399055224368538827414323263586774952004665962500518508122916497107819801011023013995058689272361244849721860102930016825628354697275342631024145938092802971734385990002156499451725929266859858165825920568272034492264468628145891520761339280773513705050875287837528604204851464489233574859831602626854398767363661913359980427504792222200874264779392702802205355157558127296629062982011572287312343105289618569494319891535099548785866894127592545577148029333436295764506307612572345833414421663050244752287655462839986519758358802392904884084999058928061325452792470276214592358495433373327800069916464312439148579888817162274320551416618104779830510204963789380935101311066547953475135767098191148134561344087230592647861899680718315438743965692343952786647073996649723307655524753638711066736877277847104913251533690372974862732383153085657221750208628460230893240187169978164409821723781757142754789349170288371884229901633983978236302770435289074675705180136842727927844459885929521155795288181904737137872591295162491517028823300316453255218702971355759505088728220322860221260716805484058997579700989809168135717485114331170867607829280426997908930340851088842606953461529482119520959862098562537206449627418874302948003440080721143332072410499056298234850872467488711120961749458813956993171334012343114715547591977136641290193414774432062846188670763182131985724293653950807478240520092517650724161172780094401731663596292868830987865700283052604226407238268019050212472330222376364369403603288536953554577774380147776668755968489653007500505128592123805859530134117422172190880256196394533176869651933845316325450882021848058797514949468490867815043730400872986876359550772392479851563771932152649246878271017880445350057457025792786975053652509848201553776807888695992022576601610719096675105000624914053453589578923727560295359138180858213973038908435894293582843689645400401946617091790128373346493141518207889445474590900820373774391052780426586974613588288238550548762448040971254943960533580884609388979981578428614382962298243374707788289172053113398536986610764132748575081723065029636033229699498520447775353916673111135683081268228989374164388716979458610348588762219334959234660580543780322223234861286575532471853458479169348837054293292621771626655281325870579005151543965733848659545847044657064243957499318771111172923006288863447370079 18195773232447391077368423426176964504545128922597110674049997218623736098346321369499350148347859964923341618598614618122391709797244995745312153986693386882327401984022497975094212631128742005798757809566887202303295994292537596472314056503479039552969547515878161592680402323922913456626956124332281177689839563186573772547218573070195606451498676450779903915188774274956953708431428574821328633987299662307096780479625608099368434013499549706387037317216971415790465863312532798249971729182575986282134936192218749784934966078704148384430664934494962146781674012177077387038303219670428850575400081118912671434293396996490132401818889055497083711792921444012056735769862063720001049774406743125769866989450890471550524343925361525286810734196856069267322392318348162384923457649762450936316248437378693135397940770989711321310037588357072479902749337500484720717466640622434781604041945140014205198198197300703035956907078082510103222873351357619251583661190499835877136882142739382086157362429323254814423871437391634955973317686996078952637098110716452637372594898439785271661023850479355215337930500198541349492285600396137852307892756199564991206387881040589462387636092444975005162160452455731801405929171146285677748401587480212133638959064259363073890155682054659297575331140577921222509646921508911048068321797133921581109745934976542480019299614358500582974460392774289367069672978501403284083882160917592937409564297521689467507183456055662315807153757965034874304970117876895741590559123070899150873547186061158996504985881763914564735711390615209451982577032959698885546030447735915940923234876757832932276596580357748446448527484684506394125015737084298220048990149973886933837805765719173460218637960419846620441529174091251293754594794752648729715901739262040609379224799243896859333035319365602493591509747207623123839599804483863250260448669046325371722823962190212260720335220297438793752596384865088812213795970570012449476952867488110981332833847220852616386047539783810012612813060278226138111661895173356947646629493041355574862972762939677712976960726306922755539014560371764807697495885131187527720979212033407762125434608738394562540400929254378224031686164691153574236015653017057087266508562660662113493591611372773590722207956551609240046638692407603417971008147345986838401444909789556823940771510560124222618933264497154087566227030213267483600219051466936133334819399095168155573374103182142231889846954374529017015810951247080364272549995020586137636473486955609314822529961893489513815060967683700472399468975023184675763068697493459664549386548564356881050825529740300754276424453596172585863304647682 29441379541685419791221267345950913683452517763261615358458717612768049569932801362464952330134237139498295697163075417206904969516779038876103897940636623079820216405260271595328234924040132297291108393944155593178966540648808263073507895347100915734942556756912002863741319009554312511851324663159695500953426338138578438509719091578318522948606496251790926929183832964229314953281150434924258650812928017004372123110649754037461236985233935696389193816668697345057325721478358718818243763674840454910280827712980089065708479783755023672268193538699813611270907587036908989665157618437792512488760061546417463656494271261269525104621094410654641839089550506994068308057174406825290668343901063017304966538236757365678116889502509554620247029961362376879894738151762584047973702402050106399156234957137051937790845655074710380238098913809864950178963929858980154090794440692351245916481093719903022360472517852119654061686908592715067012254286458930318131614665635602975328030277300726173387955077185154495142186876135600648317270473643152949286821418371977391011305965176662549508128763730888905710905362930924502577942822146346480768123649439752161184552290862313244144778847234324175450532336685633435389907407449056113037476263185392270481686992103822959819676837849947479480068278450512517672138438537734348384775052352624552465505440065270700342159835619217388458519390353990356878841114218888398415053028525422217836562206452030318596026063009123845289273278924896972867507324326523160464862071074339231594690518133569495561284116614787032224422511576958910796534026131032897889145163283507918059876166951247706708659426546419209630659470408800048075823215324818312566640874135059713932207497382769753087468948285546903494133400498489561773645007224978952092266108665643897916178353821671239480811988121570983244517247712751715963405664013997367682620859926581568117357139059864194565651545748320815600655182380038280704663785613742850349939743847661753725313698784624548538696786662081030493258410335683163904448870227009457494831046818163463558964785516279323696057401411923380453068013961343731425056180490325708579193185072316198019728191582084207940802875871470014160059511184295092443905098491647988086882337051714893920178585986361878960758505314057281017893636368136998855617536325968416830059292751855067315479298849296275732331801483764851698975605294990548629855084696635631855267174449084828684509786263410460879221118763245996474421299835842583607509229681166681416795710190470601398062433746947992984409804737993765021240601678466001633647702645003630283235208110203925707889773697800073047535626519178874726752017761 47637152774132810868589690772127878187997646685858726032508714831391785668279122731964302478482097104421637315761690035329296679314024034621416051927330009962147618389282769570422447555168874303089866203511042795482262534941345859545821951850579955287912104272790164456421721333477225968478280787491976678643265901325152211056937664648514129400105172702570830844372607239186268661712579009745587284800227679311468903590275362136829670998733485402776231133885668760847791584790891517068215492857416441192415763905198838850643445862459172056698858473194775758052581599213986376703460838108221363064160142665330135090787668257759657506439983466151725550882471951006125043827036470545291718118307806143074833527687647837228641233427871079907057764158218446147217130470110746432897160051812557335472483394515745073188786426064421701548136502166937430081713267359464874808261081314786027520523038859917227558670715152822690018593986675225170235127637816549569715275856135438852464912420040108259545317506508409309566058313527235604290588160639231901923919529088430028383900863616447821169152614210244121048835863129465852070228422542484333076016405639317152390940171902902706532414939679299180612692789141365236795836578595341790785877850665604404120646056363186033709832519904606777055399419028433740181785360046645396453096849486546133575251375041813180361459449977717971432979783128279723948514092720291682498935189443015155246126503973719786103209519064786161096427036889931847172477442203418902055421194145238382468237704194728492066269998378701596960133902192168362779111059090731783435175611019423858983111043709080638985256006904167656079186955093306442200838952409116532615631024108946647770013263101943213306106908705393523935662574589740855528239801977627681808167847927684507295403153065568098813847307487173476836026994920374839803005468497860617943069528972906939840181101250076455285986766045759609353251567245127092918459756183755299826892611335772735058147546005477164924744326445891043106071470613909302016110765400366405141460539859519038421937548455957036673018127718846135992082574333108539122552065621513236300172397105723960145162800320478770481203805125848238191745675875448666679920751508705075353390899712377007413770197359135469682966461865666521064532328775740416826625683671955255231504202541411891256250809409420498351265065980918939265202635508258032230074136163571765190086573544252984257883889445552692769068073137775013490232251082922947880059224701752819053269197146079916220592395640437506799470772421694237420709576701650677396716400138463294832621756674560806758715303438100827323960080115351460590056665443 77078532315818230659810958118078791871450164449120341390967432444159835238211924094429254808616334243919933012924765452536201648830803073497519949867966633041967834794543041165750682479209006600380974597455198388661229075590154122619329847197680871022854661029702167320163040343031538480329605450651672179596692239463730649566656756226832652348711668954361757773556440203415583614993729444669845935613155696315841026700925116174290907983967421099165424950554366105905117306269250235886459256532256896102696591618178927916351925646214195728967052011894589369323489186250895366368618456546013875552920204211747598747281939519029182611061077876806367389972022458000193351884210877370582386462208869160379800065924405202906758122930380634527304794119580823027111868621873330480870862453862663734628718351652797010979632081139132081786235415976802380260677197218445028899055522007137273437004132579820249919143233004942344080280895267940237247381924275479887846890521771041827792942697340834432933272583693563804708245189662836252607858634282384851210740947460407419395206828793110370677281377941133026759741226060390354648171244688830813844140055079069313575492462765215950677193786913623356063225125826998672185743986044397903823354113850996674602333048467008993529509357754554256535467697478946257853923798584379744837871901839170686040756815107083880703619285596935359891499173482270080827355206939180080913988217968437373082688710425750104699235582073910006385700315814828820039984766529942062520283265219577614062928222328297987627554114993488629184556413769127273575645085221764681324320774302931777042987210660328345693915433450586865709846425502106490276662167733934845182271898244006361702220760484712966393575856990940427429795975088230417301884809202606633900433956593328405211581506887239338294659295608744460080544242633126555766411132511857985625690388899488507957538240309940649851638311794080424953906749625165373623123541797498150176832355183434488783461244790101713463441113107972073599329880949592465920559635627375862636291586677682501980902333972236360369075529130769516445150588294452270547608246111838944879365582178040158164890991902562978422006680997318252351805187059743759123825850000353063440273236764091901333948783345497348643724967179723802082425965143877415682243219997923672061563495293266958571730108258716774083596867464683790964178240803248580859929220860207397045353747993337812942393675708963153648289191901021009964653550918765531487568454382919500470064907336550517618654829387385499783880577159688002441950178380116679030364102783466925115856964784764732466605077135900900371495706634530335316808683204 124715685089951041528400648890206670059447811134979067423476147275551620906491046826393557287098431348341570328686455487865498328144827108118936001795296643004115453183825810736173130034377880903470840800966241184143491610531499982165151799048260826310766765302492331776584761676508764448807886238143648858239958140788882860623594420875346781748816841656932588617929047442601852276706308454415433220413383375627309930291200478311120578982700906501941656084440034866752908891060141752954674749389673337295112355523377766766995371508673367785665910485089365127376070785464881743072079294654235238617080346877077733838069607776788840117501061342958092940854494409006318395711247347915874104580516675303454633593612053040135399356358251714434362558277799269174328999091984076913768022505675221070101201746168542084168418507203553783334371918143739810342390464577909903707316603321923300957527171439737477477813948157765034098874881943165407482509562092029457562166377906480680257855117380942692478590090201973114274303503190071856898446794921616753134660476548837447779107692409558191846433992151377147808577089189856206718399667231315146920156460718386465966432634668118657209608726592922536675917914968363908981580564639739694609231964516601078722979104830195027239341877659161033590867116507379998035709158631025141290968751325716819616008190148897061065078735574653331324478956610549804775869299659471763412923407411452528328815214399469890802445101138696167482127352704760667212462208733360964575704459364815996531165926523026479693824113372190226144690315961295636354756144312496464759496385322355636026098254369408984679171440354754521789033380595412932477501120143051377797902922352953009472234023586656179699682765696333951365458549677971272830124611180234315708601804521012912506984659952807437108506603095917936916571237553501395569416601009718603568759917872395447797719341560017105137625077839840034307158316870292466541583297981253450003724966519207223841608790795578878388185439553863116705401351563501767936670401027742267777752126537201540402839882428193397042093656849615652437233162627560809670160311733352181179537979283764118310053792223041748903210486123166490543550862935192425803746601509058138793664136476468908747718980704632818326691429045390323146958293919617832508868903669878927293067697834678849827980917668137272434861933445602730229380876311506613090003357023779162235440321537590797200277565154515846417357265038796023454885802001688479367627679084672319523334104482630433839247225027823006583351349581382239862659755081767356427080502921930219948478721459325539225320380574001727695455786749881795906865348647 201794217405769272188211607008285461930897975584099408814443579719711456144702970920822812095714765592261503341611220940401699976975630181616455951663263276046083287978368851901923812513586887503851815398421439572804720686121654104784481646245941697333621426332194499096747802019540302929137491688795321037836650380252613510190251177102179434097528510611294346391485487646017435891700037899085279156026539071943150956992125594485411486966668327601107081034994400972658026197329391988841134005921930233397808947141556694683347297154887563514632962496983954496699559971715777109440697751200249114170000551088825332585351547295818022728562139219764460330826516867006511747595458225286456491042725544463834433659536458243042157479288632348961667352397380092201440867713857407394638884959537884804729920097821339095148050588342685865120607334120542190603067661796354932606372125329060574394531304019557727396957181162707378179155777211105644729891486367509345409056899677522508050797814721777125411862673895536918982548692852908109506305429204001604345401424009244867174314521202668562523715370092510174568318315250246561366570911920145960764296515797455779541925097433334607886802513506545892739143040795362581167324550684137598432586078367597753325312153297204020768851235413715290126334813986326255889632957215404886128840653164887505656765005255980941768698021171588691215978130092819885603224506598651844326911625379889901411503924825219995501680683212606173867827668519589487252446975263303027095987724584393610594094148851324467321378228365678855329246729730422909930401229534261146083817159625287413069085465029737330373086873805341387498879806097519422754163287876986222980174820596959371174454784071369146093258622687274378795254524766201690132009420382840949609035761114341317718566166840046775403165898704662396997115480186627951335827733521576589194450306771883955755257581869957754989263389633920459261065066495457840164706839778751600180557321702641712625070035585680591851626552661835190304731232513094233857230036655118130414043713214884042383742216400429757411169185980385168882383750922013080217768557845191126058903561461804276474944784125604727325217167120484742895356049994936184927572451509411202233937373240560810081667764050130166970416396225114125229384259063495248191112123667802599354631193127945808399711025926854046518458800910286521193559117114755193949932577883986559280794069530928610142671240863479000065646456939817033419539352920454010855196133467591819993399011819180951457902054415208506367231926741070242304609933461884035457444605705397145064335686244090271691925457709902628066951493384412131223674031851 326509902495720313716612255898492131990345786719078476237919726995263077051194017747216369382813196940603073670297676428267198305120457289735391953458559919050198741162194662638096942547964768407322656199387680756948212296653154086949633445294202523644388191634686830873332563696049067377945377926938969896076608521041496370813845597977526215846345352268226935009414535088619288168406346353500712376439922447570460887283326072796532065949369234103048737119434435839410935088389533741795808755311603570692921302664934461450342668663560931300298872982073319624075630757180658852512777045854484352787080897965903066423421155072606862846063200562722553271681011276012830143306705573202330595623242219767289067253148511283177556835646884063396029910675179361375769866805841484308406907465213105874831121843989881179316469095546239648454979252264282000945458126374264836313688728650983875352058475459295204874771129320472412278030659154271052212401048459538802971223277584003188308652932102719817890452764097510033256852196042979966404752224125618357480061900558082314953422213612226754370149362243887322376895404440102768084970579151461107684452976515842245508357732101453265096411240099468429415060955763726490148905115323877293041818042884198832048291258127399048008193113072876323717201930493706253925342115846430027419809404490604325272773195404878002833776756746242022540457086703369690379093806258123607739835032791342429740319139224689886304125784351302341349955021224350154464909183996663991671692183949209607125260075374350947015202341737869081473937045691718546285157373846757610843313544947643049095183719399146315052258314160095909287913186692932355231664408020037600778077742949912380646688807658025325792941388383608330160713074444172962962134031563075265317637565635354230225550826792854212511672501800580333913686717740129346905244334531295192763210224644279403552976923429974860126888467473760493568223383365750306706290137760005050184282288221848936466678826381259470239811992215698307010132584076596001793900437682860398191795839752085582786582098828623154453262842830000821319616913549573889887928869578543307238441540745568394784998576348646476228427653243651233438906912930128610731319053018469341027601509717029718829386744754762985297107825270504448376342552983113080699981027337681526647698890962624658227691943594991318953320734355889251422939993426261807039935934907765721516234391068519407342948806017994846483003721978613056874425154922142490222823812552264139516733116301811385297149279443031512950583276322452482167269688543651391884525108627327365012814407703415810917245838283904355762407280134293927130539380498 528304119901489585904823862906777593921243762303177885052363306714974533195896988668039181478527962532864577011908897368668898282096087471351847905121823195096282029140563514540020755061551655911174471597809120329752932982774808191734115091540144220978009617966881329970080365715589370307082869615734290933913258901294109881004096775079705649943873862879521281400900022734636724060106384252585991532466461519513611844275451667281943552916037561704155818154428836812068961285718925730636942761233533804090730249806491156133689965818448494814931835479057274120775190728896435961953474797054733466957081449054728399008772702368424885574625339782487013602507528143019341890902163798488787086665967764231123500912684969526219714314935516412357697263072559453577210734519698891703045792424750990679561041941811220274464519683888925513575586586384824191548525788170619768920060853980044449746589779478852932271728310483179790457186436365376696942292534827048148380280177261525696359450746824496943302315437993046952239400888895888075911057653329619961825463324567327182127736734814895316893864732336397496945213719690349329451541491071607068448749492313298025050282829534787872983213753606014322154203996559089071316229666008014891474404121251796585373603411424603068777044348486591613843536744480032509814975073061834913548650057655491830929538200660858944602474777917830713756435216796189575982318312856775452066746658171232331151823064049909881805806467563908515217782689743939641717356159259967018767679908533603217719354224225675414336580570103547936803183775422141456215558603381018756927130704572930462164269184428883645425345187965437296786792992790451777985827695897023823758252563546871751821143591729394471886200011070882708955967599210374653094143451945916214926673326749695547944116993632900987914838400505242730910802197926757298241072068052871781957660531416163359308234505299932615116151857107680952829288449861208146870996977538756650364839609924490649091748861966940062091438544877533497314863816589690235651130474337978528605839552966969625170324315229052911864432028810385990202000664471586970105697427423734433297345102207372671259943360474251203553644820364135976334262962925064795658891504527880543261538882957590528911054508804893152267524221495618573605726812046608328891093151005484126002330084090570466627402969521845365471779535266175772616499110541017000989868512791752280797028460599448017485620046881473846548650178918430090293964507842596501078019946019855959510132128120992336755051333858240019317815203063522724471879622005535427341969714332724510077150093947506082609171295993806983829358773518706058354213412349 854814022397209899621436118805269725911589549022256361290283033710237610247091006415255550861341159473467650682206573796936096587216544761087239858580383114146480770302758177178117697609516424318497127797196801086701145279427962278683748536834346744622397809601568160843412929411638437685028247542673260829989867422335606251817942373057231865790219215147748216410314557823256012228512730606086703908906383967084072731558777740078475618865406795807204555273863272651479896374108459472432751516545137374783651552471425617584032634482009426115230708461130593744850821486077094814466251842909217819744162347020631465432193857441031748420688540345209566874188539419032172034208869371691117682289209983998412568165833480809397271150582400475753727173747738814952980601325540376011452699889964096554392163785801101453780988779435165162030565838649106192493983914544884605233749582631028325098648254938148137146499439803652202735217095519647749154693583286586951351503454845528884668103678927216761192768202090556985496253084938868042315809877455238319305525225125409497081158948427122071264014094580284819322109124130452097536512070223068176133202468829140270558640561636241138079624993705482751569264952322815561465134781331892184516222164135995417421894669552002116785237461559467937560738674973738763740317188908264940968459462146096156202311396065736947436251534664072736296892303499559266361412119114899059806581690962574760892142203274599768109932251915210856567737710968289796182265343256631010439372092482812824844614299600026361351782911841417018277120821113860002500715977227776367770444249520573511259452903828029960477603502125533206074706179483384133217492103917061424536330306496784132467832399387419797679141399454491039116680673654547616056277483508991480244310892385049778169667820425755200426510902305823064824488915666886645146316402584166974720870756060442762861211428729907475243040324581441446397511833226958453577287115298761700549121898146339585558427688348199532331250537093231804324996400666286237445030912020838926797635392719055207956906414057676066317694871640386811521617578021160859993626297002277740535786642952941066044941936822897679782072473607787209773169875855193406390210557546349884289140392674620247740441253559656137564632046766123021982069365029721409591074178343165652650028975053195124855094913116836684425100269622065024039439103967278808029804447699518002313262851667967424828568852899468693031653900897043147168389662764738991300843758572120099026865244422803722052200613301271532268398479385975206639149310549186819226494822960051875089964501650921893526417134277711339591766053652999985484752792847 1383118142298699485526259981712047319832833311325434246342646340425212143442987995083294732339869122006332227694115471165604994869312632232439087763702206309242762799443321691718138452671068080229671599395005921416454078262202770470417863628374490965600407427568449490813493295127227807992111117158407551763903126323629716132822039148136937515734093078027269497811214580557892736288619114858672695441372845486597684575834229407360419171781444357511360373428292109463548857659827385203069694277778671178874381802277916773717722600300457920930162543940187867865626012214973530776419726639963951286701243796075359864440966559809456633995313880127696580476696067562051513925111033170179904768955177748229536069078518450335616985465517916888111424436820298268530191335845239267714498492314715087233953205727612321728245508463324090675606152425033930384042509702715504374153810436611072774845238034417001069418227750286831993192403531885024446096986118113635099731783632107054581027554425751713704495083640083603937735653973834756118226867530784858281130988549692736679208895683242017388157878826916682316267322843820801426988053561294675244581951961142438295608923391171029011062838747311497073723468948881904632781364447339907075990626285387792002795498080976605185562281810046059551404275419453771273555292261970099854517109519801587987131849596726595892038726312581903450053327520295748842343730431971674511873328349133807092043965267324509649915738719479119371785520400712229437899621502516598029207052001016416042563968523825701775688363481944964955080304596536001458716274580608795124697574954093503973423722088256913605902948690090970502861499172273835911203319799814085248294582870043655884288975991116814269565341410525373748072648272864922269150420935454907695170984219134745326113784814058656188341349302811065795735291113593643943387388470637038756678531287476606122169445934029840090359192181689122399226800283088166600448284092837518350913961508070830234650176550315139594422689081970765301639860217255976473096161386358817455403474945686024833127230729286728978182126900450772801723618242492747830099323724426012173833131745160313737304885297297148883335717293971923186107432838780258202049102062074230427550679275632210776651495762364549289832156268261741595587796177076329738482167329348649778652359059143765591482497882638682049896879804888240796655938214508295809019672960491270283110291312267415442314188899780942539580304079815473237462354170607335492378863704591976058536997372543796058807251947159511551586213682449497931111028932554722246568464537292776385167114595598427976135588430271518323421124827171706043838966205196 2237932164695909385147696100517317045744422860347690607632929374135449753690079001498550283201210281479799878376322044962541091456529176993526327622282589423389243569746079868896256150280584504548168727192202722503155223541630732749101612165208837710222805237170017651656906224538866245677139364701080812593892993745965322384639981521194169381524312293175017714221529138381148748517131845464759399350279229453681757307393007147438894790646851153318564928702155382115028754033935844675502445794323808553658033354749342391301755234782467347045393252401318461610476833701050625590885978482873169106445406143095991329873160417250488382416002420472906147350884606981083685959319902541871022451244387732227948637244351931145014256616100317363865151610568037083483171937170779643725951192204679183788345369513413423182026497242759255837636718263683036576536493617260388979387560019242101099943886289355149206564727190090484195927620627404672195251679701400222051083287086952583465695658104678930465687851842174160923231907058773624160542677408240096600436513774818146176290054631669139459421892921496967135589431967951253524524565631517743420715154429971578566167563952807270149142463741016979825292733901204720194246499228671799260506848449523787420217392750528607302347519271605527488965014094427510037295609450878364795485568981947684143334160992792332839474977847245976186350219823795308108705142551086573571679910040096381852936107470599109418025670971394330228353258111680519234081886845773229039646424093499228867408582823425728137040146393786381973357425417649861461216990557836571492468019203614077484683174992084943566380552192216503708936205351757220044420811903731146672830913176540440016756808390504234067244482809979864787189328946519469885206698418963899175415295111519795104283452634484411388767860205116888860559780029260530588533704873221205731399402043537048885030657362759747565602232506270563845624312116315125054025571208136280051463083406217169820208604238663339126753939619063997105964856617922262710541192298379656382201110338405080041084137143344405044499821772091159613245235820513908690092950021428289914368918388113254803349827234120046563117789767579710395880602714635451608439312619620580311839819668306831024391937015924205427396788315027864617569865542106051148073241507691815431302388034196960716337592795755518734321980074510305820695377318475574617049477408190788285423554163935382867142757752680411232611957980712516384630743833372074483679707463164096157563862616966599780859452560460783083854612161835473137750178243103909065794959360252828260257079097249349869662005564549229663012890880824706029323718998043 3621050306994608870673956082229364365577256171673124853975575714560661897133066996581845015541079403486132106070437516128146086325841809225965415385984795732632006369189401560614394602951652584777840326587208643919609301803833503219519475793583328675823212664738467142470399519666094053669250481859488364357796120069595038517462020669331106897258405371202287212032743718939041484805750960323432094791652074940279441883227236554799313962428295510829925302130447491578577611693763229878572140072102479732532415157027259165019477835082925267975555796341506329476102845916024156367305705122837120393146649939171351194314126977059945016411316300600602727827580674543135199884430935712050927220199565480457484706322870381480631242081618234251976576047388335352013363273016018911440449684519394271022298575241025744910272005706083346513242870688716966960579003319975893353541370455853173874789124323772150275982954940377316189120024159289696641348665819513857150815070719059638046723212530430644170182935482257764860967561032608380278769544939024954881567502324510882855498950314911156847579771748413649451856754811772054951512619192812418665297106391114016861776487343978299160205302488328476899016202850086624827027863676011706336497474734911579423012890831505212487909801081651587040369289513881281310850901712848464650002678501749272130466010589518928731513704159827879636403547344091056951048872983058248083553238389230188944980072737923619067941409690873449600138778512392748671981508348289827068853476094515644909972551347251429912728509875731346928437730014185862919933265138445366617165594157707581458106897080341857172283500882307474211797704524031055955624131703545231921125496046584095901045784381621048336809824220505238535261977219384392154357119354418806870586279330654540430397237448543067577109209507927954656295071142854174531921093343858244488077933331013655007200103296789587655961424687959686244851112399403291654473855300973798402377044914288000054858780788978478721176628701034762407604716835178239183637353684738473837604585284091104874211367872631134022681948672541932414968854063006656520192273745854302088202050133273568540654712531417195446453507061551633581988035553415709810488414681694810739390498943939041801043432778288754717228944583289606213157661719182380886555408837040465209954747093340726307820090678394200784218859879398546617351315532983870426069150368682058568533845476202798309456946652461353772192262060527989622093098003979409976058571167756072216100859989510395839666704507620294635440825844284971068861207175658631312363423897545604645424193692847777845797593994820747986434015707996412073162685203239 5858982471690518255821652182746681411321679032020815461608505088696111650823145998080395298742289684965931984446759561090687177782370986219491743008267385156021249938935481429510650753232237089326009053779411366422764525345464235968621087958792166386046017901908484794127305744204960299346389846560569176951689113815560360902102002190525276278782717664377304926254272857320190233322882805788191494141931304393961199190620243702238208753075146664148490230832602873693606365727699074554074585866426288286190448511776601556321233069865392615020949048742824791086579679617074781958191683605710289499592056082267342524187287394310433398827318721073508875178465281524218885843750838253921949671443953212685433343567222312625645498697718551615841727657956372435496535210186798555166400876724073454810643944754439168092298502948842602350879588952400003537115496937236282332928930475095274974733010613127299482547682130467800385047644786694368836600345520914079201898357806012221512418870635109574635870787324431925784199468091382004439312222347265051482004016099329029031789004946580296307001664669910616587446186779723308476037184824330162086012260821085595427944051296785569309347766229345456724308936751291345021274362904683505597004323184435366843230283582033819790257320353257114529334303608308791348146511163726829445488247483696956273800171582311261570988682007073855822753767167886365059754015534144821655233148429326570797916180208522728485967080662267779828492036624073267906063395194063056108499900188014873777381134170677158049768656269517728901795155431835724381150255696281938109633613361321658942790072072426800738664053074523977920733909875788276000044943607276378593956409223124535917802592772125282404054307030485103322451306165903862039563817773382706046001574442174335534680690083027478965877069713044843516854851172114705120454798217079450219477335374550703892230760659549335221563657194230250090475424515718416708499426509110078453840128320505169875067385027641817847930568320098759513569573453100501894178545983118130219805695622496184915295505015975539067181770444633092028214089883520565210285223767282592002570968521386823344004539765537242009571296829131343977868638268051161418927727301315391051230318612245872825435369794212960144625732898317470830727527261288432034628650344732280641257135127537687024157683474149719518540839953908852438046692851459445043118627776872846853957399640138181176599704405141765004804220041240506006723841837351484459738278630920168373664722606476995620526157068081077719295438006120444206611385418762540378158383257798432905681272790097127715459599559369977649446906588821118102486404201282 9480032778685127126495608264976045776898935203693940315584080803256773547956212994662240314283369088452064090517197077218833264108212795445457158394252180888653256308124882990125045356183889674103849380366620010342373827149297739188140563752375495061869230566646951936597705263871054353015640328420057541309485233885155399419564022859856383176041123035579592138287016576259231718128633766111623588933583379334240641073847480257037522715503442174978415532963050365272183977421462304432646725938528768018722863668803860721340710904948317882996504845084331120562682525533098938325497388728547409892738706021438693718501414371370378415238635021674111603006045956067354085728181773965972876891643518693142918049890092694106276740779336785867818303705344707787509898483202817466606850561243467725832942519995464913002570508654925948864122459641116970497694500257212175686470300930948448849522134936899449758530637070845116574167668945984065477949011340427936352713428525071859559142083165540218806053722806689690645167029123990384718081767286290006363571518423839911887287955261491453154581436418324266039302941591495363427549804017142580751309367212199612289720538640763868469553068717673933623325139601377969848302226580695211933501797919346946266243174413539032278167121434908701569703593122190072658997412876575294095490925985446228404266182171830190302502386166901735459157314511977422010802888517203069738786386818556759742896252946446347553908490353141229428630815136466016578044903542352883177353376282530518687353685517928587962497166145249075830232885446021587301083520834727304726799207519029240400896969152768657910947553956831452132531614399819331955669075310821610515081905269708631818848377153746330740864131250990341857713283385288254193920937127801512916587853772828875965077927531570546542986279220972798173149922314968879652375891560937694707555268705564358899430863956338922877525081882189936335326536915121708362973281810083876856217173234793169929926165816620296569107197021133521921174290288278741077815899667856604057410280906587289789506872888606673089863719117175024443182943946527221730477497513136894090773018654660391884659252296954437456024803890682977559856673821466871229416141983010201790620817556184914626478802572501714861854677481607077043885188980470812921184059181772745851211882220878413331977774152543920302759699833307399055398008384443315469187778145554905422491245116340979486056651057603118776996482101768495628816939841330894435796849798676240589765582595987391460192861575701372354736263850405415275472592594421171690521807155344037551105466482944905561257193554190725635880922296817530175649089404521 15339015250375645382317260447722727188220614235714755777192585891952885198779358992742635613025658773417996074963956638309520441890583781664948901402519566044674506247060364419635696109416126763429858434146031376765138352494761975156761651711167661447915248468555436730725011008076014652362030174980626718261174347700715760321666025050381659454823840699956897064541289433579421951451516571899815083075514683728201840264467723959275731468578588839126905763795653238965790343149161378986721311804955056304913312180580462277661943974813710498017453893827155911649262205150173720283689072334257699392330762103706036242688701765680811814065953742747620478184511237591572971571932612219894826563087471905828351393457315006731922239477055337483660031363301080223006433693389616021773251437967541180643586464749904081094869011603768551215002048593516974034809997194448458019399231406043723824255145550026749241078319201312916959215313732678434314549356861342015554611786331084081071560953800649793441924510131121616429366497215372389157393989633555057845575534523168940919076960208071749461583101088234882626749128371218671903586988841472742837321628033285207717664589937549437778900834947019390347634076352669314869576589485378717530506121103782313109473457995572852068424441788165816099037896730498864007143924040302123540979173469143184678066353754141451873491068173975591281911081679863787070556904051347891394019535247883330540812433154969076039875571015409009257122851760539284484108298736415939285853276470545392464734819688605746012265822414766804732028040877857311682233776531009242836432820880350899343687041225195458649611607031355430053265524275607607955714018918097989109038314492833167736650969925871613144918438281475445180164589551192116233484754901184218962589428215003211499758617614598025508863348934017641690004773487083584772830689778017144927032604080115062791661624615888258099088739076420186425801961430840125071472708319193955310057301555298339804993550844262114417037765341232281434743863741379242971994445650974734277215976529083474704802377904582212157045489561808116471397033830047786940762721280419486093343987176047215228663792062491679465596100719814321537725312089518032648343869284325592841851136168430787451914172366714675006480410379924547874612716241759244955812709526505026492469017348416100356135457626693639821300539787216251493444701235902760512306405922427752276448644756479160662656355462744883781800702143009001635540781678682378895535128429596408963430305202464387080719018643782450074031701856525859482083978013183712068680190413142470456786739273042033276716793113560703285327828885638648278135493605803 24819048029060772508812868712698772965119549439408696092776666695209658746735571987404875927309027861870060165481153715528353705998796577110406059796771746933327762555185247409760741465600016437533707814512651387107512179644059714344902215463543156509784479035202388667322716271947069005377670503400684259570659581585871159741230047910238042630864963735536489202828306009838653669580150338011438672009098063062442481338315204216313254184082031014105321296758703604237974320570623683419368037743483824323636175849384322999002654879762028381013958738911487032211944730683272658609186461062805109285069468125144729961190116137051190229304588764421732081190557193658927057300114386185867703454730990598971269443347407700838198980256392123351478335068645788010516332176592433488380101999211008906476528984745368994097439520258694500079124508234633944532504497451660633705869532336992172673777280486926198999608956272158033533382982678662499792498368201769951907325214856155940630703036966190012247978232937811307074533526339362773875475756919845064209147052947008852806364915469563202616164537506559148666052069962714035331136792858615323588630995245484820007385128578313306248453903664693323970959215954047284717878816066073929464007919023129259375716632409111884346591563223074517668741489852688936666141336916877417636470099454589413082332535925971642175993454340877326741068396191841209081359792568550961132805922066440090283708686101415423593784061368550238685753666897005301062153202278768822463206652753075911152088505206534333974762988560015880562260926323878898983317297365736547563232028399380139744584010377964116560559160988186882185797138675426939911383094228919599624120219762541799555499347079617943885782569532465787037877872936480370427405692028985731879177281987832087464836545146168572051849628154990439863154695802052464425206581338954839634587872785679421691092488572227180976613820958610122761128498345961833434445990129277832166274474790091509734919716660882410986144962362365803355918154029657984049810345318831338334626257435670764494309250793188885246909208678983140914579977776575008671240218793556380184117005830707607113323044359446116921620904610497299097581985910984903877760011267335794632471953724615702078392974939216389868335087861531624918497905222230057876996768708277772343680899569294513688113231779237560124060239620523650548842709620346075981494184067982657698939889872820140148713006520348002558797184244777497264357721520013273331331978228272649553195887798451778540911880219483822428767965706931274757556570607604883759201997568486508007892205755986938837973986667751428921208751182456178453784583010324 40158063279436417891130129160421500153340163675123451869969252587162543945514930980147511540334686635288056240445110353837874147889380358775354961199291312978002268802245611829396437575016143200963566248658682763872650532138821689501663867174710817957699727503757825398047727280023083657739700678381310977831833929286586920062896072960619702085688804435493386267369595443418075621031666909911253755084612746790644321602782928175588985652660619853232227060554356843203764663719785062406089349548438880628549488029964785276664598854575738879031412632738642943861206935833446378892875533397062808677400230228850766203878817902732002043370542507169352559375068431250500028872046998405762530017818462504799620836804722707570121219733447460835138366431946868233522765869982049510153353437178550087120115449495273075192308531862463051294126556828150918567314494646109091725268763743035896498032426036952948240687275473470950492598296411340934107047725063111967461937001187240021702263990766839805689902743068932923503900023554735163032869746553400122054722587470177793725441875677634952077747638594794031292801198333932707234723781700088066425952623278770027725049718515862744027354738611712714318593292306716599587455405551452646994514040126911572485190090404684736415016005011240333767779386583187800673285260957179541177449272923732597760398889680113094049484522514852918022979477871704996151916696619898852526825457314323420824521119256384499633659632383959247942876518657544585546261501015184761749059929223621303616823324895140079987028810974782685294288967201736210665551073896745790399664849279731039088271051603159575210170768019542312239062662951034547867097113147017588733158534255374967292150317005489557030701007813941232218042462487672486660890446930169950841766710202835298964595162760766597560712977089008081553159469289136049198037271116971984561620476865794484482754113188115439075702560035030309186930459776801958505918698448471787476331776345389849539913267505144525403182727703598084790662017771037227021804790969806072611842233964754239199111628697771097403954698240791257385977011606622795612002940073975866277460993006754822341986836421937796387217005330311620635307298000502936526103880551661387474323089893046489530307147305931064874815498241456172793110621463989302832809478234782798836149916917710614044248689405931199945360779407739902042287410856248836493800589990410409975388534629299300811369361983092886340597886387786498899898503198695652226867106657869058516626193000916165621630898863266272502799667563457134239640548620788595827882187981628978464678945029028972114690779781312132206536580068094826731920076616127 64977111308497190399942997873120273118459713114532147962745919282372202692250502967552387467643714497158116405926264069366227853888176935885761020996063059911330031357430859239157179040616159638497274063171334150980162711782881403846566082638253974467484206538960214065370443551970152663117371181781995237402493510872458079804126120870857744716553768171029875470197901453256729290611817247922692427093710809853086802941098132391902239836742650867337548357313060447441738984290408745825457387291922704952185663879349108275667253734337767260045371371650129976073151666516719037502061994459867917962469698353995496165068934039783192272675131271591084640565625624909427086172161384591630233472549453103770890280152130408408320199989839584186616701500592656244039098046574482998533455436389558993596644434240642069289748052121157551373251065062784863099818992097769725431138296080028069171809706523879147240296231745628984025981279090003433899546093264881919369262216043395962332967027733029817937880976006744230578433549894097936908345503473245186263869640417186646531806791147198154693912176101353179958853268296646742565860574558703390014583618524254847732434847094176050275808642276406038289552508260763884305334221617526576458521959150040831860906722813796620761607568234314851436520876435876737339426597874056958813919372378322010842731425606084736225477976855730244764047874063546205233276489188449813659631379380763511108229805357799923227443693752509486628630185554549886608414703293953584212266581976697214768911830101674413961791799534798565856549893525615109648868371262482337962896877679111178832855061981123691770729929007729194424859801626461487778480207375937188357278754017916766847649664085107500916483577346407019255920335424152857088296138959155682720943992190667386429431707906935169612562605243998521416314165091188513623243852455926824196208349651473906173846601760342620052316380993640431948058958122763791940364688577749619642606251135481359274832984166026936389327690065963888146580171800695211071615136288637410946468491400425003693420879490959982650863906919774398300556989383197804283243158867532246461577998837462429455309880781383913308837909940808919732889283911487840403863891818997182106795043617662191608700122245147454743150586102987797711608526686219360709806246943060571179830816487005127732361921185168760069421019028263552591130120476594912475294774058393067674328424502119440960082368503440888899395070632563996164256224718708925558199084886141708069822080799367944162542779082750094931567633270388408997197119228393479587084185550115486472571150785015910952664766449063561127745331250551005185704659626451 105135174587933608291073127033541773271799876789655599832715171869534746637765433947699899007978401132446172646371374423204102001777557294661115982195354372889332300159676471068553616615632302839460840311830016914852813243921703093348229949812964792425183934042718039463418170831993236320857071860163306215234327440159044999867022193831477446802242572606523261737567496896674804911643484157833946182178323556643731124543881060567491225489403270720569775417867417290645503648010193808231546736840361585580735151909313893552331852588913506139076784004388772919934358602350165416394937527856930726639869928582846262368947751942515194316045673778760437199940694056159927115044208382997392763490367915608570511116956853115978441419723287045021755067932539524477561863916556532508686808873568109080716759883735915144482056583983620602667377621890935781667133486743878817156407059823063965669842132560832095480983507219099934518579575501344368006593818327993886831199217230635984035231018499869623627783719075677154082333573448833099941215250026645308318592227887364440257248666824833106771659814696147211251654466630579449800584356258791456440536241803024875457484565610038794303163380888118752608145800567480483892789627168979223453035999276952404346096813218481357176623573245555185204300263019064538012711858831236499991368645302054608603130315286197830274962499370583162787027351935251201385193185808348666186456836695086931932750924614184422861103326136468734571506704212094472154676204309138345961326511200318518385735154996814493948820610509581251150838860727351320314419445159228128362561726958842217921126113584283266980900697027271506663922464577496035645577320522954777090437288273291734139799981090597057947184585160348251473962797911825343749186585889325633562710702393502685394026870667701767173275582333006602969473634380324562821281123572898808757828826517268390656600714948458059128018941028670741134989417899565750446283387026221407118938027480871208814746251671171461792510417769561972937242189571732438093419927258443483558310725365179242892532508188731080054818605160565655686534000989820599895246098941508112739038991844217251797296717203321709696054915271120540368196581911990776929967772370658569581118133510708681139007269551078519617966084344443970504719148150208663542615725177843370015980733404715741776610610591099960014781798436003454633417531332843748969095364048803477649716959131418741771451730486533775239992957020350495064154727917404577785066191544010766586448273800284109784173677946016367434367300833845543236837667849182075414966373531744464937250095814044883067355546230375693334281911318645831917624736242578 170112285896430798691016124906662046390259589904187747795461091151906949330015936915252286475622115629604289052297638492570329855665734230546877003191417432800662331517107330307710795656248462477958114375001351065832975955704584497194796032451218766892668140581678253528788614383963388983974443041945301452636820951031503079671148314702335191518796340777553137207765398349931534202255301405756638609272034366496817927484979192959393465326145921587907323775180477738087242632300602554057004124132284290532920815788663001827999106323251273399122155376038902896007510268866884453896999522316798644602339626936841758534016685982298386588720805050351521840506319681069354201216369767589022996962917368712341401397108983524386761619713126629208371769433132180721600961963131015507220264309957668074313404317976557213771804636104778154040628686953720644766952478841648542587545355903092034841651839084711242721279738964728918544560854591347801906139911592875806200461433274031946368198046232899441565664695082421384660767123342931036849560753499890494582461868304551086789055457972031261465571990797500391210507734927226192366444930817494846455119860327279723189919412704214844578972023164524790897698308828244368198123848786505799911557958426993236207003536032277977938231141479870036640821139454941275352138456705293458805288017680376619445861740892282566500440476226313407551075225998797406618469674996798479846088216075850443040980729971984346088547019888978221200136889766644358763090907603091930173593093177015733154646985098488907910612410044379817007388754252966429963287816421710466325458604637953396753981175565406958751630626035000701088782266203957523424057527898891965447716042291208500987449645175704558863668162506755270729883133335978200837482724848481316283654694584170071823458578574636936785838187577005124385787799471513076444524976028825632954037176168742296830447316708800679180335322022311173083048376022329542386648075603971026761544278616352568089579235837198398181838107835525861083822361372427649165035063547080894504779216765604246585953387679691062705682512080340053987090990373018404178489257809040359200616990681679681252606597984705623004892825211929460101085865823478617333831664189655751687913177128370872747707391796225974361116670447431768216327674836428024252421972120903941195811549891720869508972531776268720084202817464267007224547651809438661444390138107196545324045383633538182731534098989974664139388027652914491228410952636113503343265276430152474656270354599652053946716457028766462365934934104233952234034787077575555002050559081859951409821246599060794020020312679439254462027242569196837103329395869029 275247460484364406982089251940203819662059466693843347628176263021441695967781370862952185483600516762050461698669012915774431857443291525207992985386771805689994631676783801376264412271880765317418954686831367980685789199626287590543025982264183559317852074624396292992206785215956625304831514902108607667871148391190548079538170508533812638321038913384076398945332895246606339113898785563590584791450357923140549052028860253526884690815549192308477099193047895028732746280310796362288550860972645876113655967697976895380330958912164779538198939380427675815941868871217049870291937050173729371242209555519688020902964437924813580904766478829111959040447013737229281316260578150586415760453285284320911912514065836640365203039436413674230126837365671705199162825879687548015907073183525777155030164201712472358253861220088398756708006308844656426434085965585527359743952415726156000511493971645543338202263246183828853063140430092692169912733729920869693031660650504667930403429064732769065193448414158098538743100696791764136790776003526535802901054096191915527046304124796864368237231805493647602462162201557805642167029287076286302895656102130304598647403978314253638882135404052643543505844109395724852090913475955485023364593957703945640553100349250759335114854714725425221845121402474005813364850315536529958796656662982431228048992056178480396775402975596896570338102577934048608003662860805147146032545052770937374973731654586168768949650346025446955771643593978738830917767111912230276134919604377334251540382140095303401859433020553961068158227614980317750277707261580938594688020331596795614675107289149690225732531323062272207752704730781453559069634848421846742538153330564500235127249626266301616810852747667103522203845931247803544586669310737806949846365396977672757217485449242338703959113769910011727355261433851837639265806099601724441711866002686010687487048031657258738308354263050981914218037793921895292832931462630192433880482306097223776904325487508369859974348525605087834021064550944160087258454990805524378063089942130783489478485895868422142760501117240905709673624991362839004073735356750548471939655982525896933049903315188027332700947740483050000469282447735469394263799436560314321269031310639079553886714661347304493979082754791875738721046822986636687795037697298747311211792283296436611285583142367368680098984615900270461857965183142282410413485502156000022973762342764956924502985829476508439379380984673264986292565680553518081128331467974163241242718628399936163730890134974782829800302234938079495470872454926757630417016932613604416347071342413105677087375858909814947796309153887842669020954132111607 445359746380795205673105376846865866052319056598031095423637354173348645297797307778204471959222632391654750750966651408344761713109025755754869988578189238490656963193891131683975207928129227795377069061832719046518765155330872087737822014715402326210520215206074546520995399599920014288805957944053909120507969342222051159209318823236147829839835254161629536153098293596537873316154086969347223400722392289637366979513839446486278156141695113896384422968228372766819988912611398916345554985104930166646576783486639897208330065235416052937321094756466578711949379140083934324188936572490528015844549182456529779436981123907111967493487283879463480880953333418298635517476947918175438757416202653033253313911174820164751964659149540303438498606798803885920763787842818563523127337493483445229343568519689029572025665856193176910748634995798377071201038444427175902331497771629248035353145810730254580923542985148557771607701284684039971818873641513745499232122083778699876771627110965668506759113109240519923403867820134695173640336757026426297483515964496466613835359582768895629702803796291147993672669936485031834533474217893781149350775962457584321837323391018468483461107427217168334403542418223969220289037324741990823276151916130938876760103885283037313053085856205295258485942541928947088716988772241823417601944680662807847494853797070762963275843451823209977889177803932846014622132535801945625878633268846787818014712384558153115038197365914425176971780483745383189680858019515322206308512697554349984695029125193792309770045430598340885165616369233284180240995078002649061013478936234749011429088464715097184484161949097272908841486996985411082493692376320738707985869372855708736114699271442006175674520910173858792933729064583781745424152035586288266130020091561842829040944027816975640744951957487016851741049233323350715710331075630550074665903178854752984317495348366059417488689585073293087301086169944224835219579538234163460642026584713576344993904723345568258156186633440613695104886912316587736423490054352605272567869158896387736064439283548113205466183629321245763660715981735857408252224614559588831140272973207576614302509913172732955705840565694979460570368313558948011597631100749970072956944487767450426634422053143530468340199425239307506937374497823064712047459669419651252407603833188157480794555674143637400183187433364537469082512834951721071857875640263196568297807726398495107234519928466483103518769012326179477520976633189631584471596744404315715898988982999588217677606592003549292166237169042313447704907242004333185419067491695464367756892589012166471107396171589254202258336396457039506124283527980636 720607206865159612655194628787069685714378523291874443051813617194790341265578678641156657442823149153705212449635664324119193570552317280962862973964961044180651594870674933060239620200009993112796023748664087027204554354957159678280847996979585885528372289830470839513202184815876639593637472846162516788379117733412599238747489331769960468160874167545705935098431188843144212430052872532937808192172750212777916031542699700013162846957244306204861522161276267795552735192922195278634105846077576042760232751184616792588661024147580832475520034136894254527891248011300984194480873622664257387086758737976217800339945561831925548398253762708575439921400347155527916833737526068761854517869487937354165226425240656805117167698585953977668625444164475591119926613722506111539034410677009222384373732721401501930279527076281575667456641304643033497635124410012703262075450187355404035864639782375797919125806231332386624670841714776732141731607371434615192263782734283367807175056175698437571952561523398618462146968516926459310431112760552962100384570060688382140881663707565759997940035601784795596134832138042837476700503504970067452246432064587888920484727369332722122343242831269811877909386527619694072379950800697475846640745873834884517313204234533796648167940570930720480331063944402952902081839087778353376398601343645239075543845853249243360051246427420106548227280381866894622625795396607092771911178321617725192988444039144321883987847711939872132743424077724122020598625131427552482443432301931684236235411265289095711629478451152301953323843984213601930518702339583587655701499267831544626104195753864787410216693272159545116594191727766864641563327224742585450524022703420208971241948897708307792485373657840962315137574995831585290010821346324095215976385488539515586258429477059314344704065727397028579096310667175188354976137175232274516377769181540763671804543380023318155797043848124275001519123963866120128052511000864355894522508890810800121898230210853938118130535159045701529125951463260747823681945045158129650630959101027171225542925179416535348226684746562151473334340973098696412325959971310137303079928955733473547352413228360760288406788306178029461039650761294417405861430537310284394225975798406529980521136714490834962319282180031183245658421320809701399842497366718398563619396116484594092080138816511006080282172049264807930940478018094003482271361142419196591271570069163452031737505757942991542898149996999444463813542313743149665599928212378478957141707611399524381408496726978332121966539403980392943175779696931090815836084424309068784103963931425272148194772030499069150054645550344882175145237660092243 1165966953245954818328300005633935551766697579889905538475450971368138986563375986419361129402045781545359963200602315732463955283661343036717732962543150282671308558064566064744214828128139220908173092810496806073723319510288031766018670011694988211738892505036545386034197584415796653882443430790216425908887087075634650397956808155006108298000709421707335471251529482439682085746206959502285031592895142502415283011056539146499441003098939420101245945129504640562372724105533594194979660831182506209406809534671256689796991089382996885412841128893360833239840627151384918518669810195154785402931307920432747579776926685739037515891741046588038920802353680573826552351214473986937293275285690590387418540336415476969869132357735494281107124050963279477040690401565324675062161748170492667613717301241090531502305192932474752578205276300441410568836162854439879164406947958984652071217785593106052500049349216480944396278542999460772113550481012948360691495904818062067683946683286664106078711674632639138385550836337061154484071449517579388397868086025184848754717023290334655627642839398075943589807502074527869311233977722863848601597208027045473242322050760351190605804350258486980212312928945843663292668988125439466669916897789965823394073308119816833961221026427136015738817006486331899990798827860020176794000546024308046923038699650320006323327089879243316526116458185799740637247927932409038397789811590464513011003156423702474999026045077854297309715204561469505210279483150942874688751944999486034220930440390482888021399523881750642838489460353446886110759697417586236716714978204066293637533284218579884594700855221256818025435678724752275724057019601063324158509892076275917707356648169150313968159894568014821108071304060415367035434973381910383482106405580101358415299373504876289985449017684884045430837359900498539070686468250862824591043672360395516656122038728389377573285733433197568088820210133810344963272090539098519355164535475524376466892134934199506376286721792486315224230838375577335560105435099510734923198828259923558961607364462964648553692868375883397236995056954834553820578184585869726134220201928941050161654923141533493244112628871873008921610019074853365417459061638060254467182920286173980407155558767634365430659481605270490752595795818632766111889957036138049816026999949672751572874694490654643480465359482629345400022990853045724554129236782682393159569377795561947138972025686409474646416919009325623941334518946932781250071524956782794673040696594399112599086103318981881414132776573022706390880686938935424001255151916004533151860856520437438619302168202088323352312981946801921681269521188072879 1886574160111114430983494634421005237481076103181779981527264588562929327828954665060517786844868930699065175650237980056583148854213660317680595936508111326851960152935240997804454448328149214020969116559160893100927873865245191444299518008674574097267264794867016225547399769231673293476080903636378942697266204809047249636704297486776068766161583589253041406349960671282826298176259832035222839785067892715193199042599238846512603850056183726306107467290780908357925459298455789473613766677260082252167042285855873482385652113530577717888361163030255087767731875162685902713150683817819042790018066658408965380116872247570963064289994809296614360723754027729354469184952000055699147793155178527741583766761656133774986300056321448258775749495127755068160617015287830786601196158847501889998091033962492033432584720008756328245661917605084444066471287264452582426482398146340056107082425375481850419175155447813331020949384714237504255282088384382975883759687552345435491121739462362543650664236156037756847697804853987613794502562278132350498252656085873230895598686997900415625582874999860739185942334212570706787934481227833916053843640091633362162806778129683912728147593089756792090222315473463357365048938926136942516557643663800707911386512354350630609388966998066736219148070430734852892880666947798530170399147367953285998582545503569249683378336306663423074343738567666635259873723329016131169700989912082238203991600462846796883013892789794169442458628639193627230878108282370427171195377301417718457165851655771983733029002332902944791813304337660488041278399757169824372416477471897838263637479972444672004917548493416363142029870452519140365620346825805909609033914779696126678598597066858621760645268225855783423208879056246952325445794728234478698082791068640874001557802981935604330153083412281074009933670567673727425662605426095099107421441541936280327926582108412695729082777281321843090339334097676465091324601539962875249687044366335176588790365145053444494417256951532016753356789838838083383787380144668864573829787360950730187150289642381183901919553122445548710329397927933250232904144557179863437300130884674523709007336369894253532519417178051038382649669836147782823320492175370538861408896084580510387676695482125200392978763785301673998254217139442467511732454402856448379646396066157345664954833307165649560747531531894153330963468871139728036400597925101589750840947864725399170709531444352466189315069006325068405148061260675930915671453169161273630182404205798636980494600045960213536099315977003099334056466635866514817091236340313601935964820451862710767496940232587392502367627497146803856414758848165122 3052541113357069249311794640054940789247773683071685520002715559931068314392330651479878916246914712244425138850840295789047104137875003354398328899051261609523268710999807062548669276456288434929142209369657699174651193375533223210318188020369562309006157299903561611581597353647469947358524334426595368606153291884681900034661105641782177064162293010960376877601490153722508383922466791537507871377963035217608482053655777993012044853155123146407353412420285548920298183403989383668593427508442588461573851820527130172182643202913574603301202291923615921007572502314070821231820494012973828192949374578841712959893798933310000580181735855884653281526107708303181021536166474042636441068440869118129002307098071610744855432414056942539882873546091034545201307416853155461663357907017994557611808335203582564934889912941231080823867193905525854635307450118892461590889346105324708178300210968587902919224504664294275417227927713698276368832569397331336575255592370407503175068422749026649729375910788676895233248641191048768278574011795711738896120742111058079650315710288235071253225714397936682775749836287098576099168458950697764655440848118678835405128828890035103333951943348243772302535244419307020657717927051576409186474541453766531305459820474167464570609993425202751957965076917066752883679494807818706964399693392261332921621245153889256006705426185906739600460196753466375897121651261425169567490801502546751214994756886549271882039937867648466752173833200663132441157591433313301859947322300903752678096292046254871754428526214653587630302764691107374152038097174756061089131455675964131901170764191024556599618403714673181167465549177271416089677366426869233767543806855972044385955245236008935728805162793870604531280183116662319360880768110144862180189196648742232416857176486811894315602101097165119440771030468172266496349073676957923698465113902331796984048620836802073302368510714519411179159544231486810054596692079061394604851579841859553055682500079252950870703978744018331977587628214415418943892815244179599497028615620874289148757654105345832455612421498328945947324454882767804053482329143049589571520332813615573870662259511427746776632046049924047304259688911001148240779553813430793328591816370754490794832254249759565823638245390572164750850012958075233623622411438994498195673396015830097237829527797820293041212891014523498730986459724185452590529834707783982910410325660287346309681557130761940835731988015650692346482580207608712165742978125944068303223100800197749579580703364942094950232092550025805724937153574801938818346388256318135087825676972300149386799108434675715854680609443948725537684280036238001 4939115273468183680295289274475946026728849786253465501529980148493997642221285316540396703091783642943490314501078275845630252992088663672078924835559372936375228863935048060353123724784437648950111325928818592275579067240778414654617706029044136406273422094770577837128997122879143240834605238062974311303419496693729149671365403128558245830323876600213418283951450825005334682098726623572730711163030927932801681096255016839524648703211306872713460879711066457278223642702445173142207194185702670713740894106383003654568295316444152321189563454953871008775304377476756723944971177830792870982967441237250678340010671180880963644471730665181267642249861736032535490721118474098335588861596047645870586073859727744519841732470378390798658623041218789613361924432140986248264554065865496447609899369166074598367474632949987409069529111510610298701778737383345044017371744251664764285382636344069753338399660112107606438177312427935780624114657781714312459015279922752938666190162211389193380040146944714652080946446045036382073076574073844089394373398196931310545914397286135486878808589397797421961692170499669282887102940178531680709284488210312197567935607019719016062099536438000564392757559892770378022766865977713351703032185117567239216846332828518095179998960423269488177113147347801605776560161755617237134798840760214618920203790657458505690083762492570162674803935321133011156995374590441300737191791414628989418986357349396068765053830657442636194632461839856759672035699715683729031142699602321471135262143702026855487457528547556532422116069028767862193316496931925885461547933147861970164808244163469228604535952208089544309495419629790556455297713252675143376577721635668171064553842302867557489450431019726387954489062172909271686326562838379340878271987717383106418414979468747498645755184509446193450704701035845993922011679103053022805886555444268077311975202945214769031451287995841254269498878329163275145921293619024269854538624208194729644472865224306395365121235695550348730944418053253502327680195388848464070858402981825019335907943747727016357531974620774494657653852810701054286386473700229453008820463698290097579669595881322000309151463227975085686909358747148931064100045988801332190000712455335001182508949731884766216617009175873838749104230097517701135354865841850946575319792081987442902784361104985942601960422546417652061949928595325180626930432632885572661251273525012745480391088575114407025047057021975760751630641468284643081414431295105341933405505005996386560075303410902308486331408527028905058993620210668453635437624596631737023790497424162860154296048667263108357048236941095529394099038884403123 7991656386825252929607083914530886815976623469325151021532695708425065956613615968020275619338698355187915453351918571634677357129963667026477253734610634545898497574934855122901793001240726083879253535298476291450230260616311637864935894049413698715279579394674139448710594476526613188193129572489569679909572788578411049706026508770340422894486169611173795161552940978727843066021193415110238582540993963150410163149910794832536693556366430019120814292131352006198521826106434556810800621694145259175314745926910133826750938519357726924490765746877486929782876879790827545176791671843766699175916815816092391299904470114190964224653466521065920923775969444335716512257284948140972029930036916763999588380957799355264697164884435333338541496587309824158563231848994141709927911972883491005221707704369657163302364545891218489893396305416136153337086187502237505608261090356989472463682847312657656257624164776401881855405240141634056992947227179045649034270872293160441841258584960415843109416057733391547314195087236085150351650585869555828290494140307989390196230107574370558132034303795734104737442006786767858986271399129229445364725336328991032973064435909754119396051479786244336695292804312077398680484793029289760889506726571333770522306153302685559750608953848472240135078224264868358660239656563435944099198534152475951841825035811347761696789188678476902275264132074599387054117025851866470304682592917175740633981114235945340647093768525091102946806295040519892113193291148997030891090021903225223813358435748281727241886054762210120052418833719875236345354594106681946550679388823826102065979008354493785204154355922762725476960968807061972544975079679544377144121528491640215450509087538876493218255593813596992485769245289571591047207330948524203058461184366125338835272155955559392961357285606611312891475731504018260418360752780010946504351669346599874296023823782016842333819798710360665448658422560650085200517985698085664459390204050054282700155365303559346235825214439568680708532046267668921271573010633028063567887018602699308484665597853072848813144396119103440604978307693468858339868802843279042580340796511905671450331855392749747085783509277899132991169047658150079304879599802232125518592528826089491977341203981644332040255254566446003499954243055592934758977277280845444770993188097817540140613888902806235643173313560941150792936388319510633217460267340669555571661599185300091790072645705876347860779045037626453098113221675893355247157409421049410236628605806194136139656006775844403436563501077054710783930773785470392453784012852949872111616174396463009541095157101938824211728846385044254931783318920641124 12930771660293436609902373189006832842705473255578616523062675856919063598834901284560672322430481998131405767852996847480307610122052330698556178570170007482273726438869903183254916726025163732829364861227294883725809327857090052519553600078457835121553001489444717285839591599405756429027734810552543991212992285272140199377391911898898668724810046211387213445504391803733177748119920038682969293704024891083211844246165811672061342259577736891834275171842418463476745468808879729953007815879847929889055640033293137481319233835801879245680329201831357938558181257267584269121762849674559570158884257053343069639915141295071927869125197186247188566025831180368252002978403422239307618791632964409870174454817527099784538897354813724137200119628528613771925156281135127958192466038748987452831607073535731761669839178841205898962925416926746452038864924885582549625632834608654236749065483656727409596023824888509488293582552569569837617061884960759961493286152215913380507448747171805036489456204678106199395141533281121532424727159943399917684867538504920700742144504860506045010842893193531526699134177286437141873374339307761126074009824539303230541000042929473135458151016224244901088050364204847776703251659007003112592538911688901009739152486131203654930607914271741728312191371612669964436799818319053181233997374912690570762028826468806267386872951171047064950068067395732398211112400442307771041874384331804730052967471585341409412147599182533739141438756880376651785228990864680759922232721505546694948620579450308582729343583309766652474534902748643098538671091038607832012227321971688072230787252517963013808690308130852269786456388436852529000272792932219520520699250127308386515062929841744050707706024833323380440258307462480862733533893786903543936733172083508445253687135424306891607112470116057506342180432539864254340372431883063969310238224790867951607999026727231611365271086706201919718157300889813360346439279317109934313928828258249012344628230527865741600946450135119029439476464320922423599253206021876527638745421584524327820573541600799865170676370739877935262632160504169912626255276543508495589161260210195769030001451274071747394934972505874218678078406405299010368979645791033457708593241281424493159850153713529098256872263742319842249058473153110635894332143122696391346312980179804983043398250007792178245133736107358802854886316914835813844390699973555128232912872710312837270463734280990754885826102059602213849743863144177998328571840716154752170034110812190522699731310186746711922894909604083615842924393996138846089221637449581609135406671820625869695391205769201932568777083326139784325882357805044247 20922428047118689539509457103537719658682096724903767544595371565344129555448517252580947941769180353319321221204915419114984967252015997725033432304780642028172224013804758306156709727265889816708618396525771175176039588473401690384489494127871533836832580884118856734550186075932369617220864383042113671122565073850551249083418420669239091619296215822561008607057332782461020814141113453793207876245018854233622007396076606504598035815944166910955089463973770469675267294915314286763808437573993189064370385960203271308070172355159606170171094948708844868341058137058411814298554521518326269334801072869435460939819611409262892093778663707313109489801800624703968515235688370380279648721669881173869762835775326455049236062239249057475741616215838437930488388130129269668120378011632478458053314777905388924972203724732424388856321722342882605375951112387820055233893924965643709212748330969385065853647989664911370148987792711203894610009112139805610527557024509073822348707332132220879598872262411497746709336620517206682776377745812955745975361678812910090938374612434876603142877196989265631436576184073205000859645738436990571438735160868294263514064478839227254854202496010489237783343168516925175383736452036292873482045638260234780261458639433889214681216868120213968447269595877538323097039474882489125333195909065166522603853862280154029083662139849523967225332199470331785265229426294174241346556977248980470686948585821286750059241367707624842088245051920896543898422282013677790813322743408771918761979015198590309971229638071976772526953736468518334884025685145289778562906710795514174296766260872456799012844664053614995263417357243914501545247872611763897664820778618948601965572017380620543925961618646920372926027552752052453780741224735427746995194356449633784088959291379866284568469755722668819233656164043882514758733184663074915814589894137467825904022850509248453699090885416562585166815723450463445546957265015195598773319032308303295044783595831425087836771664574687710148008510588591344870826216654904591206632440187223636305239139453872713983820766858981375867610468197638770966124079386787538169502056722101440480333306666821494480718481783773351669247454063449089673859245593265583227185770107513985137191357695173430297127518308765845749012716208703570653309420403541836117306168277622523184012138910598413888307049668299953647822705234346447061850967314224683804574471895612929060536379986867102746605147097228666947857084820071353575729250137204162406662716618384658839387316962591115359458410681138326626855167781609238543005650302531481247022846217088879236486362871140756780505929711184039257665676725685371 33853199707412126149411830292544552501387569980482384067658047422263193154283418537141620264199662351450726989057912266595292577374068328423589610874950649510445950452674661489411626453291053549537983257753066058901848916330491742904043094206329368958385582373563574020389777675338126046248599193594657662335557359122691448460810332568137760344106262033948222052561724586194198562261033492476177169949043745316833851642242418176659378075521903802789364635816188933152012763724194016716816253453841118953426025993496408789389406190961485415851424150540202806899239394325996083420317371192885839493685329922778530579734752704334819962903860893560298055827631805072220518214091792619587267513302845583739937290592853554833774959594062781612941735844367051702413544411264397626312844050381465910884921851441120686642042903573630287819247139269629057414816037273402604859526759574297945961813814626112475449671814553420858442570345280773732227070997100565572020843176724987202856156079304025916088328467089603946104478153798328215201104905756355663660229217317830791680519117295382648153720090182797158135710361359642142733020077744751697512744985407597494055064521768700390312353512234734138871393532721772952086988111043295986074584549949135790000611125565092869611824782391955696759460967490208287533839293201542306567193283977857093365882688748960296470535091020571032175400266866064183476341826736482012388431361580785200739916057406628159471388966890158581229683808801273195683651272878358550735555464914318613710599594648898892700573221381743425001488639217161433422696776183897610575134032767202246527553513390419812821534972184467265049873745680767030545520665543983418185520028746256988480634947222364594633667643480243753366285860214533316514275118522331290931927528533142229342646426804173176175582225838726325575836596583746769099105616546138885124828118928335777512021877236480065064361972122764504884973024340276805893396544332305533087247860566552307389411826359290829437718114709806739587484974909513768470079422676781118845377861771747964125812681054672579154497137598859311130242628701808683592379355930296033758663316932297209510334757940893241875653454289647570347325860468748100042838891384299040935779011388938478297041511408702528553999782051085687998071189361814206547641563526238227463619148457427506227410388918390592133440785775658756502709022149182260906241667287779812037487344605925766331000114267857857632431249156830880797600947964249351904301090853358914576696827430575181539118627149337827282353320285221942469779561777748084632227287752113090382429518037714748931877568640342689349283013037323823583548034530729618 54775627754530815688921287396082272160069666705386151612253418987607322709731935789722568205968842704770048210262827685710277544626084326148623043179731291538618174466479419795568336180556943366246601654278837234077888504803893433288532588334200902795218163257682430754939963751270495663469463576636771333458122432973242697544228753237376851963402477856509230659619057368655219376402146946269385046194062599550455859038319024681257413891466070713744454099789959402827280058639508303480624691027834308017796411953699680097459578546121091586022519099249047675240297531384407897718871892711212108828486402792213991519554364113597712056682524600873407545629432429776189033449780162999866916234972726757609700126368180009883011021833311839088683352060205489632901932541393667294433222062013944368938236629346509611614246628306054676675568861612511662790767149661222660093420684539941655174562145595497541303319804218332228591558137991977626837080109240371182548400201234061025204863411436246795687200729501101692813814774315534897977482651569311409635590896130740882618893729730259251296597287172062789572286545432847143592665816181742268951480146275891757569129000607927645166556008245223376654736701238698127470724563079588859556630188209370570262069764998982084293041650512169665206730563367746610630878768084031431900389193043023615969736551029114325554197230870094999400732466336395968741571253030656253734988338829765671426864643227914909530630334597783423317928860722169739582073554892036341548878208323090532472578609847489202671802859453720197528442375685679768306722461329187389138040743562716420824319774262876611834379636238082260313291102924681532090768538155747315850340807365205590446206964602985138559629262127164126292313412966585770295016343257759037927121884982776013431605718184039460744051981561395144809492760627629283857838801209213800939418013065803603416044727745728518763452857539327090051788747790740251440353809347501131860566892874855602434195422190715917274489779284494449735493485498105113340905639331685710052010301958971600431051820508545293138317904457840686997853096899447454558503435317083571928165373654398649990668064607714736356371936073420922016573314532197189716698136977564624162964781496452463434232869103875958851127300359851533747083905570517777200950983929780063580925316735050029411422527828989006021747835443958710150531727383528707968092634602004495842061816501538695391536494254724960379036396254059547745458032784320705480030340990563076983359544048959840378505944111928942641811730966360269096634729559357323175232938054644571629452364254803628168363931511483446129788942748507862841213711256414989 88628827461942941838333117688626824661457236685868535679911466409870515864015354326864188470168505056220775199320739952305570122000152654572212654054681941049064124919154081284979962633847996915784584912031903292979737421134385176192575682540530271753603745631246004775329741426608621709718062770231428995793679792095934146005039085805514612307508739890457452712180781954849417938663180438745562216143106344867289710680561442857916791966987974516533818735606148335979292822363702320197440944481675426971222437947196088886848984737082577001873943249789250482139536925710403981139189263904097948322171732714992522099289116817932532019586385494433705601457064234848409551663871955619454183748275572341349637416961033564716785981427374620701625087904572541335315476952658064920746066112395410279823158480787630298256289531879684964494816000882140720205583186934625264952947444114239601136375960221610016752991618771753087034128483272751359064151106340936754569243377959048228061019490740272711775529196590705638918292928113863113178587557325667073295820113448571674299412847025641899450317377354859947707996906792489286325685893926493966464225131683489251624193522376628035478909520479957515526130233960471079557712674122884845631214738158506360262680890564074953904866432904125361966191530857954898164718061285573738467582477020880709335619239778074622024732321890666031576132733202460152217913079767138266123419700410550872166780700634543069002019301487942004547612669523442935265724827770394892284433673237409146183178204496388095372376080835463622529931014902841201729419237513084999713174776329918667351873287653296424655914608422549525363164848605448562636289203699730734035860836111462578926841911825349733193296905607407879658599273181119086809291461780090328859049413515918242774252144988212636919634207400121470385329357211376052956944417755352686064246131994139380928066604982208583827814829662091594936761772131017057333750353679806664947814753441407909823607248550006746712207893994301189322978460407618881810985062008466828897388163730719564556864501563217872292815042056699998128095725601256138150882791247379605686828690586695859501002822548607978232025390363068492363899175000945289759537028361863665098743792885390941731274380512578487405127082410937221745155094932331983748592547456018291044544465192477535638832916747379598155188621219617466653240749532710968874334301889784307879549161107464461722536608522582818011467645410890428543058980748570057384331431843921991560056371479535021917624571261266769924165051251582211566414291337105407807460225806757662011881882292518377100241500151826135479071955785831686424761745787144607 143404455216473757527254405084709096821526903391254687292164885397477838573747290116586756676137347760990823409583567638015847666626236980720835697234413232587682299385633501080548298814404940282031186566310740527057625925938278609481108270874731174548821908888928435530269705177879117373187526346868200329251802225069176843549267839042891464270911217746966683371799839323504637315065327385014947262337168944417745569718880467539174205858454045230278272835396107738806572881003210623678065635509509734989018849900895768984308563283203668587896462349038298157379834457094811878858061156615310057150658135507206513618843480931530244076268910095307113147086496664624598585113652118619321099983248299098959337543329213574599797003260686459790308439964778030968217409494051732215179288174409354648761395110134139909870536160185739641170384862494652382996350336595847925046368128654181256310938105817107558056311422990085315625686621264728985901231215581307937117643579193109253265882902176519507462729926091807331732107702429398011156070208894978482931411009579312556918306576755901150746914664526922737280283452225336429918351710108236235415705277959381009193322522984555680645465528725180892180866935199169207028437237202473705187844926367876930524750655563057038197908083416295027172922094225701508795596829369605170367971670063904325305355790807188947578929552760761030976865199538856120959484332797794519858408039240316543593645343862457978532649636085725427865541530245612674847798382662431233833311881560499678655756814343877298044178940289183820058373390588520970036141698842272388851215519892635088176193061916173036490294244660631785676455951530130094727057741855478049886201643476668169373048876428334871752926167734572005950912686147704857104307805037849366786171298498694256205857863172252097663686188961516615194822117839005336814783218964566487003664145059942984344111332727937102591267687201418684988550519921757308774104163027307796808381646316263512257802670740722663986697673278795639058471945905723995151890701340152538949398465689691164987916322071763165431132946514540685125948822500703592709386226564463177614994064241094509491670887156322714588397326436489414380472489533142479476235165339428289261708574381843405165507249616454446256254382770788755492239000502849760949543531385798354625469781927527565050255444576368604176936456663576176803772476916239676842426936491788803721610977609003157114073102777307778390504041664949976288517013532890762864361772834485068543415915528494862296130515373195712565976782217942480663049020896462730982693163861402233641334246547322005268605431663309581608860898534339549265975457043559596 232033282678416699365587522773335921482984140077123222972076351807348354437762644443450945146305852817211598608904307590321417788626389635293048351289095173636746424304787582365528261448252937197815771478342643820037363347072663785673683953415261446302425654520174440305599446604487739082905589117099629325045482017165110989554306924848406076578419957637424136083980621278354055253728507823760509478480275289285035280399441910397090997825442019746812091571002256074785865703366912943875506579991185161960241287848091857871157548020286245589770405598827548639519371382805215859997250420519408005472829868222199035718132597749462776095855295589740818748543560899473008136777524074238775283731523871440308974960290247139316582984688061080491933527869350572303532886446709797135925354286804764928584553590921770208126825692065424605665200863376793103201933523530473189999315572768420857447314066038717574809303041761838402659815104537480344965382321922244691686886957152157481326902392916792219238259122682512970650400630543261124334657766220645556227231123027884231217719423781543050197232041881782684988280359017825716244037604034730201879930409642870260817516045361183716124375049205138407706997169159640286586149911325358550819059664526383290787431546127131992102774516320420389139113625083656406960314890655178908835554147084785034640975030585263569603661874651427062552997932741316273177397412564932785981827739650867415760426044497001047534668937573667432413154199769055610113523210432826126117745554797908824838935018840265393416555021124647442588304405491362171765560936355357388564390296222553755528066349569469461146208853083181311039620800135578657363346945555208783922062479588130748299890788253684604946223073341979885609511959328823943913599266817939695645220712014612498980110008160464734583320396361638085580151475050381389771727636719919173067910277054082365272177937710145686419082516863510279925312292052774366107854516707114461756196399757671422081409919290729410698905567273096828381450406313342876962875763348619367846786629420410729544780823634981037723947988571240683254044548101959730860269017811842783301822754827790368992673709704930692820422716799557906744371664534087769235772193701291954360452367267234346896781630129032933661381465181725977237394095435181744698136078841816645670014247120005100689088361323748202332125077883193643457013226448950645716761238381573111601160138716467618836609711299890596401971687075840404831575994281460820248693204678407060103472287008029884213755086634462482490141833469524692229463312233568138790153389668159895653216128839840382368846931815135717087932854320171235690737202830704203 375437737894890456892841927858045018304511043468377910264241237204826193011509934560037701822443200578202422018487875228337265455252626616013884048523508406224428723690421083446076560262657877479846958044653384347094989273010942395154792224289992620851247563409102875835869151782366856456093115463967829654297284242234287833103574763891297540849331175384390819455780460601858692568793835208775456740817444233702780850118322377936265203683896064977090364406398363813592438584370123567553572215500694896949260137748987626855466111303489914177666867947865846796899205839900027738855311577134718062623488003729405549336976078680993020172124205685047931895630057564097606721891176192858096383714772170539268312503619460713916379987948747540282241967834128603271750295940761529351104642461214119577345948701055910117997361852251164246835585725871445486198283860126321115045683701422602113758252171855825132865614464751923718285501725802209330866613537503552628804530536345266734592785295093311726700989048774320302382508332972659135490727975115624039158642132607196788136026000537444200944146706408705422268563811243162146162389314142966437295635687602251270010838568345739396769840577930319299887864104358809493614587148527832256006904590894260221312182201690189030300682599736715416312035719309357915755911720024784079203525817148689359946330821392452517182591427412188093529863132280172394136881745362727305840235778891183959354071388359459026067318573659392860278695730014668284961321593095257359951057436358408503494691833184142691460733961413831262646677796079883141801702635197629777415605816115188843704259411485642497636503097743813096716076751665708752090404687410686833808264123064798917672939664682019476699149241076551891560424645476528801017907071855789062431392010513306755185967871332716832247006585323154700774973592889386726586510855684485660071574422114025349616289270438082789010350204064928964913862811974531674881958679734422258564578046073934934339212590031452074685603240551892467439922352219066872114766464688771906796185095110101894532697145706744203155080935085781368379993370602663323569655244376305960916816819068884878484344596861253407408820043236047321124844154067230248712007359040720243622160941649077752062288879745487379917635847952514732729633095938031505647679610227615000295484029047532665739343805900116806509061534546769820260785703365190322559188174873361915322771116325470775950682814077198374792475728740790381120093007814351583113054977512892128646888202536524746509885602007658195056118615687467172892512333130030869772846553529562129294550375387162387637452363478445298696793752854510784956712659874263799 607471020573307156258429450631380939787495183545501133236317589012174547449272579003488646968749053395414020627392182818658683243879016251306932399812603579861175147995208665811604821710910814677662729522996028167132352620083606180828476177705254067153673217929277316141468598386854595538998704581067458979342766259399398822657881688739703617427751133021814955539761081880212747822522343032535966219297719522987816130517764288333356201509338084723902455977400619888378304287737036511429078795491880058909501425597079484726623659323776159767437273546693395436418577222705243598852561997654126068096317871951604585055108676430455796267979501274788750644173618463570614858668700267096871667446296041979577287463909707853232962972636808620774175495703479175575283182387471326487029996748018884505930502291977680326124187544316588852500786589248238589400217383656794305044999274191022971205566237894542707674917506513762120945316830339689675831995859425797320491417493497424215919687688010103945939248171456833273032908963515920259825385741336269595385873255635081019353745424318987251141378748290488107256844170260987862406426918177696639175566097245121530828354613706923112894215627135457707594861273518449780200737059853190806825964255420643512099613747817321022403457116057135805451149344393014322716226610679962988039079964233474394587305851977716086786253302063615156082861065021488667314279157927660091822063518542051375114497432856460073601987511233060292691849929783723895074844803528083486068802991156317328333626852024408084877288982538478705234982201571245313567263571552987165979996112337742599232325761055111958782711950826994407755697551801287409453751632965895617730326602652929665972830452935704081645372314418531777169936604805352744931506338673728758076612722527919254166077879493181566830326981684792786355125067939768116358238492404404833139484699168107714888467208148228475429432720928439244839175104027306040989813196441536720320774445831606356420622509322181485384508807824989295821372758532409749077642228037391274642971724530512624077477969341725240879028923657022051634037918704623054429924262188148744218639573896675247477018306566184100229242760035605227869215818601318017947779552742012197982613308916312098959070509874520313579017313134240709967027191373213250345815689069431645965498276167537766428432167223865008841186612429963463717798929814140968275949413254935026923931255041938394787292525377088971194447415816630785951669002095812403361748182191299188750360489544554630723640688642120677546260449156991865121975645363599008562999943197722024947766504227002770006299295293581015784726607174682020647449862704968002 982908758468197613151271378489425958092006227013879043500558826217000740460782513563526348791192253973616442645880058046995948699131642867320816448336111986085603871685629749257681381973568692157509687567649412514227341893094548575983268401995246688004920781338380191977337750169221451995091820045035288633640050501633686655761456452631001158277082308406205774995541542482071440391316178241311422960115163756690596980636086666269621405193234149700992820383798983701970742872107160078982651010992574955858761563346067111582089770627266073945104141494559242233317783062605271337707873574788844130719805875681010134392084755111448816440103706959836682539803676027668221580559876459954968051161068212518845599967529168567149342960585556161056417463537607778847033478328232855838134639209233004083276450993033590444121549396567753099336372315119684075598501243783115420090682975613625084963818409750367840540531971265685839230818556141899006698609396929349949295948029842690950512472983103415672640237220231153575415417296488579395316113716451893634544515388242277807489771424856431452085525454699193529525407981504150008568816232320663076471201784847372800839193182052662509664056205065777007482725377877259273815324208381023062832868846314903733411795949507510052704139715793851221763185063702372238472138330704747067242605781382163754533636673370168603968844729475803249612724197301661061451160903290387397662299297433235334468568821215919099669306084892453152970545659798392180036166396623340846019860427514725831828318685208550776338022943952309967881659997651128455368966206750616943395601928452931442936585172540754456419215048570807504471774303466996161544156320376582451538590725717728583645770117617723558344521555495083668730361250281881545949413410529517820508004733041226009352045750825898399077333567007947487130098660829154842944749348088890493211059121282133064504756478586311264439782924993368209753037916001837715871771876175958978885352491905541290759835099353633560070112048376881763261295110751476621192408692726163181439156819640614518610175115048469444034109858742803420014031289307286377999579506564454705135456392965560125961362903427437507638062803271652548994059972668548266659786911782732441604774250565389851021359389620007693496653161086755442696660287311244755993495299297046646260982305215070432167775973123981815350248146976733283978584633179331290835137588128296942246702371367409170737975339454287345986923144557421167071762009910163986474803159704191317397248692081079377233526290649778872602379064844459038014487978493629878335846496727284154242316879614165157643751658772026314481520360029192805604162522579231801 1590379779041504769409700829120806897879501410559380176736876415229175287910055092567014995759941307369030463273272240865654631943010659118627748848148715565946779019680838415069286203684479506835172417090645440681359694513178154756811744579700500755158593999267657508118806348556076047534090524626102747612982816761033085478419338141370704775704833441428020730535302624362284188213838521273847389179412883279678413111153850954602977606702572234424895276361199603590349047159844196590411729806484455014768262988943146596308713429951042233712541415041252637669736360285310514936560435572442970198816123747632614719447193431541904612708083208234625433183977294491238836439228576727051839718607364254498422887431438876420382305933222364781830592959241086954422316660715704182325164635957251888589206953285011270770245736940884341951837158904367922664998718627439909725135682249804648056169384647644910548215449477779447960176135386481588682530605256355147269787365523340115166432160671113519618579485391687986848448326260004499655141499457788163229930388643877358826843516849175418703226904202989681636782252151765137870975243150498359715646767882092494331667547795759585622558271832201234715077586651395709054016061268234213869658833101735547245511409697324831075107596831850987027214334408095386561188364941384710055281685745615638149120942525347884690755098031539418405695585262323149728765440061218047489484362815975286709583066254072379173271293596125513445662395589582116075111011200151424332088663418671043160161945537232958861215311926490788673116642199222373768936229778303604109375598040790674042168910933595866415201926999397801912227471855268283570997907953342478069268917328370658249618600570553427639989893869913615445900297855087234290880919749203246578584617455569145263518123630319079965907660548692740273485223728768922959302987840493295326350543820450240779393223686734539739869215645921807454592213020029143756861585072617495699206126937737147647180457608675815045454620856201871059082667869283886370270050920763554456082128544171127142687653084390194684913138782399825471648069208011909432429503768752603449354095966862235373438381209993621607867305563307257776863275791269866284607566464524744639587387559481701949980429899494528007075670474220996152663687478684458006339310988366478292226480581382608198596208140347846824191434759406696747696383562993472259111087001383231969170633626409347565525267864831376317181370560374051953023431012005976389836551341895490506147609181625634007957166979291899550148639514001450903136463623857228886898846439925006179190083383841167927650050954065607330266246967203874826251612385284199803 2573288537509702382560972207610232855971507637573259220237435241446176028370837606130541344551133561342646905919152298912650580642142301985948565296484827552032382891366468164326967585658048198992682104658294853195587036406272703332795012981695747443163514780606037700096144098725297499529182344671138036246622867262666772134180794594001705933981915749834226505530844166844355628605154699515158812139528047036369010091789937620872599011895806384125888096744998587292319790031951356669394380817477029970627024552289213707890803200578308307657645556535811879903054143347915786274268309147231814329535929623313624853839278186653353429148186915194462115723780970518907058019788453187006807769768432467017268487398968044987531648893807920942887010422778694733269350139043937038163299275166484892672483404278044861214367286337452095051173531219487606740597219871223025145226365225418273141133203057395278388755981449045133799406953942623487689229214653284497219083313553182806116944633654216935291219722611919140423863743556493079050457613174240056864474904032119636634333288274031850155312429657688875166307660133269287879544059382819022792117969666939867132506740977812248132222328037267011722560312029272968327831385476615236932491701948050450978923205646832341127811736547644838248977519471797758799660503272089457122524291526997801903654579198718053294723942761015221655308309459624810790216600964508434887146662113408522044051635075288298272940599681017966598632941249380508255147177596774765178108523846185768991990264222441509637553334870443098640998302196873502224305195985054221052771199969243605485105496106136620871621142047968609416699246158735279732542064273719060520807508054088386833264370688171151198334415425408699114630659105369115836830333159732764399092622188610371272870169381144978364984994115700687760615322389598077802247737188582185819561602941732373843897980165320851004308998570915175664345250936030981472733356948793454678091479429642688937940292708029448605524732904578752822343962980035362991462459613489717637521285363811741661297828199438664128947248641142628891662100497319195810429083275317058154489552359827795499399744113421059115505368366578910325857335763938414551267353376307477081192161810047091801001789289114535700572323635307751595360347765995702762332806287663524938487462886597678630763984113471828639541682906383430031674968196172803549946224589511528911417335997776756736263243204285663663168293704931473120095193021916140376311354501599681823544857873706713385190693269941678422751018578845909941150951602350858765234692936652290333432400263455333085293802612837633644747767327233067631855774907863431604 4163668316551207151970673036731039753851009048132639396974311656675351316280892698697556340311074868711677369192424539778305212585152961104576314144633543117979161911047306579396253789342527705827854521748940293876946730919450858089606757561396248198322108779873695208214950447281373547063272869297240783859605684023699857612600132735372410709686749191262247236066146791206639816818993220789006201318940930316047423202943788575475576618598378618550783373106198190882668837191795553259806110623961484985395287541232360304199516630529350541370186971577064517572790503633226301210828744719674784528352053370946239573286471618195258041856270123429087548907758265010145894459017029914058647488375796721515691374830406921407913954827030285724717603382019781687691666799759641220488463911123736781261690357563056131984613023278336437003010690123855529405595938498662934870362047475222921197302587705040188936971430926824581759583089329105076371759819909639644488870679076522921283376794325330454909799208003607127272312069816497578705599112632028220094405292675996995461176805123207268858539333860678556803089912285034425750519302533317382507764737549032361464174288773571833754780599869468246437637898680668677381847446744849450802150535049785998224434615344157172202919333379495825276191853879893145360848868213474167177805977272613440052775521724065937985479040792554640061003894721947960518982041025726482376631024929383808753634701329360677446211893277143480044295336838962624330258188796926189510197187264856812152152209759674468498768646796933887314114944396095875993241425763357825162146798010034279527274407039732487286823069047366411328926718014003563303539972227061538590076425382459045082882971258724578838324309295322314560530956960456350127711252908936010977677239644179516536388293011464058330892654664393428034100546118367000761550725029075481145912146762182614623291203852055390744178214216836983118937463956060125229594942021410950377297606367379836585120750316705263650979353760780623881426630849319249361732510534253272093603413907982868803985481283828858813860387423542454363310169705331105242858587044069661603843648326690030872838125323414680723372673929886168102720611555208280835874919840832221720779549369528793750982219188609063707647994109528747748024035244680160768672117276030003230713943467980286829360192253819675463733117665790126779371351759166275809057311590894760880587969624186104301788511069117039980349664265305525073118624033922116766147905843495172329692467055332347393147860249233577972899658092847360844287415226208087652133539376577296512622483647296501012943853566903240975014014294436942458107387293147631407 6736956854060909534531645244341272609822516685705898617211746898121527344651730304828097684862208430054324275111576838690955793227295263090524879441118370670011544802413774743723221375000575904820536626407235147072533767325723561422401770543091995641485623560479732908311094546006671046592455213968378820106228551286366629746780927329374116643668664941096473741596990958050995445424147920304165013458468977352416433294733726196348175630494185002676671469851196778174988627223746909929200491441438514956022312093521574012090319831107658849027832528112876397475844646981142087485097053866906598857887982994259864427125749804848611471004457038623549664631539235529052952478805483101065455258144229188532959862229374966395445603720838206667604613804798476420961016938803578258651763186290221673934173761841100993198980309615788532054184221343343136146193158369885960015588412700641194338435790762435467325727412375869715558990043271728564060989034562924141707953992629705727400321427979547390201018930615526267696175813372990657756056725806268276958880196708116632095510093397239119013851763518367431969397572418303713630063361916136405299882707215972228596681029751384081887002927906735258160198210709941645709678832221464687734642236997836449203357820990989513330731069927140663525169373351690904160509371485563624300330268799611241956430100922783991280202983553569861716312204181572771309198641990234917263777687042792330797686336404648975719152492958161446642928278088343132585405366393700954688305711111042581144142473982115978136321981667376985955113246592969378217546621748412046214917997979277885012379903145869108158444211095335020745625964172738843036082036500780599110883933436547431916147341946895730036658724720731013675161616065825465964541586068668775376769861832789887809258462392609036695877648780094115794715868507965078563798462217657666965473749703914988467189184017376241748487212787752158783282714892091106702328298970204405055389085797022525523061043024734712256504086665359376703770593829354612353194970147742989731124699271794610465283309483267522942807636064685083254972270202650301053287670319386719758333200686517826372237869436835739838878042296465078428577947319146695387142273217139698801971711179575885551984008477723599408220317744836499343384383010675863531004923563693528169201406354577965460124176367291504103274800572173556811046319955339079359003536180406289792005305621962861038051754273402703643517957970236998193213817055838257142459260345094854153237324929039060778338553519175256395650676671693270785438366828558946417368232313229586846054883910751834098237656179740874619761781621670010089963162201011063011 10900625170612116686502318281072312363673525733838538014186058554796878660932623003525654025173283298766001644304001378469261005812448224195101193585751913787990706713461081323119475164343103610648391148156175440949480498245174419512008528104488243839807732340353428116526044993288044593655728083265619603965834235310066487359381060064746527353355414132358720977663137749257635262243141141093171214777409907668463856497677514771823752249092563621227454842957394969057657464415542463189006602065399999941417599634753934316289836461637009390398019499689940915048635150614368388695925798586581383386240036365206104000412221423043869512860727162052637213539297500539198846937822513015124102746520025910048651237059781887803359558547868492392322217186818258108652683738563219479140227097413958455195864119404157125183593332894124969057194911467198665551789096868548894885950460175864115535738378467475656262698843302694297318573132600833640432748854472563786196824671706228648683698222304877845110818138619133394968487883189488236461655838438296497053285489384113627556686898520446387872391097379045988772487484703338139380582664449453787807647444765004590060855318524955915641783527776203504597836109390610323091526278966314138536792772047622447427792436335146685533650403306636488801361227231584049521358239699037791478136246072224682009205622646849929265682024346124501777316098903520731828180683015961399640408711972176139551321037734009653165364386235304926687223614927305756915663555190627144198502898375899393296294683741790446635090628464310873269228190989065254210788047511769871377064795989312164539654310185601595445267280142701432074552682186742406339622008727842137700960358819006476999030313205620308874983034016053328235692573026281816092252838977604786354447101476969404345646755404073095026770303444487543828816414626332079325349187246733148111385896466097603090480387869431632492665427004589141902220178848151231931923240991615355432686692164402362108181793341439975907483440426140000585197224678673861714927480681996261824728113179777479269268790767096381756668023488227537618282439907981406296146257363456381362176849013207857245075994760250420562250716226351246531298558874354976223017193057971920522751260549104679302966227666332663115868311854365247091408418255356024299677040839723531399915349822558252289484368621111179567007918237963683590417671714505355168060847771301050672593275246148965339840265342519743623867622235542523266332441089760373908607166188590026482929791984371408171486413768408834368550334764540631629725782054767034069501771689806883358677367558048335111181509746644115594775795916106952548070549494158694418 17637582024673026221033963525413584973496042419544436631397805452918406005584353308353751710035491728820325919415578217160216799039743487285626073026870284458002251515874856066842696539343679515468927774563410588022014265570897980934410298647580239481293355900833161024837139539294715640248183297233998424072062786596433117106161987394120643997024079073455194719260128707308630707667289061397336228235878885020880289792411240968171927879586748623904126312808591747232646091639289373118207093506838514897439911728275508328380156292744668239425852027802817312524479797595510476181022852453487982244128019359465968427537971227892480983865184200676186878170836736068251799416627996116189558004664255098581611099289156854198805162268706699059926830991616734529613700677366797737791990283704180129130037881245258118382573642509913501111379132810541801697982255238434854901538872876505309874174169229911123588426255678564012877563175872562204493737889035487927904778664335934376084019650284425235311837069234659662664663696562478894217712564244564774012165686092230259652196991917685506886242860897413420741885057121641853010646026365590193107530151980976818657536348276339997528786455682938762758034320100551968801205111187778826271435009045458896631150257326136198864381473233777152326530600583274953681867611184601415778466514871835923965635723569633920545885007899694363493628303085093503137379325006196316904186399014968470349007374138658628884516879193466373330151893015648889501068921584328098886808609486941974440437157723906424771412610131687859224341437582034632428334669260181917591982793968590049552034213331470703603711491238036452820178646359481249375704045228622736811844292255553908915177655152516038911641758736784341910854189092107282056794425046273561731216963309759292154905217796682131722647952224581659623532283134297157889147649464390815076859646170012591557669571886807874241152639792341300685502893740242338634251539961819760488075777961424887631242836366174688163987527091499377288967818508028474068122450829739251555852812451572089734552100250363904699475659552912620873254710110631707349433927682843101120510049699725683617313864197086160401128758522816324959876506193501671610159466275111619324722971728680564854950236144056262524088629599201746434792801266031887830681964403417059569116756177136217749608544988402683670282718810137240401463991669844434527064383951707340464598580868111826377892019615922447267385580205779521459546258145598631051066426533684880636167116913410468949824967287584090764201011436233902415164148883325980486870004003036470204732251468800169209419165926384990214537577537776962638033711695169757429 28538207195285142907536281806485897337169568153382974645583864007715284666516976311879405735208775027586327563719579595629477804852191711480727266612622198245992958229335937389962171703686783126117318922719586028971494763816072400446418826752068483321101088241186589141363184532582760233903911380499618028037897021906499604465543047458867171350379493205813915696923266456566265969910430202490507443013288792689344146290088755739995680128679312245131581155765986716290303556054831836307213695572238514838857511363029442644669992754381677629823871527492758227573114948209878864876948651040069365630368055724672072427950192650936350496725911362728824091710134236607450646354450509131313660751184281008630262336348938742002164720816575191452249048178434992638266384415930017216932217381118138584325902000649415243566166975404038470168574044277740467249771352106983749787489333052369425409912547697386779851125098981258310196136308473395844926486743508051714101603336042163024767717872589303080422655207853793057633151579751967130679368402682861271065451175476343887208883890438131894758633958276459409514372541824979992391228690815043980915177596745981408718391666801295913170569983459142267355870429491162291892731390154092964808227781093081344058942693661282884398031876540413641127891827814859003203225850883639207256602760944060605974841346216483849811567032245818865270944401988614234965560008022157716544595110987144609900328411872668282049881265428771300017375507942954646416732476774955243085311507862841367736731841465696871406503238595998732493569628571099886639122716771951788969047589957902214091688523517072299048978771380737884894731328546223655715326053956464874512804651074560385914207968358136347786624792752837670146546762118389098149047264023878348085664064786728696500551973200755226749418255669069203452348697760629237214496836711123963188245542636110194648149959756239506733818066796930442587723072588393570566174780953435115920762470125827249739424629707614664071470967517639377874165043186702335783049931511735513380580925631349569003820891017460286456143683041140158491537150018613113645580185046299482482686898712933540862389858957336580963379474749167571491175065067856647833176659333083539847474232277785244157916463810388925639956941453566993526201219521387912130359005243140590969032105999694470039092913609513863237290637048100923991881663384349789695125231723008391137191856114260791717732284958442190891253202441322044725878699235359004959673592722274907119096908897781877121311381055992925132751346200774534044889930938093014556371775692843353563409619026848504320600675673029105809313373453883915186104261189328451847 46175789219958169128570245331899482310665610572927411276981669460633690672101329620233157445244266756406653483135157812789694603891935198766353339639492482703995209745210793456804868243030462641586246697282996616993509029386970381380829125399648722802394444142019750166200324071877475874152094677733616452109959808502932721571705034852987815347403572279269110416183395163874896677577719263887843671249167677710224436082499996708167608008266060869035707468574578463522949647694121209425420789079077029736297423091304950973050149047126345869249723555295575540097594745805389341057971503493557347874496075084138040855488163878828831480591095563405010969880970972675702445771078505247503218755848536107211873435638095596200969883085281890512175879170051727167880085093296814954724207664822318713455939881894673361948740617913951971279953177088282268947753607345418604689028205928874735284086716927297903439551354659822323073699484345958049420224632543539642006382000378097400851737522873728315734492277088452720297815276314446024897080966927426045077616861568574146861080882355817401644876819173872830256257598946621845401874717180634174022707748726958227375928015077635910699356439142081030113904749591714260693936501341871791079662790138540240690092950987419083262413349774190793454422428398133956885093462068240623035069275815896529940477069786117770357452040145513228764572705073707738102939333028354033448781510002113080249335786011326910934398144622237673347527400958603535917801398359283341972120117349783342177168999189603296177915848727686591717911066153134519067457386032133706561030383926492263643722736848543002652690262618774337714909974905704905091030099185087611324648943330114294829385623510652386698266551489622012057400951210496380205841689070151909816881028096487988655457190997437358472066207893650863075880980894926395103644486175514778265105188806122786205819531643047380974970706589271743273225966328635909200426320915254876408838248087252137370667466073789352235458494609138755163132861694730809851172382341474764936433738082921658738372991267824191155619342594052779364791860129244820995014112729142583603196948412659224479703723154422741364508233271983896451051571261358319443336125608195159172197204006465809012866699954445188164045571052768739960994020787419799961040969646557650538148862176830687788701458597916546907573355858238164393345655054194224222189615674715731601790436982372618095624304574364638158638782647101566185424957380957636010740019255959787755264025811192346071136348343577015896952357637008436460054079821418995043241779695879823768141870495648673530019841599414096023850950991660877824137972884498209276 74713996415243312036106527138385379647835178726310385922565533468348975338618305932112563180453041783992981046854737408419172408744126910247080606252114680949988167974546730846767039946717245767703565620002582645965003793203042781827247952151717206123495532383206339307563508604460236108056006058233234480147856830409432326037248082311854986697783065485083026113106661620441162647488149466378351114262456470399568582372588752448163288136945373114167288624340565179813253203748953045732634484651315544575154934454334393617720141801508023499073595082788333767670709694015268205934920154533626713504864130808810113283438356529765181977317006926133835061591105209283153092125529014378816879507032817115842135771987034338203134603901857081964424927348486719806146469509226832171656425045940457297781841882544088605514907593317990441448527221366022736197524959452402354476517538981244160693999264624684683290676453641080633269835792819353894346711376051591356107985336420260425619455395463031396157147484942245777930966856066413155576449369610287316143068037044918034069964772793949296403510777450332239770630140771601837793103407995678154937885345472939636094319681878931823869926422601223297469775179082876552586667891495964755887890571231621584749035644648701967660445226314604434582314256212992960088319312951879830291672036759957135915318416002601620169019072391332094035517107062321973068499341050511749993376620989257690149664197883995192984279410051008973364902908901558182334533875134238585057431625212624709913900840655300167584419087323685324211480694724234405706580102804085495530077973884394477735411260365615301701669033999512222609641303451928560806356153141552485837453594404674680743593591868788734484891344242459682203947713328885478354888953094030257902545092883216685156009164198192585221484463562720066528229678655555632318141322886638741453350731442232980853969491399286887708788773386202185860949038917029479766601101868689992329600718213079387110092095781404016306929462126778133037297904881433145634222313853210278317014663714271227742193882285284477611763025635192937856329010147857934640594297775442066085883847125592765342093582111759322327887708021151467942226636329214967276512784941278699019671436284251053170783163764834113804002512506335733487195240308807712091399974889698241507180968176525157827794372207430410144863992906339088385227318438544013917314847397724122738982293096633409813356589532806829049891985088423610911303656616316640970413611978234694874360934708974223192447729399569941029703703837782970504944010759512009599613555388723177331551489522497177850620517272443201833164324445544793010242234073826661123 120889785635201481164676772470284861958500789299237797199547202928982666010719635552345720625697308540399634529989895221208867012636062109013433945891607163653983377719757524303571908189747708409289812317285579262958512822590013163208077077551365928925889976525226089473763832676337711982208100735966850932257816638912365047608953117164842802045186637764352136529290056784316059325065868730266194785511624148109793018455088749156330896145211433983202996092915143643336202851443074255158055273730392574311452357545639344590770290848634369368323318638083909307768304439820657546992891658027184061379360205892948154138926520408594013457908102489538846031472076181958855537896607519626320098262881353223054009207625129934404104486987138972476600806518538446974026554602523647126380632710762776011237781764438761967463648211231942412728480398454305005145278566797820959165545744910118895978085981551982586730227808300902956343535277165311943766936008595130998114367336798357826471192918336759711891639762030698498228782132380859180473530336537713361220684898613492180931045655149766698048387596624205070026887739718223683194978125176312328960593094199897863470247696956567734569282861743304327583679928674590813280604392837836546967553361370161825439128595636121050922858576088795228036736684611126916973412775020120453326741312575853665855795485788719390526471112536845322800089812136029711171438674078865783442158130991370770398999983895322103918677554673246646712430309860161718252335273493521927029551742562408052091069839844903463762334936051371915929391760877368924774037488836219202091108357810886741379133997214158304354359296618286560324551278357633465897386252326640097162102537734788975572979215379441121183157895732081694261348664539381858560730642164182167719426120979704673811466355195629943693550671456370929604110659550482027421785809062153519718455920248355767059789023042334268683759479975473929134175005245665388967027422783944868738438966300331524480759561855193368542387956735916888200430766576163955485394696194685043253448401797192886480566873553108668767382368229245717221120870277102755635608410504584649689080795538251989821797305266182063692395941293135364393278207590573286719848910549473858191868640290716862183649863719279301968048083559104473448189261096227512052440944536255892045329830353355845616495830805346957052437348764577252778572973492738238139504463072439854340772730079006027908980894107171467208530767735525177096728613997274276981153631234194482629624960520166569263584077743146956926656061474791406964998090580931004642855335084603001099693360018145851380640358871857297857015275437205670834380206958324870399 195603782050444793200783299608670241606335968025548183122112736397331641349337941484458283806150350324392615576844632629628039421380189019260514552143721844603971545694304255150338948136464954176993377937288161908923516615793055945035325029703083135049385508908432428781327341280797948090264106794200085412405673469321797373646201199476697788742969703249435162642396718404757221972554018196644545899774080618509361600827677501604494184282156807097370284717255708823149456055192027300890689758381708118886607291999973738208490432650142392867396913720872243075439014133835925752927811812560810774884224336701758267422364876938359195435225109415672681093063181391242008630022136534005136977769914170338896144979612164272607239090888996054441025733867025166780173024111750479298037057756703233309019623646982850572978555804549932854177007619820327741342803526250223313642063283891363056672085246176667270020904261941983589613371069984665838113647384646722354222352673218618252090648313799791108048787246972944276159748988447272336049979706148000677363752935658410215001010427943715994451898374074537309797517880489825520988081533171990483898478439672837499564567378835499558439209284344527625053455107757467365867272284333801302855443932601783410188164240284823018583303802403399662619050940824119877061732087972000283618413349335810801771113901791321010695490184928177416835606919198351684239938015129377533435534751980628460548664181779317296902956964724255620077333218761719900586869148627760512086983367775032762004970680500203631346754023375057240140872455601603330480617591640304697621186331695281219114545257579773606056028330617798782934192581809562026703742405468192582999556132139463656316572807248229855668049239974541376465296377868267336915619595258212425621971213862921358967475519393822528915035135019090996132340338206037659739927131948792261171806651690588747913758514441621156392548253361676114995124044162694868733628524652634861068039684513410911590851657636597384849317418862695021237728671457597101119617010047895321570463065511464114222760755838393146379145393864438655077449880424960690276202708280026715774964642663844755163890887377941386020283649314286832335504843919788253996361695490752557211540076574967915354433027484113415772050596065440206935384501405035224143840919425954133552510798529881003444290203012777367197301341670916341163800291931282252056819310470163977079755023175639437722337483639978296258422752823948788008032270613590917951567243212429177503985895229140792456031807142716897956359765312574377469942101340443014242468890473326178431244849540643029231260876144300499690179599882750463844622441032151531522 316493567685646274365460072078955103564836757324785980321659939326314307360057577036804004431847658864792250106834527850836906434016251128273948498035329008257954923414061779453910856326212662586283190254573741171882029438383069108243402107254449063975275485433658518255091173957135660072472207530166936344663490108234162421255154316641540590788156341013787299171686775189073281297619886926910740685285704766619154619282766250760825080427368241080573280810170852466485658906635101556048745032112100693198059649545613082799260723498776762235720232358956152383207318573656583299920703470587994836263584542594706421561291397346953208893133211905211527124535257573200864167918744053631457076032795523561950154187237294207011343577876135026917626540385563613754199578714274126424417690467466009320257405411421612540442204015781875266905488018274632746488082093048044272807609028801481952650171227728649856751132070242886545956906347149977781880583393241853352336720010016976078561841232136550819940427009003642774388531120828131516523510042685714038584437834271902395932056083093482692500285970698742379824405620208049204183059658348302812859071533872735363034815075792067293008492146087831952637135036432058179147876677171637849822997293971945235627292835920944069506162378492194890655787625435246794035144862992120736945154661911664467626909387580040401221961297465022739635696731334381395411376689208243316877692882971999230947664165674639400821634519397502266789763528621881618839204422121282439116535110337440814096040520345107095109088959426429156070264216478972255254655080476523899712294689506167960493679254793931910410387627236085343258743860167195492601128657794832680161658669874252631889552022627670976851207135706623070726645042407649195476350237422394593341397334842626032778941874589452472608585806475461925736450997756519687161712941010945780890262571938944514973547537483955425076307733337150044129299049408360257700655947436579729806478650813742436071611219491790753391705375598611909438159438033761056605011706242580364823911467308657000703327629391501815146527762093684372298570750702063445911811118784611365464045438202096744985688192644123449712679590607422196728783051510361540716210606040226415403408716865684777538082891203392717740098679624544680383573762501262736196281863962210025597840628883236849060786033818124324249738690435493593942373265424020490196323773542603831420527753254645465631318377747149763466953520559473965104760884610865194932720874446623660133610855749307361719615884885863854883015826787365784434940191921374018885324225557929179530938209558788880611901235016157797547194875319956134679002647990476401921 512097349736091067566243371687625345171172725350334163443772675723645948709395518521262288237998009189184865683679160480464945855396440147534463050179050852861926469108366034604249804462677616763276568191861903080805546054176125053278727136957532199024660994342090947036418515237933608162736314324367021757069163577555959794901355516118238379531126044263222461814083493593830503270173905123555286585059785385128516220110443752365319264709525048177943565527426561289635114961827128856939434790493808812084666941545586821007751156148919155103117146079828395458646332707492509052848515283148805611147808879296464688983656274285312404328358321320884208217598438964442872797940880587636594053802709693900846299166849458479618582668765131081358652274252588780534372602826024605722454748224169242629277029058404463113420759820331808121082495638094960487830885619298267586449672312692845009322256473905317126772036332184870135570277417134643619994230777888575706559072683235594330652489545936341927989214255976587050548280109275403852573489748833714715948190769930312610933066511037198686952184344773279689621923500697874725171141191520293296757549973545572862599382454627566851447701430432359577690590144189525545015148961505439152678441226573728645815457076205767088089466180895594553274838566259366671096876950964121020563568011247475269398023289371361411917451482393200156471303650532733079651314704337620850313227634952627691496328347453956697724591484121757886867096747383601519426073570749042951203518478112473576101011200845310726455842982801486396211136672080575585735272672116828597333481021201449179608224512373705516466415957853884126192936441976757519304871063263025263161214802013716288206124829875900832519256375681164447191941420275916532391969832680607018963368548705547391746417393983275001523620941494552921868791335962557346901640072959738042062069223629533262887306051925576581468855986698826159124423093571055126434284472089214590874518335327153347662462877128388138241022794461306930675888109491358157724628716290475686394374532820121114926088385229894961525673155958123027376020631127024136188013827064638081239010080865941500149579080022064835732963239921709029064287895430149794712572301530978972614948793440652692892515918687506133512149275689984887318958263906297960340122783388164159150351427413117852505076236830901691447040032106409935106173557355302742253143084012767808500282776430284903353655861387128059725376273383422753112793155224456112884288117659052837637596750978448154175647692028580752839375592099940161904882293261817033127793116031255357962183059099431909843162111160458297237374475202706598523625089022627933443 828590917421737341931703443766580448736009482675120143765432615049960256069453095558066292669845668053977115790513688331301852289412691275808411548214379861119881392522427814058160660788890279349559758446435644252687575492559194161522129244211981262999936479775749465291509689195069268235208521854533958101732653685790122216156509832759778970319282385277009760985770268782903784567793792050466027270345490151747670839393210003126144345136893289258516846337597413756120773868462230412988179822605909505282726591091199903807011879647695917338837378438784547841853651281149092352769218753736800447411393421891171110544947671632265613221491533226095735342133696537643736965859624641268051129835505217462796453354086752686629926246641266108276278814638152394288572181540298732146872438691635251949534434469826075653862963836113683387987983656369593234318967712346311859257281341494326961972427701633966983523168402427756681527183764284621401874814171130429058895792693252570409214330778072892747929641264980229824936811230103535369096999791519428754532628604202215006865122594130681379452470315472022069446329120905923929354200849868596109616621507418308225634197530419634144456193576520191530327725180621583724163025638677077002501438520545673881442749912126711157595628559387789443930626191694613465132021813956241757508722673159139737024932676951401813139412779858222896107000381867114475062691393545864167190920517924626922443992513128596098546226003519260153656860276005483138265277992870325390320053588449914390197051721190417821564931942227915552281400888559547840989927752593352497045775710707617140101903767167637426876803585089969469451680302143953011905999721057857943322873471887968920095676852503571809370463511387787517918586462683565727868320070103001612304765883548173424525359268572727474132206747970014847605242333719077034063353013970683822952331795568477777860853589409532006545163720035976203253722142979415384134940419525794320680996986140895783734074096620178891632728170059918840114047547525119214329640422533056051218286000128778115629416014621396776672200918051807399674591381829087582099824945849249446703055519068038245135267272666188285445642830529131225793070946940511335428782907571205388018357510306337470430598809890898851252247955314529567702532026407560696536404647350374184748192056296354701565862270649026015696778722541903529048546822779323232449466857555371639920810529684930368984974239134277823192329793942896718217554039835321307817008992105676497771207606727755515895263576914444607722391418887305946339822485183191052013117341589184537493121268658220790455063346176616094784569350522662733202627737013104335364 1340688267157828409497946815454205793907182208025454307209205290773606204778848614079328580907843677243161981474192848811766798144809131423342874598393430713981807861630793848662410465251567896112836326638297547333493121546735319214800856381169513462024597474117840412327928204433002876397944836178900979858801817263346082011057865348878017349850408429540232222799853762376734287837967697174021313855405275536876187059503653755491463609846418337436460411865023975045755888830289359269927614613099718317367393532636786724814763035796615072441954524518612943300499983988641601405617734036885606058559202301187635799528603945917578017549849854546979943559732135502086609763800505228904645183638214911363642752520936211166248508915406397189634931088890741174822944784366323337869327186915804494578811463528230538767283723656445491509070479294464553722149853331644579445706953654187171971294684175539284110295204734612626817097461181419265021869044949019004765454865376488164739866820324009234675918855520956816875485091339378939221670489540353143470480819374132527617798189105167880066404654660245301759068252621603798654525342041388889406374171480963881088233579985047200995903895006952551108018315324811109269178174600182516155179879747119402527258206988332478245685094740283383997205464757953980136228898764920362778072290684406615006422955966322763225056864262251423052578304032399847554714006097883485017504148152877254613940320860582552796270817487641018040523957023389084657691351563619368341523572066562387966298062922035728548020774925029401948492537560640123426725200424710181094379256731909066319710128279541342943343219542943853595644616744120710531210870784320883206484088273901685208301801682379472641889719887068951965110527882959482260260289902783608631268134432253720816271776662556002475655827689464567769474033669681634380964993086930421865014401019198011040748159641335108588014019706734802362378145236550470510569224891615008911555515321468049131396536973748567029873750964521225770789935657016477372054269138823531737612660532948899230555504399851291738197874074009930427050612012956111718287838772913887527942065599933979745284846352688253121178606070450840254857358842370661130141355209102184360633306303746990163323114728578404984764397231004514455021490290313858656876527430738538343898543483709472554070938507479927707143818754648313464154720380134625974702609941568139448421093306115215272338630100521405882917706067326319471330347195059777420701297109764729335408804357706203670070911268943025360561767010987246108244704778445008085140910457620439895455304327757652700298225457337074392021943825725369331726252826035732268807 2169279184579565751429650259220786242643191690700574450974637905823566460848301709637394873577689345297139097264706537143068650434221822699151286146607810575101689254153221662720571126040458175462396085084733191586180697039294513376322985625381494725024533953893589877619437893628072144633153358033434937960534470949136204227214375181637796320169690814817241983785624031159638072405761489224487341125750765688623857898896863758617607954983311626694977258202621388801876662698751589682915794435705627822650120123727986628621774915444310989780791902957397491142353635269790693758386952790622406505970595723078806910073551617549843630771341387773075678901865832039730346729660129870172696313473720128826439205875022963852878435162047663297911209903528893569111516965906622070016199625607439746528345897998056614421146687492559174897058462950834146956468821043990891304964234995681498933267111877173251093818373137040383498624644945703886423743859120149433824350658069740735149081151102082127423848496785937046700421902569482474590767489331872572225013447978334742624663311699298561445857124975717323828514581742509722583879542891257485515990792988382189313867777515466835140360088583472742638346040505432692993341200238859593157681318267665076408700956900459189403280723299671173441136090949648593601360920578876604535581013357565754743447888643274165038196277042109645948685304414266962029776697491429349184695068670801881536384313373711148894817043491160278194180817299394567795956629556489693731843625655012302356495114643226146369585706867257317500773938449199671267715128177303533591425032442616683459812032046708980370220023128033823065096297046264663543116870505378741149806961745789654128397478534883044451260183398456739483029114345643047988128609972886610243572900315801894240797135931128729949788034437434582617079276003400711415028346100901105687966732814766488818609013230744640594559183426770778565631867379529885894704165311140803232236512307608944915130611070368745921506479134581144610903983204541596586383909561356587788830946533077677346184920414472688514870074992061737826725203394785199300387663718763136974645121119002017990420113625354441406624248900979971480650429789311172465570138116673389748651663814053327633753713538469303836016645186319044022724022316721419353412932078088912528646735540005827255636800778128953722840597477190216993203267202913949207152076799123511088341903835800145641323604339655683706110035861269216189547901234895098728518306101870405833180011964433959185966174845857469968284158429874552054584527263628199137154027799209624432948425596415873490753288803513690486806513176248032064928880563048836604171 3509967451737394160927597074674992036550373898726028758183843196597172665627150323716723454485533022540301078738899385954835448579030954122494160745001241289083497115784015511382981591292026071575232411723030738919673818586029832591123842006551008187049131428011430289947366098061075021031098194212335917819336288212482286238272240530515813670020099244357474206585477793536372360243729186398508654981156041225500044958400517514109071564829729964131437670067645363847632551529040948952843409048805346140017513656364773353436537951240926062222746427476010434442853619258432295164004686827508012564529798024266442709602155563467421648321191242320055622461597967541816956493460635099077341497111935040190081958395959175019126944077454060487546140992419634743934461750272945407885526812523244241107157361526287153188430411149004666406128942245298700678618674375635470750671188649868670904561796052712535204113577871653010315722106127123151445612904069168438589805523446228899888947971426091362099767352306893863575906993908861413812437978872225715695494267352467270242461500804466441512261779635962625587582834364113521238404884932646374922364964469346070402101357500514036136263983590425293746364355830243802262519374839042109312861198014784478935959163888791667648965818039954557438341555707602573737589819343796967313653304041972369749870844609596928263253141304361069001263608446666809584490703589312834202199216823679136150324634234293701691087860978801296234704774322783652453647981120109062073367197721574690322793177565261874917606481792286719449266476009839794694440328602013714685804289174525749779522160326250323313563242670977676660740913790385374074327741289699624356291050019691339336699280217262517093149903285525691448139642228602530248388899875670218874841034748055615057068912593684732425443862126899150386553309673082345795993339187831527552981133833964499859357172872079749182573203133505580928010012616080356405273390202755812143792027629076994046527148044117312951380230099102370381693918861558073958438178700180119526443607066026576576740424814323980253067949066071668253775815407741311018675502491677024502587186718935997735704959978042694527802854971430811735507788631681833595711493325775574109284970117800317797076828267047708820781042417323558477745512607035278010289459508827450872545279023715299809707739285608881429984416231838530457357987583048575181854686740691650536762997141915360913662234440177089589027741928595535660878248429954876149219603211635135168588816322140162856037086114800495328845925440861798162829232042073207222294938256830064328403729924173526191051514260850764878828457001973401396655133389084568872978 5679246636316959912357247333895778279193565589426603209158481102420739126475452033354118328063222367837440176003605923097904099013252776821645446891609051864185186369937237174103552717332484247037628496807763930505854515625324345967446827631932502912073665381905020167566803991689147165664251552245770855779870759161618490465486615712153609990189790059174716190371101824696010432649490675622995996106906806914123902857297381272726679519813041590826414928270266752649509214227792538635759203484510973962667633780092759982058312866685237052003538330433407925585207254528222988922391639618130419070500393747345249619675707181017265279092532630093131301363463799581547303223120764969250037810585655169016521164270982138872005379239501723785457350895948528313045978716179567477901726438130683987635503259524343767609577098641563841303187405196132847635087495419626362055635423645550169837828907929885786297931951008693393814346751072827037869356763189317872414156181515969635038029122528173489523615849092830910276328896478343888403205468204098287920507715330802012867124812503765002958118904611679949416097416106623243822284427823903860438355757457728259715969135015980871276624072173898036384710396335676495255860575077901702470542516282449555344660120789250857052246541339625730879477646657251167338950739922673571849234317399538124493318733252871093301449418346470714949948912860933771614267401080742183386894285494481017686708947608004850585904904469961574428885591622178220249604610676598755805210823376586992679288292208488021287192188659544036950040414459039465962155456779317248277229321617142433239334192372959303683783265799011499725837210836650037617444611795078365506098011765480993465096758752145561544410086683982430931168756574245578236517509848556829118413935063857509297866048524813462375231896564333733003632585676483057211021685288732633240947866648730988677966186102824389777132386560276359493641879995610242299977555513896615376028539936685938961657759114486058872886709233683514992597902066099670544822088261536707315274553599104253922925345228796668767938024058133406080501018802526510319063166210440161477232307837938015726125073603397135934427103872410783216158218420993006061281631442448963857936633931853645430830541805517012656797687603642602500469534923756697363702391586916363401192014563721127065344540063737835152825013709028747450561254785962524389006763539815161625104900977715506554985838779832773295137777789864751850426149664849974877737909313505541001768828286574122042003260960657965297130083870736350217413759305701406359448966056039688761352155520589399681804803064364455365634970178221433461584013952133405477149 9189214088054354073284844408570770315743939488152631967342324299017911792102602357070841782548755390377741254742505309052739547592283730944139607636610293153268683485721252685486534308624510318612860908530794669425528334211354178558570669638483511099122796809916450457514170089750222186695349746458106773599207047374100776703758856242669423660209889303532190396956579618232382792893219862021504651088062848139623947815697898786835751084642771554957852598337912116497141765756833487588602612533316320102685147436457533335494850817926163114226284757909418360028060873786655284086396326445638431635030191771611692329277862744484686927413723872413186923825061767123364259716581400068327379307697590209206603122666941313891132323316955784273003491888368163056980440466452512885787253250653928228742660621050630920798007509790568507709316347441431548313706169795261832806306612295418840742390703982598321502045528880346404130068857199950189314969667258486311003961704962198534926977093954264851623383201399724773852235890387205302215643447076324003616001982683269283109586313308231444470380684247642575003680250470736765060689312756550235360720721927074330118070492516494907412888055764323330131074752165920297518379949916943811783403714297234034280619284678042524701212359379580288317819202364853741076540559266470539162887621441510494243189577862468021564702559650831783951212521307600581198758104670055017589093502318160153837033581842298552276992765448762870663590365944961872703252591796707817878578021098161683002081469773749896204798670451830756399306890468879260656595785381330962963033610791668183018856352699209626997346508469989176386578124627035411691772353084777989862389061785172332801796038969408078637559989969508122379308398802848108484906409724227047993254969811913124354934961118498194800675758691232883390185895349565403007015024476564160793929000482695488537323358974904138959705589693781940421651892611690598705250945716652427519820567565762933008184907158603371824266939332785885374291820927657744503260266961716826841718160665130830499665770043120649021005973124205074334276834210267821337738668702117185979819494556874013461830033581439830462229958843841594951666007052674839656993124768224537967221604049653963227907370072564721477578730020966160978215047530791975373991851095743814273737293587436426875052279349346716582809429940867277907919242369011099570861450280506812161867898119630867468648073220009862884165519718460287511304398094804851026957512525140676170357644608714284898040347075458460625976009311598148380242991347774613581743904312869753089755885444762925872856317325215220244463427180194834858239147341217974350127 14868460724371313985642091742466548594937505077579235176500805401438650918578054390424960110611977758215181430746111232150643646605536507765785054528219345017453869855658489859590087025956994565650489405338558599931382849836678524526017497270416014011196462191821470625080974081439369352359601298703877629379077806535719267169245471954823033650399679362706906587327681442928393225542710537644500647194969655053747850672995280059562430604455813145784267526608178869146650979984626026224361816017827294065352781216550293317553163684611400166229823088342826285613268128314878273008787966063768850705530585518956941948953569925501952206506256502506318225188525566704911562939702165037577417118283245378223124286937923452763137702556457508058460842784316691370026419182632080363688979688784612216378163880574974688407584608432132349012503752637564395948793665214888194861942035940969010580219611912484107799977479889039797944415608272777227184326430447804183418117886478168169965006216482438341146999050492555684128564786865549190618848915280422291536509698014071295976711125811996447428499588859322524419777666577360008882973740580454095799076479384802589834039627532475778689512127938221366515785148501596792774240524994845514253946230579683589625279405467293381753458900719206019197296849022104908415491299189144111012121938841048618736508311115339114866151977997302498901161434168534352813025505750797200975987787812641171523742529450303402862897669918724445092475957567140092952857202473306573683788844474748675681369761982237917491990859111374793349347304927918726618751242160648211240262932408810616258190545072168930681129774269000676112415335463685449309216964879856355368487073550653326266892797721553640181970076653490553310477155377093686721423919572783877111668904875770633652801009643311657175907655255566616393818481026048460218036709765296794034876867131426477215289545077728528736837976254058299915293772607300841005228501230549042895849107502448871969842666273089430697153648566469400366889722993757415048082355223253534156992714264235084422591115271917317788943997182338480414777853012794331656801834912557347457051802394812029187955107184836966396657062716252378167824225473667845718274756210673501825158237981507608658737911878081734134376417624608763478684582454548672737694242682660177674929308151157553940396819413084551735634443649896025358480497154973623959868213820321973786972799097346374023633911999842636179303297508325039361730547759654825904695421838646217172126472895288406940043608036116425923106093182334498597656750653476019941192870368909441851108040965352325554661120389579675610098397358416268319823161293351379827276 24057674812425668058926936151037318910681444565731867143843129700456562710680656747495801893160733148592922685488616541203383194197820238709924662164829638170722553341379742545076621334581504884263350313869353269356911184048032703084588166908899525110319259001737921082595144171189591539054951045161984402978284853909820043873004328197492457310609568666239096984284261061160776018435930399666005298283032503193371798488693178846398181689098584700742120124946090985643792745741459513812964428551143614168037928653007826653048014502537563280456107846252244645641329002101533557095184292509407282340560777290568634278231432669986639133919980374919505149013587333828275822656283565105904796425980835587429727409604864766654270025873413292331464334672684854427006859649084593249476232939438540445120824501625605609205592118222700856721820100078995944262499835010150027668248648236387851322610315895082429302023008769386202074484465472727416499296097706290494422079591440366704891983310436703192770382251892280457980800677252754492834492362356746295152511680697340579086297439120227891898880273106965099423457917048096773943663053337004331159797201311876919952110120048970686102400183702544696646859900667517090292620474911789326037349944876917623905898690145335906454671260098786307515116051386958649492031858455614650175009560282559112979697888977807136430854537648134282852373955476134934011783610420852218565081290130801325360776111292601955139890435367487315756066323512101965656109794270014391562366865572910358683451231755987813696789529563205549748654195396797987275347027541979174203296543200478799277046897771378557678476282738989852498993460090720861000989317964634345230876135335825659068688836690961718819530066622998675689785554179941795206330329297010925104923874687683758007735970761809851976583413946799499784004376375613863225051734241860954828805867614121965752612904052632667696543565947840240336945665218991439710479446947201470415669675068211804978027573431692802521420587899255285741181543921415159551342622184970360998710874929365914922256885315037966809949970306543554749054687223062152994540503614674533436871296951686042649785140766276796858887021560093973119490232526342685375267880978898039792379842031161571886645281950646455611955147645574924456899629985340648111686093778403991948666601738593980815449098762431268318443873590763303266399739523984723530729664100828785948840697216977241492281985219852499063468817226785326873034945854459676931652934363786893342484117504002691838083955111574886549082102493932646977899742001250633522936774681779194940863926410115251427517437714794895854561824538611103178062308634569354177403 38926135536796982044569027893503867505618949643311102320343935101895213629258711137920762003772710906808104116234727773354026840803356746475709716693048983188176423197038232404666708360538499449913839719207911869288294033884711227610605664179315539121515721193559391707676118252628960891414552343865862032357362660445539311042249800152315490961009248028946003571611942504089169243978640937310505945478002158247119649161688458905960612293554397846526387651554269854790443725726085540037326244568970908233390709869558119970601178187148963446685930934595070931254597130416411830103972258573176133046091362809525576227185002595488591340426236877425823374202112900533187385595985730143482213544264080965652851696542788219417407728429870800389925177457001545797033278831716673613165212628223152661498988382200580297613176726654833205734323852716560340211293500225038222530190684177356861902829927807566537102000488658426000018900073745504643683622528154094677840197477918534874856989526919141533917381302384836142109365464118303683453341277637168586689021378711411875063008564932224339327379861966287623843235583625456782826636793917458426958873680696679509786149747581446464791912311640766063162645049169113883066860999906634840291296175456601213531178095612629288208130160817992326712412900409063557907523157644758761187131499123607731716206200093146251297006515645436781753535389644669286824809116171649419541069077943442496884518640742905358002788105286211760848542281079242058608966996743320965246155710047659034364820993738225731188780388674580343098001500324716713894098269702627385443559475609289415535237442843547488359606057007990528611408795554406310310206282844490700599363208886478985335581634412515359001500143276489229000262709557035481927754248869794802216592779563454391660536980405121509152491069202366116177822857401662323443088444007157748863682734745548442967902449130361196433381542201898540252239437826292280715707948177750513311518782570660676947870239704782233218574236465724686108071266915172574599424977408223895155703589193600999344848000586955284598893967488882035163832540235856484651342338527231880893923099346498071837740247951113763255544084276346351287314458000010531093542637189571541617538080012669180545383193828728189746331565270183687935584212439889320849380336461064169623595909889751534755845918175515820054078317240659328624880236678958347490597877921150759735813496314323615515915897219695135242772114735110366234765493614114502836348356202433110514610590399291098778127563147691312472188195676267145575556492654726653464129645050688636791971967375467576982178558104374571464660221897027371497885469927920734004679 62983810349222650103495964044541186416300394209042969464187064802351776339939367885416563896933444055401026801723344314557410035001176985185634378857878621358898976538417974949743329695120004334177190033077265138645205217932743930695193831088215064231834980195297312790271262423818552430469503389027846435335647514355359354915254128349807948271618816695185100555896203565249945262414571336976511243761034661440491447650381637752358793982652982547268507776500360840434236471467545053850290673120114522401428638522565946623649192689686526727142038780847315576895926132517945387199156551082583415386652140100094210505416435265475230474346217252345328523215700234361463208252269295249387009970244916553082579106147652986071677754303284092721389512129686400224040138480801266862641445567661693106619812883826185906818768844877534062456143952795556284473793335235188250198439332413744713225440243702648966404023497427812202093384539218232060182918625860385172262277069358901579748972837355844726687763554277116600090166141371058176287833639993914881841533059408752454149306004052452231226260135073252723266693500673553556770299847254462758118670882008556429738259867630417150894312495343310759809504949836630973359481474818424166328646120333518837437076785757965194662801420916778634227528951796022207399555016100373411362141059406166844695904089070953387727861053293571064605909345120804220836592726592501638106150368074243822245294752035507313142678540653699076604608604591344024265076791013335356808522575620569393048272225494213544885569918237785892846655695721514701169445297244606559646856018809768214812284340614926046038082339746980381110402255645127171311195600809125045830239344222304644404270471103477077821030209899487904690048263736977277134084578166805727321516654251138149668272951166931361129074483149165615961827233777276186668140178249018703692488602359670408720515353182993864129925108149738780589185103045283720426187395124951983727188457638872481925897813136475035739994824364979971849252810836587734150767599593194256154414464122966914267104885901993251408843937795425589912887227458918637645882842141906414330794396298184114487525388717390560114431105836440324406804690526353216468810518168469581409917922043830752432028475779374645358286712915758612392483842425229968961066430239468161572262511628345515571295016937947088372522190831422631891279976202943071021327542021979545684654193531300857008197882439547634306240931961895693107800439468574179768001290566220003857094707903293790616211518259266199021270298170199792553456234655977286987066419732467831732835893785582828409695995819169467319222046435638474675947778562490088182082 101909945886019632148064991938045053921919343852354071784530999904246989969198079023337325900706154962209130917958072087911436875804533731661344095550927604547075399735456207354410038055658503784091029752285177007933499251817455158305799495267530603353350701388856704497947380676447513321884055732893708467693010174800898665957503928502123439232628064724131104127508146069339114506393212274287017189239036819687611096812070096658319406276207380393794895428054630695224680197193630593887616917689085430634819348392124066594250370876835490173827969715442386508150523262934357217303128809655759548432743502909619786732601437860963821814772454129771151897417813134894650593848255025392869223514508997518735430802690441205489085482733154893111314689586687946021073417312517940475806658195884845768118801266026766204431945571532367268190467805512116624685086835460226472728630016591101575128270171510215503506023986086238202112284612963736703866541154014479850102474547277436454605962364274986260605144856661952742199531605489361859741174917631083468530554438120164329212314568984676570553639997039540347109929084299010339596936641171921185077544562705235939524409615211863615686224806984076822972149999005744856426342474725059006619942295790120050968254881370594482870931581734770960939941852205085765307078173745132172549272558529774576412110289164099639024867568939007846359444734765473507661401842764151057647219446017686319129813392778412671145466645939910837453150885670586082874043787756656322054678285668228427413093219232439276074350306912366235944657196046231415063543566947233945090415494419057630347521783458473534397688396754970909721811051199533481621401883653615746429602553108783629739852105515992436822530353175977133690310973294012759061838827036600529538109433814592541328809931572052870281565552351531732139650091178938510111228622256176452556171337105218851688417802313355060563306650351637320841424540871576001141895343302702497038707240209533158873768052841257268958569060830704657957324077751760308750192577001418151310118053316567913611952886488948536007737905284307625076719767694775122297225180669138295224717495644682186325265636668504323369975190112786675694119148526363747562353155358041123027456002056499932977411669608102835104618278185942300328068054865119289810446766700532331195858421518097050327140935113462908426600508072081960516160212881901418511925419943130305420467689845624472524113779659242769549013046697006059342565933082688682604349646768653114371705298302584889394339081406957511493458493846466938129012727310703940451196064783156468524807861161050405391874553923544038783882268332665846173833248490410822186761 164893756235242282251560955982586240338219738061397041248718064706598766309137446908753889797639599017610157719681416402468846910805710716846978474408806225905974376273874182304153367750778508118268219785362442146578704469750199089000993326355745667585185681584154017288218643100266065752353559121921554903028657689156258020872758056851931387504246881419316204683404349634589059768807783611263528433000071481128102544462451734410678200258860362941063403204554991535658916668661175647737907590809199953036247986914690013217899563566522016900970008496289702085046449395452302604502285360738342963819395643009713997238017873126439052289118671382116480420633513369256113802100524320642256233484753914071818009908838094191560763237036438985832704201716374346245113555793319207338448103763546538874738614149852952111250714416409901330646611758307672909158880170695414722927069349004846288353710415212864469910047483514050404205669152181968764049459779874865022364751616636338034354935201630830987292908410939069342289697746860420036029008557624998350372087497528916783361620573037128801779900132112793070376622584972563896367236488426383943196215444713792369262669482842280766580537302327387582781654948842375829785823949543483172948588416123638888405331667128559677533733002651549595167470804001107972706633189845505583911413617935941421108014378235053026752728622232578910965354079886277728497994569356652695753369814091930141375108144813919984288145186593609914057759490261930107139120578769991678863200861288797820461365444726652820959920225150152128791312891767746116232988864191840504737271513228825845159806124073399580435770736501951290832213306844660652932597484462740792259841897331088274144122576619469514643560563075465038380359237030990036195923405203406256859626088065730690997082882738984231410640035500697348101477324956214696779368800505195156248659939464889260408933155496348924693231758501376101430609643916859721568082738427654480765895697848405640799665865977732304698563885195684629806576888588348042900960176594612407464532517439534827879057772390941787416581843079733214989606995153693759943108022811044709555511891942866300812791025385894883484406295949227000100923839052716964031163673526510704437373924100330685409440145387477480462904991101700912720551897290349258771513196940000492768120933146442565898435952051409996799122698903504592407440189084844489533252961965109851105121883376925329532311662098790403855253978658901752450366372551262862372350937334873118228800006205878680010550599666223710514728792016666730682468961966681227438262484515624300257643754946633233801570549742713506103104314768304320849781027052900910368843 266803702121261914399625947920631294260139081913751113033249064610845756278335525932091215698345753979819288637639488490380283786610244448508322569959733830453049776009330389658563405806437011902359249537647619154512203721567654247306792821623276270938536382973010721786166023776713579074237614854815263370721667863957156686830261985354054826736874946143447308810912495703928174275200995885550545622239108300815713641274521831068997606535067743334858298632609622230883596865854806241625524508498285383671067335306814079812149934443357507074797978211732088593196972658386659821805414170394102512252139145919333783970619310987402874103891125511887632318051326504150764395948779346035125456999262911590553440711528535397049848719769593878944018891303062292266186973105837147814254761959431384642857415415879718315682659987942268598837079563819789533843967006155641195655699365595947863481980586723079973416071469600288606317953765145705467916000933889344872467226163913774488960897565905817247898053267601022084489229352349781895770183475256081818902641935649081112573935142021805372333540129152333417486551669271574235964173129598305128273760007419028308787079098054144382266762109311464405753804947848120686212166424268542179568530711913758939373586548499154160404664584386320556107412656206193738013711363590637756460686176465715997520124667399152665777596191171586757324798814651751236159396412120803753400589260109616460504921537592332655433611832533520751510910375932516190013164366526648000917879146957026247874458663959092097034270532062518364735970087813977531296532431139074449827687007647883475507327907531873114833459133256922200554024358044194134553999368116356538689444450439871903883974682135461951466090916251442172070670210325002795257762232240006786397735521880323232325892814311037101692205587852229080241127416135153206890597422761371608804831276570108112097350957809703985256538408853013422272034184788435722709978081730356977804602938057938799673433918818989573657132946026389287763900966340108351651152753596030558774650570756102741491010658879890323424319748364040840066326762848468882240333203480183004780229387587548487138056662054399206854381486062013675795042987579080711593516828884551827464829926156830618386851814995580315567523269287643213048619952155468548581959963640532823963979354664539616225576887164872905225723206975586552923600401966745908045178381908240156525589573222549802056425441758033173404267025355907811792932305633951544976700584103526232600505304508463569404889681073181222008187285863133668811481689277385167889458549298780768782451616107683639193445103666257544886986583100970167023614275543311732555604 431697458356504196651186903903217534598358819975148154281967129317444522587472972840845105495985352997429446357320904892849130697415955165355301044368540056359024152283204571962716773557215520020627469323010061301090908191317853336307786147979021938523722064557164739074384666876979644826591173976736818273750325553113414707703020042205986214241121827562763513494316845338517234044008779496814074055239179781943816185736973565479675806793928106275921701837164613766542513534515981889363432099307485336707315322221504093030049498009879523975767986708021790678243422053838962426307699531132445476071534788929047781208637184113841926393009796894004112738684839873406878198049303666677381690484016825662371450620366629588610611956806032864776723093019436638511300528899156355152702865722977923517596029565732670426933374404352169929483691322127462443002847176851055918582768714600794151835691001935944443326118953114339010523622917327674231965460713764209894831977780550112523315832767536648235190961678540091426778927099210201931799192032881080169274729433177997895935555715058934174113440261265126487863174254244138132331409618024689071469975452132820678049748580896425148847299411638851988535459896690496515997990373812025352517119128037397827778918215627713837938397587037870151274883460207301710720344553436143340372099794401657418628139045634205692530324813404165668290152894538028964657390981477456449153959074201546601880029682406252639721757019127130665568669866194446297152284945296639679781080008245824068335824108685744917994190757212670493527282979581723647529521295330914954564958520876709320667134031605272695269229869758873491386237664888854787486596852579097330949286347770960178028097258754931466109651479326907210451029447355992831453685637443413043257361609946053923322975697050021333102845623352926428342604741091367903669966223266566765053491216034997372506284113306052909949770167354389523702643828705295444278060820158011458570498635906344440473099784796721878355696831222073917570477854928456394552112930190642966239183088195637569370068431270832110840901591443774055055933758002162642183441226291227714335741279530414787950847687440294090338787782011240675895966826631797675624680502411062531902203850257161303796291960383057796030428260389344125769171849445817807353473160580533316732100287810982182124012839216282902024845905879091145331040591051590397578431343873350007630711456599475131588737103856823577259521004014809564243298678185214407349051521438399350829305310714342249415440280739404932522916077879800399493950651244066395327721033814405069040095371054316872995015653408971050990090897869274487873395302596212642924447 698501160477766111050812851823848828858497901888899267315216193928290278865808498772936321194331106977248734994960393383229414484026199613863623614328273886812073928292534961621280179363652531922986718860657680455603111912885507583614578969602298209462258447530175460860550690653693223900828788831552081644471993417070571394533282027560041040977996773706210822305229341042445408319209775382364619677478288082759529827011495396548673413328995849610780000469774235997426110400370788130988956607805770720378382657528318172842199432453237031050565964919753879271440394712225622248113113701526547988323673934848381565179256495101244800496900922405891745056736166377557642593998083012712507147483279737252924891331895164985660460676575626743720741984322498930777487502004993502966957627682409308160453444981612388742616034392294438528320770885947251976846814183006697114238468080196742015317671588659024416742190422714627616841576682473379699881461647653554767299203944463887012276730333442465483089014946141113511268156451559983827569375508137161988177371368827079008509490857080739546446980390417459905349725923515712368295582747622994199743735459551848986836827678950569531114061520950316394289264844538617202210156798080567532085649839951156767152504764126867998343062171424190707382296116413495448734055917026781096832785970867373416148263713033358358307921004575752425614951709189780200816787393598260202554548334311163062384951219998585295155368851660651417079580242126962487165449311823287680698959155202850316210282772644837015028461289275188858263253067395701178826053726469989404392645528524592796174461939137145810102689003015795691940262022933048922040596220695453869638730798210832081912071940890393417575742395578349382521699657680995626711447869683419829655097131826377155648868511361058434795051211205155508583732157226521110560563646027938373858322492605105484603635071115756895206308576207402945974678013493731166988038901888368436375101573964283240146533703615711452012829777248463205334378821268564746203265683786673525013833658951740310861079090150722434265221339807814895122260520850631524423774429771410719115970667117963275088904349494693297193169268073254351691009814210878387218197331295614359367033776413991922183143775378638111597951529676987338817791801601286355935433124221066140696079642475521798349589726381155807250569112854677698254640993018336305623609725781590164156301029822024933645162545614856750663788029370717376036230983819165952325752105541925583429810615222805818820329961812586154531103363742934068305432340521451563217179583113185837822546987162000512188460757075228595877077480970244654897009578139524375480051 1130198618834270307701999755727066363456856721864047421597183323245734801453281471613781426690316459974678181352281298276078545181442154779218924658696813943171098080575739533583996952920868051943614188183667741756694020104203360919922365117581320147985980512087340199934935357530672868727419962808288899918222318970183986102236302069766027255219118601268974335799546186380962642363218554879178693732717467864703346012748468962028349220122923955886701702306938849763968623934886770020352388707113256057085697979749822265872248930463116555026333951627775669949683816766064584674420813232658993464395208723777429346387893679215086726889910719299895857795421006250964520792047386679389888837967296562915296341952261794574271072633381659608497465077341935569288788030904149858119660493405387231678049474547345059169549408796646608457804462208074714419849661359857753032821236794797536167153362590594968860068309375828966627365199599801053931846922361417764662131181725013999535592563100979113718279976624681204938047083550770185759368567541018242157452100802005076904445046572139673720560420651682586393212900177759850500626992365647683271213710911684669664886576259846994679961360932589168382824724741229113718208147171892592884602768967988554594931422979754581836281459758462060858657179576620797159454400470462924437204885765269030834776402758667564050838245817979918093905104603727809165474178375075716651708507408512709664264980902404837934877125870787782082648250108321408784317734257119927360480039163448674384546106881330581933022652046487859351790536046977424826355575021800904358957604049401302116841595970742418505371918872774669183326499687821903709527193073274551200588017145981792259940169199645324883685393874905256592972729105036988458165133507126832872912458741772431078971844208411079767897896834558081936926336898317889014230529869294505138911813708640102857109919184421809805156078743561792469677321842199026611266099722046379894945600209870627680619633488412433330368526608470537122904856676197021140755378613977316491253016747147377880231147521421554545106122931251588950178194278852794166607215656062638433451711946648378063039752036934987387531957050084495027586976640842676062842877833706676891269237626671153225979435735761695907628379790066331464586963651047104163288906284801599457428179930286503980473602565597438709275415018733768843585681584069926703202041069654940171787012486421500065233899649471680327923309033385526940279529662004380359674803626980324934259115925937148068235770242551991087054019441622734467799382991765517958544900616927590906862642358216317385183476410484199646867168378839519142770404880735737018404498 1828699779312036418752812607550915192315354623752946688912399517174025080319089970386717747884647566951926916347241691659307959665468354393082548273025087829983172008868274495205277132284520583866600907044325422212297132017088868503536944087183618357448238959617515660795486048184366092628248751639840981562694312387254557496769584097326068296197115374975185158104775527423408050682428330261543313410195755947462875839759964358577022633451919805497481702776713085761394734335257558151341345314919026777464080637278140438714448362916353586076899916547529549221124211478290206922533926934185541452718882658625810911567150174316331527386811641705787602852157172628522163386045469692102395985450576300168221233284156959559931533309957286352218207061664434500066275532909143361086618121087796539838502919528957447912165443188941046986125233094021966396696475542864450147059704874994278182471034179253993276810499798543594244206776282274433631728384009071319429430385669477886547869293434421579201368991570822318449315240002330169586937943049155404145629472170832155912954537429220413267007401042100046298562626101275562868922575113270677470957446371236518651723403938797564211075422453539484777113989585767730920418303969973160416688418807939711362083927743881449834624521929886251566039475693034292608188456387489705534037671736136404250924666471700922409146166822555670519520056312917589366290965768673976854263055742823872726649932122403423230032494722448433499727830350448371271483183568943215041178998318651524700756389653975418948051113335763048210053789114373126005181628748270893763350249577925894913016057909879564315474607875790464875266761710754952631567789293970005070226747944192624341852241140535718301261136270483605975494428762717984084876581376810252702567555873598808234620712719772138202692948045763237445510069055544410124791093515322443512770136201245208341713554255537566700362387319769195415651999855692757778254138623934748331320701783834910920766167192028144782381356385719000328239235497465585886958644297763990016266850406099118191092226611572276979371344271059403845300454799703425691030990085834049152567682613766341338128656386429680684725126318157749379277986455053554450061075165002291250636271403085145148162579511140334019226331319743318803404755452648390519224339409022665598124259572762025778823192291978594516525984131588446541840322577088263008825650795436530335943313516243524998879062195086537078587097062756244316315760645823546312000555732522250517688926541159953887056100204364577241585122805365668536104815332286969521762080200040776744685189345378317897371937167559428242744245859809763797667414458875261393884549 2958898398146306726454812363277981555772211345616994110509582840419759881772371442000499174574964026926605097699522989935386504846910509172301472931721901773154270089444014028789274085205388635810215095227993163968991152121292229423459309204764938505434219471704855860730421405715038961355668714448129881480916631357438543599005886167092095551416233976244159493904321713804370693045646885140722007142913223812166221852508433320605371853574843761384183405083651935525363358270144328171693734022032282834549778617027962704586697293379470141103233868175305219170808028244354791596954740166844534917114091382403240257955043853531418254276722361005683460647578178879486684178092856371492284823417872863083517575236418754134202605943338945960715672139006370069355063563813293219206278614493183771516552394076302507081714851985587655443929695302096680816546136902722203179880941669791814349624396769848962136878809174372560871571975882075487563575306370489084091561567394491886083461856535400692919648968195503523387362323553100355346306510590173646303081572972837232817399584001360086987567821693782632691775526279035413369549567478918360742171157282921188316609980198644558891036783386128653159938714326996844638626451141865753301291187775928265957015350723636031670905981688348312424696655269655089767642856857952629971242557501405435085701069230368486459984412640535588613425160916645398531765144143749693505971563151336582390914913024808261164909620593236215582376080458769780055800917826063142401659037482100199085302496535306000881073765382250907561844325161350550831537203770071798122307853627327197029857653880621982820846526748565134058593261398576856341094982367244556270814765090174416601792410340181043184946530145388862568467157867754972543041714883937085575480014615371239313592556928183217970590844880321319382436405953862299139021623384616948651681949909885311198823473439959376505518466063330987885329321697891784389520238345981128226266301993705538601385800680440578112749882994189537451144092173662607027714022911741306507519867153246496071323374132993831524477467202310992795478649078556219857638205741896687586019394560414719401168408423364668072257083368242244406864963095896230512903952998708968141905509029756298374142015246902029926854711109809650267991719103695494682513245693824265055552439503048529759296794857576033225801399150322215385426004161158189712027691865091470507730326002665025064112961844558217406510406096141771256595290307827926671675359359502575451948042467097101955291870446916568328639142246988403003904198324052487480306980816968367651547831703594635282555413578043627889611414238649282940437819339610998412289047 4787598177458343145207624970828896748087565969369940799421982357593784962091461412387216922459611593878532014046764681594694464512378863565384021204746989603137442098312288523994551217489909219676816002272318586181288284138381097926996253291948556862882458431322371521525907453899405053983917466087970863043610943744693101095775470264418163847613349351219344652009097241227778743728075215402265320553108979759629097692268397679182394487026763566881665107860365021286758092605401886323035079336951309612013859254306103143301145656295823727180133784722834768391932239722644998519488667101030076369832974041029051169522194027847749781663534002711471063499735351508008847564138326063594680808868449163251738808520575713694134139253296232312933879200670804569421339096722436580292896735580980311355055313605259954993880295174528702430054928396118647213242612445586653326940646544786092532095430949102955413689308972916155115778752164349921195303690379560403520991953063969772631331149969822272121017959766325841836677563555430524933244453639329050448711045143669388730354121430580500254575222735882678990338152380310976238472142592189038213128603654157706968333384137442123102112205839668137937052703912764575559044755111838913717979606583867977319099278467517481505530503618234563990736130962689382375831313245442335505280229237541839336625735702069408869130579463091259132945217229562987898056109912423670360234618894160455117564845147211684394942115315684649082103910809218151327284101395006357442838035800751723786058886189281419829124878718013955771898114275723676836718832518342691885658103205253091942873711790501547136321134624355598933860023109331808972662771661214561341041513034367040943644651480716761486207666415872468543961586630472956627918296260747338278047570488970047548213269647955356173283792926084556827946475009406709263812716899939392164452086111130519540537027695496943205880853383100183300981321553584542167774376969915876557587003777540449522151967872468722895131239379908537779383327671128192914672667209505296523786717559345614262415600744566108503848811473370396640779103878259645548669195827730736738587077174181060739297064809794348756982209686399993786142949550949784962965028163711259392541780432841443522304594758042363946081042429552969071396474556343885201737585102846930653676699075810555538119987149554627742327383281910661927266326738246452720853342660528000843673639518908550062992024039644754485097503158898015572911050953651472983675915092024825969636969008257055842347970651281145570224265052354071540009013656339457002069061017009144396233021048972953179927350745603056132355660098459046738105233798486259806173596 7746496575604649871662437334106878303859777314986934909931565198013544843863832854387716097034575620805137111746287671530080969359289372737685494136468891376291712187756302552783825302695297855487031097500311750150279436259673327350455562496713495368316677903027227382256328859614444015339586180536100744524527575102131644694781356431510259399029583327463504145913418955032149436773722100542987327696022203571795319544776830999787766340601607328265848512944016956812121450875546214494728813358983592446563637871334065847887842949675293868283367652898139987562740267966999790116443407267874611286947065423432291427477237881379168035940256363717154524147313530387495531742231182435086965632286322026335256383756994467828336745196635178273649551339677174638776402660535729799499175350074164082871607707681562462075595147160116357873984623698215328029788749348308856506821588214577906881719827718951917550568118147288715987350728046425408758878996750049487612553520458461658714793006505222965040666927961829365224039887108530880279550964229502696751792618116506621547753705431940587242143044429665311682113678659346389608021710071107398955299760937078895284943364336086681993148989225796791096991418239761420197671206253704667019270794359796243276114629191153513176436485306582876415432786232344472143474170103394965476522786738947274422326804932437895329114992103626847746370378146208386429821254056173363866206182045497037508479758172019945559851735908920864664479991267987931383085019221069499844497073282851922871361382724587420710198644100264863333742439437074227668256036288414490007965956832580288972731365671123529957167661372920732992453284507908665313757754028459117611856278124541457545437061820897804671154196561261331112428744498227929170960011144684423853527585104341286861805826576138574143874637806405876210382880963269008402834340284556340816134036021015830739360501135456319711399319446431171186310643251476326557294615315897004783853305771245988123537768552909301007881122374098075230527419844790799942386690121246603031306584712592110333738974877559940028326278675681389436257752956815865406307401569627424324606471734595780140465473233159016829239293054642238193007912646846015475868981162420227534447289462597741896446610004944393872935753539362619339388193660039379884250830796671195709229138578859085297416782007130660968128782432232877312692330899404642432881034525619471351403965521573575127104985884202971891607909255039786829506341261479399655351274451527401421585011475354157797639841098197713898863407299342474543913211980391944482376041833977512047780852752567588462482764323646684021967074337108329678543053138097258218462643 12534094753062993016870062304935775051947343284356875709353547555607329805955294266774933019494187214683669125793052353124775433871668236303069515341215880979429154286068591076778376520185207075163847099772630336331567720398054425277451815788662052231199136334349598903782236313513849069323503646624071607568138518846824745790556826695928423246642932678682848797922516196259928180501797315945252648249131183331424417237045228678970160827628370895147513620804381978098879543480948100817763892695934902058577497125640168991188988605971117595463501437620974755954672507689644788635932074368904687656780039464461342596999431909226917817603790366428625587647048881895504379306369508498681646441154771189586995192277570181522470884449931410586583430540347979208197741757258166379792072085655144394226663021286822417069475442334645060304039552094333975243031361793895509833762234759363999413815258668054872964257427120204871103129480210775329954182687129609891133545473522431431346124156475045237161684887728155207060717450663961405212795417868831747200503663260176010278107826862521087496718267165547990672451831039657365846493852663296437168428364591236602253276748473528805095261195065464929034044122152525995756715961365543580737250400943664220595213907658670994681966988924817440406168917195033854519305483348837300981803015976489113758952540634507304198245571566718106879315595375771374327877363968597034226440800939657492626044603319231629954793851224605513746583902077206082710369120616075857287335109083603646657420268913868840539323522818278819105640553712797904504974868806757181893624060037833380915605077461625077093488795997276331926313307617240474286420525689673678952897791158908498489081713301614566157361862977133799656390331128700885798878307405431762131575155593311334410019096224093930317158430732490433038329355972675717666647057184495732980586122132146350279897528830953262917280172829531354487291964805060868725068992285812881341440309548786437645689736425378023903012361754006613009910747515918992857059357330751899555093302271937724596154575622126048532175090149051786077036856835075510954976597397358161063193548908776840879762538042953365586221502741042231979150862197795800438834009326131486926989069895439185418751204762986757819016795968915588410784668216383265085988415899518126362905837654669640835536769156685288710456165714143539239958657637651095153734377186147472195077605040482125190097009923847726376705412413937802402417392215130872639027189543552227391221980483611213639987811749478859469087672351696546083922225636731401484445102850986656444013873801540541642410115069249740154322734435567376416648286936583518024636239 20280591328667642888532499639042653355807120599343810619285112753620874649819127121162649116528762835488806237539340024654856403230957609040755009477684772355720866473824893629562201822880504930650878197272942086481847156657727752627907378285375547599515814237376826286038565173128293084663089827160172352092666093948956390485338183127438682645672516006146352943835935151292077617275519416488239975945153386903219736781822059678757927168229978223413362133748398934911000994356494315312492706054918494505141134996974234839076831555646411463746869090519114743517412775656644578752375481636779298943727104887893634024476669790606085853544046730145780111794362412282999911048600690933768612073441093215922251576034564649350807629646566588860232981880025153846974144417793896179291247435729308477098270728968384879145070589494761418178024175792549303272820111142204366340583822973941906295535086387006790514825545267493587090480208257200738713061683879659378746098993980893090060917162980268202202351815689984572284757337772492285492346382098334443952296281376682631825861532294461674738861311595213302354565509699003755454515562734403836123728125528315497538220112809615487088410184291261720131035540392287415954387167619248247756521195303460463871328536849824507858403474231400316821601703427378326662779653452232266458325802715436388181279345566945199527360563670344954625685973521979760757698618024770398092646982985154530134524361491251575514645587133526378411063893345194014093454139837145357131832182366455569528781651638456261249522166918543682439382993149872132173230905095171671901590016870413669888336443132748607050656457370197064918766592125149139600178279718132796564754069283449956034518775122512370828516059538395130768819075626928814969838318550116185985102740697652621271824922800232504461033068538896309248712236935944726069481397469052073796720158153162181019258029966409582628679492275962525673602608056537195282363607601709886125293615320032425769227504978287324910893484128104688240438167360709792799446047451998502586399886984529834929893550499685988560501368824733175513294609791891376361283998966985585387800020643372621020228011276112382415460795795684470172158774844641815914702990488551714461436359358036927315197814767931151691952549508278207750172861876422644970239246696189322072134976233528726132953551163815949678584948146376416552650988537055737586615411711766943546481570562055700317201995808050698268313321668977589231923733476610272294378463995079628812806991958965371437627652847676573367951079651039020627835437617123345966821144684964168491794726554108130104892879392896424176289808772675706095191340074680776243098882 32814686081730635905402561943978428407754463883700686328638660309228204455774421387937582136022950050172475363332392377779631837102625845343824524818900653335150020759893484706340578343065712005814725297045572422813414877055782177905359194074037599830714950571726425189820801486642142153986593473784243959660804612795781136275895009823367105892315448684829201741758451347552005797777316732433492624194284570234644154018867288357728087995858349118560875754552780913009880537837442416130256598750853396563718632122614403830265820161617529059210370528140089499472085283346289367388307556005683986600507144352354976621476101699833003671147837096574405699441411294178504290354970199432450258514595864405509246768312134830873278514096497999446816412420373133055171886175052062559083319521384452871324933750255207296214546031829406478482063727886883278515851472936099876174346057733305905709350345055061663479082972387698458193609688467976068667244371009269269879644467503324521407041319455313439364036703418139779345474788436453690705141799967166191152799944636858642103969359156982762235579578760761293027017340738661121301009415397700273292156490119552099791496861283144292183671379356726649165079662544813411711103128984791828493771596247124684466542444508495502540370463156217757227770620622412181182085136801069567440128818691925501940231886201452503725606135237063061505001568897751135085575981993367432319087783924812022760568964810483205469439438358131892157647795422400096803823260453221214419167291450059216186201920552325101788845689736822501545023546862670036678205773901928853795214076908247050803941520594373684144145253367473396845079899742389613886598805407806475517651860442358454523600488424126936985877922515528930425209406755629700768716625955547948116677896290963955681844019024326434778191499271386742287041592908620443736128454653547806777306280285308531299155558797362845545959665105493880160894572861598064007432599887522767466733924868818863414917241403665348813905845882111301250348914876628785656505404782750402141493189256467559526048126121812037092676458973784961590331466626966887316260596364343746450993569552149461899990549319065748001682298536726702151309637042437616353536999814683201388425429253476112733949019530917909510969345477193796160957530092805910056227662595707448435040813888198366968490320320501238389041113860519955792609646174706832740349788897914415741559175602537825507299005731898424645018734082915391634341125691741144933405653538631856204028972442576585077615464597155432837038752002735566711757663253854747451266247535950824935808600355648671747302994462146164330612543208243082511839627011264294267735121 53095277410398278793935061583021081763561584483044496947923773062849079105593548509100231252551712885661281600871732402434488240333583454384579534296585425690870887233718378335902780165946216936465603494318514509295262033713509930533266572359413147430230764809103251475859366659770435238649683300944416311753470706744737526761233192950805788537987964690975554685594386498844083415052836148921732600139437957137863890800689348036486015164088327341974237888301179847920881532193936731442749304805771891068859767119588638669342651717263940522957239618659204242989498059002933946140683037642463285544234249240248610645952771490439089524691883826720185811235773706461504201403570890366218870588036957621431498344346699480224086143743064588307049394300398286902146030592845958738374566957113761348423204479223592175359616621324167896660087903679432581788671584078304242514929880707247812004885431442068453993908517655192045284089896725176807380306054888928648625743461484217611467958482435581641566388519108124351630232126208945976197488182065500635105096226013541273929830891451444436974440890355974595381582850437664876755524978132104109415884615647867597329716974092759779272081563647988369296115202937100827665490296604040076250292791550585148337870981358320010398773937387618074049372324049790507844864790253301833898454621407361890121511231768397703252966698907408016130687542419730895843274600018137830411734766909966552895093326301734780984085025491658270568711688767594110897277400290366571550999473816514785714983572190781363038367856655366183984406540012542168851436678997100525696804093778660720692277963727122291194801710737670461763846491867538753486777085125939272082405929725808410558119263546639307814393982053924061194028482382558515738554944505664134101780636988616576953668941824558939239224567810283051535753829844565169805609852122599880574026438438470712318413588763772428174639157381456405834497180918135259289796207489232653592027540188851289184144746381952673724799330010215989490787082237338578455951452234748904727893076240997394455941676621498025653177827798518137103626076418858263677544595331329331838793590195522082920218560595178130417143094332411172323468411887079432268239990303234915849861788611513040049146834298849061202921894985472003911130391969228555026466909291896770507175790121727093101443871484317188067626062006896372345260634711762570326965200609681359288040746164593525824501001539949122913332055751892980866264859168351417227784117533711485016835964401541956515243117444832006204989831653774587339593100870978093418087392220914993427603326909756801852195873855042588506902351980918788607030967085945070510834003 85909963492128914699337623526999510171316048366745183276562433372077283561367969897037813388574662935833756964204124780214120077436209299728404059115486079026020907993611863042243358509011928942280328791364086932108676910769292108438625766433450747260945715380829676665680168146412577392636276774728660271414275319540518663037128202774172894430303413375804756427352837846396089212830152881355225224333722527372508044819556636394214103159946676460535113642853960760930762070031379147573005903556625287632578399242203042499608471878881469582167610146799293742461583342349223313528990593648147272144741393592603587267428873190272093195839720923294591510677185000640008491758541089798669129102632822026940745112658834311097364657839562587753865806720771419957317916767898021297457886478498214219748138229478799471574162653153574375142151631566315860304523057014404118689275938440553717714235776497130117472991490042890503477699585193152876047550425898197918505387928987542132874999801890895080930425222526264130975706914645399666902629982032666826257896170650399916033800250608427199210020469116735888408600191176325998056534393529804382708041105767419697121213835375904071455752943004715018461194865481914239376593425588831904744064387797709832804413425866815512939144400543835831277142944672202689026949927054371401338583440099287392061743117969850206978572834144471077635689111317482030928850582011505262730822550834778575655662291112217986453524463849790162726359484189994207701100660743587785970166765266574001901185492743106464827213546392188685529430086875212205529642452899029379492018170686907771496219484321495975338946964105143858608926391609928367373375890533745747600057790168166865081719751970766244800271904569452991619237889138188216507271570461212082218458533279580532635512960848885374017416067081669793822795422753185613541738306776147687351332718723779243617569147561135273720598822486950285995391753779733323297228807376755421058761465057670152599061987785618022538705175892327290741135997113967364112456857017499306869386265497464953981989802743310062745854286772303098693957543045825150993805191695673078289787159747671544820209109914243878418825392869137874474778048929517048621776990117918117238287217864989152783095853829766970713891240462665800072087922062034465082694571887604218942216604009925460069934191804818426456667175867416328137870280886469403067314989507595775029599921767131351331800007271847547558350789834808372500605984860092562161189771072343341220864936844118541592858582041987439042028583656510154051350764124832840869353639756865818363411927265405473599498868317188752837514895189161871118870594097209364778569124 139005240902527193493272685110020591934877632849789680224486206434926362666961518406138044641126375821495038565075857182648608317769792754112983593412071504716891795227330241378146138674958145878745932285682601441403938944482802038971892338792863894691176480189932928141539534806183012631285960075673076583167746026285256189798361395724978682968291378066780311112947224345240172627882989030276957824473160484510371935620245984430700118324035003802509351531155140608851643602225315879015755208362397178701438166361791681168951123596145410105124849765458497985451081401352157259669673631290610557688975642832852197913381644680711182720531604750014777321912958707101512693162111980164887999690669779648372243457005533791321450801582627176060915201021169706859463947360743980035832453435611975568171342708702391646933779274477742271802239535245748442093194641092708361204205819147801529719121207939198571466900007698082548761789481918329683427856480787126567131131390471759744342958284326476722496813741634388482605939040854345643100118164098167461362992396663941189963631142059871636184461359472710483790183041613990874812059371661908492123925721415287294450930809468663850727834506652703387757310068419015067042083722192871980994357179348294981142284407225135523337918337931453905326515268721993196871814717307673235237038061506649282183254349738247910231539533051879093766376653737212926772125182029643093142557317744745128550755617413952767437609489341448433295071172957588318598378061033954357521166239083088787616169064933887827865581403047554869513836626887754374381079131896129905188822264465568492188497448048618266533748674842814320372772883477467120860152975659685019682463719893975275639839015517405552614665886623377052813266371520746732245826514966876216320239170268197109589181902673444313256640634891952845358549252597750783347348158898747567925359157162249955935982736324907701895237979868406691829888934697868582587025014865988074650789005246521441783206734167570696263504505902543280231923079351305942568408309252248211597279341738462348437931479364808088399032114570821235797583619464683414671349787027002410128580749943193627740427670509422008835968487201549046798246460816596480890016980421153033088149006476502192832242688128616031916813135448137803983218314031263020109161481179500989449392394131652553171378063289135614524293237874312700483130915598231973394280190117277134317640667931724877156301008811796670471682845586701353366870844028443979388973888606054826237700901245660498108101699486819445247018415310284741390943864995810934287441031977780811791015254175162275451694742172231341344417247170080659725901561183154435289403127 224915204394656108192610308637020102106193681216534863501048639807003646228329488303175858029701038757328795529279981962862728395206002053841387652527557583742912703220942104420389497183970074821026261077046688373512615855252094147410518105226314641952122195570762604807219702952595590023922236850401736854582021345825774852835489598499151577398594791442585067540300062191636261840713141911632183048806883011882879980439802620824914221483981680263044465174009101369782405672256695026588761111919022466334016565603994723668559595475026879687292459912257791727912664743701380573198664224938757829833717036425455785180810517870983275916371325673309368832590143707741521184920653069963557128793302601675312988569664368102418815459422189763814781007741941126816781864128642001333290339914110189787919480938181191118507941927631316646944391166812064302397717698107112479893481757588355247433356984436328688939891497740973052239489067111482559475406906685324485636519319459301877217958086217371803427238964160652613581645955499745310002748146130834287620888567314341105997431392668298835394481828589446372198783232790316872868593765191712874831966827182706991572144644844567922183587449657418406218504933900929306418677147781703885738421567146004813946697833091951036277062738475289736603658213394195885898764644362044636575621501605936674244997467708098117210112367196350171402065765054694957700975764041148355873379868579523704206417908526170753891133953191238596021430657147582526299478721777542143491333004349662789517354557676994292692794949439743555043266713762966579910721584795159284680840435152476263684716932370114241872695638947958178981699275087395488233528866193430767282521510062142140721558767488171797414937791192830044432504260658934948753098085428088298538697703547777642224694863522329687274056701973622639181344675350936396889086465674895255276691875886029199553551883886042975615836802355356977825280688477601905884253822242743495709550470304191594382268721953188718802209681794870570973059076465273306680865166269747518466665607235927302419921282108118151144886401343124334491541162510508565665154978722675488418367909690865172560636780423665887254793880070686921273024509746113529511793970539071150326436224341491345615338541958383002630704375910803604055306236093297485191856053067105208391608998141578013241312255093954040980960413741729028621001196484701376461595179624872909347240589698856228488101016083644218030033635421509725867476828888536541550163659678398167458565838089779039700960281528806884289046998966794895442294629120643775156794671734646630154427181440567749051193610489420094181932142359242530844772155280363800067972251 363920445297183301685882993747040694041071314066324543725534846241930008895291006709313902670827414578823834094355839145511336712975794807954371245939629088459804498448272345798535635858928220699772193362729289814916554799734896186382410444019178536643298675760695532948759237758778602655208196926074813437749767372111031042633850994224130260366886169509365378653247286536876434468596130941909140873280043496393251916060048605255614339808016684065553816705164241978634049274482010905604516320281419645035454731965786404837510719071172289792417309677716289713363746145053537832868337856229368387522692679258307983094192162551694458636902930423324146154503102414843033878082765050128445128483972381323685232026669901893740266261004816939875696208763110833676245811489385981369122793349722165356090823646883582765441721202109058918746630702057812744490912339199820841097687576736156777152478192375527260406791505439055601001278549029812242903263387472451052767650709931061621560916370543848525924052705795041096187584996354090953102866310229001748983880963978282295961062534728170471578943188062156855988966274404307747680653136853621366955892548597994286023075454313231772911421956310121793975815002319944373460760869974575866732778746494299795088982240317086559614981076406743641930173482116189082770579361669717871812659563112585956428251817446346027441651900248229265168442418791907884473100946070791449015937186324268832757173525940123521328743442532687029316501830105170844897856782811496501012499243432751577133523622610882120558376352487298424557103340650720954291800716691289189869662699618044755873214380418732508406444313790772499354472158564862609093681841853115786964985229956117416361397783005577350029603677816207097245770632179681680998924600394964514858936873815974751813876766195774000530697336865575484539893927948687180236434624573642823202051033048279155489534620210950677511074782223763669655169623175470488471278837108731570360339475550713036165475456120759415065714187697413851204982155816579249249273475521995730063944948974389650857852761472926239543918515913945570289124781975191980336504765749677898546948659634058800301064450933087896090762367272235968071270970562710010401810950960224183414585230817993538447581230086999034547517511358941408038524550124560505301017534246606197841001392273230566412690318383089655505253651616041729104132112082933349855875369742150043664881257630581105644402024895440888501716481008211079234347672916980520939137548284452993696266739335439537809061981015626329536065414277079636833238494116454709444235703712427441945442435615730024502888352661651435526349389529323190570673716463518235357375378 588835649691839409878493302384060796147264995282859407226583486048933655123620495012489760700528453336152629623635821108374065108181796861795758898467186672202717201669214450218925133042898295520798454439775978188429170654986990333792928549245493178595420871331458137755978940711374192679130433776476550292331788717936805895469340592723281837765480960951950446193547348728512696309309272853541323922086926508276131896499851226080528561291998364328598281879173343348416454946738705932193277432200442111369471297569781128506070314546199169479709769589974081441276410888754918406067002081168126217356409715683763768275002680422677734553274256096633514987093246122584555063003418120092002257277274982998998220596334269996159081720427006703690477216505051960493027675618027982702413133263832355144010304585064773883949663129740375565691021868869877046888630037306933320991169334324512024585835176811855949346683003180028653240767616141294802378670294157775538404170029390363498778874456761220329351291669955693709769230951853836263105614456359836036604769531292623401958493927396469306973425016651603228187749507194624620549246902045334241787859375780701277595220099157799695095009405967540200194319936220873679879438017756279752471200313640304609035680073409037595892043814882033378533831695510384968669344006031762508388281064718522630673249285154444144651764267444579436570508183846602842174076710111939804889317054903792536963591434466294275219877395723925625337932487252753371197335504589038644503832247782414366650878180287876413251171301927041979600370054413687534202522301486448474550503134770521019557931312788846750279139952738730678336171433652258097327210708046546554247506740018259557082956550493749147444541469009037141678274892838616629752022685823052813397634577363752394038571629718103687804754038839198123721238603299623577125521090248538078478742908934308355043086504096993653126911584579120647480450311653072394355532659351475066069889945854904630547744178073948133867923869492284422178041232281852555930138641791743248530610556210316953277774043581044390688804917257069904780665944485700546001659744472353386965316569324923972861701231356753783345556247342922889344295480308823539913604921499295333741021455159484884062919772045382037178221887269745012093830786217857990492873587313711406232610390414808579654002573477043696486214065357770757725133308567634726317470549367022953012121847329437334132503040979085106531750116429720805101824501805517062489301207962851161154832577425218577510022262544433213825112413243874532275533123237098484601030375447074072099869617056297773554081963151071529708281531888565721415445871743882035425347629 952756094989022711564376296131101490188336309349183950952118332290863664018911501721803663371355867914976463717991660253885401821157591669750130144406815760662521700117486796017460768901826516220570647802505268003345725454721886520175338993264671715238719547092153670704738178470152795334338630702551363730081556090047836938103191586947412098132367130461315824846794635265389130777905403795450464795366970004669383812559899831336142901100015048394152098584337585327050504221220716837797793752481861756404926029535567533343581033617371459272127079267690371154640157033808456238935339937397494604879102394942071751369194842974372193190177186519957661141596348537427588941086183170220447385761247364322683452623004171889899347981431823643566173425268162794169273487107413964071535926613554520500101128231948356649391384331849434484437652570927689791379542376506754162088856911060668801738313369187383209753474508619084254242046165171107045281933681630226591171820739321425120339790827305068855275344375750734805956815948207927216208480766588837785588650495270905697919556462124639778552368204713760084176715781598932368229900038898955608743751924378695563618295553471031468006431362277661994170134938540818053340198887730855619203979060134604404124662313726124155507024891288777020464005177626574051439923367701480380200940627831108587101501102600790172093416167692808701738950602638510726647177656182731253905254241228061369720764960406417796548620838256612654654434317357924216095192287400535145516331491215165943784401802898758533809547654414340404157473395064408488494323018177737664420165834388565775431145693207579258685584266529503177690643592217120706420892549899662341212491969974376973444354333499326497474145146825244238924045525018298310750947286218017328256571451179727145852448395913877688335451375704773608261132531248310757361955714822180901680793941982587510532621124307944330637986366802884317135619934828542882826811496460206636430229421405617666713219634194707548933638057189698273383023388098431805179412117313738978594555505184706604135626805053970630232723433171015475069790726460892526338164510222031285512265228958982773162765682289841679436318614615158857415566450871533550315415872459519517155606685977478422510501002132381071725739398628686420132355336342418495793891121560317604073611782688039146066692891860133351991467716973812486829265420650568076173345919109172996677003104960018439776905065874525995033466597437931884336172174722497583428438756247304154851099316760658115319084243560059543361177827520954169108771617353553194045266079159501514045312052672027798056970315812722965234630921417888911986119588207400270782723007 1541591744680862121442869598515162286335601304632043358178701818339797319142531996734293424071884321251129093341627481362259466929339388531545889042874002432865238901786701246236385901944724811741369102242281246191774896109708876853968267542510164893834140418423611808460717119181526988013469064479027914022413344807984642833572532179670693935897848091413266271040341983993901827087214676648991788717453896512945515709059751057416671462392013412722750380463510928675466959167959422769991071184682303867774397327105348661849651348163570628751836848857664452595916567922563374645002342018565620822235512110625835519644197523397049927743451442616591176128689594660012144004089601290312449643038522347321681673219338441886058429701858830347256650641773214754662301162725441946773949059877386875644111432817013130533341047461589810050128674439797566838268172413813687483080026245385180826324148545999239159100157511799112907482813781312401847660603975788002129575990768711788619118665284066289184626636045706428515726046900061763479314095222948673822193420026563529099878050389521109085525793221365363312364465288793556988779146940944289850531611300159396841213515652628831163101440768245202194364454874761691733219636905487135371675179373774909013160342387135161751399068706170810398997836873136959020109267373733242888589221692549631217774750387755234316745180435137388138309458786485113568821254366294671058794571296131853906684356394872712071768498233980538279992366804610677587292527791989573790020163738997580310435279983186634947060718956341382383757843449478096022696845319664186138970668969159086794989077005996426008964724219268233856026815025869378803748103257946208895459998709992636530527310883993075644918686615834281380602320417856914940502969972041070141654206028543479539891020025631981376140205414543971731982371134547934334487476805070718980159536850916895865575707628404937983764897951382004964616070246481615277182344155811681702500119367260522297260963812268655682801561926681982695561064620380284361109550759105482227125166061395023557413400848635015020921528350428085379850456670946593072339824254694384672477581798283906746024466913646595462781874861958081746759861931180357090229020793958814850896628141136963306573420774177763108903961285898431432226186122560276486286764708874029010306222173102847725720695465337177048477681782331583244554398729218202802490816468476195949689124952289455773909408106853611101565216713867652689437996676528014645917739964210155316005931894185876692829106506104492757186290240764828701384304740590651678646296454606575586145181669728325571611052278963794494942912453306454633401565459951282306208070636 2494347839669884833007245894646263776523937613981227309130820150630660983161443498456097087443240189166105557059619141616144868750496980201296019187280818193527760601904188042253846670846551327961939750044786514195120621564430763374143606535774836609072859965515765479165455297651679783347807695181579277752494900898032479771675723766618106034030215221874582095887136619259290957865120080444442253512820866517614899521619650888752814363492028461116902479047848514002517463389180139607788864937164165624179323356640916195193232381780942088023963928125354823750556724956371830883937681955963115427114614505567907271013392366371422120933628629136548837270285943197439732945175784460532897028799769711644365125842342613775957777683290653990822824067041377548831574649832855910845484986490941396144212561048961487182732431793439244534566327010725256629647714790320441645168883156445849628062461915186622368853632020418197161724859946483508892942537657418228720747811508033213739458456111371358039901980421457163321682862848269690695522575989537511607782070521834434797797606851645748864078161426079123396541181070392489357009046979843245459275363224538092404831811206099862631107872130522864188534589813302509786559835793217990990879158433909513417285004700861285906906093597459587419461842050763533071549190741434723268790162320380739804876251490356024488838596602830196840048409389123624295468432022477402312699825537359915276405121355279129868317119072237150934646801121968601803387720079390108935536495230212746254219681786085393480870266610755722787915316844542504511191168337841923803390834803547652570420222699204005267650308485797737033717458618086499510168995807845871236672490679967013503971665217492402142392831762659525619526365942875213251253917258259087469910777479723206685743468421545859064475656790248745340243503665796245091849432519892899881840330792899483376108328752712882314402884318184889281751690181310158160009155652271888338930348788666139963974183446463363231735199983871680968944088008478716166288962876419221205719721566579730161549027653688985651154251783599100854920247397407485598677988764916415957989847027242889519187232595936437142218193476573240604175428382051890640544436666418334368052234827114441729083921776310144180629700684527117852358541458902694982080655830434346614379833955790886871787388357197310400469149499305395731383664149868770878664162387585368946366128057249474213686313172728137096598683311305584573774168851250512229346178720457459470857031210946534808148190749664552300547468068285782870493076357944204872691562533766077100190493722400353369668022594776517460177543374724343545387685048158682576990793643 4035939584350746954450115493161426062859538918613270667309521968970458302303975495190390511515124510417234650401246622978404335679836368732841908230154820626392999503690889288490232572791276139703308852287067760386895517674139640228111874078285001502907000383939377287626172416833206771361276759660607191774908245706017122605248255946288799969928063313287848366927478603253192784952334757093434042230274763030560415230679401946169485825884041873839652859511359442677984422557139562377779936121846469491953720683746264857042883729944512716775800776983019276346473292878935205528940023974528736249350126616193742790657589889768472048677080071753140013398975537857451876949265385750845346671838292058966046799061681055662016207385149484338079474708814592303493875812558297857619434046368328271788323993865974617716073479255029054584695001450522823467915887204134129128248909401831030454386610461185861527953789532217310069207673727795910740603141633206230850323802276745002358577121395437647224528616467163591837408909748331454174836671212486185429975490548397963897675657241166857949603954647444486708905646359186046345788193920787535309806974524697489246045326858728693794209312898768066382899044688064201519779472698705126362554337807684422430445347087996447658305162303630397818459678923900492091658458115167966157379384012930371022651001878111258805583777037967584978357868175608737864289686388772073371494396833491769183089477750151841940085617306217689214639167926579279390680247871379682725556658969210326564654961769272028427930985567097105171673160294020600533888013657506109942361503772706739365409299705200431276615032705065970889744273643955878313917099065792080132132489389959650034498976101485477787311518378493807000128686360732128191756887230300157611564983508266686225634488447177840440615862204792717072225874800344179426336909324963618861999867643816379241684036381117820298167782269566894246367760427791773437191499808083570041430468155926662261235147258732018914536761910553663664505152628859000527398513635524703432844887627974753718962428502324000672075780134027186234770704068354078671017813019610800630467428825526796265211699509583032605000068338531322350935290313232247730773457460377149218948862968251405035657342550487907289533661970425549284584727581462971468367420539308375624686056128893734597508083822534487448946831281636978975938062879086973681154978856061564896055253009538929987595721279581748198163900025173237263212165527778526875263918684667614786862963105132411500977297255769045057733758309050611571877381098534856551337858988372652686335675392128678941279074873740311955120455828030798178789250508109964883198864279 6530287424020631787457361387807689839383476532594497976440342119601119285465418993646487598958364699583340207460865764594549204430333348934137927417435638819920760105595077330744079243637827467665248602331854274582016139238570403602255480614059838111979860349455142766791627714484886554709084454842186469527403146604049602376923979712906906003958278535162430462814615222512483742817454837537876295743095629548175314752299052834922300189376070334956555338559207956680501885946319701985568801059010635116133044040387181052236116111725454804799764705108374100097030017835307036412877705930491851676464741121761650061670982256139894169610708700889688850669261481054891609894441170211378243700638061770610411924904023669437973985068440138328902298775855969852325450462391153768464919032859269667932536554914936104898805911048468299119261328461248080097563601994454570773417792558276880082449072376372483896807421552635507230932533674279419633545679290624459571071613784778216098035577506809005264430596888620755159091772596601144870359247202023697037757561070232398695473264092812606813682116073523610105446827429578535702797240900630780769082337749235581650877138064828556425317185029290930571433634501366711306339308491923117353433496241593935847730351788857733565211255901089985237921520974664025163207648856602689426169546333311110827527253368467283294422373640797781818406277564732362159758118411249475684194222370851684459494599105430971808402736378454840149285969048547881194067967950769791661093154199423072818874643555357421908801252177852827959588477138563105045079181995348033745752338576254391935829522404404436544265341190863707923461732262042377824086094873637951368804980069926663538470641318977879929704350141153332619655052303607341443010804488559245081475760987989892911377956868723699505091518995041462412469378466140424518186341844856518743840198436715862617792365133830702612570666587751783528119450609101931597200655460355458380360816944592802225209330705195382146271961894425344633449240637337716693687476511943924638564609194554483880511456156012986323230031917626287089690951465761564269695801784527216588457275852769685784398932105519469747218261815104562955110718695284138371317894126795483587001097795365846764741264326798051470163362654952667136943269040365666450448076369742722239065890084684621469295472179731797849415980780942374707321727028955744559819141243646933842421381066788404201282034452309885294762583336478821836986334379029039104610097405125074257719994316078946309125488005433597358281226377336394442370457456479061424029421522138729786526169114529032310947097468516829415297999202755141724176935556268647460189657922 10566227008371378741907476880969115902243015451207768643749864088571577587769394488836878110473489210000574857862112387572953540110169717666979835647590459446313759609285966619234311816429103607368557454618922034968911656912710043830367354692344839614886860733394520054417800131318093326070361214502793661302311392310066724982172235659195705973886341848450278829742093825765676527769789594631310337973370392578735729982978454781091786015260112208796208198070567399358486308503459264363348737180857104608086764724133445909278999841669967521575565482091393376443503310714242241941817729905020587925814867737955392852328572145908366218287788772642828864068237018912343486843706555962223590372476353829576458723965704725099990192453589622666981773484670562155819326274949451626084353079227597939720860548780910722614879390303497353703956329911770903565479489198588699901666701960107910536835682837558345424761211084852817300140207402075330374148820923830690421395416061523218456612698902246652488959213355784346996500682344932599045195918414509882467733051618630362593148921333979464763286070720968096814352473788764582048585434821418316078889312273933070896922464923557250219526497928058996954332679189430912826118781190628243715987834049278358278175698876854181223516418204720383056381199898564517254866106971770655583548930346241481850178255246578542100006150678765366796764145740341100024047804800021549055688619204343453642584076855582813748488353684672529363925136975127160584748215822149474386649813168633399383529605324629450336732237744949933131261637432583705578967195652854143688113842348961131301238822109604867820880373895929678813206005905998256138003193939430031500937469459886313572969617420463357717015868519647139619783738664339469634767691718859402693040744496256579137012445315901539945707381199834179484695253266484603944523251169820137605840066080532241859476401514948522910738448857318677774487211036893705034392155268439028421791285100519464486444477963927401060808723804979008297954393266196717221085990147468628071409496822529237599473884658336986995305812051653473324461655534115642940713614804138017218924704678296482049610631615102502352218330153635885306046009008516386102091351587172632805949960763617251800398606877285958759697024625378216421527996621828637918815496909051097863751946213578356066803556002266285298362812062579353683259789908042718240974120099708498738476634076327334188877755731891633492926483361652059100198499906807565979874016089792689044582957421211357810102785261202642416014984686387006014247838555013917975367280510511382472861844506657711252226172342257141370418455030785939902966186064378612343388522201 17096514432392010529364838268776805741626491983802266620190206208172696873234813482483365709431853909583915065322978152167502744540503066601117763065026098266234519714881043949978391060066931075033806056950776309550927796151280447432622835306404677726866721082849662821209427845802979880779445669344980130829714538914116327359096215372102611977844620383612709292556709048278160270587244432169186633716466022126911044735277507616014086204636182543752763536629775356038988194449778966348917538239867739724219808764520626961515115953395422326375330187199767476540533328549549278354695435835512439602279608859717042913999554402048260387898497473532517714737498499967235096738147726173601834073114415600186870648869728394537964177522029760995884072260526532008144776737340605394549272112086867607653397103695846827513685301351965652823217658373018983663043091193043270675084494518384790619284755213930829321568632637488324531072741076354750007694500214455149992467029846301434554648276409055657753389810244405102155592454941533743915555165616533579505490612688862761288622185426792071576968186794491706919799301218343117751382675722049096847971650023168652547799602988385806644843682957349927525766313690797624132458089682551361069421330290872294125906050665711914788727674105810368294302720873228542418073755828373345009718476679552592677705508615045825394428524319563148615170423305073462183805923211271024739882841575195138102078675961013785556891090063127369513211106023675041778816183772919266047742967368056472202404248879986872245533489922802761090850114571146810624046377648202177433866180925215523237068344514009304365145715086793386736667738168040633962089288813067982869742449529812977111440258739441237646720218660800472239438790967946811077778496207418647774516505484246472048390402184625239450798900194875641897164631732625028462709593014676656349680264517248104477268766648779225523309115445070461302606661645995636631592810728794486802152102045112266711653808669122783207080685699404352931403633903534433914773466659412552709974106017083721479985340814349973318535843969279760414152606999877207210409416588665233807381980531066167834009563720621972099436591968740448261156727703800524473409245713968116392951058558983098565139871204084010229860387280330883558471265662194304369263573278793820102817836298262977536099028181998083147778792843521728390581516936998462800793261343355432580898015143115738390159790184201518787689066698130880937184834285836605084484113494917763302302951737290304119228273266636239774296211063723400456618296011492979399396702032650112259388013621186743563173269810773970785716454233541081627143121620647259803578180123 27662741440763389271272315149745921643869507435010035263940070296744274461004207971320243819905343119584489923185090539740456284650672784268097598712616557712548279324167010569212702876496034682402363511569698344519839453063990491262990189998749517341753581816244182875627227977121073206849806883847773792132025931224183052341268451031298317951730962232062988122298802874043836798357034026800496971689836414705646774718255962397105872219896294752548971734700342755397474502953238230712266275420724844332306573488654072870794115795065389847950895669291160852984036639263791520296513165740533027528094476597672435766328126547956626606186286246175346578805735518879578583581854282135825424445590769429763329372835433119637954369975619383662865845745197094163964103012290057020633625191314465547374257652476757550128564691655463006527173988284789887228522580391631970576751196478492701156120438051489174746329843722341141831212948478430080381843321138285840413862445907824653011260975311302310242349023600189449152093137286466342960751084031043461973223664307493123881771106760771536340254257515459803734151775007107699799968110543467412926860962297101723444722067911943056864370180885408924480098992880228536958576870873179604785409164340150652404081749542566096012244092310530751350683920771793059672939862800144000593267407025794074527883763861624367494434674998328515411934569045414562207853728011292573795571460779538591744662752816596599305379443747799898877136242998802202363564399595068740434392780536689871585933854204616322582265727667752694222111752003730516203013573301056321121980023274176654538307166623614172186026088982723065549873744074038890100092482752498014370679918989699290684409876159904595363736087180447611859222529632286280712546187926278050467557249980503051185402847500526779396506281394709821381859884999109632407232844184496793955520330597780346336745168163727748434047564302389139077093872682889341665984965997233515223943387145631731198098286633050184267889409504383361229358027169731151135859456806881180781383602839612959079459225472686960313841656020933233738614262533992850151123031392803251026306685209362649883620195335724474451654922122376333567202736712316910575500597301140749198901019322600350365538478081369968989557411905709099979999262284022942288079070187844917966569782511841333602902584184264368446141604906101082073841306845041181041767381443063931319374649219443072579037545916093152280615550059782940037383334192644171064358129584710452346885909158501661929331058527838882190311195750110406470866134566506897374763982543161494732249858127844454815399442153031112156134909264327021530109307685025872146966702324 44759255873155399800637153418522727385495999418812301884130276504916971334239021453803609529337197029168404988508068691907959029191175850869215361777642655978782799039048054519191093936562965757436169568520474654070767249215270938695613025305154195068620302899093845696836655822924053087629252553192753922961740470138299379700364666403400929929575582615675697414855511922321997068944278458969683605406302436832557819453533470013119958424532477296301735271330118111436462697403017197061183813660592584056526382253174699832309231748460812174326225856490928329524569967813340798651208601576045467130374085457389478680327680950004886994084783719707864293543234018846813680320002008309427258518705185029950200021705161514175918547497649144658749918005723626172108879749630662415182897303401333155027654756172604377642249993007428659350391646657808870891565671584675241251835690996877491775405193265420004067898476359829466362285689554784830389537821352740990406329475754126087565909251720357967995738833844594551307685592228000086876306249647577041478714276996355885170393292187563607917222444309951510653951076225450817551350786265516509774832612320270375992521670900328863509213863842758852005865306571026161091034960555730965854830494631022946529987800208278010800971766416341119644986641645021602091013618628517345602985883705346667205589272476670192888863199317891664027104992350488024391659651222563598535454302354733729846741428777610384862270533810927268390347349022477244142380583367988006482135747904746343788338103084603194827799217590555455312961866574877326827059950949258498555846204199392177775375511137623476551171804069516452286541482242079524062181771565565997240422368519512267795850134899345833010456305841248084098661320600233091790324684133696698242073755464749523233793249685152018847305181589585463279024516731734660869942437199173450305200595115028450814013934812506973957356679747459600379700534328884978297577776726028002026095489190743997909752095302172967474970095203787714160761661073265585050632923466293733491357708856696680559444566287036933632377499990212994152766869533870057361532447981468484833688665740428817717629759056346446551091514091116781828359464416117435048909843015108865591852077881583448930678349285453979219417799186039983538470527946217246657342643466638738069387618810104311139001612366262451593920397749622810464422823782039643842560642786419363900272664362558810969197336100294671068304616757913820974568168478480776148842243079628215649188860895791966048559331794475121964607406813833806927484430577999876774160684575811606991637871749031198378572711963805082941851363497868103157252429305673131950544882447 72421997313918789071909468568268649029365506853822337148070346801661245795243229425123853349242540148752894911693159231648415313841848635137312960490259213691331078363215065088403796813059000439838533080090172998590606702279261429958603215303903712410373884715338028572463883800045126294479059437040527715093766401362482432041633117434699247881306544847738685537154314796365833867301312485770180577096138851538204594171789432410225830644428772048850707006030460866833937200356255427773450089081317428388832955741828772703103347543526202022277121525782089182508606607077132318947721767316578494658468562055061914446655807497961513600271069965883210872348969537726392263901856290445252682964295954459713529394540594633813872917473268528321615763750920720336072982761920719435816522494715798702401912408649361927770814684662891665877565634942598758120088251976307211828586887475370192931525631316909178814228320082170608193498638033214910771381142491026830820191921661950740577170227031660278238087857444784000459778729514466429837057333678620503451937941303849009052164398948335144257476701825411314388102851232558517351318896808983922701693574617372099437243738812271920373584044728167776485964299451254698049611831428910570640239658971173598934069549750844106813215858726871870995670562416814661763953481428661346196253290731140741733473036338294560383297874316220179439039561395902586599513379233856172331025763134272321591404181594206984167649977558727167267483592021279446505944982963056746916528528441436215374271957289219517410064945258308149535073618578607843030073524250314819677826227473568832313682677761237648737197893052239517836415226316118414162274254318064011611102287509211558480260011059250428374192393021695695957883850232519372502870872059974748709631005445252574419196097185678798243811462984295284660884401730844293277175281383670244260720925712808797150759102976234722391404244049848739456794407011774319963562742723261517250038876336375729107850381935223151742859504708171075390119688242996736186492380273174914272741311696309639638903791759723893946219156011146227891381132067862907512655479374271735859995350949791467601249954392070921002746436213493115395562201128434345624410440316249614790753097204183799296216827366823948208975211091749083518469790230240188945421713654483656035957401321945644741904196550526820040062002655723892538264130627080824884328024229483295219647313582001883548234882016387823348920166817696761011951502671124947213200372664338667996074770054293627977890390322314004154918602563944213398350565144506774148924667118973101723887729876875653193972154116836195097986272762195124687361736990699004097511584771 117181253187074188872546621986791376414861506272634639032200623306578217129482250878927462878579737177921299900201227923556374343033024486006528322267901869670113877402263119607594890749621966197274702648610647652661373951494532368654216240609057907478994187614431874269300539622969179382108311990233281638055506871500781811741997783838100177810882127463414382952009826718687830936245590944739864182502441288370762413625322902423345789068961249345152442277360578978270399897759272624834633902741910012445359337995003472535412579291987014196603347382273017512033176574890473117598930368892623961788842647512451393126983488447966400594355853685591075165892203556573205944221858298754679941483001139489663729416245756147989791464970917672980365681756644346508181862511551381850999419798117131857429567164821966305413064677670320325227957281600407629011653923560982453080422578472247684706930824582329182882126796442000074555784327587999741160918963843767821226521397416076828143079478752018246233826691289378551767464321742466516713363583326197544930652218300204894222557691135898752174699146135362825042053927458009334902669683074500432476526186937642475429765409712600783882797908570926628491829606022280859140646791984641536495070153602196545464057349959122117614187625143212990640657204061836263854967100057178691799239174436487408939062308814964753272161073634111843466144553746390610991173030456419770866480065489006051438145610371817369029920511369654435657830941043756690648325566331044753398664276346182559162610060373822712237864162848863604848035485153485169857133475199573318233672431672961010089058188898861125288369697121755970122956708558197938224456025883630008851524656028723826276110145958596261384648698862943780056545170832752464293195556193671446951704760910002097652989346870830817091116644573880747939908918462578954147117718582843694565921520827837247964773037788741696348760923797308339836494941340659298261140519449289519276134365527119727017602477237396119217829599911958789550881349316262321237125303739468647764099020553006320198348358046760827578596656001359222044148001601732964874187927355740220693684016690220285318879713448417367553837950304609897223921665544551780673320283331358480382605175085767248226895176652277927428393010277789067056940318176457435602764357121122394105345020132049955880905808916789271633982400405346703002686954409120468726888667015902659119919977944560694517432218116682494417224783575610581986519671149605723362042615743966883645263630950085594026449722116789126119526009377778020325834995722506650923085351694784708715525601625906851572544866080641278039837636260063227844614166296372136048056467218 189603250500992977944456090555060025444227013126456976180270970108239462924725480304051316227822277326674194811894387155204789656874873121143841282758161083361444955765478184695998687562680966637113235728700820651251980653773793798612819455912961619889368072329769902841764423423014305676587371427273809353149273272863264243783630901272799425692188672311153068489164141515053664803546903430510044759598580139908967007797112334833571619713390021394003149283391039845104337098115528052608083991823227440834192293736832245238515926835513216218880468908055106694541783181967605436546652136209202456447311209567513307573639295945927914194626923651474286038241173094299598208123714589199932624447297093949377258810786350781803664382444186201301981445507565066844254845273472101286815942292832930559831479573471328233183879362333211991105522916543006387131742175537289664909009465947617877638456455899238361696355116524170682749282965621214651932300106334794652046713319078027568720249705783678524471914548734162552227243051256932946550420917004818048382590159604053903274722090084233896432175847960774139430156778690567852253988579883484355178219761555014574867009148524872704256381953299094404977793905473535557190258623413552107135309812573370144398126899709966224427403483870084861636327766478650925618920581485840037995492465167628150672535345153259313655458947950332022905184115142293197590686409690275943197505828623278373029549791966024353197570488928381602925314533065036137154270549294101500315192804787618774536882017663042229647929108107171754383109103732093012887206999449888137911498659146529842402740866660098774025567590173995487959371934874316352386730280201694020462626943537935384756370157017846689758841091884639476014429021065271836796066428253646195661335766355254672072185444056509615334928107558176032600793320193423247424292999966513938826642446540646045115532140764976418740165167847157079293289348352433618224703262172551036526173241863495456125452859172619270960689104620129864941001037559259057423617684012643562036840332249315959837252149806484721524815812012505449935529133669595872386843406730011956553679367640011752920129667840488288556584386518103012619483866672986126297730723647608095173358272289951047523112004019101875637368221369538150575410108406697624548186070775606050141302421453995600622810005467316091674044403061070595540951085036201293611216691245385954339567291526562578065667100133070317766144950393307342998471173820730670575242988408305551641338401004379222004340112439103130274444611941722233724185560867013425072010018813757810439413331502782504766517020197477473137823909022258352531975903287071140145568051989 306784503688067166817002712541851401859088519399091615212471593414817680054207731182978779106402014504595494712095615078761163999907897607150369605026062953031558833167741304303593578312302932834387938377311468303913354605268326167267035696522019527368362259944201777111064963045983485058695683417507090991204780144364046055525628685110899603503070799774567451441173968233741495739792494375249908942101021428279729421422435237256917408782351270739155591560751618823374736995874800677442717894565137453279551631731835717773928506127500230415483816290328124206574959756858078554145582505101826418236153857079964700700622784393894314788982777337065361204133376650872804152345572887954612565930298233439040988227032106929793455847415103874282347127264209413352436707785023483137815362090950062417261046738293294538596944040003532316333480198143414016143396099098272117989432044419865562345387280481567544578481912966170757305067293209214393093219070178562473273234716494104396863329184535696770705741240023541103994707372999399463263784500331015593313242377904258797497279781220132648606874994096136964472210706148577187156658262957984787654745948492657050296774558237473488139179861870021033469623511495816416330905415398193643630379966175566689862184249669088342041591109013297852276984970540487189473887681543018729794731639604115559611597653968224066927620021584443866371328668888683808581859440146695714063985894112284424467695402337841722227491000298036038583145474108792827802596115625146253713857081133801333699492078036864941885793270956035359231144588885578182744340474649461456145171090819490852491799055558959899313937287295751458082328643432514290611186306085324029314151599566659211032480302976442951143489790747583256070974191898024301089261984447317642613040527265256769725174790927340432426044752132056780540702238656002201571410718549357633392563967368483293080305178553718115088926091644465419129784289693092916485843781621840555802307607390615183143055336410015390178518704532088654491882386875521378660742987752112209800939352802322280035600507853245549103412468013864671979677135271328837261031334085752177247363384330232038239009381288905656110422336822712909843405532217537906971051006978966575555963447375718295750007180671379803065761231647327217632350426583155060150950427896728444246647441586045556503715814384105363308026803466417298543638039445321762338105358261288613459487269471123272583099318249752812183369733968917924984990844970336393937285604152272435286602031954464816030789834555892256393970621319500254050020556589520075995095370508542519154938933128689356339061886278118751177661545282321580376590069583443276193624519207 496387754189060144761458803096911427303315532525548591392742563523057142978933211487030095334224291831269689523990002233965953656782770728294210887784224036393003788933219488999592265874983899471501174106012288955165335259042119965879855152434981147257730332273971679952829386468997790735283054844780900344354053417227310299309259586383699029195259472085720519930338109748795160543339397805759953701699601568188696429219547572090489028495741292133158740844142658668479074093990328730050801886388364894113743925468667963012444432963013446634364285198383230901116742938825683990692234641311028874683465066647478008274262080339822228983609700988539647242374549745172402360469287477154545190377595327388418247037818457711597120229859290075584328572771774480196691553058495584424631304383782992977092526311764622771780823402336744307439003114686420403275138274635561782898441510367483439983843736380805906274837029490341440054350258830429045025519176513357125319948035572131965583578890319375295177655788757703656221950424256332409814205417335833641695832537508312700772001871304366545039050842056911103902367484839145039410646842841469142832965710047671625163783706762346192395561815169115438447417416969351973521164038811745750765689778748936834260311149379054566468994592883382713913312737019138115092808263028858767790224104771743710284132999121483380583078969534775889276512784030977006172545849836971657261491722735562797497245194303866075425061489226417641508460007173828964956866664919247754029049885921420108236374095699907171533722379063207113614253692617671195631547474099349594056669749966020694894539922219058673339504877469746946041700578306830642997916586287018049776778543104594595788850459994289640902330882632222732085403212963296137885328412700963838274376293620511441797360234983850047760972859690232813141495558849425448995703718515871572219206413909129338195837319318694533829091259491622498423073638045526534710547043794391592328480849254110639268508195582634661139207809152218519432883424434780436084360671764755771837779685051638239872852657659730270628228280026370121915206268940924709647874740815764133801042751970243791159139049129393944667006723340815922462889398890524033268781730626574670729321719665669343273119184690481678703129453016865368207760534989852684699136498672334494387949863040041157126525819851421454982071206527487894084589124481523055949322049506674567799054560997685850648766418382823129949514684362225267983462018791067064512528592560577986927940432958844038035129946994995386668415233261222487774206117456533501067105389322300329594352264631471861105578906475596224315485454304579932908565972870514416339192571196 803172257877127311578461515638762829162404051924640206605214156937874823033140942670008874440626306335865184236085617312727117656690668335444580492810286989424562622100960793303185844187286832305889112483323757259078689864310446133146890848957000674626092592218173457063894349514981275793978738262287991335558833561591356354834888271494598632698330271860287971371512077982536656283131892181009862643800622996468425850641982809347406437278092562872314332404894277491853811089865129407493519780953502347393295557200503680786372939090513677049848101488711355107691702695683762544837817146412855292919618923727442708974884864733716543772592478325605008446507926396045206512814860365109157756307893560827459235264850564641390576077274393949866675700035983893549128260843519067562446666474733055394353573050057917310377767442340276623772483312829834419418534373733833900887873554787349002329231016862373450853318942456512197359417552039643438118738246691919598593182752066236362446908074855072065883397028781244760216657797255731873077989917666849235009074915412571498269281652524499193645925836153048068374578190987722226567305105799453930487711658540328675460558264999819680534741677039136471917040928465168389852069454209939394396069744924503524122495399048142908510585701896680566190297707559625304566695944571877497584955744375859269895730653089707447510698991119219755647841452919660814754405289983667371325477616847847221964940596641707797652552489524453680091605481282621792759462780544394007742906967055221441935866173736772113419515650019242472845398281503249378375887948748811050201840840785511547386338977778018572653442164765498404124029221739344933609102892372342079090930142671253806821330762970732592045820673379805988156377404861320438974590397148281480887416820885768211522535025911190480187017611822289593682197797505427650567114437065229205611770381277612631276142497872412648918017351136087917552857927738619451196390825416232148130788456644725822411563531992650051317726513684307173924765811310301814745103659516867981638719037853960519908453165512975819731640748040234793894883404212253546908906074901516311048406136300475829398148430418299600777429060163528832306294931108061940239832737605541246285285167041387639023126365361861481768890684664192585840110961573007744850086926569062938634597304626086713630241634235526818290098009993905192628227163926844818287427407767963181258541830468809123231865736632575942132884418331143192968452863761403458449814196712850422214542464913308854065919781550887643062385854580722741824226674046053577062200759830842848749291197760161217444640792753714975493146999586901513285156042453957692532817090403 1299560012066187456339920318735674256465719584450188797997956720460931966012074154157038969774850598167134873760075619546693071313473439063738791380594511025817566411034180282302778110062270731777390286589336046214244025123352566099026746001391981821883822924492145137016723735983979066529261793107068891679912886978818666654144147857878297661893589743946008491301850187731331816826471289986769816345500224564657122279861530381437895465773833855005473073249036936160332885183855458137544321667341867241507039482669171643798817372053527123684212386687094586008808445634509446535530051787723884167603083990374920717249146945073538772756202179314144655688882476141217608873284147842263702946685488888215877482302669022352987696307133684025451004272807758373745819813902014651987077970858516048371446099361822540082158590844677020931211486427516254822693672648369395683786315065154832442313074753243179357128155971946853637413767810870072483144257423205276723913130787638368328030486965174447361061052817538948416438608221512064282892195335002682876704907452920884199041283523828865738684976678209959172276945675826867265977951948640923073320677368588000300624341971762165872930303492208251910364458345434520363373233493021685145161759523673440358382806548427197474979580294780063280103610444578763419659504207600736265375179849147602980179863652211190828093777960653995644924354236950637820926951139820639028586969339583410019462185790945573873077613978750871321600065488456450757716329445463641761771956852976641550172240269436679284953238029082449586459651974120920574007435422848160644258510590751532242280878899997077245992947042235245350165729800046175576607019478659360128867708685775848402610181222965022232948151556012028720241780617824616576859918809849245319161793114506279653319895260895040527947990471512522406823693356354853099562818155581100777830976795186741969471979817191107182747108610627710415975931565784145985906937869210623740459269305898836461680071727575284712456934322836525693357649235745082250829464331281623753476498722905598759781305823172706090359869028066604915810089673153178256556780815717280444849448888270719620557287479547693545444435783504344754769184329998585973508614468232115917014606886707056982296245550052343160472020137681057954047871496562860429549223425241397433022547167666127870756767454086948273272169216521393086712816288408367874236749457274637749057596391466494973880632155015399072082399102693368460951914882552470522962342789273428409142482897872152892101049728545883029730801087841945229598432791502587078129306149153143178343643462391633078550219699229311199808632453891481446193722015324472108872009661599 2102732269943314767918381834374437085628123636374829004603170877398806789045215096827047844215476904503000057996161236859420188970164107399183371873404798015242129033135141075605963954249557564083279399072659803473322714987663012232173636850348982496509915516710318594080618085498960342323240531369356883015471720540410023008979036129372896294591920015806296462673362265713868473109603182167779678989300847561125548130503513190785301903051926417877787405653931213652186696273720587545037841448295369588900335039869675324585190311144040800734060488175805941116500148330193209080367868934136739460522702914102363426224031809807255316528794657639749664135390402537262815386099008207372860702993382449043336717567519586994378272384408077975317679972843742267294948074745533719549524637333249103765799672411880457392536358287017297554983969740346089242112207022103229584674188619942181444642305770105552807981474914403365834773185362909715921262995669897196322506313539704604690477395040029519426944449846320193176655266018767796155970185252669532111713982368333455697310565176353364932330902514363007240651523866814589492545257054440377003808389027128328976084900236761985553465045169247388382281499273899688753225302947231624539557829268597943882505301947475340383490165996676743846293908152138388724226200152172613762960135593523462250075594305300898275604476951773215400572195689870298635681356429804306399912446956431257241427126387587281670730166468275325001691670969739072550475792226008035769514863820031862992108106443173451398372753679101692059305050255624169952383323371596971694460351431537043789667217877775095818646389207000743754289759021785520510216122371031702207958638828447102209431511985935754824993972229391834708398158022685937015834509206997526800049209935392047864842430286806231008135008083334812000505891153860280750129932592646329983442747176464354600748122315063519831665125961763798333528789493522765437103328694626855888590057762543562284091635259567934763774660836520832867282415047055384065574567990798491735115217760759559279689758988685681910091509776106839709704973077365431803465686890618796755897855024571195449955435909965993146221864843667873587075479261106647913748447205837657163299892053748444621319371915414204642240910822345250539887982458135868174399310351810460371657144472292214584387009088322475091562267226515298279341043452335212692524176865042600930316138221935304097112497891647975014215283521024511653920367746313873981412156985986278831357025362785461746166969510096770672793186942422667971422659465548640655191506908983986027092934660151794295994860491983026175301779453478382959478878057778429801404826752002 3402292282009502224258302153110111342093843220825017802601127597859738755057289250984086813990327502670134931756236856406113260283637546462922163253999309041059695444169321357908742064311828295860669685661995849687566740111015578331200382851740964318393738441202463731097341821482939408852502324476425774695384607519228689663123183987251193956485509759752304953975212453445200289936074472154549495334801072125782670410365043572223197368825760272883260478902968149812519581457576045682582163115637236830407374522538846968384007683197567924418272874862900527125308593964702655615897920721860623628125786904477284143473178754880794089284996836953894319824272878678480424259383156049636563649678871337259214199870188609347365968691541762000768684245651500641040767888647548371536602608191765152137245771773702997474694949131694318486195456167862344064805879670472625268460503685097013886955380523348732165109630886350219472186953173779788404407253093102473046419444327342973018507882005203966788005502663859141593093874240279860438862380587672214988418889821254339896351848700182230671015879192572966412928469542641456758523209003081300077129066395716329276709242208524151426395348661455640292645957619334209116598536440253309684719588792271384240888108495902537858469746291456807126397518596717152143885704359773350028335315442671065230255457957512089103698254912427211045496549926820936456608307569624945428499416296014667260889312178532855543807780447026196323291736458195523308192121671471677531286820673008504542280346712610130683325991708184141645764702229745090526390758794445132338718862022288576031948096777772173064639336249235989104455488821831696086823141849691062336826347514222950612041693208900777057942123785403863428639938640510553592694428016846772119211003049898327518162325547701271536082998554847334407329584510215133849692750748227430761273723971651096570220102132254627014412234572391508749504721059306911423010266563837479629049327068442398745771706987143219476231595159357358560640064282800466316404032322080115488591716483665158039471064811858388000451378804173444625515062750518610060022467706336077200747303912841915070512723389513686691666300627172218341844663591105233887257061674069773080314498940455501603615617465466547802712930960026308493935853954698728603948533777051857804679691639958342455143776542409423364834436443036691366053859740743580566760926322317238679373734613401799070993130046663374086297682623717880114872282628866344504374499775259707240499508260657614638268019238642653702523988030264613201021092257051227733320813058137129205436578122543427374545080191212337375110411907369864405672600073102901910276836413601 5505024551952816992176683987484548427721966857199846807204298475258545544102504347811134658205804407173134989752398093265533449253801653862105535127404107056301824477304462433514706018561385859943949084734655653160889455098678590563374019702089946814903653957912782325177959906981899751175742855845782657710856328059638712672102220116624090251077429775558601416648574719159068763045677654322329174324101919686908218540868556763008499271877686690761047884556899363464706277731296633227620004563932606419307709562408522292969197994341608725152333363038706468241808742294895864696265789655997363088648489818579647569697210564688049405813791494593643983959663281215743239645482164257009424352672253786302550917437708196341744241075949839976086364218495242908335715963393082091086127245525014255903045444185583454867231307418711616041179425908208433306918086692575854853134692305039195331597686293454284973091105800753585306960138536689504325670248762999669368925757867047577708985277045233486214949952510179334769749140259047656594832565840341747100132872189587795593662413876535595603346781706935973653579993409456046251068466057521677080937455422844658252794142445286136979860393830703028674927456893233897869823839387484934224277418060869328123393410443377878241959912288133550972691426748855540868111904511945963791295451036194527480331052262812987379302731864200426446068745616691235092289663999429251828411863252445924502316438566120137214537946915301521324983407427934595858667913897479713300801684493040367534388453155783582081698745387285833705069752485369260478774082166042104033179213453825619821615314655547268883285725456236732858745247843617216597039264220722764544784986342670052821473205194836531882936096014795698137038096663196490608528937223844298919260212985290375383004755834507502544218006638182146407835475664075414599822683340873760744716471148115451170968224447318146846077360534155307083033510552829676860113595258464335517639384830985961029863342246711154240006255995878191427922479329855850381978600312878607223706934244424717319160823800544069910542888580280284335220035827884041863488154596954873956645158937413110520468159299479679837888165470840091928920142852211881801005508879907430243614390994203946224934989380880752444953841782371559033823836412834596778347844128862318176336836112250557039530785630731898456396703669551989645394903193078793259285103187359839609689872835337103168105627938311349100512966144742391768792650375180218485786656761245986071856533623443076384434988748739424375317174972687281172443751722599868388512319967121115232529512782695221670539940683195363550412191360848247365151478130881331711681663165603 8907316833962319216434986140594659769815810078024864609805426073118284299159793598795221472196131909843269921508634949671646709537439200325027698381403416097361519921473783791423448082873214155804618770396651502848456195209694168894574402553830911133297392399115246056275301728464839160028245180322208432406240935578867402335225404103875284207562939535310906370623787172604269052981752126476878669658902991812690888951233600335231696640703446963644308363459867513277225859188872678910202167679569843249715084084947369261353205677539176649570606237901606995367117336259598520312163710377857986716774276723056931713170389319568843495098788331547538303783936159894223663904865320306645988002351125123561765117307896805689110209767491601976855048464146743549376483852040630462622729853716779408040291215959286452341926256550405934527374882076070777371723966363048480121595195990136209218553066816803017138200736687103804779147091710469292730077501856102142415345202194390550727493159050437453002955455174038476362843014499327517033694946428013962088551762010842135490014262576717826274362660899508940066508462952097503009591675060602977158066521818560987529503384653810288406255742492158668967573414512568106986422375827738243908997006853140712364281518939280416100429658579590358099088945345572693011997608871719313819630766478865592710586510220325076483000986776627637491565295543512171548897971569054197256911279548460591763205750744652992758345727362327717648275143886130119166860035568951390832088505166048872076668799868393712765024737095469975350834454715114351005164840960487236371898075476114195853563411433319441947925061705472721963200736665448912683862406070413826881611333856893003433514898403737308940878219800199561565678035303707044201223365240691071038471216035188702901167081382208774080301005193029480815165060174290548449515434089101191505990195119766547741188326579572773860489595106546815832538231612136588283123861822301815146688711899428359775635049233854373716237851155235549988562543612656316698382632634958722712298650728089875358631888612402457910994267384453728960735098578402651923510622303290951157392462850255025590980882688993366529554466098012310270764806443317115688262570553977203323928889934659447828550606846347300247666772742397867527759690367533325382296377905914175981016527752208899494674562173141321821231140112588681011448762933822373826046029509677078289063607448738902239098757984974723186810648768460271883664933004046562990161156536505693312356041884100691022703007987382078077841163002951894373464843979651096121833133025258244437966090905238649045085020874407700925522603268218111770824078203984233621958499579204 14412341385915136208611670128079208197537776935224711417009724548376829843262297946606356130401936317016404911261033042937180158791240854187133233508807523153663344398778246224938154101434600015748567855131307156009345650308372759457948422255920857948201046357028028381453261635446738911203988036167991090117097263638506115007327624220499374458640369310869507787272361891763337816027429780799207843983004911499599107492102157098240195912581133654405356248016766876741932136920169312137822172243502449669022793647355891554322403671880785374722939600940313463608926078554494385008429500033855349805422766541636579282867599884256892900912579826141182287743599441109966903550347484563655412355023378909864316034745605002030854450843441441952941412682641986457712199815433712553708857099241793663943336660144869907209157563969117550568554307984279210678642053055624334974729888295175404550150753110257302111291842487857390086107230247158797055747750619101811784270960061438128436478436095670939217905407684217811132592154758375173628527512268355709188684634200429931083676676453253421877709442606444913720088456361553549260660141118124654239003977241405645782297527099096425386116136322861697642500871405802004856246215215223178133274424914010040487674929382658294342389570867723909071780372094428233880109513383665277610926217515060120190917562483138063862303718640828063937634041160203406641187635568483449085323142800906516265522189310773129972883674277629238973258551314064715025527949466431104132890189659089239611057253024177294846723482482755809055904207200483611483938923126529340405077288929939815675178726088866710831210787161709454821945984509066129280901670291136591426396320199563056254988103598573840823814315814995259702716131966903534809752302464535369957731429020479078284171837216716276624519011831211627223000535838365963049338117429974952250706666267881998912156551026890920706566955640702122915571742164966265143237457080766150664328096730414320805498391480565527956244107151113741416485022942512167080361232947837329936005584972514592677792712412946527821537155964734013295955134406286693786998776900245825114037621787668136111449041988473046367442631568852402199684949295528997489268079433884633567543280928863394053485596227228052692620614524769426561583526780367922160644222034776494157353363864459456534205347803873220277627843782140670656843666126901167085331132697036917898753480284076005407204385923286072287323614913202663652457583379226781475947813297751679384212575507543767407137996736121502453158337975639175545908595702250964510345452992379359670495603687933870715624961557603064475934794629066359135975556334865565333640162744807 23319658219877455425046656268673867967353587013249576026815150621495114142422091545401577602598068226859674832769667992608826868328680054512160931890210939251024864320252030016361602184307814171553186625527958658857801845518066928352522824809751769081498438756143274437728563363911578071232233216490199522523338199217373517342553028324374658666203308846180414157896149064367606869009181907276086513641907903312289996443335757433471892553284580618049664611476634390019157996109041991048024339923072292918737877732303260815675609349419962024293545838841920458976043414814092905320593210411713336522197043264693510996037989203825736396011368157688720591527535601004190567455212804870301400357374504033426081152053501807719964660610933043929796461146788730007088683667474343016331586952958573071983627876104156359551083820519523485095929190060349988050366019418672815096325084285311613768703819927060319249492579174961194865254321957628089785825252475203954199616162255828679163971595146108392220860862858256287495435169257702690662222458696369671277236396211272066573690939029971248152072103505953853786596919313651052270251816178727631397070499059966633311800911752906713792371878815020366610074285918370111842668591042961422042271431767150752851956448321938710442819229447314267170869317440000926892107122255384591430556983993925712901504072703463140345304705417455701429199336703715578190085607137537646342234422349367108028727940055426122731229401639956956621533695200194834192387985035382494964978694825138111687726052892571007611748219578225784406738661915597962489103764087016576776975364406054011528742137522186152779135848867182176785146721174515041964764076361550418308007654056456059688503002002311149764692535615194821268394167270610579010975667705226440996202645055667781185338918598925050704820017024241108038165596012656511498853551519076143756696861387648546653344877606463694567056550747248938748109973777102853426361318903067965811016808629842680581133440714419901672481958306349291405047566555168483778743865582796052648304235700604468036424601025348985732531423349187742256690232984689345710509399203536776271430084637923161702429924677466412896997097666864712470449755738846113177530649987861836891472170863522841882036203073575352940287387267167294089343217147901247542940599940690670138369891616668356028879909977014542098858983894729351668292429060723540911377162206713996187817087732814907646303143908260795474134263681662935536122516383273344466108969834257372696568617391644458429841004723503580530999500978591069919373439681902060632178586017637604108461694593172519760709982432010765401457397897284470906799634538849798955598662324011 37731999605792591633658326396753076164891363948474287443824875169871943985684389492007933733000004543876079744030701035546007027119920908699294165399018462404688208719030276241299756285742414187301754480659265814867147495826439687810471247065672627029699485113171302819181824999358316982436221252658190612640435462855879632349880652544874033124843678157049921945168510956130944685036611688075294357624912814811889103935437914531712088465865714272455020859493401266761090133029211303185846512166574742587760671379659152369998013021300747399016485439782233922584969493368587290329022710445568686327619809806330090278905589088082629296923947983829902879271135042114157471005560289433956812712397882943290397186799106809750819111454374485882737873829430716464800883482908055570040444052200366735926964536249026266760241384488641035664483498044629198729008072474297150071054972580487018318854573037317621360784421662818584951361552204786886841573003094305765983887122317266807600450031241779331438766270542474098628027324016077864290749970964725380465921030411701997657367615483224670029781546112398767506685375675204601530911957296852285636074476301372279094098438852003139178488015137882064252575157324172116698914806258184600175545856681160793339631377704597004785208800315038176242649689534429160772216635639049869041483201508985833092421635186601204207608424058283765366833377863918984831273242706021095427557565150273624294250129366199252704113075917586195594792246514259549217915934501813599097868884484227351298783305916748302458471702060981593462642869116081573973042687213545917182052653335993827203920863611052863610346636028891631607092705683581171245665746652687009734403974256019115943491105600884990588506851430190080971110299237514113820727970169761810953934074076146859469510755815641327329339028855452735261166131851022474548191668949051096007403527655530545565501428633354615273623506387951061663681715942069118569598775983834116475344905360257001386631832194985429628726065457463032821532589497680650859105098530633382584309820673119060714217313438295513554068579313921755552645367390976039497508176103782601385467706425591297813878966665939459264439729235717114670134705034375110666798729421746470459015451792386235935521799300803405632908001791936720650926743928269169703584821975467164295723255481127812563085257780887762376486827676870022325136095187624707996708294903750914086570568016890913053507529831546867761457878594865599188580099762500125942056783132009052080781192899188225836979001459625082984157838954230245465282035384153025142524039010016963778957298281106390476334943989613829877392192526350830042775190873715364289238825068818 61051657825670047058704982665426944132244950961723863470640025791367058128106481037409511335598072770735754576800369028154833895448600963211455097289229401655713073039282306257661358470050228358854941106187224473724949341344506616162994071875424396111197923869314577256910388363269895053668454469148390135163773662073253149692433680869248691791046987003230336103064660020498551554045793595351380871266820718124179100378773671965183981019150294890504685470970035656780248129138253294233870852089647035506498549111962413185673622370720709423310031278624154381561012908182680195649615920857282022849816853071023601274943578291908365692935316141518623470798670643118348038460773094304258213069772386976716478338852608617470783772065307529812534334976219446471889567150382398586372031005158939807910592412353182626311325205008164520760412688104979186779374091892969965167380056865798632087558392964377940610277000837779779816615874162414976627398255569509720183503284573095486764421626387887723659627133400730386123462493273780554952972429661095051743157426622974064231058554513195918181853649618352621293282294988855653801163773475579917033144975361338912405899350604909852970859893952902430862649443242542228541583397301146022217817288448311546191587826026535715228028029762352443413519006974430087664323757894434460472040185502911545993925707890064344552913129475739466796032714567634563021358849843558741769791987499640732322978069421625375435342477557543152216325941714454383410303919537196094062847579309365462986509358809319310070219921639207377869381531031679536462146451300562493959028017742047838732663001133239016389482484896073808392239426858096213210429823014237428042411628312475175631994107603196140353199387045384902239504466508124692831703637874988251950136719131814640654849674414566378034159045879693843299331727863678986047045220468127239764100389043179092218846306239818309840680057135200000411791689719171971995960094886902082286361713990099681967765272909405331301208023763812324226580156052849134637848964113429435232614056373723528750641914463644499286600002663109497809335600375665385208017575307319377656897791063514459516308891343405872161436826902581827140584460773221223844329379409608307350487622655909077817558002374378758573195389059104014740269961076170417246525421916157834434093147097796168591965167757902304475345811571599373993428524248348248908085457110464910274387655749705820699810673739807663235592142276528534724702616145773470408165752966266424777349810290832684266820006183128663515157339932821315384655475066055085774702625027654567887418992874278910237044926421624595278849590423635300949574825412565163244837487392829 98783657431462638692363309062180020297136314910198150914464900961239002113790870529417445068598077314611834320831070063700840922568521871910749262688247864060401281758312582498961114755792642546156695586846490288592096837170946303973465318941097023140897408982485880076092213362628212036104675721806580747804209124929132782042314333414122724915890665160280258048233170976629496239082405283426675228891733532936068204314211586496896069485016009162959706330463436923541338262167464597419717364256221778094259220491621565555671635392021456822326516718406388304145982401551267485978638631302850709177436662877353691553849167379990994989859264125348526350069805685232505509466333383738215025782170269920006875525651715427221602883519682015695272208805650162936690450633290454156412475057359306543837556948602208893071566589496805556424896186149608385508382164367267115238435029446285650406412966001695561971061422500598364767977426367201863468971258663815486167390406890362294364871657629667055098393403943204484751489817289858419243722400625820432209078457034676061888426169996420588211635195730751388799967670664060255332075730772432202669219451662711191499997789456912992149347909090784495115224600566714345240498203559330622393363145129472339531219203731132720013236830077390619656168696508859248436540393533484329513523387011897379086347343076665548760521553534023232162866092431553547852632092549579837197349552649914356617228198787824628139455553475129347811118188228713932628219854039009693160716463793592814285292664726067612528691623700188971332024400147761110435189138514108411141080671078041665936583864744291879999829120924965439999332132541677384456095569666924437776815602568494291575485213204081130941706238475574983210614765745638806652431608044750062904070793207961500124360430230207705363498074735146578560497859714701460595236889417178335771503916698709637784347734873172925114303563523151062075473405661241090565558870870736198761706619350356683354397105104390760929934089221275357048112745550529785496954062644062817816923877046842589464859227901940012840668581977031253361980967766641424705525751411101979042365497489105757330187858009345331425876556138298941810719165807596334511128108831354777809503074448295313753079801675182164206103390851040735391196705004439586950110243891624998729816402578923981155050425538790066851832639248469396318564619435972956904793752014215824360958223766596733753318203571354530997050020871394133913282715908273596350222536098275476858131003190020910103799007642753746499315178887051560849937510450208110917226664037671531666376291155385300713379870411238425156241782949986130992350016286280527534076312461647 159835315257132685751068291727606964429381265871922014385104926752606060241897351566826956404196150085347588897631439091855674818017122835122204359977477265716114354797594888756622473225842870905011636693033714762317046178515452920136459390816521419252095332851800457333002601725898107089773130190954970882967982787002385931734748014283371416706937652163510594151297830997128047793128198878778056100158554251060247304692985258462080050504166304053464391801433472580321586391305717891653588216345868813600757769603583978741345257762742166245636547997030542685706995309733947681628254552160132732027253515948377292828792745671899360682794580266867149820868476328350853547927106478042473238851942656896723353864504324044692386655584989545507806543781869609408580017783672852742784506062518246351748149360955391519382891794504970077185308874254587572287756256260237080405815086312084282493971358966073502581338423338378144584593300529616840096369514233325206350893691463457781129293284017554778758020537343934870874952310563638974196694830286915483952235883657650126119484724509616506393488845349104010093249965652915909133239504248012119702364427024050103905897140061822845120207803043686925977874043809256573782081600860476644611180433577783885722807029757668435241264859839743063069687703483289336100864151427918789985563572514808925080273050966729893313434683009762698958898806999188110873990942393138578967141540149555088940206268209450003574798031032672500027444129943168316038523773576205787223564043102958277271802023535386922598911545339396349201405931179440646897335589814670905100108688820089504669246865877530896389311605821039248391571559399773597666525392681161865819227230880969467207479320807277271294905625520959885450119232253763499484135245919738314854207512339776140779210104644774083397657120614840421859829587578380446642282109885305575535604305741888730003194041112991234954983620658351062487265095380413062561518965757638281048068333340456365322162378013796092231142112985087681274692901603378920134803026757492253049537933420566118215501142365584512127268584640140751171316568142306809913543326718421356699263288552620216846496749352751203587313383040880768951303626580817558355457488240963085159990697104204391570637804049560922779298779910144750131466666080610004196635665807782833163909549676720149747015593296692371327178450820068770311993143684321205812879209124680734635345879516302554453128877311162194232642163147922668637985332054047066758388289064541901635480813480853594370619013825882410014472518819872876234592985516263196691929289065326099553795284029664210950424796832863020435091373373621431941924841698845690778913799854476 258618972688595324443431600789786984726517580782120165299569827713845062355688222096244401472794227399959423218462509155556515740585644707032953622665725129776515636555907471255583587981635513451168332279880205050909143015686399224109924709757618442392992741834286337409094815088526319125877805912761551630772191911931518713777062347697494141622828317323790852199531001973757544032210604162204731329050287783996315509007196844958976119989182313216424098131896909503862924653473182489073305580602090591695016990095205544297016893154763623067963064715436930989852977711285215167606893183462983441204690178825730984382641913051890355672653844392215676170938282013583359057393439861780688264634112926816730229390156039471913989539104671561203078752587519772345270468416963306899196981119877552895585706309557600412454458384001775633610205060404195957796138420627504195644250115758369932900384324967769064552399845838976509352570726896818703565340772897140692518284098353820075494164941647221833856413941287139355626442127853497393440417230912735916161314340692326188007910894506037094605124041079855398893217636316976164465315235020444322371583878686761295405894929518735837269555712134471421093098644375970919022579804419807267004543578707256225254026233488801155254501689917133682725856399992148584537404544961403119499086959526706304166620394043395442073956236543785931121764899430741658726623034942718416164491092799469445557434466997274631714253584507801847838562318171882248666743627615215480384280506896551091557094688261454535127603169039585320533430331327201757332524728328779316241189359898131170605830730621822776389140726746004688390903691941450982122620962348086303596042833449463758782964534011358402236611863996534868660733997999402306136566853964488377758278305547737640903570534874981788761155195349987000420327447293081907237518999302483911307108222440598367787541775986164160069287184181502124562738501041654153127077836628374479809774952690813048676559483118186853161076202206363038322805647153908705631757089401555070866461810467408707680360370267524524967937166617172004533297535908948234619069078129523335741628786041725974176684607362096535013189939179179710762022792388413892866585597072317862969493771552499705323717605724743086985402170761185485522663371085049591146745909699407831893725952255644130902066018835482438179011090068538166630557763120294162717672961138896558996304103282899288206447080882516725229692184019316802551268047962320663108610825162817378493611816670874504474418021468636156513787697706924437084530495966471307609155953102997631220171575185049511663804667244101445591333156323607562934274857985126218312990112316123 418454287945728010194499892517393949155898846654042179684674754466451122597585573663071357876990377485307012116093948247412190558602767542155157982643202395492629991353502360012206061207478384356179968972913919813226189194201852144246384100574139861645088074686086794742097416814424426215650936103716522513740174698933904645511810361980865558329765969487301446350828832970885591825338803040982787429208842035056562813700182103421056170493348617269888489933330382084184511044778900380726893796947959405295774759698789523038362150917505789313599612712467473675559973021019162849235147735623116173231943694774108277211434658723789716355448424659082825991806758341934212605320546339823161503486055583713453583254660363516606376194689661106710885296369389381753850486200636159641981487182395799247333855670512991931837350178506745710795513934658783530083894676887741276050065202070454215394355683933842567133738269177354653937164027426435543661710287130465898869177789817277856623458225664776612614434478631074226501394438417136367637112061199651400113550224349976314127395619015653600998612886428959408986467601969892073598554739268456442073948305710811399311792069580558682389763515178158347070972688185227492804661405280283911615724012285040110976833263246469590495766549756876745795544103475437920638268696389321909484650532041515229246893445010125335387390919553548630080663706429929769600613977335856995131632632949024534497640735206724635289051615540474347866006448115050564705267401191421267607844549999509368828896711796841457726514714378981669734836262506642404229860318143450221341298048718220675275077596499353672778452332567043936782475251341224579789146355029248169415270064330433225990443854818635673531517489517494754110853230253165805620702099884226692612485817887513781682780639519755872158812315964827422280157034871462353879801109187789486842712528182487097790735817099155395024270804839853187050003596422067215688596802386012760857843286031269413998721861131982945392218315191450719597498548757287625766560116159047323915999743887974825895861512633109037095205751257312755704614104051255044532612404847944692440892074594346191023181356714847738600503322220060479713326418969231451222043085313280948129484468656704096894355409774304009764700950671330235654130037165659595343381575507190665057635501932364280649081612132174809506189540888606936942550906804615368530552170263577293631649982799201842659575958193678919462334347167239471189253380016367729866999114227359280129092630151728098845037035294518566528260216526797313319123481482734504301085242168323730773966859214713722614229464076964466026424529697228994876199699683971909091903912170599 677073260634323334637931493307180933882416427436162344984244582180296184953273795759315759349784604885266435334556457402968706299188412249188111605308927525269145627909409831267789649189113897807348301252794124864135332209888251368356308810331758304038080816520373132151192231902950745341528742016478074144512366610865423359288872709678359699952594286811092298550359834944643135857549407203187518758259129819052878322707378948380032290482530930486312588065227291588047435698252082869800199377550049996990791749793995067335379044072269412381562677427904404665412950732304378016842040919086099614436633873599839261594076571775680072028102269051298502162745040355517571662713986201603849768120168510530183812644816402988520365733794332667913964048956909154099120954617599466541178468302273352142919561980070592344291808562508521344405718995062979487880033097515245471694315317828824148294740008901611631686138115016331163289734754323254247227051060027606591387461888171097932117623167311998446470848419918213582127836566270633761077529292112387316274864565042302502135306513521690695603736927508814807879685238286868238063869974288900764445532184397572694717686999099294519659319227312629768164071332561198411827241209700091178620267590992296336230859496735270745750268239674010428521400503467586505175673241350725028983737491568221533413513839053520777461347156097334561202428605860671428327237012278575411296123725748493980055075202203999267003305200048276195704568766286932813372011028806636747992125056896060460385991400058295992854117883418566990268266593833844161562385046472229537582487408616351845880908327121176449167593059313048625173378943282675561911767317377334473011312897779896984773408388829994075768129353514029622771587228252568111757268953848715070370764123435251422586351174394737660919967511314814422700484482164544261117320108490273398149820750623085465578277593085319555093557989021355311612742097463721368815674639014387240667618238722082462675281344250169798553294517397813757920304195911196331398317205560602394782461554355383533576221882900633562063142917874484760237911639960203279151681482977468028182520860636072165199865964076944273613693261399240190475349211357645344088628682385598811098978240209203802218073015499047096750103121432515721176793408250709186490127485206598496951361454188008411551147630967657247685200630957145103573108669924909531248225131402473852627954086082101130866023039076195644692026531186556273740521427978688392975609939390176658622704446822602603319455056763154723042047914233721750403653977449205811910241195271321361994138434399763234278034131321065911617757686020836557810474557669098127404894024486722 1095527548580051344832431385824574883038315274090204524668919336646747307550859369422387117226774982370573447450650405650380896857791179791343269587952129920761775619262912191279995710396592282163528270225708044677361521404090103512602692910905898165683168891206459926893289648717375171557179678120194596658252541309799328004800683071659225258282360256298393744901188667915528727682888210244170306187467971854109441136407561051801088460975879547756201077998557673672231946743030983250527093174498009402286566509492784590373741194989775201695162290140371878340972923753323540866077188654709215787668577568373947538805511230499469788383550693710381328154551798697451784268034532541427011271606224094243637395899476766505126741928483993774624849345326298535852971440818235626183159955484669151390253417650583584276129158741015267055201232929721763017963927774402986747744380519899278363689095692835454198819876384193685817226898781749689790888761347158072490256639677988375788741081392976775059085282898549287808629231004687770128714641353312038716388414789392278816262702132537344296602349813937774216866152840256760311662424713557357206519480490108384094029479068679853202049082742490788115235044020746425904631902614980375090235991603277336447207692759981740336246034789430887174316944606943024425813941937740046938468388023609736762660407284063646112848738075650883191283092312290601197927850989614432406427756358697518514552715937410723902292356815588750543570575214401983378077278429998058015599969606895569829214888111855137450580632597797548660003102856340486565792245364615679758923785457334572521155985923620530121946045391880092561955854194623900141700913672406582642426582962110330210763852243648629749299646843031524376882440458505733917377971053732941762983249941322765204269131813914493533078779827279641844980641517036006614997121217678062884992533278805572563369013410184474950117828793861208498662745693885788584504271441400400001525461524753351876674003205382152743945512832589264477517802744668483957164877321719649718698461298243358359472083395533742599158348669131797515942525744011458323684293887825412720623412935230418356223047320791792012214196583619300670188675630326876795310671767698879759228462708865907899112428425273351106514804072103845956830923445416368781833509060713789162008996956120372692200229243099832057191390171845752040515659576729524899778777301666051146259604068881302973525598997269874564154360878353795744929774807995056122842609053617535938751797076974330702164492092057673289570308130760519063722777458931940316211326437439645092768105293614476956892263595398030377644182215718065552686674257353070036496797936657321 1772600809214374679470362879131755816920731701526366869653163918827043492504133165181702876576559587255839882785206863053349603156979592040531381193261057446030921247172322022547785359585706179970876571478502169541496853613978354880959001721237656469721249707726833059044481880620325916898708420136672670802764907920664751364089555781337584958234954543109486043451548502860171863540437617447357824945727101673162319459114940000181120751458410478242513666063784965260279382441283066120327292552048059399277358259286779657709120239062044614076724967568276283006385874485627918882919229573795315402105211441973786800399587802275149860411652962761679830317296839052969355930748518743030861039726392604773821208544293169493647107662278326442538813394283207689952092395435835092724338423786942503533172979630654176620420967303523788399606951924784742505843960871918232219438695837728102511983835701737065830506014499210016980516633536072944038115812407185679081644101566159473720858704560288773505556131318467501390757067570958403889792170645424426032663279354434581318398008646059034992206086741446589024745838078543628549726294687846257970965012674505956788747166067779147721708401969803417883399115353307624316459143824680466268856259194269632783438552256717011081996303029104897602838345110410610930989615179090771967452125515177958296073921123117166890310085231748217752485520918151272626255088001893007817723880084446012494607791139614723169295662015637026739275143980688916191449289458804694763592094663791630289600879511913433443434750481216115650271369450174330727354630411087909296506272865950924367036894250741706571113638451193141187129233137906575703612680989783917115437895859890227195537260632478623825067776196545553999654027686758302029135240007581656833354014064758016626855482988309231193998747338594456267681125999200550876114441326168336283142354029428658028947291003269794505211386782882563810275487791349509953319946080414787242193079763475434339349284549632322542498807349987078235438106940579680288563194527280252113480922852598741893048305278434376161221491587006282276180437383971661602835975370802880748805933795866490521422913284868736285827889845018540860664024841684522139399300450084478570327440949075111701330501440772398203264907193536361678007716853667077968323636545920387658960358410308381103751376874067489304876590802802897144088768246654434431027002433068524998887558154963404104391622036346070208846387409540352018670296235973744515818218993007712597374501523796933305483947148820828012612356044994240814126431436381146128121567632710966454762243728014240191170297726719096289261939901738902110497148815022168163901691961144043 2868128357794426024302794264956330699959046975616571394322083255473790800054992534604089993803334569626413330235857268703730500014770771831874650781213187366792696866435234213827781069982298462134404841704210214218858375018068458393561694632143554635404418598933292985937771529337701088455888098256867267461017449230464079368890238852996810216517314799407879788352737170775700591223325827691528131133195073527271760595522501051982209212434290025998714744062342638932511329184314049370854385726546068801563924768779564248082861434051819815771887257708648161347358798238951459748996418228504531189773789010347734339205099032774619648795203656472061158471848637750421140198783051284457872311332616699017458604443769935998773849590762320217163662739609506225805063836254070718907498379271611654923426397281237760896550126044539055454808184854506505523807888646321218967183076357627380875672931394572520029325890883403702797743532317822633829004573754343751571900741244147849509599785953265548564641414217016789199386298575646174018506811998736464749051694143826860134660710778596379288808436555384363241611990918800388861388719401403615177484493164614340882776645136459000923757484712294205998634159374054050221091046439660841359092250797546969230646245016698751418242337818535784777155289717353635356803557116830818905920513538787695058734328407180813003158823307399100943768613230441873824182938991507440224151636443143531009160507077025447071588018831225777282845719195090899569526567888802752779192064270687200118815767623768570894015383079013664310274472306514817293146875775703589055430058323285496888192880174362236693059683843073233749085087332530475845313594662190499757864478822000557406301112876127253574367423039577078376536468145264035946513211061314598596337264006080781831124614802223724727077527165874098112661767516236557491111562543846399168134887308234230592316304413454269455329215576743772308938233485235298537824217521815187243718541288228786216023287755014475286444320182576342712955909685248164245728071848999901832179384150842100252520388673968118760379840256138079792122963127983119926520269258628293469429346731096908877645960605660528298042086428637841530852700472011398934709972217783358329555903657941019600442929866045749309779711265640207634838640299083446750157145606634176820969355366428753795951606117167321362067980974648649184604427823383959330805779734734576145147162223844707077917221033615944773000748287894147763600071043968800638660828046625248536126298600771264007648439240878501302182664175754759877849208895313086444332894070150611547530349021628717148062561322117126666906122117456967663183823072375238200398489897801364 4640729167008800703773157144088086516879778677142938263975247174300834292559125699785792870379894156882253213021064131757080103171750363872406031974474244812823618113607556236375566429568004642105281413182712383760355228632046813274520696353381211105125668306660126044982253409958027005354596518393539938263782357151128830732979794634334395174752269342517365831804285673635872454763763445138885956078922175200434080054637441052163329963892700504241228410126127604192790711625597115491181678278594128200841283028066343905791981673113864429848612225276924444353744672724579378631915647802299846591879000452321521139604686835049769509206856619233740988789145476803390496129531570027488733351059009303791279812988063105492420957253040646659702476133892713915757156231689905811631836803058554158456599376911891937516971093348062843854415136779291248029651849518239451186621772195355483387656767096309585859831905382613719778260165853895577867120386161529430653544842810307323230458490513554322070197545535484290590143366146604577908298982644160890781714973498261441453058719424655414281014523296830952266357828997344017411115014089249873148449505839120297671523811204238148645465886682097623882033274727361674537550190264341307627948509991816602014084797273415762500238640847640682379993634827764246287793172295921590873372639053965653354808249530297979893468908539147318696254134148593146450438026993400448041875516527589543503768298216640170240883680846862804022120863175779815760975857347607447542784158934478830408416647135682004337450133560229779960545841756689148020501506186791498351936331189236421255229774425103943264173322294266374936214320470437051548926275651974416873302374681890784601838373508605877399435199236122632376190495832022337975648451068896255429691278070838798457980097790532955921076274504468554380342893515437108367226003870014735451277241337662888621263595416724063960540602359626336119213721276584808491144163602229974485911621051704220555372572304646797828943127532563420948394016625827844534291266376280153945660307003440842145568693952402494921601331843144362068303400511954781529356244629431174218235280526963399399068873890529264583869976273656382391516725313695921074109272667867836899883344607016131301773431306818147513044618459176569312846357152750524718480782152554564479929713776737134899702982991234810666944571777451546328693196070038393761832782167803101144034720378808111182308843069962014981847135697434499782270367279942545154479047039632961133500800124568197313132386389699329314795020220749000691975640331694232572454461702861578002292592749642957339232859048836222956168062019195869773680971887397406364300181858945407 7508857524803226728075951409044417216838825652759509658297330429774625092614118234389882864183228726508666543256921400460810603186521135704280682755687432179616314980042790450203347499550303104239686254886922597979213603650115271668082390985524765740530086905593419030920024939295728093810484616650407205724799806381592910101870033487331205391269584141925245620157022844411573045987089272830414087212117248727705840650159942104145539176326990530239943154188470243125302040809911164862036064005140197002405207796845908153874843107165684245620499482985572605701103470963530838380912066030804377781652789462669255478809785867824389158002060275705802147260994114553811636328314621311946605662391626002808738417431833041491194806843802966876866138873502220141562220067943976530539335182330165813380025774193129698413521219392601899309223321633797753553459738164560670153804848552982864263329698490882105889157796266017422576003698171718211696124959915873182225445584054455172740058276466819870634838959752501079789529664722250751926805794642897355530766667642088301587719430203251793569822959852215315507969819916144406272503733490653488325933999003734638554300456340697149569223371394391829880667434101415724758641236704002148987040760789363571244731042290114513918480978666176467157148924545117881644596729412752409779293152592753348413542577937478792896627731846546419640022747379035020274620965984907888266027152970733074512928805293665617312471699678088581304966582370870715330502425236410200321976223205166030527232414759450575231465516639243444270820314063203965313648381962495087407366389512521918143422654599466179957233006137339608685299407802967527394239870314164916631166853503891342008139486384733130973802622275699710752726963977286373922161662130210854026028542076919580289104712592756680648153801670342652493004661031673665858337566413861134619412128645897119213579899830178333415869817936370108428151954761820107028968381124045161729630162339933006771395860059661273115387447715139763661349926311076008780019338225280055777839691154282942398089082626370613681981172099282441860426363639937901455876513888059467687664627258060308276714834496189792881912062702294223922369425785707320008819244885651195229439248264957150902216361172863896822824329724816776947684997451833971468637927759188741300899069143165888695654589108402132029012552752100195513297623893422353092638561902537677289181882602652818260226064103577959754847883985328647545870438323911345793139875086258209669627098725339461320780825630577830616977684396503760569824849227007319016787355773012189549822941771271674487295420370953349623074184136652837436864794959772644564698671756746771 12149586691812027431849108553132503733718604329902447922272577604075459385173243934175675734563122883390919756277985532217890706358271499576686714730161676992439933093650346686578913929118307746344967668069634981739568832282162084942603087338905976845655755212253545075902278349253755099165081135043947143988582163532721740834849828121665600566021853484442611451961308518047445500750852717969300043291039423928139920704797383156308869140219691034481171564314597847318092752435508280353217742283734325203246490824912252059666824780279548675469111708262497050054848143688110217012827713833104224373531789914990776618414472702874158667208916894939543136050139591357202132457846191339435339013450635306600018230419896146983615764096843613536568615007394934057319376299633882342171171985388719971836625151105021635930492312740664743163638458413089001583111587682800121340426620748338347650986465587191691748989701648631142354263864025613789563245346077402612878990426864762495970516766980374192705036505287985370379673030868855329835104777287058246312481641140349743040778149627907207850837483149046267774327648913488423683618747579903361474383504842854936225824267544935298214689258076489453762700708828777399296191426968343456614989270781180173258815839563530276418719619513817149537142559372882127932389901708674000652665791646719001768350827467776772790096640385693738336276881527628166725058992978308336307902669498322618016697103510305787553355380524951385327087445546650531091478282584017647864760382139644860935649061895132579568915650199473224231366155819893113334149888149286585759302720701758339398652429024570123221406328431605983621513728273404578943166145966139333504469228185782126609977859893339008373237821511822343128917459809308711897810113199107109455719820147758378747084810383289636569230076174811206873347554547110774225563570283875870070689369983560007834843495246902397376410420295996444547365676038404915520112544726275136215541783391637227326768432364308070944330575247703184609743942936903853314310604601560209723499998157723784543657776578773108603582503942426803928729764151892682985232758517490641905899907785023707675783708386719057465782038975950606313886151099403241082928517553519032129322592871973282203989792479682044335868948183993346260531354604584496187118709911743305780828782919903023595357572099636942695957124529551741841990819963460746854471344070340778433216602981460929442534907173539974736695019682763147328140805603853890947618922125891170803127898849907658633913212020277159931772704617252761261800489558701551589241817475873767552115534520914631826528279419789572579242246155848707210545766847170050928998853615692178 19658444216615254159925059962176920950557429982661957580569908033850084477787362168565558598746351609899586299534906932678701309544792635280967397485849109172056248073693137136782261428668610850584653922956557579718782435932277356610685478324430742586185842117846964106822303288549483192975565751694354349713381969914314650936719861608996805957291437626367857072118331362459018546737941990799714130503156672655845761354957325260454408316546681564721114718503068090443394793245419445215253806288874522205651698621758160213541667887445232921089611191248069655755951614651641055393739779863908602155184579377660032097224258570698547825210977170645345283311133705911013768786160812651381944675842261309408756647851729188474810570940646580413434753880897154198881596367577858872710507167718885785216650925298151334344013532133266642472861780046886755136571325847360791494231469301321211914316164078073797638147497914648564930267562197332001259370305993275795104436010919217668710575043447194063339875465040486450169202695591106081761910571929955601843248308782438044628497579831159001420660443001261583282297468829632829956122481070556849800317503846589574780124723885632447783912629470881283643368142930193124054832663672345605602030031570543744503546881853644790337200598179993616694291483918000009576986631121426410431958944239472350181893405405255565686724372232240157976299628906663186999679958963216224573929822469055692529625908803971404865827080203039966632054027917521246421980707820427848186736605344810891462881476654583154800381166838716668502186469883097078647798270111781673166669110214280257542075083624036303178639334568945592306813136076372106337406016280304250135636081689673468618117346278072139347040443787522053881644423786595085819971775329317963481748362224677959036189522976046317217383877845153859366352215578784440083901136697737004690101498629457127048423395077080730792280238232366552975517630800225022549080925850320297945171945731570234098164292423969344059718022962842948271093869247979862094329942826840265501339689312006726941746859205143722285563676041709245789156127791830584441109272405550109593564535043084015952498542882908850347694101678244830236255576885110561091747762439170227358761841136930433106206153652545941158693277908810123208216352056418467655756637670932047081727852063068912291012161208039074724969677281651937355288443856883099947109905972878455722398485584113747702760971277117934491542903668091794874011243927765236740758797212149380472754997575247119954694037650854990548750389013756521831625338785708870606029173248885957101938476292186306313823699790742922202316430292501544647410561806942695493697525372438949 31808030908427281591774168515309424684276034312564405502842485637925543862960606102741234333309474493290506055812892464896592015903064134857654112216010786164496181167343483823361175357786918596929621591026192561458351268214439441553288565663336719431841597330100509182724581637803238292140646886738301493701964133447036391771569689730662406523313291110810468524079639880506464047488794708769014173794196096583985682059754708416763277456766372599202286282817665937761487545680927725568471548572608847408898189446670412273208492667724781596558722899510566705810799758339751272406567493697012826528716369292650808715638731273572706492419894065584888419361273297268215901244007003990817283689292896616008774878271625335458426335037490193950003368888292088256200972667211741214881679153107605757053276076403172970274505844873931385636500238459975756719682913530160912834658090049659559565302629665265489387137199563279707284531426222945790822615652070678407983426437783980164681091810427568256044911970328471820548875726459961411597015349217013848155729949922787787669275729459066209271497926150307851056625117743121253639741228650460211274701008689444511005948991430567745998601887547370737406068851758970523351024090640689062217019302351723917762362721417175066755920217693810766231434043290882137509376532830100411084624735886191351950244232873032338476821012617933896312576510434291353724738951941524560881832491967378310546323012314277192419182460727991351959141473464171777513458990404445496051496987484455752398530538549715734369296817038189892733552625702990191981948158261068258925971830916038596940727512648606426400045663000551575928326864349776685280572162246443583640105309875455595228095206171411147720278265299344397010561883595903797717781888528425072937468182372436337783274333359335953786613954019965066239699770125895214309464706981612874760790868613017134883266890323983128168690658528362997522883306838629938069193470576595434160713729123207461424932724788277415004048598210546132880837812184883715408640547428400475224839687469730511485404635783916830889146179984136049717885891943723267426342030923040751499464442828107723628282251269627907813476140654195436550141727984513802174676279992689259488084434008903715310195946132227985494562226092803469468747706661002963842875347582675352862556634982971935886369733307676017420926801811203679197279263820343846801581250043219234155615088565574677145295878450657909228237923350854942202152049531619127688377719338040551275882896425154778588607249671132150480523093631009283093425828344410422195270990724759724654054010813100938140351979210532494781558676448350251857956328654112746422696378988131127 51466475125042535751699228477486345634833464295226363083412393671775628340747968271306792932055826103190092355347799397575293325447856770138621509701859895336552429241036620960143436786455529447514275513982750141177133704146716798163974043987767462018027439447947473289546884926352721485116212638432655843415346103361351042708289551339659212480604728737178325596197971242965482594226736699568728304297352769239831443414712033677217685773313054163923401001320734028204882338926347170783725354861483369614549888068428572486750160555170014517648334090758636361566751372991392327800307273560921428683900948670310840812862989844271254317630871236230233702672407003179229670030167816642199228365135157925417531526123354523933236905978136774363438122769189242455082569034789600087592186320826491542269927001701324304618519377007198028109362018506862511856254239377521704328889559350980771479618793743339287025284697477928272214798988420277792081985958063954203087862448703197833391666853874762319384787435368958270718078422051067493358925921146969449998978258705225832297773309290225210692158369151569434338922586572754083595863709721017061075018512536034085786073715316200193782514517018252021049436994689163647405856754313034667819049333922267662265909603270819857093120815873804382925725527208882147086363163951526821516583680125663702132137638278287904163545384850174054288876139340954540724418910904740785455762314436434003075948921118248597285009540931031318591195501381693023935439698224873344238233592829266643861412015204298889169677983876906561235739095586087270629746428372849932092640941130318854482802596272642729578684997569497168235140000426148791617978178526747833775741391565129063846212552449483287067318709086866450892206307382498883537753663857743036419216544597114296819463856335382271003997831865118925606051985704679654393365843679349879450892367242474261931690285401063858960970896760729550498400937638854960618274396426915732105885674854777695523097017212246759063766621173389081151931681432863577502970490255240740726179376781737238427151494989060553174709856025845295507042019735553851867451303328590861093028977871191739580780794152536758161170242332440266786397304869624363266424042431859486846846275145834148416402099784773926653255504001613592676964058717421431498631985253607399944284487046040848177381894515715092145896479092855616552567707677226946748691156016097689878013574149688424848056849727775843719780827018946737076163293459384364429136516550189931748637894000401898543301287321987141029273482644765804925051167130119292801300163973645681755992487105287244454175679001275416983875106740851796505366890461055441916393904360570076 83274506033469817343473396992795770319109498607790768586254879309701172203708574374048027265365300596480598411160691862471885341350920904996275621917870681501048610408380104783504612144242448044443897105008942702635484972361156239717262609651104181449869036778047982472271466564155959777256859525170957337117310236808387434479859241070321619003918019847988794120277611123471946641715531408337742478091548865823817125474466742093980963230079426763125687284138399965966369884607274896352196903434092217023448077515098984759958653222894796114207056990269203067377551131331143600206874767257934255212617317962961649528501721117843960810050765301815122122033680300447445571274174820633016512054428054541426306404394979859391663241015626968313441491657481330711283541702001341302473865473934097299323203078104497274893025221881129413745862256966838268575937152907682617163547649400640331044921423408604776412421897041207979499330414643223582904601610134632611071288886487177998072758664302330575429699405697430091266954148511028904955941270363983298154708208628013619967049038749291419963656295301877285395547704315875337235604938371477272349719521225478596792022706746767939781116404565622758455505846448134170756880844953723730036068636273991580028272324687994923849041033567615149157159570499764284595739696781627232601208416011855054082381871151320242640366397468107950601452649775245894449157862846265346337594806403812313622271933432525789704192001659022670550336974845864801448898688629318840289730580313722396259942553754014623538974800915096453969291721289077462611694586633918191018612772046357451423530108921249155978730660570048744163466864775925476898550340773191417415846701440584659074307758620894434787596974386210847902768190978402681255535552386168109356684726969550634602738189694718224790611785885083991845751755830574868702830550660962754211683235855491396814957175725046987129661555289092548021284244477484898687467867003511166266599403977985156948029742000524174067815219383935214032769493617747292911611037683641215951019064251467749912556130772977384063856036009981345224927911679277119293793334251631612592493420699299463209063045422164665974646382986635703336539032854138165441100322424548746334930709154737863726598045917001912147817730094417062145711765378424395341507332836282752806841122029012784063751627823391109566823280904059295749846971497570793550272406059316924033628662715263101993352728178433752948018750369801679278315342991003492117514235888230483024520790425556677131908536993119291509796576275775088018476995474529714996571154698405406410046497918388182594527658211807911765433783189202048363323219115168188339090283348701203 134740981158512353095172625470282115953942962903017131669667272981476800544456542645354820197421126699670690766508491260047178666798777675134897131619730576837601039649416725743648048930697977491958172618991692843812618676507873037881236653638871643467896476225995455761818351490508681262373072163603613180532656340169738477188148792409980831484522748585167119716475582366437429235942268107906470782388901635063648568889178775771198649003392480927049088285459133994171252223533622067135922258295575586637997965583527557246708813778064810631855391081027839428944302504322535928007182040818855683896518266633272490341364710962115215127681636538045355824706087303626675241304342637275215740419563212466843837930518334383324900146993763742676879614426670573166366110736790941390066051794760588841593130079805821579511544598888327441855224275473700780432191392285204321492437208751621102524540217151944063437706594519136251714129403063501374986587568198586814159151335190375831464425518177092894814486841066388361985032570562096398314867191510952748153686467333239452264822348039516630655814664453446719734470290888629420831468648092494333424738033761512682578096422062968133563630921583874779504942841137297818162737599266758397855117970196259242294181927958814780942161849441419532082885097708646431682102860733154054117792096137518756214519509429608146803911782318282004890328789116200435173576773751006131793357120840246316698220854550774386989201542590053989141532476227557825384338386854192184527964173142989040121354568958313512708652784792003015205030816875164733241441015006768123111253713176676305906332705193891885557415658139545912398606865202074268516528519299939251191588093005713722920520311070377721854915683473077298794974498360901564793289216243911145775901271566664931422202046030100495794609617750202917451803741535254523096196394340312633662575603097965658746647461126110846090632452049822098519685182116339859305742263430426898372485078832762852471126759212770933131581840557324295184701175050610870414581527938881956677198441033204988339707625762037937238565892035826640731969931414830971161244637580222473685522398570491202789843839574701424135816625319075970122936337723762528707524364856408233181776984300572012143000145701775838801073234096030654822675824095845826840139318089890152751125609075053632241133522339106201712719759996914912302414679174797740298963562075414613911642236864951526841409577906209596667799577388748416354478636450387856546650752438420414773158684425958575675209824315106432539070058920540892943528162604649007797871318672051088166038985023675427048703337213083328749308889930053844868690109576223630255484187709271279 218015487191982170438646022463077886273052461510807900255922152291177972748165117019402847462786427296151289177669183122519064008149698580131172753537601258338649650057796830527152661074940425536402069724000635546448103648869029277598499263289975824917765513004043438234089818054664641039629931688774570517649966576978125911668008033480302450488440768433155913836753193489909375877657799516244213260480450500887465694363645517865179612233471907690174775569597533960137622108140896963488119161729667803661446043098626542006667467000959606746062448071297042496321853635653679528214056808076789939109135584596234139869866432079959175937732401839860477946739767604074120812578517457908232252473991267008270144334913314242716563388009390710990321106084151903877649652438792282692539917268694686140916333157910318854404569820769456855601086532440539049008128545192886938655984858152261433569461640560548839850128491560344231213459817706724957891189178333219425230440221677553829537184182479423470244186246763818453251986719073125303270808461874936046308394675961253072231871386788808050619470959755324005130017995204504758067073586463971605774457554986991279370119128809736073344747326149497537960448687585431988919618444220482127891186606470250822322454252646809704791202883009034681240044668208410716277842557514781286719000512149373810296901380580928389444278179786389955491781438891446329622734636597271478130951927244058630320492787983300176693393544249076659691869451073422626833237075483511024817694753456711436381297122712328136247627585707099469174322538164242195853135601640686314129866485223033757329862814115141041536146318709594656562073729977999745415078860073130668607434794446298381994828069691272156642512657859288146697742689339304246048824768630079255132585998536215566024940235724818720585221403635286909297555497365829391799026945001275387874258838953457055561604636851157833220294007338914646540969426593824757993210130433938064639084482810748009419156501213295107199397059941259509217470668668358163326192565622523172628217505284672738252263756535015321302421928045807985956897843094108090455037971831854086278015819269790665998906884996866090110463008305711673459475370577900694148624687280956979516707693455309875869598191618777750948890964190447716968387589474270222181646650926172905557966731104066416304885150162497311279543040900974208052261650672368533849235968134731537945270899580214628834762306084643349615818327758550095632793979441391348664164988326650897797679474851515252807118361308225724048866635196315980962005158079178722794442473370456494576085482942063609643230995424891240514742673119255893232013328691391818594574471057972482 352756468350494523533818647933360002226995424413825031925589425272654773292621659664757667660207553995821979944177674382566242674948476255266069885157331835176250689707213556270800710005638403028360242342992328390260722325376902315479735916928847468385661989230038893995908169545173322302003003852378183698182622917147864388856156825890283281972963517018323033553228775856346805113600067624150684042869352135951114263252824293636378261236864388617223863855056667954308874331674519030624041420025243390299444008682154099253376280779024417377917839152324881925266156139976215456221238848895645623005653851229506630211231143042074391065414038377905833771445854907700796053882860095183447992893554479475113982265431648626041463535003154453667200720510822477044015763175583224082605969063455274982509463237716140433916114419657784297456310807914239829440319937478091260148422066903882536094001857712492903287835086079480482927589220770226332877776746531806239389591556867929661001609700656516365058673087830206815237019289635221701585675653385888794462081143294492524496693734828324681275285624208770724864488286093134178898542234556465939199195588748503961948215550872704206908378247733372317465391528722729807082356043487240525746304576666510064616636180605624485733364732450454213322929765917057147959945418247935340836792608286892566511420890010536536248189962104671960382110228007646764796311410348277609924309048084304947018713642534074563682595086839130648833401927300980452217575462337703209345658926599700476502651691670641648956280370499102484379353355039406929094576616647454437241120198399710063236195519309032927093561976849140568960680595180074013931607379373069919799022887452012104915348380761649878497428341332365445492717187700205810842113984873990400908487270102880497447142281754919216379831021385489826749359238901083914895223339341588021536834442051422714308252097977268679310926459388736745060654608710164617298952393864364963011569561643510861890283260426066040330978900498583804402171843718969033740774093561405129305415946317877726591971382297053258540987820081634626688867774508939061616282609412076559963538217840281868788750724571567514246279633624787643582411708301663222856149052137365212698484677755881888012598337320553589749964198286478371791063413570116049021785969016063058309092340179120048546018672501603512992262800897889120354676329847166274148199530210146151856913136445166155676171883990852946283617905147298511987272615891779205210815740765071312570838159277473828482328185623332156587936694116856873905533320683827730592313792042507582742124467965739036691934332637974569264051563049309738100703438267615448850058658767243761 570771955542476693972464670396437888500047885924632932181511577563832746040786776684160515122993981291973269121846857505085306683098174835397242638694933093514900339765010386797953371080578828564762312066992963936708825974245931593078235180218823293303427502234082332229997987599837963341632935541152754215832589494125990300524164859370585732461404285451478947389981969346256180991257867140394897303349802636838579957616469811501557873470336296307398639424654201914446496439815415994112160581754911193960890051780780641260043747779984024123980287223621924421588009775629894984435295656972435562114789435825740770081097575122033567003146440217766311718185622511774916866461377553091680245367545746483384126600344962868758026923012545164657521826594974380921665415614375506775145886332149961123425796395626459288320684240427241153057397340354778878448448482670978198804406925056143969663463498273041743137963577639824714141049038476951290768965924865025664620031778545483490538793883135939835302859334594025268489006008708347004856484115260824840770475819255745596728565121617132731894756583964094729994506281297638936965615821020437544973653143735495241318334679682440280253125573882869855425840216308161796001974487707722653637491183136760886939090433252434190524567615459488894562974434125467864237787975762716627555793120436266376808322270591464925692468141891061915873891666899093094419046046945549088055260975328363577339206430517374740375988631088207308525271378374403079050812537821214234163353680056411912883948814382969785203907956206201953553675893203649124947712218288140751370986683622743820566058333424173968629708295558735225522754325158073759346686239446200588406457681898310486910176450452922035139940999191653592190459877039510056890938753504069656041073268639096063472082517479737936965052425020776736046914736266913306694250284342863409411093281004879769869856734828426512531220466727651391601624035303989375292162524298303027650654044454258871309439761639361147530375960439843313619642512387327197066966659183928301933633451602550464844235138832068579843409748127442612645765617603047152071320581243930646241554037110072534787657609568433604356742641930499317041887078879563917004773739418322192215192371211191763882196528939331340698855162476926088759451003044386271203432619942235963867059071283186464850903822664100824271805841798863328406937980519534807997435498344877689802184036025380784510934190075496295899436232905848607620066595333170553874980729091722210368517634128989081289446546931557880636803329313172854867538478763006453386756265412964077318209950907802646335165328062865809778794236168565631332716766959007267444633129825216243 923528423892971217506283318329797890727043310338457964107101002836487519333408436348918182783201535287795249066024531887651549358046651090663312523852264928691151029472223943068754081086217231593122554409985292326969548299622833908557971097147670761689089491464121226225906157145011285643635939393530937914015212411273854689380321685260869014434367802469801980943210745202602986104857934764545581346219154772789694220869294105137936134707200684924622503279710869868755370771489935024736202001780154584260334060462934740513420028559008441501898126375946806346854165915606110440656534505868081185120443287055247400292328718164107958068560478595672145489631477419475712920344237648275128238261100225958498108865776611494799490458015699618324722547105796857965681178789958730857751855395605236105935259633342599722236798660085025450513708148269018707888768420149069458952828991960026505757465355985534646425798663719305197068638259247177623646742671396831904009623335413413151540403583792456200361532422424232083726025298343568706442159768646713635232556962550238121225258856445457413170042208172865454858994567390773115864158055576903484172848732483999203266550230555144487161503821616242172891231745030891603084330531194963179383795759803270951555726613858058676257932347909943107885904200042525012197733394010651968392585728723158943319743160602001461940658103995733876256001894906739859215357457293826697979570023412668524357920073051449304058583717927337957358673305675383531268388000158917443509012606656112389386600506053611434160188326705304437933029248243056054042288834935595188612106882022453883802253852733206895723270272407875794483434920338147773278293618819270508205480569350322591825524831214571913637369340524019037683177064739715867733052738378060056949560538741976560919224799234657153344883446406266562796273975167997221589473623684451430947927723056302484178108832805695191842146926116388136662278644014153992591114918162667990662223606097769733199723022065427187861354860938427118021814356106296230807740752745333431239049397920428191436206521129121838384397568209077239334633392111986213687603190656007206205092254950354403576408334140001118603022275555286960624298787181227139860922791555687404913677048967073651894794866259884930448819360763404460550514416614502320225218588958299022176151411462306513396922495165704337264068642696752448761614310366701082145635028555023841659097172470546940187106074066349242183054138053147119607339211224949759085796469856793522939355793406462909771774732554890037224740023430029728773071799446834183979070057455471660060334418873541683027099660700840379042845799217875369433420205226622716294691788592460004 1494300379435447911478747988726235779227091196263090896288612580400320265374195213033078697906195516579768518187871389392736856041144825926060555162547198022206051369237234329866707452166796060157884866476978256263678374273868765501636206277366494054992516993698203558455904144744849248985268874934683692129847801905399844989904486544631454746895772087921280928333192714548859167096115801904940478649568957409628274178485763916639494008177536981232021142704365071783201867211305351018848362583535065778221224112243715381773463776338992465625878413599568730768442175691236005425091830162840516747235232722880988170373426293286141525071706918813438457207817099931250629786805615201366808483628645972441882235466121574363557517381028244782982244373700771238887346594404334237632897741727755197229361056028969059010557482900512266603571105488623797586337216902820047657757235917016170475420928854258576389563762241359129911209687297724128914415708596261857568629655113958896642079197466928396035664391757018257352215031307051915711298643883907538476003032781805983717953823978062590145064798792136960184853500848688412052829773876597341029146501876219494444584884910237584767414629395499112028317071961339053399086305018902685833021286942940031838494817047110492866782499963369432002448878634167992876435521369773368595948378849159425320128065431193466387633126245886795792129893561805832953634403504239375786034830998741032101697126503568824044434572349015545265883944684049786610319200537980131677672366286712524302270549320436581219364096282911506391486705141446705178990001053223735939983093565645197704368312186157380864352978567966611020006189245496221532624979858265471096611938251248633078735701281667493948777310339715672629873636941779225924623991491882129712990633807381072624391307316714395090309935871427043298843188711434910528283723908027314840359021004061182254047965567634121704373367392844039528263902679318143367883277442460971018312877650552028604509162783704788335391730821378270431641456868493623427874707411929261733172682849522978656280441659961190418227807316336519851980399009715033365758923771899937852446646292060426938364065943708434722959764917485786277666185866060791056865696530974009597128869420178265415776991395199216271147674523240330549309965419658888591428651208900534986043210482745492978247826317829805161535874484495615777168552290886235890143070526899901531461281208495927724698040264141845538082490370958995727227405806558120312960777198948515733307873427535451991061221279486447917861543352743202583640610278209840637365826322868435737378544369781344329362264988763706188821640035386441000766136972185629983739324918417676247 2417828803328419128985031307056033669954134506601548860395713583236807784707603649381996880689397051867563767253895921280388405399191477016723867686399462950897202398709458272935461533253013291751007420886963548590647922573491599410194177374514164816681606485162324784681810301889860534628904814328214630043863014316673699679284808229892323761330139890391082909276403459751462153200973736669486059995788112182417968399355058021777430142884737666156643645984075941651957237982795286043584564585315220362481558172706650122286883804898000907127776539975515537115296341606842115865748364668708597932355676009936235570665755011450249483140267397409110602697448577350726342707149852849641936721889746198400380344331898185858357007839043944401306966920806568096853027773194292968490649597123360433335296315662311658732794281560597292054084813636892816294225985322969117116710064908976196981178394210244111035989560905078435108278325556971306538062451267658689472639278449372309793619601050720852236025924179442489435941056605395484417740803652554252111235589744356221839179082834508047558234841000309825639712495416079185168693931932174244513319350608703493647851435140792729254576133217115354201208303706369945002170635550097649012405082702743302790050543660968551543040432311279375110334782834210517888633254763784020564340964577882584263447808591795467849573784349882529668385895456712572812849760961533202484014401022153700626055046576620273348493156066942883223242617989725170141587588538139049121181378893368636691657149826490192653524284609616810829419734389689761233032289888159331128595200447667651588170566038890587760076248840374486814489624165834369305903273477084741604817418820598955670561226112882065862414679680239691667556814006518941792357044230260189769940194346123049185310532115949052243654819317833309861639462686602907749873197531711766271306948727117484738226074400439816896215514318960427664926181323332297360474392360623639008975101256649798337708885805770215523253085682316697549663271224599919658682448164674595164411732247443406847716648181090312256612204884545597091315032401827019579446526962555945058651738547010781341940474277848435841562787193041073238290484653242018196726619322529697002042546469145339067671786261459101201596493884003735009860479836273390911653869797858834008219361894207799491644748812995509498799943127192368225930166601252936972288705555454925373120378380966474664885146338208194780265544509012142846834745017783070072046573668805309256247229220941914900832996012041337955086283376173232312413682077656674821344896380323907397438878788654886012389364649464546567864485834604316370199557177412252700034016707010136251 3912129182763867040463779295782269449181225702864639756684326163637128050081798862415075578595592568447332285441767310673125261440336302942784422848946660973103253767946692602802168985419809351908892287363941804854326296847360364911830383651880658871674123478860528343137714446634709783614173689262898322173710816222073544669189294774523778508225911978312363837609596174300321320297089538574426538645357069592046242577840821938416924151062274647388664788688441013435159105194100637062432927168850286140702782284950365504060347581236993372753654953575084267883738517298078121290840194831549114679590908732817223741039181304736391008211974316222549059905265677281976972493955468051008745205518392170842262579798019760221914525220072189184289211294507339335740374367598627206123547338851115630564657371691280717743351764461109558657655919125516613880563202225789164774467300825992367456599323064502687425553323146437565019488012854695435452478159863920547041268933563331206435698798517649248271690315936460746788156087912447400129039447536461790587238622526162205557132906812570637703299639792446785824565996264767597221523705808771585542465852484922988092436320051030314021990762612614466229525375667708998401256940569000334845426369645683334628545360708079044409822932274648807112783661468378510765068776133557389160289343427042009583575874022988934237206910595769325460515789018518405766484164465772578270049232020894732727752173080189097392927728415958428489126562673774956751906789076119180798853745180081160993927699146926773872888380892528317220906439531136466412022290941383067068578294013312849292538878225047968624429227408341097834495813411330590838528253335350212701429357071847588749296927394549559811191990019955364297430450948298167716981035722142319482930828153504121809701839432663447333964755189260353160482651398037818278156921439739081111665969731178666992274039968073938600588881711804467193190084002650440728357669803084610027287978907201826942218048589475003858644816503694967981304728093093543086557155576603856897584415096966385503997089841051502674840012200882116943295431411542052945205450734455882911098384839071208280304540221556870564522552110526859515956670519302809253592315853503706599171415889323604483448777656658317472744168407244065559170445255932279503082521006759368994262572376953292469892575130825314660335817611687984003098718892139172862431776082354826904581659589462402389583186602350040318348034879971138574062150824341190385007350867753824989555102648477366891894217291527785872947826728916434896054292355866515458710722703192343134817423158436230341751629638228252756686125869990757370965694149597882683773341625427812498 6329957986092286169448810602838303119135360209466188617080039746873935834789402511797072459284989620314896052695663231953513666839527779959508290535346123924000456166656150875737630518672822643659899708250905353444974219420851964322024561026394823688355729964022853127819524748524570318243078503591112952217573830538747244348474103004416102269556051868703446746885999634051783473498063275243912598641145181774464210977195879960194354293947012313545308434672516955087116343176895923106017491754165506503184340457657015626347231386134994279881431493550599804999034858904920237156588559500257712611946584742753459311704936316186640491352241713631659662602714254632703315201105320900650681927408138369242642924129917946080271533059116133585596178215313907432593402140792920174614196935974476063899953687353592376476146046021706850711740732762409430174789187548758281891177365734968564437777717274746798461542884051516000127766338411666741990540611131579236513908212012703516229318399568370100507716240115903236224097144517842884546780251189016042698474212270518427396311989647078685261534480792756611464278491680846782390217637740945830055785203093626481740287755191823043276566895829729820430733679374078943403427576119097983857831452348426637418595904369047595952863364585928182223118444302589028653702030897341409724630308004924593847023682614784402086780694945651855128901684475230978579333925427305780754063633043048433353807219656809370741420884482901311712369180663500126893494377614258229920035124073449797685584848973416966526412665502145128050326173920826227645054580829542398197173494460980500880709444263938556384505476248715584648985437577164960144431526812434954306246775892446544419858153507431625673606669700195055964987264954817109509338079952402509252871022499627170995012371548612499577619574507093663022122114084640726028030118971450847382972918458296151730500114368513755496804396030764894858116265325982738088832062163708249036263080163851625279926934395245219381897902186011665530967999317693462745239603741278452061996147344409792351713738022141814931452217085427714034610463813369072524651977697011827969750123386081989622245014499405306406085339303567932754247155172544827450318935176033403601213962358468943551120563918117418674340662291247800569030925092205670414736390804618203002481934271161091961537323943820824159135760738880352229028885493392109834720481637809752277702037970428877054468332940558235098613579388983281420896895842124260457053924536559134245802331869419281792727213303569123828034110105089667208467974433523190280055619083516250532256301947091116354140994287692799324550611704595073741165251327010135383807358332437948749 10242087168856153209912589898620572568316585912330828373764365910511063884871201374212148037880582188762228338137430542626638928279864082902292713384292784897103709934602843478539799504092631995568791995614847158299300516268212329233854944678275482560029853442883381470957239195159280101857252192854011274391284646760820789017663397778939880777781963847015810584495595808352104793795152813818339137286502251366510453555036701898611278445009286960933973223360957968522275448370996560168450418923015792643887122742607381130407578967371987652635086447125684072882773376202998358447428754331806827291537493475570683052744117620923031499564216029854208722507979931914680287695060788951659427132926530540084905503927937706302186058279188322769885389509821246768333776508391547380737744274825591694464611059044873094219497810482816409369396651887926044055352389774547446665644666560960931894377040339249485887096207197953565147254351266362177443018770995499783555177145576034722665017198086019348779406556052363983012253232430290284675819698725477833285712834796680632953444896459649322964834120585203397288844487945614379611741343549717415598251055578549469832724075242853357298557658442344286660259055041787941804684516688098318703257821994109972047141265077126640362686296860576989335902105770967539418770807030898798884919651431966603430599556637773336323987605541421180589417473493749384345818089893078359024112865063943166081559392736998468134348612898859740201495743337275083645401166690377410718888869253530958679512548120343740399301046394673445271232613451962694057076871770925465265751788474293350173248322488986525008934703657056682483481250988495550982959780147785167007676132964294133169155080901981185484798659720150420262417715903115277226319115674544828735801850653131292804714210981275946911584329696354016182604765482678544306187040411189928494638888189474818722774154336587694097393277742569362051306349328633178817189731966792859063551059071053452222144982984720223240542718689706633512272727410787005831796759317882308959580562441376177855710827863193317606292229286309830977905895224911125469857428431467710880848508225153197902549554720962176970607891414094792270203825691847636703911251029537110200385378247792548034569341574775736147084830698491866128201370348137949917818911811377571996744506648114384431429899074646138819471578350568336232127604385531282697152257720164579182283697559891279444051519542908275416961614268954419994959046666465450842061275404312959235357434517896648684621430595096909700981936834006102104522266789389705738766341786708593667073725105527346695892623925921052081236737574585831112130945476608018067580699957865761247 16572045154948439379361400501458875687451946121797016990844405657384999719660603886009220497165571809077124390833093774580152595119391862861801003919638908821104166101258994354277430022765454639228691703865752511744274735689064293555879505704670306248385583406906234598776763943683850420100330696445124226608858477299568033366137500783355983047338015715719257331381595442403888267293216089062251735927647433140974664532232581858805632738956299274479281658033474923609391791547892483274467910677181299147071463200264396756754810353506981932516517940676283877881808235107918595604017313832064539903484078218324142364449053937109671990916457743485868385110694186547383602896166109852310109060334668909327548428057855652382457591338304456355481567725135154200927178649184467555351941210800067758364564746398465470695643856504523260081137384650335474230141577323305728556822032295929496332154757613996284348639091249469565275020689678028919433559382127079020069085357588738238894335597654389449287122796168267219236350376948133169222599949914493875984187047067199060349756886106728008226368601377960008753122979626461162001958981290663245654036258672175951573011830434676400575124554272074107090992734415866885208112092807196302561089274342536609465737169446174236315549661446505171559020550073556568072472837928240208609549959436891197277623239252557738410768300487073035718319157968980362925152015320384139778176498106991599435366612393807838875769497381761051913864924000775210538895544304635640638923993326980756365097397093760706925713711896818573321558787372788921702131452600467863462925282935273851053957766752925081393440179905772267132466688565660511127391306960220121313922908856740677589013234409412811158405329420345476227404980857932386735657195626947337988672873152758463799726582529888446489203904203447679204726879567319270334217159382640775877611806647770970453274268705101449594197673773334256909422614654615916906021794130501108099814139234905077502071917379965442622440620875718299043240726728480468577036363059160761021576709785785970207424565885335132537744446371737545012516359038280197994509406128479538850598631611235187524794569220367483376693230717662725024450980864392464154230186205570513801599340606261491585689905492893154821425492989739666697232295440343620332555302615995774999226440919275476392967223018466962978607339089448688461156489878923392531872739357974331459985735530320156498519852483466510515575193657937701415855942508589711299115199940872093481159766387315930477348643898666033529016046939095769312990241222912896018821960870224844199330027052618463050033618213613851405787349279180904853296196803618153451388058290303709996 26814132323804592589273990400079448255768532034127845364608771567896063604531805260221368535046153997839352728970524317206791523399255945764093717303931693718207876035861837832817229526858086634797483699480599670043575251957276622789734450382945788808415436849789616069734003138843130521957582889299135501000143124060388822383800898562295863825119979562735067915877191250755993061088368902880590873214149684507485118087269283757416911183965586235413254881394432892131667239918889043442918329600197091790958585942871777887162389320878969585151604387801967950764581611310916954051446068163871367195021571693894825417193171558032703490480673773340077107618674118462063890591226898803969536193261199449412453931985793358684643649617492779125366957234956400969260955157576014936089685485625659452829175805443338564915141666987339669450534036538261518285493967097853175222466698856890428226531797953245770235735298447423130422275040944391096876578153122578803624262503164772961559352795740408798066529352220631202248603609378423453898419648639971709269899881863879693303201782566377331191202721963163406041967467572075541613700324840380661252287314250725421405735905677529757873682212714418393751251789457654827012796609495294621264347096336646581512878434523300876678235958307082160894922655844524107491243644959139007494469610868857800708222795890331074734755906028494216307736631462729747270970105213462498802289363170934765516926005130806307010118110280620792115360667338050294184296710995013051357812862580511715044609945214104447325014758291492018592791400824751615759208324371393328728677071409567201227206089241911606402374883562828949615947939554156062110351087108005288321599041821034810758168315311393996643203989140495896489822696761047663961976311301492166724474723805889756604440793511164393400788233899801695387331645049997814640404199793830704372250694837245789176048423041689143691590951515903618960728963983249095723211526097293967163365198305958529724216900364685665862983339565424932555513454139267474408833122377043069981157272227162148063135393748528450144036675658047375990422254263191323464366834559947249731447139836388385427344123941329660347301122131757517294654806556240100858141437235107624001984718854054039620259247067668890968510323688231532825433665788481570250374214427373346995970947567389860824397122093113101798078917440017024693284094264454675229024997078138910642269433090211435942571372026374785932536807926892121410814989175055162141176475345185052716517200905212579161970074493762943229997983773101871417512508012302601757588302656933437866403752158145809745926242139534903487024086853766735965427142280226171518968758248169471243 43386177478753031968635390901538323943220478155924862355453177225281063324192409146230589032211725806916477119803618091786944118518647808625894721223570602539312042137120832187094659549623541274026175403346352181787849987646340916345613956087616095056801020256695850668510767082526980942057913585744259727609001601359956855749938399345651846872457995278454325247258786693159881328381584991942842609141797117648459782619501865616222543922921885509892536539427907815741059031466781526717386240277378390938030049143136174643917199674385951517668122328478251828646389846418835549655463381995935907098505649912218967781642225495142375481397131516825945492729368305009447493487393008656279645253595868358740002360043649011067101240955797235480848524960091555170188133806760482491441626696425727211193740551841804035610785523491862929531671421188596992515635544421158903779288731152819924558686555567242054584374389696892695697295730622420016310137535249657823693347860753511200453688393394798247353652148388898421484953986326556623121019598554465585254086928931078753652958668673105339417571323341123414795090447198536703615659306131043906906323572922901372978747736112206158448806766986492500842244523873521712220908702302490923825436370679183190978615603969475112993785619753587332453943205918080675563716482887379216104019570305748997985846035142888813145524206515567252026055789431710110196122120533846638580465861277926364952292617524614145885887607662381844029225591338825504723192255299648691996736855907492471409707342307865154250728470188310591914350188197540537461339776971861192191602354344841052281163855994836687795815063468601216748414628119816573237742394068225409635521950677775488347181549720806807801609318560841372717227677618980050697633506928439504713147596958648220404167376041052839889992138103249374592058524617317084974621359176471480249862501485016759629322691746790593285788625289237875870151578637865012629233320227795075263179337540863607226288817744651108485423960441143231598754180867747942985869485436203831002733982012948118270559959633863582681781122029784921002938613301471521458876240688426788582045771447623572952138693161697143723994352849420242319105787420632565012371623440678137803584059460315531205949152560562045789935816677971199522665961228825190582929517043369121995197388486665337217364345111580064776686256529465713154440584143378067760897736436113242102255168620531592441091224509841296448112001584829822826670931683644873440291675286057146197676967292528509639318718392428976759014030712197640730502749235215497776410263527158282065733779210764272795959860353148754892811436132947640818723339083844324970356816538473181239 70200309802557624557909381301617772198989010190052707720061948793177126928724214406451957567257879804755829848774142408993735641917903754389988438527502296257519918172982670019911889076481627908823659102826951851831425239603617539135348406470561883865216457106485466738244770221370111464015496475043395228609144725420345678133739297907947710697577974841189393163135977943915874389469953894823433482355946802155944900706771149373639455106887471745305791420822340707872726271385670570160304569877575482728988635086007952531079588995264921102819726716280219779410971457729752503706909450159807274293527221606113793198835397053175078971877805290166022600348042423471511384078619907460249181446857067808152456292029442369751744890573290014606215482195047956139449088964336497427531312182051386664022916357285142600525927190479202598982205457726858510801129511519012079001755430009710352785218353520487824820109688144315826119570771566811113186715688372236627317610363918284162013041189135207045420181500609529623733557595704980077019439247194437294523986810794958446956160451239482670608774045304286820837057914770612245229359630971424568158610887173626794384483641789735916322488979700910894593496313331176539233705311797785545089783467015829772491494038492775989672021578060669493348865861762604783054960127846518223598489181174606798694068831033219887880280112544061468333792420894439857467092225747309137382755224448861130469218622655420452896005717943002636144586258676875798907488966294661743354549718488004186454317287521969601575743228479802610507141589022292153220548101343254520920279425754408253508369945236748294198189947031430166364362567673972635348093481176230697957120992498810299105349865032200804444813307701337269207050374380027714659609818229931671437622320764537977008608169552217233290780372003051069979390169667314899615025558970302184622113196322262548805371114788479736977379576805141494830880542621114108352444846325089042426544535846822136950505718109336774348407300006568164154267635007015417394702607813246900983891254240110266333695353382392032825817797687832296993360867564662844923243075248374038313492911284011958379482817103026804071295474981177759613760593976872665870513060675785761805568778314369570826208399628230936758446140366202732348099627017306760833303731470742468991168336054055198041761467204693166574765173969482737847724678407832742989922733514252152744524601710743028383662596536216082380648809511721944237485920858700035581468150631242198914194168197741088801288792886191919989012014485299512148015257247518099533998566184091719932137531368910082541886102492683658379835522986714376784150481364070496489325574786642652482 113586487281310656526544772203156096142209488345977570075515126018458190252916623552682546599469605611672306968577760500780679760436551563015883159751072898796831960310103502207006548626105169182849834506173304033619275227249958455480962362558177978922017477363181317406755537303897092406073410060787654956218146326780302533883677697253599557570035970119643718410394764637075755717851538886766276091497743919804404683326273014989861999029809357255198327960250248523613785302852452096877690810154953873667018684229144127174996788669650872620487849044758471608057361304148588053362372832155743181392032871518332760980477622548317454453274936806991968093077410728480958877566012916116528826700452936166892458652073091380818846131529087250087064007155139511309637222771096979918972938878477113875216656909126946636136712713971065528513876878915455503316765055940170982781044161162530277343904909087729879404484077841208521816866502189231129496853223621894451010958224671795362466729582530005292773833648998428045218511582031536700140458845748902879778073739726037200609119119912588010026345368645410235632148361969148948845018937102468475064934460096528167363231377901942074771295746687403395435740837204698251454614014100276468915219837695012963470109642462251102665807197814256825802809067680685458618676610733897439702508751480355796679914866176108701025804319059628720359848210326149967663214346281155775963221085726787495421511240180034598781893325605384480173811850015701303630681221594310435351286574395496657864024629829834755826471698668113202421491777219832690681887878315115713111881780099249305789533801231584981994005010500031383112777195793789208585835875244456107592642943176585787452531414753007612246422626262178641924278051999007765357243325158371176150769917723186197412775545593270073180772510106300444571448694284631984589646918146773664871975697807279308434693806535270330263168202094379370701032121258979120981678166552884117689723873387685744176794535853987882833831260447711395753021815874763360380572093249450731986625236253058384604255313016255615507598919717617217996299480866134366382119315936800826895538682731635531331621510264723947795289827830598001932866381397505230882884684116463899609152837774685102032157552188792982548381957044173931870765588246131951416233248514111590986365724540720535259125812316273231351451430498948451002165262551210810750820469950365394846779770331274620824753821046057378828760811096551767064156852542344909021759825917299345111871135490269598440607511278620896748026045197497152878518006482733597310408829711250001997871310579674355337845962845832413272646959119662017602873820447914821459682391325115833721 183786797083868281084454153504773868341198498536030277795577074811635317181640837959134504166727485416428136817351902909774415402354455317405871598278575195054351878483086172226918437702586797091673493609000255885450700466853575994616310769028739862787233934469666784145000307525267203870088906535831050184827291052200648212017416995161547268267613944960833111573530742580991630107321492781589709573853690721960349584033044164363501454136696829000504119381072589231486511574238122667037995380032529356396007319315152079706076377664915793723307575761038691387468332761878340557069282282315550455685560093124446554179313019601492533425152742097157990693425453151952470261644632823576778008147310003975044914944102533750570591022102377264693279489350187467449086311735433477346504251060528500539239573266412089236662639904450268127496082336642314014117894567459183061782799591172240630129123262608217704224593765985524347936437273756042242683568911994131078328568588590079524479770771665212338194015149607957668952069177736516777159898092943340174302060550520995647565279571152070680635119413949697056469206276739761194074378568073893043223545347270154961747715019691677991093784726388314290029237150535874790688319325898062014005003304710842735961603680955027092337828775874926319151674929443290241673636738580415663300997932654962595373983697209328588906084431603690188693640631220589825130306572028464913345976310175648625890729862835455051677899043548387116318398108692577102538170187888972178705836292883500844318341917351804357402214927147915812928633366242124843902435979658370234032161205853657559297903746468333276192194957531461549477139763467761843933929356420686805549763935675396086557881279785208416691235933963515911131328426379035480016853143388302847588392238487724174421383715145487306471552882109351514550838863951946884204672477117075849494088894129541857240064921323750067240547778899520865531912663880093229334123012877973160116268409234507881127300253963324657182238560454279559907289450881778777775274701062697632970516490493168650937950666398647648333416717405449514989660348430797211305362391185174865209031594015647489711104327367750751866585302811775761546626975374377896753397744792249661414721616089054672858365951817023919306828097410376664218865215263438712249536979984854059977534060594775733300887279520966397926216604468431188849889940959043553740743203464617547591304372042017649208416417582273461209409620608273711301642773401044944603227976548541544026065303688010687241896304164812816737038059682796665026533263730251696844407395895341721930008841948584437879732065338516071652482482106376394387024301811985317949007966111758486203 297373284365178937610998925707929964483407986882007847871092200830093507434557461511817050766197091028100443785929663410555095162791006880421754758029648093851183838793189674433924986328691966274523328115173559919069975694103534450097273131586917841709251411832848101551755844829164296276162316596618705141045437378980950745901094692415146825837649915080476829983925507218067385825173031668355985665351434641764754267359317179353363453166506186255702447341322837755100296877090574763915686190187483230063026003544296206881073166334566666343795424805797162995525694066026928610431655114471293637077592964642779315159790642149809987878427678904149958786502863880433429139210645739693306834847762940141937373596175625131389437153631464514780343496505326978758723534506530457265477189939005614414456230175539035872799352618421333656009959215557769517434659623399354044563843752334770907473028171695947583629077843826732869753303775945273372180422135616025529339526813261874886946500354195217630967848798606385714170580759768053477300356938692243054080134290247032848174398691064658690661464782595107292101354638708910142919397505176361518288479807366683129110946397593620065865080473075717685464977987740573042142933339998338482920223142405855699431713323417278195003635973689183144954483997123975700292313349314313103003506684135318392053898563385437289931888750663318909053488841546739792793520918309620689309197395902436121312241103015489650459792369153771596492209958708278406168851409483282614057122867278997502182366547181639113228686625816029015350125143461957534584323857973485947144042985952906865087437547699918258186199968031492932589916959261551052519765231665142913142406878851981874010412694538216028937658560225694553055606478378043245374096468546674023739162156210910371834159260738757379652325392215651959122287558236578868794319395263849514366064591936821165674758727859020397503715980993900236232944785139072350315801179430857277805992282622193625304094789817312540016069820901990955660311266756542138155846794312148364957141726746227035542205979414903263841015637123066732985959829296931577687481707121975692104570276747283021042725837632474699661875130642373763479493356771883127636282428908713561023874453863739774890523504005816901855210054454550596089630803509570663665770228498965650963899785135496268560013091837239629277668034967379639852055203510254364491563673414982942438084142373292270033170238628330840038170431704825478365799625943389853624987802465840889137936439178280285682503815443433713485064104880293817905051270212985294154816225606591723927880152528258793217578028184348484925129441226038411989898122259900139408690357436874319924 481160081449047218695453079212703832824606485418038125666669275641728824616198299470951554932924576444528580603281566320329510565145462197827626356308223288905535717276275846660843424031278763366196821724173815804520676160957110444713583900615657704496485346302514885696756152354431500146251223132449755325872728431181598957918511687576694094105263860041309941557456249799059015932494524449945695239205125363725103851392361343716864907303203015256206566722395426986586808451328697430953681570220012586459033322859448286587149543999482460067103000566835854382994026827905269167500937396786844092763153057767225869339103661751302521303580421001307949479928317032385899400855278563270084842995072944116982288540278158881960028175733841779473622985855514446207809846241963934611981440999534114953695803441951125109461992522871601783506041552200083531552554190858537106346643343507011537602151434304165287853671609812257217689741049701315614863991047610156607668095401851954411426271125860429969161863948214343383122649937504570254460255031635583228382194840768028495739678262216729371296584196544804348570560915448671336993776073250254561512025154636838090858661417285298056958865199464031975494215138276447832831252665896400496925226447116698435393317004372305287341464749564109464106158926567265941965950087894728766304504616790280987427882260594765878837973182267009097747129472767329617923827490338085602655173706078084747202970965850944702137691412702158712810608067400855508707021597372254792762959160162498346500708464533443470630901552963944828278758509704082378486759837631856181176204191806564424385341294168251534378394925562954482067056722729312896453694588085829718692170814527377960568293974323424445628894494189210464186934904757078725390949611934976871327554394698634546255542975884244686123878274325003473673126422188525752998991872380925363860153486066363022914823649182770464744263759893421101764857449019165579649924192308830437922260691856701506431395043780637197198308381356270515567600717638320915931121495374845997927658217239395686480156645813550912174432354528516247975620177727728788992844098307150557313601870762930510753830165000225451528460433454149525026120332146261024389680173700963222438596069952794447748889455822840821162038151864927260308496018773009375915307208483819710941433845730272001860900371358206027203884639435810828701945144469297918232306876879600490029388514415309919241586656210604301247580052313099189667442399344434798228215779014382433164001742866290972924400119608246530222102164563090482931584533943236990999223621501933445857888994476843231097310093522864556577611923332414806376922424071885457357698323548632806127 778533365814226156306452004920633797308014472300045973537761476471822332050755760982768605699121667472629024389211229730884605727936469078249381114337871382756719556069465521094768410359970729640720149839347375723590651855060644894810857032202575546205736758135362987248511997183595796422413539729068460466918165810162549703819606379991840919942913775121786771541381757017126401757667556118301680904556560005489858118751678523070228360469709201511909014063718264741687105328419272194869367760407495816522059326403744493468222710334049126410898425372633017378519720893932197777932592511258137729840746022410005184498894303901112509182008099905457908266431180912819328540065924302963391677842835884258919662136453784013349465329365306294253966482360841424966533380748494391877458630938539729368152033617490160982261345141292935439516000767757853048987213814257891150910487095841782445075179606000112871482749453638990087443044825646588987044413183226182137007622215113829298372771480055647600129712746820729097293230697272623731760611970327826282462329131015061343914076953281388061958048979139911640671915554157581479913173578426616079800504962003521219969607814878918122823945672539749660959193126017020874974186005894738979845449589522554134825030327789583482345100723253292609060642923691241642258263437209041869308011300925599379481780823980203168769861932930328006800618314314069410717348408647706291964371101980520868515212068866434352597483781855930309302818026109133914875873006855537406820082027441495848683075011715082583859588178779973843628883653166039913071083695605342128320247177759471289472778841868169792564594893594447414656973681990863948973459819750972631834577693379359834578706668861640474566553054414905017242541383135121970765046080481650895066716550909544918089702236623002065776203666540655432795413980425104621793311267644774878226218078003184188589582377041790862247979740887321337997802234158237929965725371739687715728252974478895131735489833597949737214378202258261471227911984394863054086968289686994362884799943985622722022362625228454176015447991651582980961580007024660366680325805429126249418172147510213531796556002632700151190335564096523288505613688918144152025962602609676783462470523816534222639412959828657723017248206319477856398126822282580039581077436982785361905333630865768270420913463195445656481552674403190468554000347979552282723870550294583432467472656788602189274756894838935141285750484017924668033242025287824651853203581480223322301938182044571258606903935051680243707166269443384300836635804156222285154039847108525169785769147005102024314888121707213041502741364558453218366820546331785596766388680985507126051 1259693447263273375001905084133337630132620957718084099204430752113551156666954060453720160632046243917157604992492796051214116293081931276077007470646094671662255273345741367755611834391249493006916971563521191528111328016017755339524440932818233250702222104437877872945268149538027296568664762861518215792790894241344148661738118067568535014048177635163096713098838006816185417690162080568247376143761685369214961970144039866787093267772912216768115580786113691728273913779747969625823049330627508402981092649263192780055372254333531586478001425939468871761513747721837466945433529908044981822603899080177231053837997965652415030485588520906765857746359497945205227940921202866233476520837908828375901950676731942895309493505099148073727589468216355871174343226990458326489440071938073844321847837059441286091723337664164537223022042319957936580539768005116428257257130439348793982677331040304278159336421063451247305132785875347904601908404230836338744675717616965783709799042605916077569291576695035072480415880634777193986220867001963409510844523971783089839653755215498117433254633175684715989242476469606252816906949651676870641312530116640359310828269232164216179782810872003781636453408264293468707805438671791139476770676036639252570218347332161888769686565472817402073166801850258507584224213525103770635612515917715880366909663084574969047607835115197337104547747787081399028641175898985791894619544808058605615718183034717379054735175194558089022113426093509989423582894604227792199583041187603994195183783476248526054490489731743918671907642162870122291557843533237198309496451369566035713858120136036421326942989819157401896724030404720176845427154407836802350526748507906737795147000643185064920195447548604115481429476287892200696155995692416627766394270945608179464345245212507246751900081940865658906468540402613630374792303140025700242086371564069547211504406026224561326992243500780742439762659683177403509615649564048518153650513666335596638166884877378586934412686583614531986795512702033183970018089785061840360812458161225018408502519271042005088189880346180099228937200184752389155673169903736276806731774018273144042550386167632925602718795997550672813531734021064405176415642776310640005901066593769328670388302415651498544179286358184405116706622841055589415496384645466605072846767476596040272281813834553651683685437313839001297255945492448850200956177427174183922496861171203912108516343551049539442533330536331023857700684424632259450081419360494605755465939924910862231531304054659926773929268434006474783768220338099459276153263468610458615643658141481945255412198215230077598080353287890868024743742970403671054124087004534139932178 2038226813077499531308357089053971427440635430018130072742192228585373488717709821436488766331167911389786629381704025782098722021018400354326388584983966054418974829415206888850380244751220222647637121402868567251701979871078400234335297965020808796907958862573240860193780146721623092991078302590586676259709060051506698365557724447560375933991091410284883484640219763833311819447829636686549057048318245374704820088895718389857321628242621418280024594849831956469961019108167241820692417091035004219503151975666937273523594964667580712888899851312101889140033468615769664723366122419303119552444645102587236238336892269553527539667596620812223766012790678858024556480987127169196868198680744712634821612813185726908658958834464454367981555950577197296140876607738952718366898702876613573689999870676931447073984682805457472662538043087715789629526981819374319408167617535190576427752510646304391030819170517090237392575830700994493588952817414062520881683339832079613008171814085971725169421289441855801577709111332049817717981478972291235793306853102798151183567832168779505495212682154824627629914392023763834296820123230103486721113035078643880530797877047043134302606756544543531297412601390310489582779624677685878456616125626161806705043377659951472252031666196070694682227444773949749226482476962312812504920527218641479746391443908555172216377697048127665111348366101395468439358524307633498186583915910039126484233395103583813407332658976414019331416244119619123338458767611083329606403123215045490043866858487963608638350077910523892515536525816036162204628927228842540437816698547325507003330898977904591119507584712751849311381004086711040794400614227587774982361326201286097629725707312046705394762000603019020498672017671027322666921041772898278661460987496517724382434947449130248817676285607406314339263954383038734996585614407670475120312589642072731400093988403266352189240223241668063777760461917335641439581374935788205869378766640814491769902374710976536671627064785872793458023424686428047024105058074748834723697258105210641130524881896270459264205328337831682209898780191777049522353495709165403056149946165783357574346942170265625753909131561647196102037347709982549328441605378920316789363537117585862893027715375480156267196534564503882973104749663338169455077462082449390434752101107461808542702727297749097340166989988242191765809945840428402483680047977468767354964333827992514297791100445888474583819081020348948525733926449920084101934622941974829077767878106955433490138207989711607017636434703449859084604856142255681561307303315718983785429427288487047279727086336937290639583094652449321243110563516735456650890475685519647058229 3297920260340772906310262173187309057573256387736214171946622980698924645384663881890208926963214155306944234374196821833312838314100331630403396055630060726081230102760948256605992079142469715654554092966389758779813307887096155573859738897839042047610180967011118733139048296259650389559743065452104892052499954292850847027295842515128910948039269045447980197739057770649497237137991717254796433192079930743919782059039758256644414896015533635048140175635945648198234932887915211446515466421662512622484244624930130053578967219001112299366901277251570760901547216337607131668799652327348101375048544182764467292174890235205942570153185141718989623759150176803229784421908330035430344719518653541010723563489917669803968452339563602441709145418793553167315219834729411044856338774814687418011847707736372733165708020469622009885560085407673726210066749824490747665424747974539370410429841686608669190155591580541484697708616576342398190861221644898859626359057449045396717970856691887802738712866136890874058124991966827011704202345974254645304151377074581241023221587384277622928467315330509343619156868493370087113727072881780357362425565195284239841626146279207350482389567416547312933866009654603958290585063349477017933386801662801059275261724992113361021718231668888096755394246624208256810706690487416583140533043136357360113301106993130141263985532163325002215896113888476867467999700206619290081203460718097732099951578138301192462067834170972108353529670213129112762041662215311121805986164402649484239050641964212134692840567642267811187444167978906284496186770762079738747313149916891542717189019113941012446450574531909251208105034491431217639827768635424577332888074709192835424872707955231770314957448151623135980101493958919523363077037465314906427855258442125903846780192661637495569576367548271973245732494785652365371377917547696175362398961206142278611598394429490913516232466742448806217523121600513044949197024499836724023029280307150088408069259588355123606039751369487325444818937388461230994123147859810675084509716266435659539027401167312464352395208684011781438835980376529438678026665612901679862881720184056501616897328337898551356627927559197868915569081731046954504857248155230956795264603711355191563416017791131654811375820922688288089811372504393758870573846727915995507598868584057848814984541132302749023852427302081193063065891332877252684636225404642951277461194999196426406307443996938014026352411556679972383434610874552343552016042302469434833233818031866295721669512044371533791565703137456333868373076480355140837460566784329442401073085429968992535139284552167368237663447940340189267854306487139127705014562690053786990407 5336147073418272437618619262241280485013891817754344244688815209284298134102373703326697693294382066696730863755900847615411560335118731984729784640614026780500204932176155145456372323893689938302191214369258326031515287758174555808195036862859850844518139829584359593332828442981273482550821368042691568312209014344357545392853566962689286882030360455732863682379277534482809056585821353941345490240398176118624602147935476646501736524258155053328164770485777604668195951996082453267207883512697516841987396600597067327102562183668693012255801128563672650041580684953376796392165774746651220927493189285351703530511782504759470109820781762531213389771940855661254340902895457204627212918199398253645545176303103396712627411174028056809690701369370750463456096442468363763223237477691300991701847578413304180239692703275079482548098128495389515839593731643865067073592365509729946838182352332913060220974762097631722090284447277336891779814039058961380508042397281125009726142670777859527908134155578746675635834103298876829422183824946545881097458230177379392206789419553057128423679997485333971249071260517133921410547196111883844083538600273928120372424023326250484784996323961090844231278611044914447873364688027162896390002927288962865980305102652064833273749897864958791437621691398158006037189167449729395645453570354998839859692550901685313480363229211452667327244479989872335907358224514252788267787376628136858584184973241885005869400493147386127684945914332748236100500429826394451412389287617694974282917500452175743331190645552791703702980693794942446700815697990922279185129848464217049720519918091845603565958159244661100519486038578142258434228382863012352315249400910478933054598415267278475709719448754642156478773511629946846029998079238213185089316245938643628229215140110767744387252653155678287584996449168691100367963531955366650482711550848215010011692382832757265705472689984116869995283583517848686388778399435624929892408046947964580177971634299331660277666816155360118902842362074889278018228205934559509808206974371646300669552283063582923616600537021843463648734760568306488200380161322067082919031666349839859191244270508164177110537059120845065017606429441029503833298853534151273584628140828941054456443733166611811078572355487192171062916122167731928325651308810365385942350969691519657357687268430051846364019417290323384828875837173305655168316273382111718632425528827188940704098544442826488610171492577028920909168537324472427653950665244444263911001696138821729211807720034083140809202137840906192952977932622610822398767870100048426186502512718456039814866370889104658877246542592789510510964870003874584355905038375573434048636 8634067333759045343928881435428589542587148205490558416635438189983222779487037585216906620257596222003675098130097669448724398649219063615133180696244087506581435034937103402062364403036159653956745307335648084811328595645270711382054775760698892892128320796595478326471876739240923872110564433494796460364708968637208392420149409477818197830069629501180843880118335305132306293723813071196141923432478106862544384206975234903146151420273688688376304946121723252866430884883997664713723349934360029464471641225527197380681529402669805311622702405815243410943127901290983928060965427073999322302541733468116170822686672739965412679973966904250203013531091032464484125324803787240057557637718051794656268739793021066516595863513591659251399846788164303630771316277197774808079576252505988409713695286149676913405400723744701492433658213903063242049660481468355814739017113484269317248612194019521729411130353678173206787993063853679289970675260703860240134401454730170406444113527469747330646847021715637549693959095265703841126386170920800526401609607251960633230011006937334751352147312815843314868228129010504008524274268993664201445964165469212360214050169605457835267385891377638157165144620699518406163949751376639914323389728951763925255566827644178194295468129533846888193015938022366262847895857937145978785986613491356199972993657894815454744348761374777669543140593878349203375357924720872078348990837346234590684136551380186198331468327318358236038475584545877348862542092041705573218375452020344458521968142416387878024031213195059514890424861773848731197002468753002017932442998381108592437708937205786616012408733776570351727591073069573476074056151498436929648137475619671768479471123222510246024676896906265292458875005588866369393075116703528091517171504380769532075995332772405239956829020703950260830728943954343465739341449503062825845110512054357288623290777262248179221705156726565676212806705118361731337975423935461653915437327255114668586040893887686783883706567524847444347661299463350509012351353794370184892716690638081960208579684230895387968995745705855245087570740944835926878406826934968762781913386533896360808141598846062728467164986680042933933175511172076458338156101689382230379892744540296246019859750957743465889948176409880459152727494672125687196225155538281381449949838275577506172671809562354595387871844592404577891941728506182907852952498786754669909886723826385367110405988439764502636523904133708893292603148199024771205966707546913698744235514170688024933477232078454674600767840978362526821351009102965963236228436884377868587575598148425032350005655441272027114909990533129699778819176491013712060919601065627221039043 13970214407177317781547500697669870027601040023244902661324253399267520913589411288543604313551978288700405961885998517064135958984337795599862965336858114287081639967113258547518736726929849592258936521704906410842843883403445267190249812623558743736646460626179837919804705182222197354661385801537488028676917982981565937813002976440507484712099989956913707562497612839615115350309634425137487413672876282981168986354910711549647887944531843741704469716607500857534626836880080117980931233447057546306459037826124264707784091586338498323878503534378916060984708586244360724453131201820650543230034922753467874353198455244724882789794748666781416403303031888125738466227699244444684770555917450048301813916096124463229223274687619716061090548157535054094227412719666138571302813730197289401415542864562981093645093427019780974981756342398452757889254213112220881812609478993999264086794546352434789632105115775804928878277511131016181750489299762821620642443852011295416170256198247606858554981177294384225329793198564580670548569995867346407499067837429340025436800426490391879775827310301177286117299389527637929934821465105548045529502765743140480586474192931708320052382215338729001396423231744432854037314439403802810713392656240726791235871930296243027569218027398805679630637629420524268885085025386875374431440183846355039832686208796500768224711990586230336870385073868221539282716149235124866616778213974371449268321524622071204200868820465744363723421498878625584963042521868100024630764739638039432804885642868563621355221858747851218593405555568791177897818166743924297117572846845325642158228855297632219578366893021231452247077111647715734508284534361449281963386876530150701534069538489788721734396345660907448937648517218813215423073195941741276606487750319413160305210472883172984344081673859628548415725393123034566107304981458429476327822062902572298634983160095005444927177846710682546208090288636210417726753823371086583807845374203079248764012528187018444161373383680207563250503661538239787030579559728929694700923665009728260878131967294478311585596282727698708736305501513142415078786988257035845700945052883736219999385869354226905577702045800887998950781940613105962171454955223533503964520885369237300476303484124355276968520531897072630215643616839857615521876464348646767392300807967097163530359077992406441751891261882727962720817565679488563021268772168866388542312252653574307814504532882590991246695396710737814201771685523497198859917372791357962655237210309509754145284952112537815409969978819268719774328941725576785634996306984426294774078110866881072164872026330376685992156533125919210289784046494888296416824639441200655087679 22604281740936363125476382133098459570188188228735461077959691589250743693076448873760510933809574510704081060016096186512860357633556859214996146033102201793663075002050361949581101129966009246215681829040554495654172479048715978572304588384257636628774781422775316246276581921463121226771950235032284489041626951618774330233152385918325682542169619458094551442615948144747421644033447496333629337105354389843713370561885946452794039364805532430080774662729224110401057721764077782694654583381417575770930679051651462088465620989008303635501205940194159471927836487535344652514096628894649865532576656221584045175885127984690295469768715571031619416834122920590222591552503031684742328193635501842958082655889145529745819138201211375312490394945699357724998728996863913379382389982703277811129238150712658007050494150764482467415414556301515999938914694580576696551626592478268581335406740371956519043235469453978135666270574984695471721164560466681860776845306741465822614369725717354189201828199010021775023752293830284511674956166788146933900677444681300658666811433427726631127974623117020600985527518538141938459095734099212246975466931212352840800524362537166155319768106716367158561567852443951260201264190780442725036782385192490716491438757940421221864686156932652567823653567442890531732980883324021353217426797337711239805679866691316222969060751961008006413525667746570742658074073955996944965769051320606039952458076002257402532337147784102599761897083424502933825584613909805597849140191658383891326853785284951499379253071942910733483830417342639909094820635496926315050015845226434234595937792503418835590775626797801803974668184717289210582340685859886211611524352149822470013540661712298967759073242567172741396523522807679584816148312645269368123659254700182692381205805655578224300910694563578809246454337077378031846646430961492302172932574956929587258273937357253624148883003437248222420896993754572149064729247306548237723282701458193917350053422074705228045079951205055007598164961001590296042930913523299879593640355647810221086711651525373699554592028433553953823876242457978341957193815192004608482858439417632580807527468200289634044867032480930932883957451785182420509611056912915734344413629909533546496163235082098742858468708306953089368371111511983302718101619886928148842250646242674669703030887554761037139763106475132540612759294185671470874221270955621058452198976479959674924910521322355493883219300844446707494374833722521970065884080338271661399472724480197779078762184190992490010737819797631246595679950828542748871224743868804163361653709015306104514877681771648713107066523659048910068603222985902008477744240506827876126722 36574496148113680907023882830768329597789228251980363739283944988518264606665860162304115247361552799404487021902094703576996316617894654814859111369960316080744714969163620497099837856895858838474618350745460906497016362452161245762554401007816380365421242048955154166081287103685318581433336036569772517718544934600340268046155362358833167254269609415008259005113560984362536994343081921471116750778230672824882356916796658002441927309337376171785244379336724967935684558644157900675585816828475122077389716877775726796249712575346801959379709474573075532912545073779705376967227830715300408762611578975051919529083583229415178259563464237813035820137154808715961057780202276129427098749552951891259896571985269992975042412888831091373580943103234411819226141716530051950685203712900567212544781015275639100695587577784263442397170898699968757828168907692797578364236071472267845422201286724391308675340585229783064544548086115711653471653860229503481419289158752761238784625923964961047756809376304406000353545492394865182223526162655493341399745282110640684103611859918118510903801933418197887102826908065779868393917199204760292504969696955493321386998555468874475372150322055096159957991084188384114238578630184245535750175041433217507727310688236664249433904184331458247454291196863414800618065908710896727648866981184066279638366075487816991193772742547238343283910741614792281940790223191121811582547265294977489220779600624328606733205968249846963485318582303128518788627135777905622479904931296423324131739428153515120734474930690761952077235972911431086992638802240850612167588692071759876754166647801051055169142519819033256221745296365004945090625220221335493574911228679973171547610200202087689493469588228080190334172040026492800239221508587010644730147005019595852686416278538751208644992368423207357662179730200412597953951412419921778500754637859501885893257097452259069076060850147930768628987282390782566791483070677634821531128075661273166114065950261723672206453334885262570848668622539830083073510473252229574294564020657538481964843618819852011140188311161252662560181743971120757035980803449040454183803492301368800806913337554516539622569078281818931834739392398288382681066012136449238308934515278770846972466719206454019826989240204025719584014728351840918239978084235574916234551454209771833233389965547167478891654368357860503333576859865160033895490043124487446994511229133533982739415054204946485129914697555184521696146519246019168925801453129629624054709934789707533224047136303530305420707798616899966370008892554119534506221050853230458135731819882187176679749708102025399099223056784968120358387269480790304894568879948028531214401 59178777889050044032500264963866789167977416480715824817243636577769008299742309036064626181171127310108568081918190890089856674251451514029855257403062517874407789971213982446680938986861868084690300179786015402151188841500877224334858989392074016994196023471730470412357869025148439808205286271602057006760171886219114598279307748277158849796439228873102810447729509129109958638376529417804746087883585062668595727478682604455235966674142908601866019042065949078336742280408235683370240400209892697848320395929427188884715333564355105594880915414767235004840381561315050029481324459609950274295188235196635964704968711214105473729332179808844655236971277729306183649332705307814169426943188453734217979227874415522720861551090042466686071338048933769544224870713393965330067593695603845023674019165988297107746081728548745909812585455001484757767083602273374274915862663950536426757608027096347827718576054683761200210818661100407125192818420696185342196134465494227061398995649682315236958637575314427775377297786225149693898482329443640275300422726791941342770423293345845142031776556535218488088354426603921806853012933303972539480436628167846162187522918006040630691918428771463318519558936632335374439842820964688260786957426625708224218749446177085471298590341264110815277944764306305332351046792034918080866293778521777519444045942179133214162833494508246349697436409361363024598864297147118756548316316615583529173237676626586009265543116033949563247215665727631452614211749687711220329045122954807215458593213438466620113728002633672685561066390254070996087459437737776927217604537298194111350104440304469890759918146616835060196413481082294155672965906081221705186435580829795641561150861914386657252542830795252931730695562834172385055369821232280012853806259719778545067622084194329432945903062986786166908634067277790629800597843381414080673687212816431473151531034809512693224943853585178991049884276145354715856212317984183059254410777119467083464119372336428900251533286090317578446833583541420379116441386775529453888204376305348703051555270345225710694780339594806616384057986429099098993174618641045062666661931719001381614440805754806173667436110762749864718696844183470803190677069049364972653348145188304393468629954288552762685457948510978808952385839863824220958079704122503065076802100452446502936420853101928516031417474832993043946336154050831504769711314080108505446710205613493657664325575527301979013133998399631229190521352968541138991685533467901285454182659269905312302809320494522795431445618414531212965688843382662283377445794722034621497385528897493281194627389873674112206289580444017030426990492466692313372313120454856407341123 95753274037163724939524147794635118765766644732696188556527581566287272906408169198368741428532680109513055103820285593666852990869346168844714368773022833955152504940377602943780776843757726923164918530531476308648205203953038470097413390399890397359617265520685624578439156128833758389638622308171829524478716820819454866325463110635992017050708838288111069452843070113472495632719611339275862838661815735493478084395479262457677893983480284773651263421402674046272426839052393584045826217038367819925710112807202915680965046139701907554260624889340310537752926635094755406448552290325250683057799814171687884234052294443520651988895644046657691057108432538022144707112907583943596525692741405625477875799859685515695903963978873558059652281152168181363451012429924017280752797408504412236218800181263936208441669306333009352209756353701453515595252509966171853280098735422804272179809313820739136393916639913544264755366747216118778664472280925688823615423624246988300183621573647276284715446951618833775730843278620014876122008492099133616700168008902582026874035153263963652935578489953416375191181334669701675246930132508732831985406325123339483574521473474915106064068750826559478477550020820719488678421451148933796537132468058925731946060134413749720732494525595569062732235961169720132969112700745814808515160759705843799082412017666950205356606237055484692981347150976155306539654520338240568130863581910561018394017277250914615998749084283796526732534248030759971402838885465616842808950054251230539590332641591981740848202933324434637638302363165502083080098239978627539385193229369953988104271088105520945929060666435868316418158777447299100763591126302557198761346809509768813108761062116474346746012419023333122064867602860665185294591329819290657583953264739374397754038362733080641590895431409993524570813797478203227754549255801335859174441850675933359044788132261771762301004703733109759678871558536137282647695388661817880785538852780740249578185322598152572457986620975580149295502206081250462189951860027759028182768396962887185016398889165077721834968650756059278944239730400219856029155422090085516850465424020370182421354143309322713290005189044568796553436236581759185871743081185814210962282660467075240441096673495006782512447188715004528536400568215665139198057788358077981311353554662218336169810818649095994923071843190853547279913013915991538665201357204595952441221434747027640403740629732248464143048695954815750886667872214560307917486986597530909508892594059612845526856456798053100852153417031431179335697735936781817883666845575265079633117348779680457874377097975699511305512637228985150785377761947482618266882000402884938555524 154932051926213768972024412758501907933744061213412013373771218144056281206150478234433367609703807419621623185738476483756709665120797682874569626176085351829560294911591585390461715830619595007855218710317491710799394045453915694432272379791964414353813288992416094990797025153982198197843908579773886531238888707038569464604770858913150866847148067161213879900572579242582454271096140757080608926545400798162073811874161866912913860657623193375517282463468623124609169119460629267416066617248260517774030508736630104565680379704057013149141540304107545542593308196409805435929876749935200957352988049368323848939021005657626125718227823855502346294079710267328328356445612891757765952635929859359695855027734101038416765515068916024745723619201101950907675883143317982610820391104108257259892819347252233316187751034881755262022341808702938273362336112239546128195961399373340698937417340917086964112492694597305464966185408316525903857290701621874165811558089741215361582617223329591521674084526933261551108141064845164570020490821542773892000590735694523369644458446609808794967355046488634863279535761273623482099943065812705371465842953291185645762044391480955736755987179598022796997108957453054863118264272113622057324089894684633956164809580590835192031084866859679878010180725476025465320159492780732889381454538227621318526457959846083419519439731563731042678783560337518331138518817485359324679179898526144547567254953877500625264292200317746089979749913758391424017050635153328063137995177206037755048925855030448360961930935958107323199368753419573079167557677716404466602797766668148099454375528409990836688978813052703376614572258529593256436557032383778903947782390339564454669911924030861003998555249818586053795563165694837570349961151051570670437759524459152942821660446927410074536798494396779691479447864755993857555147099182749939848129063492364832196319167071284455525948557318288750728755834681491998503907706646000940039949629900207333042304694934581472709519907065897727742335789622670841306393246803288482070972773268235888067954159510303432529748990350865895328297716829318955022330040731130579517127355739371564035794949064128886957441299807318661272133080765229989062420150235179183615630805655379633909726627783559545197905137225983337488786408079489360156137492480581046388155655114664839106231671751024510954489318023846591226249167966823043434912671284704457887931640360521298068066205259550443156182694354446980077189225183101446909172520065432194963075253329518157829665777292575896283599035445962392301386579319444101261112640297299701130502877677173739069004487849373623511802217673002181212368254414174931639195120857741345896647 250685325963377493911548560553137026699510705946108201930298799710343554112558647432802109038236487529134678289558762077423562655990143851719283994949108185784712799851969188334242492674377321931020137240848968019447599249406954164529685770191854811713430554513101719569236181282815956587482530887945716055717605527858024330930233969549142883897856905449324949353415649356054949903815752096356471765207216533655551896269641129370591754641103478149168545884871297170881595958513022851461892834286628337699740621543833020246645425843758920703402165193447856080346234831504560842378429040260451640410787863540011733173073300101146777707123467902160037351188142805350473063558520475701362478328671264985173730827593786554112669479047789582805375900353270132271126895573241999891573188512612669496111619528516169524629420341214764614232098162404391788957588622205717981476060134796144971117226654737826100506409334510849729721552155532644682521762982547562989426981713988203661766238796976867806389531478552095326838984343465179446142499313641907508700758744597105396518493599873772447902933536442051238470717095943325157346873198321438203451249278414525129336565864955870842820055930424582275474658978273774351796685723262555853861222362743559688110869715004584912763579392455248940742416686645745598289272193526547697896615297933465117608869977513033624876045968619215735660130711313673637678173337823599892810043480436705565961272231128415241263041284601542616712284161789151395419889520618944905946945231457268294639258496622430101810133869282541960837671116585075162247655917695032005987990996038102087558646616515511782618039479488571693032731035976892357200148158686336102709129199849333267778672986147335350744567668841919175860430768555502755644552480870861328021712789198527340575698809660490716127693925806773216050261662234197085309696354984085799022570914168298191241107299333056217826953261051398510407627393217629281151603095307818820825488482680947582620490017532734045167506528041477877037837995703921303496345106831047510253741170231123073084353048675381154364717641106925174272537447229538811051485462821216096367592779759741746457149092373451600247446488851887457825569317346989174934163231420993394577913466122454874350823301278566327710352325940987866025186976295154499354195280838659027699509209776883175276042490400120505877561161214700138506162181882814582100114028489300410329153075107548938471806834991798907299231390309262730963857097397661754826659506662963104471967847389131003356522234090628997135752452477393571637084315256225919144779485872564780763620226456854196943381585825073134817314854901987331997746016361657549906077121260626284452171 405617377889591262883572973311638934633254767159520215304070017854399835318709125667235476647940294948756301475297238561180272321110941534593853621125193537614273094763560773724704208504996916938875355951166459730246993294860869858961958149983819226067243843505517814560033206436798154785326439467719602586956494234896593795535004828462293750745004972610538829253988228598637404174911892853437080691752617331817625708143802996283505615298726671524685828348339920295490765077973652118877959451534888855473771130280463124812325805547815933852543705497555401622939543027914366278308305790195652597763775912908335582112094305758772903425351291757662383645267853072678801420004133367459128430964601124344869585855327887592529434994116705607551099519554372083178802778716559982502393579616720926756004438875768402840817171376096519876254439971107330062319924734445264109672021534169485670054643995654913064618902029108155194687737563849170586379053684169437155238539803729419023348856020306459328063616005485356877947125408310344016162990135184681400701349480291628766162952046483581242870288582930686101750252857216948639446816264134143574917092231705710775098610256436826579576043110022605072471767935726829214914949995376177911185312257428193644275679295595420104794664259314928818752597412121771063609431686307280587278069836161086436135327937359117044395485700182946778338914271651191968816692155308959217489223378962850113528527185005915866527333484919288706692034075547542819436940155772272969084940408663306049688184351652878462772064805240649284037039870004648241415213595411436472590788762706250187013022144925502619307018292541275069647303294506485613636705191070115006656911590188897722448584910178196354743122918660505229655993934250340325994513631922431998459472313657680283397359256587900790664492420203552907529709526990190942864843454166835738870699977660663023437426466404340673352901818369687261136383227899121279655510801953819760865438112581154915662794712467315517877026435107375604780173785326592144802738353634335992324713943499358961152307208185684586894466631457791069600835164058857766073815503552346675884720135499113310492944041437580487204887788659206119097702398112219163996583381656172578193544271777834508260549929062125872908257463166971203513973384374643859510332773319240074087664864891548014382274162151145016832050479238546729732411349849637625535026699774004868217084715468070236539873040251349350455414084663709711041046322580763201735832026728395299435043100718649161186188011383204893419351487923355963938470894575670020405892126169864481894123104134027936012386073674446758329117072574989513210114270775832481545272242118367630348818 656302703852968756795121533864775961332765473105628417234368817564743389431267773100037585686176782477890979764856000638603834977101085386313137616074301723398985894615529962058946701179374238869895493192015427749694592544267824023491643920175674037780674398018619534129269387719614111372808970355665318642674099762754618126465238798011436634642861878059863778607403877954692354078727644949793552456959833865473177604413444125654097369939830149673854374233211217466372361036486674970339852285821517193173511751824296145058971231391574854555945870691003257703285777859418927120686734830456104238174563776448347315285167605859919681132474759659822420996455995878029274483562653843160490909293272389330043316682921674146642104473164495190356475419907642215449929674289801982393966768129333596252116058404284572365446591717311284490486538133511721851277513356650982091148081668965630641171870650392739165125311363619004924409289719381815268900816666717000144665521517717622685115094817283327134453147484037452204786109751775523462305489448826588909402108224888734162681445646357353690773222119372737340220969953160273796793689462455581778368341510120235904435176121392697422396099040447187347946426914000603566711635718638733765046534620171753332386549010600005017558243651770177759495014098767516661898703879833828285174685134094551553744197914872150669271531668802162513999044982964865606494865493132559110299266859399555679489799416134331107790374769520831323404318237336694214856829676391217875031885640120574344327442848275308564582198674523191244874710986589723403662869513106468478578779758744352274571668761441014401925057772029846762680034330483377970836853349756451109366040790038230990227257896325531705487690587502424405516424702805843081639066112793293326481185102856207623973058066248391506792186346010326123579971189224388028174539809150921537893270891828961214678533765737396891179855079421085771544010621116750560807113897261638581690926595262102498283284730000049563044532963148853481818011781030513448299083460465383502578455113730482034236660256861065741259184272564716243873372611288396577125300966373562772252312915258855056950093133811032087452334277511093576923271715459208338930746613077165972771457737900289382611373230340692200618609789107959069539160360669798358864528054157899101787174074668431189658316652551265522709611640453246868238573531732452207635140728263305278546237790575619175011679875243148257754645474972972442004903419978424956562491533391358403907010948107780164542710245473833890555103940400749535575555209831895939550671612042429262657743330590882132955767659499519893146431927476976845207860287137490031451349363378993914800989 1061920081742560019678694507176414895966020240265148632538438835419143224749976898767273062334117077426647281240153239199784107298212026920906991237199495261013258989379090735783650909684371155808770849143181887479941585839128693882453602070159493263847918241524137348689302594156412266158135409823384921229630593997651211922000243626473730385387866850670402607861392106553329758253639537803230633148712451197290803312557247121937602985238556821198540202581551137761863126114460327089217811737356406048647282882104759269871297036939390788408489576188558659326225320887333293398995040620651756835938339689356682897397261911618692584557826051417484804641723848950708075903566787210619619340257873513674912902538249561739171539467281200797907574939462014298628732453006361964896360347746054523008120497280052975206263763093407804366740978104619051913597438091096246200820103203135116311226514646047652229744213392727160119097027283230985855279870350886437299904061321447041708463950837589786462516763489522809082733235160085867478468479584011270310103457705180362928844397692840934933643510702303423441971222810377222436240505726589725353285433741825946679533786377829524001972142150469792420418194849727432781626585714014911676231846877599946976662228306195425122352907911085106578247611510889287725508135566141108872452754970255637989879525852231267713667017368985109292337959254616057575311557648441518327788490238362405793018326601140246974317708254440120030096352312884237034293769832163490844116826048783880394015627199928187027354263479763840528911750856594371645078083108517904951169568521450602461584690906366517021232076064571121832327337624989863584473558540826566116022952380227128712675842806503728060230813506162929635172418637056183407633579744715725324940657416513887907370417322836292297456678766213879031109680716214578971039383263317757276763970869489624238115960232141737564532756897790773032680393849015871840462624699215458342556364707843257413946079442467365080921559398256229086598185566357105593101821814099719494903169057229840995388967465046750328153650904022507313474207775347254343199116469925909448137033050757968367443037175248612574657222066170299696020974113571427502927329994733338550965002009678123890871923159402818073526867252274930273053133745044442218374860827477139175874838939559979204040590814702410539541662119691793597970984881582089833170167428037310146763322506043689411551552915494497608210059559636682153045949742559188158298323560119753703342054048826429325728898256857038783974455428324105499514026104407565959956563738212293744551866434724910068968153733173966651475549000051966358417974557913322512996621605497361545149807 1718222785595528776473816041041190857298785713370777049772807652983886614181244671867310648020293859904538261005009239838387942275313112307220128853273796984412244883994620697842597610863745394678666342335197315229636178383396517905945245990335167301628592639542756882818571981876026377530944380179050239872304693760405830048465482424485167020030728728730266386468795984508022112332367182753024185605672285062763980916970691247591700355178386970872394576814762355228235487150947002059557664023177923241820794633929055414930268268330965642964435446879561917029511098746752220519681775451107861074112903465805030212682429517478612265690300811077307225638179844828737350387129441053780110249551145903004956219221171235885813643940445695988264050359369656514078662127296163947290327115875388119260236555684337547571710354810719088857227516238130773764874951447747228291968184872100746952398385296440391394869524756346165043506317002612801124180687017603437444569582839164664393579045654873113596969910973560261287519344911861390940773969032837859219505565930069097091525843339198288624416732821676160782192192763537496233034195189045307131653775251946182583968962499222221424368241190916979768364621763728036348338221432653645441278381497771700309048777316795430139911151562855284337742625609656804387406839445974937157627440104350189543623723767103418382938549037787271806337004237580923181806423141574077438087757097761961472508126017274578082108083023960951353500670550220931249150599508554708719148711688904454738343070048203495591936462154287031773786461843184095048740952621624373429748348280194954736156359667807531423157133836600968595007371955473241555310411890583017225388993170265359702903100702829259765718504093665354040688843339862026489272645857509018651421842519370095531343475389084683804248865112224205154689651905438966999213923072468678814657241761318585452794493997879134455712611977211858804224404470132622401269738596477096924247291303105359912229364172467414643966092361405082568416197347387619041400905274565102997481624170960323029625627721907816069412835176587223557347580386635650920324417436299472220389345966016823424393130309059644662109556343681393272944245829030635841858076607810504523736459747578413273483296389743510274145477041382889342592294105714240577239388881635038277662013014228410393698907467253676062251273760145040466209558413314542040805308156300615425309560296619308586563232790737645865964705034609654595050853162537613114860815093511112107249064996934209490271608502330872674529559368724855035089581314239461899507235350254723007209609765315792201923921392673486544621980927528943203625834845050812544447970968876355459950796 2780142867338088796152510548217605753264805953635925682311246488403029838931221570634583710354410937331185542245162479038172049573525139228127120090473292245425503873373711433626248520548116550487437191478379202709577764222525211788398848060494660565476510881066894231507874576032438643689079790002435161101935287758057041970465726050958897405418595579400668994330188091061351870586006720556254818754384736260054784229527938369529303340416943792070934779396313492990098613265407329148775475760534329290468077516033814684801565305270356431372925023068120576355736419634085513918676816071759617910051243155161713110079691429097304850248126862494792030279903693779445426290696228264399729589809019416679869121759420797624985183407726896786171625298831670812707394580302525912186687463621442642268357052964390522777974117904126893223968494342749825678472389538843474492788288075235863263624899942488043624613738149073325162603344285843786979460557368489874744473644160611706102042996492462900059486674463083070370252580071947258419242448616849129529609023635249460020370241032039223558060243523979584224163415573914718669274700915635032484939208993772129263502748877051745426340383341386772188782816613455469129964807146668557117510228375371647285711005622990855262264059473940390915990237120546092112914975012116046030080195074605827533503249619334686096605566406772381098674963492196980757117980790015595765876247336124367265526452618414825056425791278401071383597022863105168283444369340718199563265537737688335132358697248131682619290725634050872302698212699778466693819035730142278380917916801645557197741050574174048444389209901172090427334709580463105139783970431409583341411945550492488415578943509332987825949317599828283675861261976918209896906225602224743976362499935883983438713892711920976101705543878438084185799332621653545970253306335786436091421212630808209690910454230020872020245368875002631836904798319148494241732363295692555266803656010948617326175443614934779724887651759661311655014382913744724634502727088664822492384793228190164025014595186954566397566486080609730870821788161982905263523533906225381668526379016774791791836167484308257236766778409851692968965219942602063344785406602543843074701461757256537164355219549146328347672344293657819615645427850758682795614249709112177453536851953788389597739498281956086601792935879836834064180543294896631873975475584337925572072882802662997998114785706232143474174764594246336748096802905096801273159138653630865810591119045760638816000506759187911458504014797048960534603607418647027859463799088467016751761476200040702270892075125847453196097529927580909562043809402964135057444592574373717005100603 4498365652933617572626326589258796610563591667006702732084054141386916453112466242501894358374704797235723803250171718876559991848838251535347248943747089229837748757368332131468846131411861945166103533813576517939213942605921729694344094050829827867105103520609651114326446557908465021220024170181485400974239981518462872018931208475444064425449324308130935380798984075569373982918373903309279004360057021322818765146498629617121003695595330762943329356211075848218334100416354331208333139783712252532288872149962870099731833573601322074337360469947682493385247518380837734438358591522867478984164146620966743322762120946575917115938427673572099255918083538608182776677825669318179839839360165319684825340980592033510798827348172592774435675658201327326786056707598689859477014579496830761528593608648728070349684472714845982081196010580880599443347340986590702784756472947336610216023285238928435019483262905419490206109661288456588103641244386093312189043226999776370495622042147336013656456585436643331657771924983808649360016417649686988749114589565318557111896084371237512182476976345655745006355608337452214902308896104680339616592984245718311847471711376273966850708624532303751957147438377183505478303028579322202558788609873143347594759782939786285402175211036795675253732862730202896500321814458090983187707635178956017077126973386438104479544115444559652905011967729777903938924403931589673203964004433886328738034578635689403138533874302362022737097693413326099532594968849272908282414249426592789870701767296335178211227187788337904076484674542962561742559988351766651810666265081840511933897410241981579867546343737773059022342081535936346695094382321992600566800938720757848118482044212162247591667821693493637716550105316780236386178871459733762627784342455254078970057368101005659905954408990662289340488984527092512969467229408255114906078454392126795143704948227900006475957980852214490641129202789281116643002101892169652191050947314053977238404807787402194368853744121066394223430580261132343675903632363229925489866417399150487054640222908862382466979321257196954428169368548618556183847951342524853888915724982791615216229297793367901898876334753533086241909465771632699186643483210354347598437921504834950437838515938889838621817821335040708958237721956472923372853638590747215731198864968016799991438405749209762664044209639981874530390101708211173914780783740638540997382443099282306584678018496969789340139469628855991343147656067634414388019953747141977917840184042694848306272115261518784133033574165773815569693188732886489758971034438721739758971085965356494472815996518520939740719510855109852765669644248014947601892563543250072465051399 7278508520271706368778837137476402363828397620642628414395300629789946292043687813136478068729115734566909345495334197914732041422363390763474369034220381475263252630742043565095094651959978495653540725291955720648791706828446941482742942111324488432581614401676545345834321133940903664909103960183920562076175269276519913989396934526402961830867919887531604375129172166630725853504380623865533823114441757582873549376026567986650307036012274555014264135607389341208432713681761660357108615544246581822756949665996684784533398878871678505710285493015803069740983938014923248357035407594627096894215389776128456432841812375673221966186554536066891286197987232387628202968521897582579569429169184736364694462740012831135784010755899489560607300957032998139493451287901215771663702043118273403796950661613118593127658590618972875305164504923630425121819730525434177277544761022572473479648185181416478644097001054492815368713005574300375083101801754583186933516871160388076597665038639798913715943259899726402028024505055755907779258866266536118278723613200568017132266325403276735740537219869635329230519023911366933571583597020315372101532193239490441110974460253325712277049007873690524145930254990638974608267835725990759676298838248514994880470788562777140664439270510736066169723099850748988613236789470207029217787830253561844610630223005772790576149681851332034003686931221974884696042384721605268969840251770010696003561031254104228194959665580763094120694716276431267816039338189991107845679787164281125003060464544466860830517913422388776379182887242741028436379024081908930191584181883486069131638460816155628311935553638945149449676791116399451834878352753402183908212884271250336534060987721495235417617139293321921392411367293698446283085097061958506604146842391138062408771260812926636007659952869100373526288317148746058939720535744041550997499667022935004834615402457920878496203349727217122478034001108429610884734465187862207457854603325002594564580251402336974093741395880727705878444963174877068310406359451894747982251210627340651079654818095816948864545807337806685298991156710601461447371485248750235557442103999566407008065465277676159135643113163384779210874685714234762531428889812898190673139383262091487602193735488036166969490165628698528573883149807231606168467888299859393184735716921805189589177904031165849265837145519818708594570645003107805788756259324976466569455325901945304582792804203201932814314234223102328091244458972731215661179092400772843728431303088455487122272622020706695591537588962822776104296796151533517618434833527188756510732562165397196743708071644368392936817040782690762327713453650979082659337156117623789470152002 11776874173205323941405163726735198974391989287649331146479354771176862745156154055638372427103820531802633148745505916791292033271201642298821617977967470705101001388110375696563940783371840440819644259105532238588005649434368671177087036162154316299686717922286196460160767691849368686129128130365405963050415250794982786008328143001847026256317244195662539755928156242200099836422754527174812827474498778905692314522525197603771310731607605317957593491818465189426766814098115991565441755327958834355045821815959554884265232452473000580047645962963485563126231456395760982795393999117494575878379536397095199755603933322249139082124982209638990542116070770995810979646347566900759409268529350056049519803720604864646582838104072082335042976615234325466279507995499905631140716622615104165325544270261846663477343063333818857386360515504511024565167071512024880062301233969909083695671470420344913663580263959912305574822666862756963186743046140676499122560098160164447093287080787134927372399845336369733685796430039564557139275283916223107027838202765886574244162409774514247923014196215291074236874632248819148473892493124995711718125177485208752958446171629599679127757632405994276103077693367822480086570864305312962235087448121658342475230571502563426066614481547531741423455962580951885113558603928298012405495465432517861687757196392210895055693797295891686908698898951752788634966788653194942173804256203897024741595609889793631333493539883125116857792409689757367348634307039264016128094036590873914873762231840802039041745101210726680455667561785703590178939012433675582002250446965326581065535871058137208179481897376718208472018872652335798529972735075394784475013822992008184652543031933657483009284960986815559108961472610478682669263968521692269231931184846392141378828628913932295913614361859762662866777301675838571909187765152296665903578121415061799978320350685820884972161330579431613119163203897710727527736567080031859648905550639056571802985059189739168462595140001794100101875543436009411986309991815124673472117628026491138134295041004679331331525128595003639727160525259220017631219436591275089446357828982358022224294763071044061034519447916917865452784151485867461718072373023252538271577304766926438040032251426926005591307986963739237532120871763704529541321526890606608915934581889821989580616309780375611929881355159800583124960746711318979703537043065615007566837769001227611167470822700171722154453703851958319434392115040365630049199046147914821646271487131150335428544737282225479724571163128596591673989984884420007377405867965910496269703648130753691216524068162889332677536551637800615093383097898994030261229719660873861935203401 19055382693477030310184000864211601338220386908291959560874655400966809037199841868774850495832936266369542494240840114706024074693565033062295987012187852180364254018852419261659035435331818936473184984397487959236797356262815612659829978273478804732268332323962741805995088825790272351038232090549326525126590520071502699997725077528249988087185164083194144131057328408830825689927135151040346650588940536488565863898551765590421617767619879872971857627425854530635199527779877651922550370872205416177802771481956239668798631331344679085757931455979288632867215394410684231152429406712121672772594926173223656188445745697922361048311536745705881828314058003383439182614869464483338978697698534792414214266460617695782366848859971571895650277572267323605772959283401121402804418665733377569122494931874965256605001653952791732691525020428141449686986802037459057339845994992481557175319655601761392307677265014405120943535672437057338269844847895259686056076969320552523690952119426933841088343105236096135713820935095320464918534150182759225306561815966454591376428735177790983663551416084926403467393656160186082045476090145311083819657370724699194069420631882925391404806640279684800249007948358461454694838700031303721911386286370173337355701360065340566731053752058267807593179062431700873726795393398505041623283295686079706298387419397983685631843479147223720912385830173727673331009173374800211143644507973907720745156641143897859528453205463888210978487125966188635164673645229255123973773823755155039876822696385268899872263014633115456834850449028444618615318036515584512193834628848812650197174331874292836491417451015663357921695663768735250364851087828796968383226707263258521186604019655152718426902100280137480501372839904177128952349065583650775836078027237530203787599889726858931921274314728863036393065618824584630848908300896338216901077788437996804812935753143741763468364680306648735597197205006140338412471032267894067106760153964059166367565310592076142556336535882521805980320506610886480296716351267019421454368838653831789213949859100496280196070935932810325026151681969821479078590921840025325003799932981924429232360228348720220170162561080302644663658837200102224249501262836150728944716688029017925642225986914962172560798152592437766106004021570936135709789415190466002100670298811627179169794213811541461195718500679619291719531391714426785492293302390591474136293094903172915750263626903373654968767938075060647525636574013096845710378138548687665374702790219605822550817359302932175316108752091419367778286781035953524995840701493099252780436210296150887960232139807257725614353592420491377421096551549973112920566875778497651405355403 30832256866682354251589164590946800312612376195941290707354010172143671782355995924413222922936756798172175642986346031497316107964766675361117604990155322885465255406962794958222976218703659377292829243503020197824803005697184283836917014435633121031955050246248938266155856517639641037167360220914732488177005770866485486006053220530097014343502408278856683886985484651030925526349889678215159478063439315394258178421076963194192928499227485190929451119244319720061966341877993643487992126200164250532848593297915794553063863783817679665805577418942774195993446850806445213947823405829616248650974462570318855944049679020171500130436518955344872370430128774379250162261217031384098387966227884848463734070181222560428949686964043654230693254187501649072052467278901027033945135288348481734448039202136811920082344717286610590077885535932652474252153873549483937402147228962390640870991126022106305971257528974317426518358339299814301456587894035936185178637067480716970784239200214068768460742950572465869399617365134885022057809434098982332334400018732341165620591144952305231586565612300217477704268288409005230519368583270306795537782548209907947027866803512525070532564272685679076352085641726283934781409564336616684146473734491831679830931931567903992797668233605799549016635025012652758840353997326803054028778761118597567986144615790194580687537276443115407821084729125480461965975962027995153317448764177804745486752251033691490861946745347013327836279535655946002513307952268519140101867860346028954750584928226070938914008115843842137290518010814148208794257048949260094196085075814139231262710202932430044670899348392381566393714536421071048894823822904191752858240530255266705839147051588810201436187061266953039610334312514655811621613034105343045068009212083922345166428518640791227834888676588625699259842920500423202758096066048634882804655909853058604791256103829562648440526010886080348716360408903851065940207599347925926755665704603115738170550369781815311018931675884315906082196050046895892283026343082144094926486466680322927348244900105175611527596064527813964753312207229041496709810358431300414450157761964282451456654991419764281204682008997220510116442988685969685967573635859403267216293992795944363682258238341888178152106139556177003638124893334640665251110942081072611016604880701449168750410523591917073125599855839419874844492138425745765195830345456206481703130863904400526917734449603545377123221641927018966960028689053462475759577184696602487020974277350756157979362096585157655040679915220015959452276765920373532373246569459009749050139858426904579176756207970147058291890144058291992514479649448967143181796595439371513340558804 49887639560159384561773165455158401650832763104233250268228665573110480819555837793188073418769693064541718137227186146203340182658331708423413592002343175065829509425815214219882011654035478313766014227900508157061600361959999896496746992709111925764223382570211680072150945343429913388205592311464059013303596290937988186003778298058347002430687572362050828018042813059861751216277024829255506128652379851882824042319628728784614546266847365063901308746670174250697165869657871295410542497072369666710651364779872034221862495115162358751563508874922062828860662245217129445100252812541737921423569388743542512132495424718093861178748055701050754198744186777762689344876086495867437366663926419640877948336641840256211316535824015226126343531759768972677825426562302148436749553954081859303570534134011777176687346371239402322769410556360793923939140675586942994741993223954872198046310781623867698278934793988722547461894011736871639726432741931195871234714036801269494475191319641002609549086055808562005113438300230205486976343584281741557640961834698795756997019880130096215250117028385143881171661944569191312564844673415617879357439918934607141097287435395450461937370912965363876601093590084745389476248264367920406057860020862005017186633291633244559528721985664067356609814087444353632567149390725308095652062056804677274284532035188178266319380755590339128733470559299208135296985135402795364461093272151712466231908892177589350390399950810901538814766661622134637677981597497774264075641684101183994627407624611339838786271130476957594125368459842592827409575085464844606389919704662951881459884534806722881162316799408044924315410200189806299259674910732988721241467237518525227025751071243962919863089161547090520111707152418832940573962099688993820904087239321452548954028408367650159756162991317488735652908539325007833607004366944973099705733698291055409604191856973304411908890691192729084313557613909991404352678631615819993862425858567174904538115680373891453575268211766837712062516556657782372579742694349163516380855305334154716562194759205671891723667000460624289779463889198862975788401280271325739453957694946206880689015219768484501374844570077523154780101825886071910217074898695553996161010680824962289324484225256850350712904292148614769744128914905576800960900357271538613117275179513076347920204737403458534321318356519039166564023530140172550688123647846797955839423958807573442667998076506919032091989580002079614485665263066559321469955323245290152395677067570361980530179455888089830356788667311435327230563546956327057369087270952109001830576068723055467136988347777404783906243736478783369935576200998940256102363471217869164745914207 80719896426841738813362330046105201963445139300174540975582675745254152601911833717601296341706449862713893780213532177700656290623098383784531196992498497951294764832778009178104987872739137691058843471403528354886403367657184180333664007144745046796178432816460618338306801861069554425372952532378791501480602061804473672009831518588444016774189980640907511905028297710892676742626914507470665606715819167277082220740705691978807474766074850254830759865914493970759132211535864938898534623272533917243499958077787828774926358898980038417369086293864837024854109096023574659048076218371354170074543851313861368076545103738265361309184574656395626569174315552141939507137303527251535754630154304489341682406823062816640266222788058880357036785947270621749877893841203175470694689242430341038018573336148589096769691088526012912847296092293446398191294549136426932144140452917262838917301907645974004250192322963039973980252351036685941183020635967132056413351104281986465259430519855071378009829006381027874513055665365090509034153018380723889975361853431136922617611025082401446836682640685361358875930232978196543084213256685924674895222467144515088125154238907975532469935185651042952953179231811029324257657828704537090204333755353836697017565223201148552326390219269866905626449112457006391407503388052111149680840817923274842270676650978372847006918032033454536554555288424688597262961097430790517778542036329517211718661143211280841252346696157914866651046197278080640191289549766293404177509544447212949377992552837410777700279246320799731415886470656741036203832134414104700586004780477091112722594737739152925833216147800426490709124736610877348154498733637180474099707767773791932864898122832773121299276222814043559722041464933488752195575133794336865972096451405374894120456927008441387591051667906114434912751459825431036365100432993607982510389608144114014395447960802867060349416702078809433029918022813842470292886230963745920618091563170290642708666050155706764594199887651153618144712606704678264862769037431307611307341772014477643910439659310847503251263064988438254532776096427904472498211638702626153904115456910489332145670211188248782579526579074743664896544814572041596184648534554957263377304673620906653006742463598738528865010431704791773382253808240217466212011299352611224133880060214525516670615260995375607446918212358459041408515668565918315883953993303004437542554822711973969585732526110464409215211221929098581445693952120021797229532507941892639416651344921118138509541552473247485397468582531451286682840312876700589742333840411118750880715927149960046313744555747551842198133880537075362450055850447907399284160066657240678086473011 130607535987001123375135495501263603614277902404407791243811341318364633421467671510789369760476142927255611917440718323903996473281430092207944788994841673017124274258593223397986999526774616004824857699304036511948003729617184076830410999853856972560401815386672298410457747204499467813578544843842850514784198352742461858013609816646791019204877553002958339923071110770754427958903939336726171735368199019159906263060334420763422021032922215318732068612584668221456298081193736234309077120344903583954151322857659862996788854014142397168932595168786899853714771341240704104148329030913092091498113240057403880209040528456359222487932630357446380767918502329904628852013390023118973121294080724130219630743464903072851582758612074106483380317707039594427703320403505323907444243196512200341589107470160366273457037459765415235616706648654240322130435224723369926886133676872135036963612689269841702529127116951762521442146362773557580909453377898327927648065141083255959734621839496073987558915062189589879626493965595295996010496602662465447616323688129932679614630905212497662086799669070505240047592177547387855649057930101542554252662386079122229222441674303425994407306098616406829554272821895774713733906093072457496262193776215841714204198514834393111855112204933934262236263199901360023974652778777419245332902874727952116555208686166551113326298787623793665288025847723896732559946232833585882239635308481229677950570035388870191642746646968816405465812858900215277869271147264067668253151228548396944005400177448750616486550376797757325541254930499333863613407219878949306975924485140042994182479272545875806995532947208471415024534936800683647414173644370169195341175005292317159890649194076736041162365384361134079833748617352321692769537233483330686876183690726827443074485335376091547347214659223603170565659999150438869972104799938581082216123306435169423999639817776171472258307393271538517343475636723833874645564862579565914480517421737465547246781730529598218169468099417991330207229163362460637442511731780471127688197077348632360472634418516519394974930065449062544312239985626767448286612918973951893358073151856696212834685430956733283954371149152266819676646640458113506401723433250511259538315354445868942331226688855588879577914723853406543126382723145794267172911656624149837251155239727601864590819998398834141768236568877498207972539198706090866572077641149802393381978781519547412253730602617383441307200801931178195931359215186581118699487831187182791812328412491480119039721008361337315754257249842886613913403859833027647111421111363227752711291995873015513450732903524956626104377617015858732385632051446847655386523537875109842832387218 211327432413842862188497825547368805577723041704582332219394017063618786023379505228390666102182592789969505697654250501604652763904528475992475985987340170968419039091371232576091987399513753695883701170707564866834407097274368257164075006998602019356580248203132916748764549065569022238951497376221642016264800414546935530023441335235235035979067533643865851828099408481647104701530853844196837342084018186436988483801040112742229495798997065573562828478499162192215430292729601173207611743617437501197651280935447691771715212913122435586301681462651736878568880437264278763196405249284446261572657091371265248285585632194624583797117205013842007337092817882046568359150693550370508875924235028619561313150287965889491848981400132986840417103654310216177581214244708499378138932438942541379607680806308955370226728548291428148464002740947686720321729773859796859030274129789397875880914596915815706779319439914802495422398713810243522092474013865459984061416245365242424994052359351145365568744068570617754139549630960386505044649621043189337591685541561069602232241930294899108923482309755866598923522410525584398733271186787467229147884853223637317347595913211401526877241284267449782507452053706804037991563921776994586466527531569678411221763738035541664181502424203801167862712312358366415382156166829530395013743692651226958825885337144923960333216819657248201842581136148585329822907330264376400018177344810746889669231178600151032895093343126731272116859056178295918060560697030361072430660772995609893383392730286161394186829623118557056957141401156074899817239354293054007561929265617134106905074010285028732828749095008897905733659673411560995568672378007349669440882773066109092755547316909509162461641607175177639555790082285810444965112367277667552848280142132202337194942262384532934938266327129717605478411458975869906337205232932189064726512914579283438395087778579038532607724095350347950373393659537676344938451093543311835098608984907756189955447780685304982763667987069144948351941770067138902305280769211778738995538849363110004383074077827366898226193130437500798845016082054671920784824557676578047262188608767185544980355642144982066533897728227010484573191455030155102586371967805468522915620028066775595337969152454327408442925155558198316508636531386011733384922955976761061385035299942127381261435259394209749215154781235957249381054867272009182456031634452806830924533604231521381839463128727847850522412023860276777377053167306602915929020339129075431228979757412598257549262560834584801151725832374337900596244172709728236853754951774346503592007923022975559764477459272508468302511497552934094835687901894755054670683604532350520918860229 341934968400843985563633321048632409192000944108990123463205358381983419444847176739180035862658735717225117615094968825508649237185958568200420774982181843985543313349964455974078986926288369700708558870011601378782410826891552333994486006852458991916982063589805215159222296270068490052530042220064492531048998767289397388037051151882026055183945086646824191751170519252401532660434793180923009077452217205596894746861374533505651516831919280892294897091083830413671728373923337407516688863962341085151802603793107554768504066927264832755234276631438636732283651778504982867344734280197538353070770331428669128494626160650983806285049835371288388105011320211951197211164083573489481997218315752749780943893752868962343431740012207093323797421361349810605284534648213823285583175635454741721196788276469321643683766008056843384080709389601927042452164998583166785916407806661532912844527286185657409308446556866565016864545076583801103001927391763787911709481386448498384728674198847219353127659130760207633766043596555682501055146223705654785208009229691002281846872835507396771010281978826371838971114588072972254382329116889009783400547239302759546570037587514827521284547382883856612061724875602578751725470014849452082728721307785520125425962252869934776036614629137735430098975512259726439356808945606949640346646567379179075381094023311475073659515607281041867130606983872482062382853563097962282257812653291976567619801213989021224537839990095547677582671915078511195929831844294428740683812001544006837388792907734912010673379999916314382498396331655408763430646574172003314537853750757177101087553282830904539824282042217369320758194610212244642982846022377518864782057778358426252646196510986245203624006991536311719389538699638132137734649600760998239724463832859029780269427597760624482285480986353320776044071458126308776309310032870770146942636221014452862394727596355210004866031488621886467716869296261510219584015956122877749579126406645221737202229511214903200933136086487136278559170933429599539747792500992249866683735926711742364855708496343886293201123195886563343157256067681439369071437476650529940620261760623881757815041073101715350488268877379277304249838095488268608988095401055979782453935382512644537669195841309916288020839879411604859635019254531806000557834612600910898636190539669729245852255257793043890983391350113455457353594065978100049028109275602609224306512385751068794093193731345231291829612825791454973308412382493184034628508170316258223041308169904078376588983569195922116905983082217224514509648032542755883965176063137574256303299918895991073215210362797465094406889114568792827221319953341602710057207142407460363751247447 553262400814686847752131146596001214769723985813572455682599375445602205468226681967570701964841328507194623312749219327113302001090487044192896760969522014953962352441335688550170974325802123396592260040719166245616817924165920591158561013851061011273562311792938131907986845335637512291481539596286134547313799181836332918060492487117261091163012620290690043579269927734048637361965647025119846419536235392033883230662414646247881012630916346465857725569582992605887158666652938580724300607579778586349453884728555246540219279840387268341535958094090373610852532215769261630541139529481984614643427422799934376780211792845608390082167040385130395442104138093997765570314777123859990873142550781369342257044040834851835280721412340080164214525015660026782865748892922322663722108074397283100804469082778277013910494556348271532544712130549613762773894772442963644946681936450930788725441883101473116087765996781367512286943790394044625094401405629247895770897631813740809722726558198364718696403199330825387905593227516069006099795844748844122799694771252071884079114765802295879933764288582238437894636998598556653115600303676477012548432092526396863917633500726229048161788667151306394569176929309382789717033936626446669195248839355198536647725990905476440218117053341536597961687824618092854738965112436480035360390260030406034206979360456399033992732426938290068973188120021067392205760893362338682275989998102723457289032392589172257432933333222278949699530971256807113990392541324789813114472774539616730772185638021073404860209623034871439455537732811483663247885928465057322099783016374311207992627293115933272653031137226267226491854283623805638551518400384868534222940551424535345401743827895754366085648598711489358945328781923942582699761968038665792572743974991232117464369860145157417223747313483038381522482917102178682646515265802959211669149135593736300789815374934248537473755583972234418090262955799186564522467049666189584677735391552977927157677291900208183696804073556281226911112703496738442053073270204028605679274776074852369238782574171253191427316326324064142002272149736111289856262034327107987882450369391067302795396715246697417022166605606287788823029550518423711574467368861448305369555410579420133007164993764243696463765034969803176143655785917817733942757568577671960021225839611856627113690517187253640198546131349412706734648933250109231484140910055416055231045989982590175932656860073079142352024849651731750685465549799786950557528509445333654270287927316676634138246130030506918057708914591562415105892205252484120818931014911920759895307841918966632979687822069973562709400612121726922057007855236357764727890746939810884670107676 895197369215530833315764467644633623961724929922562579145804733827585624913073858706750737827500064224419740927844188152621951238276445612393317535951703858939505665791300144524249961252090493097300818910730767624399228751057472925153047020703520003190544375382743347067209141605706002344011581816350627078362797949125730306097543638999287146346957706937514235330440446986450170022400440206042855496988452597630777977523789179753532529462835627358152622660666823019558887040576275988240989471542119671501256488521662801308723346767652101096770234725529010343136183994274244497885873809679522967714197754228603505274837953496592196367216875756418783547115458305948962781478860697349472870360866534119123200937793703814178712461424547173488011946377009837388150283541136145949305283709852024822001257359247598657594260564405114916625421520151540805226059771026130430863089743112463701569969169287130525396212553647932529151488866977845728096328797393035807480379018262239194451400757045584071824062330091033021671636824071751507154942068454498908007704000943074165925987601309692650944046267408610276865751586671528907497929420565486795948979331829156410487671088241056569446336050035163006630901804911961541442503951475898751923970147140718662073688243775411216254731682479272028060663336877819294095774058043429675707036827409585109588073383767874107652248034219331936103795103893549454588614456460300964533802651394700024908833606578193481970773323317826627282202886335318309920224385619218553798284776083623568160978545755985415533589622951185821953934064466892426678532502637060636637636767131488309080180575946837812477313179443636547250048893836050281534364422762387399004998329782961598047940338881999569709655590247801078334867481562074720434411568799664032297207807850261897733797457905781899509228299836359157566554375228487458955825298673729358611785356608189163184542971289458542339787072594120885807132252060696784106483005789067334256861798198199664359906803115111384629940160043417505470283636926337981800865771196278472363010702786594734094491070515139484628439522210627485159528217417550658927699510977637928502712130014949060610437788348412767510435482985565093072867646006692320562562769917428087823490793092064670676360835074159984484604914381408035778675040449623734500592181178582858657416379281585872965945774980297531181937481462868164088242999228209280512250185658025279537558375733658970025850591418310434181637675443186723993877932292970985186036679761591877311596097220755010727229699226429034963691996808786929615540237795240004784107078049495016198607760814957706194898184867438657116289726690519749278327808577960474785097889347271248421355123 1448459770030217681067895614240634838731448915736135034828404109273187830381300540674321439792341392731614364240593407479735253239366932656586214296921225873893468018232635833074420935577892616493893078951449933870016046675223393516311608034554581014464106687175681478975195986941343514635493121412636761625676597130962063224158036126116548237509970327228204278909710374720498807384366087231162701916524687989664661208186203826001413542093751973824010348230249815625446045707229214568965290079121898257850710373250218047848942626608039369438306192819619383953988716210043506128427013339161507582357625177028537882055049746342200586449383916141549178989219596399946728351793637821209463743503417315488465457981834538666013993182836887253652226471392669864171016032434058468613027391784249307922805726442025875671504755120753386449170133650701154567999954543469094075809771679563394490295411052388603641483978550429300041438432657371890353190730203022283703251276650075980004174127315243948790520465529421858409577230051587820513254737913203343030807398772195146050005102367111988530877810555990848714760388585270085560613529724241963808497411424355553274405304588967285617608124717186469401200078734221344331159537888102345421119218986495917198721414234680887656472848735820808626022351161495912148834739170479909711067427087439991143795052744224273141644980461157622005076983223914616846794375349822639646809792649497423482197865999167365739403706656540105576981733857592125423910616926944008366912757550623240298933164183777058820393799245986057261409471797278376089926418431102117958737419783505799517072807869062771085130344316669903773741903177459855920085882823147255933227938881207496943449684166777753935795304188959290437280196263486017303134173536838329824869951782841494015198167318050939316732975613319397539089037292330666141602340564476688570280934492201925463974358346223707079813542656566355303897395207859883348628950055455256918934597189751177591517584095015319568326744233599698732381396340423076423853939041400307078042285478861447103333273644686392676055755848534691627161800367153661948783961545304745916385162499406016363405834503595110184532602088591852881895897196525116032137030138778876393193046203671484803683525828838403680948369949351211211922330826367441468443349749756254818678642218893442500079636292167551171380483612812280870822891932478318511996391095713441334768604365716249145958507451491389576533662525094918474679343482092757935743565189206925531581884024537431644865475829256935953021400911400349344721432443047724125603038092961415776093915602733924339174586006937412219825690338812246671335335663814318239512988636287082133091462799 2343657139245748514383660081885268462693173845658697613974208843100773455294374399381072177619841456956034105168437595632357204477643378268979531832872929732832973684023935977598670896829983109591193897862180701494415275426280866441464655055258101017654651062558424826042405128547049516979504703228987388704039395080087793530255579765115835383856928034165718514240150821706948977406766527437205557413513140587295439185709993005754946071556587601182162970890916638645004932747805490557206279550664017929351966861771880849157665973375691470535076427545148394297124900204317750626312887148841030550071822931257141387329887699838792782816600791897967962536335054705895691133272498518558936613864283849607588658919628242480192705644261434427140238417769679701559166315975194614562332675494101332744806983801273474329099015685158501365795555170852695373226014314495224506672861422675858191865380221675734166880191104077232570589921524349736081287059000415319510731655668338219198625528072289532862344527859512891431248866875659572020409679981657841938815102773138220215931089968421681181821856823399458991626140171941614468111459144807450604446390756184709684892975677208342187054460767221632407830980539133305872602041839578244173043189133636635860795102478456298872727580418300080654083014498373731442930513228523339386774463914849576253383126127992147249297228495376953941180778327808166301382989806282940611343595300892123507106699605745559221374479979857932204263936743927443733830841312563226920711042326706863867094142729533044235927388868937243083363405861745268516604950933739178595375056550637287826152988445009608897607657496113540320991952071295906201620247245909643332232937210990458541497624505659753505504959779207091515615063745048092023568585105637993857167159590691755912931964775956721216242203913155756696655591667559153600558165863150417928892719848810114627158901317513165622153329729160476189704527459920580132735433061244324253191458987949377255877490898130430952956684393643116237851679977349414405654804812596585550405296181648041837427764715201532160684195370745319112321328584571212607711661056282383844887874629420965424016272291943522952043037571577417974968764842531808352699592908696304481016536996763549474359886663912563665432974863732619247701005866817065202943941930934837677336058598175028373045582067147848702562421094275149034911134931706527792508641281371466614306162741449908115984358042909700010715300200538105198673221414385728920929601868968517408893480121758186655592705528483364987985092908209136274336972680842964130387145171010910792292523363548882045369484191804850876941980065502766420613663472392278714298086525634353381512817922 3792116909275966195451555696125903301424622761394832648802612952373961285675674940055393617412182849687648469409031003112092457717010310925565746129794155606726441702256571810673091832407875726085086976813630635364431322101504259957776263089812682032118757749734106305017601115488393031614997824641624150329715992211049856754413615891232383621366898361393922793149861196427447784791132614668368259330037828576960100393896196831756359613650339575006173319121166454270450978455034705126171569629785916187202677235022098897006608599983730839973382620364767778251113616414361256754739900488002538132429448108285679269384937446180993369265984708039517141525554651105842419485066136339768400357367701165096054116901462781146206698827098321680792464889162349565730182348409253083175360067278350640667612710243299350000603770805911887814965688821553849941225968857964318582482633102239252682160791274064337808364169654506532612028354181721626434477789203437603213982932318414199202799655387533481652864993388934749840826096927247392533664417894861184969622501545333366265936192335533669712699667379390307706386528757211700028724988869049414412943802180540262959298280266175627804662585484408101809031059273354650203761579727680589594162408120132553059516516713137186529200429154120889280105365659869643591765252399003249097841891002289567397178178872216420390942208956534575946257761551722783148177365156105580258153387950389546989304565604912924960778186636398037781245670601519569157741458239507235287623799877330104166027306913310103056321188114923300344772877659023644606531369364841296554112476334143087343225796314072379982738001812783444094733855248755762121706130069056899265460876092197955484947308672437507441300263968166381952895260008534109326702758642476323682037111373533249928130132094007660532975179526475154235744628959889819742160506427627106499173654341012040091133259663736872701966872385726831493601922667780463481364383116699581172126056177700554847395074993145750521283428627242814970233076317772490829508743853996892628447581660509488940761038359887924836739951219280010739483128951724874556495622601587129761273037128826981787422106795538633136575639660169270856864662039056924384836623047475180874209583200435034278043412492750967346381344813083830459623336693184506671387291680691092496014700817068470873125218359315399873942904707087429905734026864184846304505032377084907949074767107166157261942865494401089587248962725633023673352564896478486856673167058175442940475364146295618300458181357740300941006493819609485619058405123890688255990183263972326568386438966282806384544070198742263096767670404315013091948999136206596953811075161921435514604280721 6135774048521714709835215778011171764117796607053530262776821795474734740970049339436465795032024306643682574577468598744449662194653689194545277962667085339559415386280507788271762729237858835676280874675811336858846597527785126399240918145070783049773408812292531131060006244035442548594502527870611539033755387291137650284669195656348219005223826395559641307390012018134396762197899142105573816743550969164255539579606189837511305685206927176188336290012083092915455911202840195683377849180449934116554644096793979746164274573359422310508459047909916172548238516618679007381052787636843568682501271039542820656714825146019786152082585499937485104061889705811738110618338634858327336971231985014703642775821091023626399404471359756107932703306932029267289348664384447697737692742772451973412419694044572824329702786491070389180761243992406545314451983172459543089155494524915110874026171495740071975244360758583765182618275706071362515764848203852922724714587986752418401425183459823014515209521248447641272074963802906964554074097876519026908437604318471586481867282303955350894521524202789766698012668929153314496836448013856865017390192936724972644191255943383969991717046251629734216862039812487956076363621567258833767205597253769188920311619191593485401928009572420969934188380158243375034695765627526588484616354917139143650561305000208567640239437451911529887438539879530949449560354962388520869496983251281670496411265210658484182152666616255969985509607345447012891572299552070462208334842204036968033121449642843147292248576983860543428136283520768913123136320298580475149487532884780375169378784759081988880345659308896984415725807320051668323326377314966542597693813303188414026444933178097260946805223747373473468510323753582201350271343748114317539204270964225005841062096869964381749217383439630910932400220627448973342718672290777524428066374189822154718292160981250038324120202114887307683306450127701043614099816177943905425317515165649932103272565891276181474240113020885931208084756295121905235163548666593478178852877842157530778188803075089456997424146590025329851804457536296087164207283657869513606160911758247947211438379087482156088618677231746688831833426881588732737536215956171485355226120197198583752403299156663531011814319676816449707324342560001571874331233611625930173350759415243499246170800426463248576505325801362578940645161795891374097013673658456374563380929848616065377927223537310789597964262926171128872025786310864215777602768927143960349368844268053804956050886886223665928991586727818621893395377804733652386377328434983237360678962329831688429913554390547113973709650469817779512562662608598875668109161687555788896117098643 9927890957797680905286771474137075065542419368448362911579434747848696026645724279491859412444207156331331043986499601856542119911664000120111024092461240946285857088537079598944854561645734561761367851489441972223277919629289386357017181234883465081892166562026637436077607359523835580209500352512235689363471379502187507039082811547580602626590724756953564100539873214561844546989031756773942076073588797741215639973502386669267665298857266751194509609133249547185906889657874900809549418810235850303757321331816078643170883173343153150481841668274683950799352133033040264135792688124846106814930719147828499926099762592200779521348570207977002245587444356917580530103404771198095737328599686179799696892722553804772606103298458077788725168196094378833019531012793700780913052810050802614080032404287872174330306557296982276995726932813960395255677952030423861671638127627154363556186962769804409783608530413090297794646629887792988950242637407290525938697520305166617604224838847356496168074514637382391112901060730154357087738515771380211878060105863804952747803474639489020607221191582180074404399197686365014525561436882906279430333995117265235603489536209559597796379631736037836025893099085842606280125201294939423361368005373901741979828135904730671931128438726541859214293745818113018626461018026529837582458245919428711047739483872424988031181646408446105833696301431253732597737720118494101127650371201671217485715830815571409142930853252654007766755277946966582049313757791577697495958642081367072199148756556153250348569765098783843772909161179792557729667689663421771703600009218923462512604581073154368863083661121680428510459662568807430445032507384023441863154689395386369511392241850534768388105487715539855421405583762116310676974102390590641221241382337758255769192228963972042282192562966106065168144849587338793084879178718404630927240028530834194809425420644986911026087074500614139176908372795481507095464199294643486597443571343350486950667640884421931995523541648128746178317832612894396064672292520590370807300459502667019718949841434977381834164097809305340591287586488020961720702906259456643367433948887074928998860485883020789225194316891915959688698088920645657122372839003646666229435703397633618030446711649414498358195664489900280166947679253186078545718525292317022669365460232311970119296018785778648450448230508450008846379188660076220401518706035541282512455696955782222639870089031711879185213225651804152545378351207342702634275935985319403289844208414349423256509068243963966869998080547428107512453782928624340642367511698955563929065401296114494814457624589289377070477320874132792604511661744805472621920236849477224410721379364 16063665006319395615121987252148246829660215975501893174356256543323430767615773618928325207476231462975013618563968200600991782106317689314656302055128326285845272474817587387216617290883593397437648726165253309082124517157074512756258099379954248131665575374319168567137613603559278128804002880382847228397226766793325157323752007203928821631814551152513205407929885232696241309186930898879515892817139766905471179553108576506778970984064193927382845899145332640101362800860715096492927267990685784420311965428610058389335157746702575460990300716184600123347590649651719271516845475761689675497431990187371320582814587738220565673431155707914487349649334062729318640721743406056423074299831671194503339668543644828399005507769817833896657871503026408100308879677178148478650745552823254587492452098332444998660009343788052666176488176806366940570129935202883404760793622152069474430213134265544481758852891171674062977264905593864351466007485611143448663412108291919036005650022307179510683284035885830032384976024533061321641812613647899238786497710182276539229670756943444371501742715784969841102411866615518329022397884896763144447724188053990208247680792152943567788096677987667570242755138898330562356488822862198257128573602627670930900139755096324157333056448298962829148482125976356393661156783654056426067074600836567854698300788872633555671421083860357635721134841310784682047298075080882621997147354452952887982127096026229893325083519868909977752264885292413594940886057343648159704293484285404040232270206198996397640818342082644387201045444700561470852804009962002246853087542103703837681983365832236357743429320430577412926185469888859098768358884698989984460848502698574783537837175028632029334910711462913328889915907515698512027245446138704958760445653301983261610254325833936424031409946405736976100545070214787766427597851009182155355306402720656349527717581626236949350207276615501446860214822923182550709564015472587392022761086509000419053940206775698113469763654669014677386402588908016301299835841187183848986153337344824550497138644510066838831588244399330670443092044024317048884910189917326156973594860645322876210298864970502945313812994123662648520531515802234389859909054959818151584661823594832201782850010806078029370009984166716729874272021813187650420049758903942952842716219647555469365466819212241897026953556309812587787024350455967594498532379693997657075836626804398288017797312569022668783177488577975281417404137518206918411878704912463363639213052682403228212559955130187632798989667275246729405849160733357993028744840133938801289744363625946183244371178979836491044186971343950572117074324353404348290029398537033013306838478007 25991555964117076520408758726285321895202635343950256085935691291172126794261497898420184619920438619306344662550467802457533902017981689434767326147589567232131129563354666986161471852529327959199016577654695281305402436786363899113275280614837713213557741936345806003215220963083113709013503232895082917760698146295512664362834818751509424258405275909466769508469758447258085856175962655653457968890728564646686819526610963176046636282921460678577355508278582187287269690518589997302476686800921634724069286760426137032506040920045728611472142384459284074146942782684759535652638163886535782312362709335199820508914350330421345194779725915891489595236778419646899170825148177254518811628431357374303036561266198633171611611068275911685383039699120786933328410689971849259563798362874057201572484502620317172990315901085034943172215109620327335825807887233307266432431749779223837986400097035348891542461421584764360771911535481657340416250123018433974602109628597085653609874861154536006851358550523212423497877085263215678729551129419279450664557816046081491977474231582933392108963907367149915506811064301883343547959321779669423878058183171255443851170328362503165584476309723705406268648237984173168636614024157137680489941608001572672879967891001054829264184887025504688362775871794469412287617801680586263649532846755996565746040272745058543702602730268803741554831142742038414645035795199376723124797725654624105467842926841801302468014373121563985519020163239380176990199815135225857200252126366771112431418962755149647989388107181428230973954605880354028582471699625424018556687551322627300194587946905390726606512981552257841436645132457666529213391392083013426324003192093961153049229416879166797723016199178453184311321491277814822704219548529295599981687035639741517379446554797908466313602509371843041268689919802126559512477029727586786282546431251490544337143002271223860376294351116115586037123195718664057805028214767230878620204657852350906004607847660120045465287196317143423564720421520910697364508133707774219793453796847491570216088485945044220665752342208636011034379630512338010605613096176782800341028809532397805209159350853523734539007311015578608209229604722880046982281893963464817814097526992465819813296722455492527728205648656617010041219701066373728965768284196259975512081679879867439484762837998020545477401786818262596633403539116043814900051085729538939588292323760180510657667401600734547968390714229779433962782488725549621046154640897782766929057261096752651469069023374151599668987747822674836918302943661982333671112351832894365218809764922060678058828803569125868114664292218083364721585986098209820911949635386510237717559857371 42055220970436472135530745978433568724862851319452149260291947834495557561877271517348509827396670082281358281114436003058525684124299378749423628202717893517976402038172254373378089143412921356636665303819948590387526953943438411869533379994791961345223317310664974570352834566642391837817506113277930146157924913088837821686586825955438245890219827061979974916399643679954327165362893554532973861707868331552157999079719539682825607266985654605960201407423914827388632491379305093795403954791607419144381252189036195421841198666748304072462443100643884197494533432336478807169483639648225457809794699522571141091728938068641910868210881623805976944886112482376217811546891583310941885928263028568806376229809843461570617118838093745582040911202147195033637290367149997738214543915697311789064936600952762171650325244873087609348703286426694276395937822436190671193225371931293312416613231300893373301314312756438423749176441075521691882257608629577423265521736889004689615524883461715517534642586409042455882853109796277000371363743067178689451055526228358031207144988526377763610706623152119756609222930917401672570357206676432568325782371225245652098851120515446733372572987711372976511403376882503730993102847019335937618515210629243603780107646097378986597241335324467517511257997770825805948774585334642689716607447592564420444341061617692099374023814129161377275965984052823096692333870280259345121945080107576993449970022868031195793097892990473963271285048531793771931085872478874016904545610652175152663689168954146045630206449264072618175000050580915499435275709587426265409775093426331137876571312737627084349942301982835254362830602346525627981750276782003410784851694792535936587066591907798827057926910641366513201237398793513334731464994668000558742132688941724778989700880631844890345012455777580017369234990016914325940074880736768941637852833972146893864860583897460809726501627731617032897338018641846608514592230239818270642965744361351325058548054435818158935050850986158100951123010428926998664343974894958068779607134192316120713227130455111059497340586607966681477471674536655059490523286094108957314623670177720681419458215824026679852820305139241256729761120525114436842190948923282969398759350587298021596146733261570557098215632823333739915491722879561379385818043100202928354797899527422908850229657210262442504355343128075184420427889572011409398583465423536596664128950564578798675464714169757216751568202807754715380186626243756539458033345810246130568270313779155879681628978504339232467977415097921566324152104395340326699857191966833166508554128548006861303199982548962359158851263562033936838660310451614169201979033923543251024398335378 68046776934553548655939504704718890620065486663402405346227639125667684356138769415768694447317108701587702943664903805516059586142281068184190954350307460750107531601526921359539560995942249315835681881474643871692929390729802310982808660609629674558781059247010780573568055529725505546831009346173013063918623059384350486049421644706947670148625102971446744424869402127212413021538856210186431830598596896198844818606330502858872243549907115284537556915702497014675902181897895091097880641592529053868450538949462332454347239586794032683934585485103168271641476215021238342822121803534761240122157408857770961600643288399063256062990607539697466540122890902023116982372039760565460697556694385943109412791076042094742228729906369657267423950901267981966965701057121846997778342278571368990637421103573079344640641145958122552520918396047021612221745709669497937625657121710517150403013328336242264843775734341202784521087976557179032298507731648011397867631365486090343225399744616251524386001136932254879380730195059492679100914872486458140115613342274439523184619220109311155719670530519269672116033995219285016118316528456101992203840554396501095950021448877949898957049297435078382780051614866676899629716871176473618108456818630816276660075537098433815861426222349972205874033869565295218236392387015228953366140294348560986190381334362750643076626544397965118830797126794861511337369665479636068246742805762201098917812949709832498261112266112037948790305211771173948921285687614099874104797737018946265095108131709295693619594556445500849148954656461269528017747409212850283966462644748958438071159259643017810956455283535093095799475734804192157195141668865016837108854886886497089636296008786965624780943109819819697512558890071328157435684543197296158723819724581466296369147435429753356658614965149423058637924909819040885452551910464355727920399265223637438202003586168684670102795978847732618934461214360510666319620445007049149263170402213702231063155902095938204400338047303301524515843431949837696028852108602732288573060931039807690929315616400155280163092928816602692511851305048993070096136382270891757655652479710118486628617566677550414391827616154819864938990725247994483824472842886747787212856877579763841409443455717063084826421281479950749956711423945935108351586327296462903866879579407290348334992495208282987981757129946337781053831428688055224298634551153075536252421274324759309333132115770491764719958917037534149342969114969306160504187986708028897497327574875908531150698001878490832136965162920596403242455048057322660370969543799727531727363893470067539362028786118088227273515555780117301560246296549823990113928669310053488741958192749 110101997904990020791470250683152459344928337982854554606519586960163241918016040933117204274713778783869061224779339808574585270266580446933614582553025354268083933639699175732917650139355170672472347185294592462080456344673240722852342040604421635904004376557675755143920890096367897384648515459450943210076547972473188307736008470662385916038844930033426719341269045807166740186901749764719405692306465227751002817686050042541697850816892769890497758323126411842064534673277200184893284596384136473012831791138498527876188438253542336756397028585747052469136009647357717149991605443182986697931952108380342102692372226467705166931201489163503443485009003384399334793918931343876402583484957414511915789020885885556312845848744463402849464862103415177000602991424271844735992886194268680779702357704525841516290966390831210161869621682473715888617683532105688608818882493641810462819626559637135638145090047097641208270264417632700724180765340277588821133153102375095032840924628077967041920643723341297335263583304855769679472278615553636829566668868502797554391764208635688919330377153671389428725256926136686688688673735132534560529622925621746748048872569393396632329622285146451359291454991749180630622819718195809555726972029260059880440183183195812802458667557674439723385291867336121024185166972349871643082747741941125406634722395980442742450650358527126496106763110847684608029703535759895413368687885869778092367782972577863694054210159102511912061590260302967720852371560092973891009343347671121417758797300663441739249801005709573467323954707042185027453023118800276549376237738175289575947730572380644895306397585517928350162306337150717785176891945647020247893706581679033026223362600694764451838870020461186210713796288864841492167149537865296717465952413523191075358848316061598247003627420927003076007159899835955211392626791201124669558252099195784332066864170066145479829297606579349651831799233002357274834212675246867419906136146575053556121703956531756363335388898289459625466966442378764694693196083497690357352668065232123811642542746855266339660433515424569373989322979585648129586659668365000714970276149887839168048075782501577094244647921294061121668751845773108920666663791810030756611616228167061863005590188978633641924636914303284489872203146825496487737404370396665832221677478934713257185222152418545430486112473074412965474259318260066633697218016576612132916550224889338108008596829940248981471527119845288864723155741213062699962221332518275028065597888655064410832326980382830064604942578018517969566607152452662987070826735766560698235918022018074400665228768667050586432366819342151238398906607001438159315907703233596739766356528127 178148774839543569447409755387871349964993824646256959952747226085830926274154810348885898722030887485456764168444243614090644856408861515117805536903332815018191465241226097092457211135297419988308029066769236333773385735403043033835150701214051310462785435804686535717488945626093402931479524805623956273995171031857538793785430115369333586187470033004873463766138447934379153208440605974905837522905062123949847636292380545400570094366799885175035315238828908856740436855175095275991165237976665526881282330087960860330535677840336369440331614070850220740777485862378955492813727246717747938054109517238113064293015514866768422994192096703200910025131894286422451776290971104441863281041651800455025201811961927651055074578650833060116888813004683158967568692481393691733771228472840049770339778808098920860931607536789332714390540078520737500839429241775186546444539615352327613222639887973377902988865781438843992791352394189879756479273071925600219000784467861185376066324372694218566306644860273552214644313499915262358573193488040094969682282210777237077576383428745000075050047684190659100841290921355971704806990263588636552733463480018247843998894018271346531286671582581529742071506606615857530252536589372283173835428847890876157100258720294246618320093780024411929259325736901416242421559359365100596448888036289686392825103730343193385527276902925091614937560237642546119367073201239531481615430691631979191285595922287696192315322425214549860851895472074141669773657247707073765114141084690067682853905432372737432869395562155074316472909363503454555470770528013126833342700382924248014018889832023662706262852869053021445961782071954909942372033614512037085002561468565530115859658609481730076619813130281005908226355178936169649602834081062592876189772138104657371727995751491351603662242386076426134645084809654996096845178701665480397478651364419421770268867756234830149932093585427082270766260447362867941153833120253916569169306548788755787184859858627694567735726945592761149982809874328602390722048192100422645925728996271931502571858363255421619823526444241172066501174284634641199682796050635892472625928629597957654676693349179127508636475537448880986607742571021103404491136634696778543824473105746825704415033644695696726751058195783235239828914570771431596088990697693128736088557058342003605520214647626828418467869603020750746528090746948121857995852567729687669168971499214097417341728945710740746191486036882823014066124856182368860466409319226303925562925463530972941983024982261320896741907740939114372809062200509985647441796279566288229963281915488141940027257554785138813705882375122268539959152903551262149429836372543650228508314720876 288250772744533590238880006071023809309922162629111514559266813045994168192170851282003102996744666269325825393223583422665230126675441962051420119456358169286275398880925272825374861274652590660780376252063828795853842080076283756687492741818472946366789812362362290861409835722461300316128040265074899484071719004330727101521438586031719502226314963038300183107407493741545893395342355739625243215211527351700850453978430587942267945183692655065533073561955320698804971528452295460884449834360801999894114121226459388206724116093878706196728642656597273209913495509736672642805332689900734635986061625618455166985387741334473589925393585866704353510140897670821786570209902448318265864526609214966940990832847813207367920427395296462966353675108098335968171683905665536469764114667108730550042136512624762377222573927620542876260161760994453389457112773880875155263422108994138076042266447610513541133955828536485201061616811822580480660038412203189040133937570236280408907249000772185608227288583614849549907896804771032038045472103593731799248951079280034631968147637380688994380424837862048529566547847492658393495663998721171113263086405639994592047766587664743163616293867727981101362961598365038160875356307568092729562400877150936037540441903490059420778761337698851652644617604237537266606726331714972239531635778230811799459826126323636127977927261452218111044323348490230727396776736999426894984118577501757283653378894865559886369532584317061772913485732377109390626028807800047656123484432361189100612702733036179172119196567864647783796864070545639582923793646813403382718938121099537589966620404404307601569250454570949796124088409105627727548925560159057332896268050244563142083021210176494528458683150742192118940151467801011141769983618927889593655724551627848447086844067552949850665869807003429210652244709490951308237805492866605067036903463615206102335731926300975629761391192006431922598059680365225215988045795500783989075442695363809343306563815159450931071115843882220775449776316707367085415244275598113003278397061504055314214401110110687959483959959665741440490497264220289329269455719000893187596204779485796822724769131680704602881123458742942108276494416794212325157800426506809300436089333913887567420623833674330368675695110086519729701117717596928083826395068089794568310234537276716862705436800045373848953982076095163712002350065208188491693070584306299802085521724103435525350325775650989727663013156728111878789280597395431560428630651744578953628523352186037352815351962644150961346850318957632342375669352962648634512623015332848928199199937506216340692486323452189400138249194464419778358059510552700308745744075777246968274671249003 466399547584077159686289761458895159274915987275368474512014039131825094466325661630889001718775553754782589561667827036755874983084303477169225656359690984304466864122151369917832072409950010649088405318833065129627227815479326790522643443032524256829575248167048826578898781348554703247607565070698855758066890036188265895306868701401053088413784996043173646873545941675925046603782961714531080738116589475650698090270811133342838039550492540240568388800784229555545408383627390736875615072337467526775396451314420248537259793934215075637060256727447493950690981372115628135619059936618482574040171142856568231278403256201242012919585682569905263535272791957244238346500873552760129145568261015421966192644809740858422995006046129523083242488112781494935740376387059228203535343139948780320381915320723683238154181464409875590650701839515190890296542015656061701707961724346465689264906335583891444122821609975329193852969206012460237139311484128789259134722038097465784973573373466404174533933443888401764552210304686294396618665591633826768931233290057271709544531066125689069430472522052707630407838768848630098302654262309807665996549885658242436046660605936089694902965450309510843434468204980895691127892896940375903397829725041812194640700623784306039098855117723263581903943341138953509028285691080072835980523814520498192284929856666829513505204164377309725981883586132776846763849938238958376599549269133736474938974817153256078684855009531611633765381204451251060399686055507121421237625517051256783466608165408916604988592130019722100269773434049094138394564174826530216061638504023785603985510236427970307832103323623971242085870481060537669920959174671094417898829518810093257942679819658224605078496281023198027166506646737180791372817699990482469845496689732505818814839819044301454328112193079855345297329519145947405082984194532085464515554828034627872604599682535805779693484777433514193364320127728093157141878915754700558244749244152565130491423673787145498806842789474981925432586191035969476137292467698535649204126057775986816786259473366109579307486403906913506991671548854930528952251769636785660222133409083754477401462480859832111517598996191823094884236987815315729648937061203587844260562439660713271835657478370027095426753305869754969530032288368359679915385765782923304398791595618720468225651447672202267421851679115914458530440812156310349688923152035987471254493223317532942692054721361730473854499193610934892855405453577800420895039970970882879191448815717010294798376944905471858088758059896746715184731553472634281954419294899137158162481852994358280719743878237328213844131569586688318317212414103962458175580448320897196782985969879 754650320328610749925169767529918968584838149904479989071280852177819262658496512912892104715520220024108414954891410459421105109759745439220645775816049153590742263003076642743206933684602601309868781570896893925481069895555610547210136184850997203196365060529411117440308617071016003563735605335773755242138609040518992996828307287432772590640099959081473829980953435417470939999125317454156323953328116827351548544249241721285105984734185195306101462362739550254350379912079686197760064906698269526669510572540879636743983910028093781833788899384044767160604476881852300778424392626519217210026232768475023398263790997535715602844979268436609617045413689628066024916710776001078395010094870230388907183477657554065790915433441425986049596163220879830903912060292724764673299457807057510870424051833348445615376755392030418466910863600509644279753654789536936856971383833340603765307172783194404985256777438511814394914586017835040717799349896331978299268659608333746193880822374238589782761222027503251314460107109457326434664137695227558568180184369337306341512678703506378063810897359914756159974386616341288491798318261030978779259636291298237028094427193600832858519259318037491944797429803345933852003249204508468632960230602192748232181142527274365459877616455422115234548560945376490775635012022795045075512159592751309991744755982990465641483131425829527837026206934623007574160626675238385271583667846635493758592353712018815965054387593848673406678866936828360451025714863307169077361109949412445884079310898445095777107788697884369884066637504594733721318357821639933598780576625123323193952130640832277909401353778194921038209958890166165397469884734830151750795097569054656400025701029834719133537179431765390146106658114538191933142801318918372063501221241360354265901683886597251304993982000083284555949574228636898713320789687398690531552458291649833974940331608836781409454875969439946115962379808093318373129924711255484547320191939516374473797987488946596429877958633357202700882362507743336561552536743296648652482523119280042131000660583476797538791446363572654947482168813075219858221707488637678847818338188569551300126231612540536714398722454934765203160731404609528054806737487710397144696651773574600839256281312044357464102448415956274699231150005965287763741780833872717872709026132895437330931088247717576116375833755211078170532790877364498841381993736342287273340014947420968468042380497012720201517512350339046771644686050973231981323670622715461832819972167903047647613728907549622819435608378854379057560400906435282916467042310231986086361681790500574621412230201689517613982380764051108096675271924656662766921324524098144165057657218882 1221049867912687909611459528988814127859754137179848463583294891309644357124822174543781106434295773778891004516559237496176980092844048916389871432175740137895209127125228012661039006094552611958957186889729959055108297711034937337732779627883521460025940308696459944019207398419570706811343170406472611000205499076707258892135175988833825679053884955124647476854499377093395986602908279168687404691444706303002246634520052854627944024284677735546669851163523779809895788295707076934635679979035737053444907023855299885281243703962308857470849156111492261111295458253967928914043452563137699784066403911331591629542194253736957615764564951006514880580686481585310263263211649553838524155663131245810873376122467294924213910439487555509132838651333661325839652436679783992876834800947006291190805967154072128853530936856440294057561565440024835170050196805192998558679345557687069454572079118778296429379599048487143588767555223847500954938661380460767558403381646431211978854395747704993957295155471391653079012317414143620831282803286861385337111417659394578051057209769632067133241369881967463790382225385189918590100972523340786445256186176956479464141087799536922553422224768347002788231898008326829543131142101448844536358060327234560426821843151058671498976471573145378816452504286515444284663297713875117911492683407271808184029685839657295154988335590206837563008090520755784420924476613477343648183217115769230233531328529172072043739242603380285040444248141279611511425400918814290498598735466463702667545919063854012382096380827904091984336410938643827859712921996466463814842215129147108797937640877260248217233457101818892280295829371226703067390843909501246168693927087864749657968380849492943738615675712788588173273164761275372724515619018908854533346717931092860084716523705641552759322094193163139901246903747782846118403773881930775996068013119684461847544931291372587189148360746873460309326699935821411530271803627010185105564941183668939604289411162733741928684801422832184626314948698779306037689829210995184301686649177056028947786920056842907118098932767479568454473840361930150387173959258274464508040471597653305777527694093400368825916321451126588298044968392424843784455674548913984988957214213235314111091938790414384559529201721826029668761182294333647443657166599655641177107817728514157799156739695389778383797685434326992629063231689520809191070916888378274744594508170738501410734435218374450675372011543949981664500091504551032402218710593686344712011420983620057942412105852455094677524366438751125772745132459907917198421461605131123244524163643494932902131974079926845827826512333637796414992484338760625225096904972419041361840643188761 1975700188241298659536629296518733096444592287084328452654575743487463619783318687456673211149815993802999419471450647955598085202603794355610517207991789291485951390128304655404245939779155213268825968460626852980589367606590547884942915812734518663222305369225871061459516015490586710375078775742246366242344108117226251888963483276266598269693984914206121306835452812510866926602033596622843728644772823130353795178769294575913050009018862930852771313526263330064246168207786763132395744885734006580114417596396179522025227613990402639304638055495537028271899935135820229692467845189656916994092636679806615027805985251272673218609544219443124497626100171213376288179922425554916919165758001476199780559600124848990004825872928981495182434814554541156743564496972508757550134258754063802061230018987420574468907692248470712524472429040534479449803851594729935415650729391027673219879251901972701414636376486998957983682141241682541672738011276792745857672041254764958172735218121943583740056377498894904393472424523600947265946940982088943905291602028731884392569888473138445197052267241882219950356612001531207081899290784371765224515822468254716492235514993137755411941484086384494733029327811672763395134391305957313169318290929427308659002985678333036958854088028567494051001065231891935060298309736670162987004843000023118175774441822647760796471467016036365400034297455378791995085103288715728919766884962404723992123682241190888008793630197228958447123115078107971962451115782121459575959845415876148551625229962299108159204169525788461868403048443238561581031279818106397413622791754270431991889771518092526126634810880013813318505788261392868464860728644331397919489024656919406057994081879327662872152855144553978319379822875813564657658420337827226596847939172453214350618207592238804064316076193246424457196477976419744831724563569329466527620471411334295822485262900209368598603236716313406425289079743914729903401728338265669652885133123185314078087398651680338358562760056189387327197311206522642599242365954291832954169172296336071078787580640319704656890379131052223401956009175005370245395666746912143355858809786222857077653925705940905540315043906061353501205699797034371839262412036624382133653865986809914950348220102458742023631650137782304367992332300298935207398947433528359049816843861409595130087827943107354500173519189538070799596022566885308032452910624720562017934523118159469878776815715387170876889523894289028436144777555524264383542381216401806544831393151523105590025834760004717496959974817605504830305533366343200114888503915363109330885845433995507523544204281616363441808893097688904511667756263417287992018229496517185526898300407643 3196750056153986569148088825507547224304346424264176916237870634797107976908140862000454317584111767581890423988009885451775065295447843272000388640167529429381160517253532668065284945873707825227783155350356812035697665317625485222675695440618040123248245677922331005478723413910157417186421946148718977242549607193933510781098659265100423948747869869330768783689952189604262913204941875791531133336217529433356041813289347430540994033303540666399441164689787109874141956503493840067031424864769743633559324620251479407306471317952711496775487211607029289383195393389788158606511297752794616778159040591138206657348179505009630834374109170449639378206786652798686551443134075108755443321421132722010653935722592143914218736312416537004315273465888202482583216933652292750426969059701070093252035986141492703322438629104911006582033994480559314619854048399922933974330074948714742674451331020750997844015975535486101572449696465530042627676672657253513416075422901196170151589613869648577697351532970286557472484741937744568097229744268950329242403019688126462443627098242770512330293637123849683740738837386721125672000263307712551669772008645211195956376602792674677965363708854731497521261225819999592938265533407406157705676351256661869085824828829391708457830559601712872867453569518407379344961607450545280898497526407294926359804127662305055951459802606243202963042387976134576416009579902193072567950102078173954225655010770362960052532872800609243487567363219387583473876516700935750074558580882339851219171149026153120541300550353692553852739459381882389440744201814572861228465006883417540789827412395352774343868267981832705598801617632619571532251572553832644088182951744784155715962462728820606610768530857342566492652987637088937382174039356736081130194657103546074435334731297880356823638170386409564358443381724202590950128337451260242523688484531018757670030194191581955787751597463186866734615779679736141433673531965275854758450074306854253682376809814414080287247561479021571953512259905301948636932195165287017255855821473392100026574500697162611774989311898531791856429849536935520632569626005186607863899281383876162855181619799341274366231365357187941799250668189459215623718086585538367122611080200045229061440158892873126583160851859608334036753514594632582651056114033184000226924661589923752929244567638497132883971204623865063428659254256406117223523827513098836762529031288897971289511250933761621552261535438239010100644869060075296785761091810088151256842814135143163532437940612459812174484341256356630603050665826251117313309965520494232575410009077490440425676178361543209269635405431326700926660240602177913217115134468936226888738943596404 5172450244395285228684718122026280320748938711348505368892446378284571596691459549457127528733927761384889843459460533407373150498051637627610905848159318720867111907381837323469530885652863038496609123810983665016287032924216033107618611253352558786470551047148202066938239429400744127561500721890965343484893715311159762670062142541367022218441854783536890090525405002115129839806975472414374861980990352563709836992058642006454044042322403597252212478216050439938388124711280603199427169750503750213673742216647658929331698931943114136080125267102566317655095328525608388298979142942451533772251677270944821685154164756282304052983653389892763875832886824012062839623056500663672362487179134198210434495322716992904223562185345518499497708280442743639326781430624801507977103318455133895313266005128913277791346321353381719106506423521093794069657899994652869389980804339742415894330582922723699258652352022485059556131837707212584300414683934046259273747464155961128324324831991592161437407910469181461865957166461345515363176685251039273147694621716858346836196986715908957527345904365731903691095449388252332753899554092084316894287831113465912448612117785812433377305192941115992254290553631672356333399924713363470874994642186089177744827814507724745416684647630280366918454634750299314405259917187215443885502369407318044535578569484952816747931269622279568363076685431513368411094683190908801487716987040578678217778693011553848061326502997838201934690478297495555436327632483057209650518426298215999770796378988452228700504719879481015721142507825120951021775481632679258642087798637687972781717183913445300470503078861846518917307405894012439997112301198164042007671976401703561773956544608148269482921386001896544812032810512902502039832459694563307727042596275999288785952938890119160887954246579655988815639859700622335781852901020589709051308955942353053492515457091791324386354834179500273159904859423650871337075260303541524411335207430039567760464208466094418645810321535210959280709571111824591236174561119578850210024993769728171105362081337482316431879691029584015258385858711940890877965292752098751219758091170099019932835545505282179906546409263249295300456367986493587462980498622162749256264946186855144011788378995331868606792501997390638404745846894931517858455061466712359276741505451333348059332395581604487384144723813403134228255276823291425255976738137819398780463554407057441168288066649148792429151059332528038536789646615599561169303473026489957801674207286666269122463775372464529671444316073962135433356199192594317428198469435857341906295854511485947949220382643159572711444298529015605438327996865595201209133363965453412415637244004047 8369200300549271797832806947533827545053285135612682285130317013081679573599600411457581846318039528966780267447470418859148215793499480899611294488326848150248272424635369991534815831526570863724392279161340477051984698241841518330294306693970598909718796725070533072416962843310901544747922668039684320727443322505093273451160801806467446167189724652867658874215357191719392753011917348205905995317207881997065878805347989436995038075625944263651653642905837549812530081214774443266458594615273493847233066836899138336638170249895825632855612478709595607038290721915396546905490440695246150550410717862083028342502344261291934887357762560342403254039673476810749391066190575772427805808600266920221088431045309136818442298497762055503812981746330946121909998364277094258404072378156203988565301991270405981113784950458292725688540418001653108689511948394575803364310879288457158568781913943474697102668327557971161128581534172742626928091356591299772689822887057157298475914445861240739134759443439468019338441908399090083460406429519989602390097641404984809279824084958679469857639541489581587431834286774973458425899817399796868564059839758677108404988720578487111342668901795847489775551779451671949271665458120769628580670993442751046830652643337116453874515207231993239785908204268706693750221524637760724783999895814612970895382697147257872699391072228522771326119073407647944827104263093101874055667089118752632443433703781916808113859375798447445422257841516883138910204149183992959725077007180555850989967528014605349241805270233173569573881967207003340462519683447252119870552805521105513571544596308798074814371346843679224516109023526632011529363873751996686095854928146487717489919007336968876093689916859239111304685798149991439422006499051299388857237253379545363221287670187999517711592416966065553174083241424824926731981238471849951574997440473371811162545651283373280174106431642687139894520639103387012770748792268817379169785281736893821442841018280508498933057883014232531234221831017126539873106756284865867465880815243120271131936582034644928206869002928115807114815708248876411510534918757285359083657372553975182788017165304623454272777774620437237099707036175952803086698585207701116378876026386900373073228537888204995189953353856998972441499361489564100509511175499896359503666167041257100988576963220101620268115928437268197656914531079697542479500565650918235542992585695955412457799317582910413981412594770767048637434515675674857955064564836578109058517021421809432654901715984924341845928657330318766036406865018845434741508434956351574481705863588976388374896561004702781981079703960342306364988237467773114426248498434389639304376187600451 13541650544944557026517525069560107865802223846961187654022763391366251170291059960914709375051967290351670110906930952266521366291551118527222200336486166871115384332017207315004346717179433902221001402972324142068271731166057551437912917947323157696189347772218735139355202272711645672309423389930649664212337037816253036121222944347834468385631579436404548964740762193834522592818892820620280857298198234560775715797406631443449082117948347860903866121121887989750918205926055046465885764365777244060906809053546797265969869181838939768935737745812161924693386050441004935204469583637697684322662395133027850027656509017574238940341415950235167129872560300822812230689247076436100168295779401118431522926368026129722665860683107574003310690026773689761236779794901895766381175696611337883878567996399319258905131271811674444795046841522746902759169848389228672754291683628199574463112496866198396361320679580456220684713371879955211228506040525346031963570351213118426800239277852832900572167353908649481204399074860435598823583114771028875537792263121843156116021071674588427384985445855313491122929736163225791179799371491881185458347670872143020853600838364299544719974094736963482029842333083344305605065382834133099455665635628840224575480457844841199291199854862273606704362839019006008155481441824976168669502265221931015430961266632210689447322341850802339689195758839161313238198946284010675543384076159331310661212396793470656175185878796285647356948319814378694346531781667050169375595433478771850760763907003057577942309990112654585295024475032124291484295165079931378512640604158793486353261780222243375284874425705525743433416429420644451526476174950160728103526904548191279263875551945117145576611302861135656116718608662893941461838958745862696584279849655544652007240609078118678599546663545721541989723101125447262513834139492439660626306396415724864655061108375164604560461265822187413054425498527037884107824052572358903581120489166933389203305226746602917578868204549443490514931402128951131109281317404444717675905809012848442237298663372127244638748693957699822373201566960817302388500211509384110303415463724074202720852710809905634179324183883686532400163404162446390549679083829863865635140972573755517085016916883536863796745855854389610846245208384495618367966236966608718780407672492590449047909358801706107652260652250671331885169807902988967735477303788737634323456140103012853626087384232059206410563654103295087174224162291274419124368037863068066860191228708475701777365491357388871517372973404280901469763064211439752169706904392208916388001718100462336324116943647862354692524002489357911803316234333368315635381862399843051720013431604498 21910850845493828824350332017093935410855508982573869939153080404447930743890660372372291221370006819318450378354401371125669582085050599426833494824813015021363656756652577306539162548706004765945393682133664619120256429407899069768207224641293756605908144497289268211772165116022547217057346057970333984939780360321346309572383746154301914552821304089272207838956119385553915345830810168826186852615406116557841594602754620880444120193574292124555519764027725539563448287140829489732344358981050737908139875890445935602608039431734765401791350224521757531731676772356401482109960024332943834873073112995110878370158853278866173827699178510577570383912233777633561621755437652208527974104379668038652611357413335266541108159180869629507123671773104635883146778159178990024785248074767541872443869987669725240018916222269967170483587259524400011448681796783804476118602562916656733031894410809673093463989007138427381813294906052697838156597397116645804653393238270275725276153723714073639706926797348117500542840983259525682283989544291018477927889904526827965395845156633267897242624987344895078554764022938199249605699188891678054022407510630820129258589558942786656062642996532810971805394112535016254876730840954902728036336629071591271406133101181957653165715062094266846490271043287712701905702966462736893453502161036543986326343963779468562146713414079325111015314832246809258065303209377112549599051165278083943104646100575387464289045254594733092779206161331261833256735930851043129100672440659327701750731435017662927184115260345828154868906442239127631946814848527183498383193409679898999924806376531041450099245772549204967949525452947276463055840048702157414199381832694678996753794559282086021670301219720374767421404406812885380883845457797162085441517103035090015228528279266118196311139080511787095163806342550272189245815377964289612201303836889096675817606759658537884734567697464874552948946137630424896878572844841176282750905770903827210646146245027111416511926087563676021749153233146077670982388073689310585141786624255968713369235245406772172845617696885815629488017275209693713899035130266669469387072836278049385508869876114529088452101958504123769499870440338399193636377669037564982014016998960655890158245454771741858986699209711388583287744569874059718877477412466505078284073839533847550036486322021807727920376580687939529542084338982686510214977869439655869866448725798968266083886701814969620391976248874062135811658677966949277079432602699646175918708250130285134432267207342313213363301630734599667506169929230285186911215339348560490869707581689438724699013504652565136673603706449700218168304471801141430061630360834232691024389619204949 35452501390438385850867857086654043276657732829535057593175843795814181914181720333287000596421974109670120489261332323392190948376601717954055695161299181892479041088669784621543509265885438668166395085105988761188528160573956621206120142588616914302097492269508003351127367388734192889366769447900983649152117398137599345693606690502136382938452883525676756803696881579388437938649702989446467709913604351118617310400161252323893202311522639985459385885149613529314366493066884536198230123346827981969046684943992732868577908613573705170727087970333919456425062822797406417314429607970641519195735508128138728397815362296440412768040594460812737513784794078456373852444684728644628142400159069157084134283781361396263774019863977203510434361799878325644383557954080885791166423771378879756322437984069044498924047494081641615278634101047146914207851645173033148872894246544856307495006907675871489825309686718883602498008277932653049385103437641991836616963589483394152076393001566906540279094151256766981747240058119961281107572659062047353465682167648671121511866228307856324627610433200208569677693759101425040785498560383559239480755181502963150112190397307086200782617091269774453835236445618360560481796223789035827492002264700431495981613559026798852456914916956540453194633882306718710061184408287713062123004426258475001757305230411679251594035755930127450704510591085970571303502155661123225142435241437415253765858497368858120464231133391018740136154481145640527603267712518093298476267874138099552511495342020720505126425250458482740163930917271251923431110013607114876895834013838692486278068156753284825384120198254730711382941882367920914582316223652318142302908737242870276017670111227203167246912522581510423538123015475779322345684416543024782025796952690634667235768888344236874910685744057508637153529443675719451759649517456729272827610233304821540472667868033702489295028963287061966003371636157462780986396897413535186332026260070760599849451471773714334090794292113119512264084635275028802091669391093755302817692433268817155606533908778899417484366390843515451861218842170511016287535341776053579690488300002123588229722586924434722631426142387810301900033844500845584186056752867428847649157971534411407243262371655278722783445065565778194133989778258555337245443649433113797064481512026437999084395680823513835572637232938610861427254146885675477950455173228393504189904865901981119709974086047028826802539902977357222985882840258223696203800640562714242778899478838760836209632698699702084880674604138880568975932993441724939080922243740769407257709299789901061023130448300427491366127708939058129971620706134509745697012223234075742744403050809447 57363352235932214675218189103747978687513241812108927532328924200262112658072380705659291817791980928988570867615733694517860530461652317380889189986112196913842697845322361928082671814591443434111788767239653380308784589981855690974327367229910670908005636766797271562899532504756740106424115505871317634091897758458945655265990436656438297491274187614948964642653000964942353284480513158272654562529010467676458905002915873204337322505096932110014905649177339068877814780207714025930574482327878719877186560834438668471185948045308470572518438194855676988156739595153807899424389632303585354068808621123249606767974215575306586595739772971390307897697027856089935474200122380853156116504538737195736745641194696662804882179044846833017558033572982961527530336113259875815951671846146421628766307971738769738942963716351608785762221360571546925656533441956837624991496809461513040526901318485544583289298693857310984311303183985350887541700834758637641270356827753669877352546725280980179986020948604884482290081041379486963391562203353065831393572072175499086907711384941124221870235420545103648232457782039624290391197749275237293503162692133783279370779956249872856845260087802585425640630558153376815358527064743938555528338893772022767387746660208756505622629979050807299684904925594431411966887374750449955576506587295018988083649194191147813740749170009452561719825423332779829368805365038235774741486406715499196870504597944245584753276387985751832915360642476902360860003643369136427576940314797427254262226777038383432310540510804310895032837359510379555377924862134298375279027423518591486202874533284326275483365970803935679332467335315197377638156272354475556502290569937549272771464670509289188917213742301885190959527422288664703229529874340186867467314055725724682464297167610355071221824824569295732317335786225991641005464895421018885028914070193918216290274627692240374029596660751936518952317773787887677864969742254711469082932030974587810495597716800825750602720379676795534013237868421106473074057464783065887959479057524785868975769154185671590329984087729331081349236117380204730186570472042723049077561136280172973738592463038963811083528100891934071399904284839244777822434421904993829663174970495067297401507826427020581770144275277166777421734348132615056122921061899618875348555351560285549120882002845321563493013813626550390969338485868361988165433042668049374056353591700949385793860787861998447194516151851419358797541518225172973283233243262360418697607728969045970641899906042015298243976234873480236482102922672010125992137583089329898127416881479339785722143952952992628039731415388758348139925177935651175758642584068308433768792670014396 92815853626370600526086046190402021964170974641643985125504767996076294572254101038946292414213955038658691356877066017910051478838254035334944885147411378806321738933992146549626181080476882102278183852345642141497312750555812312180447509818527585210103129036305274914026899893490932995790884953772301283244015156596545000959597127158574680429727071140625721446349882544330791223130216147719122272442614818795076215403077125528230524816619572095474291534326952598192181273274598562128804605674706701846233245778431401339763856658882175743245526165189596444581802417951214316738819240274226873264544129251388335165789577871746999363780367432203045411481821934546309326644807109497784258904697806352820879924976058059068656198908824036527992395372861287171913894067340761607118095617525301385088745955807814237867011210433250401040855461618693839864385087129870773864391056006369348021908226161416073114608380576194586809311461918003936926804272400629477887320417237064029428939726847886720265115099861651464037321099499448244499134862415113184859254239824170208419577613248980546497845853745312217910151541141049331176696309658796532983917873636746429482970353556959057627877179072359879475867003771737375840323288532974383020341158472454263369360219235555358079544896007347752879538807901150122028071783038163017699511013553493989840954424602827065334784925939580012424336014418750400672307520699358999883921648152914450636363095313103705217507521376770573051515123622542888463271355887229726053208188935526806773722119059103937436965761262793635196768276781631478809034875741413252174861437357283972480942690037611100867486169058666390715409217683118292220472496006793698805199307180419548789134781736492356164126264883395614497650437764444025575214290883211649493111008416359349700066055954591946132510568626804369470865229901711092765114412877748157856524303498739756762942495725942863324625624038998484955689409945350458851366639668246655414958291045348410345049188574540084693514671789915046277322503696135275165726855876821190777171490793603024582303062964571007814350478572846533210454959550715746474105813818776628768049436282296561968315049963398533714954243279744373299938129340090362008491174772422677312332942029478704644770198082299304553589340842944971555724126391170393368364711332732672413036863586723548205277683668835399065651046565161252396592632754037466115888215896442878246258457602930505503834873909027273997056054828776581783424358483396669487033883825074661476507207807806806851532604741717383124650839012360805458035916113735065073059826830099305385126181269240846745274401253420119405859124327816478111545884070160921455654807302384176513195720823843 150179205862302815201304235294150000651684216453752912657833692196338407230326481744605584232005935967647262224492799712427912009299906352715834075133523575720164436779314508477708852895068325536389972619585295521806097340537668003154774877048438256118108765803102546476926432398247673102215000459643618917335912915055490656225587563815012977921001258755574686089002883509273144507610729305991776834971625286471535120405992998732567847321716504205489197183504291667069996053482312588059379088002585421723419806612870069810949804704190646315763964360045273432738542013105022216163208872577812227333352750374637941933763793447053585959520140403593353309178849790636244800844929490350940375409236543548557625566170754721873538377953670869545550428945844248699444230180600637423069767463671723013855053927546583976809974926784859186803076822190240765520918529086708398855887865467882388548809544646960656403907074433505571120614645903354824468505107159267119157677244990733906781486452128866900251136048466535946327402140878935207890697065768179016252826311999669295327288998190104768368081274290415866142609323180673621567894058934033826487080565770529708853750309806831914473137266874945305116497561925114191198850353276912938548680052244477030757106879444311863702174875058155052564443733495581533994959157788612973276017600848512977924603618793974879075534095949032574144161437751530230041112885737594774625408054868413647506867693257349289970783909362522405966875766099445249323274999256366153630148503732954061035948896097487369747506272067104530229605636292011034186959737875711627453888860875875458683817223321937376350852139862602070047876552998315669858628768361269255307489877117968821560599452245781545081340007185280805457177860053108728804744165223398516960425064142084032164363223564947017354335393196100101788201016127702733770579308298767042885438373692657973053217123418183237354222284790935003908007183733238136716336381922958124497890322019936220840646905375365835296235051466710580290560372117241748239784320659887078736650548318388893558072217150242598144334566302177614559691076930920476660676285861499677845610572562469535706907513002362344798482344171678444699842414179335139830925596677416506975507912524546002046278024509319886323733616120111748977458474523785449491285773232351547761592215147009097326159686514156962558664860191711643365931118622399454281321258564492252302612049303879891297695661771025721191572206680195940580965876708569642770267127087435080174114936776852777493432510783732681368627073885841041940138838785745191065197409919429203512543062748580632467418354206412747445590539716574826251471062005812097214297391370692610281988390838239 242995059488673415727390281484552022615855191095396897783338460192414701802580582783551876646219891006305953581369865730337963488138160388050778960280934954526486175713306655027335033975545207638668156471930937663303410091093480315335222386866965841328211894839407821390953332291738606098005885413415920200579928071652035657185184690973587658350728329896200407535352766053603935730740945453710899107414240105266611335809070124260798372138336076300963488717831244265262177326756911150188183693677292123569653052391301471150713661363072822059009490525234869877320344431056236532902028112852039100597896879626026277099553371318800585323300507835796398720660671725182554127489736599848724634313934349901378505491146812780942194576862494906073542824318705535871358124247941399030187863081197024398943799883354398214676986137218109587843932283808934605385303616216579172720278921474251736570717770808376729518515455009700157929926107821358761395309379559896597044997662227797936210426178976753620516251148328187410364723240378383452389831928183292201112080551823839503746866611439085314865927128035728084052760864321722952744590368592830359470998439407276138336720663363790972101014445947305184592364565696851567039173641809887321569021210716931294126467098679867221781719771065502805443982541396731656023030940826775990975528614402006967765558043396801944410319021888612586568497452170280630713420406436953774509329703021328098143230788570452995188291430739292979018390889721988137786546355143595879683356692668480867809671015156591307184472033329898165426373913073642512995994613617124879628750298233159431164759913359548477218338308921268460763285770681433962079101264368062954112689184298388370349734233982273901245466272068676419954828297817552754379958456106610166453536072558443381864429279519538963486845961822904471259066246029413826535693721176515200741962677191397729816159619144126100678847908829933488863696593678588595567703021591204779912848613065284631185696093949905919989749723256625626567882875813377023405511176536708269513822039111991918140375280114813605958685044875024147770146036481636223134782099680276306613660008844766097675222562965760878513436587451422817999780543519425501839416771449839184287840854554024706691048222591619190877322956963056720533182600914955842859650484565084220174629078733732645531437370182992361624315906756872895762523751376436920397209474460935130548870506906810396801530535680052995188628261508972522364390235191966312257301010912509741650622144584659584344965115525450064493277912898201847398174754899480256138257236749528508897669244017821479212692755459832866851449664044391304363016946075973018669952198673076786795184111662082 393174265350976230928694516778702023267539407549149810441172152388753109032907064528157460878225826973953215805862665442765875497438066740766613035414458530246650612492621163505043886870613533175058129091516233185109507431631148318489997263915404097446320660642510367867879764689986279200220885873059539117915840986707526313410772254788600636271729588651775093624355649562877080238351674759702675942385865391738146456215063122993366219460052580506452685901335535932332173380239223738247562781679877545293072859004171540961663466067263468374773454885280143310058886444161258749065236985429851327931249630000664219033317164765854171282820648239389752029839521515818798928334666090199665009723170893449936131057317567502815732954816165775619093253264549784570802354428542036453257630544868747412798853810900982191486961064002968774647009105999175370906222145303287571576166786942134125119527315455337385922422529443205729050540753724713585863814486719163716202674907218531842991912631105620520767387196794723356692125381257318660280528993951471217364906863823508799074155609629190083234008402326143950195370187502396574312484427526864185958079005177805847190470973170622886574151712822250489708862127621965758238023995086800260117701262961408324883573978124179085483894646123657858008426274892313190017990098615388964251546215250519945690161662190776823485853117837645160712658889921810860754533292174548549134737757889741745650098481827802285159075340101815384985266655821433387109821354399962033313505196401434928845619911254078676931978305397002695655979549365653547182954351492836507082639159109034889848577136681485853569190448783870530811162323679749631937730032729332209420179061416357191910333686228055446326806279253957225412006157870661483184702621330008683413961136700527414028792503084485980841181355019004573047267262157116560306273029475282243627401050884055702869376742562309338033070193620868492771703777411826732284039403514162904410738935085220852026342999325271755285984774723336206858443247930618771645295497196595348250472587430380811698447497265056204103019611177201762329837113412556699795458385541775984459270581407235633382130075968123223311918931623101262699622957698760641670342368127255691263348767078570708737326247100939077201056573083168469510641075438741292350936257797435767936221293880741742857597056697149324182980766948584539128454869998836374678530733025427382851482556210690288099226197451078716380200468189168462945356111900535955027568137999944821824737081361512361838397626309182745861904986784042889338313593685225447203454646668957712410212306766402111680111109666245614297040203760966130614488008081785115884249590043769397077172502500321 636169324839649646656084798263254045883394598644546708224510612581167810835487647311709337524445717980259169387232531173103838985576227128817391995695393484773136788205927818532378920846158740813726285563447170848412917522724628633825219650782369938774532555481918189258833096981724885298226771286475459318495769058359561970595956945762188294622457918547975501159708415616481015969092620213413575049800105497004757792024133247254164591598388656807416174619166780197594350706996134888435746475357169668862725911395473012112377127430336290433782945410515013187379230875217495281967265098281890428529146509626690496132870536084654756606121156075186150750500193241001353055824402690048389644037105243351314636548464380283757927531678660681692636077583255320442160478676483435483445493626065771811742653694255380406163947201221078362490941389808109976291525761519866744296445708416385861690245086263714115440937984452905886980466861546072347259123866279060313247672569446329779202338810082374141283638345122910767056848621635702112670360922134763418476987415647348302821022221068275398099935530361872034248131051824119527057074796119694545429077444585081985527191636534413858675166158769555674301226693318817325277197636896687581686722473678339619010041076804046307265614417189160663452408816289044846041021039442164955227074829652526913455719705587578767896172139726257747281156342092091491467953698611502323644067460911069843793329270398255280347366770841108364003657545543421524896367709543557912996861889069915796655290926410669984116450338726900861082353462439296060178948965109961386711389457342194321013337050041034330787528757705138991574448094361183594016831297097395163532868245714745562260067920210329347572272551322633645366834455688214237564661077436618849867497209258970795893221782604024944328027316841909044306333508186530386841966750651797444369363728075453432685536361706435438711918102450801981635400371090415327851742425105367684323587548150505483212039093275177675275734497979961833426326123743995795050806673733303617764294626542372729838822777379869810061704656052225910099983149894192922930240485222052291072930590252001731057352638933884101825355519074524080699403501218186143509759139577094875551189621632595415428374469692558268078379530046225190043823676353697135210586742362519988110850372614474388389034426880141685807296673705457434890978621375273295075740207486362513400353063117500684900756733131131711568828729698140985309746347092502267284869148912454563475359225946171946183362741834632810355182899682244736736488348584705703341711883418486221307881550784223590892803865126078481148489867805357434977504954157758134554201788716846183872356614162403 1029343590190625877584779315041956069150934006193696518665682764969920919868394711839866798402671544954212385193095196615869714483014293869584005031109852015019787400698548982037422807716772273988784414654963404033522424954355776952315216914697774036220853216124428557126712861671711164498447657159534998436411610045067088284006729200550788930894187507199750594784064065179358096207444294973116250992185970888742904248239196370247530811058441237313868860520502316129926524087235358626683309257037047214155798770399644553074040593497599758808556400295795156497438117319378754031032502083711741756460396139627354715166187700850508927888941804314575902780339714756820151984159068780248054653760276136801250767605781947786573660486494826457311729330847805105012962833105025471936703124170934519224541507505156362597650908265224047137137950495807285347197747906823154315872612495358519986809772401719051501363360513896111616031007615270785933122938352998224029450347476664861622194251441187994662051025541917634123748974002893020772950889916086234635841894279470857101895177830697465481333943932688015984443501239326516101369559223646558731387156449762887832717662609705036745249317871591806164010088820940783083515221631983487841804423736639747943893615054928225392749509063312818521460835091181358036059011138057553919478621044903046859145881367778355591382025257563902907993815232013902352222486990786050872778805218800811589443427752226057565506442110942923748988924201364854912006189063943519946310367085471350725500910837664748661048428644123903556738333011804949607361903316602797893794028616451229210861914186722520184356719206489009522385610418040933225954561329826727372953047307131102754170401606438384793899078830576590870778840613558875720749363698766627533281458345959498209922014285688510925169208671860913617353600770343646947148239780127079687996764778959509135554913104268744776744988296071670474407104148502242060135781828619530588734326483235726335238382092600449430561719272703298040284769371674614566696102170929898966014767213972753541537270274644926014164724267229427672429820263306749622725698870763828275532201171659237364439482714902007325137274450697625343399026458916946785180101507704350566814538388711166124165700716793497345279436103129393659554464751792438427561523000159955756047071666495216131246631483577291009990277440654041974019433491374109669754270940511789896251835619328190972999982930582210427949029197887309448255102458993038222312437286912399385300096307307684308021760368143815556217087886466287626074801942269931150545166530087443933718093857550625702572914974792324095445530071566323565591992962239543250438451378760615580949529116662724 1665512915030275524240864113305210115034328604838243226890193377551088730703882359151576135927117262934471554580327727788973553468590520998401397026805245499792924188904476800569801728562931014802510700218410574881935342477080405586140436565480143974995385771606346746385545958653436049796674428446010457754907379103426650254602686146312977225516645425747726095943772480795839112176536915186529826041986076385747662040263329617501695402656829894121285035139669096327520874794231493515119055732394216883018524681795117565186417720927936049242339345706310169684817348194596249312999767181993632184989542649254045211299058236935163684495062960389762053530839907997821505039983471470296444297797381380152565404154246328070331588018173487139004365408431060425455123311781508907420148617797000291036284161199411743003814855466445125499628891885615395323489273668343021060169058203774905848500017487982765616804298498349017503011474476816858280382062219277284342698020046111191401396590251270368803334663887040544890805822624528722885621250838220998054318881695118205404716200051765740879433879463049888018691632291150635628426634019766253276816233894347969818244854246239450603924484030361361838311315514259600408792419268880175423491146210318087562903656131732271700015123480501979184913243907470402882100032177499718874705695874555573772601601073365934359278197397290160655274971574105993843690440689397553196422872679711881433236757022624312845853808881784032112992581746908276436902556773487077859307228974541266522156201764075418645164878982850804417820686474244245667540852281712759280505418073793423531875251236763554515144247964194148513960058512402116819971392626924122536485915552845848316430469526648714141471351381899224516145675069247089958314024776203246383148955555218469005815236068292535869497235988702822661659934278530177333990206530778877132366128507034962568240449465975180215456906398522472456042504519592657387987524253724898273057914031386231818450421185875627105837453770683259873711095495418610361746908844663202583779061840515126271376093052024795824226428923281653582529803413200942545655939355985880566605131761911239095496835353835891426962629969772149424098429960135132928689860647281445442365728010343761539594075186486055613357815633175618849598288428146135562772109742522475744157922039109690519635665910457432695797574114359499408910412112749382964830011147998152409652188682445691657900739663713342139517857927585450433564848806085540489597306435824853948775455533253856254205123109978448366572270786148532362811290290854636853886878413505930155025975408334849293465718839918402576594019939371681000569497916397301384992653167477461764821885730825127 2694856505220901401825643428347166184185262611031939745555876142521009650572277070991442934329788807888683939773422924404843267951604814867985402057915097514812711589603025782607224536279703288791295114873373978915457767431436182538455653480177918011216238987730775303512258820325147214295122085605545456191318989148493738538609415346863766156410832932947476690727836545975197208383981210159646077034172047274490566288502525987749226213715271131435153895660171412457447398881466852141802364989431264097174323452194762118260458314425535808050895746002105326182255465513975003344032269265705373941449938788881399926465245937785672612384004764704337956311179622754641657024142540250544498951557657516953816171760028275856905248504668313596316094739278865530468086144886534379356851741967934810260825668704568105601465763731669172636766842381422680670687021575166175376041670699133425835309789889701817118167659012245129119042482092087644213505000572275508372148367522776053023590841692458363465385689428958179014554796627421743658572140754307232690160775974589062506611377882463206360767823395737904003135133530477151729796193243412812008203390344110857650962516855944487349173801901953168002321404335200383492307640900863663265295569946957835506797271186660497092764632543814797706374078998651760918159043315557272794184316919458620631747482441144289950660222654854063563268786806119896195912927680183604069201677898512693022680184774850370411360250992726955861981505948273131348908745837430597805617596060012617247657112601740167306213307626974707974559019486049195274902755598315557174299446690244652742737165423486074699500967170683158036345668930443050045925953956750849909438962859976951070600871133087098935370430212475815386924515682805965679063388474969873916430413901177967215737250353981046794666444660563736279013535048873824281138446310905956820362893285994471703795362570243924992201894694594142930449608668094899448123306082344428861792240514621958153688803278476076536399173043386557913995864867093224928443011015593101549793829054487879812913363326669721838391153190511081254959623676507692168381638226749708842137332933570476459936318068737898752099904420469774767497456419052079713869962154985796009180266399054927663759775903279552958637251736305012509152753179938573990333632742682431500204993705604906650882297394034723705787851555013541382929845604123492634584282088509942305904024301773882630900722594295552567466887125472759881819951265078578711909743722737253334075551840561540562226883478122263922789358672614819988886092233124568004432044943593374088744069265885474996038633814710726672039550010938004566161490878636844635431104546238077345771414847487851 4360369420251176926066507541652376299219591215870182972446069520072098381276159430143019070256906070823155494353750652193816821420195335866386799084720343014605635778507502583177026264842634303593805815091784553797393109908516588124596090045658061986211624759337122049897804778978583264091796514051555913946226368251920388793212101493176743381927478358695202786671609026771036320560518125346175903076158123660238228328765855605250921616372101025556438930799840508784968273675698345656921420721825480980192848133989879683446876035353471857293235091708415495867072813708571252657032036447699006126439481438135445137764304174720836296879067725094100009842019530752463162064126011720840943249355038897106381575914274603927236836522841800735320460147709925955923209456668043286777000359764935101297109829903979848605280619198114298136395734267038075994176295243509196436210728902908331683809807377684582734971957510594146622053956568904502493887062791552792714846387568887244424987431943728732268720353315998723905360619251950466544193391592528230744479657669707267911327577934228947240201702858787792021826765821627787358222827263179065285019624238458827469207371102183937953098285932314529840632719849459983901100060169743838688786716157275923069700927318392768792779756024316776891287322906122163800259075493056991668890012794014194404349083514510224309938420052144224218543758380225890039603368369581157265624550578224574455916941797474683257214059874510987974974087695181407785811302610917675664924825034553883769813314365815585951378186609825512392379705960293440942443607880028316454804864764038076274612416660249629214645215134877306550305727442845166865897346583674972445924878412822799387031340659735813076841781594375039903070190752053055637377413251173120299579369456396436221552486422273582664163680649266558940673469327404001615128652841684833952729021793029434272035812036219105207658801093116615386492113187687556836110830336069327134850154546008189972139224464351703642236626814069817787706960362511835290189919860256304133572890895003006084289456378694517662617582113792734837489427089708634714037577582735589408742464695481715555433153422573790179062534390241924191595886379187212642559822802267241451545994409398689203353851089765608571995067369480631358751041608084709553105742485204907244362915744714597170517963304492156401585425669373040791840257716872875599414293236508094715556212984219574288801462258008894706984745053058210315384800071164119201507050158562107282851007373815396816432006588100712289361629458763352351697382523979204858318923357099304243770044674220324289504352654629129248633569950309685566730988795034146020423757713715539110593300578312978 7055225925472078327892150969999542483404853826902122718001945662593108031848436501134462004586694878711839434127173576598660089371800150734372201142635440529418347368110528365784250801122337592385100929965158532712850877339952770663051743525835979997427863747067897353410063599303730478386918599657101370137545357400414127331821516840040509538338311291642679477399445572746233528944499335505821980110330170934728794617268381593000147830087372156991592826460011921242415672557165197798723785711256745077367171586184641801707334349779007665344130837710520822049328279222546256001064305713404380067889420227016845064229550112506508909263072489798437966153199153507104819088268551971385442200912696414060197747674302879784142085027510114331636554886988791486391295601554577666133852101732869911557935498608547954206746382929783470773162576648460756664863316818675371812252399602041757519119597267386399853139616522839275741096438660992146707392063363828301086994755091663297448578273636187095734106042744956902919915415879372210202765532346835463434640433644296330417938955816692153600969526254525696024961899352104939088019020506591877293223014582569685120169887958128425302272087834267697842954124184660367393407701070607501954082286104233758576498198505053265885544388568131574597661401904773924718418118808614264463074329713472815036096565955654514260598642706998287781812545186345786235516296049764761334826228476737267478597126572325053668574310867237943836955593643454539134720048448348273470542421094566501017470426967555753257591494236800220366938725446342636217346363478343873629104311454282729017349582083735703914146182305560464586651396373288216911823300540425822355363841272799750457632211792822912012212211806850855289994706434859021316440801726142994216009783357574403437289736776254629458830125309830295219687004376277825896267099152590790773091915079023905975831174606463030199860695787710758316941721855782456284234136418413755996642395060630148125828027742827780178635799857456375701702825229605060218632930875849405683366719949490885897202819705364239501008735304303816092449050766216326882419215809485298250879797629052192015369471491311688931162438810711698959093342798239292356429784957253037460726260808453616867113626993045161530632319105785643867903794788023283543439375227887338744567909450319503821400260698526880107373277224386582174770103320996368233998575325018037021460237285993456919702184852304447274451632178530970197204751336242697913416793881299360616926559214376937378658890066222976212150988131378172340583474757103772862750968300692678332514113940105799285542986469339855920673119961247690132892479673670990655854862259953616456364715425800829 11415595345723255253958658511651918782624445042772305690448015182665206413124595931277481074843600949534994928480924228792476910791995486600759000227355783544023983146618030948961277065964971895978906745056943086510243987248469358787647833571494041983639488506405019403307868378282313742478715113708657284083771725652334516125033618333217252920265789650337882264071054599517269849505017460851997883186488294594967022946034237198251069446459473182548031757259852430027383946232863543455645206433082226057560019720174521485154210385132479522637365929418936317916401092931117508658096342161103386194328901665152290201993854287227345206142140214892537975995218684259567981152394563692226385450267735311166579323588577483711378921550351915066957015034698717442314505058222620952910852461497805012855045328512527802812027002127897768909558310915498832659039612062184568248463128504950089202929404645070982588111574033433422363150395229896649201279126155381093801841142660550541873565705579915828002826396060955626825276035131322676746958923939363694179120091314003598329266533750921100841171229113313488046788665173732726446241847769770942578242638821028512589377259060312363255370373766582227683586844034120351294507761240351340642869002261509681646199125823446034678324144592448351488948724810896088518677194301671256131964342507487009440445649470164738570537062759142512000356303566571676275119664419345918600450779054961841934514068369799736925788370741748931811929681338635946920531351059265949135467246129120384787283741333371339208969680846625732759318431406636077159789971358372190083909176218320805291961998743985333128791397440437771136957123816133383777720647124100794801288719685622549844663552452558725089053993401225895193064897186912076953818214977316114515589152813970839658842223198528212122993805959096854160360473703681827511395751994275624725820936872053340247866986642682135407519496880827373703433835043470013120344966754483083131492549606638338097967252207179483820872426671526193489409785592116895508822850736105709816939610844493891981492276084058757163626317418096550929938477855924961596456793392220887659622262324533907570802624913885479110224973200953623150689229177426504998989607759520278912272255217852306070467478082810770102627386475266275226654836396107993096545117713092245988930825195034100991918224003019036508958702893759622966610361037869243833412868561526131737016450270213031208503647110313341981436377231589180512589551407406817114923844039861467899777566588192334195090896654323688501512617590141524692280857281082977721069891657791982576284158614326123575047339123968985169306689911557375699623468468705136676278619973669155566958016004113807 18470821271195333581850809481651461266029298869674428408449960845258314444973032432411943079430295828246834362608097805391137000163795637335131201369991224073442330514728559314745527867087309488364007675022101619223094864588422129450699577097330021981067352253472916756717931977586044220865633713365758654221317083052748643456855135173257762458604100941980561741470500172263503378449516796357819863296818465529695817563302618791251217276546845339539624583719864351269799618790028741254368992144338971134927191306359163286861544734911487187981496767129457139965729372153663764659160647874507766262218321892169135266223404399733854115405212704690975942148417837766672800240663115663611827651180431725226777071262880363495521006577862029398593569921687508928705800659777198619044704563230674924412980827121075757018773385057681239682720887563959589323902928880859940060715528106991846722049001912457382441251190556272698104246833890888795908671189519209394888835897752213839322143979216102923736932438805912529745191451010694886949724456286199157613760524958299928747205489567613254442140755367839184071750564525837665534260868276362819871465653403598197709547147018440788557642461600849925526540968218780718687915462310958842596951288365743440222697324328499300563868533160579926086610126715670013237095313110285520595038672220959824476542215425819252831135705466140799782168848752917462510635960469110679935277007531699109413111194942124790594362681608986875648885274982090486055251399507614222606009667223686885804754168300927092466561175083425953126257156852978713377136334836716063713013487672603534309311580827721037042937579745998235723608520189421600689543947664526617156652560958422300302295764245381637101266205208076750483059603621771098270259016703459108731598936171545243096131959974782841581823931268927149380047478079959653407662851146866415498912851951077246223698161249145165607380192668538132020375556899252469404579103172896839128134944667268486223795279950007263999508226528982569191112610821721955727455781611955115500306330793984777878695095789422996664635052722400367022387528622141288478876009201706185910502059953586099586172096405197168041387412011665322109782571975665797355419392716773316372998516026305922937581105075855931633259705581051919094558631184131276639984492940979584733498734645353604813318484701545916616331980118146205141380464358865612067411443886544168758476687556206488128205831962617789255888009410120150709794302743649515028340637921160828516704125802569271573749786720546664713663605721519697032864332038186750583820859958484660908798272554431922860590325593308841089979809872805065832515948142376127332133482233622772023322731429914636 29886416616918588835809467993303380048653743912446734098897976027923520858097628363689424154273896777781829291089022034183613910955791123935890201597347007617466313661346590263706804933052281384342914420079044705733338851836891488238347410668824063964706840759877936160025800355868357963344348827074415938305088808705083159581888753506475015378869890592318444005541554771780773227954534257209817746483306760124662840509336855989502286723006318522087656340979716781297183565022892284710014198577421197192487211026533684772015755120043966710618862696548393457882130465084781273317256990035611152456547223557321425468217258686961199321547352919583513918143636522026240781393057679355838213101448167036393356394851457847206899928128213944465550584956386226371020305717999819571955557024728479937268026155633603559830800387185579008592279198479458421982942540943044508309178656611941935924978406557528365029362764589706120467397229120785445109950315674590488690677040412764381195709684796018751739758834866868156570467486142017563696683380225562851792880616272303527076472023318534355283311984481152672118539229699570391980502716046133762449708292224626710298924406078753151813012835367432153210127812252901069982423223551310183239820290627253121868896450151945335242192677753028277575558851526566101755772507411956776727003014728446833916987864895983991401672768225283311782525152319489138785755624888456598535727786586660951347625263311924527520151052350735807460814956320726432975782750566880171741476913352807270592037909634298431675530855930051685885575588259614790536926306195088253796922663890924339601273579571706370171728977186436006860565644005554984467264594788627411957941280644044850146959316697940362190320198609302645676124500808683175224077231680775223247188088985516082754974183173311053704817737228024003540407951783641480919058603141142040224733788823130586471565147891827301014899689549365505723809391942722482524924069927379922259627494273906824321762532157186747820380653200508762680522396413838851236278632348060825317245941638478669860187371873481753828261370140496917952326006478066250075332802593927073570124322278120007156974721319082647151612385212618945260471801153092302354409000476293595285270771244158229008048583158666701735887092056318194321213467580239269736529610654071830722429559840387705805236708704564953125290683011905828107990825396734855900824312448070300495493137826419519336709479072931131237324386641709331222383854151056332143264481961022296416481692390761605768840683374870353215176223311661221725145189319269728304890751616276643485082431168758046435637664717277826259286499784362441532139416611081264008412102207291927590280747434028443 48357237888113922417660277474954841314683042782121162507347936873181835303070660796101367233704192606028663653697119839574750911119586761271021402967338231690908644176075149578452332800139590872706922095101146324956433716425313617689046987766154085945774193013350852916743732333454402184209982540440174592526405891757831803038743888679732777837473991534299005747012054944044276606404051053567637609780125225654358658072639474780753503999553163861627280924699581132566983183812921025964383190721760168327414402332892848058877299854955453898600359463677850597847859837238445037976417637910118918718765545449490560734440663086695053436952565624274489860292054359792913581633720795019450040752628598761620133466114338210702420934706075973864144154878073735299726106377777018191000261587959154861681006982754679316849573772243260248275000086043418011306845469823904448369894184718933782647027408469985747470613955145978818571644063011674241018621505193799883579512938164978220517853664012121675476691273672780686315658937152712450646407836511762009406641141230603455823677512886147609725452739848991856190289794225408057514763584322496582321173945628224908008471553097193940370655296968282078736668780471681788670338685862269025836771578992996562091593774480444635806061210913608203662168978242236114992867820522242297322041686949406658393530080321803244232808473691424111564694001072406601296391585357567278471004794118360060760736458254049318114513733959722683109700231302816919031034150074494394347486580576494156396792077935225524142092031013477639011832745112593503914062641031804317509936151563527873910585160399427407214666556932434242584174164194976585156808542453154029114593841602467150449255080943321999291586403817379396159184104430454273494336248384234331978787025157061325851106143148093895286641668496951152920455429863601134326721454288008455723646640774207832695263309140972466622279882217903637744184948841974951929503173100276761387762438941175310545557812107194011819888879729491331871635007235560806963734413960015940817552272432463447738882467662904750492896422862897284974713535100207538554208811795633259480626382231706106743146817724279815192999797224284267370254373128758099709828393193066911658269287270464151945629688234522633369146797637370113415772098764370546376514103595051415455928294485741310618555193406110869741622663130052033249371289755600467968235756334614469253969825382626007464915311035548920493212396051829481932178156894705847171605119882183124933185818193330877342590470095417017928839829033180918758009521357456478888711611574761304393880703723189969296227990310586667349266309657167507364655364753457391340545584440914699613603478863943079 78243654505032511253469745468258221363336786694567896606245912901105356161168289159790791387978089383810492944786141873758364822075377885206911604564685239308374957837421739842159137733191872257049836515180191030689772568262205105927394398434978149910481033773228789076769532689322760147554331367514590530831494700462914962620632642186207793216343882126617449752553609715825049834358585310777455356263431985779021498581976330770255790722559482383714937265679297913864166748835813310674397389299181365519901613359426532830893054974999420609219222160226244055729990302323226311293674627945730071175312769006811986202657921773656252758499918543858003778435690881819154363026778474375288253854076765798013489860965796057909320862834289918329694739834459961670746412095776837762955818612687634798949033138388282876680374159428839256867279284522876433289788010766948956679072841330875718572005815027514112499976719735684939039041292132459686128571820868390372270189978577742601713563348808140427216450108539648842886126423294730014343091216737324861199521757502906982900149536204681965008764724330144528308829023924978449495266300368630344770882237852851618307395959175947092183668132335714231946796592724582858652761909413579209076591869620249683960490224632389971048253888666636481237727829768802216748640327934199074049044701677853492310517945217787235634481241916707423347219153391895740082147210246023877006732580705021012108361721565973845634664786310458490570515187623543352006816900641374566088963493929301426988829987569523955817622886943529324897408333372208294450988947226892571306858815454452213511858739971133777386395534118870249444739808200531569624073137241781441072535122246512000596214397641262361481906602426682041835308605239137448718413480065009555225975114142577408606080326321404948991459405724975156460863381647242615245780057429150495948380429597338419166828457032799767637179571767269143467994340784697434454427243027656683647389933215082134867320344264380759640269532930000094552157403649399658200013046308076766134798214070942117599069839536386504321157793003394202927039541578273788629541614389560333050750704509826113900121539043362462344612182436903212630726174281850402064237393669360506943540058514622380953678271393189335105033889693688307736985566344609816113043714249123246178357854326129016423791902110675822866913346141957861357362115152335323869060068782684769749462963209045526801624790108480051730536782693538813154562011045762179314869601843205421349667510584092483111431153470287371144016052344842140483154710676726207193602363191037947878963134891948015731865655027864493608552809441529948896794781364538655348957686648206627203884226297971522 126600892393146433671130022943213062678019829476689059113593849774287191464238949955892158621682281989839156598483261713333115733194964646477933007532023470999283602013496889420611470533331463129756758610281337355646206284687518723616441386201132235856255226786579641993513265022777162331764313907954765123357900592220746765659376530865940571053817873660916455499565664659869326440762636364345092966043557211433380156654615805551009294722112646245342218190378879046431149932648734336638780580020941533847316015692319380889770354829954874507819581623904094653577850139561671349270092265855848989894078314456302546937098584860351306195452484168132493638727745241612067944660499269394738294606705364559633623327080134268611741797540365892193838894712533696970472518473553855953956080200646789660630040121142962193529947931672099505142279370566294444596633480590853405048967026049809501219033223497499859970590674881663757610685355144133927147193326062190255849702916742720822231417012820262102693141382212429529201785360447442464989499053249086870606162898733510438723827049090829574734217464179136384499118818150386507010029884691126927092056183481076526315867512273141032554323429303996310683465373196264647323100595275848234913363448613246246052083999112834606854315099580244684899896808011038331741508148456441371371086388627260150704048025539590479867289715608131534911913154464302341378538795603591155477737374823381072869098179820023163749178520270181173680215418926360271037851050715868960436450074505795583385622065504749479959714917957006963909241078484801798365051588258696888816794967017980087422443900370561184601062091051304492028913972395508154780881679694935470187128963848979151045469478584584360773493006244061437994492709669591722212749728449243887204762139299638734457186469469498844278101074221926309381318811510843749572501511717158951672027070371546251862091766173772234259459453985172781212179289626672386383930416127933445035152372156257445412878156371574771460158412659491426423792410884960465163747460268092706952350486503405565337952307199291254814054215866291487901753076678481327183750426185193592531377086741532220643268356767642277537611979661187480000980547410608501774065786862427418601809345785086532899307959627711968474180687331058421152757665108980362489557817844174661634286148811870327042347095516786692608536009272009894606733404907935791837295825117299239003432788591671534266540101144028972223749178745368295086740167940468026486474721725388546282853328777423360454021623565704389072855881378023059241164232034182686082313974765799252272843838615137985028093645338451160957819119098697456261450146117996046689503271089121326817487705161914601 204844546898178944924599768411471284041356616171256955719839762675392547625407239115682950009660371373649649543269403587091480555270342531684844612096708710307658559850918629262770608266523335386806595125461528386335978852949723829543835784636110385766736260559808431070282797712099922479318645275469355654189395292683661728280009173052148364270161755787533905252119274375694376275121221675122548322306989197212401655236592136321265085444672128629057155456058176960295316681484547647313177969320122899367217629051745913720663409804954295117038803784130338709307840441884897660563766893801579061069391083463114533139756506634007558953952402711990497417163436123431222307687277743770026548460782130357647113188045930326521062660374655810523533634546993658641218930569330693716911898813334424459579073259531245070210322091100938762009558655089170877886421491357802361728039867380685219791039038525013972470567394617348696649726647276593613275765146930580628119892895320463423944980361628402529909591490752078372087911783742172479332590269986411731805684656236417421623976585295511539742982188509280912807947842075364956505296185059757271862938421333928144623263471449088124737991561639710542630261965920847505975862504689427443989955318233495930012574223745224577902568988246881166137624637779840548490148476390640445420131090305113643014565970757377715501770957524838958259132307856198081460686005849615032484469955528402084977459901385997009383843306580639664250730606549903623044667951357243526525413568435097010374452053074273435777337804900536288806649411857010092816040535485589460123653782472432300934302640341694961987457625170174741473653780596039724404954816936716911259664086095491151641683876225846722255399608670743479829801314908729170931163208514253442430737253442216143063266795790903793269560479946901465842182193158086364818281569146309447620407499968884671028920223206572001896639025752441924680173630411369820838357659155590128682542305371339580280198500635955531100427945589491520975949814534360123363760506576169473087148700574347682937022146735677759135212008869685690828792618256755115813292040574753925582127791251358334543389895811004739882224162098090692631706721692458903838303180531787925545349404299708913852986231020901303579214577024746728889743231453590178602601532093297907812644003137999343466138997627462515475449355413967755964095520060271115706355893899984008752895751800717061068164891252509023954285961438907108241302178986230205801344323568593967632520839361515843565452777035991760216871933722865199724318942710908893275916337956837200151806973507086000759959300366315654566371928540227405158244927482534702038460957737327954021371931459886123 331445439291325378595729791354684346719376445647946014833433612449679739089646189071575108631342653363488806141752665300424596288465307178162777619628732181306942161864415518683382078799854798516563353735742865741982185137637242553160277170837242621622991487346388073063796062734877084811082959183424120777547295884904408493939385703918088935323979629448450360751684939035563702715883858039467641288350546408645781811891207941872274380166784774874399373646437056006726466614133281983951958549341064433214533644744065294610433764634909169624858385408034433362885690581446569009833859159657428050963469397919417080076855091494358865149404886880122991055891181365043290252347777013164764843067487494917280736515126064595132804457915021702717372529259527355611691449042884549670867979013981214120209113380674207263740270022773038267151838025655465322483054971948655766777006893430494721010072262022513832441158069499012454260412002420727540422958472992770883969595812063184246176397374448664632602732872964507901289697144189614944322089323235498602411847554969927860347803634386341114477199652688417297307066660225751463515326069750884198954994604815004670939130983722229157292314990943706853313727339117112153298963099965275678903318766846742176064658222858059184756884087827125851037521445790878880231656624847081816791217478932373793718613996296968195369060673132970493171045462320500422839224801453206187962207330351783157846558081206020173133021826850820837930946025476263894082519002073112486961863642940892593760074118579022915737052722857543252715890490341811891181092123744286348940448749490412388356746540712256146588519716221479233502567752991547879185836496631652381446793049944470302687153354810431083028892614914804917824294024578320893143912936963497329635499392741854877520453265260402637547661554168827775223501004668930114390783080863468399292434570340430922891011989380344236156098479737614705892352920038042207222288075283523573717694677527597025693076657007530302560586358248982947399742225419320588527507966844262180039499187077753248274974453934969013949266224735977178730545694935236442997042466759947518113504877992890555186658252578647017419836141759278172632687269103067405612368967394215344147158750084795446752294190648613272053395264355805150042500896562570541092159349937472569446930151949869670508486093144249208083985364685977650570828924968206907543651719017283247756328540392388595334704992396537996178035140184275403328042346926698232287819045293982513915374168138939204019474400601696149289727815100888258965483174745091579358230312722636452424650812122223985788052945704766815524191047638924861419695073600530748727964228826449280838859636621800724 536289986189504323520329559766155630760733061819202970553273375125072286715053428187258058641003024737138455685022068887516076843735649709847622231725440891614600721715334147946152687066378133903369948861204394128318163990586966382704112955473353007389727747906196504134078860446977007290401604458893476431736691177588070222219394876970237299594141385235984266003804213411258078991005079714590189610657535605858183467127800078193539465611456903503456529102495232967021783295617829631265136518661187332581751273795811208331097174439863464741897189192164772072193531023331466670397626053459007112032860481382531613216611598128366424103357289592113488473054617488474512560035054756934791391528269625274927849703171994921653867118289677513240906163806521014252910379612215243387779877827315638579788186640205452333950592113873977029161396680744636200369476463306458128505046760811179940801111300547527804911725464116361150910138649697321153698723619923351512089488707383647670121377736077067162512324363716586273377608927931787423654679593221910334217532211206345281971780219681852654220181841197698210115014502301116420020622254810641470817933026148932815562394455171317282030306552583417395943989305037959659274825604654703122893274085080238106077232446603283762659453076074007017175146083570719428721805101237722262211348569237487436733179967054345910870831630657809451430177770176698504299910807302821220446677285880185242824017982592017182516865133431460502181676632026167517127186953430356013487277211375989604134526171653296351514390527758079541522539902198821983997132659229875809064102531962844689291049181053951108575977341391653974976221533587587603590791313568369292706457136039961454328837231036277805284292223585548397654095339487050064075076145477750772066236646184071020583720061051306430817222034115729241065683197827016479209064650009777846912842070309315593919932212586916238052737505490056630572526550449412028060645734439113702400236982898936605973275157643485833661014303838474468375692039953680711891268473420431653126647887652100931211996600670646773084478233605662869559338313191991558810334507334701443695632669244248889730048148389651757302060303857368865264393990795526309450672147926003269692508154384504360605280421669514575632609841380551878932244128016160719694760882030770477259574155087869013974625090771711723559434720099945406534924445028478023250007612917267256509224292193105656402869883649047020132321101623182511569344525912928438089163368862576481547895007500455047584927177637687909506599748823753458689802117456000472634146650679473652576457785629309986548012246071082470090562976179152266577940001083065450766425186563777234860231568081686847 867735425480829702116059351120839977480109507467148985386706987574752025804699617258833167272345678100627261826774734187940673132200956888010399851354173072921542883579749666629534765866232932419933302596947259870300349128224208935864390126310595629012719235252584577197874923181854092101484563642317597209283987062492478716158780580888326234918121014684434626755489152446821781706888937754057830899008082014503965279019008020065813845778241678377855902748932288973748249909751111615217095068002251765796284918539876502941530939074772634366755574600199205435079221604778035680231485213116435162996329879301948693293466689622725289252762176472236479528945798853517802812382831770099556234595757120192208586218298059516786671576204699215958278693066048369864601828655099793058647856841296852699997300020879659597690862136647015296313234706400101522852531435255113895282053654241674661811183562570041637352883533615373605170550652118048694121682092916122396059084519446831916297775110525731795115057236681094174667306072121402367976768916457408936629379766176273142319583854068193768697381493886115507422081162526867883535948324561525669772927630963937486501525438893546439322621543527124249257716644155071812573788704619978801796592851926980282141890669461342947416337163901132868212667529361598308953461726084804079002566048169861230451793963351314106239892303790779944601223232497198927139135608756027408408884616231968400670576063798037355649886960282281340112622657502431411209705955503468500449140854316882197894600290232319267251443250615622794238430392540633875178224782974162158004551281453257077647795721766207255164497057613133208478789286579135482776627810200021674153250185984431757015990585846708888313184838500353315478389364065370957218989082441248101701736038925925898104173326311709068364883588284557016289184202495946593599847730873246246205276640649746516810944201967260474208835985227671336464879470487454235282933809722637276117931660426533631666351814651016136221600662087457415775434265373001300418776440264693833166147074729854179486971054605615787033744458341640048289884008127228001807376974094648961809137547237139444916706400968298774721896445616647037897081259898593715063041115320218613839666904469299807357574612318127847686005105736357028974745024578731260786920231968243046706504307037738684483111183915960931643420084785923057105753369996684930793659331934550504265552832585494251737574876045585016310356241807457914897386872839626670376982414156558995463269175639394251604401578239384058796327563924641717655285292201092051992376963402110105001108597751533972336065191775849285614754023818077127997635074683596199494389415390226515699091204703487571 1404025411670334025636388910886995608240842569286351955939980362699824312519753045446091225913348702837765717511796803075456749975936606597858022083079613964536143605295083814575687452932611066323303251458151653998618513118811175318568503081783948636402446983158781081331953783628831099391886168101211073641020678240080548938378175457858563534512262399920418892759293365858079860697894017468648020509665617620362148746146808098259353311389698581881312431851427521940770033205368941246482231586663439098378036192335687711272628113514636099108652763792363977507272752628109502350629111266575442275029190360684480306510078287751091713356119466064349968002000416341992315372417886527034347626124026745467136435921470054438440538694494376729199184856872569384117512208267315036446427734668612491279785486661085111931641454250520992325474631387144737723222007898561572023787100415052854602612294863117569442264608997731734756080689301815369847820405712839473908148573226830479586419152846602798957627381600397680448044915000053189791631448509679319270846911977382618424291364073750046422917563335083813717537095664827984303556570579372167140590860657112870302063919894064863721352928096110541645201705949193031471848614309274681924689866937007218388219123116064626710075790239975139885387813612932317737675266827322526341213914617407348667184973930405660017110723934448589396031401002673897431439046416058848628855561902112153643494594046390054538166752093713741842294299289528598928336892908933824513936418065692871802029126461885615618765833778373702335760970294739455859175357442204037967068653813416101766938844902820158363740474399004787183455010820166723086367419123768390966859707322024393211344827816882986693597477062085901713132484703552421021294065227918998873767972685109996918687893387363015499182105622400286257354867400322963072808912380883024093118118710959062110730876414554176712261573490717727967037406020936866263343579544161750978518168643325470237639626972294501969882614965925931884151126305326682012310044913685125486292794962381955110698967655276262560118222691947302917849222321319219560617711481429350405504770216481388334646754549357950532023956749474015903161475250694120024513713263246221883532175058853804167962855033987642423318614947116908907906989152594891980481681113999013523966078462125607698457736274687672655202854804885868463640677815025162954043666944851817760774777124778599908140444759694632036442677343430640426466731398752555108466145783019135477011164183139849299189328755877071968302927312748395176345087409657092524626523614081583757577566383380843958884077437846931755705316999997229394575575075766661650260814601954003750559322772785174418 2271760837151163727752448262007835585720952076753500941326687350274576338324452662704924393185694380938392979338571537263397423108137563485868421934433787037457686488874833481205222218798843998743236554055098913868918862247035384254432893208094544265415166218411365658529828706810685191493370731743528670850304665302573027654536956038746889769430383414604853519514782518304901642404782955222705851408673699634866114025165816118325167157167940260259168334600359810914518283115120052861699326654665690864174321110875564214214159052589408733475408338392563182942351974232887538030860596479691877438025520239986428999803544977373817002608881642536586447530946215195510118184800718297133903860719783865659345022139768113955227210270699075945157463549938617753982114036922414829505075591509909343979782786681964771529332316387168007621787866093544839246074539333816685919069154069294529264423478425687611079617492531347108361251239953933418541942087805755596304207657746277311502716927957128530752742438837078774622712221072174592159608217426136728207476291743558891566610947927818240191614944828969929224959176827354852187092518903933692810363788288076807788565445332958410160675549639637665894459422593348103284422403013894660726486459788934198670361013785525969657492127403876272753600481142293916046628728553407330420216480665577209897636767893756974123350616238239369340632624235171096358578182024814876037264446518344122044165170110188091893816639053996023182406921947031030339546598864437293014385558920009753999923726752117934886017277028989325129999400687280089734353582225178200125073205094869358844586640624586365618904971456617920391933800106745858569144046933968412641012957508008824968360818402729695581910661900586255028610874067617791978513054310360246975469708724035922816792066713674724567546989210684843273644051602818909666408760111756270339323395351608808627541820616521437186470409475945399303502285491424320498626513353884388254636100303752003869305978786945518106104215628013389299926560570699683312728821353949819319458942037111809290185938709881878347151967150288942966139106329446447562425088455523999367313907763718527779563460950326249306745853195090662941058556510592713739576754378566440497371841963323103975320429646305770271004620052853265936881734177173623241268601345967256570672582769163346382940847458603633586846274889671791520746431185021847884837326276786368265040329957364094159878019635740217052753033585238098341364118271592181778843128197175694472474433358779243550793730334116456027099254876673036894000372701858184576618900577483693862578674981132377931220142629622781041320071023815306522573210150450257849755204017344230266258413977488661989 3675786248821497753388837172894831193961794646039852897266667712974400650844205708151015619099043083776158696850368340338854173084074170083726444017513401001993830094169917295780909671731455065066539805513250567867537375365846559573001396289878492901817613201570146739861782490439516290885256899844739744491325343542653576592915131496605453303942645814525272412274075884162981503102676972691353871918339317255228262771312624216584520468557638842140480766451787332855288316320488994108181558241329129962552357303211251925486787166104044832584061102184927160449624726860997040381489707746267319713054710600670909306313623265124908715965001108600936415532946631537502433557218604824168251486843810611126481458061238168393667748965193452674356648406811187138099626245189729865951503326178521835259568273343049883460973770637688999947262497480689576969296547232378257942856254484347383867035773288805180521882101529078843117331929255748788389762493518595070212356230973107791089136080803731329710369820437476455070757136072227781951239665935816047478323203720941509990902312001568286614532508164053742942496272492182836490649089483305859950954648945189678090629365227023273882028477735748207539661128542541134756271017323169342651176326725941417058580136901590596367567917643851412638988294755226233784303995380729856761430395282984558564821741824162634140461340172687958736664025237844993790017228440873724666120008420456275687659764156578146431983391147709765024701221236559629267883491773371117528321976985702625801952853214003550504783110807363027465760370982019545593528939667382238092141858908285460611525485527406523982645445855622707575388810926912581655511466057736803607872664830033218179705646219612682275508138962672156741743358771170212999807119538279245849237681409145919735479960101037740066729094833085129530998919003141872739217672492639294432441514062567870738272697031075613898731982966663127270539691512361186761970092898046139233154268947077474106945605759240020075986830593939321184077686876026365325038866267634944805751736999493764400884906365158140907270189842236245883988328650765667123042799936953349772818677980199916114210215499684199838769809944564678844220031761286833764090467641812662380904017022176908143283284680293412694323234999970174844788723329768515221750282459966270094638661231288954081398583733291306242049129694557659984387109000047010838880993221638186025815107082142694068018464395434849089195710928668738767830849670344736887309273980194829949485597541919092849983059089993527995402182189421432070345460111515277101245424191565277620156241364513221890104220067469712797025388023812535917148785226216919500016018619298234016817736750273836407 5947547085972661481141285434902666779682746722793353838593355063248976989168658370855940012284737464714551676188939877602251596192211733569594865951947188039451516583044750776986131890530299063809776359568349481736456237612881943827434289497973037167232779419981512398391611197250201482378627631588268415341630008845226604247452087535352343073373029229130125931788858402467883145507459927914059723327013016890094376796478440334909687625725579102399649101052147143769806599435609046969880884895994820826726678414086816139700946218693453566059469440577490343391976701093884578412350304225959197151080230840657338306117168242498725718573882751137522863063892846733012551742019323121302155347563594476785826480201006282348894959235892528619514111956749804892081740282112144695456578917688431179239351060025014654990306087024857007569050363574234416215371086566194943861925408553641913131459251714492791601499594060425951478583169209682206931704581324350666516563888719385102591853008760859860463112259274555229693469357144402374110847883361952775685799495464500401557513259929386526806147452993023672167455449319537688677741608387239552761318437233266485879194810559981684042704027375385873434120551135889238040693420337064003377662786514875615728941150687116566025060045047727685392588775897520149830932723934137187181646875948561768462458509717919608263811956410927328077296649473016090148595410465688600703384454938800397731824934266766238325800030201705788207108143183590659607430090637808410542707535905712379801876579966121485390800387836352352595759771669299635327882521892560438217215064003154819456112126151992889601550417312240627967322611033658440224655512991705216248885622338042043148066464622342377857418800863258411770354232838788004978320173848639492824707390133181842552272026814712464634276084043769972804642970605960782405626432604395564771764909414176679365814517647597051085202392442608526574041977003785507260596606251930527487790369250829477976251584546185538182091046221952710484004247446726048637767687621584764125210679036605573691070845075040019254422156992525188850127434980212114685467888392477349140132585743918443893773676450010449145515663139655341785278588271879547503667222020379102878275858985500012118603714326599182965327855052823440781670457506942138463018883805933526665311244000452300464339431191894939828895404584229451505133540185068858723718319498424554290855437039506788227896484031175066141948744513906837109194967941936918666152402177370524421960030900698336400776789424109984022501437066094468964345832813373461677864324769048971482734916345645599821324362697092493838345459047627842439721995376667177349771222636642464283076150727762498396 9623333334794159234530122607797497973644541368833206735860022776223377640012864079006955631383780548490710373039308217941105769276285903653321309969460589041445346677214668072767041562261754128876316165081600049603993612978728503400435685787851530069050392621551659138253393687689717773263884531433008159832955352387880180840367219031957796377315675043655398344062934286630864648610136900605413595245352334145322639567791064551494208094283217944540129867503934476625094915756098041078062443137323950789279035717298068065187733384797498398643530542762417503841601427954881618793840011972226516864134941441328247612430791507623634434538883859738459278596839478270514985299237927945470406834407405087912307938262244450742562708201085981293870760363560992030181366527301874561408082243866953014498919333368064538451279857662546007516312861054923993184667633798573201804781663037989296998495025003297972123381695589504794595915098465430995321467074842945736728920119692492893680989089564591190173482079712031684764226493216630156062087549297768823164122699185441911548415571930954813420679961157077415109951721811720525168390697870545412712273086178456163969824175787004957924732505111134080973781679678430372796964437660233346028839113240817032787521287588707162392627962691579098031577070652746383615236719314867043943077271231546327027280251542082242404273296583615286813960674710861083938612638906562325369504463359256673419484698423344384757783421349415553231809364420150288875313582411179528071029512891415005603829433180125035895583498643715380061520142651319180921411461559942676309356922911440280067637611679399413584195863167863335542711421960571021880166979049442019856758287168075261327772110841955060132926939825930568512097591609958217978127293386918738673945071542327762287751986915750204701005178876855102335641889609102655144844105097034859204206423476744550104087214678672664983934375409271653844581668516146694022566699149976666720944638197906952083197190305425558258077876815892031668081934322752413962806553889219708930962416036099338091955751440198160161692346834761434734115763630977781808510688329430698912951263724118360007983891949694648984285473084220020629498620033166381267757689662191765259179876007676920261886999006892595659651090052793615626459180836710653684769166265899796759949905231741254545738014925186246070944534278787111489520649185115869562599312720062740316670544121649482295914948426609915231144455442575575877025817612281655553461676157565354371445628442617429250759848514103512017903619255515901034691292924888738779109748960614249102891157710158821711428582764562206635370847071440378356870780602884096849787241255940698299893887478036334803 15570880420766820715671408042700164753327288091626560574453377839472354629181522449862895643668518013205262049228248095543357365468497637222916175921407777080896863260259418849753173452792053192686092524649949531340449850591610447227869975285824567236283172041533171536645004884939919255642512163021276575174585361233106785087819306567310139450688704272785524275851792689098747794117596828519473318572365351035417016364269504886403895720008797046939778968556081620394901515191707088047943328033318771616005714131384884204888679603490951964702999983339907847233578129048766197206190316198185714015215172281985585918547959750122360153112766610875982141660732325003527537041257251066772562181970999564698134418463250733091457667436978509913384872320310796922263106809414019256864661161555384193738270393393079193441585944687403015085363224629158409400038720364768145666707071591631210129954276717790763724881289649930746074498267675113202253171656167296403245484008411877996272842098325451050636594338986586914457695850361032530172935432659721598849922194649942313105928831860341340226827414150101087277407171131258213846132306257784965473591523411722649849018986346986641967436532486519954407902230814319610837657857997297349406501899755692648516462438275823728417688007739306783424165846550266533446169443249004231124724147180108095489738761260001850668085252994542614891257324183877174087208049372250926072888918298057071151309632690110623083583451551121341438917507603740948482743673048987938613737048797127385405706013146246521286383886480067732657279914320618816249293983452503114526571986914595099523749737831392303185746280480103963510034032994229462104822492041147236105643909506117304475838575464297437990345740689188980282451824448746222956447467235558231498652461675509604840024013730462669335281262920625075140284860215063437550470537701430423975971332890921229469901732326269716069136767851880180418623645519932201283163305401907194208735007448736430059448774851611096440168923037844742152086181769478462600574241510804473056173095072704911783026596515238179416114503827286623584243198611189896493978576721908048053083849468036803901757568399705098129801136223875362414777208305045928771424911682570868137455734993176932380490713333491778624978945105617056408129638343652792147788050071833323425261149232193555010077446117081185899839938863016562994654189370184728286317632218487294607525981161156270523811432457784981373093199956482412986220785554218574219614078334935878793405659343315765651536637938213496040405056321610369999037125738262200456974073729663220585626074055804421532752945461654700473716306119068220796592775979551274199558463892583162582970038205798833199 25194213755560979950201530650497662726971829460459767310313400615695732269194386528869851275052298561695972422267556313484463134744783540876237485890868366122342209937474086922520215015053807321562408689731549580944443463570338950628305661073676097305333564663084830674898398572629637028906396694454284735007540713620986965928186525599267935828004379316440922619914726975729612442727733729124886913817717685180739655932060569437898103814292014991479908836060016097019996430947805129126005771170642722405284749848682952270076412988288450363346530526102325351075179557003647816000030328170412230879350113723313833530978751257745994587651650470614441420257571803274042522340495179012242969016378404652610442356725495183834020375638064491207255632683871788952444473336715893818272743405422337208237189726761143731892865802349949022601676085684082402584706354163341347471488734629620507128449301721088735848262985239435540670413366140544197574638731010242139974404128104370889953831187890042240810076418698618599221922343577662686235022981957490422014044893835384224654344403791296153647507375307178502387358892942978739014523004128330378185864609590178813818843162133991599892169037597654035381683910492749983634622295657530695435341012996509681303983725864530890810315970430885881455742917203012917061406162563871275067801418411654422517019012802084093072358549578157901705217998894738258025820688278813251442393381657313744570794331113455007841366872900536894670726872023891237358057255460167466684766561688542391009535446326371557181967385123783112718800056971937997170705445012445790835928909826035379591387349510791716769942143647967299052745454954800483984989471090589255962402196674192565803610686306252498123272680515119548794549416058704440934574760622476970172597533217837367127776000646212874036286441797480177475926749824166092695314642798465283180177756367665779573988947004942381053071143261151834263205314036078895305730004551883860929679645646643382142645965157036654698246799853736773820168116092230876563380795400024181987135511108804249874982347955436339577806850662048058318358962242167678302489265051338746966035113192155163909741460349399747114086609308095383044275828338212310039182601344762633396635611000853852642377712340384374284630035158410672034588819180363445832557216337733120185211054463934809555815461042267431970784473141803674484174838555300597848916944938550034924196525282805752819726380884394896604237655399057988863246603166500229773075754492501233164851287785933194902296486452317008058308675577126271033728418663150939236083822690277469688517231765963243244181528226216907109087153190508599153463556582435371049345705148523860882863925683835168002 40765094176327800665872938693197827480299117552086327884766778455168086898375908978732746918720816574901234471495804409027820500213281178099153661812276143203239073197733505772273388467845860514248501214381499112284893314161949397856175636359500664541616736704618002211543403457569556284548908857475561310182126074854093751016005832166578075278693083589226446895766519664828360236845330557644360232390083036216156672296330074324301999534300812038419687804616097717414897946139512217173949099203961494021290463980067836474965092591779402328049530509442233198308757686052414013206220644368597944894565286005299419449526711007868354740764417081490423561918304128277570059381752430079015531198349404217308576775188745916925478043075043001120640505004182585874707580146129913075137404566977721401975460120154222925334451747037352037687039310313240811984745074528109493138195806221251717258403578438879499573144274889366286744911633815657399827810387177538543219888136516248886226673286215493291446670757685205513679618193938695216407958414617212020863967088485326537760273235651637493874334789457279589664766064074236952860655310386115343659456133001901463667862148480978241859605570084173989789586141307069594472280153654828044841842912752202329820446164140354619228003978170192664879908763753279450507575605812875506192525565591762518006757774062085943740443802572700516596475323078615432113028737651064177515282299955370815722103963803565630924950324451658236109644379627632185840800928509155405298503610485669776415241459472618078468351271603850845376079971292556813419999428464948905362500896740630479115137087342184019955688424128071262562779487949029946089811963131736492068046106180309870279449261770549936113618421204308529077001240507450663891022227858035201671249994893346971967800014376675543371567704718105252616211610039229530245785180499895707156149089258587009043890679331212097122207911113032014681828959556011096588893309953791055138414653095379812202094740008647751138415722891581515972254297861709339163955036910828655043308606181509161658008944470674518993921354489334681902602160853357574796467841773246795019118962660191967811499028749104845243887745531970745459053036643258238810607513027333501534091345994030785022868425673876152909608980264027728442718457524016237980345266409566443610472203696128364565892907159348617870624412004820237478829027925485326135234577157037329531722506443962023343537813342179877977330855355540401849467388720718803992689832827437111958256947129248960553833124390530504098713731898736641032765544401413139693057896419940690274143305821767664776934473687871607582803459309576819950056332561986645248904169041107023465833963889634001201 65959307931888780616074469343695490207270947012546095195080179070863819167570295507602598193773115136597206893763360722512283634958064718975391147703144509325581283135207592694793603482899667835810909904113048693229336777732288348484481297433176761846950301367702832886441802030199193313455305551929846045189666788475080716944192357765846011106697462905667369515681246640557972679573064286769247146207800721396896328228390643762200103348592827029899596640676113814434894377087317346299954870374604216426575213828750788745041505580067852691396061035544558549383937243056061829206250972539010175773915399728613252980505462265614349328416067552104864982175875931551612581722247609091258500214727808869919019131914241100759498418713107492327896137688054374827152053482845806893410147972400058610212649846915366657227317549387301060288715395997323214569451428691450840609684540850872224386852880159968235421407260128801827415324999956201597402449118187780683194292264620619776180504474105535532256747176383824112901540537516357902642981396574702442878011982320710762414617639442933647521842164764458092052124957017215691875178314514445721845320742592080277486705310614969841751774607681828025171270051799819578106902449312358740277183925748712011124429890004885510038319948601078546335651680956292367568981768376746781260326984003416940523776786864170036812802352150858418301693321973353690138849425929877428957675681612684560292898294917020638766317197352195130780371251651523423198858183969322871983270172174212167424776905798989635650318656727633958094880028264494810590704873477394696198429806566665858706524436852975736725630567776038561615524942903830430074801434222325748030448302854502436083059948076802434236891101719428077871550656566155104825596988480512171843847528111184339095576015022888417407854146515585430092138359863395622941099823298360990336326845626252788617879626336154478175279054374183848945034273592089991894623314505674916068094298742023194344740705165684405836662522745318289792422413953940215727335832310852837030444117290313411532991292426110858571728205151382740220961123095525253098957106824585541985154075852347131721240489098504592357974354840066128503328864981470548849790114372096134930726956994884637665246138014260527194239015422438400477307276704379683812902482747299563795683258160063174121708368201616049841408885146623911963003866480785923984151522095587364455919031726767776163264194226574774581568510754598390712713991887219033765765587319938345123108234915182155456129610842847512157022407475862912066493963064564078929141719110218159962660537587730908021116001914088514691890612500085419103519889144422016298249874189630884348697889573469169203 106724402108216581281947408036893317687570064564632423079846957526031906065946204486335345112493931711498441365259165131540104135171345897074544809515420652528820356332941098467066991950745528350059411118494547805514230091894237746340656933792677426388567038072320835097985205487768749598004214409405407355371792863329174467960198189932424086385390546494893816411447766305386332916418394844413607378597883757613053000524720718086502102882893639068319284445292211531849792323226829563473903969578565710447865677808818625220006598171847255019445591544986791747692694929108475842412471616907608120668480685733912672430032173273482704069180484633595288544094180059829182641104000039170274031413077213087227595907102987017684976461788150493448536642692236960701859633628975719968547552539377780012188109967069589582561769296424653097975754706310564026554196503219560333747880347072123941645256458598847734994551535018168114160236633771858997230259505365319226414180401136868662407177760321028823703417934069029626581158731455053119050939811191914463741979070806037300174890875094571141396176954221737681716891021091452644735833624900561065504776875593981741154567459095948083611380177766002014960856193106889172579182602967186785119026838500914340944876054145240129266323926771271211215560444709571818076557374189622287452852549595179458530534560926255980553246154723558934898168645051969122251878163580941606472957981568055376015002258720586269691267521803853366890015631279155609039659112478478277281773782659881943840018365271607714118669928331484803470959999557051624010704301942343601560930703307296337821661524195159756681318991904109824178304430852860376164613397354062240098494409034812306362509209847352370350509522923736606948551897073605768716619216338547373515097523004531311063376029399563960779421851233690682708349969902625153186885003798256697492475934884839797661770305667366575297486965487215863626863233148101088483516624459465971206508951837403006546835445174332156975078245636899805764676711815649554891290869221681492073752723471822573191000236896785377565649559640717422123563283948882827895424948597832337004273038512539099532739517847609437601862100372036873962381901624728787660397627399429636464818302988915422688114563688136680103847995686466128920025734228395921793247749156866007406155461856191538687601275360964667712033297151444149441832894406271250119386099252624693987641538170729799506802007568754652558899366110138792562181380607937837758455420147375457081365182044431116009962735233378016255736139374599553099259507465977218622199615530158850236803843409498572798050475601960122274694071809662239053576221706408661547154043230737907814531853463103170404 172683710040105361898021877380588807894841011577178518274927136596895725233516499993937943306267046848095648259022525854052387770129410616049935957218565161854401639468148691161860595433645196185870321022607596498743566869626526094825138231225854188235517339440023667984427007517967942911459519961335253400561459651804255184904390547698270097492088009400561185927129012945944305595991459131182854524805684479009949328753111361848702206231486466098218881085968325346284686700314146909773858839953169926874440891637569413965048103751915107710841652580531350297076632172164537671618722589446618296442396085462525925410537635539097053397596552185700153526270055991380795222826247648261532531627805021957146615039017228118444474880501257985776432780380291335529011687111821526861957700511777838622400759813984956239789086845811954158264470102307887241123647931911011174357564887922996166032109338758815970415958795146969941575561633728060594632708623553099909608472665757488438587682234426564355960165110452853739482699268971411021693921207766616906619991053126748062589508514537504788918019118986195773769015978108668336611011939415006787350097618186062018641272769710917925363154785447830040132126244906708750686085052279545525396210764249626352069305944150125639304643875372349757551212125665864185645539142566369068713179533598596399054311347790426017366048506874417353199861967025322812390727589510819035430633663180739936307900553637606908457584719156048497670386882930679032238517296447801149265043954834094111264795271070597349768988585059118761565840027821546434601409175419738297759360509873962196528185961048135493406949559680148385793829373756690806239414831576387988128942711889314742445569157924154804587400624643164684820102553639760873542216204819059545358945051115715650158952044422452378187275997749276112800488329766020776127984827096617687828802780511092586279649932003521053472766019861399712571897506740191080378139938965140887274603250579426200891576150340016562811740768382218095557099125769589770618626701532534329104196840762135984723991529322896236137377764792100162344524407044408080994382055422417878989427114364886231253980006946114029959836455212103002465710766606199336510187741771525771395545259983800060353360701702397207298087011108904529397333010932775605606150231904165571201838720016254712809309643562580717553442182298068061404836760887057174103537621348212058443560569897497575670066201795329427140467876864737183274895372495156871524221007467313802204473416959613271466092346076225528412758546850462465165753470530541297551341334640377010199464380997229480819166477516048636966584684309747658157096110850830677845403917420368792163229743036572339607 279408112148321943179969285417482125582411076141810941354774094122927631299462704480273288418760978559594089624281690985592491905300756513124480766733985814383221995801089789628927587384390724535929732141102144304257796961520763841165795165018531614624084377512344503082412213005736692509463734370740660755933252515133429652864588737630694183877478555895455002338576779251330638512409853975596461903403568236623002329277832079935204309114380105166538165531260536878134479023540976473247762809531735637322306569446388039185054701923762362730287244125518142044769327101273013514031194206354226417110876771196438597840569808812579757466777036819295442070364236051209977863930247687431806563040882235044374210946120215136129451342289408479224969423072528296230871320740797246830505253051155618634588869781054545822350856142236607256240224808618451267677844435130571508105445234995120107677365797357663705410510330165138055735798267499919591862968128918419136022653066894357100994859994747593179663583044521883366063858000426464140744861018958531370361970123932785362764399389632075930314196073207933455485906999200120981346845564315567852854874493780043759795840228806866008974534963213832055092982438013597923265267655246732310515237602750540693014181998295365768570967802143620968766772570375436003722096516755991356166032083193775857584845908716681997919294661597976288098030612077291934642605753091760641903591644748795312322902812358193178148852240959901864560402514209834641278176408926279426546817737493976055104813636342205063887658513390603565036800027378598058612113477362081899320291213181258534349847485243295250088268551584258209972133804609551182404028228930450228227437120924127048808078367771507174937910147566901291768654450713366642258835421157606918874042574120246961222328073822016338966697848982966795508838299668645929314869830894874385321278715395932383941420237670887628770252985348615576198760739888292168861656563424606858481112202416829207438411595514348719786819014019117901321775837585239325509917570754215821177949564233958557914991766219681613703027324432817584468087690993290908889807004020250215993700152877425330786719524793723467561698555584139876428092668230928124170585369170955407860363562972715483041475265390533887401935006795370658317358745161171527399397981061031578607994181872446251496910918923545385265475479449512210846669655293328424222923720600836752431202108068227375176868209364084079699367242974875975837076753103094709282676427614689259285838599004044387476055081309603544668494686225062018265012977996518516173540950170535860436268224406728053617216953118008759241278756119409897210672332557239339392557960651106699977761596499675510011 452091822188427305077991162798070933477252087718989459629701230719823356532979204474211231725028025407689737883304216839644879675430167129174416723952550976237623635269238480790788182818035920721800053163709740803001363831147289935990933396244385802859601716952368171066839220523704635420923254332075914156494712166937684837768979285328964281369566565296016188265705792197274944108401313106779316428209252715632951658030943441783906515345866571264757046617228862224419165723855123383021621649484905564196747461083957453150102805675677470441128896706049492341845959273437551185649916795800844713553272856658964523251107444351676810864373589004995595596634292042590773086756495335693339094668687257001520825985137443254573926222790666465001402203452819631759883007852618773692462953562933457256989629595039502062139942988048561414504694910926338508801492367041582682463010122918116273709475136116479675826469125312107997311359901227980186495676752471519045631125732651845539582542229174157535623748154974737105546557269397875162438782226725148276981961177059533425353907904169580719232215192194129229254922977308789317957857503730574640204972111966105778437112998517783934337689748661662095225108682920306673951352707526277835911448367000167045083487942445491407875611677515970726317984696041300189367635659322360424879211616792372256639157256507108015285343168472393641297892579102614747033333342602579677334225307929535248630803365995800086606436960115950362230789397140513673516693705374080575811861692328070166369608907412802413656647098449722326602640055200144493213522652781820197079651723055220730878033446291430743495218111264406595765963178366241988643443060506838216356379832813441791253647525695661979525310772210065976588757004353127515801051625976666464232987625235962611381280118244468717153973846732242908309326629434666705442854657991492073150081495907024970221070169674408682243019005210015288770658246628483249239796502389747745755715452996255408329987745854365282598559782401335996878874963354829096128544272286750150282146404996094542638983295542577849840405089224917746812612098037698989884189059442668094983127267242311562040699531739837497521535010796242878893803434837127460680773110942481179255908822956515543394835967092931094700022017904275187714691756093947133005548212965197149809832901888700964306220562486126102818917661747580272251506416180385598326461341949048810874762677965724950846934411159413506839835119839613159111972125598251580806897435082003061490312015963657658942147427385829073081253233075524483430766448527059813724882284810912870635732605403957534436383430634057396207863440429157555367768443408070017237961878071475492140991339536247849618 731499934336749248257960448215553059059663163860800400984475324842750987832441908954484520143789003967283827507585907825237371580730923642298897490686536790620845631070328270419715770202426645257729785304811885107259160792668053777156728561262917417483686094464712674149251433529441327930386988702816574912427964682071114490633568022959658465247045121191471190604282571448605582620811167082375778331612820952255953987308775521719110824460246676431295212148489399102553644747396099856269384459016641201519054030530345492335157507599439833171416140831567634386615286374710564699681111002155071130664149627855403121091677253164256568331150625824291037666998528093800750950686743023125145657709569492045895036931257658390703377565080074944226371626525347927990754328593416020522968206614089075891578499376094047884490799130285168670744919719544789776479336802172154190568455357913236381386840933474143381236979455477246053047158168727899778358644881389938181653778799546202640577402223921750715287331199496620471610415269824339303183643245683679647343931300992318788118307293801656649546411265402062684740829976508910299304703068046142493059846605746149538232953227324649943312224711875494150318091120933904597216620362773010146426685969750707738097669940740857176446579479659591695084757266416736193089732176078351781045243699986148114224003165223790013204637830070369929395923191179906681675939095694340319237816952678330560953706178353993264755289201075852226791191911350348314794870114300360002358679429822046221474422543755007477544305611840325891639440082578742551825636130143902096399942936236479265227880931534725993583486662848664805738096982975793171047471289437288444583816953737568840061725893467169154463220919776967268357411455066494158059887047134273383107030199356209572603608192066485056120671695715209703818164929103312634757724488886366458471360211302957354162490407345296311013271990558630864969418986516775418101453065814354604236827655413084615768399341368714002385378796420453898200650800940068421638461843040965971460095969230053100553975061762259463543432413657735331280699789030989898773996063462918310976827420119736892827419056533560965083233566380382755321896103068055584851358480113436587116272385929231026436311232483464982101957024699645846032050501255118660404946194026228728417827083761147215803131481409671488084393141197092483098176071473714022549385062549885563305964786033952326023802620523497586539202362814489134949048878701346290089573862696692320776150614967702046418202508695432617749747919300586501695779426523578329898423234981448731072000829810685588053600383752066155449142196548567452578440775965309356630519838722582192118752936035923359629 1183591756525176553335951611013623992536915251579789860614176555562574344365421113428695751868817029374973565390890124664882251256161090771473314214639087766858469266339566751210503953020462565979529838468521625910260524623815343713147661957507303220343287811417080845216090654053145963351310243034892489068922676849008799328402547308288622746616611686487487378869988363645880526729212480189155094759822073667888905645339718963503017339806113247696052258765718261326972810471251223239291006108501546765715801491614302945485260313275117303612545037537617126728461245648148115885331027797955915844217422484514367644342784697515933379195524214829286633263632820136391524037443238358818484752378256749047415862916395101645277303787870741409227773829978167559750637336446034794215431160177022533148568128971133549946630742118333730085249614630471128285280829169213736873031465480831352655096316069590623057063448580789354050358518069955879964854321633861457227284904532198048180159944453095908250911079354471357577156972539222214465622425472408827924325892478051852213472215197971237368778626457596191913995752953817699617262560571776717133264818717712255316670066225842433877649914460537156245543199803854211271167973070299287982338134336750874783181157883186348584322191157175562421402741962458036382457367835400712205924455316778520370863160421730898028489980998542763570693815770282521428709272438296919996572042260607865809584509544349793351361726161191802589021981308490861988311563819674440578170541122150116387844031451167809891200952710290048218242080137778887045039158782925722293479594659291699996105914377826156737078704774113071401504060161342035159690914349944126660940196786551010631315373419162831133988531691987033244946168459419621673860938673110939847340017824592172183984888310310953773274645542447452612127491558537979340200579146877858531621441707209982324383560577019704993256290995768646153740077233145258667341249568204102349992543108409340024098387087223079284983938578821789895079525764294897517767006115327716121742242374226147643192958357304837313383837502882653078093311887068688888658185122905586405959954687362048454868118588273398462604768577176625634215699537905183045532131591055917766372181208885746569831147199576396076801979042603921033746742257349065793410494406991425878227659985649848180109352043895797590903310802944672755349682487654099620875846404498934374180727463999677276870737031682911093379037482654102294061021004299597870896471297778695382266462630931359705360349936081261690831001152376110985126545875050638143623305519792361601707733435214643122489983814386123551657005636977725007946209219373379373868481716794057684259744275572171209247 1915091690861925801593912059229177051596578415440590261598651880405325332197863022383180272012606033342257392898476032490119622836892014413772211705325624557479314897409895021630219723222889211237259623773333511017519685416483397490304390518770220637826973905881793519365342087582587291281697231737709063981350641531079913819036115331248281211863656807678958569474270935094486109350023647271530873091434894620144859632648494485222128164266359924127347470914207660429526455218647323095560390567518187967234855522144648437820417820874557136783961178369184761115076532022858680585012138800110986974881572112369770765434461950680189947526674840653577670930631348230192274988129981381943630410087826241093310899847652760035980681352950816353454145456503515487741391665039450814738399366791111609040146628347227597831121541248618898755994534350015918061760165971385891063599920838744589036483157003064766438300428036266600103405676238683779743212966515251395408938683331744250820737346677017658966198410553967978048767387809046553768806068718092507571669823779044171001590522491772894018325037722998254598736582930326609916567263639822859626324665323458404854903019453167083820962139172412650395861290924788115868384593433072298128764820306501582521278827823927205760768770636835154116487499228874772575547100011479063986969699016764668485087163586954688041694618828613133500089738961462428110385211533991260315809859213286196370538215722703786616117015362267654815813173219841210303106433933974800580529220551972162609318453994922817368745258322130374109881520220357629596864794913069624389879537595528179261333795309360882730662191436961736207242157144317828330738385639381415105524013740288579471377099312630000288451752611764000513303579914486115831920825720245213230447048023948381756588496502377438829395317238162662315945656487641291974958303635764224990092801918512939678546050984365001304269562986327277018709496219662034085442702634018456954229370763822424639866786428591793287369317375242243793280176565234965939405467958368682093202338343456200743746933419067096776927269916540388409374011676099678787432181186368504716936782107481785347695537644806959427688002143557008389537595640973238630383490071169354353488453594814977596267458432059861058903936067303566879778792758604184453815440601017654606645487069410995395912483525305469078987703944141765238447858559127813643425231467048819937486692250033629602894539652206408679918239845468591429010069883000944160986045160475387703042613245899061751778552444776694308580749071676697486822325301574216473521728754773810332779734265025328710543584198138189707106147833526292460524649995338688730499001555516639876378497211608094568876 3098683447387102354929863670242801044133493667020380122212828435967899676563284135811876023881423062717230958289366157155001874093053105185245525919964712324337784163749461772840723676243351777216789462241855136927780210040298741203452052476277523858170261717298874364581432741635733254633007474772601553050273318380088713147438662639536903958480268494166445948344259298740366636079236127460685967851256968288033765277988213448725145504072473171823399729679925921756499265689898546334851396676019734732950657013758951383305678134149674440396506215906801887843537777671006796470343166598066902819098994596884138409777246648196123326722199055482864304194264168366583799025573219740762115162466082990140726762764047861681257985140821557762681919286481683047492029001485485608953830526968134142188714757318361147777752283366952628841244148980487046347040995140599627936631386319575941691579473072655389495363876617055954153764194308639659708067288149112852636223587863942299000897291130113567217109489908439335625924360348268768234428494190501335495995716257096023215062737689744131387103664180594446512732335884144309533829824211599576759589484041170660171573085679009517698612053632949806641404490728642327139552566503371586111102954643252457304459985707113554345090961794010716537890241191332808958004467846879776192894154333543188855950324008685586070184599827155897070783554731744949539094483972288180312381901473894062180122725267053579967478741523459457404835154528332072291417997753649241158699761674122278997162485446090627259946211032420422328123600358136516641903953695995346683359132254819879257439709687187039467740896211074807608746217305659863490429299989325541766464210526839590102692472731792831422440284303751033758249748373905737505781764393356153077787065848540553940573384812688392602669962780610114928073148046179271315158882782642083521714243625722922002929611561384706297525853982095923172449573452807292752783952202222559304221913872231764663965173515814872572353255954064033688359702329529863457172474073696398214944580717682348386939891776371934090311107419423041487467323563168367676090366309274091122896736794843833802563656233080357890292770720733634023753295178878421675915621662225272119860634803700724166098605631636257135705915109907487913525535015953250247225935008009080484873147055060843576021835569201266669891014747086437993797541046781913264301077871547754311667419714033306879765276683889319773297277328122693723071090887300542031882516458254083085309075876830421457138902380857955999411750224052808471948871176624854617145034274566171934487467700239971833033568012524313258763153470504017468470859214712068104367483272310697560638241487180265778123 5013775138249028156523775729471978095730072082460970383811480316373225008761147158195056295894029096059488351187842189645121496929945119599017737625290336881817099061159356794470943399466240988454049086015188647945299895456782138693756442995047744495997235623180667883946774829218320545914704706510310617031623959911168626966474777970785185170343925301845404517818530233834852745429259774732216840942691862908178624910636707933947273668338833095950747200594133582186025720908545869430411787243537922700185512535903599821126095955024231577180467394275986648958614309693865477055355305398177889793980566709253909175211708598876313274248873896136441975124895516596776074013703201122705745572553909231234037662611700621717238666493772374116136064742985198535233420666524936423692229893759245751228861385665588745608873824615571527597238683330502964408801161111985519000231307158320530728062630075720155933664304653322554257169870547323439451280254664364248045162271195686549821634637807131226183307900462407313674691748157315322003234562908593843067665540036140194216653260181517025405428701903592701111468918814470919450397087851422436385914149364629065026476105132176601519574192805362457037265781653430443007937159936443884239867774949754039825738813531040760105859732430845870654377740420207581533551567858358840179863853350307857341037487595640274111879218655769030570873293693207377649479695506279440628191760687180258550660940989757366583595756885727112220648327748173282594524431687624041739228982226094441606480939441013444628691469354550796438005120578494146238768748609064971073238669850348058518773504996547922198403087648036543815988374449977691821167685628706956871988224267128169574069572044422831710892036915515034271553328288391853337702590113601366308234113872488935697161881315065831432065280018772777244018804533820563290117186418406308511807045544235861681475662545749707601795416968423200191159069672469326838226654836241016258451284636054189303831959944406665859722573329306277481639878894764829396577942032065080308146919061138549130686825195439030867238377335963429896841335239268046463522547495642595839833518902325619150259193877887317317980772864290642413290890819851660306299111733394626473349088398515701762366064063696118194609851177211054793304327774557434701041375609026735091518634124471838971934319094506735748878718691228203232245399605909726907726309338596574249154111964066936482659816336095728453215517173591285152081160770301486192868561618729470788351689122729483208917454825634650307992499295729505958771196478199071090666763029339982267267201965265300543577152210662502965869301304030309928995509210050756834866484827827337437016738698788360346999 8112458585636130511453639399714779139863565749481350506024308752341124685324431294006932319775452158776719309477208346800123371022998224784263263545255049206154883224908818567311667075709592765670838548257043784873080105497080879897208495471325268354167497340479542248528207570854053800547712181282912170081897278291257340113913440610322089128824193796011850466162789532575219381508495902192902808793948831196212390188624921382672419172411306267774146930274059503942524986598444415765263183919557657433136169549662551204431774089173906017576973610182788536802152087364872273525698471996244792613079561306138047584988955247072436600971072951619306279319159684963359873039276420863467860735019992221374764425375748483398496651634593931878817984029466881582725449668010422032646060420727379893417576142983949893386626107982524156438482832310990010755842156252585146936862693477896472419642103148375545429028181270378508410934064855963099159347542813477100681385859059628848822531928937244793400417390370846649300616108505584090237663057099095178563661256293236217431715997871261156792532366084187147624201254698615228984226912063022013145503633405799725198049190811186119218186246438312263678670272382072770147489726439815470350970729593006497130198799238154314450950694224856587192267981611540390491556035705238616372758007683851046196987811604325860182063818482924927641656848424952327188574179478567620940573662161074320730783666256810946551074498409186569625483482276505354885942429441273282897928743900216720603643424887104071888637680386971218766128720936630662880672702305060317756597802105167937776213214683734961666143983859111351424734591755637555311596985618032498638452434793967759676762044776215663133332321219266068029803076662297590843484354506957519386021179721029489637735266127754224034735242799382892172091952579999834605276069201048392033521289169958783684405274107134413899321270950519123363608643125276619591010607038463575562673198508285953967797133460221538432075829283370311169999581224294692853750416105761478523091499778820897517626716971810964957549484755386471384308658802436414139612913804916686962730255697169452952822850110967675208273543585024276437044185998730081982214733395619898593209723202216425928464669695332375330315766287118542706829862790510684948267310617035815576391781179532682547956154663708002418769733438314641226042940652691640172027387210144328560821531678100243362425093019985048226512794501713978875152251657602028224751078076983553873660764999559904666056357206492606307404249519782314430720067654823925707811797303906154201754669665505272376610720223186816224632454774534327397466368424762824939233968100138034997654980185968626125122 13126233723885158667977415129186757235593637831942320889835789068714349694085578452201988615669481254836207660665050536445244867952943344383281001170545386087971982286068175361782610475175833754124887634272232432818380000953863018590964938466373012850164732963660210132474982400072374346462416887793222787113521238202425967080388218581107274299168119097857254983981319766410072126937755676925119649736640694104391015099261629316619692840750139363724894130868193086128550707506990285195674971163095580133321682085566151025557870044198137594757441004458775185760766397058737750581053777394422682407060128015391956760200663845948749875219946847755748254444055201560135947052979621986173606307573901452608802087987449105115735318128366305994954048772452080117958870334535358456338290314486625644646437528649538638995499932598095684035721515641492975164643317364570665937094000636217003147704733224095701362692485923701062668103935403286538610627797477841348726548130255315398644166566744376019583725290833253962975307856662899412240897620007689021631326796329376411648369258052778182197961067987779848735670173513086148434623999914444449531417782770428790224525295943362720737760439243674720715936054035503213155426886376259354590838504542760536955937612769195074556810426655702457846645722031747972025107603563597456552621861034158903538025299199966134293943037138693958212530142118159704838053874984847061568765422848254579281444607246568313134670255294913681846131810024678637480466861128897324637157726126311162210124364328117516517329149741522015204133841515124809119441450914125288829836471955515996294986719680282883864547071507147895240722966205615247132764671246739455510440659061095929250831616820638494844224358134781102301356404950689444181186944620558885694255293593518425334897147442820055466800522818155669416110757113820397895393255619454700545328334714194645365880936652884121501116687918942323554767712797745946429237261874704591821124483144340143271629093404628204291798402612676588651639460119059522250328358137826558831238418839959446648313542167249995824787862091349901281149994041704460603135461300559282802563774599495072103082043988854992526254316449314918850335076818581742288513845129014525066558811600732127690830733759028493524925617464329597500134190565068119649308686226062550667910415304004521519890473758214738167648452129542844458288340258601367079753696548740902809975643642167179845084909356080776679728311675305264027233412427903514417619639695713024662012454122289387874973812032127256615396748815511820389491264133022996798478560333246136469021871630770572920187872433849319190501756078564637326461877634813581774100452927965372434671718884756986472121 21238692309521289179431054528901536375457203581423671395860097821055474379410009746208920935444933413612926970142258883245368238975941569167544264715800435294126865510976993929094277550885426519795726182529276217691460106450943898488173433937698281204332230304139752381003189970926428147010129069076134957195418516493683307194301659191429363427992312893869105450144109298985291508446251579118022458530589525300603405287886550699292112013161445631499041061142252590071075694105434700960938155082653237566457851635228702229989644133372043612334414614641563722562918484423610024106752249390667475020139689321530004345189619093021186476191019799375054533763214886523495820092256042849641467042593893673983566513363197588514231969762960237873772032801918961700684320002545780488984350735214005538064013671633488532382126040580619840474204347952482985920485473617155812873956694114113475567346836372471246791720667194079571079038000259249637769975340291318449407933989314944247466698495681620812984142681204100612275923965168483502478560677106784200194988052622612629080085255924039338990493434071966996359871428211701377418850911977466462676921416176228515422574486754548839955946685681986984394606326417575983302916612816074824941809234135767034086136412007349389007761120880559045038913703643288362516663639268836072925379868718009949735013110804291994476006855621618885854186990543112032026628054463414682509339085009328900012228273503379259685744753704100251471615292301183992366409290570170607535086470026527882813767789215221588405966830128493233970262562451755472000114153219185606586434274060683934071199934364017845530691055366259246665457557961252802444361656864771954148893093855063688927593661596854157977556679354047170331159481612987035024671299127516405080276473314547914972632413570574279501535765617538561588202709693820232500669324820503092578849623884153429050286210760018535400437958869461446918376355923022566020247868913168167383797681652626097239426226864849742723874231896046899821639041343354215104078774243588037354329918618780344165940259139060960782337346846736372665458652844140874742748375105475969765294030296664525055904894099822667734527860034339195287379262817311824270728578524634423659768534802948553619295403454360868855241383751448140206964053355578804597575996843098366244302196483537204067846628421922740586418185567857485684331280911293007251781083758885231370797175320267423207510002376065824906241106177019242902385664085505542642370717772696578535673219121849292541030169238619862922800998335294134820211331787846922506290357637152290670776541296275845296798592657036135415134210853098964723928246059576406713334421028103407432326699070725612597243 34364926033406447847408469658088293611050841413365992285695886889769824073495588198410909551114414668449134630807309419690613106928884913550825265886345821382098847797045169290876888026061260273920613816801508650509840107404806917079138372404071294054496963267799962513478172370998802493472545956869357744308939754696109274274689877772536637727160431991726360434125429065395363635384007256043142108267230219404994420387148180015911804853911584995223935192010445676199626401612424986156613126245748817699779533720794853255547514177570181207091855619100338908323684881482347774687806026785090157427199817336921961105390282938969936351410966647130802788207270088083631767145235664835815073350167795126592368601350646693629967287891326543868726081574371041818643190337081138945322641049700631182710451200283027171377625973178715524509925863593975961085128790981726478811050694750330478715051569596566948154413153117780633747141935662536176380603137769159798134482119570259646110865062425996832567867972037354575251231821831382914719458297114473221826314848951989040728454513976817521188454502059746845095541601724787525853474911891910912208339198946657305647099782697911560693707124925661705110542380453079196458343499192334179532647738678527571042074024776544463564571547536261502885559425675036334541771242832433529478001729752168853273038410004258128769949892760312844066717132661271736864681929448261744078104507857583479293672880749947572820415008999013933317747102325862629846876151699067932172244196152839045023892153543339104923295979870015249174396403966880281119555604133310895416270746016199930366186654044300729395238126873407141906180524166868049577126328111511409659333752916159618178425278417492652821781037488828272632515886563676479205858243748075290774531766908066340307529561013394334968336288435694231004313466807640630396062580439957793124177958598348074416167147412902656901554646788403770473144068720768512449485130787872759204922164796966240511055320269477947015672634508723488473278501462413737354407132381414596185568337458739790814253801306310956607125208938086273946608646885845335345883836406035252567857804896159597158986938088677660260782176483654114137714339635893566559242423653648948726327346403680681310126137213389362380167001215777737707098243920646924246884683069160916912212611787541725587737102180137478754066637697400330142619621169894374331534780307626134180772818962434603052594911732146601585969417852324506929619076513409057059990357468409603197685673244138680416003981270747119538197747150805955209702595920869919304768917970398427139798412927046418216986465090885454605635966931663602050390123694389988487434873956068779866998417955482599069364 55603618342927737026839524186989829986508044994789663681555984710825298452905597944619830486559348082062061600949568302935981345904826482718369530602146256676225713308022163219971165576946686793716339999330784868201300213855750815567311806341769575258829193571939714894481362341925230640482675025945492701504358271189792581468991536963966001155152744885595465884269538364380655143830258835161164566797819744705597825675034730715203916867073030626722976253152698266270702095717859687117551281328402055266237385356023555485537158310942224819426270233741902630886603365905957798794558276175757632447339506658451965450579902031991122827601986446505857321970484974607127587237491707685456540392761688800575935114713844282144199257654286781742498114376290003519327510339626919434306991784914636720774464871916515703759752013759335364984130211546458947005614264598882291685007388864443954282398405969038194946133820311860204826179935921785814150578478060478247542416108885203893577563558107617645552010653241455187527155786999866417198018974221257422021302901574601669808539769900856860178947936131713841455413029936488903272325823869377374885260615122885821069674269452460400649653810607648689505148706870655179761260112008409004474456972814294605128210436783893852572332668416820547924473129318324697058434882101269602403381598470178803008051520808550123245956748381931729920904123204383768891309983911676426587443592866912379305901154253326832506159762703114184789362394627046622213285442269238539707330666179366927837659942758560693329262809998508483144658966418635753119669757352496502002705020076883864437386588408318574925929182239666388571638082128120852021487984976283363808226846771223307106018940014346810799337716842875442963675368176663514230529542875591695854808240222614255280161974583968614469872054053232792592516176501460862896731905260460885703027582482501503466453358172921192301992605657865217391520424643791078469732999701040926588719846449592337750481547134327689739546866404770388294917542805767952458485906625002633539898256077520134980194060445371917389462555784822646612067299729986210088632211511511222333151835192824122214891832188500327995310036517993309425093602453205390829971002178283372386095881206629234929421540667750231235408384967225877914062297276225728844460679912259283156514808271078929655583730602060219340484823265257815826950902081187381583315864066511365551569994282702026260104914108212426492210524029343749832004740598914599702361075241106181733358892365987972957034150509366982460998745486100090029913927708716841811059275607550717810574954223322263513785057747921590020770177784762566774318369753966395200769294984172187299325117026208211666607 89968544376334184874247993845078123597558886408155655967251871600595122526401186143030740037673762750511196231756877722626594452833711396269194796488492078058324561105067332510848053603007947067636953816132293518711140321260557732646450178745840869313326156839739677407959534712924033133955220982814850445813298025885901855743681414736502638882313176877321826318394967429776018779214266091204306675065049964110592246062182910731115721720984615621946911445163143942470328497330284673274164407574150872966016919076818408741084672488512406026518125852842241539210288247388305573482364302960847789874539323995373926555970184970961059179012953093636660110177755062690759354382727372521271613742929483927168303716064490975774166545545613325611224195950661045337970700676708058379629632834615267903484916072199542875137377986938050889494056075140434908090743055580608770496058083614774432997449975565605143100546973429640838573321871584321990531181615829638045676898228455463539688428620533614478119878625278809762778387608831249331917477271335730643847617750526590710536994283877674381367402438191460686550954631661276429125800735761288287093599814069543126716774052150371961343360935533310394615691087323734376219603611200743184007104711492822176170284461560438316136904215953082050810032554993361031600206124933703131881383328222347656281089930812808252015906641142244573987621255865655505755991913359938170665548100724495858599574035003274405326574771702128118107109496952909252060161593968306471879574862332205972861552096301899798252558789868523732319055370385516034239225361485807397418975766093083794803573242452619304321167309113073530477818606294988901598614313087794773467560599687382925284444218431839463621118754331703715596191254740339993436387786623666986629340007130680595587691535597362949438208342488927023596829643309101493292794485700418678827205541080849577882620505585823849203547252446268987864664493364559590919218130488913685793642011246558578261536867403805636755219500913493876768196044268181689812893039006417229725466593536259925794447861751682873996587764722908920558675946615831545434516047917546474901009640088983719373878770277177988256092213001647423562807942089098957389213425831932321112423227610309916239547677881139593615575386183003615621160541196872653091345362981420200068727420058620655243320832782197698094551460962658145969570523251081755914850644374137499732342813245136629312699825840359028078179941881668256761623817112323656762351432709515784931044565610126653373038131780114101999196492636906045239616523629586761115828193577949144950373367150368681730771522838807044626406144716426168824708493448356383688204168940240967166323534981690810735971 145572162719261921901087518032067953584066931402945319648807856311420420979306784087650570524233110832573257832706446025562575798738537878987564327090638334734550274413089495730819219179954633861353293815463078386912440535116308548213761985087610444572155350411679392302440897054849263774437896008760343147317656297075694437212672951700468640037465921762917292202664505794156673923044524926365471241862869708816190071737217641446319638588057646248669887698315842208741030593048144360391715688902552928232254304432841964226621830799454630845944396086584144170096891613294263372276922579136605422321878830653825892006550087002952182006614939540142517432148240037297886941620219080206728154135691172727744238830778335257918365803199900107353722310326951048857298211016334977813936624619529904624259380944116058578897130000697386254478186286686893855096357320179491062181065472479218387279848381534643338046680793741501043399501807506107804681760093890116293219314337340667433265992178641232123671889278520264950305543395831115749115496245556988065868920652101192380345534053778531241546350374323174528006367661597765332398126559630665661978860429192428947786448321602832361993014746140959084120839794194389555980863723209152188481561684307116781298494898344332168709236884369902598734505684311685728658641007034972734284764926692526459289141451621358375261863389524176303908525379070039274647301897271614597252991693591408237905475189256601237832734534405242302896471891579955874273447036237545011586905528511572900699212039060460491581821599867032215463714336804151787358895118838303899421680786169967659240959830860937879247096491352739919049456688423109753620102298064078137275787446458606232390463158446186274420456471174579158559866622917003507666917329499258682484148247353294850867853510181331563908080396542159816189345819810562356189526390960879564530233123563351081349073863758745041505539858104134205256184918008350669388951130189954612382361857696150916012018414538133326494766367318264265063113587073949642271378945631419863265364849613780060774641922197054791386050320507731567170743246345817755523148259429057697234161475281807841588770602465678316251402249519640732987901544542304348219184428010215693498519108816939151168969218548889824850983771150229493535222838473098381935806042893679483225242228329699584898904563384257917435036284227915961796521425332269137498166508440648865283912807527838655572804739948571454570390465911012006593628557711238256464712507950621966664403457976114626330072282289481084460195238123006135269530451338303602926887469185499862760948321373690945244556580586728634647176322501188735599026863202322778888973463924413154465648652007899022402578 235540707095596106775335511877146077181625817811100975616059727912015543505707970230681310561906873583084454064463323748189170251572249275256759123579130412792874835518156828241667272782962580928990247631595371905623580856376866280860212163833451313885481507251419069710400431767773296908393116991575193593130954322961596292956354366436971278919779098640239118521059473223932692702258791017569777916927919672926782317799400552177435360309042261870616799143478986151211359090378429033665880096476703801198271223509660372967706503287967036872462521939426385709307179860682568945759286882097453212196418154649199818562520271973913241185627892633779177542325995099988646296002946452727999767878620656654912542546842826233692532348745513432964946506277612094195268911693043036193566257454145172527744297016315601454034507987635437143972242361827328763187100375760099832677123556093992820277298357100248481147227767171141881972823679090429795212941709719754338896212565796130972954420799174846601791767903799074713083931004662365081032973516892718709716538402627783090882528337656205622913752812514635214557322293259041761523927295391953949072460243261972074503222373753204323336375681674269478736530881518123932200467334409895372488666395799938957468779359904770484846141100322984649544538239305046760258847131968675866166148254914874115570231382434166627277770030666420877896146634935694780403293810631552767918539794315904096505049224259875643159309306107370421003581388532865126333608630205851483466480390843778873560764135362360289834380389735555947782769707189667821598120480324111296840656552263051454044533073313557183568263800465813449527275294718098655218716611151872910743348046145989157674907376878025738041575225506282874156057877657343501103305116122925669113488254483975446455545045778694513346288739031086839786175463119663849482320876661298243357438664644200659231694369344568890709087110550403193120849411372910260308169260678868298176003868942709494273555281941938963249985868231758141831309631342131332084271984637837092990831443150039986569089783948737665382638085230640487729419192961649300957664307346604172135171115370791560962649372742856304507494462521288156550709486631403305608397853842148014610942336427249067408516896430029418466559157333233109156383379669971035027151405875099683293969648388320240142225396166455615529587745190574107766091948583350893413017152814786365016255620772975284885504565788930482648570407792680263355252374823561913227063940660137751595448023586241279703110414069595186459391730759912180509146974967890364042715662763449007711321688524059626975328103425535679273582467217614904423735356650679162577177632864654121631972186989589833138549 381112869814858028676423029909214030765692749214046295264867584223435964485014754318331881086139984415657711897169769773751746050310787154244323450669768747527425109931246323972486491962917214790343541447058450292536021391493174829073974148921061758457636857663098462012841328822622560682831013000335536740448610620037290730169027318137439918957245020403156410723723979018089366625303315943935249158790789381742972389536618193623754998897099908119286686841794828359952389683426573394057595785379256729430525527942502337194328334087421667718406918026010529879404071473976832318036209461234058634518296985303025710569070358976865423192242832173921694974474235137286533237623165532934727922014311829382656781377621161491610898151945413540318668816604563143052567122709378014007502882073675077152003677960431660032931637988332823398450428648514222618283457695939590894858189028573211207557146738634891819193908560912642925372325486596537599894701803609870632115526903136798406220412977816078725463657182319339663389474400493480830148469762449706775585459054728975471228062391434736864460103186837809742563689954856807093922053855022619611051320672454401022289670695356036685329390427815228562857370675712513488181331057619047560970228080107055738767274258249102653555377984692887248279043923616732488917488139003648600450913181607400574859372834055525002539633420190597181804672014005734055050595707903167365171531487907312334410524413516476880992043840512612723900053280112821000607055666443396495053385919355351774259976174422820781416201989602588163246484043993819608957015599162415196262337338433019113285492904174495062815360291818553368576731983141208408838818909215951048019135492604595390065370535324212012462031696680862032715924500574347008770222445622184351597636501837270297323398555960026077254369135573246655975521282930226205671847267622177807887671788207551740580768233103313932214626968654537398377034329381260929697120390868822910558365726638860410285573696480072289744752235550022406894423218416080974355650930269256956256196292763820047343731706145792456768688405738372054900162439307467056480812566775661869369332590652599402551419975208534620758896712040928889538611031173707653827582281852363708109461445244188218577486114978919243317542928483462602691606218143069416962957448768779166519211876718019825041129959550713532964624029418490069562613373915620030911183661255435230300168428300813940458309305737501937218960873703692269948880932534800169691776448610759718259851481562355906033182696359076270919586968882918315778677426306193966969603131948948870472270009897750572219884684012264313920758789718803640022762219853001941466151096789067276097620838997488855541127 616653576910454135451758541786360107947318567025147270880927312135451507990722724549013191648046857998742165961633093521940916301883036429501082574248899160320299945449403152214153764745879795719333789078653822198159602247870041109934186312754513072343118364914517531723241760590395857591224129991910730333579564942998887023125381684574411197877024119043395529244783452242022059327562106961505027075718709054669754707336018745801190359206142169989903485985273814511163748773805002427723475881855960530628796751452162710162034837375388704590869439965436915588711251334659401263795496343331511846714715139952225529131590630950778664377870724807700872516800230237275179533626111985662727689892932486037569323924463987725303430500690926973283615322882175237247836034402421050201069139527820249679747974976747261486966145975968260542422671010341551381470558071699690727535312584667204027834445095735140300341136328083784807345149165686967395107643513329624971011739468932929379174833776990925327255425086118414376473405405155845911181443279342425485301997457356758562110590729090942487373855999352444957121012248115848855445981150414573560123780915716373096792893069109241008665766109489498041593901557230637420381798392028942933458894475906994696236053618153873138401519085015871897823582162921779249176335270972324466617061436522274690429604216489691629817403450857018059700818648941428835453889518534720133090071282223216430915573637776352524151353146619983144903634668645686126940664296649247978519866310199130647820740309785181071250582379338144111029253751183487430555136079486526493102993890696070567330025977488052246383624092284366818104007277859307064057535520367823958762483538750584547740277912202237750503606922187144906871982378231690509873527561745110020711124756321245743778943601738720590600657874604333495761696746049890055154168144283476051245110452851752399812462602447882822923714079204940591497883740754171190005289651547691208734369595581569904559128978422011252994738103781780548725732849758212306439922914907094049247027735913860033912821490094530122151326490969012542629581632269116357438476874122266041504503706023390963514069347951390925266391174562217046089320517805110959435980135694511722720403781671437285986003011408948661784102085816695711847989597813040451990108854643878849813181525106340065183355355717169148494211774609064177328705322498970924324200814070221595316424049073789225343813871526432419867531281496372533304133307358362082918840389270897469855299505148597185736293110428671457378978699642830496287824401274084331012318794712397878183591698421810199195212787437799993194341256936418544446497576503681104043328729653721397729593025987078688679676 997766446725312164128181571695574138713011316239193566145794896358887472475737478867345072734186842414399877858802863295692662352193823583745406024918667907847725055380649476186640256708797010509677330525712272490695623639363215939008160461675574830800755222577615993736083089413018418274055142992246267074028175563036177753294409002711851116834269139446551939968507431260111425952865422905440276234509498436412727096872636939424945358103242078109190172827068642871116138457231575821781071667235217260059322279394665047356363171462810372309276357991447445468115322808636233581831705804565570481233012125255251239700660989927644087570113556981622567491274465374561712771249277518597455611907244315420226105302085149216914328652636340513602284139486738380300403157111799064208572021601495326831751652937178921519897783964301083940873099658855773999754015767639281622393501613240415235391591834370032119535044888996427732717474652283504995002345316939495603127266372069727785395246754807004052719082268437754039862879805649326741329913041792132260887456512085734033338653120525679351833959186190254699684702202972655949368035005437193171175101588170774119082563764465277693995156537304726604451272232943150908563129449647990494429122556014050435003327876402975791956897069708759146102626086538511738093823409975973067067974618129675265288977050545216632357036871047615241505490662947162890504485226437887498261602770130528765326098051292829405143396987132595868803687948758507127547719963092644473573252229554482422080716484208001852666784368940732274275737795177307039512151678648941689365331229129089680615518881662547309198984384102920186680739261000515472896354429583775006781619031355179937805648447526449762965638618868006939587906878806037518643750007367294372308761258158516041102342157698746667855027010177580151737218028980116260826015411905653859132782241059304140393230835551196755138341047859477989874918070135432119702410042416514119292735322220430314844702674902083542739490339331802955620156068174293280795573845176351005503224028677680081256553196240322578920014896707384597529744071576583413919289440897927910873836296675990366065489323159925546025287886603145935627931548978818613263562417546875430829865226915625504563489126387867905101645014300158314539595815956109868953066303412658016332393401824359890224485315267882681458835804027554246891318696414590955235384475325656825616592477374603165802123177263934357086492155200064803253014239893162252610616837881657188115150986710953091769475806787747728298565668525748812066501827580278297981921926661346748655861708319560771415097471450064307115100046655222184469259796356683045509479826442788673827213864984567544220803 1614420023635766299579940113481934246660329883264340837026722208494338980466460203416358264382233700413142043820435956817633578654076860013246488599167567068168025000830052628400794021454676806229011119604366094688855225887233257048942346774430087903143873587492133525459324850003414275865279272984156997407607740506035064776419790687286262314711293258489947469213290883502133485280427529866945303310228207491082481804208655685226135717309384248099093658812342457382279887231036578249504547549091177790688119030846827757518398008838199076900145797956884361056826574143295634845627202147897082327947727265207476768832251620878422751947984281789323440008074695611836892304875389504260183301800176801457795429226549136942217759153327267486885899462368913617548239191514220114409641161129315576511499627913926183006863929940269344483295770669197325381224573839338972349928814197907619263226036930105172419876181217080212540062623817970472390109988830269120574139005841002657164570080531797929379974507354556168416336285210805172652511356321134557746189453969442492595449243849616621839207815185542699656805714451088504804814016155851766731298882503887147215875456833574518702660922646794224646045173790173788328944927841676933427888017031921045131239381494556848930358416154724631043926208249460290987270158680948297533685036054651949955718581267034908262174440321904633301206309311888591725958374744972607631351674052353745196241671689069181929294750133752579013707322617404193254488384259741892452093118539753613069901456793993182923917366748278876385304991546360794470067287758135468182468325119825160247945544859150599555582608476387287004784746538859822536953889949951598965544102570105764485545926359728687513469245541055151846459889257037728028517277569112404393019886014479761784881285759437467258455684884781913647498914775030006315980183556189129910377892693911056540205693437999079578062055127064418581372801810889603309707699693964205328027104917802000219403831653324094795734228443113583504345888917932505587235496760083445054750251764591540115169374686334852701071341387676397140159325703845699771357766315020193952378340002699381329579558671111316471291679061165362981717252066783929572699542553241387153550269008587062790549492137796816566885747100116854026387585413769150320943175158056536866145574926930699955407840670985051829953047578636618424220024018913561879559585289395878420933016526448392391145937048790366776954023436696437336557147547251524335529457227152554657970450491859550277505768917216419185677544368168579308354326228854362628994240721373744626839453406741370970610310258887864300309441303591640728915757372860364149552808556096510071556806890971646232900479 2612186470361078463708121685177508385373341199503534403172517104853226452942197682283703337116420542827541921679238820113326241006270683596991894624086234976015750056210702104587434278163473816738688450130078367179550849526596472987950507236105662733944628810069749519195407939416432694139334415976403264481635916069071242529714199689998113431545562397936499409181798314762244911233292952772385579544737705927495208901081292624651081075412626326208283831639411100253396025688268154071285619216326395050747441310241492804874761180301009449209422155948331806524941896951931868427458907952462652809180739390462728008532912610806066839518097838770946007499349160986398605076124667022857638913707421116878021534528634286159132087805963608000488183601855651997848642348626019178618213182730810903343251280851105104526761713904570428424168870328053099380978589606978253972322315811148034498617628764475204539411226106076640272780098470253977385112334147208616177266272213072384949965327286604933432693589622993922456199165016454499393841269362926690007076910481528226628787896970142301191041774371732954356490416654061160754182051161288959902473984092057921334958020598039796396656079184098951250496446023116939237508057291324923922317139587935095566242709370959824722315313224433390190028834335998802725363982090924270600753010672781625221007558317580124894531477192952248542711799974835754616462859971410495129613276822484273961567769740362011334438147120885174882511010566162700382036104222834536925666370769308095491982173278201184776584151117219608659580729341538101509579439436784409871833656348954249928561063740813146864781592860490207191465485799860338009850244379535373972325721601460944423351574807255137276434884159923158786047796135843765547161027576479698765328647272638277825983627917136213926310711894959493799236132804010122576806198968094783769510674934970360680598924273550276333200396174923896571247719881025035429410109736380719447319840240022430534248534328226178338473718782445386459966044986106798868031070605259796060253475793269220196425927882575175279991356284383781737689069775422283185277055755918121863252176299375371695645047994271242017316966947768508917345183615762748185963104970788262584380134235502688295112981264184684471987392114417012340927181229725260189896241461469194882477968328755059845632325986252934511411883382664172671111342715328152834794969764721535246549609003822995556948060226054301134040515591896502139810161787144686588140074065034211846085601478570503369275244724004166913976110036694328120420828056434640926976162648035091375495315115060931742025407730337928607424541350246862913385017169217047195062288382539298745384020755956213777121282 4226606493996844763288061798659442632033671082767875240199239313347565433408657885700061601498654243240683965499674776930959819660347543610238383223253802044183775057040754732988228299618150622967699569734444461868406075413829730036892854010535750637088502397561883044654732789419846970004613688960560261889243656575106307306133990377284375746256855656426446878395089198264378396513720482639330882854965913418577690705289948309877216792722010574307377490451753557635675912919304732320790166765417572841435560341088320562393159189139208526109567953905216167581768471095227503273086110100359735137128466655670204777365164231684489591466082120560269447507423856598235497381000056527117822215507597918335816963755183423101349846959290875487374083064224565615396881540140239293027854343860126479854750908765031287533625643844839772907464640997250424762203163446317226322251130009055653761843665694580376959287407323156852812842722288224449775222322977477736751405278054075042114535407818402862812668096977550090872535450227259672046352625684061247753266364450970719224237140819758923030249589557275654013296131105149665558996067317140726633772866595945068550833477431614315099317001830893175896541619813290727566452985133001857350205156619856140697482090865516673652673729379158021233955042585459093712634140771872568134438046727433575176726139584615033156705917514856881843918109286724346342421234716383102760964950874838019157809441429431193263732897254637753896218333183566893636524488482576429377759489309061708561883630072194367700501517865498485044885720887898895979646727194919878054301981468779410176506608599963746420364201336877494196250232338720160546804134329486972937869824171566708908897501166983824789904129700978310632507685392881493575678305145592103158348533287118039610864913676573681184766396779741407446735047579040128892786382524283913679888567628881417220804617711549355911262451301988315152620521691914638739117809430344924775346945157824430753652365981550273134207947225558969964311933904039304455266567365343241115003727557860760311595302568910027981062697672060178877848395479267982956634822070938315815630516302074753025224606665382558488608646008933871899062435682546677758662647524029649737930403244089751085662473401981501038873139214533866367314766643494410510839416619525731748623543255685759801040166657237986341364930961300791095331366734241714714354555054117413667482625530271387948093997274844667910994539028592939476367309334396210923669531292186766504056051970430053646781013641220586099653654404862907428775154285289003555970403369408836002334768521802302712635717989225792907733982653838503642300774542077411344615096938635808816940827646927860010021761 6838792964357923226996183483836951017407012282271409643371756418200791886350855567983764938615074786068225887178913597044286060666618227207230277847340037020199525113251456837575662577781624439706388019864522829047956924940426203024843361246641413371033131207631632563850140728836279664143948104936963526370879572644177549835848190067282489177802418054362946287576887513026623307747013435411716462399703619346072899606371240934528297868134636900515661322091164657889071938607572886392075785981743967892183001651329813367267920369440217975318990109853547974106710368047159371700545018052822387946309206046132932785898076842490556430984179959331215455006773017584634102457124723549975461129215019035213838498283817709260481934765254483487862266666080217613245523888766258471646067526590937383198002189616136392060387357749410201331633511325303524143181753053295480294573445820203688260461294459055581498698633429233493085622820758478427160334657124686352928671550267147427064500735105007796245361686600544013328734615243714171440193895046987937760343274932498945853025037789901224221291363929008608369786547759210826313178118478429686536246850688002989885791498029654111495973081014992127147038065836407666803961042424326781272522296207791236263724800236476498374989042603591411423983876921457896437998122862796838735191057400215200397733697902195158051237394707809130386629909261560100958884094687793597890578227697322293119377211169793204598171044375522928778729343749729594018560592705410966303425860078369804053865803350395552477085668982718093704466450229436997489226166631704287926135637817733660105067672340776893285145794197367701387715718138580498556654378709022346910195545773027653332249075974238962066339013860901469418555481528725259122839332722071801923677180559756317436848541593709895111077108674700901245971180383050251469592581492378697449399242563851777901403541985099632244462847476912211723868241572939674168527919166725644222666785397846861287900900309776451472681666008004356424277978890146103323297637970603037175257203351129980508021230451485203261054053956443960615537465254690266141911877826856437678882692601450124720869654659653800505925612956702380816407619298309425944625752494817912322310537479592439380775454666166185510860531328950878708241947873219670700735658080994926631101511584440819646672492643490920852776814343964963766442709449569867549149524818838948914032234534094383505042057500898969045035054620489441616177471121540897511809605357220978350141653449000557016056258365224753013629764441557235549195982341723644482946566017443927377830083636863234454661125719563721515158524004085366555685791711294458539677385321175107562324848402884073787143043 11065399458354767990284245282496393649440683365039284883570995731548357319759513453683826540113729029308909852678588373975245880326965770817468661070593839064383300170292211570563890877399775062674087589598967290916363000354255933061736215257177164008121633605193515608504873518256126634148561793897523788260123229219283857141982180444566864924059273710789393165971976711291001704260733918051047345254669532764650590311661189244405514660856647474823038812542918215524747851526877618712865952747161540733618561992418133929661079558579426501428558063758764141688478839142386874973631128153182123083437672701803137563263241074175046022450262079891484902514196874182869599838124780077093283344722616953549655462039001132361831781724545358975236349730304783228642405428906497764673921870451063863052753098381167679594013001594249974239098152322553948905384916499612706616824575829259342022304960153635958457986040752390345898465543046702876935556980102164089680076828321222469179036142923410659058029783578094104201270065470973843486546520731049185513609639383469665077262178609660147251540953486284262383082678864360491872174185795570413170019717283948058436624975461268426595290082845885303043579685649698394370414027557328638622727452827647376961206891101993172027662771982749432657938919506916990150632263634669406869629104127648775574459837486810191207943312222666012230548018548284447301305329404176700651543178572160312277186652599224397861903941630160682674947676933296487655085081187987395681185349387431512615749433422589920177587186848216578749352171117335893468872893826624165980437619286513070281574280940740639705509995534245195583965950477300659103458513038509319848065369944594362241146577141222786856243143561879780051063166921606752698517637867663905082025713846874357047713455270283576295843505454442308692706227962090380362378964016662611129287810192733195122208159696648988155725298778900526876488763264854312907645728597070568998013730555671292041553266291326724606889613233563326388589912794185407778564205335946278290260930908990740819616533020395231242116751628504139493385860733958249098546699897794753494513208903524877746094261325036358994534258965636252715470054980856103703288400018847562060240940723682190466437928068147686549733670543484745075556714516714081211575074700520658379725054840126579447712659300728907194141745305265754861774076183811582263504079872956362581514860064365771453136054775743636956029593649082381092544780455937108435479136649407744854197705419430610662837272006445339113283418846420142977971136627012648038916969386852763380164852158665537167296843708789514422892506657923870197986566253371869884292482259810916379265676049811933797164804 17904192422712691217280428766333344666847695647310694526942752149749149206110369021667591478728803815377135739857501971019531940993583998024698938917933876084582825283543668408139553455181399502380475609463490119964319925294682136086579576503818577379154764812825148172355014247092406298292509898834487314631002801863461406977830370511849354101861691765152339453548864224317625012007747353462763807654373152110723489918032430178933812528991284375338700134634082873413819790134450505104941738728905508625801563643747947296928999928019644476747548173612312115795189207189546246674176146206004511029746878747936070349161317916665602453434442039222700357520969891767503702295249503627068744473937635988763493960322818841622313716489799842463098616396385000841887929317672756236319989397042001246250755287997304071654400359343660175570731663647857473048566669552908186911398021649463030282766254612691539956684674181623838984088363805181304095891637226850442608748378588369896243536878028418455303391470178638117530004680714688014926740415778037123273952914315968610930287216399561371472832317415292870752869226623571318185352304274000099706266567971951048322416473490922538091263163860877430190617751486106061174375069981655419895249749035438613224931691338469670402651814586340844081922796428374886588630386497466245604820161527863975972193535389005349259180706930475142617177927809844548260189424091970298542121406269482605396563863769017602460074986005683611453677020683026081673645673893398361984611209465801316669615236772985472654672855830934672453818621346772890958099060458328453906573257104246730386641953281517532990655789731612896971681668615881157660112891747531666758260915717622015573395653115461748922582157422781249469618648450332011821356970589735707005702894406630674484561996863993471406920614129143209938677408345140631831971545509041308578687052756584973023611701681748620400188146255812738600357004837793987076173647763796213220680515953518153329454166601103176079571279241567682812867891684331511101861843306549315465518134260120721327637763471880434503170805584948100108923325988648515240458577724651191173395901504975002466963915984690159500459871922338633531877674279165529647914152513665474382551478203274629847213382734313872060594201872435623783798662389933751912310732781515585010826566424567399094385151944219828046918559649230718628216785633381449812653604691795311495547094598460154958178112276642606001064648269571822708722251577478005947288742006628723204339358868431167678893530371670092126913183287977378527167118968736292521863535404296690757994935795528771621957969428353235938051030662009236753672357964666328423969867580986023941590524452696007584307847 28969591881067459207564674048829738316288379012349979410513747881297506525869882475351418018842532844686045592536090344994777821320549768842167599988527715148966125453835879978703444332581174565054563199062457410880682925648938069148315791760995741387276398418018663780859887765348532932441071692732011102891126031082745264119812550956416219025920965475941732619520840935608626716268481271513811152909042684875374080229693619423339327189847931850161738947177001088938567641661328123817807691476067049359420125636166081226590079486599070978176106237371076257483668046331933121647807274359186634113184551449739207912424558990840648475884704119114185260035166765950373302133374283704162027818660252942313149422361819973984145498214345201438334966126689784070530334746579254000993911267493065109303508386378471751248413360937910149809829815970411421953951586052520893528222597478722372305071214766327498414670714934014184882553906851884181031448617329014532288825206909592365422573020951829114361421253756732221731274746185661858413286936509086308787562553699438276007549395009221518724373270901577133135951905487931810057526490069570512876286285255899106759041448952190964686553246706762733234197437135804455544789097538984058517977201863085990186138582440462842430314586569090276739861715935291876739262650132135652474449265655512751546653372875815540467124019153141154847725946358128995561494753496146999193664584841642917673750516368242000321978927635844294128624697616322569328730755081385757665796558853232829285364670195575392832260042679151251203170792464108784426971954284952619887010876390759800668216234222258172696165785265858092555647619093181816763571404786040986606326285662216377814542230256684535778825300984661029520681815371938764519874608457399612087728608253505031532275452134277047702764119583585518631383636307231012194350509525703919707974862949318168145819861378397608555913445034713265476845768102648299983819376360866782218694246509189445371007432892429900686460892475131009201457804478516918880426048642495593755779065169111462147254296492275665745287557213452239602309186722606764339005277622445944667909110408499880213058177309726518494994130887974886247347729260021633351202552532513036442792418926956820313651310802461558610327872415920368859355376906647833123885807482036243390551621264693978542097811244948735241060304954496473489990861817193032076157684564751674077061954662825926411314167052386242957094241918654203801267032033415114382767878656036468058537064287861778341730802378115431240196602134397521505138255595748940560780504791149454138159787954194308789254813137142750360943537319933106951658924218038198308262349840796940320856200502507941381472651 46873784303780150424845102815163082983136074659660673937456500031046655731980251497019009497571336660063181332393592316014309762314133766866866538906461591233548950737379548386842997787762574067435038808525947530845002850943620205234895368264814318766431163230843811953214902012440939230733581591566498417522128832946206671097642921468265573127782657241094072073069705159926251728276228624976574960563415836986097570147726049602273139718839216225500439081811083962352387431795778628922749430204972557985221689279914028523519079414618715454923654410983388373278857253521479368321983420565191145142931430197675278261585876907506250929319146158336885617556136657717877004428623787331230772292597888931076643382684638815606459214704145043901433582523074784912418264064252010237313900664535066355554263674375775822902813720281570325380561479618268895002518255605429080439620619128185402587837469379019038371355389115638023866642270657065485127340254555864974897573585497962261666109898980247569664812723935370339261279426900349873340027352287123432061515468015406886937836611408782890197205588316870003888821132111503128242878794343570612582552853227850155081457922443113502777816410567640163424815188621910516719164167520639478413226950898524603411070273778932512832966401155431120821784512363666763327893036629601898079269427183376727518846908264820889726304726083616297464903874167973543821684177588117297735785991111125523070314380137259602782053913641527905582301718299348651002376428974784119650407768319034145954979906968560865486932898510085923656989413810881675385071014743281073793584133495006531054858187503775705686821574997470989527329287709062974423684296533572653364587201379838393387937883372146284701407458407442278990300463822270776341231579047135319093431502660135706016837448998270519109684733712728728570061044652371644026322055034745228286661915705903141169431563060146228956101591290526004077202772940442287059993024124662995439374762462707598700461599493533076766032171716698692014325696162848429982287891949044909221297199429232183474892059964156100248458362798400339711232512711255279579463855347097135841305011913474882680022093294416677995454002810313519779225403539187162999116705046178510825343897130231450160864693536775430670922074288355992643154039296581585036196540263551828401378187689261377636482963189168563287978864603727192118207647450574481888811289256546985572609049261286081369492279329028848958158890188226026509989283610893120330056620662665191262876423156292946020624332749785523367109785422374900032305374564485233082644040195446144896154723749723080411212782565495986298994567981942343705331282182704526732232217421782964262446724955203948965780498 75843376184847609632409776863992821299424453672010653347970247912344162257850133972370427516413869504749226924929682661009087583634683535709034138894989306382515076191215428365546442120343748632489602007588404941725685776592558274383211160025810060153707561648862475734074789777789472163174653284298509520413254864028951935217455472424681792153703622717035804692590546095534878444544709896490386113472458521861471650377419669025612466908687148075662178028988085051290955073457106752740557121681039607344641814916080109750109158901217786433099760648354464630762525299853412489969790694924377779256115981647414486174010435898346899405203850277451070877591303423668250306561998071035392800111258141873389792805046458789590604712918490245339768548649764568982948598810831264238307811932028131464857772060754247574151227081219480475190391295588680316956469841657949973967843216606907774892908684145346536786026104049652208749196177508949666158788871884879507186398792407554627088682919932076684026233977692102560992554173086011731753314288796209740849078021714845162945386006418004408921578859218447137024773037599434938300405284413141125458839138483749261840499371395304467464369657274402896659012625757714972263953265059623536931204152761610593597208856219395355263280987724521397561646228298958640067155686761737550553718692838889479065500281140636430193428745236757452312629820526102539383178931084264296929450575952768440744064896505501603104032841277372199710926415915671220331107184056169877316204327172266975240344577164136258319192941189237174860160206274990459812042969028233693680595009885766331723074421726033878382987360263329082082976906802244791187255701319613639970913487042054771202480113628830820480232759392103308510982279194209540861106187504534931181160110913640737549112901132547566812448853296314247201444680959602656220672564560449147994636778655221309315251424438543837512015036325239269554048541043090587043812400485529777658069008971897044071469032385962977452493064191829701215783500641365348862713940591540502977076264598343645622146356456431765993745920011852579313541699433862043918469132969543080509214122321974762893080270604143196490448133698288406026573132799208796350319257578691547268136316057188270474516004339236989281249946704276361502509416203229418160082347745588071791929808953955356178580774434117298529039169558223665608198509267767513964968973821298659649671003924112007780806446381415091915253132106880230311256315644308234712824499318701659321413487444154724362355135127900954607306387556772421537443630160234173643424544986595599034314511703917389200467595702638736659938105301875450656990206400742725040494567262579904583302925457711890347253149 122717160488627760057254879679155904282560528331671327285426747943390817989830385469389437013985206164812408257323274977023397345948817302575900677801450897616064026928594976752389439908106322699924640816114352472570688627536178479618106528290624378920138724879706287687289691790230411393908234875865007937935383696975158606315098393892947365281486279958129876765660251255461130172820938521466961074035874358847569220525145718627885606627526364301162617110799169013643342505252885381663306551886012165329863504195994138273628238315836501888023415059337853004041382553374891858291774115489568924399047411845089764435596312805853150334522996435787956495147440081386127310990621858366623572403856030804466436187731097605197063927622635289241202131172839353895366862875083274475621712596563197820412035735130023397054040801501050800570952775206949211958988097263379054407463835735093177480746153524365575157381493165290232615838448166015151286129126440744482083972377905516888754792818912324253691046701627472900253833599986361605093341641083333172910593489730252049883222617826787299118784447535317140913594169710938066543284078756711738041391991711599416921957293838417970242186067842043060083827814379625488983117432580263015344431103660135197008279129998327868096247388879952518383430740662625403395048723391339448632988120022266206584347189405457319919733471320373749777533694694076083204863108672381594665236567063893963814379276642761205886086754918900105293228134215019871333483613030953996966612095491301121195324484132697123806125839699323098517149620085872135197113983771514767474179143380772862777932609229809584069808935260800071610306194511307765610939997853186293335500688421893164590417997000977105181640217799545587501282743016480317202337766551670250274591613573776443565950350130818085922133587009042975771505725611974300246994619595194376281298694361124450484682987498690066468116627615765273631251313983532874103805424610192773097443771434604642771930631879496054218525235908528393230109196804213778845001832540585412198373464027575829097038416420587866242204282810252919024774212145117323497932988316640216350519134235449645573102363898559874485902136508601925805798536338395959349435962624870058093480213187419720635380697876012419952172020992632354145663455499811003196278888009139900193307996643216733815063737623285861817018034161950857726406156718341995853780263077845645222280053185398089150298725710443940873412022295106256821245599255201355042881119981366850584289910600447670382979467877686477974416172979147321569749004724719406726068585182041743930469235453640469611680378268134722958932673283817794362321488583447251772726784684362868845749650412915839313033647 198560536673475369689664656543148725581984982003681980633396995855734980247680519441759864530399075669561635182252957638032484929583500838284934816696440203998579103119810405117935882028450071332414242823702757414296374404128736754001317688316434439073846286528568763421364481568019883557082888160163517458348638561004110541532553866317629157435189902675165681458250797350996008617365648417957347187508332880709040870902565387653498073536213512376824795139787254064934297578709992134403863673567051772674505319112074248023737397217054288321123175707692317634803907853228304348261564810413946703655163393492504250609606748704200049739726846713239027372738743505054377617552619929402016372515114172677856228992777556394787668640541125534580970679822603922878315461685914538713929524528591329285269807795884270971205267882720531275761344070795629528915457938921329028375307052342000952373654837669712111943407597214942441365034625674964817444917998325623989270371170313071515843475738844400937717280679319575461246387773072373336846655929879542913759671511445097212828608624244791708040363306753764277938367207310373004843689363169852863500231130195348678762456665233722437706555725116445956742840440137340461247070697639886552275635256421745790605487986217723223359528376604473915945076968961584043462204410153076999186706812861155685649847470546093750113162216557131202090163515220178622588042039756645891594687143016662404558444173148262808990119596196272305004154550130691091664590797087123874282816422663568096435669061296833382125318780888560273377309826360862595009156952799748461154774153266539194501007030955843462452796295524129153693283101313552556798195699172799933306414175463947935792898110629807925661872977191648896012265022210689858063443954056205181455751724487417181115063251263365652734582440305357222972950406571576956467667184155643524275935473016345759799934411937233903980131663941004543185299855026623461147617825095722550755512780406501686843399664265459031671018300100358094445892697445579127707715773132125915175449728625919474719184772877019632235950202822105498338315911578979367416402121286183296859733256557424408466182634502703070976350270206890331832371669137604755699755220203561605361616529244607991109896702215249409233421967696908715648172871703040421356361235754727971985237805597172089993644512057403160346057203720174523334604665986109509818749236899144304871951057109510096931105172091859032788665154401986487132501914899509589755705619300068509905703398044602394745334603005587432581722560535919743107192634884953580369493130168637342964783747157557858812147973970773459618870778585693245019311694984189976813221351946942773429052575870627729660286796 321277697162103129746919536222304629864545510335353307918823743799125798237510904911149301544384281834374043439576232615055882275532318140860835494497891101614643130048405381870325321936556394032338883639817109886867063031664915233619424216607058817993985011408275051108654173358250294950991123036028525396284022257979269147847652260210576522716676182633295558223911048606457138790186586939424308261544207239556610091427711106281383680163739876677987412250586423078577640083962877516067170225453063938004368823308068386297365635532890790209146590767030170638845290406603196206553338925903515628054210805337594015045203061510053200074249843149026983867886183586440504928543241787768639944918970203482322665180508653999984732568163760823822172810995443276773682324560997813189551237125154527105681843531014294368259308684221582076332296846002578740874446036184708082782770888077094129854400991194077687100789090380232673980873073840979968731047124766368471354343548218588404598268557756725191408327380947048361500221373058734941939997570962876086670265001175349262711831242071579007159147754289081418851961377021311071386973441926564601541623121906948095684413959072140407948741792958489016826668254516965950230188130220149567620066360081880987613767116216051091455775765484426434328507709624209446857253133544416447819694932883421892234194659951551070032895687877504951867697209914254705792905148429027486259923710080556368372823449791024014876206351115172410297382684345710962998074410118077871249428518154869217630993545429530505931444620587883371894459446446734730206270936571263228628953296647312057278939640185653046522605230784929225303589295824860322409135697025986226641914863885841100383316107630785030843513194991194483513547765227170175265781720607875431730343338061193624681013601394183738656716027314400198744456132183551256714661803750837900557234167377470210284617399435923970448248291556769816816551169010156335251423249705915323852956551841106329615330296144955085889543536008886487676001894249792906552717605672711327373823192653495303816223189297607498478154485632358417363090123724096690914335109602823513210252390792874054039284998401262945462252406715492257638170205476000715049191182828431663455096742432027711745277400091261829185593988689541069793836327202851424552640123763867872178545802240388823808708249680689022163075237882125381061010822704451505672529499976989950094231110294908186081403897802302973662077176697092743953747514154710944798586739281435360489993308645050065128314070883273910556138733515067064676941639609672987095561715350679086895252982611198328423828352238908182577803451869511039381633183567637228585948136631305642274802226283543568973320443 519838233835578499436584192765453355446530492339035288552220739654860778485191424352909166074783357503935678621829190253088367205115818979145770311194331305613222233168215786988261203965006465364753126463519867301163437435793651987620741904923493257067831297936843814530018654926270178508074011196192042854632660818983379689380206126528205680151866085308461239682161845957453147407552235357381655449052540120265650962330276493934881753699953389054812207390373677143511937662672869650471033899020115710678874142420142634321103032749945078530269766474722488273649198259831500554814903736317462331709374198830098265654809810214253249813976689862266011240624927091494882546095861717170656317434084376160178894173286210394772401208704886358403143490818047199651997786246912351903480761653745856390951651326898565339464576566942113352093640916798208269789903975106037111158077940419095082228055828863789799044196687595175115345907699515944786175965123091992460624714718531659920441744296601126129125608060266623822746609146131108278786653500842419000429936512620446475540439866316370715199511061042845696790328584331684076230662805096417465041854252102296774446870624305862845655297518074934973569508694654306411477258827860036119895701616503626778219255102433774314815304142088900350273584678585793490319457543697493447006401745744577577884042130497644820146057904434636153957860725134433328380947188185673377854610853097218772931267622939286823866325947311444715301537234476402054662665207205201745532244940818437314066662606726363888056763401476443645271769272807597325215427889371011689783727449913851251779946671141496508975401526309058378996872397138412879207331396198786159948329039349789036176214218260592956505386172182843379525812787437860033329225674664080613186095062548610805796076852657549391391298467619757421717406538755128213182328987906481424833169640393815970084551811373157874428379955497774360001851024036779796399041074801637874608469332247608016458729960410414117560561836109244582121894591695372034260433378804837242549272921279414778535407962174627130714104688454463915701406035303076058330737230889006810069985647350298462505467632903966016438602676922382589470541874613605470748946403031993268816713271676635702855174102306511238419015956386449785442009198905891845909001359518595844163783607837560913802352761738092182509132441602299904395615488690561015491278736876134254966182167404418283012509069894162006450742331099079231086249429054220534554292358581503870395696706689652459873648673888861343137861294050986807784134274494626567465054845519316429860036729768756187235976326209681642196674230455204284400944878551827205399169488578248415703854802154171298633607239 841115930997681629183503728987757985311076002674388596471044483453986576722702329264058467619167639338309722061405422868144249480648137120006605805692222407227865363216621168858586525901562859397092010103336977188030500467458567221240166121530552075061816309345118865638672828284520473459065134232220568250916683076962648837227858386738782202868542267941756797906072894563910286197738822296805963710596747359822261053757987600216265433863693265732799619640960100222089577746635747166538204124473179648683242965728211020618468668282835868739416357241752658912494488666434696761368242662220977959763585004167692280700012871724306449888226533011292995108511110677935387474639103504939296262353054579642501559353794864394757133776868647182225316301813490476425680110807910165093031998778900383496633494857912859707723885251163695428425937762800787010664350011290745193940848828496189212082456820057867486144985777975407789326780773356924754907012247858360931979058266750248325040012854357851320533935441213672184246830519189843220726651071805295087100201513795795738252271108387949722358658815331927115642289961352995147617636247022982066583477374009244870131284583378003253604039311033423990396176949171272361707446958080185687515767976585507765833022218649825406271079907573326784602092388210002937176710677241909894826096678627999470118236790449195890178953592312141105825557935048688034173852336614700864114534563177775141304091072730310838742532298426617125598919918822113017660739617323279616781673458973306531697656152155894393988208022064327017166228719254332055421698825942274918412680746561163309058886311327149555498006757093987604300461692963273201616467093224772386590243903235630136559530325891377987348899367174037863039360552665030208595007395271956044916438400609804430477090454051733130048014494934157620461862670938679469896990791657319325390403807771286180369169210809081844876628247054544176818402193046936131650464324507553198461425884088714346074060256555369203450105372118131069797896485945164940813150984477548569923096113932910082351631151472234629192259174086822333064496159027172749245072340491830323280238038143172516544752631305228961900855083637874847108712080089606185798137585860424932271810014108663414600451502397773067604609945075990855235845526108743270461641483282463716342329410077949737611061011418781204672207679484425285456626311395012521163808236853124205060413277699326469093912967696464980112819507796171975039996943208931479352879097862939230885690015334702525001962744772135253694000027566053872461075914104299554560616560869995516755289712379954515659804678448589824774477682324715323782578062119464433985117625209554057978657028437714867606927682 1360954164833260128620087921753211340757606495013423885023265223108847355207893753616967633693950996842245400683234613121232616685763956099152376116886553712841087596384836955846847729866569324761845136566856844489193937903252219208860908026454045332129647607281962680168691483210790651967139145428412611105549343895946028526608064513266987883020408353250218037588234740521363433605291057654187619159649287480087912016088264094151147187563646654787611827031333777365601515409308616817009238023493295359362117108148353654939571701032780947269686123716475147186143686926266197316183146398538440291472959202997790546354822681938559699702203222873559006349136037769430270020734965222109952579787138955802680453527081074789529534985573533540628459792631537676077677897054822516996512760432646239887585146184811425047188461818105808780519578679598995280454253986396782305098926768915284294310512648921657285189182465570582904672688472872869541082977370950353392603772985281908245481757150958977449659543501480296006993439665320951499513304572647714087530138026416242213792710974704320437558169876374772812432618545684679223848299052119399531625331626111541644578155207683866099259336829108358963965685643825578773184705785940221807411469593089134544052277321083599721086384049662227134875677066795796427496168220939403341832498424372577048002278920946840710325011496746777259783418660183121362554799524800374241969145416274993914235358695669597662608858245738061840900457153298515072323404824528481362313918399791743845764318758882258282044971423540770662437997992061929380637126715313286608196408196475014560838832982468646064473408283403045983297334090101686080823798489423558546538572942585419172735744544151970943854285539356881242565173340102890241924233069936036658102533463158415236273167306709282521439312962553915042179269209693807683079319779563800750223573448165102150453721022182239719305008202552318536820253217083715928049505399309191073069895216336322362532790216965783321010667208227375651919791077640536975073584363282385812472369035212324860887039113646861759906363862541286248765902194330248807575809571380837133350223685493470979050220264209194978339457760560257436579253954703211656547083988892418201088523285785299117455625604704284306023625901462440640677854725014635116370642842801059560506113017915510651413413773156873387181340121086725189852241800085573536655086973729258460026595445103744752106422037590626986563561838895251206126246372263152013907171456444443101281386722024354984875611418660996596831861321617040680245210188598926122025671406389311946615326442148710702895781004658271466971151912779919608183522940671291639384287113787802473682511830591886166240534921 2202070095830941757803591650740969326068682497687812481494309706562833931930596082881026101313118636180555122744640035989376866166412093219158981922578776120068952959601458124705434255768132184158937146670193821677224438370710786430101074147984597407191463916627081545807364311495311125426204279660633179356466026972908677363835922900005770085888950621191974835494307635085273719803029879950993582870246034839910173069846251694367412621427339920520411446672293877587691093155944363983547442147966475008045360073876564675558040369315616816009102480958227806098638175592700894077551389060759418251236544207165482827054835553662866149590429755884852001457647148447365657495374068727049248842140193535445182012880875939184286668762442180722853776094445028152503358007862732682089544759211546623384218641042724284754912347069269504208945516442399782291118603997687527499039775597411473506392969468979524771334168243545990693999469246229794295989989618808714324582831252032156570521770005316828770193478942693968191240270184510794720239955644453009174630339540212037952044982083092270159916828691706699928074908507037674371465935299142381598208809000120786514709439791061869352863376140141782954361862592996851134892152744020407494927237569674642309885299539733425127357463957235553919477769455005799364672878898181313236658595103000576518120515711396036600503965089058918365608976595231809396728651861415075106083679979452769055539449768399908501351390544164678966499377072120628089984144441851760979095591858765050377461974911038152676033179445605097679604226711316261436058825541255561526609088943036177869897719293795795619971415040497033587597795783064959282440265582648330933128816845821049309295274870043348931203184906530919105604533892767920450519240465207992703018971863768219666750257760761015651487327457488072662641131880632487152976310571221120075613977255936388330822890232991321564181636449606862713638655410130652059699969723816744271531321100425036708606850473521152524460772580345506721717687563585701915886735347759934382395465149145234943238670265119096389098623036628108581830398353357421556820881911872667456630461723636643495594972895514423940240312844198132283687966034792817842345221574752843133360333299893962532056077107102057373628235846538431495913700251123378386832284326083523276848442427993460389024474784575654591853547800571150475308868111480586057818895210582382665087008722803071221200335005287091966676381346691423181166243315472083493260050554307382332167076737359057509877574163433131850525861349183094552706286102703225676586287967259307463370616154528665218555585683106861291745629595104634931966101002790756073369404738997356531661168859029601033847462603 3563024260664201886423679572494180666826288992701236366517574929671681287138489836497993735007069633022800523427874649110609482852176049318311358039465329832910040555986295080552281985634701508920782283237050666166418376273963005638961982174438642739321111523909044225976055794706101777393343425089045790462015370868854705890443987413272757968909358974442192873082542375606637153408320937605181202029895322319998085085934515788518559808990986575308023273703627654953292608565252980800556680171459770367407477182024918330497612070348397763278788604674702953284781862518967091393734535459297858542709503410163273373409658235601425849292632978758411007806783186216795927516109033949159201421927332491247862466407957013973816203748015714263482235887076565828581035904917555199086057519644192863271803787227535709802100808887375312989465095121998777571572857984084309804138702366326757800703482117901182056523350709116573598672157719102663837072966989759067717186604237314064816003527156275806219853022444174264198233709849831746219753260217100723262160477566628280165837693057796590597474998568081472740507527052722353595314234351261781129834140626232328159287594998745735452122712969250141918327548236822429908076858529960629302338707162763776853937576860817024848443848006897781054353446521801595792169047119120716578491093527373153566122794632342877310828976585805695625392395255414930759283451386215449348052825395727762969774808464069506163960248789902740807399834225419143162307549266380242341409510258556794223226293669920410958078150869145868342042224703378190816695952256568848134805497139511192430736552276264441684444823323900079570895129873166645363264064072071889479667389788406468482031019414195319875057470445887800348169707232870810692443473535144029361121505326926634903023425067470298172926640420041987704820401090326294836055630350784920825837550704101490481276611255173561283486644652159181250458908627214367987749475123125935344601216316761359071139640690486935845471439788572882373637478641226238890960319711042320194867834184357559804125709378765958149004986899169394830596300547687670364396691483253504589980685409130114474645193159723618918579770604758389720267219989496029498892305563645261334448856585679261649511702711806341679651861748000872136591554976138013503202927168884582837354555445908971040437888557732527979034887921657875665161109911566159594473982184311641125113604167906815973306757042877718953239943185586674387292489687735235507167222010751825433448463459383412494753185582094128447357722670800135232951496291302151798611959373648619409985942596677375921451366687765132758716781507884554540149623943462047712753691852785159005343680689621487200087997524 5765094356495143644227271223235149992894971490389048848011884636234515219069085919379019836320188269203355646172514685099986349018588142537470339962044105952978993515587753205257716241402833693079719429907244487843642814644673792069063056322423240146512575440536125771783420106201412902819547704749678969818481397841763383254279910313278528054798309595634167708576850010691910873211350817556174784900141357159908258155780767482885972430418326495828434720375921532540983701721197344784104122319426245375452837255901483006055652439664014579287891085632930759383420038111667985471285924520057276793946047617328756200464493789264291998883062734643263009264430334664161585011483102676208450264067526026693044479288832953158102872510457894986336011981521593981084393912780287881175602278855739486656022428270259994557013155956644817198410611564398559862691461981771837303178477963738231307096451586880706827857518952662564292671626965332458133062956608567782041769435489346221386525297161592634990046501386868232389473980034342540939993215861553732436790817106840318117882675140888860757391827259788172668582435559760027966780169650404162728042949626353114673997034789807604804986089109391924872689410829819281042969011273981036797265944732438419163822876400550449975801311964133334973831215976807395156841926017302029815149688630373730084243310343738913911332941674864613991001371850646740156012103247630524454136505375180532025314258232469414665311639334067419773899211297539771252291693708232003320505102117321844600688268580958563634111330314750966021646451414694452252754777797824409661414586082547370300634271570060237304416238364397113158492925656231604645704329654720220412796206634227517791326294284238668806260655352418719453774241125638731142962714000352022064140477190694854569773682828231313824413967877530060367461532970958781989031940922006040901451527960037878812099501488164882847668281101766043964097564037345020047449444846942679616132537417186395779746491164008088369932212368918389095355166204811940806847055058802254577263299333502794747364379643885054538103609935797503412426698901045091921217573395126172046611147132766757970240166055238042858820083448956522003955186024288847341237527138398104467809189885573224181567779818908399053280097594539303632505255227261391890035211494968106114202997873902431429462363342308182570888435722229026140469978023046745652292877394894023790200612890709887194507092048164810919916324532278097568458733003207319000427272565059207765615540196742470004630759745527260297883584019983229785657782394005377475198247340907926873356558751206041140006952370871994050462411102989189472115724946252803786123096591782515537004849548651088233935460127 9328118617159345530650950795729330659721260483090285214529459565906196506207575755877013571327257902226156169600389334210595831870764191855781698001509435785889034071574048285809998227037535202000501713144295154010061190918636797708025038496861882885833686964445169997759475900907514680212891129838724760280496768710618089144723897726551286023707668570076360581659392386298548026619671755161355986930036679479906343241715283271404532239409313071136457994079549187494276310286450325584660802490886015742860314437926401336553264510012412342566679690307633712668201900630635076865020459979355135336655551027492029573874152024865717848175695713401674017071213520880957512527592136625367651685994858517940906945696789967131919076258473609249818247868598159809665429817697843080261659798499932349927826215497795704359113964844020130187875706686397337434264319965856147107317180330064989107799933704781888884380869661779137891343784684435121970135923598326849758956039726660286202528824317868441209899523831042496587707689884174287159746476078654455698951294673468598283720368198685451354866825827869645409089962612482381562094404001665943857877090252585442833284629788553340257108802078642066791016959066641710951045869803941666099604651895202196017760453261367474824245159971031116028184662498608990949010973136422746393640782157746883650366104976081791222161918260670309616393767106061670915295554633845973802189330770908294995089066696538920829271888123970160581299045522958914414599242974612245661914612375878638823914562250878974592189481183896834363688676118072643069450730054393257796220083222058562731370823846324678988861061688297192729388055529398250008968393726792109892463596422633986273357313698433988681318125798306519801943948358509541835406187535496051425261982517621489472797107895701611997340608297572048072281934061285076825087571272790961727289078664139369293376112743338444131154925753925225214556472664559388035198919970068614960733753733947754850886131854495024215403652157491271468992644846038179697807374769844574772131133517860354551490089022651012687108596834966898243022999448732762285614264878379676636591832541896872444885359214961661777399854053714911724222406013784876840129832702043365802258046471252485831079482530714740732931959342540175769096810203399405393238138663852688951557553319811402469900251900040710549923323643886901805631087934612905246766859579205664915314217058616703167813849091042529873156267717864771955751222690942554507594494575811033199064003656125882499383945327621388745241306690783365018609278685307529273810206714556546283342501347883417061458319058637126809179192610873744012265348889714851498876788444567674542348530238272575434023457651 15093212973654489174878222018964480652616231973479334062541344202140711725276661675256033407647446171429511815772904019310582180889352334393252037963553541738868027587161801491067714468440368895080221143051539641853704005563310589777088094819285123032346262404981295769542896007108927583032438834588403730098978166552381472399003808039829814078505978165710528290236242396990458899831022572717530771830178036639814601397496050754290504669827639566964892714455470720035260012007647670368764924810312261118313151693827884342608916949676426921854570775940564472051621938742303062336306384499412412130601598644820785774338645814130009847058758448044937026335643855545119097539075239301576101950062384544633951424985622920290021948768931504236154259850119753790749823730478130961437262077355671836583848643768055698916127120800664947386286318250795897296955781947627984410495658293803220414896385291662595712238388614441702184015411649767580103198880206894631800725475216006507589054121479461076199946025217910728977181669918516828099739691940208188135742111780308916401603043339574312112258653087657818077672398172242409528874573652070106585920039878938557507281664578360945062094891188033991663706369896460991994014881077922702896870596627640615181583329661917924800046471935164451002015878475416386105852899153724776208790470788120613734609415319820705133494859935534923607395138956708411071307657881476498256325836146088827020403324929008335494583527458037580355198256820498685666890936682844248982419714493200483424602830831837538226300811498647800385335127532767095322205507852217667457634669304605933032005095416384916293277300052694305887880981185629854654672723381512330305259803056861504064683607982672657487578781150725239255718189484148272978368901535848073489402459708316344042570790723932925821754576175102108439743467032243858814119512194797002628740606624177248105475614231503326978823206855691269178654036701904408082648364817011294576866291151134150630632623018503112585335864526409660564347811050850120504654429828646829349394432851363149298854468666536067225212206770764401655449698349777854206831838273505848683202979674663630415125525270199704636219937502671433728177592038073724181367359840441470270067236356825710012647262349623139786212056937079479401602065430660797283273350158820795065760551193713833899362615242348893120811759366115927946101065957659650899059736974099688705514829949326590362320941139207340793072592250142869524209955694149873508021767140870240964679543852868352504014705073148649043124890710766594804267061079312906749008454055464473156699060099089458201465271429509120859641603713862933484381073835967655284999885036350190079353379786923663667958917778 24421331590813834705529172814693811312337492456569619277070803768046908231484237431133046978974704073655667985373293353521178012760116526249033735965062977524757061658735849776877712695477904097080722856195834795863765196481947387485113133316147005918179949369426465767302371908016442263245329964427128490379474935262999561543727705766381100102213646735786888871895634783289006926450694327878886758760214716119720944639211334025695036909236952638101350708535019907529536322294097995953425727301198276861173466131754285679162181459688839264421250466248198184719823839372938139201326844478767547467257149672312815348212797838995727695234454161446611043406857376426076610066667375926943753636057243062574858370682412887421941025027405113485972507718717913600415253548175974041698921875855604186511674859265851403275241085644685077574162024937193234731220101913484131517812838623868209522696318996444484596619258276220840075359196334202702073334803805221481559681514942666793791582945797329517409845549048953225564889359802691115259486168018862643834693406453777514685323411538259763467125478915527463486762360784724791090968977653736050443797130131524000340566294366914285319203693266676058454723328963102702945060750881864368996475248522842811199343782923285399624291631906195567030200540974025377054863872290147522602431252945867497384975520295902496355656778196205233223788906062770081986603212515322472058515166916997122015492391625547256323855415582007740936497302343457600081490179657456494644334326869079122248517393082716512818490292682544634749023803650839738391656237906610925253854752526664495763375919262709595282138361740991498617269036715028104663641117108304440197723399479495490338040921681106646168896906949031759057662137842657814813775089071344124914664442225937833515367898619634537819095184472674156512025401093528935639207083467587964356029685288316617398851726974841771109978132609616494393210509366463796117847284787079909537600044885081905481518754872998136800739516683900932033340455896888300202461804598491404121525566369223503850344557689187079912320803605731299898472697798510616492446103151885525319794812216560502860010884485161366413619791556386345452399998051858601021497192542484836072325282828078195843726744880337880519144016279619655170698875634060202676511488822673484017318104513525236369262867142389603670735083010002829751732153892272556145826596553305353620829047007943293530134790230249870666228859968007641479961178385092428015616261716681274163743547508994235003398650400770037788366197401549959822876339764620436022818660770021019440041561446972875262923590488146247668820796324736677496646422725682506783876673480917864621701910025196239101982375429 39514544564468323880407394833658291964953724430048953339612147970187619956760899106389080386622150245085179801146197372831760193649468860642285773928616519263625089245897651267945427163918272992160943999247374437717469202045257977262201228135432128950526211774407761536845267915125369846277768799015532220478453101815381033942731513806210914180719624901497417162131877180279465826281716900596417530590392752759535546036707384779985541579064592205066243422990490627564796334301745666322190652111510537979486617825582170021771098409365266186275821242188762656771445778115241201537633228978179959597858748317133601122551443653125737542293212609491548069742501231971195707605742615228519855586119627607208809795668035807711962973796336617722126767568837667391165077278654105003136183953211276023095523503033907102191368206445350024960448343187989132028175883861112115928308496917671429937592704288107080308857646890662542259374607983970282176533684012116113360406990158673301380637067276790593609791574266863954542071029721207943359225859959070831970435518234086431086926454877834075579384132003185281564434758956967200619843551305806157029717170010462557847847958945275230381298584454710050118429698859563694939075631959787071893345845150483426380927112585203324424338103841360018032216419449441763160716771443872298811221723733988111119584935615723201489151638131740156831184045019478493057910870396798970314841003063085949035895716554555591818438943040045321291695559163956285748381116340300743626754041362279605673120223914554051044791104181192435134358931183606833713861745758828592711489421831270428795381014679094511575415661793685804505150017900657959318313840489816770502983202536356994402724529663779303656475688099756998313380327326806087792143990607192198404066901934254177557938689343567463640849760647776264951768868125772794453326595662384966984770291912493865504327341206345098088801339465307763571864546068368204200495649604091204114466336036216056112151377891501249386075381210310592597688266947738420707116234427138233470919999220586653149199026355723147137533010376495701553922396148288470699277941425391374002997791891224133275136409755361071049839729059057779180577590089932325202864552382926306342392519184903905856374007229961020305356073216699134572300941064720999959784838981494279083078655707239070268625482384738496791546842376118757697833219849932207044886333527405042326343876957269883892455731369457211459301452218150511004171134079242301523638028857551515128423091361862587507413355473918686831491088112316554627143400843933342771827114825485492596740621546062333464388861917655368528462400038599610981027496561650162068876558517268054701055289812119902769941293207 63935876155282158585936567648352103277291216886618572616682951738234528188245136537522127365596854318740847786519490726352938206409585386891319509893679496788382150904633501044823139859396177089241666855443209233581234398527205364747314361451579134868706161143834227304147639823141812109523098763442660710857928037078380595486459219572592014282933271637284306034027511963568472752732411228475304289350607468879256490675918718805680578488301544843167594131525510535094332656595843662275616379412708814840660083957336455700933279869054105450697071708436960841491269617488179340738960073456947507065115897989446416470764241492121465237527666770938159113149358608397272317672409991155463609222176870669783668166350448695133903998823741731208099275287555580991580330826830079044835105829066880209607198362299758505466609292090035102534610368125182366759395985774596247446121335541539639460289023284551564905476905166883382334733804318172984249868487817337594920088505101340095172220013074120111019637123315817180106960389523899058618712027977933475805128924687863945772249866416093839046509610918712745051197119741691991710812528959542207473514300141986558188414253312189515700502277721386108573153027822666397884136382841651440889821093673326237580270895508488724048629735747555585062416960423467140215580643734019821413652976679855608504560455911625697844808416327945390054972951082248575044514082912121442373356169980083071051388108180102848142294358622053062228192861507413885829871295997757238271088368231358727921637616997270563863281396863737069883382734834446572105517983665439517965344174357934924558756933941804106857554023534677303122419054615686063981954957598121210700706602015852484740765451344885949825372595048788757371042465169463902605919079678536323318731344160192011073306587963202001459944945120450421463794269219301730092533679129972931340799977200810482903179068181186869198779472074924257965075055434832000318342934391171113652066380921297961593670132764499386186814897894211524631028722844626720909578039025629637592445565589810156999543584044910227049853813982227001452395093946799087191724044577276899322792604107784636135147294240522437463459520615444124632977588141790926224361744925411142414717802012982101700100752110298900824500089496318789742999816698781202636296327804167763100396760220764306637888349527128100462281925386121587449565373742204763190712930080710395947172923965213177422590521599707082125530312186158152484132312464334729539254290574232789292166638870856822510812005874688724619857285513866514450019740608553778794645775595506512036782182993035208727312452405801616197283196363336288477673919287332668852753231998185919322757199837316141871923668636 103450420719750482466343962482010395242244941316667525956295099708422148145006035643911207752219004563826027587665688099184698400059054247533605283822296016052007240150531152312768567023314450081402610854690583671298703600572463342009515589587011263819232372918241988840992907738267181955800867562458192931336381138893761629429190733378802928463652896538781723196159389143847938579014128129071721819941000221638792036712626103585666120067366137048233837554516001162659128990897589328597807031524219352820146701782918625722704378278419371636972892950625723498262715395603420542276593302435127466662974646306580017593315685145247202779820879380429707182891859840368468025278152606383983464808296498276992477962018484502845866972620078348930226042856393248382745408105484184047971289782278156232702721865333665607657977498535385127495058711313171498787571869635708363374429832459211069397881727572658645214334552057545924594108412302143266426402171829453708280495495260013396552857080350910704629428697582681134649031419245107001977937887937004307775564442921950376859176321293927914625893742921898026615631878698659192330656080265348364503231470152449116036262212257464746081800862176096158691582726682230092823212014801438512783166938823809663961198008093692048472967839588915603094633379872908903376297415177892120224874700413843719624145391527348899333960054459685546886156996101727068102424953308920412688197173043169020087283824734658439960733301662098383519888420671370171578252412338057981897842409593638333594757840911824614908072501044929505017741666018053405819379729424268110676833596189205353354137948620898618432969685328363107627569072516344023300268798087937981203689804552209479143489981008665253481848283148545755684422792496269990398063070285728521722798246094446188631245277306769465100794705768226686415563137345074524545860274792357898325570269113304348407506409387531967287580811540232021536939601503200204518838583995262317766532716957514017705821510656000635572890279104522117228716989792365141616694273452767871063365564810396810148742610400633374187386824358722703006317490095087557891001986002668273325790395999008769410283703995883508513299249674501903813555178231723251427226297308337448757110321197886007556474759340259921129856162713017924315300757763502202596081166785662042183475415928003376906513831911866597253828767762240345147398593592136970235599263608115438273516800922483061315046252969164293584831764404308663488303446543577031062892319431784304420589730232719410018225361348607411451348373626183069077163141452487121566472890420992004633522804539097542191701314323456984725745596401935899458701415848982830921629790515453974023812489649436044641864961843 167386296875032641052280530130362498519536158203286098572978051446656676333251172181433335117815858882566875374185178825537636606468639634424924793715975512840389391055164653357591706882710627170644277710133792904879937999099668706756829951038590398687938534062076216145140547561408994065323966325900853642194309175972142224915649952951394942746586168176066029230186901107416411331746539357547026109291607690518048527388544822391346698555667681891401431686041511697753461647493432990873423410936928167660806785740255081423637658147473477087669964659062684339753985013091599883015553375892074973728090544296026434064079926637368668017348546151367866296041218448765740342950562597539447074030473368946776146128368933197979770971443820080138325318143948829374325738932314263092806395611345036442309920227633424113124586790625420230029669079438353865546967855410304610820551168000750708858170750857210210119811457224429306928842216620316250676270659646791303200584000361353491725077093425030815649065820898498314755991808769006060596649915914937783580693367609814322631426187710021753672403353840610771666828998440351184041468609224890571976745770294435674224676465569654261782303139897482267264735754504896490707348397643089953672988032497135901541468903602180772521597575336471188157050340296376043591878058911911941638527677093699328128705847438974597178768470787630936941129947183975643146939036221041855061553343023252091138671932914761288103027660284151445748081282178784057408123708335815220168930777824997061516395457909095178771353897908666574901124400852499977924897713089707628642177770547140277912894882562702725290523708863040410749988127132030087282223755686059191904396406568061963884255432353551203307220878197334513055465257665733893003982149964264845041529590254638199704551865269971466560739650888677107879357406564376254638393953922330829666370246314114831310685477568718836486360283615156279502014656938032204837181518386433431418599097878811979299491643420500021759705176998733641859745712636991862526272312478397508655811130400206967148286194445543601237240638340949704458712584041886645082726030579945172648583000106793405545430998236405945976758770289946028446532766373514177651588042233748591171828123210868109256575511450558821954356252209336714058300574462283405232377494589829805283872176148767683544402181438994697716110693148361932596963967334341733426312193688825834220689724887696238737636774568871375710362076590466815972435759007911760602146610006017093712756369103576232529037367223296136071205659140049583527182882061040900361118666016498516670304987532132750919013766729258600923028792765272187936375335136315499774383022513639893346569689486752186513788630479 270836717594783123518624492612372893761781099519953624529273151155078824478257207825344542870034863446392902961850866924722335006527693881958530077538271528892396631205695805670360273906025077252046888564824376576178641599672132048766345540625601662507170906980318204986133455299676176021124833888359046573530690314865903854344840686330197871210239064714847752426346290251264349910760667486618747929232607912156840564101170925977012818623033818939635269240557512860412590638391022319471230442461147520480953487523173707146342036425892848724642857609688407838016700408695020425292146678327202440391065190602606451657395611782615870797169425531797573478933078289134208368228715203923430538838769867223768624090387417700825637944063898429068551361000342077757071147037798447140777685393623192675012642092967089720782564289160805357524727790751525364334539725046012974194981000459961778256052478429868855334146009281975231522950628922459517102672831476245011481079495621366888277934173775941520278494518481179449405023228014113062574587803851942091356257810531764699490602509003949668298297096762508798282460877139010376372124689490238936479977240446884790260938677827119007864104002073578425956318481187126583530560412444528466456154971320945565502666911695872820994565414925386791251683720169284946968175474089804061863402377507543047752851238966323496512728525247316483827286943285702711249363989529962267749750516066421111225955757649419728063760961946249829267969702850154228986376120673873202066773187418635395111153298820919793679426398953596079918866066870553383744277442513975739319011366736345631267032831183601343723493394191403518377557199648374110582492553773997173108086211120271443027745413362216456789069161345880268739888050162003883402045220249993366764327836349084388335797142576740931661534356656903794294920543909450779184254228714688727991940515427419179718191886956250803773941095155388301038954258441232409356020102381695749185131814836325997005313154076500657332595456103255759088462702429357004142966585931165379719176695210603777297028804846176975424627462699672407465030074136974202973728016582613445974373396105802174955714702232289454490058019964447932260087944605237429078814339542086039928938444408754116813050270790818743084212414922354638373601332225785607828458661375491847467347592076771060450916013350861294969939460910602277744362560926478703661911457296941272494206525810179300052683027538035669295193840994775479460739205551488791665038929437801398133346099336295642547262728571903547522554032766232652604346023513528021927591556437490521303827792071230293110715081052715585648774389167208087395076750985298330696012813029093867370382179136188231155653592322 438223014469815764570905022742735392281317257723239723102251202601735500811508380006777877987850722328959778336036045750259971612996333516383454871254247041732786022260860459027951980788735704422691166274958169481058579598771800755523175491664192061195109441042394421131274002861085170086448800214259900215724999490838046079260490639281592813956825232890913781656533191358680761242507206844165774038524215602674889091489715748368359517178701500831036700926599024558166052285884455310344653853398075688141760273263428788569979694573366325812312822268751092177770685421786620308307700054219277414119155734898632885721475538419984538814517971683165439774974296737899948711179277801462877612869243236170544770218756350898805408915507718509206876679144290907131396885970112710233584081004968229117322562320600513833907151079786225587554396870189879229881507580456317585015532168460712487114223229287079065453957466506404538451792845542775767778943491123036314681663495982720380003011267200972335927560339379677764161015036783119123171237719766879874936951178141579022122028696713971421970700450603119569949289875579361560413593298715129508456723010741320464485615143396773269646407141971060693221054235692023074237908810087618420129143003818081467044135815298053593516162990261857979408734060465660990560053533001716003501930054601242375881557086405298093691496996034947420768416890469678354396303025751004122811303859089673202364627690564181016166788622230401275016050985028938286394499829009688422235703965243632456627548756730014972450780296862262654819990467723053361669175155603683367961189137283485909179927713746304069014017103054443929127545326780404197864716309460056365012482617688333406912000845715767660096290039543214781795353307827737776406027370214258211805857426603722588040349007846712398222274007545580902174277950473827033822648182637019557658310761741534011028877364524969640260301378770544580540968915379264614193201620768129180603730912715137976304804797497000679092300633101989400948208415066348866669238898409562888374987825610810744445314999291720576661868101040622111923742658178860848056454047162558618622956396212595580501145700468695400466816790254393960706620710978751606730402381775834631100766567619622226069625782241377565038568667131691352431901906688069013060836155965321652751219768225538743995318194789855992686050154058964210341326528260820437088223650985767106714896250697875538790319802106907045005555917585242295433174964559400552267185539443818491846102468439871875076300095795199683593759691906282236131528905574568922288710222453989037974132779603363044029728847781974186571803181932480275331452086121613830470395835542733760716951868622940417669442222801 709059732064598888089529515355108286043098357243193347631524353756814325289765587832122420857885585775352681297886912674982306619524027398341984948792518570625182653466556264698312254694760781674738054839782546057237221198443932804289521032289793723702280348022712626117407458160761346107573634102618946789255689805703949933605331325611790685167064297605761534082879481609945111153267874330784521967756823514831729655590886674345372335801735319770671970167156537418578642924275477629815884295859223208622713760786602495716321730999259174536955679878439500015787385830481640733599846732546479854510220925501239337378871150202600409611687397214963013253907375027034157079407993005386308151708013103394313394309143768599631046859571616938275428040144632984888468033007911157374361766398591421792335204413567603554689715368947030945079124660941404594216047305502330559210513168920674265370275707716947920788103475788379769974743474465235284881616322599281326162742991604087268280945440976913856206054857860857213566038264797232185745825523618821966293208988673343721612631205717921090268997547365628368231750752718371936785717988205368444936700251188205254746553821223892277510511144044639119177372716879149657768469222532146886585297975139027032546802726993926414510728405187244770660417780634945937528229007091520065365332432108785423634408325371621590204225521282263904595703833755381065645667015280966390561054375156094313590583448213600744230549584176651104284020687879092515380875949683561624302477152662267851738702055550934766130206695815858734738856534593606745413452598117659107280200504019831540446960544929905412737510497245847447505102526428778308447208863234053538120568828808604849939746259077984116885359200889095050535241357989741659808072590464251578570185262952806976376146150423453329883808364202484696469198494383277813006902411351708285650251277168953190747069251481220444034242473925932881579923173820497023549221723149824929788862727551463973310117951573501336424896089205245160036671117495705870812205484340728268094164520821414521742343804137897552086495563740294519388772732315835051030182063745172064597329792318397755456860402700984854956874810218841892966708655583989035809216721317920671029705012028376342882676053032196308122781082054045990805503238913854620889294817340813500218567360302309804446234208140717287655989614969566488085689089187299140750135108282708379209102776508054838843002829644942714300749758580017774893914170110889343932224468881619889979448567776167517623562824367103231116313724672514888735874929088096944216301778891479559277960571674593337140443928834689772220577571099688362726528837106912161166408648571827628087334047759128648825095815123 1147282746534414652660434538097843678324415614966433070733775556358549826101273967838900298845736308104312459633922958425242278232520360914725439820046765612357968675727416723726264235483496486097429221114740715538295800797215733559812696523953985784897389789065107047248681461021846516194022434316878847004980689296541996012865821964893383499123889530496675315739412672968625872395775081174950296006281039117506618747080602422713731852980436820601708671093755561976744695210159932940160538149257298896764474034050031284286301425572625500349268502147190592193558071252268261041907546786765757268629376660399872223100346688622584948426205368898128453028881671764934105790587270806849185764577256339564858164527900119498436455775079335447482304719288923892019864918978023867607945847403559650909657766734168117388596866448733256532633521531131283824097554885958648144226045337381386752484498937004026986242060942294784308426536320008011052660559813722317640844406487586807648283956708177886192133615197240534977727053301580351308917063243385701841230160166814922743734659902431892512239697997968747938181040628297733497199311286920497953393423261929525719232168964620665547156918286015699812398426952571172732006378032619765306714440978957108499590938542291980008026891395449102750069151841100606928088282540093236068867262486710027799515965411776919683895722517317211325364120724225059420041970041031970513372358234245767515955211138777781760397338206407052379300071672908030801775375778693250046538181117905900308366250812280949738580986992678121389558847002316660107082627753721342475241389641303317449626888258676209481751527600300291376632647853209182506311925172694109903133051446496938256851747104793751776981649240432309832330594665817479436214099960678509790376042689556529564416495158270165728106082371748065598643476444857104846829550593988727843308562038910487201775946616006190084294543852696477462120892089199761637742423343917954110392593640266601949614922749070502015517196722307234560984879532562054737481444382750291156469152346432225266187658803429618128748363664780916631312515390494695899086636110907730683220286188530993335958006103169680255423691600473235853673329366562740642539619103093755302130471579647998568952301835273573873161349749185737343237405145601923633950130973306135152969787128527848548441552402930573280342039769028530698427015617448119577838358759268475485923999027205930377633322631751849759306305676165260070327089134670289896199410008325438381825551036216039392699862920162302914710073416578797124867403834662665866505012001345468597252093351277956381170172776616663958792380753032168638057980923228525991636804484114561388804285916382069066494538037924 1856342478599013540749964053452951964367513972209626418365299910115364151391039555671022719703621893879665140931809871100224584852044388313067424768839284182983151329193972988424576490178257267772167275954523261595533021995659666364102217556243779508599670137087819673366088919182607862301596068419497793794236379102245945946471153290505174184290953828102436849822292154578570983549042955505734817974037862632338348402671489097059104188782172140372380641260912099395323338134435410569976422445116522105387187794836633780002623156571884674886224182025630092209345457082749901775507393519312237123139597585901111560479217838825185358037892766113091466282789046791968262869995263812235493916285269442959171558837043888098067502634650952385757732759433556876908332951985935024982307613802151072701992971147735720943286581817680287477712646192072688418313602191460978703436558506302061017854774644720974907030164418083164078401279794473246337542176136321598967007149479190894916564902149154800048339670055101392191293091566377583494662888767004523807523369155488266465347291108149813602508695545334376306412791381016105433985029275125866398330123513117730973978722785844557824667429430060338931575799669450322389774847255151912193299738954096135532137741269285906422537619800636347520729569621735552865616511547184756134232594918818813223150373737148541274099948038599475229959824557980440485687637056312936903933412609401861829545794586991382504627887790583703483584092360787123317156251728376811670840658270568168160104952867831884504711193688493980124297703536910266852496080351839001582521590145323148990073848803606114894489038097546138824137750379637960814759134035928163441253620275305543106791493363871735893867008441321404882865836023807221096022172551142761368946227952509336540792641308693619057989890735950550295112674939240382659836453005340436128958813316079440392523015867487410528328786326622410343700815263020258661291645067067779040181456367818065922925040700644003351942092811512479721021550650057760608293649867091019424563316867253639787930002607567515680834859228521211150701288122810530950116818174652902747817615980849391091414866505870665110380566410692077746640038022146729678348835824411675973160176591676374911834977888305770181284130831239783334042908384515778254839425790646948653188354488830158352887786611071290567998029383998097186512704706635418718588493867551183865133101803713985216476325461396792473607055434745277845221003304781179240131634477207058271804999603992206910323425744529406145826387141251312013603278763750762810721313780236948156530053922952549718310616705451353731012958324131857000784509760335438152803213132686389016891619964141197715319633853047 3003625225133428193410398591550795642691929587176059489099075466473913977492313523509923018549358201983977600565732829525466863084564749227792864588886049795341120004921389712150840725661753753869596497069263977133828822792875399923914914080197765293497059926152926720614770380204454378495618502736376640799217068398787941959336975255398557683414843358599112165561704827547196855944818036680685113980318901749844967149752091519772836041762608960974089312354667661372068033344595343510136960594373821002151661828886665064288924582144510175235492684172820684402903528335018162817414940306077994391768974246300983783579564527447770306464098135011219919311670718556902368660582534619084679680862525782524029723364944007596503958409730287833240037478722480768928197870963958892590253461205710723611650737881903838331883448266413544010346167723203972242411157077419626847662603843683447770339273581725001893272225360377948386827816114481257390202735950043916607851555966777702564848858857332686240473285252341927169020144867957934803579952010390225648753529322303189209081951010581706114748393543303124244593832009313838931184340562046364351723546775047256693210891750465223371824347716076038743974226622021495121781225287771677500014179933053244031728679811577886430564511196085450270798721462836159793704794087277992203099857405528841022666339148925460957995670555916686555323945282205499905729607097344907417305770843647629345501005725769164265025225996990755862884164033695154118931627507070061717378839388474068468471203680112834243292180681172101513856550539226926959578708105560344057762979786626466439700737062282324376240565697846430200770398232847143321071059208622273344386671721802481363643240468665487670848657681753714715196430689624700532236272511821271159322270642065866105209136466963784786095973107698615893756151384097487506666003599329163972267375354989927594298962483493600612623330179318887805821707352220020299034068410985733150574050008084667872539963449714505367459289533819714282006430182619815345775094249841310581032469213685865054117661410997133809583222893302127782013803513305226849203454285560633431037902169380384427372872609040345365804258011165313600313367388709470320888454927505431275290648171324373480787279723579344054445480580425520677280313530117701888789556763953083806158141617358006901329339014001863848340069153026627884939720324083538296426852626819659351057100830919915594109648093148642232913361110910537915548092439451469136331044485532496653630550640208246303023288664691709060536460557830109138470682598413428677226325781582416753782147274230506099480789482068017689805339077164025638842490683563964144440017616800950405695905880523266781814171890971 4859967703732441734160362645003747607059443559385685907464375376589278128883353079180945738252980095863642741497542700625691447936609137540860289357725333978324271334115362700575417215840011021641763773023787238729361844788535066288017131636441544802096730063240746393980859299387062240797214571155874434593453447501033887905808128545903731867705797186701549015383996982125767839493860992186419931954356764382183315552423580616831940230544781101346469953615579760767391371479030754080113383039490343107538849623723298844291547738716394850121716866198450776612248985417768064592922333825390231514908571832202095344058782366272955664501990901124311385594459765348870631530577798431320173597147795225483201282201987895694571461044381240218997770238156037645836530822949893917572561075007861796313643709029639559275170030084093831488058813915276660660724759268880605551099162349985508788194048226445976800302389778461112465229095908954503727744912086365515574858705445968597481413761006487486288812955307443319360313236434335518298242840777394749456276898477791455674429242118731519717257089088637500551006623390329944365169369837172230750053670288164987667189614536309781196491777146136377675550026291471817511556072542923589693313918887149379563866421080863792853102130996721797791528291084571712659321305634462748337332452324347654245816712886074002232095618594516161785283769840185940391417244153657844321239183453049491175046800312760546769653113787574459346468256394482277436087879235446873388219497659042236628576156547944718748003374369666081638154254076137193812074788457399345640284569931949615429774585865888439270729603795392569024908148612485104135830193244550436785640291997108024470434733832537223564715666123075119598062266713431921628258445062964032528268498594575202646001777775657403844085863843649166188868826323337870166502456604669600101226188671069367986821978350981011140952116505941298149522522615240278960325713478053512190755506375902733795465004150358508719401382345332194003027980832677575954068744116932330005595786080939504842047664018564649490418082121823338932715091636115757799320272460213536178855518150229775518787739114911010476184824421857391346953405410856199999237290751917107248450824763000748392622257611885114235729611411665304011323221914633480143628982554600032459346496106188165254217125625073154416338098537024725071452425030718957015015346494370843216190202634633900810585973554545434706520416545655815760769095744232648376462678962739554925435550244200453213346714409221115206362847699081421152073961362164191487947639561819364910312201197183055817791406187519371420818297401295882639627000443899402297243230749487339422587525844664464497133805744018 7863592928865869927570761236554543249751373146561745396563450843063192106375666602690868756802338297847620342063275530151158311021173886768653153946611383773665391339036752412726257941501764775511360270093051215863190667581410466211932045716639310095593789989393673114595629679591516619292833073892251075392670515899821829865145103801302289551120640545300661180945701809672964695438679028867105045934675666132028282702175672136604776272307390062320559265970247422139459404823626097590250343633864164109690511452609963908580472320860905025357209550371271461015152513752786227410337274131468225906677546078503079127638346893720725970966089036135531304906130483905773000191160333050404853278010321008007231005566931903291075419454111528052237807716878518414764728693913852810162814536213572519925294446911543397607053478350507375498404981638480632903135916346300232398761766193668956558533321808170978693574615138839060852056912023435761117947648036409432182710261412746300046262619863820172529286240559785246529333381302293453101822792787784975105030427800094644883511193129313225832005482631940624795600455399643783296353710399218595101777217063212244360400506286775004568316124862212416419524252913493312633337297830695267193328098820202623595595100892441679283666642192807248062327012547407872453026099721740740540432309729876495268483052034999463190091289150432848340607715122391440297146851251002751738544954296697120520547806038529711034678339784565215209352420428177431555019506742516935105598337047516305097047360228057552991295555050838183152010804615364120771653496562959689698047549718576081869475322928170763646970169493238999225678546845332247456901252453172710130026963718910505834077974301202711235564323804828834313258697403056622160494717574785303687590769236641068751210914242621188630181836951347782082624977707435357673168460203998764073493564026059295581120940834474611753575446685260185955344229967460299259359781889039245341329556383987401668004967600073014086860671879151908285034411015297391299843838366773640586628255294625369896165325429561783300001305015125466714728895149420984648523726745774169609893420319610159946160611723951355841989082433022704947266772799565670320125745679422538523741472934325121873409537335464458290175091992090824688603535444751182032418539318553116265504637723546172155546464639075018264678167690051352956392145354802495311442199121190502567247303465553816404695621647694076939433777656566353676317188183684117512793723448272051579066100884408699516370003073912824266899308256911530290544643960577620165173965343401781664094348471413561917272195669587389110623636478459908278469491127463366441683248366288289828283431725187731278947977634989 12723560632598311661731123881558290856810816705947431304027826219652470235259019681871814495055318393711263083560818230776849758957783024309513443304336717751989662673152115113301675157341775797153124043116838454592552512369945532499949177353080854897690520052634419508576488978978578860090047645048125509986123963400855717770953232347206021418826437732002210196329698791798732534932540021053524977889032430514211598254599252753436716502852171163667029219585827182906850776302656851670363726673354507217229361076333262752872020059577299875478926416569722237627401499170554292003259607956858457421586117910705174471697129259993681635468079937259842690500590249254643631721738131481725026875158116233490432287768919798985646880498492768271235577955034556060601259516863746727735375611221434316238938155941182956882223508434601206986463795553757293563860675615180837949860928543654465346727370034616955493877004917300173317286007932390264845692560122774947757568966858714897527676380870307658818099195867228565889646617736628971400065633565179724561307326277886100557940435248044745549262571720578125346607078789973727661523080236390825851830887351377232027590120823084785764807902008348794095074279204965130144893370373618856886642017707352003159461521973305472136768773189529045853855303631979585112347405356203488877764762054224149514299764921073465422186907744949010125891484962577380688564095404660596059784137749746611695594606351290257804331453572139674555820676822659708991107385977963808493817834706558541725623516776002271739298929420504264790165058691501314583728285020359035338332119650525697299249908794059202917699773288631568250586695457817351592731445697723146915667255716018530304512708133739934800279989927903953911320964116488543788753162637749336215859267831216271397212692018278592474267700794996948271493804030773227839670916808668364174719752697128663567942919185455622894527563191201484104866752582700578219685495367092757532085062759890135463469971750431522806262054224484102288062391847974967253912582483705970592224041375564874738212989448126432790419387136948805647443986785536742447843999205987705788748938469839935464948350838862366318173906854880096294220178210421870319363036431339645772192297697325870266031794947349572525904703403756128699926757359384662176047521873153148724851133829734337409763590264148172681016266227076078027844570385521452326457545615561345783437506100187717215281595202239511645954194202222169437086283927916765889256402411011606504501651128609152729716717483133939473262155955992951442618605322741811653121604905221146574406549668596617735063601857106760531441933879755790918096491571362768738926479115775629250870957569852195776081783379007 20587153561464181589301885118112834106562189852509176700591277062715662341634686284562683251857656691558883425624093760928008069978956911078166597250948101525655054012188867526027933098843540572664484313209889670455743179951355998711881223069720164993284310042028092623172118658570095479382880718940376585378794479300677547636098336148508310969947078277302871377275400601471697230371219049920630023823708096646239880956774924890041492775159561225987588485556074605046310181126282949260614070307218671326919872528943226661452492380438204900836135966940993698642554012923340519413596882088326683328263663989208253599335476153714407606434168973395373995406720733160416631912898464532129880153168437241497663293335851702276722299952604296323473385671913074475365988210777599537898190147435006836164232602852726354489276986785108582484868777192237926466996591961481070348622694737323421905260691842787934187451620056139234169342919955826025963640208159184379940279228271461197573939000734127831347385436427013812418979999038922424501888426352964699666337754077980745441451628377357971381268054352518750142207534189617510957876790635609420953608104414589476387990627109859790333124026870561210514598532118458442778230668204314124079970116527554626755056622865747151420435415382336293916182316179387457565373505077944229418197071784100644782782816956072928612278196895381858466499200084968820985710946655663347798329092046443732216142412389819968839009793356704889765173097250837140546126892720480743599416171754074846822670877004059824730594484471342447942175863306865435355381781583318725036379669369101779168725231722229966564669942781870567476265242303149599049632698150895857045694219434929036138590682434942646035844313732732788224579661519545165949247880212534639903450037067857340148423606260899781104449537746344730354118781738208585512839377012667128248213316723187959149063860019930234648103009876461670060210982550160877479045277256132002873414619143877537131474939350504536893122726103636010573096802863272358553756420850479611178852296670190244634378314877688216090420692152074272362172881934957727096367725951761875398642358789450095411108962562813722160162989287902801241486951009987540639488782110762184295933770631650992139441332282814030816079795395846953388530292804135844208466061191706264990355771553280509565310054903223190945694433917127430984236715740323947637899744736751848350684809565741533619977216849933588585387971858788523113403472111600883402050125859283658083567752013017852246086720557046763740161464212904481733163249283319431818295570248622928238500898140010179652335797526694149642065570358215699196565982698826135180609727482063919079154389295039927055029761013996 33310714194062493251033008999671124963373006558456608004619103282368132576893705966434497746912975085270146509184911991704857828936739935387680040555284819277644716685340982639329608256185316369817608356326728125048295692321301531211830400422801019890974830094662512131748607637548674339472928363988502095364918442701533265407051568495714332388773516009305081573605099393270429765303759070974155001712740527160451479211374177643478209278011732389654617705141901787953160957428939800930977796980573178544149233605276489414324512440015504776315062383510715936269955512093894811416856490045185140749849781899913428071032605413708089241902248910655216685907310982415060263634636596013854907028326553474988095581104771501262369180451097064594708963626947630535967247727641346265633565758656441152403170758793909311371500495219709789471332572745995220030857267576661908298483623280977887251988061877404889681328624973439407486628927888216290809332768281959327697848195130176095101615381604435490165484632294242378308626616775551395901954059918144424227645080355866845999392063625402716930530626073096875488814612979591238619399870872000246805438991765966708415580747932944576097931928878910004609672811323423572923124038577932980966612134234906629914518144839052623557204188571865339770037619811367042677720910434147718295961833838324794297082581877146394034465104640330868592390685047546201674275042060323943858113229796190343911737018741110226643341246928844564320993774073496849537234278698444552093234006460633388548294393780062096469893413891846712732340921998366749939110066603677760374711789019627476467975140516289169482369716070502135726851937760966950642364143848619003961361475150947566443103390568682580836124303660636742135900625636033709738001042850283976119309304899073611545636298279178373578717238541341678625612585768981813352510293821335492422933069420316622717006779205385857542630573067663154165077735132861455698730772623224760405499681903767672594944911100936059699384780328120112861159194711247325807669003334185581771076338045755119372591304325814648880840079289023078009616868720494469544211725157749581187391297259290030876057313401676088478336896142782897535707129220409410958851818542101830068126068328976862405473127230163603341984498799603082088457050163520506384513583064859413715206905383014846975073645167371363626710700144203509012081286125845399964357290352313194134122315665929250835258812052173100231342166061010692550489756039517649291306528270295264588069403141627004975803438040180703213423620168897433175781854606061243471417175153844074812907447808606797387399399383800910173507504237971490114662474270188903919536206597839548330025346864892122831111544393003 53897867755526674840334894117783959069935196410965784705210380345083794918528392250997180998770631776829029934809005752632865898915696846465846637806232920803299770697529850165357541355028856942482092669536617795504038872272657529923711623492521184884259140136690604754920726296118769818855809082928878680743712922002210813043149904644222643358720594286607952950880499994742126995674978120894785025536448623806691360168149102533519702053171293615642206190697976392999471138555222750191591867287791849871069106134219716075777004820453709677151198350451709634912509525017235330830453372133511824078113445889121681670368081567422496848336417884050590681314031715575476895547535060545984787181494990716485758874440623203539091480403701360918182349298860705011333235938418945803531755906091447988567403361646635665860777482004818371956201349938233146497853859538142978647106318018301309157248753720192823868780245029578641655971847844042316772972976441143707638127423401637292675554382338563321512870068721256190727606615814473820403842486271109123893982834433847591440843692002760688311798680425615625631022147169208749577276661507609667759047096180556184803571375042804366431055955749471215124271343441882015701354706782247105046582250762461256669574767704799774977639603954201633686219935990754500243094415512091947714158905622425439079865398833219322646743301535712727058889885132515022659985988715987291656442321842634076127879431130930195482351040285549454086166871324333990083361171418925295692650178214708235370965270784121921200487898363189160674516785305232185294491848186996485411091458388729255636700372238519136047039658852372703203117180064116549691996841999514861007055694585876602581694073003625226871968617393369530360480287155578875687248923062818616022759341966930951694059904540078154683166776287686408979731367507190398865349670834002620671146386143504581866070639225316092190733582944124824225288717683022333177776049879356763278914301047645209726419850451440596592507506431756123434255997574519684361425424184665192949928634715945364006969619203502864971260771441097350371789750655452196640579451109511456586033656048740126287166275964489810638499885430685698777194080230396951598340600652864014364059838960627854544914459512977634158064294195450035476987342967656350592979644256565678705562676936295356540383700070594554572405134061330939996318001866169347602257035089065042484807125231670784455236028902106688816730137919799215663893228151118532693356654129578922671637155154644857221890158597227466953585084381801914908945103889380675289712745402467003051408345948616977039735196910495059815573074596187189311228456969015039100145934079903467409179736159932049886141305406999 87208581949589168091367903117455084033308202969422392709829483627451927495422098217431678745683606862099176443993917744337723727852436781853526678361517740080944487382870832804687149611214173312299701025863345920552334564593959061135542023915322204775233970231353116886669333933667444158328737446917380776108631364703744078450201473139936975747494110295913034524485599388012556760978737191868940027249189150967142839379523280176997911331183026005296823895839878180952632095984162551122569664268365028415218339739496205490101517260469214453466260733962425571182465037111130142247309862178696964827963227789035109741400686981130586090238666794705807367221342697990537159182171656559839694209821544191473854455545394704801460660854798425512891312925808335547300483666060292069165321664747889140970574120440544977232277977224528161427533922684228366528711127114804886945589941299279196409236815597597713550108870003018049142600775732258607582305744723103035335975618531813387777169763942998811678354701015498569036233232590025216305796546189253548121627914789714437440235755628163405242329306498712501119836760148799988196676532379609914564486087946522893219152122975748942528987884628381219733944154765305588624478745360180086013194384997367886584092912543852398534843792526066973456257555802121542920815325946239666010120739460750233376947980710365716681208406176043595651280570180061224334261030776311235514555551638824420039616449872040422125692287214394018407160645397830839620595450117369847785884184675341623919259664564184017670381312255035873406857707303598935233601914790674245785803247408356732104675512754808305529409374922874838929969117825083500334360985848133864968417169736824169024797463572307807708092921054006272496380912791612585425249965913102592142068646866004563239696202819256528261884014829028087605343953276172212217859964655338113094079455563821204583077418430701949733364156011787978390366452815883788876506822502581523684413982951412882321364761552376656291892286759876236295415192285767010169094427518850774721004972761700483379560923529317513852100850730120428381406619375946666184791176267261037773424953308030157163223589366165899116836781573468596312901209450806362557192419194965844432185907289604716950387586743141237500048792995053117565444393131176856977493227321425092420769582319310203515457345237965918199115834205534449008399287992014747566614325441378236618929440897600035290494840954279789048072303980809908214382984190636181984663182399874187259706558296271862197693596637408170167008704550699348084726958495441918761129920556311077864315793757223774427134596294295969989080578834158679425890931239203943019682140677743015739205083024824172717252849800002 141106449705115842931702797235239043103243399380388177415039863972535722413950490468428859744454238638928206378802923496970589626768133628319373316167750660884244258080400682970044690966243030254781793695399963716056373436866616591059253647407843389659493110368043721641590060229786213977184546529846259456852344286705954891493351377784159619106214704582520987475366099382754683756653715312763725052785637774773834199547672382710517613384354319620939030086537854573952103234539385301314161531556156878286287445873715921565878522080922924130617459084414135206094974562128365473077763234312208788906076673678156791411768768548553082938575084678756398048535374413566014054729706717105824481391316534907959613329986017908340552141258499786431073662224669040558633719604479237872697077570839337129537977482087180643093055459229346533383735272622461513026564986652947865592696259317580505566485569317790537418889115032596690798572623576300924355278721164246742974103041933450680452724146281562133191224769736754759763839848404499036709639032460362672015610749223562028881079447630924093554127986924328126750858907318008737773953193887219582323533184127079078022723498018553308960043840377852434858215498207187604325833452142427191059776635759829143253667680248652173512483396480268607142477491792876043163909741458331613724279645083175672456813379543585039327951707711756322710170455312576246994247019492298527170997873481458496167495881002970617608043327499943472493327516722164829703956621536295143478534362890049859290224935348305938870869210618225034081374492608831120528093762977670731196894705797085987741375884993327441576449033775247542133086297889200050026357827847648725975472864322700771606491536575933034580061538447375802856861199947191461112498888975921208164827988832935514933756107359334682945050791116714496585075320783362611083209635489340733765225841707325786449148057656018041924097738955912802615655170498906122054282872381938286963328283999058092047784612003817252884399793191632359729671189860286694530519851703515967670933607477645847386530542732820378823361622171217778753196370031398862825370627376772494359458609356770283450389865330655709755336667004154295090095289681203314155533019847829858796245746250232571495302046256118871658113087190503153042431736098833207570472871577990771126332259255605560055841045308560472771520968266865389004717289858184095168871360530443279103736566129270819745730869856386477864802441900609123878276212341754714678019836529453109931343713450916719419583755234635637120593788932501262993672062384822594050842665958778080915724139705840751466869793204791029804653653430345868737119388208218982119828074757646483148384819184756222603394155207001 228315031654705011023070700352694127136551602349810570124869347599987649909372588685860538490137845501027382822796841241308313354620570410172899994529268400965188745463271515774731840577457203567081494721263309636608708001460575652194795671323165594434727080599396838528259394163453658135513283976763640232960975651409698969943552850924096594853708814878434021999851698770767240517632452504632665080034826925740977038927195662887515524715537345626235853982377732754904735330523547852436731195824521906701505785613212127055980039341392138584083719818376560777277439599239495615325073096490905753734039901467191901153169455529683669028813751473462205415756717111556551213911878373665664175601138079099433467785531412613142012802113298211943964975150477376105934203270539529941862399235587226270508551602527725620325333436453874694811269195306689879555276113767752752538286200616859701975722384915388250968997985035614739941173399308559531937584465887349778310078660465264068229893910224560944869579470752253328800073080994524253015435578649616220137238664013276466321315203259087498796457293423040627870695667466808725970629726266829496888019272073601971241875620994302251489031725006233654592159652972493192950312197502607277072971020757197029837760592792504572047327189006335580598735047594997586084725067404571279734400384543925905833761360253950756009160113887799918361451025492637471328508050268609762685553425120282916207112330875011039733735614714337490900488162119995669324552071653664991264418547565391483209484599912489956541250522873260907488232199912430055761695677768344976982697953205442719846051397748135747105858408698122381063055415714283550360718813695782590943890034059524940631289000148240842288154459501382075353242112738804046537748854889023800306896635698940078173452310178591211206934805945742584190419274059534823301069600144678846859305297271146991032225476086719991657461894967700781006021623314789910930789694884519810647742266950470974369149373556193909176292079951508596025086382146053704699614279222366742391938580239346330766091466262137892675462472901338207134602989407345529010161803644033532132883562664800440613613454696821608872173448577622891402996499132009676712725439042795703228431653539837288445689632999260109158161880185556270607876129230010064547966098899415863547101841574915763571298390546526390970636802472399838013116577850198842735485685971821515722666007026870855036225710810666266912874745881419032092659196532390896662683018929327297191050271747188581617277351872043807287602493483200611078399020880264512811972586515089158780039933463064525894004389499086999793734232264504548163010319447422925139510215435389498887589902209580395320647005007003 369421481359820853954773497587933170239795001730198747539909211572523372323323079154289398234592084139955589201599764738278902981388704038492273310697019061849433003543672198744776531543700233821863288416663273352665081438327192243254049318731008984094220190967440560169849454393239872112697830506609899689813319938115653861436904228708256213959923519460955009475217798153521924274286167817396390132820464700514811238474868045598033138099891665247174884068915587328856838565062933153750892727380678784987793231486928048621858561422315062714701178902790695983372414161367861088402836330803114542640116575145348692564938224078236751967388836152218603464292091525122565268641585090771488656992454614007393081115517430521482564943371797998375038637375146416664567922875018767814559476806426563400046529084614906263418388895683221228195004467929151392581841100420700618130982459934440207542207954233178788387887100068211430739746022884860456292863187051596521284181702398714748682618056506123078060804240489008088563912929399023289725074611109978892152849413236838495202394650890011592350585280347368754621554574784817463744582920154049079211552456200681049264599119012855560449075565384086089450375151179680797276145649645034468132747656517026173091428273041156745559810585486604187741212539387873629248634808862902893458680029627101578290574739797535795337111821599556241071621480805213718322755069760908289856551298601741412374608211877981657341778942214280963393815678842160499028508693189960134742952910455441342499709535260795895412119733491485941569606692521261176289789440746015708179592659002528707587427282741463188682307442473369923196141713603483600387076641543431316919362898382225712237780536724173876868215997948757878210103312685995507650247743864945008471724624531875593107208417537925894151985597062457080775494594842897434384279235634019580624531138978472777481373533742738033581559633923613583621676793813696032985072567266458097611070550949529066416933985560011162060691873143140955754757572006340399230134130925882710062872187716992178152622008994958271498824095072555985887799359438744391835532431020806026492342172021570724064003320027477318627510115581777186493091788813212990868258458890625562024677399790069859940991679255378980816274967376059423650307865328843272118438970477406634673434100830521323627139435855086863742157770739265227017833867708382937904357046502264794826402573156141674781956580667052744777677187782028155970935408874145611340702855458780407122393985198105301036861107106679444408196282415701874072071083265087106862815252473867239695764073168905277360874182703878029598387885694850416900129707655641907259338290193035982035974721394336617924041160214004 597736513014525864977844197940627297376346604080009317664778559172511022232695667840149936724729929640982972024396605979587216336009274448665173305226287462814621749006943714519508372121157437388944783137926582989273789439787767895448844990054174578528947271566837398698108848556693530248211114483373539922774295589525352831380457079632352808813632334339389031475069496924289164791918620322029055212855291626255788277402063708485548662815429010873410738051293320083761573895586481006187623923205200691689299017100140175677838600763707201298784898721167256760649853760607356703727909427294020296374156476612540593718107679607920420996202587625680808880048808636679116482553463464437152832593592693106826548901048843134624577745485096210319003612525623792770502126145558297756421876042013789670555080687142631883743722332137095923006273663235841272137117214188453370669268660551299909517930339148567039356885085103826170680919422193419988230447652938946299594260362863978816912511966730684022930383711241261417363986010393547542740510189759595112290088077250114961523709854149099091147042573770409382492250242251626189715212646420878576099571728274283020506474740007157811938107290390319744042534804152173990226457847147641745205718677274223202929188865833661317607137774492939768339947586982871215333359876267474173193080414171027484124336100051486551346271935487356159433072506297851189651263120029518052542104723722024328581720542752992697075514556928618454294303840962156168353060764843625126007371458020832825709194135173285851953370256364746849057838892433691232051485118514360685162290612207971427433478680489598935788165851171492304259197129317767150747795455239213907863252932441750652869069536872414719156370457450139953563345425424799554187996598753968808778621260230815671280660727716517105358920403008199664965913868902432257685348835778698427483836436249619768513599009829458025239021528891314364627698417128485943915862262150977908258812817900000040786083359116205071236983953094649551779843954152394103929748410148249452454810767956338508918713475257096164174286567973894193022402348846089920845694234664839558625225734686371164677616774724298927499683564159400077896088287945222667580983897933421265253109053329907148386681312254639089974436847561615694258183994558853336666405069376822498220535942405437087198437826401613254712794573211665065030950445558581780639842732474086310549068580183012529818182291477719011690551933663447188063594605406536508003385874388107704313444256945293882654138458978723251695798775898902485150470104145351619674787838988956398475804006631969803254878572202965029392122117959354965063140027103064832398848505628425480923564623603917013244688165221007 967157994374346718932617695528560467616141605810208065204687770745034394556018746994439334959322013780938561225996370717866119317397978487157446615923306524664054752550615913264284903664857671210808071554589856341938870878114960138702894308785183562623167462534277958867958302949933402360908944989983439612587615527641006692817361308340609022773555853800344040950287295077811089066204788139425445345675756326770599515876931754083581800915320676120585622120208907412618412460649414159938516650585879476677092248587068224299697162186022264013486077623957952744022267921975217792130745758097134839014273051757889286283045903686157172963591423777899412344340900161801681751195048555208641489586047307114219630016566273656107142688856894208694042249900770209435070049020577065570981352848440353070601609771757538147162111227820317151201278131164992664718958314609153988800251120485740117060138293381745827744772185172037601420665445078280444523310839990542820878442065262693565595130023236807100991187951730269505927898939792570832465584800869574004442937490486953456726104505039110683497627854117778137113804817036443653459795566574927655311124184474964069771073859020013372387182855774405833492909955331854787502603496792676213338466333791249376020617138874818063166948359979543956081160126370744844581994685130377066651760443798129062414910839849022346683383757086912400504693987103064907974018189790426342398656022323765740956328754630974354417293499142899417688119519804316667381569458033585260750324368476274168208903670434081747365489989856232790627445584954952408341274559260376393341883271210500135020905963231062124470473293644862227455338842921250751134872096782645224782615830823976365106850073596588596024586455398897831773448738110795061838244342618913817250345884762691264387869145254442999510906000070656745741408463745329692069628071412718008108367575228092545994972543572196058820581162814927948249375210942181976900934829417436005869883368849529107203017344676216233297675826237790507534601526158734503159882541074132162517682955673330687071335484252054435673110663046450178910201708284834312681226665685645585117567906707941888741620094751776246127193679741177264389180076758435658449242356824046827277786453119977008327672991510018070790711814937675117908491859887696608784844039854229132893970043235958410825577262256700118454952343950930292048784313266964718544199778976351105375471153339154204600138872144771756468229121445475344034530014280682119344088729846888111435838242143399183690999566085402696103995058314604359222541187410438726537603091462823638171568079800875080615752754906843058990510003654205381963269734758706739658186795821461462959539344998253631168729325435011 1564894507388872583910461893469187764992488209890217382869466329917545416788714414834589271684051943421921533250392976697453335653407252935822619921149593987478676501557559627783793275786015108599752854692516439331212660317902728034151739298839358141152114734101115357566067151506626932609120059473356979535361911117166359524197818387972961831587188188139733072425356792002100253858123408461454500558531047953026387793278995462569130463730749686993996360171502227496379986356235895166126140573791080168366391265687208399977535762949729465312270976345125209504672121682582574495858655185391155135388429528370429880001153583294077593959794011403580221224389708798480798233748512019645794322179640000221046178917615116790731720434341990419013045862426394002205572175166135363327403228890454142741156690458900170030905833559957413074207551794400833936856075528797607359469519781037040026578068632530312867101657270275863772101584867271700432753758492929489120472702428126672382507641989967491123921571662971530923291884950186118375206094990629169116733025567737068418249814359188209774644670427888187519606055059288069843175008212995806231410695912749247090277548599027171184325290146164725577535444759484028777729061343940317958544185011065472578949806004708479380774086134472483724421107713353616059915354561397851239844840857969156546539246939900508898029655692574268559937766493400916097625281309819944394940760746045790069538049297383967051492808056071517871982423360766472835734630222877210386757695826497106993918097805607367599318860246220979639685284477388643640392759677774737078504173883418471562454384643720661060258639144816354531714535972239017901882667552021859132645868763265727017975919610469003315180956912849037785336794163535594616026240941372882626028967144993506935668529872970960104869826403078856410707322332647761949754976907191416435592204011477712314508571553401654084059602691706242312877073628070667920816797091568413914128696186749529147989100703792421304534659779332440059314445480311128607089630951222381614972493723629669195990048959509150599847397231020344371932604057130924233526920900350485143742793641394313053419236869476075173626877243900577342285268364703658326030226254757468092530895506449884156714354303764657160765148662499290812166675854446549945451249109231051631114505985641395498024015088658313373167746917162595357079734758825546499184042511450437415924539733522166734418321163622490768158781055108922532098124619687218627347474604234995815749282499088693066345138025064125947799793834213506844373011291555790346212390930451780036647372086432844883870631327109808088382632121613560347026409761861771572057035301449886943883103968602170644413417490656018 2532052501763219302843079588997748232608629815700425448074154100662579811344733161829028606643373957202860094476389347415319454970805231422980066537072900512142731254108175541048078179450872779810560926247106295673151531196017688172854633607624541703775282196635393316434025454456560334970029004463340419147949526644807366217015179696313570854360744041940077113375644087079911342924328196600879945904206804279796987309155927216652712264646070363114581982291711134908998398816885309326064657224376959645043483514274276624277232925135751729325757053969083162248694389604557792287989400943488289974402702580128319166284199486980234766923385435181479633568730608960282479984943560574854435811765687307335265808934181390446838863123198884627707088112327164211640642224186712428898384581738894495811758300230657708178067944787777730225408829925565826601575033843406761348269770901522780143638206925912058694846429455447901373522250312349980877277069332920031941351144493389365948102772013204298224912759614701800429219783889978689207671679791498743121175963058224021874975918864227320458142298282005965656719859876324513496634803779570733886721820097224211160048622458047184556712473001939131411028354714815883565231664840732994171882651344856721954970423143583297443941034494452027680502267839724360904497349246528228306496601301767285608954157779749531244713039449661180960442460480503981005599299499610370737339416768369555810494378052014941405910101555214417289670542880570789503116199680910795647508020194973381162127001476041449346684350236077212430312730062343596048734034237035113471846057154628971697475290606951723184729112438461216759169874815160268653017539648804504357428484594089703383082769684065591911205543368247935617110242901646389677864485283991796443279313029756198200056399018225403104380732403149513156448730796393091641824604978604134443700571586705804860503544096973850142880183854521170261126448839012849897717731920985849919998579555599058255192118048468637537832335605570230566849047006469863110249513492296513777490176679302999883061384443761205035520507894066794550842805765415758546208147566036130728860361548102254942160856964227851419754070923641754606674448441462093984479468611581514919808681959569861165042027295274675231555860477436965930075167714334246554236093149085280764008476028877353908849592350915013491622699261113525649128519072092511217728242290426788521300010886861320939018460035767262524627010176554397876132654633967900746691563334081883927185120741232092250036137591149528643903788892528111203595552478966229072749994021914603674818940166233719964486384082016651147373142125267765728989679496620478311715222097271348406842643313600424275582146816091029 4096947009152091886753541482466935997601118025590642830943620430580125228133447576663617878327425900624781627726782324112772790624212484358802686458222494499621407755665735168831871455236887888410313780939622735004364191513920416207006372906463899844927396930736508674000092605963187267579149063936697398683311437761973725741212998084286532685947932230079810185801000879082011596782451605062334446462737852232823375102434922679221842728376820050108578342463213362405378385173121204492190797798168039813409874779961485024254768688085481194638028030314208371753366511287140366783848056128879445109791132108498749046285353070274312360883179446585059854793120317758763278218692072594500230133945327307556311987851796507237570583557540875046720133974753558213846214399352847792225787810629348638552914990689557878208973778347735143299616381719966660538431109372204368707739290682559820170216275558442371561948086725723765145623835179621681310030827825849521061823846921516038330610414003171789348834331277673331352511668840164807582877774782127912237908988625961090293225733223415530232786968709894153176325914935612583339809811992566540118132516009973458250326171057074355741037763148103856988563799474299912342960726184673312130426836355922194533920229148291776824715120628924511404923375553077976964412703807926079546341442159736442155493404719650040142742695142235449520380226973904897103224580809430315132280177514415345880032427349398908457402909611285935161652966241337262338850829903788006034265716021470488156045099281648816946003210482298192069998014539732239689126793914809850550350231038047443259929675250672384244987751583277571290884410787399286554900207200826363490074353357355430401058689294534595226386500281096973402447037065181984293890726225364679069308280174749705135724928891196363209250558806228369567156053129040853591579581885795550879292775598183517175012115650375504226939786546227412574003522467083517818534529012554263834127275742348587403181218752261058842366995384902670626163492486780991717339144443518895392462670402932669079051433403270355635367905125087138922775409822546682779735068466386615872603155189496567995580093833703926593380948167542331948959716806165752310509694866338983012339577466019745321756381599039332392321009139936256742241843568780796499687342258316332395122982014518749406873607439573326864790446178276121006208253830918057716912284801877225937224550620383487673436781199389753292785791231663320408230779253655119374039037938316879742934403240320785316381275616213654591703582726741618047968563770522019418962384952366383711466312252666564848357015409126459235755774246881326076016089258482249883772257398721235350725747282202594919995564306747047 6628999510915311189596621071464684230209747841291068279017774531242705039478180738492646484970799857827641722203171671528092245595017715781782752995295395011764139009773910709879949634687760668220874707186729030677515722709938104379861006514088441548702679127371901990434118060419747602549178068400037817831260964406781091958228177780600103540308676272019887299176644966161922939706779801663214392366944656512620362411590849895874554993022890413223160324754924497314376783990006513818255455022544999458453358294235761648532001613221232923963785084283291534002060900891698159071837457072367735084193834688627068212569552557254547127806564881766539488361850926719045758203635633169354665945711014614891577796785977897684409446680739759674427222087080722425486856623539560221124172392368243134364673290920215586387041723135512873525025211645532487140006143215611130056009061584082600313854482484354430256794516181171666519146085491971662187307897158769553003174991414905404278713186016376087573747090892375131781731452730143496790549454573626655359084951684185112168201652087642850690929266991900118833045774811937096836444615772137274004854336107197669410374793515121540297750236150042988399592154189115795908192391025406306302309487700778916488890652291875074268656155123376539085425643392802337868910053054454307852838043461503727764447562499399571387455734591896630480822687454408878108823880309040685869619594282784901690526805401413849863313011166500352451323509121908051841967029584698801681773736216443869318172100757690266292687560718375404500310744602075835737860828151844964022196288192676414957404965857624107429716864021738788050054285602559555207917746849630867847502837951445133784141458978600187137592043649344909019557279966828373971755211509356475512587593204505903335781327909421766313631291209377882723604783925433945233404186864399685322993347184889322035515659747349354369819970400748582835129971306096367716252260933540113754125855297947645658373336800729696380199330990472901193012539493250854827588657935815409169952847082235668962112817847031560670888413019153933473618215587962441325943216032422746601463516737598822937740950797931778013135019091184086555634165247627846294989163477920497932148259425589606486798408894314007623876869617373222672317011283115043053923435407401613159131458043396103315723199790488340356413145439389646655336772903010568934640527092304014458524561507244808612455241235157015817412801408217718284363433887623020120730601272398763670119523981552877566417413207363183235607371619269729251564116249488248491712378974280987386285252418900284812843399491143110383128916372149091805005768755102728195487479495992583757568390595803019195577711122838076 10725946520067403076350162553931620227810865866881711109961394961822830267611628315156264363298225758452423349929953995640865036219230200140585439453517889511385546765439645878711821089924648556631188488126351765681879914223858520586867379420552341393630076058108410664434210666382934870128327132336735216514572402168754817699441175864886636226256608502099697484977645845243934536489231406725548838829682508745443737514025772575096397721399710463331738667218137859719755169163127718310446252820713039271863233074197246672786770301306714118601813114597499905755427412178838525855685513201247180193984966797125817258854905627528859488689744328351599343154971244477809036422327705763854896079656341922447889784637774404921980030238280634721147356061834280639333071022892408013349960202997591772917588281609773464596015501483248016824641593365499147678437252587815498763748352266642420484070758042796801818742602906895431664769920671593343497338724984619074064998838336421442609323600019547876922581422170048463134243121570308304373427229355754567596993940310146202461427385311058380923716235701794272009371689747549680176254427764703814122986852117171127660700964572195896038787999298146845388155953663415708251153117210079618432736324056701111022810881440166851093371275752301050490349018945880314833322756862380387399179485621240169919940967219049611530198429734132080001202914428313775212048461118471001001899771797200247570559232750812758320715920777786287612976475363245314180817859488486807716039452237914357474217200039339083238690771200673596570308759141808075426987622066654814572546519230723858217334641108296491674704615605016359340938696389958841762817954050457231337577191308800564185200148273134782363978543930441882422004317032010358265645937734721154581895873379255608471506256800618129522881850015606252290760837054474798824983768750195236202286122783072839210527775397724858596759756946975995409133493773179885534786789946094377588253131040296233061554555552990755222566326375375571819176031980031846544927802379334304562415517485168338041164251250301916306256318144241072396393625410509124105678284498809362474066671927095390933321044631635704606515967258726418504593882053793598605498858344259480944487836891609351808554790493353340016197878757309479414558854851895839553610777665717945554254440057914852722596807230061667221203591617665767661545026733928626651552811894181240395749112127628296285892022434546769110198592639881038692594213141278139494769639210715643413053927221873662882798688823576837827310954346011347299532680020010267910674763926647371097751564671566849661200414900269569618884690619030417881021858013584978079259736894713819108294137878005614115573275429585123 17354946030982714265946783625396304458020613708172779388979169493065535307089809053648910848269025616280065072133125667168957281814247915922368192448813284523149685775213556588591770724612409224852063195313080796359395636933796624966728385934640782942332755185480312654868328726802682472677505200736773034345833366575535909657669353645486739766565284774119584784154290811405857476196011208388763231196627165258064099925616622470970952714422600876554898991973062357034131953153134232128701707843258038730316591368433008321318771914527947042565598198880791439757488313070536684927522970273614915278178801485752885471424458184783406616496309210118138831516822171196854794625963338933209562025367356537339467581423752302606389476919020394395574578148915003064819927646431968234474132595365834907282261572529989050983057224618760890349666805011031634818443395803426628819757413850725020797925240527151232075537119088067098183916006163565005684646622143388627068173829751326846888036786035923964496328513062423594915974574300451801163976683929381222956078891994331314629629037398701231614645502693694390842417464559486777012699043536841088127841188224368797071075758087317436336538235448189833787748107852531504159345508235485924735045811757480027511701533732041925362027430875677589575774662338682652702232809916834695252017529082743897684388529718449182917654164326028710482025601882722653320872341427511686871519366079985149261086038152226608184028931944286640064299984485153366022784889073185609397813188454358226792389300797029349531378331919049001070619503743883911164848450218499778594742807423400273174739606965920599104421479626755147390992981992518396970735700900088099185080029260245697969341607251734969501570587579786791441561596998838732237401149244077630094483466583761511807287584710039895836513141224984135014365620979908744058387955614594921525279469967962161246043435145074212966579727347724578244263465079276253251039050879634491342378986338243878719927892353720451602765657365848473012188571473282701372516460315149713732368364567404007003277069097333476977144731163395005870011840998471565431621500531232109075530188664694213871061995429567482619650986349910505060228047301421444900488021822179978876636096317198958295353199387667347640074748374682702086875866135010882607534213073119558713385898101310956038320007020550007577616737057055414316881799636939195586193338986485254854273673634873104898347263669703784927611394048098756976957647028901159615500240483114407083173451203426540449216102030940021062918325965281076551096796269498516402387142900928358484036817090467134474043814391412680002013606991179509686027626768687706274747216390706402865862528473808633311150986552423199 28080892551050117342296946179327924685831479575054490498940564454888365574701437368805175211567251374732488422063079662809822318033478116062953631902331174034535232540653202467303591814537057781483251683439432562041275551157655145553595765355193124335962831243588723319302539393185617342805832333073508250860405768744290727357110529510373375992821893276219282269131936656649792012685242615114312070026309674003507837439642395046067350435822311339886637659191200216753887122316261950439147960663971078002179824442630254994105542215834661161167411313478291345512915725249375210783208483474862095472163768282878702730279363812312266105186053538469738174671793415674663831048291044697064458105023698459787357366061526707528369507157301029116721934210749283704152998669324376247824092798363426680199849854139762515579072726102008907174308398376530782496880648391242127583505766117367441281995998569948033894279721994962529848685926835158349181985347128007701133172668087748289497360386055471841418909935232472058050217695870760105537403913285135790553072832304477517091056422709759612538361738395488662851789154307036457188953471301544902250828040341539924731776722659513332375326234746336679175904061515947212410498625445565543167782135814181138534512415172208776455398706627978640066123681284562967535555566779215082651197014703984067604329496937498794447852594060160790483228516311036428532920802545982687873419137877185396831645270903039366504744852722072927677276459848398680203602748561672417113852640692272584266606500836368432770069103119722597640928262885691986591836072285154593167289326654124131392074248074217090779126095231771506731931678382477238733553654950545330522657220569046262154541755524869751865549131510228673863565914030849090503047086978798784676379339963017120278793841510658025359394991240590387305126458034383542883371724364790157727565592751035000456571210542799071563339484294700573653396958852456138785825840825728868930632117378540111781482447906711206825331983741224044831364603453314547917444262694484018294783882052572345044441320347635393283401049307636078266405466408980689537299785030041471549596860591789604804383040061203187226166953608636923564821929355215043505986880166439459821123933208808310103907989881020687656272627131992181501434720986906722161144990738837504267640338159225808760916814250611674798820328674721181978426826370867822237746150880666495250022785762501401184239286104250554037809986687979795669551860170179299110269879693830050496227378425300203332014790854516858890229280311292423850629476289508784313061906827575729581788381762033984135244229291682249620898297610209927567049484782272684354006953285420221974156666351814247426724261982008322 45435838582032831608243729804724229143852093283227269887919733947953900881791246422454086059836276991012553494196205329978779599847726031985321824351144458557684918315866759055895362539149467006335314878752513358400671188091451770520324151289833907278295586429069035974170868119988299815483337533810281285206239135319826637014779883155860115759387178050338867053286227468055649488881253823503075301222936839261571937365259017517038303150244912216441536651164262573788019075469396182567849668507229116732496415811063263315424314130362608203733009512359082785270404038319911895710731453748477010750342569768631588201703821997095672721682362748587877006188615586871518625674254383630274020130391054997126824947485279010134758984076321423512296512359664286768972926315756344482298225393729261587482111426669751566562129950720769797523975203387562417315324044194668756403263179968092462079921239097099265969816841083029628032601932998723354866631969271396328201346497839075136385397172091395805915238448294895652966192270171211906701380597214517013509151724298808831720685460108460844153007241089183053694206618866523234201652514838385990378669228565908721802852480746830768711864470194526512963652169368478716569844133681051467902827947571661166046213948904250701817426137503656229641898343623245620237788376696049777903214543786727965288718026655947977365506758386189500965254118193759081853793143973494374744938503957170546092731309055265974688773784666359567741576444333552046226387637634858026511665829146630811058995801633397782301447435038771598711547766629575897756684522503654371762032134077524404566813855040137689883547574858526654122924660374995635704289355850633429707737249829291960123883362776604721367119719090015465305127511029687822740448236222876414770862806546778632086081426220697921195908132465574522319492079014292286941759679979385079252845062718997161702614645687873284529919211642425151897660423931732392036864891705363360273011103716783990501410340260431658428097641107072517843553174926597249289960723009633732027152246619976352047718389444968870260545780471031084136417307407452254968921285561273580625127049256483818675445035490770669845817939958547428625049976656636488406474901988619438697760029526007268399261189268688035296347375506674883588310587121917604768679203811957062981026236260536764799236821271161682376437065731776596295308626007807017823939489867151750104296459397374506082586549773954338965421380736078552646509507199080458725770120176944457579400829628726743781230892885456879953147606276573500401726272559007300715449049728504088065825198852501118609288043683094929622911904601389437253077111550960390628754169676126624840019194825622880737875248534431521 73516731133082948950540675984052153829683572858281760386860298402842266456492683791259261271403528365745041916259284992788601917881204148048275456253475632592220150856519961523198954353686524787818566562191945920441946739249106916073919916645027031614258417672657759293473407513173917158289169866883789536066644904064117364371890412666233491752209071326558149322418164124705441501566496438617387371249246513265079774804901412563105653586067223556328174310355462790541906197785658133006997629171200194734676240253693518309529856346197269364900420825837374130783319763569287106493939937223339106222506338051510290931983185809407938826868416287057615180860409002546182456722545428327338478235414753456914182313546805717663128491233622452629018446570413570473125924985080720730122318192092688267681961280809514082141202676822778704698283601764093199812204692585910883986768946085459903361917237667047299864096563077992157881287859833881704048617316399404029334519165926823425882757558146867647334148383527367711016409966041972012238784510499652804062224556603286348811741882818220456691368979484671716545995773173559691390605986139930892629497268907448646534629203406344101087190704940863192139556230884425928980342759126617011070610083385842304580726364076459478272824844131634869708022024907808587773343943475264860554411558490712032893047523593446771813359352446350291448482634504795510386713946519477062618357641834355942924376579958305341193518637388432495418852904181950726429990386196530443625518469838903395325602302469766215071516538158494196352476029515267884348520594788808964929321460731648535958888103114354780662673670090298160854856338757472874437843010801178760230394470398338222278425118301474473232668850600244139168693425060536913243495323201675199447242146509795752364875267731355946555303123706164909624618537048675829825131404344175236980410655470032162159185856230672356093258695937125725551057382784188530822690732531092229203643221095324102282892788167142865253429624848296562674917778379911797207404985704117750321936128672548697092159709792604263543946829778667162402822773816432944506221070591315052174723909848273423479828075551973857071984893567184352189871906011851531912461782155058898518883962734815578503169179149708722952620002638667065089745308108824326929824194550794567248666574419762573560153635521773357175257394406497778273735452378674840061685640747818245354319245159875907266825835878204893003231367424058348316061367369259757836039999870774508075628208054026947113245683739973738843376886587865924252355748848516085028510956556079817647613580614535102744532272974777179243810202211599364820126596333233074982761122961546846814175861177437128164599510516439843 118952569715115780558784405788776382973535666141509030274780032350796167338283930213713347331239805356757595410455490322767381517728930180033597280604620091149905069172386720579094316892835991794153881440944459278842617927340558686594244067934860938892554004101726795267644275633162216973772507400694070821272884039383944001386670295822093607511596249376897016375704391592761090990447750262120462672472183352526651712170160430080143956736312135772769710961519725364329925273255054315574847297678429311467172656064756781624954170476559877568633430338196456916053723801889199002204671390971816116972848907820141879133687007806503611548550779035645492187049024589417701082396799811957612498365805808454041007261032084727797887475309943876141314958930077857242098851300837065212420543585821949855164072707479265648703332627543548502222258805151655617127528736780579640390032126053552365441838476764146565833913404161021785913889792832605058915249285670800357535865663765898562268154730238263453249386831822263363982602236213183918940165107714169817571376280902095180532427342926681300844376220573854770240202392040082925592258500978316883008166497473357368337481684153174869799055175135389705103208400252904645550186892807668478973438030957503470626940312980710180090250981635291099349920368531054208011132320171314638457626102277439998181765550249394749178866110832539792413736752698554592240507090492971437363296145791526489017107889013571315882292422054792063160429348515502772656378023831388470137184298985534206384598104103163997372963973197265795064023796144843782105205117292463336691353594809172940525701958154492470546221244948824814977780999132468510142132366651812189938131720227630182402308481078079194599788569690259604473820936090224735983943559424551614218104953056574384450956693952053867751211256171739431944110616062968116766891084323560316233255718189029323861800501918545640623177907579550877448717806715920922859555624236455589476654324812108092784303128427574523681527265955369080518470953306509046497365708713751482349088375292525049139878099237573133804492610249698246539240081223885199475142356152588632799850959104757242155273111042744526917802833525731780814921882668488020318936684143678337216643992260822846902430368418396758248967378145341948678055895230741931698503398362751630229692810680299338359390456792935039551694460138274374569044078386481857885625130614969995458615704557250413349412385652159231968652748160136900962570874568340216561810120047718965655029037682753690894476576625430618796524492864439424654082021407523385743960006284583905713438779467036221353820316657872108866722106812988802073203707884193465611515292637673471654195056003060008902474759050871364 192469300848198729509325081772828536803219238999790790661640330753638433794776614004972608602643333722502637326714775315555983435610134328081872736858095723742125220028906682102293271246522516581972448003136405199284564666589665602668163984579887970506812421774384554561117683146336134132061677267577860357339528943448061365758560708488327099263805320703455165698122555717466532492014246700737850043721429865791731486975061842643249610322379359329097885271875188154871831471040712448581844926849629506201848896318450299934484026822757146933533851164033831046837043565458486108698611328195155223195355245871652170065670193615911550375419195322703107367909433591963883539119345240284950976601220561910955189574578890445461015966543566328770333405500491427715224776285917785942542861777914638122846033988288779730844535304366327206920542406915748816939733429366490524376801072139012268803755714431193865698009967239013943795177652666486762963866602070204386870384829692721988150912288385131100583535215349631074999012202255155931178949618213822621633600837505381529344169225744901757535745200058526486786198165213642616982864487118247775637663766380806014872110887559518970886245880076252897242764631137330574530529651934285490044048114343345775207666677057169658363075825766925969057942393438862795784476263646579499012037660768152031074813073842841520992225463278890083862219387203350102627221037012448499981653787625882431941484468971876657075811059443224558579282252697453499086368410027918913762702768824437601710200406572930212444480511355759991416499825660111666453725712081272301620675055540821476484590061268847251208894915039122975832637337889941384579975377452990950168526190625968404680733599379553667832457420290503743642514361150761649227438882626226813665347099566370136815831961683409814306514379877904341568729153111643946592022488667735553213666373659061486020986358149217996716436603516676602999775189500109453682246356767547818680297545907432195067195916594717388934956890803665643193388731686420843704770694417869232671024503965073746232037809030177397348439440028365408942062855040318143981363426743903684974574868953030665635101186594718383989787727092916133004793788680339552231398466298737235735527954995638425405599547568105481201587380784009013767801203339566258628327592913546197478359385100061911919544092314708396726951854544772152842779530765156697947310771362788240812934949717126320616238221530364124971884115584195249278632241937599974397850119918493473730657245736780638007722260365404357639901379452305348906437770256039470772470962840663723361052360081571324098352589632649288110532309024588166893330304217426540594276415599220318468370917180497137067074269567311207 311421870563314510068109487561604919776754905141299820936420363104434601133060544218685955933883139079260232737170265638323364953339064508115470017462715814892030289201293402681387588139358508376126329444080864478127182593930224289262408052514748909399366425876111349828761958779498351105834184668271931178612412982832005367145231004310420706775401570080352182073826947310227623482461996962858312716193613218318383199145222272723393567058691495101867596233394913519201756744295766764156692224528058817669021552383207081559438197299317024502167281502230287962890767367347685110903282719166971340168204153691794049199357201422415161923969974358348599554958458181381584621516145052242563474967026370364996196835610975173258903441853510204911648364430569284957323627586754851154963405363736587978010106695768045379547867931909875709142801212067404434067262166147070164766833198192564634245594191195340431531923371400035729709067445499091821879115887741004744406250493458620550419067018623394553832922047171894438981614438468339850119114725927992439204977118407476709876596568671583058380121420632381257026400557253725542575122988096564658645830263854163383209592571712693840685301055211642602345973031390235220080716544741953969017486145300849245834606990037879838453326807402217068407862761969917003795608583817894137469663763045592029256578624092236270171091574111429876275956139901904694867728127505419937344949933417408920958592357985447972958103481498016621739711601212956271742746433859307383899887067809971808094798510676094209817444484553025786480523621804955448558930829373735638312028650349994417010292019423339721755116159987947790810418337022409894722107744104803140106657910853598587083042080457632862432245989980763348116335297240986385211382442050778427883452052622944521266788655635463682057725636049643773512839769174612063358913572991295869446922091848090809882786860067763637339614511096227480448492996216030376541801981004003408156951870719540287851499045022291912616484156759034723711859684992929890202136403131620715020112879257598795371915908267750531152932050278063655481302936264203343456505782896492317774425828057787907790374297637462910907590560618647913819715671348827572550335150442415572952171947256461272308029915986502239450554758929350962445857098570308190326830991276297827708052195780361250278934549107643436278646314683046527411823609151638555832935901977758236271550654274376733965650607182523356940536863744332150241203116505940190959660239966212439385686283419534328902198836990834976436425872316744773560519791663562856516430969125247629074491139548607545452172906290521396977254415837576968966534012101620006205791708236893790122565973183557145969549028618182571 503891171411513239577434569334433456579974144141090611598060693858073034927837158223658564536526472801762870063885040953879348388949198836197342754320811538634155509230200084783680859385881024958098777447217269677411747260519889891930572037094636879906178847650495904389879641925834485237895861935849791535951941926280066732903791712798747806039206890783807347771949503027694155974476243663596162759915043084110114686120284115366643177381070854430965481505270101674073588215336479212738537151377688323870870448701657381493922224122074171435701132666264119009727810932806171219601894047362126563363559399563446219265027395038326712299389169681051706922867891773345468160635490292527514451568246932275951386410189865618719919408397076533681981769931060712672548403872672637097506267141651226100856140684056825110392403236276202916063343618983153251006995595513560689143634270331576903049349905626534297229933338639049673504245098165578584842982489811209131276635323151342538569979307008525654416457262521525513980626640723495781298064344141815060838577955912858239220765794416484815915866620690907743812598722467368159557987475214812434283494030234969398081703459272212811571546935287895499588737662527565794611246196676239459061534259644195021042273667095049496816402633169143037465805155408779799580084847464473636481701423813744060331391697935077791163317037390319960138175527105254797494949164517868437326603721043291352900076826957324630033914540941241180318993853910409770829114843887226297662589836634409409804998917249024422261924995908785777897023447465067115012656541455007939932703705890815893494882080692186972964011075027070766643055674912351279302083121557794090275184101479566991763775679837186530264703410271267091758849658391748034438821324677005241548799152189314658082620617318873496364240015927548115081568922286256009950936061659031422660588465507152295903773218216981634056051114612904083448268185716139830224048337771551226837249416626972482918694961617009301551441047562700366905248416679350733906907097549489947691137383222672541603953717297927928501371490306429064423365791304521487437869209640396002749000697010818573425475484232181294897378287711564046824509460029167124781733616741152808687699902252099697713629463554607720652142139713359976213658301909874448955158584189844025186411580880423162198478641422351833005598169227818680254603139916795253780246673340546477084485603991503054581888828712887481912420979328527399519835358443540165357510359884705913116343529156314966909921097356239334076327251769050122466957561919602327288901931965911352435543499630178869550525495923170685087786724862165135859864316319046546800068123836114108590936890364054283036623298185493778 815313041974827749645544056896038376356729049282390432534481056962507636060897702442344520470409611881023102801055306592202713342288263344312812771783527353526185798431493487465068447525239533334225106891298134155538929854450114181192980089609385789305545273526607254218641600705332836343730046604121722714564354909112072100049022717109168512814608460864159529845776450337921779456938240626454475476108656302428497885265506388090036744439762349532833077738665015193275344959632245976895229375905747141539892001084864463053360421421391195937868414168494406972618578300153856330505176766529097903531763553255240268464384596460741874223359144039400306477826349954727052782151635344770077926535273302640947583245800840791978822850250586738593630134361629997629872031459427488252469672505387814078866247379824870489940271168186078625206144831050557685074257761660630853910467468524141537294944096821874728761856710039085403213312543664670406722098377552213875682885816609963088989046325631920208249379309693419952962241079191835631417179070069807500043555074320334949097362363088067874295988041323289000838999279721093702133110463311377092929324294089132781291296030984906652256847990499538101934710693917801014691962741418193428079020404945044266876880657132929335269729440571360105873667917378696803375693431282367773951365186859336089587970322027314061334408611501749836414131667007159492362677292023288374671553654460700273858669184942772602992018022439257802058705455123366042571861277746533681562476904444381217899797427925118632079369480461811564377547069270022563571587370828743578244732356240810310505174100115526694719127235015018557453474011934761174024190865662597230381842012333165578846817760294819392696949400252030439875184955632734419650203766727783669432251204812259179349409272954337178421965651977191888594408691460868073309849634650327292107510557355243105786560078284745271395665625709131563896761181932170206765850318775554634994201287346512770770194006639301214167925204321735090617108101672280624109043500681110662711250262480271336975869625565678459654303540584492719904668727568724830894374992536888320523426525068606481215849781869644205804968848330211960644225131377994697332068767183568381639871849508560970021659379541109960102696898642710938659515400480182639281989575466141852894463776660784412477413190529995269284244483910865207666426749068433809613182575318304713356036258265879788547539435895410838852957843072859549761038474949480356317170599850918352502029812575849295812119934347074310512753124085794896027477353583165183805332901091158981510034639178786415002698402213692082065041140699742104826398328420666553005859832073007898713502863547611429006172326803676349 1319204213386340989222978626230471832936703193423481044132541750820580670988734860666003085006936084682785972864940347546082061731237462180510155526104338892160341307661693572248749306911120558292323884338515403832950677114970004073123552126704022669211724121177103158608521242631167321581625908539971514250516296835392138832952814429907916318853815351647966877617725953365615935431414484290050638236023699386538612571385790503456679921820833203963798559243935116867348933174968725189633766527283435465410762449786521844547282645543465367373569546834758525982346389232960027550107070813891224466895322952818686487729411991499068586522748313720452013400694241728072520942787125637297592378103520234916898969655990706410698742258647663272275611904292690710302420435332100125349975939647039040179722388063881695600332674404462281541269488450033710936081253357174191543054101738855718440344294002448409025991790048678135076717557641830248991565080867363423006959521139761305627559025632640445862665836572214945466942867719915331412715243414211622560882133030233193188318128157504552690211854662014196744651598002188461861691097938526189527212818324324102179372999490257119463828394925787433601523448356445366809303208938094432887140554664589239287919154324227978832086132073740503143339473072787476602955778278746841410433066610673080149919362019962391852497725648892069796552307194112414289857626456541156811998157375503991626758746011900097233025932563380498982377699309033775813400976121633759979225066741078790627704796345174143054341294476370597342274570516735089678584243912283751518177436062131626204000056180807713667683138310042089324096529686847112453326273987220391320657026113812732570610593440132005922961652810523297531634034614024482454089025091404788910981050357001573837432029890273210674786205667904740003675977613747124083260785696309358714768099022862395401690333296501726905451716740322035647345029367648310036989898656547105861831450703973485253688888968256310515719366251884435457522356518351631358015950598230600610402387645702943878579823342863606388155675030890921784328034518873246318332244202177284323272427222079425054641325266101825500702347136041776007468734591407161822113802383924721190327571751760660667735288843095717680754839038356070914873173702390057088237148159655985878080875357541207574675891831952347102289842653138683887921029888985229063393429248658851190440521862257382843129428264608298320765378822401386949280873833393020521674680959735624265618373341732164262722041031703313644589080375854845018494434915502767511094234833057070333945578138808965284553223898136862767152827865561907240686262644739713099805927955909122007304439753911665712042795624989170127 2134517255361168738868522683126510209293432242705871476667022807783088307049632563108347605477345696563809075665995654138284775073525725524822968297887866245686527106093187059713817754436360091626548991229813537988489606969420118254316532216313408458517269394703710412827162843336500157925355955144093236965080651744504210933001837147017084831668423812512126407463502403703537714888352724916505113712132355688967110456651296891546716666260595553496631636982600132060624278134600971166528995903189182606950654450871386307600643066964856563311437961003252932954964967533113883880612247580420322370427086506073926756193796587959810460746107457759852319878520591682799573724938760982067670304638793537557846552901791547202677565108898250010869242038654320707932292466791527613602445612152426854258588635443706566090272945572648360166475633281084268621155511118834822396964569207379859977639238099270283754753646758717220479930870185494919398287179244915636882642406956371268716548071958272366070915215881908365419905108799107167044132422484281430060925688104553528137415490520592620564507842703337485745490597281909555563824208401837566620142142618413234960664295521242026116085242916286971703458159050363167823995171679512626315219575069534283554796034981360908167355861514311863249213140990166173406331471710029209184384431797532416239507332341989705913832134260393819632966438861119573782220303748564445186669711029964691900617415196842869836017950585819756784436404764157141855972837399380293660787543645523171845604593773099261686420663956832408906652117586005112242155831283112495096422168418372436514505230280923240362402265545057107881550003698781873627350464852882988551038868126145898149457411200426825315658602210775327971509219569657216873739228858132572580413301561813833016781439163227547853208171319881931892270386305207992156570635330959686006875609580217638507476893374786472176847382366031167211241790549580480243755748975322660496825651991319998024459082974895611729887291456206170548139464620023911982124994098911711273113637908183215215555692968429284847809978571475414504232703246441971149226619194714172643795853747148031535857175047971469706507315984371987968112959722785156519445871151108289571967443601269221637756948222636827640857535936998781853532689102870239727519137735122127730975339134201991987153305022482342371574087137049549095587456638053662873006611823977155903796558120523262631676967700503709159618336665474246499041912308342500877991851559586542618120403154308013558534160966050387955101833499940639914521912269085932694899567734148229315455612777987751699555922300350554849217869006261649345512660973160379652811787787982129906017942617459277141048967951792846476 3453721468747509728091501309356982042230135436129352520799564558603668978038367423774350690484281781246595048530936001684366836804763187705333123823992205137846868413754880631962567061347480649918872875568328941821440284084390122327440084343017431127728993515880813571435684085967667479506981863684064751215596948579896349765954651576925001150522239164160093285081228357069153650319767209206555751948156055075505723028037087395003396588081428757460430196226535248927973211309569696356162762430472618072361416900657908152147925712508321930685007507838011458937311356766073911430719318394311546837322409458892613243923208579458879047268855771480304333279214833410872094667725886619365262682742313772474745522557782253613376307367545913283144853942947011418234712902123627738952421551799465894438311023507588261690605619977110641707745121731117979557236764476009013940018670946235578417983532101718692780745436807395355556648427827325168389852260112279059889601928096132574344107097590912811933581052454123310886847976519022498456847665898493052621807821134786721325733618678097173254719697365351682490142195284098017425515306340363756147354960942737337140037295011499145579913637842074405304981607406808534633298380617607059202360129734123522842715189305588886999441993588052366392552614062953650009287249988776050594817498408205496389426694361952097766329859909285889429518746055231988072077930205105601998667868405468683527376161208742967069043883149200255766814104073190917669373813521014053640012610386601962473309390118273404740761958433203006248926688102740201920740075195396246614599604480504062718505286461730954030085403855099197205646533385628986080676738840103379871695894239958630720068004640558831238620255021298625503143254183681699327828253949537361491394351918815406854213469053500758527994376987786671895946363918955116239831421027269044721643708603080033909167226671288199082299099106353202858586819917228790280745647631869766358657102695293483278147971943151922245606657708090606005661821138375543340140944697142311883516025553886159094135516311292891235965653602366336288560737765315217467558863396891456967068280969227456590498500314073295207209663120413763975581694314192318341559673535033010762295015353029882305492237065732545321612374975354852768405862805260296815756285894778113609056214491743199561829196854434689473863929790188232983508486527038891936400041072636007094237079982780645474806395965112007480383715487875633448322786141735521399666532519322166883738776496040177821256201997753701599690913875795484933016347184588700205993802567205299649401190916796716984109146198487417616370696871823556586198923617900092752617715743891251913322382371370942853091763576782016603 5588238724108678466960023992483492251523567678835223997466587366386757285087999986882698295961627477810404124196931655822651611878288913230156092121880071383533395519848067691676384815783840741545421866798142479809929891053810240581756616559330839586246262910584523984262846929304167637432337818828157988180677600324400560698956488723942085982190662976672219692544730760772691365208119934123060865660288410764472833484688384286550113254342024310957061833209135380988597489444170667522691758333661800679312071351529294459748568779473178493996445468841264391892276324299187795311331565974731869207749495964966540000117005167418689508014963229240156653157735425093671668392664647601432932987381107310032592075459573800816053872476444163294014095981601332126167005368915155352554867163951892748696899658951294827780878565549759001874220755012202248178392275594843836336983240153615438395622770200988976535499083566112576036579298012820087788139439357194696772244335052503843060655169549185178004496268336031676306753085318129665500980088382774482682733509239340249463149109198689793819227540068689168235632792566007572989339514742201322767497103561150572100701590532741171695998880758361377008439766457171702457293552297119685517579704803657806397511224286949795166797855102364229641765755053119823415618721698805259779201930205737912628934026703941803680161994169679709062485184916351561854298233953670047185337579435433375427993576405585836905061833735020012551250508837348059525346650920394347300800154032125134318913983891372666427182622390035415155578805688745314162895906478508741711021772898876499233010516742654194392487669400156305087196537084410859708027203692986368422734762366104528869525415840985656554278857232073953474652473753338916201567482807669934071807653480629239870994908216728306381202548307668603788216750224163108396402056358228730728519318183297672416644120046074671259146481472384370069828610466809270524501396607192426855482754686613481302607054918047533975493949164296776553801285758399455322265938796054023156629663462069374309691209279722176083775632173841750792793441011757188616785482591605629610864134716375488126355675362044764913716979104785751943694654036977474861005544686141300334262458954299103943249185288369372962469910912353634621938551908130536543275423629900241340031553625945191548982501876917031845438016927237782079095943165092554809406652896613162998033638103303908106483363665615716640002052153349879947364698450078022277658384078908709501859179650348191379790362963804089554792747375736124847538259453674632900893370301353528964856803694784468683665068498837972465588565878085205931711584591060472405429503531873381819340324988830219994140731528574863079 9041960192856188195051525301840474293753703114964576518266151924990426263126367410657048986445909259056999172727867657507018448683052100935489215945872276521380263933602948323638951877131321391464294742366471421631370175138200362909196700902348270713975256426465337555698531015271835116939319682512222739396274548904296910464911140300867087132712902140832312977625959117841845015527887143329616617608444465839978556512725471681553509842423453068417492029435670629916570700753740363878854520764134418751673488252187202611896494491981500424681452976679275850829587681065261706742050884369043416045071905423859153244040213746877568555283819000720460986436950258504543763060390534220798195670123421082507337598017356054429430179843990076577158949924548343544401718271038783091507288715751358643135210682458883089471484185526869643581965876743320227735629040070852850277001911099851016813606302302707669316244520373507931593227725840145256177991699469473756661846263148636417404762267140097989938077320790154987193601061837152163957827754281267535304541330374126970788882727876786967073947237434040850725774987850105590414854821082565078914852064503887909240738885544240317275912518600435782313421373863980237090591932914726744719939834537781329240226413592538682166239848690416596034318369116073473424905971687581310374019428613943409018360721065893901446491854078965598492003930971583549926376164158775649184005447840902058955369737614328803974105716884220268318064612910538977194720464441408400940812764418727096792223374009646071167944580823238421404505493791485516083635981673904988325621377379380561951515803204385148422573073255255502292843070470039845788703942533089748294430656606063159589593420481544487792899112253372578977795727937020615529395736757207295563202005399444646725208377270229064909196925295455275684163114143118224636233477385497775450163026786377706325811346717362870341445580578737572928415430384038060805247044239062193214139857381906964580755026861199456221100606872387382559463106896774998662406883493196335040145689015955533403826725591015067319741285776208087081354178777072406084344345988497086577932415685602944716854175676118060120926642225199515919276348351169793202565218221174311096557474307328986248741422354101918284082285887708487390344414713390833359031709524678354949087768117688391110811698731351721319301946717426015062604429692131446745806693969249170092270718086084553581289759630727724120385767641225513395687484591813543677324916598230876385597956146388369201046564961557791154483661251531609780554606638263333106887172868558828614257994611581185667774214697325390081959262749908762517910508208960565158047219275764633732662707360201162847232495105356879682 14630198916964866662011549294323966545277270793799800515732739291377183548214367397539747282407536736867403296924799313329670060561341014165645308067752347904913659453451016015315336692915162133009716609164613901441300066192010603490953317461679110300221519337049861539961377944576002754371657501340380727576952149228697471163867629024809173114903565117504532670170689878614536380736007077452677483268732876604451389997413855968103623096765477379374553862644806010905168190197911031401546279097796219430985559603716497071645063271454678918677898445520540242721864005364449502053382450343775285252821401388825693244157218914296258063298782229960617639594685683598215431453055181822231128657504528392539929673476929855245484052320434239871173045906149675670568723639953938444062155879703251391832110341410177917252362751076628645456186631755522475914021315665696686613985151253466455209229072503696645851743603939620507629807023852965343966131138826668453434090598201140260465417436689283167942573589126186663500354147155281829458807842664042017987274839613467220252031837075476760893174777502730018961407780416113163404194335824766401682349168065038481341440476076981488971911399358797159321861140321151939547885485211846430237519539341439135637737637879488477333037703792780825676084124169193296840524693386386570153221358819681321647294747769835705126653848248645307554489115887935111780674398112445696369343027276335434383363314019914640879167550619240280869315121747887036720067115361802748241612918450852231111137357901018737595127203213273836560084299480230830246531888152413730036643150278257061184526319947039342815060742655411807380039607554450705496731146226076116717165418972167688459118836322530144347177969485446532452448201690359531730963219564877229635009658880073886596203285486957371290399473603123879472379864367281333032635533743726506178682344969675378742455466763437541600592062051121942998244040850847331329748440846254620069622612068520445883362081779246990196594556036684159113264392655174453984672822289250358196775352478024907713517934870737243403516917950049837874147619788829594701129828580102716188796550401978432843209851038162825034643621329985267862971002388147268063570762907315611430819933261628090191990607642471291246552196800062122012282966621521369902307133154578596289119321743633582659794200608268753164739963644663797141700372857224001555213346865862333090304356189388461687773123296343440760387819794575393343052183041891565954983300677139585887457135796736560580836927925361880709276408627267734628092866091937966007780543169912357579114798306365654351439283196163362547547828627993968449622092800021037563476722807638015552003032349031382841373226633931742761 23672159109821054857063074596164440839030973908764377033998891216367609811340734808196796268853445995924402469652666970836688509244393115101134524013624624426293923387053964338954288570046483524474011351531085323072670241330210966400150018364027381014196775763515199095659908959847837871310977183852603466973226698132994381628778769325676260247616467258336845647796648996456381396263894220782294100877177342444429946510139327649657132939188930447792045892080476640821738890951651395280400799861930638182659047855903699683541557763436179343359351422199816093551451686429711208795433334712818701297893306812684846488197432661173826618582601230681078626031635942102759194513445716043029324327627949475047267271494285909674914232164424316448331995830698019214970441910992721535569444595454610034967321023869061006723846936603498289038152508498842703649650355736549536890987062353317472022835374806404315167988124313128439223034749693110600144122838296142210095936861349776677870179703829381157880650909916341650693955208992433993416635596945309553291816169987594191040914564952263727967122014936770869687182768266218753819049156907331480597201232568926390582179361621221806247823917959232941635282514185132176638477418126573174957459373879220464877964051472027159499277552483197421710402493285266770265430665073967880527240787433624730665655468835729606573145702327610906046493046859518661707050562271221345553348475117237493338733051634243444853273267503460549187379734658426013914787579803211149182425682869579327903360731910664808763071784036512257964589793271716346330167869826318718362264527657637623136042123151424491237633815910667309672882678024490551285435088759165865011596075578230848048712256804074632140077081738819111430243929627380147260358956322084525198211664279518533321411662757186436199596398898579155156542978510399557668869011129224281628845371756053085068266813480800411942037642629859515926659471234885392134995485085316813283762469450427410464117108640446446417695162909071541672727499551949452647079705782446693236921041493980441117344660461752310723258203726257924955501798565902000785474174568599802766728966087581377560064026714280885155570263555184783782247350739317061266135981128489922527377407568957076440732029996573209530634482687770609402627381334912203261338842679256951238207089861321973770605899339620474484041910362089812204304802549355448301020040835111503182575074275473015269062882927071164880773587435800906738739667633705109632308217275370462273055091943124929781883492886919671863760069878799344408647472730201299114667716038471186193372792917946840019213497893488752629507091377902730967532601008981602721523942083402649284665739709232545688605721739288622443 38302358026785921519074623890488407384308244702564177549731630507744793359555102205736543551260982732791805766577466284166358569805734129266779832081376972331207582840504980354269625262961645657483727960695699224513970307522221569891103335825706491314418295100565060635621286904423840625682634685192984194550178847361691852792646398350485433362520032375841378317967338875070917776999901298234971584145910219048881336507553183617760756035954407827166599754725282651726907081149562426681947078959726857613644607459620196755186621034890858262037249867720356336273315691794160710848815785056593986550714708201510539732354651575470084681881383460641696265626321625700974625966500897865260452985132477867587196944971215764920398284484858556319505041736847694885539165550946659979631600475157861426799431365279238923976209687680126934494339140254365179563671671402246223504972213606783927232064447310100961019731728252748946852841773546075944110253977122810663530027459550916938335597140518664325823224499042528314194309356147715822875443439609351571279091009601061411292946402027740488860296792439500888648590548682331917223243492732097882279550400633964871923619837698203295219735317318030100957143654506284116186362903338419605194978913220659600515701689351515636832315256275978247386486617454460067105955358460354450680462146253306052312950216605565311699799550576256213600982162747453773487724960383667041922691502393572927722096365654158085732440818122700830056694856406313050634854695165013897424038601320431559014498089811683546358198987249786094524674092751947176576699757978732448398907677935894684320568443098463834052694558566079117052922285578941256782166234985241981728761494550398536507831093126604776487255051224265643882692131317739678991322175886961754833221323159592419917614948244143807489995872501703034628922842877680890701504544872950787807527716725728463810722280244237953542629704680981458924903512085732723464743925931571433353385081518947856347479190419693436614289718945755700785991892207123906631752528071697051433696393972005348830862595332489554126775121676307762829649418354731595486604003148702518955525516489559810403273877752443710190213884885170051645218353127464329329706744035805533958197340830585166632722637639044500777186679487832731414910347956433573163645975833835547527326411604955556430400099947889227648781874006753609346005175406579449856233387700973836272879430464861476956836006223414605641161407230376300081791850675596675587291517952510048160512227739861490362720420812281552573036478506067079036740338822139265122448259208383543772487591224312494370652781089652115177054920005896699417154693809002640285000664891040664836668772058263928529978948373220365204 61974517136606976376137698486652848223339218611328554583730521724112403170895837013933339820114428728716208236230133255003047079050127244367914356095001596757501506227558944693223913833008129181957739312226784547586640548852432536291253354189733872328615070864080259731281195864271678496993611869045587661523405545494686234421425167676161693610136499634178223965763987871527299173263795519017265685023087561493311283017692511267417888975143338274958645646805759292548645972101213821962347878821657495796303655315523896438728178798327037605396601289920172429824767378223871919644249119769412687848608015014195386220552084236643911300463984691322774891657957567803733820479946613908289777312760427342634464216465501674595312516649282872767837037567545714100509607461939381515201045070612471461766752389148299930700056624283625223532491648753207883213322027138795760395959275960101399254899822116505276187719852565877386075876523239186544254376815418952873625964320900693616205776844348045483703875408958869964888264565140149816292079036554661124570907179588655602333860966980004216827418807376271758335773316948550671042292649639429362876751633202891262505799199319425101467559235277263042592426168691416292824840321464992780152438287099880065393665740823542796331592808759175669096889110739726837371386023534322331207702933686930782978605685441294918272945252903867119647475209606972435194775522654888387476039977510810421060829417288401530585714085626161379244074591064739064549642274968225046606464284190010886917858821722348355121270771286298352489263886023663522906867627805051166761172205593532307456610566249888325290328374476746426725804963603431808067601323744407846740357570128629384556543349930679408627332132963084755312936060945119826251681132209046280031432987439110953239026611001330243689592271400282189785465821388080448370373556002175069436373088481781548878989093725038365484667347310840974851562983320618115599739411016888246637147550969375266811596299060139883031984881854827242458719391759073359278832233854143744670617435465985789948207255794241864850033325402565687785151216920633596272078177717302321722254482577141187963337904466724595345784148440354835427465703866781390595842725164295456485574748399542243073454667635617710307821162175603340817537729291345776424984818513092498765533501466277530201005999287509702132823784368843421550309977955934898157253428536085339455454504740334492225898889150485770521934994666177206820531518309301785219599735227880510433567319682986420144603913699201224436796548384866423445387811552340564237115975246854729965860384142259334389866278983140867806562011383799430384687294817984243006524606974443314121334511767496474218584670112508987647 100276875163392897895212322377141255607647463313892732133462152231857196530450939219669883371375411461508014002807599539169405648855861373634694188176378569088709089068063925047493539095969774839441467272922483772100610856374654106182356690015440363643033365964645320366902482768695519122676246554238571856073584392856378087214071566026647126972656532010019602283731326746598216950263696817252237269168997780542192619525245694885178645011097746102125245401531041944275553053250776248644294957781384353409948262775144093193914799833217895867433851157640528766098083070018032630493064904826006674399322723215705925952906735812113995982345368151964471157284279193504708446446447511773550230297892905210221661161436717439515710801134141429087342079304393408986048773012886041494832645545770332888566183754427538854676266311963752158026830789007573062776993698541041983900931489566885326486964269426606237207451580818626332928718296785262488364630792541763537155991780451610554541373984866709809527099908001398279082573921287865639167522476164012695849998189189717013626807369007744705687715599815772646984363865630882588265536142371527245156302033836856134429419037017628396687294552595293143549569823197700409011203224803412385347417200320539665909367430175058433163908065035153916483375728194186904477341381994676781888165079940236835291555902046860229972744803480123333248457372354426208682500483038555429398731479904383348782925782942559616318154903748862209300769447471052115184496970133238944030502885510442445932356911534031901479469758536084447013937978775610699483567385783783615160079883529426991777179009348352159343022933042825543778727249182373064849767558729649828469119064679027921064374443057284185114587184187350399195628192262859505243003308096008034864654310598703373156641559245474051179588143901985224414388664265761339071878100875125857243900805207510012689711373969276319027297051991822433776466495406350839064483336948459679990532632488323123159075489479833319646274600800582943244711283966197265910584761925840796104313829437991138779069851126731418976808447078873450614800635275365191758682180866004840677779999066700998366611782219168305535998033325524887072684056994245719925549469200100990443772089230127409706177305274662211085007841663436072232448077247779349588630794346928046292859913071233086631406099235398929781605658375597030896315153362514348013486816237059175728333935205195969182734895373900376163096401896553506902323368984898460806891253180390558594079547422847910507324334511482777009833026890933502482128150374479829359564234455238273738347975366571828760519060072792982983616931389696129801841988626986883291525271865483978958003283825760402748563618485729352851 162251392299999874271350020863794103830986681925221286717192673955969599701346776233603223191489840190224222239037732794172452727905988618002608544271380165846210595295622869740717452928977904021399206585149268319687251405227086642473610044205174235971648436828725580098183678632967197619669858423284159517596989938351064321635496733702808820582793031644197826249495314618125516123527492336269502954192085342035503902542938206152596533986241084377083891048336801236824199025351990070606642836603041849206251918090667989632642978631544933472830452447560701195922850448241904550137314024595419362247930738229901312173458820048757907282809352843287246048942236761308442266926394125681840007610653332552856125377902219114111023317783424301855179116871939123086558380474825423010033690616382804350332936143575838785376322936247377381559322437760780945990315725679837744296890765526986725741864091543111513395171433384503719004594820024449032619007607960716410781956101352304170747150829214755293230975316960268243970838486428015455459601512718673820420905368778372615960668335987748922515134407192044405320137182579433259307828792010956608033053667039747396935218236337053498154853787872556186141995991889116701836043546268405165499855487420419731303033170998601229495500873794329585580264838933913741848727405528999113095868013627167618270161587488155148245690056383990452895932581961398643877276005693443816874771457415193769843755200230961146903868989375023588544844038535791179734139245101463990636967169700453332850215733256380256600740529822382799503201864799274222390435013588834781921252089122959299233789575598240484633351307519571970504532212785804872917368882474057675209476634807657305620917792987963593741919317150435154508564253207979331494684440305054314896087298037814326395668170246804294869180415302267414199854485653841787442251656877300926680273893689291561568700467694314684511964399302663408628029478726968954664222747965347926627680183457698389970671788539973202678259482655410185703430675725270625189416995779984540774931264903976928727277106920973283826841772481439138399951852195998788030760358583307162400034481643842186329949686685892900881782181765879722500149760861027110521392194364396446929346837629669652779631972910279921392829003839039413049985806539125126013615612860020545058393414537510616832412098522908631914429442744440452446625131318449246170740244773144515183788439945530461408633784524386146685031396562730713722854887294200246026490988408271069027646867105834330651928248210684001446629575275799925927515961926820393596680209702093003704208359508831163150385339055933850790178942773495560186529283444971126298049878839927293079337795593256876967148288598238340498 262528267463392772166562343240935359438634145239114018850654826187826796231797715453273106562865251651732236241845332333341858376761849991637302732447758734934919684363686794788210992024947678860840673858071752091787862261601740748655966734220614599614681802793370900465086161401662716742346104977522731373670574331207442408849568299729455947555449563654217428533226641364723733073791189153521740223361083122577696522068183901037775178997338830479209136449867843181099752078602766319250937794384426202616200180865812082826557778464762829340264303605201229962020933518259937180630378929421426036647253461445607238126365555860871903265154720995251717206226515954813150713372841637455390237908546237763077786539338936553626734118917565730942521196176332532072607153487711464504866336162153137238899119898003377640052589248211129539586153226768354008767309424220879728197822255093872052228828360969717750602623014203130051933313116809711520983638400502479947937947881803914725288524814081465102758075224961666523053412407715881094627123988882686516270903557968089629587475704995493628202850007007817052304501048210315847573364934382483853189355700876603531364637273354681894842148340467849329691565815086817110847246771071817550847272687740959397212400601173659662659408938829483502063640567128100646326068787523675894984033093567404453561717489535015378218434859864113786144389954315824852559776488731999246273502937319577118626680983173520763222023893123885797845613486006843294918636215234702934667470055210895778782572644790412158080210288358467246517139843574884921874002399372618397081331972652386291010968584946592643976374240562397514283259461968177937767136441203707503678595699486685226685292236045247778856506501337785553704192445470838836737687748401062349760741608636517699552309729492278346048768559204252638614243149919603126514129757752426783924174698896801574258411841663591003539261451294485842404495974133319793728706084913807606618212815946021513129747278019806522324534083455993128948141959691467891100001757705825336879245094341968067506346958047704702803650219560312589014752487471363979789442539449312003077814480710543184696561468905061206417780215091404609572833817855272830446941663564497437373118926859797062485809278184942132477836845502475485282433883786904475602246407206948591351253327608743703463818197758307561696035101120037483342940284680963594184227061010203690912122375150726430591368679898286522848127798459284220625178256279098706833382241588661627621726414528682241159252582722166778456462602166733428409644112301300222956244444157331277442556334875402991910904399128726833773795874163191689988371272071958009589575150705411272037341079419017279715711907083967693349 424779659763392646437912364104729463269620827164335305567847500143796395933144491686876329754355091841956458480883065127514311104667838609639911276719138900781130279659309664528928444953925582882239880443221020411475113666828827391129576778425788835586330239622096480563269840034629914362015963400806890891267564269558506730485065033432264768138242595298415254782721955982849249197318681489791243177553168464613200424611122107190371712983579914856293027498204644417923951103954756389857580630987468051822452098956480072459200757096307762813094756052761931157943783966501841730767692954016845398895184199675508550299824375909629810547964073838538963255168752716121592980299235763137230245519199570315933911917241155667737757436700990032797700313048271655159165533962536887514900026778535941589232056041579216425428912184458506921145475664529134954757625149900717472494713020620858777970692452512829263997794447587633770937907936834160553602646008463196358719903983156218896035675643296220395989050541921934767024250894143896550086725501601360336691808926746462245548144040983242550717984414199861457624638230789749106881193726393440461222409367916350928299855509691735392997002128340405515833561806975933812683290317340222716347128175161379128515433772172260892154909812623813087643905406062014388174796193052675008079901107194572071831879077023170526464124916248104239040322536277223496437052494425443063148274394734770888470436183404481910125892882498909386390457524542634474652775460336166925304437224911349111632788378046792414680950818180850046020341708374159144264437412961453179002584061775345590244758160544833128609725548081969484787791674753982810684505323677765178888072334294342532306210029033211372598425818488220708212756698678818168232372188706116664656828906674332025947977899739082640917948974506520052814097635573444913956381414629727710604448592586093135827112309357905688051225850597149251032525452860288748392928832879155533245892999403719903100419066559779725002793566111403314651572635416738516289418753485809877654176359245944996233624064968677986630491992041751727414704339667362767820202898032619165477848962354385371026511155590954107299562396857284332072983578716299940968333857928893884302465764489466715265441251095222053870665849341514898332419690326029601615862020066969136409646742146254320296230296281216193610464543864477935789565415999412840354967305783348206095910815096256892000002464422672669533159195022014934348033143573298952859873229996932696649373281634516571811180830932850779903092177442533354337160074228120616552924653859424281146764694384234155061289738184660684563974816936687250174900555516929135887625029545338565116678875012274156682860195682206033847 687307927226785418604474707345664822708254972403449324418502326331623192164942207140149436317220343493688694722728397460856169481429688601277214009166897635716049964022996459317139436978873261743080554301292772503262975928430568139785543512646403435201012042415467381028356001436292631104362068378329622264938138600765949139334633333161720715693692158952632683315948597347572982271109870643312983400914251587190896946679306008228146891980918745335502163948072487599023703182557522709108518425371894254438652279822292155285758535561070592153359059657963161119964717484761778911398071883438271435542437661121115788426189931770501713813118794833790680461395268670934743693672077400592620483427745808079011698456580092221364491555618555763740221509224604187231772687450248352019766362940689078828131175939582594065481501432669636460731628891297488963524934574121597200692535275714730830199520813482547014600417461790763822871221053643872074586284408965676306657851864960133621324200457377685498747125766883601290077663301859777644713849490484046852962712484714551875135619745978736178920834421207678509929139279000064954454558660775924314411765068792954459664492783046417287839150468808254845525127622062750923530537088412040267194400862902338525727834373345920554814318751453296589707545973190115034500864980576350903063934200761976525393596566558185904682559776112218025184712490593048348996828983157442309421777332054348007097117166578002673347916775622795184236071010549477769571411675570869859971907280122244890415361022837204572761161106539317292537481551949044066138439812334071576083916034427731881255726745491425772586099788644366999071051136722160748451641764881472682566668033781027758991502265078459151454932319826006261916949144149657004970059937107179014417570515310849725500287629231360986966717533710772691428340785493048040470511172382154494528623291482894710085524151021496691590487301891635093437021426993608542121634917792963139864105815349741416230166344579586247327327649567396443599714595108206407389420511191635214533421453587913063739971023016382689434142211602064316429456827138726747609645437481931168555663443064928555723072624496015313717342611948688941645817396571572771415275521493391321675584691349263777751250529280164186348502694843990383614853574112934077218108427273917727760900069754998023760048494039523755306499644984515419132505700680376434539194366793551897008033190246983322591371144320959192381286993481299154973211399852397659693255471585594324271099696163198812970433413655017558359554779609266782746804186529420839509169098016755558589321029259637146972194137313387518337770691099878940163271827588887145477200180250749837154019954431291436398572102766173727196 1112087586990178065042387071450394285977875799567784629986349826475419588098086698827025766071575435335645153203611462588370480586097527210917125285886036536497180243682306123846067881932798844625320434744513792914738089595259395530915120291072192270787342282037563861591625841470922545466378031779136513156205702870324455869819698366593985483831934754251047938098670553330422231468428552133104226578467420051804097371290428115418518604964498660191795191446277132016947654286512279098966099056359362306261104378778772227744959292657378354966453815710725092277908501451263620642165764837455116834437621860796624338726014307680131524361082868672329643716564021387056336673971313163729850728946945378394945610373821247889102248992319545796537921822272875842390938221412785239534666389719225020417363231981161810490910413617128143381877104555826623918282559724022314673187248296335589608170213265995376278598211909378397593809128990478032628188930417428872665377755848116352517359876100673905894736176308805536057101914196003674194800574992085407189654521411461014120683763786961978729638818835407539967553777509789814061335752387169364775634174436709305387964348292738152680836152597148660361358689429038684736213827405752262983541529038063717654243268145518181446969228564077109677351451379252129422675661173629025911143835307956548597225475643581356431146684692360322264225035026870271845433881477582885372570051726789118895567553349982484583473809658121704570626528535092112244224187135907036785276344505033594002048149400883996987442111924720167338557823260323203210402877225295524755086500096203077471500484906036258901195825336726336483858842811476143559136147088559237861454740368075370291297712294111670524053358138314226970129705842828475173202432125813295679074399421985181751448265528970443627884666508217292744242438421066492954426892587011882205133071884068987845912636460379402379641713152488784344469546879853897290514563750672118673109998814753461319330585411139365972330121215678799758251287230524944923678839264677445092187597812833858059973595087985060676064634203643816043844161166806089515429848335514550334033512405419313926749583780086969421016905008805973273718800975287872712383609379422285205978050455838730493016691780375386240219168544185505281947273264438963678833970447340886864170546811901252344056278790320739948916964188848993354922071116679789274894161672576900103103944005343240214591373608743631861914446188503314089321244543425696612553128701582527020920472977797715384781614244587868338262646957051800137083964260757541456062093751876179839736085723643871302033483875498048202901745508036566190338172383105816281364825209796088402270698829443565593081432298448379761043 1799395514216963483646861778796059108686130771971233954404852152807042780263028905967175202388795778829333847926339860049226650067527215812194339295052934172213230207705302583163207318911672106368400989045806565418001065523689963670700663803718595705988354324453031242619981842907215176570740100157466135421143841471090405009154331699755706199525626913203680621414619150677995213739538422776417209979381671638994994317969734123646665496945417405527297355394349619615971357469069801808074617481731256560699756658601064383030717828218448947119812875368688253397873218936025399553563836720893388269980059521917740127152204239450633238174201663506120324177959290057991080367643390564322471212374691186473957308830401340110466740547938101560278143331497480029622710908863033591554432752659914099245494407920744404556391915049797779842608733447124112881807494298143911873879783572050320438369734079477923293198629371169161416680350044121904702775214826394548972035607713076486138684076558051591393483302075689137347179577497863451839514424482569454042617233896175565995819383532940714908559653256615218477482916788789879015790311047945289090045939505502259847628841075784569968675303065956915206883817051101435659744364494164303250735929900966056179971102518864102001783547315530406267058997352442244457176526154205376814207769508718525122619072210139542335829244468472540289409747517463320194430710460740327681991829058843466902664670516560487256821726433744499754862599545641590013795598811477906645248251785155838892463510423721201560203273031259484631095304812272247276541317037629596331170416130630809352756211651527684673781925125370703482929893948198304307587788853440710544021408401856398050289214559190129675508290458140233232046654986978132178172492062920474693491969937296031476948553158201804614851384041928065435670779206559540994897403759394036699661695175551882555998160611400899071232200454380419437906568306847505832636198668465081812974104630103202735560751755718952219657448865246196201851001825633151331068259775869080306721019266421771123713566111001443365498776415245880360273617993944816263039493772996481502589175848484242482472656404582984734734247620754662215364618371859445483798884900915676527653635147187994270767942309655550426567671239029495665562126838551897756052078874614804591931446881656250367816327284360263704223463833833508774054576817360165709433356039370452000111977195590223537182744753064591054295733181984613244294455943278094272246384173168121345191572673960914197752047658242885896622201736661066919830768447286962295571262849892935398325406752903508449005678012811435721239516199136445130501444210694703426842025390046838239424718783874857029480004401214553488239 2911483101207141548689248850246453394664006571539018584391201979282462368361115604794200968460371214164979001129951322637597130653624743023111464580938970708710410451387608707009275200844470950993721423790320358332739155118949359201615784094790787976775696606490595104211607684378137722037118131936602648577349544341414860878974030066349691683357561667454728559513289704008417445207966974909521436557849091690799091689260162239065184101909916065719092546840626751632919011755582080907040716538090618866960861037379836610775677120875827302086266691079413345675781720387289020195729601558348505104417681382714364465878218547130764762535284532178449967894523311445047417041614703728052321941321636564868902919204222587999568989540257647356816065153770355872013649130275818831089099142379139119662857639901906215047302328666925923224485838002950736800090054022166226547067031868385910046539947345473299571796841280547559010489479034599937330964145243823421637413363561192838656043952658725497288219478384494673404281491693867126034314999474654861232271755307636580116503147319902693638198472092022758445036694298579693077126063435114653865680113942211565235593189368522722649511455663105575568242506480140120395958191899916566234277458939029773834214370664382283448752775879607515944410448731694373879852187327834402725351604816675073719844547853720898766975929160832862553634782544333592039864591938323213054561880785632585798232223866542971840295536091866204325489128080733702258019785947384943430524596290189432894511659824605198547645384955979651969653128072595450486944194262925121086256916226833886824256696557563943574977750462097039966788736759674447866723935941999948405476148769931768341586926853301800199561648596454460202176360829806607351374924188733770372566369359281213228396818687172248242736050550145358179913217627626033949324296346405918904794767059620870401910797071780301450873913606869203782376115186701403123150762419137200486084103444856664054891337166858318191987570080924995960102289056158096254747099040546525398908617079255629183687161198986504041563410618889696404117779160750905778469342108511031836622688253903556409222240184669954155751152629560635489083419347147318196182494280337961733631685603026724763784634090030936666786839783215000947509400102990861434886049321955691456101993693557502711872606074681003653140428022682502128976647934039954984327517711947352103215921200933463751774118361808222916210179370487927333615700486703790884799512874750648366112045651758629582533661902830754234884848693712867056914732708044503751633356601769115238061492476547379751039161888309483924141261707173011320839616593800519708206850599842926641695417613318422622561436699662933249282 4710878615424105032336110629042512503350137343510252538796054132089505148624144510761376170849166992994312849056291182686823780721151958835305803875991904880923640659092911290172482519756143057362122412836126923750740220642639322872316447898509383682764050930943626346831589527285352898607858232094068783998493385812505265888128361766105397882883188580658409180927908854686412658947505397685938646537230763329794086007229896362711849598855333471246389902234976371248890369224651882715115334019821875427660617695980900993806394949094276249206079566448101599073654939323314419749293438279241893374397740904632104593030422786581398000709486195684570292072482601503038497409258094292374793153696327751342860228034623928110035730088195748917094208485267835901636360039138852422643531895039053218908352047822650619603694243716723703067094571450074849681897548320310138420946815440436230484909681424951222864995470651716720427169829078721842033739360070217970609448971274269324794728029216777088681702780460183810751461069191730577873829423957224315274888989203812146112322530852843408546758125348637976922519611087369572092916374483059942955726053447713825083222030444307292618186758729062490775126323531241556055702556394080869485013388839995830014185473183246385450536323195137922211469446084136618337028713482039779539559374325393598842463620063860441102805173629305402843044530061796912234295302399063540736553709844476052700896894383103459097117262525610704080351727626375292271815384758862850075772848075345271786975170248326400107848657987239136600748432884867697763485511300554717417427332357464696177012908209091628248759675587467743449718630707872752174311724795440658949497557171788166391876141412491929875069939054594693434223015816784739529547416251654245066058339296577244705345371845374052857587434592073423615583996834185574944221700105799955604456462235172752957908957683181200522106114061249623220282683493548908955786961087602282299058208074959866790452088922577270411645018946171192161953290881791247585815358816415605705629636345677400307400727309987947407062187034135576764391397154695722041508835881507513339211864102387798891694896589252938890485400250315297704448037719006763679981379181253638261285320750214719034552576399686487093354511022244496613071526941542759190938128196570496048033440575213753079688933359041267357363891856516010903031224751400120693760873751317804103327898396523687288956863114872813970505912552472540577910156429981885157045897047918769711303618325719543780285709561073640131507050430373933976745501155331466047204619451662050636386899229450888200044839901120919645380777906309456451341060804495223135048875989889764881120136397193279652041441100877486737521 7622361716631246581025359479288965898014143915049271123187256111371967516985260115555577139309538207159291850186242505324420911374776701858417268456930875589634051110480519997181757720600614008355843836626447282083479375761588682073932231993300171659539747537434221451043197211663490620644976364030671432575842930153920126767102391832455089566240750248113137740441198558694830104155472372595460083095079855020593177696490058601777033700765249536965482449075603122881809380980233963622156050557912494294621478733360737604582072069970103551292346257527514944749436659710603439945023039837590398478815422287346469058908641333712162763244770727863020259967005912948085914450872798020427115095017964316211763147238846516109604719628453396273910273639038191773650009169414671253732631037418192338571209687724556834650996572383649626291580409453025586481987602342476364968013847308822140531449628770424522436792311932264279437659308113321779364703505314041392246862334835462163450771981875502585969922258844678484155742560885597703908144423431879176507160744511448726228825678172746102184956597440660735367556305385949265170042437918174596821406167389925390318815219812830015267698214392168066343368830011381676451660748293997435719290847779025603848399843847628668899289099074745438155879894815830992216880900809874182264910979142068672562308167917581339869781102790138265396679312606130504274159894337386753791115590630108638499129118249646430937412798617476908405840855707108994529835170706247793506297444365534704681486830072931598655494042943218788570401560957463148250429705563479838503684248584298583001269604766655571823737426049564783416507367467547200041035660737440607354973705941719934733463068265793730074631587651049153636399376646591346880922340440388015438624708655858457933742190532546301100323485142218781795497214461811608893545996452205874509251229294793623359819754754961501972980027668118827002658798680250312078937723506739482785142311519816530845343426089435588603632589027096188122055579937949343840562457856962131104538253424933029491087888508974451448625597653025273168509176315446627819978177990018545175834552356291355300917136773922893046236552879875933193531457066154081876163873461591599994917006353241443798337210489717423760141350805459497560580927044533620625824177518526187504135434268771255791561539433722271010504319879198513032007872685440075678088391463265156206543819597457151040730981476681036886716091922960467911525856916685676041845409922669418077415663977478173362819371463904394366391899124086801033660233863375969798837976053431165874448391705998267951084001789430403569522039613482467772180677398295742843255726589732691522815554010511702274602877800540419986803 12333240332055351613361470108331478401364281258559523661983310243461472665609404626316953310158705200153604699242533688011244692095928660693723072332922780470557691769573431287354240240356757065717966249462574205834219596404228004946248679891809555342303798468377847797874786738948843519252834596124740216574336315966425392655230753598560487449123938828771546921369107413381242763102977770281398729632310618350387263703719954964488883299620583008211872351310579494130699750204885846337271384577734369722282096429341638598388467019064379800498425823975616543823091599033917859694316478116832291853213163191978573651939064120293560763954256923547590552039488514451124411860130892312801908248714292067554623375273470444219640449716649145191004482124306027675286369208553523676376162932457245557479561735547207454254690816100373329358674980903100436163885150662786503388960662749258371016359310195375745301787782583980999864829137192043621398442865384259362856311306109731488245500011092279674651625039304862294907203630077328281781973847389103491782049733715260872341148209025589510731714722789298712290075916473318837262958812401234539777132220837639215402037250257137307885884973121230557118495153542623232507363304688078305204304236619021433862585317030875054349825422269883360367349340899967610553909614291913961804470353467462271404771787981441780972586276419443668239723842667927416508455196736450294527669300474584691200026012632749890034530061143087612486192583333484286801650555465110643582070292440879976468462000321257998763342700930457925171149993842330846013915216864034555921111580941763279178282512975747200072497101637032526866225998175419952215347385532881266304471263113508101125339209678285659949701526705643847070622392463376086410469756692042260504683047952435702639087562377920353957910919734292205411081211295997183837767696558005830113707691529966376317728712438142702495086141729368450222941482173799221034724684594341765084200519594776397635795515012012859015277607973267380284008870819740591426377816673377736810167889770610429798488615818962398855687784687160849932900573470142349861487013871526058515046416458679154192612033363175831936721953130191230897979494785160845556145252642845238256202327103456162832889786889403910853495861827703994173652453986076379816762305715096683552168874843985008871250472792763538367868211735714523935039097436840196371849265214582960309871717993980838329687844591553850857222004475433008489436013346667561198891306970588187788719282303197717143105081024978034497898949554460735010405735018707435846042595505093216510835290935449156151128841690551323214902817519791924223521738202790965978304602579622456403935690407704981926644318901417906724324 19955602048686598194386829587620444299378425173608794785170566354833440182594664741872530449468243407312896549428776193335665603470705362552140340789853656060191742880053951284535997960957371074073810086089021487917698972165816687020180911885109727001843546005812069248917983950612334139897810960155411649150179246120345519422333145431015577015364689076884684661810305972076072867258450142876858812727390473370980441400210013566265917000385832545177354800386182617012509131185119809959427435135646864016903575162702376202970539089034483351790772081503131488572528258744521299639339517954422690332028585479325042710847705454005723527199027651410610812006494427399210326311003690333229023343732256383766386522512316960329245169345102541464914755763344219448936378377968194930108793969875437896050771423271764288905687388484022955650255390356126022645872753005262868356974510058080511547808938965800267738580094516245279302488445305365400763146370698300755103173640945193651696271992967782260621547298149540779062946190962925985690118270820982668289210478226709598569973887198335612916671320229959447657632221859268102433001250319409136598538388227564605720852470069967323153583187513398623461863983554004908959024052982075740923595084398047037710985160878503723249114521344628798523229235715798602770790515101788144069381332609530943967079955899023120842367379209581933636403155274057920782615091073837048318784891104693329699155130882396320971942859760564520892033439040593281331485726171358437088367736806414681149948830394189597418836743873676713741551554799793994264344922427514394424795829526061862179552117742402771896234527686597310282733365642967152256383046270321873659444969055228035858802277944079390024333114356693000707021769109967433291392097132430275943307756608294160572829752910466655058234404876510987206578425757808792731313693010211704622958920824759999677548467193104204468066169397487277225600280854049533113662408101081247869342831114592928481138941101448447618910197000363568406064450757689935266940274530339867914706143195543459289576504327936850304313382340186123101409749785588977681465191861544603690880968814970509493529170137098724982958506010067164091510951851314927432309126104436838251119333456697606631226997379121334613637212633163491734233381030610000442586483233622871056304309112756264662812012226485809378372531614913036967046970122280272049937656677848116516415537591437989370418826068234887743938096398393476400961870263353237240736716893257605866134946280675890505924452488882428864290848678547536044065968882083405644880571558524382385283682641447424102212843479981726784424857133274391995702415601086708821560329169355147926751244418216684201247196701958326711127 32288842380741949807748299695951922700742706432168318447153876598294912848204069368189483759626948607466501248671309881346910295566634023245863413122776436530749434649627382571890238201314128139791776335551595693751918568570044691966429591776919282344147344474189917046792770689561177659150645556280151865724515562086770912077563899029576064464488627905656231583179413385457315630361427913158257542359701091721367705103929968530754800300006415553389227151696762111143208881390005656296698819713381233739185671592044014801359006108098863152289197905478748032395619857778439159333655996071254982185241748671303616362786769574299284291153284574958201364045982941850334738171134582646030931592446548451321009897785787404548885619061751686655919237887650247124222747586521718606484956902332683453530333158818971743160378204584396285008930371259226458809757903668049371745935172807338882564168249161176013040367877100226279167317582497409022161589236082560117959484947054925139941772004060061935273172337454403073970149821040254267472092118210086160071260211941970470911122096223925123648386043019258159947708138332586939695960062720643676375670609065203821122889720327104631039468160634629180580359137096628141466387357670154046127899321017068471573570477909378777598939943614512158890578576615766213324700129393702105873851686076993215371851743880464901814953655629025601876126997941985337291070287810287342846454191579278020899181143515146211006472920903652133378226022374077568133136281636469080670438029247294657618410830715447596182179444804134638912701548642124840278260139291548950345907410467825141357834630718149971968731629323629837148959363818387104471730431803203139963916232168736136984141487622365049974034641062336847777644161573343519701861853824472536447990804560729863211917315288387009016145324610803192617659637053805976569081389568217534736666612354726375995277179631246906963152311126855727448541763027848754148387092695423012953543350709369326116934456113461306634187804973630948690073321577430526693318091203717604724874032966153889088065120146899249160001167027346973034310323255731327542952205733070662205927385273649663686141203500274556919680459140258394989490446636475772988454378747282076507321660560153769464116784268525245467133074460867485907885835016686380259348788948719554608473183956741273534062485019249347746240743350627560902086067559120468421786921892431076826287255585418827700106670659788738601160100873826484890397883610020798439628023863845793654854228583873607649029533513860463362189798233008271054471703900790841490923167063617598896118973576896580253341685170533049999327674653066316219224153803877674799864931748977604330686934825921666127891515603376233435451 52244444429428548002135129283572367000121131605777113232324442953128353030798734110062014209095192014779397798100086074682575899037339385798003753912630092590941177529681333856426236162271499213865586421640617181669617540735861378986610503662029009345990890480001986295710754640173511799048456516435563514874694808207116431499897044460591641479853316982540916244989719357533388497619878056035116355087091565092348146504139982097020717300392248098566581952082944728155718012575125466256126254849028097756089246754746391004329545197133346504079969986981879520968148116522960458972995514025677672517270334150628659073634475028305007818352312226368812176052477369249545064482138272979259954936178804835087396420298104364878130788406854228120833993650994466573159125964489913536593750872208121349581104582090736032066065593068419240659185761615352481455630656673312240102909682865419394111977188126976280778947971616471558469806027802774422924735606780860873062658588000118791638043997027844195894719635603943853033096012003180253162210389031068828360470690168680069481095983422260736565057363249217607605340360191855042128961313040052812974208997292768426843742190397071954193051348148027804042223120650633050425411410652229787051494405415115509284555638787882500848054464959140957413807812331564816095490644495490249943233018686524159338931699779488022657321034838607535512530153216043258073685378884124391165239082683971350598336274397542531978415780664216654270259461414670849464622007807827517758805766053709338768359661109637193601016188677811352654253103441918834542605061719063344770703239993887003537386748460552743864966157010227147431692729461354256728113478073525013623361201223964172842943765566444439998367755419029848484665930683310952993253950956902812391298561169024023784747068198853664074379729487314179824238062811614769300395082578429239359625533179486375672825646824351111431218480524343004674142043881898287262049500796504260822886181823962254598073397214909754253098001973994517096137772335120461960258365734057472639580176161697348377641624474836099464314549367533096135720073041320305224417397594615265896808354088620173179670373637373281902638965150325559081001398487790700420763504851718914758440994016851376095343781647646580080770287094030977642119216047296380701935272182342425664777493069497538196874497245735157124613274965540597869133037681400740471724578570279193342702793176856817070525496728023626345098197272219961291359753873374035680364740757103399520989174864549498154953986002742892226480646911555807098537672782874247135803738622141981281402656218344004355554528650514776783752531786340708214926569404964383621425260918332752257438179244138350329138712305334560146578 84533286810170497809883428979524289700863838037945431679478319551423265879002803478251497968722140622245899046771395956029486194603973409043867167035406529121690612179308716428316474363585627353657362757192212875421536109305906070953040095438948291690138234954191903342503525329734689458199102072715715380599210370293887343577460943490167705944341944888197147828169132742990704127981305969193373897446792656813715851608069950627775517600398663651955809103779706839298926893965131122552825074562409331495274918346790405805688551305232209656369167892460627553363767974301399618306651510096932654702512082821932275436421244602604292109505596801327013540098460311099879802653272855625290886528625353286408406318083891769427016407468605914776753231538644713697381873551011632143078707774540804803111437740909707775226443797652815525668116132874578940265388560341361611848844855672758276676145437288152293819315848716697837637123610300183445086324842863420991022143535055043931579816001087906131167891973058346927003245833043434520634302507241154988431730902110650540392218079646185860213443406268475767553048498524441981824921375760696489349879606357972247966631910724176585232519508782656984622582257747261191891798768322383833179393726432183980858126116697261278446994408573653116304386388947331029420190773889192355817084704763517374710783443659952924472274690467633137388657151158028595364755666694411734011693274263249371497517417912688742984888701567868787648485483788748417597758289444296598429243795301003996386770491825084789783195633481945991566954652084043674820865201010612295116610650461712144895221379178702715833697786333856984580652093279741361199843909876728153587277433392700309827085253188809489972402396481366696262310092256654472695115804781375348839289365729753886996664383487240673090525054098117372441897699865420745869476472146646774096292145534212751668102826455598018394370791651198732122683806909747041410436593491927273776429532533331580715007853328371060887285806947625465786211093912550988653576456937775077364454209127851237465706744621735348624315716394880069170030396297051632767369603327685928102735739362269836865811577137647838822319424290583954070491845124266473409217883599000991265762654577005145559460565916171825547903361554898463550005051063982760961284061131061980273250677026238811730936982264984504870854018316168158771219105240521208893511500462710270168990048762275644770632167387812364946258298146046446181757637483394834119992764620949193175843403448423105803983519516603355588670445144564078153009376683665088626726905685759580177521629795240584608896213821047826783080206439407024434150723208842058421290192667310356588125114070060016457030227908710793582029 136777731239599045812018558263096656700984969643722544911802762504551618909801537588313512177817332637025296844871482030712062093641312794841870920948036621712631789708990050284742710525857126567522949178832830057091153650041767449939650599100977301036129125434193889638214279969908201257247558589151278895473905178501003775077357987950759347424195261870738064073158852100524092625601184025228490252533884221906063998112209932724796234900790911750522391055862651567454644906540256588808951329411437429251364165101536796810018096502365556160449137879442507074331916090824360077279647024122610327219782416972560934510055719630909299927857909027695825716150937680349424867135411128604550841464804158121495802738381996134305147195875460142897587225189639180270540999515501545679672458646748926152692542323000443807292509390721234766327301894489931421721019217014673851951754538538177670788122625415128574598263820333169396106929638102957868011060449644281864084802123055162723217859998115750327062611608662290780036341845046614773796512896272223816792201592279330609873314063068446596778500769517693375158388858716297023953882688800749302324088603650740674810374101121248539425570856930684788664805378397894242317210178974613620230888131847299490142681755485143779295048873532794073718194201278895845515681418384682605760317723450041534049715143439440947129595725306240672901187304374071853438441045578536125176932356947220722095853692310231274963304482232085441918744945203419267062380297252124116188049561354713335155130152934721983384211822159757344221207755525962509363470262729675639887313890455599148432608127639255459698663943344084132012344822741095617927957387950253167210638634616664482670029018755253929970770151900396544746976022939965425688369755738278161230587926898777910781411451686094337164904783585431552266135762677035515169871554725076013455917678713699127340928473279949129825589272175541736796825850791645328672486094288431534599315714357293835313081250543280815140383808921619982882348866247671450613834822671832550004034385289548585843348369096571448088630265762413165305750469338371937991787000922301193999544093450890010045481950775021120724958389440909513151493243612057173829981388450719906024203648593856521654804347563818405628673648648929441192124267111279141663219333313404405938028170095736349927811479510719661995467293281708756640352142921921949365236079032989463511692841939132461841157664115835991291356495418266407473117391356768869800357505378052592696832578312972603958937505519346247815151092056119885251547049466539335762530644307901561458924286013584588964450742471562603566832738225747732649077292613806442042715453585643108845563293314198366786168940214045353728607 221311018049769543621901987242620946401848807681667976591281082055974884788804341066565010146539473259271195891642877986741548288245286203885738087983443150834322401888298766713059184889442753921180311936025042932512689759347673520892690694539925592726267360388385792980717805299642890715446660661866994276073115548794891118654818931440927053368537206758935211901327984843514796753582489994421864149980676878719779849720279883352571752501189575402478200159642358406753571800505387711361776403973846760746639083448327202615706647807597765816818305771903134627695684065125759695586298534219542981922294499794493209946476964233513592037363505829022839256249397991449304669788683984229841727993429511407904209056465887903732163603344066057674340456728283893967922873066513177822751166421289730955803980063910151582518953188374050291995418027364510361986407777356035463800599394210935947464268062703280868417579669049867233744053248403141313097385292507702855106945658110206654797675999203656458230503581720637707039587678090049294430815403513378805223932494389981150265532142714632456991944175786169142711437357240739005778804064561445791673968210008712922777006011845425124658090365713341773287387636145155434209008947296997453410281858279483471000807872182405057742043282106447190022580590226226874935872192273874961577402428213558908760498587099393871601870415773873810289844455532100448803196712272947859188625631210470093593371110222920017948193183799954229567230428992167684660138586696420714617293356655717331541900644759806773167407455641703335788162407610006184184335463740287935003924540917311293327829506817958175532361729677941116592996916020836979127801297826981320797916068009364792497114271944063419943172548381763241009286115196619898383485560519653510069877292628531797778075835173335010255429837683548924708033462542456261039348026871722787552209824247911879009031299735547148219960063826740468919509657701392370082922687780358808375745246890625416028089103871651876027669615869245448668559960160222439267411279609607627368488594417399823309055113718306796712945982157293234475780865635423570759156604249987122102279832813159846911293527912668959547277813731493467221985088736323647239199272049720897289966303170861667214264913479990231176577010203827904742129318175261902624503394444466386211278847121975161658748461775704166866321311597876915411571248162443158258747579495699733680682890701408106611789831503648356237614793564312853654875028840163703920350269999001785872675981761395709762921025035949603403821537200683963404556426150204424389257549993661141636445915808825173573346956292610430349912944665154757083228015822648500464005646252953465433688407384258383243199168122756147310636 358088749289368589433920545505717603102833777325390521503083844560526503698605878654878522324356805896296492736514360017453610381886598998727609008931479772546954191597288816997801895415299880488703261114857872989603843409389440970832341293640902893762396485822579682618932085269551091972694219251018273171547020727295894893732176919391686400792732468629673275974486836944038889379183674019650354402514561100625843847832489816077367987401980487153000591215505009974208216707045644300170727733385284189998003248549863999425724744309963321977267443651345641702027600155950119772865945558342153309142076916767054144456532683864422891965221414856718664972400335671798729536924095112834392569458233669529400011794847884038037310799219526200571927681917923074238463872582014723502423625068038657108496522386910595389811462579095285058322719921854441783707426994370709315752353932749113618252390688118409443015843489383036629850982886506099181108445742151984719191747781165369378015535997319406785293115190382928487075929523136664068227328299785602622016134086669311760138846205783079053770444945303862517869826215957036029732686753362195093998056813659453597587380112966673664083661222644026561952193014543049676526219126271611073641169990126782961143489627667548837037092155639241263740774791505122720451553610658557567337720151663600442810213730538834818731466141080114483191031759906172302241637757851483984365557988157690815689224802533151292911497666032039671485975374195586951722518883948544830805342918010430666697030797694528756551619277801460680009370163135968693547805726469963574891238431372910441760437634457213635231025673022025248605341738761932597055758685777234488008554702626029275167143290699317349913942700282159785756262138136585324071855316257931671300465219527309708559487286859429347420334621268980476974169225219491776209219581596798801008127502961611006349959773015496278045549336002282205716335508493037698755408782068790342975060961247919251341170354414932691168053424790865431550908826407893889881246102281440177372522979706948409152403482814878244801576247919706399781531334973795508750943605172288316101823926264049856956775478687690080272236203172402980373478332348380821069180660500440803314169951764718188869069261043808636805250658852757345934253585286541044287722727757870792149307017217711511586559941286423828861788604879585672051923391084365107623983658528689197192375732640540568452947495619484347528971288982579261127992420196932573720707775377054378569508560074368313721858530555295851218972629256803848656103475616743760151788194301562703095370201822409762537797698764173033916745682890902489732305308436454942506721099838596574279251700698456750029368108336801501039243 579399767339138133055822532748338549504682585007058498094364926616501388487410219721443532470896279155567688628157238004195158670131885202613347096914922923381276593485587583710861080304742634409883573050882915922116533168737114491725031988180828486488663846210965475599649890569193982688140879912885267447620136276090786012386995850832613454161269675388608487875814821787553686132766164014072218552495237979345623697552769699429939739903170062555478791375147368380961788507551032011532504137359130950744642331998191202041431392117561087794085749423248776329723284221075879468452244092561696291064371416561547354403009648097936484002584920685741504228649733663248034206712779097064234297451663180937304220851313771941769474402563592258246268138646206968206386745648527901325174791489328388064300502450820746972330415767469335350318137949218952145693834771726744779552953326960049565716658750821690311433423158432903863595036134909240494205831034659687574298693439275576032813211996523063243523618772103566194115517201226713362658143703298981427240066581059292910404378348497711510762389121090031660581263573197775035511490817923640885672025023668166520364386124812098788741751588357368335239580650688205110735228073568608527051451848406266432144297499849953894779135437745688453763355381731349595387425802932432528915122579877159351570712317638228690333336556853988293480876215438272751044834470124431843554183619368160909282595912756071310859690849831993901053205803187754636382657470644965545422636274666147998238931442454335529719026733443164015797532570745974877732141190210251509895162972290221735088267141275171810763387402699966365198338654782769576183559983604215808806470770635394067664257562643380769857115248663923026765548253333205222455340876777585181370342512155841506337563122032764357675764458952529401682202687761948037248567608468521588560337327209522885358991072751043426265509399829022674635845166194430068838331469849149151350806208138544667369259458286584567195723040660110880219468786568116329148657381891047804741011574124348232461458596533185041514522230076999634257312200609219079510100209422275438204103759077209703868069006600359039819514016903896447595463421084704468308379932550161700604136254935579856083334174523798867981827669056585250676382903461802946912226122202337178360585864339686673245308403062127995728109916477462587463494639246808265882731238024388930873058623341948675064737327123132703766586082546892114782867449037096277641058045376056164442184541835764023484779555591245454622794166457487812060659901766948184541045744295223844731816117631234936111144655056783464266658627556057246815533324259103442970726746091550039712940108082715133272567276459557648349879 937488516628506722489743078254056152607516362332449019597448771177027892186016098376322054795253085051864181364671598021648769052018484201340956105846402695928230785082876400708662975720042514898586834165740788911720376578126555462557373281821731380251060332033545158218581975838745074660835099163903540619167157003386680906119172770224299854954002144018281763850301658731592575511949838033722572955009799079971467545385259515507307727305150549708479382590652378355170005214596676311703231870744415140742645580548055201467156136427524409771353193074594418031750884377025999241318189650903849600206448333328601498859542331962359375967806335542460169201050069335046763743636874209898626866909896850466704232646161655979806785201783118458818195820564130042444850618230542624827598416557367045172797024837731342362141878346564620408640857871073393929401261766097454095305307259709163183969049438940099754449266647815940493446019021415339675314276776811672293490441220440945410828747993842470028816733962486494681191446724363377430885472003084584049256200667728604670543224554280790564532834066393894178451089789154811065244177571285835979670081837327620117951766237778772452825412811001394897191773665231254787261447199840219600692621838533049393287787127517502731816227593384929717504130173236472315838979413590990096252842731540759794380926048177063509064802697934102776671907975344445053286472227975915827919741607525851724971820715289222603771188515864033572539181177383341588105176354593510376227979192676578664935962240148864286270646011244624695806902733881943571279946916680215084786401403663132176848704775732385445994413075721991613803680393544702173239318669381450296815025473261423342831400853342698119771057948946082812521810391469790546527196193035516852670807731683151214897050408892193705096099080221509878656371912981439813457787190065320389568464830171133891708950845766539704311058735831304880352180674687467767593740251917939494325867169386463918710429812701517258363776465450976311770377612976010219029903484172487982113534553831296641613862079348063286316098477996706034038843535583014588261043814594563754305927685341259560824844485288049120091750220076299427968941753433085289377560593050602503918306206700298044952403435567607504787078327909342596610636488748343991199948849960207970509892881557398184831868344348551824589898521357048259515418030331173373506714896553078128065434355982489243517684822742617051295557371529471375910859869234028851361765820753110543011693101910132337206638086146541305841766795714291660716763377383691944692833938596786547827186319453644698648942353820956498183404310446959736547838632695558385477447845930146613992191808781171883301935384796359149389122 1516888283967644855545565611002394702112198947339507517691813697793529280673426318097765587266149364207431869992828836025843927722150369403954303202761325619309507378568463984419524056024785149308470407216623704833836909746863669954282405270002559866739724178244510633818231866407939057348975979076788808066787293279477466918506168621056913309115271819406890251726116480519146261644716002047794791507505037059317091242938029214937247467208320612263958173965799746736131793722147708323235736008103546091487287912546246403508587528545085497565438942497843194361474168598101878709770433743465545891270819749890148853262551980060295859970391256228201673429699802998294797950349653306962861164361560031404008453497475427921576259604346710717064463959210337010651237363879070526152773208046695433237097527288552089334472294114033955758958995820292346075095096537824198874858260586669212749685708189761790065882689806248844357041055156324580169520107811471359867789134659716521443641959990365533272340352734590060875306963925590090793543615706383565476496267248787897580947602902778502075295223187483925839032353362352586100755668389209476865342106860995786638316152362590871241567164399358763232431354315919459897996675273408828127744073686939315825432084627367456626595363031130618171267485554967821911226405216523422625167965311417919145951638365815292199398139254788091070152784190782717804331306698100347671473925226894012634254416628045293914630879365696027473592386980571096224487833825238475921650615467342726663174893682603199815989672744687788711604435304627918449012088106890466594681564375953353911936971917007557256757800478421957979002019048327471749422878652985666105621496243896817410495658415986078889628173197610005839287358644802995768982537069813102034041150243838992721234613530924958062771863539174039280338574600743387850706354798533841978128802157380656777067941918517583130576568135660327554988025840881897836432071721767088645676673377525008586079689270988101825559499506111087191989846399544126548178560866063535786854546127955644874075320675881248327830620708073705668296155736192233667771144024016839192510031444418469264692913491888408159911264236980195875564405174517789757685940525600764204522442461635877901035737610091406372768905996965927847287019392210146938112174972162545148870478745897084858077176747410679820318008437834510846978912669577981639389446134577467058938492979324437918582422149865749755062143454076363490693727318271125129002823866129166707453877643745896360691417641737786760464560962171779472777423279150640129233879682892010392559002437084879634760087008877739962450062938003016983363371956954661828448174592021696653705131916863887016574502661255916797739001 2454376800596151578035308689256450854719715309671956537289262468970557172859442416474087642061402449259296051357500434047492696774168853605295259308607728315237738163651340385128187031744827664207057241382364493745557286324990225416839778551824291246990784510278055792036813842246684132009811078240692348685954450282864147824625341391281213164069273963425172015576418139250738837156665840081517364462514836139288558788323288730444555194513471161972437556556452125091301798936744384634938967878847961232229933493094301604975743664972609907336792135572437612393225052975127877951088623394369395491477268083218750352122094312022655235938197591770661842630749872333341561693986527516861488031271456881870712686143637083901383044806129829175882659779774467053096087982109613150980371624604062478409894552126283431696614172460598576167599853691365740004496358303921652970163567846378375933654757628701889820331956454064784850487074177739919844834384588283032161279575880157466854470707984208003301157086697076555556498410649953468224429087709468149525752467916516502251490827457059292639828057253877820017483443151507397165999845960495312845012188698323406756267918600369643694392577210360158129623127981150714685258122473249047728436695525472365218719871754884959358411590624515547888771615728204294227065384630114412721420808042958678940332564413992355708462941952722193846824692166127162857617778926076263499393666834419864359226237343334516518402067881560061046131568157954437812593010179831986297878594660019305328110855922752064102260318755932413407411338038509862020292035023570681679467965779616486088785676692739942702752213554143949592805699441872173922662197322367116402436521717158240753327059269328777009399231146556088651809169036272786315509733262848618886711957975522143936131663939817151767867962619395549158994946513724827664164141988599162367697266987551790668776892764284122834887626871491632435340206515569365604025811973685028140002540546911472504790119083689619083923275971562063503760224012520136767208464350236023768968080681786941515689182755229311614146719186070411702334999271775248256032187838611402946815959129759728825517757977176457280003014457056495303533346927950875047063501118651366708440748668336175945988141045659013877555984324875270443897655880958490929312123822122753119380371627454483042909045091759231644907906959191559106494330699909155012896161031130545187003927335306927162100106972608366806357700825605834866604587187505153980364589686882277250465570745656028697898055727884328066306327757886071133494186656534332073926713621488796940386188756538524333409029362698696460633467248449976719911210589650220213925622437951843267697323725645058899876438046052275947128123 3971265084563796433580874300258845556831914257011464054981076166764086453532868734571853229327551813466727921350329270073336624496319223009249562511369053934547245542219804369547711087769612813515527648598988198579394196071853895371122183821826851113730508688522566425855045708654623189358787057317481156752741743562341614743131510012338126473184545782832062267302534619769885098801381842129312155970019873198605650031261317945381802661721791774236395730522251871827433592658892092958174703886951507323717221405640548008484331193517695404902231078070280806754699221573229756660859057137834941382748087833108899205384646292082951095908588847998863516060449675331636359644336180823824349195633016913274721139641112511822959304410476539892947123738984804063747325345988683677133144832650757911646992079414835521031086466574632531926558849511658086079591454841745851845021828433047588683340465818463679886214646260313629207528129334064500014354492399754392029068710539873988298112667974573536573497439431666616431805374575543559017972703415851715002248735165304399832438430359837794715123280441361745856515796513859983266755514349704789710354295559319193394584070962960514935959741609718921362054482297070174583254797746657875856180769212411681044151956382252415985006953655646166060039101283172116138291789846637835346588773354376598086284202779807647907861081207510284916977476356909880661949085624176611170867592061313876993480653971379810433032947247256088519723955138525534037080844005070462219529210127362031991285749605355263918249991500620202119015773343137780469304123130461148274149530155569840000722648609747499959510014032565907571807718490199645672085075975352782508058017961055058163822717685314855899027404344166094491096527681075782084492270332661720920753108219361136657366277470742109830639826158569588439333521114468215514870496787133004345826069144932447445844834682801705965464195007151959990328232356451263440457883695452116785679213924436481090869808354677720909482775477673150695750070412064263315387025216299559555822626809742586389764503431110559941977339894144117370631155007967481923803331862628242139325990574178198090210671469064865439914278694036691179097752102468664804749441644252130912963191129972053847023878655750420250324890321841198291184675273168637867424298794285298268250850373351567900986221839169911465225915397026069953473243369487136652285607165708012245942420314631365080682529122474116561419844279682198357298314505776279109367413553011443957919448389401925058589473369622114826770888720057850606271609935684972203160593304380807332945191193623403968169116371576436423083530186452993703274582546604882042373797029973539921402455642508945916450940707308192744867124 6425641885159948011616182989515296411551629566683420592270338635734643626392311151045940871388954262726023972707829704120829321270488076614544821819976782249784983705871144754675898119514440477722584889981352692324951482396844120787961962373651142360721293198800622217891859550901307321368598135558173505438696193845205762567756851403619339637253819746257234282878952759020623935958047682210829520432534709337894208819584606675826357856235262936208833287078703996918735391595636477593113671765799468555947154898734849613460074858490305312239023213642718419147924274548357634611947680532204336874225355916327649557506740604105606331846786439769525358691199547664977921338322708340685837226904473795145433825784749595724342349216606369068829783518759271116843413328098296828113516457254820390056886631541118952727700639035231108094158703203023826084087813145667504815185396279425964616995223447165569706546602714378414058015203511804419859188876988037424190348286420031455152583375958781539874654526128743171988303785225497027242401791125319864528001203081820902083929257816897087354951337695239565873999239665367380432755360310200102555366484257642600150851989563330158630352318820079079491677610278220889268512920219906923584617464737884046262871828137137375343418544280161713948810717011376410365357174476752248068009581397335277026616767193800003616324023160232478763802168523037043519566864550252874670261258895733741352706891314714326951435015128816149565855523296479971849673854184902448517407804787381337319396605528107328020510310256552615526427111381647642489596158154031829953617495935186326089508325302487442662262227586709857164613417932071819594747273297719898910494539678213298917149776954643632908426635490722183142905696717348568400002003595510339807465066194883280593497941410559261598507788777965137598328467628193043179034638775732166713523336132484238114621727447085828800351821878643592425668438872020629044483695669137144925681754471347953595659927438367339993406051449235214199510294424584400082595489566535583324790707491529527905453686186339871556124059080214529072966154279742730179835519701239645086141949703937926915728429446241322719917293151093186482631099030419539851812942762903497621403939798308229793012019701409434127880874646716468735082331154127128796736422616408051387631222000806050943895266930929143110133822356217629059967574069396291665181768196838557432946347649938292242782636095082483367777545105288033223902901693281433089732003239893721208385019135057953756487529097506442893077216477943921739765796592219304277087306925869604273331379950161928301578145734275132883716997434902970423185793136255102256299419467925383189099779368154004816327378753360468691995247 10396906969723744445197057289774141968383543823694884647251414802498730079925179885617794100716506076192751894058158974194165945766807299623794384331345836184332229248090949124223609207284053291238112538580340890904345678468698016159084146195477993474451801887323188643746905259555930510727385192875654662191437937407547377310888361415957466110438365529089296550181487378790509034759429524340141676402554582536499858850845924621208160517957054710445229017600955868746168984254528570551288375652750975879664376304375397621944406052008000717141254291712999225902623496121587391272806737670039278256973443749436548762891386896188557427755375287768388874751649222996614280982658889164510186422537490708420154965425862107547301653627082908961776907257744075180590738674086980505246661289905578301703878710955954473758787105609863640020717552714681912163679267987413356660207224712473553300335689265629249592761248974692043265543332845868919873543369387791816219416996959905443450696043933355076448151965560409788420109159801040586260374494541171579530249938247125301916367688176734882070074618136601311730515036179227363699510874659904892265720779816961793545436060526290673566312060429798000853732092575291063851767717966564799440798233950295727307023784519389791328425497935807880008849818294548526503648964323390083414598354751711875112900969973607651524185104367742763680779644879946924181515950174429485841128850957047618346187545286094137384467962376072238085579478435005505886754698189972910736937014914743369310682355133462591938760301757172817645442884724785422958900281284492978227767026090756166090230973912234942621772241619275764736421136422271465266832349273072681418552557639268357080972494639958488807454039834888277634002224398424350484494273928172060728218174414244417250864218881301371429147614936534726037661988742661258693905135562865171059349405277416685560466562129887534765816016885795552415996671228471892484941579364589261711360968395784434686529735793045060902888826926908364895260364836648663397982514782835142880613334301272114295218189617450431498101398974358646443597309287710212103638851563867887225467940278116125005939100915306188159831571845129877661728851132888204656562384407155628534367130928280283640035898357159854378205764968557667026267006427295766664160721410693349655882072374157618844881488770099054575359737753243699013440817438883428317467375362546569678888767964569657323465165217556599929197389384970231581201216199057712199099416792905165166304467524459878815077002467128557719848105198001772346037406527904276480247900230250411606276571143785332269747262105851569306800527621355964126460375682859984298673216497898923110502235010662950732778319460668661436862371 16822548854883692456813240279289438379935173390378305239521753438233373706317491036663734972105460338918775866765988678314995267037295376238339206151322618434117212953962093878899507326798493768960697428561693583229297160865542136947046108569129135835173095086123810861638764810457237832095983328433828167630134131252753139878645212819576805747692185275346530833060440137811132970717477206550971196835089291874394067670430531297034518374192317646654062304679659865664904375850165048144402047418550444435611531203110247235404480910498306029380277505355717645050547770669945025884754418202243615131198799665764198320398127500294163759602161727537914233442848770661592202320981597505196023649441964503565588791210611703271644002843689278030606690776503346297434152002185277333360177747160398691760765342497073426486487744645094748114876255917705738247767081133080861475392620991899517917330912712794819299307851689070457323558536357673339732732246375829240409765283379936898603279419892136616322806491689152960408412945026537613502776285666491444058251141328946204000296945993631969425025955831840877604514275844594744132266234970104994821087264074604393696288050089620832196664379249877080345409702853511953120280638186471723025415698688179773569895612656527166671844042215969593957660535305924936869006138800142331482607936149047152139517737167407655140509127527975242444581813402983967701082814724682360511390109852781359698894436600808464335902977504888387651435001731485477736428552374875359254344819702124706630078960661569919959270612013725433171869996106433065448496439438524808181384522025942492179739299214722385284034469205985621901034554354343284861579622570792580329047097317481655998122271594602121715880675325610460776907921115772918884496277523682400535683240609127697844362160291860633027655403714499863635990456370854301872939774338597337772872741409900923675088289576973363566167838764439144841665110100492521529425275033726406637042722867132388282189663231412400896294878376143579094770659261233063480578004349370726205404041792801642200671875803790303054225458054573175516563463567452942283474371265107532311609889982054051921667530361547510879748864996223064144359950163307744508375327170059126155771070726588513433047918058569288506086639615274135761349337581422895460897144027101401043513294374963669788776755701028197685493560109461328073408391508279719982649143559385127111835115614507949566247801312639083296974934490258264805104117892339145288831420032798886374689486659517832571564531564635000612925321675945694085803203120123580757335207156120015879607951093947260571325407840126702190517525056258934549646168819115086554972635965824306299602014378816955549105698214029130128857618 27219455824607436902010297569063580348318717214073189886773168240732103786242670922281529072821966415111527760824147652509161212804102675862133590482668454618449442202053043003123116534082547060198809967142034474133642839334240153106130254764607129309624896973446999505385670070013168342823368521309482829821572068660300517189533574235534271858130550804435827383241927516601642005476906730891112873237643874410893926521276455918242678892149372357099291322280615734411073360104693618695690423071301420315275907507485644857348886962506306746521531797068716870953171266791532417157561155872282893388172243415200747083289514396482721187357537015306303108194497993658206483303640486669706210071979455211985743756636473810818945656470772186992383598034247421478024890676272257838606839037065976993464644053453027900245274850254958388135593808632387650411446349120494218135599845704373071217666601978424068892069100663762500589101869203542259606275615763621056629182280339842342053975463825491692770958457249562748828522104827578199763150780207663023588501079576071505916664634170366851495100573968442189335029312023822107831777109630009887086808043891566187241724110615911505762976439679675081199141795428803016972048356153036522466213932638475500876919397175916958000269540151777473966510353600473463372655103123532414897206290900759027252418707141015306664694231895718006125361458282930891882598764899111846352518960809828978045081981886902601720370939880960625737014480166490983623183250564848269991281834616868075940761315795032511898030913770898250817312880831218488407396720723017786409151548116698658269970273126957327905806710825261386637455690776614750128411971843865261747599654956750013079094766234560610523334715160498738410910145514197269368990551451854461263901415023372115095226379173162004456803018651034589673652445113515560566844909901462508832222146687317609235554851706860898331983855650234697257661781328964414014366854398315668348403691262916822968719399024457461799183705303051943990031024097881726878560519132205869086017376094073756495890065421240734552326857028931821960160772855163154387113222828975419537077830260170176927606631276853699039580436841352941806088801296195949164937711577214754690138201654868797073083816415729142884292404583831802787616344008718662125057865437794750699395366749121288633658244471127252260853297862705027086849208947163148300116518921931696790723883579077606889712966530195683226172323875228496386305334091396857487930836825704051540993954183977711386641534031763558332773426873947466431840609648027857237583107386370427485884522237732592841072669945978271497318052677614898676106544501975070853645852463723229410104249389479906281884017674697791565719989 44042004679491129358823537848353018728253890604451495126294921678965477492560161958945264044927426754030303627590136330824156479841398052100472796633991073052566655156015136882022623860881040829159507395703728057362940000199782290053176363333736265144797992059570810367024434880470406174919351849743310997451706199913053657068178787055111077605822736079782358216302367654412774976194383937442084070072733166285287994191706987215277197266341690003753353626960275600075977735954858666840092470489851864750887438710595892092753367873004612775901809302424434516003719037461477443042315574074526508519371043080964945403687641896776884946959698742844217341637346764319798685624622084174902233721421419715551332547847085514090589659314461465022990288810750767775459042678457535171967016784226375685225409395950101326731762594900053136250470064550093388659213430253575079610992466696272589134997514691218888191376952352832957912660405561215599339007862139450297038947563719779240657254883717628309093764948938715709236935049854115813265927065874154467646752220905017709916961580163998820920126529800283066939543587868416851964043344600114881907895307966170580938012160705532337959640818929552161544551498282314970092328994339508245491629631326655274446815009832444124672113582367747067924170888906398400241661241923674746379814227049806179391936444308422961805203359423693248569943271685914859583681579623794206863909070662610337743976418487711066056273917385849013388449481897976461359611802939723629245626654318992782570840276456602431857301525784623683989182876937651553855893160161542594590536070142641150449709572341679713189841180031247008538490245130958034989991594414657842076646752274231669077217037829162732239215390486109199187818066629970188253486828975536861799584655632499812939588539465022637484458422365534453309642901484369862439784684240059846605094888097218532910643141283834261898151694414673842099326891429456935543792129432042074985446414130049211250909062255869862695478583679195523084801683359114790359138523481576595291421417886875398696561941225031037606552315083504997476724236422616096670587594094082951848687720242224228849274161638401209919329301837576005950448751459503693673313038747273880845909272381457310506131734474298431390379044199105938548965681590141557585955009464896151742908661124084958422435000172155449946346857972166355160257600455442868282765662481316823902558999193585556455960767842834766523147258365486761191409451983736002776762256858502937915683440843495543958206065596398558945698748549893160517643812768151437994918314542490443365492473331679853412398077786104973687835577733873833225752713321090157408618488429547535709706263768296861830989715888726921694577607 71261460504098566260833835417416599076572607818524685013068089919697581278802832881226793117749393169141831388414283983333317692645500727962606387116659527671016097358068179885145740394963587889358317362845762531496582839534022443159306618098343394454422889033017809872410104950483574517742720371052793827273278268573354174257712361290645349463953286884218185599544295171014416981671290668333196943310377040696181920712983443133519876158491062360852644949240891334487051096059552285535782893561153285066163346218081536950102254835510919522423341099493151386956890304253009860199876729946809401907543286496165692486977156293259606134317235758150520449831844757978005168928262570844608443793400874927537076304483559324909535315785233652015373886844998189253483933354729793010573855821292352678690053449403129226977037445155011524386063873182481039070659779374069297746592312400645660352664116669642957083446053016595458501762274764757858945283477903071353668129844059621582711230347543120001864723406188278458065457154681694013029077846081817491235253300481089215833626214334365672415227103768725256274572899892238959795820454230124768994703351857736768179736271321443843722617258609227242743693293711117987064377350492544767957843563965130775323734407008361082672383122519524541890681242506871863614316345047207161277020517950565206644355151449438268469897591319411254695304729968845751466280344522906053216428031472439315789058400374613667776644857266809639125463962064467444982795053504571899236908488935860858511601592251634943755332439555521934806495757768870042263289880884560380999687618259339808719679845468637041095647890856508395175945935907572785118403566258523103824246407230981682156311804063723342762550105646607937598728212144167457622477380427391323063486070655871928034814918638184641941261441016569042983295346597885423006629594141522355437317034784536142146197992990695160230135550064908539356988672758421349558158983830357743333850105392966034219628461280327324494662288982247467074832707456996517237699042613782464377438793980949155192452006646271772158879172112436819436885009277779251057700816923058371385765550502394405776880792915254908958909738678928947756537552755699642838250750324488635536047474036326107579215550890027574274671448782937741336582025598860219711012874902690902442304027873206247056093244643282702207200155834871382247106809402606016582882181403248520693282882772663163345673734373030449749319582240715257577714786075132860264693093684206989456677395027473255344847599628162117278472175423840626949484422416179295232501421928860870851376995569412446253470747732083245185153630411488731901859257823065228262264340893270765119810513157776768112873733563424713260297596 115303465183589695619657373265769617804826498422976180139363011598663058771362994840172057162676819923172135016004420314157474172486898780063079183750650600723582752514083316767168364255844628718517824758549490588859522839733804733212482981432079659599220881092588620239434539830953980692662072220796104824724984468486407831325891148345756427069776022964000543815846662825427191957865674605775281013383110206981469914904690430348797073424832752364605998576201166934563028832014410952375875364051005149817050784928677429042855622708515532298325150401917585902960609341714487303242192304021335910426914329577130637890664798190036491081276934500994737791469191522297803854552884655019510677514822294643088408852330644839000124975099695117038364175655748957028942976033187328182540872605518728363915462845353230553708800040055064660636533937732574427729873209627644377357584779096918249487661631360861845274823005369428416414422680325973458284291340042521650707077407779400823368485231260748310958488355126994167302392204535809826295004911955971958882005521386106925750587794498364493335353633569008323214116487760655811759863798830239650902598659823907349117748432026976181682258077538779404288244791993432957156706344832053013449473195291786049770549416840805207344496704887271609814852131413270263855977586970881907656834745000371386036291595757861230275100950743104503265248001654760611049961924146700260080337102135049653533034818862324733832918774652658652513913443962443906342406856444295528482535143254853641082441868708237375612633965340145618795678634706521596119183041046102975590223688401980959169389417810316754285489070887755403714436181038530820108395160673180945900893159505213351233528841892886075001765496132717136786546278774137645875964209402928184863070726288371740974403458103207279425719863382103496292938248082255285446414278381582202042411922881754675056841134274529422128287244479582381456315564187878285101951113262399818319296519523015245470537523536197187190140872661442990159634390816111307596837566095359059668860211867824553889013947871302809765431487195941816913609245700395347728288411017141323234453270744618634626154954553656118878239040516504953706986304215203336511563789071762516381956746417783418085347285364326005665050492982043679885547707189001777296967884367587054185212688997291205478528244815438152153547013807037737407364409858048884865647843884565344595841881966248719801634502215865216272466840606202018769124238058868863041455350542709927372360835870968799303053665224560676224170923973733787467128235184330733227419736471351314216869468901092299665868825518188218872989208145362565127611971144155385670882829322818300829516776926073629943863449452151634954875203 186564925687688261880491208683186216881399106241500865152431101518360640050165827721398850280426213092313966404418704297490791865132399508025685570867310128394598849872151496652314104650808216607876142121395253120356105679267827176371789599530423054053643770125606430111844644781437555210404792591848898651998262737059762005583603509636401776533729309848218729415390957996441608939536965274108477956693487247677651835617673873482316949583323814725458643525442058269050079928073963237911658257612158434883214131146758965992957877544026451820748491501410737289917499645967497163442069033968145312334457616073296330377641954483296097215594170259145258241301036280275809023481147225864119121308223169570625485156814204163909660290884928769053738062500747146282426909387917121193114728426811081042605516294756359780685837485210076185022597810915055466800532989001713675104177091497563909840325748030504802358269058386023874916184955090731317229574817945593004375207251839022406079715578803868312823211761315272625367849359217503839324082758037789450117258821867196141584214008832730165750580737337733579488689387652894771555684253060364419897302011681644117297484703348420025404875336148006647031938085704550944221083695324597781407316759256916825094283823849166290016879827406796151705533373920142127470293932018089068933855262950936592680646747207299498744998542062515757960552731623606362516242268669606313296765133607488969322093219236938401609563631919468291639377406026911351325201909948867427719443632190714499594043460959872319367966404895667553602174392475391638382472921930663356589911306661320767889069263278953795381136961744263798890382116946103605226798726931704049725139566736195033389840645956609417764315601779325074385274490918305103498441589830319507926556796944243669009218376741391921366981304398672539276233594680140708453043872523104557479728957666290817203039127265224582358422794544490920813304236946299634660110097092757561653146624915981279690165984816524511684803161643690457234467098273107824834536608709141524046299005848773709081465954517574581924310659308378636350494254978174598785989227940199694620218821247013040403035747468911027837148779195433901463523856970902979349814539396251151918004220454109525664562836254353579939721941764981421222129732787861997007980759270277956627516716870497452534621489458720854360747169641909119654471219260654901448530025287813865289124764738911883147308236588895666021786422846917276346839024134001723306148444226916916829038230898442054647901264852722793502643099397574414416612657600510028459921158400212185068246464470504745919339573250271464058142838556851297029471228967220613933147170216089065949327290083850398056737183015576348215172799 301868390871277957500148581948955834686225604664477045291794113117023698821528822561570907443103033015486101420423124611648266037619298288088764754617960729118181602386234813419482468906652845326393966879944743709215628519001631909584272580962502713652864651218195050351279184612391535903066864812645003476723247205546169836909494657982158203603505332812219273231237620821868800897402639879883758970076597454659121750522364303831114023008156567090064642101643225203613108760088374190287533621663163584700264916075436395035813500252541984119073641903328323192878108987681984466684261337989481222761371945650426968268306752673332588296871104760139996032770227802573612878034031880883629798823045464213713894009144849002909785265984623886092102238156496103311369885421104449375655601032329809406520979140109590334394637525265140845659131748647629894530406198629358052461761870594482159327987379391366647633092063755452291330607635416704775513866157988114655082284659618423229448200810064616623781700116442266792670241563753313665619087669993761408999264343253303067334801803331094659085934370906741902702805875413550583315548051890604070799900671505551466415233135375396207087133413686786051320182877697983901377790040156650794856789954548702874864833240689971497361376532294067761520385505333412391326271518988970976590690007951307978716938342965160729020099492805620261225800733278366973566204192816306573377102235742538622855128038099263135442482406572126944153290849989355257667608766393162956201978775445568140676485329668109694980600370235813172397853027181913234501655962976766332180134995063301727058458681089270549666626032632019202604818297984634425335193887604884995626032726241408384623369487849495492766081097912042211171820769692442749374405799233247692789627523232615409983621834844599200792701167780776035569171842762395993899458150904686759522140880548045492259880261539754004486710039024073302269619801134177919762061210355157379972443144438996525160703508352721698874944034305133447394101489089219132431374174804500583715159217716598262970479902388877391689742146504320453264103500678569946514277638957341017854672091991631675029190702022567146715387819711938855170510161186106315861378328468013668299960966871892943749910121618679585604772434747025101107677439976863774304948643637865010812729405867788658013149734274159006514294183448946857061835629118703786314177869172379209884966646705160602948942738804760882294253263453119295115963262192870586347603794769626844201399066769410853950954930077283469726814023371308201883740892784840761687340894871563499285115933371597045585208398768459682931132046702213862157083200111375999604029999538907366778844067009924028000600632467727983170048002 488433316558966219380639790632142051567624710905977910444225214635384338871694650282969757723529246107800067824841828909139057902751697796114450325485270857512780452258386310071796573557461061934270109001339996829571734198269459085956062180492925767706508421343801480463123829393829091113471657404493902128721509942605931842493098167618559980137234642660438002646628578818310409836939605153992236926770084702336773586140038177313430972591480381815523285627085283472663188688162337428199191879275322019583479047222195361028771377796568435939822133404739060482795608633649481630126330371957626535095829561723723298645948707156628685512465275019285254274071264082849421901515179106747748920131268633784339379165959053166819445556869552655145840300657243249593796794809021570568770329459140890449126495434865950115080475010475217030681729559562685361330939187631071727565938962092046069168313127421871449991361122141476166246792590507436092743440975933707659457491911457445635527916388868484936604911877757539418038090922970817504943170428031550859116523165120499208919015812163824824836515108244475482191495263066445354871232304950968490697202683187195583712717838723816232492008749834792698352120963402534845598873735481248576264106713805619699959117064539137787378256359700863913225918879253554518796565451007060045524545270902244571397585090172460227765098034868136019186353464901973336082446461485912886673867369350027592177221257336201537052046038491595235792668256016266608992810676342030383921422407636282640270528790627982014348566775131480726000027419657304872884128884907429688770046301724622494947527944368224345047762994376283001495200414930738030561992614536589045351172292977603418013210133806104910530396699691367285557095260610747852872847389063567200716184320176859078992840211585991122159682472179448574845405437442536702352502023427791317001869838214336309462919388804978586845132833568564223082924038080477554422171307447914941625589769354977804850869493169246210559747195948823904628568587362326957265910783513642107761458223565371972051945856906451973614052805812699089614597755656744545300266866897540712474890913238644715432226449491478174552536598907372756634034018157009295211192867864264820217965187326002469414472957873033165544494376512006522329807172764725771312929402908142967440246122738286110547771223732879860875041353090855976716306848379358687762707894460193075174091411444072486096250975393656548316039686300036571462802286326872309653752238996543761030437297667852908598856194930006263229457122768882616300353550385350790147262053271775684353362397842101791504547972018731146989274885259065159186554429078596613537177169754996432728171357093774426057337815483304331385220801 790301707430244176880788372581097886253850315570454955736019327752408037693223472844540665166632279123286169245264953520787323940370996084203215080103231586630962054644621123491279042464113907260664075881284740538787362717271090995540334761455428481359373072561996530814403014006220627016538522217138905605444757148152101679402592825600718183740739975472657275877866199640179210734342245033875995896846682156995895336662402481144544995599636948905587927728728508676276297448250711618486725500938485604283743963297631756064584878049110420058895775308067383675673717621331466096810591709947107757857201507374150266914255459829961273809336379779425250306841491885423034779549210987631378718954314097998053273175103902169729230822854176541237942538813739352905166680230126019944425930491470699855647474574975540449475112535740357876340861308210315255861345386260429780027700832686528228496300506813238097624453185896928457577400225924140868257307133921822314539776571075868864976117198933101560386611994199806210708332486724131170562258098025312268115787508373802276253817615494919483922449479151217384894301138479995938186780356841572561497103354692747050127950974099212439579142163521578749672303841100518746976663775637899371120896668354322574823950305229109284739632891994931674746304384586966910122836969996031022115235278853552550114523433137620956785197527673756280412154198180340309648650654302219460050969605092566215032349295435464672494528445063722179945959106005621866660419442735193340123401183081850780947014120296091709329167145367293898397880446839218107385784847884196020950181296787924222005986625457494894714389027008302204100018712915372455897186502141474040977205019219011802636579621655600403296477797603409496728916030303190602247253188296814893505811843409474488976462046430590322952383639960224610414577280204932696251960174332478076524010718762381801722799650344732591331842872592637525352543839214655474184232517803072321598032913793974330011573001521967909434691230253957352022670076451546089697284958318142691476617441281970235022425759295329365303794952317019542878701256335314491814544505854881730329563005230276390461417151514045321267924418619311611804544179343115611072571196332278488517926154197895413164383079491712751149266811259031623437484612741589545617878046546007978252975528606074768560920958007038867389335536539802833778142477498062474076885763632572285059058058149233089045193714198417430610292949753155866578765548519742896001356033766170605231836364437263762549811125007289732956271146140190818184094443170191551834602948143339183638478331213698837089756370787190829920406931961279021343637629189972613141207169293903799507015424103698454057938447951032314555268803 1278735023989210396261428163213239937821475026476432866180244542387792376564918123127510422890161525231086237070106782429926381843122693880317665405588502444143742506903007433563075616021574969194934184882624737368359096915540550081496396941948354249065881493905798011277526843400049718130010179621632807734166267090758033521895690993219278163877974618133095278524494778458489620571281850187868232823616766859332668922802440658457975968191117330721111213355813792148939486136413049046685917380213807623867223010519827117093356255845678855998717908712806444158469326254980947726936922081904734292953031069097873565560204166986589959321801654798710504580912755968272456681064390094379127639085582731782392652341062955336548676379723729196383782839470982602498963475039147590513196259950611590304773970009841490564555587546215574907022590867773000617192284573891501507593639794778574297664613634235109547615814308038404623824192816431576961000748109855529973997268482533314500504033587801586496991523871957345628746423409694948675505428526056863127232310673494301485172833427658744308758964587395692867085796401546441293058012661792541052194306037879942633840668812823028672071150913356371448024424804503053592575537511119147947385003382159942274783067369768247072117889251695795587972223263840521428919402421003091067639780549755797121512108523310081184550295562541892299598507663082313645731097115788132346724836974442593807209570552771666209546574483555317415738627362021888475653230119077223724044823590718133421217542910924073723677733920498774624397907866496522980269913732791625709720227598512546716953514569825719239762152021384585205595219127846110486459179116678063086328377312196615220649789755461705313826874497294776782286011290913938455120100577360382094221996163586333567969302258016581445112066112139673185259982717647469398604462197760269393525880556976718111185719039149711178176975706161201748435467877295133028606403825250987263223622683148952134862442494691214119994438426202781256651238663813873046963195741831784799238075664847342207074371616201781338917847758129718632493299011992059037114811372752422442804453918468921105893643601005523495820461017526684368438578197500124906283764064196543308735891341523897882578856037364745916693761187771038145767291785506315316930807449454150945693221651344360879108692181739918728264376889630658810494449325877421161839593658092765360233149469593305575141444689592073978926332636053192438041567834846615205655108272762714366262273662105116671148667319937295996185728268909073434484447993555542341981865001415114867991840729055800628594304342805921976909681817220344180530192058268569226678384339048900232235186781197472880115276263434336645940489604 2069036731419454573142216535794337824075325342046887821916263870140200414258141595972051088056793804354372406315371735950713705783493689964520880485691734030774704561547628557054354658485688876455598260763909477907146459632811641077036731703403782730425254566467794542091929857406270345146548701838771713339611024238910135201298283818819996347618714593605752554402360978098668831305624095221744228720463449016328564259464843139602520963790754279626699141084542300825215783584663760665172642881152293228150966973817458873157941133894789276057613684020873827834143043876312413823747513791851842050810232576472023832474459626816551233131138034578135754887754247853695491460613601082010506358039896829780445925516166857506277907202577905737621725378284721955404130155269273610457622190442082290160421444584817031014030700081955932783363452175983315873053629960151931287621340627465102526160914141048347645240267493935333081401593042355717829258055243777352288537045053609183365480150786734688057378135866157151839454755896419079846067686624082175395348098181868103761426651043153663792681414066546910251980097540026437231244793018634113613691409392572689683968619786922241111650293076877950197696728645603572339552201286757047318505900050514264849607017674997356356857522143690727262718527648427488339042239390999122089755015828609349671626631956447702141335493090215648580010661861262653955379747770090351806775806579535160022241919848207130882041102928619039595684586468027510342313649561812417064168224773799984202164557031220165433006901065866068522795788313335741087655698580675821730670408895300470938959501195283214134476541048392887409695237840761482942356365618819537127305582331415627023286369377117305717123352294898186279014927321217129057367353765657196987727808006995808056945764304447171768064449752099897795674559997852402094856422372092747470049891275739099912908518689494443769508818578753839273788011716509788502790636343054059584821655596942926464874015496213182029429129656456738608673908740265419136660480700149927490714693106129312442096797375497110704221642710446738175372000268327373528929355878607304173134016923699197496355060752519568817088385436145995980243122376843240517356335260528821797253817495721793295743239116856458667843027999030069769204776398247904862548685496000158923946197179950435647669613139746957595653712426170461644272591803375483635916479421725337645292207527742538664186638403790491409536625585806348304620333383366358101656464306528884971494110026542380433698478444944585729141999415049264252668542436725733893816467949558454051630319060269499465684060713593112806830088749181623201873829687458541839819591508342804031742202205301171334173214711385368960495758407 3347771755408664969403644699007577761896800368523320688096508412527992790823059719099561510946955329585458643385478518380640087626616383844838545891280236474918447068450635990617430274507263845650532445646534215275505556548352191158533128645352136979491136060373592553369456700806320063276558881460404521073777291329668168723193974812039274511496689211738847832926855756557158451876905945409612461544080215875661233182267283798060496931981871610347810354440356092974155269721076809711858560261366100852018189984337285990251297389740468132056331592733680271992612370131293361550684435873756576343763263645569897398034663793803141192452939689376846259468667003821967948141677991176389633997125479561562838577857229812842826583582301634934005508217755704557903093630308421200970818450392693880465195414594658521578586287628171507690386043043756316490245914534043432795214980422243676823825527775283457192856081801973737705225785858787294790258803353632882262534313536142497865984184374536274554369659738114497468201179306114028521573115150139038522580408855362405246599484470812408101440378653942603119065893941572878524302805680426654665885715430452632317809288599745269783721443990234321645721153450106625932127738797876195265890903432674207124390085044765603428975411395386522850690750912268009767961641812002213157394796378365146793138740479757783325885788652757540879609169524344967601110844885878484153500643553977753829451490400978797091587677412174357011423213830049398817966879680889640788213048364518117623382099942144239156684634986364843147193696179832264067925612313467447440390636493813017655913015765108933374238693069777472615290456968607593428815544735497600213633959643612242243936159132579011030950226792192963061300938612131067512487454343017579081949804170582141624915066562463753213176515864239570980934542715499871493460884569853016863575771832715818024094237728644154947685794284915041022223479593804921531397040168305046848045278280091878599736457990904396149423568082659519865325147404079292183623676441981712289952768770976654649171168991698892043139490468576456807865299280319432566044167251359726615938470842168118602248704353525092312908846453672680348681700574343365423640099324725365105989708837245691178322095154221204584536789186801107914972068183754220179479492945454309869639418831294796526778305321486876323918089315801120454767041129252904797756073079818103005525356997335844239328083093382565388462958221859540742661901218212973307311572579291599337756383688647497104847145764881881725327727683958337687152990430281276235798332950973568919622159789325300094278365056399034783739770566401967382404021745727111066497975847391704263977388986498644214288490974819705606436248011 5416808486828119542545861234801915585972125710570208510012772282668193205081201315071612599003749133939831049700850254331353793410110073809359426376971970505693151629998264547671784932992952722106130706410443693182652016181163832235569860348755919709916390626841387095461386558212590408423107583299176234413388315568578303924492258630859270859115403805344600387329216734655827283182530040631356690264543664891989797441732126937663017895772625889974509495524898393799371053305740570377031203142518394080169156958154744863409238523635257408113945276754554099826755414007605775374431949665608418394573496222041921230509123420619692425584077723954982014356421251675663439602291592258400140355165376391343284503373396670349104490784879540671627233596040426513307223785577694811428440640834776170625616859179475552592616987710127440473749495219739632363299544494195364082836321049708779349986441916331804838096349295909070786627378901143012619516858597410234551071358589751681231464335161270962611747795604271649307655935202533108367640801774221213917928507037230509008026135513966071894121792720489513371045991481599315755547598699060768279577124823025322001777908386667510895371737067112271843417882095710198271679940084633242584396803483188471973997102719762959785832933539077250113409278560695498107003881203001335247149812206974496464765372436205485467221281742973189459619831385607621556490592655968835960276450133512913851693410249185927973628780340793396607107800298076909160280529242702057852381273138318101825546656973364404589691536052230911669989484493168005155581310894143269171061045389113488594872516960392147508715234118170360024985694809369076371171910354317137340939541975027869267222528509696316748073579087091149340315865933348196569854808108674776069677612177577949681860830866910924981240965616339468776609102713352273588317306941945764333625663108454917937002756418138598717194612863668880296011491310314710034187676511359106432866933877034805064610473487117578178852697739116258473999056144344711320284157142131639780667461877105967091267966367196002747361133179023194983237299548646806094973523129967030789072487765867316098603765106044661129997231889818676328924822951186605940996434585254186903243526332967484474065334271077663252379817185831177684176844582002125042028178441454468793585616011245232174447918461233833919571801741971582099039632932628388433672552501543440650817564525078382903514721497173056797999583807665889047282234601579331408968036885820484309250493715189877538545624209826467454469727099007601939821532867007010129614800900532022971252478849594799559962425769992147590569859315583590584277851433185652906317567355734508295719591191799815548461705686205074566932006418 8764580242236784511949505933809493347868926079093529198109280695196185995904261034171174109950704463525289693086328772711993881036726457654197972268252206980611598698448900538289215207500216567756663152056977908458157572729516023394102988994108056689407526687214979648830843259018910471699666464759580755487165606898246472647686233442898545370612093017083448220256072491212985735059435986040969151808623880767651030623999410735723514827754497500322319849965254486773526323026817380088889763403884494932187346942492030853660535913375725540170276869488234371819367784138899136925116385539364994738336759867611818628543787214422833618037017413331828273825088255497631387743969583434789774352290855952906123081230626483191931074367181175605632741813796131071210317415886116012399259091227470051090812273774134074171203275338298948164135538263495948853545459028238796878051301471952456173811969691615262030952431097882808491853164759930307409775661951043116813605672125894179097448519535807237166117455342386146775857114508647136889213916924360252440508915892592914254625619984778479995562171374432116490111885423172194279850404379487422945462840253477954319587196986412780679093181057346593489139035545816824203807678882509437850287706915862679098387187764528563214808344934463772964100029472963507874965523015003548404544608585339643257904112915963268793107070395730730339229000909952589157601437541847320113777093687490667681144900650164725065216457752967753618531014128126307978247408923591698640594321502836219448928756915508643746376171038595754817183180673000269223506923207610716611451681882926506250785532725501080882953927187947832640276151777976669799987455089814737554573501618640111511158687642275327779023805879284112401616804545479264082342262451692355151627416348160091306775897429374678194417481480579039757543645428852145081778191511798781197201434941170735961096994146782753664880407148583921318234970904119631565584716679664153280912212157126683664346931478021974328276265821775778339324203548424003503907833584113352070620230648082621740439135358894894790500623647599651791102598828966238661017690381326757405010958608035434700852469459569753442906078343491356677606523525529971364636533909979552009233235170213175652387429425298867836916606372632285599148912765756345221507671386908778663225034842540028701226223782720710243489891057772702553806674061881293231428625581361543656342921522414227142842804590555622186462542029525429789944135819792304716279609465112083647006877403837374643392769974708349179797454782965939626974523297288286365413133851505591890874638638920099654240790826391182374309629881985557966681873178912763972815543203126212559696980178298459762750196661024780173368254429 14181388729064904054495367168611408933841051789663737708122052977864379200985462349242786708954453597465120742787179027043347674446836531463557398645224177486304750328447165085961000140493169289862793858467421601640809588910679855629672849342863976399323917314056366744292229817231500880122774048058756989900553922466824776572178492073757816229727496822428048607585289225868813018241966026672325842073167545659640828065731537673386532723527123390296829345490152880572897376332557950465920966546402889012356503900646775717069774437010982948284222146242788471646123198146504912299548335204973413132910256089653739859052910635042526043621095137286810288181509507173294827346261175693189914707456232344249407584604023153541035565152060716277259975409836557584517541201463810823827699732062246221716429132953609626763820263048426388637885033483235581216845003522434160960887622521661235523798411607947066869048780393791879278480543661073320029292520548453351364677030715645860328912854697078199777865250946657796083513049711180245256854718698581466358437422929823423262651755498744551889683964094921629861157876904771510035398003078548191225039965076503276321365105373080291574464918124458865332556917641527022475487618967142680434684510399051151072384290484291523000641278473541023077509308033659005981969404218004883651694420792314139722669485352168754260328352138703919798848832295560210714092030197816156074053543821003581532838310899350653038845238093761150225638814426203217138527938166293756492975594641154321274475413888873048336067707090826666487172665166168274379088234101753985782512727272039994845658049685893228391669161306118192665261846587345746171159365444131874895513043593667980778381216151971644527097384966375261741932670478827460652197070560367131221305028525738040988636728296285603175658447096918508534152748142204418670095498453744545530827098049625653898099750564921352382075020012252801614246462214434341599772393191023259713779146034161488728957404965139552507128963560892036813323259692768714824191990726244991851287692525188588831707101726090897537861756826622846774339898377613044755991213511293788194083446373902750799456234565614414572903310233310033006531346476716577305632968495233738912476761503180660126452763696376531089296423558463463283325757347758470263535849828363247456810650853785260875674142243954544163061692799744284652846306994509681665101178082904984307160486047492610046357526087728678984462125837191318837226370421371636125247646350932567956257371119027252181938394184534816634267181881973541566796056164295296495027934752037614862127117488514899214203216596383329964879489197569148550959724612098416879133110558860720855416571370098275311211902347229854740300260847 22945968971301688566444873102420902281709977868757266906231333673060565196889723383413960818905158060990410435873507799755341555483562989117755370913476384466916349026896065624250215347993385857619457010524399510098967161640195879023775838336972033088731444001271346393123073076250411351822440512818337745387719529365071249219864725516656361600339589839511496827841361717081798753301402012713294993881791426427291858689730948409110047551281620890619149195455407367346423699359375330554810729950287383944543850843138806570730310350386708488454499015731022843465490982285404049224664720744338407871247015957265558487596697849465359661658112550618638562006597762670926215090230759127979689059747088297155530665834649636732966639519241891882892717223632688655727858617349926836226958823289716272807241406727743700935023538386725336802020571746731530070390462550672957838938923993613691697610381299562328900001211491674687770333708421003627439068182499496468178282702841540039426361374232885436943982706289043942859370164219827382146068635622941718798946338822416337517277375483523031885246135469353746351269762327943704315248407458035614170502805329981230640952302359493072253558099181805458821695953187343846679295297849652118284972217314913830170771478248820086215449623408004796041609337506622513856934927233008432056239029377653782980573598268132023053435422534434650138077833205512799871693467739663476187830637508494249213983211549515378104061695846728903844169828554329525116775347089885455133569916143990540723404170804381692082443878129422421304355845839168543602595157309364702393964409154966501096443582411394309274623088494066025305537998365322415971146820533946612450086545212308092289539903794246972306121190845659374143549475024306724734539333012059486372932444873898132295412625725660281370075928577497548291696393571056563751873689965543326728028532990796389859196744711704106046955427160836722932481433118553973165357109870687412994691358191288172393304336443161526835405229382667815152647463241192718328099824310358343921907923173271210572146237084985792328362380474222498565442497206579283417008903892620545599094404981938185500308704025184168015809388576801389684137870002246548670269502405213290921709996673393835778840193121675398926213029931095748882474670113514815485043521215272026120035685696325289576900366026675254406551583857516987206652981056390974896529803664266527963503407569906837189200330678284301170924667866716748627170506241163940841527255816044651603264248522864626825331164159243165814064636664939481193770579461583582860441068603543206753001756127434998868444007422774512339189119079554706517641597791011180851948653761986933415113551548396735073962099008254634913668515276 37127357700366592620940240271032311215551029658421004614353386650924944397875185732656747527859611658455531178660686826798689229930399520581312769558700561953221099355343230710211215488486555147482250868991821111739776750550875734653448687679836009488055361315327713137415302893481912231945214560877094735288273451831896025792043217590414177830067086661939545435426650942950611771543368039385620835954958972086932686755462486082496580274808744280915978540945560247919321075691933281020731696496690272956900354743785582287800084787397691436738721161973811315111614180431908961524213055949311821004157272046919298346649608484507885705279207687905448850188107269844221042436491934821169603767203320641404938250438672790274002204671302608160152692633469246240245399818813737660054658555351962494523670539681353327698843801435151725439905605229967111287235466073107118799826546515274927221408792907509395769049991885466567048814252082076947468360703047949819542959733557185899755274228929963636721847957235701738942883213931007627402923354321523185157383761752239760779929130982267583774930099564275376212427639232715214350646410536583805395542770406484506962317407732573363828023017306264324154252870828870869154782916816794798719656727713964981243155768733111609216090901881545819119118645540281519838904331451013315707933450169967922703243083620300777313763774673138569936926665501073010585785497937479632261884181329497830746821522448866031142906933940490054069808642980532742255303285256179211626545510785144861997879584693254740418511585220249087791528511005336817981683391411118688176477136427006495942101632097287537666292249800184217970799844952668162142306185978078487345599588805976073067921119946218616833218575812034635885482145503134185386736403572426617594237473399636173284049354021945884545734375674416056825849141713260982421969188419287872258855631040422043757296495276625458429030447173089524546727895332988314765129503061710672708470504225449661122261741408301079342534192943559851965970722933961433152291815036603335773195615698459799403853338811076689866224137300845345339782395584192328173000117403914333793177851355840936299764938590798582588712698810111422690669216478963125975902470900447029834186758176574495905292956818051930015509453489559212165800427461273285748579371043635273576846336550110550452574508270629798569613276657261271859499288050900656561630981747171512270663893617399447235557856766012980155386793703908067464396876662535576966774902166977219559521619641891879007269558343777982448331818546913022760566635625878879355469003355580821615128873615949898082647224019157842304068608277123855068601322403109597731081764320847654270530122918495010385174001355484489653968776123 60073326671668281187385113373453213497261007527178271520584720323985509594764909116070708346764769719445941614534194626554030785413962509699068140472176946420137448382239296334461430836479941005101707879516220621838743912191071613677224526016808042576786805316599059530538375969732323583767655073695432480675992981196967275011907943107070539430406676501451042263268012660032410524844770052098915829836750398514224545445193434491606627826090365171535127736400967615265744775051308611575542426446977656901444205586924388858530395137784399925193220177704834158577105162717313010748877776693650228875404288004184856834246306333973245366937320238524087412194705032515147257526722693949149292826950408938560468916273322427006968844190544500043045409857101934895973258436163664496281617378641678767330911946409097028633867339821877062241926176976698641357625928623780076638765470508888618919019174207071724669051203377141254819147960503080574907428885547446287721242436398725939181635603162849073665830663524745681802253378150835009548991989944464903956330100574656098297206506465790615660176235033629122563697401560658918665894817994619419566045575736465737603269710092066436081581116488069782975948824016214715834078214666446917004628945028878811413927246981931695431540525289550615160727983046904033695839258684021747764172479547621705683816681888432800367199197207573220075004498706585810457478965677143108449714818837992079960804733998381409246968629787218957913978471534862267372078632346064666760115426929135402721283755497636432500955463349671509095884356844505361584278548720483390570441545581972997038545214508681846940915338294250243276337843317990578113453006512025099795686134018284165357461023740465589139339766657694010029031620527440910121275736584486103967169918273534305579461979747606165915810304251913605117545535284317546173842878384831198986884164031218433616493239988329564475985874333926247479209328451542287930486612932398085703161862416737833515566077851462606177939422326227667118618186175154151480391639346961679695103538871731009975999575896062482194586517775067843905224892790771611590009021296534879392272256337779121800073642615982750604522087386912812374807086481209674646171973305660320755896754849968331684133149939727328941722483420654961048275097574788101233622892258907299696882022246435840029474874297305052976164860514778259066152269107291631458160785411438040234167301187306284424758187444297281326311461570624816091567382903699517808302157983021871162785868164756505832600722503021148262396455211852503954337215087462462215910071959124028368130629743384896951091231441932354643257727356678561586242920194120778583030418082834587685643674466891745459136100363739124567637291399 97200684372034873808325353644485524712812037185599276134938106974910453992640094848727455874624381377901472793194881453352720015344362030280380910030877508373358547737582527044672646324966496152583958748508041733578520662741947348330673213696644052064842166631926772667953678863214235815712869634572527215964266433028863300803951160697484717260473763163390587698694663602983022296388138091484536665791709370601157232200655920574103208100899109452451106277346527863185065850743241892596274122943667929858344560330709971146330479925182091361931941339678645473688719343149221972273090832642962049879561560051104155180895914818481131072216527926429536262382812302359368299963214628770318896594153729579965407166711995217280971048861847108203198102490571181136218658254977402156336275933993641261854582486090450356332711141257028787681831782206665752644861394696887195438592017024163546140427967114581120438101195262607821867962212585157522375789588595396107264202169955911838936909832092812710387678620760447420745136592081842636951915344265988089113713862326895859077135637448058199435106334597904498776125040793374133016541228531203224961588346142950244565587117824639799909604133794334107130201694845085584988861131483241715724285672742843792657083015715043304647631427171096434279846628587185553534743590135035063472105929717589628387059765508733577680962971880711790011931164207658821043264463614622740711599000167489910707626256447247440389875563727709011983787114515395009627381917602243878386660937714280264719163340190891172919467048569920596887412867849842179565961940131602078746918682008979492980646846605969384607207588094434461247137688270658740255759192490103587141285722824260238425382143686684205972558342469728645914513766030575095508012140156912721561407391673170478863511333769552050461544679926329661943394676997578528595812066804119071245739795071640477373789735264955022905016321507015772025937223784530602695616115994108758411632366642187494637827819259763685520473615269787519084588909109115584632683454383565015468299154570190809379852914707139172060810655075913189245007288374963939763009138700449213185450107693620058099838581206781333193234786197024235065476302960172800622074444206107350590083513026542827589426106757779258957231936910214173214075525036061386982202263302542573273728358796546390482049382567934851545778137172039530925651557158192288019791767158609552504831194804705731660316044210310261481698255274532883555964259566235094775077060149999090722307487806648384839870280846799130710728273758765526714903850713341341571379075314704849983259503359334795033738455461090196947326335633802416654844242597230376314112182403682241956173797385386755844310101719223614221606067522 157274011043703154995710467017938738210073044712777547655522827298895963587405003964798164221389151097347414407729076079906750800758324539979449050503054454793495996119821823379134077161446437157685666628024262355417264574933018962007897739713452094641628971948525832198492054832946559399480524708267959696640259414225830575815859103804555256690880439664841629961962676263015432821232908143583452495628459769115381777645849355065709835926989474623986234013747495478450810625794550504171816549390645586759788765917634360004860875062966491287125161517383479632265824505866534983021968609336612278754965848055289012015142221152454376439153848164953623674577517334874515557489937322719468189421104138518525876082985317644287939893052391608246243512347673116032191916691141066652617893312635320029185494432499547384966578481078905849923757959183364394002487323320667272077357487533052165059447141321652845107152398639749076687110173088238097283218474142842394985444606354637778118545435255661784053509284285193102547389970232677646500907334210452993070043962901551957374342143913848815095282569631533621339822442354033051682436046525822644527633921879415982168856827916706235991185250282403890106150518861300300822939346149688632728914617771722604071010262696975000079171952460647049440574611634089587230582848819056811236278409265211334070876447397166378048162169088285010086935662914244631500743429291765849161313819005481990668430990445628849636844193514927969897765586050257276999460549948308545146776364643415667440447095688527605420422511919592105983297224694347541150240488852085469317360227590952490019192061114651231548122926388684704523475531588649318369212199002128686936971856842544403782843167427149795111898109127422655943545386558016005629287876741398825528577309946704784442973313517158216377354984178243267060940212281896074769654945188950270232623959102858910990282975253284587381002195840942019505146552236072890626102728926506844114794229058925328153393897111226291698413037596015186203207095284269736113075093730526695163402693441921819355852490603201654255397172850981033150232181165735551353018159996984092577722364031399179899912223822764083797756873583937047440283389441382475268246417511767671345980267876511159273559256697506587898954420330869134262350622610849488215825155561449872970610381042982230511524256865239904521942997686817789991803826265483919477952552570047592738998495992012016085074231654607542808009716845157699647531642469934612583379218133020961885093355971404890672471003349820278973124728970618030669241065800803803787289147273828878351390133102719691984829686903022551590584062990480978241087162791351154897142600486516829641817471852278501303446202082962738789243358921 254474695415738028804035820662424262922885081898376823790460934273806417580045098813525620096013532475248887200923957533259470816102686570259829960533931963166854543857404350423806723486412933310269625376532304088995785237674966310338570953410096146706471138580452604866445733696160795215193394342840486912604525847254693876619810264502039973951354202828232217660657339865998455117621046235067989161420169139716539009846505275639813044027888584076437340291094023341635876476537792396768090672334313516618133326248344331151191354988148582649057102857062125105954543849015756955295059441979574328634527408106393167196038135970935507511370376091383159936960329637233883857453151951489787086015257868098491283249697312861568910941914238716449441614838244297168410574946118468808954169246628961291040076918589997741299289622335934637605589741390030146647348718017554467515949504557215711199875108436233965545253593902356898555072385673395619659008062738238502249646776310549617055455267348474494441187905045640523292526562314520283452822678476441082183757825228447816451477781361907014530388904229438120115947483147407184698977275057025869489222268022366226734443945741346035900789384076737997236352213706385885811800477632930348453200290514566396728093278412018304726803379631743483720421240221275140765326438954091874708384338982800962457936212905899955729125140968996800098866827121903452544007892906388589872912819172971901376057246892876290026719757242636981881552700565652286626842467550552423533437302357695932159610435879418778339889560489512702870710092544189720716202428983687548064278909599931982999838907720620616155330514483119165770613219859308058624971391492232274078257579666804642208225311113834001084456451597151301858059152588591101137300016898311547089984701619875263306484647286710266838899664104572929004334889279474603365467011993069341478363754174499388364072710518239610286018517347957791531083776020603493321718844920615602526426595701112822791221716370989977218886652865802705287796004393385320745758548114091710631701848012112628735705405310340826316207827926894222395239469540699491116027298697433305763172471725019237999750805029545416990991659780961282505759692401555275890320861717875021936063780903053986862985363455285846856186357241083307476426147646910875198027418863992446244338739839528620993573639433174756067721134858857320917455383423676207497744319728657145243829690796717747745390275864917804289707972119690583203495902036169707358456278283020052607400843778053275512341284196619409683853002729383557384144916514145145358668222588533728334649636462054487018568142364112748537910398624283394895931405388581531211254782890199071597991269237665257147756303802186353010849426443 411748706459441183799746287680363001132958126611154371445983761572702381167450102778323784317402683572596301608653033613166221616861011110239279011036986417960350539977226173802940800647859370467955292004556566444413049812607985272346468693123548241348100110528978437064937788529107354614673919051108446609244785261480524452435669368306595230642234642493073847622620016129013887938853954378651441657048628908831920787492354630705522879954878058700423574304841518820086687102332342900939907221724959103377922092165978691156052230051115073936182264374445604738220368354882291938317028051316186607389493256161682179211180357123389883950524224256336783611537846972108399414943089274209255275436362006617017159332682630505856850834966630324695685127185917413200602491637259535461572062559264281320225571351089545126265868103414840487529347700573394540649836041338221739593306992090267876259322249757886810652405992542105975242182558761633716942226536881080897235091382665187395174000702604136278494697189330833625839916532547197929953730012686894075253801788129999773825819925275755829625671473860971741455769925501440236381413321582848514016856189901782208903300773658052271891974634359141887342502732567686186634739823782618981182114908286289000799103541108993304805975332092390533160995851855364727995909287773148685944662748248012296528812660303066333777287310057281810185802490036148084044751322198154439034226638178453892044488237338505139663563950757564951779318286615909563626303017498860968680213667001111599600057531567946383760312072409104808854007317238537261866442917835773017381639137190884473019030968835271847703453440871803870294088751447957376994183590494360961015229436509349045991068478540983796196354560724573957801604539146607106766587893639710372618562011566580047749457960803868483216254648282816196065275101561370678135121957182019611710987713277358299354355685771524197667020713188899811036230328256676383947821573847122446641220824760038150944615613482216268917299690461817891491003099677655056858833641844618405795104541454034448091557895913542480571605000777875255545471650706435042469045458694417398340894835756418417899663028852309500788748533364898329946043081842937751158567279229642693282044048779565146136544620152792434755140777571952441738776770257760363413852574425442319214949120882510851505097896298414660589664132545675110909259209689160126975696872298704737982828186788729763830464507519525347097717688964848282851027544506104319941835496416041014492494199749458166184812287546439688656977731700001588053385982314948949145957369862362606686039769564774179003397829267135300128494461614764373137018568179932686108397383376715901239808741089943758451202505885149091800092785364 666223401875179212603782108342787264055843208509531195236444695846508798747495201591849404413416216047845188809576991146425692432963697680499108971570918381127205083834630524226747524134272303778224917381088870533408835050282951582685039646533644388054571249109431041931383522225268149829867313393948933521849311108735218329055479632808635204593588845321306065283277355995012343056475000613719430818468798048548459797338859906345335923982766642776860914595935542161722563578870135297707997894059272619996055418414323022307243585039263656585239367231507729844174912203898048893612087493295760936024020664268075346407218493094325391461894600347719943548498176609342283272396241225699042361451619874715508442582379943367425761776880869041145126742024161710369013066583378004270526231805893242611265648269679542867565157725750775125134937441963424687297184759355776207109256496647483587459197358194120776197659586444462873797254944435029336601234599619319399484738158975737012229455969952610772935885094376474149132443094861718213406552691163335157437559613358447590277297706637662844156060378090409861571717408648847421080390596639874383506078457924148435637744719399398307792764018435879884578854946274072072446540301415549329635315198800855397527196819521011609532778711724134016881417092076639868761235726727240560653047087230813258986748873208966289506412451026278610284669317158051536588759215104543028907139457351425793420545484231381429690283708000201933660870987181561850253145485049413392213650969358807531759667967447365162100201632898617511724717409782726982582645346819460565445918046790816456018869876555892463858783955354923036064701971307265435619154981986593235093487016176153688199293789654817797280811012321725259659663691735198207903887910538021919708546713186455311055942608090578750055154312387389125069609990840845281500588969175088953189351467451857687718428396289763807953039230536857602567314104277279877269540418767738049167647420461150973735837329853206246136186343327620596778799104071040377604592189958710116426806389466147076827263301223883306887812828704769477940711120247134533585072757391850704104067307481437655899413833881854917779740193145859612451802774244493027048888140947517715218107829682619132999529983608078281611327134813035749215202917904671238611879993289434765459287860722039472498671535731589416657385267404532431826714593112836334473441192027361883226657877585447511575854783384443151387425661084538866054523446542274027300291774699061067099895043527511441697153571743059098340830734429385145437530898829094094504625592450896335020689406026828666021965971631248048666404860239047768032949973568514217319652166266914972837800010327609015598958809687335444810942211807 1077972108334620396403528396023150265188801335120685566682428457419211179914945304370173188730818899620441490418230024759591914049824708790738387982607904799087555623811856698029688324782131674246180209385645436977821884862890936855031508339657192629402671359638409478996321310754375504444541232445057380131094096370215742781491149001115230435235823487814379912905897372124026230995328954992370872475517426957380380584831214537050858803937644701477284488900777060981809250681202478198647905115784231723373977510580301713463295815090378730521421631605953334582395280558780340831929115544611947543413513920429757525618398850217715275412418824604056727160036023581450682687339330499908297636887981881332525601915062573873282612611847499365840811869210079123569615558220637539732098294365157523931491219620769087993831025829165615612664285142536819227947020800693997946702563488737751463718519607952007586850065578986568849039437503196663053543461136500400296719829541640924407403456672556747051430582283707307774972359627408916143360282703850229232691361401488447364103117631913418673781731851951381603027487334150287657461803918222722897522934647825930644541045493057450579684738652795021771921357678841758259081280125198168310817430107087144398326300360630004914338754043816524550042412943932004596757145014500389246597709835478825555515561533512032623283699761083560420470471807194199620633510537302697467941366095529879685465033721569886569353847658757766885440189273797471413879448502548274360893864636359919131359725499015311545860513705307722320578724727021264244449088264655233582827557183981700929037900845391164311562237396226726906358790722755222812613338572480954196108716452685502734190362268195801593477165573046299217461268230881805314670475804177732292327108724753035358805400568894447233271408960670205321134885092402215959635710926357108564900339180729215987072784082061288005620059943725757413603544432533956261217361992614860495808868245221189124680452943335422515053486033789438488269802203748695434463425831803328522221910930920181524918821197137425787459417829482644733486182770953569576054118216086268102444962143237856073799076862734164418568488726510757942397845856087430778207455420177160408500151878462184279136074603760870716366467912384988190953979688162431602025732567714877084674236981604550324003769432030004077247049399950207542735973802801996461449138064326066621209486064374177275406319290903968498485143350049387148905550991048378347242127271115102081592389243276969607881965859289498786997808466129386733490916881144043043650582962313258941706729175591602845025363800898383348794899321853812141169968541748446903428049549643630874077608751417552774050161315572484536611034997171 1744195510209799609007310504365937529244644543630216761918873153265719978662440505962022593144235115668286679227807015906017606482788406471237496954178823180214760707646487222256435848916403978024405126766734307511230719913173888437716547986190837017457242608747840520927704832979643654274408545839006313652943407478950961110546628633923865639829412333135685978189174728119038574051803955606090303293986225005928840382170074443396194727920411344254145403496712603143531814260072613496355903009843504343370032928994624735770539400129642387106660998837461064426570192762678389725541203037907708479437534584697832872025617343312040666874313424951776670708534200190792965959735571725607339998339601756048034044497442517240708374388728368406985938611234240833938628624804015544002624526171050766542756867890448630861396183554916390737799222584500243915244205560049774153811819985385235051177716966146128363047725165431031722836692447631692390144695736119719696204567700616661419632912642509357824366467378083781924104802722270634356766835395013564390128921014846894954380415338551081517937792230041791464599204742799135078542194514862597281029013105750079080178790212456848887477502671230901656500212625115830331527820426613717640452745305887999795853497180151016523871532755540658566923830036008644465518380741227629807250756922709638814502310406720998912790112212109839030755141124352251157222269752407240496848505552881305478885579205801267999044131366757968819101060260979033264132593987597687753107515605718726663119393466462676707960715338206339832303442136803991227031733611474694148273475230772517385056770721947056775421021351581649942423492694062488248232493554467547431202203468861656422389656057850619390757976585368024477120931922617003522574363714715754212035655437939490669861343176985025983326563273057594446204495083243061241136299895532197518089690648181073674791212478351051813573099174262615016170858536811236138486902411382598544976515665682340098416290273188628761189672377117059085048601307819735812068018021762038638648717320386328601746084498361309094347230658187414211426893891200704109639190973478118806549029450719293729698490696616019336348228919656617554849648630331923805256343561124678123718259708144803412135604587368948997977795047198023940169182606067102840637612561004311850133524842326589796502440967761593493904434667354739974562688395914832795922579256353428504436143941959624786982174074288411649872569011133926014960074437590652374542419045814163148692284286804481049579119431032557885338639200558771878928447779973137138155208554764155276727418581618431511047329772529631397461304182092859909202918515316961120747701715910545846915408761745161789649120125259819981421977208978 2822167618544420005410838900389087794433445878750902328601301610684931158577385810332195781875054015288728169646037040665609520532613115261975884936786727979302316331458343920286124173698535652270585336152379744489052604776064825292748056325848029646859913968386249999924026143734019158718949778284063693784037503849166703892037777635039096075065235820950065891095072100243064805047132910598461175769503651963309220967001288980447053531858056045731429892397489664125341064941275091695003808125627736066744010439574926449233835215220021117628082630443414399008965473321458730557470318582519656022851048505127590397644016193529755942286732249555833397868570223772243648647074902225515637635227583637380559646412505091113990987000575867772826750480444319957508244183024653083734722820536208290474248087511217718855227209384082006350463507727037063143191226360743772100514383474122986514896236574098135949897790744417600571876129950828355443688156872620119992924397242257585827036369315066104875797049661791089699077162349679550500127118098863793622820282416335342318483532970464500191719524081993173067626692076949422736003998433085320178551947753576009724719835705514299467162241324025923428421570303957588590609100551811885951270175412975144194179797540781021438210286799357183116966242979940649062275525755728019053848466758188464370017871940233031536073811973193399451225612931546450777855780289709937964789871648411185164350612927371154568397979025515735704541249534776504678012042490145962114001380242078645794479118965477988253821229043514062152882166863825255471480821876129927731101032414754218314094671567338221086983258747808376848782283416817711060845832126948501627310919921547159156580018326046420984235142158414323694582200153498808837244839518893486504362764162692526028666743745879473216597972233727799767339380175645277200772010821889306082990029828910289661863996560412339819193159117988372429774402969345192399704264403997459040785383910903529223096743216524051276243158410906497573318403511568431246531443853565367160870628251306510126664905695498734881806648487670058944913076662154273685693309189564386908993991593957149803497567559350183754916717646167375497247494486419354583463798981301838532218411586606987691271679191129819714344262959583012131123162294229534442663345128719188934807761823931140120506210399791597571151484067304947517298662198716829257371717320679495125645630006333802062388493365192380148357712361183313163865625428639030721784546316929265230284673530081450657461085290322056672336447666688158612419364661117180181805791517077414218434147757210034356072693573428014746256203503946672050372887057065408024175751265554176720993017513162714563699281440832304518033012206149 4566363128754219614418149404755025323678090422381119090520174763950651137239826316294218375019289130957014848873844056571627127015401521733213381890965551159517077039104831142542560022614939630294990462919114052000283324689238713730464604312038866664317156577134090520851730976713662812993358324123070007436980911328117665002584406268962961714894648154085751869284246828362103379098936866204551479063489876969238061349171363423843248259778467389985575295894202267268872879201347705191359711135471240410114043368569551185004374615349663504734743629280875463435535666084137120283011521620427364502288583089825423269669633536841796609161045674507610068577104423963036614606810473951122977633567185393428593690909947608354699361389304236179812689091678560791446872807828668627737347346707259057017004955401666349716623392938998397088262730311537307058435431920793546254326203459508221566073953540244264312945515909848632294712822398460047833832852608739839689128964942874247246669281957575462700163517039874871623181965071950184856893953493877358012949203431182237272863948309015581709657316312034964532225896819748557814546192947947917459580960859326088804898625917971148354639743995256825084921782929073418922136920978425603591722920718863143990033294720932037962081819554897841683890073015949293527793906496955648861099223680898103184520182346954030448863924185303238481980754055898701935078050042117178461638377201292490643236192133172422567442110392273704523642309795755537942144636477743649867108895847797372457598512431940664961781944381720401985185609000629246698512555487604621879374507645526735699151442289285277862404280099390026791205776110880199309078325681416049058513123390408815578969674383897040374993118743782348171703132076115812359819203233609240716398419600632016698528086922864499199924535506785394213543875258888338441908310717421503601079720477091363336655209038763391632766258292250987445945261506156428538191166815380057585761899576585869321513033489712680037432830788023556658367004819388167058599461875327405799519345571692838728410990193860043976153879145857473156339970553354977795332500163042505715543021044676443533196058255966203091264946565823993052097143116751278388720142542426516655936671294751791103407283778498768712322058006781036071292344900296637283300957689723500784941286666257729917008651367553191065055918734659687491861350594631662053294296577032923630081773948293426849370667439480791798230281372317239178825699866229683096326965362743428378976957816885931707040204721354614557675086867246930491347812441090317319961000071841569495161566338828465867120023345957646143717507686039531959575805572382369144923452981464722567908426274907876353348401566092124499454989415127 7388530747298639619828988305144113118111536301132021419121476374635582295817212126626414156894343146245743018519881097237236647548014636995189266827752279138819393370563175062828684196313475282565575799071493796489335929465303539023212660637886896311177070545520340520775757120447681971712308102407133701221018415177284368894622183904002057789959883975035817760379318928605168184146069776803012654832993528932547282316172652404290301791636523435717005188291691931394213944142622796886363519261098976476858053808144477634238209830569684622362826259724289862444501139405595850840481840202947020525139631594953013667313649730371552551447777924063443466445674647735280263253885376176638615268794769030809153337322452699468690348389880103952639439572122880748955116990853321711472070167243467347491253042912884068571850602323080403438726238038574370201626658281537318354840586933631208080970190114342400262843306654266232866588952349288403277521009481359959682053362185131833073705651272641567575960566701665961322259127421629735357021071592741151635769485847517579591347481279480081901376840394028137599852588896697980550550191381033237638132908612902098529618461623485447821801985319282748513343353233031007512746021530237489542993096131838288184213092261713059400292106354255024800856315995889942590069432252683667914947690439086567554538054287187061984937736158496637933206366987445152712933830331827116426428248849703675807586805060543577135840089417789440228183559330532042620156678967889611981110276089876018252077631397418653215603173425234464138067775864454502169993377363734549610475540060280954013246113856623498949387538847198403639988059527697910369924157808364550685824043311955974735549692709943461359228260902196671866285332229614621197064042752502727220761183763324542727194830668743972416522507740513193980883255434533615642680321539310809684069750306001652998519205599175731451959417410239359875719664475501620937895431219377516626547283487489398544609776706236731313675989198930054231685408330956598305130905728892772960389973822999348855075895889358778857960527633527532101253047215509251481025809352606892624537012638633593336693625815316386846181664211991368549344637603170632972183941523728355188155082881358778794678962969628588426666320966364048202415507194526171725964302818442689719749048490188870037514861767344788636207402801964635009160012793348491310666013897712418755727403954627228911759160804673171946587993733500552342691325294868713818111511679672693609261631346967382364501290011676671230011534533935089103767177102207497501766791588918983713595714096038500223192716919385660889973711189986204009948692629447777169099204247018899288901443788070590917047683006924429017488001621276 11954893876052859234247137709899138441789626723513140509641651138586233433057038442920632531913632277202757867393725153808863774563416158728402648718717830298336470409668006205371244218928414912860566261990607848489619254154542252753677264949925762975494227122654431041627488097161344784705666426530203708657999326505402033897206590172965019504854532129121569629663565756967271563245006643007564133896483405901785343665344015828133550051414990825702580484185894198663086823343970502077723230396570216886972097176714028819242584445919348127097569889005165325880036805489732971123493361823374385027428214684778436936983283267213349160608823598571053535022779071698316877860695850127761592902361954424237747028232400307823389709779184340132452128663801441540401989798681990339209417513950726404508257998314550418288473995262078800526988968350111677260062090202330864609166790393139429647044143654586664575788822564114865161301774747748451111353862090099799371182327128006080320374933230217030276124083741540832945441092493579920213915025086618509648718689278699816864211429588495663611034156706063102132078485716446538365096384328981155097713869472228187334517087541456596176441729314539573598265136162104426434882942508663093134716016850701432174246386982645097362373925909152866484746389011839236117863338749639316776046914119984670739058236634141092433801660343799876415187121043343854648011880373944294888066626050996166450822997193715999703282199810063144751825869126287580562301315445633261848219171937673390709676143829359318177385117806954866123253384865083748868505932851339171489850047705807689712397556145908776811791818946588430431193835638578109679002483489780599744337166702364790314519367093840501734221379645979020037988464305730433556883245986111967937159603363956559425722917591608471616447043247298588194427130693421954084588632256732313285149470783093016335174414637939123084725675702490347321664925981658049476086598034757574212309183064075267866122810195949411351108819986953610890052413150344765363730367604220178759909319394692187583486886083218822834114406779385005257593017768864229276358309515649398340080033683310036869889684071282589937446610777815361601441780719921911360904084066154871844091754176110569898086246748127357138988378973145084273707852094822809009265260508166190504690335156446599954523513134897979701263321536624322501021363387980153363960310474745342385809177902920655761129828244153963744818275105817791521517025161098396914438477042416121988238589163853314071541494733031285787686621401182019595114989543297814821727791660760553208757280434866966090312740265343307033691218876025735969524498201830146314022657228483621856809870062978467270396084573016553516942991036403 19343424623351498854076126015043251559901163024645161928763127513221815728874250569547046688807975423448500885913606251046100422111430795723591915546470109437155863780231181268199928415241890195426142061062101644978955183619845791776889925587812659286671297668174771562403245217609026756417974528937337409879017741682686402791828774076967077294814416104157387390042884685572439747391076419810576788729476934834332625981516668232423851843051514261419585672477586130057300767486593298964086749657669193363830150984858506453480794276489032749460396148729455188324537944895328821963975202026321405552567846279731450604296932997584901712056601522634497001468453719433597141114581226304400208171156723455046900365554853007292080058169064444085091568235924322289357106789535312050681487681194193751999511041227434486860324597585159203965715206388686047461688748483868182964007377326770637728014333768929064838632129218381098027890727097036854388874871571459759053235689313137913394080584502858597852084650443206794267700219915209655570936096679359661284488175126217396455558910867975745512410997100091239731931074613144518915646575710014392735846778085130285864135549164942043998243714633822322111608489395135433947628964038900582677709112982539720358459479244358156762666032263407891285602705007729178707932771002322984690994604559071238293596290921328154418739396502296514348393488030789007360945710705771411314494874900699842258409802254259576839122289227852584980009428456819623182457994413522873829329448027549408961753775226777971392988291232189330261321160729538251038499310215073721100325587766088643725643670002532275761179357793786834071181895166276020048926641298145150430161210014320765050069059803783963093449640548175691904273796535345054753947288738614695157920787127281102152917748260352444032969550987811782175310386127955569727268953796043122969219221089094669333693620237114854536685093112729707197384590457159670413982029254135090838856466551564666410732586902186142664784809185883665121737821481301363668861273333112951720299293217691536438562781972577601692074934412912537358846064984373480757384118868256290964617046321943630206583309886598976783628274989806730150786418323092544333088025589883227032246837057469348692765209717755945565654699939509132476123359289348980735229563326608880224439383646635469992038374902242768337470724338588957510181376181328644674626324372457761141536581857547884672888989048827135691406268839318343864208350455967110732549988722088815597500220510820696436042784744707957017698155935117108698882166645505312323494583249679536922352994530905466313505457184728967923664930066011939979473190831277923483121861475502521145711313851049058187443767579940982534430992657679 31298318499404358088323263724942390001690789748158302438404778651808049161931289012467679220721607700651258753307331404854964196674846954451994564265187939735492334189899187473571172634170305108286708323052709493468574437774388044530567190537738422262165524790829202604030733314770371541123640955467541118537017068188088436689035364249932096799668948233278957019706450442539711310636083062818140922625960340736117969646860684060557401894466505087122166156663480328720387590830563801041809980054239410250802248161572535272723378722408380876557966037734620514204574750385061793087468563849695790579996060964509887541280216264798250872665425121205550536491232791131914018975277076432161801073518677879284647393787253315115469767948248784217543696899725763829759096588217302389890905195144920156507769039541984905148798592847238004492704174738797724721750838686199047573174167719910067375058477423515729414420951782495963189192501844785305500228733661559558424418016441143993714455517733075628128208734184747627213141312408789575784851121765978170933206864404917213319770340456471409123445153806154341864009560329591057280742960038995547833560647557358473198652636706398640174685443948361895709873625557239860382511906547563675812425129833241152532705866227003254125039958172560757770349094019568414825796109751962301467041518679055909032654527555469246852541056846096390763580609074132862008957591079715706202561500951696008709232799447975576542404489037915729731835297583107203744759309859156135677548619965222799671429919056137289570373409039144196384574545594621999907005243066412892590175635471896333438041226148441052572971176740375264502375730804854129727929124787925750174498376716685555364588426897624464827671020194154711942262260841075488310830534724726663095080390491237661578640665851960915649416594235110370369737516821377523811857586052775436254368691872187685668868034875053977621410768815220054519049516438817719890068627288892665051165649615639934276855397098135554015893629172837276011790234631646129032591640937333130480208612612383724022049668055796424526189341192297542616439082753237710033742428383905689304697080005253667076472993957881566721074885767622091752228199043014455693992109656038098876338591233579918590851456465883302704643078912654216749831211384171789744494823834775070729129718803082069946561888037140748038734045875213280011202739569308798038586634847203103527345759760468540434018817292981099436224543945136135385725375617065507646988465764504937585738809674674010507584279477739242805384777336299128293997156188803127145222374910440090131110274965772432403818197450072274957356148942037675948997689033108069797144518703986143002521183914027525457839852152957536051373983694082 50641743122755856942399389739985641561591952772803464367167906165029864890805539582014725909529583124099759639220937655901064618786277750175586479811658049172648197970130368741771101049412195303712850384114811138447529621394233836307457116125551081548836822459003974166433978532379398297541615484404878528416034809870774839480864138326899174094483364337436344409749335128112151058027159482628717711355437275570450595628377352292981253737518019348541751829141066458777688358317157100005896729711908603614632399146431041726204172998897413626018362186464075702529112695280390615051443765876017196132563907244241338145577149262383152584722026643840047537959686510565511160089858302736562009244675401334331547759342106322407549826117313228302635265135650086119116203377752614440572392876339113908507280080769419392009123190432397208458419381127483772183439587170067230537181545046680705103072811192444794253053081000877061217083228941822159889103605233019317477653705754281907108536102235934225980293384627954421480841532323999231355787218445337832217695039531134609775329251324447154635856150906245581595940634942735576196389535749009940569407425642488759062788185871340684172929158582184217821482114952375294330140870586464258490134242815780872891165345471361410887705990435968649055951799027297593533728880754285286158036123238127147326250818476797401271280453348392905111974097104921869369903301785487117517056375852395850967642601702235153381526778265768314711844726039926826927217304272679009506878067992772208633183694282915260963361700271333526645895706324160250945504553281486613690501223237984977163684896150973328334150534534162098573557625971130149776855766086070900604659586731006320414657486701408427921120660742330403846536057376420543064777823463341358253001177618518763731558414112313359682386145222922152545047902949333093539126539848818559223587912961282355002561655112168832158095861927949761716434106895977390304050656543027755890022116167204600687587984000321696680678438358720941133528056112947492701452914270446082200507905830075260460612450028374026218264275605210079975285147737611190791126547252161980269314126327197297283056303844480543504703160757428821903014617366107000027080135245921325908585428291049267283616666183639248270297778852163349225954570673520770479724387161383950953569102449717539938600262939383516376204770213802237521384115750637442713212959219660864668882341618016425106907806341808235127630812784454479249933726073032618379538454486593753183239030185494706943627064222447199823082933271416236992879322834308439468716958160119627053463269496677898717323654634801242881021079008049615928470879864385993280266380179488664148232497765076583645283619732898518585804976351761 81940061622160215030722653464928031563282742520961766805572684816837914052736828594482405130251190824751018392528269060756028815461124704627581044076845988908140532160029556215342273683582500411999558707167520631916104059168621880838024306663289503811002347249833176770464711847149769838665256439872419646953051878058863276169899502576831270894152312570715301429455785570651862368663242545446858633981397616306568565275238036353538655631984524435663917985804546787498075949147720901047706709766148013865434647308003576998927551721305794502576328224198696216733687445665452408138912329725712986712559968208751225686857365527181403457387451765045598074450919301697425179065135379168723810318194079213616195153129359637523019594065562012520178962035375849948875299965969916830463298071484034065015049120311404297157921783279635212951123555866281496905190425856266278110355712766590772478131288615960523667474032783373024406275730786607465389332338894578875902071722195425900822991619969009854108502118812702048693982844732788807140638340211316003150901903936051823095099591780918563759301304712399923459950195272326633477132495788005488402968073199847232261440822577739324347614602530546113531355740509615154712652777134027934302559372649022025423871211698364665012745948608529406826300893046866008359524990506247587625077641917183056358905346032266648123821510194489295875554706179054731378860892865202823719617876804091859676875401150210729923931267303684044443680023623034030671976614131835145184426687957995008304613613339052550533735109310477723030470251918782250852509796347899506280676858709881310601726122299414380907121711274537363075933356775984279504784890873996650779157963447691875779245913599032892748791680936485115788798318217496031375608358188068021348081568109756425310199079964274275331802739458032522914785419770710617350984125901593995477956604833470040671429689987222809779506630743169816235483623334795110194119283831920420941187765782844534964443381098457250696572067531558217145318290744593621734044555207779212680716518442458984482662118084170450744453616797507622591724230490848900824868975636067669574011206332450964359529297802362110225778046525050913655242816409121455721072244901959424784924019524629185874468122649522550974940857764817565975785782057692560224219210996159021682698821252799609885162150976524264414938816089015517532586855319946240751799594066863968196228101378484965540926623634789334563855356729590614635659101690098126026526920251098690768977839860168717451211343700186442628467710607715365286876479023111566613939333070559717184573544462450331121141852084873517838377227950087291877468568897494063077410898883474807150753681679104109103123471885856054637178960045843 132581804744916071973122043204913673124874695293765231172740590981867778943542368176497131039780773948850778031749206716657093434247402454803167523888504038080788730130159924957113374732994695715712409091282331770363633680562855717145481422788840585359839169708837150936898690379529168136206871924277298175369086687929638115650763640903730444988635676908151645839205120698764013426690402028075576345336834891877019160903615388646519909369502543784205669814945613246275764307464878001053603439478056617480067046454434618725131724720203208128594690410662771919262800140945843023190356095601730182845123875452992563832434514789564556042109478408885645612410605812262936339154993681905285819562869480547947742912471465959930569420182875240822814227171025936067991503343722531271035690947823147973522329201080823689167044973712032421409542936993765269088630013026333508647537257813271477581204099808405317920527113784250085623358959728429625278435944127598193379725427949707807931527722204944080088795503440656470174824377056788038496425558656653835368596943467186432870428843105365718395157455618645505055890830215062209673522031537015428972375498842335991324229008449080008520543761112730331352837855461990449042793647720492192792693615464802898315036557169726075900451939044498055882252692074163601893253871260532873783113765155310203685156164509064049395101963542882200987528803283976600748764194650689941236674252656487710644518002852445883305458045569452359155524749662960857599193918404514154691304755950767216937797307621967811497096809581811249676365958242942501798014349629386119971178081947866287765411018450387709241272245808699461649490982747114429281640656960067551383817550178698196193903400300441320669912341678815519635334375593916574440386181651409379601082745728275189041757494076587635014188884680954675459833322720043710890110665750412554701544517794752395673991345099391641937602492671119577951917730230772500498169940374948176831209881950049135652031365098778947377250505890279158278846346857541114435497469478225294881224424272534244943274568112544476962717892402717702567009378228460091615995522888229649843325332659648261642585601646842653730481207282479735558257433775228455748152380147880750693509447815678453158084788833161799245238636616980915201740352731213330703943598157542972636267923702517149823762413915907780791143586302817755053970971070583683465012553286524832865110442996501390647834429976597569691486169514045093885592827763130744406065374737692443952216870045663424394838407922633642451550643879131602279755801857420006082656291230679344238036813959128229838465506719674760719398306958136907805939448761880056357677279062963471298986179444180692748407091618754573222983936397604 214521866367076287003844696669841704688157437814726997978313275798705692996279196770979536170031964773601796424277475777413122249708527159430748567965350026988929262290189481172455648416577196127711967798449852402279737739731477597983505729452130089170841516958670327707363402226678937974872128364149717822322138565988501391820663143480561715882787989478866947268660906269415875795353644573522434979318232508183587726178853425000058565001487068219869587800750160033773840256612598902101310149244204631345501693762438195724059276441509002631171018634861468135996487586611295431329268425327443169557683843661743789519291880316745959499496930173931243686861525113960361518220129061074009629881063559761563938065600825597453589014248437253342993189206401786016866803309692448101498989019307182038537378321392227986324966756991667634360666492860046765993820438882599786757892970579862250059335388424365841588001146567623110029634690515037090667768283022177069281797150145133708754519342173953934197297622253358518868807221789576845637063898867969838519498847403238255965528434886284282154458760331045428515841025487388843150654527325020917375343572042183223585669831026819332868158363643276444884193595971605603755446424854520127095252988113824923738907768868090740913197887653027462708553585121029610252778861766780461408191407072493260044061510541330697518923473737371496863083509463031332127625087515892764956292129460579570321393404002656613229389312873136403599204773285994888271170532536349299875731443908762225242410920961020362030831918892288972706836210161724752650524145977285626251854940657747598367137140749802090148393957083236824725424339523098708786425547834064202162975513626390071973149313899474213418704022615300635424132693811412605815994539839477400949164313838031614351956574040861910345991624138987198374618742490754328241094791652006550179501122628222436345421035086614451717109123414289394187401353565567610692289224206868597772397647732893670616474746197236198073822573421837375424164637602134736169542024686004507561940942714993229425936686196714927707171509200225325158733608719308992440864498524297319417336538992099226002114899449204763956259253807530649213500250184349911469224625049840175478433467340307639032552911482684350220179494381798481177526134788905890928162809153701994318966744955316759708924564892432045206082402391833272586557826390529924216812147353388801061338544374986356188761053611386904255341526243635708521251929453228870432592294988791134721194709905832141846049751622820085080018354486846967566632280880531572696595624301239061422610358421578560959607358804548278557775534908224199683408017659374119435088177946438278449739861123284801851530563504610627860162896443447 347103671111992358976966739874755377813032133108492229151053866780573471939821564947476667209812738722452574456026682494070215683955929614233916091853854065069717992420349406129569023149571891843424376889732184172643371420294333315128987152240970674530680686667507478644262092606208106111079000288427015997691225253918139507471426784384292160871423666387018593107866026968179889222044046601598011324655067400060606887082468813646578474370989612004075257615695773280049604564077476903154913588722261248825568740216872814449191001161712210759765709045524240055259287727557138454519624520929173352402807719114736353351726395106310515541606408582816889299272130926223297857375122742979295449443933040309511680978072291557384158434431312494165807416377427722084858306653414979372534679967130330012059707522473051675492011730703700055770209429853812035082450451908933295405430228393133727640539488232771159508528260351873195652993650243466715946204227149775262661522578094841516686047064378898014286093125694014989043631598846364884133489457524623673888095790870424688835957277991650000549616215949690933571731855702451052824176558862036346347719070884519214909898839475899341388702124756006776237031451433596052798240072575012319887946603578627822053944326037816816813649826697525518590806277195193212146032733027313335191305172227803463729217675050394746914025437280253697850612312747007932876389282166582706192966382117067280965911406855102496534847358442588762754729522948955745870364450940863454567036199859529442180208228582988173527928728474100222383202168404667254448538495606671746223033022605613886132548159200189799389666202891936286374915322270213138068066204794131753546793063805088268167052714199915534088616364294116155059467069405329180256380721490886780550247059566306803393714068117449545360180508819941873834452065210798039131205457402419104881045640422974832019412380186006093654711616085408972139319083796340111190459164581816774603607529682942806268506111296015145451073079312116533703010984459675850605039494164229802443165366987527474369211254309259404669889401602943027725742986947769084056860021412526969260661871651747487644700501096047417686740461090010384771757683959578367217377005197720926171942915155986092190637700315846149465418130998779396379266487520119221632106407311244966955234668657833909532686978808339825997225988694651027640528797461113607681824700639913633926448987371487746836595483587984473946827695757680802406844757216359614838657669726483578673411579951495566240888159545453727531568998365978569846388082737951578779251915531918405660647172380706790798072865524223039277173841866361107489347466421254175792765457009401749748726040567465494599937655123365201083146832841051 561625537479068645980811436544597082501189570923219227129367142579279164936100761718456203379844703496054370880304158271483337933664456773664664659819204092058647254710538887302024671566149087971136344688182036574923109160025810913112492881693100763701522203626177806351625494832887044085951128652576733820013363819906640899292089927864853876754211655865885540376526933237595765017397691175120446303973299908244194613261322238646637039372476680223944845416445933313823444820690075805256223737966465880171070433979311010173250277603221213390936727680385708191255775314168433885848892946256616521960491562776480142871018275423056475041103338756748132986133656040183659375595251804053305079324996600071075619043673117154837747448679749747508800605583829508101725109963107427474033668986437512050597085843865279661816978487695367690130875922713858801076270890791533082163323198972995977699874876657137001096529406919496305682628340758503806613972510171952331943319728239975225440566406552851948483390747947373507912438820635941729770553356392593512407594638273662944801485712877934282704074976280736362087572881189839895974831086187057263723062642926702438495568670502718674256860488399283221121225047405201656553686497429532446983199591692452745792852094905907557726847714350552981299359862316222822398811594794093796599496579300296723773279185591725444432948911017625194713695822210039265004014369682475471149258511577646851287304810857759109764236671315725166353934296234950634141534983477212754442767643768291667422619149544008535558760647366389195090038378566392007099062641583957372474887963263361484499685299949991889538060159975173111100339661793311846854491752628195955709768577431478340140202028099389747507320386909416790483599763216741786072375261330364181499411373404338417745670642158311455706172132958929072209070807701552367372300249054425655060546763051197268364833415272620545371820739499698366326720437361907721882748388788685372376005177415836476884980857493251343524895652733953909127175622061810586774581518850234310005106309702520703795147940505974332377060910803168352884476595667078076497724519936824288677998410643846713646815400545252181642999714897541033985257934143928278686601630247561101650376382496293731223190611798530499685597625380577877556792622309025112560269216464946961274201413613150669241611543700771871203308391086484300227086623851643531898636847993302434987787531746474103025356537199371378202169222001316510928096686669588485271249964715274713394606289857327708086937911168273812611587352852825537413020363618483151475847539833157467083257530802285351757680224328771317834949376774585307172755484080628295227853634955840028198465901690750296451468218627975828943309729284498 908729208591061004957778176419352460314221704031711456280421009359852636875922326665932870589657442218506945336330840765553553617620386387898580751673058157128365247130888293431593694715720979814560721577914220747566480580320144228241480033934071438232202890293685284995887587439095150197030128941003749817704589073824780406763516712249146037625635322252904133484392960205775654239441737776718457628628367308304801500343791052293215513743466292228020103032141706593873049384767552708411137326688727128996639174196183824622441278764933424150702436725909948246515063041725572340368517467185789874363299281891216496222744670529366990582709747339565022285405786966406957232970374547032600528768929640380587300021745408712221905883111062241674608021961257230186583416616522406846568348953567842062656793366338331337308990218399067745901085352567670836158721342700466377568753427366129705340414364889908160605057667271369501335621991001970522560176737321727594604842306334816742126613470931749962769483873641388496956070419482306613904042813917217186295690429144087633637442990869584283253691192230427295659304736892290948799007645049093610070781713811221653405467509978618015645562613155289997358256498838797709351926570004544766871146195271080567846796420943724374540497541048078499890166139511416034544844327821407131790801751528100187502496860642120191346974348297878892564308134957047197880403651849058177342224893694714132253216217712861606299084029758313929108663819183906380011899434418076209009803843627821109602827378126996709086689375840489417473240546971059261547601137190629118697920985868975370632233459150181688927726362867109397475254984063524984922557957422327709256561641236566608307254742299305281595936751203532945543066832622070966328755982821250962049658432970645221139384710275761001066352641778870946043522872912350406503505706456844759941592403474172100384245795458626639026532355585107338466039521158247833073207553370502146979612707098779283153486968789266488975968732046070442830186606521486437379621013014464112448271676690048178164359194815233737046950312406111380610219582614847160554584541349351257938660282295594201291515901641299599329740175987551418757015618103506645903978635445282027822319297652279823413828312114376649151015756379357273936059109829144334192375623776191928229436082270984578774298522509111697200534379781135327867615421312757139580461548633216068914236519117961849861952020787355852148996917758997313334941443885948100109907634441758292068017869808823274327826070713727540143156351218804107259408446356434730255099455365075872743904703182992142555753089852994357112123218640946414662102950501882471020619091965241777947191942258215791051405873751341030026456562125549 1470354746070129650938589612963949542815411274954930683409788151939131801812023088384389073969502145714561316216634999037036891551284843161563245411492262249187012501841427180733618366281870067785697066266096257322489589740345955141353972915627172201933725093919863091347513082271982194282981257593580483637717952893731421306055606640113999914379846978118789673860919893443371419256839428951838903932601667216548996113605113290939852553115942972451964948448587639907696494205457628513667361064655193009167709608175494834795691556368154637541639164406295656437770838355894006226217410413442406396323790844667696639093762945952423465623813086096313155271539443006590616608565626351085905608093926240451662919065418525867059653331790811989183408627545086738288308526579629834320602017940005354113253879210203610999125968706094435436031961275281529637234992233491999459732076626339125683040289241547045161701587074190865807018250331760474329174149247493679926548162034574791967567179877484601911252874621588762004868509240118248343674596170309810698703285067417750578438928703747518565957766168511163657746877618082130844773838731236150873793844356737924091901036180481336689902423101554573218479481546243999365905613067434077213854345786963533313639648515849631932267345255398631481189526001827638856943655922615500928390298330828396911275776046233845635779923259315504087278003957167086462884418021531533648491483405272360983540521028570620716063320701074039095462598115418857014153434417895288963452571487396112777025446527671005244645450023206878612563278925537451268646663778774586491172808949132336855131918759100173578465786522842282508575594645856836831777049710050523664966330218668044948447456770398695029103257138112949736026666595838812752401131244151615143549069806374983638885055352434072456772524774737800018252593680613902773875805955511270415002139166525369368749079210731247184398353095084805704792759958520155554955955942159187519355617884514615760038467826282517832500864384780024351957362228583297024154202531864698422453377986392568881959507135321208069424011223209279733494696178281925237052309061286175546616658692939440914938331302186551780972739890885092452742273552247434924590580265692843129472695680148573554637018923912907148836613381759935151492851732138169446752644840241138889503637495884135248015910066209883568403842770867619628094702045164400671479098396626518503902024050864435952887308557986727230351166139760313824263038130555536585381157599157033005462624159666150982414763981882001352754743704071629644672428809974917881730946995198233339827162233985277494313433314181765674947072595415531721834858434582510766248472726921081806145657843948966087502874092379316858969766291410047 2379083954661190655896367789383302003129632978986642139690209161298984438687945415050321944559159587933068261552965839802590445168905229549461826163165320406315377748972315474165212060997591047600257787844010478070056070320666099369595452949561243640165927984213548376343400669711077344480011386534584233455422541967556201712819123352363145952005482300371693807345312853649147073496281166728557361561230034524853797613948904343233068066859409264679985051480729346501569543590225181222078498391343920138164348782371678659418132835133088061692341601132205604684285901397619578566585927880628196270687090126558913135316507616481790456206522833435878177556945229972997573841536000898118506136862855880832250219087163934579281559214901874230858016649506343968474891943196152241167170366893573196175910672576541942336434958924493503181933046627849200473393713576192465837300830053705255388380703606436953322306644741462235308353872322762444851734325984815407521153004340909608709693793348416351874022358495230150501824579659600554957578638984227027884998975496561838212076371694617102849211457360741590953406182354974421793572846376285244483864626070549145745306503690459954705547985714709863215837738045082797075257539637438621980725491982234613881486444936793356306807842796446709981079692141339054891488500250436908060181100082356497098778272906875965827126897607613382979842312092124133660764821673380591825833708298967075115793737246283482322362404730832353024571261934602763394165333852313365172462375331023933886628273905798001953732139399047368030036519472508510530194264915965215609870729935001312225764152218250355267393512885709391906050849629920361816699607667472851374222891859904611556754711512698000310699193889316482681569733428460883718729887226972866105598728239345628860024440062709833457838877416516670964296116553526253180379311661968115174943731569999541469133325006189873823424885450669913043258799479678403388029163495529689666335230591613395043191954795071784321476833116826094794787548835104783461533823544879162534901649663082617060123866330136441806470961535615391114104915760896772397606893602635526804555318975235035116229847203827851380302480066872643871499289170350941570494558901138125157295014977800853378050847236027283797987629138139292425428910841967313780945020464017330817733073578155119826790208588718995265604377150648754955962317466477157811059559945259734572816260569982397802749260578774083082500163057519311137597979574441484685491065233598791297530642029474974256742590052595728892897900055290433751931837256331352611986046450563309212571066937168269636869186404034760032059195814056478136496961385084393237269091818886323584092849786207181878554279966130657888996222853535596 3849438700731320306834957402347251545945044253941572823099997313238116240499968503434711018528661733647629577769600838839627336720190072711025071574657582655502390250813742654898830427279461115385954854110106735392545660061012054510949425865188415842099653078133411467690913751983059538762992644128164717093140494861287623018874729992477145866385329278490483481206232747092518492753120595680396265493831701741402793727554017634172920619975352237131949999929316986409266037795682809735745859455999113147332058390547173494213824391501242699233980765538501261122056739753513584792803338294070602667010880971226609774410270562434213921830335919532191332828484672979588190450101627249204411744956782121283913138152582460446341212546692686220041425277051430706763200469775782075487772384833578550289164551786745553335560927630587938617965007903130730110628705809684465297032906680044381071420992847983998484008231815653101115372122654522919180908475232309087447701166375484400677260973225900953785275233116818912506693088899718803301253235154536838583702260563979588790515300398364621415169223529252754611153059973056552638346685107521395357658470427287069837207539870941291395450408816264436434317219591326796441163152704872699194579837769198147195126093452642988239075188051845341462269218143166693748432156173052408988571398413184894010054048953109811462906820866928887067120316049291220123649239694912125474325191704239436099334258274854103038425725431906392120033860050021620408318768270208654135914946818420046663653720433469007198377589422254246642599798398045961798840928694739802101043538884133649080896070977350528845859299408551674414626444275777198648476657377523375039189222078572656505202168283096695339802451027429432417596400024299696471131018471124481249147798045720612498909495415143905914611402191254470982548710234140155954255117617479385589945870736524910837882404216921121007823238545754718748051559438198558942985119437688877185690848476128010803230422621354302153977697501606119146744911063688080485688026076743860957355027649475185942083373465457649875894972758824670847599611939178697634659202663921702351171977668174476031168178506014403161275219957757736324241562722598376495085139166830968286767710657949426932687866159940190946824242519899227576921762574105483227697665304258469707236711074039255074806118654928878834008219921516374584057019511641558482538658341886253076718284620846833755636569136760810312851329197279624961861017704997021270872222832755824302993266189141125239157354034477730245652643759362063396604266066306270493716993445761542552398229171153547131182619718216525707006268409472009858331819819666904003517564545807405390238507630156147966057154058509974747965989144945643 6228522655392510962731325191730553549074677232928214962790206474537100679187913918485032963087821321580697839322566678642217781889095302260486897737822903061817767999786058129064042488277052162986212641954117213462601730381678153880544878814749659482265581062346959844034314421694136883243004030662748950548563036828843824731693853344840291818390811578862177288551545600741665566249401762408953627055061736266256591341502921977405988686834761501811935051410046332910835581385907990957824357847343033285496407172918852153631957226634330760926322366670706865806342641151133163359389266174698798937697971097785522909726778178916004378036858752968069510385429902952585764291637628147322917881819638002116163357239746395025622771761594560450899441926557774675238092412971934316654942751727151746465075224363287495671995886555081441799898054530979930584022419385876931134333736733749636459801696454420951806314876557115336423725994977285364032642801217124494968854170716394009386954766574317305659297591612049063008517668559319358258831874138763866468701236060541427002591672092981724264380680889994345564559242328030974431919531483806639841523096497836215582514043561401246100998394530974299650154957636409593516420692342311321175305329751432761076612538389436344545883030848292051443348910284505748639920656423489317048752498495541391108832321859985777290033718474542270046962628141415353784414061368292717300158900003206511215127995521137585360788130162738745144605121984624383802484102122522019308377322149443980550281994339267009152109728821301614672636317870554472329035193610705017710914268819134961306660223195600884113252812294261066320677293905697560465176265044996226413412113938477268061956879795794695650501644916745915099166133452760580189860905698097347354746526285066241358933935477853739372450279607771141946844826787666409134634429279447500764889602306524452307015729223110994831248123996424631791310358917876962331014282933218566852026079067741405846422377416426086475454530618432213941532459898792863947221849621623023492256677312557803002207239795594091682365934294440061961704527700075470032266096266557229155727296643409511147398025709842254541577700024630380195740851892949318065579698067969093444062725635750280310738713395967474744811871658038520002350673416072797008642685768275800524969784652194374901596327243647874099612597072165129540019336978118716293598218287145987649534545190829231558385829715534893395351492254798936099458997279438505956363288066354615600523908218616099495899944087073459138550543814652497148536103322637623105703039896324851764969296108321816768051806122251285739065464223528487994828781204751297240786656364693728974331357416363329844611434024640632636962211998481239 10077961356123831269566282594077805095019721486869787785890203787775216919687882421919743981616483055228327417092167517481845118609285374971511969312480485717320158250599800783962872915556513278372167496064223948855147390442690208391494304679938075324365234140480371311725228173677196422005996674790913667641703531690131447750568583337317437684776140857352660769757778347834184059002522358089349892548893438007659385069056939611578909306810113738943885051339363319320101619181590800693570217303342146432828465563466025647845781618135573460160303132209208126928399380904646748152192604468769401604708852069012132684137048741350218299867194672500260843213914575932173954741739255396527329626776420123400076495392328855471963984308287246670940867203609205382001292882747716392142715136560730296754239776150033049007556814185669380417863062434110660694651125195561396431366643413794017531222689302404950290323108372768437539098117631808283213551276449433582416555337091878410064215739800218259444572824728867975515210757459038161560085109293300705052403496624521015793106972491346345679549904419247100175712302301087527070266216591328035199181566925123285419721583432342537496448803347238736084472177227736389957583845047184020369885167520630908271738631842079332784958218900137392905618128427672442388352812596541726037323896908726285118886370813095588752940539341471157114082944190706573908063301063204842774484091707445947314462253795991688399213855594645137264638982034646004210802870392730673444292268967864027213935714772736016350487318243555861315236116268600434127876122305444819811957807703268610387556294172951412959112111702812740735303738181474759113652922422519601452601336017049924567159048078891390990304095944175347516762533477060276660991924169221828603894324330786853857843430892997645287061681799025612929393537021806565088889546896926886354835473043049363144898133440032115839071362542179350539361918356075521273999402370907444037716927543869416649652800037780388629432228120038333088277370962480944432909875698366884449611704962032988944290613261051741558260907053264732809304139639254167666925298930478931506899274311583987178566204215856657702852919982388116519982414615547694560664837234800061730830436293699707243426579555907665691636114177937747579272435990178280236340351072534270232206495726233629976402445898576752933620816993681504124076356489760274776136876629032240726252829811676065314022398852295703708202821452078561061320014984435527227235510899110439903517174407757224735057298121551189384203187574014560545140369388943893599420033342086394317367525279475363899234425840467811446071732633000497853160601024418201244304220910501134364569865046519477810668588083150607384928201143426882 16306484011516342232297607785808358644094398719798002748680410262312317598875796340404776944704304376809025256414734196124062900498380677231998867050303388779137926250385858913026915403833565441358380138018341162317749120824368362272039183494687734806630815202827331155759542595371333305249000705453662618190266568518975272482262436682157729503166952436214838058309323948575849625251924120498303519603955174273915976410559861588984897993644875240755820102749409652230937200567498791651394575150685179718324872736384877801477738844769904221086625498879914992734742022055779911511581870643468200542406823166797655593863826920266222677904053425468330353599344478884759719033376883543850247508596058125516239852632075250497586756069881807121840309130166980057239385295719650708797657888287882043219315000513320544679552700740750822217761116965090591278673544581438327565700380147543653991024385756825902096637984929883773962824112609093647246194077666558077385409507808272419451170506374535565103870416340917038523728426018357519818916983432064571521104732685062442795698644584328069943930585309241445740271544629118501502185748075134675040704663422959501002235626993743783597447197878213035734627134864145983474004537389495341545190497272063669348351170231515677330841249748429444348967038712178191028273469020031043086076395404267676227718692673081366042974257816013427161045572332121927692477362431497560074642991710652458529590249317129273760001985757383882409244104019270388013286972515252692752669591117308007764217709112003025502597047064857475987872434139154906456911315916149837522872076522403571694216517368552297072364923997073807055981032087172319578829187467515827866013449955527192629115927874686086640805740860921262615928666929820856850852829867319175958640850615853095216777366370851384659511961406796754876238363809472974223523976176374387119725075349573815451913862663143110670319486538603982330672277273952483605013685304126010889743006611610822496075177454206475104886758738470547029809830861273808380131725319989907941868382274590791946497853056645833240626841347704794771008667339329637699191395197036160662626570954993498325964229925698912244430620007018496715723266508497012626244535302769155174893161929449987554165292951875140436447985835976267581623109406251077244983036840810070757176280378428004877998773142224627033233414065846633664095693467878991069735094916178228375787375002505296872408228567830597103554313706877497160779012263874033183598798965465055504041082626373324230957242208624648522753731388667057693676472711581516705123073238411246082336821387797180667286231962719097185137196856528985847989382229169498485090877275194863338901222462882807655280022107791240021890413141908121 26384445367640173501863890379886163739114120206667790534570614050087534518563678762324520926320787432037352673506901713605908019107666052203510836362783874496458084500985659696989788319390078719730547634082565111172896511267058570663533488174625810130996049343307702467484770769048529727254997380244576285831970100209106720232831020019475167187943093293567498828067102296410033684254446478587653412152848612281575361479616801200563807300454988979699705154088772971551038819749089592344964792454027326151153338299850903449323520462905477681246928631089123119663141402960426659663774475112237602147115675235809788278000875661616440977771248097968591196813259054816933673775116138940377577135372478248916316348024404105969550740378169053792781176333776185439240678178467367100940373024848612339973554776663353593687109514926420202635624179399201251973324669776999723997067023561337671522247075059230852386961093302652211501922230240901930459745354115991659801964844900150829515386246174753824548443241069785014038939183477395681379002092725365276573508229309583458588805617075674415623480489728488545915983846930206028572451964666462710239886230348082786421957210426086321093896001225451771819099312091882373431588382436679361915075664792694577620089802073595010115799468648566837254585167139850633416626281616572769123400292312993961346605063486176954795914797157484584275128516522828501600540663494702402849127083418098405844052503113120962159215841352029019673883086053916392224089842907983366196961860085172034978153423884739041853084365308413337303108550407755340584787438221594657334829884225672182081772811541503710031477035699886547791284770268647078692482109890035429318614785972577117196274975953577477631109836805096610132691200406881133511844754036541004562535174946639949074620797263849029946573643205822367805631900831279539312413523073301273474560548392623178596811996103175226509390849080783332870034195630028004879013087675033454927459934155480239145727977491986863734318986858508880118087201823754752813041601018356792391480087236623780890788466317697574798887748400969527580312806978583805366116694127515092169525845266577485504530434141555569947283539989406613235705681124044707186909372537569216905723598223149694797591872507782806128084100013914015160895545396429357481323387913344340989382776104661634854401219040801379966854231059528137788172049957639265845871971545210469102040204814181362186430627420126300811757135158956058222099027248309560410834309864575495407558257034130548966014540330175837906956918962681618238816842100525410304543106580497640399704346667272544566520657803186908631208929489529483701149983253587699729395098185695997703471087509402285465948610190941847406818614285335003 42690929379156515734161498165694522383208518926465793283251024312399852117439475102729297871025091808846377929921635909729970919606046729435509703413087263275596010751371518610016703723223644161088927772100906273490645632091426932935572671669313544937626864546135033623244313364419863032503998085698238904022236668728081992715093456701632896691110045729782336886376426244985883309506370599085956931756803786555491337890176662789548705294099864220455525256838182623781976020316588383996359367604712505869478211036235781250801259307675381902333554129969038112397883425016206571175356345755705802689522498402607443871864702581882663655675301523436921550412603533701693392808493022484227824643968536374432556200656479356467137496448050860914621485463943165496480063474187017809738030913136494383192869777176674138366662215667171024853385296364291843251998214358438051562767403708881325513271460816056754483599078232535985464746342849995577705939431782549737187374352708423248966556752549289389652313657410702052562667609495753201197919076157429848094612961994645901384504261660002485567411075037729991656255391559324530074637712741597385280590893771042287424192837419830104691343199103664807553726446956028356905592919826174703460266162064758246968440972305110687446640718396996281603552205852028824444899750636603812209476687717261637574323756159258320838889054973498011436174088854950429293018025926199962923770075128750864373642752430250235919217827109412902083127190073186780237376815423236058949631451202480042742371132996742067355681412373270813290980984546910247041698754137744494857701960748075753775989328910056007103841959696960354847265802355819398271311297357551257184628235928104309825390903828263564271915577666017872748619867336701990362697583903860180521176025562493044291398163634700414606085604612619122681870264640752513535937499249675660594285623742196994048725858766318337179710335619387315200706472903980488484026772979159465817202940767091061641803154946193338839205745596979427147897032685028561193173326338346700333348469511214572837286319374343408039514589748674322351321474317913443065308089324551252832152416221570983830494664067254482191714159996425109951428947632541719813153907840338372080616760152599682351757165459657946564532085849890282742518654802680434726306424754154411746559056483089639732399992183026007000087645125374771452267743425518256915607066461388697477827579816686659058838855987956897915311448865833555382878039512183593594433108830040550911599339660503873196971782538800486429710650351348675932493314812106927009666179818908886482041168055069725233806889765906005816346126346058469549139365482757198214485975460890861042372309972285093121228632298733087428709027427243124 69075374746796689236025388545580686122322639133133583817821638362487386636003153865053818797345879240883730603428537623335878938713712781639020539775871137772054095252357178307006492042613722880819475406183471384663542143358485503599106159843939355068622913889442736090729084133468392759758995465942815189854206768937188712947924476721108063879053139023349835714443528541395916993760817077673610343909652398837066699369793463990112512594554853200155230410926955595333014840065677976341324160058739832020631549336086684700124779770580859583580482761058161232061024827976633230839130820867943404836638173638417232149865578243499104633446549621405512747225862588518627066583609161424605401779341014623348872548680883462436688236826219914707402661797719350935720741652654384910678403937985106723166424553840027732053771730593591227489009475763493095225322884135437775559834427270218997035518535875287606870560171535188196966668573090897508165684785898541396989339197608574078481942998724043214200756898480487066601606792973148882576921168882795124668121191304229359973309878735676901190891564766218537572239238489530558647089677408060095520477124119125073846150047845916425785239200329116579372825759047910730337181302262854065375341826857452824588530774378705697562440187045563118858137372991879457861526032253176581332876980030255598920928819645435275634803852130982595711302605377778930893558689420902365772897158546849270217695255543371198078433668461441921757010276127103172461466658331219425146593311287652077720524556881481109208765777681684150594089534954665587626486192359339152192531844973747935857762140451559717135318995396846902638550572624466476963793407247586686503243021900681427021665879781841041903025414471114482881311067743583123874542337940401185083711200509132993366018960898549444552659247818441490487502165472032052848351022322976934068846172134820172645537854869493563689101184700170648070740668534008493363039860654192920744662874922571300787531132438180202573524732455488307265984234508783314006214927356703492724828556747838353728074785692040982838402338149643849931634281296497248431424783452066345001678261488148469335025098208810052138997699985831723187134628756586427000063280377907588986340358375749377149349037967440752692616185863804297903414200199109792207629812667498752735941832587751274586801211223827386966941876184902909240439793383157522761479038006599166579867784630868021245269483408083198727068584024789613604977066760493154005267418694616046319157596694634422162986322868976324336667569314030294171310156912632337314209286399406526881745514722342269800327547569092914447555055835587953250289348736344897943881073646586858745843397481687378587177242489674934835527641712578127 111766304125953204970186886711275208505531158059599377101072662674887238753442628967783116668370971049730108533350173533065849858319759511074530243188958401047650106003728696917023195765837367041908403178284377658154187775449912436534678831513252900006249778435577769713973397497888255792262993551641054093876443437665270705663017933422740960570163184753132172600819954786381800303267187676759567275666456185392558037259970126779661217888654717420610755667765138219114990860382266360337683527663452337890109760372322465950926039078256241485914036891027199344458908252992839802014487166623649207526160672041024676021730280825381768289121851144842434297638466122220320459392102183908833226423309550997781428749337362818903825733274270775622024147261662516432200805126841402720416434851121601106359294331016701870420433946260762252342394772127784938477321098493875827122601830979100322548789996691344361354159249767724182431414915940893085871624217681091134176713550316997327448499751273332603853070555891189119164274402468902083774840245040224972762734153298875261357814140395679386758302639803948529228494630048855088721727390149657480801068017890167361270342885265746530476582399432781386926552206003939087242774222089028768835607988922211071556971746683816385009080905442559400461689578843908282306425782889780393542353667747517236495252575804693596473692907104480607147476694232729360186576715347102328696667233675600134591338007973621433997651495570854823840137466200289952698843473754455484096224762490132120462895689878223176564447190054954963885070519501575834668184946497083647050233805721823689633751469361615724239160955093807257485816374980285875235104704605137943687871257828785736847056783610104606174940992137132355629930935080285114237239921844261365604887226071626037657417124533249859158744852431060613169372430112784566384288521572652594663131795877017166694263713635811900868811520319557963271447141437988981847066633633352386561865815689662362429334287384373541412730478052467734413881267193811875199388253695050193058177026259052926565361105066384390877916927898318172282955755614410691496732872776617597833830677709719453165519762276064534330711859982256833138563576389128146813217188218245961066957118528349059501106203427098699257148271713694580645932855001790226933936237421653164482500889070840914319201203406853393967029521310277680692707536808675779677086104467987864057695364447554680304108339396040096642380032890623168987855106272676747599700527524656597230756936355138295359958105407776810766378219665378970103803471724739264323875466218315413363786682777411995034134437334998920263901182181646422799428714219102096158367049107477719788215707453972471708405874788408022264236669139821251 180841678872749894206212275256855894627853797192732960918894301037374625389445782832836935465716850290613839136778711156401728797033472292713550782964829538819704201256085875224029687808451089922727878584467849042817729918808397940133784991357192255074872692325020505804702481631356648552021989017583869283730650206602459418610942410143849024449216323776482008315263483327777717297028004754433177619576108584229624736629763590769773730483209570620765986078692093814448005700447944336679007687722192169910741309708409150651050818848837101069494519652085360576519933080969473032853617987491592612362798845679441908171595859068880872922568400766247947044864328710738947525975711345333438628202650565621130301298018246281340513970100490690329426809059381867367921546779495787631094838789106707829525718884856729602474205676854353479831404247891278033702643982629313602682436258249319319584308532566631968224719421302912379398083489031790594037309003579632531166052747925571405930442749997375818053827454371676185765881195442050966351761413923020097430855344603104621331124019131356287949194204570167066800733868538385647368817067557717576321545142009292435116492933111662956261821599761897966299377965051849817579955524351882834210949815779663896145502521062522082571521092488122519319826951835787740167951815142956974875230647777772835416181395450128872108496759235463202858779299610508291080135404768004694469564392222449404809033263516992632076085164032296745597147742327393125160310132085674909242818073777784198183420246759704285773212967736639114479160054456241422294671138856422799242765650695571625491513609813175441374479950490654160124366947604752352198898111852724630191114279729467163868722663391945648077966406608246838511242002823868238111782259784662550688598426580759031023436085431799303711404100249502103656874595584816619232639543895629528731977968011837339339801568505305464557912705019728611342187809971997475210106494287545307306528690612233663216865419822553743986255210507956041679865501702595189205603181051753685783005583006891280293435890758425373716319266047962022214590036910907939928157656228683942835508939197867922500544860484874586469709559968088556325698205145714573813280468596153550053297476904098436650455241394539451949764457577498878549347055200900019141566050089151917218442721658592188906002414630680780933971397495180589933147330191833302438565142474587030637563149078422701549377822804123295369448616915412782592832173033169901604967946219272643549914533049772717522944428276753135103045788979409264275113628637371601638084752617721940245532197499754264834461984904091834711456238017234376049718062955446994102248122754064578534059104935659850295583117278082957099764310852399378 292607982998703099176399161968131103133384955252332338019966963712261864142888411800620052134087821340343947670128884689467578655353231803788081026153787939867354307259814572141052883574288456964636281762752226700971917694258310376668463822870445155081122470760598275518675879129244904344284982569224923377607093644267730124273960343566589985019379508529614180916083438114159517600295192431192744895242564769622182773889733717549434948371864288041376741746457232033562996560830210697016691215385644507800851070080731616601976857927093342555408556543112559920978841333962312834868105154115241819888959517720466584193326139894262641211690251911090381342502794832959267985367813529242271854625960116618911730047355609100244339703374761465951450956321044383800122351906337190351511273640228308935885013215873431472894639623115115732173799020019062972179965081123189429805038089228419642133098529257976329578878671070636561829498404972683679908933221260723665342766298242568733378942501270708421906898010262865304930155597910953050126601658963245070193589497901979882688938159527035674707496844374115596029228498587240736090544457707375057122613159899459796386835818377409486738403999194679353225930171055788904822729746440911603046557804701874967702474267746338467580601997930681919781516530679696022474377598032737368417584315525290071911433971254822468582189666339943810006255993843237651266712120115107023166231625898049539400371271490614066073736659603151569437285208527683077859153605840130393339042836267916318646315936637927462337660157791594078364230573957817256962856085353506446292999456417395315125265079174791165613640905584461417610183322585038227434002816457862573878985537558252900715779447002050254252907398745379194141172937904153352349022181628923916293485652652385068680853209965049162870148952680562716826247025697601185616928065468282123395109763888854506034065282141117365426724225339286574613634951409986457057173127920897693868394506301896025646199707206927285398985688560423776093746768896407064404991434746803878841182609265944206858796995824809764594236193946280194497545792525318631424890529005301540669339616907587375666064622760939120800421419950345389464261781534842720626497656814399511120254595432447496151561444821638151206912729291193459195279910202690246075502287510805081700943610729433103225203618037534174901000918805458270625854867000509082115651246942574894695258513525977381853486162200163392011828649806035951580687279305846649204668473743929240780671469404911012882902533684529945869424008644788234378917100362110865961960218836037353609318880277166259868596422239090754975357420198880798849146777174549090260615171861542298322274812389632322003988992066490979364000979992220629 473449661871452993382611437224986997761238752445065298938861264749636489532334194633456987599804671630957786806907595845869307452386704096501631809118617478687058508515900447365082571382739546887364160347220075743789647613066708316802248814227637410155995163085618781323378360760601552896306971586808792661337743850870189542884902753710439009468595832306096189231346921441937234897323197185625922514818673353851807510519497308319208678855073858662142727825149325848011002261278155033695698903107836677711592379789140767253027676775930443624903076195197920497498774414931785867721723141606834432251758363399908492364921998963143514134258652677338328387367123543698215511343524874575710482828610682240042031345373855381584853673475252156280877765380426251168043898685832977982606112429335016765410732100730161075368845299969469212005203267910341005882609063752503032487474347477738961717407061824608297803598092373548941227581894004474273946242224840356196508819046168140139309385251268084239960725464634541490696036793353004016478363072886265167624444842505084504020062178658391962656691048944282662829962367125626383459361525265092633444158301908752231503328751489072443000225598956577319525308136107638722402685270792794437257507620481538863847976788808860550152123090418804439101343482515483762642329413175694343292814963303062907327615366704951340690686425575407012865035293453745942346847524883111717635796018120498944209404535007606698149821823635448315034432950855076203019463737925805302581860910045700516829736183397631748110873125528233192843390628414058679257527224209929245535765107112966940616778688987966606988120856075115577734550270189790579632900928310587204070099817287720064584502110393995902330873805353626032652414940728021590460804441413586466982084079233144099704289295396848466581553052930064820483121621282417804849567609363911652127087731900691845373866850646422829984636930359015185955822761381983932267279622208443001174923196914129688863065127029481029385240899068379817773612270599002253610594615798557564624188192272835487152232886583235138310555459994242216712135829436226571353048185233985483504848556105455298166609483245813707270130979918433945789959986680557294439778125410553061173552072336545932802016686216177603156677186868692337744626965403590265217068337599956998919386332388025292131206032668214955834972316300638860559002197192342384554216389417161925332821662604400083402863985004286687381277266721448734173519452339016550809636419963201884330586002454683730405846961961283080972469797624197498654030728999482467600044971453759293854851077776920524703058407143182589686813658216115174898864840129996084362863294615606876856333917325292172299572109344573936463765290844620007 766057644870156092559010599193118100894623707697397636958828228461898353675222606434077039733892492971301734477036480535336886107739935900289712835272405418554412815775715019506135454957028003852000442109972302444761565307325018693470712637098082565237117633846217056842054239889846457240591954156033716038944837495137919667158863097277028994487975340835710370147430359556096752497618389616818667410061238123473990284409231025868643627226938146703519469571606557881573998822108365730712390118493481185512443449869872383855004534703023786180311632738310480418477615748894098702589828295722076252140717881120375076558248138857406155345948904588428709729869918376657483496711338403817982337454570798858953761392729464481829193376850013622232328721701470634968166250592170168334117386069563325701295745316603592548263484923084584944179002287929403978062574144875692462292512436706158603850505591082584627382476763444185503057080298977157953855175446101079861851585344410708872688327752538792661867623474897406795626192391263957066604964731849510237818034340407064386709000338185427637364187893318398258859190865712867119549905982972467690566771461808212027890164569866481929738629598151256672751238307163427627225415017233706040304065425183413831550451056555199017732725088349486358882860013195179785116707011208431711710399278828352979239049337959773809272876091915350822871291287296983593613559644998218740802027644018548483609775806498220764223558483238599884471718159382759280878617343765935695920903746313616835476052120035559210448533283319827271207621202371875936220383309563435691828764563530362255742043768162757772601761761659576995344733592774828807066903744768449777949085354845972965300281557396046156583781204099005226793587878632174942809826623042510383275569731885529168385142505361897629451702005610627537309368646980018990466495674832193775522197495789546351407932132787540195411361155698301760569457712791970389324452750129340695043317703216025714509264834236408314784226587628803593867359039495409318015586050545361443465370801538779694011029882408044902904791653940522411209681621961545202777938714239287024174188173013042673832674106006752828070552399868779335254221768215400015066275782224952572293806667768993428953578131037815754363589916159885796939906875606280511292570625110762080620329943117458395356409650705749130735973235106097131184857064192851466669867636359736820028080176130377465256350147204450079393105916527484685754206731644863200014304893707131125111257471859594743288749495645813026841893806268985733032947829361593333562005190289796647464169958054086784571654829382273344662171078414995973748011617304545174623478466477149175178608729714924494303561101411064915827766270836840636 1239507306741609085941622036418105098655862460142462935897689493211534843207556801067534027333697164602259521283944076381206193560126639996791344644391022897241471324291615466871218026339767550739364602457192378188551212920391727010272961451325719975393112796931835838165432600650448010136898925742842508700282581346008109210043765850987468003956571173141806559378777280998033987394941586802444589924879911477325797794928728334187852306082012005365662197396755883729585001083386520764408089021601317863224035829659013151108032211478954229805214708933508400915976390163825884570311551437328910684392476244520283568923170137820549669480207557265767038117237041920355699008054863278393692820283181481098995792738103319863414047050325265778513206487081896886136210149278003146316723498498898342466706477417333753623632330223054054156184205555839744983945183208628195494779986784183897565567912652907192925186074855817734444284662192981632227801417670941436058360404390578849011997713003806876901828348939531948286322229184616961083083327804735775405442479182912148890729062516843819600020878942262680921689153232838493503009267508237560324010929763716964259393493321355554372738855197107833992276546443271066349628100288026500477561573045664952695398427845364059567884848178768290797984203495710663547759036424384126055003214242131415886566664704664725149963562517490757835736326580750729535960407169881330458437823662139047427819180341505827462373380306874048199506151110237835483898081081691740998502764656359317352305788303433190958559406408848060464051011830785934615477910533773364937364529670643329196358822457150724379589882617734692573079283862964619386699804673079036982019185172133693029884783667790042058914655009452631259446002819360196533270631064456096850257653811118673268089431800758746096033255058540692357792490268262436795316063284196105427649285227690238196781798983433963025395998086057316946525280474173954321591732372337783696218240900130155403372329961265889344169467486697183411640971310094411571626180666343919008089558993811615181163262768991280041215347113934764627921817451397771774130986899473272507679036729118497971999283589252566535340683379787213281044181754895957309506053907635505633467358740105539361755594817253993357520267103028578134684533841009870776509638962710719079539716275505483687487615683373964086570945551406735991743859261385193851224084025776898745360901838734777548659214132208736766774383183248933419927726183983879750823941313670333009441843474314278473694596457607096107814363603893183231686978558361075801162050161743555941319021035831007309274713236525455934348984736631111148646876457434541258986341761092756052034942647040216666603133210755638852291531561681460643 2005564951611765178500632635611223199550486167839860572856517721673433196882779407501611067067589657573561255760980556916543079667866575897081057479663428315795884140067330486377353481296795554591365044567164680633312778227716745703743674088423802540630230430778052895007486840540294467377490879898876224739227418841146028877202628948264496998444546513977516929526207640554130739892559976419263257334941149600799788079337959360056495933308950152069181666968362441611158999905494886495120479140094799048736479279528885534963036746181978015985526341671818881334454005912719983272901379733050986936533194125640658645481418276677955824826156461854195747847106960297013182504766201682211675157737752279957949554130832784345243240427175279400745535208783367521104376399870173314650840884568461668168002222733937346171895815146138639100363207843769148962007757353503887957072499220890056169418418243989777552568551619261919947341742491958790181656593117042515920211989734989557884686040756345669563695972414429355081948421575880918149688292536585285643260513523319213277438062855029247237385066835581079180548344098551360622559173491210028014577701225525176287283657891222036302477484795259090665027784750434493976853515305260206517865638470848366526948878901919258585617573267117777156867063508905843332875743435592557766713613520959768865805714042624498959236438609406108658607617868047713129573966814879549199239851306157595911428956148004048226596938790112648083977869269620594764776698425457676694423668402672934187781840423468750169007939692167887735258633033157810551698293843336800629193294234173691452100866225313482152191644379394269568424017455739448193766708417847486759968270526979665995185065225186088215498436213551636486239590697992371476080457687498607233533223543004202436474574306120643725484957064151319895101858915242455785782558959028299203171482723479784548189731116221503220807359241755618707094738186965924710916185122467124391261558603346181117881594795502297658953694074325987005508330349589820889641766716889280451554929795350394875174292651399324944120138767875287039131499073359316976908925613712559531853224902131540645831957695259319363411235779655992616298403523111357324572329689860458205761165407874532790709172948291809111883857019188463931624440716616151287802209587821481160160046218622942082844025334079713217306918786512833122928716325578045317893951662136635565388982014865155013915564279413186846167489099776418105681932915628742950838246207377464134553100946173873216983345953252909134656257410162168964719926387722669134724055352033352588783190993885094093846368065907729279011155815046107122394888074739086433609820227569905227213551376755141160906694312166703768119297832518301279 3245072258353374264442254672029328298206348627982323508754207214884968040090336208569145094401286822175820777044924633297749273227993215893872402124054451213037355464358945953248571507636563105330729647024357058821863991148108472714016635539749522516023343227709888733172919441190742477514389805641718733439510000187154138087246394799251965002401117687119323488904984921552164727287501563221707847259821061078125585874266687694244348239390962157434843864365118325340744000988881407259528568161696116911960515109187898686071068957660932245790741050605327282250430396076545867843212931170379897620925670370160942214404588414498505494306364019119962785964344002217368881512821064960605367978020933761056945346868936104208657287477500545179258741695865264407240586549148176460967564383067360010634708700151271099795528145369192693256547413399608893945952940562132083451852486005073953734986330896896970477754626475079654391626404684940422409458010787983951978572394125568406896683753760152546465524321353961303368270650760497879232771620341321061048702992706231362168167125371873066837405945777843760102237497331389854125568440999447588338588630989242140546677151212577590675216339992366924657304331193705560326481615593286706995427211516513319222347306747283318153502421445886067954851267004616506880634779859976683821716827763091184752372378747289224109200001126896866494343944448798442665534373984760879657677674968296643339248136489509875688970319096986696283484020379858430248674779507149417692926433059032251540087628726901941127567346101015948199309644863943745167176204377110165566557823904817020648459688682464206531781526997128962141503301318704067580466513090926523741987455699113359025069848892976130274413091223004267745685593517352568009351088751954704083790877354122875704564006106879389821518212122692012252894349183504892581098622243224404630820767951170022744971530099655466246203357327812935653620018661139879032507917494804908087479799503476336521253924756768187003123161561023170417149301659684232461267947383233199459644488789162010056337555420390604985335485881810051667053316524757088751039912513185832039532261631250038617831241284511885898751919159443205897342585278007314634078383597495963839228524147980072152464767765545802469404124122217042066308974557626022064311848550532200239699762494128425770331641017453677303877864337919569114672575586963239169118035687913534310749883853599932562574778411621923612941872283025351525609659099612622701662187521047797143994944420488151690677942410860005242470621014055352196406904946083744935886105513776908530102212029716101403121081302433185213360140551677218271041764532173627692596161988662661279248494023795357827509827522922342620410829394199761922 5250637209965139442942887307640551497756834795822184081610724936558401236973115616070756161468876479749382032805905190214292352895859791790953459603717879528833239604426276439625924988933358659922094691591521739455176769375825218417760309628173325056653573658487941628180406281731036944891880685540594958178737419028300166964449023747516462000845664201096840418431192562106295467180061539640971104594762210678925373953604647054300844172699912309504025531333480766951903000894376293754649047301790915960696994388716784221034105703842910261776267392277146163584884401989265851116114310903430884557458864495801600859886006691176461319132520480974158533811450962514382064017587266642817043135758686041014894900999768888553900527904675824580004276904648631928344962949018349775618405267635821678802710922885208445967423960515331332356910621243378042907960697915635971408924985225964009904404749140886748030323178094341574338968147176899212591114603905026467898784383860557964781369794516498216029220293768390658450219072336378797382459912877906346691963506229550575445605188226902314074791012613424839282785841429941214748127614490657616353166332214767316833960809103799626977693824787626015322332115944140054303335130898546913513292849987361685749296185649202576739119994713003845111718330513522350213510523295569241588430441284050953618178092789913723068436439736302975152951562316846155795108340799640428856917526274454239250677092637513923915567257887099344367461889649479025013451477932607094387350101461705185727869469150370691296575285793183835934568277897101555718874498220446966195751118138990712100560554907777688683973171376523231709927318774443515774233221508774010501955726226093025020254914118162218489911527436555904231925184215344939485431546439453311317324100897127078141038580413000033547003169186843332147996208098747348366881181202252703833992250674649807293161261215876969467010716569568554360714756848105803743424102617272032478741358106822517639135519552270484662076855635349157422657632009274053350909714100122479911199418584512404931511848071789929929455624649685338706184815598116405727948838126898391571385486533381579263663198979771205262163154939099198513640988801118671958650713287356422044989689555854604943173940713837611581287981141405505997933415274242173352114058138353681399859808712751367853175666351533390521184783124432402237601291912541284487011987350050169876138865868465087576490342691035110459109361382801769631291592015241365652500433728425261278548045366662024907661288364112914377126878424217521161126831333806414070610160865810261118885403023601195496967449368340914492371296366723325393436652606912714126205982216232566506462045400550498988416521835089046388530127226718063201 8495709468318513707385141979669879795963183423804507590364932151443369277063451824639901255870163301925202809850829823512041626123853007684825861727772330741870595068785222392874496496569921765252824338615878798277040760523933691131776945167922847572676916886197830361353325722921779422406270491182313691618247419215454305051695418546768427003246781888216163907336177483658460194467563102862678951854583271757050959827871334748545192412090874466938869395698599092292647001883257701014177615463487032872657509497904682907105174661503842507567008442882473445835314798065811718959327242073810782178384534865962543074290595105674966813438884500094121319775794964731750945530408331603422411113779619802071840247868704992762557815382176369759263018600513896335585549498166526236585969650703181689437419623036479545762952105884524025613458034642986936853913638477768054860777471231037963639391080037783718508077804569421228730594551861839635000572614693010419877356777986126371678053548276650762494744615122351961818489723096876676615231533219227407740666498935781937613772313598775380912196958391268599385023338761331068873696055490105204691754963204009457380637960316377217652910164779992939979636447137845614629816746491833620508720061503875004971643492396485894892622416158889913066569597518138857094145303155545925410147269047142138370550471537202947177636440863199841647295506765644598460642714784401308514595201242750882589925229127023799604537576984086040650945910029337455262126257439756512080276534520737437267957097877272632424142631894199784133877922761045300886050702597557131762308942043807732749020243590241895215754698373652193851430620093147583354699734599700534243943181925206384045324763011138348764324618659560171977610777732697507494782635191408015401114978251249953845602586519879423368521381309535344400890557282252240947979803445477108464813018625819830038132791315532435713214073897381490014334775509245682775932020112076940566221157610298854160389444309038671665200017196372327839806933668958285812177661483355679370843907373674414987849403492180534914791110531495390373238132122873494478988750640084223610917748164631617881494440264283091160915074098542404410983574079125986592729096884852385884218213703834677095638708479383414050692105263622548064242389831868195416425906688885881639559571206879793623507307368987067825062647462351971352273867499504523656130023037963704186888749722065020139065121102657034072051233665827121156901251114853988354162621249473058422542989787150176598339230774972919619597499438272873357533736279890159006496266379587169648987615053317296900088530670774099705731436918400543664478417139086341818802144204895227785710539424345856815926349358011389008940956620917825123 13746346678283653150328029287310431293720018219626691671975657088001770514036567440710657417339039781674584842656735013726333979019712799475779321331490210270703834673211498832500421485503280425174919030207400537732217529899758909549537254796096172629330490544685771989533732004652816367298151176722908649796984838243754472016144442294284889004092446089313004325767370045764755661647624642503650056449345482435976333781475981802846036584790786776442894927032079859244550002777633994768826662765277948833354503886621467128139280365346752769343275835159619609420199200055077570075441552977241666735843399361764143934176601796851428132571404981068279853587245927246133009547995598246239454249538305843086735148868473881316458343286852194339267295505162528263930512447184876012204374918339003368240130545921687991730376066399855357970368655886364979761874336393404026269702456457001973543795829178670466538400982663762803069562699038738847591687218598036887776141161846684336459423342793148978523964908890742620268708795433255473997691446097133754432630005165332513059377501825677694986987971004693438667809180191272283621823669980762821044921295418776774214598769420176844630603989567618955301968563081985668933151877390380534022012911491236690720939678045688471631742410871893758178287928031661207307655826451115166998577710331193091988728564327116670246072880599502816800247069082490754255751055584041737371512727517205121840602321764537723520104834871185385018407799678816480275577735372363606467626635982442622995826567027643323720717917687383620068446200658146856604925200818004097958060060182798444849580798498019583899727869750175425561357938867591099128932956108474544745898908151299409065579677129300567254236146096116076209535961948042446980214181630861326718439079148377031986641166932879456915524550496378676548886765380999589314860984647729812298805269300469637331294052531409405180224790466950044375049532357351486519356122729348973044962515717121371799524963861309156327276872831721485262464565678232339163087375583478159282043325958186819919361251563970464844246735181180729079422947720989900206937588766982615182303234698013197145157639244054296423078229037641602924624562880244658551379810172208807929207903259689282038812649193221025631980086405028054062175805106110368768539964827239563039419379919631161476682973720520458346247430586784373589875159412045808143142010388013874063027615590530107715555463793692144531160595048628890788192843130095354006663054977898319701091035153812201506000519139085833996724377862490394518660567613696573077106427245397430767873018076918492397055980039115014198102733285123869057915069745999055945008126421127794292172584824896355804342871193100435397471083847635888324 22242056146602166857713171266980311089683201643431199262340589239445139791100019265350558673209203083599787652507564837238375605143565807160605183059262541012574429741996721225374917982073202190427743368823279336009258290423692600681314199964019020202007407430883602350887057727574595789704421667905222341415232257459208777067839860841053316007339227977529168233103547529423215856115187745366329008303928754193027293609347316551391228996881661243381764322730678951537197004660891695783004278228764981706012013384526150035244455026850595276910284278042093055255513998120889289034768795051052448914227934227726687008467196902526394946010289481162401173363040891977883955078403929849661865363317925645158575396737178874079016158669028564098530314105676424599516061945351402248790344569042185057677550168958167537493328172284379383583826690529351916615787974871172081130479927688039937183186909216454185046478787233184031800157250900578482592259833291047307653497939832810708137476891069799741018709524013094582087198518530132150612922979316361162173296504101114450673149815424453075899184929395962038052832518952603352495519725470868025736676258622786231595236729736554062283514154347611895281605010219831283562968623882214154530732972995111695692583170442174366524364827030783671244857525549800064401801129606661092408724979378335230359279035864319617423709321462702658447542575848135352716393770368443045886107928759956004430527550891561523124642411855271425669353709708153935537703992812120118547903170503180060263783664904915956144860549581583404202324123419192157490975903415561229720369002226606177598601042088261479115482568123827619412788558960738682483632690708175078989842090076505793110904440140438916018560764755676248187146739680739954474996816822269342119554057399626985832243753452758880284045931805914020949777322663251830262840788093206920763618287926289467369426843846941840893438864364331534389384307866597169295288142841425913611183673327420225959914408170347827992476890028093813102271499347190624975265037066833838652887233331861234907210655056150999759037845712676119452661079843863394685926339407066838793220982862644815026652079508337387583993303136184007335608136959370645144108907057061193813426116963523959134451357672604439682672191668650602126418194937978564184965871516125444678978951126510955100190281089507526171310078049136344942149026911550331799272033425977578249916365312595127854620584896349178603211828714456011945094094244949342360825676227371378123634024940962378104339749914058753616321877300763267876194303893586732083602693624984600416860633130235789297144510709889113903834170203524412722393486885085397763810270626023022077883124249242212620269220551111824406412040468553713447 35988402824885820008041200554290742383403219863057890934316246327446910305136586706061216090548242865274372495164299850964709584163278606636384504390752751283278264415208220057875339467576482615602662399030679873741475820323451510230851454760115192831337897975569374340420789732227412157002572844628130991212217095702963249083984303135338205011431674066842172558870917575187971517762812387869979064753274236629003627390823298354237265581672448019824659249762758810781747007438525690551830940994042930539366517271147617163383735392197348046253560113201712664675713198175966859110210348028294115650071333589490830942643798699377823078581694462230681026950286819224016964626399528095901319612856231488245310545605652755395474501955880758437797609610838952863446574392536278260994719487381188425917680714879855529223704238684234741554195346415716896377662311264576107400182384145041910726982738395124651584879769896946834869719949939317330183947051889084195429639101679495044596900233862948719542674432903837202355907313963387624610614425413494916605926509266446963732527317250130770886172900400655476720641699143875636117343395451630846781597554041563005809835499156730906914118143915230850583573573301816952496120501272594688552745884486348386413522848487862838156107237902677429423145453581461271709456956057776259407302689709528322348007600191436287669782202062205475247789644930626106972144825952484783257620656277161126271129872656099246644747246726456810687761509386970415813281728184483725015529806485622683259610231932559279865578467268967024270770324077339014095901104233565327678429062409404622448181840586281063015210437874003044974146497828329781612565646816649623735740998227805202176484117269739483272796910851792324396682701628782401455210998453130668837993136548004017818884920385638337199570482302292697498664088044251419577701772740936733062423557226759104700720896378351246073663654831281578764433840223948655814644265570774886656146189044541597759439372031656984319753762859815298364736065025422964138352412650311997934930559290048054826571906620121464603284580893856848532084027564853294892863928174049453975524217560658012171809718752391684007071532173825610260232699839615303695488717229270001742634020223213241173264006865825465314652278073678656188594000044088932953505836343365007718398331046142116576873254810027984517557508635920718532024186323596139942414043813991452312943980903125235570176048690041323134372423763084902733286937375044696367488731205269697824725060094774579610340269053144587613046255163253662394854871507283305160709120870382031184733651207154281694200490749004128101936903488648281780308556631084453708818397047150816370055709074138568424612091744212259803883124316189601771 58230458971487986865754371821271053473086421506489090196656835566892050096236605971411774763757445948874160147671864688203085189306844413796989687450015292295852694157204941283250257449649684806030405767853959209750734110747144110912165654724134213033345305406452976691307847459802007946706994512533353332627449353162172026151824163976391521018770902044371340791974465104611187373878000133236308073057202990822030921000170614905628494578554109263206423572493437762318944012099417386334835219222807912245378530655673767198628190419047943323163844391243805719931227196296856148144979143079346564564299267817217517951110995601904218024591983943393082200313327711201900919704803457945563184976174157133403885942342831629474490660624909322536327923716515377462962636337887680509785064056423373483595230883838023066717032410968614125138022036945068812993450286135748188530662311833081847910169647611578836631358557130130866669877200839895812776206885180131503083137041512305752734377124932748460561383956916931784443105832493519775223537404729856078779223013367561414405677132674583846785357829796617514773474218096478988612863120922498872518273812664349237405072228893284969197632298262842745865178583521648236059089125154808843083478857481460082106106018930037204680472064933461100668002979131261336111258085664437351816027669087863552707286636055755905093491523524908133695332220778761459688538596320927829143728585037117130701657423547660769769389658581728236357115219095124351350985720996603843563432976988802743523393896837475236010439016850550428473094447496531171586877007649126557398798064636010800046782882674542542130693005997830664386935056789068464096198337524824702725583088304310995287388557410178399291357675607468572583829441309522355930207815275400010957547193947631003651128673838397217483616414108206718448441410707503249840542560834143653826041845153048572070147740225293086967102519195613113153818148090545825109932408412200800267329862371961823719353780202004812312230652887909111467007564372613589113617449717145836587817792621909289733782561676272464362322426606532967984745107408716689578790267581116292768745200423302827198461798260729071591064835310009617595840836798985948839597624286331195556060137186737200307715364538429904997324469742329258315012194982067497138471707859490452397377282172653071677063535899535510688867586685057063474173213235146471741686077239969030562860346215720363424796633586390501737584252477540914678381031619994038728314407432641075948359085035736957714680018967203341229368132464016930271049175400870037244311814495366631601594284337390070991345001458893242005771073692172694502702043516169851472628667673173838447938833323380781044881312295324084210295164784743315218 94218861796373806873795572375561795856489641369546981130973081894338960401373192677472990854305688814148532642836164539167794773470123020433374191840768043579130958572413161341125596917226167421633068166884639083492209931070595621143017109484249405864683203382022351031728637192029420103709567357161484323839666448865135275235808467111729726030202576111213513350845382679799158891640812521106287137810477227451034548390993913259865760160226557283031082822256196573100691019537943076886666160216850842784745047926821384362011925811245291369417404504445518384606940394472823007255189491107640680214370601406708348893754794301282041103173678405623763227263614530425917884331202986041464504589030388621649196487948484384869965162580790080974125533327354330326409210730423958770779783543804561909512911598717878595940736649652848866692217383360785709371112597400324295930844695978123758637152386006703488216238327027077701539597150779213142960153937069215698512776143191800797331277358795697180104058389820768986799013146456907399834151830143350995385149522634008378138204449924714617671530730197272991494115917240354624730206516374129719299871366705912243214907728050015876111750442178073596448752156823465188555209626427403531636224741967808468519628867417900042836579302836138530091148432712722607820715041722213611223330358797391875055294236247192192763273725587113608943121865709387566660683422273412612401349241314278256972787296203760016414136905308185047044876728482094767164267449181087568578962783474425426783004128770034515876017484119517452743864771573870185682778111882691885077227127045415422494964723260823605145903443871833709361081554617398245708763984341474326461324086532116197463872674679917882564154586459260896980512142938304757385418813728530679795540330495635021470013594224035554683186896410499415947105498751754669418244333575080386888465402379807676770868636603644333040766174026894691918251988314494480924576673982975686923476051416503421478793152233661796631984415747724409831743629398036553251969862367457834522748351911957344560354468296393928965607007500389816516829134973569984471654195755165746744269417983960839370271517013120755598136367483835227856073536638601252535086341515601197298694157409950441480979371404255370311976747816007914503606195026156430091977544202855460115775613218795188253936790709563495206425095320977782006197399558742611684100121053960482875804327118845598994972682276431824871956676240625817411667968995038735095803138637910773773084145130511537325020288020347928842414387627270592665904046908153342405020935365748662786327935544544352685545492207897370107707977180820976283010600147254305181447064720324654817994542397519349469493404039536344014178289100932916989 152449320767861793739549944196832849329576062876036071327629917461231010497609798648884765618063134763022692790508029227370879962776967434230363879290783335874983652729618102624375854366875852227663473934738598293242944041817739732055182764208383618898028508788475327723036484651831428050416561869694837656467115802027307301387632631088121247048973478155584854142819847784410346265518812654342595210867680218273065469391164528165494254738780666546237506394749634335419635031637360463221501379439658755030123578582495151560640116230293234692581248895689324104538167590769679155400168634186987244778669869223925866844865789903186259127765662349016845427576942241627818804036006443987027689565204545755053082430291316014344455823205699403510453457043869707789371847068311639280564847600227935393108142482555901662657769060621462991830239420305854522364562883536072484461507007811205606547322033618282324847596884157208568209474351619108955736360822249347201595913184704106550065654483728445640665442346737700771242118978950427175057689234873207074164372536001569792543881582599298464456888559993890506267590135336833613343069637296628591818145179370261480619979956943300845309382740440916342313930740345113424614298751582212374719703599449268550625734886347937247517051367769599630759151411843983943931973127386650963039358027885255427762580872302948097856765249112021742638454086488149026349222018594340441545077826351395387674444719751420786183526563889913283401991947577219118515253170177691412142395760463228170306398025607509751886456500970067881216959219070401357269655119531818442476025191681426222541747605935366147276596449869664373748016611406466709804962321866299029186907174836427192751261232090096281855512262066729469564341584247827113315626629003930690753087524443266025121142268062432772166803310518706134395546909459257919258786894409224040714507247532856248841016376828937420007868693222507805072070136405040306034509082395176487190805913788465245198146932435666608944215068635633521298751193770650142365587312084603671110566144533866634294137029972666393327929434106922784501574242382286674050444463336282039513014618407263666568733315273849827189201202793844845451914373437587201374683965801932392854754294596687641788694735942685275309301217558337172818618390008223927230449252062345912513152895391448259931000326609099005895292682006034845480370612793889083425786198293929513438664673334565962419769315862822326609540928718166732090049000615032773824117546070551849721443230166248495039700306987551270071782520091287522936953222309023379649332749861115294387922219881934423676890493666790612113479050872993670785712643663424156654075732393498493265933375720900130514374716334860428224473453885676232207 246668182564235600613345516572394645186065704245583052458602999355569970898982991326357756472368823577171225433344193766538674736247090454663738071131551379454114611302031263965501451284102019649296542101623237376735153972888335353198199873692633024762711712170497678754765121843860848154126129226856321980306782250892442576623441098199850973079176054266798367493665230464209505157159625175448882348678157445724100017782158441425360014899007223829268589217005830908520326051175303540108167539656509597814868626509316535922652042041538526061998653400134842489145107985242502162655358125294627924993040470630634215738620584204468300230939340754640608654840556772053736688367209430028492194154234934376702278918239800399214420985786489484484578990371224038115781057798735598051344631144032497302621054081273780258598505710274311858522456803666640231735675480936396780392351703789329365184474419624985813063835211184286269749071502398322098696514759318562900108689327895907347396931842524142820769500736558469758041132125407334574891841065016558069549522058635578170682086032524013082128419290191163497761706052577188238073276153670758311118016546076173723834887684993316721421133182618989938762682897168578613169508378009615906355928341417077019145363753765837290353630670605738160850299844556706551752688169108864574262688386682647302817875108550140290620038974699135351581575952197536593009905440867753053946427067665673644647232015955180802597663469198098330446868676059313885679520619358778980721358543937653597089402154377544267762473985089585333960823990644271542952433231414510327553252318726841645036712329196189752422499893741498083109098166023864955513726306207773355648231261368543390215133906770014164419666848525990366544853727186131870701045442732461370548627854938901046591155862286468326849990206929205550342652408211012588677031227984304427602972649912663925611885013432581753048634867249402496990322124719534786959085756378152174114281965204968666676940084669328405576199484383357931130494823168686695617557174452061505633314496445823978854491498269060322293536441607312601018403377355856658522098659091447786257284036391224505939004832286970582787337570277680073307987910076188453909770307317533590153448452006638083269674107346940645621277965374345087322224585034380357322426796265201372628928508610243448184937117318662501101717777327012627486568012352631695109886319347889996314469000453411561414741998139254151481497604958792549501716969610071508919920684708462623494527375296760032364720595007899198914196907718558115602857269217176722054353685226863957174250155426478776362435985874687982221187028053814647068723243810678461835522797113823148083927918118419479983868120374396772238651742986609149196 399117503332097394352895460769227494515641767121619123786232916816800981396592789975242522090431958340193918223852222993909554699024057888894101950422334715329098264031649366589877305650977871876960016036361835669978098014706075085253382637901016643660740220958973006477801606495692276204542691096551159636773898052919749878011073729287972220128149532422383221636485078248619851422678437829791477559545837663997165487173322969590854269637787890375506095611755465243939961082812664003329668919096168352844992205091811687483292158271831760754579902295824166593683275576012181318055526759481615169771710339854560082583486374107654559358705003103657454082417499013681555492403215874015519883719439480131755361348531116413558876808992188887995032447415093745905152904867047237331909478744260432695729196563829681921256274770895774850352696223972494754100238364472469264853858711600534971731796453243268137911432095341494837958545854017431054432875581567910101704602512600013897462586326252588461434943083296170529283251104357761749949530299889765143713894594637147963225967615123311546585307850185054004029296187914021851416345790967386902936161725446435204454867641936617566730515923059906281076613637513692037783807129591828281075631940866345569771098640113774537870682038375337791609451256400690495684661296495515537302046414567902730580455980853088388476804223811157094220030038685685619359127459462093495491504894017069032321676735706601588781190033088011613848860623636533004194773789536470392863754304400881767395800179985054019648930486059653215177783209714672900222088350946328770029277510408267867578459935131555899699096343611162456857114777430331665318688628074072384835138436204970582966395138860110446275179110592719836109195311433958984016672071736392061301715379382167071712298130348901099016793517447911684738199317670270507935818122393528468317479897445520174452901390261519173056503560471910302062392261124575092993594838773328661305087878993433911875087017104995014520414553018991452429246016939336837983144486536665176743880640979690613148628528241726715621465875714235385519977619738143332572543122427729825770298654798488172507738147560820409976538773071524918759902283513775655284454273119465983008202746603325725058368843289625920930579182932682260140842975042604284552876048327547285142081404001691708115937443927761506997010459333047472966938625146520778535672517641819509753133673787977523834511314002076478091038533676959281591765970225104282744038230779014473215970605463008527404420901995450468985979427809845638539810491526200101703686435087979251562172375308413200039326479541478594334666078926808317854435887474102618489598529507321641349861293839319610498242836709257200463125196872285381403 645785685896332994966240977341622139701707471367202176244835916172370952295575781301600278562800781917365143657196416760448229435271148343557840021553886094783212875333680630555378756935079891526256558137985073046713251987594410438451582511593649668423451933129470685232566728339553124358668820323407481617080680303812192454634514827487823193207325586689181589130150308712829356579838063005240359908223995109721265504955481411016214284536795114204774684828761296152460287133987967543437836458752677950659860831601128223405944200313370286816578555695959009082828383561254683480710884884776243094764750810485194298322106958312122859589644343858298062737258055785735292180770425304044012077873674414508457640266770916812773297794778678372479611437786317784020933962665782835383254109888292929998350250645103462179854780481170086708875153027639134985835913845408866045246210415389864336916270872868253950975267306525781107707617356415753153129390340886473001813291840495921244859518168776731282204443819854640287324383229765096324841371364906323213263416653272726133908053647647324628713727140376217501791002240491210089489621944638145214054178271522608928289755326929934288151649105678896219839296534682270650953315507601444187431560282283422588916462393879611828224312708981075952459751100957397047437349465604380111564734801250550033398331089403228679096843198510292445801605990883222212369032900329846549437931961682742676968908751661782391378853502286109944295729299695846889874294408895249373585112848338535364485202334362598287411404471149238549138607200358944443174521582360839097582529829135109512615172264327745652121596237352660539966212943454196620832414934281845740483369697573513973181529045630124610694845959118710202654049038620090854717717514468853431850343234321068118303453992635369425866783724377117235080851725881283096612849350377832895920452547358184100064786403694100926105138427721312799052714385844109879952680595151480835419369844198402578552027101774323420096614037402349383559740840108023533600701660988726682377195137425514592003120026510787037915002317321547986538380997093999991094641781519177612027582691189712678446742979847790992763876343349204992067890193589964109194224580436999573161651198609963808328042950636566566551857148307027347463067560076984641875302844592748657771009912611935156300874561246424008098728236660060100453506637499152473645558836989709506067602674241389085249253312141330629572536138635751831093482939835175791663958915487477096710497980759768559769141497003349667900176335528403754142667760743376823758040120314843208736422530734891976401762465416166576555853106980622964923159131284781080325121326621144789433789211957739090482110957083653972701776939858894530599 1044903189228430389319136438110849634217349238488821300031068832989171933692168571276842800653232740257559061881048639754357784134295206232451941971976220810112311139365329997145256062586057763403216574174346908716691350002300485523704965149494666312084192154088443691710368334835245400563211511419958641253854578356731942332645588556775795413335475119111564810766635386961449208002516500835031837467769832773718430992128804380607068554174583004580280780440516761396400248216800631546767505377848846303504853036692939910889236358585202047571158457991783175676511659137266864798766411644257858264536461150339754380905593332419777418948349346961955516819675554799416847673173641178059531961593113894640213001615302033226332174603770867260474643885201411529926086867532830072715163588632553362694079447208933144101111055252065861559227849251611629739936152209881335310100069126990399308648067326111522088886699401867275945666163210433184207562265922454383103517894353095935142322104495029319743639386903150810816607634334122858074790901664796088356977311247909874097134021262770636175299034990561271505820298428405231940905967735605532116990339996969044132744622968866551854882165028738802500915910172195962688737122637193272468507192223149768158687561033993386366094994747356413744069202357358087543122010762099895648866781215818452763978787070256317067573647422321449540021636029568907831728160359791940044929436855699811709290585487368383980160043535374121558144589923332379894069068198431719766448867152739417131881002514347652307060334957208891764316390410073617343396609933307167867611807339543377380193632199459301551820692580963822996823327720884528286151103562355918125318508133778484556147924184490235056970025069711430038763244350054049838734389586205245493152058613703235190015752122984270524883577241825028919819051043551553604548667472771361364237932444803704274517687793955620099161641988193223101115106646968684972946275433924809496724457723191836490427114118879318434617028590421340835988986857047360371583846147525391859121075778405205205151748554752513753536468193035783372058358616832143323667184903946907437797881345988200850954481127408611402740415116420729910827792477103739764478678853556465556169853945213289533386411793926192487482436331239709607603910535119588926428178892920295942913091316613626864416812005174185515095738695993107573420445262645673252181231354631529015820736348029366609083764626143407107663574672312711112685248910060280074407997146266491569926468586222777087173562398998800136886155763338249392682478252269576925461726555402822460298594906043305176441088944957645170890519185907431282777595018758883698814719856128466430783650505797058700980353793792911173164902136731179912002 1690688875124763384285377415452471773919056709856023476275904749161542885987744352578443079216033522174924205538245056514806013569566354576009781993530106904895524014699010627700634819521137654929473132312331981763404601989894895962156547661088315980507644087217914376942935063174798524921880331743366122870935258660544134787280103384263618606542800705800746399896785695674278564582354563840272197375993827883439696497084285791623282838711378118785055465269278057548860535350788599090205341836601524254164713868294068134295180558898572334387737013687742184759340042698521548279477296529034101359301211960824948679227700290731900278537993690820253579556933610585152139853944066482103544039466788309148670641882072950039105472398549545632954255322987729313947020830198612908098417698520846292692429697854036606280965835733235948268103002279250764725772066055290201355346279542380263645564338198979776039861966708393057053373780566848937360691656263340856105331186193591856387181622663806051025843830723005451103932017563887954399632273029702411570240727901182600231042074910417960804012762130937489007611300668896442030395589680243677331044518268491653061034378295796486143033814134417698720755206706878233339690438144794716655938752505433190747604023427872998194319307456337489696528953458315484590559360227704275760431516017069002797377118159659545746670490620831741985823242020452130044097193260121786594367368817382554386259494239030166371538897037660231502440319223028226783943362607326969140033980001077952496366204848710250594471739428358130313454997610432561786571131515668006965194337168678486892808804463787047203942288818316483536789540664338724906983518496637763865801877831351998529329453230120359667664871028830140241417293388674140693452107100674098925002401848024303308319206115619639950750360966202146154899902769432836701161516823149194260158384992161888374582474197649721025266780415914535900167821032812794852898956029076290332143827567390239068979141220653641854713642627823690219548727697155383905184547808514118541498270915830719797154868581263300791451470510357331358596739613926143314761826685466085049825464037177913529401224107256402395504291459769934902895682670693703873672903433993465129331505143823253341714454744562759054034293479546736955066978095196573568303481737513044600684101229225562020717686566420609523194466932653167673873951900144825725826790191621238521888339022270755694333017938284737737236110810948462943778731849895455866071956061753968666636966566982545646942703896002149804786332098866653146825146013012953749219766675717665669035017436778197152842851410373811747446372292888054247700754150043664779139841182749611220217439717754797791462464750876565145866679076590074442601 2735592064353193773604513853563321408136405948344844776306973582150714819679912923855285879869266262432483267419293696269163797703861560808461723965506327715007835154064340624845890882107195418332689706486678890480095951992195381485861512810582982292591836241306358068653303398010043925485091843163324764124789837017276077119925691941039414019878275824912311210663421082635727772584871064675304034843763660657158127489213090172230351392885961123365336245709794818945260783567589230636972847214450370557669566904987008045184416917483774381958895471679525360435851701835788413078243708173291959623837673111164703060133293623151677697486343037782209096376609165384568987527117707660163076001059902203788883643497374983265437647002320412893428899208189140843873107697731442980813581287153399655386509145062969750382076890985301809827330851530862394465708218265171536665446348669370662954212405525091298128748666110260332999039943777282121568253922185795239208849080546687791529503727158835370769483217626156261920539651898010812474423174694498499927218039149092474328176096173188596979311797121498760513431599097301673971301557415849209448034858265460697193779001264663037997915979163156501221671116879074196028427560781987989124445944728582958906291584461866384560414302203693903440598155815673572133681370989804171409298297232887455561355905229915862814244138043153191525844878050021037875825353619913726639296805673082366095550079726398550351698940573034353060584909146360606678012430805758688906482847153817369628247207363057902901532074385567022077771388020506179129967741448975174832806144508221864273002436663246348755762981399280306533612868385223253193134622058993681991120385965130483085477377414610594724634896098541570280180537738728190532186496686879344418154460461727538498334958238603910475633938208027175074718953812984390305710184295920555624396317436965592649100161991605341124428422404107759001282927679781479825845231463001099828868285290582075559406255339532960289330671218245031055537714554202744276768393956039510400619346694235925002306617136015814544987938703393114730655098230758286638429011589412992487623345383166114380355705234665013798244706576190664813723475147797443638151582287549930685501359089036542875100866538488951541516729810786446562670888630316162494731660630433340543597192545839188885134498571594795038290205628646275247294397162790498978008021546252767537709075370300122303416782564428144844899685483261174056463980759955735940479953208020460236563435153205322734116266295000949941672487862204902539507624265282530674681493231120488129333612342821502329283940355331456918336891478795485530478349168802548477954561038878077651001090223551856492442818544669476319031581213321254354603 4426280939477957157889891269015793182055462658200868252582878331312257705667657276433728959085299784607407472957538752783969811273427915384471505959036434619903359168763351252546525701628333073262162838799010872243500553982090277448018060471671298273099480328524272445596238461184842450406972174906690886995725095677820211907205795325303032626421076530713057610560206778310006337167225628515576232219757488540597823986297375963853634231597339242150391710979072876494121318918377829727178189051051894811834280773281076179479597476382346716346632485367267545195191744534309961357721004702326060983138885071989651739360993913883577976024336728602462675933542775969721127381061774142266620040526690512937554285379447933304543119400869958526383154531176870157820128527930055888911998985674245948078938842917006356663042726718537758095433853810113159191480284320461738020792628211750926599776743724071074168610632818653390052413724344131058928945578449136095314180266740279647916685349822641421795327048349161713024471669461898766874055447724200911497458767050275074559218171083606557783324559252436249521042899766198116001697147096092886779079376533952350254813379560459524140949793297574199942426323585952429368117998926782705780384697234016149653895607889739382754733609660031393137127109273989056724240731217508447169729813249956458358733023389575408560914628663984933511668120070473167919922546880035513233664174490464920481809573965428716723237837610694584563025228369388833461955793413085658046516827154895322124613412211768153496003813813925152391226385630938740916538872964643181798000481676900351165811241127033395959705270217596790070402409049561978100118140555631445856922263796482481614806830644730954392299767127371710521597831127402331225638603787553443343156862309751841806654164354223550426384299174229321229618856582417227006871701119069749884554702429127481023682636189255062149695202820022294901450748712594274678744187492077390161012112857972314628385396560186602144044313846068721275086442251358128181952941764553628942117617610066644799461485717279115336439409213750446089251837844684429953190838274879077537448809420344027909756929341921416193748998035960599716619157818491147511824485721543395814832864232859796216815321283051710595551023290333183517737866725512736063035142367946385144281293775064750905852185138015404561484672561299442921168349062935324703834811737874006059597414392570877997749800502712882582135796294209637000242712609851191806551909269774428903200401720187868381058970191003099746458819961071555686332770278295484423901259906838153798368629779599699482126791765705268665783263771683539778179103318846213257094402221627688871218529941306654283905283295546041464898260289911328797204 7161873003831150931494405122579114590191868606545713028889851913462972525347570200289014838954566047039890740376832449053133608977289476192933229924542762334911194322827691877392416583735528491594852545285689762723596505974285658933879573282254280565691316569830630514249541859194886375892064018070015651120514932695096289027131487266342446646299352355625368821223627860945734109752096693190880267063521149197755951475510466136083985624483300365515727956688867695439382102485967060364151036265502265369503847678268084224664014393866121098305527957046792905631043446370098374435964712875618020606976558183154354799494287537035255673510679766384671772310151941354290114908179481802429696041586592716726437928876822916569980766403190371419812053739366011001693236225661498869725580272827645603465447987979976107045119617703839567922764705340975553657188502585633274686238976881121589553989149249162372297359298928913723051453668121413180497199500634931334523029347286967439446189076981476792564810265975317974945011321359909579348478622418699411424676806199367548887394267256795154762636356373935010034474498863499789972998704511942096227114234799413047448592380825122562138865772460730701164097440465026625396545559708770694904830641962599108560187192351605767315147911863725296577725265089662628857922102207312618579028110482843913920088928619491271375158766707138125037512998120494205795747900499949239872960980163547286577359653691827267074936778183728937623610137515749440139968224218844346952999674308712691752860619574826056397535888199492174468997773651444920046506614413618356630806626185122215438813677790279744715468251616877096604015277434785231293252762614625127848042649761612964700284208059341549116934663225913280801778368866130521757825100474432787761311322771479380304989122592827460902018237382256496304337810395401617312581885414990305508951019866093073672782798180860403274123625224130053902733676392375754504589418955078489989880398148554390187791651899719562433374985064313752330624156805560872458721335720593139342736964304302569801768102853294929881427347917143560819906936075442716591619849864292070025072154803510142290112634576586429991993704612151264530342632966288591149976068009093326500334223321896339091916187821540662137067753101119630080408755355828898557766802998379725687878486320903939790986683709610199599774878189945718168462746225725823681842833284126773597306489762871000301166583067141027427035481777470811056706693369806927747031862477794889139763836873393191115175236486004049688131307823276458225840394543578015098582753137958641927702242122421201811410732121036725584120155250479025308657452487648761735048963260505766522219620164858510776348101840215517783929841503232583151807 11588153943309108089384296391594907772247331264746581281472730244775230231015227476722743798039865831647298213334371201837103420250717391577404735883579196954814553491591043129938942285363861564857015384084700634967097059956375936381897633753925578838790796898354902959845780320379728826299036192976706538116240028372916500934337282591645479272720428886338426431783834639255740446919322321706456499283278637738353775461807842099937619856080639607666119667667940571933503421404344890091329225316554160181338128451549160404143611870248467814652160442414060450826235190904408335793685717577944081590115443255144006538855281450918833649535016494987134448243694717324011242289241255944696316082113283229663992214256270849874523885804060329946195208270542881159513364753591554758637579258501891551544386830896982463708162344422377326018198559151088712848668786906095012707031605092872516153765892973233446465969931747567113103867392465544239426145079084067429837209614027247087362874426804118214360137314324479687969482990821808346222534070142900322922135573249642623446612438340401712545960915626371259555517398629697905974695851608034983006193611333365397703405760385582086279815565758304901106523764050979054764663558635553400685215339196615258214082800241345150069881521523756689714852374363651685582162833424821065748757923732800372278821952009066679936073395371123058549181118190967373715670447379984753106625154654012207059169227657255983798174615794423522186635365885138273601924017631930004999516501463608013877474031786594209893539702013417326860224159282383660963045487378261538428807107862022566604624918917313140675173521834473886674417686484347209393370903170256573704964913558095446315091038704072503509234430353284991323376199993532852983463704261986231104468185081231222111643286947051011328402536556485817533956666977818844319453586534060055393505722295220554696465434370115465423818828044152348804184425104970029183333606447155880150892511006526704816177048459906164577419298910382473605710599056919000640674277485146768284854581914369214601229588570574045217866757130894006909158773920127146544810688139171147562520964223854170199869563918507846185742702648111864246961790784779738661800553730636722315167087554756135308731509104592372732618776391452813598146622081341634620801945366326110832159780095968690696838868847625604161259550751245161089631095288661148385677645022000779656903904155441878298916383569853910009171278071680448056949405979658119553583771747569318042964238593581059496234206677007149434590127784348013912173164821873499522484013044796795726070871902020901293537523886741994249903419022162565086836555806494974992143365482133455393438150106165165060253385135761559248828101793143911949011 18750026947140259020878701514174022362439199871292294310362582158238202756362797677011758636994431878687188953711203650890237029228006867770337965808121959289725747814418735007331358869099390056451867929370390397690693565930661595315777207036179859404482113468185533474095322179574615202191100211046722189236754961068012789961468769857987925919019781241963795253007462500201474556671419014897336766346799786936109726937318308236021605480563939973181847624356808267372885523890311950455480261582056425550841976129817244628807626264114588912957688399460853356457278637274506710229650430453562102197092001438298361338349568987954089323045696261371806220553846658678301357197420737747126012123699875946390430143133093766444504652207250701366007262009908892161206600979253053628363159531329537155009834818876958570753281962126216893940963264492064266505857289491728287393270581973994105707755042222395818763329230676480836155321060586957419923344579718998764360238961314214526809063503785595006924947580299797662914494312181717925571012692561599734346812379449010172334006705597196867308597272000306269589991897493197695947694556119977079233307846132778445151998141210704648418681338219035602270621204516005680161209118344324095590045981159214366774269992592950917385029433387481986292577639453314314440084935632133684327786034215644286198910880628557951311232162078261183586694116311461579511418347879933992979586134817559493636528881349083250873111393978152459810245503400887713741892241850774351952516175772320705630334651361420266291075590212909501329221932933828581009552101791879895059613734047144782043438596707592885390641773451350983278432963919132440686623665784881701553007563319708411015375246763414052626169093579198272125154568859663374741288804736419018865779507852710602416632409539878472230420773938742313838294477373220461632035471949050360902456742161313628369248232550975868697942453268282402706918101497345783687923025402234370140772909155081095003968700359625727010794283974696225936334755862479873099395613205739907627591546218671784402997691423868975099294105048037567729065709995569863136430538003463217587593119027364312489982198495094276177736407260263128777304423751068329811776621739730048815501310876652474400647696926133034869686529492572443678555377437170533178568748364705836520038266416872630487825552557235803761034428941190879258093841514386972067520478306127553254210393918312878600082966636994937436206759849151259113656099349465047300615634225364207182728075466974250611409443163011199122721435607624472138013559365451514621066766182755437653773114024442103104948256007778719834023574272641590395494008294143736727192328742639221915657770271023675836601486975977077032757943296376495100818 30338180890449367110262997905768930134686531136038875591835312403013432987378025153734502435034297710334487167045574852727340449478724259347742701691701156244540301306009778137270301154463251621308883313455091032657790625887037531697674840790105438243272910366540436433941102499954344028490136404023428727352994989440929290895806052449633405191740210128302221684791297139457215003590741336603793265630078424674463502399126150335959225336644579580847967292024748839306388945294656840546809486898610585732180104581366405032951238134363056727609848841874913807283513828178915046023336148031506183787207444693442367877204850438872922972580712756358940668797541376002312599486661993691822328205813159176054422357389364616319028538011311031312202470280451773320719965732844608387000738789831428706554221649773941034461444306548594219959161823643152979354526076397823300100302187066866621861520935195629265229299162424047949259188453052501659349489658803066194197448575341461614171937930589713221285084894624277350883977303003526271793546762704500057268947952698652795780619143937598579854558187626677529145509296122895601922390407728012062239501457466143842855403901596286734698496903977340503377144968566984734925872676979877496275261320355829624988352792834296067454910954911238676007430013816966000022247769056954750076543957948444658477732832637624631247305557449384242135875234502428953227088795259918746086211289471571700695698109006339234671286009772575981996880869286025987343816259482704356952032677235928719507808683148014476184615292226326828189446092216212241972597589170141433488420841909167348648063515624906026065815295285824869952850650403479650079994568955138275257972476877803857330466285467486556135403523932483263448530768853196227724752508998405249970247692933941824528275696486929483558823310495228131372251144351039305951489058483110416295962464456534183065713666921091334121761281312434751511102526602315812871256631849390250291665420161607799820145748819531891588213582885078699542045354919398873740069890690886675912446128133040999004227279994443020317160862178931574638224483915697009681241226142634365150114083251218482689851762413602122363479109908374993024266214535848068473577175470366771130668398431408609709379206030725407602305305884025257276701999518512167799370693731031947352198046512841321184664421404861407922293979692436040347724936803048120453198123328128332911114298073754756898999350206848847445378037920831707170605505329123166854199405972933525225692314060555310107643649840018348557311563391972486050186724187325014143550779227552233379843985926463004398485779894520714083926993294804155482330564100638711719335694224772677309095920377188840896854872111738636281586045089520407049829 49088207837589626131141699419942952497125731007331169902197894561251635743740822830746261072028729589021676120756778503617577478706731127118080667499823115534266049120428513144601660023562641677760751242825481430348484191817699127013452047826285297647755023834725969908036424679528959230681236615070150916589749950508942080857274822307621331110759991370266016937798759639658689560262160351501130031976878211610573229336444458571980830817208519554029814916381557106679274469184968791002289748480667011283022080711183649661758864398477645640567537241335767163740792465453421756252986578485068285984299446131740729215554419426827012295626409017730746889351388034680613956684082731438948340329513035122444852500522458382763533190218561732678209732290360665481926566712097662015363898321160965861564056468650899605214726268674811113900125088135217245860383365889551587493572769040860727569275977418025083992628393100528785414509513639459079272834238522064958557687536655676140981001434375308228210032474924075013798471615185244197364559455266099791615760332147662968114625849534795447163155459626983798735501193616093297870084963847989141472809303598922288007402042806991383117178242196376105647766173082990415087081795324201591865307301515043991762622785427246984839940388298720662300007653270280314462332704689088434404329992164088944676643713266182582558537719527645425722569350813890532738507143139852739065797424289131194332226990355422485544397403750728441807126372686913701085708501333478708904548853008249425138143334509434742475690882439236329518668025150040822982149690962021328548034575956312130691502112332498911456457068737175853231283614322612090766618234740019976810980040197512268345841532230900608761572617511681535573685337712859602466041313734824268836027200786652426944908106026807955789244084433970445210545621724259767583524530432160777198419206617847811434961899472067202819703734580717154218020628099661596559179657251624620432438329316688894824114449179157618599007866859774925478380110781878746839465503896626583540037674351712783407224971418311995416454967226969142367290193911266872817671764146097582737707202278582795179833960908696398541215517168638121801570638286916398285353797210096819946169709308061084110026902956858442471991835376597700955257376955682700977939442095737783872236312929713951672489973962097211683328408633626919605818778317435092520718601634255886165324691992067635499082316843843784881584797769982966284261604678588214154815040198297732408420389527529560719053093003029547680032998999596958188200283552776528764617545410307671033617099950905107503434035902299433917950567567445745877824572394782448446528022967411899224753690648212516733456359087715713314343988385896902150647 79426388728038993241404697325711882631812262143370045494033206964265068731118847984480763507063027299356163287802353356344917928185455386465823369191524271778806350426438291281871961178025893299069634556280572463006274817704736658711126888616390735891027934201266406341977527179483303259171373019093579643942744939949871371753080874757254736302500201498568238622590056779115904563852901688104923297606956636285036731735570608907940056153853099134877782208406305945985663414479625631549099235379277597015202185292550054694710102532840702368177386083210680971024306293632336802276322726516574469771506890825183097092759269865699935268207121774089687558148929410682926556170744725130770668535326194298499274857911822999082561728229872763990412202570812438802646532444942270402364637110992394568118278118424840639676170575223405333859286911778370225214909442287374887593874956107727349430796912613654349221927555524576734673697966691960738622323897325131152755136111997137755152939364965021449495117369548352364682448918188770469158106217970599848884708284846315763895244993472394027017713647253661327881010489738988899792475371576001203712310761065066130862805944403278117815675146173716609024911141649975150012954472304079088140568621870873616750975578261543052294851343209959338307437667087246314484580473746043184480873950112533603154376545903807213805843276977029667858444585316319485965595938399771485152008713760702895027925099361761720215683413523304423804007241972939688429524760816183065856581530244178144645952017657449218660306174665563157708114117366253064954747280132162762036455417865479479339565627957404937522272364023000723184134264726091740846612803695158252068952517075316125676307817698387164896976141444164799022216106566055830190793822733229518806274893720594251473183802513737439348067394929198576582796766075299073535013588915271193494381671074381994500675566393158536941465015893151905729123154701977409430436289101014870724103749478296694644260197998689510187221449744853625020425465701277620579535394587513259452483802484753782411452251412755015733615829405900717005514677826963882498912990288731947887821285529801277869685723322298520904694627077013114825836852822764466758930972680463591076838107739469693819406108987583850074297141260622958231959376474194868777310135826769731224434359442555272857154395366958619605622388326062959953543715120483212973916724962384219076438990065822392398081667050692632326962835690814673454867110007711381009014446171231257634112703588084870826696742843047896237344562391569444238387007740101542908168324637859904413461085877368111901919815796820148001877560862249901360155136495421160165863717192184576533849611025401357630311231199454349595930033475417309200476 128514596565628619372546396745654835128937993150701215396231101525516704474859670815227024579091756888377839408559131859962495406892186513583904036691347387313072399546866804426473621201588534976830385799106053893354759009522435785724578936442676033538782958035992376250013951859012262489852609634163730560532494890458813452610355697064876067413260192868834255560388816418774594124115062039606053329583834847895609961072015067479920886971061618688907597124787863052664937883664594422551388983859944608298224266003733704356468966931318348008744923324546448134765098759085758558529309305001642755755806336956923826308313689292526947563833530791820434447500317445363540512854827456569719008864839229420944127358434281381846094918448434496668621934861173104284573099157039932417728535432153360429682334587075740244890896843898216447759411999913587471075292808176926475087447725148588077000072890031679433214555948625105520088207480331419817895158135847196111312823648652813896133940799340329677705149844472427378480920533374014666522665673236699640500468616993978732009870843007189474180869106880645126616511683355082197662560335423990345185120064663988418870207987210269500932853388370092714672677314732965565100036267628280680005875923385917608513598363688790037134791731508680000607445320357526628946913178435131618885203942276622547831020259169989796364380996504675093581013936130210018704103081539624224217806138049834089360152089717184205760080817274032865611133614659853389515233262149661774761130383252427569784095352166883961135997057104799487226782142516293887936896971094184090584489993821791610031067740289903848978729432760176576415417879048703831613231038435178228879932557272828394022149349929287773658548758955846334595901444278915432656835136468053787642302094507246678418091908540545395137311479363169021793342387799558841118538119347431970692800877692229805935637465865225739761168750473869059947143782801639005989615946352639491156542078794985589468374647177847128786229316604628550498805576483156367419000898484139842992521476836466565818677222831067011150070796632869859372804871738230755316584754434829530625528487808384073049519684230994919445910144245651236627407491109680865044284769890560411023007817047530777929433011944442292546288976637220659187216753429877569755249577922507515096670672372269224529644369329055831288950796959689879559362493437918305494635326596640105241763682057890027897163983894536417208547633460797639739128714686299595163829486369528990042533093115614431545749835846077443917377561391166402426587291292878071672785870048167575447078185828273219405353851699119581919828128429695647237979708890203608612391740159596475758603301673613874363767590287170062910274021861314211351123 207940985293667612613951094071366717760750255294071260890264308489781773205978518799707788086154784187734002696361485216307413335077641900049727405882871659091878749973305095708345582379614428275900020355386626356361033827227172444435705825059066769429810892237258782591991479038495565749023982653257310204475239830408684824363436571822130803715760394367402494182978873197890498687967963727710976627190791484180646692807585676387860943124914717823785379333194168998650601298144220054100488219239222205313426451296283759051179069464159050376922309407757129105789405052718095360805632031518217225527313227782106923401072959158226882832040652565910122005649246856046467069025572181700489677400165423719443402216346104380928656646678307260659034137431985543087219631601982202820093172543145754997800612705500580884567067419121621781618698911691957696290202250464301362681322681256315426430869802645333782436483504149682254761905447023380556517482033172327264067959760649951651286880164305351127200267214020779743163369451562785135680771891207299489385176901840294495905115836479583501198582754134306454497522173094071097455035706999991548897430825729054549733013931613547618748528534543809323697588456382940715112990739932359768146444545256791225264573941950333089429643074718639338914882987444772943431493652181174803366077892389156150985396805073797010170224273481704761439458521446529504669699019939395709369814851810536984388077189078945925975764230797337289415140856632793077944758022965844840617711913496605714430047369824333179796303231770362644934896259882546952891644251226346852620945411687271089370633368247308786501001796783177299599552143774795572459843842130336480948885074348144519698457167627674938555524900400011133618117550844971262847628959201283306448576988227840929891275711054282834485378874292367598376139153874857914653551708262703164187182548766611800436313032258384276702633766367020965676266937503616415420052235453654361880645828273282284112634845176536638973450766349482175519231042184433987998536293071653102445005279321220348230129474243822026883686626038770576378319549565194637815497744723561478513349773338185350919205407553293440350604771322664351453244343932445331803215742571024002099845924787000471748839120932026142620586117897843617419176129904072438532559713749277246321105031814824497386798764696014450894573185285752839512906208558401518468552051559024324318202672123712420295245650945229049535510469151612313193995824694010976172843932540760247676645796703699302372446578689125340154722123782735846664974299032979614580954194686027479860539271705641331307273667495939729921705689291945548598134845385624768778255457351781052292452912699015231994078821486624412506204055336731520551599 336455581859296231986497490817021552889688248444772476286495410015298477680838189614934812665246541076111842104920617076269908741969828413633631442574219046404951149520171900134819203581202963252730406154492680249715792836749608230160284761501742802968593850273251158842005430897507828238876592287421040765007734720867498276973792268887006871129020587236236749743367689616665092812083025767317029956774626332076256653879600743867781830095976336512692976457982032051315539181808814476651877203099166813611650717300017463407648036395477398385667232732303577240554503811803853919334941336519859981283119564739030749709386648450753830395874183357730556453149564301410007581880399638270208686265004653140387529574780385762774751565126741757327656072293158647371792730759022135237821707975299115427482947292576321129457964263019838229378110911605545167365495058641227837768770406404903503430942692677013215651039452774787774850112927354800374412640169019523375380783409302765547420820963645680804905417058493207121644289984936799802203437564443999129885645518834273227914986679486772975379451861014951581114033856449153295117596042423981894082550890393042968603221918823817119681381922913902038370265771115906280213027007560640448152320468642708833778172305639123126564434806227319339522328307802299572378406830616306422251281834665778698816417064243786806534605269986379855020472457576739523373802101479019933587620989860371073748229278796130131735845048071370155026274471292646467459991285115506615378842296749033284214142721991217140932300288875162132161678402398840840828541222320530943205435405509062699401701108537212635479731229543353876014970022823499404073074880565514709828817631620972913720606517556962712214073659355857468214018995123886695504464095669337094090879082735087608309367619594828229622690353655536620169481541674416755772089827610135134879983426458841606371950498123610016463802516840890025623410720305255421409668181806293853037187907068267873581009492354383767759680082954110726018036618667590355417537191555792945437526756157686914048806697074889038033757422671640435751124421303425393132082499158391009138878261146569423968725091784288359796514915568315588080651835042126196847500512461584413122853741834531249678272132876468435166875094535064276606392883333950008287809291671784761417775704187093721916443134025070282183523982245442719072268701996319823963187378155664429559966354181602448192409634839765466744058102612409952933124539380310571336673418910289237719178889819313733918196414535202784072099685173902249091561590325857686253740064734195055307617457533914550712627519195059311841533817721641195836114554275828377390647197511377528051056214372629106357846411773794475416478077198045731902722 544396567152963844600448584888388270650438503738843737176759718505080250886816708414642600751401325263845844801282102292577322077047470313683358848457090705496829899493476995843164785960817391528630426509879306606076826663976780674595990586560809572398404742510509941433996909936003393987900574940678350969482974551276183101337228840709137674844780981603639243926346562814555591500050989495028006583965417816256903346687186420255642773220891054336478355791176201049966140479953034530752365422338389018925077168596301222458827105859636448762589542140060706346343908864521949280140573368038077206810432792521137673110459607608980713227914835923640678458798811157456474650905971819970698363665170076859830931791126490143703408211805049017986690209725144190459012362361004338057914880518444870425283559998076902014025031682141460010996809823297502863655697309105529200450093087661218929861812495322346998087522956924470029612018374378180930930122202191850639448743169952717198707701127951031932105684272513986864807659436499584937884209455651298619270822420674567723820102515966356476578034615149258035611556029543224392572631749423973442979981716122097518336235850437364738429910457457711362067854227498846995326017747493000216298765013899500059042746247589456215994077880945958678437211295247072515809900482797481225617359727054934849801813869317583816704829543468084616459930979023269028043501121418415642957435841670908058136306467875076057711609278868707444441415327925439545404749308081351455996554210245638998644190091815550320728603520645524777096574662281387793720185473546877795826380817196333788772334476784521421980733026326531175614522166598294976532918722695851190777702705969117433419063685184637650769598559755868601832136545968857958352093054870620400539456070962928538200643330649111064108069227947904218545620695549274670425641535872838299067165975225453406808263530381994293166436283207910991299677657808871836829720417259948214917833735341550157693644337530920406733130849303592901537267660852024343416073484627446047882532035478907262278936171318711064917444048710411012129443970868620030947580243881952487652228034484754774887930499337581800147119686890979939533896178974571528650716255032608415222699666621531721427111253808494577787461212432907894025569013238022446820369005421062007738880736001918219303241898721084733078097167531195558585174910554721342431739429714688753878169026305314868487655285784994516279568571764022266127120364074321547509517351451049485395824686523013036290642993224328124226821808956638095756535889358837300834694259420222535168156729239555882019901186690999041763239507013586744434249399661453146168902654863158580343509127071644338351925233260418887922682132534777252454321 880852149012260076586946075705409823540126752183616213463255128520378728567654898029577413416647866339957686906202719368847230819017298727316990291031309751901781049013648895977983989542020354781360832664371986855792619500726388904756275348062552375366998592783761100276002340833511222226777167228099391734490709272143681378311021109596144545973801568839875993669714252431220684312134015262345036540740044148333160000566787164123424603316867390849171332249158233101281679661761849007404242625437555832536727885896318685866475142255113847148256774872364283586898412676325803199475514704557937188093552357260168422819846256059734543623789019281371234911948375458866482232786371458240907049930174730000218461365906875906478159776931790775314346282018302837830805093120026473295736588493743985852766507290653223143482995945161298240374920734903048031021192367746757038218863494066122433292755187999360213738562409699257804462131301732981305342762371211374014829526579255482746128522091596712737011101331007193986451949421436384740087647020095297749156467939508840951735089195453129451957486476164209616725589885992377687690227791847955337062532606515140486939457769261181858111292380371613400438119998614753275539044755053640664451085482542208892820918553228579342558512687173278017959539603049372088188307313413787647868641561720713548618230933561370623239434813454464471480403436600008551417303222897435576545056831531279131884535746671206189447454326940077599467689799218086012864740593196858071375396506994672282858332813806767461660903809520686909258253064680228634548726695867408739031816222705396488174035585321734057460464255869885051629492189421794380605993603261365900606520337590090347139670202741600362983672219111726070046155541092744653856557150539957494630335153698016146510010950243939293730759581603440838715102237223691426197731363482973433947149401684295013180214028505604309630238800048801016923088378114127258239388599066242067955021642409818031274653829885304174492810932257703627555304279519614698833610676183238993320058791636594176327742868393600102951201471382051447880568392172045424079662743040343496791106295631324198856655591121870159943634602459295527614548014016697725498216767494192828345553408456062971105383386684963012954336306967972170631961896571972455108178297092846769156656440189011941219685032746155015261621149776638277657443612551041166394926807870353183438135380486917316680064920624759983023626674376432219060244903454632118846190770361338723115003576342326770208839407759530908298921494130540344848097479684694987088434324154417590475774186773470432732528705886058353604773324735227940270363953937281523559549852374536108394565341444273444709771645034213363339160209732822984357043 1425248716165223921187394660593798094190565255922459950640014847025458979454471606444220014168049191603803531707484821661424552896064769041000349139488400457398610948507125891821148775502837746309991259174251293461869446164703169579352265934623361947765403335294271041709999250769514616214677742168777742703973683823419864479648249950305282220818582550443515237596060815245776275812185004757373043124705461964590063347253973584379067376537758445185649688040334434151247820141714883538156608047775944851461805054492619908325302248114750295910846317012424989933242321540847752479616088072596014394903985149781306095930305863668715256851703855205011913370747186616322956883692343278211605413595344806860049393157033366050181567988736839793301036491743447028289817455481030811353651469012188856278050067288730125157508027627302758251371730558200550894676889676852286238668956581727341363154567683321707211826085366623727834074149676111162236272884573403224654278269749208199944836223219547744669116785603521180851259608857935969677971856475746596368427290360183408675555191711419485928535521091313467652337145915535602080262859541271928780042514322637238005275693619698546596541202837829324762505974226113600270865062502546640880749850496441708951863664800818035558552590568119236696396750898296444603998207796211268873486001288775648398420044802878954439944264356922549087940334415623277579460804344315851219502492673202187190020842214546282247159063605808785043909105127143525558269489901278209527371950717240311281502522905622317782389507330166211686354827726961616428268912169414286534858197039901730276946370062106255479441197282196416227244014356020089357138912325957217091384223043559207780558733887926238013753270778867594671878292087061602612208650205410577895169791224660944684710654280893050357838828809551345057260722932772966096623372899355811733014315376909748419988477558887598602796675083256712008222766035922999095069109016326190282872855377751368188968298167416224581225941781561296529092571940371639042249684160810685041202590827115501438606679039712311167868645520092462460010012363040665455027242986922295984443334330116078973744586090459451960090754289350275467148444192991269254148933022526801243568253075077594692532494640493457590741797519400880064657530909809994901928547302513908776895537176190930160522926931467239748339718317307833836242618523105762508826666237585041937316304406792232185167720206409754499303195246140454485187365267528953666355708121812388208510828262865339806499482400983859032525743303087178440604633369043532287923128583574640125643930916013026314752429892577057395368012831748814684704613353598734669728452507237694688738074468515917783061696878294632251261842342267600236811364 2306100865177483997774340736299207917730692008106076164103269975545837708022126504473797427584697057943761218613687541030271783715082067768317339430519710209300391997520774787799132765044858101091352091838623280317662065665429558484108541282685914323132401928078032141986001591603025838441454909396877134438464393095563545857959271059901426766792384119283391231265775067676996960124319020019718079665445506112923223347820760748502491979854625836034821020289492667252529499803476732545560850673213500683998532940388938594191777390369864143059103091884789273520140734217173555679091602777153951582997537507041474518750152119728449800475492874486383148282695562075189439116478714736452512463525519536860267854522940241956659727765668630568615382773761749866120622548601057284649388057505932842130816574579383348300991023572464056491746651293103598925698082044599043276887820075793463796447322871321067425564647776322985638536280977844143541615646944614598669107796328463682690964745311144457406127886934528374837711558279372354418059503495841894117583758299692249627290280906872615380493007567477677269062735801527979767953087333119884117105046929152378492215151388959728454652495218200938162944094224728353546404107257600281545200935978983917844684583354046614901111103255292514714356290501345816692186515109625056521354642850496361947038275736440325063183699170377013559420737852223286130878107567213286796047549504733466321905377961217488436606517932748862643376794926361611571134230494475067598747347224234983564360855719429085244050411139686898595613080791641845062817638865281695273890013262607126765120405647427989536901661538066301278873506545441883737744905929218582991990743381149298127698404090667838376736942997979320741924447628154347266065207355950535389800126378358960831220665231136989651569588391154785895975825169996657522821104262838785166961464778594043433168691587393202912426913883305513025145854414037126353308497615392432350827877020161186220242951997301528755718752713819000156647876219891253741083294836993924034522649618752095614934421908105911270819846991474513907890580755212710879106905729962639481234440625747403172601241681581322120034388891809570994762992207007966979647149790020994071913806483533657663637878027178420603696133826368852235289492806381967357036725599606755546052193616379942101742611964213394763601339467084472113900062135656803675221593045455395120754439787279149501847785127034514482326821920516886704247610170983585785201898892173726931625831839207666576708321808743389940824664797217718785452730848728227275011562907729057716119705102786496747484958598463115748972786156484042624974977307536016193288002359612230797132639809960191227771468523328845614601002552000423221168407 3731349581342707918961735396893006011921257264028536114743284822571296687476598110918017441752746249547564750321172362691696336611146836809317688570008110666699002946027900679620281540547695847401343351012874573779531511830132728063460807217309276270897805263372303183696000842372540454656132651565654877142438076918983410337607521010206708987610966669726906468861835882922773235936504024777091122790150968077513286695074734332881559356392384281220470708329827101403777319945191616083717458720989445535460337994881558502517079638484614438969949408897214263453383055758021308158707690849749965977901522656822780614680457983397165057327196729691395061653442748691512396000171058014664117877120864343720317247679973608006841295754405470361916419265505196894410440004082088096003039526518121698408866641868113473458499051199766814743118381851304149820374971721451329515556776657520805159601890554642774637390733142946713472610430653955305777888531518017823323386066077671882635800968530692202075244672538049555688971167137308324096031359971588490486011048659875658302845472618292101309028528658791144921399881717063581848215946874391812897147561251789616497490845008658275051193698056030262925450068450841953817269169760146922425950786475425626796548248154864650459663693823411751410753041399642261296184722905836325394840644139272010345458320539319279503127963527299562647361072267846563710338911911529138015550042177935653511926220175763770683765581538557647687285900053505137129403720395753277126119297941475294845863378625051403026439918469853110281967908518603461491086551034695981808748210302508857042066775709534245016342858820262717506117520901461973094883818255175800083374966424708505908257137978594076390490213776846915413802739715215949878273857561361113284969917603019905515931319512030040009408417200706130953236548102769623619444477162194596899975780155503791853157169146280801515223588966562225033368620449960125448377606631718622633700732397912554409211250164717753336944694495380296685740448160262892783332978997804609075725240445867597053541100947818222438688492511566976367900593118253376334134148716884935465677774955863482146345827772040774080125143181159846461911436399999236233796082812547795315482059558611252356170372667671878194437931345769732299947023716191962258965272902120664322947730792570872262265538895680634511941057784392305950142680658762566184048259283040437058070744194071381687015505333444268981630017166657341189434975438512539451557607013986115140136660102073006383207804209727248973350408100304897226057364217771759562934691491303697841763636018799523062237388491040173144340798988232857309679590661134750863016454866849925485870714278476109010833165401623477865862844894268023457979771 6037450446520191916736076133192213929651949272134612278846554798117134395498724615391814869337443307491325968934859903721968120326228904577635028000527820875999394943548675467419414305592553948492695442851497854097193577495562286547569348499995190594030207191450335325682002433975566293097587560962532011580902470014546956195566792070108135754403350789010297700127610950599770196060823044796809202455596474190436510042895495081384051336247010117255291728619319768656306819748668348629278309394202946219458870935270497096708857028854478582029052500782003536973523789975194863837799293626903917560899060163864255133430610103125614857802689604177778209936138310766701835116649772751116630340646383880580585102202913849963501023520074100930531802039266946760531062552683145380652427584024054540539683216447496821759490074772230871234865033144407748746073053766050372792444596733314268956049213425963842062955380919269699111146711631799449319504178462632421992493862406135565326765713841836659481372559472577930526682725416680678514090863467430384603594806959567907930135753525164716689521536226268822190462617518591561616169034207511697014252608180941994989705996397618003505846193274231201088394162675570307363673277017747203971151722454409544641232831508911265360774797078704266125109331900988077988371238015461381916195286989768372292496596275759604566311662697676576206781810120069849841217019478742424811597591682669119833831598136981259120372099471306510330662694979866748700537950890228344724866645165710278410224234344480488270490329609540008877580989310245306553904189899977677082638223565115983807187181356962234553244520358329018784991027446903856832628724184394383075365709805857804035955542069261914767227156774826236155727187343370297144339064917311648674770043981378866347151984743167029660978005591860916849212373272766281142265581425033382066937244934097835286325860733674004427650502849867738058514474863997251801686104247111054984528609418073740629454202162019282092663447209199296842388324380154146524416273834798533110247890064619692668475522855924133709508339503041490275791173873466087213241054446847574946912215581610885318947069453622096200159532072969417456674428607007203213443232602568789387395866042144910019808250694850298798134065172138584535236516522573929616001998501727419868999924408950814364008150859894029275542397251476778064042742794419369859269852328495832178825183981350531188863290460478783463956839087174227893682585609496125236759505906159842071762491941280672959916126018470638914175072897522616011510095066499986837946254399032755557883341121586019809722347089503288893313585144716899934654567968670767056304457226462156283003354088436300238604633924952323480463847446268446679148178 9768800027862899835697811530085219941573206536163148393589839620688431082975322726309832311090189557038890719256032266413664456937375741386952716570535931542698397889576576147039695846140249795894038793864372427876725089325695014611030155717304466864928012454822638509378003276348106747753720212528186888723340546933530366533174313080314844742014317458737204168989446833522543431997327069573900325245747442267949796737970229414265610692639394398475762436949146870060084139693859964712995768115192391754919208930152055599225936667339093020999001909679217800426906845733216171996506984476653883538800582820687035748111068086522779915129886333869173271589581059458214231116820830765780748217767248224300902349882887457970342319274479571292448221304772143654941502556765233476655467110542176238948549858315610295217989125971997685977983414995711898566448025487501702308001373390835074115651103980606616700346114062216412583757142285754755097392709980650245315879928483807447962566682372528861556617232010627486215653892553989002610122223439018875089605855619443566232981226143456817998550064885059967111862499235655143464384981081903509911400169432731611487196841406276278557039891330261464013844231126412261180942446777894126397102508929835171437781079663775915820438490902116017535862373300630339284555960921297707311035931129040382637954916815078884069439626224976138854142882387916413551555931390271562827147633860604773345757818312745029804137681009864158017948595033371885829941671285981621850985943107185573256087612969531891296930248079393119159548897828848768044990740934673658891386433867624840849253957066496479569587379178591736291108548348365829927512542439570183158740676230566309944212680047855991157717370551673151569529927058586247022612922478672761959739961584398771863083304255197069670386422792567047802448921375535904761710058587227978966913025089601627139483029879954805942874091816429963091883095313957377250063710878829677618229341815986295038665452326737035429608141704579593528128772540417039307749252832603142185973130510487289722016623803742356148196832014608466643691766991719463547375203163732510412589990537474367465292897225662870280284675254129263918585865007006439447239315415116584702877925600756162375978623362522176992571996517908316835183540238765891874967271403848084191947655201521686626273689755574663787483455035869084014185423453181936043318111611536269236895928175421912875878795793923052445586856253831569083117561048008664688317112920145957211899152043353679343123930228197887887525480997827513237567459284271746400880945890336453399646977140385542871959735580543462037654384132949757244334158629805517919320912093312081768874068366912409249437799326575801346326692340536470137127949 15806250474383091752433887663277433871225155808297760672436394418805565478474047341701647180427632864530216688190892170135632577263604645964587744571063752418697792833125251614459110151732803744386734236715870281973918666821257301158599504217299657458958219646272973835060005710323673040851307773490718900304243016948077322728741105150422980496417668247747501869117057784122313628058150114370709527701343916458386306780865724495649662028886404515731054165568466638716390959442528313342274077509395337974378079865422552695934793696193571603028054410461221337400430635708411035834306278103557801099699642984551290881541678189648394772932575938046951481525719370224916066233470603516897378558413632104881487452085801307933843342794553672222980023344039090415472565109448378857307894694566230779488233074763107116977479200744228557212848448140119647312521079253552075100445970124149343071700317406570458763301494981486111694903853917554204416896888443282667308373790889943013289332396214365521037989791483205416742336617970669681124213086906449259693200662579011474163116979668621534688071601111328789302325116754246705080554015289415206925652777613673606476902837803894282062886084604492665102238393801982568544615723795641330368254231384244716079013911172687181181213287980820283660971705201618417272927198936759089227231218118808754930451513090838488635751288922652715060924692507986263392772950869013987638745225543273893179589416449726288924509780481170668348611290013238634530479622176209966575852588272895851666311847314012379567420577688933128037129887139094074598894930834651335974024657432740824656441138423458714122831899536920755076099575795269686760141266623964566234106386036424113980168222117117905924944527326499387725257114401956544166951987395984410634510005565777638210235288998364099331364428384427964651661294648302185903975640012261361033850270023699462425808890613628810370524594666297701150397570177954629051749815125940732602757951234060035668119654488756317522271588913778890370517096920571185832165526667401675296221020575106982390492146659666489857705171517649956919482940865185550760616257610580085359502206119085252784239966679284966480444207327098681375260293614013642660682548017685374090273791642901072395786874057372475790706061690046901370420056761339821490969269905575504060947579610472500990281840615468693063025852287345862078228166247601305902587963940032101415721112156772444064742086254401835909543695341005796976800146657504789925076618826305799283661643984634352303040056246668526801700553895350129249077554350771733238827200289369208957530318261971562681682082670046750930967969277666657178988726598476284975625369319774238051877422455348709488042433251528124826790539786804916816276127 25575050502245991588131699193362653812798362344460909066026234039493996561449370068011479491517822421569107407446924436549297034200980387351540461141599683961396190722701827761498805997873053540280773030580242709850643756146952315769629659934604124323886232101095612344438008986671779788605027986018905789027583563881607689261915418230737825238431985706484706038106504617644857060055477183944609852947091358726336103518835953909915272721525798914206816602517613508776475099136388278055269845624587729729297288795574608295160730363532664624027056320140439137827337481441627207830813262580211684638500225805238326629652746276171174688062462271916124753115300429683130297350291434282678126776180880329182389801968688765904185662069033243515428244648811234070414067666213612333963361805108407018436782933078717412195468326716226243190831863135831545878969104741053777408447343514984417187351421387177075463647609043702524278660996203308959514289598423932912624253719373750461251899078586894382594607023493832902957990510524658683734335310345468134782806518198455040396098205812078352686621665996388756414187615989901848544938996371318716837052947046405217964099679210170560619925975934754129116082624928394829725558170573535456765356740314079887516794990836463097001651778882936301196834078502248756557483159858056796538267149247849137568406429905917372705190915147628853915067574895902676944328882259285550465892859403878666525347234762471318728647461491034826366559885046610520360421293462191588426838531380081424922399460283544270864350825768326247196678784967942842643885671769324994865411091300365665505695095489955193692419278715512491367208124143635516687653809063534749392847062266990423924380902164973897082661897878172539294787041460542791189564909874657172594249967150176410073318593253561169001750851176995012454110216023838090665685698599489340000763295113301089565291920493583616313398686482727664242280665491912006301813526004770410220987293050046330706785106815493352951879730618358483898645869460988225139914779500004817482194151085594272112508770463408846005902003532258423563174707856905014307991460774312595772092196656559620249532863904947836760728882581227945293846158621020082107921863432801958793151717243657234771765497419894652783278058207955218205603597000105713365936541309423588252895234811994187616555530371043356850509307323214946092413589700783241945906075551568370652617040332194356940620882048324888355130551594837366059917707705513454613393731746451756495560796027988031646163986474866414689226034893177642486645013635043479639708146179705662357177295402357105553641818250590212968622353410616414423322885228281802894946281413086319820751490822261118737480232578103926173117232127341386953404076 41381300976629083340565586856640087684023518152758669738462628458299562039923417409713126671945455286099324095637816606684929611464585033316128205712663436380093983555827079375957916149605857284667507267296112991824562422968209616928229164151903781782844451747368586179498014696995452829456335759509624689331826580829685011990656523381160805734849653954232207907223562401767170688113627298315319380648435275184722410299701678405564934750412203429937870768086080147492866058578916591397543923133983067703675368660997160991095524059726236227055110730601660475227768117150038243665119540683769485738199868789789617511194424465819569460995038209963076234641019799908046363583762037799575505334594512434063877254054490073838029004863586915738408267992850324485886632775661991191271256499674637797925016007841824529172947527460454800403680311275951193191490183994605852508893313639133760259051738793747534226949104025188635973564850120863163931186486867215579932627510263693474541231474801259903632596814977038319700327128495328364858548397251917394476007180777466514559215185480699887374693267107717545716512732744148553625493011660733923762705724660078824441002517014064842682812060539246794218321018730377398270173894369176787133610971698324603595808902009150278182865066863756584857805783703867173830410358794815885765498367366657892498857942996755861340942204070281568975992267403888940337101833128299538104638084947152559704936651212197607653157241972205494715171175059849154890900915638401555002691119652977276588711307597556650431771403457259375233808672107036917242780602603976330839435748733106490162136233913413907815251178252433246443307699938905203447795075687499315626953448303414537904549124282091803007606425204671927020044155862499335356516897270641583228759972715954048283553882251925268333115279561422977105771510672140276569661338611750701034613565137000551991100811107212426683923281149025365392678235669866635353563341130711142823745244284106366374904761304249670474151319532137374269162966381559410972080306167406492778415171660701254503000917123075335863607175049908380482657648722090565068607718384892681131594402775644873033772830584232803241173089908326626669106452235033724768604411450487332883425508886558307167552371477267128573984119898002119576023653761445534856905811214999092313842814422466688606837370986512049913535159610560808170641755948384547848494039491600472068338152488966801005362968302726724264674246935843163036717854363018244538470350572757555779222440012622383949204042721534941490926588788527771735722567985815212878535346469074871314707613664328668235323900920636963899590322688283071602311611826758087870571650732860557872628913277609828225522665829632050999907771914146303769680203 66956351478875074928697286050002741496821880497219578804488862497793558601372787477724606163463277707668431503084741043234226645665565420667668666854263120341490174278528907137456722147478910824948280297876355701675206179115161932697858824086507906106730683848464198523936023683667232618061363745528530478359410144711292701252571941611898630973281639660716913945330067019412027748169104482259929233595526633911058513818537632315480207471938002344144687370603693656269341157715304869452813768758570797432972657456571769286256254423258900851082167050742099613055105598591665451495932803263981170376700094595027944140847170741990744149057500481879200987756320229591176660934053472082253632110775392763246267056023178839742214666932620159253836512641661558556300700441875603525234618304783044816361798940920541941368415854176681043594512174411782739070459288735659629917340657154118177446403160180924609690596713068891160252225846324172123445476085291148492556881229637443935793130553388154286227203838470871222658317639019987048592883707597385529258813698975921554955313391292778240061314933104106302130700348734050402170432008032052640599758671706484042405102196224235403302738036474000923334403643658772227995732064942712243898967712012404491112603892845613375184516845746692886054639862206115930387893518652872682303765516614507030067264372902673234046133119217910422891059842299791617281430715387585088570530944351031226230283885974668926381804703463240321081731060106459675251322209100593143429529651033058701511110767881100921296122229225585622430487457074979759886666274373301325704846840033472155667831329403369101507670456967945737810515824082540720135448884751034065019800510570404961828930026447065700090268323082844466314831197323042126546081807145298755823009939866130458356872475505486437334866130738417989559881726695978367235347037211240041035376860250301641556392731600796042997321967631753029634958901161778641655376867135481553044732537334152697081689868119743023426031050150495858167808835842547636111995085667411310260609322746295526615509687586484181869509178582166804045832356578995579376599179159205276903686599432204493283305694489180640001901972489554571962952610856053806876526274883289291676577226130215541939317868897161781357262178105957337781627250761551248222842352524422680566738049234460876223392901357555406764044466933775754263055345649167789794400115043168842720955192821161157945983850351051612619804798530680529096635562068531699151864082319209312274783236040610415595368029196401356180152623681705414222367581620858692518243492648780533671884909066685773788965719171227176868212676098899486025634497055039890765517932145946877693380404099870946963002898407735977173025004041487690723084279 108337652455504158269262872906642829180845398649978248542951490956093120641296204887437732835408732993767755598722557649919156257130150453983796872566926556721584157834355986513414638297084768109615787565172468693499768602083371549626087988238411687889575135595832784703434038380662685447517699505038155167691236725540977713243228464993059436708131293614949121852553629421179198436282731780575248614243961909095780924118239310721045142222350205774082558138689773803762207216294221460850357691892553865136648026117568930277351778482985137078137277781343760088282873715741703695161052343947750656114899963384817561652041595207810313610052538691842277222397340029499223024517815509881829137445369905197310144310077668913580243671796207074992244780634511883042187333217537594716505874804457682614286814948762366470541363381637135843998192485687733932261949472730265482426233970793251937705454898974672143917545817094079796225790696445035287376662572158364072489508739901137410334362028189414189859800653447909542358644767515315413451432104849302923734820879753388069514528576773478127436008200211823847847213081478198955795925019692786564362464396366562866846104713238300245985550097013247717552724662389149626265905959311889031032578683710729094708412794854763653367381912610449470912445645909983104218303877447688568069263883981164922566122315899429095387075323288191991867052109703680557618532548515884626675169029298183785935220537186866534034961945435445815796902235166308830142223124738994698432220770686035978099822075478657571727893632682844997664296129182016677129446876977277656544282588766578645829967563316783009322921635220378984253823524021445923583243960438533380646753958873819499733479150729157503097874748287516393334875353185541461902598704415940339051769912582084506640426357757411705667981410299840966665653237368118643805008375822990742069990425387302193547493542708008469681245248780778395027637136831645277008940208266192695868477781618259063456594629423992693900182369682633232436971802224107047084075391834817803039024494406996781118510604709559517733116353632075184528490005301086144445206897544097958035281002207849366317078525073413443243075062397881198632059063091087531645130686333776624560002735016773849106870240374428909931246298003959457357650904522996783079748163739421772880580863656927564830230272344067456677579626544336562433697101597552337642894154534769314789293345310127958951346818653778336884479045466523692133353416431549943690334432891966868054005676053232799544572071917936297671079212470233185958090149606673905396778839117855404986592522731014442024289620091864140767802998787182557627946108881797978636089582878807435566009317377480775188525564237368028172932775955633994492764482 175294003934379233197960158956645570677667279147197827347440353453886679242668992365162338998872010701436187101807298693153382902795715874651465539421189677063074332112884893650871360444563678934564067863048824395174974781198533482323946812324919593996305819444296983227370062064329918065579063250566685646050646870252270414495800406604958067681412933275666035797883696440591226184451836262835177847839488543006839437936776943036525349694288208118227245509293467460031548374009526330303171460651124662569620683574140699563608032906244037929219444832085859701337979314333369146656985147211731826491600057979845505792888765949801057759110039173721478210153660259090399685451868981964082769556145297960556411366100847753322458338728827234246081293276173441598488033659413198241740493109240727430648613889682908411909779235813816887592704660099516671332408761465925112343574627947370115151858059155596753608142530162970956478016542769207410822138657449512565046389969538581346127492581577568476087004491918780765016962406535302462044315812446688452993634578729309624469841968066256367497323133315930149977913430212249357966357027724839204962223068073046909251206909462535649288288133487248640887128306047921854261638024254601274931546395723133585821016687700377028551898758357142356967085508116099034606197396100561250373029400595671952633386688802102329433208442506102414758111952003472174899963263903469715245699973649215012165504423161535460416766648898686136878633295272768505393545333839587841861750421719094679610932843359758493024015861908430620094783586256996437016113151350578982249129428800050801497798892720152110830592092188324722064339348103986643718692845189567445666554469444224461562409177176223203188143071370360859649706550508583588448680511561239094874779852448214964997298833262898143002847541038258956225534964064097011040355413034230783105367285637603835103886274308804512678567216412531424662596037993423918664317075401674248913210318952411760538284497543735717326213419833129090604780638066654683196070477502229113299633817153292307734020292296043699602625532214241988574322361880081723821806076703303234938967601640053859600384219562594083244977034887435770595011673947141338521656961217065916236579961146989391046188109271590691288508476109916795139278155284548031302590516263844453447318912891388441053623173701622863441624093478112316696752447246720127437294269577938157510248538131289116897330669004829949504283843997204221229988978500081642842198515211176180328788912093843215139940101114337653851231836151938600180457731227532597915022331766635938658477431797700215813255339263091317636015674886082043653580605936837869401607515024754313259389721477351722151528462645104005345957779997121685215848761 283631656389883391467223031863288399858512677797176075890391844409979799883965197252600071834280743695203942700529856343072539159925866328635262411988116233784658489947240880164285998741648447044179855428221293088674743383281905031950034800563331281885880955040129767930804100444992603513096762755604840813741883595793248127739028871598017504389544226890615157650437325861770424620734568043410426462083450452102620362055016253757570491916638413892309803647983241263793755590303747791153529152543678527706268709691709629840959811389229175007356722613429619789620853030075072841818037491159482482606500021364663067444930361157611371369162577865563755432551000288589622709969684491845911907001515203157866555676178516666902702010525034309238326073910685324640675366876950792958246367913698410044935428838445274882451142617450952731590897145787250603594358234196190594769808598740622052857312958130268897525688347257050752703807239214242698198801229607876637535898709439718756461854609766982665946805145366690307375607174050617875495747917295991376728455458482697693984370544839734494933331333527753997825126511690448313762282047417625769324687464439609776097311622700835895273838230500496358439852968437071480527543983566490305964125079433862680529429482555140681919280670967591827879531154026082138824501273548249818442293284576836875199509004701531424820283765794294406625164061707152732518495812419354341920869002947398798100724960348401994451728594334131952675535530439077335535768458578582540293971192405130657710754918838416064751909494591275617759079715439013114145560028327856638793412017566629447327766456036935120153513727408703706318162872125432567301936805628100826313308428318043961295888327905380706286017819657877252984581903694125050351279215977179433926549765030299471637725191020309848670828951338099922891188201432215654845363788857221525175357711024906028651379817016812982359812465193309819690233174825069195673257283667866944781688100570670823994879126967728411226395789515762323041752440290761730280145869337046916338658311560289088852530897005603217335741885846317173102812367181167868267012974247401192974248603847903225917462744636007526488052097285316969227070737038228870166787647550842540796582696163763240153058349646019601219754774113876252496929059807544814382338680003266226327899776548316005883853446045690320119203720022448879130449548844272465080188424112707472299541883441417075848677487658608286388762889463727913363342394931631586532532948103143048382794588147076014684512173032273951522311048622171786138547880834206503311801170884491343645069954528714657837544959354955458403818673673264601281526714818635848037697097903561748825399038854832497340054026882472033518890555952755679708613243 458925660324262624665183190819933970536179956944373903237832197863866479126634189617762410833152754396640129802337155036225922062721582203286727951409305910847732822060125773815157359186212125978743923291270117483849718164480438514273981612888250875882186774484426751158174162509322521578675826006171526459792530466045518542234829278202975572070957160166281193448321022302361650805186404306245604309922938995109459799991793196794095841610926622010537049157276708723825303964313274121456700613194803190275889393265850329404567844295473212936576167445515479490958832344408441988475022638371214309098100079344508573237819127107412429128272617039285233642704660547680022395421553473809994676557660501118422967042279364420225160349253861543484407367186858766239163400536363991199986861022939137475584042728128183294360921853264769619183601805886767274926766995662115707113383226687992168009171017285865651133830877420021709181823781983450109020939887057389202582288678978300102589347191344551142033809637285471072392569580585920337540063729742679829722090037212007318454212512905990862430654466843684147803039941902697671728639075142464974286910532512656685348518532163371544562126363987744999326981274484993334789182007821091580895671475156996266350446170255517710471179429324734184846616662142181173430698669648811068815322685172508827832895693503633754253492208300396821383276013710624907418459076322824057166568976596613810266229383509937454868495243232818089554168825711845840929313792418170382155721614124225337321687762198174557775925356499706237853863301696009551161673179678435621042541446366680248825565348757087230984105819597028428382502220229419211020629650817668271979862897762268422858297505081603909474160891028238112634288454202708638799959727538418528801329617478514436635024024283207991673676492376358879116723165496312665885719201891452308280724996662509863755266091325617495038379681605841244352829212818493114337574359069541193694898419523082584533163624511464128552609209348891413646533078357416413476216346839276029638292128713581396586551189301646916938367418060559161677134729061249592088819050950704427913216205487957085517846964198601609733029132172752739822082410985370208688444608767908457033162657310752631199246458917610292508263250223793047636207215092092845684929196267110679775218689439704446937476619747313183560827813500561195827201996090992592517482693690645629809790421572706192746008156663438235893046733460932134593331373431713229374731463314319228711583500240919229824452274146611605373542884774110386319005612061739101226823502651127282303547386326414873650800298618046776039834348559346644935107320755473717439304612928316062084788760332184219491582489527576038864848335949877364924462004 742557316714146016132406222683222370394692634741549979128224042273846279010599386870362482667433498091844072502867011379298461222647448531921990363397422144632391312007366653979443357927860573022923778719491410572524461547762343546224016413451582157768067729524556519088978262954315125091772588761776367273534414061838766669973858149800993076460501387056896351098758348164132075425920972349656030772006389447212080162046809450551666333527565035902846852805259949987619059554617021912610229765738481717982158102957559959245527655684702387943932890058945099280579685374483514830293060129530696791704600100709171640682749488265023800497435194904848989075255660836269645105391237965655906583559175704276289522718457881087127862359778895852722733441097544090879838767413314784158233228936637547520519471566573458176812064470715722350774498951674017878521125229858306301883191825428614220866483975416134548659519224677072461885631021197692807219741116665265840118187388418018859051201801111533807980614782652161379768176754636538213035811647038671206450545495694705012438583057745725357363985800371438145628166453593145985490921122560090743611597996952266461445830154864207439835964594488241357766834242922064815316725991387581886859796554590858946879875652810658392390460100292326012726147816168263312255199943197060887257615969749345703032404698205165179073775974094691228008440075417777639936954888742178399087437979544012608366954343858339449320223837566950042229704356150923176465082250996752922449692806529355995032442681036590622527834851090981855612943017135022665307233208006292259835953463933309696153331804794022351137619547005732134700665092354851778322566456445769098293171326080312384154185832986984615760178710686115365618870357896833689151238943515597962727879382508813908272749215303517840344505443714458802007911366928528320731082990748673833456082707687415892406645908342430477398192146799151064043062387643562310010831642737408138476586520093753408528042751479192539779004998864653736688285518648178143756362216176322945976950440273870485439082086307250134274109303906876334779947096242417460355832025198105620887464809335860311435309708834609136221081229458069709049153148023599078855232256318750997829745353474515871352304808563629893728018024337669300133136274899637660067267876270376906103118465988020452821330065793003503680031533523010074957651544935265057597671117803353102109332305014123268594685644322046522281809622924660047956673768363344815907264411417462277094378088387995244508964447178885556895853933396282172457553492895945604538624673535618625948617340855129531488345257973002234443653022232611246216634035574109565477001710831877810910187799187016716831636516410048072383738891902633044633075247 1201482977038408640797589413503156340930872591685923882366056240137712758137233576488124893500586252488484202305204166415524383285369030735208718314806728055480124134067492427794600717114072699001667702010761528056374179712242782060497998026339833033650254504008983270247152425463637646670448414767947893733326944527884285212208687428003968648531458547223177544547079370466493726231107376655901635081929328442321539962038602647345762175138491657913383901962536658711444363518930296034066930378933284908258047496223410288650095499980175600880509057504460578771538517718891956818768082767901911100802700180053680213920568615372436229625707811944134222717960321383949667500812791439465901260116836205394712489760737245507353022709032757396207140808284402857119002167949678775358220089959576684996103514294701641471172986323980491969958100757560785153447892225520422008996575052116606388875654992702000199793350102097094171067454803181142916240681003722655042700476067396318961640548992456084950014424419937632452160746335222458550575875376781351036172635532906712330892795570651716219794640267215122293431206395495843657219560197702555717898508529464923146794348687027578984398090958475986357093815517407058150105907999208673467755468029747855213230321823066176102861639529617060197572764478310444485685898612845871956072938654921854530865300391708798933327268182395088049391716089128402547355413965065002456254006956140626418633183727368276904188719080799768131783873181862769017394396043414923304605414420653581332354130443234765180303760207590688093466806318831032216468906387684727880878494910299989944978897153551109582121725366602760563083167312584270989343196107263437370273034223842580807012483338068588525234339601714353478253158812099542327951198671054016491529208999987328344907773239586725832018181936090817681124634532424840986616802192640126141736807704349925756161911999668047972436571828404992308395891600462055424348406001806949332171484939616835993061206375990656668331614208213545150334818597005594557232578563015598975615242568987451882025633275608897051212476721967435496457081825303667052444651076148810048800681014823817396953156673033210745954110361630822448871235559008969287543676865086659454862908010785268502551551267481240186236281274561462347769343489991730505752197072537487585878337155427724899758806685540316687240859347023571270784853541026257650115153811493998731919122726586829461340693800985484758174856356385592182550005141795058045281995874731781505805961588628914474333416721325497162269396818170392558776559104957684705765448176186745908252164727181544405139145556591049010483487370791957891151741356329583282916306323760193872994976559519200936323219005937624111248587227852510409557537251 1944040293752554656929995636186378711325565226427473861494280282411559037147832963358487376168019750580328274808071177794822844508016479267130708678204150200112515446074859081774044075041933272024591480730252938628898641260005125606722014439791415191418322233533539789336130688417952771762221003529724261006861358589723051882182545577804961724991959934280073895645837718630625801657028349005557665853935717889533620124085412097897428508666056693816230754767796608699063423073547317946677160144671766626240205599180970247895623155664877988824441947563405678052118203093375471649061142897432607892507300280762851854603318103637460030123143006848983211793215982220219312606204029405121807843676011909671002012479195126594480885068811653248929874249381946947998840935362993559516453318896214232516622985861275099647985050794696214320732599709234803031969017455378728310879766877545220609742138968118134748452869326774166632953085824378835723460422120387920882818663455814337820691750793567618757995039202589793831928923089858996763611687023820022242623181028601417343331378628397441577158626067586560439059372849088989642710481320262646461510106526417189608240178841891786424234055552964227714860649760329122965422633990596255354615264584338714160110197475876834495252099629909386210298912294478707797941098556042932843330554624671200233897705089913964112401044156489779277400156164546180187292368853807180855341444935684639027000138071226616353508942918366718174013577538013692193859478294411676227055107227182937327386573124271355802831595058681669949079749335966054881776139595691020140714448374233299641132228958345131933259344913608492697783832404939122767665762563709206468566205549922893191166669171055573140994518312400468843872029169996376017102437614569614454257088382496142253180522454890243672362687379805276483132545899353369307347885183388799975192890412037341648568557908010478449834763975204143372438953988105617734359237644544357470648071459710589401589249127469849208110619207078198887023104115653772700988940779191921921592193009261322367464715361916147185486586025874311831237028921546084512800483101346915669688145824159677708388466381867819882175191591088892157920388707032568366398909121405410452692653364259784373903856076044870079964299298899131647902479764891368165819464948807864491981455621415745352580136751333320190920890880546581345742505085961522707712824929297351834028455031600952729935379445307531280456665979310252230506678910158402861189260286149243782900339677016909718842381168504382719165250751566674731234112597853630310304072849722364534200782068036673936627490814564051244927140393024569137368375391903692848393308034592071683905164358706217653154855522347672183632326119755143454190612498 3145523270790963297727585049689535052256437818113397743860336522549271795285066539846612269668606003068812477113275344210347227793385510002339426993010878255592639580142351509568644792156005971026259182741014466685272820972247907667220012466131248225068576737542523059583283113881590418432669418297672154740188303117607337094391233005808930373523418481503251440192917089097119527888135725661459300935865046331855160086124014745243190683804548351729614656730333267410507786592477613980744090523605051534498253095404380536545718655645053589704951005067866256823656720812267428467829225665334518993310000460816532068523886719009896259748850818793117434511176303604168980107016820844587709103792848115065714502239932372101833907777844410645137015057666349805117843103312672334874673408855790917512726500155976741119158037118676706290690700466795588185416909680899150319876341929661826998617793960820134948246219428871260804020540627559978639701103124110575925519139523210656782332299786023703708009463622527426284089669425081455314187562400601373278795816561508129674224174199049157796953266334801682732490579244584833299930041517965202179408615055882112755034527528919365408632146511440214071954465277736181115528541989804928822370732614086569373340519298943010598113739159526446407871676772789152283626997168888804799403493279593054764763005481622763045728312338884867326791872253674582734647782818872183311595451891825265445633321798594893257697661999166486305797450719876461211253874337826599531660521647836518659740703567506120983135355266272358042546555654797087098245045983375748021592943284533289586111126111896241515381070280211253260866999717523393757008958670972643838839239773765473998179152509124161666228857914114822322125187982095918345053636285623630945786297382483470598088295694476969504380869315896094164257180431778210293964687376028926116929698116387267404730469907678526422271335803609135680834845588567673158707643646351306802819556399327425394650455503460505876442233415291744037357922712659367258221519342207520897207435578248774249490348637525044236699062747841747327694110746849751565245134177495725718488826838983495105341623054901030628129301952719714606791624266041537653942585986492069907555561375045052876455407343526110266200580573460593995671823254883098671571662021345352077859792776843470252338943436873636878161750227570152616527358626987780357827978740791350565947577758187782191276073246293016038631522335695844413056684051953460906471256160881025288706301265645824193175797889829879881434647569737067290010671702811315016069521025909110442452946795218218341766636371155100255410627763816527028520116748233276131309614358352265556900140918225418589478074528285296294880913347607653863748149749 5089563564543517954657580685875913763582003044540871605354616804960830832432899503205099645836625753649140751921346522005170072301401989269470135671215028455705155026217210591342688867197939243050850663471267405314171462232253033273942026905922663416486898971076062848919413802299543190194890421827396415747049661707330388976573778583613892098515378415783325335838754807727745329545164074667016966789800764221388780210209426843140619192470605045545845411498129876109571209666024931927421250668276818160738458694585350784441341811309931578529392952631271934875774923905642900116890368562767126885817300741579383923127204822647356289871993825642100646304392285824388292713220850249709516947468860024736716514719127498696314792846656063894066889307048296753116684038675665894391126727752005150029349486017251840767143087913372920611423300176030391217385927136277878630756108807207047608359932928938269696699088755645427436973626451938814363161525244498496808337802979024994603024050579591322466004502825117220116018592514940452077799249424421395521418997590109547017555552827446599374111892402388243171549952093673822942640522838227848640918721582299302363274706370811151832866202064404441786815115038065304080951175980401184176985997198425283533450716774819845093365838789435832618170589067267860081568095724931737642734047904264254998660710571536727158129356495374646604192028418220762921940151672679364166936896827509904472633459869821509611206604917533204479811028257890153405113352632238275758715628875019455987127276691777476785966950324954027991626304990763141980021185579066768162307391658766589227243355070241373448640415193819745958650832122462516524674721234681850307405445323688367189345821680179734807223376226515291165997217152092294362156073900193245400043385764979612851268818149367213176743556695701370647389726331131579601312572559417726092122588528424609053299027815689004872106099778813279053273799576673290893066881290895664273467627859038014796239704630930355084552852622369942924381026828313139959210460121399442818799628587510096616955063999441191422185648773716059158931139668395836078045617278842641388176972663143172813730089436768850510304493543808606764712012973074106020341495107897480360248214739304837250359263419570980346164879872359725643574303019774466837391126970153216569841248398259215604919080188206957069082641108116733962269863712949303065540803670088702399976032789788734921211452691600547319088188315006096643563362962111863767660516447030269071606640942662733912018179058334262600599898321303742021244784300664945326373593875631474976653728863254892278394127185719151500337768156841096165888492140136968979702922392944337240805305276931636242632930050632968478513239467362797317938762247 8235086835334481252385165735565448815838440862654269349214953327510102627717966043051711915505231756717953229034621866215517300094787499271809562664225906711297794606359562100911333659353945214077109846212281871999444283204500940941162039372053911641555475708618585908502696916181133608627559840125068570487237964824937726070965011589422822472038796897286576776031671896824864857433299800328476267725665810553243940296333441588383809876275153397275460068228463143520078996258502545908165341191881869695236711789989731320987060466954985168234343957699138191699431644717910328584719594228101645879127301202395915991651091541657252549620844644435218080815568589428557272820237671094297226051261708139802431016959059870798148700624500474539203904364714646558234527141988338229265800136607796067542075986173228581886301125032049626902114000642825979402802836817177028950632450736868874606977726889758404644945308184516688240994167079498793002862628368609072733856942502235651385356350365615026174013966447644646400108261940021907391986811825022768800214814151617676691779727026495757171065158737189925904040531338258656242570564356193050820327336638181415118309233899730517241498348575844655858769580315801485196479717970206112999356729812511852906791236073762855691479577948962279026042265840057012365195092893820542442137541183857309763423716053159490203857668834259513930983900671895345656587934491551547478532348719335169918266781668416402868904266916699690785608478977766614616367226970064875290376150522855974646867980259283597769102305591226386034172860645560229078266231562442516183900334943299878813354481182137614964021485474030999219517831839985910281683679905654494146244685097453841187524974189303896473452234140630113488122405134188212707209710185816876345829683147463083449357113843844182681124426011597464811646906762909789895277259935446652209052286644811876458029497723367531294377435582422414734108645165240964051774524937246971076287184258365440190890160134390860960995086037661686961738949540972507217431979463606963716007064165758870866445412636966235658884711521557806486625250415245587643290751456338367106665799502126667919071712491669881138433795496528321371503637239115643674284081094389550267803776114349890126814670763097090612365460445820319639246126274657565508962788991498568647701041175102685857258023625080593947244391335686886578797222339937083423368782410880052965923610547976517112487525937893563357719710650701941056620047014065324674131772607911294360312942208308558105193976948164142482034545891040809311255456003476260342443114901540585419106675658473110620160763556874251755748395920657623194408608888370245111012536751296602797705446195157054832111004578918264773394152814970451181686911996 13324650399877999207042746421441362579420443907195140954569570132470933460150865546256811561341857510367093980955968388220687372396189488541279698335440935167002949632576772692254022526551884457127960509683549277313615745436753974215104066277976575058042374679694648757422110718480676798822450261952464986234287626532268115047538790173036714570554175313069902111870426704552610186978463874995493234515466574774632720506542868431524429068745758442821305479726593019629650205924527477835586591860158687855975170484575082105428402278264916746763736910330410126575206568623553228701609962790868772764944601943975299914778296364304608839492838470077318727119960875252945565533458521344006742998730568164539147531678187369494463493471156538433270793671762943311351211180664004123656926864359801217571425472190480422653444212945422547513537300818856370620188763953454907581388559544075922215337659818696674341644396940162115677967793531437607366024153613107569542194745481260645988380400945206348640018469272761866516126854454962359469786061249444164321633811741727223709335279853942356545177051139578169075590483431932479185211087194420899461246058220480717481583940270541669074364550640249097645584695353866789277430893950607297176342727010937136440241952848582700784845416738398111644212854907324872446763188618752280084871589088121564762084426624696217361987025329634160535175929090116108578528086164230911645469245546845074390900241538237912480110871834232895265419507235656768021480579602303151049091779397875430633995256951061074555069255916180414025799165636323371058287417141509284346207726602066468040597836252378988412661900667850745178168663962448426806358401140336344453650130421142208376870795869483631280675610367145404654119622286280507069365784086010121745873068912442696300625931993211395857867982707298835459036633094041369496589832494864378301174875173236485511328525539056536166483535361235693787382444741914254944841406228142635349754812117403454987129864765321216045547938660031629886119976369285647176642439585006406534806692753268967483400476636407427081070360295273865645556390083641423721336368735181008494842772165269840732801801928438731648738289040336928136215650212189749694625576202287030628051990853654727377173934182668070958530340318180045282820429294432032346353915961651785217542289573361901462177103813287551016327032443803620541067086052886386488909586080968755365899643337765252033698978629494110676807898965708037700183409976177188441792289054941563431919583150971292017212156006498405082634444212344551332500240304141205668816708777172060395760404521728002898554890742593403256086164077498719360297101028507214090715459144240940038510751472088691074743934629551233251907392282333248499625674243 21559737235212480459427912157006811395258884769849410303784523459981036087868831589308523476847089267085047209990590254436204672490976987813089260999666841878300744238936334793165356185905829671205070355895831149313060028641254915156266105650030486699597850388313234665924807634661810407450010102077533556721525591357205841118503801762459537042592972210356478887902098601377475044411763675323969502241132385327876660802876310019908238945020911840096765547955056163149729202183030023743751933052040557551211882274564813426415462745219901914998080868029548318274638213341463557286329557018970418644071903146371215906429387905961861389113683114512536807935529464681502838353696192438303969049992276304341578548637247240292612194095657012972474698036477589869585738322652342352922727000967597285113501458363709004539745337977472174415651301461682350022991600770631936532021010280944796822315386708455078986589705124678803918961960610936400368886781981716642276051687983496297373736751310821374814032435720406512916235116394984266861772873074466933121848625893344900401115006880438113716242209876768094979631014770191135427781651550613950281573394858662132599893174170272186315862899216093753504354275669668274473910611920813410175699456823448989347033188922345556476324994687360390670255120747381884811958281512572822527009130271978874525508142677855707565844694163893674466159829762011454235116020655782459124001594266180244309167023206654315349015138750932586051027986213423382637847806572368026339467929920731405280863237210344672324171561507406800059972026281883600136553648703951800530108061545366346853952317434516603376683386141881744397686495802434337088042081045990838599894815518596049564395770058787527754127844507775518142242027420468719776575494271826998091702752059905779749983045837055578538992408718896300270683539856951159391867092430311030510227161818048361969358023262424067460860970943658108521491089907155218996615931165389606426041996375768895178020024899712077006543024697693316847858925910258154394074419048613370250813756919027838349845889273373662739955071816831672132181640498887011364627120191519375601508571667396508651873514420108612787172084536865249507719287451305393368909657296676580895855766968004617503988604945765161570895800764000364922066555569089597855316704953150353865243330748464587319435127438368144963571423779490507119864308392823469912278368491848808331823253885741769146186504567387674034527609616409978756803456990242513115924061662852857792232525359279850122406132954662547564668990103385360643755696307617466011259823678712645814867080180201113518715654299467655011834559998156342554705709916877459201727995895537542836216197667245745906854939208469498025301545097303699681312586239 34884387635090479666470658578448173974679328677044551258354093592451969548019697135565335038188946777452141190946558642656892044887166476354368959335107777045303693871513107485419378712457714128333030865579380426626675774078008889371370171928007061757640225068007883423346918353142487206272460364029998542955813217889473956166042591935496251613147147523426380999772525305930085231390227550319462736756598960102509381309419178451432668013766670282918071027681649182779379408107557501579338524912199245407187052759139895531843865023484818661761817778359958444849844781965016785987939519809839191409016505090346515821207684270266470228606521584589855535055490339934448403887154713782310712048722844468880726080315434609787075687566813551405745491708240533180936949503316346476579653865327398502684926930554189427193189550922894721929188602280538720643180364724086844113409569825020719037653046527151753328234102064840919596929754142374007734910935594824211818246433464756943362117152256027723454050904993168379432361970849946626331558934323911097443482437635072124110450286734380470261419261016346264055221498202123614612992738745034849742819453079142850081477114440813855390227449856342851149938971023535063751341505871420707352042183834386125787275141770928257261170411425758502314467975654706757258721470131325102611880719360100439287592569302551924927831719493527835001335758852127562813644106820013370769470839813025318700067264744892227829126010585165481316447493449080150659328386174671177388559709318606835914858494161405746879240817423587214085771191918206971194841065845461084876315788147432814894550153686895591789345286809732489575855159764882763894400482186327183053544945939738257941266565928271159034803454874920922796361649706749226845941278357837119837575820972348476050608977830266974396860391426195135729720172950992528888456924925175408811402036991284847480686548801480603627344506304893802308873534649069473941457337393532241775796808493172350165149889665033293052090963357724946733978902279543801570716858633619776785620449672296805833246365909781089821025432112105537777738030582528435085963488926700384096351343832666349384675316348547344435910373577202177643934937663495143063535233498963611523907757821659344881162539128433232529426141082180410204886984863521630201670620914802139082785620321826488781612231251655695979898456223294127660931394445709856401187954572817563697722897223507021179885483196881784711335508582118016456986866966419701557716350717794421224152108510251142139618288961160952647303434315729911976255936611758671680076532455884706210627484701929116417270545042061058267920724075655061915002810945384673292443455039778482874726949139334436981598873838020731277208937379636948180938260482 56444124870302960125898570735454985369938213446893961562138617052433005635888528724873858515036036044537188400937148897093096717378143464167458220334774618923604438110449442278584734898363543799538101221475211575939735802719263804527636277578037548457238075456321118089271725987804297613722470466107532099677338809246679797284546393697955788655740119733782859887674623907307560275801991225643432238997731345430386042112295488471340906958787582123014836575636705345929108610290587525323090457964239802958398935033704708958259327768704720576759898646389506763124482995306480343274269076828809610053088408236717731727637072176228331617720204699102392342991019804615951242240850906220614681098715120773222304628952681850079687881662470564378220189744718123050522687825968688829502380866294995787798428388917898431732934888900366896344839903742221070666171965494718780645430580105965515859968433235606832314823807189519723515891714753310408103797717576540854094298121448253240735853903566849098268083340713574892348597087244930893193331807398378030565331063528417024511565293614818583977661470893114359034852512972314750040774390295648800024392847937804982681370288611086041706090349072436604654293246693203338225252117792234117527741640657835115134308330693273813737495406113118892984723096402088642070679751643897925138889849632079313813100711980407632493676413657421509467495588614139017048760127475795829893472434079205563009234287951546543178141149336098067367475479662503533297176192747039203728027639239338241195721731371750419203412378930994014145743218200090571331394714549412885406423849692799161748502471121412195166028672951614233973541655567317100982442563232318021653439761458334307505662335987058686788931299382696440938603677127217946622516772629664117929278573032254255800592023667322552935852800145091436000403712807943688280324017355486439321629198809333209450044572063904671088205477248551910830364624556224692938073268558921848201838804868941245343169914564745370058633988055418263581837828189801955964791277682233147036434206591324644183092255183154752560980503928937209909919671081415446450590609118219759697859915500062858036548830768655957223082458114067427151654225114800536432444890795640192419763524789663962385151144074198394100321941846180775126953540432611228056987325867952492948028951070291076101047358690023840943469880002784634780795702838533326313466323064666372029546151109248790326071987764269458745863118198527995213790323956662214673640412380647279016384633869530992262024421915823500211972424419115272620011632919376137691336356134597352025494564882130229935986199341528713279755284073811404469708520862262132494171450935316025710943146806580182888453813046490229302510482476940647862250846721 91328512505393439792369229313903159344617542123938512820492710644884975183908225860439193553224982821989329591883707539749988762265309940521827179669882395968908131981962549764004113610821257927871132087054592002566411576797272693899006449506044610214878300524329001512618644340946784819994930830137530642633152027136153753450588985633452040268887267257209240887447149213237645507192218775962894975754330305532895423421714666922773574972554252405932907603318354528708488018398145026902428982876439048365585987792844604490103192792189539238521716424749465207974327777271497129262208596638648801462104913327064247548844756446494801846326726283692247878046510144550399646128005620002925393147437965242103030709268116459866763569229284115783965681452958656231459637329285035306082034731622394290483355319472087858926124439823261618274028506022759791309352330218805624758840149930986234897621479762758585643057909254360643112821468895684415838708653171365065912544554913010184097971055822876821722134245706743271780959058094877519524890741722289128008813501163489148622015580349199054239080731909460623090074011174438364653767129040683649767212301016947832762847403051899897096317798928779455804232217716738401976593623663654824879783824492221240921583472464202070998665817538877395299191072056795399329401221775223027750770568992179753100693281282959557421508133150949344468831347466266579862404234295809200662943273892230881709301552696438771007267159921263548683922973111583683956504578921710381116587348557945077110580225533156166082653196354581228231514410118297542526235780394873970282739637840231976643052624808307786955373959761346723549396815332199864876843045418645204706984707398072565446928901915329845823734754257617363734965326833967173468458050987501237766854394004602731851201001497589527332713191571286571730123885758936217168780942280661848133031235800618056930731120865385274715549983553445713139238159205294166879530605952454089977635613362113595508319804229778663110724951413143210315816730469345757535508136315852923822054656263621450016338621092935842382005936041042747687657701663943881536554098044920143794211259332729207421224147117203301658992831691269604795589162778295679495980124294603803943671282611323307266313683202631626629748082928361185331840525296132858258657946782754632030814571392117564882659589941679536923368336226078762441727097284243182714654277637483935727269048332755811505957470961151243457198626780646011670777190923081916231356763098441700240536742379782134401642710876984452859275858734845184596267569531134809371412888590482058236122049584059346353256744383589771547676008149466466384711331807646805786614905975094508585670095945914619870052686884510960579719419856577596043189107203 147772637375696399918267800049358144714555755570832474382631327697317980819796754585313052068261018866526517992820856436843085479643453404689285400004657014892512570092411992042588848509184801727409233308529803578506147379516536498426642727084082158672116375980650119601890370328751082433717401296245062742310490836382833550735135379331407828924627386990992100775121773120545205782994210001606327214752061650963281465534010155394114481931341834528947744178955059874637596628688732552225519440840678851323984922826549313448362520560894259815281615071138971971098810772577977472536477673467458411515193321563781979276481828622723133464046930982794640221037529949166350888368856526223540074246153086015325335338220798309946451450891754680162185871197676779281982325155253724135584415597917390078281783708389986290659059328723628514618868409764980861975524295713524405404270730036951750757589912998365417957881716443880366628713183648994823942506370747905920006842676361263424833824959389725919990217586420318164129556145339808412718222549120667158574144564691906173133580873964017638216742202802574982124926524146753114694541519336332449791605148954752815444217691662985938802408148001216060458525464409941740201845741455888942407525465150056356055891803157475884736161223651996288283914168458884041400080973419120952889660418624259066913793993263367189915184546808370853936326936080405596911164361771605030556415707971436444718535840647985314185408309257361616051398452774087217253680771668749584844614987797283318306301956904906585286065575285575242377257628318388113857630494944286855689163487533031138391555095929719982121402632712960957522938470899516965859285608650963226360424468856406872952591237902388532612666053640313804673569003961185120090974823617165355696132967036856987651793025164912080268565991716378007730527598566879905449104959636148287454660434609951266380775692929289945803755460801997623969602783761518859817603874511375938179474418231054840851489718794524033169358939468561473897654558659147713500299413998086070858488862854946094199430876276090594942986439969979957597577372745359327987144707163139903492071174832792065457772977885859258882075289805337031947243387893096215928425015090243996363434807400987269651464827276830020730070024774541960458794065728744086315645272650707124978843522462408640983706948631703377866838216228863397222522800122776509028120600702150307756815199442004601832029458725420702203061744979174006884567514879744130904997175479088979256921376249313126663667132792807953071248283153960457216279202450510947062749244725079410261616614466189576289242943725118484827431292223277870854419852669908938280786356910410534296613242752494802758506499931001189882229902333518243905439953924 239101149881089839710637029363261304059173297694770987203124038342202956003704980445752245621486001688515847584704563976593074241908763345211112579674539410861420702074374541806592962120006059655280365395584395581072558956313809192325649176590126768886994676504979121114509014669697867253712332126382593384943642863518987304185724364964859869193514654248201341662568922333782851290186428777569222190506391956496176888955724822316888056903896086934880651782273414403346084647086877579127948423717117899689570910619393917938465713353083799053803331495888437179073138549849474601798686270106107212977298234890846226825326585069217935310373657266486888099084040093716750534496862146226465467393591051257428366047488914769813215020121038795946151552650635435513441962484538759441666450329539784368765139027862074149585183768546890132892896915787740653284876625932330030163110879967937985655211392761124003600939625698241009741534652544679239781215023919270985919387231274273608931796015212602741712351832127061435910515203434685932243113290842956286582958065855395321755596454313216692455822934712035605215000535321191479348308648377016099558817449971700648207065094714885835898725946929995516262757682126680142178439365119543767287309289642277596977475275621677955734827041190873683583105240515679440729482195194343980640430987616438820014487274546326747336692679959320198405158283546672176773568596067414231219358981863667326427837393344424085192675469178625164735321425885670901210185350590459965961202336355228395416882182438062751368718771640156470608772038436685656383866275339160825971903125373263115034607720738027769076776592474307681072335286231716830736128654069608431067409176254479438399520139817718378436400807897931168408534330795152293559432874604666593462987361041459719502994026662501607601279183287664579460651484325816122617885901916810135587691670410569323311506813794675220519305444355443337108840942966813026697134480463830028157110031593168436359809523024302696280083890881704684213471289128493471035807550313938994680543519118567544215769497369026437324992376011022705285235074409303209523698805208060047286282434165521272878997125003062560541068121496606636742832550671391895424405139384847800307106090012310576917778510479461647359818107702903145790634591024876944574303219433461757009658093854526205866366538573382914790206552454942159664249897407019691742774878339634243484084247774760413337986929686571945660260371759820018555344705802826047136353938577530679497458118629095261065309843669792405930524141888805641812546771981645756434162133315561468497738664050248922642499688108708256375107300372744337239131184477555744067401262885505042882283338698409422628559186815512150461949322190095839948629061127 386873787256786239628904829412619448773729053265603461585755366039520936823501735031065297689747020555042365577525420413436159721552216749900397979679196425753933272166786533849181810629190861382689598704114199159578706335830345690752291903674208927559111052485629240716399384998448949687429733422627656127254133699901820854920859744296267698118142041239193442437690695454328057073180638779175549405258453607459458354489734977711002538835237921463828395961228474277983681275775610131353467864557796751013555833445943231386828233913978058869084946567027409150171949322427452074335163943573565624492491556454628206101808413691941068774420588249281528320121570042883101422865718672450005541639744137272753701385709713079759666471012793476108337423848312214795424287639792483577250865927457174447046922736252060440244243097270518647511765325552721515260400921645854435567381610004889736412801305759489421558821342142121376370247836193674063723721394667176905926229907635537033765620974602328661702569418547379600040071348774494344961335839963623445157102630547301494889177328277234330672565137514610587339927059467944594042850167713348549350422598926453463651282786377871774701134094931211576721283146536621882380285106575432709694834754792333953033367078779153840470988264842869971867019408974563482129563168613464933530091406240697886928281267809693937251877226767691052341485219627077773684732957839019261775774689835103771146373233992409399378083778435986780786719878659758118463866122259209550805817324152511713723184139342969336654784346925731712986029666755073770241496770283447681661066612906294253426162816667747751198179225187268638595273757131233796595414262720571657427833645110886311352111377720106911049066861538244973082103334756337413650407698221831949159120328078316707154787051827413687869845175004042587191179082892696028066990861552958423042352105020520589692282506723965166323060905157440961078443726728331886514738354975205966336584449824223277211299241818826729449442830350266158111125847787641184536106964312025065539032381973513638415200373645117032267978815981002662882812447154662537510843512371199950778353608998313338336770102888921819423143411301943668690075938564488111352830154475091796670540897413297846569243337756291668089888132477445106249428656753621030889948492084168881988501616316934846850073487205086292657044768683805556886772697529796200770895479041784551240899447216765015170016388411992647863322116738994025439912220682570178041351114056619658754379494878408387728976976462600359001772425042766099028825974432156703496911378040640878759355278516438498931742631833826741202538592596022208093551037147464682348187619795915577178896581450904225387065686746513340344179224523614083854069015051 625974937137876079339541858775880752832902350960374448788879404381723892827206715476817543311233022243558213162229984390029233963460980095111510559353735836615353974241161075655774772749196921037969964099698594740651265292144154883077941080264335696446105728990608361830908399668146816941142065549010249512197776563420808159106584109261127567311656695487394784100259617788110908363367067556744771595764845563955635243445459800027890595739134008398709047743501888681329765922862487710481416288274914650703126744065337149325293947267061857922888278062915846329245087872276926676133850213679672837469789791345474432927134998761159004084794245515768416419205610136599851957362580818676471009033335188530182067433198627849572881491133832272054488976498947650308866250124331243018917316256996958815812061764114134589829426865817408780404662241340462168545277547578184465730492489972827722068012698520613425159760967840362386111782488738353303504936418586447891845617138909810642697416989814931403414921250674441035950586552209180277204449130806579731740060696402696816644773782590451023128388072226646192554927594789136073391158816090364648909240048898154111858347881092757610599860041861207092984040828663302024558724471694976476982144044434611550010842354400831796205815306033743655450124649490242922859045363807808914170522393857136706942768542356020684588569906727011250746643503173749950458301553906433492995133671698771097574210627336833484570759247614611945522041304545429019674051472849669516767019660507740109140066321781032088023503118565888183594801705191759426625363045622608507632969738279557368460770537405775520274955817661576319667609043362950627331542916790180088495242821365365749751631517537825289485467669436176141490637665551489707209840572826498542622107689119776426657781078489915295471124358291707166651830567218512150684876763469768558630043775431089913003789320518640386842366349512884298187284669695144913211872835439035994493694481417391713571108764843129425729526721231970842324597136916134655571914514625964060219575901092081182630969871014143469592971191992025368168047521563965747034542317579259998064636043163834611215767227891984379964211532798550305432908489235880006777235293859939596977646987425608423487021848235753315449706240180348252040063247778497975464251711517630638998159710171461052716440025778469207447251321138747716551022594936815892513670357381418794724983694991525428508003318098564593523582488498814043995256926485396225177705052634150338251837613507503648794286820132392764932296566931571740841372746413802459931073511356202347257093942566687421574242319942534997577645892968766545332682221625020426415588882681420620061179920149313648015624873562025490806128546713709923802698076178 1012848724394662318968446688188500201606631404225977910374634770421244829650708450507882841000980042798600578739755404803465393685013196845011908539032932262369287246407947609504956583378387782420659562803812793900229971627974500573830232983938544624005216781476237602547307784666595766628571798971637905639451910263322629014027443853557395265429798736726588226537950313242438965436547706335920321001023299171415093597935194777738893134574371929862537443704730362959313447198638097841834884152832711401716682577511280380712122181181039916791973224629943255479417037194704378750469014157253238461962281347800102639028943412453100072859214833765049944739327180179482953380228299491126476550673079325802935768818908340929332547962146625748162826400347259865104290537764123726596168182184454133262858984500366195030073669963087927427916427566893183683805678469224038901297874099977717458480814004280102846718582309982483762482030324932027367228657813253624797771847046545347676463037964417260065117490669221820635990657900983674622165784970770203176897163326949998311533951110867685353800953209741256779894854654257080667434008983803713198259662647824607575509630667470629385300994136792418669705323975199923906939009578270409186676978799226945503044209433179985636676803570876613627317144058464806404988608532421273847700613800097834593871049810165714621840447133494702303088128722800827724143034511745452754770908361533874868720583861329242883948843026050598726308761183205187138137917595108879067572836984660251822863250461124001424678287465491619896580831371946833196866859815906056189294036351185851621886933354073523271473135042848844958262882800494184423926957179510751745923076466476252061103742895257932200534534530974421114572741000307827120860248271048330491781228017198093133812568130317328983340969533295749753843009650111208178751867625022726981672395880451610502696071827242605553165427254670325259265728396423476799726611190414241960830278931241614990782408006661956155178969551582237000435722984703775840108021478937989125758608283065594821046170244659260501860950007973028031050859968718628284545385829950459948842989652162147949552537330780906199387354944100493974122984427800368118130065448335031393648187884838906270056265185992044983539594372657793358289491904532119006354200203601799520986661326488395899566513512983555500104296089822553273437795292466612093284565836423203345965883142208290443678019706510557241386904605237808069435169147167966403219056166690769997006217108385912036523263796594993123934068991974337839870198720845959163427984889396843226016449221083125920505984951776361738780184485564788753426233258772485108763776502477336197240076501600217873402690560308538831150307771237324007656767091229 1638823661532538398307988546964380954439533755186352359163514174802968722477915165984700384312213065042158791901985389193494627648474176940123419098386668098984641220649108685160731356127584703458629526903511388640881236920118655456908174064202880320451322510466845964378216184334742583569713864520648155151649686826743437173134027962818522832741455432213983010638209931030549873799914773892665092596788144735370728841380654577766783730313505938261246491448232251640643213121500585552316300441107626052419809321576617530037416128448101774714861502692859101808662125066981305426602864370932911299432071139145577071956078411214259076944009079280818361158532790316082805337590880309802947559706414514333117836252106968778905429453280458020217315376846207515413156787888454969615085498441451092078671046264480329619903096828905336208321089808233645852350956016802223367028366589950545180548826702800716271878343277822846148593812813670380670733594231840072689617464185455158319160454954232191468532411919896261671941244453192854899370234101576782908637224023352695128178724893458136376929341281967902972449782249046216740825167799894077847168902696722761687367978548563386995900854178653625762689364803863225931497734049965385663659122843661557053055051787580817432882618876910357282767268707955049327847653896229082761871136193954971300813818352521735306429017040221713553834772225974577674601336065651886247766042033232645966294794488666076368519602273665210671830802487750616157811969067958548584339856645167991932003316782905033512701790584057508080175633077138592623492222861528664696927006089465408990347703891479298791748090860510421277930491843857135051258500096300931834418319287841617810855374412795757490020002200410597256063378665859316828070088843874829034403335706317869560470349208807244278812093891587456920494840217329720329436744388492495540302439655882700415699861147761245940007793604183209557453013066118621712938484025853277955323973412659006704353516771505085580908496272814207842760320121619910495679935993563953185978184184157676003677140115673403971453921199965053399218907490282594031579928147529719946907625695325982560768304558672890579351566476899044279555892917036248124907300742194970990625834872264514693543287034227798298989300612838141610329555152310616981818451915119430159984821036659856952282953538762024707551547410961300989988817887403427985798236193804622140690866837199815872186023024609121834910487093736622113430426073653362628396761219324920335258054721893415685317550616727385888866365558905909580711571467259761623359058400753045573273543163649813342080227271718896736357830378533555298758915480397505535179365385158756817301256421749531521418315433870564321956436317951033931459465167407 2651672385927200717276435235152881156046165159412330269538148945224213552128623616492583225313193107840759370641740793996960021333487373785135327637419600361353928467057056294665687939505972485879289089707324182541111208548093156030738407048141424944456539291943083566925523969001338350198285663492286060791101597090066066187161471816375918098171254168940571237176160244272988839236462480228585413597811443906785822439315849355505676864887877868123783935152962614599956660320138683394151184593940337454136491899087897910749538309629141691506834727322802357288079162261685684177071878528186149761394352486945679710985021823667359149803223913045868305897859970495565758717819179800929424110379493840136053605071015309708237977415427083768380141777193467380517447325652578696211253680625905225341530030764846524649976766791993263636237517375126829536156634486026262268326240689928262639029640707080819118596925587805329911075843138602408037962252045093697487389311232000505995623492918649451533649902589118082307931902354176529521536019072346986085534387350302693439712676004325821730730294491709159752344636903303297408259176783697791045428565344547369262877609216034016381201848315446044432394688779063149838436743628235794850336101642888502556099261220760803069559422447786970910084412766419855732836262428650356609571749994052805894684868162687449928269464173716415856922900948775405398744370577397339002536950394766520835015378349995319252468445299715809398139563670955803295949886663067427651912693629828243754866567244029034937380078049549127976756464449085425820359082677434720886221042440651260612234637245552822063221225903359266236193374644351319475185457275811683580341395754317869871959117308053689690554536731385018370636119666167143948930337114923159526184563723515962694282917339124573262153063424883206674337849867440928508188612013515222521974835536334310918395932975003851493173220858853534816718741462542098512665095216267519916154252343900621695135924778167041736087465824396444843196043106323686335787957472501942311736792467223270824723310360332664473314871207938081430269767459001222316125313977480179895750615347488130510320841889453796778738921420999538253678877344836616243037366190530002384274022757103420963599552220219843282528894985495934968619047056842735988172652118721229680971482363148252851849467051745580207655843500783854263426613179870040079082802030227825486656749979408106315864042731119679076297391698974430182865595220821329031615817386015690332264271830279327721840814413322379012800434550880247420581770188105720786787043290149888799289992384732939262586212223495258475138014864098344052185148739169990643943141887636093014541332923349749394821005994179103153106744089188357939116232258636 4290496047459739115584423782117262110485698914598682628701663120027182274606538782477283609625406172882918162543726183190454648981961550725258746735806268460338569687706164979826419295633557189337918616610835571181992445468211811487646581112344305264907861802409929531303740153336080933767999528012934215942751283916809503360295499779194440930912709601154554247814370175303538713036377254121250506194599588642156551280696503933272460595201383806385030426601194866240599873441639268946467485035047963506556301220664515440786954438077243466221696230015661459096741287328666989603674742899119061060826423626091256782941100234881618226747232992326686667056392760811648564055410060110732371670085908354469171441323122278487143406868707541788597457154039674895930604113541033665826339179067356317420201077029326854269879863620898599844558607183360475388507590502828485635354607279878807819578467409881535390475268865628176059669655952272788708695846276933770177006775417455664314783947872881643002182314509014343979873146807369384420906253173923768994171611373655388567891400897783958107659635773677062724794419152349514149084344583591868892597468041270130950245587764597403377102702494099670195084053582926375769934477678201180513995224486550059609154313008341620502442041324697328192851681474374905060683916324879439371442886188007777195498686515209185234698481213938129410757673174749983073345706643049225250302992427999166801310172838661395620988047573381020069970366158706419453761855731025976236252550274996235686869884026934068450081868633606636056932097526224018443851305538963385583148048530116669602582341137032120854969316763869687514123866488208454526443957372112615414759715042159487682814491720849447180574538931795615626699498332026460777000425958797988560587899429833832254753266547931817540965157316470663594832690084770648837625356402007718062277275192217011334095794122765097433181014463036744374171754528660720225603579242120797871478225756559628399489441549672127316995962097210652685956363227943596831467893466065895497714976651380946828400450476006068444768792407903134829488674949283816347705242125009899842658241042814113071089146448126687358090487897898582533234770261872864367944666932724973374899857629367935657142839254447641581518195598334076578948602209153352969991104033840659840956303399808109804132420590507604915207390911745155253415431067273468064881038224032447627347616816607922188050065755728800911207878792711052296296021294474691660012578605340610667522326552172743407158365030049764901666800109786157001293341655365482410146101690902934372563535548382752604666439495214155211495845242631899350944064219567496179122507272794849831842589345099280916239321428049667475063180407139391870575697426043 6942168433386939832860859017270143266531864074011012898239812065251395826735162398969866834938599280723677533185466977187414670315448924510394074373225868821692498154763221274492107235139529675217207706318159753723103654016304967518384988160485730209364401094353013098229264122337419283966285191505220276733852881006875569547456971595570359029083963770095125484990530419576527552272839734349835919792411032548942373720012353288778137460089261674508814361754157480840556533761777952340618669628988300960692793119752413351536492747706385157728530957338463816384820449590352673780746621427305210822220776113036936493926122058548977376550456905372554972954252731307214322773229239911661795780465402194605225046394137588195381384284134625556977598931233142276448051439193612362037592859693261542761731107794173378919856630412891863480796124558487304924664224988854747903680847969807070458608108116962354509072194453433505970745499090875196746658098322027467664396086649456170310407440791531094535832217098132426287805049161545913942442272246270755079705998723958082007604076902109779838389930265386222477139056055652811557343521367289659938026033385817500213123196980631419758304550809545714627478742361989525608371221306436975364331326129438562165253574229102423572001463772484299102936094240794760793520178753529795981014636182060583090183554677896635162967945387654545267680574123525388472090077220446564252839942822765687636325551188656714873456492873096829468109929829662222749711742394093403888165243904824479441736451270963103387461946683155764033688561975309444264210388216398106469369090970767930214816978382584942918190542667228953750317241132559774001629414647924298995101110796477357554773609028903136871129075663180633997335617998193604725930763073721148086772463153349794949036183887056390803118220741353870269170539952211577345813968415522940584252110728551322252491727097768948926354235321890279190890495991202818738268674458388317787632478100460250094625366327839169053083427921607097529152406334267283167255850938567837809451769118604217653123760836338732918083663615841216259758442408285038663830556102490079738408856390302243581409988337580484136829409318898120786913647606709480610982033123254975759173880386471356620742391474667484864047090583830011547567649265996088958163756152561889521927785762956362655981887642253185122863234412529009516842044247143508143963840254260273114004366796016028503914108486848479987505270491685482479161616515296020691628395991356300999786598382452071128999179443372143914467234660666404421875111843471203196933144981052823171853527933115691867252651718709413686633860106730243403129212958737486823065649160430942846383922268449030311060327422228770628169924496327749809691929684679 11232664480846678948445282799387405377017562988609695526941475185278578101341701181447150444564005453606595695729193160377869319297410475235652821109032137282031067842469386254318526530773086864555126322928995324905096099484516779006031569272830035474272262896762942629533004275673500217734284719518154492676604164923685072907752471374764799959996673371249679732804900594880066265309216988471086425987010621191098925000708857222050598055290645480893844788355352347081156407203417221287086154664036264467249094340416928792323447185783628623950227187354125275481561736919019663384421364326424271883047199739128193276867222293430595603297689897699241640010645492118862886828639300022394167450551310549074396487717259866682524791152842167345575056085272817172378655552734646027863932038760617860181932184823500233189736494033790463325354731741847780313171815491683233539035455249685878278186575526843889899547463319061682030415155043147985455353944598961237841402862066911834625191388664412737538014531607146770267678195968915298363348525420194524073877610097613470575495477799893737946049566039063285201933475208002325706427865950881528830623501427087631163368784745228823135407253303645384822562795944915901378305698984638155878326550615988621774407887237444044074443505097181627295787775715169665854204095078409235352457522370068360285682241193105820397666426601592674678438247298275371545435783863495789503142935250764854437635724027318110494444540446477849538080295988368642203473598125119380124417794179820715128606335297897171837543815316762400090620659501533462708061693755361492052517139500884599817399319519617063773159859431098641264441107620768228528073372020036914409860825838636845237588100749752584051703614594976249624035116330220065502931189032519136647360362583183627203789450434988208344083378057824533864003230036982226183439324817530658646529385920768333586587521220534046359535249784927023565062250519863538963872253700509115659110703857019878494114807877511296370079390018817750215108769562210879998723744404633733307166745769985164481524211312344801362852456023744351089247117357568855011535798227499979581067097433116356652499134785707171494919897216796703320148417868582344978926700055979949134073738015839292277885230729115126445565286182164088126516251475149441928154860186402549362884089162764472460114308232760790038070625324274164770257475314416976208844878478292720741351983612623950691964174242577280898713149284396534775457637809770712351640974596696911667308924934624814536157544473421908816134034770452561423168453498836685607079246671955757544417063481498444471919091213923568898129705349362142754073277178304983002188156433225792678226511613548311227299648850278438103233104903467141680267627110722 18174832914233618781306141816657548643549427062620708425181287250529973928076863580417017279502604734330273228914660137565283989612859399746046895482258006103723565997232607528810633765912616539772334029247155078628199753500821746524416557433315765683636663991115955727762268398010919501700569911023374769410457045930560642455209442970335158989080637141344805217795431014456593817582056722820922345779421653740041298720721210510828735515379907155402659150109509827921712940965195173627704824293024565427941887460169342143859939933490013781678758144692589091866382186509372337165167985753729482705267975852165129770793344351979572979848146803071796612964898223426077209601868539934055963231016712743679621534111397454877906175436976792902552655016505959448826706991928258389901524898453879402943663292617673612109593124446682326806150856300335085237836040480537981442716303219492948736794683643806244408619657772495188001160654134023182202012042920988705505798948716368004935598829455943832073846748705279196555483245130461212305790797666465279153583608821571552583099554702003517784439496304449507679072531263655137263771387318171188768649534812905131376491981725860242893711804113191099450041538306905426986676920291075131242657876745427183939661461466546467646444968869665926398723869955964426647724273831939031333472158552128943375865795871002455560634371989247219946118821421800760017525861083942353755982878073530542073961275215974825367901033319574679006190225818030864953185340519212784012583038084645194570342786568860275225005761999918164124309221476842906972272081971759598521886230471652530032216297902202006691350402098327595014758348753328002529702786667961213404961936635114202792361709778655720922832690258156883621370734328413670228861952106240284734132825736533422152825634322044599147201598799178404133173769989193803529253293233053599230781496649319655839079248318302995285889485106817302755952746511066357702140928158897433446743181957480128588740174205350465423162817940424847744261175896478163165979595343201571116618514888589382134647972148683534280936119639585567349005559765853893675366354329990059319475953823418600233909123123287655631749306535694824107062065475291825589908733179234924893247618402310648898627622203782611309612376765994099674083900741145530886318616338964438884811874925720835116096195875013975160933859736803174287099519561560484352808718732552993855356350408639979195878282729425760886218419776082017254619254325066733043269370588053212667095523317076885665156723916794052730601269431118965845043565342307888804012391653008580716270591414614136339171742932632982584763565456092386157202490137042469825253805593656735524610433881997341538359976272507208731403029399794891489959556795401 29407497395080297729751424616044954020566990051230403952122762435808552029418564761864167724066610187936868924643853297943153308910269874981699716591290143385754633839701993783129160296685703404327460352176150403533295852985338525530448126706145801157908926887878898357295272673684419719434854630541529262087061210854245715362961914345099958949077310512594484950600331609336660082891273711292008771766432274931140223721430067732879333570670552636296503938464862175002869348168612394914790978957060829895190981800586270936183387119273642405628985332046714367347943923428392000549589350080153754588315175591293323047660566645410168583145836700771038252975543715544940096430507839956450130681568023292754018021828657321560430966589818960248127711101778776621205362544662904417765456937214497263125595477441173845299329618480472790131505588042182865551007855972221214981751758469178827014981259170650134308167121091556870031575809177171167657365987519949943347201810783279839560790218120356569611861280312425966823161441099376510669139323086659803227461218919185023158595032501897255730489062343512792881006006471657462970199253269052717599273036239992762539860766471089066029119057416836484272604334251821328364982619275713287120984427361415805714069348703990511720888473966847553694511645671134092501928368910348266685929680922197303661548037064108275958300798590839894624557068720076131562961644947438143259125813324295396511596999243292935862345573766052528544270521806399507156658938644332164137000832264465909698949121866757447062549577316680564214929880978376369680333775727121090574403369972537129849615617421819070464510261529426236279199456374096231057776158687998127814822762473751048029949810528408304974536304853133133245405850658633735731793141138759421381493188319717049356615084757032807491284976857002937997177000026176029712692618050584257877310882570087989425666769538837041645424734891744326321014997030929896666013181859406549105853885814500007082854982082861761793242207959242597959369945458689043164703339747835304423785260658574546616172183461028335643788575663329918438252677123422748686902152557490038900543051256534956886408257908994827126669203752491527427210483343874170568835433235214874027321356418149941176512852932897737755177662948158187800600152216294972814473476525366988247695964088485307576210504107774765199004485061077339057356994875977460561653597210845714596708334021263929887842456972003041784931569060478552030076892134837445394910345184750124334404448251701700201314268390215961546735304201571527268212018841144574411091638324964338260687654896112580811090834146556551482893270805454528911275767315347452827441962026882528202836945495545652765659625122785646834636134303262033170227183906123 47582330309313916511057566432702502664116417113851112377304049686338525957495428342281185003569214922267142153558513435508437298523129274727746612073548149489478199836934601311939794062598319944099794381423305482161495606486160272054864684139461566841545590878994854085057541071695339221135424541564904031497518256784806357818171357315435117938157947653939290168395762623793253900473330434112931117545853928671181522442151278243708069086050459791699163088574372002924582289133807568542495803250085395323132869260755613080043327052763656187307743476739303459214326109937764337714757335833883237293583151443458452818453910997389741562993983503842834865940441938971017306032376379890506093912584736036433639555940054776438337142026795753150680366118284736070032069536591162807666981835668376666069258770058847457408922742927155116937656444342517950788843896452759196424468061688671775751775942814456378716786778864052058032736463311194349859378030440938648853000759499647844496389047576300401685708029017705163378644686229837722974930120753125082381044827740756575741694587203900773514928558647962300560078537735312600233970640587223906367922571052897893916352748196949308922830861530027583722645872558726755351659539566788418363642304106842989653730810170536979367333442836513480093235515627098519149652642742287298019401839474326247037413832935110731518935170580087114570675890141876891580487506031380497015108691397825938585558274459267761230246607085627207550460747624430372109844279163544948149583870349111104269291908435617722287555339316598728339239102455219276652605857698880689096289600444189659881831915324021077155860663627753831293957805127424233587478945355959341219784699108865250822311520307064025897368995111290016866776584987047405960655093244999706115626014056250471509440719079077406638486575656181342130350770015369833241945911283637857108092379219407645264746017857140036931314219998561629076967743541996254368154110018303982552597067771980135671595156288212227216405025899667445703631121355167206330682935091036875540403775547163928750820155609711869924724695302915485787258236889276642362268506887480098220019005079953557120317381032282482758418510288186351534272548819165996158744166414449798920568974820460590075140475136680349064790039714152287474684052957440503700792092864331427132507839014206142692306699982788740359938344797880513344456514437537944914462315943398708452064684429903909083720739701428802671149988836560569284696146459904178438179715772803337001499971568778585866470992307010014277336573632690493113255584183452463215104029977972918976958246310726717150262577079189534067656836261546915068478257452389922652695767620539263727447379377542994304019601395292855566039163703056924660186740701524 76989827704394214240808991048747456684683407165081516329426812122147077986913993104145352727635825110204011078202366733451590607433399149709446328664838292875232833676636595095068954359284023348427254733599455885694791459471498797585312810845607367999454517766873752442352813745379758940570279172106433293584579467639052073181133271660535076887235258166533775118996094233129913983364604145404939889312286203602321746163581345976587402656721012427995667027039234177927451637302419963457286782207146225218323851061341884016226714172037298592936728808786017826562270033366156338264346685914036991881898327034751775866114477642799910146139820204613873118915985654515957402462884219846956224594152759329187657577768712097998768108616614713398808077220063512691237432081254067225432438772882873929194854247500021302708252361407627907069162032384700816339851752424980411406219820157850602766757201985106513024953899955608928064312272488365517516744017960888592200202570282927684057179265696656971297569309330131130201806127329214233644069443839784885608506046659941598900289619705798029245417620991475093441084544206970063204169893856276623967195607292890656456213514668038374951949918946864067995250206810548083716642158842501705484626731468258795367800158874527491088221916803361033787747161298232611651581011652635564705331520396523550698961869999219007477235969170927009195232958861953023143449150978818640274234504722121335097155273702560697092592180851679736094731269430829879266503217807877112286584702613577013968241030302375169350104916633279292554168983433595646332939633426001779670692970416726789731447532745840147620370925157180067573157261501520464645255104043957469034607461582616298852261330835472330871905299964423150112182435645681141692448234383759127497119202375967520866055803836110214129771552513184280127527770041545862954638529334222114985403261789495634690412787395977078576738954890305955397982740572926151034167291877710531658450953586480142754450138371073989009647233858910043663001066813856249495386274838872179964189036205738475366992339070740205568513270966245404225510914012699391049170659444970137120562056336488514006725638941277309885087714040677878961483032163040166727579599649664672947890331238610531251653328069578086819967702662310475275284205173735476515265569389698415380203803102691450268517204090563505558942829858957852401813509313515405476115913154244423048773018451167838971563196673431844456081557897039121314773038594741623833090060957553461335904419820480286067785260697225975824071877834262020381467603024597037626195668302937257237645901206839297961353411225746085550550107067001443979754024767737375480137729647421791930284324873088647069679226518078502400675298006318957830413924607647 124572158013708130751866557481449959348799824278932628706730861808485603944409421446426537731205040032471153231760880168960027905956528424437192940738386442364711033513571196407008748421882343292527049115022761367856287065957659069640177494985068934841000108645868606527410354817075098161705703713671337325082097724423858430999304628975970194825393205820473065287391856856923167883837934579517871006858140132273503268605732624220295471742771472219694830115613606180852033926436227531999782585457231620541456720322097497096270041224800954780244472285525321285776596143303920675979104021747920229175481478478210228684568388640189651709133803708456707984856427593486974708495260599737462318506737495365621297133708766874437105250643410466549488443338348248761269501617845230033099420608551250595264113017558868760117175104334783024006818476727218767128695648877739607830687881846522378518533144799562891741740678819660986097048735799559867376122048401827241053203329782575528553568313272957372983277338347836293580450813559051956618999564592909967989550874400698174641984206909698802760346179639437394001163081942282663438140534443500530335118178345788550372566262864987683874780780476891651717896079369274839068301698409290123848269035575101785021530969045064470455555359639874513880982676925331130801233654394922862724733359870849797736375702934329738996171139751014123765908849003829914723936657010199137289343196119947273682713548161828458322838787937306943645192017055260251376347496971422060436168572962688118237532938737992891637660255949878020893408085888814922985545491124882468766982570860916449613279448069861224776231588784933898867115066628944698232734049399916810254392160691481549674572851142536356769274295075713166978959020632728547653103327628758833612745216432217992375496522915187620768258128169365622257878540056915696196584440617859972093495641008903279955158805253117115508053174888867584474950484114922405402321401896014514211048021358460278426045294659286216226052259758577489366632188169023455826069209929909055504592811752902404117812494680452075493237966269160890012769150901976033411439166332450235340581061416442071127043019973559792643506224328864230495755580982206162886323766064114471868459306059071121326793803206258435884757742376462762749968258131175980216057662254029842512711642116897592960823904073352245918881174656838365746270023751053350390578229097643131500837702881071748055283936374860647127231546733599690599469185054645802271269776730356798337404391389258871934256253004235990101408451466952513494723187208049500841299698280910176214604147517566015111615988304935619618206943328548359048232282220127298132833497267961055657731704250631641373698827913371357966714461709375882490600665309171 201561985718102344992675548530197416033483231444014145036157673930632681931323414550571890458840865142675164309963246902411618513389927574146639269403224735239943867190207791502077702781166366640954303848622217253551078525429157867225490305830676302840454626412742358969763168562454857102275982885777770618666677192062910504180437900636505271712628463987006840406387951090053081867202538724922810896170426335875825014769313970196882874399492484647690497142652840358779485563738647495457069367664377845759780571383439381112496755396838253373181201094311339112338866176670077014243450707661957221057379805512962004550682866282989561855273623913070581103772413248002932110958144819584418543100890254694808954711477478972435873359260025179948296520558411761452506933699099297258531859381434124524458967265058890062825427465742410931075980509111919583468547401302720019236907702004372981285290346784669404766694578775269914161361008287925384892866066362715833253405900065503212610747578969614344280846647677967423782256940888266190263069008432694853598056921060639773542273826615496832005763800630912487442247626149252726642310428299777154302313785638679206828779777533026058826730699423755719713146286179822922784943857251791829332895767043360580389331127919591961543777276443235547668729838223563742452814666047558427430064880267373348435337572933548746473407108921941132961141807865782937867385807989017777563577700842068608779868821864389155415430968788986679739923286486090130642850714779299172722753275576265132205773969040368060987765172583157313447577069322410569318485124550884248437675541277643239344726980815701372396602513942113966440272328130465162877989153443874279288999622274097848526834181978008687641179595040136317091141456278409689345551562012517961109864418808185513241552326751297834898029680682549902385406310098461559151222969952082087078898902798398914645571592649094194084792129779173539872933224687848556436488693773725045869498974944940421180495433030360205235699493617487533029633254982879705321455484768781235468781847958640879484804833751192281061751237235406294238280064914675424460609825777420372461143117752930585133768658914837102528593938369542109457238613145246329613903365713779144816349637297681652578447131275836522704725445038773238025252463304911456731323231643728257892915445219589043229341108163915751477824004515796218148083533064568755866694142251887554549610721332239587026847133048292491583313104630638811914242223649387426104359837687910259673308811209739158002041513701461965925480329301214533876190790232646538467495366583847433452250048724405313072969399530681705168757050395549803027986306987864673612971226915382847588016029123720288443378054431449860367389759715694840321014589916818 326134143731810475744542106011647375382283055722946773742888535739118285875732835996998428190045905175146317541724127071371646419346455998583832210141611177604654900703778987909086451203048709933481352963644978621407365591386816936865667800815745237681454735058610965497173523379529955263981686599449107943748774916486768935179742529612475466538021669807479905693779807946976249751040473304440681903028566468149328283375046594417178346142263956867385327258266446539631519490174875027456851953121609466301237291705536878208766796621639208153425673379836660398115462319973997690222554729409877450232861283991172233235251254923179213564407427621527289088628840841489906819453405419321880861607627750060430251845186245846872978609903435646497784963896760010213776435316944527291631279989985375119723080282617758822942602570077193955082798985839138350597243050180459627067595583850895359803823491584232296508435257594930900258409744087485252268988114764543074306609229848078741164315892242571717264123986025803717362707754447318146882068573025604821587607795461337948184258033525195634766109980270349881443410708091535390080450962743277684637431963984467757201346040398013742701511479900647371431042365549097761853245555661081953181164802618462365410862096964656431999332636083110061549712515148894873254048320442481290154798240138223146171713275867878485469578248672955256727050656869612852591322464999216914852920896962015882462582370026217613738269756726293623385115303541350382019198211750721233158921848538953250443306907778360952625425428533035334340985155211225492304030615675766717204658112138559688958006428885562597172834102727047865307387394759409861110723202843791089543391782965579398201407033120545044410453890115849484070100476911138236998654889641276794722609635240403505617048849666485455666287808851915524643284850155377255347807410569942059172394543807302194600730397902211309592845304668041124347883708802770961838810095669739560080546996303400699606540727689646421461751753376065022396265443151903161147524694698690290973374659711543283602617328431644356554989203504567184251049215816651457872048992109870607801724179169372656260811678888396895172100162698406339952994194127452492500227131777893616684808943356752773905240934482094958589483187415236000775220721436087436947380893897758100405627087336486636190165012237267997396705179172634583894353556815622106257272371349530686050448424213311335082131069423153138710544651364238502513711408704033228375629614418267058010713202598998029936297766705697956026888780768167047370913977440696039308795064864757609666854196241971328184585387835617324786963993724098162076218589207991971745804724183343903245747733374351929817076882344821218334104221425070722811615255225989 527696129449912820737217654541844791415766287166960918779046209669750967807056250547570318648886770317821481851687373973783264932736383572730471479544835912844598767893986779411164153984215076574435656812267195874958444116815974804091158106646421540521909361471353324466936691941984812366257669485226878562415452108549679439360180430248980738250650133794486746100167759037029331618243012029363492799198992804025153298144360564614061220541756441515075824400919286898411005053913522522913921320785987312061017863088976259321263552018477461526606874474147999510454328496644074704466005437071834671290241089504134237785934121206168775419681051534597870192401254089492838930411550238906299404708518004755239206556663724819308851969163460826446081484455171771666283369016043824550163139371419499644182047547676648885768030035819604886158779494951057934065790451483179646304503285855268341089113838368901701275129836370200814419770752375410637161854181127258907560015129913581953775063471212186061544970633703771141144964695335584337145137581458299675185664716521977721726531860140692466771873780901262368885658334240788116722761391043054838939745749623146964030125817931039801528242179324403091144188651728920684638189412912873782514060569661822945800193224884248393543109912526345609218442353372458615706862986490039717584863120405596494607050848801427231942985357594896389688192464735395790458708272988234692416498597804084491242451191890606769153700725515280303125038590027440512662048926530020405881675124115218382649080876818729013613190601116192647788562224533636061622515740226650965642333653416202928302733409701263969569436616669161831747659722889875023988712356287665368832391405239677246728241215098553732051633485155985801161241933189547926344206451653794755832474054048589018858601176417783290564317489534465427028691160253838814499030380522024146251293446605701109246301990551305503677637434447214664220816933490619518275298789443464605950045971248341120787036160720006626697451246993552555425898698134782866468980179467471526442156507670184163087422162182836637616740440739973478489329280731326882332658817887290980262867296922303241394580337803233997700694101067948449410232807272698822114130497491672761501158580654434426483688065757931481294208632454009238800473184740998893678704125541486358298542532556075679419506120401183748874529183688430802042437089880190862123966513601418240600059145545550922108978202471445630293857755994877314427953632353420654479989452106177317684022013808737187938339280407159921952369110069381581247104767673342577776290431448605043119104244966376641257554787366299029955721044119647965104204896195856645358775951098726750833763762498072218260454936776271078701493981140765563132629845142807 853830273181723296481759760553492166798049342889907692521934745408869253682789086544568746838932675492967799393411501045154911352082839571314303689686447090449253668597765767320250605187263786507917009775912174496365809708202791740956825907462166778203364096529964289964110215321514767630239356084675986506164227025036448374539922959861456204788671803601966651793947566984005581369283485333804174702227559272174481581519407159031239566684020398382461151659185733438042524544088397550370773273907596778362255154794513137530030348640116669680032547853984659908569790816618072394688560166481712121523102373495306471021185376129347988984088479156125159281030094930982745749864955658228180266316145754815669458401849970666181830579066896472943866448351931781880059804332988351841794419361404874763905127830294407708710632605896798841241578480790196284663033501663639273372098869706163700892937329953133997783565093965131714678180496462895889430842295891801981866624359761660694939379363454757778809094619729574858507672449782902484027206154483904496773272511983315669910789893665888101537983761171612250329069042332323506803212353786332523577177713607614721231471858329053544229753659225050462575231017278018446491434968573955735695225372280285311211055321848904825542442548609455670768154868521353488960911306932521007739661360543819640778764124669305717412563606267851646415243121605008643050030737987451607269419494766100373705033561916824382891970482241573926510153893568790894681247138280741639040596972654171633092387784597089966238616029649227982129547379744861553926546355902417682846991765554762617260739838586826566742270719396209697055047117649284885099435559131456458375783188205256644929648248219098776462087375271835285231342410100686163342861341295071550555083689288992524475650026084268746230605298386380951671976010409216069846837791091966205423687990413003303847032388453516813270482739115255788568700642293390480114108885113204166030592967551741820393576888409653048159203000369617577822164141286686027616504874166161817415531167381727446690039490614480994171729644244540662740378496547978340204707809997161588064591476091675897655392016691630892872794263766354789363227001400151314614357629269566378185967524011187200388929000240026439883691819869245239575693906177086330626085019439244458704169619892562315609671132638451746271234362861065385936790646695812968381238884950948926650507569758862257191109271894598769004402407359115816941665041057453882855619066524444375694735216407735217874637047112857877979257890837548628618018745114038617085085496313362652785958441208347969442140175201916354742685037843746127180423485403848617104580675282070654079511495872424148077531819121092297035598202565836285944245100368796 1381526402631636117218977415095336958213815630056868611300980955078620221489845337092139065487819445810789281245098875018938176284819223144044775169231283003293852436491752546731414759171478863082352666588179370371324253825018766545047984014108588318725273458001317614431046907263499579996497025569902865068579679133586127813900103390110436943039321937396453397894115326021034912987526497363167667501426552076199634879663767723645300787225776839897536976060105020336453529598001920073284694594693584090423273017883489396851293900658594131206639422328132659419024119313262147099154565603553546792813343462999440708807119497335516764403769530690723029473431349020475584680276505897134479671024663759570908664958513695485490682548230357299389947932807103553546343173349032176391957558732824374408087175377971056594478662641716403727400357975741254218728823953146818919676602155561432041982051168322035699058694930335332529097951248838306526592696477019060889426639489675242648714442834666943840354065253433345999652637145118486821172343735942204171958937228505293391637321753806580568309857542072874619214727376573111623525973744829387362516923463230761685261597676260093345757995838549453553719419669006939131129624381486829518209285941942108257011248546733153219085552461135801279986597221893812104667774293422560725324524480949416135385814973470732949355548963862748036103435586340404433508739010975686299685918092570184864947484753807431152045671207756854229635192483596231407343296064810762044922272096769390015741468661415818979851806630765420629918109604278497615549062096129068648489325418970965545563473248288090536311707336065371528802706840539159909088147915419121827208174593444933891657889463317652508513720860427821086392584343290234089687067792948866306387557743337581543334251202502052036794922787920846378700667170663054884345868171613990351674981437018704413093334379004822316948120173562470452789517575784009998389407674556668771980638938800082941180613049129659674856654247363170133248062839421468894085485053633633343857687675051911609777461652797317631788470084984514141229707777279305222537366627884452568327458773013979139049972354494864890573488364834303238773459808672850136728488126761239139687126104665621626872617065997957921177900452323254478376167090918085224304789144980730817002712152448637995029177253039635495145763546549496187979227736576003830505205398552367167250566715304413179300087474366044399298260163353993131369618673410874537335608518630621693378757230216472405812976327520017799931627000906930209865123512787381194861375927761967695905062686174724610699694962568215384698406081963394092284628381599705262463356626380797404913275258370496366337986755897363375737092183706601849076874945511603 2235356675813359413700737175648829125011864972946776303822915700487489475172634423636707812326752121303757080638510376064093087636902062715359078858917730093743106105089518314051665364358742649590269676364091544867690063533221558286004809921570755096928637554531281904395157122585014347626736381654578851574743906158622576188440026349971893147827993740998420049688062893005040494356809982696971842203654111348374116461183174882676540353909797238279998127719290753774496054142090317623655467868601180868785528172678002534381324249298710800886671970182117319327593910129880219493843125770035258914336445836494747179828304873464864753387858009846848188754461443951458330430141461555362659937340809514386578123360363666151672513127297253772333814381159035335426402977682020528233751978094229249171992303208265464303189295247613202568641936456531450503391857454810458193048701025267595742874988498275169696842260024300464243776131745301202416023538772910862871293263849436903343653822198121701619163159873162920858160309594901389305199549890426108668732209740488609061548111647472468669847841303244486869543796418905435130329186098615719886094101176838376406493069534589146889987749497774504016294650686284957577621059350060785253904511314222393568222303868582058044627995009745256950754752090415165593628685600355081733064185841493235776164579098140038666768112570130599682518678707945413076558769748963137906955337587336285238652518315724255534937641689998428156145346377165022302024543203091503683962869069423561648833856446012908946090422660414648612047656984023359169475608452031486331336317184525728162824213086874917103053978055461581225857753958188444794187583474550578285583957781650190536587537711536751284975808235699656371623926753390920253029929134243937856942641432626574067809901228586320783025528086307227330372643181072270954192705962705956557098669427431707716940366767458339130218602912677726241358218218077400478503516559669872938011231906351824761574189937539312723015857247732787711070226980708154921701989927799795161273218842433639056467501143411798625960199729229054803970086273827283562742074437881614156392050249105655036705364371186495783446282628600658028136686810073001451342845756030805517873093628676808827261546066237984361061592272192499717951860997095171554930874164419975275706881772341200310638848385678087241416997909410561573916018383271816798886444283503316093901074285063275436491196746260643168302662570713108948311283714468328420191227585155066069073492446624207623687613374632875677910884891744478838483142257901419811946461424075330348691021127383072580141835137770131739441091119807140219465051867003553879567937301662868058992786754242920514415518575018455672772690386272438135021120045880399 3616883078444995530919714590744166083225680603003644915123896655566109696662479760728846877814571567114546361883609251083031263921721285859403854028149013097036958541581270860783080123530221512672622342952270915239014317358240324831052793935679343415653911012532599518826204029848513927623233407224481716643323585292208704002340129740082330090867315678394873447582178219026075407344336480060139509705080663424573751340846942606321841141135574078177535103779395774110949583740092237696940162463294764959208801190561491931232618149957304932093311392510249978746618029443142366592997691373588805707149789299494187888635424370800381517791627540537571218227892792971933915110417967452497139608365473273957486788318877361637163195675527611071723762313966138888972746151031052704625709536827053623580079478586236520897667957889329606296042294432272704722120681407957277112725303180829027784857039666597205395900954954635796772874082994139508942616235249929923760719903339112145992368265032788645459517225126596266857812946740019876126371893626368312840691146968993902453185433401279049238157698845317361488758523795478546753855159843445107248611024640069138091754667210849240235745745336323957570014070355291896708750683731547614772113797256164501825233552415315211263713547470881058230741349312308977698296459893777642458388710322442651911550394071610771616123661533993347718622114294285817510067508759938824206641255679906470103600003069531686686983312897755282385780538860761253709367839267902265728885141166192951664575325107428727925942229291180069241965766588301856785024670548160554979825642603496693708387686335163007639365685391526952754660460798727604703275731389969700112792132375095124428245427174854403793489529096127477458016511096681154342716996927192804163330199175964155611144152431088372819820450874228073709073310351735325838538574134319946908773650864450412130033701146463161447166723086240196694147735793861410476892924234226541709991870845151907702754802986668972397872511495095957844318289820129623815787474981433428505130906517485550666244962796209116257748669814213568945199794051106588785279441065766066724719509022119634175755336725681360674019770993434961266910146618745851588071333882792044657560219733342430454134163132235942282239492724515754196328028088013256779235663309400706092709593924789838305668025638717722736562761455960057761895246119847820629391649682055683261151641000367688615791284220626687567600922734067102079680902387879202957526836103785687762452249676840680029500589702152893477842511892651409048348265770688801006807837351837298044596083813557797190841530100338347124139497201770534311749680248603259142031293928043665463906062012613416880753505330915819048509782569979039984097994991392002 5852239754258354944620451766392995208237545575950421218946812356053599171835114184365554690141323688418303442522119627147124351558623348574762932887066743190780064646670789174834745487888964162262892019316362460106704380891461883117057603857250098512582548567063881423221361152433528275249969788879060568218067491450831280190780156090054223238695309419393293497270241112031115901701146462757111351908734774772947867802030117488998381495045371316457533231498686527885445637882182555320595630331895945827994329363239494465613942399256015732979983362692367298074211939573022586086840817143624064621486235135988935068463729244265246271179485550384419406982354236923392245540559429007859799545706282788344064911679241027788835708802824864844057576695125174224399149128713073232859461514921282872752071781794501985200857253136942808864684230888804155225512538862767735305774004206096623527732028164872375092743214978936261016650214739440711358639774022840786632013167188549049336022087230910347078680384999759187715973256334921265431571443516794421509423356709482511514733545048751517908005540148561848358302320214383981884184345942060827134705125816907514498247736745438387125733494834098461586308721041576854286371743081608400026018308570386895393455856283897269308341542480626315181496101402724143291925145494132724191452896163935887687714973169750810282891774104123947401140793002231230586626278508901962113596593267242755342252521385255942221920954587753710541925885237926276011392382470993769412848010235616513313409181553441636872032651951594717854013423572325215954500279000192041311161959788022421871211899422037924742419663446988533980518214756916049497463314864520278398376090156745314964832964886391155078465337331827133829640437850072074595746926061436742020272840608590729678954053659674693602845978960535301039445953532807596792731280097025903465872320291882119846974067913921500577385325998917922935505954011938810955396440793896414648003102751503732464328992924208285120888368742828745555388516800837778737489464909233223666404125359919189722712463939620914883708869543442623749169880324933872348021515503647680881111559271225289212460701096867856457466053622035619295046833428818853039414179638822850175433313362019239281395709198473926643301084996708253914279889085108428334166537473820681368416475697131038616306874024395809977979759365370619335811264503119637428278093965558999355052715285430964052282480966887330735903585304780211027992186102347531377718063688940753831525742123464887653188203076785769155753396784395887886831408028590220818754298775912628393287104940940869770983365238108478863580588321577674531214732115606813021599231229706533522898848766856337395169023905934274721282472956251478119119115037272401 9469122832703350475540166357137161291463226178954066134070709011619708868497593945094401567955895255532849804405728878230155615480344634434166786915215756287817023188252060035617825611419185674935514362268633375345718698249702207948110397792929441928236459579596480942047565182282042202873203196103542284861391076743039984193120285830136553329562625097788166944852419331057191309045482942817250861613815438197521619142877060095320222636180945394635068335278082301996395221622274793017535792795190710787203130553800986396846560549213320665073294755202617276820829969016164952679838508517212870328636024435483122957099153615065627788971113090921990625210247029895326160650977396460356939154071756062301551699998118389425998904478352475915781339009091313113371895279744125937485171051748336496332151260380738506098525211026272415160726525321076859947633220270725012418499307386925651312589067831469580488644169933572057789524297733580220301256009272770710392733070527661195328390352263698992538197610126355454573786203074941141557943337143162734350114503678476413967918978450030567146163238993879209847060844009862528638039505785505934383316150456976652590002403956287627361479240170422419156322791396868750995122426813156014798132105826551397218689408699212480572055089951507373412237450715033120990221605387910366649841606486378539599265367241361581899015435638117295119762907296517048096693787268840786320237848947149225445852524454787628908904267485508992927706424098687529720760221738896035141733151401809464977984506660870364797974881242774787095979190160627072739524949548352596290987602391519115579599585757200932381785348838515486735178675555643654200739046254489978511168222531840439393078392061245558871954866427954611287656948946753228938463922988629546183603039784554885290098206090763066422666429834763374748519263884542922631269854231345850374645971156332531977007769060384662024552049085158119629653689805800221432289365028122956357994973596655640167083795910877257518760880237924703399706806620967402553276939890666652171535031877404740388957426735830031141457539357656192694369674376040461133300956569413747605831068293344923388216037822549217131485824615470580561956980047564704627485513521614894832993533095361669735529872330709868925540577721224008110607917173121685113402200783221387461126069621920876921974899663113532714542520821330677097706510622967458057669743647614682616204356285798652668073765187514018303504508038847313107673088490226734335244899792726441593977991800305567682688792778938662633595908677047296935179673799279021825562136127749926437883188754498666961824895338446825987720085523348208842964412364210072163630525157750198986804910779469754275922529236850093769792255526230518103217110028664403 15321362586961705420160618123530156499700771754904487353017521367673308040332708129459956258097218943951153246927848505377279967038967983008929719802282499478597087834922849210452571099308149837198406381584995835452423079141164091065168001650179540440819008146660362365268926334715570478123172984982602853079458568193871264383900441920190776568257934517181460442122660443088307210746629405574362213522550212970469486944907177584318604131226316711092601566776768829881840859504457348338131423127086656615197459917040480862460502948469336398053278117894984574895041908589187538766679325660836934950122259571472058025562882859330874060150598641306410032192601266818718406191536825468216738699778038850645616611677359417214834613281177340759838915704216487337771044408457199170344632566669619369084223042175240491299382464163215224025410756209881015173145759133492747724273311593022274840321095996341955581387384912508318806174512473020931659895783295611497024746237716210244664412439494609339616877995126114642289759459409862406989514780659957155859537860387958925482652523498782085054168779142441058205363164224246510522223851727566761518021276273884167088250140701726014487212735004520880742631512438445605281494169894764414824150414396938292612145264983109749880396632432133688593733552117757264282146750882043090841294502650314427286980340411112392181907209742241242520903700298748278683320065777742748433834442214391980788105045840043571130825222073262703469632309336613805732152604209889804554581161637425978291393688214312001670007533194369504949992613732952288694025228548544637602149562179541537450811485179238857124205012285504020715696890312559703698202361119010256909544312688585754357911356947636713950420203759781745117297386796825303534210849050066288203875880393145614969052259750437760025512408795298675787965217417350519424001134328371753840518291448214651823981836974306162601937375084076042565159643817739032387685805822019371005998076348159372631412788835085542639649248980753448955095323421805181290766404799899875837939157237323930111669890675450946025166408901098816443539554700974333481322472073061428486942627564570212600676738919417073588951878237506199857003813476383557666899693160437745008426846457380909016925581529183795568841662717932262024887806258230113447568738257042068829542545319051915538281773687509342692522280186701296433517775126087095485947837613173681971257071571229616720356246154401349039408093343627524135665274592574265712962963481667195425503733923770455335876995855724431789349305461443184822011081827869242644316434903662554831170293695439536732808260576555304851300673844925883374179144479816885185229756387456732509703759546326091671091553142784368491074728482481996222336225065936804 24790485419665055895700784480667317791163997933858553487088230379293016908830302074554357826053114199484003051333577383607435582519312617443096506717498255766414111023174909246070396710727335512133920743853629210798141777390866299013278399443108982369055467726256843307316491516997612680996376181086145137940849644936911248577020727750327329897820559614969627386975079774145498519792112348391613075136365651167991106087784237679638826767407262105727669902054851131878236081126732141355667215922277367402400590470841467259307063497682657063126572873097601851715871877605352491446517834178049805278758284006955180982662036474396501849121711732228400657402848296714044566842514221928573677853849794912947168311675477806640833517759529816675620254713307800451142939688201325107829803618417955865416374302555978997397907675189487639186137281530957875120778979404217760142772618979947926152910163827811536070031554846080376595698810206601151961151792568382207417479308243871439992802791758308332155075605252470096863545662484803548547458117803119890209652364066435339450571501948812652200332018136320268052424008234109039160263357513072695901337426730860819678252544658013641848691975174943299898954303835314356276616596707920429622282520223489689830834673682322230452451722383641062005971002832790385272368356269953457491136109136692966886245707652473974080922645380358537640666607595265326780013853046583534754072291161541206233957570294831200039729489558771696397338733435301335452912825948785839696314313039235443269378194875182366467982414437144292045971803893579361433550178096897233893137164571060653030411070936439789505990361124019507450875565868203357898941407373500235420712535220426193750989749008882272822375070187736356404954335743578532472674772038695834387478920177700500259150465841200826448178838630062050536484481301893442055270988559717604215164262604547183800989606034690824626489424169234162194813333623539253819975170850142327363993049944815012798496584745962800158410129218678152354802130042772583844043344690566528009474189114728670500627317411280977166623948258755009137909229077014794614623428642475176092773695857915135988892776741966290720437702852976780418960793523948262294385206682052639841420379552742578752455453859893664494382240439156270135495723431351798560970939040263456290668614940972792460256673350622875407064801008031973531224285749054553543617581260788364587461427857028269388430011341915367342912601382474837243338363082801000048207863274393637019481725724076023018565788634663094422945214138490481757190755627148264469878571031412481269053482449938203694633155915002130839020759368274092217143556844026957348860281545206931496508670325795845947014082379634462260866984008712514325553335094601207 40111848006626761315861402604197474290864769688763040840105751746966324949163010204014314084150333143435156298261425888984715549558280600452026226519780755245011198858097758456522967810035485349332327125438625046250564856532030390078446401093288522809874475872917205672585417851713183159119549166068747991020308213130782512960921169670518106466078494132151087829097740217233805730538741753965975288658915864138460593032691415263957430898633578816820271468831619961760076940631189489693798639049364024017598050387881948121767566446151993461179850990992586426610913786194540030213197159838886740228880543578427239008224919333727375909272310373534810689595449563532762973034051047396790416553627833763592784923352837223855668131040707157435459170417524287788913984096658524278174436185087575234500597344731219488697290139352702863211548037740838890293924738537710507867045930572970200993231259824153491651418939758588695401873322679622083621047575863993704442225545960081684657215231252917671771953600378584739153305121894665955536972898463077046069190224454394264933224025447594737254500797278761326257787172458355549682487209240639457419358703004744986766502685359739656335904710179464180641585816273759961558110766602684844446432934620427982442979938665431980332848354815774750599704554950547649554515107151996548332430611787007394173226048063586366262829855122599780161570307894013605463333918824326283187906733375933187022062616134874771170554711632034399866971042771915141185065430158675644250895474676661421560771883089494368137989947631513796995964417626531650127575406645441871495286726750602190481222556115678646630195373409523528166572456180763061597143768492510492330256847909011948108901105956518986772795273947518101522251722540403836006885621088762122591354800570846115228202725591638586473691247425360726324449698719243961479272122888089358055682554052761835624971443008996987228426799253310204759972977441278286207660976672161698369991126292974385429909373581048342798059378199431601309897453464577765134809749490466403847413346352052600612297208086731923191790357159853825581448783777989128095945900715536604579716323422485348589569515661383364309389581090482980275964607000331819961284899842490384849847226010123487769381035389077460063223903157088532160383529689581912008539677297305525120211160260024707998538447038132218099587081194733269964742060875141649029565418873962046558718499428257886108786257496316716382320694726102361379003637675375265761170826756060832444985459647846478354442784490387526212294519599933666579201837455017507114195005935075036100223776145377740427441416491557435690321433213199975591322701323843842534090037932663664006212429872121937618105635522418830751941712491194510547889560160538011 64902333426291817211562187084864792082028767622621594327193982126259341857993312278568671910203447342919159349595003272592151132077593217895122733237279011011425309881272667702593364520762820861466247869292254257048706633922896689091724800536397505178929943599174048979901909368710795840115925347154893128961157858067693761537941897420845436363899053747120715216072819991379304250330854102357588363795281515306451699120475652943596257666040840922547941370886471093638313021757921631049465854971641391419998640858723415381074629943834650524306423864090188278326785663799892521659714994016936545507638827585382419990886955808123877758394022105763211346998297860246807539876565269325364094407477628676539953235028315030496501648800236974111079425130832088240056923784859849386004239803505531099916971647287198486095197814542190502397685319271796765414703717941928268009818549552918127146141423651965027721450494604669071997572132886223235582199368432375911859704854203953124650018023011226003927029205631054836016850784379469504084431016266196936278842588520829604383795527396407389454832815415081594310211180692464588842750566753712153320696129735605806444755230017753298184596685354407480540540120109074317834727363310605274068715454843917672273814612347754210785300077199415812605675557783338034826883463421950005823566720923700361059471755716060340343752500502958317802236915489278932243347771870909817941979024537474393256020186429705971210284201190806096264309776207216476637978256107461483947209787715896864830150077964676734605972362068658089041936221520111011561125584742339105388423891321662843511633627052118436136185734533543035617448022048966419496085175866010727750969383129438141859890854965401259595170344135254457927206058283982368479560393127457956978833720748546615487353191432839412921870086055422776860934180021137403534543111447806962270846816657309019425961049043687811854916223422544366954786311064817540027636147522304025733984176237789398228405958327011142956469507418109753664699583507350348978853094181032931856887535466781271112924525498012900358414305418608834719358012855003922710569329358011780672490019280400484578462292403349655029827283943459760694925400524280082255670106524543024691267605562866066521836489248971124557606143596244802295879253120933710569510616337568981410879775200997500458795120388755093506651882202765243495966346624196202573183000134750411146179927285286155497216268838232083725233296108577198622342000758176265809378690030454469464467185371922501373008573125050620635239733738424148336392593082165771584073576966487517369277258595315944122074572406559566529342192581474067808466258167870799882950319477870595502721100197917783565119717902053293012808696499907024873442895255139218 105014181432918578527423589689062266372893537311384635167299733873225666807156322482582985994353780486354315647856429161576866681635873818347148959757059766256436508739370426159116332330798306210798574994730879303299271490454927079170171201629686027988804419472091254652487327220423978999235474513223641119981466071198476274498863067091363542829977547879271803045170560208613109980869595856323563652454197379444912292153167068207553688564674419739368212839718091055398389962389111120743264494021005415437596691246605363502842196389986643985486274855082774704937699449994432551872912153855823285736519371163809658999111875141851253667666332479298022036593747423779570512910616316722154510961105462440132738158381152254352169779840944131546538595548356376028970907881518373664178675988593106334417568992018417974792487953894893365609233357012635655708628456479638775876864480125888328139372683476118519372869434363257767399445455565845319203246944296369616301930400164034809307233254264143675698982806009639575170155906274135459621403914729273982348032812975223869317019552844002126709333612693842920567998353150820138525237775994351610740054832740350793211257915377492954520501395533871661182125936382834279392838129913290118515148389464345654716794551013186191118148432015190563205380112733885684381398570573946554155997332710707755232697803779646706606582355625558097963807223383292537706681690695236101129885757913407580278082802564580742380838912822840496131280818979131617823043686266137128198105262392558286390921961054171102743962309700171886037900639146642661688700991387780976883710618072265033992856183167797082766381107943066563784020478229729481093228944358521220081226231038450089968791960921920246367965618082772559449457780824386204486446014216220079570188521319392730715555917024477999395561333480783503185383878740381365013815234335896320326529370710070855050932492052684799083343022675854571714759288506095826235297124194465724103975302530763783658315331908059485754528885617541354974597036971928114113662843671499335704300881818833871725221733584744823550204662578462660300806796632993050806515230073548385252206342702885833168031808064733019339216865033942740970890007524611902216955006367033409541114831572989554291217524638048584620830046753333334456262782810515622578050293634874506531090935461022208457333567426887311606238963397498513460708407499337851602748419008712457704898426713544041606002526334548800107553990834679560001345638433551531570549516786515301909452645019768979727451357615438146847534253338357814915594430537183278698268582901562553469501034740693684549515988898117002219663625794674043399788959491714642417040357410534259508933530070039721183225353424472123764750408991101535421332455415677229 169916514859210395738985776773927058454922304934006229494493715999485008665149634761151657904557227829273474997451432434169017813713467036242271692994338777267861818620643093861709696851561127072264822864023133560347978124377823768261896002166083533167734363071265303632389236589134774839351399860378534248942623929266170036036804964512208979193876601626392518261243380199992414231200449958681152016249478894751363991273642721151149946230715260661916154210604562149036702984147032751792730348992646806857595332105328778883916826333821294509792698719172962983264485113794325073532627147872759831244158198749192078989998830949975131426060354585061233383592045284026378052787181586047518605368583091116672691393409467284848671428641181105657618020679188464269027831666378223050182915792098637434334540639305616460887685768437083868006918676284432421123332174421567043886683029678806455285514107128083547094319928967926839397017588452068554785446312728745528161635254367987933957251277275369679626012011640694411187006690653604963705834930995470918626875401496053473700815080240409516164166428108924514878209533843284727367988342748063764060750962475956599656013145395246252705098080888279141722666056491908597227565493223895392583863844308263326990609163360940401903448509214606375811055670517223719208282033995896559979564053634408116292169559495707046950334856128516415766044138872571469950029462566145919071864782450881973534102988994286713591123114013646592395590595186348094461021942373598612145315050108455151221072039018847837349934671768829975079836860666753673249826576130120082272134509393927877504489810219915518902566842476609599401468500278695900589314120224531947832195614167888231828682815887321505963135962218027017376663839108368572966006407343678036549022242067939346202909108457317412317431419536206280046318058761518768548358345783703282597376187367379874476893541096372610938259246098398938669545599570913366262933271716769749837959478768553181886721290235070628710998393035651108639296620479278463092515937852532267561188417285615142838146259082757723908618967997071495020164809487996973517084559431560165924696361983286317746494100468082674369044148977402501665815408048891984472625112891576434232382437135855620813054013887019709178436190349578136752142035931449333147560909972443487941970710662019708916128687815642405112890845600263756956674754123534054175931419143462868851078353998830197103218795172780883832787286943256758623687639191727797379928206816969771373919830391691481100459930740488767482773987076781963251987023619349050282342159868050070838778293336009628671590561304676568749005818376148111208255217659585442299990676888404855011654630267957504748345071326525416777559105491008560294775350670816447 274930696292128974266409366462989324827815842245390864661793449872710675472305957243734643898911008315627790645307861595745884495349340854589420652751398543524298327360013520020826029182359433283063397858754012863647249614832750847432067203795769561156538782543356558284876563809558753838586874373602175368924090000464646310535668031603572522023854149505664321306413940408605524212070045815004715668703676274196276283426809789358703634795389680401284367050322653204435092946536143872535994843013652222295192023351934142386759022723807938495278973574255737688202184563788757625405539301728583116980677569913001737989110706091826385093726687064359255420185792707805948565697797902769673116329688553556805429551790619539200841208482125237204156616227544840297998739547896596714361591780691743768752109631324034435680173722331977233616152033297068076831960630901205819763547509804694783424886790604202066467189363331184606796463044017913873988693257025115144463565654532022743264484531539513355324994817650333986357162596927740423327238845724744900974908214471277343017834633084411642873500040802767435446207886994104865893226118742415374800805795216307392867271060772739207225599476422150802904791992874742876620403623137185511099012233772608981707403714374126593021596941229796939016435783251109403589680604569843114135561386345115871524867363275353753556917211754074513729851362255864007656711153261382020201750540364289553812185791558867455971962026836487088526871414165479712284065628639735740343420312501013437611994000073018940093896981469001861117737499813396334938527567517901059155845127466192911497345993387712601668947950419676163185488978508425381682543064583053167913421845206338321797474776809241752331101580300799576826121619932754777452452421559898116119210763387332076918465025481795411712992753016989783231701937501900133562173580119599602923905558077450729527826033149057410021602268774253510384304888077009192498230395911235473941934781299316965545036622143130114465527278653192463613893657451206577206178781524031603265489299104449014563367992667502547458823630575534155320971606120990024323599789505108551176902704686172150914525908532815693708261014011345242636705415573503886689580119258609843773497268708845175104271538525068293799266237102911471208404818741964955725611203607317994473061646123041917373462255242529716719129808997762270417383161622871905778679838152175326555976780712374238709221321507329683940341277777936318625033277625279328950477723603485073283372475411460460827911288355926914330308240415139778167581454156532328980610742769612624308279328076703313221106550202793570968669444170822154608044177151300084717031034298939114520588160337997225931570424750997540542309514482110095716107806086493676 444847211151339370005395143236916383282738147179397094156287165872195684137455592004886301803468236144901265642759294029914902309062807890831692345745737320792160145980656613882535726033920560355328220722777146423995227739210574615693963205961853094324273145614621861917265800398693528677938274233980709617866713929730816346572472996115781501217730751132056839567657320608597938443270495773685867684953155168947640274700452510509853581026104941063200521260927215353471795930683176624328725192006299029152787355457262921270675849057629233005071672293428700671466669677583082698938166449601342948224835768662193816979109537041801516519787041649420488803777837991832326618484979488817191721698271644673478120945200086824049512637123306342861774636906733304567026571214274819764544507572790381203086650270629650896567859490769061101623070709581500497955292805322772863650230539483501238710400897732285613561509292299111446193480632469982428774139569753860672625200908900010677221735808814883034951006829291028397544169287581345387033073776720215819601783615967330816718649713324821159037666468911691950324417420837389593261214461490479138861556757692263992523284206167985459930697557310429944627458049366651473847969116361080903682876078080872308698012877735066994925045450444403314827491453768333122797962638565739674115125439979523987817036922771060800507252067882590929495895501128435477606740615827527939273615322815171527346288780553154169563085140850133680922462009351827806745087571013334352488735362609468588833066039091866777443831653237831836197574360480150008188354143648021141427979636860120789001835803607628120571514792896285762586957478787121282271857184807585115745617459374226553626157592696563258294237542518826594202785459041123350418458828903576152668233005455271423121374133939112824030424172553196063278019996263418902110531925903302885521281745444830604004719574245430020959861514872652449053850487647922558761163667628005223779894260067870147431757912378200743176525671688843572253190277930485040298694719376563870826677716390064157401514251750260271367442598572605650341136415608986997840684348936668717101599066669458468661020009000898368077305162988747744302520823622395871162205232150186278005879705844700795917325552412088002977702427452489607960546854673414288873172113579761482415032356785061626289590943058172121832020654598026027374057915746405959954611257295638195407055134711204435812440116680110567773128564721193077248720916817007126330405930420454844657292305803151941928371219096415681813082227491921741419568477775881379262952902637662695147057621412712941892697111507470139717675262546970265816299394810885527017021711187343969532242790605954730679915496077522957319868619973118656010883156757310123 719777907443468344271804509699905708110553989424787958818080615744906359609761549248620945702379244460529056288067155625660786804412148745421112998497135864316458473340670133903361755216279993638391618581531159287642477354043325463126030409757622655480811928157978420202142364208252282516525148607582884986790803930195462657108141027719354023241584900637721160874071261017203462655340541588690583353656831443143916558127262299868557215821494621464484888311249868557906888877219320496864720035019951251447979378809197063657434871781437171500350645867684438359668854241371840324343705751329926065205513338575195554968220243133627901613513728713779744223963630699638275184182777391586864838027960198230283550496990706363250353845605431580065931253134278144865025310762171416478906099353482124971838759901953685332248033213101038335239222742878568574787253436223978683413778049288196022135287688336487680028698655630296052989943676487896302762832826778975817088766563432033420486220340354396390276001646941362383901331884509085810360312622444960720576691830438608159736484346409232801911166509714459385770625307831494459154440580232894513662362552908571385390555266940724667156297033732580747532250042241394350468372739498266414781888311853481290405416592109193587946642391674200253843927237019442526387643243135582788250686826324639859341904286046414554064169279636665443225746863384299485263451769088909959475365863179461081158474572112021625535047167686620769449333423517307519029153199653070092832155675110482026445060039164885717537728634706833697315311860293546343126881711165922200583824764326313700499181796995340722240462743315961925772446457295546663954400249390638283659039304580564875423632369505805010625339122819626171028907078973878127870911250463474268787443768842603500039839159420908235743416925570185846509721933765319035672705506022902488445187303522281333532545607394487430981463783646905959438155375724931751259394063539240697721829041367187112976794534521330857642052950342036035867083935381691617504873500900595474092167015494513171964882244417762818826266229148139805662108021729977022164284138441777268278501771355630619575545917533714061785566177000092986939226239195899757851785351408796121779376974553545971021597090937156296776968664555401079168951673415379244598783317187079476888094002908103543663053198300701838551150463595788297791441077369277865733291095447813521963031915423578674521661438187440251713469842499129395873754194442286455280883654023939917940664781214612402756282507452342596143390467907061519587149931932413708243563645407275319455336949489416255113803661710263710686344706717792420424343571962185611734052745486283084052830950943951956611485920828520497862178134455228751726990962843803799 1164625118594807714277199652936822091393292136604185052974367781617102043747217141253507247505847480605430321930826449655575689113474956636252805344242873185108618619321326747785897481250200553993719839304308305711637705093253900078819993615719475749805085073772600282119408164606945811194463422841563594604657517859926279003680614023835135524459315651769778000441728581625801401098611037362376451038609986612091556832827714810378410796847599562527685409572177083911378684807902497121193445227026250280600766734266459984928110720839066404505422318161113139031135523918954923023281872200931269013430349107237389371947329780175429418133300770363200233027741468691470601802667756880404056559726231842903761671442190793187299866482728737922927705890041011449432051881976446236243450606926272506174925410172583336228815892703870099436862293452460069072742546241546751547064008588771697260845688586068773293590207947929407499183424308957878731536972396532836489713967472332044097707956149169279425227008476232390781445501172090431197393386399165176540178475446405938976455134059734053960948832978626151336095042728668884052415655041723373652523919310600835377913839473108710127086994591043010692159708091608045824316341855859347318464764389934353599103429469844260582871687842118603568671418690787775649185605881701322462365812266304163847158941208817475354571421347519256372721642364512734962870192384916437898748981185994632608504763352665175795098132308536754450371795432869135325774240770666404445320891037719950615278126078256752494981560287944665533512886220773696351315235854813943342011804401186434489501017600602968842811977536212247688359403936082667946226257434198223399404656763954791429049789962202368268919576665338452765231692538015001478289370079367050421455676774297874923161213293360021059773841098123381909787741930028737937783237431926205373966469048967111937537265181639917451941325298519558408492005863372854310020557731167245921501723301435057260408552446899531600818578622030879608120274213312176657803568220277159344918844731884577329366396496168023090193708827720745456003244437338964020004968487378445985380100838025089088236565926534612429862871339988840731241747062818295629013990583558982399785256680398246766938922643349244299754671092007890687129498528088793533471955430766840959303126359693165169952644141358873960383171118193814325165498993115683825687902352743451717370087050134783110334101554867550819486598407220322473122475111259293581611289584444394762597957087017764344684653726548758277956472695398983261006718409708295087506516548044938014602394570902129197006500773217733850404019969264762686240642966773071138751074456673627053585073741549906687291401416906043455182046754428347407737874119601113922 1884403026038276058549004162636727799503846126028973011792448397362008403356978690502128193208226725065959378218893605281236475917887105381673918342740009049425077092661996881689259236466480547632111457885839464999280182447297225541946024025477098405285897001930578702321550528815198093710988571449146479591448321790121741660788755051554489547700900552407499161315799842643004863753951578951067034392266818055235473390954977110246968012669094183992170297883426952469285573685121817618058165262046201532048746113075657048585545592620503576005772964028797577390804378160326763347625577952261195078635862445812584926915550023309057319746814499076979977251705099391108876986850534271990921397754192041134045221939181499550550220328334169502993637143175289594297077192738617652722356706279754631146764170074537021561063925916971137772101516195338637647529799677770730230477786638059893282980976274405260973618906603559703552173367985445775034299805223311812306802734035764077518194176489523675815503010123173753165346833056599517007753699021610137260755167276844547136191618406143286762859999488340610721865668036500378511570095621956268166186281863509406763304394740049434794243291624775591439691958133849440174784714595357613733246652701787834889508846061953454170818330233792803822515345927807218175573249124836905250616499092628803706500845494863889908635590627155921815947389227897034448133644154005347858224347049174093689663237924777197420633179476223375219821128856386442844803393970319474538153046712830432641723186117421638212519288922651499230828198081067242694442117565979865542595629165512748190000199397598309565052440279528209614131850393378214610180657683588861683063696068535356304473422331708173279544915788158078936260599616988879606160281329830524690243120543140478423201052452780929295517258023693567756297463863794056973455942937949107862411656352489393271069810789034404882922789082166464367930161239097786061279951794706486619223552342802244373385346981420862458460631572372915643987358148693868275308441721177754819011011747379090501331278740585785909019975056868885261665352459068941042169252625820223253658602609380719707812111844068326491648437516988933718180973302014195386865775934967778521564633654951792737960519734286400596531639756563291766298450201504172778070738747953920436191220362601268713615697339659575798934321581789602622956940070484961691421193448191265239333118965558361784855762993054991071200068249719451868996229305701580036892173238468334680538621868232376747440936234001100874099863163306044780593868341640708795750080193452213334057731520391545452120304434927997561090364675982555106664986538735256750485127202159910137637904692493858643902887337734563953044224888883576159464865082444917721 3049028144633083772826203815573549890897138262633158064766816178979110447104195831755635440714074205671389700149720054936812165031362062017926723686982882234533695711983323629475156717716681101625831297190147770710917887540551125620766017641196574155090982075703178984440958693422143904905451994290710074196105839650048020664469369075389625072160216204177277161757528424268806264852562616313443485430876804667327030223782691920625378809516693746519855707455604036380664258493024314739251610489072451812649512847342117033513656313459569980511195282189910716421939902079281686370907450153192464092066211553049974298862879803484486737880115269440180210279446568082579478789518291152394977957480423884037806893381372292737850086811062907425921343033216301043729129074715063888965807313206027137321689580247120357789879818620841237208963809647798706720272345919317481777541795226831590543826664860474034267209114551489111051356792294403653765836777619844648796516701508096121615902132638692955240730018599406143946792334228689948205147085420775313800933642723250486112646752465877340723808832466966762057960710765169262563985750663679641818710201174110242141218234213158144921330286215818602131851666225457485999101056451216961051711417091722188488612275531797714753690018075911407391186764618594993824758855006538227712982311358932967553659786703681365263207011974675178188669031592409769411003836538921785756973328235168726298168001277442373215731311784760129670192924289255578170577634740985878983473937750550383257001312195678390707500849210596164764341084301840939045757353420793808884607433566699182679501216998201278407864417815740457302491254329460882556406915117787085082468352832490147733523212293910541548464492453496531701492292155003881084449651409197575111698797317438353346362265746140950355291099121816949666085205793822794911239180369875313236378125401456505208607075970674322334864114380686022776422167102470640371300509525873732540725275644237301633793899428320394059279210194403795252107632362006044933112009941454914163929856479263667830697675236753808999213683884589630717668596896407905062174221113198669239038703447405808796048677770602938921511308856977774449422720364832491015879766518526760921349890335350039504899442377635644896286310848571182453427948729592966311542694178720761395494346722294433883568341481018449759317492699983416948122439063600645517109095800934716956703206015693144895189864547922541890686666656939774342118704416960873618503462822912729443136578955250141092125589960549859152056335858705028041600586751349003883256596741497151348660126091293674649126805208145731411494384645247317792905629505508327889236201658833537191222978434043765331194288754640607408226271643311923567202739202046031643 4933431170671359831375207978210277690400984388662131076559264576341118850461174522257763633922300930737349078368613660218048640949249167399600642029722891283958772804645320511164415954183161649257942755075987235710198069987848351162712041666673672560376879077633757686762509222237341998616440565739856553787554161440169762325258124126944114619861116756584776323073328266911811128606514195264510519823143622722562503614737669030872346822185787930512026005339030988849949832178146132357309775751118653344698258960417774082099201906080073556516968246218708293812744280239608449718533028105453659170702073998862559225778429826793544057626929768517160187531151667473688355776368825424385899355234615925171852115320553792288400307139397076928914980176391590638026206267453681541688164019485781768468453750321657379350943744537812374981065325843137344367802145597088212008019581864891483826807641134879295240828021155048814603530160279849428800136582843156461103319435543860199134096309128216631056233028722579897112139167285289465212900784442385451061688810000095033248838370872020627486668831955307372779826378801669641075555846285635909984896483037619648904522628953207579715573577840594193571543624359306926173885771046574574784958069793510023378121121593751168924508348309704211213702110546402212000332104131375132963598810451561771260160632198545255171842602601831100004616420820306803859137480692927133615197675284342819987831239202219570636364491260983504890014053145642021015381028711305353521626984463380815898724498313100028920020138133247663995169282382908181740199470986773674427203062732211930869501416395799587972916858095268666916623104722839097166587572801375946765532048901025504037996634625618714828009408241654610637752891771992760690609932739028099801941917860578831769563318198921879650808357145510517422382669657616851884695123307824421098789781753945898479676886759708727217786903462852487144352328341568426432580461320580219159948827987039546007179246409741256517739841766776710896094990510699913208420451662632668982940868226642758332028953977339594908233658941458515979333949355476846104343473739018892492697306056786528503860789614671265413159746373966708167603693666846686402745542453494539442914523990301832242859962111922045492817950605134474219726398931097139089613432926674681831685567084895702597184038820678025558251814281773019571079379134085607208530289249125982196036324981251506680045627540977532961886734906659226211114933722662453655395636061381064123675200823482517839566526194550960026156199022011072822194455092989712679006676934949364682717857611685220101247109643073728972584749321229872899570616044243584639721328860993447328860883126537623975097176092375171361270496532195499726667604284490949364 7982459315304443604201411793783827581298122651295289141326080755320229297565370354013399074636375136408738778518333715154860805980611229417527365716705773518492468516628644140639572671899842750883774052266135006421115957528399476783478059307870246715467861153336936671203467915659485903521892560030566627983660001090217782989727493202333739692021332960762053484830856691180617393459076811577954005254020427389889533838520360951497725631702481677031881712794635025230614090671170447096561386240191105157347771807759891115612858219539643537028163528408619010234684182318890136089440478258646123262768285551912533524641309630278030795507045037957340397810598235556267834565887116576780877312715039809209659008701926085026250393950459984354836323209607891681755335342168745430653971332691808905790143330568777737140823563158653612190029135490936051088074491516405693785561377091723074370634305995353329508037135706537925654886952574253082565973360463001109899836137051956320749998441766909586296963047321986041058931501513979413418047869863160764862622452723345519361485123337897968210477664422274134837787089566838903639541596949315551803606684211729891045740863166365724636903864056412795703395290584764412172986827497791535836669486885232211866733397125548883678198366385615618604888875164997205825090959137913360676581121810494738813820418902226620435049614576506278193285452412716573270141317231848919372171003519511546285999240479661943852095803045743634560206977434897599185958663452291232505100922213931199155725810508778419627520987343843828759510366684749120785956824407567483311810496298911113549002633394000866380781275911009124219114359052299979722994487919163031848000401733515651771519846919529256376473900695151142339245183926996641775059584148225674913640715178017185115925583945062830006099456267327467088467875451439646795934303677699734335167907155402403688283962730383049552651017843538509920774495444039066803880970846453951700674103631276847640973145838061650577019051961180506148202622872705958141532461604087583146870724705906426162726629214093403907447342826048146697002546251884751166517694852217561731736009504192337299909467385274204334671055230944482617026414031679177418625308972021300364264414325651871747759404489557690389104261453705656673154347660690105401156127105395443227179913807190136480752380301696475317569306981756436519201818197686252725639385050060699152739530996944651575235492088900074852573401563599000553233638139623327273899098884293793566811779778732658931692116155100819178212534880716100863795041844338716562263273676446516031377983702978894750373914851219460384079133966477190692476245549751912528957530519826984520083861560581389306291464847015778769496768175507423293870343486536981007 12915890485975803435576619771994105271699107039957420217885345331661348148026544876271162708558676067146087856886947375372909446929860396817128007746428664802451241321273964651803988626083004400141716807342122242131314027516247827946190100974543919275844740230970694357965977137896827902138333125770423181771214162530387545314985617329277854311882449717346829807904184958092428522065591006842464525077164050112452037453258029982370072453888269607543907718133666014080563922849316579453871161991309758502046030768177665197712060125619717093545131774627327304047428462558498585807973506364099782433470359550775092750419739457071574853133974806474500585341749903029956190342255942001166776667949655734381511124022479877314650701089857061283751303385999482319781541609622426972342135352177590674258597080890435116491767307696465987171094461334073395455876637113493905793580958956614558197441947130232624748865156861586740258417112854102511366109943306157571003155572595816519884094750895126217353196076044565938171070668799268878630948654305546215924311262723440552610323494209918595697146496377581507617613468368508544715097443234951461788503167249349539950263492119573304352477441897006989274938914944071338346872598544366110621627556678742235244854518719300052602706714695319829818590985711399417825423063269288493640179932262056510073981051100771875606892217178337378197901873233023377129278797924776052987368678803854366273830479681881514488460294306727139450221030580539620201339692163596586026727906677312015054450308821878448547541125477091492754679649067657302526156295394341157739013559031123044418504049789800454353698134006277791135737463775139076889582060720538978613532450634541155809516481545147971204483308936805752976998075698989402465669516887253774715582633038596016885488902143984709656907813412837984510850545109056498680629426985524155433957688909348302167960849490091776770437921306390997065126823785607493236461432167034170860622931618316393648152392247802907094758893727957217044297613383405871349952913266720252129811592932549184494755583191432998815681001767506662676336495607361597270861168591236454224433315560978865803770256999945469747830801604911190784630107698525863821370851425515839807178938315953703990619366601479735881922212058840130892880746591787244490769560032070125058865480892085839077936419122374500875821121263529456090281197331771859934169674299186681348775855978196158255281119629877607814460136470258226764348571862285780929294734945674857690486980602215176771258642349651779204368733902727173685989496937328429241269950611395880714095841314664114851621024494293189356663883287707063592046861593995497168678859380820431848944744687119013281388640939390950130767264707702923020537947771027930371 20898349801280247039778031565777932852997229691252709359211426086981577445591915230284561783195051203554826635405281090527770252910471626234655373463134438320943709837902608792443561297982847151025490859608257248552429985044647304729668160282414165991312601384307631029169445053556313805660225685800989809754874163620605328304713110531611594003903782678108883292735041649273045915524667818420418530331184477502341571291778390933867798085590751284575789430928301039311178013520487026550432548231500863659393802575937556313324918345159360630573295303035946314282112644877388721897413984622745905696238645102687626275061049087349605648641019844431840983152348138586224024908143058577947653980664695543591170132724405962340901095040317045638587626595607374001536876951791172402996106684869399580048740411459212853632590870855119599361123596825009446543951128629899599579142336048337632568076253125585954256902292568124665913304065428355593932083303769158680902991709647772840634093192662035803650159123366551979230002170313248292048996524168706980786933715446786071971808617547816563907624160799855642455400557935347448354639040184267013592109851461079430996004355285939028989381305953419784978334205528835750519859426042157646458297043563974447111587915844848936280905081080935448423479860876396623650514022407201854316761054072551248887801470002998496041941831754843656391187325645739950399420115156624972359539682323365912559829720161543458340556097352470774010428008015437219387298355615887818531828828891243214210176119330656868175062112820935321514190015752406423312113119801908641050824055330034157967506683183801320734479409917286915354851822827439056612576548639702010461532852368056807581036328464677227580957209631956895316243259625986044240729101035479449629223348216613202001414486089047539663007269680165451599318420560496145476563730663223889769125596064750705856244812220474826323088939149929506985901319229646560040342403013488122561297035249593241289125538085864557671777945689137723192500236256111829491485374870807835276682317638455610657482212405526402723128344593554809373339041859246348437378863443454015956169325065171203103679724385219674082501856835855673401656521730205041239996160397537140171443352641605575738378771091037426271026473512545787566035094252477349891925687137465568286045394699275975558688799424070976193390428245285892609483015529458112659809059349247380501515386975140809830516611718777682667033538033857227317582210001909108203193833829968651257298760380947835702950758504752598382581268783443274549784538781667145803533224287842396745473825017643009601994939345512649740743017254184254284523107143747409697636389900647416369028606247700402587680105786406728900264032883210346314408291257564911378 33814240287256050475354651337772038124696336731210129577096771418642925593618460106555724491753727270700914492292228465900679699840332023051783381209563103123394951159176573444247549924065851551167207666950379490683744012560895132675858261256958085267157341615278325387135422191453141707798558811571412991526088326150992873619698727860889448315786232395455713100639226607365474437590258825262883055408348527614793608745036420916237870539479020892119697149061967053391741936369803606004303710222810622161439833344115221511036978470779077724118427077663273618329541107435887307705387490986845688129709004653462719025480788544421180501774994650906341568494098041616180215250399000579114430648614351277972681256746885839655551796130174106922338929981606856321318418561413599375338242037046990254307337492349647970124358178551585586532218058159082841999827765743393505372723295004952190765518200255818579005767449429711406171721178282458105298193247075316251906147282243589360518187943557162021003355199411117917401072839112517170679945178474253196711244978170226624582132111757735159604770657177437150073014026303855993069736483419218475380613018710428970946267847405512333341858747850426774253273120472907088866732024586523757079924600242716682356442434564148988883611795776255278242070846587796041475937085676490347956940986334607758961782521103770371648834048933181034589089198878763327528698913081401025346908361127220278833660199843424972829016391659197913460649038595976839588638047779484404558556735568555229264626428152535316722603238298026814268869664820063725838269415196249798789837614361157202386010732973601775088177543923564706490589286602578133502158609360240989075065303002597963390552810009825198785440518568762648293241335324975446706398617922733224344805981255209218886903388233032249319915083093003436110168965669552644157193157648748045203083284974099008024205661710566603093526860456320504051028143015254053276803835180522293421919966867909634937277930333667464766536839417094940236797849639517700841438288137528087406493910571004795152237795596959401538809346361061472049675537466607945708240032034690470180602640626150068907449981385165143830332658440766864186286629428730905061367011823052979978622290957559279728998137692517162152948685571385918458915840844264594382695247169535693344910875591361814636625218546445477069211549508815348699764212861229972593978733648434061850291242953336968085797731348655290481493674504115454081930781864194889132488568775643508947785740983163012474209400854404377586950002686170448235774035718995575044803174899238277459569666332307124453615963839805839097406900541891317876569968737742906866315249281467848217973350934819415869068746725797679031031297590913269334946239028592841749 54712590088536297515132682903549970977693566422462838936308197505624503039210375336840286274948778474255741127697509556428449952750803649286438754672697541444338660997079182236691111222048698702192698526558636739236173997605542437405526421539372251258469942999585956416304867245009455513458784497372402801280962489771598201924411838392501042319690015073564596393374268256638520353114926643683301585739533005117135180036814811850105668625069772176695486579990268092702919949890290632554736258454311485820833635920052777824361896815938438354691722380699219932611653752313276029602801475609591593825947649756150345300541837631770786150416014495338182551646446180202404240158542059157062084629279046821563851389471291801996452891170491152560926556577214230322855295513204771778334348721916389834356077903808860823756949049406705185893341654984092288543778894373293104951865631053289823333594453381404533262669741997836072085025243710813699230276550844474932809138991891362201152281136219197824653514322777669896631075009425765462728941702642960177498178693617012696553940729305551723512394817977292792528414584239203441424375523603485488972722870171508401942272202691451362331240053803846559231607326001742839386591450628681403538221643806691129468030350408997925164516876857190726665550707464192665126451108083692202273702040407159007849583991106768867690775880688024690980276524524503277928119028238025997706448043450586191393489920004968431169572489011668687471077046611414058975936403395372223090385564459798443474802547483192184897665351118962135783059680572470149150382534998158439840661669691191360353517416157403095822656953840851621845441109430017190114735157999942999536598155370654770971589138474502426366397728200719543609484594950961490947127718958212673974029329471822420888317874322079788982922352773168887709487386230048789633756888311971934972208881038849713880450473931041429416615799606250011036929462244900613317146238194010415983217002117502876226403468419532022438314785106232663429298085895629530332923663008335922683176228209460405809720008002485804261937690954616281423014579325854294145618895478144486136771965691321272011129705770384817912834515276622537587943151158935946301363172220590120150065643599164855467376908783554588423975159083931706024950935096741944274620934307001261630956270290637790195314017970516453262601977754101241309247228390688085253787792997681442351806629928477777916314343067432973148527212537972681399512991866103997335682402605612160205084501364110848177160159359156975969531271469613722785558574500662720848336399187080674205043491349950134055610903185318488838149917796075572161093075881490316563951639182115264587001957182519818456748852512204407931295330474123615649354530286157753127 88526830375792347990487334241322009102389903153672968513404968924267428632828835443396010766702505744956655619989738022329129652591135672338222135882260644567733612156255755680938661146114550253359906193509016229919918010166437570081384682796330336525627284614864281803440289436462597221257343308943815792807050815922591075544110566253390490635476247469020309494013494864003994790705185468946184641147881532731928788781851232766343539164548793068815183729052235146094661886260094238559039968677122107982273469264167999335398875286717516078810149458362493550941194859749163337308188966596437281955656654409613064326022626176191966652191009146244524120140544221818584455408941059736176515277893398099536532646218177641652004687300665259483265486558821086644173714074618371153672590758963380088663415396158508793881307227958290772425559713143175130543606660116686610324588926058242014099112653637223112268437191427547478256746421993271804528469797919791184715286274134951561670469079776359845656869522188787814032147848538282633408886881117213374209423671787239321136072841063286883117165475154729942601428610543059434494112007022703964353335888881937372888540050096963695673098801654273333484880446474649928253323475215205160618146244049407811824472784973146914048128672633446004907621554051988706602388193760182550230643026741766766811366512210539239339609929621205725569365723403266605456817941319427023053356404577806470227150119848393403998588880670866600931726085207390898564574451174856627648942300028353672739428975635727501620268589416988950051929345392533874988651950194408238630499284052348562739528149131004870910834497764416328336030396032595323616893767360183988611663458373252734362141948484327625151838246769482191902725930275936937653526336880945898318835310727031639775221262555112038302837435866172323819656351899601433790950045960719980175292166012948721904656135641608032510142660062570515087957605260154666593950073374532709405136968985412511163681398753199487204851624523327603666095935535147231174361951145864010089670138780465200961957803599445205800747037315677753472690116792462239853858927512834956317374606317471340918579687155549961743167173717389401774229780587666851362730184043643100128687934556724135196375046476071750576923844655317624483866775941006538657316181476536954975867145881999604831939236516961930331813527262916590009011441251918057847766526646115504202097872881814746002112074416088263630020887042088135481443773730298886468170971381255669152870242347273860651369560213561353556481274155784171021332610219658295893139574086318951664613157682257258509226867025124327935556818337966890037663044619233223430266888463583112804975308117339234325817599238002086962326628065036884984300769314750594876 143239420464328645505620017144871980080083469576135807449713166429891931672039210780236297041651284219212396747687247578757579605341939321624660890554958186012072273153334937917629772368163248955552604720067652969156092007771980007486911104335702587784097227614450238219745156681472052734716127806316218594088013305694189277468522404645891532955166262542584905887387763120642515143820112112629486226887414537849063968818666044616449207789618565245510670309042503238797581836150384871113776227131433593803107105184220777159760772102655954433501871839061713483552848612062439366910990442206028875781604304165763409626564463807962752802607023641582706671786990402020988695567483118893238599907172444921100384035689469443648457578471156412044192043136035316967029009587823142932006939480879769923019493299967369617638256277364995958318901368127267419087385554489979715276454557111531837432707107018627645531106933425383550341771665704085503758746348764266117524425266026313762822750215995557670310383844966457710663222857964048096137828583760173551707602365404252017690013570368838606629560293132022735129843194782262875918487530626189453326058759053445774830812252788415058004338855458119892716487772476392767639914925843886564156367887856098941292503135382144839212645549490636731573172261516181371728839301843874752504345067148925774660950503317308107030385810309230416549642247927769883384936969557453020759804448028392661620640039853361835168161369682535288402803131818804957540510854570228850739327864488152116214231523118919686517933940535951085834989025965004024139034485192566678471160953743539923093045565288407966733491451605267950181471505462612513731628925360126988148261613743907505333731086958830051518235974970201735512210525226898428600654055839158572292864640198854060663539136877191827285759788639341211529143738129650223424706934272691915147501047051798435785106609572649461926758459668820526124887067505055279911096311568543125388353971102915387390084867172731509643166409629560267095394021430776761507285614154199932772846366989925606771677811601931010062684728270294034895704696118316533999477822990979442454146572008792612929709392925934779656001688994011939362172931746602797664093356264233220278753578155888990663751955259626339000899003739249330508817711037748482931937115783538216606823416172637395027253254487478383594415505017017831318258669642606143101554319643796946553904502810292523918426417483521236778548099580060816880956765596402883803853373986867829357954743711384708828529719572718329526012545625397893806891184720321016741475973273399625869656649032207392564837770210442816773706736134042462198756120500723539994218527645698377391977265299859052782566451750206494893621958539160500633655299600908348003 231766250840120993496107351386193989182473372729808775963118135354159360304868046223632307808353789964169052367676985601086709257933074993962883026437218830579805885309590693598568433514277799208912510913576669199076010017938417577568295787132032924309724512229314520023185446117934649955973471115260034386895064121616780353012632970899282023590642510011605215381401257984646509934525297581575670868035296070580992757600517277382792746954167358314325854038094738384892243722410479109672816195808555701785380574448388776495159647389373470512312021297424207034494043471811602704219179408802466157737260958575376473952587089984154719454798032787827230791927534623839573150976424178629415115185065843020636916681907647085300462265771821671527457529694856403611202723662441514085679530239843150011682908696125878411519563505323286730744461081270442549630992214606666325601043483169773851531819760655850757799544124852931028598518087697357308287216146684057302239711540161265324493219295771917515967253367155245524695370706502330729546715464877386925917026037191491338826086411432125489746725768286752677731271805325322310412599537648893417679394647935383147719352302885378753677437657112393226201368218951042695893238401059091724774514131905506753116975920355291753260774222124082736480793815568170078331227495604057302734988093890692541472317015527847346369995739930436142119007971331036488841754910876880043813160852606199131847790159701755239166750250353401889334529217026195856105085305745085478388270164516505788953660498754647188138202529952940035886918371357537899127686435386974917101660237795888485832573714419412837644325949369684278517501901495207837348522692720310976759925072117160239695873035443157676670074221739683927414936455502835366254180392720104470611699950925885700438760399432303865588597224505513535348800090029251657215656980233411895322793213064747157689762745214257494436901119731391041212844672765209946505046384943075834793490940088327898553766265925930996848018034152887870761489956965923992681647565300063942862516505770390807733635615201376215863431765585971788368394812910778773853336750503814398771521178326263953848289080081484741399168862711401341136402712334269649026823540307876320407441512712613125860127001735698089577822848394566954992684486978755021589253297260075171582690562054636999859192491004440313926229032279934421327270110894524200949320846289912450756002375692107269920538491899609500408568986622148952362400539326701770272024345368123498510824986058658569479899279786279683082493819781182064828223794939979312634615547359718577534269806714464651074064637235567144709263554472009352236419165119956763424485416109281490196952573417198287108384050988208581855948586604197385617956068915658942879 375005671304449639001727368531065969262556842305944583412831301784051291976907257003868604850005074183381449115364233179844288863275014315587543916992177016591878158462925631516198205882441048164465115633644322168232102025710397585055206891467735512093821739843764758242930602799406702690689598921576252980983077427310969630481155375545173556545808772554190121268789021105289025078345409694205157094922710608430056726419183321999241954743785923559836524347137241623689825558560863980786592422939989295588487679632609553654920419492029424945813893136485920518046892083874042071130169851008495033518865262741139883579151553792117472257405056429409937463714525025860561846543907297522653715092238287941737300717597116528948919844242978083571649572830891720578231733250264657017686469720722919934702401996093248029157819782688282689063362449397709968718377769096646040877498040281305688964526867674478403330651058278314578940289753401442812045962495448323419764136806187579087315969511767475186277637212121703235358593564466378825684544048637560477624628402595743356516099981800964096376286061418775412861115000107585186331087068275082871005453406988828922550164555673793811681776512570513118917855991427435463533153326902978288930882019761605694409479055737436592473419771614719468053966077084351450060066797447932055239333161039618316133267518845155453400381550239666558668650219258806372226691880434333064572965300634591793468430199555117074334911620035937177737332348845000813645596160315314329127598029004657905167892021873566874656136470488891121721907397322541923266720920579541595572821191539428408925619279707820804377817400974952228698973406957820351080151618080437964908186685861067745029604122401987728188310196709885662927146980729733794854834448559263042904564591124739761102299536309495692874357013144854746877943828158901880640363914506103810470294260116545593474869354786906956363659579400211567337731740270265226416142696511618960181844911191243285943851133098662506491184443782448137856883978396700754188933179454263875635362872760316414505313426803307225926116493856265823264099509029095307852814573494793841225667750335056566777998473007419521055170551705413280498575644080872446690916896572109540686195090868502116523878956995324428578721852133816285501502198016503504521190413043613388189513978227274394886445745491918697520644537296952252645528780537130344050875165933709397309906878502399793838964909383130737187117086202209769243357304923104654075877719354991327868779729770043278308428999358998012608506365406579958635114979660300329376091520633118203403926455746672043638902407446009961482970290606051814435175285620680303418703943754979867588929838717057339890950502738415076749570545143357886251611368516567290882 606771922144570632497834719917259958445030215035753359375949437138210652281775303227500912658358864147550501483041218780930998121208089309550426943429395847171684043772516325114766639396718847373377626547220991367308112043648815162623502678599768436403546252073079278266116048917341352646663070036836287367878141548927749983493788346444455580136451282565795336650190279089935535012870707275780827962958006679011049484019700599382034701697953281874162378385231980008582069280971343090459408618748544997373868254080998330150080066881402895458125914433910127552540935555685644775349349259810961191256126221316516357531738643776272191712203089217237168255642059649700134997520331476152068830277304130962374217399504763614249382110014799755099107102525748124189434456912706171103365999960566069946385310692219126440677383288011569419807823530668152518349369983703312366478541523451079540496346628330329161130195183131245607538807841098800120333178642132380722003848346348844411809188807539392702244890579276948760053964270968709555231259513514947403541654439787234695342186393233089586123011829705528090592386805432907496743686605923976288684848054924212070269516858559172565359214169682906345119224210378478159426391727962070013705396151667112447526454976092728345734193993738802204534759892652521528391294293051989357974321254930310857605584534373002799770377290170102700787658190589842861068446791311213108386126153240790925316220359256872313501661870389339067071861565871196669750681466060399807515868193521163694121552520628214062794339000441831157608825768680079822394407355966516512674481429335316894758192994127233642022143350344636507216475308453028188428674310800748941668111757978227984725477157845145404858384418449569590342083436232569161109014841279367513516264542050625461541059935741799558462954237650368282226743918188153537856020894739515705793087473181292751164632100001164450800560699131602608550576413035475172921189081454694794975335851279571184497617399024593503339202477935336008618373935362624746870580744754327818497879378530707222238949042004683441789548259442237611632494321939874081706151323998608239997188928661320520626287553088904262454339414416814621634978356415142095717740436879985861093636603581115242384005958731022518156544700528383240494186684995258526110443710303688559772204540281911394745638236496359011446873569576886673972798891431654545000196012223621848065909254194507063759503401282740237595686072824358721605757844249806424347902064723114826379604715828701847788328279145277695691000185187762023463338774600279642010707067992836780938196262461136694712967044681577106192233845078061166671594450740637066843189359864261357785882412134255626999334553726623658605519131747555271869567437432226233761 981777593449020271499562088448325927707587057341697942788780738922261944258682560231369517508363938330931950598405451960775286984483103625137970860421572863763562202235441956630964845279159895537842742180865313535540214069359212747678709570067503948497367991916844036509046651716748055337352668958412540348861218976238719613974943721989629136682260055119985457918979300195224560091216116969985985057880717287441106210438883921381276656441739205433998902732369221632271894839532207071246001041688534292962355933713607883805000486373432320403939807570396048070587827639559686846479519110819456224774991484057656241110890197568389663969608145646647105719356584675560696844064238773674722545369542418904111518117101880143198301954257777838670756675356639844767666190162970828121052469681288989881087712688312374469835203070699852108871185980065862487067747752799958407356039563732385229460873496004807564460846241409560186479097594500242932379141137580704141767985152536423499125158319306867888522527791398651995412557835435088380915803562152507881166282842382978051858286375034053682499297891124303503453501805540492683074773674199059159690301461913040992819681414232966377040990682253419464037080201805913622959545054865048302636278171428718141935934031830164938207613765353521672588725969736872978451361090499921413213654415969929173738852053218158253170758840409769259456308409848649233295138671745546172959091453875382718784650558811989387836573490425276244809193914716197483396277626375714136643466222525821599289444542501780937450475470930722279330733166002621745661128276546058108247302620874745303683812273835054446399960751319588735915448715410848539508825928881186906576298443839295729755081280247133133046694615159455253269230416962302955963849289838630556420829133175365222643359472051295251337311250795223029104687746347055418496384809245619516263381733297838344639501454788071407164220278531814175888308153305740399337331777966313755157180762470814470441468532123256009830386921717784146475257913759325501059513924208591694133242251291023636744262468807990667715664753298503434896593830968969389558965897493402081222856678996377087404286026096323783509509966122227902133554000496014542408657333452095401779831694449617358907884915726346946735266552662199525995688883011762030631634123347301947961718518509185789632083981988277708967518106873838926618327671968784889051071178157331245375816132696906857598468310665870974782803159026568490849115149172911078423779784078106154248384445598745126096757278504275708299506550594341982098453754260579971386798588625954984342122718207808738351869452127587067675204135684112981106769736361317370261893303619241225374812250851312966890285056465038735355089676890913158121178805948793524643 1588549515593590903997396808365585886152617272377451302164730176060472596540457863458870430166722802478482452081446670741706285105691192934688397803850968710935246246007958281745731484675878742911220368728086304902848326113008027910302212248667272384900914243989923314775162700634089407984015738995248827716739360525166469597468732068434084716818711337685780794569169579285160095104086824245766813020838723966452155694458584520763311358139692487308161281117601201640853964120503550161705409660437079290336224187794606213955080553254835215862065722004306175623128763195245331621828868370630417416031117705374172598642628841344661855681811234863884273974998644325260831841584570249826791375646846549866485735516606643757447684064272577593769863777882387968957100647075676999224418469641855059827473023380531500910512586358711421528679009510734015005417117736503270773834581087183464769957220124335136725591041424540805794017905435599043052712319779713084863771833498885267910934347126846260590767418370675600755466522106403797936147063075667455284707937282170212747200472768267143268622309720829831594045888610973400179818460280123035448375149516837253063089198272792138942400204851936325809156304412184391782385936782827118316341674323095830589462389007922893283941807759092323877123485862389394506842655383551910771187975670900240031344436587591161052941136130579871960243966600438492094363585463056759281345217607116173644100870918068861701338235360814615311881055480587394153146959092436113944159334416046985293410997063129995000244814471372553436939558934682701568055535632512574620921784050210062198442005267962288088422104101664225243131924023863876727937500239681935848244410201817523714480558438092278537905079033609024843611313853194872117072864131117998069937093675225990684184419407793094809800265488445591311331431664535208956352405703985135222056469206479131095804133554789235857964780977663416784438884566341215572258520859421008550132516613750385654939085931147849513169589399653120155093631849121950247930094668962919512631121629821730858983211510812674109505213012740741046529088152908843471265117221492010321220045607657697608030573579185228045963849380539042523768532356911156638126397770332081262873468298030732601291890874457369464891811253190582766489875568007020556742077833650990507733923058791097184377722218484636720414391676450725600591126563400439434051267190380953093441725386891413921357971711948611212378489231850927212454872993422717502771681848801220980627989161427446973885085557649553403990506735782104005561792528860859613397505656618791765280318980668945433064836496809164173867437980762174147778364187101954437105082663483502583160694662985568593889619610191662393960608808638468429990746243381019758404 2570327109042611175496958896813911813860204329719149244953510914982734540799140423690239947675086740809414402679852122702481572090174296559826368664272541574698808448243400238376696329955038638449063110908951618438388540182367240657980921818734776333398282235906767351284209352350837463321368407953661368065600579501405189211443675790423713853500971392805766252488148879480384655195302941215752798078719441253893261904897468442144588014581431692742160183849970423273125858960035757232951410702125613583298580121508214097760081039628267536266005529574702223693716590834805018468308387481449873640806109189431828839753519038913051519651419380510531379694355229000821528685648809023501513921016388968770597253633708523900645986018530355432440620453239027813724766837238647827345470939323144049708560736068843875380347789429411273637550195490799877492484865489303229181190620650915849999418093620339944290051887665950365980497003030099285985091460917293789005539818651421691410059505446153128479289946162074252750879079941838886317062866637819963165874220124553190799058759143301196951121607611954135097499390416513892862893233954322094608065450978750294055908879687025105319441195534189745273193384613990305405345481837692166618977952494524548731398323039753058222149421524445845549712211832126267485294016474051832184401630086870169205083288640809319306111894970989641219700275010287141327658724134802305454304309060991556362885521476880851089174808851239891556690249395303591636543236718811828080802800638572806892700441605631775937695289942303275716270292100685323313716663909058632729169086671084807502125817541797342534822064852983813979047372739274725267446326168563122754820708645656819444235639718339411670951773648768480096880544270157175073036713420956628626357922808401355906827778879844390061137576739240814340436119410882264374848790513230754738319850939776969440443635009577307265129001256195230960327192719646955971595852637387322305289697376221200125380554463271105522999976321370904301568889762881275748989608593171511206764363881112754495727473979620664777220877766039244481425681983877812860824083118985412402442902286654074695434859605281551829473359346661270425902086357407171180535055103784176664653299992480349960199775790183716411627077805852782292485564451018782587373711956998292455695641577300282974009806200472914429381909783324564527209454235369224323102338368538284338817541519588320778956440022614482187161292390877495703303988142595628581195461632879327134876373607026192099981842836153829112290013286376445987660246283121439584784304245244746749622441698876754171416705948936751241542642116446287128885133923463271807366975967102743808535506913836881560779904666656701129315698485529381588111925049329813283047 4158876624636202079494355705179497700012821602096600547118241091043207137339598287149110377841809543287896854761298793444187857195865489494514766468123510285634054694251358520122427814630917381360283479637037923341236866295375268568283134067402048718299196479896690666059372052984926871305384146948910195782339940026571658808912407858857798570319682730491547047057318458765544750299389765461519611099558165220345417599356052962907899372721124180050321464967571624913979823080539307394656820362562692873634804309302820311715161592883102752128071251579008399316845354030050350090137255852080291056837226894806001438396147880257713375333230615374415653669353873326082360527233379273328305296663235518637082989150315167658093670082802933026210484231121415782681867484314324826569889408964999109536033759449375376290860375788122695166229205001533892497901983225806499955025201738099314769375313744675081015642929090491171774514908465698329037803780697006873869311652150306959320993852572999389070057364532749853506345602048242684253209929713487418450582157406723403546259231911568340219743917332783966691545279027487293042711694234445130056440600495587547118998077959817244261841400386126071082349689026174697187731418620519284935319626817620379320860712047675951506091229283538169426835697694515661992136671857603742955589605757770409236427725228400480359053031101569513179944241610725633422022309597859064735649526668107730006986392394949712790513044212054506868571304875890985789690195811247942024962135054619792186111438668761770937940104413675829153209851035368024881772199541571207350090870721294869700567822809759630623244168954648039222179296763138601995383826408245058603065118847474343158716198156431690208856852682377504940491858123352047190109577552074626696295016483627346591012198287637484870937842227686405651767551075417473331201196217215889960376320146256100536247768564366543123093782233858647744766077285988171543854373496808330855422213989971585780319640394418955036169565721024024456662521612003225996919703262134430719395485510934485354710685490433338886726090778779985527954770136786656332089200340477422723662947894311772303465433184466779875437208727200312949670618714318327818661452874116257927526768290511082561491666664641085876518889059043365058975440019025803144115789790649282963429564636091380158387528418957551149796301459775290127800580798769663757153605558919237432259266906479734700314411734563093399539781622728422915758861136018346083967143481680548115504362768453639073866928393803382516280520022158549993222038811982299198181809901863538514902760679545699604481542445745915415410080097208461276663498110565226244472058630586246391696201576822450154669524276848363523276307294167850018102671292710833041451 6729203733678813254991314601993409513873025931815749792071752006025941678138738710839350325516896284097311257441150916146669429286039786054341135132396051860332863142494758758499124144585956019809346590545989541779625406477742509226264055886136825051697478715803458017343581405335764334626752554902571563847940519527976848020356083649281512423820654123297313299545467338245929405494692706677272409178277606474238679504253521405052487387302555872792481648817542048187105682040575064627608231064688306456933384430811034409475242632511370288394076781153710623010561944864855368558445643333530164697643336084237830278149666919170764894984649995884947033363709102326903889212882188296829819217679624487407680242784023691558739656101333288458651104684360443596406634321552972653915360348288143159244594495518219251671208165217533968803779400492333769990386848715109729136215822389015164768793407365015025305694816756441537755011911495797615022895241614300662874851470801728650731053358019152517549347310694824106257224681990081570570272796351307381616456377531276594345317991054869537170865524944738101789044669444001185905604928188767224664506051474337841174906957646842349581282595920315816355543073640165002593076900458211451554297579312144928052259035087429009728240650807984014976547909526641929477430688331655575139991235844640578441511013869209799665164926072559154399644516621012774749681033732661370189953835729099286369871913871830563879687853063294398425261554271194577426233432530059770105764935693192599078811880274393546875635394355979104869480143136053348195488863450629840079259957392379677202693640351556973158066233807631853201226669502413327262830152576808181357885827493131162602951837874771101879808626331145985037372402393509222263146290973031255322652939292028702497839977167481874932075418966927219992203670486299737706049986730446644698696171086033069976691403573943850388222783490053878705093270005635127515450226134195653160711911366192785905700194857690060559169542042394928758231411374884501745909311855305941926159849392047239850438159470054003663946968544819230009380452120664469192913283459462835126105850180965846998900292789748331704910568073861583375572705071725498999196507977900434592180068282991432521691442454824802288145966864896147351461004470044585731489501747647575419125206213391663132397334619430465579178211243099854655010035034138888080255943927457521771076808426068055479270851757177575586701074013605918619062849278613974665162605114559875250380736375479831173848771229957211628570533308534995980882285095103738782966114147108285264525202378422453775898248394682666656952722213654748405548632034028498051839034597688990200231708490659331715449428943505064652592005779697231606214596342040646324498 10888080358315015334485670307172907213885847533912350339189993097069148815478336997988460703358705827385208112202449709590857286481905275548855901600519562145966917836746117278621551959216873401169630070183027465120862272773117777794547189953538873769996675195700148683402953458320691205932136701851481759630280459554548506829268491508139310994140336853788860346602785797011474155794082472138792020277835771694584097103609574367960386760023680052842803113785113673101085505121114372022265051427250999330568188740113854721190404225394473040522148032732719022327407298894905718648582899185610455754480562979043831716545814799428478270317880611259362687033062975652986249740115567570158124514342860006044763231934338859216833326184136221484861588915481859379088501805867297480485249757253142268780628254967594627962068541005656663970008605493867662488288831940916229091241024127114479538168721109690106321337745846932709529526819961495944060699022311307536744163122952035610052047210592151906619404675227573959763570284038324254823482726064794800067038534937999997891577222966437877390609442277522068480589948471488478948316622423212354720946651969925388293905035606659593843123996306441887437892762666339699780808319078730736489617206129765307373119747135104961234331880091522184403383607221157591469567360189259318095580841602410987677938739097610280024217957174128667579588758231738408171703343330520434925603362397207016376858306266780276670200897275348905293832859147085563215923628341307712130727070747812391264923318943155317813575498769654934022689994171421373077261062992201047429350828113674546903261463161316603781310402762279892423405966265551929258213978985053239960950946340605505761668036031202792088665479013523489977864260516861269453255868525105882018947955775656049088852175455119359803013261194613625643971221561717211037251182947662534659072491232289170512939172138310393511316565723912526449859347291623299059304599631003984016134125356164371686019835252109015595339107763418953214893932986887727742829015117440372645555334902981725205148844960487342550673059323599215537335222257451125525002483799940257849768798075277619302365725974215111580347776801061896325243323786043826817857960852016692519706836573502515083183109119465888164664855923939512410436444489070388875605291538296858382554770849483043290784863038388016728974512702875144782810615832908551837409549486376759203336075332547790179585263491740668986240855636334341534821710414632320749129748596240423365885099143933470247715699623760594144851053330693545974104323907086037981147924048971823779427963057968153380379790840428582072362802310863209682212130144593724296311093228275236591927910067481781870118953220353428175868313073865081624317267634751479365949 17617284091993828589476984909166316727758873465728100131261745103095090493617075708827811028875602111482519369643600625737526715767945061603197036732915614006299780979240876037120676103802829420978976660729017006900487679250860287020811245839675698821694153911503606700746534863656455540558889256754053323478220979082525354849624575157420823417960990977086173646148253135257403561288775178816064429456113378168822776607863095773012874147326235925635284762602655721288191187161689436649873282491939305787501573170924889130665646857905843328916224813886429645337969243759761087207028542519140620452123899063281661994695481718599243165302530607144309720396772077979890138952997755866987943732022484493452443474718362550775572982285469509943512693599842302975495136127420270134400610105541285428025222750485813879633276706223190632773788005986201432478675680656025958227456846516129644306962128474705131627032562603374247284538731457293559083594263925608199619014593753764260783100568611304424168751985922398066020794966028405825393755522416102181683494912469276592236895214021307414561474967222260170269634617915489664853921550611979579385452703444263229468811993253501943424406592226757703793435836306504702373885219536942188043914785441910235425378782222533970962572530899506199379931516747799520946998048520914893235572077447051566119449752966820079689382883246687821979233274852751182921384377063181805115557198126306302746730220138610840549888750338643303719094413418280140642157060871367482236492006441004990343735199217548864689210893125634038892170137307474721272749926442830887508610785506054224105955103512873576939376636569911745624632635767965256521044131561861421318836773833736668364619873905973893968474105344669475015236662910370491716402159498137137341600895067684751586692152622601234735088680161540845636174892048016948743301169678109179357768662318322240489630575712254243899539349213966405154952617297258426574754825765199637176846036722357157591720030109799076154508649805813881973125344361772229488738326972746314571715184295028965055587004430541346214620027868418445546715674378115594717915767259403092975874648256243466301266018763963443285258344874923479700816028857769325817054468829917127111886904856493947604874551574290690452810822788835659761897448959114974607094793285944433801679977062874706423182197657818482308152723945974999437820650867047439917665493413834280974412883758615845658856115248918244572941929649940260153884559693246295414292353710800298616265835519413301421564470853717805773421586639228541954986609002189776764114038196080109043953165436390607156278039235111248729315524524517958087760762178622222348150127825964226792159618558141113585568382163858492828460318853562313230531863976792125690447 28505364450308843923962655216339223941644720999640450470451738200164239309095412706816271732234307938867727481846050335328384002249850337152052938333435176152266698815986993315742228063019702822148606730912044472021349952023978064815358435793214572591690829107203755384149488321977146746491025958605535083108501438637073861678893066665560134412101327830875033992751038932268877717082857650954856449733949149863406873711472670140973260907349915978478087876387769394389276692282803808672138333919190305118069761911038743851856051083300316369438372846619148667665376542654666805855611441704751076206604462042325493711241296518027721435620411218403672407429835053632876388693113323437146068246365344499497206706652701409992406308469605731428374282515324162354583637933287567614885859862794427696805851005453408507595345247228847296743796611480069094966964512596942187318697870643244123845130849584395237948370308450306956814065551418789503144293286236915736363177716705799870835147779203456330788156661149972025784365250066730080217238248480896981750533447407276590128472436987745291952084409499782238750224566386978143802238173035191934106399355414188617762717028860161537267530588533199591231328598972844402154693538615672924533531991571675542798498529357638932196904410991028383783315123968957112416565408710174211331152919049462553797388492064430359713600840420816489558822033084489591093087720393702240041160560523513319123588526405391117220089647613992209012927272565365703858080689212675194367219077188817381608658518160704182502786391895288972914860131478896094350010989435031934937961613619728771009216566674190180720687039332191638048038602033517185779258110546914661279787720174342174126287909937176686057139584358192964993100923427231761169658028023243019360548850843340800675544328077720594538101941356154471280146113609734159780552352625771714016841153550611411002569747850564637410855914937878931604811964588881725634059425396203621192980162078521529277739865361908091749847757569232835188019277348659957231567342090186687217270519198010690260735849391028688765293087192017661084050896635566720242918251059343350825643446331521085603631744738178554865606121675985376026059352643813152634912429681933819631593741429996462688057660693756578617475678712775172172333893448185363482700084824241292184234747912357749713967060696206499037127236648850144220631266699955991755075042900211040177748959091163635838441378740658913559182785286274601688706270107878616163422102307040721982150934663346771669280170477478399918272639969922087929090932909275814745261962245051932823381128494358760536657830075539830801678326835381167769972892323215946644461221054239463384087528625622895455687335384211921004328631927427394854849131611543605056396 46122648542302672513439640125505540669403594465368550601713483303259329802712488415644082761109910050350246851489650961065910718017795398755249975066350790158566479795227869352862904166822532243127583391641061478921837631274838351836169681632890271413384983018707362084896023185633602287049915215359588406586722417719599216528517641822980957830062318807961207638899292067526281278371632829770920879190062528032229650319335765913986135054676151904113372638990425115677467879444493245322011616411129610905571335081963632982521697941206159698354597660505578313003345786414427893062639984223891696658728361105607155705936778236626964600922941825547982127826607131612766527646111079304134011978387828992949650181371063960767979290755075241371886976115166465330078774060707837749286469968335713124831073755939222387228621953452037929517584617466270527445640193252968145546154717159373768152092978059100369575402871053681204098604282876083062227887550162523935982192310459564131618248347814760754956908647072370091805160216095135905610993770896999163434028359876553182365367651009052706513559376722042409019859184302467808656159723647171513491852058858451847231529022113663480691937180759957295024764435279349104528578758152615112577446777013585778223877311580172903159476941890534583163246640716756633363563457231089104566724996496514119916838245031250439402983723667504311538055307937240774014472097456884045156717758649819621870318746544001957769978397952635512732021685983645844500237750084042676603711083629822371952393717378253047191997285020923011807030268786370815622760915877862822446572399125782995115171670187063757660063675902103383672671237801482442300302242108776082598624494008078842490907783843150580025613689702862440008337586337602252886060187521380156702149745911025552262236480700321829273190621517695316916321005657751108523853522303880893374609815868933651492200323562818881310395264151845336759764581886140152208814251161403258369826198800878686869459895471707167904356407375046717161144621710432186720305669062933001788985703493039655316322853821570034979913115060436106630766571013682314960834018318746443801518094587764551904897763502141998150864466550908855726875381501582478451966898511850946743480646286490410292932212268047269070286501501610831934231342407300338089794878110185725985914724975232456137149258354024981345279960594825143658451917567003431672740536314045321152161842849779481497297493989577158132124714936214861842590829801124911577714456017841020598416770182760073090844641331196205691694226609150629884077541911465591509376000441132041867334293930749367692935869310651079530993851359899125857733654501838168992611348880203690176247147183764009041255717548070413832788950780989708085380995588335730746843 74628012992611516437402295341844764611048315465009001072165221503423569111807901122460354493344217989217974333335701296394294720267645735907302913399785966310833178611214862668605132229842235065276190122553105950943187583298816416651528117426104844005075812125911117469045511507610749033540941173965123489695223856356673078207410708488541092242163646638836241631650330999795158995454490480725777328924011677895636524030808436054959395962026067882591460515378194510066744571727297053994149950330319916023641096993002376834377749024506476067792970507124726980668722329069094698918251425928642772865332823147932649417178074754654686036543353043951654535256442185245642916339224402741280080224753173492446856888023765370760385599224680972800261258630490627684662411993995405364172329831130140821636924761392630894823967200680885226261381228946339622412604705849910332864852587802617891997223827643495607523773179503988160912669834294872565372180836399439672345370027165364002453396127018217085745065308222342117589525466161865985828232019377896145184561807283829772493840087996797998465643786221824647770083750689445952458397896682363447598251414272640464994246050973825017959467769293156886256093034252193506683272296768288037110978768585261321022375840937811835356381352881562966946561764685713745780128865941263315897877915545976673714226737095680799116584564088320801096877341021730365107559817850586285197878319173332940993907272949393074990068045566627721744948958549011548358318439296717870970930160818639753561052235538957229694783676916211984721890400265266909972771905312894757384534012745511766124388236861253938380750715234295021720709839834999628079560352655690743878412214182421016617195693780327266082753274061055405001438509764834014055718215544623176062698596754366352937780808778042423811292562873849788196467119267485268304405874929652607391450969419545062494770071413383518721251179089724268364576546475021877842873676557606879562806360879400216147199760833615259654204164944279552349163899059092143951873011153119689006256222691050345577058703212598723745206202252453767714817467649249035203752269378089794627161540919285637508529508240320553016470588226894231752934734145395631086879328193784766375074387716486872980989872961803847687762180214386004106565235855485701572494962934427018170149472887590205851116319050231480382407197243675287879083184266959423427815579214256361329910801940943117335738872730236071691307500222489463531297099909003527741136558324881742580567704846106844760124811808674605609966866579072717813168474820741406254637962686183974690715422425108128229593699386190910332672178195280293627706546825054115637072569934443153560334675809386904496943052932282334837117582708417102940230127199879335803239 120750661534914188950841935467350305280451909930377551673878704806682898914520389538104437254454128039568221184825352257460205438285441134662552888466136756469399658406442732021468036396664767308403773514194167429865025214573654768487697799058995115418460795144618479553941534693244351320590856389324711896281946274076272294735928350311522050072225965446797449270549623067321440273826123310496698208114074205927866174350144201968945531016702219786704833154368619625744212451171790299316161566741449526929212432074966009816899446965712635766147568167630305293672068115483522591980891410152534469524061184253539805123114852991281650637466294869499636663083049316858409443985335482045414092203141002485396507069394829331528364889979756214172148234745657093014741186054703243113458799799465853946467998517331853282052589154132923155778965846412610149858244899102878478411007304961991660149316805702595977099176050557669365011274117170955627600068386561963608327562337624928134071644474832977840701973955294712209394685682257001891439225790274895308618590167160382954859207739005850704979203162943867056789942934991913761114557620329534961090103473131092312225775073087488498651404950053114181280857469531542611211851054920903149688425545598847099246253152517984738515858294772097550109808405402470379143692323172352420464602912042490793631064982126931238519568287755825112634932648958971139122031915307470330354596077823152562864226019493395032760046443519263234476970644532657392858556189380760547574641244448462125513445952917210276886780961937134996528920669051637725595532821190757579831106411871294761239559907048317696040814391136398405393381077636482070379862594764466826477036708190499859108103477623477846108366963763917845009776096102436266941778403066003332764848342665391905200017289478364253084483184391545105112788124925236376828259397233533500766060785288478713986970394976202400031646443241569605124341128361162030051687927719010137932632559680278903016659656305322427558560572319326269510308520769524330672178680216052690795241926184090000893381557034168758725119317312889874345584038662931350164586287696836238428679635507050189413427271742462551167335054777803087479810115646978109538846226705635713118555034002977283273922085229851116758048681715996836040796578262786039662289841044612744156064197862822661988265577404256461727687157838500431537535101833962855100556115528301682482072644790722598833036366719813229823432215158704325373887929710128439318851014342722763178984475028866917850969453139870811301661093188223347697246016732206997764013963127316016558049716355857495922529568696841989863666029555179419485440201326892284629683918814646843736581822993150913538198770480352748669906533489406811025611122788215066550082 195378674527525705388244230809195069891500225395386552746043926310106468026328290660564791747798346028786195518161053553854500158553086870569855801865922722780232837017657594690073168626507002373679963636747273380808212797872471185139225916485099959423536607270529597022987046200855100354131797563289835385977170130432945372943339058800063142314389612085633690902199954067116599269280613791222475537038085883823502698380952638023904926978728287669296293669746814135810957022899087353310311517071769442952853529067968386651277195990219111833940538674755032274340790444552617290899142836081177242389394007401472454540292927745936336674009647913451291198339491502104052360324559884786694172427894175977843363957418594702288750489204437186972409493376147720699403598048698648477631129630595994768104923278724484176876556354813808382040347075358949772270849604952788811275859892764609552146540633346091584622949230061657525923943951465828192972249222961403280672932364790292136525040601851194926447039263517054326984211148418867877267457809652791453803151974444212727353047827002648703444846949165691704560026685681359713572955517011898408688354887403732777220021124061313516610872719346271067536950503783736117895123351689191186799404314184108420268628993455796573872239647653660517056370170088184124923821189113615736362480827588467467345291719222612037636152851844145913731809989980701504229591733158056615552474396996485503858133292442788107750114489085890956221919603081668941216874628677478418545571405267101879074498188456167506581564638853346981250811069316904635568304726503652337215640424616806527363948143909571634421565106370693427114090917471481698459422947420157570355448922372920875725299171403805112191120237824973250011214605867270280997496618610626508827546939419758258137798098256406676895775747265394893309255244192721645132665272163186108157511754708023776481740466389585918752897622331293873488917674836183907894561604276617017495438920559679119163859417138937687212764737263605821859472419828616474624051691369172379801498148875140346470440260246767482470325519565343642060401506312180385368338557074926033055841176426335826921956779982783104183805643004697319232744849792373740625725554899420479493629421719464156254911958191654964445810861930382840147361814118271741234784803979039762326213670750412867839381896454487942110094355082175719416618286100922278528371694742558043811983446731665716168775239450049301514739715381193788905185029619131967059987572667604505759552179874973762611094264948545416911627959767296065510414491552948404018651925813499991248765138780965624152123268083032900196338207750459713113146748151946400266756488749089997296916498802537818035141823412635083507024116197823913965841249988094402353321 316129336062439894339086166276545375171952135325764104419922631116789366940848680198669229002252474068354416702986405811314705596838528005232408690332059479249632495424100326711541205023171769682083737150941440810673238012446125953626923715544095074841997402415148076576928580894099451674722653952614547282259116404509217667679267409111585192386615577532431140172749577134438039543106737101719173745152160089751368872731096839992850457995430507456001126824115433761555169474070877652626473083813218969882065961142934396468176642955931747600088106842385337568012858560036139882880034246233711711913455191655012259663407780737217987311475942782950927861422540818962461804309895366832108264631035178463239871026813424033817115379184193401144557728121804813714144784103401891591089929430061848714572921796056337458929145508946731537819312921771559922129094504055667289686867197726601212295857439048687561722125280619326890935218068636783820572317609523366889000494702415220270596685076684172767149013218811766536378896830675869768706683599927686762421742141604595682212255566008499408424050112109558761349969620673273474687513137341433369778458360534825089445796197148802015262277669399385248817807973315278729106974406610094336487829859782955519514882145973781312388097942425758067166178575490654504067513512285968156827083739630958260976356701349543276155721139599971026366742638939672643351623648465526945907070474819638066722359311936183140510160932605154190698890247614326334075430818058238966120212649715564004587944141373377783468345600790481977779731738368542361163837547694409917046746836488101288603508050957889330462379497507091832507471995107963768839285542184624396832485630563420734833402649027282958299487201588891095020990701969706547939275021676629841592395282085150163337815387734770929980258931656939998422043369117958021960924669396719608923572539996502490468710861365788318784544065572863478613258803197345937946249531995627155428071480239958022180519073444260114771325309582932091369780940598140805296230371585225070596740075059230347363821817280936241195444836878233516405985544975111735532924844771762271484520811933386016335384051725245655351140697782500406712554965439351850164571781605056192612184455722441439528834043421506081203859543646379676188158392381057780897074645023652506482277868613235529827647473858744403837781512920676150954153387934885133628927810270859726294056091522388315001811606169862531338171930539898114279072959329260406378838587010327268938536654903840680462063718088416228213289052955519413207660508285155401782665888940816007806814855136823120074652836779874890060004237305639132598586949478838684896440407563736841033498321795688731573340593892987832176930649687230724991452372776309468903403 511508010589965599727330397085740445063452360721150657165966557426895834967176970859234020750050820097140612221147459365169205755391614875802264492197982202029865332441757921401614373649678772055763700787688714191481450810318597138766149632029195034265534009685677673599915627094954552028854451515904382668236286534942163040622606467911648334701005189618064831074949531201554638812387350892941649282190245973574871571112049478016755384974158795125297420493862247897366126496969965005936784600884988412834919490210902783119453838946150859434028645517140369842353649004588757173779177082314888954302849199056484714203700708483154323985485590696402219059762032321066514164634455251618802437058929354441083234984232018736105865868388630588116967221497952534413548382152100540068721059060657843482677845074780821635805701863760539919859659997130509694399944109008456100962727090491210764442398072394779146345074510680984416859162020102612013544566832484770169673427067205512407121725678535367693596052482328820863363107979094737645974141409580478216224894116048808409565303393011148111868897061275250465909996306354633188260468654353331778466813247938557866665817321210115531873150388745656316354758477099014847002097758299285523287234173967063939783511139429577886260337590079418584222548745578838628991334701399583893189564567219425728321648420572155313791873991444116940098552628920374147581215381623583561459544871816123570580492604378971248260275421691045146920809850695995275292305446735717384665784054982665883662442329829545290049910239643828959030542807685446996732142274198062254262387261104907815967456194867460964883944603877785259621562912579445467298708489604781967187934552936341610558701820431088070490607439413864345032205307836976828936771640287256350419942221504908421475613485991177606876034678922334891731298613310679667093589941559905717081084294704526266950451327755374237537441687904157352102176478033529845840811136272244172923510400799637141344378490583197801984090046846537913229253360426757279920282062954397450398238223934370693834262077527703723665770356443577158466387051287292120901263401846688304540361988359721843257340831708028759534946340787197725945299815231725590790297336504476672105813877441905595783746001613161045649670405576762516335520206499329522131859449002692268808491539363648397667029370313232345947875868002851870370771674035807412157299505013417770106039538254054031170586845619911832852911645921091903184257988948392373438826159677931774698088834778814443073157983036961645124917012722815478718074999838103805801317814754315999055579993917788744226776104862907790256342445056098845711733697630785085163196896312826838330414820598226549608482417305622915683954765885054638957293622764403871256724 827637346652405494066416563362285820235404496046914761585889188543685201908025651057903249752303294165495028924133865176483911352230142881034673182530041681279497827865858248113155578672850541737847437938630155002154688822764723092393073347573290109107531412100825750176844207989054003703577105468518929950495402939451380708301873877023233527087620767150495971247699108335992678355494087994660823027342406063326240443843146318009605842969589302581298547317977681658921295971040842658563257684698207382716985451353837179587630481902082607034116752359525707410366507564624897056659211328548600666216304390711496973867108489220372311296961533479353146921184573140028975968944350618450910701689964532904323106011045442769922981247572823989261524949619757348127693166255502431659810988490719692197250766870837159094734847372707271457678972918902069616529038613064123390649594288217811976738255511443466708067199791300311307794380088739395834116884442008137058673921769620732677718410755219540460745065701140587399742004809770607414680825009508164978646636257653404091777558959019647520292947173384809227259965927027906662947981791694765148245271608473382956111613518358917547135428058145041565172566450414293576109072164909379859775064033750019459298393285403359198648435532505176651388727321069493133058848213685552050016648306850383989298005121921698589947595131044087966465295267860046790932839030089110507366615346635761637302851916315154388770436354296199337619700098310321609367736264793956350785996704698229888250386471202923073518255840434310936810274546053989357895979821892472171309134097593009104570964245825350295346324101384877092129034907687409236137994031789406364020420183499762345392104469458371028790094641002755440053196009806683376876046661963886192012337503590058584813428873725948536856293610579274890153341982428637689054514610956625326004656834701028757419162189121162556321985753477020830715435281230875783787060668267871328351581881039595163524897564027457916755415356429470004599034301024898085216512434539622520994978298993601041198083894808639964861215193321810674872372596262403856434188246618450576024882800293107859592724883433274414886087038569698132657854780671077440954869118109532864717998333164347035312580045034667126853529949223142192523678598880387303028934094026344775290769407976883927494676844171976749785657380923528021324925061970692545786227315284277496400095629776442346172398451789774364191083576460990017463330948277652779817664746688259043636625489682655123535221701125377873338206065678334891925735508123259207583983703695132006862394849054611864301428941642782680316346682361737978310320647109623770059637303876563679363913142393915281181823011198610747860885415572285363948745995540713340160127 1339145357242371093793746960448026265298856856768065418751855745970581036875202621917137270502354114262635641145281324541653117107621757756836937674728023883309363160307616169514769952322529313793611138726318869193636139633083320231159222979602485143373065421786503423776759835084008555732431556984423312618731689474393543748924480344934881861788625956768560802322648639537547317167881438887602472309532652036901112014955195796026361227943748097706595967811839929556287422468010807664500042285583195795551904941564739962707084320848233466468145397876666077252720156569213654230438388410863489620519153589767981688070809197703526635282447124175755365980946605461095490133578805870069713138748893887345406340995277461506028847115961454577378492171117709882541241548407602971728532047551377535679928611945617980730540549236467811377538632916032579310928982722072579491612321378709022741180653583838245854412274301981295724653542108842007847661451274492907228347348836826245084840136433754908154341118183469408263105112788865345060654966419088643194871530373702212501342862352030795632161844234660059693169962233382539851208450446048096926712084856411940822777430839569033079008578446890697881527324927513308423111169923208665383062298207717083399081904424832937084908773122584595235611276066648331762050182915085135943206212874069809717619653542493853903739469122488204906563847896780420938514054411712694068826160218451885207883344520694125637030711775987244484540509949006316884660041711529673735451780759680895771912828801032468363568166080078139895840817353739436354628122096090534425571521358697916920538420440692811260230268705262662351750597820266854703436702521394188331208354736436103955950806289889459099280702080416619785085401317643660205812818302251142542432279725094967006289042359717126143732328289501609781884640595739317356148104552516531043085741129405555024369613516876536793859427441381178182817611759264405629627871804540115501275092281839232304869276054610655718739505403276007917828287661451655365136794497494019971393216522927971735032345972336343688526985549765387833338759647549695977335451648465138880565244788652829702850065715141303174421033379356895858603154595902803031745166454614009536823812210606252631096326046647828172503200354799904708859198805379716825160793543029037044099260947340532325161706214485209095733533248926379891695696736006499957943526820297695266506135168030496377342985297409686197043995222382081920647588937226045153256490906366190818334714324461469566608379684162339518463123078401150370643810507961363013385301518449448005917974842972400608528205046505690470572689127417836824022054344740408855222834200189390517694327962992141830790305428504233663544840181457340002906039618305117211416851 2166782703894776587860163523810312085534261352814980180337744934514266238783228272975040520254657408428130670069415189718137028459851900637871610857258065564588860988173474417627925530995379855531458576664949024195790828455848043323552296327175775252480596833887329173953604043073062559436008662452942242569227092413844924457226354221958115388876246723919056773570347747873539995523375526882263295336875058100227352458798342114035967070913337400287894515129817611215208718439051650323063299970281403178268890392918577142294714802750316073502262150236191784663086664133838551287097599739412090286735457980479478661937917686923898946579408657655108512902131178601124466102523156488520623840438858420249729447006322904275951828363534278566640017120737467230668934714663105403388343036042097227877179378816455139825275396609175082835217605834934648927458021335136702882261915666926834717918909095281712562479474093281607032447922197581403681778335716501044287021270606446977762558547188974448615086183884609995662847117598635952475335791428596808173518166631355616593120421311050443152454791408044868920429928160410446514156432237742862074957356464885323778889044357927950626144006505035739446699891377927601999220242088118045242837362241467102858380297710236296283557208655089771887000003387717824895109031128770687993222861180920193706917658664415552493687064253532292873029143164640467729446893441801804576192775565087646845186196437009280025801148130283443822160210047316638494027777976323630086237777464379125660163215272235391437086421920512450832651091899793425712524101917983006596880655456290926025109384686518161555576592806647539443879632727954263939574696553183594695228774919935866301342910759347830128070796721419375225138597327450343582688864964215028734444617228685025591102471233443074680588621900080884672037982578167955045202619163473156369090397964106583781788775705997699350181413194858199013533047040495281413414932472807986829626674162878827468394173618638113635494920759705477922427321962476553450353306932033642492388194821921572776230429867144983653388200743087198508211132243812099833769639895083589456590127588945937562442790598574577589307120417926593991261009376573880472700035572723542401541810543770599666408906091682495299356730304023046901382877404260104128189727637055381819390030355317416252656383058657185845519190629849907913020621797977192503729754135581972762906230797806938723515383749199460561235078798843071938110919885503697933074155653054449861971339814144124690143601385287717391801329144079485262569546016084622220969285222144580012780369692027012472829633988148473150889035809779574802332374991850032625282471504065954197058241105386057111972128439702844411405725597029625366854785613845830551576978 3505928061137147681653910484258338350833118209583045599089600680484847275658430894892177790757011522690766311214696514259790145567473658394708548531986089447898224148481090587142695483317909169325069715391267893389426968088931363554711519306778260395853662255673832597730363878157071115168440219437365555187958781888238468206150834566892997250664872680687617575892996387411087312691256965769865767646407710137128464473753537910062328298857085497994490482941657540771496140907062457987563342255864598973820795334483317105001799123598549539970407548112857861915806820703052205517535988150275579907254611570247460350008726884627425581861855781830863878883077784062219956236101962358590336979187752307595135788001600365781980675479495733144018509291855177113210176263070708375116875083593474763557107990762073120555815945845642894212756238750967228238387004057209282373874237045635857459099562679119958416891748395262902757101464306423411529439786990993951515368619443273222847398683622729356769427302068079403925952230387501297535990757847685451368389697005057829094463283663081238784616635642704928613599890393792986365364882683790959001669441321297264601666475197496983705152584951926437328227216305440910422331412011326710625899660449184186257462202135069233368465981777674367122611279454366156657159214043855823936429074054990003424537312206909406397426533376020497779592991061420888667960947853514498645018935783539532053069540957703405662831859906270688306700719996322955378687819687853303821689558224060021432076044073267859800654588000590590728491909253532862067152224014073541022452176814988842945647805127210972815806861511910201795630230548221118643011399074577783026437129656371970257293717049237289227351498801835995010223998645094003788501683266466171276876896953779992597391513593160200824320950189582494453922623173907272401350723715989687412176139093512138806158389222874236144040840636239377196350658799759687043042804277348102330901766444718059773263449673248769354234426162981485840255609623928208815490101429527662463781411344849544511262775839481327341915186292852586341549891891361795811105091543548728337155372377598767265292856313715880763728153797283489849864163972476683504445202027337551938365622754376852297505232138330323471859930658822951610242076209639820953350521180084418863489291302657948577818089273142394941252723878776287804716318533983692461673280955879668029412365965837435100858369046609146758279074021225153858758508822729743086330646559420640680306054138605594256751981069450056910264452222480635633213356524045985234354586740594028018698344534999413081357839034654163621461724937197411626354429336590441480505305704255344714752569068378198942762433868207078074950565778486965369760825232150947762993829 5672710765031924269514074008068650436367379562398025779427345614999113514441659167867218311011668931118896981284111703977927174027325559032580159389244155012487085136654565004770621014313289024856528292056216917585217796544779406878263815633954035648334259089561161771683967921230133674604448881890307797757185874302083392663377188788851112639541119404606674349463344135284627308214632492652129062983282768237355816932551880024098295369770422898282384998071475151986704859346114108310626642226146002152089685727401894247296513926348865613472669698349049646578893484836890756804633587889687670193990069550726939011946644571551324528441264439485972391785208962663344422338625118847110960819626610727844865235007923270057932503843030011710658526412592644343879110977733813778505218119635571991434287369578528260381091342454817977047973844585901877165845025392345985256136152712562692177018471774401670979371222488544509789549386504004815211218122707494995802389890049720200609957230811703805384513485952689399588799347986137250011326549276282259541907863636413445687583704974131681937071427050749797534029818554203432879521314921533821076626797786182588380555519555424934331296591456962176774927107683368512421551654099444755868737022690651289115842499845305529652023190432764139009611282842083981552268245172626511929651935235910197131454970871324958891113597629552790652622134226061356397407841295316303221211711348627178898255737394712685688633008036554132128860930043639593872715597664176933907927335688439147092239259345503251237741009921103041561143001153326287779676325932056547619332832271279768970757189813729134371383454318557741239509863276175382582586095627761377721665904576307836558636627808585119355422295523255370235362595972544347371190548230681200011321514182465018188493984826603275504909572089663379125960605752075227446553342879462843781266537057618722587947164928871935494222253831097576209883705840254968456457736750156089160528440607596887241657623291886882989729346922686963762682931586404762265843408361561304956169606166771117287493205706626310995303387035939784849761024135173895644874731438632317793745499966544704827735646912290458353035274215210083841125173349050563977145237600061094339907433298147451963914138230012818771216660962845998511624953613899925081540248817139800682879321657975364830474472331799580786771914508626195717736940331960884965403035091461640792318596763644373824373752795808607319514152820068225796869428708233441019404802212475090542277393952749718946895582454737774302065781366560120895782902540130607455323871962738608031478714227026425554187473022802636772350760746976986428686804328440474105787777208321298911810810173764256054734562307909922486356291375516590736615610845996778314570807 9178638826169071951167984492326988787200497771981071378516946295483960790100090062759396101768680453809663292498808218237717319594799217427288707921230244460385309285135655591913316497631198194181598007447484810974644764633710770432975334940732296044187921345234994369414331799387204789772889101327673352945144656190321860869528023355744109890205992085294291925356340522695714620905889458421994830629690478374484281406305417934160623668627508396276875481013132692758201000253176566298189984482010601125910481061885211352298313049947415153443077246461907508494700305539942962322169576039963250101244681120974399361955371456178750110303120221316836270668286746725564378574727081205701297798814363035440001023009523635839913179322525744854677035704447821457089287240804522153622093203229046754991395360340601380936907288300460871260730083336869105404232029449555267630010389758198549636118034453521629396262970883807412546650850810428226740657909698488947317758509492993423457355914434433162153940788020768803514751578373638547547317307123967710910297560641471274782046988637212920721688062693454726147629708947996419244886197605324780078296239107479852982221994752921918036449176408888614103154323988809422843883066110771466494636683139835475373304701980374763020489172210438506132222562296450138209427459216482335866081009290900200555992283078234365288540131005573288432215125287482245065368789148830801866230647132166710951325278352416091351464867942824820435561650039962549251403417352030237729616893912499168524315303418771111038395597921693632289634910406859149846828549946130088641785009086268611916404994940940107187190315830467943035140093824396501225597494702339160748103034232679806815930344857822408582773794325091365245586594617638351159692231497147371288198411136245010785885498419763476329230522279245873579883228925982499847904066595452531193442676151130861394105554151746171638263094467336953406234364640014655499500541027504191491430207052314947014921072965135652343963773085668449602938541210332971081333509791088967419951017511620661798755981546107638337218573328792371191310916026535691455979822982181046130900872344143472093028503226006339116763428012493573690989337321527247481590439627398646278273056052524304261419370368343142243076591621668950121867029823539746034890769997224219546368612960633313408292561604941975728024638387402483522453258865944577427076316047341308821730962729481808925232121842417754077793226841293379655627937530963184105735448771895731222583448091355313203647563524187831212330233589040756528996259064176592689678458703332636050177058762025838635545312057456800393812485684174398055041233665030915586293082912576643626563379242142454997496996176117000561306857154003556106376436078147726077564636 14851349591200996220682058500395639223567877334379097157944291910483074304541749230626614412780349384928560273782919922215644493622124776459868867310474399472872394421790220596683937511944487219038126299503701728559862561178490177311239150574686331692522180434796156141098299720617338464377337983217981150702330530492405253532905212144595222529747111489900966274819684657980341929120521951074123893612973246611840098338857297958258919038397931294559260479084607844744905859599290674608816626708156603278000166789287105599594826976296280766915746944810957155073593790376833719126803163929650920295234750671701338373902016027730074638744384660802808662453495709388908800913352200052812258618440973763284866258017446905897845683165555756565335562117040465800968398218538335932127311322864618746425682729919129641317998630755278848308703927922770982570077054841901252886146542470761241813136506227923300375634193372351922336200237314433041951876032405983943120148399542713624067313145246136967538454273973458203103550926359775797558643856400249970452205424277884720469630693611344602658759489744204523681659527502199852124407512526858601154923036893662441362777514308346852367745767865850790878081431672177935265434720210216222363373705830486764489147201825680292672512362643202645141833845138534119761695704389108847795732944526810397687447253949559324179653728635126079084837259513543601462776630444147105087442358480793889849581015747128777040097875979378952564422580083602143124119015016207171637544229600938315616554562764274362276136607842796673850777911560185437626504875878186636261117841357548380887162184754669241558573770149025684274649957100571883808183590330100538469768938808987643374566972666407527938196089848346735480949190590182698530882779727828571299519925318710028974379483246366751834140094368909252705843834678057727294457409474915374974709213208749583982052719080618107132485348298434529616118070480269623955958277777660280651958647659911834256578696257022535333693120008355413365621472796737733347176918152650272376120623678391779086249187252733949332521960364732156041071940161709587100854554420813363924646372310688176920764150138296797469798702227703657532114510670577811458735677227459740618180489350671756225333508598355961014293252584514948633491983437439671116431018814364020229247934618608678238767033936741556514796552896028679240190199197905462392479351138802949614049559493126182749605874638226361397307379661361605452497366239196625125140250984370821764860842044105032150543145978925605514396014955600877424779161604307200145002330666071244081655772989052264189732785080259437166163246431151384483728037993471389692080860120897942538374189415906711052231558484026923047663148529520146842992046924144504392135443 24029988417370068171850042992722628010768375106360168536461238205967035094641839293386010514549029838738223566281728140453361813216923993887157575231704643933257703706925876188597254009575685413219724306951186539534507325812200947744214485515418627736710101780031150510512631520004543254150227084545654503647475186682727114402433235500339332419953103575195258200176025180676056550026411409496118724242663724986324379745162715892419542707025439690836135960097740537503106859852467240907006611190167204403910647851172316951893140026243695920358824191272864663568294095916776681448972739969614170396479431792675737735857387483908824749047504882119644933121782456114473179488079281258513556417255336798724867281026970541737758862488081501420012597821488287258057685459342858085749404526093665501417078090259731022254905919055739719569434011259640087974309084291456520516156932228959791449254540681444929771897164256159334882851088124861268692533942104472890437906909035707047524669059680570129692395061994227006618302504733414345105961163524217681362502984919355995251677682248557523380447552437659249829289236450196271369293710132183381233219276001142294344999509061268770404194944274739404981235755660987358109317786320987688858010388970322239862451903806055055693001534853641151274056407434984257971123163605591183661813953817710598243439537027793689468193859640699367517052384801025846528145419592977906953673005612960600800906294099544868391562743922203772999984230123564692375522432368237409367161123513437484140869866183045473314532205764490306140412821967044587473333425824316724902902850443816992803567179695609348745764085979493627309790050924968385033781085032439699217871973041667450190497317524229936520969884173438100726535785207821049690575011224975942587718336454955039760264981666130228163370616648155126285727063604040227142361476070367906168151889359880445376158273232364278770748442765771483022352435120284279455458818805164472143388854712226781271499769222158187677656893094023862968560014007070704428510427943739239796071641190012440885005168798841587669740533693524527232382856188245278556834377402994410055547244654831649013792653364303136586562130240197231223103847992105058940326116854858386896453545403196060486752878966699103257369844206183898755359013260979417151321788811588239775616547579241991647059595541683532242821191283431162762643458063850039819555667186144258435780522222607991674837996480644115475100606502654985108125303770159809230875699756266552987444290135460345354190709503113436726726248544641633953775420668483792834680789369403880131832831751078102825278097137716237559975732115325782538769271658502305278373943033474586164937568658049166049728554660143923608970005683523702949368483002292230469700079 38881338008571064392532101493118267234336252440739265694405530116450109399183588524012624927329379223666783840064648062669006306839048770347026442542179043406130098128716096785281191521520172632257850606454888268094369886990691125055453636090104959429232282214827306651610931240621881718527565067763635654349805717175132367935338447644934554949700215065096224474995709838656398479146933360570242617855636971598164478084020013850678461745423370985395396439182348382248012719451757915515823237898323807681910814640459422551487967002539976687274571136083821818641887886293610400575775903899265090691714182464377076109759403511638899387791889542922453595575278165503381980401431481311325815035696310562009733539044417447635604545653637257985348159938528753059026083677881194017876715848958284247842760820178860663572904549811018567878137939182411070544386139133357773402303474699721033262391046909368230147531357628511257219051325439294310644409974510456833558055308578420671591982204926707097230849335967685209721853431093190142664605019924467651814708409197240715721308375859902126039207042181863773510948763952396123493701222659041982388142312894804735707777023369615622771940712140590195859317187333165293374752506531203911221384094800809004351599105631735348365513897496843796415890252573518377732818867994700031457546898344520995930886790977353013647847588275825446601889644314569447990922050037125012041115364093754490650487309846673645431660619901582725564406810207166835499641447384444581004705353114375799757424428947319835590668813607286979991190733527230025099838301702503361164020691801365373690729364450278590304337856128519311584440008025540268841964675362540237687640911850655093565064290190637464459165974021784836207484975798003748221457790952804513887238261773665068734644464912496979997510711017064378991570898282097954436818885545283281142861102568630029358210992312982385903233791064206012638470505600553903411417096582824752795347502372138615528078465479180723011350013102379276334181486803808437775687346096389512172192264868404219971254356051575537002262494058256683273454796349954865657688931823807773980193616965519825934556803502599934056360832467900888755218358662682870399061794082318127514634034753867816712086387565055064271663096790698847388850996698419088267752807625952260004864482197850669885826629478425088757617744179459842002833657261755502212035018324947208049830081715734174424443871118870476872407986164016590560622670009356434356015950740637374752305132179565377504733855482039042241122263500242511378554582272790992979683120035475124213488604740130367015010882217975674726138978546477167022497309651973694970454803154372528703311758073955877101960113144170846656633154213043849792360529926436734861835522 62911326425941132564382144485840895245104627547099434230866768322417144493825427817398635441878409062405007406346376203122368120055972764234184017773883687339387801835641972973878445531095858045477574913406074807628877212802892072799668121605523587165942383994858457162123562760626424972677792152309290157997280903857859482337771683145273887369653318640291482675171735019332455029173344770066361342098300696584488857829182729743098004452448810676231532399280088919751119579304225156422829849088491012085821462491631739503381107028783672607633395327356686482210181982210387082024748643868879261088193614257052813845616790995547724136839394425042098528697060621617855159889510762569839371452951647360734600820071387989373363408141718759405360757760017040317083769137224052103626120375051949749259838910438591685827810468866758287447571950442051158518695223424814293918460406928680824711645587590813159919428521884670592101902413564155579336943916614929723995962217614127719116651264607277226923244397961912216340155935826604487770566183448685333177211394116596710972986058108459649419654594619523023340238000402592394862994932791225363621361588895947030052776532430884393176135656415329600840552942994152651484070292852191600079394483771131244214051009437790404058515432350484947689946660008502635703942031600291215119360852162231594174326328005146703116041447916524814118942029115595294519067469630102918994788369706715091451393603946218513823223363823786498564391040330731527875163879752681990371866476627813283898294295130365308905201019371777286131603555494274612573171727526820086066923542245182366494296544145887939050101942108012938894230058950508653875745760394979936905512884892322543755561607714867400980135858195222936934020761005824797912032802177780456474956598228620108494909446578627208160881327665219505277297961886138181579180361615651187311012991928510474734369265545346664673982233829977495660822940720838182866875915387989224938736357084365396799578234701338910689006906196403139302741500810879142204197774040128751968263906058416660856259524850417124672003027751781210505837652538200144214523309226802184035740861620351474948349456866903070642922962708098119978322206654787929339387910937176514411087580157063877198839266531754167529032940996882746144210009959398505419074596437540499780481029777092661532886225020108621000438935462891004765477115325605542031590685511091466485610603938342166099281867599514592347508592666671575668747973779516243586891650496903927739749422315025722858924564985152478967848512044884145332330002941274785814363909404879004345321436491208469840288979355691912286114710661802949561266581310476000248828746187847114868249326732005043151688667804314770265603159896567552741729012928728965331535601 101792664434512196956914245978959162479440879987838699925272298438867253893009016341411260369207788286071791246411024265791374426895021534581210460316062730745517899964358069759159637052616030677735425519860963075723247099793583197855121757695628546595174666209685763813734494001248306691205357220072925812347086621032991850273110130790208442319353533705387707150167444857988853508320278130636603959953937668182653335913202743593776466197872181661626928838462437301999132298755983071938653086986814819767732277132091162054869074031323649294907966463440508300852069868503997482600524547768144351779907796721429889955376194507186623524631283967964552124272338787121237140290942243881165186488647957922744334359115805437008967953795356017390708917698545793376109852815105246121502836224010233997102599730617452349400715018677776855325709889624462229063081362558172067320763881628401857974036634500181390066959879513181849320953739003449889981353891125386557554017526192548390708633469533984324154093733929597426062009366919794630435171203373152984991919803313837426694294433968361775458861636801386796851186764354988518356696155450267346009503901790751765760553555800500015948076368555919796699870130327317944858822799383395511300778578571940248565650115069525752424029329847328744105836912582021013436760899594991246576907750506752590105213118982499716763889036192350260720831673430164742509989519667227931035903733800469582101880913792892159254883983725369224128797850537898363374805327137126571376571829742189083655718724077685144495869832979064266122794289021504637673010029229323447230944234046547740185025908596166529354439798236532250478670066976048922717710435757520174593153796742977637320625897905504865439301832217007773141505736803828546133490593130584970362194860002285177229553911491124188158392038682283884268868860168236136015999247160934468453874094497140504092580257858329050577216024894183508299293446321392086278293011970813977734083859456504012327656700180519633700356919298782415636922987614687579979885120136518264140456170926820880827513880901992661674265521810037893779292448888155009872212241050609958015934478585871300882906260369503004699283795175999008733540565317470799738449705019494641925721614910931693910925654096809231800696037787581593533061006657817593686827404063492759785345511974943331418712854498533709758056679642350846768310772587361044243625703836038674535440685654076340523725738718385069219916578830688166229370643788872677942907601237541302492054554494591100363658420467191521208970775545126656710884585214065778794047029440354128558810041231338836855299861573667587012253689208280116583763890962449695219283549342219643571561084805960920253648780948485616922236314109611402534089542855165700193371123 164703990860453329521296390464800057724545507534938134156139066761284398386834444158809895811086197348476798652757400468913742546950994298815394478089946418084905701800000042733038082583711888723213000433267037883352124312596475270654789879301152133761117050204544220975858056761874731663883149372382215970344367524890851332610881813935482329689006852345679189825339179877321308537493622900702965302052238364767142193742385473336874470650320992337858461237742526221750251878060208228361482936075305831853553739623722901558250181060107321902541361790797194783062251850714384564625273191637023612868101410978482703800992985502734347661470678393006650652969399408739092300180453006451004557941599605283478935179187193426382331361937074776796069675458562833693193621952329298225128956599062183746362438641056044035228525487544535142773281840066513387581776585982986361239224288557082682685682222090994549986388401397852441422856152567605469318297807740316281549979743806676109825284734141261551077338131891509642402165302746399118205737386821838318169131197430434137667280492076821424878516231420909820191424764757580913219691088241492709630865490686698795813330088231384409124212024971249397540423073321470596342893092235587111380173062343071492779701124507316156482544762197813691795783572590523649140702931195282461696268602668984184279539446987646419879930484108875074839773702545760037029056989297330850030692103507184673553274517739110673078107347549155722693188890868629891249969206889808561748438306370002367554013019208050453401070852350841552254397844515779250246181756756143533297867776291730106679322452742054468404541740344545189372900125926557576593456196152500111498666681635300181076187505620372266419437690412230710075526497809653344045523395308365426837151458230905285724463358069751396319273366347503389546166822054374317595179608776585655764887086425650978826949523403675715251198258724161003960116387042230269145168927358803202672820216540869409127234934881858544389363825495185554939664488425566722184082894176647016108720076985237541683773405752409786346268549561819104285130101426355154086735550277412142051675340206222775831255717236406075342206757884097128711862771972258729077837615956671156336809195067995571109764920628563399329728978784464339677271016617216099105902000501033259565826541752035992951599079518642330758495615105241851533787887912966586275216389347130141021051289592418506623007606317899661567425171497359741898118617568388921529799251734445230231803976809616823222582985452344000176819287590010802043214588155340564608410938845233132904131477722547306695588840929359499298368399870083066145030472272925695468112295530066758439810411537965963405337448752800387187839474006178955275818555783894665524906724 266496655294965526478210636443759220203986387522776834081411365200151652279843460500221156180293985634548589899168424734705116973846015833396604938406009148830423601764358112492197719636327919400948425953128000959075371412390058468509911636996780680356291716414229984789592550763123038355088506592455141782691454145923843182883991944725690772008360386051066896975506624735310162045813901031339569262006176032949795529655588216930650936848193173999485390076204963523749384176816191300300136023062120651621286016755814063613119255091430971197449328254237703083914321719218382047225797739405167964648009207699912593756369180009920971186101962360971202777241738195860329440471395250332169744430247563206223269538302998863391299315732430794186778593157108627069303474767434544346631792823072417743465038371673496384629240506222311998098991729690975616644857948541158428559988170185484540659718856591175940053348280911034290743809891571055359299651698865702839103997269999224500533918203675245875231431865821107068464174669666193748640908590194991303161051000744271564361574926045183200337377868222296617042611529112569431576387243691760055640369392477450561573883644031884425072288393527169194240293203648788541201715891618982622680951640915011741345351239576841908906574092045142435901620485172544662577463830790273708273176353175736774384752565970146136643819520301225335560605375975924779539046508964558781066595837307654255655155431532002832332991331274524946821986741406528254624774534026935133125010136112191451209731743285735597896940685329905818377192133537283887919191785985466980528812010338277846864348361338220997758981538581077439851570192902606499311166631910020286091820478378277818396813403525877131858739522629238483217032234613481890179013988438950397199346318233190462954017269560875584477665405029787273815035682222610453611178855937520124218761180922791482919529781262004765828414283618344512259409833363622355423461939329617180406904075997373421454891635062378178089720744793967970576587476040254302163968014313165280249176247912058422511287286654402448020534071371856998064422550314510163958947791328022100067609818792094076714161977605909080041490553060096137445403337289729528816287320976165798262530809978927265020690574725372631130425016572045933210332023275033692792729404564526019351172053726979324370311934017176040516552294747592698302098660500327630518842093183168815556491975246494847146733345036284730787341750328047908127489261357261599472706852971986532723858531304207923586241405919535521385790063135137458754099173369406343402457968285587261462941518953886143550888702503027086310622089078363182728794363235375390687395844872286402011371496343926883658986229701286004110075788115790357809908098639060365718277847 431200646155418855999507026908559277928531895057714968237550431961436050666677904659031051991380182983025388551925825203618859520797010132211999416495955566915329303564358155225235802220039808124161426386395038842427495724986533739164701516297932814117408766618774205765450607524997770018971655964837357753035821670814694515494873758661173101697367238396746086800845804612631470583307523932042534564058414397716937723397973690267525407498514166337343851313947489745499636054876399528661618959137426483474839756379536965171369436151538293099990690045034897866976573569932766611851070931042191577516110618678395297557362165512655318847572640753977853430211137604599421740651848256783174302371847168489702204717490192289773630677669505570982848268615671460762497096719763842571760749422134601489827477012729540419857765993766847140872273569757489004226634534524144789799212458742567223345401078682170490039736682308886732166666044138660828617949506606019120653977013805900610359202937816507426308769997712616710866339972412592866846645977016829621330182198174705702028855418122004625215894099643206437234036293870150344796078331933252765271234883164149357387213732263268834196500418498418591780716276970259137544608983854569734061124703258083234125052364084158065389118854242956127697404057763068311718166761985556169969444955844720958664292012957792556523750004410100410400379078521684816568103498261889631097287940814838929208429949271113505411098678823680669515175632275158145874743740916743694873448442482193818763744762493786051298011537680747370631589978053063138165373542741610513826679786630007953543670814080275466163523278925622629224470318829164075904622828062520397590487160013577999473000909146249398278177213041469193292558732423135234224537383747315824036497776464095748678480627630626980796938771377290663361202504276984771206358464714105779983648267348442461746479304665680481079612542342505516219526220405852624568630866688420383079724292538242830582126569944236722479084570289153525516251964465821024348050908489812296357896324897295964195060692406812234366802620933676102349552651740865318045683341605434242119285158998316852545417694842315155383697310944193266157266109261988257894124936932836954599340005046922836130455495353936030460153995356510272887603039892249791898631405065559278916998595479015317321911013535818371275047909852834549835886548413294216794058482530298956577543264838913353769740951354184392354766921825407650025607878925650521002506104706431762955662508113824746808824391371879521562609350725148260797313761524746908010868907130820394367072996676433450246477543432386585608990488948446248873824835508301086155508140402353160451181907881892847064323678454086391297915262121969313085726654422955031243184571 697697301450384382477717663352318498132518282580491802318961797161587702946521365159252208171674168617573978451094249938323976494643025965608604354901964715745752905328716267717433521856367727525109852339523039801502867137376592207674613153294713494473700483033004190555043158288120808374060162557292499535727275816738537698378865703386863873705727624447812983776352429347941632629121424963382103826064590430666733253053561907198176344346707340336829241390152453269249020231692590828961754982199547135096125773135351028784488691242969264297440018299272600950890895289151148659076868670447359542164119826378307891313731345522576290033674603114949056207452875800459751181123243507115344046802094731695925474255793191153164929993401936365169626861772780087831800571487198386918392542245207019233292515384403036804487006499989159138971265299448464620871492483065303218359200628928051764005119935273346430093084963219921022910475935709716187917601205471721959757974283805125110893121141491753301540201863533723779330514642078786615487554567211820924491233198918977266390430344167187825553271967865503054276647822982719776372465575625012820911604275641599918961097376295153259268788812025587786021009480619047678746324875473552356742076344173094975470403603660999974295692946288098563599024542935612974295630592775829878242621309020457733049044578927938693167569524711325745960984454497609596107150007226448412163883778122493184863585380803116337744090010098205616337162373681686400499518274943678827998458578594385269973476505779521649194952223010653189008782111590347026084565328727077494355491796968285800408019175418496463922504817506700069076040511731770575215789459972540683682307638391855817869814312672126530136916735670707676509590967036617124403551372186266221235844094697286211632497897191502565274604176407077937176238186499595224817537320651625904202409448271233944666009085927685246908026825960850028478936053769474979992092806018037563486628368535616252037018205006614900568805315083121496092839440506075326512018922802977576607072572809354386706347979061214682387336692305533100413975202055375482004631132933456342186894977790410929259579672448224235425187864004289403602669446551717786710412257909002752861870815025850101151146070079308661590579011928556206097935063167283484691360809630085298268170649205994641692222947552994411791600204600427248137985208913621847312900575713467772134035240085408200916474296390469123142108672153455558153097140282912120475212957678418295679521039418032670395065797291415042948399413860285719551412934894153251413326875416407655830014515630319593797366245935413671919612578026809431602619198743676476842903985274639562462553404225819730723309908155372395407991050237759670895634753062015396961462418 1128897947605803238477224690260877776061050177638206770556512229123023753613199269818283260163054351600599367003020075141942836015440036097820603771397920282661082208893074422942669324076407535649271278725918078643930362862363125946839314669592646308591109249651778396320493765813118578393031818522129857288763097487553232213873739462048036975403094862844559070577198233960573103212428948895424638390123004828383670976451535597465701751845221506674173092704099943014748656286568990357623373941336973618570965529514887993955858127394507557397430708344307498817867468859083915270927939601489551119680230445056703188871093511035231608881247243868926909637664013405059172921775091763898518349173941900185627678973283383442938560671071441936152475130388451548594297668206962229490153291667341620723119992397132577224344772493756006279843538869205953625098127017589448008158413087670618987350521013955516920132821645528807755077141979848377016535550712077741080411951297611025721252324079308260727848971861246340490196854614491379482334200544228650545821415397093682968419285762289192450769166067508709491510684116852870121168543907558265586182839158805749276348311108558422093465289230524006377801725757589306816290933859328122090803201047431178209595455967745158039684811800531054691296428600698681286013797354761386048212066264865178691713336591885731249691319529121426156361363533019294412675253505488338043261171718937332114072015330074229843155188688921886285852338005956844546374262015860422522871907021076579088737221268273307700492963760691400559640372089643410164249938871468688008182171583598293753951689989498771930086028096432322698300510830560934651120412288035061081272794798405433817342815221818375928415093948712176869802149699459752358628088755933582045272341871161381960310978524822129546071542947784368600537440690776579996023895785365731684186057715619676406412488390593365727987639368303355544698462274175327604560723672706457946566352661073859082619144774950851623047889885372275021609091404971896350860069831292789872964968897706650350901408671468026916754139313239209202763527853796240800050314474538890584306180136788727781804997367290539390808885174948482669759935555813706044604537194841839707461210820072772937281601565433244692050733007285066478985538103059533276589992214695644577185169244685009959014133961088812783066648114453261797973871757326916064106959058243766728711578504924321554686215247744653515496875593978863208178705019208562641477719062384850058635183547531857417203890188663294564511008764585433980348726696418900159424195782547228050197087512306753044043843789367800257528603066975255680476444034251977562998412125676992722913735312107712577787633586609458786705906312359728983981361407484970428204646989 1826595249056187620954942353613196274193568460218698572875474026284611456559720634977535468334728520218173345454114325080266812510083062063429208126299884998406835114221790690660102845932775263174381131065441118445433229999739718154513927822887359803064809732684782586875536924101239386767091981079422356824490373304291769912252605165434900849108822487292372054353550663308514735841550373858806742216187595259050404229505097504663878096191928847011002334094252396283997676518261581186585128923536520753667091302650239022740346818637476821694870726643580099768758364148235063930004808271936910661844350271435011080184824856557807898914921846983875965845116889205518924102898335271013862395976036631881553153229076574596103490664473378301322101992161231636426098239694160616408545833912548639956412507781535614028831778993745165418814804168654418245969619500654751226517613716598670751355640949228863350225906608748728777987617915558093204453151917549463040169925581416150832145445220800014029389173724780064269527369256570166097821755111440471470312648596012660234809716106456380276322438035374212545787331939835589897541009483183278407094443434447349195309408484853575352734078042549594163822735238208354495037258734801674447545277391604273185065859571406158013980504746819153254895453143634294260309427947537215926454687573885636424762381170813669942858889053832751902322347987516904008782403512714786455425055497059825298935600710877346180899278699020091902189500379638530946873780290804101350870365599670964358710697774052829349687915983702053748649154201233757190334504200195765502537663380566579554359709164917268394008532913939022767376551342292705226336201748007601764955102436797289635212629534490502458552010684382884546311740666496369483031640128119848266508185965858668171943476422013632111346147124191446537713678877276175220841433106017357588388467163890910351078497476521050974895666194264205573177398327944802584552816478724495510052981029609475334656162979957466523616695200455396517701930845477971677372088754095767449572041470516004737607756650529241599141476005544742303177503055851616282054945607472346926493075114579138711064577039738763626234073038952772073362605002365423831314949452750842460323081635098623038432747635512553353641312019213622685083473166226816761281353024325729875453339893891004600706356908641807194858248319053689046111856966240537911419859633957234500845613745009729755602689544135122638638984266132318766331802159491474761952932020063268354314704586949890087598955985954709607459408178445719699900139631313053410837522657963635706027102027937072637841210035303213929448215645002065112079063232995654039841316110951632285376288716333532308510943494764831182113897362597488654876996160546985825166109407 2955493196661990859432167043874074050254618637856905343431986255407635210172919904795818728497782871818772712457134400222209648525523098161249811897697805281067917323114865113602772170009182798823652409791359197089363592862102844101353242492480006111655918982336560983196030689914357965160123799601552214113253470791845002126126344627482937824511917350136931124930748897269087839053979322754231380606310600087434075205956633102129579848037150353685175426798352339298746332804830571544208502864873494372238056832165127016696204946031984379092301434987887598586625833007318979200932747873426461781524580716491714269055918367593039507796169090852802875482780902610578097024673427034912380745149978532067180832202359958039042051335544820237474577122549683185020395907901122845898699125579890260679532500178668191253176551487501171698658343037860371871067746518244199234676026804269289738706161963184380270358728254277536533064759895406470220988702629627204120581876879027176553397769300108274757238145586026404759724223871061545580155955655669122016134063993106343203229001868745572727091604102882922037298016056688460018709553390741543993277282593253098471657719593411997446199367273073600541624460995797661311328192594129796538348478439035451394661315539151316053665316547350207946191881744332975546323225302298601974666753838750815116475717762699401192550208582954178058683711520536198421457657018203124498686227215997157413007616040951576024054467387941978188041838385595375493248042306664523873742272620747543447447919042326137050180879744393454308289526290877167354584443071664453510719834964164873308311399154416040324094561010371345465677062172853639877456614036042662846227897235202723452555444756308878386967104633095061416113890365956121841659728884053430311780527837020050132254454946835761657417690071975815138251119568052755216865328891383089272574524879510586757490985867114416702883305562567561117875860602120130189113540151430953456619333690683334417275307754908318146664585085827671539311022250449868028232158585388557322537010368222655088509165321997268515895615318783951505941030909647857082105260082011237510799255251367866492869574407029303017042958213901254743122540558179129875919486647592682167784292455171395975714349200945798045692045026498689164069011269286350037871345239021374452638509138576014559720490869730619977924896433506950844085728723567453975526818692201001229557192249934051310288904791879776154135859860111181974510507178700037403430651082448118412949888134481747504802846174618004171970416943031153680248866327731953570261718440510863756224189540243825681885053824671014186976818711977320792555507267247631602839728236628625008290024028441244886298577081374289968819803674957217638858357568031956253370756396 4782088445718178480387109397487270324448187098075603916307460281692246666732640539773354196832511392036946057911248725302476461035606160224679020023997690279474752437336655804262875015941958061998033540856800315534796822861842562255867170315367365914720728715021343570071567614015597351927215780680974570937743844096136772038378949792917838673620739837429303179284299560577602574895529696613038122822498195346484479435461730606793457944229079200696177760892604735582744009323092152730793631788410015125905148134815366039436551764669461200787172161631467698355384197155554043130937556145363372443368930987926725349240743224150847406711090937836678841327897791816097021127571762305926243141126015163948733985431436532635145542000018198538796679114710914821446494147595283462307244959492438900635945007960203805282008330481246337117473147206514790117037366018898950461193640520867960490061802912413243620584634863026265311052377810964563425441854547176667160751802460443327385543214520908288786627319310806469029251593127631711677977710767109593486446712589119003438038717975201953003414042138257134583085347996524049916250562873924822400371726027700447666967128078265572798933445315623194705447196234006015806365451328931470985893755830639724579727175110557474067645821294169361201087334887967269806632653249835817901121441412636451541238098933513071135409097636786929961006059508053102430240060530917910954111282713056982711943216751828922204953746086962070090231338765233906440121822597468625224612638220418507806158616816378966399868795728095508056938680492110924544918947271860219013257498344731452862671108319333308718103093924310368233053613515146345103792815784050264611182999672000013087768074290799380845519115317477945962425631032452491324691369012173278578288713802878718304197931368849393768763837196167261675964798445328930437706761997400446860962992043401497108569483343635467677778971756831766691053258930064932773666356630155448966672314720292809751931470734865784670281280286283068057012953095927839705604247339484324772109051838738659826116921972526510115037091324328693809118533965499473364160205689483584437292330365947005203934151446768066643277031252854026816485145560544553707234436100343524628107374090270019014147096836458351399333357045712311849152484435513166799152698263347104328091849032467019160426847778372427172783144752560639890197585689807991886946678326158235730402805994943781065891594336014898792774844126243500740842309338191512165383583102511386767264592721431637592401802160572713779429825121476873380149005959045006981099241098474499462251291568180898319726263859974228116425034356979385904634570500243285642681044347580257293666312744774777194809520576139121150933701037554706293735353728578942078536865803 7737581642380169339819276441361344374702805735932509259739446537099881876905560444569172925330294263855718770368383125524686109561129258385928831921695495560542669760451520917865647185951140860821685950648159512624160415723945406357220412807847372026376647697357904553267598303929955317087339580282526785050997314887981774164505294420400776498132657187566234304215048457846690413949509019367269503428808795433918554641418363708923037792266229554381353187690957074881490342127922724275002134653283509498143204966980493056132756710701445579879473596619355296942010030162873022331870304018789834224893511704418439618296661591743886914507260028689481716810678694426675118152245189340838623886275993696015914817633796490674187593335563018776271256237260598006466890055496406308205944085072329161315477508138871996535184881968747508816131490244375161988105112537143149695869667325137250228767964875597623890943363117303801844117137706371033646430557176803871281333679339470503938940983821016563543865464896832873788975816998693257258133666422778715502580776582225346641267719843947525730505646241140056620383364053212509934960116264666366393649008620953546138624847671677570245132812588696795247071657229803677117693643923061267524242234269675175974388490649708790121311137841519569147279216632300245352955878552134419875788195251387266657713816696212472327959306219741108019689771028589300851697717549121035452797509929054140124950832792780498229008213474904048278273177150829281933369864904133149098354910841166051253606535858705103450049675472488962365228206782988091899503390343524672523977333308896326170982507473749349042197654934681713698730675687999984981249429820092927457410896907202736540323519047108259232486219950573007378539521398408613166351097896226708890069241639898768436452386315685155426181527268143076814215918013381685654572090888783536133537516922912083866060469210749884380662277319399327808929119532185062962779896781586402423291648410976144169206778489774102816945865372110739596323975346377707733836405924872882094646062206961314914626087294523778630932706643112645315059564875147330446265465771494821948091585617314871696803725853797369660319989466755281559607686118723683583153922747936206795891666545441414989861446037404149445025402072211001013221495704799516837024043502368478780730358171043033720147338648103047150708041186067590734283314413375445862473497018359236959959998244877832376180499127894674946910703986354682715352816516891549568814234184959505180214480855913385097204648335190717951400242064508027060397872286776960551360959538985363218475481108424724001611317684645242303401853068956706697190077767490917245520772584208882301956336773216022081108097657513411119753504712511923932593711296610898331907622199 12519670088098347820206385838848614699150992834008113176046906818792128543638200984342527122162805655892664828279631850827162570596735418610607851945693185840017422197788176722128522201893098922819719491504959828158957238585787968613087583123214737941097376412379248123339165917945552669014555360963501355988741158984118546202884244213318615171753397024995537483499348018424292988845038715980307626251306990780403034076880094315716495736495308755077530948583561810464234351451014877005795766441693524624048353101795859095569308475370906780666645758250822995297394227318427065462807860164153206668262442692345164967537404815894734321218350966526160558138576486242772139279816951646764867027402008859964648803065233023309333135335581217315067935351971512827913384203091689770513189044564768061951422516099075801817193212449993845933604637450889952105142478556042100157063307846005210718829767788010867511527997980330067155169515517335597071872411723980538442085481799913831324484198341924852330492784207639342818227410126324968936111377189888308989027489171344350079306437819149478733919688379397191203468712049736559851210679138591188794020734648653993805591975749943143044066257904319989952518853463809692924059095251992738510135990100314900554115665760266264188956959135688930348366551520267515159588531801970237776909636664023718198951915629725543463368403856528037980695830536642403281937778080038946406908792642111122836894049544609420433961959561866118368504515916063188373491687501601774322967549061584559059765152675084069849918471200584470422166887275099016444422337615384891537234831653627779033653615793082657760300748858992081931784289203146330085042245604143192068593896579202749628091593337907640078005335268050953340965152430861104491042466908399987468357955442777486740650317684534549194945364464310338490180716458710616092278852886183982994500508966313580974629952554385352058441249076231094499982378462249995736446253411741851389963963131268953921138249224639887487227145658393807653336928442305547439440653264357206866755114045699974740743009267050288745969797967441339124178098840646803810425671460978406385383915983261876900737877300565436303597020719609308376092831679268237290388358848279731423999040635711434004008542873862500844358759117923312862373980140312683636176741765715583108822207203510052880574186426475474323491185938628230624480900103183437749420175344517472690362804239821613442072093463909573739685548112598183456195125855083061734197817287470891947479073577345022689606450495763431730830067185984900440546878245821967532460200637459862680726772676605622321337581544619470419826887425936092601824648267734202888201816931789139595622649517990799275917618233652532270687205750066630226329065025189840410444488002 20257251730478517160025662280209959073853798569940622435786353355892010420543761428911700047493099919748383598648014976351848680157864676996536683867388681400560091958239697639994169387844239783641405442153119340783117654309733374970307995931062109967474024109737152676606764221875507986101894941246028141039738473872100320367389538633719391669886054212561771787714396476270983402794547735347577129680115786214321588718298458024639533528761538309458884136274518885345724693578937601280797901094977034122191558068776352151702065186072352360546119354870178292239404257481300087794678164182943040893155954396763604585834066407638621235725610995215642274949255180669447257432062140987603490913678002555980563620699029513983520728671144236091339191589232110834380274258588096078719133129637097223266900024237947798352378094418741354749736127695265114093247591093185249852932975171142460947597732663608491402471361097633868999286653223706630718302968900784409723419161139384335263425182162941415874358249104472216607203227125018226194245043612667024491608265753569696720574157663097004464425334620537247823852076102949069786170795403257555187669743269607539944216823421620713289199070493016785199590510693613370041752739175054006034378224369990076528504156409975054310268096977208499495645768152567760512544410354104657652697831915410984856665732325938015791327710076269146000385601565231704133635495629159981859706302571165262961844882337389918662970173036770166646777693066892470306861552405734923421322459902750610313371688533789173299968146673073432787395094058087108343925727958909564061212164962524105204636123266832006802498403793673795630514964891146315066291675424236119526004793486405486168415112385015899310491555218623960719504673829269717657393564804626696358427197082676255177102704000219704621126891732453415304396634472092301746850943774967519128038025889225664840690421765135236439103526395630422308911497994435058699226150193328253813255611542245098090345027714413990304173011030504547249660903788683255173277059189230088961401176252661289655369096561574067376902504610553984439237663715794134256691137232473228333475501600576748597541603154362805963917010186364589935700517797991920873542281596215938219890707181152848993869988911266650289384161190134313875595475845112200473200785268084061889552565374553086600721525074578521474199227124695821358764214516558883611893672362876709650322802484699445818252592591804248686596252098952866171547942371974611303012051472430397127693554433258407786811098830954149682230309250492927500944750532598928083821160176445225899202253785030346322948899229264712723228740494892799299014726035225120133722589515998021897578986291206821357025715891165943390440710462578554158922776321800738742352110201 32776921818576864980232048119058573773004791403948735611833260174684138964181962413254227169655905575641048426927646827179011250754600095607144535813081867240577514156027874362122691589737338706461124933658079168942074892895521343583395579054276847908571400522116400799945930139821060655116450302209529497028479632856218866570273782847038006841639451237557309271213744494695276391639586451327884755931422776994724622795178552340356029265256847064536415084858080695809959045029952478286593667536670558746239911170572211247271373661443259141212765113121001287536798484799727153257486024347096247561418397089108769553371471223533355556943961961741802833087831666912219396711879092634368357941080011415945212423764262537292853864006725453406407126941203623662293658461679785849232322174201865285218322540337023600169571306868735200683340765146155066198390069649227350009996283017147671666427500451619358913999359077963936154456168741042227790175380624764948165504642939298166587909380504866268204851033312111559425430637251343195130356420802555333480635754924914046799880595482246483198345022999934439027320788152685629637381474541848743981690477918261533749808799171563856333265328397336775152109364157423062965811834427046744544514214470304977082619822170241318499225056112897429844012319672835275672132942156074895429607468579434703055617647955663559254696113932797183981081432101874107415573273709198928266615095213276385798738931881999339096932132598636285015282208982955658680353239907336697744290008964335169373136841208873243149886617873657903209561981333186124788348065574294455598446996616151884238289739059914664562799152652665877562299254094292645151333921028379311594598690065608235796506705722923539388496890486674914060469826260130822148436031713026683826785152525453741917753021684754253816072256196763753794577350930802917839129796661151502122538534855539245815320374319520588497544775471861516808893876456685054435672403605070105203219574673514052011483276939053877791400156688898354902997832230988802612717712453587295828156290298361264396112105828624356122872302577995323563415762556440938067116808693451634718859417583838625498279480454928242267514030905973898311793349477260158163930640444495669643889747816864282997878531785129151133742920308057626737969455985424884109377527033799644998374772578063139481295711501053995797690413063324051983245114619742321361313847707394182340685606724521059260324686055713822426281800211551049627743068227057673037209868759901289075172628010603430476417549326717581413060376436477827941491628778420895616281360813905088579929026461635968644286480773884183143055627920828891900839374302959323021924406447787161493201635809197620632943334124818475661127916212645184385251841346990579152796598203 53034173549055382140257710399268532846858589973889358047619613530576149384725723842165927217149005495389432025575661803530859930912464772603681219680470548641137606114267572002116860977581578490102530375811198509725192547205254718553703574985338957876045424631853553476552694361696568641218345243455557638068218106728319186937663321480757398511525505450119081058928140970966259794434134186675461885611538563209046211513477010364995562794018385373995299221132599581155683738608890079567391568631647592868431469239348563398973438847515611501758884467991179579776202742281027241052164188530039288454574351485872374139205537631171976792669572956957445108037086847581666654143941233621971848854758013971925776044463292051276374592677869689497746318530435734496673932720267881927951455303838962508485222564574971398521949401287476555433076892841420180291637660742412599862929258188290132614025233115227850316470720175597805153742821964748858508478349525549357888923804078682501851334562667807684079209282416583776032633864376361421324601464415222357972244020678483743520454753145343487662770357620471686851172864255634699423552269945106299169360221187869073694025622593184569622464398890353560351699874851036433007564573602100750578892438840295053611123978580216372809493153090105929339658087825403036184677352510179553082305300494845687912283380281601575046023824009066329981467033667105811549208769338358910126321397784441648760583814219389257759902305635406451662059902049848128987214792313071621165612468867085779686508529742662416449854764546731335996957075391273233132273793533204019659659161578675989442925862326746671365297556446339673192814218985438960217625596452615431120603483552013721964921818107939438698988445705298874779974500089400539805829596517653380185212349608129997094855725684973958437199147929217169098973985402895219585980740436119021250576560744764910656010796084655824936648301867491939117805374451120113134898553798398359016475186215759150101828304653467868095573167719402902152658736019672057785994771642817384789557466551022554051481202390198423499774807188549308002653426272235072323807945925924863052334919184415374095821083609291048231431041092338488247493867275252079037472922040711607863780454998017131991748520696395801423127081498191940613564931830537084582578312301883706887927337952616226082017236575632517271889640188019873342009329136301204973207520070270891991008409209220505078577278647518071112878052310503915799291010599032284340221920232331686202866182443861838263228648157671731095290685686970755442436379311019823700102520990350314479131280246666314967235380003148895866284368415721691199854100338184443155646995963785183390780622100404441989969050015984419051568626675223738544174617668791317895148708404 85811095367632247120489758518327106619863381377838093659452873705260288348907686255420154386804911071030480452503308630709871181667064868210825755493552415881715120270295446364239552567318917196563655309469277678667267440100776062137099154039615805784616825153969954276498624501517629296334795545665087135096697739584538053507937104327795405353164956687676390330141885465661536186073720638003346641542961340203770834308655562705351592059275232438531714305990680276965642783638842557853985236168318151614671380409920774646244812508958870642971649581112180867313001227080754394309650212877135536015992748574981143692577008854705332349613534918699247941124918514493886050855820326256340206795838025387870988468227554588569228456684595142904153445471639358158967591181947667777183777478040827793703545104911994998691520708156211756116417657987575246490027730391639949872925541205437804280452733566847209230470079253561741308198990705791086298653730150314306054428447017980668439243943172673952284060315728695335458064501627704616454957885217777691452879775603397790320335348627589970861115380620406125878493652408320329060933744486955043151050699106130607443834421764748425955729727287690335503809239008459495973376408029147495123406653310600030693743800750457691308718209203003359183670407498238311856810294666254448511912769074280390967901028237265134300719937941863513962548465768979918964782043047557838392936492997718034559322746101388596856834438234042736677342111032803787667568032220408318909902477831420949059645370951535659599741382420389239206519056724459357920621859107498475258106158194827873681215601386661335928096709099005550755113473079731605368959517480994742715202173617621957761428523830862978087485336191973788840444326349531361954265628230680064011997502133583739012608747369728212253271404125980922893551336333698137425110537097270523373115095600304156471331170404176413434193077339353455926699250907805167570570957403468464219694760889273202113311581592521745886973324408301257055656568250660860398712484096404680617713756849383818447593308218822779622647109766544631566069188828676010390924754619376497771194336768253999594100564064219290498945071998312386559287216752512237201403562485207277507670202814881414989627052481524952556870001806249567351534387815961968691955839335683351886302110530679365563312948076686513069580053251343925325254443756043526334521367777665074331694015933741564338901964703231893539159852522054965427034078826089957377431788992232975278038810454465268739646197484389312508351062123448583383928008089440719316383881804255403059060306708302283611521860777033079009339996336550583100693474641143766177571402411572344883982257909602062622912384140802894712696542887868922929426459015781897047945306607 138845268916687629260747468917595639466721971351727451707072487235836437733633410097586081603953916566419912478078970434240731112579529640814506975174022964522852726384563018366356413544900495686666185685280476188392459987306030780690802729024954763660662249785823507753051318863214197937553140789120644773164915846312857240445600425808552803864690462137795471389070026436627795980507854824678808527154499903412817045822132573070347154853293617812527013527123279858121326522247732637421376804799965744483102849649269338045218251356474482144730534049103360447089203969361781635361814401407174824470567100060853517831782546485877309142283107875656693049162005362075552704999761559878312055650596039359796764512690846639845603049362464832401899764002075092655641523902215549705135232781879790302188767669486966397213470109443688311549494550828995426781665391134052549735854799393727936894477966682075059546940799429159546461941812670539944807132079675863663943352251096663170290578505840481636363269598145279111490698366004066037779559349633000049425123796281881533840790101772933458523885738240877812729666516663955028484486014432061342320410920293999681137860044357932995578194126178043895855509113859495928980940981631248245702299092150895084304867779330674064118211362293109288523328495323641348041487647176434001594218069569126078880184408518866709346743761950929843944015499436085730513990812385916748519257890782159683319906560320777854616736743869449188339402013082651916654782824533479940075514946698506728746153900694198076049596146967120575203476132115732591052895652640702494917765319773503863124141463713408007293394265545345223947927692065170565586585113933610173835805657169635679726350341938802416786473781897272663620418826438931901760095224748333444197209851741713736107464473054702170690470552055198091992525321736593357011091277533389544623691656345069067127341966488832238370841379206845395044504625358925280705469511201866823236169947105032352215139886245989613982546492127704159208315304270332918184707255739222065407271223400406372499074510609021203122421916955093939568722615100911082714732700545301360823529255952669373689921647673510338730376113090650874806781084027764316238876484525918885371450657812898546981375573177920753979997083304441507965099319646499053274534151637567058774229448483295591645330184652319030341469693439363798667263772892344731307728887847935966322702425142962069417479243350749964652037904832558881226325089425122241717653709224564661480904992898327107002874845642061043603641747810419338826364387400460543016486402794605717538191586954968598578757240780181974875624364752272274300547574979328209333218398375357528274762880010006504612881434156787313764265169563092661473601076684573214943094015011 224656364284319876381237227435922746086585352729565545366525360941096726082541096353006235990758827637450392930582279064950602294246594509025332730667575380404567846654858464730595966112219412883229840994749753867059727427406806842827901883064570569445279074939793462029549943364731827233887936334785731908261613585897395293953537530136348209217855418825471861719211911902289332166581575462682155168697461243616587880130788135775698746912568850251058727833113960135086969305886575195275362040968283896097774230059190112691463063865433352787702183630215541314402205196442536029671464614284310360486559848635834661524359555340582641491896642794355940990286923876569438755855581886134652262446434064747667752980918401228414831506047059975306053209473714450814609115084163217482319010259920618095892312774398961395904990817599900067665912208816570673271693121525692499608780340599165741174930700248922268777410878682721287770140803376331031105785809826177969997780698114643838729822449013155588647329913873974446948762867631770654234517234850777740878003571885279324161125450400523429385001118861283938608160169072275357545419758919016385471461619400130288581694466122681421533923853465734231359318352867955424954317389660395740825705745461495114998611580081131755426929571496112647706998902821879659898297941842688450106130838643406469848085436756131843647463699892793357906563965205065649478772855433474586912194383779877717879229306422166451473571182103491925016744124115455704322350856753888258985417424529927677805799271645733735649337529387509814409995188840191948973517511748200970175871477968331736805357065100069343221490974644350774703041165144902170955544631414604916551007830787257637487778865769665394873959118089246452460863152788463263714360852979013508209207353875297475120073220424430382943741956181179014886076658070291494436201814630660067996806751945373223598673136893008651805034456546198850971203876266730448276040468605335287455864707994305554328451467838511359869519816536005416263971872520993778583419739835626746024984980249790190946667818827843982745069026721638571134791803929587093105657455164677858594723592720923373284022211737729629229321185088963261366068300780276553440280047011126162879120860627779961971002625659445706536867085110691075316633707462461021966489990973250410660531559013974957208643132729005543411049746690707723992518216648388257642250255625601040654396441076703633756381208053981858191197757354613846653359168251212199095085498216797636758943803352792375742521043126450356111992809933867922210292395489901262332870284598861120597251893663270882190279101557215053884964361088822857401241049620471975510789800786929873158745137919608567235793818297590208476961712450961584403027535700355111991039321618 363501633201007505641984696353518385553307324081292997073597848176933163816174506450592317594712744203870305408661249499191333406826124149839839705841598344927420573039421483096952379657119908569896026680030230055452187414712837623518704612089525333105941324725616969782601262227946025171441077123906376681426529432210252534399137955944901013082545880963267333108281938338917128147089430287360963695851961147029404925952920708846045901765862468063585741360237239993208295828134307832696738845768249640580877079708459450736681315221907834932432717679318901761491409165804317665033279015691485184957126948696688179356142101826459950634179750670012634039448929238644991460855343446012964318097030104107464517493609247868260434555409524807707952973475789543470250638986378767187454243041800408398081080443885927793118460927043588379215406759645566100053358512659745049344635139992893678069408666930997328324351678111880834232082616046870975912917889502041633941132949211307009020400954853637225010599512019253558439461233635836692014076584483777790303127368167160858001915552173456887908886857102161751337826685736230386029905773351077727791872539694129969719554510480614417112117979643778127214827466727451353935258371291643986528004837612390199303479359411805819545140933789221936230327398145521007939785589019122451700348908212532548728269845274998552994207461843723201850579464641151379992763667819391335431452274562037401199135866742944306090307925972941113356146137198107620977133681287368199060932371228434406551953172339931811698933676354630389613471320955924540026413164388903465093636797741835599929498528813477350514885240189695998650968857210072736542129745348215090386813487956893317214129207708467811660432899986519116081281979227395165474456077727346952406417205617011211227537693479132553634212508236377106878601979806884851447293092164049612620498408290442290726015103381840890175875835753044246015708501625655728981509979807202110692034655099337906543591354084500973852066308663709575472287176791326696768126995574848811432256203650196563445742329436865185867490943676732510703514419030498175820390155709979219418252848673592746973943859411239967959697298179614136172849384808040869679156531537045048250571518440678508952378198837366460516864168415132583281733027108960075241024142610817469434761007497270548853973317381324573752519440130071522659781989540732988949979143473537006977098866219665703173860451404731822843235662187172727879684257676334440812739207441362298239848796251119482745395888768511399715634557744287261036656782890361805349356687393466838135443480618239480769036342337397028760588725841095131701788624599800184844008199162287401433508017929615071848675252454377522241226882014054245876628612384928326934133336629 588157997485327382023221923789441131639892676810858542440123209118029889898715602803598553585471571841320698339243528564141935701072718658865172436509173725331988419694279947827548345769339321453125867674779983922511914842119644466346606495154095902551220399665410431812151205592677852405329013458692108589688143018107647828352675486081249222300401299788739194827493850241206460313671005750043118864549422390645992806083708844621744648678431318314644469193351200128295265134020883027972100886736533536678651309767649563428144379087341187720134901309534443075893614362246853694704743629975795545443686797332522840880501657167042592126076393464368575029735853115214430216710925332147616580543464168855132270474527649096675266061456584783014006182949503994284859754070541984669773253301721026493973393218284889189023451744643488446881318968462136773325051634185437548953415480592059419244339367179919597101762556794602122002223419423202007018703699328219603938913647325950847750223403866792813657929425893228005388224101267607346248593819334555531181130940052440182163041002573980317293887975963445689945986854808505743575325532270094113263334159094260258301248976603295838646041833109512358574145819595406778889575760952039727353710583073885314302090939492937574972070505285334583937326300967400667838083530861810901806479746855939018576355282031130396641671161736516559757143429846217029471536523252865922343646658341915119078365173165110757563879108076433038372890261313563325299484538041256458046349795758362084357752443985665547348271205742140204023466509796116488999930676137104435269508275710167336734855593913546693736376214834046773354010022354974907497674376762820006937821318744150954701908073478133206534392018075765568542145132015858429188816930706360460615624559492308686347610913903562936577954464417556121764678637877176345883494906794709680617305160235815514324688240274849541980910292299243096986912377892386177257550448412537398147899363093643460872042821923012333721586125199714991736259049312320475351546735410475557457241183899986754392410148264709168612559970398371081838306222960085268926047610874657078012976441394516120257966071148969597189018483268577397538917685588317423119436578548171211129692379068458470923380824496812167053731253525823658598366734571421097207514133584067880095292566511245506062616450110330117163569186820779246652300206189121246592229399099138047631495307296369336930241659458713681034433419541786574533043425927546639907824705658159934998792599603911858487916931894961755827627367678155183246949178380263067682226971992327958732695374281510362959315443894612082645553086929917989103029674220272160354797999949217274592253155849223639084469070751967730718188594465015830279656148085283438925172658247 951659630686334887665206620142959517193200000892151539513721057294963053714890109254190871180184316045191003747904778063333269107898842808705012142350772070259408992733701430924500725426459230023021894354810213977964102256832482089865311107243621235657161724391027401594752467820623877576770090582598485271114672450317900362751813442026150235382947180752006527935775788580123588460760436037404082560401383537675397732036629553467790550444293786378230210553588440121503560962155190860668839732504783177259528389476109014164825694309249022652567618988853344837385023528051171359738022645667280730400813746029211020236643758993502542760256144134381209069184782353859421677566268778160580898640494272962596787968136896964935700616866109590721959156425293537755110393056920751857227496343521434892054473662170816982141912671687076826096725728107702873378410146845182598298050620584953097313748034110916925426114234906482956234306035470072982931621588830261237880046596537257856770624358720430038668528937912481563827685334903444038262670403818333321484258308219601040164956554747437205202774833065607441283813540544736129605231305621171841055206698788390228020803487083910255758159812753290485788973286322858132824834132243683713881715420686275513605570298904743394517211439074556520167653699112921675777869119880933353506828655068471567304625127306128949635878623580239761607722894487368409464300191072257257775098932903952520277501039908055063654187034049374151729036398511670946276618219328624657107282166986796490909705616325597359047204882096770593636937830752041029026343840526007900363145073452002936664354122727024044251261455023742772004978879565047644039804122111035097324634806701044271916037281186601018194824918062284684623427111243253594663273008433707413022041765109319897575148607382695490212166972653933228643280617684061197330787998958759293237803568526257805050703343656690432156786128052287343002620879518041906239060428219739508839934018192981367415634176007513307573652433863424567208546226103647172119673730985324368889497387550183317838152477701574354480050914075103592541820641990583444746437766584636297431229290068108867231909930560209565148715781448191533711767070396358292798593110085216259380263897509136979875759023334178627570595421940956241880099761680381172448538276194885349530053574008516054916589767491654690916088626950850769312082195729854235542208542572675054608594173516035040104102110863445503877669081728959302412727683603881080720563913099522233238641395855031341233312820663473155543261925422442444283605961270624873031583659385794796868138854899749843728351786232009111406141812771013120804818298820072345198806199111504676025761173778838710933144323206345252959415476479070076156284760470211765859305994876 1539817628171662269688428543932400648833092677703010081953844266412992943613605712057789424765655887886511702087148306627475204808971561467570184578859945795591397412427981378752049071195798551476147762029590197900476017098952126556211917602397717138208382124056437833406903673413301729982099104041290593860802815468425548191104488928107399457683348480540745722763269638821330048774431441787447201424950805928321390538120338398089535199122725104692874679746939640249798826096176073888640940619241316713938179699243758577592970073396590210372702520298387787913278637890298025054442766275643076275844500543361733861117145416160545134886332537598749784098920635469073851894277194110308197479183958441817729058442664546061610966678322694373735965339374797532039970147127462736527000749645242461386027866880455706171165364416330565272978044696569839646703461781030620147251466101177012516558087401290836522527876791701085078236529454893274989950325288158480841818960243863208704520847762587222852326458363805709569215909436171051384511264223152888852665389248272041222327997557321417522496662809029053131229800395353241873180556837891265954318540857882650486322052463687206094404201645862802844363119105918264911714409893195723441235426003760160827907661238397680969489281944359891104104980000080322343615952650742744255313308401924410585880980409337259346277549785316756321364866324333585438935836714325123180118745591245867639355866213073165821218066142125807190101926659825234271576102757369881115153631962745158575267458060311262906395476087838910797660404340548157518026274516663112335632653349162170273399209716640570737987637669857789545358988901920022551537478498873855104262456125445195226617945354664734224729216936138050253165572243259112023852089939140067873637666324601628583922759521286258426790121437071489350407959255561237543214282905753468973855108728762073319375391583931539974137696420351530439989533257410428083496610876632276906987833381286624828287676997930525641295238559063139558944805275415967647471220466395799926346738571450170072230562625966283523092610884473474674380126864950668713672485377459293375444205731462624987489876001709179162337734264716768931250684755984675715918029688633387470509956276577595450799139847830990794624326675466779900478466496251802269656052409778953229625346140519761560979206217601984808079657813771630015964382401918975482134437941671813102240089480812404377034343770322159184912102501270745876945771109531427720628388618757682168237433995458943199721229752558434911370889293100597627530555139650887940713810631378122755600834229181260206687667230126621194051694899700931109907847973040344505553604199060721950618014329628062350017613393958312983677604070944085906435940908555495204784478653123 2491477258857997157353635164075360166026292678595161621467565323707955997328495821311980295945840203931702705835053084690808473916870404276275196721210717865850806405161682809676549796622257781499169656384400411878440119355784608646077228709641338373865543848447465235001656141233925607558869194623889079131917487918743448553856302370133549693066295661292752250699045427401453637235191877824851283985352189465996788270156967951557325749567018891071104890300528080371302387058331264749309780351746099891197708088719867591757795767705839233025270139287241132750663661418349196414180788921310357006245314289390944881353789175154047677646588681733130993168105417822933273571843462888468778377824452714780325846410801443026546667295188803964457924495800091069795080540184383488384228245988763896278082340542626523153307277088017642099074770424677542520081871927875802745549516721761965613871835435401753447953991026607568034470835490363347972881946876988742079699006840400466561291472121307652890994987301718191133043594771074495422773934626971222174149647556491642262492954112068854727699437642094660572513613935897978002785788143512437795373747556671040714342855950771116350162361458616093330152092392241123044539244025439407155117141424446436341513231537302424364006493383434447624272633699193244019393821770623677608820137056992882153185605536643388295913428408896996082972589218820953848400136905397380437893844524149820159633367252981220884872253176175181341830963058336905217852720976698505772260914129731955066177163676636860265442680969935681391297342171300198547052618357189120235995798422614173210063563839367594782238899124881532317363967781485070195577282620984890201587090932146239498533982635851335242924041854200334937788999354502365618515362947573775286659708089710948481497908128668953917002288409725422579051239873245298740545070904712228267092912297288331124426094927588230406294482548403817782992154136928469989735671304852016415827767399479606195703311173938038948868890992926564126153351501519614819590894197381124295236235959000353390068715103667857877572661798548578266921947506941252158418923144043929672875435021530733854721785932269388727486450046164960464962451826381034008716622798718603729890220174086732430674898871165169422194922097407736142358566257932183442104590685973838579155399714528277615895795985093639498995746440722480785276464597648829717676646484244488156848683654328439417138445881185604688789771582999705179358498793135308801348952531857204401476075391313974540954542573221908066914151218523040071814161100921512813745394290763917552468973084081010050416019016358630305457836712471944230712666271860416850752410398172226626643775503406901060950757717164658236637019547423155982592225669025706970643784647999 4031294887029659427042063708007760814859385356298171703421409590120948940942101533369769720711496091818214407922201391318283678725841965743845381300070663661442203817589664188428598867818056332975317418413990609778916136454736735202289146312039055512073925972503903068408559814647227337540968298665179672992720303387168996744960791298240949150749644141833497973462315066222783686009623319612298485410302995394318178808277306349646860948689743995763979570047467720621101213154507338637950720970987416605135887787963626169350765841102429443397972659585628920663942299308647221468623555196953433282089814832752678742470934591314592812532921219331880777267026053292007125466120656998776975857008411156598054904853465989088157633973511498338193889835174888601835050687311846224911228995634006357664110207423082229324472641504348207372052815121247382166785333708906422892800982822938978130429922836692589970481867818308653112707364945256622962832272165147222921517967084263675265812319883894875743321445665523900702259504207245546807285198850124111026815036804763683484820951669390272250196100451123713703743414331251219875966344981403703749692288414553691200664908414458322444566563104478896174515211498159387956253653918635130596352567428206597169420892775700105333495775327794338728377613699273566363009774421366421864133445458917292739066585945980647642190978194213752404337455543154539287335973619722503618012590115395687798989233466054386706090319318300988531932889718162139489428823734068386887414546092477113641444621736948123171838157057774592188957746511848356065078892873852232571628451771776343483462773556008165520226536794739321862722956683405092747114761119858745305849547057591434725151927990516069467653258790338385190954571597761477642367452886713843160297374414312577065420667649955212343792409846796911929459199128806536283759353810465697240948021026050404443801486511519770380432178968755348222981687394338898073232282181484293322815600780766231023990988171868564590164129551989703685098156776935582467062114663776924221582974530450523462299277729634141400665272683022052941302074371891920872091408521503223048319640752993358842211661933978567889824184310881729396213136582365709724634652487351991200400176450664327881474038718996160216819248772874516042837032754183985711760643095752791808780745855048039176875002202695624307075404254494110801240846999567805199811084425916301259088773135140843794172789651507763873701874084270451056304269902666736521977341150614886569713509386772917740675772325780342978285040511623637699344716240572400754459204922142040308069807313262270257103686246485251499509531612172875340620514244900761356306014597232948577261789833034963410968371111122971220314623618367241889028166577581202175428263301122 6522772145887656584395698872083120980885678034893333324888974913828904938270597354681750016657336295749917113757254476009092152642712370020120578021281381527293010222751346998105148664440314114474487074798391021657356255810521343848366375021680393885939469820951368303410215955881152945099837493289068752124637791305912445298817093668374498843815939803126250224161360493624237323244815197437149769395655184860314967078434274301204186698256762886835084460347995800992403600212838603387260501322733516496333595876683493761108561608808268676423242798872870053414605960726996417882804344118263790288335129122143623623824723766468640490179509901065011770435131471114940399037964119887245754234832863871378380751264267432114704301268700302302651814330974979671630131227496229713295457241622770253942192547965708752477779918592365849471127585545924924686867205636782225638350499544700943744301758272094343418435858844916221147178200435619970935714219042135965001216973924664141827103792005202528634316432967242091835303098978320042230059133477095333200964684361255325747313905781459126977895538093218374276257028267149197878752133124916141545066035971224731915007764365229438794728924563094989504667303890400511000792897944074537751469708852653033510934124313002529697502268711228786352650247398466810382403596191990099472953582515910174892252191482624035938104406603110748487310044761975493135736110525119884055906434639545507958622600719035607590962572494476169873763852776499044707281544710766892659675460222209068707621785413584983437280838027710273580255088683148554612131511231041352807624250194390516693526337395375760302465435919620854180086924464890162942692043740843635507436637989737674223685910626367404710577300644538720128743570952263843260882815834287618446957082504023525546918575778624166260794698256522334508510439002051835024304424715177925508040933323338735568227581439108000786726661517159166005973841531267368062967953486336309738643368180245837219694299345806603539033020544916267811251508278455197286653008861158048516819210489450876852367992833301999278237934481570631208224021878833173030510331665547152721195075774524092696933447866247956617310634357046689861175588408746743733351275286070594930290396624751060312148937590161329639014170870282252185195599012116169153865233781726630387936145569576316792770798187789263806071150695216591586517311597216634917487730910160789415937456789469283211311235532693368562491645667270156235662768695802045323326293682472090971189584778086892281630314899002251045199191730146677771158877341493913568204599212905957860538780397343280307519705262843881804967368324644819571333180516761178207058424995405175203905565336441864471919128828287629456951643165790397871620392246606909146072047949121 10554067032917316011437762580090881795745063391191505028310384503949853879212698888051519737368832387568131521679455867327375831368554335763965959321352045188735214040341011186533747532258370447449804493212381631436272392265258079050655521333719449398013395793455271371818775770528380282640805791954248425117358094693081442043777884966615447994565583944959748197623675559847021009254438517049448254805958180254633145886711580650851047646946506882599064030395463521613504813367345942025211222293720933101469483664647119930459327449910698119821215458458498974078548260035643639351427899315217223570424943954896302366295658357783233302712431120396892547702157524406947524504084776886022730091841275027976435656117733421202861935242211800640845704166149868273465181914808075938206686237256776611606302755388790981802252560096714056843180400667172306853652539345688648531151482367639921874731681108786933388917726663224874259885565380876593898546491207283187922734941008927817092916111889097404377637878632765992537562603185565589037344332327219444227779721166019009232134857450849399228091638544342087980000442598400417754718478106319845294758324385778423115672672779687761239295487667573885679182515388559898957046551862709668347822276280859630680355017088702635030998044039023125081027861097740376745413370613356521337087027974827467631318777428604683580295384797324500891647500305130032423072084144842387673919024754941195757611834185089994297052891812777158405696742494661184196710368444835279547090006314686182349066407150533106609118995085484865769212835194996910677210404104893585379252701966166860176989110951383925822691972714360176042809881148295255689806804860702380813286185047329108948837838616883474178230559434877105319698142550025320903250268721001461607254456918336102612339243428579378604587108103319246437969638130858371308063778525643622748988954349389140012029067950627771167158840485914514228955528925606266136200235667820603061458968961012068243685287517675168129197150096905971496349665055390779753715123524934972738402185019901400314667270562936140678903207164592684149526096250725093902601740187050375769514716527517451539145109800226524507134818667928419257388724991112453457985927773422586130690573075415388193622976309157489855833419643156768228032631766300154865625876877479422196716891424624355969645800390484888113146554949710702387758158596784440117298815336077090675026229924610127005484025184201132436193519751540607291967038598468781845303634833086977540903094164859810022306087224782594023484232241770315470503593582066314322663804135047998168608587710605550564623391509329133304476899936817694911953694761661939563364439592638123781167355169476827882887499939410600677266266784157639760648558824188111321500311250243 17076839178804972595833461452174002776630741426084838353199359417778758817483296242733269754026168683318048635436710343336467984011266705784086537342633426716028224263092358184638896196698684561924291568010772653093628648075779422899021896355399843283952865614406639675228991726409533227740643285243317177241995885998993887342594978634989946838381523748085998421785036053471258332499253714486598024201613365114948112965145854952055234345203269769434148490743459322605908413580184545412471723616454449597803079541330613691567889058718966796244458257331369027493154220762640057234232243433481013858760073077039925990120382124251873792891941021461904318137288995521887923542048896773268484326674138899354816407382000853317566236510912102943497518497124847945095313142304305651502143478879546865548495303354499734280032478689079906314307986213097231540519744982470874169501981912340865619033439380881276807353585508141095407063765816496564834260710249419152923951914933591958920019903894299933011954311600008084372865702163885631267403465804314777428744405527274334979448763232308526205987176637560462256257470865549615633470611231235986839824360357003155030680437144917200034024412230668875183849819278960409957839449806784206099291985133512664191289141401705164728500312750251911433678108496207187127816966805346620810040610490737642523570968911228719518399791400435249378957545067105525558808194669962271729825459394486703716234434904125601888015464307253328279460595271160228903991913155602172206765466536895251056688192564118090046399833113195139349467923878145465289341915335934938186876952160557376870515448346759686125157408633981030222896805613185418632498848601546016320722823037066783172523749243250878888807860079415825448441713502289164164133084555289080054211539422359628159257819207203544865381806359841580946480077132910206332368203240821548257029887672727875580256649389735771953885502003073680234929370456873634199168189154156912800102337141257905463379586863481771668230170641822239307601173333845977040368132386093021255221395509352277167035263396238139957141141646163315357750118129558266933112071852597528490709792302041544236078557666474481124445453024975109118564313399859197191337203059493181060980969700166448505771913899318819494847590513439020413228230778416324019491110659206052584653036994200672762416598578274151919217705644927293974275470194001075034786546246237880090963686714079410216795260716894500998685165418810763527629807294270827168629928515559068512092678942946702303936402123784845068683423971916993241662470923560227890868403347953956029147368107948830872143096772173015109444268261462514483286875278423117770422864588043298985072920505918692354806628767698230134217909949948037632268951070795020467572359199364 27630906211722288607271224032264884572375804817276343381509743921728612696695995130784789491395001070886180157116166210663843815379821041548052496663985471904763438303433369371172643728957055009374096061223154284529901040341037501949677417689119292681966261407861911047047767496937913510381449077197565602359353980692075329386372863601605394832947107693045746619408711613318279341753692231536046279007571545369581258851857435602906281992149776652033212521138922844219413226947530487437682945910175382699272563205977733622027216508629664916065673715789868001571702480798283696585660142748698237429185017031936228356416040482035107095604372141858796865839446519928835448046133673659291214418515413927331252063499734274520428171753123903584343222663274716218560495057112381589708829716136323477154798058743290716082285038785793963157488386880269538394172284328159522700653464279980787493765120489668210196271312171365969666949331197373158732807201456702340846686855942519776012936015783397337389592190232774076910428305349451220304747798131534221656524126693293344211583620683157925434078815181902550236257913463950033388189089337555832134582684742781578146353109924604961273319899898242760863032334667520308914886001669493874447114261414372294871644158490407799759498356789275036514705969593947563873230337418703142147127638465565110154889746339833403098695176197759750270605045372235557981880278814804659403744484149427899473846269089215596185068356120030486685157337765821413100702281600437451753855472851581433405754599714651196655518828198680005118680759073142375966552319440828523566129654126724237047504559298143611947849381348341206265706686761480674322305653462248397134009008084395892121361587860134353067038419514292930768139856052314485067383353276290541661465996340695730771597062635782923469968914463160827384449715263768577640431981766465171006018842022117015592285717340363543121044342488988194463884899382479900335368424821977515861561306102269973707064874381156939797427320738728210803950838389236756794083255911027993993623580529253677481702533959174280636044348810755999507276214380283360835713812039647904260224508829558995775223667466701005631580271692903528375953038390971650649323130832915767191671542775581836699394890208476309350681010156595788641260862544716478885116987536685474781369928418825028732062398968759040032364260594637996362033628790785515152085361582314970765989916638689537222279285901095633434878685170351370819596845892739609013933563348646046052995773107806512326242489348567439092167656213687308712166064505626542213532207483001954197755955818554381436766488281502148413921168198280209395240570040085057333787304180681422766240275675395520237694128707108830811484176734105677392917509894983131789072670449607 44707745390527261203104685484438887349006546243361181734709103339507371514179291373518059245421169754204228792552876554000311799391087747332139034006618898620791662566525727555811539925655739571298387629233926937623529688416816924848699314044519135965919127022268550722276759223347446738122092362440882779601349866691069216728967842236595341671328631441131745041193747666789537674252945946022644303209184910484529371817003290554961516337353046421467361011882382166825321640527715032850154669526629832297075642747308347313595105567348631712310131973121237029064856701560923753819892386182179251287945090108976154346536422606286980888496313163320701183976735515450723371588182570432559698745189552826686068470881735127837994408264036006527840741160399564163655808199416687241210973195015870342703293362097790450362317517474873869471796373093366769934692029310630396870155446192321653112798559870549487003624897679507065074013097013869723567067911706121493770638770876111734932955919677697270401546501832782161283294007513336851572151263935848999085268532220567679191032383915466451640065991819463012492515384329499649021659700568791818974407045099784733177033547069522161307344312128911636046882153946480718872725451476278080546406246547884959062933299892112964487998669539526947948384078090154751001047304224049762957168248956302752678460715251062122617094967598194999649562590439341083540688473484766931133569943543914603190080703993341198073083820427283814964617933036981642004694194756039623960620939388476684462442792278769286701918661311875144468148682951287841255894234776763461753006606287281613918020007644903298073006789982322236488603492374666092954804502063794413454731831121462675293885337103385231955846279593708756216581569554603649231516437831579621715677535763055358930854881842986468335350720823002408330929792396678783972800185007286719263048729694844891172542366730099315074929844492061874698814269839353534534536613976134428661663643243527879170444461244638711465657491380550450111552011723082733834451388297121015248844976038605954648737797355412420593185490456919314865026332509841627768825883892245432750934301131600540011302225133175486756025724717878637494517351790830847840660333892408948252652512475748285205166804107795128845528600670034809054489093323132802904608098195891527366022965413025701494478997547033191951581966239565290336309098984786590186871907828552850856953603352768947439074546617990134433563850589162134347226653187010436182563491864205114565088452050753214630178891472352284160851080185604301953828535429186770104400610830955910226903323926503212308909585053675163523365436459742723878527445318508175104210168768724721751313196181314212592500757474807060945702086684053715025186460965778152256645029648971 72338651602249549810375909516703771921382351060637525116218847261235984210875286504302848736816170825090408949669042764664155614770908788880191530670604370525555100869959096926984183654612794580672483690457081222153430728757854426798376731733638428647885388430130461769324526720285360248503541439638448381960703847383144546115340705838200736504275739134177491660602459280107817016006638177558690582216756455854110630668860726157867798329502823073500573533021305011044734867475245520287837615436805214996348205953286080935622322075978296628375805688911105030636559182359207450405552528930877488717130107140912382702952463088322087984100685305179498049816182035379558819634316244091850913163704966754017320534381469402358422580017159910112183963823674280382216303256529068830919802911152193819858091420841081166444602556260667832629284759973636308328864313638789919570808910472302440606563680360217697199896209850873034740962428211242882299875113162823834617325626818631510945891935461094607791138692065556238193722312862788071876899062067383220741792658913861023402616004598624377074144807001365562728773297793449682409848789906347651108989729842566311323386656994127122580664212027154396909914488614001027787611453145771954993520507962257253934577458382520764247497026328801984463090047684102314874277641642752905104295887421867862833350461590895525715790143795954749920167635811576641522568752299571590537314427693342502663926973082556794258152176547314301649775270802803055105396476356477075714476412240058117868197391993420483357437489510555149586829442024430217222446554217591985319136260414005850965524566943046910020856171330663442754310179136146767277110155526042810588740839205858567415246924963519585022884699108001686984721425606918134298899791107870163377143532103751089702451944478769391805319635286163235715379507660447361613232166773751890269067571716961906764828084070462858195974186981050069162699169221833434869905038798111944523224949345797852877509335625795651263084812119278660915502850112319490628534644208149009242468556567859632130440331314586701229229839267675314372302546890124988604539695931893337011158809961159535786525892599876492387605996410782165870470390181802498489983464725324715444324055251330121904561694316271438196209610826630597695749955867849281789725085732577002147392893831850730226541396515792231983946226834203286698342727775572105338957269410867821622943519991458484661353832519085767868442535759513505166823499079750045196497055212851160618084225158559726956421380820919723253018736399291610665994599934813312317932818313957864424659279745057593745676073335177311937286604658022933273768015358593232437997472949406144517553471856709732830194886181915891757186263418159392418103970860761284045717700098578 117046396992776811013480595001142659270388897303998706850927950600743355725054577877820907982237340579294637742221919318664467414161996536212330564677223269146346763436484824482795723580268534151970871319691008159776960417174671351647076045778157564613804515452399012491601285943632806986625633802079331161562053714074213762844308548074796078175604370575309236701796206946897354690259584123581334885425941366338640002485864016712829314666855869494967934544903687177870056508002960553137992284963435047293423848700594428249217427643326928340685937662032342059701415883920131204225444915113056740005075197249888537049488885694609068872596998468500199233792917550830282191222498814524410611908894519580703389005263204530196416988281195916640024704984073844545872111455945756072130776106168064162561384782938871616806920073735541702101081133067003078263556342949420316440964356664624093719362240230767184203521107530380099814975525225112605866943024868945328387964397694743245878847855138791878192685193898338399477016320376124923449050326003232219827061191134428702593648388514090828714210798820828575221288682122949331431508490475139470083396774942351044500420204063649283888008524156066032956796642560481746660336904622050035539926754510142212997510758274633728735495695868328932411474125774257065875324945866802668061464136378170615511811176841957648332885111394149749569730226250917725063257225784338521670884371237257105854007677075897992331235996974598116614393203839784697110090671112516699675097351628534802330640184272189770059356150822430294054978124975718058478340788994355447072142866701287464883544574587950208093862961312985679242913671510812860231914657589837224043472670327321242709132262066904816978730978701710443201302995161521783530416228939449785092821067866806448633306826321755860140670356109165644046309300057126145586032351781038609532116301411806797937370450800562173270904031473111943861513439061186969404441652774246373184888592589325732047953796870434362728742303499829111027054861835402224462986032505270024491313532606465586779178128669999121822415329724594629237328879399966616373365579824138769762093111092760075797828117733051979143631721128660803364987741972633346330643798617733663696976567727078407109728498424066567041738211496665406750239049190982084694333183928468529513415859244876431721020394062825423935528193073768577034651826760358695525829177239420672479897123344227432100428379137075902302006386348675639514050152266760481379060547077056275183172677209312941586600272293272007413869816584895912619823135364000082422333429144913774651562603671560806054585658388852475460652041117765657152295460677101407542207641718130866268866668038023945422695643656722952702888350102213107443290431826539436302362729747549 189385048595026360823856504517846431191771248364636231967146797861979339935929864382123756719053511404385046691890962083328623028932905325092522095347827639671901864306443921409779907234881328732643355010148089381930391145932525778445452777511795993261689903882529474260925812663918167235129175241717779543522757561457358308959649253912996814679880109709486728362398666227005171706266222301140025467642697822192750633154724742870697112996358692568468508077924992188914791375478206073425829900400240262289772054653880509184839749719305224969061743350943447090337975066279338654630997444043934228722205304390800919752441348782931156856697683773679697283609099586209841010856815058616261525072599486334720709539644673932554839568298355826752208668807748124928088414712474824903050579017320257982419476203779952783251522629996209534730365893040639386592420656588210236011773267136926534325925920590984881403417317381253134555937953436355488166818138031769163005290024513374756824739790599886485983823885963894637670738633238912995325949388070615440568853850048289725996264393112715205788355605822194137950061979916399013841357280381487121192386504784917355823806861057776406468672736183220429866711131174482774447948357767821990533447262472399466932088216657154492982992722197130916874564173458359380749602587509555573165760023800038478345161638432853174048675255190104499489897862062494366585825978083910112208198798930599608517934650158454786589388173521912418264168474642587752215487147468993775389573763868592920198837576265610253416793640332985443641807567000148275700787343211947432391279127115293315849069141530997118114719132643649121997223850646959627509024813115880034632213509533179810124379187030424402001615677809712130186024420768439917829316020047319948469964599970557538335758770800525251945989991395328879761688807717573507199264518554790499801183873128768704702198534871025031466878218454162013024212608283020404274346691572358317708113541935123584925463132496230013991827115619107771942557711947721715091520676713419033733782089174325218909618459984585823051645168992269943609631426290091604977905275756032106773251921053919611584354010332928471531237717539442969235458132154435844820627263343058379141300622978408529014290192740338005237947822323296004445989005058831366484058269661045531660808753076727161947561790578617655919474419907971863732994554535930800864786446650288494102840643335685916761782211656161670170448922108189144680873651346510526575557602289907435801256902367872668543021653114191730666888552984187523285817735298813394740266247458871639076221883416618399800261731724029787397938645775788590426063476035694639980205114667537010786420139894733678252890529838638844460074613520372499861394402687300720348080429846127 306431445587803171837337099518989090462160145668634938818074748462722695660984442259944664701290851983679684434112881401993090443094901861304852660025050908818248627742928745892575630815149862884614226329839097541707351563107197130092528823289953557875494419334928486752527098607550974221754809043797110705084811275531572071803957801987792892855484480284795965064194873173902526396525806424721360353068639188531390635640588759583526427663214562063436442622828679366784847883481166626563822185363675309583195903354474937434057177362632153309747681012975789150039390950199469858856442359156990968727280501640689456801930234477540225729294682242179896517402017137040123202079313873140672136981494005915424098544907878462751256556579551743392233373791821969473960526168420580975181355123488322144980860986718824400058442703731751236831447026107642464855976999537630552452737623801550628045288160821752065606938424911633234370913478661468094033761162900714491393254422208118002703587645738678364176509079862233037147754953615037918774999714073847660395915041182718428589912781626806034502566404643022713171350662039348345272865770856626591275783279727268400324227065121425690356681260339286462823507773734964521108285262389872026073374016982541679929598974931788221718488418065459849286038299232616446624927533376358241227224160178209093856972815274810822381560366584254249059628088313412091649083203868248633879083170167856714371942327234352778920624170496510534878561678482372449325577818581510475064671115497127722529477760537800023476149791155415737696785691975866334179128132206302879463421993816580780732613716118947326208582093956634801240137522157772487740939470705717258675686179860501052833511449097329218980346656511422573387327415929961701359732248986769733562785667837363986969065597122281112086660347504494523807998107774699652785296870335829109333300174540575502639568985671587204737782249927273956885726047344207373678788344346604690893002134524449316973416929366664376720569419118936882969612573783123939554506709218689058225095621780790805688796588654584944874060498716864572846960305690058221351270855580170876535345032146679687382182128065980450674869438668103772600445874127069191151271061960792042838277190705486936124018691164404572279686033819961411196228054249813451178391453589514061174224612321603593668582184641443079855002612981740440767646381296289496390615623889709166582737766679913348862210590793237572472455308456864784194923803613271007954618149366963710984429579577185610129621925407463738080758369569083435905640870662813477162599676603785413727784487088179205854847390112882262858590686893554247578358936712796047522412756385667877055286807932757623675586173495361797162962963622585607304684834513840156650443159593676 495816494182829532661193604036835521653931394033271170785221546324702035596914306642068421420344363388064731126003843485321713472027807186397374755372878548490150492049372667302355538050031191617257581339987186923637742709039722908537981600801749551137184323217457961013452911271469141456883984285514890248607568836988930380763607055900789707535364589994282693426593539400907698102792028725861385820711337010724141268795313502454223540659573254631904950700753671555699639258959372699989652085763915571872967958008355446618896927081937378278809424363919236240377366016478808513487439803200925197449485806031490376554371583260471382585992366015859593801011116723249964212936128931756933662054093492250144808084552552395306096124877907570144442042599570094402048940880895405878231934140808580127400337190498777183309965333727960771561812919148281851448397656125840788464510890938477162371214081412736947010355742292886368926851432097823582200579300932483654398544446721492759528327436338564850160332965826127674818493586853950914100949102144463100964768891231008154586177174739521240290922010465216851121412641955747359114223051238113712468169784512185756148033926179202096825353996522506892690218904909447295556233620157694016606821279454941146861687191588942714701481140262590766160602472690975827374530120885913814392984183978247572202134453707663996430235621774358748549525950375906458234909181952158746087281969098456322889876977392807565510012344018422953142730153124960201541064966050504250454244879365720642728315336803410276892943431488401181338593258976014609879915475418250311854701120931874096581682857649944444323301226600283923237361372804732115249964283821597293307899689393680862957890636127753620981962334321134703573351836698401619189048269034089682032750267807921525304824367922806364032650338899823403569686915492273159984561388890619609134484047669344207341767520542612236204660468381435969909938655627227777953135035918963008601115676459572901898880061862894390712396534738044654912170285730845654646027385932108091958877710955116024598415048639170767925705667709134516456591731980149826329176131336202983308596953200599298966536138398908922206107156207546741835904006281505035971898325303850421979577813683895465138308883904742577517633856143257415642217059308644817662449723250559592835033365398330755616143975220060735774477032889712304500640935832220297255402070539997660685578410015599265623992802449399242642904230565053928875797454959781534530175751656871146785686481945058278672643578521655468747646922553270959191458605961626871902865924062657052804006370504797605655109121836912050256529332669342838004422412748490687502617871053204887841706947827491301928476703334000641623037577142958107166079237201140876998523589439803 802247939770632704498530703555824612116091539701906109603296294787424731257898748902013086121635215371744415560116724887314803915122709047702227415397929457308399119792301413194931168865181054501871807669826284465345094272146920038630510424091703109012678742552386447765980009879020115678638793329312000953692380112520502452567564857888582600390849070279078658490788412574810224499317835150582746173779976199255531904435902262037749968322787816695341393323582350922484487142440539326553474271127590881456163861362830384052954104444569531588557105376895025390416756966678278372343882162357916166176766307672179833356301817738011608315287048258039490318413133860290087415015442804897605799035587498165568906629460430858057352681457459313536675416391392063876009467049315986853413289264296902272381198177217601583368408037459712008393259945255924316304374655663471340917248514740027790416502242234489012617294167204519603297764910759291676234340463833198145791798868929610762231915082077243214336842045688360711966248540468988832875948816218310761360683932413726583176089956366327274793488415108239564292763303995095704387088822094740303743953064239454156472260991300627787182035256861793355513726678644411816664518882547566042680195296437482826791286166520730936419969558328050615446640771923592273999457654262272055620208344156456666059107268982474818811795988358612997609154038689318549883992385820407379966365139266313037261819304627160344430636514514933488021291831607332650866642784632014725518915994862848365257793097341210300369093222643816919035378950951880944059043607624553191318123114748454877314296573768891770531883320556918724477498894962504602990903754527314551983585869254181915791402085225082839962308990832557276960679252628363320548780518020859415595535935645285512273889965045087476119310686404317927377685023266972812769858259226448718467784222209919709981336506214199440942442718308709926795664702971435151631923380265567699494117810984022218872296991229558767432965953856981537881782859513969594200534095150797150183973332735906830287211637293755712799766166425999089303552037670208047680446986916373859843941985347278986348718266464889372880976594875650514436349880408574227123169387264642464817855004389382401262327575069147149797319889963218826838445113558458268840841176840073654009257977719934349284726159861503815629479645871452745268287317128509793646017694429706827268316176695512614486203393242636815115359539021918713070721258573052542484793901023834857770116061522243888802265503929119206828405292122354395097099476624440349065465600666442466531790857592976811509956511949794313115120019562897085582781349461286735025030627438872764896993755760248925604062876829362438786000540765543714470764071714981033648966749033479 1298064433953462237159724307592660133770022933735177280388517841112126766854813055544081507541979578759809146686120568372636517387150516234099602170770808005798549611841674080497286706915212246119129389009813471388982836981186642947168492024893452660149863065769844408779432921150489257135522777614826891202299948949509432833331171913789372307926213660273361351917381951975717922602109863876444131994491313209979673173231215764491973508982361071327246344024336022478184126401399912026543126356891506453329131819371185830671851031526506909867366529740814261630794122983157086885831321965558841363626252113703670209910673400998482990901279414273899084119424250583540051627951571736654539461089680990415713714714012983253363448806335366883681117458990962158278058407930211392731645223405105482399781535367716378766678373371187672779955072864404206167752772311789312129381759405678504952787716323647225959627649909497405972224616342857115258434919764765681800190343315651103521760242518415808064497175011514488386784742127322939746976897918362773862325452823644734737762267131105848515084410425573456415414175945950843063501311873332854016212122848751639912620294917479829884007389253384300248203945583553859112220752502705260059287016575892423973652973358109673651121450698590641381607243244614568101373987775148185870013192528134704238261241722690138815242031610132971746158679989065225008118901567772566126053647108364769360151696282019967909940648858533356441164021984732292852407707750682518975973160874228569007986108434144620577262036654132218100373972209927895553938959083042803503172824235680328973895979431418836214855184547157202647714860267767236718240868038348911845291485558647862778749292721352836460944271325153691980534031089326764939737828787054949097628286203453207037578714332967893840151961025304141330947371938759245972754419648117068327602268269879263917323104026756811677147103186690145896705603358598662929585058416184530708095233487443595120771177053092453158145362488595026192793953145244815248846561481082905242142851043691022854885626685932926480725471834135133605760143769650357874009623118252576843152538938547878285315254404863798295087083751083197256272253886690079263095067712568492886797432818073277866400636458973889727314953746106476242480662172867103086503290900090633246844291343118265104900870135081564551403956678761165049768928252960730090901419764969704487953894586711111880110196195692036057758263769586972641946518713532834077014969652680706004555802543467302167474909082450774675576052214675625354288558082586067220968331524729099519335797228097774417165065633786706363371649352232239923587203762209777422527648498492077652738700703587740227532539580163363080409038117908501821636843308916121910647490338473282 2100312373724094941658255011148484745886114473437083389991814135899551498112711804446094593663614794131553562246237293259951321302273225281801829586168737463106948731633975493692217875780393300621001196679639755854327931253333562985799002448985155769162541808322230856545412931029509372814161570944138892155992329062029935285898736771677954908317062730552440010408170364550528147101427699027026878168271289409235205077667118026529723477305148888022587737347918373400668613543840451353096600628019097334785295680734016214724805135971076441455923635117709287021210879949835365258175204127916757529803018421375850043266975218736494599216566462531938574437837384443830139042967014541552145260125268488581282621343473414111420801487792826197217792875382354222154067874979527379585058512669402384672162733544933980350046781408647384788348332809660130484057146967452783470299007920418532743204218565881714972244944076701925575522381253616406934669260228598879945982142184580714283992157600493051278834017057202849098750990667791928579852846734581084623686136756058461320938357087472175789877898840681695979706939249945938767888400695427594319956075912991094069092555908780457671189424510246093603717672262198270928885271385252826101967211872329906800444259524630404587541420256918691997053884016538160375373445429410457925633400872291160904320348991672613634053827598491584743767834027754543558002893953592973506020012247631082397413515586647128254371285373048289929185313816339625503274350535314533701492076869091417373243901531485830877631129876776035019409351160879776497998002690667356694490947350428783851210276005187727985387067867714121372192359162729741321231771792876226397275071427902044694540694806577919300906580315986249257494710341955128260286609305075808513223822139098492549852604298012981316271271711708459258325056962026218785524277907343517046070052492089183627304440532971011118089545904998855823501268061570098081216981796450098407589351298427617339643474044322011925578328442452007730675736004758784843047095576233702392326824376426929685172838323226682193525238000561132695063695807320565921690070105168950702996480923895157271663972671328687667968060345958847770708603767098653490218237099833135351615287822462660267662964034043036877112273636069695069319107286425561355344132076930706900853549320838199454185596294943068367033436324632617795037215570089239884547437459399411315222210763406624494596399588934672872873623308608891355017239972105886619499763553704540862325918604989546056277174586379893882404457506797979749385657559210507570033797125395541985867588085690751228675022145736500676486769371795137009169985111671064157552679125930950417635694459347989153136602456992725519195038658674045536107607380631102944296457087506761 3398376807677557178817979318741144879656137407172260670380331977011678264967524859990176101205594372891362708932357861632587838689423741515901431756939545468905498343475649574189504582695605546740130585689453227243310768234520205932967494473878608429312404874092075265324845852179998629949684348558965783358292278011539368119229908685467327216243276390825801362325552316526246069703537562903471010162762602619214878250898333791021696986287509959349834081372254395878852739945240363379639726984910603788114427500105202045396656167497583351323290164858523548652005002932992452144006526093475598893429270535079520253177648619734977590117845876805837658557261635027370190670918586278206684721214949478996996336057486397364784250294128193080898910334373316380432126282909738772316703736074507867071944268912650359116725154779835057568303405674064336651809919279242095599680767326097037695991934889528940931872593986199331547746997596473522193104179993364561746172485500231817805752400118908859343331192068717337485535732795114868326829744652943858486011589579703196058700624218578024304962309266255152395121115195896781831389712568760448336168198761742733981712850826260287555196813763630393851921617845752130041106023887958086161254228448222330774097232882740078238662870955509333378661127261152728476747433204558643795646593400425865142581590714362752449295859208624556489926514016819768566121795521365539632073659355995851757565211868667096164311934231581646370349335801071918355682058285997052677465237743319986381230009965630451454893166530908253119783323370807672051936961773710160197663771586109112825106255436606564200242252414871324019907219430496978039472639831225138242566556986549907473289987527930755761850851641139941238028741431281893200024438092130757610852108342551699587431318630980875156423232737012600589272428900785464758278697555460585373672320761968447544627544559727822795236649091689001720206871420168761010802040212634629115684584785871212460414651097414465083723690931047033923469689150003600091893657057316607634469675420117952540058465009159608674250709834696266300823839576970923795699693223421527546149019862443035556979227076192485963055144097042045026980857653788732753313304812401628238412720640535938134063600493016926604427227382176171311799769459292664441847422977021340147697840663956464559086466430024632918437393003393782844806143823049969975448857224369115803176105350117736374706595784626708930631887078195863996963758685638720696514733206385246866881721148456848223752083668830668557980509721473605103674215641796574791002128650124641505203385313788525645840087779523207039858418724027376932757188873880841580080327624423028070374395162935729380669142037156088599604076776582547357744450689547224854943947425980043 5498689181401652120476234329889629625542251880609344060372146112911229763080236664436270694869209167022916271178595154892539159991696966797703261343108282932012447075109625067881722458475998847361131782369092983097638699487853768918766496922863764198474946682414306121870258783209508002763845919503104675514284607073569303405128645457145282124560339121378241372733722681076774216804965261930497888331033892028450083328565451817551420463592658847372421818720172769279521353489080814732736327612929701122899723180839218260121461303468659792779213799976232835673215882882827817402181730221392356423232288956455370296444623838471472189334412339337776232995099019471200329713885600819758829981340217967578278957400959811476205051781921019278116703209755670602586194157889266151901762248743910251744107002457584339466771936188482442356651738483724467135867066246694879069979775246515570439196153455410655904117538062901257123269378850089929127773440221963441692154627684812532089744557719401910622165209125920186584286723462906796906682591387524943109697726335761657379638981306050200094840208106936848374828054445842720599278113264188042656124274674733828050805406735040745226386238273876487455639290107950400969991295273210912263221440320552237574541492407370482826204291212428025375715011277690888852120878633969101721279994272717026046901939706035366083349686807116141233694348044574312124124689474958513138093671603626934154978727455314224418683219604629936299534649617411543858956408821311586378957314612411403754473911497116282332524296407684288139192674531687448549934964464377516892154718936537896676316531441794292185629320282585445392099578593226719360704411624101364639841628414451952167830682334508675062757431957126190495523451773237021460311047397206566124075930481650192137283922928993856472694504448721059847597485862811683543802975462804102419742373254057631171931985092698833913326194996687857543708139481738859092019022009084727523273936084298829800058125141736477009302019373499041654145425154762384934940752633550310026796499796544882225231303332386290867775947835257398995887535384291489717389763328590478249145500786338192828643199747521173631023204443000892797689461420887386243531541912234763590028008462998598401726564527059963481539501018245866381118876745718225797191555053952047048551389984794664013272062724967701285470829328026400639843359393139209859996294683768527118398316113524360869302995373561381803505510386804755351980998657744607316014496760089787729207639753446394280029258255210562440384967228271584853059873201007082361035925775520183491070973399479276874515109925259707716345188095822513941927173985551905737633006750353978488010089622283718533805744494148814118799115435256592893852058070178327799240404513486804 8897065989079209299294213648630774505198389287781604730752478089922908028047761524426446796074803539914278980110953016525126998681120708313604693100047828400917945418585274642071227041171604394101262368058546210340949467722373974851733991396742372627787351556506381387195104635389506632713530268062070458872576885085108671524358554142612609340803615512204042735059274997603020286508502824833968898493796494647664961579463785608573117449880168806722255900092427165158374093434321178112376054597840304911014150680944420305518117470966243144102503964834756384325220885815820269546188256314867955316661559491534890549622272458206449779452258216143613891552360654498570520384804187097965514702555167446575275293458446208840989302076049212359015613544128986983018320440799004924218465984818418118816051271370234698583497090968317499924955144157788803787676985525936974669660542572612608135188088344939596835990132049100588671016376446563451320877620215328003438327113185044349895496957838310769965496401194637524069822456258021665233512336040468801595709315915464853438339605524628224399802517373192000769949169641739502430667825832948490992292473436476562032518257561301032781583052037506881307560907953702531011097319161168998424475668768774568348638725290110561064867162167937358754376138538843617328868311838527745516926587673142891189483530420398118532645546015740697723620862061394080690246484996324052770167330959622785912543939323981320582995153836211582669883985418483462214638467107308639056422552355731390135703921462746733787417462938592541258975997902495120601871926238087677089818490522647009501422786878400856385871572697456769412006798023723697400177051455326502882408185401001859641120669862439430824608283598266131733552193204518914660335485489337323734928038824201891724715241559974731629117737185733660436869914763597148302081673018264687793414694016026078716559529652426656708562844088376859263915010901907620102821062221719356638958520870170042260472776239150942093025710304546075577615114304765985026834409690866917661266175216662834765289768341545899542026657669953665296711374961262413513089456552012005795294520648781228385622426823713659594078348540042937824670319074676118996844846724636391828440729103534536535790165020076890085966728400422037692918646205010890239038978030973387196249230648751128572358529154992334203908222331420183484649503216189179835445151908137642921574421463642097244009591158188090734137397465000619348944757343383328012529229966475034596089360901903242503781341924041230998365476949745189956734088842803657152038054425644824996274358713267802520355197704782914756203606819849890874684362859432747317713334374777006558384484785219447914474886531304902718403192211839140251596508759725552654184351939466847 14395755170480861419770447978520404130740641168390948791124624202834137791127998188862717490944012706937195251289548171417666158672817675111307954443156111332930392493694899709952949499647603241462394150427639193438588167210227743770500488319606136826262298238920687509065363418599014635477376187565175134386861492158677974929487199599757891465363954633582284107792997678679794503313468086764466786824830386676115044908029237426124537913472827654094677718812599934437895446923401992845112382210770006033913873861783638565639578774434902936881717764810989219998436768698648086948369986536260311739893848447990260846066896296677921968786670555481390124547459673969770850098689787917724344683895385414153554250859406020317194353857970231637132316753884657585604514598688271076120228233562328370560158273827819038050269027156799942281606882641513270923544051772631853739640317819128178574384241800350252740107670112001845794285755296653380448651060437291445130481740869856881985241515557712680587661610320557710654109179720928462140194927427993744705407042251226510817978586830678424494642725480128849144777224087582223029945939097136533648416748111210390083323664296341778007969290311383368763200198061652931981088614434379910687697109089326805923180217697481043891071453380365384130091149816534506180989190472496847238206581945859917236385470126433484615995232822856838957315210105968392814371174471282565908261002563249720067522666779295545001678373440841518969418635035895006073594875928620225435379866968142793890177832959863016119941759346276829398168672434182569151806890702465193981973209459184906177739318320195148571500892980042214804106376616950416760881463079427867522249813815453811808951352196948105887365715555392322229075644977755936120646532886543889859003969305852083861999164488968588101812241634454720284467400626408831845884648481068790213157067270083709888491514745125490621889039085064716807623150383646479194840084230804084162232456954468872060530901380887419102327729678045117231760539459528369961775162324417227688062675013207716990521071673932190409802605505211064292598910345553903230479219880602484044440021435119421214265626571234833225101552983043830622359780495563505240376388636871155418468737566533134937516729547136853567506229418667904074037522950729116036230533084925434244800620633545792585630591879960035489379051659446584124492862609328389695441446591906170039972737577166458113312586531749472537642907851805374700925756001127935328543726726564822325297000655349636783810600179251793438750444178016774809793962043810739513073980201165008487345332112747079394870307630042622472548794915672404816611536844984653055346341125130985046394574407503166448280631025453716837202307647095733145448566829903880453424756452953651 23292821159560070719064661627151178635939030456172553521877102292757045819175759713289164287018816246851474231400501187942793157353938383424912647543203939733848337912280174352024176540819207635563656518486185403779537634932601718622234479716348509454049649795427068896260468053988521268190906455627245593259438377243786646453845753742370500806167570145786326842852272676282814789821970911598435685318626881323780006487493023034697655363352996460816933618905027099596269540357723170957488436808610310944928024542728058871157696245401146080984221729645745604323657654514468356494558242851128267056555407939525151395689168754884371748238928771625004016099820328468341370483493975015689859386450552860728829544317852229158183655934019443996147930298013644568622835039487276000338694218380746489376209545198053736633766118125117442206562026799302074711221037298568828409300860391740786709572330145289849576097802161102434465302131743216831769528680652619448568808854054901231880738473396023450553158011515195234723931635978950127373707263468462546301116358166691364256318192355306648894445242853320849914726393729321725460613764930085024640709221547686952115841921857642810789552342348890250070761106015355462992185933595548909112172777858101374271818942987591604955938615548302742884467288355378123509857502311024592755133169619002808425869000546831603148640778838597536680936072167362473504617659467606618678428333522872505980066606103276865584673527277053101639302620454378468288233343035928864491802419323874184025881754422609749907359222284869370657144670336677689753678816940552871071791699981831915679162105198596004957372465677498984216113174640674114161058514534754370404657999216455671450072022059387536711973999153658453962627838182274850780982018375881213593932008130053975586714406048943319730929978820188380721337315390005980147966321499333478006571761286109788605051044397552147330451883173441576071538161285554099297661146452523440801190977824638914321003677620038361195353439982591192809375653764294354988609572015284145349328850229870551755810840015478089951829263175164729589310285306816316743568676432614489839734542083900649599888053394948492819179901523086768447030099570239624237221235361507547246909466670067671473306894567213743653472957819089941766956169155740006275269511115898821441049851282296921157989121034952369693287273990866767609142365825517569530886598500043812961547159040808555357322177689937563271780305316805994049870513344511263341072956693039856921386361557252879287591942103293024437115921127761964766528050886614396665112034626809833483619690826014881915225505334825537228752401735522295691295899704417400373059675499907991604779059192722614362755517556758619555605499858934873397045075589629433107609108392420498 37688576330040932138835109605671582766679671624563502313001726495591183610303757902151881777962828953788669482690049359360459316026756058536220601986360051066778730405975074061977126040466810877026050668913824597218125802142829462392734968035954646280311948034347756405325831472587535903668282643192420727646299869402464621383332953342128392271531524779368610950645270354962609293135438998362902472143457267999895051395522260460822193276825824114911611337717627034034164987281125163802600819019380316978841898404511697436797275019836049017865939494456734824322094423213116443442928229387388578796449256387515412241756065051562293717025599327106394140647280002438112220582183762933414204070345938274882383795177258249475378009791989675633280247051898302154227349638175547076458922451943074859936367819025872774684035145281917384488168909440815345634765089071200682148941178210868965283956571945640102316205472273104280259587887039870212218179741089910893699290594924758113865979988953736131140819621835752945378040815699878589513902190896456291006523400417917875074296779185985073389087968333449699059503617816903948490559704027221558289125969658897342199165586153984588797521632660273618833961304077008394973274548029928819799869886947428180194999160685072648847010068928668127014558438171912629690846692783521439993339751564862725662254470673265087764636011661454375638251282273330866318988833938889184586689336086122226047589272882572410586351900717894620608721255490273474361828218964549089927182286292016977916059587382472766027300981631146200055313342770860258905485707643018065053764909441016821856901423518791153528873358657541199020219551257624530921939977614182237926907813031909483259023374256335642599339714709050776191703483160030786901628551262425103452935977435906059448713570537911907832742220454643101005804716016414811993850969980402268219728828556193498493542559142677637952340922258506292879161311669200578492501230683327524963423434779107786381534579000925780297681169660636310041136193223822724950384734339701373037391525243078268746331911689410280361631868680375793881909195652370219974047896313216973884174563519020070814153679966183326044281454506130599069389880065803129477597623998378702665378204236600806410823624114350597220979187237757845840993692106469122311500044200824255685850471915842713743619712914912405182666325650313351733635228434845959226328045091949983001519896617975013470634764221687035809423213168611368750796269345639198669616683419604679246683362212602516071402542282544817875866365305778739576322012930425136178186014827974841970965022938761961310095812964868159701301196651194700507907436549402053428406016625038976651173633600225780811036148582212336392807807506030606542493642419533313561033864845374149 60981397489601002857899771232822761402618702080736055834878828788348229429479517615441046064981645200640143714090550547303252473380694441961133249529563990800627068318255248414001302581286018512589707187400010000997663437075431181014969447752303155734361597829774825301586299526576057171859189098819666320905738246646251267837178707084498893077699094925154937793497543031245424082957409909961338157462084149323675057883015283495519848640178820575728544956622654133630434527638848334760089255827990627923769922947239756307954971265237195098850161224102480428645752077727584799937486472238516845853004664327040563637445233806446665465264528098731398156747100330906453591065677737949104063456796491135611213339495110478633561665726009119629428177349911946722850184677662823076797616670323821349312577364223926511317801263407034826694730936240117420345986126369769510558242038602609751993528902090929951892303274434206714724890018783087043987708421742530342268099448979659345746718462349759581693977633350948180101972451678828716887609454364918837307639758584609239330614971541291722283533211186770548974230011546225673951173468957306582929835191206584294315007508011627399587073975009163868904722410092363857965460481625477728912042664805529554466818103672664253802948684476970869899025726527290753200704195094546032748472921183865534088123471220096690913276790500051912319187354440693339823606493406495803265117669608994732027655878985849276171025427994947722248023875944651942650061562000477954418984705615891161941941341805082515934660203916015570712458013107537948659164524583570936125556609422848737536063528717387158486245824335040183236332725898298645082998492148936608331565812248365154709095396315723179311313713862709230154331321342305637682610569638306317046867985565960035035427976586855227563672199274831481727142031406420792141817291479735746226300589842303287098593603540229785282792805431947868950699472954754677790162377135850965764614412603746700702538256620964141493034609643227502850511846988117079938994306354985518386720375472948820502142751704888370313461131855540523471219480959186536717616572745831463723909105602920720414041733361131818863461356029217367516419979636042753714818859359886249912287670906668477884130518681564340874452145056847787607949861262209128586769555316723077126900323198139634901608833949864774875953599641180119342777594260363528757214643591993795963067055658783568827956941911624599081203518485417362800666782690150462010689640112644536168069723769855395358994484385837842312982286433540704342850063817039532843298049454784675454584713764776843225321318299693696930053598386716996199203336253819453801465692124946968255952692792948395173791666138970955948413307364965479939538718009162746668642973237794647 98669973819641934996734880838494344169298373705299558147880555283939413039783275517592927842944474154428813196780599906663711789407450500497353851515924041867405798724230322475978428621752829389615757856313834598215789239218260643407704415788257802014673545864122581706912130999163593075527471742012087048552038116048715889220511660426627285349230619704523548744142813386208033376092848908324240629605541417323570109278537543956342041917004644690640156294340281167664599514919973498562690074847370944902611821351751453744752246285073244116716100718559215252967846500940701243380414701625905424649453920714555975879201298858008959182290127425837792297394380333344565811647861500882518267527142429410493597134672368728108939675517998795262708424401810248877077534315838370153256539122266896209248945183249799286001836408688952211182899845680932765980751215440970192707183216813478717277485474036570054208508746707310994984477905822957256205888162832441235967390043904417459612698451303495712834797255186701125480013267378707306401511645261375128314163159002527114404911750727276795672621179520220248033733629363129622441733172984528141218961160865481636514173094165611988384595607669437487738683714169372252938735029655406548711912551752957734661817264357736902649958753405638996913584164699203382891550887878067472741812672748728259750377941893361778677912802161506287957438636714024206142595327345384987851807005695116958075245151868421686757377328712842342856745131434925417011889780965027044346166991907908139858000929187555281961961185547161770767771355878398207564650232226589001179321518863865559392964952236178312015119182992581382256552277155923176004938469763118846258473625280274637968118770572058821910653428571760006346034804502336424584239120900731420499803963001866094484141547124767135396414419729474582732946747422835604135668261460138014446029418398496785592136162682907423235133727690454161829860784623955256282663607819178490728037847382854487084072835621889921790715779303863812891648040211939804889379040694686891424111900716027089248474663394298650675093000535916317353128676611556756691664469059048437608083669121940791228195413327315144907742810535347966585809859701845883192416483358264952577665875143269284294954142795914938095431332294605633448943553368678250898269599517547332812750795113982348645228546864777180058619925291493471076412822695209487983542688683943778964586952276758582298591706133311634890626731654028731551463052035789660680306323532249215414753085982457911430397026668382660188848651739319443919172076747464669021484064282759517425549736703538804535417131264561856631354795037911696707110772803221507229871708749985944907126326393174175984827814721183292341221114870996086482032360428696060229676838083168796 159651371309242937854634652071317105571917075786035613982759384072287642469262793133033973907926119355068956910871150453966964262788144942458487101045488032668032867042485570889979731203038847902205465043713844599213452676293691824422673863540560957749035143693897407008498430525739650247386660840831753369457776362694967157057690367511126178426929714629678486537640356417453457459050258818285578787067625566647245167161552827451861890557183465266368701250962935301295034042558821833322779330675361572826381744298991210052707217550310439215566261942661695681613598578668286043317901173864422270502458585041596539516646532664455624647554655524569190454141480664251019402713539238831622330983938920546104810474167479206742501341244007914892136601751722195599927718993501193230054155792590717558561522547473725797319637672095987037877630781921050186326737341810739703265425255416088469271014376127500006100812021141517709709367924606044300193596584574971578235489492884076805359416913653255294528774888537649305581985719057536023289121099626293965621802917587136353735526722268568517956154390706990797007963640909355296392906641941834724148796352072065930829180602177239387971669582678601356643406124261736110904195511280884277623955216558487289128635368030401156452907437882609866812609891226494136092255082972613505490285593932593793838501413113458469591189592661558200276625991154717545966201820751880791116924675304111690102901030854270962928402756707790065104769007379577359661951342965504998765151697523799301799942270992637797896621389463177341480229368985936156223814756810159937304878128286714296929028480953565470501365007327621565492885003054221821087936961912055454590039437528639792677214166887782001221967142434469236500366125844642062266849690539037737546671948567826129519569523711622362960086619004306064460088778829256396277485552939873760672330008240800072690729766223137208517926533122402030780560257578709934072825984955029456492652259986601187786611092242854063283750388947091315742159887200056884828373347049672409810832276188975909750617415099187020988554132391456840824348157570743293409281041804879901331992774724861511642237146688446963771204166564565334102229839337888636907235342718151202489953546049937762179084661477479278969883477351453421056893414630887379485039154834270409939651118312121983546837380814641954934573524932673590419190416955573016740757332275937574927654007935542151126548648044936233971830250139446094352129834725940122690995963644893751582822809752313306789391511054220502501830938172860148262022140564504201864782113737544192880134450468315647760738449564255553561408393424628692906314109057040961031337400874932913163079019186122571158619480860154248289634422235961566421571078437858806898319811320963443 258321345128884872851369532909811449741215449491335172130639939356227055509046068650626901750870593509497770107651750360630676052195595442955840952561412074535438665766715893365958159824791677291821222900027679197429241915511952467830378279328818759763708689558019988715410561524903243322914132582843840418009814478743683046278202027937753463776160334334202035281783169803661490835143107726609819416673166983970815276440090371408203932474188109957008857545303216468959633557478795331885469405522732517728993565650742663797459463835383683332282362661220910934581445079608987286698315875490327695151912505756152515395847831522464583829844782950406982751535860997595585214361400739714140598511081349956598407608839847934851441016762006710154845026153532444477005253309339563383310694914857613767810467730723525083321474080784939249060530627601982952307488557251709895972608472229567186548499850164070060309320767848828704693845830429001556399484747407412814202879536788494264972115364956751007363572143724350431061998986436243329690632744887669093935966076589663468140438472995845313628775570227211045041697270272484918834639814926362865367757512937547567343353696342851376356265190348038844382089838431108363842930540936290826335867768311445023790452632388138059102866191288248863726194055925697518983805970850680978232098266681322053588879355006820248269102394823064488234064627868741752108797148097265778968731680999228648178146182722692649685780085420632407961514138814502776673841123930532043111318689431707441657943200180193079858582575010339112248000724864334363788464989036748938484199647150579856321993433189743782516484190320202947749437280210144997092875431675174300848513062808914430645332937459840823132620571006229242846400930346978486851088811439769158046475911569692224003711070836389498356501038733780647193035526252092000413153814400011775118359426639296858282865928906044631753060260812856192610421042202665190355489592774207947220690107369455674870683927864743985074466168250955128633807927411996689717752387744359301234944176905002998999092078493485671663647132927373158177476834182300050100945510863928338940076443846802302870432560015762108678946977099913300688039699039734520099651826076416155067619421193207046474038804273394217065314809646059054505836967999565630383308754351817742752401913426104332192065927679419134993193450224167061495603239650782504724300020959881353892240960212300733425140354178247868862456981793474825903592886761729783371302287177142966997575895734771218219788537722603162690679589912179592181194217311968870886266178020303710305684187171854452296155580828817410192763188462540389613424881860262468261209109624918858070205345579296747143447295581337540630855537106957652903603438866554867127996649404132239 417972716438127810706004184981128555313132525277370786113399323428514697978308861783660875658796712864566727018522900814597640314983740385414328053606900107203471532809201464255937891027830525194026687943741523796642694591805644292253052142869379717512743833251917395723908992050642893570300793423675593787467590841438650203335892395448879642203090048963880521819423526221114948294193366544895398203740792550618060443601643198860065823031371575223377558796266151770254667600037617165208248736198094090555375309949733873850166681385694122547848624603882606616195043658277273330016217049354749965654371090797749054912494364186920208477399438474976173205677341661846604617074939978545762929495020270502703218083007327141593942358006014625046981627905254640076932972302840756613364850707448331326371990278197250880641111752880926286938161409523033138634225899062449599238033727645655655819514226291570066410132788990346414403213755035045856593081331982384392438369029672571070331532278610006301892347032261999736643984705493779352979753844513963059557768994176799821875965195264413831584929960934201842049660911181840215227546456868197589516553865009613498172534298520090764327934773026640201025495962692844474747126052217175103959822984869932312919088000418539215555773629170858730538803947152191655076061053823294483722383860613915847427380768120278717860291987484622688510690619023459298074998968849146570085656356303340338281047213576963612614182842128422473066283146194080136335792466896037041876470386955506743457885471172830877755203964473516453728230093850270520012279745846908875789077775437294153251021914143309253017849197647824513242322283264366818180812393587229755438552500337554223322547104347622824354587713440698479346767056191620549117938501978806895593147860137518353523280594548011861316587657738086711653124305081348396690639367339885535790689434880096930973595695129181840270986793935258223390981299781375124428315577729237403713342367356056862657295020107598048358216557198046444375967814612053574546125734794031711045776453093978908749709493592672692652201265318829999001824991753043343510226552668808240272069218571663814512669706704209072450151143664478634790269538377623157006887168794567357557572967243144808653123465750873496035198286997512475562730382630453009868347909186088152692053031738226315738903308494061089927766975156840651914793656606355521465057353235818928819894968147842884551689002223184102834287231932920920255722721487669906062298250822036718580398705487084525009180048776823665192510528085039740443216357876473072751048291757847903185818637640170100056894030393072963754171581887169082519738990917303429292546510499851771233284364765419318302066776441491788920489959342919219325174517304413674026316460725095682 676294061567012683557373717890940005054347974768705958244039262784741753487354930434287777409667306374064497126174651175228316367179335828370169006168312181738910198575917357621896050852622202485847910843769202994071936507317596760083430422198198477276452522809937384439319553575546136893214926006519434205477405320182333249614094423386633105979250383298082557101206696024776439129336474271505217620413959534588875720041733570268269755505559685180386416341569368239214301157516412497093718141720826608284368875600476537647626145221077805880130987265103517550776488737886260616714532924845077660806283596553901570308342195709384792307244221425383155957213202659442189831436340718259903528006101620459301625691847175076445383374768021335201826654058787084553938225612180319996675545622305945094182458008920775963962585833665865535998692037125016090941714456314159495210642199875222842368014076455640126719453556839175119097059585464047412992566079389797206641248566461065335303647643566757309255919175986350167705983691930022682670386589401632153493735070766463290016403668260259145213705531161412887091358181454325134062186271794560454884311377947161065515887994862942140684199963374679045407585801123952838590056593153465930295690753181377336709540632806677274658639820459107594264998003077889174059867024673975461954482127295237901016260123127098966129394382307687176744755246892201050183796116946412349054388037302568986459193396299656262299962927549054881027797285008582913009633590826569084987789076387214185115828671353023957613786539483855565976230818714604883800744734883657814273277422587874009573015347333053035534333387968027460991759563474511815273687825262404056287065563146468653967880041807463647487208284446927722193167986538599035969027313418576053639623771707210577526991665384401359673088696471867358846159831333440397103793181739897310909048861519393789256461624035226472024047054748114416001402341984040314783805170503445350934032474725512537527978947972342033432682725449001573009775742024050264263878122538391012280720629998981907748801572086158364315848398246203157179301825935343393611172063532736579212145662418466117383102266719971181129098120764391935478309237417357677106538994870983512625192388436351855127162270024267713100513096643571530068567350630018640251656663537905895444454945164330647930969236173480224920960425381007713410396896257138026189357374195700282712135928360143617976829356401431971696744213726395746159315608249399689433600537999179685577974601221855743228968586499426827883190117997219332624410575188441943637314469778151613491502824812024552353049611221890373946934770349709472133163872777565897553755620124770629303489710344716065445514072022829329551345496449876872228777956170968541154313110129227921 1094266778005140494263377902872068560367480500046076744357438586213256451465663792217948653068464019238631224144697551989825956682163076213784497059775212288942381731385118821877833941880452727679874598787510726790714631099123241052336482565067578194789196356061854780163228545626189030463515719430195027992944996161620983452949986818835512748182340432261963078920630222245891387423529840816400615824154752085206936163643376769128335578536931260403763975137835520009468968757554029662301966877918920698839744185550210411497792826606771928427979611868986124166971532396163533946730749974199827626460654687351650625220836559896305000784643659900359329162890544321288794448511280696805666457501121890962004843774854502218039325732774035960248808281964041724630871197915021076610040396329754276420554448287118026844603697586546791822936853446648049229575940355376609094448675927520878498187528302747210193129586345829521533500273340499093269585647411372181599079617596133636405635179922176763611148266208248349904349968397423802035650140433915595213051504064943263111892368863524672976798635492095614729141019092636165349289732728662758044400865242956774563688422293383032905012134736401319246433081763816797313337182645370641034255513738051309649628628633225216490214413449629966324803801950230080829135928078497269945676865987909153748443640891247377683989686369792309865255445865915660348258795085795558919140044393605909324740240609876619874914145769677477354094080431202663049345426057722606126864259463342720928573714142525854835368990503957372019704460912564875403813024480730566690062355198025168162824037261476362288552182585615851974234081846738878633454500218849633811725618063484022877290427146155086471841795997887626201539935042730219585086965815397382949232771631844728931050272259932413220989676354209954070499284136414788793794432549079782846699738296399490720230057319164408312295033848683372639392383641765415439212120748232682754647374842081569400185273968079940081790899282647048017385743556636103838810003857332422723326497083092960816498511065678831056968049663565033156181126817688386737121398616201544819484214880990129931895771973424180253579249264428870570268578775794980834113426163665550870182765355679496663780285735775141209135711383641084005631297733260471650120004572723994048136507976902556963669872544667541314848727400537848365325190552863493547654414727431519211532030896507986502528518358624616074531031445659316666415038329737069595495898788821216404158373306708940268238148635276250493075700646082259073067626933064915016388362761535999516677321462452194652409943641614963337701106352236878554652902863694869326846302130624622400536774075110135383747580848464321118471835455792796091553952473475382215180629570854323603 1770560839572153177820751620763008565421828474814782702601477848997998204953018722652236430478131325612695721270872203165054273049342412042154666065943524470681291929961036179499729992733074930165722509631279929784786567606440837812419912987265776672065648878871792164602548099201735167356730645436714462198422401481803316702564081242222145854161590815560045636021836918270667826552866315087905833444568711619795811883685110339396605334042490945584150391479404888248683269915070442159395685019639747307124113061150686949145418971827849734308110599134089641717748021134049794563445282899044905287266938283905552195529178755605689793091887881325742485120103746980730984279947621415065569985507223511421306469466701677294484709107542057295450634936022828809184809423527201396606715941952060221514736906296038802808566283420212657358935545483773065320517654811690768589659318127396101340555542379202850319849039902668696652597332925963140682578213490761978805720866162594701740938827565743520920404185384234700072055952089353824718320527023317227366545239135709726401908772531784932122012341023257027616232377274090490483351919000457318499285176620903935629204310288245975045696334699775998291840667564940750151927239238524106964551204491232686986338169266031893764873053270089073919068799953307970003195795103171245407631348115204391649459901014374476650119080752099997042000201112807861398442591202741971268194432430908478311199434006176276137214108697226532235121877716211245962355059648549175211852048539729935113689542813878878792982777043441227585680691731279480287613769215614224504335632620613042172397052608809415324086515973583879435225841410213390448728188044112037868012683626630491531258307187962550119329004282334553923733103029268818621055993128815959002872395403551939508577263925316814580662765050681821429345443967748229190898225730819680157608787157918884509486518943199634784319080903431487055393785983749455753995925918736128105581407316807081937713252916052282115223582008096049590395519298660154103073881979870813735607217713091942724247312637764989421283898061811236313360428643623730130732570679734281398696360543408596049278874240144151434708347385193262505746888013212338511219965158536534382807957744115848518907448005799408922236224480284655535699865083890490290371661236261899943580962922066887611600841780841021539769687825918856078735587449120631573843772101627219494244166824868130120505347715026048046227775659385712412574353937986469284929499326820396089736347907930796011467117221775677320958890764079478405692037508253356960025677231314151130168824287264219204762993252836853711648041122586588026786066736472435224400057750749393029840263785454851449193094920487150448023180952242672963782730429646350756334942680983551524 2864827617577293672084129523635077125789308974860859446958916435211254656418682514870185083546595344851326945415569755154880229731505488255939163125718736759623673661346155001377563934613527657845597108418790656575501198705564078864756395552333354866854845234933646944765776644827924197820246364866909490191367397643424300155514068061057658602343931247822008714942467140516559213976396155904306449268723463705002748047328487108524940912579422205987914366617240408258152238672624471821697651897558668005963857246700897360643211798434621662736090211003075765884719553530213328510176032873244732913727592971257202820750015315501994793876531541226101814282994291302019778728458902111871236443008345402383311313241556179512524034840316093255699443217986870533815680621442222473216756338281814497935291354583156829653169981006759449181872398930421114550093595167067377684107994054916979838743070681950060512978626248498218186097606266462233952163860902134160404800483758728338146574007487920284531552451592483049976405920486777626753970667457232822579596743200652989513801141395309605098810976515352642345373396366726655832641651729120076543686041863860710192892732581629007950708469436177317538273749328757547465264421883894747998806718229283996635966797899257110255087466719719040243872601903538050832331723181668515353308214103113545397903541905621854334108767121892306907255646978723521746701386288537530187334476824514387635939674616052896012128254466904009589215958147413909011700485706271781338716308003072656042263256956404733628351767547398599605385152643844355691426793696344791194397987818638210335221089870285777612638698559199731409459923256952269082182688262961671679738301690114514408548734334117636591170800280222180125273038071999038206142958944213341952105167035396668439627536185249227801652441404891775499844728104163017984692658279899463004308525454318375229716576262364043096614114752114859694786169625514871193208046666968810860228782158888651337898526884132222197014481290743097607781262855296257941883885837203236458933714796184903540745823703443820478251947725376269469541555461312116867853969295935826218180575424398725981174646213568331688287596649622133076015466789007319345333391322202085252990723099795345182687733741574550131371935863925739541331162817150961940491665808985893991717470898969444575270714325508562854618415226456704444060778001984125121498186829058738705776197721376116623033866073650664120758807105045029078989392267723538880425398115641612493894721214639736279705265857051927814034591410161737478759664441318271976414039992850150646846145749716413857172936894451817049349147474823466581438969600167304551246359881374015430377037860564986832940675768951471566495016408035469055336682903121732971515572251837875127 4635388457149446849904881144398085691211137449675642149560394284209252861371701237522421514024726670464022666686441958319934502780847900298093829191662261230304965591307191180877293927346602588011319618050070586360287766312004916677176308539599131538920494113805439109368324744029659365176977010303623952389789799125227616858078149303279804456505522063382054350964304058787227040529262470992212282713292175324798559931013597447921546246621913151572064758096645296506835508587694913981093336917198415313087970307851584309788630770262471397044200810137165407602467574664263123073621315772289638200994531255162755016279194071107684586968419422551844299403098038282750763008406523526936806428515568913804617782708257856807008743947858150551150078154009699343000490044969423869823472280233874719450028260879195632461736264426972106540807944414194179870611249978758146273767312182313081179298613061152910832827666151166914838694939192425374634742074392896139210521349921323039887512835053663805451956636976717750048461872576131451472291194480550049946141982336362715915709913927094537220823317538609669961605773640817146315993570729577395042971218484764645822097042869874982996404804135953315830114416893698297617191661122418854963357922720516683622304967165289004019960519989808114162941401856846020835527518284839760760939562218317937047363442919996330984227847873992303949255848091531383145143977491279501455528909255422865947139108622229172149342363164130541824337835863625154974055545354820956550568356542802591155952799770283612421334544590839827191065844375123835979040562911959015698733620439251252507618142479095192936725214532783610844685764667165659530910876307073709547750985316745005939807041522080186710499804562556734049006141101267856827198952073029300954977562438948607948204800110566042382315206455573596929190172071911247175590884010719143161917312612237259739203095205563677880933195655546346750179955609264326947203972585704938965810189475695733275611779800184504312238063298839147198176782153956412044957767817074050194540932509276846264993136341208809899535845787187505782901984104935846998586539975670107616876935967807322030453520453712483122995944034815395581762354802219657856553356480738619635798680843911193701595181747373959053608160344210395077031027901041452230863327045247793935298433821036332186871556106349584394388103052375560522796365451104756695341958930685958200020364546244246743539213788676712166986582764430741491563746205710008165354897442462008583631069122570532291172383078827605134993482174241215884451701949571628936439717224164301777014970036980633061935930147288670760997188597410054608225036336639739775646417632123408460217301646019838282133770689438622014518197360278142019119413332768083727850514932821426651 7500216074726740521989010668033162817000446424536501596519310719420507517790383752392606597571322015315349612102011713474814732512353388554032992317380997989928639252653346182254857861960130245856916726468861242935788965017568995541932704091932486405775339348739086054134101388857583562997223375170533442581157196768651917013592217364337463058849453311204063065906771199303786254505658626896518731982015639029801307978342084556446487159201335357559979124713885704764987747260319385802790988814757083319051827554552481670431842568697093059780291021140241173487187128194476451583797348645534371114722124226419957837029209386609679380844950963777946113686092329584770541736865425638808042871523914316187929095949814036319532778788174243806849521371996569876816170666411646343040228618515689217385319615462352462114906245433731555722680343344615294420704845145825523957875306237230061018041683743102971345806292399665133024792545458887608586905935295030299615321833680051378034086842541584089983509088569200800024867793062909078226261861937782872525738725537015705429511055322404142319634294053962312306979170007543802148635222458697471586657260348625356014989775451503990947113273572130633368388166222455845082456083006313602962164640949800680258271765064546114275047986709527154406814003760384071667859241466508276114247776321431482445266984825618185318336614995884610856511495070254904891845363779817031642863386079937253583078783238282068161470617631034551413553794011039063985756031061092737889284664545875247198216056726688346049686312138238426796450997018968191670467356608303806893131608257889462842839232349380970549363913091983342254145687924117928613093564570035381227489287006859520348355775856197823301670604842778914174279179173266895033341911017242642907082729474345276387832336295815270183967647860465372429034900176074265160283542290618606166225838066555634968919671467927720977547310407661206444966125234779198140412019252673749826038971634584384613510306684316726509252544589582244805958045009252669986841653654277286653474647305461749805738960044652630377787793512563775252443539566247963866440509271605933835057511392206048011628166667280814811283540684437528657777821591226977201886747802940704888789403943706538884282915488948509184980096208136134618362190718192414171354992854233687927015904720005776762142270431858147249006518278832264966857143453088881816840145759744696905796562267620363366573079862327376287745389869475770570553138473433547045780295558103621077525790337210268570877648935879532949028073584402953363211366390889900912853757217014452423861115786697046919108867041740487810346336072233521189664005936807044326892777513497423890594339506584825115074446458390093581013213768313611074456096235889816699366087184659301778 12135604531876187371893891812431248508211583874212143746079705003629760379162084989915028111596048685779372278788453671794749235293201288852126821509043259220233604843960537363132151789306732833868236344518931829296076731329573912219109012631531617944695833462544525163502426132887242928174200385474157394970946995893879533871670366667617267515354975374586117416871075258091013295034921097888731014695307814354599867909355682004368033405823248509132043882810531001271823255848014299783884325731955498632139797862404065980220473338959564456824491831277406581089654702858739574657418664417824009315716655481582712853308403457717363967813370386329790413089190367867521304745271949165744849300039483229992546878658071893126541522736032394357999599526006269219816660711381070212863700898749563936835347876341548094576642509860703662263488287758809474291316095124583670231642618419543142197340296804255882178633958550832047863487484651312983221648009687926438825843183601374417921599677595247895435465725545918550073329665639040529698553056418332922471880707873378421345220969249498679540457611592571982268584943648360948464628793188274866629628478833390001837086818321378973943518077708083949198502583116154142699647744128732457925522563670317363880576732229835118295008506699335268569755405617230092503386759751348036875187338539749419492630427745614516302564462869876914805767343161786288036989341271096533098392295335360119530217891860511240310812980795165093237891629874664218959811576415913694439853021088677838354168856496971958471020856729078253987516841394092027649507919520262822591865228697140715350457374828476163486089127624766953098831452591283588144004440877109090775240272323604526288162817378278010012170409405335648223285320274534751860540863090271943862060291913293884336037136406381312566282854316038969358225072247985512335874426301337749328143150678792894708122766673491398858480506063207553195146080844043525087615991838378688791849161110280117889122086484501230821490607888421392004134827163209082031799421471351336848015579814738596070732096385861440277323639299751281035345523671183810865027049247276041451934447360013370042081687120993297934279484719252924239540176393446635058440104283679324524588084787617732585878097236322468238588256552346529695393218619233866402218319899481481862314338541042108949013826538207731643394621331207825489653508904193638512182104690430655105816926813864610110112293651004088454731972633906512062116884679143555211135193000565629661156859459780800862050032014707138084021555758644169247663068340461529849293474441178754200876085823677679981044797189029158571343524669643575797889042273446784102539195145620832350811641152604663397208217147828715595531411128591753093575509568657900427216602117480728429 19635820606602927893882902480464411325212030298748645342599015723050267896952468742307634709167370701094721890890465385269563967805554677406159813826424257210162244096613883545387009651266863079725153070987793072231865696347142907761041716723464104350471172811283611217636527521744826491171423760644690837552104192662531450885262584031954730574204428685790180482777846457394799549540579724785249746677323453384401175887697766560814520565024583866692023007524416706036811003108333685586675314546712581951191625416956547650652315907656657516604782852417647754576841831053216026241216013063358380430438779708002670690337612844327043348658321350107736526775282697452291846482137374804552892171563397546180475974607885929446074301524206638164849120898002839096632831377792716555903929517265253154220667491803900556691548755294435217986168631103424768712020940270409194189517924656773203215381980547358853524440250950497180888280030110200591808553944982956738441165017281425795955686520136831985418974814115119350098197458701949607924814918356115794997619433410394126774732024571902821860091905646534294575564113655904750613264015646972338216285739182015357852076593772882964890631351280214582566890749338609987782103827135046060887687204620118044138848497294381232570056493408862422976569409377614164171246001217856312989435114861180901937897412571232701620901077865761525662278838232041192928834705050913564741255681415297373113296675098793308472283598426199644651445423885703282945567607477006432329137685634553085552384913223660304520707168867316680783967838413060219319975276128566629484996836955030178193296607177857134035453040716750295352977140515401516757098005447144472002729559330464046636518593234475833313841014248114562397564499447801646893882774107514586769143021387639160723869472702196582750250502176504341787259972424059777496157968591956355494368988745348529677042438141419119836027816470868759640112206078822723228028011091052438617888132744864502502632393168817957330743152478003636810092872172461752018641075125628623501490227120200345876471056430514070655111432812315056287789063237431774731467558518881975286991958752219418053709853788274112745563025403690452897317997984673612260326852086620029413377488731324271470161012725270977423568352760482664313755409337426280573573312753715169789330243261047885711156096970065878892401139610040090456510652357282520329022250450175352011613489081484973476685373513331464742477362503382282632670023152577102256915488558669250738682649796991069432927680950586671033049629343047122610874434731351430762147231658193206624737201610374726900153664230769646381689860741877096987553048210253828429431972659118256241405980659189488512282663606218809176544624896905364168031605804547717126582689302140030207 31771425138479115265776794292895659833423614172960789088678720726680028276114553732222662820763419386874094169678919057064313203098755966258286635335467516430395848940574420908519161440573595913593389415506724901527942427676716819980150729354995722295167006273828136381138953654632069419345624146118848232523051188556410984756932950699571998089559404060376297899648921715485812844575500822673980761372631267739001043797053448565182553970847832375824066890334947707308634258956347985370559640278668080583331423279360613630872789246616221973429274683695054335666496533911955600898634677481182389746155435189585383543646016302044407316471691736437526939864473065319813151227409323970297741471602880776173022853265957822572615824260239032522848720424009108316449492089173786768767630416014817091056015368145448651268191265155138880249656918862234243003337035394992864421160543076316345412722277351614735703074209501329228751767514761513575030201954670883177267008200882800213877286197732079880854440539661037900171527124340990137623367974774448717469500141283772548119952993821401501400549517239106276844149057304265699077892808835247204845914218015405359689163412094261938834149428988298531765393332454764130481751571263778518813209768290435408019425229524216350865065000108197691546324814994844256674632760969204349864622453400930321430527840316847217923465540735638440468046181393827480965824046322010097839647976750657492643514566959304548783096579221364737889337053760367501905379183892920126768990706723230923906553769720632262991728025596394934771484679807152246969483195648829452076862065652170893543753982006333297521542168341517248451808593106685104901102446324253562777969831654068572924681410612753843326011423653450210620849819722336398754423637197786530631203313300933045059906609108577895316533356492543311145485044672045289832032394893294104822512139424141424385165204814910518694508322534076312835258286922866248315644002929431127409737293855144620391754479653319188152233760366425028814227699335670834050440496596979960349505806934938941947203152816375510932435072112066337323134586908615585596494607766158016738926406112232788095791540909267410679842510122943377136858174378120247318766956370299353937965573518942004056039109961593445662156609312829194009148627956660146975791632653196651651644581802089994660169923508273610535795760941247915946164161261476158841204355140606007117430415895349583586797667164335553197209335137288794694786907831720657468050681559234880399839509256771870294977712965293809117071185101691291858537503071812960611440706099371960825613287434052406881198461419798804953033385411520672785442090483700612531971167804739088592217621811794151909490880754047524772076036025497117261607115373205617553799291419620758636 51407245745082043159659696773360071158635644471709434431277736449730296173067022474530297529930790087968816060569384442333877170904310643664446449161891773640558093037188304453906171091840458993318542486494517973759808124023859727741192446078459826645638179085111747598775481176376895910517047906763539070075155381218942435642195534731526728663763832746166478382426768172880612394116080547459230508049954721123402219684751215125997074535872416242516089897859364413345445262064681670957234954825380662534523048696317161281525105154272879490034057536112702090243338364965171627139850690544540770176594214897588054233983629146371450665130013086545263466639755762772104997709546698774850633643166278322353498827873843752018690125784445670687697841322011947413082323466966503324671559933280070245276682859949349207959740020449574098235825549965659011715357975665402058610678467733089548628104257898973589227514460451826409640047544871714166838755899653839915708173218164226009832972717868911866273415353776157250269724583042939745548182893130564512467119574694166674894685018393304323260641422885640571419713170960170449691156824482219543062199957197420717541240005867144903724780780268513114332284081793374118263855398398824579700896972910553452158273726818597583435121493517060114522894224372458420845878762187060662854057568262111223368425252888079919544366618601399966130325019625868673894658751372923662580903658165954865756811242058097857255380177647564382540782477646070784850946791369926559098128392357784009458938682944292567512435194463711615555452518220212466289458471777396081561858902607201071737050589184190431556995209058267543804785733622086621658200451771398034780699390984532619561200003847229676639852437901564773018414319170138045648306411305301117400346334688572205783776081810774478066783858669047652932745017096105067328190363485250460316881128169489954062207642956329638530536139004945072475370493001688971543672014020483566027625426600009122894386872822137145482976912844428665624320571508132586069081571722608583850996034055139287823674209246889581587546504924381393610923650146047360327962166285039992025918364864452206149501394697541523425405535526633830034176172362793859579093808456919383351343062250266275526200122686864423085724962073311858322904037294086427549364945406911821440974825063137880371326020478339489428196900551288006402674813618758679170226605590781359129043904976834557063483040677667017939686697640671077327456930984297759724966170117904131138522159053762939727905393915880480150120814444738414469411937803164391373587937757565167450350489044427133781352125650568451334723246153397769772995138693954440961403140463857344833623602470983640421773544360266333948620660922402481429638721177753334680381980721760788843 83178670883561158425436491066255730992059258644670223519956457176410324449181576206752960350694209474842910230248303499398190374003066609922733084497359290070953941977762725362425332532414054906911931902001242875287750551700576547721343175433455548940805185358939883979914434831008965329862672052882387302598206569775353420399128485431098726753323236806542776282075689888366425238691581370133211269422585988862403263481804663691179628506720248618340156788194312120654079521021029656327794595104048743117854471975677774912397894400889101463463332219807756425909834898877127228038485368025723159922749650087173437777629645448415857981601704822982790406504228828091918148936956022745148375114769159098526521681139801574591305950044684703210546561746021055729531815556140290093439190349294887336332698228094797859227931285604712978485482468827893254718695011060394923031839010809405894040826535250588324930588669953155638391815059633227741868957854324723092975181419047026223710258915600991747127855893437195150441251707383929883171550867905013229936619715977939223014638012214705824661190940124746848263862228264436148769049633317466747908114175212826077230403417961406842558930209256811646097677414248138248745606969662603098514106741200988860177698956342813934300186493625257806069219039367302677520511523156265012718680021663041544798953093204927137467832159337038406598371201019696154860482797694933760420551634916612358400325809017402406038476756868929120430119531406438286756325975262846685867119099081014933365492452664924830504163220060106550326937198027364713258941667426225533638720968259371965280804571190523729078537377399784792256594326728771726559302898095651597558669222638601192485881414459983519965863861555014983639264138892474444402730048503087648031549647989505250843682690919352373383317215161590964078230061768150357160222758378544565139393267593631378447372847771240157225044461539021385310628779924555219859316016949914693437362720455153743286141352475456333635210673210853694438548270843803420119522068319588544200501840990078229770877362063265092519981577036447730934058237054662945924456774051198008764844770976684994245292935606808934105248045649577207171034346740914106897860764827218737289308635769208279582239232648457868747881571386141052332052665250746574525156578060108473092619406865227875031495943986613099963992661492535922348838974880234838011430960731387366246474320872184140650280707842002571136896032777959872022243838816018417193016851677139011538361668310534810022883106881174289267191999546429706327949440874977351985028643856937128275963776478479540662550587070367256287756631564918442558437229177655053493374308268596433425841224282777792331264425114313858720696696947899598691245836550958952234181272141381547479 134585916628643201585096187839615802150694903116379657951234193626140620622248598681283257880624999562811726290817687941732067544907377253587179533659251063711512035014951029816331503624254513900230474388495760849047558675724436275462535621511915375586443364444051631578689916007385861240379719959645926372673361950994295856041324020162625455417087069552709254664502458061247037632807661917592441777472540709985805483166555878817176703042592664860856246686053676533999524783085711327285029549929429405652377520671994936193922999555161980953497389755920458516153173263842298855178336058570263930099343864984761492011613274594787308646731717909528053873143984590864023146646502721519999008757935437420880020509013645326609996075829130373898244403068033003142614139023106793418110750282574957581609381088044147067187671306054287076721308018793552266434052986725796981642517478542495442668930793149561914158103130404982048031862604504941908707713753978563008683354637211252233543231633469903613401271247213352400710976290426869628719733761035577742403739290672105897909323030608010147921832363010387419683575399224606598460206457799686290970314132410246794771643423828551746283710989525324760429961496041512367009462368061427678215003714111542312335972683161411517735307987142317920592113263739761098366390285343325675572737589925152768167378346093007057012198777938438372728696220645564828755141549067857423001455293082567224157137051075500263293856934516493502970902009052509071607272766632773244965247491438798942824431135609217398016598414523818165882389716247577179548400139203621615200579870866573037017855160374714160635532586458052336061380060350858348217503349867049632339368613623133812047081418307213196605716299456579756657678458062612490051036459808388765431895982678077456627458772730126851450101073830638617010975078864255424488413121863795025456274395763121332509580490727569795755580600543966457785999272926244191402988030970398259464988147055162866180528225297593479118187586055282360062868842351936006188603640042197128051497875045217517594551571310154674107528081960829124544981887200710306252418940336238000790763135841137200394794330304350457530653581176211037205210519103707966476954573284138120640651698019474555108439355335322291833606533459452910654956702544833002074521523467020294533594231928365755402821964464952589392189562043823928751513788498993517181657566322168725375518225849018697713763748519669589076582730418630949349700769800316176917983021795043142676883827364297749750788500797054769417312813991168120797361378678141743358616581614502295726314265522906674443902712720935707622479877718316212331432367871609494454777448732453778259464826753761432753037969474580192669317357870302080120884557728712286914563252863142336322 217764587512204360010532678905871533142754161761049881471190650802550945071430174888036218231319209037654636521065991441130257918910443863509912618156610353782465976992713755178756836156668568807142406290497003724335309227425012823183878796945370924527248549802991515558604350838394826570242392012528313675271568520769649276440452505593724182170410306359252030946578147949613462871499243287725653046895126698848208746648360542508356331549312913479196403474247988654653604304106740983612824145033478148770231992647672711106320893956051082416960721975728214942063008162719426083216821426595987090022093515071934929789242920043203166628333422732510844279648213418955941295583458744265147383872704596519406542190153446901201302025873815077108790964814054058872145954579247083511549940631869844917942079316138944926415602591659000055206790487621445521152747997786191904674356489351901336709757328400150239088691800358137686423677664138169650576671608303286101658536056258278457253490549070895360529127140650547551152227997810799511891284628940590972340359006650045120923961042822715972583023303135134267947437627489042747229256091117153038878428307623072872002046841789958588842641198782136406527638910289650615755069337724030776729110455312531172513671639504225452035494480767575726661332303107063775886901808499590688291417611588194312966331439297934194480030937275476779327067421665260983615624346762791183422006927999179582557462860092902669332333691385422623401021540458947358363598741895619930832366590519813876189923588274142228520761634583924716209326914274941892807341806629847148839300839125945002298659731565237889714069963857837128317974387079630074776806247962701229898037836261735004532962832767196716571580161011594740296942596955086934453766508311476413463445630667582707471141463649479224833418288992229581089205140632405781648635880242339590595667663356752710956953338498809952980625062082987843096628052850799411262304047920312952902350867510316609466669577773049812753398259266136054501417113195739426308125708361785672251999716035295747365428933373419766627509658997276855479040124255373252176875714387436009555607906817822194640087265911159391635901626825788244376244865844622073374815338111356857929960333788682834690678587983780160581488104845593962987009367795579576599678101527128767626213638793593630434317908451565689356182223536359851100352763379228355193088527053556091621992546721202838364044456361672160213478763196590821371944608616334594110999873472182154215245495674832559773671607678229058684504813537597827125310819553119095343645225471439424002278042001386215106453299791302963910236509283234654889869597049264547948151757001050211685306051036539225084302394588894051390014054818201678812130394279671239148744525004523883801 352350504140847561595628866745487335293449064877429539422424844428691565693678773569319476111944208600466362811883679382862325463817821117097092151815861417493978012007664784995088339780923082707372880678992764573382867903149449098646414418457286300113691914247043147137294266845780687810622111972174240047944930471763945132481776525756349637587497375911961285611080606010860500504306905205318094824367667408834014229814916421325533034591905578340052650160301665188653129087192452310897853694962907554422609513319667647300243893511213063370458111731648673458216181426561724938395157485166251020121437380056696421800856194637990475275065140642038898152792198009819964442229961465785146392630640033940286562699167092227811298101702945451007035367882087062014760093602353876929660690914444802499551460404183091993603273897713287131928098506414997787586800984511988886316873967894396779378688121549712153246794930763119734455540268643111559284385362281849110341890693469530690796722182540798973930398387863899951863204288237669140611018389976168714744098297322151018833284073430726120504855666145521687631013026713649345689462548916839329848742440033319666773690265618510335126352188307461166957600406331162982764531705785458454944114169424073484849644322665636969770802467909893647253445566846824874253292093842916363864155201513347081133709785390941251492229715213915152055763642310825812370765895830648606423462221081746806714599911168402932626190625901916126371923549511456429970871508528393175797614081958612819014354723883359626537360049107742882091716630522519072355741945833468764039880709992518039316514891939952050349602550315889464379354447430488422994309597829750862237406449884868816580044251074409913177296460468174496954621055017699424504802968119865178895341613345660164098600236379606076283519362822868198100180219496661206137049002106134616051942059119874043466533829226379748736205662626954300882627325777043602665292078890711212367339014565479475647197803070643291871585845321418414564285955547675432496729348403982800303497591080513264959980504683574440735037740958105980024022011456083558429294654723674010346371042658959395034881596215509849166555208001999281581455384948330039851769911395494978570612031808157389799117943319102452415094638305046873641966070340412578674199624994149062159807870721959385837139872916518278748371785580183779851866551878221872374746093375724816997510772570221536077808204881341749290061493615221770721645378416650771028982895267225296892129323039130309524460108475283828101817627528765947922672198231260838702261807085941719728592307524292889550356012512238671532716387001550867221301964920874042402929205733503989944770877790300657837340364063474244059331412688503758933014952008383526063307777867666220123 570115091653051921606161545651358868436203226638479420893615495231242510765108948457355694343263417638120999332949670823992583382728264980607004769972471771276443989000378540173845175937591651514515286969489768297718177130574461921830293215402657224640940464050034662695898617684175514380864503984702553723216498992533594408922229031350073819757907682271213316557658753960473963375806148493043747871262794107682222976463276963833889366141218491819249053634549653843306733391299193294510677839996385703192841505967340358406564787467264145787418833707376888400279189589281151021611978911762238110143530895128631351590099114681193641903398563374549742432440411428775905737813420210050293776503344630459693104889320539129012600127576760528115826332696141120886906048181600960441210631546314647417493539720322036920018876489372287187134888994036443308739548982298180790991230457246298116088445449949862392335486731121257420879217932781281209861056970585135212000426749727809148050212731611694334459525528514447503015432286048468652502303018916759687084457303972196139757245116253442093087878969280655955578450654202692092918718640033992368727170747656392538775737107408468923968993387089597573485239316620813598519601043509489231673224624736604657363315962169862421806296948677469373914777869953888650140193902342507052155572813101541394100041224688875445972260652489391931382831063976086795986390242593439789845469149080926389272062771261305601958524317287338749772945089970403788334470250424013106629980672478426695204278312157501855058121683691667598301043544797460965163083752463315912879181549118463041615174623505189940063672514173726592697328834510118497771115845792452092135444286146603821113007083841606629748876621479769237251563651972786358958569476431341592358787244013242871569741700029085301116937651815097779189385360129066987785684882348474206647609722476626754423487167725189701716830724709942143979255378627843013927596126811024165269689882075796085113867380843693104624984104587554469065703068743414858804855056765768472555497307115809012325409438056994207362547399955382835503062135711456810606170369111110019901978949476781589674968862126669240802456834827787525957700250792952113226585249506851836500572365596840224489796531302882612996582743150640836628975438135992155273877726521277829786021509515553016271457781368083968104554009116543630952219315257450227567834620429280908619503319291424374441852661243013909503540256811812592093589987032985365139982768739407451107374818713962869298131716153512886786322441066363775047983017784379934045907032557381143730870349525679104656809312303541635442952896284785522111171561970138590351080962734554201630076928826839882921642758652368295449345467506705437745145346288054765212052302872190103924 922465595793899483201790412396846203729652291515908960316040339659934076458787722026675170455207626238587362144833350206854908846546086097704096921788333188770422001008043325168933515718514734221888167648482532871101045033723911020476707633859943524754632378297077809833192884529956202191486615956876793771161429464297539541404005557106423457345405058183174602168739359971334463880113053698361842695630461516516237206278193385159422400733124070159301703794851319031959862478491645605408531534959293257615451019287008005706808680978477209157876945439025561858495371015842875960007136396928489130264968275185327773390955309319184117178463704016588640585232609438595870180043381675835440169133984664399979667588487631356823898229279705979122861700578228182901666141783954837370871322460759449917045000124505128913622150387085574319062987500451441096326349966810169677308104425140694895467133571499574545582281661884377155334758201424392769145442332866984322342317443197339838846934914152493308389923916378347454878636574286137793113321408892928401828555601294347158590529189684168213592734635426177643209463680916341438608181188950831698575913187689712205549427373026979259095345575397058740442839722951976581284132749294947686617338794160678142212960284835499391577099416587363021168223436800713524393485996185423416019728014614888475233751010079816697464490367703307083438594706286912608357156138424088396268931370162673195986662682429708534584714943189254876144868639481860218305341758952406282427594754437039514218633036040861481595481732799410480392760175319980037518825698296784676919062259110981080931689515445141990413275064489616057076683281940606920765425443622202954372850736031472637693051334916016542926173081947943734206184706990485783463372444551206771254128857358903035668341936408691377400457014637965977289565579625728193922733884454608822699551781596500797890020996951569450453036387336896444861882704404886616592888205701735377637028896641275560761065183914336396496569949908972883629989024291090291301584405169751272858994898196322277285389942740568648097585140913488815527084147167540369035465023834784030248349992135740984709850458342179089969012042829786807539155635741282153078355160902346815071184397404997614288914474621985065411677381455687710270941508476404733948077351515426891945829380237512402108597654284602246852925794696727410804085867135672099942580713805005725617014091861645910519660866124355658793601750427034362815235365449636136168965664006632747999504141753093178822591824628796714888140068595129722970655216015640772748168839643322863459462657049971994207165324815780306975669283286336389332473526891012632754010168468058191574847806617140540758983122715842539508676880195209196678160298296438291275360080739856324047 1492580687446951404807951958048205072165855518154388381209655834891176587223896670484030864798471043876708361477783021030847492229274351078311101691760804960046865990008421865342778691656106385736403454617972301168819222164298372942307000849262600749395572842347112472529091502214131716572351119941579347494377928456831133950326234588456497277103312740454387918726398113931808427255919202191405590566893255624198460182741470348993311766874342561978550757429400972875266595869790838899919209374955678960808292525254348364113373468445741354945295779146402450258774560605124026981619115308690727240408499170313959124981054424000377759081862267391138383017673020867371775917856801885885733945637329294859672772477808170485836498356856466507238688033274369303788572189965555797812081954007074097334538539844827165833641026876457861506197876494487884405065898949108350468299334882386993011555579021449436937917768393005634576213976134205673979006499303452119534342744192925148986897147645764187642849449444892794957894068860334606445615624427809688088913012905266543298347774305937610306680613604706833598787914335119033531526899828984824067303083935346104744325164480435448183064338962486656313928079039572790179803733792804436918290563418897282799576276247005361813383396365264832395083001306754602174533679898527930468175300827716429869333792234768692143436751020192699014821425770262999404343546381017528186114400519243599585258725453691014136543239260476593625917813729452264006639812009376419389057575426915466209422911348198363336653603416491078078693803720117441002681909450760100589798243808229444122546864138950331930476947578663342649774012116450725418536541289414655046508295022178076458806058418757623172675049703427712971457748358963272142421941920982548363612916101372145907238083636437776678517394666453063756478950939754795181708418766803083029347161504073127552313508164676759152169867112046838588841138083032729630520484332512759542906718778717071645874932564758029501121554054496527352695692093034505150106439461935519745414492205312131289610799380797562855460132540868871651030146282878997179641635392945894050150328941612522574384819320468848330771468877657574333496855886534234266304940410409198651571756763001837838778711005924867678408260124606328546899916946612396889221955078036704721731850889753065418380055435652686214957479803813271041756305182393122327510415334234286634236517411153070284961513527367369568297142007238846954908825352482621501308948432746040199106878960467056048120723540782309601674462509661493498018638233800020706794075872200704007190333006575651098863974637119321942418622179571121911443645088861151223105091131202612393204924735443980423680625881368210834958022347701914634423305644584493056487412383612046427971 2415046283240850888009742370445051275895507809670297341525696174551110663682684392510706035253678670115295723622616371237702401075820437176015198613549138148817287991016465190511712207374621119958291622266454834039920267198022283962783708483122544274150205220644190282362284386744087918763837735898456141265539357921128673491730240145562920734448717798637562520895137473903142891136032255889767433262523717140714697389019663734152734167607466632137852461224252291907226458348282484505327740909914972218423743544541356369820182149424218564103172724585428012117269931620966902941626251705619216370673467445499286898372009733319561876260325971407727023602905630305967646097900183561721174114771313959259652440066295801842660396586136172486361549733852597486690238331749510635182953276467833547251583539969332294747263177263543435825260863994939325501392248915918520145607439307527687907022712592949011483500050054890011731548734335630066748151941636319103856685061636122488825744082559916680951239373361271142412772705434620744238728945836702616490741568506560890456938303495621778520273348240133011241997378016035374970135081017935655765878997123035816949874591853462427442159684537883715054370918762524766761087866542099384604907902213057960941789236531840861204960495781852195416251224743555315698927165894713353884195028842331318344567543244848508840901241387896006098260020476549912012700702519441616582383331889406272781245388136120722671127954203665848502062682368934124224945153768328825671485170181352505723641544384239224818249085149290488559086563895437421040200735149056885266717306067340425203478553654395473920890222643152958706850695398391332339301966733036858000881145758209549096499109753673639715601222785375656705663933065953757925885314365533755134867044958731048942906425572846468055917851681091029733768516519380523375631152651257691852046713285669628350203529161628328602622903499383735033703020787437616247113372538214494920543747675358347206635997748672365897618124004405500236325681117325595441408023867105271018273487103508453566896189323538131503557717681782360466557230430046537548677100416780678080398678933748263559094669778811027420740480920487361141036011522275516419383295571311545466642941160406835453067625480546852743819937506062016257170858455088801623170032429552131613677680269990577820488653089937288461810405598509998452560391049528794427452996048039292359853531503014716195481174393491725227090743757665881317724060717932257637477914096752672947106383102220149226943315365411106316562602578256623220989293449815661479542244711844026870649795663625623093071139961935102249394291462857458300776118615752163855859101299670670584779772542061120964439609004084053374466699227897123831101465942880931347762772464351902752018 3907626970687802292817694328493256348061363327824685722735352009442287250906581062994736900052149713992004085100399392268549893305094788254326300305309943108864153981024887055854490899030727505694695076884427135208739489362320656905090709332385145023545778062991302754891375888958219635336188855840035488759917286377959807442056474734019418011552030539091950439621535587834951318391951458081173023829416972764913157571761134083146045934481809194116403218653653264782493054218073323405246950284870651179232036069795704733933555617869959919048468503731830462376044492226090929923245367014309943611081966615813246023353064157319939635342188238798865406620578651173339422015756985447606908060408643254119325212544103972328496894942992638993600237767126966790478810521715066432995035230474907644586122079814159460580904204140001297331458740489427209906458147865026870613906774189914680918578291614398448421417818447895646307762710469835740727158440939771223391027805829047637812641230205680868594088822806163937370666774294955350684344570264512304579654581411827433755286077801559388826953961844839844840785292351154408501661980846920479833182081058381921694199756333897875625224023500370371368298997802097556940891600334903821523198465631955243741365512778846223018343892147117027811334226050309917873460845793241284352370329670047748213901335479617200984337992408088705113081446246812911417044248900459144768497732408649872366504113589811736807671193464142442127980496098386388231584965777705245060542745608267971933064455732437588154902688565781566637780367615554862042882644599816985856515549875569869326025417793345805851367170221816301356624707514842057757838508022451513047389440780387625555305168172431262888276272488803369677121681424917030068307256286516303498479961060103194850144509209284244734435246347544093490247467459135318557339571418060774881393874789742755902517037326305087754792770611430573622544158870470345877633856870727254463450466454075418852510930313430395398739678058902027589021373210360100591514463329040790763687979308820584856506988704335694359017850222651232117587376712925534728318735809726572130549007875360786133479489099279875751511949798144935474532867408809750685688235981720744118214697923408673291846336486471720422228197630668344804070775401701198512391987507588836335409531159743643238868708525589974676767885402323269494316696231921916754963411382273578994090048914167786480442687920859094795387885764904728272632886070414879138786862529498713146213262062687205275064038906193415918237065087918116719007931683615682186336320584044730877840128670201274191935114599054424191812913642428580212219763704613315078964192430873282977984697277505101388120234885452264209424721575599038465524771587465424404250184847963949179989 6322673253928653180827436698938307623956871137494983064261048183993397914589265455505442935305828384107299808723015763506252294380915225430341498918859081257681441972041352246366203106405348625652986699150881969248659756560342940867874417815507689297695983283635493037253660275702307554100026591738491630025456644299088480933786714879582338746000748337729512960516673061738094209527983713970940457091940689905627854960780797817298780102089275826254255679877905556689719512566355807910574691194785623397655779614337061103753737767294178483151641228317258474493314423847057832864871618719929159981755434061312532921725073890639501511602514210206592430223484281479307068113657169009328082175179957213378977652610399774171157291529128811479961787500979564277169048853464577068177988506942741191837705619783491755328167381403544733156719604484366535407850396780945390759514213497442368825601004207347459904917868502785658039311444805465807475310382576090327247712867465170126638385312765597549545328196167435079783439479729576094923073516101214921070396149918388324212224381297181167347227310084972856082782670367189783471797061864856135599061078181417738644074348187360303067383708038254086422669916564622323701979466877003206128106367845013204683154749310687084223304387928969223227585450793865233572388011687954638236565358512379066558468878724465709825239233795984711211341466723362823429744951419900761350881064298056145147749501725932459478799147667808290630043178467320512456530119546034070732027915789620477656706000116676812973151773715072055196866931510992283083083379748873871123232855942910294529503971447741279772257392864969260063475402913233390097140474755488371048270586538597174651804277926104902603877495274179026382785614490870787994192570652050058633347006018834243793050934782130712790353098028635123224015983978515841932970724069318466733440588075412384252720566487933416357415674110814308656247179657907962124747229408941749383994214129433766059146928062102761296357802063307527825347054327685696032922487196146061781961466412329038423403178027873825862575567904433592584144607142972072276995836226507250210947686809109049692574158878090903172252430718632296615568878931085267105071531553032289584857639083815508744913961967018573166048135136730361061241633856790000135562019937140967949087211429734221059357361615527263138578291000833267946877087281450711182416407430312871353943580417182502675923862314350820022478629522570609590356946788347136776264776626251386093319645164907354502007354271604522234799667666174739939997225133431343665878565295888757748489924333826897285006254560989526441207205105286038512995882320365478934823293730543953562764469819566222352559843889536317583891420803496162296626237530346355752012957312315851932007 10230300224616455473645131027431563972018234465319668786996400193435685165495846518500179835357978098099303893823415155774802187686010013684667799224169024366545595953066239302220694005436076131347681776035309104457399245922663597772965127147892834321241761346626795792145036164660527189436215447578527118785373930677048288375843189613601756757552778876821463400138208649573045527919935172052113480921357662670541012532541931900444826036571085020370658898531558821472212566784429131315821641479656274576887815684132765837687293385164138402200109732049088936869358916073148762788116985734239103592837400677125778945078138047959441146944702449005457836844062932652646490129414154456934990235588600467498302865154503746499654186472121450473562025268106531067647859375179643501173023737417648836423827699597651215909071585543546030488178344973793745314308544645972261373420987687357049744179295821745908326335686950681304347074155275301548202468823515861550638740673294217764451026542971278418139417018973599017154106254024531445607418086365727225650050731330215757967510459098740556174181271929812700923567962718344191973459042711776615432243159239799660338274104521258178692607731538624457790968914366719880642871067211907027651304833476968448424520262089533307241648280076086251038919676844175151445848857481195922588935688182426814772370214204082910809577226204073416324422912970175734846789200320359906119378796706706017514253615315744196286470341131950732758023674565706900688115085323739315792570661397888449589770455849114401128054462280853621834647299126547145125966024348690856979748405818480163855529389241087085623624563086785561420100110428075447854978982777939884095660027318984800207109446098536165492153767762982396059907295915787818062499826938566362131826967078937438643195443991414957524788344376179216714263451437651160490310295487379241614834462865155140155237603814238504112208444722244882278791338528378308002381086279669003847444680583509184911657858375533156695097480122209555414368427538045796624436950525186852545649445721149623279910166732209520221593418127084824701731983855897607005314572036233822341496694684469835826053647977370778923764380516777232090101746339895017790759767534753033703072337007224182036760298453490293588276332767398705865312409258491198647954007444729804284496742589477864298226070141117237815346176403156537441193783513372627937379818812586450348033629331350289156366550235209914817866515287475337862989832858762015915051639155750099239532907227594559777071393177797938153036732754092856659005156817047025852214885879933488626330053004028171476941369160043950633020118747714618725215646024978794013787486161417236540749167097071323740680078774988581793316142379095200762151009117811780156263142160279801111996 16552973478545108654472567726369871595975105602814651851257448377429083080085111974005622770663806482206603702546430919281054482066925239115009298143028105624227037925107591548586897111841424757000668475186191073706059002483006538640839544963400523618937744630262288829398696440362834743536242039317018748810830574976136769309629904493184095503553527214550976360654881711311139737447918886023053938013298352576168867493322729717743606138660360846624914578409464378161932079350784939226396332674441897974543595298469826941441031152458316885351750960366347411362673339920206595652988604454168263574592834738438311866803211938598942658547216659212050267067547214131953558243071323466263072410768557680877280517764903520670811478001250261953523812769086095344816908228644220569351012244360390028261533319381142971237238966947090763644897949458160280722158941426917652132935201184799418569780300029093368231253555453466962386385600080767355677779206091951877886453540759387891089411855736875967684745215141034096937545733754107540530491602466942146720446881248604082179734840395921723521408582014785557006350633085533975445256104576632751031304237421217398982348452708618481759991439576878544213638830931342204344850534088910233779411201321981653107675011400220391464952668005055474266505127638040385018236869169150560825501046694805881330839092928548620634816460000058127535764379693538558276534151740260667470259861004762162662003117041676655765269488799759023388066853033027413144645204869773386524598577187508927246476455965791214101206235995925677031514230637539428209049404097564728102981261761390458385033360688828365395881955951754821483575513341308837952119457533428255143930613857581974858913724024641068096031263037161422442692910406658606056692397590616420765173973097771682436246378773545670315141442404814339938279435416167002423281019556697708348275050940567524407958170302171920469624118833059190935038518186286270127128315688610753231438894712942950970804786437635917991455282185517083239715481865731492657359437721332914327610912133478661703313344760083346084168986031518417285876590998869679282310408262741072552444381493578885518627806855461682096016811235409528705670625270980284895831299087785323287929976091039690781674260420508866754324467904129066926554043115281198783516027381870772233583954019212085357583431756644500953924467403989805388070870794823339119796226242899321701977209748532791832290412549560734840345144810045947453346779647109152691316415782001485332852552392501914279078747449402460387836400420267596599002381950478369518093451175822246374819977337855068761947623721033477074227323853000657238211528345344272948610779891961190103513636916637546093239922664524899377207563182591363058777246648158135908276099472595653044003 26783273703161564128117698753801435567993340068134320638253848570864768245580958492505802606021784580305907596369846075055856669752935252799677097367197129990772633878173830850807591117277500888348350251221500178163458248405670136413804672111293357940179505976889084621543732605023361932972457486895545867596204505653185057685473094106785852261106306091372439760793090360884185265367854058075167418934656015246709880025864661618188432175231445866995573476941023199634144646135214070542217974154098172551431410982602592779128324537622455287551860692415436348232032255993355358441105590188407367167430235415564090811881349986558383805491919108217508103911610146784600048372485477923198062646357158148375583382919407267170465664473371712427085838037192626412464767603823864070524035981778038864685361018978794187146310552490636794133076294431954026036467486072889913506356188872156468313959595850839276557589242404148266733459755356068903880248029607813428525194214053605655540438398708154385824162234114633114091651987778638986137909688832669372370497612578819840147245299494662279695589853944598257929918595803878167418715147288409366463547396661017059320622557229876660452599171115503002004607745298062084987721601300817261430716034798950101532195273489753698706600948081141725305424804482215536464085726650346483414436734877232696103209307132631531444393686204131543860187292663714293123323352060620573589638657711468180176256732357420852051739829931709756146090527598734313832760290193512702317169238585397376836246911814905615229260698276779298866161529764086573335015428446255585082729667579870622240562749929915451019506519038540382903675623769384285807098440311368139239590641176566775066023170123177233588185030800143818502600206322446424119192224529182782897000940176709121079441822764960627839929786780993556652542886853818162913591315044076949963109513805722664563195774116410424581832563555304073213829856714664578129509401968279757078883575296452135882462644813169074686552762307726638654083909403777289281796388246519766873260357854628284983223511492292866305762404158603241987608574854767286287624980298974894893941076178048721344681454832832461019781191752186760795772371610875302686591066622538356991002313098263872818434558873999160342600800671527772791866452373772397431470034826600576518080696608689949655809501897761738769270643807146342829264654308195967057176045055485772050010839079883080988656962784770649658211660097521285316336612505871168606368054937751584572385459620096474056150140627200398540873133174360453258007538767525395370308337055755735001150030341883240238888992881077427707247442600715275963427174370323066962398266053378426644262804013708869833920001439513481170523705561686563820928255765969916064539241632875454155999 43336247181706672782590266480171307163968445670948972489511296948293851325666070466511425376685591062512511298916276994336911151819860491914686395510225235614999671803281422399394488229118925645349018726407691251869517250888676675054644217074693881559117250607151373450942429045386196676508699526212564616407035080629321826995102998599969947764659833305923416121447972072195325002815772944098221356947954367822878747519187391335932038313891806713620488055350487577796076725485999009768614306828540070525975006281072419720569355690080772172903611652781783759594705595913561954094094194642575630742023070154002402678684561925157326464039135767429558370979157360916553606615556801389461135057125715829252863900684310787841277142474621974380609650806278721757281675832468084639875048226138428892946894338359937158383549519437727557777974243890114306758626427499807565639291390056955886883739895879932644788842797857615229119845355436836259558027235699765306411647754812993546629850254445030353508907449255667211029197721532746526668401291299611519090944493827423922326980139890584003216998435959383814936269228889412142863971251865042117494851634082234458302971009938495142212590610692381546218246576229404289332572135389727495210127236120931754639870284889974090171553616086197199571929932120255921482322595819497044239937781572038577434048400061180152079210146204189671395951672357252851399857503800881241059898518716230342838259849399097507817009318731468779534157380631761726977405495063286088841767815772906304082723367780696829330466934272704975897675760401626001544064832543820313185710929341261080625596110618743816415388474990295204387251137110693123759217897844796394383521255034148749924936894147818301684216293837305240945293116729105030175884622119799203662174913274480803515688201538506298155071229185807896590822322269985165336872334600774658311384564746290188971153944418582345051456682388363264148868374900950848256637717656890510310322470009395086853267431250804992678008044493243721893799391269508781939155825967852681200871269988106946686536856252376212389931390190121659273485165853636965569935388561715967446385457671627606863309261688294143115798002987596289501442996881855587582422365710323680278932289189303563600108819294508027096925268575656839718420495489053596214986062208471348751664650627902035013392933654406239723195111211136148217335525103019306176972271298385093751988048828415872820947375334331384498556804907567232769683392152980321297684470719753069905238012012598388335228888076602858928709533594628049857009920718003764888401788231577981375970007679738309000836616602110904781474766453715933201638702715667339911009045945339616747776440930346415927159924104038380547731268744277926879705502414128051972815341105471107200002 70119520884868236910707965233972742731961785739083293127765145519158619571247028959017227982707375642818418895286123069392767821572795744714363492877422365605772305681455253250202079346396426533697368977629191430032975499294346811468448889185987239499296756584040458072486161650409558609481157013108110484003239586282506884680576092706755800025766139397295855882241062433079510268183627002173388775882610383069588627545052052954120470489123252580616061532291510777430221371621213080310832280982638243077406417263675012499697680227703227460455472345197220107826737851906917312535199784830982997909453305569566493490565911911715710269531054875647066474890767507701153654988042279312659197703482873977628447283603718055011742806947993686807695488843471348169746443436291948710399084207916467757632255357338731345529860071928364351911050538322068332795093913572697479145647578929112355197699491730771921346432040261763495853305110792905163438275265307578734936841968866599202170288653153184739333069683370300325120849709311385512806310980132280891461442106406243762474225439385246282912588289903982072866187824693290310282686399153451483958399030743251517623593567168371802665189781807884548222854321527466374320293736690544756640843270919881856172065558379727788878154564167338924877354736602471457946408322469843527654374516449271273537257707193811683523603832408321215256138965020967144523180855861501814649537176427698523014516581756518359868749148663178535680247908230496040810165785256798791158937054358303680918970279595602444559727632549484274763837290165712574879080260990075898268440596921131702866158860548659267434894994028835587290926760880077409566316338156164533623111896210715524990960064270995535272401324637449059447893323051551454295076846648981986559175853451189924595130024303466925995001015966801453243365209123803328250463649644851608274494078552012853534349718534992769633289245943667337362698231615615426386147119625170267389206045305847222735730076063974067364560806800970360547883300673286071220952214214372448074131627842735231669760367744669078695693794348724901261093740708404251857560368860690862340326533849676328207990716521126604135579194739783050297215368492730890269013432332862037269934602287567436418543378168507187439526069247184612510286947862825993646456097035071925269745347236591984669202435552167978492465755018282491046600179411215273234148316353870865801998887908298953809604338119102034156768465005088518086020004658851489904052525657504654477623471632694862391379028703803257469582666768988503115017459485529160258710125287333716377120038021621549239725609483188332488722209054431209165065877085990406873407311998718043392039244944055285761079925543551861718254974305964490700633758180097968037354582738346561356001 113455768066574909693298231714144049895930231410032265617276442467452470896913099425528653359392966705330930194202400063729678973392656236629049888387647601220771977484736675649596567575515352179046387704036882681902492750183023486523093106260681121058414007191191831523428590695795755285989856539320675100410274666911828711675679091306725747790425972703219272003689034505274835270999399946271610132830564750892467375064239444290052508803015059294236549587641998355226298097107212090079446587811178313603381423544747432220267035917783999633359083997979003867421443447820479266629293979473558628651476375723568896169250473836873036733570190643076624845869924868617707261603599080702120332760608589806881311184288028842853019949422615661188305139649750069927028119268760033350274132434054896650579149695698668503913409591366091909689024782212182639553720341072505044784938968986068242081439387610704566135274838119378724973150466229741422996302501007344041348489723679592748800138907598215092841977132625967536150047430844132039474712271431892410552386600233667684801205579275830286129586725863365887802457053582702453146657651018493601453250664825485975926564577106866944877780392500266094441100897756870663652865872080272251850970507040813610811935843269701879049708180253536124449284668722727379428730918289340571894312298021309850971306107254991835602813978612510886652090637378219995923038359662383055709435695143928865852776431155615867685758467394647315214405288862257767787571280320084880000704870131209985001693647376299273890194566822189250661513050567338576423145093533896211454151526262392783491754971167403083850283469019130791678177897990770533325534236000960928006633151244864274915896958418813836956617618474754300393186439780656484470961468768781190221350766725670728110818225841973224150072245152609349834187531393788493587335984245626266585878643298303042505503662953575114684745928332030601511566606516566274642784837282060777699528515315242309588997507314779060042568851294214082441682691942794853160108040182225129275002897830842178356297223997045291085625184538846560534578906562041217427495757422406829786711991521303935071299978209420747251377197727379339798658365374586477851435798043185717548866891476871000018652197463015214536451337822841452228707443351879589861442159243543274021409997864494019682595369206574218215660866229418639263935704514234579411120587652255959553986936736714826630551713453433418655325269912655750855703396811831811201736996377257724382861483645293250726607916780406116398292200363616552972027380203532925147111913518911697753090045701359858240562226085299237270196975508147142366704579801657746784416357944057660139815685874401701688239849647590242265986243050242417580339260594226020010169923843817668556003 183575288951443146604006196948116792627892017149115558745041587986611090468160128384545881342100342348149349089488523133122446794965451981343413381265069966826544283166191928899798646921911778712743756681666074111935468249477370297991541995446668360557710763775232289595914752346205313895471013552428785584413514253194335596356255184013481547816192112100515127885930096938354345539183026948444998908713175133962056002609291497244172979292138311874852611119933509132656519468728425170390278868793816556680787840808422444719964716145487227093814556343176223975248181299727396579164493764304541626560929681293135389659816385748588747003101245518723691320760692376318860916591641360014779530464091463784509758467891746897864762756370609347996000628493221418096774562705051982060673216641971364408211405053037399849443269663294456261600075320534250972348814254645202523930586547915180597279138879341476487481706878381142220826455577022646586434577766314922776285331692546191950970427560751399832175046815996267861270897140155517552281023251564173302013828706639911447275431018661076569042175015767347960668644878275992763429344050171945085411649695568737493550158144275238747542970174308150642663955219284337037973159608770817008491813777960695466984001401649429667927862744420875049326639405325198837375139240759184099548686814470581124508563814448803519126417811020832101908229602399187140446219215523884870358972871571627388867293012912134227554507616057825850894653197092753808597737065576883671159641924489513665920663926971901718449922199371673525425350340733051151302225354523972109722592123183524486357913831716062351285178463047966378969104658870847942891850574157125461629745047455579799906857022689809372229018943112203359841079762832207938766038315417763176780526620176860652705948250145440150145073261119410803077552740517591821837799633890477874860372721850315896039853381488567884318035174275697938874264838132181701028931956907231045088734560621089532324727583378753127407129658095184442989565992616080924381060254396597577349134525673577410026057591741714369781318978887571461795672647270445469285056126283097692127038525370980263279290694730547351386956392467162390095873733867317368120449230376047754818801493764438436437195575631522401975977407070026064738994391214705583507898256278615199291155345101086004351797804758742196708126621247701130310535883925449852645268904006126825355985824645013780440156051572535452812093734917744268941723401470683301105789522034762378860484955277988113117986945484209373867874867132605056087044839689062085405822038806245414130210083722981407480287835568487569758919184562578351531770456887648153657823669942775703531854930818456987449319775191142103984241217356206908280973018774323988047524506582164229912004 297031057018018056297304428662260842523822248559147824362318030454063561365073227810074534701493309053480279283690923196852125768358108217972463269652717568047316260650928604549395214497427130891790144385702956793837960999660393784514635101707349481616124770966424121119343343042001069181460870091749460684823788920106164308031934275320207295606618084803734399889619131443629180810182426894716609041543739884854523377673530941534225488095153371169089160707575507487882817565835637260469725456604994870284169264353169876940231752063271226727173640341155227842669624747547875845793787743778100255212406057016704285829066859585461783736671436161800316166630617244936568178195240440716899863224700053591391069652179775740717782705793225009184305768142971488023802681973812015410947349076026261058790554748736068353356679254660548171289100102746433611902534595717707568715525516901248839360578266952181053616981716500520945799606043252388009430880267322266817633821416225784699770566468349614925017023948622235397420944570999649591755735522996065712566215306873579132076636597936906855171761741630713848471101931858695216576001701190438686864900360394223469476722721382105692420750566808416737105056117041207701626025480851089260342784285001509077795937244919131546977570924674411173775924074047926216803870159048524671442999112491890975479869921703795354729231789633342988560320239777407136369257575186267926068408566715556254720069444067750095240266083452473166109058485955011576385308345896968551160346794620723650922357574348200992340116766193862776086863391300389727725370448057868321176743649445917269849668802883465435135461932067097170647282556861618476217384810158086389636378198700444074822753981108623209185636561586957660234266202612864423236999784186544367001877386902531380816766475987413374295145506272020152911740271911380315425135618136104141446251365148618938545357044442142999002781102607728540385831444648747975671716794189291822788263075936331841913725090693532187449698509389398525431248684558875777541168294578822706624137423504419588382354815738759660866944163426418022330251553832486686712551883705504521913750516892284198350590672939968098638333590194541729894532099241903845971885028419233472367668385241309436455847773094537616512428744892867516967701834566585173369340415522158473312565342965580024034393173965316414923787487477119769574471588439684432056389491658382784909972761381728607070707765025968871467419004830400019797426798282515112307526518412020103243346438923281363844594862264615490266167067496221609059072219892595010552933952325157111883300129424341265720850061653786807029116160070725493898475036689305900442240027886833363671670616692858689137559624838732346250227460406449325861312279368550008057694430425981898468007 480606345969461202901310625610377635151714265708263383107359618440674651833233356194620416043593651401629628373179446329974572563323560199315876650917787534873860543817120533449193861419338909604533901067369030905773429249137764082506177097154017842173835534741656410715258095388206383076931883644178246269237303173300499904388189459333688843422810196904249527775549228381983526349365453843161607950256915018816579380282822438778398467387291683043941771827509016620539337034564062430860004325398811426964957105161592321660196468208758453820988196684331451817917806047275272424958281508082641881773335738309839675488883245334050530739772681680524007487391309621255429094786881800731679393688791517375900828120071522638582545462163834357180306396636192906120577244678863997471620565717997625467001959801773468202799948917955004432889175423280684584251348850362910092646112064816429436639717146293657541098688594881663166626061620275034595865458033637189593919153108771976650740994029101014757192070764618503258691841711155167144036758774560239014580044013513490579352067616597983424213936757398061809139746810134687980005345751362383772276550055962960963026880865657344439963720741116567379769011336325544739599185089621906268834598062962204544779938646568561214905433669095286223102563479373125054179009399807708770991685926962472099988433736152598873855649600654175090468549842176594276815476790710152796427381438287183643587362456979884322794773699510299017003711683047765384983045411473852222319988719110237316843021501320102710790038965565536301512213732033440879027595802581840430899335772629441756207582634599527786420640395115063549616387215732466419109235384315211851266123246156023874729611003798432581414655504699161020075345965445072362003038099604307543782404007079392033522714726132853524440218767391430955989293012428972137262935252026582016306624086998934834585210425930710883320816276883426479260096282780929676700648751096522867876997636557421374238452674072285314856828167484582968420814677174956701922228548975420283973271949177996998408412407480474030648263142313989484125924201102932155997608009988602214040789042263264461629881367670515450025289982661704119990405833109221214092334258795281227186469879005747872893043348726060018488406151962893581706696225781290756877238671800773672603720688066666028386190978724058611631914108724820899885007472365134284701658395664509610265958586026742387510863816598504324279512739748144288739150199753198413413316040446782482103831394201269476962581807748824864134041934628826665146117059581657095958755991131402526013510213147322673201137897222274376788035344633303845430245493576954054100063697829609067203525547511315676586879400029874450234468677762656234142285298142873996105218937008146128380011 777637402987479259198615054272638477675536514267411207469677648894738213198306584004694950745086960455109907656870369526826698331681668417288339920570505102921176804468049137998589075916766040496324045453071987699611390248798157867020812198861367323789960305708080531834601438430207452258392753735927706954061092093406664212420123734653896139029428281707983927665168359825612707159547880737878216991800654903671102757956353380312623955482445054213030932535084524108422154600399699691329729782003806297249126369514762198600428220272029680548161837025486679660587430794823148270752069251860742136985741795326543961317950104919512314476444117842324323654021926866191997272982122241448579256913491570967291897772251298379300328167957059366364612164779164394144379926652676012882567914794023886525792514550509536556156628172615552604178275526027118196153883446080617661361637581717678276000295413245838594715670311382184112425667663527422605296338300959456411552974524997761350511560497450629682209094713240738656112786282154816735792494297556304727146259320387069711428704214534890279385698499028775657610848741993383196581347452552822459141450416357184432503603587039450132384471307924984116874067453366752441225210570472995529177382347963713622575875891487692761883004593769697396878487553421051270982879558856233442434685039454363075468303657856394228584881390287518079028870081954001413184734365896420722495790005002739898307431901047634418035039782962772183112770169002776961368353757370820773480335513730960967765379075668303703130155731759399077599077123333830606752966250639708752076079422075359026057251437482993221556102327182160720263669772594084895326620194473298240902501444856467949552364984907055790600292066286118680309612168057936785240037883790851910784281393981923414339481202120266898735364273663451108901033284340352452688070870162686157752875452147553773130567470372853882323597379491155019645927727429677652372365545285814690665260712493753216152177764765817502306526676873981493852063361733832479463396843554242990597409372682416586790767223219233691515207305740407506456175754935418842710159893694106735954539559155548659980472040610483548663623572856245849884937932351125060064219287214514699554138264247057309348891121820597635000834896855761098674398060347875930246579087322932145916286031032246052420584152689375026555701596201940669459479060804818716758047887322892395175931347408470994581571581624473195746931744578544308536576998035713525720842558858802585347177833124550840807176670013440354400209002125048274205189279474252106511689943456559637896810342571663938921987958876061183817151504704029339328720530266259954542303725716442430875196164204174365724439024868606796484696138169105560003597577511424004162913367434128026848018 1258243748956940462099925679883016112827250779975674590577037267335412865031539940199315366788680611856739536030049815856801270895005228616604216571488292637795037348285169671447782937336104950100857946520441018605384819497935921949526989296015385165963795840449736942549859533818413835335324637380105953223298395266707164116808313193987584982452238478612233455440717588207596233508913334581039824942057569922487682138239175819091022422869736737256972704362593540728961491634963762122189734107402617724214083474676354520260624688480788134369150033709818131478505236842098420695710350759943384018759077533636383636806833350253562845216216799522848331141413236487447426367769004042180258650602283088343192725892322821017882873630120893723544918561415357300264957171331540010354188480512021511992794474352283004758956577090570557037067450949307802780405232296443527754007749646534107712640012559539496135814358906263847279051729283802457201161796334596646005472127633769738001252554526551644439401165477859241914804627993309983879829253072116543741726303333900560290780771831132873703599635256426837466750595552128071176586693203915206231418000472320145395530484452696794572348192049041551496643078789692297180824395660094901798011980410925918167355814538056253976788438262864983619981051032794176325161888958663942213426370966416835175456737394008993102440530990941693169497419924130595690000211156606573518923171443289923541894794358027518740829813482473071200116481852050542346351399168844672995800324232841198284608400576988406413920194697324935379111290855367271485780562053221549182975415194704800782264834072082521007976742722297224269880056988326551314435855578788510092168624691012491824281975988705488372014947570985279700384958133503009147243075983395159454566685401061315447862195928253120423175583041054882064890326296769324589951006122189268174059499539146488607715777896303564765644413656374581498906024010210607329073014296382337558542258349051174590390630438838102817163354844358564462272878038908789181385625392529663274570681321860413585199179630699707722163470448054396990582099956038350998707767903682708949995328601418813121610353408280998998688913555517949969875343765460346274156553546009795926740608143252805182241934470546657653489241048818654680381094286129166687123817759123705818520006719098912080806775131413433638187615704926761569344486533169953001459706282987402005441889933435213382092435398222977520026444484326688597275727197788911939134158599305585067451009227325820317769758477762265218534250936753874939351306339055909202470445934587962163910320555718986612123125856098335560605186849337333184758966023843214008642367423546051498078721711715490042311318424898481246719164815931761794145882875654298000268132304442274155228029 2035881151944419721298540734155654590502787294243085798046714916230151078229846524204010317533767572311849443686920185383627969226686897033892556492058797740716214152753218809446372013252870990597181991973513006304996209746734079816547801494876752489753756146157817474384460972248621287593717391116033660177359487360113828329228436928641481121481666760320217383105885948033208940668461215318918041933858224826158784896195529199403646378352181791470003636897678064837383646235363461813519463889406424021463209844191116718861052908752817814917311870735304811139092667636921568966462420011804126155744819328962927598124783455173075159692660917365172654795435163353639423640751126283628837907515774659310484623664574119397183201798077953089909530726194521694409337097984216023236756395306045398518586988902792541315113205263186109641245726475334920976559115742524145415369387228251785988640307972785334730530029217646031391477396947329879806458134635556102417025102158767499351764115024002274121610260191099980570917414275464800615621747369672848468872562654287630002209476045667763982985333755455613124361444294121454373168040656468028690559450888677329828034088039736244704732663356966535613517146243059049622049606230567897327189362758889631789931690429543946738671442856634681016859538586215227596144768517520175655861056005871198250925041051865387331025412381229211248526290006084597103184945522502994241418961448292663440202226259075153158864853265435843383229252021053319307719752926215493769280659746572159252373779652656710117050350429084334456710367978701102092533528303861257935051494616780159808322085509565514229532845049479384990143726760920636209762475773261808333071126135868959773834340973612544162615239637271398380694570301560945932483113867186011365350966795043238862201677130373387321910947314718333173791359581109677042639076992351954331812374991294042380846345366676418647968011035865736518551951737640284981445379841668152249207519061544927806542808203603920319469881521232545956124941400642621660849022236083906265168090694542830171989946853918941413678677753794804497038275710973769841417927797376815685949868160574361781590825448891482547352537128374195819760281697811471334220772833224310626294746407499862491590825592367255288490075945674415779055492346477042617370396846446637964436292750131158133227359284102808664743317301128702238803965593974771718217754170310294400617821280843684376674006979847450715773376228905232905812304195824625464855001158164387652798187060450371158576935147775705572934459938878923213556495618530161308982135878044521801807130898290650551045113814974396744422338354041362524087686554109473963184671149262493928953917875919664408035757449767088043203860954100867354149480453165722004431045671876402182076047 3294124900901360183398466414038670703330038074218760388623752183565563943261386464403325684322448184168588979716970001240429240121692125650496773063547090378511251501038388480894154950588975940698039938493954024910381029244670001766074790790892137655717551986607554416934320506067035122929042028496139613400657882626820992446036750122629066103933905238932450838546603536240805174177374549899957866875915794748646467034434705018494668801221918528726976341260271605566345137870327223935709197996809041745677293318867471239121677597233605949286461904445122942617597904479019989662172770771747510174503896862599311234931616805426638004908877716888020985936848399841086850008520130325809096558118057747653677349556896940415066075428198846813454449287609878994674294269315756033590944875818066910511381463255075546074069782353756666678313177424642723756964348038967673169377136874785893701280320532324830866344388123909878670529126231132337007619930970152748422497229792537237353016669550553918561011425668959222485722042268774784495451000441789392210598865988188190292990247876800637686584969011882450591112039846249525549754733860383234921977451360997475223564572492433039277080855406008087110160225032751346802874001890662799125201343169815549957287504967600200715459881119499664636840589619009403921306657476184117869287426972288033426381778445874380433465943372170904418023709930215192793185156679109567760342132891582586982097020617102671899694666747908914583345733873103861654071152095060166765080983979413357536982180229645116530970545126409269835821658834068373578314090357082807118026909811484960590586919581648035237509587771776609260023783749247187524198331352050318425239750826881451598116316962318032534630187208256678081079528435063955079726189850581170819917652196104554310063873058626507745086530355773215238681685877879001632590083114541222505871874530440530988562123262979983413612424692240318017457975747850892310518394138050489807749777410596102396933438642442023136633236365591110418397819439551410842234647628613569539738772016403243757189126484618649135842148201849201487620375667012120840125695701059524635945196761993174903201178857172481546041450683892145789635625463271817608377326379234106553035354550752667673832760062913912941979316994493070459436586632606209304494214605570343782956299469230070214034134415516242302930933006055463808148452127144724719677460453297696406059711214278897758766442378070428235799820713231921503088031393613537403989159757469972720249196287776191476346693625537970791468710875632798152907801957586070511452581812632483965717451454009637163168239671072732305027525203378695708846652577952687971827038572808545427032639587635154450347075874665569289923025770032629148295363328820020004699177976318676337304076 5330006052845779904697007148194325293832825368461846186670467099795715021491232988607336001856215756480438423403890186624057209348379022684389329555605888119227465653791607290340526963841846931295221930467467031215377238991404081582622592285768890145471308132765371891318781478315656410522759419612173273578017369986934820775265187051270547225415571999252668221652489484274014114845835765218875908809774019574805251930630234217898315179574100320196979978157949670403728784105690685749228661886215465767140503163058587957982730505986423764203773775180427753756690572115941558628635190783551636330248716191562238833056400260599713164601538634253193640732283563194726273649271256609437934465633832406964161973221471059812249277226276799903363980013804400689083631367299972056827701271124112309029968452157868087389182987616942776319558903899977644733523463781491818584746524103037679689920628505110165596874417341555910062006523178462216814078065605708850839522331951304736704780784574556192682621685860059203056639456544239585111072747811462240679471428642475820295199723922468401669570302767338063715473484140370979922922774516851263612536902249674805051598660532169283981813518762974622723677371275810396424923608121230696452390705928705181747219195397144147454131323976134345653700128205224631517451425993704293525148482978159231677306819497739767764491355753400115666549999936299789896370102201612562001761094339875250422299246876177825058559520013344757966574985894157180961790905021275660534361643725985516789355959882301826648020895555493604292532026812769475670847618660944065053078404428265120398909005091213549467042432821255994250167510510167823733960807125312126758310876962750411371950657935930576697245426845528076461774098736624901012209303717767182185268618991147793172265550188999895066997477670491548412473045458988678675229160106893176837684249521734573369408468629656402061580435728106054536009927485491177291963773979718642056957296472141030203476246846045943456103117886823656374522760840194032503083669864697475804906862710946073929179073338537590549520825955644005984658651377985890681543623498436340321895064922567536684792004306063964093393987812266341609395907161083288942598099212458417179330100958252530165423585655281168230469392940167486238492078979083251921864611452016981747392592219361228347261493699619050967674250307184166046952417721119496437895214623607990806677532495122582135440449357917878951573196942137154408900335589438162868844160915634360373047383348226562634923628773313676364403170814511721366464297576116231820434717690677005767524582352300287714213353486047129049449863557420058232934339132062161935011709722071039355986557463554818858382833324432657333126886724133496502444843781985742009130223648195078519380123 8624130953747140088095473562232995997162863442680606575294219283361278964752619453010661686178663940649027403120860187864486449470071148334886102619152978497738717154829995771234681914430822871993261868961421056125758268236074083348697383076661027801188860119372926308253101984382691533451801448108312886978675252613755813221301937173899613329349477238185119060199093020514819289023210315118833775685689814323451718965064939236392983980796018848923956319418221275970073921976017909684937859883024507512817796481926059197104408103220029713490235679625550696374288476594961548290807961555299146504752613054161550067988017066026351169510416351141214626669131963035813123657791386935247031023751890154617839322778368000227315352654475646716818429301414279683757925636615728090418646146942179219541349915412943633463252769970699442997872081324620368490487811820459491754123660977823573391200949037434996463218805465465788732535649409594553821697996575861599262019561743841974057797454125110111243633111529018425542361498813014369606523748253251632890070294630664010588189971799269039356155271779220514306585523986620505472677508377234498534514353610672280275163233024602323258894374168982709833837596308561743227797610011893495577592049098520731704506700364744348169591205095634010290540717824234035438758083469888411394435909950447265103688597943614148197957299125571020084573709866514982689555258880722129762103227231457837404396267493280496958254186761253672549920719767261042615862057116335827299442627705398874326338140111946943178991440681902874128353685646837849249161709018026872171105314239750080989495924672861584704552020593032603510191294259415011258159138477362445183550627789631862970066974898248609231875614053784754542853627171688856091935493568348353005186271187252347482329423247626402812084008026264763651154731336867680307819243221434399343556124052175104357970591892636385475192860420346372553467903233342069602482168117769131864707073882737132600409685488487966592736354252414766792920580279745443345318317493311045344645634727349317686368199823156239685362974157493207472279027044998011521669319199495864957840261684560711587993183163236445639435438496158487399031532624355106550975425591692523732365455509005197839256345718195081172448709934660556697928665611689461226358826057587325530348891688591298561295628115135293270605183313239629855100869848264221157572675076905687212737243709401479894206891735988307187373017655369075911988366983051700272833320673104333093296579636002754111270322398851647155871881690144519519372099533702302331887299503309489733242033806309924877381593157119861354477388760798753941780991710014849906838748294879584783019197051189973308729909199098226623049912494166125650740207110805762013829401624513754856684199 13954137006592919992792480710427321290995688811142452761964686383156993986243852441617997688034879697129465826524750374488543658818450171019275432174758866616966182808621603061575208878272669803288483799428888087341135507227478164931319975362429917946660168252138298199571883462698347943974560867720486160556692622600690633996567124225170160554765049237437787281851582504788833403869046080337709684495463833898256970895695173454291299160370119169120936297576170946373802706081708595434166521769239973279958299644984647155087138609206453477694009454805978450130979048710903106919443152338850782835001329245723788901044417326626064334111954985394408267401415526230539397307062643544684965489385722561582001295999839060039564629880752446620182409315218680372841557003915700147246347418066291528571318367570811720852435757587642219317430985224598013224011275601951310338870185080861253081121577542545162060093222807021698794542172588056770635776062181570450101541893695146710762578238699666303926254797389077628599000955357253954717596496064713873569541723273139830883389695721737441025725574546558578022059008126991485395600282894085762147051255860347085326761893556771607240707892931957332557514967584372139652721218133124192029982755027225913451725895761888495623722529071768355944240846029458666956209509463592704919584392928606496780995417441353915962448654878971135751123709802814772585925361082334691763864321571333087826695514369458322016813706774598430516495705661418223577652962137611487833804271431384391115694099994248769827012336237396478420885712459607324920009327678970937224183718668015201388404929764075134171594453414288597760358804769582834992119945602674571941861504752382274342017632834179185929121040899312831004627725908313757104144797286115535190454890178400140654594973436626297879081485696756312063627776795856358983048403328327576181240373573909677727379060522292787536773296148452427089477830718833246894445942097487773921664370354878162803885932334533910048839472139238423167443341119939475848401987358008521149552497438295391615547273161693830234883800113137213456937678422983902203212942697932205279735326607128248272785187469300409732829426308424829008427439785438395493573524804150940911695556467257728004679931373476249402918102874828042936420744590772713148223437509604307277741483907952526908557121814754344238279433620423795902053287569383717595467889700513678019414776204524062029647341093906186138946214597506230320888702572489863141677481588738693466343962984229316746193951172165323520275052504656240885836397109818534152322017193986495500766616158610212591594946643166990403927252318218812174715330842077011841850458016950624139005754514744792167112742523530883956176799218299622153185050892791504022959625272708833376064322 22578267960340060080887954272660317288158552253823059337258905666518272950996471894628659374213543637778493229645610562353030108288521319354161534793911845114704899963451598832809890792703492675281745668390309143466893775463552248280017358439090945747849028371511224507824985447081039477426362315828799047535367875214446447217869061399069773884114526475622906342050675525303652692892256395456543460181153648221708689860760112690684283141166138018044892616994392222343876628057726505119104381652264480792776096126910706352191546712426483191184245134431529146505267525305864655210251113894149929339753942299885338969032434392652415503622371336535622894070547489266352520964854030479931996513137612716199840618778207060266879982535228093337000838616632960056599482640531428237664993565008470748112668282983755354315688527558341662315303066549218381714499087422410802092993846058684826472322526579980158523312028272487487527077821997651324457474058757432049363561455438988684820375692824776415169887908918096054141362454170268324324120244317965506459612017903803841471579667521006480381880846325779092328644532113611990868277791271320260681565609471019365601925126581373930499602267100940042391352563892933882880518828145017687607574804125746645156232596126632843793313734167402366234781563853692702394967592933481116314020302879053761884684015384968064160405954004542155835697419669329755275480619963056821525967548802790925231091781862738818975067893535852103066416425428679266193515019253947315133246899136783265442032240106195713006003776919299352549239398106445174169171036696997809395289032907765282377900854436936718876146474007321201270550099028997846250279084080037017125412132542014137312084607732427795160996654953097585547481353080002613196080290854463888195641161365652488136924396684252700691165493723021075714782508132724039290867646549761975524796497626084782085349652414929173011966156568798799642945733952175316496928110215256905786371444237615295404295617823021876641575826391653189960363921399684919193720304851319566494198132165644709301915472984850069920246774270630420929216705467981913724882261897428070237575588291688959860778370632536855372264864804583316407458972409793502044548950395843464644061011976262925843936277091671330575366812809488599634349410202462174374582263567191632808090375596543825469852749929889637508884616933663425757154157417647938753040564777419365232152019913925541923854232829894493326319232252875306232877069555541563414510802261843026559640542620232070857464273571016970676146934194800760405208496643520836484209316697295985234008649964920137468976539800286851758404641079017566116496322552091861748689206311830208922024951565934765475842651722629110579226711712465747803925258003597266036789026897222588232748521 36532404966932980073680434983087638579154241064965512099223592049675266937240324336246657062248423334907959056170360936841573767106971490373436966968670711731671082772073201894385099670976162478570229467819197230808029282691030413211337333801520863694509196623649522707396868909779387421400923183549285208092060497815137081214436185624239934438879575713060693623902258030092486096761302475794253144676617482119965660756455286144975582301536257187165828914570563168717679334139435100553270903421504454072734395771895353507278685321632936668878254589237507596636246574016767762129694266233000712174755271545609127870076851719278479837734326321930031161471963015496891918271916674024616962002523335277781841914778046120306444612415980539957183247931851640429441039644447128384911340983074762276683986650554567075168124285145983881632734051773816394938510363024362112431864031139546079553444104122525320583405251079509186321619994585708095093250120939002499465103349134135395582953931524442719096142706307173682740363409527522279041716740382679380029153741176943672354969363242743921407606420872337670350703540240603476263878074165406022828616865331366450928687020138145537740310160032897374948867531477306022533240046278141879637557559152972558607958491888521339417036263239170722179022409883151369351177102397073821233604695807660258665679432826321980122854608883513291586821129472144527861405981045391513289831870374124013057787296232197140991881600310450533582912131090097489771167981391558802967051170568167656557726340100444482833016113156695830970125110566052499089180364375968746619472751575780483766305784201011853047740927421609799030908903798580681242399029682711589067273637294396411654102240566606981090117695852410416552109078988316370300225088140579423386096051544052628791519370120878998570246979419777387778410284928580398273916049878089551706036871199994459812728712937221960548739452717251226732423564671008563391374052312744679708035814592493458208181550157555786690415298530891613127807262519624395042122292209328087643750629603940100917462746146543900155130574383767634386154383890965815928095204595360275517310914898817208133563558101837265105094291113008145415886412195231897538122475199994405555756568443520653848616208465147579978284915684316642570770154793234887522805701076795940085831859504496352378409871744643981747164050554087221659207444987031656348508454477933043251566796118449603953501573923800679465265446850381536553765772128031426556188283850581720025984505604461387603658224743182294196421986699457001291044893753339370636531333891282480734775266123530350060571486443453842162331893397236378291211653394168873590539664328780833061030706080679557642955394246159994535403510930765369957110308896388770059748652169931421608812843 59110672927273040154568389255747955867312793318788571436482497716193539888236796230875316436461966972686452285815971499194603875395492809727598501762582556846375982735524800727194990463679655153851975136209506374274923058154582661491354692240611809442358224995160747215221854356860426898827285499378084255627428373029583528432305247023309708322994102188683599965952933555396138789653558871250796604857771130341674350617215398835659865442702395205210721531564955391061555962197161605672375285073768934865510491898806059859470232034059419860062499723669036743141514099322632417339945380127150641514509213845494466839109286111930895341356697658465654055542510504763244439236770704504548958515660947993981682533556253180573324594951208633294184086548484600486040522284978556622576334548083233024796654933538322429483812812704325543948037118323034776653009450446772914524857877198230906025766630702505479106717279351996673848697816583359419550724179696434548828664804573124080403329624349219134266030615225269736881725863697790603365836984700644886488765759080747513826549030763750401789487267198116762679348072354215467132155865436726283510182474802385816530612146719519468239912427133837417340220095370239905413758874423159567245132363278719203764191088015154183210349997406573088413803973736844071746144695330554937547624998686714020550363448211290044283260562888055447422518549141474283136886601008448334815799419176914938288879078094935959966949493846302636649328556518776755964683000645506118100298069704950921999758580206640195839019890075995183519364508672497673258351401072966556014761784483545766144206638637948571923887401428931000301459002827578527492678113762748606192685769836410548966186848299034776251114350805508002099590432068318983496305378995043311581737212909705116928443766805131699261412473142798463493192793061304437564783696427851527230833368826079241898078365352151133560705609286050026375369298623183879888302162528001585494407258830108753612477167980577663331991124922544803088171183919309314235842597060647654137948761769584810219378219131393970075377348654398055315371089358947729652977466492788345754886503190506167994341928734374120477359155917591461823345384605025399582671425595837870199817580419783579692552485556818910553651728493805242205119564995697061897387964643987572893922235101040177848262621674533619256048667487750647416361602404679595101549019255352408483718816032375145877355806753695172791584679103256842786642841683572989970699086112424746585625048224693458461122498314199264872568920894257761696253390396860207120740650588578465968783916088450487529548026243740693920736534476253944407707975946260735339228870640611041983055657646614323118798045968789105114630222643231117761035566899986036096537679067154009841561364 95643077894206020228248824238835594446467034383754083535706089765868806825477120567121973498710390307594411341986332436036177642502464300101035468731253268578047065507598002621580090134655817632422204604028703605082952340845613074702692026042132673136867421618810269922618723266639814320228208682927369463719488870844720609646741432647549642761873677901744293589855191585488624886414861347045049749534388612461640011373670684980635447744238652392376550446135518559779235296336596706225646188495273388938244887670701413366748917355692356528940754312906544339777760673339400179469639646360151353689264485391103594709186137831209375179091023980395685217014473520260136357508687378529165920518184283271763524448334299300879769207367189173251367334480336240915481561929425685007487675531157995301480641584092889504651937097850309425580771170096851171591519813471135026956721908337776985579210734825030799690122530431505860170317811169067514643974300635437048293768153707259475986283555873661853362173321532443419622089273225312882407553725083324266517919500257691186181518394006494323197093688070454433030051612594818943396033939602132306338799340133752267459299166857665005980222587166734792289087626847545927946998920701301446882689922431691762372149579903675522627386260645743810592826383619995441097321797727628758781229694494374279216042881037612024406115171771568739009339678613618810998292582053839848105631289551038951346666374327133100958831094156753170232240687608874245735850982037064921067349240273118578557484920307084678672036003232691014489489619238550172347531765448935302634234536059326249910512422838960424971628328850540799332367906626159208735077143445460195259959407130806960620289088865641757341232046657918418651699511056635353796530467135622734967833264453757745719963136926010697831659452562575851271603077989884835838699746305941078936870240026073701710807078289373094109445062003301253107792863294192443279676214840746265202443073422602211820658718138133450022406423453436416215978446438933709277964889269975741781699391373524911136840965277937870230507923038165689701525473249913545581072671088148621272197418089323376127905486836211385582453447030599607239231796800257297120793900795832275755574148863304233541168694021966490531936644178121884775889719788931949420193665720783512979754094605536530226672493419177601003212718041837869075569047391711251450057473733285451735285612150824749830857380677495852256850125953638379340408613811604416526887369963006466611609553829154846064780723057381559068990907593714762987298284150199577757271984479860946703559182211980837590119512687194536083068427873490322698919629340429608929768534969391875044086363727293880761753440214949099650033733573996487718145875796374806156286331237085431450374207 154753750821479060382817213494583550313779827702542654972188587482062346713713916797997289935172357280280863627802303935230781517897957109828633970493835825424423048243122803348775080598335472786274179740238209979357875399000195736194046718282744482579225646613971017137840577623500241219055494182305453719346917243874304138079046679670859351084867780090427893555808125140884763676068420218295846354392159742803314361990886083816295313186941047597587271977700473950840791258533758311898021473569042323803755379569507473226219149389751776389003254036575581082919274772662032596809585026487301995203773699236598061548295423943140270520447721638861339272556984025023380796745458083033714879033845231265745206981890552481453093802318397806545551421028820841401522084214404241630064010079241228326277296517631211934135749910554634969528808288419885948244529263917907941481579785536007891604977365527536278796839809783502534019015627752426934194698480331871597122432958280383556389613180222880987628203936757713156503815136923103485773390709783969153006685259338438700008067424770244724986580955268571195709399684949034410528189805038858589848981814936138083989911313577184474220135014300572209629307722217785833360757795124461014127822285710410966136340667918829705837736258052316899006630357356839512843466493058183696328854693181088299766406329248902068689375734659624186431858227755093094135179183062288182921430708727953889635545452422069060925780588003055806881569244127651001700533982682571039167647309978069500557243500513724874511055893308686198008854127911047845605883166521901858648996320542872016054719061476908996895515730279471799633826909453737736227755257208208801452645176967217509586475937164676533592346397463426420751289943124954337292835846130666046549570477363462862648406903731142397093071925705374314764795871051189273403483442733792606167703608852152943608885443641524227670150671289351279483162161917376323167978377368747850696850332252710965433135886118711113354397548375981219304149630358243023513807486330623395919648153143109721356219184409331840305885271692563745016896562608861275234050137580936967027083921279829544122247415570585506059812602948191069062577181405282696703465326391670145955391729283087813233721179578785401085588372671927126981009284784629011317581630364771085873676329706576708074935115093711220259261385529588516491930649796390846551606492988637860219004428183199895708213187431191025048434805056895222127051455495177406497586456075431213197234602053848304525903221371580823941559828487972524683551674547059784878012635068439412672343098300431325119667538930935230003804962349744267106627605286690344268997405610002917027142021373908203880551486183738204764663956217227605479181442696360842252824010304239441291935571 250396828715685080611066037733419144760246862086296738507894677247931153539191037365119263433882747587875274969788636371266959160400421409929669439225089094002470113750720805970355170732991290418696384344266913584440827739845808810896738744324877155716093068232781287060459300890140055539283702865232823183066406114719024747725788112318408993846741457992172187145663316726373388562483281565340896103926548355264954373364556768796930760931179699989963822423835992510620026554870355018123667662064315712742000267240208886592968066745444132917944008349482125422697035446001432776279224672847453348893038184627701656257481561774349645699538745619257024489571457545283517154254145461562880799552029514537508731430224851782332863009685586979796918755509157082317003646143829926637551685610399223627757938101724101438787687008404944395109579458516737119836049077389042968438301693873784877184188100352567078486962340215008394189333438921494448838672780967308645416201111987643032375896736096542840990377258290156576125904410148416368180944434867293419524604759596129886189585818776739048183674643339025628739451297543853353924223744640990896187781155069890351449210480434849480200357601467307001918395349065331761307756715825762461010512208142102728508490247822505228465122518698060709599456740976834953940788290785812455110084387675462578982449210286514093095490906431192925441197906368711905133471765116128031027061998278992840982211826749202161884611682159808977113809931736525247436384964719635960234996550251188079114728420820809553183091896541377212498343747149598017953414931970837161283230856602198265965231484315869421867144059130012598966194816079896944962832400653668996712604584098024470206765026030318290933578444121344839402989454181589691089366313266288781517403741817220608368370040657153094924731378267950166036398949041074109242183189039733685104573848878226645319692521930897321779595733292652532590955025211568766447654592209494115899293405675313177253794604256844563376803971829417635520128076797176732791772375600599137701347544516634632493060149687269710536393194730729434718422035858774820815122808669085588299281339369152920250152902406796891642266049978790676301808978205539993824259227187502421710965878146392046774889873600751891617525016850049011756899004573560960737775296085554598853430424312113238301607608512888821262474103571426385567499697188102098001663966721923311954290040334024645539070568108686877305284931010533601467460069306781823024473826038437679808844155883003150590683944428962383010550736081687287670849958697259362635284619548300359375902280512412162709787051618129766086873390223234589805547234627119953198765940579394792071228385101202084642304926398687304414697689791224093197327318492735648409110341541324872742309778 405150579537164140993883251228002695074026689788839393480083264729993500252904954163116553369055104868156138597590940306497740678298378519758303409718924919426893161993843609319130251331326763204970564084505123563798703138846004547090785462607621638295318714846752304198299878513640296758339197047538276902413323358593328885804834791989268344931609238082600080701471441867258152238551701783636742458318708098068268735355442852613226074118120747587551094401536466461460817813404113330021689135633358036545755646809716359819187216135195909306947262386057706505616310218663465373088809699334755344096811883864299717805776985717489916219986467258118363762128441570306897950999603544596595678585874745803253938412115404263785956812003984786342470176537977923718525730358234168267615695689640451954035234619355313372923436918959579364638387746936623068080578341306950909919881479409792768789165465880103357283802149998510928208349066673921383033371261299180242538634070268026588765509916319423828618581195047869732629719547071519853954335144651262572531290018934568586197653243546983773170255598607596824448850982492887764452413549679849486036762970006028435439121794012033954420492615767879211547703071283117594668514510950223475138334493852513694644830915741334934302858776750377608606087098333674466784254783843996151438939080856550878748855539535416161784866641090817111873056134123804999268650948178416213948492707006946730617757279171271222810392270162864783995379175864176249136918947402206999402643860229257579671971921334534427694147789850063410507197875060645863559298098492739019932227177145070282019950545792778418762659789409484398600021725533634681190587657861877798165249761065241979793240963194994824525924841584771260154279397306544028382202159396954828066974219180683471016776944388295492017803303973324480801194820092263382645666631773526291272277457730379588928577965572421549449746404582003812074117187128945089615632969578241966596143737928024142686930490375555676731201520205398854824277707155419756305579861931222533620995697659744353849279334096601550842278466423293179735318598467636096049172946250022555326365260648982464372400317977382397702078652926981745364386159610822690527724553579172567666357607429479860008611053179537292703113389521976138737908289358189972055356926450325684727106754018689946376542723606600041521735489101014902059430346984492944553270459710561172173294468517224541247283755539877902353719736067428823594511524801959229522060282113868893006078757936851455116587165800543206952110564569659812354401633244319147513297254616739772048245378812843487829454590549064996090678352572978856912174839913810297467763346189397709098370406475110288522856412582425509179361646008451698676508761189096490661934351845564314034245349 655547408252849221604949288961421839834273551875136131987977941977924653792095991528235816802937852456031413567379576677764699838698799929687972848944014013429363275744564415289485422064318053623666948428772037148239530878691813357987524206932498794011411783079533591258759179403780352297622899912771100085479729473312353633530622904307677338778350696074772267847134758593631540801034983348977638562245256453333223108719999621410156835049300447577514916825372458972080844368274468348145356797697673749287755914049925246412155282880640042224891270735539831928313345664664898149368034372182208692989850068492001374063258547491839561919525212877375388251699899115590415105253749006159476478137904260340762669842340256046118819821689571766139388932047135006035529376502064094905167381300039675581793172721079414811711123927364523759747967205453360187916627418695993878358183173283577645973353566232670435770764490213519322397682505595415831872044042266488887954835182255669621141406652415966669608958453338026308755623957219936222135279579518555992055894778530698472387239062323722821353930241946622453188302280036741118376637294320840382224544125075918786888332274446883434620850217235186213466098420348449355976271226775985936148846701994616423153321163563840162767981295448438318205543839310509420725043074629808606549023468532013457731304749821930254880357547522010037314254040492516904402122713294544244975554705285939571599969105920473384695003952322673761109189107600701496573303912121842959637640410480445658786700342155343980877239686391440623005541622210243881512713030463576181215458033747268547985182030108647840629803848539496997566216541613531626153420058515546794877854345163266450000005989225313115459503285706116099557268851488133719471568472663243609584377960997904079385146985045448586942534682241274646837593769133337491887849820813259976376851306608606234248270487503318871229342137874656344665072212340513856063287561787736082495437143603337319940725094632400240108005492034816490344405783952596489097352237531821671322343242176378986342339483783871261378671661154022614453740634326410916864295754919108143625646600018135384622553220384179289344344702905772421666195137816362684351983780766674989377323485575871906783500926780289184320638406372025150494807293931750932793132222535880283580537178330803184678150332119488862784209592672441287626930044172595042554934426432484484127584508851249186786354323648564779659004667077962425061971594108741052546534108152306572814922913819854605707271110229505589962661300651347100025251591941578510148581874165040131424147659325255650539241642167194762177551742796213446717722074540930250666529286768792501169598791576312373165161338981112813594059335799675791873836079681832139071044693386889186776555127 1060697987790013362598832540189424534908300241663975525468061206707918154045000945691352370171992957324187552164970516984262440516997178449446276258662938932856256437738408024608615673395644816828637512513277160712038234017537817905078309669540120432306730497926285895457059057917420649055962096960309376987893052831905682519335457696296945683709959934157372348548606200460889693039586685132614381020563964551401491844075442474023382909167421195165066011226908925433541662181678581678167045933331031785833511560859641606231342499015835951531838533121597538433929655883328363522456844071516964037086661952356301091869035533209329478139511680135493752013828340685897313056253352550756072156723779006144016608254455660309904776633693556552481859108585112929754055106860298263172783076989680127535828407340434728184634560846324103124386354952389983255997205760002944788278064652693370414762519032112773793054566640212030250606031572269337214905415303565669130493469252523696209906916568735390498227539648385896041385343504291456076089614724169818564587184797465267058584892305870706594524185840554219277637153262529628882829050844000689868261307095081947222327454068458917389041342833003065425013801491631566950644785737726209411287181195847130117798152079305175097070840072198815926811630937644183887509297858473804757987962549388564336480160289357346416665224188612827149187310174616321903670773661472960458924047412292886302217726385091744607505396222485538545104568283464877745710222859524049959040284270709703238458672263489878408571387476241504033512739497270889745072011128956315201147685210892338830005132575901426259392463637948981396166238267147166307344007716377424593043104106228508429793246952420307939985428127290887359711548248794677747853770632060198437651352180178587550401923929433744078960337986214599127638788589225600874533516452586786267649128764338985823176848453075740420679088542456660156739189399469458945678920531365978049091580881531361462627655585007955916839207012240215345168683491108016245402932099463044204943338939836123340191618817880472812220950127577315794189059232794047012913468701169130698952011860667117848994953538361561687046423355832754167030581297427185374879708334345847557043681093005351766792111979959826477023751795894001289232715583289940904848489148986205968307643932349493131054693055726088904305945081773456189686360391157087987108204886143045656300878977368473728033638079188442682012724403145391248656483118910700282068594390266175465821001671756706060823858276030048796914771865221006912379653225185897657661879128781779903472393038138099138368696232716259758268230095369192303629896914454740548134292632958190210267969198051422661688017751563538322773420981808127490550344840870928629732979045232453500810800476 1716245396042862584203781829150846374742573793539111657456039148685842807837096937219588186974930809780218965732350093662027140355695978379134249107606952946285619713482972439898101095459962870452304460942049197860277764896229631263065833876472619226318142281005819486715818237321201001353584996873080477073372782305218036152866080600604623022488310630232144616395740959054521233840621668481592019582809221004734714952795442095433539744216721642742580928052281384405622506549953050026312402731028705535121267474909566852643497781896475993756729803857137370362243001547993261671824878443699172730076512020848302465932294080701169040059036893012869140265528239801487728161507101556915548634861683266484779278096795916356023596455383128318621248040632247935789584483362362358077950458289719803117621580061514142996345684773688626884134322157843343443913833178698938666636247825976948060735872598345444228825331130425549573003714077864753046777459345832158018448304434779365831048323221151357167836498101723922350140967461511392298224894303688374556643079575995965530972131368194429415878116082500841730825455542566370001205688138321530250485851220157866009215786342905800823662193050238251638479899911980016306621056964502195347436027897841746540951473242869015259838821367647254245017174776954693308234340933103613364536986017920577794211465039179276671545581736134837186501564215108838808072896374767504703899602117578825873817695491012217992200400174808212306213757391065579242283526771645892918677924681190148897245372605645222389448627162632944656518281119481133626584724159419891382363143244639607377990314606010074100022267486488478393732454808760697933497427774892971387920958451391774879793252941645621055444931412997003459268817100282811467325339104723442047235730141176491629787070914479192665902872668455873774476382358358938366421366273400046244025980070947592057425118940579059291908430680331316501404261611809972801742208093153714131587018025134698782568380679640356156947212504275031835513089275060612734500284336994865876265682182012502326533958301664344073599621788731338408642799867120457929777764456088238842577658460685253233617506758745740976390768058738526588696776435243548059231692115112522546421004578581223673575612906740115661344390202266026439727522877221691837641621371522086251888181110680296315732843387845577767090154674445897477313290435329683029663139312575530140428463486219722914819992402837007461671729070223353673718454713019441334615128498418482038635924585576560666531129386259554386877433165872354012404904817127476167810461002946820034896540697463354788907937874883454520445781838165405750347618988995670798800821919726982711437567989627735034853179090544651136367480317607803282424180920552760768804023738619342687587355603 2776943383832875946802614369340270909650874035203087182924100355393760961882097882910940557146923767104406517897320610646289580872693156828580525366269891879141876151221380464506716768855607687280941973455326358572315998913767449168144143546012739658624872778932105382172877295238621650409547093833389854061265835137123718672201538296901568706198270564389516964944347159515410926880208353614206400603373185556136206796870884569456922653384142837907646939279190309839164168731631631704479448664359737320954779035769208458874840280912311945288568336978734908796172657431321625194281722515216136767163173973204603557801329613910498518198548573148362892279356580487385041217760454107671620791585462272628795886351251576665928373089076684871103107149217360865543639590222660621250733535279399930653449987401948871180980245620012730008520677110233326699911038938701883454914312478670318475498391630458218021879897770637579823609745650134090261682874649397827148941773687303062040955239789886747666064037750109818391526310965802848374314509027858193121230264373461232589557023674065136010402301923055061008462608805095998884034738982322220118747158315239813231543240411364718212703535883241317063493701403611583257265842702228404758723209093688876658749625322174190356909661439846070171828805714598877195743638791577418122524948567309142130691625328536623088210805924747664335688874389725160711743670036240465162823649529871712176035421876103962599705796397293750851318325674530456987993749631169942877718208951899852135704044869135100798020014638874448690031020616752023371656735288376206583510828455531946207995447181911500359414731124437459789898693075907864240841435491270395980964062557620283309586499894065928995430359540287890818980365349077489215179109736783640484887082321355079180188994843912936744863210654670472902115170947584539240954882725986832511675108835286577880601967393654799712587519222787976658143451011279431747421128624519692180678598906666060245196036264648312073786419516515247180681772766168628979903216436457910081209021121848625666725577119544816885820571916308654202831859099914504942691233157257369541529670321352371082612460297107302663437191414571280755727357732670733434111400449458370103464685671586575440367724886699942138368141998160027728960238460511632742490110520508292220195825043029789446787536443571666671396099756219353666999650826486771016771344198718575796729342463588196642853630482025450143684453473368744922374937831930141616683722888684657504456926257333266727354987662289603183792205031093360924784558042313373825472340131728599938368933735601453927276634107599714278714011933534598053977515903450411346935114552685172921705537187679157696541196842108189459140901299415930772974525761423689398537002783851796188398156079 4493188779875738531006396198491117284393447828742198840380139504079603769719194820130528744121854576884625483629670704308316721228389135207714774473876844825427495864704352904404817864315570557733246434397375556432593763809997080431209977422485358884943015059937924868888695532559822651763132090706470331134638617442341754825067618897506191728686581194621661581340088118569932160720830022095798420186182406560870921749666326664890462397600864480650227867331471694244786675281584681730791851395388442856076046510678775311518338062808787939045298140835872279158415658979314886866106600958915309497239685994052906023733623694611667558257585466161232032544884820288872769379267555664587169426447145539113575164448047493021951969544459813189724355189849608801333224073585022979328683993569119733771071567463463014177325930393701356892654999268076670143824872117400822121550560304647266536234264228803662250705228901063129396613459727998843308460333995229985167390078122082427872003563011038104833900535851833740741667278427314240672539403331546567677873343949457198120529155042259565426280418005555902739288064347662368885240427120643750369233009535397679240759026754270519036365728933479568701973601315591599563886899666730600106159236991530623199701098565043205616748482807493324416845980491553570503977979724681031487061934585229719924903090367715899759756387660882501522190438604833999519816566411007969866723251647450538049853117367116180591906196572101963157532083065596036230277276402815835796396133633090001032949417474780323187468641801507393346549301736233156998241459447796097965873971700171553585985761787921574459436998610925938183631147884668562174338863266163367368885021009012058189379752835711550050875290953284894278249182449360300682504448841507082532122812462531570809976065758392129410766083323126346676591553305943477607376248999386878755701088906234169938027086334233859004495949903119293159547712623089404549163336717673406312265616931800759027764416944288668230733632020790279016194862041229241714403500773452775957474703303861127993259535421209160959420193705039992611474658967034962872468997613345608384107328782037624316229967055853043639827959473309807344424134167914281493343092564570892649885690250167799113943337793440057799712532200426054168687761337733324580131731892030378472084006153710085762520379831417244438486254430665251144312941261816454046434483511294105937157805949807919557673622884862457605356182543592098596093392544949582951298851387103139543092850842909827393886117048549157570669638196965714937189462859440849993282801134675419973265474433064808716184571982483168799159793771700003804325134892446082145735936472412155633143105177306892731394375932652840595508381617023734055398706681976450167341026522471138875985511682 7270132163708614477809010567831388194044321863945286023304239859473364731601292703041469301268778343989032001526991314954606302101082292036295299840146736704569372015925733368911534633171178245014188407852701915004909762723764529599354120968498098543567887838870030251061572827798444302172679184539860185195904452579465473497269157194407760434884851759011178546284435278085343087601038375710004820789555592117007128546537211234347385050985007318557874806610662004083950844013216313435271300059748180177030825546447983770393178343721099884333866477814607187954588316410636512060388323474131446264402859967257509581534953308522166076456134039309594924824241400776257810597028009772258790218032607811742371050799299069687880342633536498060827462339066969666876863663807683600579417528848519664424521554865411885358306176013714086901175676378309996843735911056102705576464872783317585011732655859261880272585126671700709220223205378132933570143208644627812316331851809385489912958802800924852499964573601943559133193589393117089046853912359404760799103608322918430710086178716324701436682719928610963747750673152758367769275166102965970487980167850637492472302267165635237249069264816720885765467302719203182821152742368959004864882446085219499858450723887217395973658144247339394588674786206152447699721618516258449609586883152538862055594715696252522847967193585630165857879312994559160231560236447248435029546901177322250225888539243220143191611992969395714008850408740126493218271026033985778674114342584989853168653462343915423985488656440381842036580322352985180369898194736172304549384800155703499793981208969833074818851729735363397973529840960576426415180298757433763349849083566632341498966252729777479046305650493572785097229547798437789897683558578290723017009894783886649990165060602305066155629293977796819578706724253528016848331131725373711267376197741520747818629053727888658717083469125907269817691163634368836296584465342193098492944215838466819272960453208936980304520051537305526196876634807397870694306717209910686038683724425709753659985112540753977845240765621348646814306518066949467815160230770602977925636999103389995398842427352960346303265150887881088100151491900585014927454493014029262753350375921754374554311062680139999938080674198586081897647999798244957322621842412538670692279831196739875209307916274988911109882354186884604811312592088303225063205827710012681733887148413396116200527253366887907749040636016960843518468330376879724567982574275787797047549777100243094121241104710838760754461843228059075861974020901754223818755141266404019911634408168666262643461206090082883077873805705234601858302650795896493492671051025097328554848642364986050427935572774761030054649282916439664828373232443400139565878029306322935064383667761 11763320943584353008815406766322505478437769692687484863684379363552968501320487523171998045390632920873657485156662019262923023329471427244010074314023581529996867880630086273316352497486748802747434842250077471437503526533761610030564098390983457428510902898807955119950268360358266953935811275246330516330543070021807228322336776091913952163571432953632840127624523396655275248321868397805803240975737998677878050296203537899237847448585871799208102673942133698328737519294800995166063151455136623033106872057126759081911516406529887823379164618650479467113003975389951398926494924433046755761642545961310415605268577003133833634713719505470826957369126221065130579976295565436845959644479753350855946215247346562709832312177996311250551817528916578468210087737392706579908101522417639398195593122328874899535632106407415443793830675646386666987560783173503527698015433087964851547966920088065542523290355572763838616836665106131776878603542639857797483721929931467917784962365811962957333865109453777299874860867820431329719393315690951328476976952272375628830615333758584266862963137934166866487038737500420736654515593223609720857213177386035171713061293919905756285434993750200454467440904034794782385039642035689604971041683076750123058151822452260601590406627054832719005520766697706018203699598240939481096648817737768581980497806063968422607723581246512667380069751599393159751376802858256404896270152824772788275741656610336323783518189541497677166382491805722529448548302436801614470510476218079854201602879818695747172957298241889235383129624089218337368139654183968402515258771855875053379966970757754649278288728346289336157160988845244988589519162023597130718734104575644399688346005565489029097180941446857679375478730247798090580188007419797805549132707246418220800141126360697195566395377300923166255298277559471494455707380724760590023077286647754917756656140062122517721579419029026562977238876257458240845747802059866504805209832770267578300724870153225648535253683558095805213071496848627112408710217983363461996158427729570881653244647961963138804660959326388639425781177033984430687629228383948586309744327885427619715072394408813389943093110361190895444575626068499296420797585578600155403236066171922173668254400473580057737793206399012136066335761135978281902753574304569049164363837350449960971828296106406155548368608617549855955625533350119679109640311221306787671044954363204035758200876251750365354396818560552942114561722921829307519281425662890936590642627943152921515127221759387918325131481425024790799163483761195073812037942401079439884899882601731071359645778072566051877033599476934605662627785688342575638406987497509484187991747542292943159329948707413870650157664533463398883771939125376589733219055828794073940369179443 19033453107292967486624417334153893672482091556632770886988619223026333232921780226213467346659411264862689486683653334217529325430553719280305374154170318234566239896555819642227887130657927047761623250102779386442413289257526139629918219359481555972078790737677985371011841188156711256108490459786190701526447522601272701819605933286321712598456284712644018673908958674740618335922906773515808061765293590794885178842740749133585232499570879117765977480552795702412688363308017308601334451514884803210137697603574742852304694750250987707713031096465086655067592291800587910986883247907178202026045405928567925186803530311655999711169853544780421882193367621841388390573323575209104749862512361162598317266046645632397712654811532809311379279867983548135086951401200390180487519051266159062620114677194286784893938282421129530695006352024696663831296694229606233274480305871282436559699575947327422795875482244464547837059870484264710448746751284485609800053781740853407697921168612887809833829683055720859008054457213548418766247228050356089276080560595294059540701512474908968299645857862777830234789410653179104423790759326575691345193345236672664185363561085540993534504258566921340232908206753997965206192384404648609835924129161969622916602546339477997564064771302172113594195552903858465903421216757197930706235700890307444036092521760220945455690774832142833237949064593952319982937039305504839925817054002095038501630195853556466975130182510893391175232900545849022666819328470787393144624818803069707370256342162611171158445954682271077419709946442203517738037848920140707064643572011578553173948179727587724097140458081652734130690829805821415004699460781030894068583188142276741187312258295266508143486591940430464472708278046235880477871565998088528566142602030304870790306186963002261722024671278719985834005001812999511304038512450134301290453484389275665575285193790011176438662888154933832794930039891827077142332267402059603298154048608734397573685323362162628839773735095401331409948131656024983103016935193274148034842152155280635313229760502717116649901724947737286240087695100933898502789459154551564235381326988817615113914821761773736246358261249071983544727117969084311348252078592629418156586442093676548222565463153720057675873880597598217963983760934223239225375416717107719856643668547189836181136212381395066658250962804434460766938125438422904172846138931319469404932102776600151958728129618638273103437454577513785633030053298709032087263999938678733638192405043396015636368326470226679079593324653083866661137504662949297630793083667483459796534290770397334003106984162648934954907405182169207520930436484239069131078038522606812742840389907278993587265521482174900704806947449903063712145171568776729299097085135117009004752847204 30796774050877320495439824100476399150919861249320255750672998586579301734242267749385465392050044185736346971840315353480452348760025146524315448468193899764563107777185905915544239628144675850509058092352856857879916815791287749660482317750465013400589693636485940490962109548514978210044301735032521217856990592623079930141942709378235664762027717666276858801533482071395893584244775171321611302741031589472763229138944287032823079948156750916974080154494929400741425882602818303767397602970021426243244569660701501934216211156780875531092195715115566122180596267190539309913378172340224957787687951889878340792072107314789833345883573050251248839562493842906518970549619140645950709506992114513454263481293992195107544966989529120561931097396900126603297039138593096760395620573683798460815707799523161684429570388828544974488837027671083330818857477403109760972495738959247288107666496035392965319165837817228386453896535590396487327350293924343407283775711672321325482883534424850767167694792509498158882915325033979748485640543741307417753057512867669688371316846233493235162608995796944696721828148153599841078306352550185412202406522622707835898424855005446749819939252317121794700349110788792747591232026440338214806965812238719745974754368791738599154471398357004832599716319601564484107120814998137411802884518628076026016590327824189368063414356078655500618018816193345479734313842163761244822087206826867826777371852463892790758648372052391068341615392351571552115367630907589007615135295021149561571859221981306918331403252924160312802839570531421855106177503104109109579902343867453606553915150485342373375429186427942070287851818651066403594218622804628024787317292717921140875658263860755537240667533387288143848187008294033971058059573417886334115275309276723091590447313323699457288420048579643152089303279372471005759745893174894891313530771037030583331941333852133694160242307183960395772168916149285317988080069461926108103363881379001975874410193515388277375027418653497136623019628504652095511727153176637610031000579884851516966474408464680255454562684274125925665868872134918329190418687538500150545125654874245234828987216170587126189451371610262878989302744037583607769049664171229573559822508265598721890819863627300115413667086996610354030319522070201521128128991021676769021007505897639797152964508487801222206619571421984316722563658788542583282486450152626257075977057139804187716929005870388638457834273138066727747591776220538339606545425601569670228835032986548937151495548229614597404724806078108657460300988424144371442831026068562899681434173372128405362752762235214986831941004659103813183558222172581644769485026020116296930832137449571936746595470189588771354964611983366462595917110694153319032316140963911082945122026647 49830227158170287982064241434630292823401952805953026637661617809605634967164047975598932738709455450599036458523968687697981674190578865804620822622364217999129347673741725557772126758802602898270681342455636244322330105048813889290400537109946569372668484374163925861973950736671689466152792194818711919383438115224352631961548642664557377360484002378920877475442440746136511920167681944837419364506325180267648407981685036166408312447727630034740057635047725103154114245910835612368732054484906229453382267264276244786520905907031863238805226811580652777248188558991127220900261420247403159813733357818446265978875637626445833057053426595031670721755861464747907361122942715855055459369504475676052580747340637827505257621801061929873310377264883674738383990539793486940883139624949957523435822476717448469323508671249674505183843379695779994650154171632715994246976044830529724667366071982720388115041320061692934290956406074661197776097045208829017083829493413174733180804703037738577001524475565219017890969782247528167251887771791663507029138073462963747912018358708402203462254853659722526956617558806778945502097111876761103547599867859380500083788416090987743354443510884043134933257317542790712797424410844986824642889941400689368891356915131216596718536169659176946193911872505422950010542031755335342509120219518383470052682849584410313519105130910798333855967880787297799717250881469266084747904260828962865279002048317449257733778554563284459516848292897420574782186959378376400759760113824219268942115564143918089489849207606431390222549516973625372844215352024249816644545915879032159727863330212930097472569644509594804418542648456887818598918083585658918855900480860197882062970522156022045384154125327718608320895286340269851535931139415974862681417911307027962380753500286701719010444719858363137923308281185470517063784405625029192603984255426306248907226527642144870598905195338894228567098956041112395130412336863985711401517929987736373448095516877550906214801153748898468032967760160677078614744088369911758065842732040132152279704168967397372104464409221863211905956567235852227693208146693051714780506981863062849942902037932360862435809632859334862534029862006667919117301742763858991716408950359275270113385326781020173089540967594208571994303283004424760353504407738784488877651174444829633334100720869196288864870534226418777489501784226965487455332589083945726480909159916404339675657135489026911561271727715580513380621829519247371693809425540248403867027438029944952787863874699841276484318130731192524121438493087093669073624109736046359477968464142525739365859746397863921786848409841273020704488658656820713900563064542723109673672527356850930333860991671763672059771559433269526308062282262930048331413226099028091949874873851 80627001209047608477504065535106691974321814055273282388334616396184936701406315724984398130759499636335383430364284041178434022950604012328936271090558117763692455450927631473316366386947278748779739434808493102202246920840101638950882854860411582773258178010649866352936060285186667676197093929851233137240428707847432562103491352042793042122511720045197736276975922817532405504412457116159030667247356769740411637120629323199231392395884380951714137789542654503895540128513653916136129657454927655696626836924977746720737117063812738769897422526696218899428784826181666530813639592587628117601421309708324606770947744941235666402936999645282919561318355307654426331672561856501006168876496590189506844228634630022612802588790591050435241474661783801341681029678386583701278760198633755984251530276240610153753079060078219479672680407366863325469011649035825755219471783789777012775032568018113353434207157878921320744852941665057685103447339133172424367605205085496058663688237462589344169219268074717176773885107281507915737528315532970924782195586330633436283335204941895438624863849456667223678445706960378786580403464426946515750006390482088335982213271096434493174382763201164929633606428331583460388656437285325039449855753639409114866111283922955195873007568016181778793628192106987434117662846753472754312004738146459496069273177408599681582519486989453834473986696980643279451564723633027329569991467655830692056373900781342048492426926615675527858463685248992126897554590285965408374895408845368830513974786125225007821252460530591703025389087505047227950392855128358926224448259746485766281778480698272470847998830937536874706394467107954222193136706390286943643217773578119022938628786016777582624821658715006752169082294634303822593990712833861196796693220583751053971200813610401176298864768438006290012611560557941522823530298799924083917515026463336832239167861494278564759147502522854624339267872190397713118492406325911819504881811366738349322505710392939183589828572402395604655987388665329174126471241546549368096843311924983669246178577432077627559027093495989137571825439370770556883626834231551865325632636737308084771889254102947988625261004469597741523332606044251526886351406935088565276231458624873992004205190408320288503208054590818926024622805074626281481633398760461257898658680342469430487065229356997511071490105648403094212065443015508070737819039236571983556886217056208527392586141359415550019106000853647241128213605739785711300354851141818074095862471016493889939359422929455873889042936809301181581739481511238040516455135804609259159402637514654144728612508633078908618789414500376833888046880829402358670048090562839406604504664806422867080456461861352443414736171416635988903979392957083367363729367062939174894996900498 130457228367217896459568306969736984797723766861226309025996234205790571668570363700583330869468955086934419888888252728876415697141182878133557093712922335762821803124669357031088493145749881647050420777264129346524577025888915528241283391970358152145926662384813792214910011021858357142349886124669945056623866823071785194065039994707350419482995722424118613752418363563668917424580139060996450031753681950008060045102314359365639704843612010986454195424590379607049654374424489528504861711939833885150009104189253991507258022970844602008702649338276871676676973385172793751713901012835031277415154667526770872749823382567681499459990426240314590283074216772402333692795504572356061628246001065865559424975975267850118060210591652980308551851926667476080065020218180070642161899823583713507687352752958058623076587731327893984856523787062643320119165820668541749466447828620306737442398640000833741549248477940614255035809347739718882879544384342001441451434698498670791844492940500327921170743743639936194664854889529036082989416087324634431811333659793597184195353563650297642087118703116389750635063265767157732082500576303707619297606258341468836066001687187422236528826274085208064566863745874374173186080848130311864092745695040098483757468199054171792591543737675358724987540064612410384128204878508808096821124957664842966121956026993009995101624617900252168329954577767941079168815605102293414317895728484793557335375949098791306226205481178959987375311978146412701679741549664341809134655522669588099456090350269143097311101668137023093247938604478672600794608207152608742868994175625517926009641810911202568320568475447131679124937115564842040792054789975945862499118254438316905001599308172799628008975784042725360489977580974573674129921852249836059478111131890779016351954313897102895309309488296369427935919841743412039887314704424953276521499281889643081146394389136423435358052697861748852906366828231510108248904743189897530906399741354474722770601227270490089804629726151294072688955148826006252741215329916461126162686043965115821525882746399474999663491502717852349477782006606622784576834980924603580106139618600370934714791292035308851061070637328932604057362468050919446003653149698947556992640408984149262117590517189340461592749022185027498018926088079051041835137806499245746776309854787299063821165950226193799936360639874821871701567227242473558193151628320517710037795376972612867068243276848442461580377728569227754508835435259033082994164276682066477962889909046438842727223297629297150373361067540493705703177974598331709590079245540655618637371101657179884094472255030942830405637824341649854592535539486223072570611155105562516278177192163273797414317453533116115474507730849905515212041675220013415695142593161967266844871774349 211084229576265504937072372504843676772045580916499591414330850601975508369976679425567729000228454723269803319252536770054849720091786890462493364803480453526514258575596988504404859532697160395830160212072622448726823946729017167192166246830769734919184840395463658567846071307045024818546980054521178193864295530919217756168531346750143461605507442469316350029394286381201322928992596177155480699001038719748471682222943682564871097239496391938168333214133034110945194502938143444640991369394761540846635941114231738227995140034657340778600071864973090576105758211354460282527540605422659395016575977235095479520771127508917165862927425885597509844392572080056760024468066428857067797122497656055066269204609897872730862799382244030743793326588451277421746049896566654343440660022217469491938883029198668776829666791406113464529204194429506645588177469704367504685919612410083750217431208018947094983455635819535575780662289404776567982991723475173865819039903584166850508181177962917265339963011714653371438739996810543998726944402857605356593529246124230620478688768592193080711982552573056974313508972727536518662904040730654135047612648823557172048214958283856729703209037286372994200470174205957633574737285415636903542601448679507598623579482977126988464551305691540503781168256719397818245867725262280851133129695811302462191229204401609676684144104889706002803941274748584358620380328735320743887887196140624249391749849880133354718632407794635515233775663395404828577296139950307217509550931514956929970065136394368105132354128667614796273327691983719828745001062280967669093442435372003692291420291609475039168567306384668553831331582672796262985191496366232806142336028016435927940228094189577210633797442757732112659059875608877496723912565083697256274804352474530070323155127507504071608174256734375717948531402301353562710845003224877360439014308352979913385562250630702000117200200384603477245634700421907821367397149515809350411281552721213072093106937663429273394458298553689677344942537491335426867686571463010494259529355890099490772061323831552627222518596213841487049607445977393341460461815156155445431772255337679019486680546138256839686331641798530345580695074095170972890004556634036122268871867609023254121795707597660750095957076775846424043548893153677323316771205259707004674968535129768494308231179583191311007850745523224965913632670257981628930970667557089693594681594028821394460829418207858011599483729422874995637049040998818794294519127823884552058752380062932732666582720558753024262404004349794887284917456109569750106534381345264877796773739171834028823084763664021739024427238842026688480582420315625431240659245668401922882681856969696664494773915394468558889243902266541504116021068177096783058871960224906441739868674847 341541457943483401396640679474580661569769347777725900440327084807766080038547043126151059869697409810204223208140789498931265417232969768596050458516402789289336061700266345535493352678447042042880580989336751795251400972617932695433449638801127887065111502780277450782756082328903381960896866179191123250488162353991002950233571341457493881088503164893434963781812649944870240353572735238151930730754720669756531727325258041930510802083108402924622528638723413717994848877362632973145853081334595425996645045303485729735253163005501942787302721203249962252782731596527254034241441618257690672431730644761866352270594510076598665322917852125912100127466788852459093717263571001213129425368498721920625694180585165722848923009973897011052345178515118753501811070114746724985602559845801182999626235782156727399906254522734007449385727981492149965707343290372909254152367441030390487659829848019780836532704113760149830816471637144495450862536107817175307270474602082837642352674118463245186510706755354589566103594886339580081716360490182239788404862905917827804674042332242490722799101255689446724948572238494694250745404617034361754345218907165026008114216645471278966232035311371581058767333920080331806760818133545948767635347143719606082381047682031298781056095043366899228768708321331808202374072603771088947954254653476145428313185231394619671785768722789958171133895852516525437789195933837614158205782924625417806727125798978924660944837888973595502609087641541817530257037689614649026644206454184545029426155486663511202443455796804637889521266296462392429539609269433576411962436610997521618301062102520677607489135781831800232956268698237638303777246286342178668641454282454752832941827402362376838642773226800457473149037456583451170853834417333533315752915484365309086675109441404606966917483745030745145884451244044765602598159707649830636960513590242622994531956639767125435475252898246352330152001528653417929616301892705706881317681294075687794863708164933919363199088024704983750033897686317341679608901901379471620422215399855215312297944070231027626886010098931693836527389452584016126037296796080759025537911873938049954201471838173565690747402279127462949638057542146090418893657706332983679261512276593172516239386224787001211688706098960873922062474981232728365151909011758952751451278389917067558129397129809385110944211385398046837615199897500455187124122295877607403632476971001434261529072695056300473179861457992102750145884476257851877288683404505951030021642289109371575393806018188050174635765071890288592988095430707901459696613626885920496434144840829013912917557018694964569430065063183676543073117959801848503811270400773964439160859049132970461909091368927584674363751633116447019328062743397110198754014553386873708584740449196 552625687519748906333713051979424338341814928694225491854657935409741588408523722551718788869925864533474026527393326268986115137324756659058543823319883242815850320275863334039898212211144202438710741201409374243978224919346949862625615885631897621984296343175741109350602153635948406779443846233712301444352457884910220706402102688207637342694010607362751313811206936326071563282565331415307411429755759389505003409548201724495381899322604794862790861852856447828940043380300776417786844450729356966843280986417717467963248303040159283565902793068223052828888489807881714316768982223680350067448306621996961831791365637585515831185845278011509609971859360932515853741731637430070197222490996377975691963385195063595579785809356141041796138505103570030923557120011313379329043219868018652491565118811355396176735921314140120913914932175921656611295520760077276758838287053440474237877261056038727931516159749579685406597133926549272018845527831292349173089514505667004492860855296426162451850669767069242937542334883150124080443304893039845144998392152042058425152731100834683803511083808262503699262081211222230769408308657765015889392831555988583180162431603755135695935244348657954052967804094286289440335555418961585671177948592399113681004627165008425769520646349058439732549876578051206020619940329033369799087384349287447890504414435796229348469912827679664173937837127265109796409576262572934902093670120766042056118875648859058015663470296768231017842863304937222358834333829564956244153757385699501959396220623057879307575809925472252685794593988446112258284610331714544081055879046369525310592482394130152646657703088216468786787600280910434566762437782708411474783790310471188760882055496551954049276570669558189585808097332192328667577746982417230572027719836839839156998264568912111038525658001765120863832982646346119165309004710874707997399527898595602907917518890397827435592453098630955807397636229075325750983699042221516231728962846796900866956815102597348636593546323258673427378840223808677106476588472842482114681744755745314803070005394062580254108528695145535323576996898561409467497758611236914470969684129275728973688152384311822530433733920925993295218752616241261391783662262967019801530384144202195770361181932384661961784663175736720346106023874386405688468680217018659756126246925046836052437628309392576421952062130921271803528832567758436816055092963434697097227158565030255655989902113264158484779345187414977745782933517256670671583202532329835582080394669172304308060388738746803198898169076240083480273012886817471209803148008231185374230918580000847941740641782358986308454492302025703231553700380117473935051929646442366362043540906102667126403865284322053233252995535382988523444083811574206981812886513611780150324609124043 894167145463232307730353731454004999911584276471951392294985020217507668447070765677869848739623274343678249735534115767917380554557726427654594281836286032105186381976129679575391564889591244481591322190746126039229625891964882558059065524433025509049407845956018560133358235964851788740340712412903424694840620238901223656635674029665131223782513772256186277593019586270941803636138066653459342160510480059261535136873459766425892701405713197787413390491579861546934892257663409390932697532063952392839926031721203197698501466045661226353205514271473015081671221404408968351010423841938040739880037266758828184061960147662114496508763130137421710099326149784974947458995208431283326647859495099896317657565780229318428708819330038052848483683618688784425368190126060104314645779713819835491191354593512123576642175836874128363300660157413806577002864050450186012990654494470864725537090904058508768048863863339835237413605563693767469708063939109524480359989107749842135213529414889407638361376522423832503645929769489704162159665383222084933403255057959886229826773433077174526310185063951950424210653449716925020153713274799377643738050463153609188276648249226414662167279660029535111735138014366621247096373552507534438813295736118719763385674847039724550576741392425338961318584899383014222994012932804458747041639002763593318817599667190849020255681550469622345071732979781635234198772196410549060299453045391459862846001447837982676608308185741826520451950946479039889091371519179605270797963839884046988822376109721390510019265722276890575315860284908504687824219601148120493018315657367046928893544496650830254146838870048269019743868979148072870539684069050590143425244592925941593823882898914330887919343896358647058957134788775779838431581399750763887780635321205148243673374010316718005443141746795866009717433890390884767907164418524538634360041488838225902449475530164952871067705996877308137549637757728743680600000934927223113046644140872588661820523267531267999792634347963657177412737910126018786085490374221953735103960155600530115367949464293607880994538794077229160104386351145425593535055407317673496507596003213778927889624222485388221181136200053456244856810158387351810677319969300003480791896420795368286600568157171663173473369274697594268168498855619134053620589228777612507577525314963903610567025439201961532896273516319318641144032465258892003179215259312304500859635536031689917518974808320458957959206645407080495928817993514522548871885936835786612102036958281675883454194756934853373533934148130372073261108317525372669499761635117105870665063420829861854658198801053950877884557365209379774626818339919322438863200047216330801204399955235637588312956653249637907616747168499435542772146554971317180566901066998653858909349573239 1446792832982981214064066783433429338253399205166176884149642955627249256855594488229588637609549138877152276262927442036903495691882483086713138105156169274921036702251993013615289777100735446920302063392155500283207850811311832420684681410064923131033704189131759669483960389600800195519784558646615726139193078123811444363037776717872768566476524379618937591404226522597013366918703398068766753590266239448766538546421661490921274600728317992650204252344436309375874935637964185808719541982793309359683207018138920665661749769085820509919108307339696067910559711212290682667779406065618390807328343888755790015853325785247630327694608408148931320071185510717490801200726845861353523870350491477872009620950975292914008494628686179094644622188722258815348925310137373483643688999581838487982756473404867519753378097151014249277215592333335463188298384810527462771828941547911338963414351960097236699565023612919520644010739490243039488553591770401873653449503613416846628074384711315570090212046289493075441188264652639828242602970276261930078401647210001944654979504533911858329821268872214454123472734660939155789562021932564393533130882019142192368439079852981550358102524008687489164702942108652910687431928971469120109991244328517833444390302012048150320097387741483778693868461477434220243613953261837828546129023352051041209322014102987078368725594378149286519009570107046745030608348458983483962393123166157501918964877096697040692271778482510057538294814251416262247925705348744561514951721225583548948218596732779269817595075647749143261110454273354616946108829932862664574074194703736572239486026890780982900804541958264737806531469260058507437302121851759001618209034903397130354705938395466284937195914565916836644765232120968108506009328382167994459808355158044987400671638579228829043968799748560986873550416536737003933216169129399246631759569387433828810366994420562780306660159095508263944947273986804069431583699977148739344775606987669489528777338370128616636386180671222330604791578133934695892562078847064435849785704911345844918437954858356188135103067489222764483681383249706835061032814018554587967477280132489507901577776606797210751614870120979449540075562774628613202460982232267023282322280564997564056961750089556325135258032450434314614274522730005539742089269445796272263703772240010739663004653748594537954848335647240590444672865033017328819234308222747001598086794101061945573508876921584617442738551832822058241711751510771193220455088469165622194182431627453980191514583495681656572432103224370455553534121204342843879302909643348291244895982000830709796398840583412937186339049667235083006180518720036796373915129693658697163247940861338304714716821937571691140869742703882424066216230366545524162379787580610434009233958697282 2340959978446213521794420514887434338164983481638128276444627975844756925302665253907458486349172413220830525998461557804820876246440209514367732386992455307026223084228122693190681341990326691401893385582901626322437476703276714978743746934497948640083112035087778229617318625565651984260125271059519150834033698362712668019673450747537899790259038151875123868997246108867955170554841464722226095750776719508028073683295121257347167302134031190437617642836016170922809827895627595199652239514857261752523133049860123863360251235131481736272313821611169082992230932616699651018789829907556431547208381155514618199915285932909744824203371538286353030170511660502465748659722054292636850518209986577768327278516755522232437203448016217147493105872340947599774293500263433587958334779295658323473947827998379643330020272987888377640516252490749269765301248860977648784819596042382203688951442864155745467613887476259355881424345053936806958261655709511398133809492721166688763287914126204977728573422811916907944834194422129532404762635659484015011804902267961830884806277966989032856131453936166404547683388110656080809715735207363771176868932482295801556715728102207965020269803668717024276438080123019531934528302523976654548804540064636553207775976859087874870674129133909117655187046376817234466607966194642287293170662354814634528139613770177927388981275928618908864081303086828380264807120655394033022692576211548961781810878544535023368880086668251884058746765197895302137017076867924166785749685065467595937040972842500660327614341370026033836426314558263121633933049534010785067092510361103619168379571387431813154951380828313006826275338239206580307841805920809591761634279496323071948529821294380615825115258462275483703722366909743888344440909781918758347588990479250135644345012589545547049411941495356852883267850427127888701123333547923785266119610876272054712816469950727733177727865092385572082496911744532813112183700912075962457822251128542078190597861637659884636178815019185987782204316044060714678647569221286389584889665066946375033805904322649796016097606283299993643785769600852260654567869425872261463984876135703286829467400829282598972796006321032905784932372933015965013138302201567026763114176985792932343562318246727988308731401725131908882443021585624673795709858674573884771281297554974643273571679187796499487744609163559909085816897498276220822413523482059306098946429637093635491027851729905076400697758478229138737640569504285715769326974406001408806284468585735656074968778252616509945966037372500827626795229521868216548802671278465397115561045421660571651057039384466888064223607032444462780807337059956118812778329740875027964452340816573942303029778590821329048486489872381859608988376921516841342946688647609087868143308270521 3787752811429194735858487298320863676418382686804305160594270931472006182158259742137047123958721552097982802261388999841724371938322692601080870492148624581947259786480115706805971119091062138322195448975057126605645327514588547399428428344562871771116816224219537899101279015166452179779909829706134876973226776486524112382711227465410668356735562531494061460401472631464968537473544862790992849341042958956794612229716782748268441902862349183087821895180452480298684763533591781008371781497650571112206340067999044529022001004217302246191422128950865150902790643828990333686569235973174822354536725044270408215768611718157375151897979946435284350241697171219956549860448900153990374388560478055640336899467730815146445698076702396242137728061063206415123218810400807071602023778877496811456704301403247163083398370138902626917731844824084732953599633671505111556648537590293542652365794824252982167178911089178876525435084544179846446815247479913271787258996334583535391362298837520547818785469101409983386022459074769360647365605935745945090206549477963775539785782500900891185952722808380858671156122771595236599277757139928164709999814501437993925154807955189515378372327677404513441141022231672442621960231495445774658795784393154386652166278871136025190771516875392896349055507854251454710221919456480115839299685706865675737461627873165005757706870306768195383090873193875125295415469114377516985085699377706463700775755641232064061151865150761941597041579449311564384942782216668728300701406291051144885259569575279930145209417017775177097536768831617738580041879466873449641166705064840191407865598278212796055755922786577744632806807499265087745143927772568593379843314399720202303235759689846900762311173028192320348487599030711996850450238164086752807397345637295123045016651168774376093380741243917839756818266963864892634339502677323031897879180263705883523183464371290513484388024187893836027444185731336882543767400889224701802597858116211567719375200007788501272564995690408318386995894177995410571209648068350825434675369978292219952243859181005984151200673772522758127467152850559095715600683444426849431462156268192794731045177436079809724410876442012355325007935707644578215599284433834050045436457550790496400524068336284313443989434175566223496717544315630213537799128120370157034985069794985382936576332936391037442592944810800499530489762531293549641647831704806307697033223738155581064536728651489693843436310311051196979352321015056908989782062875167031000466900213189636266483361748298166518398140596871283180329350726211060428105580921813688360457027422491281447455879967879825250562656699679545786987855779992915186693459434533725127700281677912247017746600528393020189356232576264283675204607288062365505326476228219521877377266967803 6128712789875408257652907813208298014583366168442433437038898907316763107460924996044505610307893965318813328259850557646545248184762902115448602879141079888973482870708238399996652461081388829724088834557958752928082804217865262378172175279060820411199928259307316128718597640732104164040035100765654027807260474849236780402384678212948568146994600683369185329398718740332923708028386327513218945091819678464822685913011904005615609204996380373525439538016468651221494591429219376208024021012507832864729473117859168392382252239348783982463735950562034233895021576445689984705359065880731253901745106199785026415683897651067119976101351484721637380412208831722422298520170954446627224906770464633408664177984486337378882901524718613389630833933404154014897512310664240659560358558173155134930652129401626806413418643126791004558248097314834002718900882532482760341468133632675746341317237688408727634792798565438232406859429598116653405076903189424669921068489055750224154650212963725525547358891913326891330856653496898893052128241595229960102011451745925606424592060467889924042084176744547263218839510882251317408993492347291935886868746983733795481870536057397480398642131346121537717579102354691974556488534019422429207600324457790939859942255730223900061445646009302014004242554231068689176829885651122403132470348061680310265601241643342933146688146235387104247172176280703505560222589769771550007778275589255425482586634185767087430031951819013825655788344647206866521959859084592895086451091356518740822300542417780590472823758387801210933963083389880860213974929000884234708259215425943810576245169665644609210707303614890751459082145738471668052985733693378185141477593896043274251765580984227516587426431490467804052209965940455885194891147946005511154986336116545258689361663758319923142792682739274692640086117390992781335462836225246817163998791139977938235999934322018246662115889280279408109941097475869695655951101801300664260420109244753645909973061645448385908743810709594306169200210222056125249857217289637215019565035045238594986049763503655780167298280055822751771252922451411356370168552870299110895447032403896081560512578265362408697206882763045261109940308640660543228737586635401076808550634536583428744086386583012301752720835900698132379160565901254887333508986794944041806266367349960026210148012124187536930337553974360408616306660029569770464061355186865613795979653375249216555564580381394770244134068789280335716992890519342624759109037281168439806751368798925292341452140000914676464364177969372110807124580248079276976908252200279085476018072844151853098512919352346713314786263732124008567795192839949033999471789175408753092152622494486189320776379119214349237842722448646143284192984209579206848273164875828609745520575238324 9916465601304602993511395111529161691001748855246738597633169838788769289619184738181552734266615517416796130521239557488269620123085594716529473371289704470920742657188354106802623580172450968046284283533015879533728131732453809777600603623623692182316744483526854027819876655898556343819944930471788904780487251335760892785095905678359236503730163214863246789800191371797892245501931190304211794432862637421617298142728686753884051107858729556613261433196921131520179354962811157216395802510158403976935813185858212921404253243566086228655158079512899384797812220274680318391928301853906076256281831244055434631452509369224495127999331431156921730653906002942378848380619854600617599295330942689049001077452217152525328599601421009631768561994467360430020731121065047731162382337050651946387356430804873969496817013265693631475979942138918735672500516203987871898116671222969288993683032512661709801971709654617108932294514142296499851892150669337941708327485390333759546012511801246073366144361014736874716879112571668253699493847530975905192218001223889381964377842968790815228036899552928121889995633653846554008271249487220100596868561485171789407025344012586995777014459023526051158720124586364417178448765514868203866396108850945326512108534601359925252217162884694910353298062085320143887051805107602518971770033768545986003062869516507938904395016542155299630263049474578630855638058884149066992863974966961889183362389826999151491183816969775767252829924096518430906902641301261623387152497647569885707560111993060520618033175405576388031499852221498598794016808467757684349425920490784001984110767943857405266463226401468496091888953237736755798129661465946778521320908295763476555001340674074417349737604518660124400697564971167882045341386110092263962383681753840381734378314927094299236173423983192532396904384354857673969802338902569849061877971403683821759183398693308760146503913468173244137385283207206578199718502690525366063017967360965213629348261653236887181308806400002624556196104400051535821066865357988040454240405023530814938293622684661764318498953828345509898720075301970452085769236314725960326909188672088876291557755701442218421617759205057616434948244348305121444336871069235126853987092087373925144610454919296615196710270076264355875878110216885100871308114915314198841251437144945409146724345060578574372930498785160908146796422560863320105709186891671921493012877113404797620101309032884464087570379100331532696345211534399533748891100156335470807218269012114928607935501749212842982762318566243393987453930974290337405013833122092773836475100266643134545968799320226538565348920431803554354783048619941949186165248609942478219852904172398436338522979647607369427198955024910426959397591497641572353599641104048131622897842206127 16045178391180011251164302924737459705585115023689172034672068746105532397080109734226058344574509482735609458781090115134814868307848496831978076250430784359894225527896592506799276041253839797770373118090974632461810935950319072155772778902684512593516672742834170156538474296630660507859980031237442932587747726184997673187480583891307804650724763898232432119198910112130815953530317517817430739524682315886439984055740590759499660312855109930138700971213389782741673946392030533424419823522666236841665286303717381313786505482914870211118894030074933618692833796720370303097287367734637330158026937443840461047136407020291615104100682915878559111066114834664801146900790809047244824202101407322457665255436703489904211501126139623021399395927871514444918243431729288390722740895223807081318008560206500775910235656392484636034228039453752738391401398736470632239584804855645035335000270201070437436764508220055341339153943740413153256969053858762611629395974446083983700662724764971598913503252928063766047735766068567146751622089126205865294229452969814988388969903436680739270121076297475385108835144536097871417264741834512036483737308468905584888895880069984476175656590369647588876299226941056391734937299534290633073996433308736266372050790331583825313662808893996924357540616316388833063881690758724922104240381830226296268664111159850872051083162777542403877435225755282136415860648653920617000642250556217314665949024012766238921215768788789592908618268743725297428862500385854518473603589004088626529860654410841111090856933793377598965462935611379459007991737468641919057685135916727812560355937609502014477170530016359247550971098976208423851115395159324963662798502191806750806766921658301933937164036009127928452907530911623767240232534056097775117370017870385640423739978685414222378966106722467225036990501745850455305265175127816666225876762543661759995183333015327006808619802748452652247326380683076273855669604491826030323438076605718859539321323298685273090052617109596930725396314622107661070924082647625255473805440068769409924343386188317544485797233884168261669972997753381808455937789185025071222356221075984957852070333966804627118824641968102877544888552988965664673074457704636203662537726623957353888696841502308916949431105976962488255038676118139988204817101710258240647517804494905435356872357184766111303268052759521316763103082590433090569770542078537535288992530488654014175665889414279234331704447889611868413338102053742158508000137437503910613969637811040220949387641750127519447126496535615504794578511222369614381922085322371859312493173110794987644481718672573251880135184163927562922578241459890983185637037785351231312005526666884625659299358766821718665041677473556570243590575707220779201872805979876741368418417444451 25961643992484614244675698036266621396586863878935910632305238584894301686699294472407611078841125000152405589302329672623084488430934091548507549621720488830814968185084946613601899621426290765816657401623990511995539067682772881933373382526308204775833417226361024184358350952529216851679924961709231837368234977520758565972576489569667041154454927113095678908999101483928708199032248708121642533957544953308057282198469277513383711420713839486751962404410310914261853301354841690640815626032824640818601099489575594235190758726480956439774052109587833003490646016995050621489215669588543406414308768687895895678588916389516110232100014347035480841720020837607179995281410663647862423497432350011506666332888920642429540100727560632653167957922338874874938974552794336121885123232274459027705364991011374745407052669658178267510207981592671474063901914940458504137701476078614324328683302713732147238736217874672450271448457882709653108861204528100553337723459836417743246675236566217672279647613942800640764614878640235400451115936657181770486447454193704370353347746405471554498157975850403506998830778189944425425535991321732137080605869954077374295921224082571471952671049393173640035019351527420808913386065049158836940392542159681592884159324932943750565879971778691834710838678401708976950933495866327441076010415598772282271726980676358810955478179319697703507698275229860767271498707538069683993506225523179203849311413839765390412399585758565360161448192840243728335765141687116141860756086651658512237420766403901631708890109198953986996962787832878057802008545936399603407111056407511814544466705553359419743633756417827743642860052213945179649245056625271742184119410487570227361768262332376351286901640527788052853605095882791649285573920166190039079753699624226022158118293612508521615139530705659757433894886100708129275067514030386515287754733947345581754366731708635766955123716216625896384711663890282852055388107182351396386456043966684073168669584951922160271361423509599555281592419022159196891990948005613295928045845092300224862637008872979308804296187712513771568693073055352260541707025499751031549265409748073834143628089668246845540442401173160493979836797337270786117411328773871330516524818711331279033307296421605532146141376053226844130916786335025089076125216625572439488769241639850844503596702245344685676198551544682224909899505151296410675479728970209456782005407602058811795767198447163698419274826989943401109683313588141692256891237593839381421187906823155149557323143499340362429888815101858898782032442196659951786935918444464633148968273377438122190450517992799790445484104595731117277361290079832932371802286395293709531858430839283061997822338414429088092240632498466997202988167204862351555472447083924872991316259650578 42006822383664625495840000961004081102171978902625082666977307330999834083779404206633669423415634482888015048083419787757899356738782588380485625872151273190709193712981539120401175662680130563587030519714965144457350003633091954089146161428992717369350089969195194340896825249159877359539904992946674769955982703705756239160057073460974845805179691011328111028198011596059524152562566225939073273482227269194497266254209868272883371733568949416890663375623700697003527247746872224065235449555490877660266385793292975548977264209395826650892946139662766622183479813715420924586503037323180736572335706131736356725725323409807725336200697262914039952786135672271981142182201472695107247699533757333964331588325624132333751601853700255674567353850210389319857217984523624512607864127498266109023373551217875521317288326050662903544436021046424212455303313676929136377286280934259359663683572914802584675500726094727791610602401623122806365830258386863164967119434282501726947337961331189271193150866870864406812350644708802547202738025783387635780676907163519358742317649842152293768279052147878892107665922726042296842800733156244173564343178422982959184817104152555948128327639762821228911318578468477200648323364583449470014388975468417859256210115264527575879542780672688759068379294718097810014815186625052363180250797428998578540391091836209683006561342097240107385133500985142903687359356191990300994148476079396518515260437852531629333615354547354953070066461583969025764627642072970660334359675655747138767281420814742742799747042992331585962425723444257516810000283405041522464796192324239627104822643162861434220804286434186991193831151190153603500360451784596705846917912679376978168535183990678285224065676536915981306512626794415416525806454222287814197123717494611662581858272297922743994105637428126982470885387846558584580332689158203181513631496491007341749550064723962773763743518965078548632038044573359125911057711674177426709894120572402932707990908250607433361414040619196486006988733644266857962915030653238551401851285161069634786980395061296853290093421596682033238666070808734068997644814684776102771621630824058791995698423635051472659267043141263371524725350326236450790485786478507534179062545335288632922004137923914449095572482030189332385955462453165077280942318335830680136287046134756279860469059430110796979466604304203541673002587741729501245250271048746992070997938090712825971433087861442932750979274879555269523021415641883850764891375031343292035157544634195370506710785249467881877015311637474403576610953419029566168858003766836492461461446488233109834932236665373042325619288759658680199939531539723915557439324180644940843863957506167687657121697181250806757282309972023567446578742912083130757345253063801614359734677095029 67968466376149239740515698997270702498758842781560993299282545915894135770478698679041280502256759483040420637385749460380983845169716679928993175493871762021524161898066485734003075284106421329403687921338955656452889071315864836022519543955300922145183507195556218525255176201689094211219829954655906607324217681226514805132633563030641886959634618124423789937197113079988232351594814934060715807439772222502554548452679145786267083154282788903642625780034011611265380549101713914706051075588315518478867485282868569784168022935876783090666998249250599625674125830710471546075718706911724142986644474819632252404314239799323835568300711609949520794506156509879161137463612136342969671196966107345470997921214544774763291702581260888327735311772549264194796192537317960634492987359772725136728738542229250266724340995708841171054644002639095686519205228617387640514987757012873683992366875628534731914236943969400241882050859505832459474691462914963718304842894118919470194013197897406943472798480813665047576965523349037947653853962440569406267124361357223729095665396247623848266437027998282399106496700915986722268336724477976310644949048377060333480738328235127420080998689155994868946337929995898009561709429632608306954781517628099452140369440197471326445422752451380593779217973119806786965748682491379804256261213027770860812118072512568493962039521416937810892831776215003670958858063730059984987654701602575722364571851692297019746014940305920313231514654424212754100392783760086802195115762307405651004702187218644374508637152191285572959388511277135574612008829341441125871907248731751441649289348716220853964438042852014734836691203404098783149605508409868448031037323166947205530303446323054636510967317064704034160117722677207065811380374388477853276877417118837684739976565910431265609245168133786739904780273947266713855400203188589696801386230438352923503916796432598540718867235181704445016749708463641977966445818856528823096350164539087005876660493202529593632775464128796041288581152666426054854905978658851847329897130253369859649617403934276162094389609309195804807359143864086329539351840184527134320887040572132626139326513303298318199709444314423865504562147663507236907897115252378864695587364046619911955311434345519981241713858083416176516872248788190166357067534961403119625056287774607124364065761675455482655665155848885766582902092893025911920730000018956448853003345692771637767200286308606631170254101869498670632704729230025543021782612625182673456345451457350520064033928748808244306904126739333302358643395615689517955793922211301125610429719865671232025382754658172832771103393355389797477300821619556847929241610575938650375722388345450749654944035595679894849522942470490564649566910116945482312817700147726487351050936745607 109975288759813865236355699958274783600930821684186075966259853246893969854258102885674949925672393965928435685469169248138883201908499268309478801366023035212233355611048024854404250946786551892990718441053920800910239074948956790111665705384293639514533597164751412866152001450848971570759734947602581377280200384932271044292690636491616732764814309135751900965395124676047756504157381159999789080921999491697051814706889014059150454887851738320533289155657712308268907796848586138771286525143806396139133871076161545333145287145272609741559944388913366247857605644425892470662221744234904879558980180951368609130039563209131560904501408872863560747292292182151142279645813609038076918896499864679435329509540168907097043304434961144002302665622759653514653410521841585147100851487270991245752112093447125788041629321759504074599080023685519898974508542294316776892274037947133043656050448543337316589737670064128033492653261128955265840521721301826883271962328401421197141351159228596214665949347684529454389316168057840494856591988223957042047801268520743087837983046089776142034716080146161291214162623642029019111137457634220484209292226800043292665555432387683368209326328918816097857656508464375210210032794216057776969170493096517311396579555461998902324965533124069352847597267837904596980563869116432167436512010456769439352509164348778176968600863514177918277965277200146574646217419922050285981803177681972240879832289544828649079630294853275266301581116008181779865020425833057462529475437963152789771983608033387117308384195183617158921814234721393091422009112746482648336703441055991068754111991879082288185242329286201726030522354594252386649965960194465153877955235846324183698838630313732921735032993601620015466630349471622482337186828610765667474001134613449347321834838208354009603350805561913722375665661793825298435732892346792878315017726929360265253466861156561314482610754146782993648787753037001103877503530530706249806244285111489938584651401453137026994189504747992527295569886310692912817821009312090398731748415414439494436597798995573015384483030905877838046025214672820398536996654869303237092508671396191418135024936938349790858976487455687237029287497989743687698382901730886398874649909381908544877315572269434430337286340113605508902827711241355243638009853297233799761343333909363404224534821105566279635131760153089308255904680634755413165980271067703440924001283783484463738633374170049563921233376749053940155726144871909393786673987656525965491502996091545890570744713998276126183919438376807705935254349034719084124651925978137618071891166353904341860314991323545875096722682115048477677240353159280763486680934756583591219586345851618437312065732776930701606805252442514132096145653029028613070162953211528101710785613840636 177943755135963104976871398955545486099689664465747069265542399162788105624736801564716230427929153448968856322854918708519867047078215948238471976859894797233757517509114510588407326230892973222394406362392876457363128146264821626134185249339594561659717104360307631391407177652538065781979564902258487984604418066158785849425324199522258619724448927260175690902592237756035988855752196094060504888361771714199606363159568159845417538042134527224175914935691723919534288345950300053477337600732121914618001356359030115117313310081149392832226942638163965873531731475136364016737940451146629022545624655771000861534353803008455396472802120482813081541798448692030303417109425745381046590093465972024906327430754713681860335007016222032330037977395308917709449603059159545781593838847043716382480850635676376054765970317468345245653724026324615585493713770911704417407261794960006727648417324171872048503974614033528275374704120634787725315213184216790601576805222520340667335364357126003158138747828498194501966281691406878442510445950664526448314925629877966816933648442337399990301153108144443690320659324558015741379474182112196794854241275177103626146293760622810788290325018074810966803994438460273219771742223848666083923952010724616763536948995659470228770388285575449946626815240957711383946312551607811971692773223484540300164627236861346670930640384931115729170797053415150245605075483652110270969457879284547963244404141237125668825645235159195579533095770432394533965413209593144264724591200270558440776685795252031491817021347374902731881202745998528666034017942087923774208610689787742510403401340595303142149680372138216460867213557998351169799571468604333601908992559013271389229142076636787558246000310666324049626748072148829548148567202999243520750878551732287032061811404118785275212595973695700462280445935741092012291133095535382575116403957367713188757383657589159855201477989328487438665537461500643081843949349387235072902594449650576944461311894655666620626964968876788568584151038977118967672726987970942246061645545667809354086215202929849177478872640215073642853384358536906728076348495053830371413395711968324044274351450241648109058685931770111102533849645653250924606280016983265263570237273428528456832627006614954411579000198197021685419699960029545409995077388258636919386399621683970528588600582781021762290796916001975074838806773527781325086710271086659889777004629476256101505833660478656195091487478618552610788430874101934936808456600281708638947848447548896410634778642747084370490823565116141008293897744650408602080445848189438743682320886219575573885697745981718707867826075470438275154541174778837611415922545332522241595308734197069186967009768372610596456328194913004696745712563145974095382980653359254589061836550586243 287919043895776970213227098913820269700620486149933145231802252409682075478994904450391180353601547414897292008324087956658750248986715216547950778225917832445990873120162535442811577177679525115385124803446797258273367221213778416245850954723888201174250701525059044257559179103387037352739299849861069361884618451091056893718014836013875352489263236395927591867987362432083745359909577254060293969283771205896658177866457173904567992929986265544709204091349436227803196142798886192248624125875928310757135227435191660450458597226422002573786887027077332121389337119562256487400162195381533902104604836722369470664393366217586957377303529355676642289090740874181445696755239354419123508989965836704341656940294882588957378311451183176332340643018068571224103013581001130928694690334314707628232962729123501842807599639227849320252804050010135484468222313206021194299535832907139771304467772715209365093712284097656308867357381763742991155734905518617484848767550921761864476715516354599372804697176182723956355597859464718937367037938888483490362726898398709904771631488427176132335869188290604981534821948200044760490611639746417279063533501977146918811849193010494156499651346993627064661650946924648429981775018064723860893122503821134074933528551121469131095353818699519299474412508795615980926876420724244139129285233941309739517136401210124847899241248445293647448762330615296820251292903574160556951261056966520204124236430781954317905275530012470845834676886440576313830433635426201727254066638233711230548669403285418609125405542558519890803016980719921757456027054834406422545314130843733579157513332474385430334922701424418186897735912592603556449537428798798755786947794859595572927980706950520479981033304267944065093378421620452030485754031610009188224879686345736379383646242327139284815946779257614184656111597534917310726865987882175453431421684297073454010850518745721169684088743475270432314325214537644185721452879917941322708838734762066883045963296108803647621154473624781095879720925287811880490547997283032644793393961082248848522813001925422192863355671120951480899409573209727126613345149923133608505904383364515462409376387179997899917662419225798339563137143642994612304662918714151662444887182810437001709942578884388841916286538310627194322527671270900653633087241555870719147742955593333932813135403886588041925928676155064383094711454162536738252690542154363330701005913259740565244467034648705759012720855367606550944157018973844330595130587938234604439351443640442301205523356745360496674743003492948714229152093685127686205097774167576361754212052573479915746012737305264582964548757585486752831781527938118374902603480089105832814895080048687624279075501149541298063133447355518828841858216175002708453143606570782690772622164426879 465862799031740075190098497869365755800310150615680214497344651572470181103731706015107410781530700863866148331179006665178617296064931164786422755085812629679748390629277046031218903408572498337779531165839673715636495367478600042380036204063482762833967805885366675648966356755925103134718864752119557346489036517249842743143339035536133972213712163656103282770579600188119734215661773348120798857645542920096264541026025333749985530972120792768885119027041160147337484488749186245725961726608050225375136583794221775567771907307571395406013829665241297994921068594698620504138102646528162924650229492493370332198747169226042353850105649838489723830889189566211749113864665099800170099083431808729247984371049596270817713318467405208662378620413377488933552616640160676710288529181358424010713813364799877897573569956696194565906528076334751069961936084117725611706797627867146498952885096887081413597686898131184584242061502398530716470948089735408086425572773442102531812079873480602530943445004680918458321879550871597379877483889553009938677652528276676721705279930764576122637022296435048671855481272758060501870085821858614073917774777154250544958142953633304944789976365068438031465645385384921649753517241913389944817074514545750838470477546780939359865742104274969246101227749753327364873188972332056110822058457425850039681763638071471518829881633376409376619559384030447065856368387226270827920718936251068167368640572019079986730920765171666425367772656872970847795846845019345991978657838504269671325355198537450100942426889933422622684219726718450423490044996922330196753924820631476089560914673069688572484603073562634647764949470590954726249108897403132357695940353872866962157122783587308038227033614934268114720126493769281578634321234609252708975758238078023411445457646445924560028542752953314646936557533276009323017999083417558028547825641664786642768234176334881024885566732803757870979862676038287267565402229305176395611433184412643827507275190764470268248119442501569664463871964264930848163274985253974890855039506750058202609028204855271370342228311336025123752793931746633854689693644976963979919300095332839506683727837421646008976348350995909442096986789296245536910942935697416926015124456238965458542569585499343253495286736507648879742227631300446063628164629814507638534142577277304461401735986667609804216725592157039457933518227690318063339400813241023220478010542735996666750300695127361954104208333986159161732587893075779267403587188219943243387199891189338711840301999492444867165566568609089722523049838335536288285543622357015105436532938793055489631710483286983290832374833055925027986322702716955986318526025421628074410203814245756811246085269522151894519461642268523525587570779320976803836124259930037279834458715013122 753781842927517045403325596783186025500930636765613359729146903982152256582726610465498591135132248278763440339503094621837367545051646381334373533311730462125739263749439581474030480586252023453164655969286470973909862588692378458625887158787370964008218507410425719906525535859312140487458164601980626708373654968340899636861353871550009324702975400052030874638566962620203479575571350602181092826929314125992922718892482507654553523902107058313594323118390596375140680631548072437974585852483978536132271811229413436018230504533993397979800716692318630116310405714260876991538264841909696826754834329215739802863140535443629311227409179194166366119979930440393194810619904454219293608073397645433589641311344478859775091629918588384994719263431446060157655630221161807638983219515673131638946776093923379740381169595924043886159332126344886554430158397323746806006333460774286270257352869602290778691399182228840893109418884162273707626682995254025571274340324363864396288795389835201903748142180863642414677477410336316317244521828441493429040379426675386626476911419191752254972891484725653653390303220958105262360697461605031352981308279131397463769992146643799101289627712062065096127296332309570079735292259978113805710197018366884913404006097902408490961095922974488545575640258548943345800065393056300249951343691367159779198900039281596366729122881821703024068321714645743886107661290800431384871979993217588371492877002801034304636196295184137271202449543313547161626280480445547719232724476737980901874024601822868710067832432491942513487236707438372180946072051756736619299238951475209668718428005544074002819525774987052834662685383183558282698646326201931113482888148732462535085103490537828518208066919202212179813504915389733609120075266219261897200637924423759790829103888773063844844489532210928831592669130810926633744865071299733481979247325961860096779084695080602194569655476279028303294187890575931453286855109223117718320271919174710710553238486873273915869273916126350760343592889552742728653822982537007535648433467832307051131841206780693563205583982456976604652203504956360981303038794900097588425204478697354969093104224601643908894010770221707781660123932939240149215605854411568588460011639049402460252512164383732095411573274818276074064755302571346717261251871370378357681885532870638394214871390554197846142654268312103841028229681852854801592091355395386551179016455995737231994767729776067713116929189353765712676744912049623597998717776158177847826551334829781013045825356237805363840309572102038436752201932020663974490641396524591467190744991366535405377723220592247873796923590641411780818104230655074361221129505510733907225098894294444435525160770671693192582595089624042354429428995495979512289267866500819970607080879440001 1219644641959257120593424094652551781301240787381293574226491555554622437686458316480606001916662949142629588670682101287015984841116577546120796288397543091805487654378716627505249383994824521790944187135126144689546357956170978501005923362850853726842186313295792395555491892615237243622177029354100184054862691485590742380004692907086143296916687563708134157409146562808323213791233123950301891684574857046089187259918507841404539054874227851082479442145431756522478165120297258683700547579092028761507408395023635211586002411841564793385814546357559928111231474308959497495676367488437859751405063821709110135061887704669671665077514829032656089950869120006604943924484569554019463707156829454162837625682394075130592804948385993593657097883844823549091208246861322484349271748697031555649660589458723257637954739552620238452065860202679637624392094481441472417713131088641432769210237966489372192289086080360025477351480386560804424097631084989433657699913097805966928100875263315804434691587185544560872999356961207913697122005717994503367718031954952063348182191349956328377609913781160702325245784493716165764230783283463645426899083056285648008728135100277104046079604077130503127592941717694491729488809501891503750527271532912635751874483644683347850826838027249457791676868008302270710673254365388356360773402148793009818880663677353067885559004515198112400687881098676190951964029678026702212792698929468656538861517574820114291367117060355803696570222200186518009422127325464893711211382315242250573199379800360318811010259322425365136171456434156822604436117048679066816053163772106685758279342678613762575304128848549687482427634853774513008947755223605063471178828502605329497242226274125136556435100534136480294533631409159015187754396500828514606176396162501783202274561535218988404873032285164243478529226664086935956762864154717291510527072967626646739547318871415483219455222209082786174274050566614218720852257338528294113931705103587354538060513677637744184117393358627920424807464853817673576817097967790982426503472974582365253740869411635964933547812293793001728404997436702994835992732439877061568344504574030194475776832062023289917870359121217617223757110722235485686126548790108985514475136095288367918795081749883075348906860011325924953806982933871792780889416501184885996216028110147942855616607377221807650359379860469143298961747909543172864931492168636409771657026998731733898745068424903429667221137523339924874409332805125402865402304964378121091213751226019119724886127355730250231005876140711128159275251770356200262776185018881606572627277930159590895009433703879231164629298423697336808804426933372030347539655530932361981635302708540201246771246040193845087102056731892565880016999774816956316125392126430857250441539594453123 1973426484886774165996749691435737806802171424146906933955638459536774694269184926946104593051795197421393029010185195908853352386168223927455169821709273553931226918128156208979279864581076545244108843104412615663456220544863356959631810521638224690850404820706218115462017428474549384109635193956080810763236346453931642016866046778636152621619662963760165032047713525428526693366804474552482984511504171172082109978810990349059092578776334909396073765263822352897618845751845331121675133431576007297639680206253048647604232916375558191365615263049878558227541880023220374487214632330347556578159898150924849937925028240113300976304924008226822456070849050446998138735104474008238757315230227099596427266993738553990367896578304581978651817147276269609248863877082484291988254968212704687288607365552646637378335909148544282338225192329024524178822252878765219223719464549415719039467590836091662970980485262588866370460899270723078131724314080243459228974253422169831324389670653151006338439729366408203287676834371544230014366527546435996796758411381627449974659102769148080632582805265886355978636087714674271026591480745068676779880391335417045472498127246920903147369231789192568223720238050004061809224101761869617556237468551279520665278489742585756341787933950223946337252508266851214056473319758444656610724745840160169598079563716634664252288127397019815424756202813321934838071690968827133597664678922686244910354394577621148596003313355539940967772671743500065171048407805910441430444106791980231475073404402183187521078091754917307649658693141595194785382189100435803435352402723581895426997770684157836578123654623536740317090320236958071291646401549806994584661716651337792032327329764662965074643167453338692474347136324548748796874471767047776503377034086925542993103665423992052249717521817375172310121895794897862590507729226017024992506320293588506836326403566496085414024877685361814477568238457190150174139112447751411832251977022762065248613752164511018099986667274754271185151057743370416305470920950327989962151906442414672304872710618416658496753396276249978333057200941659355817295771234777159156769709052727549444869936286624933826764369891439325005417234655174725835342154644520554102935147734337770379047593914266807444318433286144201027871738236443139498150668372555264353897913643018581249831478767776005496502034128781247139989977591396027666523583524031796322836043454727471130739836154679497380338066712693690587086077717175026463401022740536298939040302560848900737931952711968055594846185712813166596027453702376864237266826415406198039818022921526126300387156924471479038426222014338748589622531164027104708760785036443095888860401602834645682296406810865538279684651821516608234446428770312935828414659992931677221048620473893124 3193071126846031286590173786088289588103412211528200508182130015091397131955643243426710594968458146564022617680867297195869337227284801473575966110106816645736714572506872836484529248575901067035053030239538760353002578501034335460637733884489078417692591134002010511017509321089786627731812223310180994818099037939522384396870739685722295918536350527468299189456860088236849907158037598502784876196079028218171297238729498190463631633650562760478553207409254109420097010872142589805375681010668036059147088601276683859190235328217122984751429809407438486338773354332179871982890999818785416329564961972633960072986915944782972641382438837259478546021718170453603082659589043562258221022387056553759264892676132629120960701526690575572308915031121093158340072123943806776337526716909736242938267955011369895016290648701164520790291052531704161803214347360206691641432595638057151808677828802581035163269571342948891847812379657283882555821945165232892886674166519975798252490545916466810773131316551952764160676191332752143711488533264430500164476443336579513322841294119104409010192719047047058303881872208390436790822264028532322206779474391702693481226262347198007193448835866323071351313179767698553538712911263761121306764740084192156417152973387269104192614771977473404128929376275153484767146574123833012971498147988953179416960227393987732137847131912217927825444083911998125790035720646853835810457377852154901449215912152441262887370430415895744664342893943686583180470535131375335141655489107222482048272784202543506332088351077342672785830149575752017389818306149114870251405566495688581185277113362771599153427783472086427799517955090732584300594156773412058055840545153943121529569556038788101631078267987475172768880767733707763984628868267876291109553430249427326195378226959211040654590554102539415788651122458984798547270593380734316503033393261215153575873722437911568633480099894444600651842289023804368894991369786279705946183682126349419786674265842148762284104060633382191609958522597188089882288018918118972388655379416997037558613580030052623430301208570042980061462198378362350653288503674654220725114213626757743920646768348648223744634729012656942229174345377410211521468703434629539617410283829626138297842675664149882793225293297470125981678721170314932279040084873740150350113941753166524105448086144997813146861413989250390438951725500939200531455075692668206094493070453459205029484904579582927047559204236033615461495410522300429328803327704914420030254053786868020462818080067698305825852061853524294755302705472733064500043011434287804612445300851685717195396590628350710203055520438036085398426958097399135056300440567375457870495704311374846929067652851059383366786708553409174114463428545129892144540052119362534471490160068346247 5166497611732805452586923477524027394905583635675107442137768474628171826224828170372815188020253343985415646691052493104722689613453025401031135931816090199667941490635029045463809113156977612279161873343951376016458799045897692420269544406127303108542995954708228626479526749564336011841447417266261805581335384393454026413736786464358448540156013491228464221504573613665376600524842073055267860707583199390253407217540488539522724212426897669874626972673076462317715856623987920927050814442244043356786768807529732506794468244592681176117045072457317044566315234355400246470105632149132972907724860123558810010911944184896273617687362845486301002092567220900601221394693517570496978337617283653355692159669871183111328598104995157550960732178397362767588936001026291068325781685122440930226875320564016532394626557849708803128516244860728685982036600238971910865152060187472870848145419638672698134250056605537758218273278928006960687546259245476352115648419942145629576880216569617817111571045918360967448353025704296373725855060810866496961234854718206963297500396888252489642775524312933414282517959923064707817413744773600998986659865727119738953724389594118910340818067655515639575033417817702615347937013025630738863002208635471677082431463129854860534402705927697350466181884542004698823619893882277669582222893829113349015039791110622396390135259309237743250200286725320060628107411615680969408122056774841146359570306730062411483373743771435685632115565687186648351518942937285776572099595899202713523346188604726693853166442832259980435488842717347212175200495249550673686757969219270476612274884046929435731551438095623168116608275327690655592240558323219052640502261805280913561896885803451066705721435440813865243227904058256512781503340034924067612930464336352869188481892383203092904308075919914588098773018253882661137778322606751341495539713554803660412200126004407654047504977579806415129410527480994519069130482234031117778435659149111485035288018006659780384090727908136462795109580340558506187758939868446962350807285859411709863486290648469281927054604846292958394519399320021706470584274909431379881883922679485293365516704635273157571399098904096267234591580032584937356810858079150093720345431563963908676890269578416690237543726583614327009550459406758071777190753246295414704011855396185105355279564912773818643363448118031637578941703092335228197978659216700002417329113908186676160224740734262424427897270948727306048581488239475455792204350445450718969294356347716921200750032779666361420698247566337461351330159175109928737309837849694002652263323773211843495783747552822189241481742452374833988049489261426239765061225603818553759356105914209492611364059661924921646471360374925782348909857315442827972954712112294211692538780542239371 8359568738578836739177097263612316983008995847203307950319898489719568958180471413799525782988711490549438264371919790300592026840737826874607102041922906845404656063141901881948338361732878679314214903583490136369461377546932027880907278290616381526235587088710239137497036070654122639573259640576442800399434422332976410810607526150080744458692364018696763410961433701902226507682879671558052736903662227608424704456269986729986355846077460430353180180082330571737812867496130510732426495452912079415933857408806416365984703572809804160868474881864755530905088588687580118452996631967918389237289822096192770083898860129679246259069801682745779548114285391354204304054282561132755199360004340207114957052346003812232289299631685733123269647209518455925929008124970097844663308402032177173165143275575386427410917206550873323918807297392432847785250947599178602506584655825530022656823248441253733297519627948486650066085658585290843243368204410709245002322586462121427829370762486084627884702362470313731609029217037048517437343594075296997125711298054786476620341691007356898652968243359980472586399832131455144608236008802133321193439340118822432434950651941316917534266903521838710926346597585401168886649924289391860169766948719663833499584436517123964727017477905170754595111260817158183590766468006110682553721041818066528432000018504610128527982391221455671075644370637318186418143132262534805218579434626996047808786218882503674370744174187331430296458459630873231531989478068661111713755085006425195571618972807270200185254793909602653221318992293099229565018801398665543938163535714959057797551997409701034884979221567709595916126230418423239892834715096631110696342806959224035091466441842239168336799703428289038012108671791964276766132208302800358722483894585780195383860119342414133558898630022454003887424140712867459685048915987485657998573106816018813988073848442319222680985077474251015781252816504798887964121852020310823724619341275460904821962283848808542668194788541518654405068102937746596070046958786565934739462665276408747422099870678521905357355813416335938455981597698384057123872778584085600606998136306243037286163472983921381316033827916753209463765925409995148878279561513779633337755715393590046974732945242566573030769019881084452991229180577073004056230838120035565054125797149351629460727651057771631790224862107282028017893428593274428729433734909368208511822184361645881189709645313845351475456475184760921510076898761775885121007678150365138999548410134584941663568112847364667246550309419861756106632864647842993237352849283981807264708624624897560691180338181172899444537262890410919386476447358825374821361666171194011629851810225584339540431712512984305013258068928334956463373285860572720117494764231656746164028940610585618 13526066350311642191764020741136344377914579482878415392457666964347740784405299584172340971008964834534853911062972283405314716454190852275638237973738997045072597553776930927412147474889856291593376776927441512385920176592829720301176822696743684634778583043418467763976562820218458651414707057842704605980769806726430437224344312614439192998848377509925227632466007315567603108207721744613320597611245426998678111673810475269509080058504358100227807152755407034055528724120118431659477309895156122772720626216336148872779171817402485336985519954322072575471403823042980364923102264117051362145014682219751580094810804314575519876757164528232080550206852612254805525448976078703252177697621623860470649212015874995343617897736680890674230379387915818693517944125996388912989090087154618103392018596139402959805543764400582127047323542253161533767287547838150513371736716013002893504968668079926431431769684554024408284358937513297803930914463656185597117971006404267057406250979055702444996273408388674699057382242741344891163198654886163494086946152772993439917842087895609388295743767672913886868917792054519852425649753575734320180099205845942171388675041535435827875084971177354350501380015403103784234586937315022599032769157355135510582015899646978825261420183832868105061293145359162882414386361888388352135943935647179877447039809615232524918117650530693414325844657362638247046250543878215774626701491401837194168356525612566085854117917958767115928574025318059879883508421005946888285854680905627909094965161411996894038421236741862633656807835010446441740219296648216217624921504934229534409826881456630470616530659663332764032734505746113895485075273419850163336845068764504948653363327645690235042521138869102903255336575850220789547635548337724426335414358922133064572342011725617226463206705942368591986197158966750120822827238594236999494112820370822474400273974446726876728490055054057430910663343985793407033252334254341941503055000424572389857250301855468323052285516449655117200177683278305102257805898655012897090269951135820457285586161326991187284410418262628896850500997018405763594457053493516980488882058985728330651680177619194538887432926820849476698357505442580086235090419592929727058101146957553955651623214820983263268312746464698780000779639983831075833421591366330979758137652545536734816007215970545450433588310225313665596835131685609656927412394126068210929151298269832557349934386048107775903353746133488227558658387001251340913212028595815857968842766482301862864318145627031028667248556986199217457963023822952921974662687133675809916971948398109404186964085733995088686019005342785753374525936620251614586422891775012565389207916139793832151795772174909226659729429303260738812283143176015548090449476343950957856567721152824989 21885635088890478930941118004748661360923575330081723342777565454067309742585770997971866753997676325084292175434892073705906743294928679150245340015661903890477253616918832809360485836622734970907591680510931648755381554139761748182084100987360066161014170132128706901473598890872581290987966698419147406380204229059406848034951838764519937457540741528621991043427441017469829615890601416171373334514907654607102816130080461999495435904581818530580987332837737605793341591616248942391903805348068202188654483625142565238763875390212289497853994836186828106376492411730560483376098896084969751382304504315944350178709664444254766135826966210977860098321138003609009829503258639836007377057625964067585606264361878807575907197368366623797500026597434274619446952250966486757652398489186795276557161871714789387216460970951455450966130839645594381552538495437329115878321371838532916161791916521180164729289312502511058350444596098588647174282668066894842120293592866388485235621741541787072880975770858988430666411459778393408600542248961460491212657450827779916538183778902966286948712011032894359455317624185974997033885762377867641373538545964764603823625693476752745409351874699193061427726612988504953121236861604414459202536106074799344081600336164102789988437661738038859656404406176321066005152829894499034689664977465246405879039828119842653446100041752149085401489027999956433464393676140750579845280926028833241977142744495069760224862092146098546225032484948933111415497899074607999999609765912053104666584134219267094223676030651465286878126827303545671305238098046881761563085040649188592207378878866331505501509881231042359948860736164537135377909988516481274033187875723728983744829769487929403379320842297391941267445247642185066313767756640524785057898253507913259956202131068031360022105335964822595873621299679617580507876154581722657492685927186841288388347822889046099409475132528308446691916160490592294997374186274652765227674341700033294679212585704276865720480304991173771605245786216051698327852857441578831829732616412229204707686032005513092641766231678964835306482594716789820718329832077602581095880195291971367937843650603115920203466754737602686162123430852575235113369981106709360395856862351144002626356160063549836299081766345783232992008820560904079889652429486366544812263449694888364276734867028317082223813172332595693614728560278884085656846129035436419440973482631478438539644031361953127378810221318249149068735285763027226034219706746180996968391176616886804527886258474395695913798866406060973564595888470795915212015536417657617181680573023006964878144423915167988130556268233196672761002383979076989407784557946206577019059726365378171692227484687893531672987498231595695275656429036588268207944240575607704020596661763410607 35411701439202121122705138745885005738838154812960138735235232418415050526991070582144207725006641159619146086497864357111221459749119531425883577989400900935549851170695763736772633311512591262500968457438373161141301730732591468483260923684103750795792753175547174665450161711091039942402673756261852012360974035785837285259296151378959130456389119038547218675893448333037432724098323160784693932126153081605780927803890937269004515963086176630808794485593144639848870315736367374051381115243224324961375109841478714111543047207614774834839514790508900681847896234773540848299201160202021113527319186535695930273520468758830286012584130739209940648527990615863815354952234718539259554755247587928056255476377753802919525095105047514471730405985350093312964896376962875670641488576341413379949180467854192347022004735352037578013454381898755915319826043275479629250058087851535809666760584601106596161058997056535466634803533611886451105197131723080439238264599270655542641872720597489517877249179247663129723793702519738299763740903847623985299603603600773356456025866798575675244455778705808246324235416240494849459535515953601961553637751810706775212300735012188573284436845876547411929106628391608737355823798919437058235305263429934854663616235811081615249857845570906964717697551535483948419539191782887386825608913112426283326079637735075178364217692282842499727333685362594680510644220018966354471982417430670436145499270107635846078980010104865662153606510266992991299006320080554888285464446817681013761549295631263988262097267393327920534934662313992113045457394695097979188006545583418126617205760322961976118040540894375123981595241910651030862985261936331437370032944488233932398193097133619638421841981166494844522781823492405855861403304978249211393312612430046324528544142793648586485312041907191187859818458646367701330703393175959656986798747557663762788621797335772976137965187582365877602579504476385702030626520528994706730729342124605684536462887559745188772765821440828888805423469494356800585658756096591728920002567548049661993272193332504279926176649941593732156983591735195584312786885571119561584762254277699698589523828222310459090899681558452162860480936295155321348460400699639087453958009308697958277979374884533099567394512810482012992788460544735155723074020852697524570401102240425099092742082998862532657401482557909359211563691964493742584258523161504630370124780901310995889578417410060903282163967451737376627393672764278566947431735341996854937233943099188667392204404101426724581047423392260191022558912293748837186678223551333427098652521421116369065108509649163076816575273575982426135528320599328603994207449721219142408267642505172003844023256862802758332716927534856434087939572212603816298393716919558661877164382916235596 57297336528092600053646256750633667099761730143041862078012797872482360269576841580116074479004317484703438261932756430817128203044048210576128918005062804826027104787614596546133119148135326233408560137949304809896683284872353216665345024671463816956806923307675881566923760601963621233390640454680999418741178264845244133294247990143479067913929860567169209719320889350507262339988924576956067266641060736212883743933971399268499951867667995161389781818430882245642211907352616316443284920591292527150029593466621279350306922597827064332693509626695728788224388646504101331675300056286990864909623690851640280452230133203085052148411096950187800746849128619472825184455493358375266931812873551995641861740739632610495432292473414138269230432582784367932411848627929362428293887065528208656506342339568981734238465706303493028979585221544350296872364538712808745128379459690068725828552501122286760890348309559046524985248129710475098279479799789975281358558192137044027877494462139276590758224950106651560390205162298131708364283152809084476512261054428553272994209645701541962193167789738702605779553040426469846493421278331469602927176297775471379035926428488941318693788720575740473356833241380113690477060660523851517437841369504734198745216571975184405238295507308945824374101957711805014424692021677386421515273890577672689205119465854917831810317734034991585128822713362551113975037896159716934317263343459503678122642014602705606303842102250964208378638995215926102714504219155162888285074212729734118428133429850531082485773298044793207413061489617537784350695492741979740751091586232606718824584639189293481619550422125417483930455978075188166240895250452812711403220820211962916143022866621549041801162823463886785790227071134590922175171061618773996451210865937959584484746273861679946507417377872013783733439758325985281838579547757682314479484674744505051176969620224819075547440320110674324294495664966977997028000706803647471958403683824638979215675473264022054493246126432002660410669255710408498913511613538170560749735183960278866700958225338017372567942881620558567463466186451985405031116717648722142680642449569671066527367478825426379294366436296054849022604367147730556461830381806348447849814871659841960904335534948082935866476279156265245984797281105639235612726450339064069382664551935313463369476950027179614881214654890505052826292252243377828241104652196941049811098263532789434429222448772014030660974188769986525696128958527305792981651442088177851905625119716075471920090662575822420494846289798321164587154800764544752398693759968991044280333094444123333943252933564331064947131541809179098896530704578405593401992007667425719427327368870550175536250741550696290005704425766452129363596001249192084506337957495166365897761044679646203 92709037967294721176351395496518672838599884956002000813248030290897410796567912162260282204010958644322584348430620787928349662793167742002012495994463705761576955958310360282905752459647917495909528595387677971037985015604944685148605948355567567752599676483223056232373922313054661175793314210942851431102152300631081418553544141522438198370318979605716428395214337683544695064087247737740761198767213817818664671737862336537504467830754171792198576304024026885491082223088983690494666035834516852111404703308099993461849969805441839167533024417204629470072284881277642179974501216489011978436942877387336210725750601961915338160995227689397741395377119235336640539407728076914526486568121139923698117217117386413414957387578461652740960838568134461245376745004892238098935375641869622036455522807423174081260470441655530606993039603443106212192190581988288374378437547541604535495313085723393357051407306615581991620051663322361549384676931513055720596822791407699570519367182736766108635474129354314690113998864817870008128024056656708461811864658029326629450235512500117637437623568444510852103788456666964695952956794285071564480814049586178154248227163501129891978225566452287885285939869771722427832884459443288575673146632934669053408832807786266020488153352879852789091799509247288962844231213460273808340882803690098972531199103589993010174535426317834084856156398725145794485682116178683288789245760890174114268141284710341452382822112355829870532245505482919094013510539235717776570538659547415132189682725481795070747870565438121127947996151931529897396152887437077719939098131816024845441790399512255457737590963019792607912051219985839197103880512389144148773253764700196848541215963755168680223004804630381630313008894626996778036574366597023207844523478368005909013290416655328532992729419779204971593258216972352983169282940933641971466283422302168813965591417560592051685405507693040201897075169443363699058627227332642178689133025949244663752138360823767243266011947872831549216092725204765299499170369634762289669737751508328528694230418670521652494119531562152299620449778187180989343903603219841704265404703847370765116891307047736838385266117854507011883085303442885877810290782505987535303772880968539919182314909832616035433870791966747258977585741650374391335800471191761593953065654175738562462219033026042147538616137448414412037855944207871570825363175358445680181223044434100430318800866182074933943138156221723902323522631291584359929083177430174706842859062815264139312295066677249145075893713190581355609713713058293589585371983520324471378985615865239703008361443213494141763706815385161525032059025177734197396199457388644861835595011375722179380273998413499048338421353301308563451535573461795900804731674414725027774925427595881799 150006374495387321229997652247152339938361615099043862891260828163379771066144753742376356683015276129026022610363377218745477865837215952578141413999526510587604060745924956829038871607783243729318088733336982780934668300477297901813950973027031384709406599790898937799297682915018282409183954665623850849843330565476325551847792131665917266284248840172885638114535227034051957404076172314696828465408274554031548415671833735806004419698422166953588358122454909131133294130441600006937950956425809379261434296774721272812156892403268903500226534043900358258296673527781743511649801272776002843346566568238976491177980735165000390309406324639585542142226247854809465723863221435289793418380994691919339978957857019023910389680051875791010191271150918829177788593632821600527229262707397830692961865146992155815498936147959023635972624824987456509064555120701097119506817007231673261323865586845680117941755616174628516605299793032836647664156731303031001955380983544743598396861644876042699393699079460966250504204027116001716492307209465792938324125712457879902444445158201659599630791358183213457883341497093434542446378072616541167407990347361649533284153591990071210672014287028028358642773111151836118309945119967140093110988002439403252154049379761450425726448860188798613465901466959093977268923235137660229856156694267771661736318569444910841984853160352825669984979112087696908460720012338400223106509104349677792390783299313047058686664214606794078910884500698845196728014758390880664855612872277149250617816155332326153233643863482914335361057641549067681746848380179057460690189718048631564266375038701548939357141385145210091842507198061027363344775762841956860176474584912159764684238830376717722024167628094268416103235965761587700211745428215797204295734344305965493498036690517008479500146797651218755326697975298338265007862488691324285945768097046673865142561037785411127232845827803714526191570834410341696086627934136289650647536709773883642967813834087789297759258074304834209626761980915173798412681983172932850419472935468607395395188644008539025062062413182710867083915964639166394375020320868563846946047153417041831644258785873163217679632554150561860905689670590616434272121164312335983153587752628381880086650444780698971300347071123012504962383022756013626948526921530825663335730206111052025831695983053221762419830792338919464864148196451249399066467827555386729992321307966889864748023314954088964604112344991710428019651589818890152910734619518352558748484182531339611232385729253071565570740002988902520196868513822838341984065743489315515659318710309363036951614376777825206710838357194340623928589729756139790798191465056070581262922380246272354916524739964195338344125779067760692815131574710987985311069631909891393672686472275528002 242715412462682042406349047743671012776961500055045863704508858454277181862712665904636638887026234773348606958793998006673827528630383694580153909993990216349181016704235317111944624067431161225227617328724660751972653316082242586962556921382598952462006276274121994031671605228072943584977268876566702280945482866107406970401336273188355464654567819778602066509749564717596652468163420052437589664175488371850213087409696072343508887529176338745786934426478936016624376353530583697432616992260326231372839000082821266274006862208710742667759558461104987728368958409059385691624302489265014821783509445626312701903731337126915728470401552328983283537603367090146106263270949512204319904949115831843038096174974405437325347067630337443751152109719053290423165338637713838626164638349267452729417387954415329896759406589614554242965664428430562721256745702689385493885254554773277796819178672569073474993162922790210508225351456355198197048833662816086722552203774952443168916228827612808808029173208815280940618202891933871724620331266122501400135990370487206531894680670701777237068414926627724309987129953760399238399334866901612731888804396947827687532380755491201102650239853480316243928712980923558546142829579410428668784134635374072305562882187547716446214602213068651402557700976206382940113154448597934038197039497957870634267517673034903852159388586670659754841135510812842702946402128517083511895754865239851906658924584023388511069486326962623949443130006181764290741525297626598441426151531824564382807498880814121223981514428921035463309053793480597579143001267616135180629287849864656409708165438213804397094732348165002699754558418046866560448656275231101008949728349612356613225454794131886402247172432724650046416244860388584478248319794812820412140257822673971402511327107172337012492876217430423726919956192270691248177145429624966257412051519348842679108152455346003178918251335496754728088646003853705395145255161468931829336669735723128306719952194911556541025270022177665758842854706119939097911852352807695140089210686976935924089419062679060677556181944744863166704365742826347383718923924088405551211451857264412596761150092920900056064898672005068872788774974033502312082411946818323518457360633596921799268965354613315006734217863089759763939968764406388018284327392722587257288795860286790588293915016079263909958446929787333876902004140659120969891831002913832410173544352400990295066824181136163898547250501213434330343174221110474512839817796948527265591343245346603750544680795930320710646633716179483875806582226881131931569437727009639987038304326174602739959975819991319348474545172579502148960648754933873988194390922444715443098517391621994534296798738377694386682547132369069256266667148172783886115801306324616421447611899871409801 392721786958069363636346699990823352715323115154089726595769686617656952928857419647012995570041510902374629569157375225419305394467599647158295323993516726936785077450160273940983495675214404954545706062061643532907321616559540488776507894409630337171412876065020931830969288143091225994161223542190553130788813431583732522249128404854272730938816659951487704624284791751648609872239592367134418129583762925881761503081529808149513307227598505699375292548933845147757670483972183704370567948686135610634273296857542539086163754611979646167986092505005345986665631936841129203274103762041017665130076013865289193081712072291916118779807876968568825679829614944955571987134170947494113323330110523762378075132831424461235736747682213234761343380869972119600953932270535439153393901056665283422379253101407485712258342737573577878938289253418019230321300823390482613392071562004951058143044259414753592934918538964839024830651249388034844712990394119117724507584758497186767313090472488851507422872288276247191122406919049873441112638475588294338460116082945086434339125828903436836699206284810937767870471450853833780845712939518153899296794744309477220816534347481272313322254140508344602571486092075394664452774699377568761895122637813475557716931567309166871941051073257450016023602443165476917382077683735594268053196192225642296003836242479814694144241747023485424826114622900539611407122140855483735002263969589529699049707883336435569756150541569418028354014506880609487469540056017479106281764404101713633425315036146447377215158292403949798670111435029665260889849647795192641319477567913287973974540476915353336451873733310212791597065616107893923793432038073057869126202934524516377909693624508604124271340060818918462519480826150172178460065223028617616435992166979936896009363797689345491993023015081642482246654167569029513185007918316290543357819616395516544250713493131414306151097163300469254280216838264047091231883095605221479984206445497011949687766028999345838784528096482499968469616687035112896324534335980627990508683622445543319484607706687599702618244357927574033788281707465513778093944244956969398157499010681454428405408878794063273744531226155630733694464644624118746354533111130659501610948386225303679355615799394013978034564934212772268902351787162401645232854314253412920624526066397842614125610999132485672378277722126253341766152337110370368958298830469219140165865660367880159814847496090252863151362846205144758362825810929364665750552416466879824339827427877943361777066525183392276217373719168386396003450740703970273553503470498955502697623036483965776911590196769144555185383529773842772889238484690013778992582387500786024361439771868266889213323478341889725026672911436829949081798722883771871426870938234507815120298372146937803 635437199420751406042695747734494365492284615209135590300278545071934134791570085551649634457067745675723236527951373232093132923097983341738449233987506943285966094154395591052928119742645566179773323390786304284879974932641783075739064815792229289633419152339142925862640893371164169579138492418757255411734296297691139492650464678042628195593384479730089771134034356469245262340403012419572007793759251297731974590491225880493022194756774844445162226975412781164382046837502767401803184940946461842007112296940363805360170616820690388835745650966110333715034590345900514894898406251306032486913585459491601894985443409418831847250209429297552109217432982035101678250405120459698433228279226355605416171307805829898561083815312550678512495490589025410024119270908249277779558539405932736151796641055822815609017749327188132121903953681848581951578046526079868107277326116778228854962222931983827067928081461755049533056002705743233041761824056935204447059788533449629936229319300101660315452045497091528131740609810983745165732969741710795738596106453432292966233806499605214073767621211438662077857601404614233019245047806419766631185599141257304908348915102972473415972493993988660846500199072998953210595604278787997430679257273187547863279813754856883318155653286326101418581303419371859857495232132333528306250235690183512930271353915514718546303630333694145179667250133713382314353524269372567246898018834829381605708632467359824080825636868532041977797144513062373778211065353644077547707915935926278016232813916960568601196672721324985261979165228510262840032850915411327821948765417777944383682705915129157733546606081475215491351624034154760484242088313304158878075931284136872991135148418640490526518512493543568508935725686538756656708385017841438028576249989653908298520690904861682504485899232512066209166610359839720761362153347941256800769871135744359223358865948477417485069348498797223982368862842117752486377138257074153309320876181220140256407718223910902379809798118660165727312471393155051994236386688788323130597894309422479243574026769366660380174426302672437200492647450291861161812868169045374949368950867945867025166558971714963329809429898160699606483239618657621058436945057948983020068309019822225478624581154007328984768782797302532032842320551568789663517181706976000177913321926684633202419526015211749582336724651913587218668156477769491338850129833383051550339410012768870454881671677226416761698613347418579088706000032039839178590370213415407089931170673224547112321747321113712986864007435347870271810032967585102205122941197508595489735927362658568516871566016760463903659928702353344921849887239623887767186973309945501467459957163490261423510122216719584111709220043805899205348465871056555757542672244559124236567910272018347604 1028158986378820769679042447725317718207607730363225316896048231689591087720427505198662630027109256578097866097108748457512438317565582988896744557981023670222751171604555864993911615417859971134319029452847947817787296549201323564515572710201859626804832028404163857693610181514255395573299715960947808542523109729274872014899593082896900926532201139681577475758319148220893872212642604786706425923343014223613736093572755688642535501984373350144537519524346626312139717321474951106173752889632597452641385593797906344446334371432670035003731743471115679701700222282741644098172510013347050152043661473356891088067155481710747966030017306266120934897262596980057250237539291407192546551609336879367794246440637254359796820562994763913273838871458997529625073203178784716932952440462598019574175894157230301321276092064761710000842242935266601181899347349470350720669397678783179913105267191398580660863000000719888557886653955131267886474814451054322171567373291946816703542409772590511822874917785367775322863016730033618606845608217299090077056222536377379400572932328508650910466827496249599845728072855468066800090760745937920530482393885566782129165449450453745729294748134497005449071685165074347875048378978165566192574379911001023420996745322166050190096704359583551434604905862537336774877309816069122574303431882409155226275190157994533240447872080717630604493364756613921925760646410228050981900282804418911304758340350696259650581787410101460006151159019942983265680605409661556653989680340027991649658128953107015978411831013728935060649276663539928100922700563206520463268242985691232357657246392044511069998479814785428282948689650262654408035520351377216747202134218661389369044842043149094650789852554362486971455206512688928835168450240870055645012242156633845194530054702551027996478922247593708691413264527408750274547161266257547344127690752139875767609579441608831791220445662097693236649079680381799577609021352679374789305082626717152206095484252910248218594326215142665695782088080190164890560921024768951121106577931868022563058634476054260082792670660600011234280929157757374939906812414002344347526449878627321453571967850509026603553961124316330340177704263281739804791478169079642521679257406047529157980196953401342962803347731515304301744672338731191308750036021229413098537847993082475816545137014344235254715002374039840560434308814879861707808428663852270690505275673136750614696519173316669624849976193623723847068825842969203844340922629882286914270998101102490474098813846297105263081381154516256667813483708289072478676444668007550992433550399142534293783156213529608458845312232127187694739125724313901546179555697446287491821396935358528312723445695061473836735892955242729154430264593940327628969543182793632051688208644165285407 1663596185799572175721738195459812083699892345572360907196326776761525222511997590750312264484177002253821102625060121689605571240663566330635193791968530613508717265758951456046839735160505537314092352843634252102667271481843106640254637525994088916438251180743306783556251074885419565152438208379705063954257406026966011507550057760939529122125585619411667246892353504690139134553045617206278433717102265521345710684063981569135557696741148194589699746499759407476521764158977718507976937830579059294648497890738270149806504988253360423839477394437226013416734812628642158993070916264653082638957246932848492983052598891129579813280226735563673044114695579015158928487944411866890979779888563234973210417748443084258357904378307314591786334362048022939649192474087033994712510979868530755725972535213053116930293841391949842122746196617115183133477393875550218827946723795561408768067490123382407728791081462474938090942656660874500928236638507989526618627161825396446639771729072692172138326963282459303454603626541017363772578577959009885815652328989809672366806738828113864984234448707688261923585674260082299819335808552357687161667993026824087037514364553426219145267242128485666295571884238073301085643983256953563623253637184188571284276559077022933508252357645909652853186209281909196632372541948402650880553667572592668156546544073509251786751502414411775784160614890327304240114170679600618228798301639248292910466972818056083731407424278633501983948303533005357043891670763305634201697596275954269665890942870067584579608503735053920322628441892050190940955551478617848285217008403469176741339952307173668803545085896260643774300313684417414892277608664681375625278065502798262360179990461789585177308365047906055480390932199227685491876835258711493673588492146287753493050745607412710500964821480105774900579874887248471035909314614198804144897561887884234990968445390086249276289794160894917219017942522499552063986159609753528098625958807937292462503202476821150598404124333802831423094559473345216884797307713557274251704472241290501806632661245420920462967096963272448434773576608049236101719680583047719296895400746573188478738526822223989933363391022477029946660943881939360863228423227028625541747566425869754636604778107408671947572130528817836334586992890299980972267217728205413276451169919767109018964663029555984837051727025953427779102465292649353046658558497235322240844685685905621069578190850543086386548589541042302935774825875009043022931292843297694004202168774327037586420561167410818249945388589864126939623516675874174683799385865516146482169477761801102810654722230290072362505240934480532616589012963937789313366529007391788959281354098848789736233567911781057948445112999048628359778730464996883386512215427352756288256118916183633011 2691755172178392945400780643185129801907500075935586224092375008451116310232425095948974894511286258831918968722168870147118009558229149319531938349949554283731468437363507321040751350578365508448411382296482199920454568031044430204770210236195948543243083209147470641249861256399674960725737924340652872496780515756240883522449650843836430048657786759093244722650672652911033006765688221992984859640445279744959446777636737257778093198725521544734237266024106033788661481480452669614150690720211656747289883484536176494252839359686030458843209137908341693118435034911383803091243426278000132791000908406205384071119754372840327779310244041829793979011958175995216178725483703274083526331497900114341004664189080338618154724941302078505060173233507020469274265677265818711645463420331128775300148429370283418251569933456711552123588439552381784315376741225020569548616121474344588681172757314780988389654081463194826648829310616005768814711452959043848790194535117343263343314138845282683961201881067827078777466643271050982379424186176308975892708551526187051767379671156622515894701276203937861769313747115550366619426569298295607692150386912390869166679814003879964874561990262982671744643569403147648960692362235119129815828017095189594705273304399188983698349062005493204287791115144446533407249851764471773454857099455001823382821734231503785027199374495129406388653979646941226165874817089828669210698584443667204215225313168752343381989211688734961990099462552948340309572276172967190855687276615982261315549071823174600558020334748782855383277718555590119041878252041824368748485251389160409098997198699218179873543565711046072057249003334680069300313129016058592372480199721459651729224832504938679828098217602268542451846138711916614327045285499581549318600734302921598687580800309963738497443743727699483591993139414657221310456475880456351489025252640024110758578024831695081067510239822992610455667022202881351641595180962432902887931041434654444668598686729731398816998450548945497118876647553535381775358228738326225372811050173158524369691295721475180545759767623872459669054505765806611041626492997050063644421850625200509932310494672733016536917352146793360286838648145221100668019901396108268063426823831917283794584975060810014910375478260333140636331665229031172281017253749434826374989017912849584835509800043900220091766729399993268339536774107529214754466987161087592931349961359042371684274710023859756011398565734666026782843651717978246867272215473179980918473166875429528060519375013707923513026769744380383607437000384163247162475830533523697474603028160943637104437878443819680821350553166607720311328138688251690859546084704838076451102751034207318048957013606842531785181005954291357514208995058937211015481758610146388339944327560348918418 4355351357977965121122518838644941885607392421507947131288701785212641532744422686699287158995463261085740071347228991836723580798892715650167132141918084897240185703122458777087591085738871045762503735140116452023121839512887536845024847762190037459681334389890777424806112331285094525878176132720357936451037921783206895029999708604775959170783372378504911969543026157601172141318733839199263293357547545266305157461700718826913650895466669739323937012523865441265183245639430388122127628550790716041938381375274446644059344347939390882682686532345567706535169847540025962084314342542653215429958155339053877054172353263969907592590470777393467023126653755010375107213428115140974506111386463349314215081937523422876512629319609393096846507595555043408923458151352852706357974400199659531026120964583336535181863774848661394246334636169496967448854135100570788376562845269905997449240247438163396118445162925669764739771967276880269742948091467033375408821696942739709983085867917974856099528844350286382232070269812068346152002764135318861708360880515996724134186409984736380878935724911626123692899421375632666438762377850653294853818379939214956204194178557306184019829232391468338040215453641220950046336345492072693439081654279378165989549863476211917206601419651402857140977324426355730039622393712874424335410767027594491539368278305013036813950876909541182172814594537268530405988987769429287439496886082915497125692285986808427113396635967368463974047766085953697353463946936272825057384872891936530981440014693242185137628838483836775705906160447640309982833803520442217033702259792629585840337151006391848677088651607306715831549317019097484192590737680739967997758265224257914089404822966728265005406582650174597932237070911144299818922120758293042992189226449209352180631545917376448998408565207805258492573014301905692346365790494655155633922814527908345749546470221781330343800033983887527674684964725380903705581340572186430986557000242591737131101889206552549415402574882748328541971207026880598660155536451883499624515522414449026176323956966896101008726864587144908103828082373855847143346173580097782941317251371773698411049021494957006470280743169270390233499592027160461531248324623136893605174390257787038431189753168218686857947608789150976970918658119331153253284471477640239651440187832616693854474463073456204928818456425946696118639239400178567801125545658322915172194647044947992753852900874402842397947155275708329718618477592987289890203508316477674922675335649756565646939936181118741762972158334244510547060517060037421846275216399039843956772505922744739915092600674109753183855794101088252927917151652189480172912613712229865410384105133056107785190581518623589733626118953339985873987725523934094401993974037499144628200446476532551429 7047106530156358066523299481830071687514892497443533355381076793663757842976847782648262053506749519917659040069397861983841590357121864969699070491867639180971654140485966098128342436317236554210915117436598651943576407543931967049795057998385986002924417599038248066055973587684769486603914057061010808947818437539447778552449359448612389219441159137598156692193698810512205148084422061192248152997992825011264604239337456084691744094192191284058174278547971475053844727119883057736278319271002372789228264859810623138312183707625421341525895670253909399653604882451409765175557768820653348220959063745259261125292107636810235371900714819223261002138611931005591285938911818415058032442884363463655219746126603761494667354260911471601906680829062063878197723828618671418003437820530788306326269393953619953433433708305372946369923075721878751764230876325591357925178966744250586130413004752944384508099244388864591388601277892886038557659544426077224199016232060082973326400006763257540060730725418113461009536913083119328531426950311627837601069432042183775901566081141358896773637001115563985462213168491183033058188947148948902545968766851605825370873992561186148894391222654451009784859023044368599007028707727191823254909671374567760694823167875400900904950481656896061428768439570802263446872245477346197790267866482596314922190012536516821841150251404670588561468574184209756571863804859257956650195470526582701340917599155560770495385847656103425964147228638902037663036223109240015913072149507918792296989086516416785695649173232619631089183879003230429024712055562266585782187511181789994939334349705610028550632217318352787888798320353777553492903866696798560370238464945717565818629655471666944833504800252443140384083209623060914145967406257874592310789960752130950868212346227340187495852308935504742084566153716562913656822266375111507122948067167932456508124495053476411411310273806880138130351986928262255347176521534619333874488041677246181799700575936283948232401025431693825660847854580415980435513765190209724997326572587607550546015252688371281554486632211017367772882588139662458184972666577147846585739101996974208343359516167690023007198095316063750520338240172381562199268226019245161668601214089704322225774728229028701768323087049484117607250323348362325534301725227075066026429205745466278689984263117356425020585185825939964458176013507707782555592532819410508103544608403990364438127610898262598409345721010374356501462129310965536757475723789657655841148502525186093707459311194826665275998928078624894154497517444200669008751046932563541431375534083688377019530479117929434005206347267695973239245290340441171032458698417067941861486856167263425834147595125466121518807124907631343388196720582871305417475732647645532968144774036881469847 11402457888134323187645818320475013573122284918951480486669778578876399375721270469347549212502212781003399111416626853820565171156014580619866202633785724078211839843608424875215933522056107599973418852576715103966698247056819503894819905760576023462605751988929025490862085918969864012482090189781368745398856359322654673582449068053388348390224531516103068661736724968113377289403155900391511446355540370277569761701038174911605394989658861023382111291071836916319027972759313445858405947821793088831166646235085069782371528055564812224208582202599477106188774729991435727259872111363306563650917219084313138179464460900780142964491185596616728025265265686015966393152339933556032538554270826812969434828064127184371179983580520864698753188424617107287121181979971524124361412220730447837352390358536956488615297483154034340616257711891375719213085011426162146301741812014156583579653252191107780626544407314534356128373245169766308300607635893110599607837929002822683309485874681232396160259569768399843241607182895187674683429714446946699309430312558180500035752491126095277652572726027190109155112589866815699496951324999602197399787146790820781575068171118492332914220455045919347825074476685589549053365053219264516693991325653945926684373031351612818111551901308298918569745763997157993486494639190220622125678633510190806461558290841529858655101128314211770734283168721478286977852792628687244089692356609498198466609885142369197608782483623471889938194994724855735016500170045512840970457022399855323278429101209658970833278011716456406795090039450870739007545859082708802815889770974419580779671500712001877227720868925659503720347637372875037685494604377538528367996730169975479908034478438395209838911382902617738316320280534205213964889527016167635302979187201340303048843892144716636494260874143310000577139168018468606003188056869766662756870881695840802257670965275257741755110307790767665805036951653643159052757862106805764861045041919837918930802465142836497647803600314442154202819061607296579095669301642093224621842095002056576722339209655267382563213496798162275876710670513518305328318840157245629527056353368747906754408537662647029477478838485334140753837832199542023730516550642382055273775604347491360656964481397247388626270695838635094578168981467693478787586196704715305677869393578082972544458726190812629949403642251886660576815252907886350356718078477733423275739255448938357191980511772665440807292876286082686220080606903952826647679232106135330763823838174942659354399247375945407038971086412869404701558034504238090855026263331603385388148040006433116934623079792039187189062141368784226167162441992630651205371312129297807271870961300319533619338176644089711252433243860971329262184446106805399819469706685144677596345220513414021276 18449564418290681254169117802305085260637177416395013842050855372540157218698118251995811266008962300921058151486024715804406761513136445589565273125653363259183493984094390973344275958373344154184333970013313755910274654600751470944614963758962009465530169587967273556918059506654633499086004246842379554346674796862102452134898427502000737609665690653701225353930423778625582437487577961583759599353533195288834365940375630996297139083851052307440285569619808391372872699879196503594684267092795461620394911094895692920683711763190233565734477872853386505842379612442845492435429880183959911871876282829572399304756568537590378336391900415839989027403877617021557679091251751971090570997155190276624654574190730945865847337841432336300659869253679171165318905808590195542364850041261236143678659752490576442048731191459407286986180787613254470977315887751753504226920778758407169710066256944052165134643651703398947516974523062652346858267180319187823806854161062905656635885881444489936220990295186513304251144095978307003214856664758574536910499744600364275937318572267454174426209727142754094617325758357998732555140272148551099945755913642426606945942163679678481808611677700370357609933499729958148060393760946456339948900997028513687379196199227013719016502382965194979998514203567960256933366884667566819915946499992787121383748303378046680496251379718882359295751742905688043549716597487945200739887827136080899807527484297929968104168331279575315902342223363757772679536393154752856883529171907774115575418187726075756528927184949076037884273918454101168032257914644975388598077282156209575719005850417611905778353086244012291609145957726652591178398471074337088738235195115693045726664133910062154672416183155060878700403490157266128110856933274042227613769147953471253917056238372056823990113183078814742661705321735031519660010323244878169879818948863773258765795460328734153166420581597647803935388938581905414399934383641425098735533083597084100730503041079120445880204625746135979863666916187712559531183066832302949619168667589664127268354462343638664117700129009179643649593258653180763513291506734393476112795455365722115097768053830337052484676933801397891274176072371923585929784776661627216942376818437195682882739209626276090394593782888119212185419304816055804321887921931790371704298599323549251234442989308169054969988828077826625034991266415594132912310611297143931379283863852928721630108122670928039216638597296457042721542736214918363405154955895792986604972340700128753061858558570772072314970014491494298856055551948438759863777310264166926819523574090121493954153558909968621194268488636480199406407732333071822237830010546365749133357817467582959453485771769555832771240368768602672650381166689676705236945439332790210564489994550295491123 29852022306425004441814936122780098833759462335346494328720633951416556594419388721343360478511175081924457262902651569624971932669151026209431475759439087337395333827702815848560209480429451754157752822590028859876972901657570974839434869519538032928135921576896299047780145425624497511568094436623748299745531156184757125717347495555389085999890222169804294015667148746738959726890733861975271045709073565566404127641413805907902534073509913330822396860691645307691900672638509949453090214914588550451561557329980762703055239818755045789943060075452863612031154342434281219695301991547266475522793501913885537484221029438370521300883086012456717052669143303037524072243591685527123109551426017089594089402254858130237027321421953200999413057678296278452440087788561719666726262261991683981031050111027532930664028674613441627602438499504630190190400899177915650528662590772563753289719509135159945761188059017933303645347768232418655158874816212298423414692090065728339945371756125722332381249864954913147492751278873494677898286379205521236219930057158544775973071063393549452078782453169944203772438348224814432052091597148153297345543060433247388521010334798170814722832132746289705435007976415547697113758814165720856642892322682459614063569230578626537128054284273493898568259967565118250419861523857787442041625133502977927845306594219576539151352508033094130030034911627166330527569390116632444829580183745579098274137369440299165712950814903047205840537218088613507696036563200265697853986194307629438853847288935734727362205196665532444679363957904971907039803773727684191413967053130629156498677351129613783006073955169671795329493595099527628863893075451875617106231925285668525634698612348457364511327566057678617016723770691471342075746460290209862916748335154811556965900130516773460484374057222124743238844489753500125663198380114644832636689830559614061023466425603991894921530889388415469740425890235548573452692245748230863596578125516922019661305506221956943528008226060578134066485977795009138626852368474396174241010762591720703990693671998906046680913625807341919526303929166699068841610346891639105639851808734470021852176591492984081962155772286732032028013904571465609660301327304009272216152422784687043539703691023523479020864478726754306763588286283749283109474118636505677382167992901632223778901715498981684919392470329713285611806519323480483269028689774877354655023119301867078822088634443593480023931473582539728941623343118871190052834188001928317368796178875071412416257805946717479353941100904363703557613586452676850718803573595770312207671614096554610888776638702007808383330630005264425573570174325702473443201322675663556405228778767902493072823948413645544023673612629574001912565612796482105056415146017934888160835215063709512399 48301586724715685695984053925085184094396639751741508170771489323956713813117506973339171744520137382845515414388676285429378694182287471798996748885092450596578827811797206821904485438802795908342086792603342615787247556258322445784049833278500042393666091164863572604698204932279131010654098683466127854092205953046859577852245923057389823609555912823505519369597572525364542164378311823559030645062606760855238493581789436904199673157360965638262682430311453699064773372517706453047774482007384012071956468424876455623738951581945279355677537948306250117873533954877126712130731871731226387394669784743457936788977597975960899637274986428296706080073020920059081751334843437498213680548581207366218743976445589076102874659263385537300072926931975449617758993597151915209091112303252920124709709863518109372712759866072848914588619287117884661167716786929669154755583369530970922999785766079212110895831710721332251162322291295071002017141996531486247221546251128633996581257637570212268602240160141426451743895374851801681113143043964095773130429801758909051910389635661003626504992180312698298389764106582813164607231869296704397291298974075673995466952498477849296531443810446660063044941476145505845174152575112177196591793319710973301442765429805640256144556667238688878566774171133078507353228408525354261957571633495765049229054897597623219647603887751976489325786654532854374077285987604577645569468010881659998081664853738229133817119146182622521742879441452371280375572956355018554737515366215403554429265476661810483891132381614608482563637876359073075072061688372659580012044335286838732217683201547225688784427041413684086938639552826180220042291546526212705844467120401361571361362746258519519183743749212739495717127260848737470186603393564252090530517483108282810882956368888830284474487240300939485900549811488531645323208703359523002516508779423387319789261885932726048087951470986063273675814828817453987852626629389655962332111209114006120391808547301077389408212851806714113930152893982721698158035435306699123860179430181384831259048134342544710798613754816521563175897187819879832354901853626032581752647264100192136949944645323321134446832706088129923302189976943389195590086103965636489158529241221882726422442900649799569415458261614873518949007591099805087431362040568296049086466592225181475013344704807150739889381298407539910646797785739074616181339301072021286034306983154795800452196757114521519240570070878996771663166079333789553457989143897721303973768519575200165478116364517489551668911115395858002413669138401115610582580883859937239027195188186676104842930197611976429577599118641744624979977906658774295681031333222029305538586596235485452526309720183201376794913981398176674562946779486158810293360585350725098725325209614005003522 78153609031140690137798990047865282928156102087088002499492123275373270407536895694682532223031312464769972677291327855054350626851438498008428224644531537933974161639500022670464694919232247662499839615193371475664220457915893420623484702798038075321802012741759871652478350357903628522222193120089876153837737109231616703569593418612778909609446134993309813385264721272103501891269045685534301690771680326421642621223203242812102207230870878969085079291003099006756674045156216402500864696921972562523518025754857218326794191400700325145620598023759113729904688297311407931826033863278492862917463286657343474273198627414331420938158072440753423132742164223096605823578435123025336790100007224455812833378700447206339901980685338738299485984610271728070199081385713634875817374565244604105740759974545642303376788540686290542191057786622514851358117686107584805284245960303534676289505275214372056657019769739265554807670059527489657176016812743784670636238341194362336526629393695934600983490025096339599236646653725296359011429423169617009350359858917453827883460699054553078583774633482642502162202454807627596659323466444857694636842034508921383987962833276020111254275943192949768479949452561053542287911389277898053234685642393432915506334660384266793272610951512182777135034138698196757773089932383141703999196766998742977074361491817199758798956395785070619355821566160020704604855377721210090399048194627239096355802223178528299530069961085669727583416659540984788071609519555284252591501560523032993283112765597545211253337578280140927243001834264044982111865462100343771426011388417467888716360552676839471790500996583355882268133147925707848906184621978088322950699045687030096996061358606976883695071315270418112733851031540208812262349853854461953447265818263094367848856499405603744958861297523064229139394301242031770986407083474167835153198609983001380812728311536717943009482360374478743416240719053002561305318875137886825928689334630928140053114053523034332936221077867292247996638871777730836784887803781095298101190192773105535249741806341450757479527380623863482702201116986578901196512200517671687392499072834662158802121236816305216408988478374861955330203881514854805250387431269645761374681664006569769962146591673323048436322740341627825712595877383554370540836159204801726468634585126813698792246420306132424808773768737253196258604305062555099450367990846898640689330102456662879274285391558114999264501544461536500604789422452660743510823331899649621342564698450271577894374170464207031022852216300221705971282724853792461301384457455707551234866802283230715731706836313984237960929748647009050553548080984476769124232655897692861943815375003387945599133668596846920818587594027750676475512392282640915349775731368659986886160424677714515921 126455195755856375833783043972950467022552741838829510670263612599329984220654402668021703967551449847615488091680004140483729321033725969807424973529623988530552989451297229492369180358035043570841926407796714091451468014174215866407534536076538117715468103906623444257176555290182759532876291803556004007929943062278476281421839341670168733219002047816815332754862293797468044055647357509093332335834287087276881114804992679716301880388231844607347761721314552705821447417673922855548639178929356574595474494179733673950533142982645604501298135972065363847778222252188534643956765735009719250312133071400801411062176225390292320575433058869050129212815185143155687574913278560523550470648588431822031577355146036282442776639948724275599558911542247177687958074982865550084908486868497524230450469838063751676089548406759139456779677073740399512525834473037253960039829329834505599289291041293584167552851480460597805969992350822560659193158809275270917857784592322996333107887031266146869585730185237766050980542028577098040124572467133712782480789660676362879793850334715556705088766813795340800551966561390440761266555335741562091928141008584595379454915331753869407785719753639609831524890928706559387462063964390075249826478962104406216949100090189907049417167618750871655701808309831275265126318340908495965956768400494508026303416389414822978446560283537047108681608220692875078682141365325787735968516205508899094437467076916757433347189107268292249326296100993356068447182475910302807329016926738436547712378242259355695144469959894749409806639710623118057183927150473003351438055723704306620934043754224065160574928037997039969206772700751888068948476168504301028795166166088391668357424104865496402878815064483157608450978292388946282448953247418714043977783301371377178731812868294434029433348537824003715039944112730563416309615786833690837669707389406388700601990197469443991097433831360542017092055547870456549157945504527542788260800543744934260444922600824111722344433929674006361926791765760452534942923239087794421961369622954490366508789940683995468278141135440385045878098304806458733551414054143704269145146336934854295752065882139626350855821184462991878632393858458244000840473535235282250533210905228452496384589492323122617851781001956501344661603468483359457972198199773097775555101177351995173805591125113283164698155067144793106905402090801629715631707291918919926723637085611458679726482148672636518505071615340533272267955501786450296968812475797370925316333218025471743372490534981696582691763331696079708384951863254908071883965341315644790262061990469906820574637033925960667538528867288753675533525987643251064805263989119722167482401971238873398125443388780048297613501575425927351038459171768799725643136316719385085611485634291719519443 204608804786997065971582034020815749950708843925917513169755735874703254628191298362704236190582762312385460768971331995538079947885164467815853198174155526464527151090797252162833875277267291233341766022990085567115688472090109287031019238874576193037270116648383315909654905648086388055098484923645880161767680171510092984991432760282947642828448182810125146140127015069571545946916403194627634026605967413698523736028195922528404087619102723576432841012317651712578121462830139258049503875851329137118992519934590892277327334383345929646918733995824477577682910549499942575782799598288212113229596358058144885335374852804623741513591131309803552345557349366252293398491713683548887260748595656277844410733846483488782678620634063013899044896152518905758157156368579184960725861433742128336191229812609393979466336947445429998970734860362914363883952159144838765324075290138040275578796316507956224209871250199863360777662410350050316369175622019055588494022933517358669634516424962081470569220210334105650217188682302394399136001890303329791831149519593816707677311033770109783672541447277983302714169016198068357925878802186419786564983043093516763442878165029889519039995696832559600004840381267612929749975353667973303061164604497839132455434750574173842689778570263054432836842448529472022899408273291637669955965167493251003377777881232022737245516679322117728037429786852895783286996743046997826367564400136138190793269300095285732877259068353961976909712760534340856518791995465587059920518487261469540995491007856900906397807538174890337049641544887163039295792612573347122864067112121774509650404306900904632365429034580395851474905848677595917854660790482389351745865211775421765353485463472473286573886379753575721184829323929155094711303101273175997425049119634471546580669367700037774392209835347067944179338413972595187296022870307858672822905999389390081414718509006161934106916191735020760508296266923459110463264379665429614189489878375862400498036654347146055280655007541298609923430637538183371727811042868889720062559815727595901758531747025446225757668516064248528580299421793037634747926254661375956537645409769516454554187118955931567264809662837853833962597739973098806090860966504928011907892569235022266346736083996445666288103742298129170374199345866913828513034358977899502023735762478808872597837545419415589506928835882046303164006395864184815082075282765818567412967188068121559000767540230751517769573159802069772872744924239111040479635807697020546658897916475743321266864705445903613714615547996301414356234588108700533185349798771352341496928792753137536306343870239944905499458615935762726087074068627727833929496645017415029426217346242261343724577057376895218432089169453678027513971564051440640992912048088045072497646058969434035364 331064000542853441805365077993766216973261585764747023840019348474033238848845701030725940158134212160000948860651336136021809268918890437623278171703779514995080140542094481655203055635302334804183692430786799658567156486264325153438553774951114310752738220555006760166831460938269147587974776727201884169697623233788569266413272101953116376047450230626940478894989308867039590002563760703720966362440254500975404850833188602244705968007334568183780602733632204418399568880504062113598143054780685711714467014114324566227860477365991534148216869967889841425461132801688477219739565333297931363541729429458946296397551078194916062089024190178853681558372534509407980973404992244072437731397184088099875988088992519771225455260582787289498603807694766083446115231351444735045634348302239652566641699650673145655555885354204569455750411934103313876409786632182092725363904619972545874868087357801540391762722730660461166747654761172610975562334431294326506351807525840355002742403456228228340154950395571871701197730710879492439260574357437042574311939180270179587471161368485666488761308261073324103266135577588509119192434137927981878493124051678112142897793496783758926825715450472169431529731309974172317212039318058048552887643566602245349404534840764080892106946189013926088538650758360747288025726614200133635912733567987759029681194270646845715692076962859164836719038007545770861969138108372785562336080605645037285230736377012043166224448175622254226236008861527696924965974471375889867249535413999906088707869250116256601542277498069639746856281255510281096479719763046350474302122835826081130584448061124969792940357072577435820681678549429483986803136958986690380541031377863813433710909568337969689452701444236733329635807616318101377160256348691890041402832421005848725312482235994471803825558373171071659219282526703158603605638657141549510492613388795778782016708706475605925204350023095562777600351814793915659621209884192972402450290422120796660942959255171257777625088937215304971850222403298635906670734281956684142023929438682086268267321687709441694035809651504633574458397726599496368299340308805080225682791746704370750306253001095557918120630847300845712594991598431342806931334501740210262441103474463474762731325576319568284139884744254630515035802814350273286485232558750997277578836939830804046403428670532698754205083903026839410069408486665814530713782574684738494136604273679580238727249688903388036274644775142603045140700426025561337448448283494391471975231134501215064639355240427600196406378879692381122741186451363608605069315140086997131758990783223044356880980904165905573037987483224516401620600056270978898734760634137137196908619317481134741850020446156943516045590744879605378552430735820240366636048364807430158109131693261153554807 535672805329850507776947112014581966923970429690664537009775084348736493477036999393430176348716974472386409629622668131559889216804054905439131369877935041459607291632891733818036930912569626037525458453776885225682844958354434440469573013825690503790008337203390076076486366586355535643073261650847764331465303405298662251404704862236064018875898413437065625035116323936611135949480163898348600389046221914673928586861384524773110055626437291760213443745949856130977690343334201371647646930632014848833459534048915458505187811749337463795135603963714319003144043351188419795522364931586143476771325787517091181732925930999539803602615321488657233903929883875660274371896705927621324992145779744377720398822839003260008133881216850303397648703847284989204272387720023920006360209735981780902832929463282539635022222301649999454721146794466228240293738791326931490687979910110586150446883674309496615972593980860324527525317171522661291931510053313382094845830459357713672376919881190309810724170605905977351414919393181886838396576247740372366143088699863996295148472402255776272433849708351307405980304593786577477118312940114401665058107094771628906340671661813648445865711147304729031534571691241785246962014671726021855948808171100084481859969591338254734796724759276980521375493206890219310925134887491771305868698735481010033058972151878868452937593642181282564756467794398666645256134851419783388703645005781175476024005677107328899101707243976216203145721622062037781484766466841476927170053901261375629703360257973157507940085036244530083905922800397444135775512375619697597166189947947855640234852368025874425305786107157831672156584398107079904657797749469079732286896589639235199064395031810442976026587823990309050820636940247256471871559449965066038827881540640320271893151603694509578217768208518139603398620940675753790901661527449408183315519388185168863431427215481767859311266214830583538108648081717374770084474263858402016639780300496659061440995909518403832905743944756603581773653040836819278398545324825573862086489254409682170025853434734887919793478167568882103038697148392534003047266563466456182220437156473887204860440120051489485385440510138699546557589338404441613022195468245138274348996043698497029078061660316013950427988486552759685410002160217187114998266917728896779602572702309612919001266215952114343712012738908885713233414882529999345795857857450557061549571461747701797728017229134139554044217934944672818013445350264672377928084091191412018634129050976958385906219945873503810120994427688682537097421039472309138254664938858349473255919575976181893187324774405850478537446099160279127707674124898706732664257279154552226334836663723396085574597503533838734477679914333283406066402299871681007628960412895475230606777752230587590171 866736805872703949582312190008348183897232015455411560849794432822769732325882700424156116506851186632387358490274004267581698485722945343062409541581714556454687432174986215473239986547871960841709150884563684884250001444618759593908126788776804814542746557758396836243317827524624683231048038378049648501162926639087231517817976964189180394923348644064006103930105632803650725952043924602069566751486476415649333437694573127017816023633771859943994046479582060549377259223838263485245789985412700560547926548163240024733048289115328997943352473931604160428605176152876897015261930264884074840313055216976037478130477009194455865691639511667510915462302418385068255345301698171693762723542963832477596386911831523031233589141799637592896252511542051072650387619071468655051994558038221433469474629113955685290578107655854568910471558728569542116703525423509024216051884530083132025314971032111037007735316711520785694272971932695272267493844484607708601197637985198068675119323337418538150879121001477849052612650104061379277657150605177414940455027880134175882619633770741442761195157969424631509246440171375086596310747078042383543551231146449741049238465158597407372691426597776898463064303001215957564174053989784070408836451737702329831264504432102335626903670948290906609914143965250966598950861501691904941781432303468769062740166422525714168629670605040447401475505801944437507225272959792568951039725611426212761254742054119372065326155419598470429381730483589734706450740938217366794419589315261281718411229508089414109482362534314169830762204055907725232255232138666048071468312783773936770819300429150844218246143179735267492838262947536563891460934708455770112827927967503048632775304600148412665479289268227042380456444556565357849031815798656956080230713961646168997205633839688981382043326581689211262617903467378912394507300184590957693808132776980947645448135921957373784515616237926146315708999896511290429705684148051374419090070722617455722383955164689661610530832881971908553623875444135455185069279606782258004110418693091768438293175122444329613829287819073515677497094874992030371346606872271536407903228903178257955166693121147047403506071357439545259152580936835784419953529969985348536790099518161971791809387236635582234567873230807390200445804974567460401483499476479894057181409642140416965404694886484813097917096641935725123302823369195813876509640432135295555686175735427282036455266918037527590318862710087275863154145776290233715376532374685803490609360185478173450545575186301104006527373307381063659838607490835917743323980078945346605014910359199226250068305678571756051575433582384795529328274181169685631399017913291689423243455981204530827424617949690782250523270659212888784618833035691921374265008777702905388715909445491741144978 1402409611202554457359259302022930150821202445146076097859569517171506225802919699817586292855568161104773768119896672399141587702527000248501540911459649597914294723807877949291276917460441586879234609338340570109932846402973194034377699802602495318332754894961786912319804194110980218874121300028897412832628230044385893769222681826425244413799247057501071728965221956740261861901524088500418167140532698330323262024555957651790926079260209151704207490225531916680354949567172464856893436916044715409381386082212155483238236100864666461738488077895318479431749219504065316810784295196470218317084381004493128659863402940193995669294254833156168149366232302260728529717198404099315087715688743576855316785734670526291241723023016487896293901215389336061854660006791492575058354767774203214372307558577238224925600329957504568365192705523035770356997264214835955706739864440193718175761854706420533623707910692381110221798289104217933559425354537921090696043468444555782347496243218608847961603291607383826404027569497243266116053726852917787306598116579998172177768106172997219033629007677775938915226744765161664073429060018156785208609338241221369955579136820411055818557137745081627494598874692457742811136068661510092264785259908802414313124474023440590361700395707567887131289637172141185909875996389183676247650131038949779095799138574404582621567264247221729966231973596343104152481407811212352339743370617207388237278747731226700964427862663574686632527452105651772487935507405058843721589643216522657348114589766062571617422447570558699914668126856305169368030744514285745668634502731721792411054152797176718643551929286893099164994847345643643796118732457924849845114824557142283831839699631958855641505877092217351431277081496812614320903375248622022119058595502286489269098785443383490960261094790207350866016524408054666185408961712040365877123652165166116508879563137439141643826882452756729853817647978228665199790158411909776435729851023114114783824951074208065443436576826728512135397528484972274463467824931607831866196907947501450608319028557179217533622765986642397780535792023384564374393873435737992590123666059652145160027133241198536888891511867578244805710170275240226032975725438230486811139095561860468820887448896951596184995861717360149885855807134784647516481766394208790836783982344450029884405961102436927441629109380844610836536238251725813222305498289585852617235747197174983834183284147171667144363080645031948681167591126554906093304616465877215509243489236455131836451795132174607816648367735069746196936028530308226881578645017803696078270829935175408143255630452977606530112879681545074657035948306068392364063275192446241649578292644927926912999215453224620985000950573546172190685235335563602381893969190598380619322687197722328735149 2269146417075258406941571492031278334718434460601487658709363949994275958128802400241742409362419347737161126610170676666723286188249945591563950453041364154368982155982864164764516904008313547720943760222904254994182847847591953628285826591379300132875501452720183748563122021635604902105169338406947061333791156683473125287040658790614424808722595701565077832895327589543912587853568013102487733892019174745972595462250530778808742102893981011648201536705113977229732208791010728342139226901457415969929312630375395507971284389979995459681840551826922639860354395656942213826046225461354293157397436221469166137993879949388451534985894344823679064828534720645796785062500102271008850439231707409332913172646502049322475312164816125489190153726931387134505047625862961230110349325812424647841782187691193910216178437613359137275664264251605312473700789638344979922791748970276850201076825738531570631443227403901895916071261036913205826919199022528799297241106429753851022615566556027386112482412608861675456640219601304645393710877458095202247053144460132348060387739943738661794824165647200570424473184936536750669739807096199168752160569387671111004817601979008463191248564342858525957663177693673700375310122651294162673621711646504744144388978455542925988604066655858793741203781137392152508826857890875581189431563342418548158539304996930296790196934852262177367707479398287541659706680771004921290783096228633600998533489785346073029754018083173157061909182589241507194386248343276210516009232531783939066525819274151985726904810104872869745430330912212894600285976652951793740102815515495729181873453226327562861798072466628366657833110293180207687579667166380619957942752524645332464615004232107268306985166360444393811733526053377972169935191047278978199289309463932658266304419283072472342304421371896562128634427875433578579916261896631323570931784942147064154327699059396515428342498690682876169526647874739955629495842559961150854819921745731570506208906238897727053967409708700420689021403929107729648537104538390089870307326640593219046612203679623547147452053805715913458032886898376594745740480308009528998026894962830403115193826362345584292397583225017790064862751212076010452929255408215835347929195080022440612696836133587178419563734948167540086301612109352107917965265870688684893965391986590446849810655988921740539546206022780335959839061620921627098815138721721148172921922932602265870638551065209194734681943355119224544321736902845139808681148840563018999852849421933305286997370318475711823175741042450809856774636021144144624902625096749042683285740294374634393323936131549362581688313263929870186364222487238077995462293105737931072821748626132457740423833402915403235524221232759060975304068371255523756158977968301286008038596643214069880127 3671556028277812864300830794054208485539636905747563756568933467165782183931722100059328702217987508841934894730067349065864873890776945840065491364501013752283276879790742114055793821468755134600178369561244825104115694250565147662663526393981795451208256347681970660882926215746585120979290638435844474166419386727859019056263340617039669222521842759066149561860549546284174449755092101602905901032551873076295857486806488430599668182154190163352409026930645893910087158358183193199032663817502131379310698712587550991209520490844661921420328629722241119292103615161007530636830520657824511474481817225962294797857282889582447204280149177979847214194767022906525314779698506370323938154920450986188229958381172575613717035187832613385484054942320723196359707632654453805168704093586627862214089746268432135141778767570863705640856969774641082830698053853180935629531613410470568376838680444952104255151138096283006137869550141131139386344553560449889993284574874309633370111809774636234074085704216245501860667789098547911509764604311012989553651261040130520238155846116735880828453173324976509339699929701698414743168867114355953960769907628892480960396738799419519009805702087940153452262052386131443186446191312804254938406971555307158457513452478983516350304462363426680872493418309533338418702854280059257437081694381368327254338443571334879411764199099483907333939452994630645812188088582217273630526466845840989235812237516572773994181880746747843694436634694893279682321755748335054237598875748306596414640409040214557344327257675431569660098457768518063968316721167237539408737318247217521592927606023504281505350001753521465822827957638823851483698399624305469803057577081787616296454703864066123948491043452661745243010607550190586490838566295901000318347904966219147535403204726455963302565516162103912994650952283488244765325223608671689448055437107313180663207262196835657072169381143439606023344295852968620829286000971870927290549772768845685290033857313105792497403986535428932824418932414080004112004929469997921736504234588094669654931232236802764681074819792358311238568678921761159120134353743747521588150561022482548275220959603544121181289095092596034870572921487316236485904980846446322159068290641882909433584285030538774604559596665527689972157419244136755434447032264897475730749374331040476734216617091358667981175315403624946796375299872647440321120637011307000790157670129777249704821835212380861879045024000151173225489328029400045901985765306440234509096338658388437123449165450650319639824108777520556053710664551452371506481270114552738761556570229550042536579566584526969111801192945474944843400170793306470359525568298184172722400041271060384653423048856140024220525171806305233165989303706819126138052947158899666627361283840936398615276 5940702445353071271242402286085486820258071366349051415278297417160058142060524500301071111580406856579096021340238025732588160079026891431629441817542377906652259035773606278820310725477068682321122129784149080098298542098157101290949352985361095584083757800402154409446048237382190023084459976842791535500210543411332144343303999407654094031244438460631227394755877135828087037608660114705393634924571047822268452949057019209408410285048171175000610563635759871139819367149193921541171890718959547349240011342962946499180804880824657381102169181549163759152458010817949744462876746119178804631879253447431460935851162838970898739266043522803526279023301743552322099842198608641332788594152158395521143131027674624936192347352648738874674208669252110330864755258517415035279053419399052510055871933959626045357957205184222842916521234026246395304398843491525915552323362380747418577915506183483674886594365500184902053940811178044345213263752582978689290525681304063484392727376330663620186568116825107177317308008699852556903475481769108191800704405500262868298543586060474542623277338972177079764173114638235165412908674210555122712930477016563591965214340778427982201054266430798679409925230079805143561756313964098417612028683201811902601902430934526442338908529019285474613697199446925490927529712170934838626513257723786875412877748568265176201961133951746084701646932392918187471894769353222194921309563074474590234345727301918847023935898829921000756345817284134786876708004091611264753608108280090535481166228314366543071232067780304439405528788680730958568602697820189333148840133762713250774801059249831844367148074220149832480661067932004059171278066790686089761000329606432948761069708096173392255476209813106139054744133603568558660773757343179978517637214430151805801707624009528435644869937534000475123285380158921823345241485505303013018987222049460244817534961256232172500511879834122482192870943727708576458781843531832078145369694514577255796242763552003519551371396244129353513440336343187733760542034008388011606811561228687888701543435916426311828526873598074224696601565820137753865874834051757050586177455985312951390414785965889705473686678317613824935435672699392246938834236254662157506997485721905350046281121164125953024123331613695230058459031353488863352412298135586160624714766317630923584027273080280408520721521426405282756214361493569067419935775733028148963079593062379515575460386277590056613726967355270397769811064932245185710666914147003253508949188080321742410446535769126031462999849819971365910485300572596516131383895211301781444842310523924676929903502716076331693489506209404815029764393280544548354987861403922103795221789897192842393846882259055427456049393039064294141293372078074649894211925127200952635399880484150468495403 9612258473630884135543233080139695305797708272096615171847230884325840325992246600360399813798394365421030916070305374798453033969803837271694933182043391658935535915564348392876104546945823816921300499345393905202414236348722248953612879379342891035292014148084125070328974453128775144063750615278636009666629930139191163399567340024693763253766281219697376956616426682112261487363752216308299535957122920898564310435863507640008078467202361338353019590566405765049906525507377114740204554536461678728550710055550497490390325371669319302522497811271404878444561625978957275099707266777003316106361070673393755733708445728553345943546192700783373493218068766458847414621897115011656726749072609381709373089408847200549909382540481352260158263611572833527224462891171868840447757512985680372269961680228058180499735972755086548557378203800887478135096897344706851181854975791217986954754186628435779141745503596467908191810361319175484599608306143428579283810256178373117762839186105299854260653821041352679177975797798400468413240086080121181354355666540393388536699432177210423451730512297153589103873044339933580156077541324911076673700384645456072925611079577847501210859968518738832862187282465936586748202505276902672550435654757119061059415883413509958689212991382712155486190617756458829346232566450994096063594952105155202667216192139600055613725333051229992035586385387548833284082857935439468551836029920315579470157964818491621018117779576668844450782451979028066559029759839946318991206984028397131895806637354581100415559325455736009065627246449249022536919418987426872557577452009930772367728665273336125872498075973671298303489025570827910654976466414991559564057906688220565057524411960239516203967253265767884297754741153759145151612323639080978835985119396370953337110828735984398947435453696104388117936332442410068110566709113974702467042659156773425480742223453067829572681260977562088216215239580677197288067844503703005435919467283422941086276620865109312048775382779558286337859268757267737872546963478385933343315795816782558356474668153229076509601693390432535935170244741898912986009187795504572174328017007795499665635745569433826654975773410209859806008594186708483424739217101108479666065776363788259479865406194664727628682928279222920030616450597625618786859330400483636355464140648671400318243890171639076501896836830030229552589661366216507741056412744335149753237263192156765280282221489970918492771991355421570995300392961645231612652679453443488018045526738710179533895701219776351102823958597491921964195965124048887637865165325854520206398880753474719466483069300603300805290699154879759873164564073851018714513429702106276517621831168253227047269931115195451676574564845369527307282675784893776032264872286100619262761164325086867110679 15552960918983955406785635366225182126055779638445666587125528301485898468052771100661470925378801222000126937410543400531041194048830728703324374999585769565587794951337954671696415272422892499242422629129542985300712778446879350244562232364703986619375771948486279479775022690510965167148210592121427545166840473550523307742871339432347857285010719680328604351372303817940348524972412331013693170881693968720832763384920526849416488752250532513353630154202165636189725892656571036281376445255421226077790721398513443989571130252493976683624666992820568637597019636796907019562584012896182120738240324120825216669559608567524244682812236223586899772241370510011169514464095723652989515343224767777230516220436521825486101729893130091134832472280824943858089218149689283875726810932384732882325833614187684225857693177939309391473899437827133873439495740836232766734178338171965405532669692811919454028339869096652810245751172497219829812872058726407268574335937482436602155566562435963474447221937866459856495283806498253025316715567849229373155060072040656256835243018237684966075007851269330668868046158978168745568986215535466199386630861662019664890825420356275483411914234949537512272112512545741730309958819241001090162464337958930963661318314348036401028121520401997630099887817203384320273762278621928934690108209828942078080093940707865231815686467002976076737233317780467020755977627288661663473145592994790169704503692120410468042053678406589845207128269263162853435737763931557583744815092308487667376972865668947643486791393236040448471156035129979981105522116807616205706417585772644023142529724523167970239646150193821130784150093502831969826254533205677649325058236294653513818594120056412908459443463078874023352498874757327703812386080982260957353622333826522759138818452745512834592305391230104863241221712601331891455808194619277715486029881206233670298277184709300002073193140811684570409086183308385773746849688035535083581289161798000196882519384417112831600146779023687639851299605100455471633088997486773944950127357045470447058018104069655388338128566988506760631771810562036666851884021847261622760505472993108451056050531535323532128662451727823684741444266886100730363573453355770637173063262085693609526146527358790680652806259892918150089075481951114482139271628536069796980178906966302323902271163251919485022618358256435512308804022859785575160992188477363298716316856254536280855742607767560975106498958710691968765111457893890417323319593600446741526994714819031921944342236988902382565823808417463287874681265696645403769249060537156301651241191277399396396386572016679632498780205364284574902928957354395567069501291106028380312843621065446069441116813374250879132623957884433821448576047862968425926476797413301571898161044809237335606082 25165219392614839542328868446364877431853487910542281758972759185811738794045017701021870739177195587421157853480848775329494228018634565975019308181629161224523330866902303064572519819368716316163723128474936890503127014795601599198175111744046877654667786096570404550103997143639740311211961207400063554833470403689714471142438679457041620538777000900025981307988730500052610012336164547321992706838816889619397073820784034489424567219452893851706649744768571401239632418163948151021580999791882904806341431454063941479961455624163295986147164804091973516041581262775864294662291279673185436844601394794218972403268054296077590626358428924370273265459439276470016929085992838664646242092297377158939889309845369026036011112433611443394990735892397777385313681040861152716174568445370413254595795294415742406357429150694395940031277641628021351574592638180939617916033313963183392487423879440355233170085372693120718437561533816395314412480364869835847858146193660809719918405748541263328707875758907812535673259604296653493729955653929350554509415738581049645371942450414895389526738363566484257971919203318102325725063756860377276060331246307475737816436499934122984622774203468276345134299795011678317058161324517903762712899992716050024720734197761546359717334511784709785586078434959843149619994845072923030753703161934097280747310132847465287429411800054206068772819703168015854040060485224101132024981622915105749174661656938902089060171457983258689657910721242190919994767523771503902736022076336884799272779503023528743902350718691776457536783281579229003642441535795043078263995037782574795510258389796504096112144226167492429087639119073659880481230999620669208889116142982874078876118532016652424663410716344641907650253615911086848963998404621341936189607453222893712475929281481497233539740844926209251359158045043741959566374903733252417953072540363007095779019408162367831645874401789246658625301422889062971034917532539238089017208629081423137968796005282222143648922161803245926189158873857723209505635960965159878293443152862253005414492772222884464847730260378939296566942055303935579837893209642766194934833490000903950721686277104757358783638225138033544547452861072809213788312670456879116839129038449481869006011933553455408281489188172141070119691932548740100926130958936553433335643047614973724220515053423558561524515195086465741861393684226002082902048601221698448469554119446693046136024829257531893599270950066113539760411850855535648935972273053890229545040241557742101478237938208678733668647767014955209838877230820694291407114225863010821857640072030874115862869641317282933304070904519164334776093521428246585784014720808134656830465452233699296488386744489446330809198522729803348755858723647862201958741669699402191160922209134324202716761 40718180311598794949114503812590059557909267548987948346098287487297637262097788801683341664555996809421284790891392175860535422067465294678343683181214930790111125818240257736268935091791608815406145757604479875803839793242480949442737344108750864274043558045056684029879019834150705478360171799521491100000310877240237778885310018889389477823787720580354585659361034317992958537308576878335685877720510858340229837205704561338841055971703426365060279898970737037429358310820519187302957445047304130884132152852577385469532585876657272669771831796912542153638600899572771314224875292569367557582841718915044189072827662863601835309170665147957173037700809786481186443550088562317635757435522144936170405530281890851522112842326741534529823208173222721243402899190550436591901379377755146136921628908603426632215122328633705331505177079455155225014088379017172384650211652135148798020093572252274687198425241789773528683312706313615144225352423596243116432482131143246322073972310977226803155097696774272392168543410794906519046671221778579927664475810621705902207185468652580355601746214835814926839965362296271071294049972395843475446962107969495402707261920290398468034688438417813857406412307557420047368120143758904852875364330674980988382052512109582760745456032186707415685966252163227469893757123694851965443811371763039358827404073555330519245098267057182145510053020948482874796038112512762795498127215909895918879165349059312557102225136389848534865038990505353773430505287703061486480837168645372466649752368692476387389142111927816906007939316709208984747963652602659283970412623555218818652788114319672066351790376361313559871789212576491850307485532826346858214174379277527592694712652073065333122854179423515931002752490668414552776384485603602893543229787049416471614747734227010068132046236156314114600379757645073851022183098352530133439102421569240766077296592871667833719067542600931229034387606197448744781767220574773172598497790879423334851315389699334975249068940826933566040458478958178681138724958451933823243570509907723452472510876292539853185858827367446057198713865865972246689777231490027817695338962994012401777736808640080890912300676865857229288897127958909944151886123812649754012192300535175478532158460912246088934295448065059220208767414499854583065402587472623230315821954581276048122786216675478046547133553342901254170197707085787658063040789699061747185870975701229326991767437025092868705769908776805508525523308749426066259291866654336971072034956376774023422580175197581116234471575432418497713558496517339695176363286400167123508881263308273512259256213333962565802851109883448909679022478782642152853516011914163037143309073299145365929503557863697209941822480614237170204434771510830627885218467112703763059083253943561538322843 65883399704213634491443372258954936989762755459530230105071046673109376056142806502705212403733192396842442644372240951190029650086099860653362991362844092014634456685142560800841454911160325131569868886079416766306966808038082548640912455852797741928711344141627088579983016977790445789572133006921554654833781280929952250027748698346431098362564721480380566967349764818045568549644741425657678584559327747959626911026488595828265623191156320216766929643739308438668990728984467338324538444839187035690473584306641326949494041500820568655918996601004515669680182162348635608887166572242552994427443113709263161476095717159679425935529094072327446303160249062951203372636081400982281999527819522095110294840127259877558123954760352977924813944065620498628716580231411589308075947823125559391517424203019169038572551479328101271536454721083176576588681017198112002566244966098332190507517451692629920368510614482894247120874240130010458637832788466078964290628324804056041992378059518490131862973455682084927841803015091560012776626875707930482173891549202755547579127919067475745128484578402299184811884565614373397019113729256220751507293354276971140523698420224521452657462641886090202540712102569098364426281468276808615588264323391031013102786709871129120462790543971417201272044687123070619513751968767774996197514533697136639574714206402795806674510067111388214282872724116498728836098597736863927523108838825001668053827005998214646162396594373107224522949711747544693425272811474565389216859244982257265922531871716005131291492830619593363544722598288437988390405188397702362234407661337793614163046504116176162463934602528805988959428331650151730788716532447016067103290522260401671570831184089717757786264895768157838653006106579501401740382890224944829732837240272310184090677015708507301671787081082523365959537802688815810588558002085782551392174961932247861856316001034035665364941944390177887659689029086511715816684753114011261615706419960846472820111394981557118897991102630179492229617352815901890644360919417093701537013662769976457887003648515424318033589087746385353765655921169907826527670441132794012630172452994916352499423085744838249695938902003890773836349989031719157940198794269528870851321338984657347538170394465701497215784636237200290328459347048594683991533546409176663651465002196249772343301270099036608071648748429366996031591391311789740965089390920760195655425095147922373127792266282624762305040858842919048285935159604961715195264139708227200617075197934516124900818113406259849903119342447373707552435727338033986583477512263177945366521335339147628122125854651245499106922014402613244455116000210888738637530732722297693973774525532844662417890302353143540751021003344040518960293495158692829843960136812105954220005463077885741039604 106601580015812429440557876071544996547672023008518178451169334160407013318240595304388554068289189206263727435263633127050565072153565155331706674544059022804745582503382818537110390002951933946976014643683896642110806601280563498083649799961548606202754902186683772609862036811941151267932304806443045754834092158170190028913058717235820576186352442060735152626710799136038527086953318303993364462279838606299856748232193157167106679162859746581827209542710045476098349039804986525627495889886491166574605737159218712419026627377477841325690828397917057823318783061921406923112041864811920552010284832624307350548923380023281261244699759220284619340861058849432389816186169963299917756963341667031280700370409150729080236797087094512454637152238843219872119479421962025899977327200880705528439053111622595670787673807961806603041631800538331801602769396215284387216456618233480988527611023944904607566935856272667775804186946443625602863185212062322080723110455947302364066350370495716935018071152456357320010346425886466531823298097486510409838367359824461449786313387720056100730230793238114111651849927910644468313163701652064226954255462246466543230960340514919920692151080303904059947124410126518411794401612035713468463628654066012001484839221980711881208246576158124616958010939286298089407509092462626961641325905460175998402118279958126325919608334168570359792925745064981603632136710249626723021236054734897586932992355057527203264621730762955759387988702252898466855778099177626875697696413627629732572284240408481518680634942547410269552661914997646973138368841000361646204820284893012432815834618435848228815724978890119548831217544226643581096202065273362925317464901537929264265543836162783090909119075191673769655758597247915954516767375828547723276067027321726655705424749935517369803833317238837480559917560333889661610741100438312684831277383501488627933612593905703499084009486991109116694076635283960460598451973688784434214204210840269807671426784680892094147060043457113058270075831774080571783085877869027524780584172677699910359514524807964171219447915113831410964369787035880073217447672622821830325511415988928754277159894384919140608239578869748003125247116990629102092084918082178624863513639519832826070328855377947586150080084302259510537226761548449267056936133881799893967286956777525820466087486774514654618782301772268250201789098397577399028130180619821942841296070849151700119559703307717631010810767619724556811458468354387781454556006362564171689110154311290148323398288603840966137590917879792205265994223855373681759840798663345068875402598647421140381382067985208064909773124286062154134138478993530891491046744636460731117083598831990028347393860216840750692843483958277689164728266669523457729178603924809717279088717021447279362447 172484979720026063932001248330499933537434778468048408556240380833516389374383401807093766472022381603106170079635874078240594722239665015985069665906903114819380039188525379337951844914112259078545883529763313408417773409318646046724562255814346348131466246328310861189845053789731597057504437813364600409667873439100142278940807415582251674548917163541115719594060563954084095636598059729651043046839166354259483659258681752995372302354016066798594139186449353914767339768789453863952034334725678202265079321465860039368520668878298409981609824998921573492998965224270042531999208437054473546437727946333570512025019097182960687180228853292612065644021307912383593188822251364282199756491161189126390995210536410606638360751847447490379451096304463718500836059653373615208053275024006264919956477314641764709360225287289907874578086521621508378191450413413396389782701584331813179035128475637534527935446470755562022925061186573636061501018000528401045013738780751358406058728430014207066881044608138442247852149440978026544599924973194440892012258909027216997365441306787531845858715371640413296463734493525017865332277430908284978461548816523437683754658760739441373349613722189994262487836512695616776220683080312522084051892977457043014587625931851841001671037120129541818230055626409368708921261061230401957838840439157312637976832486360922132594118401279958574075798469181480332468235307986490650544344893559899254986819361055741849427018325136062983910938414000443160281050910652192264914555658609886998494816112124486649972127773167003633097384513286084961528774029398064008439227946230806046978881122552024391279659581418925537790645875876795311884918597720378992420755423798330935836375020252500848695383970959831608308764703827417356257150266053492553008904267594036839796101765644024671475620398321360846519455363022705472199299102524095236223452345433736489789928594939739164448951431381287004353765664370472176415136726802795695829910630801116280491538179662449213045051146087292550499693184589982462427446797286121226317597835447676368246518173323388489253037002860216764730025708205787899745118113755615842955683868983845106776582980129757390304178480873638776961597106022348260032283712351707495714834978504490173608499249843649083365864720539459800865686108597043951048469680290976557618751958973775592809388756873551262690431050201635246233380489709367139993219571540582138496721165997074073247351969590342393315851626462643605097393627959349496649820146070791372306185352245806273224216402010100816040710260327165912818429951193407668343318310926523014241923933986568768503507922636453564016695138688675398589254479204419630128577477358758425090858124364834690765284162569984291443864487302318208125021761828216287573138740736915671499094180099333020402051 279086559735838493372559124402044930085106801476566587007409714993923402692623997111482320540311570809369897514899507205291159794393230171316776340450962137624125621691908197875062234917064193025521898173447210050528580010599209544808212055775894954334221148514994633799707090601672748325436742619807646164501965597270332307853866132818072250735269605601850872220771363090122622723551378033644407509119004960559340407490874910162478981516875813380421348729159399390865688808594440389579530224612169368839685058625078751787547296255776251307300653396838631316317748286191449455111250301866394098448012778957877862573942477206241948424928612512896684984882366761815983005008421327582117513454502856157671695580945561335718597548934542002834088248543306938372955539075335641108030602224886970448395530426264360380147899095251714477619718322159840179794219809628680776999158202565294167562739499582439135502382327028229798729248133017261664364203212590723125736849236698660770125078800509924001899115760594799567862495866864493076423223070680951301850626268851678447151754694507587946588946164878527408115584421435662333645441132560349205415804278769904226985619101254361294041764802493898322434960922822135188015084692348235552515521631523055016072465153832552882879283696287666435188066565695666798328770153693028919480166344617488636378950766319048458513726735448528933868724214246461936100372018236117373565580948294796841919811716113269052691640055899018743298927116253341627136829009829819140612252072237516731067100352532968168652762715714413902650046428283731934667142870398425654644048231123818479794715740987872620095384560309045086621863420103438892981120662993741917738220325336260200101918856415283939604503046151505377964523301075333310773917641882040276284971294915763495501526515579542041279453715560198327079372923356595133810040202962407921054729728935225117723541188845442663532960918372396121047842299654432637013588700491580130044114841641386088162964964343341307192111189544405608769769016364063034210532675155148751098182008125376278606032698131352660472484917974048175694395495241667972962565786378437673281195284972773861053742874514676530912418059743386780086844223012977362124368630433886120578348618024322999678828105221596669515944804841719311402912870145493218105405814172776451586038915751301413275476243648065917309213351973903496435169588106944539021349752160404081338017236846225773366911672898060024326662394082368161908852096313737278104376152433355543995295506557096421547614690613941782178301178206958118084424175048781350103159109589868083117326532633989908884889990621661628926468262974737552723392958197950521619624221995219156207941723196824719112678022786825042136707971260595897289750028497739745302317344661725388778182897120780299764498 451571539455864557304560372732544863622541579944614995563650095827439792067007398918576087012333952412476067594535381283531754516632895187301846006357865252443505660880433577213014079831176452104067781703210523458946353419917855591532774311590241302465687394843305494989552144391404345382941180433172246574169839036370474586794673548400323925284186769142966591814831927044206718360149437763295450555958171314818824066749556663157851283870891880179015487915608753305633028577383894253531564559337847571104764380090938791156067965134074661288910478395760204809316713510461491987110458738920867644885740725291448374598961574389202635605157465805508750628903674674199576193830672691864317269945664045284062690791481971942356958300781989493213539344847770656873791598728709256316083877248893235368352007740906125089508124382541622352197804843781348557985670223042077166781859786897107346597867975219973663437828797783791821654309319590897725865221213119124170750588017450019176183807230524131068780160368733241815714645307842519621023148043875392193862885177878895444517196001295119792447661536518940704579318914960680198977718563468634183877353095293341910740277861993802667391378524683892584922797435517751964235767772660757636567414608980098030660091085684393884550320816417208253418122192105035507250031214923430877319006783774801274355783252679970591107845136728487507944522683427942268568607326222608024109925841854696096906631077169010902118658381035081727209865530253784787417879920482011405526807730847403729561916464657454818624890488881417535747430941569816896195916899796489663083276177354624526773596863539897011375044141727970624412509295980234204866039260714120910158975749134591135938293876667784788299887017111336986273288004902750667031067907935532829293875562509800335297628281223566712755074113881559173598828286379300606009339305486503157278182074368961607513469783785181827981912349753683125401607964024904813428725427294375825874025472442502368654503144005790520237162335631698159269462200954045496637979472441269977415779843573052646852550871454741149725521920834264940424421203447455872707683900134053516236879153956618967830325854644433921216596540617025557048441329035325622156652342785593616293183596528813173287327355065245752881809525381179112268598978742537169153875494463753009204790874725077006084865000521617179999644402175538742668550077816311679014569323700986219834738402843299846614263642488402417642514020545011767006245724273086774754196298504146916301480858802902694771831092624042598219011438534124030902854126242189018446477420516391097359250466620558677388397913258115192943163401663412951312647437402370151748201699353977581298799847561659409877962185356809333580572458562914105414771790325956032875456085398641060277277077220113320166549 730658099191703050677119497134589793707648381421181582571059810821363194759631396030058407552645523221845965109434888488822914311026125358618622346808827390067631282572341775088076314748240645129589679876657733509474933430517065136340986367366136256799908543358300128789259234993077093708377923052979892738671804633640806894648539681218396176019456374744817464035603290134329341083700815796939858065077176275378164474240431573320330265387767693559436836644768152696498717385978334643111094783950016939944449438716017542943615261389850912596211131792598836125634461796652941442221709040787261743333753504249326237172904051595444584030086078318405435613786041436015559198839094019446434783400166901441734386372427533278075555849716531496047627593391077595246747137804044897424114479473780205816747538167170485469656023477793336829817523165941188737779890032670757943781017989462401514160607474802412798940211124812021620383557452608159390229424425709847296487437254148679946308886031034055070679276129328041383577141174707012697446371114556343495713511446730573891668950695802707739036607701397468112694903336396342532623159696028983389293157374063246137725896963248163961433143327177790907357758358339887152250852465008993189082936240503153046732556239516946767429604512704874688606188757800702305578801368616459796799173128392289910734734018999019049621571872177016441813246897674404204668979344458725397675506790149492938826442793282279954810298436934100470508792646507126414554708930311830546139059803084920460629016817190422987277653204595831438397477369853548830863059770194915317727324408478443006568312604527769631470428702037015711034372716083673097847159923707862827897196074470851336040212733083068727904390063262842364237811305978083977804985549817573105578846857425563830799154796803108754034527829441757500678201209735895739819379508448911078332911803304186725237010972630624491514873268126079246449450263679337450442314127785955955918140314083888456817468108349131827429273525176103768039231217318108530848512147596418728513961851698428925458583569586093810198006838808313116118816698689123845670249686512491189518074438929392828884068729159110452129014600360412337135285552048302984281020973219479736871532214553136172966155460286842422397754330222898423671511848888030387259281308636529460790829790476378419360341244169683097308857754149442239103719665923256218035919075861390301172755639689525619981175315386462441969176414627379928915097820586824052858572450937502460296776365359999116319445783237984380397312616741082148987278301290970368549636530106259180476576999254548586273287903879776821869631664638150504036040395600320673367825921349196737506741570758484128990640208143634375717280429823510002704521818823695778177773430060366449055459974340893619931047 1182229638647567607981679869867134657330189961365796578134709906648802986826638794948634494564979475634322032703970269772354668827659020545920468353166692642511136943452775352301090394579417097233657461579868256968421286850434920727873760678956377559265595938201605623778811379384481439091319103486152139312841643670011281481443213229618720101303643143887784055850435217178536059443850253560235308621035347590196988540989988236478181549258659573738452324560376906002131745963362228896642659343287864511049213818806956334099683226523925573885121610188359040934951175307114433429332167779708129388219494229540774611771865625984647219635243544123914186242689716110215135392669766711310752053345830946725797077163909505220432514150498520989261166938238848252120538736532754153740198356722673441185099545908076610559164147860334959182015328009722537295765560255712835110562877776359508860758475450022386462378039922595813442037866772199057116094645638828971467238025271598699122492693261558186139459436498061283199291786482549532318469519158431735689576396624609469336186146697097827531484269237916408817274222251357022731600878259497617573170510469356588048466174825241966628824521851861683492280555793857639116486620237669750825650350849483251077392647325201340651979925329122082942024310949905737812828832583539890674118179912167091185090517271678989640729417008905503949757769581102346473237586670681333421785432632004189035733073870451290856928956817969182197718658176760911201972588850793841951665867533932324190190933281847877805902543693477248974144908311423365727058976669991404980810600585833067533341909468067666642845472843764986335446882012063907302713199184421983738056171823605442471978506609750853516204277080374179350511099310880834644836053457753105934872722419935364166096783078026675466789601943323316674277029496115196345828718813935414235611093877673148332750480756415806319496785617879762371851058227704242263871039555080331781792165786526390825471971252354922347666435860807801927308693418272154027486491620037688705929741695271481572311134441040834959923528759642578056543237902136579718377933586646544705754953592886011796714394583803544373345611140977437894183726881083628606437673316005073353164715811081949346253482815352088175279563855604077535940110827630567556413156803100282469995620665201455425445206244691300277308502156324980981772269743739567897050488399562376521007494042532825466595438957874864859611690435172391695921343544859910827612768749441649376598257224162901811091276875862026978616324055275206179890132427533159386996113950622650277835827465875107263661685817137892014812795066301563455348687833002690825116027620703174318805541418320143538868602393500443709297852888386424108119293609149651811053229515459007509332737051561006940097596 1912887737839270658658799367001724451037838342786978160705769717470166181586270190978692902117624998856167997813405158261177583138685145904539090699975520032578768226025117127389166709327657742363247141456525990477896220280951985864214747046322513816065504481559905752568070614377558532799697026539132032051513448303652088376091752910837116277323099518632601519886038507312865400527551069357175166686112523865575153015230419809798511814646427267297889161205145058698630463349340563539753754127237881450993663257522973877043298487913776486481332741980957877060585637103767374871553876820495391131553247733790100848944769677580091803665329622442319621856475757546230694591508860730757186836745997848167531463536337038498508070000215052485308794531629925847367285874336799051164312836196453647001847084075247096028820171338128296011832851175663726033545450288383593054343895765821910374919082924824799261318251047407835062421424224807216506324070064538818763725462525747379068801579292592241210138712627389324582868927657256545015915890272988079185289908071340043227855097392900535270520876939313876929969125587753365264224037955526600962463667843419834186192071788490130590257665179039474399638314152197526268737472702678744014733287089986404124125203564718287419409529841826957630630499707706440118407633952156350470917353040559381095825251290678008690350988881082520391571016478776750677906566015140058819460939422153681974559516663733570811739255254903282668227450823268037616527297781105672497804927337017244650819950099038300793180196898073080412542385681276914557922036440186320298537924994311510539910222072595436274315901545802002046481254728147580400560359108129846565953367898076293808018719342833922244108667143637021714748910616858918622641039007570679040451569277360927996895937874829784220824129772765074174955230705851092085648098322384325313944005680977335057987491729046430811011658886005841618300508491383579714313353682866287737710306100610279282289439360704054175095709385983905695347924635590262558335003767634107434443703546969910497769718010626928770121535598450891172662054600825703564048183273159035895273028031815404625598463312962654825474625741337850231319012433131931590718694289224553090036248025635085519219638275638930597677318185826975959611622676518597943672438111736811930786450455677833844805547488860983374617359910474423220875989409662824115086407475423766822180249682222351086576614273261327301580866849799771624836441365446734880471341200379151836895033589522900927410722659100011359013636672016288328877410728824129755545750480728909458312404465129655849934973721017668836682426730939713959384728228603011498483853542052371056312282989078627667859242601644078085015133318209934110823815427973347589231002945519373958388197025901900560028643 3095117376486838266640479236868859108368028304152774738840479624118969168412908985927327396682604474490490030517375428033532251966344166450459559053142212675089905169477892479690257103907074839596904603036394247446317507131386906592088507725278891375331100419761511376346881993762039971891016130025284171364355091973663369857534966140455836378626742662520385575736473724491401459971401322917410475307147871455772141556220408046276693363905086841036341485765521964700762209312702792436396413470525745962042877076329930211142981714437702060366454352169316917995536812410881808300886044600203520519772741963330875460716635303564739023300573166566233808099165473656445829984178627442067938890091828794893328540700246543718940584150713573474569961469868774099487824610869553204904511192919127088186946629983323706587984319198463255193848179185386263329311010544096428164906773542181419235677558374847185723696290970003648504459290997006273622418715703367790230963487797346078191294272554150427349598149125450607782160714139806077334385409431419814874866304695949512564041244089998362802005146177230285747243347839110387995824916215024218535634178312776422234658246613732097219082187030901157891918869946055165385224092940348494840383637939469655201517850889919628071389455170949040572654810657612177931236466535696241145035532952726472280915768562356998331080405889988024341328786059879097151144152685821392241246372054157871010292590534184861668668212072872464865946109000028948818499886631899514449470794870949568841010883380886178599082740591550329386687293992700280284981013110177725279348525580144578073252131540663102917161374389566988381928136740211487703273558292551830304009539721681736279997225952584775760312944224011201065260009927739753267477092465323784975324291697296292162992720952856459687613731716088390849232260201966288431476817136319739549555099558650483390737972485462237130508444503885603990151566719087821978184393237946619519502471887136670107761410613058976522762145246791707622656618053862416585821495387671796140373445242241392070080852451667763730045064358093469229205292502962283282426116859805580601027981624701416422312857896766199198820236882315288125502739314215560197156367605229626443200963836717034865473121090991018772956882041431053495551733504149165500085594914837094400782071120879289270250753733552283651925862066799404202648259153402392012136895874986143343187743724755176553172053231136192161192557284972163320757784910306645708084109949820801213493290813685802738501999534962038337629960727291494508767543156357289142541864431351559736148231931004763113596659538155560851495221797241277414733416061605702323599881162755545375117824407398771206727844995144521794312986206596358218943109037122999400284232460978381467720934077462907500126239 5008005114326108925299278603870583559405866646939752899546249341589135349999179176906020298800229473346658028330780586294709835105029312354998649753117732707668673395503009607079423813234732581960151744492920237924213727412338892456303254771601405191396604901321417128914952608139598504690713156564416203415868540277315458233626719051292952655949842181152987095622512231804266860498952392274585641993260395321347294571450827856075205178551514108334230646970667023399392672662043355976150167597763627413036540333852904088186280202351478546847787094150274795056122449514649183172439921420698911651325989697120976309661404981144830826965902789008553429955641231202676524575687488172825125726837826643060860004236583582217448654150928625959878756001498699946855110485206352256068824029115580735188793714058570802616804490536591551205681030361049989362856460832480021219250669308003329610596641299671984985014542017411483566880715221813490128742785767906608994688950323093457260095851846742668559736861752839932365029641797062622350301299704407894060156212767289555791896341482898898072526023116544162677212473426863753260048954170550819498097846156196256420850318402222227809339852209940632291557184098252691653961565643027238855116925029456059325643054454637915490798985012775998203285310365318618049644100487852591615952885993285853376741019853035007021431394771070544732899802538655847829050718700961451060707311476311552984852107197918432480407467327775747534173559823296986435027184413005186947275722207966813491830833479924479392262937489623409799229679673977194842903049550364045577886450574456088613162353613258539191477275935368990428409391468359068103833917400681676869962907619758030088015945295418698004421611367648222780008920544598671890118131472894464015775860974657220159888658827686243908437861488853465024187490907817380517124915458704064863499105239627818448725464214508667941520103389891445608452075210471401692497746920812907257212777987746949390050849973763030697857854632775613318004542689452679144156499155305903574817148789211302567850570462294692500166599956544360401867347103787986846474300132964616496301009656516821047911321209728854024294862623653138356821751747347491787875061894454179533237211862352120384692759366629949370634200227258029455163356180667763443758033026573906331568521576557123115056301222413267026543221977273827423524248563065216127223303350409910165367993406977527639748667504397519462773424134771934945594226275753380588555451150199953050388324403208703665912722194062049696643597399307782837644953885181418898087614912080469194460636396134418963531633259173229688177648528180991374118144290208713822083734704807916431430107396477398874587087596788599879328119524806292329766924465096346989515235406497755426109131103364808060154882 8103122490812947191939757840739442667773894951092527638386728965708104518412088162833347695482833947837148058848156014328242087071373478805458208806259945382758578564980902086769680917141807421557056347529314485370531234543725799048391762496880296566727705321082928505261834601901638476581729286589700374780223632250978828091161685191748789034576584843673372671358985956295668320470353715191996117300408266777119436127671235902351898542456600949370572132736188988100154881974746148412546581068289373375079417410182834299329261916789180607214241446319591713051659261925530991473325966020902432171098731660451851770378040284709569850266475955574787238054806704859122354559866115614893064616929655437954188544936830125936389238301642199434448717471367474046342935096075905460973335222034707823375740344041894509204788809735054806399529209546436252692167471376576449384157442850184748846274199674519170708710832987415132071340006218819763751161501471274399225652438120439535451390124400893095909335010878290540147190355936868699684686709135827708935022517463239068355937585572897260874531169293774448424455821265974141255873870385575038033732024468972678655508565015954325028422039240841790183476054044307857039185658583375733695500562968925714527160905344557543562188440183725038775940121022930795980880567023548832760988418946012325657656788415392005352511800661058569074228588598534944980194871386782843301953683530469423995144697732103294149075679400648212400119668823325935253527071044904701396746517078916382332841716860810657991345678081173739185916973666677475127884062660541770857234976154600666686414485153921642108638650324935978810337528208570555807107475693233507173972447341439766368013171248003473764734555591659423845268930472338425157595223938218248991100152671953512322881379780542703596051593204941855873419751109783668948601732595023804413054204798278301839463436699970905072028547893777049598603641929559223670682140158759526776715249874883619497812260586822007220619999879567320940661160743315095729977994542977699715190594031452694637931422913962456230211664314637829631072639606750270128900416992770197097328991281218237470224179106495053223115099505968426482324491061563051985031429499683805976438175699069155250165880457620968143591082268689082950715089684816928943843627941411000732350592697436412385307054955965550678469084044073231626172507716467608139360199225396053508555737131732704192920720735533711623965981419744098266352011186060026296639561100020754263881615216894506404414721729024088034273558126599277346412497041538708040629479343432028930608868327139182077128292797328790539672870325422268788851560351814416145683615867563461806547931803876170081314932591933121673641105731402650548710033502219346389799467867476136893830065180827715560281121 13111127605139056117239036444610026227179761598032280537932978307297239868411267339739367994283063421183806087178936600622951922176402791160456858559377678090427251960483911693849104730376540003517208092022234723294744961956064691504695017268481701758124310222404345634176787210041236981272442443154116578196092172528294286324788404243041741690526427024826359766981498188099935180969306107466581759293668662098466730699122063758427103721008115057704802779706856011499547554636789504388696748666053000788115957744035738387515542119140659154062028540469866508107781711440180174645765887441601343822424721357572828080039445265854400677232378744583340668010447936061798879135553603787718190343767482081015048549173413708153837892452570825394327473472866173993198045581282257717042159251150288558564534058100465311821593300271646357605210239907486242055023932209056470603408112158188078456870840974191155693725375004826615638220721440633253879904287239181008220341388443532992711485976247635764469071872631130472512219997733931322034988008840235602995178730230528624147833927055796158947057192410318611101668294692837894515922824556125857531829870625168935076358883418176552837761891450782422475033238142560548693147224226402972550617487998381773852803959799195459052987425196501036979225431388249414030524667511401424376941304939298179034397808268427012373943195432129113807128391137190792809245590087744294362660995006780976979996804930021726629483146728423959934293228646622921688554255457909888344022239286883195824672550340735137383608615570797148985146653340654669970787112210905816435121426729056755299576838767180181300115926260304969238746919676929623910941393093915184043935354961197796456029116543422171769156166959307646625277851016937097047713355411112713006876013646610732482770038608228947504489454693795320897607242017601049465726648053727869276553310037906120288188900914479573013548651283668495207055717140030625363179887079572434033928027862630568887863110560585037918477854512342934258665703432767774874134493698283603290007742820663997205781993376257148730378264271182190032939986710538256975374717125734813593630000937735058518135500316223907247409962129621564839146242808910543772906491394137985509675387561421275634858639824250917514225282495947112405878445865484692387601660967984907063919114273993535500363356178378817705012306021347059049696756279532824266583502575805963673923730538710231832669388239931231086739405554516033211946237461813406885195012250220707314269939620103210070327443923086137730917155525907060184057450926720126938717094255512498125069504723273601040659926056502020227850518853603260162969704642023129967767350572371378237978039200353568955902020188721721552969225256208942878476957967315693379314703273973892319939196284192523620436003 21214250095952003309178794285349468894953656549124808176319707273005344386823355502572715689765897369020954146027092614951194009247776269965915067365637623473185830525464813780618785647518347425074264439551549208665276196499790490553086779765361998324852015543487274139438621811942875457854171729743816952976315804779273114415950089434790530725103011868499732438340484144395603501439659822658577876594076928875586166826793299660779002263464716007075374912443044999599702436611535652801243329734342374163195375154218572686844804035929839761276269986789458221159440973365711166119091853462503775993523453018024679850417485550563970527498854700158127906065254640920921233695419719402611254960697137518969237094110243834090227130754213024828776190944233648039540980677358163178015494473184996381940274402142359821026382110006701164004739449453922494747191403585632919987565555008372827303145040648710326402436207992241747709560727659453017631065788710455407445993826563972528162876100648528860378406883509421012659410353670800021719674717976063311930201247693767692503771512628693419821588361704093059526124115958812035771796694941700895565561895094141613731867448434130877866183930691624212658509292186868405732332882809778706246118050967307488379964865143753002615175865380226075755165552411180210011405234534950257137929723885310504692054596683819017726454996093187682881356979735725737789440461474527137664614678537250400975141502662125020778558826129072172334412897469948856942081326502814589740768756365799578157514267201545795374954293651970888171063627007332145098671174871447587292356402883657421985991323921101823408754576585240948049084447885500179718048868787148691217907802302637562824042287791425645533890722550967070470546781489275522205308579349330961997976166318564244805651418388771651100541047898737176771026993127384718414328380648751673689607514836184422127652337614450478085577199177445544805659359069589849033862027238331960810643277737514188385675371147407045139097854391910255199326864176082870604112488241261303005198336852116691843713416290219604960589928585820019664012626317288527104275134118505010690958992218953295988359679422718960470525061635589991321470733870473595757937920893821791486113563260490430885024520281871885657816364764636195356593535550301621331445288909395907796269706971429947885670411134344368383481390065420290675869263996000432405943701801202017182479467670442936025590108975464942710705386974260131478298248647873433181834573350241461578151554836997716474742165652110225765190713652506337530469947968258834979346573598944527055678373050412783117788218853830810767523389179025528951821264993837546113450966439934840044525971004229739037216952780654843226610330987611593427186991469535039769114171141450029213769261465020239180717124 34325377701091059426417830729959495122133418147157088714252685580302584255234622842312083684048960790204760233206029215574145931424179061126371925925015301563613082485948725474467890377894887428591472531573783931960021158455855182057781797033843700082976325765891619773615409021984112439126614172897933531172407977307567400740738493677832272415629438893326092205321982332495538682408965930125159635887745590974052897525915363419206105984472831064780177692149901011099249991248325157189940078400395374951311332898254311074360346155070498915338298527259324729267222684805891340764857740904105119815948174375597507930456930816418371204731233444741468574075702576982720112830973323190329445304464619599984285643283657542244065023206783850223103664417099822032739026258640420895057653724335284940504808460242825132847975410278347521609949689361408736802215335794689390590973667166560905760015881622901482096161582997068363347781449100086271510970075949636415666335215007505520874362076896164624847478756140551485171630351404731343754662726816298914925379977924296316651605439684489578768645554114411670627792410651649930287719519497826753097391765719310548808226331852307430703945822142406635133542530329428954425480107036181678796735538965689262232768824942948461668163290576727112734390983799429624041929902046351681514871028824608683726452404952246030100398191525316796688485370872916530598686051562271432027275673544031377955138307592146747408041972857496132268706126116571778630635581960724478084790995652682773982186817542280932758562909222768037156210280347986815069458287082353403727477829612714177285568162688282004708870502845545917287831367562429803628990261881063875261843157263835359280071404334847817303046889510274717095824632506212619253021934760443675004852179965174977288421456997000598605030502592532497668634235144985767880055028702479542966160824874090542415841238528930051099125850461114040012715076209620474397041914317904394844571305600144757273538481707992083057575708904253189457992567608850645478246981939544906295206079672780689049495409666476753690968192857002209696952613027826784079649851244239824284588993156688354506495179738942867717935023765211556160616976679384139530844412287959776995788950821911706519883160106122803172041647260583307762471981415786313719046949877380814860188821245423483386033767312723186088493696086767349725566020275533256672527204377007980856403198209153167858259497215396173797444792528776164690244486109686840067029585600462168892421494457100926545069609575196363496107869178413397714527398894978961918063667854457025180747877773686384158448144910332830995373908032628789114790969635860676081218317012306218282504010204583307993118972969376564779579556243820536305663949436850733148428874415423921533708457749212762801153127 55539627797043062735596625015308964017087074696281896890572392853307928642057978344884799373814858159225714379233121830525339940671955331092286993290652925036798913011413539255086676025413234853665736971125333140625297354955645672610868576799205698407828341309378893913054030833926987896980785902641750484148723782086840515156688583112622803140732450761825824643662466476891142183848625752783737512481822519849639064352708663079985108247937547071855552604592946010698952427859860809991183408134737749114506708052472883761205150191000338676614568514048782950426663658171602506883949594366608895809471627393622187780874416366982341732230088144899596480140957217903641346526393042592940700265161757118953522737393901376334292153960996875051879855361333470072280006935998584073073148197520281322445082862385184953874357520285048685614689138815331231549406739380322310578539222174933733063160922271611808498597790989310111057342176759539289142035864660091823112329041571478049037238177544693485225885639649972497831040705075531365474337444792362226855581225618064009155376952313182998590233915818504730153916526610461966059516214439527648662953660813452162540093780286438308570129752834030847792051822516297360157812989845960385042853589932996750612733690086701464283339155956953188489556536210609834053335136581301938652800752709919188418507001636065047826853187618504479569842350608642268388126513036798569691890352081281778930279810254271768186600798986568304603119023586520635572716908463539067825559752018482352139701084743826728133517202874738925327273907355318960168129461953800991019834232496371599271559486609383828117625079430786865336915815447929983347039130668212566479750959566472922104113692126273462836937612061241787566371413995488141458330514109774637002828346283739222094072875385772249705571550491269674439661228272370486294383409351231216655768339710274964543493576143380529184703049638559584818374435279210323430903941556236355655214583337658945659213852855399128196673563296163444657319431784933516082359470180806209300404416524897380893208825956696358651558121442822229360965239345115311183924985362744834975547985375641650494854859161661828188460085400801547482087710549857735288782333181781568481902514082402137404907680387994688829858012025219503119065516966087935050492238786776722656458528216853431271704178447067554471975086152187640401435284271533689078470906178209998038882665879596103883849606190861116508150179503036296168542734757560273248864158950703630470573049294098643019811775227306589261298582830919735244997346863237796897410241453401552236426250824099167276236363764163641762897297211654318066612234629698222194669283452241058327029981208813047030335925750031408006189887231432129732850940906385772917543045556873950747477719214233001981870251 89865005498134122162014455745268459139220492843438985604825078433610512897292601187196883057863818949430474612439151046099485872096134392218658919215668226600411995497362264729554566403308122282257209502699117072585318513411500854668650373833049398490804667075270513686669439855911100336107400075539684015321131759394407915897427076790455075556361889655151916848984448809386680866257591682908897148369568110823691961878624026499191214232410378136635730296742847021798202419108185967181123486535133124065818040950727194835565496346070837591952867041308107679693886342977493847648807335270714015625419801769219695711331347183400712936961321589641065054216659794886361459357366365783270145569626376718937808380677558918578357177167780725274983519778433292105019033194639004968130801921855566262949891322628010086722332930563396207224638828176739968351622075175011701169512889341494638823176803894513290594759373986378474405123625859625560653005940609728238778664256578983569911600254440858110073364395790523983002671056480262709229000171608661141780961203542360325806982391997672577358879469932916400781708937262111896347235733937354401760345426532762711348320112138745739274075574976437482925594352845726314583293096882142063839589128898686012845502515029649925951502446533680301223947520010039458095265038627653620167671781534527872144959406588311077927251379143821276258327721481558798986812564599070001719166025625313156885418117846418515594642771844064436871825149703092414203352490424263545910350747671165126121887902286107660892080112097506962483484187703305775237587749036154394747312062109085776557127649297665832826495582276332782624747183010359786976029392549276441741594116830308281384185096461121280139984501571516504662196046501700760711352448870218312007680526248914199382494332382772848310602053083802172108295463417356254174438438053710759621929164584365506959334814672310580283828900099673624831089511488830797827945855874140750499785888937803702932752334563391211254249272200416634115311999393784161560606452120351115595610496197678069942704235623173112342526314299824439057917852372942095263574836606984659260136978532330005001350038900604695906395109166013103642704687229241874819626745469741345477691464904313843924790840494117492001899659285802810881537498381874248769539188664157537516647349462276914657737945759790740560468782238954990127001304547066945750998110555217978895285864088749271742109103406257290305594972031812460858787220867247113315893744551165799362994543751199569564881384802502952757406452009333132959524745758216758815473909307858577417174128597785551434684508674496472758271205244283107181403204265558898275887600464547276609533991413396355023454898719407972785769443475252666038514890343236506065971919972297872281186176963445764783023378 145404633295177184897611080760577423156307567539720882495397471286918441539350579532081682431678677108656188991672272876624825812768089723310945912506321151637210908508775803984641242428721357135922946473824450213210615868367146527279518950632255096898633008384649407599723470689838088233088185978181434499469855541481248431054115659903077878697094340416977741492646915286277823050106217435692634660851390630673331026231332689579176322480347925208491282901335793032497154846968046777172306894669870873180324749003200078596770646537071176268567435555356890630120550001149096354532756929637322911434891429162841883492205763550383054669191409734540661534357617012790002805883759408376210845834788133837891331118071460294912649331128777600326863375139766762177299040130637589041203950119375847585394974185013195040596690450848444892839327966992071199901028814555334011748052111516428371886337726166125099093357164975688585462465802619164849795041805269820061890993298150461618948838431985551595299250035440496480833711761555794074703337616401023368636542429160424334962359344310855575949113385751421130935625463872573862406751948376882050423299087346214873888413892425184047844205327810468330717646175362023674741106086728102448882442718831682763458236205116351390234841602490633489713504056220649292148600175208955558820472534244447060563466408224376125754104566762325755828170072090201067374939077635868571411056377706594935815697928100690283781243570830632741474944173289613049776069398887802613735910499689647478261588987029934389025597314972245887810758095058624735405717210989955385767146294605457375828687135907049660944120661707119647961662998458289770323068523217489008221345076396781203488298788587394742976922113632758292228567460497188902169682962979992949010508872532653421476567207768545098016173603575071846547956691689726740468821847404941976277697504294640471502828390815691109468531949738233209649463946768041121258849797430377106155000472275462648591966187418790339450922835496580078772631431178717677642965922301157324896014912722575450835913061579869470994084435742646668418883091718057406447499821969729494235684963907971655496204898062266524094855194566814651124792397779099610108409078651522913959593978986715981329698520882112180831757671311022314000603015347962183820031427450934260173105877679130345929442124206858295032443868391142630528436588818600634829469016733427976934168529968345375625958709597118406813745151534848757027329955624807386564757903501869429833567593045298212584693160029809542018705034840252868204522092621454555712884150761260129653600379421884718710920872438660114521168502455937425248015438895257120470556883916788334936563972622209402053790824469439380791959330706684795771365831249622278983514965529171823028663896177678766764893629 235269638793311307059625536505845882295528060383159868100222549720528954436643180719278565489542496058086663604111423922724311684864224115529604831721989378237622904006138068714195808832029479418180155976523567285795934381778647381948169324465304495389437675459919921286392910545749188569195586053721118514790987300875656346951542736693532954253456230072129658341631364095664503916363809118601531809220958741497022988109956716078367536712758303345127013198078640054295357266076232744353430381205003997246142789953927273432336142883142013860520302596664998309814436344126590202181564264908036927060311230932061579203537110733783767606152731324181726588574276807676364265241125774159480991404414510556829139498749019213491006508296558325601846894918200054282318073325276594009334752041231413848344865507641205127319023381411841100063966795168811168252650889730345712917565000857923010709514530060638389688116538962067059867589428478790410448047745879548300669657554729445188860438686426409705372614431231020463836382818036056783932337788009684510417503632702784660769341736308528153307992855684337531717334401134685758753987682314236452183644513878977585236734004563929787118280902786905813643240528207749989324399183610244512722031847730368776303738720146001316186344049024313790937451576230688750243865213836609178988144315778974932708425814812687203681355945906147032086497793571759866361751642234938573130222403331908092701116045947108799375886342674697178346769322992705463979421889312066159646261247360812604383476889316042049917677427069752850294242282761930510643304960026109780514458356714543152385814785204715493770616243983452430586410181468649557299097915766765449962939193227089484872483885048516023116906615204274796890763506998889662881035411850211261018189398781567620859061540151317946326775656658874018656252155107082994643260285458652735899626668879005978462163205488001689752360849837906834480553458256871919086795653304517856654786361213266351524718521982181550705172107696996712887943430572501839203572374421508440491625408920253520778617297203042583336610750042471107476800944090999501711074658576714153495821942440301660497554936962871220001250303732827754767497085008341484928035824121264259437285443891029825254489361376229672833657330596825124882140513729836432589570616115091797689753227141407260587180069966649035592912650630097620655437893365667580580467127288645955829454394057094647368067813003375697119340123566661217886117176492054499880651648053035229196562136796497782149574544832312494776111486849586001164046838379671314528358060069118707070774508019670270145605381113156587279439707700220532429418643160816018746444484381335611546097964035605757077245723188847353577728774181937461809880721592858785049486885501469695309850073141124531547917007 380674272088488491957236617266423305451835627922880750595620021007447395975993760251360247921221173166742852595783696799349137497632313838840550744228310529874833812514913872698837051260750836554103102450348017499006550250145793909227688275097559592288070683844569328886116381235587276802283772031902553014260842842356904778005658396596610832950550570489107399834278279381942326966470026554294166470072349372170354014341289405657543859193106228553618296099414433086792512113044279521525737275874874870426467538957127352029106789420213190129087738152021888939934986345275686556714321194545359838495202660094903462695742874284166822275344141058722388122931893820466367071124885182535691837239202644394720470616820479508403655839425335925928710270057966816459617113455914183050538702160607261433739839692654400167915713832260285992903294762160882368153679704285679724665617112374351382595852256226763488781473703937755645330055231097955260243089551149368362560650852879906807809277118411961300671864466671516944670094579591850858635675404410707879054046061863208995731701080619383729257106241435758662652959865007259621160739630691118502606943601225192459125147896989113834962486230597374144360886703569773664065505270338346961604474566562051539761974925262352706421185651514947280650955632451338042392465389045564737808616850023421993271892223037063329435460512668472787914667865661960933736690719870807144541278781038503028516813974047799083157129913505329919821713496282318513755491288199868773382171747050460082645065876345976438943274742041998738105000377820555246049022171016065166281604651320000528214501921111765154714736905690572078548073179926939327622166438984254458184284269623870688360782673635910766093828728837033089119330967496078565050718374830204210028698271314221042335628747919863044342949260233945865204208846796809735112082132863594712177324173173646449964991596303692799220892799576140044130017405024913040345645450734894962809786833488729000116684709400971890156094943193576791660574861751219516846538296722665765387640321642828971614530358782912054330695185785117775895684035809056908158574480546443647731506906348273315993759835025137744096105498299642405892289482787441095036444902772787173396879422877745806584187882258341853665415001907847438882743529077798616409602043566026057862859104820537606516622194173507330625356519021240251183874482184268215409936144022073932763622924025440022994026522600494103933085275101509974913447132116861886445409551554904659030129729841795994734267704862122036794816521689838869368568931001125870241242210830378836724374887441554988856526253551816701800608210156157957677434082056073139217001368298123946482661936657815159131036547658286734369688104888622257581246552842481064033001851030641518338513969318803298312810636 615943910881799799016862153772269187747363688306040618695842570727976350412636940970638813410763669224829516199895120722073449182496537954370155575950299908112456716521051941413032860092780315972283258426871584784802484631924441291175857599562864087677508359304489250172509291781336465371479358085623671529051830143232561124957201133290143787204006800561237058175909643477606830882833835672895698279293308113667377002451246121735911395905864531898745309297493073141087869379120512265879167657079878867672610328911054625461442932303355203989608040748686887249749422689402276758895885459453396765555513891026965041899279985017950589881496872382904114711506170628142731336366010956695172828643617154951549610115569498721894662347721894251530557164976166870741935186781190777059873454201838675282084705200295605295234737213672127092967261557329693536406330594016025437583182113232274393305366786287401878469590242899822705197644659576745670691137297028916663230308407609351996669715804838371006044478897902537408506477397627907642568013192420392389471549694565993656501042816927911882565099097120096194370294266141945379914727313005354954790588115104170044361881901553043622080767133384279958004127231777523653389904453948591474326506414292420316065713645408354022607529700539261071588407208682026792636330602882173916796761165802396925980318037849750533116816458574619820001165659233720800098442362105745717671501184370411121217930019994907882533016256180027098168482819275023977734913177511934933028432994411272687028542765662018488860952169111751588399242660582485756692327131042174946796063008034543680600316706316480648485353149674024509134483361395588884921264354751019908147223462850960173233266558684426789210735344041307886010094474494968227931753786680415471046887670095788663194690288071180990669724916892819883860461001903892729755342418322247448076950842052652428427154801791694488973253649414046878610570863281784959432441104039412819464573194701995351641403231383153440861267050890573504548518292323721356050110671144174205879265730563082492393147655985954637667305935827588883372484979900056409869649139123157801227328848788574976491314771988008964097355802032470160659786567795782579964480726894051432834164866768775631838677243634571526499072332504672563764884042807635048999172659681117855552612331961944867103802264140156366218269169651337871839312375549935795990403271310719888593077318082534670362094335603869801052425398668171192799564308608916386326061199607939888226691866638293776883842249694434531570928008539424870532615769380797184769600270899497543795149395461225259002131634664973289080047917856378490106852725216889157963445852679459558028759900693420916208282270847134087947416879070559719391127274435339849082488736532111213648364042459927829860727643 996618182970288290974098771038692493199199316228921369291462591735423746388630701221999061331984842391572368795678817521422586680128851793210706320178610437987290529035965814111869911353531152526386360877219602283809034882070235200403545874660423679965579043149058579058625673016923742173763130117526224543312672985589465902962859529886754620154557371050344458010187922859549157849303862227189864749365657485837731016792535527393455255098970760452363605396907506227880381492164791787404904932954753738099077867868181977490549721723568394118695778900708776189684409034677963315610206653998756604050716551121868504595022859302117412156841013441626502834438064448609098407490896139230864665882819799346270080732389978230298318187147230177459267435034133687201552300237104960110412156362445936715824544892950005463150451045932413085870556319490575904560010298301705162248799225606625775901219042514165367251063946837578350527699890674700930934226848178285025790959260489258804478992923250332306716343364574054353176571977219758501203688596831100268525595756429202652232743897547295611822205338555854857023254131149205001075466943696473457397531716329362503487029798542157457043253363981654102365013935347297317455409724286938435930980980854471855827688570670706729028715352054208352239362841133364835028795991927738654605378015825818919252210260886813862552276971243092607915833524895681733835133081976552862212779965408914149734743994042706965690146169685357017990196315557342491490404465711803706410604741461732769673608642007994927804226911153750326504243038403041002741349302058240113077667659354544208814818627428245803200090055364596587682556541322528212543430793735274366331507732474830861594049232320337555304564072878340975129425441991046792982472161510619681075585941410009705530319035991044035012674177126765749064669848700702464867424551185842160254275015226298878392146398095387288194146448990186922740588268306697999778086554774307782274360028190724351758087940784125331017361994084150296209093154074940872896648967866839971266906052205911464007678014768866691998001121612706659268169015709113318028223619669601448958835755136848292485074607013146708193461300332112566552076050583223675000925629666838606231044289646521438422865125892913380164487334412520002647627571885433665408774703247143913415471436782482473620424458313663696843625688672578123023186857734204011400339415332793821356700242107974693356120858204363904985510673769681167713011440725778272771470751162844547256821596480089771618109954556556568365744530229263739901184700381923055010842481729876380519524282902780247858657888216789990880656128012536447784286807272962297180447220977583504511421837351236075339318818505420822317104983959181976972373827277820913115490587562752731986878011778731128173538279 1612562093852088089990960924810961680946563004534961987987305162463400096801267642192637874742748511616401884995573938243496035862625389747580861896128910346099747245557017755524902771446311468498669619304091187068611519513994676491579403474223287767643087402453547829231134964798260207545242488203149896072364503128822027027920060663176898407358564171611581516186097566337155988732137697900085563028658965599505108019243781649129366651004835292351108914694400579368968250871285304053284072590034632605771688196779236602951992654026923598108303819649395663439433831724080240074506092113452153369606230442148833546494302844320068002038337885824530617545944235076751829743856907095926037494526436954297819690847959476952192980534869124428989824600010300557943487487018295737170285610564284611997909250093245610758385188259604540178837817876820269440966340892317730599831981338838900169206585828801567245720654189737401055725344550251446601625364145207201689021267668098610801148708728088703312760822262476591761683049374847666143771701789251492657997145450995196308733786714475207494387304435675951051393548397291150380990194256701828412188119831433532547848911700095201079124020497365934060369141167124820970845314178235529910257487395146892171893402216079060751636245052593469423827770049815391627665126594809912571402139181628215845232528298736564395669093429817712427916999184129402533933575444082298579884281149779325270952674014037614848223162425865384116158679134832366469225317643223738639439037735873005456702151407670013416665179080265501914903485698985526759433676433100415059873730667389087889415135333744726451685443205038621096817039902718117097464695148486294274478731195325791034827315791004764344515299416919648861139519916486015020914225948191035152122473611505798368725009324062225025682399094019585632925130850604595194622766969508089608331225857278951306819301199887081777167400098404233801351159131588482959210527658813720601738933222892719703399491172167278771878629044974723800757611446398662228946759639011014177146171782768993956400825670754821329665307057440295542640653995609169727897872758792759250186164603925423268976389379001155672290817102364582727211862618379006254965406356560890039065209156415297070261542369527484906663559666917192566412511614693068714407947362928261768968083768744427340724226722453820063061894858323915994862499233284139807390742686643513709949777560190509363718215193808233706037936072437852360512575749334694659097531950770784435483513463118383548501952204250991099936672538768688610433800469762720239780442752629373924314673678364005506860789522881763279960704045868914937891139532489851455143893073657043062540181738044656991547601089352554910264521863029741696363501101713160762197979324094863945635242054238658958034265922 2609180276822376380965059695849654174145762320763883357278767754198823843189898343414636936074733354007974253791252755764918622542754241540791568216307520784087037774592983569636772682799842621025055980181310789352420554396064911691982949348883711447608666445602606408289760637815183949719005618320676120615677176114411492930882920193063653027513121542661925974196285489196705146581441560127275427778024623085342839036036317176522821906103806052803472520091308085596848632363450095840688977522989386343870766064647418580442542375750491992226999598550104439629118240758758203390116298767450909973656946993270702051089325703622185414195178899266157120380382299525360928151347803235156902160409256753644089771580349455182491298722016354606449092035044434245145039787255400697280697766926730548713733794986195616221535639305536953264708374196310845345526351190619435762080780564445525945107804871315732612971718136574979406253044440926147532559590993385486714812226928587869605627701651339035619477165627050646114859621352067424644975390386082592926522741207424398960966530612022503106209509774231805908416802528440355382065661200398301869585651547762895051335941498637358536167273861347588162734155102472118288300723902522468346188468376001364027721090786749767480664960404647677776067132890948756462693922586737651226007517197454034764484738559623378258221370401060805035832832709025084267768708526058851442097061115188239420687418008080321813913308595550741134148875450389708960715722108935542345849642477334738226375760049678008344469405991419252241407728737388567762175025735158655172951398326743632098229953961172972254885533260403217684499596444040645310008125942221568640810238927800621896421365023325101899819863489797989836268945358477061813896698109701654833198059552915808074255328360053269060695073271146351381989800699305297659490191520693931768585500872505250185211447597982469065361546547394420724091747399895180958988614213588028384013293251083444055157579112951404102895991039058874096966704600473603101843408606877854148413077834974905420408503685523688021663308179053002201908823011318283045926096378462360699145000359062271561461463986014302380484278402696695293763938668962229929966331986227728645296253446061818508684407495420398286828047001329712569060139186578502379816722066175405682383555205526909814344651180767483759905520546996494117885686091018343818791082101976307531306477802298484057074336052012597611023446746207533528225587190060472931869002701933628982740335059598473320120062158807547668302417068997952350334985170144643294791285234359250304834197961266785754719447411098553270841360173881451385675426339762813752324340294634626567051603575395893066886919907857975732581626846988923673335874928990981675313469911657616677622120066017390086207804201 4221742370674464470956020620660615855092325325298845345266072916662223939991165985607274810817481865624376138786826694008414658405379631288372430112436431130186785020150001325161675454246154089523725599485401976421032073910059588183562352823106999215251753848056154237520895602613444157264248106523826016688041679243233519958802980856240551434871685714273507490382383055533861135313579258027360990806683588684847947055280098825652188557108641345154581434785708664965816883234735399893973050113024018949642454261426655183394535029777415590335303418199500103068552072482838443464622390880903063343263177435419535597583628547942253416233516785090687737926326534602112757895204710331082939654935693707941909462428308932134684279256885479035438916635054734803088527274273696434450983377491015160711643045079441226979920827565141493443546192073131114786492692082937166361912761903284426114314390700117299858692372326312380461978388991177594134184955138592688403833494596686480406776410379427738932237987889527237876542670726915090788747092175334085584519886658419595269700317326497710600596814209907756959810350925731505763055855457100130281773771379196427599184853198732559615291294358713522223103296269596939259146038080757998256445955771148256199614493002828828232301205457241147199894902940764148090359049181547563797409656379082250609717266858359942653890463830878517463749831893154486801702283970141150021981342264967564691640092022117936662136471021416125250307554585222075429941039752159280985288680213207743683077911457348021761134585071684754156311214436374094521608702168259070232825128994132719987645089294917698706570976465441838781316636346758762407472821090707862915288970123126412931248680814329866244335162906717638697408465274963076834810924057892689985320533164421606442980337684115494086377472365165937014914931549909892854112958490202021376916726729784201492030748797869550842528946645798654525442906531483663918199141872401748985752226473976163758557070285118682874774620084033597897724316046872265330790168245888868325559249617743899376809329356278509351328615236493297744549477006927452773823969137255119949331164962987694830437853365015458052775095505061278020975801287341236184931738342788618684361462602477115578945949864947883193491606668246905135472650801271571094224669429103667451351638974271337155068877903221303822967415405320410112748185324302483626181824788619821241256255362488993420792551245820831317061382818645385888738162939395167590966534652704413418223848522716856868622014363058538768239089607766640960768785639907363534571727986988624229148871639630791261580236933980316550802064219750366323566565872252665207468233368291669629591785313440550058434520997210530642846148710018665369699376030704142437511449235752480623257362120256049044242070123 6830922647496840851921080316510270029238087646062728702544840670861047783181064329021911746892215219632350392578079449773333280948133872829163998328743951914273822794742984894798448137045996710548781579666712765773452628306124499875545302171990710662860420293658760645810656240428628106983253724844502137303718855357645012889685901049304204462384807256935433464578668544730566281895020818154636418584708211770190786091316416002175010463212447397958053954877016750562665515598185495734662027636013405293513220326074073763837077405527907582562303016749604542697670313241596646854738689648353973316920124428690237648672954251564438830428695684356844858306708834127473686046552513566239841815344950461585999234008658387317175577978901833641888008670099169048233567061529097131731681144417745709425376840065636843201456466870678446708254566269441960132019043273556602123993542467729952059422195571433032471664090462887359868231433432103741666744546131978175118645721525274350012404112030766774551715153516577883991402292078982515433722482561416678511042627865843994230666847938520213706806323984139562868227153454171861145121516657498432151359422926959322650520794697369918151458568220061110385837451372069057547446761983280466602634424147149620227335583789578595712966165861888824975962035831712904553052971768285215023417173576536285374202005417983320912111834231939322499582664602179571069470992496200001464078403380155804112327510030198258476049779616966866384456430035611784390656761861094823331138322690542481909453671507026030105603991063104006397718943173762662283783727903417725405776527320876352085875043256090670961456509725845056465816232790799407717480947032929431556099209050927034827670045837654968144155026396515628533677410633440138648707622167594344818518592717337414517235666044168763147072545636312288396904732249215190513603150010895953145502227602289451677242196395852019907890493193193075249534653931378844877187756085989777369765519725059607813714649398070086977670611123092471994691020647345868432633576852766722473972327452718804797217833041802197372991923415546299946458300018245735819750065515717480648476165322049966391899317351029760433259373907757973314739739956303466114898070329016347329657716048538934087630357360368281480319653669576617704532789987850073474041391495279073133735194179798246969413529083988787582872935952316904230633871415320827444972906890596128772562733164787477477866887297833428928084829564852919416963750129455640522835537354638042400964183582315330188742076521866086436541506676764593311103770810052006829363013221347874533983069600897577016299684345078869821643424393631817709241992212015478959792573662926296196643388888836443125321440905068506375427775557007589043035250959695124112824919147410097300879482186273439130449874324 11052665018171305322877100937170885884330412971361574047810913587523271723172230314629186557709697085256726531364906143781747939353513504117536428441180383044460607814892986219960123591292150800072507179152114742194484702216184088059107654995097709878112174141714914883331551843042072264247501831368328153991760534600878532848488881905544755897256492971208940954961051600264427417208600076181997409391391800455038733146596514827827199020321088743112635389662725415528482398832920895628635077749037424243155674587500728947231612435305323172897606434949104645766222385724435090319361080529257036660183301864109773246256582799506692246662212469447532596233035368729586443941757223897322781470280644169527908696436967319451859857235787312677326925305153903851322094335802793566182664521908760870137019885145078070181377294435819940151800758342573074918511735356493768485906304371014378173736586271550332330356462789199740330209822423281335800929501270570863522479216121960830419180522410194513483953141406105121867944962805897606222469574736750764095562514524263589500367165265017924307403138194047319828037504379903366908177372114598562433133194306155750249705647896102477766749862578774632608940747641665996806592800064038464859080379918297876426950076792407423945267371319129972175856938772477052643412020949832778820826829955618535983919272276343263566002298062817839963332496495334057871173276466341151486059745645123368803967602052316195138186250638382991634763984620833859820597801613254104316427002903750225592531582964374051866738576134788760554030157610136756805392430071676795638601656315009072073520132551008369668027486191286895247132869137558170124953768123637294471388179174053447758918726651984834388490189303233267231085875908403215483518546225487034803839125881759020960216003728284257233450018001478225411819663799125083367716108501097974522418954332073653169272945193721570750419439838991729774977560462862508795386897958391526355517746199035771572271719683188769852445231207126069892415336694218133763423745098655590799531577070462704174027162398080706724320538652039597691007777025173188593574034652972600597807330285037661222337170716045218486034469412819251335715541243644702299829808671804966014019178651016049666576307225316164673811260337823522840005440789121644568266060924382740585086833154069584124482406987210091405840351357637314343382056739623311071154731679215950013818988527276470898659438543654260245146212383498305305701913068850808113802072007342455819188032105032187057364090884924625204780596284531234271872556449959370363934741208336498763131941240528368277879921279059186372445488613382184032808558084268144167260807031217965826235174202276993183755961902279037018273924267026254412734626990399266550336368383162577924136844306529488174691944447 17883587665668146174798181253681155913568500617424302750355754258384319506353294643651098304601912304889076923942985593555081220301647376946700426769924334958734430609635971114758571728338147510621288758818827507967937330522308587934652957167088420540972594435373675529142208083470700371230755556212830291295479389958523545738174782954848960359641300228144374419539720144994993699103620894336633827976100012225229519237912930830002209483533536141070689344539742166091147914431106391363297105385050829536668894913574802711068689840833230755459909451698709188463892698966031737174099770177611009977103426292800010894929537051071131077090908153804377454539744202857060129988309737463562623285625594631113907930445625706769035435214689146319214933975253072899555661397331890697914345666326506579562396725210714913382833761306498386860055324612015035050530778630050370609899846838744330233158781842983364802020553252087100198441255855385077467674047402549038641124937647235180431584634440961288035668294922683005859347254884880121656192057298167442606605142390107583731034013203538138014209462178186882696264657834075228053298888772096994584492617233115072900226442593472395918208430798835742994778199013735054354039562047318931461714804065447496654285660581986019658233537181018797151818974604189957196464992718117993844244003532154821358121277694326584478114132294757162462915161097513628940644268962541152950138149025279172916295112082514453614236030255349858019220414656445644211254563474348927647565325594292707501985254471400081972342567197892766951749100783899419089176157975094521044378183635885424159395175807099040629483995917131951712949101928357577842434715156566726027487388224980482586588772489639802532645215699748895764763286541843354132226168393081379622357718599096435477451669772453020380522563637790513808724396048340273881319258511993927667921181934363104846515141589573590658309933032184805024512214394241353672574654044381303725283265924095379385986369081258856830115842330218541887106357341564002196057321951422313273503904523181508971244995439882904097312462067585897637466077043418924413324100168690081246283495607087627614236488067074978919293843320577224650455281199948168414727879000821313343676894699554983754206664585684446154130914007400140544538230776971718042307452419661813718822027333867831093895936071198878988713287309954218574015928154944138516127638569812078786381721692063948376526325841487689173231041948351224722665663198306448636637609361980498220152215687347517246106167406790711641322102961295827582976327260011377193297754429684373297115010841425945294179605624138056194088913007014001742050550296283623127053380694144262022878563091113436309077402807347543393701699824033843455769877950094390663161287530572675225016326492802927305141818771 28936252683839451497675282190852041797898913588785876798166667845907591229525524958280284862311609390145803455307891737336829159655160881064236855211104718003195038424528957334718695319630298310693795937970942250162422032738492675993760612162186130419084768577088590412473759926512772635478257387581158445287239924559402078586663664860393716256897793199353315374500771745259421116312220970518631237367491812680268252384509445657829408503854624884183324734202467581619630313264027286991932183134088253779824569501075531658300302276138553928357515886647813834230115084690466827493460850706868046637286728156909784141186119850577823323753120623251910050772779571586646573930066961360885404755906238800641816626882593026220895292450476458996541859280406976750877755733134684264097010188235267449699416610355792983564211055742318327011856082954588109969042513986544139095806151209758708406895368114533697132377016041286840528651078278666413268603548673119902163604153769196010850765156851155801519621436328788127727292217690777727878661632034918206702167656914371173231401178468556062321612600372234202524302162213978594961476260886695557017625811539270823149932090489574873684958293377610375603718946655401051160632362111357396320795183983745373081235737374393443603500908500148769327675913376667009839877013667950772665070833487773357342040549970669848044116430357575002426247657592847686811817545428882304436197894670402541720262714134830648752422280893732849653984399277279504031852365087603031963992328498042933094516837435774133839081143332681527505779258394036175894568588046771316682979839950894496232915308358107410297511482108418846960081971065915747967388483280204020498875567399033930345507499141624636921135405002982162995849162450246569615744714618568414426196844480855456437667673500737277613972581639268739220544059847465357249035367013091902190340136266436758015788086783295161408729372871176534799489774857103862467961552002772830080801012123131150958258088764447626682561073537344611779521694035782135959481067050077904073035481593644213145272157837963610821633000719625495328473854068592113006898134821662681844090825892125288836573658783120197405328312733396475986170822443592870714557687672626279357696073350571033420782971811000610827942174345223663384543671566093362610573513344044554303908860487937415218378343058408970394553638667591532917397984894567449587282370249028028800200710219340419275185764385141949418377254331849530028367576267157256750439681369322954039340247792379704303470258291715336846102699245827061854848883709970747557232495638020872060246952081954313572059526903197242566534401620396185774859108380551767294314187725362227849113737293390429492833364709626580411975624091060097868504504940493657213497655913735253149153170799332415479833763218 46819840349507597672473463444533197711467414206210179548522422104291910735878819601931383166913521695034880379250877330891910379956808258010937281981029052961929469034164928449477267047968445821315084696789769758130359363260801263928413569329274550960057363012462265941615968009983473006709012943793988736582719314517925624324838447815242676616539093427497689794040491890254414815415841864855265065343591824905497771622422376487831617987388161025254014078742209747710778227695133678355229288519139083316493464414650334369368992116971784683817425338346523022694007783656498564667560620884479056614390154449709795036115656901648954400844028777056287505312523774443706703918376698824448028041531833431755724557328218732989930727665165605315756793255660049650433417130466574962011355854561774029261813335566507896947044817048816713871911407566603145019573292616594509705705998048503038640054149957517061934397569293373940727092334134051490736277596075668940804729091416431191282349791292117089555289731251471133586639472575657849534853689333085649308772799304478756962435191672094200335822062550421085220566820048053823014775149658792551602118428772385896050158533083047269603166724176446118598497145669136105514671924158676327782509988049192869735521397956379463261734445681167566479494887980856967036342006386068766509314837019928178700161827664996432522230562652332164889162818690361315752461814391423457386336043695681714636557826217345102366658311149082707673204813933725148243106928561951959611557654092335640596502091907174215811423710530574294457528359177935594983744746021865837727358023586779920392310484165206450926995478025550798673031072994273325809823198436770746526362955624014412932096271631264439453780620702731058760612448992089923747970883011649794048554563079951891915119343273190297994495145277059253029268455895805631130354625525085829858261318200799862862303228372868752067039305903361339824001989251345216140536206047154133806084278047226530344244457845706483512676915867563153666628051377346138155538389001500217346539386116825722116517153277846514918945462787211392965939931112011037420222234990352763090374321499212916450810146850195176324622156053973700636626103643541039129285566673447592701372968050126017174989636396685056982073088352623803929081902343065080652880965763706368022730887821805246312274279129607849383266925977545751491413913049511588103410008818840107586582431911404367651712090226629638591608296280200754751033239465463705387077290731303452259492463479727221549576425698506048487424802207122889437825210969982124750530250067705245357361962923380258866239132527335298760623314627410187516909658676835390421367568419506489871992300384503865801910767516974123805677323915093941324274382890588047876658943444307928374169497292135342784975581989 75756093033347049170148745635385239509366327794996056346689089950199501965404344560211668029225131085180683834558769068228739539611969139075174137192133770965124507458693885784195962367598744132008880634760712008292781395999293939922174181491460681379142131589550856354089727936496245642187270331375147181869959239077327702911502112675636392873436886626851005168541263635513835931728062835373896302711083637585766024006931822145661026491242785909437338812944677329330408540959160965347161471653227337096318033915725866027669294393110338612174941224994336856924122868346965392161021471591347103251676882606619579177301776752226777724597149400308197556085303346030353277848443660185333432797438072232397541184210811759210826020115642064312298652536067026401311172863601259226108366042797041478961229945922300880511255872791135040883767490521191254988615806603138648801512149258261747046949518072050759066774585334660781255743412412717904004881144748788842968333245185627202133114948143272891074911167580259261313931690266435577413515321368003856010940456218849930193836370140650262657434662922655287744868982262032417976251410545488108619744240311656719200090623572622143288125017554056494202216092324537156675304286270033724103305172032938242816757135330772906865235354181316335807170801357523976876219020054019539174385670507701536042202377635666280566346993009907167315410476283209002564279359820305761822533938366084256356820540352175751119080592042815557327189213211004652274959293649554991575549982590378573691018929342948349650504853863255821963307617571971770878313334068637154410337863537674416625225792523313861224506960133969645633113044060189073777211681716974767025238523023048343277603770772889076374916025705713221756461611442336493363715597630218208474751407560807348352787016773927575608467726916327992249812515743270988379389992538177732048601454467236620878091315156163913475768678774537874623491764108449078608497758049926963886885290170357681302502546610154110195237989404907765446149745413128274115019456051578121419574867710469935261789311115810125740578463506836888294413785180603150427120369812015444934465147391338205287383805633315373729950468787370176622796926087133909843843254346073872059069041400697050595772608207685667810015262697847467313625573909158443263454479107750922326639748309742661530652622188016819777820564645137284408811897944079037690692379067868136386783142130744786926897854611771588009985550612050284779400815732620962137516972100626406298832711272106925853046683990221385333527501452949951292674094679952872307762745705726117417608915005334572438298659430532541327157716247806373291768767057387157715681756144868717721106037677894295294744132226600704217652948006154039192778887831081705090156599358043181523322668091467758264809345207 122575933382854646842622209079918437220833742001206235895211512054491412701283164162143051196138652780215564213809646399120649919568777397086111419173162823927053976492858814233673229415567189953323965331550481766423140759260095203850587750820735232339199494602013122295705695946479718648896283275169135918452678553595253327236340560490879069489975980054348694962581755525768250747143904700229161368054675462491263795629354198633492644478630946934691352891686887077041186768654294643702390760172366420412811498330376200397038286510082123295992366563340859879618130652003463956828582092475826159866067037056329374213417433653875732125441178177364485061397827120474059981766820359009781460838969905664153265741539030492200756747780807669628055445791727076051744589994067834188119721897358815508223043281488808777458300689839951754755678898087794400008189099219733158507218147306764785687003668029567821001172154628034721982835746546769394741158740824457783773062336602058393415464739435389980630200898831730394900571162842093426948369010701089505319713255523328687156271561812744462993256725473076372965435802310086240991026560204280660221862669084042615250249156655669412891291741730502612800713237993673262189976210428710051885815160082131112552278533287152370126969799862483902286665689338380943912561026440088305683700507527629714742364205300662713088577555662239332204573294973570318316741174211729219208869982061765970993378366569520853485738903191898265000394027144729800518066222211506951187107636682714214287521021250122565461928564393830116420835976749907365862058080090502992137695887124454337017536276688520312151502438159520444306144117054462399587034880153745513551601478647062756209700042404153515828696646408444280517074060434426417111686480641868002523305970640759240267906360047117873602962872193387245279080971639076619509744618063263561906862772668036483740394543529032665542807984677899214447493753359794294749033964097081097692969568217584211646747004455860593707914905272470919112777796790474412270557845053078338766114253827295657378306464393656640659523926294048281260353716292614187847342604802368208024839468890551121738193952483510550054572624841343877259423029730674948973128821019521464760442009450823067770762244604370724792088351050471271242707476252223523916335444871457290349370636131547907842926901317624669161087490622683035900225810993590625794102387886708243973365574042149154578609944838401226601593846892251039530434055198084667524594262831929858558325174751834147402623109688727433820952303660072840730499305649934997058292995773431362774970877928714831304537791957867840087781030875216560808678425734222548137049324564375207593098338062398161096654899743574828023330271921247980517053270721669752966815542802351109897492165383603101049784927196 198332026416201696012770954715303676730200069796202292241900602004690914666687508722354719225363783865396248048368415467349389459180746536161285556365296594892178483951552700017869191783165934085332845966311193774715922155259389143772761932312195913718341626191563978649795423882975964291083553606544283100322637792672581030147842673166515462363412866681199700131123019161282086678871967535603057670765759100077029819636286020779153670969873732844128691704631564406371595309613455609049552231825593757509129532246102066424707580903192461908167307788335196736542253520350429348989603564067173263117743919662948953390719210406102509850038327577672682617483130466504413259615264019195114893636407977896550806925749842251411582767896449733940354098327794102453055762857669093414228087940155856987184273227411109657969556562631086795639446388608985654996804905822871807308730296565026532733953186101618580067946739962695503238579158959487298746039885573246626741395581787685595548579687578662871705112066411989656214502853108529004361884332069093361330653711742178617350107931953394725650691388395731660710304784572118658967277970749768768841606909395699334450339780228291556179416759284559107002929330318210418865280496698743775989120332115069355369035668617925276992205154043800238093836490695904920788780046494107844858086178035331250784566582936328993654924548672146499519983771256779320881020534032034981031403920427850227350198906921696604604819495234713822327583240355734452793025515861061942762657619273092787978539950593070915112433418257085938384143594321879136740371414159140146548033750662128753642762069211834173376009398293490089939257161114651473364246561870720280576840001670111099487303813177042592203612672114157502273535671876762910475402078272086210998057378201566588620693376821045449211430599109715237528893487382347607889134610601441293955464227135273104618485858685196579018576663452437089070985517468243373357531722147008061579854858387941892949249551066014703903152894677378684558927542203602686385577301104656460185689121537765592640095775509466766400102389800885169554767501473217338274462974614383652959304616281889327025577758116825923784523093628714053882219955817808858816972075365595336819511050851520118366534852812056392602103613748318738556333050161381967179789923979208212676010384441290569373579523505641488938908055267820320309037708937669663484794766954576380360148716172893941505507799450172814611579397504301324309834870930705629662111234932556264857157886023941073255669793678948819154479805113022792023173400329887869366055741479157480192579792934049403742836451388400381414938747123022934100447192791609705852731080709243925314204375740292456391399031970175532240983219927402019709832158552751458056972142160394291420814833475070859314594272403 320907959799056342855393163795222113951033811797408528137112114059182327367970672884497770421502436645611812262178061866470039378749523933247396975538459418819232460444411514251542421198733124038656811297861675541139062914519484347623349683132931146057541120793577100945501119829455682939979836881713419018775316346267834357384183233657394531853388846735548395093704774687050337426015872235832219038820434562568293615265640219412646315448504679778820044596318451483412782078267750252751942991997960177921941030576478266821745867413274585204159674351676056616160384172353893305818185656542999422983810956719278327604136644059978241975479505755037167678880957586978473241382084378204896354475377883560704072667288872743612339515677257403568409544119521178504800352851736927602347809837514672495407316508899918435427857252471038550395125286696780055004994005042604965815948443871791318420956854131186401069118894590730225221414905506256693487198626397704410514457918389743988964044427014052852335312965243720051115074015950622431310253342770182866650366967265507304506379493766139188643948113868808033675740586882204899958304530954049429063469578479741949700588936883960969070708501015061719803642568311883681055256707127453827874935492197200467921314201905077647119174953906284140380502180034285864701341072934196150541786685562960965526930788236991706743502104334385831724557066230349639197761708243764200240273902489616198343577273491217458090558398426612087327977267500464253311091738072568893949765255955807002266060971843193480574361982650916054804979571071786502602429494249643138685729637786583090660298345900354485527511836453010534245401278169113872951281442024465794128441480317173855697003855581196108032309318522601782790609732311189327587088558913954213521363348842325828888599736868163322814393471303102482807974459021424227398879228664704855862326999803309588358880402214229244561384648130336303518479270828037668106565686244089159272824426605526104595996555521875297611067799949849603671705338994077098656135146157734798951803375365061250018402239903123407059626316094933450815121217765831526121805579416751860984144085172440448763771710600336473839095718470057931141642985548483807790100896385116801579953060302343186137297097416427117394191964798790009799040526413605491096125368850665503025381020572838477216506424823266158099995545890503356209263519931260289278897154841284624333514290215043096084117744288574041213173244396552363840268926128790297186705497764486123415483060775775220658292903367676252975432108773095632753672705979822866424348737252588842967550670862764235047374243346268221502719777998239494909125618525832253989780405273619132907302713802690617488053931713750360264313491848650000226885429274421211023787684962745401318306998858673960364379199599 519239986215258038868164118510525790681233881593610820379012716063873242034658181606852489646866220511008060310546477333819428837930270469408682531903756013711410944395964214269411612981899058123989657264172869315854985069778873491396111615445127059775882746985141079595296543712431647231063390488257702119097954138940415387532025906823909994216801713416748095224827793848332424104887839771435276709586193662645323434901926240191799986418378412622948736300950015889784377387881205861801495223823553935431070562822580333246453448316467047112326982140011253352702637692704322654807789220610172686101554876382227280994855854466080751825517833332709850296364088053482886500997348397400011248111785861457254879593038714995023922283573707137508763642447315280957856115709406021016575897777670529482591589736311028093397413815102125346034571675305765710001798910865476773124678740436817851154910040232804981137065634553425728459994064465743992233238511970951037255853500177429584512624114592715724040425031655709707329576869059151435672137674839276227981020679007685921856487425719533914294639502264539694386045371454323558925582501703818197905076487875441284150928717112252525250125260299620826806571898630094099920537203826197603864055824312269823290349870523002924111380107950084378474338670730190785490121119428303995399872863598292216311497371173320700398426653006532331244540837487128960078782242275799181271677822917466425693776180412914062695377893661325909655560507856198706104117253933630836712422875228899790244600922436264395686795400908001993189123165393665639342800908408783285233763388448711844303060415112188658903521234746500624184658439283765346315528003895186074705281481987284955184307668758238700235921990636759285064145404187952238062490637186040424519420727043892417509293113689208772025824070412817720336867946403771835288013839266146149817791226938582692977366260899425823579961311582773392589464788296281041464097408391097220852679284993467997545246106587890001514220694627228288230632881197679785041712447262391259137492496902826842658498015412590173459728705895818620369888719239048864396268554031135513943448701454329775789349468717162397623618812098771985023862941366292666607072971750712138399464111153863304503831950228483509996295578547108748355373576574987458275915292829873715701391405014129046590085948328907647038903601158323676518301228868929952763691921795861004693663006387937037589625543738746855824752641900853688150103797059495926848816732697042388272640946799716293913962697046625072129911913886118424776846106309710735790404478731746323160130463796813638790210694734668602917658525121262429009572811317441959842511485982863058221507089542983073879452963683925892505296711776052019936717587827172669080759827123139692739121832333744819678973472002 840147946014314381723557282305747904632267693391019348516124830123055569402628854491350260068368657156619872572724539200289468216679794402656079507442215432530643404840375728520954034180632182162646468562034544856994047984298357839019461298578058205833423867778718180540797663541887330171043227369971121137873270485208249744916209140481304526070190560152296490318532568535382761530903712007267495748406628225213617050167566459604446301866883092401768780897268467373197159466148956114553438215821514113353011593399058600068199315729741632316486656491687309968863021865058215960625974877153172109085365833101505608598992498526058993800997339087747017975245045640461359742379432775604907602587163745017958952260327587738636261799250964541077173186566836459462656468561142948618923707615185201977998906245210946528825271067573163896429696962002545765006792915908081738940627184308609169575866894363991382206184529144155953681408969972000685720437138368655447770311418567173573476668541606768576375737996899429758444650885009773866982391017609459094631387646273193226362866919485673102938587616133347728061785958336528458883887032657867626968546066355183233851517653996213494320833761314682546610214466941977780975793910953651431738991316509470291211664072428080571230555061856368518854840850764476650191462192362500145941659549161253181838428159410312407141928757340918162969097903717478599276543950519563381511951725407082624037353453904131520785936292087937996983537775356662959415208992006199730662188131184706792510661894279457876261157383558918047994102736465452141945230402658426423919493026235294934963358761012543144431033071199511158430059717452879219266809445919651868833722962304458810881311524339434808268231309159361067854755136499141565649579196099994638040784075886218246397892850557372094840217541715920203144842405425196062686893067930851005680118226741892281336246663113655068141345959713109696107944059124318709570663094635186380125503711598994102141242662109765299125288494577077891902338220191756883697847593420126058089295872267888092676900255315713580519355021990752071185009937004880390518074133447887374927592786626770224553121179317498871462714530568829916165505926914776474397173868135828939979417171456206490641129047644910627390487543345898758154414102988592949372040661680539218726772425586967523806592373152173805138899147048827032727564748800190242042589076637145629027177296602980133673743288027320897037925886297406051990372723188286224035522230461528511688124007575491514572255600414301325105344022659214057530518812289533602214753215984335166127681134659577873837584938080936824420378303119501923918698429843274213832291891256482191128809803345673691367506895397676252769610203624702020163603017101593880104547512085885094057428831192418780043352671601 1359387932229572420591721400816273695313501574984630168895137546186928811437287036098202749715234877667627932883271016534108897054610064872064762039345971446242054349236339942790365647162531240286636125826207414172849033054077231330415572914023185265609306614763859260136094207254318977402106617858228823256971224624148665132448235047305214520286992273569044585543360362383715185635791551778702772457992821887858940485069492699796246288285261505024717517198218483262981536854030161976354933439645068048784082156221638933314652764046208679428813638631698563321565659557762538615433764097763344795186920709483732889593848352992139745626515172420456868271609133693944246243376781173004918850698949606475213831853366302733660184082824671678585936829014151740420512584270548969635499605392855731460590495981521974622222684882675289242464268637308311475008591826773558512065305924745427020730776934596796363343250163697581682141403034437744677953675650339606485026164918744603157989292656199484300416163028555139465774227754068925302654528692448735322612408325280879148219354345205207017233227118397887422447831329790852017809469534361685824873622554230624518002446371108466019570959021614303373416786365572071880896331114779849035603047140821740114502013942951083495341935169806452897329179521494667435681583311790804141341532412759545398149925530583633107540355410347450494213638741204607559355326192795362562783629548324549049731129634317045583481314185749263906639098283212861665519326245939830567374611006413606582755262816715722271947952784466920041183225901859117781288031311067209709153256414684006779266419176124731803334554305946011782614718156736644565582337449814837943539004444291743766065619193097673508504153299796120352918900540687093803712069833286035062560204802930110663907185964246580866866041612128737923481710351828967897974906907196997155497909453680474974313612924013080891721307271295883088697408847420599751034760503026283600978182996592462099686488768697655300639509189204306180132971101389436668739560040682517317226788369170714935335398270728303753979083727886570691554898656243929254914342687479022888871041488081100000342470648034661269086333342667601901189368868281069141004246839886541078378881282610069795144960997873394137386783121893007506509787679563580407647955954510412934428163830601096570396678321481081452177802748207150709245865977669120194806280998433006633720840302990917171263368831766067752862678528198259740140476520247782150884338963158570899960764954375207808486218297460926397235255936545332482307364918599244338005157694716081489287811598456391512627795632815605427338036828240764352928271241160716173674803377239345249350316892888656765246959859081602145274906915400754040100320604928766549185307339209024786796550663526163599722326143603 2199535878243886802315278683122021599945769268375649517411262376309984380839915890589553009783603534824247805455995555734398365271289859274720841546788186878772697754076715671311319681343163422449282594388241959029843081038375589169435034212601243471442730482542577440676891870796206307573149845228199944394844495109356914877364444187786519046357182833721341075861892930919097947166695263785970268206399450113072557535237059159400692590152144597426486298095486950636178696320179118090908371655466582162137093749620697533382852079775950311745300295123385873290428681422820754576059738974916516904272286542585238498192840851518198739427512511508203886246854179334405605985756213948609826453286113351493172784113693890472296445882075636219663110015580988199883169052831691918254423313008040933438589402226732921151047955950248453138893965599310857240015384742681640251005933109054036190306643828960787745549434692841737635822812004409745363674112788708261932796476337311776731465961197806252876791901025454569224218878639078699169636919710058194417243795971554072374582221264690880120171814734531235150509617288127380476693356567019553451842168620585807751853964025104679513891792782928985920027000832514049661872125025733500467342038457331210405713678015379164066572490231662821416184020372259144085873045504153304287283191961920798579988353689993945514682284167688368657182736644922086158631870143314925944295581273731631673768483088221177104267250477837201903622636058569524624934535237946030298036799137598313375265924710995180148209110168025838089177328638324569923233261713725636133072749440919301714229777937137274947765587377145522941044777874189523784849146895734489812372727406596202576946930717437108316772384608955481420773655677186235369361649029386029700600988878816328910305078814803952961706259153844658126626552757254163960661799975127848161178027680422367255649859587126735959862653231008992784805352906544918460605423597661469981103686708191456201827731430807420599764797683781384072035309321581193552437407634102643375316084241438603028012298526044017334498438749877322762739908593248809645432416820926910263798634274707870224895591827352160140549047873236431817354874795195845615401420708022370018358298454066276285786090045518304764777270665238906264664201782552173357019996616190952153154936256188064094203270694633255257316701895255977741973430726469310436848870075070152262748017599593897304937112119793388649900604414495665792130849243436068374919861193620099411648888961950699323058473897875227722340599959204546539837883730888777940219910910700416655415492733115969386465380570896542251758415131360266276846969671003990387507095268495827440479126696234330456614466754479278398044517119025456060263923622030360429289854851294909880853979494718582379765678815204 3558923810473459222907000083938295295259270843360279686306399922496913192277202926687755759498838412491875738339266572268507262325899924146785603586134158325014752103313055614101685328505694662735918720214449373202692114092452820499850607126624428737052037097306436700812986078050525284975256463086428767651815719733505580009812679235091733566644175107290385661405253293302813132802486815564673040664392272000931498020306551859196938878437406102451203815293705433899160233174209280067263305095111650210921175905842336466697504843822158991174113933755084436611994340980583293191493503072679861699459207252068971387786689204510338485054027683928660754518463313028349852229132995121614745303985062957968386615967060193205956629964900307898249046844595139940303681637102240887889922918400896664899179898208254895773270640832923742381358234236619168715023976569455198763071239033799463211037420763557584108892684856539319317964215038847490041627788439047868417822641256056379889455253854005737177208064054009708689993106393147624472291448402506929739856204296834951522801575609896087137405041852929122572957448617918232494502826101381239276715791174816432269856410396213145533462751804543289293443787198086121542768456140513349502945085598152950520215691958330247561914425401469274313513199893753811521554628815944108428624724374680343978138279220577578622222639578035819151396375386126693717987196336110288507079210822056180723499612722538222687748564663586465810261734341782386290453861483885860865411410144011919958021187527710902420157062952492758130360554540183687704521293024792845842226005855603308493496197113262006751100141683091534723659496030926168350431484345549327755911731850887946343012549910534781825276537908751601773692556217873329173073718862672064763161193681746439574212264779050533828572300765973396050108263109083131858636706882324845316675937134102842229963472511139816851583960502304875873502761753965518211640184100687753582081869704783918301514220199505075900404306872985690252168280422970630221176967674785160692542872610609317963347696796772321088477522477763893454294807249492738900346759508405933152669675762788970225238062475386821409635381215904033718544243663476914756405667547908911096737179736676346080931051043391698902164053787131913771173989462115753764667952570701365087583100086789160664599949016114336709494504643463128451219296704138430631655151073503158896468857902584814476200480951559456402763282942693925532271325763683850525804200156778670311609653916325907131544692195336154119575855895749879022145248649488022278225068605416498144703304331572360899093176203712147679096451959601030629775240912164706561181898645735172689829443589122987221861426613560880543319424034426210100364244226959126978475162190503934667650530158244745979488004958807 5758459688717346025222278767060316895205040111735929203717662298806897573117118817277308769282441947316123543795262128002905627597189783421506445132922345203787449857389771285413005009848858085185201314602691332232535195130828409669285641339225672208494767579849014141489877948846731592548406308314628712046660214842862494887177123422878252613001357941011726737267146224221911079969182079350643308870791722114004055555543611018597631468589550699877690113389192384535338929494388398158171676750578232373058269655463034000080356923598109302919414228878470309902423022403404047767553242047596378603731493794654209885979530056028537224481540195436864640765317492362755458214889209070224571757271176309461559400080754083678253075846975944117912156860176128140186850689933932806144346231408937598337769300434987816924318596783172195520252199835930025955039361312136839014077172142853499401344064592518371854442119549381056953787027043257235405301901227756130350619117593368156620921215051811990053999965079464277914211985032226323641928368112565124157100000268389023897383796874586967257576856587460357723467065906045612971196182668400792728557959795402240021710374421317825047354544587472275213470788030600171204640581166246849970287124055484160925929369973709411628486915633132095729697220266012955607427674320097412715907916336601142558126632910571524136904923745724187808579112031048779876619066479425214451374792095787812397268095810759399792015815141423667713884370400351910915388396721831891163448209281610233333287112238706082568366173120518596219537883178508257627754554738518481975298755296522610207725975050399281698865729060237057664704273905115692135280631241283817568284459257484148919959480627971890142048922517707083194466211895059564542435367892058094463762182560562768484517343593854486790278559919818054176734815866337295819298506857452693477853964814525209485613332098266552811446613733313868658308114660510436672245607698349223563185556412975374503341951630312496500169104556767074324203589744551823773614375308887804067858956852047920991359995322816338422975961227641216217034715842741548545779176329332843416468310037496840450133654302738981550184429089140465535899118458672760371807088255931281115095478190742622366717141088910003666941324452370820035838191244667927121687949186892317240738036342977224758803219710747591966811206538719106193192727430607741068504021148573311159216875502178711781137593071352845052663887357189591324402175007119918900724061350398769723258542878276606454603166093211381841916455854954425561983132380376800218444979516116914800118797064688330285558556774608689930854867090961296906622210583168696948688993914231000130308570285357317678475893368040158941363941153451666160628167848989487407765017041798844548504509652963328359253683774011 9317383499190805248129278850998612190464310955096208890024062221303810765394321743965064528781280359807999282134528700271412889923089707568292048719056503528802201960702826899514690338354552747921120034817140705435227309223281230169136248465850100945546804677155450842302864026897256877523662771401057479698475934576368074896989802657969986179645533048302112398672399517524724212771668894915316349535183994114935553575850162877794570347026956802328893928682897818434499162668597678225434981845689882583979445561305370466777861767420268294093528162633554746514417363383987340959046745120276240303190701046723181273766219260538875709535567879365525395283780805391105310444022204191839317061256239267429946016047814276884209705811876252016161203704771268080490532327036173694034269149809834263236949198643242712697589237616095937901610434072549194670063337881592037777148411176652962612381485356075955963334804405920376271751242082104725446929689666803998768441758849424536510376468905817727231208029133473986604205091425373948114219816515072053896956204565223975420185372484483054394981898440389480296424514523963845465699008769782032005273750970218672291566784817530970580817296392015564506914575228686292747409037306760199473232209653637111446145061932039659190401341034601370043210420159766767128982303136041521144532640711281486536264912131149102759127563323760006959975487417175473594606262815535502958454002917843993120767708533297622479764379805010133524146104742134297205842258205717752028859619425622153291308299766416984988523236073011354349898437718691945332275847763311327817524761152125918701222172163661288449965870743328592388363769936041860485712115586833145324196191108372095262972030538506671967325460426458684968158768112932893715509086754730159226923376242309208058729608372905020618850860685791450226843078975420427677935213739777538794529901948628051715576804609406369663030574235618744531810876414475954883885791799036977145267426117759292804856171829817572400573411429752764576371870167522453994791342983672964760401829462657238954707692119588659511453483705405109671329523092234287446125935837738776569137985800285810675371716778125802959819810305044499254443362122149675128212755803840192211832657927418968447648192132301702569105378239502733807012180706783680886355901757593682328321136429766385423403168726861928676305711182182234644412024134746171700159172222076470055685733404763526257338074022912301455427170299883516856673500770803769426528261507177440034868196794602513586147858288547535961492311750704304584128381029864822496670048121533412944822101396260691184651732978320837609951319050562327536397451495333403509870892559966172820138013874480304900337319981601039484683365187877876260992412075948614386240179232302779216155039811208074338741688732818 15075843187908151273351557618058929085669351066832138093741724520110708338511440561242373298063722307124122825929790828274318517520279490989798493851978848732589651818092598184927695348203410833106321349419832037667762504354109639838421889805075773154041572257004464983792741975743988470072069079715686191745136149419230569784166926080848238792646890989313839135939545741746635292740850974265959658405975716228939609131393773896392201815616507502206584042072090202969838092162986076383606658596268114957037715216768404466858218691018377597012942391512025056416840385787391388726599987167872618906922194841377391159745749316567412934017108074802390036049098297753860768658911413262063888818527415576891505416128568360562462781658852196134073360564947396220677383016970106500178615381218771861574718499078230529621907834399268133421862633908479220625102699193728876791225583319506462013725549948594327817776923955301433225538269125361960852231590894560129119060876442792693131297683957629717285207994212938264518417076457600271756148184627637178054056204833612999317569169359070021652558755027849838019891580430009458436895191438182824733831710765620912313277159238848795628171840979487839720385363259286463952049618473007049443519333709121272372074431905749070818888256667733465772907640425779722736409977456138933860440557047882629094391545041720626896032487069484194768554599448224253471225329294960717409828795013631805518035804344057022271780194946433801238030475142486208121230654927549643192307828707232386624595412005123067556889409193529950569436320897200202960030402501829809792823516448648528908948147214060570148831599803565650053068043841157552620992746828116962892480650365856244182931511166478562109374382944165768162624980007992458257944454646788253690685558802871976543246951966759507409129420605609504403577894841757723497233720597230232272383866763153261201190136707672922474477187968932613190118991074986391556131399497386200708452982530734667308198123460130068900742515986519838900575459912074277768405718292560768828260786314705159946067687442404997934429444933046325888364238934975835991905112167071619985606295837782651125505371080864784510004239394184964790342480580822435500019844059771473326928136118161590814365333221211706236046702691873553842850371951451608008043850944485999569059172772743610182206388437609520643116917720901340837604751565353912768663193370649781214902608906942238038475667094265146508091057657073108181075675777923688327252322857576209758126739672879120040751024381758917803408767605658730146111513410241622715115027637650327744940898460949021470210289752929527540806186141523624443019662078502100458559886474197172950446584159837622578813213349641198426047306341329542421620579924938101794005196274101623764659549464171402697995372506829 24393226687098956521480836469057541276133662021928346983765786741414519103905762305207437826845002666932122108064319528545731407443369198558090542571035352261391853778795425084442385686557963581027441384236972743102989813577390870007558138270925874099588376934159915826095606002641245347595731851116743671443612083995598644681156728738818224972292424037615951534611945259271359505512519869181276007941159710343875162707243936774186772162643464304535477970754988021404337254831583754609041640441957997541017160778073774933636080458438645891106470554145579802931257749171378729685646732288148859210112895888100572433511968577106288643552675954167915431332879103144966079102933617453903205879783654844321451432176382637446672487470728448150234564269718664301167915344006280194212884531028606124811667697721473242319497072015364071323473067981028415295166037075320914568373994496159424626107035304670283781111728361221809497289511207466686299161280561364127887502635292217229641674152863447444516416023346412251122622167882974219870368001142709231951012409398836974737754541843553076047540653468239318316316094953973303902594200207964856739105461735839584604843944056379766208989137371503404227299938487972756699458655779767248916751543362758383818219493837788730009289597702334835816118060585546489865392280592180455004973197759164115630656457172869729655160050393244201728530086865399727065831592110496220368282797931475798638803512877354644751544574751443934762176579884620505327072913133267395221167448132854539915903711771540052545412645266541304919334758615892148292306250265141137610348277600774447610170319377721858598797470546894242441431813777199413106704862414950108216676841474228339445903541704985234076699843370624453130783748120925351973453541401518412917608935045181184601976560339664528027980281291400954630420973817178151175168934337007771066913768711781312916766941317079292137507762204551357721929867489462346440017191296423177853720408648493960113054295289947641301315927416272603476947330079596731763197061276233733588662615777362398900775379561993657445882928638451435559693762027210123438031048004810396554744281638068461800877087858990587469824049699229464044785842702972110628232599863611665538760794045580559262013525353513408805152080931376287649862552658235288894399752702079681897380309202509995605609557164471449319422628903083575482016775700100084468822365592726251270588342311705764295813741117177447963518227956956625037749176548727457753780584364753649792994936467481633626898882670306453764901079356363034730239894440106445211785075759183740689762999857209712654862022731250365150757505192085951979417113573835503968430779034163345770584598034317927479150533331242237910730671529207418682612992000886716180245375506404402980814589275379477036737061239647 39469069875007107794832394087116470361803013088760485077507511261525227442417202866449811124908724974056244933994110356820049924963648689547889036423014200993981505596888023269370081034761374414133762733656804780770752317931500509845980028076001647253629949191164380809888347978385233817667800930832429863188748233414829214465323654819666463764939315026929790670551491001017994798253370843447235666347135426572814771838637710670578973978259971806742062012827078224374175346994569830992648299038226112498054875994842179400494299149457023488119412945657604859348098134958770118412246719456021478117035090729477963593257717893673701577569784028970305467381977400898826847761845030715967094698311070421212956848304950998009135269129580644284307924834666060521845298360976386694391499912247377986386386196799703771941404906414632204745335701889507635920268736269049791359599577815665886639832585253264611598888652316523242722827780332828647151392871455924257006563511735009922772971836821077161801624017559350515641039244340574491626516185770346410005068614232449974055323711202623097700099408496089156336207675383982762339489391646147681472937172501460496918121103295228561837160978350991243947685301747259220651508274252774298360270877071879656190293925743537800828177854370068301589025701011326212601802258048319388865413754807046744725048002214590356551192537462728396497084686313623980537056921405456937778111592945107604156839317221411667023324769697877736000207055027106713448303568060817038413475276840086926540499123776663120102302054460071255488771079513092351252336652766970947403171794049422976519118466591782428747629070350459892494499857618356965727697609243067071109157491840084583628835052871463796186074226314790221293408728128917810231397996048306666608294493848053161145223512306424035437109701897010459033998868658935874672402654934238003339297635474934574117957078024752214611984950173483970912048858564448737996148590793809378562173391179228627421252418750077710202058443402792442377522789991671009531602779568794502416923402092067558846843067004398655380312373571497761448058000962185959429936160171882016540350577475851112926382458939855371979828289093414428835128323283794546128252443923383138865688930163742150076378858574725115041198783623249841492712924609686896902443603646565681466439481975253605787815945602080969962539546623984916319621527265453997237485558963376032485490951218648002334289408211442594471609285614029733218824852326651146081032907222329859551121676140360753667649907052065371568309846962021764876351407850348067926900103396834068434703898318158734125072312484179892691563691333609576422436775652337604426990665508360518721031182194155550057963746680883436336777977870536961104233571925824817974250571780506026745474138739550879734732433746476 63862296562106064316313230556174011637936675110688832061273298002939746546322965171657248951753727640988367042058429885365781332407017888105979578994049553255373359375683448353812466721319337995161204117893777523873742131508891379853538166346927521353218326125324296635983953981026479165263532781949173534632360317410427859146480383558484688737231739064545742205163436260289354303765890712628511674288295136916689934545881647444765746140903436111277539983582066245778512601826153585601689939480184110039072036772915954334130379607895669379225883499803184662279355884130148848097893451744170337327147986617578536026769686470779990221122459983138220898714856504043792926864778648169870300578094725265534408280481333635455807756600309092434542489104384724823013213704982666888604384443275984111198053894521177014260901978429996276068808769870536051215434773344370705927973572311825311265939620557934895380000380677745052220117291540295333450554152017288384894066147027227152414645989684524606318040040905762766763661412223548711496884186913055641956081023631286948793078253046176173747640061964328474652523770337956066242083591854112538212042634237300081522965047351608328046150115722494648174985240235231977350966930032541547277022420434638040008513419581326530837467452072403137405143761596872702467194538640499843870386952566210860355704459387460086206352587855972598225614773179023707602888513515953158146394390876583402795642830098766311774869344449321670762383634911727218775376481194084433634642724972941466456402835548203172647714699726612560408105838128984499544642903032112085013520071650197424129288785969504287346426540897354134935931671395556378834402471658017179325834333314312923074738594576449030262774069685414674424192476249843162204851537449825079525903428893234345747200072646088563465089983188411413664419842476114025847571589271245774406211404186715887034724019341831506749492712378035328633978726053911084436165782090232556415893799827722587534306714040025351503374370819065045854470120071267741294799840845028236005586017869429957747618446566392312826195302209949197007751762989396082867967208176692413095094859113919574727259546798845959449652338792643892879914165986766656756485043786994804404449724209322709338392383928238523846350864554626129142575477267922185796843356348645363363819791177763601393425502766552419281962175527068491801638302965554081706307924556102283756079293530353766630103149328620042435127513570986358256574028875378603834813491587083509344116612607842387294548789722371825333210926318384799606591302290454513138685179156017809124466898175368446779934335215430257842321196525695528401853889226173108395421444542523864491615780228473477537114280012125674247508649399744379786846563926711534154495947286910429726288728014930356771469494986123 103331366437113172111145624643290481999739688199449317138780809264464973988740168038107060076662452615044611976052540242185831257370666577653868615417063754249354864972571471623182547756080712409294966851550582304644494449440391889699518194422929168606848275316488677445872301959411712982931333712781603397821108550825257073611804038378151152502171054091475532875714927261307349102019261556075747340635430563489504706384519358115344720119163407918019601996409144470152687948820723416594338238518410222537126912767758133734624678757352692867345296445460789521627454019088918966510140171200191815444183077347056499620027404364453691798692244012108526366096833904942619774626623678885837395276405795686747365128786284633464943025729889736718850413939050785344858512065959053582995884355523362097584440091320880786202306884844628480814144471760043687135703509613420497287573150127491197905772205811199506978889032994268294942945071873123980601947023473212641900629658762237075187617826505601768119664058465113282404700656564123203123400372683402051961149637863736922848401964248799271447739470460417630988731445721938828581572983500260219684979806738760578441086150646836889883311094073485892122670541982491198002475204285315845637293297506517696198807345324864331665645306442471438994169462608198915068996796688819232735800707373257605080752461602050442757545125318700994722699459492647688139945434921410095924505983821691006952482147320177978798194114147199406762590689938833932223680049254901472048118001813028392996901959324866292750016754186683815896876917642076850796979555799083032416691865699620400648407252561286716094055611247814027430431529013913344562100080901084250434991825154397506703573647447912826448848296000204895717601204378760972436249533498131746134197922741287506892423584952512598902199685085421872698418711135049900519974244205483777745509039661650461152681097366583721361477662551519299546027584618359822432314372884041934978067191006951214955559132790103061705432814221857488231992910062938750826402620413822738422509419961497516594461513570790968206507675781446958455809763951582042297903368348574429635445436589770687653642005738701331429480627886058321715042489270561202884737487710377943270138654373064859414771242502963638887549648177875970635288401877609082699286959995211044830259273153017207181241448368633389244501722151053408121259830231008078943793483519478316241570244749001768964392557540062636906736799185016091475398881202029749915846398809413368895238288748203140962198696774437196901520773280406564482942710140802581065585282552851877559170796493527180905006647699610150533884887859305104824290664878510712822412110050884383212646962422629027595078026693009110584286627270281340891080135852536352128746519067416456471762866754481236506201928732599 167193662999219236427458855199464493637676363310138149200054107267404720535063133209764309028416180256032979018110970127551612589777684465759848194411113307504728224348254919976995014477400050404456170969444359828518236580949283269553056360769856689960066601441812974081856255940438192148194866494730776932453468868235684932758284421936635841239402793156021275080878363521596703405785152268704259014923725700406194640930401005560110466260066844029297141979991210715931200550646877002196028177998594332576198949540674088068755058365248362246571179945263974183906809903219067814608033622944362152771331063964635035646797090835233682019814703995246747264811690408986412701491402327055707695854500520952281773409267618268920750782330198829153392903043435510167871725770941720471600268798799346208782493985842057800463208863274624756882953241630579738351138282957791203215546722439316509171711826369134402358889413672013347163062363413419314052501175490501026794695805789464227602263816190126374437704099370876049168362068787671914620284559596457693917230661495023871641480217294975445195379532424746105641255216059894894823656575354372757897022440976060659964051197998445217929461209795980540297655782217723175353442134317857392914315717941155736207320764906190862503112758514874576399313224205071617536191335329319076606187659939468465436456920989510528963897713174673592948314232671671395742833948437363254070900374698274409748124977418944290573063458596521077524974324850561150999056530448985905682760726785969859453304794873069465397731453913296376304982755771061350341622458831195117430211937349817824777696038530791003440482152145168162366363200409469723396502552559101429760826158468710429778312242024361856711622365685619570141793680628604134641101070947956825660101351634521852639623657598601162367289668273833286362838553611163926367545833476729552151720443848366348187405116708415228110970374929554628180006310672270906868480154974274491393960990834673802489865846830128413208807185040922534086463030134206492121202461258850974428095437830927474342079960137183281032702977991396155463561526940978125165870576525266842730540295703690262380901552537547290879132966678702214594956655257327859641222531497372747674588378582387568753163626431202162733900512732502099777863879145531268496130316343856408194079064330780808574666951135185808526463897678121899922898133196562160650101408075580599997649538279355535594495706868682679341864312756002449731972910077408353750659890396496878239354901356045528256747486496809022234731699598791364089534012431257094204270461708869686683637694668895627684940982915040408376206084385000633226144554104683821217833554593408247704262742651102505132192306705134784831795276670025720677926699779247886283242466354326886198051594769411593277671423718722 270525029436332408538604479842754975637416051509587466338834916531869694523803301247871369105078632871077590994163510369737443847148351043413716809828177061754083089320826391600177562233480762813751137820994942133162731030389675159252574555192785858566914876758301651527728557899849905131126200207512380330274577419060942006370088460314786993741573847247496807956593290782904052507804413824780006355559156263895699347314920363675455186379230251947316743976400355186083888499467600418790366416517004555113325862308432221803379737122601055113916476390724763705534263922307986781118173794144553968215514141311691535266824495199687373818506948007355273630908524313929032476118026005941545091130906316639029138538053902902385693808060088565872243316982486295512730237836900774054596153154322708306366934077162938586665515748119253237697097713390623425486841792571211700503119872566807707077484032180333909337778446666281642106007435286543294654448198963713668695325464551701302789881642695728142557368157835989331573062725351795117743684932279859745878380299358760794489882181543774716643119002885163736629986661781833723405229558854632977582002247714821238405137348645282107812772303869466432420326324200214373355917338603173238551609015447673432406128110231055194168758064957346015393482686813270532605188132018138309341988367312726070517209382591560971721442838493374587671013692164319083882779383358773349995406358519965416700607124739122269371257572743720484287565014789395083222736579703887377730878728598998252450206754197935758147748208099980192201859673413138201138602014630278149846903803049438225426103291092077719534537763392982189796794729423383067958602633460185680195817983623107936481885889472274683160470661685824465859394885007365107077350604446088571794299274375809359532047242551113761269489353359255159061257264746213826887520077682213329897229483510016809340086214074998949472448037481073927726033895290630729300794527858316426372028181841625017445424979620231474914239999262780022318455940197145242947605081672673712850604857792424990936541473707974249239210653772843113919371290892560167463773944873841272365985732293460950034543558276248622308613594564760536309999144527889062525960019207750690944727032955452428167934868934165801621450160910378070413152281023140351195417276339067453024338337483798015755908399503819197770965619829175308044157963427570239593894891595058916239219783028357304558888264408745316248601111941018541207371791279438103666506289205910247134593190104248669218946183271246219136252472879197928572476722572059675269855744261721564242808491162422808589947630614650558910090972244305738050435218983194534040245664644292630916909705073731532727270333398143895416081903940307061569006835631784238411988985421743342669814461523892829783873352451321 437718692435551644966063335042219469275092414819725615538889023799274415058866434457635678133494813127110570012274480497289056436926035509173565004239290369258811313669081311577172576710880813218207308790439301961680967611338958428805630915962642548526981478200114625609584813840288097279321066702243157262728046287296626939128372882251422834980976640403518083037471654304500755913589566093484265370482881964301893988245321369235565652639297095976613885956391565902015089050114477420986394594515598887689524811849106309872134795487849417360487656335988737889441073825527054595726207417088916120986845205276326570913621586034921055838321652002602020895720214722915445177609428332997252786985406837591310911947321521171306444590390287395025636220025921805680601963607842494526196421953122054515149428063004996387128724611393877994580050955021203163837980075529002903718666595006124216249195858549468311696667860338294989269069798699962608706949374454214695490021270341165530392145458885854516995072257206865380741424794139467032363969491876317439795610960853784666131362398838750161838498535309909842271241877841728618228886134209005735479024688690881898369188546643727325742233513665446972717982106417937548709359472921030631465924733388829168613448875137246056671870823472220591792795911018342150141379467347457385948176027252194535953666303581071500685340551668048180619327924835990479625613331796136604066306733218239826448732102158066559944321031340241561812539339639956234221793110152873283413639455384968111903511549071005223545479662013276568506842429184199551480224473461473267277115740399256050203799329622868722975019915538150352163157929832852791355105186019287109956644142091818366260198131496636539872093027371444036001188565635969241718451675394045397454400626010331212171670900149714923636779021633088445424095818357377753255065911158942882048949927358383157527491330783414177583418412410628555906040205962901636169274682832590917765989172676298819935290826450359888123047184303702556404918970331351735068807542931524687278700295623352465278621433845157530271913631764239269382932817833538292629644521399108115096526027997151212415445110813795913187746561243462750904955799785216922167182550705123438619315411537839996921098495365367964355350673642880170191016160168671619691547592682923861218417401814578824330575350639005006297429517507297207967056096624132400243996299670639516236869321307712840153383971277427995590465424697020990939344701356846457417166179602407125373948091460294197475693669768055241370984172477989292662010735003316769474126205970591250926446185831318436274888613529690967286297056629306371276579773087878355258079219237700878621172447724834037859462640103278680247877180610332782246933535411032124695231451776070228867866056293304423061544776170043 708243721871884053504667814884974444912508466329313081877723940331144109582669735705507047238573445998188161006437990867026500284074386552587281814067467431012894402989907703177350138944361576031958446611434244094843698641728633588058205471155428407093896354958416277137313371740138002410447266909755537593002623706357568945498461342566209828722550487651014890994064945087404808421393979918264271726042038228197593335560241732911020839018527347923930629932791921088098977549582077839776761011032603442802850674157538531675514532610450472474404132726713501594975337747835041376844381211233470089202359346588018106180446081234608429656828600009957294526628739036844477653727454338938797878116313154230340050485375424073692138398450375960897879537008408101193332201444743268580792575107444762821516362140167934973794240359513131232277148668411826589324821868100214604221786467572931923326679890729802221034446307004576631375077233986505903361397573417928364185346734892866833182027101581582659552440415042854712314487519491262150107654424156177185673991260212545460621244580382524878481617538195073578901228539623562341634115693063638713061026936405703136774325895289009433555005817534913405138308430618151922065276811524203870017533748836502601019576985368301250840628888429566607186278597831612682746567599365595695290164394564920606470875686172632472406783390161422768290341617000309563508392715154909954061713091738205243149339226897188829315578604083962046100104354429351317444529689856760661144518183983966364353718303268940981693227870113256760708702102597337752618826488091751417124019543448694275629902620714946442509557678931132541959952659256235859313707819479472790152462125714926302742084020968911223032563689057268501860583450643334348795802279840133969248699900386140571703718142700828684906268374992343604485353083103591580142585988841156211946179410868399966867577544858413127055866449891702483632074101253532365470069210690907344138017354517923837380715806070591363037287183566482578723374910528496978016412624604198400129305153415777456215162907553131779511124285537082383302304108726098460093418466272949387462511760290612162449988669090044535496360155808223287214954944313105984693142569912874129564042444493292425089033364299533765976800834553258240604168441191811970886964869021991314242755739298376840086483750142824204068395137336472516011214060051702639837891191265698432476089104336070144712272235686173311839066536638039532146716492636284561083672468808317372508541281564542866694639853039301460507236645357187221234487457575376444743981950232312815169254676993741244864836244144341526196388028873612109327014992071072889298324883881993509538082152798565570586732973501422575663959084550639843815940371042816363107220437197813571537680517817197252845418128621364 1145962414307435698470731149927193914187600881149038697416612964130418524641536170163142725372068259125298731018712471364315556721000422061760846818306757800271705716658989014754522715655242389250165755401873546056524666253067592016863836387118070955620877833158530902746898185580426099689768333611998694855730669993654195884626834224817632663703527128054532974031536599391905564334983546011748537096524920192499487323805563102146586491657824443900544515889183486990114066599696555260763155605548202330492375486006644841547649328098299889834891789062702239484416411573362095972570588628322386210189204551864344677094067667269529485495150252012559315422348953759759922831336882671936050665101719991821650962432696945244998582988840663355923515757034329906873934165052585763106988997060566817336665790203172931360922964970907009226857199623433029753162801943629217507940453062579056139575875749279270532731114167342871620644147032686468512068346947872143059675368005234032363574172560467437176547512672249720093055912313630729182471623916032494625469602221066330126752606979221275040320116073504983421172470417465290959863001827272644448540051625096585035143514441932736759297239331200360377856290537036089470774636284445234501483458482225331769633025860505547307512499711901787198979074508849954832887947066713053081238340421817115142424541989753703973092123941829470948909669541836300043134006046951046558128019824956445069598071329055255389259899635424203607912643694069307551666322800009633944558157639368934476257229852339946205238707532126533329215544531781537304099050961553224684401135283847950325833701950337815165484577594469282894123110589089088650668813005498759900109106267806744669002282152465547762904656716428712537861772016279303590514253955234179366703100526396471783875389042850543608543047396625432049909448901460969333397651900000099093995129338226783124395068875641827304639284862302331039538114307216434001639343893523498261904006527194222657316006632520951251160334367870185135128293880859848713085220167535723087408005449039129921493784341398289309783037917301321652685236926559636752723062987672057502559037788287763374865433779903840448684106717051686038119910744098322906860325120617997568183357856031132422010131859664901730332151508196138410795184601360483590578512461704915175461173141112955664417059100781829210365824654843769723978270156675835040081887490936337948712958425643782984865656206963601307429531961335060523086061193993131018500838648410724497882489373024837064170333522807356701878220817835176513896498192578693214218108156202904066095700862825059681139724857674032493482685085502918480603594765158951244556404103119694388159254600523399608446195613604701255911836265160972626062873906453848487802451888973883800405546574110501675906962904791407 1854206136179319751975398964812168359100109347478351779294336904461562634224205905868649772610641705123486892025150462231342057005074808614348128632374225231284600119648896717931872854599603965282124202013307790151368364894796225604922041858273499362714774188116947179884211557320564102100215600521754232448733293700011764830125295567383842492426077615705547865025601544479310372756377525930012808822566958420697080659365804835057607330676351791824475145821975408078213044149278633100539916616580805773295226160164183373223163860708750362309295921789415741079391749321197137349414969839555856299391563898452362783274513748504137915151978852022516609948977692796604400485064337010874848543218033146051991012918072369318690721387291039316821395294042738008067266366497329031687781572168011580158182152343340866334717205330420140459134348291844856342487623811729432112162239530151988062902555640009072753765560474347448252019224266672974415429744521290071423860714740126899196756199662049019836099953087292574805370399833121991332579278340188671811143593481278875587373851559603799918801733611700057000073698957088853301497117520336283161601078561502288171917840337221746192852245148735273782994598967654241392839913095969438371500992231061834370652602845873848558353128600331353806165353106681567515634514666078648776528504816382035748895417675926336445498907331990893717200011158836609606642398762105956512189732916694650312747410555952444218575478239508165654012748048498658869110852489866394605702675823352900840610948155608887186931935402239790089924246634378875056717877449644976101525154827296644601463604571052761607994135273400415436083063248345324509982520824978232690261568393521670971744366173434458985937220405485981039722355466922637939310056235074313335951800426782612355579107185551372293449315771617775654394801984564560913540237888841255305941308749095183091262646420500240431695151312194033523170188408469966367109413104214405606042023881712146494696722438591542614197621551436667713851668791388345691101632792139921487537310602454907377708947248951421089294162202838404035987541035285735212816481453945006890021549548578375537315422448993884984180466872859909325334865688411428891553467690530871697747400300524424847099165223964435496308952342749396651399353042552295561465477330726906489703928880411332504503542850924653414434219792180242239989484216727537679919778682202036381189047529979853129577928442649774619268598497973100055232777686629415579584511117219041870391030654589379930864973375846658162385457463192363735130985650154069658962090106435216881264955539818800926004561101818374019679073114376530589930609757230024133854728987001687897697336753321965179032928587106123831575795349711612469878814277496664850909672326171697371943227091927698928752381033412771 3000168550486755450446130114739362273287710228627390476710949868591981158865742076031792497982709964248785623043862933595657613726075230676108975450680983031556305836307885732686395570254846354532289957415181336207893031147863817621785878245391570318335652021275478082631109742900990201789983934133752927304463963693665960714752129792201475156129604743760080839057138143871215937091361071941761345919091878613196567983171367937204193822334176235725019661711158895068327110748975188361303072222129008103787601646170828214770813188807050252144187710852117980563808160894559233321985558467878242509580768450316707460368581415773667400647129104035075925371326646556364323316401219682810899208319753137873641975350769314563689304376131702672744911051077067914941200531549914794794770569228578397494847942546513797695640170301327149685991547915277886095650425755358649620102692592731044202478431389288343286496674641690319872663371299359442927498091469162214483536082745360931560330372222516457012647465759542294898426312146752720515050902256221166436613195702345205714126458538825074959121849685205040421246169374554144261360119347608927610141130186598873207061354779154482952149484479935634160850889504690330863614549380414672872984450713287166140285628706379395865865628312233141005144427615531522348522461732791701857766845238199150891319959665680040418591031273820364666109680700672909649776404809057003070317752741651095382345481885007699607835377874932369261925391742567966420777175289876028550260833462721835316868178007948833392170642934366323419139791166160412360816928411198200785926290111144594927297306521390576773478712867869698330206173837434413160651333830476992590370674661328415640746648325900006748841877121914693577584127483201941529824310190308492702654900953179084139454496228401915901992363168243207704304250886025530246937889788841354399936438087321966215657715296142067736334436174496364562708302715686400368748756997737903867946030408906369152012729071112493865357955919306852848979962672248194404186852959675644574945316051494037299202731590349710399077200120139725688672777961845371965539544441617064392580587336866138912180856228897725432864573589911595363454776432509751798413792811148869265930758156555557269109297083629337226641103850945535062194537643912779152043989792431821665165102021524288168920601951706482624800044447024011963967754373403372720001666173138374329902005955623636114443584649613375926698130459308160578318838880622546598085349765629766368273520027614216995035306898654014864263678281027540249027483842732762873180198262638120947360656402643860607144285959492406513161758199879449070534204522388975378411133090121382285856591353845364787479124200710825087487631614872585095941688183950513338712124215145581172348773666038200604659343938204178 4854374686666075202421529079551530632387819576105742256005286773053543793089947981900442270593351669372272515069013395826999670731150039290457104083055208262840905955956782450618268424854450319814414159428489126359261396042660043226707920103665069681050426209392425262515321300221554303890199534655507159753197257393677725544877425359585317648555682359465628704082739688350526309847738597871774154741658837033893648642537172772261801153010528027549494807533134303146540154898253821461842988838709813877082827806335011587993977049515800614453483632641533721643199910215756370671400528307434098808972332348769070243643095164277805315799107956057592535320304339352968723801465556693685747751537786283925632988268841683882380025763422741989566306345119805923008466898047243826482552141396589977653030094889854664030357375631747290145125896207122742438138049567088081732264932122883032265380987029297416040262235116037768124682595566032417342927835990452285907396797485487830757086571884565476848747418846834869703796711979874711847630180596409838247756789183624081301500310098428874877923583296905097421319868331642997562857236867945210771742208748101161378979195116376229145001729628670907943845488472344572256454462476384111244485442944349000510938231552253244424218756912564494811309780722213089864156976398870350634295350054581186640215377341606376864089938605811258383309691859509519256418803571162959582507485658345745695092892440960143826410856114440534915938139791066625289888027779742423155963509286074736157479126163557720579102578336606113509064037800539287417534805860843176887451444938441239528760911092443338381472848141270113766289237085779737670633854655455225280632243054850086612491014499334465734779097527400674617306482950124579469134366425382806038606701379961696495033603413953288195441678939860983358699052870590091160478127677682609705877746836417149306920361716642308168029587486690398085878491124156366735858170101952309473988054290618515646709451509704036479555577470743520562831631463636540095288485751815566062482626653948944676911678839301131488371362322978129724660318997131107178356025895562071282602136885444514449496278677891610417045040462771504688789642120921180689967260501679740963678158457079982116208462307593772722950056193694931713593890686465074713509467123158728154869030901935620673424144802631136039234264239204254203957238590130910399921444855340410711091053485603489244021513092263150545966728957281260633551616567251962177669860882848808238664550682203596925900280274500673026649135744219903984158469492886832532142288369073337828625611942462661533148847061310780532840831314255979660464814279618999512265862077123070183553928107167329966512052787816948919063426964584197565820502461447178189621796541317278544292000757965899533411724971616949 7854543237152830652867659194290892905675529804733132732716236641645524951955690057932234768576061633621058138112876329422657284457225269966566079533736191294397211792264668183304663995109296674346704116843670462567154427190523860848493798349056639999386078230667903345146431043122544505680183468789260087057661221087343686259629555151786792804685287103225709543139877832221742246939099669813535500660750715647090216625708540709465994975344704263274514469244293198214867265647229009823146061060838821980870429452505839802764790238322850866597671343493651702207008071110315603993386086775312341318553100799085777704011676580051472716446237060092668460691630985909333047117866776376496646959857539421799274963619610998446069330139554444662311217396196873837949667429597158621277322710625168375147878037436368461725997545933074439831117444122400628533788475322446731352367624715614076467859418418585759326758909757728087997345966865391860270425927459614500390932880230848762317416944107081933861394884606377164602223024126627432362681082852631004684369984885969287015626768637253949837045432982110137842566037706197141824217356215554138381883338934700034586040549895530712097151214108606542104696377977034903120069011856798784117469893657636166651223860258632640290084385224797635816454208337744612212679438131662052492062195292780337531535337007286417282680969879631623049419372560182428906195208380219962652825238399996841077438374325967843434246233989372904177863531533634591710665203069618451706224342748796571474347304171506553971273221270972436928203828966699699778351734272041377673377735049585834456058217613833915154951561009139812096495410923214150831285188485932217871002917716178502253237662825234472483620974649315368194890610433326520998958676615691298741261602333140780634488099642355204097434042108104191063003303756615621407416017466523964105814184923739115522578077012784375904364023661186762648586793839842767104606927099690213341934084699524884798722180580816530344913533390050373411811594135884734499475338711491210637427942705442981976114410429650841887448562443117855413333096958976479143895570337179135675182724222310653361677134906789335849909614052683100052244418553430932488381053312828610229608916613635539385317759391223109949591160044640466775788428330377853865553456915590549820034132923459908842344746754337618664034308686228266167924992963534283119923111028478785040993059441227125358465097741876526472664859416589421211870455447874508775755210648478574606938070709817813920935587173154687890912814025247444233185953335619595405322486631711458775986268345106522140293133020803187046002589514135428730999018802007974890676995167244452469410519461012694753991176988527774006551058579456782661762190645397691528333920756462859716640774424004100138071068909821127 12708917923818905855289188273842423538063349380838874988721523414699068745045638039832677039169413302993330653181889725249656955188375309257023183616791399557238117748221450633922932419963746994161118276272159588926415823233183904075201718452721709680436504440060328607661752343344098809570383003444767246810858478481021411804506980511372110453240969462691338247222617520572268556786838267685309655402409552680983865268245713481727796128355232290824009276777427501361407420545482831284989049899548635857953257258840851390758767287838651481051154976135185423850207981326071974664786615082746440127525433147854847947654771744329278032245345016150260996011935325262301770919332333070182394711395325705724907951888452682328449355902977186651877523741316679760958134327644402447759874852021758352800908132326223125756354921564821729976243340329523370971926524889534813084632556838497108733240405447883175367021144873765856122028562431424277613353763450066786298329677716336593074503515991647410710142303453212034306019736106502144210311263449040842932126774069593368317127078735682824714969016279015235263885906037840139387074593083499349153625547682801195965019745011906941242152943737277450048541866449379475376523474333182895361955336601985167162162091810885884714303142137362130627763989059957702076836414530532403126357545347361524171750714348892794146770908485442881432729064419691948162614011951382922235332724058342586772531266766927987260657090103813439093801671324701217000553230849360874862187852034871307631826430335064274550375799607578550437267866767238987195886540132884554560829179988027073984819128706277253536424409150409925862784648008993888501919043141387443151635160771028588865728677324568938218400072176716042812197093383451100468093043041074104779868303713102477129521703056308492292875721047965174421702356627205712567894145144206573811691931760156264829498438729426684072393611147877160734465284963999133840465097201642522815922138990143400445431632090520566824469110860793893974643225599521274594763824463306776699910569359391926653026089268951973375819924766095985137993415956107586322251596232741206957784861107755167811173413584680946266954654515454604741034060674352113178348313814508351193287075070715521501526221698816882672541216238335398489382319016842928579062924038749277974903163825395529515768891556968754703268572925432520371882231553665193519844555883819195752084112926830614602486610834139677018631588373870681845422072015126470953425071531327382845602621392021410846835867447655360917561949769467348217344422828506427937464775000784796604611880287569183673441980082113967578843420828391408391463833081626974402942857244367522652964447568180024720503229776344722925614485544040980227582693106844869717955717297780138260932775181969999671482793881438076 20563461160971736508156847468133316443738879185572007721437760056344593697001328097764911807745474936614388791294766054672314239645600579223589263150527590851635329540486118817227596415073043668507822393115830051493570250423707764923695516801778349679822582670728231952808183386466643315250566472234027333868519699568365098064136535663158903257926256565917047790362495352794010803725937937498845156063160268328074081893954254191193791103699936554098523746021720699576274686192711841108135110960387457838823686711346691193523557526161502347648826319628837126057216052436387578658172701858058781446078533946940625651666448324380750748691582076242929456703566311171634818037199109446679041671252865127524182915508063680774518686042531631314188741137513553598907801757241561069037197562646926727948786169762591587482352467497896169807360784451923999505715000211981544437000181554111185201099823866468934693780054631493944119374529296816137883779690909681286689262557947185355391920460098729344571537188059589198908242760233129576572992346301671847616496758955562655332753847372936774552014449261125373106451943744037281211291949299053487535508886617501230551060294907437653339304157845883992153238244426414378496592486189981679479425230259621333813385952069518525004387527362159766444218197397702314289515852662194455618419740640141861703286051356179211429451878365074504482148436979874377068809220331602884888157962458339427849969641092895830694903324093186343271665202858335808711218433918979326568412194783667879106173734506570828521649020878550987365471695733938686974238274404925932234206915037612908440877346320111168691375970159549737959280058932208039333204231627319661022638078487207091118966340149803410702021046826031411007087703816777621467051719656765403521129906046243257764009802698663696390309763156069365484705660383821333975310162610730537917506116683895380352076515742211059976757634809063923383052078803841900945072024301332736157856223689668285244153812671337097169382644250844267386454819735406009094239163174797987337338512064834908629140499698602815263268487209213840551326512915084065466147166569920342632967585330065821172850548491470282116864268568137704793278479227783045666729367127336961422895991684351060886843981090039992622132376282975865265170747347220782444616380954339827794937296748855438358113638311306373367302881611660786539807224517199476639767666912297980793077172368057739960951708576016203491296447790460103057292527463000979729180282179805957452540692101839224767771454620810048808474763794714792450530376164126023342787261632496255380598148632675705813735113102917154624846010342526837122462851883634949293619852411611975122374967029192719474494406764872496932165544123497762889344883752242561246289638054242997977573549605974099809553862791259203 33272379084790642363446035741975739981802228566410882710159283471043662442046966137597588846914888239607719444476655779921971194833975888480612446767318990408873447288707569451150528835036790662668940669387989640419986073656891668998897235254500059360259087110788560560469935729810742124820949475678794580679378178049386509868643516174531013711167226028608386037585112873366279360512776205184154811465569821009057947162199967672921587232055168844922533022799148200937682106738194672393124160859936093696776943970187542584282324814000153828699981295764022549907424033762459553322959316940805221573603967094795473599321220068710028780936927092393190452715501636433936588956531442516861436382648190833249090867396516363102968041945508817966066264878830233359865936084885963516797072414668685080749694302088814713238707389062717899783604124781447370477641525101516357521632738392608293934340229314352110060801199505259800241403091728240415497133454359748072987592235663521948466423976090376755281679491512801233214262496339631720783303609750712690548623533025156023649880926108619599266983465540140608370337849781877420598366542382552836689134434300302426516080039919344594581457101583161442201780110875793853873115960523164574841380566861606500975548043880404409718690669499521897071982186457660016366352267192726858744777285987503385875036765705072005576222786850517385914877501399566325231423232282985807123490686516682014622500907859823817955560414196999782365466874183037025711771664768340201430600046818539186738000164841635103072024820486129537802739562501177674170124814537810486795036095025639982425696475026388422227800379309959663822064706941201927835123274768707104174273239258235679984695017474372348920421119002747453819284797200228721935144762697839508300998209759345734893531505754972188683185484204034539906408017011027046543204307754937111729198048444051645181574954471637744049151245956941084117517363767841034785537121502975258973778362679811685689585444761857663993851755111638161361098045334927283689002987638104764037249081424226835282166588967554788639088411975309825689319928871191651788398762802661549590752446437820988984023962076151228383818923083592309534312539902135158845077680941845312616183066755066582388370202788856875294673592521311263754553066364063711023679304993089105769840460574250967873882529868275128070571454537093306911689456070864670159612222796117176545161285294888354563438319410155880509928036164330784902714599478127450682605353711133340298143313493860635614607322068465409726036713564182140667874798992632451280252036633281051985210028920244889487177093185031122203689431170918245513926684965261923696562709655979497775339414597372744194997636541217219857780029667538743116927576859087430964245355352023136238506324787944099481036656672697279 53835840245762378871602883210109056425541107751982890431597043527388256139048294235362500654660363176222108235771421834594285434479576467704201709917846581260508776829193688268378125250109834331176763062503819691913556324080599433922592752056278409040081669781516792513278119116277385440071515947912821914547897877617751607932780051837689916969093482594525433827947608226160290164238714142682999967528730089337132029056154221864115378335755105399021056768820868900513956792930906513501259271820323551535600630681534233777805882340161656176348807615392859675964640086198847131981132018798864003019682501041736099250987668393090779529628509168636119909419067947605571406993730551963540478053901055960773273782904580043877486727988040449280255006016343786958773737842127524585834269977315611808698480471851406300721059856560614069590964909233371369983356525313497901958632919946719479135440053180821044754581254136753744360777621025056553380913145269429359676854793610707303858344436189106099853216679572390432122505256572761297356295956052384538165120291980718678982634773481556373818997914801265981476789793525914701809658491681606324224643320917803657067140334826782247920761259429045434355018355302208232369708446713146254320805797121227834788933995949922934723078196861681663516200383855362330655868119854921314363197026627645247578322817061251217005674665215591890397025938379440702300232452614588692011648648975021442472470548952719648650463738290186125637132077041372834422990098687319527999012241602207065844173899348205931593673841364680525168211258235116361144363088942736419029243010063252890866573821346499590919176349469509401781344765873409967168327506396026765196911317745442771103661357624175759622442165828778864826372501017006343402196482354604911822128115805588992657541308453635885073495247360103905391113677394848380518514470365667649646704165127947025533651470213848804025908880766005007500569442571682935730609145804307995131634586369479970933739257433194761163234399362482428747552865070333292783242150812902751374587593489061743911307088666157603902356899184523666240646441786275717254545929372581892223720031767886810156874510567621510500683191651730014327591019129918204511807048069182274039079058439417643275214183878896867916805968804287129019723813711284493468295685947428933564777757323106406231996168179581501437874336148754093451496680588064146799379889708415157338238457662946094524390027986172084001224483954790887960007126941128430411785635890939297750684005595699860382378776689275458534511477358896933118405175156758474623039298265777307365808177552920595300912206287948276828535441513445082636389536848896872990182562067591472897714381626565463669492043306089716789945573791036506006272460611329992210534993406266134216079874393918199290590519463956482 87108219330553021235048918952084796407343336318393773141756326998431918581095260372960089501575251415829827680248077614516256629313552356184814156685165571669382224117901257719528654085146624993845703731891809332333542397737491102921489987310778468400340756892305353073748054846088127564892465423591616495227276055667138117801423568012220930680260708623133819865532721099526569524751490347867154778994299910346189976218354189537036965567810274243943589791620017101451638899669101185894383432680259645232377574651721776362088207154161810005048788911156882225872064119961306685304091335739669224593286468136531572850308888461800808310565436261029310362134569584039507995950261994480401914436549246794022364650301096406980454769933549267246321270895174020318639673927013488102631342391984296889448174773940221013959767245623331969374569034014818740460998050415014259480265658339327773069780282495173154815382453642013544602180712753296968878046599629177432664447029274229252324768412279482855134896171085191665336767752912393018139599565803097228713743825005874702632515699590175973085981380341406589847127643307792122408025034064159160913777755218106083583220374746126842502218361012206876556798466178002086242824407236310829162186363982834335764482039830327344441768866361203560588182570313022347022220387047648173107974312615148633453359582766323222581897452066109276311903439779007027531655684897574499135139335491703457094971456812543466606024152487185908002598951224409860134761763455659729429612288420746252582174064189841034665698661850810062970950820736294035314487903480546905824279105088892873292270296372888013146976728779469065603409472814611895003450781164733869371184557003678451088356375098548108542863284831526318645657298217235065337341245052444420123126325564934727551072814208608073756680731564138445297521694405875427061718778120604761375902213571998670715226424685486548075060126722946091618086806339523970516146267307283254105412949049291656623324702195052425157086154474120590108650910405260576472245138451007515411836674913288579193473677633712392541445311159833491929966370657467369042944692175243441814472478205707799140898472643772738884502114735322323861903559032053363356884729011027586655262125194484225663584386667753743211479561325598392774276880075348204491974990940518039334618217897357374105878698047856629508445790685847400363186136658928816958992112504532333883399742957834449087828347396327964511152520119121672862721726419255881094390989602072638048827319089560495996986098757740868260548190923079073786279974149390925903291334899058359351018206473165484788089299472979399032224872684363328150316221814158796686745271723570970673053796223938207864489679847306936647725603458575249123200037470417423174780348758289270454586199181862298771627176136653761 140944059576315400106651802162193852832884444070376663573353370525820174720143554608322590156235614592051935916019499449110542063793128823889015866603012152929891000947094945987906779335256459325022466794395629024247098721818090536844082739367056877440422426673822145587026173962365513004963981371504438409775173933284889725734203619849910847649354191217659253693480329325686859688990204490550154746523029999683322005274508411401152343903565379642964646560440886001965595692600007699395642704500583196767978205333256010139894089494323466181397596526549741901836704206160153817285223354538533227612968969178267672101296556854891587840193945429665430271553637531645079402943992546443942392490450302754795638433205676450857941497921589716526576276911517807277413411769141012688465612369299908698146655245791627314680827102183946038965533943248190110444354575728512161438898578286047252205220335675994199569963707778767288962958333778353522258959744898606792341301822884936556183112848468588954988112850657582097459273009485154315495895521855481766878864116986593381615150473071732346904979295142672571323917436833706824217683525745765485138421076135909740650360709572909090422979620441252310911816821480210318612532853949457083482992161104062170553416035780250279164847063222885224104382954168384677678088506902569487471171339242793881031682399827574439587572117281701166708929378158447729831888137512163191146787984466724899567442005765263115256487890777372033639731028265782694557751862142979257428624530022953318426347963538046966259372503215490588139162078971410396458850992423283324853522115152145764158844117719387604066153078248978467384754238688021862171778287560760634568095874749121222192017732722723868165305450660305183472029799234241408739537727407049331945254441370523720208614122662243958830175978924242350688635371800723807580233248486272411022606378699945696248877894899335352100969007488951099118656248911206906246755413111591249237047535418771627557063959628247186320320553836603018856203775475593869255487289263910266786424268402350323104780766299869996443802210344357158170612812443743086297490621547825334038192509973594609297772983211394249385185306387052338189494578161971567868691777080209860694341183633901868938798570546650611128285530129885521794000693786632697960270676887946972899395975220463780337874866227438130946320126834601493814682817246992963758372002212947491221638200620780543612218375382500048512377004073912560822728853360384311506176625493011935799511324685260356379364875447016326795059668281976006904685149306149400526330633164835666716826384026086080089001505760927675860760314197808410786705758663055669676927833791162443570768177850503671533981723153396653437671177249611755129472498081747415385315342164555404670666073575780498062217695600610243 228052278906868421341700721114278649240227780388770436715109697524252093301238814981282679657810866007881763596267577063626798693106681180073830023288177724599273225064996203707435433420403084318868170526287438356580641119555581639765572726677835345840763183566127498660774228808453640569856446795096054905002449988952027843535627187862131778329614899840793073559013050425213429213741694838417309525517329910029511981492862600938189309471375653886908236352060903103417234592269108885290026137180842842000355779984977786501982296648485276186446385437706624127708768326121460502589314690278202452206255437314799244951605445316692396150759381690694740633688207115684587398894254540924344306926999549548818003083506772857838396267855138983772897547806691827596053085696154500791096954761284205587594830019731848328640594347807278008340102977263008850905352626143526420919164236625375025275000618171167354385346161420780833565139046531650491137006344527784225005748852159165808507881260748071810123009021742773762796040762397547333635495087658578995592607941992468084247666172661908319990960675484079161171045080141498946625708559809924646052198831354015824233581084319035932925197981453459187468615287658212404855357261185767912645178525086896506317898075610577623606615929584088784692565524481407024700308893950217660579145651857942514485041982593897662169469569347810443020832817937454757363543822409737690281927319958428356662413462577806581862512043264557941642329979490192554692513625598638986858236818443699571008522027727888000925071165066300651110112899707704431773338895903830230677801220241038637451114414092275617213129807028447532988163711502633757175229068725494503939280431752799673280374107821271976708168735491831502117687097451476474076878972459493752068380766935458447759686936870852032586856710488380795986157066206599234641952026606877172398508592271944366964104319584821900176029134211897190736743055250730876762901680418874503342460484468063284180388661823299611477406708310723608964854685880854445727732427714917782198260943315638902298254443933582388985247521504190650100579183101210455340435313723068775852664988179302408438671455855166988269687421122374662051398137194024931225576506091237447349603308828386094602382957214404354339765091455483914568277573861980902452245667828465012234014193117821154443753564275294760454765917520448894177868953905921780717364114717479825105037943578614992700046722778828013023529524193034233685450579779640192600567615095084573848338643774820852376350974204757195055607859205055080690965123455540326429621968063894026067844590499251564877090805233907074892985186882171738937021980477214466363673105514733414243821974074441879398471403000703590085396780708187004252672535552164838560095690922844675125252272757642796833844871737264004 368996338483183821448352523276472502073112224459147100288463068050072268021382369589605269814046480599933699512287076512737340756899810003962845889891189877529164226012091149695342212755659543643890637320683067380827739841373672176609655466044892223281185610239949644247800402770819153574820428166600493314777623922236917569269830807712042625978969091058452327252493379750900288902731899328967464272040359909712833986767371012339341653374941033529872882912501789105382830284869116584685668841681426038768333985318233796641876386142808742367843981964256366029545472532281614319874538044816735679819224406493066917052902002171583983990953327120360170905241844647329666801838247087368286699417449852303613641516712449308696337765776728700299473824718209634873466497465295513479562567130584114285741485265523475643321421449991224047305636920511198961349707201872038582358062814911422277480220953847161553955309869199548122528097380310004013395966089426391017347050675044102364690994109216660765111121872400355860255313771882701649131390609514060762471472058979061465862816645733640666895939970626751732494962516975205770843392085555690131190619907489925564883941793891945023348177601894711498380432109138422723467890115135224996128170686190958676871314111390827902771462992806974008796948478649791702378397400852787148050316991100736395516724382421472101757041686629511609729762196095902487195431959921900881428715304425153256229855468343069697118999934041929975282061007755975249250265487741618244286861348466652889434869991265934967184443668281791239249274978679114828232189888327113555531323335393184401609958531811663221279282885277426000372917950190655619347007356286255138507376306501920895472391840543995844873474186152136685589716896685717882816416699866543084013635208305982167968301059533095991417032689412623146674792438007323042222185275093149583421114970971890063212982214484157252276998141700848289855399304161937783009657093530465752579508019886834911737452621451546797797727262147326627821058461356448314983219716978828048984685211717989225403035210233452385429049731848547808271191995544953541637925935270894109890857498152897017736444439066561237654872727509427000240892715355996499094268283171447308043944492462287963541181527761054965468050621585369436362278267648613600412516344716411985133410168338284934781628430502732891401086044355050387992551771152914744475736116930427316326676144199395536312265098161328061535906528266946794508179433140024504106744240588096509647849968460081208755715849651773521850667527487031087595650272761689726955952601228729692784670974525337644966092310994834750753745501079980149723727739140270136040600939305895857814590151924945550932453126154100243523067957957798759382145033633912253945411033087400079795918346333423294896062567337874247 597048617390052242790053244390751151313340004847917537003572765574324361322621184570887949471857346607815463108554653576364139450006491184036675913179367602128437451077087353402777646176062627962758807846970505737408380960929253816375228192722727569121948793806077142908574631579272794144676874961696548219780073911188945412805457995574174404308583990899245400811506430176113718116473594167384773797557689819742345968260233613277530962846316687416781119264562692208800064877138225469975694978862268880768689765303211583143858682791294018554290367401962990157254240858403074822463852735094938132025479843807866162004507447488276380141712708811054911538930051763014254200732501628292631006344449401852431644600219222166534734033631867684072371372524901462469519583161450014270659521891868319873336315285255323971962015797798502055645739897774207812255059828015565003277227051536797302755221572018328908340656030620328956093236426841654504532972433954175242352799527203268173198875369964732575234130894143129623051354534280248982766885697172639758064080000971529550110482818395548986886900646110830893666007597116704717469100645365614777242818738843941389117522878210980956273375583348170685849047396796635128323247376320992908773349211277855183189212187001405526378078922391062793489514003131198727078706294803004808629462642958678910001766365015369763926511255977322052750595014033357244558975782331638571710642624383581612892268930920876278981511977306487916924390987246167803942779113340257231145098166910352460443392018993822968109514833348091890359387878386819260005528784230943786209124555634223039061072945903938838492412692305873533361081661693289376522236425011749642446656738254720568752765948365267821581642921643968187707403994137194356893295672326036836082015975241440615727987996403948024003889399901003942660949504213922276864137301700026755819623563243834430177086534068979152453027275912745480592142359412668659772558773949340255921968504354898195917841283274846409275133970458050236785913147237302760710952144693745831182946155033628127701289654167034774414297253352738458371771178646163996978361248993962885743522486332199426175115894921728225924560148631801662292290852550021430319844789262684755393547801290674058143564484975459319807815713040853350930555841510594502864762012544876997367424361456106089225381994778027651855851961875499282170420725058836525193100231647907141431714087778010529012311820940156074559436052459981028193630012919664696707311855683181083496188612234902061132066823856530716906275386692086168286615396217230053385574569292623718852515565024589209843183116228741825646730687962151888660749719617484602404274044820629272058412125999387430330924529154803833608464738665985763634817569186077092505506724010244754921170619091066091729907439075138251 966044955873236064238405767667223653386452229307064637292035833624396629344003554160493219285903827207749162620841730089101480206906301187999521803070557479657601677089178503098119858931722171606649445167653573118236120802302925992984883658767619792403134404046026787156375034350091947719497303128297041534557697833425862982075288803286217030287553081957697728063999809927014007019205493496352238069598049729455179955027604625616872616221257720946654002177064481314182895162007342054661363820543694919537023750621445379785735068934102760922134349366219356186799713390684689142338390779911673811844704250300933079057409449659860364132666035931415082444171896410343921002570748715660917705761899254156045286116931671475231071799408596384371845197243111097342986080626745527750222089022452434159077800550778799615283437247789726102951376818285406773604767029887603585635289866448219580235442525865490462295965899819877078621333807151658517928938523380566259699850202247370537889869479181393340345252766543485483306668306162950631898276306686700520535552059950591015973299464129189653782840616737582626160970114091910488312492730921304908433438646333866954001464672102925979621553185242882184229479505935057851791137491456217904901519897468813860060526298392233429149541915198036802286462481780990429457103695655791956679779634059415305518490747436841865683552942606833662480357210129259731754407742253539453139357928808734869122124399263945976100511911348417892206451995002143053193044601081875475431959515377005349878262010259757935293958501629883129608662857065934088237718672558057341740447891027407440671031477715602059771695577583299533733999611883944995869243781298004780954033044756641464225157788909263666455117107796104873297120890822912239709712372192579920095651183547422783696289055937044015420922089313627089335741942221245319086322576793176339240738534215724493390068748553136404730025417613593770447541663574606442782215867479806008501476524241733107655293904726393207072861232605376864606971608593751075694171861672573880167631366751617353104324864400487159843346985201286266642963174191117538616287184264856995634379984485096443911560333988289463579432876141228662533183567906017929414113072434132063437492293752962021684746012736514285275866334626222787292834109159208103277278357261288982500834529794391024007010425280760543256938006230549670162972496211751269668836348578334457758390231977406065324576919101484136095342580726927822701809446059689200814056096271277593144038580694983269887782673508304238756942914179117255882265668978919780341527170521353411637186539549926854809275427223576576400476189042132038384477458757754738444874984126525129873002277924332981263377655308904077131532696623784523016962602819989346450917757097644834717088965424489386625970006413012498 1563093573263288307028459012057974804699792234154982174295608599198720990666624738731381168757761173815564625729396383665465619656912792372036197716249925081786039128166265856500897505107784799569408253014624078855644501763232179809360111851490347361525083197852103930064949665929364741864174178089993589754337771744614808394880746798860391434596137072856943128875506240103127725135679087663737011867155739549197525923287838238894403579067574408363435121441627173522982960039145567524637058799405963800305713515924656962929593751725396779476424716768182346344053954249087763964802243515006611943870184094108799241061916897148136744274378744742469993983101948173358175203303250343953548712106348656008476930717150893641765805833040464068444216569768012559812505663788195542020881610914320754032414115836034123587245453045588228158597116716059614585859826857903168588912516917985016882990664097883819370636621930440206034714570233993313022461910957334741502052649729450638711088744849146125915579383660686615106358022840443199614665162003859340278599632060922120566083782282524738640669741262848413519826977711208615205781593376286919685676257385177808343118987550313906935894928768591052870078526902731692980114384867777210813674869108746669043249738485393638955527620837589099595775976484912189156535809990458796765309242277018094215520257112452211629610064198584155715230952224162616976313383524585178024850000553192316482014393330184822255082023888654905809130842982248310857135823714422132706577057682287357810321654029253580903403473334977975019968050735452753348243247456789001127949572446661630479732104423619540898264108269889173067095081273577234372391480206309754423400689783011362032977923737274531488036760029440073061004524884960106596603008044518616756177667158788863399424277052340992039424811489214631031996691446435167595950459878493203095060362097459558923567155282622115557183052693526339251039684022987275102554774641429146264423445028596631303573135188001239616347995203063427101392884755831053836405124006366319711350577521785245480805614518567521934257644238554024725014734352837281535594648433258819881377902470817295870086676228910017689503993024773030324825474420456039359733957861696816818831040095043636079828310497711973605083682047667076138223389950669802606142040369806165979868258891250497113232392420058788195112789968106048952333393221270587794861936580226241599190104319755416594336888740041640210654778633186908850895439458979353897521367951954458676640227192929885331019849497364834955663218300871203424168881065196149833727101739813977130489702104574516064652458543452318402047206877004283927045227178375239340849149028947154401931414403923720411594302184463707910739997435289770286651780172006066438956424481107889589638259584515555478355877445488150749 2529138529136524371266864779725198458086244463462046811587644432823117620010628292891874388043665001023313788350238113754567099863819093560035719519320482561443640805255444359599017364039506971176057698182277651973880622565535105802344995510257967153928217601898130717221324700279456689583671481218290631288895469578040671376956035602146608464883690154814640856939506050030141732154884581160089249936753789278652705878315442864511276195288832129310089123618691654837165855201152909579298422619949658719842737266546102342715328820659499540398559066134401702530853667639772453107140634294918285755714888344409732320119326346807997108407044780673885076427273844583702096205873999059614466417868247910164522216834082565116996877632449060452816061767011123657155491744414941069771103699936773188191491916386812923202528890293377954261548493534345021359464593887790772174547806784433236463226106623749309832932587830260083113335904041144971540390849480715307761752499931698009248978614328327519255924636427230100589664691146606150246563438310546040799135184120872711582057081746653928294452581879585996145987947825300525694094086107208224594109696031511675297120452222416832915516481953833935054308006408666750831905522359233428718576389006215482903310264783785872384677162752787136398062438966693179585992913686114588721989021911077509521038747859889053495293617141190989377711309434291876708067791266838717477989358482001051351136517729448768231182535800003323701337294977250453910328868315504008182009017197664363160199916039513338838697431836607858149576713592518687436480966129347058469690020337689037920403135901335142958035803847472472600829080885461179368260723987607759204354722827768003497203081526183795154491877137236177934301645775783018836312720416711196676273318342336286183120566108278036054845733578528258121332433388656412915036782455286379434301100631675283416957224031175251961913078111139933021487225686561881545336990508908952272924921552838364411228429092727632823420856435668803965999856364424804912099295868038893591518208888536862833909939382968009094100991223755310991657697527028399074210935617523676877012282455302392313998236562898307153083425900914258987358657988362057289148070934130948882268532388796598101513056510448487890359548382293298925516224059829010709419318727067454962369093421044888137239402845339548738369727974336598622496365717482339064530772928804576056948494551732822659661465659143124346750121213913836673597248905039043098335424048225736269784265773624868600907632170873139194420161215050320680051146734175069614068628910335330542126888644124442919461733970675894978447683066046415965429704637132994079294024013073679531804416681848053392857679839772611987871530131913554809668742774826055785407342238205534424355348549940044864981847451901163247 4092232102399812678295323791783173262786036697617028985883253032021838610677253031623255556801426174838878414079634497420032719520731885932071917235570407643229679933421710216099914869147291770745465951196901730829525124328767285611705107361748314515453300799750234647286274366208821431447845659308284221043233241322655479771836782401006999899479827227671583985815012290133269457290563668823826261803909528827850231801603281103405679774356406537673524245060318828360148815240298477103935481419355622520148450782470759305644922572384896319874983782902584048874907621888860217071942877809924897699585072438518531561181243243956133852681423525416355070410375792757060271409177249403568015129974596566172999147551233458758762683465489524521260278336779136216967997408203136611791985310851093942223906032222847046789774343338966182420145610250404635945324420745693940763460323702418253346216770721633129203569209760700289148050474275138284562852760438050049263805149661148647960067359177473645171504020087916715696022713987049349861228600314405381077734816181794832148140864029178666935122323142434409665814925536509140899875679483495144279785953416689483640239439772730739851411410722424987924386533311398443812019907227010639532251258114962151946560003269179511340204783590376235993838415451605368742528723676573385487298264188095603736559004972341265124903681339775145092942261658454493684381174791423895502839359035193367833150911059633590486264559688658229510468137959498764767464692029926140888586074879951720970521570068766919742100905171585833169544764327971440784724213586136059597639592784350668400135240324954683856299912117361645667924162159038413740652204193917513627755412610779365530181005263458326642528637166676250995306170660743125432915728461229813432450985501125149582544843160619028094270545067742889153329124835091580510987242333779582529361462729134842340524379313797367519096130804666272272526909709549156647891765150338098537348366581434995714801564280728872439768851638732231067392741120255858748504419874405213302868786410322108314715553901535531028358635462309335716672431879865680609805584050782496758390184926119688184084912791808324842587418925687289312184132408818096648882028795827765701099572483840234181341367008160461495443230429960375063739614010498813315561359096873620942237352312295385250471795265398336933482517942442647574829758938752926859392709509030817656138598871488239253998354399184764557404899847100745524492688364018396995856792000180194946424492966554753931927481668237974150083379515921524104220027799371219447795730650149307672616590748698958984114192514128213380494889943050699892474931815508233420143173042020833933735831085771773804451982024236319898611527567203325096320522946832122224363766719313424013993608134455600343337724897389313996 6621370631536337049562188571508371720872281161079075797470897464844956230687881324515129944845091175862192202429872611174599819384550979492107636754890890204673320738677154575698932233186798741921523649379179382803405746894302391414050102872006281669381518401648365364507599066488278121031517140526574852332128710900696151148792818003153608364363517382486224842754518340163411189445448249983915511740663318106502937679918723967916955969645238666983613368679010483197314670441451386683233904039305281239991188049016861648360251393044395860273542849036985751405761289528632670179083512104843183455299960782928263881300569590764130961088468306090240146837649637340762367615051248463182481547842844476337521364385316023875759561097938584974076340103790259874123489152618077681563089010787867130415397948609659969992303233632344136681694103784749657304789014633484712938008130486851489809442877345382439036501797590960372261386378316283256103243609918765357025557649592846657209045973505801164427428656515146816285687405133655500107792038624951421876870000302667543730197945775832595229574905022020405811802873361809666593969765590703368873895649448201158937359891995147572766927892676258922978694539720065194643925429586244068250827647121177634849870268052965383724881946343163372391900854418298548328521637362687974209287286099173113257597752832230318620197298480966134470653571092746370392448966058262612980828717517194419184287428789082358717447095488661553211805432936749218677793560345430149070595092077616084130721486108280258580798337008193691319121477920490128221205179715483118067329613122039706320538376226289826814335715964834118268753243044499593108912928181525272832110135438547369027384086789642121797020514303912428929607816436526144269228448877941010108724303843461435765665409268897064149116278646271147274661558223747993426024024789065961963662563360810125757481603344972619481009208915806205294014135396111038193228755659247050810273288134273360126029993373456505263189708074401035033392597484680663660603715742444106894386995298858971148625493284503540122459626686064646708330129406894079684016519668306173635402467381422080498083149354706631995670844826601548299542790397180153938030099729958714583368104872636832282854423518608949385802778812253673989255838070327824024980677823941075904606445733340273387711198110737885671852245916779246197326124656235265923923482437835393713087093423221061913659820058327888904155021061014582198089937269057440094192216048405931216208758740179622532835113839111113344503540730971844784271174533546289061864359560484638214743479392823401903575926484804108358942573009097115857904636452641227499437197055094513465540247767619827197309661864008931886483057699116879905989265721658178009771108957518958438348956684395645208319572349290477243 10713602733936149727857512363291544983658317858696104783354150496866794841365134356138385501646517350701070616509507108594632538905282865424179553990461297847903000672098864791798847102334090512666989600576081113632930871223069677025755210233754596184834819201398600011793873432697099552479362799834859073375361952223351630920629600404160608263843344610157808828569530630296680646736011918807741773544572846934353169481522005071322635744001645204657137613739329311557463485681749863787169385458660903760139638831487620954005173965429292180148526631939569800280668911417492887251026389914768081154885033221446795442481812834720264813769891831506595217248025430097822639024228497866750496677817441042510520511936549482634522244563428109495336618440569396091091486560821214293355074321638961072639303980832507016782077576971310319101839714035154293250113435379178653701468454189269743155659648067015568240071007351660661409436852591421540666096370356815406289362799253995305169113332683274809598932676603063531981710119120704849969020638939356802954604816484462375878338809805011262164697228164454815477617798898318807493845445074198513153681602864890642577599331767878312618339303398683910903081073031463638455945336813254707783078905236139786796430271322144895065086729933539608385739269869903917071050361039261359696585550287268716994156757804571583745100979820741279563595832751200864076830140849686508483668076552387787017438339848715949203711655177319782722273570896247983445258252375356289959181166957567805101243056177047178322899242179779524488666242248461569005929393301619177664969205906390374720673616551244510670635628082195763936677405203538006849565132375442786459865548049326734557565092053100448439549151470588679924913987097269269702144177339170823541175289344586585348210252429516092243386823714014036427990683058839573937011267122845544493024026089944968098005982658769987000105339720472477566541045105660194841120520809585149347621654715708355840831557654185377702958559713133266100785338604936522409108135616849320197255781709181079463341047186039071150818262148373982425002561286759760293822103719088670393792652307541768682168062146514956838258263752288837611726922805998250586912128525786480284467677356477066464195790526769410881246009242214049052995452080826637340542036920814696846843798045635658638182993376136222605334763859221893772155883594988192783316191946866211369225692294709301167658174457512653461559920908115327722582625633075837090049008048586126162633251706734376464762595507349087494586920246893368888491202332917508509660090210633945887360070141522360887690118998932321739437462952147815750379568268149460919580370097115347399276078853391601001761643888245251785094585266320205002309788668490300234134875676832382452342564818851245551657297246679791239 17334973365472486777419700934799916704530599019775180580825047961711751072053015680653515446491608526563262818939379719769232358289833844916287190745352188052576321410776019367497779335520889254588513249955260496436336618117372068439805313105760877854216337603046965376301472499185377673510879940361433925707490663124047782069422418407314216628206861992644033671324048970460091836181460168791657285285236165040856107161440729039239591713646883871640750982418339794754778156123201250470403289497966185000130826880504482602365425358473688040422069480976555551686430200946125557430109902019611264610184994004375059323782382425484395774858360137596835364085675067438585006639279746329932978225660285518848041876321865506510281805661366694469412958544359655965214975713439291974918163332426828203054701929442166986774380810603654455783533817819903950554902450012663366639476584676121232965102525412398007276572804942621033670823230907704796769339980275580763314920448846841962378159306189075974026361333118210348267397524254360350076812677564308224831474816787129919608536755580843857394272133186475221289420672260128474087815210664901882027577252313091801514959223763025885385267196074942833881775612751528833099870766399498776033906552357317421646300539375110278789968676276702980777640124288202465399571998401949333905872836386441830251754510636801902365298278301707414034249403843947234469279106907949121464496794069582206201725768637798307921158750665981335934079003832997202123051812720786439029776259035183889231964542285327436903697579187973215807787720168951697227134573017102295732298819028430081041211992777534337484971344047029882205430648248037599958478060556968059291975683487874103584949178842742570236569665774501108854521803533795413971372626217111833649899593188048021113875661698413156392503102360285183702652241282587567363035291911911506456686589450755093855487586003742606481114548636278682860555180501771233034349276468832200157894942849981715966861551027641882966148267787534301134177936089617186069711851359293427091642777008040050611966540470542611273277888834438629133332690693653839977838623387394844029195119688963849180251211501221588833929108578890385911269713203178404524942228255745194867835782229113898747050214045378360267048788054467723042251290151154461365522714744755772751450243778975932025894191486874108277187009776001139969482008251223458707239674384701605082312785717930363081317994515840542365714941969129909920672562902133277184241224096992057378842010446913998997597709346460200839090460977865213672762376866463797571524449771118584102103549534345762791266045483736430098380035961244931608284204720790688419017567152209860864816326621011428199071305752254183671577642965437084908299054390148478243905984634351340890691521503246890759976869595970268482 28048576099408636505277213298091461688188916878471285364179198458578545913418150036791900948138125877264333435448886828363864897195116710340466744735813485900479322082874884159296626437854979767255502850531341610069267489340441745465560523339515474039051156804445565388095345931882477225990242740196292999082852615347399412990052018811474824892050206602801842499893579600756772482917472087599399058829809011975209276642962734110562227457648529076297888596157669106312241641804951114257572674956627088760270465711992103556370599323902980220570596112916125351967099112363618444681136291934379345765070027225821854766264195260204660588628251969103430581333700497536407645663508244196683474903477726561358562388258414989144804050224794803964749576984929052056306462274260506268273237654065789275694005910274674003556458387574964774885373531855058243805015885391842020340945038865390976120762173479413575516643812294281695080260083499126337435436350632396169604283248100837267547272638872350783625294009721273880249107643375065200045833316503665027786079633271592295486875565385855119558969361350930036767038471158447281581660655739100395181258855177982444092558555530904198003606499473626744784856685782992471555816103212753483816985457593457208442730810697255173855055406210242589163379394158106382470622359441210693602458386673710547245911268441373486110399258122448693597845236595148098546109247757635629948164870621969993219164108486514257124870405843301118656352574729245185568310065096142728988957425992751694333207598462374615226596821367752740296453962417413266233063966318721473397268024934820455761885609328778848155606972129225646142108053451575606808043192932410845751841231537200838142514270895843018676118817245089788779435790631064683673516803556282657191074882532634606462085914127929248635889926074299220130642924341427141300046559034757050949710615540700061953493568662512593481219888356751160427096225607431427875469797278417349505516597565690071807693108681827260669106827500667567234963274694553708478819986976142747288898558717221130075307587656581682424096150982812611558335251980413600271660727106483514422987771996505617862419273647736545672187372331179223522996636009176655111854356781531675152303459585590965211246004572147771148294797296681772095246742231981098706064751665570469598294041824611590664077184863010330882521773635223033741637891846211651490555866331567816451538478012639664248976168973353195827274862877245237643255188535209114274290232145578183541475262153648375462360304853809288333677381224758582561253579199381306081184539981752529989463619675868123678956164482668751837817498913392747358663772988940149338597937249325208264092405474403029200832949640499435456672228231757289910608843058638778478040860311183723343034086322098136311634166842650059721 45383549464881123282696914232891378392719515898246465945004246420290296985471165717445416394629734403827596254388266548133097255484950555256753935481165673953055643493650903526794405773375869021844016100486602106505604107457813813905365836445276351893267494407492530764396818431067854899501122680557726924790343278471447195059474437218789041520257068595445876171217628571216864319098932256391056344115045177016065383804403463149801819171295412947938639578576008901067019797928152364727975964454593273760401292592496586158736024682376668260992665593892680903653529313309744002111246193953990610375255021230196914090046577685689056363486612106700265945419375564974992652302787990526616453129138012080206604264580280495655085855886161498434162535529288708021521437987699798243191400986492617478748707839716840990330839198178619230668907349674962194359918335404505386980421623541512209085864698891811582793216617236902728751083314406831134204776330907976932919203696947679229925431945061426757651655342839484228516505167629425550122645994067973252617554450058722215095412320966698976953241494537405258056459143418575755669475866404002277208836107491074245607517779293930083388873695548569578666632298534521304655686869612252259850892009950774630089031350072365452645024082486945569941019518446308847870194357843160027508331223060152377497665779078175388475697536424156107632094640439095333015388354665584751412661664691552199420889877124312565046029156509282454590431578562242387691361877816929168018733685027935583565172140747702052130294400555725956104241682586364963460198539335823769129566843963250536803097602106313185640578316176255528347538701699613206766521253489378905043816915025074941727463449738585588912688483019590897633957594164860097644889429773394490840974475720682627575961575826342405028393028434584403833295165624014708663081850946668557406397204991455155808981154666255199962334436993029843287651406109202660909819073747249549663411540415671787774554659709469143635255095288201868369141210784170894548531838335436174380541335725261180687274128127124293697374039817251240691667942674067440249499350493878358452182891685469467042670485148958134506116480910069609434266349212355059636796585037276870020139241814704863958296218617526131415343585351149495137498032383135560071587466410326242349744285603587522689971376349884439159708783411224173711119900097435110197795540716269421533851263730570027330294163489193738192989804846375147563927751437342391458531456242570240920317272600562374459958014200269489172767842202623796234015956065845103652708989752871114091567169210213886470222209966405181936197534874637678966947977709730837757615504401535069128908732095414457399904255392753619128249871197194374818907897448787256721946844945535064233725607825345027071611036438620328203 73432125564289759787974127530982840080908432776717751309183444878868842898889315754237317342767860281091929689837153376496962152680067265597220680216979159853534965576525787686091032211230848789099518951017943716574871596798255559370926359784791825932318651211938096152492164362950332125491365420754019923873195893818846608049526456030263866412307275198247718671111208171973636802016404343990455402944854188991274660447366197260364046628943942024236528174733678007379261439733103478985548639411220362520671758304488689715106624006279648481563261706808806255620628425673362446792382485888369956140325048456018768856310772945893716952114864075803696526753076062511400297966296234723299928032615738641565166652838695484799889906110956302398912112514217760077827900261960304511464638640558406754442713749991514993887297585753584005554280881530020438164934220796347407321366662406903185206626872371225158309860429531184423831343397905957471640212681540373102523486945048516497472704583933777541276949352560758108765612811004490750168479310571638280403634083330314510582287886352554096512210855888335294823497614577023037251136522143102672390094962669056689700076334824834281392480195022196323451488984317513776211502972825005743667877467544231838531762160769620626500079488697188159104398912604415230340816717284370721110789609733862924743577047519548874586096794546604801229939877034243431561497602423220381360826535313522192640053985610826822170899562352583573246784153291487573259671942913071897007691111020687277898379739210076667356891221923478696400695645003778229693262505654545242526834868898070992564983211435092033796185288305481174489646755151188813574564446421789750795658146562275779869977720634428607588807300264680686413393384795924781318406233329677148032049358253317234038047489954271653664282954508883623963938089965441849963128409981425608356107820532155217762474723328767793443554325349781003714747631716634088785288871025666899168928137981361859582247768391296404304361922788869435604104485478724603027351825311578921669439894442482310762581715783705976121470190800063852250003194654481040521160077600361872875170663681975084905089758796694680178303853241248832957262985221531714748650941818808545172442701400295829169542223189673902563638382647831267232744774615116658777652218075896711948038327428199113354048561212894770042230557046447207452757791943646761688351407047837237985389741743209691579270332462546934020264667723620385207182939972551505732821688388148424461792534754210749922318319054078777506445223427382378795269535265226409733893529734623644081030788886082010149178374449073933774015033788030426325611750698670987096213441650860277393001137569817486600737205033253054584922099428951664729516740507426035199987705256718787576759694147443163383245203281270387924 118815675029170883070671041763874218473627948674964217254187691299159139884360481471682733737397594684919525944225419924630059408165017820853974615698144833806590609070176691212885437984606717810943535051504545823080475704256069373276292196230068177825586145619430626916888982794018187024992488101311746848663539172290293803109000893249052907932564343793693594842328836743190501121115336600381511747059899366007340044251769660410165865800239354972175167753309686908446281237661255843713524603865813636281073050896985275873842648688656316742555927300701487159274157738983106448903628679842360566515580069686215682946357350631582773315601476182503962472172451627486392950269084225249916381161753750721771770917418975980454975761997117800833074648043506468099349338249660102754656039627051024233191421589708355984218136783932203236223188231204982632524852556200852794301788285948415394292491571263036741103077046768087152582426712312788605844989012448350035442690641996195727398136528995204298928604695400242337282117978633916300291125304639611533021188533389036725677700207319253073465452350425740552879956757995598792920612388547104949598931070160130935307594114118764364781353890570765902118121282852035080867189842437258003518769477495006468620793510841986079145103571184133729045418431050724078211011075127530748619120832794015302241242826597724263061794330970760908862034517473338764576885957088805132773488200005074392060943862735139387216928718861866027837215731853729960951033820730001065026424796048622861463551879957778719487185622479204652504937327590143193153461044990369011656401712861321529368080813541405219436763604481736702837185456850802020341085699911168655839475061587350721597441170373014196501495783284271584047350978960784878963295663103071638873023833973999861614009065780614058692675982943468027797233255589456558626210260928094165762505025523610373571455877995022993405888762342810847002399037825836749695107944772916448832339678397033647356802428100765547939617018077071303973245696262895497575883663647015096049981230167743491449855843910830269818844230617315092941671137328548480770659428094240231327353555367444551947760243945652814684420334151318442391529334433886774385447526856085415192581943215000693127838441807200033978981967998980762370242806998252218849239684486222954297782613031786636044019937562779209201939340457671381163877692041081871886146947764106659519241005473779718909564495951740672213254472569995532771110691409893897191353144630718665382109807354773124382276333254348266679213065630006175029285491331071513386602519487494758172597958096295896619400584415479115710212568662668105292559728408401824853828946052395346521909869665231944000641460426006673713171970626146039548424637956213291921934550202253851810485301972788190454856239719890716127 192247800593460642858645169294857058554536381451681968563371136178027982783249797225920051080165454966011455634062573301127021560845085086451195295915123993660125574646702478898976470195837566600043054002522489539655347301054324932647218556014860003757904796831368723069381147156968519150483853522065766772536735066109140411158527349279316774344871618991941313513440044915164137923131740944371967150004753554998614704699135857670529912429183296996411695928043364915825542677394359322699073243277033998801744809201473965588949272694935965224119189007510293414894786164656468895696011165730730522655905118142234451802668123577476490267716340258307658998925527689997793248235380459973216309194369489363336937570257671465254865668108074103231986760557724228177177238511620407266120678267609430987634135339699870978105434369685787241777469112735003070689786776997200201623154948355318579499118443634261899412937476299271576413770110218746077485201693988723137966177587044712224870841112928981840205554047961000446047730789638407050459604615211249813424822616719351236259988093671807169977663206314075847703454372572621830171748910690207621989026032829187625007670448943598646173834085592962225569610267169548857078692815262263747186646945039238307152555671611606705645183059881321888149817343655139308551827792411901469729910442527878226984819874117273137647891125517365710091974394507582196138383559512025514134314735318596584700997848345966209387828281214449601083999885145217534210705763643072962034115907069310139361931619167855386844076844402683348905632972593921422846723550644914254183236581759392521933064024976497253232948892787217877326832212001990833915650146332958406635133208149626501467418891007442804090303083548952270460744363756709660281701896432748786905073192227317095652056555734885712356958937452351651761171345554898408589338670909519774118612846055765591333930601323790786849443087692591850717146669542470838480396815798583348001267816378395506939050196492061952243978940865940739577350181741620100603235488958594017719421124610225802212437559694536245940314421417378945191674331983029521291819505694602104202524219049419636852850002742347494862724187392567275348792319655418489134098468674893960365024644615296522297380664996873936542620350646812029602987581613368877626891902562119666245820940459985749398068498775673979244169897504118588616635483984728633574498354811943897504630747216989410488834828414287606233519140293615917978293631382445402924174833018867089843902342108983874304594652308427044185658289057388553824555026596297923120496049222118402253628746982377906768578958864553049484227602450698531618171479107072811950042387703255623914911007235049430601378665459259728298094070055097704277941378463639327121922255458972639387244996120231353838101443001161104051 311063475622631525929316211058731277028164330126646185817558827477187122667610278697602784817563049650930981578287993225757080969010102907305169911613268827466716183716879170111861908180444284410986589054027035362735823005310394305923510752244928181583490942450799349986270129950986706175476341623377513621200274238399434214267528242528369682277435962785634908355768881658354639044247077544753478897064652921005954748950905518080695778229422651968586863681353051824271823915055615166412597847142847635082817860098459241462791921383592281966675116308211780574168943903639575344599639845573091089171485187828450134749025474209059263583317816440811621471097979317484186198504464685223132690356123240085108708487676647445709841430105191904065061408601230696276526576761280510020776717894660455220825556929408226962323571153617990478000657343939985703214639333198052995924943234303733973791610014897298640516014523067358728996196822531534683330190706437073173408868229040907952268977641924186139134158743361242783329848768272323350750729919850861346446011150108387961937688300991060243443115556739816400583411130568220623092361299237312571587957102989318560315264563062363010955187976163728127687731550021583937945882657699521750705416422534244775773349182453592784790286631065455617195235774705863386762838867539432218349031275321893529226062700714997400709685456488126618954008911980920960715269516600830646907802935323670976761941711081105596604757000076315628921215616998947495161739584373074027060540703117933000825483499125634106331262466881888001410570300184064616000184595635283265839638294620714051301144838517902472669712497268954580164017668852792854256735846244127062474608269736977223064860061380457000591798866833223854508095342717494539244997559535820425778097026201316957266065621515499771049634920395819679558404601144354967215548931837613939881117871579375964905386479318813780255331850035402697719545707368307588175504760571499796833607494775429154295852624592827500183595958943012043550595878004515598179119152605609113769402354777969293662293403605366515759158652034694038133345469311578002062478933788842335529877774416864188800610246688000309547144521543885717740321654089305263519545995530979375557606587830297215425219106804073970521602318645792791973230388611621096476131587048342620543603553491772385442088436338453188446109237961789969780513176025810505460645302576050557023871752690769129398399324366028278446773612863611450749404322792339300115527977649585755226012149463756998686870985562775310864871354687394728853840517927369436507098568709613160426226705078673803387979543280032165194440171113366636910731207515474636803871333755650970436820876900281374602020125885266402011266040681243743826366016419852619043856805661226491197730298093019544292957682721051820178 503311276216092168787961380353588335582700711578328154380929963655215105450860075923522835897728504616942437212350566526884102529855187993756365207528392821126841758363581649010838378376281851011029643056549524902391170306364719238570729308259788185341395739282168073055651277107955225325960195145443280393737009304508574625426055591807686456622307581777576221869208926573518776967378818489125446047069406476004569453650041375751225690658605948964998559609396416740097366592449974489111671090419881633884562669299933207051741194078528247190794305315722073989063730068296044240295651011303821611827390305970684586551693597786535753851034156699119280470023507007481979446739845145196348999550492729448445646057934318910964707098213266007297048169158954924453703815272900917286897396162269886208459692269108097940429005523303777719778126456674988773904426110195253197548098182659052553290728458531560539928951999366630305409966932750280760815392400425796311375045816085620177139818754853167979339712791322243229377579557910730401210334535062111159870833766827739198197676394662867413420778763053892248286865503140842453264110209927520193576983135818506185322935012005961657129022061756690353257341817191132795024575472961785497892063367573483082925904854065199490435469690946777505345053118361002695314666659951333688078941717849771756210882574832270538357576582005492329045983306488503156853653076112856161042117670642267561462939559427071805992585281290765230005215502144165029372445348016146989094656610187243140187415118293489493175339311284571350316203272777986038846908146280197520022874876380106573234208863494399725902661390056172457490849880854783688172385992577085469109741477886603724532278952387899804682101950382176124968839706474204199526699455968569212683170218428634052918122177250385483406593857848171331319575946699253375804887602747133713999730717635141556239317080642604567104774937727994548436692376910778426655901576370083144834875311153824661234902821084889452427574899808952783127946059746135698782354641564203131488823479388195095874730963299902761699473073452072983325019801294607523354298439483444439732401993466283825653460249430347804409868708936452993089113973744723752653644464205873335922631232445593737722599771800947907064222669292604821576217970224989974103023489610462286789424493951758134840156935114127167690279135465908558397148660010539139035143657387994454528502499907758539887234152780315884680292753157227368727697954174784703039702810668452845069914491572740872991465637871202355050529643744783282678395544523667359627594617931731562679855452061051710156558502144585214678667773564065168528902686622547448753913721458906594351731884135330805203398791344526130309360110736341448104307394883491946165779061120199130584975294213250898131059125722212924229 814374751838723694717277591412319612610865041704974340198488791132402228118470354621125620715291554267873418790638559752641183498865290901061535119141661648593557942080460819122700286556726135422016232110576560265126993311675113544494240060504716366924886681732967423041921407058941931501436536768820794014937283542908008839693583834336056138899743544563211130224977808231873416011625896033878924944134059397010524202600946893831921468888028600933585423290749468564369190507505589655524268937562729268967380529398392448514533115462120529157469421623933854563232673971935619584895290856876912700998875493799134721300719071995595017434351973139930901941121486324966165645244309830419481689906615969533554354545610966356674548528318457911362109577760185620730230392034181427307674114056930341429285249198516324902752576676921768197778783800614974477119065443393306193473041416962786527082338473428859180444966522433989034406163755281815444145583106862869484783914045126528129408796396777354118473871534683486012707428326183053751961064454912972506316844916936127160135364695653927656863894319793708648870276633709063076356471509164832765164940238807824745638199575068324668084210037920418480945073367212716732970458130661307248597479790107727858699254036518792275225756322012233122540288893066866082077505527490765906427972993171665285436945275547267939067262038493618947999992218469424117568922592713686807949920605965938538224881270508177402597342281367080858926431119143112524534184932389221016155197313305176141012898617419123599506601778166459351726773572962050654847092741915480785862513171000820624535353702012302198572373887325127037654867549707576542429121838821212531584349747623580947597139013768356805273900817215399979476935049191698738771697015504389638461267244629951010184187798765885254456228778243991010877980547843608343020436534584747653880848589214517521144703559961418347360106787763397246156238084279086014831406336941582941668482805929253815530755445677716952611170858751964826678541937750651296961473794169812245258225834166164389537024366905269277458631725486767021458365270606185525416777373272286775262279767883148014454070496118348113957013230480338710829435627834029016173190459736852711480237820275890953147818878605021877585824987938397613549448358836611070579155076658804907333028047443530520282245371452580356136388373427698528177661836036349644495788959964045011552374252598527669285633477146344163127066366020838819477102276967124003155230788318038600295926641036497871678336623433977665915400998432178011532236062451036796134693186641344723106082157139725513544538045424617379873107944677431805439633894138022085557785055214557564788552761035612179805418917229792532320626151417585191930673411303344565209635866781425621782705592306270442424016808443264744407 1317686028054815863505238971765907948193565753283302494579418754787617333569330430544648456613020058884815856002989126279525286028720478894817900326670054469720399700444042468133538664933007986433045875167126085167518163618039832783064969368764504552266282421015135496097572684166897156827396731914264074408674292847416583465119639426143742595522051126340787352094186734805392192979004714523004370991203465873015093656250988269583147159546634549898583982900145885304466557099955564144635940027982610902851943198698325655566274309540648776348263726939655928552296404040231663825190941868180734312826265799769819307852412669782130771285386129839050182411144993332448145091984154975615830689457108698982000000603545285267639255626531723918659157746919140545183934207307082344594571510219200227637744941467624422843181582200225545917556910257289963251023491553588559391021139599621839080373066931960419720373918521800619339816130688032096204960975507288665796158959861212148306548615151630522097813584326005729242085007884093784153171398989975083666187678683763866358333041090316795070284673082847600897157142136849905529620581719092352958741923374626330930961134587074286325213232099677108834202415184403849527995033603623092746489543157681210941625158890583991765661226012959010627885342011427868777392172187442099594506914711021437041647827850379538477424838620499111277045975524957927274422575668826542968992038276608206099687820829935249208589927562657846088931646621287277553906630280405368005249853923492419281200313735712613092681941089451030702042976845740036693694000888195678305885388047380927197769562565506701924475035277381299495145717430562360230601507831398298000694091225510184672129417966156256609956002767597576104445774755665902938298396471472958851144437463058585063102309976016270737862822636092162342197556494542861718825324137331881367880579306849659077384020640604022914464881725491391794592930461189864441487307913311666086503358117083078476765658266762606405038745758560917609806487997496786995743828435734015376747049313554359485411755330205172039158104798938840004783385071900793048771075812755731214994681761349431840107530745548695918366881939416791703918549601578752768826834923942726047402869052721484690870418650405969784650047657231002435125666329061601044682178566269267194122452541395288655122402306566707523826667508893607086574810496046888783530932617352039466080876752506286209172867629926660047807359119178066188204800231141908706194933598986491445365841132609238744669802261305180020965930642176961294210631606974704155762287804573076285785937609200777223701096547569202594551775718241496973968536580760569534311698776673464159140284645170942985008817708574318662629986262153926640034980806186836511375414927901624752367680886519521340555075934165477668636 2132060779893539558222516563178227560804430794988276834777907545920019561687800785165774077328311613152689274793627686032166469527585769795879435445811716118313957642524503287256238951489734121855062107277702645432645156929714946327559209429269220919191169102748102919139494091225839088328833268683084868423611576390324592304813223260479798734421794670903998482319164543037265608990630610556883295935337525270025617858851935163415068628434663150832169406190895353868835747607461153800160208965545340171819323728096718104080807425002769305505733148563589783115529078012167283410086232725057647013825141293568954029153131741777725788719738102978981084352266479657414310737228464806035312379363724668515554355149156251624313804154850181830021267324679326165914164599341263771902245624276130569067030190666140747745934158877147314115335694057904937728142556996981865584494181016584625607455405405389278900818885044234608374222294443313911649106558614151535280942873906338676435957411548407876216287455860689215254792436210276837905132463444888056172504523600699993518468405785970722727148567402641309546027418770558968605977053228257185723906863613434155676599334162142610993297442137597527315147488551616566260965491734284399995087022947788938800324412927102784040886982334971243750425630904494734859469677714932865500934887704193102327084773125926806416492100658992730225045967743427351391991498261540229776941958882574144637912702100443426611187269844024926947858077740430390078440815212794589021405051236797595422213212353131736692188542867617490053769750418702087348541093630111159091747901218381747822304916267519004123047409164706426532800584980269936773030629670219510532278440973133765619726556979924613415229903584812976083922709804857601677070093486977348489605704707688536073286497774782155992319051414336153353075537042386470061845760671916629021761427896064176598528724200565441261824988513254789040749168545468950456318714250253249028171840923012332292296413712440323357649916617312882436485029935247438292705302229903827622005275147720523874948779697110441316616736524425607026241750342506978574187853186028017990256961529232579854561601241667044032323895169897130414747985229412781785000025383679578758883106872997375644018237529010991662235872645169400048675114687898212115261333642928072101455480588838819175404647678019287879963055882321305614752472332083238428026721577316084477633251005104813878458501107073004210934425485198905007681902508109032709350164387304530045661767773645736616348138884739157686881331640609139305742867669425740951896980991214421008892019766340502737245634592993819974424883662918928779408170474898591619869483831888021723928837406206555164814236625804111194950612413571511831965654217490181076585050794683050374150386478825791782979092742608742413043 3449746807948355421727755534944135508997996548271579329357326300707636895257131215710422533941331672037505130796616812311691755556306248690697335772481770588034357342968545755389777616422742108288107982444828730600163320547754779110624178798033725471457451523763238415237066775392736245156230000597348942832285869237741175769932862686623541329943845797244785834413351277842657801969635325079887666926540991143040711515102923432998215787981297700730753389091041239173302304707416717944796148993527951074671266926795043759647081734543418081853996875503245711667825482052398947235277174593238381326651407093338773337005544411559856560005124232818031266763411472989862455829212619781651143068820833367497554355752701536891953059781381905748680425071598466711098098806648346116496817134495330796704775132133765170589115741077372860032892604315194900979166048550570424975515320616206464687828472337349698621192803566035227714038425131346007854067534121440201077101833767550824742506026700038398314101040186694944496877444094370622058303862434863139838692202284463859876801446876287517797433240485488910443184560907408874135597634947349538682648786988060486607560468749216897318510674237274636149349903736020415788960525337907492741576566105470149741949571817686775806548208347930254378310972915922603636861849902374965095441802415214539368732600976306344893916939279491841502091943268385278666414073930366772745933997159182350737600522930378675819777197406682773036789724361717667632347445493199957026654905160290014703413526088844349784870483957068520755812727264442124042235094518306837397633289265762675020074478833025706047522444442087726027946302410832297003632137501617808532972532198643950291855974946080870025185906352410552188368484560523504615368489958450307340750142170747121136388807750798426730181874050428315695273093536929331780671084809248510389642007202913835675912744841169464176289870238746180835342099006658814897806022163564915114675199040095410769062071979202929762688662375873800046291517932744225288449130665637842998752324461274883360360535027315613355774841323364447031025135414407771622958928998783749205251643290582011694669131987215739950690777109313922118666534830991534553826860307622304806285975925718860334888656179416961446885920302400402483800781016959813159943512209197339295577933130234107830527049984585995403789723391214912701327282828130127211557654194668123943714127757611100087631368736999664258741784604376971195886702739250941415545097986291021491027608906254975361017941146044337707847262282786100599953499276400445107659268795787497294677957375541279960946731140563022568976659381160425753376707055659161154181182608561485883069122051377498149823054334378429857580598675725438472000635023677017587960465722584675126518067365345313123534168676774220081679 5581807587841894979950272098122363069802427343259856164135233846627656456944932000876196611269643285190194405590244498343858225083892018486576771218293486706348314985493049042646016567912476230143170089722531376032808477477469725438183388227302946390648620626511341334376560866618575333485063269280433811255897445628065768074746085947103340064365640468148784316732515820879923410960265935636770962861878516413066329373954858596413284416415960851562922795281936593042138052314877871744956357959073291246490590654891761863727889159546187387359730024066835494783354560064566230645363407318296028340476548386907727366158676153337582348724862335797012351115677952647276766566441084587686455448184558036013108710901857788516266863936232087578701692396277792877012263405989609888399062758771461365771805322799905918335049899954520174148228298373099838707308605547552290560009501632791090295283877742738977522011688610269836088260719574659919503174092735591736358044707673889501178463438248446274530388496047384159751669880304647459963436325879751196011196725885163853395269852662258240524581807888130219989211979677967842741574688175606724406555650601494642284159802911359508311808116374872163464497392287636982049926017072191892736663589053259088542273984744789559847435190682901498128736603820417338496331527617307830596376690119407641695817374102233151310409039938484571727137911011812630058405572191907002522875956041756495375513225030822102430964467250707699984647802102148057710788260705994546048059956397087610125626738441976086477059026824686010809582477683144211390776188148417996489381190484144422842379395100544710170569853606794152560746887391102233776662767171837319065250973171777715911582531926005483440415809937223528272291194365381106292438583445427655830355846878435657209675305525580582722500925464764469048348630579315801842516845481165139411403435098978012274441469041734905438114858752000969876091267552127765354124736413818164142847039963107743061358485691643253120338578993186682482776547867991663581154432895541670620757599608995407235309314724426054672391577847790054057266885756914750197146782184811767195508604819814591549230733228882783983014672279211052533414520060404316338826885691301883565169082798716235978906893708427953109121792947569802532475895704858025275204845852125411397033413719072927005931697662605283283752779273536218316079755160213365639584375771984208421347378762715913966089869844072668469676210089575876203568605247359974124895262373595551536689376679900711977366080030783495394728593923395239905696366945826186059556249787001918303569977141881782698192365733556842543401543044079354532784877530557752774050666440449507606997959457584053314637290960182541052531211089296950303966289241167198664545516517267725500668453844171104906513261419382962494722 9031554395790250401678027633066498578800423891531435493492560147335293352202063216586619145210974957227699536386861310655549980640198267177274106990775257294382672328461594798035794184335218338431278072167360106632971798025224504548807567025336671862106072150274579749613627642011311578641293269877782754088183314865806943844678948633726881394309486265393570151145867098722581212929901260716658629788419507556107040889057782029411500204397258552293676184372977832215440357022294589689752506952601242321161857581686805623374970894089605469213726899570081206451180042116965177880640581911534409667127955480246500703164220564897438908729986568615043617879089425637139222395653704369337598517005391403510663066654559325408219923717613993327382117467876259588110362212637956004895879893266792162476580454933671088924165641031893034181120902688294739686474654098122715535524822248997554983112350080088676143204492176305063802299144706005927357241626857031937435146541441440325920969464948484672844489536234079104248547324399018082021740188314614335849888928169627713272071299538545758322015048373619130432396540585376716877172323122956263089204437589555128891720271660576405630318790612146799613847296023657397838886542410099385478240155158729238284223556562476335653983399030831752507047576736339942133193377519682795691818492534622181064549975078539496204325979217976413229229854280197908724819646122273775268809953200938846113113747961200778250741664657390473021437526463865725343135706199194503074714861557377624829040264530820436261929510781754531565395204947586335433011282666724833887014479749907097862453873933570416218092298048881878588693189801934530780294904673455127598223505370421666203438506872086353465601716289634080460659678925904610907807073403877963171105989049182778346064113276379009452682799515192784743621724116245133623187930290413649801045442301891847950354213882904369614404728990747150711433366558786580251930758577383079257522239003203153830420557670846182883027241369060482529068065800735888869603563561179513619509924070270290595669849751741668028166419171154501088292021171322521820105711183595516400760248110396603243899865216098523933705449388524974652081054891395850892653745998924188371455058724435096313795549887844914556007713249970205016276676721817838435148358061322750692611346849307034836458747647191278687542502664751131017407037988343492851142029966652332365061506520327014053721238581072332728417994693952847399455307986610915540440360359886573027716985586155687338384021176827833102575856206181340505649866222226631167215518582789415598247934517423062659139096874119865112378202425239780286161584586216913928231849049010993490067081508961551464460345294560970910111809765022388775966924264844216252505982239852400627186521209516418030047430096157182576401 14613361983632145381628299731188861648602851234791291657627793993962949809146995217462815756480618242417893941977105808999408205724090285663850878209068744000730987313954643840681810752247694568574448161889891482665780275502694229986990955252639618252754692776785921083990188508629886912126356539158216565344080760493872711919425034580830221458675126733542354467878382919602504623890167196353429592650298023969173370263012640625824784620813219403856598979654914425257578409337172461434708864911674533567652448236578567487102860053635792856573456923636916701234534602181531408526003989229830438007604503867154228069322896718235021257454848904412055968994767378284415988962094788957024053965189949439523771777556417113924486787653846080906083809864154052465122625618627565893294942652038253528248385777733577007259215540986413208329349201061394578393783259645675006095534323881788645278396227822827653665216180786574899890559864280665846860415719592623673793191249115329827099432903196930947374878032281463264000217204703665541985176514194365531861085654054791566667341152200803998846596856261749350421608520263344559618747011298562987495760088191049771175880074571935913942126906987018963078344688311294379888812559482291278214903744211988326826497541307265895501418589713733250635784180556757280629524905136990626288195182654029822760367349180772647514735019156460984956367765292010538783225218314180777791685909242695341488626972992022880681706131908098173006085328566013783053923966905189049122774817954465234954667002972796522738988537606440542374977682630730546823787470815142830376395670234051520704833269034115126388662151655676031149440077193036764556957671845292446663474478542199382115021038798091836906017526226857608732950873291285717200245656849305619001461835927618435555739418801959592175183724979957253791970354695560935465704775771578789212448877400869860224795682924639275052519587742748120587524634110914345606055494991201243400369278966310896891779043362489436003365820362247165011844613668727552450757996456721184240267523679265697830979164476167722700557997018944555145558906928237272017252493368407283596268852930211194793130598444981307916720121667736027185495574951800167231480631690226071936624141523151332292702443596272867665129506197540007548752572426675863710353203913448162089644760568379961842390445309796561971295281938287349333486793148556858490726405738636540786408885283042928019811108425145001198094204783528723603023913233970889665335622733482124564406362266056399315750101207611328497304450129576580411346233168052817226771768369791333901817911659304845357331462607676707655779745469319134818946462116774666702282515489460501097065040966545604779097636254743511962643020854319339079933213506011414917051498757120126127854975053687522936560691515540145071123 23644916379422395783306327364255360227403275126322727151120354141298243161349058434049434901691593199645593478363967119654958186364288552841124985199844001295113659642416238638717604936582912907005726234057251589298752073527918734535798522277976290114860764927060500833603816150641198490767649809035999319432264075359679655764103983214557102852984612998935924619024250018325085836820068457070088222438717531525280411152070422655236284825210477956150275164027892257473018766359467051124461371864275775888814305818265373110477830947725398325787183823206997907685714644298496586406644571141364847674732459347400728772487117283132460166184835473027099586873856803921555211357748493326361652482195340843034434844210976439332706711371460074233465927332030312053232987831265521898190822545305045690724966232667248096183381182018306242510470103749689318080257913743797721631059146130786200261508577902916329808420672962879963692859008986671774217657346449655611228337790556770153020402368145415620219367568515542368248764529102683624006916702508979867710974582224419279939412451739349757168611904635368480854005060848721276495919334421519250584964525780604900067600346232512319572445697599165762692191984334951777727699101892390663693143899370717565110721097869742231155401988744565003142831757293097222762718282656673421980013675188652003824917324259312143719060998374437398185597619572208447508044864436454553060495862443634187601740720953223658932447796565488646027522855029879508397059673104383552197489679511842859783707267503616959000918048388195073940372887578316882256798753481867664263410149983958618567287142967685542606754449704557909738133266994971295337252576518747574261697983912621048318459545670178190371619242516491689193610552217190328108052730253183582172567824976801213901803532078338601627866524495150038535592078811806069088892706061992439013494319702761708175149896807543644666924316733495271298958000669700925857986253568584322657891517969514050722199601033335618886393061731307647540912679469463441320361560017900697859777447749535988426649014227909390728724416190099056233850928099559793837358204552002799997029101040607798037030463661079831850425571056261001837576629843196018124134377689150260308079200247586428606497993484117782221137219447510212565029249148493702145501561974770912782256107417686996678849192956987840658837784603038480350893831136900351341868435705288873151470391803369942073532347006217333926512199477481571002479221220581805205775983093368697592123347852212086654134122384439161599880306335757920916996099390279448393987286952580749500065846176727908016470559481796572768157947894558915105108046702991580630514364538471494587132122475507156243557981549304482872754830619341727855900137770855631169557480996972526755041496263203940966608121611697327647524 38258278363054541164934627095444221876006126361114018808748148135261192970496053651512250658172211442063487420341072928654366392088378838504975863408912745295844646956370882479399415688830607475580174395947143071964532349030612964522789477530615908367615457703846421917594004659271085402894006348194215884776344835853552367683529017795387324311659739732478279086902632937927590460710235653423517815089015555494453781415083063281061069446023697360006874143682806682730597175696639512559170236775950309456466754054843940597580691001361191182360640746843914608920249246480027994932648560371195285682336963214554956841810014001367481423639684377439155555868624182205971200319843282283385706447385290282558206621767393553257193499025306155139549737196184364518355613449893087791485765197343299218973352010400825103442596723004719450839819304811083896474041173389472727726593470012574845539904805725743983473636853749454863583418873267337621078073066042279285021529039672099980119835271342346567594245600797005632248981733806349165992093216703345399572060236279210846606753603940153756015208760897117831275613581112065836114666345720082238080724613971654671243480420804448233514572604586184725770536672646246157616511661374681941908047643582705891937218639177008126656820578458298253778615937849854503392243187793664048268208857842681826585284673440084791233796017530898383141965384864218986291270082750635330852181771686329529090367693945246539614153928473586819033608183595893291450983640009572601320264497466308094738374270476413481739906585994635616315350570209047429080586224297010494639805820218010139272120412001800668995416601360233940887573344188008059894210248364040020925172462454820430433480584468270027277636768743349297926561425508476045308298387102489201174029660904419649457542950880298193803050249475107292327562433507367004554597481833571228225943197103631568399945579732182919719443904476243391886482634780615271464041748559785566058260796935824947613978644395825054889758882093554812552757293138190993771119556474621882100044971428801686257628178704077113429282413209043611379409835027797065854610697920410083593297953970818992830161062106061139767145692723997029023072204794996185355615009379376332244703341770737760899200437080390649886266725645050220113781821575169565855854765888219074871900867986066958521239638266784402630133066541325829684380624285457209832594841443925413937879277086412870093343455431362335124606404261010294605503134454552694871111605826850822156529710118268485969884223592050490097184756465334501328342332558332265620759055322372083401883757836032753373802022089473280423937693363878049924054508819766247332796880027931995684197163442052761022655617804047994835397851473661066935833351276867046086608979754092652882896471316891463903168813127237472718647 61903194742476936948240954459699582103409401487436745959868502276559436131845112085561685559863804641709080898705040048309324578452667391346100848608756746590958306598787121118117020625413520382585900630004394661263284422558531699058587999808592198482476222630906922751197820809912283893661656157230215204208608911213232023447633001009944427164644352731414203705926882956252676297530304110493606037527733087019734192567153485936297354271234175316157149307710698940203615942056106563683631608640226085345281059873109313708058521949086589508147824570050912516605963890778524581339293131512560133357069422561955685614297131284499941589824519850466255142742480986127526411677591775609747358929580631125592641465978369992589900210396766229373015664528214676571588601281158609689676587742648344909698318243068073199625977905023025693350289408560773214554299087133270449357652616143361045801413383628660313282057526712334827276277882254009395295730412491934896249866830228870133140237639487762187813613169312548000497746262909032789999009919212325267283034818503630126546166055679503513183820665532486312129618641960787112610585680141601488665689139752259571311080767036960553087018302185350488462728656981197935344210763267072605601191542953423457047939737046750357812222567202863256921447695142951726154961470450337470248222533031333830410201997699396934952857015905335781327563004436427433799314947187089883912677634129963716692108414898470198546601725039075465061131038625772799848043313113956153517754176978150954522081537980030440740824634382830690255723457787364311337384977778878158903215970201968757839407554969486211602171051064791850625706611182979355231462824882787595186870446367441478751940130138448217649256011259840987120171977725666373416351117355672783346597485881220863359346482958636795430916773970257330863154512319173073643490187895563667239437516806393276575095476539726564386368221209738663185440635450316197322028002128369888716152314905338998336178245429160673776151943824862460093669972607654435091481116492522579959822419178337674684277192931986504158006829399142667613260763127356859691968902472412883590327055011426790867191525767140971617571263780258030860648834638192203479749387068526592552782542018324189505698430564508432107403945092560432678811070723663268001356327862989987654156975403753955200088831223772243288970851144364310035274455422357561174463277149214287089349668889782812166875802437579669051118603738491865607982355675134500076887588920219519748653057970480572624018345976489651697065062801092422245338431948611714014746342274952832901949604012760661390272581571269853192095641258436965029162555522757827963311244566403490271329285917559917266213599353352477708152682093002794791733489047722677256166460751065179637937967580095404869776934738934800366171 100161473105531478113175581555143803979415527848550764768616650411820629102341165737073936218036016083772568319046112976963690970541046229851076712017669491886802953555158003597516436314244127858166075025951537733227816771589144663581377477339208106850091680334753344668791825469183369296555662505424431088984953747066784391131162018805331751476304092463892482792829515894180266758240539763917123852616748642514187973982236549217358423717257872676164023451393505622934213117752746076242801845416176394801747813927953254305639212950447780690508465316894827125526213137258552576271941691883755419039406385776510642456107145285867423013464204227905410698611105168333497611997435057893133065376965921408150848087745763545847093709422072384512565401724399041089944214731051697481162352939991644128671670253468898303068574628027745144190108713371857111028340260522743177084246086155935891341318189354404296755694380461789690859696755521347016373803478534214181271395869900970113260072910830108755407858770109553632746727996715381955991103135915670666855095054782840973152919659619657269199029426429604143405232223072852948725252025861683726746413753723914242554561187841408786601590906771535214233265329627444092960722424641754547509239186536129348985158376223758484469043145661161510700063632992806229547204658244001518516431390874015656995486671139481726186653033436234164469528389300646420090585029937725214764859405816293245782476108843716738160755653512662284094739222221666091299026953123528754838018674444459049260455808456443922480731220377466306571074027996411740417971202075888653543021790419978897111527966971286880597587652425025791513279955370987415125673073246827616112042908822261909185420714606718244926892780003190285046733403234142418724649504458161984520627146785640512816889433838934989233967023445364623190716945826540078198087669729134895465380713910024844975041056271909484105812125685982055071923270230931468786069750688155454774413111841163945950156889824985728665910825918417272646427265745845428862600672967144462059867390607139360941905371636063617587289242608186278992670598155153925546579600392822967183625008982245783697352587873202111384716956504255059883721039433188388835364396447902924797485883789061950404898867644899081993670670737610652792592892298832833857211093751209062526057843389820913721328469490556645919103917685690139719655079707814771007058118593139701027228945976195682260219257868942004175725007999502160213485490129687194947999194747070341905182768088749058593902569568540141794249819266426923573680764506943979635505397597324916303833361848793414764074603660743133616033334622315014953217064342524075296108124594335485955526449359612678288869217157400472543550533566663861727566840324589723342775440505157832520834438896986868772945747866172273084818 162064667848008415061416536014843386082824929335987510728485152688380065234186277822635621777899820725481649217751153025273015548993713621197177560626426238477761260153945124715633456939657648240751975655955932394491101194147676362639965477147800305332567902965660267419989646279095653190217318662654646293193562658280016414578795019815276178640948445195306686498756398850432943055770843874410729890144481729533922166549390035153655777988492047992321172759104204563137829059808852639926433454056402480147028873801062568013697734899534370198656289886945739642132177028037077157611234823396315552396475808338466328070404276570367364603288724078371665841353586154461024023675026833502880424306546552533743489553724133538436993919818838613885581066252613717661532816012210307170838940682639989038369988496536971502694552533050770837540398121932630325582639347656013626441898702299296937142731572983064610037751907174124518135974637775356411669533891026149077521262700129840246400310550317870943221471939422101633244474259624414745990113055127995934138129873286471099699085715299160782382850091962090455534850865033640061335837706003285215412102893476173813865641954878369339688609208956885702695993986608642028304933187908827153110430729489552806033098113270508842281265712864024767621511328135757955702166128694338988764653923905349487405688668838878661139510049341569945797091393737073853889899977124815098677537039946256962474584523742186936707357378551737749155870260847438891147070266237484908355772851422610003782537346436474363221555854760296996826797485783776051755356179854766812446237760621947654950935521940773092199758703489817642138986566553966770357135898129615211298913355189703387937360844745166462576148791263031272166905380959808792141000621813834767867224632666861376176235916797571784664883797415621954053871458145713151841577857624698562704818230716418121550136532811636048492180346895720718257363905681247666108097752816525343490565426746502944286335135254146402442062769743279732740097238353499863954081789459667042019689809785477035626182564568050121745296072007328946605931361282510785238548502865235850773952063993672574564544113640343083002288220284513090744369874071380592315113783516429517350268425807386139910597298209407514101074615830171085471403963022496101858567421614199050180214818793574868921417300714328889208074768830054449754929535130172332181521395742353988116578614865978494427095060306521673226843611737994025821467845804821695024886783667289861653835826059229631217920915545029793491314882067519345819019196455555693650251739872277749205782965861554076154347185232012986808128975880751979982379619865281903259419369160738976226855735277172595555082816510752950251703215659666656519300329372312400598941901256223012158772406477082273642722682605107073450989 262226140953539893174592117569987190062240457184538275497101803100200694336527443559709557995935836809254217536797266002236706519534759851048254272644095730364564213709103128313149893253901776098918050681907470127718917965736821026221342954487008412182659583300413612088781471748279022486772981168079077382178516405346800805709957038620607930117252537659199169291585914744613209814011383638327853742761230372048110140531626584371014201705749920668485196210497710186072042177561598716169235299472578874948776687729015822319336947849982150889164755203840566767658390165295629733883176515280070971435882194114976970526511421856234787616752928306277076539964691322794521635672461891396013489683512473941894337641469897084284087629240910998398146467977012758751477030743262004652001293622631633167041658750005869805763127161078515981730506835304487436610979608178756803526144788455232828484049762337468906793446287635914208995671393296703428043337369560363258792658570030810359660383461147979698629330709531655265991202256339796701981216191043666600993224928069312072852005374918818051581879518391694598940083088106493010061089731864968942158516647200088056420203142719778126290200115728420916929259316236086121265655612550581700619669916025682155018256489494267326750308858525186278321574961128564185249370786938340507281085314779365144401175339978360387326163082777804110266619783037720273980485007062540313442396445762550208257060632585903674868113032064400033250609483069104982446097219361013663193791525867069053042993154892918285702287075137763303397871513780187792173327381930655465989259551041926552062463488912059972797346355914843433652266521924954185482808971376442827410956264011965297122781559351884707503041571266221557213638784193951210865650126271996752387851779452501888993125350636506773898850820860986577244588403972253230039665527353833458170198944626442966525177589083545532597992472581702773329287175912179134894167503504680798264978538587666890236492025079132131107973595661697005386524504099345292816682462426811504079557200392616396568087936204113739332585314615515225598601959437664710785128103258058817957577072975918358261896701513545194387005176788768150628090913504568981150478179964332442147754309596448090315496165854306596094745286567781738263996855321328935715778515365408112706272662183395782642745770204885535127178686515744589474584614837987103188579514335493689143807560842174176687314318175463677402568619737496186034953335934508889972885978414360203559018594147978689811823485113569935285564701333946269392699960962499673285757137469602665509616327710347490918421788892756120424162310503066994935596684207805978555527493755074462182382184636785273843952033668153422795253749226330518246867169696902123941717341761380844679606845374069142415668430471279346535807 424290808801548308236008653584830576145065386520525786225586955788580759570713721382345179773835657534735866754548419027509722068528473472245431833270521968842325473863048253028783350193559424339670026337863402522210019159884497388861308431634808717515227486266073879508771118027374675676990299830733723675372079063626817220288752058435884108758200982854505855790342313595046152869782227512738583632905712101582032307081016619524669979694241968660806368969601914749209871237370451356095668753528981355095805561530078390333034682749516521087821045090786306409790567193332706891494411338676386523832358002453443298596915698426602152220041652384648742381318277477255545659347488724898893913990059026475637827195194030622721081549059749612283727534229626476413009846755472311822840234305271622205411647246542841308457679694129286819270904957237117762193618955834770429968043490754529765626781335320533516831198194810038727131646031072059839712871260586512336313921270160650606060694011465850641850802648953756899235676515964211447971329246171662535131354801355783172551091090217978833964729610353785054474933953140133071396927437868254157570619540676261870285845097598147465978809324685306619625253302844728149570588800459408853730100645515234961051354602764776169031574571389211045943086289264322140951536915632679496045739238684714631806864008817239048465673132119374056063711176774794127870384984187355412119933485708807170731645156328090611575470410616137782406479743916543873593167485598498571549564377289679056825530501329392648923842929898060300224668999563963843928683561785422278435497311663874207013399010852833064997105059404661075791253088478920955839944869506058038709869619201668685060142404097051170079190362529252829380544165153760003006650748085831520255076412119363265169361267434078558563734618276608531298459862117966381881243384978532020875017175342861088075314121895181581090172819477423491586651081593426801002265256321206141755543965334169834522827160333278533550036365404976738126621742452845156770764251886478546099247010178093432194270500772163861077881386622844172204533320720175496023676606123294668731529136969590932826440815153888277389293397073281241372460787575949573465591963480761959498022735403834230226093464063714110195819902397952823735400818343825037574345936979607162886487480976970651564163070919214424335253455345799039229514149968159435370100910077847677260386175708152671114409378481985350629412231475490211856421181739330584997772762081650065212854420207208321029744400658599728776879583401465615211719157418055366936008877341880414715399293571901567072768974124769107232291286383818974917976304073087881814946862915813438409237919913957869399034850178906373046956964885997174766167499069214524540659243017603856838379251851151416058391113076386419986796 686516949755088201410600771154817766207305843705064061722688758888781453907241164942054737769771494343990084291345685029746428588063233323293686105914617699206889687572151381341933243447461200438588077019770872649928937125621318415082651386121817129697887069566487491597552589775653698163763280998812801057550595468973618025998709097056492038875453520513705025081928228339659362683793611151066437375666942473630142447612643203895684181399991889329291565180099624935281913414932050072264904053001560230044582249259094212652371630599498671976985800294626873177448957358628336625377587853956457495268240196568420269123427120282836939836794580690925818921282968800050067295019950616294907403673571500417532164836663927707005169178300660610681874002206639235164486877498734316474841527927903255372453305996548711114220806855207802801001411792541605198804598564013527233494188279209762594110831097658002423624644482445952936127317424368763267756208630146875595106579840191460965721077472613830340480133358485412165226878772304008149952545437215329136124579729425095245403096465136796885546609128745479653415017041246626081458017169733223099729136187876349926706048240317925592269009440413727536554512619080814270836244413009990554349770561540917116069611092259043495781883429914397324264661250392886326200907702571020003326824553464079776208039348795599435791836214897178166330330959812514401850869991249895725562329931471357378988705788913994286443583442680537815657089226985648856039264704959512234743355903156748109868523656222310934626130005035823603622540513344151636102010943716077744424756862705800759075862499764893037794451415319504509443519610403875141322753840882500866120825883213633982182923963448935877582231933795474386594182949347711213872300874357828272642928191571865154162486618070585332462585439137595108543048266090219611920908912332365479045216119969304054600491710978727113688165292059126264915938257505605935896432759825886940020522503921836724759319185412410664658009961066673743513146246552190449587446714313290050178804210570709828762358436976277600410466701238359397803135280157840206808804709381353486689106209945509291088337516667433471776298573862049392000551701080518554616070143445094401645777045000282320541589629918020706290565188965734561999397673665153973290124452345015275592760143160366434206908841124099959462432141861543628704098764806146538558680424413341366404193736550326847801723696657449028031980851212986397891374517673839474970658740496010268771873014355187010841567885772169664062444284735411884604419118380555040221766014811483080225015621282249057991190763017525227656453596886885969853572988280893860370474356670887900591620104550743143242986883847059795842210714112327693013034668766116648482376584778984701517986097225220558474059543547665766522603 1110807758556636509646609424739648342352371230225589847948275714677362213477954886324399917543607151878725951045894104057256150656591706795539117939185139668049215161435199634370716593641020624778258103357634275172138956285505815803943959817756625847213114555832561371106323707803028373840753580829546524732922674532600435246287461155492376147633654503368210880872270541934705515553575838663805021008572654575212174754693659823420354161094233857990097934149701539684491784652302501428360572806530541585140387810789172602985406313349015193064806845385413179587239524551961043516871999192632844019100598199021863567720342818709439092056836233075574561302601246277305612954367439341193801317663630526893169992031857958329726250727360410222965601536436265711577496724254206628297681762233174877577864953243091552422678486549337089620272316749778722960998217519848297663462231769964292359737612432978535940455842677255991663258963455440823107469079890733387931420501110352111571781771484079680982330936007439169064462555288268219597923874683386991671255934530780878417954187555354775719511338739099264707889950994386759152854944607601477257299755728552611796991893337916073058247818765099034156179765921925542420406833213469399408079871207056152077120965695023819664813458001303608370207747539657208467152444618203699499372563792148794408014903357612838484257509347016552222394042136587308529721254975437251137682263417180164549720350945242084898019053853296675598063568970902192729632432190558010806292920280446427166694054157551703583549972934933883903847209512908115480030694505501500022860254174369674966089261510617726102791556474724165585234772698882796097162698710388558904830695502415302667243066367545987047661422296324727215974727114501471216878951622443659792898004603691228419331847885504663891026320057414203639841508128208185993802152297310897499920233295312165142675805832873908694778338111536549756502589339099032736898698016147093081776066469256006559282146345745689198208046326471650481639767989005035606358210966199768596278051220748803260956628937748441461488348087861203570007668600878015702832481315504648155420635346915100223914778331821321749165591970935330633373012488656468128081662106925856361143799780404116550767683093981734816486385091363687385734798492008979010864470389324622438479247624137337085771071912043314383797685597207342667933612914774305973928781334491189043664579912258479518916133075139434378661393082688476609747795699413170059968431502577660333984727434562395331871312286430769392839323868136877499816138275798610407157774892153363494940414914854150625063959737142294334888744883270704944771549292353981742185421219586701339000858024464701012642021734025966168889167678998324867779202167835331173023035827796588558356365349076371974532450656624052186509399 1797324708311724711057210195894466108559677073930653909670964473566143667385196051266454655313378646222716035337239789087002579244654940118832804045099757367256104849007351015712649837088481825216846180377405147822067893411127134219026611203878442976911001625399048862703876297578682072004516861828359325790473270001574053272286170252548868186509108023881915905954198770274364878237369449814871458384239597048842317202306303027316038342494225747319389499329801164619773698067234551500625476859532101815184970060048266815637777943948513865041792645680040052764688481910589380142249587046589301514368838395590283836843769938992276031893630813766500380223884215077355680249387389957488708721337202027310702156868521886036731419905661070833647475538642904946741983601752940944772523290161078132950318259239640263536899293404544892421273728542320328159802816083861824896956420049174054953848443530636538364080487159701944599386280879809586375225288520880263526527080950543572537502848956693511322811069365924581229689434060572227747876420120602320807380514260205973663357284020491572605057947867844744361304968035633385234312961777334700357028891916428961723697941578233998650516828205512761692734278541006356691243077626479389962429641768597069193190576787282863160595341431218005694472408790050094793353352320774719502699388345612874184222942706408437920049345561913730388724373096399822931572124966687146863244593348651521928709056734156079184462637295977213413720658197887841585671696895517523041036276183603175276562577813774014518176102939969707507469750026252267116132705449217577767285011037075475725165124010382619140586007890043670094678292309286671238485452551271059770951521385628936649425990330994922925243654230120201602568910063849182430751252496801488065540932795263093573494334503575249223488905496551798748384556394298405605723061209643262978965449415281469197276297543852635808466503403595676021418527596604638672795130775972980021796588973177843284041465531158099862866056287538324225152914235557226055945657680513058646456855431319513089718987374724719061898814789099562967810803881035855909641286024886001642109741556860609515003115848488755220941890544797380025373564189736986682697732250370950762789576825404398871309272723899755522776950280329421947734196165674132984154594841669637714072007767297703519977980753167414343260117739068886296637711679580452512487461758904530410068773648808806366717856771796883406693373933901463007639170217087009534939090243073670602756600448917582342712880172202939056901768152872289384420557394179165447379540906964846575165430536136399683055150500159819562545198480157590914625122280634875602555895576257589239592478129015444155885008617873025964731378393110652560792236836601447821505412412575573259874351446301592533006510200171717953032002 2908132466868361220703819620634114450912048304156243757619240188243505880863150937590854572856985798101441986383133893144258729901246646914371921984284897035305320010442550650083366430729502449995104283735039422994206849696632950022970571021635068824124116181231610233810200005381710445845270442657905850523395944534174488518573631408041244334142762527250126786826469312209070393790945288478676479392812251624054491956999962850736392503588459605309487433479502704304265482719537052928986049666062643400325357870837439418623184257297529058106599491065453232351928006462550423659121586239222145533469436594612147404564112757701715123950467046842074941526485461354661293203754829298682510039000832554203872148900379844366457670633021481056613077075079170658319480326007147573070205052394253010528183212482731815959577779953881982041546045292099051120801033603710122560418651819138347313586055963615074304536329836957936262645244335250409482694368411613651457947582060895684109284620440773192305142005373363750294151989348840447345800294803989312478636448790986852081311471575846348324569286606944009069194919030020144387167906384936177614328647644981573520689834916150071708764646970611795848914044462931899111649910839948789370509512975653221270311542482306682825408799432521614064680156329707303260505796938978419002071952137761668592237846064021276404306854908930282611118415232987131461293379942124398000926856765831686478429407679398164082481691149273889011784227168790034315304129086075533847329196464049602443256631971325718101726075874903591411316959539160382596163399954719077790145265211445150691254385521000345243377564364767835679913065008169467335648151261659618675782216888044239316669056698540909972905076526444928818543637178350653647630204119245147858438937398954321992826182389079913114515225553966002388226064522506591599525213506954160478885682710593634339952103376726544503244841515132225777921116935703671409693828792120073103572655442433849843323611876903789061074102614009974706792682224562261662303868646712827242734906652068316350675616312473160523387162876960766537818472481913871612473767340390649797530376903775709738917894180310076970107482515732710658746576678393454810779394357296807123933376605808515422076955817881490339263335371693109333468994657683111995019065230994260152551255391435040605749052665210728727057803336276228964571324594354758486416243093395719453733353561067285885633989846936317785354767016589939617386965916500179594907521745651330936741327883479977674584192458633708449741092021009166884236695669977775854537315799118210070105845450990550308119110237302113897433943363428295859396671572988857344741316795844290578593336153480145168527030351898992133620546072108977428571439004436778994528448240372161818230716795377964507538960856795770139541401 4705457175180085931761029816528580559471725378086897667290204661809649548248346988857309228170364444324158021720373682231261309145901587033204726029384654402561424859449901665796016267817984275211950464112444570816274743107760084241997182225513511801035117806630659096514076302960392517849787304486265176313869214535748541790859801660590112520651870551132042692780668082483435272028314738293547937777051848672896809159306265878052430846082685352628876932809303868924039180786771604429611526525594745215510327930885706234260962201246042923148392136745493285116616488373139803801371173285811447047838274990202431241407882696693991155844097860608575321750369676432016973453142219256171218760338034581514574305768901730403189090538682551890260552613722075605061463927760088517842728342555331143478501471722372079496477073358426874462819773834419379280603849687571947457375071868312402267434499494251612668616816996659880862031525215059995857919656932493914984474663011439256646787469397466703627953074739288331523841423409412675093676714924591633286016963051192825744668755596337920929627234474788753430499887065653529621480868162270877971357539561410535244387776494384070359281475176124557541648323003938255802892988466428179332939154744250290463502119269589545986004140863739619759152565119757398053859149259753138504771340483374542776460788770429714324356200470844012999842788329386954392865504908811544864171450114483208407138464413554243266944328445251102425504885366677875900975825981593056888365472647652777719819209785099732619902178814873298918786709565412649712296105403936655557430276248520626416419509531382964383963572254811505774591357317456138574133603812930678446733738273673175966095047029535832898148730756565130421112547242199836078381456616046635923979870194217415566320516892655162338004131050517801136610620916804997205248274716597423457851132125875103537228400920579180311711344918727901799339644532308310082488959568093053125369244415611693127365077408061888923940158901548298931945596460119487718249526327225885889191762083387829440394603687197879585285977666060329505629276362949727522115053365276651439640118460636319253921010028798832191049373060530090684120140868130441493477126607667757886722953431212914293386228541781245862040285652022531281203190823357244979173660072663897866623263158732744125727033418378143070317921075345115261209036273935210998903704852300249863802127209876092252351846618733201192048140950491402625026136133587189129846611988725001539497928332397560017297072630836647506642860173881456268657253064156941301916856706083056645271275987126949991174260737461933459979141843585886774021793853623732947297212372101879818185814282495589324412038969772018098351924465219629989363675841038226816033860652947735078105068241679557040545471056967488092573403 7613589642048447152464849437162695010383773682243141424909444850053155429111497926448163801027350242425600008103507575375520039047148233947576648013669551437866744869892452315879382698547486725207054747847483993810481592804393034264967753247148580625159233987862269330324276308342102963695057747144171026837265159069923030309433433068631356854794633078382169479607137394692505665819260026772224417169864100296951301116306228728788823349671144957938364366288806573228304663506308657358597576191657388615835685801723145652884146458543571981254991627810946517468544494835690227460492759525033592581307711584814578645971995454395706279794564907450650263276855137786678266656897048554853728799338867135718446454669281574769646761171704032946873629688801246263380944253767236090912933394949584154006684684205103895456054853312308856504365819126518430401404883291282070017793723687450749581020555457866686973153146833617817124676769550310405340614025344107566442422245072334940756072089838239895933095080112652081817993412758253122439477009728580945764653411842179677825980227172184269254196521081732762499694806095673674008648774547207055585686187206392108765077611410534142068046122146736353390562367466870154914542899306376968703448667719903511733813661751896228811412940296261233823832721449464701314364946198731557506843292621136211368698634834450990728663055379774295610961203562374085854158884850935942865098306880314894885567872092952407349426019594524991437289112535467910216279955067668590735694669111702380163075841756425450721628254689776890330103669104573032308459505358655733347575541459965777107673895052383309627341136619579341454504422325625605909781755074590297122515955161717415282764103728076742871053807283010059239656184420550489726011660735291783782418807593171737559146699281735075452519356604483803524836685439311588804773488223551583936736814836468737877180504297305724814956186433860127577260761468011981492182788360213126228941899858045542970688689284965677985014261515558273638738278684681749380553394973938713131926668735456145791070219999671040108673140543021096043447748844863599134588820705667301237170495364412028992838904209108909161156855576262801342866717546523896304256520964964565010656330037021429715463184359662736201303621023715640614672185481040356974192725303658158019174518550167784731476086083588871797375724411621344225780360868289969485319947945695969317535480770943378137985836465669518977402907967081342242413102050087368724754133734376332476239256215877537691881265089470355956383952194890623152893948734134717156454172505201266715377121438117500299293370974764047357413085207014182633418465426612590292038529167946170396779150435975734492939069321671010231972470537328607417935114845475005810562308893319896896335785037057521548084431913763258232114804 12319046817228533084225879253691275569855499060330039092199649511862804977359844915305473029197714686749758029823881257606781348193049820980781374043054205840428169729342353981675398966365471000419005211959928564626756335912153118506964935472662092426194351794492928426838352611302495481544845051630436203151134373605671572100293234729221469375446503629514212172387805477175940937847574765065772354946915948969848110275612494606841254195753830310567241299098110442152343844293080261788209102717252133831346013732608851887145108659789614904403383764556439802585160983208830031261863932810845039629145986575017009887379878151089697435638662768059225585027224814218695240110039267811024947559676901717233020760438183305172835851710386584837134182302523321868442408181527324608755661737504915297485186155927475974952531926670735730967185592960937809682008732978854017475168795555763151848455054952118299641769963830277697986708294765370401198533682276601481426896908083774197402859559235706599561048154851940413341834836167665797533153724653172579050670374893372503570648982768522190183823755556521515930194693161327203630129642709477933557043726767802644009465387904918212427327597322860910932210690470808410717435887772805148036387822464153802197315781021485774797417081160000853582985286569222099368224095458484696011614633104510754145159423604880705053019255850618308610803991891761040247024389759747487729269756994798103292706336506506650616370348039776093862793997902145786117255781049261647624060141759355157882895051541525183341530433504650189248890378669985682020755610762592388905005817708486403524093404583766274011304708874390847229095779643081744483915358887520975569249693435390591248859150757612575769202538039575189660768731662750325804393117351338419706398677787389153125467216174390237790523487655001604661447306356116586010021762940149007394587946962343841414408905217884905126667531352588029376600406000320291574671747928306179354311144273657236098053766693027566908954420417106572570683875144801237098802921301164599021118430818843975231464823686868919693959118209081425549077025207813326656703874070943952676810613825048348246759914237907741352206228636792892026986858414654337797733647572632322897379283468234344008849412901443982063343906675738171895875376304397601953366385376322055885797781708900528857203119501967014867693645486966459486989397142225180484223652797996219181337607980819470390337683084402720169451048917572744867439238183674557854600745723101334015737184548275097709178337720307003463026812368772079421551201798291658458371029211284323360648397425244450290467631712225980817392227050600069407440259280236323239335741540048050214964964718471323817351108291443028330324395002548237407298790686513232626596169546267631974440853278737078588629902970730746324688207 19932636459276980236690728690853970580239272742573180517109094361915960406471342841753636830225064929175358037927388832982301387240198054928358022056723757278294914599234806297554781664912957725626059959807412558437237928716546152771932688719810673051353585782355197757162628919644598445239902798774607229988399532675594602409726667797852826230241136707896381651994942871868446603666834791837996772116780049266799411391918723335630077545424975268505605665386917015380648507799388919146806678908909522447181699534331997540029255118333186885658375392367386320053705478044520258722356692335878632210453698159831588533351873605485403715433227675509875848304079952005373506766936316365878676359015768852951467215107464879942482612882090617784007811991324568131823352435294560699668595132454499451491870840132579870408586779983044587471551412087456240083413616270136087492962519243213901429475610409984986614923110663895515111385064315680806539147707620709047869319153156109138158931649073946495494143234964592495159828248925918919972630734381753524815323786735552181396629209940706459438020276638254278429889499257000877638778417256684989142729913974194752774542999315452354495373719469597264322773057937678565631978787079182116739836490184057313931129442773382003608830021456262087406818008018686800682589041657216253518457925725646965513858058439331695781682311230392604221765195454135126101183274610683430594368063875112998178274208599459057965796367634301085300083110437613696333535736116930238359754810871057538045970893297950634063158688194427079578994047774558714329215116121248122252581359168452180631767299636149583638645845493970188683600201968707350393697113962111272691765648597108006531623254485689318640256345322585248900424916083300815530404778086630203488817485380560890684613915456125313243042844259485408186283991795428174814795251163700591331324761798812579291589409515190629941623717786448156953861167468332273066854536288519305583253044131702779068742455977993244893968681932664846209422153829482986479356316275103312153045099554300121022535043686539959802632258752102521592524774052676925791292694776611253913981109189460377239598818447016650513363084213055693369853575961178234101990168537596887908035613505255773724312597261106718264647527699453812510547561785437958927559110679980213904972300259068313588679205585555886665069369898587803712769758010515149969543600743692188498873088751762848528323519550072239146853956884654087109852340233761926579354879457477666491976440764152635401059602809777359419410764563662702574445150532426375614825201716485590076025518863361950589761002686990028174805312257614252040858724706848913531374270707994220611744115154447058310290177613114038562296865539876844825233905531988238437158478439587528870776638315794600136714334884494004556803011 32251683276505513320916607944545246150094771802903219609308743873778765383831187757059109859422779615925116067751270090589082735433247875909139396099777963118723084328577160279230180631278428726045065171767341123063994264628699271278897624192472765477547937576848126184000981530947093926784747850405043433139533906281266174510019902527074295605687640337410593824382748349044387541514409556903769127063695998236647521667531217942471331741178805579072846964485027457532992352092469180935015781626161656278527713266940849427174363778122801790061759156923826122638866461253350289984220625146723671839599684734848598420731751756575101151071890443569101433331304766224068746876975584176903623918692670570184487975545648185115318464592477202621141994293847890000265760616821885308424256869959414748977056996060055845361118706653780318438737005048394049765422349248990104968131314798977053277930665362103286256693074494173213098093359081051207737681389897310529296216061239883335561791208309653095055191389816532908501663085093584717505784459034926103865994161628924684967278192709228649621844032194775794360084192418328081268908059966162922699773640741997396784008387220370566922701316792458175254983748408486976349414674851987264776224312648211116128445223794867778406247102616262940989803294587908900050813137115700949530072558830157719659017482044212400834701567081010912832569187345896166348207664370430918323637820869911101470980545105965708582166715674077179162877108339759482450791517166191885983814952630412695928865944839475817404689121699077268827884426444544396349970726883840511157587176876938584155860704219915857649950554368361035912695981611789094877612472849632248261015342032498597780482405243301894409458883362160438561193647746051141334797895437968623195216163167950043810081131630515551033566331914487012847731298151544760824817014103849598725912708761156420705998314733075535068291249139036186330461573468652564641526284216825484937564188405360015166796222671020811802923102349771418780106028974284223578159237576267911174163530373144096253999867373408879496591376961183947141601799260490252447996568847555206590791723014508725486358732684924391865569312849848585396840434375832571899723816110229210805414896973490117733162010162550700327991434375191984406422938089835560880925496056302269790770081967968842445882325087522901532763015385554263199759155152740330453767253541688407680210696732582318918661202634474959316305005802226831977291578417436484433955625180579000507713625312427733110237940530084362882437576932434781995996352330718034073196230927769913436673916288606400880228634399216008992197539308214321448298983987085236770710012248042270826709079872918382127641285904557066892621260542425082232532696218501471063754647985855160845217491594531678725344237855224750881491218 52184319735782493557607336635399216730334044545476400126417838235694725790302530598812746689647844545100474105678658923571384122673445930837497418156501720397017998927811966576784962296191386451671125131574753681501232193345245424050830312912283438528901523359203323941163610450591692372024650649179650663127933438956860776919746570324927121835928777045306975476377691220912834145181244348741765899180476047503446933059449941278101409286603780847578452629871944472913640859891858100081822460535071178725709412801272846967203618896455988675720134549291212442692571939297870548706577317482602304050053382894680186954083625362060504866505118119078977281635384718229442253643911900542782300277708439423135955190653113065057801077474567820405149806285172458132089113052116446008092852002413914200468927836192635715769705486636824905910288417135850289848835965519126192461093834042190954707406275772088272871616185158068728209478423396732014276829097518019577165535214395992473720722857383599590549334624781125403661491334019503637478415193416679628681317948364476866363907402649935109059864308833030072789973691675328958907686477222847911842503554716192149558551386535822921418075036262055439577756806346165541981393461931169381516060802832268430059574666568249782015077124072525028396621302606595700733402178772917203048530484555804685172875540483544096616383878311403517054334382800031292449390938981114348918005884745024099649254753705424766547963083308378264462960218777373178784327253283122124343569763501470233974836838137426451467847809893504348406878474219103110679185843005088633410168536045390764787628003856065441288596399862331224596296183580496445271309586811743520952780990629606604312105659728991213049715228684745687461618563829351956865202673524598826684033648548510934494695047086640864276609176173972421034015289946972935639612265267550190057237470559968999997587724248266165009914966925484343284322740936984837708380820505344790520817232537062794235538678649014056696891784282436264989528182803767210057515553851371223327208629927444217276534911059948839299223635713286468734126573313167178239289263624166460504772832203969102725957551131941042378932397062904278766694010337010806001713984647826098713450510478745891457474607423657418592638962074645796916970499875273519808484606736282483695742382227037156034561530673078788197832385284142066912528913163255480423310854285380596179083785484345167446984722184547198463158962686880919087143918651198411013310504638056666999690066076580368511297543339861722301848341496097484570441502863144409688021432644255503512699435151968351469989637086206037167002851565828573489157708693934150302084282956036491438453195027365440437931463517671105454918126082301927057766601750489709500913126425442689715994129910326278862058572739718755438294229 84436003012288006878523944579944462880428816348379619735726582109473491174133718355871856549070624161025590173429929014160466858106693806746636814256279683515741083256389126856015142927469815177716190303342094804565226457973944695329727937104756204006449460936051450125164591981538786298809398499584694096267467345238126951429766472852001417441616417382717569300760439569957221686695653905645535026244172045740094454726981159220572741027782586426651299594356971930446633211984327281016838242161232835004237126068213696394377982674578790465781893706215038565331438400551220838690797942629325975889653067629528785374815377118635606017577008562648078714966689484453511000520887484719685924196401109993320443166198761250173119542067045023026291800579020348132354873668938331316517108872373328949445984832252691561130824193290605224349025422184244339614258314768116297429225148841168007985336941134191559128309259652241941307571782477783222014510487415330106461751275635875809282514065693252685604526014597658312163154419113088354984199652451605732547312109993401551331185595359163758681708341027805867150057884093657040176594537189010834542277195458189546342559773756193488340776353054513614832740554754652518330808136783156646292285115480479546188019890363117560421324226688787969386424597194504600784215315888618152578603043385962404831893022527756497451085445392414429886903570145927458797598603351545267241643705614935201120235298811390475130129798982455443625837327117132661235118770449314010327384716131882929903702782976902268872536931592581617234762900663647507029156569888929144567755712922329348943488708075981298938546954230692260508992165192285540148922059661375769213796332662105202092588064972293107459174112046906126022812211575403098200000568962567449879249811716460978304776178717156415310175508088459433881746588098517696464429279371399788783150179321125420703586038981341700078206216064520529614784314405637402349907104722170275458381420942422809402334901320034868499814886632207683769634211778051433635674791427639134501372160300588313530534778433357718795815012674470415875728372573657430687285832471721667095564555218477828212316283816865434244501709912752864163534444712843377901437800758055309518865407452236009190636617586208118920630396449837781323393437965109080689410102792584753486512464195005998480443855760601689730595400669696330112288068315995810877078107827069003859294482216927486365645924819022157779463968489107751064435497068634895447266129818635667507403691389008101621535483869946085184285918428532266566437855193862443761217663572025416949373351440574752350218271485422046159200390874042894937456692681019387072794295204078762265162274900283822565572749422228172347539386624727009290299297968991180564667774411297850561211621504857957587402810594943506319785447 136620322748070500436131281215343679610762860893856019862144420345168216964436248954684603238718468706126064279108587937731850980780139737584134232412781403912759082184201093432800105223661201629387315434916848486066458651319190119380558250017039642535350984295254774066328202432130478670834049148764344759395400784194987728349513043176928539277545194428024544777138130790870055831876898254387300925424648093243541387786431100498674150314386367274229752224228916403360274071876185381098660702696304013729946538869486543361581601571034779141502028255506251008024010339849091387397375260111928279939706450524208972328899002480696110884082126681727055996602074202682953254164799385262468224474109549416456398356851874315230920619541612843431441606864192806264443986721054777324609960874787243149914912668445327276900529679927430130259313839320094629463094280287242489890318982883358962692743216906279831999925444810310669517050205874515236291339584933349683627286490031868283003236923076852276153860639378783715824645753132591992462614845868285361228630058357878417695092998009098867741572649860835939940031575768985999084281014411858746384780750174381695901111160292016409758851389316569054410497361100818060312201598714326027808345918312747976247594556931367342436401350761312997783045899801100301517617494661535355627133527941767090004768563011300594067469323703817946941237952945958751246989542332659616159649590359959300769490052516815241678092882290833708088797545894505840019446023732436134670954479633353163878539621114328720340384741486085965641641374882750617708342412894017777977924248967720113731116711932046740227143354093023485105288348772781985420231646473119290166577323291711806404693724701284320508889340731651813484430775404755055065203242487166276563283460264971912799471225803797279586784684262431854915761878045490632104041544638949978840387649881094420701173763229607865088121182990004872899107055342622240058287925227515065979198653479485603637873579969048925196706670914643948759162394581818643693190345279010357828580790228032530807069689493306558095038648387756884609854945886824608926575096095888127600337387422446930938273834948806476623434106975657142930228455049854183903151785405881408232315917930981900648111225009865537513269358524483578240363937840382600497894709528867237182254846422043154515005386433680477928427785953838397024816981479251291300388962112449600038378267701272653812630647003569356242622931175988670151579415719833306460576634456692334507093757465588470132833027209807807486134259924629751136879358057006853449239096216280920462072786592543103820207908571628083326203242439871468426614401374953537374878578160115253703615469927649263003504212939899277802457512707028936348065899719480890065580900836740540277205751415184236449461383334662261758079676 221056325760358507314655225795288142491191677242235639597871002454641708138569967310556459787789092867151654452538516951892317838886833544330771046669061087428500165440590220288815248151131016807103505738258943290631685109293134814710286187121795846541800445231306224191492794413669264969643447648349038855662868129433114679779279516028929956719161611810742114077898570360827277518572552160032835951668820138983635842513412259719246891342168953700881051818585888333806907283860512662115498944857536848734183664937700239755959584245613569607283921961721289573355448740400312226088173202741254255829359518153737757703714379599331716901659135244375134711568763687136464254685686869982154148670510659409776841523050635565404040161608657866457733407443213154396798860389993108641127069747160572099360897500698018838031353873218035354608339261504338969077352595055358787319544131724526970678080158040471391128234704462552610824621988352298458305850072348679790089037765667744092285750988770104961758386653976442027987800172245680347446814498319891093775942168351279969026278593368262626423280990888641807090089459862643039260875551600869580927057945632571242243670934048209898099627742371082669243237915855470578643009735497482674100631033793227522435614447294484902857725577450100967169470496995604902301832810550153508205736571327729494836661585539057091518554769096232376828141523091886210044588145684204883401293295974894501889725351328205716808222681273289151714634873011638501254564794181750144998339195765236093782242404091230989212921673078667582876404275546398124737498982782946922545679961890049462674605420008028039165690308323715745614280513965067525569153706134495059380373655953817008497281789673577427968063452778557939507242986980158153265203811449733726442533271981432891104247404520953694896960192350891288797508466144008328568470824010349767623537829202219841404759802210949565166327399054525402513891369748259642408195029949685341437580074421908413040208481289083793696521557546851632528796606359870077328865136706649492329952950528620844337604467926664276890853661062227300485583318460482039613860928567609794695901942640924759150590118765671910867935816888410007093762899762697561804589586163936717751181325383217909838747842596073656433899754974321359563757375805491681187304812321451990668767310617049152995449242194282167659023186623534727137105049795247102177467069939518603897672749918200140178276571822591514022086899665096421216014912788468201907842764275328002014497448854596571754368511079753892670420178353162017703317213250869297210456759788306337411446138033117856170426180057050129485403633313914363364071094055972924447672873364194015968777744827933085569076962362127450149996899331755945638365197688472070630248675248038390838417372920042194036864193929605768077865123 357676648508429007750786507010631822101954538136091659460015422799809925103006216265241063026507561573277718731647104889624168819666973281914905279081842491341259247624791313721615353374792218436490821173175791776698143760612324934090844437138835489077151429526560998257820996845799743640477496797113383615058268913628102408128792559205858495996706806238766658855036701151697333350449450414420136877093468232227177230299843360217921041656555320975110804042814804737167181355736698043214159647553840862464130203807186783117541185816648348748785950217227540581379459080249403613485548462853182535769065968677946730032613382080027827785741261926102190708170837889819417508850486255244622373144620208826233239879902509880634960781150270709889175014307405960661242847111047885965737030621947815249275810169143346114931883553145465484867653100824433598540446875342601277209863114607885933370823374946751223128160149272863280341672194226813694597189657282029473716324255699612375288987911846957237912247293355225743812445925378272339909429344188176455004572226709158386721371591377361494164853640749477747030121035631629038345156566012728327311838695806952938144782094340226307858479131687651723653735276956288638955211334211808701908976952105975498683209004225852245294126928211413964952516396796705203819450305211688863832870099269496584841430148550357685586024092800050323769379476037844961291577688016864499560942886334853802659215403845020958486315563564122859803432418906144341274010817914186279669293675398589257660782025205559709553306414564753548518045650429148742445841395676964700523604210857769576405722131940074779392833662416739230719568862737849510989385352607614349546950979245528814901975514374861748476952793510209752991673762384913208330407053936900003005816732246404803903718630324750974483744876613323143713270344189498960672512368649299746463925479083314262105933565440557430254448582044530275412998425090881882466482955177200407416778727901394016678082061258132718893228228461495581287959000941688721022055481985659850158533740756653375144674157419970834985892309449984185095438264347306648540436024663497922296239330063371690088863953714478387491369923864067150023991354812551745707741371569818125983497243314199810486859067605939193947169113498804937804121313645874281685199521850319227851022157039092307510454628627962645587450972577373124161922031274498393477856032051968203936051017619472793990907218826160870264709830841085091367594328508301508368419398732020336521591206320185041887201538289561700156554438277791768840196571307876150659695856004587257873518924625660959990634088628678212811606875753785831790685495430926461822551451524309269672393214755582348572581175302026727952454412038784881986431097407952960695829576084778931115623124335226430486325577264268029835944799 578732974268787515065441732805919964593146215378327299057886425254451633241576183575797522814296654440429373184185621841516486658553806826245676325750903578769759413065381534010430601525923235243594326911434735067329828869905459748801130624260631335618951874757867222449313791259469008610120944445462422470721137043061217087908072075234788452715868418049508772932935271512524610869022002574452972828762288371210813072813255619937167932998724274675991855861400693070974088639597210705329658592411377711198313868744887022873500770062261918356069872178948830154734907820649715839573721665594436791598425486831684487736327761679359544687400397170477325419739601576955881763536173125226776521815130868236010081402953145446039000942758928576346908421750619115058041707501040994606864100369108387348636707669841364952963237426363500839475992362328772567617799470397960064529407246332412904048903532987222614256394853735415891166294182579112152903039729630709263805362021367356467574738900617062199670633947331667771800246097623952687356243842508067548780514395060438355747650184745624120588134631638119554120210495494272077606032117613597908238896641439524180388453028388436205958106874058734392896973192811759217598221069709291376009607985899203021118823451520337148151852505661514932121986893792310106121283115761842372038606670597226079678091734089414777104578861896282700597520999129731171336165833701069382962236182309748304548940755173226675294538244837412011518067291917782842528575612095936424667632871163825351443024429296790698766228087643421131394449925975546867183340378459911623069284172747819039080327551948102818558523970740454976333849376702917036558539058742109408927324635199345823399257304048439176445016246288767692498916749365071361595610865386633729448350004227837695007966034845704669380705068964214432510778810333507289240983192659649514087463308285534103510693367651506995420775981099055677926889794839141524874677985126885748854358802323302429718290542547216512589749786008347213816755607301558798350920618692309342488486691285274219482278625346635111876745970512211485581021582807788688154296953231107716992141272704296449239454072480150298359305740752477157117754254575249307512330957733754843734678568697417720325606910202012850381068868473126297367878689451365962872504334171771218519789467656141460505903870822244813246474159200907851299027081069745495655323101991486807833723767537672934169183790648752384286796730506181512583609241296769710276262163007348338536088655174781613641570049369315592826974616630953786543513784558745447870152615792893595284965062658778816161060268685728342297010509067700195154756589486899386270224324888503285641170959583515434141658137664154178102451311370540827624796295096425031326078251332817321954040497255268624523189771193873797913809922 936409622777216522816228239816551786695100753514418958517901848054261558344582399841038585840804216013707091915832726731140655478220780108160581604832746070111018660690172847732045954900715453680085148084610526844027972630517784682891975061399466824696103304284428220707134788105268752250598441242575806085779405956689319496036864634440646948712575224288275431787971972664221944219471452988873109705855756603437990303113098980155088974655279595651102659904215497808141269995333908748543818239965218573662444072552073805991041955878910267104855822396176370736114366900899119453059270128447619327367491455509631217768941143759387372473141659096579516127910439466775299272386659380471398894959751077062243321282855655326673961723909199286236083436058025075719284554612088880572601130991056202597912517838984711067895120979508966324343645463153206166158246345740561341739270360940298837419726907933973837384555003008279171507966376805925847500229386912738737521686277066968842863726812464019437582881240686893515612692023002225027265673186696244003785086621769596742469021776122985614752988272387597301150331531125901115951188683626326235550735337246477118533235122728662513816586005746386116550708469768047856553432403921100077918584938005178519802032455746189393445979433872928897074503290589015309940733420973531235871476769866722664519521882639772462690602954696333024366900475167576132627743521717933882523179068644602107208156159018247633780853808401534871321499710823927183802586430010122704336926546562414609103806454502350408319534502208174679912495576404695609629181774136876323592888383605588615486049683888177597951357633157194207053418239440766547547924411349723758474275614444874638301232818423300924921969039798977445490590511749984569926017919323533732454166736474242498911684665170455643864449945577537576224049154523006249913495561308949260551388787368848365616626933092064425675224563143585953339888219930023407341160940304086156271137530224696446396372603805349231482978014469842795104714608243247519372976100677969192647020432041927594626952782766605946862638279962195670676459847155095336694732977894605639288380602767668139328318026194628685850675664616544307141745609387801053220072329303572969718175812011617530812465977807952044328237981971931235172000003097240244557703856022090446370811624695233768016358499450207458833925131778280975460949112344243889133179134043455011769774785157145728160091009474913254551506561347266603951203569805071218644681561739368675057679861494966655528771587658877292983529054908745555383710355866621598529848471797480853158483987284439776151694357314406555108617384821486026945442084917825848092775776412812555313564174339097782714239312966180906054905723409325709611227392504377992021907827417596253069663621590495055009515348458141827749754721 1515142597046004037881669972622471751288246968892746257575788273308713191586158583416836108655100870454136465100018348572657142136774586934406257930583649648880778073755554381742476556426638688923679474996045261911357801500423244431693105685660098160315055179042295443156448579364737760860719385688038228556500542999750536583944936709675435401428443642337784204720907244176746555088493455563326082534618044974648803375926354600092256907654003870327094515765616190879115358634931119453873476832376596284860757941296960828864542725941172185460925694575125200890849274721548835292632991794042056118965916942341315705505268905438746917160542056267056841547650041043731181035922832505698175416774881945298253402685808800772712962666668127862582991857808644190777326262113129875179465231360164589946549225508826076020858358405872467163819637825481978733776045816138521406268677607272711741468630440921196451640949856743695062674260559385038000403269116543448001327048298434325310438465713081081637253515188018561287412938120626177714621917029204311552565601016830035098216671960868609735341122904025716855270542026620173193557220801239924143789631978686001298921688151117098719774692879805120509447681662579807074151653473630391453928192923904381540920855907266526541597831939534443829196490184381325416062016536735373607910083440463948744197613616729187239795181816592615724964421474297307303963909355419003265485415250954350411757096914191474309075392053238946882839567002741710026331162042106059129004559417726239960546830883799141107085762589851595811306945502380242476812522152596787946662172556353407654566377235836280416509881603897649183387267616143683584106463470091833167401600249644220461700490122471740101366985286087745137989507261115055931521628784710167461902516740702080193919650700016160313245155014541752008734827964856513539154478753968598774638852095654382469127320300743571421096000544242641631266778014769164932215838925430971905125496332547998876114663146352565744072727800478190008921470215544806317723896719370278535135507123327201814109231408113241058739384250474407156257481429962884024849029931125713356280521875471964588567772098674778984209981405369021464259499863963050360732403287037327813452854380709035251138072888009964894709306850445057532539878692548606207430208190193861664890601092351375228522262370272452272080399290979188826759976193413989384788502236034941819603498552694818662329274800123665638838303291853448116534812811101840928920943724746717013593768516669748269170341637028192885810503671539699341927224140425367046400001087590374448443449049943218592312754626000134897405627893889186222100198674404725234363000101301315840954735133922613216855897450630335084157357034779866537236023687600803023347986078750413575023704118845763679532705119652015625663564643 2451552219823220560697898212439023537983347722407165216093690121362974749930740983257874694495905086467843557015851075303797797614995367042566839535416395718991796734445727229474522511327354142603764623080655788755385774130941029114585080747059564985011158483326723663863583367470006513111317826930614034642279948956439856079981801344116082350141018866626059636508879216840968499307964908552199192240473801578086793679039453580247345882309283465978197175669831688687256628630265028202417295072341814858523202013849034634855584681820082452565781516971301571626963641622447954745692261922489675446333408397850946923274210049198134289633683715363636357675560480510506480308309491886169574311734633022360496723968664456099386924390577327148819075293866669266496610816725218755752066362351220792544461743347810787088753479385381433488163283288635184899934292161879082748007947968213010578888357348855170289025504859751974234182226936190963847903498503456186738848734575501294153302192525545101074836396428705454803025630143628402741887590215900555556350687638599631840685693736991595350094111176413314156420873557746074309508409484866250379340367315932478417454923273845761233591278885551506625998390132347854930705085877551491531846777861909560060722888363012715935043811373407372726270993474970340726002749957708904843781560210330671408717135499368959702485784771288948749331321949464883436591652877136937148008594319598952518965253073209721942856245861640481754161066713565637210133748472116181833341485964288654569650637338301491515405297092059770491219441078784938086441703926733664270255060939958996270052426919724458014461239237054843390440685855584450131654387881441556925875875864089095100001722940895041026288954325886722583480097772865040501447646704033701194356683477176322692831335365186615957109604960119289584958877119379519789067974315277548035190240883023230834743947233835635846771225107386227584606666234699188339556999865735058061396633862772695322511035750157914975555705814948032804026184823788053837096872820048247727782527555369129408736184190879847005602022530436602826933941277117979361543762909020318995568902478239632727896090124869407670060657069985565771401245473350851413952475616340900783171030192720652781950538865817916939037544832416988767711878695645846451987912046215952111261412717046608996538620869722659730914324422757469802220925305758233273921681370078396831373273337851964390489365809598578893389809853200714720486016380906912147565625286486085688651448378164714924699113224687070178794032726448444897310934496291988644929849559387855301601933037227658368464448983314541452514245278710672249045640759322551082455775877714128396268299308261710999570136763596515990212262758189192246847251080105181015369893906168009828093367740436258734542220468110157453413319364 3966694816869224598579568185061495289271594691299911473669478394671687941516899566674710803151005956921980022115869423876454939751769953976973097466000045367872574808201281611216999067753992831527444098076701050666743575631364273546278186432719663145326213662369019107020031946834744273972037212618652263198780491956190392663926738053791517751569462508963843841229786461017715054396458364115525274775091846552735597054965808180339602789963287336305291691435447879566371987265196147656290771904718411143383959955145995463720127407761254638026707211546426772517812916343996790038325253716531731565299325340192262628779478954636881206794225771630693199223210521554237661344232324391867749728509514967658750126654473256872099887057245455011402067151675313457273937078838348630931531593711385382491010968856636863109611837791253900651982921114117163633710337978017604154276625575485722320356987789776366740666454716495669296856487495576001848306767619999634740175782873935619463740658238626182712089911616724016090438568264254580456509507245104867108916288655429666938902365697860205085435234080439031011691415584366247503065630286106174523129999294618479716376611424962859953365971765356627135446071794927662004856739351181882985774970785813941601643744270279242476641643312941816555467483659351666142064766494444278451691643650794620152914749116098146942280966587881564474295743423762190740555562232555940413494009570553302930722349987401196251931637914879428637000633716307347236464910514222240962346045382014894530197468222100632622491059681911366302526386581165180563254226079330452216917233496312403924618804155560738430971120840952492573827953471728133715760851351533390093277476113733315561702213063366781127655939611974467721469605033980096432969275488743868656259200217878402886750986065202776270354759974661041593693705084236033328222453069246146809829092978677613303871267534579207267867225651628869215873444249468353271772838791166029966522130195320694198625698896510480719628433615426222812947655039332860154820769539418526262918034678696331222845415598993088064341406780911009983191422707080863386392792840146032351849424353711597316463862223544186654270638475354587235660745337313901774684878903378228596623884573429688033088611753827881833746851682862046300251757388194452659418120236409813776152013809397984225060883239995112002994723713736658628980901499172222658710183606113338650976771890546783052818640609722244532228113145054162837020829192008753076486569011232802702245216894834463193869454861715263064604536397988144239238158636717355691329850646978229750045382087170876960777203609314676349919873172599858471145839433727276316818775979015444237223034442184324216426034214226851074369619792969058784083274767705984038717879984918423403117071859282022414074925587762173079076884007 6418247036692445159277466397500518827254942413707076689763168516034662691447640549932585497646911043389823579131720499180252737366765321019539937001416441086864371542647008840691521579081346974131208721157356839422129349762305302660863267179779228130337372145695742770883615314304750787083355039549266297841060440912630248743908539397907600101710481375589903477738665677858683553704423272667724467015565648130822390734005261760586948672272570802283488867105279568253628615895461175858708066977060226001907161968995030098575712089581337090592488728517728344144776557966444744784017515639021407011632733738043209552053689003835015496427909486994329556898771002064744141652541816278037324040244147990019246850623137712971486811447822782160221142445541982723770547895563567386683597956062606175035472712204447650198365317176635334140146204402752348533644630139896686902284573543698732899245345138631537029691959576247643531038714431766965696210266123455821479024517449436913617042850764171283786926308045429470893464198407882983198397097461005422665266976294029298779588059434851800435529345256852345168112289142112321812574039770972424902470366610550958133831534698808621186957250650908133761444461927275516935561825228733374517621748647723501662366632633291958411685454686349189281738477134322006868067516452153183295473203861125291561631884615467106644766751359170513223627065373227074177147215109692877561502603890152255449687603060610918194787883776519910391161700429872984446598658986338422795687531346303549099848105560402124137896356773971136793745827659950118649695930006064116487172294436271400194671231075285196445432360078007335964268639327312583847415239232974947019153351977822410661703936004261822153944893937861190304949702806845136934416922192777569850615883695054725579582321430389392227464364934780331178652582203615553117290427384523694845019333861700844138615214768414843114638450759015096800480110484167541611329838656901088027918764058093389521136734646668395695184139430374255616973839863120913991917642359466773990700562234065460631581599789872935069943429311347612810125363984198842747936555749166351347418326831951230044359952348413594324331295545340153007061990810664753188637354519719129379794914766150340815039150619645798772784396515279035067963636083840299111406032282625765887413426526444593221599504109717771733909048136494128431201826804930455932631864976191735482350045228398747443308006419320823425617922998254877557506845572915665224052194297718888390896665272999178118568568086402333243398569124436589136549093133009344336259700206366085051647315124398535329241652592629217802434118451310530720191480193049827399274551856729572633491333750446035215996170977823367064581882551158251030930525847811165054087773891086433231210439599718281148617146055872330532490203371 10384941853561669757857034582562014116526537105006988163432646910706350632964540116607296300797917000311803601247589923056707677118535274996513034467416486454736946350848290451908520646835339805658652819234057890088872925393669576207141453612498891275663585808064761877903647261139495061055392252167918561039840932868820641407835277451699117853279943884553747318968452138876398608100881636783249741790657494683557987788971069940926551462235858138588780558540727447820000603160657323514998838881778637145291121924141025562295839497342591728619195940064155116662589474310441534822342769355553138576932059078235472180833167958471896703222135258625022756121981523618981802996774140669905073768753662957677996977277610969843586698505068237171623209597217296181044484974401916017615129549773991557526483681061084513307977154967889234792129125516869512167354968117914291056561199119184455219602332928407903770358414292743312827895201927342967544517033743455456219200300323372533080783509002797466499016219662153486983902766672137563654906604706110289774183264949458965718490425132712005520964579337291376179803704726478569315639670057078599425600365905169437850208146123771481140323222416264760896890533722203178940418564579915257503396719433537443264010376903571200888327097999291005837205960793673673010132282946597461747164847511919911714546633731565253587047717947052077697922808796989264917702777342248817974996613460705558380409953048012114446719521691399339028162334146180331683063569500560663758033576728318443630045573782502756760387416455882503096272214241115299212950156085394568704089527932583804119290035230845934876403480918959828538096592799040717563176090584508337112430828091555726223406149067628603281600833549835658026419307840825233367386197681521438506875083912933128466333307495592168497819124909441372772346287287851586445512880453769841654848426840378457442486482302994050382505676410643966016353554733635894883102677448067117994440894253414083719762433543178876414812573045800478429921494902453774146738411898885300253618596912761791854427015388866023134284836092258622793316786691279706134329348589312383699267751185662827360823814571957780978601934020694740242722736147978654963322233423097357976418799339580028848127762373473680606531248198141081368215393472034751770824152519035579663565440335842577446660387349712883736903771850230787060182728304102678591342048582305074133326817118945530496126647029043067957846036143309040394527674764924418300538763308951691093141882167833641312438022948117596308003105522424733375787251769726700027589550853344314801692697211569412290018856201943894152353991623910389191337319626777103716093327835745016870714368192630359432422205192050218138951502344127309815013800615517149092805653876004856634327511459000303562692071643634503611567087378 16803188890254114917134500980062532943781479518714064853195815426741013324412180666539881798444828043701627180379310422236960414485300596016052971468832927541601317893495299292600042225916686779789861540391414729511002275155974878868004720792278119406000957953760504648787262575444245848138747291717184858880901373781450890151743816849606717954990425260143650796707117816735082161805304909450974208806223142814380378522976331701513500134508428940872269425646007016073629219056118499373706905858838863147198283893136055660871551586923928819211684668581883460807366032276886279606360284994574545588564792816278681732886856962306912199650044745619352313020752525683725944649315956947942397808997810947697243827900748682815073509952891019331844352042759278904815032869965483404298727505836597732561956393265532163506342472144524568932275329919621860700999598257810977958845772662883188118847678067039440800050373868990956358933916359109933240727299866911277698224817772809446697826359766968750285942527707582957877366965080020546853303702167115712439450241243488264498078484567563805956493924594143721347915993868590891128213709828051024328070732515720395984039680822580102327280473067172894658334995649478695875980389808648632021018468081260944926377009536863159300012552685640195118944437927995679878199799398750645042638051373045203276178518347032360231814469306222590921549874170216339094849992451941695536499217350857813830097556108623032641507405467919249419324034576053316129662228486899086553721108074621992729893679342904880898283773229853639890018041901065417862646086091458685191261822368855204313961266306131131321835840996967164502365232126353301410591329817483284131584180069378136885110085071890425435545727487696848331369010647670370301803119874299008357490967607987854045915628925981560725283489844221703950998869491467139562803307838293536499867760702079301581101697071408893497144127169659062816833665217803436494432516104968206022359658311507473240899168189847272109996712476174734046895334765574688138656054258352074244319159146827252486008615178738958204228265403606235603442150675478548882265904338478735046686078017614057405183766920371375302933229566034893249784726958643408151959587942816487356213714105730369663166912993119479379315644713420116436179029555875050882230184801661345550978866862287170668259891459430655470812819986724915491384555109033134523973913558496809615676862347344277939434653448363891383463959141563917952034520337840083524590957606670579484038547440832819431006591034519929551401674646861322512336344902736044363849251059710399853340012335967947619260508794573111954788110075220919911528799819826931115367879692474589504205701943076394648418376169873585203533384895285560845944326463328314146893427767091289865537951058718584711309217699506834144057290749 27188130743815784674991535562624547060308016623721053016628462337447363957376720783147178099242745044013430781626900345293668091603835871012566005936249413996338264244343589744508562872752026585448514359625472619599875200549644455075146174404777010681664543761825266526690909836583740909194139543885103419920742306650271531559579094301305835808270369144697398115675569955611480769906186546234223950596880637497938366311947401642440051596744287079461049984186734463893629822216775822888705744740617500292489405817277081223167391084266520547830880608646038577469955506587327814428703054350127684165496851894514153913720024920778808902872180004244375069142734049302707747646090097617847471577751473905375240805178359652658660208457959256503467561639976575085859517844367399421913857055610589290088440074326616676814319627112413803724404455436491372868354566375725269015406971782067643338450010995447344570408788161734269186829118286452900785244333610366733917425118096181979778609868769766216784958747369736444861269731752158110508210306873226002213633506192947230216568909700275811477458503931435097527719698595069460443853379885129623753671098420889833834247826946351583467603695483437655555225529371681874816398954388563889524415187514798388190387386440434360188339650684931200956150398721669352888332082345348106789802898884965114990725152078597613818862187253274668619472682967205604012552769794190513511495830811563372210507509156635147088226927159318588447486368722233647812725797987459750311754684802940436359939253125407637658671189685736142986290256142180717075596242176853253895351350301439008433251301536977066198239321915926993040461824925394018973767420401991621244015008160933863108516234139519028717146561037532506357788318488495603669189317555820446864366051520920982512248936421573729223102614753663076723345156779318726008316188292063378154716187542457759023588179374402943879649803580303028833187219951439331377535193553035324016800552564921556960661601733026148524809285521975212476816829668028462285394466157237374497937756059589044340435630567604981338513101495864858396758937366758255016595252927791118745953829203276884766007581492329156281535163586729633492507463106622063115281821365913845332632513445310398511294675366593159985846892911561197804394423027909802653054337320696925214544307198129748114920278809143539207716591836955702551567283413135813115315962140801883749003679466289808435561300477406959341309995284872958346562195102764501825129720915622270577180429608666460743444613982637525859404780169286055888123596672462744391438801913054714655032709547537359909279364996517006107142101699131309102866119446604034831461207528219606374920070135706754080840581361923803342484887239412870660958127078845463239699081643096146499865462517718888274001289343141337755624378127 43991319634069899592126036542687080004089496142435117869824277764188377281788901449687059897687573087715057962006210767530628506089136467028618977405082341537939582137838889037108605098668713365238375900016887349110877475705619333943150895197055130087665501715585771175478172412027986757332886835602288278801643680431722421711322911150912553763260794404841048912382687772346562931711491455685198159403103780312318744834923733343953551731252716020333319409832741479967259041272894322262412650599456363439687689710413136884038942671190449367042565277227922038277321538864214094035063339344702229754061644710792835646606881883085721102522224749863727382163486574986433692295406054565789869386749284853072484633079108335473733718410850275835311913682735853990674550714332882826212584561447187022650396467592148840320662099256938372656679785356113233569354164633536246974252744444950831457297689062486785370459162030725225545763034645562834025971633477278011615649935868991426476436228536734967070901275077319402738636696832178657361514009040341714653083747436435494714647394267839617433952428525578818875635692463660351572067089713180648081741830936610229818287507768931685794884168550610550213560525021160570692379344197212521545433655596059333116764395977297519488352203370571396075094836649665032766531881744098751832440950258010318266903670425629974050676656559497259541022557137421943107402762246132209047995048162421186040605065265258179729734332627237837866810403298286963942388026474358836865475792877562429089832932468312518556954962915589782876308298043246134938242328268311939086613172670294212747212567843108197520075162912894157542827057051747320384358750219474905375599188230311999993626319211409454152692288525229354689157329136165973970992437430119455221857019128908836558164565347555289948386104597884780674344026270785865571119496130356914654583948244537060604689876445811837376793930749962091650020885169242767871967709658003530039160210876429030201560769922873420634805997998149946523712164433603150424050520415589448742256915206416296826444245746343939542741366899471094000201088042236803898861157266269853792639907220890942171191348412700531584468393152764526742292190065265471267241409308730332688846227551040768174461588359712639365162537624981314240573452583784853535284522122358270765523174060416918783180170268574194678529411823680618042951838522168947639289875699298693364680541813634086374995953925770850724773954426436876298596715440604585349720678522292850061218977049499280174451205017157455410806454816147378400459941575198788755288052972765114508372721883505307528539873791090118061930211774352229014394919266430965946829087220694195879125772078783148729258957531797388546018272134698431506902453542173777386592509410187436365403413576437472985310507042648171899681668876 71179450377885684267117572105311627064397512766156170886452740101635741239165622232834237996930318131728488743633111112824296597692972338041184983341331755534277846382182478781617167971420739950686890259642359968710752676255263789018297069601832140769330045477411037702169082248611727666527026379487391698722385987081993953270902005452218389571531163549538447028058257727958043701617678001919422109999984417810257111146871134986393603327997003099794369394019475943860888863489670145151118395340073863732177095527690218107206333755456969914873445885873960615747277045451541908463766393694829913919558496605306989560326906803864530005394404754108102451306220624289141439941496152183637340964500758758447725438257467988132393926868809532338779475322712429076534068558700282248126441617057776312738836541918765517134981726369352176381084240792604606437708731009261515989659716227018474795747700057934129940867950192459494732592152932015734811215967087644745533075053965173406255046097306501183855860022447055847599906428584336767869724315913567716866717253629382724931216303968115428911410932457013916403355391058729812015920469598310271835412929357500063652535334715283269262487864034048205768786054392842445508778298585776411069848843110857721307151782417731879676691854055502597031245235371334385654863964089446858622243849142975433257628822504227587869538843812771928160495240104627547119955532040322722559490878973984558251112574421893326817961259786556426314296772020520611755113824461818587177230477680502865449772185593720156215626152601325925862598554185426852013838570445165192981964522971733221180463869380085263718314484828821150583288881977141339358126170621466526619614196391245863102142553350928482869838849562761861046945647624661577640181754985939902086223070649829819070413501769129019171488719351547857397689183050104591579435684422420292809300135786994819628278055820214781256443734330265120483208105120682099249502903211038854055960763441350587162222371655899569159615283520125159000528994101631612709444986572826823240194671266005341166879876313948920881254468395335952396960025408995058915456410194060972538593736424167826937198929905029687866003556739494160234799653171887534382523230674644178021478740996351166685756263726305799351009430536542512044967875611694656188338859443055195980067481258546666898100449077717733886246003660636320594519121935304760754605837840100577113684221279923894810557254403177810066083949711309834645158910543369087174850399437915120638399406658165740917895818999794981270211234985433434288583538247661533146726854885819829163405431431042667437819238787607124169072313473483538117261038713035000778290294748913802254045842214489902810099538893721191888503159374111302167860580621019240626291591053283582865268876094156361259311796385789509655306047003 115170770011955583859243608647998707068487008908591288756277017865824118520954523682521297894617891219443546705639321880354925103782108805069803960746414097072217428520021367818725773070089453315925266159659247317821630151960883122961447964798887270856995547192996808877647254660639714423859913215089679977524029667513716374982224916603130943334791957954379495940440945500304606633329169457604620269403088198122575855981794868330347155059249719120127688803852217423828147904762564467413531045939530227171864785238103354991245276426647419281916011163101882654024598584315756002498829733039532143673620141316099825206933788686950251107916629503971829833469707199275575132236902206749427210351250043611520210071336576323606127645279659808174091389005448283067208619273033165074339026178504963335389233009510914357455643825626290549037764026148717840007062895642797762963912460671969306253045389120420915311327112223184720278355187577578568837187600564922757148724989834164832731482325843236150926761297524375250338543125416515425231238324953909431519801001065818219645863698235955046345363360982592735278991083522390163587987559311490919917154760294110293470822842484214955057372032584658755982346579414003016201157642782988932615282498706917054423916178395029399165044057426073993106340072020999418421395845833545610454684799400985751524532492929857561920215500372269187701517797242049490227358294286454931607485927136405744291717639687151506547695592413794264181107175318807575697501850936177424042706270558065294539605118062032674772581115516915708738906852228672986952080898713477132068577695642027433927676437223193461238389647741715308126115939028888659742484920840941431995213384621557863095768872562337937022531138087991215736102976760827551611174192416059357308080089778738655628578067116684309119874823949432638072033209320890457150555180552777207463884084031531880232967932266026618633237665080227212133228990289924867121470612869042384095120974317779617363783141578772989794421281518275105524241158535234763133495506988416271982451586472421637993324122060292860423995835294807046397161113451231862814317567460330826331233643645058769108390278317730219450471949892258686977091843237153005649764639983374510710324968547391934860217852086018438716171968161523826285541328195479509723623381565413466745590655318963585681280619346291928564775415484316938637470960457473708393895713539399270478364763093557981185553208328948660790857904137746710943755625983973672524571077960207970699618383707665021092347024016952436681017689801580812689043479822860321902014907858584943671778153314547974966359112578697242231002525247835767131655957979465966725119381969607998133171614293273051539358496425518580434521431508809733674763034163193018012884100463471019230672289670593834244622303428437681554987715879 186350220389841268126361180753310334132884521674747459642729757967459859760120145915355535891548209351172035449272432993179221701475081143110988944087745852606495274902203846600342941041510193266612156419301607286532382828216146911979745034400719411626325592670407846579816336909251442090386939594577071676246415654595710328253126922055349332906323121503917942968499203228262650334946847459524042379403072615932832967128666003316740758387246722219922058197871693367689036768252234612564649441279604090904041880765793573098451610182104389196789457048975843269771875629767297910962596126734362057593178637921406814767260695490814781113311034258079932284775927823564716572178398358933064551315750802369967935509594044311738521572148469340512870864328160712143742687831733447322465467795562739648128069551429679874590625551995642725418848266941322446444771626652059278953572176898987781048793089178355045252195062415644215010947340509594303648403567652567502681800043799338238986528423149737334782621319971431097938449554000852193100962640867477148386518254695200944577080002204070475256774293439606651682346474581119975603908028909801191752567689651610357123358177199498224319859896618706961751132633806845461709935941368765343685131341817774775731067960812761278841735911481576590137585307392333804076259809922992469076928648543961184782161315434085149789754344185041115862013037346677037347313826326777654166976806110390302542830214109044833365656852200350690495403947339328187452615675397996011219936748238568159989377303655752830988207268118241634601505406414099838965919469158642325050542218613760655108140306603278724956704132570536458709404821006029999100611091462407958614827581012803726197911425913266419892369987650753076783048624385489129251355947401999259394303160428568474698991568885813328291363543300980495469722392370995048729990864975197500273184219818526699861245988086241399889681399410492332616437095410606966370973516080081238151081737759130204526005513234672558954036565038400264524770152636866375842940493561243095222646257738426979160203998374241781305250303690142998794121138860226921729773977654391798869827380069226596045589208222759907316475506631752847211891496409040540032287870658018688731803709543743101545974115812324238067181398698066338330509203807174165911962241008468662725658136577510252579381068424009662451021419144953259231990082392778469148501551379499847592048984373481875996110462732126470856941853849056545588914536527342759699421477398123091338017790365830762010242843016747417951228924787014246977627018070521855048741762744404772835183584745590642404178351366304366400074838721319305248916996692500967503409676718521800387217456507762954349458035319239772323024590882921035842623614784212258639175691516754602095941165764750195503934099814227191210293762882 301520990401796851985604789401309041201371530583338748399006775833283978281074669597876833786166100570615582154911754873534146805257189948180792904834159949678712703422225214419068714111599646582537422578960854604354012980177030034941192999199606682483321139863404655457463591569891156514246852809666751653770445322109426703235351838658480276241115079458297438908940148728567256968276016917128662648806160814055408823110460871647087913446496441340049747001723910791517184673014799079978180487219134318075906666003896928089696886608751808478705468212077725923796474214083053913461425859773894201266798779237506639974194484177765032221227663762051762118245635022840291704415300565682491761667000845981488145580930620635344649217428129148686962253333608995210951307104766612396804493974067702983517302560940594232046269377621933274456612293090040286451834522294857041917484637570957087301838478298775960563522174638828935289302528087172872485591168217490259830525033633503071718010748992973485709382617495806348276992679417367618332200965821386579906319255761019164222943700440025521602137654422199386961337558103510139191895588221292111669722449945720650594181019683713179377231929203365717733479213220848477911093584151754276300413840524691830154984139207790678006779968907650583243925379413333222497655655756538079531613447944946936306693808363942711709969844557310303563530834588726527574672120613232585774462733246796046834547853796196339913352444614144954676511122658135763150117526334173435262643018796633454528982421717785505760788383635157343340412258642772825918000367872119457119119914255788089035816743826472186195093780312251766835520760034918658843096012303349390610040965634361589293680298475604356914901125738744292519151601146316680862530139818058616702383250207307130327569636002497637411238367250413133541755601691885505880546045527974707737068303850058580094213920352268018522919064490719544749666085700531833492444128949123622246202712076909821889788654813445548748457846556675370049011311172101138976436000549659367205097844210848617153528120434534641729246138984950045191282252311458784544091545114722625201061023714285365153979486540490126766947456524011534188983339646193545682052510641393199442128678091135036406191967898342676783353366859590164616050532002653675635585622573882129471248791896473838260661687770301591015796834629270197869461042850252177542397264918899118070413747467039857181663671061075131647799757986803256532670162511316432223992555358331062037636174073495783102589867033699854632246614588595059666670497893382176950756670602989716506961738060138617370537463945001608631077363969155072380572954671966934228529058688129798520389070801036005888816531744758352757546022391730769517386648947405276652059791980225621326613455435344029748556403242664872765281478761 487871210791638120111965970154619375334256052258086208041736533800743838041194815513232369677714309921787617604184187866713368506732271091291781848921905802285207978324429061019411655153109839849149578998262461890886395808393176946920938033600326094109646732533812502037279928479142598604633792404243823330016860976705137031488478760713829609147438200962215381877439351956829907303222864376652705028209233429988241790239126874963828671833743163559971805199595604159206221441267033692542829928498738408979948546769690501188148496790856197675494925261053569193568349843850351824424021986508256258859977417158913454741455179668579813334538698020131694403021562846405008276593698924615556312982751648351456081090524664947083170789576598489199833117661769707354693994936500059719269961769630442631645372112370274106636894929617575999875460560031362732896606148946916320871056814469944868350631567477131005815717237054473150300249868596767176133994735870057762512325077432841310704539172142710820492003937467237446215442233418219811433163606688863728292837510456220108800023702644095996858911947861806038643684032684630114795803617131093303422290139597331007717539196883211403697091825822072679484611847027693939621029525520519619985545182342466605886052100020551956848515880389227173381510686805667026573915465679530548608542096488908121088855123798027861499724188742351419425543871935403564921985946940010239941439539357186349377378067905241173279009296814495645171915069997463950602733201732169446482579767035201614518359725373538336748995651753398977941917665056872664883919837030761782169662132869548744143957050429750911151797912882788225544925581040948657943707103765757349224868546647165315491591724388870776807271113389497369302200225531805810113886087220057876096686410635875605026561204888310965702601910551393629011477994062880554610536910503172208010252523668585279955459908438509418412600463901211877366103181111138799863417645029204860397284449836040026415794168048118107702494411595075634573781463808967514819376494110902462427744101949275596313732118808776423034496442675093043985403391171685706273865522769114424070888403783511961199568694763250034083422963155764381400874836055234085714340381299411888173932387634878137952166083710666914850534765557656502946559735809827841547547863582350792196906928473984090840042756194311253466818253774223457101451125243030646690898816298398965662462731840521733177774133793201602504741611835859802121584699038659191923414032756454153375653964439326545112832710050447272583475539375609306644297515963904031999498433347394489342145322805729259774715815311305975031152202690474377629489951364467901731938735406651598907606527308798960238274567063998125080570613274651805360010263731617535291235483496980223422554621200094225252490503056892063975575241643 789392201193434972097570759555928416535627582841424956440743309634027816322269485111109203463880410492403199759095942740247515311989461039472574753756065751963920681746654275438480369264709486431687001577223316495240408788570206981862131032799932776592967872397217157494743520049033755118880645213910574983787306298814563734723830599372309885388553280420512820786379500685397164271498881293781367677015394244043650613349587746610916585280239604900021552201319514950723406114281832772521010415717872727055855212773587429277845383399608006154200393473131295117364824057933405737885447846282150460126776196396420094715649663846344845555766361782183456521267197869245299981008999490298048074649752494332944226671455285582427820007004727637886795370995378702565645302041266672116074455743698145615162674673310868338683164307239509274332072853121403019348440671241773362788541452040901955652470045775906966379239411693302085589552396683940048619585904087548022342850111066344382422549921135684306201386554963043794492434912835587429765364572510250308199156766217239273022967403084121518461049602284005425605021590788140253987699205352385415092012589543051658311720216566924583074323755025438397218091060248542417532123109672273896285959022867158436041036239228342634855295849296877756625436066219000249071571121436068628140155544433855057395548932161970573209694033299661722989074706524130092496658067553242825715902272603982396211925921701437513192361741428640599848426192655599713752850728066342881745222785831835069047342147091323842509784035388556321282329923699645490801920204902881239288782047125336833179773794256223097346891693195039992380446341075867316786803116069106739834909512281526904785272022864475133722172239128241661821351826678122490976416227038116492799069660843182735354130840890808603113840277801806762553233595754766060491082956031146915747320827518643860049673828790777436935519528391931422115769266811670633355861773978328482643487161912949848305582822861563656450952258151751004622792774981068653795812494660561829632841946160124213467260239243311064763742581660043089176685643483144490817957067883837049271949427497797326353548181303740160850370419679775915589858175701427631396392891940805087616061065726013174358358051609009591633888132417246667562610267812481517183133486156232921668155720370457929100704443964612844482615088403493654970912168093282824233296081217298083732876479307561590359437804854276734152541369822663058654254861549975624147406588114785215413290138512822328215422577084147127215722153964204366310968013857286208950255103950384205849107060865867877145253279256307583662229566659629450010062906036434835960467794094781397427995598109834966127091098808756477838116635666382574877396912679022811943295275477205844749168076635438255001046906299556936740856720404 1277263411985073092209536729710547791869883635099511164482479843434771654363464300624341573141594720414190817363280130606960883818721732130764356602677971554249128660071083336457892024417819326280836580575485778386126804596963383928783069066400258870702614604931029659532023448528176353723514437618154398313804167275519700766212309360086139494535991481382728202663818852642227071574721745670434072705224627674031892403588714621574745257113982768459993357400915119109929627555548866465063840344216611136035803759543277930465993880190464203829695318734184864310933173901783757562309469832790406718986753613555333549457104843514924658890305059802315150924288760715650308257602698414913604387632504142684400307761979950529510990796581326127086628488657148409920339296977766731835344417513328588246808046785681142445320059236857085274207533413152765752245046820188689683659598266510846824003101613253037972194956648747775235889802265280707224753580639957605784855175188499185693127089093278395126693390492430281240707877146253807241198528179199114036491994276673459381822991105728217515319961550145811464248705623472770368783502822483478718514302729140382666029259413450135986771415580847511076702702907276236357153152635192793516271504205209625041927088339248894591703811729686104930006946753024667275645486587115599176748697640922763178484404055959998434709418222042013142414618578459533657418644014493253065657341811961168745589303989606678686471371038243136245020341262653063664355583929798512328227802552867036683565701872464862179258779687141955299224247588756518155685840041933643021458444179994885577323730844685974008498689606077828217925371922116815974730510219834864089059778058928692220276863747253345910529443352517739031123552052209928301090302314258174368895756071479058340380692045779119568816442188353200391564711589817646615101619866534319123757573351187229140005133737229286855348119992293143299481872447922809433219279419007533343040771611748989874721376990909681764153446669746826639196574238790036168615188988771464292060586048109399809780992358052087487798239024335136133162089034654830197091822590652951473342837831281309287553116876066990194933793382835540296990733011756661717110733273240216975789993453360891312310524135319676506484422897974903170509170003622309358730681349738583713865062648844442019940747200158924097949433342177717112072363293336313470924194897515697049395339211148083323537211938647478336657282981658522860775839560588634816070820620871239368788944102952148873328255287134594399799197693339813672955265529821190240949753537297778695191252383671597136919969094567613558693381769350103827639552857400902737692406529501432996335602125418633926365365665872754602918687248941034380237407176410640347234530758974186068171722697835532480253537409356449000716431962047 2066655613178508064307107489266476208405511217940936120923223153068799470685733785735450776605475130906594017122376073347208399130711193170236931356434037306213049341817737611896372393682528812712523582152709094881367213385533590910645200099200191647295582477328246817026766968577210108842395082832064973297591473574334264500936139959458449379924544761803241023450198353327624235846220626964215440382240021918075543016938302368185661842394222373360014909602234634060653033669830699237584850759934483863091658972316865359743839263590072209983895712207316159428297997959717163300194917679072557179113529809951753644172754507361269504446071421584498607445555958584895608238611697905211652462282256637017344534433435236111938810803586053764973423859652527112485984599019033403951418873257026733861970721458992010784003223544096594548539606266274168771593487491430463046448139718551748779655571659028944938574196060441077321479354661964647273373166544045153807198025299565530075549639014414079432894777047393325035200312059089394670963892751709364344691151042890698654845958508812339033781011152429816889853727214260910622771202027835864133606315318683434324340979630017060569845739335872949473920793967524778774685275744865067412557463228076783477968124578477237226559107578982982686632382819243667524717057708551667804888853185356618235879952988121969007919112255341674865403693284983663749915302082046495891373244084565151141801229911308116199663732779671776844868767455308663378108434657864855209973025338698871752613044019556186021768563722530511620506577512456163646487760246836524260747226227120222410503504638942197105845581299272868210305818263192683291517313335903970828894687571210219125062135770117821044251615591645980692944903878888050792066718541296290861694825732322241075734822886669928171930282466155007154117945185572412675592702822565466039504894178705873000054807566020064292283639520685074721597641714734480066575141192985861825684258773661939723026959813771245420604398927898577643819367013771104822411001483432026121693427994269524023248252597295398552561981605995179222338774678137974687909779658536788522614787258779106613906665057370730355784163802515316212580591187458089348507126165181022063406054519086904486668882186928686098118311030392149838071780271434790875913814835894816635533218369214899949041451644123536942432048430581210767043275461429596295157490978732995133128215690455644913896649743501755070809824351481185919430094422138610440218227208986024584202234241464971201543677864218741527014919847304018039266233543678476449900008641248162901040359444537465014065222373823921142355611336009733277649615763437337573652874323596214393763597723528468892492456764681511080756803884607416955114804089089663159177826034451391912920890774470970735254584315656005937457288682451 3343919025163581156516644218977024000275394853040447285405702996503571125049198086359792349747069851320784834485656203954169282949432925301001287959112008860462178001888820948354264418100348138993360162728194873267494017982496974839428269165600450517998197082259276476558790417105386462565909520450219371611395640849853965267148449319544588874460536243185969226114017205969851307420942372634649513087464649592107435420527016989760407099508205141820008267003149753170582661225379565702648691104151094999127462731860143290209833143780536413813591030941501023739231171861500920862504387511862963898100283423507087193629859350876194163336376481386813758369844719300545916496214396320125256849914760779701744842195415186641449801600167379892060052348309675522406323895996800135786763290770355322108778768244673153229323282780953679822747139679426934523838534311619152730107737985062595603658673272281982910769152709188852557369156927245354498126747184002759592053200488064715768676728107692474559588167539823606275908189205343201912162420930908478381183145319564158036668949614540556549100972702575628354102432837733680991554704850319342852120618047823816990370239043467196556617154916720460550623496874801015131838428380057860928828967433286408519895212917726131818262919308669087616639329572268334800362544295667266981637550826279381414364357044081967442628530477383688007818311863443197407333946096539748957030585896526319887390533900914794886135103817914913089889108717961727042464018587663367538200827891565908436178745892021048201027343409672466919730825101212681802173600288770167282205670407115107987827235483628171114344270905350696428231190185309499266247823555738834917954465630138911345338999517371166954781058944163719724068455931097979093157020855554465230590581803801299416115514932449047740746724654508207545682656775390059290694322689099785163262467529893102140059941303249351147631759512978218021079514162657289499794420611993395168725030385410929597748336804680927184757845597645404283015941252561140991026190472203490413754014042378923833029244955347486040360220630330315355500863712792804885001602249189739995957625090060415901459781933437720550717957185350856509571324199214751065617859438421239039196047972447795798979406322248362604602733928367053008580950275057100234644496185633400349398281018059341968982198844282461040381481772758927879115638754765909766081685876248692182523554901603728237433861682149233407467107333139708780205933982727245256289047829857263952991178344417120074871933151353335926814117540643831712221499073499666690849762178545941596231611828209062150985191468391534701048993105359837105289168620838240311345280853097647390099199848947102818857822430554265683675491133548451335352211265500303506412356793425577981092613472306503215508121725012454938173720644498 5410574638342089220823751708243500208680906070981383406328926149572370595734931872095243126352544982227378851608032277301377682080144118471238219315546046166675227343706558560250636811782876951705883744880903968148861231368030565750073469264800642165293779559587523293585557385682596571408304603282284344908987114424188229768084589279003038254385081004989210249564215559297475543267162999598864953469704671510182978437465319357946068941902427515180023176605384387231235694895210264940233541864085578862219121704177008649953672407370608623797486743148817183167529169821218084162699305190935521077213813233458840837802613858237463667782447902971312365815400677885441524734826094225336909312197017416719089376628850422753388612403753433657033476207962202634892308495015833539738182164027382055970749489703665164013326506325050274371286745945701103295432021803049615776555877703614344383314244931310927849343348769629929878848511589210001771499913728047913399251225787630245844226367122106553992482944587216931311108501264432596583126313682617842725874296362454856691514908123352895582881983855005445243956160051994591614325906878155206985726933366507251314711218673484257126462894252593410024544290842325793906523704124922928341386430661363191997863337496203369044822026887652070303271712391512002325079602004218934786526404011635999650244310032203936450547642732725362873222005148426861157249248178586244848403829981091471029191763812222911085798836597586689934757876173270390420572453245528222748173853230264780188791789911577234222795907132202978540237402613668845448661360535606691542952896634235330398330740122570368220189852204623564638537008448502182557765136891642805746849153201349130470401135287488987999032674535809700417013359809986029885223739396850756092285407536123540491850337819118975912677007120663214699800601960962471966287025511665251202767361708598975140114748869269415439915399033663292742677155877391769566369561804979256994409289159072869320775296618452172605362244525543981926835308266332245813437191955635516535447442036648447856277497552642884592922202236325494577839638390930779572911381907726528518572412348839522515366446990808450906502120987866172722151915386672840414124985603602261102602102491534700285648288509177048702721044958759202846652730546491891110558311021528216984931499387274241918023650488405997982813530203340138646158914216195506061239176854981687315651770592059373151330511425650988478276931684620894699636028404865855696507275038843288537193412585882091276415611015572077453829037387947849751487732617178143140749770819794104497271971272746527165050413842215455843404604441369570382938784384275577884998155176693861783862797572475571711350279195235776764432295018155868290467015354589966665590182827876969894013504246777473950762706040668460875631009326949 8754493663505670377340395927220524208956300924021830691734629146075941720784129958455035476099614833548163686093688481255546965029577043772239507274658055027137405345595379508604901229883225090699243907609098841416355249350527540589501738430401092683291976641846799770144347802787983033974214123732503716520382755274042195035233038598547627128845617248175179475678232765267326850688105372233514466557169321102290413857992336347706476041410632657000031443608534140401818356120589830642882232968236673861346584436037151940163505551151145037611077774090318206906760341682719005025203692702798484975314096656965928031432473209113657831118824384358126124185245397185987441231040490545462166162111778196420834218824265609394838414003920813549093528556271878157298632391012633675524945454797737378079528257948338317242649789106003954194033885625128037819270556114668768506663615688676939986972918203592910760112501478818782436217668516455356269626660912050672991304426275694961612903095229799028552071112127040537587016690469775798495288734613526321107057441682019014728183857737893452131982956557581073598058592889728272605880611728474549837847551414331068305081457716951453683080049169313870575167787717126809038362132504980789270215398094649600517758550413929500863084946196321157919911041963780337125442146299886201768163954837915381064608667076285903893176173210109050881040317011870058564583194275125993805434415877617790916582297713137705971933940415501603024646984891232117463036471833191590286374681121830688624970535803598282423823250541875445459968227714881527250834960824376858825158567041350438386157975606198539334534123109974261066768198633811681824012960447381640664803618831488041815740134804860154953813733479973420141081815741084008978380760252405221322875989339924839907965852751568023653423731775171422245483258736352531256981348200765036366029829238492077280174690172518766587547158546641510763756670040049059066163982416972652163134319544483798918523633423133099790120090123189386209851249518893386804463382427839006949201456079027371689306742507990370633282422866655809933340502103723584457912984156916268514530037438899938416826228924246171457220078173217029231723239585887591479742845042023500141798150463982496084627694831425411307323778887126255855233680821548991345202807207161617334329780405333583887005849332688459023195011976099066525274552970961415827320862731230379498175325493663101388764373107800221885744039017760603479841962387593100952796322868700552490184590930299211351287544166925413380643154928591681463709231690677809831599532998340046093503583100955589316035605310606990544453597546729407488227953005113818196343436029791509173961997421422674530208101625790042448107786151704319625819226620090270172002539621302547875106117719083977166270827765680915813804729971447 14165068301847759598164147635464024417637206995003214098063555295648312316519061830550278602452159815775542537701720758556924647109721162243477726590204101193812632689301938068855538041666102042405127652490002809565216480718558106339575207695201734848585756201434323063729905188470579605382518727014788061429369869698230424803317627877550665383230698253164389725242448324564802393955268371832379420026873992612473392295457655705652544983313060172180054620213918527633054051015800095583115774832322252723565706140214160590117177958521753661408564517239135390074289511503937089187902997893734006052527909890424768869235087067351121498901272287329438490000646075071428965965866584770799075474308795613139923595453116032148227026407674247206127004764234080792190940886028467215263127618825119434050277747652003481255976295431054228565320631570829141114702577917718384283219493392291284370287163134903838609455850248448712315066180105665358041126574640098586390555652063325207457129462351905582544554056714257468898125191734208395078415048296144163832931738044473871419698765861246347714864940412586518842014752941722864220206518606629756823574484780838319619792676390435710809542943421907280599712078559452602944885836629903717611601828756012792515621887910132869907906973083973228223182754355292339450521748304105136554690358849551380714852977108489840343723815942834413754262322160296919721832442453712238653838245858709261945774061525360617057732777013088292959404861064502507883608925078719813034548534352095468813762325715175516646619157674078424000205630328550372699496321359983550368111463675585768784488715728768907554723975314597825705305207082313864381778097339024446411652772032837172286141270092349142952846408015783120558095175551070038863604499649255977415161396876048380399816190570686999566100738895834636945283860697315003223268373712430287568797190947091052420289439041788182027462557580304803506433825917440828632533544221951909157543608703556668239298930041585272395482334648733368136686557785225632617900574383474523484648898115675819545584240060633255226204625102981304511180140494654364030824366064642797033102449787739460932192675915054622363722199161083201953875154972560431893867830645625761244400252955517196370275983340602460010044823845885458701886411368040882455761118228689834319261279792607825805029499821094457006008542179439205171433467187156921888560039586212066813827096085722474540094884533451210364020970702381498179477990792458956649303597907543841027378003516181302627703155182497490834472192316539531215196964307855952972349303818134150590775554373702116481086019152822446387858201988098977871166737389389396081341591206485370957824794993898246241558380821025819212540081169860187916286241974680236837592722449179517769119621965861451117033533806349376689435739298396 22919561965353429975504543562684548626593507919025044789798184441724254037303191789005314078551774649323706223795409239812471612139298206015717233864862156220950038034897317577460439271549327133104371560099101650981571730069085646929076946125602827531877732843281122833874252991258562639356732850747291777949752624972272619838550666476098292512076315501339569200920681089832129244643373744065893886584043313714763806153449992053359021024723692829180086063822452668034872407136389926225998007800558926584912290576251312530280683509672898699019642291329453596981049853186656094213106690596532491027842006547390696900667560276464779330020096671687564614185891472257416407196907075316261241636420573809560757814277381641543065440411595060755220533320505958949489573277041100890788073073622856812129806005600341798498626084537058182759354517195957178933973134032387152789883109080968224357260081338496749369568351727267494751283848622120714310753235552149259381860078339020169070032557581704611096625168841298006485141882203984193573703782909670484939989179726492886147882623599139799846847896970167592440073345831451136826087130335104306661422036195169387924874134107387164492622992591221151174879866276579411983247969134884506881817226850662393033380438324062370770991919280294386143093796319072676575963894603991338322854313687466761779461644184775744236899989152943464635302639172166978286415636728838232459272661736327052862356359238498323029666717428589895984051845955734625346645396911911403320923215473926157438732861518773799070442408215953869460173858043431899950331282184360409193270030716936207170646691334967446889258098424572086772073405716125546205791057786406087076456390864325214101881404897209297906660141495756540699176991292154047841985259901661198738037386215973220307782043322255023219524470671006059190767119433667534480249721913195323934827020185583129700464129214306948615009716126946314270190495957489887698697526638924561320677928248040467157822563464718372185602424771922754346537807304119019422363956811313530433850354194703191234890982568623625859487047969637114444520642598377948488737350221559065547632487226639399349018904839300793820942277334300231185598394558448023373610675687649261386198403419499692454903678172027871317368602733011714557120092189589873800963925435851451653591060197941409692035349153782916029203554155538271696708020158118337715880902317442446312002421579385575928859257641251432249765009720142101659319953180052057602099920776244393517562594446480513978990699349422904215115347245131212678906195998533762803948836816474196684279137474657705797121624463429436932311799534828385359394690394503214277685027236276880131786792415320920771766482446815861660647867321564507542105468594770507009595262070482065644225739684945428283304361572030292503240469269843 37084630267201189573668691198148573044230714914028258887861739737372566353822253619555592681003934465099248761497129998369396259249019368259194960455066257414762670724199255646315977313215429175509499212589104460546788210787643753268652153820804562380463489044715445897604158179729142244739251577762079839379122494670503044641868294353648957895307013754503958926163129414396931638598642115898273306610917306327237198448907647759011566008036753001360140684036371195667926458152190021809113782632881179308477996716465473120397861468194652360428206808568588987055339364690593183401009688490266497080369916437815465769902647343815900828921368959017003104186537547328845373162773660087060317110729369422700681409730497673691292466819269307961347538084740039741680514163069568106051200692447976246180083753252345279754602379968112411324675148766786320048675711950105537073102602473259508727547244473400587979024201975716207066350028727786072351879810192247845772415730402345376527162019933610193641179225555555475383267073938192588652118831205814648772920917770966757567581389460386147561712837382754111282088098773174001046293648941734063484996520976007707544666810497822875302165936013128431774591944836032014928133805764788224493419055606675185549002326234195240678898892364267614366276550674365016026485642908096474877544672537018142494314621293265584580623805095777878389564961332463898008248079182550471113110907595036314808130420763858940087399494441678188943456707020237133230254321990631216355471749826021626252495187233949315717061565890032293460379488371982272649827603544343959561381494392521975955135407063736354443982073739169912477378612798439410587569155125430533488109162897162386388022674989558440859506549511539661257272166843224086705589759550917176153198783092021600707598233892942022785625209566840696136050980130982537703518095625625611503624211132674182120753568256095130642472273707251117776624321874930716331231070860876470478221536951597135397121493506303644581084759420656122483224365089344652040264531194788053918499252310379010780475222629256881085691673072618418955700783093032312519561716286201862580734937014378860281211580754355416184664476495383433139473549531008455267478506333275022630598656375016888825179661512630331327413426578897173259006503557630756256725043664541285972852339990549235497064848974877373035212096334977476868141487345275259604440941903654513125829517665108050468954142174702642613785980422523599838797943972511014251403518683788234544940597962661816606693854531920395049587539561670743894103160306389715776298140634608347275054691848359822278207643616251883320170001522927363230561427783892610359026618442762251089611587409219167013324863267841680873187948491424695458391710569450743847187984519661583413345361650806879400337895378379669192676208568239 60004192232554619549173234760833121670824222833053303677659924179096820391125445408560906759555709114422954985292539238181867871388317574274912194319928413635712708759096573223776416584764756308613870772688206111528359940856729400197729099946407389912341221887996568731478411170987704884095984428509371617328875119642775664480418960829747250407383329255843528127083810504229060883242015859964167193194960620042001004602357639812370587032760445830540226747858823863702798865288579948035111790433440105893390287292716785650678544977867551059447849099898042584036389217877249277614116379086798988108211922985206162670570207620280680158941465630704567718372429019586261780359680735403321558747149943232261439224007879315234357907230864368716568071405245998691170087440110668996839273766070833058309889758852687078253228464505170594084029665962743498982648845982492689862985711554227733084807325811897337348592553702983701817633877349906786662633045744397105154275808741365545597194577515314804737804394396853481868408956142176782225822614115485133712910097497459643715464013059525947408560734352921703722161444604625137872380779276838370146418557171177095469540944605210039794788928604349582949471811112611426911381774899672731375236282457337578582382764558257611449890811644562000509370346993437692602449537512087813200398986224484904273776265478041328817523794248721343024867600504630876294663715911388703572383569331363367670486780002357263117066211870268084927508552975971758576899718902542619676394965299947783691228048752723114787503974105986162920553346415414172600158885728704368754651525109458183125782098398703801333240172163741999249452018514564956793360212911836620564565553761487600489904079886767738766166691007296201956449158135378134547575019452578374891236169307994821015380277215197046005149680237846755326818099564650072183767817538820935438451231318257311821217697470402079257481989834197432046814817832420604029928597499801031798899465199637602554944056971022016766687184192578876829762172393463671462628488006101584352349606505082202015366205197880506945178721042255533400221425691410261008299066507760928128367424241018259630230485593656210005606753829683664325071944089456478641089182020924284016797059794516581280083339684658202644782029311908887816126595747220630057688969100392737626443400188490645189100198128660289064415650490515748564849507503393597320321844221096959437831939244493626397813399815954074863550990142665701498117897152563071853503439460032628062503192409142330585684553881343299264702886806801956573009356304923478580246977451082543959333829323017528075329268079681320252481801057755748589956118178395824636711645679039131221398379824540087785091345714657542533835815812989203000497179164221250856783246590143649057571101335752307683642256950409961695916677838082 97088822499755809122841925958981694715054937747081562565521663916469386744947699028116499440559643579522203746789669236551264130637336942534107154774994671050475379483295828870092393897980185484123369985277310572075148151644373153466381253767211952292804710932712014629082569350716847128835236006271451456707997614313278709122287255183396208302690343010347487053246939918625992521840657975862440499805877926369238203051265287571382153040797198831900367431895195059370725323440769969844225573066321285201868284009182258771076406446062203419876055908466631571091728582567842461015126067577065485188581839423021628440472854964096580987862834589721570822558966566915107153522454395490381875857879312654962120633738376988925650374050133676677915609489986038432850601603180237102890474458518809304489973512105032358007830844473283005408704814729529819031324557932598226936088314027487241812354570285297925327616755678699908883983906077692859014512855936644950926691539143710922124356597448924998378983619952408957251676030080369370877941445321299782485831015268426401283045402519912094970273571735675815004249543377799138918674428218572433631415078147184803014207755103032915096954864617478014724063755948643441839515580664460955868655338064012764131385090792452852128789704008829614875646897667802708628935180420184288077943658761503046768090886771306913398147599344499221414432561837094774302911795093939174685494476926399682478617200766216203204465706311946273870965259996208891807154040893173836031866715125969409943723235986672430504565539996018456380932834787396445249986489273048328316033019501980159080917505462440155777222245902911911726830631313004367380929368037267154052674716658649986877926754876326179625673240518835863213721324978602221253164779003495551044434952400016421722978511108139068790774889804687451462869079695632609887285913164446546942075442450931493941971265726497209899954263541448549823439139707351320361159668360677502277121002151234737952065550477325661347771943613234999312986537482808323502893019200889638270848858815461212795841427827137388030870394114873952355922208784442573527860782793962790709102361255397119911442066348011626190271230325067097464545493620464933908567688354199306647395716169533470105263001197288533972195455890806061075133099304851386314414012764934023599295740179039880686165047103537662099627746825493225432990994848668856924762786124751472563661456909601676866767541990656717477336970565189301336915841125074086104906958143820862607443790371804147192378408413263694314290426368472700467112516611313194356545118085690891234388521171377350353536911695933203572651802580683111820517545962288434995738264121801382311009967233759254798416208982499223407023764304413898458888889733671994703971231109805232470916462986559187083980152328789630888592886406321 157093014732310428672015160719814816385879160580134866243181588095566207136073144436677406200115352693945158732082208474733132002025654516809019349094923084686188088242392402093868810482744941792737240757965516683603508092501102553664110353713619342205145932820708583360560980521704552012931220434780823074036872733956054373602706216013143458710073672266191015180330750422855053405082673835826607693000838546411239207653622927383752740073557644662440594179754018923073524188729349917879337363499761391095258571301899044421754951423929754479323905008364674155128117800445091738629242446663864473296793762408227791111043062584377261146804300220426138540931395586501368933882135130893703434605029255887223559857746256304160008281280998045394483680895232037124020689043290906099729748224589642362799863270957719436261059308978453599492734480692273318013973403915090916799074025581714974897161896097195262676209309381683610701617783427599645677145901681042056080967347885076467721551174964239803116788014349262439120084986222546153103764059436784916198741112765886044998509415579438042378834306088597518726410987982424276791055207495410803777833635318361898483748699708242954891743793221827597673535567061254868750897355564133687243891620521350342713767855350710463578680515653391615385017244661240401231384717932272101278342644985987951041867152249348242215671393593220564439300162341725650597575511005327878257878046257763050149103980768573466321531918182214358798473812972180650384053759795716455708261680425917193634951284739395545292069514102004619301486181202810617850145375001752697070684544611438342206699603861143957110462418066653910976282649827569324174289580949103774617240270420137587367830834763093918391839931526132065170170483113980355800739798456073925935671121708011242738358788323336114795924570042534206789687179260282682071053730703267482380526673769188805763188963196899289157436253375645981870253957539771924391088265860478534076020467350872340507009607448347678114459127805813876142748709876271994965521507206991222623198465320543414811207633025017894976049115157129485756143634475852834536159849301723718837469785496415379541672551941667836195877984154750761789617437709921412549656870375123590664192775964050051385346340881946736616977485202714948891259695052072016372102981865326761225739140367530525875265245232197951164043397316008973997840502352062454245084630345848432001493396154095303264580941806610792340887960707855002835033738277637157958410397603853490669946982780946477778062962294606993578993313175274657040121872916236672936792095536773435193722350494394878428866179775614523825133603638438860410473664140684259632449909800840513532408347058299342583507554697156765940859580117403101459386068897893245560754477699948881528487564322311494767622409279199592584509564244403 254181837232066237794857086678796511100934098327216428808703252012035593881020843464793905640674996273467362478871877711284396132662991459343126503869917755736663467725688230963961204380725127276860610743242827255678656244145475707130491607480831294497950643753420597989643549872421399141766456441052274530744870348269333082724993471196539667012764015276538502233577690341481045926923331811689048192806716472780477410704888214955134893114354843494340961611649213982444249512170119887723562936566082676297126855311081303192831357869991957899199960916831305726219846383012934199644368514240929958485375601831249419551515917548473842134667134810147709363490362153416476087404589526384085310462908568542185680491484633293085658655331131722072399290385218075556871290646471143202620222683108451667289836783062751794268890153451736604901439295421803137045297961847689143735162339609202216709516466382493188003826065060383519585601689505292504691658757617687007007658887028787389845907772413164801495771634301671396371761016302915523981705504758084698684572128034312446281554818099350137349107877824273333730660531360223415709729635713983237409248713465546701497956454811275869988698657839305612397599323009898310590412936228594643112546958585363106845152946143163315707470219662221230260664142329043109860319898352456389356286303747490997809958039020655155613818992937719785853732724178820424900487306099267052943372523184162732627721181534789669525997624494160632669439072968389542191207800688890291740128395551886603578674520726067975796635054098023075682419015990207063100131864274801025386717564113418501287617109323584112887684663969565822703113281140573691555218948986370928669914987078787574245757589639420098017513172044967928383891808092582577053904577459569476980106074108027664461337299431475183586699459847221658252556258955915291958339643867714029322602116220120299705160228923396499057390516917094531693693097247123244752247934221156036353141469502107078459075157925673339462231071419048875455735247359080318468414526407880860894047324136004627607049060852155283006919509272003438112065843260295408064020632095686509546572146751812499453114618289679462386149214479817859254162931330386346458224558729322897311588492133583521490609342079235270589172941093521009966392794356923402686516994630260784825034880546570406561430292335735613263671144141502199430831497200731311169847416470599904565154853063696980131348483797267509818224931273044304171949579402711244063317355747674353277390773152750624970441370707870687893283739543747357507234389527549867293337213622464326428110871665772228782403091471547727397785406219121972230991210102972694628188173922641895843418314292058597381923763679655989347883344421816999918274958631565240264725708809754113999404027308870681851602561607989223473102450650724 411274851964376666466872247398611327486813258907351295051884840107601801017093987901471311840790348967412521210954086186017528134688645976152145852964840840422851555968080633057830014863470069069597851501208343939282164336646578260794601961194450636703096576574129181350204530394125951154697676875833097604781743082225387456327699687209683125722837687542729517413908440764336099332006005647515655885807555019191716618358511142338887633187912488156781555791403232905517773700899469805602900300065844067392385426612980347614586309293921712378523865925195979881347964183458025938273610960904794431782169364239477210662558980132851103281471435030573847904421757739917845021286724657277788745067937824429409240349230889597245666936612129767466882971280450112680891979689762049302349970907698094030089700054020471230529949462430190204394173776114076455059271365762780060534236365190917191606678362479688450680035374442067130287219472932892150368804659298729063088626234913863857567458947377404604612559648650933835491846002525461677085469564194869614883313240800198491280064233678788179727942183912870852457071519342647692500784843209394041187082348783908599981705154519518824880442451061133210071134890071153179341310291792728330356438579106713449558920801493873779286150735315612845645681386990283511091704616284728490634628948733478948851825191270003397829490386530940350293032886520546075498062817104594931201250569441925782776825162303363135847529542676374991467912885940570192575261560484606747448390075977803797213625805465463521088704568200027694983905197193017680950277239276553722457402108724856843494316713184728069998147082036219733679395930968143015729508529935474703287155257498925161613588424402514016409353103571099993554062291206562932854644375915643402915777195816038907199696087754811298382624029889755865042243438216197974029393374570981511703128789989309105468349192120295788214826770292740513563947054786895169143336200081634570429161936852979418966084765374021017576690199224862751598483957235352313433936033614872083517245789456548042418256693877173177982968624429132923868209477736148242600180481397410228384041932248227878994787170231347298582027198634568621043780369040307759007881429104446487975781268097633572875955682961182007206150426296235958857652489408995419058619976495587546050774020914100932436695537567933564427714541457511173428671999552793765414932046816448336566648249217792283395929425603878302159112891980899307006983317680348402021727753351527843947337755933697102748504333002477681472277052719022014547356262443786540230129309159237761621833222160167107211269271247162251222919009857560832641464874243656954260638083723482409375826661350357939965431318376812755288742924539220101377661027529458485825480186509702995527891591631182176619224970887188816057612014895127 665456689196442904261729334077407838587747357234567723860588092119637394898114831366265217481465345240879883689825963897301924267351637435495272356834758596159515023693768864021791219244195196346458462244451171194960820580792053967925093568675281931201047220327549779339848080266547350296464133316885372135526613430494720539052693158406222792735601702819268019647486131105817145258929337459204704078614271491972194029063399357294022526302267331651122517403052446887962023213069589693326463236631926743689512281924061650807417667163913670277723826842027285607567810566470960137917979475145724390267544966070726630214074897681324945416138569840721557267912119893334321108691314183661874055530846392971594920840715522890331325591943261489539282261665668188237763270336233192504970193590806545697379536837083223024798839615881926809295613071535879592104569327610469204269398704800119408316194828862181638683861439502450649872821162438184655060463416916416070096285121942651247413366719790569406108331282952605231863607018828377201067175068952954313567885368834510937561619051778138317077050061737144186187732050702871108210514478923377278596331062249455301479661609330794694869141108900438822468734213081051489931723228021322973468985537692076556404073747637037094993620954977834075906345529319326620952024514637184879990915252480969946661783230290658553443309379468660136146765610699366500398550123203861984144623092626088515404546343838152805373527167170535624137351958908959734766469361173497039188518471529690400792300326191531496885339622298050770666324213183224744050409103551354747844119672838275344781933822508312182885831746005785556382509212108716707284727478921845631957070244577712735859346014041934114426866275616067921937954099299145509908548953375212879895883269924066571661033387186286481969323489736977523294799697172113265987733018438695541025730906209429405173509421043692287272217287209835045257640152034018413895584134302790606782303406355086497425159923299694357038921270643911627054219204594432631902350560022752944411293113592552670025305754729328460989888133701136361980275320996443650664201113493096737930614079000040378447901788521026760968176413114386480297943300370694105466105987833769385287369760231217094366565025040417277795323367389756968824045283765918821745136971125848330875808901460671338998125829903669177691385685599013372859503496753525076584779463287048241131803102281489263527277909401145811977337823253943611178932897083059646085045109099202197224728529086447727718945703710348369365560792262769372054590651971336407523466522781702088049944093825939335993672362718709978620704416076682804872456084346629648888826257646124305219244975642416537347355082056468744636626268961037101295935986161023726090205895319457109527295618940052858470827532495178039530714465545851 1076731541160819570728601581476019166074560616141919018912472932227239195915208819267736529322255694208292404900780050083319452402040283411647418209799599436582366579661849497079621234107665265416056313745659515134242984917438632228719695529869732567904143796901678960690052610660673301451161810192718469740308356512720107995380392845615905918458439390361997537061394571870153244590935343106720359964421826511163910647421910499632910159490179819807904073194455679793479796913969059498929363536697770811081897708537041998422003976457835382656247692767223265488915774749928986076191590436050518822049714330310203840876633877814176048697610004871295405172333877633252166129978038840939662800598784217401004161189946412487576992528555391257006165232946118300918655250025995241807320164498504639727469236891103694255328789078312117013689786847649956047163840693373249264803635069991036599922873191341870089363896813944517780160040635371076805429268076215145133184911356856515104980825667167974010720890931603539067355453021353838878152644633147823928451198609634709428841683285456926496804992245650015038644803570045518800711299322132771319783413411033363901461366763850313519749583559961572032539869103152204669273033519814051303825424116798790005962994549130910874279771690293446921552026916309610132043729130921913370625544201214448895513608421560661951272799765999600486439798497219912575896612940308456915345873662068014298181371506141515941221056709846910615605264844849529927341730921658103786636908547507494198005926131656995017974044190498078465650229410376242425000686342827908470301521781563132188276250535693040252883978828042005290061905143076859723014236008857320335244225502076637897472934438444448130836219379187167915492016390505708442763193329290856282811660465740105478860729474941097780351947519626733388337043135388311240017126393009677052728859696198738510641858613163988075487044057502575558821587206820913583038920334384425177211465343208065916391244688673715374615611469868774378652703161829784945336286593637625027928538903049100712443562448606501638972856758130269285848484798732591893264381594890506966314656011248268257442688958752374059550203611748955101341723669411001864473987416938215873263151028328850667242520708001599285001473793685992927681697773174914240803756947621435876926582922374772271434821367471602742119100227056524546288175496306318841999711510103496577698451351499281546923207335005024114136450715234842918185916214763408048106772862450730041172066285020144830467450036712826050837837844981791386601946914415122947753595831940939849671777315986106443204941633965872229843623425934243637513920958590286603149464341369606714595071636992774477312786400433281499925369193500257202673597013690482211915686081829160105055187210571235035090052503382366855588326480440978 1742188230357262474990330915553427004662307973376486742773061024346876590813323650634001746803721039449172288590606013980621376669391920847142690566634358032741881603355618361101412453351860461762514775990110686329203805498230686196644789098545014499105191017229228740029900690927220651747625943509603841875834969943214828534433086004022128711194041093181265556708880702975970389849864680565925064043036098003136104676485309856926932685792447151459026590597508126681441820127038649192255826773329697554771409990461103649229421643621749052933971519609250551096483585316399946214109569911196243212317259296380930471090708775495500994113748574712016962440245997526586487238669353024601536856129630610372599082030661935377908318120498652746545447494611786489156418520362228434312290358089311185424848773728186917280127628694194043822985399919185835639268410020983718469073033774791156008239068020204051728047758253446968430032861797809261460489731493131561203281196478799166352394192386958543416829222214556144299219060040182216079219819702100778242019083978469220366403302337235064813882042307387159224832535620748389908921813801056148598379744473282819202941028373181108214618724668862010855008603316233256159204756747835374277294409654490866562367068296767947969273392645271280997458372445628936752995753645559098250616459453695418842175391651851320504716109145468260622586564107919279076295163063512318899490496754694102813585917849979668746594583877017446239742616803758489662108200282831600825825427019037184598798226457848526514859383812796129236316553623559467169051095446379263218145641454401407533058184358201352435769810574047790846444414355185576430298963487779165967201295746654350633332280452486382245263085654803235837429970489804853952671742282666069162707543735664172050521762862127384262321271009363710911631842832560424506004859411448372593754590602408167915815368034207680362759261344712410604079227358854931996934504468687215783993768749563152413816404611973409731654532740512686005706922366424217577238637153660377972339832016641653382468868203335830099962744891831405647828760119729035543928582708383603704245270090248308635890590747273400820518380024863341581639666969781695969940093404771985258550520788560067761609085733042016562796797161075749896505743056940833062548893918747284207802391823835443610432947197375271919810485912655537919147678993059843918584490973390544818830254453780770810450485244406169926113788538488786529364849111846467694191817971549932238396794814106592558186395740423174420203398637244560758656537566386459355277062354722641937721721409812045779198613996684582208464327842010926442386377042936916252038290599015731019814316612635191014660141482489750244561995462461294303969532999851505938005891977148617214582482829511287893560880035877544895119040945986829 2818919771518082045718932497029446170736868589518405761685533956574115786728532469901738276125976733657464693491386064063940829071432204258790108776433957469324248183017467858181033687459525727178571089735770201463446790415669318425364484628414747067009334814130907700719953301587893953198787753702322311616143326455934936529813478849638034629652480483543263093770275274846123634440800023672645424007457924514300015323907220356559842845282626971266930663791963806474921617041007708691185190310027468365853307698998145647651425620079584435590219212376473816585399360066328932290301160347246762034366973626691134311967342653309677042811358579583312367612579875159838653368647391865541199656728414827773603243220608347865485310649054044003551612727557904790075073770388223676119610522587815825152318010619290611535456417772506160836675186766835791686432250714356967733876668844782192608161941211545921817411655067391486210192902433180338265918999569346706336466107835655681457375018054126517427550113146159683366574513061536054957372464335248602170470282588103929795244985622691991310687034553037174263477339190793908709633113123188919918163157884316183104402395137031421734368308228823582887548472419385460828477790267649425581119833771289656568330062845898858843553164335564727919010399361938546885039482776481011621242003654909867737689000073411982455988908911467861109026362605139191652191776003820775814836370416762117111767289356121184687815640586864356855347881648608019589449931204489704612462335566544678796804152589505521532833428003294207701966783033935709594051781789207171688447163235964539721334434893894392688653789402089796136506319498262436153313199496636486302445521248730988530805214890930830376099305033990403752921986880310562395434935611956925445519204201404277529382492337068482042673218528990444299968885967948735746021985804458049646483450298606906426457226647371668438246305402214986162900814565675845579973424803071640961205234092771218330207649300647125106270144210381460384359625528254002522574923747298003000268370919690754094912430651942331738935601649961674933677244918461627437192964303274110670559926101496576893333279706025774880068583636612296682981390639192697834414080821710201131813671816888918428851606441043615847798270954761742824187440830115747303352650866368720084728974746210215881867768564846874661929586139712062465435854489366162760584202483494041396528705805280052357373692579411194040250239253723629447550765326609875742298590834000662279568861099126737388653845777136000471041236482226352145258484480801582303030658186663581787393498725798152222403555630650454438307951267945170079900298001527202855187754940385337734409388249627965491972927882923031744487364655961551506643130013541988149921578058977777319637670040082522928650932539259911750707367426427807 4561108001875344520709263412582873175399176562894892504458594980920992377541856120535740022929697773106636982081992078044562205740824125105932799343068315502066129786373086219282446140811386188941085865725880887792650595913900004622009273726959761566114525831360136440749853992515114604946413697211926153491978296399149765064246564853660163340846521576724528650479155977822094024290664704238570488050494022517436120000392530213486775531075074122725957254389471933156363437168046357883441017083357165920624717689459249296880847263701333488524190731985724367681882945382728878504410730258443005246684232923072064783058051428805178036925107154295329330052825872686425140607316744890142736512858045438146202325251270283243393628769552696750097060222169691279231492290750452110431900880677127010577166784347477528815584046466700204659660586686021627325700660735340686202949702619573348616401009231749973545459413320838454640225764230989599726408731062478267539747304314454847809769210441085060844379335360715827665793573101718271036592284037349380412489366566573150161648287959927056124569076860424333488309874811542298618554926924245068516542902357599002307343423510212529948987032897685593742557075735618716987682547015484799858414243425780523130697131142666806812826556980836008916468771807567483638035236422040109871858463108605286579864391725263302960705018056936121731612926713058470728486939067333094714326867171456219925353207206100853434410224463881803095090498452366509251558131487321305438287762585581863395602379047354048047692811816090336938283336657495176763102877235586434906592804690365947254392619252095745124423599976137586982950733853448012583612162984415652269646816995385339164137495343417212621362390688793639590351957370115416348106677894622994608226747937068449579904255199195866304994489538354155211600728800509160252026845215906422240238040901015074342272594681579348801005566746927396766980041924530777576907929271758856745199002842334370744024053912620534837924676950894146390066547894678220099813560900958380972608202936332407477381298855278161838898346541793080581506005038190662981121547011657714374805196191744885529223870453299175700586963661475638264621057608974393804354174226482186390364192605448986190460692174085632410595068115837492720693183887056580365901544785116004292531366570045659492300715762222146581740072052367600384583533482426006679168693456884586215358960259060823167824177823817363966364027792212415976915614438456343436490408805550594517965655913233329946840241517559174891244635119470912903915022047188041658307720541386223725115220135610198001602169627335036646772279109956096522286675044464119107226045539401068754223704862263156506633069365412781989049360118422845810612663013393494087927470036126394534220152869593810822211812575137456645826408372414636 7380027773393426566428195909612319346136045152413298266144128937495108164270388590437478299055674506764101675573378142108503034812256329364722908119502272971390377969390554077463479828270911916119656955461651089256097386329569323047373758355374508633123860645491044141469807294103008558145201450914248465108121622855084701594060043703298197970499002060267791744249431252668217658731464727911215912057951947031736135324299750570046618376357701093992887918181435739631285054209054066574626207393384634286478025388457394944532272883780917924114409944362198184267282305449057810794711890605689767281051206549763199095025394082114855079736465733878641697665405747846263793975964136755683936169586460265919805568471878631108878939418606740753648672949727596069306566061138675786551511403264942835729484794966768140351040464239206365496335773452857419012132911449697653936826371464355541224562950443295895362871068388229940850418666664169937992327730631824973876213412150110529267144228495211578271929448506875511032368086163254325993964748372597982582959649154677079956893273582619047435256111413461507751787214002336207328188040047433988434706060241915185411745818647243951683355341126509176630105548155004177816160337283134225439534077197070179699027193988565665656379721316400736835479171169506030523074719198521121493100466763515154317553391798675285416693926968403982840639289318197662380678715071153870529163237588218337037120496562222038122225865050746159950438380100974528841008062691811010050750098152126542192406531636859569580526239819384544640250119691430886357154659024793606595039967926330486975727054145990137813077389378227383119457053351710448736925362481052138572092338244116327694942710234348042997461695722784043343273944250425978743541613506579920053745952138472727109286747536264348347667708067344599511569614768457895998048831020364471886721491199621980768729821328951017239251872149142382929880856490206623156881354074830497706404236935105589074231703213267659944194821161275606774426173422932222622388484648256383972876573856023161572293729507220493577833948191754755515183249956652290418314511314931825045365122293241462422557150159324950580655547298087934947602448248167091638768255048192387522177864422337904619312298615129248258393339070599235544880624717172327669254195651484724377260341316255875374168484327069021243669658192079662850019387971792169439752895940378627611887666064340875525197870403228558006614267045936045424466379765066219178788999639551256797534517012360067335494087294695175362285871601697265049173506527989623961338378728049805512508718861408350224005725257985491085080230377901266602186973045991321962413800479786406488633093111891121998605997248335813733536724774384397317255793026935482237849048095104171853857822909676333750862745114397368396533775798842443 11941135775268771087137459322195192521535221715308190770602723918416100541812244710973218321985372279870738657655370220153065240553080454470655707462570588473456507755763640296745925969082298105060742821187531977048747982243469327669383032082334270199238386476851180582219661286618123163091615148126174618600099919254234466658306608556958361311345523636992320394728587230490311683022129432149786400108445969549172255324692280783533393907432775216718845172570907672787648491377100424458067224476741800207102743077916644241413120147482251412638600676347922551949165250831786689299122620864132772527735439472835263878083445510920033116661572888173971027718231620532688934583280881645826672682444505704066007893723148914352272568188159437503745733171897287348538058351889127896983412283942069846306651579314245669166624510705906570155996360138879046337833572185038340139776074083928889840963959675045868908330481709068395490644430895159537718736461694303241415960716464565377076913438936296639116308783867591338698161659264972597030557032409947362995449015721250230118541561542546103559825188273885841240097088813878505946742966971679056951248962599514187719089242157456481632342374024194770372662623890622894803842884298619025297948320622850702829724325131232472469206278297236745751947942977073514161109955620561231364958929872120440897417783523938588377398945025340104572252216031256133109165654138486965243490104759674556962473703768322891556636089514627963045528878553341038092566194179132315489037860737708405588008910684213617628219051635474881578533456348926063120257536260380041501632772616696434230119673398085882937500989354364970102407787205158461320537525465467790841739155239501666859080205577765255618824086411577682933625901620541395091648291401202914661972700075541176689191002735460214652662197605698754723170343568967056250075676236270894126959532100637055111002416010530366040257438896069779696860898414737400733789283346589354451603239777439959818255757125888194782119498112169753164492721317610442722202045549214764945484776792355569049675028362498655416732294733547836096689254994842953399436058326589539420170318484986347951781020612624126281242510959563573212223505857141485443122429274674573912542057027786890809772990789214880668988407186436728265573808604228908035155740436600728669791707886301534866469200089291167825409730244447263234602921454218176118921589397263213827246626323401698693022048227045921972978294838148461401381994203522562615279408445101851315500172925593397282334328812254350253530506721168177953088528575177665619646099269436029237623938997018548225607894885320527731852509487857363124473648090455441069639846019187475242856797974154278505239066613748595722586084892807243127868456040328976325776518131230566388077975779270144573074557689534825042360184171257079 19321163548662197653565655231807511867671266867721489036746852855911208706082633301410696621041046786634840333228748362261568275365336783835378615582072861444846885725154194374209405797353210021180399776649183066304845368573038650716756790437708778832362247122342224723689468580721131721236816599040423083708221542109319168252366652260256559281844525697260112138978018483158529341753594160061002312166397916580908390648992031353580012283790476310711733090752343412418933545586154491032693431870126434493580768466374039185945393031263169336753010620710120736216447556280844500093834511469822539808786646022598462973108839593034888196398038622052612725383637368378952728559245018401510608852030965969985813462195027545461151507606766178257394406121624883417844624413027803683534923687207012682036136374281013809517664974945112935652332133591736465349966483634735994076602445548284431065526910118341764271201550097298336341063097559329475711064192326128215292174128614675906344057667431508217388238232374466849730529745428226923024521780782545345578408664875927310075434835125165150995081299687347348991884302816214713274931007019113045385955022841429373130835060804700433315697715150703947002768172045627072620003221581753250737482397819920882528751519119798138125585999613637482587427114146579544684184674819082352858059396635635595214971175322613873794092871993744087412891505349453795489844369209640835772653342347892893999594200330544929678861954565374122995967258654315566933574256870943325539787958889834947780415442321073187208745291454859426218783576040356949477412195285173648096672740543026921205846727544076020750578378732592353221864840556868910057462887946519929413831493483617994554022915812113298616285782134361726276899845870967373835189904907782834715718652214013903798477750271724563000329905673043354234739958337424952248124507256635366013681023300259035879732237339481383279509311045212162626741754904944023890670637421419852158007476712545548892487460339155854726314319273445359938918894740542665344590530197471148918361350648378730621968757869719148994566242925302591611872504951495243817750569641521364465535440778227810374338170771949076861898058257651508159825954105308577081890684322866961434719921450124795429085289404344128927381746257035963810454433321401235704409936088085453047052049202557410240637684416360189069079388436526926084622309426010345558674485337641841439134292387742574218219918630274479979592561884084506825848373968588781794068408084653108113034689937953464617828416106949525615816378322865443002262035103167289580984477997485834750132657858426898449613620143306018816932739865758629726660621136446763032053646498973881731489891086045400503845063862084409456122809667191640445124249067264458563625566226334738241935798688946478323937302803932193438893959970099522 31262299323930968740703114554002704389206488583029679807349576774327309247894878012383914943026419066505578990884118582414633515918417238306034323044643449918303393480917834670955331766435508126241142597836715043353593350816507978386139822520043049031600633599193405305909129867339254884328431747166597702308321461363553634910673260817214920593190049334252432533706605713648841024775723592210788712274843886130080645973684312137113406191223251527430578263323251085206582036963254915490760656346868234700683511544290683427358513178745420749391611297058043288165612807112631189392957132333955312336522085495433726851192285103954921313059611510226583753101868988911641663142525900047337281534475471674051821355918176459813424075794925615761140139293522170766382682764916931580518335971149082528342787953595259478684289485651019505808328493730615511687800055819774334216378519632213320906490869793387633179532031806366731831707528454489013429800654020431456708134845079241283420971106367804856504547016242058188428691404693199520055078813192492708573857680597177540193976396667711254554906487961233190231981391630093219221673973990792102337203985440943560849924302962156914948040089174898717375430795936249967423846105880372276035430718442771585358475844251030610594792277910874228339375057123653058845294630439643584223018326507756036112388958846552462171491817019084191985143721380709928599010023348127801016143447107567450962067904098867821235498044080002086041496137207656605026140451050075641028825819627543353368424353005286804836964343090334307797317032389283012597669731545553689598305513159723355435966400942161903688079368086957323324272627762027371378000413411987720255570648723119661413103121389878554235109868545939409210525747491508768926838196308985749377691352289555080487668753007184777652992103278742108957910301906392008498200183492906260140640555400896090990734653350011749319766749941281942323602653319681424624459920768009206609610716489985508710743217465044049508433817385615113103411616058153108066792575746685913863846127440734299671643786232217804411298537658850427708561759946338197217186627968110903885705759263214158326119191384573203143140569217215081372049459962450062525013113597541535347261978477911686238858280193559009596370153443472692076028241925630143739565676524686181716843757088858945107106884505651356894489118680974189319225230880228521677596074734905055266380918711144272911241966857320401952570856722232968227230368172111344409347816529754959428534862863546861900162744919203875869346885044033620955350563678344955200630577266921863987756596855445446675221515028626546548785249353615992851134269226902204101693492518161356974346689060199679009084130475833005178708894559998883572992705107593434889402084357565304630013774468216622897011860493467018481254144141356601 50583462872593166394268769785810216256877755450751168844096429630238517953977511313794611564067465853140419324112866944676201791283754022141412938626716311363150279206072029045164737563788718147421542374485898109658438719389546629102896612957751827863962880721535630029598598448060386605565248346207020786016543003472872803163039913077471479875034575031512544672684624196807370366529317752271791024441241802710989036622676343490693418475013727838142311354075594497625515582549409406523454088216994669194264280010664722613303906210008590086144621917768164024382060363393475689486791643803777852145308731518032189824301124696989809509457650132279196478485506357290594391701770918448847890386506437644037634818113204005274575583401691794018534545415147054184227307177944735264053259658356095210378924327876273288201954460596132441460660627322351977037766539454510328292980965180497751972017779911729397450733581903665068172770626013818489140864846346559672000308973693917189765028773799313073892785248616525038159221150121426443079600593975038054152266345473104850269411231792876405549987787648580539223865694446307932496604981009905147723159008282372933980759363766857348263737804325602664378198967981877040043849327462125526772913116262692467887227363370828748720378277524511710926802171270232603529479305258725937081077723143391631327360134169166335965584689012828279398035226730163724088854392557768636788796789455460344961662104429412750914359998645376209037463395861972171959714707921018966568613778517378301148839795326359992045709634545193734016100608429639962075081926830727337694978253702750276641813128486237924438657746819549676546137468318896281435463301358507649669402142206737655967126037201991852851395650680301135487425593362476142762028101216768584093410004503568984286146503278909340653322008951785463192650260243816960746324690749541626154321578701155126870466890689493132599276060986494104950344408224625448515130558189429058767618193202531057603230677804199904234748136659060473042330510798695773411383105944157062782207478089113030293612544101936953405864780584153019320434264897833441034937197609632268351241200041441968700457362156522280005038627474866589531875414067758639606903797920408496781981899928036481667943569597903138523751899700508655886482675247031379443975612612771634763895806291416355347744568922011545963568507117501115403847540306238867236270560072546896705515211098886847129461885487594881932163418606317475053078742140700126203416224614408067541569552801500326517991161026153401485163263366899063957612598781512244781615055264407698737889254713872345124835135171932565365717989219374622577794890363348967133747139017135238705836580146245079512929194337917414634831704227190524018116954174857893453027650583900042871949573157163101220949163297399211920148104111456123 81845762196524135134971884339812920646084244033780848651446006404565827201872389326178526507093884919645998314996985527090835307202171260447447261671359761281453672686989863716120069330224226273662684972322613153012032070206054607489036435477794876895563514320729035335507728315399641489893680093373618488324864464836426438073713173894686400468224624365764977206391229910456211391305041344482579736716085688841069682596360655627806824666236979365572889617398845582832097619512664322014214744563862903894947791554955406040662419388754010835536233214826207312547673170506106878879748776137733164481830817013465916675493409800944730822517261642505780231587375346202236054844296818496185171920981909318089456174031380465087999659196617409779674684708669224950609989942861666844571595629505177738721712281471532766886243946247151947268989121052967488725566595274284662509359484812711072878508649705117030630265613710031800004478154468307502570665500366991128708443818773158473185999880167117930397332264858583226587912554814625963134679407167530762726124026070282390463387628460587660104894275609813729455847086076401151718278955000697250060362993723316494830683666729014263211777893500501381753629763918127007467695433342497802808343834705464053245703207621859359315170555435385939266177228393885662374773935698369521304096049651147667439749093015718798137076506031912471383178948110873652687864415905896437804940236563027795923730008528280572149858042725378295078959533069628776985855158971094607597439598144921654517264148331646796882673977635528041813417640818922974672751658376281027293283766862473632077779529428399828126737114906506999870410096080923652813463714770495369924972790929857317380229158591870407086505519226240544697951340853984911688866297525754333471101356793124064773815256286094118306314112230527572150560562150208969244524874242447886294962134102051217861201544039504881919042810927776047273947061544306873139590478957438265377228909692516566313973895269243953743181954044675586145742126856848881478175681690842976646053605529847329965256330334154757817163318243003447028996024844171638252123825577743172236946959304656127026576553541095483148179196692081670903924874030208702131916911517950032129243878405948167906801849791462148120122053143981347962510917172661523183541289137457816480739563380275300454851453427662902858057625798475304723072771186467388913866634807451951971896129810031120040703852344915283884734275328550443280309110312811470612764041144163026970104415665047188418153905945357277354510148410932684912963162459857199982245632531329562725645851569317791800056650200559111914503238572990615428929159590251171235440631535296595680183269206444758522013324813750419813540598787189407591109659282451328342429734941465347501963347625379724117961023790866230401402248252812724 132429225069117301529240654125623136902961999484532017495542436034804345155849900639973138071161350772786417639109852471767037098485925282588860200298076072644603951893061892761284806894012944421084227346808511262670470789595601236591933048435546704759526395042264665365106326763460028095458928439580639274341407468309299241236753086972157880343259199397277521879075854107263581757834359096754370761157327491552058719219036999118500243141250707203715200971474440080457613202062073728537668832780857573089212071565620128653966325598762600921680855132594371336929733533899582568366540419941511016627139548531498106499794534497934540331974911774784976710072881703492830446546067736945033062307488346962127090992144584470362575242598309203798209230123816279134837297120806402108624855287861272949100636609347806055088198406843284388729649748375319465763333134728794990802340449993208824850526429616846428080999195613696868177248780482125991711530346713550800708752792467075662951028653966431004290117513475108264747133704936052406214280001142568816878390371543387240732798860253464065654882063258394268679712780522709084214883936010602397783522002005689428811443030495871611475515697826104046131828731900004047511544760804623329581256950968156521132930570992688108035548832959897650192979399664118265904253240957095458385173772794539298767109227184885134102661195044740750781214174841037376776718808463665074593737026018488140885392112957693323064218041370754504116422928931600948945569866892113574166053376662299955666103943658006788928383612180721775829518249248562936747833585207008364988262020565223908719592657914637752565394861726056676416547564399819934248927016129003019594374933136594973347355195793862259937901169906541680185376934216461054450894398742522917564511361296693049059961759565003458959636121182313035343210822394025929990849564991989512449283712803206344731668434728998014518318871914270152224291469768932321654721037146867324144847102895047623917204573073443857977930090703736059188072637655544654889558787635000039428261083618960360258868874436091711223028098827156466349430289742005079287061023187375440588188159346098095727033915697617763153217824166948260435800288097967341738820709438358528911225778333984649574745419389365286643873952844490003848993592419692902627516901750229451244635369671691655802596022349674448821626132915976420126920311492706256150137194879998848677411340908917967170165737832510165816897693934867918333387852453511596816180265758571094511673968466547514936145066971510678839673411777831748870575761241369444763860687795737261463535106283190136924891785372491677280221227792365238006724049953600138369187770552431834386019849352689838034942519151667834448372303014379931609226613457309221795457385525365390373912920782542825338910187088265442321550352364268847 214274987265641436664212538465436057549046243518312866146988442439370172357722289966151664578255235692432415954106837998857872405688096543036307461969435833926057624580051756477404876224237170694746912319131124415682502859801655844080969483913341581655089909362993700700614055078859669585352608532954257762666271933145725679310466260866844280811483823763042499085467084017719793149139400441236950497873413180393128401815397654746307067807487686569288090588873285663289710821574738050551883577344720476984159863120575534694628744987516611757217088347420578649477406704405689447246289196079244181108970365544964023175287944298879271154492173417290756941660257049695066501390364555441218234228470256280216547166175964935450574901794926613577883914832485504085447287063668068953196450917366450687822348890819338821974442353090436335998638869428286954488899730003079653311699934805919897729035079321963458711264809323728668181726934950433494282195847080541929417196611240234136137028534133548934687449778333691491335046259750678369348959408310099579604514397613669631196186488714051725759776338868207998135559866599110235933162891011299647843884995729005923642126697224885874687293591326605427885458495818131054979240194147121132389600785673620574378633778614547467350719388395283589459156628058003928279027176655464979689269822445686966206858320200603932239737701076653222164393122951911029464583224369561512398677262581515936809122121485973895214076084096132799195382462001229725931425025863208181763492974807221610183368091989653585811057589816249817642935890067485911420585243583289392281545787427697540797372187343037580692131976632563676286957660480743587062390730899498389519347724066452290727584354385732667024406689132782224883328275070445966139760696268277251035612718089817113833777015851097577265950233412840607493771384544234899235374439234437398744245846905257562592869978768502896437361682842046199498238531313239194794311516104305589522076012587564190231178468342687811721112044748411645333814764512393536367734469325843016074314689148807690224125204770246469040191417070159913378426314586176717539184848765118612825135118650754222753610469238713246301397020859029931339725162128176043870737620956308561040469656739932817481547269180827434763996005988471351811504509592354425811058190887687267725374933051966956257447475777337351679683758714451724849993082679173645064003829687450800649307470718949087210869590177425449701631969263418361613696962766323067428944306902734121481778384131594703354298972916867956194183560188764433783538923701226644746106320327066824189180957852507928724948435573050789194724466365355853435653209543851309604628402087728430066203118559134596556955843965418254261912901801569339200336272739760550137887120466830737875876268407922549456871210879131672722952600617081571 346704212334758738193453192591059194452008243002844883642530878474174517513572190606124802649416586465218833593216690470624909504174021825625167662267511906570661576473113649238689683118250115115831139665939635678352973649397257080672902532348888286414616304405258366065720381842319697680811536972534897037007679401455024920547219347839002161154743023160320020964542938124983374906973759537991321259030740671945187121034434653864807310948738393773003291560347725743747324023636811779089552410125578050073371934686195663348595070586279212678897943480014949986407140238305272015612829616020755197736109914076462129675082478796813811486467085192075733651733138753187896947936432292386251296535958603242343638158320549405813150144393235817376093144956301783220284584184474471061821306205227723636922985500167144877062640759933720724728288617803606420252232864731874644114040384799128722579561508938809886792264004937425536358975715432559485993726193794092730125949403707309799088057188099979938977567291808799756082179964686730775563239409452668396482904769157056871928985348967515791414658402126602266815272647121819320148046827021902045627406997734695352453569727720757486162809289152709474017287227718135102490784954951744461970857736641777095511564349607235575386268221355181239652136027722122194183280417612560438074443595240226264973967547385489066342398896121393972945607297792948406241302032833226586992414288600004077694514234443667218278294125466887303311805390932830674876994892755321755929546351469521565849472035647660374739441201996971593472454139316048848168418828790297757269807807992921449516964845257675333257526838358620352703505224880563521311317747028501409113722657203047264074939550179594926962307859039323905068705209286907020590655095010800168600124079386510162893738775416101036225586354595153642836982206938260829226224004226426911193529559708463907324538413497500910955680554756316351722530001082171516449032553251172913666923115482611814148383041416131669699042135452147704521887402167938191257293256960843055502575772767768050482994079206338180263219515897316379727856604328181796826245871952494053413323277996852318480644384936331009454614845025978191775525450226143385609558330394667089951695435073917467056292688570192721407869958832961355660498102012047328438575092637916718970010302723658612060043498127011800501309891630428144976913394171879901214141024567449649326718811627867054381035328009935615518529663198286279947084815219834664245124572661305215993452352598142218290444039888378635033856971966596182654114684942596089509967008122804085652716064135698065649840220945542466474945694157721091442377259497451447973816172640160264452222967911824434591898363117086088710285204815949270809562886197069771933344505992196128249789189190465374795781397967397115044502952981350418 560979199600400174857665731056495252001054486521157749789519320913544689871294480572276467227671822157651249547323528469482781909862118368661475124236947740496719201053165405716094559342487285810578051985070760094035476509198912924753872016262229868069706213768252066766334436921179367266164145505489154799673951334600750599857685608705846441966226846923362520050010022142703168056113159979228271756904153852338315522849832308611114378756226080342291382149221011407037034845211549829641435987470298527057531797806771198043223815573795824436115031827435528635884546942710961462859118812099999378845080279621426152850370423095693082640959258609366490593393395802882963449326796847827469530764428859522560185324496514341263725046188162430953977059788787287305731871248142540015017757122594174324745334390986483699037083113024157060726927487231893374741132594734954297425740319605048620308596588260773345503528814261154204540702650382992980275922040874634659543146014947543935225085722233528873665017070142491247417226224437409144912198817762767976087419166770726503125171837681567517174434740994810264950832513720929556081209718033201693471291993463701276095696424945643360850102880479314901902745723536266157470025149098865594360458522315397669890198128221783042736987609750464829111292655780126122462307594268025417763713417685913231180825867586092998582136597198047195110000420744859435705885257202788099391091551181520014503636355929641113492370209563020102507187852934060400808419918618529937693039326276743176032840127637313960550498791813221411115390029383534759589004072373587149551353595420618990314337032600712913949658814991184028990462885361307108373708477927999798633070381269499554802523904565327593986714548172106129952033484357352986730415791279077419635736797476327276727515791267198613491536588007994250330753591482495728461598443460864309937775406613721469917408392266003807393042237598362551220768532395410711243344069355478503188999128070176004379561509758819481420154180200559349855702166680331727625027726286686071576890461916575740707119283976584649303410932967476293106282918914358514365430720717612666238458396647606541234254854175044255756011865885008123115250612354319429480295951350975650992165091813850284537839957751020156171865964821432707472002611604401754249633283525603986695385235775625568317490973904349152180993650344879869826906476851053546278144854254900449976026282346816141591904918187361065220161632461704641560781777986157731674068879564039337475230736729736921644743012805246591228040532155360616437653608643822734256073328449870909841897021988205994374788656518593255669670160523076944878030469041302757578444574727888694518426086470959031148854207082504342972198106617518610009899158936830322071231626459026866125665457598387924252652608846528787767455553598431989 907683411935158913051118923647554446453062729524002633432050199387719207384866671178401269877088408622870083140540218940107691414036140194286642786504459647067380777526279054954784242460737400926409191651010395772388450158596170005426774548611118154484322518173510432832054818763499064946975682478024051836681630736055775520404904956544848603120969870083682541014552960267686542963086919517219593015934894524283502643884266962475921689704964474115294673709568737150784358868848361608730988397595876577130903732492966861391818886160075037115012975307450478622291687181016233478471948428120754576581190193697888282525452901892506894127426343801442224245126534556070860397263229140213720827300387462764903823482817063747076875190581398248330070204745089070526016455432617011076839063327821897961668319891153628576099723872957877785455216105035499794993365459466828941539780704404177342888158097199583232295792819198579740899678365815552466269648234668727389669095418654853734313142910333508812642584361951291003499406189124139920475438227215436372570323935927783375054157186649083308589093143121412531766105160842748876229256545055103739098698991198396628549266152666400847012912169632024375920032951254401259960810104050610056331316258957174765401762477829018618123255831105646068763428683502248316645588011880585855838157012926139496154793414971582064924535493319441168055607718537807841947187290036014686383505839781524092198150590373308331770664335029907405818993243866891075685414811373851693622585677746264741882312163284974335289939993810193004587844168699583607757422901163884906821161403413540439831301877858388247207185653349804381693968110241870629685026224956501207746793038472546818877463454744922520949022407211430035020738693644260007321070886289877588235860876862837439621254566683299649717122942603147893167735798420756557687822447687291221131304966322185377241946805763504718348722792354678902943298533477582227692376622606651416855922243552787818527944551174951151119196315652707054377589568848269918882320983247529127079466234684343791190113363182922829566630448864792672834139523242540311191676592670106719651781674644458859714899239111375265210626710910986314890776062580462815089854281745642740943860526887767751594132646321212877579735923654394063132500713616449082688208376163520705665395538499284180377534472031360952682303541975308014803819871022933447492285878822350099302745093974683195972940246197296680738691295659990921507866593205992395919193452225344553468683089327879139935187052693625226261897504121956799091768293586418823766040336572674995494613086123904060024628877464135722144615854680798036320407728538754205552260747368048958970649054382783465740752570199590431682483311433467880819462045133900094004576132451222994375454646788853299048434006813925902811958506579782407 1468662611535559087908784654704049698454117216045160383221569520301263897256161151750677737104760230780521332687863747409590473323898258562948117910741407387564099978579444460670878801803224686736987243636081155866423926667795082930180646564873348022554028731941762499598389255684678432213139827983513206636355582070656526120262590565250695045087196717007045061064562982410389711019200079496447864772839048376621818166734099271087036068461190554457586055858789748557821393714059911438372424385066175104188435530299738059435042701733870861551128007134886007258176234123727194941331067240220753955426270473319314435375823324988199976768385602410808714838519930358953823846590025988041190358064816322287464008807313578088340600236769560679284047264533876357831748326680759551091856820450416072286413654282140112275136806985982034846182143592267393169734498054201783238965521024009225963196754685460356577799321633459733945440381016198545446545570275543362049212241433602397669538228632567037686307601432093782250916632413561549065387637044978204348657743102698509878179329024330650825763527884116222796716937674563678432310466263088305432569990984662097904644962577612044207863015050111339277822778674790667417430835253149475650691774781272572435291960606050801660860243440856110897874721339282374439107895606148611273601870430612052727335619282557675063506672090517488363165608139282667277653072547238802785774597390963044106701786946302949445263034544592927508326181096800951476493834729992381631315625004023007917915152290922288295840438785623414415703234198083118367346426973537472056372514998834159430145638910459101161156844468340988410684430995603177738058734702884501006379863419742046373679987359310250114935736955383536164972772178001612994051486677568955007871597674339164716348770357950498263208659530611142143498489389903252286149420891148155531069080372935906847159355198029508525741765029953041454164067065872992938935720691962129920044921371622963822907506060933770632539350495853266404233291735528601646507348709534215198656356696600919531897232647159507478870041381832268965940422442156898825557107313387719385890240071292065400949154093286419520966638576795994438006026674934782244570150233096618391936025618701618036131972604072233033751601888475826770604503325220850836937841659689124692360780774274909748695025445935710104863297192320187884630726347873986993770430733077250549278771376321499337564845164384657745958852928121695563068648371192150127593262331789383890943913826057616061579930065498871817489938036277317415529421902230241558022113665022545905336510108112110054399417533982728977814286015203874981198438197580056963130705322095937653489075140853742496889606777282094774654681418050986490829361204070730416075807758910249860501120104387241223301086615660454690579414060178214396 2376346023470718000959903578351604144907179945569163016653619719688983104641027822929079006981848639403391415828403966349698164737934398757234760697245867034631480756105723515625663044263962087663396435287091551638812376826391252935607421113484466177038351250115272932430444074448177497160115510461537258473037212806712301640667495521795543648208166587090727602079115942678076253982286999013667457788773942900905320810618366233562957758166155028572880729568358485708605752582908273047103412782662051681319339262792704920826861587893945898666140982442336485880467921304743428419803015668341508532007460667017202717901276226880706870895811946212250939083646464915024684243853255128254911185365203785052367832290130641835417475427350958927614117469278965428357764782113376562168695883778237970248081974173293740851236530858939912631637359697302892964727863513668612180505301728413403306084912782659939810095114452658313686340059382014097912815218510212089438881336852257251403851371542900546498950185794045073254416038602685688985863075272193640721228067038626293253233486210979734134352621027237635328483042835406427308539722808143409171668689975860494533194228730278445054875927219743363653742811626045068677391645357200085707023091040229747200693723083879820278983499271961756966638150022784622755753483618029197129440027443538192223490412697529257128431207583836929531221215857820475119600259837274817472158103230744568198899937536676257777033698879622834914145174340667842552179249541366233324938210681769272659797464454207262631130378779433607420291078366782701975103849874701356963193676402247699869976940788317489408364030121690792792378399105845048367743760927841002214126656458214593192557450814055172635884759362594966199993510871645873001372557563858832596107458551202002155970024924633797912925782473214290036666225188324008843837243338835446752200385339258092224401302003793013244090487822307720357107365599350575166628097314568781336900843615175751641435450612108721783658546811505973458610881304376871565389669692781744325735822931285263323087346010342430308436671830697061638774561965399439136748783906057826105542021745936524260664053332397794786177265287706980752896802737515245059660004514842261132879886145589385787726105250393445911331337812130220833737004038837299919626050035852645398026176312774193929072559917967071057545600734295495899434546218896920441262716611899600648581516470296182533537785410581954426697544223781686484576514964398142523512455784014728444412596915385495201515117118192497043751835540399274214621190195816660381788154001595220900831123194236014114424046411446864699958901869884673017518845926118811168682966069463986612459724195236525962630359347481685206337164729484454371648823249204630510080383891361472854876574751176094522349520622474380593391372566757996803 3845008635006277088868688233055653843361297161614323399875189239990247001897188974679756744086608870183912748516267713759288638061832657320182878607987274422195580734685167976296541846067186774400383678923172707505236303494186335865788067678357814199592379982057035432028833330132855929373255338445050465109392794877368827760930086087046238693295363304097772663143678925088465965001487078510115322561612991277527138977352465504649993826627345583030466785427148234266427146296968184485475837167728226785507774793092442980261904289627816760217268989577222493138644155428470623361134082908562262487433731140336517153277099551868906847664197548623059653922166395273978508090443281116296101543430020107339831841097444219923758075664120519606898164733812841786189513108794136113260552704228654042534495628455433853126373337844921947477819503289570286134462361567870395419470822752422629269281667468120296387894436086118047631780440398212643359360788785755451488093578285859649073389600175467584185257787226138855505332671016247238051250712317171845069885810141324803131412815235310384960116148911353858125199980509970105740850189071231714604238680960522592437839191307890489262738942269854702931565590300835736094822480610349561357714865821502319635985683689930621939843742712817867864512871362066997194861379224177808403041897874150244950826031980086932191937879674354417894386823997103142397253332384513620257932700621707612305601724482979207222296733424215762422471355437468794028673084271358614956253835685792280577712616745129550926970817565057021835994312564865820342450276848238829019566191401081859300122579698776590569520874590031781203062830101448226105802495630725503220506519877956639566237438173365422750820496317978502364966283049647485995424044241427787603979056225541166872318795282584296176134442003825432180164714578227261129986664229983602283269465712193999071560657201822521769832252852260761811271432665223568105563818006530911256945764986798715464342956673042492416197897307359239862844173039905473211897018402315959524392179627886182854984578657501937787306713212529330604714984407556337962305891219445545491432261817228589661613207425684214307143903864502975190902829412450027304230154747938879524815911764291003823858077854465678945082939700606047604341507364058150756563891695541770090386957087049103677767585363902781162408897926615683784065272566770907435033147344976851197860287846617681871102630574966612172656397151903382047645163335590292651105718115804112335356510741443111263095047183691368861241773576676591630150612098046901939810267666617766806167633302348124168823463945429593677773187885088547998717284123698868131813671391559924265948799336090268459519966124763779980991846147535440862478184453275360926156191650271722715377694855563335745650607238134835283970786626936211199 6221354658476995089828591811407257988268477107183486416528808959679230106538216797608835751068457509587304164344671680108986802799767056077417639305233141456827061490790891491922204890331148862063780114210264259144048680320577588801395488791842280376630731232172308364459277404581033426533370848906587723582430007684081129401597581608841782341503529891188500265222794867766542218983774077523782780350386934178432459787970831738212951584793500611603347514995506719975032898879876457532579249950390278466827114055885147901088765877521762658883409972019558979019112076733214051780937098576903771019441191807353719871178375778749613718560009494835310593005812860189003192334296536244551012728795223892392199673387574861759175551091471478534512282203091807214547277890907512675429248588006892012782577602628727593977609868703861860109456862986873179099190225081539007599976124480836032575366580250780236197989550538776361318120499780226741272176007295967540926974915138116900477240971718368130684207973020183928759748709618932927037113787589365485791113877179951096384646301446290119094468769938591493453683023345376533049389911879375123775907370936383086971033420038168934317614869489598066585308401926880804772214125967549647064737956861732066836679406773810442218827241984779624831151021384851619950614862842207005532481925317688437174316444677616189320369087258191347425608039854923617516853592221788437730090803852452180504501662019655464999330432303838597336616529778136636580852333812724848281192046367561553237510081199336813558101196344490629256285390931648522317554126722940185982759867803329559170099520487094079977884904711722573995441229207293274473546256558566505434633176336171232758794888987420595386705255680573468564959793921293358996796601805286620200086514776743169028288820207218094089060224477039722216830939766551269973823907568819049035469851051452091295961959205615535013922740674568482168378798264574143272191915321099692593846608601974467105778407285151214199856444118865213321455054344282344777286688095097703850128002559171446178071924667844368095743385043226392243489546372955777099054675125503371596974283563165113922277260758082009093321169152209955943799632149965272363890159262781140657695797909880389611584183104859124856414277512736268438078511402895450676189941731394415488413133399823297606840145281869852219954498660911179683499818785667827876295863956876451846441804316913864404640415985548566599353941375685068532221678299988435174618173899818840779769107656828606464610164301883865904993609117075865844771802293863562321598421668212987706998756496584138283247510356876458377732089754973221016236130049817679300496637461023910878408523531326794422150325472245465187329010877019895234127007702479991436236575541633195570254269606739430268000127860609215877362159193694208002 10066363293483272178697280044462911831629774268797809816403998199669477108435405772288592495155066379771216912860939393868275440861599713397600517913220415879022642225476059468218746736398335636464163793133436966649284983814763924667183556470200094576223111214229343796488110734713889355906626187351638188691822802561449957162527667695888021034798893195286272928366473792855008183985261156033898102911999925455959598765323297242862945411420846194633814300422654954241460045176844642018055087118118505252334888848977590881350670167149579419100678961596781472157756232161684675142071181485466033506874922947690237024455475330618520566224207043458370246927979255462981700424739817360847114272225243999732031514485019081682933626755591998141410446936904649000736790999701648788689801292235546055317073231084161447103983206548783807587276366276443465233652586649409403019446947233258661844648247718900532585883986624894408949900940178439384631536796081722992415068493423976549550630571893835714869465760246322784265081380635180165088364499906537330860999687321275899516059116681600504054584918849945351578883003855346638790240100950606838380146051896905679408872611346059423580353811759452769516873992227716540867036606577899208422452822683234386472665090463741064158670984697597492695663892746918617145476242066384813935523823191838682125142476657703121512306966932545765319994863852026759914106924606302057988023504474159792810103386502634672221627165728054359759087885215605430609525418084083463237445882053353833815222697944466364485072013909547651092279703496514342660004403571179015002326059204411418470222100185870670547405779301754355198504059308741500579348752189292008655139696214127872325032327160786018137525751998551970929926076970940844992220646046714407804065571002284335900607615489802390265194666480865154396995654344778531103810571798802651318739316763646090367522616407438056783754993526829243979650230929797711377755733327630603850792373588773182570121363958193706616054341426224453184299227384187817989183706497413663374520182187057629033056503325346305883050098255755722848204530780512115061360566344948917088406545380393703583890468183766223400465073016712931134702461562415299668120314010720020182511709674171393435442260959324803801497217213342316042420018766953601432753833426936185578800090486872401284607730645772633382363396587526863467565091352438735311329011301853303044302092163531546275743046560515178772010338527588450579866841635578727825723892015622953115125618398271717727705211485575234766235382693752457474922414391910464261408689334830754513166389798932262452070974302306052055505277640061769014953414173516547432310308852583835144357322867417062881670291597009245168320857024555336096605192155755352362392767191904918285631964462302766013650735098744051161332945820630419201 16287717951960267268525871855870169819898251375981296232932807159348707214973622569897428246223523889358521077205611073977262243661366769475018157218453557335849703716266950960140951626729484498527943907343701225793333664135341513468579045262042374952853842446401652160947388139294922782439997036258225912274252810245531086564125249304729803376302423086474773193589268660621550402969035233557680883262386859634392058553294128981075896996214346806237161815418161674216492944056721099550634337068508783719162002904862738782439436044671342077984088933616340451176868308894898726923008280062369804526316114755043956895633851109368134284784216538293680839933792115651984892759036353605398127001020467892124231187872593943442109177847063476675922729139996456215284068890609161464119049880242438068099650833712889041081593075252645667696733229263316644332842811730948410619423071714094694420014827969680768783873537163670770268021439958666125903712803377690533342043408562093450027871543612203845553673733266506713024830090254113092125478287495902816652113564501226995900705418127890623149053688788536845032566027200723171839630012829981962156053422833288766379906031384228357897968681249050836102182394154597345639250732545448855487190779544966453309344497237551506377498226682377117526814914131770237096091104908591819468005748509527119299458921335319310832676054190737112745602903706950377430960516828090495718114308326611973314605048522290137220957598031892957095704414993742067190377751896808311518637928420915387052732779143803178043173210254038280348565094428162864977558530294119200985085927007740977640321620672964750525290684013476929193945288516034775052895008747858514089772872550299105083827216148206613524231007679125439494885870892234203989017247852001028004152085779027504928896435697020484354254890957904876613826594111329801077634479367621700354209167815098181663484575613053591797677734201397726148029029194371854649947648648730296444638982190747649675899771243344920815910785545089666505754281728470162766470394592511367224648184746229075211128427993190673978793483298982115091694077153467892160415241470452288685380828943558817506167728941848232493786242168922887078502093712380572032010473273501160840207507584051783047026444064183928657911494726078584480498530169849052108943775158330601067213223886695698891447875927642485602317895248438043151064910138106563187624875258729754890743896480445410680383462546063745371364279903273519112088519935567163000342065915441793894894726055100324192315375787459100671228991810828323319694216685774026583007111003043742220165146295516400735318484659182510433237367395034990031189544223334226732806946313607746022765846398743857303820617069254710355649867901575231330732199858235343798629342733538113855886234069042196281650862959353267038695105014324627203 26354081245443539447223151900333081651528025644779106049336805359018184323409028342186020741378590269129737990066550467845537684522966482872618675131673973214872345941743010428359698363127820134992107700477138192442618647950105438135762601732242469529076953660630995957435498874008812138346623223609864100966075612806981043726652917000617824411101316281761046121955742453476558586954296389591578986174386785090351657318617426223938842407635193000870976115840816628457952989233565741568689424186627288971496891753840329663790106211820921497084767895213121923334624541056583402065079461547835838033191037702734193920089326439986654851008423581752051086861771371114966593183776170966245241273245711891856262702357613025125042804602655474817333176076901105216020859890310810252808851172477984123416724064797050488185576281801429475284009595539760109566495398380357813638870018947353356264663075688581301369757523788565179217922380137105510535249599459413525757111901986069999578502115506039560423139493512829497289911470889293257213842787402440147513113251822502895416764534809491127203638607638482196611449031056069810629870113780588800536199474730194445788778642730287781478322493008503605619056386382313886506287339123348063909643602228200839782009587701292570536169211379974610222478806878688854241567346974976633403529571701365801424601397993022432344983021123282878065597767558977137345067441434392553706137812800771766124708435024924809442584763759947316854792300209347497799903169980891774756083810474269220867955477088269542528245224163585931440844797924677207637562933865298215987411986212152396110543720858835421072696463315231284392449347824776275632243760937150522744912568764426977408859543308992631661756759677677410424811947863175048981237893898715435808217656781311840829504051186822874619449557438770031010822248456108332181445051166424351672948484578744272031007192020491648581432727728226970127679260124169566027703381976360900295431355779520832246021135201538627431965126971314119690053509112657980755654101089925030599168366933286704244184931318536979861843581554737837939898607933980007221775807815401205773787374323952521090058197125614455894251315185635818213204555274795871700130787284221181022719217258223176482468705023508732459408711939420900522918548936802653541697608585266786646013314373568100176055606573415118984681291835964906618630001490545298498953886560583057935045988643976956956126509106578924143374618430861969691955361571145890826065957931064747010020344453372041920020587273034335437464374504580780794616631077684490844415800337874496733331536094448663187389458961488562488742645035096759046142958396850774165117255166191581167123169266160920185490908666263955523970724926130567427337392013990696161022109925443032141518198531344962295301598058097318200028050834955046404 42641799197403806715749023756203251471426277020760402282269612518366891538382650912083448987602114158488259067272161541822799928184333252347636832350127530550722049658009961388500649989857304633520051607820839418235952312085446951604341646994284844481930796107032648118382887013303734920786620259868090013240328423052512130290778166305347627787403739368235819315545011114098108989923331623149259869436773644724743715871911555205014739403849539807108137931258978302674445933290286841119323761255136072690658894658703068446229542256492263575068856828829462374511492849951482128988087741610205642559507152457778150815723177549354789135792640120045731926795563486766951485942812524571643368274266179783980493890230206968567151982449718951493255905216897561431304928780919971716927901052720422191516374898509939529267169357054075142980742824803076753899338210111306224258293090661448050684677903658262070153631060952235949485943820095771636438962402837104059099155310548163449606373659118243405976813226779336210314741561143406349339321074898342964165226816323729891317469952937381750352692296427019041644015058256792982469500126610570762692252897563483212168684674114516139376291174257554441721238780536911232145538071668796919396834381773167293091354084938844076913667438062351727749293721010459091337658451883568452871535320210892920724060319328341743177659075314019990811200671265927514776027958262483049424252121127383739439313483547214946663542361791840273950496715203089564990280921877700086274721738895184607920688256232072720571418434417624211789409892352840072615121464159417416972497913219893373750865341531800171597987147328708213586394636340811050685138769685009036834685441314726082492686759457199245185987767356802849919697818755409252970255141750716463812369742560339345758400486883843358973704448396674907624648842567438133259079530534046052027157652393842453694491767633545240379110461929624696275708289318541420677651030625091196740070337970268481921920906444883548247875912516403786195807790841128143522124495682436397823816551679515779455313359311727653840637064853719953031592685087447899382191049285853494459168203267511338596225926067462688388037557354558705291706648987176443732141260557722341862926724842274959529495149087692661117320206665499485003417079106651705650641383743597387713226538260263799067503482501057604586999187084402949769694911628651861686578761819312812825789885124422367636509971652642669514738898334135488804043881506713053826408023846506540904915070508472366112335963060493436108693366315409104114310847763458517427422911340918238953496682389965063922707943620671072921980012430131749077332502620185000897924201479799327189889015664904777489311525735518665879620592827705798758069591872226039959651452658981145997404432600387158576952461017450585238723155849279673607 68995880442847346162972175656536333122954302665539508331606417877385075861791679254269469728980704427617997057338712009668337612707299735220255507481801503765594395599752971816860348352985124768512159308297977610678570960035552389740104248726527314011007749767663644075818385887312547059133243483477954114206404035859493174017431083305965452198505055649996865437500753567574667576877628012740838855611160429815095373190528981428953581811484732807979114047099794931132398922523852582688013185441763361662155786412543398110019648468313185072153624724042584297846117391008065531053167203158041480592698190160512344735812503989341443986801063701797783013657334857881918079126588695537888609547511891675836756592587819993692194787052374426310589081293798666647325788671230781969736752225198406314933098963306990017452745638855504618264752420342836863465833608491664037897163109608801406949340979346843371523388584740801128703866200232877146974212002296517584856267212534233449184875774624282966399952720292165707604653032032699606553163862300783111678340068146232786734234487746872877556330904065501238255464089312862793099370240391159563228452372293677657957463316844803920854613667266058047340295166919225118651825410792144983306477984001368132873363672640136647449836649442326337971772527889147945579225798858545086275064891912258722148661717321364175522642096437302868876798438824904652121095399696875603130389933928155505564021918572139756106127125551787590805289015412437062790184091858591861030805549369453828788643733320342263099663658581210143230254690277517280252684398024715632959909899432045769861409062390635592670683610643939497978843984165587326317382530622159559579598010079153059901546302766191876847744527034480260344509766618584301951493035649431899620587399341651186587904538070666233593154005835444938635471091023546465440524581700470403700106136972586725725498959654036888960543189657851666403387549442710986705354412601452097035501693749789314167942041646422175679841039487717905885861299953786124277778596772361428422984918612802483699498290630264633702480646408457790971491293021427906603966857101254700232955577591463859686284123193077144282288872540194523504911204261972315432272047841943522885645942100498136011963854111201393576728918604920385526335628043454359192338992328864174359239852633831899243559089074472723571680478920367856388324913119197160185532648379895870760835873768399324592636480759221593658113516764997458495999243077858944652473981777571287914935414961844408032356550333527771546157740819989884908927478841143008271838711678792735686828218484413727110097402582159635410722657465228508123475461017035775063041456645990908357012184931065697674802434401782621403591317753836366185406983886216736120673562584424178138922631131732120872254059075547903438751206684234720011 111637679640251152878721199412739584594380579686299910613876030395751967400174330166352918716582818586106256124610873551491137540891632987567892339831929034316316445257762933205360998342842429402032210916118817028914523272120999341344445895720812158492938545874696292194201272900616281979919863743346044127446732458912005304308209249611313079985908795018232684753045764681672776566800959635890098725047934074539839089062440536633968321215334272615087251978358773233806844855814139423807336946696899434352814681071246466556249190724805448647222481552872046672357610240959547660041254944768247123152205342618290495551535681538696233122593703821843514940452898344648869565069401220109531977821778071459817250482818026962259346769502093377803844986510696228078630717452150753686664653277918828506449473861816929546719914995909579761245495245145913617365171818602970262155456200270249457634018883005105441677019645693037078189810020328648783413174405133621643955422523082396898791249433742526372376765947071501917919394593176105955892484937199126075843566884469962678051704440684254627909023200492520279899479147569655775568870367001730325920705269857160870126147990959320060230904841523612489061533947456136350797363482460941902703312365774535425964717757578980724363504087504678065721066248899607036916884250742113539146600212123151642872722036649705918700301171751322859687999110090832166897123357959358652554642055055539245003335402119354702769669487343627864755785730615526627780465013736291947305527288264638436709331989552414983671082092998834355019664582630357352867805862184133049932407812651939143612274403922435764268670757972647711565238620506398377002521300307168596414283451393879142394233062223391122033732294391283110264207585373993554921748177400148363432957141901990532346305024954509592566858454232119846260119933590984598699604112234516455727263789366429179419990727287582129339653651587476362679095838761252407383005443226543293775572031720057796089862948091305723927716952004121692081669090794914267799903092454797826246801470292318263154811649941992287543117711262177744003083978108875805986157906387108194692123780858975198282510049260539832670326429894753228796617853249148759164413308399665864748572666942773095541459003198894054694049125270419870529752707150106064842980376072461562072466390894095698311062571575530328158679666004770806158019824747849021872111410199208683586625758892821692229146452411864263172852415099132947300043124584571998478882005624077828819850485470316774144692513394021207654851107135398989023238326604601525699261623019710974640324900874378791032805346202830708332702669895360257200807963637220775960965658125790235546901200595970475164113960137301287283211910581542164943476575758442776080325015243405324136327063732119279449206520092998488677474362533514393618 180633560083098499041693375069275917717334882351839418945482448273137043261966009420622388445563523013724253181949585561159475153598932722788147847313730538081910840857515905022221346695827554170544370224416794639593094232156551731084550144447339472503946295642359936270019658787928829039053107226823998241653136494771498478325640332917278532184413850668229550190546518249247444143678587648630937580659094504354934462252969518062921903026819005423066366025458568164939243778337992006495350132138662796014970467483789864666268839193118633719376106276914630970203727631967613191094422147926288603744903532778802840287348185528037677109394767523641297954110233202530787644195989915647420587369289963135654007075405846955951541556554467804114434067804494894725956506123381535656401405503117234821382572825123919564172660634765084379510247665488750480831005427094634300052619309879050864583359862351948813200408230433838206893676220561525930387386407430139228811689735616630347976125208366809338776718667363667625524047625208805562445648799499909187521906952616195464785938928431127505465354104558021518154943236882518568668240607392889889149157642150838528083611307804123981085518508789670536401829114375361469449188893253086886009790349775903558838081430219117371813340736947004403692838776788754982496110049600658625421665104035410365021383753971070094222943268188625728564797548915736819018218757656234255685031988983694750567357320691494458875796612895415455561074746027963690570649105594883808336332837634092265497975722872757246770745751580044498249919272907874633120490260208848682892317712083984913473683466313071356939354368616587209544082604671985703319903830929328155993881461473032202295779364989582998881476821425763370608717351992577856873241213049580263053544541243641718934209563025175826160012460067564784895591024614531064140128693934986859427369926339015905145489686941619018300196841245328029082483388203963394088359855827995390811073725469847110257804989737727899607557991491839597967530390748700392077681689227159254669786388905120746854309940572256921245598357670635534974575271130303712590124763488362894925079358450439057968794172453616976952615302434947752301529057511121074596685356241609387634218609043271231553422857310095448270778043875340256056088335193560424035319368401325736431706243527927597554621660650003051730360144925138662546344737867046182057644058579104554347461632661221016821782933171085856830965931864130405796042367662430943131355987401649116734785900432161182177049063727548979201008847955388873932165805445744533971100334698503710327153119358792518142902748784990343743425327360588765324283424654256551024007114771781143903913385527036172838916394539083908686803228335378531128883559644659512200998577827829502275249694863851400321460579168546392116225569217749113629 292271239723349651920414574482015502311715462038139329559358478668889010662140339586975307162146341599830509306560459112650612694490565710356040187145659572398227286115278838227582345038669983572576581140535611668507617504277551072428996040168151630996884841517056228464220931688545111018972970970170042369099868953683503782633849582528591612170322645686462234943592282930920220710479547284521036305707028578894773551315410054696890224242153278038153618003817341398746088634152131430302687078835562230367785148555036331222518029917924082366598587829786677642561337872927160851135677092694535726897108875397093335838883867066733910231988471345484812894563131547179657209265391135756952565191068034595471257558223873918210888326056561181918279054315191122804587223575532289343066058781036063327832046686940849110892575630674664140755742910634664098196177245697604562208075510149300322217378745357054254877427876126875285083486240890174713800560812563760872767112258699027246767374642109335711153484614435169543443442218384911518338133736699035263365473837086158142837643369115382133374377305050541798054422384452174344237110974394620215069862912007999398209759298763444041316423350313283025463363061831497820246552375714028788713102715550438984802799187798098096176844824451682469413905025688362019412994300342772164568265316158562007894105790620776012923244439939948588252796659006568985915342115615592908239674044039233995570692722810849161645466100239043320316860476643490318351114119331175755641860125898730702207307712425172230441827844578878853269583855538231985988296122392981732824725524735924057085957870235507121208025126589234921109321225178384080322425131236496752408164912866911344690012427212974120915209115817046480872924937366571411794989390449728626486501683145632251280514587979685418726870914299684631155710958205515662839732806169503315154633715705445084565480414229201147639850492832804391761579226965215801471365299054538684586645757189904906347667937829033623535274943495961290049199481543614659877584781681957080916587859197439010009121590514249208788716068932813278977659249239179518576282669875471089617203139309414256251304221714156809622941732329700981098146910760269833761098664641275252382791275986044327094881860508989502964827169145760126585841042343666488878299744473787298504172634422023295865684232225533379889039810929909468704364562614895203929755468778313237934087391554042709050929385582950120003818346963263353096085492247002941610237993025726945554636385902477956321741577121570186855859955090787862955404132050346059670361957718214684967478020233171309175708094987821052076127997255949022525091388291477326984972772897571379450814586123006648003030354676385195970015138916920696072360135403102288281323593071234826411576758595970679770667099261544880793699931751263507247 472904799806448150962107949551291420029050344389978748504840926942026053924106349007597695607709864613554762488510044673810087848089498433144188034459390110480138126972794743249803691734497537743120951364952406308100711736434102803513546184615491103500831137159416164734240590476473940058026078196994040610753005448455002260959489915445870144354736496354691785134138801180167664854158134933151973886366123083249708013568379572759812127268972283461219984029275909563685332412490123436798037210974225026382755616038826195888786869111042716085974694106701308612765065504894774042230099240620824330642012408175896176126232052594771587341383238869126110848673364749710444853461381051404373152560357997731125264633629720874162429882611028986032713122119686017530543729698913824999467464284153298149214619512064768675065236265439748520265990576123414579027182672792238862260694820028351186800738607709003068077836106560713491977162461451700644187947219993900101578801994315657594743499850476145049930203281798837168967489843593717080783782536198944450887380789702353607623582297546509638839731409608563316209365621334692912905351581787510104219020554158837926293370606567568022401941859102953561865192176206859289695741268967115674722893065326342543640880618017215467990185561398686873106743802477117001909104349943430789989930420193972372915489544591846107146187708128574316817594207922305804933560873271827163924706033022928746138050043502343620521262713134458775877935222671454008921763224926059563978192963532822967705283435297929477212573596158923351519503128446106619108786382601830415717043236819908970559641336548578478147379495205822130653403829850369783642328962165824908402046374339943546985791792202557119796685937242809851481642289359149268668230603499308889540046224389273970214724151004861244886883374367249416051301982820046726979861500104490174582003642044460989710970101170820165940047334078132420844062615169179195559725154882534075397719482659752016605472927566761523142832934987800888016729872292315051955266470909116335586374248102559756863431531086506130034314426603448813952234520369483231166407433363833984542282497759853314220098394167773786575557034764648733399675968271390908357784020882884640017009885029315558648304717819084951235605213021100382641929377537226912913619112875113034935878877949950893420305892875536431619399955855048131250709300481941385987399527357417792281549024215263725872712318754035976834784278827393758892127859909433884741593980427376062289422286334639138498790640849119166056868803046176736887569937496090593641462292416718395294631139591963827318610843772811395819553324616537787849374812945733878008979887669352523354727971650042820841946749215469104656818367252299227201243695047761800482322170899064328686826453459822080092127678430091272909925500969012620876 765176039529797802882522524033306922340765806428118078064199405610915064586246688594573002769856206213385271795070503786460700542580064143500228221605049682878365413088073581477386036773167521315697532505488017976608329240711653875942542224783642734497715978676472393198461522165019051076999049167164082979852874402138506043593339497974461756525059142041154020077731084111087885564637682217673010192073151662144481564883789627456702351511125561499373602033093250962431421046642254867100724289809787256750540764593862527111304899028966798452573281936487986255326403377821934893365776333315360057539121283572989511965115919661505497573371710214610923743236496296890102062726772187161325717751426032326596522191853594792373318208667590167950992176434877140335130953274446114342533523065189361477046666199005617785957811896114412661021733486758078677223359918489843424468770330177651509018117353066057322955263982687588777060648702341875357988508032557660974345914253014684841510874492585480761083687896234006712410932061978628599121916272897979714252854626788511750461225666661891772214108714659105114263788005786867257142462556182130319288883466166837324503129905331012063718365209416236587328555238038357109942293644681144463435995780876781528443679805815313564167030385850369342520648828165479021322098650286202954558195736352534380809595335212622120069432148068522905070390866928874790848902988887420072164380077062162741708742766313192782166728813373502096194795699314944327272877344257235319620053089431553669912591147723101707654401440737802204789086983984338605097082504994812148541768761555833027645599206784085599355404621795057051762725055028753863964754093402321660810211287206854891675804219415531240711895053059856332354567226725720680463219993949037516026547907534906221495238738984546663613754288666934047207012941025562389819594306273993489736637357749906074276450515400021313579897826910936812605641842134394997031090453937072759984365239849656922953140865395795146678107878483762178065929353835929711832851252591073416502962107299998766872553121600755338823030495536262092929893769608662749742690103239305074159485637069267570471402615881930596198498767094349714497822879031660742118882685524159892399801161015359885743186578328074454200432382166860509227770419880893401791918857348900333440051512371974189285990125101069811508439766784957599955073863096836589917154996135731030215636415769306434923641704336986096838602625790657111988213352156436826351831973453103007844058672237117094820532217970689352912728758136964599842974069546436653311824250134933080262109159825135136494318938760632447895681321872486810374466201237211204993952660566923902805542557773049468844977103891854300626833506169219923273603830450864088763645763970299155098403212055792759862794777691636153703625432720276128123 1238080839336245953844630473584598342369816150818096826569040332552941118510353037602170698377566070826940034283580548460270788390669562576644416256064439793358503540060868324727189728507665059058818483870440424284709040977145756679456088409399133837998547115835888557932702112641492991135025127364158123590605879850593508304552829413420331900879795638395845805211869885291255550418795817150824984078439274745394189578452169200216514478780097844960593586062369160526116753459132378303898761500784012283133296380632688723000091768140009514538547976043189294868091468882716708935595875573936184388181133691748885688091347972256277084914754949083737034591909861046600546916188153238565698870311784030057721786825483315666535748091278619153983705298554563157865674682973359939342000987349342659626261285711070386461023048161554161181287724062881493256250542591282082286729465150206002695818855960775060391033100089248302269037811163793576002176455252551561075924716247330342436254374343061625811013891178032843881378421905572345679905698809096924165140235416490865358084807964208401411053840124267668430473153627121560170047814137969640423507904020325675250796500511898580086120307068519190149193747414245216399638034913648260138158888846203124072084560423832529032157215947249056215627392630642596023231203000229633744548126156546506753725084879804468227215619856197097221887985074851180595782463862159247236089086110085091487846792809815536402687991526507960872072730921986398336194640569183294883598246052964376637617874583021031184866975036896725556308590112430445224205868887596642564258811998375741998205240543332664077502784117000879182416128884879123647607083055568146569212257661546798438661596011618088360508580990302666183836209516084869949131450597448346405566594131924180191709962889989407908500637663034183463258314923845609116799455806378483664318640999794367063987420616570841479519945160989069233449704457303574192590815608819606835382084722509408939558613792962556669820940813471563066082659226128244763788117723500189752089336355402558523735984652687261468857344922139710906882128289978145980909097536603139058701768134829120884691501010049704382774055801858998447897498847303051650476666706407044532416811046044675444391491296147159405436037595187960891869699797418120314705537970224013368375930390321925082706296017976606243127839722640005731205783163578777975904554523493148822497185439984570160796354023091022073673386904618050870880341212065870711093425953880479070133480958571756233319322858819808518969597561183141336730544007042527246953286542551651475556740299417098963812929782533443843715234646489024598223841014182945083002932548236276426160270529423092289686923853107323405283651873421519150474847525498625889245967934869363483785229665515614839954922456121727426613550933689288748999 2003256878866043756727152997617905264710581957246214904633239738163856183096599726196743701147422277040325306078651052246731488933249626720144644477669489476236868953148941906204575765280832580374516016375928442261317370217857410555398630634182776572496263094512360951131163634806512042212024176531322206570458754252732014348146168911394793657404854780436999825289600969402343435983433499368497994270512426407538671143335958827673216830291223406459967188095462411488548174505774633170999485790593799539883837145226551250111396667168976312991121257979677281123417872260538643828961651907251544445720254975321875200056463891917782582488126659298347958335146357343490648978914925425727024588063210062384318309017336910458909066299946209321934697474989440298200805636247806053684534510414532021103307951910076004246980860057668573842309457549639571933473902509771925711198235480383654204836973313841117713988364071935891046098459866135451360164963285109222050270630500345027277765248835647106572097579074266850593789353967550974279027615081994903879393090043279377108546033630870293183267948838926773544736941632908427427190276694151770742796787486492512575299630417229592149838672277935426736522302652283573509580328558329404601594884627079905600528240229647842596324246333099425558148041458808075044553301650515836699106321892899041134534680215017090347285052004265620126958375941780055386631366851046667308253466187147254229555535576128729184854720339881462968267526621301342663467517913440530203218299142395930307530465730744132892521376477634527761097677096414783829302951392591454712800580759931575025850839750116749676858188738795936234178853939907877511571837148970468230022468948753653330337400231033619601220476043362522516190776742810590629594670591397383921593142039459086413205201628973954572114391951701117510465327864871171506619050112652477154055278357544273138263871131970862793099842987900006046055346299437969189621906062756679595366449962359065862511754658358351816499048691955325244148588579964174475620968976091263168592298462702557290608537774288016807680375417675972999812022059586808730651787639842444132861253771898388455162903625931634978972554568953348162395321726334712392595549391931204424816612207060035330134677874475233859636469977354821401097470217299013716497456827572913701815981902693899271992286143077676054636279489424963331160857026675614565821709519628879852712821855753876595719995727428008170511989530408707982868554564222307537445257927333582077977539630808873328139855076790497871882326319320105936573518076588963900265110792686584555818849459242234100307248721294076291610915968361511408598307215420156287996885208803200328965813087196141758531900956999177705910485379590739073748451355949489978009613698839662638883632877571407599817717233813363580317176366409564877122 3241337718202289710571783471202503607080398108064311731202280070716797301606952763798914399524988347867265340362231600707002277323919189296789060733733929269595372493209810230931765493788497639433334500246368866546026411195003167234854719043581910410494810210348249509063865747448005033347049303895480330161064634103325522652698998324815125558284650418832845630501470854693598986402229316519322978348951701152932860721788128027889731309071321251420560774157831572014664927964907011474898247291377811823017133525859239973111488435308985827529669234022866575991509341143255352764557527481187728833901388667070760888147811864174059667402881608382084992927056218390091195895103078664292723458374994092442040095842820226125444814391224828475918402773544003456066480319221165993026535497763874680729569237621146390708003908219222735023597181612521065189724445101054007997927700630589656900655829274616178105021464161184193315136271029929027362341418537660783126195346747675369714019623178708732383111470252299694475167775873123319958933313891091828044533325459770242466630841595078694594321788963194441975210095260029987597238090832121411166304691506818187826096130929128172235958979346454616885716050066528789909218363471977664739753773473283029672612800653480371628481462280348481773775434089450671067784504650745470443654448049445547888259765094821558574500671860462717348846361016631235982413830713205914544342552297232345717402328385944265587542711866389423840340257543287740999662158482623825086816545195360306945148340313765164077388351514531253317406267208845229053508820280188097277059392758307317024056080293449413754360972855796815416594982824787001159178920204538614799234726610300451768998996242651707961729057033665188700026986258895460578726121188845730327159736171383266604915164518963362480615029614735300973723642788716780623418505919030960818373919357338640202251291748541704272619788148889075279505050756741543382212721671576286430748534684868474802070368451320908486319989505426888310231247806092419239409086699591452920681634818105115814344522426975278276537720339815683906694150349564954711560885176445583191563021906727509339854404635981339361746610370812346610292820573637764043072216098338248957233423253104710774526169170622393265072507572542782292967170014717134031202994797796927070191912293015824354698582161054282297764119212064969062366640190254392541726264043122028675210007295738446756516349750519030244185376435026758853748895776288178248538683881214061148111020589380629561459177935610306390851923880503247273304062083631491147218397335238236031375589758659333064120178503827520135326150614850536006822148229603101370999817757039476755126083616619234048218824810106501111194137253012258224223298881448115867255581633709026122668862543087022439772639689935091006930727300098853626121 5244594597068333467298936468820408871790980065310526635835519808880653484703552489995658100672410624907590646440882652953733766257168816016933705211403418745832241446358752137136341259069330219807850516622297308807343781412860577790253349677764686982991073304860610460195029382254517075559073480426802536731523388356057537000845167236209919215689505199269845455791071824095942422385662815887820972619464127560471531865124086855562948139362544657880527962253293983503213102470681644645897733081971611362900970671085791223222885102477962140520790492002543857114927213403793996593519179388439273279621643642392636088204275756091842249891008267680432951262202575733581844874018004090019748046438204154826358404860157136584353880691171037797853100248533443754267285955468972046711070008178406701832877189531222394954984768276891308865906639162160637123198347610825933709125936110973311105492802588457295819009828233120084361234730896064478722506381822770005176465977248020396991784872014355838955209049326566545068957129840674294237960928973086731923926415503049619575176875225948987777589737802121215519947036892938415024428367526273181909101478993310700401395761346357764385797651624390043622238352718812363418798692030307069341348658100362935273141040883128214224805708613447907331923475548258746112337806301261307142760769942344589022794445309838648921785723864728337475804736958411291369045197564252581852596018484379599946957863962072994772397432206270886808607784164589083663129676396064355290034844337756237252678806044509296969909727992165781078503944305260012882811771672779551989859973518238892049906920043566163431219161594592751650773836764694878670750757353509083029257195559054105099336396473685327562949533077027711216217763001706051208320791780243114248752878210842353018120366147937317052729421566436418484188970653587952130037556031683437972429197714882913340515162880512567065719631136789081325560397056179512571834627734332966026114984647227540664582123109679260302819038197382213554379836386056593715030055675682716089273933280807673104953060201263295084218095757491656906506172409151763442212672816288027324424275678625897795017308261912974340719164939765694772688142299972476435667765490269453382050035460164746104660847045097627124708977549897603694064640232016147747700451625369840772007894195709723626690868304131958352400398701489932393527497216930007107547973562750908527922829151492323352236345477947038414697365965435466836617450340510485785983941808547643226088560220189502889599033012400804262734250199823353209877580160220455047483508127924820587194439217901567164427427225121596426937066583212047415420455445023257658996702965842677084091896703815375806750725767105678817104622632602997297971750237397605845265195332548688761552495420658430039590356923748454587247903666508418503243 8485932315270623177870719940022912478871378173374838367037799879597450786310505253794572500197398972774855986803114253660736043581088005313722765945137348015427613939568562368068106752857827859241185016868666175353370192607863745025108068721346597393485883515208859969258895129702522108906122784322282866892588022459383059653544165561025044773974155618102691086292542678789541408787892132407143950968415828713404392586912214883452679448433865909301088736411125555517878030435588656120795980373349423185918104196945031196334373537786947968050459726025410433106436554547049349358076706869627002113523032309463396976352087620265901917293889876062517944189258794123673040769121082754312471504813198247268398500702977362709798695082395866273771503022077447210333766274690138039737605505942281382562446427152368785662988676496114043889503820774681702312922792711879941707053636741562968006148631863073473924031292394304277676371001925993506084847800360430788302661323995695766705804495193064571338320519578866239544124905713797614196894242864178559968459740962819862041807716821027682371911526765315657495157132152968402621666458358394593075406170500128888227491892275485936621756630970844660507954402785341153328017055502284734081102431573645964945753841536608585853287170893796389105698909637709417180122310952006777586415217991790136911054210404660207496286395725191054824651097975042527351459028277458496396938570781611945664360192348017260359940144072660310648948041707876824662791834878688180376851389533116544197827146358274461047298079506697034395910211514105241936320591952967649266919366276546209073963000337015577185580134450389567067368819589481879829929677558047697828491922169354556868335392716337035524678590110692899916244749260601511787046912969088844575912614382225619623035530666900679533344451181171719457912613442304732753456061950714398790803117072221553542766454629054271338339419285678156605065447812921055954047349405909252456863519332096015466652491561000168789139027702809101864611084192149012954439142375274169009955568098912788919297582628238573360755816097307340813200322758716718153773557992733610515987297585353407134871712897894313702465775310578041382980962873610240478739981588607702339283458713269456879187016215720020389781485122440385987031810246733281778903446423166767842199806488725547981389450465186240650164517913554901455894137407184399649274237605872937203132836447230770108752695228466068658882742400462225690366346116798664034522625689761704374199580809570132451058210948011110653586174080326600483181642243851946194701905463163056618570028976560900228547605728949116562263217198062583422242603674626359029996520722882153839217980320434609854969550577212179928298759885615255522195049118845721712520776966257714884221357963745452479362996613683545594178630966607272129364 13730526912338956645169656408843321350662358238685365002873319688478104271014057743790230600869809597682446633243996906614469809838256821330656471156540766761259855385927314505204448011927158079049035533490963484160713974020724322815361418399111284376476956820069470429453924511957039184465196264749085403624111410815440596654389332797234963989663660817372536542083614502885483831173554948294964923587879956273875924452036301739015627587796410567181616698664419539021091132906270300766693713455321034548819074868030822419557258640264910108571250218027954290221363767950843345951595886258066275393144675951856033064556363376357744167184898143742950895451461369857254885643139086844332219551251402402094756905563134499294152575773566904071624603270610890964601052230159110086448675514120688084395323616683591180617973444773005352755410459936842339436121140322705875416179572852536279111641434451530769743041120627424362037605732822057984807354182183200793479127301243716163697589367207420410293529568905432784613082035554471908434855171837265291892386156465869481616984592046976670149501264567436873015104169045906817646094825884667774984507649493439588628887653621843701007554282595234704130192755504153516746815747532591803422451089674008900218894882419736800078092879507244296437622385185968163292460117253268084729175987934134725933848655714498856418072119589919392300455834933453818720504225841711078249534589265991545611318056310090255132337576278931197457555825872465908325921511274752535666886233870872781450505952402783758017207807498862815474414155819365254819132363625747201256779339794785101123869920380581740616799296044982318718142656354176758500680434911556780857749117728408661967671789190022363087628123187720611132462512262307562995367704749331958824665492593067972641155896814837996586073872747608137942101584095892684883493617982397836763232314787104466883281617509566838404059050422467237930625844869100568525881977140242218482978503979323556131234614670679429091958065900191315418990920578205606669469198050956885099229501379720462024250642829501868444973911854798997719706495167868481595986230809021637840411573263979304929889021159807288043184940250343736155669105173582716914407747078877155721333494173434202983847863260817647514490462672337989681096450478749429526603898048536608614207700684435271608080318769318199002564916615044833849421634624114406756822211168623845731055665598723093460989040706413107073580108365897692526983796457309149820506567498309347600288141029759635340657243960411914916320424280149953693059222404072401242185413591087877205764468194462467392975032954070712989200283781274630837663059119649616688993223688724830923309877024249985661720276344317858745403382518218252820166799356243327557785972298806403645773853384403882518953353537432000181426534633115690632607 22216459227609579823040376348866233829533736412060203369911119568075555057324562997584803101067208570457302620047111160275205853419344826644379237101678114776687469325495876873272554764784985938290220550359629659514084166628588067840469487120457881769962840335278330398712819641659561293371319049071368270516699433274823656307933498358260008763637816435475227628376157181675025239961447080702108874556295784987280317038948516622468307036230276476482705435075545094538969163341858956887489693828670457734737179064975853615891632178051858076621709944053364723327800322497892695309672593127693277506667708261319430040908450996623646084478788019805468839640720163980927926412260169598644691056064600649363155406266111862003951270855962770345396106292688338174934818504849248126186281020062969466957770043835959966280962121269119396644914280711524041749043933034585817123233209594099247117790066314604243667072413021728639713976734748051490892201982543631581781788625239411930403393862400484981631850088484299024157206941268269522631749414701443851860845897428689343658792308868004352521412791332752530510261301198875220267761284243062368059913819993568476856379545897329637629310913566079364638147158289494670074832803034876537503553521247654865164648723956345385931380050401040685543321294823677580472582428205274862315591205925924862844902866119159063914358515315110447125106932908496346071963254119169574646473160047603491275678248658107515492277720351591508106503867580342732988713346153440716043737623403989325648333098761058219064505887005559849870324367333470496755452955578714850523698706071331310197832920717597317802379430495371885785511475943658638330610112469604478686241039897763218836007181906359398612306713298413511048707261522909074782414617718420803400578106975293592264191427481738676119418323928779857400014197538197417636949679933112235554035431859326020426048072138621109742398469708145394535691292682021624479929326546151470939842023311419571597887106231679597881097093603000417283602004770354619623908340426231054109185069478633250943548225457740441805729727952106338532906817926585199749759788801755248356398870849332712064760734057701601745650715560921777538650068047192957393147728667484858060616952886703659863034879476537667904271947794778375668128260725482711305507344471703376456407507173160819589469769234504439652729434528599735305315772031298806406096448774496782934188502045953863569741735934879175732462850766359918217350142574107813855029193188071051974487721839329767791715454908423025569906598360476554176240864647924347436887319054250933824334497171023367621522638683019829551463500979337214259905662794275975718989744411606984762527857344684595516689826921530038673702142403833508342361848475089049270306749265064118529995211348149334998316350151115545775605165599722962761971 35946986139948536468210032757709555180196094650745568372784439256553659328338620741375033701937018168139749253291108066889675663257601647975035708258218881537947324711423191378477002776712144017339256083850593143674798140649312390655830905519569166146439797155347800828166744153616600477836515313820453674140810844090264252962322831155494972753301477252847764170459771684560509071135002028997073798144175741261156241490984818361483934624026687043664322133739964633560060296248129257654183407283991492283556253933006676035448890818316768185192960162081319013549164090448736041261268479385759552899812384213175463105464814372981390251663686163548419735092181533838182812055399256442976910607316003051457912311829246361298103846629529674417020709563299229139535870735008358212634956534183657551353093660519551146898935566042124749400324740648366381185165073357291692539412782446635526229431500766135013410113533649153001751582467570109475699556164726832375260915926483128094100983229607905391925379657389731808770288976822741431066604586538709143753232053894558825275776900914981022670914055900189403525365470244782037913856110127730143044421469487008065485267199519173338636865196161314068768339913793648186821648550567468340926004610921663765383543606376082186009472929908284981980943680009645743765042545458542947044767193860059588778751521833657920332430634905029839425562767841950164792467479960880652896007749313595036886996304968197770624615296630522705564059693452808641314634857428193251710623857274862107098839051163841977081713694504422665344738523152835751574585319204462051780478045866116411321702841098179058419178726540354204503654132297835396831290547381161259543990157626171880803678971096381761699934836486134122181169773785216637777782322467752762225243599568361564905347324296576672705492196676387995342115781634090102520443297915510072317267746646430487309329689648187948146457520130612632466317137551122193005811303686393689422820527290743127729121720902359026973055159503191732702592925348560226293377538477187939208414570858353712967798868287242310250703639806905336252613313094453681345746019610776886196810444113312016994649755217508889788835655811265513694319173220775674307555475746362013781950447060137862846882742737355315418762410467116365349224711204232140832111242520239985070615207857596091197550088003822638655294351143644569154737406655413213162918659943120628665244167644676957030730776641292282806042959132257610744333939031416963675535760686380399574775862869089403132372698868834940486227022640626507869300087051996748679072732645338811030098965365485835014497671637090542540663784760611845097568721913925592407982968100331815685837734368934581178410103265847897419105524922051761162528647831332376828092721563870522175769064732553217517269703688547545957031700232838653394578 58163445367558116291250409106575789009729831062805771742695558824629214385663183738959836803004226738597051873338219227164881516676946474619414945359896996314634794036919068251749557541497129955629476634210222803188882307277900458496300392640027047916402637490626131226879563795276161771207834362891821944657510277365087909270256329513754981516939293688322991798835928866235534311096449109699182672700471526248436558529933334983952241660256963520147027568815509728099029459589988214541673101112661950018293432997982529651340522996368626261814670106134683736876964412946628736570941072513452830406480092474494893146373265369605036336142474183353888574732901697819110738467659426041621601663380603700821067718095358223302055117485492444762416815855987567314470689239857606338821237554246627018310863704355511113179897687311244146045239021359890422934209006391877509662645992040734773347221567080739257077185946670881641465559202318160966591758147270463957042704551722540024504377092008390373557229745874030832927495918091010953698354001240152995614077951323248168934569209782985375192326847232941934035626771443657258181617394370792511104335289480576542341646745416502976266176109727393433406487072083142856896481353602344878429558132169318630548192330332427571940852980309325667524264974833323324237624973663817809360358399785984451623654387952816984246789150220140286550669700750446510864430734080050227542480909361198528162674553626305286116893016982114213670563561033151374303348203581633967754361480678851432747172149924900196146219581509982515215062890486306248330038274783176902304176751937447721519535761815776376221558157035726090289165608241494035161900659850765738230231197523935099639686153002741160312241549784547633229877035308125712560196940186173565625821706543655157169538751778315348824910520605167852742129979172287520157392977848622307871303178505756507735377761786809057888855989838758027002008430233143817485740630232545160362662550602162699327008827134038624854152253106192149986194930118914845917285878903418993317599640336986963911347093744982752056433367759011674785520131021038881095505808412532134553209314962644729059410489275210491534486371372187291232969241267968631700703204413846871842567399946841522709917622213892983323034358261894741017352971929714852137618586991943361527022715030756910787019857238327078308023785672244304460053178686712019569015108717617411599432669690630820600472512576171458538505809898617528961684081605524777530564953874451451549263584708419170924088153777257966056133621001103062045540951699921096115960051699589744854433462536509202636020310320110372092127285739949059357474384708201568126972712511938800448365591713619176695099930187377936092807667325885269504890496306421426098399470828934640705764276080702552515586053839663091732636865832561616156549 94110431507506652759460441864285344189925925713551340115479998081182873714001804480334870504941244906736801126629327294054557179934548122594450653618115877852582118748342259630226560318209273972968732718060815946863680447927212849152131298159596214062842434645973932055046307948892762249044349676712275618798321121455352162232579160669249954270240770941170755969295700550796043382231451138696256470844647267509592800020918153345436176284283650563811349702555474361659089755838117472195856508396653442301849686930989205686789413814685394447007630268216002750426128503395364777832209551899212383306292476687670356251838079742586426587806160346902308309825083231657293550523058682484598512270696606752278980029924604584600158964115022119179437525419286796454006559974865964551456194088430284569663957364875062260078833253353368895445563762008256804119374079749169202202058774487370299576653067846874270487299480320034643217141669888270442291314311997296332303620478205668118605360321616295765482609403263762641697784894913752384764958587778862139367310005217806994210346110697966397863240903133131337560992241688439296095473504498522654148756758967584607826913944935676314903041305888707502174826985876791043718129904169813219355562743090982395931735936708509757950325910217610649505208654842969068002667519122360756405125593646044040402405909786474904579219785125170125976232468592396675656898214040930880438488658674793565049670858594503056741508313612636919234623254485960015617983061009827219464985337953713539846011201088742173227933276014405180559801413639141999904623593987638954084654797803564132841238602913955434640736883576080294792819740539329431993191207231926997774221355150106980443365124099122922012176386270681755411046809093342350337979262653926327851065306112016722074886076074892021530402717281555848084245760806377622677836275764132380188570925152186995044707451434997006035313509969370659468325567784266010491551933918938849785483077892905827056130548036397651827207412609383882688787855467475072210663417380606932526014211195340676879145962032225062307137007565917011038133444115492562441251828023309020750019759075956746054060244492719381323322027183452804927288414488744306008258680160208885624517847006979385556800364951248298741796768729011106366577683133946992969729829512183346597637922888353001984569945242149716963318136815888873614790585342125232731933768660738040264676837335307777631203289217463741344548769030875139706018020636941741206100714560831851124039447577508574056460852646092906542360643641729569914841038751917844795032784344928555884532427901995037650517981957200914632791070500560904455043106622127160534955680612270616134203326082553757873510033453225833511913192247937030667419144137753802926492192392805162881533340813255770032855757528210637689668566065400269551127 152273876875064769050710850970861133199655756776357111858175556905812088099664988219294707307945471645333852999967546521219438696611494597213865598978012874167216912785261327881976117859706403928598209352271038750052562755205113307648431690799623261979245072136600063281925871744168924020252184039604097563455831398820440071502835490183004935787180064629493747768131629417031577693327900248395439143545118793758029358550851488329388417944540614083958377271370984089758119215428105686737529609509315392320143119928971735338129936811054020708822300374350686487303092916341993514403150624412665213712772569162165249398211345112191462923948634530256196884557984929476404288990718108526220113934077210453100047748019962807902214081600514563941854341275274363768477249214723570890277431642676911587974821069230573373258730940664613041490802783368147227053583086141046711864704766528105072923874634927613527564485426990916284682700872206431408883072459267760289346325029928208143109737413624686139039839149137793474625280813004763338463312589019015134981387956541055163144915320480951773055567750366073271596619013132096554277090898869315165253092048448161150168560690352179291169217415616100935581314057959933900614611257772158097785120875260301026479928267040937329891178890526936317029473629676292392240292492786178565765483993432028492026060297739291888826008935345310412526902169342843186521328948120981107980969568035992093212345412220808342858401330594751132905186815519111389921331264591461187219346818632564972593183351013642369374152857524387695774864304125448248234661868770815856388831549741011854360774364729731810862295040611806385081985348780823467155091867082692736004452552674042080083051277101864082324417936055229388640923844401468062898176202840099893476887012655671879244424827853207370355313237886723700826375739978665142835229253612754688059874103657943502780085213221806063924169499808128686470333998017409827977292564151484010148145628495068526383139375170436276681359665715576032674982785586389918127949296284025925843613851532327640790493055777207814363570375324928685823653575136531443536757636435841155303229074038601475113470733767929872857808398555640096160257655756712937708961884574055757467085246953820908266717987165141282064831126990905847383930655063661845107348416504126708124660637919109912771589802480476795271341922488133178074843764028837252300948877378355451864109507025938598231675801793635199883054578929492668667702102242466518736665668435283302673303032285927744980549006423350872598494264642832631960381990451838940910992836044518300738965890438504240286538292277311286724918356240509963812517491330328728661928393124209416582568917796172934568609963640603769604720859573822300172309640444175229024891663221739803587297616893958322548441811367873729422305431897961885707676 246384308382571421810171292835146477389581682489908451973655554986994961813666792699629577812886716552070654126596873815273995876546042719808316252596128752019799031533603587512202678177915677901566942070331854696916243203132326156800562988959219476042087506782573995336972179693061686269296533716316373182254152520275792233735414650852254890057420835570664503737427329967827621075559351387091695614389766061267622158571769641674824594228824264647769726973926458451417208971266223158933386117905968834621992806859960941024919350625739415155829930642566689237729221419737358292235360176311877597019065045849835605650049424854777889511754794877158505194383068161133697839513776791010818626204773817205379027777944567392502373045715536683121291866694561160222483809189589535441733625731107196157638778434105635633337564194017981936936366545376404031172957165890215914066763541015475372500527702774487798051784907310950927899842542094701851174386771265056621649945508133876261715097735240981904522448552401556116323065707918515723228271176797877274348697961758862157355261431178918170918808653499204609157611254820535850372564403367837819401848807415745757995474635287855606072258721504808437756141043836724944332741161941971317140683618351283422411664203749447087841504800744546966534682284519261460242960011908539322170609587078072532428466207525766793405228720470480538503134637935239862178227162161911988419458226710785658262016270815311399599909644207388052139810070005071405539314325601288406684332156586278512439194552102384542602086133538792876334665717764590248139285462758454810473486347544575987202012967643687245503031924187886679874805089320152899148283074314619733778673907824149060526416401200987004336594322325911144051970653494810413236155465494026221327952318767688601319310903928099391885715955168279548910621500785042765513065529376887068248445028810130497824792664656803069959483009777499345938659565801675838468844498070422859933628706387974353439269923206833928508567078324959915363770641053864990338612713664632858369628062727668317669639017809432876670707382890845696861787019252024005978009464459150176053248833114558221167530978260649254181130425739092901087546070245457243717220564734264643091603093960800293823518352116389580806627895719916953750508338197608838077078246016310054722298560807462914756159747722626512234660059304022051689634349370962485032882646039093492128786344361246375862879091011098941227603347960367808373720122879408259942766382996115153797342479863436319037009859069443779140854908284562201875223029203756785706025620389446856623498318340499277937056274234512201357709426741070868267560597952455889196884073736480032716772243878726692442119997093829603116634051821759330839728784581929031951383855614544966468830957707214092581297568896084367111973997963362155258803 398658185257636190860882143806007610589237439266265563831831111892807049913331780918924285120832188197404507126564420336493434573157537317022181851574141626187015944318864915394178796037622081830165151422602893446968805958337439464448994679758842738021332578919174058618898051437230610289548717755920470745709983919096232305238250141035259825844600900200158251505558959384859198768887251635487134757934884855025651517122621130004213012173364878731728104245297442541175328186694328845670915727415284226942135926788932676363049287436793435864652231016917375725032314336079351806638510800724542810731837615012000855048260769966969352435703429407414702078941053090610102128504494899537038740138851027658479075525964530200404587127316051247063146207969835523990961058404313106332011057373784107745613599503336209006596295134682594978427169328744551258226540252031262625931468307543580445424402337702101325616270334301867212582543414301133260057459230532816910996270538062084404824835148865668043562287701539349590948346520923279061691583765816892409330085918299917320500176751659869943974376403865277880754230267952632404649655302237152984654940855863906908164035325640034897241476137120909373337455101796658844947352419714129414925804493611584448891592470790384417732683691271483283564155914195553852483252504694717887936093580510101024454526505265058682231237655815790951030036807278083048699556110282893096400427794746777751474361683036119742458310974802139185044996885524182795460645590192749593903678975218843485032377903116026911976238991063180572109530021890038496373947331529270666862317897285587841562787332373419056365326964799693064956790438100976366303374941397312469783126460498191140609467678302851086661012258381140532692894497896278476134331668334126114804839331423360480563735731781306762241029193055003249736997240763707908348294782989641756308319132468074000604877877878609133883652509585628032408993563819085666446137062221906870081774334883042879822409298377270205189926744040535948038753426640254908466562009948658784213241914259995958460132073586640691034277758215774382685440594388555449514767100894991331356477907153159696281001712028579127038938824294732997247803726002170181426182449308320400558688340914621202090236339281530862871459022710822801134438993261270683184426662520436762846959198726572827527749550203103307506001981792155229764478113399799737333831523417448943992895851387184974094554892804734141110657926889860477041422225121874778679432051431398456470645512149364064017558865492794651739349172927394833835605019655595726617018456433965157362464208779003518223594566511823488082627782981580832080078089282784617858812466860689449299341161674899627010729960734433372721354911395581631012038425026104260976275518836284770056128574601172415129739380263958096534279429861324040966479 645042493640207612671053436641154087978819121756174015805486666879802011726998573618553862933718904749475161253161294151767430449703580036830498104170270378206814975852468502906381474215537759731732093492934748143885049161469765621249557668718062214063420085701748053955870231130292296558845251472236843927964136439372024538973664791887514715902021735770822755242986289352686819844446603022578830372324650916293273675694390771679037606402189143379497831219223900992592537157960552004604301845321253061564128733648893617387968638062532851020482161659484064962761535755816710098873870977036420407750902660861836460698310194821747241947458224284573207273324121251743799968018271690547857366343624844863858103303909097592906960173031587930184438074664396684213444867593902641773744683104891303903252377937441844639933859328700576915363535874120955289399497417921478539998231848559055817924930040476589123668055241612818140482385956395835111231846001797873532646216046195960666539932884106649948084736253940905707271412228841794784919854942614769683678783880058779477855438182838788114893185057364482489911841522773168255022219705604990804056789663279652666159509960927890503313734858625717811093596145633383789280093581656100732066488111962867871303256674539831505574188492016030250098838198714815312726212516603257210106703167588173556882992712790825475636466376286271489533171445213322910877783272444805084819886021457563409736377953851431142058220619009527237184806955529254200999959915794038000588011131805121997471572455218411454578325124601973448444195739654628744513232794287725477335804244830163828764800300017106301868358888987579744831595527421129265451658015711932203561800368322340201135884079503838090997606580707051676744865151391088889370487133828152336132791650191049081883046635709406154126745148223282798647618741548750673861360312366528824556764161278204498429670542535412203843135519363127378347653129620761504914981560292329730015403041271017233261679221584104133698493822365495863402524067694119898805174723613291642582869976987664276129771091396073567704985141106620079547227613640579455492776565354141507409726740267717917448532690289228381220069250033825898335349796247627425143403014042585043650291434875421495913754691397920443678086918430739754884947331458879521261504908536746817569257759534035742283909297925729819740662041096177281454112462770762222366714169456542436121682195748431349957433983815833082338261274850228285415142348001283038622198434427513610267987992012800383054568724562238430880204081211957035710828048859352512323044076823412013985962527119502796160650840746335689440337209722651700347638687235240507055696540597169482016113405553626319452849957828262975837988963217340961851767209608033292927659374450829736524959532308386507711036949160042463646253427824686196225282 1043700678897843803531935580447161698568056561022439579637317778772609061640330354537478148054551092946879668379725714488260865022861117353852679955744412004393830920171333418300560270253159841561897244915537641590853855119807205085698552348476904952084752664620922112574768282567522906848393969228157314673674120358468256844211914932922774541746622635970981006748545248737546018613333854658065965130259535771318925192817011901683250618575554022111225935464521343533767865344654880850275217572736537288506264660437826293751017925499326286885134392676401440687793850091896061905512381777760963218482740275873837315746570964788716594383161653691987909352265174342353902096522766590084896106482475872522337178829873627793311547300347639177247584282634232208204405925998215748105755740478675411648865977440778053646530154463383171893790705202865506547626037669952741165929700156102636263349332378178690449284325575914685353064929370696968371289305232330690443642486584258045071364768032972317991647023955480255298219758749765073846611438708431662093008869798358696798355614934498658058867561461229760370666071790725800659671875007842143788711730519143559574323545286567925400555210995746627184431051247430042634227446001370230146992292605574452320194849145330215923306872183287513533662994112910369165209465021297975098042796748098274581337519218055884157867704032102062440563208252491405959577339382727698181220313816204341161210739636887550884516531593811666422229803841053436996460605505986787594491690107023965482503950358334438366554564115665154020553725761544667240887180125816996144198122142115751670327587632390525358233685853787272809788385965522105631755032957109244673344926828820531341745351757806689177658618839088192209437759649287367365504818802162278450937630981614409562446782367490712916367774341278286048384615982312458582209655095356170580865083293746278499034548420414021337726788028948755410756646693439847171361118622514236600097177376154060113084088519961374338888420566406031811441277494334374807271736733561950426796111891247660234589903164982714258739262899322394462232668208029134905007543666249132838766204647420877613729534402317807508259008074328558895583153522249797606569585463350905444208979775790042698003991030679451306549545941141562556019386324720150204445931571057183580416216958260608569811658848128833127246664022888332511218590576170561959700545692873991380114578047135616324051988876620567223448919201740088762456564573123157817301630485858912066738633504162164447072127590055033082619553254139351869546433068514948238940062533257377171348426735898506314384245407258159177522964992704232532427716776518025124914509007457858931315454567228525946463579918562696348559343874612922592863805634634137553903934893287114506581088106909558922840776329424000560180532857686010237191761 1688743172538051416202989017088315786546875682778613595442804445652411073367328928156032010988269997696354829632887008640028295472564697390683178059914682382600645896023801921206941744468697601293629338408472389734738904281276970706948110017194967166148172750322670166530638513697815203407239220700394158601638256797840281383185579724810289257648644371741803761991531538090232838457780457680644795502584186687612198868511402673362288224977743165490723766683745244526360402502615432854879519418057790350070393394086719911138986563561859137905616554335885505650555385847712772004386252754797383626233642936735673776444881159610463836330619877976561116625589295594097702064541038280632753472826100717386195282133782725386218507473379227107432022357298628892417850793592118389879500423583566715552118355378219898286464013792083748809154241076986461837025535087874219705927932004661692081274262418655279572952380817527503493547315327092803482521151234128563976288702630454005737904700917078967939731760209421161005491170978606868631531293651046431776687653678417476276211053117337446173760746518594242860577913313498968914694094713447134592768520182423212240483055247495815903868945854372344995524647393063426423507539583026330879058780717537320191498105819870047428881060675303543783761832311625184477935677537901232308149499915686448138220511930846709633504170408388333930096379697704728870455122655172503266040199837661904570947117590738982026574752212821193659414610796582691197460565421780825595079701238829087479975522813552849821132889240267127468997921501199295985400412920104721621533926386945915499092387932407631660102044742774852554619981492943234897206690972821176876906727197142871542881235837310527268656225419795243886182624800678456254875305935990430787070422631805458644329829003200119070494519489501568847032234723861209256071015407722699405421847455024482997464218962949433541569923548311882789104299823060608676276100182806566330112580417425077346345767741545478472586914388771527674843801562028494706076911457175242069378981868235324510719674256378787826444248040429014541779895821669714360500320231603274346175931387688595531178067092607035889479077324362384793918503318497425031712988477393490487859271210665464193917745722077371750227632859572302310904333656179029725707436479593930397985474717794644312095568146054562946987326063984509792672703038941324182067259862330533816236260242884047674009422860436400305787180476590317047871706921124440855923828920286425677006621496174964830126696314617271513499757335351308905257261117374300751263106610080789185334389263018009110544896248004494866963302202426884232775355463753265631970205548055028413331567972782152265916429876390959324397332837830263554715572844242170846831594267737944243106047639217945430551813278584043023826786285510696433417043 2732443851435895219734924597535477485114932243801053175080122224425020135007659282693510159042821090643234498012612723128289160495425814744535858015659094386994476816195135339507502014721857442855526583324010031325592759401084175792646662365671872118232925414943592279105406796265338110255633189928551473275312377156308538227397494657733063799395267007712784768740076786827778857071114312338710760632843722458931124061328414575045538843553297187601949702148266588060128267847270313705154736990794327638576658054524546204890004489061185424790750947012286946338349235939608833909898634532558346844716383212609511092191452124399180430713781531668549025977854469936451604161063804870717649579308576589908532460963656353179530054773726866284679606639932861100622256719590334137985256164062242127200984332818997951932994168255466920702944946279851968384651572757826960871857632160764328344623594796833970022236706393442188846612244697789771853810456466459254419931189214712050809269468950051285931378784164901416303710929728371942478142732359478093869696523476776173074566668051836104232628307979824003231243985104224769574365969721289278381480250701566771814806600534063741304424156850118972179955698640493469057734985584396561026051073323111772511692954965200263352187932858591057317424826424535553643145142559199207406192296663784722719558031148902593791371874440490396370659587950196134830032462037900201447260513653866245732157857227626532911091283806632860081644414637636128193921170927767613189571391345853052962479473171887288187687453355932281489551647262743963226287593045921717765732048529061667169419975564798157018335730596562125364408367458465340528961723929930421550251654025963402884626587595117216446314844258883436095620384449965823620380124738152709238008053613419868206776611370690831986862293830779854895416850706173667838280670503078869986286930748770761496498767383363454879296711577260638199860946516500455847637218805320802930209757793579137459429856261506852811475334955177559486285079056362869513348648190737192496175093759482984745309577421361502085183510939751409004012564029698849265507863897852407184942136035109473144907601494924843397738085398690943689501656840747222638282573940744395932068250986455506891921736752756823056777178800713864866923719980899179930153368050651113978401691676055252881907226994183396074233990086872842303891293615111886141767805555204525196350838290019663998061411737056967529236099678330405810328271494247598673225459406145337743745255000337129277198823904672304596119310589490660774803694185889248990203169143338166356682815998916515424929141655262654044486267195131116765203072240271290756884714555512887344647022540010678212380009794953655672956676712443186147579378478876308400735529161025058749687135746127504353392589608008043584007319143196706670608804 4421187023973946635937913614623793271661807926579666770522926670077431208374988210849542170031091088339589327645499731768317455967990512135219036075573776769595122712218937260714443759190555044149155921732482421060331663682361146499594772382866839284381098165266262445636045309963153313662872410628945631876950633954148819610583074382543353057043911379454588530731608324918011695528894770019355556135427909146543322929839817248407827068531040353092673468832011832586488670349885746560034256408852117988647051448611266116028991052623044562696367501348172451988904621787321605914284887287355730470950026149345184868636333284009644267044401409645110142603443765530549306225604843151350403052134677307294727743097439078565748562247106093392111628997231489993040107513182452527864756587645808842753102688197217850219458182047550669512099187356838430221677107845701180577785564165426020425897857215489249595189087210969692340159560024882575336331607700587818396219891845166056547174169867130253871110544374322577309202100706978811109674026010524525646384177155193649350777721169173550406389054498418246091821898417723738489060064434736412974248770883989984055289655781559557208293102704491317175480346033556895481242525167422891905109854040649092703191060785070310781068993533894601101186658736160738121080820097100439714341796579471170857778543079749303424876044848878730300755967647900863700487584693072704713300713491528150303104974818365514937666036019454053741059025434218819391381736349548438784651092584682140442454995985440138008820342596199408958549568763943259211688005966026439387265974916007582668512363497205788678437775339336977919028348951408575426168414902751598427158381223106274427507823432427743714971069678678679981803009250644279875255430674143140025078476245225326851106440373890951057356813320281423742449085430034877094351685910801569391708778203795244493962986346312888420866635125572520988965246339561064523913318988127369260322338211004214805775624003052331284062249343949087161128880618391364219425559647912434565554075627718309256029251677740289911627758980180423545792459851368563626008184129455681531118067422798068676085668587531879287217162723053328483420160159244647669995562418137886419927522197120971085839482474834194807004811660286167177828053637078209655860804530245044376387166393849897194002795140237959021221316150857352096563996654053210323835065417535059012587098532903711672070834597493367835023280154920722858199978415372039529149288326431763420751876496512094107325520219289576109619067924841969680060955303263549741466275753418955542017205261934524535474037903267148911449569397558000997978427704024556388854920103567915757978590512792830478296439671344614997354009550273449702294951323118479247567123428763002992793183385345449783944402886592086607834105428707403104025847 7153630875409841855672838212159270756776740170380719945603048894502451343382647493543052329073912178982823825658112454896606616463416326879754894091232871156589599528414072600221945773912412487004682505056492452385924423083445322292241434748538711402614023580209854724741452106228491423918505600557497105152263011110457357837980569040276416856439178387167373299471685111745790552600009082358066316768271631605474446991168231823453365912084337540694623170980278420646616938197156060265188993399646445627223709503135812320918995541684229987487118448360459398327253857726930439824183521819914077315666409361954695960827785408408824697758182941313659168581298235467000910386668648022068052631443253897203260204061095431745278617020832959676791235637164351093662364232772786665850012751708050969954087021016215802152452350303017590215044133636690398606328680603528141449643196326190348770521452012323219617425793604411881186771804722672347190142064167047072816151081059878107356443638817181539802489328539223993612913030435350753587816758370002619516080700631969822425344389221009654639017362478242249323065883521948508063426034156025691355729021585556755870096256315623298512717259554610289355436044674050364538977510751819452931160927363760865214884015750270574133256926392485658418611485160696291764225962656299647120534093243255893577336574228651897216247919289369126671415555598096998530520046730972906160561227145394396035262832045992047848757319826086913822703440071854947585302907277316051974222483930535193404934469157327426196507795952131690448101216026687222437975599011948157152998023445069249837932339062003945696773505935899103283436716409873915955130138832682019977410035249069677312134411027544960161285913937562116077423393700610103495635555412295849263086529858645195057883051744581783044219107151061278637865936136208544932632356413880439377995708952566005990461753729676343300163346702833159188826192856061520371550537793448172190532096004583352265205480264559184095537584299126646647413959674754233732774207838649627061729169387201294001338829099101791996811269919931832549805023881067412891516048027308088716060203457907541820993270082456722684955248121744272172921816999991870308278136358882282351995773183576477977761219227591017863781990461000032044751773617977389586014172580896158354788858069905150075910022134421355095455306237730194400455290269165096465602870972739584208937936822923375670132246334550335364259379833251128668528249909619638202374747732577101164497131496849223384524344123961880705738378514332630454864649489152798731669444896757121898700021260851039960403179558529802955935836592689117763181499944295847145739634659080803102625613052803508690676449466298270670310686262716635849874329801994787648302652589788061742480319131472954137336992494600130191841424571904109774634651 11574817899383788491610751826783064028438548096960386716125975564579882551757635704392594499105003267322413153303612186664924072431406839014973930166806647926184722240633009860936389533102967531153838426788974873446256086765806468791836207131405550686995121745476117170377497416191644737581378011186442737029213645064606177448563643422819769913483089766621961830203293436663802248128903852377421872903699540752017769921008049071861192980615377893787296639812290253233105608547041806825223249808498563615870760951747078436947986594307274550183485949708631850316158479514252045738468409107269807786616435511299880829464118692418468964802584350958769311184742000997550216612273491173418455683577931204497987947158534510311027179267939053068902864634395841086702471745955239193714769339353859812707189709213433652371910532350568259727143320993528828828005788449229322027428760491616369196419309227812469212614880815381573526931364747554922526473671867634891212370972905044163903617808684311793673599872913546570922115131142329564697490784380527145162464877787163471776122110390183205045406416976660495414887781939672246552486098590762104329977792469546739925385912097182855721010362259101606530916390707607260020220035919242344836270781404409957918075076535340884914325919926380259519798143896857029885306782753400086834875889822727064435115117308401200641123964138247856972171523245997862231007631424045610873861940636922546338367806864357562786423355845540967563762465506073766976684643626864490758873576515217333847389465142767564205328138548331099406650784790630481649663604977974596540263998361076832506444702559209734375211281275236081202465065361282491381298553735433618404568416472175951739642234459972703876256983616240796059226402951254383370890986086438989288165006103870521908989492118472734101575920471342702380315021566243422026984042324682008769704487156361250484424740075989231721029981828405680177791439195622584895463856781575541450854434215587567070981104267611515379599833643075733808542840293145597952199767486562061627283245014919603257368080776842081908439028900112256095597483732435976517524232156763770247178270880705610497078938669988601972172410844797600656341977159236517978273698777020168771923295380697449063600701702425212670786802121286199222579827255055599241874977111141202731176024463755047269912817274659314116676622388587546497019286923218306789437936390274643221525035355827087342203080932043703199282659988171851526728228324991677731524036059008864585249007993361317491849864343251456815357446439174600134925604792416348473135720650176077440717226522785564495877217461796951867385405990247118761159927648320403534594554762648718860604203565596339168972889137642885667664695812990085552169281125113266895869776018551064735273502516818403921281395381192216799675530000611512878660498 18728448774793630347283590038942334785215288267341106661729024459082333895140283197935646828178915446305236978961724641561530688894823165894728824258039519082774321769047082461158335307015380018158520931845467325832180509849251791084077641879944262089609145325685971895118949522420136161499883611743939842181476656175063535286544212463096186769922268153789335129674978548409592800728912934735488189671971172357492216912176280895314558892699715434481919810792568673879722546744197867090412243208145009243094470454882890757866982135991504537670604398069091248643412337241182485562651930927183885102282844873254576790291904100827293662560767292272428479766040236464551126998942139195486508315021185101701248151219629942056305796288772012745694100271560192180364835978728025859564782091061910782661276730229649454524362882653585849942187454630219227434334469052757463477071956817806717966940761240135688830040674419793454713703169470227269716615736034681964028522053964922271260061447501493333476089201452770564535028161577680318285307542750529764678545578419133294201466499611192859684423779454902744737953665461620754615912132746787795685706814055103495795482168412806154233727621813711895886352435381657624559197546671061797767431708768170823132959092285611459047582846318865917938409629057553321649532745409699733955409983065982958012451691537053097857371883427616983643587078844094860761527678155018517034423167782316942373630638910349610635180675671627881386465905577928714561987550904180542733096060445752527252323934300094990401835934500462789854752000817317704087639203989922753693262021806146082344377041621213680071984787211135184485901781771156407336428692568115638381978451721245629051776645487517664037542897553802912136649796651864486866526541498734838551251535962515716966872543863054517145795027622403981018180957702451966959616398738562448147700196108927256474886493805665575021193328531238839366617632051684105267014394575023713641386530220170919336186584532170699475137417942202380455956799967899831684973975325211688689012414402120897258706909875943873905250298820044088645402507613503389409040280184071858963238474338613152318072208752445324657127658966541872829263794159228388286551835135902451123919068564273927041361920930016230534568792582286231267331600873032988827889149692037361085964882533660197345822839409080669212131928626317740897474577192383403255040807363014227430462972178750463012335327266594038563542039821422980195256478234611315933898783791585965749746139490210540876374208467213337521095824953507230589790254281569147204805165546933199339417247783636604456280397020326754823321242582936236524341427592616250680334189421729521963229816618399847859649338603941156337975382075706721402043610927108054544172428608339126477753821648291358058618387875792346991516954572515622653295149 30303266674177418838894341865725398813653836364301493377855000023662216446897918902328241327283918713627650132265336828226454761326230004909702754424846167008959044009680092322094724840118347549312359358634442199278436596615058259875913849011349812776604267071162089065496446938611780899081261622930382579210690301239669712735107855885915956683405357920411296959878271985073395048857816787112910062575670713109509986833184329967175751873315093328269216450604858927112828155291239673915635493016643572858965231406629969194814968730298779087854090347777723098959570816755434531301120340034453692888899280384554457619756022793245762627363351643231197790950782237462101343611215630368904963998599116306199236098378164452367332975556711065814596964905956033267067307724683265053279551430415770595368466439443083106896273415004154109669330775623748056262340257501986785504500717309423087163360070467948158042655555235175028240634534217782192243089407902316855240893026869966435163679256185805127149689074366317135457143292720009882982798327131056909841010456206296765977588610001376064729830196431563240152841447401293001168398231337549900015684606524650235720868080509989009954737984072813502417268826089264884579417582590304142603702490172580781051034168820952343961908766245246177458207772954410351534839528163099820790285872888710022447566808845454298498495847565864840615758602090092722992535309579064127908285108419239488711998445774707173421604031517168848950228371084002481538672194531045033491969636960969861099713399442862554607164073048793889261402785607948185737302808967897350233526020167222914850821744180423414447196068486371265688366847132438898717727246303549256786546868193421580791418879947490367913799881170043708195876199603118870237417527585173827839416542066386238875862035981527251247370948093746683398495979268695388986600441063244456917404683265288506959311233881654806742223310359644519544409071247306690162478251356599255092240964435758486407167688799782214854737251585278114264499640261045429637173742811773750316295659417040500516074990652785955813689327720156344740999991345939365926564512340835629210416745219318762815151147422433926629300069811339473485605771318464906264825533912922619895842363944971376104962622632441443205355594703572430489911428128088588069764126803178563817140906997415244615735656683739983328808551014905287394493864115601710044478743753288870651988007534577550354538408198637741762824699809594831721984706559602993665422819850594830334995147483571858368224072810464794336453271392681830724715859073985495677940886197109276780134474306422168952157614482123706690706648573183355285501355240936654214928744184378240823834020183996187028622227741584042005640077888696806954212892052221321440042204626890191213027324165109761979899783256984563791192484573127135531955647 49031715448971049186177931904667733598869124631642600039584024482744550342038202100263888155462834159932887111227061469787985450221053170804431578682885686091733365778727174783253060147133727567470880290479909525110617106464310050959991490891294074866213412396848060960615396461031917060581145234674322421392166957414733248021652068349012143453327626074200632089553250533482987849586729721848398252247641885467002203745360610862490310766014808762751136261397427600992550702035437541006047736224788582102059701861512859952681950866290283625524694745846814347602983153996617016863772270961637577991182125257809034410047926894073056289924118935503626270716822473926652470610157769564391472313620301407900484249597794394423638771845483078560291065177516225447432143703411290912844333521477681378029743169672732561420636297657739959611518230253967283696674726554744248981572674127229805130300831708083846872696229654968482954337703688009461959705143936998819269415080834888706423740703687298460625778275819087699992171454297690201268105869881586674519556034625430060179055109612568924414253975886465984890795112862913755784310364084337695701391420579753731516350248922795164188465605886525398303621261470922509138615129261365940371134198940751604183993261106563803009491612564112095396617402011963673184372273572799554745695855954692980460018500382507396355867730993481824259345680934187583754062987734082644942708276201556431085629084685056784056784707188796730336694276661931196100659745435225576225065697406722388352037333742957545009000007549256679116154786425265889824942012957820103926788041973368997195198785801637094519180855697506450174268628903595306054155938871664895168525319914667209843195525435008031951342778723846620332525996254983357103944069083908666390668078028901955842734579844581768393165975716150664416676936971147355946216839801806905065104879374215763434197727687320381763416638890883358911026703298990795429492645931622968733627494655929405743354273331952914329874669527480494720456440228945261322147718136985439005308073819161397774781900528729829718939626540200433386402498959442755335604792524907488173655219557931915133223356174879251286427728777881346314869565477693294551377369048825071019761432509245303146324543562457673739924387285858661757243029001121576897653276495215924903105789531075441961558496092820652540940479641223028291968441307985113299519551116303098082450979713328013366873735465231780326366739631017811917241184794214309599321603642180796084741286973782399244598281277678131857549096346189061314506113355554642882746051744042476119551722090058773408438011502450461514027891156119591809842782833552904895262933606107762787063836802396034888271566345525198343615459964403528356256502979329375984214633235229317690781145813401120038518171132776910782709439145642758185250796 79334982123148468025072273770393132412522960995944093417439024506406766788936121002592129482746752873560537243492398298014440211547283175714134333107731853100692409788407267105347784987252075116783239649114351724389053703079368310835905339902643887642817679468010150026111843399643697959662406857604705000602857258654402960756759924234928100136732983994611929049431522518556382898444546508961308314823312598576512190578544940829666062639329902091020352712002286528105378857326677214921683229241432154961024933268142829147496919596589062713378785093624537446562553970752051548164892610996091270880081405642363492029803949687318818917287470578734824061667604711388753814221373399933296436312219417714099720347975958846790971747402194144374888030083472258714499451428094555966123884951893451973398209609115815668316909712661894069280849005877715339959014984056731034486073391436652892293660902176032004915351784890143511194972237905791654202794551839315674510308107704855141587419959873103587775467350185404835449314747017700084250904197012643584360566490831726826156643719613944989144084172318029225043636560264206756952708595421887595717076027104403967237218329432784174143203589959338900720890087560187393718032711851670082974836689113332385235027429927516146971400378809358272854825174966374024719211801735899375535981728843403002907585309227961694854363578559346664875104283024280306746598297313146772850993384620795919797627530459763957478388738705965579286922647745933677639331939966270609717035334367692249451750733185820099616164080598050568377557572033214075562244821925717454160314062140591912046020529982060508966376924183877715862635476036034204771883185175214151955072188108088790634614405382498399865142659893890328528402195858102227341361596669082494230084620095288194718596615826109019640536923809897347815172916239842744932817280865051361982509562639504270393508961568975188505639949250527878455435774546297485591970897288222223825868459091687892150521962131735129184611921112758608984956080489990690959321460948759189321603733236201898290856891181515785532628954260356778127402490305382121262169304865743117384071964777250677948374503597313177915727798589220819800475336796158200816202902961747690915603796454216679251287166194899116945279981989431092247154457129210164967417403298394488720246696528490686577294152776560635869749030656128315686462305423586823343998294869591968734438987247905563721412143663869522089191439440612643639225891353817303264744423492775626419736434457354257612822354088142926194002367738870892039221972429540138560686937941151752899686196396480942360595625984574168204734539729302947095344138074489559110191677790486003610897856986392221916893794087109240349255537853100335310469395031550697424256837862119508903808469978510882018417954389761474573901923718769893717206443 128366697572119517211250205675060866011392085627586693457023048989151317130974323102856017638209587033493424354719459767802425661768336346518565911790617539192425775567134441888600845134385802684254119939594261249499670809543678361795896830793937962509031091864858210986727239860675615020243552092279027421995024216069136208778411992583940243590060610068812561138984773052039370748031276230809706567070954484043514394323905551692156373405344710853771488973399714129097929559362114755927730965466220737063084635129655689100178870462879346338903479839471351794165537124748668565028664881957728848871263530900172526439851876581391875207211589514238450332384427185315406284831531169497687908625839719122000204597573753241214610519247677222935179095260988484161931595131505846878968218473371133351427952778788548229737546010319634028892367236131682623655689710611475283467646065563882697423961733884115851788048014545111994149309941593801116162499695776314493779723188539743848011160663560402048401245626004492535441486201315390285519010066894230258880122525457156886335698829226513913558338148204495209934431673127120512737018959506225291418467447684157698753568578355579338331669195845864299024511349031109902856647841113036023345970888054083989419020691034079949980891991373470368251442576978337697903584075308698930281677584798095983367603809610469091210231309552828489134449963958467890500661285047229417793701660822352350883256615144820741535173445894762309623616924407864873739991685401496185942101031774414637803788066928777644625164088147307247493712358458479965387186834883537558087102104113960909241219315783697603485557779881384166036904104939629510826039124046879047123597508022756000477809930817506431816485438617736948860928192113085584445305665752991160620752698124190150561331195670690788033702899526048012231849853210990100879034120666858267047614442013720033827706689256295570269056588141411237366462477845288281021463543219845192559495953747617297893876235463688043514486590640239103705412520718935952281469179085744628326911807055363296065638791710245615251568580800557211513804989264824876597774097390650605557727184335182593081597859772192429202155527367102166115344902273851495367580272010572761935365228963461982397611709757356790685204369275289754004397486130331741865070679793610413623352486059566128538852648869381288410689510297351343978430746731571936643517845985895066816889966961233577088285879129101302415558179071630455556467076148031612864066027134956422504477721431136656857420635365821058051551464085059953353728085785094781443432989685194229019237918486539715769033637487024629718762430885422538905186920908042464005454611396593766397961693788788256805165360432634438692870997817503863666725898010880073408471471097348826594589615791912002056936125522538385356611362864412651902457239 207701679695267985236322479445453998423915046623530786874462073495558083919910444105448147120956339907053961598211858065816865873315619522232700244898349392293118185355541708993948630121637877801037359588708612973888724512623046672631802170696581850151848771332868361012839083260319312979905958949883732422597881474723539169535171916818868343726793594063424490188416295570595753646475822739771014881894267082620026584902450492521822436044674612944791841685402000657203308416688791970849414194707652892024109568397798518247675790059468409052282264933095889240728091095500720113193557492953820119751344936542536018469655826268710694124499060092973274394052031896704160099052904569430984344938059136836099924945549712088005582266649871367310067125344460742876431046559600402845092103425264585324826162387904363898054455722981528098173216242009397963614704694668206317953719457000535589717622636060147856703399799435255505344282179499592770365294247615630168290031296244598989598580623433505636176712976189897370890800948333090369769914263906873843240689016288883712492342548840458902702422320522524434978068233391327269689727554928112887135543474788561665990786907788363512474872785805203199745401436591297296574680552964706106320807577167416374654048120961596096952292370182828641106267751944711722622795877044598305817659313641498986275189118838430786064594888112175154009554246982748197247259582360376190644695045443148270680884145604584699013562184600727888910539572153798551379323625367766795659136366142106887255538800114597744241328168745357815871269930491694040949431656809255012247416166254552821287239845765758112451934704065261881899539580975663715597922309222093199078669696130844791112424336200004831681628098511627277389330387971187811786667262422073654850837318219478345279927811496799807674239823335945360047022769450832845811851401531909629030124004653224304221215650825270758774696537391939115821898252391585766613434440508067416385364412839305190044398197595423172699098511752997712690368601208926643240790640034503817648515540291565194356495682891761400784197535060913989641207479570206997859943402256393722941799149112433271029972363369505607117883325956322985915820239070009696183783174972320452850969025417678661648898875952255907630484351264720846251551943259541906832488083092004902343599182588056815116146801645941924280438540953479659664893052155158759987516140855487035551328954209139140809698022792970824504749618512243099195692967501848916128810450627732048924214155888490914470242989453963984245553831823930845392950058214634920004119927626345981918924114883020658129629263471598797923496970614725486000531058982532023115646289187079770008859550775180478722059154519743679042126535670604198977195293042430770832728308959468335498398085770422884075354079912299859930513286583182545619663682 336068377267387502447572685120514864435307132251117480331485122484709401050884767208304164759165926940547385952931317833619291535083955868751266156688966931485543960922676150882549475256023680485291479528302874223388395322166725034427699001490519812660879863197726571999566323120994928000149511042162759844592905690792675378313583909402808587316854204132237051327401068622635124394507098970580721448965221566663540979226356044213978809450019323798563330658801714786301237976050906726777145160173873629087194203527454207347854660522347755391185744772567241034893628220249388678222222374911548968622608467442708544909507702850102569331710649607211724726436459082019566383884435738928672253563898855958100129543123465329220192785897548590245246220605449227038362641691106249724060321898635718676254115166692912127792001733301162127065583478141080587270394405279681601421365522564418287141584369944263708491447813980367499493592121093393886527793943391944662069754484784342837609741286993907684577958602194389906332287149648480655288924330801104102120811541746040598828041378066972816260760468727019644912499906518447782426746514434338178554010922472719364744355486143942850806541981651067498769912785622407199431328394077742129666778465221500364073068811995676046933184361556299009357710328923049420526379952353297236099336898439594969642792928448899877274826197665003643144004210941216087747920867407605608438396706265500621564140760749405440548735630495490198534156496561663425119315310769262981601237397916521525059326867043375388866492256892665063364982288950174006336618491692792570334518270368513730528459161549455715937492483946646047936443685915293226423961433268972246202267204153600791590234267017511263498113537129364226250258580084273396231972928175064815471590016343668495841259007167490595707942722861993372278872622661822946690885522198767896077738446666944338048922340081566329043753125533350353188360730236874047634897983727912608944860366586922487938274433059111216213585102393236816395781121927862595522259819120248445975427347346928490422134474602007016035766115861471201155012468835031874457717499647044328499526333447615864111570223141698036320038853323425152031165141343861191551363446982893214786334254381140644046510585709612698315688720540010600255949429389873648697558762885615315966951668647622943654999450515323212691128051250831003643323798886730696631033986841382102368218921170372717897983901922072126920307797583873554752160043649880528992876477762688471428691877319627571327663624819785042297105295908990798746678143999729701447552917311540210938162033369560373898662900958623427642259401500148024905717979890574487121100900583673536406821244563968735527224514952378117734997533488108062643921191053310844241199780056817162092987701562334886132290205434838245287124649447595197522120921 543770056962655487683895164565968862859222178874648267205947195980267484970795211313752311880122266847601347551143175899436157408399575390983966401587316323778662146278217859876498105377661558286328839117011487197277119834789771707059501172187101662812728634530594933012405406381314240980055469992046492267190787165516214547848755826221676931043647798195661541515817364193230878040982921710351736330859488649283567564128806536735801245494693936743355172344203715443504546392739698697626559354881526521111303771925252725595530450581816164443468009705663130275621719315750108791415779867865369088373953403985244563379163529118813263456209709700184999120488490978723726482937340308359656598501957992794200054488673177417225775052547419957555313345949909969914793688250706652569152425323900304001080277554597276025846457456282690225238799720150478550885099099947887919375084979564953876859207006004411565194847613415623004837874300592986656893088191007574830359785781028941827208321910427413320754671578384287277223088097981571025058838594707977945361500558034924311320383926907431718963182789249544079890568139909775052116474069362451065689554397261281030735142393932306363281414767456270698515314222213704496006008947042448235987586042388916738727116932957272143885476731739127650463978080867761143149175829397895541916996212081093955917982047287330663339421085777178797153558457923964284995180449767981799083091751708648892245024906353990139562297815096218087444696068715461976498638936137029777260373764058628412314865667157973133107820425638022879236252219441868047286050148502047582581934436623066551815699007315213828389427188011907929835983266890956942021883742491065445280936900284445582702658603217516095179741635640991503639588968055461208018640190597138470322427334563146841121186818664290403382182546197938732325895392112655792502736923730677525107862451320168642270137990906837087818449662925289469010258982628459814248332424235980025330224779426227677982672630654534388912683614146234529086149723136789238763050459154752263623942887638493684778630157493768416819963650922385190796219948405238872317660901903438051441325482560049135141542586511203643437922179279748137946985380413870887735146621955213667637303279798819305695409461661868605946173071804731446507501372649415555530046845977620218310550851235679758771146252161265136971566592204310663308216851041889456618550127696869137919547875379511858707681924715042951425057416096116653947853011151729445121686928390420520352906033208118485797906614273749026542659127732921644139628202214364621451672844937886192857086148252581032028292164430222225565756372114873510906249038873106510236747189770753306415680795339149214249283669472121796777124069158712261621116484095741615073928089016285497591385787332757770207644285347138105217637936030777743141784603 879838434230042990131467849686483727294529311125765747537432318464976886021679978522056476639288193788148733504074493733055448943483531259735232558276283255264206107200894010759047580633685238771620318645314361420665515156956496741487200173677621475473608497728321505011971729502309168980204981034209252111783692856308889926162339735624485518360502002327898592843218432815866002435490020680932457779824710215947108543355162580949780054944713260541918503003005430229805784368790605424403704515055400150198497975452706932943385111104163919834653754478230371310515347535999497469638002242776918056996561871427953108288671231968915832787920359307396723846924950060743292866821776047288328852065856848752300184031796642746445967838444968547800559566555359196953156329941812902293212747222536022677334392721290188153638459189583852352304383198291559138155493505227569520796450502129372164000791375948675273686295427395990504331466421686380543420882134399519492429540265813284664818063197421321005332630180578677183555375247630051680347762925509082047482312099780964910148425304974404535223943257976563724803068046428222834543220583796789244243565319734000395479497880076249214087956749107338197285227007836111695437337341120190365654364507610417102800185744952948190818661093295426659821688409790810563675555781751192778016333110520688925560774975736230540614247283442182440297562668865180372743101317175587407521488457974149513809165667103395580111033445591708285978852565277125401617954246906292758861611161975149937374192534201348521974312682530687942601234508392042053622668640194840152916452706991580282344158168864669544326919671958553977772426952806250168445845175760037691483204104438046374292892870235027358677855172770355729889847548139734604250613118772203285794017350906815336962445825831780999090125269059932104604768014774478739193622445929445421185600897987112980319060330988403416862202788458639822198619712865333861883230407963892634275085146013150165920947063713645605126268716539471345481930845064651834285310278275000709599370234985422175200764632095775432855729766783856391951232417240270746775378401550482379940851816007664999253112809652901679757961032603173289978150521757732079286510068938106882423637534179959949741920047371481304261861792344742046763450802039289204227605608863235534277502519883302702426145702676588349662694643455141666951540649928620153249584114538251240287766796549884576605665826637115078345365213679990208700013054801609974114563406153108991781597910527746057125570239093534068839764423641912442886306346214094322899225762249426403795248181622141405926955065388845653208015773615021535811967018763680997357848090354426842822502039903117949776508184424499914512121602646820324265037675149052459315127869073102659684373488895092656339934490781976350504762585478372940663905524 1423608491192698477815363014252452590153751490000414014743379514445244370992475189835808788519410460635750081055217669632491606351883106650719198959863599579042868253479111870635545686011346797057949157762325848617942634991746268448546701345864723138286337132258916438024377135883623409960260451026255744378974480021825104474011095561846162449404149800523560134359035797009096880476472942391284194110684198865230676107483969117685581300439407197285273675347209145673310330761530304122030263869936926671309801747377959658538915561685980084278121764183893501586137066851749606261053782110642287145370515275413197671667834761087729096244130069007581722967413441039467019349759116355647985450567814841546500238520469820163671742890992388505355872912505269166867950018192519554862365172546436326678414670275887464179484916645866542577543182918442037689040592605175457440171535481694326040859998381953086838881143040811613509169340722279367200313970325407094322789326046842226492026385107848734326087301758962964460778463345611622705406601520217059992843812657815889221468809231881836254187126047226107804693636186337997886659694653159240309933119716995281426214640274008555577369371516563608895800541230049816191443346288162638601641950549999333841527302677910220334704137825034554310285666490658571706824731611149088319933329322601782881478757023023561203953668369219361237451121126789144657738281766943569206604580209682798406054190573457385719673331260687926373423548633992587378116593183043322536121984926033778349689058201359321655082133108168710821837486727833910100908718788696887735498387143614646834159857176179883372716346859970461907608410219697207110467728918251103136764141004722491956995551473452543453857596808411347233529436516195195812269253309369341756116444685469962178083632644496071402472307815257870836930663406887134531696359369660122946293463349307281622589198321895240504680652451383929291208878695493793676131562832199872659605309925439377843903619694368179994038952330685705874568080568201441073048360737429752973223313122623915859979394789589543849675693417706241582747452365645509619093039303453920431382177298567714134394655396164105323195883211882921427925135902171602967021656690893320550060940813978779255437329509033349910208034864149473493270952174688704759757652454840855752588053371118982461197291954837853486634261235659452330259757500970509609868134242235120378207314671929396435313347751352158029770422629776106862647866065953339419236250334543529512134503943735864542923476853367283095382423551374834087025934548428458944350898607187312596652334329874722437955247229819067878773772145729895046718216057636787507594595280125180149238182835242267164025791853896621711289245671805532585886154159244794074389055958089388157275759276227850426547578776129114455722400521509150683805690127 2303446925422741467946830863938936317448280801126179762280811832910221257014155168357865265158698654423898814559292163365547055295366637910454431518139882834307074360680005881394593266645032035829569476407640210038608150148702765190033901519542344613759945629987237943036348865385932578940465432060464996490758172878133994400173435297470647967764651802851458727202254229824962882911962963072216651890508909081177784650839131698635361355384120457827192178350214575903116115130320909546433968384992326821508299722830666591482300672790144004112775518662123872896652414387749103730691784353419205202367077146841150779956505993056644929032050428314978446814338391100210312216580892402936314302633671690298800422552266462910117710729437357053156432479060628363821106348134332457155577919768972349355749062997177652333123375835450394929847566116733596827196086110403026960967985983823698204860789757901762112567438468207604013500807143965747743734852459806613815218866312655511156844448305270055331419931939541641644333838593241674385754364445726142040326124757596854131617234536856240789411069305202671529496704232766220721202915236956029554176685036729281821694138154084804791457328265670947093085768237885927886880683629282828967296315057609750944327488422863168525522798918329980970107354900449382270500287392900281097949662433122471807039531998759791744567915652661543677748683795654325030481383084119156614126068667656947919863356240560781299784364706279634659402401199269712779734547429949615294983596088008928287063250735560670177056445790699398764438721236225952154531387428891727888414839850606227116504015345044552917043266531929015885380837172503457278913574094011140828247345109160538331288444343687570812535451981181702963419284064334930416519866428141545041910462036376777515046078470327852401562433084317802941535431421661613270889981815589568367479064247294394602908258652883643921542855239842569113407498408359127538014793240163765293880395071452528009824566758081825599165221047225177220050011413266092907333671015704753682822683357609338035180159421685319282531423184490097974698684782885780365868417705004402811323029114575379133647768205817007002953844244486094717903286423929335046308166759831427432484578348158739205179249556404831214469896656494215540034402976727993963985258063704091286865555891002285163623437657514441836296955879114593997211298150899129763117718356773371618495081468479281011919013577989273108115787843456097071347879120754949393350813740696638503916101854263610600049047092460817164222187975016746529912240894642553267250124369436739000447582511496863843882202295207913531981787919344916582530183076400468504952443370479606992060684875145385113802300038321121625801367274452352910151191834393846533704183827162490816960132765122943082887513266911090806227163106987523624469595651 3727055416615439945762193878191388907602032291126593777024191347355465628006630358193674053678109115059648895614509832998038661647249744561173630478003482413349942614159117752030138952656378832887518634169966058656550785140449033638580602865407067752046282762246154381060726001269555988900725883086720740869732652899959098874184530859316810417168801603375018861561290026834059763388435905463500846001193107946408460758323100816320942655823527655112465853697423721576426445891851213668464232254929253492818101470208626250021216234476124088390897282846017374482789481239498709991745566464061492347737592422254348451624340754144374025276180497322560169781751832139677331566340008758584299753201486531845300661072736283073789453620429745558512305391565897530689056366326852012017943092315408676034163733273065116512608292481316937507390749035175634516236678715578484401139521465518024245720788139854848951448581509019217522670147866245114944048822785213708138008192359497737648870833413118789657507233698504606105112301938853297091160965965943202033169937415412743353086043768738077043598195352428779334190340419104218607862609890115269864109804753724563247908778428093360368826699782234555988886309467935744078324029917445467568938265607609084785854791100773388860226936743364535280393021391107953977325019004049369417882991755724254688518289021783352948521584021880904915199804922443469688219664851062725820730648877339746325917546814018167019457695966967561032825949833262300157851140612992937831105581014042706636752308936919991832138578898868109586276207964059862255440106217588615623913226994220873950663872521224436289759613391899477792989247392200664389381303012262243965011486113883030288283995817140114266393048789593050196948720580530126228789119737510886798026906721846739693129711114823923804034740899575673778466094828548747802586341185249691313772527596601676225497456974778884426223507691226498404616377103852921214146356072363637953485704996891905853728186452450005593204173377910883094618091981467533980382031753134506656045996480233253895159554211274863132207116602196339557446137148531289984961457008458323242705206413143093268042423601981112326149727456369016145828422326100938013329823450724747982545519162137518460616579065438181124677931520643689033305355151416698723742910518544947039453609262121267624820729612352295322931217114774046327471055651869639372985852599008491996702396140408677447232361329341431137886210473232203933995745186708288812587064075240168016050605797999475142972523945828100259604611526391580616938175443071012211601022976624051597099916841371586281837449525026981410755560065074811629248399134037256012547038650604787141298867710387652277828091892217743337090612946257885496037345993638640608093239785251878974235892041350793509435092043040205261949563628496674308275285778 6030502342038181413709024742130325225050313092252773539305003180265686885020785526551539318836807769483547710173801996363585716942616382471628061996143365247657016974839123633424732219301410868717088110577606268695158935289151798828614504384949412365806228392233392324097074866655488567841191315147185737360490825778093093274357966156787458384933453406226477588763544256659022646300398868535717497891702017027586245409162232514956304011207648112939658032047638297479542561022172123214898200639921580314326401193039292841503516907266268092503672801508141247379441895627247813722437350817480697550104669569095499231580846747201018954308230925637538616596090223239887643782920901161520614055835158222144101083625002745983907164349867102611668737870626525894510162714461184469173521012084381025389912796270242768845731668316767332437238315151909231343432764825981511362107507449341722450581577897756611064016019977226821536170955010210862687783675245020321953227058672153248805715281718388844988927165638046247749446140532094971476915330411669344073496062173009597484703278305594317833009264657631450863687044651870439329065525127071299418286489790453845069602916582178165160284028047905503081972077705821671965204713546728296536234580665218835730182279523636557385749735661694516250500376291557336247825306396949650515832654188846726495557821020543144693089499674542448592948488718097794718701047935181882434856717544996694245780903054578948319242060673247195692228351032532012937585688042942553126089177102051634923815559672480662009195024689567508350714929200285814409971493646480343512328066844827101067167887866268989206802879923828493678370084564704121668294877106273384793258831223043568619572440160827685078928500770774753160368004644865056645308986165652431839937368758223517208175789585151776205597173983893476720001526250210361073476323000839259681251591843896070828405715627662528347766362931069067518023875512212048752161149312527403247366100068344433863552753210531831192369394425136060314668103394733626887715702768839260338868679837842591930339713632960182414738539786686437532144821931417070350829874713462726054028235527718472401690191807798119329103571700855110863731708750030273059637990210556175415030097510296257665795828621843012339147828177137904573339758128144692687728168582249038326319165153123552788444167269866737159228172993888640324682353802768769136103570955781863615197477608887958459151374907330704246001998316688301005343624307463238205937877815936806519966707652263085743021571038288917423826799501408327146850416337713565478851147346060790597547499352868450125719651820234894942737347984419728211778582210437724517499482021084394133359552585533037391630391930538864962891980220710238406188537828032487141797423612414369791196024806473736592322605309951296068176726735484197932744881429 9757557758653621359471218620321714132652345383379367316329194527621152513027415884745213372514916884543196605788311829361624378589866127032801692474146847661006959588998241385454871171957789701604606744747572327351709720429600832467195107250356480117852511154479546705157800867925044556741917198233906478230223478678052192148542497016104268802102255009601496450324834283493082409688834773999218343892895124973994706167485333331277246667031175768052123885745062019055969006914023336883362432894850833807144502663247919091524733141742392180894570084354158621862231376866746523714182917281542189897842261991349847683205187501345392979584411422960098786377842055379564975349260909920104913809036644753989401744697739029057696617970296848170181043262192423425199219080788036481191464104399789701424076529543307885358339960798084269944629064187084865859669443541559995763247028914859746696302366037611460015464601486246039058841102876455977631832498030234030091235251031650986454586115131507634646434399336550853854558442470948268568076296377612546106665999588422340837789322074332394876607460010060230197877385070974657936928135017186569282396294544178408317511695010271525529110727830140059070858387173757416043528743464173764105172846272827920516037070624409946245976672405059051530893397682665290225150325400999019933715645944570981184076110042326497641611083696423353508148293640541264406920712786244608255587366422336440571698449868597115338699756640214756725054300865794313095436828655935490957194758116094341560567868609400653841333603588435617936991137164345676665411599864068959136241293839047975017831760387493425496562493315727971471359331956904786057676180118535628758270317336926598907856435977967799345321549560367803357316725225395182874098105903163318637964275480070256901305500699975700009631914883469150498467621078759108876062664186088950995024119440497747053903172602441412773989870622295565922640252616064969966307505384891041200851805065236339717280939662981836785573567803046943409286195376201160868097734521973766994914676318075845825499267844235045546945656388882777089590959079948360335791331721921049296733441940861565669732615409779231655253299157224127009560131076131211072967813661280923397575616672433776126412407687281193463825759697781593606645113279561391411471079100793985365772774415244820413264896882219032482159390108662686652153409454638408509089423554790355611899873749296635906383736236672135383888208789920504939339369494171527018524941891176974536017313450262560885994094984117017683431411027799907763788591780784577690452170322684842194647416194240036407557101345261876353492908049494539841026981344474980530046520671689181274658420295920689669458483822756608299982593166968123902225883821671127749890663397666248765431916847824530101757697352991501330126290363980872241020167207 15788060100691802773180243362452039357702658475632140855634197707886839398048201411296752691351724654026744315962113825725210095532482509504429754470290212908663976563837365018879603391259200570321694855325178596046868655718752631295809611635305892483658739546712939029254875734580533124583108513381092215590714304456145285422900463172891727187035708415827974039088378540152105055989233642534935841784597142001580951576647565846233550678238823880991781917792700316535511567936195460098260633534772414121470903856287211933028250049008660273398242885862299869241673272493994337436620268099022887447946931560445346914786034248546411933892642348597637402973932278619452619132181811081625527864871802976133502828322741775041603782320163950781849781132818949319709381795249220950364985116484170726813989325813550654204071629114851602381867379338994097203102208367541507125354536364201469146883943935368071079480621463472860595012057886666840319616173275254352044462309703804235260301396849896479635361564974597101604004583003043240044991626789281890180162061761431938322492600379926712709616724667691681061564429722845097265993660144257868700682784334632253387114611592449690689394755878045562152830464879579088008733457010902060641407426938046756246219350148046503631726408066753567781393773974222626472975631797948670449548300133417707679633931062869642334700583370965802101096782358639059125621760721426490690444083967333134817479352923176063657941817313461952417282651898326326033022516698878044083283935218145976484383428281881315850528628278003126287706066364631491075383093510549302648569360683875076084999648253762414703365373239556465149729416521608907725971057224809013551529148559970167527428876138795484424250050331142556517684729870260239519407092068815750477901644238293774109481290285127476215229088867362627218469147328969469949538987186928210676275711284393817882308888230103941121756233553364633440664128128277018718468654697418444448217905133580773580833692873513667977942962228183003723954298770934787755813437290813027333783356155918437755838981477195227961684196175569214621735781011365430686621206435383775350761677468580038071422807217577350984356870858079237873291839826161484132605803871837098812605714182730033792208236309124205802973587874919498179984871407706084099199247683043023692091939568368373201709064152085769641387563102551326976835763257407177645192994510572219227097351358184594365535111144002839629890207106608805944682993801634765224462819707113781055984021102525646629015666022405935107258210529208234910639008118498143169303317668745632792194915547108486533276753165496771296230256033914268052805563554912705047546002692773575408017972881453727061088875753295473262874573387678362308414421649703614891688087010080618556627941654298266694080302662942797398303017099465070173765048636 25545617859345424132651461982773753490355003859011508171963392235507991911075617296041966063866641538569940921750425655086834474122348636537231446944437060569670936152835606404334474563216990271926301600072750923398578376148353463763004718885662372601511250701192485734412676602505577681325025711614998693820937783134197477571442960188995995989137963425429470489413212823645187465678068416534154185677492266975575657744132899177510797345269999649043905803537762335591480574850218796981623066429623247928615406519535131024552983190751052454292812970216458491103904649360740861150803185380565077345789193551795194597991221749891804913477053771557736189351774333999017594481442721001730441673908447730122904573020480804099300400290460798952030824395011372744908600876037257431556449220883960428238065855356858539562411589912935872326496443526078963062771651909101502888601565279061215843186309972979531094945222949718899653853160763122817951448671305488382135697560735455221714887511981404114281795964311147955458563025473991508613067923166894436286828061349854279160281922454259107586224184677751911259441814793819755202921795161444437983079078878810661704626306602721216218505483708185621223688852053336504052262200475075824746580273210874676762256420772456449877703080471812619312287171656887916698125957198947690383263946077988688863710041105196139976311667067389155609245075999180323532542473507671098946031450389669575389177802791773178996641573953676709142336952764120639128459345354813535040478693334240318044951296891281969691862231866438744224697203528977167740794693374618261784810654522923051102831408641255840199927866555284436621088748478513693783647237343344642309799465896896766435285312116763283769571599891510359875001455095655422393505197971979069115865919718364031010786790985103176224861003750831777716936768407728578825601651373017161671299830724891564936212060832545353895746104175660199363304380744341988684776160082309485649069710198817113298114632536495504763516530031229947133240494147135948623911171812786794328698032473994283581338249321430273508629852564451991711326740091313791022412538157304824647495119409441603741155422627356582639610170015303364882851970902292695205573617533118022210181330855163809918620643996405399266799347572701091786629984687267475510670326783837009057864713983613193614973961034304802123546953211214013628989172712045586154282418065362574838997225107481230271918847380674975013778415896529310884022363295806292242987761598290755592001334552788207515009761006522952790689621557008142674427599899282720859755487991430474986842331741348522940833854510758647649723164083408807893832544899387685577592523364462756682676393177374416730547359576052081562857166554646486210640305471374742641578750407746867322059858502122796795838000015934298728429307463445942414785215843 41333677960037226905831705345225792848057662334643649027597589943394831309123818707338718755218366192596685237712539480812044569654831146041661201414727273478334912716672971423214077954476190842247996455397929519445447031867106095058814330520968265085169990247905424763667552337086110805908134224996090909411652087590342762994343423361887723176173671841257444528501591363797292521667302059069090027462089408977156609320780465023744348023508823530035687721330462652126992142786414257079883699964395662050086310375822342957581233239759712727691055856078758360345577921854735198587423453479587964793736125112240541512777255998438216847369696120155373592325706612618470213613624532083355969538780250706256407401343222579140904182610624749733880605527830322064617982671286478381921434337368131155052055181170409193766483219027787474708363822865073060265873860276643010013956101643262684990070253908347602174425844413191760248865218649789658271064844580742734180159870439259456975188908831300593917157529285745057062567608477034748658059549956176326466990123111286217482774522834185820295840909345443592321006244516664852468915455305702306683761863213442915091740918195170906907900239586231183376519316932915592060995657485977885387987700148921433008475770920502953509429488538566187093680945631110543171101588996896360832812246211406396543343972168065782311012250438354957710341858357819382658164234229097589636475534357002710206657155714949242654583391267138661559619604662446965161481862053691579123762628552386294529334725173163285542390860144441870512403269893608658816177786885167564433380015206798127187831056895018254903293239794840901770818165000122601509618294568153655861328614456866933962714188255558768193821650222652916392686184965915661912912290040794819593767563956657805120268081270230652440090092618194404935405915736698048775140638559945372347575542009285382818520949062649295017502337729024832803968508872619007403244814779727930097287615332397886878948325410009172741459492259412950857194792918070736379724609103599821662481388629912721337177230798625501470314048740021206333062521102679221709033744592688599998256796878021641812578229844933933623967040873382602756143810728454179338179421404955121022787045037893843710828880305529605069772935447620589966614856094973559609869574466880032749956653551981566816683025186390571764934516313765340605824935969452763799475412575934794066094576465665824637453958524677814643668623003138116828705357097441057467450581305404536647985355655313854144025427028928887897947832086216377585066608017780864029058805660176107779037247288457009474110607676255418945953420117323075946638108454300390625138526057236332090694366058828143791636235329347554825731739942324848519054727121078357533266837417827485878687800156421063489918302678877096126732324562911012588550264479 66879295819382651038483167327999546338412666193655157199560982178902823220199436003380684819085007731166626159462965135898879043777179782578892648359164334048005848869508577827548552517693181114174298055470680442844025408015459558821819049406630637686681240949097910498080228939591688487233159936611089603232589870724540240565786383550883719165311635266686915017914804187442479987345370475603244213139581675952732267064913364201255145368778823179079593524868224987718472717636633054061506766394018909978701716895357473982134216430510765181983868826295216851449482571215476059738226638860153042139525318664035736110768477748330021760846749891713109781677480946617487808095067253085086411212688698436379311974363703383240204582901085548685911429922841694809526583547323735813477883558252091583290121036527267733328894808940723347034860266391152023328645512185744512902557666922323900833256563881327133269371067362910659902718379412912476222513515886231116315857431174714678690076420812704708198953493596893012521130633951026257271127473123070762753818184461140496643056445288444927882065094023195503580448059310484607671837250467146744666840942092253576796367224797892123126405723294416804600208168986252096113257857961053710134567973359796109770732191692959403387132569010378806405968117287998459869227546195844051216076192289395085407054013273261922287323917505744113319586934356999706190706707736768688582506984746672285595834958506722421651224965220815370701956557426567604289941207408505114164241321886626612574286022064445255234253092010880614737100473422585826556972480259785826218190669729721178290662465536274095103221106350125338391906913478636295293265531911498298171128080353763700397999500372322051963393250114163276267687640061571084306417488012773888709633483675021836131054872255333828664951096369026182652342684144426627600742289932962534018875372734176947754733009895194648913248441904685032167272889616960996088020974862037415746357325531215000177062957946504677504976022290642897990435287065206685003635780916386615991179421103907004918515480120055774978943901304473198044389261193993012731446282749993424645751916287463245553733652472290516263577210888685967638995781630746874543753038938073143232968375893057653629449524301935004336572283020321681753244840782241035120539901250717041807821367535594760431656986220695373888481469524979354234814108681498349953757830641297368905091801573147054909372805905352789657447038899667427712727720393247349710438342903695292239986690208102061659035188035451840688637453643224520259494207917063584888814293651606582765879579029805532414944462187014066595676584200731883840470653353688076202731049421699088773370759236202560522183594905399636388588906496971334729695032592453100174845587825574353200747658658543860285756302694811394855161632026356955003335480322 108212973779419877944314872673225339186470328528298806227158572122297654529323254710719403574303373923763311397175504616710923613432010928620553849773891607526340761586181549250762630472169371956422294510868609962289472439882565653880633379927598902771851231197003335261747781276677799293141294161607180512644241958314883003560129806912771442341485307107944359546416395551239772509012672534672334240601671084929888876385693829224999493392287646709115281246198687639845464860423047311141390466358414572028788027271179816939715449670270477909674924682373975211795060493070211258325650092339741006933261443776276277623545733746768238608216446011868483374003187559235958021708691785168442380751468949142635719375706925962381108765511710298419792035450672016874144566218610214195399317895620222738342176217697676927095378027968510821743224089256225083594519372462387522916513768565586585823326817789674735443796911776102420151583598062702134493578360466973850496017301613974135665265329644005302116111022882638069583698242428061005929187023079247089220808307572426714125830968122630748177906003368639095901454303827149460140752705772849051350602805305696491888108142993063030034305962880647987976727485919167688174253515447031595522555673508717542779207962613462356896562057548944993499649062919109003040329135192740412048888438500801481950397985441327704598336167944099071029928792714819088848870941965866278218982519103674995802492114221671664305808356487954032261576162089014569451423069462196693288003950439012907103620747237608540776643952155322485249503743316194485373150267144953390651570684936519305478493522431292350006514346144966240162725078478758896802883826479651954032456694810630634360713688627880820157214900336816192660373825027486746219329778053568708303401047631679641251322953525564481105041188987220587587748599881124676375882928492907906366450914743462330573253958957843943930750779633709864971241398489580003491265789641765345843644940863612887056011283356513850246435514550055848847630079983277421383360390019986437653660809733819726255692710918681276449257950044494404377451782296672234440480027342682024644008713165484887366311882317224449887544251762068570395139592359201053881932460343028264255755420930951497340278404607464609406345218467942271719859696877214594730409475717597074557778021087576327248340011407085945653415985838744694840639044650951113753233243217232162971186378038812879546826764430030604301115661902805544541433077490688407177888924209099828887972045863415915803060615064380728586585285729440897844560815934844448917873099311782690544916826318262541889055069863269485541630004318054959787108761807988466827869575478935420864065125295030704313819830234747191214320646439296183248749759713531457708112425243401839079435458814964923775674605373688490981893956589267967591885744801 175092269598802528982798040001224885524882994721953963426719554301200477749522690714100088393388381654929937556638469752609802657209190711199446498133055941574346610455690127078311182989862553070596592566339290405133497847898025212702452429334229540458532472146101245759828010216269487780374454098218270115876831829039423244125916190463655161506796942374631274564331199738682252496358043010275578453741252760882621143450607193426254638761066469888194874771066912627563937578059680365202897232752433482007489744166537290921849666100781243091658793508669192063244543064285687318063876731199894049072786762440312013734314211495098260369063195903581593155680668505853445829803759038253528791964157647579015031350070629345621313348412795847105703465373513711683671149765933950008877201453872314321632297254224944660424272836909234168778084355647377106923164884648132035819071435487910486656583381671001868713167979139013080054301977475614610716091876353204966811874732788688814355341750456710010315064516479531082104828876379087263200314496202317851974626492033567210768887413411075676059971097391834599481902363137634067812589956239995796017443747397950068684475367790955153160711686175064792576935654905419784287511373408085305657123646868513652549940154306421760283694626559323799905617180207107462909556681388584463264964630790196567357451998714589626885660085449843184349515727071818795039577649702634966801489503850347281398327072728394085957033321708769402963532719515582173741364276870701807452245272325639519677906769302053796010897044166203099986604216738780311930122747404739216869761354666240483769155987967566445109735452495091578554631991957395192096149358391150252203584775164394334758713189000202872120608150450979468928061465089057830525747266066342597013034531306701477382377825780898309769992285356246770240091284025551303976625218425870440385326287477639278327986968853038592843999221538394897138514288106540999579286764503802761590002266394827887233074241303018527751411536840698746838065367048484106386996170936373053644840230837726731174208191038737051428201851348967602421841043490665247171926310092675449289760629452948132920045534789514966151121462650754538034135373989947928425685499281101407488723796824009150969727928909399613742917501488263953473104537659455629850949376968314116365599388623171087679996997627781319541897455363724049075453153332449463706991073858529531876278179611959934456199570335383393958562700802472972254160797883935756888327267112795121127958736071517977462095803099832569275222739372665418104055023851908033806687392963389273310796405348068074303999532050283552137306588518786843627579415161676543030600624900634509637435884531233264836003425140146827602909552936267517978444792305984557882958013068976192280183117473508784061430908068499885837055588615624922595221225123 283305243378222406927112912674450224711353323250252769653878126423498132278845945424819491967691755578693248953813974369320726270641201639820000347906947549100687372041871676329073813462031925027018887077207900367422970287780590866583085809261828443230383703343104581021575791492947287073515748259825450628521073787354306247686045997376426603848282249482575634110747595289922025005370715544947912694342923845812510019836301022651254132153354116597310156017265600267409402438482727676344287699110848054036277771437717107861565115771051721001333718191043167275039603557355898576389526823539635056006048206216588291357859945241866498977279641915450076529683856065089403851512450823421971172715626596721650750725777555308002422113924506145525495500824185728557815715984544164204276519349492537059974473471922621587519650864877744990521308444903602190517684257110519558735585204053497072479910199460676604156964890915115500205885575538316745209670236820178817307892034402662950020607080100715312431175539362169151688527118807148269129501519281564941195434799605993924894718381533706424237877100760473695383356666964783527953342662012844847368046552703646560572583510784018183195017649055712780553663140824587472461764888855116901179679320377231195329148116919884117180256684108268793405266243126216465949885816581324875313853069290998049307849984155917331483996253393942255379444519786637883888448591668501245020472022954022277200819186950065750262841678196723435225108881604596743192787346332898500740249222764652426781527516539662336787540996321525585236107960054974797303273014549692607521332039602759789247649510398858795116249798640057818717357070436154088899033184870802206236041469975024969119426877628083692277823050787795661588435290116544576745077044119911305316435578938381118633700779306462790875033474343467357827839883906675980352508146918778346751777202221101608901240927810882536774750001172104762109755686596121003070552554145568107433647207258440774289085524659532377997847051390754595685695447031761527770356560956359491298501040571546457429900901957418327877459801393462006799292825787337481612406337435357473933769342618433020286357417106739416038665714412823108429274966349148982307617959624129671744479217754960648310006333516864223149262719956206225192964234536670224581358852685911190923377409710747414928337009034867265195313441202468743916092197983400577460224317075761694847464557650772814003026334765413998259678362705278516795593875374624164066216191321894950015930781934933893265156418164213297861808025102106315948615839786752482724560492275171963855713231666330616193054601913553037678936592836841803414688176969665009858470200379569930501501009826263969149823255374894018817230199375563701227194552019516015591070438312378031359618576288473707837105513442188376818949545204892890187106969924 458397512977024935909910952675675110236236317972206733080597680724698610028368636138919580361080137233623186510452444121930528927850392351019446846040003490675033982497561803407384996451894478097615479643547190772556468135678616079285538238596057983688916175489205826781403801709216774853890202358043720744397905616393729491811962187840081765355079191857206908675078795028604277501728758555223491148084176606695131163286908216077508770914420586485505030788332512894973340016542408041547184931863281536043767515604254398783414781871832964092992511699712359338284146621641585894453403554739529105078834968656900305092174156736964759346342837819031669685364524570942849681316209861675499964679784244300665782075848184653623735462337301992631198966197699440241486865750478114213153720803364851381606770726147566247943923701786979159299392800550979297440849141758651594554656639541407559136493581131678472870132870054128580260187553013931355925762113173383784119766767191351764375948830557425322746240055841700233793355995186235532329816015483882793170061291639561135663605794944782100297848198152308294865259030102417595765932618252840643385490300101596629257058878574973336355729335230777573130598795730007256749276262263202206836802967245744847879088271226305877463951310667592593310883423333323928859442497969909338578817700081194616665301982870506958369656338843785439728960246858456678928026241371136211821961526804369558599146259678459836219874999905492838188641601120178916934151623203600308192494495090291946459434285841716132798438040487728685222712176793755109233395761954431824391093394269000273016805498366425240225985251135149397271989062393549280995182543261952458439626245139419303878140066628286564398431201238775130516496755205602407270824310186253902329470110245082596016078605087361100645025759699714128067931167932227284329133365344648787137103489698740887229227896663921129618749222710499659248269974702662002649839318649370869023649473653268661522159765962550905749258588231453342523760814080245634157352731892732544943341271409273188604109092996155379305661652742429609221133869278002728784332647528032923223529972071381153206402951896254382189787177063577646463410340339096910733303458905231079233203014578969799279734262426263836892180221444470178666068772196125854432308229654225307288976798333918502608334006662648584737210896566192792991545351315850041167215390934291226723742737262732748459225905100797392218241063507751489049754673258559920954543458434690071143889518006451870727252221264045867137030764474771734052670863638660516531247885238561237166509637014398690497054133963836589816243181355628647042267592131341552889070825280204440138936894357497233985826680515040846420139752311831219205639344325500573474028451381354223639801693761982491898536421510688262656005133820517812782328195047 741702756355247342837023865350125334947589641222459502734475807148196742307214581563739072328771892812316435464266418491251255198491593990839447193946951039775721354539433479736458809913926403124634366720755091139979438423459206945868624047857886426919299878832310407802979593202164061927405950617869171372918979403748035739498008185216508369203361441339782542785826390318526302507099474100171403842427100452507641183123209238728762903067774703082815186805598113162382742455025135717891472630974129590080045287041971506644979897642884685094326229890755526613323750178997484470842930378279164161084883174873488596450034101978831258323622479734481746215048380636032253532828660685097471137395410841022316532801625739961626157576261808138156694467021885168799302581735022278417430240152857388441581244198070187835463574566664724149820701245454581487958533398869171153290241843594904631616403780592355077027097760969244080466073128552248101135432349993562601427658801594014714396555910658140635177415595203869385481883113993383801459317534765447734365496091245555060558324176478488524535725298912781990248615697067201123719275280265685490753536852805243189829642389358991519550746984286490353684261936554594729211041151118319108016482287622976043208236388146189994644207994775861386716149666459540394809328314551234213892670769372192665973151967026424289853652592237727695108404766645094562816474833039637456842433549758391835799965446628525586482716678102216273413750482724775660126938969536498808932743717854944373240961802381378469585979036809254270458820136848729906536668776504124431912425433871760062264455008765284035342235049775207215989346132829703369894215728132754664675667715114444272997566944256370256676254252026570792104932045322146984015901354306165207645905689183463714649779384393823891520059234043181485895771051838903264681641512263427133888880691919842496130468824474803666393499223882604421358025661298783005720391872794938976457296680911709435811245290622083283747105639622207938209456261112007161927709292849092036241842311980819646034009994953573707183121454135891616020426695065340210396738984963390397157299314689814173492760369002993798228452891476400754892685306688245893040921418529360750977682232333930447589740595943128060041442941400676403859033006732796079013667082340136498212354208044665917536671015697515849932524337768661536907637549299250618627439708010052921571207294913505562462252239866211390477919426213030005845348548633184085020759649756585021159820299941385763992408639428259164998838789576878050001286703425412999255808377513733201022222868680729306690108735877389627495179774192470450456955769101006562747541025659774370640437904183761203135649935889934865237369951687394920432833896345016589065098889693732254999420270050456199735641934952876639474954679025410702969435164971 1200100269332272278746934818025800445183825959194666235815073487872895352335583217702658652689852030045939621974718862613181784126341986341858894039986954530450755337036995283143843806365820881222249846364302281912535906559137823025154162286453944410608216054321516234584383394911380836781296152975912892117316885020141765231309970373056590134558440633196989451460905185347130580008828232655394894990511277059202772346410117454806271673982195289568320217593930626057356082471567543759438657562837411126123812802646225905428394679514717649187318741590467885951607896800639070365296333933018693266163718143530388901542208258715796017669965317553513415900412905206975103214144870546772971102075195085322982314877473924615249893038599110130787893433219584609040789447485500392630583960956222239823188014924217754083407498268451703309120094046005560785399382540627822747844898483136312190752897361724033549897230631023372660726260681566179457061194463166946385547425568785366478772504741215565957923655651045569619275239109179619333789133550249330527535557382885116196221929971423270624833573497065090285113874727169618719485207898518526134139027152906839819086701267933964855906476319517267926814860732284601985960317413381521314853285254868720891087324659372495872108159305443453980027033089792864323668770812521143552471488469453387282638453949896931248223308931081513134837365013503551241744501074410773668664395076562761394399111706306985422702591678007709111602392083844954577061090592740099117125238212945236319700396088223094602384417077296982955681532313642485015770064538458556256303518828140760335281260507131709275568220300910356613261335195223252650889398271394707123115293960253863576875707010884656821074685453265345922621428800527749391286725664492419109975375799428546310665857989481184992165084993742895613963702219771130549010774877608075921025984181618583383359696721138724796012248446593104080606295636001445008370231191444309845480946154564978097333405056584634189496364227853661280733217075192252796085062024741824581185183583390092834638119087949729086488783106878321225241560564343342939181071632491423320380829286761195326699163320899248180418240068539978401356095647027342803774224877434591830210885246912900246869474858369391896933623162845146582525101778928921933445975311994361805501331006378584420145005022360164434669735234334854329899182900615100659794655098944344148294950032176238310921478144967008782696160489720781494895103221891744005975303108191275092303709817947837634719660860692305032135869554051649784053957567064073515787056262752294438188732505695127997187162869841226217311422955548099097499223361232348115636611850939978810779374798541258437121476616404975711657509703999226139638473240670517162539127341075086478639221963812438691634178356463564902130959812845928515751763360018 1941803025687519621583958683375925780131415600417125738549549295021092094642797799266397725018623922858256057438985281104433039324833580332698341233933905570226476691576428762880302616279747284346884213085057373052515344982597029971022786334311830837527515933153826642387362988113544898708702103593782063490235864423889800970807978558273098503761802074536771994246731575665656882515927706755566298832938377511710413529533326693535034577049969992651135404399528739219738824926592679477330130193811540716203858089688197412073374577157602334281644971481223412564931646979636554836139264311297857427248601318403877497992242360694627275993587797287995162115461285843007356746973531231870442239470605926345298847679099664576876050614860918268944587900241469777840092029220522671048014201109079628264769259122287941918871072835116427458940795291460142273357915939496993901135140326731216822369301142316388626924328391992616741192333810118427558196626813160508986975084370379381193169060651873706593101071246249439004757122223173003135248451085014778261901053474130671256780254147901759149369298795977872275362490424236819843204483178784211624892564005712083008916343657292956375457223303803758280499122668839196715171358564499840422869767542491696934295561047518685866752367300219315366743182756252404718478099127072377766364159238825579948611605916923355538076961523319240829945769780148645804560975907450411125506828626321153230199077152935511009185308356109925385016142566569730237188029562276597926057981930800180692941357890604473071970396114106237226140352450491214922306733314962680688215944262012520397545715515896993310910455350685563829250681328052956020783613999527461787790961675368307849873273955141027077750939705291916714726360845849896375302627018798584317621281488612010025315637373875008883685144227786077099859473271610033813692416389871503054914864873538425879490165545613528462405747670475708501964321297300228014090623064239248821938242835476687533144650347206717473243469867475869218942673336304259958012771317590916617427025895370912480672129082903302793671904561014212841261987259408683149577810617454813717538128601451009500191923689902241978646692960016379156248780953715588696815146295963952581188567479246830694459215454312519956975066104245822986384134785661718012459642394334498303713685214423250337681676038057680284602259572103515866806820449914351278422094806954397069866157327089743873383730384833220173174079915933811500740451770524928090996062757947860113463530117889223398712069500120564197134708343628527834055244270489486515042864640266027639210955374375857303877271605718615844806602729740569547956179130333354678384152876599753181419812702725019640257126552294910576894879655686621060071307137015533751604226230768818733638642233862894891369820291416441541605914491871339218721198524989 3141903295019791900330893501401726225315241559611791974364622782893987446978381016969056377708475952904195679413704143717614823451175566674557235273920860100677232028613424046024146422645568165569134059449359654965051251541734852996176948620765775248135731987475342876971746383024925735489998256569694955607552749444031566202117948931329688638320242707733761445707636761012787462524755939410961193823449654570913185875943444148341306251032165282219455621993459365277094907398160223236768787756648951842327670892334423317501769256672319983468963713071691298516539543780275625201435598244316550693412319461934266399534450619410423293663553114841508578015874191049982459961118401778643413341545801011668281162556573589192125943653460028399732481333461054386880881476706023063678598162065301868087957274046505696002278571103568130768060889337465703058757298480124816648980038809867529013122198504040422176821559023015989401918594491684607015257821276327455372522509939164747671941565393089272551024726897295008624032361332352622469037584635264108789436610857015787453002184119325029774202872293042962560476365151406438562689691077302737759031591158618922828003044925226921231363699623321026207313983401123798701131675977881361737723052797360417825382885706891181738860526605662769346770215846045269042146869939593521318835647708278967231250059866820286786300270454400753964783134793652197046305476981861184794171223702883914624598188859242496431887900034117634496618534650414684814249120155016697043183220143745417012641753978827567674354813191403220181821884764133699938076797853421236944519463090153280732826976023028702586478675651595920442512016523276208671673012270922168910906255635622171426748980966025683898825625158557262637347789646377645766589352683291003427596657288040556335981495363356193875850229221528972713823175491381164362703191267479578975940849055157009262849862266752253258417996117068812582570616933301673022460854255683558667419188990041665630478055403791351662739834095329530499675890411496512754097833342332741198612209478761005315310248170853031880160687667892534066503547823752026088758882249946237037918957888212204826891087010801490159064933028556357557604876600742931500589371173398544411399452726159730941328690312681911853908689267090969568909236564590639945905617706328860109215016220801834757826681060417844719271994806438370196706003350529451938216749905898741218161107359265982184305208529800228955870240405654592995635554992416672096971365866139135205767239935837061033431730360812869229270577897680177618109201837553560030829920903018322077399687880070985301064434475559842062118025685288668645455402491565702794020764727539731992199187501266278077378603168699886288552389359685847199709780377686050914143353571843905212277864197675333583003998647880006443736874304717267734472961885007 5083706320707311521914852184777652005446657160028917712914172077915079541621178816235454102727099875762451736852689424822047862776009147007255576507854765670903708720189852808904449038925315449916018272534417028017566596524331882967199734955077606085663247920629169519359109371138470634198700360163477019097788613867921367172925927489602787142082044782270533439954368336678444345040683646166527492656388032082623599405476770841876340828082135274870591026392988104496833732324752902714098917950460492558531528982022620729575143833829922317750608684552914711081471190759912180037574862555614408120660920780338143897526692980105050569657140912129503740131335476892989816708091933010513855581016406938013580010235673253769001994268320946668677069233702524164720973505926545734726612363174381496352726533168793637921149643938684558227001684628925845332115214419621810550115179136598745835491499646356810803745887415008606143110928301803034573454448089487964359497594309544128865110626044962979144125798143544447628789483555525625604286035720278887051337664331146458709782438267226788923572171089020834835838855575643258405894174256086949383924155164331005836919388582519877606820922927124784487813106069962995416303034542381202160592820339852114759678446754409867605612893905882084713513398602297673760624969066665899085199806947104547179861665783743642324377231977719994794728904573800842850866452889311595919678052329205067854797266012178007441073208390227559881634677216984415051437149717293294969241202074545597705583111869432040746325209305509457407962237214624914860383531168383917632735407352165801130372691538925695897389131002281484271762697851329164692456626270449630698697217310990479276622254921166710976576564863849179352074150492227542141891979702089587745217938776652566361297132737231202759535373449315049813682648762991198176395607657351082030855713928695435142340027812365781720823743787544521084534938230601901036551477319922807489357431825518353163622705750998069135983303962805399718618563747800772712110604659923657816039235374131917795982377253756334673832592228906746907765535083160709238336692867401050755457086489663214327083010700703732137711625988572736713853657554458520197404517469362496992588020205406561635787905766994431810883755371336792555293371350252357958365260100663358412928701435225085095508357098475525003874254378541886063512823800443803216638844712853138288027264686355726057688938914633449129044320321588404496376006762941600187967428624086995319230770053726284432143799860933433426405286241308705452164446108043046545872785543284349716610643254446842604941706081278457906924628415029238193411581621899057472404917604139485173619000203991297717635729720994796865447269015372468259781087514701584665747579802612723945916506431538228474373818939296447985342788796588606953194160409996 8225609615727103422245745686179378230761898719640709687278794860809066988599559833204510480435575828666647416266393568539662686227184713681812811781775625771580940748803276854928595461570883615485152331983776682982617848066066735963376683575843381333798979908104512396330855754163396369688698616733171974705341363311952933375043876420932475780402287490004294885662005097691231807565439585577488686479837686653536785281420214990217647079114300557090046648386447469773928639722913125950867705707109444400859199874357044047076913090502242301219572397624606009598010734540187805239010460799930958814073240242272410297061143599515473863320694026971012318147209667942972276669210334789157268922562207949681861172792246842961127937921780975068409550567163578551601854982632568798405210525239683364440683807215299333923428215042252688995062573966391548390872512899746627199095217946466274848613698150397232980567446438024595545029522793487641588712269365815419732020104248708876537052191438052251695150525040839456252821844887878248073323620355542995840774275188162246162784622386551818697775043382063797396315220727049696968583865333389687142955746322949928664922433507746798838184622550445810695127089471086794117434710520262563898315873137212532585061332461301049344473420511544854060283614448342942802771839006259420404035454655383514411111725650563929110677502432120748759512039367453039897171929871172780713849276032088982479395454871420503872961108424345194378253211867399099865686269872309992012424422218291014718224865848259608420680022496912677589784121978758614798460329021805154577254870442319081863199667561954398483867806653877404714274714374605373364129638541371799609603472946612650703371235887192394875402190022406441989421940138605187908481332385380591172814596064693122697278628100587396635385602670844022527505824254372362539098798924830661006796562983852444405189890079118034979241739904613333667105555163903574059012331575606366156776620815560018794100761154789420798723138058134930218294454159297285466208438002256399014651444852892923111292625424609366553993279896799280974269082906912735327095575117347287793376044377875419153974097711505222296776559017129094271458534155201451697993888642761041403987472931566292577116596079676343664792444638427762124202607914842997904270877806992218522143717656026919853335038158893369723146249184980256260218827150973255154855594618751879506188372045621708241994147444433678084914560727242997492011561755358272284938794490226130524998009989563345465575530221746302655675864138988883070273647945596606576702706446302671794010331134517827906006140556838299969042654100317906838866984113464760266425682331679217165818187705257575795014332889694683153999658375058315459490867892387635579890933374456629158194370629213562057377817587176454429079663101305874687667122295003 13309315936434414944160597870957030236208555879669627400192966938724146530220738649439964583162675704429099153119082993361710549003193860689068388289630391442484649468993129663833044500496199065401170604518193711000184444590398618930576418530920987419462227828733681915689965125301867003887398976896648993803129977179874300547969803910535262922484332272274828325616373434369676152606123231744016179136225718736160384686896985832093987907196435831960637674779435574270762372047666028664966623657569936959390728856379664776652056924332164618970181082177520720679481925300099985276585323355545366934734161022610554194587836579620524432977834939100516058278545144835962093377302267799671124503578614887695441183027920096730129932190101921737086619800866102716322828488559114533131822888414064860793410340384092971844577858980937247222064258595317393722987727319368437749210397083065020684105197796754043784313333853033201688140451095290676162166717455303384091517698558253005402162817483015230839276323184383903881611328443403873677609656075821882892111939519308704872567060653778607621347214471084632232154076302692955374478039589476636526879901487280934501841822090266676445005545477570595182940195541049789533737745062643766058908693477064647344739779215710916950086314417426938773797013050640616563396808072925319489235261602488061590973391434307571435054734409840743554240943941253882748038382760484376633527328361294050334192720883598511314034316814572754259887889084383514917123419589603286981665624292836612423807977717691649167005231802422134997746359193383529658843860190189072209990277794484882993572359100880094381256937656158888986037412225934538056586264811821430308300690257603129979993490808359105851978754886255621341496090630832730050373312087470178918032534841345689058575760837818599394920976120159072341188473017363560715494406582181743037652276912547879547529917891483816700065483692157854751640493394505475095563808895529173646134052641078371957723466905787489934706442020940329936913017907098058178319042662180056830690680227024840907275002678365701227825872125706027882034617990073444565432267984748338548833130867538633481057108412208954434488185005701830985312191709659971895398406112123538396575493136972854212904501846670775475676200009764554679495979265095355862636137907655576935072419091252004948843395257368894727020503563522142323731650951417058371494439331605017794215636731977434299683086359067127213958881048831401988387568518299872472906223114313125844228780043289629897719330082679736082081150380297588522438094053639653122575491989587021510620974388964670510947846638116757875967282515347145032278565735363817738830599935818702339437187909248873512650062610689480019446927390430783719271955407089220245638513177069353104110877060751790531751636526472902414422451897894481640861282704999 21534925552161518366406343557136408466970454599310337087471761799533213518820298482644475063598251533095746569385476561901373235230378574370881200071406017214065590217796406518761639962067082680886322936501970393982802292656465354893953102106764368753261207736838194312020820879465263373576097593629820968508471340491827233923013680331467738702886619762279123211278378532060907960171562817321504865616063405389697169968317200822311634986310736389050684323165883044044691011770579154615834329364679381360249928730736708823728970014834406920189753479802126730277492659840287790515595784155476325748807401264882964491648980179135998296298528966071528376425754812778934370046512602588828393426140822837377302355820166939691257870111882896805496170368029681267924683471191683331537033413653748225234094147599392305768006074023189936217126832561708942113860240219115064948305615029531295532718895947151276764880780291057797233169973888778317750878986821118803823537802806961881939215008921067482534426848225223360134433173331282121750933276431364878732886214707470951035351683040330426319122257853148429628469297029742652343061904922866323669835647810230863166764255598013475283190168028016405878067285012136583651172455582906329957224566614277179929801111677011966294559734928971792834080627498983559366168647079184739893270716257871576002085117084871500545732236841961492313752983308706922645210312631657157347376604393383032813588175755019015186995425238917948638141100951782614782809689461913278994090046511127627142032843565951257587685254299334812587530481172142144457304189211994226787245148236803964856772026662834492865124744310036293700312126600539911420715903353193229917904163204215780683364726695551500727380944908662063330918030769437917958854644472850770090847130906038811755854388938405996030306578791003094868694297271735923254593205507012404044448839896400323952719807970601851679307223596771188418746048558409049154576140471135539802910673456638390751824228060576910733429580079075260155207472066395343644527480664436455845342125079917764018567628102975067781819152022505308856303700896986179892527843102095626342209175245414052635031206123714176731264744022830925256770725864861423593392294754884579800562966068539146790021097926347119140468644648192316803698587179938353766907015714647795457216136747278924802178433416262264450166752748502398583950478102390313526350033950356897300404008777599142541677233803500805298873441776074399480399130273658144757845017604539256369226790032852975363294860304426038737757014519286471592711741999236259699278198435889693304631305523482498416953987194955057845009936615665051871145549848828578005256282267497919505255375614506449307664395500384163173446585765489099178762823299476855825529446551525982262305247689965352589129454113649356843502114999200356328528405000002 34844241488595933310566941428093438703179010478979964487664728738257360049041037132084439646760927237524845722504559555263083784233572435059949588361036408656550239686789536182594684462563281746287493541020164104982986737246863973824529520637685356172723435565571876227710786004767130377463496570526469962311601317671701534470983484242003001625370952034553951536894751966430584112777686049065521044752289124125857554655214186654405622893507172221011321997945318618315453383818245183280800953022249318319640657587116373600381026939166571539159934561979647450956974585140387775792181107511021692683541562287493518686236816758756522729276363905172044434704299957614896463423814870388499517929719437725072743538848087036421387802301984818542582790168895783984247511959750797864668856302067813086027504487983485277612583933004127183439191091157026335836847967538483502697516012112596316216824093743905320549194114144090998921310424984068993913045704276422187915055501365214887341377826404082713373703171409607264016044501774685995428542932507186761624998154226779655907918743694109033940469472324233061860623373332435607717539944512342960196715549297511797668606077688280151728195713505587001061007480553186373184910200645550096016133260091341827274540890892722883244646049346398731607877640549624175929565455152110059382505977860359637593058508519179071980786971251802235867993927249960805393248695392141533980903932754677083147780896638617526501029742053490702898028990036166129699933109051516565975755670803964239565840821283642906754690486101756947585276840365525674116148049402183298997235426031288847850344385763714587246381681966195182686349538826474449477302168165014660226204853461818910663358217503910606579359699794917684672414121400270648009227956560320949008879665747384500814430149776224595425227554911162167209882770289099483970087612089194147082101116808948203500249725862085668379372707288929043170386541952914524250139949366664713449044726097716762709547694966364400668136022100015590092120489973493401822846523326616512676032805306942604925842630781340769009645024148211336738338318887059624457960111086843964891042306112952686116088314535923131165752929028532756242082917574521395488790700867008118197138459205512001002925599773017894616144844657956871483194566445033709629543153622303372392288555838530929751021828673631159177187256312024540907682129053807371897844473281961915094619645509576576841360320162567932512832322824905801468786698791958017230751240718852382213455570076142605261014190387105774819838164899584060115149836052875912821853690425476714815252279912447168927901833833071815720977219131012196903424115584192395744086882203316621844692563523755322820314458111073643192893513155919882898034778706566076071167959728595335366416124750717143120881090640122259257924566897094837969389687705001 56379167040757451676973284985229847170149465078290301575136490537790573567861335614728914710359178770620592291890036117164457019463951009430830788432442425870615829904585942701356324424630364427173816477522134498965789029903329328718482622744449724925984643302410070539731606884232393751039594164156290930820072658163528768393997164573470740328257571796833074748173130498491492072949248866387025910368352529515554724623531387476717257879817908610062006321111201662360144395588824337896635282386928699679890586317853082424109996954000978459349688041781774181234467244980675566307776891666498018432348963552376483177885796937892521025574892871243572811130054770393830833470327472977327911355860260562450045894668253976112645672413867715348078960536925465252172195430942481196205889715721561311261598635582877583380590007027317119656317923718735277950708207757598567645821627142127611749542989691056597314074894435148796154480398872847311663924691097540991738593304172176769280592835325150195908130019634830624150477675105968117179476208938551640357884368934250606943270426734439460259591730177381491489092670362178260060601849435209283866551197107742660835370333286293627011385881533603406939074765565322956836082656228456425973357826705619007204342002569734849539205784275370524441958268048607735295734102231294799275776694118231213595143625604050572526519208093763728181746910558667728038459008023798691328280537148060115961369072393636541688025167292408651536170090987948744482742798513429844969845717315091866707873664849594164342375740401091760172807321537667818573452238614177525784480574268092812707116412426549080111506426276231476386661665427014360898018071518207890144109016666034691346722944199462107306740644703579748003332152169708565968082601033171719099726796653423312570284538714630591455534133702165262078577067560835407224680817596206551126549956705348527452969533832687520058679930885700231589132590511323573404716089837800253251955399554355153461371923026941311401565602179090850247327962039888745467374003991052968521374930386860368944410258884315836791464176170716645594642019784045804350487954188939591233251481358366738751119520659637307897017673051363681498853643439382819082182995621892697997701425274051147792946697699365013756613489306149188286893153624972063396450169336951167849504692585809854553200262089893423627354009060526939491632607156197685424194507232318812395023654287175719383037553966068737811705764600980200949185829065616161988596258323391638582682360108995580624309050691531813557595179418870531707861578052112172521131888861366408119883585435929667344855821028026873565987155746677248774569665433020973749343164470814541349947939138261772127978853611457806366340098921408982076797602006042931896697406280121317628721372440682495710010544753771616101426681896295194297918092705003 91223408529353384987540226413323285873328475557270266062801219276047933616902372746813354357120106008145438014394595672427540803697523444490780376793478834527166069591375478883951008887193646173461310018542298603948775767150193302543012143382135081098708078867981946767442392888999524128503090734682760893131673975835230302864980648815473741953628523831387026285067882464922076185726934915452546955120641653641412279278745574131122880773325080831073328319056520280675597779407069521177436235409178017999531243904969456024491023893167549998509622603761421632191441830121063342099957999177519711115890525839870001864122613696649043754851256776415617245834354728008727296894142343365827429285579698287522789433516341012534033474715852533890661750705821249236419707390693279060874746017789374397289103123566362860993173940031444303095509014875761613787556175296082070343337639254723927966367083434961917863269008579239795075790823856916305576970395373963179653648805537391656621970661729232909281833191044437888166522176880654112608019141445738401982882523161030262851189170428548494200061202501614553349716043694613867778141793947552244063266746405254458503976410974573778739581595039190408000082246118509330020992856874006521989491086796960834478882893462457732783851833621769256049835908598231911225299557383404858658282671978590851188202134123229644507306179345565964049740837808628533431707703415940225309184469902737199109149969032254068189054909345899354434199081024114874182675907564946410945601388119056106273714486133237071097066226502848707758084161903193492689600288016360824781716000299381660557460798190263667357888108242426659073011204253488810375320239683222550370313870127853602010081161703372713886100344498497432675746273569979213977310557593492668108606462400807813384714688490855186880761688613327429288459837849934891194768429685400698208651073514296730953219259694773188438052638174629274759519132464238097654856039204464966701000125652071916170919617993305712069701624279106440339448452013382147290220527317669481197407735693802973870252889665656605801109200318927982332980338671105428808448065275783556124293787471319424867207835195560439062770602079896437740936561013904214570973696488900816194839884479563148795872297472382908372758333964106059770087720070005773025993322959254540241793248424340784304222090763524582804541265372551480399314736210005057322038980514280727489643299796752296224397874128636670324538087425886002417972527857574179219347499042244020796137930185138185885323241078637588377433344318454591823011414104988085342985579286843122935135865348376836272757654861098689286964374877689445677993781017213369493430046674131163194640502662017094948293311722531449559233612077328864974832380712609007967865366008716652995137497191399638830891635393893875359351248793390032267307780410004 147602575570110836664513511398553133043477940635560567637937709813838507184763708361542269067479284778766030306284631789591997823161474453921611165225921260397781899495961421585307333311824010600635126496064433102914564797053522631261494766126584806024692722170392017307173999773231917879542684898839051823951746633998759071258977813388944482281886095628220101033241012963413568258676183781839572865488994183156967003902276961607840138653142989441135334640167721943035742174995893859074071517796106717679421830222822538448601020847168528457859310645543195813425909075101738908407734890844017729548239489392246485042008410634541564780426149647659190056964409498402558130364469816343155340641439958849972835328184594988646679147129720249238740711242746714488591902821635760257080635733510935708550701759149240444373763947058761422751826938594496891738264383053680637989159266396851539715910073126018515177343903014388591230271222729763617240895086471504171392242109709568425902563497054383105189963210679268512316999851986622229787495350384290042340766892095280869794459597162987954459652932678996044838808714056792127838743643382761527929817943512997119339346744260867405750967476572793814939157011683832286857075513102462947962848913502579841683224896032192582323057617897139780491794176646839646521033659614699657934059366096822064783345759727280217033825387439329692231487748367296261470166711439738916637465007050797315070519041425890609877080076638308005970369172012063618665418706078376255915447105434147972981588150982831235439441966903940467930891483440861311263052526630538350566196574567474473264577210616812747469394534518658135459672869680503171273338311201430440514422886793888293356804105902834821192840989202077180679078425739687779945393158626664387208333259054231125954999227205485778336295822315492691367036905410770298419449247281607249335201030219645258406188793527460708496732569060329506348651722975561671059572129042265219952955525206427069632291541020247023471267226458197290586776414053270892757594531308722449718782666080663342814663148549972442592573376489644627927622358455151233158936019464723147357545268829686163618327355855197746959788275131260119239790204453287033653156692110793514192541309753614296588818995171747922129371823270255248056980873694977836422443492296205708091297941010150638857422352853418006431895274433078419890947343366202742746233487746599539884666954083928015607435428094705408136243852026866203367158356923190341207943757365635659378820290294133766509632291770169401935028523737325123530872992157100257864117468148209531055019450784306503617613475889125562852951530624366694452563446450234343242773211144945704544588441800278867076272165333989255925573710998737847051629982718651939864562772288837970623858869632082134540902180147665491460777930689685226565225873115007 238825984099464221652053737811876418916806416192830833700738929089886440801666081108355623424599390786911468320679227462019538626858997898412391542019400094924947969087336900469258342199017656774096436514606731706863340564203715933804506909508719887123400801038373964074616392662231442008045775633521812717083420609833989374123958462204418224235514619459607127318308895428335644444403118697292119820609635836798379283181022535738963019426468070272208662959224242223711339954402963380251507753205284735678953074127791994473092044740336078456368933249304617445617350905222802250507692890021537440664130015232116486906131024331190608535277406424074807302798764226411285427258612159708982769927019657137495624761700936001180712621845572783129402461948567963725011610212329039317955381751300310105839804882715603305366937887090205725847335953470258505525820558349762708332496905651575467682277156560980433040612911593628386306062046586679922817865481845467351045890915246960082524534158783616014471796401723706400483522028867276342395514491830028444323649415256311132645648767591536448659714135180610598188524757751405995616885437330313771993084689918251577843323155235441184490549071611984222939239257802341616878068369976469469952340000299540676162107789494650315106909451518909036541630085245071557746333216998104516592342038075412915971547893850509861541131566784895656281228586175924794901874414855679141946649476953534514179669010458144678066134985984207360404568253036178492848094613643322666861048493553204079255302637116068306536508193406789175688975645344054803952652814646899175347912574866856133822038008807076414827282642761084794532684073933991981648658550884652990884736756921741895366885267606207535078941333700574613354824699309666993922703716220157055316939721455038939339713915696340965217057510928820120655496743260705189614217676967007947543852103733941989359408053222233896934785207234958781108170855439799768714428168246730186653955650858498985803211159013552735540968850737303730926224866066653040047815058626391930916190401774466316684916038215629048393682576808572610260602697126256661967384084740506703481839056301005588485535191050758186022558877211156556980726765467191248224130388599694330387381194233177445384691292644130830502130157234361307827068593764983609448436815255460248333091189434491423161644443616942589236436539805629900290262079576207800068272468260880267374310253880680311831833302223342078460781939452752205785130884780764520427291256407879680174958220479271952394955532848806990312461868055779715353884406262088343207103047435052653990155316132683339890371130750224252139915905502056140130557227467447712736203257819076867739228944462295962024565477056520705484807323076066712026462363431260947832428138297554623618996366823481773371793815541559366820129179483075258832533653525011 386428559669575058316567249210429551960284356828391401338676638903724947986429789469897892492078675565677498626963859251611536450020472352334002707245321355322729868583298322054565675510841667374731563010671164809777905361257238565066001675635304693148093523208765981381790392435463359887588460532360864541035167243832748445382936275593362706517400715087827228351549908391749212703079302479131692686098630019955346287083299497346803158079611059713343997599391964166747082129398857239325579271001391453358374904350614532921693065587504606914228243894847813259043259980324541158915427780865555170212369504624362971948139434965732173315703556071733997359763173724813843557623081976052138110568459615987468460089885530989827391768975293032368143173191314678213603513033964799575036017484811245814390506641864843749740701834148967148599162892064755397264084941403443346321656172048427007398187229686998948217956814608016977536333269316443540058760568316971522438133024956528508427097655837999119661759612402974912800521880853898572183009842214318486664416307351592002440108364754524403119367067859606643027333471808198123455629080713075299922902633431248697182669899496308590241516548184778037878396269486173903735143883078932417915188913802120517845332685526842897429967069416048817033424261891911204267366876612804174526401404172234980754893653577790078574956954224225348512716334543221056372041126295418058584114484004331829250188051884035287943215062622515366374937425048242111513513319721698922776495598987352052236890788098899541975950160310729643619867128784916115215705341277437525914109149434330607086615219423889162296677177279742929992356943614495152921996862086083431399159643715630188723689373509042356271782322902651794033903125049354773868096874846821442525272980509270065294713142901826743553353333244312812022533648671475488033666924248615196879053133953587247765596846749694605431517776295288287456822578415361439774000297288995406606911176064926055435502700033799759012236077195501021513001280119923932805409589935114380634973067855129659499579186765601490986255953298217238188225055581407895126320104205229850839384325130691752103862546905955932982347152342416676220516969920478281877287080710487844579922503986791741973510287815878752631501980504616555884049467459961445870880307551665956424389130444642062019066796470360595668331814238708320181209422942410542814505956007479807258977207964608327439268730318047486597025791479618409152289241703954861635235013773515339553778510773405718904587824618976392247490391793104838884757398419188601071220515583262185045174766916989843507984606639349814992867436126422834583120673917682055978976468964022572283817386262574829100837642390509961410381034074804559078092346149912887696990910586392594242855236455563907912695995689224858280907110172760485397759526640018 625254543769039279968620987022305970877090773021222235039415567993611388788095870578253515916678066352588966947643086713631075076879470250746394249264721450247677837670635222523824017709859324148827999525277896516641245925460954498870508585144024580271494324247139945456406785097694801895634236165882677258118587853666737819506894737797780930752915334547434355669858803820084857147482421176423812506708265856753725570264322033085766177506079129985552660558616206390458422083801820619577087024206676189037327978478406527394785110327840685370597177144152430704660610885547343409423120670887092610876499519856479458854270459296922781850980962495808804662561937951225128984881694135761120880495479273124964084851586466991008104390820865815497545635139882641938615123246293838892991399236111555920230311524580447055107639721239172874446498845535013902789905499753206054654153077700002475080464386247979381258569726201645363842395315903123462876626050162438873484023940203488590951631814621615134133556014126681313284043909721174914578524334044346930988065722607903135085757132346060851779081203040217241215858229559604119072514518043389071915987323349500275025993054731749774732065619796762260817635527288515520613212253055401887867528914101661194007440475021493212536876520934957853575054347136982762013700093610908691118743442247647896726441547428299940116088521009121004793944920719145851273915541151097200530763960957866343429857062342179966009350048606722726779505678084420604361607933365021589637544092540556131492193425214967848512458353717518819308842774128970919168358155924336701262021724301186740908653228230965577123959820040827724525041017548487134570655412970736422283896400637372084090574641115249891350723656603226407388727824359021767790800591066978497842212701964309004634427058598167708770410844173132932678030391932180677647884601215623144422905237687529237125004899971928502366302983530247068564993433855161208488428465535725593260866826923425041238713859047352494553204927932804752439226146186576972853224648561506311551163469629595976184495224981230539379938530106789848448827752707664557093704188945736554321223381431697340589397737956714119004906029553573233201243735387669530101417469310182174967303698219969187358201580460009583133632137738977863711118061224945055319317122807126204757480319879133485180711240087303184904768354044338220471471502518618342882778424268360074633287461845288639271102032541389565057807730932370614937420126484719382062526270181395019728736731252677671299543357467783382559952259848884554238641804681276944278323563018314839035330083049673183398355737389574067132783341628478974713677901385129768715179726783099440023046330724870791125403119447030666895188357150871271104554709581173835529419048883947217861851603279045681284489811230784225101036289655835744230293180165029 1011683103438614338285188236232735522837375129849613636378092206897336336774525660048151408408756741918266465574606945965242611526899942603080396956510042805570407706253933544578389693220700991523559562535949061326419151286718193063936510260779329273419587847455905926838197177533158161783222696698243541799153755097499486264889831013391143637270316049635261584021408712211834069850561723655555505192806895876709071857347621530432569335585690189698896658158008170557205504213200677858902666295208067642395702882829021060316478175915345292284825421039000243963703870865871884568338548451752647781088869024480842430802409894262654955166684518567542802022325111676038972542504776111813258991063938889112432544941471997980835496159796158847865688808331197320152218636280258638468027416720922801734620818166445290804848341555388140023045661737599769300053990441156649400975809249748429482478651615934978329476526540809662341378728585219567002935386618479410395922156965160017099378729470459614253795315626529656226084565790575073486761534176258665417652482029959495137525865497100585254898448270899823884243191701367802242528143598756464371838889956780748972208662954228058364973582167981540298696031796774689424348356136134334305782717827903781711852773160548336109966843590351006670608478609028893966281066970223712865645144846419882877481335201006090018691045475233346353306661255262366907645956667446515259114878444962198172680045114226215253952565111229238093154443103132662715875121253086720512414039691527908183729084213313867390488408514028248462928709902913887034384063497201774227176130873735517347995268447654854739420636997320570654517397961162982287492652275056819853683056044353002272814264014624292247622505979505878201422630949408376541658897465913799940367485682473579069929140201499994452323764177417445744700564040603656165681551525464238341301958371641116484890601746721623107797820759825535356021816012270522648262428762824720999867778002988351096674216559081152253565441005128305773952227426306500905658634238496620692186136537484725635684074411746832030366194483405007086637052808289072452220024293150966405160607706562389092693260284862670051987253181895989909421760705308147811978704550020670019547226202206760929331711868275888335765134118243594419595167528684906501190197430358792161181869450323775547199778036557663780573100168283046540652680925461028885697284380275839881892264669809896966710370762859437051654833522411989024089709368188674243697761283954910359282515242026083390204131182086759774807442651641989393123399203100465545349544078601577024080504849966663026906340344028923882125650777754901809296798575302811824694156195747122012306863716987445620226240761837540628305569391225675830182647055731086723226409959470339812104706839734609589197185806920009083381943399828596229628052706805047 1636937647207653618253809223255041493714465902870835871417507774890947725562621530626404924325434808270855432522250032678873686603779412853826791205774764255818085543924568767102213710930560315672387562061226957843060397212179147562807018845923353853691082171703045872294603962630852963678856932864126219057272342951166224084396725751188924568023231384182695939691267516031918926998044144831979317699515161733462797427611943563518335513091769319684449318716624376947663926297002498478479753319414743831433030861307427587711263286243185977655422598183152674668364481751419227977761669122639740391965368544337321889656680353559577737017665481063351606684887049627264101527386470247574379871559418162237396629793058464971843600550617024663363234443471079962090833759526552477361018815957034357654851129691025737859955981276627312897492160583134783202843895940909855455629962327448431957559116002182957710735096267011307705221123901122690465812012668641849269406180905363505690330361285081229387928871640656337539368609700296248401340058510303012348640547752567398272611622629446646106677529473940041125459049930927406361600658116799853443754877280130249247234656008959808139705647787778302559513667324063204944961568389189736193650246742005442905860213635569829322503720111285964524183532956165876728294767063834621556763888288667530774207776748434389958807133996242467358100606175981512758919872208597612459645642405920064516109902176568395219961915159835960819933948781217083320236729186451742102051583784068464315221277638528835239000866867745767282237552677042857953552421653126110928438152598036704088903921675885820316544596817361398379042438978711469422063307688027556275966952444990374356904838655739542138973229636109104608811358773767398309449698056980778438209698384437888074563567260098162161094175021590578677378594432535836843329436126679861485724863609328645722015606646693551610164123743355782424586809446125683856750857228360446593128644829911776137912930418128504748118645933061110526391453572493077878511858887058127003737300007114321611868569636728062569746133013511796935085880560996737009313728482096702959481831087994086433282658022819384170992159211449563142623004440695817342080122019330852194514529900426730116689913448735897918898766255982572283306285589909851556509514553165918365939349770202909032380489276644966965477868522327384761124152427979647228580062804544199956525552131655185605981472795400826616712641253344359639027129494673393625760287554136305379011251973278761061503674539554543157367394911490873947362041007781742489627867641619891863115834933016336210304696081418497949258434119383380784010476476687941593409335922530221452329910047712316411351643881284571295200757748376547101287201765312260558755829008354287029966558443013655270481675618150793308482979689484431973858345886970076 2648620750646267956538997459487777016551841032720449507795599981788284062337147190674556332734191550189121898096856978644116298130679355456907188162284807061388493250178502311680603404151261307195947124597176019169479548498897340626743529106702683127110670019158951799132801140164011125462079629562369760856426098048665710349286556764580068205293547433817957523712676228243752996848605868487534822892322057610171869284959565093950904848677459509383345976874632547504869430510203176337382419614622811473828733744136448648027741462158531269940248019222152918632068352617291112546100217574392388173054237568818164320459090247822232692184349999630894408707212161303303074069891246359387638862623357051349829174734530462952679096710413183511228923251802277282243052395806811115829046232677957159389471947857471028664804322832015452920537822320734552502897886382066504856605771577196861440037767618117936040211622807820970046599852486342257468747399287121259665328337870523522789709090755540843641724187267185993765453175490871321888101592686561677766293029782526893410137488126547231361575977744839865009702241632295208604128801715556317815593767236910998219443318963187866504679229955759842858209699120837894369309924525324070499432964569909224617712986796118165432470563701636971194792011565194770694575834034058334422409033135087413651689111949440479977498179471475813711407267431243879666565828876044127718760520850882262688789947290794610473914480271065198913088391884349746036111850439538462614465623475596372498950361851842702629489275381774015745166262579956744987936485150327885155614283471772221436899190123540675055965233814681969033559836939874451709555959963084376129650008489343376629719102670363834386595735615614982810233989723175774851108595522894578378577184066911467144492707461598156613417939199008024422079158473139493009010987652144099827026821980969762206906208393415174717961944503181317780608625458396206505013285991185167592996422832900127234587146977209657001684086938189416300343680998799578784170493125554747695923436544599047247552644048474894600112327496916804021722933369285809461533752775247669364642438794556475525975918307682054222979412393345553052044765146003965154058826569351522214061756102633491046021625317011786254663900374226166702901453118594758057699711983524710527121219220526684579580267313202630746050968690610431301776833353440676114277347184820039838417816801465082572691843558260263668367474775756348663116838862862067869458048838091215738293767215304844451707805721641302932174837563132863340485440210882208034977411720221468887196339782982999237211036425447421831384084897138282593307275051990753418103492118277343464636773764699762031577884643122111923506327139602222931469848821043347281982238967824626842071265282748264859678861425070802391864923089313028203486398593775123 4285558397853921574792806682742818510266306935591285379213107756679231787899768721300961257059626358459977330619107011322989984734458768310733979368059571317206578794103071078782817115081821622868334686658402977012539945711076488189550547952626036980801752190861997671427405102794864089140936562426495979913698440999831934433683282515768992773316778818000653463403943744275671923846650013319514140591837219343634666712571508657469240361769228829067795295591256924452533356807205674815862172934037555305261764605443876235739004748401717247595670617405305593300432834368710340523861886697032128565019606113155486210115770601381810429202015480694246015392099210930567175597277716606962018734182775213587225804527588927924522697261030208174592157695273357244333886155333363593190065048634991517044323077548496766524760304108642765818029982903869335705741782322976360312235733904645293397596883620300893750946719074832277751820976387464947934559411955763108934734518775887028480039452040622073029653058907842331304821785191167570289441651196864690114933577535094291682749110755993877468253507218779906135161291563222614965729459832356171259348644517041247466677974972147674644384877743538145417723366444901099314271492914513806693083211311914667523573200431687994754974283812922935718975544521360647422870601097892955979172921423754944425896888697874869936305313467718281069507873607225392425485701084641740178406163256802327204899849467363005693876395430901159733022340665566829356348579625990204716517207259664836814171639490371537868490142249519783027403815256999602941488906803453996084052436069808925525803111799426495372509830632043367412602275918585921131619267651111932405616960934333750986623941326103376525568965251724087419045348496943173160558293579875356816786882451349355219056274721696318774512114220598603099457752905675329852340423778823961312751685590298407928921815040108726328126068246537100205195434904521890361764143219545614186125067662811903372500077395338161749802732871250526826735134571292656662682352012612874699660736551713368859421213685202957169858460510428600956808813930282546470847481257344372324124269882550561959258576330501438393971571604795116194667769586699782496138948588682374408576286003060221162711538765747684173562666630208738986207738708504609614209226536690628893060568990729593611960756589847597711528837212937816062900985781420323342857409989364239794943368933120268178673316353661090285080116029100708302143968357535461495218336392227521117305019188583605513211480261195846089542232474623737287847481218663950524605279361841360750312174715999335447515732506865919780642519016521663377317751528678695011512828040807564916966683812412078442929528524406683218707084887978770032757050586355607840738067976178913872037823725761920130160537043221595700347902778797460177344744480745199 6934179148500189531331804142230595526818147968311734887008707738467515850236915911975517589793817908649099228715963989967106282865138123767641167530344378378595072044281573390463420519233082930064281811255578996182019494209973828816294077059328720107912422210020949470560206242958875214603016191988865740770124539048497644782969839280349060978610326251818610987116619972519424920695255881807048963484159276953806535997531073751420145210446688338451141272465889471957402787317408851153244592548660366779090498349580324883766746210560248517535918636627458511932501186986001453069962104271424516738073843681973650530574860849204043121386365480325140424099311372233870249667168962966349657596806132264937054979262119390877201793971443391685821080947075634526576938551140174709019111281312948676433795025405967795189564626940658218738567805224603888208639668705042865168841505481842154837634651238418829791158341882653247798420828873807205403306811242884368600062856646410551269748542796162916671377246175028325070274960682038892177543243883426367881226607317621185092886598882541108829829484963619771144863533195517823569858261547912489074942411753952245686121293935335541149064107699297988275933065565738993683581417439837877192516175881823892141286187227806160187444847514559906913767556086555418117446435131951290401581954558842358077586000647315349913803492939194094780915141038469272092051529960685867897166684107684589893689796758157616167790875701966358646110732549916575392460430065528667330982830735261209313122001342214240497979417631293798772570077836956347929425391953781881239666719541581146962702301922967170428475064446725336446162112858460372841175227614196308535266969423677127616343043996467210912164700867339070229279338220118948011666889102769935195364066518260822363548982183294475387930053419606627521536911378814822861351411430968061139778507571268170135828023433523901046088012749718417985804060362918096866777429210730781779121490495712030607087224372547818751486819809439943127078815570092235446852845138167622395584173096312416106973857733677851769970788007345404978531747299568355932381234032592041688766708677107037485234494638183492616950983998140669246712534732703747650197775158033896622638042105693712208733164082759470428226567004434905689109191827099367671908938520215339420181788211256278191541023903050228457579805903548247364677819134860999457134757174184279633361185734585350751365159911921353953447590804857056965260807220397529364676385230318736855598786403888449964919285982837149021717070037756600628332921429546158559582691082062829637508514498982334684726768932313341612026603913659945970625026580669448429616320159084908381603457577111840474507413167528795142213412027580992964226899407398955122720306944003540714109089008510184989839398468292398092212825868110488380831143074520322 11219737546354111106124610824973414037084454903903020266221815495146747638136684633276478846853444267109076559335071001290096267599596892078375146898403949695801650838384644469246237634314904552932616497913981973194559439921050317005844625011954757088714174400882947141987611345753739303743952754415361720683822980048329579216653121796118053751927105069819264450520563716795096844541905895126563104075996496297441202710102582408889385572215917167518936568057146396409936144124614525969106765482697922084352262955024201119505750958961965765131589254032764105232934021354711793593823990968456645303093449795129136740690631450585853550588380961019386439491410583164437425264446679573311676330988907478524280783789708318801724491232473599860413238642348991770910824706473538302209176329947940193478118102954464561714324931049300984556597788128473223914381451028019225481077239386487448235231534858719723542105060957485525550241805261272153337866223198647477534797375422297579749787994836784989701030305082870656375096745873206462466984895080291057996160184852715476775635709638534986298082992182399677280024824758740438535587721380268660334291056270993493152799268907483215793448985442836133693656432010640092997852910354351683885599387193738559664859387659494154942419131327482842632743100607916065540317036229844246380754875982597302503482889345190219850108806406912375850423014645694664517537231045327608075572847364486917098589646225520621861667271132867518379133073215483404748809009691518872047500037994926046127293640832585778366469559880813581799973893093955950870914298757235877323719155611390072488505413722393665800984895078768703858764388777046293972794495265308240940883930358010878602966985322570587437733666119063157648324686717062121172225182682645292012150948969610177582605256904990794162442167640205230620994664284490152713691835209792022452530193161566578064749838473632627374214080996255518190999495267439987228541572430276395965246558158523933979587301767885980501289552680690469953813950141384892109535197150780497095244909648025784966395071418880808939829248517774005935340561229850902403228715289936414012890978559657599444493070968684931010922555602935785441380304319403530146336723746716271031214328108753933371444702848507154601789233634643644675316930535603977286118165056905968313242357201985871803501780492897826169108643116486063427578804916281322799992167163548519428304554667705618930038476265582444238527706833957765267404775577932990859894721622546257972903805592472055478130766244032995111259302512380337916180402648210109084187970443904190387820689214981670132242501439179261392669122930181609347942778109348143441129148199892473298570141389523918917436941691935478360920496915559762996983949993754562963458374920182454586146912734272105119999935511513993792560728646907948558175887555265521 18153916694854300637456414967204009563902602872214755153230523233614263488373600545251996436647262175758175788051034991257202550464735015846016314428748328074396722882666217859709658153547987482996898309169560969376578934131024145822138702071283477196626596610903896612547817588712614518346968946404227461453947519096827223999622961076467114730537431321637875437637183689314521765237161776933612067560155773251247738707633656160309530782662605505970077840523035868367338931442023377122351358031358288863442761304604526003272497169522214282667507890660222617165435208340713246663786095239881162041167293477102787271265492299789896671974746441344526863590721955398307674931615642539661333927795039743461335763051827709678926285203916991546234319589424626297487763257613713011228287611260888869911913128360432356903889557989959203295165593353077112123021119733062090649918744868329603072866186097138553333263402840138773348662634135079358741173034441531846134860232068708131019536537632947906372407551257898981445371706555245354644528138963717425877386792170336661868522308521076095127912477146019448424888357954258262105445982928181149409233468024945738838920562842818756942513093142134121969589497576379086681434327794189561078115563075562451806145574887300315129863978842042749546510656694471483657763471361795536782336830541439660581068889992505569763912299346106470631338155684163936609588761006013475972739531472171506992279442983678238029458146834833877025243805765399980141269439757047539378482868730187255440415642174800018864448977512107380572543970930912298800339690711017758563385875152971219451207715645360836229459959525494040304926501635506666813969722879504549476150899781688006219310029319037798349898366986402227877604024937181069183892071785415227207515015487870999946154239088285269550372221059811858142531575663304975575043246640760083592308700732834748200577861907156528420302093745973936176803555630358084095319001641007177744368048654235964586674526140433799252776372490130413080892765711477127556388042288948119490829082744338201073368929152558660709800036525119410913872308529419258335609949322528455701657687236764636929727565606868423627873539601076454688092839052107277796534498904750167653852370214447645580177866931266625030015800639078550364426122362703344958027103577121307733424145413242149995042804395948054626688449020034310792256624051142322257126924337732799061665740402290969681403636177503798191975297638814822232665582798330520224571106852864994828502591996360505443050052226870144132976372550136938544513324077756267643770661525967020025329203713964004816969270371492603004695726843841555318567804690017591870745468358977381680173598966635759391944354859464273503133908943140755961210849401153518086178681864185995300256001742782290109839333979806391884773554515018436939007030629785843 29373654241208411743581025792177423600987057776117775419452338728761011126510285178528475283500706442867252347386105992547298818064331907924391461327152277770198373721050862328955895787862892035929514807083542942571138374052074462827983327083238234285340771011786843754535428934466353822090921700819589182137770499145156803216276082872585168482464536391457139888157747406109618609779067672060175171636152269548688941417736238569198916354878522673489014408580182264777275075566637903091458123514056210947795024259628727122778248128484180047799097144692986722398369229695425040257610086208337807344260743272231924011956123750375750222563127402363913303082132538562745100196062322112973010258783947221985616546841536028480650776436390591406647558231773618068398587964087251313437463941208829063390031231314896918618214489039260187851763381481550336037402570761081316130995984254817051308097720955858276875368463797624298898904439396351512079039257640179323669657607491005710769324532469732896073437856340769637820468452428451817111513034044008483873546977023052138644158018159611081425995469328419125704913182712998700641033704308449809743524524295939231991719831750301972735962078584970255663245929587019179679287238148541244963714950269301011471004962546794470072283110169525592179253757302387549198080507591639783163091706524036963084551779337695789614021105753018846481761170329858601127125992051341084048312378836658424090869089209198859891125417967701395404376878980883384890078449448566411425982906725113301567709283007385797230918537392920962372517864024868249671253989468253635887105030764361291939713129367754502030444854604262744163690890412552960786764218144812790417034830139698884822277014641608385787632033105465385525928711654243190356117254468060519219665964457481177528759495993276063712814388700017088763526239947795128288735081850552106044838893894401326265327700380789155794516174742229454367803050897798071323860574071283573709614606812759898566261827908319779754065925170820883034706715852862019665923239439728616586073992392363986039764000571439469649629285042893416849212869759270160738838664612464869714548665796422236374220636575553354638796095204012240129473143371510807942871222651466438685066698323201578951622569779773779631805034273722195039743052898307322244145268634027276046666502615228021798544584888845880795797092136520374219835428967423645057119091501281318489970295069996588611442112443086242430503004472772587500070358376263511084465828475411252801406397588832560921180818470903139244235675062517276460693726725966376727958631969871210413149892928945674949211771810671864397364849774023164666510582799365735311874616558869854978743740356159678309381296551399751864054405858700518958194799394908081049637056784368449886402914477054395229839269491320385677334283161926385497182918185051364 47527570936062712381037440759381433164889660648332530572682861962375274614883885723780471720147968618625428135437140983804501368529066923770407775755900605844595096603717080188665553941410879518926413116253103911947717308183098608650122029154521711481967367622690740367083246523178968340437890647223816643591718018241984027215899043949052283213001967713095015325794931095424140375016229448993787239196308042799936680125369894729508447137541128179459092249103218133144614007008661280213809481545414499811237785564233253126050745298006394330466605035353209339563804438036138286921396181448218969385428036749334711283221616050165646894537873843708440166672854493961052775127677964652634344186578986965446952309893363738159577061640307582952881877821198244365886351221700964324665751552469717933301944359675329275522104047029219391146928974834627448160423690494143406780914729123146654380963907052996830208631866637763072247567073531430870820212292081711169804517839559713841788861070102680802445845407598668619265840158983697171756041173007725909750933769193388800512680326680687176553907946474438574129801540667256962746479687236630959152757992320884970830640394593120729678475171727104377632835427163398266360721565942730806041830513344863463277150537434094785202147089011568341725764413996859032855843978953435319945428537065476623665620669330201359377933405099125317113099326014022537736714753057354560021051910308829931083148532192877097920583564802535272429620684746283365031347889205613950804465775455300557008124925182185816095367514905028342945061834955780548471593680179271394450490905917332511390920845013115338259904814129756784468617392048059627600733941024317339893185729921386891041587043960646184137530400091867613403532736591424259540009326253475746427180979945352177474913735081561333263186609759828946906057815611100103863778328491312189637147594627236074465905562287945684214818268488203390544606606528156155419179575712290751453982655466995863152936354048753579006842297660951296115599481564339147222311281728676736076903075136702187113132929723998130359429321568012827763085178288689419074448613934993325416206353033186873303948202182421778266669634805088694817565982423618085739405721556216606338919068537649224531800436711040404661820834912800745404169175261010667202172372211148583780090648028470171793587389284793935422485541156554685012092053018565967314246015839014117551636035472287558292845748620590040622478302111587409732735941174594031309036935328276247629908989585193066364230870697773283377212047612654215005207050803722644371729293495838230438479096642909679766181042182164467402060576617864719985078387489383327182620084917847236658917339322795437701325651410864025367188314801841274919405648796061599135815738648554445186658916219836685339678603471126777562107837676944822436189948814837207 76901225177271124124618466551558856765876718424450305992135200691136285741394170902308947003648675061492680482823246976351800186593398831694799237083052883614793470324767942517621449729273771554855927923336646854518855682235173071478105356237759945767308138634477584121618675457645322162528812348043405825729488517387140830432175126821637451695466504104552155213952678501533758984795297121053962410832460312348625621543106133298707363492419650852948106657683400397921889082575299183305267605059470710759032809823861980248828993426490574378265702180046196061962173667731563327179006267656556776729688780021566635295177739800541397117101001246072353469754987032523797875323740286765607354445362934187432568856734899766640227838076698174359529436052971862434284939185788215638103215493678546996691975590990226194140318536068479578998692356316177784197826261255224722911910713377963705689061628008855107084000330435387371146471512927782382899251549721890493474175447050719552558185602572413698519283263939438257086308611412148988867554207051734393624480746216440939156838344840298257979903415802857699834714723380255663387513391545080768896282516616824202822360226343422702414437250312074633296081356750417446040008804091272051005545463614164474748155499980889255274430199181093933905018171299246582053924486545075103108520243589513586750172448667897148991954510852144163594860496343881138863840745108695644069364289145488355174017621402075957811708982770236667833997563727166749921426338654180362230448682180413858575834208189571613326286052297949305317579698980648798142847669647525030337595936681693803330633974380869840290349668734019528632308282460612588387498159169130130310220560061085775863864058602254569925162433197332998929461448245667449896126580721536265646846944402833355003673231074837396976000998459846035669584055558895232152513410341864295681986488521637400731233262668734840009334443230432844912409657425954226743040149783574325163597262279755761719198181957073358760908222831772179150306197417201166888234521168405352662977067529066173152896930295437600009058606610906244612298048047959579813287278547458195130755018829609109678168838757975132905465730009100934947039125795128893682276944207683045023985766860850803483423006490814184293625869186522940443912228159317989446317640845175859826757150643698193592131974173639816218282633293075059231927481985989612371365107340295436041606330542284146904287861063676283052981306584359997232806299550857542393502763803687500431315387174025627285411689168676422621447722675171491465900777529689021099687925465709440851628989571855354715392813992836331799425426391887884651588970288749062494494701476717091637661079678955116010706947962263777231242720660541793877600448190969680185452795432922895073061830696891080569517872962447163239442120838871207933372866999888571 124428796113333836505655907310940289930766379072782836564818062653511560356278056626089418723796643680118108618260387960156301555122465755465207012838953489459388566928485022706287003670684651073782341039589750766466572990418271680128227385392281657249275506257168324488701921980824290502966702995267222469321206535629124857648074170770689734908468471817647170539747609596957899359811526570047749650028768355148562301668476028028215810629960779032407198906786618531066503089583960463519077086604885210570270595388095233374879738724496968708732307215399405401525978105767701614100402449104775746115116816770901346578399355850707044011638875089780793636427841526484850650451418251418241698631941921152879521166628263504799804899717005757312411313874170106800171290407489179962768967046148264929993919950665555469662422583097698970145621331150805232358249951749368129692825442501110360070025535061851937292632197073150443394038586459213253719463841803601663278693286610433394347046672675094500965128671538106876352148770395846160623595380059460303375414515409829739669518671520985434533811362277296273964516264047512626133993078781711728049040508937709173653000620936543432092912422039179010928916783913815712400730370034002857047375976959027938025306037414984040476577288192662275630782585296105614909768465498510423053948780654990210415793117998098508369887915951269480707959822357903676600555498166050204090416199454318286257166153594953055732292547572771940263618248473450114952774227859794313034914457635714415583959133371757429421653567202977648262641533936429346614441349826796424788086842599026314721554819393985178550254482863776313100925674508672215988232100193447470203406289982472666905451102562900754062692833289200612332994184837091709436135906975012012074027924348185532478586966156398730239187608219674982575641871169995336016291738833176485319134083148873475197138824956680524224152711718636235457016263954110382162219725495865076617579917746751624872134536005826937767750520492723475265905678981540314110545802897082088739880142665768360266029860019435730368487928178919072375383226336648998887735892482451520546961371862795982982117040940396911172135364814189629764605108218746979421682665763899651362904835398500028015223443201854588955446704099323685848081403420328656648490013056324443606847798672168365385719363458433751640768174449629744244019535004555579685611123179309553593242366014571705197133609684266323675459608695947406965542240725451573702539699131963748061224376759218693649642559866449705998659770287825706471107828333411665471417218961547671290108086214765034481573856175000799201486003009752604636667357778132389677114786394564328296578419001750553712032599373127802598431035462383068797006096987031279321268534081477340259720746916727765909196476433573940801549958515816030369562815814725778 201330021290604960630274373862499146696643097497233142556953263344647846097672227528398365727445318741610789101083634936508101741715864587160006249922006373074182037253252965223908453399958422628638268962926397620985428672653444751606332741630041603016583644891645908610320597438469612665495515343310628295050695053016265688080249297592327186603934975922199325753700288098491658344606823691101712060861228667497187923211582161326923174122380429885355305564470018928988392172159259646824344691664355921329303405211957213623708732150987543086998009395445601463488151773499264941279408716761332522844805596792467981873577095651248441128739876335853147106182828559008648525775158538183849053077304855340312090023363163271440032737793703931671940749927141969234456229593277395600872182539826811926685895541655781663802741119166178549144313687466983016556076213004592852604736155879074065759087163070707044376632527508537814540510099386995636618715391525492156752868733661152946905232275247508199484411935477545133438457381807995149491149587111194696999895261626270678826357016361283692513714778080153973799230987427768289521506470326792496945323025554533376475360847279966134507349672351253644224998140664233158440739174125274908052921440573192412773461537395873295751007487373756209535800756595352196963692952043585526162469024244503797165965566665995657361842426803413644302820318701784815464396243274745848159780488599806641431183774997029013544001530343008608097615812200616864874200566513974675265363139816128274159793341561329042747939619500926953580221232917078144757289019474321455125682779280720118052188793774855018840604151597795841733233956969284804375730259362577600513626850043558442769315161165155323987855266486533611262455633082759159332262487696548277720874868751018887482260197231236127215188606679521018245225926728890568168805149175040781001120571670510875928372087625415364233487154949069080369425921380064608905259875279439401781177180026507386591332717962900296528658743324495654416211876398741480998780324065487441402857210194834533418926790314873330377546534789825316987681274384608578701023171029909715677716390692405092660285879698372044077601094823290564711644234013875873103959609971582696386890602259350831498646449692668773249072573285846626291993631579646646094807653901500303433604949315866558977851337632073567859050807742704803475947016990545192056976230519604989634848696556855852101421470747942606728440915280307404198348540276309116096042462935651248492539763933244320935054249035126128620107492962997197937008605863100686571105144427257112141737075786620389196966670167837131000911429401640489288256328066881452171609487871281419934239498680705669722739547335391579829673756122924862674606545178000959506721329514400235332782577613618846478714349396021104040992079354687238302935682814614349 325758817403938797135930281173439436627409476570015979121771325998159406453950284154487784451241962421728897719344022896664403296838330342625213262760959862533570604181737987930195457070643073702420610002516148387452001663071716431734560127022323260265859151148814233099022519419293903168462218338577850764371901588645390545728323468363016921512403447739846496293447897695449557704418350261149461710889997022645750224880058189355138984752341208917762504471256637460054895261743220110343421778269241131899574000600052446998588470875484511795730316610845006865014129879266966555379811165866108268959922413563369328451976451501955485140378751425633940742610670085493499176226576789602090751709246776493191611189991426776239837637510709688984352063801312076034627520000766575563641149585975076856679815492321337133465163702263877519289935018617788248914326164753960982297561598380184425829112698132558981669264724581688257934548685846208890338179233329093820031562020271586341252278947922602700449540607015652009790606152203841310114744967170655000375309777036100418495875687882269127047526140357450247763747251475280915655499549108504224994363534492242550128361468216509566600262094390432655153914924578048870841469544159277765100297417532220350798767574810857336227584775566418485166583341891457811873461417542095949216417804899494007581758684664094165731730342754683125010780141059688492064951741440796052250196688054124927688349928591982069276294077915780548361234060674066979826974794373768988300277597451842689743752474933086472169593186703904601842862766853507491371730369301117879913769621879746432773743613168840197390858634461572154834159631477957020363962359556025070717033140026031109674766263728056078050548099775734223595449817919850868768398394671560289794902793099204419960847163387634857454376214899196000820867797898885904185096888008217266320254654819384351125510912582095888457639866667705315826442185334174991067479600775304478398757097773259011463467253968727234296409263817219129682117555380281795109326126962569530142737352860602893684956650334309060746034462968744389363064500721257577588759063512361236224677762555201075642402920638768955249736459637480194476249342232622852525642275735482347749795437657850859513869892894523362204519277385170312140075034999975302743297666957824747040452747988034924363570701090507319499818982192334547719966551995100771742587353698914543228091062571427557298555080432208930403900523976254811163890781001760689798582162067614996553764140692463014584696808901575834618767263250822904408116434196512352042522363388804783431845162001385423678540526342837930202397432411393093924923685845013841848724274265845748230817917682456223434772146708519382428104791585307931471612642165032238827989863595877575592503324530346612387910825829595044842542037870503268672498498629340127 527088838694543757766204655035938583324052574067249121678724589342807252551622511682886150178687281163339686820427657833172505038554194929785219512682966235607752641434990953154103910470601496331058878965442546008437430335725161183340892868652364863282442796040460141709343116857763515833957733681888479059422596641661656233808572765955344108116338423662045822047148185793941216049025173952251173771751225690142938148091640350682062158874721638803117810035726656389043287433902479757167766469933597053228877405812009660622297203026472054882728326006290608328502281652766231496659219882627440791804728010355837310325553547153203926269118627761487087848793498644502147702001735327785939804786551631833503701213354590047679870375304413620656292813728454045269083749594043971164513332125801888783365711033977118797267904821430056068434248706084771265470402377758553834902297754259258491588199861203266026045897252090226072475058785233204526956894624854585976784430753932739288157511223170110899933952542493197143229063534011836459605894554281849697375205038662371097322232704243552819561240918437604221562978238903049205177006019435296721939686560046775926603722315496475701107611766741686299378913065242282029282208718284552673153218858105412763572229112206730631978592262940174694702384098486810008837154369585681475378886829143997804747724251330089823093572769558096769313600459761473307529347984715541900409977176653931569119533703589011082820295608258789156458849872874683844701175360887743663565640737267970963903545816494415514917532806204831555423083999770585636129019388775439335039452401160466550825932406943695216231462786059367996567393588447241824739692618918602671230659990069589552444081424893211402038403366262267834857905451002610028100660882368108567515777661850223307443107360618870984669564821578717019066093724627776472353902037183258047321375226489895227053883000207511252691127021616774396195868106714239599972739476054743880179934277799766398054799971931627530825068007141714784098329431779023276108106451028056971545594563055437427103883440649182391123580997758569706350745775105866156289782234542270951902394153247606168302688800337140999327337554460770759187893576246498725629601885707065044136686039917201691012516342587192135453591850671016938432068666579621948838105320859325050474057697303901483341422038722580887358869789935039351195913568985645963799563584218519532862939759128283409399976551180151537132341439256562215362239321278069805894624625003266245046303904625707335519751057936701963238874756213820102345125040059613038613627507816061895573582237788005812875507196510675061203308861813033583213180013911895294020333762137127168165057416363161893157511694043910962257778547708232794146219187343033198334711193110277810925285902143965458866625175225616148883534117225190506975434181443954476 852847656098482554902134936209378019951462050637265100800495915340966659005572795837373934629929243585068584539771680729836908335392525272410432775443926098141323245616728941084299367541244570033479488967958694395889431998796877615075452995674688123548301947189274374808365636277057419002419952020466329823794498230307046779536896234318361029628741871401892318340596083489390773753443524213400635482641222712788688372971698540037201143627062847720880314506983293849098182695645699867511188248202838185128451406412062107620885673901956566678458642617135615193516411532033198052039031048493549060764650423919206638777529998655159411409497379187121028591404168729995646878228312117388030556495798408326695312403346016823919708012815123309640644877529766121303711269594810546728154481711776965640045526526298455930733068523693933587724183724702559514384728542512514817199859352639442917417312559335825007715161976671914330409607471079413417295073858183679796815992774204325629409790171092713600383493149508849153019669686215677769720639521452504697750514815698471515818108392125821946608767058795054469326725490378330120832505568543800946934050094539018476732083783712985267707873861132118954532827989820330900123678262443830438253516275637633114370996687017587968206177038506593179868967440378267820710615787127777424595304634043491812329482935994183988825303112312779894324380600821161799594299726156337952660173864708056496807883632180993152096589686174569704820083933548750824528150155261512651865918334719813653647298291427501987087125992908736157265946766624093127500749758076557214953222023040212983599676020112535413622321420520940151401553219925198845103654978474627741947693130095620662118847688621267480088951466038002058453355268922460896869059277039668857310680454949427727403954524006505842123941036477913019886961522526662376538998925191475313641629881309279578179393912789607141148766888284479712022310292048414591040219076830048358578691375573025409518267225900354765121477270958933913780446987159305071217432577990626501688331915916040320788840090983491451869615460727314095713810275827123733878541298054632188127071915802807243945091720975909954577074014098250953664142918479121578155244161442547391886481477575052550526386235481715497658111128056187250572143701579597251581402987817149797514510445291936407704992739813088206858688772127373898915880120980746735542150937917434076091030821699710966698531631612360467536241963232817026526130102279830495693206787070881241600068045318170350104447866838277797857642019464643006753241474256125390656149871204866679005427399789391236554047722853512991405706294224426677138103699756909135869058036402972916395875334045618116592283840752430344685883339293540725617831829508065437162701056706155386517789226674312071254536001055211193726076155095693775647932680073294603 1379936494793026312668339591245316603275514624704514222479220504683773911557195307520260084808616524748408271360199338563009413373946720202195652288126892333749075887051719894238403278011846066364538367933401240404326862334522038798416345864327052986830744743229734516517708753134820934836377685702354808883217094871968703013345469000273705137745080295063938140387744269283331989802468698165651809254392448402931626521063338890719263302501784486523998124542709950238141470129548179624678954718136435238357328812224071768243182876928428621561186968623426223522018693184799429548698250931120989852569378434275043949103083545808363337678616006948608116440197667374497794580230047445173970361282350040160199013616700606871599578388119536930296937691258220166572795019188854517892667813837578854423411237560275574728000973345123989656158432430787330779855130920271068652102157106898701409005512420539091033761059228762140402884666256312617944251968483038265773600423528137064917567301394262824500317445692002046296248733220227514229326534075734354395125719854360842613140341096369374766170007977232658690889703729281379326009511587979097668873736654585794403335806099209460968815485627873805253911741055062612929405886980728383111406735133743045877943225799224318600184769301446767874571351538865077829547770156713458899974191463187489617077207187324273811918875881870876663637981060582635107123647710871879853070151041361988065927417335770004234916885294433358861278933806423434669229325516149256315431559071987784617550844107921917502004658799113567712689030766394678763629769146851996549992674424200679534425608427056230629853784206580308147968946808372440669843347597393230413178353120165210214562929113514478882127354832300269893311260719925070924969720159407777424826458116799651034847061884625376826793505858056630038953055247154438848892900962374733360963005107799174805233276912997118393839893909901254108218178398762654191012958552884792238758625653372791807573067197831982295946545278100648697878776418938328347325539029018683473233926478971477747892723531632673842993196458485883802064556050932989890168323532596903140029466069050413412247780521313050953904411568559021712852036494725620303784846047149612436023167517492254241538902578068907633111702978727204189004212368159219200419508308676474847988568142595837891046414778535669094217558562062413250111793689966392699341714522135953608953970580827994376098508182792512004668583402489379241888369423557900301587831412074147486646371949943877685624198924774979761096516775678463109098366514315738429269777379020928574579009637577397049429554919364188052609015156037460260351283713668804429889391798540100084560932750408780009749795534796341306943661887001773519764051016851098635497412249816433197443075128818277530121161176280827342609610272320884282623366861517249079 2232784150891508867570474527454694623226976675341779323279716420024740570562768103357634019438545768333476855899971019292846321709339245474606085063570818431890399132668448835322702645553090636398017856901359934800216294333318916413491798860001741110379046690419008891326074389411878353838797637722821138707011593102275749792882365234592066167373822166465830458728340352772722763555912222379052444737033671115720314894035037430756464446128847334244878439049693244087239652825193879492190142966339273423485780218636133875864068550830385188239645611240561838715535104716832627600737281979614538913334028858194250587880613544463522749088113386135729145031601836104493441458458359562562000917778148448486894326020046623695519286400934660239937582568787986287876506288783665064620822295549355820063456764086574030658734041868817923243882616155489890294239859462783583469302016459538144326422824979874916041476221205434054733294273727392031361547042341221945570416416302341390546977091565355538100700938841510895449268402906443191999047173597186859092876234670059314128958449488495196712778775036027713160216429219659709446842017156522898615807786749124812880067889882922446236523359489005924208444569044882943829529565243172213549660251409380678992314222486241906568390946339953361054440318979243345650258385943841236324569496097230981429406690123318457800744178994183656557962361661403796906717947437028217805730324906070044562735300967950997387013474980607928566099017739972185493757475671410768967297477406707598271198142399349419489091784792022303869954977533018771891130518904928553764945896447240892518025284447168766043476105627101248299370500028297639514947002575867858155126046250260830876681776802135746362216306298338271951764615988847531821838779436447446282137138571749078762251016408631882668917446894534543058840016769681101225431899887566208674604634989108454383412670825786725534988660798185733820240488690811068782053177629714840597337317028945817217091334423732337061068022549059582611659223406097633418542971607009309974922258394887518068681563622616165294862811919213197897778366326760113624046864830651535328156537984853220656192872242288960908481485582657272666516179413204741881940090208592159827909648995067306792065288813550623130769814106783391439576356069738816452000911296493624645503078587887774298751407518348757301076247334189787149027673810947139434883865460053387685045001402527705342797039814404872472204825365722196268414499525837730797281038199145028728246439995262048035728646791613257558954158795143106115851607988571863819925927250225795253584437037366788285983602642217701044014721450261886937489387413425713565758449834943073000956808084454398126342079375548771651629545226295314245381882846359164072660113306522588583960864355492589601375697177336038536335686427416578058271299541590543682 3612720645684535180238814118700011226502491300046293545758936924708514482119963410877894104247162293081885127260170357855855735083285965676801737351697710765639475019720168729561105923564936702762556224834761175204543156667840955211908144724328794097209791433648743407843783142546699288675175323425175947590228687974244452806227834234865771305118902461529768599116084622056054753358380920544704253991426119518651941415098376321475727748630631820768876563592403194325381122954742059116869097684475708661843109030860205644107251427758813809800832579863988062237553797901632057149435532910735528765903407292469294536983697090271886086766729393084337261471799503478991236038688407007735971279060498488647093339636747230567118864789054197170234520260046206454449301307972519582513490109386934674486868001646849605386735015213941912900041048586277221074094990383054652121404173566436845735428337400414007075237280434196195136178939983704649305799010824260211344016839830478455464544392959618362601018384533512941745517136126670706228373707672921213488001954524420156742098790584864571478948783013260371851106132948941088772851528744501996284681523403710607283403695982131907205338845116879729462356310099945556758935452223900596661066986543123724870257448285466225168575715641400128929011670518108423479806156100554695224543687560418471046483897310642731612663054876054533221600342721986432013841595147900097658800475947432032628662718303721001621930360275041287427377951546395620162986801187560025282729036478695382888748986507271336991096443591135871582644008299413450654760288051780550314938570871441572052450892874224996673329889833681556447339446836670080184790350173261088568304399370426041091244705915650225244343661130638541845075876708772602746808499595855223706963596688548729797098078293257259495710952752591173097793072016835540074324800849940942035567640096907629188645947738783843928828554708086987928458667089573722973066136182599632836095942682318609024664401621564319357014567827160231309537999825035961765868510636027993448156184873858995816574287154248839137856008377699081699842922377693103514215188363248438468186004053903634068440652763602011862385897151216294379368215907930362185724936255741772263932816512559561033604191391619530763881517085510595628580568437898035652420419605170099493491646730483612189797822296884426395293805896252200399139467500913532134225579982189341293998971983355699718895547997197384476873408768211575510302868949395631098868869611219176214892811945205925721352845716388237320050675570821569224949974502887602249195704629246723828163446674944185335413157561581889096623736606299347197840671127094517995647841633483173085517740834863178136091874910345112958573207113297087765145933863210262708157525556339021781403939484310867131496858353616865878945296699737462340894666403107792761 5845504796576044047809288646154705849729467975388072869038653344733255052682731514235528123685708061415361983160141377148702056792625211151407822415268529197529874152388617564883808569118027339160574081736121110004759451001159871625399943584330535207588838124067752299169857531958577642513972961147997086297240281076520202599110199469457837472492724627995599057844424974828777516914293142923756698728459790634372256309133413752232192194759479155013755002642096438412620775779935938609059240650814982085328889249496339519971319978589198998040478191104549900953088902618464684750172814890350067679237436150663545124864310634735408835854842779220066406503401339583484677497146766570297972196838646937133987665656793854262638151189988857410172102828834192742325807596756184647134312404936290494550324765733423636045469057082759836143923664741767111368334849845838235590706190025974990061851162380288923116713501639630249869473213711096680667346053165482156914433256132819846011521484524973900701719323375023837194785539033113898227420881270108072580878189194479470871057240073359768191727558049288085011322562168600798219693545901024894900489310152835420163471585865054353441862204605885653670800879144828500588465017467072810210727237952504403862571670771708131736966661981353489983451989497351769130064542044395931549113183657649452475890587433961189413407233870238189779562704383390228920559542584928315464530800853502077191398019271671999008943835255649215993476969286367805656744276858970794250026513885402981159947128906620756480188228383158175452598985832432222545890806956709104079884467318682464570476177321393762716805995460782804746709946864967719699737352749128946723430445620686871967926482717785971606559967428976813796840492697620134568647279032302669989100735260297808559349094701889142164628399647125716156633088786516641299756700737507150710172275086016083572058618564570569463817215506272721748699155780384791755119313812314473433433259711264426241755736045296656418082590376219813921197223231133595184411482243037303423078443268746513885255850776865004432718820296912279597621288704453217138262053193899973796342542038756854724633525005890972770867382733873567045884395321135104067665026464333932091842465507626867825669480205170153894651331192293987068156924507636852104421330901663724138994725318371386488549229815233183696370053230441987548167141311860671569109445442242728979043973385883405061692587811602256949078234133933771778717368475233361896149907810364204943139251940467973757081492508001494879004834365964675340801582491459466069121631879472519081747883712310973621396760203799590140638458056561234135330058540520231561406291468426246086474548919317576262433954285893884610202752339592402010527816709569426780817638862861610365364803839803456732872555530952904415280983127154040399165965944698336443 9458225442260579228048102764854717076231959275434366414797590269441769534802694925113422227932870354497247110420311735004557791875911176828209559766966239963169349172108786294444914492682964041923130306570882285209302607669000826837308088308659329304798629557716495707013640674505276931189148284573173033887468969050764655405338033704323608777611627089525367656960509596884832270272674063468460952719885910153024197724231790073707919943390110975782631566234499632738001898734677997725928338335290690747171998280356545164078571406348012807841310770968537963190642700520096741899608347801085596445140843443132839661848007725007294922621572172304403667975200843062475913535835173578033943475899145425781081005293541084829757015979043054580406623088880399196775108904728704229647802514323225169037192767380273241432204072296701749043964713328044332442429840228892887712110363592411835797279499780702930191950782073826445005652153694801329973145063989742368258450095963298301476065877484592263302737707908536778940302675159784604455794588943029286068880143718899627613156030658224339670676341062548456862428695117541886992545074645526891185170833556546027446875281847186260647201049722765383133157189244774057347400469690973406871794224495628128732829119057174356905542377622753618912463660015460192609870698144950626773656871218067923522374484744603921026070288746292723001163047105376660934401137732828413123331276800934109820060737575393000630874195530690503420854920832763425819731078046530819532755550364098364048696115413892093471284671974294047035242994131845673200651095008489654394823038190124036622927070195618759390135885294464361194049393701637799884527702922390035291734844991112913059171188633436196850903628559615355641916369406392737315455778628157893696064331948846538356447172995146401660339352399716889254426160803352181374081501587448092745739915182923712760704566303354413392645770214359709677157822869958514728185449994914106269529202393583035266420137666860975775097158203380045230735223056169556950279992879065296871234628142605509701830137931113843570574828674611361297464211082146320652477241557148412264528546092660488793074177769492984633253279885089861425252611229065466253389962720075704355775282020186428859273671596789684658532848277804582696737492945534887756841750506833823632486372048854998678347052112117610091663859126694187947306608812774203703335025424432070273042945369239104780588135808799641425951642902145347289020237424628992995018777421583381158032063885673899478434338224389732199055509936786244565751556994347068318317336508719242909911330387255158956809917765381479237262194662860581333170729667614749557054133101909419171992289754180754398525829196238997568775959452889489775673750572779689488975164419200632146768743324114323864369413884569770294226279826891502740060632347806129204 15303730238836623275857391411009422925961427250822439283836243614175024587485426439348950351618578415912609093580453112153259848668536387979617382182234769160699223324497403859328723061800991381083704388307003395214062058670160698462708031892989864512387467681784248006183498206463854573703121245721170120184709250127284858004448233173781446250104351717520966714804934571713609787186967206392217651448345700787396454033365203825940112138149590130796386568876596071150622674514613936334987578986105672832500887529852884684049891384937211805881788962073087864143731603138561426649781162691435664124378279593796384786712318359742703758476414951524470074478602182645960591032981940148331915672737792362915068670950334939092395167169031911990578725917714591939100916501484888876782114919259515663587517533113696877477673129379461585187888378069811443810764690074731123302816553618386825859130662160991853308664283713456694875125367405898010640491117155224525172883352096118147487587362009566164004457031283560616135088214192898502683215470213137358649758332913379098484213270731584107862403899111836541873751257286142685212238620546551786085660143709381447610346867712240614089063254328651036803958068389602557935865487158046217082521462448132532595400789828882488642509039604107108895915649512811961739935240189346558322770054875717375998265072178565110439477522616530912780725751488766889854960680317756728587862077654436187011458756847064999639818030786339719414331890119131231476475354905501613782782064249501345208643244320512849951472900357452222487841979964277895746541901965198758474707505508806501193403247517012522106941880755247165940759340566605519584265055671518982015165290611799785027097671351222168457463595988592169438756862104012871884103057660460563685165067209144346915796267697035543824967752046842605411059249589868822673838202324955243455912190268939796332763184867924982856462985720632431425856978650343306483304763807228579702962462104847461508175873712157632193179748579599859151932446287303152134691475122102600294313071411352023587085988707978848003293648971523640895085499786599537790739294751048386060871088131417343517707702775383957404120662618963428471137006550200570321054989184409636447617747527813296684943151801959838553184179470098569764894417453171739861263081408497547771481097367226385166896281927350793788033912357136175495473750124634875272444470866674799252086918755122509842280723620401898375029877036079119067737605899862354891168685231947586101171315826141873235515830732391227078060344302750919906553139485806534387438968388191761991659214099566132578206677969181069377900652719421815468500788208134981118460424570335665258466838673498330660959783482132882178978711792481891786201567282349116269792803282062242512133547163917780597241969415522674709507262954045543139226598292504465647 24761955681097202503905494175864140002193386526256805698633833883616794122288121364462372579551448770409856204000764847157817640544447564807826941949201009123868572496606190153773637554483955423006834694877885680423364666339161525300016120201649193817186097239500743713197138880969131504892269530294343154072178219178049513409786266878105055027715978807046334371765444168598442057459641269860678604168231610940420651757596993899648032081539701106579018135111095703888624573249291934060915917321396363579672885810209429848128462791285224613723099733041625827334374303658658168549389510492521260569519123036929224448560326084749998681097987123828873742453803025708436504568817113726365859148636937788696149676243876023922152183148074966570985349006594991135876025406213593106429917433582740832624710300493970118909877201676163334231853091397855776253194530303624011014926917210798661656410161941694783500615065787283139880777521100699340613636181144966893431333448059416448963653239494158427307194739192097395075390889352683107139010059156166644718638476632278726097369301389808447533080240174384998736179952403684572204783695192078677270830977265927475057222149559426874736264304051416419937115257634376615283265956849019623954315686943760661328229908886056845548051417226860727808379309528272154349805938334297185096426926093785299520639556923169031465547811362823635781888798594143550789361818050585141711193354455370296831519494422458000270692226317030222835186810951894657296206432952032433315537614613599709257339359734404943422757572331746269523084974096123568947192996973688412869530543698930537816330317712631281497077766049711527134808734268243319468792758593909017306900135602912698086268859984658365308367224548207525080673231510405609199558836288618457381229399157990885272243440692181945485307104446559494665485410393221004047919703912403336201652105451863509093467751171279396249108755934992141103014801520301821211490213802142685972491664498430496774596011379018607968276906782979904382667669343472709084971468001167897165547699553957533288916126639092691573868477646135002192549710868745858443216536308196798325399634224077832310781880544876942037373942504053289896389617779266036574444951904485340803393029547999725544216823398749523211717027747903152461631910398706627618104831915331371403967469416081383845243334039468403879697771483830363442780358937409078975779496291106869525129864124361614622868859429201539800981519938224466356757843324491347886187462653530967259203379711815772713950168956780959277115854239537164472304696480153602705756304896911004901570544486821291535016595734562548615162847382282396801671517875749730675514557672245084430459128427679085059485612678371879747754671245371381561875317855128805758767967701262874658902290488032104461611383300092445003733542780937045879287230640310594851 40065685919933825779762885586873562928154813777079244982470077497791818709773547803811322931170027186322465297581217959311077489212983952787444324131435778284567795821103594013102360616284946804090539083184889075637426725009322223762724152094639058329573564921284991719380637087432986078595390776015513274256887469305334371414234500051886501277820330524567301086570378740312051844646608476252896255616577311727817105790962197725588144219689291237375404703987691775039247247763905870395903496307502036412173773340062314532178354176222436419604888695114713691478105906797219595199170673183956924693897402630725609235272644444492702439574402075353343816932405208354397095601799053874697774821374730151611218347194210963014547350317106878561564074924309583074976941907698481983212032352842256496212227833607666996387550331055624919419741469467667220063959220378355134317743470829185487515540824102686636809279349500739834755902888506597351254127298300191418604216800155534596451240601503724591311651770475658011210479103545581609822225529369304003368396809545657824581582572121392555395484139286221540609931209689827257417022315738630463356491120975308922667569017271667488825327558380067456741073326023979173219131444007065841036837149391893193923630698714939334190560456830967836704294959041084116089741178523643743419196980969502675518904629101734141905025333979354548562614550082910440644322498368341870299055432109806483842978251269522999910510257103369942249518701071025888772681787857534047098319678863101054465982604054917793374230472689198492010926954060401464693734898938887171344238049207737039009733565229643803604019646804958693075568074834848839053057814265427999322065426214712483113366531335880533765830820536799694519430093614418481083661893949079021066394466367135232188039708389217489310274856493402100076544659983089826721757906237358579657564295720803305426230936039204379105571741655624572528871780170645127694794977609371265675454126603277958282771885091176240161456655362579763534600115630775861219662943123270497459860770965309556876002115347071539577162126617658643087635210655345396233955831059245184386270722355495175828489583320260899441494605123016718367526624329466606895499941088894977251010777075813022229159975200709361764901207218001722226526327851878367479367913323828919175448566783307769012139615966819197667731683840966538938254109062043954248223967157781668777216782879484124465149583049603438176011396974303585424495449224353702777356147885478553360374695537957645949465999689172186355176198542288084378857835965960137093195273285102766893229758586387424113223273703743617993063500101704212270172306083884711793974982242580749688925967101177415720445396160504761926733383037853273348076885137477922028560770983325117171035837651949885058853352715615119713240805734982589018513828932815060498 64827641601031028283668379762737702930348200303336050681103911381408612832061669168273695510721475956732321501581982806468895129757431517595271266080636787408436368317709784166875998170768902227097373778062774756060791391348483749062740272296288252146759662160785735432577775968402117583487660306309856428329065688483383884824020766929991556305536309331613635458335822908910493902106249746113574859784808922668237757548559191625236176301228992343954422839098787478927871821013197804456819413628898399991846659150271744380306816967507661033327988428156339518812480210455877763748560183676478185263416525667654833683832970529242701120672389199182217559386208234062833600170616167601063633970011667940307368023438086986936699533465181845132549423930904574210852967313912075089641949786424997328836938134101637115297427532731788253651594560865522996317153750681979145332670388039984149171950986044381420309894415288022974636680409607296691867763479445158312035550248214951045414893840997883018618846509667755406285869992898264716961235588525470648087035286177936550678951873511201002928564379460606539346111162093511829621806010930709140627322098241236397724791166831094363561591862431483876678188583658355788502397400856085464991152836335653855251860607600996179738611874057828564512674268569356270439547116857940928515623907063287975039544186024903173370573145342178184344503348677053991433684316418927012010248786565176780674497745691981000181202483420400165084705512022920546068888220809566480413857293476700763723321963789322736796988045020944761534011928156525033640927895912575584213768592906667576826063882942275085101097412854670220210376809103092158521850572859337016628965561817625181199635391320538899074198045085007219600103325124824090283220730237697478447623865525126117460283149081399434795581960939961594742030070376310830769677610149761915859216401172666814519698687210483775354680497590616713631886581690946948906285191411513951647945791101708455057367896470194848129733562145559667917267784974248570304634411124438394625408470519267090164918241986164231151030604263793645280184921524091254677172367367441982711670356579573008139271463865137841478868547627070008263916242108732643469944892993380318054403806623812747773376798599458884976618234965904874688158238250584995097472745239160290579416036199389152857382950006287601547429455324796902381034467999453033224003463448888538302346647003845739088018442478804977976992916912528051781253292548845050663543610539009520619578075249773418663416168645953145632292052781825248851162532446113739798951578182013771794800303073208715648239869438306166608226347483986609071843823959634442469489539914825834119385095528856500779931008838876641674488054283224654909952202992606727787328738684587991829938128139981989520464736015707564716974348515919634897801059573125655349 104893327520964854063431265349611265858503014080415295663573988879200431541835216972085018441891503143054786799163200765779972618970415470382715590212072565693004164138813378179978358787053849031187912861247663831698218116357805972825464424390927310476333227082070727151958413055835103662083051082325369702585953157788718256238255266981878057583356639856180936544906201649222545746752858222366471115401386234396054863339521389350824320520918283581329827543086479253967119068777103674852722909936400436404020432490334058912485171143730097452932877123271053210290586117253097358947730856860435109957313928298380442919105614973735403560246791274535561376318613442417230695772415221475761408791386398091918586370632297949951246883782288723694113498855214157285829909221610557072853982139267253825049165967709304111684977863787413173071336030333190216381112971060334279650413858869169636687491810147068057119173764788762809392583298113894043121890777745349730639767048370485641866134442501607609930498280143413417496349096443846326783461117894774651455432095723594375260534445632593558324048518746828079956042371783339087038828326669339603983813219216545320392360184102761852386919420811551333419261909682334961721528844863151306027989985727547049175491306315935513929172330888796401216969227610440386529288295381584671934820888032790650558448815126637315275598479321532732907117898759964432078006814787268882309304218674983264517475996961504000091712740523770107334224213093946434841570008667100527512176972339801818189304567844240530171218517710143253544938882216926498334662794851462755558006642114404615835797448171918888705117059659628913285944883937940997574908387124765015951030988032337664313001922656419432840028865621806914119533418739242571366882624186776499514018331892261349648322857470616924105856817433363694818574730359400657491435516387120495516780696893470119945929623249688154460252239246241286160758361861592076601080169020885217323399917704986413340139781561371088291190217508139431451867900605024431524297354247708892085269241484576647040920357333235770728192730881452288367820132179436650911128198426687167097941078935068183967761047185398740920363152750086726631442866438199250365444834082275295305414583699625770002536773800168246741519442183906596914684566102463362576840658562989209754864602982696921869522565973106799215161139165763441319288577061496987472227430606670207079563429883329863553168025528408416153004313886831637205748741773198753440899758424488073979952770787731064612882168335125331987468251324113333230020368412073876892146851467116538688030061659596139761463143142049784601289847585690821342016130043519154263464522157406583808311062630033916500376404999381403601221437321077928258029088130084649815889509667913109000973965791931874579318088731322684430215154250902223916314888505940715847 169720969121995882347099645112348968788851214383751346344677900260609044373896886140358713952612979099787108300745183572248867748727846987977986856292709353101440532456523162346854356957822751258285286639310438587759009507706289721888204696687215562623092889242856462584536189024237221245570711388635226130915018846272102141062276033911869613888892949187794572003242024558133039648859107968480045975186195157064292620888080580976060496822147275925284250382185266732894990889790301479309542323565298836395867091640605803292791988111237758486260865551427392729103066327708975122696291040536913295220730453966035276602938585502978104680919180473717778935704821676480064295943031389076825042761398066032225954394070384936887946417247470568826662922786118731496682876535522632162495931925692251153886104101810941226982405396519201426722930591198713212698266721742313424983084246909153785859442796191449477429068180076785784029263707721190734989654257190508042675317296585436687281028283499490628549344789811168823782219089342111043744696706420245299542467381901530925939486319143794561252612898207434619302153533876850916660634337600048744611135317457781718117151350933856215948511283243035210097450493340690750223926245719236771019142822063200904427351913916931693667784204946624965729643496179796656968835412239525600450444795096078625597993001151540488646171624663710917251621247437018423511691131206195894319553005240160045191973742653485000272915223944170272418929725116866980910458229476667007926034265816502581912626531633563266968206562731088015078950810373451531975590690764038339771775235021072192661861331114193973806214472514299133496321693041033156096758959984102032579996549849962845512637313976958331914226910706814133719636743864066661650103354424473977961642197417387467108606006552016358901438778373325289560604800735711488261113126536882411375997098066136934465628310460171929814932736836857999792644943552539025507365360432399168971345708806694868397507678031565936420923779653699099369135685579273001828931765372147286710677712003843737205838599319400001879223335145245933648005053703527905588300565794129149809611435514641192107032511050536582399231700377156734895359108546931893835389727075655613359818390323438517775913572399627131718137677149811471602842804353048357674313403802149500334280639182086074726905515979394400762590594490560343700323045060950020696230894055558745381910076887175602641186468007213394129997230799359688987002034322043804104443368963497594599530846037504483276298336981078477619760304105938582081182900858187616691098429649130310482830364732804855409703012580355951209516195069677430413859954003153596732954062072232417927696158158890417280307413838258045275709491604302583167981291122691377603218248352501100830912093931913864099782824747030249147189502766821858814115948079066371196 274614296642960736410530910461960234647354228464166642008251889139809475915732103112443732394504482242841895099908384338028840367698262458360702446504781918794444696595336540526832715744876600289473199500558102419457227624064095694713669121078142873099426116324927189736494602080072324907653762470960595833500972004060820397300531300893747671472249589043975508548148226207355585395611966190846517090587581391460347484227601970326884817343065559506614077925271745986862109958567405154162265233501699272799887524130939862205277159254967855939193742674698445939393652444962072481644021897397348405178044382264415719522044200476713508241165971748253340312023435118897294991715446610552586451552784464124144540764702682886839193301029759292520776421641332888782512785757133189235349914064959504978935270069520245338667383260306614599794266621531903429079379692802647704633498105778323422546934606338517534548241944865548593421847005835084778111545034935857773315084344955922329147162726001098238479843069954582241278568185785957370528157824315019950997899477625125301200020764776388119576661416954262699258195905660190003699462664269388348594948536674327038509511535036618068335430704054586543516712403023025711945455090582388077047132807790747953602843220232867207596956535835421366946612723790237043498123707621110272385265683128869276156441816278177803921770103985243650158739146196982855589697945993464776628857223915143309709449739614989000364627964467940379753153938210813415752028238143767535438211238156304400101931099477803797139425080441231268623889692590378030310253485615501095329781877135476808497658779286112862511331532173928046782266576978974153671667347108867048531027537882300509825639236633377764754255776328621047839170162603309233016985978611250477475660529309648816756928864022633283007295595806688984379179531095112145752548642924002906892777794959607054411557933709860084275184976083099285953403305414131102108445529453284386294745626511681281737647459592937024712113997161838530821003586184297433353229119619856178795946953488420384246758956652635772607416066026698222015825185882964556499428764220816316907552514449709376074793558235935323319594853127243461526801974985131144200834561157930908665232974023064287778450346199795378459657119333718068517527370455511720251154062365138710089145242164782996596428081952501199977751733656323785019611622122447008168458324662228952461473506770505466194354493535621810283001544686191326192750776095242557545343127387985668579483616825235547889180505316203809607228555430051915311203269270261493583245281116246849170860426392400995171166155722405735810806042655368251755876084046672750996418584229639001736007220788924333780683818837639448876930928925380511426010379252776027419107758020414209831886059723845738679100913478352933577404657017724082730430836585007087043 444335265764956618757630555574309203436205442847917988352929789400418520289628989252802446347117461342629003400653567910277708116426109446338689302797491271895885229051859702873687072702699351547758486139868541007216237131770385416601873817765358435722519005567783652321030791104309546153224473859595821964415990850332922538362807334805617285361142538231770080551390250765488625044471074159326563065773776548524640105115682551302945314165212835431898328307457012719757100848357706633471807557066998109195754615771545665498069147366205614425454608226125838668496718772671047604340312937934261700398774836230450996124982785979691612922085152221971119247728256795377359287658477999629411494314182530156370495158773067823727139718277229861347439344427451620279195662292655821397845845990651756132821374171331186565649788656825816026517197212730616641777646414544961129616582352687477208406377402529967011977310124942334377451110713556275513101199292126365815990401641541359016428191009500588867029187859765751065060787275128068414272854530735265250540366859526656227139507083920182680829274315161697318560349439537040920360097001869437093206083854132108756626662885970474284283941987297621753614162896363716462169381336301624848066275629853948858030195134149798901264740740782046332676256219970033700466959119860635872835710478224947901754434817429718292567941728648954567410360393634001279101389077199660670948410229155303354901423482268474000637543188412110652172083663327680396662486467620434543364245503972806982014557631111367064107631643172319283702840502963829562285844176379539435101557112156549001159520110400306836317546004688227180278588270020007309768426307092969081111024087732263355338276550610336096668482687035435181558806906467375894667089333035724455437302726727036283865534870574649641908734374180014273939784331830823634013661769460885318268774893025743988877186244170032014090117712919957285746048248966670127615810889885683555266091335318376150135155137624502961133037776815537630190139271763570435182160884992003465506624665492264121452597555972035774486639401171944155663830239586492462087729330014945466717163949964350568181826069286471905718826553504400196422161083532063038036224288233586522025051364346502805554363918599422510177794796483529540120370174808560077925467466167288210423425881346869071323333597931895600740342328146884128719934667183397028864689218717787697843383583657681068835540961542835204412998775485551015179752810417286361649786496351483263179014462862740031165478842297282287226988859535990497392386170128449110274343710765377159653690791125205850580869168302761687020322237725045682169736038049826347729372646301871419663703378947814751060991232675897494152640420529683094593991670375467405022326006372915310662798153655759602778883738225383182724594159784545941544546784664073458239 718949562407917355168161466036269438083559671312084630361181678540227996205361092365246178741621943585470898500561952248306548484124371904699391749302273190690329925647196243400519788447575951837231685640426643426673464755834481111315542938843501308821945121892710842057525393184381871060878236330556417797916962854393742935663338635699364956833392127275745589099538476972844210440083040350173080156361357939984987589343284521629830131508278394938512406232728758706619210806925111787634072790568697381995642139902485527703346306621173470364648350900824284607890371217633120085984334835331610105576819218494866715647026986456405121163251123970224459559751691914274654279373924610181997945866966994280515035923475750710566333019306989153868215766068784509061708448049789010633195760055611261111756644240851431904317171917132430626311463834262520070857026107347608834250080458465800630953312008868484546525552069807882970872957719391360291212744327062223589305485986497281345575353735501687105509030929720333306339355460914025784801012355050285201538266337151781528339527848696570800405935732115960017818545345197230924059559666138825441801032390806435795136174421007092352619372691352208297130875299386742174114836426884012925113408437644696811633038354382666108861697276617467699622868943760270743965082827481746145220976161353817177910876633707896096489711832634198217569099539830984134691087023193125447577267453070446664610873221883463001002171152880051031925237601538493812414514705764202078802456742129111382116488730589170861247056723613550552326730195554207592596097661995040530431338989292025809657178889686419698828877536862155227060854846998981463440093654201836129642051625614563865163915787243713861422738463364056229397977069070685127684075311646974932912963256036685100622463734597282924916029969986703258318963862925935779766210412384888225161552687985351043288744177879892098365302689003056571699451554380801229724256419338967941560836961830057431872802597217439985845151773977376161011142857947867868535390004611859644302571618980684505699356512624671547094055467198642377679655425469457018587158094235761783624716464414059944256619627522407229038421406631643657948963058517194182237058849391517430690284338369567093332814264799217888637451915817247608637897545264071798176621528532426920512571123511652067919761679884396800718094061803207913739546289305844037033147543380016650304857090428186535029895455078457014696000320171742341372503586512528919195129623739468931758498079687975579054659347613486096834217414966042412703589439398710603857588991881624008824551217517606845752035324025167422831128280380413933925612122096499098725791230531510421399710599736739084841675051513536943029571349455063606020002049628243432441433764393329520494684213379605341457984651703736116301998816802270024274977621249080545282 1163284828172873973925792021610578641519765114160002618714111467940646516494990081618048625088739404928099901901215520158584256600550481351038081052099764462586215154699055946274206861150275303384990171780295184433889701887604866527917416756608859744544464127460494494378556184288691417214102710190152239762332953704726665474026145970504982242194534665507515669650928727738332835484554114509499643222135134488509627694458967072932775445673491230370410734540185771426376311655282818421105880347635695491191396755674031193201415453987379084790102959126950123276387089990304167690324647773265871805975594054725317711772009772436096734085336276192195578807479948709652013567032402609811409440181149524436885531082248818534293472737584219015215655110496236129340904110342444832031041606046263017244578018412182618469966960573958246652828661046993136712634672521892569963866662811153277839359689411398451558502862194750217348324068432947635804313943619188589405295887628038640362003544745002275972538218789486084371400142736042094199073866885785550452078633196678437755479034932616753481235210047277657336378894784734271844419656668008262535007116244938544551762837306977566636903314678649830050745038195750458636284217763185637773179684067498645669663233488532465010126438017399514032299125163730304444432041947342382018056686639578765079665311451137614389057653561283152784979459933464985413792476100392786118525677682225750019512296704151937001639714341292161684097321264866174209077001173384636622166702246101918364131046361700537925354688366785869836029570698518037154881941838374579965532896101448574810816699000086726535146423541550382407339443117018988773208519961294805210753075713346827220502192337854049958091221150399491410956783975538061022351164644682699388350265982763721384487998605171932566824764344166717532258748194756759413779872181845773543430327581011095032165930422049924112455420401923013857445499803347471357340067309224651496826928297148433582007957734841942946978189550792913791201282129711438303717550889603863109809196284472948627151954068596707321580694868370586533343485665055949480674887424250707250341880414378410512438445696808879134757247960136043854371124142049257220273283137625103952715335702716069898887178183398640398815246712300777148758267720072631876102088994699715130935997004858521139243095277816292401458436389950092042459480956489241065897836762097804348148240674085867603865436416621292219108999095657293356552256396929815280844916120090952194937512542550715610220138189910768384061206274502032910095975609527159714131932702647001168478242008642812696332904492327929109851450518105459616095348160146325446455163876833381841063413978684553835902666284189434437182211769984746700613993720003710837463759770766244831157482367035364944236868389929119299026592976586815965819524405913154003521 1882234390580791329093953487646848079603324785472087249075293146480874512700351173983294803830361348513570800401777472406890805084674853255737472801402037653276545080346252189674726649597851255222221857420721827860563166643439347639232959695452361053366409249353205336436081577473073288274980946520708657560249916559120408409689484606204347199027926792783261258750467204711177045924637154859672723378496492428494615283802251594562605577181769625308923140772914530132995522462207930208739953138204392873187038895576516720904761760608552555154751310027774407884277461207937287776308982608597481911552413273220184427419036758892501855248587400162420038367231640623926667846406327219993407386048116518717400567005724569244859805756891208169083870876565020638402612558392233842664237366101874278356334662653034050374284132491090677279140124881255656783491698629240178798116743269619078470313001420266936105028414264558100319197026152338996095526687946250812994601373614535921707578898480503963078047249719206417677739498196956119983874879240835835653616899533830219283818562781313324281641145779393617354197440129931502768479216334147087976808148635744980346899011727984658989522687370002038347875913495137200810399054190069650698293092505143342481296271842915131118988135294016981731921994107490575188397124774824128163277662800932582257576188084845510485547365393917351002548559473295969548483563123585911566102945135296196684123169926035400002641885494172212716022558866404668021491515879148838700969158988231029746247535092289708786601745090399420388356300894072244747478039500369620495964235090740600620473877889773146233975301078412537634400297964017970236648613615496641340395127338961391085666108125097763819513959613763547640354761044608746150035239956329674321263229238800406485110462339769215491740794314153420790577712057682695193546082594230661768591880268996446075454674599929816210820723090926070429144951357728272587064323728563619438387765258978491013880760332059382932823341324770289952212424987659306172252940894215722754111767903453633132851310581221378868674750335569228911023141090525406499262045518486469033966596878792470456695065324331286363795669366767687512320087200566451402510341987016621383405620041085636992219992448197858287452698628118024757396165265336703674278710523232142051448568128370173207162856957700689202176530451753299956199027245795085102930984305477820998453097764514054138895331871699749233804999415829035697924759983442344200040045743830421126696010622238691189274797537524254480895423689468075322799565048925870317989521694528625177302793226160419542084939816353096532682578798485873550020960282242824545180955107364892262463124578421292920744341335702971380211783119439810306633995769631954269905193535159574351652166580414970285694853041632855415328591793389085990094502027162234548803 3045519218753665303019745509257426721123089899632089867789404614421521029195341255601343428919100753441670702302992992565475061685225334606775553853501802115862760235045308135948933510748126558607212029201017012294452868531044214167150376452061220797910873376813699830814637761761764705489083656710860897322582870263847073883715630576709329441222461458290776928401395932449509881409191269369172366600631626917004242978261218667495381022855260855679333875313100301559371834117490748629845833485840088364378435651250547914106177214595931639944854269154724531160664551198241455466633630381863353717528007327945502139191046531328598589333923676354615617174711589333578681413438729829804816826229266043154286098087973387779153278494475427184299525987061256767743516668734678674695278972148137295600912681065216668844251093065048923931968785928248793496126371151132748761983406080772356309672690831665387663531276459308317667521094585286631899840631565439402399897261242574562069582443225506239050585468508692502049139640932998214182948746126621386105695532730508657039297597713930077762876355826671274690576334914665774612898873002155350511815264880683524898661849034962225626426002048651868398620951690887659446683271953255288471472776572641988150959505331447596129114573311416495764221119271220879632829166722166510181334349440511347337241499535983124874605018955200503787528019406760954962276039223978697684628622817521946703635466630187337004281599835464374400119880131270842230568517052533475323135861234332948110378581453990246711956433457185290224385871592590281902359981338744200461497131192189175431290576889859872769121724619962920041739741081036959009857133576791446551148203052308218306168300462951813777605180764163039051311545020146807172386404601012373709613495221564127869598460944941148058565558658320138322836460252439454607325954776076435312022207850007541107620605021979740323276143492849084286590451161075743944404391037788270935214693556126924595888718066901325879801530875563203743413707117370744475970491783819585863920964187926581760003264649818086190255445203939815444366626755581355979936932942737176284308477293170880969133511021140165498552917326903731366691211342615708622783625124641725336120955743801706891107170631596498686267945340418801906154432985409335550380799517931857182384565133228694346405952235516981603634966841703391998658508202284326168828821067575625346601338438599921742760768288321041452913998511486329054477016380372159480884961863921373321633523164789406799494935727435022864956629963970108232895540658453030032121454397175626345781035234803232238417844308681025642534029316591333166116308442389149991636118984198274103526538557105846756647007619892405817393994889424557007247989489635665107368953305925819182809648947450335229931721431561974714355184769975901955914026433075388552324 4927753609334456632113698996904274800726414685104177116864697760902395541895692429584638232749462101955241502704770464972365866769900187862513026654903839769139305315391560325623660160345977813829433886621738840155016035174483561806383336147513581851277282626166905167250719339234837993764064603231569554882832786822967482293405115182913676640250388251074038187151863137160686927333828424228845089979128119345498858262063470262057986600037030480988257016086014831692367356579698678838585786624044481237565474546827064635010938975204484195099605579182498939044942012406178743242942612990460835629080420601165686566610083290221100444582511076517035655541943229957505349259845057049798224212277382561871686665093697957024013084251366635353383396863626277406146129227126912517359516338250011573957247343718250719218535225556139601211108910809504450279618069780372927560100149350391434779985692251932323768559690723866417986718120737625627995367319511690215394498634857110483777161341706010202128632718227898919726879139129954334166823625367457221759312432264338876323116160495243402044517501606064892044773775044597277381378089336302438488623413516428505245560860762946884615948689418653906746496865186024860257082326143324939169765869077785330632255777174362727248102708605433477496143113378711454821226291496990638344612012241443929594817687620828635360152384349117854790076578880056924510759602347564609250731567952818143387758636556222737006923485329636587116142438997675510252060032931682314024105020222563977856626116546279955498558178547584710612742172486662526649838020839113820957461366282929776051764454779633019003097025698375457676140039045054929246505747192288087891543330391269609391834408588049577597119140377926586691666306064755553322421644557342048030876724460364534354708923284710363550306352972473559113414172310122149800872037370307097080614088119003987183075279621909556534096866583775154715735402518804016531468714766351890373602458815105415609769478398960708812624872200333493695626132105030050648223432678035308618032732091380214892854575231039465058930195539509044355389767846106762479198978461223645318275074171963351425828576345471451862348586693671418879011298543182160025293967111658346719526575784887343883327163079794356973720643968536826663550598250746039224659510041163999233833133261598867553568809193217670805811497293456691954857535448079411271759805373053446345054436203113975881656100160020790686718997927315364752401776363814503680925007607751794448329533787028097988769733264959277345852053653438183555695105707378900350110976091704251523083828460963651780502784125034122175216608115077206716137268724631974536817074091563166365989663135527139677391348955595377197605778008864367313881985259267619377274146841085393534461815527865305515626574473194830129683776563364987946008528460237623101127 7973272828088121935133444506161701521849504584736266984654102375323916571091033685185981661668562855396912205007763457537840928455125522469288580508405641885002065550436868461572593671094104372436645915822755852449468903705527775973533712599574802649188156002980604998065357100996602699253148259942430452205415657086814556177120745759623006081472849709364815115553259069610196808743019693598017456579759746262503101240324688929553367622892291336667590891399115133251739190697189427468431620109884569601943910198077612549117116189800415835044459848337223470205606563604420198709576243372324189346608427929111188705801129821549699033916434752871651272716654819291084030673283786879603041038506648605025972763181671344803166362745842062537682922850687534173889645895861591192054795310398148869558160024783467388062786318621188525143077696737753243775744440931505676322083555431163791089658383083597711432090967183174735654239215322912259895207951077129617794395896099685045846743784931516441179218186736591421776018780062952548349772371494078607865007964994847533362413758209173479807393857432736166735350109959263051994276962338457789000438678397112030144222709797909110242374691467305775145117816876912519703765598096580227641238645650427318783215282505810323377217281916849973260364232649932334454055458219157148525946361681955276932059187156811760234757403304318358577604598286817879473035641571543306935360190770340090091394103186410074011205085165100961516262319128946352482628549984215789347240881456896925967004698000270202210514612004770000837128044079252808552198002177858021418958497475118951483055031669492891772218750318338377717879780126091888256362880769079534442691533443577827698002709051001391374724321142089625742977851084902360494808049158354421740490219681928662224307384229651511608871911630793697436250632562561604408197992146383532392636295969011528290695884643889296857373010076624239002325853679879760475873105804140161308817152371232340205658196465862034692426403075896697439039839222400795124193924461854894481953696279306796652857839880857551249185640743448859799756394601688118459135911403960821602583551465134232394962087366611617360901504020575150245702509885797868648077592236300072055647531528689050774434333711390855659988589308955628569705031236155374775040309559095856416217698394827561899974761428734652409446464135160083953516043650363737440588626440629071691655774641713897624416868448341832139632996438801693806878792744186663161809969471673167769963056951817504788264668992394300210808683617408291788590646365831930382232430488879877868864863695766884018920628433715147817750637431668539882253577167021124528453193075761440469516201692632986434038356575487783014999772898288924321129974748903284484643100147011212717271464475315640745558295904756804844038961333340889901922554893313011653451 12901026437422578567247143503065976322575919269840444101518800136226312112986726114770619894418024957352153707712533922510206795225025710331801607163309481654141370865828428787196253831440082186266079802444494692604484938880011337779917048747088384500465438629147510165316076440231440693017212863174000007088248443909782038470525860942536682721723237960438853302705122206770883736076848117826862546558887865608001959502388159191611354222929321817655847907485129964944106547276888106307017406733929050839509384744904677184128055165004900030144065427519722409250548576010598941952518856362785024975688848530276875272411213111770799478498945829388686928258598049248589379933128843929401265250784031166897659428275369301827179446997208697891066319714313811580035775122988503709414311648648160443515407368501718107281321544177328126354186607547257694055362510711878603882183704781555225869644075335530035200650657907041153640957336060537887890575270588819833188894530956795529623905126637526643307850904964490341502897919192906882516595996861535829624320397259186409685529918704416881851911359038801058780123885003860329375655051674760227489062091913540535389783570560855994858323380885959681891614682062937379960847924239905166811004514728212649415471059680173050625319990522283450756507346028643789275281749716147786870558373923399206526876874777640395594909787653436213367681177166874803983795243919107916186091758723158233479152739742632811018128570494737548632404758126621862734688582915898103371345901679460903823630814546550157709072790552354711449870216565915335202036023016971842376419863758048727534819486449125910775315776016713835394019819171146817502868627961367622334234863834847437089837117639050968971843461520016212434644157149657913817229693715696469771366944142293196579016307514361875159178264603267256549664804872683754209070029516690629473250384088015515473771164265798853391469876660399393718061256198683777007341820570492051682419611186337755815427674864822743505051275276230191134665971327430845772417357139890203099986428370687011545712415111897016308115836282957904155146162447794880938334889865184466920858625637097583820790663712083069223250090714246569124713808428980028673371559347958418775174107313576394657761496791185212633709233277492455233255629486901413999699819600259855650050831656426429453543570621952323215257961428616775908373579098443148712348431813682518036710210844827873506072968608362622826351994366117058559280569108001166842734977079424962218292590738845602777034402257353577556660737270846475344285752073210830732343406580584129391948692156730535799423412558749269992967245546745746598390845891653099065270267167324606835505864828160126111429705531083160212605550907153291635011960008170903861917246988096606251733280003180946261184870377951634973722737896705877847931083353550634754578 20874299265510700502380588009227677844425423854576711086172902511550228684077759799956601556086587812749065912720297380048047723680151232801090187671715123539143436416265297248768847502534186558702725718267250545053953842585539113753450761346663187149653594632128115163381433541228043392270361123116430459293664100996596594647646606702159688803196087669803668418258381276381080544819867811424880003138647611870505060742712848121164721845821613154323438798884245098195845737974077533775449026843813620441453294942982289733245171354805315865188525275856945879456155139615019140662095099735109214322297276459388063978212342933320498512415380582260338200975252868539673410606412630809004306289290679771923632191457040646630345809743050760428749242565001345753925421018850094901469106959046309313073567393285185495344107862798516651497264304285010937831106951643384280204267260212719016959302458419127746632741625090215889295196551383450147785783221665949450983290427056480575470648911569043084487069091701081763278916699255859430866368368355614437489328362254033943047943676913590361659305216471537225515473994963123381369932014013218016489500770310652565534006280358765105100698072353265457036732498939849899664613522336485394452243160378639968198686342185983374002537272439133424016871578678576123729337207935304935396504735605354483458936061934452155829667190957754571945285775453692683456830885490651223121451949493498323570546842929042885029333655659838510148667077255568215217317132900113892718586783136357829790635512546820359919587402557124712286998260645168143754234025194829863795378361233167679017874518118618802547534526335052213111899599297238705759231508730447156776926397278425264787839826690052360346567782662105838177622008234560274312037742874050891511857163824221858803323691744013386768050176234060953985915437435245358617268021663074161865886680057027043764467048909688150248842886737023632720387109878563537483214926374632212991236763557570096021085871330684778197477678352126888573705810549831640896611281601745097581940124649993808198570254992754567557301477026406763954902557049482999397470801269145288523442177102231816215752751078694686584151594734821719370416318314777897321449151584258490830821638842265445432195830502576068293697822586448083802960660723056788774740129159355712066268530051253991353518332050686975624704425563776859861889622748806886152937058254311589728365985486541771130489837056704454965984990804918752366159361852187830004544946551098129988255647690663107565299071249747877767469420888254767132876398439042761114575837069464007260813555852497419818344040992464417810717882978414286480644423058674223593723460243086047305022066520793112545468062106570943227605323805442215956141934757074188346560347135107818969004744478496587006743166282708439817761699230046767749853638246863646408029 33775325702933279069627731512293654167001343124417155187691702647776540797064485914727221450504612770101219620432831302558254518905176943132891794835024605193284807282093726035965101333974268744968805520711745237658438781465550451533367810093751571650119033261275625328697509981459484085287573986290430466381912544906378633118172467644696371524919325630242521720963503483151964280896715929251742549697535477478507020245101007312776076068750934971979286706369375063139952285250965640082466433577742671280962679687886966917373226519810215895332590703376668288706703715625618082614613956097894239297986124989664939250623556045091297990914326411649025129233850917788262790539541474738405571540074710938821291619732409948457525256740259458319815562279315157333961196141838598610883418607694469756588974761786903602625429406975844777851450911832268631886469462355262884086450964994274242828946533754657781833392282997257042936153887443988035676358492254769284172184958013276105094554038206569727794919996665572104781814618448766313382964365217150267113648759513220352733473595618007243511216575510338284295597879966983710745587065687978243978562862224193100923789850919621099959021453239225138928347181002787279625461446576390561263247675106852617614157401866156424627857262961416874773378924707219913004618957651452722267063109528753689985812936712092551424576978611190785312966952620567487440626129409759139307543708216656557049699582671675696047462226154576058781071835382190077952005715816011996089932684815818733614266327093370517628660193109479423736868477211083478956270048211801706171798224991216406552694004567744713322850302351766048505919418468385523262100136691814779111161261113272701877676944329103329318411244182122050612266165384218188129267436589747361283224107966515055382339999258375261927228440837328210535580242307929112826338051179764791339137064145042559238238213175487003640312763397423026438448366077247314490556746945124264673656374743907851836513546195507521702528953628357079708371781877262486669028638741635300681926553020680819744282670104651583865417313309364668110048719497277880335805691134329755444300802739329400036543414790777755807401685449068288495130126743757925994820710932216909605995746155841840089957327293761280927407055863940539036216290209958202774439948759615567716319361707680420807061902672639298839962386992393635770263201847250034865285490067994107765076196331369644636562805665067077792336985171035810925439930960188996847279923630523092206548238429508710342333473507101455324130158159101242477162150512253591846919243650048136652762248009227955617767453551213687803685128525160033079035268950327322658993727410410654140527931348953238656897767637654103440210874712595507591153894765245092208477594123204425220738024481677533267928036660660074791484437126752645597784721600414281162607 54649624968443979572008319521521332011426766978993866273864605159326769481142245714683823006591200582850285533153128682606302242585328175933981982506739728732428243698359023284733948836508455303671531238978995782712392624051089565286818571440414758799772627893403740492078943522687527477557935109406860925675576645902975227765819074346856060328115413300046190139221884759533044825716583740676622552836183089349012080987813855433940797914572548126302725505253620161335798023225043173857915460421556291722415974630869256650618397874615531760521115979233614168162858855240637223276709055833003453620283401449053003228835898978411796503329706993909363330209103786327936201145954105547409877829365390710744923811189450595087871066483310218748564804844316503087886617160688693512352525566740779069662542155072089097969537269774361429348715216117279569717576413998647164290718225206993259788248992173785528466133908087472932231350438827438183462141713920718735155475385069756680565202949775612812281989088366653868060731317704625744249332733572764704602977121767254295781417272531597605170521791981875509811071874930107092115519079701196260468063632534845666457796131278386205059719525592490595965079679942637179290074968912875955715490835485492585812843744052139798630394535400550298790250503385796036733956165586757657663567845134108173444748998646544707254244169568945357258252728074260170897457014900410362428995657710154880620246425600718581076795881814414568929738912637758293169322848716125888808519467952176563404901839640190877548247595666604136023866737856251622710504073406631569967176586224384085570568522686363515870384828686818261617819017765624229021331645422261935888087658391697966665516771019155689664979026844227888789888173618778462441305179463798252795081271790736914185663691002388648695278617071389164521495679743174471443606072842838953205023744202069603002705262085175153889155650134446659158835475955810851973771673319756477664893138301477947857599417526192299900006631980483968282077592427094127565639920343380398263866677670674627942852925097406151422718790335771432064951276546760879733276492403475043967742979841561216252296165869472442391553280183890007865546445058535823316269862516475400436817384998107285522153157796337349221104878450388622839176950933014991549180077918971279782587891758934412160580234723326274464666812556170495632152824596056921018222548322305697493442181817911415767052642721771532758321975975954563291599292812376826851824870181621222194803886120171817907632544756849333091599579047356009610038548951296352961495080719512143913575803861725375436111494543678105614403011503574319559679692009001546252717187653496701445549997869746351202365829744225046667816198518037723547295829522319280555037941258312244189742768960174120274671202943368514609246136356799413347638359847277927570636 88424950671377258641636051033814986178428110103411021461556307807103310278206731629411044457095813352951505153585959985164556761490505119066873777341764333925713050980452749320699050170482724048640336759690741020370831405516640016820186381534166330449891661154679365820776453504147011562845509095697291392057489190809353860883991541991552431853034738930288711860185388242685009106613299669928365102533718566827519101232914862746716873983323483098282012211622995224475750308476008813940381893999298963003378654318756223567991624394425747655853706682610282456869562570866255305891323011930897692918269526438717942479459455023503094494244033405558388459442954704116198991685495580285815449369440101649566215430921860543545396323223569677068380367123631660421847813302527292123235944174435248826251516916858992700594966676750206207200166127949548201604045876353910048377169190201267502617195525928443310299526191084729975167504326271426219138500206175488019327660343083032785659756987982182540076909085032225972842545936153392057632297098789914971716625881280474648514890868149604848681738367492213794106669754897090802861106145389174504446626494759038767381585982198007305018740978831715734893426860945424458915536415489266516978738510592345203427001145918296223258251798361967173563629428093015949738575123238210379930630954662861863430561935358637258678821148180136142571219680694827658338083144310169501736539365926811437669946008272394277124258107968990627710810748019948371121328564532137884898452152767995297019168166733561395176907788776083559760735215067335101666774121618433276138974811215600492123262527254108229193235131038584310123738436234009752283431782114076714999248919504970668543193715348259018983390271026349939402154339002996650570572616053545614078305379757251969568003690260763910622507057908717375057075922051103584269944124022603744544160808347112162240943475260662157529468413531869685597283842033058166464328420264880742338549513045385799694112963721699821602535585608841047990449374304356614234668559085015698945793230691355447687135595202057735288136103645136100174999996044038760069082183537804799412043782580890616288839580660250198198954965632958296360676571802293749311090573448692310042813131153949125612110485090098630148511934314329161875393241142973194323620026678586847498907253466614832967642137395965573304629199548564131402416026443306955883508038390299805258518378149281060403615448386838610550658961146990374217039223772565823699104793812144314401352124549680528249966018263950788415729737206457252087200699463549944808414324369560280566338051870953331053878948094891793418088140028734352638714960959328868911710915063907355586077929218699589859263597381879150108027073230633231138449724287564372763515535381516669410480793441851653542599239604028589400730573483552058945423081447692208733243 143074575639821238213644370555336318189854877082404887735420912966430079759348977344094867463687013935801790686739088667770859004075833295000855759848504062658141294678811772605432999006991179352311867998669736803083224029567729582107004952974581089249664289048083106312855397026834539040403444205104152317733065836712329088649810616338408492181150152230334901999407273002218053932329883410604987655369901656176531182220728718180657671897896031224584737716876615385811548331701051987798297354420855254725794628949625480218610022269041279416374822661843896625032421426106892529168032067763901146538552927887770945708295354001914890997573740399467751789652058490444135192831449685833225327198805492360311139242111311138633267389706879895816945171967948163509734430463215985635588469741176027895914059071931081798564503946524567636548881344066827771321622290352557212667887415408260762405444518102228838765660099172202907398854765098864402600641920096206754483135728152789466224959937757795352358898173398879840903277253858017801881629832362679676319603003047728944296308140681202453852260159474089303917741629827197894976625225090370764914690127293884433839382113476393510078460504424206330858506540888061638205611384402142472694229346077837789239844889970436021888646333762517472353879931478811986472531288824968037594198799796970036875310934005181965933065317749081499829472408769087829235540159210579864165535023636966318290192433873112858201053989783405196640549660657706664290651413248263773706971620720171860424070006373752272725155384442687695784601952923586724377278195025064846106151397439984577693831049940471745063619959725402571741557453999633981304763427536338650887336577896668635208710486367414708648369297870577828192042512621775113011877795517343866873386651547988883753667381263152559317785674980106539578571601794278055713550196865442697749184552549181765243648737345837311418624063666316344756119317988869018438100093584637220003442651346863747551712381247892121502542217589325016272526966731450741800308479428396097209659908362030075629988520299463886710854893980907532239951272590799639802358675941279843379786762422451832541135746529722640590508245816848304226223016860829572627360435965167710479630516152056411134263642886435979369616812764717784714570192075988185872800104597558127281495145225549245128222372119291847769296012104734627034568851039363876901730586712605502751960559967192476170668091108610143308980937122944937508638516584942650550929663993765536596156010669852346157598563020800121507329316253813261697239248414846297769909405089072424479913855732678706489990442638569899032491151532308672198394652968330415164428102717404057031627927088445941061629427126104196775843271748670954685745553809883653318553476639828913600223562402025773817270442547397104009976709840351472293061441294970136303879 231499526311198496855280421589151304368282987185815909196977220773533390037555708973505911920782827288753295840325048652935415765566338414067729537190268396583854345659264521926132049177473903400952204758360477823454055435084369598927191334508747419699555950202762472133631850530981550603248953300801443709790555027521682949533802158329960924034184891160623613859592661244903063038943183080533352757903620223004050283453643580927374545881219514322866749928499610610287298640177060801738679248420154217729173283268381703786601646663467027072228529344454179081901983996973147835059355079694798839456822454326488888187754809025417985491817773805026140249095013194560334184516945266119040776568245594009877354673033171682178663712930449572885325539091579823931582243765743277758824413915611276722165575988790074499159470623274773843749047472016375972925668166706467261045056605609528265022640044030672149065186290256932882566359091370290621739142126271694773810796071235822251884716925739977892435807258431105813745823190011409859513926931152594648036228884328203592811199008830807302533998526966303098024411384724288697837731370479545269361316622052923201220968095674400815097201483255922065751933401833486097121147799891408989672967856670182992666846035888732245146898132124484645917509359571827936211106412063178417524829754459831900305872869363819224611886465929217642400692089463915487573623303520749365902074389563777755960138442145507135325312097752395824351360408677655035411979977780401658605423773488167157443238173107313667902063173218771255545337167990921826044052316643498122245126208655585069817093577194579974256855090763986881865295890233643733588195209650415365886585497401639303751904201715673727631759568896927767594196851624771763582450411570889480951692031305240853321671071523916469940292732888823914635647523845381639983494320888046442293345360896293927484592212606499468948092477198186030353403160021927184902428513849517962341992164392249547245825344969591943105077803198166064262976341035807356034977038513411796155453139053385523317124115501521621998990997626043632414951268634838399871440859479084642791830545003342448829975327189972838789463211449806600586899588663123321938451009413860020522443647306005536746374127976534609518128747079046946589963433218961380196420131276144974780402398692164078095864509515257421073925211653298758436984877482670832785238625102905308010478938116473536574283539495448753859639898269935311725677740357508474250034457805909850997508135219532874407564581284750909923059053460270513784439947878396242578323729458632705046251907603632037543869390733461692450579291561043024837109613927659284076139017781311412617705856307145530920893024507983346883870344979304185824195278097448026082069012021345583010704355843877427359869682151425693410707283323903531238484522742662345037122 374574101951019735068924792144487622558137864268220796932398133739963469796904686317600779384469841224555086527064137320706274769642171709068585297038772459241995640338076294531565048184465082753264072757030214626537279464652099181034196287483328508949220239250845578446487247557816089643652397505905596027523620864234012038183612774668369416215335043390958515858999934247121116971273066491138340413273521879180581465674372299108032217779115545547451487645376225996098846971878112789536976602841009472454967912218007184005211668932508306488603352006298075706934405423080040364227387147458699985995375382214259833896050163027332876489391514204493892038747071685004469377348394951952266103767051086370188493915144482820811931102637329468702270711059527987441316674228959263394412883656787304618079635060721156297723974569799341480297928816083203744247290457059024473712944021017789027428084562132900987830846389429135789965213856469155024339784046367901528293931799388611718109676863497773244794705431829985654649100443869427661395556763515274324355831887375932537107507149512009756386258686440392401942153014551486592814356595569916034276006749346807635060350209150794325175661987680128396610439942721547735326759184293551462367197202748020781906690925859168267035544465887002118271389291050639922683637700888146455119028554256801937181183803369001190544951783678299142230164498233003316809163462731329230067609413200744074250330876018619993526366087535801020991910069335361699702631391028665432312395394208339017867308179481065940627218557661458951329939120914508550421330511668562968351277606095569647510924627135051719320475050489389453606853344233277714892958637186754016773922075298307938960614688083088436280128866767505595786239364246546876594328207088233347825078682853229737075338452787069029258078407868930454214219125639659695697044517753489140042529913445475692728240949952336780366716540864502375109522478010796203340528607434155182345434815739113294797537726217484064607620020787491080535503307767258097835285517941807893365113047415415598947112635800985508709845891606951164654902541225638039673799535420364486171617307425794281371111073719695479379971457266654904813122605523952894565811445379027731002074163458061947880637770862970588887745559843764731304533625294949566069220235873703102061897543917713323224086881634549268843221223758033385471553728522034709686969211815510810762439498083666012744951630604058897168620835392880249234316256942451124800964121799675387593664145889385220565163144305551031430388369714083775481679196293242540348233134547705129526165763336310744033859833372031591483070443093351697035504266895989699240567120498715469649333783395591471982522451634087543659713616727975140509940831907331679400622488661174496610927918245903201177140124698822797420683993164255003531545964037632481341001 606073628262218231924205213733638926926420851454036706129375354513496859834460395291106691305252668513308382367389185973641690535208510123136314834229040855825849985997340816457697097361938986154216277515390692449991334899736468779961387621992075928648776189453608050580119098088797640246901350806707039737314175891755694987717414932998330340249519934551582129718592595492024180010216249571671693171177142102184631749128015880035406763660335059870318237573875836606386145612055173591275655851261163690184141195486388887791813315595975333560831881350752254788836389420053188199286742227153498825452197836540748722083804972052750861981209288009520032287842084879564803561865340218071306880335296680380065848588177654502990594815567779041587596250151107811372898917994702541153237297572398581340245211049511230796883445193074115324046976288099579717172958623765491734758000626627317292450724606163573136896032679686068672531572947839445646078926172639596302104727870624433969994393789237751137230512690261091468394923633880837520909483694667868972392060771704136129918706158342817058920257213406695499966564399275775290652087966049461303637323371399730836281318304825195140272863470936050462362373344555033832447906984184960452040165059418203774573536961747900512182442598011486764188898650622467858894744112951324872643858308716633837487056672732820415156838249607516784630856587696918804382786766252078595969683802764521830210469318164127128851678185288196845343270478013016735114611368809067090917819167696506175310546352588379608529281730880230206875276288905430376465382828312061090596403814751154717328018204329631693577330141253376335472149234466921448481153846837169382660507572699947242712518889798762163911888435664433363380436215871318640176778618659122828776770714158470590397009524310985499198371140757754368849866649485041335680538838641535582335875274341769620212833162558836249314809018062688405462925638032723388242957121283673144687426980131362842043363071187076007712697823985657144798479648803065453870262556455219689520566186468801122264236751302507130708836889232994797069853809860476439545240394899449128963447852429136730201086400909668318169434668716461505400022194187076216504262454792887751524517810764067484627011898839505198405874306922811677894497058513910946265640367149848076842299942609877401319951391149806689917146435411332143908538606004705542472207836918416118772918436200139549319235170099507651028260733662815560959993997299959599050998579605585238591172281108918094972727725590301941353447423174354289266119144171638782926556864006337834572417670939942781577729224105493283933649734654394721872613880823648983316706138280026882267039639702737002903415476142070890543583961707279326334136110004779705482691500682520079621632274089780628537009806850248490831391276488158534770030486780294826378123 980647730213237966993130005878126549484558715722257503061773488253460329631365081608707470689722509737863468894453323294347965304850681832204900131267813315067845626335417110989262145546404068907480350272420907076528614364388567960995583909475404437597996428704453629026606345646613729890553748312612635764837796755989707025901027707666699756464854977942540645577592529739145296981489316062810033584450663981365213214802388179143438981439450605417769725219252062602484992583933286380812632454102173162639109107704396071797024984528483640049435233357050330495770794843133228563514129374612198811447573218755008555979855135080083738470600802214013924326589156564569272939213735170023572984102347766750254342503322137323802525918205108510289866961210635798814215592223661804547650181229185885958324846110232387094607419762873456804344905104182783461420249080824516208470944647645106319878809168296474124726879069115204462496786804308600670418710219007497830398659670013045688104070652735524382025218122091077123044024077750265182305040458183143296747892659080068667026213307854826815306515899847087901908717413827261883466444561619377337913330120746538471341668513975989465448525458616178858972813287276581567774666168478511914407362262166224556480227887607068779217987063898488882460287941673107781578381813839471327762886862973435774668240476101821605701790033285815926861021085929922121191950228983407826037293215965265904460800194182747122378044272823997866335180547348378434817242759837732523230214561904845193177854532069445549156500288541689158205215409819938926886713339980624058947681420846724364838942831464683412897805191742765789079002578700199163374112484023923399434429647998255181673133577881850600192017302431938959166675580117865516771106825747356176601849397011700327472347977098054528456449548626684823064085775124701031377583356395024722378405187787245312941074112511173029681525558927190780572448116043519591583485728717828327032861795870476136840900797404560072320317844773148225333982956570323551705548074397027582885679233884216721211349387103492639418682780839945961724756351086114479219039930319813615135065159854931011572197474629363797549406125983116410213144799711029111070073900171915482526591974222129432507649669702475787293619866766576409199030683808860512334860603023551178904197486527590724544038272784355958760367659169365529380092334526740252159177048733926929535357934283805562064186800703566548196881569055695810194310254242410723851962701405260626184836426998303315537890869895852972783835792888438064747798340464881323274789998554042964098583434276253525611589057477524875416720177747746418908118147719638682557273258778742351916373423098328474885937927776158434203297578435254466844076941912111384883313989343694576232560192335683829714149931549071288252075269652413538301576450817927307719124 1586721358475456198917335219611765476410979567176294209191148842766957189465825476899814161994975178251171851261842509267989655840059191955341214965496854170893695612332757927446959242908343055061696627787811599526519949264125036740956971531467480366246772618158061679606725443735411370137455099119319675502151972647745402013618442640665030096714374912494122775296185125231169476991705565634481726755627806083549844963930404059178845745099785665288087962793127899208871138195988459972088288305363336852823250303190784959588838300124458973610267114707802585284607184263186416762800871601765697636899771055295757278063660107132834600451810090223533956614431241444134076501079075388094879864437644447130320191091499791826793120733772887551877463211361743610187114510218364345700887478801584467298570057159743617891490864955947572128391881392282363178593207704590007943228945274272423612329533774460047261622911748801273135028359752148046316497636391647094132503387540637479658098464441973275519255730812352168591438947711631102703214524152851012269139953430784204796944919466197643874226773113253783401875281813103037174118532527668838641550653492146269307622986818801184605721388929552229321335186631831615400222573152663472366447527321584428331053764849354969291400429661909975646649186592295575640473125926790796200406745171690069612155297148834642020858628282893332711491877673626840925574736995235486422006977018729787734671269512346874251229722458112194711678451025361395169931854128646799614148033729601351368488400884657825157685782019421919365080491698725369303352096168292685149544085235597879082166961035794315106475135332996142124551151813167120611855266330861092782094937220698202424385652467680612764103905738096372322547111795989184156947885444406479005378620111170170917869357501409040027654820689384439191913952424609742367058122195036560304714280462129014933153907275070009278996334576989879186035373754076242979826442850001501471720288776001838978884263868591636080033015668758805370132462605373389005575810630852247272406245420353017843475586138405999770127519670072940758794610160946590918764280325219262744098513012284067741773283875539032115718840794699577915613166993898105327574336354964803234051109784986196917134661568541980985699494173689388087093527742322771458600500970173399255746497429137468125863989663934162648677514094580697673288630940531445794631384885652343048308276370483945111383421970803074199225142302718511371154304251542370322902961281010845864776008708107221410510618595486154914137283216062792354013917484636520106201346862560380798671001105216196307189318281583018159350369912402141140780732028543287665873979397058769234183413062801065477789353403918229324746881540142533793178213051916891090366005490026214655854192466425464458251159738399319779083466546140572073071606937598222134097247 2567369088688694165910465225489892025895538282898551712252922331020417519097190558508521632684697687989035320156295832562337621144909873787546115096764667485961541238668175038436221388454747123969176978060232506603048563628513604701952555440942884803844769046862515308633331789382025100028008847431932311266989769403735109039519470348331729853179229890436663420873777654970314773973194881697291760340078470064915058178732792238322284726539236270705857688012379961811356130779921746352900920759465510015462359410895181031385863284652942613659702348064852915780377979106319645326315000976377896448347344274050765834043515242212918338922410892437547880941020398008703349440292810558118452848539992213880574533594821929150595646651977996062167330172572379409001330102442026150248537660030770353256894903269976004986098284718821028932736786496465146640013456785414524151699889921917529932208342942756521386349790817916477597525146556456646986916346610654591962902047210650525346202535094708799901280948934443245714482971789381367885519564611034155565887846089864273463971132774052470689533289013100871303783999226930299057584977089288215979463983612892807778964655332777174071169914388168408180307999919108196967997239321141984280854889583750652887533992736962038070618416725808464529109474533968683422051507740630267528169632034663505386823537624936463626560418316179148638352898759556763046766687224218894248044270234695053639132069706529621373607766730936192578013631572709773604749096888484532137378248291506196561666255416727270706842282307963608523285707108545308230238809508273309208491766656444603447005903867258998519372940524738907913630154391867319775229378814885016181529366868696457606058786045562463364295923040528311281713787376107049673718992270153835181980469508181871245341705478507094556111270238011124014978038199734443398435705551431585027092685649916260246094981387581182308677860135917069966607821870119762571409928578719329798753150571872315115725164665996196152353333513531953595466445561943712557281358705249274855291924654237234564686935525509492409546202450912886720519366512032705397983320255539076359233578172138998753345481350168395913268246920682694325826311793609134438644410255136718716577701759208326349642311238244456772993114040455964496292558426131631970935361573196950434650694915665058850408027936718518607437881753750063202668723275058186046790561934386269977843634304767750673447608771506640747422023871774207181348614505784781046754923982416106490960845135105524726048509465382007886921119008951230418761715825101401429476136861114423762769584539492449832800907339060543034767090090149887559688850176262926348431252655837511586099786485899393952675291331694387758950179118577788260022289993829002475249319479369909232086752658761148287965309669948391067335541815792985611373183388416149441816371 4154090447164150364827800445101657502306517850074845921444071173787374708563016035408335794679672866240207171418138341830327276984969065742887330062261521656855236851000932965883180631363090179030873605848044106129568512892638641442909526972410365170091541665020576988240057233117436470165463946551251986769141742051480511053137912988996759949893604802930786196169962780201484250964900447331773487095706276148464903142663196297501130471639021935993945650805507861020227268975910206324989209064828846868285609714085965990974701584777401587269969462772655501064985163369506062089115872578143594085247115329346523112107175349345752939374220982661081837555451639452837425941371885946213332712977636661010894724686321720977388767385750883614044793383934123019188444612660390495949425138832354820555464960429719622877589149674768601061128667888747509818606664490004532094928835196189953544537876717216568647972702566717750732553506308604693303413983002301686095405434751288005004300999536682075420536679746795414305921919501012470588734088763885167835027799520648478260916052240250114563760062126354654705659281040033336231703509616957054621014637105039077086587642151578358676891303317720637501643186550939812368219812473805456647302416905335081218587757586317007362018846387718440175758661126264259062524633667421063728576377206353574998978834773771105647419046599072481349844776433183603972341424219454380670051247253424841373803339218876495624837489189048387289692082598071168774680951017131331751526282021107547930154656301385095864528064327385527888366198807270677533590905676565994358035851892042482529172864903053313625848075857735050038181306205034440387084645145746108963624304089394660030444438513243076128399828778624683604260899172096233830666877714560314187359089619352042163211062979916134583766090927395563206891990624344185765493827746468145331806966112045275179248888662651191587674194712906949152643195624196005551236371428720831270473439347874154094609428534587832232386349182290758965598908167317101562857169336101522127698170074590252408162521663915492179673722120985827479313976672979296316747600580758339103332091184423066495118765225707428028987087715382272241439478787507239766218746610101521950628811544194523266776972806786437758692608214145352583386086168454403429535862543370349690397192344802526976272017600652681256115395848330760875957354215589631841421946820038613026151910675251695784831030742309714946647166174492718552502918757327151369657885263426952355736853843212746136559128060868162801058402225014022772775633309737921535677483723674804561440585644708646139990225620643561194117460002552028700469582204806214014305232052896280820283199548700459430464644735612617083697060658720322053200503045745893565615324969396123887940945125186612746216469408347710846419008361933557684444790326014371575913618 6721459535852844530738265670591549528202056132973397633696993504807792227660206593916857427364370554229242491574434174392664898129878939530433445159026189142816778089669108004319402019817837303000050583908276612732617076521152246144862082413353249973936310711883092296873389022499461570193472793983184298036131511455215620092657383337328489803072834693367449617043740435171799024938095329029065247435784746213379961321395988535823415198178258206699803338817887822831583399755831952677890129824294356883747969124981147022360564869430344200929671810837508416845363142475825707415430873554521490533594459603397288946150690591558671278296631875098629718496472037461540775381664696504331785561517628874891469258281143650127984414037728879676212123556506502428189774715102416646197962798863125173812359863699695627863687434393589629993865454385212656458620121275419056246628725118107483476746219659973090034322493384634228330078652865061340290330329612956278058307481961938530350503534631390875321817628681238660020404891290393838474253653374919323400915645610512751724887185014302585253293351139455526009443280266963635289288486706245270600478620717931884865552297484355532748061217705889045681951186470048009336217051794947440928157306489085734106121750323279045432637263113526904704868135660232942484576141408051331256746009241017080385802372398707569273979464915251629988197675192740367019108111443673274918095517488119895012935408925406116998445255919984579867705714170780942379430047905615863888904530312613744491820911718112366571370346635349136411651905915815985763829715184839303566527618548487085976178768770312312145221016382473957951811460596901760162314023960631125145153670958091117636503224558805539492695751819152994885974686548203283504385869984714149369339559127533913408552768458423229139877361165406687221870028824078629163929533297899730358899651761961535425343870050232373896352054848824019119251017494315768122646300007440161069226589919746469210334593200584028384739682695822712561065353729260814120138528041350796982990094728827486972849457189424984589219924571898714199833343185012001714730920836297415462565669356562065248464246575875823942255334636064966567265790581116374204863156865238240667206513303402849616419284045030894531685722254601317079678644594586035400471224116567300125047887260467585826680045537371199863553277602080824078626077490647817888212508754424883003995544980019446458278639513816355694069190046266925733851533263111932416412809245843058846697698978318270862607637526250170687979521233965253191537349134839322965153620584789228324210170184201095972791132959704104228884550092701916260158432381069140362736484708733792406382986034599853383139936067307004842647239777298110313222793039574896040864644448766033120027697783947761034181779078296101913754550177726543295817973714430521017729989 10875549983016994895566066115693207030508573983048243555141064678595166936223222629325193222044043420469449662992572516222992175114848005273320775221287710799672014940670040970202582651180927482030924189756320718862185589413790887587771609385763615144027852376903669285113446255616898040358936740534436284805273253506696131145795296326325249752966439496298235813213703215373283275902995776360838734531491022361844864464059184833324545669817280142693748989623395683851810668731742159002879338889123203752033578839067113013335266454207745788199641273610163917910348305845331769504546746132665084618841574932743812058257865940904424217670852857759711556051923676914378201323036582450545118274495265535902363982967465371105373181423479763290256916940440625447378219327762807142147387937695479994367824824129415250741276584068358231054994122273960166277226785765423588341557560314297437021284096377189658682295195951351979062632159173666033593744312615257964153712916713226535354804534168072950742354308428034074326326810791406309062987742138804491235943445131161229985803237254552699817053413265810180715102561306996971520991996323202325221493257822970961952139939635933891424952521023609683183594373020987821704436864268752897575459723394420815324709507909596052794656109501245344880626796786497201547100775075472394985322386447370655384781207172478674921398511514324111338042451625923970991449535663127655588146764741544736386738748144282612623282745109032967157397796768852111154110998922747195640430812333721292421975568019497462435898410962734664300018104723086663297420620861405297924563470440529568505351633673365625771069092240209007989992766801936200549398669106377234108777975047485777666947663072048615621095580597777678490235585720299517335052747699274463556698648746885955571763831438339363723643452092802250428762019448422814929423361044367875690706617874006810604592758712883565484026249561730968271894213118511773673882671436160992339700029267620623304944021735171860617126031878113471526664261896577915682995697377452319110688264803417739381011978853340476768893646692884541679147319857991298031478521417055754565897760540985131743583011801583251971242422351447238808705269368623613971081903475339762617835324847597372883196256851817332290378330468746669663064730763040438830007086659937649815445079605270112802952063138023881119668673450411584954583431706237449729634455574463496030147455655271142243109670256126070640716356220759644286354452020439083786070694509270011202434552821531016999166765587118333489037923458979275964312982444577244500831104308464032885650755828909742112781358580347665423002010095253944960628014585875354377041716761630073226666185583300312813604580802919621926344300436018432366423296085320789606479969418162157007968642909134373780398248486643812760173558539660100980262764040444892593643607 17597009518869839426304331786284756558710630116021641188838058183402959163883429223242050649408413974698692154567006690615657073244726944803754220380313899942488793030339148974521984670998764785030974773664597331594802665934943133732633691799116865117964163088786761581986835278116359610552409534517620582841404764961911751238452679663653739556039274189665685430257443650545082300841091105389903981967275768575224825785455173369147960867995538349393552328441283506683394068487574111680769468713417560635781547964048260035695831323638089989129313084447672334755711448321157476919977619687186575152436034536141101004408556532463095495967484732858341274548395714375918976704701278954876903836012894410793833241248609021233357595461208642966469040496947127875567994042865223788345350736558605168180184687829110878604964018461947861048859576659172822735846907040842644588186285432404920498030316037162748716617689335986207392710812038727373884074642228214242212020398675165065705308068799463826064171937109272734346731702081800147537241395513723814636859090741673981710690422268855285070346764405265706724545841573960606810280483029447595821971878540902846817692237120289424173013738729498728865545559491035831040653916063700338503617029883506549430831258232875098227293372614772249585494932446730144031676916483523726242068395688387735770583579571186244195377976429575741326240126818664338010557647106800930506242282229664631399674157069688729621728001029017547025103510939633053533541046828363059529335342646335036913796479737609829007268757598083800711670010638902649061250336046244601491091088989016654481530402443677937916290108622682965941804227398837960711712693067008359253931646005576895303450887630854155113791332416930673376210272268502800839438617683988612926038207874419868980316599896762592863520813258208937650632048272501444093352894342267606049606269635968346029936628763115939380378304410554987391145230612827541796528971443601153408926619187367092515278614935755889001865714573936184087729615625838729803134225418803116093678359532245226353861436042765461358113571264783255878980663043003299746209442253353170028463429897547196992047258377459075913497756987512205375971059949739988175945060340578003285041838151000222499615540896848226822064052723347986742743375357626474230478310776504949940492966865737698629632108675395080983221951052492409033209509196885267617846964328888379034143000635290588701388309769942426334785546267026570020205985283551016202483503755113070049132251799849287861774403113368504177017444692944529155850331579416567465984724893253261209860926013110838085572491540051769651886560187955861220786446966944494739778201470363865633049171617900166196744516870226626768991540213316542679646089124895685647344613866928190127996340693082134814580027564939914673928108717386644276080737754875413611373596 28472559501886834321870397901977963589219204099069884743979122861998126100106651852567243871452457395168141817559579206838649248359574950077074995601601610742160807971009189944724567322179692267061898963420918050456988255348734021320405301184880480261992015465690430867100281533733257650911346275052056867646678018468607882384247975989978989309005713685963921243471146865918365576744086881750742716498766790937069690249514358202472506537812818492087301318064679190535204737219316270683648807602540764387815126803115373049031097777845835777328954358057836252666059754166489246424524365819851659771277609468884913062666422473367519713638337590618052830600319391290297178027737861405422022110508159946696197224216074392338730776884688406256725957437387753322946213370628030930492738674254085162548009511958526129346240602530306092103853698933132989013073692806266232929743845746702357519314412414352407398912885287338186455342971212393407477818954843472206365733315388391601060112602967536776806526245537306808673058512873206456600229137652528305872802535872835211696493659523407984887400177671075887439648402880957578331272479352649921043465136363873808769832176756223315597966259753108412049139932512023652745090780332453236079076753277927364755540766142471151021949482116017594466121729233227345578777691558996121227390782135758391155364786743664919116776487943899852664282578444588309002007182769928586094389046971209367786412905213971342245010746138050514182501307708485164687652045751110255169766154980056329335772047757107291443167168560818465011688115361989312358670956907649899415654559429546222986882036117043563687359200862891973931796994200774161261111362173385593362709621053062672970398550702902770734886913014708351866445857988802318174491365383263076482736856621305824552080431335101956587164265351011188079394067720924259022776255386635481740312887509975156634529387475999504864404553972285955663039443731339315470411642879762145748626648454987715820222636670927749618991746452049655614393877522416645486129922796255435204366624335662965734873414896105938127007217957667797558127982900994597777687963670408924594361190438532328735630270179042327884740179338959444184676329318363602147026963815917765902877162998597595382811797748665559112442383192094656405808106120666913060485397436442599755938046471007811432584171813418962102890624502903993987792940903122717347481419903351875064290456290561730944497980026068496975501902487786214306560437303990099988554198264383081251566804621380304860941168700486837666055368151923805120163314023993811966815829201717294095511681842020580198353850120399435074888570283209806181414461552819849116819918231993938859715357201200479010349097673146248695335840649334975046069385210216475253824583285090347135964983602216508594978276051583727434101667257046745256343501795320306205017203 46069569020756673748174729688262720147929834215091525932817181045401085263990081075809294520860871369866833972126585897454306321604301894880829215981915510684649601001348338919246551993178457052092873737085515382051790921283677155053038992983997345379956178554477192449087116811849617261463755809569677450488082783430519633622700655653632728865044987875629606673728590516463447877585177987140646698466042559512294516034969531571620467405808356841480853646505962697218598805706890382364418276315958325023596674767163633084726929101483925766458267442505508587421771202487646723344501985507038234923713644005026014067074979005830615209605822323476394105148715105666216154732439140360298925946521054357490030465464683413572088372345897049223194997934334881198514207413493254718838089410812690330728194199787637007951204620992253953152713275592305811748920599847108877517930131179107278017344728451515156115530574623324393848053783251120781361893597071686448577753714063556666765420671767000602870698182646579543019790214955006604137470533166252120509661626614509193407184081792263269957746942076341594164194244454918185141552962382097516865437014904776655587524413876512739770979998482607140914685492003059483785744696396153574582693783161433914186372024375346249249242854730789844051616661679957489610454608042519847469459177824146126925948366314851163312154464373475593990522705263252647012564829876729516600631329200873999186087062283660071866738747167068061207604818648118218221193092579473314699101497626391366249568527494717120450435926158902265723358126000891961419921292953894500906745648418562877468412438560721501603649309485574939873601221599612121972824055240393952616641267058639568273849438333756925848678245431639025242656130257305119013929983067251689408775064495725693532397031231864549450685078609220125730026115993425703116129149728903087789919157145943502664466016239115444244782858382840943054184674344166857266940614323363299157553267642354808335501251606683638620857461025985839702123493148255375289264148215058551298044983867908192088734850938871399485120789222451053437108645943997897523897405923762094622824620336079525727677528556501403798237936326471649560647389268103590322972024156495769187919001149597817882427338645513785934506435915442643148551481478293387290963708212947549696431013336745510062216280488814043086112575555396403021002450100007984965328384232240254098433456925852319645886289796010923310287448754812784326766422587541116191037702019496151300699056421229592722715571813855341843072812844868334276013645603410379432800554094970555305372607855131418283926341660451204726775130471165667402200908519764343856598119702357804492764528819100645207093614543372875464327380862651517725715474335112160901169197152018537263961324295298643409558303616523642108029775974433389532424239550195719816390799 74542128522643508070045127590240683737149038314161410676796303907399211364096732928376538392313328765034975789686165104292955569963876844957904211583517121426810408972357528863971119315358149319154772700506433432508779176632411176373444294168877825641948194020167623316187398345582874912375102084621734318134760801899127516006948631643611718174050701561593527917199737382381813454329264868891389414964809350449364206284483889774092973943621175333568154964570641887753803542926206653048067083918499089411411801570279006133758026879329761543787221800563344840087830956654135969769026351326889894694991253473910927129741401479198134923244159914094446935749034496956513332760177001765720948057029214304186227689680757805910819149230585455479920955371722634521460420784121285649330828085066775493276203711746163137297445223522560045256566974525438800761994292653375110447673976925809635536659140865867563514443459910662580303396754463514188839712551915158654943487029451948267825533274734537379677224428183886351692848727828213060737699670818780426382464162487344405103677741315671254845147119747417481603842647335875763472825441734747437908902151268650464357356590632736055368946258235715552963825424515083136530835476728606810661770536439361278941912790517817400271192336846807438517738390913184835189232299601515968696849959959904518081313153058516082428930952317375446654805283707840956014572012646658102695020376172083366972499967497631414111749493305118575390106126356603382908845138330583569868867652606447695585340575251824411893603094719720730735046241362881273778592249861544400322400207848109100455294474677765065291008510348466913805398215800386283233935417413779545979350888111702241244247989036659696583565158446347377109101988246107437188421348450514765891511921117031518084477462566966506037849343960231313809420183714349962138905405115538569530232044655918659298995403715114949109187412355126898717224118075506172737352257203125444906179916097342524155723888277611388239849207478035495316517370670672020775394071011313986502411608203571157823608265834977337612128007180118850995236628844992495301585369594171019217185810774611854463307798735543731682978115665431093745323718586467192469998987972413535090796164148195413265239136394179345046948819107537299554359587598960300351449105649390149452369059807753321494800452302233005189003200058300397008795391003130702312809804135592129162723913216414050590384269822079420285789351242598998633326859891531216179591900283879232552265861042609897583656740514342179509128180996792139396176959627404191399616383296687849400884289697151998482280191780850639801663700754375473583615370072584192973418037934351743352479886020301124217442712216519124159663221511986492771784859545328636154993780437108884399926307897515152004536579668107369542131443231480134788767741345516026021408002 120611697543400181818219857278503403885078872529252936609613484952800296628086814004185832913174200134901809761812751001747261891568178739838733427565432632111460009973705867783217671308536606371247646437591948814560570097916088331426483287152875171021904372574644815765274515157432492173838857894191411768622843585329647149629649287297244447039095689437223134590928327898845261331914442856032036113430851909961658722319453421345713441349429532175049008611076604584972402348633097035412485360234457414435008476337442639218484955980813687310245489243068853427509602159141782693113528336833928129618704897478936941196816380485028750132849982237570841040897749602622729487492616142126019874003550268661676258155145441219482907521576482504703115953306057515719974628197614540368168917495879465824004397911533800145248649844514813998409280250117744612510914892500483987965604108104916913554003869317382719629974034533986974151450537714634970201606148986845103521240743515504934590953946501537982547922610830465894712638942783219664875170203985032546892125789101853598510861823107934524802894061823759075768036891790793948614378404116844954774339166173427119944881004509248795139926256718322693878510916518142620316580173124760385244464319600795193128284814893163649520435191577597282569355052593142324799686907644035816166309137784050645007261519373367245741085416690851040645327988971093603027136842523387619295651705372957366158587029781291485978488240472186636597710945004721601130038230910056884567969150232839061834909102746541532344039020878622996458404367363773235198513542815438901229145856266671977923706913238486566894657819834041853678999437399998405206759472654173498595992155170341809518097427370416622432243403877986402351758118503412556202351331517766455300286985612757211616874493798831055488534422569451439539446299707775665255034554844441657320151201801862161963461419954230393353970270737967841771408792419673030004292871526488744063733183739697332491225139884295026860706668504021335018640863818927396064658219226372537800456592071479349912343116773848737097248796402569904432345274788990392825482775517933113840010431110691380190985327292045135481216051991902743305971107854570782792971012128909304278715165297793231147666475039693130981455255022979942702911069077253687642412813862337699148800073144498831557016732791047048275115775613696800029797841103138687278138188367832383261157370142266370236270559618090343596076799997411782960093282479072332370629602303375383852964917463839490306372312328197521352200993841660473672190605230814570832416937391658404706256897552283416766206533441301844528438831225541140985816278592348536830016157636709547845244414839401769424536326759891999623990602374638010497500333880440797056162977589127421663887632192813795414094883284631011650161219205913524321191980895711745837798801 195153826066043689888264984868744087622227910843414347286409788860199507992183546932562371305487528899936785551498916106040217461532055584796637639148949753538270418946063396647188790623894755690402419138098382247069349274548499507799927581321752996663852566594812439081461913503015367086213959978813146086757604387228774665636597918940856165213146390998816662508128065281227074786243707724923425528395661260411022928603937311119806415293050707508617163575647246472726205891559303688460552444152956503846420277907721645352242982860143448854032711043632198267597433115795918662882554688160818024313696150952847868326557781964226885056094142151665287976646784099579242820252793143891740822060579482965862485844826199025393726670807067960183036908677780150241435048981735826017499745580946241317280601623279963282546095068037374043665847224643183413272909185153859098413278085030726549090663010183250283144417494444649554454847292178149159041318700902003758464727772967453202416487221236075362225147039014352246405487670611432725612869874803812973274589951589198003614539564423605779648041181571176557371879539126669712087203845851592392683241317442077584302237595141984850508872514954038246842336341033225756847415649853367195906234856040156472070197605410981049791627528424404721087093443506327159988919207245551784863159097743955163088574672431883328170016369008226487300133272678934559041708855170045721990672081545040733131086997278922900090237733777305211987817071361324984038883369240640454436836802839286757420249677998365944237642115598343727193450608726654508977105792676983301551546064114781078379001387916251632185666330182508767484397653200384688440694890067953044575343043282044050762345416407076319015808562324333779460860106749519993390772679968281221191798906729788729701351956365797561526383766529682753348866483422125627393939959959980226850383246457780821262456823669345342463157683093094740488632910495179202741645128729614188969913099837039856646949028161906415100555875982056830335158234489599416840052290237686524302868200275050507735951382608826074709376803582688755427581903633982888127068145112104133057196241885303234654293126027588867164194167657333837051294826441037975262970000101322839369511329445988644412905611433872476028404074130517242257270656676213987993861919511727848601169132952252153051817185093280053464118975671997197038593232106269389590947992503424512423881283358680420826654829440169763881866151240010781593420142370603548550221502587254616405230778506449387890029052842539700861329174838452613068367564858218762232033320688346254107141187249435415248486725222152484330102531979916614569431648664932729803434195571061291197724300859702893641979038976411123783653823886624503269285193425769433211156758026236306063813940090328947418631462952738381192292662437393659109959722241227771859206803 315765523609443871706484842147247491507306783372667283896023273812999804620270360936748204218661729034838595313311667107787479353100234324635371066714382385649730428919769264430406461932431362061650065575690331061629919372464587839226410868474628167685756939169457254846736428660447859260052817873004557855380447972558421815266247206238100612252242080436039797099056393180072336118158150580955461641826513170372681650923390732465519856642480239683666172186723851057698608240192400723873037804387413918281428754245164284570727938840957136164278200286701051695107035274937701355996083024994746153932401048431784809523374162449255635188944124389236129017544533702201972307745409286017760696064129751627538743999971640244876634192383550464886152861983837665961409677179350366385668663076825707141284999534813763427794744912552188042075127474760928025783824077654343086378882193135643462644666879500633002774391528978636528606297829892784129242924849888848861985968516482958137007441167737613344773069649844818141118126613394652390488040078788845520166715740691051602125401387531540304450935243394935633139916430917463660701582249968437347457580483615504704247118599651233645648798771672360940720847257551368377163995822978127581150699175640951665198482420304144699312062720002002003656448496099469484788606114889587601029468235528005808095836191805250573911101785699077527945461261650028162068845697693433341286323786917998099289674027060214386068725974249491848585528016366046585168921600150697339004805953072125819255158780744907476581681136476966723651854976090427744175619335492422202780691920381453056302708301154738199080324150016550621163397090600383093647454362722126543171335198452385860280442843777492941448051966202320181812618225252932549593124011486047676492085892342545941318226450164628617014918189099134192888312783129901292648974514804421884170534448259642983225918243623575735817127953831062582260041702914852232745938000256102933033646283576737189138174168046201441961262544486078165353799098308526812904710509464059062103324792346529857648294499382674811806625599985258659859927178422973280952550920630037246897206672995994614845278453319634002645410219649236580357265934295608758055941012230232143648226494743781875560572086473565607009859329153497184960181725753467675636274733374065547749969206096750984608833917884327101739234751285693997068391073209408076869086180871256895685038653500946791062925389058260107477942951237422564553513424849675880920851104890630000258195695970288878196401365170737222213530168680113086740558170089033333064450258080004658813398084801718832014693258663454328858541363205457755555247927257281266633450353207770839042968715699104663066515365736303123407644426261262513766785527306210230267319735615363727727701572283142742832726346237369392842453881643307183431151703136939517697005604 510919349675487561594749827015991579129534694216081631182433062673199312612453907869310575524149257934775380864810583213827696814632289909432008705863332139188000847865832661077595252556326117752052484713788713308699268647013087347026338449796381164349609505764269693928198342163463226346266777851817703942138052359787196480902845125178956777465388471434856459607184458461299410904401858305878887170222174430783704579527328043585326271935530947192283335762371097530424814131751704412333590248540370422127849032152885929922970921701100585018310911330333249962704468390733620018878637713155564178246097199384632677849931944413482520245038266540901416994191317801781215127998202429909501518124709234593401229844797839270270360863190618425069189770661617816202844726161086192403168408657771948458565601158093726710340839980589562085740974699404111439056733262808202184792160278166370011735329889683883285918809023423286083061145122070933288284243550790852620450696289450411339423928388973688706998216688859170387523614284006085116100909953592658493441305692280249605739940951955146084098976424966112190511795970044133372788786095820029740140821801057582288549356194793218496157671286626399187563183598584594134011411472831494777056934031681108137268680025715125749103690248426406724743541939605796644777525322135139385892627333271960971184410864237133902081118154707304015245594534328962721110554552863479063276995868463038832420761024339137286158963708026797060573345087727371569207804969391337793441642755911412576675408458743273420819323252075310450845305584817082253152725128169405504332237984496234134681709689070989831265990480199059388647794743800767782088149252790079587746678241734429911042788260184569260463860528526653961273478332002452542983896691454328897683884799072334671019578406530426178541301955628816946237179266552026920042914474764402111020917694717423804488375067292921078280285636924157322748674613410031435487583128985717122003559383413777045785123196208107857061818420468134995688957332798126229744762799701745586406192992621580365384245881991500886516002403567947415287509082056956169079619065742141379954402914881297849499571579347222869809604387306570417408560760736646733318911012331554983017737824189770519973477697907438083038263403284014427217452382429681663630136652885793396351138339049003137660651102977607155203353726957691194106984305315677466460034173374681408108919936859627211889580218498429871359809102477433346146933567220279429471072607477884616663426474476738266086430418013276923074859343518565699808925734947252095296483578768350912920539272051154247263179983885606813188643895185374370124679575922213996436884548778832130240693016558807556708494404712714247191298250147887017036070720731979663478476493641600033791515512373471690251357809190107774034746544080700842541111425378167289556212407 826684873284931433301234669163239070636841477588748915078456336486199117232724268806058779742810986969613976178122250321615176167732524234067379772577714524837731276785601925508001714488757479813702550289479044370329188019477675186252749318271009332035366444933726948774934770823911085606319595724822261797518500332345618296169092331417057389717630551870896256706240851641371747022560008886834348812048687601156386230450718776050846128578011186875949507949094948588123422371944105136206628052927784340409277786398050214493698860542057721182589111617034301657811503665671321374874720738150310332178498247816417487373306106862738155433982390930137546011735851503983187435743611715927262214188838986220939973844769479515146995055574168889955342632645455482164254403340436558788837071734597655599850600692907490138135584893141750127816102174165039464840557340462545271171042471302013474379996769184516288693200552401922611667442951963717417527168400679701482436664805933369476431369556711302051771286338703988528641740897400737506588950032381504013608021432971301207865342339486686388549911668361047823651712400961597033490368345788467087598402284673086992796474794444452141806470058298760128284030856135962511175407295809622358207633207322059802467162446019270448415752968428408728399990435705266129566131437024726986922095568799966779280247056042384475992219940406381543191055795978990883179400250556912404563319655381036931710435051399351672227689682276288909158873104093418154376726569542035132446448708983538395930567239488180897401004388552277174497160560907509997328344463661827707112929904877687190984417990225728030346314630215610009811191834401150875735603615512206130918013440186815771323231103962062201911912494728974143086096557255385092577020702940376574175970691414880612337804856695054795556220144727951139125492049681928212691888989568823995191452142977066787714293310916496814097413590755219905008716316324883668233521129241820055037205666990514234923297364254309299023080964954213161042756431106653042649473309165804648509517784968110223032540381374175698322628003553206075147436260479929450032169986372178626851609587877292464344850032666856872455014606955806997765826695032255491374852024561787126665964318933552395534049784381003690048122732437511612177634108183149339266411386259858944101107545145754122269485020861934256942588478243385191175375378525085543329120354245938303793958590360574002952505607556689978837752053714855910700446992069955310391923712368514616921622170447027144282831783184014145288389512198678786549483905036285428360933836848355571733937356852873079277873242549061142047185258390832125679927503179495263070334901986602969283661732257912219775009770449017370598942676409149530802856248038189893745796229256963761519217084656614433084084155427477166877200425724008025972263128515106807253218011 1337604222960418994895984496179230649766376171804830546260889399159398429845178176675369355266960244904389357042932833535442872982364814143499388478441046664025732124651434586585596967045083597565755035003267757679028456666490762533279087768067390496384975950697996642703133112987374311952586373576639965739656552692132814777071937456596014167183019023305752716313425310102671157926961867192713235982270862031940090809978046819636172400513542134068232843711466046118548236503695809548540218301468154762537126818550936144416669782243158306200900022947367551620515972056404941393753358451305874510424595447201050165223238051276220675679020657471038963005927169305764402563741814145836763732313548220814341203689567318785417355918764787315024532403307073298367099129501522751192005480392369604058416201851001216848476424873731312213557076873569150903897290603270747455963202749468383486115326658868399574612009575825208694728588074034650705811411951470554102887361095383780815855297945684990758769503027563158916165355181406822622689859985974162507049327125251550813605283291441832472648888093327160014163508371005730406279154441608496827739224085730669281345830989237670637964141344925159315847214454720556645186818768641117135264567239003167939735842471734396197519443216854815453143532375311062774343656759159866372814722902071927750464657920279518378073338095113685558436650330307953604289954803420391467840315523844075764131196075738488958386653390303085969732218191820789723584531538933372925888091464894950972605975698231454318220327640627587625342466145724592250481069591831233211445167889373921325666127679296717861612305110414669398458986578201918657823752868302285718664691681921245682366019364146631462375773023255628104359574889257837635560917394394705471859855490487215283357383263225480974097522100356768085362671316233955132734803464333226106212369837694490592202668378209417892377699227679377227757390929734915103721104258227537177040765050404291280708420560462417156084899385422348156731713763904779272394236108867550234915710777589690588416786263365676584838630407121153490434945342536885619111789052114320006806012502758590313844421612014079742264618994262377415174387455768902224693763036893342109683702143123322915507527482288441773086386135721526039395086490612831002896548039145652340452245884194757259930136123839541412145942205201076385282359683840763009789154527620619711902878527220201214842085826055119850197561156192289256847380559290234739862996319846399233585048644923765410369262201197291068363248855717244486358409639983537523657417415616706484654476628904027326541053226434667955235829153576206495804607079101709259507219450765435099524354748816719776483504175161731617790240926557036547838926968770169557224272722898563795310732597030086123335441964617584940911946969804708868513374553893274096809430418 2164289096245350428197219165342469720403217649393579461339345735645597547077902445481428135009771231874003333221055083857058049150097338377566768251018761188863463401437036512093598681533841077379457585292746802049357644685968437719531837086338399828420342395631723591478067883811285397558905969301462227537175053024478433073241029788013071556900649575176648973019666161744042904949521876079547584794319549633096477040428765595687018529091553320944182351660560994706671658875639914684746846354395939102946404604948986358910368642785216027383489134564401853278327475722076262768628079189456184842603093695017467652596544158138958831113003048401176509017663020809747589999485425861764025946502387207035281177534336798300564350974338956204979875035952528780531353532841959309980842552126967259658266802543908706986612009766873062341373179047734190368737847943733292727134245220770396960495323428052915863305210128227131306396031025998368123338580352150255585324025901317150292286667502396292810540789366267147444807096078807560129278810018355666520657348558222852021470625630928518861198799761688207837815220771967327439769522787396963915337626370403756274142305783682122779770611403223919444131245310856519156362226064450739493472200446325227742203004917753666645935196185283224181543522811016328903909788196184593359736818470871894529744904976321902854065558035520067101627706126286944487469355053977303872403635179225112695841631127137840630614343072579374878891091295914207877961258108475408058334540173878489368536542937719635215621332029179864799839626706632102247809414055493060918558097794251608516650545669522445891958619740630279408270178412603069533559356483814491849582705122108061453689250468108693664287685517984602247445671446513222728137938097335082046035826181902095895695188119920535769653742245084719224488163365915883345426692453902050101403821980671557379916961689125914706475112818434597132766107246059798771954625387469357232077970717394805515631717924716726455107980350376561317774470195011432315043709418033354883425228562557800811449326644739852283161258410674359565582381603016815069143959038486498633657622090635882778189271644680936614719633601218184412940214150801157716068615061455129236349666462056875311041577266669445463134508868159037651572720598795980342162959425405511284553353429340511382199621144701475669088530683444461576457735062365848553118274881866558015696837117580775217794591433611809829035313209907145167547827551360190050254920032214913850506670815370792554652093984381305213651638367915923272907893545019822952018351252465062056388413985756900405818926468983729097283014411967038621484534582281204522577554352752038068808016481074631996258513945610748988389183602966186078641783216808359450970068952155527556829949681686700556419526120045062107789147395528716894485637682408380904062648429 3501893319205769423093203661521700370169593821198410007600235134804995976923080622156797490276731476778392690263987917392500922132462152521066156729459807852889195526088471098679195648578924674945212620296014559728386101352459200252810924854405790324805318346329720234181200996798659709511492342878102193276831605716611247850312967244609085724083668598482401689333091471846714062876483743272260820776590411665036567850406812415323190929605095455012415195372027040825219895379335724233287064655864093865483531423499922503327038425028374333584389157511769404898843447778481204162381437640762059353027689142218517817819782209415179506792023705872215472023590190115511992563227240007600789678815935427849622381223904117085981706893103743520004407439259602078898452662343482061172848032519336863716683004394909923835088434640604374554930255921303341272635138547004040183097447970238780446610650086921315437917219704052340001124619100033018829149992303620809688211386996700931108141965448081283569310292393830306360972451260214382751968670004329829027706675683474402835075908922370351333847687855015367851978729142973057846048677229005460743076850456134425555488136772919793417734752748149078759978459765577075801549044833091856628736767685328395681938847389488062843454639402138039634687055186327391678253444955344459732551541372943822280209562896601421232138896130633752660064356456594898091759309857397695340243950703069188459972827202876329589000996462882460848623309487734997601545789647408780984222631638773440341142518635951089533841659669807452425182092852356694498290483647324294130003265683625529842316673348819163753570924851044948806729164990804988191383109352116777568247396804029307136055269832255325126663458541240230351805246335771060363698855491729787517895681672389311179052571383146016743751264345441487309850834682149838478161495918235276207616191818366047972119630067335332598852812046113974360523498175794713875675729645696894409118735767799096796340138485179143611192879735798909474506183958916211587437945526900905118340939340147491399866112908105528867999888817795513056017326945553700688255748090600818640463634593394473092033693256695016356984252595480561828114601606570059940762378098348471346033368605180198226549104748957887236220895003880563690967807089408811345059507464551163625005599313535268642129757268541017081234472888645537961740094746206611562907429409487177727599715644800976432636677259666929679232874366099434424395208110650424790117916352061313084091719460294557965021356185578596282014887223633167759266303185003360475675768668081768541042890614660927732359979695418397052518843565543245117289141661382913782084773803517473168332371229891351772742018120772480606179424529523222626480710185578529008194341675054091352140682278716786679754968084662647048701094365333425762999012236301655000872078847 5666182415451119851290422826864170090572811470591989468939580870450593524000983067638225625286502708652396023485043001249558971282559490898632924980478569041752658927525507610772794330112765752324670205588761361777743746038427637972342761940744190153225660741961443825659268880609945107070398312179564420814006658741089680923553997032622157280984318173659050662352757633590756967826005619351808405570909961298133044890835578011010209458696648775956597547032588035531891554254975638918033911010260032968429936028448908862237407067813590360967878292076171258177170923500557466931009516830218244195630782837235985470416326367554138337905026754273391981041253210925259582562712665869364815625318322634884903558758240915386546057867442699724984282475212130859429806195185441371153690584646304123374949806938818630821700444407477436896303434969037531641372986490737332910231693191009177407105973514974231301222429832279471307520650126031386952488572655771065273535412898018081400428632950477576379851081760097453805779547339021942881247480022685495548364024241697254856546534553298870195046487616703575689793949914940385285818200016402424658414476826538181829630442556601916197505364151372998204109705076433594957911270897542596122208968131653623424141852307241729489389835587421263816230577997343720582163233151529053092288359843815716809954467872923324086204454166153819761692062582881842579228664911374999212647585882294301155814458330014170219615339535461835727514400783649205479507047755884189042557171812651929709679061573670724749462991698987317225021719558988796746099897702817355048561363477877138358967219018341609645529544591675228214999343403408057724942465835931269417830101926137368589744520300364018790951144059224832599250917782284283091836793589064869563931507854291407074747759503066552513405006590526206534338998048065721823588188372137326309020013799037605352036591756461247305327924864548571493289605421854512647630355033166251641196706485193902311971856409895870066300860086175470792280654153927643902481654944934260001766167902705292211315439552845381151161147228469872621599708548570515757399707129087317274121256684030355870222964901375952971703886196698746241054815757371217656830993159803600582383035067237073537590682015627332699355403872039601342540527688204791687222466889956674909558952742875780024329378413242492750323003572089999538197829808572460116025704291353735743296552762381751650431268693278739508268187576006579591943035662010614840372836384276226934598390275665350519673450169959901495666525591549091032174196730023183427694119920546830597431304600417828138178906164402126149801857977510283738773676243664118304662328156269511237140387710965983769000532066383229594568608132489408705122493402386888459164410627209618908970631960403487236174494204707709156490241760862142657484649918710035904934727276 9168075734656889274383626488385870460742405291790399476539816005255589500924063689795023115563234185430788713749030918642059893415021643419699081709938376894641854453613978709451989978691690427269882825884775921506129847390886838225153686795149980478030979088291164059840469877408604816581890655057666614090838264457700928773866964277231243005067986772141452351685849105437471030702489362624069226347500372963169612741242390426333400388301744230969012742404615076357111449634311363151320975666124126833913467451948831365564445492841964694552267449587940663076014371279038671093390954470980303548658471979454503288236108576969317844697050460145607453064843401040771575125939905876965605304134258062734525939982145032472527764760546443244988689914471732938328258857528923432326538617165640987091632811333728554656788879048081811451233690890340872914008125037741373093329141161247957853716623601895546739139649536331811308645269226064405781638564959391874961746799894719012508570598398558859949161374153927760166751998599236325633216150027015324576070699925171657691622443475669221528894175471718943541772679057913443131866877245407885401491327282672607385118579329521709615240116899522076964088164842010670759460315730634452750945735816982019106080699696729792332844474989559303450917633183671112260416678106873512824839901216759539090164030769524745318343350296787572421756419039476740670987974768772694552891536585363489615787285532890499808616335998344296576137710271384203081052837403292970026779803451425370050821580209621814283304651368794769650203812411345491244390381350141649178564629161502668201283892367160773399100469442720177021728508394213045916325575188048046986077498730166675725799790132619343917614602600465062951056164118055343455535649080794657081827189526680718253800330886212569257156270935967693844189832730215560301749684290372602516636205617403653324156221823796579904180736910662545853813103597649226523306084678863146050315442252992999108311994895075013677493739821974380266786838112843855489919600471835165120107107242852783611181552460950910019161036046265385677617035494124216445655455219688135914584891277424828962256658158070969328688138792179308069169417363941277597593371258152071928416403672417271764139786764585219935576298875920165033508334777613603032281974354507838534564552056411048666459135681783509831557476460735537499937924554779071678933133700840913470896268407182728083067945952945669187501061942106014016338243772661039630490752736337540018690109735959908484694806355538497777681412815182258791440499915026543903369888588628599138474195215078755870538885859820523202320701543053528856062817905047032086747101959786984405472758940857335541742550187155710200748032662012631331603203587965417467358752302263710261111314239120273915929462289370356205191336126195568420483662155011690905806806123 14834258150108009125674049315250040551315216762382388945479396875706183024925046757433248740849736894083184737234073919891618864697581134318332006690416945936394513381139486320224784308804456179594553031473537283283873593429314476197496448735894170631256639830252607885499738758018549923652288967237231034904844923198790609697420961309853400286052304945800503014038606739028227998528494981975877631918410334261302657632077968437343609846998393006925610289437203111889003003889287002069354886676384159802343403480397740227801852560655555055520145741664111921253185294779596138024400471301198547744289254816690488758652434944523456182602077214418999434106096611966031157688652571746330420929452580697619429498740385947859073822627989142969972972389683863797758065052714364803480229201811945110466582618272547185478489323455559248347537125859378404555381111528478706003560834352257135260822597116869778040362079368611282616165919352095792734127137615162940235282212792737093908999231349036436329012455914025213972531545938258268514463630049700820124434724166868912548168978028968091723940663088422519231566628972853828417685077261810310059905804109210789214749021886123625812745481050895075168197869918444265717371586628177048873154703948635642530222552003971521822234310576980567267148211181014832842579911258402565917128261060575255900118498642448069404547804462941392183448481622358583250216639680147693765539122467657790771601743862904670028231675533806132303652111055033408560559885159177159069336975264077299760500641783292539032767643067782086875225531970334287990490279052959004227125992639379806560251111385502383044630014034395405236727851797621103641268041023979316403907600656304044315544310432983362708565746659689895550307081900339626547372442669859526645758697380972125328548090389279121770561277526493900378528830778281282125337872662509928825656219416441258676192813580257827209508661775211117347102709019503739170936439712029397691512148738186901420283851304970883743794599908149851059067492266771499392401255416769425121873275145558075822496992013796291170322183274735258299216744042694732203055162348775453188706147961455184832479623059446922300392024988878054310224233121312495254424364417955672510799438739654345301730468780212552634931702747959766376048862465818394719504441244464513444123504799286828690788514095026002581880480032825537038135754363351531794958837992194649214192821169564479733499214646224408695769249518112593608281279434671654470863589120613766953288500011625259004368256525498399273347938406731349823614696645049727331064008509175429735905499815496584008717792024222649352122559520563812594836494148711150391409430116056495642613146651823319310743082253538939795316640794502040036725696990352305926523162929473329170081946199523761152103956494078065361681577887057711077968312073721726810741533399 24002333884764898400057675803635911012057622054172788422019212880961772525849110447228271856412971079513973450983104838533678758112602777738031088400355322831036367834753465029676774287496146606864435857358313204790003440820201314422650135531044151109287618918543771945340208635427154740234179622294897648995683187656491538471287925587084643291120291717941955365724455844465699029230984344599946858265910707224472270373320358863677010235300137237894623031841818188246114453523598365220675862342508286636256870932346571593366298053497519750072413191252052584329199666058634809117791425772178851292947726796144992046888543521492774027299127674564606887170940013006802732814592477623296026233586838760353955438722530980331601587388535586214961662304155596736086323910243288235806767818977586097558215429606275740135278202503641059798770816749719277469389236566220079096889975513505093114539220718765324779501728904943093924811188578160198515765702574554815197029012687456106417569829747595296278173830067952974139283544537494594147679780076716144700505424092040570239791421504637313252834838560141462773339308030767271549551954507218195461397131391883396599867601215645335427985597950417152132286034760454936476831902358811501624100439765617661636303251700701314155078785566539870718065844364685945102996589365276078741968162277334794990282529411972814722891154759728964605204900661835323921204614448920388318430659053021280387389029395795169836848011532150428879789821326417611641612722562470129096116778715502669811322221992914353316072294436576856525429344381679779234880660403100653405690621800882474761535003752663156443730483477115582258456360191834149557593616212027363389985099386470720041344100565602706626180349260154958501363246018394970002908091750654183727585886907652843582348421275491691027717548462461594222718663508496842427087556952882531342292425033844912000349035404054407113689398685873663200915812617152965694242524390892543741827590991179900528595846200045897421288339730124231325854330379615354882320855888604590241980382388410859433678544474747201189483219321000643976833779536818948648710617568463589103291039238880013794736281217517891629080163781057362379393650485253772852017735676107744439215842412071617065870255544797772570508001623879931409557197243431997751786415598972351978688056855697877357247649776809512413437956493561074538073678918130603473891971693035562685089089576747207816567160599170077883270311460218607624619523207332694101354341856951306971978609747585167489063062881036897051029351221913608615055196560076271234433897097804028874379695030575339879256677884043172554443261063617341450899312053758182478156532075843480048085905592680654852485632440694649996064673456514671368328900578317723393881915231737039431193260438644035068033418783448421566872914013253279498451974228733417716548339522 38836592034872907525731725118885951563372838816555177367498609756667955550774157204661520597262707973597158188217178758425297622810183912056363095090772268767430881215892951349901558596300602786458988888831850488073877034249515790620146584266938321740544258748796379830839947393445704663886468589532128683900528110855282148168708886896938043577172596663742458379763062583493927027759479326575824490184321041485774928005398327301020620082298530244820233321279021300135117457412885367290030749018892446438600274412744311821168150614153074805592558932916164505582384960838230947142191897073377399037236981612835480805540978466016230209901204888983606321277036624972833890503245049369626447163039419457973384937462916928190675410016524729184934634693839460533844388962957653039286997020789531208024798047878822925613767525959200308146307942609097682024770348094698785100450809865762228375361817835635102819863808273554376540977107930255991249892840189717755432311225480193200326569061096631732607186285981978188111815090475752862662143410126416964824940148258909482787960399533605404976775501648563982004905937003621099967237031769028505521302935501094185814616623101768961240731079001312227300483904678899202194203488986988550497255143714253304166525803704672835977313096143520437985214055545700777945576500623678644659096423337910050890401028054420884127438959222670356788653382284193907171421254129068082083969781520679071158990773258699839865079687065956561183441932381451020202172607721647288165453753979579969571822863776206892348839937504358943400654876352014067225370939456059657632816614440262281321786115138165539488360497511510987495184211989455253198861657236006679793892700042774764356888410998586069334746095919844854051670327918734596550280534420513710373344584288624968910896511664770812798278825988955494601247494286778124552425429615392460167948644450286170676541848984312234323198060461084780548018521636656704865178964102921941433339739729366801948879697505016781165082939638274082384921822646386854274722111305374015363853657533968935256175536488543492359805402595735902276050523579513680851765779917239042291997187200335198627215904276964813929472188769935416689617883606566268106442100094063416950015281151725962367600724325010325205439704371839697785606059709250392471290856843436865422811561654984706048036163871835514995318436526386611576209433281482135268850809685230211899281910746311687550066375245394486579039560978331201232900802642004348572217930977565073925267109759210426493431319406535296324377289628644958438669893205125998565497905606979458610285194846071923887974469908265821906565820584181154045735806202469332869565962191899975690699052244503974163228714694233589791381314251016711405054597568670029320405078161210368601275206638167796220137375277526486928554491900310990576420286302455144527289872921 62838925919637805925789400922521862575430460870727965789517822637629728076623267651889792453675679053111131639200283596958976380922786689794394183491127591598467249050646416379578332883796749393323424746190163692863880475069717105042796719797982472849831877667340151776180156028872859404120648211827026332896211298511773686639996812484022686868292888381684413745487518427959626056990463671175771348450231748710247198378718686164697630317598667482714856353120839488381231910936483732510706611361400733074857145345090883414534448667650594555664972124168217089911584626896865756259983322845556250330184708408980472852429521987509004237200332563548213208447976637979636623317837526992922473396626258218327340376185447908522276997405060315399896296997995057269930712873200941275093764839767117305583013477485098665749045728462841367945078759358816959494159584660918864197340785379267321489901038554400427599365537178497470465788296508416189765658542764272570629340238167649306744138890844227028885360116049931162251098635013247456809823190203133109525445572350950053027751821038242718229610340208705444778245245034388371516788986276246700982700066892977582414484224317414296668716676951729379432769939439354138671035391345800052121355583479870965802829055405374150132391881710060308703279899910386723048573089988954723401064585615244845880683557466393698850330113982399321393858282946029231092625868577988470402400440573700351546379802654495009701927698598106990063231753707868631843785330284117417261570532695082639383145085769121245664912231940935799926084220733693846460251599859160311038507236241144756083321118890828695932090980988626569753640572181289402756455273448034043183877799429245484398232511564188775960926445179999812553033573937129566553188626171167894100930471196277812493244932940262503825996374451417088823966157795274966979512986568274991510241069484131082676890884388366641436887459146958443748934334253809670559421488493814485175167330720546702477475543705062678586371279368398313710776153026002209157042967193978605605834039922379794689854080963290693549288621916736546252884303116332629500476397485702631395288226439215212421952185494482705558552352550992779069011534091820040958459835770171161389231123563797579433470979869808097775947705995719629195163256952682390223077272442409217401499618510682583405283813648645027408756393019947686114283112199612738742742781378265774584371000323058895366633535844564564462309872438549808857520325849337042673572272834516380897245719506795593982494382287572193375406640850558567053725089765202269799931802704783487484664889876647263767231147792308994461009081647798495496635118256227515347722494267743455738784957837184629015714347134928239787445987707531382773383498146987752714286993392947408032468467076811831288170794060974908495427405913564270074872260531188562243838212443 101675517954510713451521126041407814138803299687283143157016432394297683627397424856551313050938387026708289827417462355384274003732970601850757278581899860365898130266539367729479891480097352179782413635022014180937757509319232895662943304064920794590376136416136531607020103422318564068007116801359155016796739409367055834808705699380960730445465485045426872125250581011453553084749942997751595838634552790196022126384117013465718250399897197727535089674399860788516349368349369099800737360380293179513457419757835195235702599281803669361257531057084381595493969587735096703402175219918933649367421690021815953657970500453525234447101537452531819529725013262952470513821082576362548920559665677676300725313648364836712952407421585044584830931691834517803775101836158594314380761860556648513607811525363921591362813254422041676091386701967914641518929932755617649297791595245029549865262856390035530419229345452051847006765404438672181015551382953990326061651463647842507070707951940858761492546402031909350362913725489000319471966600329550074350385720609859535815712220571848123206385841857269426783151182038009471484026018045275206504003002394071768229100847419183257909447755953041606733253844118253340865238880332788602618610727194124269969354859110046986109704977853580746688493955456087500994149590612633368060161008953154896771084585520814582977769073205069678182511665230223138264047122707056552486370222094379422705370575913194849567007385664063551246673686089319652045957938005764705427024286674662608954967949545328138013752169445294743326739097085707913685622539315219968671323850681407037405107234028994235420451478500137557248824784170744655955316930684040722977770499472020248755120922562774845295672541099844666604703901855864163103469160591681604474275055484902781404141444605033316624275200440372583425213652082053091531938416183667451678189713934417253353432733372678875760085519608043224296952855890466375424600452596736426608507070449913504426355241210079459751454219006672396095697975672389063431765078499352620969687697456348729946029617451834185909094024512472448528934826695846310352242177402941673687285413639550411049168089771447519488024541320928195758629417698386309064901935864234578339246404715523541801071704194818422981387410367559326980769316661932782694368129285846082824311180165667289453319977520480542404074829546334297690492545481094874011593591063495986483652911069370582916699911089959051041349433416881010090421128491341391245790203812081454822512829266006020475925701694107489699783930479203525492394982970328268365429708311762946094950084722719187655205617700574816367574902231979649542370924458696848217288456459643431429484010081688603178943061829161829578827301958548094178438095715657782034692071554157776633743673714979627508308169338501395423981897813875260651292546833643706771128085364 164514443874148519377310526963929676714233760558011108946534255031927411704020692508441105504614066079819421466617745952343250384655757291645151462073027451964365379317185784109058224363894101573105838381212177873801637984388950000705740023862903267440208014083476683383200259451191423472127765013186181349692950707878829521448702511864983417313758373427111285870738099439413179141740406668927367187084784538906269324762835699630415880717495865210249946027520700276897581279285852832311443971741693912588314565102926078650237047949454263916922503181252598685405554214631962459662158542764489899697606398430796426510400022441034238684301870016080032738172989900932107137138920103355471393956291935894628065689833812745235229404826645359984727228689829575073705814709359535589474526700323765819190825002849020257111858982884883044036465461326731601013089517416536513495132380624296871355163894944435958018594882630549317472553700947088370781209925718262896690991701815491813814846842785085790377906518081840512614012360502247776281789790532683183875831292960809588843464041610090841435996182065974871561396427072397843000815004321521907486703069287049350643585071736597554578164432904770986166023783557607479536274271678588654739966310673995235772183914515421136242096859563641055391773855366474224042722680601588091461225594568399742651768142987208281828099187187468999576369948176252369356672991285045022888770662668079774251750378567689859268935084262170541309905439797188283889743268289882122688594819369745248338113035314449383678664401386230543252823317819401760145874139174380279709831086922551793488428352919822931352542459488764127002465356352034058711772204132074766161648298901265733153353434126963621256598986279844479157737475792993729656657786762849498575205526681180593897386377545295820450271574891789672249179809877328058511451402751942443188430783418548336030323617761045517196972978755001668045887190144276045984021941090550911783674401170460206903830784915142138337825498375070709806474128698391272588808045693331226575521737378728524635883698415124879458382646429208994781819129812178939852718574888644305082573640078765623471120275265930225046576893871920974827640951790206350023361771634405739728477528279321121234542684064626520757335116363278956175932573614615172917445401728255300225810798676349872858603791169125569812831222566281983804775657680707612754336372441761761068023911392429478283333446934523615503659305855430818947941454340678433919362476646597835719758548772801614458420083981679683075190571329762092546120072735530538165361511016546433579614974599366451422436765492883810828583983879778145039006042714924363565010950727386887168268967918873232194657408964090069366273289666079476951821593862645534748979064947105184666212140791791458796478963399476303919409303727439530726164807364832269014966297807 266189961828659232828831653005337490853037060245294252103550687426225095331418117364992418555552453106527711294035208307727524388388727893495908740654927312330263509583725151838538115843991453752888252016234192054739395493708182896368683327927824062030584150499613214990220362873509987540134881814545336366489690117245885356257408211245944147759223858472538157995988680450866732226490349666678963025719337329102291451146952713096134131117393062937785035701920561065413930647635221932112181332121987092101771984860761273885939647231257933278180034238336980280899523802367059163064333762683423549065028088452612380168370522894559473131403407468611852267898003163884577650960002679718020314515957613570928791003482177581948181812248230404569558160381664092877480916545518129903855288560880414332798636528212941848474672237306924720127852163294646242532019450172154162792923975869326421220426751334471488437824228082601164479319105385760551796761308672253222752643165463334320885554794725944551870452920113749862976926085991248095753756390862233258226217013570669124659176262181938964642382023923244298344547609110407314484841022366797113990706071681121118872685919155780812487612188857812592899277627675860820401513152011377257358577037868119505741538773625468122351801837417221802080267810822561725036872271214221459521386603521554639422852728508022864805868260392538677758881613406475507620720113992101575375140884762459196957120954480884708835942469926234092556579125886507935935701206295646828115619106044407857293080984859777521692416570831525286579562414905109673831496678489600248381154937603958830893535586948817166772993937988901684251290140522778714667089134816115489139418798373285981908474356689738466552271527379689145762441377648857892760126947354531103049480582166083375301527822150329137074546775332162255674393461959381150043389818935609894866620497352965589383756351133724392957058498363044892342840046034742421408622393687287338392181471620373711330186026125221598089279717381743105902172104370780336020573124192683847545209434835077254581913315866959065367476670941681443310753956508025250204960752291585978769859053718316034520288365037377744534601435192849170586270369488592659088263707498640318067723932994844663035614388259444943738722526730838283156701890276547955611813531014101383050121978842017162311923768689606112216906052112616281495268203161802486765929963505257747551676822461800061200033358024482666545008739272311829038362582832019825165152680458679290542271378038807634934345785675787172774974501808965618038515055705858806530791219328309379674565059322085639077642383193458627196158886111757794581376967173621211782299407187030318597752978000561835373600470793251898945100591624627571130259689578303316783671136501262961299955814506771086304787132737977699343391201541314791377457354198475975786094383171 430704405702807752206142179969267167567270820803305361050084942458152507035438809873433524060166519186347132760652954260070774773044485185141060202727954764294628888900910935947596340207885555325994090397446369928541033478097132897074423351790727329470792164583089898373420622324701411012262646827731517716182640825124714877706110723110927565072982231899649443866726779890279911368230756335606330212804121868008560775909788412726550011834888928148034981729441261342311511926921074764423625303863681004690086549963687352536176695180712197195102537419589578966305078016999021622726492305447913448762634486883408806678770545335593711815705277484691885006070993064816684788098922783073491708472249549465556856693315990327183411217074875764554285389071493667951186731254877665493329815261204180151989461531061962105586531220191807764164317624621377843545108967588690676288056356493623292575590646278907446456419110713150481951872806332848922577971234390516119443634867278826134700401637511030342248359438195590375590938446493495872035546181394916442102048306531478713502640303792029806078378205989219169905944036182805157485656026688319021477409140968170469516270990892378367065776621762583579065301411233468299937787423689965912098543348542114741513722688140889258593898696980862857472041666189035949079594951815809550982612198089954382074620871495231146633967447580007677335251561582727876977393105277146598263911547430538971208871333048574568104877554188404633866484565683696219825444474585528950804213925414153105631194020174226905371080972217755829832385732724511433977370817663980528090986024526510624381963939868640098125536397477665811253755496874812773378861338948190255301067097274551715061827790816702087808870513659533624920178853441851622416784734117380601624686108847263969198914199695624957524818350223951927923573271836709208554841221687552338055051280771513925414079968894769910154031477118046560388727236179018467392644334777838250175855872790833918234016811040363736427105215756813815708646233069171608609381169886015074120731172213805779217797014282083944825859317370890438092573086320204190057679327180230283852432693797081657991408640303307969581178329064770145413911321278799009111625479133046057796201461274165784270157072324071464496057643094117239332634463891163128529258932742356683275932777518367035170527559858731682029737274678898265300043860842510099520266335947019508619700733854229539483366804959006282048668045127742647986304037172698259084515157105277126262029926811609249392765869657466855850165073138727710584635128441389344696152730344855813254180033921452090500079148686342438024742869991535939620383009888545575347310357914417205766021945919435067568257879757341968311373881290707048082081283440948851532650201448368145966167955298562545101266096137454003262800505268754322103622161563308244801060680978 696894367531466985034973832974604658420307881048599613153635629884377602366856927238425942615718972292874844054688162567798299161433213078636968943382882076624892398484636087786134456051877009078882342413680561983280428971805315793443106679718551391501376315082703113363640985198211398552397528642276854082672330942370600233963518934356871712832206090372187601862715460341146643594721106002285293238523459197110852227056741125822684142952281991085820017431361822407725442574556296696535806635985668096791858534824448626422116342411970130473282571657926559247204601819366080785790826068131336997827662575336021186847141068230153184947108684953303737273968996228701262439058925462791512022988207163036485647696798167909131593029323106169123843549453157760828667647800395795397185103822084594484788098059274903954061203457498732484292169787916024086077128417760844839080980332362949713796017397613378934894243338795751646431191911718609474374732543062769342196278032742160455585956432236974894118812358309340238567864532484743967789302572257149700328265320102147838161816565973968770720760229912463468250491645293212471970497049055116135468115212649291588388956910048159179553388810620396171964579038909329120339300575701343169457120386410234247255261461766357380945700534398084659552309477011597674116467223030031010503998801611509021497473600003254011439835707972546355094133174989203384598113219269248173639052432192998168165992287529459276940820024114638726423063691570204155761145680881175778919833031458560962924275005034004427063497543049281116411948147629621107808867496153580776472140962130469455275499526817457264898530335466567495505045637397591488045950473764305744440485895647837696970302147506440554361142041039222770682620231090709515176911681471911704674166691013347344500442021845954094599365125556114183597966733796090358598231040623162232921671778124479514797836320028494303111089975481091452731567282213760888801266728465125588568037344411207629564202837165585334516384933138556921610818337439951944629954294078698921665940607048883033799710330149043010193335988312571881403327042828229440262640079471816262622291747515397692511697005340685714115779764257619316000181690767391668199889186631686375863925394269010447305771460583516408234780169824955522489336354167711084141072463756458066326054756360384197482451328548337794246643326791514546795312064004312586286196299452277256171377556316029600683400162983488948593676784400054477024666620004718084249667837563956416804301304850416884327111655333254028625139574947693328623150184147248151226943949673165192928745093243537729577721531879801065220901756103293734201759977062166787129609765101447524363774923919996902941858350550593867256474472915334619212340973019252168316321337949631107266123769805333631406053228875431702606191706810069113481079515761784220587155064149 1127598773234274737241116012943871825987578701851904974203720572342530109402295737111859466675885491479221976815341116827869073934477698263778029146110836840919521287385547023733730796259762564404876432811126931911821462449902448690517530031509278720972168479665793011737061607522912809564660175470008371798854971767495315111669629657467799277905188322271837045729442240231426554962951862337891623451327581065119413002966529538549234154787170919233854999160803083750036954501477371460959431939849349101481945084788135978958293037592682327668385109077516138213509679836365102408517318373579250446590297062219429993525911613565746896762813962437995622280039989293517947227157848245865003731460456712502042504390114158236315004246397981933678128938524651428779854379055273460890514919083288774636777559590336866059647734677690540248456487412537401929622237385349535515369036688856573006371608043892286381350662449508902128383064718051458396952703777453285461639912900020986590286358069748005236367171796504930614158802978978239839824848753652066142430313626633626551664456869765998576799138435901682638156435681476017629456153075743435156945524353617462057905227900940537546619165432382979751029880450142797420277087999391309081555663734952348988768984149907246639539599231378947517024351143200633623196062174845840561486610999701463403572094471498485158073803155552554032429384736571931261575506324546394771902963979623537139374863620578033845045697578303043360289548257253900375586590155466704729724046956872714068555469025208231332434578515267036946244333880354132541786238313817561304563126986656980079657463466686097363024066732944233306758801134272404261424811812712495999741552992922389412032129938323142642170012554698756395602799084532561137593696415589292306298852799860611313699356221541579052124183475780066111521540005632799567153072262310714570976723058895993440211916288923264213265121452599138013120294518392779356193911063242963838743893217202041547798219648205949070943490148895370737319464570509123553239335463964713995786671779262688813017507344431126955019195305683462319495900129148433630320319406652046546474724441312479350503105645643993683696958093322389461414093012046190677311514665764732433660126855543176231575928532907587872730837812919072761821970818058874212670331396498814749601987533878751232652978888407069476276380601470412812095355924846822685806462635399296764791078290170259140166766967942495230642344829527797125010970657177416343334182994669233543066331231662026133719877524990720884475304648086421039207785312588637495923096680018021006182925127164989820077800680566143503245644626094829673822142986950712362476920123015864730129796869839431970510116230307935835567848354206041667294422256460201019848971539397999253232291725103896176507319325012885705868992212078823435584701677325092465388215745127 1824493140765741722276089845918476484407886582900504587357356202226907711769152664350285409291604463772096820870029279395667373095910911342414998089493718917544413685870183111519865252311639573483758775224807493895101891421707764483960636711227830112473544794748496125100702592721124208117057704112285225881527302709865915345633148591824670990737394412644024647592157700572573198557672968340176916689851040262230265230023270664371918297739452910319675016592164906157762397076033668157495238575835017198273803619612584605380409380004652458141667680735442697460714281655731183194308144441710587444417959637555451180373052681795900081709922647391299359554008985522219209666216773708656515754448663875538528152086912326145446597275721088102801972487977809189608522026855669256287700022905373369121565657649611770013708938135189272732748657200453426015699365803110380354450017021219522720167625441505665316244905788304653774814256629770067871327436320516054803836190932763147045872314501984980130485984154814270852726667511462983807614151325909215842758578946735774389826273435739967347519898665814146106406927326769230101426650124798551292413639566266753646294184810988696726172554243003375922994459489052126540616388575092652251012784121362583236024245611673604020485299765777032176576660620212231297312529397875871571990609801312972425069568071501739169513638863525100387523517911561134646173619543815642945542016411816535307540855908107493121986517602417682086712611948824104531347735836347880508643879988331275031479744030242235759498076058316318062656282027983753649595105809971142081035267948787449534932962993503554627922597068410800802263846771669995749470762286476801744182038888570227109002432085829583196531154595737979166285419315623270652770608097061204010973019490873958658199798243387533146723548601336180295119506739428889925751303302933876803898394837020472955009752608951758516376211428080229465851861800606540244995177791708089427311930561613249177362422485371534405459875082033927658930282907949075497869289758043412917452612386311571846817217674580169965212531293996034200899227171976663070582959486123862809097016188827877043014802650984679397812737857580008777414274702813582345511403852396418809524052249812186678881699993491104280965617982744028284311307172226585296811403860255272815928042290239135430135430216955407270523023928261927358890667988851135272092658934851574020962455846486288740850167130925984179236021613927851602035637277182134427583850832233189959870632536512443018046989180323974913100444223034114367830935496735885647150040629691186199111670220408527549655522212445944568466546382198123408023902964012879149606529888117312254493571793759428873451974580858529702824322827121376286506763229479453188165292877347630360498415494909229807913372553888317408475183918888892549065781193086876685975370809276 2952091914000016459517205858862348310395465284752409561561076774569437821171448401462144875967489955251318797685370396223536447030388609606193027235604555758463934973255730135253596048571402137888635208035934425806923353871610213174478166742737108833445713274414289136837764200244037017681717879582293597680382274477361230457302778249292470268642582734915861693321599940803999753520624830678068540141178621327349678232989800202921152452526623829553530015752967989907799351577511039618454670515684366299755748704400720584338702417597334785810052789812958835674223961492096285602825462815289837891008256699774881173898964295361646978472736609829294981834048974815737156893374621954521519485909120588040570656477026484381761601522119070036480101426502460618388376405910942717178214941988662143758343217239948636073356672812879812981205144612990827945321603188459915869819053710076095726539233485397951697595568237813555903197321347821526268280140097969340265476103832784133636158672571732985366853155951319201466885470490441223647439000079561281985188892573369400941490730305505965924319037101715828744563363008245247730882803200541986449359163919884215704199412711929234272791719675386355674024339939194923960893476574483961332568447856314932224793229761580850660024898997155979693601011763412864920508591572721712133477220801014435828641662543000224327587442019077654419952902648133065907749125868362037717444980391440072446915719528685526967032215180720725447002160206078004906934325991814585238367926945203989100035213055450467091932654573583355008900615908337886191381344123788703385598394935444429614590426460189651990946663801355034109022647905942400010895574099189297743923591881492616521034562024152725838701167150436735561888218400155831790364304512650496317271872290734569971899154464929112198847732077116246406641046745061689492904375565244591374875117895916466395221668897875022729641332880679367478972156318999319601189088854951053266055823778815290725160642133577483476403365230929298396249747478458199051108625222008126913239284165574260659834725019011296920231726599679496520395127301125096700903278892775909355571740630140356393517908296628673081509695950902398238828367714859773022822918518161151243184179105355362910457628526398692153696455795663101046133277990285459509481735256754087565530029824117886662788409105362476746799404529732340170986023913697957957899121570250870785753534136656547881016934098868479409878366443455648727046607934359550770918033826902423502936963768174469151766866705314695797575748871120535407038720809324523143073137309709207205294595347573517369733322893012088071712191008292953081846045950963591512083450011133176984623368663598860843962090811166465538392171181327417953801185485939654208014264416745629613730707220013125984420691878901203114344176130967715984650482870411969151363586554403 4776585054765758181793295704780824794803351867652914148918432976796345532940601065812430285259094419023415618555399675619203820126299520948608025325098274676008348659125913246773461300883041711372393983260741919702025245293317977658438803453964938945919258069162785261938466792965161225798775583694578823561909577187227145802935926841117141259379977147559886340913757641376572952078297799018245456831029661589579943463013070867293070750266076739873205032345132896065561748653544707775949909091519383498029552324013305189719111797601987243951720470548401533134938243147827468797133607257000425335426216337330332354272016977157547060182659257220594341388057960337956366559591395663178035240357784463579098808563938810527208198797840158139282073914480269807996898432766611973465914964894035512879908874889560406087065610948069085713953801813444253961020968991570296224269070731295618446706858926903617013840474026118209678011577977591594139607576418485395069312294765547280682030987073717965497339140106133472319612138001904207455053151405470497827947471520105175331317003741245933271838935767529974850970290335014477832309453325340537741772803486150969350493597522917930998964273918389731597018799428247050501509865149576613583581231977677515460817475373254454680510198762933011870177672383625096217821120970597583705467830602327408253711230614501963497101080882602754807476420559694200553922745412177680662986996803256607754456575436793020089018732783138407533714772154902109438282061828162465747011806933535264131514957085692702851430730631899673071556897936321639840976449933759845466633662884231879149523389453693206618869260869765834911286494677612395760366336385666099488105630770062843630036994109982309035232321746174714728173637715779102443134912609711700328244891781608528630098952708316645345571280678452426701760553484490579418655678868178468178773512732936939350231421506826781246017544308759596944824018119605859846184266646659142693367754340428539902523064618949017881863240312963226055180030386407274548977914980051539830691896551885832506651942693591466885444257893675530721294354473101759771486238378899772164668756818968233436532710947613352479322433808482407016242642417673355368334322370557570052708231355167549589339328519889796434662073778407129330444585162512044806293139117009360381458072114357022092923839322317884017322428457994267529876691902549093229991780505102444806715989983142836621867101229794463589114388057383500329082245211541685198501884659135613462807596304686912169813855885638670710676193094154649774869656306060408790223177939400393404406265567982044919388845105458032640178737390491076489869948914976470661689979899250489239116940457358289717414065392024995241216494008448794240307948715419107396179557294093259974229122714922355792334064432789520522819360049856608533716264063498845837338957363679 7728676968765774641310501563643173105198817152405323710479509751365783354112049467274575161226584374274734416240770071842740267156688130554801052560702830434472283632381643382027057349454443849261029191296676345508948599164928190832916970196702047779364971343577074398776230993209198243480493463276872421242291851664588376260238705090409611528022559882475748034235357582180572705598922629696313996972208282916929621696002871070214223202792700569426735048098100885973361100231055747394404579607203749797785301028414025774057814215199322029761773260361360368809162204639923754399959070072290263226434473037105213528170981272519194038655395867049889323222106935153693523452966017617699554726266905051619669465040965294908969800319959228175762175340982730426385274838677554690644129906882697656638252092129509042160422283760948898695158946426435081906342572180030212094088124441371714173246092412301568711436042263931765581208899325413120407887716516454735334788398598331414318189659645450950864192296057452673786497608492345431102492151485031779813136364093474576272807734046751899196157972869245803595533653343259725563192256525882524191131967406035185054693010234847165271755993593776087271043139367441974462403341724060574916149679833992447685610705134835305340535097760088991563778684147037961138329712543319295838945051403341844082352893157502187824688522901680409227429323207827266461671871280539718380431977194696680201372294965478547056050947963859132980716932360980114345216387819977050985379733878739253231550170141143169943363385205483028080457513844659526032357794057548548852232057819676308764113815913882858609815924671120869020309142583554795771261910484855397232029222651555460151071556134135034873933488896611450290061856115934934233499217122362196645516764072343098601998107173245757544419012755568673108401600229552268911560054433423059553648630628853405745453090404701803975658877189438964423796174438605179447373355501610195959423578119243830627683706752526501358266605543892524451429777864865473600086540202059666743931180717460093166486667712602763805675984493355027241689481774226856472389517271675681520240497449108589830050619244242025560832129759384805255071010132533128391157240888718721295892410460522912499796957046288488588358529574070230376577863152797504315774874373763447946988101938474908755712248427680360764121832987726607700862715816247051187890902075353315592469524119799384502884035328662942998992754500839149056128853145901235969419918486038036965744560072861381321580722590953366508251941965275185181908377115384931933296315249109600609700860915555562289122167998470120711890928398784029571715994865940062173773429910383666223740309120957150561376156203191460779608665189776212194109134201358761604193821710838889587959829934935481776754756311690723637163536180824324518366746933910814988702543918082 12505262023531532823103797268423997900002169020058237859397942728162128887052650533087005446485678793298150034796169747461944087282987651503409077885801105110480632291507556628800518650337485560633423174557418265210973844458246168491355773650666986725284229412739859660714697786174359469279269046971451244804201428851815522063174631931526752787402537030035634375149115223557145657677220428714559453803237944506509565159015941937507293953058777309299940080443233782038922848884600455170354488698723133295814853352427330963776926012801309273713493730909761901944100447787751223197092677329290688561860689374435545882442998249676741098838055124270483664610164895491649890012557413280877589966624689515198768273604904105436177999117799386315044249255463000234382173271444166664110044871776733169518160967019069448247487894709017984409112748239879335867363541171600508318357195172667332619952951339205185725276516290049975259220477303004714547495292934940130404100693363878695000220646719168916361531436163586146106109746494249638557545302890502277641083835613579751604124737787997832467996908636775778446503943678274203395501709851223061932904770892186154405186607757765096270720267512165818868061938795689024963913206873637188499730911811669963146428180508089760021045296523022003433956356530663057356150833513916879544412882005669252336064123772004151321789603784283164034905743767521467015594616692717399043418973997953287955828870402271567145069680746997540514431704515882223783498449648139516732391540812274517363065127226835872794794115837382701152014411780981165873334243991308394318865720703908187913637205367576065228685185540886703931595637261167191531628246870521496720134853421618303781108550244117343909165810642786165018235493831714036676634129732073896973761655853951627232097059881562402889990293434021099810162153714042848330215733301601527732422143361790345095684511911528585221676421498198561368620192558211039293557622148269338652791332459672370530206771371475519240129845856855750506609808251272748149064455182111206574623077269345925673138610406194230691120242387030557962983836247328616243875755650575453684909254268076823266583330191855378040154563567867212271313652550206483759491563259276291348600641815690462089136285566178285023020603352477359707022448315309549122068013490772808328446174052831930848636087749998244781444261445720875230739407718796144417882682580455760399185514102942221124751136558457406588107142558222649385211098357442921167921803145173650428552156377548293491394578476592037218928135059429834956778033421445340723519493188509994014107126483537607208511013103928153352069665789275106061585943780916532835463409809634155462857249578315440278790221595216456020825159198225006434417082916777869000373379004932149562188952649857837569088820744480244159982896230680933052083010997409660826041501281761 20233938992297307464414298832067171005200986172463561569877452479527912241164700000361580607712263167572884451036939819304684354439675782058210130446503935544952915923889200010827575999791929409894452365854094610719922443623174359324272743847369034504649200756316934059490928779383557712759762510248323666046493280516403898323413337021936364315425096912511382409384472805737718363276143058410873450775446227423439186855018813007721517155851477878726675128541334668012283949115656202564759068305926883093600154380841356737834740228000631303475266991271122270753262652427674977597051747401580951788295162411540759410613979522195935137493450991320372987832271830645343413465523430898577144692891594566818437738645869400345147799437758614490806424596445730660767448110121721354754174778659430826156413059148578490407910178469966883104271694666314417773706113351630720412445319614039046793199043751506754436712558553981740840429376628417834955383009451394865738889091962210109318410306364619867225723732221038819892607354986595069660037454375534057454220199707054327876932471834749731664154881506021582042037597021533928958693966377105586124036738298221339459879617992612261542476261105941906139105078163130999426316548597697763415880591645662410832038885642925065361580394283110994997735040677701018494480546057236175383357933409011096418417016929506339146478126685963573262335066975348733477266487973257117423850951192649968157201165367750114201120628710856673495148636876862338128714837468116567717771274691013770594615297367979042738157501042865729232471925625640691905692038048856943171097778523584496677751021281458923838501110212007572951904779844721987302890157355376893952164076073173763932180106378252378783099299539397615308297349947648970910133346854436093619278419926294725834095167054808160434409306189589772918563753943595117241775787735024587286070773990643750841137602316230389197335298687637525792416366996816218740930977649879534612214910578916201157890478124002020598396451400748274958039586116138221749150995384170873318554257986806018839625278118796994496796226880385585204673318021555472716265272922251135205149751717185413096633949436097403600986693327252017526384662682739612150648804147995012644493052276213374588933242612466773611379132926547590083600311468107053437842887864536256275434275991306839604348336177678605545566094433447482931602123535043195605773584655809075991655038222741605627635171887120349587099897059061798441339951503344157137341721631211687394296716450409674812975301067545403727180077024705020138686410536830272656815808437619594623807987399093169497633181102398274063960594188059135633301938646856595009236839720017821686597558699272590840166377798407916800433824388001218628526217118136630604567200715771039150148782584793319345843577056170967797146432411505257570449757931320475814744045199843 32739201015828840287518096100491168905203155192521799429275395207690041128217350533448586054197941960871034485833109566766628441722663433561619208332305040655433548215396756639628094650129414970527875540411512875930896288081420527815628517498036021229933430169056793720205626565557917182039031557219774910850694709368219420386587968953463117102827633942547016784533588029294864020953363487125432904578684171929948752014034754945228811108910255188026615208984568450051206798000256657735113557004650016389415007733268687701611666240801940577188760722180884172697363100215426200794144424730871640350155851785976305293056977771872676236331506115590856652442436726136993303478080844179454734659516284082017206012250773505781325798555558000805850673851908730895149621381565888018864219650436163995674574026167647938655398073178984867513384442906193753641069654523231228730802514786706379413151995090711940161989074844031716099649853931422549502878302386334996142989785326088804318630953083788783587255168384624965998717101480844708217582757266036335095304035320634079481057209622747564132151790142797360488541540699808132354195676228328648056941509190407493865066225750377357813196528618107725007167016958820024390229755471334951915611503457332373978467066151014825382625690806132998431691397208364075850631379571153054927770815414680348754481140701510490468267730470246737297240810742870200492861104665974516467269925190603256113030035770021681346190309457854214009580341392744561912213287116256084450162815503288287957680424594814915532951616880248430384486337406621857779026282040165337489963499227492684591388226649034989067186295752894276883500417105889178834518404225898390672298929494792067713288656622369722692265110182183780326532843779363007586767476586509990593040075780246353066192226936370563324399599623610872728725907657637965571991521036626115018492917352434095936822114227758974419011720185836087161036559555027258034488599798148873265006243038588571688097249495477539838526297257604025464649394367410969898215450566282079893177335256151944512763888524991225187916469267416143167657154268884088960141028572826588890059005985262236363217279627952781641141256895119229797698315232946095910140367407271303993093694091903836678069528178645058634399736279024949790622759783416602559910901355309064603880450044138770452984423927676850327010355879168358162341531253839340023656267236264836390840552325683826752386308445577756175207039617284447826551049860787078305263524776385337822848872827957968304369879544137440946108212084134855095464443958275613380335301626129588637915113882630776706144194206326427416030259977334241694887882427773127844700249529651977149454808277588031118956599393624372821258983586226225062943300034914499604940579720703188712337735234651156914932397800651211957129328642186190622532768928730136640785546481604 52973140008126147751932394932558339910404141364985360999152847687217953369382050533810166661910205128443918936870049386071312796162339215619829338778808976200386464139285956650455670649921344380422327906265607486650818731704594887139901261345405055734582630925373727779696555344941474894798794067468098576897187989884623318710001305975399481418252730855058399193918060835032582384229506545536306355354130399353387938869053567952950328264761733066753290337525903118063490747115912860299872625310576899483015162114110044439446406468802571880664027713452006443450625752643101178391196172132452592138451014197517064703670957294068611373824957106911229640274708556782336716943604275078031879352407878648835643750896642906126473597993316615296657098448354461555917069491687609373618394429095594821830987085316226429063308251648951750617656137572508171414775767874861949143247834400745426206351038842218694598701633398013456940079230559840384458261311837729861881878877288298913637041259448408650812978900605663785891324456467439777877620211641570392549524235027688407357989681457497295796306671648818942530579137721342061312889642605434234180978247488628833324945843742989619355672789724049631146272095121951023816546304069032715331492095102994784810505951793939890744206085089243993429426437886065094345111925628389230311128748823691445172898157631016829614745857156210310559575877718218933970127592639231633891120876383253224270231201137771795547310938168710887504728978269606900040928124584372652167934090194302058552295721962793958271109117923114159616958263032262549684718320089022280661061277751077181269139247930493912905687405964901849835405196950611166137408561581275284624463005567965831645468763000622101475364409721581395634830193727011978496900823440946084212318495706541078900287393991178723758808905813200645647289661601233082813767308771650702304563691343077846777959716543989363616347018873473612953452926551843476775419577448028407877221153617504772845987727619479560436922748658352300422688980483549191647366445950452953211731593242957963352389166643788219684712696147801728372330472290439561676406301495077724095208757702447649459851229064050185242127950222371247324082977915685708060789171555266316637586746368117211267002770791111832245778869205572539874223071251523655997753789219845320879314726035445610057332760105355455872576450312615841093943654788882535629429851892073912382495590548425432380021480332698105762306936676346246267891001364131235442605246407597025217145589278367643117345180611682844673288289108839875234150854495105886037151110063749183261723101281723946203777375308724701479990854165393377328189821074629722853937089249669798836052366976860621959122977192032289621692807974227443691469517153051130209507780436474227862486517819444476260775974856822179754275761053691448192982526860050612455529591681447 85712341023954988039450491033049508815607296557507160428428242894907994497599401067258752716108147089314953422703158952837941237885002649181448547111114016855820012354682713290083765300050759350950203446677120362581715019786015414955529778843441076964516061094430521499902181910499392076837825624687873487747882699252842739096589274928862598521080364797605415978451648864327446405182870032661739259932814571283336690883088322898179139373671988254779905546510471568114697545116169518034986182315226915872430169847378732141058072709604512457852788435632890616147988852858527379185340596863324232488606865983493369996727935065941287610156463222502086292717145282919330020421685119257486614011924162730852849763147416411907799396548874616102507772300263192451066690873253497392482614079531758817505561111483874367718706324827936618131040580478701925055845422398093177874050349187451805619503033932930634760690708242045173039729084491262933961139614224064858024868662614387717955672212532197434400234068990288751890041557948284486095202968907606727644828270348322486839046891080244859928458461791616303019120678421150193667085318833762882237919756679036327190012069493366977168869318342157356153439112080771048206776059540367667247103598560327158788973017944954716126831775895376991861117835094429170195743305199542285238899564238371793927379298332527320083013587626457047856816688461089134462988697305206150358390801573856480383261236907793476893501247626565101514309319662351461953141411700628736618096905697590346509976146557608873804060734803362590001444600438884407463744602129187618151024776978569865860527474579528901972873701717796126718905614056500344971926965807173675296761935062757899358757419622991824167629519903765175961363037506374986083668300027456074805358571486787431966479620927549287083208505436811518376015569258871048385758829808276817323056608695511942714781830771748338035358739059309700114489486106870734809908177246177281142227396656093344534084977114957100275449045915956325887338374850960161545581896516735033104908928499109907865153055168779444872629165415217871539987626559323650636547330067904312985267763687709885823068508692002966883269207117490477121781293148631803970929538962537620630680440460021047945072298969756890880178605484597489664845831034940258557664690575154385483195176079584380510317184033032306199586806191784199256285186042721875653086119128338748773336142874109259132407788778275861937513976293630694094442051224918313747868771183982363039994462106325611421715060155820285619396501192974730329615298453381499417486411689878771899638215164354722909921569515051128896021114142727619023077703502402850698637338779321775985507175254448653078079576585656662442951791560453668754412817187965629814448360157177416574824253054095633175708372657473391711405089695877638815515295788780749096315138163051 138685481032081135791382885965607848726011437922492521427581090582125947866981451601068919378018352217758872359573208338909254034047341864801277885889922993056206476493968669940539435949972103731372531352942727849232533751490610302095431040188846132699098692019804249279598737255440866971636619692155972064645070689137466057806590580904262079939333095652663815172369709699360028789412376578198045615286944970636724629752141890851129467638433721321533195884036374686178188292232082378334858807625803815355445331961488776580504479178407084338516816149084897059598614605501628557576536768995776824627057880181010434700398892360009898983981420329413315932991853839701666737365289394335518493364332041379688493514044059318034272994542191231399164870748617654006983760364941106766101008508627353639336548196800100796782014576476888368748696718051210096470621190272955127017298183588197231825854072775149329359392341640058629979808315051103318419400926061794719906747539902686631592713471980606085213212969595952537781366014415724263972823180549177120194352505376010894197036572537742155724765133440435245549699816142492254979974961439197116418898004167665160514957913236356596524542108066206987299711207202722072023322363609400382578595693663321943599478969738894606871037860984620985290544272980494264540855230827931515550028313062063239100277455963544149697759444782667358416392566179308068433116289944437784249511677957109704653492438045565272440812185795275989019038297931958361994069536285001388786030995891892405062271868520402832075169852726476749618402863471146957148462922218209898812086054729647047129666722510022814878561107682697976554310811007111511109335527388448959921224940630723731004226182623613925642993929625346571596193231233386964580569123468402159017677067193328510866767014918728010842017411250012164023305230860104131199526138579927519627620300038589789492741547315737701651705757932783313067942412658714211585327754694205689019448550273598117380072704734436660712371794574308626310027355334509353192948342467187986316640521742067871217542221812567664557341861563019599912318098849763212312953631562982037080476521390157535282919737756053152125397157339861724445864271064317512031718710517803937268267186828138259212075069760868723125957474690170029539068902286463914555418479794999706362509902115029990567649944138387762072163256504400040350228840831604411282515971020412661155831733422534691512429269110973967699820912969976940362333052589049549190474017591579388257140051384693254539060240767503130292684790301814605563766152948487385454637521753627955161361316446078669113698944823775830376011968308120996351267524577032573552574428028991574821559542231309275037202553777688952064644599534681112445882334341016760023956140593651644437310770873540109436484347514295571465680850749569087008497822648831361551844729844498 224397822056036123830833376998657357541618734479999681856009333477033942364580852668327672094126499307073825782276367291747195271932344513982726433001037009912026488848651383230623201250022863082322734799619848211814248771276625717050960819032287209663614753114234770779500919165940259048474445316843845552392953388390308796903179855833124678460413460450269231150821358563687475194595246610859784875219759541920061320635230213749308607012105709576313101430546846254292885837348251896369844989941030731227875501808867508721562551888011596796369604584717787675746603458360155936761877365859101057115664746164503804697126827425951186594137883551915402225708999122620996757786974513593005107376256204110541343277191475729942072391091065847501672643048880846458050451238194604158583622588159112456842109308283975164500720901304824986879737298529912021526466612671048304891348532775649037445357106708079964120083049882103803019537399542366252380540540285859577931616202517074349548385684512803519613447038586241289671407572364008750068026149456783847839180775724333381036083463617987015653223595232051548568820494563642448647060280272959998656817760846701487704969982729723573693411426408364343453150319283493120230098423149768049825699292223649102388451987683849322997869636879997977151662108074923434736598536027473800788927877300435033027656754296071469780773032409124406273209254640397202896104987249643934607902479530966185036753674953358749334313433421841090533347617594309823947210947985630125404127901589482751572248015078011705879230587529839339619847463910031364612207524347397516963110831708216912990194197089551716851434809400494103273216425063611856081262493195622635217986875693481630362983602246605749810623449529111747557556268739761950664237423495858233823035638680115942833246635846277297925225916686823682399320800118975179585284968388204336950676908734101732207523378087486039687064496992093013182431898765584946395235931940382970161675946929691461914157681849393760987820840490264952197365730185469514738530238983923019421549450241177779082695276981347109429971026978237471452305725409086862949500961630886350065744285077867421105988246448056119008666364457352201567645564212949316002648249480341557898947627288159307157147368730625614006136080174767519203914733321404173113083170370154091845705078194614371077967128171420068271750062696184239606514026874326286935602090148751409929167876296643950644837057889249829637334889263607634456775103813967862938342788775561751297134513491018865960775300923323415912081291494789335893381451401868884872123933443506727060999531610433392023620514338826959272033082450848615374345228079435424251211766808313350807066717485757928115282130363345614507596391095134781200295151528982389838404500750829061012135023927635742612192720171768963177085940445446725824013118437612110648159868007549 363083303088117259622216262964265206267630172402492203283590424059159890231562304269396591472144851524832698141849575630656449305979686378784004318890960002968232965342620053171162637199994966813695266152562576061046782522767236019146391859221133342362713445134039020059099656421381126020111065008999817617038024077527774854709770436737386758399746556102933046323191068263047503984007623189057830490506704512556785950387372104600438074650539430897846297314583220940471074129580334274704703797566834546583320833770356285302067031066418681134886420733802684735345218063861784494338414134854877881742722626345514239397525719785961085578119303881328718158700852962322663495152263907928523600740588245490229836791235535047976345385633257078900837513797498500465034211603135710924684631096786466096178657505084075961282735477781713355628434016581122117997087802944003431908646716363846269271211179483229293479475391522162432999345714593469570799941466347654297838363742419760981141099156493409604826660008182193827452773586779733014040849330005960968033533281100344275233120036155729171377988728672486794118520310706134703627035241712157115075715765014366648219927895966080170217953534474571330752861526486215192253420786759168432404294985886971045987930957422743929868907497864618962442206381055417699277453766855405316338956190362498272127934210259615619478532477191791764689601820819705271329221277194081718857414157488075889690246112998924021775125619217117079552385915526268185941280484270631514190158897481375156634519883598414537954400440256316089238250327381178321760670446565607415775196886437863960119860919599574531729995917083192079827527236070723367190598020584071595139211816324205361367209784870219675453617379154458319153749499973148915244806546964260392840712705873444453700013650765005308767243327936835846422626030979079310784811106968131856578297208772691521700264925403223741338770254924876326250374311424299157980563686634588659181124497203289579294230386583830421700192635064573578507393085519978867931478581451111005738189971983245650300237498793914773987312888541257071364623824258850075262454593193868387146220806468024956388907984204109271134063521797213926013509835277266828034366959998145495167214814116297566369222438491494337132093554864937548742983635607868087668501650165153798208214980309644361645617072309807830343913319200584279956742867705930698218118061169164071084999609719178642157266327000223797337155802233584574819108156403017412128816806367141139554274564875712120499835541690826546204766081796603941457147604350356270326761455197134682222360848056512061137319459162602789648045050758969611725612752656467997803786194837304925628626259717067203152484684141034566572240990629815893646177485869999149862360641344480705449445794801175852048677067686064534642766791195015812832510941086443472200004597852047 587481125144153383453049639962922563809248906882491885139599757536193832596143156937724263566271350831906523924125942922403644577912030892766730751891997012880259454191271436401785838450017829896018000952182424272861031294043861736197352678253420552026328198248273790838600575587321385068585510325843663169430977465918083651612950292570511436860160016553202277474012426826734979178602869799917615365726464054476847271022602318349746681662645140474159398745130067194763959966928586171074548787507865277811196335579223794023629582954430277931256025318520472411091821522221940431100291500713978938858387372510018044094652547211912272172257187433244120384409852084943660252939238421521528708116844449600771180068427010777918417776724322926402510156846379346923084662841330315083268253684945578553020766813368051125783456379086538342508171315111034139523554415615051736799995249139495306716568286191309257599558441404266236018883114135835823180482006633513875769979944936835330689484841006213124440107046768435117124181159143741764108875479462744815872714056824677656269203499773716187031212323904538342687340805269777152274095521985117113732533525861068135924897878695803743911364960882935674206011845769708312483519209908936482229994278110620148376382945106593252866777134744616939593868489130341134014052302882879117127884067662933305155590964555687089259305509600916170962811075460102474225326264443725653465316637019042074726999787952282771109439052638958170085733533120578009888491432256261639594286799070857908206767898676426243833631027786155428858097791291209686372877970913004932738307718146080873110055116689126248581430726483686183100743661134335223271860513779694230357198692017686991730193387116825425264240828683570066711305768712910865909043970460118626663748344553560396533260286611282606692469244623659528821946831098054490370096075356336193528974117506793253907788303490709781025834751916969339432806210189884104375799618574971629342800444132981041208388068433224182688013475554838530704758815705448382670008820435034025159739422224423429382932775775261883417283915519494542816929549667936938211955554824754737211965091545892377494896230652165390142729886254566127581155399490216144037015209478487053066162441404456873526369807222119951138229635039705067946898368929272260781584820535307890053920058504258732723584200481227898615663381896768519563256894580256985153720151317915481014167486015822592802103384889473626974490691497192209275883260216985275067159595142702890851409078366730986460610842614149962116847373291393277350529055752225155198885388640641409283360379666945453160939973501429748920078133209818227099957980735903422054997961645618276435692977202825131267766814504380181079837381724950674846472637398981539700765142095309766461580818728811594660869787857833497819852731640462538656524059524055582848164465859596 950564428232270643075265902927187770076879079284984088423190181595353722827705461207120855038416202356739222065975518553060093883891717271550735070782957015848492419533891489572948475650012796709713267104745000333907813816811097755343744537474553894389041643382312810897700232008702511088696575334843480786469001543445858506322720729307898195259906572656135323797203495089782483162610492988975445856233168567033633221409974422950184756313184571372005696059713288135235034096508920445779252585074699824394517169349580079325696614020848959066142446052323157146437039586083724925438705635568856820601109998855532283492178266997873357750376491314572838543110705047266323748091502329450052308857432695091001016859662545825894763162357580005303347670643877847388118874444466026007952884781732044649199424318452127087066191856868251698136605331692156257520642218559055168708641965503341575987779465674538551079033832926428669018228828729305393980423472981168173608343687356596311830583997499622729266767054950628944576954745923474778149724809468705783906247337925021931502323535929445358409201052577025136805861115975911855901130763697274228808249290875434784144825774661883914129318495357507004958873372255923504736939996668104914634289263997591194364313902529337182735684632609235902036074870185758833291506069738284433466840258025431577283525174815302708737837986792707935652412896279807745554547541637807372322730794507117964417245900951206792884564671856075249638119448646846195829771916526893153784445696552233064841287782274840781788031468042471518096348118672388008133548417478612348513504604583944833229916036288700780311426643566878262928270897205058590462458534363765825496410508341892353097403171987045100717858207838028385865055268686059781153850517424379019504461050427004850233273937376287915459712572560495375244572862077133801154907182324468050107271326279484775608053228893933522364605006841845665683180521614183262356363305209560288523924941336270620502618455017054604388206110619412109212151901225427250601487401886145030897929394207669079683170274569176657404596804060751614181553373926787013474410148018623124358185898013917333883804214856274661276793408051780053594665234767482972071382169476632548233377255520754439895592245713614288270323189904642616689882004537140348450086470700461688262135038813903094369201272791035728959576701097352799519999762286187683371838212487079552099167095735001234959369711889697424311646493730776784094991416620002687195976401509844030405683643242443106960446384304976508321613455087997218807676660102581425525646843837776091505721227723457514298259432664032538568123183968787838825570733392371419858784156482923202064319236919892334420251498645414747652078372354766568492650123268980689563125783439790471911026613529987446709546855543898032462619522835478351489035000610499055048169063711643 1538045553376424026528315542890110333886127986167475973562789939131547555423848618144845118604687553188645745990101461475463738461803748164317465822674954028728751873725162925974734314100030626605731268056927424606768845110854959491541097215727974446415369841630586601736300807596023896157282085660687143955899979009363942157935671021878409632120066589209337601271215921916517462341213362788893061221959632621510480492432576741299931437975829711846165094804843355329998994063437506616853801372582565102205713504928803873349326196975279236997398471370843629557528861108305665356538997136282835759459497371365550327586830814209785629922633678747816958927520557132209984001030740750971581016974277144691772196928089556603813180939081902931705857827490257194311203537285796341091221138466677623202220191131820178212849648235954790040644776646803190397044196634174106905508637214642836882704347751865847808678592274330694905037111942865141217160905479614682049378323632293431642520068838505835853706874101719064061701135905067216542258600288931450599778961394749699587771527035703161545440413376481563479493201921245689008175226285682391342540782816736502920069723653357687658040683456240442679164885218025631817220459206577041396864283542108211342740696847635930435602461767353852841629943359316099967305558372621163550594724325688364882439116139370989797997143496393624106615223971739910219779873806081533025788047431526160039144245688903489563994003724495033419723852981767424205718263348783154793378732495623090973048055680951267025621662495828626946954445909963597694506426388391617281251812322730025706339971152977827028892857370050564446029014558339393813734319048143460055853609200359579344827596559103870525982099036521598452576361037398970647062894487884497646168209394980565246766534223987570522152181817184154904066519693175188291525003257680804243636245443786278029515841532384643303390439758758815005115986731804067366732162923784531917866725385469251661711006523450278787076219586174250639916910716930875633271496222321179056057668816432092509066103050344438540821880719580246156998482923594723951686365702843377861570150989559809711378700445508440051419523294306346181175820634257699116108397378955119601299539696925211313421962052935734239408552824944347684636780373466412609231671291235769578316055097318161827092785473272263627575240082994121319083256656866444668525558363804995033113334581750823827761473096779171051286137185227968993370874676836987962263135996652546921257092721609174093421057226919126470438460828379390496158205715854806580724532232478417500789081607390402967459199406165462287488201317178606065925528714128274841913782118128541478500012214122717465688018313149794928731915754079717243339122760667962229263890925535100238372607432258799041370416643401731530282472254475940890145559060134554637896333529571239 2488609981608694669603581445817298103963007065452460061985980120726901278251554079351965973643103755545384968056076980028523832345695465435868200893457911044577244293259054415547682789750043423315444535161672424940676658927666057246884841753202528340804411485012899412634001039604726407245978660995530624742368980552809800664258391751186307827379973161865472925068419417006299945503823855777868507078192801188544113713842551164250116194289014283218170790864556643465234028159946427062633053957657264926600230674278383952675022810996128196063540917423166786703965900694389390281977702771851692580060607370221082611079009081207658987673010170062389797470631262179476307749122243080421633325831709839782773213787752102429707944101439482937009205498134135041699322411730262367099174023248409667851419615450272305299915840092823041738781381978495346654564838852733162074217279180146178458692127217540386359757626107257123574055340771594446611141328952595850222986667319650027954350652836005458582973641156669693006278090650990691320408325098400156383685208732674721519273850571632606903849614429058588616299063037221600864076357049379665571349032107611937704214549428019571572170001951597949684123758590281555321957399203245146311498572806105802537105010750165267618338146399963088743666018229501858800597064442359447984061564583713796459722641314186292506734981483186332042267636868019717965334421347719340398110778226033278003561491589854696356878568396351108669361972430414270401548035265310047947163178192175324037889343463226107807409693963871098465050794028635985702639974805870229629765316927313970539569887189266527809204284013617442708957285455544452404196777582507225881350019708701471697924999731090915626699957244359626838441416306085030428216745005308876665672670445407570096999808161363858437611894389744650279311092555252322092679910440005272293743516770065762805123894761278576825755044765600660670799167253418250629088526228994092206390650326805522282213624978467333391464425696793662749129062618156302883872983624207324086955598210639761588749273324913615198226477523640997771180036297521510965160775850862000985928336887573727045262504660364714712696316702358126234770485869025182088179779548431752149532916952445965753317554298649348527678876014848990301326662378003552957681757761936231266578190136132064921461986746063299356534816784091474118603256419152632351897396576292074585212501677485825062720842808668868475597783678958745777465866093456990649459112398162390951662776364851617200381503611224102978760074283467387714965882375957388006250179076316193592294802835113860481757458838829494826056324501147393904751099447520646261772566274611464680564331451042609800108269811795209676383994126434483811831772883936942918827016708974890710283634045788786488079963498945629562745091777311419241634594060745053692944502593282882 4026655534985118696131896988707408437849135051619936035548770059858448833675402697496811092247791308734030714046178441503987570807499213600185666716132865073305996166984217341522417103850074049921175803218599849547445504038521016738425938968930502787219781326643486014370301847200750303403260746656217768698268959562173742822194062773064717459500039751074810526339635338922817407845037218566761568300152433810054594206275127905550047632264843995064335885669399998795233022223383933679486855330239830028805944179207187826024349007971407433060939388794010416261494761802695055638516699908134528339520104741586632938665839895417444617595643848810206756398151819311686291750152983831393214342805986984474545410715841659033521125040521385868715063325624392236010525949016058708190395161715087291053639806582092483512765488328777831779426158625298537051609035486907268979725916394789015341396474969406234168436218381587818479092452714459587828302234432210532272364990951943459596870721674511294436680515258388757067979226556057907862666925387331606983464170127424421107045377607335768449290027805540152095792264958467289872251583335062056913889814924348440624284273081377259230210685407838392363288643808307187139177858409822187708362856348214013879845707597801198053940608167316941585295961588817958767902622814980611534656288909402161342161757453557282304732124979579956148882860839759628185114295153800873423898825657559438042705737278758185920872572120846142089085825412181694607266298614093202740541910687798415010937399144177374833031356459699725412005239938599583397146401194261846911017129250043996245909858342244354838097141383668007154986300013883846217931096630650685937203628909061051042752596290194786152682056280881225291017777343484001075279639493193374311840879840388135343766342385351428959764076206928805183377612248427510384204913697686076537379762213852040834639736293663220129145484524359475675915153985222317995820689152778624124257375712274773943924631501917612178540645282967913389045973335087178517144479846528503143013267027071854097815376375258053739048358243221243928178519221116234916847141553705378847498487877133536756641205105873154764115839996664472415946306503282881204288176927386871750832456649371177066739516351585082767087428839793337985963442751469965566913429053172000844894245233450226748554772219335562984110056867085595437686513076019077020422954940097069618325836259236648890482315905448039526883920864186714770836740770293978611722248394814937872919869086460791293802560838143229449198535111846778211124088091812194586974711308794611093083884442504263449216658244994957113544525818325999970676628161648921103686348392740006159064343665165327265796288124945004605115909880514201055170895644604905148090907634509990948656241478047585529450380142347361093027564031787360131780153120879608330840836122854121 6515265516593813365735478434524706541812142117072396097534750180585350111926956776848777065890895064279415682102255421532511403153194679036053867609590776117883240460243271757070099893600117473236620338380272274488122162966187073985310780722133031128024192811656385427004302886805476710649239407651748393440637940114983543486452454524251025286880012912940283451408054755929117353348861074344630075378345234998598707920117679069800163826553858278282506676533956642260467050383330360742119909287897094955406174853485571778699371818967535629124480306217177202965460662497084445920494402679986220919580712111807715549744848976625103605268654018872596553868783081491162599499275226911814847668637696824257318624503593761463229069141960868805724268823758527277709848360746321075289569184963496958905059422032364788812681328421600873518207540603793883706173874339640431053943195574935193800088602186946620528193844488844942053147793486054034439443563384806382495351658271593487551221374510516753019654156415058450074257317207048599183075250485731763367149378860099142626319228178968375353139642234598740712091327995688890736327940384441722485238847031960378328498822509396830802380687359436342047412402398588742461135257613067334019861429154319816416950718347966465672278754567280030328961979818319817568499687257340059518717853493115957801884398767743574811467106462766288191150497707779346150448716501520213822009603883592716046267228868612882277751140517197250758447797842595965008814333879403250687705088879973739048826742607403482640441050423570823877056033967235569099786376000132076540782446177357966785479745531510882647301425397285449863943585469428298622127874213157911818553648617762522740677596021285701779382013525240852129459193649569031503496384498502250977513550285795705440766150546715287397375970596673455462688704803679832476884824137691348831123278983917803639763631054941796954900529289960136346714321238640568624909215381772716330648026039080296226138256480384945570005070979761576138175035953243481401017463470735827229968865237711615686564649700171668937274835766862241699358555518637745882007917404567379833426824764707263801903709766237869476812156699022598650716792372308063292467956475818623900365373601817142820057070650234431294766304854642328287290105129473518524595186815108232111472435369582291670016758965398862340644873651177069556289769495171709372320351516389144203538337936722473953203158714116908002481704543145460548302606863750969261181360792977328824582645451312408494184064449367332427958609395314165926089970467769582593224890385110804685378687277618123930974117083824451939600850319473393875427727609169567365458914667351470839628675116207937065904557936740214281499904006948684867002668528541848066917924343484881658939875523836372017530343641292990655772655809098779373414747181624662023785338716137003 10541921051578932061867375423232114979661277168692332133083520240443798945602359474345588158138686373013446396148433863036498973960693892636239534325723641191189236627227489098592516997450191523157796141598872124035567667004708090723736719691063533915243974138299871441374604734006227014052500154307966162138906899677157286308646517297315742746380052664015093977747690094851934761193898292911391643678497668808653302126392806975350211458818702273346842562203356641055700072606714294421606764618136924984212119032692759604723720826938943062185419695011187619226955424299779501559011102588120749259100816853394348488410688872042548222864297867682803310266934900802848891249428210743208062011443683808731864035219435420496750194182482254674439332149382919513720374309762379783479964346678584249958699228614457272325446816750378705297633699229092420757782909826547700033669111969724209141485077156352854696630062870432760532240246200513622267745797817016914767716649223536947148092096185028047456334671673447207142236543763106507045742175873063370350613548987523563733364605786304143802429670040138892807883592954156180608579523719503779399128661956308818952783095590774090032591372767274734410701046206895929600313116022889521728224285502533830296796425945767663726219362734596971914257941407137776336402310072320671053374142402518119144046156221300857116199231442346244340033358547538974335563011655321087245908429541152154088972966147371068198623712638043392847533623254777659616080632493496453428246999567772154059764141751580857473472406883270549289061273905835152496932777194393923451799575427401963031389603873755237485398566780953457018929885483312144840058970843808597755757277526823573783430192311480487932064069806122077420476970993053032578776023991695625289354430126183840784532492932066716357140046803602260646066317052107342861089737835377425368503041197769844474403367348605017084046013814319612022629475223862886620729904534551340454905401751355070170062887982302557748545716262729489527221009288330659918161943317264330372982132264783469784380026075429722676323194010083485627537074739753980798855058958272758680925312641840800558544914872111024240927996695687071066663098875590944496756133403205495651197830251188319886796587001819514061853733694435666273253547880943484091508615868280232956366680603032518418571531184734425324754930518262664993976282571190786392743306456486213821864174195959122843685474619564947529365625407332175319139347634044947872903609187792266697502514537773199787986625287510561877157144507160944137214058559581777180199601693905415778462571720122387380190775328819409053145376137799393846104355770818488469145263060091476998693018781373264331700846061685218886615813887462885922173564173146753215008831977994872607596117001883957546980723783640351748800219840886139505194900302504270354626174838991124 17057186568172745427602853857756821521473419285764728230618270421029149057529316251194365224029581437292862078250689284569010377113888571672293401935314417309072477087470760855662616891050308996394416479979144398523689829970895164709047500413196565043268166949956256868378907620811703724701739561959714555579544839792140829795098971821566768033260065576955377429155744850781052114542759367256021719056842903807252010046510486045150375285372560551629349238737313283316167122990044655163726673906034019939618293886178331383423092645906478691309900001228364822192416086796863947479505505268106970178681528965202064038155537848667651828132951886555399864135717982294011490748703437655022909680081380632989182659723029181959979263324443123480163600973141446791430222670508700858769533531642081208863758650646822061138128145171979578815841239832886304463956784166188131087612307544659402941573679343299475224823907359277702585388039686567656707189361201823297263068307495130434699313470695544800475988828088505657216493860970155106228817426358795133717762927847622706359683833965272519155569312274737633519974920949845071344907464103945501884367508988269197281281918100170920834972060126711076458113448605484672061448373635956855748085714656853646713747144293734129398498117301877002243219921225457593904901997329660730572091995895634076945930554989044431927666337905112532531183856255318320486011728156841301067918033424744870135240195015983950476374853155240643605981421097373624624894966372899704115952088447745893108590884358984340113913457306841373166117307873070721596719153194525999992582021604759929816869349405266120132699992178238906882873470952740443462186845056966509574310926144586096524107788332766189711446083331362929549936164642622064082272408490197876266867980411979546225298643478782003754516017400275716108755021855787175337974561973068774199626320181687648114166998403546814038946543104279748369343796462503455245639119916324056785553427790435366396201144462687503318550787242491065665396045241574141319179406788000157602950997502495085470944675775601391613598029776945727326895630258391726680862976362840138514352137406548064360448624638348893717740153394709669717379891247899007789224089879024119551563203853005462706853657652053945356620038549077994560543653010417002616103802683388465067839115972614810088588290150133287665399804169439734550266052066362495765063657972875358025402512132681596796888633333681855531847329950477635867441954497795917134084969980769595522085159989085608282170689736877894305115753902475110063304029027351359773424492079016220463841258997740511311164892412643860992746226457272787721532083379988055834604177727442947838321693897581201397605403998425433168115717894411570789176232701688601281926756321479754266535992525720329564511067424933342404572875649984918878609647484128932378411513555128127 27599107619751677489470229280988936501134696454457060363701790661472948003131675725539953382168267810306308474399123147605509351074582464308532936261038058500261713714698249954255133888500500519552212621578016522559257496975603255432784220104260098958512141088256128309753512354817930738754239716267680717718451739469298116103745489118882510779640118240970471406903434945632986875736657660167413362735340572615905312172903293020500586744191262824976191800940669924371867195596758949585333438524170944923830412918871090988146813472845421753495319696239552441419371511096643449038516607856227719437782345818596412526566226720710200050997249754238203174402652883096860381998131648398230971691525064441721046694942464602456729457506925378154602933122524366305150596980271080642249497878320665458822457879261279333463574961922358284113474939061978725221739693992735831121281419514383612083058756499652329921453970229710463117628285887081278974935159018840212030784956718667381847405566880572847932323499761952864358730404733261613274559602231858504068376476835146270093048439751576662957998982314876526327858513904001251953486987823449281283496170944578016234065013690945010867563432893985810868814494812380601661761489658846377476310000159387477010543570239501793124717480036473974157477862632595370241304307401981401625466138298152196089976711210345289043865569347458776871217214802857294821574739812162388313826462965897024224213161163355018674998565793284036453515044352151284240975598866396157544199088015518047168355026110565197587385864190111922455178581778905874093651930388919923444381597032161892848258953279021357618098558959192363901803356436052588302245815900775107330068203671409670307537980644246677643510153137485006970413135635675096661048432481893501556222410538163387009831136410848720111656064203877976754821338907894518199064299808446199568129361379457492588570365752151831122992556918599360391973271686366341866369024450875397240458829541790436566264032444990061067096503505220555192617054529904801237341350105264487975933129767278555255324701851031114289921223787029212954432704998145707479718035321112897195277450048388864918993539510459917958668150090396740784042990123489952285980223282229615202761034104193782593650244653873459418473772243513660833797200891360486707612418551668698024205796575647328507159821334867712990154734687702399544242334637553282157806964429361571847266686328640719640574107953246803061212955357809811186581302131840865006988579168561862219587674526858808070157315024388456182272898409636054200518087586933136953624093772921636242303830717862898691355667741463270045891602595072181567636439150806544303749440787534424837014712678954465729306250060110652054731531781874456711349796874835354496935588299474626874132109527604287111491791208573694153373095490871058383804547786633202733037688394119251 44656294187924422917073083138745758022608115740221788594320061082502097060660991976734318606197849247599170552649812432174519728188471035980826338196352475809334190802169010809917750779550809515946629101557160921082947326946498420141831720517456664001780308038212385178132419975629634463455979278227395273297996579261438945898844460940449278812900183817925848836059179796414038990279417027423435081792183476423157322219413779065650962029563823376605541039677983207688034318586803604749060112430204964863448706805049422371569906118751900444805219697467917263611787597893507396518022113124334689616463874783798476564721764569377851879130201640793603038538370865390871872746835086053253881371606445074710229354665493784416708720831368501634766534095665813096580819650779781501019031409962746667686216529908101394601703107094337862929316178894865029685696478158923962208893727059043015024632435842951805146277877588988165703016325573648935682124520220663509293853264213797816546719037576117648408312327850458521575224265703416719503377028590653637786139404682768976452732273716849182113568294589614159847833434853846323298394451927394783167863679932847213515346931791115931702535493020696887326927943417865273723209863294803233224395714816241123724290714533235922523215597338350976400697783858052964146206304731642132197558134193786273035907266199389720971531907252571309402401071058175615307586467969003689381744496390641894359453356179338969151373418948524680059496465449524908865870565239295861660151176463263940276945910469549537701299321496953295621295889651976595690371083583445923436963618636921822665128302684287477750798551137431270784676827388793031764432660957741616904379129815995766831645768977012867354956236468847936520349300278297160743320840972091377823090390950142933235129779889630723866172081604153692863576360763681693537038861781514973767755681561145140702737364155698645161939100022879108761317068148869797112008144367199454026012257332225802962465176907677564385647290747711620858013099771478942556520756893264645578884127269773640726269377626632505903519253563974940281328335256537434160581011683953035709629587454936929279442164148808811676408303485106410501422881371388960075204313161253734754324237957199245300503902305927404775093810792591655394340853901777489323716221235057163092044912548262138595748111485001000655554538857142134094508386703915777922870622402236929872669198461322316437462741286928658593060285308287447054023256629636782141073549149331457741672834515944416352328004761266350487388652312111164263822116614284496727048585851937856706145089715603410002520560154107131038637829052344969289168522530794600138353618514977372675336406576535667126911654058536085222847249676286027500526029576523955778862344620954381140668102053324616676002858633507036557945971140855977262414195270762135111449201949247378 72255401807676100406543312419734694523742812194678848958021851743975045063792667702274271988366117057905479027048935579780029079263053500289359274457390534309595904516867260764172884668051310035498841723135177443642204823922101675574615940621716762960292449126468513487885932330447565202210218994495075991016448318730737062002589950059331789592540302058896320242962614742047025866016074687590848444527524049039062634392317072086151548773755086201581732840618653132059901514183562554334393550954375909787279119723920513359716719591597322198300539393707469705031159108990150845556538720980562409054246220602394889091287991290088051930127451395031806212941023748487732254744966734451484853063131509516431276049607958386873438178338293879789369467218190179401731416631050862143268529288283412126508674409169380728065278069016696147042791117956843754907436172151659793330175146573426627107691192342604135067731847818698628820644611460730214657059679239503721324638220932465198394124604456690496340635827612411385933954670436678332777936630822512141854515881517915246545780713468425845071567276904490686175691948757847575251881439750844064451359850877425229749411945482060942570098925914682698195742438230245875384971352953649610700705714975628600734834284772737715647933077374824950558175646490648334387510612133623533823024272491938469125883977409735010015397476600030086273618285861032910129161207781166077695570959356538918583666517342693987826371984741808716513011509801676193106846164105692019204350264478781987445300936580114735288685185687065218076474471430882469784023013972365846881345215669083715513387255963308835368897110096623634686480183824845620066678476858516724234447333487405437139183749621259544998466389606332943490762435913972257404369273453984879379312801488306320244960916300479443977828145808031669618397699671576211736103161589961173335885042940602633291307729907850476284931656941478469153290339835236138978377168818074851266471086874016239528729209352667625452743794252932176050630154301383743793862106998529133554817257037052195981594079477663620193440477351004153235761040254683141640299047005065932904907037503325794198435703659268729635076453575503151285465871494878912361184536443483349957085272061393027894154146959800864193567583036105316228138054793137976031328639786725861116250709123909467102907932819868713645709273544844533638750721341469060080677586831598501719935884789963036078036849240175461654273240666097258240604558761477647148062128317893319961260509042803224422485319785654806669661550721747218464340204201217633680672679624859492948448920433466308693876227895570401084529431647417150856804961681601144442103059302511797512351119255490132856217904118646737277578781458160484211875826451359310275797932920429008014800211580928903787494649842080730711319066631727035646218743057395337844486890343366629 116911695995600523323616395558480452546350927934900637552341912826477142124453659679008590594563966305504649579698748011954548807451524536270185612653743010118930095319036271574090635447602119551445470824692338364725152150868600095716447661139173426962072757164680898666018352306077199665666198272722471264314444897992176007901434410999781068405440485876822169079021794538461064856295491715014283526319707525462219956611730851151802510803318909578187273880296636339747935832770366159083453663384580874650727826528969935731286625710349222643105759091175386968642946706883658242074560834104897098670710095386193365656009755859465903809257653035825409251479394613878604127491801820504738734434737954591141505404273452171290146899169662381424136001313855992498312236281830643644287560698246158794194890939077482122666981176111034009972107296851708784593132650310583755539068873632469642132323628185555940214009725407686794523660937034379150339184199460167230618491485146263014940843642032808144748948155462869907509178936140095052281313659413165779640655286200684222998512987185275027185135571494104846023525383611693898550275891678238847619223530810272443264758877273176874272634418935379585522670381648111149108181216248452843925101429791869724459124999305973638171148674713175926958873430348701298533716916865265666020582406685724742161791243609124730986929383852601395676019356919208525436747675750169767077315455747180812943119873522032956977745403690333396572507975251201101972716729344987880864501440942045927722246847049664272989984507184018513697770361082859065474394097555811770318308834306005538178515558647596313119695661234054905471157011213638651831111137816258341138826463303401203970829518598272412353422626075180880011111736192269418147690114426076257202403192438449253480090696190110167844000227412185362481974060435257905273142023371476147103640724501747773994045094063549121446870756964357577914607407984105936090385313185274305292483344206242042491194386260345189838391085000643796908643254072862686350382863891793779133701384306825836707863457104296126096959730914979093517089375511220575800880058689018968614536624958262723477877867808077541311484757060609561786888752866267872436388849604737084711409510018592273194658049265728268968661393828696971622478908694915465355044861021783024208295621672171605698656044304869714301263812401986667733259108045384838003548209233835431592605083251285352515499590527104120247333525974384705294627815391114429289135677467224777702933343558747640774813324546921157157050203033858382728162320815502130407721265476797349654594010149069718696396788049677532123167260699762120145973484212395744580456677817489170187687525832025799983129558177182822500426031134446511712401856027883266054660277541383389155468313634253520463497508475587767269265037772583012908632938328157472955936092292614007 189167097803276623730159707978215147070093740129579486510363764570452187188246327381282862582930083363410128606747683591734577886714578036559544887111133544428525999835903532338263520115653429586944312547827515808367356974790701771291063601760890189922365206291149412153904284636524764867876417267217547255330893216722913069904024361059112857997980787935718489321984409280508090722311566402605131970847231574501282591004047923237954059577073995779769006720915289471807837346953928713417847214338956784438006946252890449091003345301946544841406298484882856673674105815873809087631099555085459507724956315988588254747297747149553955739385104430857215464420418362366336382236768554956223587497869464107572781453881410558163585077507956261213505468532046171900043652912881505787556089986529570920703565348246862850732259245127730157014898414808552539500568822462243548869244020205896269240014820528160075281741573226385423344305548495109364996243878699670951943129706078728213334968246489498641089583983075281293443133606576773385059250290235677921495171167718599469544293700653700872256702848398595532199217332369541473802157331429082912070583381687697673014170822755237816842733344850062283718412819878357024493152569202102454625807144767498325193959284078711353819081752088000877517049076839349632921227528998889199843606679177663211287675221018859741002326860452631481949637642780241435565908883531335844772886415103719731526786390864726944804117388432142113085519485052877295079562893450679900068851705420827915167547783629779008278669692871083731774244832513741535258417111528177617199654049975089253691902814610905148488592771330678540157637195038484271897789614674775065373273796790806641110013268219531957351889015681513823501874172106241675552059387880061136581715993926755573725051612490589611821828373220217032100371760106834117009245184961437320439525767442350407285352823971399597731802413905836047067897747819342075068762482003349156558954431080258282019923595613012815291134879253575972959273408374246430144244970890322912688518641343878032689457536581959746290400208265983246752850415765903717441179105694084901519443662461588517676313571467346270946561210636112713072354624361146784797573386048220434668494782079985301088812196225529133162228976864802287850616963488053441386373500808508885324546330796081072801563977124738427946973085946831201372009829386853898084225796065433933312540968041248388593536439767279581901606766640481963535232374152592076437197805785118097664193852601550865197298644332575963826711753755605601192502525016719764088393945101656842603042930582536027390273015945247933207696692347179271002778445893996889022559737120000967700038645087515932839347462295829559778004812592606995924277682479242576330458210461812397170268525215182424250992158317668497980584104404310048554851681385552810800422982635980636 306078793798877147053776103536695599616444668064480124062705677396929329312699987060291453177494049668914778186446431603689126694166102572829730499764876554547456095154939803912354155563255549138389783372519854173092509125659301867007511262900063616884437963455830310819922636942601964533542615539940018519645338114715089077805458772058893926403421273812540658401006203818969155578607058117619415497166939099963502547615778774389756570380392905357956280601211925811555773179724294872501300877723537659088734772781860384822289971012295767484512057576058243642317052522757467329705660389190356606395666411374781620403307503009019859548642757466682624715899812976244940509728570375460962321932607418698714286858154862729453731976677618642637641469845902164398355889194712149431843650684775729714898456287324344973399240421238764166987005711660261324093701472772827304408312893838365911372338448713716015495751298634072217867966485529488515335428078159838182561621191224991228275811888522306785838532138538151200952312542716868437340563949648843701135826453919283692542806687838975899441838419892700378222742715981235372352433223107321759689806912497970116278929700028414691115367763785441869241083201526468173601333785450555298550908574559368049653084283384684991990230426801176804475922507188050931454944445864154865864189085863387953449466464627984471989256244305232877625656999699449961002656559281505611850201870850900544469906264386759901781862792122475509658027460304078397052279622795667780933353146362873842889794630679443281268654200055102245472015193596600600732811209083989387517962884281094791870418373258501461608288432564733445628794206252122923728900752491033406512100260094207845080842786817804369705311641756694703512985908298511093699749502306137393784119186365204827205142308680699779665828600632402394582345820542092022282387208332913467543166491944098181279397918034948719178673170870193624982505155803448011159147795188623461851437775286500324511117981873358005129525964254219769867916662447109116494627834782116691822220025650703869397320993686255872387359939180962340269939791277124293242059164383103870133980287419851241154191439275423812258045967696722274859243377227414657233962235652957519379904292098577574283470245491257402130890370693499259473095872182968906741418361830291909532841952468252678500220021429608142248236898348817869105268937432238736087774005299269364905146051292533741109036030294383702148940292614866668829860189543706505726333483252342875367127196160298505972111968879497120983761956789463983920664845832221894496115210578454192257636940731605746086669803994925465330863953046941391148751930106392633603016414937490137887726170919541732822477020473012382278430843727053507636679538507125842385118488003195786325736838849435944714489666793256265249849142176893061463484619713710283756359074928594643 495245891602153770783935811514910746686538408194059610573069441967381516500946314441574315760424133032324906793194115195423704580880680609389275386876010098975982094990843336250617675678908978725334095920347369981459866100450003638298574864660953806806803169746979722973826921579126729401419032807157565774976231331438002147709483133118006784401402061748259147722990613099477246300918624520224547468014170674464785138619826697627710629957466901137725287322127215283363610526678223585919148092062494443526741719034750833913293316314242312325918356060941100315991158338631276417336759944275816114120622727363369875150605250158573815288027861897539840180320231338611276891965338930417185909430476882806287068312036273287617317054185574903851146938377948336298399542107593655219399740671305300635602021635571207824131499666366494324001904126468813863594270295235070853277556914044262180612353269241876090777492871860457641212272034024597880331671956859509134504750897303719441610780135011805426928116121613432494395446149293641822399814239884521622630997621637883162087100388492676771698541268291295910421960048350776846154590554536404671760390294185667789293100522783652507958101108635504152959496021404825198094486354652657753176715719326866374847043567463396345809312178889177681992971584027400564376171974863044065707795765041051164737141685646844212991583104757864359575294642479691396568565442812841456623088285954620275996692655251486846585980180554617622743546945356955692131842516246347681002204851783701758057342414309222289547323892926185977246260026110342135991228320612167004717616934256184045562321187869406610096881203895411985786431401290607195626690367165808471885374056885014486190856055037336327057200657438208527014860080404752769251808890186198530365835180291960400930193921171289391487656973852619426682717580648926139291632393294350787982692259386448588564750742006348316910475584776029672050402903622790086227910277191972618410392206366758606531041577486370820420660843507795742827190070821355546638872805672439604510738666994581902086778530268215618677760147446945587022790207043028010683238270077188771653423949881439758830505010742770083204607178332834987931598001588561442031535621701177954048399074178562875372282441716786535293119347558301547323712835671022348127791862638800794857388283264333751301783998554346570195209984295649070477278766819092634171999801364703298217687019333782129702572470061663284050547059255348632365092563696298582163531289037460973031321048761849371169410613212073084810473710545069585113167370848941658584509155680111034860679871314141773476942819940173398538560645394120662151530376000389522625576152057491105587764816007057665661824482768841942056435656319660503560957220986368418715576698465008183496005364064618368965481825110924763230433246581203110018336301099263094556782057564575279 801324685401030917837711915051606346302983076258539734635775119364310845813646301501865768937918182701239684979640546799112831275046783182219005886640886653523438190145783140162971831242164527863723879292867224154552375226109305505306086127561017423691241133202810033793749558521728693934961648347097584294621569446153091225514941905176900710804823335560799806123996816918446401879525682637843962965181109774428287686235605472017467200337859806495681567923339141094919383706402518458420448969786032102615476491816611218735583287326538079810430413636999343958308210861388743747042420333466172720516289138738151495553912753167593674836670619364222464896220044314856217401693909305878148231363084301505001355170191136017071049030863193546488788408223850500696755431302305804651243391356081030350500477922895552797530740087605258490988909838129075187687971768007898157685869807882628091984691717955592106273244170494529859080238519554086395667100035019347317066372088528710669886592023534112212766648260151583695347758692010510259740378189533365323766824075557166854629907076331652671140379688183996288644702764332012218507023777643726431450197206683637905572030222812067199073468872420946022200579222931293371695820140103213051727624293886234424500127850848081337799542605690354486468894091215451495831116420727198931571984850904439118186608150274828684980839349063097237200951642179141357571222002094347068473290156805520820466598919638246748367842972677093132401574405661034089184122139042015461935557998146575600947137044988665570815978092981288222718275219706942736724039529696156392235579818537278837432739561127908071705169636460145431415225607542730119355591119656841878397474316979222331271698841855140696762512299194903230527845988703263862951558392492335924149954366657165228135336229851989171153485574485021821265063401191018161574019601627264255525858751330546769844148660041297036089148755646223297032908059426238097387058072380596080261829981653258931042159559359728825550186807762015512695106733268464663133500640454556296332958692645285771484099523954471491065120086627907927292729998320152303925297434460292641787404237301290999984696450018193895462653146029557262790841378815976099265497857354135473428303366277140449655752687208043937424009718251800806796808707853991254869210224469092704390230235732586429802004019983954712443446882644466939582547704251331370259773806663972663122833070626315870811608500356046986199487351870215301194952753240005087889864772289803848398448244922147877141522582091570205794235667334533569033832216681163553080624366258565227118316812045747519563612623935098863869424598441062053300282306106782156228592566994981243475490986926599398484301503241854324334866500046714011197636759493494261100695186468203969821742202914054313679971491904181028480282388758096171481820920812973378313141132493169922 1296570577003184688621647726566517092989521484452599345208844561331692362314592615943440084698342315733564591772834661994536535855927463791608281273516896752499420285136626476413589506921073506589057975213214594136012241326559309143604660992221971230498044302949789756767576480100855423336380681154255150069597800777591093373224425038294907495206225397309058953846987430017923648180444307158068510433195280448893072824855432169645177830295326707633406855245466356378282994233080742044339597061848526546142218210851362052648876603640780392136348769697940444274299369200020020164379180277741988834636911866101521370704518003326167490124698481261762305076540275653467494293659248236295334140793561184311288423482227409304688366085048768450339935346601798836995154973409899459870643132027386330986102499558466760621662239753971752814990813964597889051282242063242969010963426721926890272597044987197468197050737042354987500292510553578684275998771991878856451571122985832430111497372158545917639694764381765016189743204841304152082140192429417886946397821697195050016717007464824329442838920956475292199066662812682789064661614332180131103210587500869305694865130745595719707031569981056450175160075244336118569790306494755870804904340013213100799347171418311477683608854784579532168461865675242852060207288395590242997279780615945490282923749835921672897972422453820961596776246284658832754139787444907188525096378442760141096463291574889733594953823153231710755145121351017989781315964655288363142937762849930277359004479459297887860363301985907474199964535245817284872715267850308323396953196752793462882995060748997314681802050840355557417201657008833337314982281486822650350282848373864236817462554896892477023819712956633111757542706069108016632203367282678534454515789546949125629065530151023278562641142548337641247947780981839944300865651994921615043508551010716995358408899402047645352999624340422252969083310963049028183614968349572568698672222188020017537573201136846099645970847651269811255522296804089820209772373446126995900843697359639867673570878054222687109742880234074853514315520205363180314608535704537481413440828187182730758815201460760963978667260324362392250722439380404537541297033479055313427476702440455703325028035128924830472717129065810102354120521543525013602997002087107893499247618518996920181103788018538301282638656866940116010059826471070424004431773608028675961340520089960098000514180970417710270250034411125563933560045316936303670053396061327264821429769293683997248310933195303643290604709377879603154146999587530105211665133521938676261978996683359889293040555443875272262407985243835182715451812682107171678854168719052472349063255802933657064146125986010696266391302156366374514758593980479862679816271884933212153317747566978672682645453317015105791710715635339299281500157221912236472869923190057745201 2097895262404215606459359641618123439292504560711139079844619680696003208128238917445305853636260498434804276752475208793649367130974246973827287160157783406022858475282409616576561338163238034452781854506081818290564616552668614648910747119782988654189285436152599790561326038622584117271342329501352734364219370223744184598739366943471808206011048732869858759970984246936370050059969989795912473398376390223321360511091037641662645030633186514129088423168805497473202377939483260502760046031634558648757694702667973271384459890967318471946779183334939788232607580061408763911421600611208161555153201004839672866258430756493761164961369100625984769972760319968323711695353157542173482372156645485816289778652418545321759415115911961996828723754825649337691910404712205264521886523383467361336602977481362313419192979841577011305979723802726964238970213831250867168649296529809518364581736705153060303323981212849517359372749073132770671665872026898203768637495074361140781383964182080029852461412641916599885090963533314662341880570618951252270164645772752216871346914541155982113979300644659288487711365577014801283168638109823857534660784707552943600437160968407786906105038853477396197360654467267411941486126634859083856631964307099335223847299269159559021408397390269886654930759766458303556038404816317441928851765466849929401110357986196501582953261802884058833977197926837974111711009447001535593569668599565661916929890494527980343321666125908803887546695756679023870500086794330378604873320848076852959951616504286553431179280078888762422682810465524227609439307380004479789188776571330741720427800310125222753507220476815702848616882616376067434337872606479492228680322690843459148734253738747617720582225255828014988070552057811280495154925675170870378665743913606290857200866380875267733794628122822663069212844383030962462439671596548879299034409762047542128253048062088942389088773096068476266116219022475266281002026421953164778934052169673276468615360696205828471521034459031826768217403537358284872905874086581552197176656052285153445054977578177158600808000320702761441608250203683332618533833138997774055228232424484021758799897910779157874129913470391949513513280759220513640562531336409448900905005806732843774683787816132874410141138784061903160917330251379004857866212311576986203637848754729506610905792038522255995082103749584582949642374175321755374691547414692648624463353160586413871325789470773757256449521762995779234754998070176308757943260833617068669828217538606145125452455777395213496398945045214136723180831804211268764745757888197241489097313495405636812604168067810371126277409842276244768752094988213953835082761286047453592538746789860256462630427489252550590726168656413088525956230739973356940916967071401416123139489769892726996325424808919286820190998024097395452981978142725209851183064322550915123 3394465839407400295081007368184640532282026045163738425053464242027695570442831533388745938334602814168368868525309870788185902986901710765435568433674680158522278760419036092990150845084311541041839829719296412426576857879227923792515408112004959884687329739102389547328902518723439540607723010655607884433817171001335277971963791981766715701217274130178917713817971676954293698240414296953980983831571670672214433335946469811307822860928513221762495278414271853851485372172564002547099643093483085194899912913519335324033336494608098864083127953032880232506906949261428784075800780888950150389790112870941194236962948759819928655086067581887747075049300595621791205989012405778468816512950206670127578202134645954626447781200960730447168659101427448174687065378122104724392529655410853692322705477039829074040855219595548764120970537767324853290252455894493836179612723251736408637178781692350528500374718255204504859665259626711454947664644018777060220208618060193570892881336340625947492156177023681616074834168374618814424020763048369139216562467469947266888063922005980311556818221601134580686778028389697590347830252442003988637871372208422249295302291714003506613136608834533846372520729711603530511276433129614954661536304320312436023194470687471036705017252174849418823392625441701155616245693211907684926131546082795419684034107822118174480925684256705020430753444211496806865850796891908724118666047042325803013393182069417713938275489279140514642691817107697013651816051449618741747811083698007130318956095963584441291542582064796236622647345711341512482154575230312803186141973324124204603422861059122537435309271317171260265818539625209404749320154093302142578963171064707695966196808635640094744401938212461126745613258126919297127358292957849404833181533460555416486266396531898546296435770671160304317160625364870906763305323591470494342542960772764537486661947464136587742088397436490729235199529985524294464616994771525733477606274357693294006188561833051928117491882110301638023739700341448105082678247532708548098020353411925021118625855632399845710550880554777614955923770409046512933142368843535255468669060611666752517615099371540121852797173794754341764235720139625051181859564815464762328381708247188547099711822945057704882858267849872005515037851794904018460863214398684879702885467273726426792009580057060557277720760616524698959702200646392179379123321022721324585803873250546511871839970441191467526699556174121343168315043387112612427996656894944333491257986832290142373763388972698856787003654423093739877327831391741373976410891410135917751076310178765526105644723511685643388685395086111427484203907670321125513936930005099925941602002592793913526776553475263246857117470812779463040714824720453219620733238956334628276457237336871399678970878125934392611901713659436694734482135364637446324052987512608660324 5492361101811615901540367009802763971574530605874877504898083922723698778571070450834051791970863312603173145277785079581835270117875957739262855593832463564545137235701445709566712183247549575494621684225378230717141474431896538441426155231787948538876615175254989337890228557346023657879065340156960618798036541225079462570703158925238523907228322863048776473788955923890663748300384286749893457229948060895535793847037507452970467891561699735891583701583077351324687750112047263049859689125117643843657607616187308595417796385575417336029907136367820020739514529322837547987222381500158311944943313875780867103221379516313689820047436682513731845022060915590114917684365563320642298885106852155943867980787064499948207196316872692443997382856253097512378975782834309988914416178794321053659308454521191387460048199437125775426950261570051817529222669725744703348262019781545927001760518397503588803698699468054022219038008699844225619330516045675263988846113134554711674265300522705977344617589665598215959925131907933476765901333667320391486727113242699483759410836547136293670797522245793869174489393966712391630998890551827846172532156915975192895739452682411293519241647688011242569881384178870942452762559764474038518168268627411771247041769956630595726425649565119305478323385208159459172284098028225126854983311549645349085144465808314676063878946059589079264730642138334780977561806338910259712235715641891464930323072563945694281597155405049318530238512864376037522316138243949120352684404546083983278907712467870994722721862143684999045330156176865740091593882610317282975330749895454946323850661369247760188816491793986963114435422241585472183658026699781634807643493755551155114931062374387712464984163468289141733683810184730577622513218633020275211847277374161707343467262912773814030230398793982967386373469747901869225744995188019373641577370534812079614914995526225530131177170532559205501315749007999560745619021193478898256540326527366570474803922529257756589012916569333464791957103878806389955584121619290100295197009464210174563680833210577004311358880875480376397532020612729845551676201982533029523897293036150774276414997282319279726927087265146291277749000898845564822422096151874211229286714053921390874395610761190579292999406633933908675955182046283023318729426710261865906523316028455933402915372095582813272802864366109281909344574821713934753814868437413973210267226411132925743165759911965224783149077937117122403070041457288921185939917728561402161086204370896287499215844750094070283402599468307876600508663195952642741156649298333159240173623674171162918248891579496014514962804928387672252956002658535079349019691291147379534140749382654169989406980964515797447843639469192551566671055460426576561650206027736044399596727106764126675296302934853679432092711683534090187464113507362656175236051835159575447 8886826941219016196621374377987404503856556651038615929951548164751394349013901984222797730305466126771542013803094950370021173104777668504698424027507143723067415996120481802556863028331861116536461513944674643143718332311124462233941563343792908423563944914357378885219131076069463198486788350812568503231853712226414740542666950907005239608445596993227694187606927600844957446540798583703874441061519731567750227182983977264278290752490212957654078979997349205176173122284611265596959332218600729038557520529706643919451132880183516200113035089400700253246421478584266332063023162389108462334733426746722061340184328276133618475133504264401478920071361511211906123673377969099111115398057058826071446182921710454574654977517833422891166041957680545687066041160956414713306945834205174745982013931561020461500903419032674539547920799337376670819475125620238539527874743033282335638939300089854117304073417723258527078703268326555680566995160064452324209054731194748282567146636863331924836773766689279832034759300282552291189922096715689530703289580712646750647474758553116605227615743846928449861267422356409981978829142993831834810403529124397442191041744396414800132378256522545088942402113890474472964038992894088993179704572947724207270236240644101632431442901739968724301716010649860614788529791240132811781114857632440768769178573630432850544804630316294099695484086349831587843412603230818983830901762684217267943716254633363408219872644684189833172930329972073051174132189693567862100495488244091113597863808431455436014264444208481235667977501888207252573748457840630086161472723219579150927273522428370297624125763111158223380253961866794876932978180793083777386606664820258851081127871010027807209386101680750268479297068311649874749871511590869680045028810834717123829733659444672360326666169465143271703534095112772775989050318779489867984120331307576617101576942990362117873265567969049934736515278993523855210236015965004631734146600885059864480992484362309684706504798679635102815696804220254495038262369151998648393217362876135195682306688842976850021909761430257991353455791021776358484818570826068284992566353647817526794030096653859401579724261059900633041984721038470616004281660967338973557668422301109937974107433706248284175857674483805914190993033841187041779592641108946745609408783302182360194924952152643370550523624982633980869046775468106114132938189460135297796071099661679437615005730353156692309848634111238465571385084844401533613936574623505735652344191203186429872979233722792927070406253891401616477836494587694016717567540708469076991249933852936689023893615091181657903648200014499099737159910328856204862956621296247305475742751975448083516183534439779044304961110281972014607385880180879796182383444984070672676053964443635526354267181060788072043994425342970784921946248872000102499289039347768235771 14379188043030632098161741387790168475431087256913493434849632087475093127584972435056849522276329439374715159080880029951856443222653626243961279621339607287612553231821927512123575211579410692031083198170052873860859806743021000675367718575580856962440560089612368223109359633415486856365853690969529122029890253451494203113370109832243763515673919856276470661395883524735621194841182870453767898291467792463286021030021484717248758644051912693545662681580426556500860872396658528646819021343718372882215128145893952514868929265758933536142942225768520273985936007907103880050245543889266774279676740622502928443405707792447308295180940946915210765093422426802021041357743532419753414283163910982015314163708774954522862173834706115335163424813933643199445016943790724702221362012999495799641322386082211848960951618469800314974871060907428488348697795345983242876136762814828262640699818487357706107772117191312549297741277026399906186325676110127588197900844329302994241411937386037902181391356354878047994684432190485767955823430383009922190016693955346234406885595100252898898413266092722319035756816323122373609828033545659680982935686040372635086781197078826093651619904210556331512283498069345415416801552658563031697872841575135978517278010600732228157868551305088029780039395858020073960813889268357938636098169182086117854323039438747526608683576375883178960214728488166368820974409569729243543137478326108732874039327197309102501469800089239151703168842836449088696448327937516982453179892790175096876771520899326430736986306352166234713307658065072992665342340450947369136803473115034097251124183797618057812942254905145186494689384108380349116636207492865412194250158575810006196058933384415519674370265149039410212980878496380452372384730223889955256876088208878831173200922357446174356896568259126239089907564860674645214795313967509241625697701842388696716491938516587648004442738501609140237831028001523415955855037158483529990686927412426434955796406891567441295517715248968567607653908099060884993846490771288748688414372340345370245987522053553854333268642305738367750987811634506204036494772808601314516463646683968301070445093936178681306651348325046924319733721937316180826703757119213184786955136355031328848503044467438863468857081117739822866948215887470065098322067819208611515932099330638293597840324248226183823326489348743262778391350289820048886753057897549271006338326072812363358171490265121917092997712048355587974455126301690454799876492352067137813430395574082717372195078472886997353808853359709493078345157783646659458724190006802236231423557527107851942142506670677672418611004942886771990115912987391284211976312587394685009883501358102253505590515404294841752804749751164566174056935641306372744033651011806717075650691550399653029563483995641751476087137026504875109410362379362758674525091182927811218 23266014984249648294783115765777572979287643907952109364801180252226487476598874419279647252581795566146257172883974980321877616327431294748659703648846751010679969227942409314680438239911271808567544712114727517004578139054145462909309281919373765386004505003969747108328490709484950054852642041782097625261743965677908943656037060739249003124119516849504164849002811125580578641381981454157642339352987524031036248213005461981527049396542125651199741661577775761677033994681269794243778353562319101920772648675600596434320062145942449736255977315169220527232357486491370212113268706278375236614410167369224989783590036068580926770314445211316689685164783938013927165031121501518864529681220969808086760346630485409097517151352539538226329466771614188886511058104747139415528307847204670545623336317643232310461855037502474854522791860244805159168172920966221782404011505848110598279639118577211823411845534914571076376444545352955586753320836174579912406955575524051276808558574249369827018165123044157880029443732473038059145745527098699452893306274667992985054360353653369504126029009939650768897024238679532355588657176539491515793339215164770077277822941475240893783998160733101420454685611959819888380840545552652024877577414522860185787514251244833860589311453045056754081755406507880688749343680508490750417213026814526886623501613069180377153488206692177278655698814837997956664387012800548227374039241010326000817755581830672510721342444773428984876099172808522139870580517631084844553675381034266210474635329330781866751250750560647470381285159953280245239090798291577455298276196334613248178397706225988355437068018016303409874943345975175226049614388285949189580856823396068857277186804394443326883756366829789678692277946808030327122256241814759635301904899043595955002934581802118534683562737724269510793441659973447421203845632746999109609818033149965313818068881506949765877708306470659074974346306995047271166091053123488161724833528297486299436788891253877126002022513928603670423350712319315380032108859923287397081631735216480565928294210896530704355178403735996359104443602656282562521313343634669599509030000331785827864475190590038082886375609384947557361718442975786796830985418086552158344623558656141266822610478173687147644714755601545737057941249728657106877914708928155357125340882632820653792765276400869554373850114331377243647438125757926163019691247357684568802409425734491800973177220618278609402846346159594053545840211146091988413813066975572873465774586777269147245174312195679924424215107251111109556181652371340676176291730715271313222673491380044540966036121761859330322259204957385871727275823316247489074932933883641990485626253333550337021774049844073886057765860033136580781442815822186168926417095995877389751704655994035179383830665056429823520081562369475660031356611251362861173814130530696046989 37645203027280280392944857153567741454718731164865602799650812339701580604183846854336496774858125005520972331964855010273734059550084920992620983270186358298292522459764336826804013451490682500598627910284780390865437945797166463584677000494954622348445065093582115331437850342900436911218495732751626747291634219129403146769407170571492766639793436705780635510398694650316199836223164324611410237644455316494322269243026946698775808040594038344745404343158202318177894867077928322890597374906037474802987776821494548949188991411701383272398919540937740801218293494398474092163514250167642010894086907991727918226995743861028235065495386158231900450258206364815948206388865033938617943964384880790102074510339260363620379325187245653561492891585547832085956075048537864117749669860204166345264658703725444159422806655972275169497662921152233647516870716312205025280148268662938860920338937064569529519617652105883625674185822379355492939646512284707500604856419853354271049970511635407729199556479399035928024128164663523827101568957481709375083322968623339219461245948753622403024442276032373087932781055002654729198485210085151196776274901205142712364604138554066987435618064943657751966969110029165303797642098211215056575450256097996164304792261845566088747180004350144783861794802365900762710157569776848689053311195996613004477824652507927903762171783068060457615913543326164325485361422370277470917176719336434733691794909027981613222812244862668136579268015644971228567028845568601827006855273824441307351406850230108297488237056912813705094592818018353237904433138742524824435079669449647345429521890023606413250010272921448596369632730083555575166250595778814601775106981971878863473245737778858846558126631978829088905258825304410779494640972038649590558780987252474786176135504159564709040459305983395749883349224834122066418640946714508351235515734992354010534560820023537413882151044972268215212177334996570687121946090281971691715520455709912734392585298145444567297540229177572238031004620418376265025955350694576145770046107556825936174281732950084558688447046041734726855431414290788766557808116443270914025493647015754128934920284526216764193026957709994481681452164913102977657689175205765343131578695011172595671113522641126011113571836719285559924889465616127171976236776747363968641272981963458947390605600649095738197176603680120506425829476047746211906444305255233839808747751807304164331348710883400526495844058207949641520295337447782443213689559327640011279204982351351864617369390668566921778023960610820602634526810154987335635015920722073549454097048907152392908178628432537002740870209900272643717391736303638773286909246471036675495509754691652590527364565248368727810570609784301146955499751463492541670450747007684106827355347544434832413394149052071574996168699395980535140766973630725619848339221713623858207 60911218011529928687727972919345314434006375072817712164451992591928068080782721273616144027439920571667229504848829990595611675877516215741280686919033109308972491687706746141484451691401954309166172622399507907870016084851311926493986282414328387734449570097551862439766341052385386966071137774533724372553378184807312090425444231310741769763912953555284800359401505775896778477605145778769052576997442840525358517456032408680302857437136163995945146004735978079854928861759198117134375728468356576723760425497095145383509053557643833008654896856106961328450650980889844304276782956446017247508497075360952908010585779929609161835809831369548590135422990302829875371419986535457482473645605850598188834856969745772717896476539785191787822358357162020972467133153285003533277977707408836890887995021368676469884661693474750024020454781397038806685043637278426807684159774511049459199978055641781352931463187020454702050630367732311079692967348459287413011811995377405547858529085884777556217721602443193808053571897136561886247314484580408827976629243291332204515606302406991907150471285972023856829805293682187084787142386624642712569614116369912789642427080029307881219616225676759172421654721988985192178482643763867081453027670620856350092306513090399949336491457395201537943550208873781451459501250285339439470524222811139891101326265577108280915659989760237736271612358164162282149748435170825698291215960346760734509550490858654123944154689636097121455367188453493368437609363199686671560530654858707517826042179560890164239487807473461175475877977971633483143523937034102279733355865784260593607919596249594768687078290937752006244576076058730801215864984064763791355963805367947720750432542173302173441882998808618767597536772112441106616897213853409225860685886296070741179070085961683243724022043707665260676790884807569487622486579461507460845333768142319324352629701530487179759859351442927290186523641991617958288037143405459853440353984007399033829374189399321693299562743106175908454355332737691645058064210617863542851677842773306502102575943846615263043625449777731085959875016947071329079121460077940513534523647347539956799395475116254847079402567094942039043170607888889774488674593292317501476202253667313862493724000814813158758286592320831296982830715344784278854151485675519325766613864596279601183370877049965292571026718011497750073267601805672374926135552612918408611157177541795965304525931501679135898690404367543695066135548593874431627502626303212884744979569128621011862543702864246846202239067861931712190708462526328011811307651437344862676770540287196933874214750194396333063129414857658515444667559619886262361842180354678665981136008025202927549138615092442613868336469817437727736942567285678710596867843003561496579060003538470011797224814108501398516250261765456195172123584882088481022153352244319905196 98556421038810209080672830072913055888725106237683314964102804931629648684966568127952640802298045577188201836813685000869345735427601136733901670189219467607265014147471082968288465142892636809764800532684288298735454030648478390078663282909283010082894635191133977771204191395285823877289633507285351119845012403936715237194851401882234536403706390261065435869800200426212978313828310103380462814641898157019680786699059355379078665477730202340690550347894180398032823728837126440024973103374394051526748202318589694332698044969345216281053816397044702129668944475288318396440297206613659258402583983352680826237581523790637396901305217527780490585681196667645823577808851569396100417609990731388290909367309006136338275801727030845349315249942709853058423208201822867651027647567613003236152653725094120629307468349447025193518117702549272454201914353590631832964308043173988320120316992706350882451080839126338327724816190111666572632613860743994913616668415230759818908499597520185285417278081842229736077700061800085713348883442062118203059952211914671423976852251160614310174913562004396944762586348684841813985627596709793909345889017575055502007031218583374868655234290620416924388623832018150495976124741975082138028477926718852514397098774935966038083671461745346321805345011239682214169658820062188128523835418807752895579150918085036184677831772828298193887525901490326607635109857541103169208392679683195468201345399886635737166966934498765258034635204098464597004638208768288498567385928683148825177449029790998461727724864386274880570470795989986721047957075776627104168435535233907939037441486273201181937088563859200602614208806142286376382115579843578393131070787339826584223678279952161020000009630787447856502795597416851886111538185892058816419466873548545527355205590121247952764481349691061010560140109641691554041127526176015812080849503134673334887190521554024593642010396415195505398700976988188645409983233687431545155874439717311768221959487544766260597102972283748146485359953156067910084019561312439688621723950330132438276857676796699821732072495819465812815306431237860095636929576521211427560017294363294085734315759642471611272429524804936520724622772801992752146363768498082844607780948678486458164837523455939169871858429040116856907720180960911450830388262422883294407886846559738548573976477699061030768203321691618256499097077853418586832579857868152248419904929349100129635874642385079662394534462575493336586430886041656874841192185630852896024184551479972876479913093532813767980263028472752314825235272681315347446323572159418412130867589194349326782393378626933335803999624757931159162059295923525035648751426825715341476645762716855518076503180340811341678907079601738874692442318749171252267318590011245603406415351082904844210618963160572973512418961161436730312890558512814100870492573957943763403 159467639050340137768400802992258370322731481310501027128554797523557716765749289401568784829737966148855431341662514991464957411305117352475182357108252576916237505835177829109772916834294591118930973155083796206605470115499790316572649565323611397817344205288685840210970532447671210843360771281819075492398390588744027327620295633192976306167619343816350236229201706202109756791433455882149515391639340997545039304155091764059381522914866366336635696352630158477887752590596324557159348831842750628250508627815684839716207098526989049289708713253151663458119595456178162700717080163059676505911081058713633734248167303720246558737115048897329080721104186970475698949228838104853582891255596581986479744224278751909056172278266816037137137608299871874030890341355107871184305625275021840127040648746462797099192130042921775217538572483946311260886957990869058640648467817685037779320295048348132235382544026146793029775446557843977652325581209203282326628480410608165366767028683404962841634999684285423544131271958936647599596197926642527031036581455206003628492458553567606217325384847976420801592391642367028898772769983334436621915503133944968291649458298612682749874850516297176096810278554007135688154607385738949219481505597339708864489405288026365987420162919140547859748895220113463665629160070347527567994359641618892786680477183662144465593491762588535930159138259654488889784858292711928867499608640029956202710895890745289861111121624134862379490002392551957965442247571967975170127916583541856343003491209351888625967212671859736056046348773961620204191481012810729383901791401018168532645361082522795950624166854796952608858784882201017177597980563908342184487034592707774304974110822125463193441892629596066624100332369529292992728435399745468042280152759844616268534275676082931196488503393398726271236930994449261041663614105637523272926183271276992659239820223084511773401869747858122795585224618979806603698020377092891398596228423724710802051333676944087953896665715389924054939715285893759555142083771930303231473401793103438940379433620643315084775697945597196898775181448184931424716051036599151941094540941710834042533711234758726458351832091899878559767793380690882526635038361790400346083983202345800320658561524270752328630145021360948153890550896305695729684539748098402620174500711156018149757347354749026323339230039703116006572364679659090961758715410481070657031062106890896094940400573886758798293224866943037031652566434635531306468694811934065780769164120608593888342456796397060614182502096334684027015943735207643359257631223596763274807638129481546260656608128821329668867129039615589674606726855543411298010593607180394007457781770742058445625641795433253955547243549419176602429384886034849962864186433014807099985475354621374856007843777269074372028669222926892925485014143394902581892645926202263668599 258024060089150346849073633065171426211456587548184342092657602455187365450715857529521425632036011726043633178476199992334303146732718489209084027297472044523502519982648912078061381977187227928695773687768084505340924146148268706651312848232894407900238840479819817982174723842957034720650404789104426612243402992680742564815147035075210842571325734077415672099001906628322735105261765985529978206281239154564720090854151119438460188392596568677326246700524338875920576319433450997184321935217144679777256830134274534048905143496334265570762529650196365587788539931466481097157377369673335764313665042066314560485748827510883955638420266425109571306785383638121522527037689674249683308865587313374770653591587758045394448079993846882486452858242581727089313549556930738835333272842634843363193302471556917728499598392368800411056690186495583715088872344459690473612775860859026099440612041054483117833624865273131357500262747955644224958195069947277240245148825838925185675528280925148127052277766127653280208972020736733312945081368704645234096533667120675052469310804728220527500298409980817746354977991051870712758397580044230531261392151520023793656489517196057618530084806917593021198902386025286184130732127714031357509983524058561378886504062962332025503834380885894181554240231353145879798818890409715696518195060426645682259628101747180650271323535416834124046664161144815497419968150253032036708001319713151670912241290631925598278088558633627637524637596650422562446885780736263668695302512225005168180940239142887087694937536246010936616819569951606925239438088587356488070226936252076471682802568795997132561255418656153211472993688343303553980096143751920577618105380047600889197789102077624213441902260383514480603127966946144878839973585637526858699619633393161795889481266204179149252984743089787281797071104090952595704741631813539085007032774411665994127010744638536367043880144273318300983925595967995249108003610780322943752102863442022570273293164488854214493768687673672201425075239049827465226103333242742920095125743433571378656291297440014906507770441416662711590487879422791520352980613120363368654558236074128128268026994401198069624261616704815080492416153492875278781402130288483190691764151024286778823399047726691498502003450401065010798271077266607180514928010521285914582387557715756698331323832448087354107433361394734263071461757512509548591295268349222905450967036239996224576275216271838460687759329518530368238997320677188181309886997564918676793348672088566764822369889929874382162765124807436341841179007888958706703954795756181686938505718675895587439001507448263004671128664373520833768786151466936333659345034006109348934427533458913963702144975774065297226150629020915477121827204784021215131505023026052703391890705704279700218462740429647345541088184088329655797904701907716682763138500160207432002 417491699139490484617474436057429796534188068858685369221212399978745082216465146931090210461773977874899064520138714983799260558037835841684266384405724621439740025817826741187834298811481819047626746842851880711946394261648059023223962413556505805717583045768505658193145256290628245564011176070923502104641793581424769892435442668268187148738945077893765908328203612830432491896695221867679493597920580152109759395009242883497841711307462935013961943053154497353808328910029775554343670767059895308027765457949959373765112242023323314860471242903348029045908135387644643797874457532733012270224746100779948294733916131231130514375535315322438652027889570608597221476266527779103266200121183895361250397815866509954450620358260662919623590466542453601120203890912038610019638898117656683490233951218019714827691728435290575628595262670441894975975830335328749114261243678544063878760907089402615353216168891419924387275709305799621877283776279150559566873629236447090552442556964330110968687277450413076824340243979673380912541279295347172265133115122326678680961769358295826744825683257957238547947369633418899611531167563378667153176895285464992085305947815808740368404935323214769118009180940032421872285339513452980576991489121398270243375909350988698012923997300026442041303135451466609545427978960757243264512554702045538468940105285409325115864815298005370054205802420799304387204826442964960904207609959743107873623137181377215459389210182768490017014639989202380527889133352704238838823219095766861511184431448494775713662150208105746992663168343913227129430919101398085871972018337270245004328163651318793083185422273453105820331778570544320731578076707660262762105139972755375194171899924203087406883794889979581104703460336475437871568408985382994900979772393237778064423756942287110345741488136488513553034002098540213637368355737451062357933216045688658653366830967723048140445749892131441096569150214947801852806023987873214342348331287166733372324626841432942168390434403063596256364790524943587020368187105173046151568527536537010319035724918083329991283468387013859610365669327607722945069031649719515309749099177784962170801738229159924527976093708604693640260209534183757805416440492078883536775747353370087099481960571997443827132148471762013164688821973572302910199467758619688534756888268871774848088671187197113677446663401097850269643826437171600510350010678830293562482029143130892319516675790158597258980984196461567399891563755312719487778581809498984457562512792697160653164826686326934996345267221142120368857122743096602065961586019352944961746143848157441848095609636269592673538257703989110508375513007010347631669938641186503356392209304200972409327786771207319252773394178440092079551212090818871177995691456040859803377366060325654556226306517698721717569757407015222581282918845302619264655784426362471100601 675515759228640831466548069122601222745644656406869711313870002433932447667181004460611636093809989600942697698614914976133563704770554330893350411703196665963242545800475653265895680788669046976322520530619965217287318407796327729875275261789400213617821886248325476175319980133585280284661580860027928716885196574105512457250589703343397991310270811971181580427205519458755227001956987853209471804201819306674479485863394002936301899700059503691288189753678836229728905229463226551527992702277039987805022288084233907814017385519657580431233772553544394633696675319111124895031834902406348034538411142846262855219664958742014470013955581747548223334674954246718744003304217453352949508986771208736021051407454267999845068438254509802110043324785035328209517440468969348854972170960291526853427253689576632556191326827659376039651952856937478691064702679788439587874019539403089978201519130457098471049793756693055744775972053755266102241971349097836807118778062286015738118085245255259095739555216540730104549216000410114225486360664051817499229648789447353733431080163024047272325981667938056294302347624470770324289565143422897684438287436985015878962437333004797986935020130132362139208083326057708056416071641167011934501472645456831622262413413951030038427831680912336222857375682819755425226797851166958961030749762472184151199733387156505766136138833422204178252466581944119884624794593217992940915611279456259544535378472009141057667298741402117654539277585852803090336019133440502507518521607991866679365371687637662801357087744351757929279987913864834054670357189985442360042245273522321476010966220114790215746677692109259031804772258887624285558172851412183339723245352802976083369689026280711620325697150363095585306588303421582750408382571020521759679392026630939860313238208491289494994472879578300834831073202631166233073097369264601442940248820100324647493841712361584507489630036404759397553075810915797101914027598653537286100434150608755942597920005921796382884203090737268457789865763993414485594290438415789071663653279970581697692016215523344897791238828430522321956157207030514465422012262839878678403657413859090299069765223561122597600355325309508720752625687676633084197842622367366727467511504394373878305359619724135325634151922163078175487093050838910090714395769140974449339275826587531546419995019645201031554096762492584532715288194684110058941305947179516467932996179370888544092951006430435719668743525980097768130561075989907669088468807063903134355861464785727417987196576256809378508032345949556710698301750985560772665540815109126648684649566833337435534611143717855678209386368362631342144299158477283965329283675192612705326636837659886373029931746981384549999544807461007556673039295602892393127196479066912506769256766029934256444769258128369063110845591103552237080823547210335947418922926522678532603 1093007458368131316084022505180031019279832725265555080535082402412677529883646151391701846555583967475841762218753629959932824262808390172577616796108921287402982571618302394453729979600150866023949267373471845929233712669444386753099237675345906019335404932016831134368465236424213525848672756930951430821526990155530282349686032371611585140049215889864947488755409132289187718898652209720888965402122399458784238880872636886434143611007522438705250132806833333583537234139493002105871663469336935295832787746034193281579129627542980895291705015456892423679604810706755768692906292435139360304763157243626211149953581089973144984389490897069986875362564524855315965479570745232456215709107955104097271449223320777954295688796515172721733633791327488929329721331381007958874611069077948210343661204907596347383883055262949951668247215527379373667040533015117188702135263217947153856962426219859713824265962648112980132051681359554887979525747628248396373992407298733106290560642209585370064426832666953806928889459980083495138027639959398989764362763911774032414392849521319874017151664925895294842249717257889669935820732706801564837615182722450007964268385148813538355339955453347131257217264266090129928701411154619992511492961766855101865638322764939728051351828980938778264160511134286364970654776811924202225543304464517722620139838672565830882000954131427574232458269002743424271829621036182953845123221239199367418158515653386356517056508924170607671553917575055183618225152486144741346341740703758728190549803136132438515019237952457504921943156257778061184101276291383528232014263610792566480339129871433583298932099965562364852136550829431945017136249559072446101828385325558351277541588950483799027209492040342676690010048639897020621976791556403516660659164419868717924736995150778399840735961016066814387865075301171379870441453106715663800873464865788983300860672680084632647935379928536200494122226025863598954720051586526751628448765437775489314922546847354738551274637493800864714154656288937001505962477543588835223232180816507592016727741133606674889074707215444381932321826534638237410491043912559393988152756591644052469871503452721047125576449033914202361012835221860390889614283114446250264243258857764460977787320191721579152766300393925091340175915024411213000913863527760662984096164095459306394508666206842314709000760163590434802359114631855710569291316626009810030415025322501780863609626796589032978649727722441665168022124831302627156867050616562887591918374257482888071152023262583744374853299567091677079555424494082162838627126834462071610430793414990779283630220779987448351747644072351741850519812165487631596999222316379116061718846141860858782357718518188703802772938985901099636224251386421763571122887935107772310146622826355588812671075775827090780680602998118774818363742392512955212074707352885149633204 1768523217596772147550570574302632242025477381672424791848952404846609977550827155852313482649393957076784459917368544936066387967578944503470967207812117953366225117418778047719625660388819913000271787904091811146521031077240714482974512937135306232953226818265156610543785216557798806133334337790979359538412186729635794806936622074954983131359486701836129069182614651747942945900609197574098437206324218765458718366736030889370445510707581942396538322560512169813266139368956228657399656171613975283637810034118427189393147013062638475722938788010436818313301486025866893587938127337545708339301568386472474005173246048715159454403446478817535098697239479102034709482874962685809165218094726312833292500630775045954140757234769682523843677116112524257539238771849977307729583240038239737197088458597172979940074382090609327707899168384316852358105235694905628290009282757350243835163945350316812295315756404806035876827653413310154081767718977346233181111185361019122028678727454840629160166387883494537033438675980493609363514000623450807263592412701221386147823929684343921289477646593833351136552064882360440260110297850224462522053470159435023843230822481818336342274975583479493396425347592147837985117482795787004445994434412311933487900736178890758089779660661851114487017886817106120395881574663091161186574054226989906771339572059722336648137092964849778410710735584687544156454415629400946786038832518655626962693894125395497574723807665572725326093195160907986708561171619585243853860262311750594869915174823770101316376325696809262851223144171642895238771633481368970592056508884314887956350096091548373514678777657671623883941323088319569302694422410484629441551630678361327360911277976764510647535189190705772275316636943318603372385174127424038420338556446499657785050233359269689335730433895645115222696148503802546103514550475980265243813713685889307948354514392446217155425009964940959891675301836779396056634079185180288914549199588384245257520466853276534934158840584538133171944522052930415991556767982004624294895834096478173714419757349130019786865946043874904254277983741668751875913056175399272666556414005503142768941268676282169723176804359223711081765460909537023973812125736813616991710770362158834856092679811445714478400452316088169515663008075250123091628259296901637433435439922046837940928661226487515740554856926083019335074402826539820628232622573189326498348021501872669407702577803019468698318471248421762936152685907292534825955519423626790726274235722268615489139219838840553753361331913041233790253726245067723611292667649571198259115442981824116719164831923705304029957030440714373192664111323964915562328505991571728767045482979520745155387650265170088352772483793362107192897290682024655964250084414174684816915879592385523069115845033955459843791448589222327055444565939723291159493630279407828165807 2861530675964903463634593079482663261305310106937979872384034807259287507434473307244015329204977924552626222136122174895999212230387334676048584003921039240769207689037080442173355639988970779024221055277563657075754743746685101236073750612481212252288631750281987744912250452982012331982007094721930790359939176885166077156622654446566568271408702591701076557938023784037130664799261407294987402608446618224242957247608667775804589121715104381101788455367345503396803373508449230763271319640950910579470597780152620470972276640605619371014643803467329241992906296732622662280844419772685068644064725630098685155126827138688304438792937375887521974059804003957350674962445707918265380927202681416930563949854095823908436446031284855245577310907440013186868960103230985266604194309116187947540749663504769327323957437353559279376146383911696226025145768710022816992144545975297397692126371570176526119581719052919016008879334772865042061293466605594629555103592659752228319239369664425999224593220550448343962328135960577104501541640582849797027955176612995418562216779205663795306629311519728645978801782140250110195931030557026027359668652881885031807499207630631874697614931036826624653642611858237967913818893950406996957487396179167035353539058943830486141131489642789892751178397951392485366536351475015363412117358691507629391479410732288167530138047096277352643169004587430968428284036665583900631162053757854994380852409778781854091780316589743332997647112735963170326786324105729985200202003015509323060464977959902539831395563649266767773166300429420956422872909772752498824070772495107454436689225962981956813610877623233988736077873917751514319830671969557075543380016003919678638452866927248309674744681231048448965326685583215623994361965683827555080997720866368375709787228510048089176466394911711929610561223804973925973956003582695929044687178551678291249215187072530849803360389893477160385797527862642995011354130771707040542997965026159734572443013700631273485433478078338997886099178341867417497519245525593459518128014912985765731147498482736694675940653259319286186599810276306989286404100087958666654709170597147195238812772129003216848753253393137913442778296131397414863426408851259867255954029219923295833880000003167293631166752710013260855838923099661336092542122824662300417531604017506144335437327433329830449555617089673454137433517458395531197523939199199136528763046824374450271312204599608501676968198970863428104174810738595161982822570040189678318192609979751503560291243101424298128214631480132910869809150739149886449919794484033269869546236396814896002795052703692752381704674513066115043183923489452547159327728307950844828764329121381603937745368783358792155545422779263206829121542068446419535372972349282457127062502418741111881786920809782550624472051587341101873808308332236246371568337632292977799011 4630053893561675611185163653785295503330787488610404664232987212105897484985300463096328811854371881629410682053490719832065600197966279179519551211733157194135432806455858489892981300377790692024492843181655468222275774823925815719048263549616518485241858568547144355456035669539811138115341432512910149898351363614801871963559276521521551402768189293537205627120638435785073610699870604869085839814770836989701675614344698665175034632422686323498326777927857673210069512877405459420670975812564885863108407814271047660365423653668257846737582591477766060306207782758489555868782547110230776983366294016571159160300073187403463893196383854705057072757043483059385384445320670604074546145297407729763856450484870869862577203266054537769420988023552537444408198875080962574333777549154427684737838122101942307264031819444168607084045552296013078383251004404928445282153828732647641527290316920493338414897475457725051885706988186175196143061185582940862736214778020771350347918097119266628384759608433942880995766811941070713865055641206300604291547589314216804710040708890007716596106958113561997115353847022610550456041328407250489881722123041320055650730030112450211039889906620306118050067959450385805898936376746194001403481830591478968841439795122721244230911150304641007238196284768498605762417926138106524598691412918497536162818982792010504178275140061127131053879740172118512584738452294984847417200886276510621343546303904177351666504124255316058323740307896871157035347495725315229054062265327259917930380152783672641147771889346076030624389444601063851661644543254121469416127281379422342393039322054530330328289655280905612620019197006071083622525094380041704984931646682281005999364144904012820322279870421754221240643322526534227366747139811251593501336277312868033494837461869317778512196828807357044833257372308776472077470554058676194288500892237567599197569701464977066958785399858418120277472829699422391067988209956887329457547164614543979829963480553907808419592318662877131058043700394797833489076013507598083813023849009463939445567255831866714462806599303194190440877794017975741162317156263357939321265584602650338007754040805285386571930057752361624524543757040934438837238534588073484247664799582082130689972679814613008109567205026101430371501931174911459184170382121563937850967043939552982276365988659817346190110474015756473472507920284935351825756561772388463027111068326247119679014782402627970375286670219285191040327496645887696808778089463816469044466845702020119049430462940264851881575963393174144660062876984217610061212462133604468128661679378639012721959884627398056411661704953780488235848034813417462721656234299522573595809812100902349093133019048528880508317906572625314022018832750471075499623056763457141943978382011126634950902765843738010468263500176563428929252874271959537531061967911700805964818 7491584569526579074819756733267958764636097595548384536617022019365184992419773770340344141059349806182036904189612894728064812428353613855568135215654196434904640495492938932066336940366761471048713898459219125298030518570610916955122014162097730737530490318829132100368286122521823470097348527234840940258290540499967949120181930968088119674176891885238282185058662219822204275499132012164073242423217455213944632861953366440979623754137790704600115233295203176606872886385854690183942295453515796442579005594423668131337700294273877217752226394945095302299114079491112218149626966882915845627431019646669844315426900326091768331989321230592579046816847487016736059407766378522339927072500089146694420400338966693771013649297339393014998298930992550631277158978311947840937971858270615632278587785606711634587989256797727886460191936207709304408396773114951262274298374707945039219416688490669864534479194510644067894586322959040238204354652188535492291318370680523578667157466783692627609352828984391224958094947901647818366597281789150401319502765927212223272257488095671511902736269633290643094155629162860660651972358964276517241390775923205087458229237743082085737504837657132742703710571308623773812755270696600998360969226770646004194978854066551730372042639947430899989374682719891091128954277613121888010808771610005165554298393524298671708413187157404483697048744759549481013022488960568748048362940034365615724398713682959205758284440845059391321387420632834327362133819831045214254264268342769240990845130743575180979167452995342798397555745030484808084517453026873968240198053874529796829728548017512287141900532904139601356097070923822597942355766349598780528311662686200684637817011831261129997024551652802670205970008109749851361109105495079148582333998179236409204624690379365867688663223719068974443818596113750398051426557641372123333188070789245890446784888537507916762145789751895280663270357562065386079342340728594370000545129640703714402406494254539081905025796741216128944142878736665250986595259033191543331151863922449705176714754314603409138747252562513476627477604294282730448721256351316605975974755199797533246566812934288603420683311145499537967322053172331853700664943439333351503618828802005426523852679817780301740733957736114691227340854274572795276712504946226238268498647957059126611803316093147176639666091105429927609941437743330883023280500971587599555874115150621569950326987002236472052254869190148619144502307384482858791600659504006147362659455681771622609721706041689150009790594873307055529872027723367496511132256617637737998207915775453908724754937331090808793366379466846603279031958302870009880983962607473418424574141222283953030878387831887672663863329351888520851140374818917495034996029112739599071040884429867746832689686653520561092735551763904530803061182604195783902630305543993783763829 12121638463088254686004920387053254267966885084158789200850009231471082477405074233436672952913721687811447586243103614560130412626319893035087686427387353629040073301948797421959318240744552163073206741640874593520306293394536732674170277711714249222772348887376276455824321792061634608212689959747751090156641904114769821083741207489609671076945081178775487812179300655607277886199002617033159082237988292203646308476298065106154658386560477028098442011223060849816942399263260149604613271266080682305687413408694715791703123947942135064489808986422861362605321862249601774018409513993146622610797313663241003475726973513495232225185705085297636119573890970076121443853087049126414473217797496876458276850823837563633590852563393930784419286954545088075685357853392910415271749407425043317016425907708653941852021076241896493544237488503722382791647777519879707556452203440592680746707005411163202949376669968369119780293311145215434347415837771476355027533148701294929015075563902959255994112437418334105953861759842718532231652922995451005611050355241429027982298196985679228498843227746852640209509476185471211108013687371527007123112898964525143108959267855532296777394744277438860753778530759009579711691647442794999764451057362124973036418649189272974602953790252071907227570967488389696891372203751228412609500184528502701717117376316309175886688327218531614750928484931667993597760941255553595465563826310876237067945017587136557424788565100375449645127728529705484397481315556360443308326533670029158921225283527247822126939342341418829021945189631548659746161996280995437656325335253952139222767870072042617470190188185045213976116267929893681564880860729640485513243309368481690637181156735273950319304422074556891446613330636284078727856245306330742083670275492104442699462152248683646200860052526426019277075968422526870128897111700048317621688963026813489644354590002484983720931189610313400940743187261487777147330550685481699458092294255247694232369974808446890324618115404093260002186579131463084475671272540789627144175712931913644622282010146470123601553851865707667068355398312258471611038412614674545297240339802447871254320853739573989992613368897861162491865810213266292537903478027406835751283628384087557213825359632393309850301162762216121598842785449484254460882887067790176119465691896612108888169304752964522829776565121186401082449358028266234849037062743976062582985183476868689629341769404864442427541539409433810184829804030370555600378748967822616407126301383791741659152168981954001891366558266481200189934904707585106572344718751242206126869595154092921446714821958488865205028084420627091514879993116287472602640196906995992020383953323186302124011406880416553172181235924513834873159207569388570534619085876196741015019266440994381783592452497258571560999051940467959732314056876155321433692273455694589728647 19613223032614833760824677120321213032602982679707173737467031250836267469824848003777017093973071493993484490432716509288195225054673506890655821643041550063944713797441736354025655181111313634121920640100093718818336811965147649629292291873811979960302839206205408556192607914583458078310038486982592030414932444614737770203923138457697790751121973064013769997237962875429482161698134629197232324661205747417590941338251431547134282140698267732698557244518264026423815285649114839788555566719596478748266419003118383923040824242216012282242035381367956664904435941740713992168036480876062468238228333309910847791153873839587000557175026315890215166390738457092857503260853427648754400290297586023152697251162804257404604501860733323799417585885537638706962516831704858256209721265695658949295013693315365576440010333039624380004429424711431687200044550634830969830750578148537719966123693901833067483855864479013187674879634104255672551770489960011847318851519381818507682233030686651883603465266402725330911956707744366350598250204784601406930553121168641251254555685081350740401579497380143283303665105348331871759986046335803524364503674887730230567188505598614382514899581934571603457489102067633353524446918139395998125420284132770977231397503255824704974996430199502807216945650208280788020326481364350300620308956138507867271415769840607847595101514375936098447977229691217474610783430216122343513926766345241852792343731270095763183073005945434840966515149162539811759615135387405657562590802012798399912070414270823003106106795336761627419500934662033467830679449307869405896523389128481936052496418089554904612090721089184815332213338853716279507236627079239266041554972054682375274998168566535080316328973727359561652583338746033930088965350801409890666004273671340851904086842628049513889523276245494993720894564536277268180323669341420440954877033816059380091139478539992900483076979362208681604013544823553163226672891414076069458637423895951408634776469062985972229643912145309388946329457868128335462266531573981170475327576854363349798996764461073532740301104428221143695833002606541202059759668965991151273215095002245404500887666673862593413296680043360700459187863385598146238568421466740187254902457186092983737678039450173611591035120498330812826183639724057049737595392014016414387964339853671235499972620846111699469442656226616328692390795771597117872317563715563662138859298627490259579668756407100914479796408599582429329332111414853414391979408471828763769785757065563364268873875023643151901157153139788255719806932430952603083476975368879944125077510929546830171469759289579673998394463887473694793911951419157482483624159514469410444958094545470255154889794712304225836044565276402355724299582388306065569615114988936340086060150870862128616282139150779132653734603704372490535375239480351105336322578999688373492476 31734861495703088446829597507374467300569867763865962938317040482307349947229922237213690046886793181804932076675820123848325637680993399925743508070428903692984787099390533775984973421855865797195127381740968312338643105359684382303462569585526229183075188093581685012016929706645092686522728446730343120571574348729507591287664345947307461828067054242789257809417263531036760047897137246230391406899194039621237249814549496653288940527258744760796999255741324876240757684912374989393168837985677161053953832411813099714743948190158147346731844367790818027509757803990315766186445994869209090849025646973151851266880847353082232782360731401187851285964629427168978947113940476775168873508095082899610974101986641821038195354424127254583836872840082726782647874685097768671481470673120702266311439601024019518292031409281520873548666913215154069991692328154710677387202781589130400712830699312996270433232534447382307455172945249471106899186327731488202346384668083113436697308594589611139597577703821059436865818467587084882829903127780052412541603476410070279236853882067029968900422725126995923513174581533803082867999733707330531487616573852255373676147773454146679292294326212010464211267632826642933236138565582190997889871341494895950267816152445097679577950220451574714444516617696670484911698685115578713229809140667010568988533146156917023481789841594467713198905714622885468208544371471675938979490592656118089860288748857232320607861571045810290611642877692245296157096450943766100870917335682827558833295697798070825233046137678180456441446124293582127576841445588864843552848724382434075275264288161597522082280909274230029308329606783609961072117487808879751554798281423164065912179325301809030635633395801916453099196669382318008816821596107740632749674549163445294603548994876733160090383328771921012997970532958804138309220781041468758576565996842872869735494068542477884204008168972522082544756732085040940374003442099557768916729718151199102867146443871432862554262027549402648948516036999591419937937804114770797619503289786276994421278774607543656341854956293928810764188400918799673670798081580665696570455434804693275755208520413436583405910048941221862951053673598864438776471899494147023006186085570180540951503399082566921441336283260546934425026425173541304198478279081806590507430031750283344388141925599076222299219221347802729774840153799863352721354626459539724721844482104358949209010525811965356907337948009016239514161915445223969992358157439651380176912058449355105928026044005597153792523711406269455909741837138537709655821694120122150251947106083639751618184581248068539203422548308100786308791944535444955086264356421465402465342047868656557278901201592720779008225801200916190597458789957694636104234200865133081101079417311856510399874591648037704214733655644840450267689296356506426770014852455382963221123 51348084528317922207654274627695680333172850443573136675784071733143617417054770240990707140859864675798416567108536633136520862735666906816399329713470453756929500896832270130010628602967179431317048021841062031156979917324832031932754861459338209143378027299787093568209537621228550764832766933712935150986506793344245361491587484405005252579189027306803027806655226406466242209595271875427623731560399787038828191152800928200423222667957012493495556500259588902664572970561489829181724404705273639802220251414931483637784772432374159628973879749158774692414193745731029758354482475745271559087253980283062699058034721192669233339535757717078066452355367884261836450374793904423923273798392668922763671353149446078442799856284860578383254458725620365489610391516802626927691191938816361215606453294339385094732041742321145253553096337926585757191736878789541647217953359737668120678954393214829337917088398926395495130052579353726779450956817691500049665236187464931944379541625276263023201042970223784767777775175331451233428153332564653819472156597578711530491409567148380709302002222507139206816839686882134954627985780043134055852120248739985604243336279052761061807193908146582067668756734894276286760585483721586996015291625627666927499213655700922384552946650651077521661462267904951272932025166479929013850118096805518436259948915997524871076891355970403811646882944314102942819327801687798282493417359001359942652632480127328083790934576991245131578158026854785107916711586331171758433508137695625958745366112068893828339152933014942083860947058955615595407520894896734249449372113510916011327760706251152426694371630363414844640542945637326240579354114888119017596353253477846441187177493868344110951962369529276014751780008128351938905786946909150523415678822834786146507635837504782673979906605017416006718865097495081406489544450382889199531443030658932249826633547082470784687085148334730764148770276908594103600676333513633838375367142047150511501922912934418834783905939694712037894845494867719755400204335688751968094830866640640344220275539068617189082156060722149954460021403525340875730557750546656847843670529806938680256096187087299176819206728984582563410241536984462585015040320960887210261088542756273524689181438532740533032371403758877747251210064897598353936073671095823004895394371603954579888114546445187921768661877574419058467230949571460470593672190175103386860703780731849208788679282219066271387134356608598668843494026860077384384337565911480143946697815514918470196899919029240305693680864546057711629548769569490312739298669489002094377024617013186581789654340537648213201817012195574481102703895954602437569888515935934812910300142414126812433790996305025004844270366477318546321758372346000701673849315854069421187139568182718639016156730798816836868468259349212940803064535836857532106337431455071336713599 83082946024021010654483872135070147633742718207439099614101112215450967364284692478204397187746657857603348643784356756984846500416660306742142837783899357449914287996222803905995602024823045228512175403582030343495623022684516414236217431044864438326453215393368778580226467327873643451355495380443278271558081142073752952779251830352312714407256081549592285616072489937503002257492409121658015138459593826660065440967350424853712163195215757254292555756000913778905330655473864818574893242690950800856174083826744583352528720622532306975705724116949592719923951549721345524540928470614480649936279627256214550324915568545751466121896489118265917738319997311430815397488734381199092147306487751822374645455136087899480995210708987832967091331565703092272258266201900395599172662611937063481917892895363404613024073151602666127101763251141739827183429206944252324605156141326798521391785092527825608350320933373777802585225524603197886350143145422988252011620855548045381076850219865874162798620674044844204643593642918536116258056460344706232013760073988781809728263449215410678202424947634135130330014268415938037495985513750464587339736822592240977919484052506907741099488234358592531880024367720919219996724049303777993905162967122562877767029808146020064130896871102652236105978885601621757843723851595507727079927237472529005248482062154441894558681197564871524845788658936988411027872173159474221472907951657478032512921228984560404398796148037055422189800904547030404073808037274937859304425473378453517578661809866964653572199070693122540302393183249197722984362340485599093002220837893350086603024994412749948776652539637644873948872552420936201651471602696998769151151534901010507099356819170153141587595765331192467850976677510669947722608543016891156165353371998231441111184832381515834070289933789337019716835630453885544798765231424357958108009027501805119562127615624948668891093317307252846693527008993635043974679775613191607292096860198349614369069356805851697338167967244114686843361531867311175338142139803522765714334156426917338641554313676160845424011017016078765224209804444140549401355832127322544414125964611631956011304707500735760225116777925804426361295210583327023791512220455034233267274628326454065640684837615307454473707687019424681676236490071139658134551950177629595402824403354237924276256472044264144067881098922221788242071103371323823315026816634643111582548262836208157997689808031031628294472304617614908357655942305301354376695723351131524123609873964273576124925963034837459486204575952327167539290606708028022395120363609124244628971723096826333407838921785716752405239560503675267411495840490047392656152872357400215375642190282783369712692197897745783852496167678234736919217162303695337778083516719202502288218985494575149416031322446854541083201914994053391070753832193363958876352283910454299934722 134431030552338932862138146762765827966915568651012236289885183948594584781339462719195104328606522533401765210892893390121367363152327213558542167497369811206843788893055074036006230627790224659829223425423092374652602940009348446168972292504202647469831242693155872148436004949102194216188262314156213422544587935417998314270839314757317966986445108856395313422727716343969244467087680997085638870019993613698893632120151353054135385863172769747788112256260502681569903626035354647756617647396224440658394335241676066990313493054906466604679603866108367412338145295452375282895410946359752209023533607539277249382950289738420699461432246835343984190675365195692651847863528285623015421104880420745138316808285533977923795066993848411350345790291323457761868657718703022526863854550753424697524346189702789707756114893923811380654859589068325584375166085733793971823109501064466642070739485742654946267409332300173297715278103956924665801099963114488301676857043012977325456391845142137185999663644268628972421368818249987349686209792909360051485916671567493340219673016363791387504427170141274337146853955298072992123971293793598643191857071332226582162820331559668802906682142505174599548781102615195506757309533025364989920454592750229805266243463846942448683843521753729757767441153506573030775749018075436740930045334278047441508430978151966765635572553535275336492671603251091353847199974847272503966325310658837975165553709111888488189730725028300553767958931401815511990519623606109617737933611074079476324027921935858481911352003708064624163340242204813318391883235382333342451592951404266097930785700663902375471024170001059718589415498058262442230825717585117786747504788378856948286534313038497252539558134860468482602756685639021886628395489926041679581032194833017587618820669886298508050196538806753026435700727948966951288309681807247157639452058160737369388761162707419453578178465641983610842297285902229147575356109126825445667464002245500125870992269740270532122073906938826724738207026735030930738346475492274733809165023067557682861829852744778034506167077738228719684231207969481425131913582673979392257796494418570636267400894588034937044323506910386989771536747567789608806552541415921443528363171082727590329866276148047987506079090778302428927446554968738012070625621273452600298218774958192504164371018489452065836542976496640846709302052942784293908699006809746498443252043568057366786369090250097899681606661226213577201149969165378738761033289262611668070307689479192046321825882064077765179885440498384879168839376277518335134419033098126339005996340110012915197493262323364965607056572699249748514199736444649830226041388293335028285942332696910182146483194202770788696766534155553283240975534649696039451932832573271923475358553677293788432188053245671377951670174343266331873818368030221490982689715365525636648321 217513976576359943516622018897835975600658286858451335903986296164045552145624155197399501516353180391005113854677250147106213863568987520300685005281269168656758076889277877942001832652613269888341398829005122718148225962693864860405189723549067085796284458086524650728662472276975837667543757694599491694102669077491751267050091145109630681393701190405987599038800206281472246724580090118743654008479587440358959073087501777907847549058388527002080668012261416460475234281509219466331510890087175241514568419068420650342842213677438773580385327983057960132262096845173720807436339416974232858959813234795491799707865858284172165583328735953609901928995362507123467245352262666822107568411368172567512962263421621877404790277702836244317437121857026550034126923920603418126036517162690488179442239085066194320780188045526477507756622840210065411558595292678046296428265642391265163462524578270480554617730265673951100300503628560122552151243108537476553688477898561022706533242065008011348798284318313473177064962461168523465944266253254066283499676745556275149947936465579202065706852117775409467476868223714011029619956807544063230531593893924467560082304384066576544006170376863767131428805470336114726754033582329142983825617559872792683033273271992962512814740392856381993873420039108194788619472869670944468009972571750576446756913040306408660194253751100146861338460262188079764875072148006746725439233262316316007678474938096448892588526873065355975957759835948845916064327660881047477042359084452532993902689731802823135483551074401187164465733425454011041376245575867932435453813789297616184533810695076652324247676709638704592538288050479198643882297320282116555898656323279867455385891132208650394127153900191660950453733363149691834351004032942932835746385566831249028730005502267814342120486472596090046152536358402852496087074913231605115747461085662542488950888778332368122469271782949236457535824294895864191550035884740017052959560862443849740240061626546122229460241874182941411581568558602342106076488615295797499523499179494475021503384166420938879930178094754307484908441012413621974533269414801301936671922459030202592278705602088770697269440284836191416132831958151116632598064761870955676795637799409181655970551113763355441979786777797727110603683045039877670205177571451082195701043178312430428440627490533716209904424075418862634951373156314108117223725823444389610025800306404265524784058898281129527976078965843828485558805911470680093137729012613743192193917563443465622446751845098915224666090016450712046708129982985546357529539396707250583634968063206839248605332184109081718012296133202925015925695576934697222882194260650735243661584522979693551859175392100516572549262701833788020160192696953391377230016349292474425763577539171868937848219375692525919034872089337319722944572200223585449859041999275979936583043 351945007128698876378760165660601803567573855509463572193871480112640136926963617916594605844959702924406879065570143537227581226721314733859227172778638979863601865782332951978008063280403494548170622254428215092800828902703213306574162016053269733266115700779680522877098477226078031883732020008755705116647257012909749581320930459866948648380146299262382912461527922625441491191667771115829292878499581054057852705207653130961982934921561296749868780268521919142045137907544574114088128537483399682172962754310096717333155706732345240185064931849166327544600242140626096090331750363333985067983346842334769049090816148022592865044760982788953886119670727702816119093215790952445122989516248593312651279071707155855328585344696684655667782912148350007795995581639306440652900371713443912876966585274768984028536302939450288888411482429278390995933761378411840268251375143455731805533264064013135500885139597974124398015781732517047217952343071651964855365334941574000031989633910150148534797947962582102149486331279418510815630476046163426334985593417123768490167609481942993453211279287916683804623722179012084021743928101337661873723450965256694142245124715626245346912852519368941730977586572951310233511343115354507973746072152623022488299516735839904961498583914610111751640861192614767819395221887746381208940017906028623888265344018458375425829826304635422197831131865439171118722272122854019229405558572975153982844028647208337380778257598093656529725718767350661428054847284487157094780292695526612470226717653738681617394903078109251788629073667658824359768128811250265777905406740701882282464596395740554699718700879639764311127703548537461086113123037867234342646161111658724403672425445247147646666712035052129433056490048788713720979399522868974515327417761664266616348826172154112850170683011402843072588237086351819447375384595038852273386913143823279858339649941039787576047450248591220068378121580798093339125391993866842498627024864689349866111053896286392761582315781121768136319775585337373036814835090788072233332664202562032704365214019165716914436345172492536204592672220383103399665182997475281328929718953448773228546106496676805634313763791746578405904368705718906241404617303286877120324000970491909246300417389911403429485865868576029539531129600008615682275803192724534795999261953270622932604998509023168275740967051915503481660675209256892411132424830254136108469052349972322891570427988531227427657685627070042062759955880636058831898762301876354860264225252922657668768577727162992989845975456949096925876969359263064692663958429805376922640964403316852163802825446432446683619352705902174764439895313379347053108235648944070271947526855676603734005658586303287361246029235989341303401168231603087416681949181865746349238936092849162726280407428938197296986542263680586054818390568253806940841731714641505573231364 569458983705058819895382184558437779168232142367914908097857776276685689072587773113994107361312883315411992920247393684333795090290302254159912178059908148520359942671610829920009895933016764436512021083433337810949054865397078166979351739602336819062400158866205173605760949503053869551275777703355196810749926090401500848371021604976579329773847489668370511500328128906913737916247861234572946886979168494416811778295154908869830483979949823751949448280783335602520372189053793580419639427570574923687531173378517367675997920409784013765450259832224287676862338985799816897768089780308217926943160077130260848798682006306765030628089718742563788048666090209939586338568053619267230557927616765880164241335128777732733375622399520899985220034005376557830122505559909858778936888876134401056408824359835178349316490984976766396168105269488456407492356671089886564679640785846996968995788642283616055502869863648075498316285361077169770103586180189441409053812840135022738522875975158159883596232280895575326551293740587034281574742299417492618485270162680043640115545947522195518918131405692093272100590402726095051363884908881725104255044859181161702327429099692821890919022896232708862406392043287424960265376697683650957571689712495815171332790007832867474313324307466493745514281231722962608014694757417325676949990477779200335022257058764784086024080055735569059169592127627250883597344270860765954844791835291469990522503585304786273366784471159012505683478603299507344119174945368204571822651779979145464129407385541504752878454152510438953094807093112835401144374387118198213359220529999498466998407090817207023966377589278468903665991599016659729995420358149350898544817434938591859058316577455798040793865935243790383510223411938405555330403555811907351073803328495515645078831674421927192291169483998933118740773444754671943462459508270457389134374229485822347290538719372155698516722031540456525913945875693957530675427878606859551586585727133199606351115522832514991042557655304709547901344143939715142891323706083869732856163382056507725868598185586655794366523267246843689501113232796725374198452412276583265601641412478975820824812098765576331583204076582769822037200663870022874002682065157832797119638769901090902270968503674758871465652646373756650134812645048493352480980764175616991700305131583053361045625999556884485645391127334366116612048365571000528356150653698525718494852656376588416354486886812356955633764592913870548318761792106738925036491314490098052458142816366123291215329572261908214512065473399808972585099342248611050193497826512627506275932466523691412408157630541528401631648839105099780365590890314044275990429909594805515609111378656297285864833978403803933795291937823129323561360928556478793911965531158220775002513632021031664128626804630723216021414353017905777762962768477392390700773713917485509814407 921403990833757696274142350219039582735805997877378480291729256389325825999551391030588713206272586239818871985817537221561376317011616988019139350838547128383961808453943781898017959213420258984682643337861552903749883768100291473553513755655606552328515859645885696482859426729131901435007797712110901927397183103311250429691952064843527978153993788930753423961856051532355229107915632350402239765478749548474664483502808039831813418901511120501818228549305254744565510096598367694507767965053974605860493927688614085009153627142129253950515191681390615221462581126425912988099840143642202994926506919465029897889498154329357895672850701531517674168336817912755705431783844571712353547443865359192815520406835933588061960967096205555653002946153726565626118087199216299431837260589578313933375409634604162377852793924427055284579587698766847403426118049501726832931015929302728774529052706296751556388009461622199896332067093594216988055929251841406264419147781709022770512509885308308418394180243477677476037625020005545097205218345580918953470863579803812130283155429465188972129410693608777076724312581738179073107813010219386977978495824437855844572553815319067237831875415601650593383978616238735193776719813038158931317761865118837659632306743672772435811908222076605497155142424337730427409916645163706885890008383807824223287601077223159511853906360370991257000723993066422002319616393714785184250350408266623973366532232513123654145042069252669035409197370650168772174022229855361666602944475505757934356125039280186370273357230619690741723880760771659760912503198368463991264627270701380749463003486557761723685078468918233214793695147554120816108543396016585241190978546597316262730742022702945687460577970295919816566713460727119276309803078680881866401221090159782261427657846576040042461852495401776191329010531106491390837844103309309662521287373309102205630188660411943274564172280131676594292067456492050869800819872473702050213610591822549472462169419118907752624873436426477684221119729277088179706158796871941966188827584618540430233812204752372708802868439739379894093785453179828773863635409751864594531360365927749049370918595442381965896967868329348227941569369588929115407299368444709917443639740393000148571385893586162300951518514949786189665942245057109034756783956900151787699567084853676293650624508580052761386358179249869598272723574827892939488575483952661826963905006348911307924914875343584383291450219983912611078717672742797756935253616366452912722368069288780959983907299424901204358040930348905898462068701511675742857456256318004428916896869840543576210983076973975085251001545007274544805486203693391329098665558538875787556638234332901019870492564707091295041321173812470626962529160159566210593914713023967124241449724870194390409034233568920513007956616698491832581353336731199331542505428558991083045771 1490862974538816516169524534777477361904038140245293388389587032666011515072139164144582820567585469555230864906064930905895171407301919242179051528898455276904321751125554611818027855146437023421194664421294890714698938633497369640532865495257943371390916018512090870088620376232185770986283575415466098738147109193712751278062973669820107307927841278599123935462184180439268967024163493584975186652457918042891476261797962948701643902881460944253767676830088590347085882285652161274927407392624549529548025101067131452685151547551913267715965451513614902898324920112225729885867929923950420921869666996595290746688180160636122926300940420274081462217002908122695291770351898190979584105371482125072979761741964711320795336589495726455638222980159103123456240592759126158210774149465712714989784233994439340727169284909403821680747692968255303810918474720591613397610656715149725743524841348580367611890879325270275394648352454671386758159515432030847673472960621844045509035385860466468301990412524373252802588918760592579378779960644998411571956133742483855770398701376987384491047542099300870348824902984464274124471697919101112082233540683619017546899982915011889128750898311834359455790370659526160154042096510721809888889451577614652830965096751505639910125232529543099242669423656060693035424611402581032562839998861587024558309858135987943597877986416106560316170316120693672885916960664575551139095142243558093963889035817817909927511826540411681541092675973949676116293197175223566238425596255484903398485532424821691123151811383130129694818687853884495162056877585486662204623847800700879216461410577374968747651456058196702118459686746570780546103963754165936139735795981535908121789058600158743728254443905539710200076936872665524831640206634492789217475024418655297906506489520997967234753021979400709310069783975861163334300303611579767051655661602794924552920727379784098973080894311672133120206013332186008400476247751080561601800196318955749078813284941951422743667431091731187232122463873216803322597482502955811699044990966675048156102410390339028503169391706986223583594898685976554148062087822028447860133001778406724870195730694207958297480171944912118049978770033458951989409981433602542714563278510294091050842354397260921172417171161323542839800754890105602387237764721075768779399872216436729654696250508136937247031749306584235714884771940398893467844726137651187545458757662725499724279401762155941338925214812897783159397479464849536681971744930856550965180510885654904251199236871686809418870106403748714871047168043760286793050954082830631935192829336364234988619140707515503486882650384112374325171077094007435605089095468133681303165749612989198305735326543110895228836613111635599950523890088716045004505880244182187899243963356891226054537661038199643729029370969716397610344316105208591722243279142476476592860178 2412266965372574212443666884996516944639844138122671868681316289055337341071690555175171533773858055795049736891882468127456547724313536230198190879737002405288283559579498393716045814359857282405877307759156443618448822401597661114086379250913549923719431878157976566571479802961317672421291373127577000665544292297024001707754925734663635286081835067529877359424040231971624196132079125935377426417936667591366140745300770988533457321782972064755585905379393845091651392382250528969435175357678524135408519028755745537694305174694042521666480643195005518119787501238651642873967770067592623916796173916060320644577678314965480821973791121805599136385339726035450997202135742762691937652815347484265795282148800644908857297556591932011291225926312829689082358679958342457642611410055291028923159643629043503105022078833830876965327280667022151214344592770093340230541672644452454518053894054877119168278888786892475290980419548265603746215444683872253937892108403553068279547895745774776720384592767850930278626543780598124475985178990579330525426997322287667900681856806452573463176952792909647425549215566202453197579510929320499060212036508056873391472536730330956366582773727436010049174349275764895347818816323759968820207213442733490490597403495178412345937140751619704739824566080398423462834528047744739448730007245394848781597459213211103109731892776477551573171040113760094888236577058290336323345492651824717937255568050331033581656868609664350576501873344599844888467219405078927905028540730990661332841657464101877493425168613749820436542568614656154922969380783855126195888475071402259965924414063932730471336534527114935333253381894124901362212507150182521380926774528133224384519800622861689415715021875835630016643650333392644107950009713173671083876245508815080167934147367574007277214874474802485501398794506967654725138147714889076714176948976104026758550916040196042247645066591803809714498080788678059270277067623554263652013806910778298551275454361070330496292304528157664916343583602493891502303641299827753665233818551293588586336222595091401211972260146725603477688684139156382921925723231780312454664362144334473919566649289650340263377139813241466277920339403047881104817280802047252632006918250687091199413740290847083473368689676273329029466697135162711421994548677975920567099439301290405948346875016716990008418107485834105313157495515226786407333301621603849372422662669074411032204316637499525722216665032881695770476197137592334438906998547223003877902878954943685211183144171111710623228147334097620769509236745271962535908410339148636364109726206204778564830123784489478572133651929119648869976563297700826934187761026672557090722387847322099325605819107817986523877934285448070577486419248875611215099794957206155023485413081761420444946695271768564242037327586414889442925669441939791053785784571035467675905949 3903129939911390728613191419773994306543882278367965257070903321721348856143829719319754354341443525350280601797947399033351719131615455472377242408635457682192605310705053005534073669506294305827071972180451334333147761035095030754619244746171493295110347896670067436660100179193503443407574948543043099403691401490736752985817899404483742594009676346129001294886224412410893163156242619520352613070394585634257617007098733937235101224664433009009353582209482435438737274667902690244362582750303073664956544129822876990379456722245955789382446094708620421018112421350877372759835699991543044838665840912655611391265858475601603748274731542079680598602342634158146288972487640953671521758186829609338775043890765356229652634146087658466929448906471932812538599272717468615853385559521003743912943877623482843832191363743234698646074973635277455025263067490684953628152329359602180261578735403457486780169768112162750685628772002936990504374960115903101611365069025397113788583281606241245022375005292224183081215462541190703854765139635577742097383131064771523671080558183439957954224494892210517774374118550666727322051208848421611142445577191675890938372519645342845495333672039270369504964719935291055501860912834481778709096665020348143321562500246684052256062373281162803982493989736459116498259139450325772011570006106981873339907317349199046707609879192584111889341356234453767774153537722865887462440634895382811901144603868148943509168695150076032117594549318549521004760416580302494143454136986475564731327189888923568616576979996879950131361256468540650085026258369341788400512322872103139182385824641307699218987990585311637451713068640695681908316470904348457520662570509669132506308859223020433143969465781375340216720587206058168939590216347666460301351269927470378074440636888571974511967896454203194811468578482828818059438451326468843765832610578898951311471643419980141220725960903475942834704094120864067670753315374634825253814003229734047630088739303021753239959735619888852148466047475710694824901123802783565364278809517968636742438632985430429715141651853711827061283582825132937069987811053808760314797363922741198789762379983858298560857311758153584327899109436506833094227262235649795346570196760981182250256094688108004645785860837596871869267452025268313809232313399051689346499311517727135603043125524853927255449856792418341028042267455625679875178027759255036917881420331799910756483718399655467061141879845779478929873676602441871120878743478079554843083389840598589462382381042798520042098253737846335640556404789032249328959364421979268299302555542569013553449264492004982059016302313232023195147640391708262539276856494806238393888137460311297631341145650928881752714547397083670528010309337591656219605675201388342922729376438652646499484356309968207971066698556131287053269985547148382776029063713511944268766127 6315396905283964941056858304770511251183726416490637125752219610776686197215520274494925888115301581145330338689829867160808266855928991702575433288372460087480888870284551399250119483866151588232949279939607777951596583436692691868705623997085043218829779774828044003231579982154821115828866321670620100069235693787760754693572825139147377880091511413658878654310264644382517359288321745455730039488331253225623757752399504925768558546447405073764939487588876280530388667050153219213797758107981597800365063158578622528073761896939998311048926737903625939137899922589529015633803470059135668755462014828715932035843536790567084570248522663885279734987682360193597286174623383716363459411002177093604570326039566001138509931702679590478220674832784762501620957952675811073495996969576294772836103521252526346937213442577065575611402254302299606239607660260778293858694002004054634779632629458334605948448656899055225976609191551202594250590404799775355549257177428950182068131177352016021742759598060075113359842006321788828330750318626157072622810128387059191571762414989892531417401447685120165199923334116869180519630719777742110202657613699732764329845056375673801861916445766706379554139069211055950849679729158241747529303878463081633812159903741862464601999514032782508722318555816857539961093667498070511460300013352376722121504776562410149817341771969061663462512396348213862662390114781156223785786127547207529838400171918479977090825563759740382694096422663149365893227635985381422048482677717466226064168847353025446110002148610629770567903825083196805007995639153196914596400797943505399148310238705240429690324525112426572784966450534820583270528978054530978901589345037802356890828659845882122559684487657210970233364237539450813047540226060840131385227515436285458242374784256145981789182770929005680312867372989796472784576599041357920480009559555002978070022559460176183468371027495279752549202174909542126941030382998189088905827810140512346181364193664092083736252040148046517064809631078204586327204765102611319029512628069262225328774855580521830927113912000437430538972266964289319991913534285589072769461726067075672709329029273508638824234451571395050605819448839554714199044543037697047978577115011668273449669834978955088119154550513870200898734149160431025231226862077027609913598750819017541551390000541570917263867964278252446341199762970852466282511329380858886290304083000874321788688035037154992783358544878661174700349873740034205559785742025302558720986268795542274673565525213910230665326401071943956410065641534304211864867774761127904663412281748773792118279388276494460631149954242351672065124203689409089473464617521478795484610525307633396956946964758746868276592481682531741105496728586467267434705470158594497946214789520414066944431051581736772213104026142546176496195654989088173829814848284547411944672076 10218526845195355669670049724544505557727608694858602382823122932498035053359349993814680242456745106495610940487777266194159985987544447174952675697007917769673494180989604404784193153372445894060021252120059112284744344471787722623324868743256536513940127671498111439891680161348324559236441270213663199472927095278497507679390724543631120474101187759787879949196489056793410522444564364976082652558725838859881374759498238863003659771111838082774293069798358715969125941718055909458160340858284671465321607288401499518453218619185954100431372832612246360156012343940406388393639170050678713594127855741371543427109395266168688318523254205964960333590024994351743575147111024670034981169189006702943345369930331357368162565848767248945150123739256695314159557225393279689349382529097298516749047398876009190769404806320300274257477227937577061264870727751463247486846331363656815041211364861792092728618425011217976662237963554139584754965364915678457160622246454347295856714458958257266765134603352299296441057468862979532185515458261734814720193259451830715242842973173332489371625942577330682974297452667535907841681928626163721345103190891408655268217576021016647357250117805976749059103789146347006351540641992723526238400543483429777133722403988546516858061887313945312704812545553316656459352806948396283471870019459358595461412093911609196524951651161645775351853752582667630436543652504022111248226762442590341739544775786628920599994258909816414811690971981698886897988052565683916191936814703941790795496037241949014726579128607509720699265081551737455093021897522538702996913120815608538330696063346548128909312515697738210236679519175516265178845448958879436422251915547471489397137519068902555703653953438586310450084824745508981987130442408506591686578785363755836316815421144717956301150667383208875124335951472625290844015050367826764245842170133901929381494202880156324689096988398755695383906269030406194611783698372823914159641813370246393811452932967113836976211775767935369213275678553915281152105888905394884393791437587230862071213488565952260642255563854149257600255849789422257061901345339397833084259089989816871499091409257366937385091763329548634933718558276061547293271805273346843325147311772649455699925929667063092764940411351467072768001601185699339040459175476079299260098062336744677154433126066424844519317821070670787369242030426478146157689357140113923208185503332674232545171753436810459844500424724440653630223550342476076680664485503382113564069658636140864135947906256708750707424654809790292050622046323336461193827139183107172962714837291342805671728652768499442690166256555583695260271844081117352012741474016285033878498662767944694588288110409675750029307029079615411633507037924058923654311145359982840868944165959066713443915407891704980184170724698677463549465640536236556605843911998059356213438203 16533923750479320610726908029315016808911335111349239508575342543274721250574870268309606130572046687640941279177607133354968252843473438877528108985380377857154383051274155804034312637238597482292970532059666890236340927908480414492030492740341579732769907446326155443123260143503145675065307591884283299542162789066258262372963549682778498354192699173446758603506753701175927881732886110431812692047057092085505132511897743788772218317559243156539232557387234996499514608768209128671958098966266269265686670446980122046526980516125952411480299570515872299293912266529935404027442640109814382349589870570087475462952932056735772888771776869850240068577707354545340861321734408386398440580191183796547915695969897358506672497551446839423370798572041457815780515178069090762845379498673593289585150920128535537706618248897365849868879482239876667504478388012241541345540333367711449820843994320126698677067081910273202638847155105342179005555769715453812709879423883297477924845636310273288507894201412374409800899475184768360516265776887891887343003387838889906814605388163225020789027390262450848174220786784405088361312648403905831547760804591141419598062632396690449219166563572683128613242858357402957201220371150965273767704421946511410945882307730408981460061401346727821427131101370174196420446474446466794932170032811735317582916870474019346342293423130707438814366148930881493098933767285178335034012889989797871577944947705108897690819822669556797505787394644848252791215688551065338240419492421408016859664884594974460836581277218139491267168906634934260101017536675735617593313918759113937479006302051788558599637040810164783021645969710336848449374427013410415323841260585273846287966178914784678263338441095797280683449062284959795034670668469346723071806300800041294559190205400863938090333438312214555437203324462421763628591649409184684725851729688904907451516762340332508157468015894035447933108443939948321552814081371013003065469623510758739992817126631205920712463815915981886278085309632119867479310654008006203423304065656493087399988344146474091569369475854586688139228116753711577053814879624986905853720816056892544208420438530875576209326214900943685539538007115616261492316348311043891303724426784317729149595764646018180884094961865337273666735750346130364271686037553106909173696813155762218705823126607995761783185785348923233710441793397330612440200686520972809498489586333548554333859788473965452627858969603101828330573424082510282240450227528684672285055927431683138809513431470618981372751055881734248460687687857640673058694913944235077626127119040116597790008041044993903321316210797935367325396047770526441486206091537763829363109188075578091545235075168422618305899510762147152739003766510526191089016615518577338815158955479480780388346459473441752397274750841223640045661295525324730435658760282606768158110279 26752450595674676280396957753859522366638943806207841891398465475772756303934220262124286373028791794136552219665384399549128238831017886052480784682388295626827877232263760208818505790611043376352991784179726002521085272380268137115355361483598116246710035117824266883014940304851470234301748862097946499015089884344755770052354274226409618828293886933234638552703242757969338404177450475407895344605782930945386507271395982651775878088671081239313525627185593712468640550486265038130118439824550940731008277735381621564980199135311906511911672403128118659449924610470341792421081810160493095943717726311459018890062327322904461207295031075815200402167732348897084436468845433056433421749380190499491261065900228715874835063400214088368520922311298153129940072403462370452194762027770891806334198319004544728476023055217666124126356710177453728769349115763704788832386664731368264862055359181918791405685506921491179301085118659481763760521134631132269870501670337644773781560095268530555273028804764673706241956944047747892701781235149626702063196647290720622057448361336557510160653332839781531148518239451940996202994577030069552892863995482550074866280208417707096576416681378659877672346647503749963552761013143688800006104965429941188079604711718955498318123288660673134131943646923490852879799281394863078404040052271093913044328964385628542867245074292353214166219901513549123535477419789200446282239652432388213317489723491737818290814081579373212317478366626547139689203741116749254432356307125349807655160921836923475563160405825649211966433988186671715194039434198274320590227039574722475809702365398336687508949556507902993258325488885853113628219875972289851746093176132745335685103697983687233966992394534383591133533887030468777021801110877853314758385086163797130876005626545581894391484105695423430561539275935047054472606699777011448971693899822806836833010965220488832846565004292791143317014712970354516164597779743836917225111436881005133804270059598319757688675591683917255491360988186035148631416542913401087817095503243723949471201832712426352211625039708735945739483966543133834115716224964384738937979906046709415707511847788242513594417978230492320473256565391677808785588153584390734628871738556967184849521694313081273649035373216804346434737351531829703312145213029186208433794875492506895860256252674420606302503606419594021079683823823808758597890043661086732706675089666222786879031541910775912472359394327542481960796974424986358921114713032066785849125586067824002945461337727327732080175710691524540511309734180977134252522053127342250588841956331459403461736693813493346011482467353519062585667891851643793498947565554048863241607850843522786133523185578098368335206539841762564372510804434585114743327760878560179684103121438547493832261867365146732581445475539901103595126936061561287041502672280666124371548482 43286374346153996891123865783174539175550278917557081399973808019047477554509090530433892503600838481777493498842991532904096491674491324930008893667768673483982260283537916012852818427849640858645962316239392892757426200288748551607385854223939695979479942564150422326138200448354615909367056453982229798557252673411014032425317823909188117182486586106681397156209996459145266285910336585839708036652840023030891639783293726440548096406230324395852758184572828708968155159254474166802076538790817209996694948182361743611507179651437858923391971973643990958743836877000277196448524450270307478293307596881546494353015259379640234096066807945665440470745439703442425297790579841442831862329571374296039176761870126074381507560951660927791891720883339610945720587581531461215040141526444485095919349239133080266182641304115031973995236192417330396273827503775946330177926998099079714682899353502045490082752588831764381939932273764823942766076904346586082580381094220942251706405731578803843780923006177048116042856419232516253218047012037518589406200035129610528872053749499782530949680723102232379322739026236346084564307225433975384440624800073691494464342840814397545795583244951343006285589505861152920753981384294654073773809387376452599025487019449364479778184690007400955559074748293665049300245755841329873336210085082829230627245834859647889209538497423060652980586050444430616634411187074378781316252542422186084895434671196846715981633904248930009823265761271395392480419429667814592672775799546757824514825806431897936399741683043788703233602894821605975295056970874009938183540958333836413288708667450125246108586597318067776279971458596189962077594302985700267069934436718019181973069876898471912230330835630180871816982949315428572056471779347200037830191386963838425435195831946445832481817544007637985998742600397468818101198349186196133697545629511711744284527727560821341004033020186826591250123156910302837717411861114849920290581060391763873797087186229525678401139407599899141769446297818155016110727196921407291240399568900217036871190176858900443780994515563322633878712083296845411169531104589371644791700722103601959915932286319118089803744193131436006012794572507294070277904501895434625932596165341284913999117458959099454533130335082141620101473101877960067583831250582293117607491688648269114566079379282416368085689391768517254790125617221139371038090730182059542205164675999771341212891330384741365100218363930644310291370398507496641161564940560751458134181513499507141754974769197946713452926766573258788971997422038617807311216967071577328214969075371576001251744734858487249332798678151454429911063939622170234985153657091812692604717038919100877678758260746520986641106050603909717111514570945111305832344376397137518499262076918028274220608326838588484978720226381124743640788231586886017477161432563272892529658761 70038824941828673171520823537034061542189222723764923291372273494820233858443310792558178876629630275914045718508375932453224730505509210982489678350156969110810137515801676221671324218460684234998954100419118895278511472669016688722741215707537812226189977681974689209153140753206086143668805316080176297572342557755769802477672098135597736010780473039916035708913239217114604690087787061247603381258622953976278147054689709092323974494901405635166283811758422421436795709740739204932194978615368150727703225917743365176487378786749765435303644376772109618193761487470618988869606260430800574237025323193005513243077586702544695303361839021480640872913172052339509734259425274499265284078951564795530437827770354790256342624351875016160412643194637764075660659984993831667234903554215376902253547558137624994658664359332698098121592902594784125043176619539651119010313662830447979544954712683964281488438095753255561241017392424305706526598038977718352450882764558587025487965826847334399053951810941721822284813363280264145919828247187145291469396682420331150929502110836340041110334055942013910471257265688287080767301802464044937333488795556241569330623049232104642371999926330002883957936153364902884306742397438342873779914352806393787105091731168319978096307978668074089691018395217155902180045037236192951740250137353923143671574799245276432076783571715413867146805951957979740169888606863579227598492194854574298212924394688584534272447985828303222140744127897942532169623170784563847105132106672107632169986728268821411962902088869437915200036883008277690489096405072284258773767997908558889098411032848461933617536153825970769538296947482043075705814178957990118816027612850764517658173574882159146197323230164564462950516836345897349078272890225053352588576473127635556311201458492027726873301649703061416560281876332515872573805048963207582669239529334518581117538692781310173850598024479617734567137869880657353882009640858686837515692497272769007601357245827845436089814999283816397260807286004190164742143739834808379057495072143940986342392009571326795992619555272058579618196049839979245285247329553756383729680628150311375623444134107360603398162171361928326486051137898971879063492655479825360561467903898252098848639153272180728182165708298945966536210453409789770895976463611479326041286564140776010426335631956836974388192998188111275869809441044948129635980773843146274911839765665994128091922872295517277572577758258186792252167372932483000082679653592818243983307099567331144700436106925274445533102477264783329483307156219594941563739020198919578803811031703035404713481428671980595344281145504973492496731831473814028484101222645861555846324889762623663812281446324619354976312590445672281484025375379696420575672137275697698183365198356575768052870194203735217560165701921025847235915167648447304518664104843939016901207243 113325199287982670062644689320208600717739501641322004691346081513867711412952401322992071380230468757691539217351367465357321222180000535912498572017925642594792397799339592234524142646310325093644916416658511788035937672957765240330127069931477508205669920246125111535291341201560702053035861770062406096129595231166783834902989922044785853193267059146597432865123235676259870975998123647087311417911462977007169786837983435532872070901131730031019041996331251130404950868995213371734271517406185360724398174100105108787994558438187624358695616350416100576937598364470896185318130710701108052530332920074552007596092846082184929399428646967146081343658611755781935032050005115942097146408522939091569614589640480864637850185303535943952304364077977375021381247566525292882275045080659861998172896797270705260841305663447730072116829095012114521317004123315597449188240660929527694227854066186009771571190684585019943180949666189129649292674943324304435031263858779529277194371558426138242834874817118769938327669782512780399137875259224663880875596717549941679801555860336122572060014779044246289793996291924633165331609027898020321774113595629933063794965890046502188167583171281345890243525659226055805060723781732996947553723740182846386130578750617684457874492668675475045250093143510820951480290793077522825076460222436752374298820634104924321286322069138474520127392002402410356804299793937958008914744737276760383108359065885431250254081890077233231964009889169337924650042600452378439777907906218865456684812534700719348362643771913226618433639777829883665784153375946294196957308956242395302387119700298587179726122751144038545818268406078233037783408481943690385885962049568783699631243451780631058427654065794745334767499785661325921134744669572253390418767860091473981746397290438473559355119193710699402559024476729984690675003398149403716366785158846230325402066420342131514854631044666444325817261026790960191599421501973536757806273557664532881398444432057371114490954406883715539030253583822345180852870936756215670297894641044158023213582186430227239773614070835381213496908133136824656454778434143128028521381350253913335539376420426478693201906364493364332498845710406265949341397157375259986494064069239537012847756612231280182715296043381087586637683555287749838479807714193772443648778252789045124992415011239253342473882389956628530659935058266087500674071504025205817117004441665765469304814202680258642672796122188831102543537771439979641244244594153569702117488613066838286455410876123221158986029243838042118455304578258212748874955987270496907018780107074611405965226163530467844677079823656427922407795771095984263469254879737674248451041928681724541491039707071140341617418641049581998595539946324807726408016513672835216682627275274604042273478521042323702538885928302150590876703399235333321995825537407211909430866004 183364024229811343234165512857242662259928724365086927982718355008687945271395712115550250256860099033605584935859743397810545952685509746894988250368082611705602535315141268456195466864771009328643870517077630683314449145626781929052868285639015320431859897928099800744444481954766788196704667086142582393701937788922553637380662020180383589204047532186513468574036474893374475666085910708334914799170085930983447933892673144625196045396033135666185325808089673551841746578735952576666466496021553511452101400017848473964481937224937389793999260727188210195131359851941515174187736971131908626767358243267557520839170432784729624702790485988626722216571783808121444766309430390441362430487474503887100052417410835654894192809655410960112717007272615139097041907551519124549509948634875238900426444355408330255499970022780428170238421997606898646360180742855248568198554323759975673772808778869974053059628780338275504421967058613435355819272982302022787482146623338116302682337385273472641888826628060491760612483145793044545057703506411809172344993399970272830731057971172462613170348834986260200265253557612920246098910830362065259107602391186174633125588939278606830539583097611348774201461812590958689367466179171339821333638092989240173235670481786004435970800647343549134941111538727976853660335830313715776816710359790675517970395433350200753363105640853888387274197954360390096974188400801537236513236932131334681321283460574015784526529875905536454104754017067280456819665771236942286883040012890973088854799262969540760325545860782664533633676660838161356273249781018578455731076954150954191485530733147049113343658904970009315356565353560276113489222660901680504701989662419548217289417026662790204624977295959309797718016622007223270213017559797306743007344333219109538057598748930501286228420843413760819119306353062500563248808447112611299036024688180748906519605113123441688705229069146062060384398896671617545481431142832223595321966054937301888999801677885216550580769406167531936291060869826535345595014676591024049355389713188099009555974196001554035766233626107439793115104182976803901740025763696884412251061978404224711162820554533839296600068535855292658984896848305237828404889812855085347055531973137789111696395765503460910897461751680033553173894008697539609375784177805251769690064816929821135418750643196090316862075388144739806529744499311035630310052277868352092028844207331759597396737074975775920245373880447017894795705144372462641326924247746387946100795712634169431155846983048495604519131721102825447938611734477807690438695007469416485822591138777646810678707592202448440021360969161401414904527602569798291953356102383535804297366818444348205303321153395759696593731231495254280079565321704504146983688650948532914865992473631179810326348715246058920099051630223176438112618566883780626514489642251150926332073247 296689223517794013296810202177451262977668226006408932674064436522555656684348113438542321637090567791297124153211110863167867174865510282807486822386008254300394933114480860690719609511081334422288786933736142471350386818584547169382995355570492828637529818174224912279735823156327490249740528856204988489831533020089337472283651942225169442397314591333110901439159710569634346642084034355422226217081548907990617720730656580158068116297164865697204367804420924682246697447731165948400738013427738872176499574117953582752476495663125014152694877077604310772068958216412411359505867681833016679297691163342109528435263278866914554102219132955772803560230395563903379798359435506383459576895997442978669667007051316519532042994958946904065021371350592514118423155118044417431784993715535100898599341152679035516341275686228158242355251092619013167677184866170846017386794984689503368000662845055983824630819464923295447602916724802565005111947925626327222513410482117645579876708943699610884723701445179261698940152928305824944195578765636473053220590117520214510532613831508585185230363614030506490059249849537553411430519858260085580881715986816107696920554829325109018707166268892694664444987471817014494428189960904336768887361833172086559366249232403688893845293316019024180191204682238797805140626623391238601893170582227427892269216067455125074649427709992362907401589956762800453778488194739495245427981669408095064429642526459447034780611765982769686068763906236618381469708371689320726660947919109838545539611797670260108688189632695891152067316438668045022057403156964872652688385910393349493872650433445636293069781656114047861174833759638509151272631142845370890587951711988331916920660478443421263052631361754055132485516407668549191347762229369560133426112193310583519803996039368974845583540037124460221678330829792485253923811845262015015402809847026979231921671533465573203559860113812506386201659923462577737080852644805760353128239612601834770398246109942587665071723813051247475321314453648880526447885613347239719653284354232257032769556382431781275539847696942821006612012316113628558194804197840012440772443328658138046702196974960317989801974900348656991483742558711503777746286970230345333549596042377326124544152377734741093612757795061121139811577563985289447855591891999024213338843069718866260411165654435343659335957778101368337189679557577123130984123781893557909145848648997525066701551277656034562918170002635848997339242915812442282571168841899957648218284325701007717611257859171716763505160964940867566393916312736020439313650994739913392841371245852258216643933755732916284698440792817829337312323373665782555422610982121210052748408747126072746794360860466900038211149872544836278675105268029311873391705164621368131548619748905783852599827236288382622637937558525327028989321966119113948510315179658362835762939251 480053247747605356530975715034693925237596950371495860656782791531243601955743825554092571893950666824902709089070854260978413127551020029702475072754090866005997468429622129146915076375852343750932657450813773154664835964211329098435863641209508149069389716102324713024180305111094278446445195942347570883533470809011891109664313962405553031601362123519624370013196185463008822308169945063757141016251634838974065654623329724783264161693198001363389693612510598234088444026467118525067204509449292383628600974135802056716958432888062403946694137804792520967200318068353926533693604652964925306065049406609667049274433711651644178805009618944399525776802179372024824564668865896824822007383471946865769719424462152174426235804614357864177738378623207653215465062669563541981294942350410339799025785508087365771841245709008586412593673090225911814037365609026094585585349308449479041773471623925957877690448245261570952024883783416000360931220907928350009995557105455761882559046328973083526612528073239753459552636074098869489253282272048282225565583517490487341263671802681047798400712449016766690324503407150473657529430688622150839989318378002282330046143768603715849246749366504043438646449284407973183795656140075676590220999926161326732601919714189693329816093963362573315132316220966774658800962453704954378709880942018103410239611500805325828012533350846251294675787911123190550752676595541032481941218601539429745750925987033462819307141641888306140173517923303898838289374142926263013543987932000811634394411060639800869013735493478555685700993099506206378330652937983451108419462864544303685358181166592685406413440561084057176531399113198785264761853803747051395289941374407880134210077505106211467677608657713364930203533029675772461560779789166866876433456526529693057861594788299476131811960880538221040797637182854985817172620292374626314438834535207728138441276646589014892265089182958568446586058820134195282562283787637983948450205667539136659398047787827804215652493219218779411612375323475415872042900289938263769008674067420356042325530578433335311306081323050260799727116499090432459934829961536896853023505307062362757865017529494157286402043436203949650468639407016741606151176783085430680605128015515115236240548143238202004510219546741154692985471572682829057231376069804275983028907886648687395829916297631433976198033166246108143719424056888158761294176059761910001174692856329284664098288352631810483163543883082866892134948060184904923898093089646345594319080038335177148767104842220212368024292686043693014332528047213828129752346002209329878663962384629905027322641347935364724719801761979230752216850976235580847375967084504745857045775565570420952097682013862659734804881104040090558754670589733816020375393815569901046414612222536963662926175951534441542736989188748503467101940533002894575024804821909513762095012498 776742471265399369827785917212145188215265176377904793330847228053799258640091938992634893531041234616199833242281965124146280302416530312509961895140099120306392401544102989837634685886933678173221444384549915626015222782795876267818858996780000977706919534276549625303916128267421768696185724798552559373365003829101228581947965904630722473998676714852735271452355896032643168950253979419179367233333183746964683375353986304941332277990362867060594061416931522916335141474198284473467942522877031255805100548253755639469434928551187418099389014882396831739269276284766337893199472334797941985362740569951776577709696990518558732907228751900172329337032574935928204363028301403208281584279469389844439386431513468693958278799573304768242759749973800167333888217787607959413079936065945440697625126660766401288182521395236744654948924182844924981714550475196940602972144293138982409774134468981941702321267710184866399627800508218565366043168833554677232508967587573407462435755272672694411336229518419015158492789002404694433448861037684755278786173635010701851796285634189632983631076063047273180383753256688027068959950546882236420871034364818390026966698597928824867953915635396738103091436756224987678223846100980013359108361759333413291968168946593382223661387279381597495323520903205572463941589077096192980603051524245531302508827568260450902661961060838614202077377867885991004531164790280527727369200270947524810180568513492909854087753407871075826242281829540517219759082514615583740204935851110650179934022858310060977701925126174446837768309538174251400388056094948323761107848774937653179230831600038321699483222217198105037706232872837294416034484946592422285877893086396212051130737983549632730730240019467420062689049437344321652908542018536427009859568719840276577665590827668450977395500917662681262475968012647471071096432137636641329841644382234707370362948180054588095824949296771074832787718743596773019643136432443744301578445280140971429796293897770391880724217032270026886933689777124296398490785903285503488661958421652613075095086960865116586845929019993081806339128815204061018129634159376909293795948635720500804567214504454475276204018336552606641952381965728245383897463753315776014154724057892441360784700520972943098122977341802275832797049136668118505086967961803300196367750956367553656241081952066777635533990944347476480909103614465281892278299841655467910320541505326809730799839630287845046081713885718715889474190975997347206469261931546303242537364364036184866378362701391929131529453650984560580726444359949848569065996996949243271505333630482163243966575103668281009418242554797060089529174349901363402798578066625955909794184312696493698892042874329559773016030976584926837429775857763127893767098980191269177963231971442747515526003187822824165374926747273830496091262499122008523535120001567876597857951749 1256795719013004726358761632246839113452862126749400653987630019585042860595835764546727465424991901441102542331352819385124693429967550342212436967894189986312389869973725118984549762262786021924154101835363688780680058747007205366254722637989509126776309250378874338328096433378516047142630920740900130256898474638113119691612279867036275505600038838372359641465552081495651991258423924482936508249584818585938749029977316029724596439683560868423983755029442121150423585500665402998535147032326323639433701522389557696186393361439249822046083152687189352706469594353120264426893076987762867291427789976561443626984130702170202911712238370844571855113834754307953028927697167300033103591662941336710209105855975620868384514604187662632420498128597007820549353280457171501394374878416355780496650912168853767060023767104245331067542597273070836795751916084223035188557493601588461451547606092907899580011715955446437351652684291634565726974389741483027242504524693029169344994801601645777937948757591658768618045425076503563922702143309733037504351757152501189193059957436870680782031788512064039870708256663838500726489381235504387260860352742820672357012842366532540717200665001900781541737886040632960862019502241055689949329361685494740024570088660783075553477481242744170810455837124172347122742551530801147359312932466263634712748439069065776730674494411684865496753165779009181555283841385821560209310418872486954555931494500526372673394895049759381966415799752844416058048456657541846753748923783111461814328433918949861846715660619653002523469302637680457778718709032931774869527311639481956864589012766631007105896662778282162214237631986036079680796338750339473681167834460804092185340815488655844198407848677180784992892582467020094114469321807703293886293025246369969635527185615967927109207461798200902303273605195502456888269052430011267644280478917442435508804224826643602988090038479729643279373777563730968302205420220081728250028650947680108089194341685598196096376710251488806298546065100599712270533686193223767257670632489072969117420617539298451898152010343043342606066245314294493478064464120913806146819453942782863562432232033948632562606061772756556292421021372744986990048640536401206694759852073407556597025248664211145102633196888543430525782520709350947562318344031607576179396658843016241052070998249698211611732024110593584624628527671353440653572475901417377911495234361656094394898127982919655529245257768801582781609139036182252130367355021192648836856444402371362015145467543612141499553746337028253595058972407163676698818342999158573150169296015112068271289216451603645734138044316776290841746025326136944250174545151130701766839959878266914650989724888192219507820912080625017396184446447496943914142492795761170224377844193979711178452179139357265708111915936022333963193203032124903098559924823477390359952964247 2033538190278404096186547549458984301668127303127305447318477247638842119235927703539362358956033136057302375573634784509270973732384080654722398863034289106618782271517828108822184448149719700097375546219913604406695281529803081634073581634769510104483228784655423963632012561645937815838816645539452689630263478467214348273560245771666997979598715553225094912917907977528295160208677903902115875482918002332903432405331302334665928717673923735484577816446373644066758726974863687472003089555203354895238802070643313335655828289990437240145472167569586184445738870637886602320092549322560809276790530546513220204693827692688761644619467122744744184450867329243881233290725468703241385175942410726554648492287489089562342793403760967400663257878570807987883241498244779460807454814482301221194276038829620168348206288499482075722491521455915761777466466559419975791529637894727443861321740561889841282332983665631303751280484799853131093017558575037704475013492280602576807430556874318472349284987110077783776538214078908258356151004347417792783137930787511891044856243071060313765662864575111313051092009920526527795449331782386623681731387107639062383979540964461365585154580637297519644829322796857948540243348342035703308437723444828153316538257607376457777138868522125768305779358027377919586684140607897340339915983990509166015257266637326227633336455472523479698830543646895172559815006176102087936679619143434479366112063014019282527482648457630457792658081582384933277807539172157430493953859634222111994262456777259922824417585745827449361237612175854709179106765127880098630635160414419610043819844366669328805379884995480267251943864858873374096830823696931895967045727547200304236471553472205476929138088696648205055581631904364415767377863826239720896152593966210246213192776443636378086602962715863583565749573208149927959365484567647908974122123299677142879167173006698191083914987776500718112161496307327741321848556652525472551607096227821079518990635583368587977100927283758833185479754877724008669024472096509270746332590910725582192515704500163568484997939363036424412405374129498554496194098280290715440615402578503364366999446538403107838810080109309162934373403338473232373946104289716982708914576131299997957809949185184088200756174230345706358579569846019066067405311993410876375764409799383794708312080201764989247266015054941061105537631285818722545850775743072845821815775866982904125697967613207500575326971654520298671083330012179599336836616952738952079393808766407546881523830245004070631083199988012814175785416767113525267884339996107816421674629645594231515255791555271926743556286871573350931275199676038307652973123217756657676634144190963408349881767762521779280836943057209944233614222305260071807909591775952439402341076165422458693978182327180089873486842683296164459284465531246911622095044825045266957810915996 3290333909291408822545309181705823415120989429876706101306107267223884979831763468086089824381025037498404917904987603894395667162351630996934835830928479092931172141491553227806734210412505722021529648055277293187375340276810287000328304272759019231259538035034298301960108995024453862981447566280352819887161953105327467965172525638703273485198754391597454554383460059023947151467101828385052383732502820918842181435308618364390525157357484603908561571475815765217182312475529090470538236587529678534672503593032871031842221651429687062191555320256775537152208464991006866746985626310323676568218320523074663831677958394858964556331705493589316039564702083551834262218422636003274488767605352063264857598143464710430727308007948630033083756007167815808432594778701950962201829692898657001690926950998473935408230055603727406790034118728986598573218382643643010980087131496315905312869346654797740862344699621077741102933169091487696819991948316520731717518016973631746152425358475964250287233744701736552394583639155411822278853147657150830287489687940013080237916200507930994547694653087175352921800266584365028521938713017891010942591739850459734740992383330993906302355245639198301186567208837490909402262850583091393257767085130322893341108346268159533330616349764869939116235195151550266709426692138698487699228916456772800728005705706392004364010949884208345195583709425904354115098847561923648145990038015921433922043557514545655200877543507389839759073881335229349335855995829699277247702783417333573808590890696209784671133246365480451884706914813535166957825474160811873500162472053901566908408857133300335911276547773762429466181496844909453777627162447271369648213562008004396421812368960861321127545937373828990048474214371384509881847185633943014782445619212580215848719962059604305195810424514064485869023178403652384847634536997659176618402602217119578387971397833341794072005026256230361391535273871058709624053976872607200801635747175501187608184977268966784073477637535247639484025819978323720939558158289733038004003223399798551309936322039462020383149949706079767018471619443793047974258562401204521587434856521286227929431678572351740401416141882065719226794424711218219363994744826118189403674428204707554554835197849395233303389371118889136884362090555370013629723656025018452555161068642400035760383078451463200858998039165534645730166158957172163199423251644490223733311010228638998520596095596127156104572229423321881452692469048361851467203971973931600916250253168778908896669297788616212130636946325041067770844389174277201966702682995266389571843925660706299786545008006875572477694331188349641773021225002175251903147668368887359443474104069230323000871492650713998788657855137834961629798668752757015722052084571713609626718920359402169872430361466537355581598758619318498422477668563371814720654969648522657317763880243 5323872099569812918731856731164807716789116733004011548624584514862727099067691171625452183337058173555707293478622388403666640894735711651657234693962768199549954413009381336628918658562225422118905194275190897594070621806613368634401885907528529335742766819689722265592121556670391678820264211819805509517425431572541816238732771410370271464797469944822549467301368036552242311675779732287168259215420823251745613840639920699056453875031408339393139387922189409283941039450392777942541326142733033429911305663676184367498049941420124302337027487826361721597947335628893469067078175632884485845008851069587884036371786087547726200951172616334060224015569412795715495509148104706515873943547762789819506090430953799993070101411709597433747013885738623796315836276946730423009284507380958222885202989828094103756436344103209482512525640184902360350684849203062986771616769391043349174191087216687582144677683286709044854213653891340827913009506891558436192531509254234322959855915350282722636518731811814336171121853234320080635004152004568623070627618727524971282772443578991308313357517662286665972892276504891556317388044800277634624323126958098797124971924295455271887509826276495820831396531634348857942506198925127096566204808575151046657646603875535991107755218286995707422014553178928186296110832746595828039144900447281966743262972343718231997347405356731824894414253072799526674913853738025736082669657159355913288155620528564937728360191965020297551731962917614282613663535001856707741656643051555685802853347473469707495550832111307901245944526989389876136932239288691972130797632468321176952228701499969664716656432769242696718125361703782827874457986144203265615259289555204700658283922433066798056684026070477195104055846275748925649225049460182735678598213178790462061912738503240683282413387229928069434772751611802312807000021565307085592524725516796721267138570840039985155920014032731079503696770178386450945902533525132673353242843403322267127175612852335372050578564819006472669505574856047729608582630386242308750335814310524133502452026539625588868147889069116191430876993573291602470452660681495237028050259099789592296431125110754848240226221991374882161167828049691451737940849115835172112589004336007552512645147034579321504145545349234843242941660401389079697128968018429328930925478441783830468695158653228190106264054220475706835703790242990885745274027387563069555126786095621902646294063209334656679899201077842180123775799060541450804040588926670552995644061935186455778193128033620282761720146313053881946629805941390727234587022991374205993518555306300531301800799562147499221250618059922992704296424678213559556120791586644017120108248260193731350753260413235778069494798195044905863412891058017087529961676347666049029059996524824628566408543793717445455085601302614662881762134094618726342750014473567924275574796239 8614206008861221741277165912870631131910106162880717649930691782086612078899454639711542007718083211054112211383609992298062308057087342648592070524891247292481126554500934564435652868974731144140434842330468190781445962083423655634730190180287548567002304854724020567552230551694845541801711778100158329404587384677869284203905297049073544949996224336420004021684828095576189463142881560672220642947923644170587795275948539063446979032388892943301700959398005174501123351925921868413079562730262711964583809256709055399340271592849811364528582808083137258750155800619900335814063801943208162413227171592662547868049744482406690757282878109923376263580271496347549757727570740709790362711153114853084363688574418510423797409419658227466830769892906439604748431055648681385211114200279615224576129940826568039164666399706936889302559758913888958923903231846705997751703900887359254487060433871485323007022382907786785957146822982828524733001455208079167910049526227866069112281273826246972923752476513550888565705492389731902913857299661719453358117306667538051520688644086922302861052170749462018894692543089256584839326757818168645566914866808558531865964307626449178189865071915694122017963740471839767344769049508218489823971893705473939998754950143695524438371568051865646538249748330478453005537524885294315738373816904054767471268678050110236361358355240940170089997962498703880790012701299949384228659695175277347210199178043110592929237735472410137310805844252843631949519530831555984989359426468889259611444238169679492166684078476788353130651441802925043094757713449503845630960104522222743860637558633270000627932980543005126184306858548692281652085148591474635263472851563209097080096291393928119184229963444306185152530060647133435531072235094125750461043832391370677910632700562844988478223811743992555303795930015454697654634558562966262210927327733916299655109968673381779227925040288961440895232044049445160569956510397739874154878590578823454735360590121302156124056202354254112153531394834371450548140788675975346754339037710322684812388348579087609251297838775195958449348613017084650444711223082699758615485115621075820225862803683106588641642363873440601387962252760909671101935593941953361516263432540715107067480344883974554807534916468123980127303750956759093326852624043447781486086547084183866229078237104691390965262093386010352565869949200163048944697279032053293288437796324260901166890158805461812784471430501164061576468268108903302271244560900602153911894315103965364674862425822236494892357092638094949717474195115667929201289705986640595565362480967006831088345807569023071698944949248272634477317649680388811459268459955531376563582352329424054351624753063949776858152653332879867493211559810774103252013760919379658655778916884226798438838905260254801036684359921933161304239802657990541063404984122090581593338676482 13938078108431034660009022644035438848699222895884729198555276296949339177967145811336994191055141384609819504862232380701728948951823054300249305218854015492031080967510315901064571527536956566259340036605659088375516583890037024269132076087816077902745071674413742833144352108365237220621975989919963838922012816250411100442638068459443816414793694281242553488986196132128431774818661292959388902163344467422333409116588459762503432907420301282694840347320194583785064391376314646355620888872995745394495114920385239766838321534269935666865610295909498980348103136248793804881141977576092648258236022662250431904421530569954416958234050726257436487595840909143265253236718845416306236654700877642903869779005372310416867510831367824900577783778645063401064267332595411808220398707660573447461332930654662142921102743810146371815085399098791319274588081049768984523320670278402603661251521088172905151700066194495830811360476874169352646010962099637604102581035482100392072137189176529695560271208325365224736827345624051983548861451666288076428744925395063022803461087665913611174409688411748684867584819594148141156714802618446280191237993766657328990936231921904450077374898192189942849360272106188625287275248433345586390176702280624986656401554019231515546126786338861353960264301509406639301648357631890143777518717351336734214531650393828468358705760597671994984412215571503407464926555037975120311329352334633260498354798571675530657597927437430434862537807170457914563183065833412692731016069520444945414297585643149199662234910588096254376595968792314919231689952738195817761757736990543920812866260133239665344589413312247822902432220252475109526543134735677900878732141118413797738380213826994917240913989514783380256585906922882361180297284554308486139642045570161139972545439066085671760637198973920624738568681627257010461634580128273347803452053250713020922248539513421764383845054321692520398928814227831611515859043922872547508121433982145721862536202973637528174634767173260584823036969690419180156723419062217655504674852020846818314840375118713198119445727844312149880225606590376252915163883764194995643535374720865412522293928793861436881868585864815483549130080810601122839876443057788533628852436876722659580125491918553876311680461817358823370245411358148173023981592061877110417012025525967696697773395757919581071526147606486059401573739443153934689971306419616362843564582419882803813184222014796469464370631579006241700244067169444753075285149827272706907538377039151820453055553855856777654077238951148831664104001057058656435876728978014801558881036273307362390146607131170570920195567308195627181614074358602371015389251542175393683690600589617785702378013477185554927647451527924773356624450868791190781975437267045707684838913409051427005247449053972246491769961224547824186001936752609267406154998595658505868913472721 22552284117292256401286188556906069980609329058765446848485968079035951256866600451048536198773224595663931716245842372999791257008910396948841375743745262784512207522011250465500224396511687710399774878936127279156962545973460679903862266268103626469747376529137763400696582660060082762423687768020122168326600200928280384646543365508517361364789918617662557510671024227704621237961542853631609545111268111592921204392536998825950411939809194225996541306718199758286187743302236514768700451603258457359078924177094295166178593127119747031394193103992636239098258936868694140695205779519300810671463194254912979772471275052361107715516928836180812751176112405490815010964289586126096599365853992495988233467579790820840664920251026052367408553671551503005812698388244093193431512907940188672037462871481230182085769143517083261117645158012680278198491312896474982275024571165761858148311954959658228158722449102282616768507299856997877379012417307716772012630561709966461184418463002776668484023684838916113302532838013783886462718751328007529786862232062601074324149731752835914035461859161210703762277362683404725996041560436614925758152860575215860856900539548353628267239970107884064867324012578028392632044297941564076214148595986098926655156504162927039984498354390727000498514049839885092307185882517184459515892534255391501685800328443938704720064115838612165074410178070207288254939256337924504539989047509910607708553976614786123586835662909840572173343651423301546512702596664968677720375495989334205025741823812828691828918989064884607507247410595239962326447666187699663392717841512766664673503818766509665972522393855252949086739078801167391178628283327152536142204992681622894818476505220923036425143952959089565409115967570015796711369519648434236600685877961531817883178139628930660238861010717913180042364611642711708116269138691239610014379380984629320577358508186803543611770094610653961294160858277276772085815554320612421663000024560969176597896793094939684298690969527514696976568364524790630704864207738193002259013889731169503127228723697800807370743566619508108329574219607460903359875106846894754259020490341941232748156732476968025523510949738256084937092333571510793941812036999741895145115869417437766647605836802528431119215378285482803497549162314907266350834216105324891903098572610151562926851632862610972036788240992496411967443688643316983634668585451669656132002378744143704980074380820258282248842062080170303276712335278348055346529710727874860819432692143117185127917979678093272546434331589243781381578196172726585637166434964655397124243517240314193478492414700193642619140516556468261658931724038991182474657711497706770247272952919041840054002766541135331785800104860804640849836010679565294033989198186425366340617830293278225444086354314227047528454321146480985490241739410599808469559982717749087462252149203 36490362225723291061295211200941508829308551954650176047041244375985290434833746262385530389828365980273751221108074753701520205960733451249090680962599278276543288489521566366564795924048644276659114915541786367532479129863497704172994342355919704372492448203551506233840934768425319983045663757940086007248613017178691485089181433967961177779583612898905110999657220359833053012780204146590998447274612579015254613509125458588453844847229495508691381654038394342071252134678551161124321340476254202753574039097479534933016914661389682698259803399902135219446362073117487945576347757095393458929699216917163411676892805622315524673750979562438249238771953314634080264201008431542402836020554870138892103246585163131257532431082393877267986337450196566406876965720839505001651911615600762119498795802135892325006871887327229632932730557111471597473079393946243966798345241444164461809563476047831133310422515296778447579867776731167230025023379407354376115211597192066853256555652179306364044294893164281338039360183637835870011580202994295606215607157457664097127610819418749525209871547572959388629862182277552867152756363055061205949390854341873189847836771470258078344614868300074007716684284684217017919319546374909662604325298266723913311558058182158555530625140729588354458778351349291731608834240149074603293411251606728235900331978837767173078769876436284160058822393641710695719865811375899624851318399844543868206908775186461654244433590347271007035881458593759461075885662498381370451391565509779150440039409455977891491153899652980861883843379387554881558137618925895481154475578503310585486370078899749331317111807167500771989171299053642500705171418062830437020937133800036692556856719047917953666057942473872945665701874492898157891666804202742722740327923531692957855723578695016331999498209691833804780933293269968718577903718819512957817831434235342341499607047700225307995615148932346481693089672505108383601674598243484969171121458543114898460432996068577212473325736700775281799605334215209810861587626800410657763688741752016321442069098816514005490189294463820258209799826197837156275038990611089749902555865062806645270450661270829462405379535603071568486222414382111916781688480057530428773968306294160426227731328721082307430895840102841626867794573673055439374815808167202002320110598136119259624625028620530553108314388598982471369017428086470918324639891871286018975566961164026508793258602835054751713212693659176544976956402447792808421814860555147567726971069182269005580973533533950050200511570540392613045682197229785242073043163942670198683124553513621555868639021831364213539336083864663888840545798397593553490046963039882163930963553508659625756380780018320886713447556388729414206460461548356484815964635453471074025456743702329652449333803368199294020224282371028809676243676163209075875714981313407593331165621924 59042646343015547462581399757847578809917881013415622895527212455021241691700346713434066588601590575937682937353917126701311462969643848197932056706344541061055496011532816832065020320560331987058889794477913646689441675836958384076856608624023330842239824732689269634537517428485402745469351525960208175575213218106971869735724799476478539144373531516567668510328244587537674250741747000222607992385880690608175817901662457414404256787038689734687922960756594100357439877980787675893021792079512660112652963274573830099195507788509429729653996503894771458544621009986182086271553536614694269601162411172076391449364080674676632389267908398619061989948065720124895275165298017668499435386408862634880336714164953952098197351333419929635394891121748069412689664109083598195083424523540950791536258673617122507092641030844312894050375715124151875671570706842718949073369812609926319957875431007489361469144964399061064348375076588165107404035796715071148127842158902033314440974115182083032528318578003197451341893021651619756474298954322303136002469389520265171451760551171585439245333406734170092392139544960957593148797923491676131707543714917089050704737311018611706611854838407958072584008297262245410551363844316473738818473894252822839966714562345085595515123495120315354957292401189176823916020122666259062809303785862119737586132307281705877798833992274896325133232571711917983974805067713824129391307447354454475915462751801247777831269253257111579209225110017061007588588259163350048171767061499113355465781233268806583320072888717865469391090789982794843884585285113595144547193420016077250159873897666258997289634201022753721075910377854809891883799701389982973163142126481659587375333224268840990091201895432962511074817842062913954603036323851176959341013801493224775738901718323946992238359220409746984823297904912680426694172857510752567832210815219971662076965555887028851607385243543000442987250530782385155687490152564097390834121483104084075058329789163516896772016706228289978776173698740000441566451834538603660022702631483185824569297822514314812860932861083328366539374045805298059634914097457984504161576355404747878018607393747797487928890485341327653423314747953622710723500517057272323919084175711598192875337165523610738550111218388324430365343735987962705725650024272526894223209170746270822551476661483141525145102629591478883336461116729787901959308477322955675107569339908170213773332983655313033962054755739346848253668737726140863768344571283022428546403761325386190708891513212043322746945902129636394427260393402511827710209598907325595807368070753935749347131436531557856158476600421132150499477522436584735964704674537588934178236506427701465810383546559456218499247661249534055056296472227921778849953833639896440366074573995607877893420157682426341548678603517509795166485415573808884345274964031156680793417771127 95533008568738838523876610958789087639226432968065798942568456831006532126534092975819596978429956556211434158461991880402831668930377299447022737668943819337598784501054383198629816244608976263718004710019700014221920805700456088249850950979943035214732272936240775868378452196910722728515015283900294182823826235285663354824906233444439716923957144415472779509985464947370727263521951146813606439660493269623430431410787916002858101634268185243379304614794988442428692012659338837017343132555766862866227002372053365032212422449899112427913799903796906677990983083103670031847901293710087728530861628089239803126256886296992157063018887961057311228720019034758975539366306449210902271406963732773772439960750117083355729782415813806903381228571944635819566629829923103196735336139141712911035054475753014832099512918171542526983106272235623473144650100788962915871715054054090781767438907055320494779567479695839511928242853319332337429059176122425524243053756094100167697529767361389396572613471167478789381253205289455626485879157316598742218076546977929268579371370590334964455204954307129481022001727238510460301554286546737337656934569258962240552574082488869784956469706708032080300692581946462428470683390691383401422799192519546753278272620527244151045748635849903709416070752538468555524854362815333666102715037468847973486464286119473050877603868711180485192054965353628679694670879089723754242625847198998344122371526987709432075702843604382586245106568610820468664473921661731418623158627008892505905820642724784474811226788370846331274934169370349725442722904039490625701668998519387835646243976566008328606746008190254493065081676908452392588971119452813410184079260281696279932189943316758943757259837906835456740519716555812112494703128053919682081341725024917733594625297018963324237857430101580789604231198182649145272076576330265525650042249455314003576572603587254159603000392475346924680340203287493539289164750807582360005242941647198973518762785232094109245342442929065260575779032955210252428039461339014317786391373235202146011366921330828818351122155547148624749173872003135215909953088069074254064132220467554523289058055018626950334270020944399221909537162335734627505188997114802752693052482005758619103068494244693045981007058491166057233138309661018145100465832439728896543319768882390082176101690103672078253417018190461354705478544816258820283948369194241694083136301072196722566591586490367785675267449398523393230625140173933672190159431838169996273374830507655196289865046745993372947457472670029007472942590632297069783252762849995794490492624267557305215770458362922069697812684285796039340023320834178289454751637577471098109200059936361091566764326577777105212695217638263469262756933776278263665918469093367514391531317697937530342753961050625635568902885888538604842729091737017960220989945344564274124583393051 154575654911754385986458010716636666449144313981481421838095669286027773818234439689253663567031547132149117095815909007104143131900021147644954794375288360398654280512587200030694836565169308250776894504497613660911362481537414472326707559603966366056972097668930045502915969625396125473984366809860502358399039453392635224560631032920918256068330675932040448020313709534908401514263698147036214432046373960231606249312450373417262358421306874978067227575551582542786131890640126512910364924635279522978879965646627195131407930238408542157567796407691678136535604093089852118119454830324781998132024039261316194575620966971668789452286796359676373218668084754883870814531604466879401706793372595408652776674915071035453927133749233736538776119693692705232256293939006701391818760662682663702571313149370137339192153949015855421033481987359775348816220807631681864945084866664017101725314338062809856248712444094900576276617929907497444833094972837496672370895914996133482138503882543472429100932049170676240723146226941075382960178111638901878220545936498194440031131921761920403700538361041299573414141272199468053450352210038413469364478284176051291257311393507481491568324545115990152884700879208707839022047235007857140241273086772369593244987182872329746560872130970219064373363153727645379440874485481592728912018823330967711072596593401178928676437860986076810325287537065546663669475946803547883633933294553452820037834278788957209906972096861494165454331678627881476253062180825081466794925688508005861371601875993591058131299677088711800666024959353144569327308189153085770248862418535465085806117874232267325896380209213008214140992054763262284472770820842796383347221386763355867307523167585599933848461733339797967815337558618726067097739451905096641422355526518142509333527015342910316476216650511327774427529103095329571966249433841018093482253064675285665653538159474283011210385636018347367667590734069878694976654903371679750839364424751283048577092574395611006017359149157355239351952731695210693994491295877617977809094004718387970580664743845143631212055016630476991288547917808433275544867185527058758225708575872302401307665448766424438263160506285726875332851910289357338228689514172075076612136657717356811978405659768303784531118276879490487598482045648980850826115856712255790766528939628660904727578351586813603398519647781940238041939661546046722243256846517197369190705640980366936339924570145680819637322205137870241484293877900074535958504003121192424819778591833041386998756559958036695694403374799665401900202984034808897493462361757321390297860695021493054562901894894479925856289284706928189839500843270763025419456312115060032287436566364062557377147873137233323711942878887797524319053406004200042515872302733263954757605891693545408236174118733051977117581489406048400009214507310826844566264909375720954918001164178 250108663480493224510334621675425754088370746949547220780664126117034305944768532665073260545461503688360551254277900887506974800830398447091977532044232179736253065013641583229324652809778284514494899214517313675133283287237870560576558510583909401271704370605170821371294421822306848202499382093760796541222865688678298579385537266365357972992287820347513227530299174482279128777785649293849820871706867229855036680723238289420120460055575060221446532190346570985214823903299465349927708057191046385845106968018680560163620352688307654585481596311488584814526587176193522149967356124034869726662885667350555997701877853268660946515305684320733684447388103789642846353897910916090303978200336328182425216635665188118809656916165047543442157348265637341051822923768929804588554096801824376613606367625123152171291666867187397948016588259595398821960870908420644780816799920718107883492753245118130351028279923790740088204860783226829782262154148959922196613949671090233649836033649904861825673545520338155030104399432230531009446057268955500620438622483476123708610503292352255368155743315348429054436142999437978513751906496585150807021412853435013531809885475996351276524794251824022233185393461155170267492730625699240541664072279291916346523259803399573897606620766820122773789433906266113934965728848296926395014733860799815684559060879520651979554041729697257295517342502419175343364146825893271637876559141752451164160205805776666641982674940465876751699438247238701944917536102486812885418084315516898367277422518718375532942526465459558131940959128723494294770031093192576395950531417054852921452361850798275654503126217403262707206073731671714677061741940295609793531300647045052147239713110902358877605721571246633424555857275174538179592442579959016323503697251543060242928152312361873640714074080612908564031760301277978717238326010171283619132295314130599669230110763061537170813386028493694292347930937357372234265819654179262110844607366398482022095855359627705115262701592086420499927731764650420946422530757216632295595485377953590116592031665175972449563177172177625616037721789811568491454820273596133012289840796339856924596723503785051388597430527230126097242389072625091965733878511286877829305189139723115431081474154012996830512125335370656544831620355309998995926581689151984687309848708511050986903680041690485681651936665972401592747418206362305542527205215711439063273841942052563658906516156636048605312589654536393634714919018074008208148663434959362421093153422340696583288621606704030068641860847469694409373145574667105967276715124607317184788353319289050359778672353257401995554101968992724229179524164104941314874207949692531130396636626300423648943912199715010428924638096526060993581810339780478306181790771826631469149137209391482938578928079783677612686484375294587004851943599047844804787254854720285229042584557229 404684318392247610496792632392062420537515060931028642618759795403062079763002972354326924112493050820509668350093809894611117932730419594736932326419520540134907345526228783260019489374947592765271793719014927336044645768775285032903266070187875767328676468274100866874210391447702973676483748903621298899621905142070933803946168299286276229060618496279553675550612884017187530292049347440886035303753241190086642930035688662837382818476881935199513759765898153528000955793939591862838072981826325908823986933665307755295028282926716196743049392719180262951062191269283374268086810954359651724794909706611872192277498820240329735967592480680410057666056188544526717168429515382969705684993708923591077993310580259154263584049914281279980933467959330046284079217707936505980372857464507040316177680774493289510483820816203253369050070246955174170777091716052326645761884787382124985218067583180940207276992367885640664481478713134327227095249121797418868984845586086367131974537532448334254774477569508831270827545659171606392406235380594402498659168419974318148641635214114175771856281676389728627850284271637446567202258706623564276385891137611064823067196869503832768093118796940012386070094340363878106514777860707097681905345366064285939768246986271903644167492897790341838162797059993759314406603333778519123926752684130783395631657472921830908230479590683334105842630039484722007033622772696819521510492436305903984198040084565623851889647037327370917153769925866583421170598283311894352213010004024904228649024394711966591073826142548269932606984088076638864097339282345662166199393835590318007258479725030542980399506426616270921347065786434976961534512761138406176878522033808408014547236278487958811454183304586431392371194833793264246690182031864112964926052778061202752261679327704783957190290731124236338459289404373308289204575444012301712614548378805885334883648922535820182023771664512041660015521671427250929242474557550941861683971791149765070672947934023316121280060741243775739279684496345631640417022053094250273404579382671978087172696409021116080775232188808102607326269707620001766999687459123191770515549372212159325904388952551475826860591033515852972575240982914449303962568025458952905917325797440472243059879813781300615043243612250147032430102400958979846752697545864240478076377648139711891631258393277299285050456313754341830789357867908352264770462062228636432464547583032930595246440726781729424949911859674263876199212895974082744107167438080554845912932014173737970287378166662066764336264222269359811273348558701914864770177486364638575086214014310543414341574248151881921410391253699652419019025007375704340293664261807591162684073192664486206321060072852243752636580975413858517900863745784678348697663074559895423906743101085028346815102198516729589804065864700635404861158106358671649353519764096006183960585721407 654792981872740835007127254067488174625885807880575863399423921520096385707771505019400184657954554508870219604371710782118092733560818041828909858463752719871160410539870366489344142184725877279766692933532241011177929056013155593479824580771785168600380838879271688245504813270009821878983130997382095440844770830749232383331705565651634202052906316627066903080912058499466659069834996734735856175460108419941679610758926952257503278532456995420960291956244724513215779697239057212765781039017372294669093901683988315458648635615023851328530989030668847765588778445476896418054167078394521451457795373962428189979376673508990682482898165001143742113444292334169563522327426299060009663194045251773503209946245447273073240966079328823423090816224967387335902141476866310568926954266331416929784048399616441681775487683390651317066658506550572992737962624472971426578684708100232868710820828299070558305272291676380752686339496361157009357403270757341065598795257176600781810571182353196080448023089846986300931945091402137401852292649549903119097790903450441857252138506466431140012024991738157682286427271075425080954165203208715083407303991046078354877082345500184044617913048764034619255487801519048374007508486406338223569417645356202286291506789671477541774113664610464611952230966259873249372332182075445518941486544930599080190718352442482887784521320380591401359972541903897350397769598590091159387051578058355148358245890342290493872321977793247668853208173105285366088134385798707237631094319541802595926446913430342124016352608007828064547943216800133158867370375538238562149925252645170928710841575828818634902632644019533628553139518106691638596254701434015970409822680853460161786949389390317689059904875833064816927052108967802426282624611823129288429750029604262995189831640066657597904364811737144902491049705651287006442901454183585331746843692936485004113759685597357352837157693005735952363452608784623163508294211730203972528579157548247092768803293651021236542762333330196239207416260996052586839552810310882569000064760625568203764728074197088530338409360985728223363991497431570258454507732719324782805390168552016250501112456336527215458021560745979069817630055539541269696446536745830735222514937163587674141353967794297445555368947620803577261722756268978842679279235016225165386226356650762878534938434967784966702392979726743423536776074270657807297667277940075495738389525085494254152956883417778030262501514210657510914131914048090952255830873039917267006085436514434553575999773366096832978125069739054220646494133369020832046892610971955759874567333599593774120246601409283916964493222692376648198549171480645655167872211500122293080709818964909855264972272567254181561219071939919511482674085565156654879453846386526893055880310476511285394030278300407202490550239995222409713101705406516454140774618816291413003170278636 1059477300264988445503919886459550595163400868811604506018183716923158465470774477373727108770447605329379887954465520676729210666291237636565842184883273260006067756066099149749363631559673470045038486652547168347222574824788440626383090650959660935929057307153372555119715204717712795555466879901003394340466675972820166187277873864937910431113524812906620578631524942516654189361884344175621891479213349610028322540794615615094886097009338930620474051722142878041216735491178649075603854020843698203493080835349296070753676918541740048071580381749849110716650969714760270686140978032754173176252705080574300382256875493749320418450490645681553799779500480878696280690756941682029715348187754175364581203256825706427336825015993610103404024284184297433619981359184802816549299811730838457245961729174109731192259308499593904686116728753505747163515054340525298072340569495482357853928888411480010765582264659562021417167818209495484236452652392554759934583640843262967913785108714801530335222500659355817571759490750573743794258528030144305617756959323424760005893773720580606911868306668127886310136711542712871648156423909832279359793195128657143177944279215004016812711031845704047005325582141882926480522286347113435905474763011420488226059753775943381185941606562400806450115028026253632563778935515853964642868239229061382475822375825364313796015000911063925507202602581388619357431392371286910680897544014364259132556285974907914345761969015120618586006978098971868787258732669110601589844104323566706824575471308142308715090178750556097997154927304876772022964709657883900728349319088235488935969321300859361615302139070635804549900205304541668600130767462572422147288344714661868176334185667878276500514088180419496209298246942761066672972806643687242253355802807665465747451510967771441555094655542861381240950339110024595295647476898195887044361392071742370338997408608133177534860929357517777612378974280211874092750768769281145834212550948698012163441751227674337357822823074573971978487100757341684227256574863405132842404644143297546290937424483218204611113641549793830830690261205051572025454195191842516553320939540764175576405501408888003042318612594261832042392871038453990573659014562204783641139840734604059917201233781575598060598612559870950609691825157227958689431976780880465643462604004790474770166196828245084251752849293481085254326133942179010072068129340168711928202937108118424849399397610199507455212413373884921387113344810022173696362998311120472112919017450688172523863377940028163597314389292008414031919842692070935696817070097336594334960781347910137188461820849561165838374884476392029067217574178856349995461536473307713455764783011629396061586032345419497934197800047353778029383537831349835003577116920946422316962623411561539632209132476817136792294616104695857814574259811765188103494294382912297596963756000043 1714270282137729280511047140527038769789286676692180369417607638443254851178545982393127293428402159838250107558837231458847303399852055678394752043347025979877228166605969516238707773744399347324805179586079409358400503880801596219862915231731446104529438146032644243365220017987722617434450010898385489781311446803569398570609579430589544633166431129533687481712437001016120848431719340910357747654673458029970002151553542567352389375541795926041434343678387602554432515188417706288369635059861070498162174737033284386212325554156763899400111370780517958482239748160237167104195145111148694627710500454536728572236252167258311100933388810682697541892944773212865844213084367981089725011381799427138084413203071153700410065982072938926827115100409264820955883500661669127118226765997169874175745777573726172874034796182984556003183387260056320156253016964998269498919254203582590722639709239779081323887536951238402169854157705856641245810055663312101000182436100439568695595679897154726415670523749202803872691435841975881196110820679694208736854750226875201863145912227047038051880331659866043992423138813788296729110589113040994443200499119703221532821361560504200857328944894468081624581069943401974854529794833519774129044180656776690512351260565614858727715720227011271062067258992513505813151267697929410161809725773991981556013094177806796683799522231444516908562575123292516707829161969877001840284595592422614280914531865250204839634290992913866254860186272077154153346867054909308827475198643108509420501918221572650839106531358563926061702870521676905181832080033422139290499244340880659864680162876688180250204771714655338178453344822648360238727022164006438117698167395515328338121135057268594189573993056252561026225299051728869099255431255510371541785552837269728742641342607838099152999020354598526143441388815675882302090378352379472376108235764678855343111168293730534887698087050523513564742426888996497256259062981011349806741130106246259256210554521325358594365585407904168217694517018337736814096127673716015411404708903923114494702152557415293141452050910779559054054252702483142283908702924561841336126329709316191826906613865224530257776634155007811112210501093993531843355461098950614376362355671767647591342587749369895506153981507491754186953547913496937532111256015896690808848830361441237648701135263212869218455242273207828677862910016449667879365796618108787423941326633203919103552354493617285485474914888095578898027476724070264648618829184160389379925102887202607077439377713394260430292514361747468252566336825439956528863962708308550094835348681509730962582067450970449755339377699084405715416123350336995650629408684807835748845492830594305916851004617986752115759019119293697540866211916914991658456570767332949210018503722038050917603162755117543994785166344691080224287361517171704557635069001728589009966926278679 2773747582402717726014967026986589364952687545503784875435791355366413316649320459766854402198849765167629995513302752135576514066143293314960594228230299239883295922672068665988071405304072817369843666238626577705623078705590036846246005882691107040458495453186016798484935222705435412989916890799388884121778122776389564757887453295527455064279955942440308060343961943532775037793603685085979639133886807639998324692348158182447275472551134856661908395400530480595649250679596355363973489080704768701655255572382580456966002472698503947471691752530367069198890717874997437790336123143902867803963205535111028954493127661007631519383879456364251341672445254091562124903841309663119440359569553602502665616459896860127746890998066549030231139384593562254575864859846471943667526577728008331421707506747835904066294104682578460689300116013562067319768071305523567571259823699064948576568597651259092089469801610800423587021975915352125482262708055866860934766076943702536609380788611956256750893024408558621444450926592549624990369348709838514354611709550299961869039685947627644963748638327993930302559850356501168377267013022873273802993694248360364710765640775508217670039976740172128629906652085284901335052081180633210034518943668197178738411014341558239913657326789412077512182287018767138376930203213783374804677965003053364031835470003171110479814523142508442415765177704681136065260554341163912521182139606786873413470817840158119185396260008034484840867164371049022940605599724019910417319302966675216245077389529714959554196710109120024058857797826553677204796789691306040018848563429116148800649484177547541865506910785291142728353550127190028838857789626578860264986512110177196514455320725146870690088081236672057235523545994489935772228237899197613795141355644935194490092853575609540708093675897459907384391727925700477597737855250575359420469627836421225682108576901863712422559016408041291177121401169208371349009831750292495640953681054944271419652305748999695952188408482478140196181617775679421041352702537121148253809353047220660785639577040633497752565692460573389884744513907534714309362898116404357889447269250080367403312115274112533300095246749269643154603372132447522417014475661155398017502196406371707508543821530945493566752594067362704796645373070724896221543232796777156452311434366231712418867332091457953470208091566688913932189043958628677951433925958277499352144263741322343952951752103816792940687328261980500285140821534092438344981827495280861492844120337890779601302755653422424027606903653755882284486179517510892225681032805645144429796130029419868151043888300531615593714262175476434782633697529193345646090945158115549204610275842223701978437036963406250049956819166647475570249749748264826662033687688279371526981127133599590549812295231934680787079782449386938038861621328936892661129363384640886606930682278722 4488017864540447006526014167513628134741974222195965244853398993809668167827866442159981695627251925005880103072139983594423817465995348993355346271577325219760524089278038182226779179048472164694648845824705987064023582586391633066108921114422553144987933599218661041850155240693158030424366901697774373903089569579958963328497032726116999697446387071973995542056398944548895886225323025996337386788560265669968326843901700749799664848092930782703342739078918083150081765868014061652343124140565839199817430309415864843178328026855267846871803123310885027681130466035234604894531268255051562431673705989647757526729379828265942620317268267046948883565390027304427969116925677644209165370951353029640750029662968013828156956980139487957058254485002827075531748360508141070785753343725178205597453284321562076940328900865563016692483503273618387476021088270521837070179077902647539299208306891038173413357338562038825756876133621208766728072763719178961934948513044142105304976468509110983166563548157761425317142362434525506186480169389532723091466459777175163732185598174674683015628969987859974294982989170289465106377602135914268246194193368063586243587002336012418527368921634640210254487722028686876189581876014152984163563124324973869250762274907173098641373047016423348574249546011280644190081470911712784966487690777045345587848564180977907163614045373952959324327752827973652773089716311040914361466735199209487694385349705408324025030551000948351095727350643126177093952466778929219244794501609783725665579307751287610393303241467683950120560668348230582386628869724728179309347807769996808665329647054235722115711682499946480906806894949838389077584811790585298382684679505692524852576455782415464879662074292924618261748845046218804871483669154707985336926908482204923232734196183447639861092696252058433527833116741376359899828233602954831796577863601100081025219745195594247310257103458564804741863828058204868605268894731303845447694811161190530675862860270325054546553993890382308413876134794017157855448830210837163665214061951143775280341729598048790894017743371352948938798766610017856593271601040966199225573598959396559230218729139337063557871880904277454266813873226441054260369936760106012393864552078139355099886409280315389072906575574854458983598920984221833753654488812673847261160264727672950067568467354670822688663333839896742610051953975078345830799722576386286776085590374526263056504106597434078426162243150076079183168298258162702993600656679441250872769223225093386678742133366816684457899418015503350537052516342950848754544995513953694524631478710929599113625955751502065349053639874560840498049820879530341296720353842923384953455768672818007895288041581393002165715838285941173111115961665179818320490258455612320736999630855637641467415457987052224781864948794078018263148982846108597218764432386369475616897608557401 7261765446943164732540981194500217499694661767699750120289190349176081484477186901926836097826101690173510098585442735730000331532138642308315940499807624459643820011950106848214850584352544982064492512063332564769646661291981669912354926997113660185446429052404677840335090463398593443414283792497163258024867692356348528086384486021644454761726343014414303602400360888081670924018926711082317025922447073309966651536249858932246940320644065639365251134479448563745731016547610417016316613221270607901472685881798445300144330499553771794343494875841252096880021183910232042684867391398954430235636911524758786481222507489273574139701147723411200225237835281395990094020766987307328605730520906632143415646122864873955903847978206036987289393869596389330107613220354613014453279921453186537019160791069397981006623005548141477381783619287180454795789159576045404641438901601712487875776904542297265502827140172839249343898109536560892210335471775045822869714589987844641914357257121067239917456572566320046761593289027075131176849518099371237446078169327475125601225284122302327979377608315853904597542839526790633483644615158787542049187887616423950954352643111520636197408898374812338884394374113971777524633957194786194198082067993171047989173289248731338555030373805835426086431833030047782567011674125496159771165655780098709619684034184149017643428568516461401740092930532654788838350270652204826882648874805996361107856167545566443210426811008982835936594515014175200034558066502949129662113804576458941910656697281002569947499951576803974179418466174784259591425659416034219328196371199112957465979131231783263981218593285237623635160445077028417916442601417164158647671191615869721367031776507562335569750155529596675497272391040708740643711907053905599132068264127140117722827049759057180569186372149518340912224844667076837497566088853530191217047491437521306707328322097457959732816119866606095918985229227413239954278726481596341088648492216134802095515166019324750498742402372860448610057752569696578896801532747958311919023414998364436065981306638682288646583435831926338823543280517552570902634499157370557115020868209476926633530844413449596857967127653547097421417245358888576677384412421261410411366748484511062608430230811260882639659169642217163780244294054946729975197721609451003713471699093904662486435799446128776158871425406585656542240997933707023782233648534663786128229854115848607009455858701250871366849571412056579468309119792255141338582484174722112365613343562984166280044889020239108485506321669259232821538695860461740980226028319598838954427608740349467264669844052033680942767902050037275280683518408723686942811299001038934158066044515041709873725078544799252215672657452588648681365711413444644982523946143891692263980757989237232017227753218986905568944731243464956302010604175045489879893795771010362223828290836123 11749783311483611739066995362013845634436635989895715365142589342985749652305053344086817793453353615179390201657582719324424148998133991301671286771384949679404344101228145030441629763401017146759141357888038551833670243878373302978463848111536213330434362651623338882185245704091751473838650694194937631927957261936307491414881518747761454459172730086388299144456759832630566810244249737078654412711007338979934978380151559682046605168736996422068593873558366646895812782415624478668659737361836447101290116191214310143322658526409039641215297999152137124561151649945466647579398659654005992667310617514406544007951887317539516760018415990458149108803225308700418063137692664951537771101472259661784165675785832887784060804958345524944347648354599216405639361580862754085239033265178364742616614075390960057946951906413704494074267122560798842271810247846567241711617979504360027174985211433335438916184478734878075100774243157769658938408235494224784804663103031986747219333725630178223084020120724081472078735651461600637363329687488903960537544629104650289333410882296977010995006578303713878892525828697080098590022217294701810295382080984487537197939645447533054724777820009452549138882096142658653714215833208939178361645192318144917239935564155904437196403420822258774660681379041328426757093145037208944737653346557144055207532598365126924807042613890414361064420683360628441611439986963245741244115610005205848802241517250974767235457362009931187032321865657301377128510533281878348906908306186242667576236005032290180340803193044487924299979134523014841978054529140762398637544178969109766131308778286018986096930275785184104541967340026866806994027413207749457030355871121562246219608232289977800449412229822521293759021236086927545515195576208613584468995172609345040955561245942504820430279068401576774440057961408453197397394322456485023013625355038621387732548067293052207043073223325170900660849057285618108559547621212900186536343303377325332771378026289649805045296396263242757023933887363713736752250362958795475584237476949508211346323036236731079540601179203279287762342047127570427495906100198336756340594467168873485863749573552786660415839008557824551688231118585329630937754349181367422805231300562650417708316640091576271712565745217071622763843215039168563728852210422124850974631963821577612554004266800799598847534759246482399152292951908785369613033371111050072904315444490374870065959965298684949793011814562132658651477418050417844332183140854163363238382566788077552958787022387055792943405739684762583358591212203412589734771023833552533479059087451279066378295799803535746291821541924598115778733339288254028239531652843962319111521813187859717769013120126192254381388495738529821792481673078624463303014204599504013000980388844874873484643211206039130350809680037542974565159587021154087098658228157379837840725899393524 19011548758426776471607976556514063134131297757595465485431779692161831136782240246013653891279455305352900300243025455054424480530272633609987227271192574139048164113178251878656480347753562128823633869951371116603316905170354972890818775108649873515880791704028016722520336167490344917252934486692100889952824954292656019501266004769405909220899073100802602746857120720712237734263176448160971438633454412289901629916401418614293545489381062061433845008037815210641543798963234895684976350583107055002762802073012755443466989025962811435558792874993389221441172833855698690264266051052960422902947529039165330489174394806813090899719563713869349334041060590096408157158459652258866376831993166293927581321908697761739964652936551561931637042224195605735746974801217367099692313186631551279635774866460358038953574911961845971456050741847979297067599407422612646353056881106072515050762115975632704419011618907717324444672352694330551148743707269270607674377693019831389133690982751245463001476693290401518840328940488675768540179205588275197983622798432125414934636166419279338974384186619567783490068668223870732073666832453489352344569968600911488152292288559053690922186718384264888023276470256630431238849790403725372559727260311315965229108853404635775751433794628094200747113212071376209324104819162705104508819002337242764827216632549275942450471182406875762804513613893283230449790257615450568126764484811202209910097684796541210445884173018914022968916380671476577163068599784827478569022110762701609486892702313292750288303144621291898479397600697799101569480188556796617965740550168222723597287909517802250078148869070421728177127785103895224910470014624913615678027062737431967586640008797540136019162385352117969256293627127636286158907483262519183601063436736485158678388295701562000999465440551095115352282806075530034894960411310015214230672846476142694439876389390510166775889343191776996579834286513031348513826347694496527624991795593460134866893192308974555544038798636103205633991639933410315649051895706753787503260891947872647412304342875413368187184615035205626585885327645122998398540599355707313455615335378350412497280417966236257273806136211371649109648363944218207615138761602628833216598049047161480316746870902837154352224914859288786544087509094115293704049932031575854688103662915482275040440066246928375006406184653068055694533949842492393395267019645713859032545298606223477075415823999935821159861385974189238119786537842672985670765625028885475603995910351061719238831911407294901428912061354021816180129908063874330714997052153151372433486696191628533642965643855569427234589443974635391059416857696977715182342951845001253269587857702901427642738198670991506597061153191118470473847384492069108285538150743395705264961146834112105501870964425026035919754411281007930867170191196199576978552023928390200064554190229647 30761332069910388210674971918527908768567933747491180850574369035147580789087293590100471684732808920532290501900608174378848629528406624911658514042577523818452508214406396909098110111154579275582775227839409668436987149048728275869282623220186086846315154355651355604705581871582096391091585180887038521880782216228963510916147523517167363680071803187190901891313880553342804544507426185239625851344461751269836608296552978296340150658118058483502438881596181857537356581378859374353636087944943502104052918264227065586789647552371851076774090874145526346002324483801165337843664710706966415570258146553571874497126282124352607659737979704327498442844285898796826220296152317210404147933465425955711746997694530649524025457894897086875984690578794822141386336382080121184931346451809916022252388941851318096900526818375550465530317864408778139339409655269179888064674860610432542225747327408968143335196097642595399545446595852100210087151942763495392479040796051818136353024708381423686085496814014482990919064591950276405903508893077179158521167427536775704268047048716256349969390764923281662382594496920950830663689049748191162639952049585399025350231934006586745646964538393717437162158566399289084953065623612664550921372452629460882469044417560540212947837215450352975407794591112704636081197964199914049246472348894386820034749230914402867257513796297290123868934297253911672061230244578696309370880094816408058712339202047515977681341535028845210001238246328777954291579133066705827475930416948944277063128707345582930629106337665779822779376735220813943547534717697559016603284729137332489728596687803821236175079144855605832719095125130762031904497427832663072708382933858994213806248241087517936468574615174639263015314863214563831674103059471132768070058609345830199633949541644066821429744508952671889792340767483983232292354733766500237244298201514764082172424456683562373818962566516947897240683343798649457073373968907396714161335098970785467638271218598624360589335194899345962657925527297124052401302258665549263087498368897380858758627379112144447727785794238484914348227374772693425894446699554044069796209802547223898361029991519022917689645144769196200797879482529547838552893110783996256021829349609811898025063510994413426064790660076360409307930724133283857432902142453700705662735626737059887594444333047727973853940943899550454846826901751277763008300390756763931936860743096598347141375789298620770952873200536321896771263955893090830002948765883048838842378477139139272197618933794350694372317801038784399538721120267286920449768075986703905912545783642907600021261443659105173526410985899233506838150196985231743421874604688963572381109670890761145411751318797183760978449648929648292266329057570693571588552355342899718265941535678986978986514175631065166270564091318550905432329778217353664077210252085770037905280089623171 49772880828337164682282948475041971902699231505086646336006148727309411925869533836114125576012264225885190802143633629433273110058679258521645741313770097957500672327584648787754590458908141404406409097790780785040304054219083248760101398328835960362195946059679372327225918039072441308344519667579139411833607170521619530417413528286573272900970876287993504638171001274055042278770602633400597289977916163559738238212954396910633696147499120544936283889633997068178900380342094270038612438528050557106815720337239821030256636578334662512332883749138915567443497317656864028107930761759926838473205675592737204986300676931165698559457543418196847776885346488893234377454611969469270524765458592249639328319603228411263990110831448648807621732802990427877133311183297488284623659638441467301888163808311676135854101730337396436986368606256757436407009062691792534417731741716505057276509443384600847754207716550312723990118948546430761235895650032766000153418489071649525486715691132669149086973507304884509759393532438952174443688098665454356504790225968901119202683215135535688943774951542849445872663165144821562737355882201680514984522018186310513502524222565640436569151256777982325185435036655919516191915414016389923481099712940776847698153270965175988699271010078447176154907803184080845405302783362619153755291351231629584861965863463678809707984978704165886673447911147194902511020502194146877497644579627610268622436886844057188127225708047759232970154627000254531454647732851533306044952527711645886550021409658875680917409482287071721258774335918613045117014906254355634569025279305555213325884597321623486253228013926027560896222910234657256814967442457576688386409996596426181392888249885058072487737000526757232271608490342200117833010542733651951671122046082315358312337837345628822429209949503767005144623573559513267187315145076515451474971047990906776612300846074072540594851909708724893820517630311680805587200316601893241786326894564245602505164410907598916133373993535449168291917167230534368050354154372303050590759260845253506170931721987557815914970409273690540934112702417816424292987298909751383251825137925574310858310409485259174963451280980567849907527846473766046168031872386625089238427398656973378341810381897250580417015574935649195852018233227399151136952074485276560350839289652542162634884399294656348860347128552618510541360851593770156403567410402477790969406041702821824216791613298556592112734586510511134891050493735763815673714390911934314446374387490200991436450845201645595801229862392806215718851028331161251164765128139855278346032479834536133664227087514674600761000429873868897897567054682209458604217556533964825650697528593662573054489517468175267575510802120766762740176442062762679874090506086295423530902682513099084488385140056091202190318502599558836299499969413553241055762276014160237969834279852818 80534212898247552892957920393569880671267165252577827186580517762456992714956827426214597260745073146417481304044241803812121739587085883433304255356347621775953180541991045696852700570062720679989184325630190453477291203267811524629384021549022047208511100415330727931931499910654537699436104848466177933714389386750583041333561051803740636581042679475184406529484881827397846823278028818640223141322377914829574846509507375206973846805617179028438722771230178925716256961720953644392248526472994059210868638601466886617046284130706513589106974623284441913445821801458029365951595472466893254043463822146309079483426959055518306219195523122524346219729632387690060597750764286679674672698924018205351075317297759060788015568726345735683606423381785250018519647565377609469555006090251383324140552750162994232754628548712946902516686470665535575746418717960972422482406602326937599502256770793568991089403814192908123535565544398530971323047592796261392632459285123467661839740399514092835172470321319367500678458124389228580347196991742633515025957653505676823470730263851792038913165716466131108255257662065772393401044931949871677624474067771709538852756156572227182216115795171699762347593603055208601144981037629054474402472165570237730167197688525716201647108225528800151562702394296785481486500747562533203001763700126016404896715094378081676965498775001456010542382208401106574572250746772843186868524674444018327334776088891573165808567243076604442971392873329032485746226865918239133520882944660590163613150117004458611546515819952851544038151071139426988664549623951914651172310008442887703054481285125444722428307158781633393615318035365419288719464870290239761094792930455420395199136490972576008956311615701396495286923353556763949507113602204784719741180655428145557946287378989695643858954458456438894936964341043496499479669878843015688719269249505670858784725302757634914413814476225672791061200974110330262660574285509289955947661993535031070143435629506223276722709188434795130949842694527658420451656413037852313678257629742634364929559101099702263642756203512175455282340077190509850187433998463795453048034940472798209219340401004282092653096425749764050705407329003313884720924983170621345260256748266785276366873892891664006481806235012009605159948957360683008569854216938977266013574916389602050229328732342384322714288072452168965388187753345047919411867801159241722906266784799420171358167402597177363065607787046833031662314449628854645676663156794983153288752864629340263634069778995996290173547663431590615257572148598448171614533204126559184258578263477443733685488531173779774287411415773102404735717251667441202026092161222928398031807199484423718466240836265359028553960451050415055006505499633456251462642861429195141796844218192086063474899315687156368460882593918109741731829747630906905132972528099930275875114369475989 130307093726584717575240868868611852573966396757664473522586666489766404640826361262328722836757337372302672106187875433245394849645765141954949996670117719733453852869575694484607291028970862084395593423420971238517595257486894773389485419877858007570707046475010100259157417949726979007780624516045317345547996557272202571750974580090313909482013555763177911167655883101452889102048631452040820431300294078389313084722461772117607542953116299573375006660864175993895157342063047914430860965001044616317684358938706707647302920709041176101439858372423357480889319119114893394059526234226820092516669497739046284469727635986684004778653066540721193996614978876583294975205376256148945197464382610454990403636900987472052005679557794384491228156184775677895652958748675097754178665728692850626028716558474670368608730279050343339503055076922293012153427780652764956900138344043442656778766214178169838843611530743220847525684492944961732558943242829027392785877774195117187326456090646761984259443828624252010437851656828180754790885090408087871530747879474577942673413478987327727856940668008980554127920827210593956138400814151552192608996085958020052355280379137867618785267051949682087533028639711128117336896451645444397883571878511014577865350959490892190346379235607247327717610197480866326891803530925152356757055051357645989758680957841760486673483753705621897215830119548301477083271248966990064366169254071628595957212975735630353935792951124363675941547500329287017200874598769772439565835472372236050163171526663334292463925302239923265296925407058040033781564530206270285741335287748442916380365882447068208681535172707660954511540945600076545534432312747816449481202927051846576592024740857634081444048616228153727558531843898964067340124144938436671412302701510460916258625216335324466288164407960205900081587914603009766666985023919531140194240297496577635397026148831707455008666385934397684881718604422011068247774602111183197733988888099276672648600040413822192856083181970244299241759861758192788502010567410155364269016890587887871100490823087260079557726612785865996216452779608326274480421297373546836299860078398372520077650810489541267616547706730331900612935175477079930888956855557246434498684146923758654708684274788914586898821809947658801011967190588082159706806291424253826364414206042144212864213131637040671574635201004787475929548604938818075815435211561719513875672826502241995574959015895733955178342373557344166553364943364618461350377547706917467735127252119541255070520624197641885974777525824396830976423176929609422779298332266414462604610743311979867349715618688454375048411845646971302633284306349650660630309717756893223682504728078086291520730353733534296129471253171181817746681941696218931336733367515490565327746900705185147963284455743247570651201096517668578031329717044460146188734804114090513844948649328807 210841306624832270468198789262181733245233562010242300709167184252223397355783188688543320097502410518720153410232117237057516589232851025388254252026465341509407033411566740181459991599033582764384777749051161691994886460754706298018869441426880054779218146890340828191088917860381516707216729364511495279262385944022785613084535631894054546063056235238362317697140764928850735925326660270681043572622671993218887931231969147324581389758733478601813729432094354919611414303784001558823109491474038675528552997540173594264349204839747689690546832995707799394335140920572922760011121706693713346560133319885355363953154595042202310997848589663245540216344611264273355572956140542828619870163306628660341478954198746532840021248284140120174834579566560927914172606314052707223733671818944233950169269308637664601363358827763290242019741547587828587899846498613737379382544946370380256281022984971738829933015344936128971061250037343492703881990835625288785418337059318584849166196490160854819431914149943619511116309781217409335138082082150721386556705532980254766144143742839119766770106384475111662383178489276366349539445746101423870233470153729729591208036535710094801001382847121381849880622242766336718481877489274498872286044044081252308032548648016608391993487461136047479280312591777651808378304278487685559758818751483662394655396052219842163638982528707077907758212327949408051655521995739833251234693928515646923291989064627203519744360194200968118912940373658319502947101464688011573086718417032826213776321643667792904010441122192774809335076478197467022446114154158184936913645296191330619434847167572512931109842331489294348126858980965495834253897183038056210575995857507266971791161231830210090400360231929550222845455197455728016847237747143221391153483356938606474204912595325020110147118866416644795018552255646506266146654902762546828913509547002248494181751451589342369422480862160070475942919578532341330908348887620473153681650881634307742792035669920045469578792370405039430191602556285851208953666980448007677947274520330522236030049924186962343200482816298041451498792856798836124667855295837342289347895018871170729296991211493823360269644132480095951318342504480393815609881838727867779758940895190543931075558167680578593380628044959668406171916147948765168276660508363231092377989122431746263093541863979424994288923273456956441317736358283865995227303012720961236781939611301662166933126418492911318243950160604177198215679392993473107027040704501900621023880116748881518704590403193638176148325189255987446233995325528057594393831536392973646863189006789423601035204149862234149335823261420073707369001558017091862656401878979821621714311927562510009986971189998893324683431704221596872753187441329675182799376228944685707124591118897271211438183771430403939112083690435778319763159464675367051321707332214020789720063018804796 341148400351416988043439658130793585819199958767906774231753850741989801996609549950872042934259747891022825516419992670302911438878616167343204248696583061242860886281142434666067282628004444848780371172472132930512481718241601071408354861304738062349925193365350928450246335810108495714997353880556812624810382501294988184835510211984368455545069791001540228864796648030303625027375291722721864003922966071608201015954430919442188932711849778175188736092958530913506571645847049473253970456475083291846237356478880301911652125548788865791986691368131156875224460039687816154070647940920533439076802817624401648422882231028886315776501656203966734212959590140856650548161516798977565067627689239115331882591099734004892026927841934504666062735751336605809825565062727804977912337547637084576197985867112334969972089106813633581522796624510121600053274279266502336282683290413822913059789199149908668776626875679349818586934530288454436440934078454316178204214833513702036492652580807616803691357978567871521554161438045590089928967172558809258087453412454832708817557221826447494627047052484092216511099316486960305677846560252976062842466239687749643563316914847962419786649899071063937413650882477464835818773940919943270169615922592266885897899607507500582339866696743294806997922789258518135270107809412837916515873802841308384414077010061602650312466282412699804974042447497709528738793244706823315600863182587275519249202040362833873680153145325331794854487873987606520147976063457784012652553889405062263939493170331127196474366424432698074632001885255507056227678684364455222654980583939773535815213050019581139791377504196955302638399926565572379788329495785872660057198784559113548383185972687844171844408848157703950403987041354692084187361892081658062565786058449067390463537811660344576435283274376850695100140170249516032813639926682077969107749844498826129578777600421049824431147248094468160824638182954352399156123489731656351415639769733584415440635710333867662434875552375283729433362418044043997455677547858163042216291410918410107130540747274222422758209429083907447715245636407162399148276593210889125647755097269543249374642021983364627886191839210427851931277679957473746498838694285114214257625042114302585784242442469493180279449854907327207183883338536847327983466799787484918742403328473890475957754995616465665863558474461743917247284963222684071042738224282680750657612437803904162508085434388645273422292534161521364769044336358091568377418252208818088759007368868422773775111027391280062123102715080384277210418502457667017173129868659388109467799750101403468384919768550688524384235107067045010002285864366742523286711596736714845396816655640596301507701543732427620812902957392778690499869383025894114136109596460176272452338019602456359401468227173651509763284786953446897794489181719827197510442136328111303565011668133603 551989706976249258511638447392975319064433520778149074940921034994213199352392738639415363031762158409742978926652109907360428028111467192731458500723048402752267919692709174847527274227038027613165148921523294622507368178996307369427224302731618117129143340255691756641335253670490012422214083245068307904072768445317773797920045843878423001608126026239902546561937412959154360952701951993402907576545638064827088947186400066766770322470583256777002465525052885833117985949631051032077079947949121967374790354019053896176001330388536555482533524363838956269559600960260738914081769647614246785636936137509757012376036826071088626774350245867212274429304201405130006121117657341806184937790995867775673361545298480537732048176126074624840897315317897533723998171376780512201646009366581318526367255175749999571335447934576923823542538172097950187953120777880239715665228236784203169340812184121647498709642220615478789648184567631947140322924914079604963622551892832286885658849070968471623123272128511491032670471219262999425067049254709530644644158945435087474961700964665567261397153436959203878894277805763326655217292306354399933075936393417479234771353450558057220788032746192445787294273125243801554300651430194442142455659966673519193930448255524108974333354157879342286278235381036169943648412087900523476274692554324970779069473062281444813951448811119777712732254775447117580394315240446656566835557111102922442541191104990037393424513339526299913767428247645926023095077528145795585739272306437888477715814813998920100484807546625472883967078363452974078673792838522640159568625880131104155250060217592094070901219835686249650765258907531068214042226678823928870633194642066380520174347204518054262244769080087254173249442238810420101034599639224879453719269415387673864668450406985364686582402140793495490118692425896022298960294829444624798021259391501074623760529052010392193853628110254538636767557761486693730064472377352129505097290651367892158232671380253913132013667922780323159624964974329895206409344528306170720163565931248932343160590671461184765958692245381948899214038493205998523816131889048231414995650116140713978671633233477187988155835971690523803249620184437867562108720533012981994016565937304846516859800610150071773660077899866995613355799486485612496260127308150716011120392450905636739051296859595890660152481747918700358565021321506550066270041237003641987439552049105566329441211852881556591666242694765698562984723729351564675404458956710718709782887485617304292479701430584918238271427904336371723444413827985724611566961405052361756330988756890827069420123918412922673720058368487118717371287422383834385943113475716536467111128583203106311494672733731320945496334661614375563253056824355569296935485825404861979576929138499727570839651998604055448875368477389225217557648646395194248832149468542132093285074686938399 893138107327666246555078105523768904883633479546055849172674885736203001349002288590287405966021906300765804443072102577663339466990083360074662749419631463995128805973851609513594556855042472461945520093995427553019849897237908440835579164036356179479068533621042685091581589480598508137211437125625120528883150946612761982755556055862791457153195817241442775426734060989457985980077243716124771580468604136435289963140830986208959255182433034952191201618011416746624557595478100505331050404424205259221027710497934198087653455937325421274520215731970113144784060999948555068152417588534780224713738955134158660798919057099974942550851902071179008642263791545986656669279174140783750005418685106891005244136398214542624075103968009129506960051069234139533823736439508317179558346914218403102565241042862334541307537041390557405065334796608071788006395057146742051947911527198026082400601383271556167486269096294828608235119097920401576763858992533921141826766726345988922151501651776088426814630107079362554224632657308589514996016427268339902731612357889920183779258186492014756024200489443296095405377122250286960895138866607375995918402633105228878334670365406019640574682645263509724707924007721266390119425371114385412625275889265786079828347863031609556673220854622637093276158170294688078918519897313361392790566357166279163483550072343047464263915093532477517706297222944827109133108485153479882436420293690197961790393145352871267104666484851631708621916121633532543243053591603579598391826195842950741655307984330047296959173971058170958599080248708481134901471522887095382223606464070877691065273267611675210692597339883204953403658834096640593830556174609801530690393426625494068557533177205898434089177928244958123653429280165112185221961531306537516285055473836741255131988218645709263017685415170346185218832596145538331773934756126702767129009235999900753339306652431442018284775358349006797592195944441046129220595867083785856512930421101476573673307090587780794448543475155606889058327392373939203865022076164333762379857342167342450291131418735407188716901674465856346929284129613160922964408482259120540643405213410257228046275255460552616042027810900951655180897864395341308607559227298096208274190979419149102644043052619564953939527754774322820539682825022459824243594107938200929862795779379527215009051855212356326016040222380444275812306284729234137312779461286322738097164486909470491949297287270201865088535228927219927753768065709656243781877208919536798541894854485727066254812457976198300394530619416756000654832330443391628740091273711749865798788506992230537805043686963611198104293475554163727373573286750576909229825072453251312507945238843702613002374277463748566309237619007154253752926207381463411071595421865038252029267158102183930241120225777706958638653264342672115352137828115021446342591604870243396850086355072002 1445127814303915505066716552916744223948067000324204924113595920730416200701395027229702768997784064710508783369724212485023767495101550552806121250142679866747396725666560784361121831082080500075110669015518722175527218076234215810262803466767974296608211873876734441732916843151088520559425520370693428432955919391930535780675601899741214458761321843481345321988671473948612346932779195709527679157014242201262378910327231052975729577653016291729193667143064302579742543545109151537408130352373327226595818064516988094263654786325861976757053740095809069414343661960209293982234187236149027010350675092643915673174955883171063569325202147938391283071567992951116662790396831482589934943209680974666678605681696695080356123280094083754347857366387131673257821907816288829381204356280799721628932496218612334112642984975967481228607872968706021975959515835026981767613139763982229251741413567393203666195911316910307397883303665552348717086783906613526105449318619178275807810350722744560049937902235590853586895103876571588940063065681977870547375771303325007658740959151157582017421353926402499974299654928013613616112431172961775928994339026522708113106023815964076861362715391455955512002197132965067944420076801308827555080935855939305273758796118555718531006575012501979379554393551330858022566931985213884869065258911491249942553023134624492278215363904652255230438551998391944689527423725600136449271977404793120404331584250342908660529179824377931622389344369279458566338131119749375184131098502280839219371122798328967397443981517683643842566158612161455213575264361409735541792232344201981846315333485203769281593817175569454604168917741627708807872782853433730401323588068691874588731880381723952696333947008332212296902871518975532286256561170531416970004324889224415119800438625631073949600087555963841675337525022041560630734229585571327565150268627500975377099835704441834212138403468603545434359753705927739859285068244435915361610221072469368731905978470841693926462211397935930048683292366703834410274366604470504482543423273416274793451722090196591954675593919847805246143322622819159446780540371307351955639055329550971206717908488937740604197863782591475458430518048833208870716279760311078202290756916723995619503843662769636727599605654641318433895482311508072320503721416088916940983188230285163954060348714808246986168521970299144634377327606235784203582820698289964725536716536015036821390509140151758456754777923692918490738491795061220919186336165630255508324782340103031358734513888561116538665958523753127724099246158429116240307052678764111622129777263883057607225167605376533871824351844041282444744860709134411295172938548169787779619073822046808924497047011195069511805572280621529817005983031737032708007081247269900231606196296601911501080772224381762407514021741731897332909786474510215695174741073412375490135161042010401 2338265921631581751621794658440513128831700479870260773286270806466619202050397315819990174963805971011274587812796315062687106962091633912880783999562311330742525531640412393874716387937122972537056189109514149728547067973472124251098382630804330476087280407497777126824498432631687028696636957496318548961839070338543297763431157955604005915914517660722788097415405534938070332912856439425652450737482846337697668873468062039184688832835449326681384868761075719326367101140587252042739180756797532485816845775014922292351308242263187398031573955827779182559127722960157849050386604824683807235064414047778074333973874940271038511876054050009570291713831784497103319459676005623373684948628366081557683849818094909622980198384062092883854817417456365812791645644255797146560762703195018124731497737261474668653950522017358038633673207765314093763965910892173723819561051291180255334142014950664759833682180413205136006118422763472750293850642899147447247276085345524264729961852374520648476752532342670216141119736533880178455059082109246210450107383661214927842520217337649596773445554415845796069705032050263900577007570039569151924912741659627936991440694181370096501937398036719465236710121140686334334539502172423212967706211745205091353587143981587328087679795867124616472830551721625546101485451882527246261855825268657529106036573206967539742479278998184732748144849221336771798660532210753616331708397698483318366121977395695779927633846309229563331011260490912991109581184711352954782522924698123789961026430782659014694403155488741814801165238860869936348476735884296830924015838808272859537380606752815444492286414515452659557572576575724349401703339028043531932013981495317368657289413558929851130423124936577170420556300799140644471478522701837954486289380363061156374932426844276783212617772971134187860556357618187098962508164341698030332279277863500876130439142356873276230423178826952552231951949650368785988505664111519701218123151493570845305579285561429474720910754873091536937741619759077773614139388680634838244923280615583617243742853508931999143392495594313661593072606752432320369744948853566472496282460542961228434764183744398293220239891593492427113611415913228550179323838987609174410564947896143144722147886715389201681539133409415641254435165136530532144747315524027117870845984009664691169069400570020603312184562192679588910189633890965018340895600159576287463633881022924507313339806427421960321843313152620138418492259860770877162968213374549792306866677194588758424989326346537314839060489143169883724754078488872507869047143952475861487928565770875288145030211292340145069928645319595446172118433995884988204402763620623039092127019060890511537499421288658818078114809899628684070758909239118496119078676669134938483635463454704095431321892450159469366152675006074569448261924302625237141517332678282618886985247397082403 3783393735935497256688511211357257352779767480194465697399866727197035402751792343049692943961590035721783371182520527547710874457193184465686905249704991197489922257306973178235838219019203472612166858125032871904074286049706340061361186097572304772695492281374511568557415275782775549256062477867011977394794989730473833544106759855345220374675839504204133419404077008886682679845635635135180129894497088538960047783795293092160418410488465618410578535904140021906109644685696403580147311109170859712412663839531910386614963028589049374788627695923588251973471384920367143032620792060832834245415089140421990007148830823442102081201256197947961574785399777448219982250072837105963619891838047056224362455499791604703336321664156176638202674783843497486049467552072085975941967059475817846360430233480087002766593506993325519862281080734020115739925426727200705587174191055162484585883428518057963499878091730115443404001726429025099010937426805760973352725403964702540537772203097265208526690434578261069728014840410451767395122147791224080997483154964539935501261176488807178790866908342248296044004686978277514193120001212530927853907080686150645104546717997334173363300113428175420748712318273651402278959578973732040522787147601144396627345940100143046618686370879626595852384945272956404124052383867741131130921084180148779048589596341592032020694642902836987978583401219728716488187955936353752780980375103276438770453561646038688588163026133607494953400604860192449675919315831102329966654023200404629180397553580987982091847137006425458643731397473031391562052000245706566465808071152474841383695940238019213773880231691022114161741494317352058209576121881477262333337569564009243246021293940653803826757071944909382717459172318116176757735083872369371456293705252285571494732865469907857162217860527098029535893882640228659593242393927269357897429546491001851507538978061315110442561582295556097666311703356296525847790732355955616579733372566040214037485264032271168647372966271027466986424912125781608024413755285105342727466703888999892037194575599128591098068089514161466839215929375251479816525489224873824451921515872512199641482092233336033824437755376083902572041933962061759050040118747920252612855704812867140341651730378158838409138739064056959688330647448038604465251036940116034811829172239949855123129749284828850298353084162978733544566961497200802544478420857866252189170597558939544134730315567573718778598091076313056909230751655832098082154549540180047815191459534691789783723840235098431377726447666923011448853324647301624109354196631239973110058343034758345752255378897716678941752997163636728616863294705019399499575702168792826871746092882937320461996468299853887589920382180250213887764892270855528827085757916404838715241659751306006932402664674541231773666696747806466781171710777135452836692073751694994377120408439092804 6121659657567079008310305869797770481611467960064726470686137533663654604802189658869683118925396006733057958995316842610397981419284818378567689249267302528232447788947385572110554606956326445149223047234547021632621354023178464312459568728376635248782772688872288695381913708414462577952699435363330526356634060069017131307537917810949226290590357164926921516819482543824753012758492074560832580631979934876657716657263355131345107243323914945091963404665215741232476745826283655622886491865968392198229509614546832678966271270852236772820201651751367434532599107880524992083007396885516641480479503188200064341122705763713140593077310247957531866499231561945323301709748842729337304840466413137782046305317886514326316520048218269522057492201299863298841113196327883122502729762670835971091927970741561671420544029010683558495954288499334209503891337619374429406735242346342739920025443468722723333560272143320579410120149192497849304788069704908420600001489310226805267734055471785857003442966920931285869134576944331945850181229900470291447590538625754863343781393826456775564312462758094092113709719028541414770127571252100079778819822345778582095987412178704269865237511464894885985422439414337736613499081146155253490493359346349487980933084081730374706366166746751212325215496994581950225537835750268377392776909448806308154626169548559571763173921901021720726728250441065488286848488147107369112688772801759757136575539041734468515796872442837058284411865351105440785500500542455284749176947898528419141423984363646996786250292495167273444896636333901327910528736130003397389823909960747700921076546990834658266166646206474773719314070893076407611279460909520794265351551059326611903310707499583654957180196881486553138015473117256821229213606574207325942583085615346727869665292314184640374835633498232217396450240258415758555750558268967388229708824354502727637978120418188386672984761122508649898263653006665311836296396467475317797856524059611059343064549593700643368283721144119003924166531884859381638553143965740180972389984504583509280937429108060590241460585108475128432288536127683800186270438078440296948203976415473428076246275977734327044677646969576329685653349875290309229363957735529427023420652709010285063799617093548040090677872473472600942765812584569136609998352464143152682675156249614546292199149854849453610537646355658322454756595388165820885374021017442539652804478581864051448070121994995679100441404228933195327723011516602975245122762914729840122058136729280548208713166581635746216786936810092895173607403136174131978401340583715834597986908805633633897285590190056824011681642483232174788981728700904387703978465789415865963873111943827831999495889588512705668035192079878897958523801509974024946164434585539777198877123206010102363724557124700701139819371753881036229433635079760689978209406429977613264105655836175207 9905053393502576264998817081155027834391235440259192168086004260860690007553982001919376062886986042454841330177837370158108855876478002844254594498972293725722370046254358750346392825975529917761389905359579893536695640072884804373820754825948940021478264970246800263939328984197238127208761913230342503751429049799490964851644677666294446665266196669131054936223559552711435692604127709696012710526477023415617764441058648223505525653812380563502541940569355763138586390511980059203033802975139251910642173454078743065581234299441286147608829347674955686506070492800892135115628188946349475725894592328622054348271536587155242674278566445905493441284631339393543283959821679835300924732304460194006408760817678119029652841712374446160260166985143360784890580748399969098444696822146653817452358204221648674187137536004009078358235369233354325243816764346575134993909433401505224505908871986780686833438363873436022814121875621522948315725496510669393952726893274929345805506258569051065530133401499192355597149417354783713245303377691694372445073693590294798845042570315263954355179371100342388157714406006818928963247572464631007632726903031929227200534130176038443228537624893070306734134757687989138892458660119887294013280506947493884608279024181873421325052537626377808177600442267538354349590219618009508523697993628955087203215765890151603783868564803858708705311651660794204775036444083461121893669147905036195907029100687773157103959898576444553237812470211297890461419816373557614715830971098933048321821537944634978878097429501592732088628033806932719472580736375709963855631981113222542304772487228853872040046877897496887881055565210428465820855582790998056598689120623335855149332001440237458783937268826395935855474645435372997986948690446576697398876790867632299364398157784092497537053494025330246932344122898644418148992952196236746127138370845504579145517098479503497115546343418064747564575356362961837684087128823430934377589896625651273380549813625971812015656687415146470910591444010640989662966899250845523699856688393583401318132004707189181339528674622636595271504465502935280002795927303314121400125492287985627717728368211070360869115402345660232257695283837352068279404076483449679636276357521877425405451347471706878499816611537529560631096460032607741075249389404259187494504328489564401415328899139678303908890730518637055999323556885366623429852441875308791841975076140803595582800437562569397879039495305246252236953763172435073327277312454909887937249596263972337992437006816734177594513384477015906622460727783475756087755537214955807708045251840391979649540969087773502953434639646868903405845023405923787203554167958208692835619204826765152461492357888366593257955574260129111846288693780829553773250192501944615914118782957316109296127221799241932913486068501687503010605345856896142814901480181672607641226064275268011 16026713051069655273309122950952798316002703400323918638772141794524344612356171660789059181812382049187899289173154212768506837295762821222822283748239596253954817835201744322456947432931856362910612952594126915169316994096063268686280323554325575270261037659119088959321242692611700705161461348593673030108063109868508096159182595477243672955856553834057976453043042096536188705362619784256845291158456958292275481098322003354850632897136295508594505345234571504371063136338263714825920294841107644108871683068625575744547505570293522920429030999426323121038669600681417127198635585831866117206374095516822118689394242350868383267355876693863025307783862901338866585669570522564638229572770873331788455066135564633355969361760592715682317659186443224083731693944727852220947426584817489788544286174963210345607681565014692636854189657732688534747708101965949564400644675747847964425934315455503410166998636016756602224242024814020797620513566215577814552728382585156151073240314040836922533576368420123641466283994299115659095484607592164663892664232216049662188823964141720729919491833858436480271424125035360343733375143716731087411546725377707809296521542354742713093775136357965192719557197102326875505957741266042547503773866293843372589212108263603796031418704373129020502815939262120304575128055368277885916474903077761395357841935438711175547042486704880429432039902101859693061884932230568491006357920706795953043604639729507625619756771019281611522224335562403331246920316916012899465007918997461467463245522308281975664347721996760005533524670140834047383109472505713361245455891073970243225849034219688530306213524103971661600369636103504873432135043700518850864040671682662467052642708939821113741117465707882488993490118552629819216162297020784023341459876482979027234063450098277137911889127523562464328794363157060176704743510465204134356847195200007306783495218897691883788531104540573397462839009369627149520383525290906252175446420685262332723614363219672455383940408559265474834757975895500371301520043216585704672246672898166910599069433815249771580989259731111723703793001630619080189066365381754418348329468703459055793974644188804687913793049315236561943348633712642377508768034218979106659697010230887710469250964565254918590494484011002161573862272617176877685247741868402340177179484739178947707528048994527757519428376874295378454080152273532444315226462892751331494779554722667647030870559557565076979480899534179447564676774689038048572400075369639728059307732993252886201150173398369923811300321287108801796068130919649888066156877798671642306032160646025613546826559277830326965116282130101078194826752106828174907532633747624558799492316770592984460988247476879298925990766340008009804812495290803578719414627087484393112995906163326211659851778923942634053305440255568539240038980936656832793110886611650220905331720111443218 25931766444572231538307940032107826150393938840583110806858146055385034619910153662708435244699368091642740619350991582926615693172240824067076878247211889979677187881456103072803340258907386280672002857953706808706012634168948073060101078380274515291739302629365889223260571676808938832370223261824015533859492159667999061010827273143538119621122750503189031389266601649247624397966747493952858001684933981707893245539380651578356158550948676072097047285803927267509649526850243774028954097816246896019513856522704318810128739869734809068037860347101278807544740093482309262314263774778215592932268687845444173037665778938023625941634443139768518749068494240732409869629392202399939154305075333525794863826953242752385622203472967161842577826171586584868622274693127821319392123406964143605996644379184859019794819101018701715212425026966042859991524866312524699394554109149353188931843187442284097000436999890192625038363900435543745936239062726247208505455275860085496878746572609887988063709769919315997063433411653899372340787985283859036337737925806344461033866534456984684274671204958778868429138531042179272696622716181362095044273628409637036497055672530781156322312761251035499453691954790316014398416401385929841517054373241337257197491132445477217356471241999506828680416381529658658924718274986287394440172896706716482561057701328862779330911051508739138137351553762653897836921376314029612900027068611832148950633740417280782723716669595726164760036805773701221708340133289570514180838890096394515785067060252916954542445151498352737622152703947766766855690208881423325101087872187192785530621521448542402346260402001468549481425201313933339252990626491516907462729792305998322201974710380058572525054734534278424848964763988002817203110987467360720740336667350611326598461607882369635448942621548892711261138486055704594853736462661440880483985566045511885929012317377195380904077447958638145027414365732588987204470654114337186553036317310913606104164176845644267399597095974411945745349419906141360964486942467431228372103361291750311917201438522438952920517934353748318975297467133554360191862292685068539748454960991444683511703012399875048782908451660896794201043917549994445788172110702428786295973367752765135874702312036961797090311095548531722204958732649784618760497131272661527671683813228743349122856948134206061428319107392932434453403709158899067745078904768060123336754630863471242613670997120134474858520394839425699801630537861473121899677387824549615996557329257225224193587180215104101405813705764124708418528858703125644153912415013627450014077412486417593196367528365603829918550921776969981600671775512751962111086801705833251635111521597358136922480605365245892183946340600137121651101189071633132492664819589429009027114689120642320955979000723184566966791508757256042250644326793552975608012366793322828546557784386711229 41958479495641886811617062983060624466396642240907029445630287849909379232266325323497494426511750140830639908524145795695122530468003645289899161995451486233632005716657847395260287691839242643582615810547833723875329628265011341746381401934600090562000340288484978182581814369420639537531684610417688563967555269536507157170009868620781792576979304337247007842309643745783813103329367278209703292843390940000168726637702654933206791448084971580691552631038498771880712663188507488854874392657354540128385539591329894554676245440028331988466891346527601928583409694163726389512899360610081710138642783362266291727060021288892009208990319833631544056852357142071276455298962724964577383877846206857583318893088807385741591565233559877524895485358029808952353968637855673540339549991781633394540930554148069365402500666033394352066614684698731394739232968278474263795198784897201153357777502897787507167435635906949227262605925249564543556752628941825023058183658445241647951986886650724910597286138339439638529717405953015031436272592876023700230402158022394123222690498598705414194163038817215348700562656077539616429997859898093182455820353787344845793577214885523869416087897609000692173249151892642889904374142651972389020828239535180629786703240709081013387889946372635849183232320791778963499846330354565280356647799784477877918899636767573954877953538213619567569391455864513590898806308544598103906384989318628101994238380146788408343473440615007776282261141336104552955260450205583413645846809093855983248312582561198930206792873495112743155677374088600814238799681387136686346543763261163028756470555668230932652473926105440211081794837417438212685125670192035758326770463988660789254617419319879686266172200242160913842454882540632636419273284488144744081796543833590353832525057980646773360831749072455175589932849212764771558479973126645014840832761245519192712507536274887264692608552499211542490253375102216136724854179405243438728482737996175938827778540065316722783537504533677420580107395801641732266006985684016933044350034189917222516270872337688724501507194084860042679090468764173440380928658066822958096784429694903739305677656588679736696701500976133356144392551262636823296940144921407892955670377983652846343953276602216715680805579559533883778821005266961496445744873141063867848863297967922296830384997128733818947747484267227812907483861432431512060305367660811454831534185586138889644541556677699551838001294373605147366307312550511170472077463194189344055865062250478110394737353613474025217114027051233510214596989622775532220069292812299092320109573132443206743194087643434156883667203907071059795498527619580137018619435453457810434603838367951121383468852842125191109937106940145131455913684362436711212079446676913402140110595283968532615830779647127201020096949012824581490683307730209808401123253404973049451889504498154447 67890245940214118349925003015168450616790581081490140252488433905294413852176478986205929671211118232473380527875137378621738223640244469356976040242663376213309193598113950468063627950746628924254618668501540532581342262433959414806482480314874605853739642917850867405842386046229578369901907872241704097827047429204506218180837141764319912198102054840436039231576245395031437501296114772162561294528324921708061972177083306511562949999033647652788599916842426039390362190038751262883828490473601436147899396114034213364804985309763141056504751693628880736128149787646035651827163135388297303070911471207710464764725800226915635150624762973400062805920851382803686324928354927364516538182921540383378182720042050138127213768706527039367473311529616393820976243330983494859731673398745777000537574933332928385197319767052096067279039711664774254730757834590998963189752894046554342289620690340071604167872635797141852300969825685108289492991691668072231563638934305327144830733459260612898660995908258755635593150817606914403777060578159882736568140083828738584256557033055690098468834243775994217129701187119718889126620576079455277500093982196981882290632887416305025738400658860036191626941106682958904302790544037902230537882612776517886984194373154558230744361188372142677863648702321437622424564605340852674796820696491194360479957338096436734208864589722358705706743009627167488735727684858627716806412057930460250944872120564069191067190110210733941042297947109805774663600583495153927826685699190250499033379642814115884749238024993465480777830078036367581094489890268560011447631635448355814287092077116773334998734328106908760563220038731371551938116296683552665789500256294659111456592129699938258791226934776439338691419646528635453622384271955505464822133211184201680430986665863016408809774370621347886851071335268469366412216435788085895324818327291031078641519853652082645596686000457849687517667740834805123929324833519580625281519055307089544931942716910960990183134600508089366325456815707783093230493928151448161416453395481667534433472310860127677422025128438608361654387935897727800572790950751891497845239390686348422817380668988554785479609952637030150345436468812631269085112255623836679251643745736417982218655588639178512771116675108065605983779737916746115206242004413725395520547111196665645953241945262939880376066591660160247360887570591330579805384272428871578168288816449610132258212553797834026696521689213030847167937850411984292371754851018738960052422391507703334588324533828578126622927732815358218633125848325901176373981707825926542334186985618860799939561616009037986802218125684041041396170303132332099129706237159291062069715359965309258305949458207371083293883447540282253107014873434069843704744266266342411167225284404610853571809780370311767986888457770080623741327634523762784009135620198295877998447288884865676 109848725435856005161542065998229075083187223322397169698118721755203793084442804309703424097722868373304020436399283174316860754108248114646875202238114862446941199314771797863323915642585871567837234479049374256456671890698970756552863882249474696415739983206335845588424200415650217907433592482659392661794602698741013375350847010385101704775081359177683047073885889140815250604625482050372264587371715861708230698814785961444769741447118619233480152547880924811271074853227258751738702883130955976276284935705364107919481230749791473044971643040156482664711559481809762041340062495998379013209554254569976756491785821515807644359615082807031606862773208524874962780227317652329093922060767747240961501613130857523868805333940086916892368796887646202773330211968839168400071223390527410395078505487480997750599820433085490419345654396363505649469990802869473226984951678943755495647398193237859111335308271704091079563575750934672833049744320609897254621822592750568792782720345911337809258282046598195274122868223559929435213333171035906436798542241851132707479247531654395512662997282593209565830263843197258505556618435977548459955914335984326728084210102301828895154488556469036883800190258575601794207164686689874619558710852311698516770897613863639244132251134744778527046881023113216585924410935695417955153468496275672238398856974864010689086818127935978273276134465491681079634533993403225820712797047249088352939110500710857599410663550825741717324559088445910327618861033700737341472532508284106482281692225375314814956030898488578223933507452124968395333289571655696697794175398709518843043562632785004267651208254212348971645014876148809764623241966875588424116270720283319900711209549019817945057399135018600252533874529069268090041657556443650208903929755017792034263511723843663182170606119693803062441004184481234137970696408914730910165651088536550271354027389926969910289294552957061230007921115937021260654179012924824064010001793303265483759721256976277712966672105041766786905564211509424825496500913835465094460803429671584756949743183197816401923532322523468404333478404661901240953719608818714455942023820381252162123058325577234522176311453613163506489829020075268092382052400545244572207314123720070828562608865241395228451922254667599489762600743183707611651986877554789263369410409164587942783626942391673699323814075927388060268371432023762091865689640089683032999823002035749021902754110475533578534522983586635994534245162962495462843832314212928304108287453758181444983061887442052151840041759866591728847722837948676708594051000638225634654296558751304006682755703652472143685885329591112101191668830751912236148325672612748872504319198333260379689418311049496274403820554480427384562928557796506554916823712943255813307335879688579386187640560017438969006985406782905205232010942253972592410258873603268927450336793383020123 177738971376070123511467069013397525699977804403887309950607155660498206936619283295909353768933986605777400964274420552938598977748492584003851242480778238660250392912885748331387543593332500492091853147550914789038014153132930171359346362564349302269479626124186712994266586461879796277335500354901096759621650127945519593531684152149421616973183414018119086305462134535846688105921596822534825881900040783416292670991869267956332691446152266886268752464723350850661437043266010014622531373604557412424184331819398321284286216059554614101476394733785363400839709269455797693167225631386676316280465725777687221256511621742723279510239845780431669668694059907678649105155672579693610460243689287624339684333172907661996019102646613956259842108417262596594306455299822663259802896789273187395616080420813926135797140200137586486624694108028279904200748637460472190174704572990309837937018883577930715503180907501232931864545576619781122542736012277969486185461527055895937613453805171950707919277954856950909716019041166843838990393749195789173366682325679871291735804564710085611131831526369203782959965030316977394683239012057003737456008318181308610374842989718133920892889215329073075427131365258560698509955230727776850096593465088216403755091987018197474876612323116921204910529725434654208348975541036270629950289192766866598878814312960447423295682717658336978982877475118848568370261678261853537519209105179548603883982621274926790477853661036475658366857035555716102282461617195891269299218207474356981315071868189430699705268923482043704711337530161335976427779461924256709241807034157874657330654709901777602649942582319257732208234914880181316561358263559141089905770976577979012167801678719756203848626069795039591225294175597903543664041828399155673726062966201993714694498389706679590980380490315150949292075519749703504382912844702816805490469415827581349995547243579052555885980553414910917525588856771826384583503846444404689291520848610355028691663973887238703149806705549856153231021027217207918726994841986913255877256825153252291383215494057944079345557450962076765987866340559629041526510559570605953787263211067600584940438994565789307655921406250193656835265488887899361467164656169081251458957869456488810781264453880573741223038929775665095746380481100453726858228881968514658889957520361253588736868887654613579699880667587548307629259002615092671671073912518554611168111818485359154160966664273367605231044672799666841702183013374479755215587165231667264160709845265884779571386421270630278462969492681949947480848686274577884968032708464152176988483544370164806622317319661510130488103455275153142587839133884244335278031909772039934574034558298569637995367769256867357697704002020709637669943431230576398621567979209598224474561164093190239759450340387750736993873864552985828973338576777735376419394493801564805448784082267885799 287587696811926128673009135011626600783165027726284479648725877415702000021062087605612777866656854979081421400673703727255459731856740698650726444718893101107191592227657546194711459235918372059929087626600289045494686043831900927912210244813823998685219609330522558582690786877530014184769092837560489421416252826686532968882531162534523321748264773195802133379348023676661938710547078872907090469271756645124523369806655229401102432893270886119748905012604275661932511896493268766361234256735513388700469267524762429203767446809346087146448037773941846065551268751265559734507288127385055329490019980347663977748297443258530923869854928587463276531467268432553611885382990232022704382304457034865301185946303765185864824436586700873152210905304908799367636667268661831659874120179800597790694585908294923886396960633223076905970348504391785553670739440329945417159656251934065333584417076815789826838489179205324011428121327554453955592480332887866740807284119806464730396174151083288517177560001455146183838887264726773274203726920231695610165224567531003999215052096364481123794828808962413348790228873514235900239857448034552197411922654165635338459053092019962816047377771798109959227321623834162492717119917417651469655304317399914920525989600881836719008863457861699731957410748547870794273386476731688585103757689042538837277671287824458112382500845594315252259011940610529648004795671665079358232006152428636956823093121985784389888517211862217375691416124001626429901322650896628610771750715758463463596764093564745514661299821970621928644844982286304371761069033579953407035982432867393500374217342686781870301150836531606703853249791028991081184600230434729514022041696861298912879011227739574148906025204813639843759168704667171633705699384842805882629992721219785748958010113550342773150986610008954011733079704230937642353609253617547715656120504364131621349574633506022466175275106371972147533509972708847645237682859369228753301522641913620512451385230863516416116478810591622940136585238726632744223495755822378350338060254824837048332958677255760481269089773485545170321344745221530282480230168389320409729287031448852747063497320143023829832232859863357163325094508963167453849217056714325823666271993176559639343873319121968969674961184443264585508981224284161338510215759523303922259367929525841531520495830046287279023694743514936367897630434638854763536763552608237644167934820521108176063720774748901183765567656386302836236428176336975218059419479444595568268997299024066224554448308712682430303011252548541676328571524223254593562083709102377811642780103121468813305073023313982274173988784866265243779507964636156571426357582384788807078353756631830017684786080306363632101524556501137022232871989027082953538391692152854037781897043781769625947090900405189706000859271335891034205349519031707968829653367404833732899120875650905922 465326668187996252184476204025024126483142832130171789599333033076200206957681370901522131635590841584858822364948124280194058709605233282654577687199671339767441985140543294526099002829250872552020940774151203834532700196964831099271556607378173300954699235454709271576957373339409810462104593192461586181037902954632052562414215314683944938721448187213921219684810158212508626816468675695441916351171797428540816040798524497357435124339423153006017657477327626512593948939759278780983765630340070801124653599344160750488053662868900701247924432507727209466390978020721357427674513758771731645770485706125351199004809065001254203380094774367894946200161328340232260990538662811716314842548146322489640870279476672847860843539233314829412053013722171395961943122568484494919677016969073785186310666329108850022194100833360663392595042612420065457871488077790417607334360824924375171521435960393720542341670086706556943292666904174235078135216345165836226992745646862360668009627956255239225096837956312097093554906305893617113194120669427484783531906893210875290950856661074566734926660335331617131750193903831213294923096460091555934867930972346943948833896081738096736940266987127183034654452989092723191227075148145428319751897782488131324281081587900034193885475780978620936867940473982525002622362017767959215054046881809405436156485600784905535678183563252652231241889415729378216375057349926932895751215257608185560707075743260711180366370872898693034058273159557342532183784268092519880070968923232820444911835961754176214366568745452665633356182512447640348188848495504210116277789467025268157704872052588559472951093418850864436061484705909172397745958493993870603927812673439277925046812906459330352754651274608679434984462880265075177369741213241961556356055687421779463652508503257022364131367100324104961025155223980641146736522098320364521146589920191712971345121877085075022061255659786883065059098829480674029821186705813633442593043490523975541143049204750755119266285516141479093367606265943840662950490597809291606215317079978089339716174171313704560614647224447621936309211085781159324006740727959926363516550242516453332003936314708813137488154266113550820160359997851066815316381712883407075125229862633048450125137773002542710898000114218929681255361705384615065368444641491818581149325449887095120257364717700900858723575411102484675526889437253947435207837465126792255336046639006467330224687439022268788996612329185969677938611189711454973275006644676262832429707144289951004125834729983312708765980745230491623809420210497832478530116417566529988631263647491633619927390342975492404662092240141418386367347098520400906704389492156828741652388314930399655680153849563230989799228558521846659902815420257659352159959671362452262256458207874959865706541240792940442994733135888876863178688095809443345249047861206398538347904957918791721 752914364999922380857485339036650727266307859856456269248058910491902206978743458507134909502247696563940243765621828007449518441461973981305304131918564440874633577368200840720810462065169244611950028400751492880027386240796732027183766852191997299639918844785231830159648160216939824646873686030022075602454155781318585531296746477218468260469712960409723353064158181889170565527015754568349006820443554073665339410605179726758537557232694039125766562489931902174526460836252547547344999887075584189825122866868923179691821109678246788394372470281669055531942246771986917162181801886156786975260505686473015176753106508259785127249949702955358222731628596772785872875921653043739019224852603357354942056225780438033725667975820015702564263919027080195329579789837146326579551137148874382977005252237403773908591061466583740298565391116811851011542227518120363024494017076858440505105853037209510369180159265911880954720788231728689033727696678053702967800029766668825398405802107338527742274397957767243277393793570620390387397847589659180393697131460741879290165908757439047858721489144294030480540422777345449195162953908126108132279853626512579287292949173758059552987644758925292993881774612926885683944195065563079789407202099888046244807071188781870912894339238840320668825351222530395796895748494499647800157804570851944273434156888609363648060684408846967483500901356339907864379853021592012253983221410036822517530168865246495570254888084760910409749689283558968962085106918989148490842719638991283908508600055318921729027868567423287562001027494733944719949917529084163523313771899892661658079089395275341343252244255382471139914734496938163478930558724428600117949854370300576837925824134198904501660676479422319278743631584932246811075440598084767438986048408641565212610518616807365137282353710333058972758234928211578789090131351937912236802710424555844592694696510591097488236530766158855212592608802189521675058869565182862195894566132437596053594434435614271535382764326733102033504191504670473407173986353631669956553377334802926388049132848569465041883736997933167106630555831002689606486970896349246773245837273965306079067433634851836967320387125976907983485454506814234269165598769597732898791501855809608089469011092124511680572961298662194266764342929668776403878660401015122503408693379412936651777860547747188137747270154617421043424519871892802198744601017735029899503981459527575506288408213771169972762179985572272514175039366048430191334426124120858400698704443314017228680283038695995139068991997779033300137991734721087072092200126668907800274043750613102433232463366289474678836081025007683630146855063156557478130747074541617548730742071562229673364939929869594621900753115022983682135687409284742305698351363515306300038355251656729491653632141198130148995592407224767897384037614841151314078701228611232271247025833569697643 1218241033187918633041961543061674853749450691986628058847391943568102413936424829408657041137838538148799066130569952287643577151067207263959881819118235780642075562508744135246909464894420117163970969174902696714560086437761563126455323459570170600594618080239941101736605533556349635108978279222483661783492058735950638093710961791902413199191161147623644572748968340101679192343484430263790923171615351502206155451403704224115972681572117192131784219967259528687120409776011826328328765517415654990949776466213083930179874772547147489642296902789396264998333224792708274589856315644928518621030991392598366375757915573261039330630044477323253168931789925113018133866460315855455334067400749679844582926505257110881586511515053330531976316932749251591291522912405630821499228154117948168163315918566512623930785162299944403691160433729231916469413715595910780631828377901782815676627288997603230911521829352618437898013455135902924111862913023219539194792775413531186066415430063593766967371235914079340370948699876514007500591968259086665177229038353952754581116765418513614593648149479625647612290616681176662490086050368217664067147784598859523236126845255496156289927911746052476028536227602019608875171270213708508109159099882376177569088152776681905106779815019818941605693291696512920799518110512267607015211851452661349709590642489394269183738867972099619714742790772069286080754910371518945149734436667645008078237244608507206750621258957659603443807962443116311494268891187081668370913688562224104353420436017073097943394437312875953195357210007181585068138766024588373639591561366917929815783961447863900816203337674233335575976219202847335876676517218422470721877667043739854762972637040658234854415327754030998713728094465197321988445181811326728995342104096063344676263027120064387501413720810657163933783390152192219935826653450258276757949300344747557564039818387676172510297786425945738277651707631670195704880056270996495638487609622961571594737483640365026654649049842874581126871797770614314070124476951440961562768694414781015727765307019883169602498384222380789042939766916783848930493711624309173136762387516481759411071369949560650104808541392090458803645814504665301084481980482481139973916731718442656539594148865127054391470961412881123948019704635053391469247105042506941084558018829300031772035225265448088996470845565719905718951409309146749633952438482861822154840028098534042836513095652793438761758792314758242192113650555759885164609432768797121233128411587603968232806117768679307847834972743009524923947411945218919550622316544235437788905307398104736053159853709264967083498173265149102016514202161676958384835136566698446290383130386492629329045093779432825611699981673544830342038502829542401657858311034877758562294813459531689357360173381991070591990325543113644760562725710650594659327749089817630809594930791488489364 1971155398187841013899446882098325581015758551843084328095450854060004620915168287915791950640086234712739309896191780295093095592529181245265185951036800221516709139876944975967719926959589361775920997575654189594587472678558295153639090311762167900234536925025172931896253693773289459755851965252505737385946214517269223625007708269120881459660874108033367925813126521990849757870500184832139929992058905575871494862008883950874510238804811231257550782457191430861646870612264373875673765404491239180774899333082007109871695882225394278036669373071065320530275471564695191752038117531085305596291497079071381552511022081520824457879994180278611391663418521885804006742381968899194353292253353037199524982731037548915312179490873346234540580851776331786621102702242777148078779291266822551140321170803916397839376223766528143989725824846043767480955943114031143656322394978641256181733142034812741280701988618530318852734243367631613145590609701273242162592805180200011464821232170932294709645633871846583648342493447134397887989815848745845570926169814694633871282674175952662452369638623919678092831039458522111685249004276343772199427638225372102523419794429254215842915556504977769022418002214946494559115465279271587898566301982264223813895223965463776019674154258659262274518642919043316596413859006767254815369656023513293983024799378003632831799552380946587198243692128409193945134763393110957403717658077681830595767413473753702320876147042420513853557651726675280456353998106070816861756408201215388261929036072392019672422305880299240757358237501915529788088683553672537162905333266810591473863050843139242159455581929615806715890953699785499355607075942851070839827521414040431600898461174857139356076004233453317992471726050129568799520622409411496434328152504704909888873545736871752638696074520990222906541625080403798724916784802196188994752010769303402156734514898267269998534317192104593490244316433859717379938925836179357834382175755399167648331918075979298190031814169607683160375989275284787477298463305072631519322071749583942115814439868452634644382121220313956149570322747786538536980682520658419910008224790447065490138803584412487072128928518067366787131269011479535353647579252078872872708233574252264629063159957251566072043922711543318214784047564722167873125765443522063587966712208712968423813085813195277134218115720337326762375929181039551832697039500596852054344009558061618342801503866564608734520972300330514706288689921808315355943858892917979633827116030917985461486400807375302986903964740788558224085403679940006622714516670904345589179351148717838486392317075554441762334254290156785646661057224833515862965883641240063839113872458054859002410033709302420233600734788567814024174190238827143963556662398393064862333168711188418849013805523189200740985917950338412657946763325491745973406450318428863080841956625058187007 3189396431375759646941408425160000434765209243829712386942842797628107034851593117324448991777924772861538376026761732582736672743596388509225067770155036002158784702385689111214629391854009478939891966750556886309147559116319858280094413771332338500829155005265114033632859227329639094864830244474989399169438273253219861718718670061023294658852035255657012498562094862092528950213984615095930853163674257078077650313412588174990482920376928423389335002424450959548767280388276200204002530921906894171724675799295091040051570654772541767678966275860461585528608696357403466341894433176013824217322488471669747928268937654781863788510038657601864560595208446998822140608842284754649687359654102717044107909236294659796898691005926676766516897784525583377912625614648407969578007445384770719303637089370429021770161386066472547680886258575275683950369658709941924288150772880424071858360431032415972192223817971148756750747698503534537257453522724492781357385580593731197531236662234526061677016869785925924019291193323648405388581784107832510748155208168647388452399439594466277046017788103545325705121656139698774175335054644561436266575422824231625759546639684750372132843468251030245050954229816966103434286735492980096007725401864640401382983376742145681126453969278478203880211934615556237395931969519034861830581507476174643692615441867397902015538420353046206912986482900478480025889673764629902553452094745326838674004658082260909071497406000080117297365614169791591950622889293152485232670096763439492615349472089465117615816743193175193952715447509097114856227449578260910802496894633728521289647012291003142975658919603849142291867172902632835232283593161273541561705188457780286363871098215515374210491331987484316706199820515326890787965804220738225429670256600768254565136572856936140140109795331647386840325015232596018660743438252454465752701311114050959720774333285943442508832103618050331767896024065529913084818982107175853472869785378360739243069401716344324844680864012482264287247787045899101547422940256513593082090766164364957843579746888335804246880505442694745192510089664570387467474394144967593046770612306928824901210173533973137176937469910157825590777083516144836438129559734560012846624965292694921168657308822378620463514884124424442162803752199775559342372870486029004672524731038013000195848311078643366130688961286057232481327338490186301466649477983458674209184037656595661179314599519358047496279764615088756898402340477568200520553291661715100866955527618521953694292518576054610834738937483798083148032815625158926173336833215139783378084658546822574539552170784819408845832427555305887663175259386510474247801020207938510129497002844547488331455127488735245845300716462112644366212693068369545621414973433270823424627982170720108206373978905180271332976243493452057418509489036142340632734199408246493890436887416546676371 5160551829563600660840855307258326015780967795672796715038293651688111655766761405240240942418011007574277685922953512877829768336125569754490253721191836223675493842262634087182349318813598840715812964326211075903735031794878153433733504083094506401063691930290286965529112921102928554620682209727495136555384487770489085343726378330144176118512909363690380424375221384083378708084484799928070783155733162653949145175421472125864993159181739654646885784881642390410414151000540574079676296326398133352499575132377098149923266536997936045715635648931526906058884167922098658093932550707099129813613985550741129480779959736302688246390032837880475952258626968884626147351224253653844040651907455754243632891967332208712210870496800023001057478636301915164533728316891185117656786736651593270443958260174345419609537609833000691670612083421319451431325601823973067944473167859065328040093573067228713472925806589679075603481941871166150403044132425766023519978385773931208996057894405458356386662503657772507667633686770782803276571599956578356319081377983342022323682113770418939498387426727465003797952695598220885860584058920905208466003061049603728282966434114004587975759024756008014073372232031912597993402200772251683906291703846904625196878600707609457146128123537137466154730577534599553992345828525802116645951163499687937675640241245401534847337972733992794111230175028887673971024437157740859957169752823008669269772071556014611392373553042500631150923265896466872406976887399223302094426504964654880877278508161857137288239049073474434710073685011012644644316133131933447965402227900539112763510063134142385135114501533464949007758126602418334587890669104124612401532709871820717964769559390372513566567336220937634698671546565456459587486426630149721863998409105473164454010118593807892778805869852637609746866640312999817385660223054650654747453321883354361877508848184210712507366420810154925258140340499389630464757907943355211307251961133759906891401319792323623034712678182089947447623776321183889024721403561586224601412837913948899959394186756788438891262626663008701342080412412356926004455076665626012956778837097375890391348977118385624249066398428225192377908352527624371791777138986638885719333198866947185797720468779630186535558806835967760377587799764497727215498635929551068260491443246725968619661396891838643264907077006394559243703267671225853299346517484055526263528047214657279522116103385922656230800736915419271604691030399376515876497150554633080500782643649439939155778919383429913821642902224586641372118219305098932796051349886044128967264009695540413025944487860373850608166681845462673309836316611343990110766903849178573968610875302602347333865161198037666078901451250680458390386883307196689584971635831663888286961150881908527055387784428369472073962161443790470076456252361634086606140649726675356971278844041604863378 8349948260939360307782263732418326450546177039502509101981136449316218690618354522564689934195935780435816061949715245460566441079721958263715321491346872225834278544648323198396978710667608319655704931076767962212882590911198011713827917854426844901892846935555400999161972148432567649485512454202484535724822761023708947062445048391167470777364944619347392922937316246175907658298469415024001636319407419732026795488834060300855476079558668078036220787306093349959181431388816774283678827248305027524224250931672189189974837191770477813394601924791988491587492864279502124435826983883112954030936474022410877409048897391084552034900071495482340512853835415883448287960066538408493728011561558471287740801203626868509109561502726699767574376420827498542446353931539593087234794182036363989747595349544774441379698995899473239351498341996595135381695260533914992232623940739489399898454004099644685665149624560827832354229640374700687660497655150258804877363966367662406527294556639984418063679373443698431686924880094431208665153384064410867067236586151989410776081553364885216544405214831010329503074351737919660035919113565466644732578483873835354042513073798754960108602493007038259124326461848878701427688936265231779914017105711545026579861977449755138272582092815615670034942512150155791388277798044836978476532670975862581368255683112799436862876393087039001024216657929366153996914110922370762510621847568335507943776729638275520463870959042580748448288880066258464357599776692375787327096601728094373492627980251322254904055792266649628662789132520109759500543582710194358767899122534267634053157075425145528110773421137314091299625299505051169820174262265398153963237898329601004328640657605887887777058668208421951404871367080783350375452230850887947293668665706241419019146691450744032918915665184284996587191655545595836046403661307105120500154632997405321598283181470154155016198524428205257026036364564919543549576890050531064780121746512120646134470721508667947879393542194572211734871563367082990572144343818099817683503604078313857802973933645124243138143132105703446534590502076927313471929470810593606003549449404304715292559150652358761426003868338383017968685436043769208229906698721198898565958164159642106966377777602008806999073690960392202540391551964273286557871506415580072933016174284738968815509707970482009395596038292451791725030606161412154765995995467514200472712084871252940701430702905280703727080501530508028503093370876944716397050442216348181367738171267961892850071437959484524656381839708384724520151034930257858969388183101183912345348668242362987565496658645193259453999109400768560973011575997854464358567924057117084098107878147149835665320288686772911924202167712793102756599576375566235206386609264934711711589133052628635261761763333549743406938404937242527494965741397776427238874849134921850861715731458151539749 13510500090502960968623119039676652466327144835175305817019430101004330346385115927804930876613946788010093747872668758338396209415847528018205575212538708449509772386910957285579328029481207160371517895402979038116617622706076165147561421937521351302956538865845687964691085069535496204106194663929979672280207248794198032406171426721311646895877853983037773347312537630259286366382954214952072419475140582385975940664255532426720469238740407732683106572187735740369595582389357348363355123574703160876723826064049287339898103728768413859110237573723515397646377032201600782529759534590212083844550459573152006889828857127387240281290104333362816465112462384768074435311290792062337768663469014225531373693170959077221320431999526722768631855057129413706980082248430778204891580918687957260191553609719119860989236605732473931022110425417914586813020862357888060177097108598554727938547577166873399138075431150506907957711582245866838063541787576024828397342352141593615523352451045442774450341877101470939354558566865214011941724984020989223386317964135331433099763667135304156042792641558475333301027047336140545896503172486371853198581544923439082325479507912759548084361517763046273197698693880791299421091137037483463820308809558449651776740578157364595418710216352753136189673089684755345380623626570639095122483834475550519043895924358200971710214365821031795135446832958253827967938548080111622467791600391344177213548801194290131856244512085081379599212145962725336764576664091599089421523106692749254369906488413179392192294841340124063372862817531122404144859715842127806733301350434806746816667138559287913245887922670779040307383426107469504408064931369522766364770608201421722293410216996260401343626004429359586103542913646239809962938657481037669157667074811714583473156810044551925697721535036922606334058295858595653432063884361755775247607954880759683475792029654364867523564945238360182284176705064309174014334797993886276087373707645880553025872041300991570914106220376662159182495339688266879596865747379686042284916441992262757762368120401912682029405758768712147876670914489284239476384547476219618960328286501680605683908127770744385675070266766608210346593788571393580021683837707837784285291363026589292764098246381638993534632497796359962917979351728771013773370142345131141193507617531464937435171104862320652660503115298846350968733873832638008065342512951569726736240132085910220223546806291203359957881238445927300107784401276321232273547592770981261868520814917401832005850357342914438478024741932971365892269254235356791765439532987228041312612677937903400591441146505567110062165791246231234282847892609198454469334827906295658066718753449752182999185449884810578003103618963473561146986459682762924791358245096598599998550283934537162317149547761919215480900566381032997571421993759410513845015498861597207832994575499756403127 21860448351442321276405382772094978916873321874677814919000566550320549037003470450369620810809882568445909809822384003798962650495569486281920896703885580675344050931559280483976306740148815480027222826479747000329500213617274176861389339791948196204849385801401088963853057217968063853591707118132464208005030009817906979468616475112479117673242798602385166270249853876435194024681423629976074055794548002118002736153089592727575945318299075810719327359493829090328777013778174122647033950823008188400948076995721476529872940920538891672504839498515503889233869896481102906965586518473325037875486933595562884298877754518471792316190175828845156977966297800651522723271357330470831496675030572696819114494374585945730429993502253422536206231477956912249426436179970371292126375100724321249939148959263894302368935601631947170373608767414509722194716122891803052409721049338044127837001581266518084803225055711334740311941222620567525724039442726283633274706318509256022050647007685427192514021250545169371041483446959645220606878368085400090453554550287320843875845220500189372587197856389485662804101399074060205932422286051838497931160028797274436367992581711514508192964010770084532322025155729670000848780073302715243734325915269994678356602555607119733691292309168368806224615601834911136768901424615476073599016505451413100412151607471000408573090758908070796159663490887619981964852659002482384978413447959679685157325530832565652320115471127662128047501026028983801122176440783974876748619708420843627862534468664501647096350633606773692035651950051232163645403298552322165501200472969074380869824213984433441356661343808093131607008725612520674228239193634920920328008506531022726622050874602148289120684672637781537508414280727023160338390888331925616451335740517956002492303501495295958616637200221207602921249951404191489478467545668860895747762587878165005074075211124519022539763469666565439310213069629228717563911688044417340867495454158001199160342762809659518793499762571234370917366903055349870169010091197785859968420046070576615565342054047036925167548890874415594411261416566211552948314018286813224963877735905985320976467278423103147101074135104991228315279224615162788251590536429036682851249527186231399730476023983647800533706188756752165458370903693044300331241648760711214126523791816203906250680812832802662056099153591298142693764479994050162831338508419083927208952216957163160924977509196484063684961739976435328610877772153265948670598034987329443236258986185363724855921795302398963134406581641356090412420289165614650734827716088411953657961346180266388156937805150760369516164900646999795255859468607052918827902751963412742164826631596902018664505738571583489927305786676266663903586036058329159997744854361533311710139416987165797578911311095468958887838971318275525066387735157186941083890347996519058694710306957907942876 35370948441945282245028501811771631383200466709853120736019996651324879383388586378174551687423829356456003557695052762137358859911417014300126471916424289124853823318470237769555634769630022640398740721882726038446117836323350342008950761729469547507805924667246776928544142287503560057697901782062443880285237258612105011874787901833790764569120652585422939617562391506694480391064377844928146475269688584503978676817345125154296414557039483543402433931681564830698372596167531471010389074397711349277671903059770763869771044649307305531615077072239019286880246928682703689495346053063537121720037393168714891188706611645859032597480280162207973443078760185419597158582648122533169265338499586922350488187545545022951750425501780145304838086535086325956406518428401149497017956019412278510130702568983014163358172207364421101395719192832424309007736985249691112586818157936598855775549158433391483941300486861841648269652804866434363787581230302308461672048670650849637573999458730869966964363127646640310396042013824859232548603352106389313839872514422652276975608887635493528629990497947960996105128446410200751828925458538210351129741573720713518693472089624274056277325528533130805519723849610461300269871210340198707554634724828444330133343133764484329110002525521121942414288691519666482149525051186115168721500339926963619456047531829201380283305124729102591295110323845873809932791207082594007446205048351023862370874332026855784176359983212743507646713171991709137886753104875573966170142815113592882232440957077681039288645474946897755408514767582354567790263014394449972234501823403881127686491352543721354602549266478872171914392151719990178636304125004443686692779114732444448915461091598408690464310677067141123611957194373262970301329545812963285609002815329670585965460311539847884314358735258130209255308247262787142910531430030616670995370542758924688549867240778883890063328414904925621594389774693537891578246486038303616954869161803881752186214804110651089707605982947896530099862242743616749765875838577471902253336488062839373327710174448949607196954649643127742287932331055495792424698565763032843924206022407665926660375406193847532776144401871599438661873013186556368273274374136874467136540890212820692494574270365286794068338686553112128376350255421815314104611791105842355320031409347668843685851917695123314716602268890144493662498353826688170896681021370653653945192349043073381148524315487687423642842978422362628718662173429587180944145627758310705104779801102765556861772152645313401612431323574327456304689543400971442500267249075639994970574024118169788748378951656327479578330691893231029538707361216251373297237579869708400231545385046654201663691188456394067930409405639740225050572495741092084789103099458131911708689700921702959896060858857388174368739537699308522637809728916597454928905846858116266527704882457664346003 57231396793387603521433884583866610300073788584530935655020563201645428420392056828544172498233711924901913367517436765936321510406986500582047368620309869800197874250029518253531941509778838120425963548362473038775618049940624518870340101521417743712655310468647865892397199505471623911289608900194908088290267268430011991343404376946269882242363451187808105887812245383129674415745801474904220531064236586621981412970434717881872359875338559354121761291175393921027149609945705593657423025220719537678619980055492240399643985569846197204119916570754523176114116825163806596460932571536862159595524326764277775487584366164330824913670455991053130421045057986071119881854005453004000762013530159619169602681920130968682180419004033567841044318013043238205832954608371520789144331120136599760069851528246908465727107808996368271769327960246934031202453108141494164996539207274642983612550739699909568744525542573176388581594027487001889511620673028592094946754989160105659624646466416297159478384378191809681437525460784504453155481720191789404293427064709973120851454108135682901217188354337446658909229845484260957761347744590048849060901602517987955061464671335788564470289539303215337841749005340131301118651283642913951288960640098439008489945689371604062801294834689490748638904293354577618918426475801591242320516845378376719868199139300201788856395883637173387454773814733493791897643866085076392424618496310703547528199862859421436496475454340405635694214198020692939008929545659548842918762523534436510094975425742182686384996108553671447444166717633586731435666312946772137735702296372955508556315566528154795959210610286965303521400877332510852864543318639364607020787621263467175537511966200556979584995349704922661120371475100286130639720434144888902060338555847626588457763813035143842930995935479337812176558198666978632388998975699477566743133130637089693623942451903402912603091884571491060904602844322766609142158174082720957822364615961882951346557566920310608501105745519130901017229145798966619934885929775257762221756534133415988893052228495986532364503540517543336699193747621707345373012584049846068888083758313651247636842684616950679877218536976590666977152237801719156524864910565911149987790417399052092225050294348934594602044875309864293834721159114859614435853439866553569446555201163872749936532730527925976772701422481442636356262833820738333728019529789737581154144566000236542073501824684171487327804718398797957329539945582853129614743662745640148341038787288129281717693947947712364746837905215683546717109832566586093235094965164051948628535370298436176905316756807087849094495592540230824794566829823304292125140331833121142396372016643556220328196927027977557857715192316006888954158531799421244786847953819665223418829117908868757474972169952857133256578509017584047704197464073784396012796194854635325222415189415572288879 92602345235332885766462386395638241683274255294384056391040559852970307803780643206718724185657541281357916925212489528073680370318403514882173840536734158925051697568499756023087576279408860760824704270245199077221735886263974860879290863250887291220461235135894642820941341792975183968987510682257351968575504527042117003218192278780060646811484103773231045505374636889824154806810179319832367006333925171125960089787779843036168774432378042897524195222856958751725522206113237064667812099618430886956291883115263004269415030219153502735734993642993542462994363753846510285956278624600399281315561719932992666676290977810189857511150736153261103864123818171490717040436653575537170027352029746541520090869465675991633930844505813713145882404548129564162239473036772670286162287139548878270200554097229922629085280016360789373165047153079358340210190093391185277583357365211241839388099898133301052685826029435018036851246832353436253299201903330900556618803659810955297198645925147167126442747505838449991833567474609363685704085072298178718133299579132625397827062995771176429847178852285407655014358291894461709590273203128259200190643176238701473754936760960062620747615067836346143361472854950592601388522493983112658843595364926883338623288823136088391911297360210612691053192984874244101067951526987706411042017185305340339324246671129403169139701008366275978749884138579367601830435073167670399870823544661727409899074194886277220672835437553149143340927370012402076895682650535122809088905338648029392327416382819863725673641583500569202852681485215941299225929327341222109970204119776836636242806919071876150561759876765837475435793029052501031500847443643808293713566735995911624452973057798965670049306026772063784732328669473549100941049979957852187669341371177297174423224124574991727245354670737468021431866445929765775299530405730094237738503673396014382173809692682286802666420299476416682498992619016304500720404660121024574777233777765764703532772371030961698208711728467027431117091388542583369700761768352729664475093022196255362220762402944936139561458190160671078987126078677203137797711149812878912812289780721317174297218090810798212653362938848190105639025250988275524798139284702785617124331307611872784719624564714221388670383561862976422211071414536674928540465230972395924766586610511541593622384648223049291489303691371587130018761187647426504624700551160391235099336915043309923222026140171858910970647696821160586048202119012440310558889290503950853445818588390894838579466100593025766359269228790011003021799375967557535735362214239691943599109394416605965653695708463415328672826284433461854333274191039555665422377911702829542627917401690210421991888115484371625788124597955747114004731027540513329575951053277797135127518818830571717371033028810245307625318046716892570342007192990381850941702041712751591750120071873236634882 149833742028720489287896270979504851983348043878914992046061123054615736224172700035262896683891253206259830292729926294010001880725390015464221209157044028725249571818529274276619517789187698881250667818607672115997353936204599379749630964772305034933116545604542508713338541298446807880277119582452260056865771795472128994561596655726330529053847554961039151393186882272953829222555980794736587537398161757747941502758214560918041134307716602251645956514032352672752671816058942658325235124839150424634911863170755244669059015788999699939854910213748065639108480579010316882417211196137261440911086046697270442163875343974520682424821192144314234285168876157561836922290659028541170789365559906160689693551385806960316111263509847280986926722561172802368072427645144191075306618259685478030270405625476831094812387825357157644934375113326292371412643201532679442579896572485884823000650637833210621430351572008194425432840859840438142810822576359492651565558648971060956823292391563464285921131884030259673271092935393868138859566792489968122426726643842598518678517103906859331064367206622854313923588137378722667351620947718308049251544778756689428816401432295851185217904607139561481203221860290723902507173777626026610132556005025322347113234512507692454712592194900103439692097278228821719986378002789297653362534030683717059192445810429604957996096892003449366204657953312861393728078939252746792295442040972430957427274057745698657169310891893554779035141568033095015904612196194671652007667862182465902422391808562046412058637692054240650296848202849528030661595640287994247705906416149792144799122485600030946520970487052802778957193906385011884365390762283172900734354357259378799990485023999522649634301376476986445852700144573835231580770414102741089729679927024923762880987937610135570176350606216805833608424644596744407688529381429571804481636804033104075797752144585689715269512184047907743403595463339071109862562834203745532599598393727647654879329937951272306709817473986158332134320534341549989635647698127987426696849556329671351113814631440922671925961730678214415686319826298910483170723733862724981700373539034968421934060775427748892530581475824780772616177488789994681323004195268696767112121725010924876944674859063155983272428437172840716045792573651534542976318670838949494213141811675414343558917378750975268262005113853029766375024021468164838352720080950128816253481481043546465295527964856030398298452415219958543377742064595293440173632953249591001786857375679024120297160048540738131106107134005694549738909208534143628970457179403743892227644764715042142559012465270503177767321876973692679127841020862859957547518243535950685024289418333766642320085042512349183645839790271754002958889559339934574362799007097462358546347936739440474846005198763102440881896555734476618046204657064166246954498236567386916972535261288808923761 242436087264053375054358657375143093666622299173299048437101682907586044027953343241981620869548794487617747217942415822083682251043793530346395049693778187650301269387029030299707094068596559642075372088852871193219089822468574240628921828023192326153577780740437151534279883091421991849264630264709612025441276322514245997779788934506391175865331658734270196898561519162777984029366160114568954543732086928873901592545994403954209908740094645149170151736889311424478194022172179722993047224457581311591203746286018248938474046008153202675589903856741608102102844332856827168373489820737660722226647766630263108840166321784710539935971928297575338149292694329052553962727312604078340816717589652702209784420851482951950042108015660994132809127109302366530311900681916861361468905399234356300470959722706753723897667841717947018099422266405650711622833294923864720163253937697126662388750535966511674116177601443212462284087692193874396110024479690393208184362308782016254021938316710631412363879389868709665104660410003231824563651864788146840560026222975223916505580099678035760911546058908261968937946429273184376941894150846567249442187954995390902571338193255913805965519674975907624564694715241316503895696271609139268976151369952205685736523335643780846623889555110716130745290263103065821054329529777004064404551215989057398516692481559008127135797900369725344954542091892228995558514012420417192166265585634158367326348252631975877842146329446703922376068938045497092800294846729794461096573200830495294749808191381910137732279275554809853149529688065469329887524967629216357676110535926628781041929404671907097082730363818640254392986935437512915866238205926981194447921093255290424443458081798488319683607403249050230585028814047384332521820394060593277399021298202220937304212062185127297421705276954273855040291090526510182988059787159666042220140477429118457971561837267976517935932483524324425902588082355375610582967494324770107376832171493412358412102308982234004918529202453185763251411922884133359336409466480717091171942578525926713334577034385858811487419920838885494673445904976113620968434883675603894512663319756285596231278866238547105183944414672970878255202739778270206121143479971482384236453032622797661664299423777377371942811999035817138256863988188209471516783901811345418979728422186955937181302026974024559751308805224616896393785209115591342977420632110520051352818396086856388517554105027889309269100112041119129425944183607733750732522243753541855232675964069918958876626149133763897465376362795705552760708584501701164705819393643435835826754159131648108212708173733918506440148161407154533461115211902415622969896155238780227652206820023977064311973157996720809433964388227501116963620586880447903938750060375259493673866755570012192217038227573347748507214602451369188388211850054548097896200278280138508722655333162045558643 392269829292773864342254928354647945649970343052214040483162805962201780252126043277244517553440047693877577510672342116093684131769183545810616258850822216375550841205558304576326611857784258523326039907460543309216443758673173620378552792795497361086694326344979660247618424389868799729541749847161872082307048117986374992341385590232721704919179213695309348291748401435731813251922140909305542081130248686621843095304208964872251043047811247400816108250921664097230865838231122381318282349296731736226115609456773493607533061797152902615444814070489673741211324911867144050790701016874922163137733813327533551004041665759231222360793120441889572434461570486614390885017971632619511606083149558862899477972237289912266153371525508275119735849670475168898384328327061052436775523658919834330741365348183584818710055667075104663033797379731943083035476496456544162743150510183011485389401173799722295546529173451406887716928552034312538920847056049885859749920957753077210845230708274095698285011273898969338375753345397099963423218657278114962986752866817822435184097203584895091975913265531116282861534566651907044293515098564875298693732733752080331387739625551764991183424282115469105767916575532040406402870049235165879108707374977528032849757848151473301336481750010819570437387541331887541040707532566301717767085246672774457709138291988613085131894792373174711159200045205090389286592951673163984461707626606589324753622310377674535011457221340258701411210506078592108704907042924466113104241063012961197172199999943956549790916967609050503446377890914997360549120607917210605382016952076420925841051890271938043603700850871443033350180841822524800231628968210154095182275450514669224433943105798010969317908779726036676437728958621219564102590808163334367128701225227144700185199999795262867598055883171079688648715735123254590676589168589237846701777281462222533769313981853666233205444667572232169306183545694446720445530328528515639976430565221060013291432246933506311628346676439344095385732457225683348972057164608704517868792134855598064448391665826781483413381651517099910359765731275024104139158617538328876213036858791254018165339641666295997714525890497751650871380228568264887444147675240179151348574757633722538608974282840533355215240436208657854302656561839744014493102572650294913192870233862370280740219405724999828013313919077646662768809230583756181330140713060648867606299877130402853813082069883919707567552527261077672803686248203027190906155197003132857019533339748943079173786197674502028571483496801400102499617793035844793676276573047179728054398923846690250771720639004421684207470038380847212588956232765275580517414398774730912676496238357743706632058200509069993079804178499255119922510146220382478301549067472721852220214692309452667063043426336450189389111158185845806434416507118714344850698514847525425695190594450854482404 634705916556827239396613585729791039316592642225513088920264488869787824280079386519226138422988842181495324728614757938177366382812977076157011308544600404025852110592587334876033705926380818165401411996313414502435533581141747861007474620818689687240272107085416811781898307481290791578806380111871484107748324440500620990121174524739112880784510872429579545190309920598509797281288301023874496624862335615495744687850203368826460951787905892549986259987810975521709059860403302104311329573754313047817319355742791742546007107805306105291034717927231281843314169244723971219164190837612582885364381579957796659844207987543941762296765048739464910583754264815666944847745284236697852422800739211565109262393088772864216195479541169269252544976779777535428696229008977913798244429058154190631212325070890338542607723508793051681133219646137593794658309791380408882906404447880138147778151709766233969662706774894619350001016244228186935030871535740279067934283266535093464867169024984727110648890663767679003480413755400331787986870522066261803546779089793046351689677303262930852887459324439378251799480995925091421235409249411442548135920688747471233959077818807678797148943957091376730332611290773356910298566320844305148084858744929733718586281183795254147960371305121535701182677804434953362095037062343305782171636462661831856225830773547621212267692692742900056113742137097319384845106964093581176627973212240747692079970563009650412853603550786962623787279444124089201505201889654260574200814263843456491922008191325866687523196243163860356595907578980466690436645575546426963058127488003049706882981294943845140686431214690083287743167777260037716097867174137135289630196543769959648877401187596499289001516182975086907022757772668603896624411202223927644527722523429365637489412061980390165019761160125353543689006825649764773664648955748903888921917758891340991740875819121642751141377151096556595208771628049822331028497822853285747353262736714472371703534555915740316546875878892529858637144380109816708308466631089421609040734713381524777782968700212640294900801572355985405033211636251137725107593501213932770725700178547539614396618507904843102898470305170722529126582968346535093565291155211661535585027790256520200273273706617910727158052435244474992559520550027953486009886474461640332172598656049326217921521432699024387764622724302263559162594439699347524307561345171168918959118273217259242330636174911809016836652639302196802229630431810760941638677440756674712252209303818862038050412346808265926036859859597105655260326377537545958382095966690615563881153082978338358984428812738340190647618199788001746050071444667691203487310554013511140328703058381720770944031358505790802513768566726756236886130733100830382240299127847981345894081447879464859280081653909797937896325760637214994822628357173262442746898793127663934417845927612900041047 1026975745849601103738868514084438984966562985277727129403427294831989604532205429796470655976428889875372902239287100054271050514582160621967627567395422620401402951798145639452360317784165076688727451903773957811651977339814921481386027413614187048326966433430396472029516731871159591308348129959033356190055372558486995982462560114971834585703690086124888893482058322034241610533210441933180038705992584302117587783154412333698711994835717139950802368238732639618939925698634424485629611923051044784043434965199565236153540169602459007906479531997720955584525494156591115269954891854487505048502115393285330210848249653303172984657558169181354483018215835302281335732763255869317364028883888770428008740365326062776482348851066677544372280826450252704327080557336038966235019952717074024961953690419073923361317779175868156344167017025869536877693786287836953045649554958063149633167552883565956265209235948346026237717944796262499473951718591790164927684204224288170675712399733258822808933901937666648341856167100797431751410089179344376766533531956610868786873774506847825944863372589970494534661015562576998465528924347976317846829653422499551565346817444359443788332368239206845836100527866305397316701436370079471027193566119907261751436039031946727449296853055132355271620065345766840903135744594909607499938721709334606313934969065536234297399587485116074767272942182302409774131699915766745161089680838847337016833592873387324947865060772127221325198489950202681310210108932578726687305055326856417689094208191269823237314113210772910860042285469895464050985766183463637568440144440079470632724033185215783184290132065561526321093348619082562516329496142347289384812471994284628873311344293394510258319424962701123583460486731289823460727002010387262011656423748656510337674612061775653032617817043296433232337722560773019364341238124338141735623695040353563525510189800975308984346821818668788764514955173744269051474028151381801387329693301935532384994966802849246628175222555331873954022876837335500057280523795698126126909526848237122842231360366039421778314183223873085315392977367526161829246752118752261646938737037338793632561958149571139100612996195668474179997963196914799981009438830451840686933602547890242738882247989458444082373292871453132846862177111867697500502989047111935245365468889911696498661740838424024215777936643379910221931403670283103705637702058231817786565418150347662096143718244795728724404205166563274475033316680013788132544832637759807569271742643567805117224198544482767954608343356398505757759944170573390752058372539737795291935552006825028609756149451742761874855088238168848958639027677432966784004724952788242053005199296739464477576089559014860795593572745226011356808640879321212860541848195320703198114296140188917526343125080246248127285436918823060801257044864291976787597597307975189360113036522063754523451 1661681662406428343135482099814230024283155627503240218323691783701777428812284816315696794399417732056868226967901857992448416897395137698124638875940023024427255062390732974328394023710545894854128863900087372314087510920956669342393502034432876735567238540515813283811415039352450382887154510070904840297803696998987616972583734639710947466488200958554468438672368242632751407814498742957054535330854919917613332471004615702525172946623623032500788628226543615140648985559037726589940941496805357831860754320942356978699547277407765113197514249924952237427839663401315086489119082692100087933866496973243126870692457640847114746954323217920819393601970100117948280580508540106015216451684627981993118002758414835640698544330607846813624825803230030239755776786345016880033264381775228215593166015489964261903925502684661208025300236672007130672352096079217361928555959405943287780945704593332190234871942723240645587718961040490686408982590127530443995618487490823264140579568758243549919582792601434327345336580856197763539396959701410638570080311046403915138563451810110756797750831914409872786460496558502089886764333597387760394965574111247022799305895263167122585481312196298222566433139157078754227000002690923776175278424864836995470022320215741981597257224360253890972802743150201794265230781657252913282110358171996438170160799839083855509667280177858974823386684319399729158976806879860326337717654051088084708913563436396975360718664322914183948985769394326770511715310822232987261505869590699874181016216382595689924837309453936771216638193048875930741422411759010064531498271928082520339607014480159628324976563280251609608836516396342600232427363316484424674442668538054588522188745480991009547320941145676210490483244503958427357351413212611189656184146272085875975164024123756043197637578203421786776026729386422784138005887080087045624545612799244904517251065620096951735488198969765345359723726801794091382502525974235087134682956038650004756698501358764986944722098434224403812660021217445316765588990426787547735950261561618647620014329066252062073214984796229070720426189003777299554354345619966194417664437215886333246958576657475982203511466500839196709124546165261335074574729985663502222518630338146762939155521696076354809531345306697607839421697661895650986512875521573575577538067545961022716583262271123048603542559367682173781093998109982451229945263403402986705524536423564921338474354419707537741240857805865471277262947111824549074183510078516482281523951947386667155274610891291033880645203215995611413020270548110936710440468506428410855816705089803366968740578264481102065502706437956850704689099122100657987492035506801753193333902355121185248520120917520651598107341311952767593694771612422043242782147323168684544008377588068382385623206734156046065181762679460275796079673221465239230344496101102853294530882449676654564498 2688657408256029446874350613898669009249718612780967347727119078533767033344490246112167450375846621932241129207188958046719467411977298320092266443335445644828658014188878613780754341494710971542856315803861330125739488260771590823779529448047063783894204973946209755840931771223609974195502640029938196487859069557474612955046294754682782052191891044679357332154426564666993018347709184890234574036847504219730920254159028036223884941459340172451590996465276254759588911257672151075570553419856402615904189286141922214853087447010224121103993781922673193012365157557906201759073974546587592982368612366528457081540707294150287731611881387102173876620185935420229616313271795975332580480568516752421126743123740898417180893181674524357997106629680282944082857343681055846268284334492302240555119705909038185265243281860529364369467253697876667550045882367054314974205514364006437414113257476898146500081178671586671825436905836753185882934308719320608923302691715111434816291968491502372728516694539100975687192747956995195290807048880755015336613843003014783925437226316958582742614204504380367321121512121079088352293257945364078241795227533746574364652712707526566373813680435505068402533667023384151543701439061003247202471990984744257221458359247688709046554077415386246244422808495968635168366526252162520782049079881331044484095768904620089807066867662975049590659626501702138933108506795627071498807334889935421725747156309784300308583725095041405274184259344529451821925419754811713948810924917556291870110424573865513162151422664709682076680478518771394792408177942473702099938416368161990972331047665375411509266695345813135929929865015425162748756859458831714059255140532339217395500089774385519805640366108377334073943731235248250818078415222998451667840570020742386312838636185531696230255395246718220008364451947195803502347125204425187360169307839598468042761255421072260719835020788434134124238681975538360433976554125616888522012649340585537141693468161614233572897320989556277766682898054780816822869514222485673862859788409855770462245689432291483851529168020102156035819166371303461383601097738718456064603174253225126879520534807047121304124462696507670889122509362176135055584168816115342909452232886037005678037769685534798891904638178150740686283874773763348487015864568685510822903536435872719215245003109547072819320496011062084003025401780265554935582965461634804492089954573912583434618072664503266465645062972428745752296263791838337206728342716276289850795694590954472272498809435773801835253546572394117170780214718684327462498841046166206147752257096628395578496727716223863940357794676125699663328126799533624771496760459589995246339101651860649726096210476535512393700914057178778950503412491743256103323995518489387742122673728257299911966331814402294192467199598283336597336718085757216017942093409078042654643918971740409087949 4350339070662457790009832713712899033532874240284207566050810862235544462156775062427864244775264353989109356175090816039167884309372436018216905319275468669255913076579611588109148365205256866396985179703948702439826999181728260166173031482479940519461443514462023039652346810576060357082657150100843036785662766556462229927630029394393729518680092003233825770826794807299744426162207927847289109367702424137344252725163643738749057888082963204952379624691819869900237896816709877665511494916661760447764943607084279193552634724417989234301508031847625430440204820959221288248193057238687680916235109339771583952233164934997402478566204605022993270222156035538177896893780336081347796932253144734414244745882155734057879437512282371171621932432910313183838634130026072726301548716267530456148285721399002447169168784545190572394767490369883798222397978446271676902761473769949725195058962070230336734953121394827317413155866877243872291916898846851052918921179205934698956871537249745922648099487140535303032529328813192958830204008582165653906694154049418699064000678127069339540365036418790240107582008679581178239057591542751838636760801644993597163958607970693688959294992631803290968966806180462905770701441751927023377750415849581252691480679463430690643811301775640137217225551646170429433597307909415434064159438053327482654256568743703945316734147840834024414046310821101868092085313675487397836524988941023506434660719746181275669302389417955589223170028738856222333640730577044701210316794508256166051126640956461203086988732118646453293318671567647325533830589701483766631436688296244511311938062145535039834243258626064745538766381411767762981184222775316138733697809070393805917688835255376529352961307254053544564426975739206678175429828435609641324024716292828262288002660309287739427892973450140006784391181333618587640353012284512232984714920638843372560012321041169212455323219758199479483962408777332451816479080099851975656695605379235541898391969520379220517619419423780681579342919272226133588458504649273221598810049971474418082260018498543545924744152816331226756245355375080760937955443358684650482267611469111460126479111464523103507635929197346867598247055527437470130158898801778845131970863224183768617193291381611153701435983484848348525705572435658999473528740090259086400441603981833741931828265380670121422863055378744257784119399890248006165528228865037791197614490997477504773092427084210804206885920778294217029559210903662886280911852794792772132319646538341139427773420327064835715898749788389728583800485266795264172939309552594617003568962186431762547237305980704966005860501114082550368017225921634282758988795966391748439673004006981834974616331394056163991808255369131546544198184104165299346106142841658072286131051316325682297589538548558340257648962277743612393416391307222455248286589510180895949174801421417063652447 7038996478918487236884183327611568042782592853065174913777929940769311495501265308540031695151110975921350485382279774085887351721349734338309171762610914314084571090768490201889902706699967837939841495507810032565566487442499850989952560930527004303355648488408232795493278581799670331278159790130781233273521836113936842882676324149076511570871983047913183102981221371966737444509917112737523683404549928357075172979322671774972942829542303377403970621157096124659826808074382028741082048336518163063669132893226201408405722171428213355405501813770298623452569978517127490007267031785275273898603721706300041033773872229147690210178085992125167146842341970958407513207052132056680377412821661486835371489005896632475060330693956895529619039062590596127921491473707128572569833050759832696703405427308040632434412066405719936764234744067760465772443860813325991876966988133956162609172219547128483235034300066413989238592772713997058174851207566171661842223870921046133773163505741248295376616181679636278719722076770188154121011057462920669243307997052433482989437904444027922282979240923170607428703520800660266591350849488115916878556029178740171528611320678220255333108673067308359371500473203847057314402880812930270580222406834325509912939038711119399690365379191026383461648360142139064601963834161577954846208517934658527138352337648324035123801015503809074004705937322804007025193820471114469335332323830958928160407876055965575977886114512996994497354288083385674155566150331856415159127719425812457921237065530326716249140154783356135369999150086418720326238767643957468731375104664406502284269109810910451343509953971877881468696246427192925729941082234147852792952949602733023313188925029762049158601673362430878638370706974454928993508243658608092991865286313570648600841296494819435658148368696858226792755633280814391142700137488937420344884228478441840602773576462241473175158240546633613608201090752870812250455634225468864178708254719821079040085437681993454090516740413336959346025817327006950411328018871758895461669838381330188544505707930835029776273320836433382792064521746384222321556541097403106546870785722336587005999646271570224811760391893854538487369564889613605185743067617894188041423096110220774295231061067145952593340621662999089211989447209422347960544604658944597223345140417706461147073268490217194242183551389806341787144801670513561101111194326672595689704445571390088207710499748714070672530983750722962781855474695501223487640195511069061983115341129295611700272229762838637551152296360783845754580699985479591635438150598760823151321219283060158125734033696928829946218295790208250031345352721167907530485556425981743686012105658842484700712541870591676385509169426310325494701596595908555449430138360147460028253725044582982209555870362960634450116161876026948990753109392979671266228682919258938603818720393157472740396 11389335549580945026894016041324467076315467093349382479828740803004855957658040370967895939926375329910459841557370590125055236030722170356526077081886382983340484167348101789999051071905224704336826675211758735005393486624228111156125592413006944822817092002870255835145625392375730688360816940231624270059184602670399072810306353543470241089552075051147008873808016179266481870672125040584812792772252352494419425704486315513722000717625266582356350245848915994560064704891091906406593543253179923511434076500310480601958356895846202589707009845617924053892774799476348778255460089023962954814838831046071624986007037164145092688744290597148160417064498006496585410100832468138028174345074806221249616234888052366532939768206239266701240971495500909311760125603733201298871381767027363152851691148707043079603580850950910509159002234437644263994841839259597668779728461903905887804231181617358819969987421461241306651748639591240930466768106413022714761145050126980832730035042990994218024715668820171581752251405583381112951215066045086323150002151101852182053438582571097261823344277341960847536285529480241444830408441030867755515316830823733768692569928648913944292403665699111650340467279384309963085104322564857293957972822683906762604419718174550090334176680966666520678873911788309494035561142070993388910367955987986009792608906392027980440535163344643098418752248143905875117279134146601867171857312771982434595068595802146851647188503930952583720524316822241896489206880908901116369444513934068623972363706486787919336128886902002588663317821654066045860069357345441235362811792960651013596207171956445491177753212597942627007462627838960688711125305009463991526650758673126829230877760285138578511562980616484423202797682713661607168938072094217734315890002606398910888843956804107175086041342146998233577146814614432978783053149773449653329599149117285213162785897503410685630481460304833093092163499530203264066934714325320839835403860099056620938477407202372674608136159837117640925368736599233083999786523521032117060479888352804606626765726429378575701017473652764609548309877121464983259511984456087757029138397191448047132478757736093328319396321091201406085616620417051075315901966419673033173393959334404542912424352448757106294776605147847437737695019645081347434073344749203683623786744399540203078901533870887315665046606768550599571264201560761567266639423191710386887318936568867592980802926832924874879416904529017179811414685599164109768552048305861834115434987667636751128045650089903473267051046149173574338381185252274855808377460151355440154890181469491920672971339677633795952078796904290800399362578642802190289474352392373492125685109665824319675328873264647840377317424795441872038899780700073854795536281201805532314384776360908664507145408911518974707765124153770561384169500700202126514515272429439834552993521814574536392843 18428332028499432263778199368936035119098059946414557393606670743774167453159305679507927635077486305831810326939650364210942587752071904694835248844497297297425055258116591991888953778605192542276668170719568767570959974066727962146078153343533949126172740491278488630638903974175401019638976730362405503332706438784335915692982677692546752660424058099060191976789237551233219315182042153322336476176802280851494598683808987288694943547167569959760320867006012119219891512965473935147675591589698086575103209393536682010364079067274415945112511659388222677345344777993476268262727120809238228713442552752371666019780909393292782898922376589273327563906839977454992923307884600194708551757896467708084987723893948999008000098900196162230860010558091505439681617077440329871441214817787195849555096576015083712037992917356630445923236978505404729767285700072923660656695450037862050413403401164487303205021721527655295890341412305237988641619313979194376603368921048026966503198548732242513401331850499807860471973482353569267072226123508006992393310148154285665042876487015125184106323518265131454964989050280901711421759290518983672393872860002473940221181249327134199625512338766420009711967752588157020399507203377787564538195229518232272517358756885669490024542060157692904140522271930448558637524976232571343756576473922644536930961244040352015564336178848452172423458185466709882142472954617716336507189636602941362755476471858112427625074618443949578217878604905627570644773031240757531528572233359881081893600772017114635585269041685358724033316971740484766186308124989398704094186897625057515880476281767355942521263166569820508476158874266153614441066387243611844319603708275859852544066685314900627670164653978915301841168389688116536162446315752825827307755288919969559489685253298926610744189710843856460369902447895247369925753287262387073674483377595727053765559473965652158805639700851466706700364590283074076317390348550789704014112114818877699978562844884366128698652900250454600271394553926240034411114542392791012522149726734134795171271434360213605477290794489197992340374398867849205581068525553490863576009182913784634138478404007663553131156712985055944572986185306664680501645034037567221214817055444625317207655413515903058888117226810846526949684466854503695394617949408148280847131884817246664225974802361104509907230158158356941358409003231275128367750617518382982577023382140257681188513426581638945551947888279740142593270160294665333256192243816930896098550328796932362828317879852742110818203342509957420092961885237754447443815610750116263306211400752552078798705373374562625898297092694499050430707931363970097819959908818355235811697215324666804376041415135239516762826594221752197533601377295982410244966419561952992342638501405491646716701279274479609157881286029797510374922610093181797780743955348698773156812242207732009133239 29817667578080377290672215410260502195413527039763939873435411546779023410817346050475823575003861635742270168497020954335997823782794075051361325926383680280765539425464693781888004850510417246613494845931327502576353460690956073302203745756540893948989832494148744465784529366551131707999793670594029773391891041454734988503289031236016993749976133150207200850597253730499701185854167193907149268949054633345914024388295302802416944264792836542116671112854928113779956217856565841554269134842878010086537285893847162612322435963120618534819521505006146731238119577469825046518187209833201183528281383798443291005787946557437875587666667186421487980971337983951578333408717068332736726102971273929334603958782001365540939867106435428932100982053592414751441742681173531170312596584814559002406787724722126791641573768307540955082239212943048993762127539332521329436423911941767938217634582781846123175009142988896602542090051896478919108387420392217091364513971175007799233233591723236731426047519319979442224224887936950380023441189553093315543312299256137847096315069586222445929667795607092302501274579761143156252167731549851427909189690826207708913751177976048143917916004465531660052435031972466983484611525942644858496168052202139035121778475060219580358718741124359424819396183718758052673086118303564732666944429910630546723570150432379996004871342193095270842210433610615757259752088764318203679046949374923797350545067660259279272263122374902161938402921727869467133979912149658647898016747293949705865964478503902554921397928587361312696634793394550812046377482334839939456998690585708529476683453723801433699016379167763135483621502105114303152191692253075835846254466948986681774944445600039206181727634595399725043966072401778143331384387847043561623645291526368470378529210103033785830231052990854693947049262509680348708806437035836727004082526713012266928345371469062844436121161156299799792528089813277340384325062876110543849515974917934320917040252086738803306789060087572241196763290525473118410901065913823129582629615086939401798037160789592181178308268141962601888684275989314188840580510009578620605147580105232681270957161743756881450553034076257350658602805723715755817547000457240254388211014779029860120079765964660165182893831958693964687379486499585042828691294157351964470918629216786867304876336231991825572276764926907540929673204792036695634390040710093369464342318709125274169316353414563820431364792808757322404684845893829443024744292122792730213985316464569113956363529942645584085254388659130994431343070490029303252193070901471703461101582222043999471676713052196421850375889598789850830070510006772288109434261210728727937382324990491124051370288399887357140144019017194069572501157996056265040502700763758524657023277766400311223846688185998583865646410183568071759092110793383924295259227778138607709805764022306545526082 48245999606579809554450414779196537314511586986178497267042082290553190863976651729983751210081347941574080495436671318546940411534865979746196574770880977578190594683581285773776958629115609788890163016650896270147313434757684035448281899100074843075162572985427233096423433340726532727638770400956435276724597480239070904196271708928563746410400191249267392827386491281732920501036209347229485745125856914197408623072104290091111887811960406501876991979860940232999847730822039776701944726432576096661640495287383844622686515030395034479932033164394369408583464355463301314780914330642439412241723936550814957025568855950730658486589043775694815544878177961406571256716601668527445277860867741637419591682675950364548939966006631591162960992611683920191123359758613861041753811402601754851961884300737210503679566685664171401005476191448453723529413239405444990093119361979629988631037983946333426380030864516551898432431464201716907750006734371411467967882892223034765736432140455479244827379369819787302696198370290519647095667313061100307936622447410423512139191556601347630035991313872223757466263630042044867673927022068835100303062550828681649134932427303182343543428343231951669764402784560624003884118729320432423034363281720371307639137231945889070383260801282052328959918455649206611310611094536136076423520903833275083654531394472732011569207521041547443265668619077325639402225043382034540186236585977865160106021539518371706897337740818851740156281526633497037778752943390416179426588980653830787759565250521017190506666970272720036729951765135035578232685607324238643551185588210766045357159735491157376220279545737583643959780376371267917593258079496687680165858175224846534319011130914939833851892288574315026885134462089894679493830703599869388931400580446338029868214463401960396574420763834711154316951710404927718634559724298223800678565904308739320693904845434715003241760862007766506492892680096351416701715411426900247863628089736812020895603096971104932005441960338026841468157844451713152822015608306614142104779341821074196969308595149805786655599062631160594229058674857163394421649035563069484181156763019017315409435565751420434581709747061313295231588991030380436319192034494807475603028070223655177327735179480563224071011058769540491637063953354088738223309243565500245318050514034033531530851138593096335479506923085264482288082208023311824002140658228476352041365700849382955357829779996202765983312681088497464997955006188494776280936535939723626312535645261501476784681409795387694903457731169088414524304955727783750696008681651587966767312982974596078270382086426759047748672982293288901260778441370742385929394170029083963749079540315157928427411703535126873902970613238946267106102535292038675285469120325711516999661779171891957940547967460478193023527696213365582134014720886565722076003183126837380866618006230038554659321 78063667184660186845122630189457039509925114025942437140477493837332214274793997780459574785085209577316350663933692272882938235317660054797557900697264657858956134109045979555664963479626027035503657862582223772723666895448640108750485644856615737024152405479575977562207962707277664435638564071550465050116488521693805892699560740164580740160376324399474593677983745012232621686890376541136635014074911547543322647460399592893528832076753243043993663092715868346779803948678605618256213861275454106748177781181231007235008950993515653014751554669400516139821583932933126361299101540475640595770005320349258248031356802508168534074255710962116303525849515945358149590125318736860182003963839015566754195641457951730089879833113067020095061974665276334942565102439787392212066407987416313854368672025459337295321140453971712356087715404391502717291540778737966319529543273921397926848672566728179549555040007505448500974521516098195826858394154763628559332396863398042564969665732178715976253426889139766744920423258227470027119108502614193623479934746666561359235506626187570075965659109479316059967538209803188023926094753618686528212252241654889358048683605279230487461344347697483329816837816533090987368730255263077281530531333922510342760915707006108650741979542406411753779314639367964663983697212839700809090465333743905630378101544905112007574078863234642714107879052687941396661977132146352743865283535352788957456566607178630986169600863193753902094684448361366504912732855540074827324605727947780493625529729024919745428064898860081349426586558529586390279063089659078583008184278796474574833843189214958809919295924905346779443401878476382220745449771749763516012112642173833216093955576514979040033619923169714751929100534491672822825215091446912950555045871972706500246743673504994182404651816825565848264000972914608067343366161334060527682648431021751587622250216903777847677882023164066306285420769909628757086040474303010791713144064654746341812643349057843735312231020425599082664921134977186271232916674220437271687408956908013598767345755939397967833907330773123196117742950846477583262229545572648104786304343124249996680392727495177316032262781137570645890191796754096192136739034952047729991239085002685037447814945445223389253904890728234456324443439853673781052000537722852209788969143250820398835727474825088161051783688012172023217755412815348519636530698938569721505708019558508229527146133410766586414677473897254787402639852082324219305680828062516356526520961726070590741044939738033278988712119828219408955648026217813053948201752553059670228414565196640077742058799478955469599048871892078752090848951377514674038828431239812691686461865305649052478781991935014231043114632256140336678603693288094940325971821089470041656685056938292269164394655646476776889174106396933653893106831679949646371262410904975988576423770252345100185403 126309666791239996399573044968653576824436701012120934407519576127885405138770649510443325995166557518890431159370363591429878646852526034543754475468145635437146728792627265329441922108741636824393820879233120042870980330206324144198767543956690580099314978465003210658631396048004197163277334472506900326841086001932876796895832449093144486570776515648741986505370236293965542187926585888366120759200768461740731270532503882984640719888713649545870655072576808579779651679500645394958158587708030203409818276468614851857695466023910687494683587833794885548405048288396427676080015871118080008011729256900073205056925658458899192560844754737811119070727693906764720846841920405387627281824706757204173787324133902094638819799119698611258022967276960255133688462198401253253820219390018068706330556326196547799000707139635883757093191595839956440820954018143411309622662635901027915479710550674512975935070872022000399406952980299912734608400889135040027300279755621077330706097872634195221080806258959554047616621628517989674214775815675293931416557194076984871374698182788917706001650423351539817433801839845232891600021775687521628515314792483571007183616032582412831004772690929434999581240601093714991252848984583509704564894615642881650400052938951997721125240343688464082739233095017171275294308307375836885513986237577180714032632939377844019143286384276190157373547671765267036064202175528387284051520121330654117562588146697002693066938604012605642250965974994863542691485798930491006751194708601611281385094979545936935934731869132801386156538323664621968511748696983317226559369867007240620191002924706116186139575470642930423403182254847650138338707851246451196177970817398679750412966707429918873885512211744029778814234996581567502319045795046782339486446452419044530114958136906954578979072580660277002580952683319535785977925885632284328361214335330490908316155062338492850919642885171832812778313450005980173787755885729911039576772154391558362708246446028948667317672980763625924133078979428899424054932282527051413792188298729087795736654351089203754489506393404283790346801625703640977683878581135717588967461106143267312089828293246597750613972528198883941121780787784476628455931069446855205594267155226340214775550124925786613324915949497774947961507393207762519275309781288352455107019657284853930366578613418184496531290611097436505505837620838660343638671357167046073547073720407891184884975913406969352397990154985752252400594858270818995586617364002239982839056606987572067525726349533420973892169850997307823479952981945596804644210434204647636995727548171236156012440885905714517347721854185367653351627392748257059968222601268896655435541405620806980906193695470141104946085245495086603784706228580133615611440941415181558656346836110184227104942623106954969912701802610299236027121552566515368447265594031813369443041776482383654844724 204373333975900183244695675158110616334361815038063371547997069965217619413564647290902900780251767096206781823304055864312816882170186089341312376165410293296102862901673244885106885588367663859897478741815343815594647225654964252949253188813306317123467383944579188220839358755281861598915898544057365376957574523626682689595393189257725226731152840048216580183353981306198163874816962429502755773275680009284053917992903475878169551965466892589864318165292676926559455628179251013214372448983484310157996057649845859092704417017426340509435142503195401688226632221329554037379117411593720603781734577249331453088282460967067726635100465699927422596577209852122870436967239142247809285788545772770927982965591853824728699632232765631353084941942236590076253564638188645465886627377434382560699228351655885094321847593607596113180907000231459158112494796881377629152205909822425842328383117402692525490110879527448900381474496398108561466795043898668586632676619019119895675763604812911197334233148099320792537044886745459701333884318289487554896491940743546230610204808976487781967309532830855877401340049648420915526116529306208156727567034138460365232299637861643318466117038626918329398078417626805978621579239846586986095425949565391993160968645958106371867219886094875836518547734385135939278005520215537694604451571321086344410734484282956026717365247510832871481426724453208432726179307674740027916803656683443075019154753875633679236539467206359544345650423356230047604218654470565834075800436549391775010624708570856681362796767992882735583124882194208358790811786642395809567554145803715195024846113921074996058871395548277202846584133324032359084157622996214712190083459572512966506922283944897913919132134913744530743335531073240325144260886493695290041492324391751030361701810411948761383724397485842850844953656234143853321292046966344856043862766352242495938405279242270698597524908335899119063734219915608930873796360032921831289916219046304704520889795086792402629904001189225006798000114406085695287848956747488685479597255637101394504000107028601722323413724177406986464544576550118560946108126708365693753765449267517308770221020741775066646235309336454587011972584538572820592670104398902935585506240229025252223365070371010002578820840226009404285950833061436300327310319011204664895988800535674329202306088243272657583074299109608528723593033654008863275202056105615795052781739966399414412122046817735938812667628883007039803234710353143214892298192064756339365577568713642658266771289271454252880881970825527232435601008163409858592412186757707307224142113367876233754499685384669986946770726077446405442476344125771734007051032508709347122003270926456033384975687405155335989199877751226940463309921868228555937412762504651600313031893048476496269337278753431746801875909007232889920228384246465014818528004936789358019465546734728755030127 330683000767140179644268720126764193158798516050184305955516646093103024552335296801346226775418324615097212982674419455742695529022712123885066851633555928733249591694300510214548807697109300684291299621048463858465627555861288397148020732769996897222782362409582398879470754803286058762193233016564265703798660525559559486491225638350869713301929355696958566688724217600163706062743548317868876532476448471024785188525407358862810271854180542135734973237869485506339107307679896408172531036691514513567814334118460710950399883041337028004118730336990287236631680509725981713459133282711800611793463834149404658145208119425966919195945220437738541667304903758887591283809159547635436567613252529975101770289725755919367519431352464242611107909219196845209942026836589898719706846767452451267029784677852432893322554733243479870274098596071415598933448815024788938774868545723453757808093668077205501425181751549449299788427476698021296075195933033708613932956374640197226381861477447106418415039407058874840153666515263449375548660133964781486313049134820531101984902991765405487968959956182395694835141889493653807126138304993729785242881826622031372415915670444056149470889729556353328979319018720520969874428224430096690660320565208273643561021584910104092992460229783339919257780829402307214572313827591374580118437808898267058443367423660800045860651631787023028854974396218475468790381483203127311968323778014097192581742900572636372303478071218965186596616398351093590295704453401056840826995145151003056395719688116793617297528637125684121739663205858830327302560483625713036126924012810955815215849038627191182198446866191207626249766388171682497422865474242665908368054276971192716919888991374816787804644346657774309557570527654807827463306681540477629527938776810795560476659947318903340362796978146119853425906339553679639299217932598629184405077101682733404254560341580763549517167793507731931842047669921589104661552245762832870866688373437863067229136241115741069947576981952850930931079093834985119342781239274540099271785554366189190240654458117805476812920117581690776811346202253759538629986707844083282721226555410784620860049313988372817260207837535338528133753372323049449048601173845758141179773395455365466998915195296796615903736789723784352247458226269198819602620100299557120003008457820528259568884701661457154114364910207045034229430654492669206913873413272661868599855460374290599297097960224705291210657783868759292203829568623962210478915556066996322204634175701214725792497638804875226773051821822835055915553990109006663236622620962354944219869661539112389766940571290384504294492580262814058794103736874028793975273633777606002557544676547263014291169382875296440935285123246313544248016150448362171548853703919833158969378729158660723374279901860386716714577711617532125947349936812980383265793598968602727462507323217112409874851 535056334743040362888964395284874809493160331088247677503513716058320643965899944092249127555670091711303994805978475320055512411192898213226379227798966222029352454595973755099655693285476964544188778362863807674060274781516252650097273921583303214346249746354161587100310113558567920361109131560621631080756235049186242176086618827608594940033082195745175146872078198906361869937560510747371632305752128480308839106518310834740979823819647434725599291403162162432898562935859147421386903485674998823725810391768306570043104300058763368513553872840185688924858312731055535750838250694305521215575198411398736111233490580393034645831045686137665964263882113611010461720776398689883245853401798302746029753255317609744096219063585229873964192851161433435286195591474778544185593474144886833827729013029508317987644402326851075983455005596302874757045943611906166567927074455545879600136476785479898026915292631076898200169901973096129857541990976932377200565632993659317122057625082260017615749272555158195632690711402008909076882544452254269041209541075564077332595107800741893269936269489013251572236481939142074722652254834299937941970448860760491737648215308305699467937006768183271658377397436347326948496007464276683676755746514773665636721990230868210464859680115878215755776328563787443153850319347806912274722889380219353402854101907943756072578016879297855900336401120671683901516560790877867339885127434697540267600897654448270051540017538425324730942266821707323637899923107871622674902795581700394831406344396687650298660325405118566857322788088053038686093372270268108845694478158614671010240695152548266178257318261739484829096350521495714856507023097238880620558137736543705683426811275319714701723776481571518840300906058728048152607567568034172919569431101202546590838361757730852101746521375631962704270859995787823492620509979564974040448939868034975900192965620823034248114692701843631050905781889837198035535348605795754702156604592484167771750026036202533472577480983142075937729079208241070814630630196022028784751382810003290584744654565146407199136333841759097763275890778803878099576094834552448976474992004678301929630270334730147883906443146871793115145725956861622269641271278244661076765279635684390719222280265667806618482557629949793756533409059330635119929930419310761784898997258356202588771190789904729811697439209316653562953023688146678070189075469378277663652637200340690013709220007042441230023325412751766332007064278977105425371213748131752661570211744414857384059268928076329479653933792648362288351154998272416521829034807720062251444011774906988623521440256675054491241263306340260464236580080999800527982324666286315349679547947473719047676145070280451776924485000997540484711326072316590727486266466424484759282410622207137219643617180613818463516453620624765015867578321059445398084321603905392085481972869951841164904978 865739335510180542533233115411639002651958847138431983459030362151423668518235240893595354331088416326401207788652894775798207940215610337111446079432522150762602046290274265314204500982586265228480077983912271532525902337377541047245294654353300111569032108763743985979780868361853979123302364577185896784554895574745801662577844465959464653335011551442133713560802416506525576000304059065240508838228576951333624295043718193603790095673827976861334264641031647939237670243539043829559434522366513337293624725886767280993504183100100396517672603177175976161489993240781517464297383977017321827368662245548140769378698699819001565026990906575404505931187017369898053004585558237518682421015050832721131523545043365663463738494937694116575300760380630280496137618311368442905300320912339285094758797707360750880966957060094555853729104192374290355979392426930955506701943001269333357944570453557103528340474382626347499958329449794151153617186909966085814498589368299514348439486559707124034164311962217070472844377917272358452431204586219050527522590210384608434580010792507298757905229445195647267071623828635728529778393139293667727213330687382523110064130978749755617407896497739624987356716455067847918370435688706780367416067079981939280283011815778314557852140345661555675034109393189750368422633175398286854841327189117620461297469331604556118438668511084878929191375516890159370306942274080994651853451212711637460182640555020906423843495609644289917538883220058417228195627561272679515729790726851397887802064084804443915957854042244250979062451293911869013395932753893821881821402171425626825456544191175457360455765127930692455346116909667397353929888571481546528926192013514898400346700266694531489528420828229293149858476586382855980070874249574650549097369878013342151315021705049755442109318353778082557696766335341503131919727912163603224854016969717709304447525962403797797631860495351362982747829559758787140196900851558587573023292965922030838979162277318274542525057965094926868660158302076055933973411435296568884023168364369479774985309023264212675949253959340788540087236981057637638206081542396532259196218560089086550490319648718520701166650984407131643279479329184671718689872452090419217945053031139756186221195460964603234386294419673578108780867285599833939532550519610318904902005716176730848340075491566186965811804119523698597182454342639347277102948882650939532252492660714980613006317967267146521233983196620525624210893847601067635850129304198748983774845920116072109851766566881204706426985614471197344266708988381423185065657428682417195663881436446101013288380827965438995535755886603074523030683817873829321957598300063921352237092624020982061967314453155748217859770124243854028959342222764952899035120170344317918251789351365797943017897082474205180231031332242297141814928257872425781350115202873994812944480193168953574779829 1400795670253220905422197510696513812145119178226679660962544078209744312484135184985844481886758508037705202594631370095853720351408508550337825307231488372791954500886248020413860194268063229772668856346776079206586177118893793697342568575936603325915281855117905573080090981920421899484411496137807527865311130623932043838664463293568059593368093747187308860432880615412887445937864569812612141143980705431642463401562029028344769919493475411586933556044193810372136233179398191250946338008041512161019435117655073851036608483158863765031226476017361665086348305971837053215135634671322843042943860656946876880612189280212036210858036592713070470195069130980908514725361956927401928274416849135467161276800360975407559957558522923990539493611542063715782333209786146987090893795057226118922487810736869068868611359386945631837184109788677165113025336038837122074629017456815212958081047239037001555255767013703245700128231422890281011159177886898463015064222361958831470497111641967141649913584517375266105535089319281267529313749038473319568732131285948685767175118593249192027841498934208898839308105767777803252430647973593605669183779548143014847712346287055455085344903265922896645734113891415174866866443152983464044171813594755604917005002046646525022711820461539771430810437956977193522272952523205199129564216569336973864151571239548312191016685390382734829527776637561843271823503064958861991738578647409177727783538209469176475383513148069614648481150041765740866095550669144302190632586308551792719208408481492094214618179447362817836385239381964907699489305024161930727515880330040297835697239343723723538713083389670177284442467431163112210436911668720427149484329750058604083773511542014246191252197309800811990159382645110904132678441817608823468666800979215888742153383462780607543855839729410045261967626331129326624540237891728577265302956837752685204640491583226832045746553197194994033653611449595985175732249457354342275179897558406198610729188313520808015102538948237002806389237510317126748604041631318597668774551174372770359729963588410619875085587801099886303363127759861515737782176376948981235671210564767388480120589983448668585073094131278924758425205286046293988331143730335080294710332666824146905443475726632409852868852049623371865314276344930469059462480938921080689801002974532933437111266281470916777509243328840352160135478030786025347292024352029217195905129861055670626715537974309587751257308609372291956217958126578173061221343052330501645345057664530929493911035494957534186080919407119559632617863986653839706894692236402479447107893211353089636809821084640493486777019192943334987267263898873629849939922966350236701916640571494701109643459523436199994784255125241394513670668295081543626521386636768802677534199973572935162661514263088023643747484952867062157682506578931871179434436806779386898426453063120794739684807 2266535005763401447955430626108152814797078025365111644421574440361167981002370425879439836217846924364106410383284264871651928291624118887449271386664010523554556547176522285728064695250649495001148934330688350739112079456271334744587863230289903437484313963881649559059871850282275878607713860714993424649866026198677845501242307759527524246703105298629442573993683031919413021938168628877852649982209282382976087696605747221948560015167303388448267820685225458311373903422937235080505772530408025498313059843541841132030112666258964161548899079194537641247838299212618570679433018648340164870312522902495017649990887980031037775885027499288474976126256148350806567729947515164920610695431899968188292800345404341071023696053460618107114794371922693996278470828097515429996194115969565404017246608444229819749578316447040187690913213981051455469004728465768077581330960458084546316025617692594105083596241396329593200086560872684432164776364796864548829562811730258345818936598201674265684077896479592336578379467236553625981744953624692370096254721496333294201755129385756490785746728379404546106379729596413531782209041112887273396397110235525537957776477265805210702752799763662521633090830346483022785236878841690244411587880674737544197288013862424839580563960807201327105844547350166943890695585698603485984405543758454594325449040571152868309455353901467613758719152154452002642130445339039856643592029860120815187966178764490082899227008757713904566020033261824158094291178230416981706362377035403190607010472566296538130576033489607068815447690675876776712885237778055752609337282501465924661153783534899180899168848517600869739788584340830509564366800240201973678410521763573502484120211808708777680780618138030105140017859231493760112749316067183474017764170857229230893468405167830362985965158083188127819664392666470829756459965803892180490156973807470394509088017545630629843378413692546357016401441009354772315929150308912929848203190524328229449708350590839082557627596913331929675049395812393182682577453066615166552797719538742250134715272611674832551034841760440674843450364740919153375988257919345513494867429124856475030610909632167189286239745115686056401704684615230965707021016182425499512655385697963903091664671187597013087255146469296949974095143630530302998995031458531399594703008690709664285451341773037103743321047448364050757317932373425372624394973234680156728157622521770651239721855941576734272491291805992817580428851974179240697071472356529250629119903584647001603762802061838738892507905021590756976884572975035262891960349665084896642771774647799190650098201912605932482312775079546409510297947716747459171897521266414158054153733195515683171610773976591948212644025249485248542630010517846496525556506807113120595785989324938733105679411345562228823978516285109359299497434836804296960784552009653381711370933256289748314464636 3667330676016622353377628136804666626942197203591791305384118518570912293486505610865284318104605432401811612977915634967505648643032627437787096693895498896346511048062770306141924889518712724773817790677464429945698256575165128441930431806226506763399595818999555132139962832202697778092125356852800952515177156822609889339906771053095583840071199045816751434426563647332300467876033198690464791126189987814618551098167776250293329934660778800035201376729419268683510136602335426331452110538449537659332494961196914983066721149417827926580125555211899306334186605184455623894568653319663007913256383559441894530603077260243073986743064092001545446321325279331715082455309472092322538969848749103655454077145765316478583653611983542097654287983464757712060804037883662417087087911026791522939734419181098888618189675833985819528097323769728620582030064504605199655959977914899759274106664931631106638852008410032838900214792295574713175935542683763011844627034092217177289433709843641407333991480996967602683914556555834893511058702663165689664986852782281979968930247979005682813588227313613444945687835364191335034639689086480879065580889783668552805488823552860665788097703029585418278824944237898197652103321994673708455759694269493149114293015909071364603275781268741098536654985307144137412968538221808685113969760327791568189600611810701180500472039291850348588246928792013845913953948403998718635330608507529992915749716973959259374610521905783519214501183303589898960386728899561283896994963343954983326218881047788632345194212936969886651832930057841684412374542802217683336853162831506222496851022878622904437881931907271047024231051771993621774803711908922400827894851513632106567893723350723023872032815447830917130177241876604664245427757884792297486430971836445119635621788630610970529820997812598173081632018997600156381000203695620757755459930645223079713728509128857461889124966889741351050055052458950757491661399766267272123383088082734428060437538904359890572730135861568932481438633322710309431181494697933764221572270713115020494445236200085452426120429561540561146813492500780669113770434296294494730538639689623863510731499615615857871312839246964981160129889901277259695352159912760579807365718364788049997108146914229422940123998518920321839409419975460772058457512397452480284504011665242597722562608054508020520830290777204402917453410404211397971686997586709373924062752382826321866437393915886322023748600415365109536646810100757413758292815408859752274464961249177931097673837556796273078588824428710316609502436961689102598855041901487376089879667859152280286908022997246425969089794272489744497565211615621089021837444232764394756070373767010384281254233500028148207428280374726643056300678812928040152077893443881923273320189298511668268340925608650252467726001237976421457179941415736168140218988816432768609797386319410543054149443 5933865681780023801333058762912819441739275228956902949805692958932080274488876036744724154322452356765918023361199899839157576934656746325236368080559509419901067595239292591869989584769362219774966725008152780684810336031436463186518295036516410200883909782881204691199834682484973656699839217567794377165043183021287734841149078812623108086774304344446194008420246679251713489814201827568317441108399270197594638794773523472241889949828082188483469197414644726994884040025272661411957883068857563157645554804738756115096833815676792088129024634406436947582024904397074194574001671968003172783568906461936912180593965240274111762628091591290020422447581427682521650185256987257243149665280649071843746877491169657549607349665444160204769082355387451708339274865981177847083282026996356926956981027625328708367767992281026007219010537750780076051034792970373277237290938372984305590132282624225211722448249806362432100301353168259145340711907480627560674189845822475523108370308045315673018069377476559939262294023792388519492803656287858059761241574278615274170685377364762173599334955693017991052067564960604866816848730199368152461978000019194090763265300818665876490850502793247939911915774584381220437340200836363952867347574944230693311581029771496204183839742075942425642499532657311081303664123920412171098375304086246162515049652381854048809927393193317962346966080946465848556084393743038575278922638367650808103715895738449342273837530663497423780521216565414057054677907129978265603357340379358173933229353614085170475770246426576955467280620733718461125259780580273435946190445332972147158004806413522085337050780424871916764019636112824131339170512149124374506305373277205609052013935159431801552813433585861022270195101108098424358177073951975771504195142693674350529090193798441333515786155895786300901296411664070986137460169499512938245616904452693474222816526674488091732503380582287708066456493468305529807590550075180201971586278607062657510145889495198973130357732774900862156488029135103492113758947764548930774369990251857270629160508811760284977155271321981235990263857241699822489758692215640008225406068814480338541342409247783047157552584362651037561834574516508225402373176095186079320021104062751953088772818101826436027379144988217271813504563605991075057452543855983879879207020355952262008013949827545124264151338225568453674771342777636770596081970821389530652220374904596973106159249857463056296239892221357927117075662074936654455364287765389002903584864833824932701436639618635011971096729450301073586387009936724365490815391566572272732651442506951470937006224909852358451402569352036154007863159332368548193734965499178552810224106962526067452865007476620096420072305624211891598930689330774536677634400250995043869106178623450401374020336954212481291704517523085780756677376252540465101003540826086150321168319575700291368614079 9601196357796646154710686899717486068681472432548694255189811477502992567975381647610008472427057789167729636339115534806663225577689373763023464774455008316247578643302062898011914474288074944548784515685617210630508592606601591628448726842742916964283505601880759823339797514687671434791964574420595329680220339843897624181055849865718691926845503390262945442846810326584013957690235026258782232234589258012213189892941299722535219884488860988518670574144063995678394176627608087743409993607307100816978049765935671098163554965094620014709150189618336253916211509581529818468570325287666180696825290021378806711197042500517185749371155683291565868768906707014236732640566459349565688635129398175499200954636934974028191003277427702302423370338852209420400078903864840264170369938023148449896715446806427596985957668115011826747107861520508696633064857474978476893250916287884064864238947555856318361300258216395271000516145463833858516647450164390572518816879914692700397804017888957080352060858473527541946208580348223413003862358951023749426228427060897254139615625343767856412923183006631435997755400324796201851488419285849031527558889802862643568754124371526542278948205822833358190740718822279418089443522831037661323107269213723842425874045680567568787115523344683524179154517964455218716632662142220856212345064414037730704650264192555229310399432485168310935213009738479694470038342147037293914253246875180801019465612712408601648448052569280942995022399869003956015064636029539549500352303723313157259448234661873802820964459363546842119113550791560145537634323382491119283043608164478369654855829292144989774932712332142963788250687884817753113974224058046775334200224790837715619907658510154825424846249033691939400372342984703088603604831836768068990626114530119470164711982429052304045607153708384473982928430661671142518460373195133696001076835097916553936545035803345553621628347472029059116511545927256287299251949841447474094969366689797085570583428399558863703087868636469794637926662457813801544940442462482694995942260964972291123605745011845737403275700883521797137077349742480491603529126511934502955944708504104202052073908863398905028865423609616018721964464417785485097725336007946659127386822427540003085880965016055858967503143507137593652913983581451847115910056253436360163711032021194859730576557882053144784981629002772856592224753181848168567768968408098904576283127287423294972596643773349378319988492636723036653722472175694068213657103174248755178049826083002863799110477175431285049685553879011390195889446898413468089670433468059648822531110366103751223914247907098784420492363624525898505428370947989637215572409731942947566294480729536451734119240976648244627500585998938534655231368143702576829712293694876967142426367921962069642361262562862733759430518761062202213857317668276633241222529642518918930965705895110834422763522 15535062039576669956043745662630305510420747661505597204995504436435072842464257684354732626749510145933647659700315434645820802512346120088259832855014517736148646238541355489881904059057437164323751240693769991315318928638038054814967021879259327165167415384761964514539632197172645091491803791988389706845263522865185359022204928678341800013619807734709139451267057005835727447504436853827099673342988528209807828687714823194777109834316943177002139771558708722673278216652880749155367876676164663974623604570674427213260388780771412102838174824024773201498236413978604013042571997255669353480394196483315718891791007740791297511999247274581586291216488134696758382825823446606808838300410047247342947832128104631577798352942871862507192452694239661128739353769846018111253651965019505376853696474431756305353725660396037833966118399271288772684099650445351754130541854660868370454371230180081530083748508022757703100817498632093003857359357645018133193006725737168223506174325934272753370130235950087481208502604140611932496666015238881809187470001339512528310301002708530030012258138699649427049822965285401068668337149485217183989536889822056734332019425190192418769798708616081298102656493406660638526783723667401614190454844157954535737455075452063772970955265420625949821654050621766300020296786062633027310720368500283893219699916574409278120326825678486273282179090684945543026122735890075869193175885242831609123181508450857943922285583232778366775543616434418013069742543159517815103709644102671331192677588275958973296734705790123797586394171525278606662894103962764555229234053497450516812860635705667075111983492757014880552270323997641884453144736207171149840505598068043324671921593669586626977659682619552961670567444092801512961781905788743840494821257223793820693802176227493637561393309604170774884224842325742128655920542694646634246693739550610028159361562477833645354131728054316767182968039395561817106842499916627676066555645296859743080729317894757836833445601411370656794414691592917293658699390227031625770312251216829561752766253823606022380430972205503033127341206984180314093287818727574511181350777318584540593416318111181952186418007972267056283799038934293710500098512103132738447407926490291956174653783117882294994882288495354865466418547187442922173362600109420240042918052377147121738590507709598269049132967228341310266996095959484939163850939229488435228503502192020268078755893630812434616228384858080963770798134250630722669021390939637758081634690916827796500547116794066297020782283329312463782276456835137833580485825034631921555182552873055222160920472816951142871894932976562052513291530280358185409307375231121500376518587692062519186984248453268341047572891623150426254162057474477113507346693945872011011532546545412471016381599517075215051135036284147982970534693920817098342226070468605069252134025470811125791377601 25136258397373316110754432562347791579102220094054291460185315913938065410439639331964741099176567935101377296039430969452484028090035493851283297629469526052396224881843418387893818533345512108872535756379387201945827521244639646443415748722002244129450920986642724337879429711860316526283768366408985036525483862709082983203260778544060491940465311124972084894113867332419741405194671880085881905577577786222021018580656122917312329718805804165520810345702772718351672393280488836898777870283471764791601654336610098311423943745866032117547325013643109455414447923560133831511142322543335534177219486504694525602988050241308483261370402957873152159985394841710995115466389905956374526935539445422842148786765039605605989356220299564809615823033091870549139432673710858375424021903042653826750411921238183902339683328511049660713226260791797469317164507920330231023792770948752435318610177735937848445048766239152974101333644095926862374006807809408705711823605651860923903978343823229833722191094423615023154711184488835345500528374189905558613698428400409782449916628052297886425181321706280863047578365610197270519825568771066215517095779624919377900773549561718961048746914438914656293397212228940056616227246498439275513562113371678378163329121132631341758070788765309474000808568586221518736929448204853883523065432914321623924350180766964507430726258163654584217392100423425237496161078037113163107429132118012410142647121163266545570733635802059309770566016303421969084807179189057364604061947825984488452125822937832776117699165153670639705507722316838752200528427345255674512277661661928886467716464997812064886916205089157844340521011882459637567118960265217925174705822858881040291829252179741452402505931653244901070939787077504601565386737625511909485447371753913290858514158656545941607000463312555248867153272987413271174380915889780330247770574648526582095906598281179198975760075526345826299479585322818104406094449758075150161525011986656828651312746294316700536533470047840451432341354050731095203639832689514320766254512181801852876371998835451759783706673089024830264418556726660805696816945239509014137295485822688742645490226974580857215283431581883075005763503352079195597823848111079397574794748917831959260534748133938153962385432002492459119332530768894769289272656362856600206629084398341981469167065591651413834114596231114166859220849141333107731619907637587339804786629479443563051352537404161812936216877494804000424520606426324790882678494113886513259684516999830660299657593969497582070467837208323853978165903733551301670156258502691570377713663239158973384834720724049927292387296601087951018719901228347822624879784963064447942813068421598970921103489429916585675073477622088960909393425618179690337058987640748978153958914467374540658742862079937948810565555045210185184392011589093731583448600111123988183099731365921960214141123 40671320436949986066798178224978097089522967755559888665180820350373138252903897016319473725926078081035024955739746404098304830602381613939543130484484043788544871120384773877775722592402949273196286997073157193261146449882677701258382770601261571294618336371404688852419061909032961617775572158397374743370747385574268342225465707222402291954085118859681224345380924338255468852699108733912981578920566314431828847268370946112089439553122747342522950117261481441024950609933369586054145746959636428766225258907284525524684332526637444220385499837667882656912684337538737844553714319799004887657613682988010244494779057982099780773369650232454738451201882976407753498292213352563183365235949492670185096618893144237183787709163171427316808275727331531677878786443556876486677673868062159203604108395669940207693408988907087494679344660063086242001264158365681985154334625609620805772981407916019378528797274261910677202151142728019866231366165454426838904830331389029147410152669757502587092321330373702504363213788629447277997194389428787367801168429739922310760217630760827916437439460405930290097401330895598339188162718256283399506632669446976112232792974751911379818545623054995954396053705635600695143010970165840889704016957529632913900784196584695114729026054185935423822462619207987818757226234267486910833785801414605517144050097341373785551053083842140857499571191108370780522283813927189032300605017360844019265828629614124489493019219034837676546109632737839982154549722348575179707771591928655819644803411213791749414433870943794437291901893842117358863422531308020229741511715159379403280577100703479139998899697846172724892791335880101522020263696472389075015211420926924364963750845849328079380165614272797862741507231170306114527168643414255749980268628977707111552316334884039579168393772916726023751378115313155399830301458584426964494464314199136610255268160759012844329891803580662593482447624718379921512936949674702826228080657283516571732042064189074537369979071459211108226756045643648388862339222916545946536566763398631414629138252659057782164137645294527863391759763710841119790104763967083525318646263141273283238906545085762809401701439554150131289562542286372906097922360214212136022202675408123915435188531251820448957267720497847324585751077956337691462635256472276840249547136775489103207757573301249682883247563459455477126216945100818046895470846867075775033290131671463831130108431034974247552445262352884964195318740676955513551699885053524271341319207916658456800204710763563879091250120537636317760442360568689135250642083537323491932896216112214195545755193541001070164282229577650003532011431508706008034187160194185948319331656113661490108087737883184926722646369245239387163555483092656803844405681586620989165491461012787011675124461597013163861700591329358168154926705509910829925674670579729057435233756836733086005518724 65807578834323302177552610787325888668625187849614180125366136264311203663343536348284214825102646016136402251779177373550788858692417107790826428113953569840941096002228192265669541125748461382068822753452544395206973971127317347701798519323263815424069257358047413190298491620893278144059340524806359779896231248283351325428726485766462783894550429984653309239494791670675210257893780613998863484498144100653849865849027069029401769271928551508043760462964254159376623003213858422952923617243108193557826913243894623836108276272503476337932824851310992112327132261098871676064856642342340421834833169492704770097767108223408264034740053190327890611187277818118748613758603258519557892171488938093027245405658183842789777065383470992126424098760423402227018219117267734862101695771104813030354520316908124110033092317418137155392570920854883711318428666286012216178127396558373241091591585651957226973846040501063651303484786823946728605372973263835544616653937040890071314131013580732420814512424797317527517924973118282623497722763618692926414866858140332093210134258813125802862620782112211153144979696505795609707988287027349615023728449071895490133566524313630340867292537493910610689450917864540751759238216664280165217579070901311292064113317717326456487096842951244897823271187794209337494155682472340794356851234328927141068400278108338292981779342005795441716963291531796018018444891964302195408034149478856429408475750777391035063752854836896986316675649041261951239356901537632544311833539754640308096929234151624525532133036097465076997409616158956111063950958653275904253789376821308289748293565701291204885815902935330569233312347762561159587382656737607000189917243785805405255580098029069531782671545926042763812447018247810716092555381039767659465716000731620402410830493540585520775394236229281272618531388300568671004682374474207294742234888847663192351174759040192043305651879107008419781927210041198025919031399432777976389605669270173400383354810483391237906512541507051559659097399694379484065979055606060267302821275580433267505510251494509541947844318383552693656178320437501925486921709206592539455941748963962025884396772060343666616984871136033206295326045638452101695746208325291533596997424325955874695723279385758602919653152500339783705083608725232460751907912835133440456176221173831084676924638892901096717362159690569643985437794242151154627090754504663114838076761150907394181460968439136060488662139847688964619839347103280304434378379167410784601003724916489117099862304733061461161717957745960171738608264302240436920798342040015062310609879351373168930589914265050997456669526178737954550731332737053830659066945157250396262144724535260461029191227313101512397719846867328348072948908710836494181464669227369967319450375480161552333867323676951112672266146374568353339318717099004561509123270690853045618333488202655046219659847 106478899271273288244350789012303985758148155605174068790546956614684341916247433364603688551028724097171427207518923777649093689294798721730369558598437613629485967122612966143445263718151410655265109750525701588468120421009995048960181289924525386718687593729452102042717553529926239761834912683203734523266978633857619667654192192988865075848635548844334533584875716008930679110592889347911845063418710415085678713117398015141491208825051298850566710580225735600401573613147228009007069364202744622324052172151179149360792608799140920558318324688978874769239816598637609520618570962141345309492446852480715014592546166205508044808109703422782629062389160794526502112050816611082741257407438430763212342024551328079973564774546642419443232374487754933904897005560824611348779369639166972233958628712578064317726501306325224650071915580917969953319692824651694201332462022167994046864572993567976605502643314762974328505635929551966594836739138718262383521484268429919218724283683338235007906833755171020031881138761747729901494917153047480294216035287880254403970351889573953719300060242518141443242381027401393948896151005283633014530361118518871602366359499065541720685838160548906565085504623500141446902249186830121054921596028430944205964897514302021571216122897137180321645733807002197156251381916739827705190637035743532658212450375449712078532832425847936299216534482640166798540728705891491227708639166839700448674304380391515524556772073871734662862785281779101933393906623886207724019605131683296127741732645365416274946566907041259514289311510001073469927373489961296133995301091980687693028870666404770344884715600781503294126103683642662681607646353209996075205128664712729770219330943878397611162837160198840626553954249418116830619724024454023409445984629709327513963146828424625099943788009146007296369909503613724070834983833058634259236699203046799802606442919799204887635543682687671013264374834759577947431968349107480802617686326553689972115396874672465775276491612966262667885853445338027872928318278522606213839388038979064682134648504153567324111981963678080557047938084148343045277026473173676064774588012105235309123303317146106476018686310690183337584888587924825007793668568539503669619200099734079790130911810637579051876920872998187108290834686681570152214543169307410280705723357949320187884682212194150779600609723150025121111654739342969201522561601371738889871366892822371225311569399474110308041107402200573928815158087780235817986078264220935055942322932833147573900067015496625340252968078283596489499050624870929572171440425577338554243506095463587364476345107806052067620951755756387958082742764245759838693254105351436344581476380648921951137278965196286439120366216112567735236504391803493298025870350813990956484941836492948564008991785273964276533966737703926521494245422608915391434797941270582103053567245039388132225178571 172286478105596590421903399799629874426773343454788248915913092878995545579590969712887903376131370113307829459298101151199882547987215829521195986712391183470427063124841158409114804843899872037333932503978245983675094392137312396661979809247789202142756851087499515233016045150819517905894253208010094303163209882140970993082918678755327859743185978828987842824370507679605889368486669961910708547916854515739528578966425084170892978096979850358610471043189989759778196616361086431959992981445852815881879085395073773196900885071644396896251149540289866881566948859736481196683427604483685731327280021973419784690313274428916308842849756613110519673576438612645250725809419869602299149578927368856239587430209511922763341839930113411569656473248178336131915224678092346210881065410271785264313149029486188427759593623743361805464486501772853664638121490937706417510589418726367287956164579219933832476489355264037979809120716375913323442112111982097928138138205470809290038414696918967428721346179968337559399063734866012524992639916666173220630902146020586497180486148387079522162681024630352596387360723907189558604139292310982629554089567590767092499926023379172061553130698042817175774955541364682198661487403494401220139175099332255498029010832019348027703219740088425219469004994796406493745537599212168499547488270072459799280850653558050371514611767853731740933497774171962816559173597855793423116673316318556878082780131168906559620524928708631649179460930820363884633263525423840268331438671437936435838661879517040800478699943138724591286721126160029580991324448614572038249090468801995982777164232106061549770531503716833863359416031405223841195029009947603075395045908498535175474911041907467142945508706124883390366401267665927546712279405493791068911700630440947916373977321965210620719182245375288568988440891914292741839666207532841553978934091894462994957617678839396930941195561794679433046302044800775973350999748540258779007291995823863372498751685155857013183004154473314227544950845032407356994297334128666481142209314559497949640158755648076866059826282061633250704116404585844970763948182380268604230529761069197335007700089206450142635671181826216543880214633563277109489414776864795203216197524060035664826635090023337654796574025498526891995918295406802612966451082142543721161899579123151272561606851087051876317971882840594765097092533585120356149652355876402004709443653973278619493030367913246368529769542048262893434997434883516122420456643388345840543326657749636690999929320229686801414686036029556661237658889173170009092238767617353616554115974814960533406935022071103065077621281935125912633474096982813669352321050508686740843621105184182412166470192509387951518086062979896083309453300514329792207335020041360923804392211973110116342859108950915389206232884078494874833564139707919952943921211961435148671900733242043178444838418 278765377376869878666254188811933860184921499059962317706460049493679887495838403077491591927160094210479256666817024928848976237282014551251565545310828797099913030247454124552560068562051282692599042254503947572143214813147307445622161099172314588861444444816951617275733598680745757667729165891213828826430188515998590660737110871744192935591821527673322376409246223688536568479079559309822553611335564930825207292083823099312384186922031149209177181623415725360179770229508314440967062345648597438205931257546252922557693493870785317454569474229268741650806765458374090717301998566625031040819726874454134799282859440634424353650959460035893148735965599407171752837860236480685040406986365799619451929454760840002736906614476755831012888847735933270036812230238916957559660435049438757498271777742064252745486094930068586455536402082690823617957814315589400618843051440894361334820737572787910437979132670027012308314756645927879918278851250700360311659622473900728508762698380257202436628179935139357591280202496613742426487557069713653514846937433900840901150838037961033241462741267148494039629741751308583507500290297594615644084450686109638694866285522444713782238968858591723740860460164864823645563736590324522275060771127763199703993908346321369598919342637225605541114738801798603649996919515951996204738125305815992457493301029007762450047444193701668040150032256812129615099902303747284650825312483158257326757084511560422084177297002580366312042246212599465818027170149310047992351043803121232563580394524882457075425266850179984105576032636161103050918697938575868172244391560782683675806034898510831894655247104498337157485519715047886522802675363157599150600174573211264945694241985785864754108345866323724016920355517084044377332003429947814478357685260150275430337124150389835720662970254521295865358350395528016812674650040591475813215633294941262797564060598638601818576739244482350446310676879560353920782968097647739581624978322377553344614148559828322788459495767439576895430804290370435229922615612651272694981597353538562631774807259801644190171808245739713807752054488734188016040974655553944669005117773174432644131003406352556618654357492516399881465103221488102117283083345404298872835397623794115454957546900660916706673494898496714000286752982088372765180994251449954001867622937072471460446289063281202655918581605990619886208747272928089557672213957248140894580810546795649844804599767387356676570876944248836822250155522663751940406534907609280896485649590582784264899996335726312141667654114313153150736709514044099581263679193194692170797622070278547897883280129877155132698573037691513870716216861228573508045575155860123085425097485833104363303749157705674390638452279092463818545957692317823090233205370855351880289334048466058680351850894224879665740199621782421396327809562316835344378719153232017251725467978281431310670016989 451051855482466469088157588611563734611694842514750566622373142372675433075429372790379495303291464323787086126115126080048858785269230380772761532023219980570340093372295282961674873405951154729932974758482193555818309205284619842284140908420103791004201295904451132508749643831565275573623419099223923129593398398139561653820029550499520795335007506502310219233616731368142457847566229271733262159252419446564735871050248183483277165019010999567787652666605715119957966845869400872927055327094450254087810342941326695754594378942429714350820623769558608532373714318110571913985426171108716772147006896427554583973172715063340662493809216649003668409542038019817003563669656350287339556565293168475691516884970351925500248454406869242582545320984111606168727454917009303770541500459710542762584926771550441173245688553811948261000888584463677282595935806527107036353640859620728622776902152007844270455622025291050288123877362303793241720963362682458239797760679371537798801113077176169865349526115107695150679266231479754951480196986379826735477839579921427398331324186348112763625422291778846636017102475215773066104429589905598273638540253700405787366211545823885843792099556634540916635415706229505844225223993818923495199946227095455202022919178340717626622562377314030760583743796595010143742457115164164704285613575888452256774151682565812821562055961555399781083530030984092431659075901603078073941985799476814204839864642729328643797821931288997961221707143419829702660433674733888260682482474559168999419056404399497875903966793318708696862753762321132631910022387190440210493482029584679658583199130616893444425778608215171020844935746453110363997704373105202225995220481709800121169153027693331897053854572448607407286756784749971924044282835441605547269385890591223346711101472355046341382152499896584434346791287442309554514316248124317367194567386835725792521678277477998749517934806277029879356978924361129894133967846187998360632270318201416717112900244984179801642499921912891122975755135402842586916912946779939176123806668098060581414966015449721056231634527801347058456170893320032986804922837934213273235647534243629979138703495559006761290028674342616425345317855051379226772498122269094076051595147854151119784181990684254361470068923995240892282671277495175378147445333592497723029522516195622733007895914368254532236553488831214651305839806513209913821866313124542899290254200768928464297630135300603045100646486297099715685152957547268062826991550997626737028976248332420955899925655955998943082340150342709811974368403217269590355917960812045787351738045093508431290215151948258197776194319626639783349690958211387177397896206368809826268718591017286775470219350215062342156538342072359901855410992832152882440540390896712804093726260439168796694710003175795054946432505860916271161373702024755297322640365193452400397368711523474489114855407 729817232859336347754411777423497594796616341574712884328833191866355320571267775867871087230451558534266342792932151008897835022551244932024327077334048777670253123619749407514234941968002437422532017012986141127961524018431927287906302007592418379865645740721402749784483242512311033241352584990437751956023586914138152314557140422243713730926829034175632595642862955056679026326645788581555815770587984377389943163134071282795661351941042148776964834290021440480137737075377715313894117672743047692293741600487579618312287872813215031805390097998827350183180479776484662631287424737733747812966733770881689383256032155697765016144768676684896817145507637426988756401529892830972379963551658968095143446339731191928237155068883625073595434168720044876205539685155926261330201935509149300260856704513614693918731783483880534716537290667154500900553750122116507655196692300515089957597639724795754708434754695318062596438634008231673159999814613382818551457383153272266307563811457433372301977706050247052741959468728093497377967754056093480250324777013822268299482162224309146005088163558927340675646844226524356573604719887500213917722990939810044482232497068268599626031068415226264657495875871094329489788960584143445770260717354858654906016827524662087225541905014539636301698482598393613793739376631116160909023738881704444714267452711573575271609500155257067821233562287796222046758978205350362724767298282635071531596949154289750727975118933869364273263953356019295520687603824043936253033526277680401562999450929281954951329233643498692802438786398482235682828720325766308382737873590367363334389234029127725339081025712713508178330455461500996886800379736262801376595395054921065066863395013479196651162200438772331424207112301834016301376286265389420025627071150741498777048225622744882062045122754417880299705141682970326367188966288715793180410200681776988590085738876116600568094674050759380325667655803921483814916935943835737942257248640578970061727048804812502590101995689352468018406559425773277816839528559431211871105404021636623213189773275251365246403442773541060866208225382054221002845897493488157942240765307418062623269706901911563379944386166859016306810421076539481344055581467673392948886992771648266574741728891345171068143563822491954892569424259583548143328439585042451724897145453268094193454184977649457188155135094821834537514587079441299471494080270372683793871064747564578309102229902687959721671523430545936537935308480211020003233526458606907633514625838915205220799921991682311084749994264655862962711077917261369171619597154006737958149360115372056329173495281825413330474767357318153654065907819439960685443471362228932911693816076850391138773968507920736732794990621164823720401368685149975972673745761752064684383060308905227477046560897400674720686632127643337667489183264341590641701359518425469652122836689804905799784872396 1180869088341802816842569366035061329408311184089463450951206334239030753646697148658250582533743022858053428919047277088946693807820475312797088609357268758240593216992044690475909815373953592152464991771468334683779833223716547130190442916012522170869847036625853882293232886343876308814976004089661675085616985312277713968377169972743234526261836540677942814876479686424821484174212017853289077929840403823954679034184319466278938516960053148344752486956627155600095703921247116186821172999837497946381551943428906314066882251755644746156210721768385958715554194094595234545272850908842464585113740667309243967229204870761105678638577893333900485555049675446805759965199549181259719520116952136570834963224701543853737403523290494316177979489704156482374267140072935565100743435968859843023441631285165135091977472037692482977538179251618178183149685928643614691550333160135818580374541876803598978890376720609112884562511370535466401720777976065276791255143832643804106364924534609542167327232165354747892638734959573252329447951042473306985802616593743695697813486410657258768713585850706187311663946701740129639709149477405812191361531193510450269598708614092485469823167971860805574131291577323835334014184577962369265460663581954110108039746703002804852164467391853667062282226394988623937481833746280325613309352457592896971041604394139388093171556116812467602317092318780314478418054106953440798709284082111885736436813797019079371772940865158362234485660499439125223348037498777824513716008752239570562418507333681452827233200436817401499301540160803368314738742712956748593231355619952042992972433159744618783506804320928679199175391207954107250798084109368003602590615536630865188032548041172528548216055011220938831493869086583988225420569100831025572896457041332722123759327095099928403427275254314464734051932970412635921703282536840110547604768068612714382607417153594599317612608857036410205024634728282613709050903790023736302889518958780386778839949049796682391744495611265359141382314561176120403756441506211151047229210689734683794604739290701086302635077301342407924664396275374253989650820331422371215476412841661692602408410397470570141234414841201632732155738931590860570828079589942487024938587919502417694525910882029425429613632746487195784852095537078723521475884918634949447926667969463716926462080892017711720391688583653049188820426885954509385315946583497226693161318948333506773399860037988562766772169916843036253620461437758288066060518009604534370543602087247626176699847647638310027832334414998572774685446320478638761975515114818783745501098160465564760463710433773671528250961676944793437415598777651347862841367568597742737962534667867677914244187858135799074951528963237183622256779677982128855114286152648777488476786569344396273741270900576469775633064633504253938650556966366345939023999883618922052520205401328380288899727803 1910686321201139164596981143458558924204927525664176335280039526105386074217964924526121669764194581392319771711979428097844528830371720244821415686691317535910846340611794097990144757341956029574997008784454475811741357242148474418096744923604940550735492777347256632077716128856187342056328589080099427041640572226415866282934310394986948257188665574853575410519342641481500510500857806434844893700428388201344622197318390749074599868901095297121717321246648596080233440996624831500715290672580545638675293543916485932379170124568859777961600819767213308898734673871079897176560275646576212398080474438190933350485237026458870694783346570018797302700557312873794516366729442012232099483668611104665978409564432735781974558592174119389773413658424201358579806825228861826430945371478009143284298335798779829010709255521573017694075469918772679083703436050760122346747025460650908537972181601599353687325131415927175481001145378767139561720592589448095342712526985916070413928735992042914469304938215601800634598203687666749707415705098566787236127393607565963997295648634966404773801749409633527987310790928264486213313869364906026109084522133320494751831205682361085095854236387087070231627167448418164823803145162105815035721380936812765014056574227664892077706372406393303363980708993382237731221210377396486522333091339297341685309057105712963364781056272069535423550654606576536525177032312303803523476582364746957268033762951308830099748059799027726507749613855458420744035641322821760766749535029919972125417958262963407778562434080316094301740326559285603997567463038723056975969229210319406327361667188872344122587830033642187377505846669455104137598463845630804979186010591551930254895943054651725199378255449993270255700981388418004526796855366220445598523528192074220900807552717844810465472398008732345033757074653382962288892248825555903728014968750389702972693156029711199885707282907795790530692290532204097523967839733859474245146767599359356840566997854609184981846491300617827159788873986949398220595970065642362918334614711371307007794512565952451549038520074883468790872621657428474992496717824910529157717178149079755225678117299382133521178801008060649038966160008130341914883661057615879973825580691150684269267639773374596497757196568979150677421519796662271664804324503677401172823813422731811119916265869667168908546823678474883726335013965395808856810026853869910487032383695898085082502089940676522488443693347388972791555769917969308069294044468211442004058227926162831397499769639320621112582328679654435737396524237740007933595112268825521703650458275837621089637205715599084858725729034262947091481506597091308548284838930826675649656350744718069053018156366056535807746519584402007342658148363132104827788031914400842172859846878249623750787831797977144496319696761147591606139740230707936580725359402044391704643042091133286088684600199 3091555409542941981439550509493620253613238709753639786231245860344416827864662073184372252297937604250373200631026705186791222638192195557618504296048586294151439557603838788466054572715909621727462000555922810495521190465865021548287187839617462721605339813973110514370949015200063650871304593169761102127257557538693580251311480367730182783450502115531518225395822327906321994675069824288133971630268792025299301231502710215353538385861148445466469808203275751680329144917871947687536463672418043585056845487345392246446052376324504524117811541535599267614288867965675131721833126555418676983194215105500177317714441897219976373421924463352697788255606988320600276331928991193491819003785563241236813372789134279635711962115464613705951393148128357840954073965301797391531688807446868986307739967083944964102686727559265500671613649170390857266853121979403737038297358620786727118346723478402952666215508136536288365563656749302605963441370565513372133967670818559874520293660526652456636632170380956548527236938647240002036863656141040094221930010201309659695109135045623663542515335260339715298974737630004615853023018842311838300446053326830945021429914296453570565677404358947875805758459025742000157817329740068184301182044518766875122096320930667696929870839798246970426262935388370861668703044123676812135642443796890238656350661499852351457952612388882003025867746925356851003595086419257244322185866446858843004470576748327909471521000664186088742235274354897545967383678821599585280465543782159542687836465596644860605795634517133495801041866720088972312306205751679805569200584830271449320334100348616962906094634354570866576681237877409211388396547954998808581776626128182795442928491095824253747594310461214209087194850475001992752217424467051471171419985233406943024566879812944738868899673263046809767809007623795598210595531362396014275619736819002417355300573183305799203319891764832200735716925260486711233018743523883210548036286558139743619406946904405867373590986911883186301171188548125518624352411571853513965563825401105990802399251856653537851673597376225876715537017932802728982147538156332900373193590990741447828086527696852703662413215849262281771121898939721202485711740647558366998764168610653101963793550655404021927370829315466346462273615333740995186280209422312350620750481392195528046378346761684880628938512262127932915155440851350318242125973437367137180193702644231591855901949978665085255215863264232009045176231355727596135354562477815976374601830013410457574199617286958931140414663094653008512081970558218646695570627383644305449151556436303185850100916149372756386976690711207740528897105374742656411126206499424418387618885412585746967262344224192334882698048547639190964914928041114233682902318067049619661336633447594020024529102698553614271952761394651845544790297197074282519749359285663313757163247492461666377584328002 5002241730744081146036531652952179177818166235417816121511285386449802902082626997710493922062132185642692972343006133284635751468563915802439919982739903830062285898215632886456199330057865651302459009340377286307262547708013495966383932763222403272340832591320367146448665144056250992927633182249860529168898129765109446534245790762717131040639167690385093635915164969387822505175927630722978865330697180226643923428821100964428138254762243742588187129449924347760562585914496779188251754344998589223732139031261878178825222500893364302079412361302812576513023541836755028898393402201994889381274689543691110668199678923678847068205271033371495090956164301194394792698658433205723918487454174345902791782353567015417686520707638733095724806806552559199533880790530659217962634178924878129592038302882724793113395983080838518365689119089163536350556558030163859385044384081437635656318905080002306353540639552463463846564802128069745525161963154961467476680197804475944934222396518695371105937108596558349161835142334906751744279361239606881458057403808875623692404783680590068316317084669973243286285528558269102066336888207217864409530575460151439773261119978814655661531640746034946037385626474160164981620474902173999336903425455579640136152895158332589007577212204640273790243644381753099399924254501073298657975535136187580341659718605565314822733668660951538449418401531933387528772118731561047845662448811605800272504339699636739571269060463213815249984888210355966711419320144421346047215078812079514813254423859608268384358068597449590102782193279374576309873668790402862545169814040590855647695767537489307028682464388213053954187084546864315525995011800629613560962636719734725697824434150475978946972565911207479342895831863419997279014279833271916769943513425481163925374432530789549334372071271779154801566082277178560499487780187951918003634705569392120327993729213016999089027174672627991266409215792690808756986583257742684793183054157499100459973944759015052355437478212501013460960062535074916844948381637495876883898440112477297810193764422605989400712117451109345506409639590231203974644255981243429530910769139821203053764644996234837183592016857322930810088058947851544400595401705174246972589749301803786233061190428778618425128025884445497139695135130403266851084533925989751793574294814927339166294612631352049537485335940602816641490454816746127098936000291237047667226086340129676938404039919341607743659556611620981836732001273696904204648606946027418378660057939573288971699386926279552252996991774307444249478494795958654629165739652469827152802014712140806939738121864971841245702419745470687620378611971833964959411045430251094037275236157303816020280500590248870690444568132041198307573076404246338510690349981450461834196480325843643775316934496530758768272458155799437150930037427782219100474718687707705461806289583594952466268928201 8093797140287023127476082162445799431431404945171455907742531246794219729947289070894866174360069789893066172974032838471426974106756111360058424278788490124213725455819471674922253902773775273029921009896300096802783738173878517514671120602839865993946172405293477660819614159256314643798937775419621631296155687303803026785557271130447313824089669805916611861310987297294144499850997455011112836960965972251943224660323811179781676640623392188054656937653200099440891730832368726875788218017416632808788984518607270425271274877217868826197223902838411844127312409802430160620226528757413566364468904649191287985914120820898823441627195496724192879211771289514995069030587424399215737491239737587139605155142701295053398482823103346801676199954680917040487954755832456609494322986371747115899778269966669757216082710640104019037302768259554393617409680009567596423341742702224362774665628558405259019756147688999752212128458877372351488603333720474839610647868623035819454516057045347827742569278977514897689072080982146753781143017380646975679987414010185283387513918726213731858832419930312958585260266188273717919359907049529702709976628786982384794691034275268226227209045104982821843144085499902165139437804642242183638085469974346515258249216089000285937448052002887244216506579770123961068627298624750110793617978933077818998010380105417666280686281049833541475286148457290238532367205150818292167848315258464643276974916447964649042790061127399903992220162565253512678802998966020931327680622594239057501090889456253128990153703114583085903824059999463548622179874542082668114370398870862304968029867886106269934777098742783920530868322424273526914391559755628422142739262847917521140752925246300232694566876372421688430090682338421990031231704300323387941363498658888106949941312343734288203271744534825964569375089900974158710083311550347932279254442388394537683294302396322798292347066437460192002126141053177519990005326781625895341219340715638844079380891663420919729028465124384199762131251083200435469300793209349390849462265513583288612593016279259527252385714827335222221946657523033932956791794137576329904104360130562650881851172693087540846005232706585212581209957887572746886307142352732613971353917912456888196854741084182640352498855199911843601968750464144262037364743348302102414324776207122867212672959393036930166423848202730749556645895668096445341061973728604184847419788984361268794305989898006692998875419875852990881908232629424500340003169423843394753261887952983746545899004213238483393411654868960452761560465354177301324736367036114132601953571148443992789839038014344597632679110456678428149275717346576621370537251929675512424894121569889562987542844814441205573142616679680389272488004445360572193592668048500081495533113773437663799846037195084373040225219550451282695720334624856501620224077973371019218969537076056618843853256203 13096038871031104273512613815397978609249571180589272029253816633244022632029916068605360096422201975535759145317038971756062725575320027162498344261528393954276011354035104561378453232831640924332380019236677383110046285881892013481055053366062269266287004996613844807268279303312565636726570957669482160465053817068912473319803061893164444864728837496301705497226152266681967005026925085734091702291663152478587148089144912144209814895385635930642844067103124447201454316746865506064039972362415222032521123549869148604096497378111233128276636264141224420640335951639185189518619930959408455745743594192882398654113799744577670509832466530095687970167935590709389861729245857604939655978693911933042396937496268310471085003530742079897401006761233476240021835546363115827456957165296625245491816572849394550329478693720942537402991887348717929967966238039731455808386126783661998430984533638407565373296787241463216058693261005442097013765296875436307087328066427511764388738453564043198848506387574073246850907223317053505525422378620253857138044817819060907079918702406803800175149504600286201871545794746542819985696795256747567119507204247133824567952154254082881888740685851017767880529711974062330121058279544416182974988895429926155394402111247332874945025264207527518006750224151877060468551553125823409451593514069265399339670098710982981103419949710785079924704549989223626061139323882379340013510764070070443549479256147601388614059121590613719242205050775609479390222319110442277374895701406318572314345313315861397374511771712032676006606253278838124932053543332485530659540212911453160615725635423595576963459563130996974485055406971137842440386571556258035703701899567652246838577359396776211641539442283629167772986514201841987310245984133595304711307012084369270875315744874523837537643815806605119370941172178152719209571091738299850282889147957786658011288031609339797381374241110088183268535356845868328746991910039368580134402394873137944539354836422435972084465943336885213223091313618275352314249174846845267733360705626060586422786780701865516653097832278444567728356297113265136931436050118819759435015129270383853935615817689322378029597249563908143391298016835424291286902544057906860943943667214260674429915931512961258777626881084357340741663885594547528888449277274291854207899071022050206378967572024388979703909184143333566198136350484842572439997974019841232514645875324490945732710029817348300742534976487473972718640233903121404544651776369870813131921945892557035517598391139518035646408646643267897011038960150135955953902106688583959754755585860584799729577159879316438878381530202149115769654329318410586329948297359926606462169357727193379007823345404690076263587184811721587580061080849606910704283018029950543329729594099281307575162971691615131808497677706250719846650372052638720720698796661078724680775826659651571310122184404 21189836011318127400988695977843778040680976125760727936996347880038242361977205139500226270782271765428825318291071810227489699682076138522556768540316884078489736809854576236300707135605416197362301029132977479912830024055770530995726173968902135260233177401907322468087893462568880280525508733089103791761209504372715500105360333023611758688818507302218317358537139563976111504877922540745204539252629124730530372749468723323991491536009028118697501004756324546642346047579234232939828190379831854841310108068476419029367772255329101954473860166979636264767648361441615350138846459716822022110212498842073686640027920565476493951459662026819880849379706880224384930759833282004155393469933649520182002092638969605524483486353845426699077206715914393280509790302195572436951280151668372361391594842816064307545561404361046556440294655608272323585375918049299052231727869485886361205650162196812824393052934930462968270821719882814448502368630595911146697975935050547583843254510609391026591075666551588144539979304299200259306565396000900832818032231829246190467432621133017532033981924530599160456806060934816537905056702306277269829483833034116209362643188529351108115949730956000589723673797473964495260496084186658366613074365404272670652651327336333160882473316210414762223256803922001021537178851750573520245211493002343218337680478816400647384106230760618621399990698446513864593506529033197632181359079328535086826454172595566037656849182718013623234425213340862992069025318076463208702576324000557629815436202772114526364665474826615761910430313278301673554233417874568198773910611782315465583755503309701846898236661873780895015923729395411369354778131311886457846441162415569767979330284643076444336106318656050856203077196540263977341477688433918692652670510743257377825257057218258125740915560341431083940316262079126877919654403288647782562143590346181195694582334005662595673721307547548375270661497899045848736997236820994475475621735588776788618735728085856891813494408461269412985222564701475787783549968056194658582822971139643875035379796981125043905483547105779789950302954636299069888227844256396089339119489400946504817466990382409918875602482270493355972507974722997038173209686410639474915297585126717562626770672597143899130125736284269184343632636058691790925814020622593956622223847229173073591640531417425909870333032346064315754782246152939017781059947748445417362065664308852214527016019715354993741410396363326963600548466532545904884654945793714207885183833845540782063497395352756519039820301512228349772599425504313257278638473724698092356709157009028792519416197893661036511060640658827543918930046664987207700485549289602118887063479297082941995366190219131281836729801491401976852549085294967482897875686078450624825262707872718971375009008886699504848722897256702002542370706677495222340922874634449743899745363735708190153975440607 34285874882349231674501309793241756649930547306349999966250164513282264994007121208105586367204473740964584463608110781983552425257396165685055112801845278032765748163889680797679160368437057121694681048369654863022876309937662544476781227334964404526520182398521167275356172765881445917252079690758585952226263321441627973425163394916776203553547344798520022855763291830658078509904847626479296241544292277209117520838613635468201306431394664049340345071859448993843800364326099739003868162742247076873831231618345567633464269633440335082750496431120860685407984313080800539657466390676230477855956093034956085294141720310054164461292128556915568819547642470933774792489079139609095049448627561453224399030135237915995568489884587506596478213477147869520531625848558688264408237316964997606883411415665458857875040098081989093843286542956990253553342156089030508040113996269548359636634695835220389766349722171926184329514980888256545516133927471347453785304001478059348231992964173434225439582054125661391390886527616253764831987774621154689956077049648307097547351323539821332209131429130885362328351855681359357890753497563024836948991037281250033930595342783433990004690416807018357604203509448026825381554363731074549588063260834198826047053438583666035827498580417942280230007028073878082005730404876396929696805007071608617677350577527383628487526180471403701324695248435737490654645852915576972194869843398605530375933428743167426270908304308627342476630264116472471459247637186905486077472025406876202129781516087975923739177246538648437917036566557139798486286961207053729433450824693768626199481138733297423861696225004777869500979136366549211795164702868144493550143061983222014817907644039852655977645760939680023976063710742105964651723672567513997363977522827626648700572802092781963278559376148036203311257434257279597129225495026947632845032738303967853705870365615002393055095548657636558539196854744914177483989146860363055610024130461914733158090564508292863897960351798154626208313878319751140097799142903039926316183676765704461458166577682990560558581379384224357678659251749564206819663894375215848774134618671330358753082808071732296905199731834401499363805991558421329460112230468546335859241252340978237056686604110105157907752617368626525085296521653239319814263297896885810830122918251223279970608103441814889574242216489397881952918596637781590221057921768286649876711539633343160259726049532703294483945372850800936319188700435667309429306722163585021017105779738097817581095786492274554686228948155496246783638385654449213232540580413282052111464742869613592248993357772977475389442170860976659688584375983397794030433846649528725349232837024276321003189535623821358100316986303123564432610166144574393602158704108401168154992301972000278950171980578314636657220574962952722389021078730133943061621671295528468580521190395359761464097625011 55475710893667359075490005771085534690611523432110727903246512393320507355984326347605812637986745506393409781899182592211042124939472304207611881342162162111255484973744257033979867504042473319056982077502632342935706333993433075472507401303866539786753359800428489743444066228450326197777588423847689743987472825814343473530523727940387962242365852100738340214300431394634190014782770167224500780796921401939647893588082358792192797967403692168037846076615773540486146411905333971943696353122078931715141339686821986662832041888769437037224356598100496950175632674522415889796312850393052499966168591877029771934169640875530658412751790583735449668927349351158159723248912421613250442918561210973406401122774207521520051976238432933295555420193062262801041416150754260701359517468633369968275006258481523165420601502443035650283581198565262577138718074138329560271841865755434720842284858032033214159402657102389152600336700771070994018502558067258600483279936528606932075247474782825252030657720677249535930865831915454024138553170622055522774109281477553288014783944672838864243113353661484522785157916616175895795810199869302106778474870315366243293238531312785098120640147763018947327877306921991320642050447917732916201137626238471496699704765919999196709971896628357042453263831995879103542909256626970449942016500073951836015031056343784275871632411232022322724685946882251355248152381948774604376228922727140617202387601338733463927757487026640965711055477457335463528272955263368694780048349407433831945217718860090450103842721365264199827466879835441472040520379081621928207361436476084091783236642042999270759932886878558764516902865761960581149942834180030951396584224398791782797237928682929100313752079595730880179140907282369941993201361001432690016648033570884026525829859311040089019474936489467287251573696336406475048879898315595415407176328650149049400452699620664988728816856205184933809858352643960026220986383681357531085645866050691521776826292594149755711454760259424039193536443021226927881349110959234584899006647905348336493546374664115604464064926490004147628962206385863276707891738631611938113254108072276863570549798454142215780802214104894855336313966281418367633321916879185810774538837467695799683457276707249057037878353652895709428929157711931110740077318519479767452346765480396353562248634859240799444575248835462197707700842790720608002117869516732067238777203942195374786742069248058288225355769214127899919737166968213214313961667957299228902289613583638599644593181845031073726049249667724596556237811158762470511179054137980144468173899878642384768409555666638511900502811519804203607514422648385001730919395939130844236296316321359262998555725842952639937046787794525541285159251439541876500034390186851792980255009844719250325180989465014141505943472219654724931391785407629165402544545929978212480266554131067951618073065618 89761585776016590749991315564327291340542070738460727869496676906602772349991447555711399005191219247357994245507293374194594550196868469892666994144007440144021233137633937831659027872479530440751663125872287205958582643931095619949288628638830944313273542198949657018800238994331772115029668114606275696213736147255971446955687122857164165795913196899258363070063723225292268524687617793703797022341213679148765414426695994260394104398798356217378191148475222534329946776231433710947564515864326008588972571305167554296296311522209772119974853029221357635583616987603216429453779241069282977822124684911985857228311361185584822874043919140651018488474991822091934515737991561222345492367188772426630800152909445437515620466123020439892033633670210132321573041999312948965767754785598367575158417674146982023295641600525024744126867741522252830692060230227360068311955862024983080478919553867253603925752379274315336929851681659327539534636485538606054268583938006666280307240438956259477470239774802910927321752359531707788970540945243210212730186331125860385562135268212660196452244782792369885113509772297535253686563697432326943727465907596616277223833874096219088125330564570037304932080816370018146023604811648807465789200887072670322746758204503665232537470477046299322683270860069757185548639661503367379638821507145560453692381633871167904359158591703426024049381195317988845902798234864351576571098766125746147578321030081900890198665791335268308187685741573807934987520592450274180857520374814310034074999234948066373843019967903912637744503446392581270526807340288675657640812261169852717982717780776296694621629111883336634017882002128509792945107537048175444946727286382013797615145572722781756291397840535410904155204618024475906644925033568946687380625556398510675226402661403822052298034312637503490562831130593686072178105393342543048252209066954116903106323065235667381783912404862821492349055207388874203704975530541720586695669996512606254934916857102442619609415112057578665401850321340978067979148253862274511215190324671052797951712952347106165022646305874228505307621458135427483527555633006827786887388726743607222323632606525874512686001945939296354700119957839839697093434147347732146633780089808674036740143880817354214945630971021522234514225679365170430554340616416365578282469683731619633532856738301055689018817465324860079660619439428502198223175791285018717115488743575538535046468118780761582709301142064928836238925867403880523743268390120884249919395393321736417225688968337305628412278197823220843339876196813211683743719634551262196579638642748255977017402913439615987289944982380780863296098798631782795761353242588659569585529153345635584001745261466773998037363774097649105717769417584116270102193094295252961135247311816719529275352970043328778163164047182607447320412864137763108464166217225506681060787744526427713082170690629 145237296669683949825481321335412826031153594170571455772743189299923279705975773903317211643177964753751404027406475966405636675136340774100278875486169602255276718111378194865638895376522003759808645203374919548894288977924528695421796029942697484100026901999378146762244305222782098312807256538453965440201208973070314920486210850797552128038279048999996703284364154619926458539470387960928297803138135081088413308014778353052586902366202048385416037225090996074816093188136767682891260868986404940304113910991989540959128353410979209157199209627321854585759249662125632319250092091462335477788293276789015629162481002061115481286795709724386468157402341173250094238986903982835595935285749983400037201275683652959035672442361453373187589053863272395122614458150067209667127272254231737543433423932628505188716243102968060394410448940087515407830778304365689628583797727780417801321204411899286818085155036376704489530188382430398533553139043605864654751863874535273212382487913739084729500897495480160463252618191447161813109094115865265735504295612603413673576919212885499060695358136453854407898667688913711149482373897301629050505940777911982520517072405409004186245970712333056252259958123292009466665655259566540381990338513311141819446462970423664429247442373674656365136534692065636289091548918130337829580838007219512289707412690214952180230791002935448346774067142200240201150950616813126180947327688852886764780708631420634354126423278361909273898741219031143398515793547713642875637568724221743866020216953808156823946862689269176837571970326228022742567327719370297585848173697645936809765954422819295965381561998761895398534784867890470374095050371228206396343311510780805580412383501405710856605149920131141784334345525306845848638126394570379377397273589969394701752232520714862141317509249126970777814404826930092547226985291658138463659385395604265952506775764856332370512729261068006426158913560032834229925961914223078117781315862563297776711743149696592375320869872317002704595386764362204995860497364821509096114196972576401134445259327011221769486711232364232652936583664521290760235447371638439725000642834815884085894182404980016728466804160044191210036433924121258064726756064226917957408318927276369836423601157524603271983509324674417943943154837077101541294417934935845345734816449212015987095105373160296488463392714160322277368320282219222806225293660801750784354265947517733909833210188028819870934656911279056736158663034372093738057230058078183478821685006905375016870282150182336702138327447490945439896114007971974154254898688689242341047812542626898361785812469106254499190447793900585066903613221280167797492272638527790413821825469666994847000300987309726637974410561892174647002928669023658146602227484482104754115502321661438779600533959508342919669107519402262172251804649545392273866710763155484893541054298657495664700243756247 234998882445700540575472636899740117371695664909032183642239866206526052055967221459028610648369184001109398272913769340600231225333209243992945869630177042399297951249012132697297923249001534200560308329247206754852871621855624315371084658581528428413300444198327803781044544217113870427836924653060241136414945120326286367441897973654716293834192245899255066354427877845218727064158005754632094825479348760237178722441474347312981006765000404602794228373566218609146039964368201393838825384850730948893086482297157095255424664933188981277174062656543212221342866649728848748703871332531618455610417961701001486390792363246700304160839628865037486645877332995342028754724895544057941427652938755826668001428593098396551292908484473813079622687533482527444187500149380158632895027039830105118591841606775487212011884703493085138537316681609768238522838534593049696895753589805400881800123965766540422010907415651019826460040064089726073087775529144470709020447812541939492689728352695344206971137270283071390574370550978869602079635061108475948234481943729274059139054481098159257147602919246224293012177461211246403168937594733955994233406685508598797740906279505223274371301276903093557192038939662027612689260071215347847779539400383812142193221174927329661784912850720955687819805552135393474640188579633705209219659514365072743399794324086120084589949594638874370823448337518229047053748851677477757518426454978632912359029661502535244325089069697177582086426960604951333503314140163917056495089099036053900095216188756223197789882657173089475316473772620604013094135059658973243488985958815789527748672203595592660003191110645232032552666870018980167040157908276381841290038797162819378027529074128492612896547760666552688489550143331321755283051428139326064777899146367905376978635182118684193615543561764474268377235957523778619405090685000681511911594462558382855613098830091999752296641665930827918507968767421708433630937444764798704476985859075904031646660006799034994930284984374581369997237085703183063839645618683783607329387297247453932396972279358327934509357538238461158244205122656718243763003004645267511888031561559491308217815011505891241152806105983487564736553881961097761820190211574650104042099017085043873163745038341957486929140295695940178457380516442271971848758551352210924017286132943635620627962111461352177482210179485182357028939721647725004448469452086769501469754691093272444879678306809581453643958053343985572397588901775974261800498448199067728741080400227111434095971118519642330550605645314166283235990204785185837998618323240504537627451185375154338803215382545870486480392776281365930199712019911950593253625881116449983407354623012630431002046248776500636011774335989823752720698086607774416704420578777357715250749633478158308875886929551671697832271566584869619572217513683155382330876980380991574601842043183923377782414446876 380236179115384490400953958235152943402849259079603639414983055506449331761942995362345822291547148754860802300320245307005867900469550018093224745116346644654574669360390327562936818625523537960368953532622126303747160599780153010792880688524225912513327346197705950543288849439895968740644181191514206576616154093396601287928108824452268421872471294899251769638792032465145185603628393715560392628617483841325592030456252700365567909131202452988210265598657214683962133152504969076730086253837135889197200393289146636214553018344168190434373272283865066807102116311854481067953963423993953933398711238490017115553273365307815785447635338589423954803279674168592122993711799526893537362938688739226705202704276751355586965350845927186267211741396754922566801958299447368300022299294061842662025265539403992400728127806461145532947765621697283646353616838958739325479551317585818683121328377665827240096062452027724315990228446520124606640914572750335363772311687077212705072216266434428936472034765763231853826988742426031415188729176973741683738777556332687732715973693983658317842961055700078700910845150124957552651311492035585044739347463420581318257978684914227460617271989236149809451997062954037079354915330781888229769877913694953961639684145350994091032355224395612052956340244201029763731737497764043038800497521584585033107207014301072264820740597574322717597515479718469248204699468490603938465754143831519677139738292923169598451512348059086855985168179636094732019107687877559932132657823257797766115433142564380021736745346442266312888444098848626755661462779029270829337159656461726337514626626414888625384753109407127431087451737909450541135208279504588237633350307943624958439912575534203469501697680797694472823895668638167603921177822709705442175172736337300078730867702833546334933052810891445046191640784453871166632075976658819975570979858162648808119874594948332122809370926998834344666882327454542663556899358987876822258301721639201808358403156495627370251154856691584074592623850065388059700142983505292703443584269823855066842231606369549703996068770602693811180788787178009003998450376283707236888674396375375394111997416485907969619610266027678774772987806082355826546946275801568061450417944361413709587346195866560758912649620370358122400535353519373513143176486288056269752102582155651607723067484621648665945602893645504634397260003866947810673763112888520285824020638611006354712888494838401324578614964623042308556251936148067999857728506277251207562765407132486450966253268701979032688933092805111723132104212757159992253517011929746878675263728002052700589027851652124985670840570181950997103325241192118390745898519644240397229180092679625278002347236086227273986184897881998399723626755631432563306648063259462469366251955139597088476420889060014617501379085987131791824022163228547656197587743536476468142896341841419042482658203123 615235061561085030976426595134893060774544923988635823057222921712975383817910216821374432939916332755970200573234014647606099125802759262086170614746523687053872620609402460260234741874525072160929261861869333058600032221635777326163965347105754340926627790396033754324333393657009839168481105844574447713031099213722887655370006798106984715706663540798506835993219910310363912667786399470192487454096832601562770752897727047678548915896202857591004493972223433293108173116873170470568911638687866838090286875586303731469977683277357171711547334940408279028444982961583329816657834756525572389009129200191018601944065728554516089608474967454461441449157007163934151748436695070951478790591627495053373204132869849752138258259330400999346834428930237450010989458448827526932917326333891947780617107146179479612740012509954230671485082303307051884876455373551789022375304907391219564921452343432367662106969867678744142450268510609850679728690101894806072792759499619152197761944619129773143443172036046303244401359293404901017268364238082217631973259500061961791855028175081817574990563974946302993923022611336203955820249086769541038972754148929180115998884964419450734988573266139243366644036002616064692044175401997236077549417314078766103832905320278323752817268075116567740776145796336423238371926077397748248020157035949657776507001338387192349410690192213197088420963817236698295258448320168081695984180598810152589498767954425704842776601417756264438071595140241046065522421828041476988627746922293851666210649331320603219526628003615355788204917871469230768755597838688244072826145615277515865263298830010481285387944220052359463640118607928430708175366187780970078923389105106444336467441649662696082398245441464247161313445811969489359204229250849031506953071882705205455709502884952230528548596372655919314568876741977649786037166661659501487482574320721031663732973425040331875106012592929662263174851094876251097187836803752675526735287580715105840005063163294662365181439841066165444589860935768571123539788602189076310772971567071308999239203885727877638505426308841154969424993909834727247761453380928974748776705957934866702329812427991799210772416372011166339509541688043453588367136487376218165492516961446457582751091234208518245841789916066298300857915869961645484991935037640267193769388715099287228351029596083000843427813073130686991426199725514672815122232564975289787293775329704278799592566801647982778222573017967027880953840837924042261658226954476318936303845807359597885062224387221621363239538738119278006368094417542345830252135335170251416302714913377207039392243234197995472151233346463316927303037261104068983999524400760690380636534715692255709004393484862727909997959233871822152444324842239206980011068642036820184617001588617755397352307818611686315333650652572001411396239676911703038528464723917468042744738385025342420265072649999 995471240676469521377380553370046004177394183068239462472205977219424715579853212183720255231463481510831002873554259954611967026272309280179395359862870331708447289969792787823171560500048610121298215394491459362347192821415930336956846035629980253439955136593739704867622243096905807909125287036088654289647253307119488943298115622559253137579134835697758605632011942775509098271414793185752880082714316442888362783353979748044116825027405310579214759570880647977070306269378139547298997892525002727287487268875450367684530701621525362145920607224273345835547099273437810884611798180519526322407840438681035717497339093862331875056110306043885396252436681332526274742148494597845016153530316234280078406837146601107725223610176328185614046170326992372577791416748274895232939625627953790442642372685583472013468140316415376204432847925004335531230072212510528347854856224977038248042780721098194902203032319706468458440496957129975286369604674645141436565071186696364902834160885564202079915206801809535098228348035830932432457093415055959315712037056394649524571001869065475892833525030646381694833867761461161508471560578805126083712101612349761434256863649333678195605845255375393176096033065570101771399090732779124307319295227773720065472589465629317843849623299512179793732486040537453002103663575161791286820654557534242809614208352688264614231430789787519806018479296955167543463147788658685634449934742641672266638506247348874441228113765815351294056763319877140797541529515919036920760404745551649432326082473884983241263373350057622101093361970317857524417060617717514902163305271739242202777925456425369910772697329459486894727570345837881249310574467285558316556739413050069294907354225196899551899943122261941634137341480607656963125407073558736949128244619042505534440370587785776863481649183547364360760517526431520952669242638318321463053554178883680471852848019988663997915383519928496607841733422330793760744736162740552348993589302354307648363466319790289735432594697757749519182484785833959183239931585694369014216555836895164066081435492097427342501495079443848780605782697012736251759903757212681985665380354310242096441809844477707180392026638038845114282529494125809414914082763177786226942934905807871292338437430075079004754439536436656423258451223481018998135111523928323463521491297254938836074097080704649509373415966776191625823459729381620625795995677863810073117795968315285154305455296486384102801187982590070189510092774072110261515955460753570143866611214492084336028477655923600395928471830924389729500198630299505822505652347099998294977978641379259739981271085850120457822073916645267924406362502296187374745422920404930777865714808371880987006740720948955183984144131753820552167951597870639543317716705296282653983253543757352485828728707671700932835029738559133203220261840140250694726052467453944510887634726866761462747730853122 1610706302237554552353807148504939064951939107056875285529428898932400099397763429005094688171379814266801203446788274602218066152075068542265565974609394018762319910579195248083406302374573682282227477256360792420947225043051707663120811382735734594366582926989773459191955636753915647077606392880663102002678352520842376598668122420666237853285798376496265441625231853085873010939201192655945367536811149044451133536251706795722665740923608168170219253543104081270178479386251310017867909531212869565377774144461754099154508384898882533857467942164681624863992082235021140701269632937045098711416969638872054319441404822416847964664585273498346837701593688496460426490585189668796494944121943729333451610970016450859863481869506729184960880599257229822588780875197102422165856951961845738223259479831762951626208152826369606875917930228311387416106527586062317370230161132368257812964233064530562564310002187385212600890765467739825966098294776539947509357830686315517100596105504693975223358378837855838342629707329235833449725457653138176947685296556456611316426030044147293467824089005592684688756890372797365464291809665574667122684855761278941550255748613753128930594418521514636542740069068186166463443266134776360384868712541852486169305494785907641596666891374628747534508631836873876240475589652559539534840811593483900586121209691075456963642120982000716894439443114191865838721596108826767330434115341451824856137274201774579284004715183571615732128358460118186863063951343960513909388151667845501098536731805205586460790001353672977889298279841787088293172658456405758974989450887016758068041224286435851196160641549511846358367688953766311957485940655066528395480128518156513631374795874859595634298188563726188795450787292577146322329636324407768456081316501747710990149873472738007392030245556203283675329394268409170738706409299977822950536128499604712135585821445028995873021396112858158871016584517207044857932572966493227875728876883069413488368529483084952100614034538823914963772345721602530306779720187883445324989527403966473065320639377825304981006921388285003750030776606847463499521357138141656734442086312245108798771622272469506391164443010050011453792071182169263003281219250554004392435451867254328875089528664283597250596229452502954724116367093442664483127046561568590657290880012354226064425126676787650352801229039906878617249659454896293440918228242839099860411571298019563953898022098134366881023761000557098070463933611996152523174182415229889080170457021851682221090702043145221759168010569043667735868293047841851652757787682270249711280693554756466779373514320048115929973307263108584851709399763400256358744947321165621158502249524064136696011134205811683093982103365625642704612276440109846523328785347333102838600255132375107883181036526283387248168680391131134614616501517051953733254517191371412553632373111892103883012803503121 2606177542914024073731187701874985069129333290125114748001634876151824814977616641188814943402843295777632206320342534556830033178347377822444961334472264350470767200548988035906577862874622292403525692650852251783294417864467638000077657418365714847806538063583513164059577879850821454986731679916751756292325605827961865541966238043225490990864933212194024047257243795861382109210615985841698247619525465487339496319605686543766782565951013478749434013113984729247248785655629449565166907423737872292665261413337204466839039086520407896003388549388954970699539181508458951585881431117564625033824810077553090036938743916279179839720695579542232233954030369828986701232733684266641511097652259963613530017807163051967588705479683057370574926769584222195166572291945377317398796577589799528665901852517346423639676293142784983080350778153315722947336599798572845718085017357345296061007013785628757466513034507091681059331262424869801252467899451185088945922901873011882003430266390258177303273585639665373440858055365066765882182551068194136263397333612851260840997031913212769360657614036239066383590758134258526972763370244379793206396957373628702984512612263086807126200263776890029718836102133756268234842356867555484692188007769626206234778084251536959440516514674140927328241117877411329242579253227721330821661466151018143395735418043763721577873551771788236700457922411147033382184743897485452964884050084093497122775780449123453725232828949386967026185121779995327660605480859879550830148556413397150530862814279090569702053374703730599990391641812104945817589719074123273877152756158756000270819149742861221106933338878971333253095259299604193206796515122352086712036867931206582926282150100056495186198131685988130429588128773184803285455043397966505405209561120790216524590244060523784255511894739750648036089911794840691691375651938296144413589682678488392607438669465017659870936779632786655478858317939537838618677309129233780224722466185423721136731995802875241836046629236581664482954830507436489490019651773577814339206083240861637131402074869922732323508416467728852530636559303860199751281260895354338720107466666555350895213432116947213571556469648088856568074600676295072418195302013731790619378386773062200167427966094358676255350668988939611147374818316923683481262158085496914120812371309609164900499223757492299862174645006683070243073119184277914066714223920702909933529367266334849108203477394620750983824948983147168259974026386068262784690137875983459224037068236343766557119179699068822155096482399968057465368491678141357475263440029370248006258672196135726519354785405898236387795381179753852776115762265696443733490370241570551936367964332436017683017874926760638277966247497379463256780228037980486066646502052629385492583508676132460369009765233955088181003710129690267817836763357192204427980569658825357064520007838758865345760534356243 4216883845151578626084994850379924134081272397181990033531063775084224914375380070193909631574223110044433409767130809159048099330422446364710527309081658369233087111128183283989984165249195974685753169907213044204241642907519345663198468801101449442173120990573286623251533516604737102064338072797414858295003958348804242140634360463891728844150731588690289488882475648947255120149817178497643615156336614531790629855857393339489448306874621646919653266657088810517427265041880759583034816954950741858043035557798958565993547471419290429860856491553636595563531263743480092287151064054609723745241779716425144356380148738696027804385280853040579071655624058325447127723318873935438006041774203692946981628777179502827452187349189786555535807368841452017755353167142479739564653529551645266889161332349109375265884445969154589956268708381627110363443127384635163088315178489713553873971246850159320030823036694476893660222027892609627218566194227725036455280732559327399104026371894952152526631964477521211783487762694302599331908008721332313211082630169307872157423061957360062828481703041831751072347648507055892437055179909954460329081813134907644534768360876839936056794682298404666261576171201942434698285623002331845077056720311478692404083579037444601037183406048769674862749749714285205483054842880280870356502277744502043981856627734839178541515672753788953594897365525338899220906340006312220295318165425545321978913054650898033009237544132958582758313480240113514523669432203840064739536708081242651629399546084296156162843376057403577879689921653892034110762377530529032852142207045772758338860374029297072303093980428483179611462948253370505164282455777418615107516996449363096557656945974916090820496320249714319225038916065761949607784679722374273861290877622537927514740117533261791647542140295953931711419306063249862430082061238273967364125811178093104743024490910046655743958175745644814349874902456744883476609882095727008100451343068493134625100525285960193936660663775405579446727176229039019796799371961461259664195610644828110196722714247748037304515337856013856280667335910707663250802618033495995454549552978800459693985054389416719962720912658138868021866671858464335421476521264285795011813838640316529042517494758642273505946898441442565871491185410366347964389204647065504778103251321963390964924350434279950214975874046589948860322778639174207507632452163542009793940938564354413062101499492755117864848709983704266330437959998064415307864320291213348304207525258195448778209881742214043914264492969011725201236784725983209128021227711640497717539365750892193298728299725946352317768688442862437627825162029096700092235317562736173094870213856500154379029009132572321371948350863005105961392504478090332589975287399962488331183763808507568252190801760238475429172390520821402432453264874244158161235086850196769618152380950650969228773337859364 6823061388065602699816182552254909203210605687307104781532698651236049729352996711382724574977066405822065616087473343715878132508769824187155488643553922719703854311677171319896562028123818267089278862558065295987536060771986983663276126219467164289979659054156799787311111396455558557051069752714166614587329564176766107682600598507117219835015664800884313536139719444808637229360433164339341862775862080019130126175463079883256230872825635125669087279771073539764676050697510209148201724378688614150708296971136163032832586557939698325864245040942591566263070445251939043873032495172174348779066589793978234393318892654975207644105976432582811305609654428154433828956052558202079517139426463656560511646584342554795040892828872843926110734138425674212921925459087857056963450107141444795555063184866455798905560739111939573036619486534942833310779727183208008806400195847058849934978260635788077497336071201568574719553290317479428471034093678910125401203634432339281107456638285210329829905550117186585224345818059369365214090559789526449474479963782159132998420093870572832189139317078070817455938406641314419409818550154334253535478770508536347519280973139926743182994946075294695980412273335698702933127979869887329769244728081104898638861663288981560477699920722910602190990867591696534725634096108002201178163743895520187377592045778602900119389224525577190295355287936485932603091083903797673260202215509638819101688835100021486734470373082345549784498602020108842184274913063719615569685264494639802160262360363386725864896750761134177870081563465996979928352096604652306729294963204528758609679523772158293410027319307454512864558207552974698371078970899770701819553864380569679483939096074972586006694451935702449654627044838946752893239723120340779266500438743328144039330361593785575903054035035704579747509217858090554121457713176570111777715493856581497350463160375064315614894955378431469828733220396282722095287191224960788325173809253916855761832521088835435772707293011987243929682006736475509286819023735039074003401693885689747328124789117670769628023754323742708811303895214567863002083878928850334174657019645355810589198486506363933534277382306227724589941272534759407839671823278017585631192225413378729209945460853000949761297567430382177018866003727290031445651362732562418898915622631572555865423574191772250077150519053273019103395897823452121574346676084244919727470305830689262170304976887375868848673658966851434590411986384132678092554458167196807528244593494539215335329061441282866069360975368979782666605276404124566603284667741010745723798037947027919818083085131844588705564069622616290403940924294793143825725687804306725031238178188936172062046884059332959649914598360384569218172732516070818656621789452591873823767272484640028621200566994193563610176100650511670250290028231436362589215656509022126682672388789409834574533872215607 11039945233217181325901177402634833337291878084489094815063762426320274643728376781576634206551289515866499025854604152874926231839192270551866015952635581088936941422805354603886546193373014241775032032465278340191777703679506329326474595020568613732152780044730086410562644913060295659115407825511581472882333522525570349823234958971008948679166396389574603025022195093755892349510250342836985477932198694550920756031320473222745679179700256772588740546428162350282103315739390968731236541333639356008751332528935121598826134029358988755725101532496228161826601708995419136160183559226784072524308369510403378749699041393671235448491257285623390377265278486479880956679371432137517523181200667349507493275361522057622493080178062630481646541507267126230677278626230336796528103636693090062444224517215565174171445185081094162992888194916569943674222854567843171894715374336772403808949507485947397528159107896045468379775318210089055689600287906635161856484366991666680211483010180162482356537514594707797007833580753671964545998568510858762685562593951467005155843155827932895017621020119902568528286055148370311846873730064288713864560583643443992054049334016766679239789628373699362241988444537641137631413602872219174846301448392583591042945242326426161514883326771680277053740617305981740208688938988283071534666021640022231359448673513442078660904897279366143890252653461824831823997423910109893555520380935184141080601889750919519743707917215304132542812082260222356707944345267559680309221972575882453789661906447682882027740126818537755749771485119889014039114474135181339581437170250301516948539897801455365713121299735937692476021155806345203535361426677189316927070860829932776041596042049888676827190772185416768879665960904708702501024402842715053127791316365866071554070479127047367550596175331658511458928523921340416551539774414844079141841305034674602093487651285110971358853131124076284178608122853027605571897073320687796425625152322409990386933046374795629709367956787392823376409182965514529083618395696500333667597304530517857524847503365418806932539092179756565091971231125275526252886496962346329629206572624156270283183540895780653496998294964366592611807944393223743261148344542303380643006064053695258252462955611643223267244465871824742890357189137656379410040567379627923677018873953535946830347924626052200292126393099862967963718676462626329081979128247786929521411244395043675232406476380130986713522368950555700920849946382197093400418778458410155832452118752734664113538943183496909983625468337991507867842061130107775731305895452651243441337403697920113116811384857790941023332758065478728031766086323889843917961005367042898126108392045436326441075893191905281021862949223389675179565236994161151246597076852554362154951036293147596873391368754432039039348491171333072682743293105680520750450743359218896300824769740060803803307210074971 17863006621282784025717359954889742540502483771796199596596461077556324373081373492959358781528355921688564641942077496590804364347962094739021504596189503808640795734482525923783108221496832508864310895023343636179313764451493312989750721240035778022132439098886886197873756309515854216166477578225748087469663086702336457505835557478126168514182061190458916561161914538564529578870683507176327340708060774570050882206783553106001910052525891898257827826199235890046779366436901177879438265712327970159459629500071284631658720587298687081589346573438819728089672154247358180033216054398958421303374959304381613143017934048646443092597233718206201682874932914634314785635423990339597040320627131006068004921945864612417533973006935474407757275645692800443599204085318193853491553743834534857999287702082020973077005924193033736029507681451512776985002581751051180701115570183831253743927768121735475025495179097614043099328608527568484160634381585545287257688001424005961318939648465372812186443064711894382232179398813041329760089128300385212160042557733626138154263249698505727206760337197973385984224461789684731256692280218622967400039354151980339573330307156693422422784574448994058222400717873339840564541582742106504615546176473688489681806905615407721992583247494590879244731484897678274934323035096285272712829765535542418737040719292044978780294121804943334185607941398310764427088507813907566815722596444822960182290724850941006478178290297649682327310684280331198892219258331279295878907237070522255949924266811069607892636877579671933619853048585885993967466570739833646310732133454830275558219421573613659123148619043392205340579363359319901906440397576960018746624725210502455525535138124861262833885224121119218534293005743655455394264125963055832394291755109194215593400840720832943453650210367363091206437741779430970672997487591414190919556798891256099443950811660175286973748086502507754007341343249310327667184264545648584750798961576326846148765567463631065482075249799380067306091189701990038370437419431539407670998998416207604852972292483089576560562846503499273903275126339843389254970375891196663803863592269512080872382027402144587031275677270594317201749216927983151100820167820320966274198289467073987462408416464644173028542033302206919909223192864946410855691930112190342575934496585108502695771498817824450369276912153135987067114574286078450656325804332031849248881550225732937402711453267506855562196027917407135511261932766329771492973236625606963360696712247273879448868004624779776052986443706971290534447337534232342334590563193661989165135441644948032934894469989635529728896827688095018435707010618682987743686693171349623157346570234372498503122777251238240671777547583774244397737969510231969903218866305146235978718308777787625494591935748625602649524591821844742933033321337116883339666399868241022983497158529470638377841082290578 28902951854499965351618537357524575877794361856285294411660223503876599016809750274535992988079645437555063667796681649465730596187154365290887520548825084897577737157287880527669654414869846750639342927488621976371091468130999642316225316260604391754285219143616972608436401222576149875281885403737329560351996609227906807329070516449135117193348457580033519586184109632320421928380933850013312818640259469120971638238104026328747589232226148670846568372627398240328882682176292146610674807045967326168210962029006406230484854616657675837314448105935047889916273863242777316193399613625742493827683328814784991892716975442317678541088491003829592060140211401114195742314795422477114563501827798355575498197307386670040027053184998104889403817152959926674276482711548530650019657380527624920443512219297586147248451109274127899022395876368082720659225436318894352595830944520603657552877275607682872553654286993659511479103926737657539850234669492180449114172368415672641530422658645535294542980579306602179240012979566713294306087696811243974845605151685093143310106405526438622224381357317875954512510516938055043103566010282911681264599937795424331627379641173460101662574202822693420464389162410980978195955185614325679461847624866272080724752147941833883507466574266271156298472102203660015143011974084568344247495787175564650096489392805487057441199019084309478075860594860135596251085931724017460371242977380007101262892614601860526221886207512953814870122766540553555600163603598838976188129209646404709739586173258752489920377004398209689369624533705775008006581044875014985892169303705131792506759319375069024836269918779329897816600519165665105441801824254149335673695586040435231567131180174749939661075996306535987413958966648364157895288528805770885522083071475060287147471319847880311004246385699021602665366265700771387224537262006258270061398103925930701537438462945286258332601217626584038185949466102337933239081337866336381176424113898736836535698613838426695191443206586772890682500372667504567454055815128039741338596302946725462377819795848508383493101938683255838995246357465118915507856872853542993433070164893668351155565568297925240528273972234960909813557161321206894361968512362624346917204353520769245714871372076287396295786499174031662799580382002602790265732497491818266252953370538644449526119423443876650661403305252998955030833250748704779738304932579818778770292794620776612635117929647637842275718396867962836432111879148526864893392015084017119193148831000008543562406947808276686036611912044962798402289398664340118065896458646313232606472845342868146051705854847426470752229585753573746467473096942572831661647698538392521283454962279808824944198670443143521693640496807163919577303206504393121149815943157700598133669345070935222367983304503057641688873082993177815615776614442797404090117143227459919284321928269531442181148292365549 46765958475782749377335897312414318418296845628081494008256684581432923389891123767495351769608001359243628309738759146056534960535116460029909025145014588706218532891770406451452762636366679259503653822511965612550405232582492955305976037500640169776417658242503858806310157532092004091448362981963077647821659695930243264834906073927261285707530518770492436147346024170884951507251617357189640159348320243691022520444887579434749499284752040569104396198826634130375662048613193324490113072758295296327670591529077690862143575203956362918903794679373867618005946017490135496226615668024700915131058288119166605035734909490964121633685724722035793743015144315748510527950219412816711603822454929361643503119253251282457561026191933579297161092798652727117875686796866724503511211124362159778442799921379607120325457033467161635051903557819595497644228018069945533296946514704434911296805043729418347579149466091273554578432535265226024010869051077725736371860369839678602849362307110908106729423644018496561472192378379754624066176825111629187005647709418719281464369655224944349431141694515849340496734978727739774360258290501534648664639291947404671200709948330153524085358777271687478686789880284320818760496768356432184077393801339960570406559053557241605500049821760862035543203587101338290077335009180853616960325552711107068833530112097532036221493140889252812261468536258446360678174439537925027186965573824830061445183339452801532700064497810603497197433450820884754492382861930118272067036446716926965689510440069822097813013881977881622989477582291661001974047615614848632202901437159962068064978740948682683959418537822722103157179882524985007348242221831109354420320311250937687092666318299611202494961220427655205948251972392019613289552654768826717916374826584254502740872160568713254457896596066384693871804007480202357897534749597672460980954902817186800981389274605461545306349304129091792193290809351648260906265602411984965927223075475063682684464181302057760673518456386152957988591562369494605824493234559579149009595301362933067230792088331597960053664785186755112898521483804962304762827248744739657236933757163180432027947595700069827559549649505555227015306378249190045462788680182945313191402642987843233177279788540931569324328532476238582708803574867549201121424427604008608828887867123752952221890922261701101030680217406134942097947825034783230394630736911850628019174344846509550037829382915144697837914424785369971943373811914856636386365251709624082553845543247282423011274952433056462089598355751934088936736736198572460400487021839975221771608286987816178986600324837062000481126413441668764903180107561255819405334391709742144440801532514181323447321447694381762365418044390938163975041176014625091053034809462846834112387653848722847862575240251683244338397674815022558548809935779914287429783543095700942267819086799002080558989374656127 75668910330282714728954434669938894296091207484366788419916908085309522406700874042031344757687646796798691977535440795522265556722270825320796545693839673603796270049058286979122417051236526010142996750000587588921496700713492597622201353761244561530702877386120831414746558754668153966730248385700407208173656305158150072163976590376396402900878976350525955733530133803205373435632551207202952977988579712811994158682991605763497088516978189239950964571454032370704544730789485471100787879804262622495881553558084097092628429820614038756218242785308915507922219880732912812420015281650443408958741616933951596928451884933281800174774215725865385803155355716862706270265014835293826167324282727717219001316560637952497588079376931684186564909951612653792152169508415255153530868504889784698886312140677193267573908142741289534074299434187678218303453454388839885892777459225038568849682319337101220132803753084933066057536462002883563861103720569906185486032738255351244379784965756443401272404223325098740712205357946467918372264521922873161851252861103812424774476060751382971655523051833725295009245495665794817463824300784446329929239229742829002828089589503613625747932980094380899151179042695301796956451953970757863539241426206232651131311201499075489007516396027133191841675689304998305220346983265421961207821339886671718930019504903019093662692159973562290337329131118581956929260371261942487558208551204837162708075954054662058921950705323557312067556217361438310092546465528957248255165656363331675429096613328574587733390886376091312359102115997436009980628660489863618095070740865093860571738060323751708795688456602052000973780401690650112790044046085258690094015897291372918659797498474361142156037216734191193362210939040383771184841183574597603438457898059314789888343480416593565462142981765406296537170273180973745122072011603930731042353006743117502518827737550747803638950521755675830379240275453986194145346940278321347103647189373800519220162795140484455864961662972925848671091935036999173278549049687618890348191604309658529608611884180106343546766723870010951893767841270081220270684121598282650670003922056848783183513163997995068087823621740516136828863539570396939824757192545569660108606996508612478892151160617218965620115031650270245508383956870151991387156925095826875081841237662397401748010345705577751692083522659133897128781075783488010132935669491669406789467139467286162672947312562782540113632821653332808375485691063383501279757266793641201746994374247290966573681900241333148126210267796896887339026134862912578466383480486288454378081132330684325038306179684488471233355999195242511370653204503828651066982090248134665724256494793990148391520118137525284059058541198102083552344382519018212202850752620547432246056998919658070230558544754740886027270757808200374164586550222711691519900686323160861552141015068533522740137667021676 122434868806065464106290331982353212714388053112448282428173592666742445796591997809526696527295648156042320287274199941578800517257387285350705570838854262310014802940828693430575179687603205269646650572512553201471901933295985552928177391261884731307120535628624690221056716286760158058178611367663484855995316001088393336998882664303657688608409495121018391880876157974090324942884168564392593137336899956503016679127879185198246587801730229809055360770280666501080206779402678795590900952562557918823552145087161787954772005024570401675122037464682783125928165898223048308646630949675144324089799905053118201964186794424245921808459940447901179546170500032611216798215234248110537771146737657078862504435813889234955149105568865263483726002750265380910027856305281979657042079629251944477329112062056800387899365176208451169126202992007273715947681472458785419189723973929473480146487363066519567711953219176206620635968997268109587871972771647631921857893108095029847229147272867351508001827867343595302184397736326222542438441347034502348856900570522531706238845715976327321086664746349574635505980474393534591824082591285980978593878521690233674028799537833767149833291757366068377837968922979622615716948722327190047616635227546193221537870255056317094507566217787995227384879276406336595297681992446275578168146892597778787763549617000551129884185300862815102598797667377028317607434810799867514745174125029667224153259293507463591622015203134160809264989668182323064584929327459075520322202103080258641118607053398396685546404768353972935348579698289097011954676276104712250297972178025055928636716801272434392755106994424774104130960284215635120138286267916368044514336208542310605752463816773972344650998437161846399310462911432403384474393838343424321354832724643569292629215640985306819920039577831790990408974280661176103019606761201603192023307909560304303500217012156209348945299825884767622572531084805634455051612542690306313030870264848864201904626976442542216538480119359078806659683497406493779103042284247198039357786905672591596839403972511704303600431509056766064792289325075043525033511370343022307906937679220029215211460759698064895647373271246071363844169917819586985287545872728514973300009639496455712069430949158150534944443564126508828217187531737701192508581352699835483910729104786150353969901267967278852722763740065268839226728900818271240527566406403520034808641484313795712710776695477927237951547246438702780318859502978240137666122518503265284300839917494573389584956852674389610215808623548830976275762871061485038866870502326263676149689419318500504024906504521550471714482412636911276273833312065084470472316481957876810165058027308171471838841565831907046424476585589040247527385558533643303255885562083394266358444652768380918093133785006424130365668432623222932713396486002625978949684229418861803819960101867535603299127041677803 198103779136348178835244766652292107010479260596815070848090500752051968203292871851558041284983294952841012264809640737101066073979658110671502116532693935913811072989886980409697596738839731279789647322513140790393398634009478150550378745023129292837823413014745521635803275041428312024908859753363892064168972306246543409162859254680054091509288471471544347614406291777295698378516719771595546115325479669315010837810870790961743676318708419049006325341734698871784751510192164266691688832366820541319433698645245885047400434845184440431340280249991698633850385778955961121066646231325587733048541521987069798892638679357527721983234156173766565349325855749473923068480249083404363938471020384796081505752374527187452737184945796947670290912701878034702180025813697234810572948134141729176215424202733993655473273318949740703200502426194951934251134926847625305082501433154512048996169682403620787844756972261139686693505459270993151733076492217538107343925846350381091608932238623794909274232090668694042896603094272690460810705868957375510708153431626344131013321776727710292742187798183299930515225970059329409287906892070427308523117751433062676856889127337380775581224737460449276989147965674924412673400676297947911155876653752425872669181456555392583515082613815128419226554965711334900518028975711697539375968232484450506693569121903570223546877460836377392936126798495610274536695182061810002303382676234504386861335247562125650543965908457718121332545885543761374677475792988032768577367759443590316547703666726971273279795654730064247707681814286533021935304936594575868393042918890149789208454861596186101550795451026826105104740685906285232928330314001626734608352105833683524412261315248333486807035653896037592672673850472787155659235021918021924793290622702884082517559121401900385382182559597197286946144553842149848141678772805533923065660916303421806019044749706957152584250347640443452951771360259620649196959482968627660134517454222664721124789771583026672403441782332004655330775432443492952381591333934816929705978509982250126448015856691810647147198232926777016686057166345124745304195491941304958576941601276877998394973923696059963735196892986587500673033457389983925112303065274084633408616636005068190961582109775369500564558595776779073725571488607853183895738277795662358992570342448547755717911613672856604414847262724402736355509976601759250660502075895189441598108623781081875383724008040709778065180068092035588694345194041623638945879785296906486047834291741864356158638752915722758342018891345727863614789005924397617333253982812552130527770551649184829063212684206038942947838411832153787644486516568913121539298572206011475889314522102161620230361683969432330483535126787142331079729941052661515458736314703941698604501651688038988323692329761165016392939190431423306877983036225337670469584915742022665372101116936069126039264708699479 320538647942413642941535098634645319724867313709263353276264093418794413999884869661084737812278943108883332552083840678679866591237045396022207687371548198223825875930715673840272776426442936549436297895025693991865300567305463703478556136285014024144943948643370211856859991328188470083087471121027376920164288307334936746161741918983711780117697966592562739495282449751386023321400888335988139252662379625818027516938749976159990264120438648858061686112015365372864958289594843062282589784929378460142985843732407673002172439869754842106462317714674481759778551677179009429713277181000732057138341427040188000856825473781773643791694096621667744895496355782085139866695483331514901709617758041874944010188188416422407886290514662211154016915452143415612207882118979214467615027763393673653544536264790794043372638495158191872326705418202225650198816399306410724272225407083985529142657045470140355556710191437346307329474456539102739605049263865170029201818954445410938838079511491146417276059958012289345081000830598913003249147215991877859565054002148875837252167492704037613828852544532874566021206444452864001111989483356408287116996273123296350885688665171147925414516494826517654827116888654547028390349398625137958772511881298619094207051711611709678022648831603123646611434242117671495815710968157973117544115125082229294457118738904121353431062761699192495534924465872638592144129992861677517048556801264171611014594541069589242165981111591878930597535553726084439262405120447108288899569862523848957666310720125367958826200423084037183056261512575630033889981212699288118691015096915205717845171662868620494305902445451600209235700970121920353066616581917994779122688314375994130164725132022305831458034091057883991983136761905190540133628860261446246148123347346453375146774762387207205302222137428988277355118834503325951161285534007137115088968825863726109519261761863166501529550173525211075524302445065255104248572025658933973165387719071528923029416748025568888941921901691083461990458929849986731484633618182014969063765415654841723287419829203514950747629741983543081478346491420168270337706862284327266483879280496907213606434683394124859382570164232658864517203375209570910399848938002599606708626275501523903031013058933520035509002159903287901942759020345554376404319630495497842903299447234698109687812881640135457137611002789671575582238877420030491188068482298709476406750108094877588094500703518637016016727314530738369013204697019863776612002303800171770348674209236437745743595605590112368557827514894558839890551876985882656200124485138815806677459970967685333088119188727589414662320824469065063918319828633997592011615054163888286054372549410333092069203249801339376908011712376182578607115499586304818714621876787335964962946304456419906416826114767589146758607623054646239591379522227963649419269145160884469192061218803604729338391750377282 518642427078761821776779865286937426735346574306078424124354594170846382203177741512642779097262238061724344816893481415780932665216703506693709803904242134137636948920602654249970373165282667829225945217538834782258699201314941854028934881308143316982767361658115733492663266369616782107996330874391268984333260613581480155324601173663765871626986438064107087109688741528681721699917608107583685367987859295133038354749620767121733940439147067907068011453750064244649709799787007328974278617296199001462419542377653558049572874714939282537802597964666180393628937456134970550779923412326319790186882949027257799749464153139301365774928252795434310244822211531559062935175732414919265648088778426671025515940562943609860623475460459158824307828154021450314387907932676449278187975897535402829759960467524787698845911814107932575527207844397177584449951326154036029354726840238497578138826727873761143401467163698485994022979915810095891338125756082708136545744800795792030447011750114941326550292048680983387977603924871603464059853084949253370273207433775219968265489269431747906571040342716174496536432414512193410399896375426835595640114024556359027742577792508528700995741232286966931816264854329471441063750074923085869928388535051044966876233168167102261537731445418252065837989207829006396333739943869670656920083357566679801150687860807691576977940222535569888471051264368248866680825174923487519351939477498675997875929788631714892709947020049597051930081439269845813939880913435141057476937621967439274214014386852339232105996077814101430763943326862163055825286149293863987084058015805355507053626524464806595856697896478426314340441656028205585994946895919621513731040420209677654576986447270639318265069744953921584655810612377977695792863882179468170941413970049337457664333883789107590684404697026185564301263388345475799302964306812671038154629742167147915538306511570123654113800521165654528476073805324875753445531508627561633299905173294193644154206519608595561345363684023088117321234362293479683866224952116831898769743925637091849735435685895325597894827974910320098164403657765293015641902354225632225060820881773785212001408607090184823117767057219246365190236832599554835512152003276684240117242911506592093992595168708889536073560755680066975668330508953407560300057908291160201895869789683245865405724495312992061552458265514074311937748854021789741848570558193898918004858731875959463478224711559346794081907382622773957707549891061487415557882089097078256396508500978302101902234358505835126899846406240286703505340882910280273533378467951367937205230522616870162151331872933628357610159236301218851562806345202910713550913626369899761943687071512494712299564933770771707391546839163324909686845440638966334173358191491277663567447956144458894740518444528754163151546813486069546469362558453301319888854060902907134564162335739673855377656459076761 839181075021175464718314963921582746460213888015341777400618687589640796203062611173727516909541181170607677368977322094460799256453748902715917491275790332361462824851318328090243149591725604378662243112564528774123999768620405557507491017593157341127711310301485945349523257697805252191083801995418645904497548920916416901486343092647477651744684404656669826604971191280067745021318496443571824620650238920951065871688370743281724204559585716765129697565765429617514668089381850391256868402225577461605405386110061231051745314584694124644264915679340662153407489133313979980493200593327051847325224376067445800606289626921075009566622349417102055140318567313644202801871215746434167357706536468545969526128751360032268509765975121369978324743606164865926595790051655663745803003660929076483304496732315581742218550309266124447853913262599403234648767725460446753626952247322483107281483773343901498958177355135832301352454372349198630943175019947878165747563755241202969285091261606087743826352006693272733058604755470516467309000300941131229838261435924095805517656762135785520399892887249049062557638858965057411511885858783243882757110297679655378628266457679676626410257727113484586643381742984018469454099473548223828700900416349664061083284879778811939560380277021375712449423449946677892149450912027643774464198482648909095607806599711812930409002984234762384005975730240887458824955167785165036400496278762847608890524329701304134875928131641475982527616992995930253202286033882249346376507484491288231880325106977707190932196500898138613820204839437793089715267361993152105775073112720561224898798187333427090162600341930026523576142626150125939061563477837616292853728734585671784741711579292945149723103836011805576638947374283168235926492742440914417089537317395790832811108646176314795986626834455173841656382222848801750464249840819808153243598568030874025057568273433290155643350694690865604000376250390130857694103534286495606465292892365722567183623267634164450287285585714171579311693292143466415350858570298846867833509341291933573022855515098840548642457716893863179642750149185461285979609216509959491544700162270692425607843290484309682500337221451905229707440207809125745912000941279283846825869187008115997023608227642409571582562915583354877611089529298961936704377538786658044799169236917943975093537376953127518690069268303745887519987731441820233036639040492608394411608839970837051572725415077983810098634697153512326720754588081351192169884392897250026745182710214739847645829964095947495457673921134845543395892759896162929733502953090183743882690493584555495239451061661217772272480060770283915481126173836908305562528680533788047998059620922827804368768183572111084299558551539507488293960940225271152887980068278613628530394260600878801157344559296343309910154436540715786060742080681264969308123206063791603756223554543278584716048209454043 1357823502099937286495094829208520173195560462321420201524973281760487178406240352686370296006803419232332022185870803510241731921670452409409627295180032466499099773771920982340213522757008272207888188330103363556382698969935347411536425898901300658110478671959601678842186524067422034299080132869809914888830809534497897056810944266311243523371670842720776913714659932808749466721236104551155509988638098216084104226437991510403458144998732784672197709019515493862164377889168857720231147019521776463067824928487714789101318189299633407182067513644006842547036426589448950531273124005653371637512107325094703600355753780060376375341550602212536365385140778845203265737046948161353433005795314895216995042069314303642129133241435580528802632571760186316240983697984332113023990979558464479313064457199840369441064462123374057023381121106996580819098719051614482782981679087560980685420310501217662642359644518834318295375434288159294522281300776030586302293308556036994999732103011721029070376644055374256121036208680342119931368853385890384600111468869699315773783146031567533426970933229965223559094071273477250821911782234210079478397224322236014406370844250188205327405998959400451518459646597313489910517849548471309698629288951400709027959518047945914201098111722439627778287412657775684288483190855897314431384281840215588896758494460519504507386943206770332272477026994609136325505780342708652555752435756261523606766454118333019027585875151691073034457698432265776067142166947317390403853445106458727506094339493830046423038192578712240044584148166299956145540553511287016092859131128525916731952424711798233686019298238408452837916584282178331525056510373757237806584769154795349439318698026563584467988173580965727161294757986661145931719356624620382588030951287445128290475442529965422386671031531481359405957645611194277549767214147632479191398228310198021940595874785003413809757151215856520132476450055715006611139635042914057239765198065659916211337829787242760011632649269737259696632927654436946099217083522415678766603253266929025422758291200994166146537285691804183277807153806950754301621511570735591716605521044044477637609251897574494505618104278671151594897677040408680581424152944555968086943112098514708091016203396351299107656123671263421853279420038252369497004435447077818246695039026601189840499261872266119580242527533817820199457736585463609974885209598686507312416467571846796515050950126637330604180542079776286284428304479142838607727766481994328283141691211193041949548064322601782622357520327375132246901233642806443203266881421041551681087921016201425657390782934594846129882639297071502767043932519039819019113442306903687809941746692435322516668333117342882791691105390702832397980806380864237487061338259769891292097842216745337695897863003825097473061701250026785332530104639134566289196977266966698738320385890282952440093704668530804 2197004577121112751213409793130102919655774350336761978925591969350127974609302963860097812916344600402939699554848125604702531178124201312125544786455822798860562598623239310430456672348733876586550431442667892330506698738555752969043916916494457999238189982261087624191709781765227286490163934865228560793328358455414313958297287358958721175116355247377446740319631124088817211742554600994727334609288337137035170098126362253685182349558318501437327406585280923479679045978550708111488015421747353924673230314597776020153063503884327531826332429323347504700443915722762930511766324598980423484837331701162149400962043406981451384908172951629638420525459346158847468538918163907787600363501851363762964568198065663674397643007410701898780957315366351182167579488035987776769793983219393555796368953932155951183283012432640181471235034369595984053747486777074929536608631334883463792701794274561564141317821873970150596727888660508493153224475795978464468040872311278197969017194273327116814202996062067528854094813435812636398677853686831515829949730305623411579300802793703318947370826117214272621651710132442308233423668092993323361154334619915669784999110707867881953816256686513936105103028340297508379971949022019533527330189367750373089042802927724726140658491999461003490736836107722362180632641767924958205848480322864497992366301060231317437795946191005094656483002724850023784330735510493817592152932035024371215656978448034323162461803283332549016985315425261706320344452981199639750229952590950015737974664600807753613970389079610378658404353005737749235255820873280168198634204241246477956851222899131660776181898580338479361492726908328457464118073851594854099438497889381021224060409605856529617711277416977532737933705360944314167645849367061297005120488604840919123286551176141737182657658365936533247614027834043079300231463988452287344641826878228895965653443058436703965400501910547385736476826306105137468833738577200552846230490958025638778521453054876924461919934855451431275944620946580412514567942092714525634436762608220958995781146716093006695179743408698046457449903956136215587601120787245551208150221206315170063217095188058804188118441500123056824605117248217806327336153885835251933768981285522824088039811623993708679238686586846776730890509567551331433708812985864476291494208263519133815592799249219247098932596802121566086977724316905430207921848639179115706828076411817633566623675541715314414279176776929798611149059067224189799897650874891578309886873921407781797193894286697730117815194248509977790297126402702606133000384374131735424970611509785981152630233996256063902155119357841786682525058692876727324675970987437475857939806313358150321037101300914993875990663942242339886274767321089508639949318328048504920628236477346216497055207563121440782971855686567501118590846719815831258505100473030490342076609444826231024809752877984847 3554828079221050037708504622338623092851334812658182180450565251110615153015543316546468108923148019635271721740718929114944263099794653721535172081635855265359662372395160292770670195105742148794438619772771255886889397708491100380580342815395758657348668654220689303033896305832649320789244067735038475682159167989912211015108231625269964698488026090098223654034291056897566678463790705545882844597926435353119274324564353764088640494557051286109525115604796417341843423867719565831719162441269130387741055243085490809254381693183960939008399942967354347247480342312211881043039448604633795122349439026256853001317797187041827760249723553842174785910600125004050734275965112069141033369297166258979959610267379967316526776248846282427583589887126537498408563186020319889793784962777858035109433411131996320624347474556014238494616155476592564872846205828689412319590310422444444478122104775779226783677466392804468892103322948667787675505776572009050770334180867315192968749297285048145884579640117441784975131022116154756330046707072721900430061199175322727353083948825270852374341759347179496180745781405919559055335450327203402839551558942151684191369954958056087281222255645914387623562674937610998290489798570490843225959478319151082117002320975670640341756603721900631269024248765498046469115832623822272637232762163080086889124795520750821945182889397775426928960029719459160109836515853202470147905367791285894822423432566367342190047678435023622051443013857527482387486619928517030154083397697408743244069004094637800037008581658322618702988501172037705380796374384567184291493335369772394688803647610929894462201196818746932199409311190506788989174584225352091906023267044176370663379107632420114085699450997943259899228463347605460099365205991681679593151439892286047413761993706107159569328689897417892653571673445237356849998678136084766536040055188426917906249317843440117775157653126403905868953276361820144079973373620114610085995689023685554989859282842119684473552584125188690972577548601017358613785025615130204401040015875149984418539437917087172841717029100502229735257057763086969889222632357981142924755742250359647700826347085633298693736545778794208419502794288626486908760306830391220020712093384037532179056015020345007786894810258110198584169929605803700930713248432942294538189247290120323656092061121485366679175124335939386286435460902369040182807058237865623019244543983664430081674625668352645018459718856706084895577363546367028407625417356885906593028565132600823746741958609299512740172714575885110037198360045509049336267265795173287106058532525987406810021016930850910032037758654913289449568991211916546343789413294341163667881553005793472837705434418257876667681769332945172284255573701953746127010656587818396212726078694091554192953070566946538256033556936594286451120951358950397547702077739997189080396995335109183464903457546515651 5751832656342162788921914415468726012507109162994944159376157220460743127624846280406565921839492620038211421295567054719646794277918855033660716868091678064220224971018399603201126867454476025380989051215439148217396096447046853349624259731890216656586858636481776927225606087597876607279408002600267036475487526445326524973405518984228685873604381337475670394353922180986383890206345306540610179207214772490154444422690716017773822844115369787546852522190077340821522469846270273943207177863016484312414285557683266829407445197068288470834732372290701851947924258034974811554805773203614218607186770727419002402279840594023279145157896505471813206436059471162898202814883275976928633732799017622742924178465445630990924419256256984326364547202492888680576142674056307666563578945997251590905802365064152271807630486988654419965851189846188548926593692605764341856198941757327908270823899050340790924995288266774619488831211609176280828730252367987515238375053178593390937766491558375262698782636179509313829225835551967392728724560759553416260010929480946138932384751618974171321712585464393768802397491538361867288759118420196726200705893562067353976369065665923969235038512332428323728665703277908506670461747592510376753289667686901455206045123903395366482415095721361634759761084873220408649748474391747230843081242485944584881491096580982139382978835588780521585443032444309183894167251363696287740058299826310266038080411014401665352509481718356171068428329282789188707831072909716669904313350288358758982043668695445553650978970737932997361392854177775454616052195257847352490127539611018872645654870510061555238383095399085411560902038098835246453292658076946946005461764933557391887439517238276643703410728414920792637162168708549774267011055358742976598271928497126966537048544882248896751986348263354425901185701279280436150230142124537053880681882066655813871902760901876821740558155036951291605430102667925281548807112197315162932226179981711193768380735896996608935472518980640122248522169547597771128352967707844730035476778483370943414320584633180179536896772509200276192706961719223185476823753145226694132905963456674817764043442273692102881854987278917265244107911536844293236096460716226471954481074669560356267095826644338716466133496844956975315060439173355032364422061418806770829683455553639457471684860370704613778107721138060952373413185219274470390728906877044738726072620395482063648298301210067959432738895633635883506726422613591218207523068231777484902915439054008605543935852895997242857987908824395087827495486448211655469267650169305022531029144035773387962651250927106973934192878012755076132094049904793273668465384281778639525821359319151623158742535719172870543672433275187512170530341023043254766959974915866901133354315171437770690008278130067979039005412623161787569711798078766228806207178213027679422473604779935414489713210424500498 9306660735563212826630419037807349105358443975653126339826722471571358280640389596953034030762640639673483143036285983834591057377713508755195888949727533329579887343413559895971797062560218174175427670988210404104285494155537953730204602547285975313935527290702466230259502393430525928068652070335305512157646694435238735988513750609498650572092407427573894048388213237883950568670136012086493023805141207843273718747255069781862463338672421073656377637794873758163365893713989839774926340304285614700155340800768757638661826890252249409843132315258056199195404600347186692597845221808248013729536209753675855403597637781065106905407620059313987992346659596166948937090848388046069667102096183881722883788732825598307451195505103266753948137089619426178984705860076627556357363908775109626015235776196148592431977961544668658460467345322781113799439898434453754175789252179772352748946003826120017708672754659579088380934534557844068504236028939996566008709234045908583906515788843423408583362276296951098804356857668122149058771267832275316690072128656268866285468700444245023696054344811573264983143272944281426344094568747400129040257452504219038167739020623980056516260767978342711352228378215519504960951546163001219979249146006052537323047444879066006824171699443262266028785333638718455118864307015569503480314004649024671770615892101732961328161724986555948514403062163768344004003767216898757887963667617596160860503843580769007542557160153379793119871343140316671095317692838233700058396747985767502226112672790083353687987552396255616064381355349813159996848569642414536781620874980791267334458518120991449700584292217832343760311349289342035442467242302299037911485031977733762550818624870696757789110179412864052536390632056155234366376261350424656191423368389413013950810538588356056321315038160772318554757374724517793000228820260621820416721937255082731778152078745316939515715808163355197474383379029745425628780485817429773018221869005396748758240018739116293409025103105828813221099718148615129742137993322974934436516794358520927832860022550267352378613801609702505927964019482310155366046385503207837057661705707034465464869789359325401575591533057711473663610705825470780144856767546617691975193168053597888446151841664683724253028307103067173899230368779158733295135309851749065367872702843759781127776921492189980457282845474000338659848646121643510573535965114910361745317164379146493729972926878420604451198614490341968402303786159958246615148485588663391495944004186609429290677811505296755598160623400280197864693846493720704805534915964478309637087676561760794772672267857957883966230636667668365581663041116709820012254797576119803193702912324945095996447970137430747211354202608132684454785914724997000893970631503685297346080393865529324882961348697014517295038969559756074020832749437716626353909255953024868502870600115044597954616667971016149 15058493391905375615552333453276075117865553138648070499202879692032101408265235877359599952602133259711694564331853038554237851655632363788856605817819211393800112314431959499172923930014694199556416722203649552321681590602584807079828862279176191970522385927184243157485108481028402535348060072935572548633134220880565260961919269593727336445696788765049564442742135418870334458876481318627103203012355980333428163169945785799636286182787790861203230159984951098984888363560260113718133518167302099012569626358452024468069272087320537880677864687548758051143328858382161504152650995011862232336722980481094857805877478375088386050565516564785801198782719067329847139905731664022998300834895201504465807967198271229298375614761360251080312684292112314859560848534132935222920942854772361216921038141260300864239608448533323078426318535168969662726033591040218096031988193937100261019769902876460808633668042926353707869765746167020349332966281307984081247084287224501974844282280401798671282144912476460412633582693220089541787495828591828732950083058137215005217853452063219195017766930275967033785540764482643293632853687167596855240963346066286392144108086289904025751299280310771035080894081493428011631413293755511596732538813692953992529092568782461373306586795164623900788546418511938863768612781407316734323395247134969256652106988682715100711140560575336470099846094608077527898171018580595045628021967443906426898584254595170672895066641871735964188299672423105859803148765747950369962710098274126261208156341485528907338966523134188613425774209527588614612900764900261889271748414591810139980113388631053004938967387616917755321213387388177281895759900379245983916946796911291154438258142108973401492520907827784845173552800764705008633387316709167632789695296886539980487859083470604953073301386424126744455943076003798229150458962385158874297403819321738545650054839647193761256273963200306489079813481697670707177587598014744935950448048987107942526620754636112902344497622086468935469621887696212900870490961030819664471993572841891871247180607183447531915510574118902782120670981201533340842870138648434531190567669163709283228913231633017504457446520336628738907718617362315073380953228262844163929674242723158244713247668309022440719161803948024149214290807952513765659557371270555836197556158397399238599461781862894594235390566612061291033261831340917980964264871991955100471389784774628557378271228088488563883937510123977851909030208773549464822671553820440876398859443240618034834613664401293998456148532224675285692189332941932360274802566133783332168116820597534182735323518785064857900423514680423441713757091021503093680720181857898442719524271644096719155190505856603617755026635883320196625316255748040255660930606419552198479434709036967095572969626827082496334044382182917861590544547516482855160116434166052547925344204894980012444329878395516647 24365154127468588442182752491083424223223997114301196839029602163603459688905625474312633983364773899385177707368139022388828909033345872544052494767546744723379999657845519395144720992574912373731844393191859956425967084758122760810033464826462167284457913217886709387744610874458928463416712143270878060790780915315803996950433020203225987017789196192623458491130348656754285027546617330713596226817497188176701881917200855581498749521460211934859607797779824857148254257274249953493059858471587713712724967159220782106731098977572787290520997002806814250338733458729348196750496216820110246066259190234770713209475116156153492955973136624099789191129378663496796076996580052069067967936991385386188691755931096827605826810266463517834260821381731741038545554394209562779278306763547470842936273917456449456671586410077991736886785880491750776525473489474671850207777446116872613768715906702580826342340797585932796250700280724864417837202310247980647255793521270410558750798069245222079865507188773411511437939550888211690846267096424104049640155186793483871503322152507464218713821275087540298768684037426924719976948255914996984281220798570505430311847106913884082267560048289113746433122459708947516592364839918512816711787959699006529852140013661527380130758494607886166817331752150657318887477088422886237803709251783993928422722880784448062039302285561892418614249156771845871902174785797493803515985635061502587759088098175939680437623802025115757308171015563422530898466458586184070021106846259893763434269014275612261026954075530444229490155564877401774609749334542676426053369289572601407314571906752044454639551679834750099081524736677519317338227142681545021828431828889024916989076766979670159281631087240648897709943432820860242999763578059592288981118665275952994438669622058961009394616424584899063010700450728316022150687782645780694714125756576821277428206918392510700771989771363661686554196860727416132806368083832174708968669917992504691284860773375229195753522725192297748690721605844828030612628954353794598908510367200412799080040629733714884294124375728605288048635000683843496208916524151642368248229374870743748693783020992342906033038053394340212571329323187785853525809995809461855904867410776756133159399509973706164972190111051091323113521176731672498954692681122304901565428861241159019727238703355084574692673412086061629693110477462561491537800837106865462216706949153775051108244154966909168335136124614319820311333994933507711437820039409104267894803447427227464125291475906590754054309155624955483556883179435653065080337482098261641805204497159294977507995786643022741866654151348091807295420132138212913692974979434018245913227183969041815151638475994034364966380838491452881080102170473037256554901237923237495825515102902496420455930975524097013629083351742673935611377296954199481514025690119077416428214805010024610398946546366532796 39423647519373964057735085944359499341089550252949267338232481855635561097170861351672233935966907159096872271699992060943066760688978236332909100585365956117180111972277478894317644922589606573288261115395509508747648675360707567889862327105638359254980299145070952545229719355487330998764772216206450609423915136196369257912352289796953323463485984957673022933872484075624619486423098649340699429829853168510130045087146641381135035704248002796062837957764775956133142620834510067211193376638889812725294593517672806574800371064893325171198861690355572301482062317111509700903147211831972478402982170715865571015352594531241879006538653188885590389912097730826643216902311716092066268771886586890654499723129368056904202425027823768914573505673844055898106402928342498002199249618319832059857312058716750320911194858611314815313104415660720439251507080514889946239765640053972874788485809579041634976008840512286504120466026891884767170168591555964728502877808494912533595080349647020751147652101249871924071522244108301232633762925015932782590238244930698876721175604570683413731588205363507332554224801909568013609801943082593839522184144636791822455955193203788108018859328599884781514016541202375528223778133674024413444326773391960522381232582443988753437345289772510067605878170662596182656089869830202972127104498918963185074829869467163162750442846137228888714095251379923399800345804378088849144007602505409014657672352771110353332690443896851721496470687986528390701615224334134439983816944534020024642425355761141168365920598664632842915929774404990389222650099442938315325117704164411547294685295383097459578519067451667854402738124065696599233987043060791005745378625800316071427334909088643560774151995068433742883496233585565251633150894768759921770813962162492974926528705529565962467917811009025807466643526732114251301146745030939569011529575898559823078261758039704462028263734563968175634010342425086839983955681846919644919117966979612633811481528011342098098020347278766684160343493541040931483119915384614263380503940042304670327221236917162416209634949847508070169305981885376837051786662800076899438797044034453031922696252625360410490484573730968951479047940550100926906763224072306019834541653499914377872647178282728605691351914999115472327811984684186264614250052392860737762985019638558258326700485217979168928063978698122920726372308803479472502065709098820562688096733928403608486515383055397732219073634738297672220364203707057176260491593229545144293662890667845498959905140307884752510457687849630769249072512377585425355140048232044973973321317756829160243319305428087599767077666028515249009177223159716007373695161291916688632751455613138534306828981850637982721407474374773077705418426221077512215831844342789694304949811939463516028900602351179509963127733925591797201921844470682336674142124285129964353559009905004622843276424762049443 63788801646842552499917838435442923564313547367250464177262084019239020786076486825984867919331681058482049979068131083331895669722324108876961595352912700840560111630122998289462365915164518947020105508587369465173615760118830328699895791932100526539438212362957661932974330229946259462181484359477328670214696051512173254862785310000179310481275181150296481425002832732378904513969715980054295656647350356686831927004347496962633785225708214730922445755544600813281396878108760020704253235110477526438019560676893588681531470042466112461719858693162386551820795775840857897653643428652082724469241360950636284224827710687395371962511789812985379581041476394323439293898891768161134236708877972276843191479060464884510029235294287286748834327055575796936651957322552060781477556381867302902793585976173199777582781268689306552199890296152471215776980569989561796447543086170845488557201716281622461318349638098219300371166307616749185007370901803945375758671329765323092345878418892242831013159290023283435509461794996512923480030021440036832230393431724182748224497757078147632445409480451047631322908839336492733586750198997590823803404943207297252767802300117672190286419376888998527947139000911323044816142973592537230156114733090967052233372596105516133568103784380396234423209922813253501543566958253089209930813750702957113497552750251611224789745131699121307328344408151769271702520590175582652659993237566911602416760450947050033770314245921967478804641703549950921600081682920318510004923790793913788076694370036753429392874674195077072406085339282392163832399433985614741378486993737012954609257202135141914218070747286417953484262860743215916572214185742336027573810454689340988416411676068313720055783082309082640593439666406425494632914472828352210751932627438445969365198327588526971862534235593924870477343977460430273451834527676720263725655332475381100506468676432215162800253505927629862188207203152502972790323765679094353887787884972117325096342301386571293851543072471064432851065099385868962095748869738408862289014307242717469407261866650877300503759325576113358217940982569220333260703186951719267687026418905196780616479273617703316523522627125309164050377263737886780432573219881767875739409064276670511032046688256434770663542026050206795441333161415858763568942733515165639328413880879717278053939188573063743620737390784184550419482786266040964039866546205686024904803683082178659594759538022306900554209759352617492531698198640564887698311632638649412188466338095072963085196616214475506564766843474586252805955691813238490435477530330306615778525814916124137751315092071110341633731817376607056304597355297928921066670140725934934545978639582180349458467457844672347687788312866225958785520596694114768770733082266027190130464914841959936484831577875276523592211085668265732813299141424881818188167814404207380781773814915029233242222971128582239 103212449166216516557652924379802422905403097620199731515494565874874581883247348177657101855298588217578922250768123144274962430411302345209870695938278656957740223602400477183780010837754125520308366623982878973921264435479537896589758119037738885794418511508028614478204049585433590460946256575683779279638611187708542512775137599797132633944761166107969504358875316808003524000392814629394995086477203525196961972091494138343768820929956217526985283713309376769414539498943270087915446611749367339163314154194566395256331841107359437632918720383517958853302858092952367598556790640484055202872223531666501855240180305218637250969050443001870969970953574125150082510801203484253200505480764559167497691202189832941414231660322111055663407832729419852834758360250894558783676806000187134962650898034889950098493976127300621367512994711813191655028487650504451742687308726224818363345687525860664096294358478610505804491632334508633952177539493359910104261549138260235625940958768539263582160811391273155359580984039104814156113792946455969614820631676654881624945673361648831046176997685814554963877133641246060747196552142080184663325589087844089075223757493321460298305278705488883309461155542113698573039921107266561643600441506482927574614605178549504887005449074152906302029088093475849684199656828083292182057918249621920298572382619718774387540187977836350196042439659531692671502866394553671501804000840072320617074432803718160387103004689818819200301112391536479312301696907254452949988740735327933812719119725797894597758795272859709915322015113687382553055049533428553056703604697901424501903942497518239373796589814738085807887000984808912515806201228803127033319189080489657059843746585156957280829935077377516383476935899991990746266065367597112132522746589600938944291727033118092934330452046602950677943987504192544524752981272707659832737184908373940923584730434471919624828517240491598037822217545577589812774279447526013998806905851951729958907823829397913391949563419749831117011408592926909893578868785123023125669518247285022139734483103568039716713394275423621428387246964454597170312489849751796167125823462939649812539175526243063727014007200856278115529425204287987707339336443954073895573950717776584888904693866539163376354893941049322267769145146100045028183192785908026377091398900518275536380639673791042912548801369482307471145855095069520436541932255304506587592900417010582268081274921077704632773283394090915164752062402347622063958803225868194556482129228762918462045101756522360259075224531324217022055028204190823915790617578562351589751847132672953297994634397499197941400809483405122305313774578457644928440365302017851623178730095195318883765296439695310330409195787240999036490939022915192280986564926608816884435414726781423452513732180226456033555338819593857530015220985895564154862309938689337345135332824820033856085499395890631682 167001250813059069057570762815245346469716644987450195692756649894113602669323835003641969774630269276060972229836254227606858100133626454086832291291191357798300335232523475473242376752918644467328472132570248439094880195598368225289653910969839412333856723870986276411178379815379849923127740935161107949853307239220715767637922909797311944426036347258265985783878149540382428514362530609449290743124553881883793899095841635306402606155664432257907729468853977582695936377052030108619699846859844865601333714871459983937863311149825550094638579076680345405123653868793225496210434069136137927341464892617138139465008015906032622931562232814856349551995050519473521804700095252414334742189642531444340882681250297825924260895616398342412242159784995649771410317573446619565154362382054437865444484011063149876076757395989927919712885007965662870805468220494013539134851812395663851902889242142286557612708116708725104862798642125383137184910395163855480020220468025558718286837187431506413173970681296438795090445834101327079593822967896006447051025108379064373170171118726978678622407166265602595200042480582553480783302341077775487128994031051386327991559793439132488591698082377881837408294543025021617856064080859098873756556239573894626847977774655021020573552858533302536452298016289103185743223786336381391988732000324877412069935369970385612329933109535471503370784067683461943205386984729254154463994077639232219491193254665210420873318935740786679105754095086430233901778590174771459993664526121847600795814095834648027151669947054786987728100452969774716887448967414167798082091691638437456513199699653381288014660562024503761371263845552128432378415414545463060892999535178998048260158261225271000885718159686599024070375566398416240898979840425464343274679217039384913656925360706619906192986282196875548421331481652974798204815800384380096462840240849322024091199110904134787628770746419227900010424748730092785564603213205108352694693736923847284004166130784484685801106492220895549862473692312778855674617654861431987958532554527739609141744970218917017217153600999734786605187947023817503573193036703515434812849881844846593155654799860767043537529827981587279579802468025874487771909663835841771313359782053255399936740554795598147018435967099529063210478307515903791752135519423192016419812781397992814434578862364106656169538760266492021565337881335561400581798801510192612497704100092760927676034459100011533327493153443532657283760600988186951657114858506843968670595566857991425130298372736835765639991374798803274860983896004062406226095108892658205530372947589077435745949489570308283034541300781729361618371933755573849507035442743786557724708734777499233223763897539982678096984100107224995276459619609307049757298008874844074565879641623383388998563758101732557147549905262123262828520127320445973050477753093544725917106639735063089327722367019213921 270213699979275585615223687195047769375119742607649927208251215768988184552571183181299071629928857493639894480604377371881820530544928799296702987229470014756040558834923952657022387590672769987636838756553127413016144631077906121879412030007578298128275235379014890889382429400813440384073997510844887229491918426929258280413060509594444578370797513366235490142753466348385952514755345238844285829601757407080755871187335773650171427085620649784893013182163354352110475875995300196535146458609212204764647869066026379194195152257184987727557299460198304258426511961745593094767224709620193130213688424283639994705188321124669873900612675816727319522948624644623604315501298736667535247670407090611838573883440130767338492555938509398075649992514415502606168677824341178348831168382241572828095382045953099974570733523290549287225879719778854525833955870998465281822160538620482215248576768002950653907066595319230909354430976634017089362449888523765584281769606285794344227795955970769995334782072569594154671429873206141235707615914351976061871656785033945998115844480375809724799404852080157559077176121828614227979854483157960150454583118895475403215317286760592786896976787866765146869450085138720190895985188125660517356997746056822201462582953204525907579001932686208838481386109764952869942880614419673574046650249946797710642317989689159999870121087371821699413223727215154614708253379282925656267994917711552836565626058383370807976323625559605879406866486622909546203475497429224409982405261449781413514933821632542624910465219914496903050115566657157269942498500842720854785696389539861958417142197171620661811250376762589569258264830361040948184616643348590094212188615668655108103904846382228281715653237064115407547311466390406987165045208022576475797425806640323857948652393824712840523438328799826226365318985845519322957797073092039929200025149223262947675929545376054412457287986910825937832642294307682598338882660731122351501599588875577242911989960182398077750669911970726666873882285239688749253486439984455113628050801812761748876228073786956733930547876423356214992434911478414673885682886455311601938673344784496405694830326103830770551537028837865395109227672313862195111246107789915666887310499829840288841434421334761523373329908148851330979623453615948819935328305331218393511211681916268350815218536155149568718340129748799492711192976405081837123731056814699200090604517103343195757309380177716166100776547534447822035823003335809015615918084375038525152724795620909887175400129259196024715215906123020296916012100194886322016712687455009795282220080262030733740583887069506224435350784186851666932146512213218777947400744761638180903438829972818116989060337235293008506179887348224031767398642524499330743862935483660959001294368404806841512295938328188590702888724855980792843741113216010127912787691782882071052439464555096945413221762909845603 437214950792334654672794450010293115844836387595100122901007865663101787221895018184941041404559126769700866710440631599488678630678555253383535278520661372554340894067447428130264764343591414454965310889123375852111024826676274347169065940977417710462131959250001167300560809216193290307201738446005995179345225666149974048050983419391756522796833860624501475926631615888768381029117875848293576572726311288964549770283177408956574033241285082042800742651017331934806412253047330305154846305469057070365981583937486363132058463407010537822195878536878649663550165830538818590977658778756331057555153316900778134170196337030702496832174908631583669074943675164097126120201393989081869989860049622056179456564690428593262753451554907740487892152299411152377578995397787797913985530764296010693539866057016249850647490919280477206938764727744517396639424091492478820957012351016146067151466010145237211519774712027956014217229618759400226547360283687621064301990074311353062514633143402276408508752753866032949761875707307468315301438882247982508922681893413010371286015599102788403421812018345760154277218602411167708763156824235735637583577149946861731206877080199725275488674870244646984277744628163741808752049268984759391113553985630716828310560727859546928152554791219511374933684126054056055686104400756054966035382250271675122712253359659545612200054196907293202784007794898616557913640364012179810731988995350785056056819313048581228849642561300392558512620581709339780105254087603995869976069787571629014310747917467190652062135166969283890778216019626931986829947468256888652867788081178299414930341896825001949825910938787093330629528675913169380563032057894053155105188150847653156364063107607499282601371396750714431617687032788823228064025048448040819072105023679708771605577754531332746716424610996701774786650467498494121162612873476420025662865390072584971767128656280189200086058733330053837843067043037775383903485873936230704196293325799424526916156090966882763551776404191622216736355977552467604928104094845887101586583356340501358017973044005873751147701477423091001597622858502232177458875923158827036751523226629342998850485125964597814089066856819452674689030140339736682883155771625757438200670281883095688778174976130359670391765875248380394190101761131852611687463824754410409931024463314261165249797398519256224887878890015291514276530857740643237705529858324891812588308617196104123433343839277727699428269700977980479319583604323995967273032942881882493823320362478901312305698501996031790355207280921823571776995996198948728242807796347668000812593027851108169486533376639814507469892084968581028550518445968792627454436187505424738628147564750317350212824234775275686603163987455449027043858262133806380501160944358505033567174010028190230510859696429921147850438630118104055672261240536456100963265444876426796969546104290160034740944129929059524 707428650771610240288018137205340885219956130202750050109259081432089971774466201366240113034487984263340761191045008971370499161223484052680238265750131387310381452902371380787287151934264184442602149645676503265127169457754180469048477970984996008590407194629016058189943238617006730691275735956850882408837144093079232328464043928986201101167631373990736966069385082237154333543873221087137862402328068696045305641470513182606745460326905731827693755833180686286916888129042630501689992764078269275130629453003512742326253615664195525549753177997076953921976677792284411685744883488376524187768841741184418128875384658155372370732787584448310988597892299808720730435702692725749405237530456712668018030448130559360601246007493417138563542144813826654983747673222128976262816699146537583521635248102969349825218224442571026494164644447523371922473379962490944102779172889636628282400042778148187865426841307347186923571660595393417315909810172211386648583759680597147406742429099373046403843534826435627104433305580513609551009054796599958570794338678446956369401860079478598128221216870425917713354394724239781936743011307393695788038160268842337134422194366960318062385651658111412131147194713302461999648034457110419908470551731687539029773143681064072835731556723905720213415070235819008925628985015175728540082032500218472833354571349348705612070175284279114902197231522113771172621893743295105466999983913062337892622445371431952036825966186859998437919487068332249326308729585033220279958475049021410427825681739099733276972600386883780793828331586284089256772445969099609507653484470718161373347484093996622611637161315549682899887793506274210328747648701242643249317376766516308264467967953989727564317024633814829839164998499179230215229070256470617294869530830320032629554230148356045587239862939796528001151969453344013444120409946568459954862890539295847919443058201656243612543346720240879775675709337345457982242368534667353055697892914675001769828146051149280841302446316162348883610238262792156354181590534830342215214634158153263106894201117792830485078249353846447216590057769980646851344558809614138638690196571413839404545315452068428584640603885657318069798257812653598877994401879415673105087980781712935977619609397465121193765095783397231725169725214747801431622792130085628803442236145230529516065015934674405793606219019764091006987723834145725074829260915139591012678913134299447319190653219455443865529046248512428301355406607659804982888951027256921018976045158099811199481098631255227815070423187044843868693008096393835050259520483802677796094813108113138903227117263709320731905242869155432695482664958182011405401836932267062919531586394723135467201884572010568695109343874803673058811256904658305711245023879842165992568468378432997072023155634758109738553327354974084848516002353752466228876053136659308868021985568845256980154165892838905127 1144643601563944894960812587215634001064792517797850173010266947095191758996361219551181154439047111033041627901485640570859177791902039306063773544270792759864722346969818808917551916277855598897567460534799879117238194284430454816217543911962413719052539153879017225490504047833200020998477474402856877588182369759229206376515027348377957623964465234615238441996016698125922714572991096935431438975054379985009855411753690591563319493568190813870494498484198018221723300382089960806844839069547326345496611036940999105458312079071206063371949056533955603585526843622823230276722542267132855245323995058085196263045580995186074867564962493079894657672835974972817856555904086714831275227390506334724197487012820987953863999459048324879051434297113237807361326668619916774176802229910833594215175114159985599675865715361851503701103409175267889319112804053983422923736185240652774349551508788293425076946616019375142937788890214152817542457170455899007712885749754908500469257062242775322812352287580301660054195181287821077866310493678847941079717020571859966740687875678581386531643028888771677867631613326650949645506168131629431425621737418789198865629071447160043337874326528356059115424939341466203808400083726095179299584105717318255858083704408923619763884111515125231588348754361873064981315089415931783506117414750490147956066824709008251224270229481186408104981239317012387730535534107307285277731972908413122948679264684480533265675608748160390996432107650041589106413983672637216149934544836593039442136429656566923929034735553853064684606547605911021243602393437356498160521272551896460788277825990821624561463072254336776230517322182187379709310680759136696404422564917363961420832031061597226846918396030565544270782685531968053443293095304918658113941635853999741401159807902887378333956287550793229775938619920842507565283022820044879980525755929368432891210186857936432812629405453570933613518776380383233366145854408603583759894186240474426296744302142116163604854222720353971100346594240344623959109694629676229316801217514493764464912174161798704236225950831269538218187680628482879028803434732772965675441719798043182403395800578033026398729670742476770744487287952993335560877557651041430543288651063596031666397784373595480864156861658645612119359826975879654043310255954840039213373260608544790681314813333193662018494097909779382521264254691886368312534790773464482825267221751495551442623997058733171564957315949490408780674990211983800950161983970138803512799365520578712511786797133251259605425630467966667440470004092592783778502328280150345796907406135964247072713650640349135239375134954124013724033183404150804032856273119772487658159733959473452817414708806785844381712507862259122085855115166792112091746184824200671026135642388461187302534015331188030886403765985092188904188263594288922329839318581535735664991531673135417014895110022767964651 1852072252335555135248830724420974886284748648000600223119526028527281730770827420917421267473535095296382389092530649542229676953125523358744011810020924147175103799872190189704839068212119783340169610180476382382365363742184635285266021882947409727642946348508033283680447286450206751689753210359707759997019513852308438704979071277364158725132096608605975408065401780363077048116864318022569301377382448681055161053224203774170064953895096545698188254317378704508640188511132591308534831833625595620627240489944511847784565694735401588921702234531032557507503521415107641962467425755509379433092836799269614391920965653341447238297750077528205646270728274781538586991606779440580680464920963047392215517460951547314465245466541742017614976441927064462345074341842045750439618929057371177736810362262954949501083939804422530195268053622791261241586184016474367026515358130289402631951551566441612942373457326722329861360550809546234858366980628110394361469509435505647875999491342148369216195822406737287158628486868334687417319548475447899650511359250306923110089735758059984659864245759197595580986008050890731582249179439023127213659897687631536000051265814120361400259978186467471246572134054768665808048118183205599208054657449005794887856848089987692599615668239030951801763824597692073906944074431107512046199447250708620789421396058356956836340404765465523007178470839126158903157427850602390744731956821475460841301710055912485302501574935020389434351594718373838432722713257670436429893019885614449869962111395666657206007335940736845478434879192195110500374839406456107668174757022614622161625310084818247173100233569886459130405115688461590038058329460379339653739941683880269685299999015586954411235420664380374109947684031147283658522165561389275408811166684319774030714038051243423921196150490589757777090589374186521009403432766613339935388646468664280810653245059592676425172752173811813389194485717728691348388222943270936815592079155149428066572448193265444446156669036516319983956832503136780313291285164506571532015851672647027571806375279591534721304200185115985434777738398463525880147993542387104314131916369457021807941116030101454983370274628134088814285545765646934438871959530457103648376631845308967644017393771060602057921957442042843844529552190627455474933048084925668016815496753775320197379829267868067812100316929543473528251978526032093387364051688604073837946134885794998761814650278188615430486362198002837082030396819643605933050934997395724531775410678678523711267895764506487420496053655011511309163012188986618828761848763953023593002219244077385975940767904058455971280377823279446419515848362332815438258110052039550577691320354196588284616593378796413076821851737062795144666372071450417802991208704042837018704110766894184374557170965946140624957093340066273752704265948041388558715371718195044533013517241980673995049275915606869778 2996715853899500030209643311636608887349541165798450396129792975622473489767188640468602421912582206329424016994016290113088854745027562664807785354291716907039826146842008998622390984489975382237737070715276261499603558026615090101483565794909823446695485502387050509170951334283406772688230684762564637585201883611537645081494098625742116349096561843221213850061418478488999762689855414958000740352436828666065016464977894365733384447463287359568682752801576722730363488893222552115379670903172921966123851526885510953242877773806607652293651291064988161093030365037930872239189968022642234678416831857354810654966546648527522105862712570608100303943564249754356443547510866155411955692311469382116413004473772535268329244925590066896666410739040302269706401010461962524616421158968204771951985476422940549176949655166274033896371462798059150560698988070457789950251543370942176981503060354735038019320073346097472799149441023699052400824151084009402074355259190414148345256553584923692028548109987038947212823668156155765283630042154295840730228379822166889850777611436641371191507274647969273448617621377541681227755347570652558639281635106420734865680337261280404738134304714823530361997073396234869616448201909300778507638763166324050745940552498911312363499779754156183390112578959565138888259163847039295552316862001198768745488220767365208060610634246651931112159710156138546633692961957909676022463929729888583789980974740393018568177183683180780430783702368415427539136696930307652579827564722207489312098541052233581135042071494589910163041426798106131743977232843812605828696029574511082949903136075639871734563305824223235360922437870648969747369010219516036058162506601244231106132030077184181258153816694945918380730369563115337101815260866307933522752802538319515431873845954130802255152438041382987553029209295029028574686455586658219915914402398032713701863431917529109237802157627382747002713262098111924714534077351874520575486265395623854363316750335381608051010891756870291084303426743481404272400979794182800848817069187140792036718549441390238957530151016385523652965419026946404908951428275160069989573636167500204211336916608134481382099945370610859558772833718640269999749517181498534191665282908904999310415178144656082922078819100688455963889379166507109518243304039765707230188757362320110878694642601061729830594414839322856049516233217918461699898842462068556663213356637290550204438647336921786995443678147493245862705387031627406883212918967534528044574776199257236223054692897757747025921684122978178749633016281579402607264177044103369389909625380041633048654418544407591210655512777403460143549031766483619471114383171812038235851054313670041102031302185582257458534359599321917230521487238242529894737393528243508044839753155355371677091186297134171511360859325158462656892529542330310888554690299730780198005048915116091009944385938374834429 4848788106235055165458474036057583773634289813799050619249319004149755220538016061386023689386117301625806406086546939655318531698153086023551797164312641054214929946714199188327230052702095165577906680895752643881968921768799725386749587677857233174338431850895083792851398620733613524377983895122272397582221397463846083786473169903106275074228658451827189258126820258852076810806719732980570041729819277347120177518202098139903449401358383905266871007118955427239003677404355143423914502736798517586751092016830022801027443468542009241215353525596020718600533886453038514201657393778151614111509668656624425046887512301868969344160462648136305950214292524535895030539117645595992636157232432429508628521934724082582794490392131808914281387180967366732051475352304008275056040088025575949688795838685895498678033594970696564091639516420850411802285172086932156976766901501231579613454611921176650961693530672819802660509991833245287259191131712119796435824768625919796221256044927072061244743932393776234371452155024490452700949590629743740380739739072473812960867347194701355851371520407166869029603629428432412810004527009675685852941532794052270865731603075400766138394282901291001608569207451003535424496320092506377715693420615329845633797400588899004963115447993187135191876403557257212795203238278146807598516309251907389534909616825722164896951039012117454119338180995264705536850389808512066767195886551364044631282684796305503870678758618201169865135297086789265971859410187978089009720584607821939182060652447900238341049407435326755641476305990301242244352072250268713496870786597125705111528446160458118907663539394109694491327553559110559785427339679895375711902448285124500791432029092771135669389237359326292490678053594262620760337426427697208931563969222639289462587884005374226176348588531972745330119798669215549584089888353271559851303048866696994512516676977121785662974909801194560391907747815840616062922300295145457391078344550773282429889198528647052497167560793386611068260259246618184585692264958689372380832920859787819608524924720981773678834351201501509087743157425409930789099421817547174303705552536957226019278032638235936365470219998744948373058379484287204438621476711955637840041914754213966954432571915716684980000776542731299808418931357134564993176352124691375247004254116095431076074471868929797642694731768866329577768211743950555087262894150672630501159491523085548966253297615110402425930040345496082944735783851271012816263853964930252576350186877935759934322588662264234446417737777989690058796028470566021436026025808056392982911844624119019024595186448466047181935890600682906563064880128816434909372493223851588813542374667866629386647895564378670535356211336384712375187859309692947697728602232286345063543863922249556051648357263080312136317952665224736409596795490371699447270062017925824731018566157096765004993661853981704207 7845503960134555195668117347694192660983830979597501015379111979772228710305204701854626111298699507955230423080563229768407386443180648688359582518604357961254756093556208186949621037192070547815643751611028905381572479795414815488233153472767056621033917353282134302022349955017020297066214579884837035167423281075383728867967268528848391423325220295048403108188238737341076573496575147938570782082256106013185193983179992505636833848821671264835553759920532149969367166297577695539294173639971439552874943543715533754270321242348616893509004816661008879693564251490969386440847361800793848789926500513979235701854058950396491450023175218744406254157856774290251474086628511751404591849543901811625041526408496617851123735317721875810947797920007669001757876362765970799672461246993780721640781315108836047854983250136970597988010979218909562362984160157389946927018444872173756594957672275911688981013604018917275459659432856944339660015282796129198510180027816333944566512598511995753273292042380815181584275823180646217984579632784039581110968118894640702811644958631342727042878795055136142478221250805974094037759874580328244492223167900473005731411940336681170876528587616114531970566280847238405040944522001807156223332183781653896379737953087810317326615227747343318581988982516822351683462402125186103150833171253106158280397837593087372957561673258769385231497891151403252170543351766421742789659816281252628421263659536698522438855942301381950295918999455204693510996107118285741589548149330029428494159193500133819476091478929916665804517732788407373988329305094081319325566816171636788061431582236097990642226845218332929852249991429759529532796349899411411770064954886368731897564059169955316927543054054272210871408423157377957862152687294005142454316771760958804894461729959505028431501026573355732883149007964244578158776343939929779767217451264729708214380108894650894900777067428577307394621009913952540777456377647019977966564609946397136793205948864028660548178452550256902152563685990099588858093244752872173229649990046928611645243474162372012636364502217887032740708576452356335698050850092707244293279188704457430230614949246370417747570165369355807931831213202927474438370993893454172031707197663118966264847750060372767902079595643419755772308310523641674511419656164457082477193011478415541954769114469991527473289146608189185627284444961869016787161736612741187164372848160376099170691944952032189421373718492989328807441170882898419699476772932464780620924963077192996157377281560021981472339421900967868808429044752145424043290202852159762372821470004160652073249604992873638392591403378086366706613911895300054380486876395663627049393428981536670488679197749960927993890570935706629605709346547935477592465995760529853108383617077604927728739543560214483647678811990383199066489325032702010335824752317656604929023615072212856014938047792356538636 12694292066369610361126591383751776434618120793396551634628430983921983930843220763240649800684816809581036829167110169423725918141333734711911379682916999015469686040270407375276851089894165713393550432506781549263541401564214540874982741150624289795372349204177218094873748575750633821444198475007109432749644678539229812654440438431954666497553878746875592366315058996193153384303294880919140823812075383360305371501382090645540283250180055170102424767039487577208370843701932838963208676376769957139626035560545556555297764710890626134724358342257029598294098137944007900642504755578945462901436169170603660748741571252265460794183637866880712204372149298826146504625746157347397228006776334241133670048343220700433918225709853684725229185100975035733809351715069979074728501335019356671329577153794731546533016845107667162079650495639759974165269332244322103903785346373405336208412284197088339942707134691737078120169424690189626919206414508248994946004796442253740787768643439067814518035974774591415955727978205136670685529223413783321491707857967114515772512305826044082894250315462303011507824880234406506847764401590003930345164700694525276597143543412081937014922870517405533579135488298241940465440842094313533939025604396983742013535353676709322289730675740530453773865386074079564478665640403332910749349480505013547815307454418809537854512712270886839350836072146667957707393741574933809556855702832616673052546344333004026309534700919583120161054296541993959482855517306263830599268733937851367676219845948034057817140886365243421445994038778708616232681377344350032822437602768762493172960028396556109549890384612442624343577544988870089318223689579306787481967403171493232688996088262726452596932291413598503362086476751640578622490113721702351385880740983598094357049613964879254607849615105328478213268806633460127742866232293201339618520500131426702726896785871772680563751977229771867786528757729793156840378677942165435357642954497170419223095147392675713045346013343643513220823945236717773443785509711561545610482910906716431253768398883353786315198853419388541828451733877766266487150271910254418596984741241414656249892981884606354113040385368100756304889592687214678876992470605409809871749112417332933219280321976089452882080372186151055580727241880776239504596008289148457724197265594510973030843586338921325115983878377055515205052656705819571874424630763413817665532339683461648136945242567142591847303758838485411752176954734169432515740626897395033197275149955128756091699870222286215918757159678957558867225073222711445479316228660216155355733314628279671097844791441339685574527293978769273269678792024116489289859369619515215862935803649403299875327093314339598529246782272091341980897205857628425290194597992816198171927480999854483780387900823294795783996764655607935476086120523073709783094814335582429660042181229309621019931709646338242843 20539796026504165556794708731445969095601951772994052650007542963694212641148425465095275911983516317536267252247673399192133304584514383400270962201521356976724442133826615562226472127086236261209194184117810454645113881359629356363215894623391346416406266557459352396896098530767654118510413054891946467917067959614613541522407706960803057920879099041923995474503297733534229957799870028857711605894331489373490565484562083151177117099001726434937978526960019727177738009999510534502502850016741396692500979104261090309568085953239243028233363158918038477987662389434977287083352117379739311691362669684582896450595630202661952244206813085625118458530006073116397978712374669098801819856320236052758711574751717318285041961027575560536176983020982704735567228077835949874400962582013137392970358468903567594388000095244637760067661474858669536528253492401712050830803791245579092803369956473000028923720738710654353579828857547133966579221697304378193456184824258587685354281241951063567791328017155406597540003801385782888670108856197822902602675976861755218584157264457386809937129110517439153986046131040380600885524276170332174837387868594998282328555483748763107891451458133520065549701769145480345506385364096120690162357788178637638393273306764519639616345903487873772355854368590901916162128042528519013900182651758119706095705292011896910812074385529656224582333963298071209877937093341355552346515519113869301473810003869702548748390643220965070456973295997198652993851624424549572188816883267880796170379039448167877293232365295160087250511771567115990221010682438431352148004418940399281234391610632654100192117229830775554195827536418629618851020039478718199252032358057861964586560147432681769524475345467870714233494899909018536484642801015707493840197512744556899251511343924384283039350641678684211096417814597704705901642576233131119385737951396156410941276894766423575464529044658349175181149767643745697617835055589185413324207564443567556016301096256704373593524465893900415373387631226817362301878754464433718840132900953645042899011873045725798951563355637275574569160310330122602185201122002961662890263929945872086480507931130976771860610550737456564236720805890142153315363464498863981903456310080451899484128072036462220784159967829570811353035552404417914016015664453605540201390277072926514985612700808912852589273024985244700832337101667688588661586367376155004829905187843837747307637187519174781268677477331474740559618125617067852215217399829859813818200113032321752249077151782308197391096581579925427675654117974856869522606431512375917728554784632440323171094396434213323967118697356855639976292703919416543670346246015178842912329232630939970364006291064300526523137353207797971586606552405563902882660593753346051280311098077459411509127444383509279431675576645991134542575445555775720118919566653239034589065796301522477034869757438694781479 33234088092873775917921300115197745530220072566390604284635973947616196571991646228335925712668333127117304081414783568615859222725848118112182341884438355992194128174097022937503323216980401974602744616624592003908655282923843897238198635774015636211778615761636570491769847106518287939954611529899055900666712638153843354176848145392757724418432977788799587840818356729727383342103164909776852429706406872733795936985944173796717400349181781605040403293999507304386108853701443373465711526393511353832127014664806646864865850664129869162957721501175068076281760527378985187725856872958684774592798838855186557199337201454927413038390450952505830662902155371942544483338120826446199047863096570293892381623094938018718960186737429245261406168121957740469376579792905928949129463917032494064299935622698299140921016940352304922147311970498429510693522824646034154734589137618984429011782240670088368866427873402391431699998282237323593498428111812627188402189620700841426142049885390131382309363991929998013495731779590919559355638079611606224094383834828869734356669570283430892831379425979742165493871011274787107733288677760336105182552569289523558925699027160845044906374328650925599128837257443722285971826206190434224101383392575621380406808660441228961906076579228404226129719754664981480640793682931851924649532132263133253911012746430706448666587097800543063933170035444739167585330834916289361903371221946485974526356348202706575057925344140548190618027592539192612476707141730813402788085617205732163846598885396201935110373251660403508696505810345824606453692059782781384970442021709161774407351639029210209742007614443218178539405081407499708169243729058024986733999761229355197275556235695408222121407636881469217595581376660659115107132914737409845226078253728154993608560957889263537647200256784012689309686621231164833644508808526332459004258451527583113668173680638196256028281021888121042967678525373538854458213733531350848681850518940737975239396243649380086638870479237543928594211576463535135745664264175995264450615811860361474152780271929079585266762209056664116397612044207888868672351393913216081487248671187286742730400913015583125973650936105557320541610398577356832192355935104273791775205422497784832703408394012551673666240340015721866933762794285194153520611672742753997925587542667437488016456287147834177705256903362300216037389758373508160536010998139568822495437527527299395444582430086317373115981236169960152311795080351237284730958026727254847015475262987450508340777022004594413309853741258882986542879191197568315001922660172592073084288099260719994268939187875553009541645991335624913245971495943533032960205615634694058775265036280343270239333384378640125052384135479889313567503758263192328172855191746162249452238579077313895289515345206804075215672341301599070018661566078849429902014380988821464249107977530832098054801467085033024322 53773884119377941474716008846643714625822024339384656934643516911310409213140071693431201624651849444653571333662456967807992527310362501512453304085959712968918570307923638499729795344066638235811938800742402458553769164283473253601414530397406982628184882319095922888665945637285942058465024584791002368583780597768456895699255852353560782339312076830723583315321654463261613299903034938634564035600738362107286502470506256947894517448183508039978381820959527031563846863700953907968214376410252750524627993769067737174433936617369112191191084660093106554269422916813962474809208990338424086284161508539769453649932831657589365282597264038130949121432161445058942462050495495545000867719416806346651093197846655337004002147765004805797583151142940445204943807870741878823530426499045631457270294091601866735309017035596942682214973445357099047221776317047746205565392928864563521815152197143088397790148612113045785279827139784457560077649809117005381858374444959429111496331127341194950100692009085404611035735580976702448025746935809429126697059811690624952940826834740817702768508536497181319479917142315167708618812953930668280019940437884521841254254510909608152797825786784445664678539026589202631478211570286554914263741180754259018800081967205748601522422482716277998485574123255883396802921725460370938549714784021252960006718038442603359478661483330199288515503998742810377463267928257644914249886741060355276000166352072409123806315987361513261075000888536391265470558766155362974976902500473612960016977924844369812403605616955563595947017581912940596674702742221212737118446440649561055641743249661864309934124844273993732735232617826129327020263768536743185986032119287217161862116383128089991645882982349339931829076276569677651591775715753117339066275766472711892860072301813647820686550898462696900406104435828869539546151384759463578389996402923739524609450575404619831492810066546470218148828293017284552076048789120536262006058083384305531255697339906084460232394945131444343967599207690352498047543018640428983290748712814006517051792144974805384218325564693939690966772354538011470857552515916177744377512601133158829210908844146559897834261486843013884778331204467498985507719399603137773678661732578236732187536466049013894450400307845292678286798346689612067536627337196359538126977819740364003002068987956747030294529928347544916869726860041196749197597365515723827325342715371137142752219617605492154384658713501434892871413205968305136946175426557114660833675376019772260589854173786902610700950322838808414218533309172425184524529091684967990812842883893160317440033584309766333508764688692480553222264199862949576630551861649872901687594268911283240603339675442940651575521488687687285154110310668756231055515785499508300732549677154773306798642789590313354647347917947590204561237011634625150020933947642060498838173773832354575089671224523727805801 87007972212251717392637308961841460156042096905775261219279490858926605785131717921767127337320182571770875415077240536423851750036210619624635645970398068961112698482020661437233118561047040210414683417366994462462424447207317150839613166171422618839963498080732493380435792743804229998419636114690058269250493235922300249876103997746318506757745054619523171156140011192988996642006199848411416465307145234841082439456450430744611917797365289645018785114959034335949955717402397281433925902803764104356755008433874384039299787281498981354148806161268174630551183444192947662535065863297108860876960347394956010849270033112516778320987714990636779784334316817001486945388616321991199915582513376640543474820941593355722962334502434051058989319264898185674320387663647807772659890416078125521570229714300165876230033975949247604362285415855528557915299141693780360299982066483547950826934437813176766656576485515437216979825422021781153576077920929632570260564065660270537638381012731326332410056001015402624531467360567622007381385015421035350791443646519494687297496405024248595599887962476923484973788153589954816352101631691004385202493007174045400179953538070453197704200115435371263807376284032924917450037776476989138365124573329880399206890627646977563428499061944682224615293877920864877443715408392222863199246916284386213917730784873309808145248581130742352448674034187549545048598763173934276153257963006841250526522700275115698864241331502061451693028481075583877947265907886176377764988117679345123863576810240571747513978868615967104643523392258765203128394802003994122088888462358722830049094888691074519676132458717211911274637699233629035189507497594768172720031880516572359137672618823498213767290619230809149424657653230336766698908630490527184292354020200866886468633259702911358333751155246709589715791057060034373190660193285796037394254854451322638277624256042816087521091088434591261116506818390823406534262522651887110687908602325043506495093583555464546871265424368988272561810784153887633793207282816424247741364524674367991204572416903884969485087773750603807364384398745900339529903909829393825864761272320445571941309757162143023807912422948571205319941603044855817700075334707411565453867155076021564890944860061565568116640647861014545220561140974806221057239009939113536052565362407801491018525275104581207999786831709845132907116618414704909733608363655292649820780242898436538196802047691809527500639949671395045183208286319542421677133453284369507849150639007222768930631195791497024010804064097691400761412500369993499526451751857560063897130983153880311708972772185319343050410680028105466468235695806482609590757477284566960462859305191626510842673059821580776627905624167576598721614068931948559228370977245670550184788256232087202088158134797117429863020259249189274579898577713474579922948328630881963087281751363186673144472691608760830123 140781856331629658867353317808485174781864121245159918153923007770237014998271789615198328961972032016424446748739697504231844277346573121137088950056357781930031268789944299936962913905113678446226622218109396921016193611490790404441027696568829601468148380399828416269101738381090172056884660699481060637834273833690757145575359850099879289097057131450246754471461665656250609941909234787045980500907883596948368941926956687692506435245548797684997166935918561367513802581103351189402140279214016854881383002202942121213733723898868093545339890821361281184820606361006910137344274853635532947161121855934725464499202864770106143603584979028767728905766478262060429407439111817536200783301930182987194568018788248692726964482267438856856572470407838630879264195534389686596190316915123756978840523805902032611539051011546190286577258861212627605137075458741526565865374995348111472642086634956265164446725097628483002259652561806238713653727730046637952118938510619699649134712140072521282510748010100807235567202941544324455407131951230464477488503458210119640238323239765066298368396498974104804453705295905122524970914585621672665222433445058567241434208048980061350502025902219816928485915310622127548928249346763544052628865754084139418006972594852726164950921544660960223100868001176748274246637133852593801748961700305639173924448823315913167623910064460941640964178032930359922511866691431579190403144704067196526526689052347524822670557318863574712768029369611975143417824674041539352741890618152958083880554735084941559917584485571530700590540974171705799803097544225206859207334903008283885690838138352938829610257302991205644009870317059758362209771266131511358706063999803789520999789001951588205413173601580149081253733929800014418290684346243644523358629786673578779328705561516559179020302053709406490121895492888903912736811578045259615784251257375062162887074831447435919013901154981061479265335111408107958610311311772423372693966685709349037750790923461549007103660369500432616529409991844240131840750301456853231032113237488374508256364561878690353703413338444543498331156753283911810387456425745571570242273873453604401152218601308702921642173909791585090098272807512354803207794734310549339132528887654258297078481326110579462567040955706307223507359487664418288593866347135473074179543182148165494020594263061328238294316760057390049776843478455901658931205729171016477146122958269573680949021665297301681885298663172829938054621492287847558623308879841484168682826015026995029520485369578399634711754386936499814979945809542418684050980843542528054709973867047040629149006356495085676559175368720586019690499895669432186221309338934439862150453574102909751446012735264521428203427112855263883875724379600704790283886762745178850917337933386860508886800924387430784510368177196779479141135589348099729943882276272942461925455525195541248234143916132488635924 227789828543881376259990626770326634937906218150935179373202498629163620783403507536965456299292214588195322163816938040655696027382783740761724596026755850891143967271964961374196032466160718656641305635476391383478618058698107555280640862740252220308111878480560909649537531124894402055304296814171118907084767069613057395451463847846197795854802186069769925627601676849239606583915434635457396966215028831789451381383407118437118353042914087330015952050877595703463758298505748470836066182017780959238138010636816505253033511180367074899488696982629455815371789805199857799879340716932641808038082203329681475348472897882622921924572694019404508690100795079061916352827728139527400698884443559627738042839729842048449926816769872907915561789672736816553584583198037494368850207331201882500410753520202198487769084987495437890939544277068156163052374600435306926165357061831659423469021072769441931103301583143920219239477983828019867229805650976270522379502576279970186773093152803847614920804011116209860098670302111946462788516966651499828279947104729614327535819644789314893968284461451028289427493449495077341323016217312677050424926452232612641614161587050514548206226017655188192293291594655052466378287123240533190993990327414019817213863222499703728379420606605642447716161879097613151690352542244816664948208616590025387842179608189222975769158645591683993412852067117909467560465454605513466556402667074037777053211752622640521534798650365636164461057850687559021365090581927715730506878735832303207744131545325513307431563354187497805234064366430471002931492346229200981296223365367006715739933027044013349286389761708417555284508016293387397399278763726279531426095880320361880137461620775086419180464220810958230678391583030351184989592976734171707650983806874445665797338821219470537354053208956116079837686549948938285927471771331055653178506111826384801164699087490252006534992243415652740381841929798931365144573834424310483381875288034392544245884507017013553974925793869420889091220775998127765633957584273277478773477762162742499460936978782575323188501112195147305695541152029812149917360335574965396107035145774049973093528358470845945450086332740156295418214410557210620907870069017960904586396042730279861969426186172145030683681603567321768727920628639224509651105357074586610232108544555966985039119538165909446294103591767235182683960096870606568664814092826309126966903201168010219145823712989111209385938612844224983237829778607389980300442333125853676531976654034217798451116565369896658722558451034191215741358309912412183577432595400088118607104850200920940857979128680405019609586048748691486158735591475914795812066816219006822613312879294536262288685795086102204831332737022840482597338448532653349512257739990849401102126189618947710974959059184548214373388436445968753721034167061574309866830604903824425012737276558727921378616607741249466047 368571684875511035127343944578811809719770339396095097527125506399400635781675297152163785261264246604619768912556635544887540304729356861898813546083113632821175236061909261311158946371274397102867927853585788304494811670188897959721668559309081821776260258880389325918639269505984574112188957513652179544919040903303814541026823697946077084951859317520016680099063342505490216525824669422503377467122912428737820323310363806129624788288462885015013118986796157070977560879609099660238206461231797814119521012839758626466767235079235168444828587803990737000192396166206767937223615570568174755199204059264406939847675762652729065528157673048172237595867273341122345760266839957063601482186373742614932610858518090741176891299037311764772134260080575447432848778732427180965040524246325639479251277326104231099308135999041628177516803138280783768189450059176833492030732057179770896111107707725707095550026680772403221499130545634258580883533381022908474498441086899669835907805292876368897431552021217017095665873243656270918195648917881964305768450562939733967774142884554381192336680960425133093881198745400199866293930802934349715647359897291179883048369636030575898708251919875005120779206905277180015306536470004077243622856081498159235220835817352429893330342151266602670817029880274361425936989676097410466697170316895664561766628431505136143393068710052625634377030100048269390072332146037092656959547371141234303579900804970165344205355969229210877229087220299534164782915255969255083248769353985261291624686280410454867349147839759028505824605340602176802734589890454407840503558268375290601430771165396952178896647064699623199294378333353145759609050029857790890132159880124151401137250622726674624593637822391107311932125512830365603280277322977816231009613593548024445126044382736029716374355262665522569959582042837842198664283349376315268962757369201446964051773918937687925548893398396714219647177041207039323754885146196733856075841973743741581996675430478562561078586163369853505620630767842367897474707885730130709805590999651117007717301540661265676891914450639690804026697905313723960304816761320536966349309019227654374245746959779548867092260242531741385516487218069565424115664803328510243718924930384538159047907512282724493250722559273628992235280116303642798244971704210059684411651726704132479059713801227237684588420351824625232460803575326508227596019821997325604113026159437583900094845378286412891271237276017054921292451270895237538923751212967337845214802669061212827971601934948296293434312837970691030721304119454830867628413438942616173317078717247961570006985485175490696168761417469277505849235487145346982033376155153446684763766453397446013734698530350623633034759849878104366473062828133358139796144502736028252019464123005808219861759983571978998883756613642748232862169756409674039810712881176766886938192801754269169612760523873738101971 596361513419392411387334571349138444657676557547030276900328005028564256565078804689129241560556461192815091076373573585543236332112140602660538142109869483712319203333874222685354978837435115759509233489062179687973429728887005515002309422049334042084372137360950235568176800630878976167493254327823298452003807972916871936478287545792274880806661503589786605726665019354729823109740104057960774433337941260527271704693770924566743141331376972345029071037673752774441319178114848131074272643249578773357659023476575131719800746259602243344317284786620192815564185971406625737102956287500816563237286262594088415196148660535351987452730367067576746285968068420184262113094568096591002181070817302242670653698247932789626818115807184672687696049753312263986433361930464675333890731577527521979662030846306429587077220986537066068456347415348939931241824659612140418196089119011430319580128780495149026653328263916323440738608529462278448113339031999178996877943663179640022680898445680216512352356032333226955764543545768217380984165884533464134048397667669348295309962529343696086304965421876161383308692194895277207616947020247026766072286349523792524662531223081090446914477937530193313072498499932232481684823593244610434616846408912179052434699039852133621709762757872245118533191759371974577627342218342227131645378933485689949608808039694359119162227355644309627789882167166178857632797600642606123515950038215272080633112557592805865740154619594847041690145070987093186148005837896970813755648089817564499368817825735968174780711193946526311058669707032647805666082236683608821799781633742297317170704192440965528183036826408040754578886349646533157008328793584070421558255760444513281274712243501761043774102043202065542610517095860716788269870299711987938660597400422470110923383203955500253728408471621638649797268592786780484591755120707370922141263481027831765216473006427939932083885641812366960029018971005970688899458980621044339457717261778134126242559937495576115053511957239274394711851543840495663108665470003408188579068761813859507178238519443841000080415562834838109722239057343536110222177096895502362456344165001704347339275318250394812542346575271897680934701628626776045023534872346471148305320973114818021017333698454869523934404162840950760963200744942867307896077061284646294643760271260099464098833339393147130882523943591860415144763672197114796260833914823634731079929360605594119240669091275524100657175888861279904530281049502627519224193546093191521746779323095430626422718500318192952156871289004882246462662429367243051205846034342704291924183567448882510864964613855895715778347466217968992007971078621261777845442971372453507377079332691982276023384325436725837866092586900944849070401276666011489308402242726877653121590312624755930836719042756527213257145050088716986583203923471248349677543486080591311950930078312997090991377131614987568018 964933198294903446514678515927950254377446896943125374427453511427964892346754101841293026821820707797434859988930209130430776636841497464559351688192983116533494439395783483996513925208709512862377161342647967992468241399075903474723977981358415863860632396241339561486816070136863550279682211841475477996922848876220686477505111243738351965758520821109803285825728361860220039635564773480464151900460853689265092028004134730696367929619839857360042190024469909845418880057723947791312479104481376587477180036316333758186567981338837411789145872590610929815756582137613393674326571858068991318436490321858495355043824423188081052980888040115748983881835341761306607873361408053654603663257191044857603264556766023530803709414844496437459830309833887711419282140662891856298931255823853161458913308172410660686385356985578694245973150553629723699431274718788973910226821176191201215691236488220856122203354944688726662237739075096537028996872413022087471376384750079309858588703738556585409783908053550244051430416789424488299179814802415428439816848230609082263084105413898077278641646382301294477189890940295477073910877823181376481719646246814972407710900859111666345622729857405198433851705405209412496991360063248687678239702490410338287655534857204563515040104909138847789350221639646336003564331894439637598342549250381354511375436471199495262555296065696935262166912267214448247705129746679698780475497409356506384213013362562971209945510588824057918919232291286627350930921093866225897004417443802825790993504106146423042129859033705554816883275047634824608400672127138016662303339902117587918601475357837917707079683891107663953873264682999678916617378823441861311690415640568664682411962866228435668367739865593172854542642608691082391550147622689804169670210993970494556049427586691529970102763734287161219756850635624622683256038470083686191104020850229278729268246925365627857632779040209081179676196012213010012654344126817778195533559235521875708239235367974138676132098120609127900332482311682863560583373355733538898384659761464976514895540060105106676972330013474528913748936962657260070526993858216039328805653184229358721585022278029943679634606817803639066451188846696341469139199675674981392024245903499356180065241210737594017185126722114579753198480861246510106141048765494705979055411997964231943158547140620384815470944295416485647605567247523623023856853736820960335192955520043178019335514469561936991928413164878334825822732320397865058147944759060529366961581992156643454394320435266489245591184126975573277183966548822073918834259473285320465241262284696844080871950099031386411947108883687246497857206565766608759878819126525900192140845786089428289758082855787349470900852436779049215543464104799369629104546745462905905141054435630564150698479026328506212140901663731465219445373679880922389488256367257358198889122880067266260604137655488725669989 1561294711714295857902013087277088699035123454490155651327781516456529148911832906530422268382377168990249951065303782715974012968953638067219889830302852600245813642729657706681868904046144628621886394831710147680441671127962908989726287403407749905945004533602289797054992870767742526447175466169298776448926656849137558413983398789530626846565182324699589891552393381214949862745304877538424926333798794949792363732697905655263111070951216829705071261062143662619860199235838795922386751747730955360834839059792908889906368727598439655133463157377231122631320768109020019411429528145569807881673776584452583770239973083723433040433618407183325730167803410181490869986455976150245605844328008347100273918255013956320430527530651681110147526359587199975405715502593356531632821987401380683438575339018717090273462577972115760314429497968978663630673099378401114328422910295202631535271365268716005148856683208605050102976347604558815477110211445021266468254328413258949881269602184236801922136264085883471007194960335192705680163980686948892573865245898278430558394067943241773364946611804177455860498583135190754281527824843428403247791932596338764932373432082192756792537207794935391746924203905141644978676183656493298112856548899322517340090233897056697136749867667011092907883413399018310581191674112781864729987928183867044460984244510893854381717523421341244889956794434380627105337927347322304903991447447571778464846125920155777075685665208418904960609377362273720537078926931763196710760065533620390290362321931882391216910570227652081127941944754667472414066754363821625484103121535859885235772179550278883235262720717515704708452151032646212073625707617025931733248671401013177963686675109730196712141841908795238397153159704551799179820017922401792108330808394392964666972810790647030223831172205908799869554119228411403167847793590791057113245284331257110494484719931793567789716664682021448139705214983218980701553803107438822534991276497300009834481795305469714791185610077848402295044333855523359223692038825736947086963728523278836022073778579548947677052745576309367023471176020000796180749170955111541691261997349231063068924297596280338492176953393075536747385890475323117514162734548021452540329566876614174201082574909192463541119530884955530514161681606189377414037125826779352273699172269224331407257380480013531946353468239008346062750330919720737820117687651644595066272884880648772138576183560837461092585589053739614730353013369900492577372138305153720888708361315252074080817038935584682197748055415980455523646628978189316970040105507628024757165445852145726591736914712887282127725456349905215489865177644387870537724262097898353699517925118781410565781467181224075308766945023679994064613865381465381118412948988189783558262644748255320081535198069085033425398046713820182206028577603352170739165799853337949510840052958380263351595514787103713238007 2526227910009199304416691603205038953412570351433281025755235027884494041258587008371715295204197876787684811054233991846404789605795135531779241518495835716779308082125441190678382829254854141484263556174358115672909912527038812464450265384766165769805636929843629358541808940904606076726857678010774254445849505725358244891488510033268978812323703145809393177378121743075169902380869651018889078234259648639057455760702040385959479000571056687065113451086613572465279079293562743713699230852212331948312019096109242648092936708937277066922609029967842052447077350246633413085756100003638799200110266906311079125283797506911514093414506447299074714049638751942797477859817384203900209507585199391957877182811779979851234236945496177547607356669421087686824997643256248387931753243225233844897488647191127750959847934957694454560402648522608387330104374097190088238649731471393832750962601756936861271060038153293776765214086679655352506107083858043353939630713163338259739858305922793387331920172139433715058625377124617193979343795489364321013682094128887512821478173357139850643588258186478750337688474075486231355438702666609779729511578843153737340084332941304423138159937652340590180775909310351057475667543719741985791096251389732855627745768754261260651789972576149940697233635038664646584756006007221502328330477434248398972359680982093349644272819487038180152123706701595075353043057094002003684466944856928284849059139282718748285631175797242962879528609653560347888009848025629422607764482977423216081355826038028814259040429261357635944825219802302297022467426490959642146406461437977473154373654908116800942342404608623368662325415715645890990243086440467793044939087041581842646098637975958632380509581774388411251695802313242881571370165545091596278001019388363459223022238377338560193933935940195961089310969864036025851103832060874743304349305181486389223752966857159195647349443722230529319381410995431990714208147234256600730524835732821885542721030673443853467317708198457530195376816167206222784275412181470485985348388284743812536969318639654054354025075589783895937220112982658056251276164813327581020067650533460421790509319874310282171811560210879175813837079322019458983301934223696433932353812780113530381147816119930057558304657607070110267360162467435887520178174592274058252754584267188563350415927620633916761824412534424831710355898167244360843974541388465555401465840400691950157911698030399398084514002218617949556175745690298357635520083064214250255669943307408717535211359370851171443339239542956028800830595527011390888874364980913345222406708136842570672608864811918668539672565233592461987722384210154479297603081224424253891658770904870838855539550037011424779667797460459043280157329486264750747517495733652689463403699183885884232233677095413539637538948377551647425473951283233093128654056220595307709729175838447529612199652442592438907996 4087522621723495162318704690482127652447693805923436677083016544341023190170419914902137563586575045777934762119537774562378802574748773598999131348798688317025121724855098897360251733300998770106149951006068263353351583655001721454176552788173915675750641463445919155596801811672348603174033144180073030894776162574495803305471908822799605658888885470508983068930515124290119765126174528557314004568058443588849819493399946041222590071522273516770184712148757235085139278529401539636085982599943287309146858155902151537999305436535716722056072187345073175078398118355653432497185628149208607081784043490763662895523770590634947133848124854482400444217442162124288347846273360354145815351913207739058151101066793936171664764476147858657754883029008287662230713145849604919564575230626614528336063986209844841233310512929810214874832146491587050960777473475591202567072641766596464286233967025652866419916721361898826868190434284214167983217295303064620407885041576597209621127908107030189254056436225317186065820337459809899659507776176313213587547340027165943379872241300381624008534869990656206198187057210676985636966527510038182977303511439492502272457765023497179930697145447275981927700113215492702454343727376235283903952800289055372967836002651317957788539840243161033605117048437682957165947680120003367058318405618115443433343925492987204025990342908379425042080501135975702458380984441324308588458392304500063313905265202874525361316841005661867840137987015834068425088774957392619318524548511043606371718147969911205475950999489009717072767164556969769436534180854781267630509582973837358390145834458395684177605125326139073370777566748292103063868794057493724778187758442595020609785313085688829092651423683183649648848962017794680751190183467493388386331827782756423889995049167985590417765108146104760958865089092447429018951625651665800417594589512743499718237686788952763437066108404251977459086625978650971415761950341695423265516112230121895377202825978913568258503318276305932490421150022729582007967451007207433072312116808022648559043097219203002031077821166093262960691289002658852432025335768439122711329647882691484859433617470590620663988513603954712561222969797342576497464668771717886472683379656727704582230391029122521099424188492025640781521844073625264934215300419053410526453756536412894757673308100647448708177880773433177773106229086965098664092229040110150467738725281340722296487881591236859177099591272357564286528759060198850212892221369367971144378304622660791616028398306435853641087294958936484324477224505200707858914470488541369979572153988988297264345779524805950667398021583497677477587561854542349835327343322322607591176696023652249421321017218235500088434742484139037344771194867730131865930444721842473021666343932141204313768875164498573062936995091371829631502528886585263867819856073933257220569228796827792963795167229696152146003 6613750531732694466735396293687166605860264157356717702838251572225517231429006923273852858790772922565619573173771766408783592180543909130778372867294524033804429806980540088038634562555852911590413507180426379026261496182040533918626818172940081445556278393289548514138610752576954679900890822190847285340625668299854048196960418856068584471212588616318376246308636867365289667507044179576203082802318092227907275254101986427182069072093330203835298163235370807550418357822964283349785213452155619257458877252011394186092242145472993788978681217312915227525475468602286845582941728152847406281894310397074742020807568097546461227262631301781475158267080914067085825706090744558046024859498407131016028283878573916022899001421644036205362239698429375349055710789105853307496328473851848373233552633400972592193158447887504669435234795014195438290881847572781290805722373237990297037196568782589727690976759515192603633404520963869520489324379161107974347515754739935469360986214029823576585976608364750901124445714584427093638851571665677534601229434156053456201350414657521474652123128177134956535875531286163216992405230176647962706815090282646239612542097964801603068857083099616572108476022525843759930011271095977269695049051678788228595581771405579218440329812819310974302350683476347603750703686127224869386648883052363842405703606475080553670263162395417605194204207837570777811424041535326312272925337161428348162964404485593273646948016802904830719666596669394416313098622983022041926289031488466822453073974007940019734991428750367353017592384359272066459001607345740909776916044411814831544519489366512485119947529934762442033102982463937994054111880497961517823126845484176863255883951061647461473161005457572060900544764331037562322560349012584984664332847171119883113017287545324150611699044086300722048176058956483454870055457712540543721943894694229888941990653646111959084415552126482506778468036974082962129970097575952023996040947962943780919923856652357421725821026474763462685797966189935804792242863188677919057660505092766461096012415858857056385102896755877158897911401985316908683301500581766703731397298416151906649942937344900902835800073814833888375060049119362035480766602995414320405037192436841234963378207149052578657728846099095751048882006541061152454393475011327468779208340803601458108089235721281365470002293307858009483462127254209459508066770428575705869204565682032672454399579621636257261613593490975513842704504750497207848412304433582221400048247930069509151239757677287025084426534501892513125307820032212098747788835469454715201978862125830867936954644336724619207070586817090139465309946064696829132930424546746861482835466928523088276860567255246924868102539944598080624928524353994882613447940455495162485070043116027088546002552259912112700475943468923477056976480169818356996473912294528564930298404635275322575994819672288591053999 10701273153456189629054100984169294258307957963280154379921268116566540421599426838175990422377347968343554335293309540971162394755292682729777504216093212350829551531835638985398886295856851681696563458186494642379613079837042255372803370961113997121306919856735467669735412564249303283074923966370920316235401830874349851502432327678868190130101474086827359315239151991655409432633218708133517087370376535816757094747501932468404659143615603720605482875384128042635557636352365822985871196052098906566605735407913545724091547582008710511034753404657988402603873586957940278080127356302056013363678353887838404916331338688181408361110756156263875602484523076191374173552364104912191840211411614870074179384945367852194563765897791894863117122727437663011286423934955458227060903704478462901569616619610817433426468960817314884310066941505782489251659321048372493372795015004586761323430535808242594110893480877091430501594955248083688472541674464172594755400796316532678982114122136853765840033044590068087190266052044236993298359347841990748188776774183219399581222655957903098660657998167791162734062588496840202629371757686686145684118601722138741884999862988298782999554228546892554036176135741336462384354998472212553599001851967843601563417774056897176228869653062472007907467731914030560916651366247228236444967288670479285839047531968067757696253505303797030236284708973546480269805025976650620861383729465928411476869669688467799008264857808566698559804583685228484738187397940414661244813579999510428824792121977851225210942428239377070090359548916241835895535788200522177407425627385652189934665323824908169297552655260901515403880549212230097117980674555455242601314603926771883865669264147336290565812429140755710549393726348832243073750532480078373050664674953876307003012336713309741029464152232405483007041148048930883889007083364206344139538484206973388660228340435064722521481660530734484237554662952733933545732047917647447261557060193065676297126682631270989984324344751069395176219116212665386800210314195885352129972621900789109655055513078060058416180717921970421858602690987975761115326836350205826442726946298843391509376554815491523499788587418788600936283018916704611978231271767132206877720572093568939545608598178175099757153034591121391830403850614686417388608775430380879305662097340014352865762543821928814178180174081291187256568356341174558172158999468685856336943290963373394750887461212873116438713184763333078129233263810696058061304525802950192544426552552730300767268155983722878725513829460828997449785044537412806606703305957996085181551016114819165201300423861530569874468608400587816942897507919239178968257767869069469074012162952175337698181584473482424956537282428737117969699719221725014479378385177337635506736387048168292859771427424410685763412938560295306688479009056403620864293768368461822150867633432103115539789986901984743200002 17315023685188884095789497277856460864168222120636872082759519688792057653028433761449843281168120890909173908467081307379945986935836591860555877083387736384633981338816179073437520858412704593286976965366921021405874576019082789291430189134054078566863198250025016183874023316826257962975814788561767601576027499174203899699392746534936774601314062703145735561547788859020699100140262887709720170172694628044664370001603918895586728215708933924440781038619498850185975994175330106335656409504254525824064612659924939910183789727481704300013434621970903630129349055560227123663069084454903419645572664284913146937138906785727869588373387458045350760751603990258459999258454849470237865070910022001090207668823941768217462767319435931068479362425867038360342134724061311534557232178330311274803169253011790025619627408704819553745301736519977927542541168621153784178517388242577058360627104590832321801870240392284034134999476211953208961866053625280569102916551056468148343100336166677342426009652954818988314711766628664086937210919507668282790006208339272855782573070615424573312781126344926119269938119783003419621776987863334108390933692004784981497541960953100386068411311646509126144652158267180222314366269568189823294050903646631830158999545462476394669199465881782982209818415390378164667355052374453105831616171722843128244751138443148311366516667699214635430488916811117258081229067511976933134309066627356759639834074174061072655212874611471529279471180354622901051286020923436703171102611487977251277866095985791244945933856989744423107951933275513902354537395546263087184341671797467021479184813191420654417500185195663957436983531676168091172092555053416760424441449410948747121553215208983752038973434598327771449938490679869805396310881492663357714997522124996190116029624258633891641163196318706205055217207005414338759062541076746887861482378901203277602218994081176681605897212657216991016022699926816895675702145493599471257598008156009457217050539283628411710145371225832857862017082402601191592453177384563271187633126993555570751067928936917114801283614677847580756514092973292669798628336931972530174124244714995298159319492160392426335588661233622489311343068036066647458997874762546527282757764530410174508986805327227678414881880690217142879285857155747569843002250441708348084870438143615810973851779543210179648182467389149196740030483595384017680225769897261562206147856645406067205287040834509373700326778254308591971937768561193265909716830236532413944474800482799809918507913661009903809940363962721510575092864569624905354492141427450800383529878240650033138255068198255189081539195217677956408207453983936008101188192415816330556847629880698425975042151728729349824639822373335198594628243575719897092826325632832797991806430164195381405773979684322798463888882029218783745455489226221977860767680662990387081166038067378438115784806574273334254001 28016296838645073724843598262025755122476180083917026462680787805358598074627860599625833703545468859252728243760390848351108381691129274590333381299480948735463532870651818058836407154269556274983540423553415663785487655856125044664233560095168075688170118106760483853609435881075561246050738754932687917811429330048553751201825074213804964731415536789973094876786940850676108532773481595843237257543071163861421464749105851363991387359324537645046263914003626892821533630527695929321527605556353432390670348067838485634275337309490414811048188026628892032733222642518167401743196440756959433009251018172751551853470245473909277949484143614309226363236127066449834172810818954382429705282321636871164387053769309620412026533217227825931596485153304701371628558659016769761618135882808774176372785872622607459046096369522134438055368678025760416794200489669526277551312403247163819684057640399074915912763721269375464636594431460036897434407728089453163858317347373000827325214458303531108266042697544887075504977818672901080235570267349659030978782982522492255363795726573327671973439124512717282004000708279843622251148745550020254075052293726923723382541823941399169067965540193401680180828294008516684698721268040402376893052755614475431722417319519373570898069118944254990117286147304408725584006418621681342276583460393322414083798670411216069062770173003011665666773625784663738351034093488627553995692796093285171116703743862528871663477732420038227839275764039851385789473418863851364415916191487487680102658217963642470156876285229121493198311482191755738250073183746785264591767299183119211413850137016328823715052840456565472840864080888398188290073229608872003025756053337720630987222479356320042604785863739083481999332217028702048470061413972741730765662197078872497119041960971943632670627348551111688062258355054345222648069624440953232001020863108176666262447334516241404127378873187951475253577362879550829221434193411246918519155068349075133514177221914899401694469715976902253038236198615266578392663491580448623317605748894344680406123442014977173217464332599818002615116783961268430913955173282178356616851191013838689668696046975883949835377248652411090247626086952771259437229146529678734160478336623979114054595403505402778172034915281338534709689707770433987231611025872089227390532535483630163839614323365138993826362641470440383996598839936558575852384769365947418543091147608779461956174502047382490139039963017641670101171032371889323971021356039482606488901353035530110685776069644732782535454193423550508024877909107037711961195447385446885565080894355469198339555492059785758956007803618265773351104961903175187069445960284885799630859792832873763673223736202211774781177104802072316564327962797444911572204710810170433498542817212363674265545407108733484227301820589514090433934498282625598725061449031452209232033671499481553655574793476258077454003 45331320523833957820633095539882215986644402204553898545440307494150655727656294361075676984713589750161902152227472155731054368626965866450889258382868685120097514209467997132273928012682260868270517388920336685191362231875207833955663749229222154255033316356785500037483459197901819209026553543494455519387456829222757650901217820748741739332729599493118830438334729709696807632913744483552957427715765791906085834750709770259578115575033471569487044952623125743007509624703026035657184015060607958214734960727763425544459127036972119111061622648599795662862571698078394525406265525211862852654823682457664698790609152259637147537857531072354577123987731056708294172069273803852667570353231658872254594722593251388629489300536663757000075847579171739731970693383078081296175368061139085451175955125634397484665723778226953991800670414545738344336741658290680061729829791489740878044684744989907237714633961661659498771593907671990106396273781714733732961233898429468975668314794470208450692052350499706063819689585301565167172781186857327313768789190861765111146368797188752245286220250857643401273938828062847041872925733413354362465985985731708704880083784894499555136376851839910806325480452275696907013087537608592200187103659261107261881416864981849965567268584826037972327104562694786890251361470996134448108199632116165542328549808854364380429286840702226301097262542595780996432263161000604487130001862720641930756537818036589944318690607031509757118746944394474286840759439787288067587018802975464931380524313949433715102810142218865916306263415467269640604610579293048351776108970980586232893034950207749478132553025652229430277847612564566279462165784662288763450197502748669378108775694565303794643759298337411253449270707708571853866372295465405088480659719203868687235071585230577524311790544869817893117475562059759561407132165517700119862503242009379943864666328597418085733276085845168466269600062806367724897136338904846389776753076505084590731227761198527813404615087202735110900253281017867769985116668965011894505238875887900251157191370951894288018747947277665583371630876934561100712583510214150886790975435728833987828015539136276376170965909886033579558969154988837906896227021292225261443236101154389288563582208832630456586916795971555677588975564926181557074613276313797575475402973627245974813466102908349173474545108859589580736629323531942593532610539263208980749239004254185529161461542881891863839366741271950262073108800933082589880738186276015020433376153518329920604283983305742686345394557386272018599970773676662617315687588812897685948610772596119231477810560258040948037546998835943729759312415887111195170634152700702130187707422713572189648265887930941124605816927175407515158956206373164808665031036443003231490349247376559055671319386793056282691190702618732874179389987508847576585829129694442596313199709566859991771359600050531411708004 73347617362479031545476693801907971109120582288470925008121095299509253802284154960701510688259058609414630395987863004082162750318095141041222639682349633855561047080119815191110335166951817143254057812473752348976849887731332878619897309324390229943203434463545983891092895078977380455077292298427143437198886159271311402103042894962546704064145136283091925315121670560372916165687226079396194685258836955767507299499815621623569502934358009214533308866626752635829043255230721964978711620616961390605405308795601911178734464346462533922109810675228687695595794340596561927149461965968822285664074700630416250644079397733546425487341674686663803487223858123158128344880092758235097275635553295743418981776362561009041515833753891582931672332732476441103599252042094851057793503943947859627548740998257004943711820147749088429856039092571498761130942147960206339281142194736904697728742385388982153627397682931034963408188339132027003830681509804186896819551245802469802993529252773739558958095048044593139324667403974466247408351454206986344747572173384257366510164523762079917259659375370360683277939536342690664124074478963374616541038279458632428262625608835898724204342392033312486506308746284213591711808805648994577080156414875582693603834184501223536465337703770292962444390709999195615835367889617815790384783092509487956412348479265580449492057013705237966764036168380444734783297254489232041125694658813927101873241561899118815982168339451547984958022708434325672630232858651139432002934994462952611483182531913076185259686427447987409504574897659025378854683763039833616367876270163705444306885087224078301847605866108794903118711693452964467752239014271160766475953556086390009095998173921623837248545162076494735448602924737273902336433709438146819246321916282741184354113546202521156982417893420929581179733917114104784055201789958653351863524105117556610127113663113659489860654959033119941523177425685918554118570532316093308295908144854159724245404983113427215099084803179637363938489479633134348377780160545460517822844624782244931563314812966871461236212279877483585986747660895829531626538683496329243407826626742672677496711586112160326006343158538444669806595241941609166333456167821903995603714437778368402618177612338033234758951711252894212298665272696615544306224302185886802865935509110876138653080426273488167300907750330029964733228163468501169384995308629156399292330151862964991117636044929274353978406704289591932174279833304971913851759542315497626922277506553860031290060052950475468880848750809822526624848682783700329276883036198344571513691666951588429817366052317826706993554802454209503110417377790286382240080112985587929818567215546445953321489624133152899386994031977479831723284169170609720237235747253173664988892064588922729936864793901789766918492523208246964613324485791473175310890578725894805545233381066341545426934393526789489162007 118678937886312989366109789341790187095764984493024823553561402793659909529940449321777187672972648359576532548215335159813217118945061007492111898065218318975658561289587812323384263179634078011524575201394089034168212119606540712575561058553612384198236750820331483928576354276879199664103845841921598956586342988494069053004260715711288443396874735776210755753456400270069723798600970562949152112974602747673593134250525391883147618509391480784020353819249878378836552879933748000635895635677569348820140269523365336723193591383434653033171433323828483358458366038674956452555727491180685138318898383088080949434688549993183573025199205759018380611211589179866422516949366562087764845988784954615673576498955812397671005134290555339931748180311648180835569945425172932353968872005086945078724696123891402428377543925976042421656709507117237105467683806250886401010971986226645575773427130378889391342031644592694462179782246804017110226955291518920629780785144231938778661844047243948009650147398544299203144356989276031414581132641064313658516361364246022477656533320950832162545879626228004084551878364405537705997000212376728979007024265190341133142709393730398279340719243873223292831789198559910498724896343257586777267260074136689955485251049483073502032606288596330934771495272693982506086729360613950238492982724625653498740898288119944829921343854407464267861298710976225731215560415489836528255696521534569032629779379935708760300858946483057742076769652828799959470992298438427499589953797438417542863706845862509900362496569666853325810838313126295019459294342332881968143985241144291677199920037431827779980158891761024333396559306017530747214404798933449529926151058835059387204773868486927631892304460413905988897873632445845756202806004903551907726981635486609871589185131433098681294208438290747474297209479173864345462333955476353471726027347126936553991779991711077575593931044878288407792777488492286279015706871220939698072661221359244314976632744311955028503699890382372474838742760651002118362896829510472412328083500670145182720506183918765749254960227155149169358378537830390632339122193710480130198802062471506665324727125248436702177309068424478249365564396930447073229683189114129257046950538932757691181759821170663691345868507224449889887640837622797101380837578499684378341338482738122113466546529181837340775452859189619545469857487000443762917605847892365380041569156117150520279097587811166217817773445561542194247388634238054503732497728591512647355653660072189951894344036256218155226243308196094545224819456460362946592570625011242257462302439547707661295176612575867655031101801290153232869729793677397577410714265686290060006274638260018142969755512064094023992810959152887346882240375543774528902266783696176896479241311965481785608184180694846049609683225826979838792714473300320751896719708420337401858433090633201537198293993577320900870011 192026555248792020911586483143698158204885566781495748561682498093169163332224604282478698361231706968991162944203198163895379869263156148533334537747567952831219608369707627514494598346585895154778633013867841383145062007337873591195458367878002614141440185283877467819669249355856580119181138140348742393785229147765380455107303610673835147461019872059302681068578070830442639964288196642345346798233439703441100433750341013506717121443749489998553662685876631014665596135164469965614607256294530739425545578318967247901928055729897186955281243999057171054054160379271518379705189457149507423982973083718497200078767947726729998512540880445682184098435447303024550861829459320322862121624338250359092558275318373406712520968044446922863420513044124621939169197467267783411762375949034804706273437122148407372089364073725130851512748599688735866598625954211092740292114180963550273502169515767871544969429327523729425587970585936044114057636801323107526600336390034408581655373300017687568608242446588892342469024393250497661989484095271300003263933537630279844166697844712912079805539001598364767829817900748228370121074691340103595548062544648973561405335002566297003545061635906535779338097944844124090436705148906581354347416489012272649089085233984297038497943992366623897215885982693178121922097250231766028877765817135141455153246767385525279413400868112702234625334879356670465998857669979068569381391180348496134503020941834827576283027285934605727034792361263125632101225157089566931592888791901370154346889377775586085622182997114840735315413210785320398313978105372715584511861511307997121506805124655906081827764757869819236515270999470495214966643813204610296402104614921449396300772042408551469140849622490400724346476557183119658539239714341698726973303551769351055943298677635619838276626331711677055476943396287969129517535745435006823589551452244493164118893654824737065454586003911408349315954914178204833134277403537033006368569366213404039222037727425382243602784693562009838777232240284136466740676990055932930150928125452390114283820996885637210491172507032632755345126198726220163965660877206809373606628689214179342821438711360597028183652226962922919172159638872056239563139356936033252650664976711126093799937433508696926104820218477344102186306110319412645687061880685571181207273991848998252119626955455325508076360609519649510203085650468944932302601156521521779333899307980115511396733632740440571796180149851134126421668467543026417584257270907010274277931166626049983184404089206693624107092059005917071849668139244063275869453661209586828975994106499296091112542664893694362024656603744362735980147171467683959650794378671877989824841853806464096291245136197246923379804991130367178605524544714384249139502530949350561468133376554404515545048974596635816528175749035226803406038959091793927207610287146232207403666471699543082625228387104110390032018 310705493135105010277696272485488345300650551274520572115243900886829072862165053604255886034204355328567695492418533323708596988208217156025446435812786271806878169659295439837878861526219973166303208215261930417313274126944414303771019426431614998339676936104208951748245603632735779783284983982270341350371572136259449508111564326385123590857894607835513436822034471100512363762889167205294498911208042451114693568000866405389864739953140970782574016505126509393502149015098217966250502891972100088245685847842332584625121647113331839988452677322885654412512526417946474832260916948330192562301871466806578149513456497719913571537740086204700564709647036482890973378778825882410626967613123204974766134774274185804383526102335002262795168693355772802774739142892440715765731247954121749784998133246039809800466907999701173273169458106805972972066309760461979141303086167190195849275596646146760936311460972116423887767752832740061224284592092842028156381121534266347360317217347261635578258389845133191545613381382526529076570616736335613661780294901876302321823231165663744242351418627826368852381696265153766076118074903716832574555086809839314694548044396296695282885780879779759072169887143404034589161601492164168131614676563148962604574336283467370540530550280962954831987381255387160628008826610845716267370748541760794953894145055505470109334744722520166502486633590332896197214418085468905097637087701883065167132800321770536336583886232417663469111562014091925591572217455527994431182842589339787697210596223638095985984679566781694061126251523911615417773272447705597552655846752452288798706725162087733861807923649630843569911830305488025962181048612138059826328255673756508783505545910895479101033154082904306713244350189628965414742045719245250634700285187255960927532483809068718519570834770002424529774152875461833474979869700911360295315578799371429718110673646535814641048517048789696757108732402670491112149984274757972704441230587572648354198670471737337272106484583944382313615975000935138585103573819566405342479011626122535297004327180804402959746132734187781924703504736556610796304783070917289503805430751685686008146165836609033730360961295387401168537724035802503312792822546050162509697615515643883784981697254679360617450688725701793992073946947942209747067899459185255559548612474587120365586173484637162848851813468709269055672943137469388695220207004413887159375468464097266031675831220551606789613953595412676320669057101781080921316754999498522921633584826698239935078748125462911779333335367202011617074487595704426222462024286220829086438296546047003752407719277469562017055758405034515968849876965145081537061508644358168049831116492066482239261000648261340947372615950283254525487764920258158778041769314645527457947374688519886301153233155291481866137858974862206642198753432392114679104329995566569609262099562332744619823522380681431290902029 502732048383897031189282755629186503505536118056016320676926398979998236194389657886734584395436062297558858436621731487603976857471373304558780973560354224638097778029003067352373459872805868321081841229129771800458336134282287894966477794309617612481117121388086419567914852988592359902466122122619083744156801284024829963218867937058958738318914479894816117890612541930955003727177363847639845709441482154555794001751207418896581861396890460781127679191003140408167745150262687931865110148266630827671231426161299832527049702843229026943733921321942825466566686797217993211966106405479699986284844550525075349592224445446643570050280966650382748808082483785915524240608285202733489089237461455333858693049592559211096047070379449185658589206399897424713908340359708499177493623903156554491271570368188217172556272073426304124682206706494708838664935714673071881595200348153746122777766161914632481280890299640153313355723418676105338342228894165135682981457924300755941972590647279323146866632291722083888082405775777026738560100831606913665044228439506582165989929010376656322156957629424733620211514165901994446239149595056936170103149354488288255953379398862992286430842515686294851507985088248158679598306641070749485962093052161235253663421517451667579028494273329578729203267238080338749930923861077482296248514358895936409047391822890995388748145590632868737111968469689566663213275755447973667018478882231561301635821263605363912866913518352269196146354375355051223673442612617561362775731381241157851557485601413682071606862563896534796441664734696935816087250553078313137167708263760285920213530286743639943635688407500662806427101304958521177147692425342670122730360288677958179806317953304030570174003705394707437590826746812085073281285433586949361673588739025311983475782486704338357847461101714101585251096271749802604497405446346367118905130251615922882229567301360551706503103052701105106424687316848695945284261678295005710809799953786052393420708199162719515709269277506392152393207241219275051844250809622338272629939751574925411288148177690040170237305241220414680048630935282830960270443948124098877412059440899865350967604547969630758544613522350324087709883674674559552355961902986195762348280492355009878781634688188057543555508944179138094260253058261622392754961339870826740755886466436118617705800440092488356928174078228918565876028787938333627522808160935408938709367772077381543072564853292047361410133745263810447090725569324107338901012270405533195911515993324289918263152214669605403440427426207928688924155734948489498331477947430415915414290652546299843520261942363256379080415008778878704830024136612765496712303023030046039655958345872946335552245784458587870752420941413621704093289464972543027181271845594878019415508065074290816698282129888117682666034723897433445604792391483908606311940282712801816665766034032287702448750767785541680934047 813437541519002041466979028114674848806186669330536892792170299866827309056554711490990470429640417626126553929040264811312573845679590460584227409373140496444975947688298507190252321399025841487385049444391702217771610261226702198737497220741232610820794057492295371316160456621328139685751106104889425094528373420284279471330432263444082329176809087730329554712647013031467367490066531052934344620649524605670487569752073824286446601350031431563701695696129649801669894165360905898115613040238730915916917274003632417152171349956560866932186598644828479879079213215164468044227023353809892548586716017331653499105680943166557141588021052855083313517729520268806497619387111085144116056850584660308624827823866745015479573172714451448453757899755670227488647483252149214943224871857278304276269703614228026973023180073127477397851664813300681810731245475135051022898286515343941972053362808061393417592351271756577201123476251416166562626820987007163839362579458567103302289807994540958725125022136855275433695787158303555815130717567942527326824523341382884487813160176040400564508376257251102472593210431055760522357224498773768744658236164327602950501423795159687569316623395466053923677872231652193268759908133234917617576769615310197858237757800919038119559044554292533561190648493467499377939750471923198563619262900656731362941536878396465498082890313153035239598602060022462860427693840916878764655566584114626468768621585375900249450799750769932665257916389446976815245660068145555793958573970580945548768081825051778057591542130678228857567916258608551233860523000783910689823555016212574718920255448831373805443612057131506376338931610446547139328741037480729949058615962434466963311863864199509671207157788299014150835176936441050488023331152832199996373873926281272911008266295773056877418295871716526115025249147211636079477275147257727414220709050987352600340240947896366347551620101490801863533419719519187057434245953052978415251030541358700747619378670900056787815753861450774466009182242154413636947824629188743615108951377697460708292475358494443129983437975408196604752135671839441756575227019041388381217490192585551359113770384578664488905574817737725256247607710477062865148784449036358272045896007998893663763331942867418161006197669880932086334200006203832139822860799056082300304498941023238983291973924729651205779987546938187621548971925407722322743015165349296098084836236174647574748396073843654151024087340676486767759782671105188260217767269904056117545100820022529853341900340132517182773762793409940305998643330652915720793502233651245001852587198593303595927981219832818396136173413813394673679901101757847033773811667388214089487074837939428574813246432719928818125036891696876229581054385230701805223041160240405477362882753594177117851515285179599548803893698759640087803545823876023285416270278279371425927865596365032322272273148466972971836076 1316169589902899072656261783743861352311722787386553213469096698846825545250944369377725054825076479923685412365661996298916550703150963765143008382933494721083073725717301574542625781271831709808466890673521474018229946395508990093703975015050850223301911178880381790884075309609920499588217228227508508838685174704309109434549300200503041067495723567625145672603259554962422371217243894900574190330091006760226281571503281243183028462746921892344829374887132790209837639315623593829980723188505361743588148700164932249679221052799789893875920519966771305345645900012382461256193129759289592534871560567856728848697905388613200711638302019505466062325812004054722021859995396287877605146088046115642483520873459304226575620243093900634112347106155567652202555823611857714120718495760434858767541273982416244145579452146553781522533871519795390649396181189808122904493486863497688094831128969976025898873241571396730514479199670092271900969049881172299522344037382867859244262398641820281871991654428577359321778192934080582553690818399549440991868751780889466653803089186417056886665333886675836092804724596957754968596374093830704914761385518815891206454803194022679855747465911152348775185857319900351948358214774305667103538862667471433111901179318370705698587538827622112290393915731547838127870674333000680859867777259552667771988928701287460886831035903785903976710570529712029523640969596364852431674045466346187770404442848981264162317713269122201861404270764802028038919102680763117156734305351822103400325567426465460129198404694574763654009580993305487049947773553862223826991263279972860639133785735575013749079300464632169182766032915405068316476433462823400071788976251112425143118181817503540241381161493693721588426003683253135561304616586419149358047462665306584894484048782477395235265756973430627700276345418961438683974680593604094533125839302603275482569808249256918054054723154191906969958107036367883002718507631347984126060830495144753141040086870062776303525023138957166618402389483373688688792075438811081887738891129272386119580623536184483300220743216628611284800766607122272716845670967165487258629549633485416710081374932548295247450188340088049343957491385151622417504746352022554034394176500353903542544966631055475704561706614060070180594453064465454532577822138926909041060385407459357600997774364822139562708161625167106187425000713346055950265823326284705036794204008252029117820960927135701512434221085940297214850508240429295599118779540309589313456616813346819771605052554802122586214190219617868994922799065601405219124980181081660917266877851139603439448243162196074775216588422592273378509925238370612530486114690418260129143033183812374910365492217178516688877457833110497933674343850203244832404313005835283496778390818668467934549797415067717231469928422657073533408338215359931891728210560992173242593631630397320024721023916252514652770123 2129607131421901114123240811858536201117909456717090106261266998713652854307499080868715525254716897549811966294702261110229124548830554225727235792306635217528049673405600081732878102670857551295851940117913176236001556656735692292441472235792082834122705236372677162200235766231248639273968334332397933933213548124593388905879732463947123396672532655355475227315906567993889738707310425953508534950740531365896769141255355067469475064096953323908531070583262440011507533480984499728096336228744092659505065974168564666831392402756350760808107118611599785224725113227546929300420153113099485083458276585188382347803586331779757853226323072360549375843541524323528519479382507373021721202938630775951108348697326049242055193415808352082566105005911237879691203306864006929063943367617713163043810977596644271118602632219681258920385536333096072460127426664943173927391773378841630066884491778037419316465592843153307715602675921508438463595870868179463361706616841434962546552206636361240597116676565432634755473980092384138368821535967491968318693275122272351141616249362457457451173710143926938565397935028013515490953598592604473659419621683143494156956226989182367425064089306618402698863729551552545217118122907540584721115632282781630970138937119289743818146583381914645851584564225015337505810424804923879423487040160209399134930465579683926384913926216938939216309172589734492384068663437281731196329612050460814239173064434357164411768513019892134526662187154249004854164762748908672950692879322403048949093649251517238186789946825252992511577497251914038283808296554646134516814818296185435358054041184406387554522912521763675559104964525851615455805174500304130020847592213546892106430045681703049912588319281992735739261180619694186049327947739251349354421336591587857805492315078250452112684052845147153815301594566173074763451955740861821947346548353590628082910049197153284401606343255682708833491526755887070060152753584400962541311861036503453888659465540962833091340777000407941084411571725528102325739900067999825502847842506969846827873098894678926430204181192036807889552902278961714473420897986206875639847039826070968069195145317126959736355763157825774600205099095628685282653530801058912306440072508352797206308298573922893865567904283941002266928653070669286672400682937982991341364884348482596584289748289551790768488149172105293808973972638753778273008838491634001134879040244426676692569357000979355663458308426616783982610290911534483859336546810213645431001717633369349624946952894934639768987953013027809300921442396254320939918482414732905919119465049732907035376224382028893171352761836405668052189826340128459564259926357806474218630108021751803485178738649898445507002494724807374163255398235433946637627354166075688974141273572262645052401312700247316780273822121416713621211884039235955177144480839271544668521497226762352346993297064719487624606199 3445776721324800186779502595602397553429632244103643319730363697560478399558443450246440580079793377473497378660364257409145675251981517990870244175240129938611123399122901656275503883942689261104318830791434650254231503052244682386145447250842933057424616415253058953084311075841169138862185562559906442771898722828902498340429032664450164464168256222980620899919166122956312109924554320854082725280831538126123050712758636310652503526843875216253360445470395230221345172796608093558077059417249454403093214674333496916510613455556140654684027638578371090570371013239929390556613282872389077618329837153045111196501491720392958564864625091866015438169353528378250541339377903660899326349026676891593591869570785353468630813658902252716678452112066805531893759130475864643184661863378148021811352251579060515264182084366235040442919407852891463109523607854751296831885260242339318161715620748013445215338834414550038230081875591600710364564920749351762884050654224302821790814605278181522469108330994009994077252173026464720922512354367041409310562026903161817795419338548874514337839044030602774658202659624971270459549972686435178574181007201959385363411030183205047280811555217770751474049586871452897165476337681846251824654494950253064082040116437660449516734122209536758141978479956563175633681099137924560283354817419762066906919394280971387271744962120724843193019743119446521907709633033646583628003657516807002009577507283338428574086226289014336388066457919051032893083865429671790107427184674225152349419216677982698315988351519827756165587078245219525333756070108508358343806081576158295997187826919981401303602212986395844741870997441256683772281607963127530092636568464659317249548227499206590153969480775686457327687184302947321610632564325670498712468799256894442699976363860727847347949809818577781515577939985134513447426636334465916480472387656193903565479857446410202455661066409874615803449633792254953062871261215748946667372691531648207029699552411025609394865800139365107702813961208901791014531975506810907390586733636242232947453722430863409730424924408665419174353668886083987190266568953372362898476589459556384779276520249675254983805951497913823944162590480780307700158277153081466340834249008706700748853265204978369570129610898001072447523106135134741204978505076909900382425269755941954185287522654373930331196310797272399996398973352099834223274661817918706171673244252678705810390317928115057175892529512557081197460799151963779458455326350523234744458334446716169396552005449736762355202143232645678295844241461855726159043462595814566836386342900872510474824467544224967946569350258997941430699751578499072094746041048224734347773141205564178395544230867076962195879952557917872096929742085637191470031667171910972470919664390931112986951110115315034011743750544073787154620222254595887068872691400263717911115128857159672371714320980972002277376322 5575383852746701300902743407460933754547541700820733425991630696274131253865942531115156105334510275023309344955066518519374799800812072216597479967546765156139173072528501738008381986613546812400170770909347826490233059708980374678586919486635015891547321651625736115284546842072417778136153896892304376705112270953495887246308765128397287860840788878336096127235072690950201848631864746807591260231572069492019819854013991378121978590940828540161891516053657670232852706277592593286173395645993547062598280648502061583342005858312491415492134757189970875795096126467476319857033435985488562701788113738233493544305078052172716418090948164226564814012895052701779060818760411033921047551965307667544700218268111402710686007074710604799244557117978043411584962437339871572248605230995861184855163229175704786382784716585916299363304944185987535569651034519694470759277033621180948228600112526050864531804427257703345945684551513109148828160791617531226245757271065737784337366811914542763066225007559442628832726153118848859291333890334533377629255302025434168937035587911331971789012754174529713223600594652984785950503571279039652233600628885102879520367257172387414705875644524389154172913316423005442382594460589386836545770127233034695052179053556950193334880705591451403993563044181578513139491523942848439706841857579971466041849859860655313656658888337663782409328915709181014291778296470928314824333269567267816248750571717695592985854739308906470914728645073300037747248628178580463058120063996628201298512865929499936502778298345080748677164575497133563617564366663154492860620899872343731355241868104387788858125125508159520300975961967108299228086782463431660113484160678206209355978273180909640066557800057679193066948364922641507659960512064921848066890135848482300505468678938978299460633862663724935330879534551307588210878592075327738427818936009784531648389906643563486857267409665557324636941160548142023123024014800149909208684552568151660918359017951988442486206577139773048787225532934429893340271875574810732893434576143212079775326821325542336160629105600702227063906571165045701663687466939579238538323629285627352848471665566802214720161714655739598544367689576408992982811807954140378647274321517059497955161563778901263435697515181942074714451759205804027877379188014892891723790154104424550769577270943925721099684459969377693805372945990853612496283500309552707306552284497105382502959674929094412839350837939173865180071090063498263317791873160736880175460052080085519021498958344671402124190096245673487596765683858110047098961945010547472755505807950605417510200691926253861117922112095403609482889577918627531659005967406031208566403249227315981880722969516975407702882447282725246260185140321071138107659021337986661445060937963193758039352422815562350792017572665490500775832106293831842246017172239535262579636626083922024718707618045691489901982521 9021160574071501487682246003063331307977173944924376745721994393834609653424385981361596685414303652496806723615430775928520475052793590207467724142786895094750296471651403394283885870556236073504489601700782476744464562761225057064732366737477948948971938066878795068368857917913586916998339459452210819477010993782398385586737797792847452325009045101316717027154238813906513958556419067661673985512403607618142870566772627688774482117784703756415251961524052900454197879074200686844250455063243001465691495322835558499852619313868632070176162395768341966365467139707405710413646718857877640320117950891278604740806569772565674982955573256092580252182248581080029602158138314694820373900991984559138292087838896756179316820733612857515923009230044848943478721567815736215433267094374009206666515480754765301646966800952151339806224352038878998679174642374445767591162293863520266390315733274064309747143261672253384175766427104709859192725712366882989129807925290040606128181417192724285535333338553452622909978326145313580213846244701574786939817328928595986732454926460206486126851798205132487881803254277956056410053543965474830807781636087062264883778287355592461986687199742159905646962903294458339548070798271233088370424622183287759134219169994610642851614827800988162135541524138141688773172623080772999990196674999733532948769254141626700928403850458388625602348658828627536199487929504574898452336927084074818258328079001034021559940965597920807302795102992351070640332493608252253165547248670853353647932082607482634818766649864908504842751653742353088951320436771662851204426981448502027352429695024369190161727338494555365042846959408364983000368390426559190206120729142865526605526500680116230220527280833365650394635549225588829270593076390592346779358935105376743205445042799706146808583672482302716846457474536442101658305228409793654908291323665978435213869764089973689312928476075431940440390794340396976185895276015898855876057244099799867948058570363014051881072377279138156490039494143331684354803851081621640284021309779454312722780543756405745891054030009367646238260240051129688853954035892951601436800218745183737627748185816477469703967666153653422488530280057189300682970085107221844988108570525766198704014828983879633005827126079943147161974865340938769082357693091802792106215423860366504954864793598299651430880770766650093801771919342953446719558162127471413478225528749784088313349992857209470015243367451730946377531889215462042776247199511260114919918386526801688418050963794408164479392239478319165892609925319965773258005407606362039591892150851477927985025159470478829064491462354401550913589329497126603753752008454255942914176390432880160276267200384052369898762399840643118357114882406708329577690688509897633915980602354124871026303532930877384803761323209564287930452328548427729314889863639798980490751754941081697090421939026663492179358843 14596544426818202788584989410524265062524715645745110171713625090108740907290328512476752790748813927520116068570497294447895274853605662424065204110333660250889469544179905132292267857169782885904660372610130303234697622470205431743319286224112964840519259718504531183653404759986004695134493356344515196182123264735894272833046562921244740185849833979652813154389311504856715807188283814469265245743975677110162690420786619066896460708725532296577143477577710570687050585351793280130423850709236548528289775971337620083194625172181123485668297152958312842160563266174882030270680154843366203021906064629512098285111647824738391401046521420319145066195143633781808662976898725728741421452957292226682992306107008158890002827808323462315167566348022892355063684005155607787681872325369870391521678709930470088029751517538067639169529296224866534248825676894140238350439327484701214618915845800115174278947688929956730121450978617819008020886503984414215375565196355778390465548229107267048601558346112895251742704479264162439505180135036108164569072630954030155669490514371538457915864552379662201105403848930940842360557115244514483041382264972165144404145544527979876692562844266549059819876219717463781930665258860619924916194749416322454186398223551560836186495533392439566129104568319720201912664147023621439697038532579704998990619114002282014585062738796052408011677574537808550491266225975503213276670196651342634507078650718729614545795704906827278217523748065651108387581121786832716223667312667481554946444948536982571321544948209989253519916229239486652568884803434817344065047881320845758707671563128756979019852464002714885343822921375473282228455172889990850319604889821071735961504773861025870287085080891044843461583914148230336930553588455514194846249070953859043710913721738684446269217535146027652177337009087749689869183820485121393336110259675762966862259670733537176170195885740989265077331954888538999308919290816048765084741796667951528866417588315002494367278954418911205277265027077761577695075726656432373177455885922666392498107365081948082051683135610069873302166811216175390517641502832530839975123848030811090476219851383279684424129380809393021032897969633598293665781893061362223635382892042825696659176392762780896441524641261885221876426624546742796959736881106695683830005577964791055724442064542225372530565230736027787607144865333807059215841662437024120784777813246889470816309667786303882854594205390904811557602979278960306094039072671996995095378438606887207439549922139079566603582335723992653489375609178075820356967352616909512347397958802083345495225851396732690182413574449805160396478907415754135412757975860287151480579639660196142156990169901027777601644847123368364617300022727779467685349709847884295361041540317318629065655955746439735595778895875054788706284434842259571560907035879334243070388381025003721809129557072354982081341364 23617705000889704276267235413587596370501889590669486917435619483943350560714714493838349476163117580016922792185928070376415749906399252631532928253120555345639766015831308526576153727726018959409149974310912779979162185231430488808051652961590913789491197785383326252022262677899591612132832815796726015659134258518292658419784360714092192510858879080969530181543550318763229765744702882130939231256379284728305560987559246755670942826510236052992395439101763471141248464425993966974674305772479549993981271294173178583047244486049755555844459548726654808526030405882287740684326873701243843342024015520790703025918217597304066384002094676411725318377392214861838265135037040423561795353949276785821284393945904915069319648541936319831090575578067741298542405572971344003115139419743879598188194190685235389676718318490218978975753648263745532928000319268586005941601621348221481009231579074179484026090950602210114297217405722528867213612216351297204505373121645818996593729646299991334136891684666347874652682805409476019719026379737682951508889959882626142401945440831744944042716350584794688987207103208896898770610659209989313849163901059227409287923831883572338679250044008708965466839123011922121478736057131853013286619371599610213320617393546171479038110361193427728264646092457861890685836770104394439687235207579438531939388368143908715513466589254441033614026233366436086690754155480078111729007123735417452765406729719763636105736670504748085520318851058002179027913615395084969389214561338334908594377031144465206140311598074897758362667882981839741520205240206480195269474862769347786060101258153126169181579802497270250386669880783838265228823563316550040525725618963937262567031274541142100507612361724410493856219463373819166201146664846106541625608006059235786916358764538390593077801207628330369023794483624191791527489048894915048244401583341741402076129434823510865483124361816421205517722749228935975494814566831947620960799040767751396814476158678016546248351331698049361767304521221093262049879577738054013461477195702120705220887908838353827942737165619437519540427051267305079371595538725482441411924066775994828103968037199757154128097046963046443521428249690787594348751978168584068623491462568591895363191221746660529447351767341828369038401489887681566042094574198498475936221001825157560679306858140525023961446001502677881408916784676760505935399824564495534263003341996673559129659660643513352869837572842635757935134868494422348870286272183257110015296825133688895857600885933487731082974575202311819381985534498041593614972760223271551939290109653561273480251010867211519246905036804206711310068236912880739166509984314543094394756030093076302433257370285080147500407246964011482974414905134487797263040398357781929277022142671443500091959488677317120399540219084619076636736763390687300875796899519133223561140135966085418899551496099018474260700207 38214249427707907064852224824111861433026605236414597089149244574052091468005043006315102266911931507537038860756425364824311024760004915055598132363454215596529235560011213658868421584895801845313810346921043083213859807701635920551370939185703878630010457503887857435675667437885596307267326172141241211841257523254186931252830923635336932696708713060622343335932861823619945572932986696600204477000354961838468251408345865822567403535235768349569538916679474041828299049777787247105098156481716098522271047265510798666241869658230879041512756701684967650686593672057169770955007028544610046363930080150302801311029865422042457785048616096730870384572535848643646928111935766152303216806906569012504276700052913073959322476350259782146258141926090633653606089578126951790797011745113749989709872900615705477706469836028286618145282944488612067176825996162726244292040948832922695628147424874294658305038639532166844418668384340347875234498720335711419880938318001597387059277875407258382738450030779243126395387284673638459224206514773791116077962590836656298071435955203283401958580902964456890092610952139837741131167774454503796890546166031392553692069376411552215371812888275258025286715342729385903409401315992472938202814121015932667507015617097732315224605894585867294393750660777582092598500917128015879384273740159143530930007482146190730098529328050493441625703807904244637182020381455581325005677320386760087272485380438493250651532375411575363737842599123653287415494737181917685612881874005816463540821979681447777461856546284887011882584112221326394089090043641297539334522744090193544767772821281883148201432266499985135730492802159311547457278736206540890845330508785008998528536048402167970794697442615455337317803377522049503131700253301620736471857077013094830627272486277075039347018742774358021201131492711941481396672869380036441580511843017504368938389105557048041653320247557410470595054704117474974803733857647996386045540837435702925680893746993019040615630286116960567044569548298854839744955304394486386638933081624787097718995273920301909994420301229507392842593862483480469889237041558013281387047914806805918580187888583036838552226427772439464554326219324385888014533871229946292258874354611417592022367614509441425888876408603713590914828114434424363001831455305194159766226579789948616403748922682750396492011232238705669016061650010567565151241487001519655047781155243563029945969328429817235724431778233540569492737847773382654964325344855254105110675263740576103297150808072567297686556910926304472871361143676117413971940112840181064286688068455644618975476862263944209429318611254011871706547144328634874579267960174830245875335669753272444590247540186107925102052094087379847591714927862267264948390108205666224638063682988762129157615444423756855995319114959673865343021198232946872436703935398467466631528516991089140708681053171373456342041571 61831954428597611341119460237699457803528494827084084006584864057995442028719757500153451743075049087553961652942353435200726774666404167687131060616574770942169001575842522185444575312621820804722960321231955863193021992933066409359422592147294792419501655289271183687697930115785187919400158987937967227500391781772479589672615284349429125207567592141591873517476412142383175338677689578731143708256734246566773812395905112578238346361746004402561934355781237512969547514203781214079772462254195648516252318559683977249289114144280634597357216250411622459212624077939457511639333902245853889705954095671093504336948083019346524169050710773142595702949928063505485193246972806575865012160855845798325561093998817989028642124892196101977348717504158374952148495151098295793912151164857629587898067091300940867383188154518505597121036592752357600104826315431312250233642570181144176637379003948474142331129590134376958715885790062876742448110936687008624386311439647416383653007521707249716875341715445591001048070090083114478943232894511474067586852550719282440473381396035028346001297253549251579079818055348734639901778433664493110739710067090619962979993208295124554051062932283966990753554465741308024888137373124325951489433492615542880827633010643903794262716255779295022658396753235443983284337687232410319071508947738582062869395850290099445611995917304934475239730041270680723872774536935659436734684444122177540037892110158256886757269045916323449258161450181655466443408352577002655002096435344151372135199010825912983602168144359784770245251995203166135609295283847777734603997606859541330827874079435009317383012068997255386117162682943149812686102299523090931371056127748946261095567322943310071302309804339865831174022840895868669332846918147727278097465083072330617543631250815465632424819950402688390224925976336133272924161918274951489824913426359245771014518540380558907136444609373831676112777453346410950298548424479944007006339878203454322495369905671035586863981617815009928811874069519948101794834882132540400100410277326907802939883182758655737937157466848944912383020913750785549260832580283495722798971981582800746684155925782793992680323474735485908075754469015173482363285849398530360882365817180009487385558836256101955336228175945541959953229604322105929043926029503692635702447581615106177083055780823275420453457233741383550424978434687328071086641311566015189310784497240236589075628989073330588594269351076176327427872716267805003834611617038511215125972088874264999154751694006055028769531486128616292253346678174159007586912873063452616225978178109205892455727873131155728676223648058218583016615381241515613745777944489373340270091699846348747023504910471188072602459341051391330566129832996755062211430506563448153915085825660205629249574933101073976394859334044292941979757961623634173312500834917600690192668652957174559608232549270391930602741778 100046203856305518405971685061811319236555100063498681095734108632047533496724800506468554009986980595091000513698778800025037799426409082742729192980028986538698237135853735844312996897517622650036770668152998946406881800634702329910793531332998671049512112793159041123373597553670784226667485160079208439341649305026666520925446207984766057904276305202214216853409273966003120911610676275331348185257089208405242063804250978400805749896981772752131473272460711554797846563981568461184870618735911747038523365825194775915530983802511513638869972952096590109899217749996627282594340930790463936069884175821396305647977948441388981954099326869873466087522463912149132121358908572728168228967762414810829837794051731062987964601242455884123606859430249008605754584729225247584709162909971379577607939991916646345089657990546792215266319537240969667281652311594038494525683519014066872265526428822768800636168229666543803134554174403224617682609657022720044267249757649013770712285397114508099613791746224834127443457374756752938167439409285265183664815141555938738544817351238311747959878156513708469172429007488572381032946208118996907630256233122012516672062584706676769422875820559225016040269808470693928297538689116798889692247613631475548334648627741636109487322150365162317052147414013026075882838604360426198455782687897725593799403332436290175710525245355427916865433849174925361054794918391240761740361764508937627310377490596750137408801421327898812996004049305308753858903089758920340614978309349967835676020990507360761064024690644671782127836107424492529698385327489075273938520350949734875595646900716892465584444335497240521847655485102461360143381035729631822216386636533955259624103371345478042097007246955321168491826218417918172464547171449348014569322160085425448170903737092540671771838693177046411426057469048074754320834787654987931405425269376750139952907645937606948789764856931242146707832157463885925102282282127940393051880715639157248176263652664054627479611903931970495856443617818802941539790186527026786739343358951694900658878456678957647931577768078452305225614776234266019150069621841509004186019896389606665264343814365830831232549902507925372630080688339559370377819720628476653141240171791427079407926450765543381225104584549255550868057718756530292045757484808886795468674161405054793486804703506025816945468465980089219441040084697895636237882798567534844358565652483799619021598317503147824318701129309716896920610564041187658798936961893765320236647352614841102451902502078622326456088397054920765124707821850276421558852985903633680512666246564850511431204735395099938105542259312230454723162525570150488325045904664203586145427369599621191613752450657295997704511435138771178157844760859022327159820614769114378553149508648967758407190377524830832390178449003966807322779159856581045749204770316068156824197169948263700316913602441765386944783349 161878158284903129747091145299510777040083594890582765102318972690042975525444558006622005753062029682644962166641132235225764574092813250429860253596603757480867238711696258029757572210139443454759730989384954809599903793567768739270216123480293463469013768082430224811071527669455972146067644148017175666842041086799146110598061492334195183111843897343806090370885686108386296250288365854062491893513823454972015876200156090979044096258727777154693407628241949067767394078185349675264643080990107395554775684384878753164820097946792148236227189202508212569111841827936084794233674833036317825775838271492489809984926031460735506123150037643016061790472391975654617314605881379304033241128618260609155398888050549052016606726134651986100955576934407383557903079880323543378621314074829009165506007083217587212472846145065297812387356129993327267386478627025350744759326089195211048902905432771242942967297819800920761850439964466101360130720593709728668653561197296430154365292918821757816489133461670425128491527464839867417110672303796739251251667692275221179018198747273340093961175410062960048252247062837307020934724641783490018369966300212632479652055793001801323473938752843192006793824274212001953185676062241124841181681106247018429162281638385539903750038406144457339710544167248470059167176291592836517527291635636307656668799182726389621322521162660362392105163890445606084927569455326900198475046208631115167348269600755007024166070467244222262254165499486964220302311442335922995617074744694119207811220001333273744666192835004456552373088102627658665307680611336853008542517957809276206423520980151901782967456404494495907964818168045611172829483335252722753587442764282901520719670694288788113399317051295186999665849059313786841797394089597075292666787243157756065714534987908006304196658643579734801650983445384208027244996705929939421230338695735995910967426186318165855926209466305073822820609610810296875400830706607884400058220593842611570671633558335090214343593521746980424668317687338751043334625068659567186839753636278602703598761639437613385868735234927397217608635689985051568410902202125004726984991877972407411948499740148624823912873377243411280705835157354732852741105570027007014023605988971436566793485287021645336561332760494797510821287323078636221089683514312579431171121743020160970569860484329301237398925699721472769866018519385223707324524110133550033669350149724036208097227306576478412912970480385893224348483280308992662633548578932276535362619441489106101606654196084677355225619883183537057378054500024435429145765858967086296738644424674056403886932608526255666781765907370449037739777906811666102070823849153576926415519069445969938637257361128484070306970776190162508723974593855777389371251121332562532468235334309173387656765310625904808785037783048259749302537121480215219061705605233668847016865822905438259925146151712157317547525127 261924362141208648153062830361322096276638694954081446198053081322090509022169358513090559763049010277735962680339911035250802373519222333172589446576632744019565475847549993874070569107657066104796501657537953756006785594202471069181009654813292134518525880875589265934445125223126756372735129308096384106183690391825812631523507700318961241016120202546020307224294960074389417161899042129393840078770912663377257940004407069379849846155709549906824880900702660622565240642166918136449513699726019142593299050210073529080351081749303661875097162154604802679011059577932712076828015763826781761845722447313886115632903979902124488077249364512889527877994855887803749435964789952032201470096380675419985236682102280115004571327377107870224562436364656392163657664609548790963330476984800388743113947075134233557562504135612090027653675667234296934668130938619389239285009608209277921168431861594011743603466049467464564984994138869325977813330250732448712920810954945443925077578315936265916102925207895259255934984839596620355278111713082004434916482833831159917563016098511651841921053566576668517424676070325879401967670849902486926000222533334644996324118377708478092896814573402417022834094082682695881483214751357923730873928719878493977496930266127176013237360556509619656762691581261496135050014895953262715983074323534033250468202515162679797033046408015790308970597739620531445982364373718140960215407973140052794658647091351757161574871888572121075250169548792272974161214532094843336232053054044087043487240991840634505730217525649128334500924210052151195006065938825928282481038308759011082019167880868794248551900739991736429812473653148072532972864370982354575803829400816856780343774065634266155496324298250508168157675277731705014261941261046423307236109403243181513885438725000546975968497336756781213077040914432282781565831493584927352635763965112746050920333832255772804715974323236315969528441768274182800503112988735824793110101309481768818847897210999144841823205425678950920524761305157553984874415255186593973579096995230297604257640096116571033800313003005849522834250466219317587560971823966513731171011774362014077212843554514455655145423279751336653335915845694292223118925290655483667164846160762863646201411737787188717786437345044053061689345041835166513135440999121466226639795904425215764056665187835327054344394165701561989307058604083119343562406908701084878027915802207835827118825624079626237231671609695610121269093844350180321432485540826041855599266794103947204058556698163299681681708280238457822502762321874711850704618844870719977251310671238906915318137343921355604887308166682679492462940432381816590395869753817780512560946439045591130251009811785780068011482211328933686881819354714799716531071736101676911021384842958141146063955688150735641175216232052226556625316281336796264810910375549737003841062992853701960242059754153922704492308476 423802520426111777900153975660832873316722289844664211300372054012133484547613916519712565516111039960380924846981043270476566947612035583602449700173236501500432714559246251903828141317796509559556232646922908565606689387770239808451225778293585597987539648958019490745516652892582728518802773456113559773025731478624958742121569192653156424127964099889826397595180646182775713412187407983456331972284736118349273816204563160358893942414437327061518288528944609690332634720352267811714156780716126538148074734594952282245171179696095810111324351357113015248122901405868796871061690596863099587621560718806375925617830011362859994200399402155905589668467247863458366750570671331336234711224998936029140635570152829167021178053511759856325518013299063775721560744489872334341951791059629397908619954158351820770035350280677387840041031797227624202054609565644739984044335697404488970071337294365254686570763869268385326835434103335427337944050844442177381574372152241874079442871234758023732592058669565684384426512304436487772388784016878743686168150526106381096581214845784991935882228976639628565676923133163186422902395491685976944370188833547277475976174170710279416370753326245609029627918356894697834668890813599048572055609826125512406659211904512715916987398962654076996473235748509966194217191187546099233510365959170340907137001697889069418355567570676152701075761630066137530909933829045041158690454181771167962006916692106764185740942355816343337504335048279237194463525974430766331849127798738206251298460993173908250396410360653584886874012312679809860313746550162781291023556266568287288442688861020696031519357144486232337777291821193683705802347706235077329391272165099758301063444759923054268895641349545695167823524337045491856059335350643498599902896646400937579599973712908553280165155980336516014728024359816490808810828199514866773866102660848741961887760018573938660642183789541389792349051379084479675903943695343709193168321903324380389519530769334235056166798947425931345193078992496305028209040323846161160418850631508900307856401735554184419669048237933246740442886156204369155971874026091518458156003652334421489161343294663080479058296656994747934041751003049025075860030860682490681188452149734300212994897024808834054347770105538850572510632364913802734225124513434045657810917647445376734626525672164628291743319865423034759173077123468343050886931018834634911697265951931872035216052930656104650144642090081503345617577124659172984066034119758318390961886235593053305665210894247977036907328163421994879880816821899147279850384703837806273989955095912963319205069952447611271669074074053128530202718339193482692466693602971357438976465508491561068888267172914264138318452987519096195605793948570577105902322857434239443489620177267314533720720998776640449960254015100486305927853402817011483872615980783405850857928815759140220167205905866080022039833603 685726882567320426053216806022154969593360984798745657498425135334223993569783275032803125279160050238116887527320954305727369321131257916775039146749869245519998190406796245777898710425453575664352734304460862321613474981972710877632235433106877732506065529833608756679961778115709484891537902764209943879209421870450771373645076892972117665144084302435846704819475606257165130574086450112850172051055648781726531756208970229738743788570146876968343169429647270312897875362519185948163670480442145680741373784805025811325522261445399471986421513511717817927133960983801508947889706360689881349467283166120262041250733991264984482277648766668795117546462103751262116186535461283368436181321379611449125872252255109282025749380888867726550080449663720167885218409099421125305282268044429786651733901233486054327597854416289477867694707464461921136722740504264129223329345305613766891239769155959266430174229918735849891820428242204753315757381095174626094495183107187318004520449550694289648694983877460943640361497144033108127666895729960748121084633359937541014144230944296643777803282543216297083101599203489065824870066341588463870370411366881922472300292548418757509267567899648026052462012439577393716152105564956972302929538546004006384156142170639891930224759519163696653235927329771462329267206083499361949493440282704374157605204213051749215388613978691943010046359369686668976892298202763182118905862154911220756665563783458521347315814244388464412754504597071510168624740506525609668081180852782293294785701985014542756126627886302713221374936522731961055319812488988709573504594575327298370461856741889490280071257884477968767589765474341756238775212077217431905195101565916615081407218825557320424391965647796203335981199614777196870321276611689921907139006049644119093485412437909100256133653317093297227805065274248773590376659693099794126501866625961488012808093850829711465358158112777705761877493147358662476407056684079533986278423212806149208367427980333379897990004373104882265717840297653859013083455579032755133997947626739197912114041831670755453469361240939096263277136622423686743532845850058032189327015426696435566374186849177536134203719936746084587377666848743317298978956151337974348353298310497163859196308762596022772134207450582903634199977406748969247360565512555511884450713551870592498683190859999955346087714031124596748480135727551462394449337927535719789725181754139707862334878554735730887376313699777113466886670969009353305498519660584360246561153029697000509723767592411276718589036443660452702383579143773859130555003548708526251241265767151870234523207296368966876556382240735808022665658771575299282862563356789137951537411947537152199139276984700044206329935198848029882487613303285376822433394593535916354511005020225455679784676686927376091135470247152712862553169684153807748683526356333142854698991808612842180409265660020002726532142079 1109529402993432203953370781682987842910083274643409868798797189346357478117397191552515690795271090198497812374301997576203936268743293500377488846923105747020430904966042497681726851743250085223908966951383770887220164369742950686083461211400463330493605178791628247425478431008292213410340676220323503652235153349075730115766646085625274089272048402325673102414656252439940843986273858096306504023340384900075805572413533390097637730984584204029861457958591880003230510082871453759877827261158272218889448519399978093570693441141495282097745864868830833175256862389670305818951396957552980937088843884926637966868564002627844476478048168824700707214929351614720482937106132614704670892546378547478266507822407938449046927434400627582875598462962783943606779153589293459647234059104059184560353855391837875097633204696966865707735739261689545338777350069908869207373681003018255861311106450324521116744993788004235218655862345540180653701431939616803476069555259429192083963320785452313381287042547026628024788009448469595900055679746839491807252783886043922110725445790081635713685511519855925648778522336652252247772461833274440814740600200429199948276466719129036925638321225893635082089930796472091550820996378556020874985148372129518790815354075152607847212158481817773649709163078281428523484397271045461183003806241874715064742205910940818633744181549368095711122120999752806507802232031808223277596316336682388718672480475565285533056756600204807750258839645350747363088266480956375999930308651520499546084162978188451006523038246956298108248948835411770915633559039151490864528150841895585658904545602910186311590615028964201105367057295535439944577559783452509234586373731016373382470663585480374693287606997341898503804723951822688726380611962333420507041902696045056673085386150817653536298809297429813242533089634065264399187487892614660900367969286810229974695853869403650126000341902319095554226544526443142152311000379423243179446745116130529597886958749667614954156803320530813610910919290150164041292495902878916294416798258248098219970443567224939873138409478872343003720022778628055899504719876149550647483019079030857055535530143840616613262016593740832521419417851792342374838987012020465029541750460231464072191205787404856826481977556121754206710609771662771981585690025989557542261631199315969233309716532164583637831033896547631507653212851019805445336268946370354701422447706071579897550931485391835537520955789858616812504248093668526289564553780342678637523039265290053815388978486659253755496364607082447582264395965673006410405388252546332525231220863064833553728277248816578148225456314788936552868377110768781975329256959760495390513877456028713268027544157614308344648388186367126078093407251855953928335717450970155798000625197492770213505397685704016541095724262253199168481023086970819232556142337116548705556920624371982400576471565886082748571975682 1795256285560752630006587587705142812503444259442155526297222324680581471687180466585318816074431140436614699901622951881931305589874551417152527993672974992540429095372838743459625562168703660888261701255844633208833639351715661563715696644507341062999670708625237004105440209124001698301878578984533447531444575219526501489411722978597391754416132704761519807234131858697105974560360308209156676074396033681802337328622503619836381519554731080998204627388239150316128385445390639708041497741600417899630822304205003904896215702586894754084167378380548651102390823373471814766841103318242862286556127051046900008119297993892828958755696935493495824761391455365982599123641593898073107073867758158927392380074663047731072676815289495309425678912626504111491997562688714584952516327148488971212087756625323929425231059113256343575430446726151466475500090574172998430703026308632022752550875606283787546919223706740085110476290587744933969458813034791429570564738366616510088483770336146603029982026424487571665149506592502704027722575476800239928337417245981463124869676734378279491488794063072222731880121540141318072642528174862904685111011567311122420576759267547794434905889125541661134551943236049485266973101943512993177914686918133525174971496245792499777436918000981470302945090408052890852751603354544823132497246524579089222347410123992567849132795528060038721168480369439475484694530234571405396502178491593609475338044259023806880372570844593272163013344242422257531713006987481985668011489504302792840869864963202993762649666133259011329623885358143731970953371528140200438032745417222884029366402344799676591661872913442169872956822769877196183352771860669941139781475296932988463877882411037695117679572645138101839785923566599885596701888574023342414180908745689175766570798588726753792432462614523110470338154908314037989564147585714455026869835912771717987503947720233361591358500015096801316104037673801804628718057063502777165725168328936678806254386730000994852146807693635695876628759587804023054375951481911671428414745884987296132084485398895695326607770719811439266997159401051742643037565726207582836810034505727292621909716993018152747465736530486917108797084700535659673817943163358439377895048770728627931387514550000879598616185006704657840910587178411741228946255538545069426712344751186561731992907392164538983918747927672228256133348578571267839785606873906074491147629460211287759885810040127566424897269489635730279390919062677879595063073440927038884084192294987054325112746079070530474085401050742900284647975109446865540960391801254858776472486630216703788251484545185545024781838555524744575534035882344081258191820316549633342051289403565865467166821142314352550978323385215155960581020555141330750769112044506072152511630217718225893290074372631392632231194509405912031034192771124626981239668693449691560255912432984824580985737225906085475104117761 2904785688554184833959958369388130655413527534085565395096019514026938949804577658137834506869702230635112512275924949458135241858617844917530016840596080739560860000338881241141352413911953746112170668207228404096053803721458612249799157855907804393493275887416865251530918640132293911712219255204856951183679728568602231605178369064222665843688181107087192909648788111137046818546634166305463180097736418581878142901036037009934019250539315285028066085346831030319358895528262093467919325002758690118520270823604981998466909143728390036181913243249379484277647685763142120585792500275795843223644970935973537974987861996520673435233745104318196531976320806980703082060747726512777777966414136706405658887897070986180119604249690122892301277375589288055098776716278008044599750386252548155772441612017161804522864263810223209283166185987841011814277440644081867638076707311650278613861982056608308663664217494744320329132152933285114623160244974408233046634293626045702172447091121598916411269068971514199689937516040972299927778255223639731735590201132025385235595122524459915205174305582928148380658643876793570320414990008137345499851611767740322368853225986676831360544210351435296216641874032521576817794098322069014052899835290263043965786850320945107624649076482799243952654253486334319376236000625590284315501052766453804287089616034933386482876977077428134432290601369192281992496762266379628674098494828275998194010524734589092413429327444798079913272183887773004894801273468438361667941798155823292386954027941391444769172704380215309437872834193555502886586930567291691302560896259118469688270947947709862903252487942406370978323880065412636127930331644122450374367849027949361846348545996518069810967179642480000343590647518422574323082500536356762921222811441734232439656184739544407328731271911952923712871244542379302388751635478329115927237805199581947962199801589637011717358841917415896870330582200244946781029057442926020345171913445067208404141345479668609806303611014166509487539678877954187095668447384790587722831544143235394352054928966120635199746180198683782270717182179679798542542285602357133484293053584758149677445247136858769360727753124227749630216502552328002048656930175378904407436799230960092003578720337405736425098162562826412047621196950074513210531945564534626968973975950502530965302623924329122621749781824219859763786561429591073285121875820276429192570077166282867657436741525519401962418225279494347091895167156346405884627627221269717521607231560277108140501724565729784229581765657825347866912371075119871951365780053801191301703707493281537341979761794002123173007294870313681128402412993112863233521077276310128732565166859594578735194365299928660895626711571582282038674427806997284679104829495476227950512255415210996106795472058335409173326918771659111199515215858095446213795811030566240265812833057356806981562208791792168223676093443 4700041974114937463966545957093273467916971793527720921393241838707520421491758124723153322944133371071727212177547901340066547448492396334682544834269055732101289095711719984600977976080657407000432369463073037304887443073174273813514854500415145456492946596042102255636358849256295610014097834189390398715124303788128733094590092042820057598104313811848712716882919969834152793106994474514619856172132452263680480229658540629770400770094046366026270712735070180635487280973652733175960822744359108018151093127809985903363124846315284790266080621629928135380038509136613935352633603594038705510201097987020437983107159990413502393989442039811692356737712262346685681184389320410850885040281894865333051267971734033911192281064979618201726956288215792166590774278966722629552266713401037126984529368642485733948095322923479552858596632713992478289777531218254866068779733620282301366412857662892096210583441201484405439608443521030048592619058009199662617199031992662212260930861457745519441251095396001771355087022633475003955500830700439971663927618378006848360464799258838194696663099646000371112538765416934888393057518183000250184962623335051444789429985254224625795450099476976957351193817268571062084767200265582007230814522208396569140758346566737607402085994483780714255599343894387210228987603980135107447998299291032893509437026158925954332009772605488173153459081738631757477191292500951034070600673319869607669348568993612899293801898289391352076285528130195262426514280455920347335953287660126085227823892904594438531822370513474320767496719551699234857540302095431891740593641676341353717637350292509539494914360855848540851280702835289832311283103504792391514149324324882350310226428407555764928646752287618102183376571085022459919784389110380105335403720187423408206226983328271161121163734526476034183209399450693340378315783064043570954107641112353665949703749309870373308717341932512698186434619874046751409747114506428797510897081774003887210395732209669604658450418707802205364168438465758210150044398866702259151246290028222690484139414365016330526353950918495221537714341580731541185579851328564716321103088090485442299354964129876922108193489654714666739013587252863661722474873338737343785331848001688719934966234887406616023714347569531069888531784128486254439478201103079696395686320701689092697295531316493661605668529751892088019919910008162341124907482694182503683717706626494155417322551565646968387315494769130077371286086219024285479690700662196756405691423855264162465614470644800314703667166708568248151560346184566737492326171855056050078176194123498241130231246339187668197789133425838425703936448875456944491712897592859762074616456263160444202361186442243013446605034956797437999255448362138615429873941539982300103023885632929222000085546430966801805558113281065023230549408629220073195035479724015931826068745490341631562547946017698253698780211204 7604827662669122297926504326481404123330499327613286316489261352734459371296335782860987829813835601706839724453472850798201789307110241252212561674865136471662149096050601225742330389992611153112603037670301441400941246794632886063314012356322949849986222483458967507167277489388589521726317089394247349898804032356730964699768461107042723441792494918935905626531708080971199611653628640820083036269868870845558623130694577639704420020633361651054336798081901210954846176501914826643880147747117798136671363951414967901830033990043674826447993864879307619657686194899756055938426103869834548733846068922993975958095021986934175829223187144129888888714033069327388763245137046923628663006696031571738710155868805020091311885314669741094028233663805080221689550995244730674152017099653585282756970980659647538470959586733702762141762818701833490104054971862336733706856440931932579980274839719500404874247658696228725768740596454315163215779302983607895663833325618707914433377952579344435852520164367515971045024538674447303883279085924079703399517819510032233596059921783298109901837405228928519493197409293728458713472508191137595684814235102791767158283211240901457155994309828412253567835691301092638902561298587651021283714357498659613106545196887682715026735070966579958208253597380721529605223604605725391763499352057486697796526642193859340814886749682916307585749683107824039469688054767330662744699168148145605863359093728201991707231225734189431989557712017968267321315553924358709003895085815949377614777920845985883300995074893689630205369553745254737744127232662723583043154537935459823405908298240219402398166848798254911829604582900702468439213435148914841888517173352831712156574974404073834739613931930098102526967218603445034242866889646736868256626531629157640645883168067815568449895006438428957896080643993072642767067418542372686881345446311935613911903550899507385026076183849928595056765202074291698190776171949354817856068995219071095614537077689338214464754029721968714851708117343712397245712846251492846874077834171458084836194343331136965726100131117179003808431523760411339728122136930921849805396141675243591976800211266735691468921242778942416369230089805191663771131803514116248192768647232648811938544955224812352448812510132357481936152981078560767650010146667614323364660296652191623662598155240822784227418311576111947783706471437753414410029358514458932876287783792777023074759293091166370349733720048624424463181253375370691364318327883466473927298655415541270606116195210530098933248932366393596018472717259686609443691951908857241379879901616779778472211008133189791370796428296152106832338861868569807725233974869169890807181623122755022937555551742171674342231746528379720037929876169135900108978771035458528053536141048140218106881018489302210978885032052724134430064624487315519408831290754582172091881578547698438544110154809490421922456304647 12304869636784059761893050283574677591247471121141007237882503191441979792788093907584141152757968972778566936631020752138268336755602637586895106509134192203763438191762321210343308366073268560113035407133374478705828689867807159876828866856738095306479169079501069762803636338644885131740414923583637748613928336144859697794358553149862781039896808730784618343414628050805352404760623115334702892442001323109239103360353118269474820790727408017080607510816971391590333457475567559819840970491476906154822457079224953805193158836358959616714074486509235755037724704036369991291059707463873254244047166910014413941202181977347678223212629183941581245451745331674074444429526367334479548046977926437071761423840539054002504166379649359295755189952020872388280325274211453303704283813054622409741500349302133272419054909657182315000359451415825968393832503080591599775636174552214881346687697382392501084831099897713131208349039975345211808398360992807558281032357611370126694308814037089955293771259763517742400111561307922307838779916624519675063445437888039081956524721042136304598500504874928890605736174710663347106530026374137845869776858437843211947713196495126082951444409305389210919029508569663700987328498853233028514528879707056182247303543454420322428821065450360672463852941275108739834211208585860499211497651348519591305963668352785295146896522288404480739208764846455796946879347268281696815299841468015213532707662721814891001033124023580784065843240148163529747829834380279056339848373476075462842601813750580321832817445407163950972866273296953972601667534758155474783748179611801177123545648532728941893081209654103452680885285735992300750496538653707233402666497677714062466801402811629599668260684217716204710343789688467494162651278757116973592030251816581048852110151396086729571058740964904992079290043443765983145383201606416257835453087424289279861607300209377758334793525782441293243199821948338449600523286455783615366966076993074982824932809899007819123204448429770920215876555809470607395757245118195106025324124199680775320333757696153296252454082035674225346145865341142880913701988259486566126499229765729034276155175396612613577114732433657083108243677058055325493606676852853591978100495234337531873511190112218968472526857701888551824684765207047022089488347770694019760346617353880716359893686557316445833086841328004035803626381445915755534936841208641436560005490419271178492081844656813338737049214817754501834467339594394976844009028545663230332990079270805433071730665855330413636916099074961844170033063444253346936018123763913291458056095740278019602442254472377459568585561721990532536275310744026752216946872462029652881798079385915467139916738184414687788836781485177158037185324531274515538852712575440828156560026681069440106966564920269012784443145333789157660614033116535592603866770478598103917950324038040070106658100827188675621236515851 19909697299453182059819554610056081714577970448754293554371764544176439164084429690445128982571804574485406661084493602936470126062712878839107668183999328675425587287812922436085638756065879713225638444803675920106769936662440045940142879213061045156465391562960037269970913828033474653466732012977885098512732368501590662494127014256905504481689303649720523969946336131776552016414251756154785928711870193954797726491047695909179240811360769668134944308898872602545179633977482386463721118238594704291493821030639921707023192826402634443162068351388543374695410898936126047229485811333707802977893235833008389899297203964281854052435816328071470134165778401001463207674663414258108211053673958008810471579709344074093816051694319100389783423615825952609969876269456183977856300912708207692498471329961780810890014496390885077142122270117659458497887474942928333482492615484147461326962537101892905959078758593941856977089636429660375024177663976415453944865683230078041127686766616434391146291424131033713445136099982369611722059002548599378462963257398071315552584642825434414500337910103857410098933584004391805820002534565275441554591093540634979105996407736027540107438719133801464486865199870756339889889797440884049798243237205715795353848740342103037455556136416940630672106538655830269439434813191585890974997003406006289102490310546644635961783271971320788324958447954279836416567402035612359559999009616160819396066756450016882708264349757770216055400952166131797069145388304637765343743459292024840457379734596566205133812520300853581178235827042208710345794767420879057826902717547261000529453946772948344291248058452358364510489868636694769189709973802622075291183671030545774623376377215703434407874616147814307237311008291912528405518168403853841848656783445738689497993319463902298020953747403333949975370687436838625912450620148788944716798533736224893773510851108885143360869709632369888299965024022630147791299458405138433223035072212146078439469887588346033587958478151739635067584673153183004641470091369687952899401958371138860156528101027290261978554213152853229154577389101554220641824125190408415931895371440972626252955386663348305046035975212599499477473766863246989264738480366969840170869142466986343812056145337031320921339367834246033760837746285607789739498494438308343125006914006072340022491841798139230060505152904115983587332852883669169944966199723100369436293274212048201566841137747979709086782934866378926297648592969765668208327356429129704260288734686346703677846861065860512570165031441355440188505780703939956379710075672770532837935997357057798074653262605567250939381990018142639368614172612596559942180847331199543688979702508670490077472289926586362131068528013556878075115200700410415647831483610899356210096167729209658213847583409571223763328177386513292090678657603851112012698061233180276009831902585738508650768255636679097543692820498 32214566936237241821712604893630759305825441569895300792254267735618418956872523598029270135329773547263973597715514355074738462818315516426002774693133520879189025479575243646428947122139148273338673851937050398812598626530247205816971746069799140462944560642461107032774550166678359785207146936561522847126660704646450360288485567406768285521586112380505142313360964182581904421174874871489488821153871517064036829851400814178654061602088177685215551819715843994135513091453049946283562088730071610446316278109864875512216351662761594059876142837897779129733135602972496038520545518797581057221940402743022803840499385941629532275648445512013051379617523732675537652104189781592587759100651884445882233003549883128096320218073968459685538613567846824998250201543667637281560584725762830102239971679263914083309069406048067392142481721533485426891719978023519933258128790036362342673650234484285407043909858491654988185438676405005586832576024969223012225898040841448167821995580653524346440062683894551455845247661290291919560838919173119053526408695286110397509109363867570719098838414978786300704669758715055152926532560939413287424367951978478191053709604231153623058883128439190675405894708440420040877218296294117078312772116912771977601152283796523359884377201867301303135959479930939009273646021777446390186494654754525880408453978899429931108679794259725269064167212800735633363446749303894056375298851084176032928774419171831773709297473781351000121244192314295326816975222684916821683591832768100303299981548347146526966629965708017532151102100339162682947462302179034532610650897159062177652999595305677286184329268106461817191375154372687069940206512456329308693850168708259837090177780027333034076135300365530511947654797980380022568169447160970815440687035262319738350103470859989027592012488368238942054660730880604609057833821755205202552251621160514173635118151318262901695663235414811181543164845970968597391822744860922048590001149205221061264402697487353852711162926581510555283461228962653612037227336487883058924726082570819635476861858723443558231008295188527454500723254442697101555526113449894982058394601206701660529110562059960918623150707646256582585717443921302314758345157219823432148969637701323875685567335449250289393866225536134585585522511492654811828986842209002362885353531359953056382385528355455675893591994232120019390959234329584925479903040931741805996298764631319380058922982404793047823832149684133428132115932564160645052336384974792934593278813957152136749577526921190926207081130516317284358538844148193303315728199436683824295992093097335817677095517077944710507967551740133171904889483356623312159127719793229196570777781894585957217389028111001049919905309498734036112300525231684931186684196186340184366656194410279098320814148329840236547771322720302449751292690720386704616564831711778379927782226623778578757426356463867773164929336349 52124264235690423881532159503686841020403412018649594346626032279794858120956953288474399117901578121749380258800007958011208588881028395265110442877132849554614612767388166082514585878205027986564312296740726318919368563192687251757114625282860185619409952205421144302745463994711834438673878949539407945639393073148041022782612581663673790003275416030225666283307300314358456437589126627644274749865741711018834556342448510087833302413448947353350496128614716596680692725430532332747283206968666314737810099140504797219239544489164228503038211189286322504428546501908622085750031330131288860199833638576031193739796589905911386328084261840084521513783302133677000859778853195850695970154325842454692704583259227202190136269768287560075322037183672777608220077813123821259416885638471037794738443009225694894199083902438952469284603991651144885389607452966448266740621405520509804000612771586178313002988617085596845162528312834665961856753688945638466170763724071526208949682347269958737586354108025585169290383761272661531282897921721718431989371952684181713061694006693005133599176325082643710803603342719446958746535095504688728978959045519113170159706011967181163166321847572992139892759908311176380767108093735001128111015354118487772955001024138626397339933338284241933808066018586769278713080834969032281161491658160532169510944289446074567070463066231046057389125660755015469780014151339506415935297860700336852324841175621848656417561823539121216176645144480427123886120610989554587027335292060125143757361282943712732100442486008871113329337927381371393293257069599913590437553614706323178182453542078625630475577326558820181701865023009381839129916486258951383985033839738805611713554157243036468484009916513344819184965806272292550973687615564824657289343818708058427848096790323891325612966235771572892030031418317443234970284441903994147269050154896739067408629002427148045056532945047181069843129869993598745183122203266060481813036221417367139703872585075699886299121404733250190351045902115836616678697427857571011824128040941958495633389959750733820209562508341380683655300643544251322197350238640303397990289972647674286782065948723309223669186682858856082063191210784549304023083637586793272319838780168310219497623480786281610315205593370380619346360257778262601568485336647310706010360445366025396404877370153594905954097147136236002978292087213254095424869240654842175432592038843367581625764120152772756910615084550512354429764525533926313260663741403922638853567548643498840427424387987051438777246161957672724547044624852133259695438275109454357133928090454393615751748779683511961447349541758275811273503655969219872101308567124428740259757484403256447294861318037587412050973837512290914187415725932095346834515679797239540576752362139488756534661731739411460311099500106815741841971348324237816629262892944958655937614129209517087408194612100546870708622156847 84338831171927665703244764397317600326228853588544895138880300015413277077829476886503669253231351669013353856515522313085947051699343911691113217570266370433803638246963409728943533000344176259902986148677776717731967189722934457574086371352659326082354512847882251335520014161390194223881025886100930792766053777794491383071098149070442075524861528410730808596668264496940360858764001499133763571019613228082871386193849324266487364015537125038566047948330560590816205816883582279030845295698737925184126377250369672731455896151925822562914354027184101634161682104881118124270576848928869917421774041319053997580295975847540918603732707352097572893400825866352538511883042977443283729254977726900574937586809110330286456487842256019760860650751519602606470279356791458540977470364233867896978414688489608977508153308487019861427085713184630312281327430989968199998750195556872146674263006070463720046898475577251833347966989239671548689329713914861478396661764912974376771677927923483084026416791920136625135631422562953450843736840894837485515780647970292110570803370560575852698014740061430011508273101434502111673067656444102016403326997497591361213415616198334786225204976012182815298654616751596421644326390029118206423787471031259750556153307935149757224310540151543236944025498517708287986726856746478671347986312915058049919398268345504498179142860490771326453292873555751103143460900643400472310596711784512885253615594793680430126859297320472216297889336794722450703095833674471408710927124828225447057342831290859259067072451716888645480440027720534076240719371778948123048204511865385355835453137384302916659906594665281998893240177382068909070122998715280692678884008447065448803731937270369502560145216878875331132620604252672573541857062725795472730030853970378166198200261183880353204978724139811834084692149198047844028118263659199349821301776057253241043747153745410946752196180461992251386294715964567342574944948126982530403037370622588200968275282563053739010284331314760745634507131078490228715924764345454070748854123512778131110251818474177378440570803529908138156023897986948423752876352090198380048684573854375947311176510783270142292337390505112664648908654705851618781428794806616704468808417869634095183190816235531899709071818906515204931882769270917413397472178856313068895713976725978452787262898509050581847689141368356022369251321542839020904772281586583981428890803474686961684687102557565804734447234234645782561880458098086958313000126378715573446846362600650977177001914908242364984327292473990008905583469000326563011166474546138181429920183551729433428844296761456671955317093498408983178393139325843184260436286917657936830535266297842404512250346148588461970879147011024950299716251163780278021199875983579724943408556549767854855475880069251696858870822827118191593264039044624521245827724656737035865396355833295666165620968564414643873551493196 136463095407618089584776923901004441346632265607194489485506332295208135198786430174978068371132929790762734115315530271097155640580372306956223660447399219988418251014351575811458118878549204246467298445418503036651335752915621709331200996635519511701764465053303395638265478156102028662554904835640338738405446850942532405853710730734115865528136944440956474879975564811298817296353128126778038320885354939101705942536297834354320666428986072391916544076945277187496898542314114611778128502667404239921936476390874469950695440641090051065952565216470424138590228606789740210020608179060158777621607679895085191320092565753452304931816969192182094407184128000029539371661896173293979699409303569355267642170068337532476592757610543579836182687935192380214690357169915279800394356002704905691716857697715303871707237210925972330711689704835775197670934883956416466739371601077381950674875777656642033049887092662848678510495302074337510546083402860499944567425488984500585721360275193441821612770899945721794426015183835614982126634762616555917505152600654473823632497377253580986297191065144073722311876444153949070419602751948790745382286043016704531373121628165515949391526823585174955191414525062772802411434483764119334534802825149747523511154332073776154564243878435785170752091517104477566699807691715510952509477971075590219430342557791579065249605926721817383842418534310766572923475051982906888245894572484849737578456770415529086544421120859593432474534481275149574589216444664025995738262416888350590814704114234571991167514937725759758809777955101905469533976441378861713485758126571708534017906679462928547135483921224102180595105200391450748200039484974232076663917848185871060517286094513405971044155133392220150317586410524965124515544678290620130019374672678436594046297051507771678817944959911384726114723567515491078998402705563193497090351930953992308452376156172558991808729125509173321229424585958166087758067151393043012216073592039955340672147867638753625309405736048010935985553033194326845394622192203025082572982164454736626743641778224911198650133311871288821811324541531199745950226590730501778038974546502050234093242459506579365961524073363968746712099865490400922804512432393409976788647198037944314680814297021813510024277412276895824278243027049180014965957515503623774906074422092003849192140268662645487801786288504592025347543408756093116329641522241426156861482842318054543310451222710338561645062318785158136991644983632013271573663867782638212300413911244149817604426302895293803761573454431662733452628093852459822706604749655592538563848274006123049180593076444968633402666635256684794451896795295063056361744854042086677090292750701098851807111664186175874021852984523315864487131977095875624855715555780819265520160918689256611390137611808663157169970322933933933435235387368862337875090617601695691803010485042812753573815580664961514582173650043 220801926579545755288021688298322041672861119195739384624386632310621412276615907061481737624364281459776087971831052584183102692279716218647336878017665590422221889261314985540401651878893380506370284594096279754383302942638556166905287367988178837784118977901185646973785492317492222886435930721741269531171500628737023788924808879804557941052998472851687283476643829308239178155117129625911801891904968167184577328730147158620808030444523197430482592025275837778313104359197696890808973798366142165106062853641244142682151336793015873628866919243654525772751910711670858334291185027989028695043381721214139188900388541600993223535549676544279667300584953866382077883544939150737263428664281296255842579756877447862763049245452799599597043338686711982821160636526706738341371826366938773588695272386204912849215390519412992192138775418020405509952262314946384666738121796634254097349138783727105753096785568240100511858462291314009059235413116775361422964087253897474962493038203116924905639187691865858419561646606398568432970371603511393403020933248624765934203300747814156838995205805205503733820149545588451182092670408392892761785613040514295892586537244363850735616731799597357770490069141814369224055760873793237540958590296181007274067307640008925911788554418587328407696117015622185854686534548461989623857464283990648269349740826137083563428748787212588710295711407866517676066935952626307360556491284269362622832072365209209516671280418180065648772423818069872025292312278338497404449189541716576037872046945525431250234587389442648404290217982822439545774695813157809836533962638437093889853359816847231463795390515889384179488345377773519657270162483689512769342801856632936509321018031783775473604300350271095481450207014777637698057401741016415602749405526648814760244497312691652032022923684051196560199415716713538923026520969222392846911653707011245549496123309917969938560925305971165572615719301922733430333012099520025542619110962662543541640423150201807364319690067362771681620060164272817074110546956548479153321836287967514757853893596699088577090704115401196959967348439518148169703102942820700158087659120356426181404418970289849508253861463869081411361008520196252541585941227200026681257455615907578409864005113257345409733349231183411029210125796320097428363429694359936843801788398817982301979403167171696069649475429872948047716794730298932137234413803828010138290373645792741504995138325267904366379509553019803919553525441730100229886663994161353785747260273844800794781428217803536168745900746905652742358211562852786385717771224201730719993768457557852482609437373206425305357983728755093777630289934620906240622181140959744613920828016998941256319362010334764335992732131534340814786848228259655902876915431764398990463569475239024466245613491877914854028841145761052125028499426413486859120918342258432727668406840876108419739436549229376158455725143239 357265021987163844872798612199326483019493384802933874109892964605829547475402337236459805995497211250538822087146582855280258332860088525603560538465064810410640140275666561351859770757442584752837583039514782791034638695554177876236488364623698349485883442954489042612050970473594251548990835557381608269576947479679556194778519610538673806581135417292643758356619394119537995451470257752689840212790323106286283271266444992975128696873509269822399136102221114965810002901511811502587102301033546405027999330032118612632846777434105924694819484460124949911342139318460598544311793207049187472664989401109224380220481107354445528467366645736461761707769081866411617255206835324031243128073584865611110221926945785395239642003063343179433226026621904363035850993696622018141766182369643679280412130083920216720922627730338964522850465122856180707623197198902801133477493397711636048024014561383747786146672660902949190368957593388346569781496519635861367531512742881975548214398478310366727251958591811580213987661790234183415097006366127949320526085849279239757835798125067737825292396870349577456132025989742400252512273160341683507167899083531000423959658872529366685008258623182532725681483666877142026467195357557356875493393121330754797578461972082702066352798297023113578448208532726663421386342240177500576366942255066238488780083383928662628678354713934406094138129942177284248990411004609214248802385856754212360410529135624738603215701539039659081246958299345021599881528723002523400187451958604926628686751059760003241402102327168408163099995937924345015308672254536671550019720765008802423871266496310160010930874437113486360083450578164970405470201968663744846006719704818807569838304126297181444648455483663315631767793425302602822572946419307035732768780199327251354290794364199423710840868643962581286314139284229030002024923674785586344002005637965237857948499466090528930369654431480338893845143887880899518091079250913068554835184554702498882312571017840560989629095803410782617605613197467143919505169148751504235894818452422251384597535374923999775740837427272485781778672981049347915653329533551201936126633666858476415497661429796428874215385537233050158073108385686653464390453659593436658046102813945522724544819410279158919757626643460306853488368823369277443329387209863560618707862820909986151171543435834341557451261718377540073064338139055025253564055326069436295151856488110796048305589547978242928024571871804962056545170425362113501460327861943991998047674185088950612385854520698829972507474201337315475810839656705246208424375973857323258557616731563975531790030449651393938760650364011778572082186729915969296983925995001831291011120767700040108126473674520940210014585116057656679273980205355531527732630987545218255983730393928281077635751103686578011198811468694986058463734813782349196996008959860128419471417325918921173313252129894337673037898793282 578066948566709600160820300497648524692354503998673258734279596916450959752018244297941543619861492710314910058977635439463361025139804744250897416482730400832862029536981546892261422636335965259207867633611062545417941638192734043141775732611877187270002420855674689585836462791086474435426766279122877800748448108416579983703328490343231747634133890144331041833263223427777173606587387378601642104695291273470860599996592151595936727318032467252881728127496952744123107260709508393396076099399688570134062183673362755314998114227121798323686403703779475684094050030131456878602978235038216167708371122323363569120869648955438752002916322280741429008354035732793695138751774474768506556737866161866952801683823233258002691248516142779030269365308616345857011630223328756483138008736582452869107402470125129570138018249751956714989240540876586217575459513849185800215615194345890145373153345110853539243458229143049702227419884702355629016909636411222790495599996779450510707436681427291632891146283677438633549308396632751848067377969639342723547019097904005692039098872881894664287602675555081189952175535330851434604943568734576268953512124045296316546196116893217420624990422779890496171552808691511250522956231350594416451983417511762071645769612091627978141352715610441986144325548348849276072876788639490200224406539056886758129824210065746192107103501146994804433841350043801925057346957235521609358877141023574983242601500833948119886981957219724730019382117414893625173841001341020804636641500321502666558798005285434491636689716611056567390213920746784561083368067694481386553683403445896313724626313157391474726264953002870539571795955938490062740364452353257615349521561451744079159322158080956918252755833934411113218000440080240520630348160323451335518185725976066114535291676891075742863792328013777846513555000942568925051444644007979190913659344976483407444622776008498868930579737451504466460863189803632948424091350433094097454295517365042423952994168042368353948785870773554299225673361739960993615716105299983389216654740389766142451428971623088352831541542673682741746021420567496085356432476371902094214292787214902596902080400086278382469247001102131569434116905882906005976394886793463339303558429853101134408824523536504329490975874643717882698494619689374871692816904223497462509651219727968453150946603006037627100737148250488120781132869353957390798469129897446433442230133903537553300727873246147294404081424824765976098695867092213731346991856105345783794934458933751407167282738502366141253374948242968218169051219558032594142147198059053978551385189121828014399467822857819244118634092766872349712476664536875537606107135961575904931948784698981364445835684855704546007317247591997494060828433615187430609546419309617246447299869167305543881364595564492865227652614456038183492234240195836056116927302118561147139824166795029593052688679123713831493623936521 935331970553873445033618912696975007711847888801607132844172561522280507227420581534401349615358703960853732146124218294743619357999893269854457954947795211243502169812648108244121193393778550012045450673125845336452580333746911919378264097235575536755885863810163732197887433264680725984417601836504486070325395588096136178481848100881905554215269307436974800189882617547315169058057645131291482317485614379757143871263037144571065424191541737075280864229718067709933110162221319895983178400433234975162061513705481367947844891661227723018505888163904425595436189348592055422914771442087403640373360523432587949341350756309884280470282968017203190716123117599205312393958609798799749684811451027478063023610769018653242333251579485958463495391930520708892862623919950774624904191106226132149519532554045346291060645980090921237839705663732766925198656712751986933693108592057526193397167906494601325390130890045998892596377478090702198798406156047084158027112739661426058921835159737658360143104875489018847536970186866935263164384335767292044073104947183245449874896997949632489579999545904658646084201525073251687117216729076259776121411207576296740505854989422584105633249045962423221853036475568653276990151588907951291945376538842516869224231584174330044494151012633555564592534081075512697459219028816990776591348794123125246909907593994408820785458215081400898571971292221086174047757961844735858161262997777787343653130636458686723102683496259383811266340416759915225055369724343544204824093458926429295245549065045437733038792043779464730490209858671129576392040322231152936573404168454698737595892809467551485657139390116356899655246534103460468210566421017002461356241266270551648997626284378138362901211317597726744985793865382843343203294579630487068286965925303317468826086041090499453704660971976359132827694285171598927076368318793565534915664982941721265393122242099027799300234168931843360306007077684532466515170601346162652289480072067541306265565185882929343577881674184336916831286559207104913120885254051487625111473192812017527048964346547088128572378969946168523524694401616844001009762009923104030340926454073379012399741829882707256684632538335181727507225291569559470366848546386899997349661243798623858953643933815663249248602518104024736186863443058652315022204114087058081217514040637954604322490038840379184551998866628028193845471008408982644362524455966882728594086622014333601606317421224390222428653296629728032643866292454327232807319718049337781842608644022702019553137259201196113760849149580283693979890876263278802566523171916377237109001920685803546189498272509213182879284456778650921794663394452844834590033130963407195943069552399021472572309359376644756021902363649654173334808638970718958342177406854835502431030263095586621517115699251070876426464083151024241955969053978185253112936261978689566611241492713950766365940809018051504531522729803 1513398919120583045194439213194623532404202392800280391578452158438731466979438825832342893235220196671168642205101853734206980383139698014105355371430525612076364199349629655136382616030114515271253318306736907881870521971939645962520039829847452724025888284665838421783723896055767200419844368115627363871073843696512716162185176591225137301849403197581305842023145840975092342664645032509893124422180905653228004471259629296167002151509574204328162592357215020454056217422930828289379254499832923545296123697378844123262843005888349521342192291867683901279530239378723512301517749677125619808081731645755951518462220405265323032473199290297944619724477153331999007532710384273568256241549317189345015825294592251911245024500095628737493764757239137054749874254143279531108042199842808585018626935024170475861198664229842877952828946204609353142774116226601172733908723786403416338770321251605454864633589119189048594823797362793057827815315792458306948522712736440876569629271841164949993034251159166457481086278583499687111231762305406634767620124045087251141913995870831527153867602221459739836036377060404103121722160297810836045074923331621593057052051106315801526258239468742313718024589284260164527513107820258545708397359956354278940870001196265958022635503728243997550736859629424361973532095817456480976815755333180012005039731804060155012892561716228395703005812642264888099105104919080257467520140138801362326895732137292634842989665453479108541285722534174808850229210725684565009460734959247931961804347070330872224675481760390521297880423779417914137475408389925634323127087571900595051320519122624942960383404343119227439227042490041950530950930873370260076705762827722295728156948442459095281153967151532137858203794305463083863833642739953938403805151651279383583361377717981575196568453299990136979341249286114167852127812962801544725829324327918204672837745018107526668230813906383347826766870267488165414939261951779256749743775589432583730218559353925297697526667544957891216056959920947065906736601359351471014328127933201783669500393318170176481403920512619851265270715822184340086366194486295006124555219241288281609301822229968985639153879539437313296941342197452465476343243433180363336653219673651724993362468457352167578739578392747742618885358062748027186715021018310555543727165260365923057473436641846416811652736014878516314626603877762940035160993585864329162036316755917871154907045294470537516832734721454494008742562159546540964154311574154683565637543102956453426720419997703562255014224097823251912148942095821311396708670369975431215660387109807631560588966095367032426997918549545523271507140058989720372196140266924983100875018337098002837018145044232349302029219611241651667395637072585906388951723826164452748878330132262892165398480294815563741654116697607062425448203294174021309229863564097250713751065659508980359418629488141765336025146666324 2448730889674456490228058125891598540116050281601887524422624719961011974206859407366744242850578900632022374351226072028950599741139591283959813326378320823319866369162277763380503809423893065283298768979862753218323102305686557881898303927083028260781774148476002153981611329320447926404261969952131849941399239284608852340667024692107042856064672505018280642213028458522407511722702677641184606739666520032985148342522666440738067575701115941403443456586933088163989327585152148185362432900266158520458185211084325491210687897549577244360698180031588326874966428727315567724432521119213023448455092169188539467803571161575207312943482258315147810440600270931204319926668994072368005926360768216823078848905361270564487357751675114695957260149169657763642736878063230305732946390949034717168146467578215822152259310209933799190668651868342120067972772939353159667601832378460942532167489158100056190023720009235047487420174840883760026613721948505391106549825476102302628551107000902608353177356034655476328623248770366622374396146641173926811693228992270496591788892868781159643447601767364398482120578585477354808839377026887095821196334539197889797557906095738385631891488514704736939877625759828817804503259409166497000342736495196795810094232780440288067129654740877553115329393710499874670991314846273471753407104127303137251949639398054563833678019931309796601577783934485974273152862880924993325681403136579149670548862773751321566092348949738492352552062950934724075284580450028109214284828418174361257049896135376309957714273804169986028370633638089043713867448712156787259700491740355293788916411932092494446040543733235584338882289024145410999161497294387262538062004093992847377154574726837233644055178469129864603189588170845927207036937319584425472092117576582701052187463759072074650273114271966496112168943571285766779204181281595110260744989310859925938230867260206554467531048075315191187072877345172697881454432553125419402033255661500125036484124539808227041104549219142228132888246480154170819857486613402958639439601126013801196549357664717264609976299482566019788795410223801184087375956496218110154896145695361660621701564059851692895838512077772495024448567489022024946710091979567263334002880917450348852316112391167830827988180910851767355072221505806679501737225132397613624944679301003877661795926680686795996204734881506544508472074886171922679523518041831211890630403377932204756513362715694927739261388018084222041386428452000868196961631292204021347480151746979155446273557256904758368775073247403535606128832972084590199275193541891808452769389030493435106778464367876245609877203006324174193301803453442565206786173397888390296818087889497024309590454403608994058051121974891305840730445711556625347293901233019288251309360395358478786915595994066634618080580780758086667404172348152206562342799826075940280362307152222931125784570297159816840556669396127 3962129808795039535422497339086222072520252674402167916001076878399743441186298233199087136085799097303191016556327925763157580124279289298065168697808846435396230568511907418516886425454007580554552087286599661100193624277626203844418343756930480984807662433141840575765335225376215126824106338067759213812473082981121568502852201283332180157914075702599586484236174299497499854387347710151077731161847425686213152813782295736905069727210690145731606048944148108618045545008082976474741687400099082065754308908463169614473530903437926765702890471899272228154496668106039080025950270796338643256536823814944490986265791566840530345416681548613092430165077424263203327459379378345936262167910085406168094674199953522475732382251770743433451024906408794818392611132206509836840988590791843302186773402602386298013457974439776677143497598072951473210746889165954332401510556164864358870937810409705511054657309128424096082243972203676817854429037740963698055072538212543179198180378842067558346211607193821933809709527353866309485627908946580561579313353037357747733702888739612686797315203988824138318156955645881457930561537324697931866271257870819482854609957202054187158149727983447050657902215044088982332016367229425042708740096451551074750964233976706246089765158469121550666066253339924236644523410663729952730222859460483149256989371202114718846570581647538192304583596576750862372257967800005250793201543275380511997444594911043956409082014403217600893837785485109532925513791175712674223745563377422293218854243205707182182389755564560507326251057417506957851342857102082421582827579312255888840236931054717437406423948076354811778109331514187361530112428167757522614767766921715143105311523169296328925209145620662002461393382476309011070870580059538363875897269227862084635548841477053649846841567571956633091510192857399934631331994244396654986574313638778130611068612278314081135761861981698539013839747612660863296393694504904676151777031250932708766702683893733524738631216764100119348945206401101236726594087972754429653767729059215584866049750982887441091380219995185871054066126045985524173742150982513116279451364936649942231003386289820678534992391617209808321389909686474490423053335412747626670656100591102073845678580848519998406727759303599509973957579568554706688452246150708169168671844561369800719269363322533212807857470896385060823098678763934862714684511627695541052666720133850075911420408010165465256094122739538716050128990611547409161115942866358704913117694849935608872993977254608320623789297345226787518277775067905901595983863911867239668429776140301066667367430463243278036875121555869697464808943512432285578982313664813373397693106226595027146608599447841343360080341586132957508126082784142531736245625059183741000187690527621370952314076288882198359734697478365149092852375642326227871572663390173190994113372811731911485203199785301582176581816062451 6410860698469496025650555464977820612636302956004055440423701598360755415393157640565831378936377997935213390907553997792108179865418880582024982024187167258716096937674185181897390234877900645837850856266462414318516726583312761726316647684013509245589436581617842729746946554696663053228368308019891063753872322265730420843519225975439223013978748207617867126449202758019907366110050387792262337901513945719198301156304962177643137302911806087135049505531081196782034872593235124660104120300365240586212494119547495105684218800987504010063588651930860555029463096833354647750382791915551666704991915984133030454069362728415737658360163806928240240605677695194407647386048372418304268094270853622991173523105314793040219740003445858129408285055578452582035348010269740142573934981740878019354919870180602120165717284649710476334166249941293593278719662105307492069112388543325301403105299567805567244681029137659143569664147044560577881042759689469089161622363688645481826731485842970166699388963228477410138332776124232931860024055587754488391006582029628244325491781608393846440762805756188536800277534231358812739400914351585027687467592410017372652167863297792572790041216498151787597779840803917800136519626638591539709082832946747870561058466757146534156894813209999103781395647050424111315514725510003424483629963587786286508939010600169282680248601578847988906161380511236836645410830680930244118882946411959661667993457684795277975174363352956093246389848436044257000798371625740783438030391795596654475904139341083492140104029368730493354621691055596001565210305814239208842528071052611182629153342986809931852464491809590396116991620538332772529273925462144785152829771015707990482466097896133562569264324089791867064582970647154938277907517379122789347989386804444785687736305236125724497114681843923129203679136428685701410536175525991765247319302949638056549299479538520635603292910057013730200912624957833561177848127058030095553810286912432833803186808433541751779735765983242347481833452881255407546451574586157388293207330185229386062599108647604705701356519477751890842861536269786708261118107478731226434347510632011602852704950349672371430830903694982303345838477175496515369763427392314890004658981508552422697994693239687829234715940214451277329029801074361386190189471283105782793616523862373678381065290003220008804062205777891605331570753650106785394208029669526752943297123511782280667933770725860392995355510757622938091515419063548277358077574158562726260597846596914764319267534511513078992564370592630323124406608039990491795259057453759048121199165170794501774145894831119523646752324562193871658110746965874850785768487062701763694511194116092051456199053851450337418131463561024263348856528495699157083539526292203029251497050922979849739229672282948832977815278259123235760256547990478434433915463216249131274475679963954842610987770082461399017138485458578 10372990507264535561073052804064042685156555630406223356424778476760498856579455873764918515022177095238404407463881923555265759989698169880090150721996013694112327506186092600414276660331908226392402943553062075418710350860938965570734991440943990230397099014759683305512281780072878180052474646087650277566345405246851989346371427258771403171892823910217453610685377057517407220497398097943340069063361371405411453970087257914548207030122496232866655554475229305400080417601318101134845807700464322651966803028010664720157749704425430775766479123830132783183959764939393727776333062711890309961528739799077521440335154295256268003776845355541332670770755119457610974845427750764240530262180939029159268197305268315515952122255216601562859309961987247400427959142476249979414923572532721321541693272782988418179175259089487153477663848014245066489466551271261824470622944708189660274043109977511078299338338266083239651908119248237395735471797430432787216694901901188661024911864685037725045600570422299343948042303478099241345651964534335049970319935066985992059194670348006533238078009745012675118434489877240270669962451676282959553738850280836855506777820499846759948190944481598838255682055848006782468535993868016582417822929398298945312022700733852780246659971679120654447461900390348347960038136173733377213852823048269435765928381802284001526819183226386181210744977087987699017668798480935494912084489687340173665438052595839234384256377756173694140227633921153789926312162801453457661775955173018947694758382546790674322493784933291000680872748473102959416553162916321630425355650364867071469390274041527369258888439885945207895100952052520134059386353629902307767597537937423133587777621065429891494473469710453869525976353123463949348778097438661153223886656032306870323285146713179374343956249415879762295189329286085636041868169770388420233893616588416187160368091816834716739054772038712269214752372570494424474241821562934771705587318163365542569889492327275276518366982747342466830778659282356644273045662558911817946975059244444970928648859630492146792736739472937761896927662315772232434860258461244342713798875568661545083708336639493049965823295312192111667228386861971005792816762805062516675315082099654496543673274088207827641443699518050787302987380642916092878641717433813951962288368423743479100334653325753221611919676674276666154669432414041648108892541297222293995963843645632356579354178736025858251449633497161654141644409675095686519193517024921431173715541446850373192261511766121399616353667937857110642684383107896393391242921365626287789628941311095568441513325294362801683627446118063569122919690478307136364750800727515137092204300342687078602807653299291680778211805147157220856982611279841688819785151351386770251684741450601220691543748571831031337549975737488384853108923632804662305488126606422322268589052775686754096190969867762981193720301521029 16783851205734031586723608269041863297792858586410278796848480075121254271972613514330749893958555093173617798371435921347373939855117050462115132746183180952828424443860277782311666895209808872230253799819524489737227077444251727297051639124957499475986535596377526035259228334769541233280842954107541341320217727512582410189890653234210626185871572117835320737134579815537314586607448485735602406964875317124609755126392220092191344333034302320001705060006310502182115290194553225794949928000829563238179297147558159825841968505412934785830067775760993338213422861772748375526715854627441976666520655783210551894404517023672005662137009162469572911376432814652018622231476123182544798356451792652150441720410583108556171862258662459692267595017565699982463307152745990121988858554273599340896613142963590538344892543739197629811830097955538659768186213376569316539735333251514961677148409545316645544019367403742383221572266292797973616514557119901876378317265589834142851643350528007891744989533650776754086375079602332173205676020122089538361326517096614236384686451956400379678840815501201211918712024108599083409363366027867987241206442690854228158945683797639332738232160979750625853461896651924582605055620506608122126905762345046815873081167490999314403554784889119758228857547440772459275552861683736801697482786636055722274867392402453284207067784805234170116906357599224535663079629161865739030967436099299835333431510280634512359430741109129787386617482357198046927110534427194241099806346968615602170662521887874166462597814302021494035494439528698960981763468730560839267883721417478254098543617028337301111352931695535604012092572590852906588660279092047092920427308953131124070243718961563454063737793800245736590559323770618887626685614817783942571876042836751656011021451949305098841070931259802891498868465714771337452404345296380185481212919538054243709667571355355352342347682095725999415664997528327985652089948620964867259397605075798376373076300760817028298102748730584814312612112163612051819497237145069206240182389429674356991247968278096852494093258950689652739789198585558940695978365939975569148146386200673147936413286989165421396654199007174415013066864037467521162580190197377406679974063608206919241667967327895656876159639732502064632017181717277479068831188716919734755904892286117157481399943328973230415981882452168271486240186064148433503100570966749046939260967157414637247287949461886251246805144254784592233159828738643963877271091183484157434313388043765137511529046277634478608918038530487433767090991147886885186501978819385335910828106481890070215659220125482325330379770680257440781030437444181987150519287790216900786715494458779130059006707150742018196343268708181484205839139775540845903324677643589799503181792373581070430773420854779864315365253996611620613365471623283096739403589822671453543064732739641596707178739950224380210858786979607 27156841712998567147796661073105905982949414216816502153273258551881753128552069388095668408980732188412022205835317844902639699844815220342205283468179194646940751950046370382725943555541717098622656743372586565155937428305190692867786630565901489706383634611137209340771510114842419413333317600195191618886563132759434399536262080492982029357764396028052774347819956873054721807104846583678942476028236688530021209096479478006739551363156798552868360614481539807582195707795871326929795735701293885890146100175568824545999718209838365561596546899591126121397382626712142103303048917339332286628049395582288073334739671318928273665913854518010905582147187934109629597076903873946785328618632731681309709917715851424072123984513879061255126904979552947382891266295222240101403782126806320662438306415746578956524067802828684783289493945969783726257652764647831141010358277959704621951191519522827723843357705669825622873480385541035369351986354550334663595012167491022803876555215213045616790590104073076098034417383080431414551327984656424588331646452163600228443881122304406912916918825246213887037146513985839354079325817704150946794945292971691083665723504297486092686423105461349464109143952499931365073591614374624704544728691743345761185103868224852094650214756568240412676319447831120807235590997857470178911335609684325158040795774204737285733886968031620351327651334687212234680748427642801233943051925786640008998869562876473746743687118865303481526845116278351836853422697228647698761582302141634549865420904434664840785091599235312494716367188001801920398316631646882469693239371782345325567933891069864670370241371581480811907193524643373040648046632721949400688024846890554257658021340026993345558211263510699606116535676894082836975463712256445095795762698869058526334306598662484473185027180675682653794057795000856973494272515066768605715106536126470430870035663172190069081402454134438268630417370098822410126331770183899638964984923239163918942965793088092304816469731477927281143390771445968696092542899703981024187157448674119327919896827908588999286829998423627414636716860901331173130838624401219911861945261769334693020121623628658471362477494319366526680295250899438526955396953002439923355289145707861415785341241416103484517603339250552851935004562360193571947472906150733686718193260709860636581734596654726452027901559126444937640909618478190081611993112263971340935224810803046993826642128197912109498254777751946246374804238413739650396464608208405588608028929490615510703790558043755878225271706468344544409775374255783278577744900185011623700457047792985638657172545419845127014007216798321009903950127922489123515270088517732037878919794801466208661814360450033698974555073855338705062821751055382534723109828994976569754866533824182291122317169426610895652915229734100005466474395256087759044891716429093775811653785515328350803369709817987361404579088500636 43940692918732598734520269342147769280742272803226780950121738627003007400524682902426418302939287281585640004206753766250013639699932270804320416214362375599769176393906648165037610450751525970852910543192111054893164505749442420164838269690858989182370170207514735376030738449611960646614160554302732960206780860272016809726152733727192655543635968145888095084954536688592036393712295069414544882993112005654630964222871698098930895696191100872870065674487850309764310997990424552724745663702123449128325397323126984371841686715251300347426614675352119459610805488484890478829764771966774263294570051365498625229144188342600279328050863680480478493523620748761648219308379997129330126975084524333460151638126434532628295846772541520947394499997118647365354573447968230223392640681079920003334919558710169494868960346567882413101324043925322386025838978024400457550093611211219583628339929068144369387377073073568006095052651833833342968500911670236539973329433080856946728198565741053508535579637723852852120792462682763587757004004778514126692972969260214464828567574260807292595759640747415098955858538094438437488689183732018934036151735662545311824669188095125425424655266441100089962605849151855947678647234881232826671634454088392577058185035715851409053769541457360170905176995271893266511143859541206980608818396320380880315663166607190569940954752836854521444557692286436770343828056804666972974019361885939844332301073157108259103117859974433268913462598635549883780533231655841939861388649110250152036083426322539007247689413537333988751861627530500881380080100377443308961123093199823579666477508098201971481594303277016415919286097234225947236706911813996493608452155843685381728265058988556799621949057310945342707095000664701724602149327074229038367638741705810182345328050611789572026098111935485545292926260715628310946676860363148791196319455664524674579703234527545421423750136230164268046082367627150395778421718804864506224382528314962295316042093848909333114572480208512095456002883609580747912040136849050230427339838103793684911144796186685851780923257374317067376506059486890113826816990341195481010091647970007840956534910617823892759131693326540941693362114936906048117977143199817330035263209316068335027009208743999141393762978983054916567021744077471051016304094867653421474098152995977794063134539983699682443883441578613209127149804542338515115093683230720387874485777960461631073930077659798360745059922006730838607964067152383614273735699391889746042342317534380648215319604321390356834189744998831978176866365403670163764246879004396959611285154274875708872831765545327452344386987478578450684980565366671110665789376307948938665635289260245338720821067600775717170898342563520189268660890830923380626434506638566369258048326197763361553090590281390759968280483730711626079839866879370855784295306251765229354718518254969947510548449768211741615437875480243 71097534631731165882316930415253675263691687020043283103394997178884760529076752290522086711920019469997662210042071611152653339544747491146525699682541570246709928343953018547763554006293243069475567286564697620049101934054633113032624900256760478888753804818651944716802248564454380059947478154497924579093343993031451209262414814220174684901400364173940869432774493561646758200817141653093487359021348694184652173319351176105670447059347899425738426288969390117346506705786295879654541399403417335018471497498695808917841404925089665909023161574943245581008188115197032582132813689306106549922619446947786698563883859661528552993964718198491384075670808682871277816385283871076115455593717256014769861555842285956700419831286420582202521404976671594748245839743190470324796422807886240665773225974456748451393028149396567196390817989895106112283491742672231598560451889170924205579531448590972093230734778743393628968533037374868712320487266220571203568341600571879750604753780954099125326169741796928950155209845763195002308331989434938715024619421423814693272448696565214205512678465993628985993005052080277791568015001436169880831097028634236395490392692392611518111078371902449554071749801651787312752238849255857531216363145831738338243288903940703503703984298025600583581496443103014073746734857398677159520154006004706038356458940811927855674841720868474872772209026973649005024576484447468206917071287672579853331170636033582005846804978839736750440307714913901720633955928884489638622970951251884701901504330757203848032781012772646483468228815532302801778396732024325778654362464982168905234411399168066641851835674858497227826479621877598987884753544535945894296477002734239639386286399015550145180160320821644948823630677558784561577613039330674134163401440574868708679634649274274045211125292611168199086984055716485284440949375429917396911425991790995105449738897699735490505152590364602536676499737725972805904753488988764145189367451554126214259007886937001637931042211686439376599393655055549444004583036553031254614497286777913012831041624095274851067753255797944482013222920388221286957655614742415392872036909739342533976656534246482364121609187645907468373657365836344575073374096202257253390552355023929750812350450160102625911366318233607768502026306437664622963777001018387108192291413705838430644869136638426134471785000705058146768059423020528596727086795494691728809710588763508624900572205857710470243314699758677084982768305566123264670200307600295334650371247024996158919110162365146235059461451467176522586641739659453442341991779189408583311742202067861347530004310965172579358394204276899460588930693289160234181059464825680976544555084061711547382635428050809416145453416418858894331482641886305915349544335633542939012914860021945652675407759708001655621195713464811631546314262135458614829187022680859005166372303770298298313918159586199103020016963980879 115038227550463764616837199757401444544433959823270064053516735805887767929601435192948505014859306751583302214248825377402666979244679761950846115896903945846479104737859666712801164457044769040328477829756808674942266439804075533197463169947619468071123975026166680092832987014066340706561638708800657539300124853303468018988567547947367340445036332319828964517729030250238794594529436722508032242014460699839283137542222874204601342755539000298608491963457240427110817703776720432379287063105540784146796894821822793289683091640340966256449776250295365040618993603681923060962578461272880813217189498313285323793028048004128832322015581878971862569194429431632926035693663868205445582568801780348230013193968720489328715678058962103149915904973790242113600413191158700548189063488966160669108145533166917946261988495964449609492142033820428498309330720696632056110545500382143789207871377659116462618111851816961635063585689208702055288988177890807743541671033652736697332952346695152633861749379520781802276002308445958590065335994213452841717592390684029158101016270826021498108438106741044084948863590174716229056704185168188814867248764296781707315061880487736943535733638343549644034355650803643260430886084137090357887997599920130915301473939656554912757753839482960754486673438374907340257878716939884140128972402325086918672122107419118425615796473705329394216766719260085775368404541252135179891090649558519697663471709190690264949922838814170019353770313549451604414489160540331578484359600362134853937587757079742855280470426309980472220090443062803683158476832401769087615485558181992484900888907266268613333429978135513643745765719111824935121460456349942387904929158577925021114551458004106944802109378132590291530725678223486286179762366404903172531040182280678891024962699886063617237223404546653744379910316432113595387626235793066188107745447455519780029442132227280911928902726594766804722582105353123201683175207793628651413749979869088509575049980785910971045614691894951472055396538665130191916623173402081485041837124881706697742186420281960702848676513172261549389728979875111400784472605083610873882128557709350374933191444864306256880740880972448410067019480773250623191351239402074583425815564339998085839359658904101767305129297216662685069048050515135673980081095886040529666389566701816224708003676622125816915668442283671355895209227562867111842180478725412116684196366723970255974502283517508830988374621765407923590732372718506878943936006992185080692713564559376807134429766686536591893651196466008500763508105063123606106238658193805542923027356342737056402836076510500031702781191755477911273911258655831344846848841133629915210190373321956886103456495651585133316351758982379083600143532717229295975978842272109308270963186219709014228498349989392415589476197195523257626154129014829470613482328932624234521090822025268245824466609354410844635454839461122 186135762182194930499154130172655119808125646843313347156911732984772528458678187483470591726779326221580964424290896988555320318789427253097371815579445516093189033081812685260564718463338012109804045116321506294991368373858708646230088070204379946959877779844818624809635235578520720766509116863298582118393468846334919228250982362167542025346436696493769833950503523811885552795346578375601519601035809394023935310861574050310271789814886899724346918252426630544457324409563016312033828462508958119165268392320518602207524496565430632165472937825238610621627181718878955643095392150578987363139808945261072022356911907665657385315980300077463246644865238114504203852078947739281561038162519036362999874749811006446029135509345382685352437309950461836861846252934349170872985486296852401334881371507623666397655016645361016805882960023715534610592822463368863654670997389553067994787402826250088555848846630560355264032118726583570767609475444111378947110012634224616447937706127649251759187919121317710752431212154209153592373667983648391556742211812107843851373464967391235703621116572734673070941868642254994020624719186604358695698345792931018102805454572880348461646812010245999198106105452455430573183124933392947889104360745751869253544762843597258416461738137508561338068169881477921414004613574338561299649126408329792957028581048231046281290638194573804266988975746233734780392981025699603386808161937231099550994642345224272270796727817653906769794078028463353325048445089424821217107330551614019555839092087836946703313251439082626955688319258595106484936873564426094866269848023164161390135300306434335255185265652994010871572245340989423923006214000885888282201406161312164660500837857019657089982269698954235240354356355782270847757375405735577306694441622855547599704597349160337662448348697157821943466894372148598879828575611222983585019171439246514885479181029927016402434055316959369341399081843079096007587928696782392796603117431423214723834057867722912608976656903581390848654790193720679635921206209955112739656334411659619710573228044377235553916429768970206031402951900263332687742128219826026266754165467448692908909847979110788621002350068618355878440676846609595198264725335604331836816367919363927836651710109064204393216495615450270453571074356952800296943858096904427637858680980407654655352872813260551951387453442988729502663268650583395708569267274220103845493906955487478880875074489375219301231689321524085008573500678284630143614136314592480415343084811584372966053539929051682826953112647933185023350149844722577048448230437383214126234769558410598403932840387475672611061175396032377371862841951944991579027908305959310891754745457383668433486091923702394549461805175401237977931626174603535211325523177905652247283878046241654666903906109697394071210671910660334889172468391150288085442669351613483239687463125795566544138384768940609947655471803442001 301173989732658695115991329930056564352559606666583411210428468790660296388279622676419096741638632973164266638539722365957987298034107015048217931476349461939668137819672351973365882920382781150132522946078314969933634813662784179427551240151999415031001754870985304902468222592587061473070755572099239657693593699638387247239549910114909365791473028813598798468232554062124347389876015098109551843050270093863218448403796924514873132570425900022955410215883870971568142113339736744413115525614498903312065287142341395497207588205771598421922714075533975662246175322560878704057970611851868176356998443574357346149939955669786217637995881956435109214059667546137129887772611607487006620731320816711229887943779726935357851187404344788502353214924252078975446666125507871421174549785818562003989517040790584343917005141325466415375102057535963108902153184065495710781542889935211783995274203909205018466958482377316899095704415792272822898463622002186690651683667877353145270658474344404393049668500838492554707214462655112182439003977861844398459804202791873009474481238217257201729554679475717155890732232429710249681423371772547510565594557227799810120516453368085405182545648589548842140461103259073833614011017530038246992358345672000168846236783253813329219491976991522092554843319852828754262492291278445439778098810654879875700703155650164706906434668279133661205742465493820555761385566951738566699252586789619248658114054414962535746650656468076789147848342012804929462934249965152795591690151976154409776679844916689558593721865392607427908409701657910168095350396827863953885333581346153875036189213700603868518695631129524515318011060101248858127674457235830670106335319890089681615389315023764034784379077086825531885082034005757133937137772140480479225481805136226490729560049046401279685572101704475687846804688580712475216201847016049773126916886702034665508623162154297314362958043554136146121663948432219209271103904576021448016867411292303233409107848508823580022271595476342320710186732385809827837829383357194224698171536541326408315414464659196256765106282142467580792680880138444088526600824909637140636294025158043283843039423975094877883090949590804288507696327382845821456076575006406420242183483703925922491069767968306160521624912666933138640122407467935970923939192790468167525070547109470880060876489882677768303121885272400858558477878146262820411447752945515962178103322211449136849576772892728132220063943289492932164233051003137022558072321584665496035798376143749773187969695738219418846763844399193524113657949785700654554469095577019669157796914753335460335676463986172642763956587787855283136753210600822923874757147092940806964935830705625319589548419353979682778156934383617061531769707320764507301502020177761555554841232461363681132404459686786486800148107855858146798622520165117556056151680546107474208553947820834789962851378295020792290926642903123 487309751914853625615145460102711684160685253509896758367340201775432824846957810159889688468417959194745231062830619354513307616823534268145589747055794978032857170901485037233930601383720793259936568062399821264925003187521492825657639310356379361990879534715803929712103458171107782239579872435397821776087062545973306475490532272282451391137909725307368632418736077874009900185222593473711071444086079487887153759265370974825144922385312799747302328468310501516025466522902753056446943988123457022477333679462859997704732084771202230587395651900772586283873357041439834347153362762430855539496807388835429368506851863335443602953976182033898355858924905660641333739851559346768567658893839853074229762693590733381386986696749727473854790524874713915837292919059857042294160036082670963338870888548414250741572021786686483221258062081251497719494975647434359365452540279488279778782677030159293574315805112937672163127823142375843590507939066113565637761696302101969593208364601993656152237587622156203307138426616864265774812671961510235955202016014899716860847946205608492905350671252210390226832600874684704270306142558376906206263940350158817912925971026248433866829357658835548040246566555714504406797135950922986136096719091423869422390999626851071745681230114500083430623013201330750168267105865617006739427225218984672832729284203881210988197072862852937928194718211727555336154366592651341953507414524020718799652756399639234806543378474121983558941926370476158254511379339389974012699020703590173965615771932753636261906973304475234383596728960253016653032223961253958820155181604510315265171489520134939123703961284123535386890256401090672781133888458121718952307741481202254342116227172043421124766648776041060772239438389788027981694513177876057785919923427991774090434157398206738942133920798862297631313699060729311355044777458239033358146088325948549550987804192081313716797013360513505487520745791511315216859032601358414244619984842715517957243165716231736188998928499057733169364976926106489463759035593312306964354505948200946118888642509036431810681536051112673612195632780401776776268729044735663407390459492606736192752887403085883498885441018209160166948373173992441019720801910610738257058551403067853759142779877032510553738120528117203592211196764420736267867797289694895805383751527517125535413749303143229719690575328261130361221746528729658528980715027165619807672010277698928017724651262267947433451753264813577940737733729287767166172208636177145911378883187728122739241509624789902245799876492332378547463807794508277703002699532960233795392566473163933864268516851461845253825131983820232654999595162545814502902665453052251698719681288089293753075640343056374232239962109784855039463395881924299718627025198083413802838719278703018348036310569384180558010820018516193035971090911315405641498821032159590713896017073616401334101236147235630739946398446345124 788483741647512320731136790032768248513244860176480169577768670566093121235237432836308785210056592167909497701370341720471294914857641283193807678532144439972525308721157389207296484304103574410069091008478136234858638001184277005085190550508378777021881289586789234614571680763694843712650628007497061433780656245611693722730082182397360756929382754120967430886968631936134247575098608571820623287136349581750372207669167899340018054955738699770257738684194372487593608636242489800860059513737955925789398966605201393201939672976973829009318365976306561946119532364000713051211333374282723715853805832409786714656791819005229820591972063990333465072984573206778463627624170954255574279625160669785459650637370460316744837884154072262357143739798965994812739585185364913715334585868489525342860405589204835085489026928011949636633164138787460828397128831499855076234083169423491562777951234068498592782763595314989062223527558168116413406402688115752328413379969979322738479023076338060545287256122994695861845641079519377957251675939372080353661820217691589870322427443825750107080225931686107382723333107114414519987565930149453716829534907386617723046487479616519272011903307425096882387027658973578240411146968453024383089077437095869591237236410104885074900722091491605523177856521183578922529598156895452179205324029639552708429987359531375695103507531132071589400460677221375891915752159603080520206667110810338048310870454054197342290029130590060348089774712488963183974313589355126808290710855566328375392451777670325820500695169867841811505138661910926821127574358081822774040515185856469140207678733835542992222656915253059902208267461191921639261562915357549622414076801092344023731616487067185159551027853127886304124520423793785115631650950016538265145405233128000581163717447253140221819492900566773319160503749310023830260979305255083131273005212650584216496427354235611031159971404067641633642409739943534426130136505934435692636852254007821190652273564740559769021200094534075490075163658492299291596864976669501189052677484742272527204056973695628067446642333255141192988313660540220864795329869645300548026753517764779476595926827060978376768531967799964455456069501375286841176878485617144677300734886771779681633849645000816714259745440784136730851319171888672238791736482485363972908822074626596415474625793025907487993697213533531219780224406875921349392162780111135769850113599910377154574228035160675565671817208103070872901966780290904188730280957761811407414681563871872512429479320528121664646640336731572071577465744293978357557168628537253464550363387917269324604193315448017896589088571608087938136348373146637426777422600145192505684617118794919072665188762410353915018119044168472100995165589245064225928527218261175358393560511164382029168715029070967044810968126372051182769713431480523197554972712705698188104571021437236124064087525530651532237325089248247 1275793493562365946346282250135479932673930113686376927945108872341525946082195242996198473678474551362654728764200961074984602531681175551339397425587939418005382479622642426441227085687824367670005659070877957499783641188705769830742829860864758139012760824302593164326675138934802625952230500442894883209867718791585000198220614454679812148067292479428336063305704709810144147760321202045531694731222429069637525966934538874165162977341051499517560067152504874003619075159145242857307003501861412948266732646068061390906671757748176059596714017877079148229992889405440547398364696136713579255350613221245216083163643682340673423545948246024231820931909478867419797367475730301024141938519000522859689413330961193698131824580903799736211934264673679910650032504245221956009494621951160488681731294137619085827061048714698432857891226220038958547892104478934214441686623448911771341560628264227792167098568708252661225351350700543960003914341754229317966175076272081292331687387678331716697524843745150899168984067696383643732064347900882316308863836232591306731170373649434243012430897183896497609555933981799118790293708488526359923093475257545435635972458505864953138841260966260644922633594214688082647208282919376010519185796528519739013628236036955956820581952205991688953800869722514329090796704022512458918632549248624225541159271563412586683300580393985009517595178888948931228070118752254422473714081634831056847963626853693432148833407604712043907031701082965121438485692928745100820989731559156502341008223710423962082407668474343076195101867622163943474159798319335781594195696790366784405379168253970482115926618199376595289098523862282594420395451373479268574721818282294598365847843659110606284317676629168947076363958813581813097326164127892596051065328661119774671597874845459879163953413699429070950474202810039335185305756763494116489419093538599133767484231546316924747956984764581147121163155531454849642989169107292849937256837096723339147895439280972295958020128593591808659440140584598788755355900569981808153407183432943218646092699482732059878128178384367814805183946440941997641064058914380963955417213010371515669348814230146861875653972986009124622404442675367727860897680396227882934359286289839633440776629522033327267997865968901340323062515936309408506659533772180259778292573602143721950888375096169137207684272541794661581001970935605579878372877807276755577522123877609305172298879297428622999123570472916648813639700509578671354902489593938957318793564751599995251670988945318023910446516829063950619041273538802256060559868161497487259942929861081203188872710166909863150414220555428320593135943535692451929680088053197444204404298406884212825740829105466728147258081153953327140458561471169363944555552416344589161232279789867400377205025598455147602821788144888244218740804342795928839053793744865288902000588095053637458165323672766282272183723535593371 2064277235209878267077419040168248181187174973862857097522877542907619067317432675832507258888531143530564226465571302795455897446538816834533205104120083857977907788343799815648523569991927942080074750079356093734642279189890046835828020411373136916034642113889382398941246819698497469664881128450391944643648375037196693920950696637077172904996675233549303494192673341746278395335419810617352318018358778651387898174603706773505181032296790199287817805836699246491212683795387732658167063015599368874056131612673262784108611430725149888606032383853385710176112421769441260449576029510996302971204419053655002797820435501345903244137920310014565286004894052074198260995099901255279716218144161192645149063968331654014876662465057871998569078004472645905462772089430586869724829207819650014024591699726823920912550075642710382494524390358826419376289233310434069517920706618335262904338579498296290759881332303567650287574878258712076417320744442345070294588456242060615070166410754669777242812099868145595030829708775903021689316023840254396662525656450282896601492801093259993119511123115582604992279267088913533310281274418675813639923010164932053359018945985481472410853164273685741805020621873661660887619429887829034902274873965615608604865472447060841895482674297483294476978726243697908013326302179407911097837873278263778249589258922943962378404087925117081106995639566170307119985870911857502993920748745641394896274497307747629491123436735302104255121475795454084622460006518100227629280442414722830716400675488094287902908363644210918006607006284074870295287372677417604368236211976223253545586846987806025108149275114629655191306791323474516059657014288836818197135895083386942389579460146177791443868704482296833380488479237375598212957815077909134316210733894247775252761592292713019385772906599995844269634706559349359015566736068749199620692098751249717983980658900552535779116956168648788754805565271398384069119305613227285629893689350731160338547712845712855727041328688125884149515304243091088046952765546651309342459860917685491173296756456427687945574820717622955998172260101482218505859388784026264503443966528136295145944741057207840252422504953809089077860512176743014702074558881845027611660021176611413122410479167034143982257611409685477053913835108198080745451270254665623751201395676770318366363000889195044695677969755328192800782195342481501227765040587387891347372237477519682326873107332589298564795387681019719686541667289869575543632770551700768726208246315471867764100468265846145575093157165795522690618739283096234418117036790034740724493293248998472513476903482357881047003309127036408531272291908839089356457510653342636710088915525679131898406017867877082062276200198121799241453727060414428170484079634605764519625840301031782406373740627526114647632756271260295401510517774276452036608766457570987090105159116490873582229411198296933804421048624841618 3340070728772244213423701290303728113861105087549234025467986415249145013399627918828705732567005694893218955229772263870440499978219992385872602529708023275983290267966442242089750655679752309750080409150234051234425920378595816666570850272237895055047402938191975563267921958633300095617111628893286827853516093828781694119171311091756985053063967712977639557498378051556422543095741012662884012749581207721025424141538245647670344009637841698805377872989204120494831758954532975515474066517460781822322864258741324175015283188473325948202746401730464858406105311174881807847940725647709882226555032274900218880984079183686576667683868556038797106936803530941618058362575631556303858156663161715504838477299292847713008487045961671734781012269146325816112804593675808825734323829770810502706322993864443006739611124357408815352415616578865377924181337789368283959607330067247034245899207762524082926979901011820311512926228959256036421235086196574388260763532514141907401853798433001493940336943613296494199813776472286665421380371741136712971389492682874203332663174742694236131942020299479102601835201070712652100574982907202173563016485422477488994991404491346425549694425239946386727654216088349743534827712807205045421460670494135347618493708484016798716064626503474983430779595966212237104123006201920370016470422526888003790748530486356549061704668319102090624590818455119238348055989664111925467634830380472451744238124161441061639956844340014148162153176878419206060945699446845328450270173973879333057408899198518249985316032118553994201708873906238813769447170996753385962431908766590037950966015241776507224075893314006250480405315185757110480052465662316086771857713365681540755427303805288397728186381111465780456852438050957411310283979205801730367276062555367549924359467138172898549726320299424915220108909369388694200872492832243316110111192289848851751464890446869460527073940933229935875968720802853233712108474720520135567150526447454499486443152126685151685061457281717692808955444827689876802308666116633117495867044350628709819389455939159747823702999101990770803356206542424216146923447698407228458861179538507810815293555287354702128076477939818213700264954852110742562972239278072910546019307466451046563187108689067471250255477378586817376976351044507489252110804026845883529493969278914040317251375985364181903362242297122854381784166278087081106137918394664646924894361355128987499171986630017921563918958153936368500181367799448246898535260145639726045001811067071863015771457211164169485539673994859473309660012821898490478676904951532227984436223110079675702349613649267744197417529682464729124408235444531541286137598706540080914493213932563344724146846973343810209534281352075126381912288531583792115039632050950353680858120090899182783578766225981262250454544416148539620251322117072380875662560202436275992105747211544511040394734871063216076604772160434989 5404347963982122480501120330471976295048280061412091122990863958156764080717060594661212991455536838423783181695343566665896397424758809220405807633828107133961198056310242057738274225671680251830155159229590144969068199568485863502398870683611031971082045052081357962209168778331797565281992757343678772497164468865978388040122007728834157958060642946526943051691051393302700938431160823280236330767939986372413322316141952421175525041934631898093195678825903366986044442749920708173641129533060150696378995871414586959123894619198475836808778785583850568582217732944323068297516755158706185197759451328555221678804514685032479911821788866053362392941697583015816319357675532811583574374807322908149987541267624501727885149511019543733350090273618971721575576683106395695459153037590460516730914693591266927652161200000119197846940006937691797300470571099802353477528036685582297150237787260820373686861233315387961800501107217968112838555830638919458555351988756202522472020209187671271183149043481442089230643485248189687110696395581391109633915149133157099934155975835954229251453143415061707594114468159626185410856257325877987202939495587409542354010350476827897960547589513632128532674837962011404422447142695034080323735544459750956223359180931077640611547300800958277907758322209910145117449308381328281114308295805151782040337789409300511440108756244219171731586458021289545468041860575969428461555579126113846640512621469188691131080281075316252417274652673873290683405705964945556079550616388602163773809574686612537888224395762764912208315880190313684064734543674170990330668120742813291496552862229582532332225168428635905671712106509231626539709479951152904968993608449068483145006763951466189172055085593762613837340917288333009523241794283710864683486796449615325177121059430885917935499226899420759489743615928738053216439228900992515730803291041098569735445549347421996306190897101878724630774286074251617781227780333747421197044215798185659824990864972398007412102785969843576958470749070780964849261431663284426838326905268314200992686212395587435769277819819613726801528466643906434652782836482433492962305146066644105961238296344562542380498982893627302778125467028853757265046798159917938157679328643062459685597587856101615232513088788272294430890186152705569997562074281511507280695364955684358683614376874559226599040212052451047182566361620568582333902958982052538272266598832648669826045093962607220128714345834956088186723035089317822442168030697340494771210057382543730779871925477010315060632831160654996000278752104994724896793941741566968708929516359078148215826517131625625244420838809501137655680527353370630642595109359882717624582129458242476622552864841220892271810481550196925623366015591998220285523711685556118200483960391930965189952506853507376898087300687408835021761839891348832912271326660007263082210906328035384622624146069360149881025820785276607 8744418692754366693924821620775704408909385148961325148458850373405909094116688513489918724022542533317002136925115830536336897402978801606278410163536130409944488324276684299828024881351432561580235568379824196203494119947081680168969720955848927026129447990273333525477090736965097660899104386236965600350680562694760082159293318820591143011124610659504582609189429444859123481526901835943120343517521194093438746457680198068845869051572473596898573551815107487480876201704453683689115196050520932518701860130155911134139177807671801785011525187314315426988323044119204876145457480806416067424314483603455440559788593868719056579505657422092159499878501113957434377720251164367887432531470484623654826018566917349440893636556981215468131102542765297537688381276782204521193476867361271019437237687455709934391772324357528013199355623516557175224651908889170637437135366752829331396136995023344456613841134327208273313427336177224149259790916835493846816115521270344429873874007620672765123485987094738583430457261720476352532076767322527822605304641816031303266819150578648465383395163714540810195949669230338837511431240233080160765955981009887031349001754968174323510242014753578515260329054050361147957274855502239125745196214953886303841852889415094439327611927304433261338537918176122382221572314583248651130778718332039785831086319895657060501813424563321262356177276476408783816097850240081353929190409506586298384750745630629752771037125415330400579427829552292496744351405411790884529820790362481496831218473885130787873540427881318906410024754096552497834181714670924376293100029509403329447518877471359039556301061742642156152117421694988737019761945613468991740851321814750023900434067756754586900241466705228394294193355339290420833525773489512595050762859004982875101480526569058816485225547198845674709852525298126747417311721733235831840914483330947421486910439794291456833264838035108660506743006877104851493336255054267556764194742245640159311434017099083159097164243251561269767426193898470841651570097779917544334193949618942910812075668334747183592980818921604497604884673186330650799706284180840721421166325605151916776531851631917244508575460833445516478390421880964499828019037437990848703698636109513506248784696545169086482768566166859111807866537197213059249672878308357390810189334234598399000865752859923408502402454349573901564350527898655663440040877376717185197160960187777657325217080592625141692633303988892456686904402888766069340703290842980220816211868449615593795643382688174484546172505155514469309938764926893215375470846693099196693365739469157823918176130780893369441838368491965866780088762797902171928732708066422798539075343390805821346699711814564702481344762902272052005278304123582012400563343736506471881342080482830147973531273079488639148541845103557374642013162008421213787933886862443539074316653539579895663018880940423365957630592945711596 14148766656736489174425941951247680703957665210373416271449714331562673174833749108151131715478079371740785318620459397202233294827737610826684217797364237543905686380586926357566299107023112813410390727609414341172562319515567543671368591639459958997211493042354691487686259515296895226181097143580644372847845031560738470199415326549425300969185253606031525660880480838161824419958062659223356674285461180465852068773822150490021394093507105494991769230641010854466920644454374391862756325583581083215080856001570498093263072426870277621820303972898165995570540777063527944442974235965122252622073934932010662238593108553751536491327446288145521892820198696973250697077926697179471006906277807531804813559834541851168778786068000759201481192816384269259263957959888600216652629904951731536168152381046976862043933524357647211046295630454248972525122479988972990914663403438411628546374782284164830300702367642596235113928443395192262098346747474413305371467510026546952345894216808344036306635030576180672661100746968666039642773162903918932239219790949188403200975126414602694634848307129602517790064137389965022922287497558958147968895476597296573703012105445002221470789604267210643793003892012372552379721998197273206068931759413637260065212070346172079939159228105391539246296240386032527339021622964576932245087014137191567871424109304957571941922180807540434087763734497698329284139710816050782390745988632700145025263367099818443902117406490646652996702482226165787427757111376736440609371406751083660605028048571743325761764823644083818618340634286866181898916258345095366623768150252216620944071739700941571888526230171278061823829528204220363559471425564621896709844930263818507045440831708220776072296552298991008131534272627623430356767567773223459734249655454598200278601585999944734420724774098266434199596141226864800633750950634228347571717774372045991222355989141713453139455735136987385137517292951356469274564035388014977961238958043825819136424882071481166509267029221404846725896942969251806500831529443201971172520854887257111804761880730334619362258638741218224406413139830237085452489120663274214383471471671796022737770147976479786889074443727072819256515888909818257093065835597908786861377964752575965934382284401270701715281654955131406238756723349918629247234952589868898090884699190282757684480129734482635101442666402024948746916889519224245773943836358769723469427559020426327151262174555232361821347649823848544873627437978083891782871321540320715587421925832159324575515308165184799606805336316169465310217517031887940272264788434666165402295255828235972134002647912518994686259207301467004435769290151272802571327817426305516163657472849048297969252576655785594753155244452468977628644319715580232686087055422062590081826040874761113163483779932996016046629145790966209663775001899770046700205213522450802156527559867615280285643027009783515838656413730988203 22893185349490855868350763572023385112867050359334741419908564704968582268950437621641050439500621905057787455545575227738570192230716412432962627960900367953850174704863610657394323988374545374990626295989238537376056439462649223840338312595308886023340941032628025013163350252261992887080201529817609973198525594255498552358708645370016443980309864265536108270069910283020947901484964495166477017802982374559290815231502348558867263145079579091890342782456118341947796846158828075551871521634102015733782716131726409227402250234542079406831829160212481422558863821182732820588431716771538320046388418535466102798381702422470593070833103710237681392698699810930685074798177861547358439437748292155459639578401459200609672422624981974669612295359149566796952339236670804737846106772313002555605390068502686796435705848715175224245651253970806147749774388878143628351798770191240959942511777307509286914543501969804508427355779572416411358137664309907152187583031296891382219768224429016801430121017670919256091558008689142392174849930226446754844524432765219706467794276993251160018243470844143327986013806620303860433718737792038308734851457607183605052013860413176544981031619020789159053332946062733700336996853699512331814127974367523563907064959761266519266771155409824800584834158562154909560593937547825583375865732469231353702510429200614632443735605370861696443941010974107113100237561056132136319936398139286443410014112730448196673154531905977053576130311778458284172108516788527325139192197113565157436246522456874113635305251525402725028365388383418679733097973016019742916868179761619950391590617172300611444827291913920217975946949899209100579233371178090888450696252078568530945874899464975362972538019004219402425727627966913851190293341262736054785012514459581075380082112569003550905950321297112108909448666524991548051062672367464179412632257702993412709266428936004909972720573172096045644260299828461320767900290442282534725433700289465978447858899170564325606431272472966116493323136867722648152401627223119515506714804506200022616837549065081802955239457662822722011297813016567736252195404844114935804637797276947939514301999608397031397649904560518335734906310790782756921084873035899635565076600862089472183166980946439788198050221121990518046623260547131688496907830898226288901074033424881156685345882594406043603845120751598850311267417417879909213984713735486908666588519208203984476479255147857503513980953812741001560531840866849961123574612383300936403633794281774918371158690853359284152977841471683934620156281958781155647735635127765362095660995297393796052178778693412364128097575793432871215858052949174974500060525492728314702732816239854119315952288470350297234500007354741029633922623839162245086650399158569061963168121357591261137015053012484655195170990894523584305788163908191260488139100384894341230844213407195175948661907950206881796287006676699799 37041952006227345042776705523271065816824715569708157691358279036531255443784186729792182154978701276798572774166034624940803487058454023259646845758264605497755861085450537014960623095397658188401017023598652878548618758978216767511706904234768845020552434074982716500849609767558888113261298673398254346046370625816237022558123971919441744949495117871567633930950391121182772321443027154389833692088443555025142884005324499048888657238586684586882112013097129196414717490613202467414627847217683098948863572133296907320665322661412357028652133133110647418129404598246260765031405952736660572668462353467476765036974810976222129562160549998383203285518898507903935771876104558726829446344026099687264453138236001051778451208692982733871093488175533836056216297196559404954498736677264734091773542449549663658479639373072822435291946884425055120274896868867116619266462173629652588488886559591674117215245869612400743541284222967608673456484411784320457559050541323438334565662441237360837736756048247099928752658755657808431817623093130365687083744223714408109668769403407853854653091777973745845776077944010268883356006235350996456703746934204480178755025965858178766451821223287999802846336838075106252716718851896785537883059733781160823972277030107438599205930383515216339831130398948187436899615560512402515620952746606422921573934538505572204385657786178402130531704745471805442384377271872182918710682386771986588435277479830266640575271938396623706572832794004624071599865628165263765748563603864648818041274571028617439397070075169486543646706022670284861632014231361115109540636330013836571335662356873242183333353522085198279799776478103429464138704796742712785160541182342387037991315731173196139044834571303210410557261900594537281547060909035959514519262169914179275658683698568948285326675095395378543109044807751856348684813623001692526984350032075039403931622418077718363112176308309083430781777592779817790042464325830297512686672658333291797584283781242045492115698301694370963219220079836974454653233156666321486679235659393457134421599429795416422317498096404040946417710952846804821704684525507389150188109268948743962252072147584876818286724348287591154991422199700601014014150708633808422426454565614665438117549265347710489913331876077121924285379983897050317744142783488095186991958732615163914369826012328888678705287787153623799058184306937104154987928550094256632136016078228630311627741429703089865335328603636589546434159278844933852906445933923621651991055720113934242946673999018544083759783177787853399930373798990669095920000423562431527497956251125629768186181426605931358814356783094899875651627343100447777071388342919033830866390289088902417285204865126135891987655251807210007262566943554742477772737454580631652044994162232352374300498832945480671241800136685489793969563165807961307188344313907345143387371773274810456234304934959990397634943420407688002 59935137355718200911127469095294450929691765929042899111266843741499837712734624351433232594479323181856360229711609852679373679289170435692609473719164973451606035790314147672354947083772203563391643319587891415924675198440865991352045216830077731043893375107610741514012960019820881000341500203215864319244896220071735574916832617289458188929804982137103742201020301404203720222927991649556310709891425929584433699236826847607755920383666263678772454795553247538362514336772030542966499368851785114682646288265023316548067572895954436435483962293323128840688268419428993585619837669508198892714850772002942867835356513398692722632993653708620884678217598318834620846674282420274187885781774391842724092716637460252388123631317964708540705783534683402853168636433230209692344843449577736647378932518052350454915345221787997659537598138395861268024671257745260247618260943820893548431398336899183404129789371582205251968640002540025084814622076094227609746633572620329716785430665666377639166877065918019184844216764346950823992473023356812441928268656479627816136563680401105014671335248817889173762091750630572743789724973143034765438598391811663783807039826271355311432852842308788961899669784137839953053715705596297869697187708148684387879341989868705118472701538925041140415964557510342346460209498060228098996818479075654275276444967706186836829393391549263826975645756445912555484614832928315055030618784911273031845291592560714837248426470302600760148963105783082355771974144953791090887755800978213975477521093485491553032375326694889268675071411053703541365112204377134852457504509775456521727252974045542794778180813999118497775723428002638564717938167920803673611237434420955568937190630638171502017372590307429812982989528561451132737354250298695569304274684373760351038765811137951836232625416692490652018493474276847896735876295369156706396982289778032816640888847013723273084896881481179476426037892608279110810364616272580047412106358622757776032142680412609817722129574167337079712543216704697102805634783889441002185950463899657157038436978860498225272737554066863668429008765863372557956879930351504085992747066225691901766374147193273849684374252848109490726328510491383770935235581669708057991531166476754910300716246294150278111382097199112442332003244444182006241050614386321475893032766040045071055171894923294722309132907905222649369451724354984064201913263829743540802604597436834296104220684850947368849309557449330547994691119711783814030020546306922588394689514395709161317832689871903367912761019259537334550530080949450251567736058690196889593617246423023564238360205299343722942454358888332746867485396049622751571448868411762145569123105328756536601157153596486189222155259161951036896489567393904722859387853739200714008162283589943635437513885957965326436971127580013378275351329716152567676483414292239484618215986682005632182966842910197279431230427084387801 96977089361945545953904174618565516746516481498751056802625122778031093156518811081225414749458024458654933003877644477620177166347624458952256319477429578949361896875764684687315570179169861751792660343186544294473293957419082758863752121064846576064445809182593458014862569787379769113602798876614118665291266845887972597474956589208899933879300100008671376131970692525386492544371018803946144401979869484609576583242151346656644577622252948265654566808650376734777231827385233010381127216069468213631509860398320223868732895557366793464136095426433776258817673017675254350651243622244859465383313125470419632872331324374914852195154203707004087963736496826738556618550386979001017332125800491529988545854873461304166574840010947442411799271710217238909384933629789614646843580126842470739152474967602014113394984594860820094829545022820916388299568126612376866884723117450546136920284896490857521345035241194605995509924225507633758271106487878548067305684113943768051351093106903738476903633114165119113596875520004759255810096116487178129012012880194035925805333083808958869324427026791635019538169694640841627145731208494031222142345326016143962562065792129534077884674065596788764746006622212946205770434557493083407580247441929845211851619019976143717678631922440257480247094956458529783359825058572630614617771225682077196850379506211759041215051177727665957507350501917717997868992104800497973741301171683259620280569072390981477823698408699224466721795899787706427371839773119054856636319404842862793518795664514108992429445401864375812321777433723988402997126435738249961998140839789293093062915330918784978111534336084316777575499906106068028856642964663516458771778616763342606928506361811367641062207161610640223540251429155988414284415159334655083823536854287939626697449509706900121559300512087869195127538282028704245420689918370849233381332321853072220572511265091441636197073189790262907207815485388096900852828942102877560098779016956049573616426461654655309837827875861708042931763296541671557458867940555762488865186123293114291460036408655914647590235650470904614846719718710177379661564455858893236180856335174435864018446294778150667971098601135700645717750710191984784949386290303516480417985732091420348418265511641860768024713973276234366617383228341232323985193397874416662884991498655208985424997907252183401014420695058846448427636031292088219189841813924000172938620675665464607731962114554037234184638161085920094428850398556717666936466480230544240385745234509643404264506688890447451672544197047390734480903879940119347487736482252628417091573497548653332424541631905275081756811141983232622519112739150070528642837211330795976435513394417658953886362018722622081209810510969161044159056510948647200632125308319832366053156445822296009738012718903445997678771264265503172244914495524113874864827728199584628005587759956816088417271777870187677066173847492075803 156912226717663746865031643713859967676208247427793955913891966519530930869253435432658647343937347640511293233589254330299550845636794894644865793196594552400967932666078832359670517262942065315184303662774435710397969155859948750215797337894924307108339184290204199528875529807200650113944299079829982984536163065959708172391789206498358122809105082145775118332990993929590212767299010453502455111871295414194010282478978194264400498005919211944427021604203624273139746164157263553347626584921253328314156148663343540416800468453321229899620057719756905099505941437104247936271081291753058358098163897473362500707687837773607574828147857415624972641954095145573177465224669399275205217907574883372712638571510921556554698471328912150952505055244900641762553570063019824339188423576420207386531407485654364568310329816648817754367143161216777656324239384357637114502984061271439685351683233390040925474824612776811247478564228047658843085728563972775677052317686564097768136523772570116116070510180083138298441092284351710079802569139843990570940281536673663741941896764210063883995762275609524193300261445271414370935456181637065987580943717827807746369105618400889389317526907905577726645676406350786158824150263089381277277435150078529599730961009844848836151333461365298620663059513968872129820034556632858713614589704757731472126824473917945878044444569276929784482996258363630553353606937728813028771919956594532652125860664951696315072124879001825226870759005570788783143813918072845947524075205821076768996316757999600545461820728559265080996848844777691944362238640115384814455645349564749614790168304964327772889715150083435275351223334108706593574581132584320132383016051184298175865696992449539143079579751918070036523240957717439547021769409633350653127811538661699977736215320844851957791925928780359847146031756305552142156566213740005939778314611631105037213400112105164909281970071271442383633853377996376011663193558375457607510885375578807349648569142067265127559957450029045122644306513246368660264502724445203491051136587192771448498473387516412872862973204537768283275728484573549937618444386210397322173603401400127765784820441971424517655472853983810136444079220683368555884621871973224538409516898568175258718981757936011046136096070475346808949386472785414330226244012260738138778024264695254056480169802175478123323553602964069097797087755647072283391755077753743713741225273102298903836182799404984603033947718535250642423541518268501480966487026537466828780434748905352565582339378762350819585305216306928069031433960889569599055472540942825306685190743971676896662901837204618804699265500871565369386598135199693280214286079742558122004636499746415490487519172319108270431965770131112081055546078342551923491513162059033080061318729412239645175526604861411324115742391845516550520265825240266442541311142491824112623803746638821720600238620780384956497404274576463604 253889316079609292818935818332425484422724728926545012716517089297562024025772246513884062093395372099166226237466898807919728011984419353597122112674024131350329829541843517046986087442111927066976964005960980004871263113279031509079549458959770883172784993472797657543738099594580419227547097956444101649827429911847680769866745795707258056688405182154446494464961686454976705311670029257448599513851164898803586865721129540921045075628172160210081588412854001007916977991542496563728753800990721541945666009061663764285533364010688023363756153146190681358323614454779502286922324913997917823481477022943782133580019162148522427023302061122629060605690591972311734083775056378276222550033375374902701184426384382860721273311339859593364304326955117880671938503692809438986032003703262678125683882453256378681705314411509637849196688184037694044623807510970013981387707178721985822271968129880898446819859853971417242988488453555292601356835051851323744358001800507865819487616879473854592974143294248257412037967804356469335612665256331168699952294416867699667747229848019022753320189302401159212838431139912255998081187390131097209723289043843951708931171410530423467202200973502366491391683028563732364594584820582464684857682592008374811582580029820992553829965383805556100910154470427401913179859615205489328232360930439808668977203980129704919259495747004595741990346760281348551222599042529311002513221128277792272406429737342677792895823287701049693592554905358495210515653691191900804160394610663939562515112422513709537891266130423640893318626278501680347359365075853634776453786189354042707853083635883112751001249486167752052926723240214774622431224097247836591154794667947640782794203354260906784141786913528710260063492386873427961306184568968005736951348392949639604433664830551752079351226440868229042273570038334256387577256132110855173159646933484177257785911377196606545479043261061705290841668863384472912516022500478335167609664392534856923264995603721920437397785325890753165576069809788040217723370665000965979916322710485885739958509796172327520453208855008672898122448203283727317280008842069290558354459736574563629803266736749575185626571455119510782161829930875353340834008162276741018827502630659595607137247269577871814160810043751581175566769701126646654211437410135154801663015763350463041905167709427661524337974298022915546224723786939160502581596891677743886679845948767763511568144913959021837218585879621170736852391916825219147902953506768011069166179983414995969846846067652798271257849413354318803512337840829688946543209023195453723776764241520330229087443469109893886456076642854797991905710874349763808857123291073354098440149894164074444373881191041730351641776281100273125214602589291199124123638470378865446114475175234535654913539323764857321794513656111019722765180320764380317406138870691408740629391506595637809017510398650572633563578122068539407 410801542797273039683967462046285452098932976354338968630409055817092954895025681946542709437332719739677519471056153138219278857621214248241987905870618683751297762207922349406656604705053992382161267668735415715269232269138980259295346796854695190281124177763001857072613629401781069341491397036274084634363592977807388942258535002205616179497510264300221612797952680384566918078969039710951054625722460312997597148200107735185445573634091372154508610017057625281056724155699760117076380385911974870259822157725007304702333832464009253263376210865947586457829555891883750223193406205750976181579640920417144634287706999922130001851449918538254033247644687117884911548999725777551427767940950258275413822997895304417275971782668771744316809382200018522434492073755829263325220427279682885512215289938910743250015644228158455603563831345254471700948046895327651095890691239993425507623651363270939372294684466748228490467052681602951444442563615824099421410319487071963587624140652043970709044653474331395710479060088708179415415234396175159270892575953541363409689126612229086637315951578010683406138692585183670369016643571768163197304232761671759455300277028931312856519727881407944218037359434914518523418735083671845962135117742086904411313541039665841389981298845170854721573213984396274042999894171838348041846950635197540141104028454047650797303940316281525526473343018644979104576205980258124031285141084872324924532290402294374107967948166702874920463313910929283993659467609264746751684469816485016331511429180513310083353086858982905974315475123279372291721603715969019590909431538918792322643251940847440523890964636251187328277946574323481216005805229832156723537810719131938958659900346710445927221366665446780296586733344590867508327953978601356390079159931611339582169880151396604037143152369648588889419601794639808529733822345850861112937961545115282294999311489301771454761013332333147674475522241380848924179216058853792775120549768113664272913564745789185564957742775919798288220376323034408877987873389446169470967459297678657188456983183688740393316182059546441181398176687857277254898453228279687880528063137974691395588087178720999703282044309103320918605909151558721896718630034249965557237019529227770865856229027513882860296906114226927984516156173912060984437681422395892940441040028045717098385337511603139647661527900986984644021811542586232785973351969431487600421071221870062415404327713364006440252533598156421379275933435093720628869440533305477897946614732320348535429185446415149090843154629661246872543771801719258545598681564138279030461954985492007125750345306314512691155342143726363361292309009549457089071409370815912220444786393910489934861400363360838622073742051231385206270148667633751047615151632437898526175793904646775300089065928626268645910256047956536273285446146004646759947450013183232853253195253234459529617749019430957590060982396645003011 664690858876882332502903280378710936521657705280883981346926145114654978920797928460426771530728091838843745708523051946139006869605633601839110018544642815101627591749765866453642692147165919449138231674696395720140495382418011768374896255814466073453909171235799514616351728996361488569038494992718186284191022889655069712125280797912874236185915446454668107262914366839543623390639068968399654139573625211801184013921237276106490649262263532364590198429911626288973702147242256680805134186902696412205488166786671068987867196474697276627132364012138267816153170346663252510115731119748894005061117943360926767867726162070652428874751979660883093853335279090196645632774782155827650317974325633178115007424279687277997245094008631337681113709155136403106430577448638702311252430982945563637899172392167121931720958639668093452760519529292165745571854406297665077278398418715411329895619493151837819114544320719645733455541135158244045799398667675423165768321287579829407111757531517825302018796768579653122517027893064648751027899652506327970844870370409063077436356460248109390636140880411842618977123725095926367097830961899260407027521805515711164231448439461736323721928854910310709429042463478250888013319904254310646992800334095279222896121069486833943811264228976410822483368454823675956179753787043837370079311565637348810081232434177355716563436063286121268463689778926327655798805022787435033798362213150117196938720139637051900863771454403924614055868816287779204175121300456647555844864427148955894026541603027019621244352989406546867634101401781052639080968791822654367363217728272835030496335576730553274892214122418939381204669814538255838437029327079993314692605387079579741454103700971352711363153578975490556650225731464295469634138547569362127030508324560979186603544981948356116494378810516817931693171832974064917311078477961716286097608478599459552785222866498378000240056593394852965317191104765321836695238559332127942730214160648521196178560349511106002355528101810551453796446132822449095711244054447135450883782008164542928415492979861067913769390914555114079520624891141004572178462070348978438882522874549255025391353915470574888908615764222831700767739082434075237552638196526706576064522159887366472993476297091754674457716157978509160082925875038707638649118832531047742104055791396180140290505221030801171999502199009900190246535329525393288554948861109231487100917170637825926972472627323028277471119477777592116128325351918939776772394040073488967112794715735344505276031514067947362101004043015565676056109642548947492141890587333732754238719227012337354837788775424406577611418786581161353198019883899220897928532661889266318884936288074564379235281554402568973715518332331658331484751256924950171738790102816763972290269079881310955002605252391125967704769704067555996050626466769027077353588883874641593882586759830097338635259418081530223624560518713542418 1075492401674155372186870742424996388620590681635222949977335200931747933815823610406969480968060811578521265179579205084358285727226847850081097924415261498852925353957688215860299296852219911831299499343431811435409727651556992027670243052669161263735033348998801371688965358398142557910529892028992270918554615867462458654383815800118490415683425710754889720060867047224110541469608108679350708765296085524798781162121345011291936222896354904519098808446969251570030426302942016797881514572814671282465310324511678373690201028938706529890508574878085854273982726238547002733309137325499870186640758863778071402155433161992782430726201898199137127100979966208081557181774507933379078085915275891453528830422174991695273216876677403081997923091355154925540922651204467965636472858262628449150114462331077865181736602867826549056324350874546637446519901301625316173169089658708836837519270856422777191409228787467874223922593816761195490241962283499522587178640774651792994735898183561796011063450242911048832996087981772828166443134048681487241737446323950426487125483072477196027952092458422526025115816310279596736114474533667423604331754567187470619531725468393049180241656736318254927466401898392769411432054987926156609127918076182183634209662109152675333792563074147265544056582439219949999179647958882185411926262200834888951185260888225006513867376379567646794937032797571306760375011003045559065083503298022442121471010541931426008831719621106799534519182727217063197834588909721394307529334243633972225537970783540329704597439848389452841949576525060424930802572507791673958272649267191627353139587517577993798783178758670126709482616388861737054442834556912150038230416106211518700114004047681798638584520244422270853236959076055162977962092526170718517109668256172318768773425133344960153637531180165406821112773627613873447044900823812577399035570023714741847784534355800149455001069925728000639792713346146170760874454618185920717850763928762185469092125095300291567313270877730349742016822455856857973699117443893304921851241305843200116872476163549808307085572974101555260918801578998281827076915298628666319410586012523946420979441094191574592190660073326152619373648233992797134271268230776672133301541689115137338849705324605637534754622272205437144599082048950768623086800254926940682545095819441897238675842732633940819661030099996884834268346872111626074528300830540719087521988392507888342376800340687034717723653075934013495404258787012660405641834573378966865059409448055693040705216960483096452944158672676812548599881444268206037740572151472011784700674212504344480588134081738919268766760930307524714490328893448677986999942032705178539329722681985054314096681917763407595789260383563043537754899924558701219353941735254662498466062984528086255091671181017394613615025752024092269336072612773673837301038897057874447135782013064556868253008437512487813685542915358545429 1740183260551037704689774022803707325142248386916106931324261346046402912736621538867396252498788903417365010888102257030497292596832481451920207942959904313954552945707454082313941988999385831280437731018128207155550223033975003796045139308483627337188942520234600886305317087394504046479568387021710457202745638757117528366509096598031364651869341157209557827323781414063654164860247177647750362904869710736599965176042582287398426872158618436883689006876880877859004128450184273478686648759717367694670798491298349442678068225413403806517640938890224122090135896585210255243424868445248764191701876807138998170023159324063434859600953877860020220954315245298278202814549290089206728403889601524631643837846454678973270461970686034419679036800510291328647353228653106667947725289245574012788013634723244987113457561507494642509084870403838803192091755707922981250447488077424248167414890349574615010523773108187519957378134951919439536041360951174945752946962062231622401847655715079621313082247011490701955513115874837476917471033701187815212582316694359489564561839532725305418588233338834368644092940035375523103212305495566684011359276372703181783763173907854785503963585591228565636895444361871020299445374892180467256120718410277462857105783178639509277603827303123676366539950894043625955359401745926022782005573766472237761266493322402362230430812442853768063400722576497634416173816025832994098881865511172559318409730681568477909695491075510724148575051543504842402009710210178041863374198670782928119564512386567349325841792837795999709583677926841477569883541299614328325635866995464462383635923094308547073675392881089066090687286203399992892879863883992143352923021493291098441568107748653151349947673823397761409887184807519458447596231073740080644140176580733297955376970115293316270131909990682224752805945460587938364355979301774293685133178502314201400569757222298527455241126519122853605109904450911492597569693177518048660580978089410706665270685444811397569668798979540901195813268588679307069410361498340440372735023314007743045287969143410876220854963888656669340439426470139286399255377368977644758293108887073201446370795009662149481099275837548984320141387316426872371823906427303378709366063849002503811843181621697392209212338430183946304682007923989476261735919087457988424649151610838077378966347953664741991660532299006785024514882201637019363083249691649950574622905563145714269349272968010062995194772553711605611532584138931600182414228613452455832172204163791037545981248474551043815045162715692378224655991086817153529882462738805744538939393439516681835425922857163325846378179716888686067688348777347898884928474694594444858214658970059618693331963472165976569504778715894701869239651181483651391092731838071426470756332064409397210094276433408520581319795456091648265386699079542700914654627780932516041018368772894654206888267855594018037310103434072087847 2815675662225193076876644765228703713762839068551329881301596546978150846552445149274365733466849714995886276067681462114855578324059329302001305867375165812807478299665142298174241285851605743111737230361560018590959950685531995823715382361152788600923975869233402257994282445792646604390098279050702728121300254624579987020892912398149855067552766867964447547384648461287764706329855286327101071670165796261398746338163927298690363095054973341402787815323850129429034554753126290276568163332532038977136108815810027816368269254352110336408149513768309976364118622823757257976734005770748634378342635670917069572178592486056217290327155776059157348055295211506359759996323798022585806489804877416085172668268629670668543678847363437501676959891865446254188275879857574633584198147508202461938128097054322852295194164375321191565409221278385440638611657009548297423616577736133085004934161205997392201933001895655394181300728768680635026283323234674468340125602836883415396583553898641417324145697254401750788509203856610305083914167749869302454319763018309916051687322605202501446540325797256894669208756345655119839326780029234107615691030939890652403294899376247834684205242327546820564361846260263789710877429880106623865248636486459646491315445287792184611396390377270941910596533333263575954539049704808208193931835967307126712451754210627368744298188822421414858337755374068941176548827028878553163965368809195001439880741223499903918527210696617523683094234270721905599844299119899436170903532914416900345102483170107679030439232686185452551533254451901902500686113807406002283908516262656089736775510611886540872458571639759192800169902592261729947322698440904293391153437599502617141682111796334949988532194067820032263124143883574621425558323599910799161249844836905616724150395248638276423769441170847631573918719088201811811400880125586871084168748526028943248354291578098676910242196444850854244902617797057663358444147795703969378431742018172892134362810540111689136982069857271250937830091044536165043109478942233745294586264619850943162160445306960684527940536862758224601358228049137568226332292667606311077703694899597147867350236103853724073289935910875136939515035550419669506095174658080050842667605538117641150692886946303029743966960702389383449281089972940244884822719342384929107194247430279974617642190686298682811321562399003669858783229073748645437611550522190669662144893955653602611726073308697097712918425629645619106936842925944260588056063186831422697231613611846730586686465435034140267989321388369190773255872531085359567623034890277756323640067652021026316014056938902245115144940647196210782178677670796576871928416727299623397544381652044673007428645389929384165294039099457745406994551106042352610446673573326088969222395048937483465185947614425915194934821208115740534722771692316374751955666677990390488154150785959211075141276293106505850995646349430633276 4555858922776230781566418788032411038905087455467436812625857893024553759289066688141761985965638618413251286955783719145352870920891810753921513810335070126762031245372596380488183274850991574392174961379688225746510173719506999619760521669636415938112918389468003144299599533187150650869666666072413185324045893381697515387402008996181219719422108025174005374708429875351418871190102463974851434575035506997998711514206509586088789967213591778286476822200731007288038683203310563755254812092249406671806907307108377259046337479765514142925790452658534098454254519408967513220158874215997398570044512478056067742201751810119652149928109653919177569009610456804637962810873088111792534893694478940716816506115084349641814140818049471921355996692375737582835629108510681301531923436753776474726141731777567839408651725882815834074494091682224243830703412717471278674064065813557333172349051555572007212456775003842914138678863720600074562324684185849414093072564899115037798431209613721038637227944265892452744022319731447782001385201451057117666902079712669405616249162137927806865128559136091263313301696381030642942539085524800791627050307312593834187058073284102620188168827918775386201257290622134810010322804772287091121369354896737109348421228466431693889000217680394618277136484227307201909898451450734230975937409733779364473718247533029730974729001265275182921738477950566575592722643054711547262847234320367560758290471905068381828222701772128247831669285814226748001854009330077478034277731585199828464666995556675028356281025523981452261116932378743380070569655107020330609544383258120552120411433706195087946133964520848258890857188795661722840202562324896436744076459092793715583250219544988101338479867891217793673011328691094079873154554673650879805390021417638914679527365363931592693901351161529856326724664548789750175756859427361164769301927028343144648924048800397204365483322963973707850012522247969155956013840973222018039012720107583598799633495984923086706650868836812152133643359633215472112519840440574185667321287933858686207448414450371560748795500751414893941797654519276854625587670036583955835996803786670349313721031113515873554389211748424121259656422866846541877919081085383429552033669387120144962536068568000421953179299132573329753963097896929721146558638429842917531843399041118051996608538639963424802982094698010454883298111275385664800694800213840620236767799518799316881075346276707160708113198183357224718469427064875860770470291800283878529403817775637768132667713909585184083034484104061568997911863617902513097505497629083500862579461091537708151439979796065570961523120364084896849867026448144475756856891421894068255759040622104291700760608862095360734798817815352447276234202287526004001539405411397515439978727113346880675280224047834435776254616664207388800109470771859075666610294458922906529172519558853865282029544148700523888305749783502721123 7371534585001423858443063553261114752667926524018766693927454440002704605841511837416127719432488333409137563023465181260208449244951140055922819677710235939569509545037738678662424560702597317503912191741248244337470124405038995443475904030789204539036894258701405402293881978979797255259764945123115913445346148006277502408294921394331074786974874893138452922093078336639183577519957750301952506245201303259397457852370436884779153062268565119689264637524581136717073237956436854031822975424781445648943016122918405075414606734117624479333939966426844074818373142232724771196892879986746032948387148148973137314380344296175869440255265429978334917064905668310997722807196886134378341383499356356801989174383714020310357819665412909423032956584241183837023904988368255935116121584261978936664269828831890691703845890258137025639903312960609684469315069727019576097680643549690418177283212761569399414389776899498308319979592489280709588608007420523882433198167735998453195014763512362455961373641520294203532531523588058087085299369200926420121221842730979321667936484743130308311668884933348157982510452726685762781865865554034899242741338252484486590352972660350454872374070246322206765619136882398599721200234652393714986617991383196755839736673754223878500396608057665560187733017560570777864437501155542439169869245701086491186170001743657099719027190087696597780076233324635516769271470083590100426812603129562562198171213128568285746749912468745771514763520084948653601698308449976914205181264499616728809769478726782707386720258210166904812650186830645282571255768914426332893452899520776641857186944318081628818592536160607451691027091387923452787525260765800730135229896692296332724932331341323051327012061959037825936135472574668701298712878273561678966639866254544531403677760612569869117670792332377487900643383636991561987157739552948035853470675554372087897278340378495881275725519408824562094915140045026819314457988768925987417444462125756490933996306525034775843632938694083403071473450677751637155629319382807930961907552553709629369608859757332245276736037614173118543155882568414422851919962704190266913700498686267497181071267217369597627679147659299258199171458417266211384014255743463480394701274925237786113228955514303451697146259834962713203244187869869966031381357772227846639037646471398026614250729326262107614303657097014124742081340349134310238306350736031289898912693474452919492801419585404258421031623813002843825406269990820121358526354987115301226635431387484498719354179344619324351023805492430759771167736148987872665128532519361257186219528743558734467454036734967816076668061011281107632045704118941052628785308149193691653303422274148964708189254252024744900092856914810192683228753393568356611986078984723604409201122162284364140466171662260350971189437872323129334832242464175450418565961136913297017326670344813076357170820441807029739301396132933354399 11927393507777654640009482341293525791573013979486203506553312333027258365130578525557889705398126951822388849979248900405561320165842950809844333488045306066331540790410335059150607835553588891896087153120936470083980298124545995063236425700425620477149812648169408546593481512166947906129431611195529098769392041387975017795696930390512294506396982918312458296801508211990602448710060214276803940820236810257396169366576946470867943029482156897975741459725312144005111921159747417787077787517030852320749923430026782334460944213883138622259730419085378173272627661641692284417051754202743431518431660627029205056582096106295521590183375083897512486074516125115635685618069974246170876277193835297518805680498798369952171960483462381344388953276616921419859534096878937236648045021015755411390411560609458531112497616140952859714397404642833928300018482444490854771744709363247751349632264317141406626846551903341222458658456209880784150932691606373296526270732635113490993445973126083494598601585786186656276553843319505869086684570651983537788123922443648727284185646881058115176797444069439421295812149107716405724404951078835690869791645565078320777411045944453075060542898165097592966876427504533409731523039424680806107987346279933865188157902220655572389396825738060178464869501787877979774335952606276670145806655434865855659888249276686830693756191352971780701814711275202092361994113138301647689659837449930122956461685033636667574972614240874019346432805899175401603552317780054392239458996084816557274436474283457735743001283734148357073767119209388662641825424021446663502997282778897193977598378024276716764726500681455710581884280183585175627727823090697166879306355785090048308182550886311152665491929850255619609146801265762781171867432947212558772029887672183446083205125976501461811572143493907344227368048185781312162914598980309200622772602582715232546202389178893085641208842372798269944927662292995975270471829742148005456457182233340089733629802509957862550283807530895555205116810310967109268149159823382116629228840487568315577057274207703806025531538365588012484953537087691277477507632740774222749697302472937846494792298330885471182068359407723379458827881284112753261933336828846909946734944312357931075765024082303873650325558967536042957207285766799687177939996202070764170881045512516078610859267966225532417285751795024579625379451624519975039001150949871910135680492993252236373876765862111419129144821996360068543875697055695982128996646787399179756039249163122266852021893254204508434058289596492328769079599766890385762634030148444758048798989835096442618894016531033387038191181375366004481912730567085528385642199571087759909062462896253256408949863114120105634891674730162639959462955681094360613525484396121119849179849275631244815746395710094786747444054536530518134941713236034526085176255595836203546499189903666941639200364590507553627607145916436075522 19298928092779078498452545894554640544240940503504970200480766773029962970972090362974017424830615285231526413002714081665769769410794090865767153165755542005901050335448073737813032396256186209399999344862184714421450422529584990506712329731214825016186706906870813948887363491146745161389196556318645012214738189394252520203991851784843369293371857811450911218894586548629786026230017964578756447065438113516793627218947383355647096091750722017665006097249893280722185159116184271818900762941812297969692939552945187409875550948000763101593670385512222248091000803874417055613944634189489464466818808776002342370962440402471391030438640513875847403139421793426633408425266860380549217660693191654320794854882512390262529780148875290767421909860858105256883439085247193171764166605277734348054681389441349222816343506399089885354300717603443612769333552171510430869425352912938169526915477078710806041236328802839530778638048699161493739540699026897178959468900371111944188460736638445950559975227306480859809085366907563956171983939852909957909345765174628048952122131624188423488466329002787579278322601834402168506270816632870590112532983817562807367764018604803529932916968411419799732495564386932009452723274077074521094605337663130621027894575974879450889793433795725738652602519348448757638773453761819109315675901135952346846058251020343930412783381440668378481890944599837609131265583221891748116472440579492685154632898162204953321722526709619790861196325984124055205250626230031306444640260584433286084205953010240443129721541944315261886417306040033945213081192935872996396450182299673835834785322342358345583319036842063162272911371571508628415253083856497897014536252477386381033114882227634203992503991809293445545282273840431482470580311220774237738669753926727977486882886589071330929242935826284832128011431822772874150072338533257236476243278137087320443480729557388966916934361781622832039842802338022794584929818511073992873901644359096580667626109034992638393916746224978958276590260988718746423778479206190047591136393041277944946666133965036051302267575979761131028109419656105700329427595444964489663397801159205343675863565548255068809747507067022637657999339701378964645947592572310390341436219237595717188993979596607325347471818802498756160451473636669653209321353974298610809918691983914105225109997292487640031589408892038704367460791973654285277307501685903200034593186467705155866678185447515677550176445809362912369281967046516103487523001774514480982674680550606765571376072598823832785082095088923088540247335915878258427762562667806015235018518578655177086348053266001203114859242386647112113958434686026581014427507720281451562365885170402221117139117366144850534984531644972832642691709074662717225511563380844724258380971437915608956212567372355137718633492408853647469773955700209976503742216732749500563825860248480017996371185032314583366908542049369429921 31226321600556733138462028235848166335813954482991173707034079106057221336102668888531907130228742237053915262981962982071331089576637041675611486653800848072232591125858408796963640231809775101296086497983121184505430720654130985569948755431640445493336519555040222495480845003313693067518628167514174110984130230782227537999688782175355663799768840729763369515696094760620388474940078178855560387885674923774189796585524329826515039121232878915640747556975205424727297080275931689605978550458843150290442862982971969744336495161883901723853400804597600421363628465516109340030996388392232895985250469403031547427544536508766912620622015597773359889213937918542269094043336834626720093937887026951839600535381310760214701740632337672111810863137475026676742973182126130408412211626293489759445092950050807753928841122540042745068698122246277541069352034616001285641170062276185920876547741395852212668082880706180753237296504909042277890473390633270475485739633006225435181906709764529445158576813092667516085639210227069825258668510504893495697469687618276776236307778505246538665263773072227000574134750942118574230675767711706280982324629382641128145175064549256604993459866576517392699371991891465419184246313501755327202592683943064486216052478195535023279190259533785917117472021136326737413109406368095779461482556570818202505946500297030761106539572793640159183705655875039701493259696360193395806132278029422808111094583195841620896695140950493810207629131883299456808802944010085698684099256669249843358642427293698178872722825678463618960184425249422607854906616957319659899447465078571029812383700366635062348045537523518872854795651755093804042980906947195063893842608262476429341297433113945356657995921659549065154429075106194263642447744167986796510699641598911423570088012565572792740815079320192176355379480008554186312986937513566437099015880719802552989683118736282052558143204154421101984770464631018769855401648253221998330358826592436670401255911544950500944200553755874513481707071299685855691927639029572164220365233528846260523723408172739857327799114345349143513062956743796977806935228185738712413095103632143190170655863879140539991815866474746017116827220985491717907880929401157300288171163549953648264759003678911198997797377770034799117658759403469340387261350176369374980799737496430183835969265258713172448875160687063283992840243598174260316308652635775110170273679460957392240554951309627096679321267805722980913157664102212085616519648561913660738713929713729032423397965853028341219140384685415417309326935682768644190396592816250773283817508413751619705242069797034590153050423762013116595871165253112109400069707291369211471428348066655477526088980480264956169876206375135472602154664755757077839037047776965844107560820713546853771958963082449924466077546945384165604715668936244502588918472328585704110325050152146959635571549622822136994515687965805505443 50525249693335811636914574130402806880054894986496143907514845879087184307074759251505924555059357522285441675984677063737100858987431132541378639819556390078133641461306482534776672628065961310696085842845305898926881143183715976076661085162855270509523226461911036444368208494460438228907824723832819123198868420176480058203680633960199033093140698541214280734590681309250174501170096143434316834951113037290983423804471713182162135212983600933305753654225098705449482239392115961424879313400655448260135802535917157154212046109884664825447071190109822669454629269390526395644941022581722360452069278179033889798506976911238303651060656111649207292353359711968902502468603695007269311598580218606160395390263823150477231520781212962879232772998333131933626412267373323580176378231571224107499774339492156976745184628939132630422998839849721153838685586787511716510595415189124090403463218474563018709319209509020284015934553608203771630014089660167654445208533377337379370367446402975395718552040399148375894724577134633781430652450357803453606815452792904825188429910129434962153730102075014579852457352776520742736946584344576871094857613200203935512939083154060134926376834987937192431867556278397428636969587578829848297198021606195107243947054170414474168983693329511655770074540484775495051882860129914888777158457706770549352004751317374691519322954234308537665596600474877310624525279582085143922604718608915493265727481358046574218417667660113601068825457867423512014053570240117005128739517253683129442848380303938622002444367622778880846601731289456553067987809893192656295897647378244865647169022708993407931364574365582035127707023326602432458233990803692960908378860739862810374412315341579560650499913468842510699711348946625746113028055388761034249369395525639401056970899154644123670058015146477008483390911831327060463059276046823673575259158856889873433163848293671019475077565936043934024613266969041564440331466764295991204260470951533251068882020579943139338117299980853471758297332288404602115706118235762211811501626570124205470389542137775908630066690325110274541172376399902678136362823630703202076492904791348533846519429427395608801563373541768654774826560686870682553828521973467690629607382787549365453752983275518524345269196572533555278110233040138993596582704150667985790718429480344289061079262551200812480464569579101988360301035571828545593616154321678310204866865928662548107233136757142774229497713615085893282439631148728189104042650336428141721388610264335797994774038451852174004222479774338505849574271598646902618159155484056788518836026992406796791590123063035793267909666148660228709829599939138690414497215011650663033794233237057698643228097846409806704860738020108305244846373830419795064548611157810568365941792151462462728171530454805062184711039354237813074489624636454479092660689061335204674150910400626977631942734655136720361424230015174935364 81751571293892544775376602366250973215868849469487317614548924985144405643177428140037831685288099759339356938966640045808431948564068174216990126473357238150366232587164891331740312859875736411992172340828427083432311863837846961646609840594495716002859746016951258939849053497774131296426452891346993234182998650958707596203369416135554696892909539270977650250286776069870562976110174322289877222836787961065173220389996043008677174334216479848946501211200304130176779319668047651030857863859498598550578665518889126898548541271768566549300471994707423090818257734906635735675937410973955256437319747582065437226051513420005216271682671709422567181567297630511171596511940529633989405536467245557999995925645133910691933261413550634991043636135808158610369385449499453988588589857864713866944867289542964730674025751479175375491696962095998694908037621403513002151765477465310011280010959870415231377402090215201037253231058517246049520487480293438129930948166383562814552274156167504840877128853491815891980363787361703606689320960862696949304285140411181601424737688634681500818993875147241580426592103718639316967622352056283152077182242582845063658114147703316739919836701564454585131239548169862847821215901080585175499790705549259593459999532365949497448173952863297572887546561621102232464992266498010668238641014277588751857951251614405452625862527027948696849302256349917012117784975942278539728736996638338301376822064553888195115112808610607411276454589750722968822856514250202703812838773922932972801490807597636800875167193301242499806786156538879160922894426850512316195345112456815895459552723075628470279410111889100907982502675081696236501214897750888024802221469002339239715709748455524917308495835128391575854140424052820009755475799556747830760069037124550824627058911720216916410873094466669184838770391839881246776046213560390110674275039576692426422846967029953072033220770090465036009383731600060334295733115017517989534619297543969921470137932124893640282317853736727985240004403588090457807633757265334376031866860098970465994112950310515765957865804670459418054235333143699655943298051816441914489588008423491724017175293306536148793379240016514671891653781672362400461709451374624990917778546337503013718511986954429723343066574342568354395768992443608333983844054327037360771518166976774472897048527809913984929339730266165272353141279170002805909924806957453420375140545389619940347788088066769870908818981420808874195597295250940274720562298898341802460102539978064830418172004304880515223362864459753923158901207281415546808555748300307561802653535406158416496832192860070383420960089910673345305700765192250799814566922303019874505222581303713176169317078326674762874736944395243777847001038586176872903585658934776412473502612865009316500130493537254986650788586299621978679205293572698981681579161389920908784475960552773937267514284277958857355939917980980440807 132276820987228356412291176496653780095923744455983461522063770864231589950252187391543756240347457281624798614951317109545532807551499306758368766292913628228499874048471373866516985487941697722688258183673732982359193007021562937723270925757350986512382972478862295384217261992234569525334277615179812357381867071135187654407050050095753729986050237812191930984877457379120737477280270465724194057787900998356156644194467756190839309547200080782252254865425402835626261559060163612455737177260154046810714468054806284052760587381653231374747543184817245760272887004297162131320878433555677616889389025761099327024558490331243519922743327821071774473920657342480074098980544224641258717135047464164160391315908957061169164782194763597870276409134141290543995797716872777568764968089435937974444641629035121707419210380418308005914695801945719848746723208191024718662360892654434101683474178344978250086721299724221321269165612125449821150501569953605784376156699760900193922641602570480236595680893890964267875088364496337388119973411220500402911100593204086426613167598764116462972723977222256160279049456495160059704568936400860023172039855783048999171053230857376874846213536552391777563107104448260276458185488659415023796988727155454700703946586536363971617157646192809228657621102105877727516875126627925557015799471984359301209956002931780144145185481262257234514898856824794322742310255524363683651341715247253794642549545911934769333530476270721012345280047618146480836910084490319708941578291176616102244339187901575422877611560924021380653387887828335713990882236743704972491242759835060761106721745784621878210774686254682943110209698408298668959448888554580985710600329742202050090122063797104477958995748597234086553851772999445755868503854945508865009438432650190225684029810874861040080931109613146193322161303671208307239105489607213784249534198433582299856010815323624091508298336026508970033996998569101898736064581781813980738879768495503172539019952704836779620435153717581456998301735876495059923339875501096587843368486669094671464502492448291674587932494995569692595407709543602334079660875447145116566080913214840257863694722733931757594942613558283326666480342359233083015537973348092681547385929125052379172264970229948247688335770915101909673879225483747327580426758477705346562236596457118761958127790361114797409804299845267260713442314741831351503540961279131730580007411318282488455021224823912645138316695035894767478036926399668463824604949234769944181491150242400628412946042756732689227585344234092429008475478880062449426714903784364350321489562398565213288422315923106176688869756059333574015530365131389490229064137314670537539016814540770874812545176173084569579597682415352083091847412416596667968134270092586980839444405016471779228302023992060048835499625653859791753694918209153460774239850451256113458626870953400914899457018933095577717364147996155376171 214028392281120901187667778862904753311792593925470779136612695849375995593429615531581587925635557040964155553917957155353964756115567480975358892766270866378866106635636265198257298347817434134680430524502160065791504870859409899369880766351846702515242718495813554324066315490008700821760730506526805591564865722093895250610419466231308426878959777083169581235164233448991300453390444788014071280624688959421329864584463799199516483881416560631198756076625706965803040878728211263486595041119652645361293133573695410951309128653421797924048015179524668851091144739203797866996815844529632873326708773343164764250610003751248736194425999530494341655487954972991245695492484754275248122671514709722160387241554090971861098043608314232861320045269949449154365183166372231557353557947300651841389508918578086438093236131897483381406392764041718543654760829594537720814126370119744112963485138215393481464123389939422358522396670642695870670989050247043914307104866144463008474915758737985077472809747382780159855452151858040994809294372083197352215385733615268028037905287398797963791717852369497740705641560213799376672191288457143175249222098365894062829167378560693614766050238116846362694346652618123124279401389740000199296779432704714294163946118902313469065331599056106801545167663726979959981867393125936225254440486261948053067907254546185596771048008290205931364201113174711334860095231466642223380078711885592096019371610465822964448643284881328423621734637368869449659766598740522412754417065099549075045829995499212223752778754225263880460174044367214874913776663594217288686587872291876656566274468860250348490184798143783851092712373489994905460663786305469010512821798744541289805831812252629395267491583725625662407992197052265765623979654502256695769507469774741050311088722595077956491804204079815378160931695511089554015151703167603894923809238010274726278857782353577163541519106116974006043380730169162233031797696799331970273499066039473094009157884829730419902753007454309442238306139464585517730973632766430963875235346768065137458615442758807440545798299666029110649643042687301990022958927263587031055668921638331981880870016040467906388321853574797998558134124031595483477247424722717672465164475462555392890776957184377971031402345257670264069648217927355661564270812804742707333754763433893234855176318171028782339144030111432533066583593911834157413465768236585150955147956707902428802809312890682516047135676456703641673634221650608738545167248133111746641593690220465458831118047061613204450948208693846352167376686161477996235270652084671912124143097804723629785254508783176560109829845970006919321231130323640290043631059617690412044239395844484050981862254499759332454334626810595860938848451002773540871719929027363393312947017881481095728432517529315035486288211953481770432900211781852442455819011841177022243102831506174852166971303211054435073304065977135816978 346305213268349257599958955359558533407716338381454240658676466713607585543681802923125344165983014322588954168869274264899497563667066787733727659059184494607365980684107639064774283835759131857368688708175893048150697877880972837093151692109197689027625690974675849708283577482243270347095008121706617948946732793229082905017469516327062156865010014895361512220041690828112037930670715253738265338412589957777486508778931555390355793428616641413451010942051109801429302437788374875942332218379806692172007601628501695004069716035075029298795558364341914611364031743500959998317694278085310490216097799104264091275168494082492256117169327351566116129408612315471319794473028978916506839806562173886320778557463048033030262825803077830731596454404090739698360980883245009126118526036736589815834150547613208145512446512315791387321088565987438392401484037785562439476487262774178214646959316560371731550844689663643679791562282768145691821490620200649698683261565905363202397557361308465314068490641273744427730540516354378382929267783303697755126486326819354454651072886162914426764441829591753900984691016708959436376760224858003198421261954148943062000220609418070489612263774669238140257453757066383400737586878399415223093768159860168994867892705438677440682489245248916030202788765832857687498742519753861782270239958246307354277863257477965740916233489552463165879099969999505657602405486991005907031420427132845890661921156377757733782173761152049435967014684987015930496676683230842121695995356276165177290169183400787646630390315149285261113561932195550588904658900337922261177830632126937417672996214644872226700959484398466794202922071898293574420112674860049996223422128486743339895953876049733873226487332322859748961843970051711521492483509447765560778945902424931275995118533469938996572735313692961571483092999182297861254257192774817679173343436443857026134868597677201255049817442143482976077377728738264131767862278581145951012378834534976266548177837534567199523188161171890899236607875341080577654313508267527551718603833437159808923117935207099115133730794661598803245050752230904324102619802710732147621749834853172239744564738774399663983264467133081325224614466390828566492785398070810354012550404587607772063041927414326218719738116172772173743527443411102989144697571282448053895991359891011996813304108532143579748948329956699793780025908653665508917006729515716881535155368026184917257830537714595161185452371492598409151671148050277202369772197367881690823084840462866087244064089818345893678533552927938781175852165041540445661985555869036262445632660203288843073676824706282736798699602029340493336761495455029780272695196932360949583256210385254925794407430672843902033932309225947944030695863419370208839854199119950374152391422897952874956734541521375084321787837607341562186595129991005903230058862292433135701729702459575767066428322144150012790668213973291193149 560333605549470158787626734222463286719508932306925019795289162562983581137111418454706932091618571363553109722787231420253462319782634268709086551825455360986232087319743904263031582183576565992049119232678053113942202748740382736463032458461044391542868409470489404032349892972251971168855738628233423540511598515322978155627888982558370583743969791978531093455205924277103338384061160041752336619037278917198816373363395354589872277310033202044649767018676816767232343316516586139428927259499459337533300735202197105955378844688496827222843573543866583462455176482704757865314510122614943363542806572447428855525778497833740992311595326882060457784896567288462565489965513733191754962478076883608481165799017139004891360869411392063592916499674040188852726164049617240683472083984037241657223659466191294583605682644213274768727481330029156936056244867380100160290613632893922327610444454775765213014968079603066038313958953410841562492479670447693612990366432049826210872473120046450391541300388656524587585992668212419377738562155386895107341872060434622482688978173561712390556159681961251641690332576922758813048951513315146373670484052514837124829387987978764104378314012786084502951800409684506525016988268139415422390547592564883289031838824340990909747820844305022831747956429559837647480609912879798007524680444508255407345770512024151337687281497842669097243301083174216992462500718457648130411499139018437986681292766843580698230817046033377859588749322355885380156443281971364534450412421375714252335999178899999870383169069374549141573735976562765463818435563932139549864418504418814074239270683505122575191144282542250645295634445388288479880776461165519006736243927231284629701785688302363268493978916048485411369836167103977287116463163950022256548453372199672326306207256065016953064539517772776949644024694693387415269408895942421574097152674454131752413726380030778418591336548260456982120758458907426364799659975380477921285877900574449360557335722364297619425941168626200341474914014805666095385287141033958515593839180205224946381733377965906555679529094327627913894693794918206314125578729974319178677418756491504221625434754814867570371586320707879323782748590422424049970032822793528026477714880050163164953818884598704189751140461430442437813175661338458650708968384087190761229746123324905231668480426703172362088092360068132326846609502565499666330472497752302032490303324734087346060639850605277677232588047949302050825305369700885940914939445500993437464678530683331546075182136879959098129481761621785133343228851203018441897256207953708174569775758008012472858931333489459296908529447999347412657992625778670070316326256550051361627495606229738976776269685172603234488266936036543804969544314422143749711574128147313767465338440779433970685167059050690119808076049560823332619495341772858345685877874133610157944832533965750619233399625355204447863972279950427010127 906638818817819416387585689582021820127225270688379260453965629276591166680793221377832276257601585686142063891656505685152959883449701056442814210884639855593598068003851543327805866019335697849417807940853946162092900626621355573556184150570242080570494100445165253740633470454495241515950746749940041489458331308552061060645358498885432740608979806873892605675247615105215376314731875295490601957449868874976302882142326909980228070738649843458100777960727926568661645754304961015371259477879266029705308336830698800959448560723571856521639131908208498073819208226205717863632204400700253853758904371551692946800946991916233248428764654233626573914305179603933885284438542712108261802284639057494801944356480187037921623695214469894324512954078130928551087144932862249809590610020773831473057810013804502729118129156529066156048569896016595328457728905165662599767100895668100542257403771336136944565812769266709718105521236178987254313970290648343311673627997955189413270030481354915705609791029930269015316533184566797760667829938690592862468358387253976937340051059724626817320601511553005542675023593631718249425711738173149572091746006663780186829608597396834593990577787455322643209254166750889925754575146538830645484315752425052283899731529779668350430310089553938861950745195392695334979352432633659789794920402754562761623633769502117078603514987395132263122401053173722650064906205448654037442919566151283877343213923221338432012990807185427295555764007342901310653119965202206656146407777651879429626168362300787517013559384523834402687297908758316052723094464270061811042249136545751491912266898149994801892103766940717439498556517286582054300889136025569002959666055718027969597739564352097141720466248371345160331680137155688808608946673397787817327399274624603602301325789534955949637274831465738521127117693875685276523666088717239253270496110897988778548594977707979673641153990403939958198136187645690496567522253961623872298256735109425627105513559898864818949129329798091240711521890146746673039600649301486067312443013642384755304851313173005670813259888989226717139744547149110638228198532685051326299168591344676461369999493589267234354850787840960649007363056813252616462818220864338380490265284637770937016860812013030408470878577603214611556703104749561639853665955369638815125737483215917228481784535235315941837040690024832120626635411219165175247479227268018914025458692760272263318470388319872838418040419441900459976976517751163143284711642868875128287763371146197633319246226698304991808015314549723914519081016244558887559241763822744437015408418211301315932608158195742033707229050028687905994754121233699850589021453482412311210751816614993902570677115845447136522199245262491749000240177841513958551428327267264141617729863677386845641901600572065204129863887168164894806090471763864248915936736426043293646562236425326386299827947499354460654640493923718203276 1466972424367289575175212423804485106846734202995304280249254791839574747817904639832539208349220157049695173614443737105406422203232335325151900762710095216579830155323595447590837448202912263841466927173531999276035103375361738310019216609031286472113362509915654657772983363426747212684806485378173465029969929823875039216273247481443803324352949598852423699130453539382318714698793035337242938576487147792175119255505722264570100348048683045502750544979404743335893989070821547154800186737378725367238609072032895906914827405412068683744482705452075081536274384708910475728946714523315197217301710943999121802326725489749974240740359981115687031699201746892396450774404056445300016764762715941103283110155497326042812984564625861957917429453752171117403813308982479490493062694004811073130281469479995797312723811800742340924776051226045752264513973772545762760057714528562022869867848226111902157580780848869775756419480189589828816806449961096036924663994430005015624142503601401366097151091418586793602902525852779217138406392094077487969810230447688599420029029233286339207876761193514257184365356170554477062474663251488295945762230059178617311658996585375598698368891800241407146161054576435396450771563414678246067874863344989935572931570354120659260178130933858961693698701624952532982459962345513457797319600847262818168969404281526268416290796485237801360365702136347939642527406923906302167854418705169721864024506690064919130243807853218805155144513329698786690809563247173571190596820199027593681962167541200787387396728453898383544261033885321081516541530028202201360906667640964565566151537581655117377083248049482968084794190962674870534181665597191088009695909982949312599299525252654460410214445164419830571701516304259666095725409837347810073875852646824275928607533045599972902701814349238515470771142388569072691793074984659660827367648785352120530962321357738758092232490538664396940318894646553116861367182229342101793584134635683874987662849282263162438375070498424291582186435904952412768424887790335444582906282193847609701686584691138912226492788983316854631034438342067316952353777262659370504976587347836180682995434248404134804726437108548839972790111647235676666432851043657866406967980164687934101970679696611734598222019039033657049369878766088020290562634339456829576355483606540822460150264961938488303925133050092964447473244913784664841577951725020320946515762017494359609379110238925150515650628467391202510802281887452049084199651088369868565752441901829529179394428363578264089937497076171509047862309867447577329456497971776452611585184176219313788791539491685201330615758498028035318652746747012369920905347710032463672838247422844732879346946801018050371010466181299035553969784492263657708263002455414577909083068304456820816327068659622755323937939936728988227425585813536722594601814610559653451591394770391077005533227572854558908518612773874145213403 2373611243185108991562798113386506926973959473683683540703220421116165914498697861210371484606821742735837237506100242790559382086682036381594714973594735072173428223327446990918643314222247961690884735114385945438128004001983093883575400759601528552683856610360819911513616833881242454200757232128113506519428261132427100276918605980329236064961929405726316304805701154487534091013524910632733540533937016667151422137648049174550328418787332888960851322940132669904555634825126508170171446215257991396943917408863594707874275966135640540266121837360283579610093592935116193592578918924015451071060615315550814749127672481666207489169124635349313605613506926496330336058842599157408278567047354998598085054511977513080734608259840331852241942407830302045954900453915341740302653304025584904603339279493800300041841940957271407080824621122062347592971702677711425359824815424230123412125251997448039102146593618136485474525001425768816071120420251744380236337622427960205037412534082756281802760882448517062618219059037346014899074222032768080832278588834942576357369080293010966025197362705067262727040379764186195311900374989661445517853976065842397498488605182772433292359469587696729789370308743186286376526138561217076713359179097414987856831301883900327610608441023412900555649446820345228317439314778147117587114521250017380930593038051028385494894311472632933623488103189521662292592313129354956205297338271321005741367720613286257562256798660404232450700277337041688001462683212375777846743227976679473111588335903501574904410287838422217946948331794079397569264624492472263171948916777510317058063804479805112178975351816423685524292747479961452588482554733216657012655576038667340568897264817006557551934911412791175732033196441415354904334356510745597891203251921448879530908858835134928852339089180704253991898260082444757968316741073376900080638144896250109309510916335446737765873644529068336898517030834198807357934704483303725665882391370793300614768362842162027257324199828222382822897957795099159441464488439636930650218725207489994456991436004311917897306048872306081348174182889216427590581975795344421831275755939180857144365433741993402039081287896389800621797474704048929282895669264522204787458245449325705038987540508624765006692897616636871660926581870837581930416300294826468391481221089756739688632049497173804245762173740117796568099880325003830016825430952288339860541220710254631872697580627245023354068668886833102970779258405203212227484362731238743694040205272975726812713674590276569081745512390721232962381390883692136217015739735599197048600592594430615104724147649880943364322987548056723224647500868246069771494369163514875984048999239459726781917623916863497507532665426561527302970024670105171666814430782681842050700798168134207661968970260194820528067803823897153122231676285300586843517751346985696745237957006816403391833055520353913369173253267797863416679 3840583667552398566738010537190992033820693676678987820952475212955740662316602501042910692956041899785532411120543979895965804289914371706746615736304830288753258378651042438509480762425160225532351662287917944714163107377344832193594617368632815024797219120276474569286600197307989666885563717506286971549398190956302139493191853461773039389314879004578740003936154693869852805712317945969976479110424164459326541393153771439120428766836015934463601867919537413240449623895948055324971632952636716764182526480896490614789103371547709224010604542812358661146367977644026669321525633447330648288362326259549936551454397971416181729909484616465000637312708673388726786833246655602708295331810070939701368164667474839123547592824466193810159371861582473163358713762897821230795715998030395977733620748973796097354565752758013748005600672348108099857485676450257188119882529952792146281993100223559941259727374467006261230944481615358644887926870212840417161001616857965220661555037684157647899911973867103856221121584890125232037480614126845568802088819282631175777398109526297305233074123898581519911405735934740672374375038241149741463616206125021014810147601768148031990728361387938136935531363319621682827297701975895322781234042442404923429762872238020986870786571957271862249348148445297761299899277123660575384434122097280199099562442332554653911185107957870734983853805325869601935119720053261258373151756976490727605392227303351176692500606513623037605844790666740474692272246459549349037340048175707066793550503444702362291807016292320601491209365679400479085806154520674464532855584418474882624215342061460229556058599865906653609086938442636323122664220330407745022351486021616653168196790069661017962149356577211006303734712745675021000059766348093407965079104568273155459516391880734901755040903529942769462669402471013830660109816058036560908005793681602229840473237693185495858106135067732733838835925480751924219301886712645827459466526006477175602431212124425189695699270326646674405084393700051572209889376229972375233125007401337604158678020695450830123798837855622935979208621231283744542935753058003792336252343287017037827360867990397536843807725004938640594587586351284605949328520308180071194426225614013639140958220205236499604914916655670528710296460636925602220978934634283297967836704696297562148782314459112292549687306790210761015573125238788494858403382677308660807056982727748991482076690866170173869719297354224305481581540292655261311684013819608612259792647174805255992108102953854833171683009466892742010243700751139713546472237707375649660185776770649928893515687141566144694938746046084758543300247615258439692399716873547339656887246662304459661264570717881547878543131607860562856939809162368829375077433238096419959783866472591028478296038919817575852005743760626141349657262098837309438119565957545350196829351777207480397366283093208472277691866041672008630082 6214194910737507558300808650577498960794653150362671361655695634071906576815300362253282177562863642521369648626644222686525186376596408088341330709899565360926686601978489429428124076647408187223236397402303890152291111379327926077170018128234343577481075730637294480800217031189232121086320949634400478068826452088729239770110459442102275454276808410305056308741855848357386896725842856602710019644361181126477963530801820613670757185623348823424453190859670083145005258721074563495143079167894708161126443889760085322663379337683349764276726380172642240756461570579142862914104552371346099359422941575100751300582070453082389219078609251814314242926215599885057122892089254760116573898857425938299453219179452352204282201084306525662401314269412775209313614216813162971098369302055980882336960028467596397396407693715285155086425293470170447450457379127968613479707345377022269694118352221007980361873968085142746705469483041127460959047290464584797397339239285925425698967571766913929702672856315620918839340643927471246936554836159613649634367408117573752134767189819308271258271486603648782638446115698926867686275413230811186981470182190863412308636206950920465283087830975634866724901672062807969203823840537112399494593221539819911286594174121921314481395012980684762804997595265642989617338591901807692971548643347297580030155480383583039406079419430503668607341908515391264227712033182616214578449095247811733346759947916637434254757405174027270056545068003782162693734929671925126884083276152386539905138839348203937196217304130742819438157697473479876655070779013146727704804501195985199682279146541265341735033951682330339133379685922597775711146775063624402035007062060283993737094054886667575514084267990002182035767909187090375904394122858839005856282356489722034990425250715869830607379992710647023454567662553458588628426557131413460988643938577852339149984154028632233623979779596801070737352956314950731577236591195949553125348917377270476217199574966587216953023470154869057227982351495150731651353864669609305883343732608827598615669456699762748021104886727929017327382804120500172133517728853348214167528099226197894971726301732390938882889012901328441216385061055333535232224189572702275981884471063339344179945760713861264611607814272307400371223042507763184151395234929109766359317925786054301837414363956286096795449480530328557583673005563792324875228813629597000667598203438003623354774271493415197223787966241057408452360798697858473539168376550847355953832852447780982804821777544131402253428521857613974972625091634831849763487977442974846708786369365080543998239834791447088059261733594141481767947748483504509463894086037062215640936245901764186443182194634745045386075797034422090159909833832474001041891864020778262010484664640725236140265009180012396380073547584523294471888938384137896281637317304531046942067308784023883789199338613562385646865119309469872046761 10054778578289906125038819187768490994615346827041659182608170847027647239131902863296192870518905542306902059747188202582490990666510779795087946446204395649679944980629531867937604839072568412755588059690221834866454218756672758270764635496867158602278294850913769050086817228497221787971884667140687449618224643045031379263302312903875314843591687414883796312678010542227239702438160802572686498754785345585804504923955592052791185952459364757888055058779207496385454882617022618820114712120531424925308970370656575937452482709231058988287330922985000901902829548223169532235630185818676747647785267834650687852036468424498570948988093868279314880238924273273783909725335910362824869230667496878000821383846927191327829793908772719472560686130995248372672327979710984201894085300086376860070580777441392494750973446473298903092025965818278547307943055578225801599589875329814415976111452444567921621601342552149007936413964656486105846974160677425214558340856143890646360522609451071577602584830182724775060462228817596478974035450286459218436456227400204927912165299345605576491345610502230302549851851633667540060650451471960928445086388315884427118783808719068497273816192363573003660433035382429652031121542513007722275827263982224834716357046359942301352181584937956625054345743710940750917237869025468268355982765444577779129717922716137693317264527388374403591195713841260866162831753235877472951600852224302460952152175219988610947258011687650307662389858670522637386007176131474475921423324328093606698689342792906299488024320423063420929367063152880355740876933533821192237660085614460082306494488602725571291092551548236992742466624365234098833810995394032147057358548081900646905290844956328593476233624567213188339502621932765396904453889206932413821361461057995190449941642596604732362420896240589792917237065024472419288536373189450021896649732259454568990457391721817729482085914664533804576188881795702655796538477908595380584815443383747651819630787091012406648722740481515731633066745195202303861243240899581681116468740010165202774347477395213578144903724583551953306591425351783916676453481911352006503780442513214932799087169722788475726696737906267081810972647406618141181552709880882347176310696677352983320903980919097764216522730927977929081519503144688786372374169563393064327154630482351863986196678415398389345136787320539318599246130802580819733632196306905661474655186165752614836850962359585371093507263595281713933942338990513734850852390370455968213625499622586238796929880497986235425111531324506716982868792385971563309960215150350496368972146135730472891755521933013232754200479640226240311247996098762949156293802910609555297823492564068646104446765352626593264618928642282653016849642994842830416969297258874681970268531113316264618561048099829972232079291345149435821546200482975205719756883262076397138896660561231364186565621706770857924556985351141880676843 16268973489027413683339627838345989955409999977404330544263866481099553815947203225549475048081769184828271708373832425269016177043107187883429277156103961010606631582608021297365728915719976599978824457092525725018745330136000684347934653625101502179759370581551063530887034259686453909058205616775087927687051095133760619033412772345977590297868495825188852621419866390584626599164003659175396518399146526712282468454757412666461943138082713581312508249638877579530460141338097182315257791288426133086435414260416661260115862046914408752564057303157643142659291118802312395149734738190022847007208209409751439152618538877580960168066703120093629123165139873158841032617425165122941443129524922816300274603026379543532111994993079245134962000400408023581985942196524147172992454602142357742407540805908988892147381140188584058178451259288448994758400434706194415079297220706836685670229804665575901983475310637291754641883447697613566806021451142010011955680095429816072059490181217985507305257686498345693899802872745067725910590286446072868070823635517778680046932489164913847749617097105879085188297967332594407746925864702772115426556570506747839427420015669988962556904023339207870385334707445237621234945383050120121770420485522044746002951220481863615833576597918641387859343338976583740534576460927275961327531408791875359159873403099720732723343946818878072198537622356652130390543786418493687530049947472114194298912123136626045202015416861677577718934926674304800079742105803399602805506600480480146603828182141110236684241624553806240367524760626360232395947712546967919942464586810445281988773635143990913026126503230567331875846310287831874544957770457656549092365610142184640642384899842996168990317892557215370375270531119855772808848012065771419677643817547717225440366893312474562969800888951236816371804727577931007916962930320863482885293670837306908140441545750449963106065694261334875313541838110653387373775069104544933710164360761018128036830362057599623601746210636384788861049096690353035512597105569190986999812472618992801390016934094976326166008611311480970633974229472284088809971210764700220671308541739412827770813471455179414609585750807595523027357708461951676413776899453584623158195167740692327500849741632959028828130545200285329452742545652451970523769404492502830686472556268406165823611042371684486140586267850867876182919136366373144608861009936502662142253389603756238191625233853000568317295229836339122386303137688372208390020766921303324167458352070367221601751658042117637678540053182120691955493884020803413073448192593325343077758515500811016889995356724460320813462213234367722079195744582267458620187888947671770938759738465832832547628959987371638650694725676704743176759476827316831458861161279652943980753195754041500758826057279842368612152838929672730293435138867113102001394200566607444080963969345255247975764960320333243571422104660611752723604 26323752067317319808378447026114480950025346804445989726872037328127201055079106088845667918600674727135173768121020627851507167709617967678517223602308356660286576563237553165303333754792545012734412516782747559885199548892673442618699289121968660782037665432464832580973851488183675697030090283915775377305275738178791998296715085249852905141460183240072648934097876932811866301602164461748083017153931872298086973378713004719253129090542078339200563308418085075915915023955119801135372503408957558011744384631073237197568344756145467740851388226142644044562120667025481927385364924008699594654993477244402127004655007302079531117054796988372944003404064146432624942342761075485766312360192419694301095986873306734859941788901851964607522686531403271954658270176235131374886539902228734602478121583350381386898354586661882961270477225106727542066343490284420216678887096036651101646341257110143823605076653189440762578297412354099672652995611819435226514020951573706718420012790669057084907842516681070468960265101562664204884625736732532086507279862917983607959097788510519424240962707608109387738149818966261947807576316174733043871642958822632266546203824389057459830720215702780874045767742827667273266066925563127844046247749504269580719308266841805917185758182856598012913689082687524491451814329952744229683514174236453138289591325815858426040608474207252475789733336197912996553375539654371160481650799696416655251064298356614656149273428549327885381324785344827437465749281934874078726929924808573753302517524934016536172265944976869661296891823779240588136824646080789112180124672424905364295268123746716484317219054778804324618312934653065973378768765851688696149724158224085287547675744799324762466551517124428558714773153052621169713301901272703833499005278605712415890308535909079295332221785191826609289041792602403427205499303510313504781943403096761477130898937472267692588151608925868679889730719906356043170313547013140314294979804144765779856461149148612030250468951117900520494115841885555339373840346468772668116281212629158004164364411490189904310912335895032923940565654824068005486424692676052227175088984252627760569900641177967890336282488713862604838330355868569817595329609334466970334505864418045310821753722552056793044653276128263258534262048797140756896143574055895895013627186750758029809807720787082875485723055171407194782165267168953964342493206243408323616908575769508853028476196212585939410802493431620836320245476678885943240873157291759292381083851692953460398681538540103873103651584506627408938362676406774976383408407743675839446730661636541489781750878657473553567662692874593962390443740681030407776481691858281326236583231029901478652075725339998231915313654318987396193609119822159661875830458538527625951021726867357765377387105379672340844232130274822166114981339350088307721151083828683841219860629906486612162330582027104101495979090011753633400447 42592725556344733491718074864460470905435346781850320271135903809226754871026309314395142966682443911963445476494853053120523344752725155561946500758412317670893208145845574462669062670512521612713236973875273284903944879028674126966633942747070162961797036014015896111860885747870129606088295900690863304992326833312552617330127857595830495439328679065261501555517743323396492900766168120923479535553078399010369441833470417385715072228624791920513071558056962655446375165293216983450630294697383691098179798891489898457684206803059876493415445529300287187221411785827794322535099662198722441662201686654153566157273546179660491285121500108466573126569204019591465974960186240608707755489717342510601370589899686278392053783894931209742484686931811295536644212372759278547878994504371092344885662389259370279045735726850467019448928484395176536824743924990614631758184316743487787316571061775719725588551963826732517220180860051713239459017062961445238469701047003522790479502971887042592213100203179416162860067974307731930795216023178604954578103498435762288006030277675433271990579804713988472926447786298856355554502180877505159298199529329380105973623840059046422387624239041988744431102450272904894501012308613247965816668235026314326722259487323669533019334780775239400773032421664108231986390790880020191011045583028328497449464728915579158763952421026130547988270958554565126943919326072864848011700747168530849549976421493240701351288845411005463100259712019132237545491387738273681532436525289053899906345707075126772856507569530675901664416584405600820532772358627757032122589259235350646284041758890707397343345558009371656494159244940897847923726536309345245242089768366269928190060644642320931456869409681643929090043684172476942522149913338475253176649096153429641330675429221553858302022674143063425660846520180334435122462233831176987667237073934068385271340483222717655694217303187203555203272558017009430544088616117685248005144164905783907893291511206211653852215161754285309355164938575908374886437452037963655116093685248150805554381345585166230476920947206513894574539884296352094296395903440752447846397525992040588340714112633147304945868239521458127865688064330521494009106508788051593492701032158737638322603464185015821872783821328548587987004594449592727419912978548398725700099743019164195633418763158767361626309323022275070965084403535327108951354216179910985759161965373265091220101430065586507728097723267959958706548614367258151630893924213062616548542203763320682000433196582221510782191637688748100893856560427578389456856600337001182524489177137352506671746235381933874381124906108961684469639485263297866396669580805953097175342969495734311199704685327369870566008379995692139370368596649476493334691619818180569931774922621399266136213162659514709456384969204494896408416478217201409722545284395291285300824599251741860138095542347437345067401194672365386124051 68916477623662053300096521890574951855460693586296309998007941137353955926105415403240810885283118639098619244615873680972030512462343123240463724360720674331179784709083127627972396425305066625447649490658020844789144427921347569585333231869038823743834701446480728692834737236053805303118386184606638682297602571491344615626842942845683400580788862305334150489615620256208359202368332582671562552707010271308456415212183422104968201319166870259713634866475047731362290189248336784586002798106341249109924183522563135655252551559205344234266833755442931231783532452853276249920464586207422036317195163898555693161928553481740022402176297096839517129973268166024090917302947316094474067849909762204902466576772993013251995572796783174350007373463214567491302482548994409922765534406599826947363783972609751665944090313512349980719405709501904078891087415275034848437071412780138888962912318885863549193628617016173279798478272405812912112012674780880464983721998577229508899515762556099677120942719860486631820333075870396135679841759911137041085383361353745895965128066185952696231542512322097860664597605265118303362078497052238203169842488152012372519827664448103882218344454744769618476870193100572167767079234176375809862915984530583907441567754165475450205092963631837413686721504351632723438205120832764420694559757264781635739056054731437584804560895233383023778004294752478123497294865727236008493351546864947504801040719849855357500562273960333348481584497363959675011240669673147760259366450097627653208863232009143309028773514507545562961308408184841408669597004708546144302713931660256010579309882637423881660564612788175981112472179593963821302495302161033941391813926590355215737736389441645693923420926806072487804816837225098112235451814611179086675654374759142057220983965130633153634244459334890034949888312782737862327961537341490492449180477030829862402239420694985348282368912113072235093003277923365473714402163130825562300123969050549687749752660354823684102684112872185829849280780461463714260277798506736323232374897877308809718745757075356134787833283101546818515105539120420099782820596116804675021486510244668348910614753811115195282150728235320732704018420199091311604436118122518563827206896576782949144357186737072614917437097456811846521266643246733484316056552604294620713726929769922225443226483945850237112032378193682265747249670704281073293847422423319309376070541142773944248577626278172447138900216699580795026794091046144094871767081504821908929626055456274142399114735122325383885843222195375509832219236834353365840265008080677021971219838773893996453497114039407427948787598983555646860083225944328274173151272664234423411926200525635789851780410667368102481322034314679535563977716471636155210522078356708195882796649488757031513600268039187050300617099479317062523397817567289717443696368223975126520685229158228472300426124374541446563380284684119019524498 111509203180006786791814596755035422760896040368146630269143844946580710797131724717635953851965562551062064721110726734092553857215068278802410225119132992002072992854928702090641459095817588238160886464533294129693089306950021696551967174616108986705631737460496624804695622983923934909206682085297501987289929404803897232956970800441513896020117541370595652045133363579604852103134500703595042088260088670318825857045653839490683273547791662180226706424532010386808665354541553768036633092803724940208103982414053034112936758362265220727682279284743218419004944238681070572455564248406144477979396850552709259319202099661400513687297797205306090256542472185615556892263133556703181823339627104715503837166672679291644049356691714384092492060395025863027946694921753688470644528910970919292249446361869121944989826040362817000168334193897080615715831340265649480195255729523626676279483380661583274782180580842905797018659132457526151571029737742325703453423045580752299379018734443142269334042923039902794680401050178128066475057783089741995663486859789508183971158343861385968222122317036086333591045391563974658916580677929743362468042017481392478493451504507150304605968693786758362907972643373477062268091542789623775679584219556898234163827241489144983224427744407076814459753926015740955424595911712784611705605340293110133188520783647016743568513316259513571766275253307043250441214191800100856505052294033478354351017141343096058851851119371338811581844209383091912556732057411421441791802975386681553115208939084270081885281084038221464625724992590442229202369363336303176425303190895606656863351641528131279003910170797547637606631424534861669226221838470379186633903694956625143927797034083966625380290336487716416894860521397575054757601727949654339852303470912571698551659394352187011936267133477953460610734832963072297450423771172667480116417550964898247673579903917703003976586215300275790296275835940374904258490779248510810305268133956333595643044171561035337954899274626471139204445719037372089146715250544699978348468583125459615273127102660522365264754230308060713089645423416772194079216499557557122867884036236708937251328866444262500228018967756778860569706484529612805613542626910570157319907928735520587466960650922088436790220918785360434508271237696326211735969531152693346413826672789086421076645247104617598738341701215957336712334074239608182245201638603230295135232506516039035468679056343758954866997939967540753733342705413402246502661005717884525478168259219594824399547931704546894668034859884123610726075797261931755297121608417678204495709015911246503125243349421341302329912505092517331329722711207626140569820853470187520587269170021370101051485095994737973047330414310371674934346313121112648545213698174888765814571572110156297649813430698701759757002068683811958931814295784491127166241652619266411821509828409970332438521666721978791630781479356484405648549 180425680803668840091911118645610374616356733954442940267151786083934666723237140120876764737248681190160683965726600415064584369677411402042873949479853666333252777564011829718613855521122654863608535955191314974482233734871369266137300406485147810449466438906977353497530360219977740212325068269904140669587531976295241848583813743287197296600906403675929802534748983835813211305502833286266604640967098941627282272257837261595651474866958532439940341291007058118170955543789890552622635890910066189318028165936616169768189309921470564961949113040186149650788476691534346822376028834613566514296592014451264952481130653143140536089474094302145607386515740351639647809566080872797655891189536866920406303743445672304896044929488497558442499433858240430519249177470748098393410063317570746239613230334478873610933916353875166980887739903398984694606918755540684328632327142303765565242395699547446823975809197859079076817137404863339063683042412523206168437145044157981808278534496999241946454985642900389426500734126048524202154899543000879036748870221143254079936286410047338664453664829358184194255642996829092962278659174981981565637884505633404851013279168955254186824313148531527981384842836474049230035170776965999585542500204087482141605394995654620433429520708038914228146475430367373678862801032545549032400165097557891768927576838378454328373074211492896595544279548059521373938509057527336864998403840898425859152057861192951416352413393331672160063428706747051587567972727084569202051169425484309206324072171093413390914054598545767027587033400775283637871966368044849320728017122555862667442661524165555160664474783585723618719103604128825490528717140631413128025717621546980359665533423525612319303711263293788904699677358622673166993053542560833426527957845671713755772643359482820165570511592812843495560623145745810159778385308514157972565598027995728110075819324612688352258955127413348025389279113863740377972892942379336372605392103006883283392796831915859022057583387498656969053726499498835803406993049051436301580843481002768424991872859735878500052587513409607531604750962537192293862037095674361797889370546481377286161943620255377695510169695992099593273724904728704117217978745033088721147114825312303536611317837659161051707658016242172281029537880943059696052026083756987967127553602559008646519871731050467835850374079409639602459583744943889255539049061026549604511303047658812979717256682621931402005898156667121548760136796459546341374428087222706434407794314675868966798662666826872278553878082079499120558295034096285121137386616498355226466928854685140499578740463460748730278700104076072978189805937151954414742972126134421943999195370547005890903265506662106075528652448625051210498324029592748803755735776531596961697368221598913329163413698737888810057619168163129021455212113351780844609938020843241538342195057568198804738947791096520238194161764040603425173047 291934883983675626883725715400645797377252774322589570536295631030515377520368864838512718589214243741222748686837327149157138226892479680845284174598986658335325770418940531809255314616940243101769422419724609104175323041821390962689267581101256797155098176367473978302225983203901675121531750355201642656877461381099139081540784543728711192621023945046525454579882347415418063408637333989861646729227187611946108129303491101086334748414750194620167047715539068504979620898331444320659268983713791129526132148350669203881126068283735785689631392324929368069793420930215417394831593083019710992275988865003974211800332752804541049776771891507451697643058212537255204701829214429500837714529163971635910140910118351596540094286180211942534991494253266293547195872392501786864054592228541665531862676696347995555923742394237983981056074097296065310322750095806333808827582871827392241521879080209030098757989778701984873835796537320865215254072150265531871890568089738734107657553231442384215789028565940292221181135176226652268629957326090621032412357080932762263907444753908724632675787146394270527846688388393067621195239852911724928105926523114797329506730673462404491430281842318286344292815479847526292303262319755623361222084423644380375769222237143765416653948452445991042606229356383114634287396944258333644105770437851001902116097622025471071941587527752410167310554801366564624379723249327437721503456134931904213503075002536047475204264512703010971645272916130143500124704784495990643842972400870990759439281110177683472799335682583988492212758393365725867074335731381152497153320313451469324306013165693686439668384954383271256325735028663687159754938979101792314659621316503605503593330457609578944684001599781505321594537880020248221750655270510487766380261316584285454324302753835007177506778726290796956171357978708882457228809079686825452682015578960626357749399228530391356235541342713623815685554949804115282231383721627847182910660236963216879035841003476894360012482662125128108258172218536207892553708299596136279929312064128228040264999962396400865317341743717668244694396385953964487941253595231918920757254582718086223413272486699640195738188663748878453843431389258316922831521371943658878467022754047824124078278488581249488497878935027532715537809118639385907787995614909681313541380275348095067596516978155085434588715780625596939171917819183497437784250699629779899646535554174852015185935738965690356872896096634662302493479501872948587877089092940590959885962573895463791198210598531419173221912941963622731284370831358216876434508224916033430962637870596387002703983812882090032608612609168590309519528648359580555312792979604609464586464540568375991954750602656844048575982862935422885432670342713861452300949474706485727511939793709069626813227129436590569814621236846940980387026409136271971776179673462507950163704885978169137177469457818499029824943243397087830821596 472360564787344466975636834046256171993609508277032510803447417114450044243606004959389483326462924931383432652563927564221722596569891082888158124078840324668578547982952361527869170138062897965377958374915924078657556776692760228826567987586404607604564615274451331799756343423879415333856818625105783326464993357394380930124598287015908489221930348722455257114631331251231274714140167276128251370194286553573390401561328362681986223281708727060107389006546126623150576442121334873281904874623857318844160314287285373649315378205206350651580505365115517720581897621749764217207621917633277506572580879455239164281463405947681585866245985809597305029573952888894852511395295302298493605718700838556316444653564023901436139215668709500977490928111506724066445049863249885257464655546112411771475907030826869166857658748113150961943814000695050004929668851347018137459910014131157806764274779756476922733798976561063950652933942184204278937114562788738040327713133896715915936087728441626162244014208840681647681869302275176470784856869091500069161227302076016343843731163956063297129451975752454722102331385222160583473899027893706493743811028748202180520009842417658678254594990849814325677658316321575522338433096721622946764584627731862517374617232798385850083469160484905270752704786750488313150197976803882676505935535408893671043674460403925400314661739245306762854834349426085998318232306854774586501859975830330072655132863728998891556677906034683131708701622877195087692677511580559845894141826355299965763353281271096863713390281129755519799791794141009504946302099426001817881337436007331991748674689859241600332859737968994875044838632792512650283656119733205442685338938050585863258863881135191263987712863075294226294215238642921388743708813071321192908219162255999210096946113317827343077290319103640451731981124454692617007194388200983425247613606956354467825218553143079708494496470126971841074834063667855660204276664007183555516052339970100162428637835392753382070066049623785077311898718035043695960701348647572581510155545130996465256872822132279365369929257127275776299147348491156781803290690906280718646625129199463509575216106955017891248358359740978047117156293987021040049500116976747599614137579360127660689596326240410540205536951269704996567346999582445603840021698666669280668933877907103714116388709205553270439089860035236541631501564127386693323299760656329504157838601833664994903192421587621758878794253301783851253616298332494929251517180163297394293756888571332757996873265358291451775791024043121851842665865454501997571894841414388657429566725281527502282724276342838762887312713244663287709334585511534970055765105739031408585659911115381882858016109318950124104635311560474095930994372306610256056685251238082689209308015307982955976640828174479379872240405010070001842238522488052816386117694305749488505899943546367941916417248915019268019105007437691255994643 764295448771020093859362549446901969370862282599622081339743048144965421763974869797902201915677168672606181339401254713378860823462370763733442298677826983003904318401892893337124484755003141067147380794640533182832879818514151191515835568687661404759662791641925310101982326627781090455388568980307425983342454738493520011665382830744619681842954293768980711694513678666649338122777501265989898099421474165519498530864819463768320971696458921680274436722085195128130197340452779193941173858337648448370292462637954577530441446488942136341211897690044885790375318551965181612039215000652988498848569744459213376081796158752222635643017877317049002672632165426150057213224509731799331320247864810192226585563682375497976233501848921443512482422364773017613640922255751672121519247774654077303338583727174864722781401142351134942999888097991115315252418947153351946287492885958550048286153859965507021491788755263048824488730479505069494191186713054269912218281223635450023593640959884010378033042774780973868863004478501828739414814195182121101573584383008778607751175917864787929805239122146725249949019773615228204669138880805431421849737551862999510026740515880063169684876833168100669970473796169101814641695416477246307986669051376242893143839469942151266737417612930896313358934143133602947437594921062216320611705973259895573159772082429396472256249266997716930165389150792650622697955556182212308005316110762234286158207866265046366760942418737694103353974539007338587817382296076550489737114227226290725202634391448780336512725963713744012012550187506735372020637830807154315034657749458801316054687855552928040001244692352266131370573661456199810038595098834997757344960254554191366852194338744770208671714462856799547888753118663169610494364083581808959288480478840284664421248867152834520584069045394437407903339103163575074236003467887808877929629185916980825574617781673471064730037812840595656760389013471970942435660385635030738426712576933317041464478838869647742082548711748913185570070936571251588514409648243708861439467609259224505521872784528680230687271000844944020993543734445121269744544286138199639403879711917549732988488593654658086986547023489856500960587683245337962881021488920406478081160333407951784767874814821660028703415886297237712105156118221831511628017313576350594210314153255198781712905687360638705027805640660833480803419383310884131107550460286109403804374156008517010089128160553312115751690349936446153747095800205443517128606273103888354179719462466796549195083863889710624997703966006744583127036696812718874006403066330422088392204595877914504986708089224928795495925322413253597228863233871115525368558085343640873172124451683757874812766711975794172680618174495896981363664715020471708357634725944568416721247809017052582789867957611069949686861641857010982229264931624324788162297367768257438669604829524537079093886706733518297844048250834779086816239 1236656013558364560834999383493158141364471790876654592143190465259415466007580874757291685242140093603989613991965182277600583420032261846621600422756667307672482866384845254864993654893066039032525339169556457261490436595206911420342403556274066012364227406916376641901738670051660505789245387605413209309807448095887900941789981117760528171064884642491435968809145009917880612836917668542118149469615760719092888932426147826450307194978167648740381825728631321751280773782574114067223078732961505767214452776925239951179756824694148486992792403055160403510957216173714945829246836918286266005421150623914452540363259564699904221509263863126646307702206118315044909724619805034097824925966565648748543030217246399399412372717517630944489973350476279741680085972119001557378983903320766489074814490758001733889639059890464285904943702098686165320182087798500370083747402900089707855050428639721983944225587731824112775141664421689273773128301275843007952545994357532165939529728688325636540277056983621655516544873780777005210199671064273621170734811685084794951594907081820851226934691097899179972051351158837388788143037908699137915593548580611201690546750358297721847939471824017914995648132112490677336980128513198869254751253679108105410518456702740537116820886773415801584111638929884091260587792897866098997117641508668789244203446542833321872570911006243023693020223500218736621016187863036986894507176086592564358813340729994045258317620324772377235062676161884533675510059807657110335631256053581590690965987672719877200226116244843499531812341981647744876966939930233156132915995185466133307803362545412169640334104430321261006415412294248712460322251218568203200030299192604777230111058219879961472659427325932093774182968357306090999238072896653130152196699641096283874518194980470661863661359364498077859635320227618267691243197856088792303177242792873335293399836334816550773224534282967567497835223077139826602639937049642214293942764916903417203893116674262401124152614761372698262881969654606295284475110996891281442949623154390220970778745606660959596057200257972219797292691082936278051547834977044480358050504841117013242563704700609675978234905383230834548077743977232359002930521605897154077695297912768079445457471141062070568908952837566942708672503117804277115468039012243019874879248031162302495829294396566191975466895500696070022434920947438270824430850220942438907962212757842182004992320582140933874630484603238230005000712098537938446380123453267185748473476351038129307191957129248002076773494990049866434969702562267220871578297907744810745821771321159442007269432365567767558383238035657916884938197819382650495424323191082672281757784362799139757670782821294744296785253486056371077294659087327081964414319977182651105930555824325035538766508785785549329559102046867080984071503454112377604548415062074006927175504773070905021010303955648537565863153258272470342810882 2000951462329384654694361932940060110735334073476276673482933513404380887771555744555193887157817262276595795331366436990979444243494632610355042721434494290676387184786738148202118139648069180099672719964196990444323316413721062611858239124961727417123890198558301952003720996679441596244633956585720635293149902834381420953455363948505147852907838936260416680503658688584529950959695169808108047569037234884612387463290967290218628166674626570420656262450716516879410971123026893261164252591299154215584745239563194528710198271183090623334004300745205289301332534725680127441286051918939254504269720368373665916445055723452126857152281740443695310374838283741194966937844314765897156246214430458940769615780928774897388606219366552388002455772841052759293726894374753229500503151095420566378153074485176598612420461032815420847943590196677280635434506745653722030034895786048257903336582499687490965717376487087161599630394901194343267319487988897277864764275581167615963123369648209646918310099758402629385407878259278833949614485259455742272308396068093573559346082999685639156739930220045905222000370932452616992812176789504569337443286132474201200573490874177785017624348657186015665618605908659779151621823929676115562737922730484348303662296172682688383558304386346697897470573073017694208025387818928315317729347481928684817363218625262718344827160273240740623185612651011387243714143419219199202512492197354798644971548596259091625078562743510071338416650700891872263327442103733660825368370280807881416168622064168657536738842208557243543824892169154480248987577761040310447950652934924934623858050400965097680335349122673527137785985955704912270360846317403200957375259447158968596963252558624731681331141788788893322071721475969260609732436980234939111485180119936568538939443847623496384245428409892515267538659330781842765479201323976601181106871978790316118974454116490021837954572095808163154595612090611797545075597435277245032369477493836734245357595513132048866235163473121611448452040591177546872989520645134990304389090763649445476300618391189639826744471258817163818286234817381399321292379263182679997454384553034562975552193294264334065221452406720691049038331660477696965811543094817560555776458246176031230225345955883730597612368723864180420777659236026108627096056325819370469089562184417501277542200083926830680494701141356903503238340330749154955538400681228548311766586913850699015081448742694245990382174953174676158747807898743381963508729726371074102653195813504925856387040993137712701771198956056611018096739259079939745584700974075232834213975917037356512256140454792696353879163358071170482167061053253766020792881276426313154929908814482897632483549533270538469465871660552268058658323802347553672771954703127219522651803633342088121556376743396619279245963688724091966300768385736702392710712429842264365845109602595442100104190662382055863707201509107249429627121 3237607475887749215529361316433218252099805864352931265626123978663796353779136619312485572399957355880585409323331619268580027663526894456976643144191161598348870051171583403067111794541135219132198059133753447705813753008927974032200642681235793429488117605474678593905459666731102102033879344191133844602957350930269321895245345066265676023972723578751852649312803698502410563796612838350226197038652995603705276395717115116668935361652794219161038088179347838630691744905601007328387331324260659982799198016488434479889955095877239110326796703800365692812289750899395073270532888837225520509690870992288118456808315288152031078661545603570341618077044402056239876662464119799994981172180996107689312645998175174296800978936884183332492429123317332500973812866493754786879487054416187055452967565243178332502059520923279706752887292295363445955616594544154092113782298686137965758387011139409474909942964218911274374772059322883617040447789264740285817310269938699781902653098336535283458587156742024284901952752040055839159814156323729363443043207753178368510940990081506490383674621317945085194051722091290005780955214698203707253036834713085402891120241232475506865563820481203930661266738021150456488601952442874984817489176409592453714180752875423225500379191159762499481582212002901785468613180716794414314846988990597474061566665168096040217398071279483764316205836151230123864730331282256186097019668283947363003784889326253136883396183068282448573479326862776405938837501911390771160999626334389472107134609736888534736964958453400743075637234150802225125954517691273466580866648120391067931661412946377267320669453552994788144201398249953624730683097535971404157405558639763745827074310778504693153990569114720987096254689833275351608970509876888069263681879761032852413457638828094158247906787774390593127173979558400110456722399180065393484284114771663651412374290451306572611179106378775730652430835167751624147715534484919459326312242410740151449250712187394449990387778234494309711334010245783842157464631642026271747338713918039666447079363997850599422801671516789383615578925900317677372840214240227160355504889394151576218115897994874010043456357789951525597116075637710055968742064700714714633471756158944110675682817096945801166521321561431123129450162353830385742564095338062390343968810215579803773371494480493022655961596642052973525673261278187425779969250902170987219728799671692881020073769324835179865012659556412906163748519997281320409888853179638259851126672164543055163578998122385714778544693946106477453066441821347160617162998881820043580035747238196798519525572820360463912262401393729087367105258872636416516217204467508985436687693177282037390154332354565282766251125146608639135952982889674635637186274680309870628582359457667123660322885529182168608805065735591172950372271839849079997259127491916271293020614375666347121114494618030593429570354767379719772438003 5238558938217133870223723249373278362835139937829207939109057492068177241550692363867679459557774618157181204654698056259559471907021527067331685865625655889025257235958321551269229934189204399231870779097950438150137069422649036644058881806197520846612007804032980545909180663410543698278513300776854479896107253764650742848700709014770823876880562515012269329816462387086940514756308008158334244607690230488317663859008082406887563528327420789581694350630064355510102716028627900589551583915559814198383943256051629008600153367060329733660801004545570982113622285625075200711818940756164775013960591360661784373253371011604157935813827344014036928451882685797434843600308434565892137418395426566630082261779103949194189585156250735720494884896158385260267539760868508016379990205511607621831120639728354931114479981956095127600830882492040726591051101289807814143817194472186223661723593639096965875660340705998435974402454224077960307767277253637563682074545519867397865776467984744930376897256500426914287360630299334673109428641583185105715351603821271942070287073081192129540414551537990990416052093023742622773767391487708276590480120845559604091693732106653291883188169138389946326885343929810235640223776372551100380227099140076802017843049048105913883937495546109197379052785075919479676638568535722729632576336472526158878929883793358758562225231552724504939391448802241511108444474701475385299532160481302161648756437922512228508474745811792519911895977563668278202164944015124431986367996615197353523303231801057192273703800661957986619462126319956705374942095452313777028817301055316002555519463347342365001004802675668315281987384205658537001043943853374605114780818086922714424037563337129424835321710903509880418326411309244612218702946857123008375167059880969420952397082675717654632152216184283108394712638889181953222201600504041994665390986750453967531348744567796594449133678474583893807026447258363421692791131920196704358681719904576885694608307700526498856622941707615921159786050836961389030454152287161262051727804681689111923379982389040239249546142775606547433865160717699076694132593503409840352959273947186139193668091289138344108677810196672216646154407298187752934553607795532275189248214405120141905908163052829531764133690285295303550227821589856494369660151663881760813058372399997305050913694564419853336456297783409877028911601608936580735507651583399535531495386585543580035155218067529425855394834509587582322496327896024702373397582906009333953779867978047981019966039115523427480315892902163088471163181080427100362747699855895276414249723155234155031781713275153160266141564751800257849272319925890182537010085743935298591617601991764935022637881887835821235716996807160907194611306692022189309958229383437090151234163091009211781879262272578787888051029424315264916673040225585782389969839921758535658865723978261789221218685280412649293277556276486969202065124 8476166414104883085753084565806496614934945802182139204735181470731973595329828983180165031957731974037766613978029675528139499570548421524308329009816817487374127287129904954336341728730339618364068838231703885855950822431577010676259524487433314276100125409507659139814640330141645800312392644967988324499064604694920064743946054081036499900853286093764121979129266085589351078552920846508560441646343226092022940254725197523556498889980215008742732438809412194140794460934228907917938915239820474181183141272540063488490108462937568843987597708345936674925912036524470273982351829593390295523651462352949902830061686299756189014475372947584378546528927087853674720262772554365887118590576422674319394907777279123490990564093134919052987314019475717761241352627362262803259477259927794677284088204971533263616539502879374834353718174787404172546667695833961906257599493158324189420110604778506440785603304924909710349174513546961577348215066518377849499384815458567179768429566321280213835484413242451199189313382339390512269242797906914469158394811574450310581228063162698619924089172855936075610103815115032628554722606185911983843516955558645006982813973339128798748751989619593876988152081950960692128825728815426085197716275549669255732023801923529139384316686705871696860634997078821265145251749252517143947423325463123632940496548961454798779623302832208269255597284953471634973174805983731571396551828765249524652541327248765365391870928880074968485375304426444684141002445926515203147367622949586825630437841537945727010668759115358729695099360470758930500896613143587243609683949175707070487180876293719632321674256228663103426188782455612161731727041389346009272186376726686460251111874115634117989312280018230867514581101142519963827673456734011077638848939642002273365854721503811812880059003958673701521886618447582063678923999684107388149675101522117618943723035019103167060312784853359624459457282426115045840506666405116163684993962315317037143859019887920948847010719942110230871120061082745231187918783929187533799066518599728778370459346386890838672347814292395931049444086618016754066972807743637000708464163341337715411783989284012354152134167986623742243270482935897808903295672496246989822719970564064252581590980149775332930655011846726426679677983943686880112224247001944151157027182615577108824285189044912875992417894425462850554584862887124006515476902485570522751224186257236461055228987392364605720407494066000488486244847893306022783286436085647593804906540142591036183545037237909142258860586848269565924229622901774260979910698737715319994285470393430953551307286095513624178403966145529345216377578798526599053227290211444284028305295169046972412792214242401104001968121953769546330564289581696824947144504063746960779816522548676335442202147801760956496856095159906437867045312065434862387228967413674806951886338353928136342333179898443242722847911043866688974503127 13714725352322016955976807815179774977770085740011347143844238962800150836880521347047844491515506592194947818632727731787698971477569948591640014875442473376399384523088226505605571662919544017595939617329654324006087891854226047320318406293630835122712133213540639685723820993552189498590905945744842804395171858459570807592646763095807323777733848608776391308945728472676291593309228854666894686254033456580340604113733279930444062418307635798324426789439476549650897176962856808507490499155380288379567084528591692497090261829997898577648398712891507657039534322149545474694170770349555070537612053713611687203315057311360346950289200291598415474980809773651109563863080988931779256008971849240949477169556383072685180149249385654773482198915634103021508892388230770819639467465439402299115208844699888194731019484835469961954549057279444899137718797123769720401416687630510413081834198417603406661263645630908146323576967771039537655982343772015413181459360978434577634206034306025144212381669742878113476674012638725185378671439490099574873746415395722252651515136243890749464503724393927066026155908138775251328489997673620260433997076404204611074507705445782090631940158757983823315037425880770927769049505187977185577943374689746057749866850971635053268254182251980894239687782154740744821890317788239873579999661935649791819426432754813557341848534384932774194988733755713146081619280685206956696083989246551686301297765171277593900345674691867488397271281990112962343167389941639635133735619564784179153741073339002919284372559777316716314561486790715635875838708595901020638501250231023073042700339641061997322679058904331418708176166661270698732770985242720614386967194813609174675149437452763542824633990921740747932907512451764576046376403591134086014015999522971694318251804179529467512211220142956809916599257336764016901125600188149382815066088272571586475071779586899761509446463327943518266483729684478467533297798325312868043675682219893922838467327588447447703633661649726152030906111919706620218372936216348795850794323281417890293839328775931077921893957068002478483309247335715830761105401247046841061423437288523854605452080573150698260811978183295958889424890234085561837849280291779265011968184969184394487499143202604864694788702132021730229905805533543374481884398665825911970085555015574413875198883609332729328874192208872727583496464496060587250984554068970058282719572842780041090384205459894031575802328575588070808741175789330725156684018991656927758686408120639017203511076353432569739176479750432654395392803982201361342658398593610596408535193548665108583088999370666784444545530897329603065649898724416781590237375955379582619922897160811907435430096130236925237685118760930453525175596273719014257102733447184050931050685639685547224081410074339744384907124584221702783718352291020644777198807335433342610752062332189925563551865178855892016125467320353658176568251 22190891766426900041729892380986271592705031542193486348579420433532124432210350330228009523473238566232714432610757407315838471048118370115948343885259290863773511810218131459941913391649883635960008455561358209862038714285803057996577930781064149398812258623048298825538461323693835298903298590712831128894236463154490872336592817176843823678587134702540513288074994558265642671862149701175455127900376682672363544368458477454000561308287850807067159228248888743791691637897085716425429414395200762560750225801131755985580370292935467421635996421237444331965446358674015748676522599942945366061263516066561590033376743611116535964764573239182794021509736861504784284125853543297666374599548271915268872077333662196176170713342520573826469512935109820782750245015593033622898944725367196976399297049671421458347558987714844796308267232066849071684386492957731626659016180788834602501944803196109847446866950555817856672751481318001115004197410290393262680844176437001757402635600627305358047866082985329312665987394978115697647914237397014044032141226970172563232743199406589369388592897249863141636259723253807879883212603859532244277514031962849618057321678784910889380692148377577700303189507831731619897875234003403270775659650239415313481890652895164192652570868957852591100322779233562009967142067040757017527422987398773424759922981716268356121471837217141043450586018709184781054794086668938528092635818011801210953839092420042959292216603571942456882646586416557646484169835868154838281103242514371004784178914876948646295041318892675446009660847261474566376735321739488264248185199406730143529881215934781629644353315132994522134364949116882860464498026632066623659153571540295634926261311568397660813946270939971615447488613594284539874049860325145163652864939164973967684106525683341280392270224101630511438485875784346080580049599872256770964741189794689205418794814606002928569759248181303142725941012110593513373804464730429031728669644535210959982326347476368396550644381591836382902026173002451851406291720145536329649860841881146668664298675162821916594241771360398409532753333953732584828078208990683841769887600629861570017236069857163052412946146169919701132695373169983370741144952788026254834688155533248647069090123352380197625443713978748156909583789477230254594108645667770063127112737631151522699484072654245605321292086634335578138081327383184593766461456554540581033943759100016502145613192852258637296209822641588559294986023682636747939970455077304521563592948263230053387056113591341711998037066598702220319622426883975622322569097331325916402820663942096062134396285466180408622949497042858948282027477522943380643464666166823866648228192329858879848222310372638029239653240714699999855739885855415839204247237510931011710867208188361882666283557876100700881763219744128140650763664356455507164427774749108149562638400686118061905885045077299134738973378364220347151071378 35905617118748916997706700196166046570475117282204833492423659396332275269090871677275854014988745158427662251243485139103537442525688318707588358760701764240172896333306357965547485054569427653555948072891012533868126606140029105316896337074694984521524391836588938511262282317246024797494204536457673933289408321614061679929239580272651147456320983311316904597020723030941934265171378555842349814154410139252704148482191757384444623726595486605391586017688365293442588814859942524932919913550581050940317310329723448482670632122933365999284395134128951989004980680823561223370693370292500436598875569780173277236691800922476882915053773530781209496490546635155893847988934532229445630608520121156218349246890045268861350862591906228599951711850743923804259137403823804442538412190806599275514505894371309653078578472550314758262816289346293970822105290081501347060432868419345015583779001613713254108130596186726002996328449089040652660179754062408675862303537415436335036841634933330502260247752728207426142661407616840883026585676887113618905887642365894815884258335650480118853096621643790207662415631392583131211702601533152504711511108367054229131829384230692980012632307135561523618226933712502547666924739191380456353603024929161371231757503866799245920825051209833485340010561388302754789032384828996891107422649334423216579349414471081913463320371602073817645574752464897927136413367354145484788719807258352897255136857591320553192562278263809945279917868406670608827337225809794473414838862079155183937919988215951565579413878669992162324222334052190202252574030335389284886686449637753216572581555575843626967032374037325940842541115778153559197269011874787238046120766353904809601410749021161203638580261861712363380396126046049115920426263916279249666880938687945662002358329862870747904481444244587321355085133121110097481175200060406153779807278067260791893866594192902690079205711509246660992424741795071980907102263055741899772345326755104882820793675064815844254278043241562534932932284922158471624664656361885125500655165162564558958138003938752994516135728428400888016062581289448415589183610237730682831311037918385424622688150430313750673758124353215660022120263404068932578994233079805519846656340502433041556589266554985062320232416110769887139489595010773629075993044333595975097198292646725936574682956263578334650166278843208305721577791879245181017446010623510639316663331942796543235997398312152668872012151217176630103727199471967473096654474068961449322279356383869070590567189944774281737213546349134874715015230866176983665227495924936512811355857490761170717485284836847193067495027940188551347677376247360162233702042122203449268151089490670787283652406502874954477338359475630453380915482129134853461349970958115062641917893828047429890364967950440445266670344328349843434482016647476151941626582084541492173390463018307987469436910256155026755098845684574005327639629 58096508885175817039436592577152318163180148824398319841003079829864399701301222007503863538461983724660376683854242546419375913573806688823536702645961055103946408143524489425489398446219311289515956528452370743730165320425832163313474267855759133920336650459637237336800743640939860096397503127170505062183644784768552552265832397449494971134908118013857417885095717589207576937033528257017804942054786821925067692850650234838445185034883337412458745245937254037234280452757028241358349327945781813501067536130855204468251002415868833420920391555366396320970427039497576972047215970235445802660139085846734867270068544533593418879818346769964003518000283496660678132114788075527112005208068393071487221324223707465037521575934426802426421224785853744587009382419416838065437356916173796251913802944042731111426137460265159554571083521413143042506491783039232973719449049208179618085723804809823101554997546742543859669079930407041767664377164352801938543147713852438092439477235560635860308113835713536738808648802594956580674499914284127662938028869336067379117001535057069488241689518893653349298675354646391011094915205392684748989025140329903847189151063015603869393324455513139223921416441544234167564799973194783727129262675168576684713648156761963438573395920167686076440333340621864764756174451869753908634845636733196641339272396187350269584792208819214861096160771174082708191207454023084012881355625270154108208975950011363512484778881835752402162564454823228255311507061677949311695942104593526188722098903092900211874455197562667608333883181313664768629309352074877549134871649044483360102462771510625256611385689170320462976906064895036419661767038506853861705274337894200444527672060589558864452526532801683978827884739640333655794476124241424413319745877852919629686464855546212028296751668346217832793571008905456178061224799932662924744548467861949997312661408798905618648964959690549803718365753905665494280906727786170931501014971290315842803120022541184240804922424833398917834958457924610323030956376507421455150516007043711227622436679101574911110377499788799297548815915243181000417261819228414524601198638548246994639924220287476803086704270523135361154815636574052303320139185867831774681344496035681688625679389907365259945676130089518044049073384488003883670101690001366038224311030277877459274167028917823939971458365477543883859659119262429774783907467178051220350607091042813045381610591164411306168221973858765189398713223154604221036624929146265970885872304647099123977623303536115993735250612947837095034637657750152605987796593256262429214176521432857232851881570303027601690444524983047499629704853770303542877166708289027315916379281820529667131874716875512983716991600190330453236655367984550692665597208469046074352785102016409312556648525826541146148433564072477984085245681003931659106054356833649641736028863704426049375321955333454161494072224048794352478711007 94002126003924734037143292773318364733655266106603153333426739226196674970392093684779717553450728883088038935097727685522913356099495007531125061406662819344119304476830847391036883500788738943071904601343383277598291926565861268630370604930454118441861042296226175848063025958185884893891707663628178995473053106382614232195071977722146118591229101325174322482116440620149511202204906812860154756209196961177771841332841992222889808761478824017850331263625619330676869267616970766291269241496362864441384846460578652950921634538802199420204786689495348309975407720321138195417909340527946239259014655626908144506760345456070301794872120300745213014490830131816571980103722607756557635816588514227705570571113752733898872438526333031026372936636597668391268519823240642507975769106980395527428308838414040764504715932815474312833899810759437013328597073120734320779881917627524633669502806423536355663128142929269862665408379496082420324556918415210614405451251267874427476318870493966362568361588441744164951310210211797463701085591171241281843916511701962195001259870707549607094786140537443556961090986038974142306617806925837253700536248696958076320980447246296849405956762648700747539643375256736715231724712386164183482865700097738055945405660628762684494220971377519561780343902010167519545206836698750799742268286067619857918621810658432183048112580421288678741735523638980635327620821377229497670075432528507005464112807602684065677341160099562347442482323229898864138844287487743785110780966672681372660018891308851777453869076232659770658105515365854970881883382410266834021558098682236576675044327086468883578418063207646403819447180673189978859036050381641099751395104248105254129082809610720068091106794663396342208280865686382771714902388157703662986626816540865291688823185409082776201233112590805154148656142026566275542399999993069078524355745929210789206528002991808308728170671199796464710790495700737475188008990841912831273360298045420725623913697606000085059200468074961452767890742846768794655621032869306580651171172206275786580574683040327905626513228217200185564878496532629416006445429466145207432509676466632419262612370717790553760462394876351021176935899978121235899133418947637294528000836538114730182268656462350322265908546200287931188562979498777512746094734334962013321509322924603395848849985181402274621624644320752189581236911141674955801353477801561859667270422985609588617607989476563975040234125075941819502440422626571694133279403215227420208151661030968194568190493480890275472464159296971969749652888616329589653024089181198942025532378923618403569366855139874794757939552923236050977382230017663705110868750411230765184530371311200454415527123378387938194329959665960906617570850113685546126947179427161136994702995844456742447013493776981591415103908400827827519727697651407811047680938918191133909419326722734036844758865589609188249171069733368357806350636 152098634889100551076579885350470682896835414931001473174429819056061074671693315692283581091912712607748415618951970231942289269673301696354661764052623874448065712620355336816526281947008050232587861129795754021328457246991693431943844872786213252362197692755863413184863769599125744990289210790798684057656697891151166784460904375171641089726137219339031740367212158209357088139238435069877959698263983783102839534183492227061334993796362161430309076509562873367911149720373999007649618569442144677942452382591433857419172636954671032841125178244861744630945834759818715167465125310763392041919153741473643011776828889989663720674690467070709216532491113628477250112218510683283669641024656907299192791895337460198936394014460759833452794161422451412978277902242657480573413126023154191779342111782456771875930853393080633867404983332172580055835088856159967294499330966835704251755226611233359457218125689671813722334488309903124187988934082768012552948598965120312519915796106054602222876475424155280903759959012806754044375585505455368944781945381038029574118261405764619095336475659431096906259766340685365153401533012318522002689561389026861923510131510261900718799281218161839971461059816800970882796524685580947910612128375266314740659053817390726123067616891545205638220677242632032284301381288568504708377113922800816499257894206845782452632904789240503539837896294813063343518828275400313510551431057798661113673088757614047578162120041935314749605046778053127119450351349165693096806723071266207561382117794401751989328324273795327378991988696679519739511192734485144383156429747726719936777507098597094140189803752377966866796353245568226398520803088888494961456669442142305698656754870200278932543633327465080321036165605326716427509378512399128076306372694393784921375288040955294804497984780937022986942227150932022453603624799925732003268904213791160786519189411790713927377135630890346268429156249606402969468915718628083762774375269335736568427033720147184325864122892908360370602849200771379117686577409376728035801687179249987014203011362141902816736890728005999483113694411775810416423707248694559732033708315014879413902536591005267356847166665399486382331751536552173539219272604815469069209345332573796418807948046369715582211584676289805975237636363986781396416196424336328051545820353202480855123017014099226214593083009798296073440896030404104730585260944979613080017877514028422633999218580640975281208456098934707008901153645781175915169904332361493391094023965678067318545813797017006269207714772244809064784290546366482195640820682437461371239708900356475636421248425442902396448384077906283550607087083787967247988035458700258081100909653131730121547401840253900921911321559856291359854226218098236238792544387896207211347488097860866055003662019603522737563537472473305811604973378655339470153735295751840775645448190427160086220080820923063349743243293782162710285061643 246100760893025285113723178123789047630490681037604626507856558282257749642085409377063298645363441490836454554049697917465202625772796703885786825459286693792185017097186184207563165447796789175659765731139137298926749173557554700574215477716667370804058735052089589032926795557311629884180918454426863053129750997533781016655976352893787208317366320664206062849328598829506599341443341882738114454473180744280611375516334219284224802557840985448159407773188492698588018987990969773940887810938507542383837229052012510370094271493473232261329964934357092940921242480139853362883034651291338281178168397100551156283589235445734022469562587371454429546981943760293822092322233291040227276841245421526898362466451212932835266452987092864479167098059049081369546422065898123081388895130134587306770420620870812640435569325896108180238883142932017069163685929280701615279212884463228885424729417656895812881253832601083584999896689399206608313491001183223167354050216388186947392114976548568585444837012597025068711269223018551508076671096626610226625861892739991769119521276472168702431261799968540463220857326724339295708150819244359256390097637723819999831111957508197568205237980810540719000703192057707598028249397967112094094994075364052796604459478019488807561837862922725200001021144642199803846588125267255508119382208868436357176516017504214635681017369661792218579631818452043978846449096777543008221506490327168119137201565216731643839461202034877097047529101283025983589195636653436881917504037938888934042136685710603766782193350027987149650094212045374710393076116895411217177987846408956513452551425683563023768221815585613270615800426241416377379839139270136061208064546390410952785837679810999000634740122128476663244446471013099199224280900556831739292999510934650213064111226364377580699217893527828141090883292958588729146024799918801081793259959720371575725717414782522236105306302090142733139946745307140444656924709469996594047735567381157294050947417753184410923323360983321823370739943618147912342198442246034616452858351456262800783586045182230722363403956223199668678572908308439832430152678160704939466217991481511833165148961723057910607629060275837403508687436530294775118406023763106363737346169111911148990216702832065904477493222490093906426199343485558909162291158671290064867329676127084250971866999280628489214707654119048263022132941545779686386614422781174939685147937014032222616826570117539256248690224010648828403594068407747609303183735576720811302175626709035513114004290497896544680178931541781034533943434982811785293844771618660313265241279280094039990615280582777191206323630829519601584469313805630953098904209111488846285440024442930575962928963632288860105651519522252266471797068211921784919491567323368348342191093705322797450675513380504328978641380874133639124701076306747281201416234670031909554867517149894123064839686512672537992414363515531068091412279 398199395782125836190303063474259730527326095968606099682286377338318824313778725069346879737276154098584870173001668149407491895446098400240448589511910568240250729717541521024089447394804839408247626860934891320255206420549248132518060350502880623166256427807953002217790565156437374874470129245225547110786448888684947801116880728065428298043503540003237803216540757038863687480681776952616074152737164527383450909699826446345559796354203146878468484282751366066499168708364968781590506380380652220326289611643446367789266908448144265102455143179218837571867077239958568530348159962054730323097322138574194168060418125435397743144253054442163646079473057388771072204540743974323896917865902328826091154361788673131771660467447852697931961259481500494347824324308555603654802021153288779086112532403327584516366422718976742047643866475104597124998774785440668909778543851298933137179956028890255270099379522272897307334384999302330796302425083951235720302649181508499467307911082603170808321312436752305972471228235825305552452256602081979171407807273778021343237782682236787797767737459399637369480623667409704449109683831562881259079659026750681923341243467770098287004519198972380690461763008858678480824774083548060004707122450630367537263513295410214930629454754467930838221698387274232088147969413835760216496496131669252856434410224349997088313922158902295758417528113265107322365277372177856518772937548125829232810290322830779222001581243970191846652575879336153103039546985819129978724227109205096495424254480112355756110517623823314528642082908724894449904268851380555600334417594135676450230058524280657163958025567963580137412153671809642775900642228158631022664733988532716651442592550011277933178373449593556984280612076339815626733659412955959815599372205328435134439399267319672385197202674464851128033110443890611182749649599844533085062164173511532362244906826573236163482441932980489001569102994913543414125840428098080356822110836716893862477981137900368736787446253891682193973589144389527030028775851622762652254545530706249814986597407324133539100294684229199151792267320084250248853859926855264671499926306496391247067685552728325267454795725675323785840438973082468314337678628578575432946691501685707567798164749201781486689077898779899881663835707472340305578487583007618116413150029329565106094884013379854703807790663917344336463028971949884416971875367760788019703025451042454856616045150758514537457146322945355837304747714188923524473088067938214202396199592387102831659818087514902813887893703786590099318233981349293980934665454056121684504950179636569676411863706025679587654707708735803152191556397593598201086939667811746927386349677574660697510330803886189782016973079378543626326023286310158023712035955219575559689679191566188852454337532984027066542178853347439450729674454962086751355151530421872685200315707577054209284920507435735887735657657297693778376473922 644300156675151121304026241598048778157816777006210726190142935620576573955864134446410178382639595589421324727051366066872694521218895104126235414971197262032435746814727705231652612842601628583907392592074028619181955594106802833092275828219547993970315162860042591250717360713749004758651047699652410163916199886218728817772857080959215506360869860667443866065869355868370286822125118835354188607210345271664062285216160665629784598912044132326627892055939858765087187696355938555531394191319159762710126840695458878159361179941617497363785108113575930512788319720098421893231194613346068604275490535674745324344007360881131765613815641813618075626455001149064894296862977265364124194707147750352989516828239886064606926920434945562411128357540549575717370746374453726736190916283423366392882953024198397156801992044872850227882749618036614194162460714721370525057756735762162022604685446547151082980633354873980892334281688701537404615916085134458887656699397896686414700026059151739393766149449349331041182497458843857060528927698708589398033669166518013112357303958708956500198999259368177832701480994134043744817834650807240515469756664474501923172355425278295855209757179782921409462466200916386078853023481515172098802116525994420333867972773429703738191292617390656038222719531916431891994557539103015724615878340537689213610926241854211723994939528564087976997159931717151301211726468955399526994444038452997351947491888047510865841042446005068943700104980619179086628742622472566860641731147143985429466391165822959522892710973851301678292177120770269160297344968275966817512405440544632963682609949964220187726247383549193408027954098051059153280481367428767083872798534923127604228430229822276933813113571722033647525058547352914825957940313512791554892371716263085347503510493684049965896420567992679269123993736849199911895674399763334166855424133231903937970624241355758399587748235070631734709049740220683858782765137568076950869846404098051156528928555653553147710769614875004017344329088007674942370974293868797268707403882162512615770183452506364261463698640452398820470840228392690081284012605015969610966144297977903080232834514451383178062424785951161189349126409612763089456084652341681796684037670797618716788381452033847391166571121269993788090035050957899214740778741678908181280479705456649357066751012660483193022498318036392599485161913495664103358489790541962959388173388056487079232871720876053793705836546956004665708341782596671133776271803514935013698375219096138344773822378012799358568072635328371133852177416332105766228510225674781997770191458916663716402478986608456778861031339565322753776025711399229154185843876923235773671789702017591273473259767518478642122624598900795892797820354522079808631527522542943908031870285271511649905013046364531395520820234221573089854375531268834032556567765091904594755183224726948332349760193948408425728072020813224846467886201 1042499552457276957494329305072308508685142872974816825872429312958895398269642859515757058119915749688006194900053034216280186416664993504366684004483107830272686476532269226255742060237406467992155019453008919939437162014656050965610336178722428617136571590667995593468507925870186379633121176944877957274702648774903676618889737809024643804404373400670681669282410112907233974302806895787970262759947509799047513194915987111975344395266247279205096376338691224831586356404720907337121900571699811983036416452338905245948628088389761762466240251292794768084655396960056990423579354575400798927372812674248939492404425486316529508758068696255781721705928058537835966501403721239688021112573050079179080671190028559196378587387882798260343089617022050070065195070683009330390992937436712145478995485427525981673168414763849592275526616093141211319161235500162039434836300587061095159784641475437406353080012877146878199668666688003868200918341169085694607959348579405185882007937141754910202087461886101637013653725694669162612981184300790568569441476440296034455595086640945744297966736718767815202182104661543748193927518482370121774549415691225183846513598893048394142214276378755302099924229209775064559677797565063232103509238976624787871131486068839918668820747371858586876444417919190663980142526952938775941112374472206942070045336466204208812308861687466383735414688044982258623577003841133256045767381586578826584757782210878290087842623689975260790352680859955332189668289608291696839365958256349081924890645645935315279003228597674616206934260029495163610201613819656522417846823034680309413912668474244877351684272951512773545440107769860701929181123595587398106537532523455844255671022779833554866991487021315590631805670623692730452691599726468751370491743921591520481942909761003722351093623242457530397157104180739811094645323999607867251917588306743436300215531067928994563070190168051120736278152735134227272908605565666157307691957240814945019006909693553921884498215868766686211317918232397201972399750145491559920961949412868762430756780859830497800563993324681597972263107548476940330137872531871234282466070604474294327300520067179708445517220511626484975189565382695231403793763280920257229630729172483326284586546201235628877855649020049893669753870758430239520319266324686526297693629734786214463161635026040337896830288981953736935948190885445548520330365158302750979091198839098941935848916871634568331162982869901360503013089496785594658249359871453149216094574811483241176433640465527702172455966339114961233170411397681399747163175679730903682275141638553233392814342692634136366515739048301125905967582108992827355272783544734982701058139379592251970983590571404668424139597678279339519123843640832237832343563477762519467721549476837700502359350579348558462062999087569012540584049986230920783911719295513777279955498932304002541634680701384144313463729678110918624844360123 1686799709132428078798355546670357286842959649981027552062572248579471972225506993962167236502555345277427519627104400283152880937883888608492919419454305092305122223346996931487394673080008096576062412045082948558619117608762853798702612006941976611106886753528038184719225286583935384391772224644530367438618848661122405436662594889983859310765243261338125535348279468775604261124932014623324451367157855070711575480132147777605128994178291411531724268394631083596673544101076845892653294763018971745746543293034364124107989268331379259830025359406370698597443716680155412316810549188746867531648303209923684816748432847197661274371884338069399797332383059686900860798266698505052145307280197829532070188018268445260985514308317743822754217974562599645782565817057463057127183853720135511871878438451724378829970406808722442503409365711177825513323696214883409959894057322823257182389326921984557436060646232020859092002948376705405605534257254220153495616047977301872296707963200906649595853611335450968054836223153513019673510111999499157967475145606814047567952390599654700798165735978135993034883585655677791938745353133177362290019172355699685769685954318326689997424033558538223509386695410691450638530821046578404202311355502619208204999458842269622407012039989249242914667137451107095872137084492041791665728252812744631283656262708058420536303801216030471712411847976699409924788730310088655572761825625031823936705274098925800953683666135980329734052785840574511276297032230764263700007689403493067354357036811758274801895939571525917885226437150265432770498958787932489235359228475224942377595278424209097539410520335061966953468061867911761082461604963016165190410331058378971859899453009655831800804600593037624279330729171045645278649540039981542925384115637854605829446420254687772316990043810450209666281097917589011006540998399371201418773012439975340238186155309284752962657938403121752470987202475354911131691370703234234258561803644912996175535838249207475032208985483641690228662247320404876914770724439360357189669353295031275046526964312336862062027691965133996792733947776869630411421885136887203893432214902452197407533354581631091623579645297577646164538691792307994493249847933261939026314766843280945001374927653269476269022220141319887457843905809388138735060045066365434478974109440242863820228386038700821089852787299990129535433352798941212623688854948844713938479372227155429015081788592510622124868819416857365168721431279382265792025631674968084229792950030579379521207462843540501531024038974443332367022588814013505513391685905405685680045333097469897109216821679242593145376770387866448659743607820392056509458627421658218474729929081609843244456850338923147066262222277180135411921663995354317640975091000305463375753419762109212152264363625713089857583819321790585630438425517499754816468287060605681874710682157030950873984440895332552739191801698924143471312246324 2729299261589705036292684851742665795528102522955844377935001561538367370495149853477924294622471094965433714527157434499433067354548882112859603423937412922577808699879266157743136733317414564568217431498091868498056279623418904764312948185664405228243458344196033778187733212454121764024893401589408324713321497436026082055552332699008503115169616662008807204630689581682838235427738910411294714127105364869759088675048134889580473389444538690736820644733322308428259900505797753229775195334718783728782959745373269370056617356721141022296265610699165466682099113640212402740389903764147666459021115884172624309152858333514190783129953034325181519038311118224736827299670419744740166419853247908711150859208297004457364101696200542083097307591584649715847760887740472387518176791156847657350873923879250360503138821572572034778935981804319036832484931715045449394730357909884352342173968397421963789140659109167737291671615064709273806452598423305848103575396556707058178715900342661559797941073221552605068489948848182182286491296300289726536916622047110082023547477240600445096132472696903808237065690317221540132672871615547484064568588046924869616199553211375084139638309937293525609310924620466515198208618611641636305820594479243996076130944911109541075832787361107829791111555370297759852279611444980567606840627284951573353701599174262629348612662903496855447826536021681668548365734151221911618529207211610650521463056309804091041526289825955590524405466700529843465965321839055960539373647659842149279247682457693590080899168169200534092160697179760596380700572607589011653206051509905251791507946898453974891094793286574740498908169637772463011642728558603563296947863581834816115570475789489386667796087614353214911136399794738375731341139766450294295875859559446126311389330015691494668083667052907740063438202098328822101186322398979068670690600746718776538401686377213747525728128571172873207265355210489138404599976268900391566253760885727941194542747942761396916707201352408376439980165552802078887170474584851917110631302707900037477283745172167359862591685289815594764997055325346570741559757668758438175898285506926491734833874648810800069096865809204131139728257175003225897043611214182196255945496015764271285961473854505105146877869161369781127597776567818378255379311391051960776667739175029078283390021064741158986683076281943866471381543684386761144019220107147464917570571066254370950930705464145190456031802286758725671734520776167860450274991546421233445887524842062620697641103309068203703480005313558293600193000211694905260554861585136589362320474736023130502031164371876729511892509436167574565711189929384883864731410966393201175788068461202095215440440910327815490401819955459474931045507636186555473318654478067982843474969238946912654623714205061648319646818409359598171022475503730675600380006356119459154666181089334953415619121596716697052655531377035062096156606447 4416098970722133115091040398413023082371062172936871929997573810117839342720656847440091531125026440242861234154261834782585948292432770721352522843391718014882930923226263089230531406397422661144279843543174817056675397232181758563015560192606381839350345097724071962906958499038057148416665626233938692151940346097148487492214927588992362425934859923346932739978969050458442496552670925034619165494263219940470664155180282667185602383622830102268544913127953392024933444606874599122428490097737755474529503038407633494164606625052520282126290970105536165279542830320367815057200452952894533990669419094096309125901291180711852057501837372394581316370694177911637688097937118249792311727133445738243221047226565449718349616004518285905851525566147249361630326704797935444645360644876983169222752362330974739333109228381294477282345347515496862345808627929928859354624415232707609524563295319406521225201305341188596383674563441414679411986855677526001599191444534008930475423863543568209393794684557003573123326172001695201960001408299788884504391767653924129591499867840255145894298208675039801271949275972899332071418224748724846354587760402624555385885507529701774137062343495831749118697620031157965836739439658220040508131949981863204281130403753379163482844827350357072705778692821404855724416695937022359272568880097696204637357861882321049884916464119527327160238383998381078473154464461310567191291032836642474458168330408729891995209955961935920258458252541104354742262354069820224239381337063335216633604719269451864882795107740726451977387134330026029151199531395521500888565279985130194169103225322663072430505313621636707452376231505684224094104333521619728487358194640213787975469928799145218468600688207390839190467128965784021009990679806431837221259975197300732140835750270379266985073710863357949729719300015917833107727320798350270089463613186694116776587841686498500488386066974294625678252557685844049536291346972134625824815564530640937370078586191968871948916186836050066668642412873206955801941199024212274300300656002931312523810709484504221924619377254949591557731003102216201152981642805645642069330500409378689142367229230441891692676511106781777304266948967311220390293459147444135282260262859045216287336401507774581415900089302689668585441682377206516990439356457417395255641848615271942103618407103441980076535863581933996006814896483327973767708075055992178856049943293409799966012494056655812580900621703616090840455952055550126242300623221389317675680474872642000218848566152608705234504044288001625967215589025708410773946547490542275042365807833493027611247986051119322657269279824034023225454797749776940374190038388051419650517997542811938459897291249250962556664042232639610342967171631540873114293745478373446219228389001056124806888077830774738177230637731150183801460901021230430416848293416725141029376863246365904289603562492049249791847333075959205567468852771 7145398232311838151383725250155688877899164695892716307932575371656206713215806700918015825747497535208294948681419269282019015646981652834212126267329130937460739623105529246973668139714837225712497275041266685554731676855600663327328508378270787067593803441920105741094691711492178912441559027823347016865261843533174569547767260288000865541104476585355739944609658632141280731980409835445913879621368584810229752830228417556766075773067368793005365557861275700453193345112672352352203685432456539203312462783780902864221223981773661304422556580804701631961641943960580217797590356717042200449690534978268933435054149514226042840631790406719762835409005296136374515397607537994532478146986693646954371906434862454175713717700718827988948833157731899077478087592538407832163537436033830826573626286210225099836248049953866512061281329319815899178293559644974308749354773142591961866737263716828485014341964450356333675346178506123953218439454100831849702766841090715988654139763886229769191735757778556178191816120849877384246492704600078611041308389701034211615047345080855590990430681371943609509014966290120872204091096364272330419156348449549425002085060741076858276700653433125274728008544651624481034948058269861676813952544461107200357261348664488704558677614711464902496890248191702615576696307382002926879409507382647777991059461056583679233529127023024182608064920020062747021520198612532478809820240048253124979631386718533983036736245787891510782863719241634198208227675908876184778754984723177365912852401727145454963694275909926986069547831509786625531900104003110512541771331495035445960611172221117047321600106908211447951284401143456687105747062080223291784306058222048604091040404588634605136396775821744054101603528760522396741331819572882131517135834756746858452225080286070761653157377916265689793157502114246655208913643197329338760154213933412893314989528063712248014114195545467498885517912896333187940891323241035017391069325416368878564621334134730268865623388188458443108622578426009034689111673609064191410931958710831350001094454656671581787211062544765186322728058427562771894541400474404080245228785916305180877201103879252691761773376915985908443995206142314446287337070361626331538205758874809487573297875362279686562777958464059449713039458945024895245818667848469356032309587790301020387008428168183139063218939863877862478196440167714734911727295163139643773620514359664170916943199520801003036932423990374816512190472831717986692575614767810551121567999714704620916489669461676908937984049601559919567408589237403316034501409075678864404686282569516158113279150422996052169161789260201597791165987679161824238921449354444620826306066004014033675337732159578778047065862188099085274012679267727428587612399956441429062703358240003037461511792035836386496877456140509781972483376524961106017228299772844600184043044335700857705222684088765946844502864452994267663625459218 11561497203033971266474765648568711960270226868829588237930149181774046055936463548358107356872523975451156182835681104064604963939414423555564649110720848952343670546331792336204199546112259886856777118584441502611407074087782421890344068570877168906944148539644177704001650210530236060858224654057285709017202189630323057039982187876993227967039336508702672684588627682599723228533080760480533045115631804750700416985408700223951678156690198895273910470989229092478126789719546951474632175530194294677841965822188536358385830606826181586548847550910237797241184774280948032854790809669936734440359954072365242560955440694937894898133627779114344151779699474048012203495544656244324789874120139385197592953661427903894063333705237113894800358723879148439108414297336343276808898080910813995796378648541199839169357278335160989343626676835312761524102187574903168103979188375299571391300559036235006239543269791544930059020741947538632630426309778357851301958285624724919129563627429797978585530442335559751315142292851572586206494112899867495545700157354958341206547212921110736884728890046983410780964242263020204275509321112997176773744108852173980387970568270778632413762996928957023846706164682782446871687497928081717322084494442970404638391752417867868041522442061821975202668941013107471301113003319025286151978387480343982628417322938904729118445591142551509768303304018443825494674663073843046001111272884895599437799717127263875031946201749827431041321971782738552950490029978696409018136321786512582546457120996597319846489383650653438046934965839812654683099635398632013430336611480165640129714397543780119752105420529848155403660632649140911199851395601843020271664252862262392066510333387779823604997464029134893292070657726306417751322499379313968738395809954047590593060830556450028638231088779623639522876802130164488316640963995679608849617827120107010091577369750210748502500262519762124563770470582177237477182670213169643215884889947009815934699920326699140814539575024508509777264991299215990491052872633276465711232614713762662524905164141175803711830439799714777880459061529778973047523043280049722314559286325683870019568333109694583454449888022767685748262155109625666677630529509070466820466021733854703860634276870054267978678047766749118298481141322231412236258024305886751287951436405572962490626835271625119139754803445811858485011336651042708679435370219131822629670457653073970882955693577456815617833045693990907352646424887268112934876237989199868797248474587346621135338235614285614172488093889561545534624178263111726808447956566221139447052090403009185724527136474115374826431069084235621016620785428938764613111487742496040476824063546825972135235023408829740603729904420738695616979850899268301701906145434814875281931747241059162268399869866611124674108093871659965773944277546191536434076593189569741213419907582066761994826246580815196636350197528953473231094311989 18706895435345809417858490898724400838169391564722304545862724553430252769152270249276123182620021510659451131517100373346623979586396076389776775378049979889804410169437321583177867685827097112569274393625708188166138750943383085217672576949147955974537951981564283445096341922022414973299783681880632725882464033163497626587749448164994093508143813094058412629198286314741003960513490595926446924737000389560930169815637117780717753929757567688279276028850504792931320134832219303826835860962650833881154428605969439222607054588599842890971404131714939429202826718241528250652381166386978934890050489050634175996009590209163937738765418185834106987188704770184386718893152194238857268021106833032151964860096290358069777051405955941883749191881611047516586501889874751108972435516944644822370004934751424939005605328289027501404908006155128660702395747219877476853333961517891533258037822753063491253885234241901263734366920453662585848865763879189701004725126715440907783703391316027747777266200114115929506958413701449970452986817499946106587008547055992552821594558001966327875159571418927020289979208553141076479600417477269507192900457301723405390055629011855490690463650362082298574714709334406927906635556197943394136037038904077604995653101082356572600200056773286877699559189204810086877809310701028213031387894862991760619476783995488408351974718165575692376368224038506572516194861686375524810931512933148724417431103845797858068682447537718941824185691024372751158717705887572593796891306509689948459309522723742774810183659560580424116482797349599280214999739401742525972107942975201086090325569764897167073705527438059603354945033792597598305598457682066312055970311084310996157550737976414428741394239850878947393674186486828814492654318952196100255531644710794449045285910842520790291388466695889329316034304244411143525554607193008947609772041053519903406566897813922996516614458065229623449288383478510425418073993454204660606954215363378694499321254461429409680162963212966952885887569725225025180164546242340657122164573424594012525999618797847385499041502344479964203187119957341744942064443754453802559788072241989050896769436988947275216223264938753594192257361251940112964967599870696798358671780608664191433932152232333954541456006230808568011520600267256307482076692154356107320261024195873982877635263439808258202973743309689720963207776818757443591162665382271466403290972012738141799898893098257818654765469684365723864836897718986099627451852757010419918816474302051242051827905075962523110472143491121465102032767500515042842949365641900003851738372972525343837806286897111426995592858344437218807786773108100588852032937096940661303130129550840005810572755568408518650795766608837780890992530166995730289518545391256304344635105481062199729911661902447511170985550012169747746427654071152642451304892962414341397462951917767619700048930669581143480853061981947740894719771207 30268392638379780684333256547293112798439618433551892783792873735204298825088733797634230539492545486110607314352781477411228943525810499945341424488770828842148080715769113919382067231939356999426051512210149690777545825031165507108016645520025124881482100521208461149097992132552651034158008335937918434899666222793820683627731636041987321475183149602761085313786913997340727189046571356406979969852632194311630586801045818004669432086447766583553186499839733885409446924551766255301468036492845128558996394428157975580992885195426024477520251682625177226444011492522476283507171976056915669330410443122999418556965030904101832636899045964948451138968404244232398922388696850483182057895226972417349557813757718261963840385111193055778549550605490195955694916187211094385781333597855458818166383583292624778174962606624188490748534682990441422226497934794780644957313149893191104649338381789298497493428504033446193793387662401201218479292073657547552306683412340165826913267018745825726362796642449675680822100706553022556659480930399813602132708704410950894028141770923077064759888461465910431070943450816161280755109738590266683966644566153897385778026197282634123104226647291039322421420874017189374778323054126025111458121533347048009634044853500224440641722498835108852902228130217917558178922314020053499183366282343335743247894106934393137470420309308127202144671528056950398010869524760218570812042785818044323855230820973061733100628649287546372865507662807111304109207735866269002815027628296202531005766643720340094656673043211233862163417763189411934898099374800374539402444554455366726220039967308677286825810947967907758758605666441738509505449853283909332327634563946573388224061071364194252346391703880013840685744844213135232243976818331510068993927454664842039638346741398970818929619555475512968838911106374575631842195571188688556459389868173626913498144267564133745019114720584991748013058854060687662895256663667374303822839105310388510434021174788128550494702538237475462663152561024441015671217418875617122833397188138356675050904782939023189210871942144194742083646181487120717989587487034503524874347358567672920916337770098641858670673152961521279940519516361565779642598129379767265179137802342518895294566429102388222520134053997557686310001741589487719718334716460242858608212460601446945368262098711433377342728546755501579448219113469800152270598035601403289032961429665812112682854586675714634272598515378356631217483322606254212562328090746210288716064948889397863187166140690248137282960237380683010636656945763626769651397322208121143298790463375534529562333423371226801822023927428672839824407558537039353465144424839436701779954193097665977945807778977238259254525671029576476507972381066264031991424690826071179626566852722121361998311531769058635845093643883829713520371931617344178885381486151984082610882859499834381694875177250396340117203259510901214125814083196 48975288073725590102191747446017513636609009998274197329655598288634551594241004046910353722112566996770058445869881850757852923112206576335118199866820808731952490885206435502559934917766454111995325905835857878943684575974548592325689222469173080856020052502772744594194334054575066007457792017818551160782130255957318310215481084206981414983326962696819497942985200312081731149560061952333426894589632583872560756616682935785387186016205334271832462528690238678340767059383985559128303897455495962440150823034127414803599939784025867368491655814340116655646838210764004534159553142443894604220460932173633594552974621113265770375664464150782558126157109014416785641281849044722039325916333805449501522673854008620033617436517148997662298742487101243472281418077085845494753769114800103640536388518044049717180567934913215992153442689145570082928893682014658121810647111411082637907376204542361988747313738275347457527754582854863804328157837536737253311408539055606734696970410061853474140062842563791610329059120254472527112467747899759708719717251466943446849736328925043392635048032884837451360922659369302357234710156067536191159545023455620791168081826294489613794690297653121620996135583351596302684958610323968505594158572251125614629697954582581013241922555608395730601787319422727645056731624721081712214754177206327503867370890929881545822395027473702894521039752095456970527064386446594095622974298751193048272661924818859591169311096825265314689693353831484055267925441753841596611918934805892479465076166444082869466856702771814286279900560539011215113099114202117065374552497430567812310365537073574453899516475405967362113550700234336107811048310965975644383604875030884384381611809340608681087785943730892788079419030699964046736631137283706169249459099375636488683632652241491609221008022171402298154945410618986775367750178381697504069161909227146816904711165378056741535729178650221371462347237539198088313330657121578964429793320673767204933342429249557960174865501450442415549040130749666040851381965117957779955561761562950687576904401736870574709913444488674706286833301444462462931651930788957327434135430809661971813107207087589133886896417900274874132776877613505892607565729250464063537809582951183086728498581334722177061590060228366254321522341856744027200411408614598965928473484797320928245897362151241635545702290065191300411426890288557595861760700983674755436252401678550254482753479773972452927363985062722355082320220325240312189779943503220708634881423191449105238994045766210660393432380871804475738689713264141812494346687850021147150528836348059873400139710268338228817616785773110058632194331645139942317177361936377363083084322648505983756380534545646777905321437638414257398964911233259762280943236217327483971201958203183561728223193671506147016079193895999461266799585688496821336686379114398424008345811417602001394924107919977483598056321492848955020533854403 79243680712105370786525003993310626435048628431826090113448472023838850419329737844544584261605112482880665760222663328169081866638017076280459624355591637574100571600975549421942002149705811111421377418046007569721230401005714099433705867989198205737502153023981205743292326187127717041615800353756469595681796478751138993843212720248968736458510112299580583256772114309422458338606633308740406864442264778184191343417728753790056618102653100855385649028529972563750213983935751814429771933948341090999147217462285390384592824979451891846011907496965293882090849703286480817666725118500810273550871375296633013109939652017367603012563510115731009265125513258649184563670545895205221383811560777866851080487611726881997457821628342053440848293092591439427976334264296939880535102712655562458702772101336674495355530541537404482901977372136011505155391616809438766767960261304273742556714586331660486240742242308793651321142245256065022807449911194284805618091951395772561610237428807679200502859485013467291151159826807495083771948678299573310852425955877894340877878099848120457394936494350747882431866110185463637989819894657802875126189589609518176946108023577123736898916944944160943417556457368785677463281664449993617052280105598173624263742808082805453883645054443504583504015449640645203235653938741135211398120459549663247115264997864274683292815336781830096665711280152407368537933911206812666435017084569237372127892745791921324269939746112811687555201016638595359377133177620110599426946563102095010470842810164422964123529745983048148443318323728423150011198489002491604776997051885934538530405504382251740725327423373875120872156366676074617316498164249884976711239438977457772605672880704802933434177647610906628765163874913099278980607955615216238243386554040478528321979393640462428150627577646915266993856516993562407209945749570386060528551777400773730402855432942190486554843899235213119475406091599885751208587320788953268252632425984155715367363604037686510669568039687917878212192691774107056522599383993574902788958949701307362627809184675893763920785386632869448370479482931583180921239417823460852308482789377334892729444977186230992557569570861796154073296393975071672250163858630231328716947385293701982023065010437110399581724114225923940631524083446231746918746125074841824536685945398767873614159460862675012888430836820692879859646003758357748132358736585078044469213831344362367165608066449687087199962500441078986299803542931494524752108034249430997350946372080846968426160186456458797676392618252487486375346659027768582145744010058142290449319299723594402962473133639565030639640713201782898456601890182179295782321786775814064863038515746171961702188313522885037159847108667990733906937292299523794272367927043398663597768810925304923726534725440564782861172837779829174787171517305841000222067865266382506619228670917436383089799285170373823715259581003750169146347937599 128218968785830960888716751439328140071657638430100287443104070312473402013570741891454937983717679479650724206092545178926934789750223652615577824222412446306053062486181984924501937067472265223416703323881865448664914976980262691759395090458371286593522205526753950337486660241702783049073592371575020756463926734708457304058693804455950151441837074996400081199757314621504189488166695261073833759031897362056752100034411689575443804118858435127218111557220211242090981043319737373558075831403837053439298040496412805188192764763477759214503563311305410537737687914050485351826278260944704877771332307470266607662914273130633373388227974266513567391282622273065970204952394939927260709727894583316352603161465735502031075258145491051103147035579692682900257752341382785375288871827455666099239160619380724212536098476450620475055420061281581588084285298824096888578607372715356380464090790874022474988055980584141108848896828110928827135607748731022058929500490451379296307207838869532674642922327577258901480218947061967610884416426199333019572143207344837787727614428773163850029984527235585333792788769554765995224530050725339066285734613065138968114189849871613350693607242597282564413692040720381980148240274773962122646438677849299238893440762665386467125567610051900314105802769063372848292385563462216923612874636755990750982635888794156229115210364255532991186751032247864339064998297653406762057991383320430420400554670610780915439250842938077002244894370470079414645058619373952196038865497907987489935918976608505833590386448754862434723218884267434365124297603204608670151549549316502350840771041455826194624843898779842482985707066910410725127546475215860621094844314008342156987284690045411614521963591341799416844582905613063325717239092898922407492845653416115017005612045881954037371635599818317565148801927612549182577695927952083564597713686627920547307566598320247228090573077885434490937753329139083839521917977910532232682425746657922920300706033287244470844433541138360293761232822523773097373981349111532682744520711264258050204713586412764338630698831121544154657312784376045643852891348612418179742618220186996864542552184273820126444465988762071028206073271588577564857729587880695392254756968244885068751563591771832576643314174454290194953046425302975774119157533689440790465159430196088801860056823013916648434133126885884180271072894046915343994119437568752799905466233022912621648361546223659540127326485503801341382123763256734836941887977752651705985827795272296073665154232222669458069824999124291962114036372291910394640090697908163437599848136071654276362612843907903259457257498974892957088796221827319238099499148712191427946122838394677945458568848068531815065168546306404991305902203532783556553311163260726147568970769128488485454757919112070929877252031675828636053971102994337821558754244380780930627574482335038384484723393090351307313315902496599124166881792002 207462649497936331675241755432638766506706266861926377556552542336312252432900479735999522245322791962531389966315208507096016656388240728896037448578004083880153634087157534346443939217178076334838080741927873018386145377985976791193100958447569492331024358550735156080778986428830500090689392725331490352145723213459596297901906524704918887900347187295980664456529428930926647826773328569814240623474162140240943443452140443365500422221511535982603760585750183805841195027255489187987847765352178144438445257958698195572785589742929651060515470808270704419828537617336966169493003379445515151322203682766899620772853925148000976400791484382244576656408135531715154768622940835132482093539455361183203683649077462384028533079773833104543995328672284122328234086605679725255823974540111228557941932720717398707891629017988024957957397433417593093239676915633535655346567634019630123020805377205682961228798222892934760170039073366993849943057659925306864547592441847151857917445267677211875145781812590726192631378773869462694656365104498906330424569163222732128605492528621284307424921021586333216224654879740229633214349945383141941411924202674657145060297873448737087592524187541443507831248498089167657611521939223955739698718783447472863157183570748191921009212664495404897609818218704018051528039502203352135010995096305653998097900886658430912408025701037363087852462312400271707602932208860219428493008467889667792528447416402702239709190589050888689800095387108674774022191796994062795465812061010082500406761786772928797713916194737910583166537207995857515135496092207100274928546601202436889371176545838077935350171322153717603857863433586485342444044639465745597806083752985799929592957570750214547956141238952706045609746780526162604697847048514138645736232207456593545327591439522416465522263177465232832142658444606111589787641677522469625126265464028694277710422031262437714645416977120647610413159420738969590730505298699485500935058172642078635668069637324930981514001580826278171973425514297880153896580733105107585533479660965565412832522771088658102551484217754413603027792267307628824774130766435879032051101009564331757271997161460051119002035559623867182279369665563649237107893446510926720971704353538587050774628602208942976225038288680214135584570508749207521037903658764282615001845375594856675474216283876591661322563963706577060130718897805273092126478174153830844374680064367274988813969612673346627327288985944880327681927306188229361693996012002082703336774167353143042091314418679128255746217617376779448489383031319678976785834707966305728049167435795248679325085977547468290096898212176675855545398112009498533881820935488005492809161354140849907160757161591416852225015654974395725212839495832307350825679090304124811166739580053793409181292644552635712738424869455657810841142620300178821780822109647163437246803153252474767574522678260725131028575483500349293313229729601 335681618283767292563958506871966906578363905292026664999656612648785654446471221627454460229040471442182114172407753686022951446138464381511615272800416530186206696573339519270945876284650341558254784065809738467051060354966239482952496048905940778924546564077489106418265646670533283139762985096906511108609649948168053601960600329160869039342184262292380745656286743552430837314940023830888074382506059502297695543486552132940944226340369971109821872142970395047932176070575226561545923596756015197877743298455111000760978354506407410275019034119576114957566225531387451521319281640390220029093535990237166228435768198278634349789019458648758144047690757804781124973575335775059742803267349944499556286810543197886059608337919324155647142364251976805228491838947062510631112846367566894657181093340098122920427727494438645433012817494699174681323962214457632543925175006734986503484896168079705436216854203477075869018935901477922677078665408656328923477092932298531154224653106546744549788704140167985094111597720931430305540781530698239349996712370567569916333106957394448157454905548821918550017443649294995628438879996108481007697658815739796113174487723320350438286131430138726072244940538809549637759762213997917862345157461296772102050624333413578388134780274547305211715620987767390899820425065665569058623869733061644749080536775452587141523236065292896079039213344648136046667930506513626190550999851210098212929002087013483155148441431988965692044989757578754188667250416368014991504677558918069990342680763381434631304302643492773017889756092263291880259793695411708945080096150518939240211947587293904129975015220933560086843570500496896067571591114681606218900928066994142086580242260795626162478104830294505462454329686139225930415086141413061053229077860872708562333203485404370502893898777283550397291460372218660772365337605474553189723979150656614825017988629582684942735990055006082101350912749878053430252423276610017733617483919300001555968775670612175452358435121964638465734658336821653251270562082216640268278000372229823463037236357501422441182183048875957757685105051683674468627022115048297211793719229751328621814549345733871245446501548385938210485442937152226801965623034391622113226461321783472119526192193980775552868352463134504330537616934052183295157061192453723405467004805790945477334273106890508309756697090592461240401791791852188436120597611722583644280146297390187610462331158897006167454615471448681669064051069444964198635883989754734409322601962625439115756468650901797713816042616501071410603419403611589371425925405874469165649015571866902955687698821455371549554155711151568812634194333836817771981320084200196920755284192535527852619326009659948667290184201280800716518741699365090907378990253564850958735710349182281894636050563664706642615676901131486446895113723294516643339576354027944367874377635587513152059246071351076438341891385996948417480111521603 543144267781703624239200262304605673085070172153953042556209154985097906879371701363453982474363263404713504138722962193118968102526705110407652721378420614066360330660497053617389815501828417893092864807737611485437205732952216274145597007353510271255570922628224262499044633099363783230452377822238001460755373161627649899862506853865787927242531449588361410112816172483357485141713352400702315005980221642538638986938692576306444648561881507092425632728720578853773371097830715749533771362108193342316188556413809196333763944249337061335534504927846819377394763148724417690812285019835735180415739673004065849208622123426635326189810943031002720704098893336496279742198276610192224896806805305682759970459620660270088141417693157260191137692924260927556725925552742235886936820907678123215123026060815521628319356512426670390970214928116767774563639130091168199271742640754616626505701545285388397445652426370010629188974974844916527021723068581635788024685374145683012142098374223956424934485952758711286742976494800893000197146635197145680421281533790302044938599486015732464879826570408251766242098529035225261653229941491622949109583018414453258234785596769087525878655617680169580076189036898717295371284153221873602043876244744244965207807904161770309143992939042710109325439206471408951348464567868921193634864829367298747178437662111018053931261766330259166891675657048407754270862715373845619044008319099766005457449503416185394857632021039854381845085144687428962689442213362077786970489619928152490749442550154363429018218838230683601056293300259149395395289787618809220008642751721376129583124133131982065325186543087277690701433934083381410015635754147351816707011819979942016173199831545840710434246069247211508064076466665388535112933189927199698965310068329302107660794924926786968416161954748783229434118816824772362152979282997022814850244614685309102728410660845122657381407032126729711764072170617023020982928575309503234552542091942080191636845307937106433872436702790916637708083851119533405167142815321747853811480033195388875869759128590080543733667266630371360712897318991303293401152881484176243844820239315660379086546507193922364448537108009805392764812602715876039073516480902548834198165675322059170300820796189718529093390751814718466122187442801390816194964851218006020468850181385802152808489390767099971079261054299038300532510689657461528247075785876414488654826361757462599276300771570352794781904457393561996745978375633193560329880001756817112659376129978582157847783069580925969562260233877850859092802434931268348211760113840774893698183007662151635012784799002839839651053923328244668179592445846316305863141019688202413564445546676377759780083171251365519515199856255196441731581195197398258204669343868975769902449929236075303817343208217342355354101770587144257736256343594695465120398463675107805121180788839987919633768749611801569370466869497297710793341251204 878825886065470916803158769176572579663434077445979707555865767633883561325842922990908442703403734846895618311130715879141919548665169491919267994178837144252567027233836572888335691786478759451347648873547349952488266087918455757098093056259451050180117486705713368917310279769897066370215362919144512569365023109795703501823107183026656966584715711880742155769102916035788322456653376231590389388486281144836334530425244709247388874902251478202247504871690973901705547168405942311079694958864208540193931854868920197094742298755744471610553539047422934334960988680111869212131566660225955209509275663241232077644390321705269675978830401679760864751789651141277404715773612385251967700074155250182316257270163858156147749755612481415838280057176237732785217764499804746518049667275245017872304119400913644548747084006865315823983032422815942455887601344548800743196917647489603129990597713365093833662506629847086498207910876322839204100388477237964711501778306444214166366751480770700974723190092926696380854574215732323305737928165895385030417993904357871961271706443410180622334732119230170316259542178330220890092109937600103956807241834154249371409273320089437964164787047818895652321129575708266933131046367219791464389033706041017067258432237575348697278773213590015321041060194238799851168889633534490252258734562428943496258974437563605195454497831623155245930889001696543800938793221887471809595008170309864218386451590429668550006073453028820073890074902266183151356692629730092778475167178846222481092123313535798060322521481723456618946049392522441275655083483030518165088738902240315369795071720425886195300201764020837777545004434580277477587226868828958035607939886974084102753442092341466872912350899541716970518406152804614465528019331340260752194387929202010669993998410331157471310060732032333626725579189043433134518316888471576004574223765341923927746399290427807600117397087132811813114984920495076451235351851919520968170026011242081747605620978549281886230871824755555103442742187941186656437704897538388122089480405425212338906995486091502984915850315506329118398002370674977762028174996532473455638539469066989000901095852927793609895038656395743603250255539868102841039139515294170947424626997105531289827012990170494081961743214949222796659804376853574111352026043671729425935854987176747630142762497657608280835958144891499540934302481509649964367673397598998132934972659147650209738631930467358962236519928842243665810029445078157758965763991511551521981978092604021273604251720482723683378302850378922269696221838542857719637685519715244059347198579529054590700483620458211389205209634479813480813786779683134077844461103888399334319729739211905612399409180911314186805384057535997158250322894562489165583659597433826728638160278418357198453393771882048997969778671718630704631370066889212108459974817703052172995558424427501071693014820962878007712358255494246128273452772807 1421970153847174541042359031481178252748504249599932750112074922618981468205214624354362425177766998251609122449853678072260887651191874602326920715557257758318927357894333626505725507288307177344440513681284961437925471820870672031243690063612961321435688409333937631416354912869260849600667740741382514030120396271423353401685614036892444893827247161469103565881919088519145807598366728632292704394466502787374973517363937285553833523464132985294673137600411552755478918266236658060613466320972401882510120411282729393428506243005081532946088043975269753712355751828836286902943851680061690389925015336245297926853012445131905002168641344710763585455888544477773684457971888995444192596880960555865076227729784518426235891173305638676029417750100498660341943690052546982404986488182923141087427145461729166177066440519291986214953247350932710230451240474639968942468660288244219756496299258650482231108159056217097127396885851167755731122111545819600499526463680589897178508849854994657399657676045685407667597550710533216305935074801092530710839275438148174006210305929425913087214558689638422082501640707365446151745339879091726905916824852568702629644058916858525490043442665499065232397318612606984228502330520441665066432909950785262032466240141737119006422766152632725430366499400710208802517354201403411445893599391796242243437412099674623249385759597953414412822564658744951555209655937261317428639016489409630223843901093845853944863705474068674455735160046953612114046134843092170565445656798774374971841565863690161489340740319954140220002342692781590671050373270649327385097381653961691499378195853557868260625388307108115468246438368663658887602862622976309852314951706954026118926641923887307583346596968788928478582482619470003000640952521267460451159697997531312777654793335257944439726222686781116856159698005868205496671296171468598819424468380027233030474809951272930257498804119259541524879057091112099472218280427229024202722568103184161939242466286486388320103308527546471741150826039060720061604847712860135975900960438620601214776754614681583528649517582136700479110899689666281055429327878016649699483359708382649379987642360121715974343575764405548996015068142583978880112655996196719781622792672427590460127833786360212611055133966763941262781991819654964927546990894889735446404705168562549782951251888424708251915219199190537841466813171167111492614749183475412621589799020905112809014932702037711757018424386235805662556007820711351319295643993268368634641354222582603431452034790063649652940563084256773128789024273474126067849445633556018953045381587191206225713268419461051228856263557808058148993379225529450383707602123576601747884175285888283372179492352162679706320583913791193599981904089759887423788328941302802498540610207654432502270736980099391353323880442305774962367626410483907573580373281378159978116739213267488991326783570574679577082825124991543839066794024011 2300796039912645457845517800657750832411938327045912457667940690252865029531057547345270867881170733098504740760984393951402807199857044094246188709736094902571494385128170199394061199074785936795788162554832311390413737908789127788341783119872412371615805896039651000333665192639157915970883103660527026599485419381219056903508721219919101860411962873349845721651022004554934130055020104863883093782952783932211308047789181994801222398366384463496920642472102526657184465434642600371693161279836610422704052266151649590523248541760826004556641583022692688047316740508948156115075418340287645599434290999486530004497402766837174678147471746390524450207678195619051089173745501380696160296955115806047392484999948376582383640928918120091867697807276736393127161454552351728923036155458168158959731264862642810725813524526157302038936279773748652686338841819188769685665577935733822886486896972015576064770665686064183625604796727490594935222500023057565211028241987034111344875601335765358374380866138612104048452124926265539611673002966987915741257269342506045967482012372836093709549290808868592398761182885695667041837449816691830862724066686722952001053332236947963454208229713317960884718448188315251161633376887661456530821943656826279099724672379312467703701539366222740751407559594949008653686243834937901698152333954225185739696386537238228444840257429576569658753453660441495356148449159148789238234024659719494442230352684275522494869778927097494529625234949219795265402827472822263343920823977620597452933689177225959549663261801677596838948392085304031946705456753679845550186120556202006869173267573983754455925590071128953245791442803243936365190089491805267887922891593928110221680084016228774456258947868330645449100888772274617466168971852607721203354085926733323447648791745589101911036283418813450482885277194911638631189613059940174823998692145369156958221209241700737857616201206392353337994042011607175923453632279148545170892594114426243686848087265035670206334180352302026844593568227001906718042552610398524097990440844045813553683750100773086513565367897643029597508902060341258817457502874549123155121899177449638380888738213049509584238614420801292599265323682452081721151795511490890729047419669533121749954846776530706693016877181713164059441796196508539038899016938561464872340560155739297413094014386082316532751177344082037382401115652676761456982422581074410754524771680052763018753564632505070719254944315078049328366037265789509078261407984779920156623332315186624705056286510546373336318865934635695398485246112016983787487131153271263012392580166720260816413752039919262618061473192287871629807166005212584461552063227465001082203905025100188984578901533073993893125967971327190758232226984322376589371988538736629227178770486072789700724130751981440351293659114024405666998996477373119682040348099081212151112297637694990063019798391537557584795183380485789967340246796818 3722766193759819998887876832138929085160442576645845207780015612871846497736272171699633293058937731350113863210838072023663694851048918696573109425293352660890421743022503825899786706363093114140228676236117272828339209729659799819585473183485373693051494305373588631750020105508418765571550844401909540629605815652642410305194335256811546754239210034818949287532941093074079937653386833496175798177419286719586281565153119280355055921830517448791593780072514079412663383700879258432306627600809012305214172677434378983951754784765907537502729626997962441759672492337784443018019270020349335989359306335731827931350415211969079680316113091101288035663566740096824773631717390376140352893836076361912468712729732895008619532102223758767897115557377235053469105144604898711328022643641091300047158410324371976902879965045449288253889527124681362916790082293828738628134238223978042642983196230666058295878824742281280753001682578658350666344611568877165710554705667624008523384451190760015774038542184297511716049675636798755917608077768080446452096544780654219973692318302262006796763849498507014481262823593061113193582789695783557768640891539291654630697391153806488944251672378817026117115766800922235390135707408103121597254853607611541132190912521049586710124305518855466181774058995659217456203598036341313144045933346021427983133798636912851694226017027529984071576018319186446911358105096410106666873041149129124666074253778121376439733484401166168985360394996173407379448962315914433909366480776394972424775255040916121039004002121631737058950734778085622617755830024329172935283502210163698368551463427541622716550978378237068714037881171907595252792952114781577740237843300882136340606725940116082039605544837119573927683371391744620466809924373875181654513783924264636225303585080847046350762506105594567339044975200779844127860909231408773643423160525396389988696019192973668115115005325651894862873099102719275395671912706377569373615162217610405626090553551522058526437488879848498585744394266062626779647400323258660073891401282666414768460504715454670042214885479779730076619801750007539872886830752565772854605258885832287760876380573171225558582190185206841595280391825036060601264451507687610510670212341960712210082680562890919304072011148477105322223788016163503966446007833451200318745265324301847196045266274507024784666396543272575223867928823843872949597171764549823376114570700957875827768497334542782476273368701313854990922045086500860397557051978048288791264686537769228136508321300610022989259429018892468527274270385491109855336576786827281965437961753911467042127020459380313846917736750095929778800545230742034845259665351041602830088080310988472356758393885236673599446551885118384358214131074082264013160317480039431725719380693727222202994867732080831704617539556330180629366622887857027255620721380459372129229036850962479054346581962112237161878008505477333806407040820829 6023562233672465456733394632796679917572380903691757665447956303124711527267329719044904160940108464448618603971822465975066502050905962790819298135029447563461916128150674025293847905437879050936016838790949584218752947638448927607927256303357786064667300201413239632083685298147576681542433948062436567229091235033861467208703056476730648614651172908168795009183963097629014067708406938360058891960372070651797589612942301275156278320196901912288514422544616606069847849135521858803999788880645622727918224943586028574475003326526733542059371210020655129806989232846732599133094688360636981588793597335218357935847817978806254358463584837491812485871244935715875862805462891756836513190791192167959861197729681271591003173031141878859764813364653971446596266599157250440251058799099259459006889675187014787628693489571606590292825806898430015603128924113017508313799816159711865529470093202681634360649490428345464378606479306148945601567111591934730921582947654658119868260052526525374148419408322909615764501800563064295529281080735068362193353814123160265941174330675098100506313140307375606880024006478756780235420239512475388631364958226014606631750723390754452398459902092134987001834214989237486551769084295764578128076797264437820231915584900362054413825844885078206933181618590608226109889841871279214842198267300246613722830185174151080139066274457106553730329471979627942267506554255558895905107065808848619108304606462396898934603263328263663514985629945393202644851789788736697253287304754015569877708944218142080588667263923309333897899126863389654564461286778009018485469622766365705237724731001525377172476568449366021959829323975151531617983041606586845628160734894810246562286809956344856495864492705450219376784260164019237932978896226482902857867869850997959672952376826436148261798789524408017821930252395691482759050522291348948467421852670765546946917228434674405972731206532044248200867141114326451319125544985526114544507756332036649312938640816557728732771669232150525430337962493064533497689952933657184171881842126712228322144254816227756555780253377422759674128703810348798690344333627114896009727158063281926141765118786220735142820804606008134194545715507488142322416247019178501239717632011493833960037527339421625997088888330190269381665584212672043005345024772012665191085825480041144609139280660589341317417573887354612606269044476520634406579594345624234130639342381010638846522061967047853195528313016391904319288082352290369475818459962828208947888018852955852841564607811156396325578294953528163925759516497508093642823707940098544977830541920631727858540772499299576464979209942383801408607711235954619306811728578506603912291985336088661341337295418310667492572519856445575116446358058404640602532306018776060952898151179800011903718998484062272055911198670354586296365619365230146937661069479540584280341334488657469117366380353649794746673191885963123773747287617647 9746328427432285455621271464935609002732823480337602873227971915996558025003601890744537453999046195798732467182660537998730196901954881487392407560322800224352337871173177851193634611800972165076245515027066857047092157368108727427512729486843159757718794506786828263833705403655995447113984792464346107858697050686503877513897391733542195368890382942987744296716904190703094005361793771856234690137791357371383871178095420555511334242027419361080108202617130685482511232836401117236306416481454635033132397621020407558426758111292641079562100837018617571566661725184517042151113958380986317578152903670950185867198233190775334038779697928593100521534811675812700636437180282132976866084627268529872329910459414166599622705133365637627661928922031206500065371743762149151579081442740350759054048085511386764531573454617055878546715334023111378519919006406846246941934054383689908172453289433347692656528315170626745131608161884807296267911723160811896632137653322282128391644503717285389922457950507207127480551476199863051446889158503148808645450358903814485914866648977360107303076989805882621361286830071817893429003029208258946400005849765306261262448114544560941342711574470952013118949981790159721941904791703867699725331650872049361364106497421411641123950150403933673114955677586267443566093439907620527986244200646268041705963983811063931833292291484636537801905490298814389178864659351969002571980106957977743774378860240518275374336747729429832500346024941566610024300752104651131162653785530410542302484199259058201627671266044941070956849861641475277182217116802338191420753124976529403606276194429066999889027546827603090673867205147059126870775993721368423368398578195692382902893535896460938535470037542569793304467631555763858399788820600358084512381653775262595898255961907283194612561295630002585160975227596471326886911431522757722110845013196161936935613247627648074087846211857696143063740240217045726714797457691903683918122918549647054939029194368079787259209158111999024016082356759127160277337353256915844245773243409378643090604759531682426597995138857202489750748505560356338563231164379680668864332416949114213902641499359391960701402994791214975789826107332524202923680698526866111750387844353454546170120207902312545301160899478667374703889372228835546971791032605463865509831090804342991805184546935096366102083970430627187830136973300364507356176766110174057506753913081968514674290559301590635671801681717705759310210127438791229873375511940876497739152705390725080978072929111766419314837723972420632453033786882999203498160284726925826943268503674543194900667792958679890311896946692479731187408256466696654152071393929548206742380065647077133698095689303547341092019071741563959474660489132486904615692623498815492678617531873527234106713866216143103760528738226684766925732242253087174193281790859999956409570371339619948171712962315762031908551200391440457580154328438476 15769890661104750912354666097732288920305204384029360538675928219121269552270931609789441614939154660247351071154483003973796698952860844278211705695352247787814253999323851876487482517238851216012262353818016441265845105006557655035439985790200945822386094708200067895917390701803572128656418740526782675087788285720365344722600448210272843983541555851156539305900867288332108073070200710216293582098163428023181460791037721830667612562224321273368622625161747291552359081971922976040306205362100257761050622564606436132901761437819374621621472047039272701373650958031249641284208646741623299166946501006168543803046051169581588397243282766084913007406056611528576499242643173889813379275418460697832191108189095438190625878164507516487426742286685177946661638342919399591830140241839610218060937760698401552160266944188662468839541140921541394123047930519863755255733870543401773701923382636029327017177805598972209510214641190956241869478834752746627553720600976940248259904556243810764070877358830116743245053276762927346976170239238217170838804173026974751856040979652458207809390130113258228241310836550574673664423268720734335031370807991320867894198837935315393741171476563087000120784196779397208493673875999632277853408448136487181596022082321773695537775995289011880048137296176875669675983281778899742828442467946514655428794168985215011972358565941743091532234962278442331446371213607527898477087172766826362882683466702915174308940011057693496015331654886959812669152541893387828415941090284426112180193143477200282216338529968250404854748988504864931746678403580347209906222747742895108844000925430592377061504115276969112633696529122210658488759035327955268996559313090502629465180345852805795031334530248020012681251891719783096332767716826840987370249523626260555571208338733719342874360085154410602982905479992162809645961953814106670578266865866927483882530476062322480060577418389740391264607381331372178033923002677429798462630674881683704251967835184637515991980827344149549446420319252191693775027306190573028417655085536090871412749014347910183153775392234625249424877209370705137253575498006795564874059575012396140044406618145612695844223799397223109984371822840012345246096945546044612990105476364948380130157735241734171298249787808857644085554956441507589977136057377476530700916916284384136414323827595685707419501544317981800436406017776885141762756360455798291637393255462979153520812621268638488867329994734097663629498209791081599349193971903704706687040724243680933819637536922922815640416018925948796378793303380507297140983992667024371921099045595174922759208565457979466776876156634863532596015967702651273458883122508054810654672050983165795039432984721858008584591591598009534591106847190891545218224929517591553631515683053327246010432864700205375816439936897039353222097861618317321130942860339540540689911705828277417289079342669411826655224392277403581353901616056123 25516219088537036367975937562667897923038027864366963411903900135117827577274533500533979068938200856046083538337143541972526895854815725765604113255675048012166591870497029727681117129039823381088507868845083298312937262374666382462952715277044105580104889214986896159751096105459567575770403532991128782946485336406869222236497839943815039352431938794144283602617771479035202078431994482072528272235954785394565331969133142386178946804251740634448730827778877977034870314808324093276612621843554892794183020185626843691328519549112015701183572884057890272940312683215766683435322605122609616745099404677118729670244284360356922436022980694678013528940868287341277135679823456022790245360045729227704521018648509604790248583297873154115088671208716384446727010086681548743409221684579960977114985846209788316691840398805718347386256474944652772642966936926710002197667924927091681874376672069377019673706120769598954641822803075763538137390557913558524185858254299222376651549059961096153993335309337323870725604752962790398423059397741365979484254531930789237770907628629818315112467119919140849602597666622392567093426297928993281431376657756627129156646952479876335083883051034039013239734178569556930435578667703499977578740099008536542960128579743185336661726145692945553163092973763143113242076721686520270814686668592782697134758152796278943805650857426379629334140452577256720625235872959496901049067279724804106657062326943433449683276758787123328515677679828526422693453293998038959578594875814836654482677342736258483844009796013191475811598850146340208928895520382685401326975872719424512450277119859659376950531662104572203307563734269269785359535029049323692364957891286195012368073881749266733566804567790589805985719523275546954732556537427199071882631177401523151469464300641002537486921380784413188143880707588634136532873385336864392689111879063089420818143723689970554148423630247436534328347621548417904748720460369333482380753593431330759190997029552717303251189985456148573462502676011318854052364659447488872663428328945469514503353773879592609751770531091827739175625714931061475816806662386476233738391991961510353947048117505004656545626794188438085774197930172536548169777644072910724740493320718402926300277943144046716599410687287525018789444328670343136948927089982940396210748007088727128219508374530782073521585514748608988266542991077249649118933126565972349144147168544947668195103180570229124539131676451803422939708337229872829222569483844581204426193429634406014797710466034689234955253742898369428831827090263506500639144277393950198864367549269718117659876358416659357088773103327343263783424224169347927610954516437603017397052116630242928737528674025405349676610663339573494065767336323378449833917553016407046310133214926854480117146730916348479576968675123724120147830103871404495324224651199540497099482077167897365460792304985173858563775592668844038934055944494599 41286109749641787280330603660400186843343232248396323950579828354239097129545465110323420683877355516293434609491626545946323594807676570043815818951027295799980845869820881604168599646278674597100770222663099739578782367381224037498392701067245051402490983923186964055668486807263139704426822273517911458034273622127234566959098288154087883335973494645300822908518638767367310151502195192288821854334118213417746792760170864216846559366476061907817353452940625268587229396780247069316918827205655150555233642750233279824230280986931390322805044931097162974313963641247016324719531251864232915912045905683287273473290335529938510833266263460762926536346924898869853634922466629912603624635464189925536712126837605042980874461462380670602515413495401562393388648429600948335239361926419571195175923606908189868852107342994380816225797615866194166766014867446573757453401795470493455576300054705406346690883926368571164152037444266719780006869392666305151739578855276162624911453616204906918064212668167440613970658029725717745399229636979583150323058704957763989626948608282276522921857250032399077843908503172967240757849566649727616462747465747947997050845790415191728825054527597126013360518375348954138929252543703132255432148547145023724556150662064959032199502140981957433211230269940018782918060003465420013643129136539297352563552321781493955778009423368122720866375414855699052071607086567024799526154452491630469539745793646348623992216769844816824531009334715486235362605835891426787994535966099262766662870486213458766060348325981441880666347838651205140675573923963032611233198620462319621294278045290251754012035777381541315941260263391480443848294064377278961361517204376697641833254227602072528598139098038609818666971414995330051065324254254040059252880701027783707040672639374721880361281465938823791126786187580796946178835339150971063267378744930016904700674199752293034209001048637176925592955002879790082782643463046763280843384268313014463442964864737354819243170812800298122908922995263510547827391965638061901081083414481560385916102788227502792905545923326452988600502924301766613070382160393271798612451566973906493991454735650617352389850593585661195758569753012548893415874589618955337730598797083351306430435678385780887897660475096382662874999285111850726926063147360416926911664923373111264633832202126467780941087059066590788702949008854134790881689487021770640781540424007926821715915801838867613406461671185901086569206547020954428571763455748285911113234153878086948617348002957612050595669761824318225210620393644013797780128270060974570785466594864893040419084923874638823865649259962206796379440191871999201069837638945657828051724167613408723776961658747263358261202254937583028656874183514269995052142482533998599941648897980181726127579595616553855393408612020763473369927965489721816455167511539081037789393782996174782749871647654585685218999984946247620287957560550722 66802328838178823648306541223068084766381260112763287362483728489356924706819998610857399752815556372339518147828770087918850490662492295809419932206702343812147437740317911331849716775318497978189278091508183037891719629755890419961345416344289156982595873138173860215419582912722707280197225806509040240980758958534103789195596128097902922688405433439445106511136410246402512229934189674361350126570072998812312124729304006603025506170727802542266084280719503245622099711588571162593531449049210043349416662935860123515558800536043406023988617815155053247254276324462783008154853856986842532657145310360406003143534619890295433269289244155440940065287793186211130770602290085935393869995509919153241233145486114647771123044760253824717604084704117946840115658516282497078648583610999532172290909453117978185543947741800099163612054090810846939408981804373283759651069720397585137450676726774783366364590047138170118793860247342483318144259950579863675925437109575385001563002676166003072057547977504764484696262782688508143822289034720949129807313236888553227397856236912094838034324369951539927446506169795359807851275864578720897894124123504575126207492742895068063908937578631165026600252553918511069364831211406632233010888646153560267516279241808144368861228286674902986374323243703161896160136725151940284457815805132080049698310474577772899583660280794502350200515867432955772696842959526521700575221732216434576196808120589782073675493528631940153046687014544012658056059129889465747573130841914099421145547828949717249904358121994633356477946688797545349604469444345718012560174493181744133744555165149911130962567439486113519248823997660750229207829093426602653726475095662892654201328109351339262164943665829199624652690938270877005797880791681239131135511878429306858510136940015724417848202846723236979270666895169431082711708724487835455956490623993106325518817923442263588357424678884613459921302624428207987531363923416096763224137861744345222633961894290072122494360798256446696371425671274829401879756625085550773744511743427029900419456562107095402657316454418280727776128639232828088887188822779748032350843558935416847938502853155622008935477387774099281532767683185085441585652233691866062471092117801754232730713621529827604497071162383907681664443613782193863874990237343357323122412930461838392853340576657249854462672573815199776969491999931384440000622613587742989925687592552874489911018982409096737945593347637704509508914884250827257794332939592867115539427583512492963415058468992301285550923504722687654042447483907520298419272547454924769649834144134611158078961282291298180954422363289550060162864416041347128680792155383260845448776284243651652514490332772668707937812918277156522722641519837648444886060035550405646251782112907036206244726326532902334970377287144487593517758069361126311779392162738621534888875860164072148210663952639759543782775577615091659222013505045321 108088438587820610928637144883468271609724492361159611313063556843596021836365463721180820436692911888632952757320396633865174085470168865853235751157729639612128283610138792936018316421597172575290048314171282777470501997137114457459738117411534208385086857061360824271088069719985846984624048080026951699015032580661338356154694416251990806024378928084745929419655049013769822381436384866650171980904191212230058917489474870819872065537203864450083437733660128514209329108368818231910450276254865193904650305686093403339789081522974796346793662746252216221568239965709799332874385108851075448569191216043693276616824955420233944102555507616203866601634718085080984405524756715847997494630974109078777945272323719690751997506222634495320119498199519509233504306945883445413887945537419103367466833060026168054396055084794479979837851706677041106174996671819857517104471515868078593026976781480189713055473973506741282945897691609203098151129343246168827665015964851547626474456292370909990121760645672205098666920812414225889221518671700532280130371941846317217024804845194371360956181619983939005290414672968327048609125431228448514356871589252523123258338533310259792733992106228291039960770929267465208294083755109764488443037193298583992072429903873103401060730427656860419585553513643180679078196728617360298100944941671377402261862796359266855361669704162625071066891282288654824768450046093546500101376184708065045736553914236130697667710298476756977577696349259498893418664965780892535567666808013362187808418315163176015964706447976075237144294527448750490280043368308750623793373113644063755038833210440162884974603216867654835190084261052230673056123157803881615087992300039590296034582336953411790763082763867809443319662353266207056863205045935279190388392579457090565550809579390446298209484312662060770397453082750228028890544063638806519223869368923123230219492123194556622566425727521790385514257627307998070314007386462860044067522130057359686076926759027426941737531611056744819280348666538339949707148590723612674825595157908590286335559350334598195562862377744733716376631563534594701957570983173019830963295125909323341929957588806239361325327981359760477291337436197634335001526823310821400201690914885105539161149299915608492394731637480290344539442898894044590801053384703774250034077853834949657487172778783717635403759632881790565672441008785519230882312100609513630707228016560801311626934784247964351352055018823605596078121431271781686366096395341153026652661737390579912032406471949913336146593266547005879253067877551534096199400817515899340435300738999504198498046206165937004820071623251756856542304607913346329750629794328918673500500451857060376291451991519932066199015173214739551379515703351918439938202518084404246193431010887217932372305922149456190363785899165251066887686034850848128234559674277702572678269643160246930960535600294345229001775562561339279509971065596043 174890767425999434576943686106536356376105752473922898675547285332952946543185462332038220189508468260972470905149166721784024576132661161662655683364431983424275721350456704267868033196915670553479326405679465815362221626893004877421083533755823365367682730199534684486507652632708554264821273886535991939995791539195442145350290544349893728712784361524191035930791459260172334611370574541011522107474264211042371042218778877422897571707931666992349522014379631759831428819957389394503981725304075237254066968621953526855347882059018202370782280561407269468822516290172582341029238965837917981226336526404099279760359575310529377371844751771644806666922511271292115176127046801783391364626484028232019178417809834338523120550982888320037723582903637456073619965462165942492536529148418635539757742513144146239940002826594579143449905797487888045583978476193141276755541236265663730477653508254973079420064020644911401739757938951686416295389293826032503590453074426932628037458968536913062179308623176969583363183595102734033043807706421481409937685178734870444422661082106466198990505989935478932736920842763686856460401295807169412250995712757098249465831276205327856642929684859456066561023483185976277658914966516396721453925839452144259588709145681247769921958714331763405959876757346342575238333453769300582558760746803457451960173270937039754945329984957127421267407149721610597465293005620068200676597916924499621933362034825912771343203827108697130624383363803511551474724095670358283140797649927461608953966144112893265869064569970708593622241216246295839884512812654468636353547606825807888783388375590074015937170656353768354438908258712980902263952251230484268814467395702482950235910446304751052928026429697009067972353291537084062661085837616518321523904457886397424060946519406170716057687159385297749668119977919659111602252788126641975180359992916229555738310046636820210923850406406403845435560251736206057845371309878956807291659991801704908710888653317499064231892409313191515651774337813169351586905215809163448570106901335620186755015912441693598220178832163014444152760202767422790844759805952767863314138684844740189868460441961861370260805369133859758824105119382719776587179057002687462672783032686859771891862921445436096891802799864198026203886512676238454676043622047131573156490784296788050340513355440967489866432206696990342641933008716903670882934714197256620632915609113675801537953766657061089297648366461310105587036315522608944160429334934020142192089320903072875447464940942214621697516771269693533295515361459054394618673364970824110085134883134115356577007488457235185774493986541306916705169023954693458431421949712179518949276736100712028805942324292600774136828091491896074102157223189566884824262553634809892445213123794254138617032248682358525334163186309738660405444104211974440013951837016324107567145503324319079171199552934104772784551140176430938731984570641364 282979206013820045505580830990004627985830244835082509988610842176548968379550926053219040626201380149605423662469563355649198661602830027515891434522161623036404004960595497203886349618512843128769374719850748592832723624030119334880821651167357573752769587260895508757595722352694401249445321966562943639010824119856780501504984960601884534737163289608936965350446508273942156992806959407661694088378455423272429959708253748242769637245135531442432959748039760274040757928326207626414432001558940431158717274308046930195136963581992998717575943307659485690390756255882381673903624074688993429795527742447792556377184530730763321474400259387848673268557229356373099581651803517631388859257458137310797123690133554029275118057205522815357843081103156965307124272408049387906424474685837738907224575573170314294336057911389059123287757504164929151758975148012998793860012752133742323504630289735162792475537994151652684685655630560889514446518637072201331255469039278480254511915260907823052301069268849174682030104407516959922265326378122013690068057120581187661447465927300837559946687609919417938027335515732013905069526727035617926607867302009621372724169809515587649376921791087747106521794412453441485952998721626161209896963032750728251661139049554351170982689141988623825545430270989523254316530182386660880659705688474834854222036067296306610306999689119752492334298432010265422233743051713614700777974101632564667669915949062043469010914125585454108202079713063010444893389061451250818708464457940823796762384459276069281833771017946783830766535743695046330164556180963219260146920720469871643822221586030236900911773873221423189628992519765211575320075409034365883902459695742073246270492783258162843691109193564818511292015644803291119524290883551797511912297037343487989611756098796617014267171472047358520065573060669887140492796851765448494404229361839352785957802169831376833490276133928194230949817879044204128159378696341816851359182121859064594787815412344926005969424020369936334932123004351509301294053806532776123395702059244210473090575262776291793783041209907748160529391766302017492802330789125787694277433810754063531798418030768100731586133350493620236115442555580354111588705880313508862874473947571965311053012221361044589286534437344488370743329411570283045477097006750905823190568638131737707827686134224685125270191839578780908314374017502422901765246814806770251340143625674477113164888550905025440649703385284915701665157746794390630526525730275173168844751058293652787479871412892127957844110037816699412548583239010588490818074182486723450520435622133619555075053694623172190594565609793063773247473631868039788182051744041098192449777187957772405097394315812532840335843264706635625481672926541485324762465071719214138638644134681472070989338170831814715697949085474989727293130139062822568248511511294026680245415146484566010131735153228450001786326702737770218241955636237407 457869973439819480082524517096540984361935997309005408664158127509501914922736388385257260815709848410577894567618730077433223237735491189178547117886593606460679726311052201471754382815428513682248701125530214408194945250923124212301905184923180939120452317460430193244103374985402955514266595853098935579006615659052222646855275504951778263449947651133128001281237967534114491604177533948673216195852719634314801001927032625665667208953067198434782481762419392033872186748283597020918413726863015668412784242930000457050484845641011201088358223869066755159213272546054964014932863040526911411021864268851891836137544106041292698846245011159493479935479740627665214757778850319414780223883942165542816302107943388367798238608188411135395566664006794421380744237870215330398961003834256374446982318086314460534276060737983638266737663301652817197342953624206140070615553988399406053982283797990135871895602014796564086425413569512575930741907930898233834845922113705412882549374229444736114480377892026144265393288002619693955309134084543495100005742299316058105870127009407303758937193599854896870764256358495700761529928022842787338858863014766719622190001085720915506019851475947203173082817895639417763611913688142557931350888872202872511249848195235598940904647856320387231505307028335865829554863636155961463218466435278292306182209338233346365252329674076879913601705581731876019699036057333682901454572018557064289603277983887956240354117952694151238826463076866521996368113157121609101849262107868285405716350603388962547702835587917492424388776959941342170049068993617687896500468327295679532605609961620310916848944529575191544067900778478192477584027660264850152716927091444556196506403229562913896619135623261827579264368936340375182185376721168315833436201495229885413672702618202787730324858631432656269733693038589546252095049639892090469584589354755582341696112216468197044414126540334598076385378130780410186004750006220773658650842113660769503498704065662425070201316429683127850583897342164678652880959022341939571965808960579830659845591175217985392003220042070762604682151969069440283647090595078555557591572495598803721666878472729962101846938719627479994939547674963073888175884937316196325547256980258825082944875142806480686178337237208686396947215924246521500153140628798037396347059422428525758168199489665652615136624046275771250956307026219326572648181529004026871973059234788152914702842317562086529947351751746225807252194062316999574686955065209193311036840379196725662927336353834342579541626809086392945844098600469642885436747547457547560605570505267734911652061183080407376369059596334370689952642655822733246613473693753277711399053924058484433903336640105133614472671356198531699583830149731052209586727625354024031083857258475726209606370419514173241032112271784728387698574243274797008262463348310350787812560649808885089302934706162554774570877842914201156973940206878771 740849179453639525588105348086545612347766242144087918652768969686050883302287314438476301441911228560183318230088293433082421899338321216694438552408755229497083731271647698675640732433941356811018075845380963001027668874953243547182726836090538512873221904721325702001699097338097356763711917819661879218017439778909003148360260465553662798187110940742064966631684475808056648596984493356334910284231175057587230961635286373908436846198202729877215441510459152307912944676609804647332845728421956099571501517238047387245621809223004199805934167176726240849604028801937345688836487115215904840817392011299684392514728636772056020320645270547342153204036969984038314339430653837046169083141400302853613425798076942397073356665393933950753409745109951386687868510278264718305385478520094113354206893659484774828612118649372697390025420805817746349101928772219138864475566740533148377486914087725298664371140008948216771111069200073465445188426567970435166101391152983893137061289490352559166781447160875318947423392410136653877574460462665508790073799419897245767317592936708141318883881209774314808791591874227714666599454749878405265466730316776340994914170895236503155396773267034950279604612308092859249564912409768719141247851904953600762910987244789950111887336998309011057050737299325389083871393818542622343878172123753127160404245405529652975559329363196632405936004013742141441932779109047297602232546120189628957273193932949999709365032078279605347028542789929532441261502218572859920557726565809109202478735062665031829536606605864276255155312703636388500213625174580907156647389047765551176427831547650547817760718402796614733696893298243404052904103069299216036619386787186629442776896012821076740310244816826646090556384581143666301709667604720113345348498532573373403284458716999404744592030103480014789799266099259433392587846491657538963988818716594935127653914386299573877904402674262792307335196009824614314164128702562590510010024235519834098286519478007351076170740450053064185516020346516187954175012828874715695361511019824041132936166437994277185786261251978510765211543735371457776449421384204343251869006306352867253465296503498062833433072070121100231054990230543427999764590817629705188421730927830790393997887364167525275464871674553174767690545335816804545630237635548943219537628060560263465995885623890337740406815885854552159270681043721749474413428343810797123313202860462630027867730868467111970597055137031141508917351809111390205213480795484366479881591437490378450407207766726470537385736846903092358392681839480231376254821729944271011126006127401354466727114877703579566963625206127434463200116287690773034795525437794375903848831112016256839000730955917666454808514620905167325065503076272537534349192697073238169722501393157198280595708590345987956730061357259718114991704382337619576510974859604377468057975796293451099434669859391004776357204545651971375215895843116178 1198719152893459005670629865183086596709702239453093327316927097195552798225023702823733562257621076970761212797707023510515645137073812405872985670295348835957763457582699900147395115249369870493266776970911177409222614125876367759484632021013719451993674222181755895245802472323500312277978513672760814797024055437961225795215535970505441061637058591875192967912922443342171140201162027305008126480083894691902031963562318999574104055151269928311997923272878544341785131424893401668251259455284971767984285760168047844296106654864015400894292391045792996008817301347992309703769350155742816251839256280151576228652272742813348719166890281706835633139516710611703529097209504156460949307025342468396429727906020330764871595273582345086148976409116745808068612748148480048704346482354350487801189211745799235362888179387356335656763084107470563546444882396425278935091120728932554431469197885715434536266742023744780857536482769586041375930334498868669000947313266689306019610663719797295281261825052901463212816680412756347832883594547209003890079541719213303873187719946115445077821074809629211679555848232723415428129382772721192604325593331543060617104171980957418661416624742982153452687430203732277013176826097911277072598740777156473274160835440025549052791984854629398288556044327661254913426257454698583807096638559031419466586454743762999340811659037273512319537709595474017461631815166380980503687118138746693246876471916837955949719150030973756585855005866796054437629615375694469022406988673677394608195085666053994377239442193781768679544089663577730670262694168198595053147857375061230709033441509270858734609662932371806277764794076721596530488130729564066189336313878631185639283299242383990636929380440088473669820753517484041483895044325888429178784700027803258816957161335202192474916888734912671059532959137848979644682896131549629433573408071350517469350026602767770922318529214597390383720574140605024500168878708783364168660866349180603601785223543669776146372056879736192036099917688680866607055971851216655267327319980403871792781757613212262577789481294049273369893695704440898060096511979282898809460578801951670975132174976228024935280010789748580225994537905506501887940475754945901513968987908089615476942762506974005961643208911761861164637761260063326045783378264346980615884687482988789224164085113555990355543439932130323410226988069941076047061609872814823995286262095250782942570573186029198500544406888777367316169545871428389779900435860693559790918431816687104113334544120560813116927363655989485304236780439949874261691569277401818571731576632669089378379176060783986943332684802461805153152758943513506281408999131547653615247885036074741272904067596022800069281185977103699024649333226003589743935920322427262200806358651632924490202079009860161197762173629044446502690278625612416584773438207914728255870536446102336188737604565553559550928082388566172532189836049994949 1939568332347098531258735213269632209057468481597181245969696066881603681527311017262209863699532305530944531027795316943598067036412133622567424222704104065454847188854347598823035847683311227304284852816292140410250283000829611306667358857104257964866896126903081597247501569661597669041690431492422694015041495216870228943575796436059103859824169532617257934544606919150227788798146520661343036764315069749489262925197605373482540901349472658189213364783337696649698076101503206315584105183706927867555787277406095231541728464087019600700226558222519236858421330149929655392605837270958721092656648291451260621167001379585404739487535552254177786343553680595741843436640157993507118390166742771250043153704097273161944951938976279036902386154226697194756481258426744767009731960874444601155396105405284010191500298036729033046788504913288309895546811168644417799566687469465702808956111973440733200637882032692997628647551969659506821118761066839104167048704419673199156671953210149854448043272213776782160240072822893001710458055009874512680153341139110549640505312882823586396704956019403526488347440106951130094728837522599597869792323648319401612018342876193921816813398010017103732292042511825136262741738507679996213846592682110074037071822684815499164679321852938409345606781626986643997297651273241206150974810682784546626990700149292652316370988400470144725473713609216158903564594275428278105919664258936322204149665849787955659084182109253361932883548656725586878891117594267328942964715239486503810673820728719026206776048799646044934699402367214119170476319342779502209795246422826781885461273056921406552370381335168421011461687374965000583392233798863282225955700665817815082060195255205067377239625256915119760377138098627707785604711930608542524133198560376632220241620052201597219508918838392685849332225237108413037270742623207168397562226787945452597003940989067344800222931888860182691055770150429638814333007411345954678670890584700437700071743021677127222542797329789256221615938035197054561230984680091370962688831000227912925717924051206539763575742546027784135105239439812355836545933363487242061329585108304538228597471479726087768713082859869680457049528136049929887705066572575606702390718835920405870940649871141531237108080586315035932328306595880130591413615899895923835422315543549052690159970737446328095950255817984875569497669113662825521475038216625621118599464955713412970438304054496310471141462025808508825086897680539779985113916656177926270800023254177482563741751887287283654313100502892577662629462279430105637946391007346089582857582760070443845106290938487566510296310008589239616352875231204279316204524569342029519096716148090998111904798551940466524089700598008866349714836302276127278285113019500500370528860044790122770797787600206149154492234986304164617681983007950036161284413067519105723928512242395787288172274424944564327285286934218143907405731893111127 3138287485240557536929365078452718805767170721050274573286623164077156479752334720085943425957153382501705743825502340454113712173485946028440409892999452901412610646437047498970430962932681097797551629787203317819472897126705979066151990878117977416860570349084837492493304041985097981319668945165183508812065550654831454738791332406564544921461228124492450902457529362492398928999308547966351163244398964441391294888759924373056644956500742586501211288056216240991483207526396607983835364638991899635540073037574143075837835118951035001594518949268312232867238631497921965096375187426701537344495904571602836849819274122398753458654425833961013419483070391207445372533849662149968067697192085239646472881610117603926816547212558624123051362563343443002825094006575224815714078443228795088956585317151083245554388477424085368703551589020758873441991693565069696734657808198398257240425309859156167736904624056437778486184034739245548197049095565707773167996017686362505176282616929947149729305097266678245373056753235649349543341649557083516570232882858323853513693032828939031474526030829032738167903288339674545522858220295320790474117916979862462229122514857151340478230022752999257184979472715557413275918564605591273286445333459266547311232658124841048217471306707567807634162825954647898910723908727939789958071449241815966093577154893055651657182647437743657045011423204690176365196409441809258609606782397683015451026137766625911608803332140227118518738554523521641316520732969961797965371703913163898418868906394773020584015490993427813614243492030791849840739013510978097262943103797888012594494714566192265286980044267540227289226481451686597113880364528427348415292014544449000721343494497589058014169005697003593430197891616111749269499756256496971702917898588179891037198781387403789694425807573305356908865184374957392681953638754756797831135634859295970066353967591835115722541461103457573074776344291034663314501886120129318847331756933881041301856966565346903368914854209525448257715855723877921168286956531308026230016150980631784718499681664418802341365223840077057504998935144253253896642445342770140870790163910256209203729646455954112703993093649618260683044066041556431775645542327521508216359706744010021347883412378115537198751289498076897096966067855943456637196994164242904451307003026537841914324055851002318451493695750115198979724657183603901568536648089440445113885727050964195913008877240525508971685868914585876141256443551968169765014352516871486061718455070864586677076296007848096771240464158882062966866242719379979899637960284747908154589159392739533223485466999271553453628994811051044769505634174717785597613523700889683134344601184165739384808866147963266593370886575112565374364169528279717022221033341927762571335218696423047260999866610066310352254408615348611120372261633562452746057851275433833979799048688498123476909878990498123878213369322784316439595567943106076 5077855817587656068188100291722351014824639202647455819256319230958760161279645737348153289656685688032650274853297657397711779209898079651007834115703556966867457835291395097793466810615992325101836482603495458229723180127535590372819349735222235381727466475987919089740805611646695650361359376657606202827107045871701683682367128842623648781285397657109708837002136281642626717797455068627694200008714034190880557813957529746539185857850215244690424652839553937641181283627899814299419469822698827503095860314980238307379563583038054602294745507490831469725659961647851620488981024697660258437152552863054097470986275501984158198141961386215191205826624071803187215970489820143475186087358828010896516035314214877088761499151534903159953748717570140197581575265001969582723810404103239690111981422556367255745888775460814401750340093934047183337538504733714114534224495667863960049381421832596900937542506089130776114831586708905055018167856632546877335044722106035704332954570140097004177348369480455027533296826058542351253799704566958029250386223997434403154198345711762617871230986848436264656250728446625675617587057817920388343910240628181863841140857733345262295043420763016360917271515227382549538660303113271269500291926141376621348304480809656547382150628560506216979769607581634542908021560001180996109046259924600512720567855042348303973553635838213801770485136813906335268761003717237536715526446656619337655175803616413867267887514249480480451622103180247228195411850564229126908336419152650402229542727123492046790791539793073858548942894398005969011215332853757599472738350220714794479955987623113671839350425602708648300688168826651597697272598327290630641247715210266815803403689752794125391408630953918713190575029714739457055104468187105514227051097148556523257440401439605386913934726411698042758197409612065805719224381377963966228697861647241422663357908580902460522764392992317755765832114441464302128834893531475273526002647518581479001928709587024030591457651539314704479331793759074975729517941211399397192704981980859697644217605715625342104940966386104841640104174584065609733188378706257382932119749018560747432327117935680200472706176509487941140093594177606361663350608900097114918750425579930427218824062249257068435859370084391933029294374451823587228610610064138828286729318570086894604484026588448646547443951568100074549222326297266727090011686306066066232485192006677608883447181295021819442827330940394384966343341232507949750128269173049412332518478325042069240818047895135380425553564661774640629495704998810085537584351292093997737446742152809977068591757937759119963925304819640284385858509405922064913818048270231712653441317332256737496713664699903733117460587173121431724079005830555844300506146361428262941864078741213170031797654210272459506746643601652775738054244641512488907342264342952939703727560930893910765082153415442688205498656257002460347001299836217203 8216143302828213605117465370175069820591809923697730392542942395035916641031980457434096715613839070534356018678799997851825491383384025679448244008703009868280068481728442596763897773548673422899388112390698776049196077254241569438971340613340212798588036825072756582234109653631793631681028321822789711639172596526533138421158461249188193702746625781602159739459665644135025646796763616594045363253112998632271852702717454119595830814350957831191635940895770178632664491154296422283254834461690727138635933352554381383217398701989089603889264456759143702592898593145773585585356212124361795781648457434656934320805549624382911656796387220176204625309694463010632588504339482293443253784550913250542988916924332481015578046364093527283005111280913583200406669271577194398437888847332034779068566739707450501300277252884899770453891682954806056779530198298783811268882303866262217289806731691753068674447130145568554601015621448150603215216952198254650503040739792398209509237187070044153906653466747133272906353579294191700797141354124041545820619106855758256667891378540701649345757017677469002824154016786300221140445278113241178818028157608044326070263372590496602773273443516015618102250987942939962814578867718862542786737259600643168659537138934497595599621935268074024613932433536282441818745468729120786067117709166416478814145009935403955630736283275957458815496560018596511633957413159046795325133229054302353106201941383039778876690846389707598970360657703768869511932583534190924873708123065814300648411633518265067374807030786501672163186386428797818851954346364735696735681454018602807074450702189305937126330469870248875589914650278338194811152962855717979056539729754715816524747184250383183405577636650922306620772921330851206324604224443602485929968995736736414294639182827009176608360533985003399667062593987023198401178020132720764059833496506537392729711876172737576245305854095775328840608458732498965443336779651604592373334404452462520303785676152370933960372505748840152737047649482952896897804897742707423422721132961491482362717287380044144446306190226181899145103109728318863629830824049027523802909912928816956636056764391634313176699270159106201823137660219162793438996151227618623135110132323940448566707474627372605634610659582468830126260442307767043865807604228381732738036321596624736518808082439450964998937647318215273528946983480870628658548334395506511346370919057641804796456058535547328414513199854980261107599784784476119515142621689920898394236933395906655917894343902983477196794028820656703596361947718190065437222311576841905892035901545549510292077224937030673417554299630691329155364143580639850511431571971121395787785918516422476881522530847866999710831473748233997098443175358835561322727179703356025513199297437636217292797520820338769859001052217001386858426506275074941653400115618386773683526609619392034241992032405940812083712025579786776786596867779323279 13293999120415869673305565661897420835416449126345186211799261625994676802311626194782250005270524758567006293532097655249537270593282105330456078124406566835147526317019837694557364584164665748001224594994194234278919257381777159811790690348562448180315503301060675671974915265278489282042387698480395914466279642398234822103525590091811842484032023438711868576461801925777652364594218685221739563261827032823152410516674983866135016672201173075882060593735324116273845774782196236582674304284389554641731793667534619690596962285027144206184009964249975172318558554793625206074337236822022054218801010297711031791791825126367069854938348606391395831136318534813819804474829302436918439871909741261439504952238547358104339545515628430442958859998483723397988244536579163981161699251435274469180548162263817757046166028345714172204231776888853240117068703032497925803106799534126177339188153524349969611989636234699330715847208157055658233384808830801527838085461898433913842191757210141158084001836227588300439650405352734052050941058690999575071005330853192659822089724252464267216988004525905267480404745232925896758032335931161567161938398236226189911404230323841865068316864279031979019522503170322512353239170832133812287029185742019790007841619744154142981772563828580241593702041117916984726767028730301782176163969091016991534712864977752259604289919114171260585981696832502846902718416876284332040659675710921690761377744999453646144578360639188079421982760884016097707344434098420051782044542218464702877954360641757114165598570579575530712129280826803787863169679218493296208419804239317601554406689812419608965680895472957523890602819104989792508425561183008609697787444964982632328150874003177308796986267604841019811347951045590663379708692630708000157020092885292937552079584266614563522295260396701442425260003599089004120402401510684730288531358153778815393069784753640036768070247088093084606440573173963267572171673183079865899337051971043999305714385739394964551830157288154857216379443242027872627322838954106820615426114942351180006934893095669486551247156612286740785207284312384473363019202755284906735029661947377704068383882327314513649405446668594142963231254396769155102346760127715738053860557903870875785531536876629674070470029666860763155554816759590631094418214292520561024765640166711631123292109027899611546381598886315348078169309778137355748560020701572577578856111064319413679903239830569147857340530795374646073943126016984069265270890862970310726755411720948725158712391798118857622347593482431344225857652717000150974806662868935903629482643698359487360668982874789793381479604450331613541222652986561915425249620241353108441227235848679214378236195547770732828292060921355428822522181189391405623233326064784288455063376178849387324595175030611229365747695818654162596480750916587430560742379961339713387254170550285945007074185821383500289210681836789237133598167615540482 21510142423244083278423031032072490656008259050042916604342204021030593443343606652216346720884363829101362312210897653101362761976666131009904322133109576703427594798748280291321262357713339170900612707384893010328115334636018729250762030961902660978903540126133432254209024918910282913723416020303185626105452238924767960524684051341000036186778649220314028315921467569912678011390982301815784926514940031455424263219392437985730847486552130907073696534631094294906510265936492658865929138746080281780367727020089001073814360987016233810073274421009118874911457147939398791659693448946383850000449467732367966112597374750749981511734735826567600456446012997824452392979168784730361693656460654511982493869162879839119917591879721957725963971279397306598394913808156358379599588098767309248249114901971268258346443281230613942658123459843659296896598901331281737071989103400388394628994885216103038286436766380267885316862829605206261448601761029056178341126201690832123351428944280185311990655302974721573346003984646925752848082412815041120891624437708950916489981102793165916562745022203374270304558762019226117898477614044402745979966555844270515981667602914338467841590307795047597121773491113262475167818038550996355073766445342662958667378758678651738581394499096654266207634474654199426545512497459422568243281678257433470348857874913156215235026202390128719401478256851099358536675830035331127365792904765224043867579686382493425021269207028895678392343418587784967219277017632610976655752665284279003526365994160022181540405601366077202875315667255601606715124025583228992944101258257920408628857392001725546092011365343206399480517469383327987319578524038726588754327174719698448852898058253560492202563904255763326432120872376441869704312917074310486086989088622029351846718767093623740130655794381704842092322597586112202521580421643405494348364854660316208122781660926377613013376101183868413447049031906462233015508452834684458272671456423506519609500061891765898512202663036995009953427092724980769525127736696814244038147247903842662369652180475713630997553346838468639930310394040703336992850026804312430537939574876194660704440646718948826826104716827700344786368914615931948541342911355334361188970690227811324352239011504002279705080689249329593281815259067357674960225818520902293762801961763336367642100191467350576545319246204530621607116293259007984407108355097079088925227030121961218476359298366116476271853730650354907181542910801460188780413512552891209120992345116855381076606735701102334819141622303088047822219600435190216412028974445777809521518545243908997652746207811820466799033904081022942696586796567201765936681192212474504229013154365101691259758726395637732539123534669589425920965356548226966945960505768140313968262673616485604617392695850949999224748748035655549454907257191662372214142495579726487070780780169677979249066218227324312372922707416576013920195035394863761 34804141543659952951728596693969911491424708176388102816141465647025270245655232846998596726154888587668368605742995308350900032569948236340360400257516143538575121115768117985878626941878004918901837302379087244607034592017795889062552721310465109159219043427194107926183940184188772195765803718783581540571731881323002782628209641432811878670810672659025896892383269495690330375985200987037524489776767064278576673736067421851865864158753303982955757128366418411180356040718688895448603443030469836422099520687623620764411323272043378016257284385259094047230015702733023997734030685768405904219250478030078997904389199877117051366673084432958996287582331532638272197453998087167280133528370395773421998821401427197224257137395350388168922831277881029996383158344735522360761287350202583717429663064235086015392609309576328114862355236732512537013667604363779662875095902934514571968183038740453007898426402614967216032710037762261919681986569859857706179211663589266037193620701490326470074657139202309873785654389999659804899023471506040695962629768562143576312070827045630183779733026729279537784963507252152014656509949975564313141904954080496705893071833238180332909907172074079576141295994283584987521057209383130167360795631084682748675220378422805881563167062925234507801336515772116411272279526189724350419445647348450461883570739890908474839316121504299979987459953683602205439394246911615459406452580476145734628957431381947071165847567668083757814326179471801064926621451731031028437797207502743706404320354801779295706004171945652733587444948082405394578293704801722289152521062497238010183264081814145155057692260816163923371120288488317779828004085221735198452114619684681081181048932256737800999550171860604346243468823422032533084021609705018486244009181507322289398798351360238303652951054778406284517582601185201206641982823154090224636896212814095023515851445680017649781446348271961498053489605080425500587680126017764324172008508394550518915214447631160863064032820325149867169806535967008642152450575650921064653573362846193842376587073571383117548800503450755380715517678353087810355869229559597337272969236823572364772824529046263340475510163496294487749600169012701103643689671483050099242831248131682200137770548380631953775550718916190356437370075826948306054644032813422854787567601930047998765392300495250188091700845090845969685285603037145340155668375798651666504083141186280632156262538196685624129194261445729553255486036818444258045684403415861519847747756837804106235319127499221192441489215785519392048077253152190367386835637314713713151001188942268485013415190686610260180513508531354556237809449553763681361930812453827612670240390213780905637994921943408465367415595590944854743487537737618372569193831832924602423326049795334991941987870881561228590496443854309712051388008108249802774884875541066200458034950719963924256140404048707812662133389253365251053793203010404243 56314283966904036230151627726042402147432967226431019420483669668055863688998839499214943447039252416769730917953892961452262794546614367350264722390625720242002715914516398277199889299591344089802450009763980254935149926653814618313314752272367770138122583553327540180392965103099055109489219739086767166677184120247770743152893692773811914857589321879339925208304737065603008387376183288853309416291707095734000936955459859837596711645305434890029453662997512706086866306655181554314532581776550118202467247707712621838225684259059611826330558806268212922141472850672422789393724134714789754219699945762446964016986574627867032878407820259526596744028344530462724590433166871897641827184831050285404492690564307036344174729275072345894886802557278336594778072152891880740360875448969892965678777966206354273739052590806942057520478696576171833910266505695061399947085006334902966597177923956556046184863168995235101349572867367468181130588330888913884520337865280098160545049645770511782065312442177031447131658374646585557747105884321081816854254206271094492802051929838796100342478048932653808089522269271378132554987564019967059121871509924767221874739436152518800751497479869127173263069485396847462688875247934126522434562076427345707342599137101457620144561562021888774008970990426315837817792023649146918662727325605883932232428614804064690074342323894428699388938210534701563976070076946946586772245485241369778496537117764440496187116774696979436206669598059586032145898469363642005093549872787022709930686348961801477246409773311729936462760615338007001293417730384951282096622320755158418812121473815870701149703626159370322851637757871645767147582609260461787206441794404379530033946990510298293202114076116367672675589695798474402788334526779328972330998270129351641245517118453862043783606849160111126609905198771313409163563244797495718985261067474411231638633106606395262794822449455829911500538636986887733603188578852448782444679964818057038524714509522926761576235483362144877123233628691989411677578312347735308691720610750036504746239254047096748546353850289224020645828072393791147348719256363909767810908811699767025477265175765212167301614880323994832535969083628633052185032582838384460431801938359493524490009559884634233480631408165519949719185334894305981014869851334325148550369563693384366407492491962600764637020091295376591292401896296153324562776730895730755429310171308241850632621836562802100401047992096084460437028947619904446826097915968752728968740101954659487311925863200323527260630838088607439870296853587380583798864611760491522672519734186177482666161398498430726979547412612377498934396246120965447298612004666302116899253544578882596897753648339046197906539130260534280664452894285845339515154337601064916391588723411820596559380566732511227815245191889965261506295265299912174989027371120792687528815730889641903505206622276032125035056096669941264973988238405268004 91118425510563989181880224420012313638857675402819122236625135315081133934654072346213540173194141004438099523696888269803162827116562603690625122648141863780577837030284516263078516241469349008704287312143067499542184518671610507375867473582832879297341626980521648106576905287287827305255023457870348707248916001570773525781103334206623793528399994538365822100688006561293338763361384275890833906068474160012577610691527281689462575804058738872985210791363931117267222347373870449763136024807019954624566768395336242602637007531102989842587843191527306969371488553405446787127754820483195658438950423792525961921375774504984084245080904692485593031610676063100996787887164959064921960713201446058826491511965734233568431866670422734063809633835159366591161230497627403101122162799172476683108441030441440289131661900383270172382833933308684370923934110058841062822180909269417538565360962697009054083289571610202317382282905129730100812574900748771590699549528869364197738670347260838252139969581379341320917312764646245362646129355827122512816883974833238069114122756884426284122211075661933345874485776523530147211497513995531372263776464005263927767811269390699133661404651943206749404365479680432450209932457317256689795357707512028456017819515524263501707728624947123281810307506198432249090071549838871269082172972954334394115999354694973164913658445398728679376398164218303769415464323858562046178698065717515513125494549146387567352964342365063194020995777531387097072519921094673033531347080289766416335006703763580772952413945257382670050205563420412395871711435186673571249143383252396428995385555630015856207395886975534246222758046359963546975586694482196985658556414089060611214995922767036094201664247976972018919058519220506935872356136484347458575007451636673930644315469814100347436557903938517411127487799956514615805546067951585943622157280288506255154484552286412912576268797727791409554028242067313234190868704870213106616688473212607557439928957154087624640268303687294744293040164658998053830028887998656373345293973596230347122826327618479866095154353739979401361345750746878957704588485923507105083878048523339390250089704811475507777125043820289320285569252641334155828722254321434559674633186491175724627780108265266187256182127081710306156555410721254287069513884147748003337937165623432365172884792457850952728720936386222560977687499333298664718445106694382421933393312494522482788884374759487724530242253541814013692514984438348704871782319384614248816487858792463593547244990699544719702120053874126831918374106739570951185700249075205235823520923128445967679576589185040987160060921143732055172205695674729128660542817120129729569493934792663502535748570282454663273954725851479135407940432023463712084348169433989518814914773207155588501368437614072456405741635744274973557683273408161977763912246661858887986850681609605827761347026324739937697189485923306516027781441415672247 147432709477468025412031852146054715786290642629250141657108804983136997623652911845428483620233393421207830441650781231255425621663176971040889845038767584022580552944800914540278405541060693098506737321907047754477334445325425125689182225855200649435464210533849188286969870390386882414744243196957115873926100121818544268933997026980435708385989316417705747308992743626896347150737567564744143322360181255746578547646987141527059287449364173763014664454361443823354088654029052004077668606583570072827034016103048864440862691790162601668918401997795519891512961404077869576521478955197985412658650369554972925938362349132851117123488724952012189775639020593563721378320331830962563787898032496344230984202530041269912606595945495079958696436392437703185939302650519283841483038248142369648787218996647794562870714491190212229903312629884856204834200615753902462769265915604320505162538886653565100268152740605437418731855772497198281943163231637685475219887394149462358283719993031350034205282023556372768048971139292830920393235240148204329671138181104332561916174686723222384464689124594587153964008045794908279766485078015498431385647973930031149642550705543217934412902131812333922667434965077279912898807705251383212229919783939374163360418652625721121852290186969012055819278496624748086907863573488018187744900298560218326348427969499037854988000769293157378765336374753005333391534400805508632950943550958885291622031666910828063540081117062042630227665375590973129218418390458315038624896953076789126265693052725382250198823718569112606512966178758419397165129165571624853345765704007554847807507029445886557357099513134904569074395804231609314123169303742658772864998208493440141248942913277334387403778324093339691594648215018981338660690663263676430906005721766025571889832588267962391220164753098628537737392998727828024969109312749081662607418347762917486793117658892808175371091247183621321054566879054200967794057283722661889061368438030664595964643466677014386216503787049439621416273793350987465507607200346391682037014584346266851869065581665576614641508204029203422007173823140670105053307742287416872894786860223106415727354880576687675078739924144284152821538336269967208013754837159819020106435124850669249117789668149900420736813535247230255875740745615560268084383735482073151888306729316816731580377284420451717365741027681599152270089395629451989281221837590113177362703483802764333421506211322289824931290245637898474129543932058253151697880235353366977785227960747123080859170853899868246962750891962734271788670960326951534984564860835696758496040657314623450345737987683471714139608333756109554106601941795694575959154821786431846468747479371546099433502218621500861180493856112013416072393326309309051599502507035054435206503496618976185060749004346583684220986827634240235063978538708074152752939617782651575515666412499247731266553648600772062732245582593247781001769679820940251 238551134988032014593912076566067029425148318032069263893733940298218131558306984191642023793427534425645929965347669501058588448779739574731514967686909447803158389975085430803356921782530042107211024634050115254019518963997035633065049699438033528732805837514370836393546775677674709719999266654827464581175016123389317794715100361187059501914389310956071569409680750188189685914098951840634977228428655415759156158338514423216521863253422912635999875245725374940621311001402922453840804631390590027451600784498385107043499699321265591511506245189322826860884449957483316363649233775681181071097600793347498887859738123637835201368569629644497782807249696656664718166207496790027485748611233942403057475714495775503481038462615917814022506070227597069777100533148146686942605201047314846331895660027089234852002376391573482402286146563193540575758134725812743525591446824873738043727899849350574154351442312215639736114138677626928382755738132386457065919436923018826556022390340292188286345251604935714088966283903939076283039364595975326842488022155937570631030297443607648668586900200256520499838493822318438426977982592011029803649424437935295077410361974933917068074306783755540672071800444757712363108740162568639902025277491451402619378238168149984623560018811916135337629586002823180335997935123326889456827073271514552720464427324194011019901659214691886058141734538971309102806998724664070679129641616676400804747526216057215630893045459427105824248661153122360226290938311552988072156244033366555542600699756488963023151237663826495276563171742178831793036840600758298424594909087259951276802892585075902413564495400110438815297153850591572861098755998224855758523554622582500752463938836044370481605442572070311710513706734239488274533046799748023889481013173402699502534148058082062738656722657037145948864880798684342640774655380700667606229575628051423741947602211179221087947360044911412730608595121121514201984925988592874995678056911243272153404572423831102010856772090736734365709313958009985519337636088345048055382308557942497198991891909284056480736662557769182823368519573887549062757896228210923977978664908746445805977444585388163182855864967964573473107107588911301363842477091481253579781068311341844973745569776415166607992995662328940562032296156336814555153897619629821155226243894940249096753262076878302670094461964067821713247776894962750653999666944284495599296096796297286816210390586081777549461532499179712487822058916496601856569662554737981226601715819539586674406415844599412966664870945836861103707045067066522486170265109910901994319561580443069418025314576868512701299669254899841609278807637470423704619697638906561576038241414164209601969250788903955524454448581963492551480333758332772763683850676469043954021418269826131773562117441960656140626728463378515208621661812116236130516851864444510463502517094108853559027900674925512000429435068516554297029551121236612498 385983844465500040005943928712121745211438960661319405550842745281355129181959896037070507413660927846853760406998450732314014070442916545772404812725677031825738942919886345343635327323590735205717761955957163008496853409322460758754231925293234178168270048048220024680516646068061592134743509851784580455101116245207862063649097388167495210300378627373777316718673493815086033064836519405379120550788836671505734705985501564743581150702787086399014539700086818763975399655431974457918473237974160100278634800601433971484362391111428193180424647187118346752397411361561185940170712730879166483756251162902471813798100472770686318492058354596509972582888717250228439544527828620990049536509266438747288459917025816773393645058561412893981202506620034772963039835798665970784088239295457215980682879023737029414873090882763694632189459193078396780592335341566645988360712740478058548890438736004139254619595052821077154845994450124126664698901364024142541139324317168288914306110333323538320550533628492086857015255043231907203432599836123531172159160337041903192946472130330871053051589324851107653802501868113346706744467670026528235035072411865326227052912680477135002487208915567874594739235409834992276007547867820023114255197275390776782738656820775705745412308998885147393448864499447928422905798696814907644571973570074771046812855293693048874889659983985043436907070913724314436198533125469579312080585167635286096369557882968043694433126576489148454476326528713333355509356702011303110781140986443344668866392809214345273350061382395607883076137920937251190201969766329923277940674791267506124610399614521788970921594913245343384371549654823182175221925301967514531388552831075940893712881749321704869009220896163651402108354949258469613193737463011700320387018895168725074423980646350025129876887410135774486602273797412170665743764693449749268836993975814341228740719870072029263318451292095034051663162000175715169778983272315536884739425349273936749369215890508116397073275877786173987125587751360972984845243288691439737419323142288764050860957490949633095378170761798386245375693397028219167811203970498340850873451768969552221704799465964850857934604892108857625928645925181268571856231928641072599887503436192514222863359444565067028729809197576170817908036901952374823238281355111894307114550624257065828333639361298754387460202991749420865517866290592202643280888781874608776658800280100051149631896797404067374392822744817610961951602848554855008267542790091348204386943780286709755265586698499281213627621837799595375495716027393474021154829970746598752815602237757692868371052564551984415439277588655951163385409579266118280578852460692993422506988893535755701402753007525456385634942438075505967552727084642081815283353183504098389227921766445107958622866446307239824847715291012755443685640350824310283269791482227162039018183506608101290294454323526284063161680651109802078031320801057552749 624534979453532054599856005278188774636587278693388669444576685579573260740266880228712531207088462272499690372346120233372602519222656120503919780412586479628897332894971776146992249106120777312928786590007278262516372373319496391819281624731267706901075885562590861074063421745736301854742776506612045036276132368597179858364197749354554712214767938329848886128354244003275718978935471246014097779217492087264890864324015987960103013956209999035014414945812193704596710656834896911759277869364750127730235585099819078527862090432693784691930892376441173613281861319044502303819946506560347554853851956249970701657838596408521519860627984241007755390138413906893157710735325411017535285120500381150345935631521592276874683521177330708003708576847631842740140368946812657726693440342772062312578539050826264266875467274337177034475605756271937356350470067379389513952159565351796592618338585354713408971037365036716890960133127751055047454639496410599607058761240187115470328500673615726606895785233427800945981538947170983486471964432098858014647182492979473823976769573938519721638489525107628153640995690431785133722450262037558038684496849800621304463274655411052070561515699323415266811035854592704639116288030388663016280474766842179402116894988925690368972327810801282731078450502271108758903733820141797101399046841589323767277282617887059894791319198676929495048805452695623539005531850133649991210226784311686901117084099025259325326172035916254278724987681835693581800295013564291182937385019809900211467092565703308296501299046222103159639309663116082983238810367088221702535583878527457401413292199597691384486090313355782199668703505414755036320681300192370289912107453658441646176820585366075350614663468233963112622061683497957887726784262759724209868032068571424576958128704432087868533610067172920435467154596096513306518420074150416875066569603865764970688322081251250351265811337006446782271757121297229371763909260908411880417482260517208902773788314339218407930047968522908352834901709370958504182879377036487792801631700231261249852849400233689576114833319567569068744212970915768230569100198709264828852116677715998027682244051353014040790469860073431099035753514092569935698709020122326179668571747534359196608929220980233636722804859905111379940333058289189378392178974741715462340794519197314925086901438177057057554664955817242578765643185554953297280555726159104375954897076397337965842287383485844923854355243997323449773661765051456864837205344829329430988659599826296429672002543098694180292492783636456479202761094459996507325095080657500747135163818200762286396367141420497116738946843555792772664217216736541985198550099599554998545230307699965303372003796429411910089391020038998519033060842974854578967203859973142343249340036271239732184983888267895965474443754391270652307302162940546413786643346671672502520700600716954849322354998451796063591115719626356375060871922294165247 1010518823919032094605799933990310519848026239354708074995419430860928389922226776265783038620749390119353450779344570965686616589665572666276324593138263511454636275814858121490627576429711512518646548545964441271013225782641957150573513550024501885069345933610810885754580067813797893989486286358396625491377248613805041922013295137522049922515146565703626202847027737818361752043771990651393218330006328758770625570309517552703684164658997085434028954645899012468572110312266871369677751107338910228008870385701253050012224481544121977872355539563559520365679272680605688243990659237439514038610103119152442515455939069179207838352686338837517727973027131157121597255263154032007584821629766819897634395548547409050268328579738743601984911083467666615703180204745478628510781679638229278293261418074563293681748558157100871666665064949350334136942805408946035502312872305829855141508777321358852663590632417857794045806127577875181712153540860434742148198085557355404384634611006939264927446318861919887802996793990402890689904564268222389186806342830021377016923241704269390774690078849958735807443497558545131840466917932064086273719569261665947531516187335888187073048724614891289861550271264427696915123835898208686130535672042232956184855551809701396114384636809686430124527315001719037181809532516956704745971020411664094814090137911580108769680979182661972931955876366419937975204064975603229303290811951946972997486641981993303019759298612405402733201314210549026937309651715575594293718526006253244880333485374917653569851360428617711042715447584053334173440780133418144980476258669794963526023691814119480355407685226601125584040253160237937211542606602159884821300660284734382539889702334687780219623884364397614514730416632756427500920521725771424530255050963740149651382109350782112998410497477308694922069428393508683972262184767600166143903563579680106199429041951323279614584262629101480833934919121472944541542892533223948765156907609791145652143004204847334805003323846309082339960489460731931489028122665727927530220954842520025300713806891183322671493004081365955314119906367943987398380304169207605679725568446685550249387043517317864898725074752182288724964399439273838507554940948763398779556075183726873419472288665545300665452614057481282197848369960241564201630460329853609769455345143454380753420540799475811445014867947566663444283509476147155940561444508033713152613697356497389115474184180889912298247177988814934411725264613606311873104748134920677635375603380113006184937589241597975393920114621436051854698477121853470528479925051404099499950766055958455154767419705972481532178224432211743936049626796002660265777402560292548421052219201235721004774756803954868295724333458114504486585787927616936394250557043477240732477261802716347690807850334575135790322159045404026095992942513764856697056434828898834541538884107325056139616809321978080126752796370736158453092192723351717996 1635053803372564149205655939268499294484613518048096744439996116440501650662493656494495569827837852391853141151690691199059219108888228786780244373550849991083533608709829897637619825535832289831575335135971719533529598155961453542392795174755769591970421819173401746828643489559534195844229062865008670527653380982402221780377492886876604634729914504033475088975381981821637471022707461897407316109223820846035516434633533540663787178615207084469043369591711206173168820969101768281437028976703660355739105970801072128540086571976815762564286431940000693978961133999650190547810605743999861593463955075402413217113777665587729358213314323078525483363165545064014754965998479443025120106750267201047980331180069001327143012100916074309988619660315298458443320573692291286237475119981001340605839957125389557948624025431438048701140670705622271493293275476325425016265031871181651734127115906713566072561669782894510936766260705626236759608180356845341755256846797542519854963111680554991534342104095347688748978332937573874176376528700321247201453525323000850840900011278207910496328568375066363961084493248976916974189368194101644312404066111466568835979461991299239143610240314214705128361307119020401554240123928597349146816146809075135586972446798627086483356964620487712855605765503990145940713266337098501847370067253253418581367420529467168664472298381338902427004681819115561514209596825736879294501038736258659898603726081018562345085470648321657011926301892384720519109946729139885476655911026063145091800577940620961866352659474839814202354757247169417156679590500506366683011842548322420927436984013717171739893775539956907783708956665652692247863287902352255111212767738392824186066522920053855570238547832631577627352478316254385388647305988531148740123083032311574228340238055214200866944107544481615357536582989605197278780604841750583018970133183545871170117364032574529965850073966107927616206676242770173913306801794132360645574389870308354554916792519186553212933371814831990692795391170102889993211002042764415323022586542751286550566656291417012247607837400933524382864119338859755628949404367916870508577685124401548277069287568670878939515544612255719824000152953366408443253649968885724959224646931261232616081217886525534302175418917386393577788703018530753580022639304595325231796139662651695678507442237652868502569532903383906023049152661702109237842000234192817528568594432894727081316471564375757222101533232812257861498926378657768737941953479750007066364262979939302614609591784696669574212607405072508333901238216313467035805020132061600247085929874159217441163786847392978648917171275767536708713844012739202250975952659892103419597449508935686308146760600384280205813724478153503005618848770591790973217760903450383075726601838987587422992834222843031755796602799795296748300244676705403110843078175570507044059584708042010988939164320429876190343912090362514828153064645645883243 2645572627291596243811455873258809814332639757402804819435415547301430040584720432760278608448587242511206591931035262164745835698553801453056568966689113502538169884524688019128247401965543802350221883681936160804542823938603410692966308724780271477039767752784212632583223557373332089833715349223405296019030629596207263702390788024398654557245061069737101291822409719639999223066479452548800534439230149604806142004943051093367471343274204169903072324237610218641740931281368639651114780084042570583747976356502325178552311053520937740436641971503560214344640406680255878791801264981439375632074058194554855732569716734766937196566000661916043211336192676221136352221261633475032704928380034020945614726728616410377411340680654817911973530743782965074146500778437769914748256799619230618899101375199952851630372583588538920367805735654972605630236080885271460518577904177011506875635893228072418736152302200752304982572388283501418471761721217280083903454932354897924239597722687494256461788422957267576551975126927976764866281092968543636388259868153022227857823252982477301271018647225025099768527990807522048814656286126165730586123635373132516367495649327187426216658964929105994989911578383448098469363959826806035277351818851308091771827998608328482597741601430174142980133080505709183122522798854055206593341087664917513395457558441047277434153277564000875358960558185535499489413661801340108597791850688205632896090368063011865364844769260727059745127616102933747456419598444715479770374437032316389972134063315538615436204019903457525245070204831222751330120370633924511663488101218117384453460675827836652095301460766558033367749209825890629459405894504512139932513428023127206725956225254741635789862432197029192142082894949010812889567827714302573270378133996051723879722347405996313865354605021790310279606011383113881251042789609350749162873696763225977369546405983897809580434336595209408450141595364243118454849694327356309410731297480099500207059796724033888017936695661141073032755880630834821482239124708492342853243541385271311851280463182600334919100841482299479696984025706803743027329708537124476188303253571087098526456331085988743838240619364438008548964552392640246950808590917649123738780722114988106035553506552070834967628032974867675775637072978772317781653099634448935001251484806106076431927983037128679947584400850950569467332662137849265178403444742226530681182291789392116196790655745265669520348711221627192273224190992264080611046701614670684701739866360052308799547181026294644968132722026508560188599715338166937564284945183465699747036695930117672595931206553365460181095395707979280644763470808741862516753355220184651840649668710171407312921517404339148501538057936268007492204636698208727367468317946927623808203863641703935113800684557418167546118761845199322844293187190470259807899513004469341585598468815367067128555973642407956317096708461098673281245257368997601239 4280626430664160393017111812527309108817253275450901563875411663741931691247214089254774178276425094903059733082725953363805054807442030239836813340239963493621703493234517916765867227501376092181797218817907880338072422094564864235359103899536041069010189571957614379411867046932866285677944412088413966546684010578609485482768280911275259191974975573770576380797791701461636694089186914446207850548453970450841658439576584634031258521889411254372115693829321424814909752250470407932551809060746230939487082327303397307092397625497753503000928403443560908323601540679906069339611870725439237225538013269957268949683494400354666554779314984994568694699358221285151107187260112918057825035130301221993595057908685411704554352781570892221962150404098263532589821352130061200985731919600231959504941332325342409578996609019976969068946406360594877123529356361596885534842936048193158609763009134785984808713971983646815919338648989127655231369901574125425658711779152440444094560834368049247996130527052615265300953459865550639042657621668864883589713393476023078698723264260685211767347215600091463729612484056498965788845654320267374898527701484599085203475111318486665360269205243320700118272885502468500023604083755403384424167965660383227358800445406955569081098566050661855835738846009699329063236065191153708440711154918170931976824978970514446098625575945339777785965240004651061003623258627076987892292889424464292794694094144030427709930239909048716757053917995318467975529545173855365247030348058379535063934641256159577302556679378297339447424962078392168486799961134430878346499943766439805380897659841553823835195236306514941151458166491543321707269182406864395043726195761520030912022748174795491360100980029660769769435373265265198278215133702833722010501217028363298108062585461210514732298712566271925637142594372719078529823394451101332181843829946771848539663770016472339546284410561317336066348271607013292368156496121488670056305687350407854761976589243220441230870067475973063725551271800937711475450126751256758176266127928022598401847119474017347166708678883233004079848145045663498656279112905041346696880938695488646803525618654659622777756163976693728372964705346006655394062240886534848698005369046249338651634724438596369269803451892254069353425775997303071361675738939044260233047624468757772110435425274781548450153933754334475490381814799551374416245444976419348209750886222286843278107127309641426742450244454439450134723117370921849348988655094420691768104129339991611414156772810991314542345329431581068522500953554480404600089965315527299994122625804276890037094993400758438830012566983746817353477314821481064767729307880076755260247118219107093621068278004723428707351782414421510497823485468800518340686078850378006883930465480691522536793518780261199301915364644994619592593431867175662918742591180039848629658053523409078117495137962837832507440620551461188109398322014643484482 6926199057955756636828567685786118923149893032853706383310827211043361731831934522015052786725012337414266325013761215528550890505995831692893382306929076996159873377759205935894114629466919894532019102499844041142615246033168274928325412624316312546049957324741827011995090604306198375511659761311819262565714640174816749185159068935673913749220036643507677672620201421101635917155666366995008384987684120055647800444519635727398729865163615424275188018066931643456650683531839047583666589144788801523235058683805722485644708679018691243437570374947121122668241947360161948131413135706878612857612071464512124682253211135121603751345315646910611906035550897506287459408521746393090529963510335242939209784637301822081965693462225710133935681147881228606736322130567831115733988719219462578404042707525295261209369192608515889436752142015567482753765437246868346053420840225204665485398902362858403544866274184399120901911037272629073703131622791405509562166711507338368334158557055543504457918950009882841852928586793527403908938714637408519977973261629045306556546517243162513038365862825116563498140474864021014603501940446433105484651336857731601570970760645674091576928170172426695108184463885916598492968043582209419701519784511691319130628444015284051678840167480835998815871926515408512185758864045208915034052242583088445372282537411561723532778853509340653144925798190186560493036920428417096490084740112669925690784462207042293074775009169775776502181534098252215431949143618570845017404785090695925036068704571698192738760699281754864692495166909614919816920331768355390009988044984557189834358335669390475930496697073072974519207376317433951166675076911376534976239623784647237637978973429537127149963412226689961911518268214276011167782961417136295280879351024415021987784932867206828597653317588062235916748605755832959780866184060452081344717526709997825909210176000370149126718747156526744516489866971256410823006190448844979467036984830507354969036385967254329248806763137114136758307152431772532957689251459749101029509669313293910253127582656617682085809520365532483776832170752467241683608821442165822885184192266575745329981949740648366615996783341131736921929257738646902344870831804183972436786091161237444687188230990667204237431484867121745129062848976075389143328838573493195234299109274863848542363408311910228397738334605285044957714476937400639594648889718645878890933178011678959474897783054907096262798955676066642407947308363185929960035356709091376469843995700043920213703953837285959510478051458089628711100668892647342164374910498992999741159321734394562633026199954123899011107962691726097998240785630222927284482663100261407100896786929278500933989795409062577208889840350689517990028122167009245708154396797305630692134329122395457650594203337679366848034126490193942436886619057645922726642104184509190215256522338776145246051111605245788824537329012559861390643579383641085721 11206825488619917029845679498313428031967146308304607947186238874785293423079148611269826965001437432317326058096487168892355945313437861932730195647169040489781576870993723852659981856968295986713816321317751921480687668127733139163684516523852353615060146896699441391406957651239064661189604173400233229112398650753426234667927349846949172941195012217278254053417993122563272611244853281441216235536138090506489458884096220361429988387053026678647303711896253068271560435782309455516218398205535032462722141011109119792737106304516444746438498778390682030991843488040068017471025006432317850083150084734469393631936705535476270306124630631905180600734909118791438566595781859311148354998640636464932804842545987233786520046243796602355897831551979492139326143482697892316719720638819694537908984039850637670788365801628492858505698548376162359877294793608465231588263776273397824095161911497644388353580246168045936821249686261756728934501524365530935220878490659778812428719391423592752454049477062498107153882046659078042951596336306273403567686655105068385255269781503847724805713078425208027227752958920519980392347594766700480383179038342330686774445871964160756937197375415747395226457349388385098516572127337612804125687750172074546489428889422239620759938733531497854651610772525107841248994929236362623474763397501259377349107516382076169631404429454680430930891038194837621496660179055494084382377629537134218485478556351072720784705249078824493259235452093570683407478688792426210264435133149075460100003345827857770041317378660052204139920128988007088303720292902786268356487988750996995215255995510944299765691933379587915670665542808977272873944259318240930019965819546167268550001721604332618510064392256350731680953641479541209445998095119970017291380568052778320095847518328417343329952030154334161553891200128552038310689578511553413526561356656769674448873946016842488673003157717844080582838138578269703191162686570333649523342672180915209731012975210474770479676830613087200483858424232710244433139378211005859205775797241316508654974702130635029252518199248765487856680315798130740339887934347207169582065130962064392133507568395307989393752947317825465294893963084653557738933072690718821134791460207486783338822955429263573507234936759375814482488624973378460505004577512537455467346733743621620652798833586691776847892268359619520448096291736952014010894334695065227100684064233965802753004910364548523005249200130506092542670425734107779309024011803512068237948125040035531627860726648277274052823380889670697233601622447127746764464875814520299735281947538671452670121193354882337841120529675472915351718100451703992052211970980338162361143905148385594555058073413786005916241622765111028487851607635809764048840475647683637576064794603086980187387722117940566149949491135188562029480050924821585645384695364549038844914575862185223363546249568083621331977949564021049500041901398284570203 18133024546575673666674247184099546955117039341158314330497066085828655154911083133284879751726449769731592383110248384420906835819433693625623577954098117485941450248752929788554096486435215881245835423817595962623302914160901414092009929148168666161110104221441268403402048255545263036701263934712052491678113290928242983853086418782623086690415048860785931726038194543664908528400519648436224620523822210562137259328615856088828718252216642102922491729963184711728211119314148503099884987350323833985957199694914842278381814983535135989876069153337803153660085435400229965602438142139196462940762156198981518314189916670597874057469946278815792506770460016297726026004303605704238884962150971707872014627183289055868485739706022312489833512699860720746062465613265723432453709358039157116313026747375932931997734994237008747942450690391729842631060230855333577641684616498602489580560813860502791898446520352445057723160723534385802637633147156936444783045202167117180762877948479136256911968427072380949006810633452605446860535050943681923545659916734113691811816298747010237844078941250324590725893433784540994995849535213133585867830375200062288345416632609834848514125545588174090334641813274301697009540170919822223827207534683765865620057333437523672438778901012333853467482699040516353434753793281571538508815640084347822721390053793637893164183282964021084075816836385024181989697099483911180872462369649804144176263018558115013859480258248600269761416986191822898839427832410997055281839918239771385136072050399555962780078077941807068832415295897622008120640624671141658366476033735554185049614331180334775696188630452660890189872919126411224040619336229617464996205443330814506187980695033869745660027804483040693592471909693817220613781056537106312572259919077193342083632451195624171927605347742396397470639805884384998091555762572005494871278883366767500358084122017212637799721904874370825099328005549526114014168877019178628990379657011422564700049361177729099728483593750201337242165576664482777390828629670754960235285466554610418908102284787252711338327719614297971633512486550597982023496755789372992467249323228640137463489518135956356009749730658957202216823220823300460083803904494902793571577551368724228026011186419930777744666421626497559611551473949453849648333416086030650701645843018485469195162241898602005245630602964904565405810768674352653605543224413711105991617242245644762227902693419455619268048155806572734950617734097293709269059368512603444707792120740079451841564680485563233563301432347760325944702291339775088928839786313513299476441269273066015303147393309006236852228492367199013349958886081926919336694634080599569462040692077664095489047868822848583125131463115800546477879729802819009756994872444989268268199123725482437837981925455619932997983617625382504466366669982467508372026799549058229060171098200961368609597361173329410156515278576580910890685480781925655924 29339850035195590696519926682412974987084185649462922277683304960613948577990231744554706716727887202048918441206735553313262781132871555558353773601267157975723027119746653641214078343403511867959651745135347884103990582288634553255694445672021019776170251118140709794809005906784327697890868108112285720790511941681669218521013768629572259631610061078064185779456187666228181139645372929877440856059960301068626718212712076450258706639269668781569795441859437779999771555096457958616103385555858866448679340706023962071118921288051580736314567931728485184651928923440297983073463148571514313023912240933450911946126622206074144363594576910720973107505369135089164592600085465015387239960791608172804819469729276289655005785949818914845731344251840212885388609095963615749173429996858851654222010787226570602786100795865501606448149238767892202508355024463798809229948392772000313675722725358147180252026766520490994544410409796142531572134671522467380003923692826895993191597339902729009366017904134879056160692680111683489812131387249955327113346571839182077067086080250857962649792019675532617953646392705060975388197129979834066251009413542392975119862504573995605451322921003921485561099162662686795526112298257435027952895284855840412109486222859763293198717634543831708119093471565624194683748722517934161983579037585607200070497570175714062795587712418701515006707874579861803486357278539405265254839999186938362661741574909187734644185507327424763020652438285393582246906521203423265546275051388846845236075396227413732821395456601859272972335424885629096424360917573927926722964022486551180264870326691279075461880563832248805860538461935388496914563595547858395016171262876981774737982416638202364170092196739391425273425551173358430059779151657076329863640487129971662179479969524041515257557377896730559024531006012937036402245341083558908397840240023537174806958068034055126472725062592214905682166144127795817205331563589512278513722329192337774431062336388203870208160424363288537726024000897193021823968007881760819441061263795926927563076986917887740590845918863063459490192802348728722363384690136580162049314454190704529596997086531264345403502677976782667511717183907954017822736977185621614706369011576211011364834141849194351251901358385873374094040098922832310153337993598568106168992576762107089847961075485293782093522871324524085853907060411304667616437559108776333092301306479610564980907603784004142273297355937078827493288159831401488578083380316115512945740245780114983469425407133840507616124813237431023178303913786902835693304662128033599211723216811737467973268586663888574693349022042671928701676986533630911388906605060937731823184597226049690044105942236634589041373085880911574965731337438628773805835348092672905844263918328569418025369647573560499147933108760571066495846720907289094017411494913607267905085674063146591973143610741413031488493228140601960390727382180210226127 47472874581771264363194173866512521942201224990621236608180371046442603732901314877839586468454336971780510824316983937734169616952305249183977351555365275461664477368499583429768174829838727749205487168952943846727293496449535967347704374820189685937280355339581978198211054162329590734592132042824338212468625232609912202374100187412195346322025109938850117505494382209893089668045892578313665476583782511630763977541327932539087424891486310884492287171822622491727982674410606461715988372906182700434636540400938804349500736271586716726190637085066288338312014358840527948675901290710710775964674397132432430260316538876672018421064523189536765614275829151386890618604389070719626124922942579880676834096912565345523491525655841227335564856951700933631451074709229339181627139354898008770535037534602503534783835790102510354390599929159622045139415255319132386871633009270602803256283539218649972150473286872936052267571133330528334209767818679403824786968894994013173954475288381865266277986331207260005167503313564288936672666438193637250659006488573295768878902378997868200493870960925857208679539826489601970384046665192967652118839788742455263465279137183830453965448466592095575895740975936988492535652469177257251780102819539606277729543556297286965637496535556165561586576170606140548118502515799505700492394677669955022791887623969351955959770995382722599082524710964885985476054378023316446127302368836742506838004593467302748503665765576025032782069424477216481086334353614420320828114969628618230372147446626969695601473534543666341804750720783251104545001542245069585089440056222105365314484657871613851158069194284909696050411381061799720955182931777475860012376706207796280925963111672072109830120001222432118865897460867175650673560208194182642435900406207165004263112420719665687185162725639126956495170811897322034493801103655564403269119123390304675165042190051267764272446967466585730781494149677321931219500440608690907504101986203760339131111697565932969936644018113489874968189577561675799214796637552515779676346730350537346471179271705140451929173638477361431123705288899326704386881445925953154516563777419344667060486604667220701413252408635739869728540404731254477906540881680524408277946562944935239390845328269125128996567780012370933705591572872286159801671409684598756870638419780592559043123317383895787339153474289428651259717829085657321221980783522487439083918548725255327208810297203459761541345511743651562443905893928695197847142748828718957653532366520194435310990087619403741179426245585191349123006205126677924622144448441546898688164486084803483276415979972894811545577514409870942051635872615557830725601239141537301285225289303713785533153811059483172166504548996712121443611067241447783562830220537662174112463042054051855863351573029180432145916726385953570962213390889756602389438294462665496965256772264107960582740971914742441645008506717182871281412862962135882051 76812724616966855059714100548925496929285410640084158885863676007056552310891546622394293185182224173829429265523719491047432398085176804742331125156632433437387504488246237070982253173242239617165138914088291730831284078738170520603398820492210705713450606457722687993020060069113918432483000150936623933259137174291581420895113956041767605953635171016914303284950569876121270807691265508191106332643742812699390695754040008989346131530755979666062082613682060271727754229507064420332091758462041566883315881106962766420619657559638297462505205016794773522963943282280825931749364439282225088988586638065883342206443161082746162784659100100257738721781198286476055211204474535735013364883734188053481653566641841635178497311605660142181296201203541146516839683805192954930800569351756860424757048321829074137569936585968011960838749167927514247647770279782931196101581402042603116932006264576797152402500053393427046811981543126670865781902490201871204790892587820909167146072628284594275644004235342139061328195993675972426484797825443592577772353060412477845945988459248726163143662980601389826633186219194662945772243795172801718369849202284848238585141641757826059416771387596017061456840138599675288061764767434692279732998104395446689839029779157050258836214170099997269705669642171764742802251238317439862475973715255562222862385194145066018755358707801424114089232585544747788962411656562721711382142368023680869499746168376490483147851272903449795802721862762610063333240874817843586374390021017465075608222842854383428422868991145525614777086145668880200969362459818997511812404078708656545579354984562892926619949758117158501910949842997188217869746527325334255028547969084778055663945528310274474000212197961823544139323012040534080733339359851258972299540893337136666442592390243707202442720103535857515519701817910259070896046444739123311666959363413841849972000258085322890745172030058800636463660293805117748424832004198203186017824315396098113562174033954136840144804442476778412694213578458868821038764645434276599117407994146464274034256258623028192520019557340424890613898091248055426750266136062533316565878231610049196657483691198485046816755086612522537240257588639208495729277858866146022984315574521146250755679470118319480248469138398244307799631671795118469955009403283166863039630996542699648891084392869189569432676345613952737113624889496961988838418342631263772176219855204865892189717900987463903814642867680730389937194053760096686425226129144834470599272612300309418780415494753244248795551058822622372301310118913580760315449110569580497899887702896540951249684566636783386238926536452542870753312859149188742114507844202475033108409886529763475577259753296117761207877634877623696409342404680076557368665568630335079956726960382621273888721220602740931293849835146524637458060111797045696406849789376272764870342446327254552555884582656155473133501734857784831672140245142346108178 124285599198738119422908274415438018871486635630705395494044047053499156043792861500233879653636561145609940089840703428781602015037482053926308476711997708899051981856745820500750428003080967366370626083041235577558577575187706487951103195312400391650730961797304666191231114231443509167075132193760962145727762406901493623269214143453962952275660280955764420790444952086014360475737158086504771809227525324330154673295367941528433556422242290550554369785504682763455736903917670882048080131368224267317952421507901570770120393831225014188695842101861061861275957641121353880425265729992935864953261035198315772466759699959418181205723623289794504336057027437862945829808863606454639489806676767934158487663554406980701988837261501369516861058155242080148290758514422294112427708706654869195292085856431577672353772376070522315229349097087136292787185535102063582973214411313205920188289803795447124552973340266363099079552676457199199991670308881275029577861482814922341100547916666459541921990566549399066495699307240261363157464263637229828431359548985773614824890838246594363637533941527247035312726045684264916156290460365769370488688991027303502050420778941656513382219854188112637352581114536663780597417236611949531513100923935052967568573335454337224473710705656162831292245812777905290920753754116945562968368392925517245654272818114417974715129703184146713171757296509633774438466034586038157509444736860423376337750761843793231651517038479474828584791287239826544419575228432263907202504990646083305980370289481353124024342525689191956581836866452131305514364002064067096901844134930761910893839642434506777778018952402068197961361224058987938824929459102810115040924675292574336589908639982346583830332199184255663005220472907709731406899568045441614735441299544301670705704810963372889627882829174984472014872629807581105389847548394687714936078486804146525137042448136590655017618997525386367245154443482439679644332444806894093521926301599858452693285731520069810081448460590268287662403156020544620253561282986792378793754724497001620505435530328168644449193195817786321737603380147382131137147581988486471082442009029393863717970295865705748230007495248262406968797993370462973635818740546670431262262137466081490146524798387444609245036918410615241505223244667404629756680812967765619910269416323292207934207710253085356771829819903381388373342718582619310060399126153751211260138403930121219398528198190923665355988379424381952381099947688791884272368877973553428252804978820503854091405582372647989974977304407813721424316324040258684937593559011127396588052188981344434526100546609678197784504050862413812804948731764746572840109083344012334393635175833477261110413564355600933374382183874335817852953471921524340931495789167997254069190002436673129752072793631921363439766561532478208420273502686802298796288083838938261835599218591362513138625554570897914778510241574967702953553108104481990229 201098323815704974482622374964363515800772046270789554379907723060555708354684408122628172838818785319439369355364422919829034413122658858668639601868630142336439486344992057571732681176323206983535764997129527308389861653925877008554502015804611097364181568255027354184251174300557427599558132344697586078986899581193075044164328099495730558229295451972678724075395521962135631283428423594695878141871268137029545369049407950517779687952998270216616452399186743035183491133424735302380171889830265834201268302614864337190740051390863311651201047118655835384239900923402179812174630169275160953941847673264199114673202861042164343990382723390052243057838225724339001041013338142189652854690410955987640141230196248615880486148867161511698157259358783226665130442319615249043228278058411729620049134178260651809923708962038534276068098265014650540434955814884994779074795813355809037120296068372244276955473393659790145891534219583870065773572799083146234368754070635831508246620544951053817565994801891538127823895300916233789642262089080822406203712609398251460770879297495320526781196922128636861945912264878927861928534255538571088858538193312151740635562420699482572798991241784129698809421253136339068659182004046641811246099028330499657407603114611387483309924875756160100997915454949670033723004992434385425444342108181079468516658012259483993470488410985570827260989882054381563400877691148759868891587104884104245837496930220283714799368311382924624387513150002436607752816103250107493576895011663548381588593132335736552447211516834717571358923012121011506483726461883064608714248213639418456473194626997399704397968710519226699872311067056176156694675986428144370069472644377352392253854168292621057830544397146079207144543484948243812140238927896700587034982192881438337148297201207080092070602932710841987534574447717840176285893993133811026603037850217988375109042706221913545762791027584187003708814737287557428069164449005097279539750616995956566255459765474206650226252903067046700356616734479413441292325928421068977911162718643465894539691788951196836969212753158211212351501471395437557887413718051019787648320240639443060375453987064190795046762581860784944209055582009671469365096599412816454246577711987227740902204268505764089493506056808859549304854916462523099711690216250932482949900412865991856825292103122274926204506165517334125486967608079581298898817468785014983436358259134987111588246099178387569170631247105112342318294001448888570697595007118387898852077591120813272871821077125892238770528363230436093725626442953839445253042669580707894487939891877885385775785113246461584023430587314956683558261590913935314954616927546487367502045062363240736687673317651718694582259818751959514262295876601600898300161357798332334025916962819294403640794014234662294733616396679002845878333614483847995203137873215211026705941664918617065694510137227053387912011976432752534625693353246828098407 325383923014443093905530649379801534672258681901494949873951770114054864398477269622862052492455346465049309445205126348610636428160140912594948078580627851235491468201737878072483109179404174349906391080170762885948439229113583496505605211117011489014912530052332020375482288532000936766633264538458548224714661988094568667433542242949693510504955732928443144865840474048149991759165581681200649951098793461359700042344775892046213244375240560767170822184691425798639228037342406184428252021198490101519220724122765907960860445222088325839896889220516897245515858564523533692599895899268096818895108708462514887139962561001582525196106346679846747393895253162201946870822201748644292344497087723921798628893750655596582474986128662881215018317514025306813421200834037543155655986765066598815341220034692229482277481338109056591297447362101786833222141349987058362048010224669014957308585872167691401508446733926153244971086896041069265765243107964421263946615553450753849347168461617513359487985368440937194319594608156495152799726352718052234635072158384025075595770135741914890418730863655883897258638310563192778084824715904340459347227184339455242685983199641139086181211095972242336162002367673002849256599240658591342759199952265552624976176450065724707783635581412322932290161267727575324643758746551330988412710501106596714170930830373901968185618114169717540432747178564015337839343725734798026401031841744527622175247692064076946450885349862399452972304437242263152172391331682371400779400002309631687568963421817089676471554042523909527940759878573142811998090463947131705616092348570180367367034269431906482175987662921294897833672291115164095519605445530954485110397319669926728843762808274967641660876596330334870149763957855953543547138495942142201770423492425740007854002012170452981698485761885826459549447077525421281675741541528498741539116337022134900246085154358504200780410025109573370953969180769997107713496893811991373061676918595815018948745496994276460307701363657314988019019890499958061545887211407861356704917443140467515045127319279365481418405948975997534089104851542819689024561300039506258730762249668836924093424282929896543276770077109047351177853575380134443000915339959486885508839849453309231048729066893208698738542975219474790810078161129927729468371029218698102860169829189284064759499813375360282976335985420715513860310326662200608959216594938766194696496663065108330986774297369311234526619626529494294699393949137680454969963885091941327104882569941317126963226659498540228745505667638249815149942766994098130190636228591835291075992080859229820301885659856139781807934638177370496363210322678681887794726010890499701895680238196717997798086882007319627956642002626295332115249348523125239231657146966329588095106965255967533392866807866583658173382958211481054298607117170650293999425957054149288541540883509979578833135691797951302690522218007720237579246461351310088636 526482246830148068388153024344165050473030728172284504253859493174610572753161677745490225331274131784488678800569549268439670841282799771263587680449257993571930954546729935644215790355727381333442156077300290194338300883039460505060107226921622586379094098307359374559733462832558364366191396883156134303701561569287643711597870342445424068734251184901121868941235996010285623042594005275896528092970061598389245411394183842563992932328238830983787274583878168833822719170767141486808423911028755935720489026737630245151600496612951637491097936339172732629755759487925713504774526068543257772836956381726714001813165422043746869186489070069898990451733478886540947911835539890833945199187498679909438770123946904212462961134995824392913175576872808533478551643153652792198884264823478328435390354212952881292201190300147590867365545627116437373657097164872053141122806038024823994428881940539935678463920127585943390862621115624939331538815907047567498315369624086585357593789006568567177053980170332475322143489909072728942441988441798874640838784767782276536366649433237235417199927785784520759204550575442120640013358971442911548205765377651606983321545620340621658980202337756372034971423620809341917915781244705233154005298980596052282383779564677112191093560457168483033288076722677245358366763738985716413857052609287676182687588842633385961656106525155288367693737060618396901240221416883557895292618946628631868012744622284360661250253661245324077359817587244699759925207434932478894356295013973180069157556554152826228918765559358627099299682890694154318481816925830196314330340562209598823840228896429306186573956373440521597705983358171340252214281431959098855179869964047279121097616976567588699491420993476414077294307442804197355687377423838842788805405685307178345002299213377533073769088694596668447084021525243261457961635534662309768142154187240123275355127860580417746543201052693760374662783918057554535782661342817088652601427535591771585204205262468483110533954266724361688375636624979371502838213139828930334616080161783933409584819108230562318387618702134208746440606322938257246911975018090526046379082490308279984468878269994087338323532658969832295386909157389805912366011939372303339755417561440536971950933335398972788232049032028334340114933077592450829180061245469630585810070242055275921584791916497635209180842150938049639347277934741781907858034063723781178132854922200095442575020396547698803697250873634606637017687950586569025667558892210329225956960161062130399835047736624432467516034030868685908875569209947937575443678898172543185563931972737115206077670773102601365831365225492327179921471913592617202749342938436987069397725300559958734485760199659038322538901821378254846377545225124726137531818504764661922121023928075261937033660822101245952906999354890483900176940731654498289202563830269360315247482548428596644527645829025004690602534194440472772204939814598138187043 851866169844591162293683673723966585145289410073779454127811263288665437151638947368352277823729478249537988245774675617050307269442940683858535759029885844807422422748467813716698899535131555683348547157471053080286740112153044001565712438038634075394006628359691394935215751364559301132824661421614682528416223557382212379031412585395117579239206917829565013807076470058435614801759586957097178044068855059748945453738959734610206176703479391750958096768569594632461947208109547671236675932227246037239709750860396153112460941835039963330994825559689629875271618052449247197374421967811354591732065090189228888953127983045329394382595416749745737845628732048742894782657741639478237543684586403831237399017697559809045436121124487274128193894386833840291972843987690335354540251588544927250731574247645110774478671638256647458662992989218224206879238514859111503170816262693838951737467812707627079972366861512096635833708011666008597304059015011988762261985177537339206940957468186080536541965538773412516463084517229224095241714794516926875473856926166301611962419568979150307618658649440404656463188886005313418098183687347252007552992561991062226007528819981760745161413433728614371133425988482344767172380485363824496764498932861604907359956014742836898877196038580805965578237990404820683010522485537047402269763110394272896858519673007287929841724639325005908126484239182412239079565142618355921693650788373159490187992314348437607701139011107723530332122024486962912097598766614850295135695016282811756726519975969915905390319601882536627240442769267297130479907389777328019946432910779779191207263165861212668749944036361816495539655649286504347733886877490053340290267283717205849941379784842556341152297589806748947444071400660150899234515919780984990575829177732918352856301225547986055467574456482494906633468602768682739637377076190808509681270524262258175601213014938921947323611077803333745616753098827551643496158236629080025663104454187586604152950759462759570841655630381676676394656515479329564384100351236791691320997604924400924629946427509927799806024651110206280529711174481076935936536318130032305109844739977116908562302552923983881600302736078879646564762732769940355366927279331790225264257410893846202999662402292181486970592007247809130925011238722378558648432274688328688670240071244559986344291729872995492157178136358765153207588261403982516817250658662547372829351585265203773561794693917010038223870500164100931717081899724249480637522777302270553061842731003447526798274396122972696261539698506935724025511976942035705634315126764378476639924053596345026379556432958741147639299863669697676284682236271299090544068949327486771293405538756676732283847081666357950495543824004550178492794573647851376763475651730991510216130893331229470426527629967829611080382313101964954475547848825148583201989787323509603789023431938576223360781520822955993293056412448193009784186275949448275679 1378348416674739230681836698068131635618320138246063958381670756463276009904800625113842503155003610034026667046344224885489978110725740455122123439479143838379353377295197749360914689890858937016790703234771343274625040995192504506625819664960256661773100726667050769494949214197117665499016058304770816832117785126669856090629282927840541647973458102730686882748312466068721237844353592232993706137038916658138190865133143577174199109031718222734745371352447763466284666378876689158045099843256001972960198777598026398264061438447991600822092761898862362505027377540374960702148948036354612364569021471915942890766293405089076263569084486819644728297362210935283842694493281530312182742872085083740676169141644464021508397256120311667041369471259642373770524487141343127553424516412023255686121928460597992066679861938404238326028538616334661580536335679731164644293622300718662946166349753247562758436286989098040026696329127290947928842874922059556260577354801623924564534746474754647713595945709105887838606574426301953037683703236315801516312641693948578148329069002216385724818586435224925415667739461447434058111542658790163555758757939642669209329074440322382404141615771484986406104849609291686685088161730069057650769797913457657189743735579419949089970756495749288998866314713082066041377286224522763816126815719681949079546108515640673891497831164480294275820221299800809140319786559501913816986269735001791358200736936632798268951392672353047607691939611731662672022806201547329189491990030255991825884076530122742134309085161241163726540125659961451448961724315607524334276773472989378015047492062290518855323900409802338093245639007457844599948168309449152195470137247764484971038996761410145040643718583283163024738378843464348254921893343619827779381234863040096697858600438925519129236663151079163353717490128011944197599012610853118277823424711502381450956340875519339693866812130497094120279537016885106179278819579446168678264531989779358189357156021931242681375609897106038364770293140458701067222313491065722025937077766708334334214765535740490118193643353244415026970317497419334182848511336220558351488927230285396893031180822918071219923835395048711941951671890159746267732939218704093565019674972334383174950595737691154275202641039276143471039944316314829387828493520157959274480310313299835907929083646370630701338020287296814792554866196145764424675284722386328550962206507465299216136815090464708841921121373798707568734769850310818506305081669512599779018802892065577926633322132747405163777573729375621632901081186889973281077994024936921662203856026333460232457227206061342513470665089162024856206154149863916293293411887764473840691130839316635466769607281325396273034445645382805024870339798772577514295294156495653432337154821406491407460188452069075563987381667992448854652488580479646872404553617592869919036505980367172867888427349847960683895590606888665781989126090547586462722 2230214586519330392975520371792098220763609548319843412509482019751941447056439572482194780978733088283564655292118900502540285380168681138980659198509029683186775800043665563077613589425990492700139250392242396354911781107345548508191532102998890737167107355026742164430164965561676966631840719726385499360534008684052068469660695513235659227212665020560251896555388936127156852646113179190090884181107771717887136318872103311784405285735197614485703468121017358098746613586986236829281775775483248010199908528458422551376522380283031564153087587458551992380298995592824207899523370004165966956301086562105171779719421388134405657951679903569390466142990942984026737477151023169790420286556671487571913568159342023830553833377244798941169563365646476214062497331129033462907964768000568182936853502708243102841158533576660885784691531605552885787415574194590276147464438563412501897903817565955189838408653850610136662530037138956956526146933937071545022839339979161263771475703942940728250137911247879300355069658943531177132925418030832728391786498620114879760291488571195536032437245084665330072130928347452747476209726346137415563311750501633731435336603260304143149303029205213600777238275597774031452260542215432882147534296846319262097103691594162785988847952534330094964444552703486886724387808710059811218396578830076221976404628188647961821339555803805300183946705538983221379399351702120269738679920523374950848388729250981235876652531683460771138024061636218625584120404968162179484627685046538803582610596506092658039699404763123700353780568429228748579441631705384852354223206383769157206254755228151731524073844446164154588785294656744348947682055186939205535760404531481690820980376546252701381796016173089911972182450244124499154156409263400812769957064040773015050714901664473505184704237607561658260350958730780626937236389687043926787504695235764639626557553890458261641190423208300427865896290115712657822774977816075248703927636443966944793510106781394002252217265527487715041164949655938030631606413842302513717258075371632735258844711963250417917999668004354621307500028671900411118785047654350590656598771970262513801593483375842055101524138131127591588516434622929686623099866498035883790283932383228229377950258139983335762173233046523952601964955555037207946476925794846287963150550384544395894273375376243626193495198423655579945762454457549746941492535381048875923791558092730502989698609784381718880144991873962808500451851750035067986942604446814870332080645623069025453431596528870377860039113427882557356926593163832008986712309151701300138843780079929805258836783639020083661109964952831722532490836386135215383837480837091960611984536378073312199053454362991754223529989469387355203363134372420428891058769808226644942553285714737720877886716082036905175067763981094413809128036429304795455606543404916379522825529412305749091249208870670916677188647019336858791773312366497034738401 3608563003194069623657357069860229856381929686565907370891152776215217456961240197596037284133736698317591322338463125388030263490894421594102782637988173521566129177338863312438528279316849429716929953627013739629536822102538053014817351767959147398940208081693792933925114179758794632130856778031156316192651793810721924560289978441076200875186123123290938779303701402195878090490466771423084590318146688376025327184005246888958604394766915837220448839473465121565031279965862925987326875618739249983160107306056448949640583818731023164975180349357414354885326373133199168601672318040520579320870108034021114670485714793223481921520764390389035194440353153919310580171644304700102603029428756571312589737300986487852062230633365110608210932836906118587833021818270376590461389284412591438622975431168841094907838395515065124110720070221887547367951909874321440791758060864131164844070167319202752596844940839708176689226366266247904454989808859131101283416694780785188336010450417695375963733856956985188193676233369833130170609121267148529908099140314063457908620557573411921757255831519890255487798667808900181534321269004927579119070508441276400644665677700626525553444644976698587183343125207065718137348703945501939798304094759776919286847427173582735078818709030079383963310867416568952765765094934582575034523394549758171055950736704288635712837386968285594459766926838784030519719138261622183555666190258376742206589466187614034145603924355813818745716001247950288256143211169709508674119675076794795408494673036215400174008489924364864080320694089190200028403356020992376688499979856758535221302247290442250379397744855966492682030933664202193547630223496388357731230541779246175792019373307662846422439734756373074996920829087588847409078302607020640549338298903813111748573502103399024313940900758640821614068448858792571134835402297897045065328119947267021077513894765977601335057235338797521986175827132597764002053797395521417382192168433746302982867262803325244933592875424593753405935242796396731698828727333368235743195153138341069593059477498990908036193311357599036334470346169319745301633558990571149008087699200547910694624664198760126321447973526176303530468106513089432890832805716739977355303607355562612552900853877674490037375874085800096073004899871352037334305419315004247237630860697844231802202459022614256894833218710952394738317320653695511366167820103435204474753764600195802205835424874846427722066113247761516069186621600345886493247686116327470111099448515134603380064918661617783023816687157258178989827674350721982267790303176638221801047636106263265491294010845081426174580630041993747388696990535999131677130892724856434452675667217389947665823061644317150496564435114770160228233474171193006405354063964722298374890440536144212285346904534105980739055145649086862663780525009784442328011097022509249441862035392672921959137636220518877361084237626225524573762438457044621201123 5838777589713400016632877441652328077145539234885750783400634795967158904017679770078232065112469786601155977630582025890570548871063102733083441836497203204752904977382528875516141868742839922417069204019256135984448603209883601523008883870958038136107315436720535098355279145320471598762697497757541815553185802494773993029950673954311860102398788143851190675859090338323034943136579950613175474499254460093912463502877350200743009680502113451706152307594482479663777893552849162816608651394222497993360015834514871501017106199014054729128267936815966347265625368726023376501195688044686546277171194596126286450205136181357887579472444293958425660583344096903337317648795327869893023315985428058884503305460328511682616064010609909549380496202552594801895519149399410053369354052413159621559828933877084197748996929091726009895411601827440433155367484068911716939222499427543666741973984885157942435253594690318313351756403405204860981136742796202646306256034759946452107486154360636104213871768204864488548745892313364307303534539297981258299885638934178337668912046144607457789693076604555585559929596156352929010530995351064994682382258942910132080002280960930668702747674181912187960581400804839749589609246160934821945838391606096181383951118767745521067666661564409478927755420120055839490152903644642386252919973379834393032355364892936597534176942772090894643713632377767251899118489963742453294346110781751693054978195438595270022256456039274589883740062884168913840263616137871688158747360123333598991105269542308058213707894687488564434101262518418948607844987726377229042723186240527692427557002518593981903471589302130647270816228320946542495312278683327563266990946310727866612999749853915547804235750929462986969103279331713346563234711870421453319295362944586126799288403767872529498645138366202479874419407589573198072071791984940971852832815183031660704071448656435862976247658547097949852072117248310421824828775211596666086119804877713247776377369584719247185810140952081468447100192452334762330435141175670749460453228509973804851904189462241325954192979361953657641970374841220156420418606644921739664686471170810424496218147574602181422972111657303895118984541136019119513932672214775861145587539738790841930851112017657825799549107132324048674969855426389245280782345109850535200781411082388627696475834398857883088328417134607974684079775111245258307660355484484080398545322692926305195534034659228146602211105121724324569638473350380954480190290563142340443180094138203628833496515190488160883855800585140736346754267514553991254502612328339521939891416186193070750130794484101509835690594994825469921187826922134347060968373561948395064660203595463259864876516007308904720094424584157515431596608543613435296412833772948943317443726250881933163233620616142885914122909630181276472908561439089237783617640427425628964687564804978671050386845091189794038272884645562383365535750823541655939524 9447340592907469640290234511512557933527468921451658154291787572182376360978919967674269349246206484918747299969045151278600812361957524327186224474485376726319034154721392187954670148059689352133999157646269875613985425312421654537826235638917185535047523518414328032280393325079266230893554275788698131745837596305495917590240652395388060977584911267142129455162791740518913033627046722036260064817401148469937790686882597089701614075269029288926601147067947601228809173518712088803935527012961747976520123140571320450657690017745077894103448286173380702150951741859222545102868006085207125598041302630147401120690850974581369500993208684347460855023697250822647897820439632569995626345414184630197093042761314999534678294643975020157591429039458713389728540967669786643830743336825751060182804365045925292656835324606791134006131672049327980523319393943233157730980560291674831586044152204360695032098535530026490040982769671452765436126551655333747589672729540731640443496604778331480177605625161849676742422125683197437474143660565129788207984779248241795577532603718019379546948908124445841047728263965253110544852264355992573801452767384186532724667958661557194256192319158610775143924526011905467726957950106436761744142486365873100670798545941328256146485370594488862891066287536624792255917998579224961287443367929592564088306101597225233247014329740376489103480559216551282418837628225364636850012301040128435261567661626209304167860380395088408629456064132119202096406827307581196832867035200128394399599942578523458387716384611853428514421956607609148636248343747369605731223166097286227648859249809036232282869334158097139952847161985148736042942502179715920998221488089974042405019123161578394226675485685836061966024108419302193972313014477442093868633661848399238547861905871271553812586039124843301488487856448365769206907194282838016918160935130298681781585343422413464311304893885895471838247944380908185826882572607118083468311973311459550759244632388044492119403016376675221853035435248731494029263868509038985203648381648314874444963666961232233990386290719552693976440721010539901722052165635492888672774170371358335190842811773362307744420085183480198649452647649108552404765477931515838500891147094353454483751965895332315836924981218124144747974755297741282615087764424854782438412271780232859498678293421472139983161635845560369422397095764940769673828175587919284873299087293122107401369459534074574324277218369485840638825094950726840973437976679469810554279542653338232213561433852105943907672487742398915336581941865275973522292915504977743740939052292456336241424805329182936010271225036819217309884817458133478738099266286804829517335870812853207530699577651626055216658859698927675659830082714806441701766897737671241692334166787026145448580525150248866653178055279268139136689086448873680111628737449934878406549600197651593009524481311708671399357122271787907939298189280586277140647 15286118182620869656923111953164886010673008156337408937692422368149535264996599737752501414358676271519903277599627177169171361233020627060269666310982579931071939132103921063470812016802529274551068361665526011598434028522305256060835119509875223671154838955134863130635672470399737829656251773546239947299023398800269910620191326349699921079983699410993320131021882078841947976763626672649435539316655608563850254189759947290444623755771142740632753454662430080892587067071561251620544178407184245969880138975086191951674796216759132623231716222989347049416577110585245921604063694129893671875212497226273687570895987155939257080465652978305886515607041347725985215469234960439888649661399612689081596348221643511217294358654584929706971925242011308191624060117069196697200097389238910681742633298923009490405832253698517143901543273876768413678686878012144874670203059719218498328018137089518637467352130220344803392739173076657626417263294451536393895928764300678092550982759138967584391477393366714165291168017996561744777678199863111046507870418182420133246444649862626837336641984729001426607657860121606039555383259707057568483835026327096664804670239622487862958939993340522963104505926816745217316567196267371583689980877971969282054749664709073777214152032158898341818821707656680631746070902223867347540363341309426957120661466490161830781191272512467383747194191594318534317956118189107090144358411821880128316545857064804574190116836434362998513196127016288115936670443445452884991614395323461993390705212120831516601424279299341992948523219126028097244093331473746834773946352337813920076416252327630214186340923460227787223663390306095278538254780863043484265212434400701909018018873015493942030911236615299048935127387751015540535547726347863547187929024792985365347150309639144083311231177491045781362907264037938967278978986267778988770993750313330342485656792078849327287552552432993421690320061629218607651711347818714749554431778189172798535622001972763739305213157328756690300135627701066256359699009684709734664101610158288679296867856423473559944579270081506351618411095851760058142470772280414628337460641542168759687060959347964489167392196840784093768437188785127671918698150146291699646478686833144296414603077912990141636474088350448193422944610724130527895870109534705317639193682862621487195154127820330023071490052980168344106476870876186027981488531072403365271844409986048412596903494193302720926488323491210165208463568301107795453628267242612150997459636791541861047057949042594104791528288327539651683336209379829964776795527833317265680830468478649406991555599813284445845961820031644687231072644380267825799067639848753224581996074408316467395576093658934959936753284283085191091426691258419876998179731510620185009777893037908078611814145766391752567300964909449415609597647887962917895246377877360507371237165002630264059911326402898465437630006917350291304833940104127933080171 24733458775528339297213346464677443944200477077789067091984209940331911625975519705426770763604882756438650577568672328447772173594978151387455890785467956657390973286825313251425482164862218626685067519311795887212419453834726910598661355148792409206202362473549191162916065795479004060549806049334938079044860995105765828210431978745087982057568610678135449586184673819360861010390673394685695604134056757033788044876642544380146237831040172029559354601730377682121396240590273340424479705420145993946400262115657512402332486234504210517335164509162727751567528852444468466706931700215100797473253799856421088691586838130520626581458861662653347370630738598548633113289674593009884276006813797319278689390982958510751972653298559949864563354281470021581352601084738983341030840726064661741925437663968934783062667578305308277907674945926096394202006271955378032401183620010893329914062289293879332499450665750371293433721942748110391853389846106870141485601493841409732994479363917299064569083018528563842033590143679759182251821860428240834715855197430661928823977253580646216883590892853447267655386124086859150100235524063050142285287793711283197529338198284045057215132312499133738248430452828650685043525146373808345434123364337842382725548210650402033360637402753387204709887995193305424001988900803092308827806709239019521208967568087387064028205602252843872850674750810869816736793746414471726994370712862008563578113518691013878357977216829451407142652191148407318033077270753034081824481430523590387790305154699354974989140663911195421462945175733637245880341675221116440505169518435100147725275502136666446469210257618324927176510552291244014581197283042759405263433922490675951423037996177072336257586722301135110901151496170317734507860740825305641056562686641384603895012215510415637123817216615889082851395120486304736485886180550617005689154685443629024267242135501262791598857446318888893528568006010126793478593920425832833022743751500632349294866634360808231424616173705431912153171062949797750388962878193748719867749991806603553741831523384705793934965560801059045594851816862299959864522937915907517010234811913527094877903771121326796911812282024264292417889836434236224323463628077807538147369833927497750898355043808322457473399069568572338170919366021871810510957873959560100077605954642854346693832421241802163054651688825728713528873966641126797655316706660322650145143497279170519998272953727377295250765541860696005847288663251834636427066243922081961551739179444880093260619382894700048699200776069938567019918151245105938299088443338295009421769520771105743232980405142467381856233045068463904540957461838401304537166906135558054099331945221169674926275671310561015153412143982012866751256773973226318699946629248291426702112059824934224060394670916640619220479020188717554746286734336836598006875115327295385777786765200281857069435807714607136836987129189138199244132129384714210220818 40019576958149208954136458417842329954873485234126476029676632308481446890972119443179272177963559027958553855168299505616943534827998778447725557096450536588462912418929234314896294181664747901236135880977321898810853482357032166659496474658667632877357201428684054293551738265878741890206057822881178026343884393906035738830623305094787903137552310089128769717206555898202808987154300067335131143450712365597638299066402491670590861586811314770192108056392807763013983307661834592045023883827330239916280401090743704354007282451263343140566880732152074800984105963029714388310995394344994469348466297082694776262482825286459883661924514640959233886237779946274618328758909553449772925668213410008360285739204602021969267011953144879571535279523481329772976661201808180038230938115303572423668070962891944273468499832003825421809218219802864807880693149967522907071386679730111828242080426383397969966802795970716096826461115824768018270653140558406535381530258142087825545462123056266648960560411895278007324758161676320927029500060291351881223725615613082062070421903443273054220232877582448694263043984208465189655618783770107710769122820038379862334008437906532920174072305839656701352936379645395902360092342641179929124104242309811664780297875359475810574789434912285546528709702849986055748059803026959656368170050548446478329629034577548894809396874765311256597868942405188351054749864603578817138729124683888691894659375755818452548094053263814405655848318164695433969747714198486966816095825847052381181010366820186491590564943210537414411468394859665343124435006694863275279115870772914067801691754464296660655551181078552714400173942597339293119452063905802889528646356891377860441056869192566278288497958916434159836278883921333275043408467173169188244491711434369969242162525149559720435048394106934864214302384524243703764865166818395994460148435756959366752898927580112118886409998751882315218888067639345401130305268244547582577175529689805147830488636333571970729829331034188602453306690650864006748661887878458454531851601964892233038699379808179353879544830882565397213262912714060018006993710196322145347695453455695854564964730469291286079204478865048386186327025219363896242161778224099237793848520760642047312958121721312599109873157919020531593863976746002338406827983494265417716799637505475833888986549062132186126141741805897057635350837517312825636805237732726015416987907265218932595176447920680016177253865351906171055752231552942431880694511164694112549198816236421954307677331937294153490729064397478218703254360624935903075883971171612275102599989249755150224536004955751827702194865100108591772030106218669130336234545984311278681328019629486142321851764969495975090165428265098057842683465231646195698126360758911611711889952862842302672208816683032371787779985098166970355884382224799515902121493204655893149023930202912121129347134117505602274617136106488490548966069488842143300989 64753035733677548251349804882519773899073962311915543121660842248813358516947639148606042941568441784397204432736971834064715708422976929835181447881918493245853885705754547566321776346526966527921203400289117786023272936191759077258157829807460042083559563902233245456467804061357745950755863872216116105388745389011801567041055283839875885195120920767264219303391229717563669997544973462020826747584769122631426343943045036050737099417851486799751462658123185445135379548252107932469503589247476233862680663206401216756339768685767553657902045241314802552551634815474182855017927094560095266821720096939115864954069663416980510243383376303612581256868518544823251442048584146459657201675027207327638975130187560532721239665251704829436098633804951351354329262286547163379261778841368234165593508626860879056531167410309133699716893165728961202082699421922900939472570299741005158156142715677277302466253461721087390260183058572878410124042986665276676867131751983497558539941486973565713529643430423841849358348305356080109281321920719592715939580813043743990894399157023919271103823770435895961918430108295324339755854307833157853054410613749663059863346636190577977389204618338790439601366832474046587403617489014988274558227606647654047505846086009877843935426837665672751238597698043291479750048703830051965195976759787465999538596602664935958837602477018155129448543693216058167791543611018050544133099837545897255472772894446832330906071270093265812798500509313102752002824984951521048640577256370642768971315521519541466579705607121732835874413570593302589004776681915979715784285389208014215526967256600963107124761438696877641576684494888583307700649346948562294792080279382053811864094865369638614546084681217569270737430380091651009551269207998474829301054398075754573137174740659975357558865610722823947065697505010548440250751347369013000149303121200588391020141063081374910485267445070771208747456073649472194608899188670380415599919281190437497125355270694380202154445504739620514606477753600661757137624766072207174399601593771495786780530903192885147814510391683624442808114729576359977871516648112229662357930265369222949442868501590618082991016760889312678604216861653600120565625406301906775941218354688139798211313165529635056583272227487592869764783342767874148917785857453825517794405592148330180582818970303934349180793430631625771164224804158439623292121944393048665562131404544389452593449401648057311428019407212602176903040894804777068307760755086776074100937995681302047568296714831994202189929840467416785723172511870041841374972414509907284524369510020860893457516410098219209558427910168572496312987568057070434873401452119869332780659964850655817248127436280056990243577572247110924593940239204872514398072990007203038414002012687776526732603487599672991008259005286884525102171116561636113908996608531951278926810695403193978198782941832112739111604265295626689793098198873556353521807 104772612691826757205486263300362103853947447546042019151337474557294805407919758591785315119532000812355758287905271339681659243250975708282907004978369029834316798124683781881218070528191714429157339281266439684834126418548791243917654304466127674960916765330917299750019542327236487840961921695097294131732629782917837305871678588934663788332673230856392989020597785615766478984699273529355957891035481488229064643009447527721327961004662801569943570714515993208149362855913942524514527473074806473778961064297144921110347051137030896798468925973466877353535740778503897243328922488905089736170186394021810641216552488703440393905307890944571815143106298491097869770807493699909430127343240617335999260869392162554690506677204849709007633913328432681127305923488355343417492716956671806589261579589752823329999667242312959121526111385531826009963392571890423846543956979471116986398223142060675272433056257691803487086644174397646428394696127223683212248662010125585384085403610029832362490203842319119856683106467032401036310821981010944597163306428656826052964821060467192325324056648018344656181474092503789529411473091603265563823533433788042922197355074097110897563276924178447140954303212119442489763709831656168203682331848957465712286143961369353654510216272577958297767307400893277535498108506857011621564146810335912477868225637242484853646999351783466386046412635621246518846293475621629361271828962229785947367432270202650783454165323357080218454348827477798185972572699150008015456673082217695150152325888339727958170270550332270250285881965452967932129211688610842991063401259980928283328659011065259767780312619775430355976858437485922600820101410854365184320726636273431672305151734562204892834582640134003430573709264012984284594677675171644017545546109510124542379337265809535077993914004829758811279999889534792144015616514187408994609451556957547757773039990661487029371677443822653523966344141288817595739204456914927998177094810880242644955843907027952172884274835773809117059784444251525763886286653950665628931453195736388019819230283001064501694055222566189840021377642290419995878510358308551807705625718824918804007833232059909369070221239754361064790543886872964016807787184526006013735066875448781845524271287250947655693145385406613401358647319513876487324613840948090935511205229653806014471805519366066535306935172437522828799575641675752448928927182125774680979119311809608385188625849568737327605273272564508347958793126357719500188455266251470186650136811917724001875974046769288355680658904864895004426426872494977744450856385681519559626969499270616043682052415053971037260622775268681088085017674275739565209635998104180611461987984480141959569979201249552965333743000512208982436623704436518710096199350766114650125891965550618829404812304282705362796038990385051495458055498786435629811118101736607172075834625606106099328130075949618341386221401402115180342064268362398496822796 169525648425504305456836068182881877753021409857957562272998316806108163924867397740391358061100442596752962720642243173746374951673952638118088452860287523080170683830438329447539846874718680957078542681555557470857399354740550321175812134273587717044476329233150545206487346388594233791717785567313410237121375171929638872912733872774539673527794151623657208323989015333330148982244246991376784638620250610860490986952492563772065060422514288369695033372639178653284742404166050456984031062322282707641641727503546137866686819822798450456370971214781679906087375593978080098346849583465185002991906490960926506170622152120420904148691267248184396399974817035921121212856077846369087329018267824663638235999579723087411746342456554538443732547133384032481635185774902506796754495798040040754855088216613702386530834652622092821243004551260787212046091993813324786016527279212122144554365857737952574899309719412890877346827232970524838518739113888959889115793762109082942625345097003398076019847272742961706041454772388481145592143901730537313102887241700570043859220217491111596427880418454240618099904200799113869167327399436423416877944047537705982060701710287688874952481542517237580555670044593489077167327320671156478240559455605119759791990047379231498445643110243631049005905098936569015248157210687063586760123570123378477406822239907420812484601828801621515494956328837304686637837086639679905404928799775683202840205164649483114360236593450346031252849336790900937975397684101529064097250338588337919123641409859269424749976157454003086160295536046270521133988370526822706847686649188942498855626267666222874905074058472307997553542932374505908520750757802927479112806915655485484169246599931843507380667321351572701311139644104635294145946883170118846846600507585879115516512006469510435552779615552582758345697394545340584266367861556421994758754678158136148793181053742861939856944888893424732713800214938289790348103645585308413777014092070680142081199177722332375038720340513429631666262197852187521023911420022872803331054789507883806599761186193949649508565614249814282829492371866779973750027006420781470063555984194141753450701733650527452061238000643673743394760748526564137373412590827912789676285230136921643735584452780582712276417612894206271123430662281750636242399698401916453305610821802136195054624489670000884487728603069148599963800445834192072221049126518823346541250716353997837782075251216794639033292679777110524861834021162496568496216021338246260751074807599026049444270761601282557870588745332311790149599384365019585825828800191426844151339009291476937139568825152190246819050685437253584398005242332810000083037450224049944242647949330797776818106637529609955577320572759319907030563943641391224494272340773317688539893978238395356137415791882378353804297995671936020560226615348071743720114710268558451002645321009300077526913017781731080497825666697741870135162467235954850344603 274298261117331062662322331483243981606968857403999581424335791363402969332787156332176673180632443409108721008547514513428034194924928346400995457838656552914487481955122111328757917402910395386235881962821997155691525773289341565093466438739715392005393094564067844956506888715830721632679707262410704368854004954847476178784412461709203461860467382480050197344586800949096627966943520520732742529655732099089555629961940091493393021427177089939638604087155171861434105260079992981498558535397089181420602791800691058977033870959829347254839897188248557259623116372481977341675772072370274739162092884982737147387174640823861298053999158192756211543081115527018990983663571546278517456361508441999637496868971885642102253019661404247451366460461816713608941109263257850214247212754711847344116667806366525716530501894935051942769115936792613222009484565703748632560484258683239130952588999798627847332365977104694364433471407368171266913435241112643101364455772234668326710748707033230438510051115062081562724561239420882181902965882741481910266193670357396096824041277958303921751937066472585274281378293302903398578800491039688980701477481325748904258056784384799772515758466695684721509973256712931566931037152327324681922891304562585472078134008748585152955859382821589346773212499829846550746265717544075208324270380459290955275047877149905666131601180585087901541368964458551205484130562261309266676757762005469150207637434852133897814401916807426249707198164268699123947970383251537079553923420806033069275967298198997382920246707786273336446177501499238453263200059137665697911087909169870782184285278731482642685386678247738353530401369860428509340852168657292663433533551928917156474398334494048400215249961485576131884848908117619578740624558341762864392146617096003657895849272279045513546693620382341569625697284080132728281984375743830989368206235115683906566221044404348969228622332716078256680144356227107386087308102500236411954108902950922787037043084750284547922995176287238748726046642103713284910198073973538432262507985244271826418991469195014151202620836816004122850870014157199969628537364729333277769181703019060557458534965710436821131459240398034808185304635399528154181199775353918803411352105585703489259855740031530367969562998300819672482077981795627123567013539350007388816816051455942209526430009036067419794663775506671428763376087509944521149976308644598027520370028163606222970701100785531966638565952341618872820627147520216068684671287589716447401211619516750051320244808370570913551247650197206794576026256859997330276685185872946403778308508562092980821621240206161284079673460705934672483022916608549565292673448328230555704635933810939736388085838779162920911063573271528889467187648077909934590471691539432338665785943789014185542228096165083716600336986056987516018282114134507373531232812005165623078479946615406176855043093731349421884047068099857050477226735598353347167399 443823909542835368119158399666125859359990267261957143697334108169511133257654554072568031241732886005861683729189757687174409146598880984519083910698944075994658165785560440776297764277629076343314424644377554626548925128029891886269278573013303109049869423797218390162994235104424955424397492829724114605975380126777115051697146334483743135388261534103707405668575816282426776949187767512109527168275982709950046616914432655265458081849691378309333637459794350514718847664246043438482589597719371889062244519304237196843720690782627797711210868403030237165710491966460057440022621655835459742153999375943663653557796792944282202202690425440940607943055932562940112196519649392647604785379776266663275732868551608729513999362117958785895099007595200746090576295038160357011001708552751888098971756022980228103061336547557144764012120488053400434055576559517073418577011537895361275506954857536580422231675696517585241780298640338696105432174355001602990480249534343751269336093804036628514529898387805043268766016011809363327495109784472019223369080912057966140683261495449415518179817484926825892381282494102017267746127890476112397579421528863454886318758494672488647468240009212922302065643301306420644098364472998481160163450760167705231870124056127816651401502493065220395779117598766415565994422928231138795084393950582669432681870117057326478616203009386709417036325293295855892121967648900989172081686561781152353047842599501617012174638510257772280960047501059600061923368067353066143651173759394370988399608708058266807670222865240276422606473037545508974397188429664488404758774558358813281039911546397705517590460736720046351083944302234934417861602926460220142546340467584402640643644934425891907595917282837148833195988552222254872886571441511881711238747124681882773412361278748555949099473235934924327971394678625473312548352237300252984126960913273820055359402098147210909085567221609502989393944571165397176435411748085544825731122995021602929118242262472616922961715516800668380392308839955900805934109493996411235593562774752155633018752655388963800711186451065818405680362386023979943378564371150114747832737687213202310909236699360964273192697241041708551580065383926092291554612366181831593087637335722625132995440192812113080245980611195025943605508644077377759809413237751923842122426873258078404581054498706068304282392378575820028727176533344136593371025435163421374061620744517604060752776352002326605671858632118729397682461168682712637180887308927962708152286427115776100764515569971853471421836395529518584725625641225016916102513986064373247929647517853569917961190065358351530898724146143188256881028158941359565375710898552280499947283883141737513206192476308772876488384146030848796497751591719301159084744032312750027205679922027409541679643888047462070404634981728923536578508729482579117251347522273724074081125267624706254381956111513080502381872734797598920612389202834308197512002 718122170660166430781480731149369840966959124665956725121669899532914102590441710404744704422365329414970404737737272200602443341523809330920079368537600628909145647740682552105055681680539471729550306607199551782240450901319233451362745011753018501055262518361286235119501123820255677057077200092134818974829385081624591230481558796192946597248728916583757603013162617231523404916131288032842269697931714809039602246876372746758851103276868468248972241546949522376152952924326036419981148133116461070482847311104928255820754561742457144966050765591278794425333608338942034781698393728205734481316092260926400800944971433768143500256689583633696819486137048089959103180183220938926122241741284708662913229737523494371616252381779363033346465468057017459699517404301418207225248921307463735443088423829346753819591838442492196706781236424846013656065061125220822051137495796578600406459543857335208269564041673622279606213770047706867372345609596114246091844705306578419596046842511069858953039949502867124831490577251230245509398075667213501133635274582415362237507302773407719439931754551399411166662660787404920666324928381515801378280899010189203790576815279057288419983998475908607023575616558019352211029401625325805842086342064730290703948258064876401804357361875886809742552330098596262116740688645775214003408664331041960387956917994207232144747804189971797318577694257754407097606098211162298438758444323786621503255480034353750909989040427065198530667245665328299185871338450604603223205097180200404057675576006257264190590469573026549759052650539044747427660388488802154102669862467528684063224196825129188160275847414967784704614345672095362927202455095117512805979874019513319797118043268919940307811167244322724965080837460339874451627195999853644575630893741777886431308210551027601462646166856317265897597091962705606040830336613044083973495167148389503961925623142551559878314189554325581246074088927392504562522719850585781237685231897972525716155285347222901470884710693087907129118355482059614090844307567969949667856070759996427459437744124583977951913807287881822528531232400181179913007101735879448025601919390232262868367771665071401094324156481439743359765370019325620445735812141535750396498989441308328622255295932843643448215543609495845616087586625873004883376426777101931230939242924714020614107484507742135724077056154082491457490552620854081114521001743808019401581990772681210283723477452787858572310424584460348270503088316202928705865558596517679155553498046632526152084760378342424384973084045726725379301651898085014246379199171937319651707956026415662898782811305564512814978397606849122929364051075549909130668384346880511055651919816952677249594278315087935797399447719302377685964939239797211093675215723852182365871465865816423727221871984212545787004971967785911052596790843617086490782580334278889697159605214240112431236999205244429924265919802897455971089615938432661544679401 1161946080203001798900639130815495700326949391927913868819004007702425235848096264477312735664098215420832088466927029887776852488122690315439163279236544704903803813526242992881353445958168548072864731251577106408789376029349125337632023584766321610105131942158504625282495358924680632481474692921858933580804765208401706282178705130676689732636990450687465008681738433513950181865319055544951796866207697518989648863790805402024309185126559846558305879006743872890871800588572079858463737730835832959545091830409165452664475252525084942677261633994309031591044100305402092221721015384041194223470091636870064454502768226712425702459380009074637427429192980652899215376702870331573727027121060975326188962606075103101130251743897321819241564475652218205790093699339578564236250629860215623542060179852326981922653174990049341470793356912899414090120637684737895469714507334473961681966498714871788691795717370139864847994068688045563477777783951115849082324954840922170865382936315106487467569847890672168100256593263039608836893185451685520357004355494473328378190564268857134958111572036326237059043943281506937934071056271991913775860320539052658676895573773729777067452238485121529325641259859325772855127766098324287002249792824897995935818382121004218455758864368952030138331447697362677682735111574006352798493058281624629820638788111264558623364007199358506735614019551050262989728065860063287610840130885567773856303322633855367922163678937322970811627293166387899247794706517957669366856270939594775046075184714315530998260692438266826181659123576590256402057576918466642507428637025887497344264108371526893677866308151687831055698289974330297345064058021577732948526214487097722437761688203345832215407084527159873798276826012562129324513767441365526286869640866459769204720571829776157411745640092252190225568486641331079353378688850344336957622128061663324017285025240698770787399756775935084235468033498557901738958131598671326063416354892994128645273527609695518393846426209888575509510664322015514896778417061966360903449633534748583092456496779972941752624993738947640934211594786205159856385666107029562773434657077445465179277008364432365367516853722481451911345435403251712737290424507717581989586626777030953755250736125655756528461524220690871559693095269950382643185840014853855073061669797972099018688539006448204028359448532658311486217729154198217707892027178971440775643611517198814344476253804790185177982283216579077668185549484885641343046445905445641863705784473748302252849275948314277856394920441256243964027277539310031162481713158001692899637603544269232816744001370922864345877121752992311186245079234491268696044095245432791555599203700094414762800470791396708673887831865333226482462690831516512252759959756164932393077145787843833268901515872260007857409606949514834589175299573099665608033927856552613771240730481864818685618955316757510426647792537695054891702005141266969742191403 1880068250863168229682119861964865541293908516593870593940673907235339338438537974882057440086463544835802493204664302088379295829646499646359242647774145333812949461266925544986409127638708019802415037858776658191029826930668358788994768596519340111160394460519790860401996482744936309538551893013993752555634150290026297512660263926869636329885719367271222611694901050745473586781450343577794066564139412328029251110667178148783160288403428314807278120553693395267024753512898116278444885863952294030027939141514093708485229814267542087643312399585587826016377708644344127003419409112246928704786183897796465255447739660480569202716069592708334246915330028742858318556886091270499849268862345683989102192343598597472746504125676684852588029943709235665489611103640996771461499551167679358985148603681673735742245013432541538177574593337745427746185698809958717520852003131052562088426042572206996961359759043762144454207838735752430850123393547230095174169660147500590461429778826176346420609797393539292931747170514269854346291261118899021490639630076888690615697867042264854398043326587725648225706604068911858600395984653507715154141219549241862467472389052787065487436236961030136349216876417345125066157167723650092844336134889628286639766640185880620260116226244838839880883777795958939799475800219781566801901722612666590208595706105471790768111811389330304054191713808804670087334164071225586049598575209354395359558802668209118832152719364388169342294538831716198433666044968562272590061368119795179103750760720572795188851162011293375940711774115635003829717965407268796610098499493416181407488305196656081838142155566655615760312635646425660272266513116695245754506088506611042234879731472265772523218251771482598763357663472902003776140963441219170862500534608237655636028782380803758874391806948569456123165578604036685394209025463388420931117295210052827979210648383250330665713946330260665481542122425950406301480851449257107301101586790966654361428812956918419864731136902976482638629019804075128987622724629936310571305704294745010551894240904556919704538801026829463462742827186386339769392767842909010799036576467677728047644780029503766461841010203921195271110805422577333183026236649253332386085616218339282377506032058499399976677067830186717175780681895823387526562266791955786304000912722686119632796023514190339752436504686740802943708281775052298822413028922779460177225602289880024628199731257578043750292707801039425938688637801088570048912004501963321019259282520380828404934036326656702241368004486982969343328929437395045408860912329939012551345559570684895715526812676487377160855519359841434115609130310041177826712479592313302611251123517047092012394749106484644471287279584635604168427630071313723346435175480017114758948611653660256996123387856472553644414578917300745641772090416716752098816508190831503468400335696104931116855954522001940350913712340592510862791621079699631286870804 3042014331066170028582758992780361241620857908521784462759677914937764574286634239359370175750561760256634581671591331976156148317769189961798405927010690038716753274793168537867762573596876567875279769110353764599819202960017484126626792181285661721265526402678295485684491841669616942020026585935852686136438915498428003794838969057546326062522709817958687620376639484259423768646769399122745863430347109847018899974457983550807469473529988161365583999560437268157896554101470196136908623594788126989573030971923259161149705066792627030320574033579896857607421808949746219225140424496288122928256275534666529709950507887192994905175449601782971674344523009395757533933588961602073576295983406659315291154949673700573876755869574006671829594419361453871279704802980575335697750181027894982527208783534000717664898188422590879648367950250644841836306336494696612990566510465526523770392541287078785653155476413902009302201907423797994327901177498345944256494614988422761326812715141282833888179645284211461032003763777309463183184446570584541847643985571362018993888431311121989356154898624051885284750547350418796534467040925499628930001540088294521144367962826516842554888475446151665674858136276670897921284933821974379846585927714526282575585022306884838715875090613790870019215225493321617482210911793787919600394780894291220029234494216736349391475818588688810789805733359854933077062229931288873660438706094922169215862125302064486754316398301711140153921831998104097681460751486519941956917639059389954149825945434888326187111854449560202122370897692225260231775542325735439117527136519303678751752413568182975516008463718343446816010925620755957617330571138272978703032302993708764672641419675611604738625336298642472561634489485464133100654730882584697149370175474697424840749354210579916286137447040821646348734065245367764747587714313732757888739423271716151996495673623949101453113703106195749717010155924508308040438983047928433364517941683960783006702340566613938258577563112865058148139684126090643884401141691902671474755337829493593644350737684529861457163794765777104396954421972591499625778433949938573572471233545123193226921788393936131829357863926402647182456240825829045920316661156970914375672242995370236132756768184155156505138592050877588735473777165773770169748106806809641377062582520658218651484562520638543780795953219399114429926010929250516530305056101750900952869213807078838972675985062368228928274991017618503606874187285974211391958450407408962882965066994129130657783312274970980097762924928239213307356206976705076571342625487940705450983163114954128532270814047410241506732641112833745301854209544532446522756574837746094166850327217141506775195219897881353145175111449968830650890320902830235599195135236182047152025757441504090265024903728732561501824185866815580230947389989816417706850436047384117239641066177969749802474909838759450777561504878287565754493626220966601029062207 4922082581929338258264878854745226782914766425115655056700351822173103912725172214241427615837025305092437074876255634064535444147415689608157648574784835372529702736060094082854171701235584587677694806969130422790849029890685842915621560777805001832425920863198086346086488324414553251558578478949846438692073065788454301307499232984415962392408429185229910232071540535004897355428219742700539929994486522175048151085125161699590629761933416476172862120114130663424921307614368312415353509458740421019600970113437352869634934881060169117963886433165484683623799517594090346228559833608535051633042459432462994965398247547673564107891519194491305921259853038138615852490475052872573425564845752343304393347293272298046623259995250691524417624363070689536769315906621572107159249732195574341512357387215674453407143201855132417825942543588390269582492035304655330511418513596579085858818583859285782614515235457664153756409746159550425178024571045576039430664275135923351788242493967459180308789442677750753963750934291579317529475707689483563338283615648250709609586298353386843754198225211777533510457151419330655134863025579007344084142759637536383611840351879303908042324712407181802024075012694016022987442101545624472690922062604154569215351662492765458975991316858629709900099003289280557281686712013569486402296503506957810237830200322208140159587629978019114843997447168659603164396394002514459710037281304276564575420927970273605586469117666099309496216370829820296115126796455082214546979007179185133253576706155461121375963016460853578063082671807860264061493507733004235727625636012719860159240718764839057354150619284999062576323561267181617889597084254968224457538391500319806907521151147877377261843588070125071324992152958366136876795694323803868011870710082935080476778136591383675160529253989391102471899643849404450141796739777121178819856718481768979975706322007199432118827649436456415198552278350458714341919834497185540665619528474927437368131153523532358123308700015841540786768703930165772872023866321838982046061042124238604196244978589086781161702595792606567859697249158977839395171201792847584371507810012800921274566568423439898291198874130323842453567046248406379103342897806224246761757859213709518510262800242654556481815659881064305911254459061597157696310373598765427681063495243344338284280586034828883533232457906139917373634292704302815352718085024530361130094816096958863600875716319946272678567698818657929545562825087062781440870454909372283902224349514509959062717348601627682339130929415222182650685136414100121980203537817879718002328722685639024247797626723897618667588160472675179417463339854573624349469054430059396778101450734188598787589969004365997616462391034604434819317950974143958945630310716199161910974369095164347261148291585205115146238764784116325872719480406533169805666944238215620708041401874074680919330864360761391128475217218880076617285247300666232315933011 7964096912995508286847637847525588024535624333637439519460029737110868487011806453600797791587587065349071656547846966040691592465184879569956054501795525411246456010853262620721934274832461155552974576079484187390668232850703327042248352959090663553691447265876381831770980166084170193578605064885699124828511981286882305102338202041962288454931139003188597852448180019264321124074989141823285793424833632022067051059583145250398099235463404637538446119674567931582817861715838508552262133053528548009174001085360612030784639947852796148284460466745381541231221326543836565453700258104823174561298734967129524675348755434866559013066968796274277595604376047534373386424064014474647001860829159002619684502242945998620500015864824698196247218782432143408049020709602147442856999913223469324039566170749675171072041390277723297474310493839035111418798371799351943501985024062105609629211125146364568267670711871566163058611653583348419505925748543921983687158890124346113115055209108742014196969087961962214995754698068888780712660154260068105185927601219612728603474729664508833110353123835829418795207698769749451669330066504506973014144299725830904756208314705820750597213187853333467698933148970686920908727035367598852537507990318680851790936684799650297691866407472420579919314228782602174763897623807357406002691284401249030267064694538944489551063448566707925633803180528514536241458623933803333370475987399198733791283053272338092340785515967810449650138202827924393796587547941602156503896646238575087403402651590349447563074870910413780185453569500085524293269050058739674845152772532023538910993132333022032870159083003342509392334486887937575506927655393241203160570694494028571580162570823488982000468924368767543886626642443830269977450425206388565161240885557632505317527490801963591446666701030212748820633709094772214889384454090853936708596141753485131972201995631148533571941352542652164915562434274967022382358817545113974030137470158888220374833494090146296381886263128706598934908388056256416756425008013741653520816379953732197840595716273616642618866390558383672256651671131569339020949635742786157943979043557924114501488356817376030120556738056726489636023287074235425023659558963195161137430102209079754643019568426809712986954251931941894646728236227370927866058480405575069058126077764002556935765148555467427314028411125539031803560303633553331883023141126281262082964029904037702573551701382314501606842689836276433152437012373036992832828905316781246785189416508639089720500660876598662436893854343461395958041343390805198551546163305820423453311885800593152780068440771307860174320801585508924719317549399106070872225629267805490944951777951330105562785188902247350761637502484573265470208271876974194544825445952381209063000126536668437526173195313937676648062950650931906103666870396349587512517380285599737947682468052044430721805774199520841906036722097167642371778873521632833344995218 12886179494924846545112516702270814807450390758753094576160381559283972399736978667842225407424612370441508731424102600105227036612600569178113703076580360783776158746913356703576105976068045743230669383048614610181517262741389169957869913736895665386117368129074468177857468490498723445137183543835545563520585047075336606409837435026378250847339568188418508084519720554269218479503208884523825723419320154197115202144708306949988728997396821113711308239788698595007739169330206820967615642512268969028774971198797964900419574828912965266248346899910866224855020844137926911682260091713358226194341194399592519640747002982540123120958487990765583516864229085672989238914539067347220427425674911345924077849536218296667123275860075389720664843145502832944818336616223719550016249645419043665551923557965349624479184592132855715300253037427425381001290407104007274013403537658684695488029709005650350882185947329230316815021399742898844683950319589498023117823165260269464903297703076201194505758530639712968959505632360468098242135861949551668524211216867863438213061028017895676864551349047606952305664850189080106804193092083514317098287059363367288368048666585124658639537900260515269723008161664702943896169136913223325228430052922835421006288347292415756667857724331050289819413232071882732045584335820926892404987787908206840504894894861152629710651078544727040477800627697174139405855017936317793080513268703475298366703981242611697927254633633909759146354573657744689911714344396684371050875653417760220656979357745810568939037887371267358248536241307945788354762557791743910572778408544743399070233851097861090224309702288341571968658048155119193396524739648209427618109085994348378487683721971366359262312512438892615211618795402196406854246119530192433173111595640567585794305627393347266607195955019603851292533352944176665031181193867975115528452860235254111947908317638347965690769001979108580114114712625425736724278652042299514695756998633815657742964647613678654505194963144548139721677091986422189628448874335580635566877422077970802036840694862703423780568986350990240116348920290547178416120837535633742315486853570725035776054925240815928411755612187050332089590333322641804127002456769419407899187961422789273153282368669464269468769911813006200557982695288968085562368854004340496739189573007346895220045734590296310847260869031678949177194596337856147235741226150811623213058846000996566174427417702260774285410388654934362697999837460099774273699360226153530687413766023149048783218009478226344776024783758683578608726479804905320531749701123700141455640608486232177027866067495205478841908962058184104136780889253679695221694683697864887723053228685518704350375157906613348378099893519177700289526222851118153490455756668580370973974495631832784787321486899142791794301715435048231976386350802882757318184324523815358655723869926119111641136638560282233034511939316047718989064120822299065660928229 20850276407920354831960154549796402831986015092390534095620411296394840886748785121443023199012199435790580387971949566145918629077785448748069757578375886195022614757766619324298040250900506898783643959128098797572185495592092497000118266695986328939808815394950850009628448656582893638715788608721244688349097028362218911512175637068340539302270707191607105936967900573533539603578198026347111516844153786219182253204291452200386828232860225751249754359463266526590557031046045329519877775565797517037948972284158576931204214776765761414532807366656247766086242170681763477135960349818181400755639929366722044316095758417406682134025456787039861112468605133207362625338603081821867429286504070348543762351779164295287623291724900087916912061927934976352867357325825866992873249558642512989591489728715024795551225982410579012774563531266460492420088778903359217515388561720790305117240834152014919149856659200796479873633053326247264189876068133420006804982055384615578018352912184943208702727618601675183955260330429356878954796016209619773710138818087476166816535757682404509974904472883436371100872548958829558473523158588021290112431359089198193124256981290945409236751088113848737421941310635389864804896172280822177765938043241516272797225032092066054359724131803470869738727460854484906809481959628284298407679072309455870771959589400097119261714527111434966111603808225688675647313641870121126450989256102674032157987034514949790268040149601720208796492776485669083708301892338286527554772299656335308060382009336160016502112758281681138433989810808031312648031607850483585417931181076766937981226983430883123094468785291684081360992535043056768903452395041450630778679780488376950067846292794855341262781436807660159098245437846026676831696544736580998334352481198200091111833118195310858053862656049816600113167062038948879920565647958829052237049001988739243920110313269496499262710354521760745029677146900392759106637469587413488725894468792703878117798141703824950887081226273254738656585480042678606384873882349322289087693802031702999877436411136320066399435376909373912373000591422116517437070473278419900259465897128649150277543282058191958532312350243776821725613620396877229150662015732614569036618063631869027796301937096273982455724163744948095204710931516339013428427334409915565797315650771349452155810883145763738161289280157217980980754899971409479118764367277092885296022875905034268747979119084575275892253078491210795850436849833136767106528265542934777472603182531788138503718670354825007212918638102144974566767823195710519083295864429520564908952494286825329807934508266513339016229763643693028856098438652785766093920312965670378668005006636848809913160346808860699139737396003750965759734494728092348035281202620961580036974622168501222313494682213080468442364666085980138080053221199232344830701704809415096603406337978163542362942412759803074940548661413215361360842994343931899005923447 33736455902845201377072671252067217639436405851143628671780792855678813286485763789285248606436811806232089119396052166251145665690386017926183460654956246978798773504679976027874146226968552642014313342176713407753702758333481666957988180432881994325926183524025318187485917147081617083852972152556790251869682075437555517922013072094718790149610275380025614021487621127802758083081406910870937240263473940416297455348999759150375557230257046864961062599251965121598296200376252150487493418078066486066723943482956541831623789605678726680781154266567113990941263014819690388818220441531539626949981123766314563956842761399946805254983944777805444629332834218880351864253142149169087856712178981694467840201315382591954746567584975477637576905073437809297685693942049586542889499204061556655143413286680374420030410574543434728074816568693885873421379186007366491528792099379475000605270543157665270032042606530026796688654453069146108873826387722918029922805220644885042921650615261144403208486149241388152914765962789824977196931878159171442234350034955339605029596785700300186839455821931043323406537399147909665277716250671535607210718418452565481492305647876070067876288988374364007144949472300092808701065309194045502994368096164351693803513379384481811027581856134521159558140692926367638855066295449211190812666860217662711276854484261249748972365605656162006589404435922862815053168659806438919531502524806149330524691015757561488195294783235629967942847350143413773620016236734970898605647953074095528717361367081970585441150645652948496682526052115977101002794165642227495990709589621510337051460834528744213318778487580025653329650583198175962299977134689660058396788866482725328555530014766221700525093949246552774309864233248223083685942664266773431507464076838767676906138745588658124661058611069420451405700414983125544951746841826804167765501862223993355868018630907844464953479356500869325143791859525818495830916121629713003421651467426519535860762789317503605392276189417802878378262572029100796013322756684902924654571224109673801914277105999023490180004363260364152489349511712663695853191310814053642574952750699374186053598207299007886944067962430827153815203953719519033277664472502033976935806025054658300949584305765738251924494075557954295762693626805307098990796188414256062536505223778696347375856617736060049008550149188896930157949496309265626354505593427904508509081721906030834922406536786836050177663467146145158548436687293236541380227625769088308160016948554937187286936679833051351988943421860828553175494303000615839615045565553220706364593102773057506835800575761718817858138725701877132992879327906465461315614996663535266391058235322367514263535504715474047517837289522928666049260717579210501525736959289541951010949117800334007100816169112223260236666381521028370056439572002115102148886029333230455259130207904282654004079051320085307975060600729263080349907115166230964666851676 54586732310765556209032825801863620471422420943534162767401204152073654173234548910728271805449011242022669507368001732397064294768171466674253218233332133173821388262446595352172186477869059540797957301304812205325888253925574163958106447128868323265734998918976168197114365803664510722568760761278034940218779103799774429434188709163059329451880982571632719958455521701336297686659604937218048757107627726635479708553291211350762385463117272616210816958715231648188853231422297480007371193643864003104672915767115118762828004382444488095313961633223361757027505185501453865954180791349721027705621053133036608272938519817353487389009401564845305741801439352087714489591745230990955285998683052043011602553094546887242369859309875565554488967001372785650553051267875453535762748762704069644734903015395399215581636556954013740849380099960346365841467964910725709044180661100265305722511377309680189181899265730823276562287506395393373063702455856338036727787276029500620940003527446087611911213767843063336870026293219181856151727894368791215944488853042815771846132543382704696814360294814479694507409948106739223751239409259556897323149777541763674616562629167015477113040076488212744566890782935482673505961481474867680760306139405867966600738411476547865387305987937992029296868153780852545664548255077495489220345932527118582048814073661346868234080132767596972701008244148551490700482301676560045982491780908823362682678050272511278463334932837350176739340126629082857328318129073257426160420252730430836777743376418130601943263403934629635116515862924008413650825773492711081408640770698277275032687817959627336413247272871709734690643118241232731203429529731110689175468646971102278623376307561077041787875386054212933408109671094249760517639209003354429841816558036967768017971863783968982714921267119237051518867477022074424872312489785633220002550864212732599788128944177340964216189711022630070173469006426211254937553591217126492147545936219223413978560931021328556279357415691057617034848052071779402398196639034225213742265026141376801791713517135343556579439740169738064862350103134780213290261784092473542834418647828023336331141489357199845476380312674603975540817574116396262428326488234648545972424088686527328745886242862012234380218239302902390967404558321646112419223522824171628333820874550045799531667500881823787169839429346114911138704396280675105473269960704997393805104597811065103670385655871411326069916545637355954398873537126373308486755891312023085632620131086725325790655350187876359201862059962973527742262126196326358698341429982741271273545597059882836643735084028232156874368489345570161848977766559251227409535309629205645059063241959216324176695851524334746657574685526679631808995212307302849561018161910503531047923739968835229414310851325303728679031047607008508136492793201347446979587734142645551862536545882446196367021464079888382915609262142478441710750109510162863672775123 88323188213610757586105497053930838110858826794677791439181997007752467459720312700013520411885823048254758626764053898648209960458557484600436678888288380152620161767126571380046332704837612182812270643481525613079591012259055830916094627561750317591661182443001486384600282950746127806421732913834825192088461179237329947356201781257778119601491257951658333979943142829139055769741011848088985997371101667051777163902290970501137942693374319481171879557967196769787149431798549630494864611721930489171396859250071660594451793988123214776095115899790475747968768200321144254772401232881260654655602176899351172229781281217300292643993346342650750371134273570968066353844887380160043142710862033737479442754409929479197116426894851043192065872074810594948238745209925040078652247966765626299878316302075773635612047131497448468924196668654232239262847150918092200572972760479740306327781920467345459213941872260850073250941959464539481937528843579256066650592496674385663861654142707232015119699917084451489784792256009006833348659772527962658178838887998155376875729329083004883653816116745523017913947347254648889028955659931092504533868195994329156108868277043085544989329064862576751711840255235575482207026790668913183754674235570219660404251790861029676414887844072513188855008846707220184519614550526706680033012792744781293325668557922596617206445738423758979290412680071414305753650961482998965513994305714972693207369066030072766658629716072980144682187476772496630948334365808228324766068205804526365495104743500101187384414049587578131799041915039985514653619939134938577399350360319787612084148652488371549732025760451735388020293701439408693503406664420770747572257513453827607178906322327298742312969335300765707717973904342472844203581873270127861349280634875735444924110609372627107375979878188657502924567892005199969824059331612437387768052726436725955656147575085185429169669067523499395317260865952029750768469712846839495569197403645742949839323720338832161671633605108860495413110624100880198411519395719128138396836250251050603705990623134367046759444103430102217351699614847443909143453094906527185409371398527397522384739696656207732420448275105431129356021527835915295705990960736682522908230113741185629695470548627750486304712314860856686730098185126953211410019711238427690870326098328742146907524118617883836178389578535011841296653892589940731827775554132901902314186319717095938592792192658247376247580012783501112947310224419609849866983517081111393792637079641662513077592030020927711190805481823802080917756429196942198313386995535961977638138699832940343479535659789950974732507215047447294841857094465716688725150306292740911450121477281583838440231356239808794175411975049608297858255929886513351086755121200045482058872857769169236515127020437526988915697429128036878192932365203462549128473763475876007121666753786728850371100515399973690890669862871741522060657224676393828339626799 142909920524376313795138322855794458582281247738211954206583201159826121632954861610741792217334834290277428134132055631045274255226728951274689897121620513326441550029573166732218519182706671723610227944786337818405479266184629994874201074690618640857396181361977654581714648754410638528990493675112860132307240283037104376790390490420837449053372240523291053938398664530475353456400616785307034754478729393687256872455582181851900328156491592097382696516682428417976002663220847110502235805365794492276069775017186779357279798370567702871409077533013837504996273385822598120726582024230981682361223230032387780502719801034653780033002747907496056112935712923055780843436632611150998428709545085780491045307504476366439486286204726608746554839076183380598791796477800493614414996729469695944613219317471172851193683688451462209773576768614578605104315115828817909617153421580005612050293297777025648395841137991673349813229465859932855001231299435594103378379772703886284801657670153319627030913684927514826654818549228188689500387666896753874123327741040971148721861872465709580468176411560002712421357295361388112780195069190649401857017973536092830725430906210101022102369141350789496278731038171058155712988272143780864514980374976087627004990202337577541802193832010505218151877000488072730184162805604202169253358725271899875374482631583943485440525871191355951991420924219965796454133263159559011496486086623796055890047116302584045121964648910330321421527603401579488276652494881485750926488458534957202272848119918231789327677453522207766915557777963993928304445712627649658807991131018064887116836470447998886145273033323445122710936819680641424706836194151881436747726160424929885802282629888375784100844721354978641126083575436722604721221082273482291191097192912703212942082473156596090090901145307894554443435369027274394696371821398070607770603590649458555444276519262526393385858778546129465490729872378241005706023304063965987716743339864966363817884651360160717950991020799918112447958676172659600809716034753353352139101276392427405497704140269710603338883843599840282214049717982224122433714878999000728243790046355420858715881186013407577896828587780035104896839101952311558134317448971331068880654202427712958441356791489762720684930554163759077697502743448599323829243234062599319204146972878787946439191619499707623348229007881126752435358288870615837301045514837899296119290917528161042263177848529658702317496558420857067346183761545983158353739408393134479425257210728387838868247380208804070392667541786775608660018555393268557011728425518703248911684296892823180123270743818183131606875704393017456690834861024967916134685615921946556509184719240800162616927207764143540832986660576287929667251142193816200647773283110549013106796597738004465929437871762830717594728476735045386329425158404809996108061497618521558984203299669175046738121979479862073806279125014219963771407334186556692012401922 231233108737987071381243819909725296693140074532889745645765198167578589092675174310755312629220657338532186760896109529693484215685286435875126576009908893479061711796699738112264851887544283906422498588267863431485070278443685825790295702252368958449057363804979140966314931705156766335412226588947685324395701462274434324146592271678615568654863498474949387918341807359614409226141628633396020751849831060739034036357873152353038270849865911578554576074649625187763152095019396740997100417087724981447466634267258439951731592358690917647504193432804313252965041586143742375498983257112242337016825406931738952732501082251954072676996094250146806484069986494023847197281519991311041571420407119517970488061914405845636602713099577651938620711150993975547030541687725533693067244696235322244491535619546946486805730819948910678697773437268810844367162266746910110190126182059745918378075218244371107609783010252523423064171425324472336938760143014850170028972269378271948663311812860551642150613602011966316439610805237195522849047439424716532302166629039126525597591201548714464121992528305525730335304642616037001809150729121741906390886169530421986834299183253186567091698206213366247990571293406633637920015062812694048269654610546307287409241993198607218217081676083018407006885847195292914703777356130908849286371518016681168700151189506540102646971609615114931281833604291380102207784224642557977010480392338768749097416182332656811780594364983310466103715080174076119224986860689714075692556664339483567767952863418332976712091503109785898714599693003979442958065651762588236207341491337852499200985122936370435877298793775180510731230521120050118210242858572652184319983673878757492981188952215674526413814056655744348844057479779195448924802955543610152540377827788438657866193082529223197466881023496552057368003261032474364520431153010507995538656317086184511100424094347711822555527846069628860807990738330270756474493016910805483285940743510709313657208371698992879622624625908778607861069300273539799221235430472481490535937526643478009203694763404077650098327947029942499565749332829668031577167973905527913653161444882818381100620882669615310317276862885466234252860629788226853840308409708013591788884316168898588136827340117513206989642869024615764427600928575552535239262945301027010074473071207530093346715738117591459526618586416138593732012181460556569128821068970801198433477237245256980855970041187906078565076571204358180293493985965593008220722925474245873217894290370050351945839410229731781583473023610577689577774984590210755325115421054665226549822996725763523602806403608134106339382919440464751532691955490684604859835922214687467959306196522384001057158564003952335008398635625896227525507072080329551734528404310594495165669455507173702444564892200357706510425905863082264522357523608272545236535261094397566105870053455903897109222494879835764696948987885961485832064558862950520352028721 374143029262363385176382142765519755275421322271101699852348399327404710725630035921497104846555491628809614895028165160738758470912015387149816473131529406805503261826272904844483371070250955630032726533054201249890549544628315820664496776942987599306453545166956795548029580459567404864402720264060545456702941745311538700936982762099453017708235738998240441856740471890089762682542245418703055506328560454426290908813455334204938599006357503675937272591332053605739154758240243851499336222453519473723536409284445219309011390729258620518913270965818150757961314971966340496225565281343224019378048636964126733235220883286607852709998842157642862597005699417079628040718152602462040000129952205298461533369418882212076088999304304260685175550227177356145822338165526027307482241425705018189104754937018119337999414508400372888471350205883389449471477382575728019807279603639751530428368516021396756005624148244196772877400891184405191939991442450444273407352042082158233464969483013871269181527286939481143094429354465384212349435106321470406425494370080097674319453074014424044590168939865528442756661937977425114589345798312391308247904143066514817559730089463287589194067347564155744269302331577691793633003334956474912784634985522394914414232195536184760019275508093523625158762847683365644887940161735111018539730243288581044074633821090483588087497480806470883273254528511345898661917487802116988506966478962564804987463298635240856902559013893640787525242683575655607501639355571199826619045122874440770040800983336564766039768956631993665630157470967973371262511364390237895015332622355917386317821593384369322022571827098625633442167340800691542917079052724533621067709834303687378783471582104050310514658778010722989970141055215918053646024037817092443731475020701141870808275555685819287557782168804446611811438630059748759216802974408578603309259907735643066544700613610238215941386624615758326298720610708511762180516320974771471002684083375675677475093023059153597573615646708696720309027976446199400030951465225834842675038803035905414701398903673788253437211790629782781779799050811892154010882852904528641896951491238239239816502068683022888214105450665501339149699731740538411974625858679344660669538518596611546578184131607275927674573423188374842125103672024151859068506179363626329278620044086318039785907357617299082874847594297265346167370470331172406429866583808700494552768154773418023119147889717564780882573129625215247639677747511576166574462333867380352643151501098438190814086790438535851976140565397353298237793539983479312336843846573368475461507293618586703726077147426317237946258623833482208223526816515652520994521538136634024468490915763184163674085771768095875841385296202184157192758214274145752382301687421143508272466053245178168374002763963188424105154382598127650851782682013082541344596758712919125090073353125078943847344474359697838503228112900181449603471893049507212364430643 605376138000350456557625962675245051968561396803991445498113597494983299818305210232252417475776148967341801655924274690432242686597301823024943049141438300284564973622972642956748222957795239536455225121322064681375619823072001646454792479195356557755510908971935936514344512164724171199814946853008230781098643207585973025083575033778068586363099237473189829775082279249704171908683874052099076258178391515165324945171328486557976869856223415254491848665981678793502306853259640592496436639541244455171003043551703659260742983087949538166417464398622464010926356558110082871724548538455466356394874043895865685967721965538561925386994936407789669081075685911103475237999672593773081571550359324816432021431333288057712691712403881912623796261378171331692852879853251561000549486121940340433596290556565065824805145328349283567169123643152200293838639649322638129997405785699497448806443734265767863615407158496720195941572316508877528878751585465294443436324311460430182128281295874422911332140888951447459534040159702579735198482545746186938727660999119224199917044275563138508712161468171054173091966580593462116398496527434133214638790312596936804394029272716474156285765553777521992259873624984325431553018397769168961054289596068702201823474188734791978236357184176542032165648694878658559591717517866019867826101761305262212774785010597023690734469090421585814555088132802726000869701712444674965517446871301333554084879480967897668683153378876951253628957763749731726726626216260913902311601787213924337808753846754897742751860459741779564344757163971952814220577016152826131222674113693769885518806716320739757899870620873806144173397861920741661127321911297185805387693508182444871764660534319724836928472834666467338814198534995113502570826993360702596271852848489580528674468638215042485024663192300998669179441891092223123737234127419086598847916224821827577645124707957950038496914470685387187106711349038782518655009337885576954288624826886384991132301394758146477196240272617475328170097276719739199252186895698316333210976329679383423905093667077865903535539737659725281345548383641560185588050826810056555550112936121057620917122951352638198531382313550967573402560361528765265814934268387358252458422834765510134715011471724789134664216292212990606552704600599704394307769124664653339353093115293848133132623095734890542401466180713403939899382651791728975558687652779501692986245392018675003975117930905470859447649700829573427933171733477169174795185259341626225861045791468488542759926200668267633559613589007930987815568524573690067661959267628033702011330290344350227328883551034451344285641543273946959756218772006337125854357460351321492427797112285568164731244335772048210849783931828080384718265286354475304116830091731738003438135508752351870818567656163546130615580288461209915374140205621355086581132019807316691195943406580982840956566969239533603200177100786142935435536451912457732716459364 979519167262713841734008105440764807243982719075093145350461996822388010543935246153749522322331640596151416550952439851171001157509317210174759522272967707090068235449245547801231594028046195166487951654376265931266169367700317467119289256138344157061964454138892732062374092624291576064217667117068776237801584952897511726020557795877521604071334976471430271631822751139793934591226119470802131764506951969591615853984783820762915468862580918930429121257313732399241461611499884443995772861994763928894539452836148878569754373817208158685330735364440614768887671530076423367950113819798690375772922680859992419202942848825169778096993778565432531678081385328183103278717825196235121571680311530114893554800752170269788780711708186173308971811605348687838675218018777588308031727547645358622701045493583185162804559836749656455640473849035589743310117031898366149804685389339248979234812250287164619621031306740916968818973207693282720818743027915738716843676353542588415593250778888294180513668175890928602628469514167963947547917652067657345153155369199321874236497349577562553302330408036582615848628518570887230987842325746524522886694455663451621953759362179761745479832901341677736529175956562017225186021732725643873838924581591097116237706384270976738255632692270065657324411542562024204479657679601130886365832004593843256849418831687507278821966571228056697828342661314071899531619200246791954024413350263898359072342779603138525585712392770592041154200447325387334228265571832113728930646910088365107849554830091462508791629416373773229974914634939926185483088380543064026238006736049687271836628309705109079922442447972431777615565202721433204044400964021719426455403342486132250548132116423775147443131612677190328784339590211031556216851031177795040003327869190722399482744193900861772582445361105445280990880521151971882954037101827665202157176132557470644189825321568188254438301095301145513405431959747294280835525658860348425291308910262060668607394417817300074769855919326172048479125253165938599283138360924151175886015132715288838606492570751654156972751528289508063125347434453452339598933679714585197447064427359296860733625020035661086745487764216468912552260093269303677789560127066702913127961353362121681293195603332065062338789715401365448677808272623856253376275304028279668631713159380166172918530453352189625276313775010669286066753122122901381988554236588202187539013546792093027094265820623035640330222830454788675572849480988745341369647593209006578504197292566926733574012991106803485535754154405284286053362064557169379998803114201402177472837583962936931054960698460768582231900167107429167979745588521989646848878998487955516896288028048752328405330107540144086691169228030264541911023500628621056499131779152881511710601561997530039192570420126734554720734671059337566225922887634437627925728778520235816286016759706061784803911443599231441703405213686324385039008344961964945080890007 1584895305263064298291634068116009859212544115879084590848575594317371310362240456386001939798107789563493218206876714541603243844106619033199702571414406007374633209072218190757979816985841434702943176775698330612641789190772319113574081735333700714817475363110828668576718604789015747264032613970077007018900228160483484751104132829655590190434434213944620101406905030389498106499909993522901208022685343484756940799156112307320892338718804334184920969923295411192743768464759525036492209501536008384065542496387852537830497356905157696851748199763063078779814028088186506239674662358254156732167796724755858105170664814363731703483988714973222200759157071239286578516717497790008203143230670854931325576232085458327501472424112068085932768072983520019531528097872029149308581213669585699056297336050148250987609705165098940022809597492187790037148756681221004279802091175038746428041255984552932483236438465237637164760545524202160249697494613381033160280000665003018597721532074762717091845809064842376062162509673870543682746400197813844283880816368318546074153541625140701062014491876207636788940595099164349347386338853180657737525484768260388426347788634896235901765598455119199728789049581546342656739040130494812834893214177659799318061180573005768716491989876446607689490060237440682764071375197467150754191933765899105469624203842284530969556435661649642512383430794116797900401320912691466919541860221565231913157222260571036194268865771647543294783158211075119060954891788093027631242248697302289445658308676846360251543489876115552794319671798911878999703665396695890157460680849743457157355435026025848837822313068846237921788963064642174865171722875318905231843096850668577122312792650743499984371604447343657667598538125206145058787678024538497636275180717680302928157212832115904257607108553406443950170322412244195006691271229246751801005092357379298221834950029526138292935215565986532700512143308786076799490534996745925379579933737148445659739695812575446551966096191943647376649222529885677798535325256622467509096991462394672262511586237829520060508291265949233344470895818095012525186984506524641752997177363480354481650747971388299285276870077767436485954820454798068943604494395454061165586384188127631816008207075056854197003006007614356055230512873223560647684044428692933007984806274674014306051153549087080167677779955724073225966135773914630357547241889367703880525258938810768031069383751528506499777872531284362103506021214465914516164832852550632804365243084035415276333939191775071119095367743413215273868930589130859447660762381829435879484167874307287158383844249495219926517541710381376127735964360528326772703236458839277009324085140334320493136574443312192297540953159858344926629288786983096360615961870884619515148737070749881910011138076290280685336314959520547481600063093255792714506860798327552507481960166287044625760478412838765044903582314472467320474544796874422677797349371 2564414472525778140025642173556774666456526834954177736199037591139759320906175702539751462120439430159644634757829154392774245001615936243374462093687373714464701444521463738559211411013887629869431128430074596543907958558472636580693370991472044871879439817249721400639092697413307323328250281087145783256701813113380996477124690625533111794505769190416050373038727781529292041091136112993703339787192295454348556653140896128083807807581385253115350091180609143591985230076259409480487982363530772312960081949224001416400251730722365855537078935127503693548701699618262929607624776178052847107940719405615850524373607663188901481580982493538654732437238456567469681795435322986243324714910982385046219131032837628597290253135820254259241739884588868707370203315890806737616612941217231057678998381543731436150414265001848596478450071341223379780458873713119370429606776564377995407276068234840097102857469771978554133579518731895442970516237641296771877123677018545607013314782853651011272359477240733304664790979188038507630294317849881501629033971737517867948390038974718263615316822284244219404789223617735236578374181178927182260412179223923840048301547997075997647245431356460877465318225538108359881925061863220456708732138759250896434298886957276745454747622568716673346814471780002706968551032877068281640557765770492948726473622673972038248378402232877699210211773455430869799932940112938258873566273571829130272229565040174174719854578164418135335937358658400506395183157359925141360172895607390654553507863506937822760335119292489326024294586433851805185186753777238954183698687585793144429192063335730957917744755516818669699404528267363608069216123839340624658298500193154709372860924767167275131814736060020847996382877715417176615004529055716292676278508586871025327639957026016766030189553914511889231161202933396166889645308331074417003162268489936768866024775351094326547373516661287678213917575268533371080326060655606273804871242647410506328347090230392746626735952111269819425128347783051616397818463617546618684983006595109961101118078808581174217481042794238741407596243252548464864785918186239226950444241790839651342384372991423960372022357841983905398507080548067372621394054522520764078714345541489753497301402678388919259341795723015721503908321145847416901060319732721212676616519434054180478969684002439269792954093730734742512032888896037531739535796125955906068064272485602861058163649572151542140108095361739150779078870695454659857534480445759639382869440376602342009907952182881874604631121897818499559922292653688028827659565496030838056957005458270224089438804947955988508749441877488805295715709949050316419552115457327232526220373168383072821541904550852336384232122387888609468540312287611717417115093650037501026859338632747411949203708496417015240057049630579885047825985980890230342432589576847788323767976925993106410564389856437996486606987528158791705513553141836387622878239378 4149309777788842438317276241672784525669070950833262327047613185457130631268416158925753401918547219723137852964705868934377488845722555276574164665101779721839334653593681929317191227999729064572374305205772927156549747749244955694267452726805745586696915180360550069215811302202323070592282895057222790275602041273864481228228823455188701984940203404360670474445632811918790147591046106516604547809877638939105497452297008435404700146300189587300271061103904554784728998541018934516980191865066780697025624445611853954230749087627523552388827134890566772328515727706449435847299438536307003840108516130371708629544272477552633185064971208511876933196395527806756260312152820776251527858141653239977544707264923086924791725559932322345174507957572388726901731413762835886925194154886816756735295717593879687138023970166947536501259668833411169817607630394340374709408867739416741835317324219393029586093908237216191298340064256097603220213732254677805037403677683548625611036314928413728364205286305575680726953488861909051313040718047695345912914788105836414022543580599858964677331314160451856193729818716899585925760520032107839997937663992184228474649336631972233549011029811580077194107275119654702538664101993715269543625352936910695752360067530282514171239612445163281036304532017443389732622408074535432394749699536392054196097826516256569217934837894527341722595204249547667700334261025629725793108133793394362185386787300745210914123443936065678630720516869475625456138049148018168991415144304692943999166172183784183011878609168604878818614258232763684184890419173934844341159368435536601586547498361756806755567068585664907621193491332005782934387846714659529890141597043823286495173717417910775116186340507364505663981415840623321673792207080254790312553689304551328255797169858132670287796662467918333181331525345640361896336579560321168804167360847316067087859725380620464840308732227274210914429718577319447879816595652352199184451176384558951988086786042968193178702048303213466801777570312937294196353788874169086194079998057504633363629665046410694277989334060187974752067139070643477389972902692763868703441419154320005824035120962812259657299227919751341884461901002865441564998548917974825244300729729617385313309609753445773456344801730630077559138834019070977548744364161414145684601325708728194785020837551526349960631873686458815737999024669952162097083038015323609948589531424413629089233033323680048639885967893023512882584891909920574373699313298310272187234683460637757286241891374656945723726489641231714833791223242818888275320327877860273936441173332577511247822649197451208435266983587870181423451674309578643192255351916166509535544458308717393314678478994164528681773075547746954395169601074594813777731055520922120542008075703497293859214846572707295925393364590100432529426049074146023056939450375175340831249937092280151036324868269276761531510569842631259025988097938710810300675588749 6713724250314620578342918415229559192125597785787440063246650776596889952174591861465504864038986649882782487722535023327151733847338491519948626758789153436304036098115145667876402639013616694441805433635847523700457706307717592274960823718277790458576354997610271469854903999615630393920533176144368573532303854387245477705353514080721813779445972594776720847484360593448082188682182219510307887597069934393454054105437904563488507953881574840415621152284513698376714228617278343997468174228597553009985706394835855370631000818349889407925906070018070465877217427324712365454924214714359850948049235535987559153917880140741534666645953702050531665633633984374225942107588143762494852573052635625023763838297760715522081978695752576604416247842161257434271934729653642624541807096104047814414294099137611123288438235168796132979709740174634549598066504107459745139015644303794737242593392454233126688951378009194745431919582987993046190729969895974576914527354702094232624351097782064739636564763546308985391744468049947558943335035897576847541948759843354281970933619574577228292648136444696075598519042334634822504134701211035022258349843216108068522950884629048231196256461168040954659425500657763062420589163856935726252357491696161592186658954487559259625987235013879954383119003797446096701173440951603714035307465306885002922571449190228607466313240127405040932806977704978537500267201138567984666674407365223492457616352340919385633978022100483813966657875527876131851321206507943310351588039912083598552674035690722005772213728461094204842908844666615489370077172951173798524858056021329746015739561697487764673311824102483577320598019599369391003603970554000154548440097236977995868034642185078050248001076567385353660364293556040498288796736135971082988832197891422353583437126884149436317986216382430222412492728279036528785981887891395585807329629337252835953884500731714791387682248888561889128347293845852818960142656307958472989322419031969458316433876273360939805438000414483286226905918095988910594172252491715704879063004652614594464747743854991868495470376854426716159663382323191942254758820879003095653885660945159657166419493954236220029321585761735247282968981550932814186392603440495589323015075271107138810611012431834692715686597453645799063047155164918394449804683894135358361217845142782375263990521553965619753585967417193558250031913565989693836618834141279516016653803910016490147396682895831590779994063254762663661663762605375234231233793744069911570104123837240099296149843557538820328357611539050214393713515896506917102979893373891111993398178790847735337261454145407196944016425465358986719167384258628959611807467373493742061764831477100466136220383545016865066005197935635563863709913362206531194846149170959621568867414336244705808418555069124311165450414220680317577252035055036253399372039952023129155017914018273257446889258125714758018117557370790050731501651080547197923553828127 10863034028103463016660194656902343717794668736620702390294263962054020583443008020391258265957533869605920340687240892261529222693061046796522791423890933158143370751708827597193593867013345759014179738841620450857007454056962547969228276445083536045273270177970821539070715301817953464512816071201591363807905895661109958933582337535910515764386175999137391321929993405366872336273228326026912435406947573332559551557734912998893208100181764427715892213388418253161443227158297278514448366093664333707011330840447709324861749905977412960314733204908637238205733155031161801302223653250666854788157751666359267783462152618294167851710924910562408598830029512180982202419740964538746380431194288865001308545562683802446873704255684898949590755799733646161173666143416478511467001250990864571149589816731490810426462205335743669480969409008045719415674134501800119848424512043211479077910716673626156275045286246410936730259647244090649410943702150652381951931032385642858235387412710478468000770049851884666118697956911856610256375753945272193454863547949190695993477200174436192969979450605147931792248861051534408429895221243142862256287507208292296997600221261020464745267490979621031853532775777417764959253265850650995795982844633072287939019022017841773797226847459043235419423535814889486433795849026139146430057164843277057118669275706485176684248078021932382655402181954526205200601462164197710459782541158617854643003139641664596548101466036549492597378392397351757307459255655961479343003184216776542551840207874506188784092337629699083661523102899379173554967592125108642866017424456866347602287060059244571428878892688148484941791510931375173937991817268659684438581694280801282363208359602988825364187417074749859324345709396663819962588943216225873301385887195973681839234296742282106605782878850348555593824253624676890682318467451716754611496990184568903041744226112335256227990981115836100042777012423172266839959251960310672173773595416528410304520662316329132984140048717696753028683488408926204790526041365884791073143002710119227828377408901402562773459710914614690911730521393835419644731723571766964357327080099479662990454614917048479686620813681486589167430882553798255751391152358470414567315805000724524123920622185280466172031399184275876622185989183989371998549048055549504045819170851510570049011359105491969714217841103652373988030938235941855933701872156603125965243335334430119236629716219511639419880031147786176544248654515295808604933107042380183757338807297877856582391734932195766052084101180281929227504739139325805378300221251751385929839352123425246585084103342858405379283409053229168142619058568207602804062819289660251597309289785817859450898862539181393747778273483382518258879514436801344972577204691881742110875490039741999667633401641831607090843778810780750106678084129182276456311490327198469986267851110553408483214126394991519549628127213421309757489749019258008224229416876 17576758278418083595003113072131902909920266522408142453540914738650910535617599881856763129996520519488702828409775915588680956540399538316471418182680086594447406849823973265069996506026962453455985172477467974557465160364680140244189100163361326503849625175581093008925619301433583858433349247345959937340209750048355436638935851616632329543832148593914112169414353998814954524955410545537220323004017507726013605663172817562381716054063339268131513365672931951538157455775575622511916540322261886716997037235283564695492750724327302368240639274926707704082950582355874166757147867965026705736206987202346826937380032759035702518356878612612940264463663496555208144527329108301241233004246924490025072383860444517968955682951437475554007003641894903595445600873070121136008808347094912385563883915869101933714900440504539802460679149182680269013740638609259864987440156347006216320504109127859282963996664255605682162179230232083695601673672046626958866458387087737090859738510492543207637334813398193651510442424961804169199710789842849040996812307792544977964410819749013421262627587049844007390767903386169230934029922454177884514637350424400365520551105890068695941523952147661986512958276435180827379842429707586722048340336329233880125677976505401033423214082472923189802542539612335583134969289977742860465364630150162060041240724896713784150561318149337423588209159659504742700868663302765695126456948523841347100619491982583982182079488137033306564036267925227889158780462163904789694591224128860141104514243565228194556306066090793288504431947565994662925044765076282441390875480478196093618026621756732336102190716790632062262389530530744564941595787822659838987021791517779278231243001788066875612188493642135212984710002952704318251385679352196956290218085087396035422671423626431542923769095232778778006316981903713419468300355343112340418826619521821738995628726844050047615673230004397989171124306269025085800101908268269145163096014448497868620954538589690072789578049132180039255589406504915115384698293857600495952206007362733822293125152756394431268930087769041407071393903717027361899490544450770060011212741044639320156874108871284699715942399443221836450399864104731069937783755798966003890330880271831662934531634617115158887717996637921675685233144348907766448353731949684862407037015994292945313001880659457589467803808520845932238062851801931549770320706297882641981897139244446609384026399115343230199874094402548840205912417120671042836166900786450095327442931135117955878541578489734586380441712719332143621218255035832722481280114625642497923237530914272981922345557488265602323299834518588154861786442826836562415870286663153993659074121262918325587119246084198258813783471419018082122589427799007876167423353862841363679742904375986705476051956710955918256294193031461067683930119184218529855683530279221599141285765128826665930103384520706277567745684584211360488991400099805206147783245003 28439792306521546611663307729034246627714935259028844843835178700704931119060607902248021395954054389094623169097016807850210179233460585112994209606571019752590777601532800862263590373040308212470164911319088425414472614421642688213417376608444862549122895353551914547996334603251537322946165318547551301148115645709465395572518189152542845308218324593051503491344347404181826861228638871564132758410965081058573157220907730561274924154245103695847405579061350204699600682933872901026364906415926220424008368075731274020354500630304715328555372479835344942288683737387035968059371521215693560524364738868706094720842185377329870370067803523175348863293693008736190346947070072839987613435441213355026380929423128320415829387207122374503597759441628549756619267016486599647475809598085776956713473732600592744141362645840283471941648558190725988429414773111059984835864668390217695398414825801485439239041950502016618892438877476174345012617374197279340818389419473379949095125923203021675638104863250078317629140381873660779456086543788121234451675855741735673957888019923449614232607037654991939183016764437703639363925143697320746770924857632692662518151327151089160686791443127283018366491052212598592339095695558237717844323180962306168064696998523242807220440929931966425221966075427225069568765139003882006895421794993439117159910000603198960834809396171269806243611341614030947901470125466963405586239489682459201743622631624248578730180954173582799161414660322579646466239717819866269037594408345636683656354451439734383340398403720492372165955050465373836480012357201391084256892904935062441220313681815976907531069609478780547204181041462119738879587605091319523425603485798580560594451361391055700976375910716885072309055712349368138213974622568422829591603972283369717261905720368713649529551974083127333600141235528390310150618822794829095030323609706390642037372952956385303843664211120234089213901318692197352640061160228579817336869609865026278925475200906019205773718097849876792284272894913841320175224335223485287025349010072853050121502561657796994042389798683656097983124425110862781544222268022537024368539821144118983147328723788333179402563213124708425617830746658529325689174908157436418457646685272556187058452256802395625059749395822197552307419133532897138446902780005234366452856186845803515362013239764949559182021649624498306226093790037873405704022578454485767947140474578876728620656115334854869619754125550335016750161071635966851441100007828830279084781738432995812460933313421930352432525813899614072848722994175158527859580335877393883853076883037698228507429660831124007702583243571817323004405501395044165219933105952814245256383411048736185038018108623379652561561744902400600381468942235809221140000558554723105790618394415728705143685358352787525347137971842241817790608203313400806311995020606420069127553616239380074413317510915697797117373811797632670246481149119063214372012661879 46016550584939630206666420801166149537635201781436987297376093439355841654678207784104784525950574908583325997506792723438891135773860123429465627789251106347038184451356774127333586879067270665926150083796556399971937774786322828457606476771806189052972520529133007556921953904685121181379514565893511238488325395757820832211454040769175174852050473186965615660758701402996781386184049417101353081414982588784586762884080548123656640208308442963978918944734282156237758138709448523538281446738188107141005405311014838715847251354632017696796011754762052646371634319742910134816519389180720266260571726071052921658222218136365572888424682135788289127757356505291398491474399181141228846439688137845051453313283572838384785070158559850057604763083523453352064867889556720783484617945180689342277357648469694677856263086344823274402327707373406257443155411720319849823304824737223911718918934929344722203038614757622301054618107708258040614291046243906299684847806561117039954864433695564883275439676648271969139582806835464948655797333630970275448488163534280651922298839672463035495234624704835946573784667823872870297955066151498631285562208057093028038702433041157856628315395274945004879449328647779419718938125265824439892663517291540048190374975028643840643655012404889615024508615039560652703734428981624867360786425143601177201150725499912744985370714320607229831820501273535690602338788769729100712696438206300548844242123606832560912260442310616105725450928247807535625020179983771058732185632474496824760868695004962577896704469811285660670386998031368499405057122277673525647768385413258534838340303572709243633260326269412609466570571992864303821183392913979362412625277316359838825694363179122576588564404359020285293765715302072456465360301920619785881822057370765752684577143995145192453321069315906111606458217432103729618919178137941435449150229228212381033001679800435351459337441124632078385025624961222438440163068496848962499965624313524147546429739495709278563296146982056831539862301418756435559922629081085782977555017435586872414627714414191425311319886452697505054518328827890143443712812473307084379752562188758303304202832659617879118505612567930262068230610763260395626958663956402422347977565544387849992983891419510783947467392460119227992652277881804904895256511954919228859893202840096460675015120424407148649825458145344238464156641839804955474343284752368409929037613823323338004682514450198099819628219952883856956073488756637894277266908615280374412224669568113768339474891911664938812967526618946216469941249210991250340860450503036381776314413951971210429775218319389610025883078090405477866191944221880727635803392615968238915457532311654510625137354707577911375345216321418682504058370034817097307423912417564469470361298791715410619737315063743443603432164873702885474538322497619336167678550885641668268839381368206740343420895436404074685119496381844030735472549218868420519795906882 74456342891461176818329728530200396165350137040465832141211272140060772773738815686352805921904629297677949166603809531289101315007320708542459837395822126099628962052889574989597177252107578878396314995115644825386410389207965516671023853380251051602095415882684922104918288507936658504325679884441062539636441041467286227783972229921718020160268797780017119152103048807178608247412688288665485839825947669843159920104988278684931564362553546659826324523795632360937358821643321424564646353154114327565013773386746112736201751984936733025351384234597397588660318057129946102875890910396413826784936464939759016379064403513695443258492485658963637991051049514027588838421469253981216459875129351200077834242706701158800614457365682224561202522525152003108684134906043320430960427543266466298990831381070287421997625732185106746343976265564132245872570184831379834659169493127441607117333760730830161442080565259638919947056985184432385626908420441185640503237226034496989049990356898586558913544539898350286768723188709125728111883877419091509900164019276016325880186859595912649727841662359827885756801432261576509661880209848819378056487065689785690556853760192247017315106838402228023245940380860378012058033820824062157736986698253846216255071973551886647864095942336856040246474690466785722272499567985506874256208220137040294361060726103111705820180110491877036075431842887566638503808914236692506298935927888759750587864755231081139642441396484198904886865588570387182091259897803637327769780040820133508417223146444696961237102873531778032836342048496742335885069479479064609904661290348320976058653985388686151164329935748193156670751613454984042700770998005298885838228763114940399420145724570178277564940315075905357602821427651440594679334924489042615473426029654135469946482864363858841982873043399033445206599452960494039769538000932770530479473838934603023070374632756820655303001652244866167598926943653419791080224228725428779836835234178550426471904940401728484337014244831933623824135196332597755735146964304571070002904027508439922536130276071988419353709685136353603037642753938752924987935080495844108748292383332877286451531556447951058521068825692638687686061357421789721316133572113838840805624250816944037051436148221906409007216788282316780300071411414702043342159291960153595312749389685899976037028360189356707831847107769842544690250431877678361178365863206854177876178088402200066625338629785052969439382345503218873706234560392604745718366916444110653497006408001109580800408205333595291245493340518560289318664243386149778200440786380430265629391296989669438937204879150513617728466321662222800870597445616924892855736498568782484171840943360390695663155463330957563936906961223819282885527312270626318447424470972287575260979693207444115763422673416530968950570136715944703265146525811020142479673571492061737396392997607586814756738406352101871802493308179476700981953698337931634891808568761 120472893476400807024996149331366545702985338821902819438587365579416614428417023470457590447855204206261275164110602254727992450781180831971925465185073232446667146504246349116930764131174849544322465078912201225358348163994288345128630330152057240655067936411817929661840242412621779685705194450334573778124766437225107059995426270690893195012319270966982734812861750210175389633596737705766838921240930258627746682989068826808588204570861989623805243468529914517175116960352769948102927799892302434706019178697760951452049003339568750722147395989359450235031952376872856237692410299577134093045508191010811938037286621650061016146917167794751927118808406019318987329895868435122445306314817489045129287555990273997185399527524242074618807285608675456460749002795600041214445045488447155641268189029539982099853888818529930020746303972937538503315725596551699684482474317864665518836252695660174883645119180017261221001675092892690426241199466685091940188085032595614029004854790594151442188984216546622255908305995544590676767681211050061785348652182810296977802485699268375685223076287064663832330586100085449379959835276000318009342049273746878718595556193233404873943422233677173028125389709508157431776971946089886597629650215545386264445446948580530488507750954741745655270983305506346374976233996967131741616994645280641471562211451603024450805550824812484265907252344161102329106147703006421607011632366095060299432106878837913700554701838794815010612316516818194717716280077787408386501965673294630333178091841449659539133807343343063693506729046528110835290126601756738135552429675761579510896994288961395394797590262017605766137322185447848346521954390919278248250854040431300238245840087749300854153504719434925642896587142953513051144695226409662401355248087024901222631060008359004034436194112714939556813057670392597769388457179070711965928624068162815404103376312557256006762339093369498245983952568614642229520387297222277742336800858492074574018334679897437762900310391813990455363997497751354191295069593385656852980459044944026794950757990486179844665029571589051108092161082766643068431647892969151193128044945521635589755734389107568937639574438260568949754291968185050116943092236070241263153601816361331887044420039641417192954684180742436008292723689296506948237415803915072824172642592525996436712043480613763856481672565915186783154407073717483316652709147959222587805215702225523404630021144235251069259010565456102730662308049149242639995633825059391027909231077569223349139883097245260230058460867137506505788605492597141028541301236883466647405705710941640649366980097469903227754349399752628278736789389838805620491539891184750723087298475672045206288292818038535475312252177545237965389585682305443415754848383389852044731340991999159526383159988480274412554002301589647588739684848308639478647352122377703405665232378975793555100159301788505946487612804561320731717426247556800055411604475643 194929236367861983843325877861566941868335475862368651579798637719477387202155839156810396369759833503939224330714411786017093765788501540514385302580895358546296108557135924106527941383282428422718780074027846050744758553202253861799654183532308292257163352294502851766758530920558438190030874334775636317761207478692393287779398500612611215172588068746999853964964799017353997881009425994432324761066877928470906603094057105493519768933415536283631567992325546878112475781996091372667574153046416762271032952084507064188250755324505483747498780223956847823692270434002802340568301209973547919830444655950570954416351025163756459405409653453715565109859455533346576168317337689103661766189946840245207121798696975155986013984889924299180009808133827459569433137701643361645405473031713621940259020410610269521851514550715036767090280238501670749188295781383079519141643810992107125953586456391005045087199745276900140948732078077122811868107887126277580691322258630111018054845147492738001102528756444972542677029184253716404879565088469153295248816202086313303682672558864288334950917949424491718087387532347025889621715485849137387398536339436664409152409953425651891258529072079401051371330090368535443835005766913948755366636913799232480700518922132417136371846897078601695517457995973132097248733564952638615873202865417681765923272177706136156625730935304361301982684187048668967609956617243114113310568293983820050019971634068994840197143235279013915499182105388581899807539975591045714271745714114763841595314987894356500370910216874841726343071095024853171175196081235802745457090966109900486955648274350081545961920197765798922808073798902832389222725388924577134089082803546240637665985812319479131718445034510831000499408570604953645824030150898705016828674116679036692577542872722862876419067156113973002019657123353091809157995180003482496408097907097418427173750945314076662065340745614364413582879512268062020600611525947706522173636092670625000490239620299166247237324636645924079188132694083951947030216557690227922983363072452466717486888266558168264018739256725404711129803836705395993419582973464995301876337328854512876207265945555519996160643263953207637440353325606839838259225808184080103959226067178275924095856187863323601961900969024752788592795100711208991579575095875226419485391982211896412749071840803120564313519673685029327844657505595161677831075011166076765681393790627723471255359774020304038698392910959321604368542609541847385714000741503501681406237485570332929940291302578855521303954207656066795107269735983290806741742023263896913035097007931310088304184976620416845482815721414851079607386835455730513347276389753533207259139419032435901951448281369493039249159138769057248275112994576069734202272854362139619992320685206603642146582661896805381504572438305592292004831374119659621127025693869765143061625376583380369856897708140607818290106112740797432699379945894731690303413044404 315402129844262790868322027192933487571320814684271471018386003298894001630572862627267986817615037710200499494825014040745086216569682372486310767765968590992963255061382273223458705514457277967041245152940047276103106717196542206928284513684365532912231288706320781428598773333180217875736068785110210095885973915917500347774824771303504410184907339713982588777826549227529387514606163700199163682307808187098653286083125932302107973504277525907436811460855461395287592742348861320770501952938719196977052130782268015640299758664074234469646176213316298058724222810875658578260711509550682012875952846961382892453637646813817475552326821248467492228667861552665563498213206124226107072504764329290336409354687249153171413512414166373798817093742502916030182140497243402859850518520160777581527209440150251621705403369244966787836584211439209252504021377934779203624118128856772644789839152051179928732318925294161361950407170969813238109307353811369520879407291225725047059699938086889443291512972991594798585335179798307081647246299519215080597468384896610281485158258132664020173994236489155550417973632432475269581550761849455396740585613183543127747966146659056765201951305756574079496719799876692875611977713003835352996287129344618745145965870712947624879597851820347350788441301479478472224967561919770357490197510698323237485483629309160607431281760116845567889936531209771296716104320249535720322200660078880349452078512906908540751845074073828926111498622206776617523820053378454100773711387409394174773406829344016039504717560217905419849800141552964006465322682992540881009520641871479997852642563311476940759510459783404688945395984350680735744679779843855382339936843977540875911825900068779985871949753945756643395995713558466696968725377308367418183922203703937915208602881081866910855261268828912558832714793745689578546452359074194462336721975260233831277127257871332668827679838983862659566832080882704250120998823169984264510436951162699574508574300196604010137635028459914534552130191835306138325286151075884775963822117396493512437646257044348108683768828314455819221964919472039061851230866434146495004382274376148465963000334663088933800217702213776587194645293791889955202318044254321367112827883539607811140276227504740794916585149767188796885518790007715939816990899790299243658034574737892849461115321416884420795192239600216110999064579312644994483784159125299353486609492853246875885380918255555107957403476415424335030850658691090025709634566562892709315468563139556279080174399824115751362415074793573300895875228580431835283043260147363560440802718872950737671165074090320073237165121167479358344176225294536133838816280938283930346437894704481108239741099408028514561411316314295213664698676881513149957121237751991664723661677205763168529742650377079794058574739895239880744516222428299099774377816247468548726857755559173924957057009929113764777718917302118164416806193451531745715017520047 510331366212124774711647905054500429439656290546640122598184641018371388832728701784078383187374871214139723825539425826762179982358183913000696070346863949539259363618518197329986646897739706389760025226967893326847865270398796068727938697216673825169394641000823633195357304253738656065766943119885846413647181394609893635554223271916115625357495408460982442742791348244883385395615589694631488443374686115569559889177183037795627742437693062191068379453181008273400068524344952693438076105985135959248085082866775079828550513988579718217144956437273145882416493244878460918829012719524229932706397502911953846869988671977573934957736474702183057338527317086012139666530543813329768838694711169535543531153384224309157427497304090672978826901876330375599615278198886764505255991551874399521786229850760521143556917919960003554926864449940880001692317159317858722765761939848879770743425608442184973819518670571061502899139249046936049977415240937647101570729549855836065114545085579627444394041729436567341262364364052023486526811387988368375846284586982923585167830816996952355124912185913647268505361164779501159203266247698592784139121952620207536900376100084708656460480377835975130868049890245228319446983479917784108362924043143851225846484792845364761251444748898949046305899297452610569473701126872408973363400376116005003408755807015296764057012695421206869872620718258440264326060937492649833632768954062700399472050146975903380948988309352842841610680727595358517331360028969499815045457101524158016368721817238372539875627777092747146192871236577817177640518764228343626466611607981380484808290837661558486721430657549203611753469783253513124967405168768432516429019647523781513577811712388259117590394788456587643895404284163420342792755528207072435012596320382974607786145753804729787274328424942885560852371917098781387704447539077676958744819882357652258450878203185409330893020584598227073149711593150766270721610349117690786684073043833324574998813920495770257374959665105838613740262885919258085355502708766112698947185189848960229924534523602516372702508085039860530351768756177435055270813839899141796880719603230661342170266280218608929960860966166984224634998619398729793461543852438401471072053950717883735236132415368064396878486118791941585478313890718924931396565995665525663143426556949789262210187162220004985108711913285245438843722084907806672314859170291376119168003283480970347140740692275859146655796387374745939399393268232937411423635308066394390721706048709889209020465702402971272666369282449640096003144964563722642024785283411260473475899726804260825975350050710736918719980842582330437951563060750266647186092670691817137605577313736917010191189380777521553810570455083352461939811671457582884159394092114131284715982362412366810676325312273885175563147178200832172749347596547958720901403510117233691788483132142554294813954718069721583067825030042915597116186139346263436018430564451 825733496056387565579969932247433917010977105230911593616570644317265390463301564411346370004989908924340223320364439867507266198927866285487006838112832540532222618679900470553445352412196984356801270379907940602950971987595338275656223210901039358081625929707144414623956077586918873941503011904996056509533155310527393983329048043219620035542402748174965031520617897472412772910221753394830652125682494302668213175260308970097735715941970588098505190914036469668687661266693814014208578058923855156225137213649043095468850272652653952686791132650589443941140716055754119497089724229074911945582350349873336739323626318791391410510063295950650549567195178638677703164743749937555875911199475498825879940508071473462328841009718257046777643995618833291629797418696130167365106510072035177103313439290910772765262321289204970342763448661380089254196338537252637926389880068705652415533264760493364902551837595865222864849546420016749288086722594749016622450136841081561112174245023666516887685554702428162139847699543850330568174057687507583456443752971879533866652989075129616375298906422402802818923334797211976428784817009548048180879707565803750664648342246743765421662431683592549210364769690121921195058961192921619461359211172488469970992450663558312386131042600719296397094340598932089041698668688792179330853597886814328240894239436324457371488294455538052437762557249468211561042165257742185553954969614141580748924128659882811921700833383426671767722179349802135134855180082347953915819168488933552191142128646582388579380345337310652566042671378130781184105841447220884507476132249852860482660933400973035427480941117332608300698865767604193860712084948612287898768956491501322389489637612457039103462344542402344287291399997721887039761480905515439853196518524086912522994748634886596698129589693771798119685086710844470966250899898151871421081541857617886089728005461056741999720700423582089732716543674033470520842609172287675051194509994996024149507388220692374267512594693565753148292393077754564223680788859841997474911007307245453742362180780646864481386276913354316349573733675649474117122044706333288291885101877606809808133266614881697863761078668380760811829643913190619748663861896692722838184881834257491546376408642872805191795071268559130382363832680726640871213556895455824906801461131687682111671302483636889405903904152885461549842786664220451666798643329416675472654612776334217223026121610531414254613199863790170274430243926924027437133269874629287100037174611849445488100640102227087024028784357243213396899020193144154477307828543558624033916702445677211563646515124801056991957145963749809796295739286044802781024908951630101067952015208441398118430930480185550068371981771397647675604510348339096034116515329866122949439644039618129979206067962650964969621721918096072053493863818976257820675781326364702240515340887701728219771011727998835347845543947345033761532992332797795181733448084498 1336064862268512340291617837301934346450633395777551716214755285335636779296030266195424753192364780138479947145903865694269446181286050198487702908459696490071481982298418667883431999309936690746561295606875833929798837257994134344384161908117713183251020570707968047819313381840657530007269955024881902923180336705137287618883271315135735660899898156635947474263409245717296158305837343089462140569057180418237773064437492007893363458379663650289573570367217477942087729791038766707646654164908991115473222296515818175297400786641233670903936089087862589823557209300632580415918736948599141878288747852785290586193614990768965345467799770652833606905722495724689842831274293750885644749894186668361423471661455697771486268507022347719756470897495163667229412696895016931870362501623909576625099669141671293908819239209164973897690313111320969255888655696570496649155642008554532186276690368935549876371356266436284367748685669063685338064137835686663724020866390937397177288790109246144332079596431864729481110063907902354054700869075495951832290037558862457451820819892126568730423818608316450087428695961991477587988083257246640965018829518423958201548718346828474078122912061428524341232819580367149514505944672839403569722135215632321196838935456403677147382487349618245443400239896384699611172369815664588304216998262930333244302995243339754135545307150959259307635177967726651825368226195234835387587738568204281148396178806858715302649821692779514609332860077397493652186540111317453730864625590457710207510850463820761119255973114403399712235542614708598361746360211449228133942743857834240967469224238634593914202371774881811912452335550857706985679490117380720415197976139025103903067449324845298221052739330858931931186804281885307382554236433722512288209114844469887130780894388691326485403918118714683680537458627943252353955347437229548379826361739975538348178883664242151330613721008180316805866255267184236791564219521405365837878583038829348724506202141188144524887554358671591762032655963673822309036291568608110173858192497094413972286715304249380854088784998394176879925502431826909172392858546232430088765821480837471150303532895100306793721939634547745036464642532589349542125405749131124309256935784975375281612541058240869588673557387351071967842146571445565802610122891121350569944887688637471373881489645856894391012616066170706988686508749128258339113502499708051591822616059815187570166862302807273401268996251164916213829637195156964848556905182695681490758880660559334697121105804630058296695153639692853492902165157707877119332613826969884507392602172481472389621865175511793910677126806332140234247302346795069428211001622321918205557592522178315128622119860963071622182552226481000137544322019796678918275909421980254234155626402030496789882393274924850145184869096296904226243211415524216541577184836481935932303824019844282514584966446068556930913368977387949358649178472144058617751878648949 2161798358324899905871587769549368263461610501008463309831325929652902169759331830606771123197354689062820170466268305561776712380213916483974709746572529030603704600978319138436877351722133675103362565986783774532749809245589472620040385119018752541332646500415112462443269459427576403948772966929877959432713492015664681602212319358355355696442300904810912505784027143189708931216059096484292792694739674720905986239697800977991099174321634238388078761281253947610775391057732580721855232223832846271698359510164861270766251059293887623590727221738452033764697925356386699913008461177674053823871098202658627325517241309560356755977863066603484156472917674363367545996018043688441520661093662167187303412169527171233815109516740604766534114893113996958859210115591147099235469011695944753728413108432582066674081560498369944240453761772701058510084994233823134575545522077260184601809955129428914778923193862301507232598232089080434626150860430435680346471003232018958289463035132912661219765151134292891620957763451752684622874926763003535288733790530741991318473808967256185105722725030719252906352030759203454016772900266794689145898537084227708866197060593572239499785343745021073551597589270489070709564905865761023031081346388120791167831386119961989533513529950337541840494580495316788652871038504456767635070596149744661485197234679664211507033601606497311745397735217194863386410391452977020941542708182345861897320307466741527224350655076206186377055039427199628787041720193665407646683794079391262398652979110403149698636318451714052278278213992839379545852201658670112641418876107687101450130157639607629341683312892214420213151201318461900846391575065993008313966932630526426292557086937302337324515083873261276218478204279607194422315717339237952141405633368556799653775643023577923183533507812486481800222545338787723320206247335381419800907903597593424437906889125298893330334421431762406538582798941217707312406828693693040889073093033825372874013590361880518792400149052237344910325049041428386532717080428450107648769199804339867714648896084896245335475061911748493229499236107476383289514903252565718380650923358444280958436799509982004657483018302928505848294286445779969290789267645823847147441817619232866827988949701113674780468628655910202350205979252172206673823679786577175476746348820325153485552792129493783796916520219056168538529295413348710005912145829124727064477228836149404793192983913338687655882196114955086488259881122080992285690175057324968590796055272408780185221745906857145320723937996936066889801185350852031596640442370528508541309304618158683953268380300312850902634272770081950030543041632839872209235910573952019273509607730619713247053050341148621690554533997878647813148832368135774952392424751846377183595270441648626769088461237575815114806591014392976279737075234500474362252966162846638172819164907546010734355978174067392278758912924732983120182170804941853799485326733447 3497863220593412246163205606851302609912243896786015026046081214988538949055362096802195876389719469201300117612172171256046158561499966682462412655032225520675186583276737806320309351032070365849923861593659608462548646503583606964424547027136465724583667071123080510262582841268233933956042921954759862355893828720801969221095590673491091357342199061446859980047436388907005089521896439573754933263796855139143759304135292985884462632701297888677652331648471425552863120848771347429501886388741837387171581806680679446063651845935121294494663310826314623588255134657019280328927198126273195702159846055443917911710856300329322101445662837256317763378640170088057388827292337439327165410987848835548726883830982869005301378023762952486290585790609160626088622812486164031105831513319854330353512777574253360582900799707534918138144074884022027765973649930393631224701164085814716788086645498364464655294550128737791600346917758144119964214998266122344070491869622956355466751825242158805551844747566157621102067827359655038677575795838499487121023828089604448770294628859382753836146543639035702993780726721194931604760983524041330110917366602651667067745778940400713577908255806449597892830408850856220224070850538600426600803481603753112364670321576365666680896017299955787283894820391701488264043408320121355939287594412674994729500229923003965642578908757456571053032913184921515211778617648211856329130446750550143045716486273600242527000476768985700986387899504597122439228260304982861377548419669848972606163829574223910817892291566117451990513756607547977907598561870119340775361619965521342417599381878242223255885684667096232125603536869319607832071065183373728729164908769551530195624536262147635545567823204120208149665008561492501804869953772960464429614748213026686784556537412269249668937425931201165480760003966730975674161594772610968180734265337568962786085772789541044660948142439942723344449054208401944103971048215098406726951676072654721598519792503068663317287703410908936672357705005102208841753371997058217822627392301434281686935611389145626189563846910142670109424738539303292461907761798798148469416744839281752108740332405082311451204957937476250884758928978369318832914673394954971456698753404208242109601490759354544369142186043261274318048125823617772476433802677698526046691236508962624859434281775350678187929136285226875527215804162476968345025648328832778656299844895964592363359846216145961057151192366120002702089518317237957134247080240020650081554935932968114882342851711487203617419091636628920382703350508559908715973056197498393048701906790640156342890245475824644813311399576414090264790343979634941637446912196273937479067200252798028375675170202111693312737086224359647950693154387932453870668334173826631417750896843679123558970854512500665259991460110689880505980286650024690903830150999328574105122988927390293248940944620135949209672281902120932478831349277085912417237205382396 5659661578918312152034793376400670873373854397794478335877407144641441118814693927408966999587074158264120288078440476817822870941713883166437122401604754551278891184255056944757186702754204040953286427580443382995298455749173079584464932146155218265916313571538192972705852300695810337904815888884637821788607320736466650823307910031846447053784499966257772485831463532096714020737955536058047725958536529860049745543833093963875561807022932127065731092929725373163638511906503928151357118612574683658869941316845540716829902905229008918085390532564766657352953060013405980241935659303947249526030944258102545237228097609889678857423525903859801919851557844451424934823310381127768686072081511002736030296000510040239116487540503557252824700683723157584947832928077311130341300525015799084081925886006835427256982360205904862378597836656723086276058644164216765800246686163074901389896600627793379434217743991039298832945149847224554590365858696558024416962872854975313756214860375071466771609898700450512723025590811407723300450722601503022409757618620346440088768437826638938941869268669754955900132757480398385621533883790836019256815903686879375933942839533972953077693599551470671444427998121345290933635756404361449631884827991873903532501707696327656214409547250293329124389400887018276916914446824578123574358190562419656214697464602668177149612510363953882798430648402116378598189009101188877270673154932896004943036793740341769751351131845191887363442938931796751226269980498648269024232213749240235004816808684627060516528610017831504268791970600387357453450763528789453416780496073208443867729539517849852597568997559310652338754738187781508678462640249366737043131841400077956488181623199449972870082907077381484368143212841099696227185671112198416571020381581583486438332180435847172852470933743687647280982549305518698994367842107992387981642168935162387223992661914839937991282563871705129883031853149619651416377876908791447616024769106480094472533382864949182109687852463146281582682754046530595374470452425508325471396592105774149401584507474041871525038908821891163338923974646779675751422665051363866850067668197726033067177131915064316108687976240404756733053215424149288123703941040778818604140571023441108937590440460468219149610814699171476668254105075789979150257482464275701523437585329287778344987073904844461984845656504283044065745099575825678350937794157957505720777073732113997156552830129484648713033388481075089190349399439318949419937255297345618672350991205376895067564597618344348938143029633564987272504535859411940312613498568026901590011211408798840296158625776137495715945672346496040295333385612474813846682822770225956752576807983417741622728220543260315003291620222238295763841986756068228823060758925673008601346167285327750328059315750076480374798051125082856785717361884525165266083117162175212277942153834936303983296922794203341488431194826853915599013520082027766216722532115843 9157524799511724398197998983251973483286098294580493361923488359629980067870056024211162875976793627465420405690612648073869029503213849848899535056636980071954077767531794751077496053786274406803210289174102991457847102252756686548889479173291683990499980642661273482968435141964044271860858810839397684144501149457268620044403500705337538411126699027704632465878899921003719110259851975631802659222333384999193504847968386949760024439724230015743383424578196798716501632755275275580859005001316521046041523123526220162893554751164130212580053843391081280941208194670425260570862857430220445228190790313546463148938953910219000958869188741116119683230198014539482323650602718567095851483069359838284757179831492909244417865564266509739115286474332318211036455740563475161447132038335653414435438663581088787839883159913439780516741911540745114042032294094610397024947850248889618177983246126157844089512294119777090433292067605368674554580856962680368487454742477931669222966685617230272323454646266608133825093418171062761978026518440002509530781446709950888859063066686021692778015812308790658893913484201593317226294867314877349367733270289531043001688618474373666655601855357920269337258406972201511157706606942961876232688309595627015897172029272693322895305564550249116408284221278719765180957855144699479513645784975094650944197694525672142792191419121410453851463561587037893809967626749400733599803601683446147988753280013942012278351608614177588349830838436393873665498240803631130401780633419089207610980638258850971334420901583948956259305727207935335361049325398908794192142116038729786285328921396092075853454682226406884464358275057101116510533705432740465772296750169629486683806159461597608415650730281501692517808221402592198032055624885158881000635129794610173222888717848116422521408359674888812761742553272249674668529436880603356162376434272731350010078434704380982652230706311647853227480907358021595520348925123889854342976445179134816071053175368017845426975555874055218255040459051632804216223824422566543294023984407208431088520118863187497714602755732033833448348713186082968213330426850162015319484413037007785175917464320146627559892934177881007617812144402518606956618614435733790060839324427649351047191931219822763518753000742432750986302230899407751626691285141974227570128821838250403204421355680195140172774792789509919592960903738302646695963442486790284377076918628078589519912676345630609770184580847195091892438917756556906554184335537366268753905927138345009949907449329831552555562121270193907655207886367971849028586554765525294638713118199438996639048871251962140529257071922910130560123729592109755484129734966499894231644008236215769998403390745372008316028706446597943714535141144000682693729093099499640019097064129006873887030170262577145634789511235772737291697648534549856169913268161503786383065142762326597232237867414339290698103476728974848077844869359113678633959737498239 14817186378430036550232792359652644356659952692374971697800895504271421186684749951620129875563867785729540693769053124891691900444927733015336657458241734623232968951786851695834682756540478447756496716754546374453145558001929766133354411319446902256416294214199466455674287442659854609765674699724035505933108470193735270867711410737183985464911198993962404951710363453100433130997807511689850385180869914859243250391801480913635586246747162142809114517507922171880140144661779203732216123613891204704911464440371760879723457656393139130665444375955847938294161254683831240812798516734167694754221734571649008386167051520108679816292714644975921603081755858990907258473913099694864537555150870841020787475832002949483534353104770066991939987158055475795984288668640786291788432563351452498517364549587924215096865520119344642895339748197468200318090938258827162825194536411964519567879846753951223523730038110816389266237217452593229144946715659238392904417615332906982979181545992301739095064544967058646548119008982470485278477241041505531940539065330297328947831504512660631719885080978545614794046241681991702847828751105713368624549173976410418935631458008346619733295454909390940781686405093546802091342363347323325864573137587500919429673736969020979109715111800542445532673622165738042097872301969277603088003975537514307158895159128340319941803929485364336649894209989154272408156635850589610870476756616342152931790073754283782029702740459369475713273777368190624891768221302279399426012847168329442615797446943478031850949511601780460528097697808322692814500088927698247608922612111938230153058460913941928451023679785717536803113013244882625188996345682107202815428591569707443171987782661047581285733637358883176885951434243691894259241295997357297571655511376193659661220898283963595373879293418576460042725102577768373662897278988595744144018603207893737234071096619220920643513270183352983110512760507641246936726802032681301959001214285614910543586558232967027536663408337201499837723213098163399590694276848074868765420576512982580490104626337229369239641664553924996787272687832862643964753091901525882169552081234733818243094596235210943668580910418285764350865359826667895080322555476512608664979895451090459984782371680290982668363815441604227654556335975197730776948767606249929093566407167538181549408429585039602157620449293792963658706003314128325046901236644747790097853992360192586676465506475115258483217969328270181082788317195875855974121590834711887426256918343721905017472046948175901493705150903758894927712422227383789341200053333552196228724329608237836935207497028099636245202744269406170855457115204584569330812557736725850984220816219633511621131611288632323319320326668836239478377127900068911516789852025172648620443231414334624215089486012653626009587562360855594077415010419075021435996385323678998661007296597262901215534790208542632186534671555828763676858389441141444850682269614082 23974711177941760948430791342904617839946050986955465059724383863901401254554805975831292751540661413194961099459665772965560929948141582864236192514878714695187046719318646446912178810326752854559707005928649365910992660254686452682243890492738586246916274856860739938642722584623898881626533510563433190077609619651003890912114911442521523876037898021667037417589263374104152241257659487321653044403203299858436755239769867863395610686471392158552497942086118970596641777417054479313075128615207725750952987563897981042617012407557269343245498219346929219235369449354256501383661374164388139982412524885195471535106005430327680775161903386092041286311953873530389582124515818261960389038220230679305544655663495858727952218669036576731055273632387794007020744409204261453235564601687105912952803213169013002936748680032784423412081659738213314360123232353437559850142386660854137745863092880109067613242332230593479699529285057961903699527572621918761391872357810838652202148231609532011418519191233666780373212427153533247256503759481508041471320512040248217806894571198682324497900893287336273687959725883585020074123618420590717992282444265941461937320076482720286388897310267311210118944812065748313249048970290285202097261447183127935326845766241714302005020676350791561940957843444457807278830157113977082601649760512608958103092853654012462733995348606774790501357771576192166218124262599990344470280358299788300920543353768225794308054349073547064063104615804584498557266462105910529827793480587418650226778085202329003185370413185729416787403425016258028175549414326607041801064728150668016438387382310034004304478362012124421267471288301983741699530051114847668587725341739336929855793942122645189701384367640384869403759655646284092291296920882516178572290641170803832884109616132080017895287653093465272804467655850018048331426715869199100306395037480625087244149531323601903295743976495000836337993667865662842457075727156571156301977659464749726614639733600984872963638964211256718092763672149796203806918101270641412059444560920191011578624745200416866954244420285958830235621401018945612178083518751687897489036494271741603419012060555357571228473844596166771968677504229186502036941169912246398725819219878739811031974302900113746187116816184036978640858566874605482403640052748224156663695229005788584753829785265234742330395242083302883251666907052430971742864679131538074474930910988271176196378182820745868253402550175465272975227234952432762528305926372078156180162845482066914967379496278007454049267272173952802582920308595355638369786608099077490867437447807676833574256368280061776774459816192316301415580844796694324814942292703225745215864824455849281619535002034004331635349033115434183192912269044069594210518945124672288639540295543341498102119656275230771644377073596628331369112658953624877605909653485182785044072439359589498447772657622881922884638148284803611754703258800255123484642007112321 38791897556371797498663583702557262196606003679330436757525279368172822441239555927451422627104529198924501793228718897857252830393069315879572849973120449318420015671105498142746861566867231302316203722683195740364138218256616218815598301812185488503332569071060206394317010027283753491392208210287468696010718089844739161779826322179705509340949097015629442369299626827204585372255466999011503429584073214717680005631571348777031196933218554301361612459594041142476781922078833683045291252229098930455864452004269741922340470063950408473910942595302777157529530704038087742196459890898555834736634259456844479921273056950436360591454618031067962889393709732521296840598428917956824926593371101520326332131495498808211486571773806643722995260790443269803005033077845047745023997165038558411470167762756937218033614200152129066307421407935681514678214170612264722675336923072818657313742939634060291136972370341409868965766502510555132844474288281157154296289973143745635181329777601833750513583736200725426921331436136003732534981000523013573411859577370545546754726075711342956217785974265881888482005967565576722921952369526304086616831618242351880872951534491066906122192765176702150900631217159295115340391333637608527961834584770628854756519503210735281114735788151334007473631465610195849376702459083254685689653736050123265261988012782352782675799278092139127151251981565346438626280898450579955340757114916130453852333427522509576337757089532916539776378393172775123449034683408189929253806327755748092842575532145807035036319924787509877315501122824580720990049503254305289409987340262606246591445843223975932755502041797841958070584301546866366888526396796954871403153933309044373027781724783692770987118004999268046289711089889975986550538216879873476143946152546997492545330514416043613269166946512041732847192758427786421994323994857794844450413640688518824478220627942822823939257246678353819448506428373304089393802529189252458260978873750364637158226291833951900500302372548458217930486885247959603397612378118716280824865137433173592068729371537646236193886084839883827022894088851808256142836610653213779658588575506475421662106656790568514897054755014452536319542864055854397117263725388759007390799115329830271016756674580404728855480631625641206295414902849803213180588820354474085757261636173326766303238214850274344488015691377095846910372910366559296789765915776285864572784903348463762872843689295861126736620519503735454058015552148308618502427517206790043606419763825788819984851543226183355542972423077711697510632730822739427710986661432629687096161777415914670509463865308161413019662560461722472271037960001278894145754850439951596200085640675482793240666613322636654954669359784270422671289396944138505727308797149844937259983526957676122317209142287884397653964635957483925446527669372699899041906038808861783705079735956852399663307447831424555071172819840632375431561648241396568335324276726403 62766608734313558447094375045461880036552054666285901817249663232074223695794361903282715378645190612119462892688384670822813760341210898743809042487999164013607062390424144589659040377193984156875910728611845106275130878511302671497842192304924074750248843927920946332959732611907652373018741720850901886088327709495743052691941233622227033216986995037296479786888890201308737613513126486333156473987276514576116760871341216640426807619689946459914110401680160113073423699495888162358366380844306656206817439568167722964957482471507677817156440814649706376764900153392344243580121265062943974719046784342039951456379062380764041366616521417160004175705663606051686422722944736218785315631591332199631876787158994666939438790442843220454050534422831063810025777487049309198259561766725664324422970975925950220970362880184913489719503067673894829038337402965702282525479309733672795059606032514169358750214702572003348665295787568517036544001860903075915688162330954584287383478009211365761932102927434392207294543863289536979791484760004521614883180089410793764561620646910025280715686867553218162169965693449161742996075987946894804609114062508293342810271610973787192511090075444013361019576029225043428589440303927893730059096031953756790083365269452449583119756464502125569414589309054653656655532616197231768291303496562732223365080866436365245409794626698913917652609753141538604844405161050570299811037473215918754772876781290735370645811438606463603839483008977359622006301145514100459081599808343166743069353617348136038221690337973239294102904547840838749165598917580912331211052068413274263029833225534009937059980403809966379338055589848850108588056447911802539990879275048381302883575666906337960688502372639652915693470745536260078841835137762389654716236793717801325429440130548123631164454599605507005651660414277804470325750710726993944756808678169143911722370159266424727235001223173354655786500096238966931850878256345823614562956533215114363772866025434936773463941336759714936023250557397755807204530479389357692884309698353364603647354116738063103148130505125842657258515489870753868320920129404901677147625069778217025081118717345926086125528599610619308288220368285040899154204895301005406116618335208570082048730977480518475042597447809678184936273469724408695584228873102698242420956865179115351057068000115509086818410933460398730162039817418990268532630594907823939047715814336734939069221872116606994990023069679200727033242787100741381030733443578868199786582609307855734952231039504190809592239695251664500093553039418095066080773269531707177963599225223591504083720233588223189794122376654038773686618804797973218960697143143177341415950465131332074860201615356640986590018392899704605864201665988208099937827742274517225899523822501017620419328798563115169298341709554112256815640328326324776647815692294044568749152175316441898111080105454306477955810968125435987186264907041651691819966283838724 101558506290685355945757958748019142233158058345616338574774942600247046137033917830734138005749719811043964685917103568680066590734280214623381892461119613332027078061529642732405901944061215459192114451295040846639269096767918890313440494117109563253581412998981152727276742639191405864410949931138370582099045799340482214471767555801932542557936092052925922156188517028513322985768593485344659903571349729293796766502912565417458004552908500761275722861274201255550205621574721845403657633073405586662681891572437464887297952535458086291067383409952483534294430857430431985776581155961499809455681043798884431377652119331200401958071139448227967065099373338572983263321373654175610242224962433719958208918654493475150925362216649864177045795213274333613030810564894356943283558931764222735893138738682887439003977080337042556026924475609576343716551573577967005200816232806491452373348972148229649887187072913413217631062290079072169388476149184233069984452304098329922564807786813199512445686663635117634215875299425540712326465760527535188295039666781339311316346722621368236933472841819100050651971661014738465918028357473198891225945680750645223683223145464854098633282840620715511920207246384338543929831637565502258020930616724385644839884772663184864234492252653459576888220774664849506032235075280486453980957232612855488627068879218718028085593904791053044803861734706885043470686059501150255151794588132049208625210208813244946983568528139380143615861402150134745455335828922290388335406136098914835911929149493943073258010262760749171418405670665419470155648420835217620621039408675880509621279068757985869815482445607808337408639891395716475476582844708757411394033208357425675911357391690030731675620377638920961983181835426236065392373354642263130860182946264798817974770644964167244433621546117548738498853172705590892320074705584788789207222318857662736200590787209247551174258469851708475235006524612271021244680785535076072823935406965479000931092317268888673964243709308173153953737442645715410602142857508073973709174835786538195716083488275709339342016589965726484281409578722562124463756740058115456806213645284692446743225374136494601022583354625071844607763232340895296271468620689764413507417450538400353065487652060923203898078079435319391231688372574211908764817693457172328178218501352442117360306214965783431306426624837494577072412727785549565322396510684109803620500717685198701942065561412468121726643589182936181091258339249049999533160960785658243393002373133644554937082582730374165135212118329376197604185770240834493791759930964336865059761002639506174593184098896384602813784937115761245957656764799252113106451993583128937616036105806814868100868228679277641544687752683975028535491062932346605665136539424362163159507349458693742736537940850999566952306345511596182262167997699024675689721731102906352454231911273294297774387553285731033026983787966068362617826555283048260155290560565127 164325115024998914392852333793481022269710113011902240392024605832321269832828279734016853384394910423163427578605488239502880351075491113367190934949118777345634140451953787322064942321255199616068025179906885952914399975279221561811282686422033638003830256926902099060236475251099058237429691651989272468187373508836225267163708789424159575774923087090222401943077407229822060599281719971677816377558626243869913527374253782057884812172598447221189833262954361368623629321070610007762024013917712242869499331140605187852255435006965764108223824224602189911059331010822776229356702421024443784174727828140924382834031181711964443324687660865387971240805036944624669686044318390394395557856553765919590085705813488142090364152659493084631096329636105397423056588051943666141543120698489887060316109714608837659974339960521956045746427543283471172754888976543669287726295542540164247432955004662399008637401775485416566296358077647589205932478010087308985672614635052914209948285796024565274377789591069509841510419162715077692117950520532056803178219756192133075877967369531393517649159709372318212821937354463900208914104345420093695835059743258938566493494756438641291144372916064728872939783275609381972519271941493395988080026648678142434923250042115634447354248717155585146302810083719503162687767691477718222272260729175587711992149745655083273495388531489966962456471487848423648315091220551720554962832061347967963398086990103980317629379966745843747455344411127494367461636974436390847417005944442081578981282766842079111479700600733988465521310218506258219321247338416129951832091477089154772651112294291995806875462849417774716746695481244566584064639292620559951384912483405806978794933058596368692364122750278573877676652580962496144234208492404652785576419739982600143404210775512290875598076145723055744150513586983395362645825416311782733964030997026806647922960946475672278409259693025063131021506620851237953095559041880899687386891940180593364703958342703825447428185046067888089976988000043471217806673336897431666593484534139902799363437605013772442490147095091569141539925068593315992784676869463017133953838715062909471824344091482420687148111954235691152895983600625936195425673515990769819624035785746970435114218629541441678940675527244997576167961842298620604349046566559870570599175366531557468417374215081292518124837558297893307234452545204539833855027105591933742668216532021933641011287433529075116716666658862136908124501126349791380563894404364526443179584982441500289889313622234564974727451813581040697697738809658929559872533200496044043023360227863097678676904332484607792607907313769800019644275569597225332067149136726306279031986570938146942961069844035918628134706145583679634399692728920554705602964281698879389059031171959711363155866739414114736250648055065708439077808326025349452337537423396950921203384086589736195885467658740037510982794756091504349804091462324699951975256844403851 265883621315684270338610292541500164502868171357518578966799548432568315969862197564750991390144630234207392264522591808182946941809771327990572827410238390677661218513483430054470844265316415075260139631201926799553669072047140452124723180539143201257411669925883251787513217890290464101840641583127643050286419308176707481635476345226092118332859179143148324099265924258335383585050313457022476281129975973163710293877166347475342816725506947982465556124228562624173834942645331853165681646991117829532181222713042652739553387542423850399291207634554673445353761868253208215133283576985943593630408871939808814211683301043164845282758800313615938305904410283197652949365692044570005800081516199639548294624467981617241289514876142948808142124849379731036087398616838023084826679630254109796209248453291725098978317040858998601773352018893047516471440550121636292927111775346655699806303976810628658524588848398829783927420367726661375320954159271542055657066939151244132513093582837764786823476254704627475726294462140618404444416281059591991473259422973472387194314092152761754582632551191418263473909015478638674832132702893292587061005424009583790176717901903495389777655756685444384859990521993720516449103579058898246100957265402528079763134814778819311588740969809044723191030858384352668720002766758204676253217961788443200619218624873801301580982436281020007260333222555308691785777280052870810114626649480017172023297198917225264612948494885223891071205813277629112916972803358681235752412080540996414893211916336022184737710863494737636939715889171677689476895759251347572453130885765035282272391363049981676690945295025583054155335372640283059541222137329317362778945691763232654706290450286399424039743127917494839659834416388732209626581847046915916436602686247398961378981420476458120031697691840604482649366759688986254965900121896571523171253315884469384123551733684919829583518162876771606256513145463508974340239827415975760210827347146072365635050659972714121392428755376061243930725442689186628408816194405505640302659369926440995079521093289481781832163685057295625821334647315878117248433609521132590760052360347601918567569465618915288170695308860762997503746832966831491697142136680534233131453236285370788179706281602364882838753606680316967399650214872832513113864260017042898777393867883999585777680430047075949431264183135387884306865272990089399177423616276043546288717249707132342953352994941543238443310248045073089215759465598841380097055365150184686572587355575144844826396204964939139862663931910416895301924579899764053664293131460380908083121230502603853270088431380992395421692250885561265601932334396477445173601130309435216648022676744961811061938072715196269679393898267654662935183791852901311268100821123241552218538521418405105892404680265114303202954400577304621339976323724374128027259154499857273657615997863030493659855212025768544009778544057572712421918017607748212130547404968978 430208736340683184731462626334981186772578284369420819358824154264889585802690477298767844774539540657370819843128080047685827292885262441357763762359357168023295358965437217376535786586571614691328164811108812752468069047326362013936005866961176839261241926852785350847749693141389522339270333235116915518473792817012932748799185134650251694107782266233370726042343331488157444184332033428700292658688602217033623821251420129533227628898105395203655389387182923992797464263715941860927705660908830072401680553853647840591808822549389614507515031859156863356413092879075984444489985998010387377805136700080733197045714482755129288607446461179003909546709447227822322635410010434964401357938069965559138380330281469759331653667535636033439238454485485128459143986668781689226369800328743996856525358167900562758952657001380954647519779562176518689226329526665305580653407317886819947239258981473027667161990623884246350223778445374250581253432169358851041329681574204158342461379378862330061201265845774137317236713624855696096562366801591648794651479179165605463072281461684155272231792260563736476295846369942538883746237048313386282896065167268522356670212658342136680922028672750173257799773797603102488968375520552294234180983914080670514686384856894453758942989686964629869493840942103855831407770458235922898525478690964030912611368370528884575076370967770986969716804710403732340100868500604591365077458710827985135421384189021205582242328461631067638526550224405123480378609777795072083169418024983077993874494683178101296217411464228726102461026107677935908798143097667477524285222362854190054923503657341977483566408144443357770902030853884849643605861429949877314163858175169039633501223508882768116403865878196068717336486997351228353860790339451568702013022426229999104783192195988748995629773837563660226799880346672381617611725538208354257135284312911276032046512680160592107992777855901834737278019766314746927435798869296875447597719287326665730339009002676539568820613801443949333907713442732657846215489531302937306896143904066343794442958698303254224322310780148864767361259715909194110033110478984149724713891075410511390391913557101335975318807263096454150399730433592767687122815652671304052755489022032341223293924911143806561779429133925314543567612057171453117462910826576913469376569234415557054195054645128368467556101741433281191541317818194629233032450721867977288956933781729065983964640428470618355159976906907209997340260591948632760660949769514711129752172338016645134715709827199504114590115745491457592999663389558693613536826331956424951106481458365701531946992763865600188029599564655361285246207903993702777240750267035741495680009247683108754023007916751114897814100043851334297334876520773456016871065102822120941277569693378116469048271419679229039453602455643013060417784649749723580364796577896808194861000084452766689545322870765806054992573300149077062226009479932448164105804249372829 696092357656367455070072918876481351275446455726939398325623702697457901772552674863518836164684170891578212107650671855868774234695033769348336589769595558700956577478920647431006630851888029766588304442310739552021738119373502466060729047500320040518653596778668602635262911031679986441110974818244558568760212125189640230434661479876343812440641445376519050141609255746492827769382346885722768939818578190197334115128586477008570445623612343186120945511411486616971299206361273714093387307899947901933861776566690493331362210091813464906806239493711536801766854747329192659623269574996330971435545572020542011257397783798294133890205261492619847852613857511019975584775702479534407158019586165198686674954749451376572943182411778982247380579334864859495231385285619712311196479958998106652734606621192287857930974042239953249293131581069566205697770076786941873580519093233475647045562958283656325686579472283076134151198813100911956574386328630393096986748513355402474974472961700094848024742100478764792963008086996314501006783082651240786124738602139077850266595553836917026814424811755154739769755385421177558578369751206678869957070591278106146846930560245632070699684429435617642659764319596823005417479099611192480281941179483198594449519671673273070531730656773674592684871800488208500127773224994127574778696652752474113230586995402685876657353404052006976977137932959041031886645780657462175192085360308002307444681387938430846855276956516291529597756037682752593295582581153753318921830105524074408767706599514123480955122327723463739400741996849613598275038856918825096738353248619225337195895020391959160257353439468940825057366226525132703147083567279194676942803866932272288207513959169167540443609006113563556996321413739960563487372186498484618449625112477398066162173616465207115661471529404264709449247106361367872577625660104925780306537628795745416170064413845511937576296018778606343534532911778255901776038696712851207808546634472738095974059662649253690213042556820010577838438885421844474624305725708442947198803273992784789522479791592736006154474465206160393182594363225072227281544088505282315473943435758113308959483022720251263489502571957217147903477266559599178819957789351838285886942258317712011473631192746171444618182740605631510967262272044285630576775086593956368153963102299556639972735075175444416987365924568669075848183091184718632209874338144020835245651031436198326917993423412161593603287154952283086556020057547474140758005134664895816324759693591789979542106032164443254452779677401874488301587969458457667201119463416805859189602688868305385217081195246592583451291815540922550848140238390180222414351397345176712328031924428070565084945989466311167493493942118988960270060312626357328139165923945362493496108214796521574940676099944343342656556856220317681757760973474097708392055732396665468518616082315797183205178082791574599002351844206649774647927497540196376236351654341807 1126301093997050639801535545211462538048024740096360217684447856962347487575243152162286680939223711548949031950778751903554601527580296210706100352128952726724251936444357864807542417438459644457916469253419552304489807166699864479996734914461496879779895523631453953483012604173069508780381308053361474087234004942202572979233846614526595506548423711609889776183952587234650271953714380314423061598507180407230957936380006606541798074521717738389776334898594410609768763470077215575021092968808777974335542330420338333923171032641203079414321271352868400158179947626405177104113255573006718349240682272101275208303112266553423422497651722671623757399323304738842298220185712914498808515957656130757825055285030921135904596849947415015686619033820349987954375371954401401537566280287742103509259964789092850616883631043620907896812911143246084894924099603452247454233926411120295594284821939756683992848570096167322484374977258475162537827818497989244138316430087559560817435852340562424909226007946252902110199721711852010597569149884242889580776217781304683313338877015521072299046217072318891216065601755363716442324606799520065152853135758546628503517143218587768751621713102185790900459538117199925494385854620163486714462925093563869109135904528567726829474720343738304462178712742592064331535543683230050473304175343716505025841955365931570451733724371822993946693942643362773371987514281262053540269544071135987442866065576959636429097605418147359168124306262087876073674192358948825402091248130507152402642201282692224777172533791952189841861768104527549507073181954586302621023575611473415392119398677733936643823761583912298595959397080409982346752944997229071991106662042101311921708737468051935656847474884309632274332808411091188917348162525950053320462647538707397170945365812453956111291245366967924936249127453033749490189351198313280037441821941707021448216577094006104045569073874680441080812552678093002829211837566009726655406265921799403826313068665325793259033656358263959911746152328154502320839795257011380254094947178059128583965438489895990230476785245355025160543854079134266337314654567489432040187834511168624699351396579821587238808309835053671298303207700152366865942773442023142338642431280350053234767556103889978006397611874530946054534874329215738748039685913170869837530532336715113694167789720303812884543467666001950267389500909379347865242325060011998124202584813165264310882633851882779948763264061859493083896280649496106901418954904179606946076932031608435114257815859363947369042895422893332081301251359017151280737945795373230810296084147234006917164073959112192771480891380196283836094348142383882999655101664380918208008041172111179319107953906217426065307593985970323257604936833399813345010231026767483434773677908174638043988947519623572382110159311863330742175545623223821288756852310293473663379616166768563872750500953557380653994925144355726836873936977472644540342155903714636 1822393451653418094871608464087943889323471195823299616010071559659805389347795827025805517103907882440527244058429423759423375762275329980054436941898548285425208513923278512238549048290347674224504773695730291856511545286073366946057463961961816920298549120410122556118275515204749495221492282871606032655994217067392213209668508094402939318989065156986408826325561842981143099723096727200145830538325758597428292051508593083550368520145330081575897280410005897226740062676438489289114480276708725876269404106987028827254533242733016544321127510846579936959946802373734369763736525148003049320676227844121817219560510050351717556387856984164243605251937162249862273804961415394033215673977242295956511730239780372512477540032359193997933999613155214847449606757240021113848762760246740210161994571410285138474814605085860861146106042724315651100621869680239189327814445504353771241330384898040340318535149568450398618526176071576074494402204826619637235303178600914963292410325302262519757250750046731666903162729798848325098575932966894130366900956383443761163605472569357989325860641884074045955835357140784894000902976550726744022810206349824734650364073778833400822321397531621408543119302436796748499803333719774679194744866273047067703585424200240999900006451000511979054863584543080272831663316908224178048082871996468979139072542361334256328391077775875000923671080576321814403874160061919515715461629431443989750310746964898067275952882374663650697722062299770628666969774940102578721013078236031226811409907882206348258127656119675653581262510101377163105348220811505127717761928860092640729315293698125895804081115023381239421016763306935115049900028564508266668049465909033584209916251427221103197291083890423195831329129824831149480835534712448537938912272651184795237107539428919163226952716896372189645698374559395117362766976858418205817748359570502766864386641507851615983145369893459047424347085589871258730987876262722577863214812556272141922287128327975046949246698915083970489584591213576346795464100982719823201293750452051913373487918281488726236631259710561185553726448442359338564596198655994714355661777946926738008310879602541838502297812407010888446206684966711966044762731231374980624529373538667765246241187296636149451015794615136577565502136601260024378616460999764826205684495439014670334140524795479257301530833590570619343237684000564066497452199398156018959448235844601462637800627275294941542366551216811776170452300707043581042176960038844502762401691725200225093799921891528390623495675100295206569602839328475608947939065258790036669485686836102312302381155154358785354932183195737206386942488380774063222069453061726094920336073096539249884192899895683737232801087928089312217874997146026170673149396950712845928269786122971159618929623619567915724766716168083648423933306596697918997148908042690139131898232249084361055955679036348955252997276988562376611521864475012840916578507558056443 2948694545650468734673144009299406427371495935919659833694519416622152876923038979188092198043131593989476276009208175662977977289855626190760537294027501012149460450367636377046091465728807318682421242949149844161001352452773231426054198876423313800078444644041576509601288119377819004001873590924967506743228222009594786188902354708929534825537488868596298602509514430215793371676811107514568892136832939004659249987888599690092166594667047819965673615308600307836508826146515704864135573245517503850604946437407367161177704275374219623735448782199448337118126750000139546867849780721009767669916910116223092427863622316905140978885508706835867362651260466988704572025147128308532024189934898426714336785524811293648382136882306609013620618646975564835403982129194422515386329040534482313671254536199377989091698236129481769042918953867561735995545969283691436782048371915474066835615206837797024311383719664617721102901153330051237032230023324608881373619608688474524109846177642824944666476757992984569013362451510700335696145082851137019947677174164748444476944349584879061624906858956392937171900958896148610443227583350246809175663342108371363153881216997421169573943110633807199443578840553996673994189188339938165909207791366610936812721328728808726729481171344250283517042297285672337163198860591454228521387047340185484164914497727265826780124802147697994870365023219684587775861674343181569255731173502579977193176812541857703705050487792811009865846368561858504740643967299051404123104326366538379214052109164898573035300189911627843423124278205904712612421402766091430338785504471566056121434692375859832447904876607293538016976160387345097396652973561737338659156127951134896131624988895273038854138558774732828105661938235922338398183697238398591259374920189892192408052905241373119338243962263340114581947502012428866852956328056731485855190181512209788312603218601857720028714443768139488505159638267964261560199713828732304518621078478071545748600196993300840208280355273347930401330743541730849116303896239731203455388697630111041957453356771384716467108044955916210714270302521493604901910853223484146395849612458095362707662276182363425741106122242064559744509892666864332910705504673398122963171804819017818481008743400526127457413406489667523620037010930475763126656146912935696043215027775729784028308314515783070186074301256572569610627184909943414362694524458168017083650820657766726948683261127177721491129815278671269254348581356539687943595914943024109708478623756808660208057737750892337992538570523188538650904090687492760228677011054163267479781770983336319219545229113470978126413074575933490223036836523157946221724554726107013128344114268650429203300853801901163298108681914059635475479933979425984018159627977480329363043464031145797662918571139191488106876875479946979166108852219921740285905760352983612795277848415852924928706179989906335906992202132918103448395801452485485456920663461771079 4771087997303886829544752473387350316694967131742959449704590976281958266270834806213897715147039476430003520067637599422401353052130956170814974235926049297574668964290914889284640514019154992906926016644880136017512897738846598372111662838385130720376993764451699065719563634582568499223365873796573539399222439076986999398570862803332474144526554025582707428835076273196936471399907834714714722675158697602087542039397192773642535114812377901541570895718606205063248888822954194153250053522226229726874350544394395988432237518107236168056576293046028274078073552373873916631586305869012816990593137960344909647424132367256858535273365691000110967903197629238566845830108543702565239863912140722670848515764591666160859676914665803011554618260130779682853588886434443629235091800781222523833249107609663127566512841215342630189024996591877387096167838963930626109862817419827838076945591735837364629918869233068119721427329401627311526632228151228518608922787289389487402256502945087464423727508039716235916525181309548660794721015818031150314578130548192205640549822154237050950767500840466983127736316036933504444130559900973553198473548458196097804245290776254570396264508165428607986698142990793422493992522059712845103952657639658004516306752929049726629487622344762262571905881828752609994862177499678406569469919336654463303987040088600083108515879923572995794036103796006402179735834405101084971192802934023966943487559506755770981003370167474660563568430861629133407613742239153982844117404602569606025462017047104921293427846031303497004386788307281875717769623577596558056547433331658696850749986073985728251985991630674777437992923694280212446553002126245605327205593860168480341541240322494142051429642665156023936991068060753487879019231950847129198287192841076987645160444670292282565196679159712304227645876571823984215723304915149691672938541082712555176989860109709336011859813661598535929506723857835520291187590091454882381835891034343687670887325321275887157527054188431900890915334755307195911767997222451026656682448082162955330941275052873442703739304666477396267996750963852943466507051879478860751511390405022100715973155784905264243403934649075448190716577633576298955468235904773103587701178357685583727249930697162276908429201104804101185539147531735787505272607912700522248899523214744454362448839311262327487605134847143188953864868910507480860146723856324036043099056502368189586483888402472663033496366495483045424800882063583268985772874981868612470880315482008885301857659642420728616034245623483745220506930015968369176616076312953304149267457819438631521926384267829763481345257771670696609979324903932009443794007787833108048680187365189679087493753697584900530909769842148947693354931125452154691309024928193175291313250154116957281848194758759403831643591648030627590042158816619659283054668395673751927176080664937285984661859026255291159989479121480480059917665927498326373499171019827522 7719782542954355564217896482686756744066463067662619283399110392904111143193873785401989913190171070419479796076845775085379330341986582361575511529953550309724129414658551266330731979747962311589347259594029980178514250191619829798165861714808444520455438408493275575320851753960387503225239464721541046142450661086581785587473217512262008970064042894179006031344590703412729843076718942229283614811991636606746792027285792463734701709479425721507244511027206512899757714969469899017385626767743733577479296981801763149609941793481455791792025075245476611196200302374013463499436086590022584660510048076568002075287754684161999514158874397835978330554458096227271417855255672011097264053847039149385185301289402959809241813796972412025175236907106344518257571015628866144621420841315704837504503643809041116658211077344824399231943950459439123091713808247622062891911189335301904912560798573634388941302588897685840824328482731678548558862251475837399982542395977864011512102680587912409090204266032700804929887632820248996490866098669168170262255304712940650117494171739116112575674359796859920299637274933082114887358143251220362374136890566567460958126507773675739970207618799235807430276983544790096488181710399651011013160449006268941329028081657858453358968793689012546088948179114424947158061038091132635090856966676839947468901537815865909888640682071270990664401127015690989955597508748282654226923976436603944136664372048613474686053857960285670429414799423487638148257709538205386967221730969107985239514126212003494328728035942931340427511066513186588330191026343687988395332937803224752972184678449845560699890868237968315454969084081625309843205975687982943986361721811303376473166229217767180905568201439888852042653006296675826277202929189245720457662113030969180053213349911665401903440641423052418809593378584252851068679632971881177528128722594922343489593078711567056040574257429738024434666362125799781851387303920187186900456969512415233419487522314576727365807409461779831292246078297038045028071893462182230112071145712273997288394631824258159170847349622393606982267053485346548368417905102963007147361002863117463423635431967268689984510056891140007935226470300440631866173740578171226550872983176703402208258674097688404365842607594471624805576158462211550631928754825636218292114550990474238390757153827045397673679436103715758564492053820450895222841248314492053126749877160134916535167149529650384524626181774154314679149463420122956929368789924892722179358939238817545509915397393313066608572816146672283871411020703461129405293087367116571629049228802774950741471613381300741607758332347604186833016161427089955665518562513940121177024301633840108290794607499486063829018451756208583168834865104878138709468652905673504654356714185262754944766765897950891938520467127977606756151011036541399568960428748657364722453929080790210913368039016161627066981681254398583508313467379983811830419834481598601 12490870540258242393762648956074107060761430199405578733103701369186069409464708591615887628337210546849483316144483374507780683394117538532390485765879599607298798378949466155615372493767117304496273276238910116196027147930466428170277524553193575240832432172944974641040415388542956002448605338518114585541673100163568784986044080315594483114590596919761713460179666976609666314476626776943998337487150334208834334066682985237377236824291803623048815406745812717963006603792424093170635680289969963304353647526196159138042179311588691959848601368291504885274273854747887380131022392459035401651103186036912911722711887051418858049432240088836089298457655725465838263685364215713662503917759179872056033817053994625970101490711638215036729855167237124201111159902063309773856512642096927361337752751418704244224723918560167029420968947051316510187881647211552689001774006755129742989506390309471753571221458130753960545755812133305860085494479627065918591465183267253498914359183532999873513931774072417040846412814129797657285587114487199320576833435261132855758043993893353163526441860637326903427373590970015619331488703152193915572610439024763558762371798549930310366472126964664415416975126535583518982174232459363856117113106645926945845334834586908179988456416033774808660854060943177557152923215590811041660326886013494410772888577904465992997156561994843986458437230811697392135333343153383739198116779370627911080151931555369245667057228127760330992983230285116771555871451777359369811339135571677591264976143259108415622155881974234837431897854820468464047960649921284546451880371134883449822934664523831288951876859868643092892962007775905522289758977814228549313567315671471856814707469540261322956997844105044875979644074357429314156222161140092849655949305872046167698373794581957684468637320582764723037239255156076835284402937887030869201067263677634898666582938821276392052434071091336560364173085983635302142574894011642069282292860546758921090374847635852614523334463650211732183161413052345240939839890684633256768753593794436952619335906877131601874586654288871003250263804449199491834924956982441867898872393268139564139608587752173954227913991540215456125943047934016930821641976482944330138574161534388985935508604794850681274271808699275725991115305993947338137201362738336740541014074205218692753205993138307725161284570950858947518356922730958376082987972170816089169848933662503106121651037932123047558122548269637360103950345483706225915141664906761334650239254720826430811773057035733795224607061770156029091917950719429498581909163680069875778316686622213582263397997649130505089103590119274883442995486331021965109312570301773229225704488999029787378288361197070964359928221598357530862189796230330293400777677833866679945669964339379712226614960656710295770164058776008234346193169853161058852015097144331116649630009745727496898029898042416918226971160375879063568231133307482138203919005501426123 20210653083212597957980545438760863804827893267068198016502811762090180552658582377017877541527381617268963112221329149593160013736104120893965997295833149917022927793608017421946104473515079616085620535832940096374541398122086257968443386268002019761287870581438250216361267142503343505673844803239655631684123761250150570573517297827856492084654639813940719491524257680022396157553345719173281952299141970815581126093968777701111938533771229344556059917773019230862764318761893992188021307057713696881832944507997922287652121105070147751640626443536981496470474157121900843630458479049057986311613234113480913797999641735580857563591114486672067629012113821693109681540619887724759767971606219021441219118343397585779343304508610627061905092074343468719368730917692175918477933483412632198842256395227745360882934995904991428652912897510755633279595455459174751893685196090431647902067188883106142512524047028439801370084294864984408644356731102903318574007579245117510426461864120912282604136040105117845776300446950046653776453213156367490839088739974073505875538165632469276102116220434186823727010865903097734218846846403414277946747329591331019720498306323606050336679745763900222847252110080373615470355942859014867130273555652195887174362916244766633347425209722787354749802240057602504310984253681943676751183852690334358241790115720331902885797244066114977122838357827388382090930851901666393425040755807231855216816303603982720353111086088046001422398029708604409704129161315564756778560866540785576504490269471111909950883917917166177859408921333655052378151676264972534847213308938108202795119342973676849651767728106611408347931091857530832132964953502211493299929037482775233287873698758028503862566045544933728022297080654105140433425090329338570113611418903015347751587144493623086372077962005817141846832633740329686353082570858912046729195986272557242156176017532843448093008328521074584798839448109435083993962197931829256182749830059174154509862369950429341889141873111991563475407491349383285967911784146815486880824739506710949907730538701389761045434003911264610232530857934546040203342862085404875046233396131257027563244019719442644212424048431355464061169518234457562687815717061115556689447144711092388143767278892539085640114416293747350796691464456158888769130117563972958833128625195692931143963146965353122834964007054574706082848976551409271305829220485308142296598810822638022656818187461773432082748730043791674783099808903829182844510454831654056829598193959643976321688454429046861833179877916828312963328971422890627987202251047186447407365915424988533004869611030431246696861922466879070276011647758111920774831132815713350402728790632869895669082968696557028188946673354566114031024661335208432110246330739540184600026678524642467171381726554661187708684525903985841102344180889702458420975525892988481372083938826517707811397937058578545293952841630277647076544600687465950034338839983024724 32701523623470840351743194394834970865589323466473776749606513131276249962123290968633765169864592164118446428365812524100940697130221659426356483061712749524321726172557483577561476967282196920581893812071850212570568546052552686138720910821195595002120302754383224857401682531046299508122450141757770217225796861413719355559561378143450975199245236733702432951703924656632062472029972496117280289786292305024415460160651762938489175358063032967604875324518831948825770922554318085358656987347683660186186592034194081425694300416658839711489227811828486381744748011869788223761480871508093387962716420150393825520711528786999715613023354575508156927469769547158947945225984103438422271889365398893497252935397392211749444795220248842098634947241580592920479890819755485692334446125509559560180009146646449605107658914465158458073881844562072143467477102670727440895459202845561390891573579192577896083745505159193761915840106998290268729851210729969237165472762512371009340821047653912156118067814177534886622713261079844311062040327643566811415922175235206361633582159525822439628558081071513727154384456873113353550335549555608193519357768616094578482870104873536360703151872728564638264227236615957134452530175318378723247386662298122833019697750831674813335881625756562163410656301000780061463907469272754718411510738703828769014678693624797895882953806060958963581275588639085774226264195055050132623157535177859766296968235159351966020168314215806332415381259993721181260000613092924126589900002112463167769466412730220325573039799891401015291306776154123516426112326186257081299093680072991652618054007497508138603644587975254501240893099633436354422723931316440042613496353154247090102581168298289826819563889649978604001941155011534454589647251469431419769560724775061515449960939075580770840715282588581864884071888896406521637485508745942915930263249950192140822758956354119840145442399612411145163012534093070386136537091943471325465042690605933075600237217586281956412476336762203295658568904401728526907751674831448743649578333301147902527066445578521362920020658200135613482794662383745532038267819067846742945105789399396591702852607471616598440338039971570920187112566168474493509457693544059886828021306245481374079275883687389766914386224993023076787806770450106226906331480302309699374142699400911623897169140103660847996248578005433653601205899282367647388817192656124231466447744485141128778469225393896479640871278313429034887050154387535408759652119738415391479837448680470407133461511464780657057786939686984342055246922142320126569111414727256323185682602047202115268267608679561751785965512586153953719007134089133885884143703117486579628433279631899683047371329893627992548874894952923644893214457565538725511024008573406864545696642864022179397996687211371483478848584679994075448537350742863517272990623037319598021713948572245204709427835100995463520924002006156710644775733994948088238257845484450847 52912176706683438309723739833595834670417216733541974766109324893366430514781873345651642711391973781387409540587141673694100710866325780320322480357545899441344653966165500999507581440797276536667514347904790308945109944174638944107164297089197614763408173335821475073762949673549643013796294944997425848909920622663869926133078675971307467283899876547643152443228182336654458629583318215290562242085434275839996586254620540639601113891834262312160935242291851179688535241316212077546678294405397357068019536542192003713346421521728987463129854255365467878215222168991689067391939350557151374274329654263874739318711170522580573176614469062180224556481883368852057626766603991163182039860971617914938472053740789797528788099728859469160540039315924061639848621737447661610812379608922191759022265541874194965990593910370149886726794742072827776747072558129902192789144398935993038793640768075684038596269552187633563285924401863274677374207941832872555739480341757488519767282911774824438722203854282652732399013708029890964838493540799934302255010915209279867509120325158291715730674301505700550881395322776211087769182395959022471466105098207425598203368411197142411039831618492464861111479346696330749922886118177393590377660217950318720194060667076441446683306835479349518160458541058382565774891722954698395162694591394163127256468809345129798768751050127073940704113946466474156317195046956716526048198290985091621513784538763334686373279400303852333837779289702325590964129774408488883368460868653248744273956682201332235523923717808567193150715697487778568804264002451229616146306989011099855413173350471184988255412316081865909588824191490967186555688884818651535913425390637022323390454867056318330682129935194912332024238235665639595023072341798769989883172143678076863201548083569203857212793244594399006730904522636736207990568079604854962659459236222749382978934973886963288238450728133485729961851982202505470130499289875300581647792520665107230110099587536711298301618209874194859133976395751111812875663458978264230530403072807858852434796984279911123965454662111400223715325520318291572241610681153251617991339185530653619266096627191059242652762088402926384248282084402932056197273410605175443517468450956573762223043162579928852554500641286770427584498234906265115675461597866282658207271324596604555041132287069013970831212585060008359684054875833776918694646413141432373763046555307779151435287412855669911723620008357220709670149963291364591604162574570069448309435642640114383455149965893827518890966817603812655018575893565210754556313665774442770593048517472190648273137219709992998482827435053033023995018781847245806658974835933199930031162070264769578716454298590185020737821568307489758924239118900747157621270339312947049145723321388664646569378413766032671187533110583979916550881531632565975693966148930308079393797887398762912520825772159574008814876843636434357721320334682414038272596685467475571 85613700330154278661466934228430805536006540200015751515715838024642680476905164314285407881256565945505855968952954197795041407996547439746678963419258648965666380138722984577069058408079473457249408159976640521515678490227191630245885207910393209765528476090204699931164632204595942521918745086755196066135717484077589281692640054114758442483145113281345585394932106993286521101613290711407842531871726580864412046415272303578090289249897295279765810566810683128514306163870530162905335281753081017254206128576386085139040721938387827174619082067193954259959970180861477291153420222065244762237046074414268564839422699309580288789637823637688381483951652916011005571992588094601604311750337016808435724989138182009278232894949108311259174986557504654560328512557203147303146825734431751319202274688520644571098252824835308344800676586634899920214549660800629633684603601781554429685214347268261934680015057346827325201764508861564946104059152562841792904953104269859529108103959428736594840271668460187619021726969109735275900533868443501113670933090444486229142702484684114155359232382577214278035779779649324441319517945514630664985462866823520176686238516070678771742983491221029499375706583312287884375416293495772313625046880248441553213758417908116260019188461235911681571114842059162627238799192227453113574205330097991896271147502969927694651704856188032904285389535105559930543459242011766658671355826162951387810752773922686652393447714519658666253160549696046772224130387501413009958360870765711912043423094931552561096963517699968208442022473641902085230376328637486697445400669084091508031227357968693126859056904057120410829717291124403540978412816135091578526921743791269413493036035354608157501693824844890936026179390677174049612719593268201409652732868453138378651509022644784628053508527182980871614976411533142729628053588350797878589722486172941523801693930241083128383893127745896875124864516295575856267036381818771907112835211271040305710336805122993254714094546636398154792545300152840339783415133809712974179981406109006754961863429858432486885475320311535837198120182702037104279878500221098360936444974930050210968949234662675841093100128374497304435394650571406549706731104149235330345489757202055136302319046267318619468886866279793504372305005356371342581793078168592357581414023997516178938301427172674818827461163065442013285260775116144566083463605797556605229494299792920280213756638249566391364491286670649744557200117678900000363814694308484839789273091320584790588611477358608175948753757290796997073822815707530881125425080501699093778731119519392763541404828389554750268792947639186977714025915936379692543118539050686509659595349896669261763825628483813013286696463260413403817453576466285883132294347886353913691419964252686825967375100977404154666381695263973991999418882375429492966956771967627677415511835971008117230253607260569472335800845642591068366096068677362126510854530951926418 138525877036837716971190674062026640206423756933557726281825162918009110991687037659937050592648539726893265509540095871489142118862873220067001443776804548407011034104888485576576639848876749993916922507881430830460788434401830574353049504999590824528936649426026175004927581878145585535715040031752621915045638106741459207825718730086065909767044989828988737838160289329940979731196608926698404773957160856704408632669892844217691403141731557591926745809102534308202841405186742240452013576158478374322225665118578088852387143460116814637748936322559422138175192349853166358545359572622396136511375728678143304158133869832160861966252292699868606040433536284863063198759192085764786351611308634723374197042878971806807020994677967780419715025873428716200177134294650808913959205343353943078224540230394839537088846735205458231527471328707727696961622218930531826473748000717547468478855115343945973276284609534460888487688910724839623478267094395714348644433446027348048875386871203561033562475522742840351420740677139626240739027409243435415925944005653766096651822809842405871089906684082914828917175102425535529088700341473653136451567965030945774889606927267821182782815109713494360487185930008618634298302411673165904002707098198760273407819084984557706702495296715261199731573383117545193013690915182151508736899921492155023527616312315057493420455906315106844989503481572034086860654288968483184719554117148043009324537312686021338766727114823511000090939839398372363188260161909901893326821739418960656317379777132884796620887235508535401592738171129680654034640331088716313591707658095191363444400708439878115114469220138986320418541482615370727534101700953743114440347134428291736883490902410926488183823760039803268050417626342813644635791935066971399535905012131215241853057106213988485266301771777379878345880934169878937618621667955652841249181722395690906780628904128046416622343855879382605086716498498081326397535671694072488760627731936147535820436392659704553015712756510593013926521695903952152659078592787977204710384478916865607396660414138343610850929982422936060913445703020328676521489181374349978927784160460703830235045861853735083745862216777423688683676734974338605904004514754410773862958208158628898525362208847247472023387507566563931956803240262636458257254676034875015788685348594120733979433714241688789658673748125450372969315650949921484778110018938988978992540855100699431649044051105236303088111295027870454227350080970264591967977268878554288098708733960699174043761443252435694839720574894609652092398709272741635681738746276141864371779636991583411814542048099547748751620382692220001709044697783625499202093374983886439690757420161438840480279927073998034024518031567903162741692695367033040753564687199300962837143285641351472536753514743436825853914805847953908550300414007995468660922920897935756809309723369771029751079379420143481150677689279025426087416403359776164783451216419401989 224139577366991995632657608290457445742430297133573477797541000942651791468592201974222458473905105672399121478493050069284183526859420659813680407196063197372677414243611470153645698256956223451166330667858071351976466924629022204598934712909984034294465125516230874936092214082741528057633785118507817981181355590819048489518358784200824352250190103110334323233092396323227500832809899638106247305828887437568820679085165147795781692391628852871692556375913217436717147569057272403357348857911559391576431793694964173991427865398504641812368018389753376398135162530714643649698779794687640898748421803092411868997556569141741150755890116337556987524385189200874068770751780180366390663361645651531809922032017153816085253889627076091678890012430933370760505646851853956217106031077785694397426814918915484108187099560040766576328147915342627617176171879731161460158351602499101898164069462612207907956299666881288213689453419586404569582326246958556141549386550297207577983490830632297628402747191203027970442467646249361516639561277686936529596877096098252325794525294526520026449139066660129106952954882074859970408218286988283801437030831854465951575845443338499954525798600934523859862892513320906518673718705168938217627753978447201826621577502892673966721683757951172881302688225176707820252490107409604622311105251590146919798763815284985188072160762503139749274893016677594017404113530980249843390909943310994397135290086608707991160174829343169666344100389094419135412390549411314903285182610184672568360802872064437357717850753208503610034760644771582739265016659726203011037108327179282871475628066408571241973526124196106731248258773739774268512514517088834692967268878219561150376526937765534645685517584884694204076597017019987694248511528335172809188637880584353620504566128858773113319810298960360749960857345703021667246675256306450719838904208568632430582322834369129545006236983625279480211581014793657182664572053512844395873462943207187841530773197782697807729807303146991168719066996056792492442493726597690178890365885025872362358523843996776097736405302734471898111565885722365780801367681595448339864229135390754041203995096516410924838962345151920993119071385545745155610735618903646104208447965360684034827681255114566091492274373846357436329108245619007800839047754203467373370099372591636912917735141414363608486134911190892386254576426066066050861573624736545584222035154893619711862800689354802694452602581698520198784550198649164592331791963187039127887981825281283964632372920611043870788474332185406649166221524980272516807163826777840958150510756510976175355946876489102499020413330331406979423070613720005191745211914034572949350352770058108102244105555557811047311214494828316566559146271833318923885859035085654876528563249894038298504128615720840980520296501111927900549719296383424961627879692865563434224821559340779146981332986680712953486478534921616494453512472037138291294305747371328407 362665454403829712603848282352484085948854054067131204079366163860660902460279239634159509066553645399292386988033145940773325645722293879880681850972867745779688448348499955730222338105832973445083253175739502182437255359030852778951984217909574858823401774942257049941019795960887113593348825150260439896226993697560507697344077514286890262017235092939323061071252685653168480564006508564804652079786048294273229311755057992013473095533360410463619302185015751744919988974244014643809362434070037765898657458813542262843815008858621456450116954712312798536310354880567810008244139367310037035259797531770555173155690438973902012722142409037425593564818725485737131969510972266131177014972954286255184119074896125622892274884305043872098605038304362086960682781146504765131065236421139637475651355149310323645275946295246224807855619244050355314137794098661693286632099603216649366642924577956153881232584276415749102177142330311244193060593341354270490193819996324555626858877701835858661965222713945868321863208323388987757378588686930371945522821101752018422446348104368925897539045750743043935870129984500395499496918628461936937888598796885411726465452370606321137308613710648018220350078443329525152972021116842104121630461076645962100029396587877231673424179054666434081034261608294253013266181022591756131048005173082301943326380127600042681492616668818246594264396498249628104264767819948733028110464060459037406459827399294729329926901944166680666435040228492791498600650711321216796612004349603633224678182649197322154338737988717039011627498815901263393299656990814919324628815985274474234920028774848449357087995344335093051666800256355144996046616218042577807407616012647852887260017840176461133869341344924497472127014643362801338884303463402144208724542892715568862357623235072761598586112070737740628306738279872900604865296924262103561088085930964323337362951738497175961628580839504662085298297513291738509062107725206916884634090675143335377351209590442402360745520059657584182645588691960744645101572319385667383600750363942737969755184258135119708587335285157407959025011588742694457322856862969798318792013295851457871439040958370146008584824561929344681802748120520083761514740133658056878071406173519312933353043463961813563515661881412921368285911485881644259096302430238342389158784721185757646897168855656052398144808659316342759223892077015987535639683643675534563214576009994319143511844740460038997540713876726390653011900279619429184299769232065593415986690559241983138676134363863479565628194907080016301258620234253014152488902573053982822522290393502559587170488924588650247772033713023626981132115311503630690947305289018459389041110190219546942724385482631809081335732526396219729300838967200351964639423722284955839365706535535389771040882130464277806374211306959881809100019710391420430288802613763499191034131282710550176732412366100856434637156224200641920540928875396914456077756963790730396 586805031770821708236505890642941531691284351200704681876907164803312693928871441608381967540458751071691508466526196010057509172581714539694362258168930943152365862592111425883868036362789196896249583843597573534413722283659874983550918930819558893117866900458487924877112010043628641650982610268768257877408349288379556186862436298487714614267425196049657384304345081976395981396816408202910899385614935731842049990840223139809254787924989263335311858560928969181637136543301287047166711291981597157475089252508506436835242874257126098262484973102066174934445517411282453657942919161997677934008219334862967042153247008115643163478032525374982581089203914686611200740262752446497567678334599937786994041106913279438977528773932119963777495050735295457721188427998358721348171267498925331873078170068225807753463045855286991384183767159392982931313965978392854746790451205715751264806994040568361789188883943297037315866595749897648762642919588312826631743206546621763204842368532468156290367969905148896292305675969638349274018149964617308475119698197850270748240873398895445923988184817403173042823084866575255469905136915450220739325629628739877678041297813944821091834412311582542080212970956650431671645739822011042339258215055093163926650974090769905640145862812617606962336949833470960833518671130001360753359110424672448863125143942885027869564777431321386343539289514927222121668881350928982871501374003770031803595117485903437321087076773509850332779140617587210634013041260732531699897186959788305793038985521261759512056588741925542621662259460672846132564673650541122335665924312453757106395656841257020599061521468531199782915059030094919264559130735131412500374884890867414037636544777941995779554858929809191676203611660382789033132814991737317017913180773299922482862189363931534711905922369698101378267595625575922272111972180568554280926990139532955767945274572866305506634817823129941565509878528085395691726679778719761280507553618350523218881982788225100168475327362804575351364655688017537137544066045983357562491116248968610332113708102131895806323740587891879857136577474465060238124224544565246658656242431242211912643036054886556933423786907081265674921819506065828917125475752561702982279854138879996968180724719076379655007936255259278804615019731500652059935350184441809762528884093777394559814903997070416006630943570507235145478468503082053586501257268412080147436611164887938855374645429814841691993316458424910851796450478268593776631561195252632543874672384523267103308507284474523436416669239265422950424841759233286669296066399831823780672801150013535762526435801077752746792447043355033960555185925223635882692517203053032338391462960277655044968491038189620128646947021224536295859985239033670888525282757370610715894269785429428069545010746185118786894507808071809709649739006774845391916682306629062625258952842051329323713745352781569388123634759122258414994441347434052747372062711162058803 949470486174651420840354172995425617640138405267835885956273328663973596389150681242541476607012396470983895454559341950830834818304008419575044109141798688932054310940611381614090374468622170341332837019337075716850977642690727762502903148729133751941268675400744974818131806004515755244331435419028697773635342985940063884206513812774604876284660288988980445375597767629564461960822916767715551465400984026115279302595281131822727883458349673798931160745944720926557125517545301690976073726051634923373746711322048699679057883115747554712601927814378973470755872291850263666187058529307714969268016866633522215308937447089545176200174934412408174654022640172348332709773724712628744693307554224042178160181809405061869803658237163835876100089039657544681871209144863486479236503920064969348729525217536131398738992150533216192039386403443338245451760077054548033422550808932400631449918618524515670421468219712786418043738080208892955703512929667097121937026542946318831701246234304014952333192619094764614168884293027337031396738651547680420642519299602289170687221503264371821527230568146216978693214851075650969402055543912157677214228425625289404506750184551142229143026022230560300563049399979956824617760938853146460888676131739126026680370678647137313570041867284041043371211441765213846784852152593116884407115597754750806451524070485070551057394100139632937803686013176850225933649170877715899611838064229069210054944885198166651013978717676530999214180846080002132613691972053748496509191309391939017717168170459081666395326730642581633289758276574109525864330641356041660294740297728231341315685616105469956149516812866292834581859286450064260605746953173990307782500903515266924896562618118456913424200274733689148330626303745590372017118455139461226637723666015491345219812599004296310492034440435842006574333905448822876977269104830657842015076070497279105308226311363481468263398662634603650808176041377134200788787503926678165141644293493858596233192378667502529220847422462159534010244379978281782645638365369024946091866612911348301868892360267015514911075873049287816161589063207754695447081407535044977448255727093669784082077013256702942008611469010610356724567626585912678640215886219759860351260312399309901533768183038193218523598136672200172900931217382296319031652614680152151687668814963152206712072852726468404775752229823577904702360580098041122140940912087614710651187174882257998886490170274880689534030335151301504808350757888022960931330427318225959861362943765250241984641648338003002044864146345439251683461993486300821784968972885806603195091543516095349696924725666402994564480756378660941687301236727266573639822492071491727432573150497201987692876520821429209982679547620756025160824206234022853164706479655566555259976320964817840585892876649396593268719115031691518749758717166265822205484920392561816293084124761879500446157718882425822760790983322900335535370222830967203449819674952789199 1536275517945473129076860063638367149331422756468540567833180493467286290318022122850923444147471147542675403921085537960888343990885722959269406367310729632084420173532722807497958410831411367237582420862934649251264699926350602746053822079548692645059135575859232899695243816048144396895314045687796955651043692274319620071068950111262319490552085485038637829679942849605960443357639324970626450851015919757957329293435504271631982671383338937134243019306873690108194262060846588738142785018033232080848835963830555136514300757372873652975086900916445148405201389703132717324129977691305392903276236201496489257462184455205188339678207459787390755743226554858959533450036477159126312371642154161829172201288722684500847332432169283799653595139774953002403059637143222207827407771418990301221807695285761939152202038005820207576223153562836321176765726055447402780213002014648151896256912659092877459610352163009823733910333830106541718346432517979923753680233089568082036543614766772171242701162524243660906474560262665686305414888616164988895762217497452559918928094902159817745515415385549390021516299717650906439307192459362378416539858054365167082548047998495963320977438333813102380776020356630388496263500760864188800146891186832289953331344769417042953715904679901648005708161275236174680303523282594477637766226022427199669576668013370098420622171531461019281342975528104072347602530521806698771113212067999101013650062371101603972101055491186381331993321463667212766626733232786280196406378269180244810756153691720841178451915472568124254952017737246955658429004291897163995960664610181988447711342457362490555211038281397492617496918316544983525164877688305402808157385794382680962533107396060452692979059204542880824534237964128379405149933446876778244550904439315413828082001962935831022397956810133943384841929531024745149089241285399212122942066210030234873253500884229786974898216485764545216318054569462529892515467282646439445649197911844381815115175166892602697696174785266734885374900067995818920189704411352382508582982861879958633982600462398911321234816460941167673298166537672814933571305952100291636104498158335881696725113068143259875432398376091876031646387132651741595765691638781462842631114451279306869714492902114572873531534391931478977515950948882948378967002799121961914216552908740546766526976849796884411406695800330813050180829083180094708642198180499694858087798339770196854261135600089722381527346793576212356604801236156616737562891622570858503736035328288517345293148932812526438461533385610862202108303752719587491081035372717630383867892693529631112223360526744155741356927799733694902242487161950902456332339695124524065824036110774857032661367559011049338629626568845292321020809445267693741689989237026177271154246106394245910130903622834515380163226923103501228399497723941111214122167227021624441552036966813208824159903071663995210884425742445158750529811570265019950821882386114848002 2485746004120124549917214236633792766971561161736376453789453822131259886707172804093464920754483544013659299375644879911719178809189731378844450476452528321016474484473334189112048785300033537578915257882271724968115677569041330508556725228277826397000404251259977874513375622052660152139645481106825653424679035260259683955275463924036924366836745774027618275055540617235524905318462241738342002316416903784072608596030785403454710554841688610933174180052818411034751387578391890429118858744084867004222582675152603836193358640488621207687688828730824121875957261994982980990317036220613107872544253068130011472771121902294733515878382394199798930397249195031307866159810201871755057064949708385871350361470532089562717136090406447635529695228814610547084930846288085694306644275339055270570537220503298070550941030156353423768262539966279659422217486132501950813635552823580552527706831277617393130031820382722610151954071910315434674049945447647020875617259632514400868244861001076186195034355143338425520643444555693023336811627267712669316404736797054849089615316405424189567042645953695607000209514568726557408709248003274536093754086479990456487054798183047105550120464356043662681339069756610345320881261699717335261035567318571415980011715448064180267285946547185689049079372717001388527088375435187594522173341620181950476028192083855168971679565631600652219146661541280922573536179692684414670725050132228170223705007256299770623115034208862912331207502309747214899240425204840028692915569578572183828473321862179922844847242203210705888241776013821065184293334933253205656255404907910219789027028073467960511360555094263785452078777602995047785770624641479393115939886697897947887429670014178909606403259479276569972864864267873969777167051902016239471188628105330905173301814561940127332889991250569785391416263436473568026066510390229869964957142280527513978561727195593268443161615148399148867126230610839664093304254786573117610790842205338240411348367545560105226917022207728894419385144447974100702835342776721407454674849474791306935851492822665926836145892333990455489459755600880569629018387359635336613552753885429551480807190081399962817441009845102486388370954759237654274405907525001222702982374763678616771248261085152766092055132528603679150416882166265244697998655413802114065904221723703698973239049702523352816182448030154390954883189663278135830783139092587309568738985514652454853147625770364603071061377128727513861413151994044639698494222049889084463597398272053767587277790581150529440506397531956301453791765746205888312866004345603436987062984237045726461920285252410558735921408556112355843929788398678169029972162187196015793256609261272059020354244079832478548612306116466048346181633651501716594854695716681743826414222427359063750716796499483911973431946038135192747149256441107377036327652147414186257845121091575088324606060790546421033645216725768059086065181793095987154271702061067637201 4022021522065597678994074300272159916302983918204917021622634315598546177025194926944388364901954691556334703296730417872607522800075454338113856843763257953100894658006056996610007196131444904816497678745206374219380377495391933254610547307826519042059539827119210774208619438100804549034959526794622609075722727534579304026344414035299243857388831259066256104735483466841485348676101566708968453167432823542029937889466289675086693226225027548067417199359692101142945649639238479167261643762118099085071418638983158972707659397861494860662775729647269270281158651698115698314447013911918500775820489269626500730233306357499921855556589853987189686140475749890267399609846679030881369436591862547700522562759254774063564468522575731435183290368589563549487990483431307902134052046758045571792344915789060009703143068162173631344485693529115980598983212187949353593848554838228704423963743936710270589642172545732433885864405740421976392396377965626944629297492722082482904788475767848357437735517667582086427118004818358709642226515883877658212166954294507409008543411307584007312558061339244997021725814286377463848016440462636914510293944534355623569602846181543068871097902689856765062115090113240733817144762460581524061182458505403705933343060217481223221001851227087337054787533992237563207391898717782072159939567642609150145604860097225267392301737163061671500489637069384994921138710214491113441838262200227271237355069627401374595216089700049293663200823773414427665867158437626308889321947847752428639229475553900764023299157675778830143193793751068020842722339225150369652216069518092208236738370530830451066571593375661278069575695919540031310935502329784795924097272492280628849962777410239362299382318683819450797399102232002349182316985348893017715739532544646319001383816524875958355287948060703728776258192967498313175155751675629082087899208490557748851815228079823055418059831634163694083444285180302193985819722069219557056440040117182622226463542712452707924613196992995629304760044515969919623025047188073789963257832336671265569834093285064838157380708794931623162757922138553384562589693311735628249657252043765433177532303149543222692873408221194362420017341891889395870171599163782685545613489214957923640962753987267338965586666920535158127932833115148193076965658212924075980120774632444245739766026552320237227589143830485204005064018746458230539425337273087004426826783854422651707408761370454325452588723922303726218017953230201256436057113672459942967333433600342284932570939513963055878967930917567163655900069498925475803947039718321067370930876930575357574143645779154714477278336355846050746172275560629071486304501882320539859080645372046916053015611638843527887241932685311340667202443096769410336544684953707921097568468533753309660847700122318427353595172961238693975548754165048488250449819374435810699397158058388297148765963862210416244529642468213217836594993363361007105093584447182485203 6507767526185722228911288536905952683274545079941293475412088137729806063732367731037853285656438235569994002672375297784326701609265185716958307320215786274117369142479391185722055981431478442395412936627478099187496055064433263763167272536104345439059944078379188648721995060153464701174605007901448262500401762794838987981619877959336168224225577033093874379791024084077010253994563808447310455483849727326102546485497075078541403781066716159000591379412510512177697037217630369596380502506202966089294001314135762808901018038350116068350464558378093392157115913693098679304764050132531608648364742337756512203004428259794655371434972248186988616537724944921575265769656880902636426501541570933571872924229786863626281604612982179070712985597404174096572921329719393596440696322097100842362882136292358080254084098318527055112748233495395640021200698320451304407484107661809256951670575214327663719673992928455044037818477650737411066446323413273965504914752354596883773033336768924543632769872810920511947761449374051732979038143151590327528571691091562258098158727713008196879600707292940604021935328855104021256725688465911450604048031014346080056657644364590174421218367045900427743454159869851079138026024160298859322218025823975121913354775665545403488287797774273026103866906709238951734480274152969666682112909262791100621633052181080436363981302794662323719636298610665917494674889907175528112563312332455441461060076883701145218331123908912205994408326083161642565107583642466337582237517426324612467702797416080686868146399878989536031435569764889086027015674158403575308471474426002428025765398604298411577932148469925063521654473522535079096706126971264189040037159190178576737392447424418271905785578163096020770263966499876318959484037250909257186928160649977224174685631086816085688177939311273514167674456403971881201222262065858952052856350771085262830376955275416323861221446782562842950570515791141858079123976855792674667230882322520862637811910258012813151530219200724523724145188963944020325860389964795197417932681811462572505685586107730764993526601128922078652217677739433954191608080671370964863210005929194984658339493230943185510314418066296848808388296651127050144577506688783908248595863978636540412211015072420105057641799449138837278349715281413437774964313626726190046024996356147944713005076254843590043771591860639594959947208409736366370208476365674313995565769369075106560556387140818928523650101051031240079431105224245896134551335722349027430930831872396052519848730095113585319474328449523465109691835245131364116813044063924504357993861167621084036063931031565273213199744911958406590102063959307240516276664069516555652337254633318975073369855718676006435854238801777389013384076748271126931399380670389664923982690961112373411564496621802339327027118999373886722698010606155865286777471521849996957242279149963385473372024652756837278174859193981276922660175156456994259365286508250122404 10529789048251319907905362837178112599577528998146210497034722453328352240757562657982241650558392927126328705969105715656934224409340640055072164163979044227218263800485448182332063177562923347211910615372684473406876432559825197017777819843930864481119483905498399422930614498254269250209564534696070871576124490329418292007964291994635412081614408292160130484526507550918495602670665375156278908651282550868132484374963364753628097007291743707068008578772202613320642686856868848763642146268321065174365419953118921781608677436211610929013240288025362662438274565391214377619211064044450109424185231607383012933237734617294577226991562102174178302678200694811842665379503559933517795938133433481272395486989041637689846073135557910505896275965993737646060911813150701498574748368855146414155227052081418089957227166480700686457233927024511620620183910508400658001332662500037961375634319151037934309316165474187477923682883391159387458842701378900910134212245076679366677821812536772901070505390478502598374879454192410442621264659035467985740738645386069667106702139020592204192158768632185601043661143141481485104742128928548365114341975548701703626260490546133243292316269735757192805569249983091812955170786620880383383400484329378827846697835883026626709289649001360363158654440701476514941872172870751738842052476905400250767237912278305703756283039957723995220125935680050912415813600121666641554401574532682712698415146511102519813547213608961499657609149856576070230974742080092646471559465274077041106932272969981450891445557554768366174629363515957106869738013383553944960687543944094636262503769135128862644503741845586341591230169442075110407641629301048984964134431682459205587355224834657634205167896846915471567663068731878668141801022599802274902667693194623543176069447611692044043465887371977242943932649371470194376378013741488034140755559261643011682192183355239379279281278416726537034014800971444052064943698925012231723670922439703484864275452970465521076143416193720153028905233479913939948885437152868987381190514148133838075519679392795603150907309923853701814975599877987338754197773983106593112867257972960417835871796380486408203187826287491211228405638543016446014749105852566593794209353193594464053173769059687444023228466369673995406282548396561630851929971839650266026145770988592190452771102807163827271360735691124798965011227156194596909633813638761318422392553223497758267965148511273253976238824973334966297449058454447152570608449394808970398264265472738337452419669609076641198442259367090628765591904744056839920760083782245571728924738098196441610207576810719987690478081267804457336274339519936312002581165951837095511417900005365891126385467357519534323096171487088729680586519845040537267944065624097586021551159494865683072412196744120766680622291960612580698246764771204353537227290896285807656639437208351682622137988514967253522704501662194494759255168519818001364458870955432607607 17037556574437042136816651374084065282852074078087503972446810591058158304489930389020094936214831162696322708641481013441260926018605825772030471484194830501335632942964839368054119158994401789607323552000162572594372487624258460780945092380035209920179427983877588071652609558407733951384169542597519134076526253124257279989584169953971580305839985325254004864317531634995505856665229183603589364135132278194235030860460439832169500788358459866068599958184713125498339724074499218360022648774524031263659421267254684590509695474561726997363704846403456054595390479084313056923975114176981718072549973945139525136242162877089232598426534350361166919215925639733417931149160440836154222439675004414844268411218828501316127677748540089576609261563397911742633833142870095095015444690952247256518109188373776170211311264799227741569982160519907260641384608828851962408816770161847218327304894365365598028990158402642521961501361041896798525289024792174875639126997431276250450855149305697444703275263289423110322640903566462175600302802187058313269310336477631925204860866733600401071759475925126205065596471996585506361467817394459815718390006563047783682918134910723417713534636781657620549023409852942892093196810781179242705618510153353949760052611548572030197577446775633389262521347410715466676352447023721405524165386168191351388870964459386140120264342752386318939762234290716829910488490028842169666964886865138154159475223394803665031878337517873705652017475939737712796082325722558984053796982700401653574635070386062137759591957433757902206064933280846192896753687541957520269159018370097064288269167739427274222435890315511405112884642964610189504347756272313174004171590872637782324747672259075906110953475010011492337927035231754987101285059850711532089595853844600767350755078698508129731643826683250757111607105775442075577600275807346986193611910032728274512569138630655703140502725199289379984585316762585910144067675780804906390901804762224347502087363228478334227673635394444676753050422443857960274745827117664184799123195959596410581205265500526368144433911052775780467193277617421292945805854654477557976077263902155402494211289611429593713502244353788060036793935194143496159326612541350502042805217172231004465384784132107549080870265818812832684632263677975068626894285466376456072170767344740135165776179062007417315132327551764393924958435565930963279842290004435632417958322592572864828521535652092182499888926024366206376880163678693048705159785117157997829195097345134389972268399704190226517916587816614093875283739989188204037573127846170076086918599265817525646271507842285260903677826179762863926376403479243552518857830021353651163755154638684866199755323076195540758950410288866118693970596593311664199343446294487250945533850455978056483976693365923106007649410959986467420944775377360218824004762418135804613881716358315068095510013167724090800879360856175771681915343676274995623824157463682730011 27567345622688362044722014211262177882429603076233714469481533044386510545247493047002336586773224089822651414610586729098195150427946465827102635648173874728553896743450287550386182336557325136819234167372847046001248920184083657798722912223966074401298911889375987494583224056662003201593734077293590005652650743453675571997548461948606992387454393617414135348844039185914001459335894558759868272786414829062367515235423804585797597795650203573136608536956915738818982410931368067123664795042845096438024841220373606372118372910773337926376945134428818717033665044475527434543186178221431827496735205552522538069479897494383809825418096452535345221894126334545260596528664000769672018377808437896116663898207870139005973750884098000082505537529391649388694744956020796593590193059807393670673336240455194260168538431279928428027216087544418881261568519337252620410149432661885179702939213516403532338306323876829999885184244433056185984131726171075785773339242507955617128676961842470345773780653767925708697520357758872618221567461222526299010048981863701592311563005754192605263918244557311806109257615138066991466209946323008180832731982111749487309178625456856661005850906517414813354592659836034705048367597402059626089018994482732777606750447431598656906867095776993752421175788112191981618224619894473144366217863073591602156108876737691843876547382710110314159888169970767742326302090150508811221366461397820866857890369905906184845425551126835205309626625796313783027057067802651630525356447974478694681567343356043588651037514988526268380694296796803299766491700925511465229846562314191700550772936874556136866939632161097746704114812406685299911989385573362158968306022555096987912102897093733540316121371856926963905590103963633655243086082450513806992263547039224310526824526310200173775109714055228000055539755146912269953978289548835020334367469294371286194761321985895082419784003616015917018600117734029962209011374705817138114572727201927832366362816198943855303817051588164829781955655923771900223631264270533172180313710107730248656724944893321971295341220976629482282168877495408631700003628637584151088944521875115820330083085991916001916690070641279271265199573737159942174075718393917095837014570365825468518558553191794993104098732188486828090914812074536699478824257306026722098316538333332325618547281869171244586493063242889192889969662722125560189476103643196950840350875816070623096486684163365436476127750997701172674329222133140201275768234511966968227459362817872727424688069313266867716358847183704722640875644733245043958333211628415647815843337364013967256479084653005248594155907447567321262650742999179864521438995973190746675173054644050757326140790433715075082046581775954848374557116438352201467287511918584836967085009950843739556388890110043872688271702920599048119191540148564572361232053314421612270521153566666750717648001682691344323583862518370266441170512196092996988283028419115337618 44604902197125404181538665585346243165281677154321218441928343635444668849737423436022431522988055252518974123252067742539456076446552291599133107132368705229889529686415126918440301495551726926426557719373009618595621407808342118579668004604001284321478339873253575566235833615069737152977903619891109139729176996577932851987132631902578572693294378942668140213161570820909507316001123742363457636921547107256602546095884244417967098584008663439205208495141628864317322135005867285483687443817369127701684262487628290962628068385335064923740649980832274771629055523559840491467161292398413545569285179497662063205722060371473042423844630802896512141110051974278678527677824441605826240817483442310960932309426698640322101428632638089659114799092789561131328578098890891688605637750759640927191445428828970430379849696079156169597198248064326141902953128166104582818966202823732398030244107881769130367296482279472521846685605474952984509420750963250661412466239939231867579532111148167790477055917057348819020161261325334793821870263409584612279359318341333517516423872487793006335677720482438011174854087134652497827677763717467996551121988674797270992096760367580078719385543299072433903616069688977597141564408183238868794637504636086727366803058980170687104444542552627141683697135522907448294577066918194549890383249241782953544979841197077983996811725462496633099650404261484572236790580179350980888331348262959021017365593300709849877303888644708910961644101736051495823139393525210614579153430674880348256202413742105726410629472422284170586759230077649492663245388467468985499005580684288764839042104613983411089375522476609151816999455371295489416337141845675332972477613427734770236850569352809446427074846866938456243517139195388642344371142301225339081859400883825077877579605008708303506753540738478757167146860922354345531578565356182006527979379327099560707330460616550785560286728815305297003185434496615872353079050486622044505474531964152179868450179427422189531490686982609506535006078367629860498377091388197356979436906067326659237930210393848339439775132029405262749362155112829924645809483292061709065021785777271222824294375603345595630192314995067331301993508931303438333402330935267597879819787538056472983943337323902542184968998007299660775547075752511768105718542772403178170487305678072460784323460931178661901625390794653586814928098288056523469318393647632583258309198408643487925008219815457618976016677022067379051209385811833249980928019629124966056654460163007117396956469017457094234275435000318816516159384722433247995906339474585723902761936629831492902750592495290509497833733627330185189027146478423417040296825994544397838928209282735623525896113509910615840996992064820967068527713031663865666630958213072087912618860406821796040365583475966978695921113880585515540136315525924791185236815732557416884402869924981818813158014850415435124463223374546038123085855872367992612107185882798067629 72172247819813766226260679796608421047711280230554932911409876679831179394984916483024768109761279342341625537862654471637651226874498757426235742780542579958443426429865414468826483832109052063245791886745856664596870327992425776378390916827967358722777251762629563060819057671731740354571637697184699145381827740031608423984681093851185565080748772560082275562005610006823508775337018301123325909707961936318970061331308049003764696379658867012341817032098544603136304545937235352607352238860214224139709103708001897334746441296108402850117595115261093488662720568035367926010347470619845373066020385050184601275201957865856852249262727255431857363004178308823939124206488442375498259195291880207077596207634568779328075179516736089741620336622181210520023323054911688282195830810567034597864781669284164690548388127359084597624414335608745023164521647503357203229115635485617577733183321398172662705602806156302521731869849908009170493552477134326447185805482447187484708209072990638136250836570825274527717681619084207412043437724632110911289408300205035109827986878241985611599595965039749817284111702272719489293887710040476177383853970786546758301275385824436739725236449816487247258208729525012302189932005585298494883656499118819504973553506411769344011311638329620894104872923635099429912801686812667694256601112315374555701088717934769827873359108172606947259538574232252314563092670329859792109697809660779887875255963206616034722729439771544116271270727532365278850196461327862245104509878649359042937769757098149315061666987410810438967453526874452792429737089392980450728852142998480465389815041488539547956315154637706898521114267777980789328326527419037491940783635982831758148953466446542986743196218723865420149107243159022297587457224751739146074122947923049388404404131318908477281863254793706757222686616069266615485556854905017026862346848621470846902091782602445867980070732431321214021785552230645834562090425192439182620047259166080012234812995626366044835307738570774336316961734291401760722008355658730529159750616175056907894655155287170310735116353006034745031531032608238556345813111929645860153966307652387043154377461595261597546882385636346602567193082668463380507478049329184693716834357903881941502501890515697535289067730195786488866461887827048467584542800078429900268803844011404786402870742800349906488118454037542779704897761010182083658794497290829534098660074224714111021494903978823055452144428019768551725538607944973451256696254141091934284113822980879844821644538330723961950634282184023539157035029455678291954239551103001371718605273993845460159229677148295758091989641074897506451677889477603281561735821967735144514101263926786380852036903943625690923043573840775815443084829470016067133918470131656924879703870357665535596754473586010851384192816801184563659327855674489363546468869046979029154924023491648569530806016533106779448047085892916304564256368068460989600390214301913405247 116777150016939170407799345381954664212992957384876151353338220315275848244722339919047199632749334594860599661114722214177107303321051049025368849912911285188332956116280541387266785327660778989672349606118866283192491735800767894958058921431968643044255591635883138627054891286801477507549541317075808285111004736609541275971813725753764137774043151502750415775167180827733016091338142043486783546629509043575572607427192293421731794963667530451547025527240173467453626680943102638091039682677583351841393366195630188297374509681443467773858245096093368260291776091595208417477508763018258918635305564547846664480924018237329894673107358058328369504114230283102617651884312883981324500012775322518038528517061267419650176608149374179400735135714970771651351901153802579970801468561326675525056227098113135120928237823438240767221612583673071165067474775669461786048081838309349975763427429279941793072899288435775043578555455382962155002973228097577108598271722386419352287741184138805926727892487882623346737842880409542205865307988041695523568767618546368627344410750729778617935273685522187828458965789407371987121565473757944173934975959461344029293372146192016818444621993115559681161824799213989899331496413768537363678294003754906232340356565391940031115756180882248035788570059158006878207378753730862244146984361557157509246068559131847811870170833635103580359188978493736886799883250509210772998029157923738908892621556507325884600033328416253027232914829268416774673335854853072859683663309324239391193972170840255041472296459833094609554212756952102285092982477860449436227857723682769230228857146102522959045690677114316050338113723149276278744663669264712824913261249410566528385804035799352433170271065590803876392624382354410939931828367052964485155982348806874466281983736327616780788616795532185514389833476991620961017135420261199033390326227948570407609422243218996653540357461246626511024970986727261706915169475679061227125521791130232192103263175053788234366798425553383842851967812659031621220385447046927886139187522242383567132585365681018650174891485035440007780893187721068480991622595221707569218988093429658265978671837198607193177074700631413933869186591599766818840880380264452291596654145441938414486445227839600077474036728203086149642008963579560235690261342850833078439291149689477247187194203731528568389743844832196366519825859298238607128112890938462117356969272633357598946503123794280674428161105041835930776747993756806701237624273770216900340768283143886962218601007348181056184909717184342355673194414178111539950145890577587095621367210623676953061980269643586267589823374702227691640705035956026698602032647962279542353029473209522004377933017453536306764040565905596782511612542501679932800549428344729012792322730764487331637120057061977830080113930681770079199464171200414154731705684779536446039326893416630388343964031383522214572510309267462342687342223940828982212497400184711472876 188949397836752936634060025178563085260704237615431084264748096995107027639707256402071967742510613937202225198977376685814758530195549806451604592693453865146776382546145955856093269159769831052918141492864722947789362063793193671336449838259936001767032843398512701687873948958533217862121179014260507430492832476641149699956494819604949702854791924062832691337172790834556524866675160344610109456337470979894542668758500342425496491343326397463888842559338718070589931226880337990698391921537797575981102469903632085632120950977551870623975840211354461748954496659630576343487856233638104291701325949598031265756125976103186746922370085313760226867118408591926556776090801326356822759208067202725116124724695836198978251787666110269142355472337151982171375224208714268252997299371893710122921008767397299811476625950797325364846026919281816188231996423172818989277197473794967553496610750678114455778502094592077565310425305290971325496525705231903555784077204833606836995950257129444062978729058707897874455524499493749617908745712673806434858175918751403737172397628971764229534869650561937645743077491680091476415453183798420351318829930247890787594647532016453558169858442932046928420033528739002201521428419353835858561950502873725737313910071803709375127067819211868929893442982793106308120180440543529938403585473872532064947157277066617639743529941807710527618727552725989201362975920839070565107726967584518796767877519713941919322762768187797143504185556800782053523532316180935104788173187973598434131741927938404356533963447243905048521666283826555077522719567253429886956709866681249695618672187591062507002005831752022948859227990927257068072990196683750316854044885393398286534757502245895419913467284314669296541731625513433237519285591804703631230105296729923854686387867646525258070480050325892271612520093060887576502692275166216060252673076570041254511514025821442521520428193677947725046756538957907541477259900871500409745569050296312204338076170680154279202106164124158179168929546950433381942393802705658415298938138417440475027240520968188960910007838041474752812424220329307037337435707151353429372954401082045309133049298793868790723957086267760536436379674268230199348358429593636985313488503345820355988947118355297612763104458398872638508470851406608703274804142929262978708094993700882033590064946531878474877862298869739146224723620308420690786907388229291651455629346858071709967998027773103729880305533061604482502286601701780152494320527911308834624882106124766807040245545678905018135543999368365894830229443633789831904385441680588467339972484617522413221209946791882025681813015777125198092382925433629980163768469930014686867130737136308385229969921397161997687084139746372597954697371971695999934467898476385937672026601122152867233874530647988681464306747482954642858792026874903518278174553826515475194250916908278957874770047916628994020557395160378647251598592009289971812887614486624878123 305726547853692107041859370560517749473697195000307235618086317310382875884429596321119167375259948532062824860092098899991865833516600855476973442606365150335109338662426497243360054487430610042590491098983589230981853799593961566294508759691904644811288435034395840314928840245334695369670720331336315715603837213250690975928308545358713840628835075565583107112339971662289540958013302388096893002966980023470115276185692635847228286306993927915435868086578891538043557907823440628789431604215380927822495836099262273929495460658995338397834085307447830009246272751225784760965364996656363210336631514145877930237049994340516641595477443372088596371232638875029174427975114210338147259220842525243154653241757103618628428395815484448543090608052122753822727125362516848223798767933220385647977235865510434932404863774235566132067639502954887353299471198842280775325279312104317529260038179958056248851401383027852608888980760673933480499498933329480664382348927220026189283691441268249989706621546590521221193367379903291823774053700715501958426943537297772364516808379701542847470143336084125474202043281087463463537018657556364525253805889709234816888019678208470376614480436047606609581858327952992100852924833122373222240244506628631969654266637195649406242824000094116965682013041951113186327559194274392182550569835429689574193225836198465451613700775442814107977916531219726088162859171348281338105756125508257705660499076221267803922796096604050170737100386069198828196868171034007964471836497297837825325714098778659398006259907076999658075879040778657362615702045113879323184567590364018925847529333693585466047696508866338999197341714076533346817653865948463141767306134803964814920561538045247853083738349905473172934356007867844177451113958857668116386087645536798320968371603974142038859096845858077786002353570052508537519827695427415093642999304518611662120936269040439175060785654924574236071727525685169248392429376550561636871090841426544396441339345733942513568904589677542022020897359609465003162779249752586301438125660659824042159825886649207611084899323076914760593317408050375518329058302373060998591942494511703575111721135992475983901031786899174470305566265867997018189238809858089276910142648787758770475392346194897690237141186601958788150479814986168938965065485780096057147386143390359280777259150263407043267606143701935512744549479606659297915020279167753768812598619491429308914501151567384404308466638103440413279034595458586853731944801681525734965650389268653769258846553027086074320453716552708250503423857811901371854531332258175562961339695241199366283190216435468293271636390479352889733087961389656678765801117892294229220160210345830389607902938850698304451124705651969380466309914473375932735017326821114950464349331886640198870994587709966511544420678164724722058256198075317673009880238606051921233577810324909346218734079300151208593067704427840989938940815950118954025385014671336350999 494675945690445043675919395739080834734401432615738319882834414305489903524136852723191135117770562469265050059069475585806624363712150661928578035299819015481885721208572453099453323647200441095508632591848312178771215863387155237630958597951840646578321278432908542002802789203867913231791899345596823146096669689891840675884803364963663543483626999628415798449512762496846065824688462732707002459304451003364657944944192978272724777650320325379324710645917609608633489134703778619487823525753178503803598306002894359561616411636547209021809925518802291758200769410856361104453221230294467502037957463743909195993175970443703388517847528685848823238351047466955731204065915536694970018428909727968270777966452939817606680183481594717685446080389274735994102349571231116476796067305114095770898244632907734743881489725032891496913666422236703541531467622015099764602476785899285082756648930636170704629903477619930174199406065964904805996024638561384220166426132053633026279641698397694052685350605298419095648891879397041441682799413389308393285119456049176101689206008673307077005012986646063119945120772767554939952471841354784876572635819957125604482667210224923934784338878979653538001891856691994302374353252476209080802195009502357706968176708999358781369891819305985895575456024744219494447739634817922120954155309302221639140383113265083091357230717250524635596644083945715289525835092187351903213483093092776502428376595935209723245558864791847314241285942869980881720400487214943069260009685271436259457456026717063754540223354320904706597545324605212440138421612367309210141277457045268621466201521284647973049702340618361948056569705003790414890644062632213458621351020197363101455319040291143272997205634220142469476087633381277414970399550662371747616192942266722175654759471620667296929576896183970057614873663113396114022519970593631153895672381088652916632450294861881696581213848602521961118484064643076789869689277422062046616659891722856600779415516414096792771010753801700201189826906559898385105173052458244716737063799077264517187066407617396571994907161118389513405741628379682555666494009524414427964896895593748884244770434786344774624988873166935006741945940136227217537597239451726262223631152133579126464339464550195303000245645000831426658950666392777642239869628709359035855481137091241314367324096795285518145468442571674658969273099915079988701927667397045420268227966349501018882499179340488134188772171165044895781321197160367006226265329592834569590532495393420576299092098705991092455997715921074145333653301445691203758916773938764030301312179858721779504400163227350318953449406256478087825470886823286658929569587822308916087290947482138774837872860247860302138208845398341978421007286445071932669485225297500888136375933008793066104869118357955193008727425647679364917048224950221191288054792432567396427828727233188304093504127216780202613625099588219637190539407959408925838272629157961229122 800402493544137150717778766299598584208098627616045555500920731615872779408566449044310302493030511001327874919161574485798490197228751517405551477906184165816995059870998950342813378134631051138099123690831901409753069662981116803925467357643745291389609713467304382317731629449202608601462619676933138861700506903142531651813111910322377384112462075193998905561852734159135606782701765120803895462271431026834773221129885614119953063957314253294760578732496501146677047042527219248277255129968559431626094142102156633491111872295542547419644010826250121767447042162082145865418586226950830712374588977889787126230225964784220030113324972057937419609583686341984905632041029747033117277649752253211425431208210043436235108579297079166228536688441397489816829474933747964700594835238334481418875480498418169676286353499268457628981305925191590894830938820857380539927756098003602612016687110594226953481304860647782783088386826638838286495523571890864884548775059273659215563333139665944042391972151888940316842259259300333265456853114104810351712062993346948466206014388374849924475156322730188594147164053855018403489490498911149401826441709666360421370686888433394311398819315027260147583750184644986403227278085598582303042439516130989676622443346195008187612715819400102861257469066695332680775298829092314303504725144731911213333608949463548542970931492693338743574560615165441377688694263535633241319239218601034208088875672156477527168354961395897484978386328939179709917268658248951033731846182569274084783170125495723152546483261397904364673424365383869802754123657481188533325845047409287547313730854978233439097398849484700947253911419080323761708297928580676600388657155001327916375880578336391126080943984125615642410443641249121592421513509520039864002280587803520496623131075594809335788673742042047843617227233165904651542347666021046247538671685607264578753386563902320871641999503527096197190211590328246038262118653972623683487750733149400997220754862148039306339915343479242223210724266169363388267952302210831018175189459737088559346892294266604183079806484195304273999059036430058073995552311897475426556839390105452459356491570778820758526020660066109477047512206004224235726836049309815539133773800921337896939731810745092993237386831602790214809430481378946581204935114489455093002867280481600595144583247058692561413074586273610171713822579521739286616947946564799189080826585840930327797000330907872538497238809268485309060355792618953859958210131274360304556182884662074345557938651733077166776451432473782395837077159257592575613448106196939593262651875099921145787590379662818612225085796735830977558558848212943337695370705714603145307451157827969164445775799098558606589333551050311358887317200918447865404502552118615838600725264895433264975863706067921704553148103812404086975304423025538864297935031038619317661406537558097650312238206516931411206692804016060627129480223909527879863657643829297580121 1295078439234582194393698162038679418942500060231783875383755145921362682932703301767501437610801073470592924978231050071605114560940902179334129513206003181298880781079571403442266701781831492233607756282680213588524285526368272041556425955595585937967930991900212924320534418653070521833254519022529962007797176593034372327697915275286040927596089074822414704011365496655981672607390227853510897921575882030199431166074078592392677841607634578674085289378414110755310536177230997867765078655721737935429692448105050993052728283932089756441453936345052413525647811572938506969871807457245298214412546441633696322223401935227923418631172500743786242847934733808940636836106945283728087296078661981179696209174662983253841788762778673883913982768830672225810931824504979081177390902543448577189773725131325904420167843224301349125894972347428294436362406442872480304530232883902887694773336041230397658111208338267712957287792892603743092491548210452249104715201191327292241842974838063638095077322757187359412491151138697374707139652527494118744997182449396124567895220397048157001480169309376251714092284826622573343441962340265934278399077529623486025853354098658318246183158194006913685585642041336980705601631338074791383844634525633347383590620055194366968982607638706088756832925091439552175223038463910236424458880454034132852473992062728631634328162209943863379171204699111156667214529355722985144532722311693810710517252268091687250413913826187744799219672271809160591637669145463894102991855867840710344240626152212786907086706615718809071270969689989082242892545269848497743467122504454556168779932376262881412147101190103062895310481124084114176598941991212890059010008175198691017831199618627534399078149618345758111886531274630399007391913060182411611618473530070242672277890547215476632718250638226017901232100896279300765564867636614677401434344066695917495385836858764202568223213352129618158308695654971322828131807931394685730104410624872257598000170378562136099110926097280942424400551172729261773373125354669075734912253258814353076533958701884000755074713645313693787404800664809740629662046321421889854521736285699201343601262005565165533151009533233044483789458146140451453264433288761541801357404953054917023404071275295288296237632476603621641468381147771724223444804743198814128858348417572841909511907343853978079558543028845284830683095679436819275318875613961844609349054552190431346679499510248360672686010980433530204841676989779320866184475460867194874146715380055494921857030750439068259232449148394856541170730460703283779372364880135703623563964054958642925291990542890168931178535202992309065384029735036229996624940293536912061394742105310107939283648659346418908727542396448653337308324487363519798073987777416116726737101197904226331080732824425876897561875529460083451892352647975760055585989823471186714089235264791285954405742333733711613820317903604280264320019631868936805701930272987258809243 2095480932778719345111476928338278003150598687847829430884675877537235462341269750811811740103831584471920799897392624557403604758169653696739680991112187347115875840950570353785080079916462543371706879973512114998277355189349388845481893313239331229357540705367517306638266048102273130434717138699463100869497683496176903979511027185608418311708551150016413609573218230815117279390091992974314793383847313057034204387203964206512630905564948831968845868110910611901987583219758217116042333785690297367055786590207207626543840156227632303861097947171302535293094853735020652835290393684196128926787135419523483448453627900012143448744497472801723662457518420150925542468147975030761204573728414234391121640382873026690076897342075753050142519457272069715627761299438727045877985737781783058608649205629744074096454196723569806754876278272619885331193345263729860844457988981906490306790023151824624611592513198915495740376179719242581378987071782343113989263976250600951457406307977729582137469294909076299729333410397997707972596505641598929096709245442743073034101234785423006925955325632106440308239448880477591746931452839177083680225519239289846447224040987091712557581977509034173833169392225981967108828909423673373686887074041764337060213063401389375156595323458106191618090394158134884855998337293002550727963605598766044065807601012192180177299093702637202122745765314276598044903223619258618385851961530294844918606127940248164777582268787583642284198058600748340301554937803712845136723702050409984429023796277708510059633189877116713435944394055372952045646668927329686276792967551863843716093663231241114851244500039587763842564392543164437938307239919793566659398665330200018934207080196963925525159093602471373754296974915879520599813426569702451475620754117873763168901021622810285968506924380268065744849328129445205417107215302635723648973015752303182074139223422666523439865212855656714355498907245299568866393926585367309413592161358021658595220925240710175405450841440760184647611275438898625161641077656879906753087442718551441635880850996150604938154520129508998061403859701239798703657598633319365281078575675804653802957753576343986291677030193299153960836970352144675688991269338071357340491178753976254920343803086040381289475019308206411856277811629150670804649739857688269221861215698054442504656490590912670640971617615118895002396918258958558561935823560526643798429881138031361674476499841156233211183249789702015513902032782398274726142685592141555178702898264717569267414969402172145426008900580868638937007807619960876354985812986332643216826615930058564071079580922552987543403620999728140042942588583249173334320310999251515206702193263138077103729424458444977515316875947498964696195641688281967663478490329534732565337826462799659596056596530493798602115023633272487538867657071001298919883924854509806031750641802349383604717980540250643025027010707620340891449499855778464685565587916816556389364 3390559372013301539505175090376957422093098748079613306268431023458598145273973052579313177714632657942513724875623674629008719319110555876073810504318190528414756622030141757227346781698294035605314636256192328586801640715717660887038319268834917167325471697267730230958800466755343652267971657721993062877294860089211276307208942460894459239304640224838828313584583727471098951997482220827825691305423195087233635553278042798905308747172583410642931157489324722657298119396989214983807412441412035302485479038312258619596568440159722060302551883516354948818742665307959159805162201141441427141199681861157179770677029835240066867375669973545509905305453153959866179304254920314489291869807076215570817849557536009943918686104854426934056502226102741941438693123943706127055376640325231635798422930761069978516622039947871155880771250620048179767555751706602341148988221865809378001563359193055022269703721537183208697663972611846324471478619992795363093979177441928243699249282815793220232546617666263659141824561536695082679736158169093047841706427892139197601996455182471163927435494941482692022331733707100165090373415179443017958624596768913332473077395085750030803765135703041087518755034267318947814430540761748165070731708567397684443803683456583742125577931096812280374923319249574437031221375756912787152422486052800176918281593074920811811627255912581065501916970013387754712117752974981603530384683841988655629123380208339852027996182613771387083417730872557500893192606949176739239715557918250694773264422429921296966719896492835522507215363745362034288539214197178184020260090056318399884873595607503996263391601229690826737874873667248552114906181911006456718408673505398709952038279815591459924237243220817131866183506190509919607205339629884863087239227647944005841178912170025762601225175018494083646081429025724506182672082939250401050407359818999099569525060281430726008088426207786332513807602900270891694525734516761995143696571982893916193221095619272311504561767538041127072011826611627886935014203011548982487999695977365794712414809698034605693229233774822691848808660366049539333319644954741255135600311961503855146559015581909151824828039726532198444626428498285127142255702626832899141848583707031171943747874361335669585712651784810033497746192776922395028094544600887083350719564115627284414168397934766648720530160643964179833080013938395377837254699174488488407778935690221793021155999351404593883869260770135545718743709772177595592327161053008750052849613644773064189272000152611213685241349729263495478178538080664160134358177866468346840390579985017206996371571465443156474582156202720449108326618318285403330945251292788427268096935368448185043013073117791396424044418343947618033503966175645487461552478106950849292074927660703885927137329354919675499676899162732570990760009718977058975469914677980992745839877067140669559123722873984354638847328611224621155769519487647401491267518189803815198607 5486040304792020884616652018715235425243697435927442737153106900995833607615242803391124917818464242414434524773016299186412324077280209572813491495430377875530632462980712111012426861614756578977021516229704443585078995905067049732520212582074248396683012402635247537597066514857616782702688796421456163746792543585388180286719969646502877551013191374855241923157801958286216231387574213802140484689270508144267839940482007005417939652737532242611777025600235334559285702616747432099849746227102332669541265628519466246140408596387354364163649830687657484111837519042979812640452594825637556067986817280680663219130657735252210316120167446347233567762971574110791721772402895345250496443535490449961939489940409036633995583446930179984199021683374811657066454423382433172933362378107014694407072136390814052613076236671440962635647528892668065098749096970332201993446210847715868308353382344879646881296234736098704438040152331088905850465691775138477083243153692529195156655590793522802370015912575339958871157971934692790652332663810691976938415673334882270636097689967894170853390820573589132330571182587577756837304868018620101638850116008203178920301436072841743361347113212075261351924426493300914923259450185421538757618782609162021504016746857973117282173254554918471993013713407709321887219713049915337880386091651566220984089194087112991988926349615218267624662735327664352757020976594240221916236645372283500547729508148588016805578451401355029367615789473305841194747544752889584376439259968660679202288218707629807026353086369952235943159757800734986334185883124507870297053057608182243600967258838745111114636101269278590580439266210412990053213421830800023377807338835598728886245360012555385449396336823288505620480481106389440207018766199587314562859981765817769010079933792836048569732099398762149390930757155169711599779298241886124699380375571302281643664283704097249447953639063443046869306510145570460560919661102129304557288733340915574788442020859982486910012608978801311719623102050526512096655280668428889241087138695917236348295660694185210631383753904331689910212520067289338036977243588060620416678887637308508949516769158253138116505069919831352405463398850429802831246971964904256482339762461007426864091677447376050875187671093016445354024004406073065832744284458575352572580779813681726918824888525679319361501778259083074835476932197353936399190522735015132206208816828253154695632499192560827095052510559837561232645742554575870318469846645150305231552511909490633456686969554783359111250250310132134415186345700625036489343990852800990057217195915075771067451152387996144017985777202448589151269206901534576665265562292039942474799128631586262146742497576236373939361294291446582729699607863927455125030968436485581857412754123503545523193925885413474101791922796005058529627666789978357895353839532490798777590518869490053163841703414234997663874339318844962047219019343425866176833106106620371587971 8876599676805322424121827109092192847336796184007056043421537924454431752889215855970438095533096900356948249648639973815421043396390765448887301999748568403945389085010853868239773643313050614582336152485896772171880636620784710619558531850909165564008484099902977768555866981612960434970660454143449226624087403674599456593928912107397336790317831599694070236742385685757315183385056434629966175994693703231501475493760049804323248399910115653254708183089560057216583822013736647083657158668514367972026744666831724865736977036547076424466201714204012432930580184350938972445614795967078983209186499141837842989807687570492277183495837419892743473068424728070657901076657815659739788313342566665532757339497945046577914269551784606918255523909477553598505147547326139299988739018432246330205495067151884031129698276619312118516418779512716244866304848676934543142434432713525246309916741537934669150999956273281913135704124942935230321944311767933840177222331134457438855904873609316022602562530241603618012982533471387873332068821979785024780122101227021468238094145150365334780826315515071824352902916294677921927678283198063119597474712777116511393378831158591774165112248915116348870679460760619862737689990947169703828350491176559705947820430314556859407751185651730752367937032657283758918441088806828125032808577704366397902370787162033803800553605527799333126579705341052107469138729569221825446621329214272156176852888356927868833574634015126416451033520345863342087940151702066323616154817886911373975552641137551103993072982862787758450375121546097020622725097321686054317313147664500643485840854446249107378027702498969417318314139877661542168119603741806480096216012340997438838283639828146845373633580044105637486663987296899359814224105829472177650099209413761774851258845962861811170957274417256233037012186180894217782451381181136525749787735390301381213189343985527975456042065271229379383114113045841352255445395618891299700985305323809490981663116479254798414574376516842438791634928662154399031669483679977871729086834673283031060710470392219816324612987679154381759021180433338877370296888542801875552279199598812364096075784740162289941333109646363550850089827348714929973502674591737155624188346168038598807839551808711720460900322877826478851770197182995460860838829059462435923300343929309011332993286460445968082031938903047254668556946135749314236445221909503620613987752518474947716788498543965420978921771329973106951389452326753465910797007698159055284402125554263697645958969707394572796491600039395629893364883781289196623702168719269336897607775900092978063822723853439300492567933405169038259595825219819979996210813584828369742896064000034447189755570694027770363405712635394200763203574039572942586583446543436431149487681784207431450331255240333149601468821958737629520387676508955416870823754210471791523430395936630722722965426288219352302721667930069583202988538831073267668100624296424186786578 14362639981597343308738479127807428272580493619934498780574644825450265360504458659361563013351561142771382774421656273001833367473670975021700793495178946279476021547991565979252200504927807193559357668715601215756959632525851760352078744432983413960691496502538225306152933496470577217673349250564905390370879947259987636880648881753900214341331022974549312159900187644043531414772630648432106660683964211375769315434242056809741188052647647895866485208689795391775869524630484079183506904895616700641568010295351191111877385632934430788629851544891669917042417703393918785086067390792716539277173316422518506208938345305744487499616004866239977040831396302181449622849060711004990284756878057115494696829438354083211909852998714786902454545592852365255571601970708572472922101396539261024612567203542698083742774513290753081152066308405384309965053945647266745135880643561241114618270123882814316032296191009380617573744277274024136172410003543072317260465484826986634012560464402838824972578442816943576884140505406080663984401485790477001718537774561903738874191835118259505634217136088660956683474098882255678764983151216683221236324828785319690313680267231433517526459362127191610222603887253920777660949441132591242585969273785721727451837177172529976689924440206649224360950746064993080805660801856743462913194669355932618886459981249146795789479955143017600751242440668716460226159706163462047362857974586555656724582396505515885639153085416481445818649309819169183282687696454955907992594077855572053177840859845180911019426069232739994393534879346832006956910980446193924614366205272682887086808113284994218492663803768248007898753406088074532221333025572606503474023351176596167724528999840702230823029916867394143107144468403288800021242872029059492212959191179579543861338779755697859740689373816018382427942943336063929382230679423022650449168110961603662856853627689625224903995704334672426252420623191411812816365056721020604258274038664725065770105137339237285324586985495643750511258030712680911128324764348406760970173973369200267409006131086405026955996741583486071669233700500628215407274132130862495968958087236120873045592553898415428057838179566194903255553226199144732804749646556641412106528108629046025671931229256087771336087993970842924205794201589068526693583113518037788495881123742990738251818174986125287443533717162130329504033878333103250635635744644518752820196569346728102412420997736526248073974281889810668184035194881329336229266854343309360515954637463754331102645939262177931907741850349527764308551229481914233113046159572070326954824971815168749131273876241435444510553710607617627410865032121354556661476375876868312217695192631620709336498068270264144302767006926840783492903181903500397711614414979922013006900435907710976973525181125746623703260744754742688050015343298933774766177593742962590301020914806120775886807129702454349966596007248914545250207558174499133844933730403044558374549 23239239658402665732860306236899621119917289803941554823996182749904697113393674515332001108884658043128331024070296246817254410870061740470588095494927514683421410633002419847491974148240857808141693821201497987928840269146636470971637276283892579524699980602441203074708800478083537652644009704708354616994967350934587093474577793861297551131648854574243382396642573329800846598157687083062072836678657914607270790928002106614064436452557763549121193391779355448992453346644220726267164063564131068613594754962182915977614362669481507213096053259095682349972997887744857757531682186759795522486359815564356349198746032876236764683111842286132720513899821030252107523925718526664730073070220623781027454168936299129789824122550499393820710069502329918854076749518034711772910840414971507354818062270694582114872472789910065199668485087918100554831358794324201288278315076274766360928186865420748985183296147282662530709448402216959366494354315311006157437687815961444072868465338012154847575140973058547194897123038877468537316470307770262026498659875788925207112285980268624840415043451603732781036377015176933600692661434414746340833799541562436201707059098390025291691571611042307959093283348014540640398639432079760946414319764962281433399657607487086836097675625858379976728887778722276839724101890663571587946003247060299016788830768411180599590033560670816933877822146009768567695298435732683872809479303800827812901435284862443754472727719431607862269682830165032525370627848157022231608748895742483427153393500982732015012499052095527752843910000892929027579636077767879978931679352937183530572648967731243325870691506267217425217067545965736074389452629314412983570239363517593606562812639668849076196663496911499780593808455700188159835466977858531669863058400593341318712597625718559670911646648233274615464955129516958147164682060604159176198955846351905044070042971675153200360037769605901805635534736237253165071810452339911903959259343988534556751768253818492083739161362012486189302892959374835310159994248028384632699260808042483298469716601478624843280609729262640453428254880933967092777571020673664371521237286834933237141668338638577717999171289212558454105643053547859662778252321148378567730716454797084624479770781064799491796988316848669403057564398772063987554421942577500224419181467672299749584811461446571255525565656065177584172590824468852564872080966554022373434184321865203050129209496280491669052896053219783775135424647208082802140063862041468415800356763018018028748604908969572504704233450388923394201916113263203429736748328291339663852432747715261727195096600094874745003121644012786665670460857341174536657687189461696681960591256631655156526253638964291914666172719562234984256106755943073340298197861523358444156388117691918408423856436366079773304729566713480317570403019807889191637001347953434381824451310742751498609772555990673702269317675178984128453196097005572401513034354699468745161127 37601879640000009041598785364707049392497783423876053604570827575354962473898133174693564122236219185899713798491952519819087778343732715492288888990106460962897432180993985826744174653168665001701051489917099203685799901672488231323716020716875993485391477104979428380861733974554114870317358955273260007365847298194574730355226675615197765472979877548792694556542760973844378012930317731494179497362622125983040106362244163423805624505205411444987678600469150840768322871274704805450670968459747769255162765257534107089491748302415938001725904803987352267015415591138776542617749577552512061763533131986874855407684378181981252182727847152372697554731217332433557146774779237669720357827098680896522150998374653213001733975549214180723164615095182284109648351488743284245832941811510768379430629474237280198615247303200818280820551396323484864796412739971468033414195719836007475546456989303563301215592338292043148283192679490983502666764318854078474698153300788430706881025802414993672547719415875490771781263544283549201300871793560739028217197650350828945986477815386884346049260587692393737719851114059189279457644585631429562070124370347755892020739365621458809218030973169499569315887235268461418059588873212352189000289038748003160851494784659616812787600066065029201089838524787269920529762692520315050859197916416231635675290749660327395379513515813834534629064586678485027921458141896145920172337278387383469626017681367959640111880804848089308088332139984201708653315544611978139601342973598055480331234360827912926031925121328267747237444880239761034536547058214073903546045558209866417659457081016237544363355310035465433115820952053810606610785654887019487044262714694189774287341639509551307019693413778893923700952924103476959856709849887591162076017591772920862573936405474257530652336022049292997892898072853022076546912740027181826648123957313508706926896599364778425264033473940574231887955359428664977888175509060932508217533382653259622521873391157729369063748347508129939814150990087516221288319012376791393669434781411683565878722732565029870236606470846126525097488581434595308184845152804526867490195374071054110187260892536993146057009468778753357361196279747004395583001967705019979837244563426130650151702010320887263133076310819512327263358600361132514248005056095538012915062591415290487836629636432696542969099373227307913676624702801955815507716711198541126254380891211931152541630494017017917126870335109594443319459842089412138369330716384777776316311400481772359851250848231750436611975300738451158510467342745117662849794487863409990807257719530430476326370476336310189513675354620404293081325889462529093319163565338564994178286449263275865862751707234556058968939726489075767749009937846573738009812276503280457163288553599629385397381617491826397007990311468223005620418363106822966403178941696396972125472225548872274496579685693128052235913682427898673703403655180071535357968085102513303535676 60841119298402674774459091601606670512415073227817608428567010325259659587291807690025565231120877229028044822562248766636342189213794455962876984485033975646318842813996405674236148801409522809842745311118597191614640170819124702295353297000768573010091457707420631455570534452637652522961368659981614624360814649129161823829804469476495316604628732123036076953185334303645224611088004814556252334041280040590310897290246270037870060957763174994108871992248506289760776217918925531717835032023878837868757520219717023067106110971897445214821958063083034616988413478883634300149431764312307584249892947551231204606430411058218016865839689438505418068631038362685664670700497764334450430897319304677549605167310952342791558098099713574543874684597512202963725101006777996018743782226482275734248691744931862313487720093110883480489036484241585419627771534295669321692510796110773836474643854724312286398888485574705678992641081707942869161118634165084632135841116749874779749491140427148520122860388934037966678386583161017738617342101331001054715857526139754153098763795655509186464304039296126518756228129236122880150306020046175902903923911910192093727798464011484100909602584211807528409170583283002058458228305292113135414608803710284594251152392146703648885275691923409177818726303509546760253864583183886638805201163476530652464121518071507994969547076484651468506886732688253595616756577628829792981816582188211282527452966230403394584608524279697170358014970149234234023943392769000371210091869340538907484627861810644941044424173423795500081354881132690062116183135981953882477724911147049948232106048747480870234046816302682858332888498019546681000238284201432470614502078211783380850154279178400383216356910690393704294761379803665119692176827746122831939075992366262181286534031192817201563982670282567613357853202369980223711594800631341002847079803665413750996939571039931625624071243546476037523490095665918142959985961400844412176792726641794179273641644976221452802909709520616129117043949462351531448313260405176026368695589454166864348439334043654713517216200108766978525743462368562400962416173478191239011432660905987347328929231175570864056180757991311811466839333294864058361254288853398547567961018223215274631472791385686754930064627668181730320922999133196501802426998673038237334244059087590237421441097879267798494665029292485497849215527270808380379797677752563499688565213077134202670839990297509586179766388329378218454884489297494940509394578426246192116668163499790388599855757201322941316208751127374552712383456008321092586542816154749654659690467245692203521467076431184934516796998633190958751786746803703629976850754800261676138877705894931022389005346198847973635112446051310752005116693789647078308010138026638901319676671291547793821238053857906170312719878181703323190821382914712158040180289649831353949923536291623773106352241683801754505231357606882802156599752185643936871002439801982048696803 98442998938402683816057876966313719904912856651693662033137837900614622061189940864719129353357096414927758621054201286455429967557527171455165873475140436609216274994990391500980323454578187811543796801035696395300440072491612933619069317717644566495482934812400059836432268427191767393278727615254874631726661947323736554185031145091693082077608609671828771509728095277489602624018322546050431831403902166573351003652490433461675685462968586439096550592717657130529099089193630337168506000483626607123920285477251130156597859274313383216547862867070386884003829070022410842767181341864819646013426079538106060014114789240199269048567536590878115623362255695119221817475277002004170788724417985574071756165685605555793292073648927755267039299692694487073373452495521280264576724037993044113679321219169142512102967396311701761309587880565070284424184274267137355106706515946781312021100844027875587614480823866748827275833761198926371827882953019163106833994417538305486630516942842142192670579804809528738459650127444566939918213894891740082933055176490583099085241611042393532513564626988520256476079243295312159607950605677605464974048282257947985748537829632942910127633557381307097725057818551463476517817178504465324414897842458287755102647176806320461672875757988438378908564828296816680783627275704201689664399079892762288139412267731835390349060592298486003135951319366738623538214719524975713154153860575594752153470647598363034696489329127786478446347110133435942677258937380978510811434842938594387815862222638557867076349294752063247318799761372451096652730194196027786023770469356916365891563129763718414597402126338148291448709450073357287611023939088451957658764792905973155137495918687951690236050324469287627995714303907142079548886677633713994015093584139183043860470436667074732216318692331860611250751275223002300258507540658522829495203760978922457923836170404710050888104717487050269411445455094583120848161470461776920394326109295053801795515036133950821866658057028746068931194939549867752736632272781967420038130370865850430227162066608684583753822670954893503623232043803157709147261326282718106501628034977041457516190123712564010113190226770065168828035613041868453944256256558418527405205581649345924783174801706574018063140938487694057584281599494329016050432054768576250249306650502880725258070734311964341463764402519793411525840230072764195887514388951104625942946104289065355212470484314527503306636723438972661774344331386907078878725294811023968432979563981562748451106605433073377928184051865825711222850798753438755436337304018159645466948186776122679847837552767495124030472353253595251833112636266232723296014320138826670317164155158206888251757053433404032604052172540386519754126631636220816317822414529919358482965224891177179218619671349732567320710189649926328811239746021535124443359231346228326075395761840496047602931927376929806741145040034781475860003407365715472228970524904495352232479 159284118236805358590516968567920390417327929879511270461704848225874281648481748554744694584477973643955803443616450053091772156771321627418042857960174412255535117808986797175216472255987710621386542112154293586915080243310737635914422614718413139505574392519820691292002802879829419916240096275236489256087476596452898378014835614568188398682237341794864848462913429581134827235106327360606684165445182207163661900942736703499545746420731761433205422584966163420289875307112555868886341032507505444992677805696968153223703970246210828431369820930153421500992242548906045142916613106177127230263319027089337264620545200298417285914407226029383533691993294057804886488175774766338621219621737290251621361332996557898584850171748641329810913984290206690037098553502299276283320506264475319847928012964101004825590687489422585241798624364806655704051955808562806676799217312057555148495744698752187874013369309441454506268474842906869240989001587184247738969835534288180266380008083269290712793440193743566705138036710605584678535555996222741137648912702630337252184005406697902718977868666284646775232307372531435039758256625723781367877972194168140079476336293644427011037236141593114626134228401834465534976045483796578459829506646168572349353799568953024110558151449911847556727291131806363441037491858888088328469600243369292940603533785803343385318607668783137471642838052054992219154971297153805506135970442763806034680923613828766429281097853407483648804362080282670176701202330149978882021526712279133295300490084449202808120773468175858747400154642505141158768913330177981668501495380503966314123669178511199284831448942640831149781597948092903968611262223289884428273266871117756535987650197866352073452407235159681332290475683710807199241063505379836825954169576505445225147004467859891933780301362614428224608604477592982523970102341289863832342283564644336208920775741444641676512175961033526306934935550760501263808147431862621332571118835936847981069156681110172274669567766549362198048238889012219284184945533187143446406825960320017294575601400652339297271038871063660482148975506171720110109677499760909345513060695883028804845119354888134874169370984761376980294874946336732512305510545411817074973166599872561199414647593092260772993205566155875787905204598627525517852859053441614487583550709590470962679511832191232139958429431812278909375055757343572576267312066703668125631511317366199557883310474612037089486403111768350880229228820684402019388119873237270160549647727481353137050962362634396319244392802993200263935234254761759848022880120172909300126638654021814883369304629198680058547269351886786210584899383069936353272865074939088346456041861053137910640762399632252006239164618591697271759243325425867894625832552556558259802641896182724973039857725207638737633430067831629652002061128936247282483539520996059680025319298132119820709284169060731561246376397641664278016603159551359409099972964706477400929282 257727117175208042406574845534234110322240786531204932494842686126488903709671689419463823937835070058883562064670651339547202124328848798873208731435314848864751392803977188676196795710565898432930338913189989982215520315802350569533491932436057706001057327332220751128435071307021187309518823890491363887814138543776634932199866759659881480759845951466693619972641524858624429859124649906657115996849084373737012904595227136961221431883700347872301973177683820550818974396306186206054847032991132052116598091174219283380301829520524211647917683797223808384996071618928455985683794448041946876276745106627443324634659989538616554962974762620261649315355549752924108305651051768342792008346155275825693117498682163454378142245397569085077953283982901177110472005997820556547897230302468363961607334183270147337693654885734287003108212245371725988476140082829944031905923828004336460516845542780063461627850133308203333544308604105795612816884540203410845803829951826485753010525026111432905464019998553095443597686838050151618453769891114481220581967879120920351269247017740296251491433293273167031708386615826747199366207231401386832852020476426088065224874123277369921164869698974421723859286220385929011493862662301043784244404488626860104456446745759344572231027207900285935635855960103180121821119134592290018133999323262055228742946053535178775667668261081623474778789371421730842693186016678781219290124303339400786834394261427129463977587182535270127250709190416106119378461267530957392832961555217727683116352307087760675197122762927921994718954403877592255421643524374009454525265849860882680015232308274917699428851068978979441230307398166261256222286162378336385932031664023729691125146116554303763688457559628968960286189987617949278789950183013550819969263160644628269007474904526966665996620054946288835859355752815984824228609881948386661837487325623258666844611911849351727400280678520576576346381005855084384656308902324398252965444945231901782864671717244123096536225823578108266979433828562087036921577805969110866444956331185867724802763467261023881024861542018553985772207549974877819256938826043627452014688730860070262361309478600698884282561211531442149122910559378600966249766801970235602378372181521907124197822394798834791056346504643569845489486198121854533903291108210190737832857360093351687937582566503196481422193834332072320900895987416336772154826455654772751574457421655264913095780958926564592793039835207323542003573152071309098266845168048294128982627291462915885502068968067469697172576854859025975158085053515198603459217424191068945593586840797937563217142181966175182577741705140381462418012019336169076568879395077915016773206016211344798892519453065656038843216791132083791513369957062088710943654967086477618285607121073902152258477396557371304954140257481555980813300874957782406926898752342288006100715059972615868312216096437661367987521437676445753876606566917074881328943489610972753161761 417011235412013400997091814102154500739568716410716202956547534352363185358153437974208518522313043702839365508287101392638974281100170426291251589395489261120286510612963985851413267966553609054316881025344283569130600559113088205447914547154470845506631719852041442420437874186850607225758920165727853143901615140229533310214702374228069879442083293261558468435554954439759257094230977267263800162294266580900674805537963840460767178304432109305507395762649983971108849703418742074941188065498637497109275896871187436604005799766735040079287504727377229885988314167834501128600407554219074106540064133716780589255205189837033840877381988649645183007348843810728994793826826534681413227967892566077314478831678721352962992417146210414888867268273107867147570559500119832831217736566943683809535347147371152163284342375156872244906836610178381692528095891392750708705141140061891609012590241532251335641219442749657839812783447012664853805886127387658584773665486114666019390533109380723618257460192296662148735723548655736296989325887337222358230880581751257603453252424438198970469301959557813806940693988358182239124463857125168200729992670594228144701210416921796932202105840567536349993514622220394546469908146097622244073911134795432453810246314712368682789178657812133492363147091909543562858610993480378346603599566631348169346479839338522160986275929864760946421627423476723061848157313832586725426094746103206821515317875255895893258685035942753776055071270698776296079663597680936274854488267496860978416842391536963483317896231103780742119109046382733414190556854551991123026761230364848994138901486786116984260300011619810591011905346259165224833548385668220814205298535141486227112796314420655837140864794788650292576665671328756478031013688393387645923432737150073494154479372386858599776921417560717060467960230408967348198712223238250494179770890267594875765387653293993403912456639554102883281316556615585648464456334187019585536563781168749763933828398354295371205793590127470465027672717574306321106523339156254312851782291505885019378364867913363178295900413082214467921183056146597929366616325804536797527749426743099067206428833488833758451932196292819129417785505715333478555277347382052677351538781394468323612469987891095564049552070799445633394690796749380051756150161651805225416408069683822650617094398694428621380623266144351230275951744759909348422138522358440877205968739021464470979091433538601682279442946975674422232801972755711117654965041285564289532275018944269022553031330701866016416969657852226239093319308276958451482097544363978245720225494819752446586446811164855241125011057027167673002911402406105429841744470017003363229247877264482709533281852697908045082381409723781063272613282487956605569487519643035878088249017256627125298335121765010042587570325313185632815362003894029689410438273338347686126034358104735689021500265498392929233897835318110031893209726468434290428916454317450154091043 674738352587221443403666659636388611061809502941921135451390220478852089067825127393672342460148113761722927572957752732186176405429019225164460320830804109985037903416941174527610063677119507487247219938534273551346120874915438774981406479590528551507689047184262193548872945493871794535277744056219217031715753684006168242414569133887951360201929244728252088408196479298383686953355627173920916159143350954637687710133190977421988610188132457177809368940333804521927824099724928280996035098489769549225873988045406719984307629287259251727205188524601038270984385786762957114284202002261020982816809240344223913889865179375650395840356751269906832322704393563653103099477878303024205236314047841903007596330360884807341134662543779499966820552256009044258042565497940389379114966869412047771142681330641299500977997260891159248015048855550107681004235974222694740611064968066228069529435784312314797269069576057861173357092051118460466622770667591069430577495437941151772401058135492156523721480190849757592333410386705887915443095778451703578812848460872177954722499442178495221960735252830980838649080604184929438490671088526555033582013147020316209926084540199166853366975539541958073852800842606323557963770808398666028318315623422292558266693060471713255020205865712419427999003052012723684679730128072668364737598889893403398089425892873700936653944190946384421200416794898453904541343330511367944716219049442607608349712136683025357236272218478023903305780461114882415458124865211893667687449822714588661533194698624724158515018994031702736838063450260325669612200378926000577552027080225731674154133795061034683689151080598790032242212744425426481055834548046557200137330199165215918237942430974959600829322354417619252862855658946705756820963871406938465892695897794701763161954276913825265773541472507005896327315983224952172427322105186637156017258215890853542609999565143345131312737318074679459627697562470670033120765236511417838502008726400651546798500115598418467742019413705578732007106546136393358028101145125365179296738622691752744181128335174387059320761955100768453693390606121475748623555151848164249542438157603169329567738312089532642734493407824261278540696065093934444805044149352288279729910962916375447810292382689930355105898575443015478884176994871234585659441269861995963249265429777174338554676965197625102802817100476423551176847732176246120576964978013213628780426160676729384074872392465166275072482782182997964236375124827020215921810209333858418514902310407184908055100298769335713589546512711252214251404361792157054941314968555047191313812335617690009803588993131030423702752762167549135420923421742274506410623865094918380002453893475827508425801305763564083925598200855864854785983239550045316513142486729513496373856138330529277556812518322381347541710582794741613628662878851812096337337025680635692226749418077351557333716361936054297221419272994555785769816293385509171757859943928422907252804 1091749587999234844400758473738543111801378219352637338407937754831215274425978565367880860982461157464562293081244854124825150686529189651455711910226293371105324414029905160379023331643673116541564100963878557120476721434028526980429321026744999397014320767036303635969310819680722401761036664221947070175617368824235701552629271508116021239644012537989810556843751433738142944047586604441184716321437617535538362515671154817882755788492564566483316764702983788493036673803143670355937223163988407046335149884916594156588313429053994291806492693251978268156972699954597458242884609556480095089356873374061004503145070369212684236717738739919552015330053237374382097893304704837705618464281940407980322075162039606160304127079689989914855687820529116911405613124998060222210332703436355731580678028478012451664262339636048031492921885465728489373532331865615445449316206108128119678542026025844566132910289018807519013169875498131125320428656794978728015351160924055817791791591244872880141978940383146419741069133935361624212432421665788925937043729042623435558175751866616694192430037212388794645589774592543111677615134945651723234312005817614544354627294957120963785569081380109494423846315464826718104433678954496288272392226758217725012076939375184081937809384523524552920362150143922267247538341121553046711341198456524751567435905732212223097640220120811145367622044218375176966389500644343954670142313795545814429865030011938921250494957254420777679360851731813658711537788462892829942541938090211449639950037090161687641832915225135483478957172496643059083802757233477991700578788310590580668293035281847151667949451092218600623254118090684591705889382933714778014342628734306702145350738745395615437970187149206269545439521330275462234851977559800326111816128634944775257316433649300683865550462890067722956795276213633919520626034328424887650197029106158448418375387218437338535225193957628782342909014119086255681585221570698437424038572507569401310732328513952713838947813003833049197034779263710699679134624484281619492148520914197637763559493203087750237616662368182982921614573662268073677990171477652701047070187584346268396774167145578366401186425604117080407958481570809267923360321496734340957081449744310843771422762370581025919155450646242461112278867791620614637415591431513801188665673499460996989171771363892053724183440366620774781452799476936155468999103500371654505986394899698193855053963826003767957351925729158672386469177097582731333576775250619422708047177329351453930608131629471201730006516170563478453344723670069115506423412512919025437034037830437442456390035804295885664827763819194716808423834824148379936252368335111921743231701770740310217959083158461472129007979610579645918058596522038001922082630006372549374462105155587156402855147640087391390129280908107927246444024882745841785747775299018983378352783776182087246355216627434447226455317108312665817663026019853943462186776398245873061343847 1766487940586456287804425133374931722863187722294558473859327975310067363493803692761553203442609271226285220654202606857011327091958208876620172231057097481090362317446846334906633395320792624028811320902412830671822842308943965755410727506335527948522009814220565829518183765174594196296314408278166287207333122508241869795043840642003972599845941782718062645251947913036526631000942231615105632480580968490176050225804345795304744398680697023661126133643317593014964497902868598636933258262478176595561023872962000876572621058341253543533697881776579306427957085741360415357168811558741116072173682614405228417034935548588334632558095491189458847652757630938035200992782583140729823700595988249883329671492400490967645261742233769414822508372785125955663655690496000611589447670305767779351820709808653751165240336896939190740936934321278597054536567839838140189927271076194347748071461810156880930179358594865380186526967549249585787051427462569797445928656361996969564192649380365036665700420573996177333402544322067512127875517444240629515856577503495613512898251308795189414390772465219775484238855196728041116105806034178278267894018964634860564553379497320130638936056919651452497699116307433041662397449762894954300710542381640017570343632435655795192829590389236972348361153195934990932218071249625715076078797346418154965525331625085924034294164311757529788822461013273630870930843974855322614858532844988422038214742148621946607731229472898801582666632192928541126995913328104723610229387912926038301483231788786411800347934219167186215795235946903384753414957612403992278130815390816312342447169076908186351638602172817390655496330835110018186945217481761335214479958933471918063588681176370575038799509503623888798302376989222167991672941431207264577708824532739477020478387926214509131324004362574728853122592196858871693053356433611524806214287322049301960985386783580683666537931275703461802536711681556925714705986807209855262540581233970052857530828629551132306689832417538627929041885809847093037162725629406984671445259536889390507740621538262137296937424323283751375307964268389549426613726629500865296612625741949437726341905457667899043920919011941341686499177635903202368165365646086629236811360707227219219233054753270956274261349221685476591163044786491849223075032701375797151914938929238171327726448329089678826986257467097198332629647209112401589576068478384868134766821060374923239128836218468934232424408511341670350705552222409751549498585459953281126562079639758638838663231928240537443596062683274730667596128031861272561364727481474072628347850166055132466193624797426916088530516581362265943844758245890654442662992200206840123234155664216137726384884464225036212933577811435510772844579761588047238595772493102062870835961293917685680411960158409772737670991490902668860072687761597653882085112324699619070579533194259438803688932989370501523676736381307221603432842313239452633944636342174295968596651 2858237528585691132205183607113474834664565941647195812267265730141282637919782258129434064425070428690847513735447460981836477778487398528075884141283390852195686731476751495285656726964465740570375421866291387792299563742972492735840048533080527345536330581256869465487494584855316598057351072500113357382950491332477571347673112150119993839489954320707873202095699346774669575048528836056290348802018586025714412741475500613187500187173261590144442898346301381508001171706012268992870481426466583641896173757878595033160934487395247835340190575028557574584929785695957873600053421115221211161530555988466232920180005917801018869275834231109010862982810868312417298886087287978435442164877928657863651746654440097127949388821923759329678196193314242867069268815494060833799780373742123510932498738286666202829502676532987222233858819787007086428068899705453585639243477184322467426613487836001447063089647613672899199696843047380711107480084257548525461279817286052787355984240625237916807679360957142597074471678257429136340307939110029555452900306546119049071074003175411883606820809677608570129828629789271152793720940979830001502206024782249404919180674454441094424505138299760946921545431772259759766831128717391242573102769139857742582420571810839877130638974912761525268723303339857258179756412371178761787419995802942906532961237357298147131934384432568675156444505231648807837320344619199277285000846640534236468079772160560867858226186727319579262027483924742199838533701790997553552771326003137487941433268878948099442180849444302669694752408443546443837217714845881983978709603701406893010740204358755338019588053265035991278750448925794609892834600415476113228822587667778620208939419921766190476769696652830158343741898319497630226524918991007590689524953167684252277794821575515192996874467252642451809917868410492791213679390762036412456411316428207750379360774002018022201763125233332244145445725800643181396291208377908292686579153741539454168263157143503846145637645421371677126076665073557792716297350113688604163593780451087028271300114741349887534554086691466734296922537930657623104603898107153566343682813326295706123116072603246265445107344616058422094457659206712470291525687142820970193892810451538062990655817123851982193416799867927937703441912578112463860490624132889598340580612428699168316898219692981732551169697833717973114082446686048557058575171978756522640753215960073117094182800044472702189776334240500342737174729319992482883075360710572703834609256969110092769271363557711739173602578853838209120940851701930388067788139994393098065381887996492574922583660601722801753358280400556982752268593070039034378915360535318761866465857434956447944343967622686508341941557422015156690903176283626049160678402499474612245298066449504842083267107798497164127800272399010596106516712644343495667832887623718602448932316970441526050044149616804948750132053489619887421095868333093396096131412740420169029940498 4624725469172147420009608740488406557527753663941754286126593705451350001413585950890987267867679699917132734389650067838847804870445607404696056372340488333286049048923597830192290122285258364599186742768704218464122406051916458491250776039416055294058340395477435295005678350029910794353665480778279644590283613840719441142716952792123966439335896103425935847347647259811196206049471067671395981282599554515890462967279846408492244585853958613805569031989618974522965669608880867629803739688944760237457197630840595909733555545736501378873888456805136881012886871437318288957222232673962327233704238602871461337214941466389353501833929722298469710635568499250452499878869871119165265865473916907746981418146840588095594650564157528744500704566099368822732924505990061445389228044047891290284319448095319953994743013429926412974795754108285683482605467545291725829170748260516815174684949646158327993269006208538279386223810596630296894531511720118322907208473648049756920176890005602953473379781531138774407874222579496648468183456554270184968756884049614662583972254484207073021211582142828345614067484985999193909826747014008279770100043746884265483734053951761225063441195219412399419244548079692801429228578480286196873813311521497760152764204246495672323468565301998497617084456535792249111974483620804476863498793149361061498486568982384071166228548744326204945266966244922438708251188594054599899859379485522658506294514309182814465957416200218380844694116117670740965529615119102277163000713916063526242916500667734511242528783663469855910547644390449828590632672458285976256840419092223205353187373435663524371226655437853381934246779760904628079779817897237448443302546601250538272528101098136765515569206156454047142044275308719798218197860422214855267233777700423729298273209501729702128198471615217180663040460607351662906732747195647937262625603750257052340346160785598705868301056509035705947982437482200107110997195185118147949119734975509507025793985773054978452327477838910305055118550883404885753460075743095588835039039987976418779040736279612024831491511014750485672230502199047172531217624736654431640295439068245143849457978060914164489028263627999763780956836842615672659691052788907599430704171158765282209888871877122938467678149089613414294604957364604313083565656834265395492495551357937339644624668022071411378155955300815171446712093895160958648151240457141390775520037020448040333311636262941636422200742751842013087880281542402234432573946170525984961171336608868731607934595485952276617198641537112939788536979733791660629152867475867170693729738162547707388777285399149717841888796981919248696113351315929688821578352735525601989700013099172585670728852086911544554875135233450667463747756045214096399274174992576675116134027743422527763679067956906936865471263889913264966589400405941149549917999948418221519511850164700964853733082606175450273808789870927109024528710646332848730076049082594464998537149 7482962997757838552214792347601881392192319605588950098393859435592632639333368209020421332292750128607980248125097528820684282648933005932771940513623879185481735780400349325477946849249724105169562164634995606256421969794888951227090824572496582639594670976734304760493172934885227392411016553278393001973234105173197012490390064942243960278825850424133809049443346606585865781097999903727686330084618140541604875708755347021679744773027220203950011930335920356030966841314893136622674221115411343879353371388719190942894490033131749214214079031833694455597816657133276162557275653789183538395234794591337694257394947384190372371109763953407480573618379367562869798764957159097600708030351845565610633164801280685223544039386081288074178900759413611689802193321484122279189008417790014801216818186381986156824245689962913635208654573895292769910674367250745311468414225444839282601298437482159775056358653822211178585920653644011008002011595977666848368488290934102544276161130630840870281059142488281371482345900836925784808491395664299740421657190595733711655046257659618956628032391820436915743896114775270346703547687993838281272306068529133670402914728406202319487946333519173346340789979851952561196059707197677439446916080661355502735184776057335549454107540214760022885807759875649507291730895991983238650918788952303968031447806339682218298162933176894880101711471476571246545571533213253877184860226126056894974374286469743682324183602927537960106721600042412940804063316910099830715772039919201014184349769546682610684709633107772525605300052833996272427850387304167960235550022793630098363927577794418862390814708702889373212997228686699237972614418312713561672125134269029158481467521019902955992338902809284205485786173628217428444722779413222445956758730868107981576068031077244895125072938867859632472958329017844454120412137957684349719036920178464802719706934787616728070064181742367950093428163282843288507288403563026440635698888717048961194057142916558824597965123260281982181195215956962678469757425856784192998632820439063447050340851020961912366045597706217219969153040129704795635821522843807997983978252394540849972574050664160429934135608244058185875414496049328142951216739931728569624596981610303345200544689000974920661094948957541351998046869942716776944056280967154993833076163786636507961522887715053143929325653134533144560794540581209515706726412435897913416273252980521157427494436307414338611977076992342355825055010862394717315649306881098688795780593577978824377205959043664015790801220390951148909477831435722048696941007470260268759111626159040282311360946000872519595247077382476231448381944385968723200493713270844363856165870534129033615072819709598052896816692655465824154650932328840145559952577492051287361432094192927369846946175755404100993271536288923861073106113050284645217750887572136823968444167135142490903777232222980399023940843360546996445624578979426244826207461823014634028477647 12107688466929985972224401088090287949720073269530704384520453141043982640746954159911408600160429828525112982514747596659532087519378613337467996885964367518767784829323947155670236971534982469768748907403699824720544375846805409718341600611912637933653011372211740055498851284915138186764682034056672646563517719013916453633107017734367926718161746527559744896790993866397061987147470971399082311367217695057495338676035193430171989358881178817755580962325539330553932510923774004252477960804356104116810569019559786852628045578868250593087967488638831336610703528570594451514497886463145865628939033194209155594609888850579725872943693675705950284253947866813322298643827030216765973895825762473357614582948121273319138689950238816818679605325512980512535117827474183724578236461837906091501137634477306110818988703392840048183450328003578453393279834796037037297584973705356097775983387128318103049627660030749457972144464240641304896543107697785171275696764582152301196338020636443823754438924019420145890220123416422433276674852218569925390414074645348374239018512143826029649243973963265261357963599761269540613374435007846561042406112276017935886648782357963544551387528738585745760034527931645362625288285677963636320729392182853262887948980303831221777576105516758520502892216411441756403705379612787715514417582101665029529934375322066289464391481921221085046978437721493685253822721807308477084719605611579553480668800778926496790141019127756340951415716160083681769592932029202107878772753835264540427266270214417121927238416771242381515847697224446101018483059762453936492390441885853303717114951230082386762041364140742755147244008447603866052394236209951010115427680870279696753995622118039721507908108965738252627830448936937226662920639835437301223992508568531710874341240578974597253271410483076813135998789625196117027144885153332286981662523928721855060053095573215433938365238251403656041410600765043395618285598748144588584818623692558468219851128689613803050292601099192287236313766840367564223217501599879781833671860427039865829381587300573937197537108720967705641383542328751968167039147580462429624273691462785993822032028725074594423163871872057949656371332891943815610907792720636169055301152769068627410433560878097859128773098047154766292651827307321090027621937801420389325571715144573847606147555737124555307481608435348316007506634476370474354877652893039304191793290000969197760806072570355975034177819744184368912935292404796951748223253051624673756951930186847555985140554529616292407999861928064088698014811169513709326093874946127439452841364321587989700138231400022237437135874364395480144495295701898412022072066006369965845865883633301619285801671796509597451691827888916491618398688374054241959226752484627962477566121936349897610625243712311037858742800178837126039695513456225794767668887520555045487956017299843455757510314829155849297749633231474105470153289625759093556283510905609099027014796 19590651464687824524439193435692169341912392875119654482914312576636615280080322368931829932453179957133093230639845125480216370168311619270239937399588246704249520609724296481148183820784706574938311072038695430976966345641694360945432425184409220573247682348946044815992024219800365579175698587335065648536751824187113466123497082676611886996987596951693553946234340472982927768245470875126768641451835835599100214384790540451851734131908399021705592892661459686584899352238667140875152181919767447996163940408278977795522535611999999807302046520472525792208520185703870614071773540252329404024173827785546849852004836234770098244053457629113430857872327234376192097408784189314366681926177608038968247747749401958542682729336320104892858506084926592202337311148958306003767244879627920892717955820859292267643234393355753683392104901898871223303954202046782348765999199150195380377281824610477878105986313852960636558065117884652312898554703675452019644185055516254845472499151267284694035498066507701517372566024253348218085166247882869665812071265241082085894064769803444986277276365783702177101859714536539887316922123001684842314712180805151606289563510764165864039333862257759092100824507783597923821347992875641075767645472844208765623133756361166771231683645731518543388699976287091263695436275604770954165336371053968997561382181661748507762554415098115965148689909198064931799394255020562354269579831737636448455043087248670179114324622055294301058137316202496622573656248939301938594544793754465554611616039761099732611948049879014907121147750058442373446333447066621896727940464679483402081042529024501249152856072843632128360241237134303104025008654522664571787552815139308855235463143137942677500247011775022458113616622565154655107643419248659747180751239436639692450409271656219492378344349350936445608957118643040571147557023111016636700699444107186657779760030360832162008429419993771606134838764047886684125574002311171029220517512409607429413908271606172627648257724359474269417508982797330242692974927456663974832304680866103312879722438321535849563582706427184925610536582458456763802860670424270427608251943857326843794606079389235024357299480116116135531785828941271958562124532652364738679898134379371972610978249879072779789868047004696118290698697250037866971678218768575383158647878931210355567670443452177699236807261569881460568301175057579990061604065328937217608066542981490355188300508877770313646154896736526724737990303267191669063872559932723362552732523764826380362346513573280308198801082319015237607492642605235758023034882416387708211952990480628272011499177400894757032382951746871711592877240087867135222565779277214329702031754167430652900874491506107650348508520544382315773049620702894387519179329976679249838998216129277267457571419467715138852014336467760987112801626506510439985419775092691869456400184434985946661287547052136248321690476592021101915777868605185338382490972728623733055492443 31698339931617810496663594523782457291632466144650358867434765717680597920827276528843238532613609785658206213154592722139748457687690232607707934285552614223017305439048243636818420792319689044707059979442395255697510721488499770663774025796321858506900693721157784871490875504715503765940380621391738295100269543201029919756604100410979813715149343479253298843025334339379989755392941846525850952819053530656595553060825733882023723490789577839461173854986999017138831863162441145127630142724123552112974509427838764648150581190868250400390014009111357128819223714274465065586271426715475269653112860979756005446614725085349824116997151304819381142126275101189514396052611219531132655822003370512325862330697523231861821419286558921711538111410439572714872428976432489728345481341465826984219093455336598378462223096748593731575555229902449676697234036842819386063584172855551478153265211738795981155613973883710094530209582125293617795097811373237190919881820098407146668837171903728517789936990527121663262786147669770651361841100101439591202485339886430460133083281947271015926520339746967438459823314297809427930296558009531403357118293081169542176212293122129408590721390996344837860859035715243286446636278553604712088374865027062028511082736664997993009259751248277063891592192698533020099141655217558669679753953155634027091316556983814797226945897019337050195668346919558617053216976827870831354299437349216001935711888027596675904465641183050642009553032362580304343249180968504046473317547589730095038882309975516854539186466650257288636995447282888474464816506829075833220330906565336705798157480254583635914897436984374883507485245581906970077402890732615581902980496009588551989458765255982399008155120740760710741447071502091881770564059084097048404743748005171403324750512235194089631615759834013258744955908268236688174701908264348923682361968035908512839813125934047595946794658245175262176249364812930079743859601059315617805336136102165897633759400295786430698550325458666556653822749637697806916192429056543756665976541293143178709104025622109786761119815148152631251920124787208731969899818004732857232525635320112837616638108114309618780463351988174085188157161833215774173032325373000907735199287148440600021411810757170638918641145051850884583350524557358956999300156569995772484219594075784203173817999189302254544288870005229776575807809533950464416481718221976521799859832982459552949106581448126288680332716480711093650925595671988620812095812984348036309684453951673936347487068102896600606800944247079326305507453774749467349128757362515147664794354802216261711637408800916994469518826111267191737372535789765547244637845283584295547897637800732272186676163302617247800200348433298807391448309076948629478406082461307212316564338065627165068196663180026176710757136646598113152497139962736234753088662613246914944356201734829402418797861881292097619440109823495207385931158230944431938774483634232832082507239 51288991396305635021102787959474626633544859019770013350349078294317213200907598897775068465066789742791299443794437847619964827856001851877947871685140860927266826048772540117966604613104395619645371051481090686674477067130194131609206450980731079080148376070103829687482899724515869345116079208726803943637021367388143385880101183087591700712136940430946852789259674812362917523638412721652619594270889366255695767445616274333875457622697976861166766747648458703723731215401108286002782324643891000109138449836117742443673116802868250207692060529583882921027743899978335679658044966967804673677286688765302855298619561320119922361050608933932811999998602335565706493461395408845499337748180978551294110078446925190404504148622879026604396617495366164917209740125390795732112726221093747876937049276195890646105457490104347414967660131801320900001188238889601734829583372005746858530547036349273859261600287736670731088274700009945930693652515048689210564066875614661992141336323171013211825435057034823180635352171923118869447007347984309257014556605127512546027148051750716002203796705530669615561683028834349315247218681011216245671830473886321148465775803886295272630055253254103929961683543498841210267984271429245787856020337871270794134216493026164764240943396979795607280292168985624283794577930822329623845090324209603024652698738645563304989500312117453015344358256117623548852611231848433185623879269086852450390754975276266855018790263238344943067690348565076926916905429907805985067862341344195649650498349736616587151134516529272195758143197341330847911149953895697729948271371244820107879200009279084885067753509828007011867726482716210074102411545255280153690533311148897407224921908393925076508402132515783168855063694067246536878207478332756795585494987441811095775159783891413582009960109184949704353913026911277259322258931375365560383061412143095170619573156294879757955224078238946868311088128860816763869433603370486647025853648511773327047667671901959058346808049818140826071331732435028049609167356513207731498281222159246491588826463943645636324702521575337556862456707245665495772760488429003284840777579177439681411244187503544643137762832104290220719942990774487732735156858025365646415097421527812572632390060636243418708509192056547002874049221807396823970978375338571155642867473006994558741488442641479953781096131575111237144108984591530454478085783550913739407926375963949908137407090325896602326487613217237818388915898939180289875968372917071398862416977716500316709833581676176908805602026566094563913000096379985225372163639778902855876747345282844533723136586201811751501901777858138903330249775877632682467203624560798625249929391968162925087550654808724898148708868977681123164497929779843016997585412437986462155562554194904432525768082647741315562771473114359100265298766469246674738508437705938784400756386169815349080085408933428345941130586415516309301709026836129770321265456362856565137999682 82987331327923445517766382483257083925177325164420372217783844011997811121734875426618306997680399528449505656949030569759713285543692084485655805970693475150284131487820783754785025405424084664352431030923485942371987788618693902272980476777052937587049069791261614558973775229231373111056459830118542238737290910589173305636705283498571514427286283910200151632285009151742907279031354568178470547089942896912291320506442008215899181113487554700627940602635457720862563078563549431130412467368014552222112959263956507091823697993736500608082074538695240049846967614252800745244316393683279943330399549745058860745234286405469746478047760238752193142124877436755220889514006628376631993570184349063619972409144448422266325567909437948315934728905805737632082169101823285460458207562559574861156142731532489024567680586852941146543215361703770576698422275732421120893167544861298336683812248088069840417214261620380825618484282135239548488750326421926401483948695713069138810173495074741729615372047561944843898138319592889520808848448085748848217041945013943006160231333697987018130317045277637054021506343132158743177515239020747649028948766967490690641988097008424681220776644250448767822542579214084496714620549982850499944395202898332822645299229691162757250203148228072671171884361684157303893719586039888293524844277365237051744015295629378102216446209136790065540026603037182165905828208676304016978178706436068452326466863303863530923255904421395585077243380927657231260154610876310031541179888933925744689380659712133441690320983179529484395138644624219322375966460724773563168602277810156813677357489533668520982650946812381895375211728298117044179814435987895735593513807158485959214380673649907475516557253256543879596510765569338418648771537416853843990238735446982499099910296126607671641575869018962963098868935179513947496960839639714484065423380179003683459386282228927353902018736484122130487337493673746843613293204429802264831189784613939224681427072197745489045358375276807382725154482072725856525359785569751488164257763452389670297930489565755423085822336723490188114376832032874227742660306433736142073303214497552519027882295617854261918226184092464305908100152607703506908189183398366554150296708676253172653801871393414057627150337108397887457399746364755780970278531908566928127087067082778761915306441830782208325385001580341013719916794125480918894567501772890261207786208946409461086513671774022891006820329697948912039841494611168910688064185901419435172101431668174253057320649779073509412402970813173890218507550154734692721292397141418003541541700085060795434773995002728745971420603969406095067622311667398229711841469844382920797827029768895197274226818111342145948909217410979930555946238856791646475991494899293674472126892260531597593964745827767492273528609760957213417795906431982909491597100319185699345112587904644751498883270814720443560570696239011516687640185067074202260039939997089397220506921 134276322724229080538869170442731710558722184184190385568132922306315024322642474324393375462747189271240805100743468417379678113399693936363603677655834336077550957536593323872751630018528480283997802082404576629046464855748888033882186927757784016667197445861365444246456674953747242456172539038845346182374312277977316691516806466586163215139423224341147004421544683964105824802669767289831090141360832263167987087952058282549774638736185531561794707350283916424586294293964657717133194792011905552331251409100074249535496814796604750815774135068279122970874711514231136424902361360651084617007686238510361716043853847725589668839098369172685005142123479772320927382975402037222131331318365327614914082487591373612670829716532316974920331346401171902549291909227214081192570933783653322738093192007728379670673138076957288561510875493505091476699610514622022855722750916867045195214359284437343699678814549357051556706758982145185479182402841470615612048015571327731130951509818245754941440807104596768024533490491516008390255855796070058105231598550141455552187379385448703020334113750808306669583189371966508058424733920031963894700779240853811839107763900894719953850831897504552697784226122712925706982604821412096287800415540769603616779515722717327521491146545207868278452176530669781587688297516862217917369934601574840076396714034274941407205946521254243080884384859154805714758439440524737202602057975522920902717221838580130385942046167659740528144933729492734158177060040784116016609042230278121394339879009448750028841455499708801680153281841965550170287116414620471293116873649054976921556557498812753406050404456640388907242938211014327118282225981243175889284047118307383366439302582043832552024959385772327048451574459636584955526979015749610639575733722888793594875070080018021253651535978203912667452781962090791206819219771015080044448484792322098854078959438523807111857242814723068998798425622534563607482726807800288911857043433125712551729094744099704547392166425094948208796486214507753906134527142082959219662538985611636161886756953509401059410524858298827744976833539278539723515420794862739426914080793674992200439126483121398905055989016196754526628043143382191239643346041423732200565394130204065745286191932029657476335659529164944890331448968172152604941256907247138083769954540089773320656794884472262162106481133155452250864025778717011373372653285323804000615712584910359369223920762099919493333307942915186730428757393550349200564032558818490834034518409384674569767154231455250418218004997379268454131507646534719918093456036920320859418289045367905329157910581204540497473322381827544998397872087545030912179045094405181546047756421737058122361777472920067044097618086388661053720444168636634663473576907337280136627689446455436030119732828475508807836300082875316313683094672901229584230105538025124483745868974074460100578968679748148789501701282654527825989349211903203972581305396359945962358506603 217263654052152526056635552925988794483899509348610757785916766318312835444377349751011682460427588799690310757692498987139391398943386020849259483626527811227835089024414107627536655423952564948350233113328062571418452644367581936155167404534836954254246515652627058805430450182978615567228998868963888421111603188566489997153511750084734729566709508251347156053829693115848732081701121858009560688450775160080278408458500290765673819849673086262422647952919374145448857372528207148263607259379920104553364368364030756627320512790341251423856209606974363020721679128483937170146677754334364560338085788255420576789088134131059415317146129411437198284248357209076148272489408665598763324888549676678534054896735822034937155284441754923236266075306977640181374078329037366653029141346212897599249334739260868695240818663810229708054090855208862053398032790354443976615918461728343531898171532525413540096028810977432382325243264280425027671153167892542013531964267040800269761683313320496671056179152158712868431628811108897911064704244155806953448640495155398558347610719146690038464430796085943723604695715098666801602249159052711543729728007821302529749751997903144635071608541755001465606768701927010203697225371394946787744810743667936439424814952408490278741349693435940949624060892353938891582017102902106210894778878940077128140729329904319509422392730391033146424411462191987880664267649201041219580236681958989355043688701883993916865302072081136113222177110420391389437214651660426048150222119212047139029259669160883470531776482888331164548420486589769492663082875345244856285475926865133735233914988346421927033055403452770802618149939312444162462040417231071624877560925465869325653683255693740027541516639028870928048085225205923374175750553166464483565972458335776093974980376144628925293111847222875630551650897270305154316180610654794528513908172501102537538345720752734465759261551207191129285763116208310451096020012230091176688233217739651776410521816297450036437524800371755591521640696580479762659886927652710707826796749064025832184687443075156482496347195022317933091210371311413951258081101296475568987384008172544719467008778739253166974215200289218832536143295989894746551535224822098754715690838880318917939993803423071533962809866273342777788848714536908385911535439155705011897041607172552082572101326303044370431866134735793264583942572842492292267220787096694261823498793856768830310434433873942384340128272613135642468598888161518111252096744719910269206619841052848822824474881234323927630407968192442344350015196689454610814748434061738862959830745452966124592684576207269243444742985796951093465494399212429141890886564249564466845583451505953319636004291031409190046527303799640984276390407493426309949568402236573811099816338715967627713697574303276300109828692636273527100890579333212493721702638344310183090981561979104852077851950562869233062271978893539342676989396970278174841345336357035359579013524 351539976776381606595504723368720505042621693532801143354049688624627859767019824075405057923174778070931115858435967404519069512343079957212863161282362147305386046561007431500288285442481045232348035195732639200464917500116469970037354332292620970921443961513992503051887125136725858023401537907809234603485915466543806688670318216670897944706132732592494160475374377079954556884370889147840650829811607423248265496410558573315448458585858617824217355303203290570035151666492864865396802051391825656884615777464105006162817327586946002239630344675253485991596390642715073595049039114985449177345772026765782292832941981856649084156244498584122203426371836981397075655464810702820894656206915004293448137384327195647607985000974071898156597421708149542730665987556251447845600075129866220337342526746989248365913956740767518269564966348713953530097643304976466832338669378595388727112530816962757239774843360334483939032002246425610506853556009363157625579979838368531400713193131566251612496986256755480892965119302624906301320560040225865058680239045296854110534990104595393058798544546894250393187885087065174860026983079084675438430507248675114368857515898797864588922440439259554163390994824639935910679830192807043075545226284437540056204330675125817800232496238643809228076237423023720479270314619764324128264713480514917204537443364179260916628339251645276227308796321346793595422707089725778422182294657481910257760910540464124302807348239740876641367110839913125547614274692444542064759264349490168533369138678609633499373231982597132844701702328555319662950199289965716149402349575920110656790472487159175333083459860093159709861088150326771280744266398474247514161608043773252692092985837737572579566476024801197976499659684842508329702729568916075123141706181224569688850050456162650178944647825426788298004432859361096361135400381669874572962392964823201391617305159276541577616504365930260128084188738742874058578746820030380088545276650865364328139616560397154583829691225466703800318126911088233668794414069735669927489335734675661994071444396584557541906872053321145678068043910589953674773501896159214995901464801847536919906135261860652072030204216485973359164186439372085986194881266245830955281084969084384663226185735452729010298469395438287668120297682709060990852792346402843095666996147262325403228896210775306532538347267891245515447968351559503665639874072420498262439211378767128199534355195973861877673436215528322372897356281711867311816129303538401103241138250437523392591629112689574345848412965571710798481522843224174528908204470982059722378119790820871453750595157411809740918065367624496091863366486757460054069931658654746012893339873243011441997781763951476234144145390188302037996834576130060973423145309573853947727505785171403657833430402778785107946128775511589840783985252234442077951808176369434666836850536053564952656820630311018022563973261548067168666338608873482147422650732716981321937520127 568803630828534132652140276294709299526521202881411901139966454942940695211397173826416740383602366870621426616128466391658460911286465978062122644908889958533221135585421539127824940866433610180698268309060701771883370144484051906192521736827457925175690477166619561857317575319704473590630536776773123024597518655110296685823829966755632674272842240843841316529204070195803288966072011005850211518262382583328543904869058864081122278435531704086640003256122664715484009039021072013660409310771745761437980145828135762790137840377287253663486554282227849012318069771199010765195716869319813737683857815021202869622030115987708499473390627995559401710620194190473223927954219368419657981095464680971982192281063017682545140285415826821392863497015127182912040065885288814498629216476079117936591861486250117061154775404577747977619057203922815583495676095330910808954587840323732259010702349488170779870872171311916321357245510706035534524709177255699639111944105409331670474876444886748283553165408914193761396748113733804212385264284381672012128879540452252668882600823742083097262975342980194116792580802163841661629232238137386982160235256496416898607267896701009223994048981014555628997763526566946114377055564201989863290037028105476495629145627534308078973845932079750177700298315377659370852331722666430339159492359454994332678172694083580426050731982036309373733207783538781476086974738926819641762531339440899612804599242348118219672650311822012754589287950333516937051489344104968112909486468702215672398398347770516969905008465485464009250122815145089155613282165310961005687825502785244392024387475505597260116515263545930512479238089639215443206306815705319139039168969239122017746669093431312607107992663830068904547744910048431703878480122082539606707678639560345782825030832307279104237759672649663928556083756631401515451580992324669101476301137324303929155650880029276043375765917137451257369951854951184509674766832260471265233509868605016104550138376694604620267216025838459391839767607668713431454300997388380635316132483739687826256131839659714024403219248343463611159254281901367626031582997455690564888848810020081639373144040599905239004419416775192191700329735361980732746416491067929709996775807964703581166179538875800544261279261711630445909146397245969376764327785558548107564037754434877485800997537078350902970213402627038780031910924401995957907094859517192524262710172623897029844789629847804262013564488141458015365955169873385423068226048258311372447758091490372215416103993923898273478820933764153142831538039913629139722952905043798585337950536273837578343279733619078984362808353421447185328860885969889195960818222904310479738923324748964761633786054982885424190672693987943022273224983623487283372713711810427758827322123887371285547127977082061408055957468147863367884875831567654571673510814713744849927832098032669804734672580873887255626245240441606511343328005843760322263996069074016681516533651 920343607604915739247644999663429804569142896414213044494016143567568554978416997901821798306777144941552542474564433796177530423629545935274985806191252105838607182146428970628113226308914655413046303504793340972348287644600521876229876069120078896097134438680612064909204700456430331614032074684582357628083434121654103374494148183426530618978974973436335477004578447275757845850442900153690862348073990006576809401279617437396570737021390321910857358559325955285519160705513936879057211362163571418322595923292240768952955167964233255903116898957481335003914460413914084360244755984305262915029629841786985162454972097844357583629635126579681605136992031171870299583419030071240552637302379685265430329665390213330153125286389898719549460918723276725642706053441540262344229291605945338273934388233239365427068732145345266247184023552636769113593319400307377641293257218919120986123233166450928019645715531646400260389247757131646041378265186618857264691923943777863071188069576452999896050151665669674654361867416358710513705824324607537070809118585749106779417590928337476156061519889874444509980465889229016521656215317222062420590742505171531267464783795498873812916489420274109792388758351206882025056885757009032938835263312543016551833476302660125879206342170723559405776535738401379850122646342430754467424205839969911537215616058262841342679071233681585601042004104885575071509681828652598063944825996922809870565509782812242522479998551562889395956398790246642484665764036549510177668750818192384205767537026380150469278240448082596853951825143700408818563481455276677155090175078705355048814859962664772593199975123639090222340326239965986723950573214179566653200777013012374709839654931168885186674468688631266881047404594890940033581209690998614729849384820784915471675081288469929283182407498076452226560516615992497876586981373994543674438694102147505320772956039305817620992270283067711385454140593694058568253513652290851353778786519470380432689754937091759204096907251305163192157894518756947100248715067124050562805468218415349820327576236244271566310091301664609289227298192491321300805084893614905560790313611867618559279279302460557311034623633261165550864516174734066718941297757313760665277860777049088244392365274328529554559748657149918114029444079955030367617120131961391203231033901697202889029893747853657435508560670518284295479879275961499623546968931937690786701921551391025229379144825821666139687000703669780388263311451585252734884355351796712475688896341927895608007733106613472619327233899335863941313060883137803668631157376025858307716070327094709032093874891030888725280873721045943277192227372727349250030749881559056492632263197991976203631567818934361658334818084176245060270059559753548256795859021384281706554827909058774943380558379860846516002086243659453208668861083802096649625318991083179516764682634086234757391493211184905278190218501989673680009666614717242469686646801790998003454053778 1489147238433449871899785275958139104095664099295624945633982598510509250189814171728238538690379511812173969090692900187835991334916011913337108451100142064371828317731850509755938167175348265593744571813854042744231657789084573782422397805947536821272824915847231626766522275776134805204662611461355480652680952776764400060317978150182163293251817214280176793533782517471561134816514911159541073866336372589905353306148676301477693015456922025997497361815448620001003169744535008892717620672935317179760576069120376531743093008341520509566603453239709184016232530185113095125440472853625076652713487656808188032077002213832066083103025754575241006847612225362343523511373249439660210618397844366237412521946453231012698265571805725540942324415738403908554746119326829076842858508082024456210526249719489482488223507549923014224803080756559584697088995495638288450247845059242853245133935515939098799516587702958316581746493267837681575902974363874556903803868049187194741662946021339748179603317074583868415758615530092514726091088608989209082937998126201359448300191752079559253324495232854638626773046691392858183285447555359449402750977761667948166072051692199883036910538401288665421386521877773828139433941321211022802125300340648493047462621930194433958180188102803309583476834053779039220974978065097184806583698199424905869893788752346421768729803215717894974775211888424356547596656567579417705707357336363709483370109025160360742152648863384902150545686740580159421717253380654478290578237286894599878165935374150667439183248913568060863201947958845497974176763620587638160778000581490599440839247438170369853316490387185020734819564329605202167156880029884885792239945982251496727586324024600197793782461352461335785595149504939371737459689813081154336557063460345261254500112120777208387420167170726116155116600372623899392038562366319212775914995239471809249928606919335093664368036200205162642824092448645243077928280484551322619012296388075396537239893313786363824364123277143622583997662126425660531703016064512431198121600702155037646583708075903985590713310550008072900386552474392688926836667891070596125679162421887700198652423343060462550039043050036357742564845910096047451687714248381690375274636585013791825558544813204330098821027918861548559938590477200999744381447917519939310795071656132080374830891284932008338478774073145323075511790200363495581454063791454883310964631724014922259223934455669470401700565191811238403629266621458638157952581400055023848136654433418267823423837100537370892806054833100017084144598923051432808354110281069656893054020863368546610437154624649967709643682074467390462521088258697238445991568104463366972371186522740940965265353873917247082525490778164188082543284543377035540168572733194709465382150032946146228927686356942907924058043711807316576553736915369751221298829805796924366692514732118904562126165792058792533816463742431280191352994620561002791950642870865014684970587429 2409490846038365611147430275621568908664806995709837990127998742078077805168231169630060336997156656753726511565257333984013521758545557848612094257291394170210435499878279480384051393484262921006790875318647383716579945433685095658652273875067615717369959354527843691675726976232565136818694686145937838280764386898418503434812126333608693912230792187716512270538360964747318980666957811313231936214410362596482162707428293738874263752478312347908354720374774575286522330450048945771774832035098888598083171992412617300696048176305753765469720352197190519020146990599027179485685228837930339567743117498595173194531974311676423666732660881154922611984604256534213823094792279510900763255700224051502842851611843444342851390858195624260491785334461680634197452172768369339187087799687969794484460637952728847915292239695268280471987104309196353810682314895945666091541102278161974231257168682390026819162303234604716842135741024969327617281239550493414168495791992965057812851015597792748075653468740253543070120482946451225239796912933596746153747116711950466227717782680417035409386015122729083136753512580621874704941662872581511823341720266839479433536835487698756849827027821562775213775280228980710164490827078220055740960563653191509599296098232854559837386530273526868989253369792180419071097624407527939274007904039394817407109404810609263111408874449399480575817215993309931619106338396232015769652183333286519353935618807972603264632647414947791546502085530826801906383017417203988468246988105086984083933472400530817908461489361650657717153773102545906792740245075864315315868175660195954489654107400835142446516465510824110957159890569571188891107453244064452445440722995263871437425978955769082980456930041092602666642554099830311771040899504079769066406448281130176726175193409247137670602574668802568381677116988616397268625543740313756450353689341619314570701562958640911285360306483272874028278233042339301646181794136842173972791082907545776969929648250878123028461030528448785776155556645182607631951731131636481760927068920570387466911284312148257157023401851672682189613850666884010227641752784685501686469476033755318757931702645521019861073666683297523293429362084830114170629012005695451040552497362062880069950910087532859653380776576011466673968034557156030111998568049481330514026105557829283263860785032785665773987334743663607370991669476324995205001032723392574097666553275405947488603079281491136541387565895481018791892578073043890892836936751851736323825550775346163431431570207150843512133288732435881025457659806189236476985267657095515200770091190463255642531029515680856434924555795513333739713315631424587696022317986022423465003449720732917168896921692851608740860308862340433142813344103130583796964431754578991171936977942004921172308244736803754440060129955466769785222597999171847870924148796880103883457197366205139319517659003243697812006682244420953871362661235278245261637289672656012688424641207 3898638084471815483047215551579708012760471095005462935761981340588587055358045341358298875687536168565900480655950234171849513093461569761949202708391536234582263817610129990139989560659611186600535447132501426460811603222769669441074671681015152538642784270375075318442249252008699942023357297607293318933445339675182903495130104483790857205482609401996689064072143482218880115483472722472773010080746735186387516013576970040351956767935234373905852082190223195287525500194583954664492452708034205777843748061532993832439141184647274275036323805436899703036379520784140274611125701691555416220456605155403361226608976525508489749835686635730163618832216481896557346606165528950560973874098068417740255373558296675355549656430001349801434109750200084542752198292095198416029946307769994250694986887672218330403515747245191294696790185065755938507771310391583954541788947337404827476391104198329125618678890937563033423882234292807009193184213914367971072299660042152252554513961619132496255256785814837411485879098476543739965888001542585955236685114838151825676017974432496594662710510355583721763526559272014732888227110427940961226092698028507427599608887179898639886737566222851440635161802106754538303924768399431078543085863993840002646758720163048993795566718376330178572730203845959458292072602472625124080591602238819723277003193562955684880138677665117375550592427881734288166702994963811433475359540669650228837305727833132964006785296278332693697047772271406961328100270797858466758825225391981583962099407774681485347644738275218718580355721061391404766917008696451953476646176241686553930493354839005512299832955898009131691979454899176391058264333273949338237680668977515368165012302980369280774239391393553938452237703604769683508500589317160923402963511741475437980675305530024346058022741839528684536793717361240296660664106106632969226268684581091123820630169877976004949728342683478036671102325490984544724110074621393496591803379295621173507169541564664486852825153805592408360153218771608268163654747196148912959048669622725425113494992388052242747736712401680755090000403141276699154478420675756097812148638455643018956584125988581482411112709733333881035994207994926161622316726254077141415827133947076671895509454900737189752201804494873015233906625034357029856380015967001269824821177213961363638691676317717674112466108816808930446503459676688490786455096514847457408631184999420869747827013737160606943088131087292257195521844694502529050789518151906760171962205208764431254855407307688214404939343565535898109602258729240669285339377938165172093824112053831802252968184140330824144568237869980724202234403890121826142013886090485790437374636243473858134162275566768855823385799640504621225356628646507619337133004487773700637319127974951067401235931093746662364118173667274086361776334914541599092222978602677028250149712098324043881643824795302490345823145986852234062715655855839248053587932543521027373395228636 6308128930510181094194645827201276921425278090715300925889980082666664860526276510988359212684692825319626992221207568155863034852007127610561296965682930404792699317488409470524040954143874107607326322451148810177391548656454765099726945556082768256012743624902919010117976228241265078842051983753231157214209726573601406929942230817399551117713401589713201334610504446966199096150430533786004946295157097782869678721005263779226220520413546721814206802564997770574047830644632900436267284743133094375926920053945611133135189360953028040506044157634090222056526511383167454096810930529485755788199722653998534421140950837184913416568347516885086230816820738430771169700957808461461737129798292469243098225170140119698401047288196974061925895084661765176949650464863567755217034107457964045179447525624947178318807986940459575168777289374952292318453625287529620633330049615566801707648272880719152437841194172167750266017975317776336810465453464861385240795452035117310367364977216925244330910254555090954555999581422994965205684914476182701390432231550102291903735757112913630072096525478312804900280071852636607593168773300522473049434418295346907033145722667597396736564594044414215848937082335735248468415595477651134284046427647031512246054818395903553632953248649857047561983573638139877363170226880153063354599506278214540684112598373564947991547552114516856126409643875044219785809333360043449245011724002936748191241346641105567271417943693280485243549857802233763234483288215062455227072213497068568046032880175212303256106227636869376297509494163937311559657253772316268792514351901882508420147462239840654746349421408833242649139345468747579949371786518013790683121391972779239602438281936138363754696321434646541118880257704599995279541488821240692469369960022605614706850498939271483728625316508331252918470834349856693929289649846946725676622373922710438391331732836616916235088649166750910699380558533323846370291868758235670564594462203166950477099189815542609881286184334041194136308775416790875795606478327785394719975738543295812580406276700200499904760114253353437279614253808160709382120173460441599498618114489398337714515828634102502272186376416631404329423570079756275792945738259772592456379631309139551965460364988270049405582581070884481907874659591513059968378584016482600338847282771790646902552461350503339886453443560472537817495129153013485991456129238240031506297738274826817236430093018651743484475696982773275987414422767546419943626454903758496495787755984110594686286977514839057917072632297971779135059918535429905762324645595260687294594203244295057895499213656011680579492793665494057941947719521546413838036204076508213902378085964206775303059197259620464564246108502845054368169972749638203134097436242352691809256105916955988573544175830550416804178303622740856146998932913713446963147127399557132133606909464529183201161483798546188157829828231273187934078317091117493315225222216177040061819869843 10206767014981996577241861378780984934185749185720763861651961423255251915884321852346658088372228993885527472877157802327712547945468697372510499674074466639374963135098539460664030514803485294207861769583650236638203151879224434540801617237097920794655527895277994328560225480249965020865409281360524476147655066248784310425072335301190408323196010991709890398682647929185079211633903256258777956375903832969257194734582233819578177288348781095720058884755220965861573330839216855100759737451167300153770668115478604965574330545600302315542367963070989925092906032167307728707936632221041172008656327809401895647749927362693403166404034152615249849649037220327328516307123337412022711003896360886983353598728436795053950703718198323863360004834861849719701848756958766171246980415227958295874434413297165508722323734185650869865567474440708230826224935679113575175118996952971629184039377079048278056520085109730783689900209610583346003649667379229356313095112077269562921878938836057740586167040369928366041878679899538705171572916018768656627117346388254117579753731545410224734807035833896526663806631124651340481395883728463434275527116323854334632754609847496036623302160267265656484098884442489786772340363877082212827132291640871514892813538558952547428519967026187226134713777484099335655242829352778187435191108517034263961115791936520632871686229779634231677002071756778507952512328323854882720371264672586977028547074474238531278203239971613178940597630073640724562583559012920921985897438889050152008132287949893788603750965912088094877865215225328716326574262468768222269160528143569062350640817078846167046182377306842374341118800367923971007636119791963128920802060950294607767450584916507644528935712828200479571117961309369678788042078138401615872333471764081052687525804469295829786648058347859937455264551711096990589953755953579694902891058503801562211961902714592921184816991850228947370482884024308391094401943379629167156397841498788123984268731380207096734111338139633602496461994188399143959261225523934307679024408166021237693901269088252742652496826655034192369614656949437408536598594136197697310766752945041356671099954622683984683299086149965285365417778074682437415262464513849733872206765256216223860969819889007239157784385565757497141781284625870089824758599983483870163668459985752010541244137668221013998919552377281468263998588829701976777911225753087488914928923274247686984257106755812350427563828070065533182936267462048948994415973055665256667749961192875025941142384822527272322011975863507677244662177264670575047664023533425859388418315298126860148467397796342504724061031535474782144182123411668239980050090166994004339752722207680633437221472826389320387631908143349675593526601396145822471230440730126392446575233891907055974780106924297079168296477290014942508775267828255046055370106002234160383756621562853227082805308593848678503652974218125421996793972946956741368813154759698067435215098479 16514895945492177671436507205982261855611027276436064787541941505921916776410598363335017301056921819205154465098365370483575582797475824983071796639757397044167662452586948931188071468947359401815188092034799046815594700535679199640528562793180689050668271520180913338678201708491230099707461265113755633361864792822385717355014566118589959440909412581423091733293152376151278307784333790044782902671060930752126873455587497598804397808762327817534265687320218736435621161483849755537027022194300394529697588169424216098709519906553330356048412120705080147149432543550475182804747562750526927796856050463400430068890878199878316582972381669500336080465857958758099686008081145873484448133694653356226451823898576914752351751006395297925285899919523614896651499221822333926464014522685922341053881938922112687041131721126110445034344763815660523144678560966643195808449046568538430891687649959767430494361279281898533955918184928359682814115120844090741553890564112386873289243916052982984917077294925019320597878261322533670377257830494951358017549577938356409483489488658323854806903561312209331564086702977287948074564657028985907324961534619201241665900332515093433359866754311679872333035966778225035240755959354733347111178719287903027138868356954856101061473215676044273696697351122239213018413056232931250789790614795248804645228390310085580863233781894151087803411715631822727738321661683898331965382988675523725219788421115344098549621183664893664184147487875874487797066847227983377212969652386118720054165168125106091859857193548957471175374709389266027886231516241084491061674880045451570770788279318686821792531798715675616990258145836671550957007906309976919603923452923073847369888866852646008283632034262847020689998219013969674067583566959642308341703431786686667394376303408567313515273374856191190373735386060953684519243405800526420579513432426512000603293635551209837419905641016979858069863442557632237464693812137864837720992303701955074461367921195749706615397522473674796632770769605190019754867703851719702399000146709317050274307545788453242557256940908387629649228910757598117918718767596639296809384867434439694385615783256786486955485462566596689694841348154438713208208202773622326328586396565355775826430184877277288563366966636641979049655944217383149793137183999966470502515742757542657443796599018724353885372995937754006081493717982715462769367354991327520421226661549074504220687199774464093912039525052838809170350690229595368938042427959423753163537717176985620627429362337366330239084608161479456379722095800100480809988669128686546683012518542421918043966611452354185303553825200968840086129842933214653818086294243502218242130808171887408740280670086009784951878016646194729961696574145784025605327876972479084255831339808863044548324282754847495972474780912755798655774200741968493018517233401791292517363531027382410283966792392394866661482802449398609930872290038074234684038376975875107497034968322 26721662960474174248678368584763246789796776462156828649193902929177168692294920215681675389429150813090681937975523172811288130742944522355582296313831863683542625587685488391852101983750844696023049861618449283453797852414903634181330180030278609845323799415458907667238427188741195120572870546474280109509519859071170027780086901419780367764105423573132982131975800305336357519418237046303560859046964763721384068190169731418382575097111108913254324572075439702297194492323066610637786759645467694683468256284902821064283850452153632671590780083776070072242338575717782911512684194971568099805512378272802325716640805562571719749376415822115585930114895179085428202315204483285507159137591014243209805422627013709806302454724593621788645904754385464616353347978781100097710994937913880636928316352219278195763455455311761314899912238256368753970903496645756770983568043521510060075727027038815708550881364391629317645818394538943028817764788223320097866985676189656436211122854889040725503244335294947686639756941222072375548830746513720014644666924326610527063243220203734079541710597146105858227893334101939288555960540757449341600488650943055576298654942362589469983168914578945528817134851220714822013096323231815559938311010928774542031681895513808648489993182702231499831411128606338548673655885585709438224981723312283068606344182246606213734920011673785319480413787388601235690833990007753214685754253348110702248335495589582629827824423636506843124745117949515212359650406240904299198867091275168872062297456074999880463608159461045566053239924614594744212805778709852713330835408189020633121429096397532988838714176022517991331376946204595521964644026101940048524725513873368455137339451769153652812567747091047500261116180323339352855625645098043924214036903550767720081902107877863143301921433204051127828999937772050675109197161754106115482404490930313562815255538265802758604722632867208805440346326581940628559095755517494004877390145200743198445636652575956803349508860613308399129232763793589163714128929375654010078024554875338287968208814876705985209753767563421822018843567707035526455317361732836994120151620379481051056715737879470471638784548716561975060259126229121150623470667287472060200793161821571999687400004766284527721151352202399476191437228843253239617895783983450340666184202743294667985040736686945367884292548315035474345492306812417439547278580744415009336155584823322191204944306530276444339603353122904342353286957691644317932458401015089009831287678369860646568571747159893602561096584024987133624384273064771055857652692662112406071430833840548778192434009248696690027614856736443622230311966344882893798136384410496222581883530379568042177502142912399105339509924789544405555223175541929848076558317702605476702406573700770100523104389679144575140771258202770741164549468570223539073887339404025452901120152590235637366772100986243545165135776667524031927666262985030976052851531735573174932250066801 43236558905966351920114875790745508645407803738592893436735844435099085468705518579016692690486072632295836403073888543294863713540420347338654092953589260727710288040272437323040173452698204097838237953653248330269392552950582833821858742823459298895992070935639821005916628897232425220280331811588035742871384651893555745135101467538370327205014836154556073865268952681487635827202570836348343761718025694473510941645757229017186972905873436730788590259395658438732815653806916366174813781839768089213165844454327037162993370358706963027639192204481150219391771119268258094317431757722095027602368428736202755785531683762450036332348797491615922010580753137843527888323285629158991607271285667599436257246525590624558654205730988919713931804673909079513004847200603434024175009460599802977982198291141390882804587176437871759934257002072029277115582057612399966792017090090048490967414676998583139045242643673527851601736579467302711631879909067410839420876240302043309500366770942023710420321630219967007237635202544606045926088577008671372662216502264966936546732708862057934348614158458315189791980037079227236630525197786435248925450185562256817964555274877682903343035668890625401150170817998939857253852282586548907049489730216677569170550252468664749551466398378275773528108479728577761692068941818640689014772338107531873251572572556691794598153793567936407283825503020423963429155651691651546651137242023634427468123916704926728377445607301400507308892605825389700156717253468887676411836743661287592116462624200105972323465353010003037228614634003860772099037294950937204392510288234472203892217375716219810631245974738193608321635092041267072921651932411916968128648966796442302507228318621799661096199781353894520951114399337309026923209212057686232555740335337454387476278411286430456817194808060242318202735323833004359628440567554632536061917923356825563418549173817012596024628273884188663510209769139572866023789567655358842598382448902698272907004573771706509964906383086983195762003533398779183468996633227373712477024701584655338242516360665159227767010708471809451668072478464633644374036129329476290929536487813920745442331521136256958594270011283158664755100474383559863831678870061094386529379558386927775513830189643561816284518318839041455241093173060636389411032967983416811168699945500837325428837335705669721769665544252789480426986024795132902316645935735742529757382246372396695425631506304740538251642878175743151523637647921239686870500828974512762994825395546846267196001109497259932800181192186466590004106368864871536667641361790798952754443352382970696236400620701050875331168681937412462316441809278097547616222678653998440824014338551455450917782812998408890291387941435739135516919749687713873681886194675084560958237913509633145071428672433992071113246039115526539820323669312192032092404572805816745418483683617618047650738893378638411826618579116922641858538553023105210736889908711448282429285035123 69958221866440526168793244375508755435204580200749722085929747364276254161000438794698368079915223445386518341049411716106151844283364869694236389267421124411252913627957925714892275436449048793861287815271697613723190405365486468003188922853737908741315870351098728673155056085973620340853202358062315852380904510964725772915188368958150694969120259727689055997244752986823993346620807882651904620764990458194895009835926960435569548002984545644042914831471098141030010146129982976812600541485235783896634100739229858227277220810860595699229972288257220291634109694986041005830115952693663127407880807009005081502172489325021756081725213313731507940695648316928956090638490112444498766408876681842646062669152604334364956660455582541502577709428294544129358195179384534121886004398513683614910514643360669078568042631749633074834169240328398031086485554258156737775585133611558551043141704037398847596124008065157169247554974006245740449644697290730937287861916491699745711489625831064435923565965514914693877392143766678421474919323522391387306883426591577463609975929065792013890324755604421048019873371181166525186485738543884590525938836505312394263210217240272373326204583469570929967305669219654679266948605818364466987800741145452111202232147982473398041459581080507273359519608334916310365724827404350127239754061419814941857916754803298008333073805241721726764239290409025199119989641699404761336891495371745129716459412294509358205270030937907350433637723774904912516367659709791975610703834936456464178760080275105852787073512471048603281854558618455516311843073660789917723345696423492837013646472113752799469960150760711599653012038245862594886295958513857016653374480669810757644567770390953313908767528444942021212230579660648379778834857155730156769777238888222107558180519164293600119116241264293446031735261605055034737637729308738651544322414287139126233804712082815354629350906751397468950556095721513494582885323172852847475772594103441471352641226347663313314415243700291594891236297192368347183125562603027722555049256459993626210725175541865212976764476035231273686916046171669170829353491062313285049688108193401796499047259015727430233054559999720639815359600612681014455149537348566446730172720208499775201230194409846344005669671041440931432530401903889629028928751966867151834884148244131993413878072392615089653958092567824954772478331607550341863924516480157539093537831195718886630575812835016982591246231298647493876924605612884004802959229989601772826113073916706913764572856657153535361277776211453723628490641929642592525294054452911358825874186223519474428834629949747565358783538673856084546753775622980441414359063064494663405897868931023493095284955910807995630897866225283541072142925229643721758444512377690037660644487210403245594533062113136646254017297318297280984873137882415571166291912209842198319603836207853685017510994364881956991754355784446673786204816008136186789741440447021457361535101924 113194780772406878088908120166254264080612383939342615522665591799375339629705957373715060770401296077682354744123300259401015557823785217032890482221010385138963201668230363037932448889147252891699525768924945943992582958316069301825047665677197207637307941286738549679071684983206045561133534169650351595252289162858281518050289836496521022174135095882245129862513705668311629173823378719000248382483016152668405951481684189452756520908857982374831505090866756579762825799936899342987414323325003873109799945193556895390270591169567558726869164492738370511025880814254299100147547710415758155010249235745207837287704173087471792414074010805347429951276401454772483978961775741603490373680162349442082319915678194958923610866186571461216509514102203623642363042379987968146061013859113486592892712934502059961372629808187504834768426242400427308202067611870556704567602223701607042010556381035981986641366651738685020849291553473548452081524606358141776708738156793743055211856396773088146343887595734881701115027346311284467401007900531062759969099928856544400156708637927849948238938914062736237811853408260393761817010936330319839451389022067569212227765492117955276669240252360196331117476487218594536520800888404913374037290471362129680372782400451138147592925979458783046887628088063494072057793769222990816254526399527346815109489327359989802931227598809658134048064793429449162549145293391056307988028737395379557184583328999436086582715638239307857742530329600294612673084913178679652022540578597744056295222704475211825110538865481051640510469192622316288410880368611727122115855984657965040905863847829972610101206125498905207974647130287129667807947890925773984782023447466253060151796089012752975004967309798836542163344978997957406702044069213416389325517574225676495034458930450724056936311049324535764234470585438059394366078296863371187606240337643964689652353885899827950653979180635586132460765864861086360606674890828211690074155043006139744259645800119369823279321626787274790653239830591147530652122195830401435032073958044648964453241536207024440743775184507040725354988524636302815203389620391789575979224596007322541941378780151984388827324571282879304570460074996240878286828407409660833259552278595427550715060384053408160290187989880482386673623574964526018439961719950283963003584093744969318842715408098284811423623636820614435199464356402683244180570452215900068850920077568115582056207319139757520842889109474390645400562253534123691673460058964114535820938469463553180960573966154413468161458968397920313632597010794514129192935416243710311580317538606490170665235250650798440689952220611268546863195584901077989030581741718493104229912207482478944013067768909216885922285807661022676589062674917357595440330707052774598618882400720036390665961734547128717367263336433823820805196807194607603258696485015658943738087519825471732668249887743520368818372934901369315644743369031241397526631349158469739790820137047 183153002638847404257701364541763019515816964140092337608595339163651593790706396168413428850316519523068873085172711975507167402107150086727126871488431509550216115296188288752824724325596301685560813584196643557715773363681555769828236588530935116378623811637837278352226741069179665901986736527712667447633193673823007290965478205454671717143255355609934185859758458655135622520444186601652153003248006610863300961317611149888326068911842528018874419922337854720792835946066882319800014864810239657006434045932786753617547811980428154426099136780995590802659990509240340105977663663109421282418130042754212918789876662412493548495799224119078937891972049771701440069600265854047989140089039031284728382584830799293288567526642154002719087223530498167771721237559372502267947018257627170207803227577862729039940672439937137909602595482728825339288553166128713442343187357313165593053698085073380834237490659803842190096846527479794192531169303648872713996600073285442800923346022604152582267453561249796394992419490077962888875927224053454147275983355448121863766684566993641962129263669667157285831726779441560287003496674874204429977327858572881606490975709358227649995444835829767261084782156438249215787749494223277841025091212507581791575014548433611545634385560539290320247147696398410382423518596627340943494280460947161756967406082163287811264301404051379860812304083838474361669134935090461069324920232767124686901042741293945444787985669177215208176168053375199525189452572888471627633244413534200520473982784750317677897612377952100243792323751240771804722723442272517039839201681081457877919510319943725409571166276259616807627659168532992262694243849439631001435397928136063817796363859403706288913734838243778563375575558658605786480878926369146546095294813113898602592639449615017657055427290588829210266205847043114429103716026172109839150562751931103815886158597982643305283330087386983601411321960582599855189560214001064537549927637109581215612287026467033136593736870487566385544476127783515877835247758433429157587123214504642590663966711748889653720539660542271999041904570807971986032743111454102861028912704200724338440426039167711819060379131282599944385819675608921892741977944758227279989724998803927325916290578463254504295857660921923318106153976868415647468890471917151114838468241989101312256593480490899901077581729388439389971942688010233586044494968696057607944457908763834468686783131974774503434135340773038139277486859147007696476419288953716308647051543380260094725146822811567003522736744609374037261087652724156721718229470696621670406191724830009645094069880600546006048735759285124631409949360524058430444940804782987767635810076413502437108352724820024881553183673886306217661205600147001317198775219430464636279526887930439636260494796660265363621280633752121101790069945077023174424988397225501142057691356033325417685760882108402325810127290685815989430948185039377584316372789605491197152355238971 296347783411254282346609484708017283596429348079434953131260930963026933420412353542128489620717815600751227829296012234908182959930935303760017353709441894689179316964418651790757173214743554577260339353121589501708356321997625071653284254208132324015931752924575828031298426052385711463120270697363019042885482836681288809015768041951192739317390451492179315722272164323447251694267565320652401385731022763531706912799295339341082589820700510393705925013204611300555661746003781662787429188135243530116233991126343649007818403149995713152968301273733961313685871323494639206125211373525179437428379278499420756077580835499965340909873234924426367843248451226473924048562041595651479513769201380726810702500508994252212178392828725463935596737632701791414084279939360470414008032116740656800695940512364789001313302248124642744371021725129252647490620777999270146910789581014772635064254466109362820878857311542527210946138080953342644612693910007014490705338230079185856135202419377240728611341156984678096107446836389247356276935124584516907245083284304666263923393204921491910368202583729893523643580187701954048820507611204524269428716880640450818718741201476182926664685088189963592202258643656843752308550382628191215062381683869711471947796948884749693227311539998073367134775784461904454481312365850331759748806860474508572076895409523277614195529002861037994860368877267923524218280228481517377312948970162504244085626070293381531370701307416523065918698382975494137862537486067151279655784992131944576769205489225529503008151243433151884302792943863088093133603810884244161955057665739422918825374167773698019672372401758522015602306298820121930502191740365404986217421375602316877948159948416459263918702148042615105538920537656563193182922995582562935420812387339575097627098380065741713991738339913364974500676432481173823469794323035481026756803089575068505538512483882471255937309268022569733872087825443686215796235104829276227624082680115720959871932826586402959873058497274841176197715958374663408487369954263830592619197172549291555117208247955914094464314845049312724396893095444274801236132731845892437008137300208046880381804819319696207887703702565479248956279750605162771028806352167888113249277277399354876631350962516662664586045650802405704779777551832941665908852191867435077842052335734070631099308888589184712501205366209053825171407044412916830225065420911957676795377986331950050742990451114532024277024450247428784678049112681131388149879347917830844467990012843813275685720788965980471684195713007294350893684663518670850911164886940331981986509263436499815759305131251344446738687979896393178273144945425136419475522546501480871865722283895981381121420493729241767475469481547328894250268275064358912639105926483239234898409288650476026926456531207394080988543970185944922595266752271630777683684882241160085795778875858797150354010769851922694628500225587185305075691554070618981843004138763960936943175376018 479500786050101686604310849249780303112246312219527290739856270126678527211118749710541918471034335123820100914468724210415350362038085390487144225197873404239395432260606940543581897540339856262821152937318233059424129685679180841481520842739067440394555564562413106383525167121565377365107007225075686490518676510504296099981246247405864456460645807102113501582030622978582874214711751922304554388979029374395007874116906489229408658732543038412580344935542466021348497692070663982587444052945483187122668037059130402625366215130423867579067438054729552116345861832734979312102875036634600719846509321253633674867457497912458889405672459043505305735220500998175364118162307449699468653858240412011539085085339793545500745919470879466654683961163199959185805517498732972681955050374367827008499168090227518041253974688061780653973617207858077986779173944127983589253976938327938228117952551182743655116347971346369401042984608433136837143863213655887204701938303364628657058548441981393310878794718234474491099866326467210245152862348637971054521066639752788127690077771915133872497466253397050809475306967143514335824004286078728699406044739213332425209716910834410576660129924019730853287040800095092968096299876851469056087472896377293263522811497318361238861697100537363687381923480860314836904830962477672703243087321421670329044301491686565425459830406912417855672672961106397885887415163571978446637869202929628930986668811587326976158686976593738274094866436350693663051990058955622907289029405666145097243188273975847180905763621385252128095116695103859897856327253156761201794259346820880796744884487717423429243538678018138823229965467353114193196435589805035987652819303738380695744523807820165552832436986286393668914496096315168979663801921951709481516107200453473700219737829680759371047165630502194184766882279524288252573510349207590865907365841506172321424671081865114561220639355409553335283409786026286070985795318830340765174010317225302175484219853053436096466795367762407561742192086158179286322617712697259750206320387053934145781174959704803748184854505591584723438797666252246787268875843299995298037050004408771218822230858487408026948082833848079193342099426214084663770784296926115393239002276203282202547641540979917168881903311724329022885931528701357313377742663784586192680520577723171943355902369080084613578787095597493215143349732423150416269560389608015284739835895095784519429773583089306527711159791020466923955535971828139084626298636871547153115041556224073370410867611777547475206932457616668388154772316242827572629394357636953652392700988266509460853375011851890452787423739181517809683094305949194849920463351284468639501532360309483818229773218549266649028653155433635111911473875211360229837881145913703871177936176580915663186951327867659444609824603938066024385336697348653952108673279466661227853470231892122568039771651960325020438627516273001294506639739109996566159376928369452134095530614989 775848569461355968950920333957797586708675660298962243871117201089705460631531103252670408091752150724571328743764736445323533321969020694247161578907315298928574749225025592334339070755083410840081492290439822561132486007676805913134805096947199764410487317486988934414823593173951088828227277922438705533404159347185584908997014289357057195778036258594292817304302787302030125908979317242956955774710052137926714786916201828570491248553243548806286269948747077321904159438074445645374873241080726717238902028185474051633184618280419580732035739328463513430031733156229618518228086410159780157274888599753054430945038333412424230315545693967931673578468952224649288166724349045350948167627441792738349787585848787797712924312299604930590280698795901750599889797438093443095963082491108483809195108602592307042567276936186423398344638932987330634269794722127253736164766519342710863182207017292106475995205282888896611989122689386479481756557123662901695407276533443814513193750861358634039490135875219152587207313162856457601429797473222487961766149924057454391613470976836625782865668837126944333118887154845468384644511897283252968834761619853783243928458112310593503324815012209694445489299443751936720404850259479660271149854580247004735470608446203110932089008640535437054516699265322219291386143328328004462991894181896178901121196901209843039655359409773455850533041838374321410105695392053495823950818173092133175072294881880708507529388284010261340013564819326187800914527545022774186944814397798089674012393763201376683913914864818404012397909638966947990989931064041005363749317012560303715570258655491121448915911079776660838832271766173236123698627330170440973870240679340697573692683756236624816751139134329008774453416633971732172846724917534272416936919587793048797846836209746501085038903970415559159267558712005462076043304672243071892664168931081240826963183565747585817157948623432123069155497611469972286782030423659616992798092997341023135356152679639839056339853865037248737939908044532842694809987666961090342825517559603225700898383207660717842649169350640897447835690761696521588505008575145887735045187304616818099204035677807104234835786536413558442298379176819247434799590649094003506488279553602637079178992503496579833467948962526734727665709080534298979286594855652021270522572913457242574455211257669269326079992461806547040314756776836067246494625810519972961535213881427734570172764034203838551988184241267895708633585084509270472776177984789377997583031569067886646096588400743527946891128170623962739048456979761498423540559244577285634379210251703009276612680143103234899526111719077910987956239251374331269395985897785949511367254644205465199351193712278508416504122636980964006161742150275719142476987072396943106076345465231391690113407859075053525598368574124010946980603449620284729792358161707821313649249107750919718393782421812247715067127741860186599582331293180615548002381067133413071038705991007 1255349355511457655555231183207577889820921972518489534610973471216383987842649852963212326562786485848391429658233460655738883684007106084734305804105188703167970181485632532877920968295423267102902645227758055620556615693355986754616325939686267204805042882049402040798348760295516466193334285147514392023922835857689881008978260536762921652238682065696406318886333410280613000123691069165261510163689081512321722661033108317799899907285786587218866614884289543343252657130145109627962317294026209904361570065244604454258550833410843448311103177383193065546377594988964597830330961446794380877121397921006688105812495831324883119721218153011436979313689453222824652284886656495050416821485682204749888872671188581343213670231770484397244964659959101709785695314936826415777918132865476310817694276692819825083821251624248204052318256140845408621048968666255237325418743457670649091300159568474850131111553254235266013032107297819616318900420337318788900109214836808443170252299303340027350368930593453627078307179489323667846582659821860459016287216563810242519303548748751759655363135090523995142594194121988982720468516183361981668240806359067115669138175023145004079984944936229425298776340243847029688501150136331129327237327476624297998993419943521472170950705741072800741898622746182534128290974290805677166234981503317849230165498392896408465115189816685873706205714799480719295993110555625474270588687376021762106058963693468035483688075260603999614108431255676881463966517603978397094233843803464234771255582037177223864819678486203656140493026334070807888846258317197766565543576359381184512315143143208544878159449757794799662062237233526350316895062919975476961523059983079078269437207564056790369583576120615402443367912730286901152510526839485981898453026788246522498066574039427260456086069600917753344034440991529750328616815021450662758571534772587413148387854647612700378378587978841676404438907397496258357767825742489957757972103314566325310840372532693275152806649232799656299682100130691021981132605379658350093031837946657159846679558167365521590834023856232482171274488427948768375773884418445883033082237309025589318026266536294512261783869370261637635640478603033332098570374946020118899727281829805919281726634044476497002349852274251063750551640609235656292664337519436607463203093491180414517811113626749353939658779557404040255458106509259217662764186200127988246275049776523519089602537617293145079699344032288362632589121056337409557402476621660925150698073125291960016507456012521075422098060628240631127203229296004325996169953602214239286771911239969518737466055154955125352313535458259428797639333557323526119316449249070418150868787004514949017580966930827775065532775792414599118073216025487079372314868218310646977254281641812307353300359186942712970208193178062076971365940146968938681901031441174482541502719339643042286433554073772572735505755258133187894088971032290612114161757995502865205134236605996 2031197924972813624506151517165375476529597632817451778482090672306089448474180956215882734654538636572962758401998197101062417005976126778981467383012504002096544930710658125212260039050506677942984137518197878181689101701032792667751131036633466969215530199536390975213172353469467555021561563069953097557326995204875465917975274826119978848016718324290699136190636197582643126032670386408218465938399133650248437447949310146370391155839030136025152884833036620665156816568219555273337190535106936621600472093430078505891735451691263029043138916711656578976409328145194216348559047856954161034396286520759742536757534164737307350036763846979368652892158405447473940451611005540401364989113123997488238660257037369140926594544070089327835245358755003460385585112374919858873881215356584794626889385295412132126388528560434627450662895073832739255318763388382491061583509977013359954482366585766956607106758537124162625021229987206095800656977460981690595516491370252257683446050164698661389859066468672779665514492652180125448012457295082946978053366487867696910917019725588385438228803927650939475713081276834451105113028080645234637075567978920898913066633135455597583309759948439119744265639687598966408906000395810789598387182056871302734464028389724583103039714381608237796415322011504753419677117619133681629226875685214028131286695294106251504770549226459329556738756637855040706098805947678970094539505549113895281131258575348743991217463544614260954121996075003069264881045149001171281178658201262324445267975800378600548733593351022060152890935973037755879836189381238771929292893371941488227885401798699666327075360837571460500894508999699586440593690250145917935393300662419775843129891320293415186334715254944411217821329364258633325357251757020254315389946376039571295913410249173761541124973571333312503301999703535212404660119693693734651235703703668653975351038213360286195536536602273799473594405008966230644549856166149574750770196311907348446196525212333114209146503097836905037622008175223864675942593046619440435857355506260385547577941375026239433483193206873379619110179189645289964278892993591770768127424613642407417230302214101616496619655906675196077938857779852579533369965595114122406215561383408556360905626547973076835817801236777798478217349689769955271950932375088628733725666404637657092266324884418623265738772019210587295772863286095284909258812010647961207810263657951253659775301651496983631687528273556258341222706140846680030178654606450303148281104694359846662604044413264603368989188798864593866251686275765824419710512846791524921151121491672528014078735298058360251839647177337339785595572808697857388712435146856367662236041648720414216932160643106283482036898429395563124234958175762798514791855290707590083330627107043699043413767046017766495806561752186087918346543596589223411693389602882303855151968447393962004827336495584820450572882999993374493671302325471227662164139062636278276172942597003 3286547280484271280061382700372953366350519605335941313093064143522473436316830809179095061217325122421354188060231657756801300689983232863715773187117692705264515112196290658090181007345929945045886782745955933802245717394388779422367456976319734174020573081585793016011521113764984021214895848217467489581249831062565346926953535362882900500255400389987105455076969607863256126156361455573479976102088215162570160108982418464170291063124816723244019499717326164008409473698364664901299507829133146525962042158674682960150286285102106477354242094094849644522786923134158814178890009303748541911517684441766430642570029996062190469757981999990805632205847858670298592736497662035451781810598806202238127532928225950484140264775840573725080210018714105170171280427311746274651799348222061105444583661988231957210209780184682831502981151214678147876367732054637728387002253434684009045782526154241806738218311791359428638053337285025712119557397798300479495625706207060700853698349468038688740227997062126406743821672141503793294595117116943405994340583051677939430220568474340145093591939018174934618307275398823433825581544264007216305316374337988014582204808158600601663294704884668545043041979931445996097407150532141918925624509533495600733457448333246055273990420122681038538313944757687287547968091909939358795461857188531877361452193687002659969885739043145203262944471437335760002091916503304444365128192925135657387190222268816779474905538805218260568230427330679950728847562752979568375412502004726559216523557837555824413553271837225716293383962307108563768682447698436538494836469731322672740200544941908211205234810595366260162956746233225936757488753170121394896916360645498854112567098884350205555918291375559813661189242094545534477867778596506236213842973164286093793979984288601021997211043172251065847336440695064962733276934715144397409807238476256067123738892860972986573915124581115475878033312406462489002317681908639532508742299626473673757036897745026389361953152330636561337304108305914886657075198426277790528889193452917545394257499542391761024317217063105861790384667617594058340052777412037653801209661922667996735256568750396128758403525276936833713579336382885911631940340541134241305942843213214475642632260592449573838167653511028862228768990299005611564615269894525236196928759895818071610077438511167977205397551576614627551230969795354502572022998210775949454085313434474772749377839268790128711386872305844620973811827197184089587581131228111228298979177819651806679111500425785678791087249427105224993454915571770150415880466449005764207923032731642046751544790453013485604153182635596768583234906366021383508028884395926785813104828653235363234513127573934058547569674221810162242308174201249877887106723509018237060584908748856006396714126232960479466014754930248164889712483743558162093594421044056786396654687787037004291260890569357393186078638258126562387760273357761839776325897058139143481307179202999 5317745205457084904567534217538328842880117238153393091575154815828562884791011765394977795871863758994316946462229854857863717695959359642697240570130196707361060042906948783302441046396436622988870920264153811983934819095421572090118588012953201143236103281122183991224693467234451576236457411287420587138576826267440812844928810189002879348272118714277804591267605805445899252189031841981698442040487348812818597556931728610540682218963846859269172384550362784673566290266584220174636698364240083147562514252104761466042021736793369506397381010806506223499196251279353030527449057160702702945913970962526173179327564160799497819794745846970174285098006264117772533188108667575853146799711930199726366193185263319625066859319910663052915455377469108630556865539686666133525680563578645900071473047283644089336598308745117458953644046288510887131686495443020219448585763411697369000264892740008763345325070328483591263074567272231807920214375259282170091142197577312958537144399632737350130087063530799186409336164793683918742607574412026352972393949539545636341137588199928530531820742945825874094020356675657884930694572344652450942391942316908913495271441294056199246604464833107664787307619619044962506313150927952708524011691590366903467921476722970638377030134504289276334729266769192040967645209529073040424688732873745905492738888981108911474656288269604532819683228075190800708190722450983414459667698474249552668321480844165523466123002349832521522352423405683019993728607901980739656591160205988883661791533637934424962286865188247776446274898280146319648518637079675310424129363103264160968085946740607877532310171432937720663851255232925523198082443420267312832309661307918629955696990204643620742253006630504224879010571458804167803225030353526490529232919540325665089893394537774783538336016743584378350638440398600175137937054408838132061042942179924721099089931074333272769451661183389275351627717415428719646867538074789107259512495938381022203233422957359503571099655428473466374926116481138751333017791472897230964746548959177930941835440917418000457800410269979241409494846807239348304331670405629424569337086536310404152486870964497745255023181183612029791518194162738491165310306136248363712158404596623032003537887140422650673985454747806660706986339988775566836566202269613864930654426300455728702343763395586600471136323595825214847003833081449787481281810221423910661895577092426026409153140920287112343074400579400879315034533338030769617759785834561531447260282514011653341715544839050282160076438225969818859706601847535974835590979295797289129074154223314574765623525751071845855992829812934108368830479174719240896741319542783153475340870301955777451445288217040342029606572651205725366543132377012676401898578799725827143915535855899705440127893278978245961821316682434252808059027340147385505287810646939090251806656234430966296088227064942213636651521258119936881431575683233067438490036120775421757480121800002 8604292485941356184628916917911282209230636843489334404668218959351036321107842574574072857089188881415671134522461512614665018385942592506413013757247889412625575155103239441392622053742366568034757703010109745786180536489810351512486044989272935317256676362707977007236214580999435597451353259504888076719826657330006159771882345551885779848527519104264910046344575413309155378345393297555178418142575563975388757665914147074710973282088663582513191884267688948681975763964948885075936206193373229673524556410779444426192308021895475983751623104901355868021983174413511844706339066464451244857431655404292603821897594156861688289552727846960979917303854122788071125924606329611304928610310736401964493726113489270109207124095751236777995665396183213800728145966998412408177479911800707005516056709271876046546808088929800290456625197503189035008054227497657947835588016846381378046047418894250570083543382119843019901127904557257520039771773057582649586767903784373659390842749100776038870315060592925593153157836935187712037202691528969758966734532591223575771358156674268675625412681964000808712327632074481318756276116608659667247708316654896928077476249452656800909899169717776209830349599550490958603720301460094627449636201123862504201378925056216693651020554626970314873043211526879328515613301439012399220150590062277782854191082668111571444542027312749736082627699512526560710282638954287858824795891399385210055511703112982302941028541155050782090582850736362970722576170654960308032003662210715442878315091475490249375840137025473492739658860587254883417201084778111848918965832834586833708286491682516088737544982028303980826808001466151459955571196590388707729226021953417484068264089088993826298171298006064038540199813553349702281092808950032726743075892704611758883873378826375805535547059915835444197974881093665137871213989123982529470850180656180788222828823935306259343366785764504751229661029821891208649185219983428639768254795564854695960270320702385892933052807759110027712230224787053637990092989899175021493635742412095476336092940459809761482117627333085103199879514424833406644384447817667078370546748458978400887743439714893874013426706460548863505097530545624402797250646677382605018101247809837507646170147732872224512153108258835522935755330287781178401181472164139101127583186196273800312421201906754577676533875172439842398234802876804290053304808432199860115980890526900799158530980189077241054461272885245500288846360535214859205340917062672759746239460333663460020827045264835960951163687653075043853161517419306125251471445744803053336997186954956621517168316204085331460146012448530876952065385540740624404770203938709939288445698955191140685958415790974400577176246873015887608851306578262554289005302308744064204500444604755711836842019511938725427836071612682417697771511083705547598882231690995876648461344021467970587349117634299606822730159516246499269191849040994907214815933178914565238787301003001 13922037691398441089196451135449611052110754081642727496243373775179599205898854339969050652961052640409988080984691367472528736081901952149110254327378086119986635198010188224695063100138803191023628623274263557770115355585231923602604633002226136460492779643830160998460908048233887173687810670792308663858403483597446972616811155740888659196799637818542714637612181218755054630534425139536876860183062912788207355222845875685251655501052510441782364268818051733355542054231533105250572904557613312821087070662884205892234329758688845490149004115707862091521179425692864875233788123625153947803345626366818777001225158317661186109347473693931154202401860386905843659112714997187158075410022666601690859919298752589734273983415661899830911120773652322431285011506685078541703160475379352905587529756555520135883406397674917749410269243791699922139740722940678167284173780258078747046312311634259333428868452448326611164202471829489327959986148316864819677910101361686617927987148733513389000402124123724779562494001728871630779810265940996111939128482130769212112495744874197206157233424909826682806347988750139203686970688953312118190100258971805841572747690746713000156503634550883874617657219169535921110033452388047335973647892714229407669300401779187332028050689131259591207772478296071369483258510968085439644839322936023688346929971649220482919198315582354268902310927587717361418473361405271273284463589873634762723833183957147826407151543504883303612935274142045990716304778556941047688594822416704326540106625113424674338127002213721269185933758867401203065719721857787159343095195937850994676372438423123966269855153461241701490659256699076983153653640010656020561535683261336114023961079293637447040424304636568263419210385012153870084317839303559217272308812244937423973766773364150589073883076659419822548613321492265313009151043532820661531893122836105509321918755009639532112818446947894026581288747237319928296052758058217747027767291503235718163503743659745396504152463187583494087156341268192389323110781372072252458382291371273407277928381377227761939918037603064344609374361232072754948716118223296502939883834995288805040230310679391619268449887644160893296615724708362893962560952813630968730259652406460539649708034873294875186138563006642183642741670276556745237747674433752966058237612496729529014764965302341178147670198768265057245238635958254077534586618653623770777876467619326825567684121109364353397535673464646379603880893873245628823100702897234291193499742847675113362542590103886243111240125879044862712868119266842100087062425040600342466071341178271196282791841955157177316138842261464985320895864715459865301511523481493092763786569257146918137403704008014742606782819524221612975394438955275230690903881108469891348415980460655417276969912790916971389657388295116670505830538423852933104170042337934966900268000255898936883437344699241820459381680774366436150623424724227974653305969299689986996267422803003 22526330177339797273825368053360893261341390925132061900911592734530635527006696914543123510050241521825659215507152880087193754467844544655523268084625975532612210353113427666087685153881169759058386326284373303556295892075042275115090677991499071777749456006538138005697122629233322771139163930297196740578230140927453132388693501292774439045327156922807624683956756632064210008879818437092055278325638476763596112888760022759962628783141174024295556153085740682037517818196481990326509110750986542494611627073663650318426637780584321473900627220609217959543162600106376719940127190089605192660777281771111380823122752474522874398900201540892134119705714509693914785037321326798463004020333403003655353645412241859843481107511413136608906786169835536232013157473683490949880640387180059911103586465827396182430214486604718039866894441294888957147794950438336115119761797104460125092359730528509903512411834568169631065330376386746847999757921374447469264678005146060277318829897834289427870717184716650372715651838664059342817012957469965870905863014721992787883853901548465881782646106873827491518675620824620522443246805561971785437808575626702769650223940199369801066402804268660084448006818720026879713753753848141963423284093838091911870679326835404025679071243758229906080815689822950697998871812407097838864989912998301471201121054317332054363740342895104004984938627100243922128756000359559132109259481273019972779344887070130129348180084659934085703518124878408961438880949211901355720598484627419769418421716588914923713967139239194761925592619454656086482920806635899008262061028772437828384658930105640055007400135489545682317467258165228443109224836601044728290761705214753598092225168382631273338595602642632301959410198565503572365410648253591944015384704949549182857640152190526394609430136575255266746588202585930450880365032656803191002743303492286297544747578944945791456185232712398777810949777059211136945237978041646386796022087068090414123774064362131289437205270946693521799386566055246027313203771271247273952018033783368883614021321837037523422035664936149447809253875656906161593100566040963581310430583454267205927973750394285493281876594104709756801713255253987296759811599491013573748360900216298047295878182606167099698291671265477706578497000564337923638929146597892067185820798693003329327186167209095755824204073940704899643473438835058367587891427085823630893857358146227624726215101298441594451996946349891879892727254408460488028441619959907050939739203181338573383369635368722204062403813532119906566029636686148225338533870785403395803068528133227817799960158159242508776284854709995862272961250256200489706281727420203032052232268212338058823362119798989143183959066397237500584245745533537784979909183417213955552916425065411129113811932302855696817493459907799088203602049507558480703052274028930843548729344277366907470786462333541427282111840290612935419815273765222881868121902478604552235054723806004 36448367868738238363021819188810504313452145006774789397154966509710234732905551254512174163011294162235647296491844247559722490549746496804633522412004061652598845551123615890782748254019972950082014949558636861326411247660274198717695310993725208238242235650368299004158030677467209944826974601089505404436633624524900105005504657033663098242126794741350339321568937850819264639414243576628932138508701389551803468111605898445214284284193684466077920421903792415393059872428015095577082015308599855315698697736547856210660967539273166964049631336317080051064342025799241595173915313714759140464122908137930157824347910792184060508247675234823288322107574896599758444150036323985621079430356069605346213564710994449577755090927075036439817906943487858663298168980368569491583800862559412816691116222382916318313620884279635789277163685086588879287535673379014282403935577362538872138672042162769236941280287016496242229532848216236175959744069691312288942588106507746895246817046567802816871119308840375152278145840392930973596823223410961982844991496852761999996349646422663087939879531783654174325023609574759726130217494515283903627908834598508611222971630946082801222906438819543959065664037889562800823787206236189299396931986552321319539979728614591357707121932889489497288588168119022067482130323375183278509829235934325159548051025966552537282938658477458273887249554687961283547229361764830405393723071146654735503178071027277955755331628164817389316453399020454952155185727768842403409193307044124095958528341702339598052094141452916031111526378322057289548640528493686167605156224710288823061031368528764021277255288950787383808126514864305426262878476611700748852297388476089712116186247676268720379019907279200565378620583577657442449728487557151161287693517194486606831406925554676983683313213234675089295201524078195763889516076189623852534636426328391806866666333954585323569003679660292804392238524296531065241290736099864133823789378571326132287277808021876685941357734134277015886542907323438416636314552643319526410400325154642290891949703214265285361953702539213792418628236888978916541816684264260084250314418449556010968204061073677112550326481748870650098328979962350190722372552304644542478620552622758586945586217479461974884430234272119890221238670840894668876676821031645033244058411189732858341951132511436933971874272708969956888712074793312445122478045739447401671733825765554450293899222407805947849532619814538259496608148281706116851542322857141342133238946029013686745912225472608447173643939411164769278897755952990325425596295826003738269139869311499014082752000114399686092423696971460847593857114971660355007793250901696124816018837469484976960765823807003885790741885921459113559640184488813015670813064525683846901332405526066546390781845093772668207150848202915758709432587931411413807222316366865810448997344533265844354223807032783247741493521064979371570438698489450856521427871778294539231322146609007 58974698046078035636847187242171397574793535931906851298066559244240870259912248169055297673061535684061306511998997127646916245017591041460156790496630037185211055904237043556870433407901142709140401275843010164882707139735316473832785988985224280015991691656906437009855153306700532715966138531386702145014863765452353237394198158326437537287453951664157964005525694482883474648294062013720987416834339866315399581000365921205176913067334858490373476574989533097430577690624497085903591126059586397810310324810211506529087605319857488437950258556926298010607504625905618315114042503804364333124900189909041538647470663266706934907147876775715422441813289406293673229187357650784084083450689472609001567210123236309421236198438488173048724693113323394895311326454052060441464441249739472727794702688210312500743835370884353829144058126381477836435330623817350397523697374466998997231031772691279140453692121584665873294863224602983023959501991065759758207266111653807172565646944402092244741836493557025524993797679056990316413836180880927853750854511574754787880203547971128969722525638657481665843699230399380248573464300077255689065717410225211380873195571145452602289309243088204043513670856609589680537540960084331262820216080390413231410659055449995383386193176647719403369403857941972765481002135782281117374819148932626630749172080283884591646679001372562278872188181788205205675985362124389537502982552419674708282522958097408085103511712824751475019971523898863913594066676980743759129791791671543865376950058291254521766061280692110793037118997776713376031561335129585175867217253482726651445690298634404076284655424440333066125593773029533869372103313212745477143059093690843310208411416058899993717615509921832867338030782143161014815139135810743105303078222144035789689047077745203378292743349809930356041789726664126214769881108846427043537379729820678104411413912899531115025188912372691582203188301355742202186528714141510520619811465639416546411051872384007975378563005080970537685929473378684443949518323914566800362418358938011174505971025051302808783989367475363240227882112545885078134917250305223665560745001903823216896177811467962605832203075853580406900042235216337487482184151795658116226981452839056634241464400085629074582721905537597596799735671405232592515605967629537100429879209882736187669137299720532689796078346649674856532185513628370812710369472825271032565591183911782075020114323706247542301529566164430139389335402690166604879983942817048393072978149210352260129281860841330651236047752943284675844927392639138550764130166611407134072208397444726831882712158273642194868708551681456709866818365227860844714074978321899156868251105681823035784127943605993028974700952318696614143885930022350800650722247942897802454248830591477675504593777396628365024644308110714846913034637438969894510274590395796653997726688810632751825010269366324675023605361355592306990253972254673738389549774256899091466376870415011 95423065914816273999869006430981901888245680938681640695221525753951104992817799423567471836072829846296953808490841375206638735567337538264790312908634098837809901455360659447653181661921115659222416225401647026209118387395590672550481299978949488254233927307274736014013183984167742660793113132476207549451497389977253342399702815360100635529580746405508303327094632333702739287708305590349919555343041255867203049111971819650391197351528542956451396996893325512823637563052512181480673141368186253126009022546759362739748572859130655401999889893243378061671846651704859910287957817519123473589023098046971696471818574058890995415395552010538710763920864302893431673337393974769705162881045542214347780774834230758998991289365563209488542600056811253558609495434420629933048242112298885544485818910593228819057456255163989618421221811468066715722866297196364679927632951829537869369703814854048377394972408601162115524396072819219199919246060757072047149854218161554067812463990969895061612955802397400677271943519449921290010659404291889836595846008427516787876553194393792057662405170441135840168722839974139974703681794592539592693626244823719992096167202091535403512215681907748002579334894499152481361328166320520562217148066942734550950638784064586741093315109537208900657992026060994832963132459157464395884648384866951790297223106250437128929617659850020552759437736476166489223214723889219942896705623566329443785701029124686040858843340989568864336424922919318865749252404749586162538985098715667961335478399993594119818155422145026824148645376098770665580201863623271343472373478193015474506721667163168097561910713391120449933720287893839295634981789824446225995356482166933022324597663735168714096635417201033432716651365720818457264867623367894266590771739338522396520454003299880361976056563044605445336991250742321978659397185036050896072016156149069911278080246854116438594192592032984386595426825652273267427819450241374654443600844210742678698329680405884661319920739215247553572472380702122860585832876557886326772818684092653465397920728265568094145943070014577032646510349434863994676733934569483749811059420353379227864381872541639718382529557602451056998371215178687678204556704100302658705602005461815221187050617565091049467152139809717487020974342246127261392282788661182133673937621072469046011088432231969623767952619358644813420897588421683257832847518564718434237325009677336525314013546114053490151062185978968398885943550971872721731526265674189735206217095239365946875194086313939098409691692354449445123825148592128876189726462437410872341348266756225845965464158388041880961132248652917557460675480199521199721868229223595281684269943151308012744893767412996914765442838240155727703526114511163816321535312468581649355581236117544221895375622490401033231795156313630605622467225370381308317496906762662464446724033343898596179234076399107922765098882420571678560692670744124594910977646035193630697699017024018 154397763960894309636716193673153299463039216870588491993288084998191975252730047592622769509134365530358260320489838502853554980584928579724947103405264136023020957359597703004523615069822258368362817501244657191091825527130907146383267288964173768270225618964181173023868337290868275376759251663862909694466361155429606579793900973686538172817034698069666267332620326816586213936002367604070906972177381122182602630112337740855568110418863401446824873571882858610254215253677009267384264267427772650936319347356970869268836178178988143839950148450169676072279351277610478225402000321323487806713923287956013235119289237325597930322543428786254133205734153709187104902524751625553789246331735014823349347984957467068420227487804051382537267293170134648453920821888472690374512683362038358272280521598803541319801291626048343447565279937849544552158196921013715077451330326296536866600735587545327517848664530185827988819259297422202223878748051822831805357120329815361240378110935371987306354792295954426202265741198506911606424495585172817690346700520002271575756756742364921027384930809098617506012422070373520223277146094669795281759343655048931372969362773236988005801524924995952046093005751108742161898869126404851825037364147333147782361297839514582124479508286184928304027395884002967598444134594939745513259467533799578421046395186534321720576296661222582831631625918264371694899200086013609480399688175986004152068223987222094125962355053814320339356396446818182779343319081730329921668776890387211826712428458284848641584216702837137617185764373875484041611763198752856519339590731675742125952411965797572173846566137831453516059314060923373165007085103037191703138415575857776332533009079794068707814250927122866300054682147863979472080006759178637371893849961482558186209501081045083740268799912854535801378780977406448193429278293882477939609395885969748015689494159753647553619381504405675968798615127008015469614348164382885175063412309850159225109381552789892636698483744296218091258401854080807304535351200472453127135237043030664639903891753316870902929932437489940272874392461980749072811651184874707415371804422257202444760559684009602324214732633456031463898413450395025165686740855895960774932583458300871855428515017650720124049874045347315083820710013651359853907888756290719234103816830955205233680225731952502313564030966008319669953083102050054070543216991389989466802916193589118600334127869820301032452591752143398538275278953662039326611510208491238128279195244449718207004475947155269749645739445297734120968752541231267426953856629048818006413556664200952677848176316661684075829840800334374267327493845427382044435943207545494438552521048833131048529021711018989943740143790558852341847412044533514616972257560411479451809830066709021897399969399887029398256439464424345452535501862809351202827771497158459118444450722154531348004244345765432597788704243776163985550946642998798333300527420292092722164075887439029 249820829875710583636585200104135201351284897809270132688509610752143080245547847016190241345207195376655214128980679878060193716152266117989737416313898234860830858814958362452176796731743374027585233726646304217300943914526497818933748588943123256524459546271455909037881521275036018037552364796339117243917858545406859922193603789046638808346615444475174570659714959150288953223710673194420826527520422378049805679224309560505959307770391944403276270568776184123077852816729521448864937408795958904062328369903730232008584751038118799241950038343413054133951197929315338135689958138842611280302946386002984931591107811384488925737938980796792843969655018012080536575862145600323494409212780557037697128759791697827419218777169614592025809893226945902012530317322893320307560925474337243816766340509396770138858747881212333065986501749317611267881063218210079757378963278126074735970439402399375895243636938786990104343655370241421423797994112579903852506974547976915308190574926341882367967748098351826879537684717956832896435154989464707526942546528429788363633309936758713085047335979539753346181144910347660197980827889262334874452969899872651365065529975328523409313740606903700048672340645607894643260197292725372387254512214275882333311936623579168865572823395722137204685387910063962431407267054097209909144115918666530211343618292784758849505914321072603384391063654740538184122414809902829423296393799552333595853925016346780166821198394803889203692821369737501645092571486479916084207761989102879788047906858278442761402372124982164441334409749974254707191965062376127862811964209868757600459133632960740271408476851222573965993034348817212460642066892861637929133772058024709354857606743529237421910886344323899732771333513584797929344874382546531638484621700821080582729955084344964102244856475899141246715772228148770172088675478918528835681412042118817926967574406607763992213574096438660355394041952660288737042167614624259829507013154060901903807711233195777298018404483511465644830874234782930165121184077030339453908055727123318105301812481582438997075875507504517305520902811415613067488385119444191165182863842610581672624941556551242042597262191058482520896784665573712843891297559996263433638185463762687076615565635215811173517026185157032570841684355897487115300171544951901367777754452027674279691314164184471937331983585366964483373980690471737328376064509954707901040241203266455125648141415934354522603653938122366937161222504633912048343036474165427863485412339689084153879670033469208848055431137652183566092577689823396303143583091486228878754904930957178523813640475049725956790973048987291824788169325626903244157811436769089720236790991984439061273915478431986858505586628799008069550938159044678433293792872880061101165411302826566119295345022377430431488234620737976058157969088179732511145268403921121582891174755498429944183478422164540520553803126196735664111639313742922928211505066327286352861774904463047 404218593836604893273301393777288500814324114679858624681797695750335055498277894608813010854341560907013474449470518380913748696737194697714684519719162370883851816174556065456700411801565632395948051227890961408392769441657404965317015877907297024794685165235637082061749858565904293414311616460202026938384219700836466501987504762733176981163650142544840837992335285966875167159713040798491733499697803500232408309336647301361527418189255345850101144140659042733332068070406530716249201676223731554998647717260701101277420929217106943081900186793582730206230549206925816361091958460166099087016869673958998166710397048710086856060482409583046977175389171721267641478386897225877283655544515571861046476744749164895839446264973665974563077186397080550466451139211366010682073608836375602089046862108200311458660039507260676513551781687167155820039260139223794834830293604422611602571174989944703413092301468972818093162914667663623647676742164402735657864094877792276548568685861713869674322540394306253081803425916463744502859650574637525217289247048432059939390066679123634112432266788638370852193566980721180421257973983932130156212313554921582738034892748565511415115265531899652094765346396716636805159066419130224212291876361609030115673234463093750990052331681907065508712783794066930029851401649036955422403583452466108632390013479319080570082210982295186216022689573004909879021614895916438903696081975538337747922149003568874292783553448618209543049217816555684424435890568210246005876538879490091614760335316563291402986588827819302058520174123849738748803728261128984382151554941544499726411545598758312445255042989054027482052348409740585625649151995898829632272187633882485687390615823323306129725137271446766032826015661448777401424881141725169010378471662303638768939456165390047842513656388753677048094553205555218365517953772801006775290807928088565942657068566361411545832955600844336324192657079668304206656515779007145004570425463911061128917092785985669934716888227807683736089276088863737469656535277502792581043292770153982745205704234899309900005807944994457578395295273396362140300036304318898580554668264867784117385501240560844366811994824514513984795198115968738009578038415892224208570768922063558932044080652866531297566900230504347654662394369548846969208060301242620601881571282982879513371539896136974250896014551375284153327063792521791398919281501344697367843157396855573725982269285754655555056245690265765475436501458295951374954546682656665991764607584138802360884145980624478597701170582949917687061330231054663730097439720535046885168461595158131201661816791711410032620813849321666092115663171054285288593754644314584158789312040817570109802937189450976802245730419357860411398350203578193050266050433291540552975241369535588016695314422264459829744674085162321510693470950989083713973039901079580701335625477652961292187722767929973118342507369972899649662585956741721261512032486619379075025850791902076 654039423712315476909886593881423702165609012489128757370307306502478135743825741625003252199548756283668688578451198258973942412889460815704421936033060605744682674989514427908877208533309006423533284954537265625693713356183902784250764466850420281319144711507092991099631379840940311451863981256541144182302078246243326424181108551779815789510265587020015408652050245117164120383423713992912560027218225878282213988560956861867486725959647290253377414709435226856409920887136052165114139085019690459060976087164431333286005680255225742323850225136995784340181747136241154496781916599008710367319816059961983098301504860094575781798421390379839821145044189733348178054249042826200778064757296128898743605504540862723258665042143280566588887079624026452478981456534259330989634534310712845905813202617597081597518787388473009579538283436484767087920323357433874592209256882548686338541614392344079308335938407759808197506570037905045071474736276982639510371069425769191856759260788055752042290288492658079961341110634420577399294805564102232744231793576861848303023376615882347197479602768178124198374711891068840619238801873194465030665283454794234103100422723894034824429006138803352143437687042324531448419263711855596599546388575884912448985171086672919855625155077629202713398171704130892461258668703134165331547699371132638843733631772103839419588125303367789600413753227745448063144029705819268326992475775090671343776074019915654459604751843422098746742039186293186069528462054690162090084300868592971402808242174841734164388960952801466499854583873823993455995693323505112244963519151413257326870679231719052716663519840276601448045382758557798086291218888760467561405959691907195042248222566852543551636023615770665765597349175033575330769755524271700648863093363124719351669411249735011944758512864652818294810325433703988537606629251719535610972219970207383869624642972969175538046529697282996679586699032328592943698683393631404834077438617971963032724804019181447232735292711319149380920150323646667634777719354533132034951348497277300850507516716481748897081683452498974883916198084811975207788421423763089745737532107478365790010442797112086409409257015572996505691982781542450853469335975888487642208954385826246008659646288082342471083926415661380225504078725446334084508231846194521969659325735010553793062854060321446188227998136742248636701044482993528727295346011299405268883398600122028851630410701689010077659899628388132412597723962929863423297583156822093855250019923827886514763816014093687445756601720602101253153907920878060033241022812021275763923366526115309725475457266761135989411786898308957916903832496681188532751566081083673879026103032802009171076852667882963660751317048156868480949288362622871483559843306171601654140652672362154135990659444641890261232908705900297568851440039168816225118308305000702284226800233151391236371201190094513638896310496169635313774225270484644189723537552946665427887625696365123 1058258017548920370183187987658712202979933127168987382052105002252813191242103636233816263053890317190682163027921716639887691109626655513419106455752222976628534491164070493365577620334874638819481336182428227034086482797841307749567780344757717306113829876742730073161381238406844604866175597716743171120686297947079792926168613314512992770673915729564856246644385531084039287543136754791404293526916029378514622297897604163229014144148902636103478558850094269589741988957542582881363340761243422014059623804425132434563426609472332685405750411930578514546412296343166970857873875059174809454336685733920981265011901908804662637858903799962886798320433361454615819532635940052078061720301811700759790082249290027619098111307116946541151964266021107002945432595745625341671708143147088447994860064725797393056178826895733686093090065123651922907959583496657669427039550486971297941112789382288782721428239876732626290669484705568668719151478441385375168235164303561468405327946649769621716612828886964333043144536550884321902154456138739757961521040625293908242413443295005981309911869556816495050568278871790021040496775857126595186877597009715816841135315472459546239544271670703004238203033439041168253578330130985820811838264937493942564658405549766670845677486759536268222110955498197822491110070352171120753951282823598747476123645251422919989670336285662975816436442800750357942165644601735707230688557750629009091698223023484528752388305292040308289791257002848870493964352622900408095960839748083063017568577491405025567375549780620768558374757997673732204799421584634096627115074092957757053282224830477365161918562829330628930097731168298383711940370884659297193678147325789680729638838390175849681361160887217431798423364836482352732194636665996869659241565025428358120608867415125059787272169253406495342904878639259206903124583024520542386263027898295949812281711539330587083879485298127333003779356111996897150355199172638549838647864081883024161641896805167117167452180939126833117009426412510405104434254632035924615994641267431283595713220951381058797087491397493432462311493358208337348088457728081988326292200372346149907395944037672930776221251840087510490487180897511188863047374391780711850779723307889804940703726940948873768650826646165727880166473094995181053716292147437142571540897017993433306434393956458420439124012688117532790028108275515320126214627512644102636726555996977602577612679987443665632716145318653897888034225421225814798252129839478759847014627507966688875647961994718166043457772303552018940215238151932723763338462532556322649091828121273440927137274058472546022032600747630624009019495667735473821345320725398258037815415073619579280879789857333940462997047467514728892347638566201064533825893739463142207115894041897742152685973866906350090977582791062619079544910990157899939091348206080282985562425710804352528558923958024486757238817866142534963436811227226365451235570039566044502913476488267199 1712297441261235847093074581540135905145542139658116139422412308755291326985929377858819515253439073474350851606372914898861633522516116329123528391785283582373217166153584921274454828868183645243014621136965492659780196154025210533818544811608137587432974588249823064261012618247784916318039578973284315302988376193323119350349721866292808560184181316584871655296435776201203407926560468784316853554134255256796836286458561025096500870108549926356855973559529496446151909844678635046477479846263112473120599891589563767849432289727558427729600637067574298886594043479408125354655791658183519821656501793882964363313406768899238419657325190342726619465477551187963997586884982878278839785059107829658533687753830890342356776349260227107740851345645133455424414052279884672661342677457801293900673267343394474653697614284206695672628348560136689995879906854091544019248807369519984279654403774632862029764178284492434488176054743473713790626214718368014678606233729330660262087207437825373758903117379622413004485647185304899301449261702841990705752834202155756545436819910888328507391472324994619248942990762858861659735577730321060217542880464510050944235738196353581063973277809506356381640720481365699701997593842841417411384653513378855013643576636439590701302641837165470935509127202328714952368739055305286085498982194731386319857277023526759409258461589030765416850196028495806005309674307554975557681033525719680435474297043400183211993057135462407036533296189142056563492814677590570186045140616676034420376819666246759731764510733422235058229341871497725660795114908139208872078593244371014380152904062196417878582082669607230378143113926856181798231589773419764755084107017696875771887060957028393232997184502988097564020714011515928062964392190268570308104658388553077472278278664860071732030682118059313637715204072963195440731212276240077997235247868503333681906354512299762621926014995410329683366055144325490094053882566269954672725302699854987194366700824348564400187473650445982497929576736157072739211973986569056650945989764708584446220737667862807694169174849992407346227691443020312555876879151845078072029732479824515697406386834785017185630508855660506996179163679053639716516710367669199492988677693716050949363373229031216239734753061827108105670551820441515138224523993631664541200222753003987099497248016779866627352010824859781426729152758508848853509973523943507905609954597099631429243090689132675710376044947042030300631949384155678221549712996300853702264647431794575390411778008811853489214374024154120193369146072810783796579485344577598413015194647388750652612731325233682011444387645939581925923328164416662354096886806481931916841518106421588451956642525216904123748364515671597373296926928823936017385737045634743861256546714259896288676633311548240352210491496962916648396351029326716164209656511080985269789225943955743764930125148119000396135128362312170277211036497711009640959107592512709930801102184632322 2770555458810156217276262569198848108125475266827103521474517311008104518228033014092635778307329390665033014634294631538749324632142771842542634847537506559001751657317655414640032449203058284062495957319393719693866678951866518283386325156365854893546804464992553137422393856654629521184215176690027486423674674140402912276518335180805801330858097046149727901940821307285242695469697223575721147081050284635311458584356165188325515014257452562460334532409623766035893898802221217927840820607506534487180223696014696202412858899199891113135351048998152813433006339822575096212529666717358329275993187527803945628325308677703901057516228990305613417785910912642579817119520922930356901505360919530418323770003120917961454887656377173648892815611666240458369846648025510014333050820604889741895533332069191867709876441179940381765718413683788612903839490350749213446288357856491282220767193156921644751192418161225060778845539449042382509777693159753389846841398032892128667415154087594995475515946266586746047630183736189221203603717841581748667273874827449664787850263205894309817303341881811114299511269634648882700232353587447655404420477474225867785371053668813127303517549480209360619843753920406867955575923973827238223222918450872797578301982186206261546980128596701739157620082700526537443478809407476406839450265018330133795980922274949679398928797874693741233286638829246163947475318909290682788369591276348689527172520066884711964381362427502715326324553191990927057457167300490978282005980364759097437945397157651785299140060514043003616604099869171457865594536492773305499193667337328771433435128892673783040500645498937859308240845095154565510171960658079061948762254343486556501525899347204242914358345390205529362444078847998280795159028856265439967346223413981435592887146079985131519302851371465808980620082712222402343855795300760620383498275766799283494188066051630349705805500293537662687145411256322387244409081738908504511373166781738011356008597629515681567639654589572815614939003148667477843646228618604981266940631032139868041933958619243866491256666247485839808539184801228649903965336879927066398321932852170665604802330872457947961851760695748017486666344576564828579564084759449911343768401001605855890067100169980090008385579707992835985837024915436696191940816141068807112741119770997420405931641973238287066476023512977314216757261034024168979724601036587610542336510594077234006855770676576341343092190265695928188666174805381493019801842835779613549279274939761264266059740003530019532672146327706139133584384224743507559917947877133921062107022768662191579750005383706228033476988393570205934942823832152136175442207531880189954656933180041167732836432382550844586745411983186326265644565495025000551211630785097886068372440756157638441362607178454590443188074288025535727941262019484616103301004717161268255351651654760096293489049106143487153373946228454705240647847724937375092194677632078754433714578672899521 4482852900071392064369337150738984013271017406485219660896929619763395845213962391951455293560768464139383866240667546437610958154658888171666163239322790141374968823471240335914487278071241929305510578456359212353646875105891728817204869967973992480979779053242376201683406474902414437502254755663311801726663050333726031626868057047098609891042278362734599557237257083486446103396257692360038000635184539892108294870814726213422015884366002488817190505969153262482045808646899852974318300453769646960300823587604259970262291188927449540864951686065727112319600383301983221567185458375541849097649689321686909991638715446603139477173554180648340037251388463830543814706405905808635741290420027360076857457756951808303811664005637400756633666957311373913794260700305394686994393498062691035796206599412586342363574055464147077438346762243925302899719397204840757465537165226011266500421596931554506780956596445717495267021594192516096300403907878121404525447631762222788929502361525420369234419063646209159052115830921494120505052979544423739373026709029605421333287083116782638324694814206805733548454260397507744359967931317768715621963357938735918729606791865166708367490827289715717001484474401772567657573517816668655634607571964251652591945558822645852248282770433867210093129209902855252395847548462781692924949247213061520115838199298476438808187259463724506650136834857741969952784993216845658346050624802068369962646817110284895176374419562965122362857849381132983620949981978081548468051120981435131858322216823898545030904571247465238674833441740669183526389651400912514371272260581699785813588032954870200919082728168545089686383959022010747308403550431498826703846361361183432273412960304232636147355529893193626926464792859514208858123421046534010275450881802534513065165424744845203251333533489525122618335286785185597784587007577000698380733523635302617176094420563930112327731515288947992370511466400647877338462964305178459184098469481592998550375298453864245967827128240018798112868579884824550582858202605174037917886620796848452488154696287106674185425841097478247154766876244248962459842216031772144470351665331995181302208717707242965147482269551408524482845508255618468296080795127119110836757078695321906839430473399011306248120332769819944091507576735878211330165340134700471653941342524001407505428889990018153693828034337837095643486413792533017833234574560531118447946465191176865436098861365709017053468235212737958489298124189537171241351555832080467251543922371555839656471518012341873021886520351860259326953530297554291356497433221711519475122217416050942232362736708939910044921376039509787860866151996568798529539094338362121871498451286462756184793074907767748710493776498857923638941492423848936568597367830732629929628987470417534730039240490002830795398565784988452376337613048811332267510661228242253525140877598715840058419174254262487549509074590766875517858884222648384733153785224591464364515680857531843 7253408358881548281645599719937832121396492673312323182371446930771500363441995406044091071868097854804416880874962177976360282786801660014208798086860296700376720480788895750554519727274300213368006535775752932047513554057758247100591195124339847374526583518234929339105800331557043958686469932353339288150337724474128943903386392227904411221900375408884327459178078390771688798865954915935759147716234824527419753455170891401747530898623455051277525038378777028517939707449121070902159121061276181447481047283618956172675150088127340654000302735063879925752606723124558317779715125092900178373642876849490855619964024124307040534689783170953953455037299376473123631825926828738992642795780946890495181227760072726265266551662014574405526482568977614372164107348330904701327444318667580777691739931481778210073450496644087459204065175927713915803558887555589970911825523082502548721188790088476151532149014606942556045867133641558478810181601037874794372289029795114917596917515613015364709935009912795905099746014657683341708656697386005488040300583857055086121137346322676948141998156088616847847965530032156627060200284905216371026383835412961786514977845533979835671008376769925077621328228322179435613149441790495893857830490415124450170247541008852113795262899030568949250749292603381789839326357870258099764399512231391653911819121573426118207116057338418247883423473686988133900260312126136341134420216078417059489819337177169607140755781990467837689182402573123910678407149278572526750057101346194229296267613981550330330044631761508242291437541609840641391984187893685819870465927919028557247023161847543983959583373667482948994624804117165312818575511089577888652608615704669988774938859651436879061713875283399156288908871707512489653282449902799450242797105216515948658052570824830334770636384860990931598955369497408000128442802877761318764231799402101900670282486615560462033537015582485655057656877656970264582872046044086963695471636263331009906383896083379927535466782829591613727807583033492028426504431223779019184827251828988320530088654906350540676682507344964086963306061045477612363807552911699210868673598184165846907011048579700913109334030247156541969511852832183296875644879886569022180525479696927762729497573568991396256505912477812780077344601651314907522106156275769278766682462294998827911360531963256440760304057850814409860243674826557186812959175597118728990282975785254099442954632042285358396560425478433886677964298994918664261153398667860080800823197311317103922531258015871892554558666679566398460537914522297798916415381098845440537229240184713133812112742092646138078398364433079993795808975828720934704981301870242311826155384466503923917629507290318593297239188482044249904586057918873937119808998615830515998001428226575173171401847668457421238586640073013988104278875068295948370811665945403521780492529253475936351908223360405974702883020819221580758506731947585759825348462856670218798230259530431364 11736261258952940346014936870676816134667510079797542843268376550534896208655957797995546365428866318943800747115629724413971240941460548185874961326183086841751689304260136086469007005345542142673517114232112144401160429163649975917796065092313839855506362571477305540789206806459458396188724688016651089877000774807854975530254449275003021112942653771618927016415335474258134902262212608295797148351419364419528048325985617615169546782989457540094715544347930290999985516096020923876477421515045828407781870871223216142937441277054790194865254421129607038072207106426541539346900583468442027471292566171177765611602739570910180011863337351602293492288687840303667446532332734547628384086200974250572038685517024534569078215667651975162160149526288988285958368048636299388321837816730271813487946530894364552437024552108234536642411938171639218703278284760430728377362688308513815221610387020030658313105611052660051312888727834074575110585508915996198897736661557337706526419877138435733944354073559005064151861845579177462213709676930429227413327292886660507454424429439459586466692970295422581396419790429664371420168216222985086648347193351697705244584637399146544038499204059640794622812702723952003270722959607164549492438062379376102762193099831497966043545669464436159343878502506237042235173906333039792689348759444453174027657320871902557015303316802142754533560308544730103853045305342981999480470840880485429452466154287454502317130201553432960052040251954256894299357131256654075218108222327629361154589830805448875360949203008973480966270983350509824918373839294598334241738188500728343060611194802414184878666101836028038681008763139176060126979061521076715356454977065853421048351819955669515209069405176592783215373664567026698511405870949333460518247987019050461723217995569675538021969918350516054217290656282593597913029810454762017144965323037404517846376907179490574361268530871433647428168344057618141921335010349265422879570105744924008456759194537244173503293911069610411840676162918316579009362633828953057102713872625836773018243351193457214862108348442442334118072937289726574823649768943471355339025263516161028209219766286943878256816299798565066452357361087801765171725675013688133017282558392249669568928046968002702504626245247632724168852178387193118852271496410469750420623804819000235416789421953274594454132092188651505503730088619090204646193750157649847438229440976430964879053493407994375450028660691171845167262423184455835502504954499940548052367119682872943579002776028213765576445187031426657787491444819852090272912814320556960012351457600764076044475478801586048123319740472589781656675127825289733234520396208604433697653835752966680102422582198086342007732964980902173543527550342722873688406366446563145927630415696992707901441088158460252033985205858002440480616488117107280638322327173645775305633406852191776410327397614668462252392095409988456276365616170234144558502248081261683162745940387963207 18989669617834488627660536590614648256064002753109866025639823481306396572097953204039637437296964173748217627990591902390331523728262208200083759413043383542128409785049031837023526732619842356041523650007865076448673983221408223018387260216653687230032946089712234879895007138016502354875194620369990378027338499281983919433640841502907432334843029180503254475593413865029823701128167524231556296067654188946947801781156509016917077681612912591372240582726707319517925223545141994778636542576322009855262918154842172315612591365182130848865557156193486963824813829551099857126615708561342205844935443020668621231566763695217220546553120522556246947325987216776791078358259563286621026881981921141067219913277097260834344767329666549567686632095266602658122475396967204089649282135397852591179686462376142762510475048752321995846477114099353134506837172316020699289188211391016363942799177108506809845254625659602607358755861475633053920767109953870993270025691352452624123337392751451098654289083471800969251607860236860803922366374316434715453627876743715593575561775762136534608691126384039429244385320461820998480368501128201457674731028764659491759562482933126379709507580829565872244140931046131438883872401397660443350268552794500552932440640840350079838808568495005108594627795109618832074500264203297892453748271675844827939476442445328675222419374140561002416983782231718237753305617469118340614891056958902488942285491464624109457885983543900797741222654527380804977764280535226601968165323673823590450857444786999205690993834770481723257708524960350466310358027188284154112204116419756900307634356649958168838249475503510987675633567256341372945554572610654604009063592770523409823290679607106394270783280459991939504282536274539188164688320852132910761045092235566410381270566394505872792606303211506985816246025780001598041472613332523335909197122439506418516659393795051036394805546453919302485825221714588406504207056393352386575041742008255018363143090620624101038760693899202025568483745951808607435867065052732076287541124454825093548332006099807755538790855787406421081378998335204187187457321855170566207698861700326875116230814866644791366150330045721608421869213919985062047370554900257155197808038089177432298425620536994098761132157725445504246196780038508026374377652686239029187306267113999063328149953916531035214436150039465915363973763445647391459152925754768576428512416761685064322008125450279733846589086169605731845226722179374499763658353167800628853190316994190047501534034044085658131003853710993056248029359342149889189328195419402400549580697785477209856588220894232186201718104905669775452484103654010667939501698078846745523809220219470604020052089488404935304972153462946423448113608261596810808215365062393661925631843923567881072842935826917673272571845931016428584895363185403229009133993119049297086125936105667712762235620975074436955275116229210037034872348117819904383850710937931901960976199918394571 30725930876787428973675473461291464390731512832907408868908200031841292780753911002035183802725830492692018375106221626804302764669722756385958720739226470383880099089309167923492533737965384498715040764239977220849834412385058198936183325308967527085539308661189540420684213944475960751063919308386641467904339274089838894963895290777910453447785682952122181492008749339287958603390380132527353444419073553366475850107142126632086624464602370131466956127074637610517910739641162918655113964091367838263044789026065388458550032642236921043730811577323094001897020935977641396473516292029784233316228009191846386843169503266127400558416457874158540439614675057080458524890592297834249410968182895391639258598794121795403422982997318524729846781621555590944080843445603503477971119952128124404667632993270507314947499600860556532488889052270992353210115457076451427666550899699530179164409564128537468158360236712262658671644589309707629031352618869867192167762352909790330649757269889886832598643157030806033403469705816038266136076051246863942866955169630376101029986205201596121075384096679462010640805110891485369900536717351186544323078222116357197004147120332272923748006784889206666866953633770083442154595361004824992842706615173876655694633740671848045882354237959441267938506297615855874309674170536337685143097031120298001967133763317231232237722690942703756950544090776448341606350922812100340095361897839387918394751645752078611775016185097333757793262906481637699277121411791880677186273546001452951605447275592448081051943037779455204223979508310860291228731866482882488353942304920485243368245551452372353716915577339539026356642330395517433072533634131731319365518569836376830871642499562775909479852685636584722719656200841565886676094191801466371279293079254616872104488561964181410814576221562023040033536682062595195954502423787285353054162445476910936363036300974541610756074077325352949913993565772206548425542066742617809454611847753179026819902285157868274542054604968812437409159908870125186445229698881685133390254997080661866566575357293264970400899204229848755199451935624930762011107090798641921546724125216487903325450581153588669622966629844286674874226575007786827219096229913945288215090596481427101867353667504996801265758402973078228415048958425701145226649149096708779607930071932999298744939375869805629668568242228117420867703852064737596105346675912418423866741857738116029201061618858274109296617746860777577012489145363830335266163307667741176905557436677062991080536810072299423707449040742419714035520804162001979462241009739959360561932155386241285901063699695818234325037845378259557109159231479300401174022094287451179221463055972437284122474671686491277312705118443848596991641158604319684496621731508956807853262259620560588974284023985377925306557051789018869065511851302510509647456320292695072391759342957859489172563018589742899207667211639198493311237964288054048942352959019193585123722140306357778 49715600494621917601336010051906112646795515586017274894548023513147689352851864206074821240022794666440236003096813529194634288397984964586042480152269853926008508874358199760516060470585226854756564414247842297298508395606466421954570585525621214315572254750901775300579221082492463105939113928756631845931677773371822814397536132280817885782628712132625435967602163204317782304518547656758909740486727742313423651888298635649003702146215282722839196709801344930035835963186304913433750506667689848118307707180907560774162624007419051892596368733516580965721834765528741253600132000591126439161163452212515008074736266961344621104969578396714787386940662273857249603248851861120870437850164816532706478512071219056237767750326985074297533413716822193602203318842570707567620402087525976995847319455646650077457974649612878528335366166370345487716952629392472126955739111090546543107208741237044278003614862371865266030400450785340682952119728823738185437788044262242954773094662641337931252932240502607002655077566052899070058442425563298658320583046374091694605547980963732655684075223063501439885190431353306368380905218479388001997809250881016688763709603265399303457514365718772539111094564816214881038467762402485436192975167968377208627074381512198125721162806454446376533134092725474706384174434739635577596845302796142829906610205762559907460142065083264759367527873008166579359656540281218680710252954798290407337037137216702721232902168641234555534485561009018504254885692327107279154438869675276542056304720379447286742936872549936927481688033271210757539089893671166642466146421340242143675879908102330522555165052843050014032275897651858806018088206742385923374582162606900240694933179169882303750635966096576662223938737116105074840782512653599282040338171490183282485759128358687283607182524773530025849782707842596793995975037119808688963359567916417354879695694769592647150879623779272252399818787486794954929749123135970196029653589761434045183045375778492375580815298868014462977643654821933793881096763934417209677796121535486960114907363393072725939690060017255176280830933960134949198564412653812487754422986916814778441681396020233460989116959890008283296095788927771889266466784814202443412898634570604534165779288041990900026890560698523732661245738464209171601026801782947808795236339046998362073089329786336664883004392267583336231677615510384987564499601667187000295254274499801093523069744308553843143206833030383308857715867543204835029821660835541805758747753671253038582070844116385081838452894453412770283550163504151868651569205159361761111512853171718495757651920590050420526755950283929332561643335133311069113523792366297924745272276191907888142526761174896212617677271906795020439754766865916495304837096571350469778894103544128470047126959812295598579128897720035297650407214487913738656590313411744369477885279063527201934798639564817336162942327868408530346110312405873953326203669957125487084698340224752349 80441531371409346575011483513197577037527028418924683763456223544988982133605775208110005042748625159132254378203035155998937053067707720972001200891496324309888607963667367684008594208550611353471605178487819518148342807991524620890753910834588741401111563412091315721263435026968423857003033237143273313836017047461661709361431423058728339230414395084747617459610912543605740907908927789286263184905801295679899501995440762281090326610817652854306152836875982540553746702827467832088864470759057686381352496206972949232712656649655972936327180310839674967618855701506382650073648292620910672477391461404361394917905770227472021663386036270873327826555337330937708128139444158955119848818347711924345737110865340851641190733324303599027380195338377784546284162288174211045591522039654101400514952448917157392405474250473435060824255218641337840927068086468923554622290010790076722271618305365581746161975099084127924702045040095048311983472347693605377605550397172033285422851932531224763851575397533413036058547271868937336194518476810162601187538216004467795635534186165328776759459319742963450525995542244791738281441935830574546320887472997373885767856723597672227205521150607979205978048198586298323193063123407310429035681783142253864321708122184046171603517044413887644471640390341330580693848605275973262739942333916440831873743969079791139697864756025968516318071963784614920966007463093319020805614852637678325731788782968781333007918353738568313327748467490656203532007104118987956340712415676729493661751995971895367794879910329392131705667541582071048767821760154049130820088726260727387044125459554702876272080630182589040388918228047376239090621840874117242740100732443277071566575678732658213230488651733161384943594937957670961516876704455065653319631250744800154590247690322868694421758746335553065883319389905191989950477460907094042017522013393328291242731995744134257906953701104625202313812353259001503355291189878588005484265437514613072002947660936360650122869903836826900386803563692058980326326462816102343068051118616148826681482720686337696340589264247103931480282869585065711209671503452454409301147112133302681767131977173822130612083589734294958170322363935558716485563014728147731627989231052031636033132955546987701292648963671601961076294696889910316827675950879656588403166410979997660818028705656142294551572634495700757099381467575122583669846277579605424161996132237917122724131363166827952439824579891160885870205012907035170295984968503282982664305190348316029662607654188684505545901935195832484319070967666153848113810214899321121673445008557959781658715620285868654851793795662188889670802566612611470287545886653749103966735332164345172265001432861387489930382390350643617431395925470236179801458828080307277632156363164689059021410983797673523885685949509054166715919065790424248304046633704439441869644622021386691107361658154560235370609539507607023657348276693928002268556628976319072208420480531110127 130157131866031264176347493565103689684322544004941958658004247058136671486457639414184826282771419825572490381299848685193571341465692685558043681043766178235897116838025567444524654679135838208228169592735661815446851203597991042845324496360209955716683818162993091021842656109460886962942147165899905159767694820833484523758967555339546225013043107217373053427213075747923523212427475446045172925392529037993323153883739397930094028757032935577145349546677327470589582666013772745522614977426747534499660203387880510006875280657075024828923549044356255933340690467035123903673780293212037111638554913616876402992642037188816642768355614667588115213495999604794957731388296020075990286668512528457052215622936559907878958483651288673324913609055199978148487481130744918613211924127180078396362271904563807469863448900086313589159621385011683328644020715861395681578029121880623265378827046602626024165589961455993190732445490880388994935592076517343563043338441434276240195946595172562695104507638036020038713624837921836406252960902373461259508121262378559490241082167129061432443534542806464890411185973598098106662347154309962548318696723878390574531566326863071530663035516326751745089142763402513204231530885809795865228656951110631072948782503696244297324679850868334021004774483066805287078023040015608840336787636712583661780354174842351047158006821109233275685599836792781500325664003374537701515867807435968733068825920185484054240820522379802868862234028499674707786892796446095235495151285352006035718056716351342654537816782879329059187355574853281806306911653825215773286235147600969530720005367657033398827245683025639054421194125699235045108710047616503166114682895050177312261508857902540516981124617829738047167533675073776036357659217108664935359969422234983437076006818681555978028941271109083091733102097747788783946452498026902730980881581309745646122427690513726905057833324883897454713631140745796458285040313014558201513919027276047117185993036714853025703685202704841363364447218513992774207423226750519552745847240151635786796390084079410422280279324264359107761113803545200660408235916106266897055570099050117460208813373194055591601200549624303241466418152863330605752029799542350175040887865622636170198912243588978601319539524370125693737540435354119488428702752662604397198402750026996022891118035442478959434577026763284093331059083085507571234345879246792424457250406737718216247201107475381795583031412921544194727920880450240005325806629338824788423052944019569068244678498305069587384354829649245254602621131170305716765379420058682882784957861729678277416367540875919075378549745946118222232445901745922539401069679020047028712007608356253060407528194036283702548059662257438637871150692336152675106295924651657747411050466708817529068537943609969122464814847229089464366326280278337986960636947116183811347529901084913893042160297719377571533551867376015554003458589099801955594760298933444559293118820755862476 210598663237440610751358977078301266721849572423866642421460470603125653620063414622294831325520044984704744759502883841192508394533400406530044881935262502545785724801692935128533248887686449561699774771223481333595194011589515663736078407194798697117795381575084406743106091136429310819945180403043178473603711868295146233120398978398274564243457502302120670886823988291529264120336403235331436110298330333673222655879180160211184355367850588431451502383553310011143329368841240577611479448185805220881012699594853459239587937306730997765250729355195930900959546168541506553747428585832947784115946375021237797910547807416288664431741650938461443040051336935732665859527740179031110135486860240381397952733801900759520149216975592272352293804393577762694771643418919129658803446166834179796877224353480964862268923150559748649983876603653021169571088802330319236200319132670699987650445351968207770327565060540121115434490530975437306919064424210948940648888838606309525618798527703787458956083035569433074772172109790773742447479379183623860695659478383027285876616353294390209202993862549428340937181515842889844943789090140537094639584196875764460299423050460743757868556666934730951067190961988811527424594009217106294264338734252884937270490625880290468928196895282221665476414873408135867771871645291582103076729970629024493654098143922142186855871577135201792003671800577396421291671466467856722321482660073647058800614703154265387248738876118371182189982495990330911318899900565083191835863701028735529379808712323238022332696693208721190893023116435352855074733413979264904106323873861696917764130827211736275099326313208228094810112353746611284199331888490620408854783627493454383828084536635198730211613269562899432111128613031446997874535921563730588679600672979783591666254509004424672450700017444636157616421487652980773896929958933996772998403594703073937365159686257861162964787025988522657027443494004797961640331502893146206998184464790660189188940697651213675826555106541668263751250782206051754533749689566621895813898358767784613477872804765748118620868588511463039241396673130266371617907419558721306356717211183420141975945350367877722213284139358598199636740516798889322237592814270497906668877096674667806232045199135966302612188488041727654813835132244029805256378703542260985601569161006993683709146741098621253986149661258984850430440550660630154904192156826397848619246538975635338971332470642209748022855992812705080598125893357275175621791597842107771087358134367885097907286152493754092930256764845077738921692098836459564879189634958004004458402870287638059075083161161787730230343541608307111903248468358534009688615565673796132678742940520598232672529626897671192478442052608082255302546617806388854907754752731965025043206829873506588089948927407642646350500796738143631082245346068762235264683580820623253217174523106300584149521955873937806904161406883622577660806865793729957863316927909763631501539301286972603 340755795103471874927706470643404956406172116428808601079464717661262325106521054036479657608291464810277235140802732526386079735999093092088088562979028680781682841639718502573057903566822287769927944363959143149042045215187506706581402903555008652834479199738077497764948747245890197782887327568943083633371406689128630756879366533737820789256500609519493724314037064039452787332763878681376609035690859371666545809762919558141278384124883524008596851930230637481732912034855013323134094425612552755380672902982733969246463217963806022594174278399552186834300236635576630457421208879044984895754501288638114200903189844605105307200097265606049558253547336540527623590916036199107100422155372768838450168356738460667399107700626880945677207413448777740843259124549664048272015370294014258193239496258044772332132372050646062239143497988664704498215109518191714917778348254551323253029272398570833794493155021996114306166936021855826301854656500728292503692227280040585765814745122876350154060590673605453113485796947712610148700440281557085120203780740761586776117698520423451641646528405355893231348367489440987951606136244450499642958280920754155034830989377323815288531592183261482696156333725391324731656124895026902159492995685363516010219273129576534766252876746150555686481189356474941154849894685307190943413517607341608155434452318764493234013878398244435067689271637370177921617335469842394423837350467509615791869440623339749441489559398498174051052216524490005619105792697011178427331014986380741565097865428674580676870513476088050250080378691288634661381645067804480677392559021462666448484136194868769673926571996233867149231306479445846329308041936107123574969466522543631696089593394537739247192737887392637479278662288105223034232195138672395524039570095214767028742261327685980650479641288553719249349523585400769557843382456960899503979285176012819583487587376771588068022620350872420111741074634750594419925371815907704408512103492066707306374933734366066701530240309246509627115698000720044528741172916317141448559745598919420400274262888845158540901147912775822147002510476675467032026143335664988203412287310233537602184758723561933313814484688982901441103158669662219927989622613812848081709764962297303976430957442724944903931728012411853348551375567598149293685081456204865382799971911033989706600264776541100213420726688022268943761499633746137726138538036073190273076496945713353555218533578117591543605887405734249275326046773807515180947598227180932559510411078387454166151964650798823680314611594494322993524313230006765281644569055016686887243360732017316336491450702037706805608893287554425334135694370104456549089685244693843161390750548876851293080057820933954895026501714865520893173697310142541530014050677383622772454257296582324117158486871017611768815315643967233095448571626347100222225320527936807064564704424191214477191682253593315378437713274259638131664265454893531913458077226843208190794658122042835079 551354458340912485679065447721706223128021688852675243500925188264387978726584468658774488933811509794981979900305616367578588130532493498618133444914291183327468566441411437701591152454508737331627719135182624482637239226777022370317481310749807349952274581313161904508054838382319508602832507971986262106975118557423776989999765512136095353499958111821614395200861052330982051453100281916708045145989189705339768465642099718352462739492734112440048354313783947492876241403696253900745573873798357976261685602577587428486051155270537020359425007754748117735259782804118137011168637464877932679870447663659351998813737652021393971631838916544511001293598673476260289450443776378138210557642233009219848121090540361426919256917602473218029501217842355503538030767968583177930818816460848437990116720611525737194401295201205810889127374592317725667786198320522034153978667387222023240679717750539041564820720082536235421601426552831263608773720924939241444341116118646895291433543650580137613016673709174886188257969057503383891147919660740708980899440219144614061994314873717841850849522267905321572285549005283877796549925334591036737597865117629919495130412427784559046400148850196213647223524687380136259080718904244008453757334419616400947489763755456825235181073641432777351957604229883077022621766330598773046490247577970632649088550462686635420869749975379636859692943437947574342909006936310251146158833127583262850670055326494014828738298274616545233242199020480336530424692597576261619166878687409477094477674140997818699203210169296771440973401807723987516456378481783745581498882895324363366248267022080505949025898309442095244041418833192457613507373824597743983824250150037086079917677931172937977404351156955536911389790901136670032106731060236126112719170768194550620408515836690405322930341305998355406965945073053750331740312415894896276977688770715893520852747063029449230987407376860942768768518128755392381565703318800850615510287956857367495563874432017280377356795415788177890866948782926096283274922605883763344373643957687205013752135693610906659522016501287285186243907149805733403644050755223709509769004521416957744160704073929811036027768828341499640739899186461109250227215428083345988378642058971971782663002641860911206543916500453581003365210699842179098941460159747126368401541072040983390309411517639721467406876349281253794191940184406767881042730192899588121695743484688988894189866048759801291628743398546954355924172667164790356569389825023040330597769212755339264059250803292577773244868359339400732446005328843224846523758689974690891701763602304954395566533863199494535839236829162732446038942838462990558778300810367639294069493489397449525752587447831626087504943767473603148476243927948930384921805430115587797497464126455830705248435798425254415165816440705376726530816972415862457490004108757430317781878947297515061341204209467253185341874681143260709325072320687261871321394154752971822296197423329807682 892110253444384360606771918365111179534193805281483844580389905925650303833105522695254146542102974605259215041108348893964667866531586590706222007893319864109151408081129940274649056021331025101555663499141767631679284441964529076898884214304816002786753781051239402273003585628209706385719835540929345740346525246552407746879132045873916142756458721341108119514898116370434838785864160598084654181680049077006314275405019276493741123617617636448645206244014584974609153438551267223879668299410910731642358505560321397732514373234343042953599286154300304569560019439694767468589846343922917575624948952297466199716927496626499278831936182150560559547146010016787913041359812577245310979797605778058298289447278822094318364618229354163706708631291133244381289892518247226202834186754862696183356216869570509526533667251851873128270872580982430166001307838713749071757015641773346493708990149109875359313875104532349727768362574687089910628377425667533948033343398687481057248288773456487767077264382780339301743766005215994039848359942297794101103220959906200838112013394141293492496050673261214803633916494724865748156061579041536380556146038384074529961401805108374334931741033457696343379858412771460990736843799270910613250330104979916957709036885033360001433950387583333038438793586358018177471661015905963989903765185312240804523002781451128654883628373624071927382215075317752264526342406152645569996183595092878642539495949833764270227857673114719284294415544970342149530485294587440046497893673790218659575539569672399376073723645384821691053780499012622177838023549588226258891441916787029814732403216949275622952470305675962393272725312638303942815415760704867558793716672580717776007271325710677224597089044348174390668453189241893066338926198908521636758740863409317649150777164376385973409982594552074656315468658454519889583694872855795780956973946728713104340334439801037299010027727733362880509592763505986801491075134708555024022391448924074801938808166383347078887035725034687517982646783646140812016095522200904792933389556606625414026398582456065200423164414063107333246417626481200435670194090888697713181291831650495346345462797491744349842253517324401081843057856123329178216838041896194070088407021269275759093960084585856110475644512865434351916586267440328392626541615951991751201512983074973096909676294180821680827603037303522737953439818152905607181268228972778394772240430402342449408399626877392835234630804281203631250219440972305537516988052203972890108180291142793430211215454091401453559479953833723725970318558849990128168327744991377778945124334322270732057984565237201341448130116717157780174637208567447107867986055061482455460244038274300818832645268765580982531445482339124041649941238091471914935856107499210569951721423038154822406922669442866183981132084672609821979388598762962679715324636694237382346583371488729538532886463060568563779587955402898840989337775580793784779471381596180013090855545372642761 1443464711785296846285837366086817402662215494134159088081315094190038282559689991354028635475914484400241194941413965261543255997064080089324355452807611047436619974522541377976240208475839762433183382634324392114316523668741551447216365525054623352739028362364401306781058424010529214988552343512915607847321643803976184736878897558010011496256416833162722514715759168701416890238964442514792699327669238782346082741047118994846203863110351748888693560557798532467485394842247521124625242173209268707904044108137908826218565528504880063313024293909048422304819802243812904479758483808800850255495396615956818198530665148647893250463775098695071560840744683493048202491803588955383521537439838787278146410537819183521237621535831827381736209849133488747919320660486830404133653003215711134173472937481096246720934962453057684017398247173300155833787506159235783225735683028995369734388707899648916924134595187068585149369789127518353519402098350606775392374459517334376348681832424036625380093938091955225490001735062719377930996279603038503082002661179050814900106328267859135343345572941166536375919465500008743544705986913632573118154011156013994025091814232892933381331889883653909990603383100151597249817562703514919067007664524596317905198800640490185236615024029016110390396397816241095200093427346504737036394012763282873453611553244137764075753378349003708787075158513265326607435349342462896716155016722676141493209551276327779098966155947731264517536614565450678679955177892163701665664772361199695754053213710670218075276933814681593132027182306736609694294402031371971840390324812111393180980670239029781571978368615118057637314144145830761556322789585302611542617966822617803855924949256883615202001440201303711302058244090378563098445657259144647749477911631603868269559293001066791296340323900550430063281413731508270221324007288750692057934662717444606625193081502830486529997435104594305649278110892261379183056778453509405639532679405781442297502682598400627456243831140822865408849595566572237095291018128084668137307033514293830427778534276066971859945180915350392519490324776286933839314244846112407222950296353067453090506166871421555385870022345665900722582957042584438428444053469979540058467049080241247541756962726446767317019561013319015355281796967282507491568001775699118119603054055115956487219087811820543148234479386584776532145380002559673488223998421872366516467983915091331343598265675637194126863374202828157987174392108137095894086377877227013220705949503898132694270466257383979226804348313173124458416323887693214974692086434966068670646887936627225127624518428436695877287366945879890226213580047030437666646286865429121749529737527671750344585232716597207070036389249812727190126185166040402299857661537614798367449185549493985527655358467868120599146948525377986548510205571178825137205328745451667700128462318786244599874090672527821749121462636546159550314410096268055656100865536349151835387052968702450443 2335574965229681206892609284451928582196409299415642932661705000115688586392795514049282782018017459005500409982522314155507923863595666680030577460700930911545771382603671318250889264497170787534739046133466159745995808110706080524115249739359439355525782143415640709054062009638738921374272179053844953587668169050528592483758029603883927639012875554503830634230657285071851729024828603112877353509349287859352397016452138271339944986727969385337338766801813117442094548280798788348504910472620179439546402613698230223951079901739223106266623580063348726874379821683507671948348330152723767831120345568254284398247592645274392529295711280845632120387890693509836115533163401532628832517237444565336444699985098005615555986154061181545442918480424621992300610553005077630336487189970573830356829154350666756247468629704909557145669119754282585999788813997949532297492698670768716228097698048758792283448470291600934877138151702205443430030475776274309340407802916021857405930121197493113147171202474735564791745501067935371970844639545336297183105882138957015738218341662000428835841623614427751179553381994733609292862048492674109498710157194398068555053216038001307716263630917111606333983241512923058240554406502785829680257994629576234862907837525523545238048974416599443428835191402599113377565088362410701026297777948595114258134556025588892730637006722627780714457373588583078871961691748615542286151200317769020135749047226161543369194013620845983801831030110421020829485663186751141712162666034989914413628753280342617451350657460066414823080962805749231872132425580960198099281766728898422995713073455979057194930838920794020030586869458469065499138205346007479101411683495198521631932220582594292426598529245651885692726697279620456164784583458053169386236652495013185918710070165443177269750306495102504719596882389962790110907702161606487838891636664173319729533415942631523829007462832327668529787703655767365984547853588217960663555070854705517099441490764783974535130866865857552926832242350218377907307113650285572930240423070900455841804932858523037060368345329413499852736742402768134274984438937001104936131588184717948436851629668913299735712275862990301804426014898707767606660891511875734128555456101510523300850922811032623427495205526184449707198383234722835884194543391651109870804567038190929584128764106001364829062082423888299270098819820712579095405266650845144911240224345493673793006665302514586962098005007109361618424611549109401431603365929430986110814129795040926124481681711475380680363828267006848184386642446543205102860414179957446449592012270949495859682502993673897218735497062597048006388217255597884774514272920490604204989981565946051163417877985362788052567834732151851231776126404131874214793517645114008937400906972532140350062281137310986783128080610050596370489594169941787816920653382145905082475045690274974138406977135588390312901050591949058391303747871848849440880336917945331848477908514075093204 3779039677014978053178446650538745984858624793549802020743020094305726868952485505403311417493931943405741604923936279417051179860659746769354932913508541958982391357126212696227129472973010549967922428767790551860312331779447631971331615264414062708264810505780042015835120433649268136362824522566760561434989812854504777220636927161893939135269292387666553148946416453773268619263793045627670052837018526641698479757499257266186148849838321134226032327359611649909579943123046309473130152645829448147450446721836139050169645430244103169579647873972397149179199623927320576428106813961524618086615742184211102596778257793922285779759486379540703681228635377002884318024966990488012354054677283352614591110522917189136793607689893008927179128329558110740219931213491908034470140193186284964530302091831763002968403592157967241163067366927582741833576320157185315523228381699764085962486405948407709207583065478669520026507940829723796949432574126881084732782262433356233754611953621529738527265140566690790281747236130654749901840919148374800265108543318007830638324669929859564179187196555594287555472847494742352837568035406306682616864168350412062580145030270894241097595520800765516324586624613074655490371969206300748747265659154172552768106638166013730474663998445615553819231589218840208577658515708915438062691790711877987711746109269726656806390385071631489501532532101848405479397041091078439002306217040445161628958598502489322468160169568577248319367644675871699509440841078914843377827438396189610167681966991012835526627591274748007955108145112485841566426827612332169939672091541009816176693743695008838766909207535912077667901013604299827055460994931310090644029650317816325487857169839477907628599969446955596994784941369999019263230240717197817135714564126617054188269363166509968566090630395652934782878296121471060332231709450357179896826299381617926354726497445462010359004897936921974179065814548028745167604632041727366303087750260486959396944173363184601991374698006680418335681837916790615002598131778370241067547456585194286269583467134590008920313526244763892372227067179055068114298683783113512159081884537785401527357796540334855121582298208656202527008971941292206035104944981855274187022505181751770842607885537479390744514766539503465062480180202005343375762545167350227990407621093306886071347851917821907977296561810473075802244199823272252583629265072717511427708208260585005136604930978151781088961379209937519605599003657246497325689743806657999331520079298939058818752147968859359907168176580179972642802966334236420077552500614923515120238900207576720987307021422110593096022864008476938232601797302628322441160559785919725954519719093617801508003110701959995122604223981964578421902311570172276514651179182728807304850092522026125877717639605179107382275029135428582918999799741120612954125982127597572782603508009061218738281067808116212062022513228495217941618157968116905096981202454294483683864961482777543647 6114614642244659260071055934990674567055034092965444953404725094421415455345281019452594199511949402411242014906458593572559103724255413449385510374209472870528162739729884014478018737470181337502661474901256711606308139890153712495446865003773502063790592649195682724889182443288007057737096701620605515022657981905033369704394956765777866774282167942170383783177073738845120348288621648740547406346367814501050876773951395537526093836566290519563371094161424767351674491403845097821635063118449627586996849335534369274120725331983326275846271454035745876053579445610828248376455144114248385917736087752465386995025850439196678309055197660386335801616526070512720433558130392020641186571914727917951035810508015194752349593843954190472622046809982732732520541766496985664806627383156858794887131246182429759215872221862876798308736486681865327833365134155134847820721080370532802190584103997166501491031535770270454903646092531929240379463049903155394073190065349378091160542074819022851674436343041426355073492737198590121872685558693711097448214425456964846376543011591859993015028820170022038735026229489475962130430083898980792115574325544810131135198246308895548813859151717877122658569866125997713730926375709086578427523653783748787631014475691537275712712972862214997248066780621439321955223604071326139088989568660473101969880665295315549537027391794259270215989905690431484351358732839693981288457417358214181764707645728650865837354183189423232121198674786292720338926504265665985089990104431179524581310720271355452977978248734814422778189107918235073438559253193292368038953858269908239172406817150987895961840046456706097698487883062768892554599200277317569745441333813014847119789390422072200055198498692607482687511638649619475428014824175250986521951216621630240106979433331953145835840936890755439502475178511433850443139411611963667735717936045791246084259913388093534188012360769249642708853518203796111152152485629945326966642821115192476496385664127968576526505564872537971262514080267008992909905245428655813997787879656094742111388399993113045980681871574177392224963809581823202389283122720114617095213472722503349964209426209248154857294574071646504331434986839999973641765836493731008315577961283262294143458808348512014172009972065687914769678563436728179259957088559001337861212188131497815655476616023823272806358644234361375072343019643984831679034531723562656338948432606078678929611596280666368051059384217046881224023615206355898757293109736088985442334209093979984943233829680334740587532004847186820827189608780779625180412914794880961569830912478526216846989524415784490314758361071073986238990014558226207215674832706410330159509700659563852671420988687322783175172058714116429653678437974304150729444696827842816242250999494558266227779920742490094165403109745479179289489393911062400771046635509743477865078553699336192876688044943704602374923563820444276332921905839965754537861539372239815532342869996852636851 9893654319259637313249502585529420551913658886515246974147745188727142324297766524855905617005881345816983619830394872989610283584915160218740443287718014829510554096856096710705148210443191887470583903669047263466620471669601344466778480268187564772055403154975724740724302876937275194099921224187366076457647794759538146925031883927671805909551460329836936932123490192618388967552414694368217459183386341142749356531450652803712242686404611653789403421521036417261254434526891407294765215764279075734447296057370508324290370762227429445425919328008143025232779069538148824804561958075773004004351829936676489591804108233118964088814684039927039482845161447515604751583097382508653540626592011270565626921030932383889143201533847199399801175139540843472740472979988893699276767576343143759417433338014192762184275814020844039471803853609448069666941454312320163343949462070296888153070509945574210698614601248939974930154033361653037328895624030036478805972327782734324915154028440552590201701483608117145355239973329244871774526477842085897713322968774972677014867681521719557194216016725616326290499076984218314967998119305287474732438493895222193715343276579789789911454672518642638983156490739072369221298344915387327174789312937921340399121113857551006187376971307830551067298369840279530532882119780241577151681359372351089681626774565042206343417776865890759717522437792279889830755773930772420290763634398659343393666244231140188305514352758000480440566319462164419848367345344580828467817542827369134748992687262368288504605840009562430733297253030720915004986080805624537978625949810918055349100560845996734728749253992618175366388896667068719610060195208627660389470984130831172607646560261550107683798468139563079682296580019618494691245064892448803657665780748247294295248796498463114401931567286408374285353474632904910775371121062320847632544235427409172438986410833555544547017258706171616887919332751824856319757117671672693269730571375679435893329837491153178517880262879218389598195918183799607912503377207026055065335336241289028380971867127703054900995397818941284597190876760878270503581806503228129254295357260288751491567222749583009978876872280302706858443958781292179676870781475586282502600466465014064986066693885991404916524738605191379832158743638733522635719633726351565851619809224804701726824467941645180783655206044834450874587219467257084262663796796280167766656640866663684066216527258818149140020763426984400829622618863602396082982853542746984773854288392919043761985977649194100494700181427366793469992575115016045257965415409804476690069812686102937834296545837895083410781225079550924471591811860854529656835392492330056114029419753181654179424099389282778297776282696081008075580749544476427244095876010571623547101092016584392105497560347669201547678138880907762208489193652183013725172617637341050647682061708397411614969112751820814436946077048939494274540063808082659634842741826534299216207831479630180498 16008268961504296573320558520520095118968692979480691927552470283148557779643047544308499816517830748228225634736853466562169387309170573668125953661927487700038716836585980725183166947913373224973245378570303975072928611559755056962225345271961066835845995804171407465613485320225282251837017925807971591480305776664571516629426840693449672683833628272007320715300563931463509315841036343108764865529754155643800233305402048341238336522970902173352774515682461184612928925930736505116400278882728703321444145392904877598411096094210755721272190782043888901286358515148977073181017102190021389922087917689141876586829958672315642397869881700313375284461687518028325185141227774529294727198506739188516662731538947578641492795377801389872423221949523576205261014746485879364083394959500002554304564584196622521400148035883720837780540340291313397500306588467455011164670542440829690343654613942740712189646137019210429833800125893582277708358673933191872879162393132112416075696103259575441876137826649543500428732710527834993647212036535796995161537394231937523391410693113579550209244836895638365025525306473694277098428203204268266848012819440032324850541522888685338725313824236519761641726356865070082952224720624473905602312966721670128030135589549088281900089944170045548315365150461718852488105723851567716240670928032824191651507439860357755880445168660150029933512343482711374182114506770466401579221051756873525158373889959791054142868535947423712561764994248457140187293849610246813557807647258548659330303407533723741482584088744376853511486360948955988443545333998916906017579808080826294521507377996984630690589300449324273064876779729837612164659395485945230134912317943846019727435950683622307738996966832170562369808218669237970119259889067699790179616997369877534402228229830416260237772504177163813787828653144338761218510532674284515368262171473200418523246324221649078735029619475421259596772850955620967471909603301618020236373392490871912389715501619121755044385827751756360860709998450808600822408622635681869063123215897383770492360267120816100881677269393118676822154686342701472892864929223342746349508829982792101455776648958831164836171446351949211189878945621292153318636617969317290818178427748276359129525502234503419088534710670879294601837307075461701895676722285352903712831997356302517382301083965468453590013850279195825946930239111241915941698328519842824105605073472742362995828123539484517191080147644031282053646234069958294840275963278835970216188497486899028705219807329528841082232186274553614297182183895795670438378330204685438259900725164629154681286070253679573725539586150624910710581826419080736872510225198740386273539120412745506850845088076605561472948341410197437729259187518780577973540572838414439789352091511142658333277481090159295713081248626386941497978587563245414496219253147084528512760615407733604491657157695525416811869640869383770607461969648048414172704281198774114748550701476482817349 25901923280763933886570061106049515670882351865995938901700215471875700103940814069164405433523712094045209254567248339551779670894085733886866396949645502529549270933442077435888315158356565112443829282239351238539549083229356401429003825540148631607901398959147132206337788197162557445936939149995337667937953571424109663554458724621121478593385088601844257647424054124081898283393451037476982324713140496786549589836852701144950579209375513827142177937203497601874183360457627912411165494647007779055891441450275385922701466856438185166698110110052031926519137584687125897985579060265794393926439747625818366178634066905434606486684565740240414767306848965543929936724325157037948267825098750459082289652569879962530635996911648589272224397089064419678001487726474773063360162535843146313721997922210815283584423849904564877252344193900761467167248042779775174508620004511126578496725123888314922888260738268150404763954159255235315037254297963228351685134720914846740990850131700128032077839310257660645783972683857079865421738514377882892874860363006910200406278374635299107403460853621254691316024383457912592066426322509555741580451313335254518565884799468475128636768496755162400624882847604142452173523065539861232777102279659591468429256703406639288087466915477876099382663520301998383020987843631809293392352287405175281333134214425399962223862945526040789651034781274991264012870280701238821869984686155532868552040134190931242448382888705424193002331313710621560035661194954827642025625190085917794079296094796092029987189928753939284244783613979676903448531414804541443996205757891744349870607938842981365419338554441942448431265676396906331774719590694572890524383302074677192335082510945172415422795434971733642052104798688856464810504953960148593837282778118124828697477026328879374639704071463572188073182127777243671993881653736605363000806406900609590962232735055204623282046878181592876484692183707445823791666720973290713506103963866551348283045339110274933562266090630974750458905916634608208734911999842707924128458552138672798873332134248519155782672667212059961419345563103579743396446735726570875603804187243080852947343871708414174815048318632251918048322904402584332995507399444903573320778894213290424115592196120494824005059449276070674433996050714195224531396356011704469564451806581107219109125551907113634373669056324030276821517458578499000204362125316122991872261714339406047062044650798302666331100911071015682883268852933560690923258816821582954990042785879818072467205784978722941576932367701920407767174759010811715696343745614489914949970537850732092515582616091574657136320811230175835182173638279935266529345617691070442387568540165927161030269187465888339770724624106278445804839937063257005217636448848986063336453183527727050438775041437828497260759387507294703706467781215428428221391870784425579160442677116131016106626270447346231248815717918323264882002033456131073807547023025308413964758532956112997847 41910192242268230459890619626569610789851044845476630829252685755024257883583861613472905250041542842273434889304101806113949058203256307554992350611572990229587987770028058161071482106269938337417074660809655213612477694789111458391229170812109698443747394763318539671951273517387839697773957075803309259418259348088681180183885565314571151277218716873851578362724618055545407599234487380585747190242894652430349823142254749486188915732346416000494952452885958786487112286388364417527565773529736482377335586843180263521112562950648940887970300892095920827805496099836102971166596162455815783848527665314960242765464025577750248884554447440553790051768536483572255121865552931567242995023605489647598952384108827541172128792289449979144647619038587995883262502472960652427443557495343148868026562506407437804984571885788285715032884534192074864667554631247230185673290546951956268840379737831055635077906875287360834597754285148817592745612971896420224564297114046959157066546234959703473953977136907204146212705394384914859068950550913679888036397757238847723797689067748878657612705690516893056341549689931606869164854525713824008428464132775286843416426322357160467362082320991682162266609204469212535125747786164335138379415246381261596459392292955727569987556859647921647698028670763717235509093567483377009633023215437999472984641654285757718104308114186190819584547124757702638194984787471705223449205737912406393710414024150722296591251424652847905564096307959078700222955044565074455583432837344466453409599502329815771469774017498316137756269974928632891892076748803458350013785565972570644392115316839965996109927854891266721496142456126743943939378986180518120659295620018523212062518461628794723161792401803904204421913017358094434929764843027848384016899775488002363099705256159295634877476575640736001861010780921582433212392186410889878369068578373810009485479059276853702017076497657014136081465034663066791263576324274908733742477356357423260672760840729396688606651918382731111319615915085416809557320622478389793191581768036056569365692401369335256664349936605178638241500249446281216289311664949913621953313017225872954403120520667245339651219764984201129238201850023876486314144017414220864138957321961566783245117698354998243093594159946949969035833357789656926427073078297057373277283803937409736491426635872582087963682906603226102768447697689740916146060453835965815977866787812148410057872774337787183522181058715046964936915087003518985763534780100418925206231283366717101172425592308251782659164553976474022064356942906607386134722075819175353209871263015361247196868686345254230861860397380800745892755464699016003401855842889810828661107660578672667881114275542493901243672965516475883534099124582037583191177021687400503125805275038869708772052522527987792973840636133681645204446368778673842717611123931510107673203292523864620598283428142871648060685358787707035489464003104179487980251304224082528713309234432595815196 67812115523032164346460680732619126460733396711472569730952901226899957987524675682637310683565254936318644143871350145665728729097342041441858747561218492759137258703470135596959797264626503449860903943049006452152026778018467859820232996352258330051648793722465671878289061714550397143710896225798646927356212919512790843738344289935692629870603805475695836010148672179627305882627938418062729514956035149216899412979107450631139494941721929827637130390089456388361295646845992329938731268176744261433227028293455649443814029807087126054668411002147952754324633684523228869152175222721610177774967412940778608944098092483184855371239013180794204819075385449116185058589878088605191262848704240106681242036678707503702764789201098568416872016127652415561263990199435425490803720031186295181748560428618253088568995735692850592285228728092836331834802674027005360181910551463082847337104861719370557966167613555511239361708444404052907782867269859648576249431834961805898057396366659831506031816447164864791996678078241994724490689065291562780911258120245757924203967442384177765016166544138147747657574073389519461231280848223379750008915446110541361982311121825635595998850817746844562891492052073354987299270851704196371156517526040853064888648996362366858075023775125797747080692191065715618530081411115186303025375502843174754317775868711157680328171059712231609235581906032693902207855068172944045319190424067939262262454158341653539039634313358272098566427621669700260258616239519902097609058027430384247488895597125907801456963946252255422001053588908309795340608163607999794009991323864314994262723255682947361529266409333209169927408132523650275714098576875091011183678922093200404397600972573967138584587836775637846474017816046950899740269796987996977854182553606127191797182282488175009517180647104308189934192908698826105206273840147495241369874985274419600447711794332058325299123375838607012566157218370512615055243045248199447248581320223974608955806179839671622168918009013705861778521831720025018292232622321097717320040320174729368239024535617854412447022603817238599660845812549860959685758400676484497557117204468953807350464392375659514466268083616453047286524754426460819309651416859124437459736216174857207360709894475493067098653609223020643469829408503852150958469434308761842841735610518516955600552187779695722337351962927256379589965156268239916350422579152088807850128502151554457119917425136089849853281969786062647820183939937079676686793596922001880196274069246535173639631377286974724236096921678394429831531701917419101831065821433665268159841800866093339712451302436828887998181208610976581074929102978951269931201460580881271048676200744599828911383463008382241014397589622754329338939061645294588408813470536386566462258458566596759210827563965816290234600023640976348910914149994102270939002994715935686833645969639995636704909698590217879309501076706030300371466036560310561787798327249390942678067767388708813043 109722307765300394806351300359188737250584441556949200560205586981924215871108537296110215933606797778592079033175451951779677787300598348996851098172791482988725246473498193758031279370896441787277978603858661665764504472807579318211462167164368028495396188485784211550240335231938236841484853301601956186774472267601472023922229855250263781147822522349547414372873290235172713481862425798648476705198929801647249236121362200117328410674068345828132082842975415174848407933234356747466297041706480743810562615136635912964926592757736066942638711894243873582130129784359331840318771385177425961623495078255738851709562118060935104255793460621347994870843921932688440180455431020172434257872309729754280194420787535044874893581490548547561519635166240411444526492672396077918247277526529444049775122935025690893553567621481136307318113262284911196502357305274235545855201098415039116177484599550426193044074488842872073959462729552870500528480241756068800813728949008765055123942601619534979985793584072068938209383472626909583559639616205242668947655877484605648001656510133056422628872234655040803999123763321126330396135373937203758437379578885828205398737444182796063360933138738526725158101256542567522425018637868531509535932772422114661348041289318094428062580634773719394778720861829432854039174978598563312658398718281174227302417522996915398432479173898422428820129030790396540402839855644649268768396161980345655972868182492375835630885738011120004130523929628778960481571284084976553192490864774850700898495099455723572926737963750571559757323563836942687232684912411458144023776889836885638654838572522913357639194264224475891423550588650394219653477563055609131842974542111723616460119434202761861746380238579542050895930833405045334670034640015845361871082329094129554896887538647470644394657222745044191795203689620408538418666026558385119738943563648229609933190853608912027316199873495621148647622253033579406318819369523108180991058676581397869628567020569068310775569927396436973098137746805441827849553244799487510511622088210785937604716936987189669111372540422417237902346061996142175975070065626398119510430221694826761753584913042904854117487848600654176524726604450337305623795434273345301598693538136423990605827592830491310192247769169970612505662766293509077385542512605819216119019414455926692091978823652277810301034869530482482358412853957980832496483032988054623827995289963702867177790199473877033375463028501109612757099026940598662450328377022420805402505352613252274812056969595226506895261475654868451895888644824026487965787897252840621369713063881454586909319988782083118860041605991777326967684567677967273333057303470692099709783861323272496792497738550876142258070555139230212873038186227332171599990492223787069588063733605466467982880086493804083208440659774657994115360518772776113656614118647445794506849262163860257303193126733089527370186435493737335860930039664490049768049631473473471391377001821304628239 177534423288332559152811981091807863711317838268421770291158488208824173858633212978747526617172052714910723177046802097445406516397940390438709845734009975747862505176968329354991076635522945237138882546907668117916531250826047178031695163516626358547044982208249883428529396946488633985195749527400603114130685187114262867660574145185956411018426327825243250383021962414800019364490364216711206220154964950864148649100469650748467905615790275655769213233064871563209703580080349077405028309883225005243789643430091562408740622564823192997307122896391826336454763468882560709470946607899036139398462491196517460653660210544119959627032473802142199689919307381804625239045309108777625520721013969860961436457466242548577658370691647115978391651293892827005790482871831503409050997557715739231523683363643943982122563357173986899603341990377747528337159979301240906037111649878121963514589461269796751010242102398383313321171173956923408311347511615717377063160783970570953181338968279366486017610031236933730206061550868904308050328681496805449858913997730363572205623952517234187645038778793188551656697836710645791627416222160583508446295024996369567381048566008431659359783956485371288049593308615922509724289489572727880692450298462967726236690285680461286137604409899517141859413052895148472569256389713749615683774221124348981620193391708073078760650233610654038055710936823090442610694923817593314087586586048284918235322340834029374670520051369392102696951551298479220740187523604878650801548892205234948387390696581631374383701910002826981758377152745252482573293076019457938033768213701200632917561828205860719168460673557685061350958721174044495367576139930700143026653464204924020857720406776729000330968075355179897369948649451996234410304437003842339725264882700256746694069821135645653911837869849352381729396598319234643624939866705880361108818548922649210380902647940970352615323249334228161213779471404092021374062414771307628239639996805372478584373200408739932944487936410142834876659578525466846141785867120585227831662408385515305843741472605044081558395144239655837563191874546003135660828466302882617067547426163780569104049305418564368583755932217107223811251358876798124933446851132469739058429754311281197966537487305984377290901378392991255975492174797361228344011946914581058960755024974443647692531011431973532638386832457738861948378010226220748846905612140143431678123792115257324297707624609966883228744998287172260577282966877678339137121973944422685598779421859787448451688346882201231131358397333262881727420346741445589796853718686505889529554864747547926621771291218912006858222814602753908042613670656918543264258764051573370758460062067872325703881201559258383272468144761984542211977247872626760008803962760173636050322192172063227193707650459620373443040683415634343026274668766878384595617113363381481340495231803855894008102825323307406679687512199767636232396076224800611555847958722864414069444769210013441282 287256731053632953959163281450996600961902279825370970851364075190748389729741750274857742550778850493502802210222254049225084303698538739435560943906801458736587751650466523113022356006419387024416861150766329783681035723633626496243157330680994387042441170694034094978769732178426870826680602829002559300905157454715734891582804000436220192166248850174790664755895252649972732846352790015359682925353894752511397885221831850865796316289858621483901296076040286738058111513314705824871325351589705749054352258566727475373667215322559259939945834790635699918584893253241892549789717993076462101021957569452256312363222328605055063882825934423490194560763229314493065419500740128950059778593323699615241630878253777593452551952182195663539911286460133238450316975544227581327298275084245183281298806298669634875676130978655123206921455252662658724839517284575476451892312748293161079692074060820222944054316591241255387280633903509793908839827753371786177876889732979336008305281569898901466003403615309002668415445023495813891609968297702048118806569875214969220207280462650290610273911013448229355655821600031772122023551596097787266883674603882197772779786010191227722720717095223898013207694565158490032149308127441259390228383070885082387584731574998555714200185044673236536638133914724581326608431368312312928342172939405523208922610914704988477193129407509076466875839967613486983013534779462242582855982748028630574208190523326405210301405789380512106827475480927258181221758807689855203994039756980085649285885796037354947310439873753398541515700716582195169805977988430916082057545103538086271572400400728774076807654937782160952774509309824438715021053702986309274869628006316647637317839840979490862077348313934721948265879482857041569080339077019687701596347211794386301590957359783116298306495092594396573524600287939643182043605893264265480847762112570878820314093501549882379931523122829849309861401724437671427692881784294415809230698673386770348212940220977808243720057863806579807974797325330908673991339111920072738343284496596301243448458409592233750669767684662073075465537936542145311635898531929280736577977647858607330857634218461469222701243780817761400335977963327135430557242285405815040657123292447705188572365080136475687483149147562961868481154941090870305729554459520400275079774439430370339784509835084251342939421701988221344306790864184201581343388645128198055506119082078960191475497824083843916604208026788281873334381993818277001587450350966843491001284774473039723263745316477427738026619872988131333623308991565472077762641615939346510899267928629002513531091280000995125718264420594531235010298238334885816597316067522265470468243923391144822496378940110134525530538699901214755085015434099958931608794454983960705638385925777529695176587736953424456651481343190292337141635187539654498252231232010827275847344493967716151311295952056396934049873947693504972093326115889290661323897590196337885460821771031318069521 464791154341965513111975262542804464673220118093792741142522563399572563588374963253605269167950903208413525387269056146670490820096479129874270789640811434484450256827434852468013432641942332261555743697673997901597566974459673674274852494197620745589486152902283978407299129124915504811876352356403162415035842641829997759243378145622176603184675178000033915138917215064772752210843154232070889145508859703375546534322301501614264221905648897139670509309105158301267815093395054902276353661472930754298141901996819037782407837887382452937252957687027526255039656722124453259260664600975498240420420060648773773016882539149175023509858408225632394250682536696297690658546049237727685299314337669476203067335720020142030210322873842779518302937754026065456107458416059084736349272641960922512822489662313578857798694335829110106524797243040406253176677263876717357929424398171283043206663522090019695064558693639638700601805077466717317151175264987503554940050516949906961486620538178267952021013646545936398621506574364718199660296979198853568665483872945332792412904415167524797918949792241417907312519436742417913650967818258370775329969628878567340160834576199659382080501051709269301257287873774412541873597617013987270920833369348050113821421860679017000337789454572753678497546967619729799177687758026062544025947160529872190542804306413061555953779641119730504931550904436577425624229703279835896943569334076915492443512864160434584971925840749904209524427032225737401961946331294733854795588649185320597673276492618986321694141783756225523274077869327447652379271064450374020091313317239286904489962228934634795976115611339846014125468030998483210388629842917009417896281470521571658175560247756219862408316389289901845635828132309037803490643514023530041321612094494643048285027180918761952218332962443748955253996886258877825668545759970145841956580661493528030694996149490852732546846372164077471075181195841763449066944199065723437470338670192142826797313421386548176664545800216722642851456903856375520133124979040657966174946904981816549292199882197277832228162828901728913028729811088148447296726998232163353645525074022387899961683523880033591284999713034868624147229322203933555490689136538284779715553046758986386538902567442460064774050525955953124456647115888231534073566406434981334040529464404813987477040846516224875577808534445960206255168874410422330190294257268341487184242874194217515773205448693810799832953025075454133911664960695955340724572324911266176600064196332827171715433663359628969157978270321394215350729338306917667559495334625852400428822793376550440152862571219907132576487235197285143052911908991804359861574831573838841226703985459017148200260141669392908803006844663199297296992681972585691617598417744134341688708117949592922370295387413044830094522026605926680167909856306532882847848345374208757187839725771572045319398777379704340729561459893272608325722192114091272879745548919202299530266540241331510803 752047885395598467071138543993801065635122397919163711993886638590320953318116713528463011718729753701916327597491310195895575123795017869309831733547612893221038008477901375581035788648361719285972604848440327685278602698093300170518009824878615132631927323596318073386068861303342375638556955185405721715941000096545732650826182146058396795350924028174824579894812467714745485057195944247430572070862754455886944419544133352480060538195507518623571805385145445039325926606709760727147679013062636503352494160563546513156075053209941712877198792477663226173624549975366345809050382594051960341442377630101030085380104867754230087392684342649122588811445766010790756078046789366677745077907661369091444698213973797735482762275056038443058214224214159303906424433960286666063647547726206105794121295960983213733474825314484233313446252495703064978016194548452193809821737146464444122898737582910242639118875284880894087882438980976511225991003018359289732816940249929242969791902108077169418024417261854939067036951597860532091270265276900901687472053748160302012620184877817815408192860805689647262968341036774190035674519414356158042213644232760765112940620586390887104801218146933167314464982438932902574022905744455246661149216440233132501406153435677572714537974499245990215135680882344311125786119126338375472368120099935395399465415221118050033146909048628806971807390872050064408637764482742078479799552082105546066651703387486839795273331630130416316351902513152995583183705138984589058789628406165406246959162288656341269004581657509624064789778585909642822185249052881290102148858420777373176062362629663408872783770549122006966899977340822921925409683545903318692765909476838219295493400088735710724485664703224623793901707615166079372570982591043217742917959306289029349875984540701878250524828055038145528778597174198521007712151653234411322804342774064406851009089651040735112478369494993926780936582920279434876759825983360139246701037343578913175010253642364356420384603664023302450826254229187284194124464090960730704518231401578117792740658291789511582897930513563801988494267747630293758932625530161444090223502721880995230819317742341502813986243493852630024483207285531068986047931421944099820372676339206691575111267647578935752257199673518914992937802056979101839803120865955381609120303903835184327261550681600476218517230236434181550561959738594623911533682902396539542690361956273177707248703272777654716437161051863736007246046954514232342312022675878109667601348970805866894979178979837056707184598143309525548974038329872389745322136950565198911328090722005552953683953851220902258294751655791816378063210147326690176458890899096104311694947908850161970696639081779527434333545544564414052382008116072544623226392872728095047327094043727122617546883124366469286746003369796219017309545043846187381100079577385036033035184219739288196630694729436101274779435407586777580419048308003381934203643139115540184991088311272649580324 1216839039737563980183113806536605530308342516012956453136409201989893516906491676782068280886680656910329852984760366342566065943891496999184102523188424327705488265305336228049049221290304051547528348546114325586876169672552973844792862319076235878221413476498602051793367990428257880450433307541808884130976842738375730410069560291680573398535599206174858495033729682779518237268039098479501461216371614159262490953866434854094324760101156415763242314694250603340593741700104815629424032674535567257650636062560365550938482891097324165814451750164690752428664206697490799068311047195027458581862797690749803858396987406903405110902542750874754983062128302707088446736592838604405430377221999038567647765549693817877512972597929881222576517161968185369362531892376345750799996820368167028306943785623296792591273519650313343419971049738743471231192871812328911167751161544635727166105401105000262334183433978520532788484244058443228543142178283346793287756990766879149931278522646255437370045430908400875465658458172225250290930562256099755256137537621105634805033089292985340206111810597931065170280860473516607949325487232614528817543613861639332453101455162590546486881719198642436615722270312707315115896503361469233932070049809581182615227575296356589714875763953818743893633227849964040924963806884364438016394067260465267590008219527531111589100688689748537476738941776486641834261994186021914376743121416182461559095216251647274380245257470880320525876329545378732985145651470279322913585217055350726844632438781275327590698723441265849588063856455237090474564520117331664122240171738016660080552324858598043668759886160461852981025445371821405135798313388820328110662190947359790953668960336491930586893981092514525639537535747475117176061626105066747784239571400783672398161011721620640202743161017481894484032594060457398833380697413204557164760923435557934881704085800531587845025215867158004252011764116121198325826770182425862684171376013771056001807567063750904597049149464240025093677711133043659714257589070001388670693178306559934342032858173986789415126093342465530901522997558718442206229352528393607443869027795903383130781001266221536405271243206887498648630436607735002541538620558482384600088229385965677961650170215021395817031250199474868117394449172867333373876687272390362943160833368239998314738591528116701094095038770880141756817128613005046241723977159664881029874604830467395223021908721471465516270114076939190141157711915210187683036595000789375844201413167138694066694612643196685676342576413630919764324767668179307412881632285191051311756913515382103393836816422440809390871238890989101521116122056318494536320465730669943152921651894309179118896899223448920343136552389227613349679000798045130314843991290472229389015802161676715539917178511779514116840525396402145697477454900152720263947927922759244790223023945510860241950093506815805615508996867480050188744770500117473207083388688034742484521354851513981091127 1968886925133162447254252350530406595943464913932120165130295840580214470224608390310531292605410410612246180582251676538461641067686514868493934256736037220926526273783237603630085009938665770833500953394554653272154772370646274015310872143954851010853340800094920125179436851731600256088990262727214605846917842834921463060895742437738970193886523234349683074928542150494263722325235042726932033287234368615149435373410568206574385298296663934386814120079396048379919668306814576356571711687598203761003130223123912064094557944307265878691650542642353978602288756672857144877361429789079418923305175320850833943777092274657635198295227093523877571873574068717879202814639627971083175455129660407659092463763667615612995734872985919665634731386182344673268956326336632416863644368094373134101065081584280006324748344964797576733417302234446536209209066360781104977572898691100171289004138687910504973302309263401426876366683039419739769133181301706083020573931016808392901070424754332606788069848170255814532695409770085782382200827533000656943609591369265936817653274170803155614304671403620712433249201510290797985000006646970686859757258094400097566042075748981433591682937345575603930187252751640217689919409105924480593219266249814315116633728732034162429413738453064734108768908732308352050749926010702813488762187360400662989473634748649161622247597738377344448546332648536706242899758668763992856542673498288007625746919639134114175518589101010736842228232058531728568329356609263911972374845461516133091591601069931668859703305098775473652853635041146733296749769170212954224389030158794033256614687488261452541543656709583859947925422712644327061207996934723646803428100424198010249162360425227641311379645795739149433439243362641196548632608696109965527157530707072701748036996262322518453267989072520040012811191234655919841092849066438968487565266209622341732713175451572322957503585362151931032948347036400633202586596165786001930872413357349969176817820706115261017433753128263327544503965362230943908382053160962119375211409708138052134773516465776300998024023856029332890017265306348735965161978058555051534092530517784378361600319008563039219257486700740128673113643893266071527586551980426484420460905725172369536761437862600331569288449872993783110332251229846435213679808138345744552281137272075182642000142209717177312612269007314323307379088351599670153257660062061420572564966786740572930270611994249120232707275128802926148403758869724420025348617676667485511802762137944560961673791623033742383527174556940445313298805998051697158203769235756250223085004237387656347520770273661711649165990546780917899179332203645184712779356629766047464616599803159341089593538305228447777470097933792027402061008914117674938070384163200324436342896205403838157464061636145983403586528766198364714786999943998907645048007500144280823258208165250148438580788236251906890288432275066827769163818808120855141287031827150282669512443162786630671451 3185725964870726427437366157067012126251807429945076618266705042570107987131100067092599573492091067522576033567012042881027707011578011867678036779924461548632014539088573831679134231228969822381029301940668978859030942043199247860103734463031086889074754276593522176972804842159858136539423570269023489977894685573297193470965302729419543592422122440524541569962271833273781959593274141206433494503605982774411926327277003060668710058397820350150056434773646651720513410006919391985995744362133771018653766285684277615033040835404590044506102292807044731030952963370347943945672476984106877505167973011600637802174079681561040309197769844398632554935702371424967649551232466575488605832351659446226740229313361433490508707470915800888211248548150530042631488218712978167663641188462540162408008867207576798916021864615110920153388351973190007440401938173110016145324060235735898455109539792910767307485743241921959664850927097862968312275359585052876308330921783687542832348947400588044158115279078656689998353867942311032673131389789100412199747128990371571622686363463788495820416482001551777603530061983807405934325493879585215677300871956039430019143530911571980078564656544218040545909523064347532805815912467393714525289316059395497731861304028390752144289502406883478002402136582272392975713732895067251505156254620865930579481854276180273211348286428125881925285274425023348077161752854785907233285794914470469184842135890781388555763846571891057368104561603910461553475008079543234885960062516866859936224039851206996450402028540041323240917491496383823771314289287544618346629201896810693337167012346859496210303542870045712928950868084465732197006310323543974914090291371557801202831320761719571898273626888253675072976779110116313724694234801176713311397102107856374146198007983943158656011150090001934496843785295113318674473546479643525652326189645180276614417261252103910802528801229309935284960111152521831528413366348211864615043789371121025178625387769866165614482902592503352638181676495274603622639642230963508045904588014697986476806374639763090413150117198494863791540262865067178171391330586948658977961558313687761492381320274784575624528729907627627321744080501001074069125172538908869020549135111138047498411608077621727386319700072468651227726700402713768587556495410736107495441970640315180956738733737833878406707307778194465064196216964604716394981637221726301602439571617207968153292520715720585748977389205742116289561470784934607708385212677456861356004175305083255028368404266230428059869750970571365077623573666231004571085401520947301534841917752769759741357586696102521040037229437770019420295454259963679249099822360435990617538251697468520208490437528677368120606650323019640751740009712162805252914375453672553825358698367080553697381240147925497520427054162600510412264454844151627908995935422903525613481232110761008680530881743067712505797429142546877957908589308238328348370420515185025154033798014300611762578 5154612890003888874691618507597418722195272343877196783397000883150322457355708457403130866097501478134822214149263719419489348079264526736171971036660498769558540812871811435309219241167635593214530255335223632131185714413845521875414606606985937899928095076688442302152241693891458392628413832996238095824812528408218656531861045167158513786308645674874224644890813983768045681918509183933365527790840351389561361700687571267243095356694484284536870554853042700100433078313733968342567456049731974779656896508808189679127598779711855923197752835449398709633241720043205088823033906773186296428473148332451471745951171956218675507492996937922510126809276440142846852365872094546571781287481319853885832693077029049103504442343901720553845979934332874715900444545049610584527285556556913296509073948791856805240770209579908496886805654207636543649611004533891121122896958926836069744113678480821272280788052505323386541217610137282708081408540886758959328904852800495935733419372154920650946185127248912504531049277712396815055332217322101069143356720359637508440339637634591651434721153405172490036779263494098203919325500526555902537058130050439527585185606660553413670247593889793644476096775815987750495735321573318195118508582309209812848495032760424914573703240859948212111171045314580745026463658905770064993918441981266593568955489024829434833595884166503226373831607073560054320061511523549900089828468412758476810589055529915502731282435672901794210332793662442190121804364688807146858334907978382993027815640921138665310105333638816796893771126537530557068064058457757572571018232055604726593781699835120948751847199579629572876876290797110059258214307258267621717518391795755811451993681186947213209653272683992824506416022472757510273326843497286678838554632814929075894235004246265677109279139162521974509654976529769238515566395546082494139891455854802618347130436703676233760032386591461866317908458188922464730999962513997866545916202728470994355443208475981426631916655720766680182685641857505547531021695391925627421115997722836038611579891105539391411174141054524196681557528171415914136553308645503710512054088831472139853981639283347614843786216608367755994857724394267145596711724519335353441010040836310417035173045940222058955608149945462434338058951632560203801236303549081852047723107912390363598738875947551055719319576785508788371575305316204386548239297283787722175004538403948541083563132709969705981684664334545042437965229654659027733733830354124346867806937443027815990042195889264170443396925527511810390922379664282701729289170756703551757926921990157416088878356969764232689203219984550937319474786463608863961879178990202038082154851500627861298083975833905815898076748256811668153801018626280480190984759616872878261701594572484391854845301784071480924013582928798875127051454788150535554043942923047806436739440276011157119111669979319619396085861417613705727072408116359183489657452342335307823546241177087242434029 8340338854874615302128984664664430848447079773822273401663705925720430444486808524495730439589592545657398247716275762300517055090842538603850007816584960318190555351960385266988353472396605415595559557275892610990216656457044769735518341070017024789002849353281964479125046536051316529167837403265261585802707213981515850002826347896578057378730768115398766214853085817041827641511783325139799022294446334163973288027964574327911805415092304634686926989626689351820946488320653360328563200411865745798310662794492467294160639615116445967703855128256443440664194683413553032768706383757293173933641121344052109548125251637779715816690766782321142681744978811567814501917104561122060387119832979300112572922390390482594013149814817521442057228482483404758531932763762588752190926745019453458917082815999433604156792074195019417040194006180826551090012942707001137268221019162571968199223218273732039588273795747245346206068537235145676393683900471811835637235774584183478565768319555508695104300406327569194529403145654707847728463607111201481343103849350009080063026001098380147255137635406724267640309325477905609853650994406141118214359002006478957604329137572125393748812250434011685022006298880335283301551234040711909643797898368605310580356336788815666717992743266831690113573181896853138002177391800837316499074696602132524148437343301009708044944170594629108299116881498583402397223264378335807323114263327228945995431191420696891287046282244792851578437355266352651675279372768350381744294970495249852964039680772345661760507362178858120134688618033914380839378347745302190917647433952415419930948712181980444962150742449675285805827158881575791455220617581811596631608683167313612654825001948666785107926899572246499579392801582873823998021078298463392149951734922785450040433012230208835765290289252523909006498761824882557190039942025726019792217645499982894961547697955780144562561187820771801602868569341444296259413328862209731160959992099592019534068596245847592246399558313270032820867318352780151153661337622889135467020585737534025088386265745302481824324258253019060473097791036483092307944639232452369490015647145159901346362959558132190468314946515995383316601804895268219665836897058244222461559175947448464533584654017843786341927850017931085565785652035273972388792798959817959543165078552705544555477609685384934126026884563703253435771522280809102943220934505514023777444110021156509236855653425690291730662053540287158727526700439593635442119043031581208223811112748111071018410600155494598503266676498083175468545953330513706300374572277650853292768839742927175830235943665866753729240449422320956739770240723572543210979001350638028699693103198096381506574413362583184018683398579831308905541028338443285443899135070545432087060292939564945552226541931996978444440637091399385539315909632302163463039878345951332050220672386772165799642551722387331901883290560160583684980997424597511838027872857520332977580039191387854196607 13494951744878504176820603172261849570642352117699470185060706808870752901842516981898861305687094023792220461865539481720006403170107065340021978853245459087749096164832196702297572713564241008810089812611116243121402370870890291610932947677002962688930944429970406781277288229942774921796251236261499681627519742389734506534687393063736571165039413790272990859743899800809873323430292509073164550085286685553534649728652145595154900771786788919223797544479732051921379566634387328671130656461597720577967559303300656973288238394828301890901607963705842150297436403456758121591740290530479470362114269676503581294076423593998391324183763720243652808554255251710661354282976655668632168407314299153998405615467419531697517592158719241995903208416816279474432377308812199336718212301576366755426156764791290409397562283774927913926999660388463094739623947240892258391117978089408037943336896754553311869061848252568732747286147372428384475092441358570794966140627384679414299187691710429346050485533576481699060452423367104662783795824433302550486460569709646588503365638732971798689858788811896757677088588972003813772976494932697020751417132056918485189514744232678807419059844323805329498103074696323033797286555614030104762306480677815123428851369549240581291695984126779902224744227211433883028641050706607381492993138583399117717392832325839142878540054761132334672948488572143456717284775901885707412942731739987422806020246950612394018328717917694645788770148928794841797083737457157528602629878473632845991855321693484327070612695817674917028459744571444937907442406203059763488665666008020146524730412017101393713997942029304858682703449678685850713434924840079218349127074963069424106818683135613998317580172256239324085808824055631334271347921795750070988506367737714525934668016476474512874569428415045883516153738354651795705606337571808513932109101354785513308678134659456378322593574412233667920777027530366760990413291376207597706876194828063013889511804721829018878316214034036713003552960210285698684683033014814762888136583460370063699966156850841873235498399307543257154655319207899006444497947877956080002069735976632041200344598841479805312101163124363139311459529289535365262548621577579575902569216783758881568757699958065845297535999963393519903844603667834176190029102508899811590888186465095908154216485632935989845346461349212041807346827597013489491460231789301745952448648425105050320418786135659997712346717874832201165491930094252663175852873385705555091618050191138887008452796044758768946663602025594985859468332994796408029663743034354405050695761733084591919114300635630986418443669406871894059245027187181407172858180340840066781847954698724242804658389196488999916760146836642977059342046964723765634883894687418310348761887512049337407071843716068459368454220020198260666367364420452699017083821268999138486960112662783322918754221701706951297969151977774289412053405540956695327685325199855640801126280368475096630636 21835290599753119478949587836926280419089431891521743586724412734591183346329325506394591745276686569449618709581815244020523458260949603943871986669830419405939651516792581969285926185960846424405649369887008854111619027327935061346451288747019987477933793783252371260402334765994091450964088639526761267430226956371250356537513740960314628543770181905671757074596985617851700964942075834212963572379733019717507937756616719923066706186879093553910724534106421403742326054955040688999693856873463466376278222097793124267448878009944747858605463091962285590961631086870311154360446674287772644295755391020555690842201675231778107140874530502564795490299234063278475856200081216790692555527147278454110978537857810014291530741973536763437960436899299684232964310072574788088909139046595820214343239580790724013554354357969947330967193666569289645829636889947893395659338997251980006142560115028285351457335643999814078953354684607574060868776341830382630603376401968862892864956011265938041154785939904050893589855569021812510512259431544504031829564419059655668566391639831351945944996424218621025317397914449909423626627489338838138965776134063397442793843881804804201167872094757817014520109373576658317098837789654742014406104379046420434009207706338056248009688727393611592338317409108287021030818442507444697992067835185531641865830175626848850923484225355761442972065370070726859114508040280221514736056995067216368801451438371309285305375000162487497367207504195147493472363110225507910346924848968882698955895002465829988831120057996533037163148362605359318746820753948361954406313099960435566455679124199081838676148684478980144488530608560261642168655542421890814980735758130383036761643685084280783425507071828485823665201625638505158269369000094213463138458102660499975975101028706683348639859717667569792522652500179534352895646279597534533724326746854768408270225832615236522885154762233005469523645596871811057249826620238417328867836186927655033423580400967676611124715772347306745824420278563065849838344370637703898355157169197904088788352422596144355059822657560562317627753110244382098752442587110408449492085383121791942546707558399611995780416109640358522628061334184803584928385518635823798364128392731207346102342353975909631639463849981324605469630255703108148578821901468717771134053265017801452709694095318320923971373345912915295243118349877822592434681166294815769729892758446261559557274439561350289443008771415119359893018630533846298617971916417286763315429162939249958026863396200253367449930278523678161328014286325310114330038315312005258343464601476011767749350244301497740147684118829192850799015267910753950383837181691478095481541057896820624311232802559072183935443545416474285964883075303167051078783029757963742435822180451614282959298385648065437812894857111597646205683274052754862480123699614950470537180785049555488718396773424094283199852442537934873097034402965554207165713198057375973778706319559862950827243 35330242344631623655770191009188129989731784009221213771785119543461936248171842488293453050963780593241839171447354725740529861431056669283893965523075878493688747681624778671583498899525087433215739182498125097233021398198825352957384236424022950166864738213222778041679622995936866372760339875788260949057746698760984863072201134024051199708809595695944747934340885418661574288372368343286128122465019705271042587485268865518221606958665882473134522078586153455663705621589428017670824513335061186954245781401093781240737116404773049749507071055668127741259067490327069275952186964818252114657869660697059272136278098825776498465058294222808448298853489314989137210483057872459324723934461577608109384153325229545989048334132256005433863645316115963707396687381386987425627351348172186969769396345582014422951916641744875244894193326957752740569260837188785654050456975341388044085897011782838663326397492252382811700640831980002445343868783188953425569517029353542307164143702976367387205271473480532592650307992388917173296055255977806582316024988769302257069757278564323744634855213030517782994486503421913237399603984271535159717193266120315927983358626037483008586931939081622344018212448272981350896124345268772119168410859724235557438059075887296829301384711520391494563061636319720904059459493214052079485060973768930759583223007952687993802024280116893777645013858642870315831792816182107222148999726807203791607471685321921679323703718080182143155977653123942335269446847682665438949554727442515544947750324159314315901732753814207954191608107176804256654263160151421717894978765968455712980409536216183232390146626508285003171234058238947492882090467261970033329862833093452460868462368219894781743087244084725147751010449694136492540716921889963534126964470398214501909769045183157861514429146082615676038806238534186148601252617169343047656435848209553921578903967274692901207748336645239137444422624402177818240239911614624926574712381755718047313092205689505630003031986381343458827973238773351548523027403652518661243293752658274152488318579446986228295321056868105574782408429452281105196940534988364529494155119098423983747052157241091801092517272764721661939520863474338950190934140213403374266697609514966227671100053933975476936999849944718125373474859370942324768851003977617582724941451482897360863910580951256913816719807262127337050465177474836081926141398084117515682341406871366609877693225697010287155355489289951561058510560628098961793824789802992318407047213130388845035316192245012136396593880549273147187482619320106522359702058346359663394160363209096359668464544937128726566127788236064744858260295097935357556695362032318162263389012595544867115891191755561183852203692253117263024225122267890816713666924445382052784584067963663620366370229364133897181349077131795906872050638473207561497207520883949609024140897712338811637150995125801234497821594515709162509087808506510902493398523257231614579832599928338047457879 57165532944384743134719778846114410408821215900742957358509532278053119594501167994688044796240467162691457881029169969761053319692006273227765952192906297899628399198417360640869425085485933857621388552385133951344640425526760414303835525171042937644798531996475149302081957761930957823724428515315022216487973655132235219609714874984365828252579777601616505008937871036513275253314444177499091694844752724988550525241885585441288313145544976027045246612692574859406031676544468706670518370208524653330524003498886905508185994414717797608112534147630413332220698577197380430312633639106024758953625051717614962978479774057554605605932824725373243789152723378267613066683139089250017279461608856062220362691183039560280579076105792768871824082215415647940360997453961775514536490394768007184112635926372738436506270999714822575861386993527042386398897727136679049709795972593368050228457126811124014783733136252196890653995516587576506212645125019336056172893431322405200029099714242305428360057413384583486240163561410729683808314687522310614145589407828957925636148918395675690579851637249138808311884417871822661026231473610373298682969400183713370777202507842287209754804033839439358538321821849639667994962134923514133574515238770655991447266782225353077311073438914003086901379045428007925090277935721496777477128808954462401449053183579536844725508505472655220617079228713597174946300856462328736885056721874420160408923123693230964629078718242669640523185157319089828741809957908173349296479576411398243903645326625144304732852811810740991354756469782163575401083914099783672301291865928891279436088660415265071066295310987265147659764666799209135050746009683860848310598591223835497630106053304175565168594315913210971416212075332641650810085921984176997265422573058714477884870073889841210154288863750185468561458738713720501496898896766877581380762595064322329849129799889929424092903098878244606968068221273988875490066531853042255442548568683373080736672606657182241127747758728650204652393517336417398361371774290222559598450921856178241276671002043130583355143714428667892410161539696663203949383122098772978986240502220215926293759715640703796872933382405080184567582197659142535119319658849227172630826002246173573773442407909885108576463699926042730843105115074050473347672905446335353858994716500698813573604676269577837788093153175042632293583527352658674360822564378933285412234165317628169434967665258360576598364260705070920951529191161945260411796706220279081722476376069638803062179588445265503846524159072951308515496905645416636689740373658364921737624964685108127417814789238626466713811907065257595657275563008689307940532543723796257744930070492365491427123994314633367787647237669591548989108197571057867792449954203345795220406248415277903325668615012199334994243934243393553077733912525962423977331220498900079561321682761894300355547768549895517697674037053644035606122211472065109659111721314607588358538919488200998285122 92495775289016366790489969855302540398552999909964171130294651821515055842673010482981497847204247755933297052476524695501583181123062942511659917715982176393317146880042139312452923985011021290837127734883259048577661823725585767261219761595065887811663270209697927343761580757867824196484768391103283165545720353893220082681916009008417027961389373297561252943278756455174849541686812520785219817309772430259593112727154450959509920104210858500179768691278728315069737298133896724341342883543585840284769784899980686748923110819490847357619605203298541073479766067524449706264820603924276873611494712414674235114757872883331104070991118948181692088006212693256750277166196961709342003396070433670329746844508269106269627410238048774305687727531531611647757684835348762940163841742940194153882032271954752859458187641459697820755580320484795126968158564325464703760252947934756094314354138593962678110130628504579702354636348567578951556513908208289481742410460675947507193243417218672815565328886865116078890471553799646857104369943500117196461614396598260182705906196959999435214706850279656591306370921293735898425835457881908458400162666304029298760561133879770218341735972921061702556534270122621018891086480192286252742926098494891548885325858112649906612458150434394581464440681747728829149737428935548856962189782723393161032276191532224838527532785589548998262093087356467490778093672644435959034056448681623952016394809015152643952782436322851783679162810443032164011256805590838788246034303853913788851395650784458620634585565624948945546364576958967832055347074251205390196270631897346992416498196631448303456441937495550150830998725038156627932836476945830881640461424317287958498568421524070346911681559997936119167222525026778143350802843874140531392387043456928979794639119072999071668718009832801144600264977247906650098151513936220629037198443273876251428033767164622325300651435523483744412490845676166693730306443467667182017260950439091128049764812346687871130779745109993663480366756109768946884399177942741220841744674514452393764989581490116811650464771296773467192569969148944309146323657087137508480395621318639910040811872881795597965450655169801846507103061133481485310253799062630546897523611761139801444542461843860585513463549870760856216579974444992798116523909423952936583936167983596174437515257220834751604812960437169969344048704827494756286963962463050801094575572188994779312660890955370863753719749995022482010039751790044222205621496023271400129523589200027648097495780690277640243118039622224455702979524965523159049442432004724585131785327894204487086279334175755193279939695301322340515535858106624665497227905756114420008319083087910358543015186070194551639850929922708812013333319838948684506116878648727848004990316378941523692038844376333232175593011375189459949784550999169985474538741382849688585462580474233111992698763675696752195495631569353198115210019978576012152510244571839202938371519416539045743001 149661308233401109925209748701416950807374215810707128488804184099568175437174178477669542643444714918624754933505694665262636500815069215739425869908888474292945546078459499953322349070496955148458516287268392999922302249252346181565055286766108825456461802206173076645843538519798782020209196906418305382033694009025455302291630883992782856213969150899177757952216627491688124795001256698284311512154525155248143637969040036400798233249755834527225015303971303174475768974678365431011861253752110493615293788398867592257109105234208644965732139350928954405700464644721830136577454243030301632565119764132289198093237646940885709676923943673554935877158936071524363343849336050959359282857679289732550109535691308666550206486343841543177511809746947259588118682289310538454700332137708201337994668198327491295964458641174520396616967314011837513367056291462143753470048920528124144542811265405086692893863764756776593008631865155155457769159033227625537915303891998352707222343131460978243925386300249699565130635115210376540912684631022427810607203804427218108342055115355675125794558487528795399618255339165558559452066931492281757083132066487742669537763641722057428096540006760501061094856091972260686886048615115800386317441337265547540332592640338002983923531589348397668365819727175736754240015364657045634439318591677855562481329375111761683253041291062204218879172316070064665724394529106764695919113170556044112425317932708383608581861154565521424202347967762121992753066763499012137542513880265312032755040977409602925367438377435689936901121046741131407456430988350989062497562497826238271852586857046713374522737248482815298490763391837365762983582486629691729951060015541123456128674474828245912080275875911147090583434600359419794160888765858317528657809616515643457679509192962840281823006873582986613161723715961627151595050410703098210417961038338198581277163567054551749393554534401728351380559066950155569220372975320709437459809519122464208786437419003870112258527503838643868132760273446186345245770952232963780440195596370630635041660583533247395005608485725441359602731508845607513095706779185910487466636123538855836334571588522499394838384037574882031074685258792624020429573457911857719528349614007313375217984869753745694089927249796803587059685089519043271464196814870288290442930884484294988011119933490412589392906113612212601637632232180153430647786526841984086506809737506622948747628556213731440352084010700093402961568942951989482617418202243550481851999965269666451159675369135543144089642198695175764218476430610939795739182805663089506869410292579312614504094123414381659993751602366579936172811421115313973437760449479910677753249153580275849970139180384827919427498167592300361002441517410006552298566832852073643225396564794219427017707459388532567169836945618583013027518463525132409451869961881749768146784263236127412348246532225592269893169668622997233721332231450641121811621965886446791296910438904740044028123 242157083522417476715699718556719491205927215720671299619098835921083231279847188960651040490648962674558051985982219360764219681938132158251085787624870650686262692958501639265775273055507976439295644022151652048499964072977931948826275048361174713268125072415871003989605119277666606216693965297521588547579414362918675384973546893001199884175358524196739010895495383946862974336688069219069531329464297585507736750696194487360308153353966693027404783995250031489545506272812262155353204137295696333900063573298848279006032216053699492323351744554227495479180230712246279842842274846954578506176614476546963433207995519824216813747915062621736627965165148764781113621015533012668701286253749723402879856380199577772819833896581890317483199537278478871235876367124659301394864173880648395491876700470282244155422646282634218217372547634496632640335214855787608457230301868462880238857165403999049371003994393261356295363268213722734409325672941435915019657714352674300214415586548679651059490715187114815644021106669010023398017054574522545007068818201025478291047961312315674561009265337808451990924626260459294457877902389374190215483294732791771968298324775601827646438275979681562763651390362094881705777135095308086639060367435760439089217918498450652890535989739782792249830260408923465583389752793592594491401508374401248723513605566643986521780574076651753217141265403426532156502488201751200654953169619237668064441712741723536252534643590888373207881510778205154156764323569089850925788548184119225821606436628194061546002023943060638882447485623700099239511778062602194452693833129723585264269085053678161677979179185978365449321762116875522390916418963575522611591521439858411414627242896352316258991957435909083209750657125386197937511691609732458060050196659972572437474148312035839353491724883415787757761988693209533801693201924639318839455159481612074832705197334219174074694205969925212095793049912626322262950679418788376619477070469561555336836202231350557983389307248948637531613127029555955292130170130175705001281940270885083028806650165023364206656073257022214826795301477994551822242030436273047995947031744857495746375383461404294992803834692744683877581788319926105505739827256974488266425873225768453176662527331597606279603390799667564443276265063964036069580720724294241227026867052467891162448635190711247340997719074049382570981680937007648186934750489305034887601385309695617728060289447169102304105803760695115884971608694742033704823039698266821881981523554469694099257171149825820784332760238317400219921455955576462954788625237667814092001195620473517101590373457590136853273691297667902276688347279221938638934988355236025097761568236668186208513154366455022471067349097515009173015774837248955236804683711500801491230386881173160950709746303764865799345429956993772472977303014524302394926408703264599456732246843710360524340945295901289022088665300192350431836542251429217133964132210458285994235281958321279089771124 391818391755818586640909467258136442013301431531378428107903020020651406717021367438320583134093677593182806919487914026026856182753201373990511657533759124979208239036961139219097622126004931587754160309420045048422266322230278130391330335127283538724586874622044080635448657797465388236903162203939893929613108371944130687265177776993982740389327675095916768847712011438551099131689325917353842841618822740755880388665234523761106386603722527554629799299221334664021275247490627586365065391047806827515357361697715871263141321287908137289083883905156449884880695356968109979419729089984880138741734240679252631301233166765102523424839006295291563842324084836305476964864869063628060569111429013135429965915890886439370040382925731860660711347025426130823995049413969839849564506018356596829871368668609735451387104923808738613989514948508470153702271147249752210700350788991004383399976669404136063897858158018132888371900078877889867094831974663540557573018244672652921637929680140629303416101487364515209151741784220399938929739205544972817676022005452696399390016427671349686803823825337247390542881599624853017329969320866471972566426799279514637836088417323885074534815986442063824746246454067142392663183710423887025377808773025986629550511138788655874459521329131189918196080136099202337629768158249640125840826966079104285994934941755748205033615367713957436020437719496596822226882730857965350872282789793712176867030674431919861116504745453894632083858745967276149517390332588863063331062064384537854361477605603664471369462320496328819348606670441230646968209050953183515191395627549823536121671910724875052501916434461180747812525508712888153900001450205214341542581455399534870755917371180562171072233311820230300334091725745617731672580375590775588708006276488215895153657504998679635314731756998774370923712409171160953288252335342417049873120519950273413982360901273725824087760504326940447173608979576477832171052394109086056936879988684019545622639650354428095647834752787281399745887303002141637375941082408668781722135867255713663848310748556611601661681742747656186398032986840159335337737215458958483413667868396351582709955049926794387642218730319565908656473578718729526169400714886345985954222839775766551880512201351351973693318049464368030335950153483079341044917539164529517469797936952186150459755124201659930390625187661595172619313169187801617582537016147018974108195047202240676807918003382833744457887771395209287933177637694023187440457900510372363833523519739360550416846518961363928422402437012575984139932386187402750527808043330903598870605913052829716094467581004518513267442900034482212861158700337252612372748804715935775514817390248462058483293546839850390494847265107309534018216354658961789103250544352875134455783445967380377727453763153398366515266902612355486004821478049434804378278665146349224879031106946487936689191828126881291981834968815347665557874482879858255775754176344732785532192397226019133799247 633975475278236063356609185814855933219228647252049727727001855941734637996868556398971623624742640267740858905470133386791075864691333532241597445158629775665470931995462778484872895181512908027049804331571697096922230395208210079217605383488458251992711947037915084625053777075131994453597127501461482477192522734862806072238724669995182624564686199292655779743207395385414073468377395136423374171083120326263617139361429011121414539957689220582034583294471366153566781520302889741718269528343503161415420934996564150269173537341607629612435628459383945364060926069214389822262003936939458644918348717226216064509228686589319337172754068917028191807489233601086590585880402076296761855365178736538309822296090464212189874279507622178143910884303905002059871416538629141244428679899004992321748069138891979606809751206442956831362062583005102794037486003037360667930652657453884622257142073403185434901852551279489183735168292600624276420504916099455577230732597346953136053516228820280362906816674479330853172848453230423336946793780067517824744840206478174690437977739987024247813089163145699381467507860084147475207871710240662188049721532071286606134413192925712720973091966123626588397636816162024098440318805731973664438176208786425718768429637239308764995511068913982168026340545022667921019520951842234617242335340480353009508540508399734726814189444365710653161703122923128978729370932609166005825452409031380241308743416155456113651148336342267839965369524172430306281713901678713989119610248503763675967914233797726017371486263556967701796092294141329886479987113555377967885228757273408800390756964403036730481095620439546197134287625588410544816420413780736953134102895257946285383160267532878430064190747729313510084748851131815669184271985323233648758202936460788332627805817034518988806456640414562128685701102380694754981454259981735889328280001562348246687558235492899898781966474252152542966658892202800095121731812897462676413950458245574882458841881704986079037142001735918931359014332558096929506111212584373783004076138140796692654960913579975808317754999769871013193334464834711157579767651732006479360699613253847329085338511331089380446053423064249786238261898644835031909227971860834252380096065544219728543039532948958253296708849131932473612215217447115410625638263458770744496664989420077312908390314912907271388344261710977743600994106195449804517287505452053861709580356897858404868207450551936048563691532090325172904786332436056892263497598777194245815047074209054649674017668787184712755162675329976204061388341763865705316433280998717690871801533526346817684841038594655366541134197702384489549505979559191251307737159951960873276385626916648266996447913294872861562196362622318707033991191907917025907934255853676625686170327140541328437200066918264165860696859606127958982124492573737199304687368410948681611277950656848461030137124028170314070500269007698097394416734309075389739886386803018779767474355547298223570371 1025793867034054649997518653072992375232530078783428155834904875962386044713889923837292206758836317860923665824958047412817932047444534906232109102692388900644679171032423917703970517307517839614803964640991742145344496717438488209608935718615741790717298821659959165260502434872597382690500289705401376406805631106806936759503902446989165364954013874388572548590919406823965172600066721053777217012701943067019497528026663534882520926561411748136664382593692700817588056767793517328083334919391309988930778296694280021532314858629515766901519512364540395248941621426182499801681733026924338783660082957905468695810461853354421860597593075212319755649813318437392067550745271139924822424476607749673739788211981350651559914662433354038804622231329331132883866465952598981093993185917361589151619437807501715058196856130251695445351577531513572947739757150287112878631003446444889005657118742807321498799710709297622072107068371478514143515336890762996134803750842019606057691445908960909666322918161843846062324590237450823275876532985612490642420862211930871089827994167658373934616912988482946772010389459709000492537841031107134160616148331350801243970501610249597795507907952565690413143883270229166491103502516155860689815984981812412348318940776027964639455032398045172086222420681121870258649289110091874743083162306559457295503475450155482931847804812079668089182140842419725800956253663467131356697735198825092418175774090587375974767653081796162472049228270139706455799104234267577052450672312888301530329391839401390488740948584053296521144698964582560533448196164508561483076624384823232336512428875127911782983012054900726944946813134301298698716421863985951294676684350657481156139077638713440601136424059549543810418840576877433400856852360914009237466209212949004227781463322033198624121188397413336499609413511551855708269706595324152939201400521512621660669919136766625722869726978579092990140267871779277927292784207006548733350830446929594428081481532059414174684976754523200331104901635560238566882052294993042564726212005396510356503271662136587409979436742517527199591367451674870492917504867190964962774367481650198911795293561257883768088272153383815694894735477363564558078628686747180238334318905319986280423551734300310226990026898596300503948165370930194751670555802623300261966462926372263463368145439114567201778969449372572916220307275383251422099824521599072835817775404100099081676125453934769793021579303485534460837963970130080079703955499287566609648570593948415200090864187748548641177565112342552188201320727951268455844241324329621289742407446579176533779308619599173879808577097736866702410664679896443863680485964667896648791203017165110325479741460134723252057043627729628241052207546566878815011184800206551760141953773107921706164653830071662532375963762218483444986945970623172003682966033557297906490309057603336397719328952155051606052335237823045762952291217188933645515640563147751565299666752773317357369618 1659769342312290713354127838887848308451758726035477883561906731904120682710758480236263830383578958128664524730428180799609007912135868438473706547851018676310150103027886696188843412489030747641853768972563439242266727112646698288826541102104200042710010768697874249885556211947729377144097417206862858883998153841669742831742627116984347989518700073681228328334126802209379246068444116190200591183785063393283114667388092546003935466519100968718698965888164066971154838288096407069801604447734813150346199231690844171801488395971123396513955140823924340613002547495396889623943736963863797428578431675131684760319690539943741197770347144129347947457302552038478658136625673216221584279841786486212049610508071814863749788941940976216948533115633236134943737882491228122338421865816366581473367506946393694665006607336694652276713640114518675741777243153324473546561656103898773627914260816210506933701563260577111255842236664079138419935841806862451712034483439366559193744962137781190029229734836323176915497438690681246612823326765680008467165702418409045780265971907645398182430002151628646153477897319793147967745712741347796348665869863422087850104914803175310516480999918689317001541520086391190589543821321887834354254161190598838067087370413267273404450543466959154254248761226144538179668810061934109360325497647039810305012015958555217658661994256445378742343843965342854779685624596076297362523187607856472659484517506742832088418801418138430312014597794312136762080818135946291041570282561392065206297306073199116506112434847610264222940791258723890419928183278063939450961853142096641136903185839530948513464107675340273142081100759889709243532842277766688247810787245915427441522237906246319031200614807278857320503589428009249070041124346237242886224412149409792560409269139067717612927645037827898628295114613932550463251160855305888828529680523074969907357477372259525621651693452831245533106926763982078022414516019904011409764780905175169310540323413764400253722118756259119262463915968118335496388163507577416347730288143537307049158232575716563218297191742287398212784701916509581650497272518922971442135067094904046240880632072588973148534325576448065481132997376008399589987856658608014490714414970864206008966591267249268480286735747728232977560380588377310162296194066082071006463127915792340776276535754027474473167313711083550659821301381578701226617112027051126697527355760997957486544332904486705841585270835575859633742750302566136971967453098064760855463617668157469849764881856535733353932727787672528392262709069715134161160674605328338980614208980105523351464149658193829246349711295439251191960170659455635114988223124619857522067588644081758592476189373429596113619239990351946948086198738474795840919119056060228385828124100248463034601853896989926698236660621824611403969070463196909202987653401968246588101587008260184858749466076183221920122835506830743860346707951498009035255526949950770345067141108320615580939989 2685563209346345363351646491960840683684288804818906039396811607866506727424648404073556037142415275989588190555386228212426939959580403344705815650543407576954829274060310613892813929796548587256657733613555181387611223830085186498435476820719941833427309590357833415146058646820326759834597706912264235290803784948476679591246529563973513354472713948069800876925046209033344418668510837243977808196487006460302612195414756080886456393080512716855363348481856767788742895055889924397884939367126123139276977528385124193333803254600639163415474653188464735861944168921579389425625469990788136212238514633037153456130152393298163058367940219341667703107115870475870725687370944356146406704318394235885789398720053165515309703604374330255753155346962567267827604348443827103432415051733728170624986944753895409723203463466946347722065217646032248689517000303611586425192659550343662633571379559017828432501273969874733327949305035557652563451178697625447846838234281386165251436408046742099695552652998167022977822028928132069888699859751292499109586564630339916870093966075303772117046915140111592925488286779502148460283553772454930509282018194772889094075416413424908311988907871255007414685403356620357080647323838043695044070146172411250415406311189295238043905575865004326340471181907266408438318099172025984103408659953599267600515491408710700590509799068525046831525984807762580580641878259543428719220922806681565077660291597330208063186454499934592784063826064451843217879922370213868094020954874280366736626697912600506994853383431663560744085490223306450953376379442572500934038477526919873473415614714658860296447119730241000087027913894191007942249264141752639542487471596572908597661315544959759632337038866828401130922430004886682470897976707151252123690621362358796788190732461100916237048833435241235127904528125484406171520867450630041767731081044587591568027396509026151344521420431410338523247194635761355949707300226910560143115611352104763738621804945823814428407095510782319593568817603678574063270215802570458912456500148933817405661504237853150628276628484804925412376069368184452143414777386113936404909434576554245152675925633846856916622597729831881176027732853371964148066485345355194729048733876184192289390143001549578707276762646324533481508545959307504913966749868705371268429590842164604239644681193142041674946283160456123576041608656961952648716936548650199533345131165098056568220458358421475634606850139061394094580714272696217051671408597352327465112188262105885049855746044284281995110292900015080580464029797666402617004915929657960270356616426684699885243458277793003126158288393176117894370835339352078978668709089287754170858791661246868917955930833564319365676283618081575189138406285041674655930303856266780145970077873356384740766507727061589230612624384043094848956016433820081206670619435525544494591896065863521256468795028338273526175170744653789623298999168686942680771167513098521910366807861093932938309607 4345332551658636076705774330848688992136047530854383922958718339770627410135406884309819867525994234118252715285814409012035947871716271783179522198394426253264979377088197310081657342285579334898511502586118620629877950942731884787262017922824141876137320359055707665031614858768056136978695124119127094174801938790146422422989156680957861343991414021751029205259173011242723664736954953434178399380272069853585726862802848626890391859599613685574062314370020834759897733343986331467686543814860936289623176760075968365135291650571762559929429794012389076474946716416976279049569206954651933640816946308168838216449842933241904256138287363471015650564418422514349383823996617572367990984160180722097839009228124980379059492546315306472701688462595803402771342230935055225770836917550094752098354451700289104388210070803640999998778857760550924431294243456936059971754315654242436261485640375228335366202837230451844583791541699636790983387020504487899558872717720752724445181370184523289724782387834490199893319467618813316501523186516972507576752267048748962650359937982949170299476917291740239078966184099295296428029266513802726857947888058194976944180331216600218828469907789944324416226923443011547670191145159931529398324307363010088482493681602562511448356119331963480594719943133410946617986909233960093463734157600639077905527507367265918249171793324970425573869828773105435360327502855619726081744110414538037737144809104073040151605255918073023096078423858763979979960740506160159135591237435672431942924003985799623500965818279273824967026281482030341373304562720636440385000330669016514610318800554189808809911227405581273229109014654080717185782106419519327790298258842488336039183553451206078663537653674107258451426019432895931540939101053388495009915033511768589348600001600168633849976478473069133756199642739416956634772028305935930596260761567662561475384873881285676966173113884241584056354121399743433972121816246814571552880392257279933049162128359588214682129214267041438856032733571796909559658379310147875260186788292471124454819736813569713846573820227092323625160771284694033793912049905036907847044501671458291393556557706435830065156923306279946657160730229380363738054342003963209219763148847048398298356734268798847187563498394052766459068926547684815076262943934787442274892718757956945015921216947169516148113596871539674235862910038540653875334048575701326230872486926096014054764791262908181476192120974637253728323464575262354023638861695417088320575805930263354899620627900820015349043020687687608972726738867381536778165590534986299250970825406790223236707607935986832372507999688615369086331005998807714093656932213907611692926380305328627510432120206993915479295523608433522137224605023516470496849422912327008531798201973604847775368361624051515928849285005867706252925086897016990409658272837493791082693483074123706115218261104521495446298006251484533483645707120184951716026694463049292255433948969414548519249596 7030895761004981440057420822809529675820336335673289962355529947637134137560055288383375904668409510107840905841200637224462887831296675127885337848937833830219808651148507923974471272082127922155169236199673802017489174772817071285697494743544083709564629949413541080177673505588382896813292831031391329465605723738623102014235686244931374698464127969820830082184219220276068083405465790678156207576759076313888339058217604707776848252680126402429425662851877602548640628399876255865571483181987059428900154288461092558469094905172401723344904447200853812336890885338555668475194676945440069853055460941205991672579995326540067314506227582812683353671534292990220109511367561928514397688478574957983628407948178145894369196150689636728454843809558370670598946579378882329203251969283822922723341396454184514111413534270587347720844075406583173120811243760547646396946975204586098895057019934246163798704111200326577911740846735194443546838199202113347405710952002138889696617778231265389420335040832657222871141496546945386390223046268265006686338831679088879520453904058252942416523832431851832004454470878797444888312820286257657367229906252967866038255747630025127140458815661199331830912326799631904750838468997975224442394453535421338897899992791857749492261695196967806935191125040677355056305008405986077567142817554238345506042998775976618839681592393495472405395813580868015940969381115163154800965033221219602814805100701403248214791710418007615880142249923215823197840662876374027229612192309952798679550701898400130495819201710937385711111771705336792326680942163208941319038808195936388083734415268848669106358347135822273316136928548271725128031370561271967332785730439061244636844868996165838295874692540935659582348449437782614011837077760539747133605654874127386136790734061269550087025311908310368884104170864901362806292895756565972363991842612250153043412270390311828310694534315651922579601316035504789921829116473725131695996003609384696787783933305412029110536309777823758449601551175475483622928595112718334172643288441404941860481241051422864474850448711897249037536840652878485937326827291150844251953936248012536546232483340282686981779521036111827833188463082752327886120827349318403948811882723232590587746877270348425894840261040377299940577472506992319990229693803492813543322309600121549255565898140311557823059880031995797811904518695502606524050985124351525764217618091194070622985249621329657110798971113698647822904178847958571075310270292769415785687994192369239949476373945104297344153313587702689553190768665047939395170506464644259521327441833474923121951066213779835498666288081791486980701841338159793072325641303195365863785171966575496428388051040558234844971807226515097326363011308558145152779726768593788677768279846961232516134869351113105159461909389910801101881103330837071616328892273019335577285379139987227371687056132859768972473176996138323106944706288871894396797861976147814165800756830508481457559203 11376228312663617516763195153658218667956383866527673885314248287407761547695462172693195772194403744226093621127015046236498835703012946911064860047332260083484788028236705234056128614367707257053680738785792422647367125715548956072959512666368225585701950308469248745209288364356439033791987955150518423640407662528769524437224842925889236042455541991571859287443392231518791748142420744112334606957031146167474065921020453334667240112279740088003487977221898437308538361743862587333258026996847995718523331048537060923604386555744164283274334241213242888811837601755531947524763883900092003493872407249374829889029838259781971570644514946283699004235952715504569493335364179500882388672638755680081467417176303126273428688697004943201156532272154174073370288810313937554974088886833917674821695848154473618499623605074228347719622933167134097552105487217483706368701290858828535156542660309474499164906948430778422495532388434831234530225219706601246964583669722891614141799148415788679145117428667147422764460964165758702891746232785237514263091098727837842170813842041202112716000749723592071083420654978092741316342086800060384225177794311162842982436078846625345968928723451143656247139250242643452421029614157906753840718760898431427380393674394420260940617814528931287529911068174088301674291917639946171030876975154877423411570506143242537088853385718465897979265642353973451301296883970782880882709143635757640551949909805476288366396966336080638976220673781979803177801403382534186365203429745625230622474705884199753996785019990211210678138053187367133699985504883845381704039138864952902694053215823038477916269574541403546545245943202352442313813476980791295123083989281549580676028422447371916959412346215042918033774468870678545552776178813928242143520688385895975485390735661438183937001790381379502640303813604318319441064924062501902960252604179912714518797144271597505276867648199893506635955437435248223893950932720539703248876395866664629836946061665000243792665524044865197305634284747272393182586974422866209432830076733876066315300977864992578321424268938989572662697611937572519731238877196187752098998437919470827939789041046718517046936444342391774490349193312132691624175169353281613168575031570280988886103611539147273082403759434430066399646399054677135066492637738280255818215028358078494271487115087481073971173476903535472047767428734043260399385033700052851995090105017290084677750040884237838586991092088335901551227643423220925098949131988186504106263800122632594849097001845924312693196334275390298525917507532429476173336096999630558772298267240265146358658674149766667871174287770406856067032847336967507165982573517102977556711552271904123938820171247552150324267330834948619463587616332074615649629149680920797209566481820566080291503230975164621088311194395778507354806190227854062025987165110513126659978862214110933486905317237381264418771183247622856590590413409056846112824556439197106421234705799923029976808799 18407124073668598956820615976467748343776720202200963847669778235044895685255517461076571676862813254333934526968215683460961723534309622038950197896270093913704596679385213158030599886449835179208849974985466224664856300488366027358657007409912309295266580257882789825386961869944821930605280786181909753106013386267392626451460529170820610740919669961392689369627611451794859831547886534790490814533790222481362404979238058042444088364959866490432913640073776039857178990143738843198829510178835055147423485336998153482073481460916566006619238688414096701148728487094087615999958560845532073346927868190580821561609833586322038885150742529096382357907487008494789602846731741429396786361117330638065095825124481272167797884847694579929611376081712544743969235389692819884177340856117740597545037244608658132611037139344815695440467008573717270672916730978031352765648266063414634051599680243720662963611059631105000407273235170025678077063418908714594370294621725030503838416926647054068565452469499804645635602460712704089281969279053502520949429930406926721691267746099455055132524582155443903087875125856890186204654907086318041592407700564130709020691826476650473109387539112342988078051577042275357171868083155881978283113214433852766278293667186278010432879509725899094465102193214765656730596926045932248598019792709115768917613504919219155928534978111961370384661455934841467242266265085946035683674176856977243366755010506879536581188676754088254856362923705195626375642066258908213594815622055578029302025407782599884492604221701148596389249824892703926026666447047054323023077947060889290777787631091887147022627921677225819861382871750624167441844847542063262455869719720610825312873291443537755255287038755978577616122918308461159564613256574467989277126343260023361622181469722707734024027102289689871524407984469219682247357819819067875324244446792162867562209414661909333587562182515545429215556753470753013815780049194264834944872399476049326624729994970412272903201833822688955755235835922747876805515569535584543605473365175281008175782218916415442796274717650886821700234452590451005668565704487338596350952374167483364486021524387001204028715965378503602323537656394885019510295996702600017117386914293513579473850488809495698977244020474807366340223871561669455056722331541773069361537337958200043527053013227792631794233356935531269859671947429545866923436018824404377759307723108484155300735290505567495697790063202034549374131822271179496174259402280955919891951794315001834798573375791028610037349647863092988079108276197477415568506603464274818293625709073740069480609740363546503369840575852198343047734688675127300238308214820298343420496724238479620367208222288110385169239138061463716789950627640632760802408876449514585887334761667527312807638100326277726247773103785689308456687293558691133642316057383532462237264241354098160858592373370241033391244360243761179697535119697928740509622418415344920587035462630431511434368002 29783352386332216473583811130125967011733104068728637732984026522452657232950979633769767449057216998560028148095230729697460559237322568950015057943602353997189384707621918392086728500817542436262530713771258647312223426203914983431616520076280534880968530566352038570596250234301260964397268741332428176746421048796162150888685372096709846783375211952964548657071003683313651579690307278902825421490821368648836470900258511377111328477239606578436401617295674477165717351887601430532087537175683050865946816385535214405677868016660730289893572929627339589960566088849619563524722444745624076840800275439955651450639671846104010455795257475380081362143439723999359096182095920930279175033756086318146563242300784398441226573544699523130767908353866718817339524200006757439151429742951658272366733092763131751110660744419044043160089941740851368225022218195515059134349556922243169208142340553195162128518008061883422902805623604856912607288638615315841334878291447922117980216075062842747710569898166952068400063424878462792173715511838740035212521029134764563862081588140657167848525331879035974171295780834982927520996993886378425817585494875293552003127905323275819078316262563486644325190827284918809592897697313788732123831975332284193658687341580698271373497324254830381995013261388853958404888843685878419628896767863993192329184011062461693017388363830427268363927098288814918543563149056728916566383320492734883918704920312355824947585643090168893832583597487175429553443469641442399960019051801203259924500113666799638489389241691359807067387878080071059726651951930899704727117085925842193471840846914925624938897496218629366406628814952976609755658324522854557578953709002160405988901713890909672214699384971021495649897387179139705117389435388396231420647031645919337107572205384145917961028892671069374164711798073538001688422743881569778284497050972075582081006558933506838864429830715438935851512190906001237709730981914804538193748795342713956461676056635412516695867357867554153060870120670020269988102543958450753038303441909157074491083196781408021117698986589876394362932064528023525399804581683526348449950812086954192425810565433719721075652409720895376813886849707017711134471166055881630285961945863794568359954100348642972059647779909237432739870270616346590123214969280053325179752366316278537798540128315273705765406833839066741907439376163589127322821052524457229754397828125774239978485331389805334284781155290370450925359465694400421273208534269142423998215594437634429647670377636952922730545982138483286605025783729906891741842700463905377065923976314005215839268414513313171241014863622605199114767536012094807404290788337401320977208276510383744306028393535662535493506468896412336253538243972707376452038026130435383096901243488093393099141331301442347336084298181467815811493483786545195668303222494045588897243103568209094345497690607622297810015543491384036288125533106985586622446974854542027008270168430354541411176801 48190476460000815430404427106593715355509824270929601580653804757497552918206497094846339125920030252893962675063446413158422282771632190988965255839872447910893981387007131550117328387267377615471380688756724871977079726692281010790273527486192844176235110824234828395983212104246082895002549527514337929852434435063554777340145901267530457524294881914357238026698615135108511411238193813693316236024611591130198875879496569419555416842199473068869315257369450517022896342031340273730917047354518106013370301722533367887751349477577296296512811618041436291109294575943707179524681005591156150187728143630536473012249505432426049340946000004476463720050926732494148699028827662359675961394873416956211659067425265670609024458392394103060379284435579263561308759589699577323328770599069398869911770337371789883721697883763859738600556950314568638897938949173546411899997822985657803259742020796915825092129067692988423310078858774882590684352057524030435705172913172952621818633001709896816276022367666756714035665885591166881455684790892242556161950959541691285553349334240112222981049914034479877259170906691873113725651900972696467409993195439424261023819731799926292187703801675829632403242404327194166764765780469670710406945189766136959936981008766976281806376833980729476460115454603619615135485769731810668226916560573108961246797515981680848945923341942388638748588554223656385785829414142674952250057497349712127285459930819235361528774319844257148688946521192371055929085535900350613554834673856781289226525521449399522981993463392508403456637702972774985753318398977954027750195032986731484249628478006812771961525417895855186268011686703600777197503172064917820034823428722771231301775005334447427469986423727000073266020305487600864682002691962864220697773374905942698729753675106853651985055994960759245689119782542757683935780563700637653608741497764238449643215973595416172451992013230984365067068944376754251525511031109069373138621194818763283086406051605824789599069191690243108816105956592768146793618113494035296643776807084438082666865415697823463913973704240763216063166517118474531068370286170864944800903186254437556911832089820720925104368375099398979137424506101902730644767162758481647403348860157308147833804589158138671036891800384044799080094142178016045179937300821826394541289704274478581325593141543066337559640190774598011767111323593134994246257071348861607513705551234258395279220621895372829982571218492405000299491287965579917447467936550098343890167388752636264446243753427981532767895630001576274684134059927384307310349303928180195359549685387745285319878154876859674610855439474803542162502224687222107642599003157699664397705000748863364673236615823772920662745606957876053043488871613340137254446902579949968984236005155620705906779431627720073583857401967157124268180777345236329310619279877578051134507344922307255204090063977863331201259903735145215985660652804914327132069393269886947595305631060786052845544803 77973828846333031903988238236719682367242928339658239313637831279950210151157476728616106574977247251453990823158677142855882842008954759938980313783474801908083366094629049942204056888084920051733911402527983519289303152896195994221890047562473379057203641390586866966579462338547343859399818268846766106598855483859716928228831273364240304307670093867321786683769618818422162990928501092596141657515432959779035346779755080796666745319439079647305716874665124994188613693918941704263004584530201156879317118108068582293429217494238026586406384547668775881069860664793326743049403450336780227028528419070492124462889177278530059796741257479856545082194366456493507795210923583289955136428629503274358222309726050069050251031937093626191147192789445982378648283789706334762480200342021057142278503430134921634832358628182903781760646892055420007122961167369061471034347379907900972467884361350110987220647075754871846212884482379739503291640696139346277040051204620874739798849076772739563986592265833708782435729310469629673629400302730982591374471988676455849415430922380769390829575245913515851430466687526856041246648894859074893227578690314717813026947637123202111266020064239316276728433231612112976357663477783459442530777165098421153595668350347674553179874158235559858455128715992473573540374613417689087855813328437102153575981527044142541963311705772815907112515652512471304329392563199403868816440817842447011204164851131591186476359962934426042521530118679546485482529005541793013514853725657984549151025635116199161471382705083868210524025581052846045479970350908853732477312118912573677721469324921738396900422914114484552674640501656577386953161496587772377613777137724931637290676719225357099684685808698021568915917692666740569799392127351260452118420406551862035837325880490999569946084887631828619853831580616295685624203307582207431893238548736314031724222532528923011316421843946423300918581135282755489235242013023873911332369990161477239548082108241237306294936549557797261876976077262788416781720657452486049682080248993595157157948612479231485031672690830639610426098581646498056468174867854391293250853998341391749337642655254440646180020784820294355951311355808920441779238328814363277689310806021102716193758689506781643096539580293282231819964412794362635303152270101879719721042070590757119124133269858340043325047024613664753674550699756724121569078123873318837268103379360032635257705953285178164267352373782775451224850753659980338720676470819240767888382983190270694093914131064934455498441612140059561289159843657291199052192004392085572425473661701750501159146569390172845851870303097408741277269760699316915046889791495100985374913277259247108979265009359435456156252075854288389297027115586047513706484928710385352081137248643714099005920762929162420919941700148624940079674261131781524978922502371623640031750448490516349549587754585485629011275447226529252273786185911899913754516368124428974603575799491140594256721604 126164305306333847334392665343313397722752752610587840894291636037447763069363973823462445700897277504347953498222123556014305124780586950927945569623347249818977347481636181492321385275352297667205292091284708391266382879588477005012163575048666223233438752214821695362562674442793426754402367796361104036451289918923271705568977174631770761831964975781679024710468233953530674402166694906289457893540044550909234222659251650216222162161638552716175032132034575511211510035950281977993921631884719262892687419830601950181180566971815322882919196165710212172179155240737033922574084455927936377216256562701028597475138682710956109137687257484333008802245293188987656494239751245649631097823502920230569881377151315739659275490329487729251526477225025245939957043379405912085808970941090456012190273767506711518554056511946763520361203842369988646020900116542607882934345202893558775727626382147026812312776143447860269522963341154622093975992753663376712745224117793827361617482078482636380262614633500465496471395196060796555085085093623225147536422948218147134968780256620881613810625159947995728689637594218729154972300795831771360637571885754142074050767368923128403453723865915145909131675635939307143122429258253130152937722354864558113532649359114650834986250992216289334915244170596093188675860383149499756082729889010211114822779043025823390909235047715204545861104206736127690115221977342078821066498315192159138489624781950826548005134282778683191210476639871917541411614541442143627069688399514765838377551156565598684453376168476376613980663284025621031233288749886807760227507151899305161971097802928551168861948332010339738942652188360178164150664668652690197648600566447702868592451724559804527154672232425021642181937998154341434481394819314124672816193781457804734567079555597853221931140882592587865542951363159053369559983871282845085501980046500552481367438506124339183768413857177407665985650079659509740760753044132943284470991184980240522634488159847062095894005741248040370693082033855556563575338770946521346325857056078033239824814028177054948945646395071402826489265098764972587536545154025256238051757184595829306249474745075161571284389159919693335088735861910823172424005491572844925092659666178410864027563278664920314133431380677327030900058554972378680483089570923706114262331774865235700449726411401406380884687215388262765441662023349859115815335195222180444781808930594291030536926575180550994249923592275180451524342041625560256168144407369339111778550371942906958540157884492915988266337242141635835973293903584675506362541308320265767785023347089495786479024724267032520462725742572212283439771985386539022689488794652800649772618278008110473652501625183208376818997682812164442340515987199387650960931831290335321065373253799334804912700194556882494503799102115782064347855038477017854289541782249201691166257793412823604753677818563348960212535350961674468259446838716814240886585761394315922198881430551926647102266407 204138134152666879238380903580033080089995680950246080207929467317397973220521450552078552275874524755801944321380800698870187966789541710866925883406822051727060713576265231434525442163437217718939203493812691910555686032484672999234053622611139602290642393605408562329142136781340770613802186065207870143050145402782988633797808447996011066139635069649000811394237852771952837393095195998885599551055477510688269569439006731012888907481077632363480749006699700505400123729869223682256926216414920419772004537938670532474609784466053349469325580713378988053249015905530360665623487906264716604244784981771520721938027859989486168934428514964189553884439659645481164289450674828939586234252132423504928103686877365808709526522266581355442673670014471228318605327169112246848289171283111513154468777197641633153386415140129667302121850734425408653143861283911669353968692582801459748195510743497137799533423219202732115735847823534361597267633449802722989785275322414702101416331155255375944249206899334174278907124506530426228714485396354207738910894936894602984384211179001651004640200405861511580120104281745585196218949690690846253865150576068859887077715006046330514719743930154462185860108867551420119480092736036589595468499519962979267128317709462325388166125150451849193370372886588566762216234996567188843938543217447313268398760570069965932872546753488020452973619859248598994444614540541482689882939133034606149693789633082417734481494245713109233732006758551464026894143546983936640584542125172750387528576791681797845924758873560244824504688865078467076713259100795661492704819270811878839692567127850289565762371246124824291617292690016755551103826165240462575262377704172634505883128443785161626839358041123043211097855690821082004280786946665385124934614188009666770404405436088852791877225770224416485396782943775349055184187178865052517395218595236866513091661038653262195084835701123830966904231214942265229995995057156817195803361175141717762182570268088299402188942290805837632570058111118344980357059428399007396007937305071628396982762640656286433977319085902042436915363680411470644004720021879647531302611182937221055587117400329602217464409944739987691040047217719743614203243820387208202781970472199513580221321968171701957229970960970609262720022967766741315786241841025585833983373845455992819573859681259746424209734240001927519116212723106583237384413319095499282049912309954323665794632528465729158517275966057955902749192795285540594888820878188579879666933355133177652634072015557850443764778854281695397262453747241966705414733312712351340210497008791246287638171293657205366314596045669621024717041746085855937736378586147901635147531555267357582631766634542643832975249758666452831637543102785435164667416760000720673146510502443048903918620957486044915423740802264407004427529299608799379268464284620825331198008241903339954303265573148834589223810798188203720533233024628714154641102129518744896802457230043067241358988011 330302439459000726572773568923346477812748433560833921102221103354845736289885424375540997976771802260149897819602924254884493091570128661794871453030169301546038061057901412926846827438789515386144495585097400301822068912073150004246217197659805825524081145820230257691704811224134197368204553861568974179501435321706260339366785622627781827971600045430679836104706086725483511795261890905175057444595522061597503792098258381229111069642716185079655781138734276016611633765819505660250847848299639682664691957769272482655790351437868672352244776879089200225428171146267394588197572362192652981461041544472549319413166542700442278072115772448522562686684952834468820783690426074589217332075635343735497985064028681548368802012596069084694200147239496474258562370548518158934098142224201969166659050965148344671940471652076430822483054576795397299164761400454277236903037785695018523923137125644164611846199362650592385258811164688983691243626203466099702530499440208529463033813233738012324511821532834639775378519702591222783799570489977432886447317885112750119352991435622532618450825565809507308809741875964314351191250486522617614502722461823001961128482374969458918173467796069608094991784503490727262602521994289719748406221874827537380660967068576976223152376142668138528285617057184659950892095379716688600021273106457524383221539613095789323781781801203224998834724065984726684559836517883561510949437448226765288183414415033244282486628528491792424942483398423381568305758088426080267654230524687516225906127948247396530378135042036621438485352149104088107946547850682469252932326422711184001663664930778840734624319578135164030559944878376933715254490833893152772910978270620337374475580168344966153994030273548064853279793688975423438762181765979509797750807969467471504971484991686706013808366652817004350939734306934402424744171050147897602897198641737418994459099544777601378853249558301238632889881294601774970756748101289760480274352360121958284817058427935361498082948032053878003263140144973901543932398199345528742333794361149661636807576668833341382922965480973445263404628779176443231541265175904903769354368367533050361836592145404763788748799104659681026128783079630566786627249311960053127874630138377924444248885246836622271363402341647936293620081522739119996269331411949291948245705620321228520023586092661152805094421455390190284557874746456442353199748514317679726831721240548614696331559103646280152767199558333136354273534836911100851056965285557918991445483727076084611174229900050766432031116096423331233235747650826642211777274621032617107995520355880742074117196017924237886777321788241833308156813731472394960425867380800702284920149833275468056284268259725852209794247441478617273978059089984822815628348591291055994211883756242383708831321152042927409927539904380189068775384338085817233558006066870027022364266035316163559056943391712183549436346149149878188792679863345528395527687890913060819001338660594993888461254418 534440573611667605811154472503379557902744114511080001310150570672243709510406874927619550252646327015951842140983724953754681058359670372661797336436991353273098774634166644361372269602226733105083699078910092212377754944557823003480270820270945427814723539425638820020846948005474967982006739926776844322551580724489248973164594070623792894111235115079680647498943939497436349188357086904060656995650999572285773361537265112241999977123793817443136530145433976522011757495688729342507774064714560102436696495707943015130400135903922021821570357592468188278677187051797755253821060268457369585705826526244070041351194402689928447006544287412712116571124612479949985073141100903528803566327767767240426088750906047357078328534862650440136873817253967702577167697717630405782387313507313482321127828162789977825326886792206098124604905311220805952308622684365946590871730368496478272118647869141302411379622581853324500994658988223345288511259653268822692315774762623231564450144388993388268761028432168814054285644209121649012514055886331640625358212822007353103737202614624183623091025971671018888929846157709899547410200177213463868367873037891861848206197381015789432893211726224070280851893371042147382082614730326309343874721394790516647789284778039301611318501293119987721655989943773226713108330376283877443959816323904837651620300183165755256654328554691245451808343925233325679004451058425044200832376581261371437877204048115662016968122774204901658674490156974845595199901635410016908238772649860266613434704739929194376302893915596866262990041014182555184659806951478130745637145693523062841356232058629130300386690824259988322177237568393689266358316999133615348173355974792971880358708612130127780833388314671108064377649379796505443042968712644894922685422157477138275375890427775558805685592423041420836336517250709751479928358229012950120292417236974285507550760583430863573938085259425069599794112509544040200752743158446577676077713535263676046999628696023660900271890322859715635833198256092246524289457627744536138341731666221290033790339309489627816900284566875487700319992459587913875545985197784551300656979550470271417423709545734366006213209049399668717168830297350310400830493132347261330656600610577438024470207215008324228593373302618545556340104490505861312055573252974877782229079465777221339597445773920899229304155695392117803674087469563025590584161833413179008881633550502938362126191632112009311284475524391092257022727632196641445945786163746498871112417082209262263808301915608616875795894950705026630498201398068608917192007933744968448206017364671988361755367311581443253091917833911454332873855477558250898162245966948603920067681388542825638916034894268496042769497200145070105615602192770257980295765351291776667358394258685432612749942109528972325351280706644596073202913637694616612826470351490852353562274277219503513360208964861018138660156947338081909325912887974242550168790020431805715803795890638061129820242429 864743013070668332383928041426726035715492548071913922412371674027089445800292299303160548229418129276101739960586649208639174149929799034456668789467160654819136835692068057288219097041016248491228194664007492514199823856630973007726488017930751253338804685245869077712551759229609165350211293788345818502053016046195509312531379693251574722082835160510360483603650026222919860983618977809235714440246521633883277153635523493471111046766510002522792311284168252538623391261508235002758621913014199785101388453477215497786190487341790694173815134471557388504105358198065149842018632630650022567166868070716619360764360945390370725078660059861234679257809565314418805856831526978118020898403403110975924073814934728905447130547458719524831073964493464176835730068266148564716485455731515451487786879127938322497267358444282528947087959888016203251473384084820223827774768154191496796041784994785467023225821944503916886253470152912328979754885856734922394846274202831761027483957622731400593272849965003453829664163911712871796313626376309073511805530707120103223090194050246716241541851537480526197739588033674213898601450663736081482870595499714863809334679755985248351066679522293678375843677874532874644685136724616029092280943269618054028450251846616277834470877435788126249941607000957886664000425756000566043981089430362362034841839796261544580436110355894470450643067991218052363564287576308605711781814029488136726060618463148906299454751302696694083616973555398227163505659723836097175893003174547782839340832688176590906681028957633487701475393163286643292606354802160599998569472116234246843019896989407971035011010402395152352737182446770622981612807833026768121084334245413309254834288780475093934827418588219172917657443068771928881805150478624404720436230126944609780347375419462264819493959075858425187276251557644153904672529279160847723189615878711704502009860128208464952791334817726308232683993804145815171509491259736338156352065895385634331816687123959022398354838354913593639096338401066148068221855827090064880675526027370951670597915978322969199823250047848932963724621238764357107087250373689455070011347918003321779260301691139129794962008154059349743297613376980877187457742444307314458531230748955362468719092461844946499956775644266481849960186013244981308324904664924169730474785086098449859621031866582052034398577150782308088231962216019467943783910347730858735713354791051553058457750735758289464051675082724228611296262469107742297002751449304417862557900809285346874982531815659383307827011047128357863733949048895251128969282554777585556201537720552730435872563329505681139869239622153287641030669209030645858588113347749306204987831221818293695200303153994348252563744641623687379593661282755080795924113942582832661570278014927816321581263261571899735278820611024785141978297975780433846384476418360879375926540312535667072417152356573201688096503096487960098118592751319770945696477911344866534805134551233055018281496847 1399183586682335938195082513930105593618236662582993923722522244699333155310699174230780098482064456292053582101570374162393855208289469407118466125904152008092235610326234701649591366643242981596311893742917584726577578801188796011206758838201696681153528224671507897733398707235084133332218033715122662824604596770684758285695973763875367616194070275590041131102593965720356210171976064713296371435897521206169050515172788605713111023890303819965928841429602229060635148757196964345266395977728759887538084949185158512916590623245712715995385492064025576782782545249862905095839692899107392152872694596960689402115555348080299172085204347273946795828934177794368790929972627881646824464731170878216350162565840776262525459082321369964967947781747431879412897765983778970498872769238828933808914707290728300322594245236488627071692865199237009203782006769186170418646498522687975068160432863926769434605444526357241387248129141135674268266145510003745087162048965454992591934102011724788862033878397172267883949808120834520808827682262640714137163743529127456326827396664870899864632877509151545086669434191384113446011650840949545351238468537606725657540877137001037783959891248517748656695571245575022026767751454942338436155664664408570676239536624655579445789378728908113971597596944731113377108756132284443487940905754267199686462139979427299837090438910585715902451411916451378042568738634733649912614190610749508163937822511264568316422874076901595742291463712373072758705561359246114084131775824408049452775537428105785282983922873230353964465434177469198477266161753638730744206617809757309684376129048037101335397701226655140674914420015164312247971124832160383469257690220206281135192997392605221715660806902890280982035092448568434324848119191269299643121652284421748055723265847237823625179551498899846023612768808353905384600887508173797843482033115685990009560620711639328526729420077151377832478106313689855372262234418182915832429779430649310378816315819982683298626728677773309274929536657158394592511313454834601019017257693592241704388255287812597016723534614724420664044613698352270982633235571474006370668327468473593196684011236873495801175217203459018460466443674331187588288235576654575789187831359532800493189299676853270728550148946885027406300290503750842620380477917899047512703864551875671199218477640502951263702732846174425891906049685582493534368072181144037744594988341554491420583942367870298775336150607115320868318990101304383742948537613050916733670317891494609138790833731268000183622905997833384494232150446963860046161290488522554004407555085224718797627930641087124392961157456064741973904524686588896756750359314697910125055512610361119334116338048262844295333241841768757485209263475525338776219879293874609328928672273613248934331205371100872060630101317669381215181211613475050459210946769851731729488814589755170585777361321434219826756660043826042007444505639294013495865267931776672250608930441871116148101739276 2263926599753004270579010555356831629333729210654907846134893918726422601110991473533940646711482585568155322062157023371033029358219268441575134915371312662911372446018302758937810463684259230087540088406925077240777402657819769018933246856132447934492332909917376975445950466464693298682429327503468481326657612816880267598227353457126942338276905436100401614706243991943276071155595042522532085876144042840052327668808312099184222070656813822488721152713770481599258540018705199348025017890742959672639473402662374010702781110587503410169200626535582965286887903447928054937858325529757414720039562667677308762879916293470669897163864407135181475086743743108787596786804154859764845363134573989192274236380775505167972589629780089489799021746240896056248627834249927535215358224970344385296701586418666622819861603680771156018780825087253212455255390854006394246421266676879471864202217858712236457831266470861158273501599294048003248021031366738667482008323168286753619418059634456189455306728362175721713613972032547392605141308638949787648969274236247559549917590715117616106174729046632071284409022225058327344613101504685626834109064037321589466875556892986286135026570770811427032539249120107896671452888179558367528436607934026624704689788471271857280260256164696240221539203945689000041109181888285009531921995184629561721303979775688844417526549266480186353094479907669430406133026211042255624396004640237644889998440974413474615877625379598289825908437267771299922211221083082211260024778998955832292116370116282376189664951830863841665940827340755841769872516555799330742776089925991556527396026037445072370408711629050293027651602461934935229583932665187151590342024465619590390027286173080315650488225491109453899692535517340363206653269669893704363557882411366357836070641266700088444673510574758271210889020365998059289273416787334645566671648994397694511570480839847793479520754894877686065162100117835670543771725677919253988781845326034944710633002943941705696981567032686902914025875058224542660733169281924665899692783720963193374986171266135566216546784662573353627769234937116628089720485945163461440679675386476914975944312928012625596137225357518368203764057051312064775745978020961890247719062108488162961908392138698217228506924591151509256260476516995823928705382582823217243178649637974121058839509507085003298101309996956733980138011901601961478151982528874896480308343132606044479041693103628588239387825689839549479615252570412126039951289062355334596228218700779956013773365546927383491449917044961742357966099495859111175130573043300139560609092805777449233500493970592805532830397078218029614935193895619542615338472662447216330043343832179413029316641202257192547896986483392444864802924758280419572143993236457441990498950288541065255912468632672771795908921928694166357159509589255484305595423188212611105415354902290837658194513678007421514853163140314002105563098390613784441561745843121538785414064993104171166383236123 3663110186435340208774093069286937222951965873237901769857416163425755756421690647764720745193547041860208904163727397533426884566508737848693601041275464671003608056344537460587401830327502211683851982149842661967354981459008565030140005694334144615645861134588884873179349173699777432014647361218591144151262209587565025883923327221002309954470975711690442745808837957663632281327571107235828457312041564046221378183981100704897333094547117642454649994143372710659893688775902163693291413868471719560177558351847532523619371733833216126164586118599608542069670448697790960033698018428864806872912257264637998164995471641550969069249068754409128270915677920903156387716776782741411669827865744867408624398946616281430498048712101459454766969527988327935661525600233706505714230994209173319105616293709394923142455848917259783090473690286490221659037397623192564665067765199567446932362650722639005892436710997218399660749728435183677516287176876742412569170372133741746211352161646180978317340606759347989597563780153381913413968990901590501786133017765375015876744987379988515970807606555783616371078456416442440790624752345635172185347532574928315124416434029987323918986462019329175689234820365682918698220639634500705964592272598435195380929325095927436726049634893604354193136800890420113418217938020569453019862900938896761407766119755116144254616988177065902255545891824120808448701764845775905537010195250987153053936263485678042932300499456499885568199900980144372680916782442328325344156554823363881744891907544388161472648874704094195630406261518225040247138678309438061486982707735748866211772155085482173705806412855705433702566022477099247477555057497347535059599714685825871525220283565685537366149032393999734881727627965908797531501388861163004006679534695788105891793907113937912069853062073658117234501789174351964673874304295508443410153682110083684521131101551487122006250174972029063897640206431525525916033960096102169821211624756684255089449318763924388995608295710460212188955411715382937253244482736759266918710041414555435079374426553948163233270319277297774291813848635468899072353721516637467811348002854950508172628324164886121397312442560977386664230500725643252364034213597616466036906893468020963455097691815551487957057073538036536662560767020746666549085860500722264755882514189849792258057987147587954561804042843131159872044061587184455012520054710018934224903331474160535899625635471498887014723976296954870347934242671716509782899826675406251329898536592274565152564199278195383675072823042795126852198249942822971221291863531822693565016647891002168031128424611679929925791554534282771588839718582208439372088831977145126455098856442540532363432979250520036843230228325161202350012188233805758348363872530332051319427622562154314190243674003773643856539023246363547572340721202730534764806369958064342834904169492046008243971874999441641341609823184140044113007604029907797937427013774898211036022995434975287314484975399 5927036786188344479353103624643768852285695083892809615992310082152178357532682121298661391905029627428364226225884420904459913924728006290268735956646777333914980502362840219525212294011761441771392070556767739208132384116828334049073252550466592550138194044506261848625299640164470730697076688722059625477919822404445293482150680678129252292747881147790844360515081949606908352483166149758360543188185606886273705852789412804081555165203931464943371146857143192259152228794607363041316431759214679232817031754509906534322152844420719536333786745135191507356558352145719014971556343958622221592951819932315306927875387935021638966412933161544309746002421664011943984503580937601176515191000318856600898635327391786598470638341881548944565991274229223991910153434483634040929589219179517704402317880128061545962317452598030939109254515373743434114292788477198958911489031876446918796564868581351242350267977468079557934251327729231680764308208243481080051178695302028499830770221280637167772647335121523711311177752185929306019110299540540289435102292001622575426662578095106132076982335602415687655487478641500768135237853850320799019456596612249904591291990922973610054013032790140602721774069485790815369673527814059073493028880532461820085619113567199294006309891058300594414676004836109113459327119908854462551784896123526323129070099530804988672143537443546088608640371731790238854834791056818161161406199891224797943934704460091517548178124836098175394108338247915672603128003525410536604181333822319714037008277660670537662313826534958037296347088858980882017011194865237392229758797661740422739168181122927246076215124484755726730217624939034182707138990162534686649941739151445461915247569738765853016637257885109188781420163483249160738154658531056708370237417107154463727864548380638000514526572648416388445390809540350023963147721082843088976825331104481379032701582391334915485770929866906749962802306549361196459805685774021423809993470082719199800082321707866094692589862743147115102981286773607479913977652018683932818402825135518628454360597820083729449817103939871127919583083572585527162074207461800929252027678241427423148572637092898746993449667918495754867994557776955317139780191618578356284625955576509126417006083954249705185563998129188045918821243537742490477791243083545481999061163827823913316897496654672957859905352840087893852182073488786416490672037238893830705211674606766580378667328575127475254111801986794419827549495242128635822851115737761585926126755293054521166337564825122767166522740087756869210164349438682082396422436575122833125625740696779617264628918582272735458621951612500801203774912477827981987427304639592342785142200274719945392749620452777229391127214808553647214815112992086177920507865766789493309926572850695379446156142636446415652447945175057713929500230791986019070401793146276953940319524394336845902166388677449062856462986324454046218570702420521582378988759618019749821437060428079458480868211522 9590146972623684688127196693930706075237660957130711385849726245577934113954372769063382137098576669288573130389611818437886798491236744138962336997922242004918588558707377680112614124339263653455244052706610401175487365575836899079213258244800737165784055179095146721804648813864248162711724049940650769629182031992010319366074007899131562247218856859481287106323919907270540633810737256994189000500227170932495084036770513508978888259751049107398021141000515902919045917570509526734607845627686398792994590106357439057941524578253935662498372863734800049426228800843509975005254362387487028465864077196953305092870859576572608035662001915953438016918099584915100372220357720342588185018866063724009523034274008068028968687053983008399332960802217551927571679034717340546643820213388691023507934173837456469104773301515290722199728205660233655773330186100391523576556797076014365728927519303990248242704688465297957595001056164415358280595385120223492620349067435770246042122382926818146089987941880871700908741532339311219433079290442130791221235309766997591303407565475094648047789942158199304026565935057943208925862606195955971204804129187178219715708424952960933972999494809469778411008889851473734067894167448559779457621153130897015466548438663126730732359525951904948607812805726529226877545057929423915571647797062423084536836219285921132926760525620611990864186263555911047303536555902594066698416395142211950997870967945769560480478624292598060962308239228060045284044785967738861948337888645683595781900185205058699134962701239052232926753350377205922264149873174675453716741505397489288950940336208409419782021537340461160432783647416133430184694047659882221709541453837271333440467853304451390382786290279108923663147791449157958269656047392219712376916951802942569619658455494575912584379634722074505679892598714701988637022025378351532386979013214565063553832683942822037492021104838935813860442512980886722375839645870123593631205094839403454889531640471790483688198158453607327291936698488990417167222134755443199737112866550074063533735024374031892683087423217168902211396932208054426234427928978438397063375681096377931321200961257784868390762110479473141532225058502598569503814405216194822321532849044530089872103775769801193142621071667224582581382010558489157026877103584267746754943678017673705574955483802260912421709395683219053724226135075970871503192091948912764930115006080927116278292964046626362268835778283749290175483737913845145605750942413167837256025291885329086318901764103318150841595563130551996062362599381505053617714300106945526690642388587781785295757343193952665384413506146783572792614631060036421359516136616737469240241056717260477756182599703297266234357443133714849564827301225891936268871738297121544629354195412849693636399816640220059508986968421421261501840951994716553835208163104341296775223693886382854146138263676890704198072809508594090331578306450429380316415773392917960857460055863054745795353186921 15517183758812029167480300318574474927523356041023521001842036327730112471487054890362043529003606296716937356615496239342346712415964750429231072954569019338833569061070217899637826418351025095226636123263378140383619749692665233128286510795267329715922249223601408570429948454028718893408800738662710395107101854396455612848224688577260814539966738007272131466839001856877448986293903406752549543688412777818768789889559926313060443424954980572341392287857659095178198146365116889775924277386901078025811621860867345592263677422674655198832159608869991556782787152989228989976810706346109250058815897129268612020746247511594247002074935077497747762920521248927044356723938657943764700209866382580610421669601399854627439325395864557343898952076446775919481832469200974587573409432568208727910252053965518015067090754113321661308982721033977089887622974577590482488045828952461284525492387885341490592972665933377515529252383893647039044903593363704572671527762737798745872892604207455313862635277002395412219919284525240525452189589982671080656337601768620166730070143570200780124772277760614991682053413699443977061100460046276770224260725799428124307000415875934544027012527599610381132782959337264549437567695262618852950650033663358835552167552230326024738669417010205543022488810562638340336872177838278378123432693185949407665906318816726121598904063064158079472826635287701286158371346959412227859822595033436748941805672405861078028656749128696236356416577475975717887172789493149398552519222468003309818908462865729236797276527774010270223100439236186804281161068039912845946500303059229711690108517331336665858236661825216887163001272355167612891833037822416908359483192988716795355715423043217243399423548164218112444567954932407119007810705923276420747154368910097033347523003875213913098906207370490894125283408255052012600169746461194621363804344319046442586534266334156952977792034705842563823244819530247918835645331644145017441198564922122654689613962179656578380788021196754442394917985262597897081199786774127132555515691685592691988095622194115622132904527157040030130980015780639953396502136440239326315403359337805354469773598350683615384211778397968896400219616279553886643594596834773178606158804621039216289109859724050898328185069796412628500203254096231647504668346667813228754004841845497618891852980456933870281614748523306947576408208564757287993864129187806595635326680687693696656960292621753837522947580270543710003033233155973781428602058150929423182152047178383607485239328928440918008118303218308865272526948820187136014136736682068359816268129284561402560386261776225400843035457759284373996389543537864403346943441256329812025383256991980423148932220156074495625484657942268496779642414217978114189379604063911037939280768263545073082555959276666475161434913596478975431341182786702572905609956250618250715543218280719700048304652354339767054535795833048136550149008870950962695404533010937710678897116291134204276221398443 25107330731435713855607497012505181002761016998154232387691762573308046585441427659425425666102182966005510487005108057780233510907201494568193409952491261343752157619777595579750440542690288748681880175969988541559107115268502132207499769040068066881706304402696555292234597267892967056120524788603361164736283886388465932214298696476392376787185594866753418573162921764147989620104640663746738544188639948751263873926330439822039331684706029679739413428858174998097244063935626416510532123014587476818806211967224784650205202000928590861330532472604791606209015953832738964982065068733596278524679974326221917113617107088166855037736936993451185779838620833842144728944296378286352885228732446304619944703875407922656408012449847565743231912878664327847053511503918315134217229645956899751418186227802974484171864055628612383508710926694210745660953160677982006064602626028475650254419907189331738835677354398675473124253440058062397325498978483928065291876830173568991915014987134273459952623218883267113128660816864551744885268880424801871877572911535617758033477709045295428172562219918814295708619348757387185986963066242232741429064854986606344022708840828895478000012022409080159543791849188738283505461862711178632408271186794255851018715990893452755471028942962110491630301616289167567214417235767702293695080490248372492202742538102647254525664588684770070337012898843612333461907902862006294558238990175648699939676640351630638509135373421294297318724816704035763171217575460888260500857111113686905600808648070787935932239229013062503149853789613392726545310941214588299663241808456719000641048853539746085640258199165678047595784919771301043076527085482299130069024646825988128796183276347668633782209838443327036107715746381565077277466753315496133124071320713039602967181459369789825683285842092565399805176006969754001237191771839546153750783357533611506140366950276978990469813139544778377683687332511134641211484977514268611072403659761526109579145602651447062068986179650361769686854683751588314248421921529570332292628558235666755521830646568147514815991950374208932342376947988694379630930065418677723378779040434183285790974559608468483774973888877442037932444674782152456147409002050968000927691653665569306161213635493852091470806141463637211081585264654720804531545450252080975508948519863171324466808464259194782703324144206526001300634343640728159497056221136719360565441686768620812935253256668380199791783358554293000178516971069818927034353000564097260438177339063712693804141093031759068849713866348860861334889548201692189631851036789013886506910517872343187856143604970178066227448963906067946789004174597900824706459577873067281265624313709240900905114819859371761859842101075983346344469715443870050458251342361032582568634963676394766718955775916886534670421882017900236933182134781419126740818119354959547490766912167102554194442916031230471252608605341642226881727315321380343011820306403855671536357172154188950071574585364 40624514490247743023087797331079655930284373039177753389533798901038159056928482549787469195105789262722447843620604297122580223323166244997424482907060280682585726680847813479388266961041313843908516299233366681942726864961167365335786279835335396597628553626297963862664545721921685949529325527266071559843385740784921545062523385053653191327152332874025550040001923621025438606398544070499288087877052726570032663815890366135099775109661010252080805716715834093275442210300743306286456400401488554844617833828092130242468879423603246060162692081474783162991803106821967954958875775079705528583495871455490529134363354599761102039811872070948933542759142082769189085668235036230117585438598828885230366373476807777283847337845712123087130864955111103766535343973119289721790639078525108479328438281768492499238954809741934044817693647728187835548576135255572488552648454980936934779912295074673229428650020332052988653505823951709436370402571847632637963404592911367737787907591341728773815258495885662525348580101389792270337458470407472952533910513304237924763547852615496208297334497679429287390672762456831163048063526288509511653325580786034468329709256704830022027024550008690540676574808526002832943029557973797485358921220457614686570883543123778780209698359972316034652790426851805907551289413605980671818513183434321899868648856919373376124568651748928149809839534131313619620279249821418522418061585209085448881482312757491716537792122549990533675141394180011481058390364954037659053376333581690215419717110936517172729515756787072773372954228849579530826472009254501145609742111515948712331157370871082751498494860990894934758786192126468655968360123304716038428507839814704924151898699390885877181633386607545148552283701313972196285277459238772553871225689623136636314704463245003738782192049463056293930459415224806013837361518300740775114587701852657948726901216611135943447605174250620941506932152041382560047130309158413628513602224683648764268759564831103640449774200847116212081772669014186211329621708303697464848144249921259447509926268762263136948896477531248962473356963769334333027432201858917049694182399771988640260748157959152099159185667275410934332664291061706342791003598885741179533850458286608522450323495217902989798991211260049839581788518750952452036213796919894204262953361708668943358661444716128652984938892729832948877042552205485447490920350324525956200768367456314509592213549290134037314730938824836710181550204225792708462955058715026683620329386242096301289380421960199986857832169567169726607416497021879325645987773471082246323178647156904590416529866746403467070484421665352320785393718135765228053403019129397093291007570701221324054047040015446257485326759018251843124112129661848164647630946424943620507915731939939839801511735193553009831856795614379212364523317568121699646428075605577798206310130447822254242747568385570238307144401174690363431876324192331305707224839414793382215254288445323154347795983807 65731845221683456878695294343584836933045390037331985777225561474346205642369910209212894861207972228727958330625712354902813734230367739565617892859551542026337884300625409059138707503731602592590396475203355223501833980229669497543286048875403463479334858028994519154899142989814653005649850315869432724579669627173387477276822081530045568114337927740778968613164845385173428226503184734246026632065692675321296537742220805957139106794367039931820219145574009091372686274236369722796988523416076031663424045795316914892674081424531836921493224554079574769200819060654706919940940843813301807108175845781712446247980461687927957077548809064400119322597762916611333814612531414516470470667331275189850311077352215699940255350295559688830362777833775431613588855477037604856007868724482008230746624509571466983410818865370546428326404574422398581209529295933554494617251081009412585034332202264004968264327374730728461777759264009771833695901550331560703255281423084936729702922578476002233767881714768929638477240918254344015222727350832274824411483424839855682797025561660791636469896717598243583099292111214218349035026592530742253082390435772640812352418097533725500027036572417770700220366657714741116448491420684976117767192407251870537589599534017231535680727302934426526283092043140973474765706649373682965513593673682694392071391395022020630650233240433698220146852432974925953082187152683424816976300575384734148821158953109122355046927495971284830993866210884047244229607940414925919554233444695377121020525759007305108661754985800135276522808018462972257371782950469089445272983919972667712972206224410828837138753060156572982354571111897769699044887208787015168497532486640693052948081975738554510963843225050872184659999447695537273562744212554268686995297010336176239281885922614793564465477891555621693735635422194560015074553290140286928865371059386269454867268166888114933917418313795399319190619484552517201258615286672682239586005884445174873847905167482550702518760380497477981768627352765774525578043629833267797140772808156926203031756915330410651764888427905457894815733911758028712658362267277594773072961440206171926051722717567620582934159556152852972265108965843858798938412600936709180461542111952177828611537130711755081269797352723687050663373783405673256567759247171975179771901881571840267825469908975323435688263036936358950177676895846213606987976571461245316766210054224935322527466805958514237106514297379129710360067175295611635497308059279123944058506725305808995093521514991959055707546035916030587942306045223571515277838810260096132830089165029247778272673471716581533297933385571420267574397892733666052759862597002464374556631884410462224959161859874818019345168860094235189468581845105718215105882288785976203076550695616334606520467511110439544502278677632279449297705452349540826387246194960537345697077042614924808437190484416800709559753006516332590313603639513711648719045145818649053751611460599512104419370569171 106356359711931199901783091674664492863329763076509739166759360375384364699298392759000364056313761491450406174246316652025393957553533984563042375766611822708923610981473222538526974464772916436498912774436721905444560845190836862879072328710738860076963411655292483017563688711736338955179175843135504284423055367958309022339345466583698759441490260614804518653166769006198866832901728804745314719942745401891329201558111172092238881904028050183901024862289843184648128484537113029083444923817564586508041879623409045135142960848135082981655916635554357932192622167476674874899816618893007335691671717237202975382343816287689059117360681135349052865356904999380522900280766450746588056105930104075080677450829023477224102688141271811917493642788886535380124199450156894577798507803007116710075062791339959482649773675112480473144098222150586416758105431189126983169899535990349519814244497338678197692977395062781450431265087961481270066304122179193341218686015996304467490830169817731007583140210654592163825821019644136285560185821239747776945393938144093607560573414276287844767231215277672870489964873671049512083090118819251764735716016558675280682127354238555522054061122426461240896941466240743949391520978658773603126113627709485224160483077141010315890425662906742560935882469992779382316996062979663637332106857117016291940040251941394006774801892182626369956691967106239572702466402504843339394362160593819597702641265866614071584719618521275364669007605064058725287998305368963578607609778277067336440242869943822281391270742587208049895762247312551788198254959723590590882726031488616425303363595281911588637247921147467917113357304024238355013247332091731206926040326455397977099980675129440388145476611658417333212283149009509469848021671793041240866522699959312875596590385859797303247669941018677987666094837419366028911914808441027703979958761238927403594169383499250877365023488046020260697551636593899761305745595831095868099608109128823638116664732313654342968534581344594193850400021779960736907665338136965261988917058078185650541683184092673788713784905436706857289090875527363045685794469136511822767143839978160566312470875526772682093345223428263906597773256905565141729416199822450359995392570238786351061860625929658071068788563983736890245162302156625708603973044091869384034855243280509211184131353691452088673201929666191899054719448051699054478896921785771272966978421681249832119680355248648274421245236203966420541617379521404343960263117994150627678836111547905296382901936952159042565378205483200314549722542245450840923826583731178379153267812186152368689203338462985000368417807236772588359791610869431280813265616131861467847639455111683549013208899890264276830495619112487032592693974767566379753513235210919823584466427556274446321979246303992554334135473246658661662228769917662526033674270566115143903387173062747062679938052802370947866897407691022953745479963706042954426269985233442435966865749044835258767166552978 172088204933614656780478386018249329796375153113841724943984921849730570341668302968213258917521733720178364504872029006928207691783901724128660268626163364735261495282098631597665681968504519029089309249640077128946394825420506360422358377586142323556298269684287002172462831701550991960829026159004937009002724995131696499616167548113744327555828188355583487266331614391372295059404913538991341352008438077212625739300331978049377988698395090115721244007863852276020814758773482751880433447233640618171465925418725960027817042272666919903149141189633932701393441228131381794840757462706309142799847563018915421630324277975617016194909490199749172187954667915991856714893297865263058526773261379264930988528181239177164358038436831500747856420622661966993713054927194499433806376527489124940821687300911426466060592540483026901470502796572984997967634727122681477787150616999762104848576699602683165957304769793509912209024351971253103762205672510754044473967439081241197193752748293733241351021925423521802303061937898480300782913172072022601356877362983949290357598975937079481237127932875916453589256984885267861118116711349994017818106452331316093034545451772281022081097694844231941117308123955485065840012399343749720893306034961355761750082611158241851571152965841169087218974513133752857082702712353346602845700530799710684011431646963414637425035132616324590103544400081165525784653555188268156370662735978553746523800218975736426631647114492560195662873815948105969517606245783889498161843222972444457460768628951127390053025728387343326418570265775524045570037910192680036155709951461284138275569819692740425776000981304040899467928415922008054058134540878746375423572813096091030048062650867994899109319836709289517872282596705046743410765884347309927861819710295489114878476308474590867713147832574299681401730259613926043986468098581314632845329820625196858461437550387365811282441801841419579888171121146416962564360882503778107685613993573998511964569899796205045487294961842072175619027374545735262485708967970233059129689866235111853573440099423084440478673333342164752104824787285391758344156736414106595840105280184332492364193593094393265027504779581116878862882222749423940667828800759159540456934682190964179673397756641413152338585916707423940908536085562298965171732291263844563806757124852349479009601262666775524361464966602550849232396343897912661466873493247016589733188475906185154647147161207162511527759533583096130901684554817015979457571177273274571737342836853714291476423451944118098272924241399230902492028587469022356201665393991274511983356977215400146961876810179566533666351192808192855934189503603097333573128213134325842404271339522145773972370759765082296175664479206722222061275819873284594859395523996896026661017123172609052842446757414432098836414150878938110959934222267203352420920465526652489600464215677671871117128537219171657426650414207355544059083603219754603145315131052091489718477209644347363186537122149 278444564645545856682261477692913822659704916190351464110744282225114935040966695727213622973835495211628770679118345658953601649337435708691702644392775187444185106263571854136192656433277435465588222024076799034390955670611343223301430706296881183633261681339579485190026520413287330916008202002140441293425780363090005521955513014697443086997318448970388005919498383397571161892306642343736656071951183479103954940858443150141616870602423140299622268870153695460668943243310595780963878371051205204679507805042135005162960003120802002884805057825188290633586063395608056669740574081599316478491519280256118397012668094263306075312270171335098225053311572915372379615174064316009646582879191483340011665979010262654388460726578103312665350063411548502373837254377351394011604884330496241650896750092251385948710366215595507374614601018723571414725740158311808460957050152990111624662821196941361363650282164856291362640289439932734373828509794689947385692653455077545664684582918111464248934162136078113966128882957542616586343098993311770378302271301128042897918172390213367326004359148153589324079221858556317373201206830169245782553822468889991373716672806010836544135158817270693182014249590196229015231533378002523324019419662670840985910565688299252167461578628747911648154856983126532239399698775333010240177807387916726975951471898904808644199837024798950960060236367187405098487119957693111495765024896572373344226441484842350498216366733013835560331881421012164694805604551152853076769453001249511793901011498894949671444296470974551376314332513088075833768292869916270627038435982949900563578933414974652014413248902451508816581285719946246409071381872970477582349613139551489007148043325997435287254796448367706851084565745714556213258787556140351168728342410254801990475066694334388170960817773592977669067825097033292072898382907022342336825288581864124262055606933886616688647465289887439840585722757740316723870106478334873975785222102702822150081234632109859388455829543186666369469427396325695999393374306107198321118606924313297504115123283515758229192458238778871609393915662812754804029951205550618418607249120162493058676664468621165947120850003009380785460655479654989082397245000581609900452327252429750530735258382571071223407374480691160831153698387718924673775705335355713947841612368132858690193732616358227613034666896268742748287115791949611715945770415032787862700166897587434986766827516455810785949004769787062551443301934338420323417834295267425199416178948401619587859325388896277140838302446882431217041751129714473197125491977722452891136624789401552515651080148642551534034769000044965444293981114472528614386393829266187310251910794633829322985579659655346573006160098319209254653969794640850974612908759207815850245483550728883499164426003718424653170549624125596772622162992184865878454594736092767633503851388740418933797066590021542605293547821898378497804563566925797557571585116285533925685342958689182621953703675127 450532769579160513462739863711163152456080069304193189054729204074845505382634998695426881891357228931807135183990374665881809341121337432820362913018938552179446601545670485733858338401781954494677531273716876163337350496031849583723789083883023507189559951023866487362489352114838322876837228161145378302428505358221702021571680562811187414553146637325971493185829997788943456951711555882727997423959621556316580680158775128190994859300818230415343512878017547736689758002084078532844311818284845822850973730460860965190777045393468922787954199014822223334979504623739438464581331544305625621291366843275033818642992372238923091507179661534847397241266240831364236330067362181272705109652452862604942654507191501831552818765014934813413206484034210469367550309304545893445411260857985366591718437393162812414770958756078534276085103815296556412693374885434489938744200769989873729511397896544044529607586934649801274849313791903987477590715467200701430166620894158786861878335666405197490285184061501635768431944895441096887126012165383792979659148664111992188275771366150446807241487081029505777668478843441585234319323541519239800371928921221307466751218257783117566216256512114925123131557714151714081071545777346273044912725697632196747660648299457494019032731594589080735373831496260285096482401487686356843023507918716437659962903545868223281624872157415275550163780767268570624271773512881379652135687632550927090750241703818086924848013847506395755994755236960270664323210796936742574931296224221956251361780127846077061497322199361894702732902778863599879338330780108950663194145934411184701854503234667392440189249883755549716049214135868254463129516413849223957773185952647580037196105976865430186364116285076996368956848342419602956669553440487661096590162120550291105353543002808979038673965606167277350469555356647218116884851005603656969670618402489321120517044484273982499929907091728859420473893878886733686434467360838652083470836096276820662045804531906064433943124505028738545088454770871431261879083274077431380248296790548409357688563382938842669671131572121036361498740450098146562374107941964725014447354400346825551040858061715559212148354782590497664323537702404413023065073801340769440909261934620714710408656139212484375745960397398584772062234473281223638947437626619558511648369492985208169203333879025003137396131862871293597519512135847524377412643908279804452433355373493620141413974677662973297476764303370158682344986489155436302875405472540699771153521785255333879335748840840395239111226688281662119533779717183495553327157371713727403119981766616952662612956958822118067701120192853158300228170618075625947959522042400513152656182134155975096957950419420428869181824577525931476715245614514135569472304283204711876906500673901492552006872761132856752006963775004534883582097214452069230875515201619420123104315604418090804914195127240714262720198236105734041863647170145552160716900247337625415403820168333529985140240797276 728977334224706370145001341404076975115784985494544653165473486299960440423601694422640504865192724143435905863108720324835410990458773141512065557411713739623631707809242339870050994835059389960265753297793675197728306166643192807025219790179904690822821632363445972552515872528125653792845430163285819595854285721311707543527193577508630501550465086296359499105328381186514618844018198226464653495910805035420535621017218278332611729903241370714965781748171243197358701245394674313808190189336051027530481535502995970353737048514270925672759256840010513968565568019347495134321905625904942099782886123531152215655660466502229166819449832869945622294577813746736615945241426497282351692531644345944954320486201764485941279491593038126078556547445758971741387563681897287457016145188481608242615187485414198363481324971674041650699704834020127827419115043746298399701250922979985354174219093485405893257869099506092637489603231836721851419225261890648815859274349236332526562918584516661739219346197579749734560827852983713473469111158695563357961419965240035086193943756363814133245846229183095101747700701997902607520530371688485582925751390111298840467891063793954110351415329385618305145807304347943096303079155348796368932145360303037733571213987756746186494310223336992383528688479386817335882100263019367083201315306633164635914375444773031925824709182214226510224017134455975722758893470574491147900712529123300434976683188660437423064380580520231316326636657972435359128815348089595651700749225471468045262791626741026732941618670336446079047235291951675713106623650025221290232581917361085265433436649642044454602498786207058532630499855814500872200898286819701540122799092199069044344149302862865473618912733444703220041414088134159169928340996628012265318504530805093095828609697143367209634783379760255019537380453680510189783233912625999306495906984353445382572651418160599188577372381616299261059616636627050410304573839173526059256058198979642812127039164015923822398954048215404914557882167197127261272457580184629701366903714861706861803686666454600898863589810899907970892656112910901366404059147515343433054603520509318609717522530336725159269204785599878449784193182059402105462318801922379341361589187050465241143914521783555599153334878089745603215932861000148312723142961975272459489981861118066859397066495383230750430798759140036345806627927797136093358414323312592315133522271081055128180802194118784083425769073157221233788288423493856626293239767808124970569700733656953467195074229736672379949529135164093336575530846897968750452649349436180294256606556018505178264037107464669601735889192898123744522151732548154562345915871666700462908092928789804419943530079075775442187984675845140731369215409154986544085213042412527727151984224630376051171298764851281405177513399130131656204260206636935109330109937712187756608166993158509738711261717262256868013746058004112539668210737071349718288485363623159341089163127022712607093944472403 1179510103803866883607741205115240127571865054798737842220202690374805945806236693118067386756549953075243041047099094990717220331580110574332428470430652291803078309354912825603909333236841344454943284571510551361065656662675042390749008874062928198012381583387312459915005224642963976669682658324431197898282791079533409565098874140319817916103611723622330992291158378975458075795729754109192650919870426591737116301175993406523606589204059601130309294626188790934048459247478752846652502007620896850381455265963856935544514093907739848460713455854832737303545072643086933598903237170210567721074252966806186034298652838741152258326629494404793019535844054578100852275308788678555056802184097208549896974993393266317494098256607972939491763031479969441108937872986443180902427406046466974834333624878577010778252283727752575926784808649316684240112489929180788338445451692969859083685616990029450422865456034155893912338917023740709329009940729091350246025895243395119388441254250921859229504530259081385502992772748424810360595123324079356337620568629352027274469715122514260940487333310212600879416179545439487841839853913207725383297680311332606307219109321577071676567671841500543428277365018499657177374624932695069413844871057935234481231862287214240205527041817926073118902519975647102432364501750705723926224823225349602295877278990641255207449581339629502060387797901724546347030666983455870800036400161674227525726924892478524347912394428026627072321391894932706023452026145026338226632045449693424296624571754587103794438940869698340781780138070815275592444954430134171953426727851772269967287939884309436894791748669962608248679713991682755335330414700668925497895985044846649081540255279728295659983029018521699588998262430553762126597894437115673361908666651355384201182152699952346248308748985927532370006935810327728306668084918229656276166525386842766503089695902434581688507279473345158681533510515513784096739041200012178142726894295256463474172843695921988256342078553244143459646336938068558523151540854262061081615200505410116219492250049393443568534721383020944332391396563009047928778167089480068447501957920856144160758380592052284371417559568190376114107730884463815128527392603263148782270851121671179951552570660996039974899295275488330375278167334281371951670580588594830971138351354103275028600400374408233887826930622011329943326140063644660470771058231592396767566877644574675269594776871781757380902533376527379916133274912649292929168645240348824741723222518912287346530823070577067619060755823445755456109310564081464303779806721149907697376588322635457840876994066286787669437009385751282044750322350623780510305437914067213615564275062945779516901480498496204311369809253371072208084461023669122113557517325617239604058484898531868603178171525984138157184477174134666539786357421089004340205625139331607879712482597576600543625456844502971130733944294109846581531857907216901879005385610960784756492983295356242592234185269679 1908487438028573253752742546519317102687650040293282495385676176674766386229838387540707891621742677218678946910207815315552631322038883715844494027842366031426710017164155165473960328071900734415209037869304226558793962829318235197774228664242832888835203215750758432467521097171089630462528088487717017494137076800845117108626067717828448417654076809918690491396486760161972694639747952335657304415781231627157651922193211684856218319107300971845275076374360034131407160492873427160460692196956947877911936801466852905898251142422010774133472712694843251272110640662434428733225142796115509820857139090337338249954313305243381425146079327274738641830421868324837468220550215175837408494715741554494851295479595030803435377748201011065570319578925728412850325436668340468359443551234948583076948812363991209141733608699426617577484513483336812067531604972927086738146702615949844437859836083514856316123325133661986549828520255577431180429165990981999061885169592631451915004172835438520968723876456661135237553600601408523834064234482774919695581988594592062360663658878878075073733179539395695981163880247437390449360384284896210966223431701443905147687000385371025786919087170886161733423172322847600273677704088043865782777016418238272214803076274970986392021352041263065502431208455033919768246602013725091009426138531982766931791654435414287133274290521843728570611815036180522069789560454030361947937112690797527960703608081138961770976775008546858388648028552905141382580841493115933878332794675164892341887363381328130527380559540034786860827373362766951305551578080159393243659309769133355232721376533951481349394247456169666781310213847497256207531312987488627038018784137045718125884404582591161133601941751966402809039676518687921296526235433743685627227171182160477297010762397095713457943532365687787389544316264008238496451318830855655582662432371196211885662347320595180877084651854961457942593127152140834507043615039185704201982952494236106286299882859937912078741032601459548374204219105265685784423998434446690782982104220271823081295936715848044467398311193920852303284052675919949295182226236995411880556561441365462770475903122389009530686764353790254563891924066523217233989711405185528123632440308721645192696485182779595574052630153578075978494100195281520264393723550570103430628333215221341887997466869791464638257729381151366289132767991441796564129472554904989082700399915655730397775579065900541464328302449684601149921563336143149555461885008156949712292923252569240813725897300313739999010284958609848792684841410979433054232456070586087991633194878653963019141031173751457271172898578649405789272474083171935072651353785733914078472367991735583936845010577571979753557793929216212939453676432824108657642730368029767331210469123162244654349470290835419562361990573264798195990617627725939449535735077043795636320649590735110282336718561765227998747690352113959121200068644288251597293870974583944097582146422378955199328129742082 3087997541832440137360483751634557230259515095092020337605878867049572332036075080658775278378292630293921987957306910306269851653618994290176922498273018323229788326519067991077869661308742078870152322440814777919859619491993277588523237538305761086847584799138070892382526321814053607132210746812148215392419867880378526673724941858148266333757688533541021483687645139137430770435477706444849955335651658218894768223369205091379824908311360572975584371000548825065455619740352180007113194204577844728293392067430709841442765236329750622594186168549675988575655713305521362332128379966326077541931392057143524284252966143984533683472708821679531661366265922902938320495859003854392465296899838763044748270472988297120929476004808984005062082610405697853959263309654783649261870957281415557911282437242568219919985892427179193504269322132653496307644094902107875076592154308919703521545453073544306738988781167817880462167437279318140509439106720073349307911064836026571303445427086360380198228406715742520740546373349833334194659357806854276033202557223944089635133374001392336014220512849608296860580059792876878291200238198103936349521112012776511454906109706948097463486759012386705161700537341347257451052329020738935196621887476173506696034938562185226597548393859189138621333728430681022200611103764430814935650961757332369227668933426055542340723871861473230630999612937905068416820227437486232747973512852471755486430532973617486118889169436573485460969420447837847406032867638142272104964840124858316638511935135915234321819500409733127642607511433582226897996532510293565197086037620905625200009316418260918244185996126132275029989927839180011542861727688157552535914769181892367207424659862319456793584970770488102398037938949241683423124129870859358989135837833515861498192915097048059706252281351615319759551252074335966803119403749085311858828957758038978388752043223029762565591931328306616624126637667654618603782656239197882344709846789492569760472726555859900335083111154703691833850556043334244307575539288708751864597304725681939300788186765241488035933032576941796635675449238928997223960393326475480328058519362221606931234283714441293902104323921980630677999654950987032362517104008448676905903291430392825144249055843775635548951925429066406353772267529562892216064304139164934401766684569324616916597867244199698526084660003162696232458908055086457034900530786497385850267277560230405667370355937682298845230835826211981066054838248792442484630530248505774454016145771481528160256720370890807618071040782055604248794151975060897358012262791735995689009783201289420860018025240038244940609907964400687834022796433795715582956791699801127694036643054681363453746491076068184064927603182587285147538137456493230771200247693647006935268954021694113257527641816819557719546467747399464735776975048814943789741360216375403516033132188311710825962175406268199129481634646223805702731926551505153476299256585544728854075129717735197791562315011761 4996484979861013391113226298153874332947165135385302832991555043724338718265913468199483170000035307512600934867514725621822482975657878006021416526115384354656498343683223156551829989380642813285361360310119004478653582321311512786297466202548593975682788014888829324850047418985143237594738835299865232886556944681223643782351009575976714751411765343459711975084131899299403465075225658780507259751432889846052420145562416776236043227418661544820859447374908859196862780233225607167573886401534792606205328868897562747341016378751761396727658881244519239847766353967955791065353522762441587362788531147480862534207279449227915108618788148954270303196687791227775788716409219030229873791615580317539599565952583327924364853753009995070632402189331426266809588746323124117621314508516364140988231249606559429061719501126605811081753835615990308375175699875034961814738856924869547959405289157059163055112106301479867011995957534895571689868272711055348369796234428658023218449599921798901166952283172403655978099973951241858028723592289629195728784545818536151995797032880270411087953692389003992841743940040314268740560622483000147315744543714220416602593110092319123250405846183272866895123709664194857724730033108782800979398903894411778910838014837156212989569745900452204123764936885714941968857705778155905945077100289315136159460587861469829473998162383316959201611427974085590486609787891516594695910625543269283447134141054756447889865944445120343849617449000742988788613709131258205983297634800023208980399298517243364849200059949767914503434884796349178203548110590452958440745347390038980432730692952212399593580243582301941811300141686677267750393040675646179573933553318938085333309064444910617927186912522454505207077615467929604719650365304603044616363009015676338795203677494143773164195813717303107149095568338344205299570722579940967441491390129235190274414390543624943442676583183268074566719764819795453110826271278383586546692799283728676046772609415797812413824143756163240208054775148599930091999537723155442647579408945953762382084123481089532503331343770862648938959501914848946519142619563470892208615080803587069701710186836830303432791088275770885241891579017510249596506815413634205029535731739114470336945541026555231123004555582644482332266367724844412480458027689735037832395017784545958804595334113991163164342389384314062521591676046528253599030003341402374932967677475886136065145935003582840309559138275896582215976401584935592040092415256662724166309069024050768973982617671204547617081325740665453041478993386040330412244718862322083680642978079943383879159056413789702211782806543050093623295270516967650655608145485535041772509011046416947390591501653640163818485397111803498086991813889317339428842978061676774266479423144856357911877112107654977281908458320664262931767592676540883239277095293419199152353781779046821108298893968033427128229324998337764823931995195793405073593127560128672951657276140114152990890444753843 8084482521693453528473710049788431563206680230477323170597433910773911050301988548858258448378327937806522922824821635928092334629276872296198339024388402677886286670202291147629699650689384892155513682750933782398513201813304790374820703740854355062530372814026900217232573740799196844726949582112013448278976812561602170456075951434124981085169453877000733458771777038436834235510703365225357215087084548064947188368931621867615868135730022117796443818375457684262318399973577787174687080606112637334498720936328272588783781615081512019321845049794195228423422067273477153397481902728767664904719923204624386818460245593212448792091496970633801964562953714130714109212268222884622339088515419080584347836425571625045294329757818979075694484799737124120768852055977907766883185465797779698899513686849127648981705393553785004586023157748643804682819794777142836891331011233789251480950742230603469794100887469297747474163394814213712199307379431128697677707299264684594521895027008159281365180689888146176718646347301075192223382950096483471761987103042480241630930406881662747102174205238612289702323999833191147031760860681104083665265655726996928057499219799267220713892605195659572056824247005542115175782362129521736176020791370585285606872953399341439587118139759641342745098665316395964169468809542586720880728062046647505387129521287525371814722034244790189832611040911990658903430015329002827443884138395741038933564674028373934008755113881693829310586869448580836194646576769400478088262474924881525618911233653158599171019560359501042146042396229931405101544643100746523637831385010944605632740009370473317837766239708434216841290069525857279293254768363803732109848322500830452540733724307230074720771883292942607605115554417171288142774495175462403605498846849192200293396592591191832870448095068918426908646820412680172102690126329026279300320347887274168663166433766654706008268514511574691190846402487450071714608927517581468891402646073221245807245335971657712748907254910866932041905331191934174399575077011864194512176713671635701682872310246331020539264376347804445574634951153777943743103012889946372536673600165808676632944470551271597334895412197751515919891233968497281959023919422082881935439023169507295481194596870330866671956481011710888686038635254407304696522331828899972234161702353870575721193201358190861690427049387476758754050584101614710633930534127899760783234955036116541732516290941265139154789974102108563282031239833728034524722945505168498620325214795532297134239338042095355235152366522721057290273145361101227770256981654058079369652761281232804739177081653827947152392714507450781457318066950763366238564937185336169466545654101098310844337992729708347883413000294390783234529951345810570200043225755323781201748377166550471169404753924474535001454926068063727667544567725355827029018455509794602668386913967358531934261069374301626257710959644561570526663921747298558549892384145673401805732405857849350782452759765604 13080967501554466919586936347942305896153845365862626003588988954498249768567902017057741618378363245319123857692336361549914817604934750302219755550503787032542785013885514304181529640070027705440875043061052786877166784134616303161118169943402949038213160828915729542082621159784340082321688417411878681165533757242825814238426961010101695836581219220460445433855908937736237700585929024005864474838517437910999608514494038643851911363148683662617303265750366543459181180206803394342260967007647429940704049805225835336124797993833273416049503931038714468271188421241432944462835425491209252267508454352105249352667525042440363900710285119588072267759641505358489897928677441914852212880130999398123947402378154952969659183510828974146326886989068550387578440802301031884504499974314143839887744936455687078043424894680390815667776993364634113057995494652177798706069868158658799440356031387662632849212993770777614486159352349109283889175652142184046047503533693342617740344626929958182532132973060549832696746321252317050252106542386112667490771648861016393626727439761933158190127897627616282544067939873505415772321483164104230981010199441217344660092329891586343964298451378932438951947956669736972900512395238304537155419695264997064517710968236497652576687885660093546868863602202110906138326515320742626825805162335962641546590109148995201288720196628107149034222468886076249390039803220519422139794763939010322380698815083130381898621058326814173160204318449323824983260285900658684071560109724904734599310532170401964020219620309268956649477281026280583305092753691199482078576732400983586065470702322685717431346483290736158652590211212534547043647809039449911683781875819768537874042788752140692647958795815397112812193169885100892862424860480065448221861855864868539088600270085335606034643908786221534057742388751024377402260848908967246741811738016509358937580824310279649450945097694842765757566167307245524825435198795965055438095445356949921854017945387455525162731398667030172249960106340534104491574614735019637159756122617589464064956433727420553042595720118667094513594453068626890262245632453417264745288680969395746334654657388101900767686500473522401161782812986007531555530734835717086964974754908621765818140137896886097794961036594355371018305002979251717176980359518635010066556720138416534525788535472182024854769438771790821275642260148142964232960537469302135716202632512002677797662225944847979464349112378005145498007641418663626564815360761831222786634283819583066108221955713299902852233692263386510331752138747141558182501700516380163050295739361176188618336138067617649364175521050500875080613337467731016894173082670871211239054665147515258234929494383348511701898397406194281321521765235127909628886203817000555468227800311406829081281866032129512283363384388727990599312160401896710268295550803213801820740695746405353042559963342335053385940284642899335350595916943091963623485511705802074757389681997963503773343204519447 21165450023247920448060646397730737459360525596339949174186422865272160818869890565916000066756691183125646780517157997478007152234211622598418094574892189710429071684087805451811229290759412597596388725811986569275679985947921093535938873684257304100743533642942629759315194900583536927048637999523892129444510569804427984694502912444226676921750673097461178892627685976173071936096632389231221689925601985975946796883425660511467779498878705780413747084125824227721499580180381181516948047613760067275202770741554107924908579608914785435371348980832909696694610488514910097860317328219976917172228377556729636171127770635652812692801782090221874232322595219489204007140945664799474551968646418478708295238803726578014953513268647953222021371788805674508347292858278939651387685440111923538787258623304814727025130288234175820253800151113277917740815289429320635597400879392448050921306773618266102643313881240075361960322747163322996088483031573312743725210832958027212262239653938117463897313662948696009415392668553392242475489492482596139252758751903496635257657846643595905292302102866228572246391939706696562804082343845208314646275855168214272717591549690853564678191056574592011008772203675279088076294757367826273331440486635582350124583921635839092163806025419734889613962267518506870307795324863329347706533224382610146933719630436520573103442230872897338866833509798066908293469818549522249583678902334751361314263489111504315907376172208508002470791187897904661177906862670059162159822584649786260218221765823560563191239180668769998795519677256211988406637396791946005716408117411928191698210711693159035269112722999170375493880280738391826336902577403253643793630198320598990414776513059370767368730679108339720417308724302272181005199355655527851827360702714060739381996862676527438905092003855139960966389209163704549504950975237993526042132085903783527600747258076934355459213612206417456948412569794695596540044126313546524329498091430171167661263281359113237911638653577897104291865437532468278891149691746883831671932836289225165747828743973751573581860096466471540088229404222404834005348645343363637281962281135204422967599127939373498102581912671273917081674046954504813514554654257799968900413778078129061299334734767216964466917517606066259704343638233659021873502691347534982300718422492287110246981736830372886545196488159267580029692844249757674866891071597201896499437587548119219530178516886113118619139086480113708780038881252391661089538306266999721406959498615115363242461293755395258087386058786107567622025284108242785952758682170438242419948500642408993357513219721445596516568235557951656537931404418494383132738019856207380705600319248613569079267487113056859585311397700585064556051716580938479828929429572324336669976177477957300250686619956604047284818310456791718266856728127252537297314006313008404489127609713763884976821032716636679643651244287460905877259838690390522173377895851475476563122087855812854555795964285051 34246417524802387367647582745673043355514370962202575177775411819770410587437792582973741685135054428444770638209494359027921969839146372900637850125395976742971856697973319755992758930829440303037263768873039356152846770082537396697057043627660253138956694471858359301397816060367877009370326416935770810610044327047253798932929873454328372758331892317921624326483594913909309636682561413237086164764119423886946405397919699155319690862027389443031050349876190771180680760387184575859209014621407497215906820546779943261033377602748058851420852911871624164965798909756343042323152753711186169439736831908834885523795295678093176593512067209809946500082236724847693905069623106714326764848777417876832242641181881530984612696779476927368348258777874224895925733660579971535892185414426067378675003559760501805068555182914566635921577144477912030798810784081498434303470747551106850361662805005928735492526875010852976446482099512432279977658683715496789772714366651369830002584280868075646429446636009245842112138989805709292727596034868708806743530400764513028884385286405529063482430000493844854790459879580201978576403827009312545627286054609431617377683879582439908642489507953524449960720160345016060976807152606130810486860181900579414642294889872336744740493911079828436482825869720617776446121840184071974532338386718572788480309739585515774392162427501004487901055978684143157683509621770041671723473666273761683694962304194634697805997230535322175630995506347228486161167148570717846231382694374690994817532297993962527211458800978038955444996958282492571711730150483145487794984849812911777763681414015844752700459206289906534146470491950926373380550386442703555477412074140367528288819301811511460016689474923736833229501894187373073867624216135593300049222558578929278470597132761863044939735912641361495024131597914728926907211824146960772783943823920292886538328082387214004910158709901260222705978737101941121365479325109511579767593536787121089515281226746568763074370052244927276541825543873002383382724306481903468831688958906814629812785177701172126624455816585138634601823857291031724267594277796780902027250962104600169302253785327475398870268413144796318243456859940512345070085389093517055865388532986750827117474872664103062261878554200421630722648641212910739050483050866169992367275142630703644772770272302554911399965926931058401305335104397900639099851609066504032215640220060121897327840742830961098083488198858118854278046522671055287654353667028830944193593782434698429350683249468695160939619751049494077953777422855384344135260382686818405470244240003585181975849357789063245880743756608452531618544741886225400026911102527078591944654984396128827314196981496405371287209795106779345877573481816066389457815633389324892138203977789364129331968485988733559568181694845519708866168888529149247565609557116222206309868305460169238019380996058971733029591528930360241227855755633482485796863407557277551320511769853776358329139168804498 55411867548050307815708229143403780814874896558542524351961834685042571406307683148889741751891745611570417418726652356505929122073357995499055944700288166453400928382061125207803988221588852900633652494685025925428526756030458490232995917311917557239700228114800989060713010960951413936418964416459662940054554896851681783627432785898555049680082565415382803219111280890082381572779193802468307854689721409862893202281345359666787470360906095223444797434002014998902180340567565757376157062235167564491109591288334051185941957211662844286792201892704533861660409398271253140183470081931163086611965209465564521694923066313745989286313849300031820732404831944336897912210568771513801316817423836355540537879985608108999566210048124880590369630566679899404273026518858911187279870854537990917462262183065316532093685471148742456175377295591189948539626073510819069900871626943554901282969578624194838135840756250928338406804846675755276066141715288809533497925199609397042264823934806193110326760298957941851527531658359101535203085527351304945996289152668009664142043133049124968774732103360073427036851819286898541380486170854520860273561909777645890095275429273293473320680564528116460969492364020295149053101909973957083818300668536161764766878811508175836904299936499563326096788137239124646753917165047401322238871611101182935414029370022036347495604658373901826767889488482210065976979440319563921307152568608513045009225793306139013713373402743830178101786694245133147339074011240777008391205279024477255035754063817523090402697981646808954240516635538704560118367547275091493511392967224839969461892125709003787969571929289076909640350772689318199717452963845957199271042272460966518703595814870882227385420154032076553646810618489645254872823571791121151876583261292990017852593995438390483844827916496501455990520807078433476412162799384954298826075909824076414139075340464148360369372322107677679654391306896636717905523451423058104097091628217292257176544508105682000986008705822824380833690981405470662273873998228787300503621795196039795560613921674923700206315913051610174690053261513436558272942923140144539309213243239804592269852913266848896972850325816070235325130906895017158584640043351317024765802311064879888416809607431320026728796071806487890426992279446569760923985742213704974667993565122990755019752009132927797945162415090325981335027948647658313966742680663705928715077807608241116858019259717074216702627285338232563058085403923446948743891973295830665600553281049813792593144543224090419027005809835601645575802706963627130088019064857256647890192740645994175333362577510508842397311992166404188156476146304719783159649122383285972650255303644742396393464468609462230872521192807364410433625198397004869286745062961649228808180155267321429582655105945337606853000005302311427133025616656401784862923563429230610798995915173933122996202028775608412673242773217821147105115594323873007970241303408753027883633857709589212884935133089549 89658285072852695183355811889076824170389267520745099529737246504812981993745475731863483437026800040015188056936146715533851091912504368399693794825684143196372785080034444963796747152418293203670916263558065281581373526112995886930052960939577810378656922586659348362110827021319290945789290833395433750664599223898935582560362659352883422438414457733304427545594875803991691209461755215705394019453840833749839607679265058822107161222933484666475847783878205770082861100954750333235366076856575061707016411835113994446975334814410903138213054804576158026626208308027596182506622835642349256051702041374399407218718361991839165879825916509841767232487068669184591817280191878228128081666201254232372780521167489639984178906827601807958717889344554124300198760179438882723172056268964058296137265742825818337162240654063309092096954440069101979338436857592317504204342374494661751644632383630123573628367631261781314853286946188187556043800399004306323270639566260766872267408215674268756756206934967187693639670648164810827930681562220013752739819553432522693026428419454654032257162103853918281827311698867100519956889997863833405900847964387077507472959308855733381963170072481640910930212524365311210029909062580087894305160850436741179409173701380512581644793847579391762579614006959742423200039005231473296771209997819755723894339109607552121887767085874906314668945467166353223660489062089605593030626234882274728704188097500773711519370633279152353732782200592361633500241159811494854622587973399168249853286361811485617614156782624847909685513593821197131830097697758236981306377817037751747225573539724848540670031135578983443786821264640244573098003350288660754748454346601334046992415116682393687402109628955813386876312512677018328740447787926714451925805819871919296323191128200253528784563829137862951014652404993162403319374623531915071610019733744369300677403422851362365279531032008937902360370043998577839271002776532569683864685165004413346691825734852250764060378758067751657375516525278473045656598304710690769335310754102854425373399099376095826830771729636748809291877118804468282540537200936925441336464205344404761572106698594324295843118738960866553568587766835529503654725432444834080631190844051630715534284480095423088990674626006909521149640920659480499974468793079874967035268707753694399792522281435482709345128342021384382640363053045558953066594289730209960930718027668363014185860002548035314786115484196351417336131926594502236398245640324661609794147063484512221943827792692785579966625560885095723529580129819011474223279447544075053360436980649579357309211935299572088278055748774856719775020888190945183186560224910364564594910288040871223707661450105867602159730987914143756311198680213071258744560696350974120946384133056685558914623591934071166421181700147831135999194505185551032428533120545452817108864220634102361015583024834580145702834302148181388332971349957355493767104710966030579204145627563365571214074301894047 145070152620903002999064041032480604985264164079287623881699081189855553400053158880753225188918545651585605475662799072039780213985862363898749739525972309649773713462095570171600735374007146104304568758243091207009900282143454377163048878251495367618357150701460337422823837982270704882208255249855096690719154120750617366187795445251438472118497023148687230764706156694074072782240949018173701874143562243612732809960610418488894631583839579889920645217880220768985041441522316090611523139091742626198126003123448045632917292026073747425005256697280691888286617706298849322690092917573512342663667250839963928913641428305585155166139765809873587964891900613521489729490760649741929398483625090587913318401153097748983745116875726688549087519911234023704471786698297793910451927123502049213599527925891134869255926125212051548272331735660291927878062931103136574105214001438216652927601962254318411764208387512709653260091792863942832109942114293115856768564765870163914532232150480461867082967233925129545167202306523912363133767089571318698736108706100532357168471552503779001031894207213991708864163518153999061337376168718354266174409874164723397568234738129026855283850637009757371899704888385606359083010972554044978123461518972902944176052512888688418549093784078955088676402144198867069953956170278874619010081608920938659308368479629588469383371744248808141436834955648563289637468502409169514337778803490787773713413890806912725232744036022982531834568894837494780839315171052271863013793252423645504889040425629008708016854764271656863926030229359901691948465245033328474817770784262591716687465665433852328639603064868060353427172037329562772815456314134617954019496619062300565696010931553275914787529782987889940523123131166663583613271359717835603802389081164909314175785123638644012629391745634364407005173212071595879731537422916869370436095643568445714816478763315510725648903354116615582014761350895214557176526227955627787961776793221705603868370242957932765046387463890576038209207506683943707930472302939478069838932549298894220934013021051019527037087642688358983981930380317904840813480124077069980645677448584209353841959611861173192815969064776936788893718673730546662239365475796151105396993155116510603951094087526743115719470697813397411576633200106050260898454535293579941703262272876685154812274290568410507290290757111710363975391001693217267033336970393915889645795835276604131043879262265109531488742769534583980394217330517949185142137613620492275394700344534326014536972335916875998993631370720697369105382836782638604311298512401331701250629721295573532642574512810080930675367740941260907931497034495664966346209347293650537245165591685613620101125918715329833032252180721508166744823878610076128031305759312623349754564288324006988497278697879408773274181705450142563132220121841952817291456683974683427907860135808035484011785053610188558376077075366002535438086944281228501737346014374783607087779485272954784099009434983596 234728437693755698182419852921557429155653431600032723411436327694668535393798634612616708625945345691600793532598945787573631305898366732298443534351656452846146498542130015135397482526425439307975485021801156488591273808256450264093101839191073177997014073288119685784934665003589995827997546083250530441383753344649552948748158104604321894556911480881991658310301032498065763991702704233879095893597403077362572417639875477311001792806773064556396493001758426539067902542477066423846889215948317687905142414958562040079892626840484650563218311501856849914912826014326445505196715753215861598715369292214363336132359790297424321045965682319715355197378969282706081546770952527970057480149826344820286098922320587388967924023703328496507805409255788148004670546877736676633623983392466107509736793668716953206418166779275360640369286175729393907216499788695454078309556375932878404572234345884441985392576018774490968113378739052130388153742513297422180039204332130930786799640366154730623839174168892317238806872954688723191064448651791332451475928259533055050194899971958433033289056311067909990691475217021099581294266166582187672075257838551800905041194046984760237247020709491398282829917412750917569112920035134132872428622369409644123585226214269201000193887631658346851256016151158609493153995175510347915781291606740694383202707589237140591271138830123714456105780422814916513297957564498775107368405038373062502417601988307686436752114669302134885567351095429856414339556330863766717636381225822813754742326787440494325631011546896504773611543823181098823778562942791565456124148601300343463913039205158700869309634200447043797213993301969807345913459664423278708767950965663634612688426048235669602189639411943703327399435643843681912353719147644550055728194901036828610498976251838897541413955574772227358019825617064758283050912046448784442046115377312815015493882186166873090928434386125553484375131394893792396447529004488197471826461958226118950560195977810183529106766221958327695584724031962416753587070607650168839174243303401748646307412120427115353867859372325107793273807499122373123354017325013995421982141653928614115414066310455497488659087803737803342462306440566076165894090908240985186028183999168141319485378567622166204710145323820306932726274120765530760872923328373454908738530980630379554604796572003893216635419099133094746615754054738776220099931260124125850576513862944967145229739264813144846274858253730935397730349257112451421540383253945153885188847408018838236480800128609661578960256931605793092634962966601650078534577959945406754611066701945152889951786448109653018953423489716117627706517922686610149532769572204015101840075879726484843808787368821197435191983168635651923056022558823147386775866455663597470700948421380692547411902289813479939695363405597973699131414627027503849719989804520136245016724356442137845027368078444768704078911377514183923771058294238583995504450725340814186291925112836320355313083736877643 379798590314658701181483893954038034140917595679320347293135408884524088793851793493369933814863891343186399008261744859613411519884229096197193273877628762495920212004225585306998217900432585412280053780044247695601174090399904641256150717442568545615371223989580023207758502985860700710205801333105627132102907465400170314935953549855760366675408504030678889075007189192139836773943653252052797767740965320975305227600485895799896424390612644446317138219638647308052943983999382514458412355040060314103268418082010085712809918866558397988223568199137541803199443720625294827886808670789373941379036543054327265046001218603009476212105448129588943162270869896227571276261713177711986878633451435408199417323473685137951669140579055185056892929167022171709142333576034470544075910515968156723336321594608088075674092904487412188641617911389685835094562719798590652414770377371095057499836308138760397156784406287200621373470531916073220263684627590538036807769098001094701331872516635192490922141402817446783974075261212635554198215741362651150212036965633587407363371524462212034320950518281901699555638735175098642631642335300541938249667712716524302609428785113787092530871346501155654729622301136523928195931007688177850552083888382547067761278727157889418742981415737301939932418295357476563107951345789222534791373215661633042511076068866729060654510574372522597542615378463479802935426066907944621706183841863850276131015879114599161984858705325117417401919990267351195178871501916038580650174478246459259631367213069503033647866311168161637537574052541000515727028187824893930941919385562935180600504870592553197949237265315104150641165339299370118728915978557896662787447584725935178384436979788945516977169194931593267922558775010345495966990507362385659530583982201737924674761375477541554043347320406591765024998829136354162782449469365653812482211020881260730310360949482383816577337740242169066389892745789006953624055232443825259788238751447824554428566220768116294153153685848903733793931538646360461517542910589646909013175852700642867241425141478134880904947015013466777255737879440277964167497449091065402627819102512823469256025922316670681475056868514740131356025114296622828133456384037136291425177154284651923436472655148909320429616021633704344302907320871581021771377863667034850441793253507064709417070862572303723925709856244805110591145056431993487133268230518041740222309698221571276273618527078254377763601023265519378124566587630400606682520867565646160583547752553164251017772464526537577953888302326490461740345803384288682845876472346738455861696423240726422594360960919733949628791230657378535638014957182275115878978919497665639085241471412098463909913287536527268224235349357160089800846437433223514807172214976220820455512709704699535909180987692888712969545111048116262263634748869456667011446488494819672924584492250173329039153132054957262454988452880186459209145238519812497241796739715597793379704598109275139412093171861239 614527028008414399363903746875595463296571027279353070704571736579192624187650428105986642440809237034787192540860690647187042825782595828495636808229285215342066710546355600442395700426858024720255538801845404184192447898656354905349252556633641723612385297277699708992693167989450696538203347416356157573486660810049723263684111654460082261232319984912670547385308221690205600765646357485931893661338368398337877645240361373110898217197385709002713631221397073847120846526476448938305301570988378002008410833040572125792702545707043048551441879700994391718112269734951740333083524424005235540094405835268690601178361008900433797258071130449304298359649839178933652823032665705682044358783277780228485516245794272526919593164282383681564698338422810319713812880453771147177699893908434264233073115263325041282092259683762772829010904087119079742311062508494044730724326753303973462072070654023202382549360425061691589486849270968203608417427140887960216846973430132025488131512882789923114761315571709764022780948215901358745262664393153983601687965225166642457558271496420645067610006829349811690247113952196198223925908501882729610324925551268325207650622832098547329777892055992553937559539713887441497308851042822310722980706257792191191346504941427090418936869047395648791188434446516086056261946521299570450572664822402327425713783658103869651925649404496237053648395801278396316233383631406719729074588880236912778548617867422285598736973374627252302969271085697207609518427832779805298286555704069273014373694000509997359278877858064666411149117875722099339505591130616459387066067986863278644513544075751254067258871465762147947855158641269177464642375642981175371555398550389569791072863028024615119166808606875296595321994418854027408320709655006935715258778883238566535173737627316439095457302895178819123044824446201112445833361515814438254528326398194075745804243135649256907505772126367722550765024140682799350071584236932022731614700709673943504988762198578299823259919907807231429378655570608777215104613518239815748187419156102391513548837261905250234772806387338574570529545378562651087521514774105060824609960756441437584670092232772168170134144672252543473818331554862698994027547292278121477453361153452793242921851222771075525139761345454011277029181441637111782644301192040489759180324234137444264021867434576196940561128955377899857206899111170769707233199490642167590798823561166538421503357791891399224038459276996454775854915844742852028222904121510800045772395160572002487498572593136199156914145233932283554375308769985938761380454432292145210472763125185879312546147409029386968582214720373496163344532879868885265411748491701680740925317351138583307718700656357724703416218517992812012856868996256370901583038670639818291156461131085392083321083277506368652664908516646089961395049375896960516731436293014955917941308848692311174066521210499725966533899830394370382980203532758396492746247465056411979671629710945595494725176908738882 994325618323073100545387640829633497437488622958673417997707145463716712981502221599356576255673128377973591549122435506800454345666824924692830082106913977837986922550581185749393918327290610132535592581889651879793621989056259546605403274076210269227756521267279732200451670975311397248409148749461784705589568275449893578620065204315842627907728488943349436460315410882345437539590010737984691429079333719313182872840847268910794641587998353449030769441035721155173790510475831452763713926028438316111679251122582211505512464573601446539665447900131933521311713455577035160970333094794609481473442378323017866224362227503443273470176578578893241521920709075161224099294378883394031237416729215636684933569267957664871262304861438866621591267589832491422955214029805617721775804424402420956409436857933129357766352588250185017652521998508765577405625228292635383139097130675068519571906962161962779706144831348892210860319802884276828681111768478498253654742528133120189463385399425115605683456974527210806755023477113994299460880134516634751900002190800229864921643020882857101930957347631713389802752687371296866557550837183271548574593263984849510260051617212334422308763402493709592289162015023965425504782050510488573532790146174738259107783668584979837679850463132950731120852741873562619369897867088792985364038038063960468224859726970598712580159978868759651191011179741876119168809698314664350780772722100763054679633746536884760721832079952369720371191075964558804697299334695843878936730182315732274005061213579500392926744169232828048686691928263099855232619318441353318007987372426213825114048946343807265208108731077252098496323980568547583371291621539072034342846135115504969457300007813560636143977801806889863244553193864372904287700162369321374789362865440304459848499002793980649500650215585410888069823275337466608615810985180092067010537419075336476114604085131640724083109866609891617154916886471806303695639469375847991402939461121768059417328419346416117413073593656135163172587109255137676622156428829462657200595008803034380790262403383385115677753402352041347785283258002929051689012223196126227237779858954261053926118155088838851609201540767283605174356669159321822161003676315257768878538307737445166358323877919984845569377367087715621332088762508692804415679055707524609622117487644508973438938297148500664486838811622704967798044167602763194366467721160209331021133259388109697776976318969653601802060300261974153979482432373252634905424989076446206355942913125166738516345057662736734868033536258774016115654573370227444226330904638883666334459548426605735140508369949120918211005951030874698982547837051160381290727411199346380010558822550681771628613943894251971640453867349972102657715433689594416390210885616039111611973840790091619230264265199257365634453627694206223658684124766417183742882781509775590865893340942484503105674342554683228988888283274556842189348771278208989988044204772009773051334309054870634137270080600121 1608852646331487499909291387705228960734059650238026488702278882042909337169152649705343218696482365412760784089983126153987497171449420753188466890336199193180053633096936786191789618754148634852791131383735056063986069887712614451954655830709851992840141818544979441193144838964762093786612496165817942279076229085499616842304176858775924889140048473856019983845623632572551038305236368223916585090417702117651060518081208642021692858785384062451744400662432795002294637036952280391069015497016816318120090084163154337298215010280644495091107327601126325239423983190528775494053857518799845021567848213591708467402723236403877070728247709028197539881570548254094876922327044589076075596200006995865170449815062230191790855469143822548186289606012642811136768094483576764899475698332836685189482552121258170639858612272012957846663426085627845319716687736786680113863423883979041981643977616185165162255505256410583800347169073852480437098538909366458470501715958265145677594898282215038720444772546236974829535971693015353044723544527670618353587967415966872322479914517303502169540964176981525080049866639567495090483459339066001158899518815253174717910674449310881752086655458486263529848701728911406922813633093332799296513496403966929450454288610012070256616719510528599522309287188389648675631844388388363435936702860466287893938643385074468364505809383364996704839406981020272435402193329721384079855361602337675833228251613959170359458805454579622023340462161661766414215727167475649177223285886385005288378755214089497752205622027297494459835809803985199194738210449057812705074055359289492469627593022095061332466980196839400046351482621837725048013667264520247405898244685505074760530163035838175755310786408682186458566547612718400312608409817376257090048141748678870995022236630110419744957953110764230011114647721538579054449172500994530321538863817269412221918847220780897631588881992977614167919941027154605653767223706307870723017640170795711564406090617924715940672993501463366592551242679863914891726769947069278405388014164905425894339099665288635350450559789690615918314828636565580139210526997301187051847740615395698638596210387861007021743346213019827078992688224022020816188550968593379246331899461190238409280175100691060370709138712541726898361270204145804587059980247748014368802441721781953237460805731724697605047967767000604825004943278773532901599667211802376921819956820554648119280334110861052825840519577258428929834398277116104663128329110587246252128338073697169226014917650798935891782178770191057570490963343356166205606785336931028876807222673612485047686655778978507886793220671404370862327080716920045646702475902901027120935876173689265079347314600251976675056672385342784115514584429945965317973249556255857402768434971875483702551347542705626018299362144340296185053733500663377700474319074524731508807202189634795677172195553054409195522788113668927225169552304036605482734291669828421752722964020000466128862446989339003 2603178264654560600454679028534862458171548273196699906699986027506626050150654871304699794952155493790734375639105561660787951517116245677881296972443113171018040555647517971941183537081439244985326723965624707943779691876768873998560059104786062262067898339812259173393596509940073491035021644915279726984665797360949510420924242063091767517047776962799369420305939043454896475844826378961901276519497035836964243390922055910932487500373382415900775170103468516157468427547428111843832729423045254634231769335285736548803727474854245941630772775501258258760735696646105810655024190613594454503041290591914726333627085463907320344198424287607090781403491257329256101021621423472470106833616736211501855383384330187856662117774005261414807880873602475302559723308513382382621251502757239106145891988979191299997624964860263142864315948084136610897122312965079315497002521014654110501215884578347127941961650087759476011207488876736757265779650677844956724156458486398265867058283681640154326128229520764185636290995170129347344184424662187253105487969606767102187401557538186359271471921524613238469852619326938791957041010176249272707474112079238024228170726066523216174395418860979973122137863743935372348318415143843287870046286550141667709562072278597050094296569973661550253430139930263211295001742255477156421300740898530248362163503112045067077085969362233756356030418160762148554571003028036048430636134324438438887907885360496055120180637534531991743711653237626325218913026502171493056160016068700737562383816427668998145132366196530322508522501732248299049970829767499166023082042731715706294741641968438868597675088927916652144847806602406272631384958886059319440241090820620579729987463043651736391454764210489076321811100806582773216896109979745578464837504614119175454870735632904400394458603326349640899184470996876045663064983486174622388549401236344748698033451305912538355671991859587505785074857913626411957462863175683718714420579631917479623823419037271132058086067095119501755723829789119052568348926375898741062588609173708460275129362068672020466128313192042657266100111894568509190899539220497313279085520474349959692522328542949845873352547753787110684167044893181342638349554644908637015210437768927683575638498978611045216278516079629442519693358966654497391475659303455538978424559209426462210899744028873198269534806578623309792802987446376296095966134932962586252841090079942757817057310429830706427642579877520403083813880709489357298033754099663692458484280986822335964531262708461672626650212306449831586606617916726393649833116241569912543141682222039090782827164148927628805004226622435245561309628553971206027993203314100373500946434996239946850975928544146228646697126252692756218172299863635559734363460441871896514380408812665575321781611807904883383933815772034502408712417625429794884217201856034507099673095530577280180277869895609092424511676396943484067358901075314814472722335874600431525774298329055336762999717069939124 4212030910986048100363970416240091418905607923434726395402264909549535387319807521010043013648637859203495159729088687814775448688565666431069763862779312364198094188744454758132973155835587879838117855349359764007765761764481488450514714935495914254908040158357238614586741348904835584821634141081097669263742026446449127263228418921867692406187825436655389404151562676027447514150062747185817861609914737954615303909003264552954180359158766478352519570765901311159763064584380392234901744920062070952351859419448890886101942485134890436721880103102384584000159679836634586149078048132394299524609138805506434801029808700311197414926671996635288321285061805583350977943948468061546182429816743207367025833199392418048452973243149083962994170479615118113696491402996959147520727201090075791335374541100449470637483577132276100710979374169764456216839000701865995610865944898633152482859862194532293104217155344170059811554657950589237702878189587211415194658174444663411544653181963855193046573002067001160465826966863144700388907969189857871459075937022733974509881472055489861441012885701594763549902485966506287047524469515315273866373630894491198946081400515834097926482074319466236651986565472846779271132048237176087166559782954108597160016360888609120350913289484190149775739427118652859970633586643865519857237443758996536256102146497119535441591778745598753060869825141782420989973196357757432510491495926776114721136136974455225479639442989111613767052115399288091633128753669647142233383301955085742850762571641758495897337988223827816968358311536233498244709040216556978728156098091005198764369234990533929930142069124756052191199289224243997679398626150579566846139335506125654490517626079489912146765550619171262780377648419301173529504519797121835554885646362798046449892972263014820139416556437113870910299118718414624717514155987169152710088265053614160919952298526693435987260873852565119952994798940781017611230086881991589437438219802713191188229509655195847998759060596582868348275072468982967460075696322968019467976623338613886169468461733960655816578872981733273184414940531134089330110066217798500330933261089745658331118538930810852895095893966806937763159733117203363454538105613502016261542337230117921984918674079302105586987654792171169418054629170800301978535639551203553347227000931208415448360549760597895874582774345623914617807930725149828997565802144764963174661046900497405936337644540691759253483099454778832013648278986605461961162083210250938710612619060519505190546180359260608518432391076640889157097581260082559855439901578500941419948904895651575830513819927906136691797447293839616423636709270891251674695679217001400621882311169929211930323243144398205321753798638035540333686884293581525052336709998127753917148843784541059024332959350610509402233177916374798593766151126093172584691520930559238608480297720212075857450065448663501620034464510612411292528453379351419955456627544428853278497262349055802891862164059278127 6815209175640608700818649444774953877077156196631426302102250937056161437470462392314742808600793352994229535368194249475563400205681912108951060835222425535216134744391972730074156692917027124823444579314984471951545453641250362449074774040281976516975938498169497787980337858844909075856655785996377396248407823807398637684152660984959459923235602399454758824457501719482343989994889126147719138129411773791579547299925320463886667859532148894253294740869369827317231492131808504078734474343107325586583628754734627434905669959989136378352652878603642842760895376482740396804102238745988754027650429397421161134656894164218517759125096284242379102688553062912607078965569891534016289263433479418868881216583722605905115091017154345377802051353217593416256214711510341530141978703847314897481266530079640770635108541992539243575295322253901067113961313666945311107868465913287262984075746772879421046178805431929535822762146827325994968657840265056371918814632931061677411711465645495347372701231587765346102117962033274047733092393852045124564563906629501076697283029593676220712484807226208002019755105293445079004565479691564546573847742973729223174252126582357314100877493180446209774124429216782151619450463381019375036606069504250264869578433167206170445209859457851700029169567048916071265635328899342676278538184657526784618265649609164602518677748107832509416900243302544569544544199385793480941127630251214553609044022334951280599820080523643605510763768636914416852041780171818635289543318023786480413146388069427494042470354420358139476880813268481797294679869984056144751238140822720905059110876958972798527817158052672704336047095826650270310783585036638886286380426326746234220505089123141648538220314829660339102188749225883946746400629776867414019723150976917221904763707895919220533875159763463511809483589715290670380579139473343775098637666289958909617985749832605974342932865712152625738069656854407429568692950057675308151858799434630670812052928692466980056845127691702370103998902258102020028424622698866760530565232512322346444597823802632676282707186173775930450515052425702598521009605438295813610018781564095618023640867473760698768448441720594048447326778010384706092887660258410653276752774999045605560557173057913150803266170871800611937747988137454799370011298854659092325651560140634877659260293789471094144117580924247224410610918171526125093531937077727549427502136980440163753394954970522465681125679332299235097462159696094819259195837309914631169096900047341841155077443067722281145082603383090720743704199176808953505273017820070853963090587117690666613340984076833765496801673916274861984946337824862457702688882531101774122828746166169158781299171688544433968450924890728296551859184157217084786700170439999650431529252597206634346114571158515392786166993688409301002478568751522967468908722786593745708153393250789356037727935344272594044546140907555895359887354454666234428178963419029284804271560678111139654861881129217251 11027240086626656801182619861015045295982764120066152697504515846605696824790269913324785822249431212197724695097282937290338848894247578540020824698001737899414228933136427488207129848752615004661562434664344235959311215405731850899589488975777890771883978656526736402567079207749744660678289927077475065512149850253847764947381079906827152329423427836110148228609064395509791504144951873333536999739326511746194851208928585016840848218690915372605814311635271138476994556716188896313636219263169396538935488174183518321007612445124026815074532981706027426761055056319374982953180286878383053552259568202927595935686702864529715174051768280877667423973614868495958056909518359595562471693250222626235907049783115023953568064260303429340796221832832711529952706114507300677662705904937390688816641071180090241272592119124815344286274696423665523330800314368811306718734410811920415466935608967411714150395960776099595634316804777915232671536029852267787113472807375725088956364647609350540419274233654766506567944928896418748122000363041902996023639843652235051207164501649166082153497692927802765569657591259951366052089949206879820440221373868220422120333527098191412027359567499912446426110994689628930890582511618195462203165852458358862029594794055815290796123148942041849804908994167568931236268915543208196135775628416523320874367796106284137960269526853431262477770068444326990534517395743550913451619126177990668330180159309406506079459523512755219277815884036202508485170533841465777522926619978872223263908959711185989939808342644185956445239124804715295539388910200613123479394238913726103823480111949506728457959227177428756527246385050894267990182211187218453132519761832871888711022715202631560684985865448831601882566397645185120275905149573989249574608797339715268354656680158934040673291716200577382719782708433705295098093295460512927808725931343573070537938048359299410330193739564717745691064455795188447179923036939666897589297019237343862000282438347662828055604188288285238452273974727084987488500319021834779998541855850936232614066285536593332099286059155509203634929992956836687851119671656094313940952042653841276354759406404571551663544335687400986210486511127588069547425765871912669538295112229163527545475847137215256390253825663971781355802617308255101348546938405862645672878561071843293107620843550068990018700355269871139028418848896675954091097739222492512602163183880937569689732599511214224934608778787078067111110438682700281220357920520165569879709519107861346345623623426982889663514994459731609900801780436891513360712919398571795383039492013342242443854804004739902188599121210114478408583047095753709377384561748103174744711057336098370711622414832942639290204723528763836885546068450798609839036880438127404348678096381747693370447530509125902188400171604784099596244719877616140053600243717152984316633690971001431895178000792936095664580605418168306652415807834017654383635590963458138082768823027166942546724045188495378 17842449262267265502001269305789999173059920316697578999606766783661858262260732305639528630850224565191954230465477186765902249099929490648971885533224163434630363677528400218281286541669642129485007013979328707910856669046982213348664263016059867288859917154696234190547417066594653736534945713073852461760557674061246402631533740891786612252659030235564907053066566114992135494139840999481256137868738285537774398508853905480727516078223064266859109052504640965794226048847997400392370693606276722125519116928918145755913282405113163193427185860309670269521950432802115379757282525624371807579909997600348757070343597028748232933176864565120046526662167931408565135875088251129578760956683702045104788266366837629858683155277457774718598273186050304946208920826017642207804684608784705586297907601259731011907700661117354587861570018677566590444761628035756617826602876725207678451011355740291135196574766208029131457078951605241227640193870117324159032287440306786766368076113254845887791975465242531852670062890929692795855092756893948120588203750281736127904447531242842302865982500154010767589412696553396445056655428898444367014069116841949645294585653680548726128237060680358656200235423906411082510032974999214837239771921962609126899173227223021461241333008399893549834078561216485002501904244442550872414313813074050105492633445715448740478947274961263771894670311746871560079061595129344394392746756429205221939224181644357786679279604036398824788579652673116925337212314013284412812469938002658703677055347780613483982278697064544095922119938073197092834068780184669268230632379736447008882590988908479526985776385230101460863293480877544538300965796223857339418900188159618122931527804325773209223206180278491940984755146871069067022305779350856663594331948316632490259420388054853261207166875964040894529266298148995965478672434933856702907363597633531980155923798191905384673126605276870371429134112649595876748615986997342205741155818671974532812335367040129808112449315979987608556272876985187007516924941720701540529107088363258579058664109339226008381993245329285134085445045382539286372129277094390127550970824217936894378400273878332250431992777407995034657813289137972775640313426130323322815047887228209133106033020195128407193519996535772393293550605445709900718558237260521737998530121212478170766881137339540084162817936194118363439029767068202079184629676300220062029665320861377733443127554481736690615734458119377302208572598378795100479553757830080201048806419155203187500701066494705170808597597842822330644505979613700466865985937218642649346130079131032909057195788081573667685400795126389340393529384920616167080073444279204948867539803502267529492921586521487073258655648419492133437405252608015694625737050878127054780207348978954327716562101667641294974567165293193400598723288629139107522508966503746730024787084221790787932905936137208689709126746325724202012303162288683888811814554382487422887040383705278082201585926317712629 28869689348893922303183889166805044469042684436763731697111282630267555087051002218964314453099655777389678925562760124056241097994177069188992710231225901334044592610664827706488416390422257134146569448643672943870167884452714064248253751991837758060743895811222970593114496274344398397213235640151327527272707524315094167578914820798613764582082458071675055281675630510501926998284792872814793137608064797283969249717782490497568364296913979639464923364139912104271220605564186296706006912869446118664454605103101664076920894850237190008501718842015697696283005489121490362710462812502754861132169565803276353006030299893277948107228632845997713950635782799904523192784606610725141232649933924671340695316149952653812251219537761204059394495018883016476161626940524942885467390513722096275114548672439821253180292780242169932147844715101232113775561942404567924545337287537128093917946964707702849346970726984128727091395756383156460311729899969591946145760247682511855324440760864196428211249698897298359238007819826111543977093119935851116611843593933971179111612032892008385019480193081813533159070287813347811108745378105324187454290490710170067414919180778740138155596628180271102626346418596040013400615486617410299442937774420967988928768021278836752037456157341935399638987555384053933738173159985759068550089441490573426367001241821732878439216801814695034372440380191198550613578990872895307844365882607195890269404340953764292758739127549154044066395536709319433822382847854750190335396557981530926940964307491799473922087039708730052367359062877912388373457690385282391710026618650173112706071100857986255443735612407530217390539865928438806291148007411075792551419949992490011642550519528404769908192045727323542867321544516254187298210928924845913168940745656347758614077068213787301880458592164618277249049006582701260576765730394369630716089528977105050693861846551204795003320344841588117120198568444784323928539023937009103330452837909318394812617805387792636168053504268272847008546851712271995005425260742536320527648944214194811672730394875819340481279304484794337720375038339375974223248948750484441491922866871778170733159680282903802095537113095396020868299800265560845187739192002235992353342999457372660651508867332343663583773822199744174649353222753965002067105175666384383671408682284321463874501980889609074181518291463989502467448615964878033275727415522712574631828504742315303132860153992950915550343236906455369319683037061495381699911678350245770928515938263064533846324689921688060472112592302553940545307760050591980226698856617214444729169571144375151501050592086313569873999916336503818802112432016369876457458006027308123612250860838365900204544001354429712548860371948255970322951321058814304464773931316254459128885445360702021087009632176767197162967336897977500194968008506755247576109210220899714341420775192792219828083936930144785373707351743892508664718970122701543195450145345945560969809206732445024748309971506208007 46712138611161187805185158472595043642102604753461310696718049413929413349311734524603843083949880342581633156028237310822143347094106559837964595764450064768674956288193227924769702932091899263631576462623001651781024553499696277596918015007897625349603812965919204783661913340939052133748181353225179989033265198376340570210448561690400376834741488307239962334742196625494062492424633872296049275476803082821743648226636395978295880375137043906324032416644553070065446654412183697098377606475722840789973722032019809832834177255350353201928904702325367965804955921923605742467745338127126668712079563403625110076373896922026181040405497411117760477297950731313088328659694861854719993606617626716445483582516790283670934374815218978777992768204933321422370547766542585093272075122506801861412456273699552265087993441359524520009414733778798704220323570440324542371940164262335772368958320447993984543545493192157858548474707988397687951923770086916105178047687989298621692516874119042316003225164139830211908070710755804339832185876829799237200047344215707307016059564134850687885462693235824300748482984366744256165400807003768554468359607552119712709504834459288864283833688860629758826581842502451095910648461616625136682709696383577115827941248501858213278789165741828949473066116600538936240077404428309940964403254564623531859634687537181618918164076775958806267110691938070110692640586002239702237112639036401112208628522598122079438018731585552868854975189382436359159595161868034603147866495984189630618019655272412957904365736773274148289479000951109481207526470569951659940658998386620121588662089766465782429511997637631678253833346805983344592113803634933131970320138152108134574078323854177979131398226005815483852076691387323254320516708275702576763272693972980248873497456268640563087625468128659171778315304731697226055438165328226333623453126610637030849785644743110179676446950118458488549332681094380200677155010934351309071608656581292927624953172427922444280502820248260455564819728697459002522350202463237861056756032577453390731394504215045348863272549814079471805820083721915260595378225844874569042893691089715065111559954161236052527529890503391055526113089403533620828052618132559315168390886685581793757541887527472070777293818735516567942903828199674902785663412926906121669938803496799634641383118229149158344336227658107865906478383033080112460357091822932636661493825603693036575987708474687606166077695025832671528255635440290482179465436180325971977322357418267721347025756416393231280710190145376271189813739664292447092684793835857094075299650275408060558246380167887237559400711462893159195641816936986043537531450306513072479790664340633429697465587875916785807516020367748103760356573666829999090510982194381513909092794339656348803571733844408492137534502191170900793691297135894355098618176724646444366207859414583007760989873067353475082834098069616710677022132411385432007264699728432983856849590437723106949895897823920636 75581827960055110108369047639400088111145289190225042393829332044196968436362736743568157537049536119971312081590997434878384445088283629026957305995675966102719548898858055631258119322514156397778145911266674595651192437952410341845171766999735383410347708777142175376776409615283450530961416993376507516305972722691434737789363382489014141416823946378915017616417827135995989490709426745110842413084867880105712897944418886475864244672051023545788955780784465174336667259976369993804384519345168959454428327135121473909755072105587543210430623544341065662087961411045096105178208150629881529844249129206901463082404196815304129147634130257115474427933733531217611521444301472579861226256551551387786178898666742937483185594352980182837387263223816337898532174707067527978739465636228898136527004946139373518268286221601694452157259448880030817995885512844892466917277451799463866286905285155696833890516220176286585639870464371554148263653670056508051323807935671810477016957634983238744214474863037128571146078530581915883809278996765650353811890938149678486127671597026859072904942886317637833907553272180092067274146185109092741922650098262289780124424015238029002439430317040900861452928261098491109311263948234035436125647470804545104756709269780694965316245323083764349112053671984592869978250564414069009514492696055196958226635929358914497357380878590653840639551072129268661306219576875135010081478521643597002478032863551886372196757859134706912921370726091755792981978009722784793483263053965720557558983962764212431826452776482004200656838063829021869580984160955234051650685617036793234294733190624452037873247610045161895644373212734422150883261811046008924521740088144598146216628843382582749039590271733139026719398235903577441618727637200548489932213439629328007487574524482427864968084060293277449027364311314398486632203895722595964339542655587742081543647491294314974679767294960046605669531249539164524605694034871360412402061494490611322437570977815715080448556324516533302573366580409730997527775463205774181584404976791648202404124899090864689344551854298873809526195122061291234818627174595359010534816557961493235844719634444139854623067003598787076394412889669094466015791810134795307521733886142954454409050754859815734361067640935260742592257050953639904852768588593290505341347485781121098515885099118758232525854519122097368373926998997958145736084507345645211293322330346008339708847862467638521716420931932288040847938672501785863879377114530571742905838295681332255193350446338081291752822782447930211735121499714884427319383650453071538804469221419783212059296972254200807433400627799396977997754248953355919994989456333821196092041525178999329902009589230346498356376392316004074083307894725644303555284913510635973037978239700358369890581366021175689300501839089148400988659305642649602674727386945546158707628634607375227589073809997498260456541449813509219341741102534086975202714845074378544826658797170168131698205869330128643 122293966571216297913554206111995131753247893943686353090547381458126381785674471268172000620999416462552945237619234745700527792182390188864921901760126030871394505187051283556027822254606055661409722373889676247432216991452106619442089782007633008759951521743061380160438322956222502664709598346601687505339237921067775307999811944179414518251565434686154979951160023761490051983134060617406891688561670962927456546171055282454160125047188067452112988197429018244402113914388553690902762125820891800244402049167141283742589249360937896412359528246666433627892917332968701847645953488757008198556328692610526573158778093737330310188039627668233234905231684262530699850103996334434581219863169178104231662481183533221154119969168199161615380031428749659320902722473610113072011540758735699997939461219838925783356279662961218972166674182658829522216209083285217009289217616061799638655863605603690818434061713368444444188345172359951836215577440143424156501855623661109098709474509102281060217700027176958783054149241337720223641464873595449591011938282365385793143731161161709760790405579553462134656036256546836323439546992112861296391009705814409492833928849697317866723264005901530620279510103600942205221912409850660572808357167188122220584650518282553178595034488825593298585119788585131806218327968842378950478895950619820490086270616896096116275544955366612646906661764067338771998860162877374712318591160679998114686661386150008451634776590720259781776345915474192152141573171590819396631129549949910188177003618036625389730818513255278348946317064780131350788510631525185711591344615423413355883395280390917820302759607682793573898206559540405495475375614680942056492060226296706280790707167236760728170988497738954510571474927290900695939244345476251066695486133602308256361071980751068428055709528421936620805679616046095712687642061050822297962995782198379112393433136037425154356214245078505094218863930633544725282849045805711721473670151071904250062524150243637524729059144764793758138186309107190000050125665669012042641161009369101593135519403305910038207824404112953281332015205783206495414005400440233579577710249051208300956279588605375907150596894102178131920525979072628086843844428267354622690124772828536248166592642387287805138361459670777310535160879153314807638432001520196627011286289277920733157268217347907390870190746780205234280405382031038258196441599168577847954816155949701376284835570942326127882498626958120712376194307942076346058842550710897714883160653099599976540376202754474523033532972593306482924935239379176874412068444288928632879768871695191272617543352422088044992801339262290137193396065890341963532520906640334268571832189519632759599475177106263284163892412683752177843664468392474302645795895705017486947071034040014718694153099865584181438036341280319301782350602778543957773345563670192603073836494021958235350063683064851735539375547883125930018763234945472407209979544802811528683508387607891238648101767154049279 197875794531271408021923253751395219864393183133911395484376713502323350222037208011740158158048952582524257319210232180578912237270673817891879207755801996974114054085909339187285941577120212059187868285156350843083409429404516961287261549007368392170299230520203555537214732571505953195671015339978195021645210643759210045789175326668428659668389381065069997567577850897486041473843487362517734101646538843033169444115474168930024369719239090997901943978213483418738781174364923684707146645166060759698830376302262757652344321466525439622790151791007499289980878744013797952824161639386889728400577821817428036241182290552634439335673757925348709333165417793748311371548297807014442446119720729492017841379850276158637305563521179344452767294652565997219434897180677641050751006394964598134466466165978299301624565884562913424323933631538860340212094596130109476206495067861263504942768890759387652324577933544731029828215636731505984479231110199932207825663559332919575726432144085519804432174890214087354200227771919636107450743870361099944823829220515064279271402758188568833695348465871099968563589528726928390713693177221954038313659804076699272958352864935346869162694322942431481732438364699433314533176358084696008934004637992667325341359788063248143911279811909357647697173460569724676196578533256447959993388646675017448312906546255010613632925833957266487546212836196607433305079739752509722400069682323595117164694249701894823831534449854966694697716641565947945123551181313604190114392603915630745735987580800837821557271289737282549603155128609153220369494792480419763242030232460206590178128471015369858176007217727955469542579772274827646358637425726950981013800314441304427007336010619343477210578769472093537290873163194478137557971982676799556627699573231636263848646505233496293023793588715214069833043927360494199319845956773418262302538437786121193937080627331740129035981540038551699888395180172709249888543080677072133875731645562515572500095128059352605177615469281327060711552889516920997577901128874786224225565986160749795539644302396774727552376258411827090858210327844497730232632575035592590112526807012701536800999223049515761773663897700965208314938868741722552859636238402149930211858658971490702575643397247103539499429100606038053127417930106954712491200590113487132352633775059041831673153316466665623396045265902302602654332381028996403932526106514223059248138486295709715993683433409964649598919558890408753224132980443862209938219665241469457788998948780932231733726649092555814786355755041236694660056739094061301731452094742000171684238093114974484676840324676288852426201967061687115191150314843697883527510362974155464663873714698632089501484766336609782520268804999756251926972363118118606201080809215653459985049273740373088584734465886759870738538180369467702771009908421193560448072950615738761781465128629333462939137493062349995995916997696635149360504337479559382412694389877190073510167184778059370346307636484177922 320169761102487705935477459863390351617641077077597748574924094960449732007711679279912158779048369045077202556829466926279440029453064006756801109515928027845508559272960622743313763831726267720597590659046027090515626420856623580729351331015001400930250752263264935697653055527728455860380613686579882526984448564826985353788987270847843177919954815751224977518737874658976093456977547979924625790208209805960625990286529451384184494766427158450014932175642501663140895088753477375609908770986952559943232425469404041394933570827463336035149680037673932917873796076982499800470115128143897926956906514427954609399960384289964749523713385593581944238397102056279011221652294141449023665982889907596249503861033809379791425532689378506068147326081315656540337619654287754122762547153700298132405927385817225084980845547524132396490607814197689862428303679415326485495712683923063143598632496363078470758639646913175474016560809091457820694808550343356364327519182994028674435906653187800864649874917391046137254377013257356331092208743956549535835767502880450072415133919350278594485754045424562103219625785273764714153240169334815334704669509891108765792281714632664735885958328843962102011948468300375519755088767935356581742361805180789545926010306345801322506314300734950946282293249154856482414906502098826910472284597294837938399177163151106729908470789323879134452874600263946205303939902629884434718660843003593231851355635851903275466311040575226476474062557040140097265124352904423586745522153865540933912991198837463211288089802992560898549472193389284571158005424005605474833374847883619946061523751406287678478766825410749043440786331815233141834013040407893037505860540738010707798043177856104205381567267211048047862348090485378833497216328153050623323185706833944520209718485984564721079503117137150690638723543406589912007488017824240560265534219984500306330513763369165283392195785117056794107259110806253975171392126482783855349401796634419822562619278302990129906674614046120818849739198624110997628026794543798266866726995529851388675163705702684765760200662524780372190225533627704225646637975475826169690237056063909837757278811654891668924260791803143340235464847814350639703480666669504552901983431800026950742236039634391344637790560276815363662578809260269520129632591633683759363920064336962564830421533814573014266236012682507836934737763060034662128967705682800907202954642245411092278519004352290777481418185848529465600327288385938555997062215952367172672159601880532208274102851847030337819888727634543177584991978473238176143520539030928804564006964810165757294383677098376897419003306323977252384546380734039847060031269614489733235705904218264849100959943442873066684161217683508429770636831510592908846876704920670946932120307780387807278887565752344052176574521649787004553360511199737518221418514285931364855301622651291698289201176127201731535292545579761079379267572425031789622673934680001602193675572385950608994409403638227201 518045555633759113957400713614785571482034260211509144059300808462773082229748887291652316937097321627601459876039699106858352266723737824648680317271730024819622613358869961930599705408846479779785458944202377933599035850261140542016612880022369793100549982783468491234867788099234409056051629026558077548629659208586195399578162597516271837588344196816294975086315725556462134930821035342442359891854748648993795434402003620314208864485666249447916876153855985081879676263118401060317055416153013319642062801771666799047277892293988775657939831828681432207854674820996297753294276767530787655357484336245382645641142674842599188859387143518930653571562519850027322593200591948463466112102610637088267345240884085538428731096210557850520914620733881653759772516834965395173513553548664896266872393551795524386605411432087045820814541445736550202640398275545435961702207751784326648541401387122466123083217580457906503844776445822963805174039660543288572153182742326948250162338797273320669082049807605133491454604785176992438542952614317649480659596723395514351686536677538847428181102511295662071783215314000693104866933346556769373018329313967808038750634579568011605048652651786393583744386832999808834288265126020052590676366443173456871267370094409049466417594112644308593979466709724581158611485035355274870465673243969855386712083709406117343541396623281145621999087436460553638609019642382394157118730525327188349016049885553798099297845490430193171171779198606088042388675534218027776859914757781171679648978779638301032845361092729843448152627321998437791527500216486025238075405080343826536239652222421657536654774043138704512983366104090060788192650466134844018519660855179315134805379188475447682592146036683141585153221253679856971055188310829850179950885280065580784058364991218061014103296705852364760471767470767084111327333974597658822568072657770621500267594390700905412428177325155608493995654290978963225059935207159855989225133442196935395062714406362342735084290083327447879561292088141031995205927923418584491092292981690601184214808008099459493312576920936607463048435861472201955879270550511418759802763863076611374558278034704407430697924689504108548550403716556073192563116905071654483113842090771517653317879436881494884137219660882853416789996739367224232620833181747170891716553839396004396503574850281238637662281278584810439589070144089031066061493812197023966451093128541120808272202437762255427080337744738938218824460268829800765935281881193836630461158550661464440007829500939586152606244482675779872245048717567299477874972633772928976248245057925140241971224001774665749845205273385664367575696695577737730587541632588645197899579618916896938602444709779482849204430022683264681697609194628711515047957514136324406917169581520760895863622031639103922915112702019254707324370419620931078669491464901670126636766751280625161228338669189551727531209543276396228739771909904591172035368324557191675703842757164009979340717040122405123 838215316736246819892878173478175923099675337289106892634224903423222814237460566571564475716145690672678662432869166033137792296176801831405481426787658052665131172631830584673913469240572747500383049603248405024114662271117764122745964211037371194030800735046733426932520843626962864916432242713137960075614107773413180753367149868364115015508299012567519952605053600215438228387798583322366985682062958454954421424688533071698393359252093407897931808329498486745020571351871878435926964187139965879585295227241070840442211463121452111693089511866355365125728470897978797553764391895674685582314390850673337255041103059132563938383100529112512597809959621906306333814852886089912489778085500544684516849101917894918220156628899936356589061946815197310300110136489253149296276100702365194399278320937612749471586256979611178217305149259934240065068701954960762447197920435707389792140033883485544593841857227371081977861337254914421625868848210886644936480701925320976924598245450461121533731924724996179628708981798434348769635161358274199016495364226275964424101670596889126022666856556720224175002841099274457819020173515891584707722998823858916804542916294200676340934610980630355685756335301300184354043353893955409172418728248354246417193380400754850788923908413379259540261759958879437641026391537454101780937957841264693325111260872557224073449867412605024756451962036724499843912959545012278591837391368330781580867405521405701374764156531005419647645841755646228139653799887122451363605436911646712613561969978475764244133450895722404346702099515387722362685505640491630712908779928227446482301175973827945215133540868549453556424152435905293930026663506542737056025521395917325842603422366331551887973713303894189633015569344165235804552404638982900803274070986899525304268083477202625735182799822989515451110491014173674023334821992421899382833606877755121806598108154070070695820373110272665288102913401785217200231327333642639844574535238831355217625333684665332864990964697373568698411031286765142992833954717962382757959019977220452572889971713802144259072777583461387835238661395099906181525908525987244929493000919140521212315556846359299099622185481307251888785868564370423832266597571741159036015825522571544604060115476515886228775010221159668780452575548627493752750465773380854651080473903732966961333996384095811651928517291267318276523807907149065728190461517879824873654047770786531900550721442114546204561755930587467684424787557215739321932344097146203803133318152541996648281932352786616490426133210310323049830040696040537654018493172803857780812252022735305999265607678873042647264208579709641619960243076311777577647572902203134931135285523135161787703404653222355915888591240366773111468246026139304423894834219056995353849289889301148703142509597391447975091687223669041711877730930820668596890909979187601491492068373931916859517539845316753459066502088856157308119039482329622961658042259237193277897518329549960588335126443760632324 1356260872370005933850278887092961494581709597500616036693525711885995896467209453863216792653243012300280122308908865139996144562900539656054161744059388077484753785990700546604513174649419227280168508547450782957713698121378904664762577091059740987131350717830201918167388631726197273972483871739696037624243766981999376152945312465880386853096643209383814927691369325771900363318619618664809345573917707103948216859090536692012602223737759657345848684483354471826900247614990279496244019603292979199227358029012737639489489355415440887351029343695036797333583145718975095307058668663205473237671875186918719900682245733975163127242487672631443251381522141756333656408053478038375955890188111181772784194342801980456648887725110494207109976567549078964059882653324218544469789654251030090666150714489408273858191668411698224038119690705670790267709100230506198408900128187491716440681435270608010716925074807828988481706113700737385431042887871429933508633884667647925174760584247734442202813974532601313120163586583611341208178113972591848497154960949671478775788207274427973450847959068015886246786056413275150923887106862448354080741328137826724843293550873768687945983263632416749269500722134299993188331619019975461763095094691527703288460750495163900255341502526023568134241226668604018799637876572809376651403631085234548711823344581963341416991264035886170378451049473185053482521979187394672748956121893657969929883455406959499474062002021435612818817620954252316182042475421340479140465351669427884293210948758114065276978811988452247794854726837386160154213005856977655950984185008571273018540828196249602751788314911688158069407518539995354718219313972677581074545182251096640977408801554806999570565859340577331218168790597845092775607592949812750983224956266965106088326448468420686749286096528841880211582258484940758134662155967019558205401679535525743306865702544770976108248550435428273782098567692764180425291262540802495833799668681028290612688048091027675600075254780701016577972323374906174988039882641380967249051312958911053757104779721901603752385354504397995298287097256572108137405179076498663689295764782217132586873834881063706530320110170811360437336272280926497024829714476812813519129667613343062257377994913397381112912229882042522197242572287994717985371298955128025542797027743128971357837571234377050289590798569852128716112878051238096794251955330076848840105140899327652708822923879876801631642093675326405903249247826045540087867625978340040433594476703203461088289761853726202643032377692986102922075089413607837131893465806576786757060497080660446241236831680647708397109413853095305987535939771889515308235114534791780129034865142052058726305849363001838765093021263050037793165855220768015938942791733193319760766459470821909599006131629030551898006799925688296419202101350441599675560401444089271618128835125212542020745878514506305186597711632132553536858811392234214133693410583794384953601361086713970567675843483883037447 2194476189106252753743157060571137417681384934789722929327750615309218710704670020434781268369388702972958784741778031173133936859077341487459643170847046130149884958622531131278426643889991974780551558150699187981828360392496668787508541302097112181162151452876935345099909475353160138888916114452833997699857874755412556906312462334244501868604942221951334880296422925987338591706418201987176331255980665558902638283779069763710995582989853065243780492812852958571920818966862157932170983790432945078812653256253808479931700818536892999044118855561392162459311616616953892860823060558880158819986266037592057155723348793107727065625588201743955849191481763662639990222906364128288445668273611726457301043444719875374869044354010430563699038514364276274359992789813471693766065754953395285065429035427021023329777925391309402255424839965605030332777802185466960856098048623199106232821469154093555310766932035200070459567450955651807056911736082316578445114586592968902099358829698195563736545899257597492748872568382045689977813275330866047513650325175947443199889877871317099473514815624736110421788897512549608742907280378339938788464326961685641647836467167969364286917874613047104955257057435600177542374972913930870935513822939881949705654130895918751044265410939402827674502986627483456440664268110263478432341588926499242036934605454520565490441131448491195134903011509909553326434938732406951340793513261988751510750860928365200848826158552441032466463462709898544321696275308462930504070788581074596906772918736589829521112262884174652141556826352773882516898511497469286663892964936798719500842004170077547966921855780237611625831670975900648648245977479220318130570703647013966820012223921138551458539572644471520851184359942010328580159997588795651786499027253864631392594531945623312484468896351831395662692749499114432157996977959441457588235286413280865113463810698841046804068923545700939070201481094549397625522589874445135678374203919859645830313381775693008465066219478074585276383354661671317980873837359343350007010332936131506329994751435703748011458132087859383133525758651672014318931087602485908618788765701357653799189391727423005629942295652118612326122140845296920857096312048553972555145493135914606861438110389913267341687240103202190977695147836622211738121764728508880193877501646861938319171567618472861941519315861119446992636685958387162522442416847956673713759188670114184609373645321991347836203849605913873587674035383261279409799970075486244236727794855745457736571694206512819133458510903296425971905130109648374785911958979380644537872749103395752240502439359520751044373622432804947607496182848201292885882687436994915060170150665187220514009254016224194680981612503416810904634101246907320362837625952250315114615749360123058302148641226421999873098487149357338131079832281262268272451311423276873109620903499144458880263418359823058645664213720988710844977850874563837095351452843031578231498879416263931156010969927643669771 3550737061476258687593435947664098912263094532290338966021276327195214607171879474297998061022631715273238907050686896313130081421977881143513804914906434207634638744613231677882939818539411202060720066698149970939542058513875573452271118393156853168293502170707137263267298107079357412861399986192530035324101641737411933059257774800124888721701585431335149807987792251759238955025037820651985676829898372662850855142869606455723597806727612722589629177296207430398821066581852437428415003393725924278040011285266546119421190173952333886395148199256428959792894762335928988167881729222085632057658141224510777056405594527082890192868075874375399100573003905418973646630959842166664401558461722908230085237787521855831517932079120924770809015081913355238419875443137690238235855409204425375731579749916429297187969593803007626293544530671275820600486902415973159264998176810690822673502904424701566027692006843029058941273564656389192487954623953746511953748471260616827274119413945930005939359873790198805869036154965657031185991389303457896010805286125618921975678085145745072924362774692751996668574953925824759666794387240788292869205655099512366491130018041738052232901138245463854224757779569900170730706591933906332698608917631409652994114881391082651299606913465426395808744213296087475240302144683072855083745220011733790748757950036483906907432395484377365513354060983094606808956917919801624089749635155646721440634316335324700322888160573876645285281083664150860503738750729803409644536140250502481199983867494703894798091074872626899936411553190160042671111517354446942614877149945369992519382832366327150718710170691925769695239189515896003366465291451897899205115885898110607797421025475945551029105431985048852069353150539855421355767590538608402769723983520829737480920980414043999233754992880673275874275007984055190292659133926461015793636965948806608420329513243612022912317473981129212852300048787313578050813852415247631512173872600887936443001429866720684065141474258775601854355678036577492968913720000724317256061645895042560087099531157605351763843486592257378431812855908244122456336266678984572308084530483574786386063226608486712160262405822929972763458413126223417881926026525366786074275160749257669118816105303310648454599469985244713174937720124616929723493063683636905736674529389990909677009138852849912231110114430971575708749564009625259316694372178033522553864329569441837318196569201868149467845943281240279490923283209306819497667596053826284670322271558948918824861456060239021776490888596282528893980219523256211917805424785957431294933246184056198481739271040168459441483036285900253595032122620090808194117801971786695189205015807239279240315103379226033446074633766466848697799956467675336301780417685443634875382208830944967901154772855452551771105287075045634550281933631703867948011712867366144727749738624357000901009296874329363832261925353121264381836662266798051229044863426825963185100240502977901723686813411526707218 5745213250582511441336593008235236329944479467080061895349026942504433317876549494732779329392020418246197691792464927486264018281055222630973448085753480337784523703235762809161366462429403176841271624848849158921370418906372242239779659695253965349455653623584072608367207582432517551750316100645364033023959516492824489965570237134369390590306527653286484688284215177746577546731456022639162008085879038221753493426648676219434593389717465787833409670109060388970741885548714595360585987184158869356852664541520354599352890992489226885439267054817821122252206378952882881028704789780965790877644407262102834212128943320190617258493664076119354949764485669081613636853866206294952847226735334634687386281232241731206386976433131355334508053596277631512779868232951161932001921164157820660797008785343450320517747519194317028548969370636880850933264704601440120121096225433889928906324373578795121338458938878229129400841015612040999544866360036063090398863057853585729373478243644125569675905773047796298617908723347702721163804664634323943524455611301566365175567963017062172397877590317488107090363851438374368409701667619128231657669982061198008138966485209707416519819012858510959180014837005500348273081564847837203634122740571291602699769012287001402343872324404829223483247199923570931680966412793336333516086808938233032785692555491004472397873526932868560648257072493004160135391856652208575430543148417635472951385177263689901171714319126317677751744546374049404825435026038266340148606928831577078106756786231293724319203337756801552077968379542933925188010028851916229278770114882168712020224836536404698685632026472163381321070860491796652014711268931118217335686589545124574617433249397084102487645004629520372920537510481865749935927588127404054556223010774694368873515512359667311718223889232504671536967757483169622450656111885902473381872252362087473533793323942453069716386397526830151922501529881862975676336442289692767190548076520747582273314811642413692530207693736850187130739032698248810949787557360067667263071978831174066417094282593309099775301618680116761565338614559916136775267354281470480926873296184932440185252618335909717790204701475048585089580553971520338739022338573920758629420653885172275980254215693223915796286710088446904152632867961239141461614828412145785930552031036852847996180706471322774172629430292091022701386249968012421839136789025990196267623518239556021927570214523859497304049792887154153078597318592568098907467566129312528907050066414694376561433150266751840909949399499578954865885349632904586703717383765338075832805995287451950722241710399689210485856658718705201202528305468292101080000489408781610249375166472426499754324357395450228127056246269883659602434057714582656664618043637693949989997958191068026203303414081874551644203774224402972681361765912966136220463024290643017837370642123501459781272715234152422477926139074109975226814513141361888324396316269857541416599119919241832879697783339170376989 9295950312058770128930028955899335242207573999370400861370303269699647925048428969030777390414652133519436598843151823799394099703033103774487253000659914545419162447848994487044306280968814378901991691546999129860912477420247815692050778088410818517749155794291209871634505689511874964611716086837894068348061158230236423024828011934494279312008113084621634496272007429505816501756493843291147684915777410884604348569518282675158191196445078510423038847405267819369562952130567032789000990577884793634892675826786900718774081166441560771834415254074250082045101141288811869196586519003051422935302548486613611268534537847273507451361739950494754050337489574500587283484826048461617248785197057542917471519019763587037904908512252280105317068678190986751199743676088852170237776573362246036528588535259879617705717112997324654842513901308156671533751607017413279386094402244580751579827278003496687366150945721258188342114580268430192032820983989809602352611529114202556647597657590055575615265646837995104486944878313359752349796053937781839535260897427185287151246048162807245322240365010240103758938805364199128076496054859916524526875637160710374630096503251445468752720151103974813404772616575400519003788156781743536332731658202701255693883893678084053643479237870255619291991413219658406921268557476409188599832028949966823534450505527488379305305922417245926161611133476098766944348774572010199520292783573282194392019493599014601494602479700194323037025630038200265329173776768069749793143069082079559306740653725997619117294412629428452014379932733093967859121546206363171893647264827538704539607668902731849404342197164089151016310050007692655381176560383016116540802475443235182414854274873029653516750436614569224989890661021721171291695178666012457325946994295524106354436492773711310951978882113177947411242765467224812743315245812363489175509218310894081954122837186065092628703871507959364774801578669176553727150294704940398702721949121635518716316241509134376595349167995625788985094710734826303918701277360791984519133624726216626504193813750914451539145105272374139997151470468160259231603620960455053234957826668507226571315844944396429950467107297978557853038967097743756620948365099287544703695814634429945099070320996534564250886180073691617327570588085856071185107892095782691667226560426843757673189845324172686403739544723062598410135813977637681155831161204023718821487847808997859245766783725727646771895736168394432569520601801874918405135162183138813577372337973643295386294606326990862686440288095861483759865569156160798621522808551295507127739241471508149203980981439857669927339695004605454797560428088382909274118291380568305438580182279665778994639460774676261573130880036350508300234014182257992966398461323137584865380167022012994104458186937327103415309061299448607231643699544670004168474737158009162565120380747858460682282012108481786310188064427231239608651175408159939553441179696683504601699360422219734603384596750697084207 15041163562641281570266621964134571572152053466450462756719330212204081242924978463763556719806672551765634290635616751285658117984088326405460701086413394883203686151084757296205672743398217555743263316395848288782282896326620057931830437783664783867204809417875282480001713271944392516362032187483258101372020674723060912990398249068863669902314640737908119184556222607252394048487949865930309693001656449106357841996166958894592784586162544298256448517514328208340304837679281628149586977762043662991745340368307255318126972158930787657273682308892071204297307520241694750225291308784017213812946955748716445480663481167464124709855404026614109000101975243582200920338692254756570096011932392177604857800252005318244291884945383635439825122274468618263979611909040014102239697737520066697325597320603329938223464632191641683391483271945037522467016311618853399507190627678470680486151651582291808704609884599487317742955595880471191577687344025872692751474586967788286021075901234181145291171419885791403104853601661062473513600718572105783059716508728751652326814011179869417720117955327728210849302656802573496486197722479044756184545619221908382769062988461152885272539163962485772584787453580900867276869721629580739966854398773992858393652905965085455987351562275084842775238613143229338602234970269745522115918837888199856320143061018492851703179449350114486809868205969102927079740631224218774950835931990917667343404670862704502666316798826512000788770176412249670154608802806336089941749997913656637413497439957291343436497750386230004092348312276027893047131575058279401172417379709707416559832505439136548089974223636252532337380910499489307395887829314134333876489064988359757032287524270113756004395441244089597910428171503586921227622766793416511882170005070218475227952005133378622670202771345682618948210522950394435193971357698265962557381470672981555487916161128518162345090269034789516697303108551039529403486736994633165893270025642383100989631053151548069125556861732475976115833743433075114868488834720859651782205603557390692921288096344223551314446723952490901562490085028076396006870975241925534161831122853439666756568463280306147740671808773027142942619521069264095359970703673208303333116468519602221079324536689758480047172890162138521480203456047095212646722720507928477597778591463696605669370551795495460576368975015153621111522063945650102994967950230013915089111366048553881173336998249587144075945529055548585648117920394443017312602728312451342484422404388337671947727756593742703596389687595440438625750918789065385325240192316633582960545236758960099926222691839546880413196353723310656000088733556675010354118780789349915687955348752092278748963818170126489700187126306234167902668071896840649631016504960831534855378125213081020307761601019201655059512835523851579913005465457636140388937761448652180402491022871359920463554727342634208788114203501341214835465688549521827877837495966541046018298480341461567483082380089867461196 24337113874700051699196650920033906814359627465820863618089633481903729167973407432794334110221324685285070889478768575085052217687121430179947954087073309428622848598933751783249979024367031934645255007942847418643195373746867873623881215872075602384953965212166492351636218961456267480973748274321152169720081832953297336015226261003357949214322753822529753680828230036758210550244443709221457377917433859990962190565685241569750975782607622808679487364919596027709867789809848660938587968339928456626638016195094156036901053325372348429108097562966321286342408661530506619421877827787068636748249504235330056749198019014737632161217143977108863050439464818082788203823518303218187344797129449720522329319271768905282196793457635915545142190952659605015179355585128866272477474310882312733854185855863209555929181745188966338233997173253194194000767918636266678893285029923051432065978929585788496070760830320745506085070176148901383610508328015682295104086116081990842668673558824236720906437066723786507591798479974422225863396772509887622594977406155936939478060059342676663042358320337968314608241462166772624562693777338961280711421256382618757399159491712598354025259315066460585989560070156301386280657878411324276299586056976694114087536799643169509630830800145340462067230026362887745523503527746154710715750866838166679854593566545981231008485371767360412971479339445201694024089405796228974471128715564199861735424164461719104160919278526706323825795806450449935483782579574405839734893066995736196720238093683288962553792163015658456106728245009121860906253121264642573066064644537246121099440174341868397494316420800341683353690960507181962777064389697150450417291540431594939447141799143143409521145877858658822900318832525308092519317945459428969208116999365742581582388497907089933622181653458860566359453288417619247937286603510629451732890688983875637442038998314583254973794140542748881472104687220216083130637031699573564595991974764018619705947294660682445720906029728101765100928454167901418787190112081651636301339228283607319425481910095138002853591829224865041559641555496236655238474596202380587396788949521946893327884308224702577691138916071005700795658488167007851980919068772495848036812283154032166178394857686293044298059070235830138807774044132951283831830612603711169265005151890540363342560397119668146980108519738216219521657877923287784150799111434037633910599213857551740419103781975314790847841265223943018217638522196317935717737890495590156061794742361980967334022362920733566282829975691301922385616487945226183946763000867929090088284478230468249130203673279404550340536048727916110797649161645057919628237072169918221126535531031758057743603278944802751273318006342584676202902086079098642597414966283969119720758292235094014412219787956528758474821896823300187144649165002306144557412498606661342967611403619218381145836739451115995098302267928572454444116863957681767431278675663224550619997840763681302086466976840564545403 39378277437341333269463272884168478386511680932271326374808963694107810410898385896557890830027997237050705180114385326370710335671209756585408655173486704311826534750018509079455651767765249490388518324338695707425478270073487931555711653655740386252158774630041774831637932233400659997335780461804410271092102507676358249005624510072221619116637394560437872865384452644010604598732393575151767070919090309097320032561852200464343760368770167106935935882433924236050172627489130289088174946101972119618383356563401411355028025484303136086381779871858392490639716181772201369647169136571085850561196459984046502229861500182201756871072548003722972050541440061664989124162210557974757440809061841898127187119523774223526488678403019550984967313227128223279158967494168880374717172048402379431179783176466539494152646377380608021625480445198231716467784230255120078400475657601522112552130581168080304775370714920232823828025772029372575188195672041554987855560703049779128689749460058417866197608486609577910696652081635484699376997491081993405654693914884688591804874070522546080762476275665696525457544118969346121048891499818006036895966875604527140168222480173751239297798479028946358574347523737202253557527600040905016266440455750686972481189705608254965618182362420425304842468639506117084125738498015900232831669704726366536174736627564474082711664821117474899781347545414304621103830037020447749421964647555117529078828835324423606827236077353218324614565982862699605638391382380741929676643064909392834133735533640580305990289913401888460199076557285149753953384696322921974238482024246953537659272679781004945584290644436594215691071871006671270172952219011284784293780605419954696479429323413257165525541319102748420810747004028895013746940712252845481090287004435961056810340503040468556292384424804543185307663811368013683131257961208895414290272159656857192929955159443101417318884409577538398169407795771255612534123768694206730489262000406401720695578347812230514846462891460577741216762197600976533655678946802511288083544831840998012346770006439361554168038553177355943122131640524313051245345571444306121558620072375386560084452771505008725431810724844032843738278009236271947340889772445704151369928751673634387257719394376051524345231960397968660287977500180046496478553333111639646862783743354236969011930948915163607556477494753369840633179941868937887145767061664051548999710579906105621592440780224901934923786794279491603865756442590760953030340618808041498546217146750318639281750119514476269879219663286742361011367406734291569272003193184562673048829714989428349056426365118951430753732402451226766797737895201732929982355852959268136814490879783850336492567097114929240973505132648818844105570157975939292228431471244800654576136417448175034719981388975730413534334732347151767057654630459942284946350260055313523370102426490578301609391466793750203886416471429913669279582552507203595309116171629765596638296321105142869569549356930432006599 63715391312041384968659923804202385200871308398092189992898597176011539578871793329352224940249321922335776069593153901455762553358331186765356609260560013740449383348952260862705630792132281425033773332281543126068673643820355805179592869527815988637112739842208267183274151194856927478309528736125562440812184340629655585020850771075579568330960148382967626546212682680768815148976837284373224448836524169088282223127537442034094736151377789915615423247353520263760040417298978950026762914441900576245021372758495567391929078809675484515489877434824713776982124843302707989069046964358154487309445964219376558979059519196939389032289691980831835100980904879747777327985728861192944785606191291618649516438795543128808685471860655466530109504179787828294338323079297746647194646359284692165033969032329749050081828122569574359859477618451425910468552148891386757293760687524573544618109510753868800846131545240978329913095948178273958798704000057237282959646819131769971358423018882654587104045553333364418288450561609906925240394263591881028249671321040625531282934129865222743804834596003664840065785581136118745611585277156967317607388131987145897567381971886349593323057794095406944563907593893503639838185478452229292566026512727381086568726505251424475249013162565765766909698665869004829649242025762054943547420571564533216029330194110455313720150192884835312752826884859506315127919442816676723893093363119317390814252999786142710988155355879924648440361789313149541122173961955147769411536131905129030853973627323869268544082076417546916305804802294271614859637817587564547304546668784199658758712854122873343078607065236935899044762831513853232950016608708435234711072145851549635926571122556400575046687196961407243711065836554203106266258657712274450298404003801703638392729000947558489914566078263403751667117099785632931068544564719524866023162848640732830371994157757684672292678550120287279641512482991471695664760800393780295085253975170420340401525642472912960567368921188679506317690651768877952442869058884162924384884060124605331772251916534499557021630382402220984681773196020549706483820167646686708955409021897333453412337079729711303122949640915038544533936497403279799321808841218199999406741034827666553436114252062344568643291030633798799095751544312997780310383945715350816127788895244777332354491346034831754536586014491586060154837819792225671296566173098089182910309793763657362011544562200216725771628059503434622083394964787078888748078509303631654608011889112299606615772482435209836162049638978044283396983894679517753218766194052491763137114193219896598186630038398355981094268451179142877595387056846790849610592925129186357941026410815608394236170376059731992246823138991403520308472244055037934825846437528769774296894709683269049132201176932259172009156629170451954202303795462248429503762758661974866337713830109796682755228206244866198984718739358486123723699416464885362740394847292990147258294161868824171656016333770996552002 103093668749382718238123196688370863587382989330363516367707560870119349989770179225910115770277319159386481249707539227826472889029540943350765264434046718052275918098970769942161282559897530915422291656620238833494151913893843736735304523183556374889271514472250042014912083428257587475645309197929972711904286848306013834026475281147801187447597542943405499411597135324779419747709230859524991519755614478185602255689389642498438496520147957022551359129787444499810213044788109239114937860543872695863404729321896978746957104293978620601871657306683106267621841025074909358716216100929240337870642424203423061208921019379141145903362239984554807151522344941412766452147939419167702226415253133516776703558319317352335174150263675017515076817406916051573497290573466627021911818407687071596213752208796288544234474499950182381484958063649657626936336379146506835694236345126095657170240091921949105621502260161211153741121720207646533986899672098792270815207522181549100048172478941072453301654039942942328985102643245391624617391754673874433904365235925314123087808200387768824567310871669361365523329700105464866660476776974973354503355007591673037735604452060100832620856273124353303138255117630705893395713078493134308832466968478068059049916210859679440867195524986191071752167305375121913774980523777955176379090276290899752204066821674929396431815014002310212534174430273810936231749479837124473315058010674434919893081835110566317815391433233142973054927772175849146760565344335889699088179196814521864987709160964449574534371989819435376504881359579421368813022513910486521543028693031153196417985533903878288662897709673530114735834702520524503122968827719720019004852751271504332406000445969657740572228516064155664521812840583098120013199369965119931388691008237664695203069503988027046206950503067946936974780911153646614199802525928420280313435008297590023301949317200786089611562959697825677810920278762727308198884569087987025574515975576822061097103990285143475413831812649257247534452849369854486098548005686674212468428891965603344119021922973861111189668935579576927803904836544862757729165739090992830514029094272720013496789851234720028554760365759071388272214506639551746662698613663904150776669786501300940693833646438396092988522991031767459383729044493044276788937278826990462990572638599014301366422294949995362093063509244955900788017761661163558442333234762140731910020373669762983603985342425118660695414853782926225949151407377839841778419128111673153154229035862618245897522601949686106041269302264786644408351301413809322490769387237054436185943908209324947243056403517307411848000853630369644393124952048523779592948778088454494755517290599458730728737473174661233220328271640222364414042402030977227054277908773570428873031127131444083852182565907989585543491361517603721259958425922190714450113018717288389707816256600374984364619673038616402871135210788399793003281968972088958049511018922755743896590482973967041225565690701428558601 166809060061424103206783120492573248788254297728455706360606158046130889568641972555262340710526641081722257319300693129282235442387872130116121873694606731792725301447923030804866913352029812340456064988901781959562825557714199541914897392711372363526384254314458309198186234623114514953954837934055535152716471188935669419047326052223380755778557691326373125957809818005548234896686068143898215968592138647273884478816927084532533232671525746938166782377140964763570253462087088189141700774985773272108426102080392546138886183103654105117361534741507820044603965868377617347785263065287394825180088388422799620187980538576080534935651931965386642252503249821160543780133668280360647012021444425135426219997114860481143859622124330484045186321586703879867835613652764373669106464766971763761247721241126037594316302622519756741344435682101083537404888528037893592987997032650669201788349602675817906467633805402189483654217668385920492785603672156029553774854341313319071406595497823727040405699593276306747273553204855298549857786018265755462154036556965939654370742330252991568372145467673026205589115281241583612272062054131940672110743139578818935302986423946450425943914067219760247702162711524209533233898556945363601398493481205449145618642716111103916116208687551956838661865971244126743424222549540010119926510847855432968233397015785384710151965206887145525287001315133317251359668922653801197208151373793752310707334834896709028803546789113067621495289561488998687882739306291037468499715328719650895841682788288318843078454066236982292810686161873692983672660331498051068847575361815352855176698388026751631741504774910466013780597534034377736072985436428155253715924897123053968332571568526058315618915713025562908232878677137301226279458027677394381687095012039368333595798504935585536121516581331350688641898010939279545268347090647945146336597856938322853673943474958470761904241509818112957452432761754199003863645369481767320659769950747242401498629632758056435981200733837936753852143501138732438541417064570837136853312952090208675891273839508360668211299317981797912485678032565412464212985906737679539469438116170053466909126930964431331677710006674109932806151004042831545984507454882104150183410821328967494129947898500740661631814021665566258479480588806042057099321224542341279118361533843791633720913640984827116629649523736541960942855581453389229738899407860229914820330167433420345615529904625335386467042913286360848032546372164918730526497637415304807762240924974917852513295084384895942203318941242830927805335196093327075709535581289546199323058101429221545429686441915663392942269304809512521988512008895314629203541703217640852696543701415067124964907849234393225467151410631625884722514646086015161880124346302340203169925836814713132984383742840248757552647990688055675462262221384439143953875777379263256045530086710171667119847879283482601855853950146885916726981385436974320789905866215745891154884644842791212881582024472425110603 269902728810806821444906317180944112375637287058819222728313718916250239558412151781172456480803960241108738569008232357108708331417413073466887138128653449845001219546893800747028195911927343255878356645522020793056977471608043278650201915894928738415655768786708351213098318051372102429600147131985507864620758037241683253073801333371181943226155234269778625369406953330327654644395299003423207488347753125459486734506316727030971729191673703960718141506928409263380466506875197428256638635529645967971830831402289524885843287397632725719233192048190926312225806893452526706501479166216635163050730812626222681396901557955221680839014171949941449404025594762573310232281607699528349238436697558652202923555434177833479033772388005501560263138993619931441332904226231000691018283174658835357461473449922326138550777122469939122829393745750741164341224907184400428682233377776764858958589694597767012089136065563400637395339388593567026772503344254821824590061863494868171454767976764799493707353633219249076258655848100690174475177772939629896058401792891253777458550530640760392939456339342387571112444981347048478932538831106914026614098147170491973038590876006551258564770340344113550840417829154915426629611635438497910230960449683517204668558926970783356983404212538147910414033276619248657199203073317965296305601124146332720437463837460314106583780220889455737821175745407128187591418402490925670523209384468187230600416670007275346618938222346210594550217333664847834643304650626927167587894525534172760829391949252768417612826056056417669315567521453114352485682845408537590390604054846506051594683921930629920404402484583996128516432236554902239195954264147875272720777648394558300738572014495716056191144229089718572754691517720399346292657397642514313075786020277033028798868008923612582328467084399297625616678922092926159468149616576365426650032865235912876975892792159256851515804469515938635263353040516926312062529938569754346234285926324064462595733623043199911395032546487194001386596350508586924639965070257511349321741844055812020010295762482221779400968253561374840289582869110275221942151645828672369983467210442773480405916782199151360232470372433181321078365510682383292647206068546008300960080607830268434823781544939136754620337012697333717863209633299086333888258503369331742108934172442805935087335935934822478722713032981497861730873343114552788181232642622370646730350541103183329219515247050454047162457767069287073981697779542758572304916765526977960916469960837536098410817686334582048244588243507617572213686497507136398200304968526600635509002009638546492672742845432970804790270158439882166381636960943838408796490481306095347452060992014525855693645322409054458687479682271848249136557048116992388934402255075910632042956963946157216836566308748238343096139352205659396722220647306629858403988796096551645753346343310546651484467552322099004726989160935285709730263354409063278839416885138501635051475127816758254107147715173853669204 436711788872230924651689437673517361163891584787274929088919876962381129127054124336434797191330601322830995888308925486390943773805285203583009011823260181637726520994816831551895109263957155596334421634423802752619803029322242820565099308606301101942040023101166660411284552674486617383554985066041043017337229226177352672121127385594562699004712925596151751327216771335875889541081367147321423456939891772733371213323243811563504961863199450898884923884069374026950719968962285617398339410515419240080256933482682071024729470501286830836594726789698746356829772761830144054286742231504029988230819201049022301584882096531302215774666103915328091656528844583733854012415275979888996250458141983787629143552549038314622893394512335985605449460580323811309168517878995374360124747941630599118709194691048363732867079744989695864173829427851824701746113435222294021670230410427434060746939297273584918556769870965590121049557056979487519558107016410851378364916204808187242861363474588526534113053226495555823532209052955988724332963791205385358212438349857193431829292860893751961311601807015413776701560262588632091204600885238854698724841286749310908341577299953001684508684407563873798542580540679124959863510192383861511629453930888966350287201643081887273099612900090104749075899247863375400623425622857975416232111972001765688670860853245698816735745427776601263108177060540445438951087325144726867731360758261939541307751504903984375422485011459278216045506895153846522526043956917964636087609854253823656671074737541087260691280122293399962126253683326807336158343176906588659238179416661858906771382309957381552145907259494462142297029770589279975268939700576030526436702545517612269071143583021774371810059942115281480987570194857700572572115425319908694762881032316401362394666513859198118449983665730648314258576933032205704736496707224310572986630722174235730649836267117727613420045979334051592715785802271125315926175308051521666894055877071306864094363255801256347376233280325130755238739851647319363181382134828348486175054796146020695901569601990582447612267571543172752775260901675687686155137552566351909452905326612826947315043713163582691910180379107291253884516514725214838631713523428112451143491429159235928953729443439877416252151034362899976342690222105128390987579727911673021227295706286597568808249576919649595352362556718039822673728924567942017920132050482600561550680708536603674835045151675789433629500680355647922014244151707677302831414402942282768678710885812453950924112770719477990447907184750448500019021693600463473909840549816146834832060111067768038102429287348634197732539463249394688370148969839153038000032184523736200148604693429592980658553171643447684154631092903474133859071694203007550814526601378250835212882800760870349820950051588487100648787342893715072184482868691069002357864573475814901798876430020718318604315431605581606582843111082171626457244739846037599629322751354247526206359772659549466988729739646278779807 706614517683037746096595754854461473539528871846094151817233595878631368685466276117607253672134561563939734457317157843499652105222698277049896149951913631482727740541710632298923305175884498852212778279945823545676780500930286099215301224501229840357695791887875011624382870725858719813155132198026550881957987263419035925194928718965744642230868159865930376696623724666203544185476666150744630945287644898192857947829560538594476691054873154859603065390997783290331186475837483045654978046045065208052087764884971595910572757898919556555827918837889672669055579655282670760788221397720665151281550013675244982981783654486523896613680275865269541060554439346307164244696883679417345488894839542439832067107983216148101927166900341487165712599573943742750501422105226375051143031116289434476170668140970689871417856867459634987003223173602565866087338342406694450352463788204198919705528991871351930645905936528990758444896445573054546330610360665673202954978068303055414316131451353326027820406859714804899790864901056678898808141564145015254270840142748447209287843391534512354251058146357801347814005243935680570137139716345768725338939433919802881380168175959552943073454747907987349382998369834040386493121827822359421860414380572483554955760570052670630083017112628252659489932524482624057822628696175940712537713096148098409108324690706012923319525648666057000929352805947573626542505727635652538254570142730126771908168174911259722041423233805488810595724228818694357169348607544891803675504379787996417500466686793855678304106178349817631441821204779921688644026022315126249628783471508364958366066231888011472550309744078458270813462007144182214464893964723905799157480193912170569809715597517490428001204171205000053742261712578099918864772822962423007838667052593434391193534522782810700778450750129945939875255855125131864204646323800675999636663587410148607625729059276984464935850448849990227979138842788051627988705246621276013128341803395371326690096878844456258771265826812324756625336202155906287821347205085859835496796640201832715911865364472804227013235825104547593064843770785962908097289198395024279436372537055600427720960495362734052142650751540472574962882025407598131278919591974120752103572036989504363777510988379014170872488047060233694205899855404214724875838231281004763336229878729403503895585512854472074075075589699537684404602267682494806101364693104971208281031249639787004054560398726243480791958447424934995995941931250435875136331168469260729595180846649990049334930457054060038692495428258066072232708191107599872110145518342747470341062120706314530775172132781605002522809621689276854751785930782991446796522665829831547600665685444118836352198494052502142842110775175322382995628742319999939748928856454161467255839764707027566657516360336725443744926695099374468906703515997698860761853369572366547552222773331264970088782983927680611309832272017457336187508094255100878468739636492749161257834900476307721095877454820132449011 1143326306555268670748285192527978834703420456633369080906153472841012497812520400454042050863465162886770730345626083329890595879027983480632905161775173813120454261536527463850818414439841654448547199914369626298296583530252528919780400533107530942299735814989041672035667423400345337196710117264067593899295216489596388597316056104560307341235581085462082128023840496002079433726558033298066054402227536670926229161152804350157981652918072605758487989275067157317281906444799768663053317456560484448132344698367653666935302228400206387392422645627588419025885352417112814815074963629224695139512369214724267284566665751017826112388346379780597632717083283930041018257112159659306341739352981526227461210660532254462724820561412677472771162060154267554059669939984221749411267779057920033594879862832019053604284936612449330851177052601454390567833451777628988472022694198631632980452468289144936849202675807494580879494453502552542065888717377076524581319894273111242657177494925941852561933460086210360723323073954012667623141105355350400612483278492605640641117136252428264315562659953373215124515565506524312661341740601584623424063780720669113789721745475912554627582139155471861147925578910513165346356632020206220933489868311461449905242962213134557903182630012718357408565831772345999458446054319033916128769825068149864097779185543951711740055271076442658264037529866488019065493593052780379405985930900992066313215919679815244097463908245264767026641231123972540879695392564462856439763114234041820074171541424334942938995386300643217593568074888106729024802369199221714908866962888170223865137448541845393024696217003572920413110491777733462189733833665299936325594182739429782838880859180539264799811264113320281534729831907435800491436888248282331702601548084909835753588201036642008819228434415860594254133832788157337568941143031024986572623294309584384338275565326394712078355896428184041820694924645059176943914880554672797680022397680466678190784460134645712606147499107137455511864076053803225651002729339914208321671851436347853411813434966463386674625503396647720345840104672461650594252426750961376188889277863668427375036004208526316744052831130647763828847398540132812969910633115402233203247063466148740292731240431818891587124639081423133670548590077509343115863417959192677784563525585016001072703835089774121669427438146417577507078331192250436824021496743587571769831711958176390678889605550402032914421459127780582918010186082958113177967745571411543498273891732462444000259043227773538029140402613008514572251729884708063346019986068158894305173122231774082568877601420130239200255349084938671543121934900622144484796554850353567747749270378873711817010751665695949826996741868078796516854700436523007490563455457832412302468722565467897916478466411925212544393714037993089541091186384688767863119717943048181449351099203351983288693098415533262217892675383099628962644752834101138478098062387846996687464194673135857188084607194466411228818 1849940824238306416844880947382440308242949328479463232723387068719643866497986676571649304535599724450710464802943241173390247984250681757682801311727087444603182002078238096149741719615726153300759978194315449843973364031182815018995701757608760782657431606876916683660050294126204057009865249462094144781253203753015424522510984823526051983466449245328012504720464220668282977912034699448810685347515181569119087108982364888752458343972945760618091054666064940607613092920637251708708295502605549656184432463252625262845874986299125943948250564465478091694940932072395485575863185026945360290793919228399512267548449405504350009002026655645867173777637723276348182501809043338723687228247821068667293277768515470610826747728313018959936874659728211296810171362089448124462410810174209468071050530972989743475702793479908965838180275775056956433920790120035682922375157986835831900157997281016288779848581744023571637939349948125596612219327737742197784274872341414298071493626377295178589753866945925165623113938855069346521949246919495415866754118635354087850404979643962776669813718099731016472329570750459993231478880317930392149402720154588916671101913651872107570655593903379848497308577280347205732849753848028580355350282692033933460198722783187228533265647125346610068055764296828623516268683015209856841307538164297962506887510234657724663374796725108715264966882672435592692036098780416031944240501043722193085124087854726503819505331479070255837236955352791235236864741172007748243438618613829816491672008111128798617299492478993035225009896092886650713446395221536841158495746359678588823503514773733404497246526747651378683923953784877644404198727630023842124751662933341953408690574778056755227812468284525281588472093620013900410301661071244754710440215137503270144781735559424819520006885165990540194009088643282469433145789354825662572259957896994532945901294385671696543291746877034032048674063487847228571903585801294073693150739483862049517474557013490168864918764933949780268489412255959131938824076545000068157168648076549686127725300330936190901638739221752267938904948443247613502349715949356400468325650400724027802756964703889050796195481882188236403810280565540411101189552707376353955350635503138244656508751420197905757997127128483367364754489932913557840739256190473682547899755463745404576599420602628593743502513736117115191482933459932931630122861436692542978112743207816177682944165949128276395213417575205517914006128014208549053104076739880804227869072579112434049593973684827598067832898041266580644484438075815663218130131586501641775514184352480397099652773552911844202778158706627948397873720831405135931593077516183399295349936064317830653362950159748451969838852643254118899850329178843007430312384314286573769724562330174925483135982772261937988138640733092464009997889900686466723881571312620547996903321976683248258781881399460942829202507655117086298832260928356239356566802024339745848722029573612164909180484649286543677829 2993267130793575087593166139910419142946369785112832313629540541560656364310507077025691355399064887337481195148569324503280843863278665238315706473502261257723636263614765560000560134055567807749307178108685076142269947561435343938776102290716291724957167421865958355695717717526549394206575366726161738680548420242611813119827040928086359324702030330790094632744304716670362411638592732746876739749742718240045316270135169238910439996891018366376579043941132097924894999365437020371761612959166034104316777161620278929781177214699332331340673210093066510720826284489508300390938148656170055430306288443123779552115115156522176121390373035426464806494721007206389200758921202998030028967600802594894754488429047725073551568289725696432708036719882478850869841302073669873873678589232129501665930393805008797079987730092358296689357328376511347001754241897664671394397852185467464880610465570161225629051257551518152517433803450678138678108045114818722365594766614525540728671121303237031151687327032135526346437012809082014145090352274845816479237397127959728491522115896391040985376378053104231596845136256984305892820620919515015573466500875258030460823659127784662198237733058851709645234156190860371079206385868234801288840151003495383365441684996321786436448277138064967476621596069174622974714737334243772970077363232447826604666695778609436403430067801551373529004412538923611757529691833196411350226431944714259398340007534541747916969239724335022863878186476763776116560133736470604683201732847871636565843549535463741556294878779636252818577970980993379738248764420758556067362709247848812688640963315578797521942743751224299097034445562611106593932561295323778450345845672771736247571433958596020027623732397845563123201925527449700901738549319527086413041763222413105898369936596066828339235319581851134448142921431439807002086932385850649144883252206578917284176859712066408621647643305218073869368988132906405515818466355966871373173137164328727708259017148135881471066264041087235780353488309762357589826805884914276478840499512897539539538735297399577576264242618399988284745053115709264096602142700317776657214928264392455177792968912415367540248313012836000232657679105673224071100185822778587158597698969286984949239991852016797345121766209906501035303080010422900956602674149666360332463281048761405649303255692402715412929951882534692698561264652183368454144358180280114747944455165992568361833771499530309309634876702986100832016314097166662231071822311292347726142964311574878049853016912601136096973300654275095216736167960523726564150117654660536080687306584254479668530374973042083403033507791566619940995655732027280416389632366536967043099206443191542470373701825444401796835594511332915416705029615366014920875839772118986072193284895642823399614449184187150532532354771085553551089076285375234587001289255668729446254421180035231547474979814994205047095183038216715261477013762457377834664864412186742536186224246748022097265091843752954906647 4843207955031881504438047087292859451189319113592295546352927610280300230808493753597340659934664611788191659951512565676671091847529346995998507785229348702326818265693003656150301853671293961050067156303000525986243311592618158957771804048325052507614599028742875039355768011652753451216440616188255883461801623995627237642338025751612411308168479576118107137464768937338645389550627432195687425097257899809164403379117534127662898340863964126994670098607197038532508092286074272080469908461771583760501209624872904192627052200998458275288923774558544602415767216561903785966801333683115415721100207671523291819663564562026526130392399691072331980272358730482737383260730246336753716195848623663562047766197563195684378316018038715392644911379610690147680012664163117998336089399406338969736980924777998540555690523572267262527537604151568303435675032017700354316773010172303296780768462851177514408899839295541724155373153398803735290327372852560920149869638955939838800164747680532209741441193978060691969550951664151360667039599194341232345991515763313816341927095540353817655190096152835248069174707007444299124299501237445407722869221029846947131925572779656769768893326962231558142542733471207576812056139716263381644190433695529316825640407779509014969713924263411577544677360366003246490983420349453629811384901396745789111554206013267161066804864526660088793971295211359204449565790613612443294466932988436452483464095389268251736474571203405278701115141829555011353424874908478352926640351461701453057515557646592540173594371258629288043587867073880030451695159642295397225858455607527401512144478089312202019189270498875677780958399347488750998131288925347620575097508606113689656262008736652775255436200682370844711674019147463601312040210390771841123481978359916376043151672155491647859242204747841674642152010074722276435232721740676311717143210103573450230078154097738105164939390182252105918043051620753634087722052157260945066323876648190777225733574161626050335985028975037016048842900565721489528650882429914344636009147589447225667264035628335768477902981840152256223650001558956877598951858649674177125540578665116482980549933616304418336443794895024236636467959671213635172289738530154941113948334472425229605748743272214703103118893338389868400057569943336458797341930340140042880363036512506810225902676295031309156432465618651807890044198112116300084267219616972657726057198373808746044777937448658585704848294278191618746022442111375211284175899051173151954012036890687312099446990597428734164806198695541675861220606036339389782280249241162177856201490936734876768183148525953927605811666498194568338869376563432416347982709882720366338449142507509373123736651985192853766674447154587034316555358794209022351188224086405559841917847225817748882750431956449088520670995504178017561086966186061701310882860568289277443157743156718479806256861214455147876297690693333801560309274690813617191231666436526488384908253820360187006445576493039498584476 7836475085825456592031213227203278594135688898705127859982468151840956595119000830623032015333729499125672855100081890179951935710808012234314214258731609960050454529307769216150861987726861768799374334411685602128513259154053502896547906339041344232571766450608833395051485729179302845423015982914417622142350044238239050762165066679698770632870509906908201770209073654009007801189220164942564164847000618049209719649252703366573338337754982493371249142548329136457403091651511292452231521420937617864817986786493183122408229415697790606629596984651611113136593501051412086357739482339285471151406496114647071371778679718548702251782772726498796786767079737689126584019651449334783745163449426258456802254626610920757929884307764411825352948099493168998549853966236787872209767988638468471402911318583007337635678253664625559216894932528079650437429273915365025711170862357770761661378928421338740037951096847059876672806956849481873968435417967379642515464405570465379528835868983769240893128521010196218315987964473233374812129951469187048825228912891273544833449211436744858640566474205939479666019843264428605017120122156960423296335721905104977592749231907441431967131060021083267787776889662067947891262525584498182933030584699024700191082092775830801406162201401476545021298956435177869465698157683697402781462264629193615716220901791876597470234932328211462322975707750282816207095482446808854644693364933150711881804102923809999653443810927740301564993328306318787469985008644948957609842084309573089623359107182056281729889250038265540862165838054873410189943924063053953293221164855376214200785441404890999541132014250099976877992844910099857592063850220671399025443354278885425903833442695248795283059933080216407834875944674913302213778759710298927536523741582329481941521608751558476198477524329692809090294931506162083437319654126526960862026462310152367514255013809804513786587033487470179787412039753660039603540518513227816439497013812519504933992591309761931807051293016124251829196388875483847118477688314828621114849647102344765206802770925735346054167224458552244508395054674666141695554001349991953782755506929508938158342902528719785876692107907860236869125638776886859243389924352933528272546033441712214554988735124231500448240659548296369435360649953759359753944604489806403212826317561268215875205931987434024569362417501186500588605462764299668538411577797252772474001653539801314406611708948188895014483170981177719578038756208541873515247721362465499680155001202262190149300007510029870261779499349816771077956773996863116346430366895822713936888797520989356436713523498996011008845174289761188279865032295459696764372342249257333381548348950700915594110353810637255563510041665919949733260388409575037272064063858524545914111132121460572282364881140636239053203350275263571112176042471436935897884149823958006889412164336753711353731841029449352923392873731550516821786288453270995025896530848713230921094478067108209103710668336792453491123 12679683040857338096469260314496138045325008012297423406335395762121256825927494584220372675268394110913864515051594455856623027558337359230312722043960958662377272795000772872301163841398155729849441490714686128114756570746671661854319710387366396740186365479351708434407253740832056296639456599102673505604151668233866288404503092431311181941038989483026308907673842591347653190739847597138251589944258517858374123028370237494236236678618946620365919241155526174989911183937585564532701429882709201625319196411366087315035281616696248881918520759210155715552360717613315872324540816022400886872506703786170363191442244280575228382175172417571128767039438468171863967280381695671537461359298049922018850020824174116442308200325803127217997859479103859146229866630399905870545857388044807441139892243361005878191368777236892821744432536679647953873104305933065380027943872530074058442147391272516254446850936142601600828180110248285609258762790819940562665334044526405218329000616664301450634569714988256910285538916137384735479169550663528281171220428654587361175376306977098676295756570358774727735194550271872904141419623394405831019204942934951924724674804687098201736024386983314825930319623133275524703318665300761564577221018394554017016722500555339816375876125664888122565976316801181115956681578033151032592847166025939404827775107805143758537039796854871551116947002961642020656661273060421297939160297921587164365268198313078251389918382131145580266108470135873798823409883553427310536482435771274542680874664828648821903483621296894828905753705128753440641639083705349350519079620462903615712929919494203201560321284748975654658951244257588608590195139146019019600540862884999115560095451431901570538496133762587252546549963822376903525818970101070768660005719942245857984673280907050124057719729077534483732446941580884359872552375867203272579169672413725817744333167907542618951526423669722285705455091374413673691262570670488761505820890460710282159726165471387982143036321991161267878039289441205336647128570744742965750858794691791990874066806554071114532070206298704500732045056233623019294505859999666130908296085594625421138892836145024204213135902802884473505593598448100494415679662883088469386494367914137444160737478396446203551359552886686237835418219897095818551286534829946446093189354073775026101108608282465333725794883119838308478649660876415968622678797414225430200058851913610060451389646396847480719331465259369338324061198319917084799423620413638651634167038092949502248746998107458604426585698045358446939177380033202506128710616136984891793090288457724233204896672024949938614656840787955756618734408858892113112355052131977699719997491458210288717847005795830109330184488820506984049815747203784059623252287944930105756028979347278321165115313097085327573874345779441588673263008657498637208767010392247284332569907493472191159988702243904500799690564424884318382095563144084612217128197285239719306002731887468396110156244829831952075599 20516158126682794688500473541699416639460696911002551266317863913962213421046495414843404690602123610039537370151676346036574963269145371464626936302692568622427727324308542088452025829125017498648815825126371730243269829900725164750867616726407740972758131929960541829458739470011359142062472582017091127746501712472105339166668159111009952573909499389934510677882916245356660991929067762080815754791259135907583842677622940860809575016373929113737168383703855311447314275589096856984932951303646819490137183197859270437443511032394039488548117743861766828688954218664727958682280298361686358023913199900817434563220923999123930633957945144069925553806518205860990551300033145006321206522747476180475652275450785037200238084633567539043350807578597028144779720596636693742755625376683275912542803561944013215827047030901518380961327469207727604310533579848430405739114734887844820103526319693854994484802032989661477500987067097767483227198208787320205180798450096870597857836485648070691527698235998453128601526880610618110291299502132715329996449341545860906008825518413843534936323044564714207401214393536301509158539745551366254315540664840056902317424036594539633703155447004398093718096512795343472594581190885259747510251603093578717207804593331170617782038327066364667587275273236358985422379735716848435374309430655133020543996009597020356007274729183083013439922710711924836863756755507230152583853662854737876247072301236888251043362193058885881831101798442192586293394892198376268146324520080847632304233772010705103633372871335160369767919543183626850831583007768403303812300785318279829913715360899094201101453298999075631536944089167688466182258989366690418625984217163884541463928894127150365821556066842803660381425908497290205739597729811369696196529461524575339926194889658608600256197253407227292822741873087046443309872029993730233441196134723878185258588181717347132738113457157192465492867131128073713294803089183716577945317904273229787093718756781149913950087615007285519707235678316689183765606259059571586865708441794136756080869577479806460586237430757256745240440110908289160990059861349658084691051592524134359297235738673743990089828010710744710374719237224987353659069587236021997659040401355849658715726213520677703999600212434982607270778869850855178305231139319752849306015671635043241976314540269899358295157300621024809067255123640715637161090375211478202674060505453411374858001355345036375733814636240547057902099954528458958314671341776104151314322039295211692398047005617488474688365197395175218017134154030065622475140983032807605729979085978713589641610195523945949623502015077716944898599441154351809876727394381235033101545840408911204311957359606467364893694530486426933783076135613359096895316351803454651670140111468738893447480194237721566627077696054705159785439051128935573106651160216205291221982071830225902513720543273353853723083438156434835203881851597355607243024728133952950227097209954576605213866913166624405566722 33195841167540132784969733856195554684785704923299974672653259676083470246973989999063777365870517720953401885203270801893197990827482730694939658346653527284805000119309314960753189670523173228498257315841057858358026400647396826605187327113774137712944497409312250263865993210843415438701929181119764633350653380705971627571171251542321134514948488872960819585556758836704314182668915359219067344735517653765957965705993178355045811694992875734103087624859381486437225459526682421517634381186356021115456379609225357752478792649090288370466638503071922544241314936278043831006821114384087244896419903686987797754663168279699159016133117561641054320845956674032854518580414840677858667882045526102494502296274959153642546284959370666261348667057700887291009587227036599613301482764728083353682695805305019094018415808138411202705760005887375558183637885781495785767058607417918878545673710966371248931652969132263078329167177346053092485960999607260767846132494623275816186837102312372142162267950986710038887065796748002845770469052796243611167669770200448267184201825390942211232079614923488935136408943808174413299959368945772085334745607775008827042098841281637835439179833987712919648416135928618997297899856186021312087472621488132734224527093886510434157914452731252790153251590037540101379061313749999467967156596681072425371771117402164114544314526037954564556869713673566857520418028567651450523013960776325040612340499549966502433280575190031462097210268578066385116804775751803578682806955852122174985108436839353925536856492632055198673673248312380291473222091473752654331380405781183445626645280393297402661774583748051286195895333425277074772454128512709438226525080048883657024024345559051936360052200605390912927975872319667109265416699912440464856535181466821197910868170565658724313916982484761776555188814667930803182424405860933506020365807137604003002921349624889751689639880826914751198322222502487386986065659854205339451138794733940069253444922252537896093123936998446787585274967757894520412734829804314552616567236485928746954936384033877575118307637055961245972485167141912180284565721349324215599347678118759780436128574818768194302963913513629183880312835673087848074749250119110467045534769269987102876463691917123907550959765321668845106197089747950996856517674149699295399205025708818268077423148552364692020952183740863117545904784517131605783769172625703632874119357367021435309391001741883856453146101499916396226161152848376043114094962189742802948489077388161194646794003724947079114950895440533664956311534063268128603851599169792497523069374436437822846506867548895888238158855865672701517333850013243922989082446513212732821543331867121493029804365402297474223879019306933917832891882817143156518568639748384757426169090816017214612595507334806894200952041834146748458702059786434210315418170608452575554551979323698093673709245517258354522774002581319153585977414741440219460152925419192669533099941842045001324023157996456357642321 53711999294222927473470207397894971324246401834302525938971123590045683668020485413907182056472641330992939255354947147929772954096628102159566594649346095907232727443617857049205215499648190727147073140967429588601296230548121991356054943840181878685702629339272792093324732680854774580764401763136855761097155093178076966737839410653331087088857988262895330263439675082060975174597983121299883099526776789673541808383616119215855386711366804847840256008563236797884539735115779278502567332490002840605593562807084628189922303681484327859014756246933689372930269154942771789689101412745773602920333103587805232317884092278823089650091062705710979874652474879893845069880447985684179874404793002282970154571725744190842784369592938205304699474636297915435789307823673293356057108141411359266225499367249032309845462839039929583667087475095103162494171465629926191506173342305763698649200030660226243416455002121924555830154244443820575713159208394580973026930944720146414044673587960442833689966186985163167488592677358620956061768554928958941164119111746309173193027343804785746168402659488203142537623337344475922458499114497138339650286272615065729359522877876177469142335280992111013366512648723962469892481047071281059597724224581711451432331687217681051939952779797617457740526863273899086801441049466847903341466027336205445915767126999184470551589255221037577996792424385491694384174784074881603106867623631062916859412800786854753476642768248917343928312067020258971410199667950179846829131475932969807289342208850059029170229363967215568441592791496007142304805099242155958143681191099463275540360641292391603763227882747126917732839422592965540954713117879399856852509297212768198487953239686202302181608267448194573309401780816957315005014429723810161053064642991396537837063060224267324570114235891989069377930687754977246492296435854663739461561941861482188261509531342236884427753337984107216691189353630561100280868749037921917396456699007169856347163679033687810043211552005732307292510646074583704178341088863886139482275678280065503035805961513684035704545067813217991212925278050201341274625582698982300290399270642894139733364313492512184392791924224373894255032072898075201733818837355132464704575170625836761592189905437801611550559977756651452376975959598806175161748813469452144705220697343861510053737688822264050316109484361887926613159908157847242944859547837181835548179862820432810167392357086920232186960737740463454128261107376835001428766303965846954262811116683372887044841009342435553803316092835708882973445688093333751078992582202600103253048460415151412488117063072841837861660870943389646415933291167595732865809840894447765923089172276032697341761725008764839117573549793360851615968018430502253413884991551839409096309202284756108060075701572528460828029737888851908244141110915369783422069330824657866776534051153923996187429788790612208245857440737753988789859266338795826703177653553145619760197151796621606537890071163080763209043 86907840461763060258439941254090526009032106757602500611624383266129153914994475412970959422343159051946341140558217949822970944924110832854506252995999623192037727562927172009958405170171363955645330456808487446959322631195518817961242270953956016398647126748585042357190725891698190019466330944256620394447808473884048594309010662195652221603806477135856149848996433918765289357266898480518950444262294443439499774089609297570901198406359680581943343633422618284321765194642461700020201713676358861721049942416309985942401096330574616229481394750005611917171584091220815620695922527129860847816753007274793030072547260558522248666224180267352034195498431553926699588460862826362038542286838528385464656868000703344485330654552308871566048141693998802726798895050709892969358590906139442619908195172554051403863878647178340786372847480982478720677809351411421977273231949723682577194873741626597492348107971254187634159321421789873668199120208001841740873063439343422230231510690272814975852234137971873206375658474106623801832237607725202552331788881946757440377229169195727957400482274411692077674032281152650335758458483442910424985031880390074556401621719157815304581515114979823933014928784652581467190380903257302371685196846069844185656858781104191486097867232528870247893778453311439188180502363216847371308622624017277871287538244401348585095903781258992142553662138059058551904592812642533053629881584407387957471753300336821255909923343438948806025522335598325356527004443701983425511938431785091982274450645689412954707085856599270767115266039808387433778027190715908612475061596880646721167005921685689006425002466495178203928734756018242615727167246392109295079034377261651855511977585245254238541660468053585486237377653136624424270431129636250625909599824458217735747931230789926048884031218376750845933119502422908049674720841715597245481927748999086191264430880967126636117393218811021967889511576133048487266934408892127256847595493741109925600608601286225706136335489004179094877785613832478224591075918668200692098842914765994249990742345547561610822852704869179237185410445192113521559191304048306515889746948761653920169492888311280378695755837738003078135344908571163049808568087474242931750109939895823864468653597354925519101519743078320297483173049346757172018266487619151440104425723052679778131160837374628742337061668102751044159064692674978848728628720462885468422299220187454245476783358828804088640106839240379850354422260225211044542861266155589757211300194071534081691635013067382632918266988276242547929757222156601879682844181372392600776117834851589235334623930621737726099819726809062347933267141180839655854892287407660498744632504143154190371566090411062313341452569100294769448859901247645409932453631300224166522478293100773322672671208907335355028981779722998656702843170701803993737487501433110442331086030477622089861139034307870562768631443319073142375836681080236046163330578972338289293297093638666607861913229159537120851364 140619839755985987731910148651985497333278508591905026550595506856174837583014960826878141478815800382939280395913165097752743899020738935014072847645345719099270455006545029059163620669819554682792403597775917035560618861743640809317297214794137895084349756087857834450515458572552964600230732707393476155544963567062125561046850072848983308692664465398751480112436109000826264531864881601818833543789071233113041582473225416786756585117726485429783599641985855082206304929758240978522769046166361702326643505223394614132323400012058944088496150996939301290101853246163587410385023939875634450737086110862598262390431352837345338316315242973063014070150906433820544658341310812046218416691631530668434811439726447535328115024145247076870747616330296718162588202874383186325415699047550801886133694539803083713709341486218270370039934956077581883171980817041348168779405292029446275844073772286823735764562973376112189989475666233694243912279416396422713899994384063568644276184278233257809542200324957036373864251151465244757894006162654161493495907993693066613570256513000513703568884933899895220211655618497126258216957597940048764635318153005140285761144597033992773723850395971934946381441433376543937082861950328583431282921070651555637089190468321872538037820012326487705634305316585338274981943412683695274650088651353483317203305371400533055647493036480029720550454562444550246288767596717414656736749208038450874331166101123676009386566111687866149953834402618584327937204111652163272341069907718061789563792854539471983877315220566486335556858831304394576082832289958064570618742787980109996707366562978080610188230349242305121661574178611208156681880364271509151931543674474420053999930824931456540723268735501780059546779433953581739275445559360060786962664467449614273584994291014193373454145454268739915311050190177885296167017277570260984943489690860568379525940412309363520545146556795129184580700929763609587547803157930049174244052192748279781947772280319913516179547041009911402170296259907061928769417007532086831581118593046059753026548307061245646527397772682397228398335723242314862833816886747288816180146219404548059902857201803792563088547761962376972390376981469238251542386924829375396454685110521660626060843502792727130652079720834971749860149008945563347180015301088603584809646420396541288184898526196892792653171152464638970772224600832826091673488268300067303970479083007887055644175715915724320827067576980843304482683367602046045971627570121436711474111310754906968736476022409818186721583081111951430903202910249935630761836763574992704029166295266740647822740993694579563961480597752451994349200432348435388720702128302108264667721676419186887713327815419827152459026118893655621064827919678147663346338622852063575618787495385529430732746910479863815857011517611850564946984281617173777159556832257768309107620081631546086048568823098482771014488884056827131165695947419031872866508232525483909053494245435288214399803300322617884060407 227527680217749047990350089906076023342310615349507527162219890122303991498009436239849100901158959434885621536471383047575714843944849767868579100641345342291308182569472201069122025839990918638437734054584404482519941492939159627278539485748093911482996882836442876807706184464251154619697063651650096549992772040946174155355860735044635530296470942534607629961432542919591553889131780082337783988051365676552541356562834714357657783524086166011726943275408473366528070124400702678542970759842720564047693447639704600074724496342633560317977545746944913207273437337384403031080946467005495298553839118137391292462978613395867586982539423240415048265649337987747244246802173638408256958978470059053899468307727150879813445678697555948436795758024295520889387097925093079294774289953690244506041889712357135117573220133396611156412782437060060603849790168452770146052637241753128853038947513913421228112670944630299824148797088023567912111399624398264454773057823406990874507694968506072785394434462928909580239909625571868559726243770379364045827696875639824053947485682196241660969367208311587297885687899649776593975416081382959189620350033395214842162766316191808078305365510951758879396370218029125404273242853585885802968117916721399822746049249426064024135687244855357953528083769896777463162445775900542645958711275370761188490843615801881640743396817739021863104116700503608798193360409359947710366630792445838831802919401460497265296489455126814955979356738216909684464208555354146697853008339503153771838243500228884938584401077165757102672124871112782009860859480673973183093804384860756717874372484663769616613232815737483325590308934629450772409047610663618447010578051736071909511908410176710779264929203555365545784157087090206163545876688996311412872264291907832009332925521804119422338176672645490761244169692600793345841738119285858230425417439859654570790371293276490156662539775606151152470212505896658074814737566822176431091647686489389707548380881606139222315882530014090497048081873739540153360492926200287523679961507812054003017290652608807257350250477551576465583746168434428384393008190795595332069893168166201980072350090115072941784303599700380050525721890040401301350955012303618328204795050417484490529497100147652649753599463913292047343322058292320519198281788707755024914072143449221066316059363571521534990232820567390014931289293507804940402116988762952772392778303195341301120959074744528409467174416221223154837105627827257090514488836277026468685411504826441050428111035477200819639850069388193978832960132406537510444680944947385304805284130118329883157364924316317290061300324561514342282467573529275044575594415709768763412354180562341078084893905830889465800478687993950390513687820925793073278792254152287742141265788486302753405418119387199170885993297334849221649827452318977770897044333690878751438706112109168175909707857406353333783120327375900273541532628499267919029838811497822198346791339073954822261716529482155004911771 368147519973735035722260238558061520675589123941412553712815396978478829081024397066727242379974759817824901932384548145328458742965588702882651948286691061390578637576017230128285646509810473321230137652360321518080560354682800436595836700542231806567346638924300711258221643036804119219927796359043572705537735608008299716402710807893618838989135407933359110073868651920417818420996661684156617531840436909665582939036060131144414368641812651441510542917394328448734375054158943657065739806009082266374336952863099214207047896354692504406473696743884214497375290583547990441465970406881129749290925228999989554853409966233212925298854666213478062335800244421567788905143484450454475375670101589722334279747453598415141560702842803025307543374354592239051975300799476265620189989001241046392175584252160218831282561619614881526452717393137642487021770985494118314832042533782575128883021286200244963877233918006412014138272754257262156023679040794687168673052207470559518783879246739330594936634787885945954104160777037113317620249933033525539323604869332890667517742195196755364538252142211482518097343518146902852192373679323007954255668186400355127923910913225800852029215906923693825777811651405669341356104803914469234251038987372955459835239717747936562173507257181845659162389086482115738144389188584237920608799926724244505694148987202414696390889854219051583654571262948159044482128006077362367103380000484289706134085502584173274683055566814681105933191140835494012401412667006309970194078247221215561402036354768356922461716297732243438228983702417176585943691770632037753712547172840866714581739047641850226801463164979788447251883113240658929090927974935127598942121726210491963511839235108167319988197939057145605330936521043787902821322248356372199834928759357446282917919812818312795792322126914230676555219882778678642008755396856119215368907130720222950316311705585853677207686332401280337050913435660267662362540724752225605335699879237669489496153161926052738495429571024001899218378133646602082129909933732374355261080100858113756043838959670052903877648250233973693982081891676743247226825077542884148250039387570750039975207291918865504872851361662757022916098871509639552893341937132993724659480160939145116590340602940379780405679184748263797203471067237883866378297089796358609723718563845762354500957889768414327643403973032028985703513894340631032075605257063020076363257386203228356765134790660252730294241993202066459319788995429303136486116406398463180159522815581348019164587057887019006361433150500145409736163042656473141206517708522378008834450425385070530980105918010896854022780922313966336631668005877710433296296544011877028080075856981527965798221721250716618259504806887606011578515740603940736625130877004351317760053283871832184138165029867062986743004814946699786596811733936151548056601165948647060546326193740714261958276680504836104797609211432727404707228575918299791896347044023306107400285584509243036661519829804772888972178 595675200191484083712610328464137544017899739290920080875035287100782820579033833306576343281133719252710523468855931192904173586910438470751231048928036403681886820145489431197407672349801391959667871706944726000600501847621960063874376186290325718050343521760743588065927827501055273839624860010693669255530507648954473871758571542938254369285606350467966740035301194840009372310128441766494401519891802586218124295598894845502072152165898817453237486192802801815262445178559646335608710565851802830422030400502803814281772392697326064724451242490829127704648727920932393472546916873886625047844764347137380847316388579629080512281394089453893110601449582409315033151945658088862732334648571648776233748055180749294955006381540358973744339132378887759941362398724569344914964278954931290898217473964517353948855781753011492682865499830197703090871561153946888460884679775535703981921968800113666191989904862636711838287069842280830068135078665192951623446110030877550393291574215245403380331069250814855534344070402608981877346493703412889585151301744972714721465227877392997025507619350523069815983031417796679446167789760705967143876018219795569970086677229417608930334581417875452705174181869434794745629347657500355037219156904094355282581288967174000586309194502037203612690472856378893201306834964484780566567511202095005694184992603004296337134286671958073446758687963451767842675488415437310077470010792930128537937004904044670539979545021941496061912547879052403696865621222360456668047086586724369333240279854997241861046117374898000540901108573529958595804551251306010936806351557701623432456111532305619843414695980717271772842192047870109701499975585598746045952699777946563873023747645284878099253127142612511151115093608133994066367198937352683612707193051265278292250845334622432218130498799559721437799389575379471987850493516141977445794324570579877521106682998862343833870226108007431489521125941556925737177278291574402036427347565727059197044534043532191960811312101038092396266460007386142235490402859932661878941041608670167759061129612278860161227898727785550159565828060111171631619833268338479480319932555736952020047557382033938446657154961363137073441820761550040854244296949436612052864275211356629607119837703088032430159278648661555844546793125530204385576578878504113634637790707294983420817017253339935862633636793599419000634803187848435972477722245825972848756035689398569657886093865404781139761416409423289614156894623256560227000605242675489648844934320407789069592698093364219826001283219888339388569123175063010651651198653469763313639734555503400414137470842327214144084081246875480678914135579406985477871890959721645791492430037543869043883115627081606084059983494881556402092203561529733809903923131156639059901319072358134937543583149254262157628998112281549008246639186255129318953645499639525811985032305849882437867984537911189438580729538808627678248761204417567710926185855521128305747076923583197858923236359286927893883949 963822720165219119434870567022199064693488863232332634587850684079261649660058230373303585661108479070535425401240479338232632329876027173633882997214727465072465457721506661325693318859611865280898009359305047518681062202304760500470212886832557524617690160685044299324149470537859393059552656369737241961068243256962773588161282350831873208274741758401325850109169846760427190731125103450651019051732239495883707234634954976646486520807711468894748029110197130263996820232718589992674450371860885096796367353365903028488820289052018569130924939234713342202024018504480383914012887280767754797135689576137370402169798545862293437580248755667371172937249826830882822057089142539317207710318673238498568027802634347710096567084383161999051882506733479998993337699524045610535154267956172337290393058216677572780138343372626374209318217223335345577893332139441006775716722309318279110804990086313911155867138780643123852425342596538092224158757705987638792119162238348109912075453461984733975267704038700801488448231179646095194966743636446415124474906614305605388982970072589752390045871492734552334080374935943582298360163440028975098131686406195925098010588142643409782363797324799146530951993520840464086985452461414824271470195891467310742416528684921937148482701759219049271852861942861008939451224153069018487176311128819250199879141590206711033525176526177125030413259226399926887157616421514672444573390793414418244071090406628843814662600588756177167845739019887897709267033889366766638241164833945584894642316209765598783507833672630243979130092275947135181748243021938048690518898730542490147037850579947470070216159145697060220094075161110768630590903560533873644894821504157055836535586880393045419241325081669656756446030129177781969188521185709055812542121810622724575168765147440745013922820926473952114354609458158150629859248912998096661163231701300100471422994704448197511077912440408711826572039377217193399539819016326627641763047444964728686540687205458244699306741672062094295484838141032744317620312793665036234202121709528281515104968571948913065105546978019523853547909951787914878846658345881363628569971943307702060022764673952803951530006323025894096357919633059680407137638886569605777523755372295774723710178306028412210564957833409819641750264192768088251954875968300472244361509271140745775317975143108350190277040766631447986338317082189067004553327502888992925119293075601798014651228656065033870055658402625356073476683618685863363486721649073952829004457135989137088757285151251238832362716370388484798305286217719483792857716361992141322474184980888470945117576760338110998106862169189447015545803585284695911168187503733522819572505894525397009681337348332322702319488301769162413670719302133674546529054008160990377661372356229967121681748179121325144372002927228248794843450920191280867010246665588172872531358499590596699826261218416025543378338750241355082955989780335867502822532899544434413147362508092440895584756189091700782856127 1559497920356703203147480895486336608711388602523252715462885971180044470239092063679879928942242198323245948870096410531136805916786465644385114046142763868754352277866996092523100991209413257240565881066249773519281564049926720564344589073122883242668033682445787887390077298038914666899177516380430911216598750905917247459919853893770127577560348108869292590144471041600436563041253545217145420571624042082101831530233849822148558672973610286347985515302999932079259265411278236328283160937712687927218397753868706842770592681749344633855376181725542469906672746425412777386559804154654379844980453923274751249486187125491373949861642845121264283538699409240197855209034800628179940044967244887274801775857815097005051573465923520972796221639112367758934700098248614955450118546911103628188610532181194926728994125125637866892183717053533048668764893293387895236601402084853983092726958886427577347857043643279835690712412438818922292293836371180590415565272269225660305367027677230137355598773289515657022792301582255077072313237339859304709626208359278320110448197949982749415553490843257622150063406353740261744527953200734942242007704625991495068097265372061018712698378742674599236126175390275258832614800118915179308689352795561666024997817652095937734791896261256252884543334799239902140758059117553799053743822330914255894064134193211007370659463198135198477171947189851694729833104836951982522043401586344546782008095310673514354642145610697673229758286898940301406132655111727223306288251420669954227882596064762840644553951047528244520031200849477093777552794273244059627325250288244113579493962112253089913630855126414331992936267208980878332090879146132619690847521282103619709559334525677923518494452224282167907561123737311776035555720123061739425249314861888002867419610482063177232053319726033673552153999033537622617709742429140074106957556271879977992529677703310541344948138548416143316093165318774119136717097307901029678190395010691787883585221248990436660118053773100186691751298148418886553110715653597698113143163318198449274166098184227773226333445705805074013113738011899086510466491614219843108889904499044654080070322055986742398187161284389031169799740394609721261381935836006217830388030583652404330830016009116444640724236482071375486297057318298292637531454846804585878999299978435729196134992396448286052910677560230866986973120270037502977031049748714965773875328765000367672537322521469815009817074812048645687633578241942423590487326891749442477849391456396926158349983244615458658363999590276824186874409392782494444508915015461904636113919536391871359255047602665325142190943416064927694459939164691681389040078463455168611064935932069266053564452975413928786379471796650718815762922863663408356432977139317629437562691428588102059225331328375587302001001039509797803090090106446410185963892165227698684516390805440479137694245756327214981959068289049982761204750984753435213748718755065562718894439431675638754507992548378628676740076 2523320640521922322582351462508535673404877465755585350050736655259306119899150294053183514603350677393781374271336889869369438246662492818018997043357491333826817735588502753848794310069025122521463890425554821037962626252231481064814801959955440767285723843130832186714226768576774059958730172750168153177666994162880021048081136244602000785835089867270618440253640888360863753772378648667796439623356281577985538764868804798795045193781321755242733544413197062343256085643996826320957611309573573024014765107234609871259412970801363202986301120960255812108696764929893161300572691435422134642116143499412121651655985671353667387441891600788635456475949236071080677266123943167497147755285918125773369803660449444715148140550306682971848104145845847757928037797772660565985272814867275965479003590397872499509132468498264241101501934276868394246658225432828902012318124394172262203531948972741488503724182423922959543137755035357014516452594077168229207684434507573770217442481139214871330866477328216458511240532761901172267279980976305719834101114973583925499431168022572501805599362335992174484143781289683844042888116640763917340139391032187420166107853514704428495062176067473745767078168911115722919600252580330003580159548687028976767414346337017874883274598020475302156396196742100911080209283270622817540920133459733506093943275783417718404184639724312323507585206416251621616990721258466654966616792379758965026079185717302358169304746199453850397604025918828199115399689001093989944529416254615539122524912274528439428061784720158488499161293125424228959301037295182108317844149018786603726531812692200559983847014272111392213030342370091646962681782706666493335742342786260675546094921406070968937735777305951824664007153866489558004744241308770795237791436672510727442588375629503922245976140652507625666508608491695773247568991342138170768120787973180078463952672407758738856026050988824855142665204695991312536256916324227657319953442455656516570125908454448681359424795445162280987236136289451630870731028447262734347345285027726730789271066756176686291438992683824597866661647963687001389313149960101206737459876442352356140093086729939546349717167607414925266157660027669401668519574722575823607911785955948179054540194315144856851289194315481195128047321511066380889486330815105058123360809249576474971452967539556636243187718326862314973311437352226569981584377251603958698994621840602165687188551177534848879872733214674001761110261860628286953974048540823395306853848592386063247107268395866697490726715960665308985179695610501978237366631377454045958588104517280342304372624363003436140297805585254374710005742749976377300208265967188691430637441826594663063245790323746251488698960098419881229433642165797082902962031147478619815224063784818069180907079507496912446373003966738046597933541026637691052974138830815871557047749305031075837520506974743240525337407039291337844160740765089302716571251654609997132041801939768079650092748737470329459596203 4082818560878625525729832357994872282116266068278838065513622626439350590138242357733063443545592875717027323141433300400506244163448958462404111089500255202581170013455498846371895301278438379762029771491804594557244190302158201629159391033078324009953757525576620074104304066615688726857907689130599064394265745068797268508000990138372128363395437976139911030398111929961300316813632193884941860194980323660087370295102654620943603866754932041590719059716196994422515351055275062649240772247286260951233162861103316714030005652550707836841677302685798282015369511355305938687132495590076514487096597422686872901142172796845041337303534445909899740014648645311278532475158743795677087800253163013048171579518264541720199714016230203944644325784958215516862737896021275521435391361778379593667614122579067426238126593623902107993685651330401442915423118726216797248919526479026245296258907859169065851581226067202795233850167474175936808746430448348819623249706776799430522809508816445008686465250617732115534032834344156249339593218316165024543727323332862245609879365972555251221152853179249796634207187643424105787416069841498859582147095658178915234205118886765447207760554810148345003204344301390981752215052699245182888848901482590642792412163989113812618066494281731555040939531541340813220967342388176616594663955790647761988007409976628725774844102922447521984757153606103316346823826095418637488660193966103511808087281027975872523946891810151523627362312817768500521532344112821213250817667675285493350407508339291280072615735767686733019192493974901322736853831568426167945169399307030717306025774804453649897477869398525724205966609579072525294772661852799113026589864068364295255654255931748892456230229530233992571568277603801334040299961431832534663040751534398730310007986111567099478029460378541299218662607525233395865278733771278244875078344245060056456482350111069280200974189537240998458758370014765431672974013632128686998143837466348304453711129703439118019542849218262467678987434437870517423841744100860432460488448345925180063437164940404459517772438389629671879775385975586087899779641574321049846349780941397010220163408785926288747904328891803956435957400422279122929901510558582041438299816539600583385370210324261301492013430797552570614344378829364673527017785661909644002360109228012204167587959936004922296098395887093181960284557622264072958615427000318924472869950605602533359725873699004663889689808026722647448743840102570710544461375432572837784703240048782989405457251640482156149090715550942133172054105003284472681875546392915950594702024053672213663627671965668761282488749001319302404465681914668058689248344430643860041702377758663929116810243299160180275078431895070600045196565029460491259395008286796249252786755213406171240132410835872499748374005006247844401023631133084101238938030996043570241564140110471554975214752731070455507296475328341320605365491749842737930319970409675559850936241371443718404600741285848958136336279 6606139201400547848312183820503407955521143534034423415564359281698656710037392651786246958148943553110808697412770190269875682410111451280423108132857746536407987749044001600220689611347463502283493661917359415595206816554389682693974192993033764777239481368707452260818530835192462786816637861880767217571932739231677289556082126382974129149230527843410529470651752818322164070586010842552738299818336605238072909059971459419738649060536253796833452604129394056765771436699271888970198383556859833975247927968337926585289418623352071039827978423646054094124066276285199099987705187025498649129212740922098994552798158468198708724745426046698535196490597881382359209741282686963174235555539081138821541383178713986435347854566536886916492429930804063274790775693793936087420664176645655559146617712976939925747259062122166349095187585607269837162081344159045699261237650873198507499790856831910554355305408491125754776987922509532951325199024525517048830934141284373200740251989955659880017331727945948574045273367106057421606873199292470744377828438306446171109310533995127753026752215515241971118350968933107949830304186482262776922286486690366335400312972401469875702822730877622090770282513212506704671815305279575186469008450169619619559826510326131687501341092302206857197335728283441724301176625658799434135584089250381268081950685760046444179028742646759845492342360022354937963814547353885292455276986345862476834166466745278230693251638009605374024966338736596699636932033113915203195347083929901032472932420613819719500677520487845221518353787100325551696154868863608276263013548325817321032557587496654209881324883670637116418996951949164172257454444559465606362332206854624970801749177337819861393966006836185817235575431470290892045044202740603329900832188206909457752596361741071021724005601031048924885171216016929169112847725113416415643199132218240134920435022518828019057000240526065853601423574710756744209230929956356344318097279922004821023837038157887799378967644663424748666223570727322148294572772548123166807833733373651910852708231696581145809211431073454269746437033939273089289092791534422256583809657383749366360256495515865835097621496499218881702115060449948524598421085281157865046211602495548762439910404639406158343302625113033765742391700340431054416504116477014702125720918477588679139040927475561558539286114213955496933595994974490642940199804251922883171864572446204699046914424876539512769562541241396649209854101963198997498435423973396233091557088641169052652564520036348853639817431511607442157233800613786450919242177770369996553290128570952555968000296328672197422786554586573677114471424664644435989456610397832551472339819585258592180056033622906431763777391993490481274630207195257574162357039434274869068010818998224240421039490343369412194747008972985890998957172159721792291912169826859441798611889415502630812735259705813696032633882367632658449526232514932040646891222064285556982978043311211798054693490023319287595932482 10688957762279173374042016178498280237637409602313261481077981908138007300175635009519310401694536428827836020554203490670381926573560409742827219222358001738989157762499500446592584912625901882045523433409164010152451006856547884323133584026112088787193238894284072334922834901808151513674545551011366281966198484300474558064083116521346257512625965819550440501049864748283464387399643036437680160013316928898160279355074114040682252927291185838424171663845591051188286787754546951619439155804146094926481090829441243299319424275902778876669655726331852376139435787640505038674837682615575163616309338344785867453940331265043750062048960492608434936505246526693637742216441430758851323355792244151869712962696978528155547568582767090861136755715762278791653513589815211608856055538424035152814231835556007351985385655746068457088873236937671280077504462885262496510157177352224752796049764691079620206886634558328550010838089983708888133945454973865868454183848061172631263061498772104888703796978563680689579306201450213670946466417608635768921555761639308416719189899967683004247905068694491767752558156576532055617720256323761636504433582348545250634518091288235322910583285687770435773486857513897686424030357978820369357857351652210262352238674315245500119407586583938412238275259824782537522143968046976050730248045041029030069958095736675169953872845569207367477099513628458254310638373449303929943937180311965988642253747773254103217198529819756897652328651554365200158464377226736416446164751605186525823339928953110999573293256255531954537546281075226874433008700432034444208182947632848038338583362301107859778802753069162840624963561528236697552227106412264719388922070922989266057403433269568753850196236366419809807143709074092226085344164172435864563872939741308188062604347852638121202035061409590224103833823542162564978126458884694660518277476463300191376917372629897299257974430063306852060181944725522175882204943588485031316241117388353125477548167861326917398510493881687216345211005165192665718414516648983599268322181719577090916145396636985605326983869463083941626212419914859177188872433108743306430159438325146376580419904301792123845525825391022838138072460872227647528322595839739906484511419035149345825280614963667459835316055910586336356736079169795727943521902138924346128081027705600883306628887411566480835384510101048678893880552596754715898815231252241807644734523051807232406640298575544176659252349268119296658597942065769708042896799405969070876260328689952042058021771676831009788908147062549575329287905617070923601117724163285947147992152624624769631627968294340958705275303587892979518937106579312494678704954828476411514042197343922521296866276922066612038855823888561081319826772224718065421752047721071118320797574211630411661171901179241911943121013979233735399980803292805893530850200822903012040176029525974185787950012436884151539930357695973979054891724264774778577211192473961116833914284682655516459294231309168245732268761 17295096963679721222354199999001688193158553136347684896642341189836664010213027661305557359843479981938644717966973680940257608983671861023250327355215748275397145511543502046813274523973365384329017095326523425747657823410937567017107777019145853564432720262991524595741365737000614300491183412892133499538131223532151847620165242904320386661856493662960969971701617566605628457985653878990418459831653534136233188415045573460420901987827439635257624267974985107954058224453818840589637539361005928901729018797779169884608842899254849916497634149977906470263502063925704138662542869641073812745522079266884862006738489733242458786794386539306970132995844408075996951957724117722025558911331325290691254345875692514590895423149303977777629185646566342066444289283609147696276719715069690711960849548532947277732644717868234806184060822544941117239585807044308195771394828225423260295840621522990174562192043049454304787826012493241839459144479499382917285117989345545832003313488727764768721128706509629263624579568556271092553339616901106513299384199945754587828500433962810757274657284209733738870909125509640005448024442806024413426720069038911586034831063689705198613406016565392526543769370726404391095845663258395555826865801821829881912065184641377187620748678886145269435610988108224261823320593705775484865832134291410298151908781496721614132901588215967212969441873650813192274452920803189222399214166657828465476420214518532333910450167829362271677294990290961899795396410340651619641511835535087558296272349566930719073970776743377176055900068175552426129163569295642720471196495958665359371140949797762069660127636739799957043960513477400869809681550971730325751254277777614236859152610607388615244162243202605627042719140544383118130388366913039194464705127948217645815200709593709142926040662440639148989005039559091734090974183998111076161476608681540326297352395148725318314974670589372705661605519436278920091435873544841375634338397310357946501385206019214716777478138545111965011434575892514814012987289197106766076155915093229001768853628333566751136195300536538211372649453854132266477965224643165563013969095708895742940676399817657958943147321890241719840187521322176172126743681120897771530723021530698108265191019603073618178618681023620102099127779510226782360026018615939048253801946183189562445669814887128039374670624315004175827476547571245358839015035504164690816599095498011931453554723452083689428814890509515945868452044028968705541332223379365303967817417331121094710586291713179863428725578574157017486521706230857374520359901933655943701282281195577325599628264623013156128061858174466656633408531243956930668161565226308962986382016929181113476922310544973043802633215882051562594456979419975639584109087155345987388808393209854652082211391522611324137868022952219626398937975452527685822762370649762453838787918941476816600685272142697847572564240063606637504417956779706819224102414538246673816892327993867314513987721332487533328201243 27984054725958894596396216177499968430795962738660946377720323097974671310388662670824867761538016410766480738521177171610639535557232270766077546577573750014386303274043002493405859436599267266374540528735687435900108830267485451340241361045257942351625959157275596930664200638808765814165728963903499781504329707832626405684248359425666644174482459482511410472751482314889092845385296915428098619844970463034393467770119687501103154915118625473681795931820576159142345012208365792209076695165152023828210109627220413183928267175157628793167289876309758846402937851566209177337380552256648976361831417611670729460678820998286208848843347031915405069501090934769634694174165548480876882267123569442560967308572671042746442991732071068638765941362328620858097802873424359305132775253493725864775081384088954629718030373614303263272934059482612397317090269929570692281552005577648013091890386214069794769078677607782854798664102476950727593089934473248785739301837406718463266374987499869657424925685073309953203885770006484763499806034509742282220939961585063004547690333930493761522562352904225506623467282086172061065744699129786049931153651387456836669349154977940521523989302253162962317256228240302077519876021237215925184723153474040144264303858956622687740156265470083681673886247933006799345464561752751535596080179332439328221866877233396784086774433785174580446541387279271446585091294252493152343151346969794454118673962291786437127648697649119169329623641845327099953860787567388036087676587140274084119612278520041718647264032998909130593446349250779300562172269727677164679379443591513397709724312098869929438930389808962797668924075005637567361908657383995045140176348700603502916556043876957369094358479569025436849862849618475344215732531085475059028578067689525833877805057446347264128075723850229373092838863101254299069100642882805736679754085144840517674269767778622617572949100652679557721787464161801095973640817133326406950579514698711071978933373880541634175988632426799181356645581057707479731401805846090365344478096812806092684999024970552356463179169999622152998861873768991443666837657751908869444128534034042119521096304119450082788673147281264557978259982194403819655066276960637678015234440565847454090471634566741078013934736934206438455863858680022510303547920754863394381882973888790445752298702298694520210055134416052854721357100168000074737830266756406498461333618549819163860195022027627866088067239777635242527049986094738413584229022785334374844077746021073136768608063390010873217633725636706592815809611847928298121477626096941890849274433820202095231256232917354114833337161762359636152345637823269425346866520054785374500424214273103634773788587467039655841489039770612643914283751644693705005861134876417105709605967421485063743383292701853236080989036931453361798918778745333579353612571472665465878963948467451002388635284579581999112494597759580616559309681044481597801313607012207790650806612676522830973281952641655779060470004 45279151689638615818750416176501656623954515875008631274362664287811335320601690332130425121381496392705125456488150852550897144540904131789327873932789498289783448785586504540219133960572632650703557624062210861647766653678423018357349138064403795916058679420267121526405566375809380114656912376795633281042460931364778253304413602329987030836338953145472380444453099881494721303370950794418517079676623997170626656185165260961524056902946065108939420199795561267096403236662184632798714234526157952729939128424999583068537110074412478709664924026287665316666439915491913315999923421897722789107353496878555591467417310731528667635637733571222375202496935342845631646131889666202902441178454894733252221654448363557337338414881375046416395127008894962924542092157033507001409494968563416576735930932621901907450675091482538069456994882027553514556676076973878888052946833803071273387731007737059969331270720657237159586490114970192567052234413972631703024419826752264295269688476227634426146054391582939216828465338562755856053145651410848795520324161530817592376190767893304518797219637113959245494376407595812066513769141935810463357873720426368422704180218667645720137395318818555488861025598966706468615721684495611481011588955295870026176369043597999875360904944356228951109497236041231061168785155458527020461912313623849626373775658730118398219676022001141793415983260930084638859544215055682374742365513627622919595094176810318771038098865478481441006918632136288999749257197908039655729188422675361642415884628086972437721234809742286306649346417426331726691335839023319885150575939550178757080865261896631999099058026548762754712884588483038437171590208355725370891430626478217739775708654484345984338520722771631063892581990162858462346120897998514253493283195637743479693005767040056407054116386290868522081843902660346033160074826880916812841230693826380843971622162927347935887923771242052263383392983598080016065076690678167782584917912009069018480318579899756350953466770971911146368080156950222293744389095043197131420634011906035094453852653304119107599374470536160364371511327623123710144802882395074432458097629742937862461772703937108041731820469171506277818447503516579991781809958081535449545957462096545562355662654169814696192553417957826540554991638190249292663573939370802442635684920071980008197968517185822559584725758731057030548833647739245433576845302260571189277932714047831095313749745479711555516882130287151188395502030123707119125561246164699678811895163352194231479194355103190736646359304210863610302331318078785672641837528030597834550556715015779420830884497540367270961399019936826292785754169067226356015028085281094337486806231202284748250710898012012699644122255652664206508740731064669344589970222031763093098414360631339715825594684224464560218857059883672988197856754197861265176374942122427919717751867408927818989320556722279846685058837823187254063727637824188417025416021550454464467698940670390145487269673974143312388671247 73263206415597510415146632354001625054750478613669577652082987385786006630990353002955292882919512803471606195009328024161536680098136402555405420510363248304169752059629507033624993397171899917078098152797898297547875483945908469697590499109661738267684638577542718457069767014618145928822641340699133062546790639197404658988661961755653675010821412627983790917204582196383814148756247709846615699521594460205020123955284948462627211818064690582621216131616137426238748248870550425007790929691309976558149238052219996252465377249570107502832213902597424163069377767058122493337303974154371765469184914490226320928096131729814876484481080603137780271998026277615266340306055214683779323445578464175813188963021034600083781406613446115055161068371223583782639895030457866306542270222057142441511012316710856537168705465096841332729928941510165911873766346903449580334498839380719286479621393951129764100349398265020014385154217447143294645324348445880488763721664158982758536063463727504083570980076656249170032351108569240619552951685920591077741264123115880596923881101823798280319781990018184752117843689681984127579513841065596513289027371813825259373529373645586241661384621071718451178281827207008546135597705732827406196312108769910170440672902554622563101061209826312632783383483974237860514249717211278556057992492956288954595642535963515182306450455786316373862524648209356085444635509308175527085516860597417373713768139102105208165747563127600610336542273981616099703117985475427691816865009815635726535496906607014156368498842741195437242792766677111027253508108750997049829955383141692154790589573995501928537988416357725552381808663488676004533498865739720416031606975178821242692264698361303353432879202340656500742444839781333806561853429083989312521861263327269313570810824486403671182192110141097895174682765761600332229175469763722549520984778971221361645891930705970553460872871894731821105180447759881112038717507811494189535497426707780090459251953780297985129455403398710327724725738007929773475790900889287496765112108718841187138851678274671464062553640535782517370373201392115153811640540146983301902226163776979981982869008056558124520493616452770835796707485710983811436876235042173127561191902662393016446134288736555774206488154892032979010855496870271802967121860125665837017567893960770453950267219484517079794780893147109885270190747907245508314675569016977687739266332597650259173944767507339421604949370064786430922552016218445532709790268950034053655972909373267368247802418493201609863993029847570203118140929926713970763315154127539725399831148835981516062140730457721385794736181699185928938099806890495781361894605335879711987230445475388383024499485479052355485611295423276850423024482709363049595831356908180198808020328052824779568977976926317796299846096815126349996775532943194844529987513595093385596715815876378821377955841301861845797553435582767870623037318868670014826729628562662255118505553346912976460551626615799091449141251 118542358105236126233897048530503281678704994488678208926445651673597341951592043335085718004301009196176731651497478876712433824639040534344733294443152746593953200845216011573844127357744532567781655776860109159195642137624331488054939637174065534183743317997809839983475333390427526043479553717494766343589251570562182912293075564085640705847160365773456171361657682077878535452127198504265132779198218457375646780140450209424151268721010755691560636331411698693335151485532735057806505164217467929288088366477219579321002487323982586212497137928885089479735817682550035809337227396052094554576538411368781912395513442461343544120118814174360155474494961620460897986437944880886681764624033358909065410617469398157421119821494821161471556195380118546707181987187491373307951765190620559018246943249332758444619380556579379402186923823537719426430442423877328468387445673183790559867352401688189733431620118922257173971644332417335861697558762418512191788141490911247053805751939955138509717034468239188386860816447131996475606097337331439873261588284646698189300071869717102799117001627132143997612220097277796194093282983001406976646901092240193682077709592313231961798779939890273940039307426173715014751319390228438887207901064065780196617041946152622438461966154182541583892880720015468921683034872669805576519904806580138580969418194693633580526126477787458167278507909139440724304179724363857901827882374225040293308862315912423979203846428606082051343460906117905099452375183383467347546053432490997368951381534693986594089733652483481743892139184103442753944843947774316934980531322691870911871454835892133927637046442906488307094693251971714441705089074095445786923037601657038982467973352845649337771399925112287564635026829944192268907974327082503566015144458965012793263816591526460078236308496431966417256526668421946365389250296644639362362215472797602205617514093633318489348796643136784084488573431357961128103794198489661972120415338716849108939570533680054336082922174370621474092805894958152067220179995932484628185746120624876281592704331578790571661928111071942881741884529015238863956443422542057734360323793519917844444641711993666166252314085624277113615154989227563803218686193123708577107149364758938578801796942906370470399041572849859519565847135060521095630695799496468279653252814032750462148235736670339639379506651878166915819024395646490941891520871277548877017199046645481354487694512987050977121831500351937619318054046342152651835351515114733732467868072725461599726996773596392346510352334058433813420472248005499643405152682158137559950387863851760936893025227998088656756135201636012221723853975957722137376922690616974049474036676677673131275210383491065055129733551075941056931765213774032394185801578939943291906434688684164495394572661150782356518703156698799338194632287141056109706362455717521305314467683285306640367276398024141692482612273405955124686764956692858431852145650113116719586204494017303121947821300589942403837812498 191805564520833636649043680884504906733455473102347786578528639059383348582582396338041010887220521999648337846506806900873970504737176936900138714953515994898122952904845518607469120754916432484859753929658007456743517621570239957752530136283727272451427956575352558440545100405045671972302195058193899406136042209759587571281737525841294380857981778401439962278862264274262349600883446214111748478719812917580666904095735157886778480539075446274181852463027836119573899734403285482814296093908777905846237604529439575573467864573552693715329351831482513642805195449608158302674531370206466320045723325859008233323609574191158420604599894777497935746492987898076164326744000095570461088069611823084878599580490432757504901228108267276526717263751342130489821882217949239614494035412677701459757955566043614981788086021676220734916852765047885338304208770780778048721944512564509846346973795639319497531969517187277188356798549864479156342883110864392680551863155070229812341815403682642593288014544895437556893167555701237095159049023252030951002852407762578786223952971540901079436783617150328749730063786959780321672796824067003489935928464054018941451238965958818203460164560961992391217589253380723560886917095961266293404213172835690367057714848707245001563027364008854216676264203989706782197284589881084132577897299536427535565060730657148762832576933573774541141032557348796809748815233672033428913399234822457667022630455014529187369593991733682661680003180099521199155493168858895039362918442306633095486878441301000750458232495224677181134931950780553781198352056525313984810486705833563066662044409887635856175034859264213859476501915460390446238587939835166202954644576835860225160238051206952691204279127452944065377471669725526075469827756166492878537005722292282106834627416012863749418500606573064312431209434183546697618425766408361911883200251768823567263406024339289042809669515031515905593753879117842240142511706301156161655912765424629199398822487460352321212377577769331801817531632966081840695970896821772124950858229343717468731556009853462035724481751607725399112257730407354017768083962689041036262549957296897826427510720050224290772807702077047949411862474938547614655562428165881704668341267421331595247931231642926244605529727741892498576702631930792898597817659622134116670820707993520916098502956154856719174287545025276801089215143553736450206196440294526564756465379243131613661639280494390398726780870416724050240606062560598184545141784064767786123840982098728967974799192089593956374345363906004016538613177932213614168467836285677285350219012687742452955165958455810042550871383335198150661953782848217918738817295952853761461267122153061514299709868970117410615344846499217907354789696483395443781632935848123490714455016736989274963550638077100152818549253513925688191407820084250954236349969312614690911183499161685461745232239326003538280165708988722995309802275561528446678875278675778974704710047364216098408372927205741495286953749 310347922626069762882940729415008188412160467591025995504974290732980690534174439673126728891521531195825069498004285777586404329376217471244872009396668741492076153750061530181313248112660965052641409706518116615939159759194571445807469773457792806635171274573162398424020433795473198015781748775688665749725293780321770483574813089926935086705142144174896133640519946352140885053010644718376881257918031374956313684236185367310929749260086201965742488794439534812909051219936020540620801258126245835134325971006659154894470351897535279927826489760367603122541013132158194112011758766258560874622261737227790145719123016652501964724718708951858091220987949518537062313181944976457142852693645181993944010197959830914926021049603088437998273459131460677197003869405440612922445800603298260478004898815376373426407466578255600137103776588585604764734651194658106517109390185748300406214326197327509230963589636109534362328442882281815018040441873282904872340004645981476866147567343637781103005049013134625943753984002833233570765146360583470824264440692409276975524024841258003878553785244282472747342283884237576515766079807068410466582829556294212623528948558272050165258944500852266331256896679554438575638236486189705180612114236901470563674756794859867440024993518191395800569144924005175703880319462550889709097802106116566116534478925350782343358703411361232708419540466488237534052994958035891330741281609047497960331492770926953166573440420339764713023464086217426298607868352242362386908971874797630464438259975994987344547966147708158925027071134883996535143196004299630919791018028525433978533499245779769783812081302170702166571195167432104887943677013930611989877682178492899207628211404052602028975679052565231630012498499669718344377802083248996444552150181257294900098444007539323827654809103005030729687736102605493063007676063053001274245415724566425772880920117972607532158466158168299990082327310475803368246305904790818133776328104141478308338393021140406657295299752139953275910337527924233907916150892754256753136604349968593750324260341432252607386409862679668280854142259422592881724527385231098770622873750816815670872152432043890457025121787701325063027017464166111417874248621289590281775490632180270174049728174549296715004571300591752018142549766991313994228513459118602396324073522026271378246738692825196358553794196903443716908239539200227392097717311572075441773664425888612968149333793481441375848612370768661669558660108902750836380493299179501518591709054824190567701795965685986302884697697964437829959085425937713257573620518443814845300606876539503389848191186453898699307006584971210372385807758805940056115739986569827810935303798830734645574920252461182465745078397575158964286554910257427837967434514788066782620889705421153770358123299227882509337252410212725026386040107225307063942712425030135996225651182446992102112508637350145230762777982394678119996567232254386878531020928788895694290914541381519220356194227795683899124766247 502153487146903399531984410299513095145615940693373782083502929792364039116756836011167739778742053195473407344511092678460374834113394408145010724350184736390199106654907048788782368867577397537501163636176124072682677380764811403559999909741520079086599231148514956864565534200518869988083943833882565155861335990081358054856550615768229467563123922576336095919382210626403234653894090932488629736637844292536980588331920525197708229799161648239924341257467370932482950954339306023435097352035023740980563575536098730467938216471087973643155841591850116765346208581766352414686290136465027194667985063086798379042732590843660385329318603729356026967480937416613226639925945072027603940763257005078822609778450263672430922277711355714524990722882802807686825751623389852536939836015975961937762854381419988408195552599931820872020629353633490103038859965438884565831334698312810252561299992966828728495559153296811550685241432146294174383324984147297552891867801051706678489382747320423696293063558030063500647151558534470665924195383835501775267293100171855761747977812798904957990568861432801497072347671197356837438876631135413956518758020348231564980187524230868368719109061814258722474485932935162136525153582150971474016327409737160930732471643567112441588020882200250017245409127994882486077604052431973841675699405652993652099539656007931106191280344935007249560573023837034343801810191707924759654680843869955627354123225941482353943034412073447374703467266316947497763361521101257426271890317104263559925138417295988095006198642932836106162003085664550316341548060824944904601504734358997045195543655667405639987116161434916026047697082892495334182264953765778192832326755328759432788449455259554720179958180018175695389970169395244419847629839415489323089155903549577006933071423552187577073309709578095042118945536789039760626101829461363186128615976335249340144326142311896574968135673199815895676081189593645608388817611091974295432240869566107507737215508600758978507677329909285077727869160890315748612121789576028878087462579312311219055816351285714643110891614287393679966399989829946899492611347920139806885423708113713497299663152094114747797929489778373012438879939104659032529811049455471986443831899601601769297659406192222959610101028333644516719252398922106892826331118740736512994894230019792294345241648980053077728081741928720517997454682753963842303913751866602006530129805131744581810973073975831774575393241185385719799266171463349020925635083244269304715550036922919535676595157775580259259043061870441846497698603869926871742088354729492130650825889227245842803357144909708741857877968306408523047761541654157974854557282522681572396570920983796159874630121431299876360423244074376871641344606740823281749067450636190273335344722158143045321673937304982662155801663726650714577447927309558018179062394342750687136834681608677563857740876676148769042943691383401115306369507815915325209896207464674668995624588745735318764567155001425394411719996 812501409772973162414925139714521283557776408284399777588477220525344729650931275684294468670263584391298476842515378456046779163489611879389882733746853477882275260404968578970095616980238362590142573342694240688621837139959382849367469683199312885721770505721677355288585967995992068003865692609571230905586629770403128538431363705695164554268266066751232229559902156978544119706904735650865510994555875667493294272568105892508637979059247850205666830051906905745392002174275326564055898610161269576114889546542757885362408568368623253570982331352217719887887221713924546526698048902723588069290246800314588524761855607496162350054037312681214118188468886935150288953107890048484746793456902187072766619976410094587356943327314444152523264182014263484883829621028830465459385636619274222415767753196796361834603019178187421009124405942219094867773511160096991082940724884061110658775626190294337959459148789406345913013684314428109192423766857430202425231872447033183544636950090958204799298112571164689444401135561367704236689341744418972599531733792581132737272002654056908836544354105715274244414631555434933353204956438203824423101587576642444188509136082502918533978053562666525053731382612489600712163390068340676654628441646638631494407228438426979881613014400391645817814554052000058189957923514982863550773501511769559768634018581358713449549983756296239957980113490325271877854805149743816090395962452917453587685615996868435520516474832413212087726931352534373796371229873343619813180862191901894024363398393290975439554164790640995031189074220548546851484744065124575824392522762884431023729042901447175423799197463605618192618892250324600222125941967696390182710008933821658640416660859312156749155637232583407325402468669064962764225431922664485767641306084806871907031515431091511404728118812583125771806681639394532823633777892514364460374031700901675113025246260284504107126601831368115885758408500069448976635123515882792429208568973707585816075608529741165635802977082049238353638206688814549656528272682330285631224066929280904969380076692717967250497301476967061960820542249252539781217138733151238577508297458930529168171815584138005204823051277479698075465897403270770450404059670745062268219322531781871943347387580741519674614672328925396534861802165913420887054844577859338909318967752046063672591980341805249436281875938832164234905694221954191234401631063438677448303794231020357549960306867457273150424005611954047389357926280366099857306128382423770823307259091747110103378391123461566562143740759834879676456784029807640129315708873173306975951432765766749232651548331363607441164884553277618895433569300460098030970297269092509383331874719814530805449550373892482342105501641649535835927899516998251119716501965424257055956234427579296815679797236532865171493054073939375740963488034534865082121774819372886683362485864055669665970249514026293999805721673778079235302936740070302203740917136253570363286539130127254539120761382797109293536486243 1314654896919876561946909550014034378703392348977773559671980150317708768767688111695462208449005637586771884187026471134507153997603006287534893458097038214272474367059875627758877985847815760127643736978870364761304514520724194252927469592940832964808369736870192312153151502196510937991949636443453796061447965760484486593287914321463394021831389989327568325479284367604947354360798826583354140731193719960030274860900026417706346208858409498445591171309374276677874953128614632587490995962196293317095453122078856615830346784839711227214138172944067836653233430295690898941384339039188615263958231863401386903804588198339822735383355916410570145155949824351763515593033835120512350734220159192151589229754860358259787865605025799867048254904897066292570655372652220317996325472635250184353530607578216350242798571778119241881145035295852584970812371125535875648772059582373920911336926183261166687954707942703157463698925746574403366807091841577499978123740248084890223126332838278628495591176129194752945048287119902174902613537128254474374799026892752988499019980466855813794534922967148075741486979226632290190643833069339238379620345596990675753489323606733786902697162624480783776205868545424762848688543650491648128644769056375792425139700081994092323201035282591895835059963179994940676035527567414837392449200917422553420733558237366644555741264101231247207540686514162306221656615341451740850050643296787409215039739222809917874459509244486659462430398618851321294134591394444877239452752509006157584288536810586963534560363433573831137351077306213097167826292125949520728994027497243428068924586557114581063786313625040534218666589333217095556308206921462168375542335689150418073205110314571711469335595412601583020792438838460207184073061762079975090730461988356448913964586854643698981801428522161220813925627176183572584259879721975727646502647677236924453169572402596400682094737504567931781434489689663094585023941126974766724640809843273693323812824038341924614310654411958523431366075849704865405140394471906314509311529508593216188435893044003681893608193091254455640786942239082486680709750081071378384393721167044242665471478736232119952620980767258071087904777342375429482933870720200534254663154431383473712645046986933742634224773357259041051581054564835527779881175696600075422313861982065855966937221990785302514009957680760884752903148904708155076705544815305279454833924036152102131771279941433104924999398853139433109157192451829448878231763465668040128022809128670029639054986281237146821402783821705321522954482633677567001057797227902799106602258654993995075454905476273316183022762521584027418481330842114256005824854551615190955728445640798326965324180495323782218465924885723912707569244123739074401465569416060447329291579149737439861001471173837847833648855737666026455540935961844423100300837213715637370499320545664347229827990390702442768848665365161480350609306247886217528950813343718245032282163718872989857885328537798534687948206239 2127156306692849724361834689728555662261168757262173337260457370843053498418619387379756677119269221978070361029541849590553933161092618166924776191843891692154749627464844206728973602828054122717786310321564605449926351660683577102294939276140145850530140242591869667441737470192503005995815329053025026967034595530887615131719278027158558576099656056078800555039186524583491474067703562234219651725749595627523569133468132310214984187917657348651258001361281182423266955302889959151546894572357562893210342668621614501192755353208334480785120504296285556541120652009615445468082387941912203333248478663715975428566443805835985085437393229091784263344418711286913804546141725168997097527677061379224355849731270452847144808932340244019571519086911329777454484993681050783455711109254524406769298360775012712077401590956306662890269441238071679838585882285632866731712784466435031570112552373555504647413856732109503376712610061002512559230858699007702403355612695118073767763282929236833294889288700359442389449422681269879139302878872673446974330760685334121236291983120912722631079277072863349985901610782067223543848789507543062802721933173633119941998459689236705436675216187147308829937251157914363560851933718832324783273210703014423919546928520421072204814049682983541652874517231994998865993451082397700943222702429192113189367576818725358005291247857527487165520800004487578099511420491195556940446605749704862802725355219678353394975984076899871550157329971385695090505821267788497052633614700908051608651935203877938974114528224214826168540151526761644019311036191074096553386550260127859092653629458561756487585511088646152411285481583541695778434148889158558558252344622972076713621771173883868218491232645184990346194907507525169948298493684744460858371768073163320820996102285735210386529547334744346585732308815578105407893657614490092106876679378138599566194818662880904789221339335936047667192898189732543561659064642857559153849378816981279139888432568083090250113631494007761785004282538519415061668667154236600140535596437874121157815969736721649144105494568221517601607484488335026461926888814222616961902018625974771833643294320370125157444032044737769163370674745646199933337930390945596522882476963165345655992434567675262308839445686184437586442856730748948666936020274459414331632829734111919639529202332590551950291833619593048987808843126662346311107175878743956903137718267172459681731586808890378075423404465093480498515118732195548735537891848091810951330068220417139742433377404698713383546524581540201199411266663485207130373506101076106082553691420760744308106453807636923624187647074861646313914900142574354036795151820707700339060320360612857770773730869216264560571426527373448543497143640737325521182071381484704385247813577316736676681268410370713005141909811605402196504423996379288182422612033088524053861806409720016895798239904728736768654387038939559585912242987956519732691730479971815395568702849000244397006089920595643981484692482 3441811203612726286308744239742590040964561106239946896932437521160762267186307499075218885568274859564842245216568320725061087158695624454459669649940929906427223994524719834487851588675869882845430047300434970211230866181407771355222408869080978815338509979462061979594888972389013943987764965496478823028482561291372101725007192348621952597931046045406368880518470892188438828428502388817573792456943315587553843994368158727921330396776066847096849172670655459101141908431504591739037890534553856210305795790700471117023102138048045707999258677240353393194354082305306344409466726981100818597206710527117362332371032004175807820820749145502354408500368535638677320139175560289509448261897220571375945079486130811106932674537366043886619773991808396070025140366333271101452036581889774591122828968353229062320200162734425904771414476533924264809398253411168742380484844048808952481449478556816671335368564674812660840411535807576915926037950540585202381479352943202963990889615767515461790480464829554195334497709801172054041916416000927921349129787578087109735311963587768536425614200040011425727388590008699513734492622576882301182342278770623795695487783295970492339372378811628092606143119703339126409540477369323972911917979759390216344686628602415164528015084965575437487934480411989939542028978649812538335671903346614666610101135056092002561032511958758734373061486518649884321168035832647297790497249046492272017765094442488271269435493321386531012587728590237016384640412662233374292086367209914209192940472014464902508674891657788657305891228832974741187137328317023617282380577757371287161578216015676337551371824713686686629952070916758791334742355810620726933794680312122494786826881488455579687826828057786573366987346345985377132371555446824435949102230061519769734960689140378909368330975856905567399657935991761677992153537336465819753379327055375524019364391065477305471316076840503979448627387879395638146683005769832325878490188660254972463701256606425014864424285905966285216370358388224280466809061626142914649847125946467337346251862780725331037713687659475973242394426727417513142636638895293995346295739793019014499114773056602245110065012811995840251275452088021629416271801111146130777545631394548819368637481554609004943064219043443478638023911295584476446817195971059489753946691716177775606466424323375854464301791300353933740711992031370501387812720694049236357971642303324561813502866750323483000422803318232913607672311184024997613769655313759851079352877349087169381488363685935860204949308403245522722365749297162774131431303328978905189155950075754739383561359283910239807210409596445673732396230984688610042620006372322891294788766001411184736097911364540046779037351413097361251066387764476399922647640797545151714539392727054176537682739584208560838790765549271428652045359958223711282723449246804161424361126955384364125626230295431179537503052404101039936521549235842737261642543823690060427850866567873234254891418458394178669432898721 5568967510305576010670578929471145703225729863502120234192894892003815765604926886454975562687544081542912606246110170315615020319788242621384445841784821598581973621989564041216825191503924005563216357621999575661157217842091348457517348145221124665868650222053931647036626442581516949983580294549503849995517156822259716856726470375780511174030702101485169435557657416771930302496205951051793444182692911215077413127836291038136314584693724195748107174031936641524408863734394550890584785106911419103516138459322085618215857491256380188784379181536638949735474734314921789877549114923013021930455189190833337760937475810011792906258142374594138671844787246925591124685317285458506545789574281950600300929217401263954077483469706287906191293078719725847479625360014321884907747691144298997892127329128241774397601753690732567661683917771995944647984135696801609112197628515243984051562030930372175982782421406922164217124145868579428485268809239592904784834965638321037758652898696752295085369753529913637723947132482441933181219294873601368323460548263421230971603946708681259056693477112874775713290200790766737278341412084425363985064211944256915637486242985207197776047594998775401436080370861253489970392411088156297695191190462404640264233557122836236732829134648558979140808997643984938408022429732210239278894605775806779799468711874817360566323759816286221538582286523137462420679456323842854730943854796197134820490449662166624664411477398286402562745058561622711475146233930021871344719981910822260801592407218342841482789419882003483474431380359736385206448364508097713835767128017499146254231845474238094038957335802332839041237552500300487113176504699779285492047024935094571500448652662339447906318060702971563713182253853510547080670049131568896807473998134683090555956791426114119754860523191649913985390244807339783400047194950955911860256006433514123585559209728358210260537416176440027115820286069128181708342070412689885032339567477236251603589689174508105114537917399974047001374640926743695528477728780379514790382722384341458504067832517446980181819182227697490844001911215752539604563527709516612308197758418993786332758067376972370267509044856733609414646126833667829349609731502091727300428108357714165024629916122284267251903664729627916224466768026333425113753216245518904085579521450289695245995626655966406414593624919946982728520835158032847698919896572793193261109360570497021495234453559213861075846207783326394106187429916220546349307547161851662030682945569504309123921741090634573588495832984785723921777015960647981261804809430055011271709641496515483691667813091547163431398056671307320046311131127262964079415158193030591633849086362024042506871642233756311339608777940470809794563531405213725443829712179029856099787206304370913214364007994579273843932675360876830848549783954602999465146061279892685478222933365104381021424470200159916306157439443040599522433792223799256994334274303661875823419569416873478651897508378989822650917591203 9010778713918302296979323169213735744190290969742067131125332413164578032791234385530194448255818941107754851462678491040676107478483867075844115491725751505009197616514283875704676780179793888408646404922434545872388084023499119812739757014302103481207160201515993626631515414970530893971345260045982673023999718113631818581733662724402463771961748146891538316076128308960369130924708339869367236639636226802631257122204449766057644981469791042844956346702592100625550772165899142629622675641465275313821934250022556735238959629304425896783637858776992342929828816620228134287015841904113840527661899717950700093308507814187600727078891520096493080345155782564268444824492845748015994051471502521976246008703532075061010158007072331792811067070528121917504765726347592986359784273034073589014956297481470836717801916425158472433098394305920209457382389107970351492682472564052936533011509487188847318150986081734825057535681676156344411306759780178107166314318581524001749542514464267756875850218359467833058444842283613987223135710874529289672590335841508340706915910296449795482307677152886201440678790799466251012834034661307665167406490714880711332974026281177690115419973810403494042223490564592616379932888457480270607109170221794856608920185725251401260844219614134416628743478055974877950051408382022777614566509122421446409569846930909363127356271775044955911643773041787346741847492156490152521441103842689406838255544104654895933846970719672933575332787151859727859786646592255245636806349120736469994532879232807743991464311539792140780322609192711126393585692825121331118147705774870433415810061489914431590329160516019525671189623417059278447918860510400012425841705247217066287275534150795027594144888760758137080169600199495924213041604578393332756576228196202860290917480566493029123191499048555481385048180799101461392200732287421731613635333488889647604923600793835515731853493016944006564447673948523819855025076182522210910829756137491224067290945780933119978962203305940332217744999314967975995286790406522429440229848330808795850319695298172311219532869887173464086396337943170052747200166604810607654493498212012800831872840433574615377574057668729449665921578921689458765881532613237858077973739752262984393267397676893272194967883773071394862490679321917901560570412216578393839526213166467470852462050979342260878895416220300916469232827189403349086732617266842429619081002873821583308737320309537344076269011101559307713859741100245543963077202475611513110035822918591478505410104776570433793445141388031246644142765257810755393236112759033916460865591572270223075229172375457403238608466267752993778707362111951574122035164565353482928637852363435227242969553598296358118646129353568171045629919169690125366477352976575007814326599031425089752046747578787834682723440910148259500595143912826710747869510526696846902584060320488745147050700495591095843660491847141639458955341459641994255976818127351936251270435984746712906788926837384001320350489924 14579746224223878307649902098684881447416020833244187365318227305168393798396161271985170010943363022650667457708788661356291127798272109697228561333510573103591171238503847916921501971683717893971862762544434121533545301865590468270257105159523228147075810423569925273668141857552047843954925554595486523019516874935891535438460133100182974945992450248376707751633785725732299433420914290921160680822329138017708670250040740804193959566163515238593063520734528742149959635900293693520207460748376694417338072709344642353454817120560806085568017040313631292665303550935149924164564956827126862458117088908784037854245983624199393633337033894690631752189943029489859569509810131206522539841045784472576546937920933339015087641476778619699002360149247847764984391086361914871267531964178372586907083626609712611115403670115891040094782312077916154105366524804771960604880101079296920584573540417561023300933407488656989274659827544735772896575569019771011951149284219845039508195413161020051961219971889381470782391974766055920404355005748130657996050884104929571678519857005131054539001154265760977153968991590232988291175446745733029152470702659137626970460269266384887891467568809178895478303861425846106350325299545636568302300360684199496873153742848087637993673354262693395769552475699959816358073838114233016893461114898228226209038558805726723693680031591331177450226059564924809162526948480333007252384958638886541658745993766821520598258448117959336138077845713482439334932880522277116981526331031558730796125286451150585474253731421795624254753989552447511600034057333219044953914833792369579670041906964152525629286496318352364712427175917359765561095365210179297917888730182311637787724186813134475500462949463729700793351854053006471293711653709962229564050226330885950846874271992607148878052022240205395370438425606441244792247927238377643473891339922403771190482810522193725992390909193384033680267960017652001563367146595212095943169323614727475670880634955441225093500120705914379219119640241711671523764519186901944230612570715150254354387527815619291401352052114870954930398249158922592351763694314327219962691256631006587164630907810546985645083102525463059080567705755357288115491264115329585378401848109977149417897313799177539446871548502699311086957447348251326674323628462097297925105734616757166098457677635308667293489041140247899197753662347436196785652513839635622880190363444318604803971773868751205152115218884885701820047171016466090312384749637463175140718768488095787629331845867205007381940974372816970565919781218458736655040922189088927732575233068785706766896985467004566670006522939060313825018493239214538201450322758384074562486938725459269749841195832052669458254907294038980840193450574903850810307065155604863914113805335796002966410755573367108526656116271025090349144927867429710213015571806589532380806993685593126168475170695751012149817931290182238981389133683441251250311092431013812074690005401620191558686435216373823971268081127 23590524938142180604629225267898617191606311802986254496443559718332971831187395657515364459199181963758422309171467152396967235276755976773072676825236324608600368855018131792626178751863511782380509167466868667405933385889089588082996862173825331628282970625085918900299657272522578737926270814641469196043516593049523354020193795824585438717954198395268246067709914034692668564345622630790527917461965364820339927372245190570251604547633306281438019867437120842775510408066192836149830136389841969731160006959367199088693776749865231982351654899090623635595132367555378058451580798731240702985778988626734737947554491438386994360415925414787124832535098812054128014334302976954538533892517286994552792946624465414076097799483850951491813427219775969682489156812709507857627316237212446175922039924091183447833205586541049512527880706383836363562748913912742312097562573643349857117585049904749870619084393570391814332195509220892117307882328799949119117463602801369041257737927625287808837070190248849303840836817049669907627490716622659947668641219946437912385435767301580850021308831418647178594647782389699239304009481407040694319877193374018338303434295547562578006887542619582389520527351990438722730258188003116838909409530905994353482073928573339039254517573876827812398295953755934694308125246496255794508027624020649672618608405736636086821036303366376133361869832606712155904374440636823159773826062481575948497001537871476416532105418837632269713410632865342167194719527114532362618332680152295200790658165683958329465718042961587765035076598745158637993619750158340376072062539567240013085851968454066957219615656834371890383616799334419044009014225720579310343730435429528704074999720963929503094607838224487837873521454252502395506753258288355562320626454527088811137791752559100178001243521288760876755486606405542706184448659525799375087526673411293418795406411316029241724244402210328040244715633966175821418392222777734306853999079752218699738171580736374345072462324011854711436864639556679647519051309593424373670842419045959050204707223113791602620884922002044419016794587102092645098963860919137827617184754843019387996503748244121601022657160194192508746489284677046746881372796728567443456375587862240133811164711476070811641839432275770705949448126670169228234894040678675691764631947783224636950919728614650928172384457360548815666986489536839545872385131106478052499271366318140188112709094178288549228384229986445009533906912116711634275461952113074688250754591406687266134741950643775441175386115760848217210062546476269492048277034948122844193440824641055929842126157842461969908614989206813307603725855351166112323485487323737557491124791088894496992810749430349027576901036647607151885823369744593976176784418132179871728440404367221092718457503152154943209379557181173349849740071780256420960885082333286379283391054006081871315525871191342107993478423137323878440344475143083245506287910558365748325960441386366904465475362053757825291618571051 38170271162366058912279127366583498639022332636230441861761787023501365629583556929500534470142544986409089766880255813753258363075028086470301238158746897712191540093521979709547680723547229676352371930011302788939478687754680056353253967333348559775358781048655844173967799130074626581881196369236955719063033467985414889458653928924768413663946648643644953819343699760424967997766536921711688598284294502838048597622285931374445564113796821520031083388171649584925470043966486529670037597138218664148498079668711841442148593870426038067919671939404254928260435918490527982616145755558367565443896077535518775801800475062586387993752959309477756584725041841543987583844113108161061073733563071467129339884545398753091185440960629571190815787369023817447473547899071422728894848201390818762829123550700896058948609256656940552622663018461752517668115438717514272702442674722646777702158590322310893920017801059048803606855336765627890204457897819720131068612887021214080765933340786307860798290162138230774623228791815725828031845722370790605664692104051367484063955624306711904560309985684408155748616773979932227595184928152773723472347896033155965273894564813947465898355111428761284998831213416284829080583487548753407211709891590193850355227671421426677248190928139521208167848429455894510666199084610488811401488738918877898827646964542362810514716334957707310812095892171636965066901389117156167026211021120462490155747531638297937130363866955591605851488478578824606529652407636809479599859011183853931586783452135108914939971774383383389289830588297606149593653807491559421025977373359609592755893875418219482848902153152724255096043975251778809570109590930758608261619165611840341862723907777063978595070787688217538666873308305508866800464911998317791884676680857974761984666024551707326879295543528966272125925032011983950976696586764177018561418013333697189985889221838222967716635311403712073924983593983827822981759369372946402797168403366946175409052215691815570165962444717769090655984279798391319042815828780326317901454989761109304559094750929410894022236974116915373947192836261015237450727555233465047579876011474025975161134656054668586667740262719655567827056990432404034996864060843897028834777435972217283229062025275248351088710980778470017036405574018420554909217669140772989689737682399981803049377406249959595465873498500796714864740151884275742658037644946113675379461729762458792916680868047039754380499448871330711353954083133177724587846701750537863391473359894783053764073796510980448557327090133665187775982327694728228703317957137211771926016057709841636609023143309466536578621512145873621428744348590380650524935810082121632053611729814353766742651945262401697035155943941646132726016820319497826987091483287784735642554209703017095684868258725522051736035673452198440198884999647686131173900654139875911664198047691674997484001041887093120143296354427506117421733608826524496756599002989379560400650446787987096024161797270131649262886652178 61760796100508239516908352634482115830628644439216696358205346741834337460770952587015898929341726950167512076051722966150225598351784063243373914983983222320791908948540111502173859475410741458732881097478171456345412073643769644436250829507173891403641751673741763074267456402597205319807467183878424915106550061034938243478847724749353852381900847038913199887053613795117636562112159552502216515746259867658388524994531121944697168661430127801469103255608770427700980452032679365819867733528060633879658086628079040530842370620291270050271326838494878563855568286045906041067726554289608268429675066162253513749354966500973382354168884724264881417260140653598115598178416085115599607626080358461682132831169864167167283240444480522682629214588799787129962704711780930586522164438603264938751163474792079506781814843197990065150543724845588881230864352630256584800005248365996634819743640227060764539102194629440617939050845986520007512340226619669250186076489822583122023671268411595669635360352387080078464065608865395735659336438993450553333333323997805396449391391608292754581618817103055334343264556369631466899194409559814417792225089407174303577328860361510043905242654048343674519358565406723551810841675551870246121119422496188203837301599994765716502708502016349020566144383211829204974324331106744605909516362939527571446255370278998897335752638324083444173965724778349120971275829753979326800037083602038438652749069509774353662469285793223875564899111444166773724371934751341842218191691336149132377441617819067244405689817344971154324907187042764787587273557649899797098039912926849605841745843872286440068517809987096145479660774586197853579123816651337918605349601041369045937723628740993481689678625912705376540394762558011262307218170286673354205303135385063573122457777110807504880539064817727148881411638417526657161145246289976393648944686744990608781295633154252209440879713614040114169699227950003644400151592150680709651167483119164875147223796428189915238424768729623802092848919355070966561867138373750691572297408807068354763801974043202496643121896118959792963987423363107882549691416152602875197060766317045363157638404298790187690397422913848076573546275109450781878236857572464472291153023834457417040226736751319162730550413054240722985853700688589783144111709819448681454369630183206440000297134864610523638257955861345530531726641421115288530422776052591727878733096080598981029389962225328303608883678857775720887860995249889358863308653863612551642227951301470319898815747154755889732713205894513404986044874170997720751594992085334616119456882350897566451149301151928506487236501352686929032470203941546762848421297405859189544736520903248263735462694692750724612056980589253284611840190064091803163875901419964607370994614070238188403325761877676994945415230633371790048625071427942552134785736473162290947589101697756868799526913078435228136774777564829995862078083969607742262886913547745308726610888174354000489637159323889474554505223229 99931067262874298429187480001065614469650977075447138219967133765335703090354509516516433399484271936576601842931978779903483961426812149713675153142730120032983449042062091211721540198957971135085253027489474245284890761398449700789504796840522451179000532722397607248235255532671831901688663553115380634169583529020353132937501653674122266045847495682558153706397313555542604559878696474213905114030554370496437122616817053319142732775226949321500186643780420012626450495999165895489905330666279298028156166296790881972990964490717308118190998777899133492116004204536434023683872309847975833873571143697772289551155441563559770347921844033742638001985182495142103182022529193276660681359643429928811472715715262920258468681405110093873445001957823604577436252610852353315417012639994083701580287025492975565730424099854930617773206743307341398898979791347770857502447923088643412521902230549371658459119995688489421545906182752147897716798124439389381254689376843797202789604609197903530433650514525310853087294400681121563691182161364241158998025428049172880513347015915004659141928802787463490091881330349563694494379337712588141264572985440330268851223425175457509803597765477104959518189778823008380891425163100623653332829314086382054192529271416192393750899430155870228733992812667723715640523415717233417311005101858405470273902334821361707850468973281790754986061616949986086038177218871135493826248104722500928808496601148072290792833152748815481416387590022991380254024342388151321818050702520003063964225069954176159345661591728354543614737775340370937180927365141459218124017286286459198597639719290505922917419963139820400575704749837976663149233407582096526866968766653209387800447536518057460284749413600922915207268070863520129107683082284991146089979816243038335107123801662514831759834608346693421007336670429510608137841833054153412210362700078687798767184854992475177157515025017752188094682821933831467381910961523627112448335886486111050556276012120005485404387213447392892748833199153462285604682967154077009473752398568177659322896724972613390665358870235875166911180259624123120000418971386067922776936777791071338318773060353458774358137685633503644400603265541854816875100918416361501125930459806674700269288762026567513819261393832710740022259274707010338053329378960221671144107312583188243049674541114570119104131454362142245396466793305391031188460420998705403258194825843057773946070830272368057989383127729106432241815078383067083451155355614150415033701311196253373662889543665736338290040296028178592762027201865725949454912949222546388045472940060739203060172444461395043065858013498560550461214552531927413373357107487980821598348250717602030478114639955152421647212924530899417337857010383589630150967384707749343013548823773255284088194020603199046681450904085570230247510071075628683308686390613038202611787149389431866283527954965528348280071131992336113283811692796132239019485916537124869127261334962341096513798956594021123817391875407 161691863363382537946095832635547730300279621514663834578172480507170040551125462103532332328825998886744113918983701746053709559778596212957049068126713342353775357990602202713895399674368712593818134124967645701630302835042219345225755626347696342582642284396139370322502711935269037221496130736993805549276133590055291376416349378423476118427748342721471353593450927350660241121990856026716121629776814238154825647611348175263839901436657077122969289899389190440327430948031845261309773064194339931907814252924869922503833335111008578168462325616394012055971572490582340064751598864137584102303246209860025803300510408064533152702090728758007519419245323148740218780200945278392260288985723788390493605546885127087425751921849590616556074216546623391707398957322633283901939177078597348640331450500285055072512238943052920682923750468152930280129844143978027442302453171454640047341645870776432422998222190317930039484957028738667905229138351059058631440765866666380324813275877609499200069010866912390931551360009546517299350518600357691712331358752046978276962738407523297413723547619890518824435145886719195161393573747272402559056798074847504572428552285536967553708840419525448634037548344229731932702266838652493899453948736582570258029830871410958110253607932172219249300137195879552920614847746823978023220521464797933041720157705100360605186221611605874199160027341728335207009453048625114820626285188324539367461245670657846644455302438542039356981286701467158153978396277139493164036242393856152196341666687773243403751351409073325697939644962383135724768200922791359015222057199213308804439385563162792362985937773126916546055365524424174516728357224233434445472318367694578433738171165259050941974428039513628291747662833421531391414901252571664500295282951628101908229581578773322336640373673164420569888748308847037265298987079344129805859307386823678407548480488146727386598394738631792302264382049883835111782062553674307822099503369605275925703499808548195400642811982177016694841682118508533252166550105527827701046049807375246014086698699015815887308480766354834959875167682987231002550110387538670797973997544108116701476411464652248962048535108547351720974149540651305598753337775988825973417083483641132117309515498777886676549811806886951463008112975395600121197441088779670352598476942766394683049971675979180642742389410223487775928193434726506319718883197051297131136927921923656754975460792497696361598266806586882153129676073632956442314464009477762966675929262497723693561705290820492228022753501922691997748072076036723670206507941307881004164929822411636769511321745613323549553094514851247479493684756473474176221778404893840011143084771620850294213577334647903146259269905120152701949697200447681433314843286127713950384543437843493472491519782480876041626866134718942020296135142503571235443472127086200493559376251087188735083054868043963576416845909557166109145889776765739981282372830084870177853872223136695097003436115917910598371897098636 261622930626256836375283312636613344769930598590110972798139614272505743641479971620048765728310270823320715761915680525957193521205408362670724221269443462386758807032664293925616939873326683728903387152457119946915193596440669046015260423188218793761642817118536977570737967467940869123184794290109186183445717119075644509353851032097598384473595838404029507299848240906202845681869552500930026743807368608651262770228165228582982634211884026444469476543169610452953881444031011156799678394860619229935970419221660804476824299601725886286653324394293145548087576695118774088435471173985559936176817353557798092851665849628092923050012572791750157421230505643882321962223474471668920970345367218319305078262600390007684220603254700710429519218504446996284835209933485637217356189718591432341911737525778030638242663042907851300696957211460271679028823935325798299804901094543283459863548101325804081457342186006419461030863211490815802945936475498448012695455243510177527602880486807402730502661381437701784638654410227638863041700761721932871329384180096151157476085423438302072865476422677982314527027217068758855887953084984990700321371060287834841279775710712425063512438185002553593555738123052740313593692001753117552786778050668952312222360142827150504004507362328089478034130008547276636255371162541211440531526566656338511994060039921722313036690584887664954146088958678321293047630267496250314452533293047040296269742271805918935248135591290854838397674291490149534232420619527644485854293096376155260305891757727419563097013000801680241554382737723506661949128287932818233346074485499768003037025282453298285903357736266736946631070274262151179877590631815530972339287134347787821538618701777108402259177453114551206954930904285051520522584334856655646385262767871140243336705380435837168400208281511113990896084979276547873436828912398283218069670086902366206315665343139202563755909763649544490359064871817666579163973515197934934547839256091386976259775820668200886047199195624409587590515317661995537771233072681904710519802205943423673409595423988429277973839636590710126786347942611354122550529358924738720750934321899188039795184525005707736406672794180855365374752806193160415628438694405187474543013943447806817578804260804454190369073200719662203030372250102610459250770467739892023742584255349582926099646217093750761846520864585630021324660228031897350907343618050002534395122747766714528921531622770064419587649934315988585371491152016023525765619365091913381709630573693977067224594834486228566312793797950870590510099277902449619661420890530427392210402762472375972571494190074718592618952528349808029954899309005401589595135512381820832741433022338452324691691974603055567906482829651052119287554210831271063465810670835463293398092261616748756579713803084075088308317038804512250543645213579199918752158517699238696171163400476620601366582823009491924696917041549502222429701469561872220301858746621995046981133558099036193517235072511931722189288974043 423314793989639374321379145272161075070210220104774807376312094779675784192605433723581098057136269710064829680899382272010903080984004575627773289396156804740534165023266496639512339547695396322721521277424765648545496431482888391241016049535915136344285101514676347893240679403209906344680925027102991732721850709130935885770200410521074502901344181125500860893299168256863086803860408527646148373584182846806088417839513403846822535648541103567438766442558800893281312392062856418109451459054959161843784672146530726980657634712734464455115650010687157604059149185701114153187070038123144038480063563417823896152176257692626075752103301549757676840475828792622540742424419750061181259331091006709798683809485517095109972525104291326985593435051070387992234167256118921119295366797188780982243188026063085710754901985960771983620707679613201959158668079303825742107354265997923507205193972102236504455564376324349500515820240229483708175074826557506644136221110176557852416156364416901930571672248350092716190014419774156162392219362079624583660742932143129434438823830961599486589024042568501138962173103787954017281526832257393259378169135135339413708327996249392617221278604528002227593286467282472246295958840405611452240726787251522570252191014238108614258115294500308727334267204426829556870218909365189463752048031454271553714217745022082918222912196493539153306116300406656500057083316121365135078818481371579663730987942463765579703438029832894195378960992957307688210816896667137649890535490232307456647558445500662966848364409875005939494027700106642386717329210724177248568131684713076807476410845616090648889295509393653492686435798686325696605947856048965417811605502042366255276789867036159344233605492628179498702593737706582911937485587428320146680545719499242151566286959209159505040581954675534560784833288123585138735815991742413023928977473726044613864145831285929950354304502281336792623446921701501690946036068872242756647342625696662901963275629216396286690011177801426282432197436170528789937783178209732411565852013318669687496294123004245165282320402945545086661515625598585125100639746463409518724931866007304741271595989657956698455207902728207086348902346844466014381776470394013447960097427088938934888319759582340866918885007606613666038485225498210580448211556519562376341061198115977609149617893072931404588910274809117797252853662758403670626226815101299665532050669690371283896992415267760781185916740902870738501167225648979968080083374569676348385559836191700760786300125306720794335547299873562588258171353939173289867928831838308396375332584884012742082815935688042142172047043201055509448584065478875765816913917275660843884517793959302618905269309250958714165752734771204821237251411278952496780653956963177243782635699460242229071233585564951129935183173523454270839780356082771154195630644785439189730539651563809336449637691053455501113762951106668331575591246327612201584231576706865224835005781235731290520671188429842320561186072679 684937724615896210696662457908774419840140818694885780174451709052181527834085405343629863785446540533385545442815062797968096602189412938298497510665600267127292972055930790565129279421022080051624908429881885595460690027923557437256276472724133930105927918633213325463978646871150775467865719317212177916167567828206580395124051442618672887374940019529530368193147409163065932485729961028576175117391551455457351188067678632429805169860425130011908242985728411346235193836093867574909129853915578391779755091368191531457481934314460350741768974404980303152146725880819888241622541212108703974656880916975621989003842107320718998802115874341507834261706334436504862704647894221730102229676458225029103762072085907102794193128358992037415112653555517384277069377189604558336651556515780213324154925551841116348997565028868623284317664891073473638187492014629624041912255360541206967068742073428040585912906562330768961546683451720299511121011302055954656831676353686735380019036851224304661074333629787794500828668830001795025433920123801557454990127112239280591914909254399901559454500465246483453489200320856712873169479917242383959699540195423174254988103706961817680733716789530555821149024590335212559889650842158729005027504837920474882474551157065259118262622656828398205368397212974106193125590071906400904283574598110610065708277784943805231259602781381204107452205259084977793104713583617615449531351774418619960000730214269684514951573621123749033776635284447457222443237516194782135744828586608462716953450203228082529945377410676686181048410437830149048666457498656995481914206170212844810513436128069388934792653245660390439317506072948476876483538487864496390150892636390154076815408568813267746492782945742730705657524641991634432460069922284975793065808487370382394902992339644996673440790236186648551680918267400133012172644904140696241998647560628410820179811174425132514110214265930881282982511793519168270110009584070177691195181881788049878223051449884597172737210373425835870022712753832524327709016250891637122085654219262093360905889546992674443256160039536255213447863568209939247651169105388148239475866187906492781066780514663664434861880696909062451723655153037626430010215164799200922503111370536745752467124020386795057287958208326275869068857475600821039698982024259454400083645453465560535249264110166682166435431139394747818577513890790301021533570433151302199927173417457085812818524038037825200773566675218859323872658377665003493845702739661589730095190409885677828010894959792949360648341097824433178768270631841622909529349722368735788585735347356388714654310125762760734790999571550863539403483374484277355412049429657481676625950816297754943596961283854014282072235564422256940524805622110223560246464627798640537180727961076990985650947388649026218243500212327966521383425569661971072947789162484677885901703052040429937816220514062947425810679992656170554005292715889484421886090323328860271816139339334767484037906260941774042750475046722 1108252518605535585018041603180935494910351038799660587550763803831857312026690839067210961842582810243450375123714445069978999683173417513926270800061757071867827137079197287204641618968717476374346429707306651244006186459406445828497292522260049066450213020147889673357219326274360681812546644344315169648889418537337516280894251853139747390276284200655031229086446577419929019289590369556222323490975734302263439605907192036276627705508966233579347009428287212239516506228156723993018581312970537553623539763514722258438139569027194815196884624415667460756205875066521002394809611250231848013136944480393445885156018365013345074554219175891265511102182163229127403447072313971791283489007549231738902445881571424197904165653463283364400706088606587772269303544445723479455946923312968994306398113577904202059752467014829395267938372570686675597346160093933449784019609626539130474273936045530277090368470938655118462062503691949783219296086128613461300967897463863293232435193215641206591646005878137887217018683249775951187826139485881182038650870044382410026353733085361501046043524507814984592451373424644666890451006749499777219077709330558513668696431703211210297954995394058558048742311057617684806185609682564340457268231625171997452726742171303367732520737951328706932702664417400935749995808981271590368035622629564881619422495529965888149482514977874743260758321559491634293161796899738980584610170255790199623731718156733450094655011650956643229155596277404764910654054412861919785635364076840770173601008648728745496793741820551692120542438137936791435383786709381172730482337854925921617989846973685479583681948755054043932003941871634802573089486343913461807962498138432520332092198435849427090726388438370910204360118379698217344397555509713295939746354206869624546469279298854156178481372190862183112465751555523718150908460895883109265927625034354455434043957005711062464464518768212218075605958715220669961056045652942420447842524507484712780186327079100993459427221551227262152454910190003053117646799429101369533651506232580763048402183669996919608538480442481800300109379193808524372751808851851557758200798053913797522338376504321621133317088599637269538072557499882092444391991635193214370463208797625684687355443779969135924206843215932889535107342701099031620147193580779016776424706651581538144398882003239613571024341414203865615830367553548704692159797248252601865459224087147457096715516453305585981959483416121730062373825603313983461925786114231266078480750246077378588797195085099670154983888397697995767026441985780796199397278554207044184961067932240401456737126061450802876963046614751919048852067439963153121228963346933142520510468610257057562502230593104972996237988299193461761762057033389176057027118584761817780963363660537233214722180974213977348178683385851420792223205925744742227143419807270117075632242703604239274265858205116402926924442943762838885580883962217096623470321900035725496651145120570498774558577449371616363311661119401 1793190243221431795714704061089709914750491857494546367725215512884038839860776244410840825628029350776835920566529507867947096285362830452224768310727357338995120109135128077769770898389739556425971338137188536839466876487330003265753568994984182996556140938781102998821197973145511457280412363661527347565056986365544096676018303295758420277651224220184561597279593986582994951775320330584798498608367285757720790793974870668706432875369391363591255252414015623585751700064250591567927711166886115945403294854882913789895621503341655165938653598820647763908352600947340890636432152462340551987793825397369067874159860472334064073356335050232773345363888497665632266151720208193521385718684007456768006207953657331300698358781822275401815818742162105156546372921635328037792598479828749207630553039129745318408750032043698018552256037461760149235533652108563073825931864987080337441342678118958317676281377500985887423609187143670082730417097430669415957799573817550028612454230066865511252720339507925681717847352079777746213260059609682739493640997156621690618268642339761402605498024973061468045940573745501379763620486666742161178777249525981687923684535410173027978688712183589113869891335647952897366075260524723069462295736463092472335201293328368626850783360608157105138071061630375041943121399053177991272319197227675491685130773314909693380742117759255947368210526818576612086266510483356596034141522030208819583732448371003134609606585272080392262932231561852222133097291929056701921380192663449232890554458851956828026739119231228378301590848575766940484050244208038168212396544025138766428503283101754868518474602000714434371321447944583279449573024831777958198113390774822674408907607004662694837219171384113640910017643021689851776857625431998271732812162694240006941372271638499152851922162427048831664146669822923851163081105800023805507926272594982866254223768180136194978574733034143099358588470508739838231166055237012598139037706389272762658409378528985590632164431924653098022477622943835577445355815679993006655737160451842856409308073216989594051794640482018055513557242762018463620402977957239705997676664241820290303405157018985285568178969296546331989796212652919718874402206799992415292966320168162430439822567800355930981494801424259165404176200176699852659846175605038471176508352105047098679648146113406295737459772553598613434407881444339005713693367681403904065386397504604542909534040491343411182733050091340589386246483980978986955771488853892855808575940655963056416808090044892619515632229495522428945794712617622419108926628276575779973546803279596790171391436187213563611754046186302782588255550814447430476641012776590624197136419426554812506099191876958987278310223863615718702286862655499399617273583212560458318144091621614224200373128362863003566422183598179387313606631495406713300091208969754794961533945755644669212082078719179350352735122936419009439586176678106581045356412223364585768467284459905266258596483710313390406062136166123 2901442761826967380732745664270645409660842896294206955275979316715896151887467083478051787470612161020286295690243952937926095968536247966151039110789114410862947246214325364974412517358457032800317767844495188083473062946736449094250861517244232063006353958928992672178417299419872139092959008005842517213946404902881612956912555148898167667927508420839592826366040564002923971064910700141020822099343020059984230399882062704983060580878357597170602261842302835825268206292407315560946292479856653499026834618397636048333761072368849981135538223236315224664558476013861893031241763712572400000930769877762513759315878837347409147910554226124038856466070660894759669598792522165312669207691556688506908653835228755498602524435285558766216524830768692928815676466081051517248545403141718201936951152707649520468502499058527413820194410032446824832879812202496523609951474613619467915616614164488594766649848439641005885671690835619865949713183559282877258767471281413321844889423282506717844366345386063568934866035329553697401086199095563921532291867201004100644622375425122903651541549480876452638391947170146046654071493416241938397854958856540201592380967113384238276643707577647671918633646705570582172260870207287409919563968088264469787928035499671994583304098559485812070773726047775977693117208034449581640354819857240373304553268844875581530224632737130690628968848378068246379428307383095576618751692285999019207464166527736584704261596923037035492087827839256987043751346341918621707015556740290003064155467500685573523532861051780070422133286713703731919434030917419340942878881880064688046493130075440348102156550755768478303325389816218082022662511175691420006075888913255194740999805440512121927945559822484551114377761401388069121255180941711567672558516901109631487841550937353309030403534617911014776612421378447569313989566695906914773853897629337321688267725185847257443039251802355317434194429223960508192222100889955018586880230896757475438595705608086584091591653475880360174932533133838630563002615109094376189388666684423619457710256886986513660333120924499855813666621955826987993154786809091263755877462295734087825743533523306906701496057896183601527868770152801811318794198435185629663429528965788115127178011580325066905701644640192054939283542877798884279993369185817487952933058756628636824047028116645909308484113967802479050238248997887710405853164929656505930845621591752000006249556944648997164692533507462319448620309584292970417697274968124121887056690902040435005605285129992289670616117893220424712821154603403215308323906830782824158507871211837191628128562248664366488717092801054701637107618254410583597869976123523766717646888036811870068601422470063960274548212162809180464048919688888575674300701797322276099107455282151457415095309337076980914600866984030808105829837421151455527234628777024912037166188459248908486347936924295753279659565880181848325167060640323677668826734123400311265118429580475765033155061159685006769373797285524 4694633005048399176447449725360355324411334753788753323001194829599934991748243327888892613098641511797122216256773460805873192253899078418375807421516471749858067355349453442744183415748196589226289105981683724922939939434066452360004430512228415059562494897710095670999615272565383596373371371667369864779003391268425709632930858444656587945578732641024154423645634550585918922840231030725819320707710305817705021193856933373689493456247748960761857514256318459411019906356657907128874003646742769444430129473280549838229382575710505147074191822056962988572911076961202783667673916174912951988724595275131581633475739309681473221266889276356812201829959158560391935750512730358834054926375564145274914861788886086799300883217107834168032343572930798085362049387716379555041143882970467409567504191837394838877252531102225432372450447494206974068413464311059597435883339600699805356959292283446912442931225940626893309280877979289948680130280989952293216567045098963350457343653349372229097086684893989250652713387409331443614346258705246661025932864357625791262891017764884306257039574453937920684332520915647426417691980082984099576632208382521889516065502523557266255332419761236785788524982353523479538336130732010479381859704551356942123129328828040621434087459167642917208844787678151019636238607087627572912674017084915864989684042159785274910966750496386637997179375196644858465694817866452172652893214316207838791196614898739719313868182195117427755020059401109209176848638270975323628395749403739235954709926352642401550271980283008448723724135289470672403484275125457509155275425905203454474996413177195216620631152756482912674646837760801361472235536007469378204189279688077869149907412445174816765164731206598192024395404423077920898112806373709839405370679595349638429213822575852461882325697044959846440759091201371420477070672495930720281780170224320187942491493365983452421613984836498416792782899732700346423388156126967616725917937286030238097005084137072174723756085400533458197410156077674208008358430789087382845125827136266475867018330103976107712127761406517911327223864717845451613557764766330969753554126537554378129148690542292192269675027192729933517664982805721530193196405235178044956395849133950545567000579380680997887196446064451220343459743054498736939839544790855959129441410861675735503695174230052205045943886521401092484646130442226716119546532611060409996232019096356542915783597435992408347425583598802908834866793565271957373468763822016977695632631558003491422413375174884909186248347388742853658615867221025634417250535107358604132054674491433981799519998435877930100471138987357484225363169068858014074510988900114390914783307463366682574700614347022947552858436026424899166335782344387975291574285009882734417251546903765681615468437699939984481023050582210195419436468916558168827325837746779706998700134214893577698430015643475103632394688816600857764753237318430258714183146346764897033585714040381031291751544869998397175435933451647 7596075766875366557180195389631000734072177650082960278277174146315831143635710411366944400569253672817408511947017413743799288222435326384526846532305586160721014601563778807718595933106653622026606873826178913006413002380802901454255292029472647122568848856639088343178032571985255735466330379673212381992949796171307322589843413593554755613506241061863747250011675114588842893905141730866840142807053325877689251593738996078672554037126106557932459776098621295236288112649065222689820296126599422943456964091678185886563143648079355128209730045293278213237469552975064676698915679887485351989655365152894095392791618147028882369177443502480851058296029819455151605349305252524146724134067120833781823515624114842297903407652393392934248868403699491014177725853797431072289689286112185611504455344545044359345755030160752846192644857526653798901293276513556121045834814214319273272575906447935507209581074380267899194952568814909814629843464549235170475334516380376672302233076631878946941453030280052819587579422738885141015432457800810582558224731558629891907513393190007209908581123934814373322724468085793473071763473499226037974487167239062091108446469636941504531976127338884457707158629059094061710597000939297889301423672639621411911057364327712616017391557727128729279618513725926997329355815122077154553028836942156238294237311004660856441191383233517328626148223574713104845123125249547749271644906602206857998660781426476304018129779118154463247107887240366196220599984612893945335411306144029239018865393853327975073804841334788519145857422003174404322918306042876850098154307785268142521489543252635564722787703512251390977972227577019443494898047183160798210265168601333063890907217885686938693110291029082743138773165824465990019367987315421407077929196496459269917055373513205770912729231662870861217371512579818989791060239191837635055634067853657509630759218551830709864653236638853734226977328956660854615610257016922635312798168182787713535600789745158758815347738876413818372342689211512838571361045898181759034514493820690095324728586990962621372460882331017767140890486673672439606712551575422233509431588833288465954892224065599098971171085088913535045533752958523341511990603670363674619825378099738660694178590961006064792898090704643275282743285932297621219832913976673447082374469618304372327742202346698114354428000489203571534884379440114426525399697540716915927077640688108542922033154380641405512118117106265228283487103149564927791166038790141099582689322460043926428018660304877198856864465281963278371437021824428849725574441938141428290562545703271173427648560684542296589188231788412185862470787323268597672380965023638157632430195500178552643302036817086907827406648189234079630384702033276550965874986807205010516359002185917139030563747037016965395623917566241003525266306337709624354560466523804619035866322674142486184777952567770856912054254696782706089920297958753936383009880470165208298704143620856796324906606029683403944809730737171 12290708771923765733627645114991356058483512403871713601278368975915766135383953739255837013667895184614530728203790874549672480476334404802902653953822057910579081956913232250462779348854850211252895979807862637929352941814869353814259722541701062182131343754349184014177647844550639331839701751340582246771953187439733032222774272038211343559084973702887901673657309665174761816745372761592659463514763631695394272787595929452362047493373855518694317290354939754647308019005723129818694299773342192387887093564958735724792526223789860275283921867350241201810380629936267460366589596062398303978379960428025677026267357456710355590444332778837663260125988978015543541099817982882980779060442684979056738377413000929097204290869501227102281211976630289099539775241513810627330833169082653021071959536382439198223007561262978278565095305020860772969706740824615718481718153815019078629535198731382419652512300320894792504233446794199763309973745539187463691901561479340022759576729981251176038539715174042070240292810148216584629778716506057243584157595916255683170404410954891516165620698388752294007056989001440899489455453582210137551119375621583980624511972160498770787308547100121243495683611412617541248933131671308368683283377190978354034186693155753237451479016894771646488463301404078016965594422209704727465702854027072103283921353164446131352158133729903966623327598771357963310817943115999921924538120918414696789857396325216023331997961313271891002127946641475405397448622883869268963807055547768474973575320205970376624076821617796967869581557292645076726402581168334359253429733690471596996485956429830781343418856268734303652619065337820804967133583190630176414454448289410933040814630330861755458275022235680935163168570247543910917480793689131246483299876091808908346269196089058232795054928707830707658130603781190410268130911687768355337414238077977697573250711917814162286267221475352151019760228689361201038998413143890252038716105468817951632605873882230933539103824276947276569752845289187046579719476687269141879640320956956571191746917094938729084588643737535678468114351391517891220270316341753203262985715370842844084040914607891291240846112281643468563198735764244871705187008905541719576221227233689206261179170341687062680094536769094495626203028986796358159672458767529406211815880479980107831437376576750319400371887010604664019530509882341142644946230151777325923309659784465085837816751816633813859543700705068137118353896714836885164634802612158077278321954018047417850432035479762108043112812670706132030052889045454484142824977045500032422617220194705155227168559120420226689659370775769670087833956392126611746891953923752548547213502963545235218002651164109855380265084215658978796720484377664526257449271817087744933610549089682820646032184736956949876646968148451198944702775254267793181886304270584326034566456889036063883207968211245960544448943513383563854673535277184195097193026816930105332289857661237827616658150899681801120245664188818 19886784538799132290807840504622356792555690053954673879555543122231597279019664150622781414237148857431939240150808288293471768698769731187429500486127644071300096558477011058181375281961503833279502853634041550935765944195672255268515014571173709304700192610988272357355680416535895067306032131013794628764902983611040354812617685631766099172591214764751648923668984779763604710650514492459499606321816957573083524381334925531034601530499962076626777066453561049883596131654788352508514595899941615331344057656636921611355669871869215403493651912643519415047850182911332137065505275949883655968035325580919772419058975603739237959621776281318514318422018797470695146449123235407127503194509805812838561893037115771395107698521894620036530080380329780113717501095311241699620522455194838632576414880927483557568762591423731124757740162547514571871000017338171839527552968029338351902111105179317926862093374701162691699186015609109577939817210088422634167236077859716695061809806613130122979992745454094889827872232887101725645211174306867826142382327474885575077917804144898726074201822323566667329781457087234372561218927081436175525606542860646071732958441797440275319284674439005701202842240471711602959530132610606257984707049830599765945244057483465853468870574621900375768081815130005014294950237331781882018731690969228341578158664169106987793349516963421295249475822346071068155941068365547671196183027520621554788518177751692327350127740431426354249235833881841601618048607496763214299218361691797713992440714059298351697881662952585487015438979295819481049320887211211209351584041475739739517975499682466346066206559780985694630591292914840248462031630373790974624719616890743996931721848216548694151385313264763678301941736072009900936848781004552653561229072588268178263324569602264003707784160370701568875502116361009400059191150879605990393048305931635207204009930469644872150920458114205885246737557646022055654608670160812887351514273651605665168206663627389692354451563153361094942095534500699885151080522585450900914154814777646666516475504085901350457049526068553445609004838065190330826982867917175436772417304204131310038933138673490390212017197370557003608732488722768213217177612575905394196046605333427866955357761302693127472992627473737770908946314919093979379505372744202853294190350098284480159179578923448433754799887499808235554414889322455569170345927692494241850387300472573628759849906197275219371661817811333365401840999864401812955800841402299176861011276478091344278450695784639306899977277952669410401489910869883333868399418983641460713179765897976328654817119804962523278847602564181855950304743715395209419272918947390706179643698463723787861304687981196763207671732404893058427105186410941077223324258624292755449969551275599959676595931773973915272270885714692202469969081591977417536446770794388945070432779563178550067985920779016817456503198210166269944593833235938131480202907287095313630994001282094623941564756929365205065055394925989 32177493310722898024435485619613712851039202457826387480833912098147363414403617889878618427905044042046469968354599162843144249175104135990332154439949701981879178515390243308644154630816354044532398833441904188865118886010541609082774737112874771486831536365337456371533328261086534399145733882354376875536856171050773387035391957669977442731676188467639550597326294444938366527395887254052159069836580589268477797168930854983396649023873817595321094356808500804530904150660511482327208895673283807719231151221595657336148196095659075678777573779993760616858230812847599597432094872012281959946415286008945449445326333060449593550066109060156177578548007775486238687548941218290108282254952490791895300270450116700492311989391395847138811292356960069213257276336825052326951355624277491653648374417309922755791770152686709403322835467568375344840706758162787558009271121844357430531646303910700346514605675022057484203419462403309341249790955627610097859137639339056717821386536594381299018532460628136960068165043035318310274989890812925069726539923391141258248322215099790242239822520712318961336838446088675272050674380663646313076725918482230052357470413957939046106593221539126944698525851884329144208463264281914626667990427021578119979430750639219090920349591516672022256545116534083031260544659541486609484434544996300444862080017333553119145507650693325261872803421117429031466759011481547593120721148439036251578375574076908350682125701744698245251363780523317007015497230380632483263025417239566188966016034265268728321958484570382454885020536588464557775723468379545568605013775166211336514461456112297127409625416049719998283210358252661053429165213564421151039174065180154929972536478547410449609660335500444613465110306319553811854329574693683900044528948680077086609593765691322236502839089078532276533632720142199810327322062567374345730462544009612904777260642387459034437187679589558036266497786335383256693607083304703139390230379120423616800812537509620625893555387430308371511848379789886931730799999272720042793795135734603237708222421180840079541638169806089124077119189456708222047253184258928640035403019574974154122974053281381681452863309652200472171931224487013084922364621481447113772267832567117073216536931644380190153087164242832266535149343905890337539177831511732259506006230578264587990616955500198753155171774510412899573945399204796711815292157844271567773696960257038714597666658013909033231205518516401502520194896579238698120435644014457254139333230496138762128882731264401414943090090623375542431542799915337818011224396029141493135796986092681483881985678925382749968506973339951526038138700107521821166164872871143254726857201427269023079307339145306618587936816620552037223825670788605603480773530441380500383580100365282780322628116510930865148917853863143401414671856846245210718333075064973271104999236452214613951193888990262778000952141723549833799267368513122326577395934104025418963283858943332451558222907829047006185301059114807 52064277849522030315243326124236069643594892511781061360389455220378960693423282040501399842142192899478409208505407451136616017873873867177761654926077346053179275073867254366825529912777857877811901687075945739800884830206213864351289751684048480791531728976325728728889008677622429466451766013368171504301759154661813741848009643301743541904267403232391199520995279224701971238046401746511658676158397546841561321550265780514431250554373779671947871423262061854414500282315299834835723491573225423050575208878232578947503865967528291082271225692637280031906080995758931734497600147962165615914450611589865221864385308664188831509687885341474691896970026572956933833998064453697235785449462296604733862163487232471887419687913290467175341372737289849326974777432136294026571878079472330286224789298237406313360532744110440528080575630115889916711706775500959397536824089873695782433757409090018273376699049723220175902605478012418919189608165716032732026373717198773412883196343207511421998525206082231849896037275922420035920201065119792895868922250866026833326240019244688968314024343035885628666619903175909644611893307745082488602332461342876124090428855755379321425877895978132645901368092356040747167993396892520884652697476852177885924674808122684944389220166138572398024626931664088045555494896873268491503166235965528786440238681502660106938857167656746557122279243463500099622700079847095264316904175959657806366893751828600678032253442176124599500599614405158608633545837877395697562243778931363902958456748324567080019840147522967941900459515884284038825044355590756777956597816641951076032436955794763473475831975830705692913801651167501301891196843938212125663893682070898926904258326763959143761045648765208291767052042391563712791178355698236553605758021268345264872918335293586240210623249449233845409134836503209210386513213446980336123510849941248111981270572857103906588108137703763921513235343981405312348215753465516026741744652772029281969019201137010318248006950583669466453943914290586816881880521858170943707949950512249904224697925266741429998687695874642569686124027521898552874236052176104076807820323779105464161907191954872071664880507022757475780663713209781298139542234057352507968314437900544940171894692947073317626079791716570037444095658824984316918683204255935112800196580676549068149796534423647186909971662010221135128360288527252280985638085536765809624084260729612343357516564211184252602867336327734867922035896443640511076236485416756431000344506974230106407333427049040721843067368576044952833032710785221151879623815012782953848976751990657812536802798730345273247354575904133381988443443822917030585437791818533960906500899890992810940612027126503381795608549025445095650930857199546680704097789065673255833549651640882739999224048284904780421188739577835603884640938438222628254779845859362216175432016015393164019179809769279595457455339933716103743861201749060458057598841391120732594277860225427075499787664758412211250356454040796 84241771160244928339678811743849782494634094969607448841223367318526324107826899930380018270047236941524879176860006613979760267048978003168093809366027048035058453589257497675469684543594211922344300520517849928666003716216755473434064488796923252278363265341663185100422336938708963865597499895722548379838615325712587128883401600971720984635943591700030750118321573669640337765442289000563817745994978136110039118719196635497827899578247597267268965780070562658945404432975811317162932387246509230769806360099828236283652062063187366761048799472631040648764311808606531331929695019974447575860865897598810671309711641724638425059753994401630869475518034348443172521547005671987344067704414787396629162433937349172379731677304686314314152665094249918540232053768961346353523233703749821939873163715547329069152302896797149931403411097684265261552413533663746955546095211718053212965403713000718619891304724745277660106024940415728260439399121343642829885511356537830130704582879801892721017057666710368809964202318957738346195190955932717965595462174257168091574562234344479210553846863748204590003458349264584916662567688408728801679058379825106176447899269713318367532471117517259590599893944240369891376456661174435511320687903873756005904105558761904035309569757655244420281172048198171076816039556414755100987600780961829231302318698836213226084364818350071818995082664580929131089459091328642857437625324398694057945269325905509028714379143920822844751963394928475615649043068258028180825269196170930091924472782589835808341798632093350396785480052472748596600767823970302346561611591808162412546898411907060600885457391880425691197012009420162355320362057502633276703067747251053856876794805311369593370705984265652905232162348711117524645507930391920453650286969948422351482512100984908476713462338527766121942767556645409020713835276014354681853973393950861016758531215244562941025295817293321957779733130316788569041822836770219166131975031892452898769831738646630944141562338013977837965792294080473748612680521130890986501745086246853141932920346447581509540325865680731693763243216978606774921489236435032716843223343354079618284881245236253753117743816674957947952594937696794383061906855538799621740582270467662013388431624591453507779166955959402303979245002730874654457861035767667372306202811254813656140413489923845940065143436520634034702305687732048992800930243381037377397781220986651057955183222225093285834072854844136370442230793022879209196672129431213685139677737470368868536216158313442136786157459199420495264575510700558969890848211041924446984773738083339296418788477655728023215861549244084908026582143930438851751602664689677215633358101318261834019919366271810000383545365645997132874756527988152284184871319507053756217129752006165520321852164795835645570106593440979005299312795284467838973112920924335487280431252467607777970373698759542373458407481657265937543128570262182784634994775495146151557561719168759527058010572587459217435657513155603 136306049009766958654922137868085852138228987481388510201612822538905284801250181970881418112189429841003288385365414065116376284922851870345855464292104394088237728663124752042295214456372069800156202207593795668466888546422969337785354240480971733069894994317988913829311345616331393332049265909090719884140374480374400870731411244273464526540210994932421949639316852894342309003488690747075476422153375682951600440269462416012259150132621376939216837203332624513359904715291111151998655878819734653820381568978060815231155928030715657843320025165268320680670392804365463066427295167936613191775316509188675893174096950388827256569441879743105561372488060921400106355545070125684579853153877084001363024597424581644267151365217976781489494037831539767867206831201097640380095111783222152226097953013784735382512835640907590459483986727800155178264120309164706353082919301591748995399161122090736893268003774468497836008630418428147179629007287059675561911885073736603543587779223009404143015582872792600659860239594880158382115392021052510861464384425123194924900802253589168178867871206784090218670078252440494561274460996153811290281390841167982300538328125468697688958349013495392236501262036596410638544450058066956395973385380725933891828780366884588979698789923793816818305798979862259122371534453288023592490767016927358017742557380338873333023221986006818376117361908044429230712159171175738121754529500358351864312163077734109706746632586096947444252563009333634224282588906135423878387512975102293994882929530914402888361638779616318338685939568357032635425812179561059124518209408450113488579335367701824074361289367711131384110813660587663657211558901440845402366961429321952783781053132075328737131751633030861196999214391102681237436686286090157007256044991216767616355430436278494716924085587976999967351902393148618231100348489461335017977484243892109128739801788101666847613403954997085879292968474298193881390038590235735192873719684664482180738850939783641262389569288597647304419736208371060565494561042989061930209695036759103046157618271714322939539013561555374263449367244500505327795725288611136793651043667133185082446788437191125824782624323697715423733258650906575681201449089596152129708896708368206953560326317538526825405246747675972341423340661555858971376544240023602485106399391931362724290210024347493126975115098530855169830665976259301273786568328917803187021865481716263401312699786436277538436940191171871238364266689466519720272908614847970116140022244444598974943549585362482858629224827775465448097608221485780121770472026054707400833750490073997108955591276386073296463216125148218290015025587753355882337040456508211176539859001209254644960531393398313382179153914671442228525687385187698964888969108572727012050679403647048260321076213080740425991295333018814609183953733722690467227892766783697703455863268483000941989553508528821968915862821590982041286989772011243242692593616886266884151839579394186602557798237345871428686013967196399 220547820170011886994600949611935634632863082450995959042836189857431608909077081901261436382236666782528167562225420679096136551971829873513949273658131442123296182252382249717764898999966281722500502728111645597132892262639724811219418729277894985348258259659652098929733682555040357197646765804813268263978989806086987999614812845245185511176154586632452699757638426563982646768930979747639294168148353819061639558988659051510087049710868974206485802983403187172305309148266922469161588266066243884590187929077889051514807990093903024604368824637899361329434704612971994398356990187911060767636182406787486564483808592113465681629195874144736430848006095269843278877092075797671923920858291871397992187031361930816646883042522663095803646702925789686407438884970058986733618345486971974165971116729332064451665138537704740390887397825484420439816533842828453308629014513309802208364564835091455513159308499213775496114655358843875440068406408403318391797396430274433674292362102811296864032640539502969469824441913837896728310582976985228827059846599380363016475364487933647389421718070532294808673536601705079477937028684562540091960449220993088476986227395182016056490820131012651827101155980836780529920906719241391907294073284599689897732885925646493015008359681449061238586971028060430199187574009702778693478367797889187249044876079175086559107586804356890195112444572625358361801618262504380979192154824757045922257432403639618735461011730017770289004526404262109839931631974393452059212782171273224086807402313504238696703437411709668735471419620829781232026580003531361471079821000258275901126233779608884675246746759591557075307825670007826012531920958943478679070029176573006640657847937386698330502457617296514102231376739813798762082194216482077460906331961165189967837942537263403193637547926504766089294669949794027251814183765475689699831457637842970145498333003346229788638699772290407837072701604614982450431861427005954359005694716556935079508682678430272206531131626611625142385528502451534314107241564119952916711440123005956188090538618161904449079339427236105957212610461479112102717214525046169510494267010487264700731669682427379577900368140372673371685853588603370064263355945134951751449478978835868966948757942129980333184413703635374645402585664286733625834405275791269857412602203186176380430623514271339067040258535051489204532971663991350266587498572298840564419646702702914459267883008661370824271013046016007608806497482489398929469580744279183801279699981914967843479765743675924995415382286974885943362183732186339091661320237096631847818524228157336405374379754041801319679077674392303198041607731683794734088643121197888392173217102527516478980450759670123382562699280317439361400443913175851249073840428079780768267809155653213780642928377876576071561401926459793614483266529007158306201005687708033190736294520950608719959927207288364342374270303248247978830118342273426027327588392381413035709401298562946129615808809933330646121671480352002 356853869179778845649523087480021486771092069932384469244449012396336893710327263872142854494426096623531455947590834744212512836894681743859804737950235836211533910915507001760060113456338351522656704935705441265599780809062694149004772969758866718418153253977641012759045028171371750529696031713903988148119364286461388870346224089518650037716365581564874649396955279458324955772419670494714770590301729502013239999258121467522346199843490351145702640186735811685665213863558033621160244144885978538410569498055949866745963918124618682447688849803167682010105097417337457464784285355847673959411498915976162457657905542502292938198637753887841992220494156191243385232637145923356503774012168955399355211628786512460914034407740639877293140740757329454274645716171156627113713457270194126392069069743116799834177974178612330850371384553284575618080654151993159661711933814901551203763725957182192406427312273682273332123285777272022619697413695462993953709281504011037217880141325820701007048223412295570129684681508718055110425974998037739688524231024503557941376166741522815568289589277316385027343614854145574039211489680716351382241840062161070777524555520650713745449169144508044063602418017433191168465356777308348303267458665325623789561666292531081994707149605242878056892770007922689321559108462990802285969134814816545266787433459513959892130808790363708571229806480669787592513777433680119100946684325115397786569595481373728442207644316114717733257089413595744064214220880528875937600295146375518081690331844418641585065076191325987074157359189186813867452392183092420595598030408708389389705569147310708749608036127302688459418639330595489669743479860384324081436990605894959424438901069462027067634209250327375299230591130916479999518880502572234468162376952381957584193372973541897910561633514481766056646572342942645482914532254937024717808941881735079274238134791447896636252103727287493716365670078913176331821900017241689551879414401221417260247533618213913468920700915209272446805264710822594879601802607109014846921135159765059234248156889876227388618352988791480220661977705979617430512939813657306304145310677620449783178458119618505402682992464070388795419112239509945745464805034731103881158375687204075920509084259668507158589660451311346986825926325842592597210949515814872342519001595117539104720833538618832194015373633582344374363637640250651540374066901216643751441512184419177860580582795097648362707953237187878847170764171955918649742489359127153917419722226359566818423315329038407854044607114750351391459791953672119213431792263151339248652274718231333514329971030427874616142293799540521488056633319437150616425683577706099568713076103736771123940982153068436764741853194988881589926131298363550213962809536652507780318488559300262040964004590957316497552697259478608223667220262729848773428898454491730894192157789433609661949480715817186311290133124839230020117108114284669270020182009267679919861240877957132732173607047279202074807685447548401 577401689349790732644124037091957121403955152383380428287285202253768502619404345773404290876662763406059623509816255423308649388866511617373754011608367278334830093167889251477825012456304633245157207663817086862732673071702418960224191699036761703766411513637293111688778710726412107727342797518717256412098354092548376869961036934763835548892520168197327349154593706022307602541350650242354064758450083321074879558246780519032433249554359325352188443170138998857970523011824956090321832410952222423000757427133838918260771908218521707052057674441067043339539802030309451863141275543758734727047681322763649022141714134615758619827833628032578423068500251461086664109729221721028427694870460826797347398660148443277560917450263302973096787443683119140682084601141215613847331802757166100558040186472448864285843112716317071241258782378768996057897187994821612970340948328211353412128290792273647919586620772896048828237941136115898059765820103866312345506677934285470892172503428631997871080863951798539599509123422555951838736557975022968515584077623883920957851531229456462957711307347848679836017151455850653517148518365278891474202289283154159254510782915832729801939989275520695890703573998269971698386263496549740210561531949925313687294552218177575009715509286691939295479741035983119520746682472693580979447502612705732515832309538689046451238395594720598766342251053295145954315395696184500080138839149872443708827027885013347177668656046132488022261615817857853904145852854922327996813077317648742168497734157922880281768513603035655809628778810016595099478972186623782066677851408966665290831802926919593424854782886894245534726465000603315682275400819327802760507019782467966065096749006848725398136666867623889401461967870730278761601074719054311929068708913547147552031315510805301104199181440986532145941242292736672734728716020412714417640399519578049419736467794794126424890803499577901553438371683528158782253761444247643910885109117778352339756216296644185675451832541820897589190793213274129193709044171228967763632575282771015422338695508038131837697692416027586177874588167458729533230154338703475814639577688107714483910127802045884980583360604443062167104965828113315809728160979866055632607854666039944887457842201798487491774074154946721632228511990129326223045354791606142199931603798303715485151457052890171261055632168633833578896609304242001806961565473515484315861158887122092319848465803759019186978966283203886455977261654445317579212070103406337718699422208274534661903081072714332849459989401725237334821975685858458305093112500247971096470798946388669919704350784469675935821371473932824686098241051120945350514326698903987960886293206264287602921432912738560147304552475306320951326575211539401463036649964732288548586297714953475821606932968833892569114099185938401838150486791737007079629904142199764084928452310384218381909407923105550653664403428087477998947226456558095297347770401649092955570642176520078861789415857212532720929356927900403 934255558529569578293647124571978608175047222315764897531734214650105396329731609645547145371088860029591079457407090167521162225761193361233558749558603114546364004083396253237885125912642984767813912599522528128332453880765113109228964668795628422184564767614934124447823738897783858257038829232621244560217718379009765740307261024282485586608885749762201998551548985480632558313770320737068835348751812823088119557504901986554779449397849676497891083356874810543635736875382989711482076555838200961411326925189788785006735826343140389499746524244234725349644899447646909327925560899606408686459180238739811479799619677118051558026471381920420415288994407652330049342366367644384931468882629782196702610288934955738474951858003942850389928184440448594956730317312372240961045260027360226950109256215565664120021086894929402091630166932053571675977842146814772632052882143112904615892016749455840326013933046578322160361226913387920679463233799329306299215959438296508110052644754452698878129087364094109729193804931274006949162532973060708204108308648387478899227697970979278526000896625165064863360766309996227556360008045995242856444129345315230032035338436483443547389158420028739954305992015703162866851620273858088513828990615250937476856218510708657004422658891934817352372511043905808842305790935684383265416637427522277782619742998203006343369204385084307337572057533964933546829173129864619181085523474987841495396623366387075619876300362247205755518705231453597968360073735451203934413372464024260250188066002341521866833589794361642883786137999203408966931364369716202662275881817675054680537372074230302174462819014196933994145104331198805352018880679712126841944010388362925489535650076310752465770876117951264700692559001646758761119955221626546397231085865929105136224688484347199014760814955468298202587814635679318217643248275349739135449341401313128693974602586242023061142907226865395269804041762441335114075661461489333462764523518999769600003749914858099144372533457030170035996057924096724073310846778337982610553710442536074656586852397914359226316045404819066398536565873438346963743094152360782118784888365728164267088585921664390383266353068513450962524078067623261555192966014597159513766230353244020807966926461466994650363734606258068619054438315971918820256304307421014542450605393421254589872290591509003455071005802216177953260246944492653347335632374732128067302671071541270180429048598856667549686919520391765303148025826401236228954559462533491636119144434634101480326396401752740703504596516475588726281767639530577518524904763399310345123073664620003434034321814897550551963665273473346174154874370558095966940010276610087529599369310001058726862415065806996912046405670295202541252706509902951676999459501384796328904786274253737862570937559791209066666796445417010061817707054466855853058802596691494979120610099817828043858888638922736964954536552926708019064334570842764567367952410916772875431883054477211593963022904491734795737042375448804 1511657247879360310937771161663935729579002374699145325819019416903873898949135955418951436247751623435650702967223345590829811614627704978607312761166970392881194097251285504715710138368947618012971120263339614991065126952467532069453156367832390125950976281252227236136602449624195965984381626751338500972316072471558142610268297959046321135501405917959529347706142691502940160855120970979422900107201896144162999115751682505587212698952209001850079526527013809401606259887207945801803908966790423384412084352323627703267507734561662096551804198685301768689184701477956361191066836443365143413506861561503460501941333811733810177854305009952998838357494659113416713452095589365413359163753090608994050008949083399016035869308267245823486715628123567735638814918453587854808377062784526327508149442688014528405864199611246473332888949310822567733875030141636385602393830471324258028020307541729488245600553819474370988599168049503818739229053903195618644722637372581979002225148183084696749209951315892649328702928353829958787899090948083676719692386272271399857079229200435741483712203973013744699377917765846881073508526411274134330646418628469389286546121352316173349329147695549435845009566013973134565237883770407828724390522565176251164150770728886232014138168178626756647852252079888928363052473408377964244864140040228010298452052536892052794607599979804906103914308587260079501144568826049119261224362624860285204223651251400422797544956408379693777780321049311451872505926590373531931226449781673002418685800160264402148602103397397298693414916809220004066410336556339984728953733226641719971369175001149895599317601901091179528871569331802121034294281499039929602451030170830891554632399083159477863907542985575154102154526872377037522721029940680858326299794779476252688256003995152500118959996396454830348529056928415990952371964295762453553089740920891178113711070381036149486033710726443296823242413445969493896329422905736977373649632636778121939759966211502284819824365998851067625186851137370853267019890949566950374186285725307090078925547905952491064013737820846652576411154040897076496973248491064257933424466053835878750998713723710275363849713672956513129629043895736577364921126994463215146374085019283965695424768663265482142137808761204790251282950306101245043301659099027156742382209191724970075023747644399174716126637970850011532156856248734655154297197848247612383163829958663362500277514402615686736665885803595651759125287480846553808166629565939829354818566642908636142229477474467073552964585918200826061103743325389035823618017263647281441593872611008673353738672599367226487785036747406170860253115421679041317454336975514075490485662516265346329783847978545557059350958145601523492579281721442353140036109466117084877491083989207213684177870528625101635780895631355411899968193846203862932688706738891259064049062410202046425768296562028287618618939981014186018011561027400859864715722812565865831002525230997290455752438761704267516666399303349207 2445912806408929889231418286235914337754049597014910223350753631553979295278867565064498581618840483465241782424630435758350973840388898339840871510725573507427558101334681757953595264281590602780785032862862143119397580833232645178682121036628018548135541048867161360584426188521979824241420455983959745532533790850567908350575558983328806722110291667721731346257691676983572719168891291716491735455953708967251118673256584492141992148350058678347970609883888619945241996762590935513285985522628624345823411277513416488274243560904802486051550722929536494038829600925603270518992397342971552099966041800243271981740953488851861735880776391873419253646489066765746762794461957009798290632635720391190752619238018354754510821166271188673876643812564016330595545235765960095769422322811886554458258698903580192525885286506175875424519116242876139409852872288451158234446712614437162643912324291185328571614486866052693148960394962891739418692287702524924943938596810878487112277792937537395627339038679986759057896733285103965737061623921144384923800694920658878756306927171415020009713100598178809562738684075843108629868534457269377187090547973784619318581459788799616896718306115578175799315558029676297432089504044265917238219513180427188641006989239594889018560827070561574000224763123794737205358264344062347510280777467750288081071795535095059137976804364889213441486366121225013047973741955913738442309886099848126699620274617787498417421256770626899533299026280765049840866000325824735865639822245697262668873866162605924015435693191758941577201054808423413033341700926056187391229615044316774651906547075380197773780420915288113523016673663000926386313162178752056444395040559193817044168049159470230329678419103526418802847085874023796283840985162307404723530880645405357824480692479499699133720811351923128551116871564095309170015212571112192688539082322204306807685672967278172547176617953308692093046455208410829010405084367226310836414156155777891539763716126360383964196899455881237661182909061467577340330737727904932984739996167843164735512400303866850290329783225665718974947719914335423460716342643425040052209354419564043018087299645374665747116066741469964092153121963359838920114093009060374660140315372527986503391695124732476792501543367462858870337388622073163863557963406448171284832814585146224664896038235908178171197643773066189485417103193227308501632830222979740450466501030204632680706563001472354286352805323987417062273313307247790037121189028473320990937711077542737622555873876219814256469182434676414787385510964919613342142922027046591786716946275628676787772994414264777039748702020879517034407989792237137284394347252124163020085031826266405056646263044352553971397363815896726033831988231345304817035568967501881206395870263460951546748808088416310702447692076772421961785900900670718785747509335582754043169672510019874469627185200951024583573476533940894037075895598243624432083675223482638706434408285474502049715461666196002312403441678798011 3957570054288290200169189447899850067333051971714055549169773048457853194228003520483450017866592106900892485391853781349180785455016603318448184271892543900308752198585967262669305402650538220793756153126201758110462707785700177248135277404460408674086517330119388596721028638146175790225802082735298246504849863322126050960843856942375127857611697585681260693963834368486512880024012262695914635563155605111414117789008266997729204847302267680198050136410902429346848256649798881315089894489419047730235495629837044191541751295466464582603354921614838262728014302403559631710059233786336695513472903361746732483682287300585671913735081401826418092003983725879163476246557546375211649796388811000184802628187101753770546690474538434497363359440687584066234360154219547950577799385596412881966408141591594720931749486117422348757408065553698707143727902430087543836840543085761420671932631832914816817215040685527064137559563012395558157921341605720543588661234183460466114502941120622092376548989995879408386599661638933924524960714869228061643493081192930278613386156371850761493425304571192554262116601841689989703377060868543511517736966602254008605127581141115790246047453811127611644325124043649431997327387814673745962610035745603439805157759968481121032698995249188330648077015203683665568410737752440311755144917507978298379523848071987111932584404344694119545400674708485092549118310781962857703534248724708411903843925869187921214966213179006593311079347330076501713371926916198267796866272027370265087559666322870326164037796589156240270615971617643417099752037482396172120183348270958494623275722076530093373098022816379293051888242994803047420607443677791986046846070730024708598800448242629708193585962089101572905001612746400833806562015102988263049830675424881610512736696474652199252680807748377958899645928492511300122387176866874646241628823243095484921396743348314322033210328679751988916288868654380322906734507272963288210063788792556013479523682337862668784021265454732305286369760198838430607350628677471883358926281893150254814437948209819341354343521046512371551358873955232499957689591134489297985633820473399921769086013369084941110965780414426477221782165859096416285035220003523589806514400391811952198816463787997958934639352128667649121620338928174408906859622505475328027215023776871194739919785880307352887324281743916201017573959441961963655930028071227352833630330988867995180984077404088041023018691127583068821398600788094343845287818594413150345756277720451373764785351350686887809433768352877240848489254290308649165760939290693873228310818886637350141511667013632003527533738768285687894661105213916178601848684227638238510570694342531751386430111022898111030748321961498249526411269952787657957071678433618966083886954252668165230926678617041412338228587708127833861754094746874581718436216074474013107218734920221920895395481762979312202192416514955080055087456625644484296799398036048504537436933516471792505467900427900269829069840982147218 6403482860697220089400607734135764405087101568728965772520526680011832489506871085547948599485432590366134267816484217107531759295405501658289055782618117407736310299920649020622900666932128823574541185989063901229860288618932822426817398441088427222222058378986549957305454826668155614467222538719257992037383654172693959311419415925703934579721989253402992040221526045470085599192903554412406371019109314078665236462264851489871196995652326358546020746294791049292090253412389816828375880012047672076058906907350460679815994856371267068654905644544374756766843903329162902229051631129308247613438945161990004465423240789437533649615857793699837345650472792644910239041019503385009940429024531391375555247425120108525057511640809623171240003253251600396829905389985508046347221708408299436424666840495174913457634772623598224181927181796574846553580774718538702071287255700198583315844956124100145388829527551579757286519957975287297576613629308245468532599830994338953226780734058159488003888028675866167444496394924037890262022338790372446567293776113589157369693083543265781503138405169371363824855285917533098333245595325812888704827514576038627923709040929915407142765759926705787443640682073325729429416891858939663200829548926030628446164749208076010051259822319749904648301778327478402773769002096502659265425694975728586460595643607082171070561208709583332986887040829710105597092052737876596145844134824556538603464200486975419632387469949633492844378373610841551554237927242023003662506094273067527756433532485476250179473489780915181847817026426066830133093738408452359511412963315275269275182269151910291146878443731667406574904916657803973806920605856544042491241111289218525642968497402099938523264381192627991707848698620424630090403000265295667773361556070286968337217388954151898386401619100301087450762800056606609292402389437986838930167905565299791729082416315592494580386946633060681009335323862791151917139591640189599046477944948333905019287398464223052748218164910613542947552669260306007947681366405376816343666278060993419549950348513686191644673304272178090526306593869567923418405933777914338037843174892963964787173313014459606858081847155896441313935287822456255205149313012583964466654715764339938702208158912730435727140895496130507991957727550247572770417585911923499312047838362017419404815824116215531058521925516982390502991062635189272157562858294207093284096832019072627861690640405560395309371496451570485883671914095342133882409007622886471336693988797994111387341225226906702065902950787553655635874765255228262507903861317740465015027765162266026929284661427896780567282440789165204929069095006153315886243031479762401530655726168798156443076374067250665002145685777394975560243258184132962774107247401120847290282824516129116777675486705457723040676279784900255823539995647545300504183725410056767150388407430241795365022666963930336785765893048895974092163352223888108728883073259531143243871341801946294555183362094096272141473282660945229 10361052914985510289569797182035614472420153540443021321690299728469685683734874606031398617352024697267026753208337998456712544750422104976737240054510661308045062498506616283292206069582667044368297339115265659340322996404632999674952675845548835896308575709105938554026483464814331404693024621454556238542233517494820010272263272868079062437333686839084252734185360413956598479216915817108321006582264919190079354251273118487600401842954594038744070882705693478638938510062188698143465774501466719806294402537187504871357746151837731651258260566159213019494858205732722533939110864915644943126911848523736736949105528090023205563350939195526255437654456518524073715287577049760221590225413342391560357875612221862295604202115348057668603362693939184463064265544205055996925021094004712318391074982086769634389384258741020572939335247350273553697308677148626245908127798785960003987777587957014962206044568237106821424079520987682855734534970913966012121261065177799419341283675178781580380437018671745575831096056562971814786983053659600508210786857306519435983079239915116542996563709740563918086971887759223088036622656194356400222564481178292636528836622071031197388813213737833399087965806116975161426744279673613409163439584671634068251322509176557131083958817568938235296378793531162068342179739848942971020570612483706884840119491679069283003145613054277452532287715538195198146210363519839453849378383549264950507308126356163340847353683128640086155457720940918053267609854158221271459372366300437792843993198808346576343511286370071422118432998043710247232845775890848531631596311586233763898457991228440384519976466548046699626793159652607021227528049534336028538087182019243234241768945644729646716850343281729564612850311366825463896965015368283930823192231495168578849954085428804097639082426848679046350408728549117909414789566304861485171796728808395276650479159663906816613597275312812669925624192517171474823874098913152887256541733740889918498811080802085721532239430365345848233922429459144438555031995082848699702592559954143674364388296723505532999016825318690462077665467824800423376095524912403636023476995366363886556259326383544547969047627570322918535717453681552671490184533016107554273169116156151890901024622700728394661780247624798157113578066478421981677277208417398827339262862138888614144735609996522883945846207260898591520565022077151235813492886365434446117727163007940623042674717809648436332390187579153554705070514883436477727696826217299621682450266518445485152126576577593589875336719140430896484364019545536911673664800608434338243338584048903377070796328441528784094816179557450892823730200220069494488091715707400640041226420511329907829506485090148776032894007738893225086654528136920620731178925834739813374169778768797282008602165322499135378904867493028089685294090394419882222619941484530780257607142350463716260418148726909648987958309563851054147250808849532593025682471295579647781308275318418087060651262521996541970543123643092447 16764535775682730378970404916171378877507255109171987094210826408481518173241745691579347216837457287633161021024822215564244304045827606635026295837128778715781372798427265303915106736514795867942838525104329560570183285023565822101770074286637263118530634088092488511331938291482487019160247160173814230579617171667513969583682688793782997017055676092487244774406886459426684078409819371520727377601374233268744590713537969977471598838606920397290091629000484527931028763474578514971841654513514391882353309444537965551173741008208998719913166210703587776261702109061885436168162496044953190740350793685726741414528768879460739212966796989226092783304929311168983954328596553145231530654437873782935913123037341970820661713756157680839843365947190784859894170934190564043272242802413011754815741822581944547847019031364618797121262429146848400250889451867164947979415054486158587303622544081115107594874095788686578710599478962970153311148600222211480653860896172138372568064409236941068384325047347611743275592451487009705049005392449972954778080633420108593352772323458382324499702114909935281911827173676756186369868251520169288927391995754331264452545663000946604531578973664539186531606488190300890856161171532553072364269133597664696697487258384633141135218639888688139944680571858640471115948741945445630285996307459435471300715135286151454073706821763860785519174756367905303743302416257716049995222518373821489110772326843138760479741153078273578999836094551759604821847781400244275121878460573505320600426731293822826522984776150986603966250024469777077365939514299300891143009274901509033173640260380350675666854910279714106201698076310410995034448655390880071029328293308461759884737443046829585240114724474357556320699009987250093987368015633579598596553787565455547187171474382955996025484045948980133801171528605724518707191955742848324101964634373695068379561575979499311193984221945873350934959516379962626741013690553342486303019678689223823518098479266308774280457595275959391181475098719450446502713361488225516046258838015137093914338645237191724643690129590868552603972061694368346794501458690317974061320170259327851343432639398004154827129474726219359849652741504008926695333846028691518739823831920491829603232781613458830388921143120928665105535794028669554447694794329322326651310700500906033549551434112738415004368132777880982023556084712340507971055744659641539401823995027013250904365358215208831641761684030724040588742428978778611610105833840186093019144255316439596539467801804500291941239669927984552120238784800765174181568661926174803258366349211169404000080989869425564662098620346616097752799295226222810374334747187163041571882146680128064272582859157399441035039693516288200646897786321053583505286173235860660664452603284926398786277652027956858419581147277928345508834086041965182726803666894587547407995549780705511625440815690839985773724202612747028239414161073420701754565544555110791025179617120364381615834624616092814112016406304037676 27125588690668240668540202098206993349927408649615008415901126136951203856976620297610745834189481984900187774233160214020956848796249711611763535891639440023826435296933881587207312806097462912311135864219595219910506281428198821776722750132186099014839209797198427065358421756296818423853271781628370469121850689162333979855945961661862059454389362931571497508592246873383282557626735188629048384183639152458823944964811088465072000681561514436034162511706178006569967273536767213115307429014981111688647711981725470422531487160046730371171426776862800795756560314794607970107273360960598133867262642209463478363634296969483944776317736184752348220959385829693057669616173602905453120879851216174496270998649563833116265915871505738508446728641129969322958436478395620040197263896417724073206816804668714182236403290105639370060597676497121953948198129015791193887542853272118591291400132038130069800918664025793400134678999950653009045683571136177492775121961349937791909348084415722648764762066019357319106688508049981519835988446109573462988867490726628029335851563373498867496265824650499199998799061435979274406490907714525689149956476932623900981382285071977801920392187402372585619572294307276052282905451206166481527708718269298764948809767561190272219177457457626375241059365389802539458128481794388601306566919943142356140834626965220737076852434818138238051462471906100501889512779777555503844600901923086439618080453199302101327094836206913665155293815492677658089457635558465546581250826873943113444419930102169402866496062521058026084683022513487324598785290190149422774605586487742797072098251608791060186831376827760805828491235963018016261976704925216099567415475327704994126506388691559231956965067756087120933549321354075557884333031001863529419746019060624126037125559811760093664566472797659180151580257154842428121981522047709809273761363182090345030040735643406127807581497258686020860583708897134101564887789466495373559561412430113742016909560068394495812697025641305239415397528178594885057745356571074215748851397969280768278726941960697257642706954909559014681637529519168770170596983602721610084797165625691737899691965781548702796177102296542278385370195185561598185518379044799073012992948076643720504257404314187225050701390745726822219113860507091536124972002746721153990573562639794647694287044109261298950214340038779573544121106789491743784548631025075985519551158034953873947040076024857267974151871609877595293812943862215089337802660057485714701594521834885081691594378382093881816576389068415448604602804346302085855233462534609141501704933260072781070877318310954348756914799904066990576529495446292304862426462894563681613108567191457972102089344247548217067933701255181425733552314457974204236465099070600474038622382053723680794879817350455993798486014770956435194128176436385064949423608379118327665602692131169227885858964417749634761682512176598082386664969922953294780248015850690438806487892438782468676485887138089356082559529947130123 43890124466350971047510607014378372227434663758786995510111952545432722030218365989190093051026939272533348795257982429585201152842077318246789831728768218739607808095361146891122419542612258780253974389323924780480689566451764643878492824418823362133369843885290915576690360047779305443013518941802184699701467860829847949439628650455645056471445039024058742282999133332809966636036554560149775761785013385727568535678349058442543599520168434833324254140706662534500996037011345728087149083528495503571001021426263435973705228168255729091084592987566388572018262423856493406275435857005551324607613435895190219778163065848944683989284533173978441004264315140862041623944770156050684651534289089957432184121686905803936927629627663419348290094588320754182852607412586184083469506698830735828022558627250658730083422321470258167181860105643970354199087580882956141866957907758277178595022676119245177395792759814479978845278478913623162356832171358388973428982857522076164477412493652663717149087113366969062382280959536991224884993838559546417766948124146736622688623886831881191995967939560434481910626235112735460776359159234694978077348472686955165433927948072924406451971161066911772151178782497576943139066622738719553891977851866963461646297025945823413354396097346314515185739937248443010574077223739834231592563227402577827441549762251372191150559256581999023570637228274005805632815196035271553839823420296907928728852780042440861806835989285187244155129910044437262911305416958709821703129287447448434044846661395992229389480838672044630050933046983264401964724804489450313917614861389251830245738511989141735853686287107474912030189312273429011296425360316096170596743768636166754011243831738388817197079792230444677254248331341325651871701046635443128016299806626079673224297034194716089690050518746639313952751785760566946829173477790558133375725997555785413409602311622905439001565719204559371795543225277096728305901480019837859862581091119337565535008039334703270093154620917264630596872626898045331560458718059299731795110235984417862193065587197888982286397084500427567285609591213537116965098442293039584146117335885019589243124605179552857623306577022761638235022936689570524880852225073490591752816779997135550107490185927646055439622533866655487324649654535761090572666797076043480641884263140700681243838478221999713954582472816660555567677191501832251755604375684717524921375153061967124851405434240066099615913555640601635882555372840993700947908493897671807720738777151324678231062180186594173757816058996400000724841589147067260036802124460783944760071282471242185070958308180379913419013420250683088329328790672515115236761210081726723184990713871586036374672203404947658102973394771469626380450100779027787741751272306461134703074985338650079581157469378412852218067162048884780702962262478350247676227275273705875073598241911874739511299780108589620535406714789345110626079130996373996534813560405801229831667509559146850292320511754182170194575936251167799 71015713157019211716050809112585365577362072408402003926013078682383925887194986286800838885216421257433536569491142643606158001638327029858553367620407658763434243392295028478329732348709721692565110253543520000391195847879963465655215574551009461148209053682489342642048781804076123866866790723430555168823318549992181929295574612117507115925834401955630239791591380206193249193663289748778824145968652538186392480643160146907615600201729949269358416652412840541070963310548112941202456512543476615259648733407988906396236715328302459462256019764429189367774822738651101376382709217966149458474876078104653698141797362818428628765602269358730789225223700970555099293560943758956137772414140306131928455120336469637053193545499169157856736823229450723505811043890981804123666770595248459901229375431919372912319825611575897537242457782141092308147285709898747335754500761030395769886422808157375247196711423840273378979957478864276171402515742494566466204104818872013956386760578068386365913849179386326381488969467586972744720982284669119880755815614873364652024475450205380059492233764210933681909425296548714735182850066949220667227304949619579066415310233144902208372363348469284357770751076804852995421972073944886035419686570136262226595106793507013685573573554803940890426799302638245550032205705534222832899130147345720183582384389216592928227411691400137261622099700180106307522327975812827057684424322219994368346933233241742963133930825492100909310423725537114921000763052517175368284380114321391547489266591498161632255976901193102656135616069496751726563510094679599736692220447876994627317836763597932796040517663935235717858680548236447027558402065241312270164159243963871748137750220429948049154044859986531798187797652695401209756034077637306657436045825686703799261422594006476183354616991544298494104332042915409374951154999838267942649487360737875758439643047266311566809147216463245392656126934174230829870789269486333233422142503549451307551917599403097765905851646558569870012270155076640216618204074630373947543961633953698630471792529158586239929104039409986581967247120732705887135695425895761194230914501510711327142816570961101560419483679319303916620393131875132123066370604118289664765809728073779270611747590241833280490323924612382309543763515042852626697638799822764634632457825780495328938125522331261012904796812855440129111798298291323995540153006709793510440926311096920998798445510264923367590065427250479231176368316703208790285711153955157522422333298986209759922656558568688055574392448064815449329444393493369345892035586995393086261776215731314966141835626491334262175928220154750078905858286118807420099187672976290404798099281063044008476761547652495875170907096026651052114002415237001991978216371377061608741697367392373760376037286728868846016553176819841215897090438914735312625650883652824202739200934043043967397158744526339255297089226965943193012744100919327291315061576256491668638155401997929318968806398892271526277135466198297922 114905837623370182763561416126963737804796736167188999436125031227816647917413352275990931936243360529966885364749125073191359154480404348105343199349175877503042051487656175369452151891321980472819084642867444780871885414331728109533708398969832823281578897567780258218739141851855429309880309665232739868524786410822029878735203262573152172397279440979688982074590513539003215829699844308928599907753665923913961016321509205350159199721898384102682670793119503075571959347559458669289605596071972118830649754834252342369941943496558188553340612751995577939793085162507594782658145074971700783082489513999843917919960428667373312754886802532709230229488016111417140917505713915006822423948429396089360639242023375440990121175126832577205026917817771477688663651303567988207136277294079195729251934059170031642403247933046155704424317887785062662346373290781703477621458668788672948481445484276620424592504183654753357825235957777899333759347913852955439633087676394090120864173071721050083062936292753295443871250427123963969605976123228666298522763739020101274713099337037261251488201703771368163820051531661450195959209226183915645304653422306534231849238181217826614824334509536196129921929859302429938561038696683605589311664422003225688241403819452837098927969652150255405612539239886688560606282929274057064491693374748298011023934151467965119377970947982136285192736928454112113155143171848098611524247742516902297075786013284183824940766814777288153465553635581552183912068469475885189987509401768839981534113252894153861645457739865147286186549116480016128528234899169050050609835309266246457563575275587074531894203951042710629888869860509876038854827425557408440760903012600038502148994052168336866351124652216976475442045984036726861627735124272749785452345632312783472485719628201192273044667510290937808057083828675976321780328477628826076025213358293661171849245358889217005810712935667804764451670159451327558176690749506171093284723594668788873086925638737801035999006267475834500609142781974685548178662792689673679339071869938116492664858116356475222215501123910414149252856711946243004100793868188800778377031837395730916385941176140654418042790256342065554855416068564702647947222829191780256518626508070914820719237776169479335929946458479037796868413169578613717270305596898808115274342088921196010181964000553260726859379285672100684679475489793156247295757382394511035362301464158888123649850944504989467205978982891080867058923689544202491233619647852829330143072076137534438153718738755282229332208507061215450054285982640436605928837711456177031021847498202557151212793934671714175594941640405433167235187076791322535335948883058017127983089994934630044851433751057443533273880490798120678494452516016029779719967643683522743444772352731023839957194756107281698234620338868725996600052701393085560301878158926530077812799175954918706908458524634928875832495941755288303638823231915701287849875136662292898469822911557076169261126910646453696471711402449465721 185921550780389394479612225239549103382158808575591003362138109910200573804608338562791770821459781787400421934240267716797517156118731377963896566969583536266476294879951203847781884240031702165384194896410964781263081262211691575188923973520842284429787951250269600860787923655931553176747100388663295037348104960814211808030777874690659288323113842935319221866181893745196465023363134057707424053722318462100353496964669352257774799923628333372041087445532343616642922658107571610492062108615448734090298488242241248766178658824860648015596632516424767307567907901158696159040854292937850241557365592104497616061757791485801941520489071891440019454711717081972240211066657673962960196362569702221289094362359845078043314720626001735061763741047222201194474695194549792330803047889327655630481309491089404554723073544622053241666775669926154970493659000680450813375959429819068718367868292433995671789215607495026736805193436642175505161863656347521905837192495266104077250933649789436448976785472139621825360219894710936714326958407897786179278579353893465926737574787242641310980435467982301845729476828210164931142059293133136312531958371926113298264548414362728823196697858005480487692680936107282933983010770628491624731350992139487914836510612959850784501543206954196296039338542524934110638488634808279897390823522094018194606318540684558047605382639382273546814836628634218420677471147660925669208672064736896665422719246525926788074697640269389062775977361118667104912831521993060558271889516090231529023379844392315493901434641058249942322165185976767855091744993848649787302055757143241084881412039185007327934721614977946347747550408746323066413229490798720710925062256563910250286744272598284915505169512203508273629843636732128071383769201910056442888391457999487271747142222207668456399284501835236302161415871591385696731483477467094018674700719031536930288888406155528572619860152131050157107797093625558388047480018992504326706866098218240180638843238140898801904857914034404370621412937051325764796866867320047626883033503891815123136650645515061462144605163320400731220103832678948891236489294084561972607946338906442243528757747101755978462273935661369471475809200439834771013593433310069921284436236144694091330985366411312616420270383091420106412176684621466343967944396721572749906799914701691339120089522884521739764176098527540813791273788084480242835910389104304545803227775255809122448296454769912834796044410141560098235292006247411281519330801807986852565405375123744198076375297323970284906600955126030899383730376133805951820873298451570117283623713933872117354629561163048437770869860560183246141045362910129955435136556034307532781189275997674053328195298709939408444787586824771730608454931253031771698184015060584352186469720123397600333232042836150544251173515688567212497143140307820872927529042579354280552000109997962674305617269161268131129585168721231496651567332835028579164936712918784567107978313555005488229933309538725222748846868647763643 300827388403759577243173641366512841186955544742780002798263141138017221722021690838782702757703142317367307298989392789988876310599135726069239766318759413769518346367607379217234036131353682638203279539278409562134966676543419684722632372490675107711366848818049859079527065507786982486627410053896034905872891371636241686765981137263811460720393283915008203940772407284199680853062978366636023961475984386014314513286178557607933999645526717474723758238651846692214882005667030279781667704687420852920948243076493591136120602321418836568937245268420345247360993063666290941698999367909551024639855106104341533981718220153175254275375874424149249684199733193389381128572371588969782620310999098310649733604383220519033435895752834312266790658864993678883138346498117780537939325183406851359733243550259436197126321477668208946091093557711217632840032291462154290997418098607741666849313776710616096381719791149780094630429394420074838921211570200477345470280171660194198115106721510486532039721764892917269231470321834900683932934531126452477801343092913567201450674124279902562468637171753670009549528359871615127101268519317051957836611794232647530113786595580555438021032367541676617614610795409712872544049467312097214043015414142713603077914432412687883429512859104451701651877782411622671244771564082336961882516896842316205630252692152523166983353587364409832007573557088330533832614319509024280732919807253798962498505259810110613015464455046677216241530996700219288824899991468945748259398917859071510557493097286469355546892380923397228508714302456783983619979893017699837911891066409487542444987314772081859828925566020656977636420269256199105268056916356129151685965269163948752435738324766621781856294164420484749071889620768854933011504326182806228340737090312270744232861850408860729443952012126174110218499700267362018511811955095920094699914077325198102138133765044745578430573087798854921559467253076885946224170768498675419991589692887029053725768876878699837903864181510238871230555719026011312975529660009721306222105373829931615801508761871536684360106287230814880472960544625191895337283162273362750984978176302173159914698923242410396505064192003435026331225269004537418960816262501850177803062744215608912050223142580791952350216841570457903280589854200080061238249993620380865181142003622887349302053523437782466623555384199641498470749277877636490131667771498815581165529239414697246098147399274902302002023393032640965294215695791613772752950449660816182708477451261278636230094036079252514238809462187246349438016358774242557749711009907747148305471212136429268567423495834762613365811500965616413376232439701452490771085439092324660764279270932304098179629049767382941718668077622892409102907447269061551418151658744107095631242072854421440290426798943432242485793854557293209097195841700906433229407201505884358364799285952881381214075793796197006962081110476519800290390564750729867014811849581077465577801225112081657491060220185178919220558271097229364 486748939184148971722785866606061944569114353318371006160401251048217795526630029401574473579162924104767729233229660506786393466717867104033136333288342950035994641247558583065015920371385384803587474435689374343398047938755111259911556346011517392141154800068319459940314989163718535663374510442559329943220996332450453494796759011954470749043507126850327425806954301029396145876426112424343448015198302848114668010250847909865708799569155050846764845684184190308857804663774601890273729813302869587011246731318734839902299261146279484584533877784845112554928900964824987100739853660847401266197220698208839150043476011638977195795864946315589269138911450275361621339639029262932742816673568800531938827966743065597076750616378836047328554399912215880077613041692667572868742373072734506990214553041348840751849395022290262187757869227637372603333691292142605104373377528426810385217182069144611768170935398644806831435622831062250344083075226547999251307472666926298275366040371299922981016507237032539094591690216545837398259892939024238657079922446807033128188248911522543873449072639735971855279005188081780058243327812450188270368570166158760828378335009943284261217730225547157105307291731516995806527060237940588838774366406282201517914425045372538667931056066058647997691216324936556781883260198890616859273340418936334400236571232837081214588736226746683378822410185722548954510085467169949949941591871990695627921224506336037401090162095316066279017508357818886393737731513462006306531288433949303039580872941678784849448327021981647170830879488433551838711724886866349625213946823552728627326399353957089187763647180998603325383970678002522171681286407154849862611027525727859002722482597364906697361463676623993022701733257500983004395273528092862671229128548311758015980004072616529185843236513961410412379915571858747715243295432563014113374614796356735032427022171200274151050433239929905078667264346702444334271650787491179746698455791105269234364612115019598639808722095544643241851968656077337077772396527329768933105138877721746738938159407386598146504711450551215611693064377304140786573772456357924723592924515208615403443456670344166374967338127664804497807034469444372189974409695811920099087498980360303003381208508992104568770487224661878009692766538821546405206194390341953615087941918324578688422143046322304206387731482727182312262023065962116732967578160603120126968757014670506368546443854044815136798067803174201063529507702039025054272281251468803035273882826385022834306469333403222799145410417313277248821746734908048509570584308359317265589094926070301385922053056997811051136681361525799659517277802611582446206221995126632193545468546929978151507824348477322350163455664447664139711362378522093323116335673804691447817711792977819040623658841779582786736967370245860421594338982008727306156936244085238638916799395950844055519693062957465138091666279197751296941957897585758446179748562499862032685779538667087145720993529723904141969405139744993007 787576327587908548965959507972574785756069898061151008958664392186235017248651720240357176336866066422135036532219053296775269777317002830102376099607102363805512987615165962282249956502739067441790753974967783905533014615298530944634188718502192499852521648886369319019842054671505518150001920496455364849093887704086695181562740149218282209763900410765335629747726708313595826729489090790979471976674287234128982523537026467473642799214681768321488603922836037001072686669441632170055397517990290439932194974395228431038419863467698321153471123053265457802289894028491278042438853028756952290837075804313180684025194231792152450071240820739738518823111183468751002468211400851902525436984567898842588561571126286116110186512131670359595345058777209558960751388190785353406681698256141358349947796591608276948975716499958471133848962785348590236173723583604759395370795627034552052066495845855227864552655189794586926066052225482325183004286796748476596777752838586492473481147092810409513056229001925456363823160538380738082192827470150691134881265539720600329638923035802446435917709811489641864828533547953395185344596331767240228205181960391408358492121605523839699238762593088833722921902526926708679071109705252686052817381820424915120992339477785226551360568925163099699343094107348179453128031762972953821155857315778650605866823924989604381572089814111093210829983742810879488342699786678974230674511679244494590419729766146148014105626550362743495259039354519105682562631504930952054790687351808374550138366038965254204995219402905044399339593790890335822331704779884049463125837889962216169771386668729171047592572747019260303020390947258721276949343323510979014296992794891807755158220922131528479217757841044477771773622878269837937406777854275668899569865638624028760212865923025389915287188526087584522598415272126109733755107387658934208074528873681933134565155936245019729481006327728760000226731599779330280495821555989855166690045483992298288090380991898298477712586277054882113082524375103348390747926187339490239327244251551678354739668169258134830864817737782030492166024921929332681911055618631287474577902691510788563358155593586576771472402319668239524138259738448909608935225958313770276890561724575911915431431651572896521120704066232335912973356393021626466444444383962334480269083921947466037724196569760086673011286866926823810732772343839753223099245932101935708134286254085203614644591253319717438800091196206842028823723397830638827025231701129619217982360277646301470536563369482475313384219879500523598259763093682291067320295318267064413894566138206730654489476552832573664502492862491416072893510242313034936977307434218956854309747817862282249687453398244705291882123742070556548814269825791154874534487332548798543448953865832240480914085640723015029222761224803153630691534823709633739386343445591122997281598681903725436733768856753662145053747389674271097232348462336488313194560412080939498263580763779168803212053749909083061189963410842222371 1274325266772057520688745374578636730325184251379522015119065643234452812775281749641931649916028990526902765765448713803561663244034869934135512432895445313841507628862724545347265876874124452245378228410657158248931062554053642204545745064513709891993676448954688778960157043835224053813376430939014694792314884036537148676359499161172752958807407537615663055554681009342991972605915203215322919991872590082243650533787874377339351598783836819168253449607020227309930491333216234060329127331293160026943441705713963270940719124613977805738005000838110570357218794993316265143178706689604353557034296502522019834068670243431129645867105767055327787962022633744112623807850430114835268253658136699374527389537869351713186937128510506406923899458689425439038364429883452926275424071328875865340162349632957117700825111522248733321606832012985962839507414875747364499744173155461362437283677914999839632723590588439393757501675056544575527087362023296475848085225505512790748847187464110332494072736238957995458414850754926575480452720409174929791961187986527633457827171947324990309366782451225613720107538736035175243587924144217428498573752126550169186870456615467123960456492818635990828229194258443704485598169943193274891591748226707116638906764523157765219291624991221747697034310432284736235011291961863570680429197734714985006103395157826685596160826040857776589652393928533428442852785253848924180616103551235190218340954272482185415195788645678809774276547712337992076300363018392958361321975785757677589719238980644039054443546424886691570170473279323887661043429666750399088339784713514944797097786022686260235356219928017863628404361625261243448630629730665828876908020320619666757880703519496435176579221517668470794475356135770820941802051382368531570798994186935786776192869995641919101130425040048994934978330843984857448998402820221948321449143670038668166992178107445293880531439567658665078893995946481774614767472343481034913388501275097567522454993106917897117521308372599525354934493031180685468520322714669259172432383129273425093677827576644732977369529188333246103859089299233473468484828074989212198170827206719403966801612263930743146439740447333044021945294207893281798909635654125690375978060704936214918812640160565001089891191290894213922666122931843172871650638774304288095357025840272044726146339616082390879399018349654006122994795409801869956066824092705055835103043268755709983191035107364532575598158999381043092353231099869663881297512952598422253256243104031324304843032702885698112529630296813800847081509828590339576890879626626381679483661064277032040411529609830384715639174224017215732410788044924617383183529429345589047855216364792260401195277746722027642045579406518220688525632204313248197650823006353489991266665658810059521537744482502597815959728595049014052285873805718361045543279689676361636198398077854569492253461919711127283145413668872022394174306359922246759374308974580801530949360302446255948933047279632987203159368550587215378 2061901594359966069654704882551211516081254149440673024077730035420687830023933469882288826252895056949037802297667767100336933021351872764237888532502547677647020616477890507629515833376863519687168982385624942154464077169352173149179933783015902391846198097841058097979999098506729571963378351435470059641408771740623843857922239310391035168571307948380998685302407717656587799335404294006302391968546877316372633057324900844812994397998518587489742053529856264311003178002657866230384524849283450466875636680109191701979138988081676126891476123891376028159508689021807543185617559718361305847871372306835200518093864475223282095938346587795066306785133817212863626276061830966737793690642704598217115951108995637829297123640642176766519244517466634997999115818074238279682105769585017223690110146224565394649800828022207204455455794798334553075681138459352123895114968782495914489350173760855067497276245778233980683567727282026900710091648820044952444862978344099283222328334556920742007128965240883451822238011293307313562645547879325620926842453526248233787466094983127436745284492262715255584936072283988570428932520475984668726778934086941577545362578220990963659695255411724824551151096785370413164669279648445960944409130047132031759899104000942991770652193916384847396377404539632915688139323724836524501585055050493635611970219082816289977732915854968869800482377671344307931195485040527898411290615230479684808760684038628333429301415196041553269535587066857097758862994523323910416112663137566052139857605019609293259438765827791735969510067070214223483375134446634448551465622603477160966869172691415431282948792675037123931424752572519964725579973054176807891205013115511474513038924441627963655796979358712948566248979014040658879208829236644200470368859825559815536405735918667309016417613566136579457576746116110967182753510207880882529523672543720601301557334043690313610012445895387425079120727546261104895263293899470890080078546759089865810545374098816195595233894649654407468017017406284033859268248902008749411759627380825103448417495745902867808234346926115276596025114221162806150395883693620499672748729898230192530159767857517319917912142767001283546083553946342191407844861612439460652868622429512126834244071812137897611011895357126549835639479324864799338095083158266622575626109762219510763870536185842477552410305216580829933727567753641623179166070024806991543237329522840913597835626360684250014398250195587885121176954497700302708322744653728041471238603381677625775379596072368173425913850176314324445341272922272630644211174944893446093378227202483762694901006162662958380141667086508631805304298287237652320160836863564545902164964182654542650882731144966732933927703148588777237339902030104403072185310338902288534715619524642300002451830123225612845182489819852167682977408629427994784929623135267484633479996759758294928987230776464789428199161058546293491406654822258735072568869386661741029212941066225424752145101029542070264349331961429437749 3336226861132023590343450257129848246406438400820195039196795678655140642799215219524220476168924047475940568063116480903898596265386742698373400965397992991488528245340615052976781710250987971932547210796282100403395139723405815353725678847529612283839874546795746876940156142341953625776754782374484754433723655777160992534281738471563788127378715485996661740857088726999579771941319497221625311960419467398616283591112775222152345996782355406657995503136876491620933669335874100290713652180576610493819078385823154972919858112695653932629481124729486598516727484015123808328796266407965659404905668809357220352162534718654411741805452354850394094747156450956976250083912261081573061944300841297591643340646864989542484060769152683173443143976156060437037480247957691205957529840913893089030272495857522512350625939544455937777062626811320515915188553335099488394859141937957276926633851675854907129999836366673374441069402338571476237179010843341428292948203849612073971175522021031074501201701479841447280652862048233889043098268288500550718803641512775867245293266930452427054651274713940869305043611020023745672520444620202097225352686213491746732233034836458087620151748230360815379380291043814117650267449591639235836000878273839148398805868524100756989943818907606595093411714971917651923150615686700095182014252785208620618073614240642975573893741895826646390134771599877736374048270294376822591906718781714875027101638311110518844497203841720363043812134779195089835163357541716868777434638923323729729576844000253332313882312252678427539680540349538111144418564113384847639805407316992105763966958714101691518305012603054987559829114197781208174210602784842636768113033436131141270919627961124398832376200876381419360724335149811479821010880619012732041167854012495602312598605914309228117548038606185574392555076960095824631751913028102830850972816213759269468549512151135607490543885463046090158014723492742879510030766242951924993467048034187433333000367205734092712755203022253932822951510437464719327788571616678008584192010510098528542095323322547600785603876114448522699884203520396279618880711768609711870919557104949596496961380121448063064351883214334327568028848154235473206754497266565151028846683134448341753056711972702898700903086648020763758305602256707972209745721932570910670983135602491555490016875801924868431809323566234836056722363163443493135232894117512047378340372791596623581026661468048782589996409194968928213530185597569966589620257606326463724494846485708950080222628775253871538443480473128125292422782750862970221102054571519827772861888266760794735312535772493343095780841310525847537715086332162269703344366292910134950020180547446803052078008891688760575973282555106997925865534234417651269836133345255778525982285183452359523989574605728210661142218414901181735263282435146355830472902824943846269678394837612864421240692696175916711344574727418315885580961182180981831943178361242542560162301368671680701078148309175057467508700512016653127 5398128455491989659998155139681059762487692550260868063274525714075828472823148689406509302421819104424978370360784248004235529286738615462611289497900540669135548861818505560606297543627851491619716193181907042557859216892757988502905612630545514675686072644636804974920155240848683197740133133809954814075132427517784836392203977781954823295950023434377660426159496444656167571276723791227927703928966344714988916648437676066965340394780873994147737556666732755931936847338531966521098177029860060960694715065932346674898997100777330059520957248620862626676236173036931351514413826126326965252777041116192420870256399193877693837743798942645460401532290268169839876359974092048310855634943545895808759291755860627371781184409794859939962388493622695435036596066031929485639635610498910312720382642082087907000426767566663142232518421609655068990869691794451612289974110720453191415984025436709974627276082144907355124637129620598376947270659663386380737811182193711357193503856577951816508330666720724899102890873341541202605743816167826171645646095039024101032759361913579863799935766976656124889979683304012316101452965096186765952131620300433324277595613057449051279847003642085639930531387829184530814936729240085196780410008320971180158704972525043748760596012823991442489789119511550567611289939411536619683599307835702256230043833323459265551626657750795516190617149271222044305243755334904721003197334012194559835862322349738852273798619037761916313347721846052187594026352065040779193547302060889781869434449019862625573321078080470163509190607419752334627793698560019296191271029920469266730836131405517122801253805278092111491253866770301172899790575839019444659318046551642615783958552402752362488173180235094367926973314163852138700219709855656932511536713838055417849004341832976537133965652172322153850131823076206791814505423235983713380496488757479870770106846194825921100556331358433515237135451039003984405294060142422815073545594793277299143545741304550288307989097671908340290968527843748753187056820518686757995951637890923631990512819068450468593838223040563799295909317741559085769276595462230211543668287003179789027121147978965382982264025981335611114112402100577664614599358879004611681715305563960468587300783784840796311914982005147313593945081581572771547840805090837533246609245364711066253887411987767345984219628782815665990449930917085116314398964142319038921577702314437537178862287828733032604394659390556813334707140095270269297943002260054505195733449867386575855602224847622044964357330649442449737764055673135600865313229516413273866240115469244557430213541935156301475922508397034479343019384619399922023505203156474680852185144730101345702960740036655493509900985703695775163205436264522054342021443684158067060697904708094659526441404728953823506324708234753349418240691064574350615402525960211330903158391597371159350227923472640706139543735785964609376987616004439716904512047747904283589375242434897105453223249338717127731858032473446090876 8734355316624013250341605396810908008894130951081063102471321392730969115622363908930729778590743151900918938423900728908134125552125358160984690463298533660624077107159120613583079253878839463552263403978189142961254356616163803856631291478075126959525947191432551851860311383190636823516887916184439568508856083294945828926485716253518611423328738920374322167016585171655747343218043288449553015889385812113605200239550451289117686391563229400805733059803609247552870516674406066811811829210436671454513793451755501647818855213472983992150438373350349225192963657052055159843210092534292624657682709925549641222418933912532105579549251297495854496279446719126816126443886353129883917579244387193400402632402725616914265245178947543113405532469778755872074076313989620691597165451412803401750655137939610419351052707111119080009581048420975584906058245129551100684833252658410468342617877112564881757275918511580729565706531959169853184449670506727809030759386043323431164679378598982891009532368200566346383543735389775091648842084456326722364449736551799968278052628844032290854587041690596994195023294324036061773973409716388863177484306513925071009828647893907138899998751872446455309911678872998648465204178831724432616410886594810328557510841049144505750539831731598037583200834483468219534440555098236714865613560620910876848117447564102241125520399646622162580751920871099780679292025629281543595104052793909434862963960660849371118295822879482279357159856625247277429189709606757647970981940984213511599011293020115957887203390333148591048871147769290445772212262673404143831076437237461372494803090119618814319558817881147099051082980968082381074001178623862081427431079987773757054878180363876761320549381111475787287697649313663618521230590474669664552704567850551020161602947747285765251513690778507728242686900036302616446257336264086544231469304971239140238656358345961528591100216821479605395150174531746863915324826385374740067012642827464732476546108510284381020744300694162273113920038281213472514845392135364766580143648401022160532608142390998069379442099155012321995793521261955365388157307230839923414587844108129385524082528100413446046615909195669938682141250254813137821353856145569762710561988698408810340357495757543695012818068653168077352250683838280743757586527023408443917592380967202621743904287789692214416028952349050502047172294080528609449631858259831086299918075106034160759888949296781815194391068585525741548237325692840235887563259866380968920228296353095525935824853622875916502800811122570575030186838423998571086415284087933101639102003736005352165526077707649644571703349707560326880734470951562191726849569449384815802205325277548148755038748928344254085874268258802773089070970498939705611857577029413845586680189891547019050430979334682034167466926649654531153503973499720706445875428785155177172836786434984023771468616168816622850888310513382925262568577186620698736455226109146826149537543803568786154301397647892185199366732985462744003 14132483772116002910339760536491967771381823501341931165745847106806797588445512598337239081012562256325897308784684976912369654838863973623595979961199074329759625968977626174189376797506690955171979597160096185519113573508921792359536904108620641635212019836069356826780466624039320021257021049994394382583988510812730665318689694035473434719278762354751982593176081616311914914494767079677480719818352156828594116887988127356083026786344103394953470616470342003484807364012938033332910006240296732415208508517687848322717852314250314051671395621971211851869199830088986511357623918660619589910459751041742062092675333106409799417293050240141314897811736987296656002803860445178194773214187933089209161924158586244286046429588742403053367920963401451307110672380021550177236801061911713714471037780021698326351479474677782222242099470030630653896927936924002712974807363378863659758601902549274856384552000656488084690343661579768230131720330170114189768570568237034788358183235176934707517863034921291245486434608731316294254585900624152894010095831590824069310811990757612154654522808667253119085002977628048377875426374812575629129615926814358395287424260951356190179845755514532095240443066702183179280140908071809629396820894915781508716215813574188254511135844555589480072989953995018787145730494509773334549212868456613133078161280887561506677147057397417678771369070142321824984535780964186264598301386806103994698826283010588223392094441917244195670507578471299465023216061671798427164529243045103293468445742039978583460524468413618754558061755189042780400005961233423440022347467157930639225639221525135937120812623159239210542336847738383553973791754462881526086749126539416372838836732766629123808722561346570155214670963477515757221450300330326597064241281688606438010607289580262302385479342950829882092818723112509408260762759500070257611965793728719011008763204540787449691656548179913120632285625570750848320618886527797555140558237620742031620091849814834669328733398366070613404888566124962225701902212654051524576095286291945792523120961459448537973280322195576121291702839003514451157433902693070134958256131111309174551203676079378829028879935177005549796253652355390802435953215024574374392277294262369278927658279542384491324733050658315390946195765419853515305427332114245977164201626331913687997791699777459560400248581131866168037622224997613725764030822402150125221495777420471697938751237125514847798785727976082554882944465788110505185506262126435474115961746220482101791427078470497961467158141772013024767950894097134171951728513604346375505342119205249909595739619642805946047625858104594806223753855570962113750354772605859496654390470007649494457999488964999747595775253962498548252276406763461759953879020713571912647378094599641678576872384063635857673791634884407880571744664564295057061277954745366508075995178032355183121696539641457328990432046299347534639556193191060415640967273857051109738912786238465891607524646986609312931224765458908834879 22866839088740016160681365933302875780275954452422994268217168499537766704067876507267968859603305408226816247208585705820503780390989331784580670424497607990383703076136746787772456051385530418724243001138285328480367930125085596216168195586695768594737967027501908678640778007229956844773908966178833951092844594107676494245175410288992046142607501275126304760192666787967662257712810368127033735707737968942199317127538578645200713177907332795759203676273951251037677880687344100144721835450733403869722301969443349970536707527723298043821833995321561077062163487141041671200834011194912214568142460967291703315094267018941904996842301537637169394091183706423472129247746798308078690793432320282609564556561311861200311674767689946166773453433180207179184748694011170868833966513324517116221692917961308745702532181788901302251680518451606238802986182053553813659640616037274128101219779661839738141827919168068814256050193538938083316170000676841998799329954280358219522862613775917598527395403121857591869978344121091385903427985080479616374545568142624037588864619601644445509109850357850113280026271952084439649399784528964492307100233328283466297252908845263329079844507386978550550354745575181827745345086903534062013231781510591837273726654623332760261675676287187517656190788478487006680171049608010049414826429077524009926278728451663747802667457044039841352120991013421605663827806593467808193405439600013429561790243671437594510390264796726475027667435096546742452405771278556075135511184029316805067457035060094541347727858746767345606932902958333226172218223906827583853423904395392011720442311644754751440371441040386309593419828706465935047792933086743607514180206527190129893714913130505885129271942458045942502368612791179375742680890804996261616945849539157458172210237327548067636993033729337610335505623148812024707020095764156801843435098699958151247419562886748978282756765001392726027435800102497712235943712913172295207570880448206764096637958325119050349477699060232886518808604406175698216747604789416291156238934692967953055729103850446607352722421350588443287496360265469816545591209923910058372843975219438560075286204179792275075495844372675488478394902610203940257307071170144137102839282960778089268015775299928186337551119311483468298446449258134259063013859137654421081794007299116309741695987567151774816277533480916670084794519078142335213662680661981211521413852526505858698640186422296662993176796561608296431181791480950741073069521992816443036190042573577627727251932093373877969958952894583599798137732521132743038143797692279477144444122941255261761265697350455590619329207812155133104488326522524305477204342055244312456595795285197643213038237893344001681649522221301321341347377262401465565736597742985758234058284491188697627303363398317891841258561534062411725248638064015763507153383530521685248831964467339206893165155810273951841320356812730459902124770377681114377422499966197935888450330042034677761826044634501498130591498444371578882 36999322860856019071021126469794843551657777953764925433963015606344564292513389105605207940615867664552713555993270682732873435229853305408176650385696682320143329045114372961961832848892221373896222598298381513999481503634007388575705099695316410229949986863571265505421244631269276866030930016173228333676833104920407159563865104324465480861886263629878287353368748404279577172207577447804514455526090125770793434015526706001283739964251436190712674292744293254522485244700282133477631841691030136284930810487131198293254559841973612095493229617292772928931363317230028182558457929855531804478602212009033765407769600125351704414135351777778484291902920693720128132051607243486273464007620253371818726480719898105486358104356432349220141374396581658486295421074032721046070767575236230830692730697983007072054011656466683524493779988482236892699914118977556526634447979416137787859821682211114594526379919824556898946393855118706313447890330846956188567900522517393007881045848952852306045258438043148837356412952852407680158013885704632510384641399733448106899676610359256600163632659025103232365029249580132817524826159341540121436716160142641861584677169796619519259690262901510645790797812277365007025485994975343691410052676426373345989942468197521014772811520842776997729180742473505793825901544117783383964039297534137143004440009339225254479814514441457520123490061155743430648363587557654072791706826406117424260616526682025817902484706713970670698175013567846207475621832950354502300040427074420098535902777100073124808252327160386100164994658147376006572224185140251023875771371553322650946081533169890688561184064199625520135756676444849489021584687549625133600929333066606502732551645897135008937994503804616097717039576268695132964131191135322858681187131227763896182817526907810370022472376680167492428324346261321432967782855264227059455400892428677162256182767427536427974413313181305846659721425673248560556562599440969850348129118068948795716729808139953719678211097426303499923697170531137923918649817443467815732334220984913745578850065309895145326002743546164564579199199268984267703025112616980193331100106330747734626489880259171104104375779549681038274648554965594742693260286194718511495116577223147368195674054842312677662284169969798859244642214677987774368441191251900398245995633631029997739487687344611335216526114612782838122416744075756060977693503064131336742909629946977556637391423547811510791962524537690851314126257269061246258575784119251917152151788794059729518679010563871839437117094666596624566088626618266914989872311296625852649786242146505171357005316993261536666955065916749939328242182093486419227559114661103809110986265292847137671037726858343749277424776183799869593623784025863225519615618456557670881436379090830376204175747461953749515050196418470292296993302628310820568431338275888193324827142499694390014861695451731280831752403112077994541680963568741530018389773823249045627363116280500569369350691621110811061816263903280413761 59866161949596035231702492403097719331933732406187919702180184105882330996581265612873176800219173072779529803201856388553377215620842637192757320810194290310527032121251119749734288900277751792620465599436666842479849433759092984791873295282012178824687953891073174184062022638499233710804838982352062284769677699028083653809040514613457527004493764905004592113561415192247239429920387815931548191233828094712992751143065284646484453142158768986471877969018244505560163125387626233622353677141763540154653112456574548263791267369696910139315063612614334005993526804371069853759291941050444019046744672976325468722863867144293609410977653315415653685994104400143600261299354041794352154801052573654428291037281209966686669779124122295386914827829761865665480169768043891914904734088560747946914423615944315817756543838255584826745460506933843131502900301031110340294088595453411915961041461872954332668207838992625713202444048657644396764060331523798187367230476797751227403908462728769904572653841165006429226391296973499066061441870785112126759186967876072144488541229960901045672742509382953345645055521532217257174225943870504613743816393470925327881930078641882848339534770288489196341152557852546834770831081878877753423284457936965183263669122820853775034487197129964515385371530951992800506072593725793433378865726611661152930718737790889002282481971485497361475611052169165036312191394151121880985112266006130853822406770353463412412874971510697145725842448664392949928027604228910577435551611103736903603359812160167666155980185907153445771927561105709232744442409047078607729195275948714662666523844814645440001555505240011829729176505151315424069377620636368741115109539593796632626266559027640894067266446262662040219408189059874508706812081940319120298132980766921354355027764235358437659465410409505102763829969410133457674802951028383861298835991128635313503602330314285406257170078182698572687157225775746272792506312354142145555699998517155559813367766465072770027688796486536386442505774937313622135397422232884106888573155677881698634579169160341752678725164896753007866695559534454084248616322540890251703944081550186294701776084438963379179871623922356526753043457575798682950567357364862648597955860183925457463689830142240863999835289281282327543088663936122033431455050389554819327789640930146307481183674911763110032803648093699508207211263153898396191356183726112548264323482473483415336031609970108173785139321099299147745308048750011987331645306112068360188341831367637357245930942657245717407076047561180224364226359139399658028016108988905329794230365087760433118271014343717127286284273728905072432730508616010724704763456716348121567582060578044780884075964751687750959074298405101190934971161288264691085352216199543429115494663582019073831479110860271641356308757952532704022241940692326584075584721806409878573659106967033596908026851262005232673072759924808454443805733946422644395812273789446981515813446322535247131176736255612309192407762347651992643 96865484810452054302723618872892562883591510359952845136143199712226895289094654718478384740835040737332243359195127071286250650850695942600933971195890972630670361166365492711696121749169973166516688197735048356479330937393100373367578394977328589054637940754644439689483267269768510576835768998525290618446510803948490813372905618937923007866380028534882879466930163596526816602127965263736062646759918220483786185158591990647768193106410205177184552261762537760082648370087908367099985518832793676439583922943705746557045827211670522234808293229907106934924890121601098036317749870905975823525346884985359234130633467269645313825113005093194137977897025093863728393350961285280625618808672827026247017518001108072173027883480554644607056202226343524151775590842076612960975501663796978777607154313927322889810555494722268351239240495416080024202814420008666866928536574869549703820863144084068927194587758817182612148837903776350710211950662370754375935130999315144235284954311681622210617912279208155266582804249825906746219455756489744637143828367609520251388217840320157645836375168408056578010084771112350074699052103212044735180532553613567189466607248438502367599225033189999842131950370129911841796317076854221444833337134363338529253611591018374789807298717972741513114552273425498594331974137843576817342905024145798295935158747130114256762296485926954881599101113324908466960554981708775953776819092412248278083023297035489230315359678224667816424017462232239157403649437179265079735592038178157002139262589260240790964232513067539545936922219253085239316666594187329631604966647502037313612605377984536128562739569439637349864933181596164913090962308185993874716038872660403135358818204924775903005260950067278137936447765328569641670943273075641978979320111994685250537845291143168807681937787089672595192154315671454890642585806292610920754236883557312475759785097741821834231583391364004419346878651448994833349068911795111995903829116586104355530097574605026489705899893912839886366202945468451546054047239676351922620907376662795444213429234470236898004727908442917572445894758803438351951641435157870445035044187880934029328265964698134483284247403472037565027692012541393425643827643559581160093072437407072825659363884984553541662119459251081186787730878614109807799896241641455217573785274561176305220671362256374445249329762706482346329628007229654457169049686790243885007233112420460971973423033517919684577101845636989999059434306019073233590221090231320277340493620161697086764609953221117556844193142227776848930314985757666573017888420285531182444016607234265604475276331336978663953239339645655011760972690709497143932322571377451930678568325870891918555113691610031500236499074588901060528594945314127916604967834656101099996931042672849450035654858322225390871358954371002996319235243320637404644016060082298071898486249466727986922888546713736513504825163036886448985486697515164174414202047612696027143176562603035816500527427876723120254224026250932406404 156731646760048089534426111275990282215525242766140764838323383818109226285675920331351561541054213810111773162396983459839627866471538579793691292006085262941197393287616612461430410649447724959137153797171715198959180371152193358159451690259340767879325894645717613873545289908267744287640607980877352903216188502976574467181946133551380534870873793439887471580491578788774056032048353079667610837993746315196778936301657275294252646248568974163656430230780782265642811495475534600722339195974557216594237035400280294820837094581367432374123356842521440940918416925972167890077041811956419842572091557961684702853497334413938923236090658408609791663891129494007328654650315327074977773609725400680675308555282318038859697662604676939993971030056105389817255760610120504875880235752357726724521577929871638707567099332977853177984701002349923155705714721039777207222625170322961619781904605957023259862795597809808325351281952433995106976010993894552563302361476112895462688862774410392115190566120373161695809195546799405812280897627274856763903015335485592395876759070281058691509117677791009923655140292644567331873278047082549348924348947084492517348537327080385215938759803478489038473102927982458676567148158733099198256621592300303712517280713839228564841785915102706028499923804377491394838046731569370250721770750757459448865877484921003259044778457412452243074712165494073503272746375859897834761931358418379131905430067388952642728234649735364962149859910896632107331677041408175657171143649281893905742622401420408457120212698974692991708849780358794472061109003234408239334161923450751976279129222799181568564295074679649179594109686747480337160339928822362615831148412254199767985084763952416797072527396329940178155855954388444150377755355015961099277453092761606604892873055378527245341403197499177697955984285081588348317388757320994782053072874685947789263387428056107240488753469546702992034035877224741106141575224149254141459529115103259915343465341070099259733588690399376272808708720405765168189444661909236029509480532340677142848008403630578650683453073339670580312590318337892436200257757698760696738988269431120324030042049137097862464119027394394091780735470117192108594395000924443808691028297590998283123053715126794405661954748532363514330819542550231841231351292031010036901574915491322612701855037168137555282133410800181854536839270383552853360405870516356433271556594893944387309454643488027858362241166736289146804742354769085220921866396343388637528835451529334444010540895878363274251269189788957073294541344897066231045904529274436512238246972322026037593547345680695791239523613374560084193703199325507868637086028093800052246150386448936699439189656361719251195573372994002251463566106602392607690320050855644529112425706254868523867133969182497032227667712323535700341477184012963988719600781888707950472145356433761583830915397975741746177897922961694903429292431461586818810014321402143008658990008925571063631704164132335429446631788598584399047 253597131570500143837149730148882845099116753126093609974466583530336121574770575049829946281889254547444016521592110531125878517322234522394625263201976235571867754453982105173126532398617698125653841994906763555438511308545293731527030085236669356933963835400362053563028557178036254864476376979402643521662699306925065280554851752489303542737253821974770351047421742385300872634176318343403673484753664535680565121460249265942020839354979179340840982492543320025725459865563442967822324714807350893033820958343986041377882921793037954608931650072428547875843307047573265926394791682862395666097438442947043936984130801683584237061203663501803929641788154587871057048001276612355603392418398227706922326073283426111032725546085231584601027232282448913969031351452197117836855737416154705502128732243798961597377654827700121529223941497766003179908529141048444074151161745192511323602767750041092187057383356626990937500119856210345817187961656265306939237492475428039697973817086092014325808478399581316962391999796625312558500353383764601401046843703095112647264976910601216337345492846199066501665225063756917406572330150294594084104881500698059706815144575518887583537984836668488880605053298112370518363465235587320643089958726663642241770892304857603354649084633075447541614476077802989989170020869412947068064675774903257744801036232051117515807074943339407124673813278818981970233301357568673788538750450830627409988453364424441873043594327960032778573877373128871264735326478587440736906735687460050907881884990680649248084445212042232537645771999611879711377775597421737870939128570952789289891734600783717697127034644119286529459042868343645250251302237008356490547187284914602903343902968877192700077788346397218316092303719717013792048698628091603078256773204756291855430718346521696053023340984588850293148138600753043238959974563613605702807309758243260265023172525797929074720336860910707411380914528673735939490644135944366137363358231689364270873562915675125749439488584312216159174911665874216714243491901585587952130387909003472587061437638100815548688180981782588152758485077141330788151899192856631141774032457312054353358308013835232345748366430866431656808427482658585534238222644484024968784100734998071108782417600111347947324074207783444701118550421164341649031247533672465254475360190052498917922526399424512000531463173506664200866467277613207310529455557306600318278789707314405359282877677005947542939343012373279145864176660788158454512087486574708914869329071691031530775150849099480831095462332016733922224856330654732804063792949559967694682263579556291642068823677017674455192762953020215095954675890035005012569408599471251982924718712319828617994303347971750751432072447582903311992161051916520524295287885511745629109356748927717973902788827504722423099026666694538696660712427333601393363616841971006022370631605900489570753803944689478259682723085998581352414779128976750993224216369014839035802166571528606880132231592009058549700855814849516805451 410328778330548233371575841424873127314641995892234374812789967348445347860446495381181507822943468357555789683989093990965506383793773102188316555208061498513065147741598717634556943048065423084790995792078478754397691679697487089686481775496010124813289730046079667436573847086303999152116984960279996424878887809901639747736797886040684077608127615414657822627913321174074928666224671423071284322747410850877344057761906541236273485603548153504497412723324102291368271361038977568544663910781908109628057993744266336198720016374405386983055006914949988816761723973545433816471833494818815508669530000908728639837628136097523160297294321910413721305679284081878385702651591939430581166028123628387597634628565744149892423208689908524594998262338554303786287112062317622712735973168512432226650310173670600304944754160677974707208642500115926335614243862088221281373786915515472943384672355998115446920178954436799262851401808644340924163972650159859502539853951540935160662679860502406440999044519954478658201195343424718370781251011039458164949859038580705043141735980882275028854610523990076425320365356401484738445608197377143433029230447782552224163681902599272799476744640146977919078156226094829194930613394320419841346580318963945954288173018696831919490870548178153570114399882180481384008067600982317318786446525660717193666913716972120774851853400751859367748525444313055473506047733428571623300681809249006541893883431813394515771828977695397740723737284025503372067003519995616394077879336741944813624507392101057705204657911016925529354621779970674183438884600656146110273290494403541266170863823582899265691329718798935709053152555091125587411642165830719106378335697168802671328987732829609497150315742727158494248159674105457942426453983107564177534226297517898460323591401900223298364744182088027991104122885834631587277363320934600484860382632929208054286559953854036315209090330457410403414950405898477045632219360093620278822887346792624186217028256745225009173077274711592431983620386279981882432936563494823981639868441344149729909446041731394199371634055122258733071075395479223224352156950555391838513020726743174677388350062972330208212485458260825748589162952775777642832617645408468777475129032589069391905471315238142352986028956315808215449369963714573490262598825703475291376935105543821530624381436592649555813596584306846055403306547996760163889861427822956751550346302208349746592332320493975401301584179109568292668919015557243675433953882918097552398164523220365974785691744977844105346731521805690995519397675551799035109697478834404206920510551878317679662371022698370246432286566394775180148379089360512881206494627565052035170869098768765317433493004333470002627645820576905563455727158518913131985607936367390158221782455182586497769922796687219455326694379018074397002189611346565382083217623859713972842776962334251154584719342665220005860621008960276255844071560438337812034230690416982044461156580454177943763935756141393979147487603448101204498 663925909901048377208725571573755972413758749018327984787256550878781469435217070431011454104832722904999806205581204522091384901116007624582941818410037734084932902195580822807683475446683121210444837786985242309836202988242780821213511860732679481747253565446441720999602404264340254016593361939682639946541587116826705028291649638529987620345381437389428173675335063559375801300400989766474957807501075386557909179222155807178294324958527332845338395215867422317093731226602420536366988625589259002661878952088252377576602938167443341591986656987378536692605031021118699742866625177681211174766968443855772576821758937781107397358497985412217650947467438669749442750652868551786184558446521856094519960701849170260925148754775140109196025494621003217755318463514514740549591710584667137728779042417469561902322408988378096236432583997881929515522773003136665355524948660707984266987440106039207633977562311063790200351521664854686741351934306425166441777346426968974858636496946594420766807522919535795620593195140050030929281604394804059565996702741675817690406712891483491366200103370189142926985590420158402145017938347671737517134111948480611930978826478118160383014729476815466799683209524207199713294078629907740484436539045627588196059065323554435274139955181253601111728875959983471373178088470395264386851122300563974938467949949023238290658928344091266492422338723132037443739349090997245411839432260079633951882336796237836388815423305655430519297614657154374636802329998583057130984615024201995721506392382781706953289103123059158067000393779582553894816660198077883981212419065356330556062598424366616962818364362918222238512195423434770837662944402839075596925522982083405574672890701706802197228104089124376810340463393822471734475152611199167255790999502274190315754309748421919351388085166676878284252261486587674826237337884548206187667692391172468319309732479651965389929427191368117814795864934572212985122863496037986416186245578481988457090591172420350758612565859023808591158532052154198596676428465080411933770256350347622316970883679832209748059815036904846885829560472620554012504056143412022980287053184055229030746658076807562553960851889127257405397590435434363177070840289892493746259229767587140500687888915349490300310103164099252916567920384878915139293846359375940545852295295596320448546907836017161556345059757813510256269773825609967474419316985129557069829136009522755105875209997499922944240927191482847438533095676345402129946041369492806467267493594911397505560842594077324936442193853822424917744254006206531839173490428394371901602774131434609321731194699716044701625049519414990276103054979395517893775903227036304018095587811088593935427796352305220754059718268159808875447888210435433656280895821879135787331139204110304471672711624191941878425721045712613093662902038680166775446834465830719995213408568234740725338523287354698265543344094958857608258850689415088805258447059431821080263323151982784823896167348150452528848343418297618009949 1074254688231596610580301412998629099728400744910562359600046518227226817295663565812192961927776191262555595889570298513056891284909780726771258373618099232597998049937179540442240418494748544295235833579063721064233894667940267910899993636228689606560543295492521388436176251350644253168710346899962636371420474926728344776028447524570671697953509052804085996303248384733450729966625661189546242130248486237435253236984062348414567810562075486349835807939191524608462002587641398104911652536371167112289936945832518713775322954541848728575041663902328525509366754994664133559338458672500026683436498444764501216659387073878630557655792307322631372253146722751627828453304460491216765724474645484482117595330414914410817571963465048633791023756959557521541605575576832363262327683753179569955429352591140162207267163149056070943641226497997855851137016865224886636898735576223457210372112462037323080897741265500589463202923473499027665515906956585025944317200378509910019299176807096827207806567439490274278794390483474749300062855405843517730946561780256522733548448872365766395054713894179219352305955776559886883463546545048880950163342396263164155142508380717433182491474116962444718761365750302028908224692024228160325783119364591534150347238342251267193630825729431754681843275842163952757186156071377581705637568826224692132134863665995359065510781744843125860170864167445092917245396824425817035140114069328640493776220228051230904587252283350828260021351941179878008869333518578673525062494360943940535130899774882764658493761034076083596355015559553228078255544798734030091485709559759871822233462247949516228509694081717157947565347978525896425074586568669794703303858679252208246001878434536411694378419831851535304588623067927929676901606594306731433325225799792088776077901150322142649752829348764906275356384372422306413514701205482806672528075024101676373596292433506001705138517521825528218210815340470690030755082856131606695009132925274612643307619429165575767785643133735401023142152438434180479109365028575235915410124791691772046880329721563603947431449092027105618900635868099777236856213093967414818800073910798403708135008139779892762173337347388083153986753388210140819903457935300962523734358800176209892593360230587632653296132120415061132017290348593488629556445185079415837229230401140141979171289272609811112158656342120356311673080373606727638309178412952513821379482311731104852467542317993898345542511370592415731202014691902645805379995252410904019665658118131763480346534339055169041788925375628115913263651681758330874283187907228776108523284683312927001393565722414414948057336085809765456251434068756030774982397854601356053266456909857359252861289356638690756687364088736714438903615368954346788266503758246525945552921659292890969442634420879161333752415424730687490665091650026732157530052089690433968056185530568991879923242630019918271403965103919133864102922249853426617292677749848803124724479732436962767660103104291846507995831021745719214447 1738180598132644987789026984572385072142159493928890344387303069106008286730880636243204416032608914167555402095151503035148276186025788351354200192028136966682930952132760363249923893941431665505680671366048963374070097656183048732113505496961369088307796860938963109435778655614984507185303708839645276317962062043555049804320097163100659318298890490193514169978583448292826531267026650956021199937749561623993162416206218155592862135520602819195174203155058946925555733814243818641278641161960426114951815897920771091351925892709292070167028320889707062201971786015782833302205083850181237858203466888620273793481146011659737955014290292734849023200614161421377271203957329043002950282921167340576637556032264084671742720718240188742987049251580560739296924039091347103811919394337846707684208395008609724109589572137434167180073810495879785366659789868361551992423684236931441477359552568076530714875303576564379663554445138353714406867841263010192386094546805478884877935673753691247974614090359026069899387585623524780229344459800647577296943264521932340423955161763849257761254817264368362279291546196718289028481484892720618467297454344743776086121334858835593565506203593777911518444575274509228621518770654135900810219658410219122346406303665805702467770780910685355793572151802147424130364244541772846092488691126788667070602813615018597356169710088934392352593202890577130360984745915423062446979546329408274445658557024289067293402675589006258779318966598334252645671663517161730656047109385145936256637292157664471611782864157135241663355409339135781973072204996811914072698128625116202378296060672316133191328058444635380186077543401960667262737530971508870300229381661335613820674769136243213891606523920975912114929086461750401411376759205505898689116225302066279091832210898744062001140914515441784559608645859009981239752039090031012860195767415274144692906024913157967095067944713193646033006680275042903015877946352169593111195378503756601100398210601585926526398208992759209614300684490588379075785793493655647849180381142039394363851213401395813695491264128931952504730196340720331249360269237379437799087127094853632738881666216587455316134189236515340559384343823644503996974298225193456269993588567763350393281249145937122953606235284514314048585210733472403768850291544455356383081525696736462427718197108626972668503716099933866567942854199216695112728495398082070891208618321253859958342752315493821289783438562075263169735110368248047935326036621903710486933151713043160985907376933132493978231119229450540831007905687964862713456678335623148010126058814747536323124760422130459649682385605224755732354489048151548668758301081637660071362044720945953188289085708943911510747082356896523314351503579389780444547399580125661732884060863403195441115346045071103212178136470443300584327993688706898932976886555521153963269594098803732605261765917374616536947309198877991472361772939268515422551124809280624204987802884419747591556270452442299036844174440043337224396 2812435286364241598369328397571014171870560238839452703987349587333235104026544202055397377960385105430110997984721801548205167470935569078125458565646236199280929002069939903692164312436180209800916504945112684438303992324123316643013499133190058694868340156431484497871954906965628760354014055739607912689382536970283394580348544687671331016252399542997600166281831833026277261233652312145567442067998047861428415653190280504007429946082678305545010011094250471534017736401885216746190293698331593227241752843753289805127248847251140798742069984792035587711338541010446966861543542522681264541639965333384775010140533085538368512670082600057480395453760884173005099657261789534219716007395812825058755151362678999082560292681705237376778073008540118260838529614668179467074247078091026277639637747599749886316856735286490238123715036993877641217796806733586438629322419813154898687731665030113853795773044842064969126757368611852742072383748219595218330411747183988794897234850560788075182420657798516344178181976106999529529407315206491095027889826302188863157503610636215024156309531158547581631597501973278175911945031437769499417460796741006940241263843239553026747997677710740356237205941024811257529743462678364061136002777774810656496753542008056969661401606640117110475415427644311376887550400613150427798126259953013359202737677281013956421680491833777518212764067058022223278230142739848879482119660398736914939434777252340298197989927872357087039340318539514130654540997035740404181109603746089876791768191932547236270276625191211325259710424898689010051327749795545944164183838184876074200529522920265649419837752526352538133642891380486563687812117540178665003533240340587822066676647570779625585984943752827447419517709529678331088278365799812630122441451101858367867910112049066204650893743864206690834965030231432287653266740295513819532723842439375821066502317346663968800206462235019174251217495615513593046633029208301199806204511429031213743705830030751502294183852126494610637442836929022559554895158522230883764590505933731166410731543122959417642922713220959058123630832208820108486216482331346852617887201005652036447016674356367348078307526583903423713371097211854644816877756160494418793727947367939560285874609376524755606902367404929375180602501082065892398406736729534772220310756097876604406889486381236783780662372442054222879615934572823422751037673811034584712588100632984964810810294633487719635325949932667678900937125060150693740706031874314614506598809831174924466253911272187663020020044605078656744271557369723193587739866242851924118649343498060463324518326144544874597739721691034521188605923116907579443740698936239016124628501630803312441150375065582602267434446445633237753255118948344127232813903338372187678436982522696086410557980465950264545930551895173988074993085338733631090506938645211587931325779629372724485185008547394534808351274302797125336464695189121942039843802559129427329712282616856710359216373556734145544840005461789056438843 4550615884496886586158355382143399244012719732768343048374652656439243390757424838298601793992994019597666400079873304583353443656961357429479658757674373165963859954202700266942088206377611875306597176311161647812374089980306365375127004630151427783176137017370447607307733562580613267539317764579253189007344599013838444384668641850771990334551290033191114336260415281319103792500678963101588642005747609485421578069396498659600292081603281124740184214249309418459573470216129035387468934860292019342193568741674060896479174739960432868909098305681742649913310327026229800163748626372862502399843432222005048803621679097198106467684372892792329418654375045594382370861219118577222666290316980165635392707394943083754303013399945426119765122260120679000135453653759526570886166472428872985323846142608359610426446307423924405303788847489757426584456596601947990621746104050086340165091217598190384510648348418629348790311813750206456479251589482605410716506293989467679775170524314479323157034748157542414077569561730524309758751775007138672324833090824121203581458772400064281917564348422915943910889048169996464940426516330490117884758251085750716327385178098388620313503881304518267755650516299320486151262233332499961946222436185029778843159845673862672129172387550802466268987579446458801017914645154923273890614951079802026273340490896032553777850201922711910565357269948599353639214888655271941929099206728145189385093334276629365491392603461363345818659285137848383300212660552902134837156713131235813048405484090211707882059489348346566923065834237824792024399954792357858236881966809992276578825583592581782611165810970987918319720434782447230950549648511687535303762622001923435887351416707022839477591467673803359534446795991428732499655125005318528811557676403924646959742322947810266652034658379648475394573676090442268893018779385544832392919609854649965759408342259821935895274406948212820284224175890556496062510975560470792917399889932787814844104040632337428820582061119253820251743521419610938630680952015886531613770887075770560774582756524355231338413977349891010628361028549540439735576751568726290416974328100505669185898340572954803394441715820418764272755441035499148813852054385687875063721535935702910679155858522461878560508602689443689229187711815538296167257028273990128603392281794613066834607683489863756449166088541988089447558788772040117863766169209116655603796718954238824769153046948981540925109388494742942070672235428398741676032068496218324993531961544218085452161288205320156998251163834529197575279463057688056301196544578475072128775402312807999647643086566675334247422107296259276920960412165059128112499000017876676195990546351749265629439460774526513778181528802529761067606622527733907677361302918497849411321043386099281851673326511021367758108688365617288659321079027440530023483825200732741894595373728176457090446774464769151345298583501675116808826468128390457462394927368410051534700085501276457950772644009176444581684179901832393663239 7363051170861128184527683779714413415883279971607795752362002243772478494783969040353999171953379125027777398064595106131558611127896926507605117323320609365244788956272640170634252518813792085107513681256274332250678082304429682018140503763341486478044477173801932105179688469546242027893331820318861101696727135984121838965017186538443321350803689576188714502542247114345381053734331275247156084073745657346849993722586779163607722027685959430285194225343559889993591206618014252133659228558623612569435321585427350701606423587211573667651168290473778237624648868036676767025292168895543766941483397555389823813762212182736474980354455492849809814108135929767387470518480908111442382297712792990694147858757622082836863306081650663496543195268660797260973983268427706037960413550519899262963483890208109496743303042710414643427503884483635067802253403335534429251068523863241238852822882628304238306421393260694317917069182362059198551635337702200629046918041173456474672405374875267398339455405956058758255751537837523839288159090213629767352722917126310066738962383036279306073873879581463525542486550143274640852371547768259617302219047826757656568649021337941647061501559015258623992856457324131743681005696010864023082225213959840435339913387681919641790573994190919576744403007090770177905465045768073701688741211032815385476078168177046510199530693756489428778121337006621576917445031395120821411218867126882104324528111528969663689382531333720432857999603677362513954753657588642539018266316877325689840173676022758944152336114539557892182776259136513802075727704587903802401065804994868350779355106512847432031003563497340456453363326162933794638361766051866200307295862342511257954028064277802465063576411426630806953964505521107063587933490805131158933999127505783014827652434996876471302928402243855166229538706321874556546285519681058651925643452294025786825910659606485904695480869183231994535441671506070089109144004768771992723604401361819028587809870663088931114765913245748430889186358348633498185576110538117415378361393009501727185314299647314648981336690570850068751991860758360548221793233900073143034861529106157705632915014929322151472749242404322187986126538247353793630729810546182293857449483303642470965030467898986634167410970094373064409790212897604188565663765003524900823703037892489671241497169871100540229828460984042312327174723344863540614803843020151240316384819587223789579963341582469260560435338427410620971609360488549435416738100370532939500130771375393009918415199477507820018271208439607854319551020427411249888936410821326996247424745810868462972161412711220208845161828987293798109566335281966707556239698954115692320619047982552578070589835840109116045615975248162998820861741476078034910175206256870037089758025908795368262231306976971632304039240260791276734314164366174161113990763845944329825921153357549181575631783012163686153649857804472242145291163317512399502238729927539478864412368118133168309989017565910590126524185363621450102082 11913667055358014770686039161857812659895999704376138800736654900211721885541393878652600965946373144625443798144468410714912054784858283937084776080994982531208648910475340437576340725191403960414110857567435980063052172284736047393267508393492914261220614191172379712487422032126855295432649584898114290704071734997960283349685828389215311685354979609379828838802662395664484846235010238348744726079493266832271571791983277823208014109289240555025378439592869308453164676834143287521128163418915631911628890327101411598085598327172006536560266596155520887537959195062906567189040795268406269341326829777394872617383891279934581448038828385642139232762510975361769841379700026688665048588029773156329540566152565166591166319481596089616308317528781476261109436922187232608846580022948772248287330032816469107169749350134339048731292731973392494386709999937482419872814627913327579017914100226494622817069741679323666707380996112265655030886927184806039763424335162924154447575899189746721496490154113601172333321099568048149046910865220768439677556007950431270320421155436343587991438228004379469453375598313271105792798064098749735186977298912508372896034199436330267375005440319776891748506973623452229832267929343363985028447650144870214183073233355782313919746381741722043013390586537228978923379690922996975579356162112617411749418659073079063977380895679201339343478606955220930556659920050392763340318073855027293709621445805599029180775134795083778676658888815210897254966318141544673855423030008561502888579160112970652034395603887904459105842093374338594100127659380261660637947771804860627358180690105429214642169374468328374773083760945381025588911414563553735611058484344434693841379480984825304541167879100434166488411301512535796087588615810449687745556803909707661787394757944686737954963060623503641624112382412316825439304299066603484318563062148675752585319001866307840590755276131444814819665847396626585171654980329242785641004291294606843431913911295426359935347974365002251140929879768244436816257062554003946992132280085272287959897056171669880319750667920741079380352889307900987957369985468799433451835857206663374818813355502276954867190958224740952258881979282852942444581864931870168921171019239345381644186326421448512727919572783816753638977924713142484732920793277515029427095319687102738076104853360964296678994549526030401774733512116903658478570012229267895920181538541462614349116388531450801485544726922153563042281595916948177092770168866751264493662732919611095370576487682827977016522372274137051894830483485099306190132955399802068376200148123676462619804499277895543092583936283553075030526747447025835668738698971992368516609594334301843700029296614635629823797504050692759888468364003811942587536509175367886501079069294894650113904633487993000062147928626408565393635243393614691137474589046677071720516527085725638666078557476932837498948441306147358954117631445902856964633657295949530399112453619409626260761661575087034708208365265453843765321 19276718226219142955213722941572226075779279675983934553098657143984200380325362919006600137899752269653221196209063516846470665912755210444689893404315591896453437866747980608210593244005196045521624538823710312313730254589165729411408012156834400739265091364974311817667110501673097323325981405216975392400798870982082122314703014927658633036158669185568543341344909510009865899969341513595900810153238924179121565514570056986815736136975199985310572664936429198446755883452157539654787391977539244481064211912528762299692021914383580204211434886629299125162608063099583334214332964163950036282810227332784696431146103462671056428393283878491949046870646905129157311898180934800107430885742566147023688424910187249428029625563246753112851512797442273522083420190614938646806993573468671511250813923024578603913052392844753692158796616457027562188963403273016849123883151776568817870736982854798861123491134940017984624450178474324853582522264887006668810342376336380629119981274065014119835945560069659930589072637405571988335069955434398207030278925076741337059383538472622894065312107585842994995862148456545746645169611867009352489196346739266029464683220774271914436506999335035515741363430947583973513273625354228008110672864104710649522986621037701955710320375932641619757793593627999156828844736691070677268097373145432797225496827250125574176911589435690768121599943961842507474104951445513584751536940981909398034149557334568692870157666128804211534658492492573411209719975730187212873689346885887192728752836135729596186731718427462351288618352510852396175855363968165463039013576799728978137535796618276646673172937965668831226447087108314820227273180615419935918354346686945951795407545262627769604744290527064973442375807033642859675522106615580846679555931415490676615047192941563209257891462867358807853651088734191381985589818747662136244206514442701539411229661472793745286236145314676809355107518902696674280798985098014778364608692656425872019723781958515291050113887610750682030116238116877935001833173092121362370493673094774015145211355818984529301087358491591148132344750066261536179163219368872576486697386312821080451728370431599106339940200629063140245008517530206736075311675478052462778620502542987852609216794320435146895330542878189818048768137610746673298584558281039930250798357579592409317602023232064836908823010510072714101908235461767199093373855249419136236566358128686403929079730113920062045980065349564184013890956405497612509508269237284203993793504295004105288991687160335797034793580713744906214381503912510556079069366221129064623624893934544925591965911989115751937745765270846873140093082728992543224978397926108060837228642316854421770619132454744745869413479298855758709330105479889977497711715432237923590837095203690018376135940464964632366187168887199842127949407759788852251465352892621401546437680443274820241710340489096523652598299110619601099408794763415256466872387223489009263524821737542794570750679140997624834732550629075293867403 31190385281577157725899762103430038735675279380360073353835312044195922265866756797659201103846125414278664994353531927561382720697613494381774669485310574427662086777223321045786933969196600005935735396391146292376782426873901776804675520550327315000485705556146691530154532533799952618758630990115089683104870605980042405664388843316873944721513648794948372180147571905674350746204351751944645536232732191011393137306553334810023750246264440540335951104529298506899920560286300827175915555396454876392693102239630173897777620241555586740771701482784820012700567258162489901403373759432356305624137057110179569048529994742605637876432112264134088279633157880490927153277880961488772479473772339303353228991062752416019195945044842842729159830326223749783192857112802171255653573596417443759538143955841047711082801742979092740890089348430420056575673403210499268996697779689896396888651083081293483940560876619341651331831174586590508613409192071812708573766711499304783567557173254760841332435714183261102922393736973620137381980820655166646707834933027172607379804693908966482056750335590222464449237746769816852437967675965759087676173645651774402360717420210602181811512439654812407489870404571036203345541554697591993139120514249580863706059854393484269630066757674363662771184180165228135752224427614067652847453535258050208974915486323204638154292485114892107465078550917063438030764871495906348091855014836936691743771003140167722050932800923887990211317381307784308464686293871731886729112376894448695617331996248700248221127322315366810394460445885190990275983023348427123676961348604589605495716486723705861315342312433997205999530848053695845816184595178973671529412831031380645636787026247453074145912169627499139930787108546178655763110722426030534425112735325198338402441950886249947212854523490862449477763471146508207424894117814265620562769576591377291996548663339101585876991421446121624174773366299323259452453965427257564005612983951032715451637693253941650985461861975752933171046117885122371818090235646125309362625953180046303105108411990654409620838026412332227512697639374162524136533204837672009938533243519484455270541725933876061207131158853804092503890496813059678519893540409922631699791521782333234253403120741883659623250115662006571687746062323889158031505351558554959677893677266695147393706876593029133587817560036103115876641747578670857571943867478687032156747896670149018278196118645370863531524792271717747056172552322445789602278438104035468487456237214615200659568174843163774051315952987881958109211987397609862269202321620931132999825042058221388211770411267011295030329701554399948170619830176018378893717096898100429353838236651156265470648429069380375693210983349548518597798469483701920085248224607605810091916164498584668490040573952957632428335097513608407521584651153403543388939941939298473266954207529000458907788897966029361151546740416766960053526426209318113431506044519438539662637275356952420831512340716084659542940915894529137632724 50467103507796300681113485045002264811454559056344007906933969188180122646192119716665801241745877683931886190562595444407853386610368704826464562889626166324115524643971301653997527213201796051457359935214856604690512681463067506216083532707161715739750796921121003347821643035473049942084612395332065075505669476962124527979091858244532577757672317980516915521492481415684216646173693265540546346385971115190514702821123391796839486383239640525646523769465727705346676443738458366830702947373994120873757314152158936197469642155939166944983136369414119137863175321262073235617706723596306341906947284442964265479676098205276694304825396142626037326503804785620084465176061896288879910359514905450376917415972939665447225570608089595842011343123666023305276277303417109902460567169886115270788957878865626314995854135823846433048885964887447618764636806483516118120580931466465214759388065936092345064052011559359635956281353060915362195931456958819377384109087835685412687538447319774961168381274252921033511466374379192125717050776089564853738113858103913944439188232381589376122062443176065459445099895226362599083137287832768440165369992391040431825400640984874096248019438989847923231233835518620176858815180051820001249793378354291513229046475431186225340387133607005282528977773793227292581069164305138330115550908403483006200412313573330212331204074550582875586678494878905945504869822941419932843391955818846089777920560474736414921090467052692201745975873800357719674406269601919099602801723780335888346084832384429844407859040742829161683078798396043386451838387316592586715974925404318583633252283341982507988515250399666037225977935162010666043457775794393607447767177718326597432194571510080843750656460154564113373162915579821515438632829041611381104668666740689015017489143827813156470745986358221257331414559880699589410483936561927756806976091034078831407778324811895331163227566760798433529880885202019933733252950525272342370221676607458587471361475212456942035575749586503615201162356002000306819923408738246671733119626274820318250319767809638938921925384903923375645042389440424060315696424206544586425230629832305535722270096365475167547071359482867232748899014343266414595205215887975094478412024325321086862619915062318806518580658540196389736514199934635831330089909839594889928692034846287556711308899825093970496640570546175829978549983040438056665317722728106168393314254798835422207275848759290925577504857621281931070063508727943402111786707341319672481249741509619305948559862003499571086109533701626864323593491310120418348271687842060197623449935992766313803736323256127046968075466825246821310712912905010922118695494824208490191066878968010687241267561524125121562624462648404277307128574963591897582959940039843733682753259702274686866176514417922264794522266400808249649534058913192395640405294831919874813391887972275279149499238455125884804145039527386561152935220972733369898378431742927548926162097094495215402263019857082284377673466523604431500127 81657488789373458407013247148432303547129838436704081260769281232376044912058876514325002345592003098210551184916127371969236107307982199208239232374936740751777611421194622699784461182398396057393095331606002897067295108336969283020759053257489030740236502477267694877976175569273002560843243385447154758610540082942166933643480701561406522479185966775465287701640053321358567392378045017485191882618703306201907840127676726606863236629504081065982474873995026212246597004024759194006618502770448997266450416391789110095247262397494753685754837852198939150563742579424563137021080483028662647531084341553143834528206092947882332181257508406760125606136962666111011618453942857777652389833287244753730146407035692081466421515652932438571171173449889773088469134416219281158114140766303559030327101834706674026078655878802939173938975313317867675340310209694015387117278711156361611648039149017385829004612888178701287288112527647505870809340649030632085957875799334990196255095620574535802500816988436182136433860111352812263099031596744731500445948791131086551818992926290555858178812778766287923894337641996179451521104963798527527841543638042814834186118061195476278059531878644660330721104240089656380204356734749411994388913892603872376935106329824670494970453891281368945300161953958455428333293591919205982963004443661533215175327799896534850485496559665474983051757045795969383535634694437326280935246970655782781521691563614904136972023267976580191957293255108142028139092563473650986331914100674784583963416828633130092628986363058195972077539244281234376727821410665019710392936274008908189128968770065688369303857562833663243225508783215706511859642370973367278977180008749707243068981597757533917896568629782063253303950024126000171201743551467641915529781402065887353419931094714063103683600509849083706809178031027207796835378054376193377369745667625456123404326988150996917040218988206920057704654251501343193185706915952529906375834660558491302922999168466398593021037611562256548372208473887122678638013644384371981095745579454866621355428179800293348542763411316255603157740028814586584452229629044216596363763873351789990992811822299351228754202518336671325252789511156326093115098756297897726178203546107654321116023035804202466141830774202202961424260262258524989361595261398149849606585712112982704105015776418123104084458130582278945855191730619108914237261590206793200550062151468984440485471967404661789109029649892999678126236061050389191714065145445355140968705978724234506608128036846663345137425486689508822432805478707730280617474009462991330623274978050987702015506734523138341998405168379646769481332743081029301012412591722308919544905115619166952711915990593505497255835445997952795904927044447293817668208164647449543774669424200859355356217088370879897222857363914416657171118710066595939029345236771218348080346095501275738057288136421155245955691779944153521206461647182051483329884476262366088588799372451447636233775360573166943920614382418133569132851 132124592297169759088126732193434568358584397493048089167703250420556167558250996230990803587337880782142437375478722816377089493918350904034703795264562907075893136065165924353781988395600192108850455266820859501757807789800036789236842585964650746479987299398388698225797818604746052502927855780779219834116209559904291461622572559805939100236858284755982203223132534737042784038551738283025738229004674421392422542948800118403702723012743721591628998643460753917593273447763217560837321450144443118140207730543948046292716904553433920630737974221613058288426917900686636372638787206624968989438031625996108100007882191153159026486082904549386162932640767451731096083630004754066532300192802150204107063823008631746913647086261022034413182516573555796393745411719636391060574707936189674301116059713572300341074510014626785606987861278205315294104947016177531505237859642622826826407427214953478174068664899738060923244393880708421233005272105989451463341984887170675608942634067894310763669198262689103169945326485732004388816082372834296354184062649235000496258181158672145234300875221942353383339437537222542050604242251631295968006913630433855266011518702180350374307551317634508253952338075608276557063171914801231995638707270958163890164152805255856720310841024888374227829139727751682720914362756224344313078555352065016221375740113469865062816700634216057858638435540674875329040504517378746213778638926474628871299612124089640551893113735029272393703269128908499747813498833075570085934715824455120472309501661017559937036845403801025133760618042677277763179659797981612297108911199413226772762221053407670877292372813233329280451486718377717177903100146767760886424947186468033840501176169267614761647225089936627366677112939705821686640376380509253296634450068806576368437420238541876260154346496207304964140592590907907386245861990938121134176721758659534954812105312962892248203446554967718491234535136703363126918959866477802248746056337165949890394360643678855535056613361148760163573370829889122985457937053122618652828865205729686939605747947609932287464688796220178978802782418255010644767926053250761182788994503184095526715081918664826396301273877819538558001688525499592507710303972185872820656615570432975407978642950866521272660411432742399351160774462193160820691685171237744739535277746959270260816324676243217074581098701128454775833741713659546970902579312934899368943376406267819862692747816163952714686534507514281609196299569778332593825851852786674813449955720233853812556687898850162916223535020391135686756398970017850698965745697305051528246724914043754015819243057779265388966480635204893590792045655986040223131108086546517409735971994587177639953183552117630618818459908646357073212055619410885715251168104687293277457422683903134042222393602788802162017379630315224906820652768979788334669750531603138222893737983473551017206787374876281130759836819471540082359396868154784853228262908005293637514961469545942851636038380430249228298287848941738000632978 213782081086543217495139979341866871905714235929752170428472531652932212470309872745315805932929883880352988560394850188346325601226333103242943027639499647827670747486360547053566449577998588166243550598426862398825102898137006072257601639222139777220223801875656393103773994174019055063771099166226374592726749642846458395266053261367345622716044251531447490924772588058401351430929783300510930111623377727594330383076476845010565959642247802657611473517455780129839870451787976754843939952914892115406658146935737156387964166950928674316492812073811997438990660480111199509659867689653631636969115967549251934536088284101041358667340412956146288538777730117842107702083947611844184690026089394957837210230044323828380068601913954472984353690023445569482214546135855672218688848702493233331443161548278974367153165893429724780926836591523182969445257225871546892355138353779188438055466363970864003073277787916762210532506408355927103814612755020083549299860686505665805197729688468846566170015251125285306379186597084816651915113969579027854630011440366087048077174084962701092479688000708641307233775179218721502125347215429823495848457268476670100197636763375826652367083196279168584673442315697932937267528649550643990027621163562036267099259135080527215281294916169743173129301681710138149247656348143550296041559795726549436551067913366399913302197193881532841690192586470844712576139211816072494713885897130411652821303687704544688865137003005852585660562384016641775952591396549221072266629925129905056272918489650690029665831766859221105838157286958512139907481208646632007501847473422134961891189823473359246596230376066992523676995501593423689762742517741128165402127195217741083570157767025148679543793719718690619981062963831821857842119931976895212164231470872463721857351333255939363837947006056388670949770621935115183081240045314314511546467426284991078216432301113889165243665543174638548939189388204706320104666782430332155121890997724441193317359812145254128077650972711016711945579303776245664095950697506990633924610785184553560961176127410225636007452207536434581960522447069597229220155682294977779152758376535885517707893740964177625055476396156209883254478036655918600825402728483770546834819116540629729094665986670723738802242206944602312585034724451685810053280432635894589141863459072252964921340452661340178665556831710733721688933444278655885139840903141692569493438557736804303178219783568614503795564157407281287322535630828721785539916998232029954418661698958088319164815935696826261360960507080644509189204448725580979583219706768042858869999892094741717834749792302403730964885803584540360273378399067069524143520678268826329280877110206344592665099542711136116074295354644309869116982663858179532919376269334742821232092108103993397578610691159682059240236994229641563991771479046384273699095768374356570974084078974826755264075511297436376715528599415693603565858515336836336558147384267659726103760841997390487869813741003416172218902231359871569765829 345906673383712976583266711535301440264298633422800259596175782073488380028560868976306609520267764662495425935873573004723415095144684007277646822904062554903563883551526471407348437973598780275094005865247721900582910687937042861494444225186790523700211101274045091329571812778765107566698954947005594426842959202750749856888625821173284722952902536287429694147905122795444135469481521583536668340628052148986752926025276963414268682654991524249240472160916534047433143899551194315681261403059335233546865877479685202680681071504362594947230786295425055727417578380797835882298654896278600626407147593545360034543970475254200385153423317505532451471418497569573203785713952365910716990218891545161944274053052955575293715688174976507397536206597001365875959957855492063279263556638682907632559221261851274708227675908056510387914697869728498263550204242049078397592997996402015264462893578924342177141942687654823133776900289064348336819884861009535012641845573676341414140363756363157329839213513814388476324513082816821040731196342413324208814074089601087544335355243634846326780563222650994690573212716441263552729589467061119463855370898910525366209155465556177026674634513913676838625780391306209494330700564351875985666328434520200157263411940336383935592135941058117400958441409461820870162019104367894609120115147791565657926808026836264976118897828097590700328628127145720041616643729194818708492524823605040524120915811794185240758250738035124979363831512925141523766090229624791158201345749585025528582420150668249966702677170660246239598775329635789903087141006628244304610758672835361734653410876881030123888603189300321804128482219971140867665842664508889051827074381685774924071333936292763441191018809655317986658175903537643544482496312486148508798681539679040090294771571797815623992293502263693635090363212843022569327102036252435645723189184944526033028537614076781413447112098142357040173724524908069447023626648908134403867947334890391083711720455824109663134264333859776875518950133665368649553887750629609286753475990914240500566924075020157923472141003756613560763304865324607873988081735545738961941752879719981044422975659629004021356750273975748441256166562155511108535706700669643367491434686973605137073308937537245011462653639687001663745809186644846630744965603873639328677141206031523225737665128904557253246655532839188497522675157938202856042420216076591938436814964004624165870967599732567218482098664921562896518835200607054379365768851018704767868617419191942131721503834546989177584495527471780195945603418743431678548965404073094387116724806138495733653992850081669119931366438789433951065424055053109747274628764815343739016849104793522232618283094828766734892755263290666942329038283269065248170544374022036098689514792007127439801004293948484221257616624544866470812424248026172608368846299977494793867822062448377772470862886173717507475365418887233685925255383491621189786410292272953363618722311543333339505852121433665400517190080301609570398807 559688754470256194078406690877168312170012869352552430024648313726420592498870741721622415453197648542848414496268423193069740696371017110520589850543562202731234631037887018460914887551597368441337556463674584299408013586074048933752045864408930300920434903149701484433345806952784162630470054113231969019569708845597208252154679082540630345668946787818877185072677710853845486900411304884047598452251429876581083309101753808424834642297239326906851945678372314177273014351339171070525201355974227348953524024415422359068645238455291269263723598369237053166408238860909035391958522585932232263376263561094611969080058759355241743820763730461678740010196227687415311487797899977754901680244980940119781484283097279403673784290088930980381889896620446935358174503991347735497952405341176140964002382810130249075380841801486235168841534461251681232995461467920625289948136350181203702518359942895206180215220475571585344309406697420275440634497616029618561941706260182007219338093444832003896009228764939673782703699679901637692646310311992352063444085529967174592412529328597547419260251223359635997806987895659985054854936682490942959703828167387195466406792228932003679041717710192845423299222707004142431598229213902519975693949598082236424362671075416911150873430857227860574087743091171959019409675452511444905161674943518115094477875940202664889421095021979123542018820713616564754192782941010891203206410720735452176942219499498729929623387741040977565024393896941783299718681626174012230467975674714930584855338640318939996368508937519467345436932616594302042994622215274876312112606146257496696544600700354389370484833565367314327805477721564564557428585182250017217229201576903516007641491703317912120734812529374008606639238867369465402324616244463043720962913010551503812152122905053754987830240508320082306040133834778137752408342081566750157269656611229517111244969915190670578690777641316995589112913913112775767128293431338466558989838332614832277029080267969363791211915306570793587464529437441614313649838448136599920678086776098794061528100202430383559479593211293048142723827312394205103208237417840716741094511256255866562130869400593181646412226670131958324510644598811429709361109429153413914326253803514234866167974924207968750264895846631603976330843911096532440798246036509533917819004665103776190659005581565897431912212364549922219211608602216858741182261119218284507930253521741428469049187383301181722277662822328844183841370831435776164905685849250734722287279118150030450886319770243815438945456034552424705134807867469012658132185110841137245986724698233237451488742642384072850896252242373974311338802454120179271418149443084170068297726214999866825283382637539902850967050617934976811446020947127244781089920643356778919921606900111120837379614985108166280497853618774508034804195727072556882067942068351851364841906141423204527734938397471153884190894018302927289491113898828457526344557676540613089722483153540723827375665862437081572736092311661481140164636 905595427853969170661673402412469752434311502775352689620824095799908972527431610697929024973465413205343840432141996197793155791515701117798236673447624757634798514589413489868263325525196148716431562328922306199990924274011091795246490089595720824620646004423746575762917619731549270197169009060237563446412668048347958109043304903713915068621849324106306879220582833649289622369892826467584266792879482025567836235127030771839103324952230851156092417839288848224706158250890365386206462759033562582500389901895107561749326309959653864210954384664662108893825817241706871274257177482210832889783411154639972003624029234609442128974187047967211191481614725256988515273511852343665618670463872485281725758336150234978967499978263907487779426103217448301234134461846839798777215961979859048596561604071981523783608517709542745556756232330980179496545665709969703687541134346583218966981253521819548357357163163226408478086306986484623777454382477039153574583551833858348633478457201195161225848442278754062259028212762718458733377506654405676272258159619568262136747884572232393746040814446010630688380200612101248607584526149552062423559199066297720832615947694488180705716352224106522261925003098310351925928929778254395961360278032602436581626083015753295086465566798285977975046184500633779889571694556879339514281790091309680752404683967038929865539992850076714242347448840762284795809426670205709911698935544340492701063135311292915170381638479076102544388225409866924823484771855798803388669321424299956113437758790987189963071186108179713585035707946230091946081763221903120616723364819092858431198011577235419494373436754667636131933959941535705425094427846758906269056275958589290931712825639610675561925831339029326593297414770907108946807112556949192229761594550230543902446894476851570611822534010583775941130497047621160321735444117819185802992845796174043144273507529267451992137889739459352629286638438020845214151920080246600962857785667505223360740800723793473454346179640430570462983479571106982963203726198766209207431562767013034562095024277450541482951734215049661703487132177718812977196319153386455703036264135975847606553845060222185667768976944107706765766811160966940817896816129823057281817688490487840003241283861745213761727549486318605640076653097741379071543211640383173246496145871135299416396670710470454685158867897389110716734283760155061597224681335294876446367068485746052634920154983033748940759761487250407080360206032042830544271454700269439490155896537341972582607823604790804616529951562024204901080411286212444336681150514914231633103449504371733185142735492465741970827618681163408262404226509173289018692778207899513807314575319793389057901665732368669585859805881225643753775059230396310029260465017378815018611121692118248277180619279056650501755470243319374505616619975098729490436788368329346158709728203871582300205801283644871391666259437190160975416369282320078716130967968813566453341205465084057166881517983870746973253282391963090710563443 1465284182324225364740080093289638064604324372127905119645472409526329565026302352419551440426663061748192254928410419390862896487886718228318826523991186960366033145627300508329178213076793517157769118792596890499398937860085140728998535954004651125541080907573448060196263426684333432827639063173469532465982376893945166361197983986254545414290796111925184064293260544503135109270304131351631865245130911902148919544228784580263937967249470178062944363517661162401979172602229536456731664115007789931453913926310529920817971548414945133474677983033899162060234056102615906666215700068143065153159674715734583972704087993964683872794950778428889931491810952944403826761309752321420520350708853425401507242619247514382641284268352838468161315999837895236592308965838187534275168367321035189560563986882111772858989359511028980725597766792231860729541127177890328977489270696764422669499613464714754537572383638797993822395713683904899218088880093068772136525258094040355852816550646027165121857671043693736041731912442620096426023816966398028335702245149535436729160413900829941165301065669370266686187188507761233662439462832043005383263027233684916299022739923420184384758069934299367685224225805314494357527158992156915937054227630684673005988754091170206237338997655513838549133927591805738908981370009390784419443465034827795846882559907241594754961087872055837784366269554378849550002209611216601114905346265075944878005354810791645100005026220117080109412619306808708123203453481972815619137297099014886698293097431306129959439695045699180930472640562824393989076385437177996928835970965350355127742612277589808864858270320034950459739437663100269982523013029008923486285477535492806939354317342928587682660643868403335199936653638276574349131728801412235950724507560782047714599017381905325599652774518903858247170630882399298074143786199385935960262502407403560255518477444458122570828667380776348218399552351133620981280213511585067521847624000120055637769880991762837245558094947001364050448009008548597276853564646902809128109649543111828623623124479880925042431327426342709846210959490113018080404556571227172444130775392231714168684714460815367314181203614239665090277455759778370527257925558976471196143942294002074869409258785953182511992445332950209616407497008837911512341457676892707164315150536239075607055676292036352117071080261939032935945892362371920338406942454513160954297322007487481103969342366334930663037424309579251264201576863478606709177140549520174212443175655492003033494143375034620055475407596576629606215219153681456994813335625755368879090174202604970636631478134849814821723870923537382573743028963293468290110927650983683875612301534793255883185048369908572436826856499160620565221080177523554810350385660735593938532728592229369114560234264164816782253323862093882540420815702171286372504730436681197523551634345294786827940739681116025275857153455493088264907483181148536242475525645354179543063688618624780994257183846307828545989374703624571850728079 2370879610178194535401753495702107817038635874903257809266296505326238537553733963117480465400128474953536095360552415588656052279402419346117063197438811718000831660216713998197441538601989665874200681121519196699389862134096232524245026043600371950161726911997194635959181046415882703024808072233707095912395044942293124470241288889968460482912645436031490943513843378152424731640196957819216132038010393927716755779355815352103041292201701029219036781356950010626685330853119901842938126874041352513954303828205637482567297858374598997685632367698561270954059873344322777940472877550353898042943085870374555976328117228574126001769137826396101122973425678201392342034821604665086139021172725910683233000955397749361608784246616745955940742103055343537826443427685027333052384329300894238157125590954093296642597877220571726282353999123212040226086792887860032665030405043347641636480866986534302894929546802024402300482020670389522995543262570107925711108809927898704486295007847222326347706113322447798300760125205338555159401323620803704607960404769103698865908298473062334911341880115380897374567389119862482270023988981595067806822226299982637131638687617908365090474422158405889947149228903624846283456088770411311898414505663287109587614837106923501323804564453799816524180112092439518798553064566270123933725255126137476599287243874280524620501080722132552026713718395141134345811636281422311026604281809416437579068490122084560270386664699193182653800844716675632946688225337771619007806618523314842811730856222293319922510881153878894515508348509054485935158148659081117545559335784443213558940623854825228359231707074702586591673397604635975407617440875767829755341753494082097871067142982539263244586475207432661793234068409183683295938841358361428180486102111012591617045911858756896211475308529487634188301127930020458395879230317205121763255348203577603399791984973725574562966557120235700847686190789154466195432133591831668484705409667625278998510681715556310699904274587431934513431488579655580240057290845669018335541212310124863185718148757331466525383061641392371549698091667831831057600875724613628147167039528207561775238559521037552981950180558347371856044266920745311345154741688799528477961630784489914872650542647698396273719994819268815256484150106579290583884669317275880410811296407374375023452347002506806802229948159328143652680176122526981935631623789808037400664390493233533738889497349368679603797185796829658344561782895521437253448595249789613702599072192833975616101966979825424672005359158600834507295630439893901331494486140669600512193623706976703821774213627315556792551489604700790836147255472466757308803705858883197682926876854586644941086714102277242022686662380386264318996139407919864839610850678114408957143850284347617391740853543221467284008794105413257046037435677270015862941518805010543682261362549166369128146540964760896667523412892683249240323852463468614958606493614167745996404894083708838161138701830178575519242657095587662561291522 3836163792502419900141833588991745881642960247031162928911768914852568102580036315537031905826791536701728350288962834979518948767289137574435889721429998678366864805844014506526619751678783183031969799914116087198788799994181373253243561997605023075702807819570642696155444473100216135852447135407176628378377421836238290831439272876223005897203441547956675007807103922655559840910501089170847997283141305829865675323584599932366979259451171207281981144874611173028664503455349438299669790989049142445408217754516167403385269406789544131160310350732460433014293929446938684606688577618496963196102760586109139949032205222538809874564088604824991054465236631145796168796131356986506659371881579336084740243574645263744250068514969584424102058102893238774418752393523214867327552696621929427717689577836205069501587236731600707007951765915443900955627920065750361642519675740112064305980480451249057432501930440822396122877734354294422213632142663176697847634068021939060339111558493249491469563784366141534342492037647958651585425140587201732943662649918639135595068712373892276076642945784751164060754577627623715932463451813638073190085253533667553430661427541328549475232492092705257632373454708939340640983247762568227835468733293971782593603591198093707561143562109313655073314039684245257707534434575660908353168720160965272446169803781522119375462168594188389811079987949519983895813845892638912141509628074492382457073844932876205370391690919310262763213464023484341069891678819744434626943915622329729510023953653599449881950576199578075445980989071878879924234534096259114474395306749793568686683236132415037224089977394737537051412835267736245390140453904776753241627231029574904810421460325467850927247119075835996993170722047460257645070570159773664131210609671794639331644929240662221811128083048391492435471758812419756470023016516591057723517850610981163655310462418183697133795224501012049066085743140288087176712347103416736006553033667745334636280562707319147945462369534433298563879497588204177516910855492571827463650861853236691809341273237212391567814389067735081395909051157944849138005432295840800591297814920439275943923273981852920296131384172587036946321722680523681872412667247775999674105573078491989742059801433651578785712440152219024872891647115417202096226126994168587575126446943613450630508023294543158919301028421267176588626068484898902274038566244321198354961712500721014842858839715703610266834610106408909608763359759000043962625735799309787915042247848325978649596110354860044727480766755177464113510849593575358326307821766424969391283797909581674458405691762165371614275360528238173409890284435760225598914633509866881558539178389379900824271762472185814459513518879546884884217219585443419649961236338850002895676578876576986506301087807386284066262117967507139586458251379441302235446249241691741205812996894461155956087280645876921943380566348176337505231335644617151201082019259521925539468582702333619155395885676486404065232031799212234412019601 6207043402680614435543587084693853698681596121934420738178065420178806640133770278654512371226920011655264445649515250568175001046691556920552952918868810396367696466060728504724061290280772848906170481035635283898178662128277605777488588041205395025864534731567837332114625519516098838877255207640883724290772466778531415301680561766191466380116086983988165951320947300807984572550698046990064129321151699757582431102940415284470020551652872236501017926231561183655349834308469340142607917863090494959362521582721804885952567265164143128845942718431021703968353802791261462547161455168850861239045846456483695925360322451112935876333226431221092177438662309347188510830952961651592798393054305246767973244530043013105858852761586330380042800205948582312245195821208242200379937025922823665874815168790298366144185113952172433290305765038655941181714712953610394307550080783459705942461347437783360327431477242846798423359755024683945209175405233284623558742877949837764825406566340471817817269897688589332643252162853297206744826464208005437551623054687742834460977010846954610987984825900132061435321966747486198202487440795233140996907479833650190562300115159236914565706914251111147579522683612564186924439336532979539733883238957258892181218428305017208884948126563113471597494151776684776506087499141931032286893975287102749045457047655802643995963249316320941837793706344661118241625482174061223168113909883908820036142335054960765640778355618503445417014308740159974016579904157516053634750534145644572321754809875892769804461457353456969961489337580933365859392682755340232019954642534236782245623859987240265583321684469440123643086232872372220797757894780544582996968984523657002681488603308007114171833594283268658786404790456643940941009411518135092311696711782807230948690841099419118022603391577879126623772886742440214865902246833796179486773198814558767055102447391909271696761781621247749913771933929442553372144480695248404491258443335370613634791244422875458645366644121865233077310986167859757756968146338240845799192074163361554995059421994543858093197450709127452945607142825776680195606308020454428738464854448646837719161833502890473278081564730934408802365989601268993217567408936575528152067203862981904614710344081349975059432434971487840129375797221996492680110796311444467985937743350987825653960370297049965721530976580595320241306244607425884209670190034129235755626102993954548581748337065072289870631795903238567953325142654521481216074331049099401617641320041159954265698077334685469399486125913778298620806480033469259657802307907094569903477421616558378280179905389480928406826850132938964246037539908226982907718339368750079241466055243966545765358476574463056482200181259933149203213358993363284489572087016964411852820429160924603898041941350607751350270912072920396632495687056711318098387768046702284888074359443627525084233821610637818610903979240859586745555188108085766159688512873689671535873476786042457316534587506664979584474688894799896973311123 10043207195183034335685420673685599580324556368965583667089834335031374742713806594191544277053711548356992795938478085547693949813980694494988842640298809074734561271904743011250681041959556031938140280949751371096967462122458979030732150038810418101567342551138480028270069992616314974729702343048060352669149888614769706133119834642414472277319528531944840959128051223463544413461199136160912126604293005587448106426525015216836999811104043443782999071106172356684014337763818778442277708852139637404770739337237972289337836671953687260006253069163482136982647732238200147153850032787347824435148607042592835874392527673651745750897315036046083231903898940492984679627084318638099457764935884582852713488104688276850108921276555914804144858308841821086663948214731457067707489722544753093592504746626503435645772350683773140298257530954099842137342633019360755950069756523571770248441827889032417759933407683669194546237489378978367422807547896461321406376945971776825164518124833721309286833682054730866985744200501255858330251604795207170495285704606381970056045723220846887064627771684883225496076544375109914134950892608871214186992733367317743992961542700565464040939406343816405211896138321503527565422584295547767569351972251230674774822019503110916446091688672427126670808191460930034213621933717591940640062695448068021491626851437324763371425417910509331648873694294181102137439328066700135309623537958401202493216179987836971011170046537813708180227772763644315086471582977260488261694449767974301831778763529492219686412033553035045407470326652812245783627216851599346494349949284030350932307096119655302807411661864177660694499068140108466187898348685321336238596215553231907491910063633474965099080713359104655779575512504104198586079981677908756442907321454601870280335770340081339833731474626270619059244645554859971335925263350387237210291049425539930710412909810092968830557006122259798979857677069730640548856827798665140497811477003115948271071807130194606590829013656298531641190483756063935273879001830812673262842936016598246804400695231756249661011839776862534341516193983721529333611740316295229329762669369086113663085107484743393574212948903521445748687712281792675089980076184351527826172776941473894356770145515001553845144875123706865002267444337413694776336923305613055561064190294601276284468393591593124640832005001862496829932313092324786483708756278450434110587815494675563424607176780775900137466406009647477562088502413521525178700066848409189532683567889485932915294187689545514126966892668955762734317329627044617984110129673519539294761219526140052738585597151646300021102210661177137655927824343987208506632972878616960800005233633346446589630239046648870941713700139480034087430578578806704139533323355814414748497008037501590404343029157994035416533030040427536218953938436152620333834017288394026093887356338088681040321102256514740554284545589035924250786523752702917360770532133211597075342059488376076471930473183151383649706720694012131385330724 16250250597863648771229007758379453279006152490900004405267899755210181382847576872846056648280631560012257241587993336115868950860672251415541795559167619471102257737965471515974742332240328880844310761985386654995146124250736584808220738080015813127431877282706317360384695512132413813606957550688944076959922355393301121434800396408605938657435615515933006910448998524271528986011897183150976255925444705345030537529465430501307020362756915680284016997337733540339364172072288118584885626715230132364133260919959777175290403937117830388852195787594503840951001535029461609701011487956198685674194453499076531799752850124764681627230541467267175409342561249840173190458037280289692256157990189829620686732634731289955967774038142245184187658514790403398909144035939699268087426748467576759467319915416801801789957464635945573588563295992755783319057345972971150257619837307031476190903175326815778087364884926515992969597244403662312631982953129745944965119823921614589989924691174193127104103579743320199628996363354553065075078069003212608046908759294124804517022734067801498052612597585015286931398511122596112337438333404104355183900213200967934555261657859802378606646320594927552791418821934067714489861920828527307303235211208489566956040447808128125331039815235540598268302343237614810719709432859522972926956670735170770537083899093127407367388667226830273486667400638842220379064810240761358477737447842310022529358515042797736651948402156317153597242081503804289103051487134776541896444983913618874153533573405384989490873490906492015368959664233745611643019899606939578514304591818267133177930956106895568390733346333617784337585301012480686985656243465865919235565200076888910173398666941482079270914307642373314565980302960748139527089393196043848754604033237409101229026611439500457856334866204149745683017532297300186201827510184183416697064248240098697765515357202002240527318787743507548893629610999173193921001308493913544989069920338486561905863051553070065236195657778163764718501469923923693030847148169053519062035010179959801799460117226300107754209290485989987287123336809498209529218048336749658068227523817732951382246940987633866852294513634455854551053701883061668307547485120927055978239980804455798971480489596351528904577310095194705131643241559410187456447719617057523547001933645589101938428763888643090362362981582457817071238557699750670693378946312579669866213918488630112006355513845848190008098201912886045515413645068043006394774397897508591150324887930645887180992265024230983526453018582734061355123809660513877641912437580614109198238641142698431018765502541127228427929060794116101901965364252214191414351312247367040041471288877312992354988715621111927423913881399413183290643937572169988629105410372778826601317437198426194302384970508601786766803942113347932851449625492863938432221785335096310981961715781716206124554923867152559165188524829895510996341711860788683520459045006901268611215536274418533788465060689816363234181409588812028358641847 26293457793046683106914428432065052859330708859865588072357734090241556125561383467037600925334343108369250037526471421663562900674652945910530638199466428545836819009870214527225423374199884912782451042935138026092113586373195563838952888118826231228999219833844797388654765504748728788336659893737004429629072244008070827567920231051020410934755144047877847869577049747735073399473096319311888382529737710932478643955990445718144020173860959124067016068443905897023378509836106897027163335567369769768904000257197749464628240609071517648858448856757985977933649267267661756854861520743546510109343060541669367674145377798416427378127856503313258641246460190333157870085121598927791713922926074412473400220739419566806076695314698159988332516823632224485573092250671156335794916471012329853059824662043305237435729815319718713886820826946855625456399978992331906207689593830603246439345003215848195847298292610185187515834733782640680054790501026207266371496769893391415154442816007914436390937261798051066614740563855808923405329673798419778542194463900506774573068457288648385117240369269898512427475055497706026472389226012975569370892946568285678548223200560367842647585726938743958003314960255571242055284505124075074872587183459720241730862467311239041777131503907967724939110534698544844933331366577114913567019366183238792028710750530452170738814085137339605135541094933023322516504138307461493787360985800711225022574695030634707663118448694130861777469854267448604189523070112037030158139433681593175985312336934877209177285524459527060776429990886557857426647116458538925008654541102297484110238052226550871198145008197795445032084369152589153173554592151187255474161415630120817665308730574957044369995021001477970345555815464852338113169374873952605197511354692010971509362381779581797690066340830420364742262177852160157537752773534570653907355297665638628475928267012095209357875793865767347873487288068903834469858136292578685486881397341602510176934858683264671827024671434462296359691953679987628304726149999866192324877946196558048603860812458056357415221130262852521628639530793219738862829788653044887397990193186819065045332048472377260426507462537977300299741414164854343397527561305278583804412757745929693328250635111353082749722185218901570133910685896823882232784642922670579108066123940190378222897157480236215003194986584320313901170870792075457177087702591030103976801733983305675430962690626624090145564607922533523077502147481564531573474464745917780683008455820131820096286452713776497653419911251689824089441139287558495626022567254133648492999860668838483757351099692773528449031271455293239557893188596201399920984285125984000841476522510659438944618954667760798365627581538893217378074516150976692768638733728593241349814445235927784706727999666595822183336972153775469070403563929016558766055802623490337075849072119804887164876026123667299719473070418931435247128235613491600881229577140112865686557595762794610260395533872967746883888130282824159743972571 42543708390910331878143436190444506138336861350765592477625633845451737508408960339883657573614974668381507279114464757779431851535325197326072433758634048016939076747835686043200165706440213793626761804920524681087259710623932148647173626198842044356431097116551114749039461016881142601943617444425948506588994599401371949002720627459626349592190759563810854780026048272006602385484993502462864638455182416277509181485455876219451040536617874804351033065781639437362742681908395015612048962282599902133037261177157526639918644546189348037710644644352489818884650802297123366555873008699745195783537514040745899473898227923181109005358397970580434050589021440173331060543158879217483970080916264242094086953374150856762044469352840405172520175338422627884482236286610855603882343219479906612527144577460107039225687279955664287475384122939611408775457324965303056465309431137634722630248178542663973934663177536701180485431978186302992686773454155953211336616593815006005144367507182107563495040841541371266243736927210361988480407742801632386589103223194631579090091191356449883169852966854913799358873566620302138809827559417079924554793159769253613103484858420170221254232047533671510794733782189638956545146425952602382175822394668209808686902915119367167108171319143508323207412877936159655653040799436637886493976036918409562565794649623579578106202752364169878622208495571865542895568948548222852265098433643021247551933210073432444315066850850448015374711935771252893292574557246813572054584417595212050138845910340262198668159015366019076145389655120303469069667016065478503522959132920564617288169008333446439588878354531413229369669670165069840159210835617053174709726615707009727838707397516439123640909328643851284911536118425600477640258768069996453952115387929420072738388993219082255546401207034570110425279710149460343739580283718754070604419545905737326241443624214097449885194581609274896767116899068077028390859444786492230475951317680089072082797910236334737063220329212626061078193423603911321335573298168919711386912956376517850403320929684356465169430420748842508915762867602717948392047836989794545466217717004552016427578989460011127278801976172433154850795116047916011705075046426205639782652738550385492299731124707704611654299495314096275265553927456234069689232362539728102655068057585779480161325921368879305365557968166778130972409428491826127870466648903609773843015652471935787437318204472472280153662809835419568592915792549607537968248862643426371833333343750777707277278717738007481179872929834423885444564948948072373267935004834747757691238501811536914776116602233900756876960332249409341459858552848415591335335597373351040882947811387972431299607670288872725789541462938306400668718453723146681397744144101372067951131882434353979009112970175197608950140914267123401921853189421880497198277587958586648057810787901521093289430949990819858884661595248826946243469947474280284401688622147014134297773132037213144048860594562784110118069539871636188102614418 68837166183957014985057864622509558997667570210631180549983367935693293633970343806921258498949317776750757316640936179442994752209978143236603071958100476562775895757705900570425589080640098706409212847855662707179373296997127712486126514317668275585430316950395912137694226521629871390280277338162952936218066843409442776570640858510646760526945903611688702649603098019741675784958089821774753020984920127209987825441446321937595060710478833928418049134225545334386121191744501912639212297849969671901941261434355276104546885155260865686569093501110475796818300069564785123410734529443291705892880574582415267148043605721597536383486254473893692691835481630506488930628280478145275684003842338654567487174113570423568121164667538565160852692162054852370055328537282011939677259690492236465586969239503412276661417095275383001362204949886467034231857303957634962672999024968237969069593181758512169781961470146886368001266711968943672741563955182160477708113363708397420298810323190021999885978103339422332858477491066170911885737416600052165131297687095138353663159648645098268287093336124812311786348622118008165282216785430055493925686106337539291651708058980538063901817774472415468798048742445210198600430931076677457048409578127930050417765382430606208885302823051476048146523412634704500586372166013752800060995403101648354594505400154031748845016837501509483757749590504888865412073086855684346052459419443732472574507905104067151978185299544578877152181790038701497482097627358850602212723851276805226124158247275139407845444539825546136921819646006861326496314132524017428531613674022862101398407060559997310787023362729208674401754039317658993332765427768240430183888031337130545504016128091396168010904349645329255257091933890452815753428142943949059149626742621431044247751374998664053236467547864990475167541888001620501277333057253324724511774843571375954717371891226192659243070375475042244640604187136980862860717581079070915962832715021691582259732768919599408890245000647088357437885377283898949640299448168785903711790902573075899007181742142412822584651551011695030544402398395937687254877625642839432864207910191371081472911037932388387705309438710410455150536530212770355102602607731484223587065496296315185627981759819057694404021680532997845399464613353057951922017005462398681763134181525969858384223078849115520368752954751098444873580299283901585047554351494639877819817386455241462868280895099096370299227417757953091670417940031172069541723327389344152516341799570909527373565170451783978833292841086113709534006088235630868893957572088881406184238362480375398533467701926674285325991603704702581017751741444616991256319882499335041724424333898631870244226624956633524155169044477199618046792969874123374166382877829965309300946327670281763715840969841793431133477886420898870992256753350897055964333390582076985133659860021325980454306976114487158604134665667758381490598183087771885282918199287126999984330727800007754309256128435751857001957670154460347846586989 111380874574867346863201300812954065136004431561396773027609001781145031142379304146804916072564292445132264595755400937222426603745303340562675505716734524579714972505541586613625754787080312500035974652776187388266633007621059861133300140516510319941861414066947026886733687538511013992223894782588901442807061442810814725573361485970273110119136663175499557429629146291748278170443083324237617659440102543487497006926902198157046101247096708732769082200007184771748863873652896928251261260132569574034978522611512802744465529701450213724279738145462965615702950871861908489966607538143036901676418088623161166621941833644778645388844652444474126742424503070679819991171439357362759654084758602896661574127487721280330165634020378970333372867500477480254537564823892867543559602909972143078114113816963519315887104375231047288837589072826078443007314628922938019138308456105872691699841360301176143716624647683587548486698690155246665428337409338113689044729957523403425443177830372129563381018944880793599102214418276532900366145159401684551720400910289769932753250840001548151456946302979726111145222188738310304092044344847135418480479266106792904755192917400708285156049822006086979592782524634849155145577357029279839224231972796139859104668297549973375993474142194984371353936290570864156239412965450390686554971440020057917160300049777611326951219589865679362379958086076754408307642035403907198317557853086753720126441115177499596293252150395026892526893725809954390774672184605664174267308268872017276263004157615401606513603555191565213067209301127164795565981148589495932054572806943426718686576068893443750375901717260621903771423709482728833491976263385293604893614647044140273342723525607835291651813678289180540168628052316053293393686911013945513101742130550851116986140368217746308782868754899560585592821598151080845016913340972078795116194389477113280958815515440290109128264957084317141407721086205057891251577025865563146438784032701780654342530679155934145953465329859714418516078800887810270975872746337705615098703858949593749410502671826769287754081971760537539460165265998655635646925462632633978330425627195923097900490027392399514984111414882843610001331646260686366807677654157689863369718234846700677927712884526762306058321175847094120665018540809292021611249368002126784418202239111749338545549000217994825734310922917876575845989727775727712918021000398249651662833038927177250305599099571568650452890227593372660263333732580779607509972190032770524349675143321687234650843888189791460013165770920537594978571037183703242161892576923629163875476864291912313309584304160575042202951935954111922477610294293032582591655479872686082607372145286604301543834295245506249944710507415506018715511423597270055564127021931337377252078210104635742724953940016991040083618800688022272914109942772777553162610978540663633191470647922847073743737926105307017488796260916585327734068130562052169684606821434141134282103859837220898358116722998535967120027210026096535949201407 180218040758824361848259165435463624133672001772027953577592369716838324776349647953726174571513610221883021912396337116665421355955281483799278577674835001142490868263247487184051343867720411206445187500631850095446006304618187573619426654834178595527291731017342939024427914060140885382504172120751854379025128286220257502144002344480919870646082566787188260079232244311489953955401173146012370680425022670697484832368348520094641161957575542661187131334232730106134985065397398840890473557982539245936919784045868078849012414856711079410848831646573441412521250941426693613377342067586328607569298663205576433769985439366376181772330906918367819434259984701186308921799719835508035338088600941551229061301601291703898286798687917535494225559662532332624592893361174879483236862600464379543701083056466931592548521470506430290199794022712545477239171932880572981811307481074110660769434542059688313498586117830473916487965402124190338169901364520274166752843321231800845741988153562151563266997048220215931960691909342703812251882576001736716851698597384908286416410488646646419744039639104538422931570810856318469374261130277190912406165372444332196406900976381246349057867596478502448390831267080059353746008288105957296272641550924069909522433679980579584878776965246460419500459703205568656825785131464143486615966843121706271754805449931643075796236427367188846137707676581643273719715122259591544370017272530486192700949020281566748271437449939605769679075515848655888256769811964514776480032120148822502387162404890541014359048095017111349989028947134026122062295281113513360586186480966288820084983129453441061162925079989830578173177748800387826824741691153534035077502678381270818846739653699231459662718027934509795425719986206506109147115053957894572251368873172282161233891743216410362019336302764551060760363486152701346294246398225403519627969233048489235676187406666482768371335332559359386048325273342038754112294606944634062401616747723472236602263448075533554843710330506802775953964178171709220616172194506491518810494761522669648417684413969182110338733522772232570004567664394593322901803088275473411194633537387294179373401065324787902689420853593254065151868176473456721910280261889174086956783731143015863555694644345820000462342856380091966064483154162349973533266373464525466181336420637719196929772079067110346103063877668975020719570027059629297965575351892889529482650425382418713173879994670665020752117645351325751933751672611951677051695517422114676866016942892596762024409058641575438846458612006651304512577125419334111055850149012510570059715226772287711843052006087249327528943539658814503495362035737649573847975362372021124331796479185236171788060920202139774099879551892705636762304393471393429730509899761302686553024537774917506440794909858784471217096687108921143906366696123674609126944369122740618325130507944173054198044902219794176092930926584343709224666313649824054967525020721268134266434587637228652667372851434287824121984880180556883795788396 291598915333691708711460466248417689269676433333424726605201371497983355918728952100531090644077902667015286508151738053887847959700584824361954083391569525722205840768789073797677098654800723706481162153408037483712639312239247434752726795350688915469153145084289965911161601598651899374728066903340755821832189729031072227717363830451192980765219229962687817508861390603238232125844256470249988339865125214184981839295250718251687263204672251393956213534239914877883848939050295769141734818115108819971898306657380881593477944558161293135128569792036407028224201813288602103343949605729365509245716751828737600391927273011154827161175559362841946176684487771866128912971159192870794992173359544447890635429089012984228452432708296505827598427163009812879130458185067747026796465510436522621815196873430450908435625845737477579037383095538623920246486561803511000949615937179983352469275902360864457215210765514061464974664092279437003598238773858387855797573278755204271185165983934281126648015993101009531062906327619236712618027735403421268572099507674678219169661328648194571200985942084264534076792999594628773466305475124326330886644638551125101162093893781954634213917418484589427983613791714908508891585645135237135496873523720209768627101977530552960872251107441444790854395993776432813065198096914534173170938283141764188915105499709254402747456017232868208517665762658397682027357157663498742687575125617239912827390135459066344564689600334632662205969241658610279031441996570178950747340389020839778650166562505942620872651650208676563056238248261190917628276429703009292640759287909715538771559198346884811538826797250452481944601458283116660316717954538827639971117325425411092189463179307066751314531706223690335594348038522559402540801964971840085353111003723133278220032111434156670802205057664111646353185084303782191311159739197482314744163622525602516635002922106772877499600289643676527456046359547096645363871632810197208840400780425252890944794127231467700797175660366517194470042979059519491592044940844197133909198620472263397828187085795951398092815494532770109464732930393248958548728550908107389525059164583217277273891092717187417673532268476097675153199822734143088717957916046863950326501965989716541483407528872582306520664032227186086729501694971641995144515741466652250599538659749468535475321079285105171837374800586851596565559754835357010883596352291139181145483464309595963479479094242233671205007872944698412197085405192731284561667707454885201215692086214283996675252946831366898859624382927188899491148162603037353217742725936139733935192091064200025152636310247824369731895475612926425972972330030682156439630842244707206939168624471840473331895215447646024044590059308211655477815817068663485294636921692640063805102747879553249165748849875775511300715487796943416820476638896452162289555347663404251516601155867020127941782828325101193581727187500929036958734444211876224652131842155409268548538447474449551025489574432823791242012090206653419744989803 471816956092516070559719631683881313403348435105452680182793741214821680695078600054257265215591512888898308420548075170553269315655866308161232661066404526864696709032036560981728442522521134912926349654039887579158645616857435008372153450184867510996444876101632904935589515658792784757232239024092610200857318015251329729861366174932112851411301796749876077588093634914728186081245429616262359020290147884882466671663599238346328425162247794055143344868472644984018834004447694610032208376097648065908818090703248960442490359414872372545977401438609848440745452754715295716721291673315694116815015415034314034161912712377531008933506466281209765610944472473052437834770879028378830330261960485999119696730690304688126739231396214041321823986825542145503723351546242626510033328110900902165516279929897382500984147316243907869237177118251169397485658494684083982760923418254094013238710444420552770713796883344535381462629494403627341768140138378662022550416599987005116927154137496432689915013041321225463023598236961940524869910311405157985423798105059586505586071817294840990945025581188802957008363810450947242840566605401517243292810010995457297568994870163200983271785014963091876374445058794967862637593933241194431769515074644279678149535657511132545751028072687905210354855696982001469890983228378677659786905126263470460669910949640897478543692444600057054655373439240040955747072279923090287057592398147726105528339155740633092836127050274238431885044757507266167288211808534693727227372509169662281037328967396483635231699745225787913045267195395217039690571710816522653226945768876004358856542327800325872701751877240283060117779207083504487141459645692361675048620003806681911036202833006298210977249734158200131020068024729065511687917018929734657604479876895415439453923854650567032821541360428662707113548570456483537605406137422885834372132855574091752311190328773255645870935622203035913504371632889135399476166239754831271242017528148725127547057575307001255640885990873319970424007157231228712208217135350688652719693381994933046245871499765133508431549017305002679469300594787842281450531639183580800719692701970511456647292158041975320362953122069351740305067999207599810628238177936038037283285697132732405039102173218402306983006888607278052793984849133991968677782114931177716780875080387187732405093158352215517940438678255826617285129781894986308849171704184028710628133889692014676653359088912898691957125518296024164130837077804682961613363224876999878081709029106880758699662005472942337706082994933840204003725288022371464273592874948650303994907317836487736995688316335073697260839015271740929468334365768331730287606204616728331270965103657076645119956135649785798144469611200917292240120210540056915025146821453942750358127285654470755606543759734559982517812174905864560726843335020126771416499716786144869841731663811193182139827730544895369674658114085272746183400757861700279619656862876677402814973035111678203692862425867111615363996970387210303540778199 763415871426207779271180097932299002673024868438877406787995112712805036613807552154788355859669415555913594928699813224441117275356451132523186744457974052586902549800825634779405541177321858619407511807447925062871284929096682443124880245535556426465598021185922870846751117257444684131960305927433366022689507744282401957578730005383305832176521026712563895096955025517966418207089686086512347360155273099067448510958849956598015688366920045449099558402712559861902682943497990379173943194212756885880716397360629842035968303973033665681105971230646255468969654568003897820065241279045059626060732166863051634553839985388685836094682025644051711787628960244918566747742038221249625322435320030447010332159779317672355191664104510547149422413988551958382853809731310373536829793621337424787331476803327833409419773161981385448274560213789793317732145056487594983710539355434077365707986346781417227929007648858596846437293586683064345366378912237049878347989878742209388112320121430713816563029034422234994086504564581177237487938046808579253995897612734264724755733145943035562146011523273067491085156810045576016306872080525843574179454649546582398731088763945155617485702433447681304358058850509876371529179578376431567266388598364489446776637635041685506623279180129350001209251690758434282956181325293211832957843409405234649585016449350151881291148461832925263173039201898438637774429437586589029745167523764966018355729291199699437400816650608871094091013999165876446319653805104872677974712898190502059687495529902426256104351395434464476101505443656407957318848140519531945867705056785719897628101526147210684240578674490735542062380665366621147458177600231189315019737329232093003225666012313364962291781440381890466614416063251624914228718983901574742957590880618548717673955966084723703623746418092774353466733654760265728916565876620368149116296478099694268946193250880028523370535911846712440960417992436232044840037872565028480082418308573978018491851702538468956438061651239837164894050136290748203800262076194885786628892002467196444074058585561084906524364511837772788934033525181091239999260190091688190244751866553728733921183250759162738036485390545449415458267821941742899346196093982901987609787663122448946522509702090984613503670920834464139523486544105633963822297856397829967380413740136656267880414237637320689777813478842678213850689536730343319732768056475167891773617354001610640132838183155132363162133391240722576327922482997414246175030932331885079297401115321164755374914952304309236565707377861029103494873450625408817491335600884790037930099408900687762148324626582898066992734490884667355441306695799013886727237046861435538210133728128917118451851351097431822189059670509128947717936027608720400319783743146582814163230033534024004772292609610335493818527662702807977547319973916578933706055064449549121358332819678213310081610558869996563256385301586201783142135202073576504271788705032086671363511482586127754718352000299935406606009060593863723285768002 1235232827518723849830899729616180316076373303544330086970788853927626717308886152209045621075260928444811903349247888394994386591012317440684419405524378579451599258832862195761133983699842993532333861461487812642029930545954117451497033695720423937462042897287555775782340632916237468889192544951525976223546825759533731687440096180315418683587822823462439972685048660432694604288335115702774706380445420983949915182622449194944344113529167839504242903271185204845921516947945684989206151570310404951789534488063878802478458663387906038227083372669256103909715107322719193536786532952360753742875747581897365668715752697766216845028188491925261477398573432717971004582512917249628455652697280516446130028890469622360481930895500724588471246400814094103886577161277553000046863121732238326952847756733225215910403920478225293317511737332040962715217803551171678966471462773688171378946696791201969998642804532203132227899923081086691687134519050615711900898406478729214505039474258927146506478042075743460457110102801543117762357848358213737239419695717793851230341804963237876553091037104461870448093520620496523259147438685927360817472264660542039696300083634108356600757487448410773180732503909304844234166773511617625999035903673008769124926173292552818052374307252817255211564107387740435752847164553671889492744748535668705110254927398991049359834840906432982317828412641138479593521501717509679316802759921912692123884068446940332530236943700883109525976058756673142613607865613639566405202085407360164340724824497298909891336051140660252389146772639051624997009419851336054599094650825661724256484643853947536556942330551731018602180159872450125634599637245923550990068357333038774914261868845319663173269031174540090597634484087980690425916636002831309400562070757513964157127879820735290736445287778521437060580282225216749266521972014043253983488429333673786021257383579653284169241471534049748354464789625325367444316204112319859751324435836722703146038909277845470212078947642113157135318057293521976916008479211545574439348585384462129490319930085326218414955913529142775468403334119968933521449791829275268990964444568524240190568475408801138058399438512614801155763335821149342709974434271918940024893073360255181351561611875309386920486677809441742192317471393239625932500079971329007684161288820523844000285507395989536207718252157098504831135819318625329628581939760659196602401751243693625316786197272068031055119258909536746740458759560802097207788394157208884957379110144428045514074576957777251574271790372794869307498598738647780281764928475833440341925006726737175499144012942917971764253573506156408284909641061567345617014843251478163869481098831785993763571807486747217620333529281710046239958056238148777315344930564600525564521357319188494760378836369344895476336339837608672538274163308936705705122554781235693991200064483489406492221438289414891932931043415671474529325535959935276783891445567908764074178484517697805958411214426167047021970006030981074026826546201 1998648698944931629102079827548479318749398171983207493758783966640431753922693704363833976934930344000725498277947701619435503866368768573207606149982352632038501808633687830540539524877164852151741373268935737704901215475050799894621913941255980363927640918473478646629091750173682153021152850878959342246236333503816133645018826185698724515764343850175003867782003685950661022495424801789287053740600694083017363693581299151542359801896087884953342461673897764707824199891443675368380094764523161837670250885424508644514426967360939703908189343899902359378684761890723091356851774231405813368936479748760417303269592683154902681122870517569313189186202392962889571330254955470878080975132600546893140361050248940032837122559605235135620668814802646062269430971008863373583692915353575751740179233536553049319823693640206678765786297545830756032949948607659273950182002129122248744654683137983387226571812181061729074337216667769756032500897962852761779246396357471423893151794380357860323041071110165695451196607366124294999845786405022316493415593330528115955097538109180912115237048627734937939178677430542099275454310766453204391651719310088622095031172398053512218243189881858454485090562759814720605695953089994057566302292271373258571702810927594503558997586432946605212773359078498870035803345878965101325702591945073939759839943848341201241125989368265907581001451843036918231295931155096268346547927445677658142239797738140031967637760351491980620067072755839019059927519418744439083176798305550666400412320027201336147440402536094716865248278082708032954328267991855586544962355882447444154112745380094747241182909226221754144242540537816746782057814846154740305088094662270867917487534857633028135560812614921981064248900151232315340145354986732884143519661638132512874801835786820014440069034196614211414047015879977014995438537890663622132604725811773480290203576830533312692612007445896460795425207617761599489156241984884888231406854145296681164530760980383939168517009293352994300212107429812725119808741287740460225977477386929325934393988670887303321480278040980548257337367645150024761449052019366957181209196435077968924489658659560300796435923903160250571221603643091085609320630365901842012502861023377630298084121577400371533990348730276206331840957937345259896322377827726837651541702560660500268165921633626856897496065635941183044986508855355672948314707817134364494175368597695235956919035455223163418281392300777469316786682043799511453963425089540770036676511259749210269449491910081560810837497750655898410993472189273189099256264076718230379855106135637863261292337569500869831246307997041075640350947757366359503742080298339599407691232559914910882023658837844649442522588952219175187675992265757497715664714307747108378684587352722518765151128978955230970154867500311480515821483282853284638828609845685243112558397303167619802303048848284888496187428717257676312467671162008853288163234272940850745541996000283933713129566426466982428576015091574937750112314203 3233881526463655478932979557164659634825771475527537580729572820568058471231579856572879598010191272445537401627195590014429890457381086013892025555506731211490101067466550026301673508577007845684075234730423550346931146021004917346118947636976404301389683815761034422411432383089919621910345395830485318469783159263349865332458922366014143199352166673637443840467052346383355626783759917492061760121046115066967278876203748346486703915425255724457585364945082969553745716839389360357586246334833566789459785373488387446992885630748845742135272716569158463288399869213442284893638307183766567111812227330657782971985345380921119526151059009494574666584775825680860575912767872720506536627829881063339270389940718562393319053455105959724091915215616740166156008132286416373630556037085814078693026990269778265230227614118431972083298034877871718748167752158830952916653464902810420123601379929185357225214616713264861302237139748856447719635417013468473680144802836200638398191268639285006829519113185909155908306710167667412762203634763236053732835289048321967185439343072418788668328085732196808387272198051038622534601749452380565209123983970630661791331256032161868819000677330269227665823066669119564839862726601611683565338195944382027696628984220147321611371893685763860424337466466239305788650510432636990818447340480742644870094871247332250600960830274698889898829864484175397824817432872605947663350687367590350266123866185080364497874704052375090146043131512512161673535385032384005488378883712910830741137144524500246038776453676754969254395050721759657951337687843191641144057006708109168410597389234042283798125239777952772746422700410266872416657452092078291295156451995309642831749403702952691308829843789462071661883384239213005766061990989564193544081732395646477031929715607555305176514321975135648474627298105193764261960509904706876116093155145447266311460960410186596861853478979946209149889997243086966933472446097204747982731289982019384310569670258229409380595956935466151435530164723334702035817220499286034665326062771391455424713918756213521736436191570123323725740701765118958282898843848642226172173641003602209115058134068361438854835362415775051726984939464240428319295064637820782037395934383632811649645733452709758454477026539717948524158429330584885828822457799055845335702991381184344268451429029616393105214317793039687876122328173981002576896647577793561096577119841388861273705232727291194473400651210314216057245441604601608661751819246749654994055621404177255783524068867858812385109288123450767718492070927920969381021192552551670721780112862375038760436350512418841595499881503197483925260588818933705120756923549817763277172331391700904645595466324591867062856118233929221427634048503906275031009644872347633943205944671911013525529965348300126446491207337920153054095646591789990343951164626920937103758461786657026294524487137699780429118472132929150841793207121944130072054679840849614819720480517981739671540780852634029450546021122556011776938860404 5232530225408587108035059384713138953575169647510745074488356787208490225154273560936713574945121616446262899905143291633865394323749854587099631705489083843528602876100237856842213033454172697835816607999359288051832361496055717240740861578232384665317324734234513069040524133263601774931498246709444660716019492767165998977477748551712867715116510523812447708249056032334016649279184719281348813861646809149984642569785047498029063717321343609410927826618980734261569916730833035725966341099356728627130036258912896091507312598109785446043462060469060822667084631104165376250490081415172380480748707079418200275254938064076022207273929527063887855770978218643750147243022828191384617602962481610232410750990967502426156176014711194859712584030419386228425439103295279747214248952439389830433206223806331314550051307758638650849084332423702474781117700766490226866835467031932668868256063067168744451786428894326590376574356416626203752136314976321235459391199193672062291343063019642867152560184296074851359503317533791707762049421168258370226250882378850083140536881181599700783565134359931746326450875481580721810056060218833769600775703280719283886362428430215381037243867212127682150913629428934285445558679691605741131640488215755286268331795147741825170369480118710465637110825544738175824453856311602092144149932425816584629934815095673451842086819642964797479831316327212316056113364027702216009898614813268008408363663923220396465512464403867070766110204268351180733462904451128444571555682018461497141549464551701582186216856212849686119643328804467690905665955835047227689019362590556612564710134614137031039308149004174526890665240948083619198715266938233031600244546657580510749236938560585719444390656404384052726132284390445321106207345976297077687601394033778989906731551394375319616583356171749859888674313985170779257399047795370498248697880957220746601664537240719909554465486425842669945315204860848566422628688082089636214138144127316065475100431238613348549112966228819145735742272153147427155625961787026494891303540158320781359107907427100825057916469611103871983078069410268983044347895868009183353382837438680178039547792727921739651271286318935302298206543107331513928615695003722624049898795407010441947729855030110129988467375269994154855999387267930145725144835626782682987244693941844844536617350663243250002710383428980870921108837029336675525211355394927925590752488439084097230624268182514357891682043511091685374032123648401120115715244336290425030732132663926466052973560777940373195946785874106666129485543117194158480277456629269901101635218998012902021728688081919711426746189500238559565611536576300064624499003848157362684863563951615815527619125162436516505378707186148396615310040769663772746674359180094742321890532024633532290681094327255357416646074838231633569917129874643274982779774472606180216316859089824646096827535985984668925305900850186827154260878283952983360217914113790465565262476518265673384670347279101011879122036214130949527051174607 8466411751872242586968038941877798588400941123038282655217929607776548696385853417509593172955312888891800301532338881648295284781130940600991657260995815055018703943566787883143886542031180543519891842729782838398763507517060634586859809215208788966707008549995547491451956516353521396841843642539929979185802652030515864309936670917727010914468677197449891548716108378717372276062944636773410573982692924216951921445988795844515767632746599333868513191564063703815315633570222396083552587434190295416589821632401283538500198228858631188178734777038219285955484500317607661144128388598938947592560934410075983247240283444997141733424988536558462522355754044324610723155790700911891154230792362673571681140931686064819475229469817154583804499246036126394581447235581696120844804989525203909126233214076109579780278921877070622932382367301574193529285452925321179783488931934743088991857442996354101677001045607591451678811496165482651471771731989789709139536002029872700689534331658927873982079297481984007267810027701459120524253055931494423959086171427172050325976224254018489451893220092128554713723073532619344344657809671214334809899687251349945677693684462377249856244544542396909816736696098053850285421406293217424696978684160137313964960779367889146781741373804474326061448292010977481613104366744239082962597272906559229500029686343005702443047649917663687378661180811387713880930796900308163673249302180858358674487530108300760963387168456242160912153335780863342406998289483512450059934565731372327882686609076201828224993309889604655374038379526227348857003643678238868833076369298665780975307523848179314837433388782127299637087941358350491615372719030311322895400998652890153580986342263538410753220500193846124388015668629658326872269336965861271231683126429425466938661267001930624793097678146885508363301612090364543519359557700077374364791036102668012913125497650906506416318965405788879095205202103935533356101134179294384196869434109335449785670101496842757929708923164285297171272436876482129191443182286312529556629602929712236783821826183314346794352661181227195708818771175387941327246739716651409525556478442282387154605926796283178506106648734710354025191482571571942247910759641543406087294729790643253597375588482819888442944401809712103380157816598515031553967293425838528322947685323029188805068779692859643107924701222020558797231165203317678102108002972721486687329608280472958504329500909805552365082694721405901431277565253002728777467063583040080024787754068103721836497629645799185581056073997557433847977614045115127861298649181821571823415331860387940782165038594338553022246071003436043490872125395233769745255927397975125962035895343316720173214591487028383568234825420077618042944089273570047777684004052442376265096476696544545816211059675555483863137282176151786624012776466433265326730939099527117320075320876481672391352023123684449354424372983115977996054085405897113432272593954640080384982957036247413056211128131735041329668057336686961303990035011 13698941977280829695003098326590937541976110770549027729706286394985038921540126978446306747900434505338063201437482173282160679104880795188091288966484898898547306819667025739986099575485353241355708450729142126450595869013116351827600670793441173632024333284230060560492480649617123171773341889249374639901822144797681863287414419469439878629585187721262339256965164411051388925342129356054759387844339733366936564015773843342544831350067942943279441018183044438076885550301055431809518928533547024043719857891314179630007510826968416634222196837507280108622569131421773037394618470014111328073309641489494183522495221509073163940698918063622350378126732262968360870398813529103275771833754844283804091891922653567245631405484528349443517083276455512623006886338876975868059053941964593739559439437882440894330330229635709273781466699725276668310403153691811406650324398966675757860113506063522846128787474501918042055385852582108855223908046966110944598927201223544762980877394678570741134639481778058858627313345235250828286302477099752794185337053806022133466513105435618190235458354452060301040173949014200066154713869890048104410675390532069229564056112892592630893488411754524591967650325526988135730980085984823165828619172375892600233292574515630971952110853923184791698559117555715657437558223055841175106747205332375814129964501438679154285134469560628484858492497138600029937044160928010379683147916994126367082851194031521157428899632860109231678263540049214523140461193934640894631490247749833825024236073627903410411210166102454341493681708330695039762669599513286096522095731889222393540017658462316345876741537786301826527753182306434110814087985968544354495645545310470664330223280824124130197611156598230177114147953020103647978476682942158348919284520463204456845392818396305944409681034318635368251975926075535322776758605495447872613488917059888759514790034891626415970784451831631549040520406964784099778729822261384020411007578236651515260770532735456106478821889393104442907014709029629556347069144073339024447933143088033018142929733610415171852269130792331067691896840585656924371594635584660592878939315880962565194153719524204918157377935053645656323398025678903456176526454645266030137193525197653695545105443512930018431411777079706258236157203866445177279112129052621211310192379264874033341686130356102893110635084651001429718340002232654353627319358367649412278082096719557055734953769092319910256764738232497586805309688901403848893182307919330505055519886732030187889471190423739558777002859871664099977463157162309286341576105811091472925050550858400842803893726676258264448992260503674603056483661971533834369754931246132488646899459294932535700833716649464900073613532606226014658254130043233820524358363232537118586987008721178078106892154002810841279783357014383420193929906341076540309510713572133297536392179966306318488179559109669118279730273833302805150314963689850096792490508068430545950245433554513086440881475410836053208790093550817910831041209618 22165353729153072281971137268468736130377051893587310384924216002761587617925980395955899920855747394229863502969821054930455963886011735789082946227480713953566010763233813623129986117516533784875600293458924964849359376530176986414460480008649962598731341834225608051944437165970644568615185531789304619087624796828197727597351090387166889544053864918712230805681272789768761201405073992828169961827032657583888485461762639187060598982814542277147954209747108141892201183871277827893071515967737319460309679523715463168507709055827047822400931614545499394578053631739380698538746858613050275665870575899570166769735504954070305674123906600180812900482486307292971593554604230015166926064547206957375773032854339632065106634954345504027321582522491639017588333574458671988903858931489797648685672651958550474110609151512779896713849067026850861839688606617132586433813330901418846851970949059876947805788520109509493734197348747591506695679778955900653738463203253417463670411726337498615116718779260042865895123372936709948810555533031247218144423225233194183792489329689636679687351574544188855753897022546819410499371679561262439220575077783419175241749797354969880749732956296921501784387021625041986016401492278040590525597856536029914198253353883520118733852227727659117760007409566693139050662589800080258069344478238935043629994187781684856728182119478292172237153677949987743817974957828318543356397219174984725757338724139821918392286801316351392590416875830077865547459483418153344691424813481206152906922682704105238636203475992058996867720087856922388619673243191524965355172101187888174515325182310495660714174926568429126164841123664784602429460704998855677391046543963360817911209623087662540950831656792076301502163621649761974850746019908019620150967646892629923784054085398236569202778712465520876615277538165899866296118163195525246978279953162556772427915532542532922387103417237420428135725609068719633134830956440678404607877012345986965046440634232298864408530812557389740078287145906111685538512326359651554004562746017745254926751559793729518646621791973558263400715611761044865698841375301312002404495794323244952348759646320488096663484583788356010348589508250475398424437214286809436224488254988296949142481031995749906874356178889418361616315020464960208833079422478459739633140064587903222146754910048962536218559785873021988515571167435972031729427361340370898965411705000030014239283270002125462621847432953903488236587254154406577670649371502370585080307640800133909725968820069538744358058933869221533825440771207424414202874754992913044748465882718788783586058765270596817471238331507110646547355787366767604115010858644107614608935354638249255874048308136493283641848358026303632701198219316803868302042367284979494852083485417722623923103213678366325142920639190535206817942682807509805636241652671660414856467500842787990879531582233353567634154646816418783146369049095747210224763102023070626335228390590760499497092603542571094538458150887504872135031244629 35864295706433901976974235595059673672353162664136338114630502397746626539466107374402206668756181899567926704407303228212616642990892530977174235193965612852113317582900839363116085693001887026231308744188067091299955245543293338242061150802091136230755675118455668612436917815587767740388527421038679258989446941625879590884765509856606768173639052639974570062646437200820150126747203348882929349671372390950825049477536482529605430332882485220427395227930152579969086734172333259702590444501284343504029537415029642798515219882795464456623128452052779503200622763161153735933365328627161603739180217389064350292230726463143469614822824663803163278609218570261332463953417759118442697898302051241179864924776993199310738040438873853470838665798947151640595219913335647856962912873454391388245112089840991368440939381148489170495315766752127530150091760308943993084137729868094604712084455123399793934575994611427535789583201329700361919587825922011598337390404476962226651289121016069356251358261038101724522436718171960777096858010131000012329760279039216317259002435125254869922809928996249156794070971561019476654085549451310543631250468315488404805805910247562511643221368051446093752037347152030121747381578262863756354217028911922514431545928399151090685963081650843909458566527122408796488220812855921433176091683571310857759958689220364011013316589038920657095646175088587773755019118756328923039545136169111092840189918171343075821186434176460624268680415879292388687920677352794239322915061231039977931158756332008649047413642094513338361401796187617428382342842704811061877267833077110568055342840772812006590916464354730952692594305971218713243548690967400031886692089273831482241432903911786671148442813390306478616311574669865622829222702850177969070252167355834380629446903794542513612459746784156244867253464241435189072876768690973119591768870222445531942705567434159338357887869069051977176246016033503732913560778702062425018884590582638480307211166967754970887352701950494182985301854935741241885581470432990578452495889105778273069681293404144690498890922765889331092612452346701790070436010885972595283435110204207517542913365844693014820862518842001666671987533929378854600963668932075466361681780185950644687586475508679925305767955969124619852472224331405386112191551531080950943332443852777255488441040405065429329194870524023418233911169668626385356746719708020311243493801719587069974237039094445372878612171186401075041896943055810426563831679421701090135827527532164097615440010493278303135061793740885633802903928369733700544450860804004517673516433577189626389952491946855081920230592010785249603839449338301438484765789890240103255834813933181791574882024785958183715461890632529647359452349360037688826400730517516613439070494138900702029995367681177166422703996204918627011872589148586345945752366243793712392859680809094309367711141343022685913884920649721588296684012785597307017253610091501172285473824145273585937974078953407147747248244438322782966072454247 58029649435586974258945372863528409802730214557723648499554718400508214157392087770358106589611929293797790207377124283143072606876904266766257181421446326805679328346134652986246071810518420811106909037646992056149314622073470324656521630810741098829487016952681276664381354981558412309003712952827983878077071738454077318482116600243773657717692917558686800868327709990588911328152277341711099311498405048534713534939299121716666029315697027497575349437677260721861287918043611087595661960469021662964339216938745105967022928938622512279024060066598278897778676394900534434472112187240211879405050793288634517061966231417213775288946731263983976179091704877554304057508021989133609623962849258198555637957631332831375844675393219357498160248321438790658183553487794319845866771804944189036930784741799541842551548532661269067209164833778978391989780366926076579517951060769513451564055404183276741740364514720937029523780550077291868615267604877912252075853607730379690321700847353567971368077040298144590417560091108670725907413543162247230474183504272410501051491764814891549610161503540438012547967994107838887153457229012572982851825546098907580047555707602532392392954324348367595536424368777072107763783070540904346879814885447952428629799282282671209419815309378503027218573936689101935538883402656001691245436161810245901389952877002048867741498708517212829332799853038575517572994076584647466395942355344095818597528642311164994213473235492812016859097291709370254235380160770947584014339874712246130838081439036113887683617118086572335229121884044539817002016085896336027232439934264998742570668023083307667305091390923160078857435429636003315673009395966255709277738633237192300152642526999449212099274470182382780118475196319627597679968722758197589221219814248464304413500989192779082815238459249677121482531002407335055368994931886498366570048823385002304370621099976692260744991286306472405311971625102223366048391735142740829626761602928625445353651801200053835295883514507883923063589000841852927424093796792642132457058635123523527996432853197874209145512714739447594493328064107746655769277386187284597687930904527452469891673012165181111484347102630357677020577042179854253025400883218884902586170035174247593830067507504429832180124134858542981468787244796365594945270974009540690576472508440680477635195950454027965547754656397045406749482337104598417086174081048391210208905506719617084213520309096570835500459604140304563278484197210217004234481050924071675216135168332298007341408830562817047493120727610107167628344699577158114747325615796917562421982316295978409976011257217451899391468923517895896151195236705069042599776648534347717864770168571431047448930332922451467357310248658833280060650568676841557128443097802496108291153979556623325953098581359543491565624635395453833829815271956096151581994018915454127249327181651882300247242723576376253548039567466140371443053061881344517242016712114571798620702214736034085435066682495978242285706395325827655101103698876 93893945142020876235919608458588083475083377221859986614185220798254840696858195144760313258368111193365716911784427511355689249867796797743431416615411939657792645929035492349362157503520307837338217781835059147449269867616763662898582781612832235060242692071136945276818272797146180049392240373866663137066518680079956909366882110100380425891331970198661370930974147191409061454899480690594028661169777439485538584416835604246271459648579512718002744665607413301830374652215944347298252404970306006468368754353774748765538148821417976735647188518651058400979299158061688170405477515867373483144231010677698867354196957880357244903769555927787139457700923447815636521461439748252052321861151309439735502882408326030686582715832093210968998914120385942298778773401129967702829684678398580425175896831640533210992487913809758237704480600531105922139872127235020572602088790637608056276139859306676535674940509332364565313363751406992230534855430799923850413244012207341916972989968369637327619435301336246314939996809280631503004271553293247242803943783311626818310494199940146419532971432536687169342038965668858363807542778463883526483076014414395984853361617850094904036175692399813689288461715929102229511164648803768103234031914359874943061345210681822300105778391029346936677140463811510732027104215511923124421527845381556759149911566222412878754815297556133486428446028127163291328013195340976389435487491513206911437718560482508070034659669669272641127777707588662642923300838123741823337254935943286108769240195368122536731030760181085673590523680232157245384358928601147089109707767342109310626010863856119673896007855277891031550029735607222028916558086933655741164430722511023782394075430911235883247717283572689258734786770989493220509191425608375558291471981604298685042947892987321596427698206033833366349784466648770244441871700577471486161817693607447836313326667410851599102879155375524382488217641135727098961952513844803254645646193511263925660862968167808806183236216458378106048890855777594169309675267225632710909554524229301801066114146602018899644403637505336925585940516454448445839713397073257192971366014731659987434586378009874126305209621472359343692564576109233107626364552150960368947851815360198238517653983013109757485892090827667601321259469127770981057462525540621641519804952293457733123636990859093394876949526921068824983393506773224802442920800756411521452399308439204154187757348191016208379071775326705638320381140266027430798312730345772765351962695864462104956848841056095350628182521350992801431248627946891815291776476600922080095498749873168036365963749164306981311699515528681145755034686043370481084542438424587821120604982504612839023812357708409651072772139291362927420102918036879245954843828320012721730224473695524027983093949040720657988328631600372460841687861104682497527746385159247839642186862460976609614953864919398939461924488115861959739737074666941824259270322206072970906176038881307671373040761449385390032954639764150438067176153123 151923594577607850494864981322116493277813591779583635113739939198763054854250282915118419847980040487163507119161551794498761856744701064509688598036858266463471974275170145335608229314038728648445126819482051203598584489690233987555104412423573333889729709023818221941199627778704592358395953326694647015143590418534034227848998710344154083609024887757348171799301857181997972783051758032305127972668182488020252119356134725962937488964276540215578094103284674023691662570259555434893914365439327669432707971292519854732561077760040489014671248585249337298757975552962222604877589703107585362549281803966333384416163189297571020192716287191771115636792628325369940578969461737385661945824000567638291140840039658862062427391225312568467159162441824732956962326888924287548696456483342769462106681573440075053544036446471027304913645434310084314129652494161097152120039851407121507840195263489953277415305024053301594837144301484284099150123035677836102489097619937721607294690815723205298987512341634390905357556900389302228911685096455494473278127287584037319361985964755037969143132936077125181890006959776697250961000007476456509334901560513303564900917325452627296429130016748181284824886084706174337274947719344672450113846799807827371691144492964493509525593700407849963895714400500612667565987618167924815666964007191802660539864443224461746496314006073346315761245881165738808901007271925623855831429846857302730035247202793673064248132905162084657986874999298032897158680998894689407351594810655532239607321634404236424414647878267658008819645564276697062386375014497483116342147701607108053196678886939427341201099246201051110407465165243225344589567482899911450442169355748216082546717957910685095346991753755072038853261967309120818189160148366573147512691795852762989456448882180100679242936665283510487832315469056105299810866632463969852731866516992450140683947767387543859847870441681996787800189266237950465010344248987544084272407796439889371014514769367862641479119730966262029112479856619447096733769064018274843366613159352825329062546999799893108789916352244784520079268580562195101608990783260541790659296919259112457326259390175055237789556724102717020713141618289087360651765435369845271534021850534445832347721490517539589666016225686210582790046713924136576002733499550162332096277460734138210758832941313121360424704183318114231732875843877823219529094881804802731661304815158821238401277657287587043879531379467010201598865337476244435032793781269844440568097864196760112298257671618912398121303248961099969059593327524049930039102092397839642517481066169146446341975006381758880703168439046577041906229922748439523684319086958935538985375151076043886472742690630861118430082387950196207480753486713720803083286926122508830021378453252147353936192530400264149553953266995826294671503133060778649109740404074701966891514044112858909862196588495775193009964055582002331182790136548286341501287034320644769526878253617341756808107443945363632318661035089978093168279851999 245817539719628726730784589780704576752896969001443621727925159997017895551108478059878733106348151680529224030945979305854451106612497862253120014652270206121264620204205637684970386817559036485783344601317110351047854357306997650453687194036405568949972401094955167218017900575850772407788193700561310152210109098613991137215880820444534509500356857956009542730276004373407034237951238722899156633837959927505790703772970330209208948612856052933580838768892087325522037222475499782192166770409633675901076725646294603498099226581458465750318437103900395699737274711023910775283067218974958845693512814644032251770360147177928265096485843119558255094493551773185577100430901485637714267685151877078026643722447984892749010107057405779436158076562210675255741100290054255251526141161741349887282578405080608264536524360280785542618126034841190236269524621396117724722128642044729564116335122796629813090245533385666160150508052891276329684978466477759952902341632145063524267680784092842626606947642970637220297553709669933731915956649748741716082071070895664137672480164695184388676104368613812351232045925445555614768542785940340035817977574927699549754278943302722200465305709147994974113347800635276566786112368148440553347878714167702314752489703646315809631372091437196900572854864312123399593091833679847940088491852573359419689776009446874625251129303629479802189691909292902100229020467266600245266917338370509641472965763276181134282792574831357299114652706886695540081981837018431230688849746598818348376561829772358961145678638448743682410169244508854307770733943098630205451855468949217363822689750795547015097107101478942141957494900850447373506125569833567191606600078259239864940793388821920978594709037327761297588048738298614038698351573974948705804163777457061674499396775167422275670634871317343854182099935704875544252738333041441338893684210599897976997274434798395458950749597057521170288406907373677563972296762832347338918053989951153296675377737535671447662355947424640135161370712397041266043444331243907554276167683582127130128661146401912008434319989750121445665209097016643547448704180333798983630662933990772444760845768184929364094766345575076364405706194398320468278129987520805640481873665894644070865375473530649347151908316513878184111306183051907557060196025090783973616082413027595943882469932172214755301653710239183056716269350651048021972015682561214253113704123598025392589035005478603252258603154793715839919246477742271865831106511615617205920060560061222217255106512675007748749485770312092770490841955470941745330878568998761722612979816042314482707938755546065862014867954575258187661264608791810004768861525383523360105980133580656725496555048339270769502854527241559134900856404750600049038130754442521551751602926947671381919286479440984807542281898596198755513190994165461146637486789233949806533700906573835519477150453415174132471888543697864290922527211215228165760557356526717740433054292498649428181148205394749022351615674854128531235456005122 397741134297236577225649571102821070030710560781027256841665099195780950405358760974997152954328192167692731150107531100353212963357198926762808612689128472584736594479375783020578616131597765134228471420799161554646438846997231638008791606459978902839702110118773389159217528354555364766184147027255957167353699517148025365064879530788688593109381745713357714529577861555405007021002996755204284606506142415526042823129105056172146437577132593149158932872176761349213699792735055217086081135848961345333784696938814458230660304341498954764989685689149732998495250263986133380160656922082544208242794618610365636186523336475499285289202130311329370731286180098555517679400363223023376213509152444716317784562487643754811437498282718347903317239004035408212703427178978542800222597645084119349389259978520683318080560806751812847531771469151274550399177115557214876842168493451851071956530386286583090505550557438967754987652354375560428835101502155596055391439252082785131562371599816047925594459984605028125655110610059235960827641746204236189360198358479701457034466129450222357819237304690937533122052885222252865729542793416796545152879135441003114655196268755349496894435725896176258938233885341450904061060087493113003461725513975529686443634196610809319156965791845046864468569264812736067159079451847772755755455859765162080229640452671336371747443309702826117950937790458640909130027739192224101098347185227812371508212966069854198530925479993441957101527706184728437240662835913120638040444557254350587983883464176595385560326516716401691229814808785551370157108957596113321794003170556325417019368637734974356298206347679993252364960066093672718095693052733478642048769434007455947487511346732606073941700791082833336441310705607734856887511722341521853316855573309824663955845657347522954913571536600854342014415404760980844063604965505411191625550727592348117681222202185939318798620038739517958088596173611628028982641011819891423190461786391042667689892506903534089141475678390902164273850569016488362777213395262182397642780842934952459191208146201805117224236341994905965744477677578838649057694963594340774289959853249884902087105158359984601884323069677793385118847812687407828929895422890650912015895516429089903213096964048188936817924542200088766901352896976044133062929524640946305712359873761734154641302873485336115726357893557297288449145194528871241501110564366016984775008938756846630990312662766190296138134534260726041518111815218516300863900292885461646488158424257982329553364184293920146870789019273192739550435282994991675369980661396601365130460882211460929049913761927824742718036393621835229567494531540249528453180612342458899091355284656700611969297738970131887932936915191755342381609891464320852121417680565030381772981380199818735855479009841248957096235165592025050184694127226239795747227193308651773425214950686694429339347041910949325481852599279866622105317347763514507261844390847362509959932546115991184989255649340112654670276709944106624403735857121 643558674016865303956434160883525646783607529782470878569590259192798845956467239034875886060676343848221955181053510406207664069969696789015928627341398678706001214683581420705549002949156801620011816022116271905694293204304229288462478800496384471789674511213728556377235428930406137173972340727817267319563808615762016502280760351233223102609738603669367257259853865928812041258954235478103441240344102343031833526902075386381355386189988646082739771641068848674735737015210554999278247906258595021234861422585109061728759530922957420515308122793050128698232524975010044155443724141057503053936307433254397887956883483653427550385687973430887625825779731871741094779831264708661090481194304321794344428284935628647560447605340124127339475315566246083468444527469032798051748738806825469236671838383601291582617085167032598390149897503992464786668701736953332601564297135496580636072865509083212903595796090824633915138160407266836758520079968633356008293780884227848655830052383908890552201407627575665345952664319729169692743598395952977905442269429375365594706946294145406746495341673304749884354098810667808480498085579357136580970856710368702664409475212058071697359741435044171233051581685976727470847172455641553556809604228143232001196123900257125128788337883282243765041424129124859466752171285527620695843947712338521499919416462118210996998572613332305920140629699751543009359048206458824346365264523598322012981178729346035332813718054824799256216180413071423977322644672931551868729294303853168936360445293948954346706005155165145373639984053294405677927842900694743527245858639505542780842058388530521371395313449158935394322454966944120091601818622567045833655369512266695812428304735554527052536409828410594634029359443906348895585863296316470559121019350766886338455242432514945230584206407918198196196515340465856388316343298546852530519234938192246094678496636984334777749369635797039128377003080985305592954937774652238762108515776342195964365270244439205536803831625815542299435221281413529628820657726506089951918948526517079589319869292603717125658556331745027411409686774595482196506399143928139757920622787240657346847950926544913965979089415252869749524554007085728297208025410411456552497769182323733974078472437578838283969832858713966951012659080027951690123125549731730279328442286789330098523772805657550871028011603796480345165414545179919263473126246927231237888713062354872023579347668244793548396737689054441881437358292960788166695006804501078852408218984319204546808470696968927895620274789585285510041277238465933420700859230395363087743440698253775411757852517473890604732904348197093417228759140332059533222042137725982259197335418237357337465852787309402657435791442433314477282466296214920901159548435007551933524584307147490117774765489282233764638517064188223805697885121391700942384713982542601579958915857260529948816497495326123457953741142977730913027844558978742673022401747374080250392986838614640613170403854734861677021892384798235155639191862243 1041299808314101881182083731986346716814318090563498135411255358388579796361826000009873039015004536015914686331161041506560877033326895715778737240030527151290737809162957203726127619080754566754240287442915433460340732051301460926471270406956363374629376621332501945536452957284961501940156487755073224486917508132910041867345639882021911695719120349382724971789431727484217048279957232233307725846850244758557876350031180442553501823767121239231898704513245610023949436807945610216364329042107556366568646119523923519959419835264456375280297808482199861696727775238996177535604381063140047262179102051864763524143406820128926835674890103742216996557065911970296612459231627931684466694703456766510662212847423272402371885103622842475242792554570281491681147954648011340851971336451909588586061098362121974900697645973784411237681668973143739337067878852510547478406465628948431708029395895369795994101346648263601670125812761642397187355181470788952063685220136310633787392423983724938477795867612180693471607774929788405653571240142157214094802467787855067051741412423595629104314578977995687417476151695890061346227628372773933126123735845809705779064671480813421194254177160940347491989815571318178374908232543134666560271329742118761687639758096867934447945303675127290629509993393937595533911250737375393451599403572103683580149056914789547368746015923035132038091567490210183918489075945651048447463611708826134384489391695415889531344643534818241213317708119256152414563307508844672506769738861107519524344328758125549732266331671881547064869798862079957048084951858290856849039861810061868197861427026265495727693519796838928646687415033037792809697511675300524475704138946274151759915816082287133126478110619493427970470670149514083752473375018657992412437874924076711002411088089862468185497777944519052538210930745226837232379948264052263722144785665784594212359718839170274096547989674536557086465599254596933621937578786472130185298977562733238632055162751342739625945307304206444463709071850430017991597871121768272349561729369452032048511077438805522242882792673739933377154164452174320845564094107522480532210582640490542248935056084904898567863412484930663134643401819773136126137920833302107464513664698752823877291569401627027220787757400914055717914011977003995823186055074372676585040802160551064253165075679142886986754369497353777633614559739708790504974236811293248222663722001111718654569660331010983844534872223315167922955470108179304467558907097386540498896377408577186876361834881262848042491063808858478249591712521460925096070839891791964452873901580465236340807766279401715347450940741818928646796253671872309061675222750068441158288690702894057949435150526279534545368728357625069819664076187679241753280966115572582315297565687347308853630244499123482721734752229780248855882579248617940738131941175851253353384130807947224378155844537237072783435593742257597535133161906742257180284246138221442760352919384730631798159659504074974331692169094742341780042927719364 1684858482330967185138517892869872363597925620345969013980845617581378642318293239044748925075680879864136641512214551912768541103296592504794665867371925829996739023846538624431676622029911368374252103465031705366035025255605690214933749207452747846419051132546230501913688386215367639114128828482890491806481316748672058369626400233255134798328858953052092229049285593413029089538911467711411167087194347101589709876933255828934857209957109885314638476154314458698685173823156165215642576948366151387803507542109032581688179366187413795795605931275249990394960300214006221691048105204197550316115409485119161412100290303782354386060578077173104622382845643842037707239062892640345557175897761088305006641132358901049932332708962966602582267870136527575149592482117044138903720075258735057822732936745723266483314731140817009627831566477136204123736580589463880079970762764445012344102261404453008897697142739088235585263973168909233945875261439422308071979001020538482443222476367633829029997275239756358817560439249517575346314838538110192000244737217230432646448358717741035850809920651300437301830250506557869826725713952131069707094592556178408443474146692871492891613918595984518725041397257294905845755404998776220117080933970261993688835881997125059576733641558409534394551417523062455000663422022903014147443351284442205080068473376907758365744588536367437958232197189961726927848124152109872793828876232424456397470570424761924864158361589643040469533888532327576391885952181776224375499033164960688460704774052074504078972336827046692438509782915374362726012794758985600376285720449567410978703485414796017099088833245997864041009869999981912901299330297867570309359508458540847572344120817841660179014520447904022604500029593420432648059238314974462971558894274843597340866330522377413416081984352437250734407446085692693620696291562599116252664020603976840307038215476154608874297359310333596214842602335582239214892516561124368947407493339075434596420432995781945162749138930021986763144293131843547620418528848274362301480677895969111637830946731409239368541349005484960788563851226769803042070493251450620290131205427731199595783007011449812533842501900183532884167955826858864423345946243713564017011433881076557851370041839205865504757590259628022668926671057031947513309180624104406864369244447340394351688848484800437857782381101150257978779974284888709768447363058220479460552435063466590678149007999255777392931609912369609804392828401140092634253913901887619351304596392896391423170305578231775938111338598443763759632989759926858516771699122187327540617342278719011752565618796875605952183845090016022064025012812204368594897264887794423417486026121131415286901003313588937202804519800058384296946542483894162654440514550580134248822149994494798971405009988405716486373269293968472661580464370009641680516655158393854933343046665207754326972342032563196241389334885235328448161006465720999853306647885595523010745906223345272411330063358809836008714061479540576935682119581607 2726158290645069066320601624856219080412243710909467149392100975969958438680119239054621964090685415880051327843375593419329418136623488220573403107402452981287476833009495828157804241110665935128492390907947138826375757306907151141405019614409111221048427753878732447450141343500329141054285316237963716293398824881582100236972040115277046494047979302434817200838717320897246137818868699944718892934044591860147586226964436271488359033724231124546537180667560068722634610631101775432006905990473707754372153661632956101647599201451870171075903739757449852091688075453002399226652486267337597578294511536983924936243697123911281221735468180915321618939911555812334319698294520572030023870601217854815668853979782173452304217812585809077825060424706809066830740436765055479755691411710644646408794035107845241384012377114601420865513235450279943460804459441974427558377228393393444052131657299822804891798489387351837255389785930551631133230442910211260135664221156849116230614900351358767507793142851937052289168214179305980999886078680267406095047205005085499698189771141336664955124499629296124719306402202447931172953342324905002833218328401988114222538818173684914085868095756924866217031212828613084220663637541910886677352263712380755376475640093992994024678945233536825024061410917000050534574672760278407599042754856545888660217530291697305734490604459402569996323764680171910846337200097760921241292487941250590781959962120177814395503005124461281682851596651583728806449259690620896882268772026068207985049102810200053811238668498928239503379581777454319774097746617276457225325582259629279176564912441061512826782353042836792687697285033019705710996841973168094785063647404814999332259936900128793305492631067397450574970699742934516400532613333632455383996769198920308343277418612239881601579762296956303272618376830919530853076239826651379974808806269761434519397934315324882970845348984870153301308201590179172836830095347596499132706470901808673228475595747124684788694446234228431226853364982273565612016399970042634651042407265421143686342024170214761611424141679224894165718015678944123887634587358973100822341788068221741844718063096354711101705914385114196018811357646632000549483867077015671481525098579829381728661611240832892725545347660542078386840683034035943336495235698477083449410046607891458604853924163943324844536750598504035612394534024597500273421599869513727683216157064578309332718668330266761237466482135684777727348298509319397101812820999274159850200973801473578299532140459494623980602402407302242009224702281387783612842539013979291993491243859184248093373385076277321299634785831834950710821266484076677656572487637862864575774716824025473236336153839868471748173248157683454116610618671573404407721480666152716564119715681842107825035254487529199208108021523748721517463043618627582418648596334245108286727177473154978705128186569800269024824928627492925983294168372463257033590894023816965771098825608075904209489722862884810340406230574282918715725047300971 4411016772976036251459119517726091444010169331255436163372946593551337080998412478099370889166366295744187969355590145332097959239920080725368068974774378811284215856856034452589480863140577303502744494372978844192410782562512841356338768821861859067467478886424962949363829729715696780168414144720854208099880141630254158606598440348532181292376838255486909429888002914310275227357780167656130060021238938961737296103897692100423216243681341009861175656821874527421319784454257940647649482938839859142175661203741988683335778567639283966871509671032699842486648375667008620917700591471535147894409921022103086348343987427693635607796046258088426241322757199654372026937357413212375581046498978943120675495112141074502236550521548775680407328294843336641980332918882099618659411486969379704231526971853568507867327108255418430493344801927416147584541040031438307638347991157838456396233918704275813789495632126440072840653759099460865079105704349633568207643222177387598673837376718992596537790418091693411106728653428823556346200917218377598095291942222315932344638129859077700805934420280596562021136652709005800999679056277036072540312920958166522666012964866556406977482014352909384942072610085907990066419042540687106794433197682642749065311522091118053601412586791946359418612828440062505535238094783181421746486106140988093740286003668605064100235192995770007954555961870133637774185324249870794035121364173675047179430532544939739259661366714104322152385485183911305198335211872397121257767805191028896445753876862274557890211005325974931941889364692828682500110541376262057601611302709196690155268397855857529925871186288834656728707155033001618612296172271035665094423155863355846904604057717970453484507151515301473179470729336354949048591851648606918355555663473763905684143749134617295017661746649393554007025822916612224473772531389250496227472826873738274826436149791479491845142708295203749516150803925761412051722611908720868080113964240884107824896028742906629951443585164250417989997658114117113232434928818316996952523085161390255324172970901624000979965490684709854954281866905713926929705080610423721112472993495952941440501070107804523635548416285297728902979313473490864972829813320729235498536532460905939580031653080038758230302937920170101055767354091067890849804416322581490313779291055231852956542772648743762702319131699654293591174508309486210041868962927734207143768592128044900010867676329522538630398092048054387531741126910459489736066734901161779201505570194369969722702446037726399918713741005746005768857692041314642129614238136166619534108586137903259845939003873152927251818630921850972774846279296281046251469752525657287993260742945156888523237157153457408950977767957741838413557161155467567062161995216732850812941865676336906796440264475934915694481290817717194179043507988637224099165251492638963220070224138362733032100528602363465266214263512728254431455174838184256886897541909412488781844731831421176620819786221694646349120292053823495651407166882578 7137175063621105317779721142582310524422413042164903312765047569521295519678531717153992853257051711624239297198965738751427377376543568945941472082176831792571692689865530280747285104251243238631236885280925983018786539869419992497743788436270970288515906640303695396813971073216025921222699460958817924393278966511836258843570480463809227786424817557921726630726720235207521365176648867600848952955283530821884882330862128371911575277405572134407712837489434596143954395085359716079656388929313566896547814865374944784983377769091154137947413410790149694578336451120011020144353077738872745472704432559087011284587684551604916829531514439003747860262668755466706346635651933784405604917100196797936344349091923247954540768334134584758232388719550145708811073355647155098415102898680024350640321006961413749251339485370019851358858037377696091045345499473412735196725219551231900448365576004098618681294121513791910096043545030012496212336147259844828343307443334236714904452277070351364045583560943630463395896867608129537346086995898645004190339147227401432042827901000414365761058919909892686740443054911453732172632398601941075373531249360154636888551783040241321063350110109834251159103822914521074287082680082597993471785461395023504441787162185111047626091532025483184442674239357062556069812767543459829345528860997533982400503533960302369834725797455172577950879726550305548620522524347631715276413852114925637961390494665117553655164371838565603835237081835495034004784471563018018140036577217097104430802979672474611701449673824903171445268946470283002274208287993538514826936884968825969331833310296919042752653539331671449416404440066021324323293014244203759879486803268170846236863994618099246789999782582698923754441429079289465449124464982239373739552432672684214027421167746857176619241508946349857279644199747531755326848771215901876202281633143499709345834084106804374815988057280073902817459005515940584888552707256317367212820435142692781053371624490031314740138031398478849216851023096390678844451328788359631603565492426811399010514995071838762591389632363934749119999882584658050817339667969396821934814781564174683285219133204159234737254330670411924921790671120122865522313680397744906980061631040735321308693264320871650955848285580712179442608037125103834186299652021058573763189337663123311561396696812687087546855882298158329203569042334083710315290562797247934826984749192623209343586344659789299867864574183739165259089425419778886837879555900435939051706543995843548022234586497221023899316143413048247778082394322702425742456777150145911527599829997087507939312388949430248551453416753685923485667545780357723908042240163520152569035459769182361759573310993325880699151016115425292530167779827040971469883475882885567377061581358179014621475518963464114902589312341465915696506551607264806517813847826884071506797401611517711737228715172163734291039192140221180414749343210647513920488435933229454552943557439497080830309509084579456689526522628106414367132214183549 11548191836597141569238840660308401968432582373420339476137994163072632600676944195253363742423418007368427266554555884083525336616463649671309541056951210603855908546721564733336765967391820542133981379653904827211197322431932833854082557258132829355983385526728658346177800802931722701391113605679672132493159108142090417450168920812341409078801655813408636060614723149517796592534429035256979012976522469783622178434759820472334791521086913144268888494311309123565274179539617656727305871868153426038723476069116933468319156336730438104818923081822849537064984826787019641062053669210407893367114353581190097632931671979298552437327560697092174101585425955121078373573009346996781185963599175741057019844204064322456777318855683360438639717014393482350791406274529254717074514385649404054871847978814982257118666593625438281852202839305112238629886539504851042835073210709070356844599494708374432470789753640231982936697304129473361291441851609478396550950665511624313578289653789343960583373979035323874502625521036953093692287913117022602285631089449717364387466030859492066566993340190489248761579707620459533172311454878977147913844170318321159554564747906797728040832124462743636101176433000429064353501722623285100266218659077666253507098684276229101227504118817429543861287067797125061605050862326641251092014967138522076140789537628907433934960990450942585905435688420439186394707848597502509311535216288600685140821027210057292914825738552669925987622567019406339203119683435415139397804382408126000876556856534749169591660679150878103387158311163111684774318829369800572428548187678022659487101708152776572678524725620506106145111595099022942935589186515239424973909959131526693141468052336069700274506934098000396933912158415644414497716316630846292095108096146448119711564916881474471636903255595743411286670022664143979800621302605152372429754460017237984172270233898283866661130765575277652333609809441701996940275319165038235292934399383576888878267653232937944691581616562729267206848681210507792076886257606676628556088577588201654334687965973462763571355123048644604074281749490371977747044748579820543047287775060127624725720203311963758372802746955709653824769984593613730495143493718474142478598163501641260888724917400910409186151223500882280498375391216171725036104068343640064076968628718355164517939469461430850249175013997812622794743550643569920357159525724982141970753341320668109354454020989311838498262666231793552790830552330238376573946290801597718253212114190213517744937032534947423818029884418794253546940086364017067872071015286312531061708416134990767785251392822583175803272047675536896260513825076638770159511992689177440562296202714339250282810468146783289650128784073167130943724940982508538532045471099618418190003447034515921417915783439399030597070603159183109875550059595902030616979099319523034726867625749880444769329243774527199557253455652949434846204518048831770807385977842641943334788289270918257451129295306274103038646814681929910018539381066127 18685366900218246887018561802890712492854995415585242788903041732593928120355475912407356595680469718992666563753521622834952713993007218617251013139128042396427601236587095014084051071643063780765218264934830810229983862301352826351826345694403799644499292167032353742991771876147748622613813066638490056886438074653926676293739401276150636865226473371330362691341443384725317957711077902857827965931806000605507060765621948844246366798492485278676601331800743719709228574624977372806962260797466992935271290934491878253302534105821592242766336492612999231643321277907030661206406746949280638839818786140277108917519356530903469266859075136095921961848094710587784720208661280781186790880699372538993364193295987570411318087189817945196872105733943628059602479630176409815489617284329428405512168985776396006370006078995458133211060876682808329675232038978263778031798430260302257292965070712473051152083875154023893032740849159485857503777998869323224894258108845861028482741930859695324628957539978954337898522388645082631038374909015667606475970236677118796430293931859906432328052260100381935502022762531913265344943853480918223287375419678475796443116530947039049104182234572577887260280255914950138640584402705883093738004120472689757948885846461340148853595650842912728303961307154187617674863629870101080437543828136056058541293071589209803769686787906115163856315414970744735015230372945134224587949068403526323102211521875174846569990110391235529822859648854901373207904154998433157537840959625223105307359836207223781293110352975781274832427257633394687048527117363339087255485072646848628818935018449695615431178264952177555561516035165044267258882200759443184853396762399697539378332046954168947064506716680699320688353587494933879946840781613085665834660528819132333738986084628331648256144764542093268566314222411675735127470073821054248632036093160737693518104318005088241477118822855351555151068814957642581828828026421355602505754834526269669931639277722969259431719647961208116423699704306898470921337586395036260159654070015013053345202961045301526162744755412579353194281632075030028564384416549217364982102556624302308010939336516122993110057077626121578746560655713736596017457174116219049458659794542376582197418181721782060141999509081594459940983428341275559222403720364698637840157966381478476079336166274117937796030896295970951998312592977653630672450088522230076797738090513291318698040365649101138366127240415532718049919977750017263411825846702033657304918658186057065767171619032168447717346027831842501325022480686719493614527792436458442589308246132078275724563781772013424354725464429222819746181370856996494067554232852697593131331662483521612042383779140109170349279800188592423473892720809549510001928946982503985567065028392694936039391302402863145499659915500649025572056611203166837134792947146407106233665027361398156506557958946690933848292647793170615260953861259479284727874413775871397887731846710415338281438804390853559728173337310036324385671595249676 30233558736815388456257402463199114461287577789005582265041035895666560721032420107660720338103887726361093830308077506918478050609470868288560554196079253000283509783308659747420817039034884322899199644588735637441181184733285660205908902952536629000482677693761012089169572679079471324004926672318162189379597182796017093743908322088492045944028129184738998751956166534243114550245506938114806978908328470389129239200381769316581158319579398422945489826112052843274502754164595029534268132665620418973994767003608811721621690442552030347585259574435848768708306104694050302268460416159688532206933139721467206550451028510202021704186635833188096063433520665708863093781670627777967976844298548280050384037500051892868095406045501305635511822748337110410393885904705664532564131669978832460384016964591378263488672672620896415063263715987920568305118578483114820866871640969372614137564565420847483622873628794255875969438153288959218795219850478801621445208774357485342061031584649039285212331519014278212401147909682035724730662822132690208761601326126836160817759962719398498895045600290871184263602470152372798517255308359895371201219589996796955997681278853836777145014359035321523361456688915379202994086125329168194004222779550356011455984530737569250081099769660342272165248374951312679279914492196742331529558795274578134682082609218117237704647778357057749761751103391183921409938221542636733899484284692127008243032549085232139484815848943905455810482215874307712411023838433848296935645342033349106183916692741972950884771032126659378219585568796506371822845946733139659684033260324871288306036726602472188109702990572683661706627630264067210194471387274682609827306721531224232519800099290238647339013650778699717622265745910578294444557098243931957929768624965580453450551001509806119893048020137836679852984245075819714928091376426206621061790553177975677690374551903372108138249588430629207484678624399344578769103345586393837798689233909846558809906930955907204123301264523937383630548385517406262998223844001712888715742647603214707679890927018764289734099878461223957268563381565402006311429165129037908029390331684429932736659539828086751482859824581831232571330640307350326512600667834693191937257958044017843086143099122692469328150732582476740439358819557447284258507788708338701917126595099833640597275635735548788045205910293783574793056143621223551029609614247212218768491431833959428052494386638412976864389906647326270840750530080255639985772137503631375558130772376270583512108651567115871535375912250636754871962567050736561486598807722770973651016662267069043509815174594596600157997512104759716006695195933635264227066225541875033693627865197860862325194247286892459999408584261759554417617661792058048533974418082122403757068475427210857457307085842262176096730518659832135447606670799068867751772046465930140960532653111278601275887202721218133405546103446120050107158379308311055535260391618513341222520135981333595732568099697127662766820151991966234404210976315803 48918925637033635343275964266089826954142573204590825053944077628260488841387896020068076933784357445353760394061599129753430764602478086905811567335207295396711111019895754761504868110677948103664417909523566447671165047034638486557735248646940428644981969860793365832161344555227219946618739738956652246266035257449943770037647723364642682809254602556069361443297609918968432507956584840972634944840134470994636299966003718160827525118071883701622091157912796562983731328789572402341230393463087411909266057938100689974924224548373622590351596067048848000351627382601080963474867163108969171046751925861744315467970385041105490971045710969284018025281615376296647813990331908559154767724997920819043748230796039463279413493235319250832383928482280738469996365534882074348053748954308260865896185950367774269858678751616354548274324592670728897980350617461378598898670071229674871430529636133320534774957503948279769002179002448445076298997849348124846339466883203346370543773515508734609841289058993232550299670298327118355769037731148357815237571562803954957248053894579304931223097860391253119765625232684286063862199161840813594488595009675272752440797809800875826249196593607899410621736944830329341634670528035051287742226900023045769404870377198909398934695420503255000469209682105500296954778122066843411967102623410634193223375680807327041474334566263172913618066518361928656425168594487770958487433353095653331345244070960406986054805959335140985633341864729209085618927993432281454473486301658572211491276528949196732177881385102440653052012826429901058871373064096478746939518332971719917124971745052167803540881255524861217268143665429111477453353588034125794680703483930921771898132146244407594403520367459399038310619333405512174391397879857017623764429153784712787189537086138137768149192784679929948419298467487495450055561450247260869693826646338713371208478869908460349615368411285980762635747439356987160597931372007749440304444068436116228741546208678876463555020912485145500054248089824304733919561430396749148875396717618227761025093888064065815896844633873803310462845013640432034875813581678255273011492888308732240747598876344209744592916902207952811317891296021086922530057841950912241395917752586394425283561280844474529470150241664071200380342247898722843480911509073037339757284561481312116676611802009666725841236806589754526791368736598877181702059702769442295566229522347250746750534752287514115230517147062858988890670507830272903397597984205665032863049430562327649279280270599284319252721940082479256196985047737456055101126600159229416240324908399147319234378956366610024512722976533982535752876566790631758294620458394572626824959527681382474367578026427001630348688384450351977891510382601607558535903365064626389324133503819905793496698388245125321596390434160481161019663282002235704886564993612337247194197680472676757782445161667909067253838751239290665368112240567790340263134805394384739110251982691748934014006904087981222494993489302002558789882571565479 79152484373849023799533366729288941415430150993596407318985113523927049562420316127728797271888245171714854224369676636671908815211948955194372121531286548396994620803204414508925685149712832426563617554112302085112346231767924146763644151599477057645464647554554377921330917234306691270623666411274814435645632440245960863781556045453134728753282731740808360195253776453211547058202091779087441923748462941383765539166385487477408683437651282124567580984024849406258234082954167431875498526128707830883260824941709501696545914990925652937936855641484696769059933487295131265743327579268657703253685065583211522018421413551307512675232346802472114088715136042005510907772002536337122744569296469099094132268296091356147508899280820556467895751230617848880390251439587738880617880624287093326280202914959152533347351424237250963337588308658649466285469195944493419765541712199047485568094201554168018397831132742535644971617155737404295094217699826926467784675657560831712604805100157773895053620578007510762700818208009154080499700553281048023999172888930791118065813857298703430118143460682124304029227702836658862379454470200708965689814599672069708438479088654712603394210952643220933983193633745708544628756653364219481746449679573401780860854907936478649015795190163597272634458057056812976234692614263585743496661418685212327905458290025444279178982344620230663379817621753112577835106816030407692386917637787780339588276620045639125539621808279046441443824080603516798029951831866129751409131643691921317675193221691169683062652417229100031271598395226407430694219010829618406623551593296591205431008471654639991650584246097544878974771295693178687647824975308808404508010205462146004417932245534646241742534018238098755932885079316090468835954978100949581694197778750293240640088087647943888042240804817766628272282712563315164983652826673467490755617199516689048898853421811832457753617999716609970120426063756331739367034717594143278103133302345962787551453139634783667678322177009082883684796475341710996917785274398462037591139365221442468704984815082830105630944512335027267731408395205834041187242746807293181040883219993162173484258416172296496075776726789784043889221936328437249042658509785605433333175710630412268369704379967166998798300974246547940819701067456170127739419297781376041674411156581145757273887437745215513886442716883538101584424880220100732731669317016654514334720954181210174803029138925927092094907053710185259731421037910528543383370121709296408421180202938598232791388922166400190788097852333116011068947614788192616587725407882000389891341570666216362744194130961206624670720488638742251759571762724267022521686683936447660518587392879243336692772273713894090348096968712111532309128044393665607069877783146748793081201979247116650954005474087387497693120952820313296467269952801304572638337040078267388154730333583955359058332364389127200659384854685410715475270619876101395798395197012898080332772118673082529746575003785108885261813641293968793194093547881282 128071410010882659142809330995378768369572724198187232372929191152187538403808212147796874205672602617068614618431275766425339579814427042100183688866493843793705731823100169270430553260390780530228035463635868532783511278802562633321379400246417486290446617415347743753492261789533911217242406150231466681911667697695904633819203768817777411562537334296877721638551386372179979566158676620060076868588597412378401839132389205638236208555723165826189672141937645969241965411743739834216728919591795242792526882879810191671470139539299275528288451708533544769411560869896212229218194742377626874300436991444955837486391798592413003646278057771756132113996751418302158721762334444896277512294294389918137880499092130819426922392516139807300279679712898587350386616974469813228671629578595354192176388865326926803206030175853605511611912901329378364265819813405872018664211783428722356998623837687488553172788636690815413973796158185849371393215549175051314124142540764178083148578615666508504894909637000743313000488506336272436268738284429405839236744451734746075313867751878008361341241321073377423794852935520944926241653632041522560178409609347342460879276898455588429643407546251120344604930578576037886263427181399270769488676579596447550265725285135388047950490610666852273103667739162313273189470736330429155463764042095846521128833970832771320653316910883403576997884140115041234260275410518178650874350990883433670933520691006046111594427767614187427077165945332725883648879825298411205882617945350493529166469750640366415240533802331540684323611221656308489565592074926097153563069926268311122555980216706807795191465501622406096242914961122290165101178563342934199188713689393067776316064391779053836146054385697497794243504412721602643227352857957967205458626932535006027829625173786081656191433589497696576691581180050810615039214276920728360449443845855402420107332291720292807368986411002590732756173503113318899964966089601892718407577370782079016292999348313660131233343089494228383739044565166015730837346704795211186466536082839670229730078703146895921527789146208830578194253408846266076063056328485548454052376108301894414231857292516506240668693628997736855207113232349524171572716351736517674729093463216806693653265660811641528268451215910619141200043315354892971220330806854413381431695718062457873950499239754882239727679523473292628375793616818977914433729019786096809900950476528460921553563891213441207325424200773044248622091545740801446780968105914961441284229633500925882070669192765684510040819792415595267265932662525648671688852008041229806131666479065363681978573087327816649183443465172724787512448329514898780816307142331020287343546920560625811060350300140895720696785353162463510200638426995273165605781148211375182405335483067022444450703862332512819289511386980794457486933234803540277524902033690604635348928014056632116840777526057036267913223605924701380843382860443891736061530002407282819443024101364831463760581907873090107756807130595971351983976119446761 207223894384731682942342697724667709785002875191783639691914304676114587966228528275525671477560847788783468842800952403097248395026375997294555810397780392190700352626304583779356238410103612956791653017748170617895857510570486780085023551845894543935911264969902121674823179023840602487866072561506281117557300137941865497600759814270912140315820066037686081833805162825391526624360768399147518792337060353762167378298774693115644891993374447950757253125962495375500199494697907266092227445720503073675787707821519693368016054530224928466225307350018241538471494357191343494961522321646284577554122057028167359504813212143720516321510404574228246202711887460307669629534336981233400256863590859017232012767388222175574431291796960363768175430943516436230776868414057552109289510202882447518456591780286079336553381600090856474949501209988027830551289009350365438429753495627769842566718039241656571570619769433351058945413313923253666487433249001977781908818198325009795753383715824282399948530215008254075701306714345426516768438837710453863235917340665537193379681609176711791459384781755501727824080638357603788621108102242231525868224209019412169317755987110301033037618498894341278588124212321746430892183834763490251235126259169849331126580193071866696966285800830449545738125796219126249424163350594014898960425460781058849034292260858215599832299255503634240377701761868153812095382226548586343261268628671214010521797311051685237134049575893233868520990025936242681678831657164540957291749589042414846841662972331536098303186219560640715595209616882715920259811085755715560186621519564902327986988688361447786842049747719950975217686256815468852749003538651742603696723894855213780733996637313700077888588403935596550176389492037693112063307836058916787152824711285299268469713261434025544233674394315463204963863892614125780022867103594195851205061045372091469006185713532125265122604410719200702876599566869650639332000807196035996510710673128041803844452487948443798911665266503311267423841040507726727755131979193673224057675448061112698435063518229726027158733658543857845925661804052100117250299075292841635093259328295056587716115708688802736744470355787520899096335168677961420615374861522123108062269173847218962022970040778808527066752190157167082019744382811063098959750104635789423106106874643603631224386677500097753614122240356830729960218497039078647165398336802751324235671430709671096356593030139368299420331254483229508353512583651329990164338227624257849705409836439524114862058114932084700828917644748711278334880277313841288276577415923230196023008049731580044722767218289023273854163953811467039272020092239165803337993826267467947862134313439869147753122573854789811044882321874575042509766471388938772675658931358123975486537462314139095404709336419900316982632339801107753954203187604844850163239073768872023503658347640587475899109890446163468572608460610112096318653480319993131859925199420180899775796220037913993507156911658198993018620771889940145178069667328043 335295304395614342085152028720046478154575599389970872064843495828302126370036740423322545683233450405852083461232228169522587974840803039394739499264274235984406084449404753049786791670494393487019688481384039150679368789373049413406402952092312030226357882385249865428315440813374513705108478711737747799468967835637770131419963583088689551878357400334563803472356549197571506190519445019207595660925657766140569217431163898753881100549097613776946925267900141344742164906441647100308956365312298316468314590701329885039486194069524203994513759058551786307883055227087555724179717064023911451854559048473123196991205010736133519967788462345984378316708638878609828351296671426129677769157885248935369893266480352995001353684313100171068455110656415023581163485388527365337961139781477801710632980645613006139759411775944461986561414111317406194817108822756237457093965279056492199565341876929145124743408406124166472919209472109103037880648798177029096032960739089187878901962331490790904843439852008997388701795220681698953037177122139859702472661792400283268693549361054720152800626102828879151618933573878548714862761734283754086046633818366754630197032885565889462681026045145461623193054790897784317155611016162761020723802838766296881392305478207254744916776411497301818841793535381439522613634086924444054424189502876905370163126231690986920485616166387037817375585901983195046355657637066764994135619619554647681455318002057731348728477343507421295598155971268968565327711482462952163174367534392908376008132722971902513543720021892181399918820838539024409825403160681812713749691445833213450542968905068255582033515249342357071460601217937759017850182101994676802885437584248281557050061029092753914034642789633094344419893904759295755290660694016883992611451643820305296299338435220107200425107983813159781655445072664936395062081380514924211654504891227493889113518005252418072491590821721791435632773069982969539296966896797928714918288043910120820137451836262103930145008355997539651162885605673742458592478683988884410524211530900782928165142221376621948686522804752688424119915212898366193313355403778390089145635436596951001947973001205308977413163984785257754303448401027485592188091213258640782791362637064025655676235701590450055335203406067786223219787698165956070180080911490202804537802592706061505174885917254979993341801763830123358336012113858056561599127356588848134136621907238132017910156921352809506745755455256273756975604129392131436945306333539219290989639469940449996932727307697769210869737437164306545600812939839489959965429423964460002154674528796943726701340305616839923037607418984191826784468421754064584154300968598488235205681234000494958813472873995685531741667675037038552710404898384211938281440079569499157891872945381161539855413198752413136272143726781902211441136422408385127688141107459476658852586361697219592739887416503199736485832066534813477162036340763884867921455201827463719218820321402745457267738819531289100775427902485911497162045786774804 542519198780346025027494726444714187939578474581754511756757800504416714336265268698848217160794298194635552304033180572619836369867179036689295309662054628175106437075709336829143030080598006443811341499132209768575226299943536193491426503938206574162269147355151987103138619837215116192974551273244028917026267973579635629020723397359601692194177466372249885306161712022963032814880213418355114453262718119902736595729938591869525992542472061727704178393862636720242364401139554366401183811032801390144102298522849578407502248599749132460739066408570027846354549584278899219141239385670196029408681105501290556496018222879854036289298866920212624519420526338917497980831008407363078026021476107952601906033868575170575784976110060534836630541599931459811940353802584917447250649984360249229089572425899085476312793376035318461510915321305434025368397832106602895523718774684262042132059916170801696314028175557517531864622786032356704368082047179006877941778937414197674655346047315073304791970067017251464403101935027125469805615959850313565708579133065820462073230970231431944260010884584380879443014212236152503483869836525985611914858027386166799514788872676190495718644544039802901781179003219530748047794850926251271958929097936146212518885671279121441883062212327751364579919331600565772037797437518458953384614963657964219197418492549202520317915421890672057753287663851348858451039863615351337396888248225861691977115313109416585862526919400655164119145997205211247006543139627493120466117123435323222849795695303438611846906241452822115514030455421740330085214246437528273936312965398115778529957593429703368875564997062308046678287474753227870599185640646419406582161479103495337784057666406453991923231193568690894596283396796988867353968530075800779764276355105604564769051696654132744658782378128622986619308965279062175084948484109120062859565936599585358119703718784543337614195232440992138509372636852620178628967703993964711428998717038162623981904324210547729056673622500850918586726646181469186347610663182557634581886978961895626600205739606347975845256463296546270045577016950466310563654479071231724238894764892007589664088709894111714157634340572778653399783569705447012803466074780763890853631810911244617699205742369258582401955596224953305239532080977019169139831016125992227643909467349665136399272594755077746955924004186954088296230610897135208764525693391599458372293337947803114266749951492177806166086709739503265329116713043461427109644561163477140695049306379974111794785422629853911698655081913017823935693217153331248242006839887690198177682578528523771424107523905863196891771372795658866056488513993230387492294794865956183067815547440364106566595447850475342786549996911613595220171369773150710957099010927623133378410407695300635260122535172313453254776066583009965395339610013229977851380181228348682356244709337807068638997306949363205058440527144925573480689821083877999781380401247644618994616541440659450774895731189488093794048674375851642340115454102847 877814503175960367112646755164760666094154073971725383821601296332718840706302009122170762844027748600487635765265408742142424344707982076084034808926328864159512521525114089878929821751092399930831029980516248919254595089316585606897829456030518604388627029740401852531454060650589629898083029984981776716495235809217405760440686980448291244072534866706813688778518261220534539005399658437562710114188375886043305813161102490623407093091569675504651103661762778064984529307581201466710140176345099706612416889224179463446988442669273336455252825467121814154237604811366454943320956449694107481263240153974413753487223233615987556257087329266197002836129165217527326332127679833492755795179361356887971799300348928165577138660423160705905085652256346483393103839191112282785211789765838050939722553071512091616072205151979780448072329432622840220185506654862840352617684053740754241697401793099946821057436581681684004783832258141459742248730845356035973974739676503385553557308378805864209635409919026248853104897155708824422842793081990173268181240925466103730766780331286152097060636987413260031061947786114701218346631570809739697961491845752921429711821758242079958399670589185264524974233794117315065203405867089012292682731936702443093911191149486376186799838623825053183421712866982005294651431524442903007808804466534869589360544724240189440803531588277709875128873565834543904806697500682116331532507867780509373432433315167147934591004262908076459717301968474179812334254622090445283640484657828231598857928418275341125390626263345003515432851293960764739910617407119340987686004411231329229072926498497958950909080246404665118138888692690986888449367742641096209467599063351776894834118695499207905957873983201785239016177301556284622644629224092684772375727998925909861068390131874239945083890361941782768274754037943998570147029864624044274514070827827079247233221724036961410105786054162783574142145706835589717925934600791893426347286760948283444119356160472651659201681978498390569749612251855211644940089347171442045106098509862678554765347960982969924531779268049234694165492229848832503877009882849621813384530201488958591612061711099420691570798325358036407703231970732932604991557288039404673644994447975270273375441443959708637737159002292739528459319779142975239319911927616195032181712060055726641574158512010057740297725768017077446632242724755191770363653049980447592508915245185935132176906872844987312911842164995777022304720842435592864054950894702696431684688776320424108727512730327623122568392519077324369536506156992821208207436263852150200332357107325467498125447829522703119929378791779850692840956935747294971646595763464444418273496781440859065380068321846160874528217671948652147930576268157362649238539090497122291270283353076462175115535733924726589526919793364912176836476032421615105539521288687825341208831071035026661378884723452562941544272593679739050642726161847762867702835603075108338213436862843404908042634550720777194569476576861763139502161240877651 1420333701956306392140141481609474854033732548553479895578359096837135555042567277821018980004822046795123188069298589314762260714575161112773330118588383492334618958600823426708072851831690406374642371479648458687829821389260121800389255959968725178550896177095553839634592680487804746091057581258225805633521503782797041389461410377807892936266712333079063574084679973243497571820279871855917824567451094005946042408891041082492933085634041737232355282055625414785226893708720755833111323987377901096756519187747029041854490691269022468915991891875691842000592154395645354162462195835364303510671921259475704309983241456495841592546386196186409627355549691556444824312958688240855833821200837464840573705334217503336152923636533221240741716193856277943205044192993697200232462439750198300168812125497411177092384998528015098909583244753928274245553904486969443248141402828425016283829461709270748517371464757239201536648455044173816446616812892535042851916518613917583228212654426120937514427379986043500317507999090735949892648409041840486833889820058531924192840011301517584041320647871997640910504961998350853721830501407335725309876349873139088229226610630918270454118315133225067426755412797336845813251200718015263564641661034638589306430076820765497628682900836152804548001632198582571066689228961961361961193419430192833808557963216789391961121447010168381932882161229685892763257737364297467668929396116006371065409548628276564520453531182308731623836447965679391059340797761717938404106601781263554821707724113578779737237532504797825630946881749382505069995831653556869261622317376629445007602884091927662319784645243466973164817176167444214759048553383287515616049760542455272232618176361905661897881105176770476133612460698353273489998597754168485552140004354031514425837441828528372689742672740070405754894063003223060745231978348733164337373636764426664605352925442821504747719981286603775712651518343688209896554902304785858137776285477986446068101260484683199388258355600999241488336338898036680831287700010353999679687985488824574181365553700589317900377035731345780964211069246799298814440664361920853537623424966380966181276150420993532405728432665930815061103015540438379617795023362820168564498626258886514891074647186328967220139114598517692833698851860119994408459742943742187259825621527405391777973431106765135487253649772204031534928473335652326979128178743372047050881208583133738246443656824337165119077928874735280287633837555479054291164595455866173572379738082700398220522298152957477034267047600990342193472199374146152456449443103739840398510039685853991269549555353428566316821150164575509558897445449740525359138890558330400601341312328881223171946663769696636217314767668860265743150747637930513360195638101424745424648693760771762810375658269097040042781695859947922142231815642434845083390901469916174023565075780372833730017882030401926146602713120824664624123415982931640867484216004322752957208053404284064358817530281910265288363525251237614781842276694980498 2298148205132266759252788236774235520127886622525205279399960393169854395748869286943189742848849795395610823834563998056904685059283143188857364927514712356494131480125937516587002673582782806305473401460164707607084416478576707407287085415999243782939523206835955692166046741138394375989140611243207582350016739592014447149902097358256184180339247199785877262863198234464032110825679530293480534681639469891989348222052143573116340178725611412737006385717388192850211423016301957299821464163723000803368936076971208505301479133938295805371244717342813656154829759207011809105783152285058410991935161413450118063470464690111829148803473525452606630191678856773972150645086368074348589616380198821728545504634566431501730062296956381946646801846112624426598148032184809483017674229516036351108534678568923268708457203679994879357655574186551114465739411141832283600759086882165770525526863502370695338428901338920885541432287302315276188865543737891078825891258290420968781769962804926801724062789905069749170612896246444774315491202123830660102071060983998027923606791632803736138381284859410900941566909784465554940177132978145465007837841718892009658938432389160350412517985722410331951729646591454160878454606585104275857324392971341032400341267970251873815482739459977857731423345065564576361340660486404264969002223896727703397918507941029581401924978598446091808011034795520436668064434864979584000461903983786880438841981943443712455044535445216808083553749934153570871675052383808383687747086439091786420565652531854120862628158768142829146379733043343269809906449060676210249308321787860774236675810590425621270693725489871638282956064860135201647497921125928611825517359605807049127452295057404869803838979159972261372628637999909558112643226978261170324515732352957424286905831960402612634826563102012188523168817041167059315379008213357208611887707592253743852586147166858466157825767340766559286793664050523799614480836905577751564123572238934729512220616645155851047460037579497632058085951149891892476227789357525441724794083998687252736130901661572287824908814999395015658376561476648131318317674244770475351007955167869924772888212132092953097299230991288851468806247511171312222786580650859573238143620706861785164450088630288675857876273600810432362158171639262969647779654871358382292007333587461118419547589618775193227551375540221108981560716060407518749491831793352494643390123828319673378620563697182152431989771039731057309938558397914647155219546350568870004064426859020822329249810883285100156835440120067666563008705531138973664656879367591990598842396793179458767675003182951269436750528956355360251738402385487820330785486321794845019614809110322082237326732091542797091842985340808917891081323906087876009434177191921867715918977113848224985491194003021766632308615653312834319068291674856460188930422758603999364773906851407860391396766753854489088146985714504403674766142144779403735187051607397861295421490267127469266860164832631042482933001828099377921344437935858149 3718481907088573151392929718383710374161619171078685174978319490006989950791436564764208722853671842190734011903862587371666945773858304301630695046103095848828750438726760943295075525414473212680115772939813166294914237867836829207676341375967968961490419383931509531800639421626199122080198192501433387983538243374811488539363507736064077116605959532864940836947878207707529682645959402149398359249090563897935390630943184655609273264359653149969361667773013607635438316725022713132932788151100901900125455264718237547155969825207318274287236609218505498155421913602657163268245348120422714502607082672925822373453706146607670741349859721639016257547228548330416974958045056315204423437581036286569119209968783934837882985933489603187388518039968902369803192225178506683250136669266234651277346804066334445800842202208009978267238818940479388711293315628801726848900489710590786809356325211641443855800366096160087078080742346489092635482356630426121677807776904338552009982617231047739238490169891113249488120895337180724208139611165671146935960881042529952116446802934321320179701932731408541852071871782816408662007634385481190317714191592031097888165043020078620866636300855635399378485059388791006691705807303119539421966054005979621706771344791017371444165640296130662279424977264147147428029889448365626930195643326920537206476471157818973363046425608614473740893196025206329431322172229277051669391300099793251504251530571720276975498066627525539707390197899832961931015850145526322091853688220355341242273376645432900599865691272940654777326614792725774879902280714233079510930639164490219244278694682353283590478370733338611447773241027579416406546474509216127441567120148262321360070471419310531701720084336742737506241098698262831602641824732429655876655736706988938712743273788930985324569235842082594278062880044390120060610986562090372949261344356680408457939072609679970905545748627370334999445182394212009511035739210363609701899857716921175580321877129839050435718393180496873546422290047928573307515489367879441404482069487511826917496455362161605725285850730740796622587630723447430132758338606691328888631380134250890954164362553086485503027663657219666529909263051609691840581604013679741802642246965748300055524735816617643078015388199328125195857023499382964056239397815100569551832955114866510197521020725540328714805025312425140516489189396059845728620010536724541694271332411453411625064220521519317551067699914466337597572395953393701446384141806435043576444164941721220549772109036242577191102487721058008756480904905285126121106322471331830997352436479033450037224558536379835753571679120930869810635847835228345689924376880125245620956121439203305409273395861239433309157753009669183634232071544018389369629815293346613140567670874619987795866852272118806675090311513260756461300107317291305272321324228520173388338982631780694121414648784256415234749698835329068298889558127711044602671267611720614252629543671411533625677695114541307771296527079336992703186714630838647 6016630112220839910645717955157945894289505793603890454378279883176844346540305851707398465702521637586344835738426585428571630833141447490488059973617808205322881918852698459882078198997256018985589174399977873901998654346413536614963426791967212744429942590767465223966686162764593498069338803744640970333554982966825935689265605094320261296945206732650818099811076442171561793471638932442878893930730033789924738852995328228725613443085264562706368053490401800485649739741324670432754252314823902703494391341689446052457448959145614079658481326561319154310251672809668972374028500405481125494542244086375940436924170836719499890153333247091622887738907405104389125603131424389553013053961235108297664714603350366339613048230445985134035319886081526796401340257363316166267810898782271002385881482635257714509299405888004857624894393127030503177032726770634010449659576592756557334883188714012139194229267435080972619513029648804368824347900368317200503699035194759520791752580035974540962552959796182998658733791583625498523630813289501807038031942026527980040053594567125056318083217590819442793638781567281963602184767363626655325552033310923107547103475409238971279154286578045731330214705980245167570160413888223815279290446977320654107112612761269245259648379756108520010848322329711723789370549934769891899197867223648240604394979098848554764971404207060565548904230820726766099386607094256635669853204083580131943093512515163989430542602072742347790943947833986532802690902529334705779600774659447127662839029177287021462493850041083483923706347836069044689808729774909289760238960952350993480954505272778904861172096223210249730729305887714618054044395635144739267084479754069370487522766476715401505559063496714998878869736698172389715285051710690826201171469059946362999649105749333597959395798944094782801231697085557179375989994775447581561149051948934152310525219776538437063371515968136894286238846444735809125516576115941361266023429955855905092542493774994901483178430759994505604508241197820465783743278725404883129276153486199079653627357023733893550194665730135812280964192200095561451076012851461804239639335302120815727052574685179438600326894648508517998715510562781004063368184664539315040785867672610085219974824446906318935891661800138557558015195138645933704019052686458951843840288702327628617068610344315521942356400852646249498049905456467364478111842330077036337661456239773085003684784218701469983057470954197394907510954351308348601603688157003913580508591800742042879021919919527677347937927841125675319489610436424099785763201838923821596194833272212908804899561719331105190322208077286230062374250220716166020709863201920090640570930549525387646600127952782230401000738350478101525313395450106265379063992485268480856486647988468212781358046275140573307398927166573590780368398992147765461251746987124172753112889483188554512811415538110904322896684549833471973655700272490448337858319219118475548051033938539002892537859947172350254229528907436370624531152566696796 9735112019309413062038647673541656268451124964682575629356599373183834297331742416471607188556193479777078847642289172800238576606999751792118755019720904054151632357579459403177153724411729231665704947339791040196912892214250365822639768167935181705920361974698974755767325584390792620149536996246074358317093226341637424228629112830384338413551166265515758936758954649879091476117598334592277253179820597687860129483938512884334886707444917712675729721263415408121088056466347383565687040465924804603619846606407683599613418784352932353945717935779824652465673586412326135642273848525903839997149326759301762810377876983327170631503192968730639145286135953434806100561176480704757436491542271394866783924572134301177496034163935588321423837926050429166204532482541822849517947568048505653663228286701592160310141608096014835892133212067509891888326042399435737298560066303347344144239513925653583050029633531241059697593771995293461459830256998743322181506812099098072801735197267022280201043129687296248146854686920806222731770424455172953973992823069057932156500397501446376497785150322227984645710653350098372264192401749107845643266224902954205435268518429317592145790587433681130708699765369036174261866221191343354701256500983300275813883957552286616703814020052239182290273299593858871217400439383135518829393510550568777810871450256667528128017829815675039289797426845933095530708779323533687339244504183373383447345043086884266406040668700267887498334145733819494733706752674861027871454462879802468905112405822719922062359541314024138701032962628794819569711010489142369271169600116841212725233199955132188451650466956548861178502546915294034460590870144360866708651599902331691847593237896025933207279147833457736385110835396435221317926876443120482077827205766935301712392379538264583283965034786177377079294577129947299436600981337537954510410396305614560768464292386218407968917264595507229285684028838947818636552315326304970967923287672777080672864370904833951918896823940491379150930531245749039091258768093284324533758222973710906571123812385895499275480516460876608903551822923542991583834351458153133128270715436371706681216937238265924103354558305728184528624773614390695903949788678219056843428114638358385275499560263523962013907049999466682753872218638028897760258450501559521395673243817194138814589631069855850657161426165071390014539094852527210206731852866801578031932788651226496628749004740220787534125170868663732505083350304702050047987829963438957156952756742463263428794028955770254539040415562183684075970515341709225906869524310255652593547269751246358842124120255710940943893887198217099873010098055944511710634240082045336261527051988728693055873523814021663710158491360147285159545466994124654748693807778615093997054318863088200577224898547259379982489238679834347241668506309439070733573071215644346141451872114969248634226064322367319557646383385162540272545258400201492940529586830839089800680577609950536518215555061713658025526055986773363327717867197535443 15751742131530252972684365628699602162740630758286466083734879256360678643872048268179005654258715117363423683380715758228810207440141199282606814993338712259474514276432157863059231923408985250651294121739768914098911546560663902437603194959902394450350304565466439979734011747155386118218875799990715328650648209308463359917894717924704599710496372998166577036570031092050653269589237267035156147110550631477784868336933841113060500150530182275382097774753817208606737796207672053998441292780748707307114237948097129652070867743498546433604199262341143806775925259221995108016302348931384965491691570845677703247302047820046670521656526215822262033025043358539195226164307905094310449545503506503164448639175484667517109082394381573455459157812131955962605872739905139015785758466830776656049109769336849874819441013984019693517027605194540395065358769170069747748219642896103901479122702639665722244258900966322032317106801644097830284178157367060522685205847293857593593487777302996821163596089483479246805588478504431721255401237744674761012024765095585912196553992068571432815868367913047427439349434917380335866377169112734500968818258213877312982371993838556563424944874011726862038914471349281341832026635079567169980546947960620929920996570313555861963462399808347702301121621923570595006770989317905410728591377774217018415266429355516082892989234022735604838701657666659861630095386417790323009097708266953515390438555602048255836583270773010235289278093567806027536397655204195733651055237539249596567951435000006943524853391355107622624739310464863864259519740264051659031408561069192206206187705227911093312822563179759110909231852803008652514635265779505605975736079656401062335116004372741334712838211330172735263980572094607611033211928153811308278998674826881664712041485287598181243360833730272159880526274215504478812590976112985536071559448254548713078989512162756845032288780563644123571922875283683627762068891442246332233946717628632985765406864679828853402075254700485884755438772443569504875002046818689207663034376459909986224751169409629392825675182191012421184516015123638553034910364309614937367910050738492522408269511923445362703681452954236702527340284177171699967317973342758371884213982310968470495474384710430280949798711799605240311887413776674831464277503188018473239513532519521767431658241414171372599517827017717639512589000308994574684843695196878614369594244890999581632433788958922257517182641822861127412594304656010398649591518120442870737461348543205306307815948875297931886978343403309359395460125778133325692632726149179474189742103023459267647023681975042046134216095275503329935384348276660677731344103283965426902097982538254080702473651766803894111159229710625386684858862444230920127757800263883574853540966851556413358582944822399953289888165846407938022036905301586836194824818202768518894564761598157803147037479860478223880543067934996012246200958672691941278387906049957565348731611548489539410753415008886008279755584894209733952249019764232239 25486854150839666034723013302241258431191755722969041713091478629544512941203790684650612842814908597140502531023004931029048784047140951074725570013059616313626146634011617266236385647820714482316999069079559954295824438774914268260242963127837576156270666540165414735501337331546178738368412796236789686967741435650100784146523830755088938124047539263682335973328985741929744745706835601627433400290371229165644997820872353997395386857975099988057827496017232616727825852674019437564128333246673511910734084554504813251684286527851478787549917198120968459241598845634321243658576197457288805488840897604979466057679924803373841153159719184552901178311179311974001326725484385799067886037045777898031232563747618968694605116558317161776882995738182385128810405222446961865303706034879282309712338056038442035129582622080034529409160817262050286953684811569505485046779709199451245623362216565319305294288534497563092014700573639391291744008414365803844866712659392955666395222974570019101364639219170775494952443165425237943987171662199847714986017588164643844353054389570017809313653518235275412085060088267478708130569570861842346612084483116831518417640512267874155570735461445407992747614236718317516093892856270910524681803448943921205734880527865842478667276419860586884591394921517429466224171428701040929557984888324785796226137879612183611021007063838410644128499084512592957160804165741324010348342212450326898837783598688932522242623939473278122787612239301625522270104407879056761522509700419052065473063840822726865587212932669131761325772273093658683829230750753194028302578161186033418931420905183043281764473030136307972087734399718302686975226135923866472684387679558732754182709242268767267920117359163630471649091407491042832351138804596931790356825880593816966424433864825862764527325868516449536959820851345451778249191957450523490581969844560163273847453804548975253001206045159151352857606904122631446398621206768551303201870005301410066438271235584662805320972078640977263906369303689318543966260814911973532196792599433620892795874981795524892101155698651889030088067838047181544618744715767768070496180766174864229089486449161711286807036011259964887055965057791562395871267762020977428727642096949326855770973944973954242963705761799071923065759632414703729224535953689577994635186776336715906246247872484027223256679253182789029527128095161521784891575548063680192401527033542226078261182793699143045051307812691524859917677654960712448697579348083881827894414105285668569736609977831068186426018758965493043471430641119842551599502250459435126783289372774705626489147802230752987078109982473720429808394446332605189441978343366010763163625034526982773758347175580825557821317721070772671844404329438355574876451608042498668850595285714644613935807843369659333272377404526242285263705411611025906928397889418412865036016633713127051781263544182845543438189451320158552518746217072893434218917492880796655149412189158440075928968970070599666305281640880983097279966886961767682 41238596282369919007407378930940860593932386481255507796826357885905191585075838952829618497073623714503926214403720689257858991487282150357332385006398328573100660910443775129295617571229699732968293190819328868394735985335578170697846158087739970606620971105631854715235349078701564856587288596227505015618389644958564144064418548679793537834543912261848913009899016833980398015296072868662589547400921860643429866157806195110455887008505282263439925270771049825334563648881691491562569626027422219217848322502601942903755154271350025221154116460462112266017524104856316351674878546388673770980532468450657169304981972623420511674816245400375163211336222670513196552889792290893378335582549284401195681202923103636211714198952698735232342153550314341091416277962352100881089464501710058965761447825375291909949023636064054222926188422456590682019043580739575232794999352095555147102484919204985027538547435463885124331807375283489122028186571732864367551918506686813259988710751873015922528235308654254741758031643929669665242572899944522475998042353260229756549608381638589242129521886148322839524409523184859043996946739974576847580902741330708831400012506106430718995680335457134854786528708067598857925919491350477694662350396904542135655877098179398340630738819668934586892516543441000061230942418018946340286576266099002814641404308967699693913996297861146248967200742179252818790899552159114333357439920717280414228222154290980778079207210246288358076890332869431549806502063083252495173564937958301662041015275822733809112066324024239383950511583558522548088750491017245687333986722255225625137608610410954375077295593316067082996966252521311339489861401703372078660123759215133816517825246641508602632955570493803206913071979585650443384350732750743098635824555420698631136475350113460945770686702246721696840347125560956257061782933563509026653529292814711986926443316711732098033494825722795476429529779406315074160690098210797635435816722930043052203678100264491658723047333341463148661808076132888048841262861730662739859826975893530879020626151205154284926830880842901451272583853170820097653655080077383007864090816913356751497755961085156649510717464214201589583305341968734095838585735363735800611856079260295326266448329684384523913504473598677163377647046191378560688813456877596467874700308856237673677906113898198595856197080200506669039717095470516359576419243260558806771121278433225659893616582658065302568490454514385987330271959616722847347170866204324698631875453828873876044425926706366118312997102368802402866890766897975877292134976608614600973031475798164894136171484205795033212326077749223759743778794609265867173322446649976190065723017065236854460820827347629451932476950781398058529263191882586495004209408306382243704136252566201027294390788192059286562265570372650223285742316912612743123222707621181383930581395311284854928301024043323767318732519255154564764947175745585375497305398930754220498143800706929615339722385079485674585037225775192831232215906725999921 66725450433209585042130392233182119025124142204224549509917836515449704526279629637480231339888532311644428745426725620286907775534423101432057955019457944886726807544455392395532003219050414215285292259898888822690560424110492438958089121215577546762891637645797269450736686410247743594955701392464294702586131080608664928210942379434882475958591451525531248983228002575910142761002908470290022947691293089809074863978678549107851273866480382251497752766788282442062389501555710929126697959274095731128582407057106756155439440799201504008704033658583080725259122950490637595333454743845962576469373366055636635362661897426794352827975964584928064389647401982487197879615276676692446221619595062299226913766670722604906319315511015897009225149288496726220226683184799062746393170536589341275473785881413733945078606258144088752335349239718640968972728392309080717841779061295006392725847135770304332832835969961448216346507948922880413772194986098668212418631166079768926383933726443035023892874527825030236710474809354907609229744562144370190984059941424873600902662771208607051443175404383598251609469611452337752127516310836419194192987224447540349817653018374304874566415796902542847534142944785916374019812347621388219344153845848463341390757626045240819298015239529521471483911464958429527455113846719987269844561154423788610867542188579883304935003361699556893095699826691845775951703717900438343705782133167607313066005752979913300321831149719566480864502572171057072076606470962309256696074638377353727514079116645460674699279256693371145276283856652181231917981241770439715636564883441259044069029515593997656841768623452375055084700652239614026465087537627238551344511438773866570700534488910275870553072929657433678562163387076693275735489537347674888992650436014515597560909214939323710298012570763171233800167976906408035310974891014032517235499137374875260773897121260707351034700870881946829287136683528946520559311304979348938637686728231453118641949335849154464044019411982440412568177379822206592807523676642636272056619575327151771816501133000679177027986579494790481360651691218001642272399795845151078360271583088220980587242410246867936317753475474166476639270399760296491709853497384713229339498176209622182037422274658338766877210235397749086443406678606082289913349410567174462509887085192953579924153986382225819112876333383295698566845190632038144467994791324238999172648311975451738154799376357208347619798267205910847247949614577435296044750214288206526526289559114542445781035904537434304739015861334295446338321408017818428891637227068049727756320848572870520625319286436548020290436060222944189552173240941871056615300790015986953229348051592219628219168002928455009753794671852170730373667521320942069880661016348880912554731538280845641230198631561718619834642974898892508549447728523638650051620597039594248966598029024411906709564568226169310756921970575313117283693392818478809716222891811550875647555989865369691268691355150085340890318866656175928512182793687767603 107964046715579504049537771164122979619056528685480057306744194401354896111355468590309849836962156026148354959830446309544766767021705251789390340025856273459827468454899167524827620790280113948253585450718217691085296409446070609655935279303317517369512608751429124165972035488949308451542989988691799718204520725567229072275360928114676013793135363787380161993127019409890540776298981338952612495092214950452504730136484744218307160874985664514937678037559332267396953150437402420689267585301517950346430729559708699059194595070551529229858150119045192991276647055346953947008333290234636347449905834506293804667643870050214864502792209985303227600983624653000394432505068967585824557202144346700422594969593826241118033514463714632241567302838811067311642961147151163627482635038299400241235233706789025855027629894208142975261537662175231650991771973048655950636778413390561539828332054975289360371383405425333340678315324206369535800381557831532579970549672766582186372644478316050946421109836479284978468506453284577274472317462088892666982102294685103357452271152847196293572697290531921091133879134637196796124463050810996041773889965778249181217665524480735593562096132359677702320671652853515231945731838971865914006504242753005477046634724224639159928754059198456058376428008399429588686056264738933610131137420522791425508946497547582998848999659560703142062900568871098594742603270059552677063222053884887727294227907270894078401038359965854838941392905040488621883108534045561751869639576335655389555094392468194483811345580717610529226795440210703780006731732787685402970551605696484669206638126004952031919064216768442138081666904760925365954948939330610630004635197989000387218359735551784473186028500151236885475235366662343719119840270098417987628474991435214228697384565052784656068699273009892930640515102467364292372757824577541543889028430189587247700340437972439449068195696604742305716666462935261594720001403190146574073503451161496170845627436113646122767066745323903561229985455955094641648786538373299011916446551220682650837127284205833461954817460337691932633235544388821739926054875922534086224362400001577732084998371332024585828470939688368066222575741729030587548439232748449029951354255469917508303870604342723290790714708996426249821053724797460850602162867444770930384587394049191253602060100280424414969073413583802367606562286102554504044414034584797805943769590408677398048415959015273650188288721720296834578221574194158143391921080492531225158165012943416321825461831243800423052012963703097849205212174915794306183772203676664328729352324371035414761490770642343053502762137972167949295952035551136923788623236665963143295071068657456482679988830276084461686271622633568788902930713203528564884870424655263156258867790847046668524589419753777906396908545271542731835190045436251393174843304660775632897179424335696761637865592269493078075654489830467682048640568564064185213528290742305096145699790572299306608413740229571015475356092431368759744398700413767524 174689497148789089091668163397305098644180670889704606816662030916804600637635098227790081176850688337792783705257171929831674542556128353221448295045314218346554275999354559920359624009330528163538877710617106513775856833556563048614024400518895064132404246397226393616708721899197052046498691381156094420790651806175894000486303307549558489751726815312911410976355021985800683537301889809242635442783508040261579594115163293326158434741466046766435430804347614709459342651993113349815965544575613681475013136616815455214634035869753033238562183777628273716535770005837591542341788034080598923919279200561930440030305767477009217330768174570231291990631026635487592312120345644278270778821739408999649508736264548846024352829974730529250792452127307793531869644331950226373875805574888741516709019588202759800106236152352231727596886901893872619964500365357736668478557474685567932554179190745593693204219375386781557024823273129249949572576543930200792389180838846351112756578204759085970313984364304315215178981262639484883702062024233262857966162236109976958354933924055803345015872694915519342743348746089534548251979361647415235966877190225789531035318542855040468128511929262220549854814597639431605965544186593254133350658088601468818437392350269879979226769298727977529860339473357859116141170111458920879975698574946580036376488686127466303784003021260260035158600395562944370694306987959991020769004187052495040360233660250807378722869509685421319805895477211545693959715005007871008565714214713009117069173509113655158510624837410981674503079296862885011924712974558125118607116489137743713275667641598949688760832840220817193166367557000539392420036476957849181349146636762866957918894224462060343739101429808670564037398753739036994855329807446092876621125427449729826258293779992108366366711843773064164440683079373772327683732715591574061124527567564462508474237559233146800102896567486689135003803146464208115279312708169495512711190179392949289487576771962800586811086157306343973798162835777301234456310215015935283973066126547834422653628417206512638982804039832482413993887235606823382198454671767685164584633983089798712672240781578892522146224415162534542861846141489327079258292730133162259290852431679539690341292879001062057667924944394175336264460403403543140515512278011945392894474479242144833526214086662650234081949746967098066173407476734592648512408825909036805116417902384129136203215335372481997808086988926207681826171188771593439436671294780737751684454572057958767606497735781234727791028825037393295543533582933612735075409430744714056485673172943905935386810057078891073793198198195112138848125276493007980403924026681950096524419120249676110899156833204539471440066294485739519276598234524470634765531441004144068813599329127892309754788051315496526231551520170435240384637773959890043226463901700369881863777453360108668347430160495662388832576460405780799332333961382542994929751182553855971793255780437668997877105095379656356365674959087544688256581494101535127 282653543864368593141205934561428078263237199575184664123406225318159496748990566818099931013812844363941138665087618239376441309577833605010838635071170491806381744454253727445187244799610642111792463161335324204861153243002633658269959679822212581501916855148655517782680757388146360498041681369847894138995172531743123072761664235664234503544862179100291572969482041395691224313600871148195247937875722990714084324251648037544465595616451711281373108841906946976856295802430515770505233129877131631821443866176524154273828630940304562468420333896673466707812417061184545489350121324315235271369185035068224244697949637527224081833560384555534519591614651288487986744625414611864095336023883755700072103705858375087142386344438445161492359754966118860843512605479101390001358440613188141757944253294991785655133866046560374702858424564069104270956272338406392619115335888076129472382511245720883053575602780812114897703138597335619485372958101761733372359730511612933299129222683075136916735094200783600193647487715924062158174379486322155524948264530795080315807205076902999638588569985447440433877227880726731344376442412458411277740767156004038712252984067335776061690608061621898252175486250492946837911276025565120047357162331354474295484027074494519139155523357926433588236767481757288704827226376197854490106835995469371461885435183675049302633002680820963177221500964434042965436910258019543697832226240937382767654461567521701457123907869651276158747288382252034315842823539053432760435353791048664506624267901581849642321970418128592203729874737073588791931444707345810521577668094834228382482305767603901720679897056989259331248034461761464758374985416288459811353781834751867345137253960013844816925129929959907449512634120401380713975170077544510864249600418884944054955678345044893022435411116782957095081198181841136620056490540169115605013555997754049756174577997205586249171092264091431440720469609399469709999314111359642086784693630554445460333204208076446709578152902630247535028148291732395876105096753389234295889512677768517073490755701412346100937621500170174346627122779995645122124509547690219250808996383091376444757239152910917107974695354850902609084421883218357666806731962881611289242206687149457198645163483343785348458639653390601586085514128201003991117675145456716323279061873291336087128274186943074649051023160550900433779969762837147152556822860493834611060187492792806534251631294387755647996375710646504516404392762965751582828592375273268976842619585001375089431959567025035150843041788740491144748745757849407041259181634421378385215025497314941350148300827721234127295960336167280088144077312044144904192547263347913239819490188907132593579145663480623933126337917119308308179528947727999199650401865659407225072467119974938978279377471069274432628460065441977972219827819396141436401307206361145514760956877695805429985295752765155466908230950236248481380974529946607180143279473296161067938955571009968304485518835609227371841031051518913448000980194515302651 457343041013157682232874097958733176907417870464889270940068256234964097386625665045890012190663532701733922370344790169208115852133961958232286930116484710152936020453608287365546868808941170275331340871952430718637010076559196706883984080341107645634321101545881911399389479287343412544540372751003988559785824337919017073247967543213792993296588994413202983945837063381491907850902760957437883380659231030975663918366811330870624030357917758047808539646254561686315638454423629120321198674452745313296457002793339609488462666810057595706982517674301740424348187067022137031691909358395834195288464235630154684728255405004233299164328559125765811582245677923975579056745760256142366114845623164699721612442122923933166739174413175690743152207093426654375382249811051616375234246188076883274653272883194545455240102198912606430455311465962976890920772703764129287593893362761697404936690436466476746779822156198896454727961870464869434945534645691934164748911350459284411885800887834222887049078565087915408826468978563547041876441510555418382914426766905057274162139000958802983604442680362959776620576626816265892628421774105826513707644346229828243288302610190816529819119990884118802030300848132378443876820212158374180707820419955943113921419424764399118382292656654411118097106955115147820968396487656775370082534570415951498261923869802515606417005702081223212380101359996987336131217245979534718601230427989877808014695227772508835846777379336697478553183859463580009802538544061303769001068005761673623693441410695504800832595255539573878232954033936473803856157681903935640184784583971972095757973409202851409440729897210076524414402018762004150795021893246308992702928471514734303056148184475905160664231359768578013550032874140417708830499884990603740870725846334673881213972125037001388802122960556021259521881261214908947740223255760689666138083565318512264648815556438733049273988831578120575724272755863677825278626819529137599495883809947394749820780980039247296389239059936591508826311127509697110561406968405169579862578804316351496144384118618858739920425540002656760621010015602468504322964219457904415393630366181175157429479934489809630120919770013437151946268024707684746065024693014773548533059118828996888986456362344847406126564597784776922349974531604547131633187423468661716173536352533480920654488273605724883132972907517998499953377239571739801069231686402871416176605395176935670454846629760237645804462699572712198230563951737345022265263670054006728527074157059333857038457302806269878634070613777884440292279340783019776334591065166092441700698670258847285535110884800125201089158534362392226992202588537152884596471290029863336343909309156808704478302496685163404566404211605047827456127182252469834415933306663551293886066449102831288034165522384770958860011585612413212604465593356031479627771108061515396624734331055914098332725913260817855740807410642029280713308491329150175073030655850017039732211351447637302362623930988883728206706010606458136257561688616837778 739996584877526275374080032520161255170655070040073935063474481553123594135616231863989943204476377065675061035432408408584557161711795563243125565187655201959317764907862014810734113608551812387123804033287754923498163319561830365153943760163320227136237956694537429182070236675489773042582054120851882698780996869662140146009631778878027496841451173513494556915319104777183132164503632105633131318534954021689748242618459368415089625974369469329181648488161508663171934256854144890826431804329876945117900868969863763762291297750362158175402851570975207132160604128206682521042030682711069466657649270698378929426205042531457380997888943681300331173860329212463565801371174868006461450869506920399793716147981299020309125518851620852235511962059545515218894855290153006376592686801265025032597526178186331110373968245472981133313736030032081161877045042170521906709229250837826877319201682187359800355424937011011352431100467800488920318492747453667537108641862072217711015023570909359803784172765871515602473956694487609200050820996877573907862691297700137589969344077861802622193012665810400210497804507542997237004864186564237791448411502233866955541286677526592591509728052506017054205787098625325281788096237723494228064982751310417409405446499258918257537816014580844706333874436872436525795622863854629860189370565885322960147359053477564909050008382902186389601602324431030301568127503999078416433456668927260575669156795294210292970685248987973637300472241715614325645362083114736529436421796810338130317709312277354443154565673668166081962828771010062595787602389249746161762452678806200478240279176806753130120626954199335855662436480523468909170007309534768804056710306266601648193402144489749977589361289728485463062666994541798422805669962535114605120326265219617936169650470081894411237534077338978354603079443056045567796713795929805271151639563072562020823393553644319298445081095669552016444742365263147535277940930888779686280577440501840210153985188115694005967391962566839043854459419242092986666503721794403875752091482084868569635139820031204840858047040172831107248132795598113626447473767148123666202626749272551602186719087400726738095615124864339761030689907926042412871756655896384837775265805978454087631619845688632754585204251175378508435488659805551122750862568925378039452598225824817007782762460548799532183996068068898933733347002408886953626054546896706027236792887969742204706477924147993293800838410219216714634956714703096605093856045327275705369693742060708946470416869831305029477112402518375585041025098632426817593772699587470826915724167573788635683411712521359328385118870529672315136279900581297788789018553377776576163399498063941298057448160165787337692742128724356135635656129980469034066335172322958518958533569077770266313542993454045391488471651054391184824293412752172916029078314422660911385691208751719528318021666025973322649038360878277762094283021275757355216310129146178107671166922457605606848142766598111100047737062125371584258541883132140429 1197339625890683957606954130478894432078072940504963206003542737788087691522241896909879955395139909767408983405777198577792673013845757521475412495304139912112253785361470302176280982417492982662455144905240185642135173396121027072037927840504427872770559058240419340581459715962833185587122426871855871258566821207581157219257599322091820490138040167926697540861156168158675040015406393063071014699194185052665412160985270699285713656332287227376990188134416070349487572711277774011147630478782622258414357871763203373250753964560419753882385369245276947556508791195228819552733940041106903661946113506328533614154460447535690680162217502807066142756106007136439144858116935124148827565715130085099515328590104222953475864693264796542978664169152972169594277105101204622751826932989341908307250799061380876565614070444385587563769047495995058052797817745934651194303122613599524282255892118653836547135247093209907807159062338265358355264027393145601701857553212531502122900824458743582690833251330959431011300425673051156241927262507432992290777118064605194864131483078820605605797455346173359987118381134359263129633285960670064305156055848463695198829589287717409121328848043390135856236087946757703725664916449881868408772803171266360523326865924023317375920108671235255824430981391987584346764019351511405230271905136301274458409282923280080515467014084983409601981703684428017637699344749978613135034687096917138383683852023066719128817462628324671115853656101179194335447900627176040298437489802572011754011150722972859243987160929207739960195782804946536399643760071153681801947237262778172573998252586009604539561356851409412380076838499285473059965029202781077796759638777781335951249550328965655138253592649497063476612699868682216131636169847525718345991052111554291817383622595118895800039657037894999614124960704270954515536937051690494937289723128391074285472209110083052347719069927247672592169015121126825360556567750417917285776461250449234959974766168154941302356631022503430552680770546751790097227910690199573455614670286401220065779523938650063580778472580175487867869142811200582130770437986606028081596257115453726759616199021890536368216534894877776912976957932633727158936781348911158386308324924807450976618076208033480160711768848960155430785463191410098254384049992394039755626134578358297928437250734154524415316968975586897433686724241980626754695286233299577443413398283146677875161324553908230939605301109791928912865520666440441627359119715381282433896767899120042803508874172637574908111183016296260025333304439415446593928363764753563268616422837832635921218522597321484529474277404892064542128482489118450673385489843407639912507308807220750002535750656850950742259146340329403963091783312232938868482268478986509812844600018180601554347708515838816350348483236666804397428759006108204395656849422484176308010425539807633626650747579286791178389845771520307042807591512604907530289340784996195147403378273905242909210766697586994828254443072731829720516103571748978207 1937336210768210232981034162999055687248728010545037141067017219341211285657858128773869898599616286833084044441209606986377230175557553084718538060491795114071571550269332316987015096026044795049578948938527940565633336715682857437191871600667748099906797014934956769763529952638322958629704480992707753957347818077243297365267231100969847986979491341440192097776475272935858172179910025168704146017729139074355160403603730067700803282306656696706171836622577579012659506968131918901974062283112499203532258740733067137013045262310781912057788220816252154688669395323435502073775970723817973128603762777026912543580665490067148061160106446488366473929966336348902710659488109992155289016584637005499309044738085521973784990212116417395214176131212517684813171960391357629128419619790606933339848325239567207675988038689858568697082783526027139214674862788105173101012351864437351159575093800841196347490672030220919159590162806065847275582520140599269238966195074603719833915848029652942494617424096830946613774382367538765441978083504310566198639809362305332454100827156682408227990468011983760197616185641902260366638150147234302096604467350697562154370875965244001712838576095896152910441875045383029007453012687605362636837785922576777932732312423282235633457924685816100530764855828860020872559642215366035090461275702186597418556641976757645424517022467885595991583306008859047939267472253977691551468143765844398959353008818360929421788147877312644753154128342894808661093262710290776827873911599382349884328860035250213687141726602875906042158611575956598995431362460403427963709689941584373052238531762816357669681983805608748235739274979808941969135036512315846600816349084047937599442952473455405115842953939225548939675366863224014554441839810060832951111378376773909753553273065200790211277191115233977968728040147327000083333650847620300208441362691463636306295602663727371646164151022917224608613757486389972895834508681306696972057038690951075170128751356270635308324022985070269596535229965993883083894414411993977331366761768486088635414663758681268421636519620348318975117275606798695757217911753754151747798883864726278361802918109291263106312150019742116674007647840559769571808538004807543224083590730785905064249696053722112915296973100135533939220951851215649377134912561319417795078732804183114936220013194703323947500965043655796367420071244389513708321340780196283470650191171116420079867802478056224233406139520011145627500477381143538232452975760708558139266461641180751749979291042468879937588295418814635610374329538047873411522136464341034095532147005406424556901934309842843857859396275421736857264762389699748462174508396785416488670708305284691300593198817016738079951888469053760098727439442213407902548603651309468331803133587258371820661251509292861741836954887721195582253052418860377311685927736906837219396116748559353154968769245312764501038884132398584804901874533880664885505650914142373255074545196362848516058909464185105928302180134857201304774645454881118636 3134675836658894190587988293477950119326800951050000347070559957129298977180100025683749853994756196600493027846986805564169903189403310606193950555795935026183825335630802619163296078443537777712034093843768126207768510111803884509229799441172175972677356073175376110344989668601156144216826907864563625215914639284824454584524830423061668477117531509366889638637631441094533212195316418231775160716923324127020572564589000766986516938638943924083162024756993649362147079679409692913121692761895121461946616612496270510263799226871201665940173590061529102245178186518664321626509910764924876790549876283355446157735125937602838741322323949295432616686072343485341855517605045116304116582299767090598824373328189744927260854905381213938192840300365489854407449065492562251880246552779948841647099124300948084241602109134244156260851831022022197267472680534039824295315474478036875441830985919495032894625919123430826966749225144331205630846547533744870940823748287135221956816672488396525185450675427790377625074808040589921683905346011743558489416927426910527318232310235503013833787923358157120184734566776261523496271436107904366401760523199161257353200465252961410834167424139286288766677962992140732733117929137487231045610589093843138456059178347305553009378033357051356355195837220847605219323661566877440320733180838487871876965924900037725939984036552869005593565009693287065576966817003956304686502830862761537343036860841427648550605610505637315869007784444074002996541163337466817126311401401954361638340010758223072931128887532083646002354394380903135395075122531557109765656927204362545626236784348825962209243340657018160615816113479094415029100065715096924397575987861829273550692502802421060254096546588722612416288066731906230686078009657586551297102430488328201570936895660319686011316848153128977582853000851597954598870587899310795145731085819854710591767811773810423993883220950164897200782772607516798256391076431724614257833499941400310130103517524425576610680654007573700149216000512745673181122325102193550786981432054887308701194187697331332002414992200523806842986418417999277887988349740360179829395140980180005121419117131181799474528684914619893586984605773193496730745319353718701610391915655593356040867772261755593076008741949095689370006415042625747631518962553713457550704867382541412864657263928857848362817934019242693801106795486370140463016627013495860914063589454263097955029127031964455173011440629803074540365998047583979859812095476089840573163229540300794553488165215106454845699478435110895635707633977463320005450500229094597364148569843239060478120456907164328387333673680313801399393244878818199135559998240193056401178017112505441303128949473867688822211034809383164061819222754446346771030872130295978144647733605438973375008960025131678092185438124387999979681811424968581707342777159391013527406542288366986781619516824599555679428729903918891847709466046485572415794991699138568402477923470268091425269676161772100756556623207589031025290749026630096843 5072012047427104423569022456477005806575528961595037488137577176470510262837958154457619752594372483433577072288196412550547133364960863690912488616287730140255396885900134936150311174469582572761613042782296066773401846827486741946421671041839924072584153088110332880108519621239479102846531388857271379173262457362067751949792061524031516464097022850807081736414106714030391384375226443400479306734652463201375732968192730834687320220945600620789333861379571228374806586647541611815095755045007620665478875353229337647276844489181983577997961810877781256933847581842099823700285881488742849919153639060382358701315791427669986802482430395783799090616038679834244566177093155108459405598884404096098133418066275266901045845117497631333407016431578007539220621025883919881008666172570555774986947449540515291917590147824102724957934614548049336482147543322144997396327826342474226601406079720336229242116591153651746126339387950397052906429067674344140179789943361738941790732520518049467680068099524621324238849190408128687125883429516054124688056736789215859772333137392185422061778391370140880382350752418163783862909586255138668498364990549858819507571341218205412547006000235182441677119838037523761740570941825092593682448375016419916388791490770587788642835958042867456885960693049707626091883303782243475411194456540674469295522566876795371364501059020754601585148315702146113516234289257933996237970974628605936302389869659788577972393758382949960622161912786968811657634426047757593954185313001336711522668870793473286618270614134959552044513005956859734390506484991960537729366617145946918678475316111642319878925324462626908851555388458903356998235102227412770998392336945877211150135455275876465369939500527948161355963433595130245240519849467647384248213808865102111324490168725520476222594039268362955551581040998924954682204238746931095354172448511318346898063414437537795640047371973082121809396530093906771152225585113031311229890538632351385300232268880696211919004676992643969745751230478739556265016739514187528118348193823373397336608851456012600424051511820872125818103694024797973645206261494114331577194024844906283483222035240473062580840834934362010260992253613753266302553857358526244834475506386379261105117468315477705991305715049231223309227366893841397008653875115032875345783600186724527800877277123561172310318899062898490168526866730759654171337967793692144384713780625379518034896929510020679406417580149814220167866475428727518092265071236798398712429691181481546303467456257575334783287773853925531246081963515511193416972636693435631459680716848645485035022391217007172245193069955735538256658007268517947597734506636978472889848725417790132603722148290884426902162923278436924160546662196659754673579475781605446476450867192697345195670211534424539834022393012109195561934863843828959019028704896297850746802659036926339936588286069912320180467614036317476652611340580366237301300642613280941657552468666630939941328585625957206684858803342446232330065394481511215479 8206687884085998614157010749954955925902329912645037835208137133599809240018058180141369606589128680034070100135183218114717036554364174297106439172083665166439222221530937555313607252913120350473647136626064192981170356939290626455651470483012100045261509161285708990453509289840635247063358296721835004389177096646892206534316891947093184941214554360173971375051738155124924596570542861632254467451575787328396305532781731601673837159584544544872495886136564877736953666326951304728217447806902742127425491965725608157540643716053185243938135400939310359179025768360764145326795792253667726709703515343737804859050917365272825543804754345079231707302111023319586421694698200224763522181184171186696957791394465011828306700022878845271599856731943497393628070091376482132888912725350504616634046573841463376159192256958346881218786445570071533749620223856184821691643300820511102043237065639831262136742510277082573093088613094728258537275615208089011120613691648874163747549193006445992865518774952411701863923998448718608809788775527797683177473664216126387090565447627688435895566314728298000567085319194425307359181022363043034900125513749020076860771806471166823381173424374468730443797801029664494473688870962579824728058964110263054844850669117893341652213991399918813241156530270555231311206965349120915731927637379162341172488491776833097304485095573623607178713325395433179093201106261890300924473805491367473645426730501216226522999368888587276491169697231042814654175589385224411080496714403291073161008881551696359549399501667043198046867400337762869785581607523517647495023544350309464304712100460468282088168665119645069467371501937997772027335167942509695395968324807706484700827958078297525624036047116670773772251500327036475926597859125233935545316239353430312895427064385840162233910887421491933134434041850522909281074826646241890499903534331173057489831226211348219633930592923247019010179302701423569408616661544755925487724038573751695430335786405121788529685331000217669894967230991485229446139064616381078905329625878260706037803039153343932426466504021395932661090112442797251533194611234474511406589165825086288604641152371654862055369519848981903847976859386946763033299176712244946444867422041972617145985240577233299067314456998326912679233781936467144640172837668746332896488467569265940665534541052419020673136833082141183969633662217129794634354594807188005298777370079642615989926056541985134579429020779617294708232473476311497952077166712888239285592920721782340856955621472681789628987252289036426881789597492974513422423136922530228823829286691884545513142848124171500632526743636049339656051252147336146733294504877171529291026742530295573906851097764752115724373958087820088222365884951106101444610347911901424621098600798136318570679171559556217926207831136497195541616675268797540726371482055688864274209201325293326718207802894511875859896343940236368500320806626851809717095634312419510060030392136899031366598261787729307441415426550035263355356143508141312322 13278699931513103037726033206431961732477858874240075323345714310070319502856016334598989359183501163467647172423379630665264169919325037988018927788371395306694619107431072491463918427382702923235260179408360259754572203766777368402073141524852024117845662249396041870562028911080114349909889685579106383562439554008959958484108953471124701405311577210981053111465844869155315980945769305032733774186228250529772038500974462436361157380530145165661829747516136106111760252974492916543313202851910362792904367318954945804817488205235168821936097211817091616112873350202863969027081673742410576628857154404120163560366708792942812346287184740863030797918149703153830987871791355333222927780068575282795091209460740278729352545140376476605006873163521504932848691117260402013897578897921060391620994023381978668076782404782449606176721060118120870231767767178329819087971127162985328644643145360167491378859101430734319219428001045125311443704682882433151300403635010613105538281713524495460545586874477033026102773188856847295935672205043851807865530401005342246862898585019873857957344706098438880949436071612589091222090608618181703398490504298878896368343147689372235928179424609651172120917639067188256214259812787672418410507339126682971233642159888481130295049949442786270127117223320262857403090269131364391143122093919836810468011058653628468668986154594378208763861641097579292609435395519824297162444780119973409947816600161004804495393127271537237113331610018011626311810015432982005034682027404627784683677752345169646167670115802002750091380406294622604176088092515478185224390161496256382983187416572110601967093989582271978318926890396901129025570270169922466394360661753583695850963413354173990993975547644618935128214933922166721167117708592881319793530048218532424219917233111360638456504926689854888686015082849447863963279065393172985854075982842491404387894640648886015273977964896329140819575832795330340560842246657787236717614577206103080730568055285818000448690007992861639640718461470224785711155804130568607023677819701634103374411890609356532850518015842268058479193806467595225178400872728588842983783190669992572087863187612127924636210354783343914108969113000700029335853034070771191279342928428351878251102708892711005058620172047558135988461148830308541648826712783779208242272067755990468466411818175980192983455732145039674138160528947889448805692562600880149683491150705022134024822986052005813985846600929431514876098948905039016044342237949686637998022611903263887160423077730257124412275026142961958127871561008485706839395773615965860283510003540530030548165239341178672877719813591784877912709259415854094331029011514150002180875467948085706510573246055636542626536881366257012382912547147765856118189823693506871097549467990833663766349383093980757760230224148606391103551539112626499745400186951986715021011860362219666654796088964424196040363957976553845152932147207218047018396276925700451717582860803529971307926847413686514126274229892481495685421537989652527801 21485387815599101651883043956386917658380188786885113158553851443670128742874074514740358965772629843501717272558562848779981206473689212285125366960455060473133841328962010046777525680295823273708907316034424452735742560706067994857724612007864124163107171410681750861015538200920749596973247982300941387951616650655852165018425845418217886346526131571155024486517583024280240577516312166664988241637804037858168344033756194038034994540114689710534325633652700983848713919301444221271530650658813104920329859284680553962358131921288354065874232612756401975291899118563628114353877465996078303338560669747857968419417626158215637890091939085942262505220260726473417409566489555557986449961252746469492049000855205290557659245163255321876606729895465002326476761208636884146786491623271565008255040597223442044235974661740796487395507505688192403981387991034514640779614427983496430687880210999998753515601611707816892312516614139853569980980298090522162421017326659487269285830906530941453411105649429444727966697187305565904745460980571649491043004065221468633953464032647562293852911020826736881516521390807014398581271630981224738298616018047898973229114954160539059309352848984119902564715440096852750687948683750252243138566303236946026078492829006374471947263940842705083368273753590818088714297234480485306875049731298999151640499550430461565973471250168001815942574966493012471702636501781714598086918585611340883593243330662221031018392496160124513604501307249054440965985604818206416115178741807918857844686633896866005717069617469045948138247806632385473961669700038995832719413705846565847287899517032578884055262654701917047786298392334898901052905438112432161790328986561290180551791371432471516618011594761289708900466434249203197093715567718115255338846287571962737115344297497200800690415814111346821820449124699970773244353892039414876353979517173664461877725866860234234907908557819576159829755135496753909969458908202543162205338615779854776160903841690939788978375338993079309535685692461710015157294868746949685929007445579894809412214929762700465276984519863663991140283918910392476711595483963063354390372356495078860692504339983782786691579874632325817956945972387646792369152210783016137724210350470324495397087949469944304125934629045885048667694930766775686288999550452525541138760535325256409131946359228399213656592565227180858107794191165019243440047157408068154982268520784664750014749042593990948565275621709048809584331422381350513996419404662574877283615532625046228017378699202938914041262278431998385009661158501460220261818910538496089107339290232414576061308087465350173510246557227834217568760511563190241064323516391321531471902210478381280417424343820388658350910839454077100605278432098871957562800171605408295718648068788969982337028554653536975686438055285103586645168214381424040471771669007675579295221061687512993373003891858936071900260301916790213653252953834069856735491911238119961777613252940429002674525109201415821567689656442516759040777681497793840123 34764087747112204689609077162818879390858047661125188481899565753740448245730090849339348324956131006969364444981942479445245376393014250273144294748826455779828460436393082538241444107678526196944167495442784712490314764472845363259797753532716148280952833660077792731577567112000863946883137667880047771514056204664812123502534798889342587751837708782136077597983427893435556558462081471697722015824032288387940382534730656474396151920644834876196155381168837089960474172275937137814843853510723467713234226603635499767175620126523522887810329824573493591404772468766492083380959139738488879967417824151978131979784334951158450236379123826805293303138410429627248397438280910891209377741321321752287140210315945569287011790303631798481613603058986507259325452325897286160684070521192625399876034620605420712312757066523246093572228565806313274213155758212844459867585555146481759332523356360166244894460713138551211531944615184978881424684980972955313721420961670100374824112620055436913956692523906477754069470376162413200681133185615501298908534466226810880816362617667436151810255726925175762465957462419603489803362239599406441697106522346777869597458101849911295237532273593771074685633079164041006902208496537924661549073642363628997312134988894855602242313890285491353495390976911080946117387503611849698018171825218835962108510609084090034642457404762380024706436607590591764312071897301538895249363365731314293541059930823225835513785623431661750717832917267066067277795620251188421149860769212546642528364386242035651884739733271048698229628212927008078137757792554474017943803867342822230271086933604689486022356644284189026105225282731800030078475708282354628184689648314873876402754784786645507611987142405908644028681368171369918260833276310996575132376335790495161335261530608561439146920740801201710506464207549418637207632957432587862208055500016155866265620507509120250181886522715905300649330968292084250530301154860330398922953192985957856891471896976757789427065346985940949176404153931934800868450672877518292952685265281528912786626820372056998127502535705932049619477725377987701889996356691652197374155547165071432780367527595910711327790229415669732065915085388346821705005244853787329003553278898676373648190658362655309184554801093443184656156079597084227937826263236304749381032603081246877598358177404379406640048297372220532245954720112908692245739720008948304665759671489686884039572028645996762551122222638480324460430371286389530040761642612261515281638144528310115177801776933196038453537304574960343137532719509945927101214684154461949390849293772944606609473326806528846387966370819619095481469770979044335395352527905471533652777678426466986927997589876025200977447720820334112988190979246637813680989995298915166816197536779803646103377937747517733446668279433709977748719753494050540217171855959662294316232922049732660027799980823360267940624259893344058806185101041287903753888188163820413495196113743958973982451956615102335693963886334998254726199219487446367924 56249475562711306341492121119205797049238236448010301640453417197410576988604165364079707290728760850471081717540505328225226582866703462558269661709281516252962301765355092585018969787974349470653074811477209165226057325178913358117522365540580272444060005070759543592593105312921613543856385650180989159465672855320664288520960644307560474098363840353291102084501010917715797135978393638362710257461836326246108726568486850512431146460759524586730481014821538073809188091577381359086374504169536572633564085888316053729533752047811876953684562437329895566696671587330120197734836605734567183305978493899836100399201961109374088126471062912747555808358671156100665807004770466449195827702574068221779189211171150859844671035466887120358220332954451509585802213534534170307470562144464190408131075217828862756548731728264042580967736071494505678194543749247359100647199983129978190020403567360164998410062324846368103844461229324832451405665279063477476142438288329587644109943526586378367367798173335922482036167563467979105426594166187150789951538531448279514769826650314998445663166747751912643982478853226617888384633870580631179995722540394676842826573056010450354546885122577890977250348519260893757590157180288176904687639945600575023390627817901230074189577831128196436863664730501899034831684738092335004893221556517835113749010159514551600615928654930381840649011574083604236014708399083253493336281951342655177134303261485446866532178119591786264322334224516120508243781225069394837265039511020465500373051020138901657601809350740094646367876019559393552099427492593469850663217573189388077558986450637268370077619298986106073891523675066698931131381146394786789975018634876164056954546156219117024229998737167198352929147802420573115354548844029111830471222623362457898450605828105762239837336554912548532326913332249389410451986849472002738562035017189820328143346374369354485089795080535481460479086103788838160499760063062873561128291808765812633052375738667697578405440685979020258712089846393644816025745541624467978881692710861423722198841750134757463404487055569596040759761644288380178601591840654715551764527903660150293472871867579693498019370104047995550022861057775993614074157455636803466727763629369000869045278607832599613310489430139328233323851010363859914226825813688830290519793138406503286730304536632778620296640862599401390353748911277927935685786877417016459648028192274351634054321071239987711116397844347529134044761793667740044037181047274836392565253677153356343195180476136134952494799583006958728147193878011406147363033594692958038498188584005359182670781414271879019898212928047453313050230282542234576459676044296793065124679888904848267345421933696413859328358560274411213593469411345509771243790166904323462534845605568773628440406492401054709133106334718813564393887967875474580688943524967337873611453983737245653400803872682296339840884561810134272459438054875357760489380099401940375272809366684387976656977065816518157261653542777515013766976900985240208047 91013563309823511031101198282024676440096284109135490122352982951151025234334256213419055615684891857440446162522447807670471959259717712831413956458107972032790762201748175123260413895652875667597242306919993877716372089651758721377320119073296420725012838730837336324170672424922477490739523318061036930979729059985476412023495443196903061850201549135427179682484438811151353694440475110060432273285868614634049109103217506986827298381404359462926636395990375163769662263853318496901218357680260040346798312491951553496709372174335399841494892261903389158101444056096612281115795745473056063273396318051814232378986296060532538362850186739552849111497081585727914204443051377340405205443895389974066329421487096429131682825770518918839833936013438016845127665860431456468154632665656815808007109838434283468861488794787288674539964637300818952407699507460203560514785538276459949352926923720331243304523037984919315376405844509811332830350260036432789863859249999688018934056146641815281324490697242400236105637939630392306107727351802652088860072997675090395586189267982434597473422474677088406448436315646221378187996110180037621692829062741454712424031157860361649784417396171662051935981598424934764492365676826101566236713587964204020702762806796085676431891721413687790359055707412979980949072241704184702911393381736671075857520768598641635258386059692761865355448181674196000326780296384792388585645317073969470675363192308672702045963743023448015040167141783186575521576845320583258414900280233012142901415406380937309486549084011143344597504232486401630237185285147943868607021440532210307830073384241957856099975943270295099996748957798498961209856854677141418159708283191037933357300941005762531841985879573106996957829170591943033615382120340108405603598959152953059785867358714323678984257295713750242833377539798808047659619806904590600770090517205976194408966881878474735271681603251386761128417072080922411030061217923203960051245001751770489943847635644455367832506032964961207888494000325579616894196214501986271834377976142952634985468570506814461531989591275528090379239369666367880491588197346367749138683450825221726253239395175604209347160333463665282088776143164340435779162700490590795731316908267677242693469266195254922495044231232771417980007089960944142164652076925135039900825741487750164328662714037158026936689159971621922599703631390836627931526597425964764313787863764038518093893099885984473667520066986009458505192164954129574077942689887097907846891821681666458372982253069330990948336887581919071284726597521352074464248278847419987889037877778303789280254741078407866286179298867072408531700053521278911855028572202264598777457567331315254273419523572439060305806281094745326581660390592147584924780162203238629351043142348577274543784430148572442579774614152523542142607721369525120906115380927000167927686905786978313428603853505656607781508821703478331265623155916645664243268287565760788768005480428346950639429022431620492955617429112513268493176120472686575971 147263038872534817372593319401230473489334520557145791762806400148561602222938421577498762906413652707911527880062953135895698542126421175389683618167389488285753063967103267708279383683627225138250317118397203042942429414830672079494842484613876693169072843801596879916763777737844091034595908968242026090445401915306140700544456087504463535948565389488718281766985449728867150830418868748423142530747704940880157835671704357499258444842163884049657117410811913237578850355430699855987592861849796612980362398380267607226243124222147276795179454699233284724798115643426732478850632351207623246579374811951650332778188257169906626489321249652300404919855752741828580011447821843789601033146469458195845518632658247288976353861237406039198054268967889526430929879394965626775625194810121006216138185056263146225410220523051331255507700708795324630602243256707562661161985521406438139373330491080496241714585362831287419220867073834643784236015539099910266006297538329275663043999673228193648692288870578322718141805503098371411534321517989802878811611529123369910356015918297433043136589222429001050430915168872839266572629980760668801688551603136131555250604213870812004331302518749553029186330117685828522082522857114278470924353533564779044093390624697315750621469552541884227222720437914879015780756979796519707804614938254506189606530928113193235874314714623143706004459755757800236341488695468045881921927268416624647809666453794119568578141862615234279362501366299307083765358070389978095679939791253477643274466426519838967088358434751237990965380252045795182336612777741413719270239013721598385389059834879226226177595242256401173888272632865197892341238001071928208134726918067201990311847097224879556071984616740305349886976973012516148969930964369220236074821582515410958236473186820085918821593850626298775160290872048197458111606656376593339332125534395796522552313256247829220361476683786868221607503175869760571529821280986077521179536810517583122996223374312152946237946718943981466600583846719224432919941756126454250716070687004376357184310320641571924936476646845124131139001013954748059093180038001083300903211354485372019726111262755297707366530437511660832111637200940334049853320156127394262459080537636678111738747874027854535805533661372099651303858100324804056391477890613965330420618879894253451058967250669936647233330022571023312953452542668764563617313474842981223961816056038390152148214171125972184783917911333538592549953958621869618115123737161934300412145498835022801568162729205465943443136470588877799431920475532758221827281873540378026387226461783662971951036155350286886184392226914525721581930336063513488314704616499057663902137456236163521618841457268852919634164841369156540175129801937657356168570329107562091885888747917350902984190922549627151712880948871337106536495689244999701595058905894338041539140889524223966829407726187952947622393383513612603725061210792003424732648386967701164040814847112734927296406088248138650217270971890028282260153021457926784018 238276602182358328403694517683255149929430804666281281885159383099712627457272677790917818522098544565351974042585400943566170501386138888221097574625497460318543826168851442831539797579280100805847559425317196920658801504482430800872162603687173113894085682532434216240934450162766568525335432286303063021425130975291617112567951530701366597798766938624145461449469888540018504524859343858483574804033573555514206944774921864486085743223568243512583753806802288401348512619284018352888811219530056653327160710872219160722952496396482676636674346961136673882899559699523344759966428096680679309852771130003464565157174553230439164852171436391853254031352834327556494215890873221130006238590364848169911848054145343718108036687007924958037888204981327543276057545255397083243779827475777822024145294894697429694271709317838619930047665346096143583009942764167766221676771059682898088726257414800827485019108400816206734597272918344455117066365799136343055870156788328963681978055819870008930016779567820722954247443442728763717642048869792454967671684526798460305942205186279867640610011697106089456879351484519060644760626090940706423381380665877586267674635371731173654115719914921215081122311716110763286574888533940380037161067121528983064796153431493401427053361273955572017581776145327858996729829221500704410716008319991177265464051696711834871132700774315905571359907937431996236668268991852838270507572585490594118485029646102792270624105605638682294402668508082493659286934915710561354094840071486489786175881832900776276574907518762381335562884484532196812573798062889357587877260454253808693219133219121184082277571185526696273885021590663696853551094855749069626294435201258239923669148038230642087913970496313412346844806143604459182585313084709328641678420541668364018022340545534409597805851146340049017993668411847005505771226463281183940102216051601772716961280138126303955633158287038254982735920247950682982559882498909281481230781812269353612940071009956608314070452751908942674489077847044804049814137970628440522550448663147328992169778891148386386468466238120652221518240383621115939584768235347451050041894805310593745979350657930901916713690770975326114200413344104674485632482856617985058190397445904355354432217140223109458300577892604871069283865190285748198556129967539100370321444621382003615387629964707094674170019182542645235553156174059601191548840072268945988275603919802428670242107271011956658451437978319548051055146123575999192193066427049032208259037320516689259941144982274796934391473358170796870716647073054110296291530152387798014276264339561966761231290896428694752470571525781598130113630389584792400169733188701322262679595023567478775892260980841291979939971122463901866756790192529804941093350491310800721236931890265928177527975352698199594292655563023860648679103410614524822501174286821338209466827795311202280258011579693609555403902205217090934990684366708649088975916674533461952808820327541081877935835110679759143172888401002541550753329141930613359989 385539641054893145776287837084485623418765325223427073647965783248274229680211099368416581428512197273263501922648354079461869043512560063610781192792886948604296890135954710539819181262907325944097876543714399963601230919313102880367005088301049807063158526334031096157698227900610659559931341254545089111870532890597757813112407618205830133747332328112863743216455338268885655355278212606906717334781278496394364780446626221985344188065732127562240871217614201638927362974714718208876404081379853266307523109252486767949195620618629953431853801660369958607697675342950077238817060447888302556432145941955114897935362810400345791341492686044153658951208587069385074227338695064919607271736834306365757366686803591007084390548245330997235942473949217069706987424650362710019405022285898828240283479950960575919681929840889951185555366054891468213612186020875328882838756581089336228099587905881323726733693763647494153818139992179098901302381338236253321876454326658239345022055493098202578709068438399045672389248945827135129176370387782257846483296055921830216298221104577300683746600919535090507310266653391899911333256071701375225069932269013717822925239585601985658447022433670768110308641833796591808657411391054658508085420655093762108889544056190717177674830826497456244804496583242738012510586201297224118520623258245683455070582624825028107007015488939049277364367693189796473009757687320884152429499853907218766294696099896911839202247468253916573765169874381800743052292986100539449774779862739967429450348259420615243663265953513619326528264736577991994910410840630771307147499467975407078608193054000410308455166427783097447773294223528894745892332856820997834429162119325441913980995135455521643985955113053717696731783116616975331555244049078548877753242124183774976258813732354495516627444996966347793153959283895202963882833119657777279434341585997569239513593394374133175994634970825123204343423423820443554089703779895359002410318622786936735936294384268761260308399470852924141089661693764028482734079726754894773266519350151705349354089211789958311404942884965776352657241397575863998677948273348534350945106159795965765705461920686199624080221208486986946312050545045008535485803012745379320649477983541033466170965014250963994106111553976970720587723290610552254947607858153065700742063501276257066446597215377031321403349205113668548506608716728365755166153547111927212237419975840818822390321442137928843235355889653086643605100082197868810308190164210966508671182819351712061509307711480262877834609828759674670148567548586868518118812025928176040663490801345629733182327051778981638654963752696123851695560725648305888484437805200379926581732479803642297511102438110144899574135963833058406931919994467462297261920820418362813122820638183279080512166275247826746005536511895197755215599099859524524096233192715676251005968684835426247087419305881562503026295588730703538715745577500652513708565061501163116849635174653816805232241198927897793390159372892569833013482163388540144007 623816243237251474179982354767740773348196129889708355533125166347986857137483777159334399950610741838615475965233755023028039544898698951831878767418384408922840716304806153371358978842187426749945435969031596884260032423795533681239167691988222920957244208866465312398632678063377228085266773540848152133295663865889374925680359148907196731546099266737009204665925226808904159880137556465390292138814852051908571725221548086471429931289300371074824625024416490040275875593998736561765215300909909919634683820124705928672148117015112630068528148621506632490597235042473421998783488544568981866284917071958579463092537363630784956193664122436006912982561421396941568443229568286049613510327199154535669214740948934725192427235253255955273830678930544612983044969905759793263184849761676650264428774845658005613953639158728571115603031400987611796622128785043095104515527640772234316825845320682151211752802164463700888415412910523554018368747137372596377746611114987203027000111312968211508725848006219768626636692388555898846818419257574712814154980582720290522240426290857168324356612616641179964189618137910960556093882162642081648451312934891304090599874957333159312562742348591983191430953549907355095232299924995038545246487776622745173685697487684118604728192100453028262386272728570597009240415422797928529236631578236860720534634321536862978139716263254954848724275630621792709678026679173722422937072439397812884779725745999704109826353073892598868167838382464294402339227901811100803869619934226457215626230092321391520238173472276000662091149221110188807484208903520128895024759922229215771827326273121594390732737613309793721658315814192591599443427712570067460723597320583681837650143173686163731899925609367130043576589260221434514140557133787877519431662665852138994281154277888905114433296143306396811147627695742208469654059582938961219536557637599341956474873532500437131627793257863378187079343671771126536649586278804640483641100435056290348876365394225369574378852222761866815578739540808832532548217697383335295816968013299034341523868102938344697873409123086428574175481781196979938262716508695985400987000965106559511684812578617101540793911979462313060512463889149683021118285869363364378839875429445388820603182154474073452406689446581841789871588480896300453503737825692166071063508122658260681834227180084125995573368387656313784059764890787966946714993619380873200513023895643247492632428713149885501686793867972634694660246205773868002501256591259998716930220139868401321450452693755059812226083186930471540865214621640978814410342178315974054939755140907596494413617948207676391125535278477721981809191115233098288654170993901702189261327503371121073403363418951436879514107086296960273688710186997267238355271311729163534359752528449207258040141627946026340298192074919058403894702510474049346597407479537014460472796480146628527345430885575172058430197793947794473706429944209301602684481736034625069658455502194898683168076309607656936563047773895111383766811305319153503996 1009355884292144619956270191852226396766961455113135429181090949596261086817694876527750981379122939111878977887882109102489908588411259015442659960211271357527137606440760863911178160105094752694043312512745996847861263343108636561606172780289272728020402735200496408556330905963987887645198114795393241245166196756487132738792766767113026865293431594849872947882380565077789815235415769072297009473596130548302936505668174308456774119355032498637065496242030691679203238568713454770641619382289763185942206929377192696621343737633742583500381950281876591098294910385423499237600548992457284422717063013913694361027900174031130747535156808480160571933770008466326642670568263350969220782064033460901426581427752525732276817783498586952509773152879761682690032394556122503282589872047575478504712254796618581533635568999618522301158397455879080010234314805918423987354284221861570544925433226563474938486495928111195042233552902702652919671128475608849699623065441645442372022166806066414087434916444618814299025941334383033975994789645356970660638276638642120738538647395434469008103213536176270471499884791302860467427138234343456873521245203905021913525114542935144971009764782262751301739595383703946903889711316049697053331908431716507282575241543874835782403022926950484507190769311813335021751001624095152647757254836482544175605216946361891085146731752194004126088643323811589182687784366494606575366572293305031651074421845896615949028600542146515441933008256846095145391520887911640253644399796966424645076578351742006763901439425789619988619413957688180802394619744150900202172259390204622850435519327122004699187904041092891169431610037721486345335760569391065295152759439909123751631138309141685375885880722420847740308372376838409845695801182866426397184904790035913970539968010243400631060741140272744604301586979637411433536892702596738498970899223596911195988466926874570307622428228688501391422767095591570090739290058699999486051419057843227084812659778494130834687251693614790956668401234572861015282297424138230069083487363450739690877957314728303009278352008052204926832723178772843936940664782044519751932107124902525277390274499303301164874133187949300006824514434194691556604088882108743699489353412986422286774147168725037446512801000558812510459311771506852708451345683845231771805571623934517748280824395461157316976717592769982332566373607516332701881147166492800412750443871484066315022750155287814344922149757625721338265346287971736812809446755470965225601402959220113382959760405235322690060693015690146211013782170227847332529154204244150095603245942253226227595944999986658029780499031173845833504751840881404177138608799102082115843059983174763370914465857061581779088243050130018680620630181464729535617192132147526347482573166632486338552307903193853086303728586814256159110301610333573870693640672252690711478765164982054774432850191456734561456493382678498012422175521709954116393046797535788186508090676848715488400317508535554729953207146787681216780293468707693648003 1633172127529396094136252546619967170115157585002843784714216115944247943955178653687085381329733680950494453853115864125517948133309957967274538727629655766449978322745567017282537138947282179443988748481777593732121295766904170242845340472277495648977646944066961720954963584027365115730464888336241393378461860622376507664473125916020223596839530861586882152548305791886693975115553325537687301612410982600211508230889722394928204050644332869711890121266447181719479114162712191332406834683199673105576890749501898625293491854648855213568910098903383223588892145427896921236384037537026266289001980085872273824120437537661915703728820930916167484916331429863268211113797831637018834292391232615437095796168701460457469245018751842907783603831810306295673077364461882296545774721809252128769141029642276587147589208158347093416761428856866691806856443590961519091869811862633804861751278547245626150239298092574895930648965813226206938039875612981446077369676556632645399022278119034625596160764450838582925662633722938932822813208902931683474793257221362411260779073686291637332459826152817450435689502929213821023521020396985538521972558138796326004124989500268304283572507130854734493170548933611301999122011241044735598578396208339252456260939031558954387131215027403512769577042040383932030991417046893081176993886414719404896139851267898754063286448015448958974812918954433381892365811045668328998303644732702844535854147591896320058854953616039114310100846639310389547730748789722741057514019731192881860702808444063398284139612898065620650710563178798369609878828647671029097197019312433838622262845600243599089920641654402684891089925851914077944779188281961132755876356760492805589281281482827849107785806331787977783884961637059844359836358316654303916616567455888052964821122288132305745494037283579141415449214675379619903190952285535699718507456861196253152463340459375007439250221486551879578502110767362696627388876337504639969692519492899517433689025172719500409066103916376657772247140775381693547830515121521565364900455376749774032401825417666647707151761131138633501008204959969823875203381290740505152919108090009084789075087077920402705668045167411613067336978323344374577722374751472108078329228842431811107377329323199110898919490447140654300330900252403153161955083509537397842869079746592778430115051575545283312550085980426296116626138498304299648596140785873673613263467767127313807655178868437699846608943625598356032925592493745604815310703346730963942531623099088514704410213098990382502286776202620617751878996791868826146939496382560124150543001083160822722009562948194334420906034309651567815313942956114502465792779793003784305104387486545884444317829276013018658602350136426978954309340368461996773972463443876689881842325695081693596592449531139879426601920661733314563005004120807623217291048151789705171951561645128683301778281077031906619886691176626292486128605465919255719077528533570413256166546179043614171568393818143211666516254920682792600547104774026847151999 2642528011821540714092522738472193566882119040115979213895307065540509030772873530214836362708856620062373431740997973228007856721721216982717198687840927123977115929186327881193715299052376932138032060994523590579982559110012806804451513252566768376998049679267458129511294489991353003375663003131634634623628057378863640403265892683133250462132962456436755100430686356964483790350969094609984311086007113148514444736557896703384978169999365368348955617508477873398682352731425646103048454065489436291519097678879091321914835592282597797069292049185259814687187055813320420473984586529483550711719043099785968185148337711693046451263977739396328056850101438329594853784366094987988055074455266076338522377596453986189746062802250429860293376984690067978363109759018004799828364593856827607273853284438895168681224777157965615717919826312745771817090758396879943079224096084495375406676711773809101088725794020686090972882518715928859857711004088590295776992741998278087771044444925101039683595680895457397224688575057321966798807998548288654135431533860004531999317721081726106340563039688993720907189387720516681490948158631328995395493803342701347917650104043203449254582271913117485794910144317315248903011722557094432651910304640055759738836180575433790169534237954353997276767811352197267052742418670988233824751141251201949071745068214260645148433179767642963100901562278244971075053595412162935573670217026007876186928569437792936007883554158185629752033854896156484693122269677634381311158419528159306505779386795805405048041052323855240639329977136486550412273448391821929299369278702638461472698364927365603789108545695495576060521535889635564290114948851352198051029116200401929340912419791969534483671687054208825524193334013898254205532159499520730313801472245923966935361090298375706376554778423851886019750801655017031336727844988132438217478356084793164348451807386249577746872649715240380969924877862954266718128166396204639455743938550742744518501684951213631243753355609991448728915542009954554563112812545659795433983942740200513723279782732394950716430113139190838427840928138742667812144046072785024904851215214911610066465361577223703870542178355360913074161492757539066134326463633580851777818582255418233394151476491924148345432291447699466810790212023910005870406429193382629614674651370527296178395875971006440629526803573196278449192512105820632350477287952366474026013911638611380122677929023725514191531093383224077371190938781717341628120150102201929168133026058308628087369973504225705192347469218310763962892778962096673479468650586804274246146247025414048949605507948180992450686533340825413648818694796995906642931388592105866420947447469720647815232295133074600437690593186556997634929970549926726309589655576024216229324898861714179935144757434333732512905649248547570722115305731141197087984688824042395883430326810110738076211131268488641181343184559304790498550780987629209835470575331106201442674636855892329659968711326678766396469462067470473817327398242734540800002 4275700139350936808228775285092160736997276625118822998609523181484756974728052183901921744038590301012867885594113837353525804855031174949991737415470582890427094251931894898476252437999659111582020809476301184312103854876916977047296853724844264025975696623334419850466258074018718119106127891467876028002089918001240148067739018599153474058972493318023637252978992148851177765466522420147671612698418095748725952967447619098313182220643698238060845738774925055118161466894137837435455288748689109397095988428380989947208327446931453010638202148088643038276079201241217341710368624066509817000721023185658242009268775249354962154992798670312495541766432868192863064898163926625006889366846498691775618173765155446647215307821002272768076980816500374274036187123479887096374139315666079736042994314081171755828813985316312709134681255169612463623947201987841462171093907947129180268427990321054727238965092113260986903531484529155066795750879701571741854362418554910733170066723044135665279756445346295980150351208780260899621621207451220337610224791081366943260096794768017743673022865841811171342878890649730502514469179028314533917466361481497673921775093543471753538154779043972220288080693250926550902133733798139168250488700848395012195097119606992744556665452981757510046344853392581199083733835717881315001745027665921353967884919482159399211719627783091922075714481232678352967419406457831264571973861758710720722782717029689256066738507774224744062134701535466874240853018467357122368672439259352188366482195239868803332180665221920861290040540315284920022152277039492958396566298015072300094961210527609202879029187349898260951611461741549642234894137133313330806905472960894734930193701274797383591457493385996803308078295650958098565368517816175034230418039701812019900182212586508012122048815707431027435200016330396651239918797273668137935985812945989417500915147845624585186122871201792260548426988630316963345517042733709279425436458043642261952190710123933131652819459526368106501162682785336248110943327667181360798884398116950287755681608150061598423581874270329471928849133098712491687347427363525530057770323304920694855540448655144106576210223522772526141498471080883440712048838385052959856147811097850044501528805815123259244351781894840121111121112276313159032361512702920027457543731117120074608510927546551723942076889553622574565818650604124931999073428738240147639277379405738693930333107892163214038140037008822433404116531275462946443430853448932893110664649157397142791780186603216087694634245420931381714771775753965499626408146969364398396689248108574871671615070896375326871592567650476981464132637753110409108724168385109650726051834956266532259550124409087619096292943322983976589239310918388723083562119019900906111167224556795873531737206965473611939507569910280885285120309851948820305275736975832101055381888455239421377989412345520547801229875735931082984679386453548465554548103864676614698841183034935943831537105144821978062985716988153266417874503016761387952001 6918228151172477522321298023564354303879395665234802212504830247025266005500925714116758106747446921075241317335111810581533661576752391932708936103311510014404210181118222779669967737052036043720052870470824774892086413986929783851748366977411032402973746302601877979977552564010071122481790894599510662625717975380103788471004911282286724521105455774460392353409678505815661555817491514757655923784425208897240397704005515801698160390643063606409801356283402928516843819625563483538503742814178545688615086107260081269123163039214050807707494197273902852963266257054537762184353210595993367712440066285444210194417112961048008606256776409708823598616534306522457918682530021612994944441301764768114140551361609432836961370623252702628370357801190442252399296882497891896202503909522907343316847598520066924510038762474278324852601081482358235441037960384721405250318004031624555675104702094863828327690886133947077876414003245083926653461883790162037631355160553188820941111167969236704963352126241753377375039783837582866420429205999508991745656324941371475259414515849743850013585905530804892250068278370247184005417337659643529312960164824199021839425197586675202792737050957089706082990837568241799805145456355233600902399005488450771933933300182426534726199690936111507323112664744778466136476254388869548826496168917123303039629987696420044360152807550734885176616043510923324042473001869994200145644078784718596909711286467482192074622061932410373814168556431623358933975288144991503679830858787511494872261582035674208380221717545776101929370517451771470434425725431314887695935576717710761567659575454974806668137733045393837012132997631185206525009085984665528857934589161296664271106121066766918075129180440205628832271629664856352770900677315695764544219511947735986835543302884883718498603594131282913454950817985413682576646642261800576153464169030782581849366955231874162932995520917032641518351866493271230063645209129913918881180396594385006470692395075146762896572815136359555230078224795290802674056140212841156232868340857150801478961390882456549140011987409520310356690061237455159499491473436310554962621538519832304922005810232367810446752401878133439215659963838422506846375302018633811633966393353268277895680282307047407589784073342539587921911324300223164902767941896302657072218382487647370786906803517558164571603693126818853015011162709945564349550716690606621665291291044350074053011036915888728229671130392046510775307470057180288071551003551134822278797675215705770879150160107441792886981714639242145677664554716062173105876797556168672642835495133988920621220578844556319322279100991302395112951332550106315751655556977215517146999282425987180074782419542162219533983536509540974224169281468315449393151774595925122340492123418510053466881964399807344452413219158828456007235615583090017393260425799874496938812215265350159454200543614009188982573060295235873483230167441177675390018679195782816141515819890828273491505816471500744459455179055623740235201901259495928752003 11193928290523414330550073308656515040876672290353625211114353428510022980228977898018679850786037222088109202929225647935059466431783566882700673518782092904831304433050117678146220175051695155302073679947125959204190268863846760899045220702255296428949442925936297830443810638028789241587918786067386690627807893381343936538743929881440198580077949092484029606388670654666839321284013934905327536482843304645966350671453134900011342611286761844470647095058327983635005286519701320973959031562867655085711074535641071216331490486145503818345696345362545891239345458295755103894721834662503184713161089471102452203685888210402970761249575080021319140382967174715320983580693948238001833808148263459889758725126764879484176678444254975396447338617690816526435484005977778992576643225188987079359841912601238680338852747790591033987282336651970699064985162372562867421411911978753735943532692415918555566655978247208064779945487774238993449212763491733779485717579108099554111177891013372370243108571588049357525390992617843766042050413450729329355881116022738418519511310617761593686608771372616063592947169019977686519886516687958063230426526305696695761200291130146956330891830001061926371071530819168350707279190153372769152887706336845784129030419789419279282865143917869017369457518137359665220210090106750863828241196583044657007514907178579443571872435333826807252330524743601677009892408327825464717617940543429317632494003497171448141360569706635117876303257967090233174828306612348626048503298046863683238743777275543011712402382767696963219411057767056390456578002470807846092501874732783061662620785982584009547166920395292097963744459372734848759903223117978859664840062122191399201299822341564301666586673826202432140349925315814451336269195131870798774637551649548006735725515471391730620652409838713940890150834315810333816565439535468714089449981976771999350282103077498748119118392118824902066778855123588193409162251863623198306616854638027268422883105199079894549392274662727661731240907580627050784999467880022517031752738974101089234642999032518147563593861679849782285539194336167651186838900799836085020391861824752999777546258887511917022962625400905965357158434919305947558424140403686771490114204451118322397209088122170666834135855237379709033032436576536323935129454599222684529762113604767445395417731064109888513680582680441427580829813314070496348624145428846769304568670450088767983344144808051942267811167400868944179424001332643234514981857000067715389462324373102913670930346710657880581615960060173527392436330470027672732284944525533071039524743242563792292835649740931646193871668641779376577083970303216724860379725362325167873051117382253712334332543951249838630276479832524950813408592386704172476713893615826028451659347975305926998619171365280956391920789069109341292355925435038837698536162775706597994194103720589580832189955959529736783802936031166956467909553894726140944566783060459430840357002925764217323042921616322722522440896043777006653076404276257316704004 18112156441695891852871371332220869344756067955588427423619183675535288985729903612135437957533484143163350520264337458516593128008535958815409609622093602919235514614168340457816187912103731199022126550417950734096276682850776544750793587679666328831923189228538175810421363202038860364069709680666897353253525868761447725009748841163726923101183404866944421959798349160482500877101505449662983460267268513543206748375458650701709503001929825450880448451341730912151849106145264804512462774377046200774326160642901152485454653525359554626053190542636448744202611715350292866079075045258496552425601155756546662398103001171450979367506351489730142738999501481237778902263223969850996778249450028228003899276488374312321138049067507678024817696418881258778834780888475670888779147134711894422676689511121305604848891510264869358839883418134328934506023122757284272671729916010378291618637394510782383894346864381155142656359491019322920102674647281895817117072739661288375052289058982609075206460697829802734900430776455426632462479619450238321101537440964109893778925826467505443700194676903420955843015447390224870525303854347601592543386691129895717600625488716822159123628880958151632454062368387410150512424646508606370055286711825296556062963719971845814009064834853980524692570182882138131356686344495620412654737365500167960047144894874999487932025242884561692428946568254525001052365410197819664863262019328147914542205289964653640215982631639045491690471814398713592108803594757340129728334156834375178111005359311217220092624100313473065148781575218827860891003727902122733788437451450493823230280361437558816215304653440685934975877457003920055284912309102644388522774651283488063472405943408331219741715854266408060972621554980670804107169872447566563318857063597283993571268818356275449119256003969996854345101652301224016393212081797269290242914151007554581199649058309372911052113913035857543585130721616859423472807460993537117187797251232412274893575500274226657445965089799087216961319132375917853459055608092863673264621079831251890713604389914974696703605849089370092642229255573622810686330374236146639983013400344585304699552069119879727469715027279039404572818398757728454404799442422320583124080597804386600292889370429218074423919928579919296954943760876759488837897396495525341601980496092414816182324534581668053085284275807260280595840976024016060698174862119453390969859961494438842036355181723940670497482297792915454954731471389823522586532860551202537668259999588808684550080506818099673468597674699415673070100885186089845838161742081701743682360238376552712914056228585487965516150769633081771690035302853323040612035282339540685020050399808240892409114963493412058164260016342065925037577873855019621869865668211751150792151471393815980465501135765088300844334008227937797299591541018128855091796588575581094933006318985939740286390499573538925766375996326402829951139721335903816334585462256242246981872822816592490814548738087823466981896075099400746888278305535753245456007 29306084732219306183421444640877384385632740245942052634733537104045311965958881510154117808319521365251459723193563106451652594440319525698110283140875695824066819047218458135962408087155426354324200230365076693300466951714623305649838808381921625260872632154474473640865173840067649605657628466734284043881333762142791661548492771045167121681261353959428451566187019815149340198385519384568310996750111818189173099046911785601720845613216587295351095546400058895786854392664966125486421805939913855860037235178542223701786144011505058444398886887998994635441957173646047969973796879920999737138762245227649114601788889381853950128755926569751461879382468655953099885843917918088998612057598291687893658001615139191805314727511762653421265035036572075305270264894453449881355790359900881502036531423722544285187744258055460392827165754786299633571008285129847140093141827989132027562170086926700939461002842628363207436304978793561913551887410773629596602790318769387929163466949995981445449569269417852092425821769073270398504530032900967650457418556986848312298437137085267037386803448276037019435962616410202557045190371035559655773813217435592413361825779846969115454520710959213558825133899206578501219703836661979139208174418162142340191994139761265093291929978771849542062027701019497796576896434602371276482978562083212617054659802053578931503897678218388499681277092998126678062257818525645129580879959871577232174699293461825088357343201345680609566775072365803825283631901369688755776837454881238861349749136586760231805026483081170028368192632985884251347581730372930579880939326183276884892901147420142825762471573835978032939621916376654904044815532220623248187614713405679462673705765749895521408302528092610493112971480296485255443439067579437362093494615246832000306994333827667179739908413808710795235252486617034350209777521332738004332364132984326580549931161386871659171232305154682445651909576740447616881969712857160315494414105870439543316458605473306551995357364461814878692560039956544904244055075972886190296373818805352979948247388947492844267199710769219874927768449909790461873169275035982725003405262169338304477098328007391644492677652679945369929976833677034401963223582826007354614194802255504922690098458551388741258055783817299005987976197453295812773026851094748026131742609697182261577742265645777941598964858487701708176670789338086557046799007548300160274428631944527610019699326531992612765293465193784399134155472722466757101514717551270253057722323961911598221010853528757554050213634759589200462537215656117518570446686607234814721884981619116505206891878326419611710022438274861148267119273156539765472415007701865852893101517190494604743447507444661896794536496174590875850986466241723794346579561827577179243810819369121907464120307130369257236254797297047138591947466453167692790332751351287692927200422706529321118580455533068662550178932357569786419049275230629957279152245316701677822229825742356708137591659704146189504336971143177753541354709812010562160011 47418241173915198036292815973098253730388808201530480058352720779580600951688785122289555765853005508414810243457900564968245722448855484513519892762969298743302333661386798593778595999259157553346326780783027427396743634565399850400632396061587954092795821383012649451286537042106509969727338147401181397134859630904239386558241612208894044782444758826372873525985368975631841075487024834231294457017380331732379847422370436303430348615146412746231543997741789807938703498810230929998884580316960056634363395821443376187240797536864613070452077430635443379644568888996340836052871925179496289564363400984195776999891890553304929496262278059481604618381970137190878788107141887939995390307048319915897557278103513504126452776579270331446082731455453334084105045782929120770134937494612775924713220934843849890036635768320329751667049172920628568077031407887131412764871743999510319180807481437483323355349707009518350092664469812884833654562058055525413719863058430676304215756008978590520656029967247654827326252545528697030967009652351205971558955997950958206077362963552772481086998125179457975278978063800427427570494225383161248317199908565488130962451268563791274578149591917365191279196267593988651732128483170585509263461129987438896254957859733110907300994813625830066754597883901635927933582779097991689137715927583380577101804696928578419435922921102950192110223661252651679114623228723464794444141979199725146716904583426478728573325832984726101257246886764517417392435496127028885505171611715614039460754495897977451897650583394643093516974208204712112238585458275053313669376777633770708123181508857701641977776227276663967915499373380574959329727841323267636710389364689167526146111709158226741150018382359018554085593035277156059550608940027003925412351678844115993878263152183942628859164417778707649580354138918258366602989603130007294575278283991881161749580219696244570223346218190539989237040298357307040354777173850697432682211357102851818210034105747533209441322454260902095653879172332462757703110684065749863560994898636604870661851778862467540970805559858589967569997705483413272559499649272129364986418662513923609176650397127271371962392679958984774502795232434762856368023025248327937738275400059891522982987828980606815681975712397218302942919958330055301610924247590273367733723105789597077760066800227445994684249134294961988772511765362102617744973869667753551244288593438966452056054508255933283262775762986699854088886944112290279688047578102472790725982323550720282771091360346857227518811309459004873532638100842207364408608428688936558404245219995669218120948106911907577226173207907942919957154576009862806084450290041406537913151916998735497152562470938073954958796512516656800888564340096743416216445230039328330035962290762937887929621442895457558080588805524984935891539007471296547882129339926868787860206741692469061404970955106607588316554928683972616370188996566533773613737707572943924804102648558949198952140397791969656486233046242578500429633015347763807616018 76724325906134504219714260613975638116021548447472532693086257883625912917647666632443673574172526873666269966651463671419898316889175010211630175903844994567369152708605256729741004086414583907670527011148104120697210586280023156050471204443509579353668453537487123092151710882174159575384966614135465441016193393047031048106734383254061166463706112785801325092172388790781181273872544218799605453767492149921552946469282221905151194228363000041582639544141848703725557891475197055485306386256873912494400630999985599889026941548369671514850964318634438015086526062642388806026668805100496026703125646211844891601680779935158879625018204629233066497764438793143978673951059806028994002364646611603791215279718652695931767504091032984867347766492025409389375310677382570651490727854513657426749752358566394175224380026375790144494214927706928201648039693016978552858013571988642346742977568364184262816352549637881557528969448606446747206449468829155010322653377200064233379222958974571966105599236665506919752074314601967429471539685252173622016374554937806518375800100638039518473801573455494994714940680210629984615684596418720904091013126001080544324277048410760390032670302876578750104330166800567152951832319832564648471635548149581236446951999494376000592924792397679608816625584921133724510479213700362965620694489666593194156464498982157350939820599321338691791500754250778357176881047249109924025021939071302378891603876888303816930669034330406710824021959130321242676067397496717641282009066596852900810503632484737683702677066475813121885166841190596363586167188647983893550316103817047593016082656277844467740247801112642000855121289757229863374543373543890884898004078094846988819817474908122262558320910451629047198564515573641314994048007606441287505846294090947994185257486011609808599072831587418444815606625535292716812767124462745298907642416976207742299511381083116229394578523345222434888949875097754657236746886707857748176625462973291361526492711220839761436679818722716974346439212289007661947165760038636053857368717441957850610099167809960385238005270627809842497766155393203734432668924308112089989823924683261913653748725134663016455070332638930144432772066111797258331246608074335292352470202315396445673086287531995556940031496214517308930896155783351114383951098685021393865465715486779339337809065873223936283213992782663696949182554700189174791772877216053711518717225383494062075753834787925896028069228180484253223042416834757036789562295653743043783704647512631880992102213875614781569024944218594073995175316498324882979055115296171373126130201614785723327839985238327188936195646182804068224273849166402571556865297743272390806253434189230101896009978382735851753333008691247676739550806338467210563024791866905509279773110132059795393741750025826815316843602822032074483486473924464240672462091278156480787407164398998382523551410639676250866733861041542402789238271797163730892889952889645602626332474301305907089732057496115845990570017385756253970987725159774369776029 124142567080049702256007076587073891846410356649003012751438978663206513869336451754733229340025532382081080210109364236388144039338030494725150068666814293310671486369992055323519600085673741461016853791931131548093954220845423006451103600505097533446464274920499772543438247924280669545112304761536646838151053023951270434664975995462955211246150871612174198618157757766413022349359569053030899910784872481653932793891652658208581542843509412787814183541883638511664261390285427985484190966573833969128764026821428976076267739085234284585303041749269881394731094951638729642079540730279992316267489047196040668601572670488463809121280482688714671116146408930334857462058201693968989392671694931519688772557822166200058220280670303316313430497947478743473480356460311691421625665349126433351462973293410244065261015794696119896161264100627556769725071100904109965622885315988152665923785049801667586171702256647399907621633918419331580861011526884680424042516435630740537594978967953162486761629203913161747078326860130664460438549337603379593575330552888764724453163064190811999560799698634952969993918744011057412186178821801882152408213034566568675286728316974551664610819894793943941383526434394555804683960803003150157735096678137020132701909859227486907893919606023509675571223468822769652444061992798354654758410417249973771258269195910735770375743520424288883901724415503430036291504275972574718469163918271027525608508460314782545503994867315132812081268845894838660068502893623746526787180678312466940271258128382715135600327649870456215402141049395308475824752646923037207219692881450818301139264165135546109718024028389305968770620663137804822704271214867158521608393442784014514965929184066349003708339292810647601284157550850797374544656947633445212918197972935063988063520638195552437458237249366126094395960764453551083415756727592752593482920700968088904049091600779360799617924741535762424125990173455061697591524060558555180858836820076143179736526816968372970878002272983619070000318384621470419650276444104385917418363616078562721271950946672427926208810830486399810067763860876617006992168573580241454976242587197185522830399122261934388417463012597914918935567298546560114699269633322663230090745602375287968656074116512602372622007208611735611873816114113406415994875346275294761599188821276376417097875866100669930967463127077625685721694320062291792536746746883807262763005818822460514131808343043859179290844991167184107311929360947047316477609873756215834509686971063352163763193574222472009087836253677598947527813417340532247387663543985107931530375421610454941448788092150234766162368854090746988181428425176265377641315587784678928719405351187965599048572449320809806712129521207904477628115146435210626779470021906233839315735400894997683323363192921284373397432408347017010375025481395760788554591431205025268647613906091467443928522365746283839183288789725515019159427268363697504506627660462589527430435122860255106041872455288085502476803063628334754400620740507538177392047 200866892986184206475721337201049529962431905096475545444525236546832426786984118387176902914198059255747350176760827907808042356227205504936780244570659287878040639078597312053260604172088325368687380803079235668791164807125446162501574804948607112800132728457986895635589958806454829120497271375672112279167246416998301482771710378717016377709856984397975523710330146557194203623232113271830505364552364631575485740360934880113732737071872412829396823086025487215389819281760625040969497352830707881623164657821414575965294680633603956100154006067904319409817621014281118448106209535380488342970614693407885560203253450423622688746298687317947737613910847723478836136009261499997983395036341543123479987837540818895989987784761336301180778264439504152862855667137694262073116393203640090778212725651976638240485395821071910040655479028334484971373110793921088518480898887976795012666762618165851848988054806285281465150603367025778328067460995713835434365169812830804770974201926927734452867228440578668666830401174732631889910089022855553215591705107826571242828963164828851518034601272090447964708859424221687396801863418220603056499226160567649219611005365385312054643490197670522691487856601195122957635793122835714806206732226286601369148861858721862908486844398421189284387849053743903376954541206498717620379104906916566965414733694892893121315564119745627575693225169754208393468385323221684642494185857342329904500112337203086362434663901645539522905290805025159902744570291120464168069189744909319841081761760867452819303004716346269337287307890585904839410919835571021100770008985267865894155346821413390577458271829501947969625741952895034686078814588411049406506397520878861503785746658974471266266660203262276648482722066424438689538704955239886500424044267026011982248778124207162246057310080953544539211567389988843800228523852055497892390563117944296646348602981862477029012503264880984859014940048552816354828270947266412929035462283049434541263019528189212732314682091706336044346757596910478081597442204143021971275732333520520571882050114482388311446816101114209652565530016269820741424837497888353544966066511880447436484147847396597404872533345236845063368339364658357373030516241396998522443215804690684414329160404044597929562038704826252920804712269896757530378826444960316155464654536763155756435684931973893867250677119860289382670876874762480967328519624099860974281723044205954576207562177831785075318914219347668360534971777781804353267172169409958878293391618575984044755295788098086790656861197896193021522988733838857130366718659281279304656505623225240664776628077388561955098564500273551056405702274342667949198180885527951319525658785377195700944582427703545658465462529899152154367665952773677837342494813773139348595508511027057478717104942947111188714276011169049084858511955320225029227053522483181749435021070490465826452073776385960090050022650767057421948665540160861235399517613352235130056767597161561013131604512784201348467373081014091008371608465667312547168076 325009460066233908731728413788123421808842261745478558195964215210038940656320570141910132254223591637828430386870192144196186395565235999661930313237473581188712125448589367376780204257762066829704234595010367216885119027970869168952678405453704646246597003378486668179028206730735498665609576137208759117318299440949571917436686374179971588956007856010149722328487904323607225972591682324861405275337237113229418534252587538322314279915381825617211006627909125727054080672046053026453688319404541850751928684642843552041562419718838240685457047817174200804548715965919848090185750265660480659238103740603926228804826120912086497867579170006662408730057256653813693598067463193966972787708036474643168760395362985096048208065431639617494208762386982896336336023598005953494742058552766524129675698945386882305746411615768029936816743128962041741098181894825198484103784203964947678590547667967519435159757062932681372772237285445109908928472522598515858407686248461545308569180894880896939628857644491830413908728034863296350348638360458932809167035660715335967282126229019663517595400970725400934702778168232744808988042240022485208907439195134217894897733682359863719254310092464466632871383035589678762319753925838864963941828904423621501850771717949349816380764004444698959959072522566673029398603199297072275137515324166540736673002890803628891691307640169916459594949585257638429759889599194259360963349775613357430108620797517868907938658768960672334986559650919998562813073184744210694856370423221786781353019889250167954903332366216725552689448939981213315235672482494058307989701866718684195294610986548936687176295857891253938396362616032839508783085803278207928114790963662876018751675843040820269974999496072924249766879617275236064083361902873331713342242239961075970312298762402714683515547330319670633607528154442394883644280579648250485873483818912385550397694582641837828630428006416747283140930222007878052419795007824968109894299103125577720999546345157585703192684364689955114347075981531948501247718648247407888694095949599083293154001061154816237655626931600609462633293877146437748417006071468594999942309099077632959314546969658531793289996357834759982303906663204917487729785874719661752533961407065972382985234520557200302184045913437988532678528384010163946373701791235610917063843358039532173533560798074563798218140246937915068392571194824772759865266370983668237044728863028415090339370520875644254609759210514852467846901138728851669744782043166174712803078589639336208518489362320558799744697451573791969050802151179389377754382203266387236186881044835695606225416169538796721260933354364298044587130699518933326839496473312630248245064136565161299993154877024355465177592051107056631995781099208888464121964835679373187911243911922055162040468135868395562111708419516066095233537436715985817781644953688207018082634976581933270380596142132243929233311440492572441108092808524558739906145273814824657487202720021816119173476968072286850944176144642425762772229206174850724560123 525876353052418115207449750989172951771274166841954103640489451756871367443304688529087035168421650893575780563631020052004228751792441504598710557808132869066752764527186679430040808429850392198391615398089602885676283835096315331454253210402311759046729731836473563814618165537190327786106847512880871396485545857947873400208396752896987966665864840408125246038818050880801429595823795596691910639889601744804904274613522418436047016987254238446607829713934612942443899953806678067423185672235249732375093342464258128006857100352442196785611053885078520214366336980200966538291959801040969002208718434011811789008079571335709186613877857324610146343968104377292529734076724693964956182744378017766648748232903803992038195850192975918674987026826487049199191690735700215567858451756406614907888424597363520546231807436839939977472222157296526712471292688746287002584683091941742691257310286133371284147811869217962837922840652470888236995933518312351292772856061292350079543382821808631392496086085070499080739129209595928240258727383314486024758740768541907210111089393848515035630002242815848899411637592454432205789905658243088265406665355701867114508739047745175773897800290134989324359239636784801719955547048674579770148561130710222870999633576671212724867608402865888244346921576310576406353144405795789895516620231083107702087736585696522013006871759915544035288174755011846823228274922415944003457535632955687334608733134720955270373322670606211857891850455945158465557643475864674862925560168131106622434781650117620774206337082562994889976756830567118154646592318065079408759710851986550089449957807962327264634567687393201908022104568927874194861900391689257334621188484541737522537422502015291536241659699335200898249601683699674753622066858113218213766286506987087952561076886609876929572857411273215172819095544431238683872804431703748378264046936856682196746297564504314857642931271297732142155870270560694407248065955091381038929761386175012262262565873346798435507366456396291158693833578442426582845160852390429859969828283119603865036051175637204549102443032714819115198823893416258489841843569356948544908375610958080395798694817055129198162529703071605045672246027863274860760302116116660274977177211756656797314394924601798231746084618264241453483240653906921476752528236195927072528497894802687929969245730048457665468817366798204451063448069587253727193785995083529211326451907234369666546932698707429329928673429862520828381872916510656023011954212576133591096470208215320253273785150418645590401558649469984990573790885018246508121100862547666540843386668060936271002044246927358676359497854637849100992832973861601276037677358840581567770722921942357000937737304727901123643054581006208786363447051982566301464459649452512536506752422949112640757573078815506750825984430685115180092049392036210847008698476171388767517656047072399096832669918518204019283334091259629863056758348685419975305662887167059787543970317183377132305081480856488199411549225656516771143837671842163271728199 850885813118652023939178164777296373580116428587432661836453666966910308099625258670997167422645242531404210950501212196200415147357677504260640871045606450255464889975776046806821012687612459028095849993099970102561402863067184500406931615856016405293326735214960231993646372267925826451716423650089630513803845298897445317645083127076959555621872696418274968367305955204408655568415477921553315915226838858034322808866109956758361296902636064063818836341843738669497980625852731093876873991639791583127022027107101680048419520071280437471068101702252721018915052946120814628477710066701449661446822174615738017812905692247795684481457027331272555074025361031106223332144187887931928970452414492409817508628266789088086403915624615536169195789213469945535527714333706169062600510309173139037564123542750402851978219052607969914288965286258568453569474583571485486688467295906690369847857954100890719307568932150644210695077937915998145924406040910867151180542309753895388112563716689528332124943729562329494647857244459224590607365743773418833925776429257243177393215622868178553225403213541249834114415760687177014777947898265573474314104550836085009406472730105039493152110382599455957230622672374480482275300974513444734090390035133844372850405294620562541248372407310587204305994098877249435751747605092862170654135555249648438760739476500150904698179400085460494883124340269485252988164521610203364420885408569044764717353932238824178311981439566884192878410106865157028370716660608885557781930591352893403787801539367788729109669448779720442666205770548331469882264800559137716749412718705234284744568794511263951810863545284455846418467184960713703644986194967465262735979448204613541289098345056111806216659195408125148016481300974910817705428760986549927108528746948163922873375649012591613088404741592885806426623698873633567517085011351998864137530755769067747143992147146152686273359277714479425296800492568572459667860962916349148824060489300589983262112218504384138700050821086246273040909559974375084092879500637837748663924232718687158190052236792020786758069964315428577832117770562696238258849640825543544850684710035713355113241786713660991452526060906365027976152691068192348490087990836322027511138618822629180299629445158998533930130531702229986161769037917085423126230027431537989592341252842220103502806528123021463686957613736119519456019264412026487059052366067197448371180770262784756886303219583073584538432640377373296228774055239507692756736255742308303899548797854656461792274512739204390146256101043776959624593036197635885875483065814053777030267712896631877227460416466155397620431209002147145579963673380534602877173832153211816015787058507518300930892181752256588820646632113265418359228151191454765586424485131885724417996334871167802798041214683902312937692850201181275325586828752196664790343429859595785600291023654332367213266060650447948516645531752202304164851157209978715211808160981884445031173037205193251478558448928775050355725370298942533916066878017013996288322 1376762166171070139146627915766469325351390595429386765476943118723781675542929947200084202591066893424979991514132232248204643899150119008859351428853739319322217654502962726236861821117462851226487465391189572988237686698163499831861184826258328164340056467051433795808264537805116154237823271162970501910289391156845318717853479879973947522287737536826400214406124006085210085164239273518245226555116440602839227083479632375194408313889890302510426666055778351611941880579659409161300059663875041315502115369571359808055276620423722634256679155587331241233281389926321781166769669867742418663655540608627549806820985263583504871095334884655882701417993465408398753066220912581896885153196792510176466256861170593080124599765817591454844182816039956994734719405069406384630458962065579753945452548140113923398210026489447909891761187443555095166040767272317772489273150387848433061105168240234262003455380801368607048617918590386886382920339559223218443953398371046245467655946538498159724621029814632828575386986454055152830866093127087904858684517197799150387504305016716693588855405456357098733526053353141609220567853556508661739720769906537952123915211777850215267049910672734445281589862309159282202230848023188024504238951165844067243850038871291775266115980810176475448652915675187825842104892010888652066170755786332756140848476062196672917705051160001004530171299095281332076216439444026147367878421041524732099326087066959779448685304110173096050770260562810315493928360136473560420707490759484000026222583189485409503316006531342715332642962601115449624528857118624217125509123570691784374194526602473591216445431232677657754440571753888587898506886586656722597357167932746351063826520847071403342458318894743326046266082984674585571327495619099768140874815253935251875434452535622468542661262152866100979245719243304872251389889443055747242401577692625749943890289711650467543916290549012211567452670763129266866915926918007730187753821875475602245524678091851182574207417277482537431734743138416801666938040353028267608633752515838291023226103412429225335860512997030247693030941663978954728100693210182492089759060320993793750911936603768790189615055763977970073648398718931467209250390106952982302488315830579285977614024369760796765676215149966471439645009691824006899878758263627465062120839147644908033472052258171479129155774980534323970519467333999280214252838361150726659697632677497154423433235918290502914467106070239894124610646971750163715768690468318441894996019006069976715066059663157849980547814750513761950198383921215882393996583928361720317873654380957568148229504663393514073979929063639996246572796647242135878914851190993793383786509980449875301868629486480157712463701213119474204722675203174021067050884134584398260924748757820280443555614293499409063763677280886296455417636220788407511799041906030984553117947070726731464045935979168651967799979623011832167221609505895398690517471048148944232575143354388570383783639929785263249767274595955459305059904549859177268016521 2227647979289722163085806080543765698931507024016819427313396785690691983642555205871081370013712135956384202464633444444405059046507796513119992299899345769577682544478738773043682833805075310254583315384289543090799089561230684332268116442114344569633383202266394027801910910073041980689539694813060132424093236455742764035498563007050907077909610233244675182773429961289618740732654751439798542470343279460873549892345742331952769610792526366574245502397622090281439861205512140255176933655514832898629137396678461488103696140495003071727747257289583962252196442872442595795247379934443868325102362783243287824633890955831300555576791911987155256492018826439504976398365100469828814123649207002586283765489437382168211003681442206991013378605253426940270247119403112553693059472374752892983016671682864326250188245542055879806050152729813663619610241855889257975961617683755123430953026194335152722762949733519251259312996528302884528844745600134085595133940680800140855768510255187688056745973544195158070034843698514377421473458870861323692610293627056393564897520639584872142080808669898348567640469113828786235345801454774235214034874457374037133321684507955254760202021055333901238820484981533762684506148997701469238329341200977911616700444165912337807364353217487062652958909774065075277856639615981514236824891341582404579609215538696823822403230560086465025054423435550817329204603965636350732299306450093776864043440999198603626997285549739980243648670669675472522299076797082445978489421350836893430010384728853198232425675980122435775309168371663781094411121919183354842258536289397018658939095396984855168256294777962113600859038938849301602151872781624187860093147380950964605115619192127515148674978090151451194282564285649496389032924380086318067983344000883415798307828184635060155749666894458986785672342942178505818906974454407746106539108448394817691034281858796620230189649826726690992749471255697839326583787880924079336577882364776192228786790310355566712907468098568783704775652698391176751030919853666105357297676748556978181416155649221246122618582961345676270863059434541650966359542851008035634609745031029507106025178390482451181067581824884335101624551409999659557740478097789304329999454449401915157913653814919795299606345681668701425806778729741092323004988291059003051713180400487128136974858786294500592842732594270443489975486598411306701311890727217924108068813447759939180319539137873576499005538710617267420839421026989671408525426724060750198895567803924633176858334175897054370694070851557538909822976957413518279872066994175774094903922093854200025456965079859669471600360272642143392152760320622670481792025023147005199802297038957393602799521668232414301284347845232739623081903354365475832637308619716283985342745092691448246353655508183311376701370131087477730743223049540604176589385335890580338718238094381063831259202039819099916316625154764034471386460663105377405729279209130828677606316391593763635262198378714038300122999966254401838975971427876191264304843 3604410145460792302232433996310235024282897619446206192790339904414473659185485153071165572604779029381364193978765676692609702945657915521979343728753085088899900198981701499280544654922538161481070780775479116079036776259394184164129301268372672733973439669317827823610175447878158134927362965976030634334382627612588082753352042887024854600197347770071075397179553967374828825896894024958043769025459720063712776975825374707147177924682416669084672168453400441893381741785171549416476993319389874214131252766249821296158972760918725705984426412876915203485477832798764376962017049802186286988757903391870837631454876219414805426672126796643037957910012291847903729464586013051725699276845999512762750022350607975248335603447259798445857561421293383935004966524472518938323518434440332646928469219822978249648398272031503789697811340173368758785651009128207030465234768071603556492058194434569414726218330534887858307930915118689770911765085159357304039087339051846386323424456793685847781367003358827986645421830152569530252339551997949228551294810824855543952401825656301565730936214126255447301166522466970395455913655011282896953755644363911989257236896285805470027251931728068346520410347290693044886736997020889493742568292366821978860550483037204113073480334027663538101611825449252901119961531626870166302995647127915160720457691600893496740108281720087469555225722530832149405421043409662498100177727491618508963369528066158383075682589659913076294418931232485788016227436933556006399196912110320893456232967918338607735741682511465151107952130972779230718939979037807571967767659860088803033133621999458446384701726010639771355299610692737889500658759368280910457450315313697315668942140039198918491133296984894777240548647270324081960360419999186086208858159254818667673742280720257528698410929047325087764918062185483378070296863897463493348940686141020567634924571570447087774105940375738902560202142018827106193499714798931809524331704240251794474311468402206749287114885376051321136510395836807978417968960206694372965931429264395269204642259061650471458479095958375923963894001098520605694460236061190527724368805352023300856937114994251241370682637588862305175272950128931126766990868204742286632487770279981201135527678184680592065282560831635172865451788421565099222883746554686468113834019548132036170446911044465979721998507574804767460494953932410586915564729088368650767766446125257093603752775056164079413472644780857161545450067998739835124294117192379192093891586809994609891924393839054904351241885602071300860021360878629400673868650922537494412777576474811768173686469743253183545580289336282139638725556967864806360706876214140798583588807019407268904668151154712572013748049058352213827804578557539496899688192754300682246267493850511728689909269801682720440465047411973774186160859270329011688388427241921564891836185165107795295305138018987751884116604777775866638608070169000776096246750257279772910181459745982334019045838308499301549890274562209861144035875977735368532321364 5832058124750514465318240076854000723214404643463025620103736690105165642828040358942246942618491165337748396443399121137014761992165712035099336028652430858477582743460440272324227488727613471735654096159768659169835865820624868496397417710487017303606822871584221851412086357951200115616902660789090766758475864068330846788850605894075761678106958003315750579952983928664447566629548776397842311495802999524586326868171117039099947535474943035658917670851022532174821602990683689671653926974904707112760390162928282784262668901413728777712173670166499165737674275671206972757264429736630155313860266175114125456088767175246105982248918708630193214402031118287408705862951113521554513400495206515349033787840045357416546607128702005436870940026546810875275213643875631492016577906815085539911485891505842575898586517573559669503861492903182422405261250984096288441196385755358679923011220628904567448981280268407109567243911646992655440609830759491389634221279732646527179192967048873535838112976903023144715456673851083907673813010868810552243905104451911937517299346295886437873017022796153795868806991580799181691259456466057132167790518821286026390558580793760724787453952783402247759230832272226807571243146018590962980897633567799890477250927203116450880844687245150600754570735223317976397818171242851680539820538469497565300066907139590320562511512280173934580280145966382966734625647375298848832477033941712285827412969065356986702679875209653056538067601902161260538526513730638452377686333461157786886243352647191805968167358491587586883261299344443011813351100956990926810026196149485821692072717396443301552958020788601884956158649631587191102810632149905098317543462694648280274057759231326433639808275075046228434831211555973578349393344379272404276841503255702083472050108904892588854160595941784074550590405127661883889203838351871239455479794589415385325958853429243708004295590202465593552951613274524945520083502679855888860909586605027986703098258712562316000022353474620104841286048535199155168999880060360478323229106012952247386058414710871717581097678919721600234757060533062256660819778912198563358978550383052807962962293384733692551750219413746640276897501538930786324731346302531590962487224729383116293441331999600387364888906513303874291258567151306191545888734845745471165547199948619164307421769830760480314841240169075210950470440530821893616876619815586574875835259573017032784072314194037655912478183491474428966289489025729506532819543916439942292787154613919243068782728014951958721935956453628839769844337836042918953740717916713268507681498568665968199143434823112853017180649608924283030878317288487476842498901237287803783391104058364662507467672822944986315032396903584953450886481911904972732325501374016966231610238943203176936262925309866031817166417543061251916904082319869615864977812577812145230554423259488859126564340058806851800433229932539901109994530832106153501976029466410601587787776137576097654308036687213339850013274528464262983011847405611559796626207 9436468270211306767550674073164235747497302262909231812894076594519639302013525512013412515223270194719112590422164797829624464937823627557078679757405515947377482942442141771604772143650151633216724876935247775248872642080019052660526718978859690037580262540902049675022261805829358250544265626765121401092858491680918929542202648781100616278304305773386825977132537896039276392526442801355886080521262719588299103843996491746247125460157359704743589839304422974068203344775855239088130920294294581326891642929178104080421641662332454483696600083043414369223152108469971349719281479538816442302618169566984963087543643394660911408921045505273231172312043410135312435327537126573280212677341206028111783810190653332664882210575961803882728501447840194810280180168348150430340096341255418186839955111328820825546984789605063459201672833076551181190912260112303318906431153826962236415069415063473982175199610803294967875174826765682426352374915918848693673308618784492913502617423842559383619479980261851131360878504003653437926152562866759780795199915276767481469701171952188003603953236922409243169973514047769577147173111477340029121546163185198015647795477079566194814705884511470594279641179562919852457980143039480456723465925934621869337801410240320563954325021272814138856182560672570877517779702869721846842816185597412726020524598740483817302619794000261404135505868497215116140046690784961346932654761433330794790782497131515369778362464869566132832486533134647048554753950664194458776883245571478680342476320565530413703909041003052737991213430317222242532291079994798498777793856009574624725206339395901747937659746799241656311458260324325080603469391518186008774993778008345595942999899270525352130941572059941005675379858826297660309753764378458490485699662510520751145792389625150117552571524989109162315508467313145261959500702249334732804420480730435952960883424999690795778401530578204496113153755293352051713583217478787698385241290845279781177409727114769065287137238850671425977796444372007133586968840267054851289160535277347516590700673772522189039576774878097524198651061631582862355280014973389091083347355735076108819899408378984933922432857002608945452170451667861913091722214507273877594974995009364317428969010184280979430171467344939047156710355572871290768772481400431939279381219496751200477868680875226460036839747743879978410965394463232480532441348903955225643601705698274126387825089250201735325950828272331590511739557024469341657113661108819134386678741423913852960707121854006863073177842055700140629865698714672319627609368839250762920459075043477736372829904566366036562760938945206422669603874256352283203205777451428602366979911077771931412135823977657558328780445961937167278691060469444469632013694128317648477877732793714905626172195111548752257631464955035026103064941590198627553366239819733710122390608424596654421869478077794603684549834710315767748602601001106929598222779723690374497969235883558431673353874995712641399903549090674124127047723383346928328947571 15268526394961821232868914150018236470711706906372257432997813284624804944841565870955659457841761360056860986865563918966639226929989339592178015786057946805855065685902582043928999632377765104952378973095016434418708507900643921156924136689346707341187085412486271526434348163780558366161168287554212167851334355749249776331053254675176377956411263776702576557085521824703723959155991577753728392017065719112885430712167608785347072995632302740402507510155445506243024947766538928759784847269199288439652033092106386864684310563746183261408773753209913534960826384141178322476545909275446597616478435742099088543632410569907017391169964213903424386714074528422721141190488240094834726077836412543460817598030698690081428817704663809319599441474387005685555393812223781922356674248070503726751441002834663401445571307178623128705534325979733603596173511096399607347627539582320916338080635692378549624180891071702077442418738412675081792984746678340083307529898517139440681810390891432919457592957164874276076335177854737345599965573735570333039105019728679418987000518248074441476970259718563039038780505628568758838432567943397161289336682006484042038354057873326919602159837294872842038872011835146660029223289058071419704363559502421759815052337443437014835169708517964739610753295895888853915597874112573527382636724066910291320591505880074137865131306280435338715786014463598082874672338160260195765131795375043080618195466196872356481042340079219189370554135036808309093280464394832911154569579032636467228719673212722219672076399494640324874474729661665254345642180951789425587820052159060446417279056792345049490617767587843541267616909955912271706280023668091107092537240702993876217057658501851785770749847134987234110211070382271238659147108757730894762541165766222834617842498530042706406732120930893236866098872440807145848704540601205972259900275319851338286842278428934503782697120780670089666105368567876997233666720158643587246150877450307767880507985827331381287159592325291530819082492907206288755968720327415329612389641290299763976759088483393906620674453797819124433408122164645119016099793885587654442325906118128916782861701763718626474183076416355585729067953206792699416453560809805468557462219738747433722410342183881366795060373858242921447968922724177482314661216246177410444928419445370364785290450705986940351680987912955189361435834994054374149317968719541800519436965271291159171897403444239391238429011763806019478029046050198848189933205025259076679465896037833096029489849868958821795113798509328980399710036550715238581350086755964031428140573612143704571973339389478889579941588554130705700482191544839760045704678688716406150371015136136593919603496800602544643812842865522120729577542381349442364339195502334614709487971736918082562435120421414784074797882498096278019969023910068243418344052397545855352945031684085513548433818136601455484983064642855668858597131833213083100198809190100976085757012021134529327661911682925981249916823619138387110059570788958488125573778 24704994665173128000419588223182472218209009169281489245891889879144444246855091382969071973065031554775973577287728716796263691867812967149256695543463462753232548628344723815533771776027916738169103850030264209667581149980662973817450855668206397378767347953388321201456609969609916616705433914319333568944192847430168705873255903456276994234715569550089402534218059720743000351682434379109614472538328438701184534556164100531594198455789662445146097349459868480311228292542394167847915767563493869766543676021284490945105952226078637745105373836253327904183978492611149672195827388814263039919096605309084051631176053964567928800091009719176655559026117938558033576518025366668114938755177618571572601408221352022746311028280625613202327942922227200495835573980571932352696770589325921913591396114163484226992556096783686587907207159056284784787085771208702926254058693409283152753150050755852531799380501874997045317593565178357508145359662597188776980838517301632354184427814733992303077072937426725407437213681858390783526118136602330113834304935005446900456701690200262445080923496640972282208754019676338335985605679420737190410882845191682057686149534952893114416865721806343436318513191398066512487203432097551876427829485437043629152853747683757578789494729790778878466935856568459731433377576982295374225452909664323017341116104620557955167751100280696742851291882960813199014719028945221542697786556808373875408977963328387726259404804948785322203040668171455357648034415059027369931452824604115147571195993778252633375985440497693062865688159978887496877933260946587924365613908168635071142485396188246797428277514387085197579075170280237352309749415186277115867531018711339472160057557772377137901691419194928239785590929208568898968900873136189385248240828276743585763634888155192823959303645920002399181607339753952407808205242850540705064320756050287291247725703428625299561098651358874585779259123861229048947249937637431285631392168295587549057917712942100446574296831175962956796878937279213422342937560594470180901550176567647280567459762255916095660251228675916648632059183796227981371379808858976745525673261853205025602761110142703560396615933418964531181238404874654612508175775317079346152437214748111751151379352368162346225231841203181968604679278297048773083433697646609349724309638942121565263159131581213400388520735656835167772401229457286854681759317623497026163038670969565285559722492694441126564379840036137609989768603074668189847046866134078211066144637461746948990196971722965684868291640565029121029575735265387558208959455595214794348599648655621440944803243955844926142702527499337128370086065801192043248910456140145008517350926213908525331739320778260102972593288827459288008268602850793911996352889630652263187365704530632988188607315532963536332429347453131304123033965500266870971710292217279565475335640108682167970303296214396059169532899353171436607199732834320012698421588913791350583726247904692961001015786678638622649820372709812511237107294172305416454521349 39973521060134949233288502373200708688920716075653746678889703163769249191696657253924731430906792914832834564153292635762902918797802306741434711329521409559087614314247305859462771408405681843121482823125280644086289657881306894974374992357553104719954433365874592727890958133390474982866602201873545736795527203179418482204309158131453372191126833326791979091303581545446724310838425956863342864555394157814069965268331709316941271451421965185548604859615313986554253240308933096607700614832693158206195709113390877809790262789824821006514147589463241439144804876752327994672373298089709637535575041051183140174808464534474946191260973933080079945740192466980754717708513606762949664833014031115033419006252050712827739845985289422521927384396614206181390967792795714275053444837396425640342837116998147628438127403962309716612741485036018388383259282305102533601686232991604069091230686448231081423561392946699122760012303591032589938344409275528860288368415818771794866238205625425222534665894591599683513548859713128129126083710337900446873409954734126319443702208448336886557893756359535321247534525304907094824038247364134351700219527198166099724503592826220034019025559101216278357385203233213172516426721155623296132193044939465388967906085127194593624664438308743618077689152464348585348975451094868901608089633731233308661707610500632093032882406561132081567077897424411281889391367105481738462918352183416956027173429525260082740447145028004511573594803208263666741314879453860281086022403636751614799915666990974853048061839992333387740162889640552751223575441898377349953433960327695517559764452980591846918895281974928738846692080236149624016029438854368222960068259414333348377115216274228923672441266329915473895801999590840137628047981893920280010781994042966420381477386685235530366035766850895636047706212194759553656909783451746677324221031370138629534567981857559803343795772139544675445364492429106046180916657796074872877543045745895316938425698769431827861456423501254487615961430186419711098906280921885510513939817857947044544218850739310002280925682473735773065467305960873100387479602744564399967999167971333942385622811906422186870799009835320116910306358081447311924629336126884814709899434486859184873789694552043713020292215061424890052648201021226255398094913892786760169238058387491930048449582287200340740201723569790357133837064451341228831077286343038826682475636240856444731619896138680517802808851799943629467797649124867038036980071159337287745610533499580045019686821591924506663405439074358101429285771816102796790309542351178825776740222267765145516776583345323815722644116053467834070568257346031803294615134828861414667721941350045119251342817578862647616406131692981408737846145232143354360692085132986877896853676267551070751042435954378320407227229951227582143002989410335114390054344614825420828280671792767681518737114350997514654515963996027105465796864667533095798620398103892326669483259925827490328677698361564603899737196328950898347166864961263904580095127 64678515725308077233708090596383180907129725244935235924781593042913693438551748636893803403971824469608808141441021352559166610665615273890691406872984872312320162942592029674996543184433598581290586673155544853753870807861969868791825848025759502098721781319262913929347568103000391599572036116192879305739720050609587188077565061587730366425842402876881381625521641266189724662520860335972957337093722596515254499824495809848535469907211627630694702209075182466865481532851327264455616382396187027972739385134675368754896215015903458751619521425716569343328783369363477666868200686903972677454671646360267191805984518499042874991351983652256735504766310405538788294226538973431064603588191649686606020414473402735574050874265915035724255327318841406677226541773367646627750215426722347553934233231161631855430683500745996304519948644092303173170345053513805459855744926400887221844380737204083613222941894821696168077605868769390098083704071872717637269206933120404149050666020359417525611738832018325090950762541571518912652201846940230560707714889739573219900403898648599331638817253000507603456288544981245430809643926784871542111102372389848157410653127779113148435891280907559714675898394631279685003630153253175172560022530376509018120759832810952172414159168099522496544625009032808316782353028077164275833542543395556326002823715121190048200633506841828824418369780385224480904110396050703281160704908991790831436151392853647808999851949976789833776635471379719024389349294512887651017475228240866762371111660769227486424047280490026450605851049619440248101508702844965274319047868496330588702249849168838644347172796362013936425767250516386976325778854040645338827599278125672820537172774046606061574132685524843713681392928799409036596948855030109665259022822319710006145112274840428354325339412770898035229313551948711961465115026302287382388541787420425920782293685286185102904894423498419261224623616290335095128166595433506158508935214041482865996343411711532274435753254677217444412840367465633133441843841516355691415489994425594325111678612995226097941176911149652421697526489757101081758859411603541145493672429824538967988383922049125747267414943254284648091544762956101924432805111443964160862336649234970936025169046920206059245524056264606858657327479318275028481528611539396109893547697329613495311608713868413741128722459226625524906238293908628083512836603966535852845514307210421730291342388833121644367188691836081239457566252199535227884026937293415498811755170961326994009883793314890191531697079639387222458861507081490354999268997946393620125339870923386586461579827301168741865346643552804962440654323147223846543525590969006423185072867563953644583082138357122750588999420520440696746114748082937266357044974763639141084219380798184058939649751487341856739656577404358886266036954910601985361764636832104986303616311901449849489040410565393573824048863349198542072996597501853108497041987017683677253209507830520451329693485040203226549557569038763409584274159133569321034616476 104652036785443026466996592969583889596050441320588982603671296206682942630248405890818534834878617384441642705594313988322069529463417580632126118202506281871407777256839335534459314592839280424412069496280825497840160465743276763766200840383312606818676214685137506657238526236390866582438638318066425042535247253789005670281874219719183738616969236203673360716825222811636448973359286292836300201649116754329324465092827519165476741358633592816243307068690496453419734773160260361063316997228880186178935094248066246564686477805728279758133669015179810782473588246115805661540573984993682314990246687411450331980792983033517821182612957585336815450506502872519543011935052580194014268421205680801639439420725453448401790720251204458246182711715455612858617509566163360902803660264118773194277070348159779483868810904708306021132690129128321561553604335818907993457431159392491290935611423652314694646503287768395290837618172360422688022048481148246497557575348939175943916904225984842748146404726609924774464311401284647041778285557278131007581124844473699539344106107096936218196711009360042924703823070286152525633682174149005893811321899588014257135156720605333182454916840008775993033283597864492857520056874408798468692215575315974407088665917938146766038823606408266114622314161497156902131328479172033177441632177126789634664531325621822141233515913402960905985447677809635762793501763156185019623623261175207787463324822378907891740299095004794345350230274587982691130664173966747932103497631877618377171027327760202339472109120482359838346013939259992999325084144743342624272481828824026106262014302149430491266068078336942675272459330752536600341808292895013561787667537540006168914287990320834985246573951854759187577194928390249174224996836924029945269804816362676426526589661525663884691375179621793671277019764143471515122024809754034059712762818790564550316861667143744906248690195637963936669988108719441141309083253229581031386478259787378182934769110480964102297209678178471932028801797652052844540750122438241201929429812283541369655897463734536100222102593623388194762993795717974182146339014348105545461671597795872910374006733955547934138213953089604765001851121037549236357434447570848975572236083721830120898958741472249772265816271326031748709975680339501283879623525432182870062785755717105425360058296155614081868924182796415882040075358359969312343913890309574679527989943451278175022962284971802162169997543636024868925363901324402265921007008452752786557365704460907039029570614906814698195102518713745323888147278897593151789578540297572445902080093191151731978356410646492557587990759606272796511222580493255649838140725797867837852794808913998763834424955935985398205405552213422105483960893315080620717737059896626018981073057065735129690692187441720177146883807355586468409039944320937099751818981446930407131896983694217531007777524916391088478564827345225647538793462169386204295662385121576003922692767756347941658371183401767830449294765367714307931441024094833225614711603 169330552510751103700704683565967070503180166565524218528452889249596636068800154527712338238850441854050450847035335340881236140129032854522817525075491154183727940199431365209455857777272879005702656169436370351594031273605246632558026688409072108917397996004400420586586094339391258182010674434259304348274967304398592858359439281306914105042811639080554742342346864077826173635880146628809257538742839350844578964917323329014012211265845220446938009277765678920285216306011587625518933379625067214151674479382741615319582692821631738509753190440896380125802371615479283328408774671897654992444918333771717523786777501532560696173964941237593550955272813278058331306161591553625078872009397330488245459835198856183975841594517119493970438039034297019535844051339531007530553875690841120748211303579321411339299494405454302325652638773220624734723949389332713453313176085793378512779992160856398307869445182590091458915224041129812786105752553020964134826782282059580092967570246344260273758143558628249865415073942856165954430487404218361568288839734213272759244510005745535549835528262360550528160111615267397956443326100933877435922424271977862414545809848384446330890808120916335707709181992495772542523687027661973641252238105692483425209425750749098938452982774507788611166939170529965218913681507249197453275174720522345960667355040743012189434149420244789730403817458194860243697612159206888300784328170166998618899476215232555700740151044981584179126865745967701715520013468479635583120972860118485139542138988529429825896156400972386288951864988879433247426592847588307898591529697320356694964264151318269135613240874698956611698226581268923576667587146935658900615266815665678989451460764367441046820706637379602901258587857189658210821945691954139610528827638682386432671701936366092239016714592392691706506333316092183476587139836056321442101304606210990471099155352429930009153584619136383197894611725009776236437249848663087189895413473828861048931112522192496376732962932855689376441642165117685977982593963954596893344919806709135694767576076729762198163279504773040616460520285475075263905198425951646690955344027620411878362390656004673681405628896343889413093395883993651160790239559014813136434572732956801056924127788392455831511340327590638607367303159657776312361152136971578979956333453046718920671667010024027822997646642023041406946313652268597395856750494276110532373504250661699905314304673804923806537186235472106108382930153523937493805033945746168285369120875422234033039454408221704889726799598353132546347008785979083506788847538243966066027419964114538318439936237947661299453337403159077758951876903640479496381666316766874261037867676477952408417507094293108148794404972733862802230075641398017887074782034660265160065292437863919188630341938929062033886540384759945354675076899231539085113583618279035393435513295595667380496817935481784662302613690694424189611790059671239312792704372139259681175902275586868392988064668441971056998852334406477717515715183228402546649328079 273982589296194130167701276535550960099230607886113201132124185456279578699048560418530873073729059238492093552629649329203305669592450435154943643277997436055135717456270700743915172370112159430114725665717195849434191739348523396324227528792384715736074210689537927243824620575782124764449312752325729390810214558187598528641313501026097843659780875284228103059172086889462622609239432921645557740391956105173903430010150848179488952624478813263181316346456175373704951079171847986582250376853947400330609573630807861884269170627360018267886859456076190908275959861595088989949348656891337307435165021183167855767570484566078517356577898822930366405779316150577874318096644133819093140430603011289884899255924309632377632314768323952216620750749752632394461560905694368433357535954959893942488373927481190823168305310162608346785328902348946296277553725151621446770607245185869803715603584508713002515948470358486749752842213490235474127801034169210632384357630998756036884474472329103021904548285238174639879385344140812996208772961496492575869964578686972298588616112842471768032239271720593452863934685553550482077008275082883329733746171565876671680966568989779513345724960925111700742465590360265400043743902070772109944453681008457832298091668687245704491806380916054725789253332027122121045009986421230630716806897649135595331886366364834330667665333647750636389265136004496006491113922363073320407951431342206406362801037611463592480450139986378524477096020555684406650677642446383515224470491996103516713166316289632165368265521454746127297878928139426246751676992331650522864011526144382801226278453467699626879308953035899286970685912021460177009395439830672462402934353205685158365748754688276032067280589234362088835782785579907385046942528878169555798632455045062859198291597891756123708089772014485377783353080235654991709164645810355501814067425001555021416017019573674915402274814774347134564599833729217377746333101892668221281891733616239231865881632673460479030172611034161308470443962769738822523344086392838095274349618992677064423473540464298298385382098396428811223514081193049446051537440299752236417015625416284788736397389960221615543842849433494178095247005031200397147674006585662112006808816678631177823086529864705603777156598916670356077278839997277596240775662403761850019119208763824346031725306179641904866570824819457288986389010628566708200664384585685211901494194112978080337266958776725968707183779108130977308294054848339759726040954198921071926486579883141072069025023128519587921902117066877870235156064876676658578426078541538511929500057305690050418292648594153857041328162765350555463099484133735146219807042564742098890662485391951172251932050229093546999810524947284907714036534713098507792519094556891179046365494929654318321034126370782211033424192115531823084116843552476184865402599725965800567410279289884911504595460398175750781178518039649837150583521840625517088366757260835685098595043343216334646435851843738887448147099774192025447156207323235772264039682 443313141806945233868405960101518030602410774451637419660577074705876214767848714946243211312579501092542544399664984670084541809721483289677761168353488590238863657655702065953371030147385038435817381835153566201028223012953770028882254217201456824653472206693938347830410714915173382946459987186585033739085181862586191387000752782333011948702592514364782845401518950967288796245119579550454815279134795456018482394927474177193501163890324033710119325624221854293990167385183435612101183756479014614482284053013549477203851863448991756777640049896972571034078331477074372318358123328788992299880083354954885379554347986098639213530542840060523917361052129428636205624258235687444172012440000341778130359091123165816353473909285443446187058789784049651930305612245225375963911411645801014690699677506802602162467799715616910672437967675569571031001503114484334900083783330979248316495595745365111310385393652948578208668066254620048260233553587190174767211139913058336129852044718673363295662691843866424505294459286996978950639260365714854144158804312900245057833126118588007317867767534081143981024046300820948438520334376016760765656170443543739086226776417374225844236533081841447408451647582856037942567430929732745751196691786700941257507517419436344642944789155423843336956192502557087339958691493670428083991981618171481555999241407107846520101814753892540366793082594199356250188726081569961621192279601509205025262277252844019293220601184967962703603961766523386122170691110926019098345443352114588656255305304819061991264421922427132416249743917018859494178269839919958421455541223464739496190542604785968762492549827734855898668912493290383753676982586766331363018201168871364147817209519055717078887987226613964990094370642769565595868888220832309166327460093727449291869993534257848362724804364407177084289686396327838468296304481866676943915372031212545492515172372003604924555859433910730332459211558738993614183582950555755411177305207445100280796994154865956855763135543889850684912086127887424800505938050347434988619269425701812759191049617194060496548661603169469427684034366668124709956735866251398927372359653036696667098788045964895296949471745777383591188642889024851557937913565600475248441381549635432234747214318257161435288496926507308963444581999655053908601927799375340829975452661810543266703392316203669727864217466842498695932702662897164104057414878861795744274998444774677985651571632581649775244370014580237085691224208372277253531074899945089357295607455305375105108479431350224477648701715420010416582164850855760165367273616785504577956920021420228368858228886541815156494665565924428314414976387774214642601473359331616359928530161869903580669439144522201695794215497681147709944112176111116394867301129217156339111657932793573506951376065299844244919964576875477177759193742784015269978986218005001194002923574885552292001413395879960413083792208734074026762373581511864829881071129400095366274497318930084727634500520285709944446999434180669742962871390551638318913367761 717295731103139364036107236637068990701641382337750620792701260162155793466897275364774084386308560331034637952294633999287847479313933724832704811631486026293999375111972766697286202517497197865932107500870762050462414752302293425206481745993841540389546417383476275074235335490955507710909299938910763129895396420773789915642066283359109792362373389649010948460691037856751418854359012472100373019526751561192385824937625025372990116514802846973300641970678029667695118464355283598683434133332962014812893626644357339088121034076351775045526909353048761942354291338669461308307471985680329607315248376138053235321918470664717730887120738883454283766831445579214079942354879821263265152870603353068015258347047475448731106224053767398403679540533802284324767173150919744397268947600760908633188051434283792985636105025779519019223296577918517327279056839635956346854390576165118120211199329873824312901342123307064958420908468110283734361354621359385399595497544057092166736519191002466317567240129104599145173844631137791946848033327211346720028768891587217356421742231430479085900006805801737433887980986374498920597342651099644095389916615109615757907742986364005357582258042766559109194113173216303342611174831803517861141145467709399089805609088123590347436595536339898062745445834584209461003701480091658714708788515820617151331127773472680850769480087540291003182347730203852256679840003933034941600231032851411431625078290455482885701051324954341228081057787079070528821368753372402613569913844110692172968471621108694156632687443881878543547622845158285740929946832251608944319552749609122297416821058253668389371858780770755185639598405311843930686378026597003825421135522077049306182958273743993110955267815848327078930153428349472980915830749710478722126092548772512151068285132149604486432894136421662462073039476563493460005469127677032445729439456214100513931189391577279839958134248685077467023811392468210991929916052448423632459196941061339512662875787539417334793308154924011993382530090657163623029282136740273083893619044694489823614523157658358794934043701565898238907548447861174156008273306551151163789375278452981455835185435925116912493314595210877769283889894056051955085587572186137360448190366314063412570300848121867039065653525423979319521860839652331504842703461779102679994571870574367612735117622383311632730788291661955984919091673525730812258079263447480956176492638887656065988838591358375743951553793688368062999518263220617013257115854144010429222094035188516177177504454478744065570603832486888286817320915732436823945699695327043089886420078725918419276521535135969013535993728689778869878075871907949788821280401896358458819192647261854752921371194751295242794026022628432617658148710824214902659820223774047518158023427723227825272410191670626455953388768991009000843310586336491454844388817730966994570333854175437203506008856278136163864970726773723863912957103352490346969437886660931051373092362273301062280936372129448831895146533954861768410027597874874091177407443 1160608872910084597904513196738587021304052156789388040453278334868032008234745990311017295698888061423577182351959618669372389289035417014510465979984974616532863032767674832650657232664882236301749489336024328251490637765256063454088735963195298365043018624077414622904646050406128890657369287125495796868980578283359981302642819065692121741064965904013793793862209988824040215099478592022555188298661547017210868219865099202566491280405126880683419967594899883961685285849538719210784617889811976629295177679657906816291972897525343531823166959250021332976432622815743833626665595314469321907195331731092938614876266456763356944417663578943978201127883575007850285566613115508707437165310603694846145617438170641265084580133339210844590738330317851936255072785396145120361180359246561923323887728941086395148103904741396429691661264253488088358280559954120291246938173907144366436706795075238935623286735776255643167088974722730331994594908208549560166806637457115428296588563909675829613229931972971023650468303918134770897487293692926200864187573204487462414254868350018486403767774339882881414912027287195447359117677027116404861046087058653354844134519403738231201818791124608006517645760756072341285178605761536263612337837254410340347313126507559934990381384691763741399701638337141296800962392973762086798700770133992098707330369180580527370871294841432831369975430324403208506868566085502996562792510634360616456887355543299502178921652509922303931685019553602456650992059864298421711915357196225280829223776925927756147897109366309010959797366762177145235108216672171567365775093973073861793607363663039637151864408608505611084308510898602227684363360613363335188439336690948413454000167792799710189843255042462292069024524071119038576784718970542787888453552642499961442938278666407452849157698500828839546362725872891331928301773609543709389644811487426646006446361763580884764513993682595807799483022951207204606113499003004179043636502148506439793459869942405374190556443698813862678294616218544588423535220187087708072512888470396302582805572774852419291482705304735367666591582814529298865965009172802550091161734931489678122933973481890012209442786340988261360472532783080903513023501137786612608889571915949495647317515166379028474354150451931288282966442839307385413444631261154443509970024532384910879438509938586981360595005758504454680851794336422894916315494142309276700451491083662334051640410223940025519195923808268605148690742471592894266788190754089099786517701490493891282285983885828968543219305547906898703399485766588196989312973312112547667843340100146146788134750421677784170030659294614207184293052259682164431422753761227974818747722809131758333590810339273496938588241520309580327602260886935331297527121352991203857269681360516801332223786256970470700873353345866486178602504329120506724823375035735968188573257429060989495507422252158096576948762935507797890675330684864355176850509016061026417647589681203385789915436892415158776342145968135531511372898988426512410090775204 1877904604013223961940620433375656012005693539127138661245979595030187801701643265675791380085196621754611820304254252668660236768349350739343170791616460642826862407879647599347943435182379434167681596836895090301953052517558356879295217709189139905432565041460890897978881385897084398368278587064406559998875974704133771218284885349051231533427339293662804742322901026680791633953837604494655561318188298578403254044802724227939481396919929727656720609565577913629380404313894002809468052023144938644108071306302264155380093931601695306868693868603070094918786914154413294934973067300149651514510580107230991850198184927428074675304784317827432484894715020587064365508967995329970702318181207047914160875785218116713815686357392978242994417870851654220579839958547064864758449306847322831957075780375370188133740009767175948710884560831406605685559616793756247593792564483309484556917994405112759936188077899562708125509883190840615728956262829908945566402135001172520463325083100678295930797172102075622795642148549272562844335327020137547584216342096074679770676610581448965489667781145684618848800008273569946279715019678216048956436003673762970602042262390102236559401049167374565626839873929288644627789780593339781473478982722119739437118735595683525337817980228103639462447084171725506261966094453853745513409558649812715858661496954053208221640774928973122373157778054607060763548406089436031504392741667212027888512433833754985064622703834876645159766077340681527179813428617670824325485271040335973002192248547036450304529796810190889503344989607335430976038163504423176310094646722682984091024184721293305541236267389276366269948109303914071615049738639960339013860472213025462760183126066543703300798522858310619147954677499468511557700549720253266610579645191272473594006563798557057335590592637250502008435765349454825388307242737220741835374250943640746520377551155158164604472127931280885266506834343675415598043415055452602676095699089567779306122745729944791525349751853737874671677146309201752046564502323827981156406507515090792406420095932510778086416749006301265905499131262390473021973282479353701254951110209942659578769158917815129121936100936199139129756422677136955468109088709972749969337762282263559059887816014500895513419803977355267602488303678959716918287334722933546189964596402959278492173627560970292993325794050166410665770886009948625728573573405756757656627983722549990117629248815298401263147477601956973211690260734813511280045306608233110215739795525682407459463488340307712608789909380393786990216806682320633813258673007439590757729760178872065207411271956813753183566653023303986054171128131590114220244034163124333277566915456393613086512181534024792181382267542938012945260409597759546200186941576765251375427704788240029157496196448641097156826742114857495179445814915456998179667763853466935183143591283236426699013431108436232740813733662281521754588287788216845523819946902721957469020682043476686852196373264544607608237292502090393279782926586301386501268182647 3038513476923308559845133630114243033309745695916526701699257929898219809936389255986808675784084683178189002656213871338032626057384767753853636771601435259359725440647322431998600667847261670469431086172919418553443690282814420333383953672384438270475583665538305520883527436303213289025647874189902356867856552987493752520927704414743353274492305197676598536185111015504831849053316196517210749616849845595614122264667823430505972677325056608340140577160477797591065690163432722020252669912956915273403248985960170971672066829127038838691860827853091427895219536970157128561638662614618973421705911838323930465074451384191431619722447896771410686022598595594914651075581110838678139483491810742760306493223388757978900266490732189087585156201169506156834912743943209985119629666093884755280963509316456583281843914508572378402545825084894694043840176747876538840730738390453850993624789480351695559474813675818351292598857913570947723551171038458505733208772458287948759913647010354125544027104075046646446110452467407333741822620713063748448403915300562142184931478931467451893435555485567500263712035560765393638832696705332453817482090732416325446176781793840467761219840291982572144485634685360985912968386354876045085816819976530079784431862103243460328199364919867380862148722508866803062928487427615832312110328783804814565991866134633735592512069770405953743133208379010269270416972174939028067185252301572644345399789377054487243544356344798949091451096894283983830805488481969246037400628236561253831416025472964206452426906176499900463142356369512576211146380176594743675869740695756845884631548384332942693100675997781977354256620202516299299413099253323674202299808903973876214183293859343413490641777900772911216979201570587550134485268690796054499033197833772435036944842464964510184748291138079341554798491222346157316609016346764451225019062431067392526823912918739049368986121613876693065989857294882620204156914058456781719732201238074219099582615672350165715906195552551737349971762527746340470099722510915689228919395985487094989225668707363197377899454311036633572090714076919771887938291652156251346112845141432337701703132399705141331378887277187400490228955460217858981132589847759362578227334198213054707205331180879923987773954429286555885454746518267102331731965984087989699934620935344189371612137499557274353920799808670865346622680346371520644889067548066034357079474806212324169269659039238426782343401410225578360381003206406405546833497362322210002257497016176298741749472226136681152009214928300685693616292448908830802571646319552138425573100279018211995546022378491537353597312317918193238464180391272278651666787924352308096314638265525371420102991873298289119970509063247593272862670484694877497714062929756455232697386148756830489719982705611567857700095460723981358048319244577504904491138889202903371716848712297416194520853360594329317762496597789319645263618473081200700670455918782983886668271724680072642111810156959766384579438470225924791155825574727898911358957851 4916418080936532521785754063489899045315439235043665362945237524928407611638032521662600055869281304932800822960468124006692862825734118493196807563217895902186587848526970031346544103029641104637112683009814508855396742800372777212679171381573578175908148706999196418862408822200297687393926461254308916866732527691627523739212589763794584807919644491339403278508012042185623483007153801011866310935038144174017376309470547658445454074244986335996861186726055711220446094477326724829720721936101853917511320292262435127052160760728734145560554696456161522814006451124570423496611729914768624936216491945554922315272636311619506295027232214598843170917313616181979016584549106168648841801673017790674467369008606874692715952848125167330579574072021160377414752702490274849878078972941207587238039289691826771415583924275748327113430385916301299729399793541632786434523302873763335550542783885464455495662891575381059418108741104411563452507433868367451299610907459460469223238730111032421474824276177122269241752601016679896586157947733201296032620257396636821955608089512916417383103336631252119112512043834335339918547716383548502773918094406179296048219044183942704320620889459357137771325508614649630540758166948215826559295802698649819221550597698926985666017345147971020324595806680592309324894581881469577825519887433617530424653363088686943814152844699379076116290986433617330033965378264375059571577993968784672233912223210809472308167060179675594251217174234965511010618917099640070362885899276897226833608274020000656756956702986690789966487345976848007187184543681017919985964387418439829975655733105626248234336943387058343624204729506430370914462837893284013216160281116999338974366419925887116791440300759083530364933879070056061692185818411049321109612843025044908630951406263521567520338883775329843563234256571800982704916259083985193060393313374708139047201464073897213973458249545157578332496691638558035802200329113909384395827900327641998405705361402294957241255947406289612021648908836948092516664224834743670385325903500577887395645764639873975464316203317337899477589845339310244909911574131509952601063955351374997280472291317520270453314988213386539619985378137354814449241678557732112547565096480476613767093147195380819501193758406641823487943050197226819250019300707021535889899217338303467863785765060527567347246593858837276012393566356320146373462640953822792013707458528762314286898907854536828045490879012182551572071263941219916826878803970555320217997292541858706201212960566444393760799124308694472683833099131229464615830319326991729183302860457890277202957294335305290537163965341222179292635308522862392871910822087476641373881553721918984506615173407323081301352776606185606218123080082454423697901004506521706608125090936996859647216179154252665014526837575581476537494134160034503084158902742669838554860439995533842893534284469030562058576230260070841399851906261298046224490402821504941355688953768156759494308183421504373992816730972316318070938752161029285412627140498 7954931557859841081630887693604142078625184930960192064644495454826627421574421777649408731653365988110989825616681995344725488883118886247050444334819331161546313289174292463345144770876902775106543769182733927408840433083187197546063125053958016446383732372537501939745936258503510976419574335444211273734589080679121276260140294178537938082411949689016001814693123057690455332060469997529077060551887989769631498574138371088951426751570042944337001763886533508811511784640759446849973391849058769190914569278222606098724227589855772984252415524309252950709225988094727552058250392529387598357922403783878852780347087695810937914749680111370253856939912211776893667660130217007326981285164828533434773862231995632671616219338857356418164730273190666534249665446433484834997708639035092342519002799008283354697427838784320705515976211001195993773239970289509325275254041264217186544167573365816151055137705251199410710707599017982511176058604906825957032819679917748417983152377121386547018851380252168915687863053484087230327980568446265044481024172697198964140539568444383869276538892116819619376224079395100733557380413088880956591400185138595621494395825977783172081840729751339709915811143300010616453726553303091871645112622675179899005982459802170445994216710067838401186744529189459112387823069309085410137630216217422344990645229223320679406664914469785029859424194812627599304382350439314087638763246270357316579312012587863959551711416524474543342668271129249494841424405581609316400286527513458480665024299492964863209383609163190690429629702346360583398330923857612663661834128114196675860287281489959190927437619384840320978461349708946670213875937146607687418460090020973215188549713785230530282082078659856441581913080640643611826671087101845375608646040858817343667896248728486077705087174913409185118032747794147140021525275430749644285412375805775531574025376992636263342444371159034271398486548933440656006357243172366166115560101565716217505287977074645122957162142958841349371620671364694432986763947345659359614245299486064982384871433347237172842215657628374533049680559416230016797849865783666203947176800492807334982175423717225411784693875490573940110214333597572673430374268405491475125792430678689668474298478376260743488967712835928379373397796715493921581751266691109525589833838273647657235397902560084841701167393667508141359016246702691667018351708501888826370786933334974638456168566893775254827834280422408129932452267147626322373712301332877530220254789558035004942962432792581074912808339236995158377449391580138295418401965646543867608875960736908489198503316713796827890761277659140372531099488914134671523577610011828949470196191987444355926718165280621370421323285669433199490985750567149301195615067436278161840822477085753690136936161859864232872226933036305457895542453404612007988650041631872741926577288707831259088055137829624891376338726857860161045115524734379246925160858740287925242357225492836832136419993578464140377396169442542242862094577735757184323986098349 12871349638796373603416641757094041123940624166003857427589732979755035033212454299312008787522647293043790648577150119351418351708853004740247251898037227063732901137701262494691688873906543879743656452192548436264237175883559974758742296435531594622291881079536698358608345080703808663813500796698520190601321608370748799999352883942332522890331594180355405093201135099876078815067623798540943371486926133943648874883608918747396880825815029280333862950612589220031957879118086171679694113785160623108425889570485041225776388350584507129812970220765414473523232439219297975554862122444156223294138895729433775095619724007430444209776912325969097027857225827958872684244679323175975823086837846324109241231240602507364332172186982523748744304345211826911664418148923759684875787611976299929757042088700110126113011763060069032629406596917497293502639763831142111709777344137980522094710357251280606550800596826580470128816340122394074628566038775193408332430587377208887206391107232418968493675656429291184929615654500767126914138516179466340513644430093835786096147657957300286659642228748071738488736123229436073475928129472429459365318279544774917542614870161725876402461619210696847687136651914660246994484720251307698204408425373829718227533057501097431660234055215809421511340335870051421712717651190554987963150103651039875415298592312007623220817759169164105975715181246244929338347728703689147210341240239141988813224235798673431859878476704150137593885445364215005852043322681249386763172426790355707498632573512965519966340312149881480396117048323208590585515467538630583647798515532636505835943014595585439161774562771898664602666079215377041128338775039891700634620371137972554162916133711117647073522379418939971946846959710699673518856905512894696718258883883862252298847654992007645225426058688739028681267004365948122726441534514734837345805689180483670621226841066533477315902620704191849730983240571998691808557572286275550511388001893358215910993338476940080198418090365130961393269580201642525503428172180403029999571202986642869780517197987111148306531860945712432527270404755540261707761439915176156548240755844182332262647715034745682238008863703960479730199711734927487879615946963223587673357527159166282241391625571641562990161471242570202861340846912720740831770567398131061479733055611951125099183667620612409048413987526345417371409813059011813391814349455711618384494391863736952743067474748312082873325159434590681504523531088846239200591105303432850438252082099893711144175393359025468673607463545689631061282490711367760034232284973535596792178821194798766401460611049102118427925243000362551823734797436997064395488432099305590844077745709363340433333338687944451722676062275618805709108830649603724893516071942799868448947568022750549784152341014116897886753770611886934433036587564646511072808944374542580481437728703365101981589422298655453434914957117931002444967430995677293149651261561792866598046179260993591630728176999968514370212900414858560933033329896786469736613238847 20826281196656214685047529450698183202565809096964049492234228434581662454786876076961417519176013281154780474193832114696143840591971890987297696232856558225279214426875554958036833644783446654850200221375282363673077608966747172304805421489489611068675613452074200298354281339207319640233075132142731464335910689049870076259493178120870460972743543869371406907894258157566534147128093796070020432038814123713280373457747289836348307577385072224670864714499122728843469663758845618529667505634219392299340458848707647324500615940440280114065385745074667424232458427314025527613112514973543821652061299513312627875966811703241382124526592437339350884797138039735766351904809540183302804372002674857544015093472598140035948391525839880166909034618402493445914083595357244519873496251011392272276044887708393480810439601844389738145382807918693287275879734120651436985031385402197708638877930617096757605938302077779880839523939140376585804624643682019365365250267294957305189543484353805515512527036681460100617478707984854357242119084625731384994668602791034750236687226401684155936181120864891357864960202624536807033308542561310415956718464683370539037010696139509048484302348962036557602947795214670863448211273554399569849521048049009617233515517303267877654450765283647822698084865059510534100540720499640398100780319868462220405943821535328302627482673638949135835139376058872528642730079143003234849104486509499305392536248386537391411589893228624680936553716493464500693467728262858703163458954303814188163656873005930383175723921313072170825746750669569173983846391396243247309632643646833181696230296085544630089212182156738985581127428924323711342214712186499388053080461158945769351465847496348177355604458078796413528760040351343285345527992614740072326904924742679595966743903720493722930513233602148213799299752160095262747966809945484481631218064986259202195252218059169740658346991863226121129469789505439347814914815458641716626948103459074433416281315551585203155580233323972310764890251566336958490192119526062389613816502472707852165388631334348321148747518574086965576950964171770278505611305698842360495417556336989667244823138751971094022702739194534419840414045332500161309990215368715062799149957837855950715690103947902306479129184078498582234738643628214662413521834089240587069566893885598782334581570180697250749581381193853558730426059761703480410166057957600444755281325198711591199236041642087337701159439856998811436975798236472561574303406636310380658506871657928716087137826151606543586415802782684789438731882291506055452634250620079464401054781931707255599963927762898946318686520659502924354834286351131735919066042111134540314273937696807696360051503968565822143999347945052005200094581216753026089131139379078030289770045108504239921088502873981130758980703648192392328579040969258519061458986006415322408015017411196361069644560128280344811253683975791163490082955730056540074812120302080791840403404753830423767148170578432654747609069857400803795127907632543654060599337196 33697630835452588288464171207792224326506433262967906919823961414336697487999330376273426306698660574198571122770982234047562192300824895727544948130893785289012115564576817452728522518689990534593856673567830799937314784850307147063547717925021205690967494531610898656962626419911128304046575928841251654937232297420618876258846062063202983863075138049726812001095393257442612962195717594610963803525740257656929248341356208583745188403200101505004727665111711948875427542876931790209361619419380015407766348419192688550277004291024787243878355965840081897755690866533323503167974637417700044946200195242746402971586535710671826334303504763308447912654363867694639036149488863359278627458840521181653256324713200647400280563712822403915653338963614320357578501744281004204749283862987692202033086976408503606923451364904458770774789404836190580778519497951793548694808729540178230733588287868377364156738898904360350968340279262770660433190682457212773697680854672166192395934591586224484006202693110751285547094362485621484156257600805197725508313032884870536332834884358984442595823349612963096353696325853972880509236672033739875322036744228145456579625566301234924886763968172733405290084447129331110442695993805707268053929473422839335461048574804365309314684820499457244209425200929561955813258371690195386063930423519502095821242413847335925848300432808113241810854557305117457981077807846692382059445726748641294205760484185210823271468369932774818530439161857679506545511050944108089926631381094169895662289446518895903142064233462953651221863798992777764569361858934873830957431159179469687532173310681130069250986744928637650183793508139700752470553487226391088687700832296918323514381981207465824429126837497736385475607000062042958864384898127634769045163808626541848265591558712501368155939292290887242480566756526043385474408344460219318977023754166742872816479059125703217974249612567417970860453030077438039623472387744917267138336105352432649327274654028525283353998323689103272158159831767979483993620291706465419613387705459350721945905829321459469455279379519799398104221368927310540213372745614018517043658312181171999507470853786716776260711602898494899570613757067427649189606162331938650472507484997022232957081729519543869469290655321068785096079490540935403245292401487371648549299949497549907433765237801309659797995368720198976101835872820715293801980407413312063139775717062448543942303516390399420574484599291589492941499329325318800774894511939743231096758953757822427231313219510632012260023266328374420500014373002873815486866535593615061193233603126506022001424538812001064746611763659865476178569083788128800314554474210440131158351683406171036793384842656510273866675410220670810909203411866356750982647211321877898738717613131254789705240843888098028645734474260079326761615628533905030134267930380957902889452746114561463051233982426935798246168641093722165935050386725733833224463381863873658438449584014824015397876347578401169117821970272259364728161237529330123797212576043 54523912032108802973511700658490407529072242359931956412058189848918359942786206453234843825874673855353351596964814348743706032892796786714842644363750343514291329991452372410765356163473437189444056894943113163610392393817054319368353139414510816759643107983685098955316907759118447944279651060983983119273142986470488952518339240184073444835818681919098218908989651415009147109323811390680984235564554381370209621799103498420093495980585173729675592379610834677718897206635777408739029125053599407707106807267900335874777620231465067357943741710914749321988149293847349030781087152391243866598261494756059030847553347413913208458830097200647798797451501907430405388054298403542581431830843196039197271418185798787436228955238662284082562373582016813803492585339638248724622780113999084474309131864116897087733890966748848508920172212754883868054399232072444985679840114942375939372466218485474121762677200982140231807864218403147246237815326139232139062931121967123497585478075940029999518729729792211386164573070470475841398376685430929110502981635675905286569522110760668598532004470477854454218656528478509687542545214595050291278755208911515995616636262440743973371066317134769962893032242344001973890907267360106837903450521471848952694564092107633186969135585783105066907510065989072489913799092189835784164710743387964316227186235382664228475783106447062377645993933363989986623807886989695616908550213258140599598296732571748214683058263161399499466992878351144007238978779206966793090090335397984083825946319524826286317788154776025822047610549662346938553208250331117078267063802826302869228403606766674699340198927085376635764920937064024463812768199412890476740781293455864092865847828703814001784731295576532799004367040413386244209912890742374841372068733369221444232335462432995091086452525893035456279866508686138648222375154405703800608241819153002075011731277184872958632596604430644091989922819582877387438387203203558983765284208811507082743555969580110486509578557013075582923050083334316442483812411232527809227204207932058574111294460655807790604026898093886363681172333099080818718984051312860877539075868518161666752293992538687870283414342093029319411027802399927810499596377700653713271657442834878183672771833467446175948419839399567367330818134169150065658814235576612235618866843383148689768346807982006910547576749914052534832261932582418774212146465370912507895057042261160135141539558032486758275644039148588304378475127561791362349197918576053611755265825415751143318451045662238555846439069111059209938746255294379870939500786213694525594288385058213277601388466574900011065298284319368400533403370139260536233620516321574671472625621102978733153436346625076096010674758165722816109297993083109777071778350700955929028487658239759029626329346762079159404715177908271719090194669503163549195726916387373225297467763525757824120878542555216143057422325069513329425133342455790373299275502165954450278852988768654439165024518156833823865431040129660168523289145161873777857811913239 88221542867561391261975871866282631855578675622899863331882151263255057430785536829508270132573334429551922719735796582791268225193621682442387592494644128803303445556029189863493878682163427724037913568510943963547707178667361466431900857339532022450610602515295997612279534179029576248326226989825234774210375283891107828777185302247276428698893819968825030910085044672451760071519528985291948039090294639027138870140459707003838684383785275234680320044722546626594324749512709198948390744472979423114873155687093024425054624522489854601822097676754831219743840160380672533949061789808943911544461689998805433819139883124585034793133601963956246710105865775125044424203787266901860059289683717220850527742898999434836509518951484687998215712545631134161071087083919252929372063976986776676342218840525400694657342331653307279694961617591074448832918730024238534374648844482554170106054506353851485919416099886500582776204497665917906671006008596444912760611976639289689981412667526254483524932422902962671711667432956097325554634286236126836011294668560775822902356995119653041127827820090817550572352854332482568051781886628790166600791953139661452196261828741978898257830285307503368183116689473333084333603261165814105957379994894688288155612666911998496283820406282562311116935266918634445727057463880031170228641166907466412048428649230000154324083539255175619456848490669107444604885694836387998967995940006781893804057216756959037954526633094174317997432040208823513784489830151074883016721716492153979488235766043722189459852388238979473269474348655124703122570109265990909224494962005772556760576917447804768591185672014014285948714445203725216283321686639281565428482125752782416380229809911279826213858133074269184479974040475429203074297788870009610417232541995763292497927021145496459242391818183922698760433265212182033696783498865923119585265573319744947828210336310576176606846216998062062850375849660315427061859590948476250903620314163939732070830623608635769863576880702178855081209915102295926477432702938993228840591913391409296057200289977267260059306277613685761785393702026391358932356796926879394582734180699333666259764846325404646544125944991524218981641559467355459689202540032592363744164927831900416629853562986990045417710494720636152426897624710085468904106637063983884168166792880698597202112045783316570345572118634251510934097805403134068014126872784224571034832759323608679083843074422886178850128638440177797319974456887110163124092430515796842852024779173573570549764265172870568106462335439433630438760628297253686426367321807309586787521988184719299602813005386901075811910047979233876711972453927389336548174990532014802630977304509149769946821189281586369877350168386393627018501404949466528054425562022833827767205271371013819331570190650177188050449652168351045851810298037068579329994846768331128186920509640319287172112524982151941303590966163235495360183729181524206523738884029828108717302572783478454562900865735234992983253010401919533251450382691203901655024489282 142745454899670194235487572524773039384650917982831819743940341112173417373571743282743113958448008284905274316700610931534974258086418469157230236858394472317594775547481562274259234845636864913481970463454057127158099572484415785800253996754042839210253710498981096567596441938148024192605878050809217893483518270361596781295524542431349873534712501887923249819074696087460907180843340375972932274654849020397348491939563205423932180364370448964355912424333381304313221956148486607687419869526578830821979962954993360299832244753954921959765839387669580541731989454228021564730148942200187778142723184754864464666693230538498243251963699164604045507557367682555449812258085670444441491120526913260047799161084798222272738474190146972080778086127647947964563672423557501653994844090985861150651350704642297782391233298402155788615133830345958316887317962096683520054488959424930109478520724839325607682093300868640814584068716069065152908821334735677051823543098606413187566890743466284483043662152695174057876240503426573166953010971667055946514276304236681109471879105880321639659832290568672004791009382810992255594327101223840457879547162051177447812898091182722871628896602442273331076148931817335058224510528525920943860830516366537240850176759019631683252955992065667378024445332907706935640856556069866954393351910295430728275614884612664382799866645702237997102842424033097431228693581826083615876546153264922493402353949328707252637584896255573817464424918559967521023468609358041676106812051890138063314182085568548475777640543015005295317084898317471641675778359597107987491558764832075425988980524214479467931384599099390921713635382267749680096089886052172042169263419208646509246077638615093827998589428650801983484341080888815447284210679612384451789301275364984736730262483578491550328844344076958155040299773898320681919158653271626920193507392472747022839941613495449135239442821428706154840298669243192814500246794152035234668904522975446814814386593188746256373155437715254438004259998436612368961245114171521038067796121323467870168494750633075050663333175707572125466566035125472177651340848239740272121810049217495333012058838864092516827540287084553538392669361867283270188798917733246077015822370666778600302625396454436221366130334120203519757715758879235534562920872640596119787033636263847286970458853765323480893148868548304045766359737985552842226273338155137078929889801584768814225382632455372937125772677588766101698449584448901525473290349091850454607290604589324713868215310835109123952901404550492840377506883591633557365868108021004112381810373242932577204201471961801086877208332298602277245375824066649872781795506853589474103602925612128503100257535906662465888024926552116443127799398032576305126203912723789756795692929610772848957899537412256347455164830076622764942004967540232128525721763155704353484388273166077111292991067537368084361013291232748824785317071637314579823014386195782558996155561552132893727925383892068816848684050531579701774739527853077679512836402521 230966997767231585497463444391055671240229593605731683075822492375428474804357280112251384091021342714457197036436407514326242483280040151599617829353038601120898221103510752137753113527800292637519884031965001090705806751151777252232154854093574861660864313014277094179875976117177600440932105040634452667693893554252704610072709844678626302233606321856748280729159740759912667252362869361264880313745143659424487362080022912427770864748155724199036232469055927930907546705661195806635810613999558253936853118642086384724886869276444776561587937064424411761475829614608694098679210732009131689687184874753669898485833113663083278045097301128560292217663233457680494236461872937346301550410210630480898326903983797657109247993141631660078993798673279082125634759507476754583366908067972637826993569545167698477048575630055463068310095447937032765720236692120922054429137803907484279584575231193177093601509400755141397360273213734983059579827343332121964584155075245702877548303410992538966568594575598136729587907936382670492507645257903182782525570972797456932374236100999974680787660110659489555363362237143474823646108987852630624480339115190838900009159919924701769886726887749776699259265621290668142558113789691735049818210511261225529005789425931630179536776398348229689141380599826341381367914019949898124621993077202897140324043533842664537123950184957413616559690914702204875833579276662471614844542093271704387206411166085666290592111529349748135461856958768791034807958439509116559123533768382292042802417851612270665237492931253984768586559246972596344798348468863098896716053726837847982749557441662284236522570271113405207662349827471474896379411572691453607597745544961428925626307448526373654212447561725071167964315121364244650358508468482394062206533817360748029228189504723988009571236162260880853800733039110502715615942152137550039778772965792491970668151949806025311846289038426768217690674518903508241562106385100511485572524837139386546885217216797382026236732318417433293085469913538908295438677817110514266908388034714877166225695040610342310722639453321257887251959737151863536583697645166619666704544229916828999271823685189497163371666232076077757374310921334638729878001457765838440759987298498679016932478959441426266783840828840839672184613383589321003467027509704580003955200429144545884172570899548640051238720987182555556700457543388686910240400210939361649964722560908377493309225706878259115975901316028943899018424041336011688597382779607647297459315383762898284417979576007979692059363739989926470816267511888887243792235429828313699169332361427651876807014477348702162689118380277836153957348277994039209329970497385604276734580230121278273047078725188248835765375094938510070146300802982042833180629474746623584562898200981786668289469728062433535505614482244973810793815265577300707855716609924035481671308782806396398465103592519520025664604257395984320145500800818838786346753270225610667713458134335611348290826249627303809831937060933499235026189910544281581167860891803 373712452666901779732951016915828710624880511588563502819762833487601892177929023394994498049469350999362471353137018445861216741366458620756848066211433073438492996650992314412012348373437157551001854495419058217863906323636193038032408850847617700871118023513258190747472418055325624633537983091443670561177411824614301391368234387109976175768318823744671530548234436847373574433206209737237812588399992679821835854019586117851703045112526173163392144893389309235220768661809682414323230483526137084758833081597079745024719114030399698521353776452093992303207819068836715663409359674209319467829908059508534363152526344201581521297061000293164337725220601140235944048719958607790743041530737543740946126065068595879381986467331778632159771884800927030090198431931034256237361752158958498977644920249809996259439808928457618856925229278282991082607554654217605574483626763332414389063095956032502701283602701623782211944341929804048212488648678067799016407698173852116065115194154458823449612256728293310787464148439809243659460656229570238729039847277034138041846115206880296320447492401228161560154371619954467079240436089076471082359886277242016347822058011107424641515623490192050030335414553108003200782624318217655993679041027627762769855966184951261862789732390413897067165825932734048317008770576019765079015344987498327868599658418455328919923816830659651613662533338735302307062272858488555230721088246536626880608765115414373543229696425605321952926281877328758555831427048867158235230345820272430106116599937180819141015133474268990063903644145290067986474126828460206884207612491669923408738537965876763704453954870212796129375985209739224576475501458743625649767008964170075434872385087141467482211036990375873151448656202253060097642719148094778513995835092725732765958451988302479559900080506337839008841032813008823397535100805409176959972280358265238993508093563301474447085731859855474372530973188146701056062353179252546720241429360114833361699603809986128282609887756132687731089729911975520664399922931282035304976184156038345036394189791243417361385972629028830012718525772277335714235038493406359938826354279134324332283882524053589680199206519160631295766980283201922000066800375499084517775809669165457617235104355895862488149971162961043191942329142468556538029948382345176123742234065408393171143029753313963532131869855730859602466817281374239752466673549094498728894612362493146307534608339333632053101673993617710000716873625784913214070673128699497752066605988352222998286194886843088816012265144540419311193774395480520801158103537849317811551142734670584454011215949310503249566326712576438431202724102060689082111766004239193750838183155733406776147336261094911301653400021490626513274100201014619138306833387470413341358591130592559517247369265474689882960779312321596575735820233117532836381438373079739835155697055972473509758094660056888110025617548628733144930817872456153366169767656421393226709613695887744242018751633519372626680621111465078936800929438397359260680697294324 604679450434133365230414461306884381865110105194295185895585325863030366982286303507245882140490693713819668389573425960187459224646498772356465895564471674559391217754503066549765461901237450188521738527384059308569713074787970290264563704941192562531982336527535284927348394172503225074470088132078123228871305378867006001440944231788602478001925145601419811277394177607286241685569079098502692902145136339246323216099609030279473909860681897362428377362445237166128315367470878220959041097525695338695686200239166129749605983306844475082941713516518404064683648683445409762088570406218451157517092934262204261638359457864664799342158301421724629942883834597916438285181831545137044591940948174221844452969052393536491234460473410292238765683474206112215833191438511010820728660226931136804638489794977694736488384558513081925235324726220023848327791346338527628912764567239898668647671187225679794885112102378923609304615143539031272068476021399920980991853249097818942663497565451362416180851303891447517052056376191914151968301487473421511565418249831594974220351307880271001235152511887651115517733857097941902886545076929101706840225392432855247831217931032126411402350377941826729594680174398671343340738107909391043497251538888988298861755610882892042326508788762126756307206532560389698376684595969663203637338064701225008923701952297993457047767015617065230222224253437507182895852135151026845565630339808331267815176281500039833821807954955070088388138836097549590639385488376274794353879588654722148919017788793089806252626405522974832490203392262664331272475297323305780923666218507771391488095407539047940976525141326201337038335037210699472854913031435079257364754509131504360498692535667841136423484552100944319412971323617304748001227616577172576202368910086480795186641493026467569471316668598719862641765852119326113151042957546726999751053324057730964176245513107499758932020898282242590221647707050209297624459564353058205813954197254219908584821026783510308846620074550121024175199825514428959838600748392549571884572190753222202619884831853759672108612082350087899970485509429199250818736138572979605530898509051153331555706209243086843570872751236709053141291204536560729944801833264922958535796967664136634167583315337288754933811991801882864126942526057877541496975892049756127697434494552939055315600652862603583370590842913415159167274824762926662707073760033860378859334923401523800843834046211891169077575309646653899735297667120924902668055908307145049525921372115121282704174462851068508071628884530345782010041907369408044950338967677631510720475096098236330818230426659205412255445092854274585160072380054728291441736501624798027572763385854685049194414986283160137418775116429136583420401003996661971487462862217036925921489331574346185536838993537123418466393794566570386529635498694833544237154983003775316827005838778869908223198252576408135690221806024717465076318673274992152516520926647003894423071830223355590309577883146676436512558172398578171827119348941640841848558186127 978391903101035144963365478222713092489990616782858688715348159350632259160215326902240380189960044713182139742710444406048675966012957393113313961775904747997884214405495380961777810274674607739523593022803117526433619398424163328296972555788810263403100360040793475674820812227828849708008071223521793790048717203481307392809178618898578653770243969346091341825628614454659816118775288835740505490545129019068159070119195148131176954973208070525820522255834546401349084029280560635282271581051832423454519281836245874774325097337244173604295489968612396367891467752282125425497930080427770625347000993770738624790885802066246320639219301714888967668104435738152382333901790152927787633471685717962790579034120989415873220927805188924398537568275133142306031623369545267058090412385889635782283410044787690995928193486970700782160554004503014930935346000556133203396391330572313057710767143258182496168714804002705821248957073343079484557124699467719997399551422949935007778691719910185865793108032184758304516204816001157811428957717043660240605265526865733016066466514760567321682644913115812675672105477052408982126981166005572789200111669674871595653275942139551052917973868133876759930094727506674544123362426127047037176292566516751068717721795834153905116241179176023823473032465294438015385455171989428282652683052199552877523360370753322376971583846276716843884757592172809489958124993639582076286718586344958148423941396914413377051504380560392041314420713426308146470812537243433029584225408927152255035617725973908947267759879791964896393847537552732317746602125783512665131278710177694800226633373415811645430480011538997466414320246949924049330414490178704907131763473301579795371077622809308618634521542476817470861627525870364845643946764671951090198204002812213561145093481328947129371397174936558871482798665128149510686143762955903959723333682322969957684339076408974206017752758137716962752620895196910353686812743605604926055383557369053270284424836769638591456507830682808755264929737489949624238523679674584876860756346791567239014074623097177033494584711378917912689011281706534965053774631979339544357252788185477663839588733296676523770079270397340348908271487738482730011602208764007476311606636829594251402687671233151243083783154762926056069271668526434079526924274394932251439668559961332226458630406176567115502460698644274761634092106137166415173747309128359107753947285894670108378442385545523222179249303264363900452171292905838116738729037006642801592527360467344280990369349694157324083894029070765093203816302849928846108442505526949322271617830768820784829446375969708661821771805430713016362796482115417373553502505863991778410946541588091825341751247378071439072175137919763096694501205011281109794296249687450267280080462166905702784208259011813301427173106888166962265455731812366380618593356083515151982702894751343417981292912633296245715839354653450610007136545731145518686288583068397121132685526111099832328329516666049063193179283863657108628048787339000102529255480451 1583071353535168510193779939529597474355100721977153874610933485213662626142501630409486262330450738427001808132283870366236135190659456165469779857340376422557275432159998447511543272175912057928045331550187176835003332473212133618561536260730002825935082696568328760602169206400332074782478159355599917018920022582348313394250122850687181131772169114947511153103022792061946057804344367934243198392690265358314482286218804178410650864833889967888248899618279783567477399396751438856241312678577527762150205482075412004523931080644088648687237203485130800432575116435727535187586500486646221782864093928032942886429245259930911119981377603136613597610988270336068820619083621698064832225412633892184635032003173382952364455388278599216637303251749339254521864814808056277878819072612820772586921899839765385732416578045483782707395878730723038779263137346894660832309155897812211726358438330483862291053826906381629430553572216882110756625600720867640978391404672047753950442189285361548281973959336076205821568261192193071963397259204517081752170683776697327990286817822640838322917797425003463791189839334150350885013526242934674496040337062107726843484493873171677464320324246075703489524774901905345887464100534036438080673544105405739367579477406717045947442749967938150579780238997854827713762139767959091486290021116900777886447062323051315834019350861893782074106981845610316672853977128790608921852348926153289416239117678414453210873312335515462129702559549523857737110198025619707823938104997581874403954635514766998753520386285314939728884050929815396649019077423106818446054944928685466191714728780954859586407005152865198803452655284160623522185327521613784164496517982433084155869770158477149755058006094577761790274598849487669593645174381249123666400572912898694356331734974355414698842713843535278734124564517247475623837186720502630959474387006380700921860584589516473964949773656419959552974268602247119651311272307958663131869337754623273178869245863553148900303127905232929779440129563004378584077124428067134448745328537544789441633959454950936705603196793729005812659496791135734215872510770552319149888151297236630995395294942539763367340952021634049402049562692275043459956404042028930434847403604493730885570270986570439998017595146564808920196214194584311621023900166444688379137103054514271281774231059039170698873051541557689920801366930900093077880821069162219486613282209296193909222276431757414391256824612911017800187468960026763019406784945313787851118448732582465563694543812545225832155522913601110875213858210219336891058781473204580832992092926867057115647676802628914074077216898284987601522868862170145664995239007488789805983709927442776874536166233661231576490950254348899680114902209007943081281759111904487193201569793741251888321047252548936719893566901454737348795091230507199924855748339087290468809708733530213326204491165209704381406061160678168075083455219006137671202809509715401015555757356334455422637907399812725499705737456262235280455168136280640944377813666578 2561463256636203655157145417752310566845091338760012563326281644564294885302716957311726642520410783140183947874994314772284811156672413558583093819116281170555159646565493828473321082450586665667568924572990294361436951871636296946858508816518813089338183056609122236276990018628160924490486230579121710808968739785829620787059301469585759785542413084293602494928651406516605873923119656769983703883235394377382641356337999326541827819807098038414069421874114329968826483426031999491523584259629360185604724763911657879298256177981332822291532693453743196800466584188009660613084430567073992408211094921803681511220131061997157440620596904851502565279092706074221202952985411850992619858884319610147425611037294372368237676316083788141035840820024472396827896438177601544936909484998710408369205309884553076728344771532454483489556432735226053710198483347450794035705547228384524784069205473742044787222541710384335251802529290225190241182725420335360975790956094997688958220881005271734147767067368260964126084466008194229774826216921560741992775949303563061006353284337401405644600442338119276466861944811202759867140507408940247285240448731782598439137769815311228517238298114209580249454869629412020431587462960163485117849836671922490436297199202551199852558991147114174403253271463149265729147594939948519768942704169100330763970422693804638210990934708170498917991739437783126162812102122430190998139067512498247564663059075328866587924816716075854171016980262950165883581010562863140853522330406509026658990253240740907700788146165106904625277898467368128966765679548890331111186223638863160991941362154370671231837485164404196269866975531110547571515742011792489071628281455734663951240847781286458373692527637054579261136226375358034439289121145921074756598776915710907917476828455684361828214111018471837605607363182375625134523330483458534919197720688703670879544923665925448170967526414557676515726889497444030004998085051564268057924721311992326449153670700322787491759635735915738534705059300494328208315648107741719325606084884336356680648034078048113739097781505107923725348508072842269180926285402531658694245404085422108659234883675836439891111031292031389750957834180013526189968006250792937911159010241323325136972958657803591241101378301327734976265485863110745700550824440839620630576771614475603508232861465215737814375512240201964682435459037037259493054568378290578594367229495190864017600718817302937613436073916175381700639640252932601136145513982320430652710976093049809844684913162239383156239416942671875968417674513069265737167223978731530155263710757635877900477123178598622735898988703715700617885665344285563038548741513352781584394656469030868699877917481039303015563125392268662776809403414019224191076055361591937460481650255908157591105255511560750021320740008342904311060546962319566305474341695170805620792411628281556744185784077843000627121900515331618685090591764737283189889098092783798136688442882445555254966236916478774562898916740125892389083216923619641046907069147029 4144534610171372165350925357281908041200192060737166437937215129777957511445218587721212904850861521567185756007278185138520946347331869724052873676456657593112435078725492275984864354626498723595614256123177471196440284344848430565420045077248815915273265753177450996879159225028492999272964389934721627827888762368177934181309424320272940917314582199241113648031674198578551931727464024704226902275925659735697123642556803504952478684640988006302318321492394113536303882822783438347764896938206887947754930245987069883822187258625421470978769896938873997233041700623737195800670931053720214191075188849836624397649376321928068560601974507988116162890080976410290023572069033549057452084296953502332060643040467755320602131704362387357673144071773811651349761252985657822815728557611531180956127209724318462460761349577938266196952311465949092489461620694345454868014703126196736510427643804225907078276368616765964682356101507107300997808326141203001954182360767045442908663070290633282429741026704337169947652727200387301738223476126077823744946633080260388996640102160042243967518239763122740258051784145353110752154033651874921781280785793890325282622263688482905981558622360285283738979644531317366319051563494199923198523380777328229803876676609268245800001741115052324983033510461004093442909734707907611255232725286001108650417485016855954045010285570064280992098721283393442835666079251220799919991416438651536980902176753743319798798129051591316300719539812474023620691208588482848677460435404090901062944888755507906454308532450421844354161949397183525615784756971997149557241168567548627183656090935325530818244490317269395073319630815271171093701069533406273236124799438167748107110617939763608128750533731632341051410825224845704032934295527170198422999349828609602273808563430039776527056824862007116339731927699623100758360517203961165878672107695084371801405508255441922135917300070977636068701158099691149656309357359522931189794059066615599628022916563875936392062763641148668314145188863498706792392772535808853774351413421881146122281993532999050444700978298836929538008004863978003396798796173083977844133555382658739654630178618376203258451983313665439153007396872288569649924410292821868346006413845817056022543229644374031239118973447892543896461700057695057321574724607284309009713874668989874790007092524254908513248563781759654603236825967937352570935389447452798080980511704487057926822995249060352004692898529086399500827109212959364155552298927634218503829424825632275408379456974784608988394939856272986843631532723288602628226005451936110988255803684502935016124799981227536809976205602000688219408534206455708703543980520841571390378366396473645574414083714700534592054075646617562456924305623027167272357814473496424653683220049649409479426302764109686741214306909797641659855638192826766230330090034258096089602120361811770070390275243052705008527961676009786760174046983743420861091907602499199152244200238780010677604144316291500062604654196388127669538385059900281991284882813607 6705997866807575820508070775034218608045283399497179001263496774342252396747935545032939547371272304707369703882272499910805757504004283282635967495572938763667594725290986104458185437077085389263183180696167765557877236216484727512278553893767629004611448809786573233156149243656653923763450620513843338636857502154007554968368725789858700702856995283534716142960325605095157805650583681474210606159161054113079764998894802831494306504448086044716387743366508443505130366248815437839288481197836248133359655009898727763120443436606754293270302590392617194033508284811746856413755361620794206599286283771640305908869507383925226001222571412839618728169173682484511226525054445400050071943181273112479486254077762127688839808020446175498708984891798284048177657691163259367752638042610241589325332519608871539189106121110392749686508744201175146199660104041796248903720250354581261294496849277967951865498910327150299934158630797332491238991051561538362929973316862043131866883951295905016577508094072598134073737193208581531513049693047638565737722582383823450002993386497443649612118682101242016724913728956555870619294541060815169066521234525672923721760033503794134498796920474494863988434514160729386750639026454363408316373217449250720240173875811819445652560732262166499386286781924153359172057329647856131024175429455101439414387907710660592256001220278234779910090460721176568998478181373650990918130483951149784545565235829072186386722945767667170471736520075424189504272219151345989530982765810599927721935141996248814155096678615528748979439847864551654582550436520887480668427392206411788175597453089696202050081975481673591343186606346381718665216811545198762307753080893902412058351465721050066502443061368686920312547051600203738472223416673091273179598126744320510191285391885724138355270935880478953945339290881998725892883847687419700797869828383788042680950431921367370306884826485535312584428047597135179661307442411087199247718780378607926077176587264198723883822399377064406848850248163993035000708420643550573099957498306217502802930027611047164183798759803944853263356512936820272577725081575615636538378959468080848313865062294212643149563014605696828903965231052302095839892416543614806257165424087140381159516188302177622480220351749220278872727185920805803022125549048123929640290646283465478298239953989470646327624076021961619285672285004974612063989957825743376675347741199677921944423714066363289618128972445261781201466749465891965291697812909954649156540400918682085253064370137023992144634356798944862812049207236357868365393229430667641143519514442138812916601923159826159545875194305716388837294199550741271742092722034194352974773022865504514274292001195739837607617201038886225233733709037046391463433869835088362114164870305557567070531558275670436762535046918140545970916185155146332535804431729428901710394531990093326814576059320895705635649862191341405445264638748480704050981005695282997288932643121225565932570381232770274625503570936514020058621601983519923038191951960636 10850532476978947985858996132316126649245475460234345439200711904120209908193154132754152452222133826274555459889550685049326703851336153006688841172029596356780029804016478380443049791703584112858797436819345236754317520561333158077698598971016444919884714562964024230035308468685146923036415010448564966464746264522185489149678150110131641620171577482775829790991999803673709737378047706178437508435086713848776888641451606336446785189089074051018706064858902557041434249071598876187053378136043136081114585255885797646942630695232175764249072487331491191266549985435484052214426292674514420790361472621476930306518883705853294561824545920827734891059254658894801250097123478949107524027478226614811546897118229883009441939724808562856382128963572095699527418944148917190568366600221772770281459729333190001649867470688331015883461055667124238689121724736141703771734953480777997804924493082193858943775278943916264616514732304439792236799377702741364884155677629088574775547021586538299007249120776935304021389920408968833251273169173716389482669215464083838999633488657485893579636921864364756982965513101908981371448574712690090847802020319563249004382297192277040480355542834780147727414158692046753069690589948563331514896598226578950044050552421087691452562473377218824369320292385157452614967064355763742279408154741102548064805392727516546301011505848299060902189182004570011834144260624871790838121900389801321526467412582815506185521074819258486772456059887898213124963427739828838208443201214690828784880030751756720609405211065950593333601797261735180198335193492884630225668560773960415359253544025021732868326465798942986416506237161652889758917881078605035543877880332070160165462083660813674631193595100319261363957876825049442505157712200261471602597476572930112465093955315763914882327760742486070285071218581621826651244364891380866676541936078872414482355940176809292442802126556512948653129205696826329317616799770610130437512839445223525705199503828074660275885163018213075162995437027491741793101193179359426874308911728098648925212021144046214628499738102781782801364517800798275974523877748699614382512514850739587968495240912588846408014997919362268056972627924590665489816826836436674603171837932957437182059417946551653719339325197112822769188885978500860343700273655408238650004520952455353088247046513725554840872639803721273888909110972911964634925347273196174756328252904164979871246709315423641622821870974348180702293858678851329447250111837588867660369825744314360661443827111808601133029296655217849655680739959646470993619234882603752131775318126641747932726723141053696355851399907717077056702733757196980445636702555035924365151389261978159848706084910440372199671276685503787690658014660073558735791684308584786767848090355206976549957861039780123503749353827938187630771823347973098766134521763686997799996652351905096884966334563948410644177823867351192205438685732224124912072913297782196441176843360005576610174525549061774688108225132902147728159987043420205029476834774243 17556530343786523806367066907350345257290758859731524440464208678462462304941089677787091999593406130981925163771823184960132461355340436289324808667602535120447624529307464484901235228780669502121980617515513002312194756777817885589977152864784073924496163372750597463191457712341800846799865630962408305101603766676193044118046875899990342323028572766310545933952325408768867543028631387652648114594247767961856653640346409167941091693537160095735093808225411000546564615320414314026341859333879384214474240265784525410063074131838930057519375077724108385300058270247230908628181654295308627389647756393117236215388391089778520563047117333667353619228428341379312476622177924349157595970659499727291033151195992010698281747745254738355091113855370379747705076635312176558321004642832014359606792248942061540838973591798723765569969799868299384888781828777937952675455203835359259099421342360161810809274189271066564550673363101772283475790429264279727814128994491131706642430972882443315584757214849533438095127113617550364764322862221354955220391797847907289002626875154929543191755603965606773707879242058464851990743115773505259914323254845236172726142330696071174979152463309275011715848672852776139820329616402926739831269815675829670284224428232907137105123205639385323755607074309310811787024394003619873303583584196203987479193300438177138557012726126533840812279642725746580832622441998522781756252384340951106072032648411887692572244020586925657244192579963322402629235646891174827739425967025290756506815172748005534764501889681479342313041645126286834780885630013772110894095952980372203534850997114717934918408441280616577759692843508034608424134692623803797851630961225972572223813549381863741133636656469006181676504928425253180977381128873352744782195603317250622656379347201488053237598696622965024230410509463620552544128212578800567474411764462660457163306372098176662749686953042048261237557253293961508978924242181697329685231619823831451782376091092273384159707562395277482011845685191484776793809613822909999974266410034316151728142048755093378812298497906726636064721030737618548552248959324315250920891474318820436282360303206801489557578012525059096960937858976892761329709243380051480860337262020097818341575606248729276199559676946333101641916071899306663365825822703532168290295167235920831386487000503196201168496715825682893174581395977886576698915305098939551431675994103842901815670423381786931240950843419609961903760608144743294738947924747543516816910226662996445914508197248832593277663653454162712467729947196004339359012464313271393275294832568780560849328646300879855901726594213433465893996933307938252187729424589230277339924412127482674122998086106180209807288477724390012924391723697119950199225554143673148882012960660764543620489419315450560266284400746078733601688008503119431301938953493115899510391184341998423699542393884844116279827686058692597650703324480704828963053918993065193730109486481231142542744906781832049313611796069416167786781589026940128067668786734879 28407062820765471792226063039666471906536234319965869879664920582582672213134243810541244451815539957256480623661373870009459165206676589296013649839632131477227654333323942865344285020484253614980778054334858239066512277339151043667675751835800518844380877935714621693226766181026947769836280641410973271566350031198378533267725026010121983943200150249086375724944325212442577280406679093831085623029334481810633542281798015504387876882626234146753799873084313557587998864392013190213395237469922520295588825521670323057005704827071105821768447565055599576566608255682714960842607946969823048180009229014594166521907274795631815124871663254495088510287683000274113726719301403298265119998137726342102580048314221893707723687470063301211473242818942475447232495579461093748889371243053787129888251978275251542488841062487054781453430855535423623577903553514079656447190157316137256904345835442355669753049468214982829167188095406212075712589806967021092698284672120220281417977994468981614592006335626468742116517034026519198015596031395071344703061013311991128002260363812415436771392525829971530690844755160373833362191690486195350762125275164799421730524627888348215459508006144055159443262831544822892890020206351490071346166413902408620328274980653994828557685679016604148124927366694468264401991458359383615582991738937306535543998693165693684858024231974832901714468824730316592666766702623394572594374284730752427598500060994703198757765095406184144016648639851220615754199074631003665947869168239981585291695203499762255373907100747429935646643442388022014979220823506656741119764513754332618894104541139739667786734907079559564176199080669687498183052573702408833395508841558042732389275633042677415764830251569325443040462805250302623482538841073614216384793079890180735121473302517251968119926457365451094515481728045242379195372577470181434150953700541532871645662312274985955192489079598561209890686458990787838296541041952307460122744459269054977487575594920348044435592725413490557174841122218976518586910807002269426848575321762414800653354069899139593440798236009508418866085548538416824526772837073014865303403989169560024250855544119390335965593010444421365017910486901483426819526070216488155463509099953055255523635024195280929918899002143445924411104957877807523709526096358940406940299688188376184474734047016921756009369355629404167063490506950798541333840652372135726188004247008007881686917132697210572863772714393958142606054466823594624186198036585132384477280052407310806575952024360641194410692950109380562123410687155650810352631699195875145407070150695422308782055369441933552257577994121150542950699667065135232633366127144266201705075801389460833971704171016620582006959754409893800615049738357193508935017238452257935649861051015971520170447280355230683770033754574016921232459831851092530068073475256802897310387836693903520584508728448792526924005509926043789856142010212928953875126832290847390171286329841236719152919432330893824001720021202318315514941576070360333097145621509122 45963593164551995598593129947016817163826993179697394320129129261045134518075333488328336451408946088238405787433197054969591626562017025585338458507234666597675278862631407350245520249264923117102758671850371241378707034116968929257652904700584592768877041308465219156418223893368748616636146272373381576667953797874571577385771901910112326266228723015396921658896650621211444823435310481483733737623582249772490195922144424672328968576163394242488893681309724558134563479712427504239737096803801904510063065787454848467068778958910035879287822642779707961866666525929945869470789601265131675569656985407711402737295665885410335687918780588162442129516111341653426203341479327647422715968797226069393613199510213904406005435215318039566564356674312855194937572214773270307210375885885801489495044227217313083327814654285778547023400655403723008466685382292017609122645361151496516003767177802517480562323657486049393717861458507984359188380236231300820512413666611351988060408967351424930176763550476002180211644147644069562779918893616426299923452811159898417004887238967344979963148129795578304398723997218838685352934806259700610676448530010035594456666958584419390438660469453330171159111504397599032710349822754416811177436229578238290612499408886901965662808884655989471880534441003779076189015852363003488886575323133510523023191993603870823415036958101366742526748467456063173499389144621917354350626669071703533670532709406590891330009115993109801260841219814543018383434721522178493687295135265272341798510376247767790138408990428909277959685087514308849760106453520428852013860466734704822428955538254457602705143348360176141935891924177722106607187266326212631247139802784015304613089182424541156898466908038331624716967733675555804459919969946966961166988683207431357777852649718740021357525153988416118745892237508862931739500790048982001625365465004193328808968684373162617942176032640609471128243712284749347275465284134004789807976079092886429269951686012621428595300287808768039186686807410461295380720420825179426822841731796730952381496118654232972253096733916235054930806579276035373079021796397330116224295463488380460533215847326191825523171022969480461978848345878376188149235313596539636323846361973153073865210630444010206118458679089779026053021029777114187075351919062472575230594855424297015861221047520117957177866071455087060238071902928685118032755957471075277619680241111850783502587556078997504104723557813568104509815074968337918925145961332675901294190279070307252490460221609473787688356603563543274591140634351655149711644163509146538682364983264202869631384015742813408159304588334584008844696600373073484821095551733496479045000213516943508094702257122800791814248232134283813539441462054313459134242792595931084531874011676736063790936699670681244036318155320095654834147840354211961370012428749918796820779021035901944284051122333636643203833195984736387506845334693633782838180751283912583901395816322467861695664339112725873315331817271734483301723165097300461164814408244001 74370655985317467390819192986683289070363227499663264199794049843627806731209577298869580903224486045494886411094570924979050791768693614881352108346866798074902933195955350215589805269749176732083536726185229480445219311456119972925328656536385111613257919244179840849644990074395696386472426913784354848234303829072950110653496927920234310209428873264483297383840975833654022103841989575314819360652916731583123738203942440176716845458789628389242693554394038115722562344104440694453132334273724424805651891309125171524074483785981141701056270207835307538433274781612660830313397548234954723749666214422305569259202940681042150812790443842657530639803794341927539930060780730945687835966934952411496193247824435798113729122685381340778037599493255330642170067794234364056099747128939588619383296205492564625816655716772833328476831510939146632044588935806097265569835518467633772908113013244873150315373125701032222885049553914196434900970043198321913210698338731572269478386961820406544768769886102470922328161181670588760795514925011497644626513824471889545007147602779760416734540655625549835089568752379212518715126496745895961438573805174835016187191586472767605898168475597385330602374335942421925600370029105906882523602643480646910940774389540896794220494563672593620005461807698247340591007310722387104469567062070817058567190686769564508273061190076199644241217292186379766166155847245311926945000953802455961269032770401294090087774211399293945277489859665763634137633796153182159635164303505253927090205579747530045512316091176339213606328529902330864739327277027085593133624980489037441323060079394197270491878255439735706112091004847409604790239840028621464642648644342058037002364815467218572663297159607657067757430538925858427942458811020581177551781763097612092899325952235991989477451611353867213261373965554105310934873367519163435776319165545726200454630996648148573134665112239170681018930171275537185572006326086312249930720538361941406757527280932969473030893013222258596361527929629437813967631227827448853671417053559145753034850188553372565693894969925743473796892127814452197605794633470344981527699452657940484784071391445582161488764033413901826996758832779859614968761383813027791787355461926208329388845654639291136037357681233224950464125987654921710784878015421412982170894543612673200335955094537039713187235427084491227301562409879483659366596609843211003807684488119858665189504688776208076968496272207526247115869541791932543111343997917808285771470331477618059066412245970114982099049553672923836714551321507305960064275862705021684089435133959625178413439385184746960416882582455734551795396267438208717454461678877762680750076014906404342066406428139421373821207986544177614154491200411506968069260031048189020181735062692707583961383980025911927806351909894112576066607672205304491438085904006721694131166857729805464868559850782429170127838705910780177362987344906562736713307583574759974072682146163704580848583771443619697317051838474052798816664741167660794261960029753123 120334249149869462989412322933700106234190220679360658519923179104672941249284910787197917354633432133733292198527767979948642418330710640466690566854101464672578212058586757565835325519014099849186295398035600721823926345573088902182981561236969704382134960552645060006063213967764445003108573186157736424902257626947521688039268829830346636475657596279880219042737626454865466927277300056798553098276498981355613934126086864849045814034953022631731587235703762673857125823816868198692869431077526329315714957096580019991143262744891177580344092850615015500299941307542606699784187149500086399319323199830016971996498606566452486500709224430819972769319905683580966133402260058593110551935732178480889806447334649702519734557900699380344601956167568185837107640009007634363310123014825390108878340432709877709144470371058611875500232166342869640511274318098114874692480879619130288911880191047390630877696783187081616602911012422180794089350279429622733723112005342924257538795929171831474945533436578473102539805329314658323575433818627923944549966635631787962012034841747105396697688785421128139488292749598051204068061303005596572115022335184870610643858545057186996336828945050715501761485840340020958310719851860323693701038873058885201553273798427798759883303448328583091885996248702026416780023163085390593356142385204327581590382680373435331688098148177566386767965759642442939665544991867229281295627622874159494939565479807884981417783327392403746538331079480306652521068517675360653322459438770526268888715955995297835650725081605248491566013617416639714499433730547514445147485447223742263752015617648654873197021603799911848047982929025131711397427106354834095889788447126073341615453997891759729561764067645988692474398272601414232402378780967548138718770446305043450677178601954732010834976765342283332007266203062968242674374157568145437401684630549919529263599681021311191076841144879780152147173883560286532847471610220317039738696617454827836027478966945590901626193301031026635548214737039899109348351648652628280494258785355876705416346307207605537946991703841978528727698707090487570684816429867675097751994916146320945317287238771773987011935056383382288975607178658235803117996697409567428111201823899361403254056285083301342155816360323003976517147017432035897860229934483885557401489399036970216197176142057157670365101498539578287539634312808168777399352567314286281427364729231709448692092244855205581073219830021094351625684616760270462036489959250484187065660610547925311556872467579588769787406157236467111305691955858961109775920026214168222771800117223828048044823400927560368576187170790318560640092867811282202275557230611259159795076228423347850161108685262222165635456218678461427693932662465820427203502823644120104713609074369443647752320679696593171842670065214208230900755512559516452808098332756640490951945878765707409152610973116065813331671901895516564869832679600196519551488334858672557974077962486172442544248110556345570632383655745787282118387906264961255426774437997124 194704905135186930380231515920383395304553448179023922719717228948300747980494488086067498257857918179228178609622338904927693210099404255348042675200968262747481145254542107781425130788763276581269832124220830202269145657029208875108310217773354815995392879796824900855708204042160141389581000099942091273136561456020471798692765757750580946685086469544363516426578602288519489031119289632113372458929415712938737672330029305025762659493742651020974280790097800789579688167921308893146001765351250754121366848405705191515217746530872319281400363058450323038733216089155267530097584697735041123068989414252322541255701547247494637313499668273477503409123700025508506063463040789538798387902667130892385999695159085500633463680586080721122639555660823516479277707803241998419409870143764978728261636638202442334961126087831445203977063677282016272555863253904212140262316398086764061819993204292263781193069908888113839487960566336377228990320322627944646933810344074496527017182890992238019714303322680944024867966510985247084370948743639421589176480460103677507019182444526865813432229441046677974577861501977263722783187799751492533553596140359705626831050131529954602234997420648100832363860176282442883911089880966230576224641516539532112494048187968695554103798012001176711891458056400273757371030473807777697825709447275144640157573367142999839961159338253766031009183051828822705831700839112541208240628576676615456208598250209179071505557538791697691815820939146070286658702313828542812957623742275780195978921535742827881163041172781587705172342147318970579238761007574600038281110427712779705075075697042852143688899859239647554160073933872541316187666946383455560532437091468131378617818813358978302225061227253645760231828811527272660344837591988129316270552209402655543576504554190724000312428376696150545268640168617073553609247525087308873178003796095645729718230677669459764211506257118950833166104054835823718419477936306629289669417155816769242785006247878560374657086314253285231909742666669336923315982876480077134165675838915022458451196495760978103640886673767722002524590834904939768290611063338020079279694368804261430101358630217356148500699089797284115972366011438095418086758081222595219898557285825569732642901939722592478193174041556228926981273005086957608645107949905298539572383942649643416533131236594197383552336925624069514841196722687652436765949177157497285235049217351568113881596933631413658041716102228620598741554158552203005147833957168292472837130942025543370623284713549703751886455710909390948020243277366267069840195888919189906861235251183453226458262786112307328993069753246053112435489135249490919730018909489021840545152243329752192227515113401643539456664205222639041848423862877327395272762854692309124895344137062151231713704659722505099649021975108320806967363184764820944246184236763362185083112736495512874021170823898494983459510607806296742232820024506759256264795918433432532046760108649877023392831881999965267949435494219840080935052647432622049688734467750247 315039154285056393369643838854083501538743668858384581239640408052973689229779398873265415612491350312961470808150106884876335628430114895814733242055069727420059357313128865347260456307777376430456127522256430924093072002602297777291291779010324520377527840349469960861771418009924586392689573286099827698038819082967993486732034587580927583160744065824243735469316228743384955958396589688911925557205914694294351606456116169874808473528695673652705868025801563463436813991738177091838871196428777083437081805502285211506361009275763496861744455909065338539033157396697874229881771847235127522388312614082339513252200153813947123814208892704297476178443605709089472196865300848131908939838399309373275806142493735203153198238486780101467241511828391702316385347812249632782719993158590368837139977070912320044105596458890057079477295843624885913067137572002327014954797277705894350731873395339654412070766692075195456090871578758558023079670602057567380656922349417420784555978820164069494659836759259417127407771840299905407946382562267345533726447095735465469031217286273971210129918226467806114066154251575314926851249102757089105668618475544576237474908676587141598571826365698816334125346016622463842221809732826554269925680389598417314047321986396494313987101460329759803777454305102300174151053636893168291181851832479472221747956047516435171649257486431332417777148811471265645497245830979770489536256199550774951148163730017064052923340866184101438354152018626376939179770831503903466280083181046306464867637491738125716813766254386836196738355764735610293738194738122114483428595874936521968827091314691507016885921463039559402208056862897673027585094052738289656422225538594204720233272811250738031786825294899634452706227084128686892747216372955677454989322655707698994253683156145456011147405142038433877275906371680041796283621682655454310579688426645565258981830358690770955288347401998730985313277938396110251266949546526946329408113773271597078812485214824151276283279615284311867457957403709236032664334525132705414659934624270899163867542802968583641587878377609700531252289541995427338975427493205695177031689284950582375418645868989130135512634146180666404947973190096331221204754778632162648009759109724931135896958224805893820348990401879232903498420022518993506505337884389184096973873341686613632730307378651355053917438424163647802380831035495821214165301744471783566662413946583277562573689178486619239114935932249714950367238775312473467184323916418776659902791552573468682180157181129292521673861868145858059325935233225228179616115915133358129633035368407281274503086187039867697569256924036371673075582003060773122005576140100281000340228471753100042388623798663865705092120423901100469542356525343147822476265678336429229608953211431594879466025339419098271491692040322529037868118697324337397054282569520002676035058615261220283173781797014560796791182509701813307102652704106955775816284253292105090020838071136049465937079992556310838581819149965627363053440553697583305115508905747371 509744059420243323749875354774466896843297117037408503959357637001274437210273886959332913870349268492189649417772445789804028838529519151162775917256037990167540502567670973128685587096540653011725959646477261126362217659631506652399601996783679336372920720146294861717479622052084727782270573386041918971175380538988465285424800345331508529845830535368607251895894831031904444989515879321025298016135330407233089278786145474900571133022438324673680148815899364253016502159659485984984872961780027837558448653907990403021578755806635816143144818967515661577766373485853141759979356544970168645457302028334662054507901701061441761127708560977774979587567305734597978260328341637670707327741066440265661805837652820703786661919072860822589881067489215218795663055615491631202129863302355347565401613709114762379066722546721502283454359520906902185623000825906539155217113675792658412551866599631918193263836600963309295578832145094935252069990924685512027590732693491917311573161711156307514374140081940361152275738351285152492317331305906767122902927555839142976050399730800837023562147667514484088644015753552578649634436902508581639222214615904281864305958808117096200806823786346917166489206192904906726132899613792784846150321906137949426541370174365189868090899472330936515668912361502573931522084110700945989007561279754616861905529414659435011610416824685098448786331863300088351328946670092311697776884776227390407356761980226243124428898404975799130169972957772447225838473145332446279237706923322086660846559027480953597976807427168423901910697912054580872976955745696714521709706302649301673902167011734359160574821322279206956368130796770214343772760999121745216954662630062336098851091624609716334011886522153280212938055895655959553092053964943806771259874865110354537830187710336180011459833518734584422544546540297115349892869207742763183757692222741210988700061036360230719499853659117681818479381993231933969686427482833575619077530929088366321597491462702711650940365929537597099367700070378572955980317401612782548825610463185921622318739298729561745228765051377422533776880376900367107266038556543715256311383653754843805520004499206486284013333235977950520920339201534426639291512859854757867908316395550500868539860164528486298542164443435461830479693027605951115150445834294482636546257284336257049263438615245552437469775349787717317222027758183473650931250921629280851897463163934845676455286112118032897156652034478335549108792933864676472332157873587069132739922494599012052803441894678996273560317579055249007346178510591495249456311804052548036494270619590734500961348973152175026562326677282424785511071138310264041735595049589302840885380715082852234616138912065509244548784629123739511390780388220475217749028533028738354504297348493746111179729999141603371140714015430849844835481882089158341300466806283364861118171351756733157194952620913055780250693117508110049335472728613715032081080171725537622067598179785926489329911874556276106531254644185467443988493201130205354804243373497618 824783213705299717119519193628550398382040785895793085198998045054248126440053285832598329482840618805151120225922552674680364466959634046977509159311107717587599859880799838475946043404318029442182087168733692050455289662233804429690893775794003856750448560495764822579251040062009314174960146672141746669214199621956458772156834932912436113006574601192850987365211059775289400947912469009937223573341245101527440885242261644775379606551133998326386016841700927716453316151397663076823744158208804920995530459410275614527939765082399313004889274876581000116799530882551015989861128392205296167845614642417001567760101854875388884941917453682072455766010911443687450457193642485802616267579465749638937611980146555906939860157559640924057122579317606921112048403427741263984849856460945716402541590780027082423172319005611559362931655364531788098690138397908866170171910953498552763283739994971572605334603293038504751669703723853493275149661526743079408247655042909338096129140531320377009033976841199778279683510191585057900263713868174112656629374651574608445081617017074808233692065893982290202710170005127893576485686005265670744890833091448858101780867484704237799378650152045733500614552209527370568354709346619339116076002295736366740588692160761684182078000932660696319446366666604874105673137747594114280189413112234089083653485462175870183259674311116430866563480674771353996826192501072082187313140975778165358504925710243307177352239271159900568524124976398824165018243976836349745517790104368393125714196519219079314790573681555260098649053676790191166715150483818829005138302177585823642729258326425866177460742785318766358576187659667887371357855051860034873376888168656540819084364435860454365798711817052914665644282979784646445839270337899484226249197520818053532083870866481636022607238660773018299820452911977157146176490890398217494337380649386776247681891395051001674788201061116412803792659931628044220953377029360521948485644702359963400409976677526862927223645544821908966825657474087808988644651926745487963485545087456820786186282101698145386816643428987123065029169918895794446241466049749410433343072938705426180938650368195616419525967382158616925868312391630757860496267638486920515918075505275432004436818389334380118891154845314694733978113050124944621655783718683666733520130626022870681993745993896907491387213773951365119602858793679294865096552666101064418559877110518123239028975290604652136271587966728050499476031709177149939516481790005845792642714047172480734983599075808288795234179447201107066672113743816723429072427719185906166127305987998015775464435160192042724131583601318796458586653141371037163741171189689583841225609186835952277004762710729374949640905053024839980933136913563623040225294211365167584113250559925340990645755338560701642632406055753378882703600579413495738354749375803367537153229967017953440368734417927616577041875627209923356438125432720670807897364425017642712088436250921975955266991867112586945113073794151094807041933754827788659919752279244989 1334527273125543040869394548403017295225337902933201589158355682055522563650327172791931243353189887297340769643694998464484393305489153198140285076567145707755140362448470811604631630500858682453908046815210953176817507321865311082090495772577683193123369280642059684296730662114094041957230720058183665640389580160944924057581635278243944642852405136561458239261105890807193845937428348330962521589476575508760530164028407119675950739573572323000066165657600291969469818311057149061808617119988832758553979113318266017549518520889035129148034093844096661694565904368404157749840484937175464813302916670751663622268003555936830646069626014659847435353578217178285428717521984123473323595320532189904599417817799376610726522076632501746647003646806822139907711459043232895186979719763301063967943204489141844802239041552333061646386014885438690284313139223815405325389024629291211175835606594603490798598439894001814047248535868948428527219652451428591435838387736401255407702302242476684523408116923140139431959248542870210392581045174080879779532302207413751421132016747875645257254213561496774291354185758680472226120122907774252384113047707353139966086826292821334000185473938392650667103758402432277294487608960412123962226324201874316167130062335126874050168900404991632835115279028107448037195221858295060269196974391988705945559014876835305194870091135801529315349812538071442348155139171164393885090025752005555765861687690469550301781137676135699698694097934171271390856717122168796024755497027690479786560755546700032912767381108723684000559751588844772039692106229515543526848008480235125316631425338160225338035564107597973314944318456438101715130616050981780090331550798718876917935456060470170699810598339206194878582338875440605998931324302843290997509072385928408069914058576817816034067072179507602722364999452274272496069360098140980678095072872127987236381952431411232394288054720234094622272041924859978190639804512194097567563175631448329722007468140229574578164011474359506066193357544466381944624969328358270512311155550642742408505021400427707132045408480364545598806050295796161553507504606293125689654456592460269986458654867402102703539300618136567446788651593165184499787780498341678383826391900825932872976678553862866417433319288750156564457806077730895736806229552978149370066387910359127731257184609142459928856989123739082436824886551862768516027803587730345270457340274452968915484261402722685033428240001206386048584824643041826411848639663592914925382636541771492787787040970487285068794497026256356074018292254408218678528739523238454202621576607588750276425784133344217750693910278601221244097724279681301205476766239278886682110989901918804511620901622794884194189689682148579492323917301784098257974322744393905938617547908419087101825485337702305013773120071184228727539082461502654079655216182086732398271401318774686597563687038840672357292568744718033405773598161334385839978444596743180334156034430707902444596903741668863051644328438336562251030426955957994014723995652742607 2159310486830842757988913742031567693607378688828994674357353727109770690090380458624529572836030506102491889869617551139164757772448787245117794235878253425342740222329270650080577673905176711896090133983944645227272796984099115511781389548371687049873817841137824506875981702176103356132190866730325412309603779782901382829738470211156380755858979737754309226626316950582483246885340817340899745162817820610287971049270668764451330346124706321326452182499301219685923134462454812138632361278197637679549509572728541632077458285971434442152923368720677661811365435250955173739701613329380760981148531313168665190028105410812219531011543468341919891119589128621972879174715626609275939862899997939543537029797945932517666382234192142670704126226124429061019759862470974159171829576224246780370484795269168927225411360557944621009317670249970478383003277621724271495560935582789763939119346589575063403933043187040318798918239592801921802369313978171670844086042779310593503831442773797061532442093764339917711642758734455268292844759042254992436161676858988359866213633764950453490946279455479064494064355763808365802605808913039923129003880798801998067867693777525571799564124090438384167718310611959647862842318307031463078302326497610682907718754495888558232246901337652329154561645694712322142868359605889174549386387504222795029212500339011175378129765446917960181913293212842796344981331672236476072403166727783721124366613400712857479133376947295600267218222910570095555874961099005145770273287132058872912274952065919112227557954790278944099208805265634963206407256713334372531986310657820948959360683664586091515496306892916739673520506116105989086488471102841814963708438967375417737019820496330625065609310156259109544226621855225252444770594640742775223758269906746461601997929443299452056674310840280621022185452364251429642245850988539198172432453521514763484063843826462234069076255781350507426064701856488022411593181541554619516048820333808293122417444817756437505387657019181415033019015018554190933269621255103758475796700638099563194691303502125852518862051909351668663835220214691955999748970656042536122997529531165696167397305235597719123065268000295184372656963984795942360284048136828598899744467406101364877413496943197246536324474134064851298435919127855840358462013271661816103586518536381998413250930603039367420244202897690447556427745345542063381124356253831409689017217384971092154513236693327337169699827967934436548060856352218976351365121453598760718025350588943973522770640046295573864028676473457463140690405998224942107601167242424360368748882595586766051890219293536260474825493879920017702684377421052338369217937428968470523336599088754756788625664333524259143830594735173419473257054215347721298199616955759073522730798468344428092471240676263006656405526126937607610242683040916149818009965557890099935424631285792640037932421456768288934334444371927956762211723594055056647875809021760823046244470681629878399863895608781449996757402232487657058072360710785782674643747931987596 3493837759956385798858308290434584988832716591762196263515709409165293253740707631416460816189220393399832659513312549603649151077937940443258079312445399133097880584777741461685209304406035394349998180799155598404090304305964426593871885320949370242997187121779884191172712364290197398089421586788509077949993359943846306887320105489400325398711384874315767465887422841389677092822769165671862266752294396119048501213299075884127281085698278644326518348156901511655392952773511961200440978398186470438103488686046807649626976806860469571300957462564774323505931339619359331489542098266556225794451447983920328812296108966749050177081169483001767326473167345800258307892237610732749263458220530129448136447615745309128392904310824644417351129872931251200927471321514207054358809295987547844338427999758310772027650402110277682655703685135409168667316416845539676820949960212080975114954953184178554202531483081042132846166775461750350329588966429600262279924430515711848911533745016273746055850210687480057143602007277325478685425804216335872215693979066402111287345650512826098748200493016975838785418541522488838028725931820814175513116928506155138033954520070346905799749598028831034834822069014391925157329927267443587040528650699484999074848816831015432282415801742643961989676924722819770180063581464184234818583361896211500974771515215846480572999856582719489497263105750914238693136470843400869957493192479789276890228301091182407780914514623431299965912320844741366946731678221173941795028784159749352698835707612619145140325335899002628099768556854479735246099362942849916058834319138056074275992109002746316853531871000514712988464824572544090801619087153823595054039989766094294654955276556800795765419908495465304422808960730665858443701918943586066221267342292674869671911988020117268090741383019788223744550451816525702138315211086680178850527526393642750720445796257873466463364310501584602048336743781348000602232986053748717083611995965256622844424912957986012083551668493540921099212372563020572877894590583462028988107856188742305603196324902553559650907460389716214262641270510488117553256475262335661812651986123625966153855960102999821826604568618431751819445615577961126860071828635170277283570859306927297750390175497060112953757793422815007862893725205586736095268242824639965473652906446741126144508115212181827349101192021429529993252631897404831897152159841561754959474557659424061069997498096050022203128067969140822596645680995260802763213761117191675643407987130715466310557681016782858932823173499713819214708698252633160786129906765662814571370459203175516328316003426880478225519404158521238946782101700733639574694703668247357205447588990673561300246565956319143338020284417321998965580971517131819556173939700152979461348346376763515194296726013965311670178646198121836337781765502418803897665181739976832333696032604567326635496108495608961291627013116645990167985321755389442487854253618504003380400505112337780844460799350450313048401730670824219309102787666743776689367743584730203 5653148246787228556847222032466152682440095280591190937873063136275063943831088090040990389025250899502324549382930100742813908850386727688375873548323652558440620807107012111765786978311212106246088314783100243631363101290063542105653274869321057292871004962917708698048694066466300754221612453518834490259597139726747689717058575700556706154570364612070076692513739791972160339708109983012762011915112216729336472262569744648578611431822984965652970530656202731341316087235966773339073339676384108117652998258775349281704435092831904013453880831285451985317296774870314505229243711595936986775599979297088994002324214377561269708092712951343687217592756474422231187066953237342025203321120528068991673477413691241646059286545016787088055256099055680261947231183985181213530638872211794624708912795027479699253061762668222303665021355385379647050319694467263948316510895794870739054074299773753617606464526268082451645085015054552272131958280407771933124010473295022442415365187790070807588292304451819974855244766011780746978270563258590864651855655925390471153559284277776552239146772472454903279482897286297203831331740733854098642120809304957136101822213847872477599313722119269419002540379626351573020172245574475050118830977197095681982567571326903990514662703080296291144238570417532092322931941070073409367969749400434296003984015554857655951129622029637449679176398963757035038117802515637346029896359207572998014594914491895265260047891570726900233130543755311462502606639320179087565302071291808225611110659678538257367883290689281572198977362120114698452506619656184288590820629795877023235352792667332408369028177893431452661985330688650079888107558256665410017748428733469712391975097053131420831029218651724413967035582585891110888472513584328841445025612199421331273909917463416720147415693860068844766735904180777131780561062075219377022959979915157514204509640084335700532440566282935109474401445637836023013826167595303336599660816299064915966842357775742449588939325512722336132231387581574763811164211838565787463904556826841868797887628404679412169769512299067882926476490725180073553005445918378197935649515654791662321253265338597540949669836618726936192102579562757069220355876771998876183315326713028662627803672440257359490082267556879859161329644333442576453730256096301781577239424983123124557759045815221194769345394919119977549680377242946895278276516095393164648491775044395153224510734789377359372827895937075259144706537347479779114578882570790436361433337719659439833328321063078432796851849973171282355399104250858102893731074008087174940119341798762282380206222720416738700344898038441256649466479121785977943912641097215827728784188079428318088872230289843402481850879152495418438838025732479540854373556655912052984079144845107943286767966690228318326584172325059443948024448543334953715675147297866932269120663890359966673428529952377250225961457488573946930197045349444499135730062640264826426644975793967659244324694959231763045159132903311876367175148377529559364011491516717799 9146986006743614355705530322900737671272811872353387201388772545440357197571795721457451205214471292902157208896242650346463059928324668131633952860769051691538501391884753573450996282717247500596086495582255842035453405596027968699525160190270427535868192084697592889221406430756498152311034040307343568209590499670593996604378681189957031553281749486385844158401162633361837432530879148684624278667406612848384973475868820532705892517521263609979488878813104242996709040009478734539514318074570578555756486944822156931331411899692373584754838293850226308823228114489673836718785809862493212570051427281009322814620323344310319885173882434345454544065923820222489494959190848074774466779341058198439809925029436550774452190855841431505406385971986931462874702505499388267889448168199342469047340794785790471280712164778499986320725040520788815717636111312803625137460856006951714169029252957932171808996009349124584491251790516302622461547246837372195403934903810734291326898932806344553644142515139300031998846773289106225663696367474926736867549634991792582440904934790602650987347265489430742064901438808786041860057672554668274155237737811112274135776733918219383399063320148100453837362448640743498177502172841918637159359627896580681057416388157919422797078504822940253133915495140351862502995522534257644186553111296645796978755530770704136524129478612356939176439504714671273731254273359038215987389551687362274904823215583077673040962406194158200199042864600052829449338317541353029360330855451557578309946367291157402508208626588284200298745918974594433698605982599034204649654948933933097511344901670078725222560048893946165650450155261194170689726645410489005071788418499564007046930373609932216596449127147189718389844543316556969332174432527914907666292954492096200945821905483533988238157076879857068511286355997302833918876273161899555873487506308800264924955436342209166995804876784519711522738189419184023616059153649052053683272812264321538811267270733728461672490994006263257231443760144595336689058802422027816452012413015584174401083953307232971820676972688784097189117761235668191106261921180713859748301501778417628475109225441597362776274405237158688011548195140718196080427705407169153466886186019955960378193847937317472443840060979694867024223369539029312548998498920941747050892331429864250702267161027403022118446586940549507542933009140351727175428675936954919607966332703819214294508232885427381575955963906216081741352218342740581877792643687982112004841324850374906143886002079861291729675023472885101570107802503491263679860980773749989511489801001937798708522226147297216925864302196962495596248580822519617518607344765463184934231777070101879389118796246162545819871163569817417404418997249611360410547496356065032445427491221871458481064692704193629996762818523181280285806214045753757613340329037843764602816696494927293308924638447986211517588470605219937098182367104833941623584316258768829807045480906305440088785494309682076093560863574136095676277936044273336053379235101448002 14800134253530842912552752355366890353712907152944578139261835681715421141402883811498441594239722192404481758279172751089276968778711395820009826409092704249979122198991765685216783261028459606842174810365356085666816506886091510805178435059591484828739197047615301587270100497222798906532646493826178058469187639397341686321437256890513737707852114098455920850914902425333997772238989131697386290582518829577721445738438565181284503949344248575632459409469306974338025127245445507878587657750954686673409485203597506213035846992524277598208719125135678294140524889359988341948029521458430199345651406578098316816944537721871589593266595385689141761658680294644720682026144085416799670100461586267431483402443127792420511477400858218593461642071042611724821933689484569481420087040411137093756253589813270170533773927446722289985746395906168462767955805780067573453971751801822453223103552731685789415460535617207036136336805570854894593505527245144128527945377105756733742264120596415361232434819591120006854091539300886972641966930733517601519405290917183053594464219068379203226494037961885645344384336095083245691389413288522372797358547116069410237598947766091860998377042267369872839902828267095071197674418416393687278190605093676363039983959484823413311741207903236544278154065557883954825927463604331053554522860697080092982739546325561792475259100641994388855615903678428308769372075874675562017285910894935272919418130074972938301010297764885100432173408355364291951944956861532116925632926743365803921057026969695659876091917277565772497723281094709132151112602255218493240475578729810120746697694337411133591588226787377618312435485949844250577834203667154415089536847233033719438905470663063637427478345798914132356880125902448080220646946112243749111318566691517532219731822946950708385572770739925913278022260178079965699437335237118932896447486223957779129465076426544867528245443067454820997139635057020046629885321244355390282933628563386454778109628509470911261430319518985593363675147726170100500223014260593603915916969842426043198971581711912383990446484987851980115594251960848264659267367099092057683951017433209290796362490780194903725944241855885624203650774703475265300783582179168029650201512732984623005997520377574831933922328536574726185553013872471889002728755017243528628131756412987375260026206842624216887791981859669485092613386383298622453705192032348084256458107748214367519018967674804740948783859843291340886058755690220360992371526258772548366274662570034345977214323142939724526526873446056383925506906754349366573592054781837164451609142800700081088728448867713955626209200235403752245715059944305595462519985862679012663015965149530197477991026536005948301722042722312835843257022982090901264921053011977085429506636066979401767832659394421948323346990848240724233830662589088711329015476335710696871937360385287259982353168400363461743549928093793884028379412454278440759314378899033656233690456700273099333110189268913839138719996477447972043453084421802895417390726618165801 23947120260274457268258282678267628024985719025297965340650608227155778338974679532955892799454193485306638967175415401435740028707036063951643779269861755941517623590876519258667779543745707107438261305947611927702269912482119479504703595249861912364607389132312894476491506927979297058843680534133521626678778139067935682925815938080470769261133863584841765009316065058695835204769868280382010569249925442426106419214307385713990396466865512185611948288282411217334734167254924242418101975825525265229165972148419663144367258892216651182963557418985904602963753003849662178666815331320923411915702833859107639631564861066181909478440477820034596305724604114867210176985334933491574136879802644465871293327472564343194963668256699650098868028043029543187696636194983957749309535208610479562803594384599060641814486092225222276306471436426957278485591917092871198591432607808774167392132805689617961224456544966331620627588596087157517055052774082516323931880280916491025069163053402759914876577334730420038852938312589993198305663298208444338386954925908975636035369153858981854213841303451316387409285774903869287551447085843190646952596284927181684373375681684311244397440362415470326677265276907838569375176591258312324437550232990257044097400347642742836108819712726176797412069560698235817328922986138588697741075971993725889961495077096265928999388579254351328032055408393099582500626349233713778004675462582297547824241345658050611341972703959043300631216272955417121401283274402885146285963782194923382231003394260853062384300543865849972796469200069303565849718584854252697890130527663743218258042596007489858814148275681323783962885641211038421267560849077643420161325265732597726485835844272995854023927472946103850746724669219005049552821378640158656777611521183613733165553728430484696623729847619782981789308616175382799618313608399018488769934992532758044054420512768754034524050319851974532519877824476204070245944474893407443966206440827707993589376899243199372933921313525248850595118907870765437189281816682621420367929382858010217600055535019145355811123457676636077304712013196516455765529288279805917432252519211626919271471716221792266502218647093044312215198969844193461381211287586337183117087698752940583384191368314892304377762389516269593209776383411501201551727253938185275679024087842851625962293367870027239006238568800218992635546395523650349629133867969303003864424440452033581813527200560232122524739823749507422627410974032960942870164169946754660371115987420409252121100325222801016256201896918941485495614709257840630253453035555587153963098943802637879797250675015011172552073502432366247841963640766825212981127330628142197597247742219632076867109822782168494121593206292130253247676020231702261675468549368042117874934127288850860248897352098615578320109809371422004519636876634842468942355805373554461474754056880214553291277806848349673261138398699013821126561779559112382382898695157802486040735937606578539421895683578595915232280860051584067719731020466076231470769961719613803 38747254513805300180811035033634518378698626178242543479912443908871199480377563344454334393693915677711120725454588152525016997485747459771653605678954460191496745789868284943884562804774166714280436116312968013369086419368210990309882030309453397193346586179928196063761607425202095965376327027959699685147965778465277369247253194970984506968985977683297685860230967484029832977008857412079396859832444272003827864952745950895274900416209760761244407697751718191672759294500369750296689633576479951902575457352017169357403105884740928781172276544121582897104277893209650520614844852779353611261354240437205956448509398788053499071707073205723738067383284409511930859011479018908373806980264230733302776729915692135615475145657557868692329670114072154912518569884468527230729622249021616656559847974412330812348260019671944566292217832333125741253547722872938772045404359610596620615236358421303750639917080583538656763925401658012411648558301327660452459825658022247758811427173999175276109012154321540045707029851890880170947630228941961939906360216826158689629833372927361057440335341413202032753670110998952533242836499131713019749954832043251094610974629450403105395817404682840199517168105174933640572851009674706011715740838083933407137384307127566249420560920629413341690223626256119772154850449742919751295598832690805982944234623421827721474647679896345716887671312071527891269998425108389340021961373477232820743659475733023549642983001723928401063389681310781413353228231264417263211596708938289186152060421230548722260392461143415745294192481164012698000831187109471191130606106393553339004740290344900992405736502468701402275321127160882671845395052744797835250862112965631445924741314936059491451405818745017983103604795121453129773468324752402405888930087875131265385285551377435405009302618359708895067330876353462765317750943636137421666382478756715823183885589195298902052295762919429353517017459533224116875829796137762834249140069391094448367486527752670284195351633044234443958794055596935537689504830943215024283846352700436260799027116731057739801569942664488057420306265157364720424796655378897975116203536644836210067834207001987170228162888948929936418849744547668726681994869765505212767289211485925206390188888692467136311684718052844319395329397283973090554456008955428804307155844255839001222319574712651455894030550659888477728159781906948972082839060001651088120882548200247949332546168235036863473523683592798763513469729723181303862535696205527208737390649990443598098314648365740740782728770364997869421121616012189996827045090337424318414708086603337960885979123882725128178282702667770000087678700711130808443647316490821210260263707369162274345100849318174442423315249014443089090933043213793162940389602380019203304440763355830262016730011493037526643456800219662728753467539223931180271371281709265158346691417265501813273630975248713135004688326792807705154941192013390823142213074056836142274426394306851638755005872847509754371000856529032039763184104887879126888160688337779604 62694374774079757449069317711902146403684345203540508820563052136026977819352242877410227193148109163017759692630003553960757026192783523723297384948816216133014369380744804202552342348519873821718697422260579941071356331850330469814585625559315309557953975312241090540253114353181393024220007562093221311826743917533213052173069133051455276230119841268139450869547032542725668181778725692461407429082369714429934284167053336609265296883075272946856355986034129409007493461755293992714791609402005217131741429500436832501770364776957579964135833963107487500068030897059312699281660184100277023177057074296313596080074259854235408550147551025758334373107888524379141035996813952399947943860066875199174070057388256478810438813914257518791197698157101698100215206079452484980039157457632096219363442359011391454162746111897166842598689268760083019739139639965809970636836967419370788007369164110921711864373625549870277391513997745169928703611075410176776391705938938738783880590227401935190985589489051960084559968164480873369253293527150406278293315142735134325665202526786342911654176644864518420162955885902821820794283584974903666702551116970432778984350311134714349793257767098310526194433382082772209948027600933018336153291071074190451234784654770309085529380633355590139102293186954355589483773435881508449036674804684531872905729700518093650474036259150697044919726720464627473770624774342103118026636836059530368567900821391074160984955705682971701694605954266198534754511505667302409497560491133212568383063815491401784644693005009265718090661681233316263850549771963723889020736634057296557262782886352390851219884778150025186238206768371921093112955901822441255412187378698229172410577159209055345475333291691121833850329464340458179326289703392561062666541609058744998550839279807920101633032465979491876856639492528845564936064552035155910436317471289473867238306101964052936576346082771403886036895284009428187121774271031170278215346510218802441956863426995869657129272946569483294553912963467700974878786647625836444651775735558446478399082651750203095612693400341124134725018278353881176190325943658703892548456055856463129339305923223779436730381536041974248634048714391862188063206157351842395884376910238865789774380257007359440689447107569113912605105780695474292106183262893614079986179932098690627184612942582678694900269119460107470363706177430599321711972927970954091985306988652281531146073368795268985998263507342306186140880703756142246732699866152281869108506637410852850219414973588541757038930667283939354916736325270030627080498125893011472377807030405975840683229798897736300730356205100136247929642341477956021424774647118963407857511449588794351212210672100342936544908455306573342338609063445495424615858151748061321179374890644681122265627363591653104963566609591084733273104415858773649213727087082819619821445474145716366564908782097062808265826725491821526281502971572503205525111769214638628315162331913430178176901556426105669603281716580616107482915125353955358358930650057393407 101441629287885057629880352745536664782382971381783052300475496044898177299729806221864561586842024840728880418084591706485774023678530983494950990627770676324511115170613089146436905153294040535999133538573547954440442751218541460124467655868768706751300561492169286604014721778383488989596334590052920996974709695998490421420322328022439783199105818951437136729778000026755501158787583104540804288914813986433762149119799287504540197299285033708100763683785847600680252756255663743011481242978485169034316886852454001859173470661698508745308110507229070397172308790268963219896505036879630634438411314733519552528583658642288907621854624231482072440491172933891071895008292971308321750840331105932476846787303948614425913959571815387483527368271173853012733775963921012210768779706653712875923290333423722266511006131569111408890907101093208760992687362838748742682241327029967408622605522532225462504290706133408934155439399403182340352169376737837228851531596960986542692017401401110467094601643373500130266998016371753540200923756092368218199675359561293015295035899713703969094511986277720452916625996901774354037120084106616686452505949013683873595324940585117455189075171781150725711601487257705850520878610607724347869031909158123858372168961897875334949941553985003480792516813210475361638623885624428200332273637375337855849964323939921371948683939047042761807398032536155365040623199450492458048598209536763189311560297124097710627938707406900102757995635576979948107739736931719672709157200071501754535124236721950506905085466152681463384854162397328961851380959073195080151342740450849896267523176697291843625621280618726588513527895532803764958350954567239090663049491663860618335318474145114836926739110436139816953934259461911309099758028144963468555471696933876263936124831185355506642335084339200771923970368882308330253815495671293332102699950046189690422191691159351838628641845690833239553912743542652303997604067168933112464486579609896890324349954748539941324624579613717738512707019064636512568291478569051468935622088258882739198109768481260835414263343005612192145324543511245896615122599037601867664659592501299339407140130225766606958544424990904185052898458939530914745201027117347608651666121724790996164569145699826577001131825621958232000435177979447382660639271849042884293335776354529628406932517295330150794299670119995948091865959337548293794811987972605180106189536852529480478619537030305849471787190935104949654350433479323550595235562357809077845897287401296448317729621954282497821659437648937224337857941282220623907543216230435790792515117009313801569208922780461428908638907767906248017321042189086829868421963609784618117775156957956625557311521418517378968223704321016431429542106659288587556247754128080524483815654000511384282357375084690631607023409810747462026571955082704829485098368792084778168136891411218179838539757345775943270515052284629231436444163585894028667324843271474770589588726220281816931907429273615423974282573109648147246099230241834485247091338395173011 164136004061964815078949670457438811186067316585323561121038548180925155119082049099274788779990134003746640110714595260446531049871314507218248375576586892457525484551357893348989247501813914357717830960834127895511799083068871929939053281428084016309254536804410377144267836131564882013816342152146142308801453613531703473593391461073895059429225660219576587599325032569481169340566308797002211717997183700863696433286852624113805494182360306654957119669819977009687746218010957735726272852380490386166058316352890834360943835438656088709443944470336557897240339687328275919178165220979907657615468389029833148608657918496524316172002175257240406813599061458270212931005106923708269694700397981131650916844692205093236352773486072906274725066428275551112948982043373497190807937164285809095286732692435113720673752243466278251489596369853291780731827002804558713319078294449338196629974686643147174368664331683279211546953397148352269055780452148014005243237535899725326572607628803045658080191132425460214826966180852626909454217283242774496492990502296427340960238426500046880748688631142238873079581882804596174831403669081520353155057065984116652579675251719831804982332938879461251906034869340478060468906211540742684022322980232314309606953616668184420479322187340593619894810000164830951122397321505936649368948442059869728755694024458015022422720198197739806727124753000782838811247973792595576075235045596293557879461118515171871612894413089871804452601589843178482862251242599022082206717691204714322918188052213352291549778471161947181475515843630645225701930731036918969172079374508146453530306063049682694845506058768751774751734663904724858071306856389680346075236870362089790745895633354170182402072402127261650804263723802369488426047731537524531222013305992621262486964110993275608275367550318692648780609861411153895189880047706449242539017421335663557660497793123404775204987928462237125590808027552080491119378338200103390679833089828699332281213381744409598453897526183201033066619982532337487447078126194887913587397823817329217597192420231463931026956743346736326870342821865127072805448542696305760213115648357762468746446053449546043688925961032878433686947173331393102808407184469190004536043031963656785938949402707186017690578933191072144605540958674921674766822534742656964279515708453220255591545459878008845694568789580103418455572136768147615506784915943559272091496525504811011624692905825574835470050698277411135795231137235465797327935428510090946954403924812149298537144595542824254860590104932876579254594266552251250988041342123447263170322147415289642252438721678197729638995112868042495946963383667042851293196610728748025975286606546750976769522193518860315513132159627589773768151170104784012172105905876141845663190544645192506547984738676343736570590019401832195299676370941478478698825455874904397989582365556934546403448539442838751536341777776450757717947135158397234192436612486113398904751058133711995108808985699721093577564289690264254729014355595789843606021988452566418 265577633349849872708830023202975475968450287967106613421514044225823332418811855321139350366832158844475520528799186966932305073549845490713199366204357568782036599721970982495426152655107954893716964499407675849952241834287413390063520937296852723060555098296579663748282557909948371003412676742199063305776163309530193895013713789096334842628331479171013724329103032596236670499353891901543016006911997687297458582406651911618345691481645340363057883353605824610367998974266621478737754095358975555200375203205344836220117306100354597454752054977565628294412648477597239139074670257859538292053879703763352701137241577138813223793856799488722479254090234392161284826013399895016591445540729087064127763631996153707662266733057888293758252434699449404125682758007294509401576716870939521971210023025858835987184758375035389660380503470946500541724514365643307456001319621479305605252580209175372636872955037816688145702392796551534609407949828885851234094769132860711869264625030204156125174792775798960345093964197224380449655141039335142714692665861857720356255274326213750849843200617419959325996207879706370528868523753188137039607563014997800526175000192304949260171408110660611977617636356598183910989784822148467031891354889390438167979122578566059755429263741325597100687326813375306312761021207130364849701222079435207584605658348397936394371404137244782568534522785536938203851871173243088034123833255133056747191021415639269582240833120496771907210597225420158430969990979530741754915874891276216077453312288935302798454863937314628644860370006027974187553311690110114049323422114958996349797829239746974538471127339387478363265262559437528623029657810956919436738286362025950409081214107499285019328811512563401467758197983264280797525805759682487999777485002926497526423088942178631114917702634657893420704580230293462225443695543377742574641717371381853248082689484282756613833629774153070365144720771094732795116982405369036503144319669438596222605563336492949539778522105796918771579327001596974000015369604763939382523019912076211956795302188712724766441220086352348519015667365376372969420571141733907627877775240859061808153586183675312650647470386023782618739845632270924017553608211586537613187709153688447782103518548407012594691710758813030376605976136654369057427461806591699848572851484807749883998477977173338996488868459700099366547438096105695909301596903916164452197686062357340492103312442855880684941837889212516085449581570714789347923170990867900024800301212213445746854874217497106752682249542581813803592452207834471874895584558353883053962837264424603443821647644458659158547634020635948743964284425856129681161618574338532644093061763504707602326833714937377694481355863948606205197693276764072599728353660004222370147006198645703890830342113761034368177613429212579657326248326024183308183923824666989176157719256968152726241988296788614694806856830061079989154391298744291262859761455757588169494339784353993812040716414973336517551846862799912401975113585837624328853113326847739429 429713637411814687787779693660414287154517604552430174542552592406748487537893904420414139146822292848222160639513782227378836123421159997931447741780944461239562084273328875844415400156921869251434795460241803745464040917356285320002574218724936739369809635100990040892550394041513253017229018894345205614577616923061897368607105250170229902057557139390590311928428065165717839839920200698545227724909181388161155015693504535732151185664005647018015003023425801620055745192277579214464026947739465941366433519558235670581061141539010686164195999447902186191652988164925515058252835478839445949669348092793185849745899495635337539965858974745962886067689295850431497757018506818724861140241127068195778680476688358800898619506543961200032977501127724955238631740050668006592384654035225331066496755718293949707858510618501667911870099840799792322456341368447866169320397915928643801882554895818519811241619369499967357249346193699886878463730281033865239338006668760437195837232659007201783254983908224420559920930378077007359109358322577917211185656364154147697215512752713797730591889248562198199075789762510966703699927422269657392762620080981917178754675444024781065153741049540073229523671225938661971458691033689209715913677869622752477586076195234244175908585928666190720582136813540137263883418528636301499070170521495077313361352372855951416794124335442522375261647538537721042663119147035683610199068300729350305070482534154441453853727533586643711663198815263336913832242222129763837122592582480930400371500341148655090004642408476575826335885849658619413255242421147033018495501489467142803328135302796657233316633398156230138016997223342253481100964667346599782813523232388040199827109740853455201730883914690663118562461707066650285951853491220012530999498308919118788910053053171906723193070184976586069485190091704616120633575591084191817180734792717516805743187277406161389038617702615307490735528798646813286236360743569139893824152759267295554886776718237359138232419631980119804645946984129311487462447730958827296110417735893541174392494608944188697468176829699084845886010187241500042226019684430213388090890889216824276900032237124858694336396347056661052426792805602317120362015396055727617723752185652104568042467951114198612382289692004102521211517095329290732194284341334356812852367193260970139590023437051347842183437249280202785003010232873843524808381819859723724289182587862151503728005348681455520411888587489927221244812707950255145251106419377990971754705137025595045392018813039931007542839647514690382847046474386723125883625900477330317133159411839893086074086366136856888186629133503991239911247809523172532454815185067280670068348370051458579096355908456238009994488023576195978965844446868856611900459565880364215810196743290896397378326852437378104748203448614411852625924696965661786882749280541893574147301622525087272645436836231453446343198607837530746872338433902688497052198068243701568399090842487705807149525400673057611129411152490176656704127941433414172459135315300305847 695291270761664560496609716863389763122967892519536787964066636632571819956705759741553489513654451692697681168312969194311141196971005488644647107985302030021598683995299858339841552812029824145151759959649479595416282751643698710066095156021789462430364733397569704640832951951461624020641695636544268920353780232592091263620819039266564744685888618561604036257531097761954510339274092600088243731821179075458613598100156447350496877145650987381072886377031626230423744166544200693201781043098441496566808722763580506801178447639365283618948054425467814486065636642522754197327505736698984241723227796556538550883141072774150763759715774234685365321779530242592782583031906713741452585781856155259906444108684512508560886239601849493791229935827174359364314498057962515993961370906164853037706778744152785695043268993537057572250603311746292864180855734091173625321717537407949407135135104993892448114574407316655502951738990251421487871680109919716473432775801621149065101857689211357908429776684023380905014894575301387808764499361913059925878322226011868053470787078927548580435089865982157525071997642217337232568451175457794432370183095979717704929675636329730325325149160200685207141307582536845882448475855837676747805032759013190645565198773800303931337849669991787821269463626915443576644439735766666348771392600930284897967010721253887811165528472687304943796170324074659246514990320278771644322901555862407052261503949793711036094560654083415618873796040683495344802233201660505592038467473757146477824812630083957888459506345791204471196255855686593600808554111257147067818923604426139153125964542543631771787760737543708501282259782779782104130622478303519219551809594413990608908323848352740221059695427254064586320659690330931083477659250902500530776983311845616315333141995350537838110772819634479490189770321998078346077271134461934391822452164099370053825876761688918002872247476768377855880249569741546081353343148938176396968472428705891777492340054730308678010941737777038576225273985726285487477817335722766678633437647969753131187796797656913463909396916051433364901677552617873011646590826164121015968666130075886085053618420800171344983866733080443671166638437873241137915623607642265230911461339340552350145986499521211207074000450817132897817493231983659789621746147926056661425218678068720023588501414224686838672305708980302151550448328979539434109978723775888176486868650219491995831317791537336205353726476702443306694394278665044493174277410245890996555006349239040792246893030537037760225089190096504186439498682221195000779210458831213371095996676264496529895734010595516046734263154139939983875532235379302213616433759405813314161410133556166181423189623393615704475843887524802184163537723632929211628813225884586585957202941936600288208668966198412472925816877826991509952173022989845095066673105208882750305020879493239998887425133020068141150055437898610736026729732646979759911959524001289737893430626841699619190241815646394128681258015290089058679241527271038501312248642148045276 1125004908173479248284389410523804050277485497071966962506619229039320307494599664161967628660476744540919841807826751421689977320392165486576094849766246491261160768268628734184256952968951693396586555419891283340880323668999984030068669374746726201800174368498559745533383345992974877037870714530889474534931397155653988632227924289436794646743445757952194348185959162927672350179194293298633471456730360463619768613793660983082648062809656634399087889400457427850479489358821779907665807990837907437933242242321816177382239589178375969783144053873370000677718624807448269255580341215538430191392575889349724400629040568409488303725574748980648251389468826093024280340050413532466313726022983223455685124585372871309459505746145810693824207436954899314602946238108630522586346024941390184104203534462446735402901779612038725484120703152546085186637197102539039794642115453336593209017690000812412259356193776816622860201085183951308366335410390953581712770782470381586260939090348218559691684760592247801464935824953378395167873857684490977137063978590166015750686299831641346311026979114544355724147787404728303936268378597727451825132803176961634883684351080354511390478890209740758436664978808475507853907166889526886463718710628635943123151274969034548107246435598657978541851600440455580840527858264402967847841563122425362211328363094109839227959652808129827319057817862612380289178109467314455254521969856591757357331986483948152489948288187670059330536994855946832258634475423790269429161060056238076878196312971232612978464148754267780297532141705345213014063796532404180086314425093893281956454099845340289005104394135699938639299257006122035585231587145650119002365332826802030808735433589206195422790579341944727704883121397397581369429512742122513061776481620764735104243195048522444561303843004611065559674960413702694466710846725546126209003186956816886859569064039095079391910865179383685346615778368388359367589703892507316290792625187973187332379116772967667816243361369757158380871220969855596974940265066681593974743855383863294305580291406601102161377573745750518210787687739859373053872610510594334404059557019292710361953650657925030039320263080137104723593431243475558258277639003697992848635213524992656918188454450635409819456290142821235419029010327312950521816030489260413474277585871329690163178524851276034680855742958260504936553458561853382958918360543635611900776051238081643499559323140218791725765615064192370527939206986615299638425383829623881968309711486264635837638911843576968767767928837611194569286545156607918126662836359308543688229156088104389615969820376732372934920892287643931223786780044902474746071248944473093984229758503607624760519545531849853714470331911100998163129382170501785823529272791764950801767399685227496685586995818635790577674020326441403362578097719955506881949422385750776324452322502018327271532861969251521587493254045736141482899068166549668256964157592244991306292521469329405426339767216319451739810669167780265715383369468704452673771383957448351123 1820296178935143808780999127387193813400453389591503750470685865671892127451305423903521118174131196233617522976139720616001118517363170975220741957751548521282759452263928592524098505780981517541738315379540762936296606420643682740134764530768515664230539101896129450174216297944436501058512410167433743455285177388246079895848743328703359391429334376513798384443490260689626860518468385898721715188551539539078382211893817430433144939955307621780160775777489054080903233525365980600867589033936348934500050965085396684183418036817741253402092108298837815163784261449971023452907846952237414433115803685906262951512181641183639067485290523215333616711248356335617062923082320246207766311804839378715591568694057383818020391985747660187615437372782073673967260736166593038580307395847555037141910313206599521097945048605575783056371306464292378050818052836630213419963832990744542616152825105806304707470768184133278363152824174202729854207090500873298186203558272002735326040948037429917600114537276271182369950719528679782976638357046404037062942300816177883804157086910568894891462068980526513249219785046945641168836829773185246257502986272941352588614026716684241715804039369941443643806286391012353736355642745364563211523743387649133768716473742834852038584285268649766363121064067371024417172298000169634196612955723355647109295373815363727039125181280817132262853988186687039535693099787593226898844871412454164409593490433741863526042848841753474949410790896630327603436708625450775021199527529995223356021125601316570866923655100058984768728397561031806614872350643661327154133348698319421109580064387883920776892154873243647140581516788901817689362209623953638221917142421216021417643757437558935643850274769198792291203781087728512452907171993025013592553464932610351419576337043872982399414615824245545049864730735700772812788117860008060600825639120916256913394940800783997394783112656152063202496027938129905448943047041445492687761097616679079109871456827697976494254303107534196957096494955581882462418082402404360653377293031833047436768088204258015625286970661801951575689365292477246065519201336758455420028223149368596447007269078725201384304129813217548394760069681348799396193262611340258079546674864333209268334440950156621026530290593638368316846503559296610311437776637186470135702804549398410186767026265500721519528048667240807088103906890832922393028339267411500077262919888301135495390640931756127931119341540894813834633601265280344131599661239869772964864717835503676629885804874114006527993018027707698755726043838829113127442046818139757059325152764368886145865554387327888981655155441783871207662312280281776959687682703878907298391168637163790941942735155243469418946175798625800347292919894134715035158086017649537387724602627164096973795664784834203050599837204268394872530270742945351977016095490959659074757343381511567270420287102271589728643309483634752218925797899196648016876117116246281044185952096171105045530009031965845868491927183070354774062610995975491175083632599596396399 2945301087108623057065388537910997863677938886663470712977305094711212434945905088065488746834607940774537364783966472037691095837755336461796836807517795012543920220532557326708355458749933210938324870799432046277176930089643666770203433905515241866030713470394689195707599643937411378096383124698323217990216574543900068528076667618140154038172780134465992732629449423617299210697662679197355186645281900002698150825687478413515793002764964256179248665177946481931382722884187760508533397024774256372433293207407212861565657625996117223185236162172207815841502886257419292708488188167775844624508379575255987352141222209593127371210865272195981868100717182428641343263132733778674080037827822602171276693279430255127479897731893470881439644809736972988570206974275223561166653420788945221246113847669046256500846828217614508540492009616838463237455249939169253214605948444081135825170515106618716966826961960949901223353909358154038220542500891826879898974340742384321586980038385648477291799297868518983834886544482058178144512214730895014200006279406343899554843386742210241202489048095070868973367572451673945105105208370912698082635789449902987472298377797038753106282929579682202080471265199487861590262809634891449675242454016285076891867748711869400145830720867307744904972664507826605257700156264572602044454518845781009320623736909473566267084834088946959581911806049299419824871209254907682153366841269045921766925476917690016015991137029423534279947785752577159862071184049241044450360587586233300234217438572549183845387803854326765066260539266377019628936147176065507240447773792212703066034164233224209781996549008943585779880773795023853274593796769603757224282475248018052226379191026765131066640854111143519996086902485126093822336684735147526654329946553375086523819532092395426960718458828856610609539691149403467279498964585554186809828826077733143772964004839879076786693977835535748549111806306518264816532750933952808978553722804652266442250573600665644310497664477291355337967715925437479437358347469085954628121148415696341742348379610859117786664544407552469786477053032336619119391811847352789824087780168661306808960919736650231423624392893354653118353500924824357654470901615038250928181888389325866186522895400792030845986580736459603735875513886609560833253807126446883609980390420728100349945551116776756200383791625501312024657365452686305351946699811047111978038971126382778994949964071974919656884956605087184362572808251895643770025045069493654933174429321768312467524716717690975295760946865318893325012588995437031254104883177448300747554308852473275761835374764060261916576047729427802431449092325184251705758931648352001282620927140771415702462280687093323133416507709726798510422302064636500858687358809414488189492002312391593659382660603469993628273857530709798235108368462900858858965517876710435399209665883529894541953149071523111316136563529370893701824866065746316273840274708491272350478473565500510471869776248285297608302596350850620489445980464679943848855016557044747522 4765597266043766865846387665298191677078392276254974463447990960383104562397210511969009865008739137008154887760106192653692214355118507437017578765269343533826679672796485919232453964530914728480063186178972809213473536510287349510338198436283757530261252572290818645881815941881847879154895534865756961445501751932146148423925410946843513429602114510979791117072939684306926071216131065096076901833833439541776533037581295843948937942720271877959409440955435536012285956409553741109400986058710605306933344172492609545749075662813858476587328270471045631005287147707390316161396035120013259057624183261162250303653403850776766438696155795411315484811965538764258406186215054024881846349632661980886868261973487638945500289717641131069055082182519046662537467710441816599746960816636500258388024160875645777598791876823190291596863316081130841288273302775799466634569781434825678441323340212425021674297730145083179586506733532356768074749591392700178085177899014387056913020986423078394891913835144790166204837264010737961121150571777299051262948580222521783359000473652779136093951117075597382222587357498619586273942038144097944340138775722844340060912404513722994822086968949623645724277551590500215326618452380256012886766197403934210660584222454704252184415006135957511268093728575197629674872454264742236241067474569136656429919110724837293306210015369764091844765794235986459360564309042500909052211712681500086176518967351431879542033985871177009229358576649207487465507892674691819471560115116228523590238564173865754712311458954385749834988936827408826243808497819726834394581122490532124175614228621108130558888703882187232920462290583925670963956006393557395446199617669234073644022948464324066710491128880342312287290683572854606275243856728172540246883411485985437943395869136268409360133074653102155659404421885104240092287082445562247410654465198649400686358945640663074181477090491687811751607834244648170265475797975398301666314820421331345552122030428363620804751967584825552295064210881019361899776429871490315281498441447529389179116467815117133411951515069354421362166418324813865184911013184111245244116003318029903255968188815375432807928522706572201513113570606173157050664164226378509007728563253659075454857336350948651872516871330097972052722017445906171144691583763633353745683194970126510536712577382277477719911840292742119112761272343519227744975039078458612055301891014683914490340605003731047588004298145981998197206409517175987901624706309363427898039147157271989097410521591804981823753964893026592080738632834266144381546929995588057806879461616842161907700929151388150898231203171211673639111404605466028665446614352230908581012095777935206644405015842336792552362683508352598857715221958771215893845444827064025577216604939555690633178325388304196678873694734978193107638639205846210835981613367670094473967009265041461812373436173794701044779873013005645920750663964942964290716391824737553394664425661671615517399785280251143476794523533920975263508591460655435023938649156641143921 7710898353152389922911776203209189540756331162918445176425296055094316997343115600034498611843347077782692252544072664691383310192873843898814415572787138546370599893329043245940809423280847939418388056978404855490650466599931016280541632341798999396291966042685507841589415585819259257251278659564080179435718326476046216952002078564983667467774894645445783849702389107924225281913793744293432088479115339544474683863268774257464730945485236134138658106133382017943668679293741501617934383083484861679366637379899822407314733288809975699772564432643253446846790033964809608869884223287789103682132562836418237655794626060369893809907021067607297352912682721192899749449347787803555926387460484583058144955252917894072980187449534601950494726992256019651107674684717040160913614237425445479634138008544692034099638705040804800137355325697969304525728552714968719849175729878906814266493855319043738641124692106033080809860642890510806295292092284527057984152239756771378500001024808726872183713133013309150039723808492796139265662786508194065462954859628865682913843860394989377296440165170668251195954929950293531379047246515010642422774565172747327533210782310761747928369898529305847804748816789988076916881262015147462562008651420219287552451971166573652330245727003265256173066393083024234932572610529314838285521993414917665750542847634310859573294849458711051426677600285285879185435518297408591205578553950546007943444444269121895558025122900600543509306362401784647327579076723932863921920702702461823824456002746414938557699262808712514901249476093785845872744644995792341635028896282744827241648392854332340340885252891130818700343064378949524238549803163161152670482092917252125870402139491089197777131982991485832283377586057980700097580541463320066901213358039360524467215401228663836320851533481958766268944113034507707371786047031116434220483291276382544459322950480542150968171068327223560300719640551166435082008548909351110644868543225983611994372604029029265115249632062116907633031926806456841337134777340576269909619589863225730921464847425976251198616059476906891148643471357150484304302825031464035068203783486691210064929108552025664231552915599926854631467071530997514705135065841416759935910451642984941641380231751740682718503452066557575788597531332515731977945390890080237355663585390854610886658128499054233920295631918243431137418637796205533096921738889505724033340862141066693485290569075705967244889254751069182559779217769071631671649751378857082831213576479040301564935238309495957119514911758345485405751221829703175635651813173036358554433770469315437669536303915448412814807250900639476070560496930650280371205546000582909863633022918706622346867296529430115685779191218079397368137524023407716752532803636478513766708607251947284292560985991774190307147552265687991342747007668747069694947131244380529873176675148571356354326585245317812360916436542376539622575530030689280564556666533228825745142899227172125989269561528536441085097119884771595752954571925335378872793665713685891443 12476495619196156788758163868507381217834723439173419639873287015477421559740326112003508476852086214790847140304178857345075524547992351335831994338056482080197279566125529165173263387811762667898451243157377664704124003110218365790879830778082756926553218614976326487471231527701107136406174194429837140881220078408192365375927489511827180897377009156425574966775328792231151353129924809389508990312948779086251216900850070101413668888205508012098067547088817553955954635703295242727335369142195466986299981552392431953063808951623834176359892703114299077852077181672199925031280258407802362739756746097580487959448029911146660248603176863018612837724648259957158155635562841828437772737093146563945013217226405533018480477167175733019549809174775066313645142395158856760660575054061945738022162169420337811698430581863995091734218641779100145814001855490768186483745511313732492707817195531468760315422422251116260396367376422867574370041683677227236069330138771158435413022011231805267075626968158099316244561072503534100386813358285493116725903439851387466272844334047768513390391282246265633418542287448913117652989284659108586762913340895591667594123186824484742750456867478929493529026368380488292243499714395403475448774848824153498213036193621277904514660733139222767441160121658221864607445064794057074526589467984054322180461958359148152879504864828475143271443394521272338545999827339909500257790266632046094119963411620553775100059108771777552738664939050992134793086969398624683393480817818690347414694566920280693270010721763098264736238412921194672116553142815519176029610018773276951417262621475440470899773956773318051620805354962875195202505809556718548116681710586486199514425087955413264487623111871828144570668269630835306372824398191492607148096769525345962410611270364932245680984608135060921928348534919611947464073129476678681631137756475031945145681896121205225149648158818911372052327474795814605347484346884749412311183363647314957546494634457392885920001599646942459928096137687476203236911207212066585191118031310755120100581315241093384610567574546261312510809889681964349489213838215575280312319786804721113320897297367401097039481438306499056144580642137170671755799230067795268943639014896644017096237568102689334591020323396655547841319548778421903122636974653713591101346780360981121423370705881331711640207472210985550250179910139724760841896777967964336088642753155750607975631174079437014832893552897051180756985627286247619573274457688220510729252723636312290662345759901300938943268876651372077486489854663969320017198743168624416361313232086157599577237233066836563713038454071851149709671901536116309036652160352813818444645118696641828991272312371766908238141874726431996225852745982178932646378248463542539343925212191502974925739311380078386986021247000666184450385646874593280530928744612050624347143684413612818166700021419112513405696309555382185543326193995632244855273058357966379139807324888843741506669346808787584561891643418692571016463163385990813896732314870327035364 20187393972348546711669940071716570758591054602091864816298583070571738557083441712038007088695433292573539392848251522036458834740866195234646409910843620626567879459454572411114072811092610607316839300135782520194774469710149382071421463119881756322845184657661834329060647113520366393657452853993917320316938404884238582327929568076810848365151903801871358816477717900155376635043718553682941078792064118630725900764118844358878399833690744146236725653222199571899623314997036744345269752225680328665666618932292254360378542240433809876132457135757552524698867215637009533901164481695591466421889308933998725615242655971516554058510197930625910190637330981150057905084910629631993699124553631147003158172479323427091460664616710334970044536167031085964752817079875896921574189291487391217656300177965029845798069286904799891871573967477069450339730408205736906332921241192639306974311050850512498956547114357149341206228019313378380665333775961754294053482378527929813913023036040532139259340101171408466284284880996330239652476144793687182188858299480253149186688194442757890686831447416933884614497217399206649032036531174119229185687906068338995127333969135246490678826766008235341333775185170476369160380976410550938010783500244372785765488164787851556844906460142488023614226514741246099540017675323371912812111461398971987931004805993459012452799714287186194698120994806558217731435345637318091463368820582592102063407855889675670658084231672378096247971301452776782120666046122557547315401520521152171239150569666695631827709984571810779637487889014980517989297787811311517664638915056021778658911014329772811240659209664448870321148419341824719441055612719879700787163803503738325384827227446502462264755094863313976854045855688816006470404939654812674049310127564706486877826671593596082001836141617019688197292647954119654835859176507795115851621047751414489605004846601747376117819227146134932353047115346981040429492895794100522956051906873298569540867238486422151035251231709059367561128064493933044574045984552642855100737621173980851022046162667069635809183634023168203659453361039114833793516663247039315380523570291412323385826405919426761271034353906425910776047713668168186460934295909212028879549466539628958737617799854430017309523775463213123629917080110937635100582365543793828457010365751835732310028834380385945560503104129228981387598547935930293938818516857470060121983615296817301460921743155142982077782807648120363316764845055319251244924209067077593560466300115352592227280998210796896062783788409717562892241076493672495652850556341660774915747002555473037246773536982284976527845704972490625780232398466766589407857706353396728308278141615348451338139608901197023923921065944511393593990270005586649398911052100021053110633819443450259218300297371852577293168799266354175793132654543340350225875875856431154220320359562184174521026606664430325766612746097758725165901724026321525419829724891195204884950224116015867495938908337324025646988763303464166769417735311326192769525980584012926807 32663889591544703500428103940223951976425778041265284456171870086049160116823767824041515565547519507364386533152430379381534359288858546570478404248900102706765159025580101576287336198904373275215290543293160184898898472820367747862301293897964513249398403272638160816531878641221473530063627048423754461198158483292430947703857057588638029262528912958296933783253046692386527988173643363072450069105012897716977117664968914460292068721896252158334793200311017125855577950700331987072605121367875795651966600484684686313442351192057644052492349838871851602550944397309209458932444740103393829161646055031579213574690685882663214307113374793644523028361979241107216060720473471460431471861646777710948171389705728960109941141783886067989594345341806152278397959475034753682234764345549336955678462347385367657496499868768794983605792609256169596153732263696505092816666752506371799682128246381981259271969536608265601602595395736245955035375459638981530122812517299088249326045047272337406334967069329507782528845953499864340039289503079180298914761739331640615459532528490526404077222729663199518033039504848119766685025815833227815948601246963930662721457155959731233429283633487164834862801553550964661403880690805954413459558349068526283978524358409129461359567193281710791055386636399467964147462740117428987338700929383026310111466764352607165332304579115661337969564389327830556277435172977227591721159087214638196183371267510229445758143340444155648986636240503768916913753015521182230708882338339842518653845136586976325097720706334909044373726301936175190105850930626830693694248933829298730076173635805213282140433166437766921941953774304699914643561422276598248903845514090224524899252315401915726752378206735142121424714125319651312843229337846305281197406897090052449288437941958528327682820749752080610125641182873731602299932305984473797482758804226446434750686742722952601267467385965046304405374590142795645776977242678849935267235270520613527087361872943815036955252831356001827489224202181409247810957191764709440291855652484735971122627477908163020419751208569429516170263250721079183282730501462614595692843357096133436706723703286827858310515792212924966920628355805338858216733525977007297823188481436272975833855367957119351900544098859868671471236628889359538223219340197507419558357146112816853733399540261717657200710576340214531637778458075655054780715294825434396210626368452567909436552917234579996910676360545171544073750472341566870818198666755298104289719023751664882889626758112097835006052665061089640378730931157641815670049299510285191277060234641630636824010770049121540240884159044341775489904300002882898444509866706210546752923260311990280329411921272963932162062940670943389819843015987765582045289300563563592454559031634953234144039608751930964279190046267020360243518301417933630756804620468481778567464043975796992687726628083542839172309055653140910709227918021953770275102783249161584024757549004859609002608255146111610208880406722156737785880898697317006666258295454339962171 52851283563893250212098044011940522735016832643357149272470453156620898673907209536079522654242952799937925926000681901417993194029724741805124814159743723333333038485034673987401409009996983882532129843428942705093672942530517129933722757017846269572243587930299995145592525754741839923721079902417671781515096888176669530031786625665448877627680816760168292599730764592541904623217361916755391147897077016347703018429087758819170468555586996304571518853533216697755201265697368731417874873593556124317633219416976940673820893432491453928624806974629404127249811612946218992833609221798985295583535363965577939189933341854179768365623572724270433218999310222257273965805384101092425170986200408857951329562185052387201401806400596402959638881508837238243150776554910650603808953637036728173334762525350397503294569155673594875477366576733239046493462671902241999149587993699011106656439297232493758228516650965414942808823415049624335700709235600735824176294895827018063239068083312869545594307170500916248813130834496194579691765647872867481103620038811893764646220722933284294764054177080133402647536722247326415717062347007347045134289153032269657848791125094977724108110399495400176196576738721441030564261667216505351470341849312899069744012523196981018204473653424198814669613151140714063687480415440800900150812390781998298042471570346066177785104293402847532667685384134388774008870518614545683184527907797230298246779123399905116416227572116533745234607541956545699034419061643739778024283858860994689892995706253671956925430690906719824011214190951155708095148718438142211358887848885320508735084650134986093381092376102215792263102193646524634084617034996477949691009317593962850284079542848418189017133301598456098278759981008467319313634277501117955246717024654758936166264613552124409684656891369100298322933830827851257135791482492268913334379851977860924355691589324699977385286613111181236758421705489776686206470138472950458223287177393912096628229111430237187990504063065061195050352266675342292385003176317352295392593273658716822144673640575232656228934842592597719829716611760194017076247164709653911073366927387545760092550109206254619581550146119350877696676069473507044677667821886219326702737947975901934571473167811549369210067874323081795101153709000297173323801705741301248015367511864652586043428374642103602761213680469443513025377006011585348719533811682904456332609983749385210897474660389722978988459168193291907390515317396886122063122875822375697850185323867017475116907756322894731068836453470807203270972007651314311322899855851945966192807237197103674070784307031406516768729864016832401270136698469649487852367573059607275061201401927338731667551530174160956085984006615454783413833285993352231444200352663584645565192851078403493362339906123783541572358845533374536036650955961273980982680496324912932787784403537981167208753234747973164938921801750899635875129642048275295694932508140356788909707773120875476498547163483435635855869170025620904555298634008643199435784276038352888978 85515173155437953712526147952164474711442610684622433728642323242670058790730977360121038219790472307302312459153112280799527553318583288375603218408643826040098197510614775563688745208901357157747420386722102889992571415350884877796024050915810782821641991202938155962124404395963313453784706950841426242713255371469100477735643683254086906890209729718465226382983811284928432611391005279827841217002089914064680136094056673279462537277483248462906312053844233823610779216397700718490479994961431919969599819901661626987263244624549097981117156813501255729800756010255428451766053961902379124745181418997157152764624027736842982672736947517914956247361289463364490026525857572552856642847847186568899500951890781347311342948184482470949233226850643390521548736029945404286043717982586065129013224872735765160791069024442389859083159185989408642647194935598747091966254746205382906338567543614475017500486187573680544411418810785870290736084695239717354299107413126106312565113130585206951929274239830424031341976787996058919731055150952047780018381778143534380105753251423810698841276906743332920680576227095446182402088162840574861082890399996200320570248281054708957537394032982565011059378292272405691968142358022459764929900198381425353722536881606110479564040846705909605724999787540182027834943155558229887489513320165024608153938334698673343117408872518508870637249773462219330286305691591773274905686995011868494430150390910134562174370912560689394221243782460314615948172077164922008733166197200837208546840842840648282023151397241628868384940492887330898200999649064972905053136782714619238811258285940199375521525542539982714205055967951224548728178457273076198594854831684187375183331858250333915769511508333598219703474106328118632156863615347423236444123921744811385454702555510652737367477641121180908448575013701582859435723788476742710817138656204307359106378332047652578652753999076227541163796295632572331983447381151800393490522447914525623715590984374052224945756894421063022539576468856751540195960368082061735684448926143452793267301118483395676648686051162027235999979862481273200358977666172268506766210284483679196799273812493082477892065938332275844617304425278845902894401347863226624525926429412174910405328535768668721110611973182950466572390337889656711547021045938808667573724657977469439776827914903821259961924256809658044663155464087240403500249106508338852543236352201953120334027577624302975899135528738463451464265789738452992881321542577673802139904347618682358006534514434992566074889118531896843649702938808956126992949155362231157469867471838734310894795077080528057009614023061174176760040998472532386296877439765817821814124662239329011996963451447124888248046947286398173233676301981117813489489653227148238019751882713356727506379514875714505851548891800394896280169257379207611739485116793394711355248447513778159896479862831516004111230857404040546584357560070229065970035291389518372934465322125735085501155418629547246064749576747777642341179532705960206102042571492692851149 138366456719331203924624191964104997446459443327979583001112776399290957464638186896200560874033425107240238385153794182217520747348308030180728032568387549373431235995649449551090154218898341040279550230151045595086244357881402007729746807933657052393885579133238151107716930150705153377505786853259098024228352259645770007767430308919535784517890546478633518982714575877470337234608367196583232364899166930412383154523144432098633005833070244767477830907377450521365980482095069449908354868554988044287233039318638567661084138057040551909741963788130659857050567623201647444599663183701364420328716782962735091954557369591022751038360520242185389466360599685621763992331241673645281813834047595426850830514075833734512744754585078873908872108359480628764699512584856054889852671619622793302347987398086162664085638180115984734560525762722647689140657607500989091115842739904394012995006840846968775729002838539095487220242225835494626436793930840453178475402308953124375804181213898076497523581410331340280155107622492253499422820798824915261122001816955428144751973974357094993605331083823466323328112949342772598119150509847921906217179553028469978419039406149686681645504432477965187255955030993846722532404025238965116400242047694324423466549404803091497768514500130108420394612938680896091522423570999030787640325710947022906196409905044739520902513165921356403304935157596608104295176210206318958090214902809098792676929514310039678590598484677223139455851324416860314982591138808661786757450056061831898439836549094320238948582088148348692396154683838486606296148367503115116412024631599939747546342936075185468902617918642198506468158161597749182812795492269554148285864149278150225467411401098752104786644809932054317982234087336585951470497892848541191690840946399570321620967169062777147052134532490281206771508844529434116571515270969011624151518508182168283462069921372352556038040612187408777922218001122349018189917519624750851713809625308437720343820095804289412936260957486124217589928735532093832580963544399414031077042199802169615411974759058628332877620893754624955829696474241467217435224830881922417839577211871224956891823921699337097473616084451626722313980494752352947572069169749445951228664377388076844976801703580218090320679847506032261673544046889953884870822751680109915589092169842122025820256289545924862723137937279101557688532470098825752219782918191243308875846335951338331231502238014025954887594696931755358854781107135339114944444418400049499990089671485699833123442270757887297143725572002704046920674946460270438315849011214177123662674709035837984965579384111934573778343887078006578030177696942181874149245012825425096875326064166667743664514981621285844334030953901852956647509587974470044933690005890732883584944733791760220868719420999498047423907737333769432316820213340481592722165613118307644143032851051759327105233097579489169050152659154940182459487202118504361664967799529875161844173095246610561999702582112982881920618746773398546896478166714603405537826847531045740127 223881629874769157637150339916269472157902054012602016729755099641961016255369164256321599093823897414542550844306906463017048300666891318556331250977031375413529433506264225114778899427799698198026970616873148485078815773232286885525770858849467835215527570336176307069841334546668466831290493804100524266941607631114870485503073992173622691408100276197098745365698387162398769845999372476411073581901256844477063290617201105378095543110553493230384142961221684344976759698492770168398834863516419964256832859220300194648347382681589649890859120601631915586851323633457075896365717145603743545073898201959892244719181397327865733711097467760100345713721889148986254018857099246198138456681894781995750331465966615081824087702769561344858105335210124019286248248614801459175896389602208858431361212270821927824876707204558374593643684948712056331787852543099736183082097486109776919333574384461443793229489026112776031631661036621364917172878626080170532774509722079230688369294344483283449452855650161764311497084410488312419153875949776963041140383595098962524857727225780905692446607990566799244008689176438218780521238672688496767300069953024670298989287687204395639182898465460530198315333323266252414500546383261424881330142246075749777189086286409201977332555346836018026119612726221078119357366726557260675129839031112047514350348239743412864019922038439865273942184931058827434581481901798092232995901897820967287107079905220174240764969397237912533677095106877174930930763215973583795490616253262669106986677391934968520971733485389977560781095176725817504497148016568088021465161414314558986357601222015384844424143461182181220673214129548973731540973949542630346880718980962337600650743259349086020556156318265652537685708193664704583627361508195964428134964868144381707075669724573429884419612173611462115220083858231016976007239059445754334968657164386475642568448253420005134690794611263636319086014296754921350173364900776551245204332073222963344059411080178341637882017851907187240129505204388845372776923912481475766761491125945622408679275877542024009526306944916652191829676336722740417794202497054190924605787496354904153691097734192419575365682022783902566931284920031198850466470517612672575754590806800251755382130239348886811431291820688982728245934384779610596417843797618918583162816827819591465597084204449746122685062194088759602351687934186066155720032024699582161419082688153291451565529815638328930786730225670218810319046896873792107825765960977723302129994019104382191129976785192879863218614690534600890570377885269226565308798166576408281132542180874572295860374461192462630787957910139180754790218695414714260446122452591242918689450726405996755661478433068410732582077901188251129881185889955587858423179659117881121604696616505116948375098935875212553275456629134164328596989470719689204461650729911702355498281298565537487001712960411005173161383516558980729043844762188733427635003090919393534778638417372345647500858000742530127985368323521176189237657699420563611639869419023738591276 362248086594100361561774531880374469604361497340581599730867876041251973720007351152522159967857322521782789229460700645234569048015199348737059283545418924786960669501913674665869053646698039238306520847024194080165060131113688893255517666783124887609413149469414458177558264697373620208796280657359622291169959890760640493270504301093158475925990822675732264348412963039869107080607739672994305946800423774889446445140345537476728548943623737997861973868599134866342740180587839618307189732071408008544065898538938762309431520738630201800601084389762575443901891256658723340965380329305107965402614984922627336673738766918888484749457988002285735180082488834608018011188340919843420270515942377422601161980042448816336832457354640218766977443569604648050947761199657514065749061221831651733709199668908090488962345384674359328204210711434704020928510150600725274197940226014170932328581225308412568958491864651871518851903262456859543609672556920623711249912031032355064173475558381359946976437060493104591652192032980565918576696748601878302262385412054390669609701200138000686051939074390265567336802125780991378640389182536418673517249506053140277408327093354082320828402897938495385571288354260099137032950408500389997730384293770074200655635691212293475101069846966126446514225664901974210879790297556291462770164742059070420546758144788152384922435204361221677247120088655435538876658112004411191086116800630066079784009419530213919355567881915135673132946431294035245913354354782245582248066309324501005426513941029288759920315573538326253177249860564304110793296384071203137877186045914498733903944158090570313326761379824379727141372291146722914353769441812184495166583130240487826118154660447838125342801128197706855667942281001290535097859401044505619825805814543952028696636893636207031471746706101743321991592702760451092578754330414765959120175672568643926030518174792357690728835223451045097008232297877270368363282420401302096918141698531401064403231175982631050818278809393311457719433939920939205357887456880889797838533325747792024091250636600652342403927838671277147659372810964207635229427327936113342445364708226129110582921655891756672839298107235529289245265414783551798038539687362118526983255184188328600358931942929104901751971668195014989919478431669564481288666549299028498751908997661713491417340493995670985408200131367861160040220404284891907939814942890825470294929024104629782797032053652354885674324922601974169173828004009131222770210379377772802120083690590082024253419055950767160362340262537304937491052831729497003624647177790585404795216889910410280825953845304397204566301797217187332820396392356896134595367465416668015564776790572664499325993414689696576916108855090104086528695477930057903356869665008614005189641350296877169243818356874710600699364366467933760913809684060170797183816343030009999641314149617296814106946057990494342211536175713920911503331964307237789299970890449268696622811512618956209500560582855513009905987070294574736134135866135167017177696266554784331403 586129716468869519198924871796643941762263551353183616460622975683212989975376515408843759061681219936325340073767607108251617348682090667293390534522450300200490103008177899780647953074497737436333491463897342565243875904345975778781288525632592722824940719805590765247399599244042087040086774461460146558111567521875510978773578293266781167334091098872831009714111350202267876926607112149405379528701680619366509735757546642854824092054177231228246116829820819211319499879080609786706024595587827972800898757759238956957778903420219851691460204991394491030753214890115799237331097474908851510476513186882519581392920164246754218460555455762386080893804377983594272030045440166041558727197837159418351493446009063898160920160124201563625082778779728667337196009814458973241645450824040510165070411939730018313839052589232733921847895660146760352716362693700461457280037712123947851662155609769856362187980890764647550483564299078224460782551183000794244024421753111585752542769902864643396429292710654868903149276443468878337730572698378841343402769007153353194467428425918906378498547064957064811345491302219210159161627855224915440817319459077810576397614780558477960011301363399025583886621677526351551533496791761814879060526539845823977844721977621495452433625193802144472633838391123052330237157024113552137900003773171117934897106384531565248942357242801086951189305019714262973458140013802503424082018698451033366891089324750388160120537279153048206810041538171210176844117570755829377738682562587170112413191332964257280892049058928303813958345037290121615290444400639291159342347460229057720261545380105955157750904841006560947814586420695696645894743391354814842047302111202825426768897919796924145898957446463359393353650474665995118725220909240470047960770682688333735772306618209636915891358879713205437211676560991468068585993389860520294088832836955119568598966428212362825419629834714681416094246594632191718536647321177853342122473771754364408462642256160972688700296661300498697848939144309784578134811369362365564600024451693414432770526514142676351930234783587929339489049147686948053023629824990304267051152204581033264274019390084176248204980130019431856176550334814750648505010204974791102737845990988580355741062182277991713183263488883997718165412816449175077706510346917947081914725825481304957014424698445417108093262325456620762391908338470958063659846967590407631714011712257921234362561869290683816461055148272192979492874900882923330595976340355496104250077709694464215383395841143647023580954953071905828061430716998723568933445344366993685927759070784982576686328306496859835354259707356368087610615087771610395041489918007910934254227516978661254987471847758107309498186756278355216409881367885645761780049324126495126794337966801994117618917292749923153974820995602098089510799154779860001645467072941712355139595448182834301108659018401499515372919692272901640547176726495971216934973981368662231401449929991301857001418583598043137891355393815750925371793565555730628817565685578522922679 948377803062969880760699403677018411366625048693765216191490851724464963695383866561365919029538542458108129303228307753486186396697290016030449818067869224987450772510091574446517006721195776674640012310921536645408936035459664672036806192415717610434353869275005223424957863941415707248883055118819768849281527412636151472044082594359939643260081921548563274062524313242136984007214851822399685475502104394255956180897892180331552640997800969226108090698419954077662240059668449405013214327659235981344964656298177719267210424158850053492061289381157066474655106146774522578296477804213959475879128171805146918066658931165642703210013443764671816073886866818202290041233781085884978997713779536840952655426051512714497752617478841782392060222349333315388143771014116487307394512045872161898779611608638108802801397973907093250052106371581464373644872844301186731477977938138118783990736835078268931146472755416519069335467561535084004392223739921417955274333784143940816716245461246003343405729771147973494801468476449444256307269446980719645665154419207743864077129626056907064550486139347330378682293428000201537802017037761334114334568965130950853805941873912560280839704261337520969457910031786450688566447200262204876790910833615898178500357668833788927534695040768270919148064056025026541116947321669843600670168515230188355443864529319717633864792447162308628436425108369698512334798125806914615168135499081099446675098744280602079476105161068183879942987969465245422757471925538074959986748871911671117839705273993546040812364632466630067135594897854425726083740784710494297219533506143556454165489538196525471077666220830940674955958711842419560248512833166999337213885241443313252887052580244762271241758574661066249021592755667285653823080310284975667786576497232285764468943511845843947363105585814948759203269263751919161164747720275286253209008509523763494629484603004720516148465058165726513102478892509462086899929741579155439040615470285765472865873432143603739518575470693810155568373084230723783492698826243255362438557777441206456861777150743328694334162622259206487148421958651155688253057152926417609496516912807162374856941045975932921044278237254961145421815749598302446543549892336909629721101175176908956099994125207096614935235157079012708084891248118739558995176896216975580666634823143018448431765192441088093501462456824481922432128742755849971599661910481233102008940736362551017159593922943038702135380070874167148666702904892054553366186719733268906370161400284546239636814897094414183943295215609210765552483548728220572558092522157579090722975960695392857512282151801257039920561504573555420431011480128506529636857383424578949819004307551325754313465262447803886414295611368459302938576845815703665136918989135109131983979317098871286862735649624633754674185362070031850424608838840030798829283415971722354780909597800131115215605076391993857584455867986822552050508690803209006234944871817930928024261442610258066501979166453556147797342464110325661505929431690897645995261952133307254082 1534507519531839399959624275473662353128888600046948832652113827407677953670760381970209678091219762394433469376995914861737803745379380683323840352590319525187940875518269474227164959795693514110973503774818879210652811939805640450818094718048310333259294589080595988672357463185457794288969829580279915407393094934511662450817660887626720810594173020421394283776635663444404860933821963971805065004203785013622465916655438823186376733051978200454354207528240773288981739938749059191719238923247063954145863414057416676224989327579069905183521494372551557505408321036890321815627575279122810986355641358687666499459579095412396921670568899527057896967691244801796562071279221251926537724911616696259304148872060576612658672777603043346017143001129061982725339780828575460549039962869912672063850023548368127116640450563139827171900002031728224726361235538001648188758015650262066635652892444848125293334453646181166619819031860613308465174774922922212199298755537255526569259015364110646739835022481802842397950744919918322594037842145359560989067923426361097058544558051975813443049033204304395190027784730219411696963644892986249555151888424208761430203556654471038240851005624736546553344531709312802240099943992024019755851437373461722156345079646455284379968320234570415391781902447148078871354104345783395738570172288401306290340970913851282882807149689963395579625730128083961485792938139609418039250154197532132813566188069030990239596642440221232086753029507636455599601589496293904337725431434498841230252896606957803321704413691394933881093939935144547341374185185349785456561880966372614174427034918302480628828571061837501622770545132538116206143256224521814179261187352646138679655950500041686417140716021124425642375243230333280772548301219525445715747347179920619500241250130055480863254464465528154196414945824743387229750741110135806547297841346478883063228451031217083341568094892880407929196725487141653805436577062757008781163089242040129881328515688304576428218872131994308853417312228540508361627510195605620927038582229134620889632303664886005046264397405847135826637471106338103741276686977916721876547669117388195639130960436060109169249258367274393001598366084413053095048560097311700732458947166165489311841056307485088328118498645963010426250304064567914636701687243134922662581360648624323405446189890886505201594724782281102684824037081226808035259508878071640733722952448620472251522155792233722518596435219146360128159577805774977883962163060088765010620239109979010455020210738238061207524250168681116593613914265726944141491537866524572776650735031480375434198610458298116875274821211929923508041626567900116924678347301432489884073231824529987009300937110205911195912482367646814519348458213701349426916968313261604258778317283900865404481652942374556908649006357672129939935407993619890800474750488913434709920505045982965416324264094793493372957375560259724192597685417299180223169918853186593159425711372601559923503397750051599285688697857926076586877722997246628274812827637711830176761 2482885322594809280720323679150680764495513648740714048843604679132142917366144248531575597120758304852541598680224222615223990142076670699354290170658188750175391648028361048673681966516889290785613516085740415856061747975265305122854900910464027943693648458355601212097315327126873501537852884699099684256674622347147813922861743481986660453854254941969957557839159976686541844941036815794204750479705889407878422097553331003517929374049779169680462298226660727366643979998417508596732453250906299935490828070355594395492199751737919958675582783753708623980063427183664844393924053083336770462234769530492813417526238026578039624880582343291729713041578111619998852112513002337811516722625396233100256804298112089327156425395081885128409203223478395298113483551842691947856434474915784833962629635157006235919441848537046920421952108403309689100006108382302834920235993588400185419643629279926394224480926401597685689154499422148392469566998662843630154573089321399467385975260825356650083240752252950815892752213396367766850345111592340280634733077845568840922621687678032720507599519343651725568710078158219613234765661930747583669486457389339712284009498528383598521690709886074067522802441741099252928666391192286224632642348207077620334845437315289073307503015275338686310929966503173105412471051667453239339240340803631494645784835443171000516671942137125704208062155236453659998127736265416332654418289696613232260241286813311592319072747601289415966696017477101701022359061421831979297712180306410512348092601880951349362516778323861563948229534832998973067457925970060279753781414472516170628592524456499006099906237282668442297726503844380535766391769057688813516475072594089451932543003080286448688382474595785491891396835986000566426371381529810421383533923677152905264710193641901324810617570051343102955618215088495306390915488830411092800506849856002646557857935634221803857716559951046134442299204379651115892336506804336164220203704712325895354194389120448180167737447602688119008985685312771232145120209021848876289477140006575827346494080815629333740598560028106342313785893064989259429529744130843139486044186030195358013987901482036042090293536604529354147020181834011355541592109989648610362180048341342398267941050432692184943053733803042023134335195312686654195696864139351898243247995471767341853877955083327593295096187239105584607256165823982658006859170788552873835731893184983023268681749715176761220731815290020527276826280710667032437328349779822033916990400510263556694657025635332475391467545384290327359166397814455164714049630388682151867373710992175768291710892610099373915195382716503478928472638048028623454315204684857068833892236132081312763614402372653715082326777979015273822287035059517053092053887302396713390762296600999736691344388591999190663323191719742161790360016832459921599304033904885157064701414643783096531539869171185487230541831428246546744648194108102389229404863725004524087449972815211817990005376916505155433486040322036402248383652428937525920808089589845137430843 4017392842126648680679947954624343117624402248787662881495718506539820871036904630501785275211978067246975068057220137476961793887456051382678130523248508275363332523546630522900846926312582804896587019860559295066714559915070945573672995628512338276952943047436197200769672790312331295826822714279379599664067717281659476373679404369613381264448427962391351841615795640130946705874858779766009815483909674421500888014208769826704306107101757370134816505754901500655625719937166567788451692174153363889636691484413011071717189079316989863859104278126260181485471748220555166209551628362459581448590410889180479916985817121990436546551151242818787610009269356421795414183792223589738054447537012929359560953170172665939815098172684928474426346224607457280838823332671267408405474437785697506026479658705374363036082299100186747593852110435037913826367343920304483108994009238662252055296521724774519517815380047778852308973531282761700934741773585765842353871844858654993955234276189467296823075774734753658290702958316286089444382953737699841623801001271929937981166245730008533950648552547956120758737862888439024931729306823733833224638345813548473714213055182854636762541715510810614076146973450412055168766335184310244388493785580539342491190516961744357687471335509909101702711868950321184283825156013236635077810513092032800936125806357022283399479091827089099787687885364537621483920674405025750693668443894145365073807474882342582558669390041510648053449046984738156621960650918125883635437611740909353578345498487909152684221192015256497829323474768143520408832111155410065210343295438888784803019559374801486728734808344505943920497048976918651972535025282210627695736259946735590612198953580328135105523190616909917533772079216333847198919682749335867099281270857073524764951443771956805673872034516871257152033160913238693620666229940546899347804691202481529621086386665438887199284654843926542371495929866792769697773083867093173001366793954366025235522904808752756595956319734682427862402997541311740506747719217454497216515722235710448236126384480515338786862957433953478140423364171327363170806431108759861362591855147583553653118861918096151259542794971803747148618547918424408636640670086960311094638995507507887579782106740177273271172232449005033560585499377254568832398551382486820905829356120391665259324144974214098496690912021386687292080202905209466042118679666624514569454845633603495520203905507410483739328250509166887404985858516442010321290512839910798927610639620242567149677236373570536598991795552971443952780312080182108855541168255206724644024446023656143725909503068397490790470203928433402436514264615928740378993551986289558717965467956611299772915339482859626278239260346662088341635493273218402518970855615658317649540613884900602095826041534373747571972198077414291730295424826079812399778784393798591774621919689766061947864133265978980603499206988506270937245879525401569452574782578191117246875684187813377913508774666556754719174738179962478835261375426184154195620917227556967607604 6500278164721457961400271633775023882119915897528376930339323185671963788403048879033360872332736372099516666737444360092185784029532722082032420693906697025538724171574991571574528892829472095682200535946299710922776307890336250696527896538976366220646591505791798412866988117439204797364675598978479283920742339628807290296541147851600041718302682904361309399454955616817488550815895595560214565963615563829379310111762100830222235481151536539815278803981562228022269699935584076385184145425059663825127519554768605467209388831054909822534687061879968805465535175404220010603475681445796351910825180419673293334512055148568476171431733586110517323050847468041794266296305225927549571170162409162459817757468284755266971523567766813602835549448085852578952306884513959356261908912701482339989109293862380598955524147637233668015804218838347602926373452302607318029230002827062437474940151004700913742296306449376537998128030704910093404308772248609472508444934180054461341209537014823946906316526987704474183455171712653856294728065330040122258534079117498778903787933408041254458248071891607846327447941046658638166494968754481416894124803202888185998222553711238235284232425396884681598949415191511308097432726376596469021136133787616962826035954277033430994974350785247788013641835453494289696296207680689874417050853895664295581910641800193283916151033964214803995750040600991281482048410670442083348086733590758597334048761695654174877742137642800064020145064461839857644319712339957862933149792047319865926438100368860502046737970339118061777553009601142493476290037125470344964124709911404955431612083831300492828641045627174386218223552821299187738926794339899441212211332540825042544741956660614583793905665212695409425168915202334413625291064279146288482815194534226430029661637413858130484489604568214360107651376001734000011581718770957992148311541058484176178944322299660691057001214794972676813795134246443885590109590671429337221570498666691920589717293929200936763693767337370546871388682854082972651867928239303373505992862242286275582620465296144672527461517462059820454209257236316622600336175239603000848636041177778911667106763400132193349836331576333101295638729752435764178232780076608921456819043848850285847723157172869458214225966252047056694920694689941223028095415521838719149077351592159007113202100057541691791787099260492271899336368729192124048977850455177388405186738818586518788885655222587244960060065799187414681812139227109042758618862619732832844601040130506123844334262008903011990459340937261771311946709894637273569590798643888876511398157015831912017620395678496864705665586644936881364986902663957363833308756671146627551857704088692612536529741855513341360566038325677362163922528332735455611024742918055031040302910485900338787170430126372938235295389797156453520655441658539733999082818298683748839323334333549158479404002437164467834041038416752817681894073633503958681979646303195641334325657003025195903514151583061910152660778501998881083645027855121680116429006817402105038447 10517671006848106642080219588399366999744318146316039811835041692211784659439953509535146147544714439346491734794664497569147577916988773464710551217155205300902056695121622094475375819142054900578787555806859005989490867805407196270200892167488704497599534553227995613636660907751536093191498313257858883584810056910466766670220552221213422982751110866752661241070751256948435256690754375326224381447525238250880198125970870656926541588253293909950095309736463728677895419872750644173635837599213027714764211039181616538926577910371899686393791340006228986951006923624775176813027309808255933359415591308853773251497872270558912717982884828929304933060116824463589680480097449517287625617699422091819378710638457421206786621740451742077261895672693309859791130217185226764667383350487179846015588952567754961991606446737420415609656329273385516752740796222911801138224012065724689530236672729475433260111686497155390307101561987671794339050545834375314862316779038709455296443813204291243729392301722458132474158130028939945739111019067739963882335080389428716884954179138049788408896624439563967086185803935097663098224275578215250118763149016436659712435608894092872046774140907695295675096388641923363266199061560906713409629919368156305317226471238777788682445686295156889716353704403815473980121363693926509494861366987697096518036448157215567315630125791303903783437925965528902965969085075467834041755177484903962407856236577996757436411527684310712073594111446578014266280363258083746568587403788229219504783598856769654730959162354374559606876484369286013885122148280880410174468005350293740234631643206101979557375853971680330138720601798217839711461819622110068907947592487560633156940910240942718899428855829605326958940994418668260824210747028482155582096465391299954794613081185814936158361639085085617259684536914972693632247948711504891496116232260965705800030708965099578256285869638899219185291064113236655287882674538522510222937292621057945825240198737953693359650087072052974733791680395394713158615647456757870722508584477996723818746849776660011314324474896013298594632621407643985771142606348362862211227896325362465320225625318228344609379126548136848444257277670860172814873450163569232551458039356358173427505263913046731485398198701052090255506194067195791860493966904325540054906707712550672372526245031755790288478011281878959191416571634401590091096530121801902974641584452190014309089560729997728699388316308354302086797997743551053079909375459643631772211679750748690994011498382473548589451136490233215264727021974819382425131966899095601155422603039488055743529898746894355496135790573370283801501167279886104212302308657436186269823172045303912309445081338372967638805298672339450505558021605953858129995598533713348689843524370800940882996471660746685807267587874570745250950866484619546398861602692482340613945254023315220427268135703143448437540245405259088619139953158905528134554428881386758581201341190838573817022926249618664871835516681961359918906403281305834312049924044959072646051 17017949171569564603480491222174390881864234043844416742174364877883748447843002388568507019877450811446008401532108857661333361946521495546742971911061902326440780866696613666049904711971526996260988091753158716912267175695743446966728788706465070718246126059019794026503649025190740890556173912236338167505552396539274056966761700072813464701053793771113970640525706873765923807506649970886438947411140802080259508237732971487148777069404830449765374113718025956700165119808334720558819983024272691539891730593950222006135966741426809508928478401886197792416542099028995187416502991254052285270240771728527066586009927419127388889414618415039822256110964292505383946776402675444837196787861831254279196468106742176473758145308218555680097445120779162438743437101699186120929292263188662186004698246430135560947130594374654083625460548111733119679114248525519119167454014892787127005176823734176347002407992946531928305229592692581887743359318082984787370761713218763916637653350219115190635708828710162606657613301741593802033839084397780086140869159506927495788742112546091042867144696331171813413633744981756301264719244332696667012887952219324845710658162605331107331006566304579977274045803833434671363631787937503182430766053155773268143262425515811219677420037080404677729995539857309763676417571374616383911912220883361392099947089957408851231781159755518707779187966566520184448017495745909917389841911075662559741904998273650932314153665327110776093739175908417871910600075598041609501737195835549085431221699225630156777697132693492621384429493970428507361412185406350755138592715261698695666243727037402472386016899598854716356944154619517027450388613962009510120158925028385675701682866901557302693334521042300736384109909621002674449501811307628444064911659925526384824274718599673066642851243653299977367335912916706693643829667482462883644427773319449881978975031264760269313287084433871895999086198359680540877992265209951847444507791287749866414957492667154630123343854409423521605180363249477685810483575696061244228501446720282999401367315072804683841785992358073119048841878643960608371478781587965863059863937503141376987332388718360537959215458124469949739896007423295936993106230240178154008277083205208459275228421085916189699624164953099146950426888757137014888589382426164259203984059304709679485728345089297482080265110542371231090752940363593714140074380576979291379828323270776533097975215952584973659448382107541716768610136970660095838528238079376464616812719881254814838345760391376560579910477427494986576673731869456655994722765542984477666820760055319967761150294425391220201801377218307165166488069943843468045611065328582813821680876133996524845974823193886308999371336998016812669480549938689313741020341451768379730146434856701279670166901787119624042562977671727198771606308143159280397944420991166089453268588356864378906672138140307916271581283822011906301034026792409486816534075184582399915526998193863769720537077832680575024496295183960241002551431136427514428478930862361177684498 27535620178417671245560710810573757881608552190160456554009406570095533107282955898103653167422165250792500136326773355230480939863510269011453523128217107627342837561818235760525280531113581896839775647560017722901758043501150643236929680873953775215845660612247789640140309932942276983747672225494197051090362453449740823636982252294026887683804904637866631881596458130714359064197404346212663328858666040331139706363703842144075318657658124359715469423454489685378060539681085364732455820623485719254655941633131838545062544651798709195322269741892426779367549022653770364229530301062308218629656363037380839837507799689686301607397503243969127189171081116968973627256500124962124822405561253346098575178745199597680544767048670297757359340793472472298534567318884412885596675613675842032020287198997890522938737041112074499235116877385118636431855044748430920305678026958511816535413496463651780262519679443687318612331154680253682082409863917360102233078492257473371934097163423406434365101130432620739131771431770533747772950103465520050023204239896356212673696291684140831276041320770735780499819548916853964362943519910911917131651101235761505423093771499423979377780707212275272949142192475358034629830849498409895840395972523929573460488896754589008359865723375561567446349244261125237656538935068542893406773587871058488617983538114624418547411285546822611562625892532049087413986580821377751431597088560566522149761234851647689750565193011421488167333287354995886176880438856125356070324599623778304936005298082399811508656295047867180991305978339714521246534333687231165313060720611992435900875370243504451943392753570535046495664756417734867161850433584119579028106517515946308858623777142500021592763376871906063343050904039670935273712558336110599647008125316826339618887799785488002801212882738385594627020449831679387276077616193967775140544005580415587779005740229859847569572954072771115184377262472917196165874939748474357667445083908807812240197691405108323482993941481476496338972043644872398969099223152819114951010031198279723220114164849464695156110467254086417643474500051604594142621387936328725271091833828503842307558014036588882568594584672606798184153285094156109807979680403747386559735122561566632702733684998962921185022363654151237205933082824332806749083349330489799258890767017260351858254590121053272368743121824250190282169511997995304231170910698781194354469907722966547407064776682582702358836698415896018855408134714211148918437613539020096389024399632003505832357258773850109169361613917728201841400753844276038419854732442080078822243363094808023504680193172285575697937167791677448967989237223729572257913373986019000091504048179300437155419904532259276638176635670356263175038571544643171871015939985481728419989959227502220553163373447866309849830565546297944022557174627778826796806023683648430067213842380179599333940273843451364709121529227270994920173979951315014951088504065969158496728339384702343537560004082299239896331811865921600921457834417733348740528854907320250330549 44553569349987235849041202032748148763472786234004873296183771447979281555125958286672160187299616062238508537858882212891814301810031764558196495039279009953783618428514849426575185243085108893100763739313176439814025219196894090203658469580418845934091786671267583666643958958133017874303846137730535218595914849989014880603743952366840352384858698408980602522122165004480282871704054317099102276269806842411399214601436813631224095727062954809480843537172515642078225659489420085291275803647758410794547672227082060551198511393225518704250748143778624571784091121682765551646033292316360503899897134765907906423517727108813690496812121659008949445282045409474357574032902800406962019193423084600377771646851941774154302912356888853437456785914251634737278004420583599006525967876864504218024985445428026083885867635486728582860577425496851756110969293273950039473132041851298943540590320197828127264927672390219246917560747372835569825769182000344889603840205476237288571750513642521625000809959142783345789384733512127549806789187863300136164073399403283708462438404230231874143186017101907593913453293898610265627662764243608584144539053455086351133751934104755086708787273516855250223187996308792705993462637435913078271162025679702841603751322270400228037285760455966245176344784118435001332956506443159277318685808754419880717930628072033269779192445302341319341813859098569271862004076567287668821438999636229081891666233125298622064718858338532264261072463263413758087480514454166965572061795459327390367226997308029968286353427741359802375735472310143028607946519093581920451653435873691131567119097280906924329409653169389762852608911037251894612239047546129089148265442544331984560306644044057324286097897914206799727160813660673609723214369643739043711919785242352724443162518385161069444064126391685571994356362748386080919907283676430658784971778899865469757980771494620116882860038506643011183463460832597737043867204958426205111952875196557678655155184072262953606337795890900017944152406894350084779582798848880359179511477918562722621481479922269378997896459612159536692316378695565202514100169524294588330955771331645219294890402754949420527810042797076747924049292517452046801085910643925540568012205766775091977962106084879110884646528607250384156359971581469821637672731756654058462874826321970031343982935210350754449008232366621421372922452361589018371245291275760485734298230993743080505039992635167676018285080523437735624018271684871244756965851618396561005837119513258320670703019165226669749272091345223188418074485713732694414577497985064556489064123150127991265830487597676795899738545009984614134477307167573040303524439314601813913184924313296962001394727726145585637547972668373075844519121483332485612036281437250108150136394084203500223330275234985933892393543218025142794163482770938107194750444674814519520482430737043978240612411983759280980702813049282901221208006743724501767622579250551558412255337578566113258097081914979814920828107049881841924009265554160863169007785769681428015047 72089189528404907094601912843321906645081338424165329850193178018074814662408914184775813354721781313031008674185655568122295241673542033569650018167496117581126455990333085187100465774198690789940539386873194162715783262698044733440588150454372621149937447283515373306784268891075294858051518363224732269686277303438755704240726204660867240068663603046847234403718623135194641935901458663311765605128472882742538920965140655775299414384721079169196312960627005327456286199170505450023731624271244130049203613860213899096261056045024227899573017885671051351151640144336535915875563593378668722529553497803288746261025526798499992104209624902978076634453126526443331201289402925369086841598984337946476346825597141371834847679405559151194816126707724107035812571739468011892122643490540346250045272644425916606824604676598803082095694302881970392542824338022380959778810068809810760076003816661479907527447351833906565529891902053089251908179045917704991836918697733710660505847677065928059365911089575404084921156165282661297579739291328820186187277639299639921136134695914372705419227337872643374413272842815464229990606284154520501276190154690847856556845705604179066086567980729130523172330188784150740623293486934322974111557998203632415064240219024989236397151483831527812622694028379560238989495441511702170725459396625478369335914166186657688326603730849163930904439751630618359275990657388665420253036088196795604041427467976946311815284051349953752428405750618409644264360953310292321642386395083105695303232295390429779795009722789226983367041450649857549854480852780813085764714156485683567467994467524411376272802406739924809348273667454986761774089481130248668176371960060278293418930421186557345878861274786112863070211717700344544996926927979849643358927910559179064062050318170649072245277009130071166621376812580065468195984899870398433925515784480281057536986511724479964452432992579414126367840723305514933209742144706900562779397959105365490895352875477371277089331737372376514283124450539222483748682022001699474130521509116842445841595644771734074154006926866245954335790878747169796656721557460623313602047605160149061602448416791538303096404627469683546108202577611608156609065591047672927127747328328341724680695791083842032069668892261401621362293054405802628386756081087143857721765593339230383202237525331404026817751354190871611655091964359584322602416201974541680088768138716709627912104769317750378377121778939333754479426406399082393675403465157416657394861519145261826503060277939076778918633705262951390259475239558008732834432230427144635311307486244936014770510680769962371597675712801662063102466544391302612561437813300620814004688972492597399156814632258404862275724608338729339019557693027975657483052221422731836570126353311705720776493648682852243742224108764323086816720657398716933991556468358462949587696273117223577574552685827210645689824342276553896141381986695039516718711083316520716908983676963268456795657085997279054817159918915803442845467099971894211909536640677001678345596 116642758878392142943643114876070055408554124658170203146376949466054096217534872471447973542021397375269517212044537781014109543483573798127846513206775127534910074418847934613675651017283799683041303126186370602529808481894938823644246620034791467084029233954782956973428227849208312732355364500955267488282192153427770584844470157027707592453522301455827836925840788139674924807605512980410867881398279725153938135566577469406523510111784033978677156497799520969534511858659925535315007427919002540843751286087295959647459567438249746603823766029449675922935731266019301467521596885695029226429450632569196652684543253907313682601021746561987026079735171935917688775322305725776048860792407422546854118472449083145989150591762448004632272912621975741773090576160051610898648611367404850468070258089853942690710472312085531664956271728378822148653793631296330999251942110661109703616594136859308034792375024224125812447452649425924821733948227918049881440758903209947949077598190708449684366721048718187430710540898794788847386528479192120322351351038702923629598573100144604579562413354974550968326726136714074495618269048398129085420729208145934207690597639708934152795355254245985773395518185092943446616756124370236052382720023883335256667991541295389464434437244287494057799038812497995240322451947954861448044145205379898250053844794258690958105796176151505250246253610729187631137994733955953089074475087833024685933093701102244933880002909688486016689478213881823402351841467764459287214448190542433085670459292698459748081363150530586785742776922960000578462427371874395006216367592359374699035113564805318300602212059909314572200882578492238656386328528676377757324637402604610277979237065230614670164959172700319662797372531361018154720141297623588687070847695801531788505212836555810141689341135521756738615733175328451549115892183546829092710487563380146527294967283219100081335293031086057137551304184138112670253609349665326767891350834301923169550508059549634230695669533263276532227276857433572568528264820850579833310032987035405168463077124694003453151903386478405491028107257442734999170821726984917901933003376491794280897338819546487723624214670266760294032251870129060203410151501691598467695759534095116816658657897168721142954315420868652005518653025987272450024428812843797916184640419661200414546220460541754781266759586557493033028014416721173340973661493250302165823066369710452708417144761952918054395406859462771490103444678083953638432369316775813218400698638658520147173763297104303448667905796608174578677549725271741427249009728412209191800371609395064006036341168367639167497414257811646677236943851558875652864962252615222627917873896805894361158209359984550447913272581007102414864076814511308143095088502859981944720262747395909220999823923917838177634617651982348229610884140169655041186306913033277469108178703854267555815165097810969926670527155325836797362589993438764018486333662567072275321239014541834570053754167912258869737988025965685284769476365526055075078544426446683106360643 188731948406797050038245027719391962053635463082335532996570127484128910879943786656223786896743178688300525886230193349136404785157115831697496531374271245116036530409181019800776116791482490472981842513059564765245591744592983557084834770489164088233966681238298330280212496740283607590406882864179999757968469456866526289085196361688574832522185904502675071329559411274869566743506971643722633486526752607896477056531718125181822924496505113147873469458426526296990798057830430985338739052190246670892954899947509858743720623483273974503396783915120727274087371410355837383397160479073697948959004130372485398945568780705813674705231371464965102714188298462361019976611708651145135702391391760493330465298046224517823998271168007155827089039329699848808903147899519622790771254857945196718115530734279859297535076988684334747051966031260792541196617969318711959030752179470920463692597953520787942319822376058032377977344551479014073642127273835754873277677600943658609583445867774377743732632138293591515631697064077450144966267770520940508538628678002563550734707796058977284981640692847194342739998979529538725608875332552649586696919362836782064247443345313113218881923234975116296567848373877094187240049611304559026494278022086967671732231760320378700831588728119021870421732840877555479311947389466563618769604602005376619389758960445348646432399907000669181150693362359805990413985391344618509327511176029820289974521169079191245695286961038439769117883964500233046616202421074751608856834585625538780973691588088889527876372873319813769109818373609858128316908224655208091981081748845058266503108032329729676875014466649239381549156245947225418160418009806626425501009362664888571398167486417172016043820447486432525867584249061362699717068225603438330429775606360710852567263154726459213934618144651827905237109987908517017311877083417227526636003347860427584831953794943580045787726023665471263919144907443627603463351494372227330670748793407288660445860935027005507785001270635653046510401307972795052276946842852279307440554496152247614304672769465737527305910313344651445363898136189904795827543284445541215535050981651943342499787236338026026720619297736443840140454447740668360019217092739271394823506862423458541339353688252563175023984313130053626880946080393075078411184893930941773906406013000430797748457985873158808084510940748364644683106381080757663576077695224843845911834508427162336329249531270668432772528638402105244582871084483036032107772781933229875795560157803781973676823575043380227586539501871125968937024964829750160083441958839353827111679095640000020806851849137601539095089970613308740339410395950178265426400065915843441922562869298491760315023992242955310188997189345831753883634507539283800578140724282713781290389100707614941776317572600690421376841760746671316427604797568371975177863381391740418695874976971491133389717783638180572360351497602390693503971980133803535205044745883592992230222691505103026849411253909537924555147944881488727614943465497949286988081067123684784706239 305374707285189192981888142595462017462189587740505736142947076950183007097478659127671760438764576063570043098274731130150514328640689629825343044581046372650946604828028954414451767808766290156023145639245935367775400226487922380729081390523955555317995915193081287253640724589491920322762247365135267246250661610294296873929666518716282424975708205958502908255400199414544491551112484624133501367925032333050415192098295594588346434608289147126550625956226047266525309916490356520653746480109249211736706186034805818391180190921523721107220549944570403197023102676375138850918757364768727175388454762941682051630112034613127357306253118026952128793923470398278708751934014376921184563183799183040184583770495307663813148862930455160459361951951675590581993724059571233689419866225350047186185788824133801988245549300769866412008237759639614689850411600615042958282694290132030167309192090380095977112197400282158190424797200904938895376075501753804754718436504153606558661044058482827428099353187011778946342237962872238992352796249713060830889979716705487180333280896203581864544054047821745311066725116243613221227144380950778672117648570982716271938040985022047371677278489221102069963366558970037633856805735674795078876998045970302928400223301615768165266025972406515928220771653375550719634399337421425066813749807385274869443603754704039604538196083152174431396946973088993621551980125300571598401986263862844975907614870181436179575289870726925785807362178382056448968043888839210896071282776167971866644150880787349275957736023850400554852595296569858706779335596529603098197449341204432965538221597135047977477226526558553953750038824439464074546746538483004182825646765269498849377404551647786686208779620186752188664956780422380854437209523227027017500623302162242641072475991282269355623959280173584643852843163236968566427769266964056619346490911240574112126921078162680127123019054751528401470449091581740273716960844037554098562099627709211829996368994576639738480670803898929578737678165406367620805211663702859140750587483187652782767749894159740980457813699823056936392005393632639794998365011430459117468054358143737623397126055884513750344833968003204134172706317869728563429368594430869862519266396518575357998011585421284317978299733998705632399599106380347528435613706774739690091046432661631212294678446414913589351270527305857677711120797801931004549739188475146011734900878137615044746394293223586487167935497864876734686315762566989670540142098709043094196258796462302120850586872147683676254445298479300547614574690101491587332451687251563018912050705035064026843193017505240706592504228424955417576354247509053918291362318531066069840436766104386121473233352227505758102269770352934168747711322050591943673229227142695726010651848103524162776141496518528599011459412729019546038488937738027016364170294425017887804053680825758689204882881449150499030878652928227490866561973572567553691378408450665267551461706046937596903165421821796794293135970847174012384419831024004362066625493570367891066882 494106655691986243020133170314853979515825050822841269139517204434311917977422445783895547335507754751870568984504924479286919113797805461522839575955317617766983135237209974215227884600248780629004988152305500133020991971080905937813916161013119643551962596431379617533853221329775527913169130229315267004219131067160823163014862880404857257497894110461177979584959610689414058294619456267856134854451784940946892248630013719770169359104794260274424095414652573563516107974320787505992485532299495882629661085982315677134900814404797695610617333859691130471110474086730976234315917843842425124347458893314167450575680815318941032011484489491917231508111768860639728728545723028066320265575190943533515049068541532181637147134098462316286450991281375439390896871959090856480191121083295243904301319558413661285780626289454201159060203790900407231047029569933754917313446469602950631001790043900883919432019776340190568402141752383952969018202775589559627996114105097265168244489926257205171831985325305370461973935026949689137319064020234001339428608394708050731067988692262559149525694740668939653806724095773151946836019713503428258814567933819498336185484330335160590559201724196218366531214932847131821096855346979354105371276068057270600132455061936146866097614700525537798642504494253106198946346726887988685583354409390651488833362715149388250970595990152843612547640335448799611965965516645190107729497439892665265882136039260627425270576831765365554925246142882289495584246309913962504928117361793510647617842468876238803834108897170214323962413670179716835096243821184811190178531090049491232041329629464777654352240993207793335299195070386689492707164548289630608326656127934387420775572038064958702252600067673184714532541029483743554154277748830465347930398908522953493639739146008728569558577424825412549089953151145485583739646350381284145982494259101001696958874873106260172910745078416999665389593999025367877180312338409781429232848421116500490442229929603645246265672074534582625248079473379162673082158506555138448191141979339900397072422663625478507763724013167708381755903529822544590825908295876000333003105339795680965896913292222539777065453265739647974313160765610396923448585687170141257342773258942033899337365273673847493002284047128759259280545186773422606846798600705681463997452445662062010043136432288072397435781468054222322394227178882688668125816883699989857646735386564777381075643824494254919940464136266981979269186847050025702647914880642272969991818954266084094527410447191063903840984800350426516551599654931241747415893646090916846023729800675064047650044866642842245687594199038264157915764643459232183717762384446909511762999635402877881788257344470461068291266959698765922631345829589875744251369951425409507301040948811139104552459069119219020388301173475690862466093735306398991542033675816758306499928657797249822594600665087331071391230150530618184370533953706371088896423154334258259781684397552040623752576675731334718848283915728662739999363296521953649054706560694052675773121 799481362977175436002021312910315996978014638563347005282464281384494925074901104911567307774272330815440612082779655609437433442438495091348182620536363990417929740065238928629679652409015070785028133791551435500796392197568828318542997551537075198869958511624460904787493945919267448235931377594450534250469792677455120036944529399121139682473602316419680887840359810103958549845731940891989636222376817273997307440728309314358515793713083407400974721370878620830041417890811144026646232012408745094366367272017121495526081005326321416717837883804261533668133576763106115085234675208611152299735913656255849502205792849932068389317737607518869360302035239258918437480479737404987504828758990126573699632839036839845450295997028917476745812943233051029972890596018662090169610987308645291090487108382547463274026175590224067571068441550540021920897441170548797875596140759734980798310982134280979896544217176622348758826938953288891864394278277343364382714550609250871726905533984740032599931338512317149408316172989821928129671860269947062170318588111413537911401269588466141014069748788490684964873449212016765168063164094454206930932216504802214608123525315357207962236480213417320436494581491817169454953661082654149184248274114027573528532678363551915031363640672932053726863276147628656918580746064309413752397104216775926358276966469853427855508792073305018043944587308537793233517945641945761706131483703755510241789750909442063604845866702492291340732608321264345944552290198753173400999400137961482514261993349663588079791844921020614878815008966749575541875579417714414288375980431253924197579551226599825631829467519766347289049233894826153567253911086772634791152302893203886270152976589712745388461379687859936903197497809906124408591487272057492365431022210685196134712215137290997925182536704998997192942796314382454150167415617345340765328985170341575809085795951268940300033764133168528066860043090607108150897273182447335527794948048825712320438598924180284984746342878433512203985757638785530293887370170257997588941729462527553179840172557785219488221537712990765318147908923455184385824273307306459450471159697939418589294039348107053527410287233742852108485867083480125486877954281601011119862039655460609257335376859095131810980583781127464891680144293153770135282412307480421154088498878323693222337814878702985986787051995360080000105347976684619672675556072175135869381636264702392425822038117717841407108399634131858713955502609617015373188056979351316064188077750728386215377997319338747580095430098829727064166174345032733334748345333342479864935780505710128074493237884148082952280098427463219575492118890968286102009124702977975581603436401507264003261490696697966826393536730051700091379057151640467687924599178568105233311692796914663267328600565637747619399760586204710408504582673044426007906203970241776194303982338623008511799483546536481570422108803458845675237095927278938642587801562784923527333146103598978220655742097553131513141419886575836752383783127545958011121332054264420566840003 1293588018669161679022154483225169976493839689386188274421981485818806843052323550695462855109780085567311181067284580088724352556236300552871022196491681608184912875302448902844907537009263851414033121943856935633817384168649734256356913712550194842421921108055840522321347167249042976149100507823765801254688923744615943199959392279525996939971496426880858867425319420793372608140351397159845771076828602214944199689358323034128685152817877667675398816785531194393557525865131931532638717544708240976996028357999437172660981819731119112328455217663952664139244050849837091319550593052453577424083372549570016952781473665251009421329222097010786591810147008119558166209025460433053825094334181070107214681907578372027087443131127379793032263934514426469363787467977752946649802108391940534994788427940961124559806801879678268730128645341440429151944470740482552792909587229337931429312772178181863815976236952962539327229080705672844833412481052932924010710664714348136895150023910997237771763323837622519870290108016771617266990924290181063509747196506121588642469258280728700163595443529159624618680173307789917114899183807957635189746784438621712944309009645692368552795681937613538803025796424664301276050516429633503289619550182084844128665133425488061897461255373457591525505780641881763117527092791197402437980458626166577847110329185002816106479388063457861656492227643986592845483911158590951813860981143648175507671886948702691030116443534257656895657854464146635440136536508667135905927517499754993161879835818539826883625953818190829202777422636929292376971823238899225478554511521303415429620880856064603286181708512974140624348428965212843059961075635062265399478959021138273690928548627777704090713979755533121617730038839389867962745765020887957713361421119208149628351954283299726494741114129824409742032749465527939733907061967726624911311479429442577506044670824375200472944509211585527732249637089632476028077585520857116957027796469942212810880828853783930231012014952968094829233837112164692966969528676813136037132871441867453576912595221410697995985261726158473699903812453277728976650181603182459783474265037735099555190952640329593304475740499482500082799027849090522410326539968771152377204812914402643156672742132768979303982867828256224150960689479927192742129210908186102618085951323985755232380951310991058384222833463414302322499575155567308340801372955875125727028371651267169806897681942212096327048863770398840693224689456667041075835971859993589034179896704994470309905407766529811483936414899180153580717773999963975082164238979433396710959510306385192122143282750790925197967692626501483733407883534427518285726887087424885093366436036910141885049748041168427894684803689750466014010402981230343432175969129993514740612733745725802371881059634756966639788061759680401270970676408350824999448237646058534500803910996420258334394084211623812641813338953989463859607629880985309731484224717119181787114830501151018844408318773284466231989703802304499492383146424067911660176038614958473242613124 2093069381646337115024175796135485973471854327949535279704445767203301768127224655607030162884052416382751793150064235698161785998674795644219204817028045598602842615367687831474587189418278922199061255735408371134613776366218562574899911264087270041291879619680301427108841113168310424385031885418216335505158716422071063236903921678647136622445098743300539755265679230897331157986083338051835407299205419488941507130086632348487200946530961075076373538156409815223598943755943075559284949557116986071362395630016558668187062825057440529046293101468214197807377627612943206404785268261064729723819286205825866454987266515183077810646959704529655952112182247378476603689505197838041329923093171196680914314746615211872537739128156297269778076877747477499336678063996415036819413095700585826085275536323508587833832977469902336301197086891980451072841911911031350668505727989072912227623754312462843712520454129584888086056019658961736697806759330276288393425215323599008622055557895737270371694662349939669278606281006593545396662784560128125680065784617535126553870527869194841177665192317650309583553622519806682282962347902411842120679000943423927552432534961049576515032162151030859239520377916481470731004177512287652473867824296112417657197811789039976928824896046389645252369056789510420036107838855506816190377562842942504205387295654856243961988180136762879700436814952524386079001856800536713519992464847403685749461637858144754634962310236749948236390462785410981384688826707420309306926917637716475676141829168203414963417798739211444081592431603678867918847402656613639766930491952557339627200432082664428918011176032740487913397662860038996627214986721834900190631261914342159961081525217490449479175359443393058520927536649295992371337252292945450078792443329893345763064169420590724419923650834823406934975545779910393884074477585071965676640464599784153315130466775644140772978273344754055799109680180239584178974858703304452484822744518767925131319427777964215215758357831401607033219594750950223260856898847071133626074600904395006756752767779195917484206799439149239018051721376732913362474454910488919233945424735674518144484991988436646831886027733225352191284894932570647897204494250372163497066852569863252414008118991864111114963451609383689042640833773080962877411623215666523772174450202309448454718766189694044371009885458774382322604923132251928013476929028050261596410007915969562232719720059929937734157263404530699407180192066284056449024028839344905098367974455722856525283405085868559064031844998009880644883948344996708416912584312775876575895290812095320196636520634939008150247791053964703308900002425395804387736011790402860674969872438417405888311238737866394721078340419802166105389460132870811120100568308561619973924426542640465639209660200394714259187822345885111679475259081395251007354441616300310695107893335043266846193567758160294212235447757448309534844725808264248374072026279904105314447976604749997065064060870837597745131123688880336244766929551613869671297370669222893809453127 3386657400315498794046330279360655949965694017335723554126427253022108611179548206302493017993832501950062974217348815786886138554911096197090227013519727206787755490670136734319494726427542773613094377679265306768431160534868296831256824976637464883713800727736141949430188280417353400534132393241982136759847640166687006436863313958173133562416595170181398622690998651690703766126434735211681178376034021703885706819444955382615886099348838742751772354941941009617156469621075007091923667101825227048358423988015995840848044644788559641374748319132166861946621678462780297724335861313518307147902658755395883407768740180434087231976181801540442543922329255498034769898530658271095155017427352266788128996654193583899625182259283677062810340812261903968700465531974167983469215204092526361080063964264469712393639779349580605031325732233420880224786382651513903461415315218410843656936526490644707528496691082547427413285100364634581531219240383209212404135880037947145517205581806734508143457986187562189148896389023365162663653708850309189189812981123656715196339786149923541341260635846809934202233795827596599397861531710369477310425785382045640496741544606741945067827844088644398042546174341145772007054693941921155763487374478197261785862945214528038826286151419847236777874837431392183153634931646704218628358021469109082052497624839859060068467568200220741356929042596510978924485767959127665333853445991051861257133524806847445665078753771007605132048317249557616824825363216087445212854435137471468838021664986743241847043752557402273284369854240608160295819225895512865245485003473860755056821312938729032204192884545714628537746091825251839687176062356897165590110220935480433652010073845268153569889339198926180138657575488685860334083017313833407792153864449101495391416123703890450914664764964647816677008295245438333617981539552798590587951944029226730821175137600019341245922782556339583531359317269872060207052444224161569441850540988710137942200256631748145446770372784369701862453431863114916227826427523884269663207472346262460333665363000606615480192061165307712717955533830010642339124636513671379017419689773409617699675944628766240136361768232707852274083922781661170307531034219143315874271665484265895570680861124633090418946319437639913193601523253008155619540834123852626390260401526295203687099717500685102755232718922188684645104498287819236354278301983925387323438379567236732039617402002142034061206127174929540100404881522951097524860000699338494132547871160717326835188812852398370547968259897190034225601722344960683499076823292209273286854801118480512318779803385729933348215483680466187042307885959823322673462898877827745768336308475327547773360986779034822615763144109552632119399863114101154552276537438555134714537160288366268011090719835151680898975884105565512950445935489746076006802679262358845195911804331463525180587651969784106854048786711437773394452355689249558105556250997023287101562807105901015909472379644122063977120827491184835737150075975681781331473409284181367052066251 5479726781961835909070506075496141923437548345285258833830873020225410379306772861909523180877884918332814767367413051485047924553585891841309431830547772805390598106037824565794081915845821695812155633414673677903044936901086859406156736240724734925005680347416443376539029393585663824919164278660198472265006356588758069673767235636820270184861693913481938377956677882588034924112518073263516585675239441192827213949531587731103087045879799817828145893098350824840755413377018082651208616658942213119720819618032554509035107469846000170421041420600381059753999306075723504129121129574583036871721944961221749862756006695617165042623141506070098496034511502876511373588035856109136484940520523463469043311400808795772162921387439974332588417690009381468037143595970583020288628299793112187165339500587978300227472756819482941332522819125401331297628294562545254129921043207483755884560280803107551241017145212132315499341120023596318229025999713485500797561095361546154139261139702471778515152648537501858427502670029958708060316493410437314869878765741191841750210314019118382518925828164460243785787418347403281680823879612781319431104786325469568049174079567791521582860006239675257282066552257627242738058871454208808237355198774309679443060757003568015755111047466236882030243894220902603189742770502211034818735584312051586257884920494715304030455748336983621057365857549035365003487624759664378853845910838455547006595162664992200300041064007757553368438780034968598209514189923507754519781352775187944514163494154946656810461551296613717365962285844287028214666628552126505012415495426418094684021745021393461122204060578455116451143754685290836314391049078732065780741482849822593613091599062758603049064698642319238659585112137981852705420269606778857870946307778994841154480293124481175334588415799471223611983841025348727502056017137870556264592408629010884136305604375663482018901055901093639330468997450111644386027302927466021926673285507478063073519684409712360662528730615771308895673026614065139488683326370955403289282073250657467090418130779802532964398860604456951736007255206743555701599091424160298251365114509084135844160936617202886968247795965933204465368817714231818204735528469515479371338518054129147984688980116497201533909771047023602236242357026089118496952457339519150162434851728604652141818483690379147126242604380963066967709421420071164367755231011975648919848387483206294272337122062071971795363390579460239507585073589235153973884029538683399230915845616440183360472217938266929612000104895199914870485670689957391915989407604985149862750091930575832515416324020668941498463274734430890351207888385219127061198910668230606443306180913744953661672225516901217336841484529354798224789323246971965672377105747116754688461586831006733650300380035546395158163706451450624629921194571141327014157120878659155891019697666506792026781219727944401066284234468886082929297081497513806479628277276927392416010783710651012974536440514959661722251951180065171981917005527295651002770779953404260861519378 8866384182277334703116836354856797873403242362620982387957300273247518990486321068212016198871717420282877741584761867271934063108496988038399658844067500012178353596707961300113576642273364469425250011093938984671476097435955156237413561217362199808719481075152585325969217674003017225453296671902180609024853996755445076110630549594993403747278289083663337000647676534278738690238952808475197764051273462896712920768976543113718973145228638560579918248040291834457911882998093089743132283760767440168079243606048550349883152114634559811795789739732547921700620984538503801853456990888101344019624603716617633270524746876051252274599323307610541039956840758374546143486566514380231639957947875730257172308055002379671788103646723651395398758502271285436737609127944751003757843503885638548245403464852448012621112536169063546363848551358822211522414677214059157591336358425894599541496807293752258769513836294679742912626220388230899760245240096694713201696975399493299656466721509206286658610634725064047576399059053323870723970202260746504059691746864848556946550100169041923860186464011270177988021214174999881078685411323150796741530571707515208545915624174533466650687850328319655324612726598773014745113565396129964000842573252506941228923702218096054581397198886084118808118731652294786343377702148915253447093605781160668310382545334574364098923316537204362414294900145546343927973392718792044187699356829507408263728687471839645965119817778765158500487097284526215034339553139595199732635787912659413352185159141689898657505303854015990650332140084895188510485854447639370257900498900278849740843057960122493326396945124169744988889846510542676001567111435629231370851703785303027265101672908026756618954037841245418798242687626667713039503286920612265663100172228096336545896416828371626249253180764119040288992136270787061120037556690669146852544352658237614957480741975682823264823838457433222861828314719983704593079747151627591368523826496188201015719941041460506109299103400141010758126458477180055716509753894839672952489545596919927424083493780409148444590921769764664453962789036754198040723727937831677268784804282493753543836881245969127104609564198641056739452740495892988512266562688658795245610183538395043555369841241130291952856090484663515429843880279097274116493291463371776552695253254899855828918201191064249881475323303151751612813919707890400722033532995901036243286767050443026311954524064214005856569517754389779607989955112186251498744030238021893363463716777157510195661030790665300159968364792389949096087393034918075415066230897194423149604893049056344834196127406398874846678758414897077393515774345042449734661809546058352211642489389072501435033212295936039952604628638907430344189186361073120224653643185671889402998747119373001661391099870698076057139590557016137580367130060887403020959800141018001086931501997970317207368871697728507920333021180323856323749437186763364585184528273950679517573590816552028884008820159081725699372778671250007719067081502977432334244189237585627913585629 14346110964239170612187342430352939796840790707906241221788173293472929369793093930121539379749602338615692508952174918756981987662082879879709090674615272817568951702745785865907658558119186165237405644508612662574521034337042015643570297458086934733725161422569028702508247067588681050372460950562379081289860353344203145784397785231813673932139982997145275378604354416866773614351470881738714349726512904089540134718508130844822060191108438378408064141138642659298667296375111172394340900419709653287800063224081104858918259584480559982216831160332928981454620290614227305982578120462684380891346548677839383133280753571668417317222464813680639535991352261251057517074602370489368124898468399193726215619455811175443951025034163625727987176192280666904774752723915334024046471803678750735410742965440426312848585292988546487696371370484223542820042971776604411721257401633378355426057088096859810010530981506812058411967340411827217989271239810180213999258070761039453795727861211678065173763283262565906003901729083282578784286695671183818929570512606040398696760414188160306379112292175730421773808632522403162759509290935932116172635358032984776595089703742324988233547856567994912606679278856400257483172436850338772238197772026816620671984459221664070336508246352321000838362625873197389533120472651126288265829190093212254568267465829289668129379064874187983471660757694581708931461017478456423041545267667962955270323850136831846265160881786522711868925877319494813243853743063102954252417140687847357866348653296636555467966855150629708016294425929182216725152482999765875270315994326696944424864802981515954448601005702624861440033601195833512315958160514361297151593186635125620878193271970785359668018736483564657457827799764649565744923556527391123534046480007091177700376709952852801583841596563590263900975977296135788622093573828539703117136761287248499093786346351346305283724894358526862192297312170095348979107050079093613295197112003666264089239625451172866771827834015912319653799485091245195205193080265795076241771618847577394514501624560211681408989782374221616189970044243497753742322819361991975520149918791577889387997817863172014072857360164574261204821558210124806717002091158174274616948701592524191540058821357627493486765861531687117666086237305186392613445748802890926715130104983504507970736684881443397007717927684114818580523341127961565089788764007876685163135154533649320584291646126285977651932908333850019115575028701421405472628059776705292594379562393597693556133248728932229771968469687589863966573063724875467331055638502179573012354984979632177349612451427067816345142033149327967744723662730261576795860720214288958654948670302817455096705437812837257289446113168262228568978509608045085897030748932788644091460333950379735311691479906244471215303297008466762210288324632028730035116921019677156977951199664477109234150091425672908986617255649209939253046518684277171064812805550878071933584374527203041858545260674041387421624729851315179700984087030273083337014969190989888775105007 23212495146516505315304178785209737670244033070527223609745473566720448360279414998333555578621319758898570250536936786028916050770579867918108749518682772829747305299453747166021235200392550634662655655602551647245997131772997171880983858675449134542444642497721614028477464741591698275825757622464559690314714350099648221895028334826807077679418272080808612379252030951145512304590423690213912113777786366986253055487484673958541033336337076938987982389178934493756579179373204262137473184180477093455879306830129655208801411699115119794012620900065476903155241275152731107836035111350785724910971152394457016403805500447719669591821788121291180575948193019625603660561168884869599764856416274923983387927510813555115739128680887277123385934694551952341512361851860085027804315307564389283656146430292874325469697829157610034060219921843045754342457648990663569312593760059272954967553895390612068780044817801491801324593560800058117749516479906874927200955046160532753452194582720884351832373917987629953580300788136606449508256897931930322989262259470888955643310514357202230239298756187000599761829846697403043838194702259082912914165929740499985141005327916858454884235706896314567931292005455173272228286002246468736239040345279323561900908161439760124917905445238405119646481357525492175876498174800041541712922795874372922878650011163864032228302381411392345885955657840128052859434410197248467229244624497470363534052537608671492230280699565287870369412974604021028278193296202698153985052928600506771218533812438326454125472159004645698666626566014077405235638337447405245528216493226975794165707860941638447774997950826794606428923447706376188317525271949990528522444890420428648143294944878812116286972774324810076256070487391317278784426843448003389197146652235187514246273126781224427833094777327709304189968113566922849742131130519208849969681113945486114051267088327029128548548732815960085054125626890079053572186797230721204663720938499854465104959566492633372881126937416053330411925943568425250921702834160634749194261164444497321938585118340620829853580704143986280643932833280251951783046547299823652788934723074071642931834699109141141177466924363215317944274298706017795229268653846833069862558885130919235095428662598757785439621952016350633095930117584283666729939040266262703267825358238404363799654886072507646889193250987266570193337260835851965811822297003777721406421921584092346896246170190499983508502426088239798723564983813607656971372090014727185957843279170755203751794279519597529931936834479979813062660456759793542746121869399373996161959878028688522183808578833466691191820791564225045138239437075304026530522529760347310866591159691889956531738650108773297242050741807169658913167695969118206121684392118460533494459081069752736973082579776942547272442887565482899790655454692916133056076721160695158064882701662447426441518963123401416906950276829533795576795955871040535649997333824828751451157965343755070742554080833123113120997508522565187420051168533250515671259158428575516688690636 37558606110755675927491521215562677467084823778433464831533646860193377730072508928455094958370922097514262759489111704785898038432662747797817840193298045647316257002199533031928893758511736799900061300111164309820518166110039187524554156133536069276169803920290642730985711809180379326198218573026938771604574703443851367679426120058620751611558255077953887757856385368012285918941894571952626463504299271075793190205992804803363093527445515317396046530317577153055246475748315434531814084600186746743679370054210760067719671283595679776229452060398405884609861565766958413818613231813470105802317701072296399537086254019388086909044252934971820111939545280876661177635771255358967889754884674117709603546966624730559690153715050902851373110886832619246287114575775419051850787111243140019066889395733300638318283122146156521756591292327269297162500620767267981033851161692651310393610983487471878790575799308303859736560901211885335738787719717055141200213116921572207247922443932562417006137201250195859584202517219889028292543593603114141918832772076929354340070928545362536618411048362731021535638479219806206597703993195015029086801287773484761736095031659183443117783563464309480537971284311573529711458439096807508477238117306140182572892620661424195254413691590726120484843983398689565409618647451167829978751985967585177446917476993153700357681446285580329357616415534709761790895427675704890270789892165433318804376387745503338495441581351810582238338851923515841522047039265801108237470069288354129084882465734963009593439014155275406682920991943259621960790820447171120798532487553672738590572663923154402223598956529419467868957048902209700633483432464351825674038077055554269021488216849597475954991510808374733713898287155966844529350399975394512731193132242278691946649836734077229416936373891299568090944090863058638364224704347748553086817875232734613145053434678375433832273627174486947246422939060174402551293847309814817958918050503520729194199191943806239652954771431965650065725428659670446126895914426429825436032783292074716453086742900832511262570486518207896833902877523749705525369366661815628309084641865649532319832516972313155250324284527789579149095856916142601946270745005007344479507586723443426635487483956385278926387813548037750762016354889470059343384789069153629982955463221908871770391570953951043896911178671381388773860601963813530901611061011654406569557076117741667480537816316785961160435334422089817839140012515029062444000149791432478552222841564352897307927528248529759703905304167569677029233520484669010077177507901553569174314863008320699533421030260534507536962824713553012882963099805565603326383249974636269521539829994707411628444087921610554531496854975431887482146205577163292018715141051249177585919415020132472284774059683187018487746184573949662000943779324944863091193642180372315042833901326924535675669054549074325893567532478743734829842474555317706714810139375706823384742339870958112601099341507164500542622238373880367121035255563523599008274127619565405463795643 60771101257272181242795700000772415137328856848960688441279120426913826090351923926788650536992241856412833010026048490814814089203242615715926589711980818477063562301653280197950128958904287434562716955713715957066515297883036359405538014808985203818614446418012256759463176550772077602023976195491498461919289053543499589574454454885427829290976527158762500137108416319157798223532318262166538577282085638062046245693477478761904126863782592256384028919496511646811825655121519696669287268780663840199558676884340415276521082982710799570242072960463882787765102840919689521654648343164255830713288853466753415940891754467107756500866041056263000687887738300502264838196940140228567654611300949041692991474477438285675429282395938179974759045581384571587799476427635504079655102418807529302723035826026174963787980951303766555816811214170315051504958269757931550346444921751924265361164878878083947570620617109795661061154462011943453488304199623930068401168163082104960700117026653446768838511119237825813164503305356495477800800491535044464908095031547818309983381442902564766857709804549731621297468325917209250435898695454097942000967217513984746877100359576041898002019270360624048469263289766746801939744441343276244716278462585463744473800782101184320172319136829131240131325340924181741286116822251209371691674781841958100325567488157017732585983827696972675243572073374837814650329837872953357500034516662903682338428925354174830725722280917098452607751826527536869800240335468499262222522997888860900303416278173289463718911173159921105349547557957337027196429157894576366326748980780648532756280524864792849998596907356214074297880496608585888951008704414342354196482967475982917164783161728409592241964285133184809969968774547284123313777243423397901928339784477466206192922963515301657250031151219008872280912204429981488106355834866957403056498989178220727196320523005404562380822359990447032300548565950253456123480644540536022622638989003375194299158758436439612534081708848018980477651372228095697048598748587064574630293947736572038391671861241453341116151190662194177477835710804001657308415913961639281098019364939721175251667216081454296427791208891004897093370155622160397175539398851840414342066471854362661730916146555143064366009765564388383857946472473753726073323829335416333250780821460313235570046457026458690786104429658647958967197862799665496713433358015432127975978997701834014376783986507285944668937760510329616562704996328636719415372239806159664510066120735108101059721807768127289635842138647549490091893977244462552823299377300927565336274741037009221717229609094001198728783616277778058021202536880869629856905779734983580388130989686597368160182738030383851773547596782601546395313901546281498140399533169709711080378496089885209257856639460129565760189072139432561791599234017860996147270363341067473107716602989371962117188017672475742800517809308277530406638430426358242364807473200535574835900305214713183343653422340287613663619746896445554541086424096774114679533286048140922152486279 98329707368027857170287221216335092604413680627394153272812767287107203820424432855243745495363163953927095769515160195600712127635905363513744429905278864124379819303852813229879022717416024234462778255824880266887033463993075546930092170942521273094784250338302899490448888359952456928222194768518437233523863756987350957253880574944048580902534782236716387894964801687170084142474212834119165040786384909137839435899470283565267220391228107573780075449814088799867072130869835131201101353380850586943238046938551175344240754266306479346471525020862288672374964406686647935473261574977725936515606554539049815477978008486495843409910293991234820799827283581378926015832711395587535544366185623159402595021444063016235119436110989082826132156468217190834086591003410923131505889530050669321789925221759475602106264073449923077573402506497584348667458890525199531380296083444575575754775862365555826361196416418099520797715363223828789227091919340985209601381280003677167948039470586009185844648320488021672748705822576384506093344085138158606826927803624747664323452371447927303476120852912462642833106805137015457033602688649112971087768505287469508613195391235225341119802833824933529007234574078320331651202880440083753193516579891603927046693402762608515426732828419857360616169324322871306695735469702377201670426767809543277772484965150171432943665273982553004601188488909547576441225265548658247770824408828337001142805313099678169221163862268909034846090678451052711322287374734300370459993067177215029388298743908252473312350187315196512032468549900596649157219978341747487125281468334321271346853188787947252222195863885633542166837545510795589584492136878694179870521044531537186186271378578007068196955795941559543683867061703250967843127643398792414659532916719744898139572800249378886666967525110308440371856295293040126470580539214705956143316864410955340341373957683779996213095987164933979546971505010427858674774491850350840581557039506895923493357950380245852187036480279984630543376800887766143175494663013494400066326731028646754844758604142285852378721677180402074311738588327751362833785280623454909407104006805370707571499733053767451678115493418794476242466012538302999121810143856847758821574058577806088366403630511528343292397579112426134619962827363223785416708618404569963233736284682222107340438027980409734683015608330029347741058464763479027615044419027086534545536073819575681857321802824071905829373094932419434401845008843665781859372389597592143062288962299460998367649336016657049339747442815119167121127497729131562900476885202481134510589604045329921250650639354535706265746440991331070904165636686435233183289029709619849909670819681304779788626825951994406305044451758033433877460107123444790159114674220958888666297911110017681542630699143316584247935256713382223792543013342805859238464005521439788150550504316296497792857072221550068694085341787021265236480904981675949079617612576242398220642645085671295944752763847452114206241985270325921662121679660297713687807413667706327616281922 159100808625300038413082921217107507741742537476354841714091887714021029910776356782032396032355405810339928779541208686415526216839147979229671019617259682601443381605506093427829151676320311669025495211538596223953548761876111906335630185751506476913398696756315156249912064910724534530246170964009935695443152810530850546828335029829476410193511309395478888032073218006327882366006531096285703618068470547199885681592947762327171347255010699830164104369310600446678897785991354827870388622161514427142796723822891590620761837249017278916713597981326171460140067247606337457127909918141981767228895408005803231418869762953603599910776335047497821487715021881881190854029651535816103198977486572201095586495921501301910548718506927262800891202049601762421886067431046427211160991948858198624512961047785650565894245024753689633390213720667899400172417160283131081726741005196499841115940741243639773931817033527895181858869825235772242715396118964915278002549443085782128648156497239455954683159439725847485913209127932879983894144576673203071735022835172565974306833814350492070333830657462194264130575131054224707469501384103210913088735722801454255490295750811267239121822104185557577476497863845067133590947321783359997909795042477067671520494184863792835599051965248988600747494665247053047981852291953586573362101549651501378098052453307189165529649101679525679844760562284385391091555103421611605270858925491240683481234238453852999946886143186007487453842504978589581122527710202799632682516065066075929691715022081541937031261360475117617382016107857933676353649136236323853452030449114969804103133713652740102220792771241847616464718042119381478535500841293036534067004012007520103351054540306416660438920081074744353653835836250535091156904886822190316587872701197211104332495763764680543916998676329317312652768499723021614576936374081663359199815853589176067537694480689184558593918347155381011847520070960681314798255136390886863204196028510271117792516708816685464721118189128003611021028173115861840224093411600558974696620678765218793236430465383739193494872867842596251789574299131753020142201194585094190505123371745091882823166949135221748105906702309799373335836168160463396297349542708688173163640530432168750097319777066671407658407344676814518477909299836977511490032447739986296484517106142535342910484485006868425469120037988677306708256327563144524328477777042518662521515071521409696234105789331357850498310855442749050964550005172302501274744629403751807572355083034569099427371143784784338975589581462668657213021474973594115723776262503408699846864345082339142967880248448536904994530057269109128925368173567304863040194809444603430297801809367902147948809563982378258078592048540634980272774008669726288299514207390668599746676407199902890800487338603446150008124328852814785584142247360666855385734368862507261258267107305668459910045089894025811494603151095298795643119335408034191444425085776777973056542950300384479288406186187739727869861732166771476203208103757071828367340699715847249768768201 257430515993327895583370142433442600346156218103748994986904655001128233731200789637276141527718569764267024549056368882016238344475053342743415449522538546725823200909358906657708174393736335903488273467363476490840582225869187453265722356694027750008182947094618055740360953270676991458468365732528372928967016567518201504082215604773524991096046091632195275927038019693497966508480743930404868658854855456337725117492418045892438567646238807403944179819124689246545969916861189959071489975542365014086034770761442765965002591515323758263185123002188460132515031654292985392601171493119707703744501962544853046896847771440099443320686629038732642287542305463260116869862362931403638743343672195360498181517365564318145668154617916345627023358517818953255972658434457350342666881478908867946302886269545126168000509098203612710963616227165483748839876050808330613107037088641075416870716603609195600293013449945994702656585188459601031942488038305900487603930723089459296596195967825465140527807760213869158661914950509264489987488661811361678561950638797313638630286185798419373809951510374656906963681936191240164503104072752323884176504228088923764103491142046492580241624938010491106483732437923387465242150202223443751103311622368671598567187587626401351025784793668845961363663989569924354677587761655963775032528317461044655870537418457360598473314375662078684445949051193932967532780368970269853041683334319577684624039551553531169168050005454916522299933183429642292444815084937100003142509132243290959080013765989794410343611547790314129414484657758530325510869114578071340577311917449291075449986902440687354442988635127481158631555587630177068119992978171730713937525056539057289537325918884423728635875877016303897337702897953786059000032530220982731247405617916956002472068564014059430583966201439625753024624795016061741047516913296369315343132718000131407879068438372964554807014334320314991394491575971109173473029628241237703785753068017167041285874659196931316908154669407988241564404974003627983399588074614053374762947409793865548081189069526025045873594545022998326101312887459504382975986475208549099912227378550462590394666682188989199784022195728593849578302180698766395419159686565535931985214589009974838463723407578199750950804923789240653097872127200201296906741066144556259718253390824757450250922512987278160152135646318706654449314792326623551943522196069605197067051145340985378091427592155429756327683950375168485366395014015968283134117019001343950634644045334030097795020479801441388315337024277787824334148972702725678624253147705889834357453949127669064218530887803072611260276498260440199829533810253740096223483839154223280207472629049206927737436389934372664383636500298668414150234115793171078458628881611627488412974318309920572343118037746762734256059585566197009376685260703472714624198374383947049408817611621964957702902162115575880188688492882320060879600240389710140524042698353020371277185595386055775233158950035191842076103717437097397865329783417369542055148113383553577385050123 416531324618627933996453063650550108087898755580103836700996542715149263641977146419308537560073975574606953328597577568431764561314201321973086469139798229327266582514865000085537326070056647572513768678902072714794130987745299359601352542445534226921581643850933211990273018181401525988714536696538308624410169378049052050910550634603001401289557401027674163959111237699825848874487275026690572276923326003537610799085365808219609914901249507234108284188435289693224867702852544786941878597703879441228831494584334356585764428764341037179898720983514631592655098901899322849729081411261689470973397370550656278315717534393703043231462964086230463775257327345141307723892014467219741942321158767561593768013287065620056216873124843608427914560567420715677858725865503777553827873427767066570815847317330776733894754122957302344353829947833383149012293211091461694833778093837575257986657344852835374224830483473889884515455013695373274657884157270815765606480166175241425244352465064921095210967199939716644575124078442144473881633238484564750296973473969879612937120000148911444143782167836851171094257067245464871972605456855534797265239950890378019593786892857759819363447042196048683960230301768454598833097524006803749013106664845739270087681772490194186624836758917834562111158654816977402659440053609550348394629867112546033968589871764549764002963477341604364290709613478318358624335472391881458312542259810818368105273790007384169114936148640924009753775688408231873567342795139899635825025197309366888771728788071336347374872908265431746796500765616464001864518250814395194029342366564260879553120616093427456663781406369328775096273629749558546655493819464767248004529068546577392888380459190840389074795958091048250991538734204321150156937417043173047835278319114167106804564327778739974500964877768943065677393294739083355624453287378032674542948571589307475416762919062149113400932681475696003242011646931790488271284764632124566989949096527438159078391368013616781629272858535991852585433147119489823623681486214612349459568088559084341317619534909764239368467412865594577890887186591257403118187669793643290417350750295554473217833631324210947889928898038393222914138348859229791716509229274224105148855119442143588561043184644871158609212268466055171575781427037178808396773513884542556202770496967292793161406997994146585621255684307383961157571119889768076271999973112123859588566216862395074325533381486787606825994805817917536330945019188270784408861648405095758206999128368599197222391623586225727290926605740456481547170447676319794348029410209298534204318294210008207186411136251609516254806555529549328754901983821044959263678648598826710505274438417109075686245953916750922462228548839303394423008124462897366758143089002296088159650725509823463143605376350208884264183914419011794960827508064139570009932743246454310667084718927633417612947252009601691683291643977618856522719575797744331968467784129798344333728545686440254521565136222931569945965449603868874068537887174441370422488813099400827153818324 673961840611955829579823206083992708434054973683852831687901197716277497373177936056584679087792545338873977877653946450448002905789254664716501918662336776053089783424223906743245500463792983476002042146265549205634713213614486812867074899139561976929764590945551267730633971452078517447182902429066681553377185945567253554992766239376526392385603492659869439886149257393323815382968018957095440935778181459875335916577783854112048482547488314638052464007559978939770837619713734746013368573246244455314866265345777122550767020279664795443083843985703091725170130556192308242330252904381397174717899333095509325212565305833802486552149593124963106062799632808401424593754377398623380685664830962922091949530652629938201885027742759954054937919085239668933831384299961127896494754906675934517118733586875902901895263221160915055317446174998866897852169261899792307940815182478650674857373948462030974517843933419884587172040202154974306600372195576716253210410889264700721840548432890386235738774960153585803237039028951408963869121900295926428858924112767193251567406185947330817953733678211508078057939003436705036475709529607858681441744178979301783697278034904252399605071980206539790443962739691842064075247726230247500116418287214410868654869360116595537650621552586680523474822644386901757337027815265514123427158184573590689839127290221910362476277853003683048736658664672251326157115841362151311354225594130396052729313341560915338282986154095840532053708871837874166012157880076999638967534329552657847851742554061130757718484456055745876210985423374994327375387365392466534606654284013551955003107518534114811106770041496809933727829217379735614775486797636497961942054125085634682425706378075264117710671835107352148329241632158107209156969947264155779082683937031123109276632891792799405084931079208568818702018089755145096671970200674401989886081289589438883295831357435113668207947015796010994636503222902899661744314392873362270775702164544605200364266027210548098537427527943980094149838121123117807023269560828665724222515498352949889398808604435789285242061957888592903992200074050761786094174145002192390329578128846017063612500313513200147673951093766987072492440529557996187135668915839760037134069708452118427024766592223070909560017192255295824673653554237380105303514580029098815921023887792050243412329510981424745773391330626090615606885912216391628215522169181729056655617362203380452416960973642217363153678756193086021697340033204239067542978667406439708841643173702629295017412103387667115606263630018244305881319420379045472972282557915188368561772243337677271404942024054682127515083053789989528584435794074785055487162487753049990712747067466316003423682343851123586845865049137971808573242240256068445216771970613923576572625043819744035486723414096971618520243499985208804337512768767612284634131117630401360075902330549598375315849414125177571871980136859938917402319816187454472492510482482818715610914141072496029754724086258123412022069167040966271933867670591810912477636926482954404538868447 1090493165230583763576276269734542816521953729263956668388897740431426761015155082475893216647866520913480931206251524018879767467103455986689588387802135005380356365939088906828782826533849631048515810825167621920428844201359786172468427441585096203851346234796484479720906989633480043435897439125604990177787355323616305605903316873979527793675160893687543603845260495093149664257455293983786013212701507463412946715663149662331658397448737821872160748195995268632995705322566279532955247170950123896543697759930111479136531449044005832622982564969217723317825229458091631092059334315643086645691296703646165603528282840227505529783612557211193569838056960153542732317646391865843122627985989730483685717543939695558258101900867603562482852479652660384611690110165464905450322628334443001087934580904206679635790017344118217399671276122832250046864462472991254002774593276316225932844031293314866348742674416893774471687495215850347581258256352847532018816891055439942147084900897955307330949742160093302447812163107393553437750755138780491179155897586737072864504526186096242262097515846048359249152196070682169908448314986463393478706984129869679803291064927762012218968519022402588474404193041460296662908345250237051249129524952060150138742551132606789724275458311504515085585981299203879159996467868875064471821788051686136723807717161986460126479241330345287413027368278150569684781451313754032769666767853941214420834587131568299507397922302736764541807484560246106039579500675216899274792559526862024736623471342132467105093357364321177623007486188991458329239905616206861728635996650577812834556228134627542267770551447866138708824102847129294161430980617101265209946583193632212075314086837266104506785467793198400399320780366362428359313907364307328826917962256145290216081197219571539379585895956977511884379411384494228452296423488052434664429029861178746358712594276497262781608879697271706997878514869834690150015599157505486837765651261072043359442657395224164880166700386479971946735271268242607630646951047043278073682083586912034230716428139345553524610529370754187481883087260642019189212361814795835680746928879141571536830333944837411095563879991805380295406578878417225978852178145113984142282924827894262015585809776867942068169229460721350996249434981274558913700288093913641372123794384759343036573736508975571331394647014933474576764457032106159704487522142293852916244183579065775526742494355129004969979673562011003558028285052392509851951840315811535467048642302071228492239803726973892842897190235758700787428489868055365267320311968124486902766090537547685478591353160306291643769889609319538857339337777895830014750841136351876701218021505883425079109928297767874509308093597977275202996250364718965811974915059616219664732275769329567498630328790447180502784427414404220599298340276831751854644063860876855670742987049477231792928796666134779263555271780837557773925039391985198804460978266612617059944642686758936284276289222481054981968034616644835146002405557766252282900125739582355231692686771 1764455005842539593156099475818535524956008702947809500076798938147704258388333018532477895735659066252354909083905470469327770372892710651406090306464471781433446149363312813572028326997642614524517852971433171126063557414974272985335502340724658180781110825742035747451540961085558560883080341554671671731164541269183559160896083113356054186060764386347413043731409752486473479640423312940881454148479688923288282632240933516443706879996226136510213212203555247572766542942280014278968615744196368351858564025275888601687298469323670628066066408954920815042995360014283939334389587220024483820409196036741674928740848146061308016335762150336156675900856592961944156911400769264466503313650820693405777667074592325496459986928610363516537790398737900053545521494465426033346817383241118935605053314491082582537685280565279132454988722297831116944716631734891046310715408458794876607701405241776897323260518350313659058859535418005321887858628548424248272027301944704642868925449330845693566688517120246888251049202136344962401619877039076417608014821699504266116071932372043573080051249524259867327210135074118874944924024516071252160148728308848981586988342962666264618573591002609128264848155781152138726983592976467298749245943239274561007397420492723385261926079864091195609060803943590780917333495684140578595248946236259727413646844452208370488955519183348970461764026942822821010938567155116184081020993448071610473563900473129214845680908456832605073861193432083980205591658555293898913760093856414682584475213896193597862811841820376923499218471612366452656615292981599328263242650934591364789559335653161657078877321489362948642551932064509029776206467414737763171888637318717846757739793215341368624496139628305752547650021998520535568470877311571484606000646193176413325357830111364338784670827036186080703081429474249373548968393688726836654315111150768185242008425633932376449816826713067717992515018092737589811759913550378849108541353425616648559806923422434712978704127914423952040885109389365725437670220607871943797904599085264984120115236743781342809852591328642780385875287334692780975306535959798028071076507007987588600442834258350611243237831085572367367899019407975222165987847060953744179416994536346380442610576369091012977729246652976646820923088535511939019003802673942740188044818272551393279986066019956996077168038345559565192371342944322551332703044311475581972899800941269155979159455328771222333133352318204089579725625085596748919494818983217975175890285475773857787257215830361559958503453865776945093309809288434410740292594526039675271327862780885362749996295184360973771284972663109528385923773571970615070238003624104926691930768573349741082533610641618998096153958647115247011569492604975034257191687030230143241304900813149311534117052204544152121304670914389429403635853045599364139278194978507257030818889380026830168244646080259956835427251917697496691327359208172653276953488749095435775555556827831432314031013308739178393990103783685801417936273228358063195377762666065309636231555218 2854948171073123356732375745553078341477962432211766168465696678579131019403488101008371112383525587165835840290156994488207537839996166638095678694266606786813802515302401720400811153531492245573033663796600793046492401616334059157803929782309754384632457060538520227172447950719038604318977780680276661908951896592799864766799399987335581979735925280034956647576670247579623143897878606924667467361181196386701229347904083178775365277444963958382373960399550516205762248264846293811923862915146492248402261785206000080823829918367676460689048973924138538360820589472375570426448921535667570466100492740387840532269130986288813546119374707547350245738913553115486889229047161130309625941636810423889463384618532021054718088829477967079020642878390560438157211604630890938797140011575561936692987895395289262173475297909397349854659998420663366991581094207882300313490001735111102540545436535091763672003192767207433530547030633855669469116884901271780290844193000144585016010350228801000897638259280340190698861365243738515839370632177856908787170719286241338980576458558139815342148765370308226576362331144801044853372339502534645638855712438718661390279407890428276837542110025011716739252348822612435389891938226704349998375468191334711146139971625330174986201538175595710694646785242794660077329963553015643067070734287945864137454561614194830615434760513694257874791395220973390695720018468870216850687761302012824894398487604697514353078830759569369615668677992330086245171159230510798188552653383276707321098685238326064967905199184698101122225957801357910985855198597806189991878647585169177624115563787789199346647872937229087351376034911638323937637448031839028381835220512350058833053880052607473131281607421504152946970802364882963927784784675878813432918608449321703541439027330935878164256722993163592587460840858743602001264817176779271318744141011946931600721019910429639231425706410339424990393532962572279961775512707884335946307004686688691919249580817658877858870828300903923987620380657608333068317171654915221871586682672177018350831664883126896334463120699396967867758374595334800164518897774593863751823435887129160137273168203188022338801711077377747663305598286392448144840025206067728321699919364240642458196386145958955045898476113697997817172523516786497932704090767856381560168612657310736316559802528932567408562685360493039769135799976428711037190566453769434889143984520334931505901949683900227303113025880215093137753910137989258771446659299029510642938927777845086279497019557335452801400644101535645880738299156489776007612906494164162174093953318433048228587648344667265415054862272429067243263111349866445084988844760456803393148790079233166161643538939386872605462052245092522214565742969694000069166602089846362906037176582478879032747380994991332624089098328793650002934193322431115993922258839384112701561876429504061961173442746394736098982523698535054465252398600157852081414467015708052835500199514590368598307302531220233375958138400330636563938678786124315478277888405647664867924241989 4619403176915662949888475221371613866433971135159575668542495616726835277791821119540849008119184653418190749374062464957535308212888877289501769000731078568247248664665714533972839480529134860097551516768033964172555959031308332143139432123034412565413567886280555974623988911804597165202058122234948333640116437861983423927695483100691636165796689666382369691308080000066096623538301919865548921509660885309989511980145016695219072157441190094892587172603105763778528791207126308090892478659342860600260825810481888682511128387691347088755115382879059353403815949486659509760838508755692054286509688777129515461009979132350121562455136857883506921639770146077431046140447930394776129255287631117295241051693124346551178075758088330595558433277128460491702733099096316972143957394816680872298041209886371844711160578474676482309648720718494483936297725942773346624205410193905979148246841776868660995263711117521092589406566051860991356975513449696028562871494944849227884935799559646694464326776400587078949910567380083478240990509216933326395185540985745605096648390930183388422200014894568093903572466218919919798296364018605897799004440747567642977267750853094541456115701027620845004100504603764574116875531203171648747621411430609272153537392118053560248127618039686906303707589186385440994663459237156221662319680524205591551101406066403201104390279697043228336555422163796211706658585623986400931708754750084435367962388077826729198759739216401974689529871424414066450762817785804697102312747239691389905573899134519662830717041005075024621444429413724363642470491579405518255121298519760542413674899440950856425525194426592035993927966976147353713843915446576791553723857831067905590793673267948841755777747049809905494620824363403499496255661987450298038919254642498116866796857442300216948927550029349673290542270332992975550233210865506107973059252162715116842729445544362015681242533123407142982908551055309869773535426258263185054848358112305340479056504240093590837574956215327876028505490046974058505987392262787165669491281757442002470946901626908239144315712028039748253633661930027581139825433734391891822899942895116748737716002461538633582039542162950115031204617694367670310827872267021472501116913900587022900806962515049968023627722766674644638095612052298436951707893441799121748213430929862129596545868548889563485730723706052604961507142920751262369893610765245016862043785461604087485061405012671449636246378198419182717479535223586007690941478282247485818829213253618944066754235387697012759904097967312590974048108444924186747905501020203837445421816099318410978583943529028239186339834935538595629186884921837060155226848384561730085079558652582907244177149581005870701616010892207769226135235574669034326358289120076506147342077395628190566864433199535484745393769243183079406570046368030480133200453817891369732380765809530892129418088826654692934409775616232551156579757808330505358367955764803488611055756342421800912338315839959411769948242184016437981874952014482378673655651071712974504155797207 7474351347988786306620850966924692207911933567371341837008192295305966297195309220549220120502710240584026589664219459445742846052885043927597447694997685355061051179968116254373650634060627105670585180564634757219048360647642391300943361905344166950046024946819076201796436862523635769521035902915224995549068334454783288694494883088027218145532614946417326338884750247645719767436180526790216388870842081696690741328049099873994437434886154053274961133002656279984291039471972601902816341574489352848663087595687888763334958306059023549444164356803197891764636538959035080187287430291359624752610181517517355993279110118638935108574511565430857167378683699192917935369495091525085755196924441541184704436311656367605896164587566297674579076155519020929859944703727207910941097406392242808991029105281661106884635876384073832164308719139157850927878820150655646937695411929017081688792278311960424667266903884728526119953596685716660826092398350967808853715687944993812900946149788447695361965035680927269648771932623821994080361141394790235182356260271986944077224849488323203764348780264876320479934797363720964651668703521140543437860153186286304367547158743522818293657811052632561743352853426377009506767469429875998745996879621943983299677363743383735234329156215282616998354374429180101071993422790171864729390414812151455688555967680598031719825040210737486211346817384769602402378604092856617782396516052097260262360875682524243551838569975971344305198549416744152695933977016315495290865400622968097226672584372845727798622240189773125743670387215082274628325690177211708246999946104929720037790463228740055772173067363821123345304001887785677651481363478415819935559078343417964423847553320556314887059354471314058441591626728286463424040446663329111471837863091819820408235884773236095113184273022513265878003111191736577551498028042285379291803393174662048443450465454791654912668239533746567973302084017882149735310938966147521001155362798994032398306085057752468696445784516231800016125870704582391574304563917702387541077964429619020821778566510035135478778832727436716121392036525362381304344331508985755574723378782245908874989170664726655920841253240327862694510215980760118455667897473089200822816833264827665359003348661008923069526198880372642455268135569084934884411984209655503308382043587172865913105671077822130894293409066545644730642942897179973407084177219014451751187769981939018990963354696571676939359404078634275855233445361575266462388137581276996461768141031464030346251254945032465561304742068848236854786407601413962755518407514367999619515769417751459207171591873695504601394697207967662872449996271703505240215693145018533478228348731816073405820688520392743307078063137300291440700978544363034395524891209922869053379253978107069599611814194526817369482867571976729409504239690461596127122712657275482433942642239034954090591531573049429033392299314767605621832156408488357439782422780511541446555955857012169510645618371179645145906380584347074545813630800606694151933539477360639372080039196 12093754524904449256509326188296306074345904702530917505550687912032801574987130340090069128621894894002217339038281924403278154265773921217099216695728763923308299844633830788346490114589761965768136697332668721391604319678950723444082794028378579515459592833099632176420425774328232934723094025150173329189184772316766712622190366188718854311329304612799696030192830247711816390974482446655765310380502967006680253308194116569213509592327344148167548305605762043762819830679098909993708820233832213448923913406169777445846086693750370638199279739682257245168452488445694589948125939047051679039119870294646871454289089250989056671029648423314364089018453845270348981509943021919861884452212072658479945488004780714157074240345654628270137509432647481421562677802823524883085054801208923681289070315168032951595796454858750314473957439857652334864176546093428993561900822122923060837039120088829085662530615002249618709360162737577652183067911800663837416587182889843040785881949348094389826291812081514348598682500003905472321351650611723561577541801257732549173873240418506592186548795159444414383507263582640884449965067539746441236864593933853947344814909596617359749773512080253406747453358030141583623643000633047647493618291052553255453214755861437295482456774254969523302061963615565542066656882027328086391710095336357047239657373747001232824215319907780714547902239548565814109037189716843018714105270802181695630323263760350972750598309192373318994728420841158219146696794802120192393178147862659487132246483507365390629339281194848150365114816628806638270796181756617226502121244624690262451465362669690912197698261790413159339231968863933031365325278924992611489282936174485870014641226588505156642837101521123963936212451091689962920296108650779409510757117734317937275032742215536312062111823051862939168545381524729553101731238907791487264862645337377165286179910999153670593910772657153710956210635073192019508846365224410706056003720911299372877362589297846059534020740731559676044631360751556450080291956180489553210569246187061023292725468136943374623094544755476464375025698455389962444169765243377647397623321677362657612705173126265289502880795403277977725714833675127788766495769740110673323933747165414688259810311176058891093153921647047287093363747621383371836119877651454625056595474517034995509651539626711694380024132772598249692150085817931235776977787984259468613231555443543106476024759709243126575605782277053458572712980585161274153329615863524482280597354285082974413005490332729478321208840036160827828834516046338149503423908534571837064937585517069870185755535402723743787734532143506258501636881193540565395442541529580263563307907384398980649997838101398614008694074029508060666836214119032068721883180329999375200721331373735260166476247394062302114876636815159808816074286058492076260323166475166852166323408048565846220009620399704121967802074931000156778411914216818862798150378545315030057611712199433970422983934211139056915854622768363512527688582815089072825589190549073613876235836403 19568105872893235563130177155220998282257838269902259342558880207338767872182439560639289249124605134586243928702501383849021000318658965144696664390726449278369351024601947042720140748650389071438721877897303478610652680326593114745026155933722746465505617779918708378216862636851868704244129928065398324738253106771550001316685249276746072456861919559217022369077580495357536158410662973445981699251345048703370994636243216443207947027213498201442509438608418323747110870151071511896525161808321566297587001001857666209181044999809394187643444096485455136933089027404729670135413369338411303791730051812164227447568199369627991779604159988745221256397137544463266916879438113444947639649136514199664649924316437081762970404933220925944716585588166502351422622506550732794026152207601166490280099420449694058480432331242824146638266158996810185792055366244084640499596234051940142525831398400789510329797518886978144829313759423294313009160310151631646270302870834836853686828099136542085188256847762441618247454432627727466401712792006513796759898061529719493251098089906829795950897575424320734863442060946361849101633771060886984674724747120140251712362068340140178043431323132885968490806211456518593130410470062923646239615170674497238752892119604821030716785930470252140300416338044745643138650304817499951121100510148508502928213341427599264544040360118518200759249056933335416511415793809699636496501786854278955892684139442875216302436879168344663299926970257902371842630771818435687684043548485627584358919067880211118427961521384621276108785203843888912899121871933828934749121190729619982489255825898430967969871329154234282684535970751718709016806642403408431424842014517903834438488779909061471529896455992438022377804077819976426344336555314108520982594980826137757683268626988772407175296096074376205046548492716466130653229266950076866556666038512039213729630376453945325506579012190900278929512719091074169244157304190558227057159083710293405275668674355598528230466525247791476060757231456138841654596520098191940751647210616680044114504034646978510101873377482913180496417734980752343748514096752363402972346700459608566487694343790991945423722048643605840420225049655887907222163667213199874146750580430242353618813659837067814162680120527419929548631883190468306720531861861110128364977518104207861422757210704533825274317541839143894422793028715111209184061965203273920364419325425482125466988114405814803514965186355687734427946425946736540615717753444801478742365495316547004759256745277761943882513582105009064683620923647752112258942316048939836684453354934821329392927127276419248389129229351473921374086877465244070635658234674598797041536256116215054055818526621791357315772137166808352107537192663395103117408071539922244254100585351842329766088061588589119484359504387136538225578525748953672387445879132442334600266050287600800310601151972753551001194374245767762400244070625307220237932801325826571504167668056446139933629552582318702061761003352710587073502213615695766977522730026434253248315875599 31661860397797684819639503343517304356603742972433176848109568119371569447169569900729358377746500028588461267740783308252299154584432886361795881086455213201677650869235777831066630863240151037206858575229972200002257000005543838189108949962101325980965210613018340554637288411180101638967223953215571653927437879088316713938875615465464926768191224172016718399270410743069352549385145420101747009631848015710051247944437333012421456619540842349610057744214180367509930700830170421890233982042153779746510914408027443655027131693559764825842723836167712382101541515850424260083539308385462982830849922106811098901857288620617048450633808412059585345415591389733615898389381135364809524101348586858144595412321217795920044645278875554214854095020813983772985300309374257677111207008810090171569169735617727010076228786101574461112223598854462520656231912337513634061497056174863203362870518489618595992328133889227763538673922160871965192228221952295483686890053724679894472710048484636475014548659843955966846136932631632938723064442618237358337439862787452042424971330325336388137446370583765149246949324529002733551598838600633425911589341053994199057176977936757537793204835213139375238259569486660176754053470695971293733233461727050494206106875466258326199242704725221663602478301660311185205307186844828037512810605484865550167870715174600497368255680026298915307151296481901230620452983526542655210607057656460651523007403203226189053035188360717982294655391099060590989327566620555880077221696348287071491165551387576509057300802579469426473900020472695551169918053690446161251242435354310244940721188568121880167569590944647442023767939615651740382131921328401042914124950692389704453130006497566628172733557513561986314016528911666389264632663964887930493352098560455694958301369204308719237407919126239144215093874241195683754960505857868353821528683849416379015810287453098996100489784848053989885723354164266188753003669414968933113162804621592778153031263653444587764487265979351152105388592207695291734888476278681493962216456803741067407229502783921884724967922238389644871443433436142306192683861995741050369970022136971224100399516917257234926602844046883818145939883331015695988659436953310547470684327595657041878623971013126705255834042174467216641995630811851678556651739512564753421572992621242856932408750331245519654341674611742144114943114533042444961039753187533388977650880869025231943012874115057930090570968632741193000659406531897814769047369308325961022962849601629979172262235610491422203722422141169892512455439694090261762366224583511673749390940451891199578682662679142992176863761494980179875723758658784636031100776204179060604844163500614034705816364723189971324466211196316412774373406782427171839291251869921619454821916725577589932564308982651421599236141202296347041652811807445748647769045607609186766589458336166646530610772372457672968996449176767919178655984842126083036083179871141601561779380255880110356613486793457758977615626121074099601190796430784839803111920575507867124551712002 51229966270690920382769680498738302638861581242335436190668448326710337319352009461368647626871105163174705196443284692101320154903091851506492545477181662480047001893837724873786771611890540108645580453127275678612909680332136952934135105895824072446470828392937048932854151048031970343211353881280969978665690985859866715255560864742210999225053143731233740768347991238426888707795808393547728708883193064413422242580680549455629403646754340551052567182822598691257041570981241933786759143850475346044097915409885109864208176693369159013486167932653167519034630543255153930218952677723874286622579973918975326349425487990245040230237968400804806601812728934196882815268819248809757163750485101057809245336637654877683015050212096480159570680608980486124407922815924990471137359216411256661849269156067421068556661117344398607750489757851272706448287278581598274561093290226803345888701916890408106322125652776205908367987681584166278201388532103927129957192924559516748159538147621178560202805507606397585093591365259360405124777234624751155097337924317171535676069420232166184088343946008085884110391385475364582653232609661520410586314088174134450769539046276897715836636158346025343729065780943178769884463940758894939972848632401547732958998995071079356916028635195473803902894639705056828343957491662327988633911115633374053096084056602199761912296040144817116066400353415236647131868777336242291707108844510739607415691542646101405355472067529062645594582361356962962831958338438991567761265244833914655850084619267787627485262323964090702582685224316584464069039925624275096000363626083930227429977014466552848137440920098881724708303910367370449398938563731809474338966965210293538891618786406628099702630013506000008691820606731642815608969219278996451475947079386593452641569996193081126412704015200615349261642366957661814408189772807945220378194722361455592745440663907044321607068797038954268815236073255340357997160973605527160170321888331886183428699938009043115994953791227142628166145823663834133389484996376873434713863667420421111521733537430900394826841299721302825367861168416894649941197958748104453342316722596579790588093860708249180350324892690489658566164932986903603210823104166510421617434908025899395497437630850194519418514162701887146190627514002319985277183601373674881786550510725450718355165961035779344928659216450886038537736143248153654145101718390807309342070206294507357410000988520872733605536154988428927428605832478634355384765122753127439765328344918176983931518980888253366086236004246178957196076363341842374021308540632451510433844295386712528971609789955562240565992990846454101249810636124028706666759010878777857646380419616829088761634891344981328640238348363124764881910599445822274956699323409843863708922502077419919698652370571240541083595645589432885267231337556399421035214924740051521366855508623767446841211924345211223970190823422535681578900055467433303274015981196968173065947048312326250290243039375776461039376629473784686674693010046480606780634650601942120372867587601 82891826668488605202409183842255606995465324214768613038778016446081906766521579362098006004617605191763166464184068000353619309487524737868288426563636875681724652763073502704853402475130691145852439028357247878615166680337680791123244055857925398427436039005955389487491439459212071982178577834496541632593128864948183429194436480207675925993244367903250459167618401981496241257180953813649475718515041080123473490525117882468050860266295182900662624927036779058766972271811412355676993125892629125790608829817912553519235308386928923839328891768820879901136172059105578190302491986109337269453429896025786425251282776610862088680871776812864391947228320323930498713658200384174566687851833687915953840748958872673603059695490972034374424775629794469897393223125299248148248566225221346833418438891685148078632889903445973068862713356705735227104519190919111908622590346401666549251572435380026702314453786665433671906661603745038243393616754056222613644082978284196642632248196105815035217354167450353551939728297890993343847841677242988513434777787104623578101040750557502572225790316591851033357340710004367316204831448262153836497903429228128649826716024213655253629840993559164718967325350429838946638517411454866233706082094128598227165105870537337683115271339920695467505372941365368013549264678507156026146721721118239603263954771776800259280551720171116031373551649897137877752321760862784946917715902167200258938698945849327594408507255889780627889237752456023553821285905059547447838486941182201727341250170655364136542563126543560129056585244789280015238957979314721257251606061438240472370698203034674728305010511043529166732071849983022189781070485060210517253091915902683243344748792904194727875363571019561995005837135643309204873601883243884381969299177947049147599871365397389845650111934326854493476736241198857498163150278665813574199723406210871971761250951360143317707558581887008258700959427419606546750164643020496093283484692953478961581731201662487703759441057206493780271534415871529425124373472655554928676080124224162178928963040214822279551809221959692470239304601853036956133881820743845503712286744733551014688493377625506415276927736737373476712104816317919299199482541119820969088119235621556437376061601863321224674348204876354362832623144814171663833835340886239635208123503346693575287574711367024864583000891062628182652679257781196099106141471578340698319721087163532589353013862635930663696107123621170120429265239010532170153812492061453400788291194519806963103781216498744788289958426387348849708531803035932635783674765215963184183235235838603728550292452634705232742856752341434281125534394782813342697859787082956918251224583117443123467451256068171299964704559559441177656284006228249446795990575279765483163744418802997509631216679553891962682831786791729232308884149363845169682983970347660708133444966959934093371822696717668896939187272599303600757556040309559386310099161068109774627726428568206360646856526169234220016992255594858786275883806477265446583746571177449987497419299603 134121792939179525585178864340993909634326905457104049229446464772792244085873588823466653631488710354937871660627352692454939464390616589374780972040818538161771654656911227578640174087021231254498019481484523557228076360669817744057379161753749470873906867398892438420345590507244042325389931715777511611258819850808050144449997344949886925218297511634484199935966393219923129964976762207197204427398234144536895733105798431923680263913049523451715192109859377750024013842792654289463752269743104471834706745227797663383443485080298082852815059701474047420170802602360732120521444663833211556076009869944761751600708264601107128911109745213669198549041049258127381528927019632984323851602318788973763086085596527551286074745703068514533995456238774956021801145941224238619385925441632603495267708047752569147189551020790371676613203114557007933552806469500710183183683636628469895140274352270434808636579439441639580274649285329204521595005286160149743601275902843713390791786343726993595420159675056751137033319663150353748972618911867739668532115711421795113777110170789668756314134262599936917467732095479731898858064057923674247084217517402263100596255070490552969466477151905190062696391131373017716522981352213761173678930726530145960124104865608417040031299975116169271408267581070424841893222170169484014780632836751613656360038828379000021192847760315933147439952003312374524884190538199027238624824746677939866354390488495428999763979323418843273483820113812986516653244243498539015599752186016116383191334789923151764027825450507650831639270469105864479307997904938996353251969687522170699800675217501227576442451431142410891440375760350392639180009048792019991592058881112976782236367579310822827577993584525562003697657742374952020482571102522880833445246257333642600241441361590470972062815949527469842738378608156519312571340051473758794577918128572327564506691615267187639314627378925962527516195500674946904747325616626023253453806581285365145010431139671530819754394848433636408437680239535363558513858469032428363389943791644583290450696577645722674378650521680995295607165770269931606075079779491949957054603467330130805276587238333755595627252629427863135278269749304822902410305645286331390705554143647455832873499232713515744092862367578241509023250658816491649111018942259914516994674014072144293642740672402804209511660107513514221190415401029349753251243189969148007661791293458039946763014851156803397301643278609599047857871071489166525538577614814580840553619539437983947035300197386998154376194430633527806904608166377775009804983305848414694617079531225316257521902242590267473308849743187888382375345030906842049364618797961734775897605002734272212229086147413152628604942907922565942538194605674071721752689898689609346872666920880417429329869050125132503766427432381162117576115486920244590718198895087712229500300475583701540213034621062880120909378096021839282336456095776992689584115142265077947693673476880532610937099565545010681056368885068643472950576816523746053364381221779392107870286887204 217013619607668130787588048183249516629792229671872662268224481218874150852395168185564659636106315546701038124811420692808558773878141327243069398604455413843496307419984730283493576562151922400350458509841771435843243041007498535180623217611674869301342906404847827907837029966456114307568509550274053243851948715756233573644433825157562851211541879537734659103584795201419371222157716020846680145913275224660369223630916314391731124179344706352377817036896156808790986114604066645140745395635733597625315575045710216902678793467227006692143951470294927321306974661466310310823936649942548825529439765970548176851991041211969217591981522026533590496269369582057880242585220017158890539454152476889716926834555400224889134441194040548908420231868569425919194369066523486767634491666853950328686146939437717225822440924236344745475916471262743160657325660419822091806273983030136444391846787650461510951033226107073252181310889074242764988622040216372357245358881127910033424034539832808630637513842507104688973047961041347092820460589110728181966893498526418691878150921347171328539924579191787950825072805484099215062895506185828083582120946630391750422971094704208223096318145464354781663716481802856663161498763668627407385012820658744187289210736145754723146571315036864738913640522435792855442486848676640040927354557869853259623993600155800280473399480487049178813503653209512402636512299061812185542540648845140125293089434344756594172486579308623901373057866269010070474530148558086463438239127198318110532584960578515900570388577051210960695855713895144494546955884253717610503575748960411172171373420535902304747461942185940058172447610333414828961079533852230508845150797015660025581116372215017555453357155545123998703494878018261225356172985766765215414545435280691747841312726987860817712927883854324336215114849355376810734490330139572368777641534783199536267942566627330957022185960812970786217154928094553451497490259646519346737291274238844106592162341334018523513835905640130188709214655406892983638231941687983292066023915868745469379659617860544953930459743640687765846470372122968562208961600235795460766890212063681819965080615959262010904180366165236611990374565622742201609788186406152359793673379269012270249560834576836968767210572454595871855873803630663312944854283146154152202797517418837868930315383769829074094660998576142403843094658810545852357384661547488705981512380621572536116028713792734060997750402230769168287136310499698695692390106876034241341910733957790910139081413885742942666152857020876656613139969413707645588658071064377878800314767063919986072194695224972706051706495529322663500879425689655392062478585044691694148829585851715335696537403481323928569647467482007120194478611902321168548680473969374830036411339683414938961085729679024466449259219172891349884999636284089760401182865435372937633745442543635633584857317780549017848565368621142883094012136086552075894214303333187722321399905448738971583956091714244901073361140663502259226460623001011499948127792956842095367706186807 351135412546847656372766912524243426264119135128976711497670945991666394938268757009031313267595025901638909785438773385263498238268757916617850370645273952005267962076895957862133750649173153654848477991326294993071319401677316279238002379365424340175249773803740266328182620473700156632958441266051564855110768566564283718094431170107449776429839391172218859039551188421342501187134478228043884573311509369197264956736714746315411388092394229804093009146755534558814999957396720934604497665378838069460022320273507880286122278547525089544959011171768974741477777263827042431345381313775760381605449635915309928452699305813076346503091267240202789045310418840185261771512239650143214391056471265863480012920151927776175209186897109063442415688107344381940995515007747725387020417108486553823953854987190286373011991945026716422089119585819751094210132129920532274989957619658606339532121139920896319587612665548712832455960174403447286583627326376522100846634783971623424215820883559802226057673517563855826006367624191700841793079500978467850499009209948213805655261092136840084854058841791724868292804900963831113920959564109502330666338464032654851019226165194761192562795297369544844360107613175874379684480115882388581063943547188890147413315601754171763177871290153034010321908103506217697335709018846124055707987394621466915984032428534800301666247240802982326253455656521886927520702837260839424167365395523079991647479922840185593936465902727467174856877980081996587127774392056625479037991313214434493723919750501667664598214027558861792335126183001008973854953789192713963755545436482581871972048638037129881189913373328350949612823370683807468141088582644250500437209678128636807817483951525840383031350740070686002401152620393213245838744088289646048859791692614334348082754088578331789775743833381794178953493457511896123305830381613331163355559663355527100774634181894518596336813339738933313733350428769500356244815876272542600191097855524209251602593481005549343268230754073766597146894894942256542152090410720411655455967707513328759830356195506267628309110265321683061453636142392900168284041379727745417821493679393812625241667854293017606531432995593099747268644314927565104020093831692483750499227522916468103123060067290352712860072940032837380879124462447154962055873225406068669197471531490982162573056056172633283606321106089656625033510059839895605608627851516636713643303674079612482879043564949537458299393680840368216145007381988865221230967721690615081895530273395774857174381611272741097042347287654404463517748135791482655393641376912792573417394298289236243594096937815240179360556238717211045876224456596497441427097383006426470046434588585987547925623550894476557174590375404573062732673217576392890301370372658984176909078260563832368290954779804156970215686651554053467461115123204334351119381760523085167134045918127337173797891938843429138757943464642982165430468231863544765478329445598265670015073382329271582521055657259255582129730025732145732177037439524757553312509014736234203237993074011 568149032154515787160354960707492942893911364800849373765895427210540545790663925194595972903701341448339947910250194078072057012146899243860919769249729365848764269496880688145627327211325076055198936501168066428914562442684814814418625596977099209476592680208588094236019650440156270940526950816325618098962717282320517291738864995265012627641381270709953518143135983622761872409292194248890564719224784593857634180367631060707142512271738936156470826183651691367605986072000787579745243061014571667085337895319218097188801072014752096237102962642063902062784751925293352742169317963718309207134889401885858105304690347025045564095072789266736379541579788422243142014097459667302104930510623742753196939754707328001064343628091149612350835919975913807860189884074271212154654908775340504152640001926628003598834432869263061167565036057082494254867457790340354366796231602688742783923967927571357830538645891655786084637271063477690051572249366592894458091993665099533457639855423392610856695187360070960514979415585233047934613540090089196032465902708474632497533412013484011413393983420983512819117877706447930328983855070295330414248459410663046601442197259898969415659113442833899626023824094978731042845978879551015988448956367847634334702526337899926486324442605189898749235548625942010552778195867522764096635341952491320175608026028690600582139646721290031505066959309731399330157215136322651609709906044368220116940569357184942188108952482036091076229935846351006657602304540614711942476230440412752604256504711080183565168602604610072753030981896896153468401909673446431574259121185442993044143422058573032185937375315514291007785270981017222297102168116496481009282360475144296833398600323740857938484707895615810001104647498411474471194917074056411264274337127895026095924066815566192607488671717236118515168608306867272934040320711752903532133201198138726637042576748521849553358999300551904099950505356864053807742306135919061946928389129763053358194755822339567866782066659713896785856109550349149525790322352408394947521991623382074229210015813366812582239570008962370827300106514515868730493002979963540878588383891457494445206748470252279617435613361758336359259018880550307305629882018098636110292900902185480373372620901867189681627283512487433252734998266077818275000727508552222821400269048909820031503371439942462357700982104665799028876604718650441457966012513064125419624816054701185018995072278742271519297144083071137384432143692488563916923357828566649323237441007353565767313463025158484039708500144675281120130888105205190300982299447977170452217709065353156229666291633040212885412262734246533709377103882286152833489575968051118164195264174437702883622160954375800485744237842886580182927151829478714058850050846628359006945489600247247307252040509483181436664945870726944817346114759488424111520564625958458104767791360670972807382749256623978156606508833264125048524480367950096841372543748931453392336473287778010554105011748973500483203091166395647991403498062525769053260636807693076298605699260818 919284444701363443533121873231736369158030499929826085263566373202206940728932682203627286171296367349978857695688967463335555250415657160478770139895003317854032231573776646007761077860498229710047414492494361421985881844362131093656627976342523549651842454012328360564202270913856427573485392082377182954073485848884801009833296165372462404071220661882172377182687172044104373596426672476934449292536293963054899137104345807022553900364133165960563835330407225926420986029397508514349740726393409736545360215592725977474923350562277185782061973813832876804262529189120395173514699277494069588740339037801168033757389652838121910598164056506939168586890207262428403785609699317445319321567095008616676952674859255777239552814988258675793251608083258189801185399082018937541675325883827057976593856913818289971846424814289777589654155642902245349077589920260886641786189222347349123456089067492254150126258557204498917093231237881137338155876692969416558938628449071156881855676306952413082752860877634816340985783209424748776406619591067663882964911918422846303188673105620851498248042262775237687410682607411761442904814634404832744914797874695701452461423425093730608221908740203444470383931708154605422530458995433404569512899915036524482115841939654098249502313895342932759557456729448228250113904886368888152343329347112787091592058457225400883805893962093013831320414966253286257677917973583491033877271439891300108588049280025127782045418384763558251086813826433003244730078932671337421514221753627187097980424461581851229766816632168934545366108079897162442256863462639145538014666621925574916115470696610162067127288688842641957398094351701029765243256699140731509719570153272933641216084275266698321516058635686496003505800118804687717033661162346057313134128820509360444006820904144524397264415550617912694122101764379169057346151093366234695488760861494253737817210930416368149695812640290837413683855785633554163987122012191604547119486985287262609797349303345117210050297413787663383003004445291406067942412763128806602977959330895402989040372008873080210548680274284053888753742656908768898777044359691286296409877570851307070448416324545297223967046357351436106527663195477872409649975849791119860792128425101948476495680969157542394487356452520270633614122728524973237056600733958291490597740580400802194076427496115095641307303210755455653910114778490337063574640364580762133268119728780797501874115843691808977596537763911505600577151074477429138154325550257264405132971280749340624487844636431225136750847432329685583648636240996672956375940824889963025635103363642392473260388570855453064772818972963744755253328338882650274916673351057544634241698763023690431547784505270277042918828218291153245659825047055106949151421219287343183854567860811079675542995289287338406880632522280998284807229882692758462639946386481543271901837278798309981180641195467407295364452297907107213954948599813641606850873194529719062351546670107282136626067406232756065332821192127793723580535502050526606573145822429310501843692334829 1487433476855879230693476833939229312051941864730675459029461800412747486519596607398223259074997708798318805605939161541407612262562556404339689909144732683702796501070657334153388405071823305765246350993662427850900444287046945908075253573319622759128435134220916454800221921354012698514012342898702801053036203131205318301572161160637475031712601932592125895325823155666866246005718866725825014011761078556912533317471976867729696412635872102117034661514058917294026972101398296094094983787407981403630698110911944074663724422577029282019164936455896778867047281114413747915684017241212378795875228439687026139062079999863167474693236845773675548128469995684671545799707158984747424252077718751369873892429566583778303896443079408288144087528059171997661375283156290149696330234659167562129233858840446293570680857683552838757219191699984739603945047710601241008582420825036091907380056995063611980664904448860285001730502301358827389728126059562311017030622114170690339495531730345023939448048237705776855965198794657796711020159681156859915430814626897478800722085119104862911642025683758750506528560313859691771888669704700163159163257285358748053903620684992700023881022183037344096407755803133336465376437874984420557961856282884158816818368277554024735826756500532831508793005355390238802892100753891652248978671299604107267200084485916001465945540683383045336387374275984685587835133109906142643587177484259520225528618637210069970154370866799649327316749672784009902332383473286049363990452194039939702236929172662034794935419236779007298397089976793315910658773136085577112273787807368567960258892755183194253064664004356932965183365332718252062345424815637212519001930628417230474614684599007556260000766531302306004610447617216162188228578236402468577408465948404386539930887719710717004753087267854031209290710071246441991386471805119138227621962059632980374859787678938217703054811940842741513634361142497607971729428148110666494047876115050315967992105125684685076832364073501560168859113995640555593732735115537201550499950954277477218250387822239892792788250283246424716053849171424637629270047339654827174998261462308801515655164794797576841402659719109772465786682076028179715279857867889755971085029327287428849868301871024732076114639965007703886349120994602791512057328242510514311998009629310622225579798936057557999008285315421254682786719497140778521540652877644887552892935783481982520869188122434080496893681846982642985009294766965993055077683378823913728370412288102906391801307661589709176459347577004966703779524346201863257358240272867133477852812428995548702926680203895665950185081707210278464630432221168803108406249319108662798436962937461393315169945459646077528663066061177733428586976876533821008001472065915702190800057461058326982795035798770519843545578393007943102153344642181182574160511012440001376669628639469282788563390452091385451970961131171232262479428967763738448223416943461172454688019957885292690731079155206256548535912358523441714984033564576295659833782630122386800449391595647 2406717921557242674226598707170965681209972364660501544293028173614954427248529289601850545246294076148297663301628129004743167512978213564818460049039736001556828732644433980161149482932321535475293765486156789272886326131409077001731881549662146308780277588233244815364424192267869126087497734981079984007109688980090119311405457326009937435783822594474298272508510327710970619602145539202759463304297372519967432454576322674752250313000005268077598496844466143220447958130795804608444724513801391140176058326504670052138647773139306467801226910269729655671309810303534143089198716518706448384615567477488194172819469652701289385291400902280614716715360202947099949585316858302192743573644813759986550845104425839555543449258067666963937339136142430187462560682238309087238005560542994620105827715754264583542527282497842616346873347342886984953022637630862127650368610047383441030836146062555866130791163006064783918823733539239964727884002752531727575969250563241847221351208037297437022200909115340593196950982004082545487426779272224523798395726545320325103910758224725714409890067946533988193939242921271453214793484339104995904078055160054449506365044110086430632102930923240788566791687511287941887906896870417825127474756197920683298934210217208122985329070395875764268350462084838467053006005640260540401322000646716894358792142943141402349751434645476059167707789242237971845513051083489633677464448924150820334116667917235197752199789251563207578403563499217013147062462405957386785504673947667126800217353634243886024702235868947941843763198056690478352915636598724722650288454429294142876374363451793356320191952693199574922581459684419281827588681514777944028721500781690164115830768874274254581516825166988802008116247736020849905262239398748525890542594768913746983937708623855241402017502818471943903412811835625611048732622898485372923110722921127234112676998609354585852750624581133578927318216928131162135716550160302271041167363100337578577789454429029802286882661487289223551862118440931961661675147878666008153477910285172880207290759831112973003336930557530478604807591828333406528047091699346113471408139033160108586103581119342874065369706076461208572314345271506052124929833717680875831877157752389377326363982840182274470601996417527974519963243723127764749113928976468805802595750209711424419656226432172653640315588526176710336696834275631115585115293242225649686161055512262780022743303966125889474490219610894148585586445841443422193232008929081178133503383568852247016289152298020934313210195009334652287428160587198536213734181097757096503487915792637941176187068774751119014957900680174023219883760560051453383322922670166207432678661700485083746717729964916354571581894279468886674246801923588927957152893285203045374654625321869406658338031088057858250426210915288941386960574524873941036800457398921544648571465918267592769744031647558792747335413429078339476434377567577380055074290137990891517039566627992574827357146561439012613868733550651235438564569066626822266406928452551697302293083930476 3894151398413121904920075541110194993261914229391177003322489974027701913768125897000073804321291784946616468907567290546150779775540769969158149958184468685259625233715091314314537888004144841240540116479819217123786770418456022909807135122981769067908712722454161270164646113621881824601510077879782785060145892111295437612977618486647412467496424527066424167834333483377836865607864405928584477316058451076879965772048299542481946725635877370194633158358525060514474930232194100702539708301209372543806756437416614126802372195716335749820391846725626434538357091417947891004882733759918827180490795917175220311881549652564456859984637748054290264843830198631771495385024017286940167825722532511356424737533992423333847345701147075252081426664201602185123935965394599236934335795202162182235061574594710877113208140181395455104092539042871724556967685341463368658951030872419532938216203057619478111456067454925068920554235840598792117612128812094038592999872677412537560846739767642460961648957353046370052916180798740342198446938953381383713826541172217803904632843343830577321532093630292738700467803235131144986682154043805159063241312445413197560268664795079130655983953106278132663199443314421278353283334745402245685436612480804842115752578494762147721155826896408595777143467440228705855898106394152192650300671946321001625992227429057403815696975328859104504095163518222657433348184193395776321051626408410340559645286554445267722354160118362856905720313172001023049394845879243436149495126141707066502454282806905920819637655105726949142160288033483794263574409734810299762562242236662710836633256206976550573256616697556507887764825017137533889934106330415156547723431410107394590445453473281810841517591698291108012726695353237012093490817635150994467951060717318133523868596343565958406770590086325975112703521906872053040119094703604511150732684980760214487536786288292803555805436521976320440952578070628770107445978308412937535215239215387894545781559554714487363715025560790783720721232436572517255407882994203209703977861239450357425541147653352865796125180840776903320861440999758044157317139039000940646406400495468910101758745914140450906772365795570981038101027347534231840209691585570631802962187079676806176232284711207006546716636382535678406312364717730556261171257218979320114593759839022046645236025368230211639323873841597965019483553772771894106655946119870537239053991295744762543612492088559969971383901457876791570595740608409415248309692307905091861873795856955153408090459959610643489669542586339618991207684933400399471092421370624229981340728221633489879113748978646784965142982387384301684514192781220256491729171989274870231115624637946477061887675424562432100244960340646620102833778800122748965154365351118747565454682782927733641133066886828378093971789308296884489113919167055123610960968411361546025241094557736875558307422099650178199306374560249571738913806535341118503297707081452063971727586585877867518088225716645269162404645909174677153548602631203117926240711082674084102742475526123 6300869319970364579146674248281160674471886594051678547615518147642656341016655186601924349567585861094914132209195419550893947288518983533976610007224204686816453966359525294475687370936466376715833881965976006396673096549865099911539016672643915376688990310687406085529070305889750950689007812860862769067255581091385556924383075812657349903280247121540722440342843811088807485210009945131343940620355823596847398226624622217234197038635882638272231655202991203734922888362989905310984432815010763683982814763921284178941019968855642217621618756995356090209666901721482034094081450278625275565106363394663414484701019305265746245276038650334904981559190401578871444970340875589132911399367346271342975582638418262889390794959214742216018765800344032372586496647632908324172341355745156802340889290348975460655735422679238071450965886385758709509990322972325496309319640919802973969052349120175344242247230460989852839377969379838756845496131564625766168969123240654384782197947804939897983849866468386963249867162802822887685873718225605907512222267717538129008543601568556291731422161576826726894407046156402598201475638382910154967319367605467647066633708905165561288086884029518921229991130825709220241190231615820070812911368678725525414686788711970270706484897292284360045493929525067172908904112034412733051622672593037895984784370372198806165448409974335163671802952760460629278861235276885409998516075332561160893761954471680465474553949369926064484123876671218036196457308285200822934999800089374193302671636441149806844339890974674890985923486090174272616490046333535022412850696665956853713007619658769906893448569390756082810346284701556815717522787845193100576444932191797558706276222347556065423034416865279910020842943089257861998753057033899520358493655486231880507806304967421199808788092904797919016116333742497664088851717602089884073843407901887448600213784897647389408556061103109899368270794998759932243162528468715208576382602315725473123571013983744289650597687048080007272583350877504478917083030872869217857455771524623237632831907484465838799462111398307381925669032828091450685364230738347054117814539528629018687862327033483324972142071872032189610415372619040283965139525303251507634839344832066183502596267551389281017318632800063652926275608440858321010285186195448125917189510048733471064892251800402865279639462367774675356180388048403009691771239362096186925215046808007542566355796054685859445874121068770940156182186449852837441541701236986269995377179425807400424379612257631577802879737595674271278635845520598935684826602468381326484828644014271431055300817753397903980100883067558324904397953341271709875052094659441077663794286338431560808605405389478786671826854620115506777080580723711676922307258636321792940109308104797140299471097974886236344398000223585825876074493691929064647761425810283090673812560476004468328051453747208970946641787989327911215348184102918498558371997219442955488767153213870442345445372278084281776273379459825912592113171697829940192647639535225781405035559456599 10195020718383486484066749789391355667733800823442855550938008121670358254784781083601998153888877646041530601116762710097044727064059753503134759965408673372076079200074616608790225258940611217956373998445795223520459866968321122821346151795625684444597703033141567355693716419511632775290517890740645554127401473202680994537360694299304762370776671648607146608177177294466644350817874351059928417936414274673727363998672921759716143764271760008466864813561516264249397818595184006013524141116220136227789571201337898305743392164571977967442010603720982524748023993139429925098964184038544102745597159311838634796582568957830203105260676398389195246403020600210642940355364892876073079225089878782699400320172410686223238140660361817468100192464545634557710432613027507561106677150947318984575950864943686337768943562860633526555058425428630434066958008313788864968270671792222506907268552177794822353703297915914921759932205220437548963108260376719804761968995918066922343044687572582358945498823821433333302783343601563229884320657178987291226048808889755932913176444912386869052954255207119465594874849391533743188157792426715314030560680050880844626902373700244691944070837135797053893190574140130498594473566361222316498347981159530367530439367206732418427640724188692955822637396965295878764802218428564925701923344539358897610776597801256209981145385303194268175898116278683286712209419470281186319567701740971501453407241026125733196908109488288921389844189843219059245852154164444259084494926231081259805125919248055727663977546080401840128083774123658066880064456068345322175412938902619564549640875865746457466705186088312590698111109718694349607456894175608257124168363601904953296721675820837876264552008563571018033569638442494874092243874669050514826444716203550014031674901310987158215558682991123894128819855649369717128970812305694395224576092882647663087750571185940192964361497625086219809223373069388702350608506777128146111597841531113367669352573538458777014312712608870790993304583314076996172490913867072427561433632764073595058373055137818704595587292239084285246530473827849494842681369777347994764220940024097928789621072947623775878914437667603170648516399966574515805349216888822139437801531911742989678828552262596287564035269182599331332587973158588877271456443414427446031783269887755517710128277168633076918963336209372640375663941821174903798427185481966724164269038103752305109968288143245829417258022526647731726777927058262252689851393544891361857250975282762553832470072217242221292549280182013890269843530453999335155919023839005556466169372235904920934414566732044688945243865454942626588912146122491966366781266648715947894909910976378037870493080814041218772071814960762126879914359523834425887461623987440540505563990887724873940604164861714614438369789531882710365188412858984188258722394221644636699053655033741343886358875846859149145948162549577482954261990638259617061669704300895019460494739799748309863533597994729550938678025369000589745661774329033058118888350617899865507778034982722 16495890038353851063213424037672516342205687417494534098553526269313014595801436270203922503456463507136444733325958129647938674352578737037111369972632878058892533166434141903265912629877077594672207880411771229917132963518186222732885168468269599821286693343828973441222786725401383725979525703601508323194657054294066551461743770111962112274056918770147869048520021105555451836027884296191272358556770098270574762225297543976950340802907642646739096468764507467984320706958173911324508573931230899911772385965259182484684412133427620185063629360716338614957690894860911959193045634317169378310703522706502049281283588263095949350536715048724100227962211001789514385325705768465205990624457225054042375902810828949112628935619576559684118958264889666930296929260660415885279018506692475786916840155292661798424678985539871598006024311814389143576948331286114361277590312712025480876320901297970166595950528376904774599310174600276305808604391941345570930938119158721307125242635377522256929348690289820296552650506404386117570194375404593198738271076607294061921720046480943160784376416783946192489281895547936341389633430809625468997880047656348491693536082605410253232157721165315975123181704965839718835663797977042387311259349838255892945126155918702689134125621480977315868131326490363051673706330462977658753546017132396793595560968173455016146593795277529431847701069039143915991070654747166596318083777073532662347169195497806198671462058858214985873968066514437095442309462449645082019494726320455453107797555689205534508317437055076731114007260213832339496554502401880344588263635568576418262648495524516364360153755479068673508457394420251165324979682020801357700613295793702512002997898168393941687586425428850928054412581531752736090996931702950035184938371689781894539481206278408358024346775895921813144936189391867381217822529907784279298419500784535111687964356083587582372917558728196119177494168068148634593771035245843354687980443846838840792923587522203066664910399656950798265887934191581475089573944739941645418889404288696832691204962622284543395049403637391667172199506655940945528045600515695048882035479552726947477483399981107100851056509539635360258931772585614799770488742192073647072640876743809173181424819813985568581353901982662984258863581599447198281741629609875571948972779936488988775020528969035942198602798577147315731844329869577913490198424844062911089484084911759847676324084197931688863132143595418671882960113508115090131393094781877631852628154708569954256849684474873799095429017777688161548479375974598270840745626307386882950998016250176351989715384485442592925344748522500951493310099463763676241833361308157025558704197314809598679098486203520005443898669580877633656994940247546102809768882623762333445673298992522014240075262836600850782767789755468536241262906550913252906483820031927727372866215509745812214410329594068120092589950538905394169610174741178115620041701520337974949261893013618752208978970272813832714951404828826502337774946026862998311535990153125646912813594439321 26690910756737337547280173827063872009939488240937389649491534390983372850586217353805920657345341153177975334442720839744983401416638490540246129938041551430968612366508758512056137888817688812628581878857566453437592830486507345554231320263895284265884396376970540796916503144913016501270043594342153877322058527496747545999104464411266874644833590418755015656697198400022096186845758647251200776493184372944302126223970465736666484567179402655205961282326023732233718525553357917338032715047451036139561957166597080790427804297999598152505639964437321139705714888000341884292009818355713481056300682018340684077866157220926152455797391447113295474365231602000157325681070661341279069849547103836741776222983239635335867076279938377152219150729435301488007361873687923446385695657639794771492791020236348136193622548400505124561082737243019577643906339599903226245860984504247987783589453475764988949653826292819696359242379820713854771712652318065375692907115076788229468287322950104615874847514111253629855433850005949347454515032583580489964319885497049994834896491393330029837330671991065658084156744939470084577791223236340783028440727707229336320438456305654945176228558301113029016372279105970217430137364338264703809607330997786260475565523125435107561766345669670271690768723455658930438508548891542584455469361671755691206337565974711226127739180580723700023599185317827202703280074217447782637651478814504163800576436523931931868370168346503907263812256357656154688161616614089341103989652551536712912923474937261262172294983135478571242091034337490406376618958470225666763676574471195982812289371390262821826858941567381264206568504138945514932436576196409614824781659395607465299719573989231817952138433992421946087982219974247610183240806372000550011383087893331908571156107589395516239905458887045707273756045041237098346793342213478674522995593667182774775714927269527775337279056353282338986717541137537336944379542022971500799578285377952208462276161060661843679223112265821589259192517505658471262064858607014072980323037052770427749578017760103247990636695876475952418729980483790440370726970293043043646256419576824876267104472928730876729970947207238530907448172552189315575837959080895786510442408655552162860253372076581856145389171165262315591451554758036075553198073024303017980756049824244506485148806137669019117566134786519956107508271690752817288625610326029635253753123015512152786292372341177518280390166122066403609738040566377342821244488326768993709879129991332508089319756692116020387978297959702051818322906428597605996664650146392439417167388486081272924129951217487281870588613977443578082222245586255642608614627956872973453614108291187636549591567017561224215970484541639760536909299771380528697230506611202873951237289880246888180679427698315465221137579287351246606451319409897441165206214253572364071919870543487156100769205440927269238538113088482877123872165379437732681711405821232994409756632813367062072512568267543383653629430197827092083436720355896056430424340771025512420591629422043 43186800795091188610493597864736388352145175658431923748045060660296387446387653624009843160801804660314420067768678969392922075769217227577357499910674429489861145532942900415322050518694766407300789759269337683354725794004693568287116488732164884087171089720799514238139289870314400227249569297943662200516715581790814097460848234523228986918890509188902884705217219505577548022873642943442473135049954471214876888449268009713616825370087045301945057751090531200218039232511531828662541288978681936051334343131856263275112216431427218337569269325153659754663405782861253843485055452672882859367004204724842733359149745484022101806334106495837395702327442603789671711006776429806485060474004328890784152125794068584448496011899514936836338108994324968418304291134348339331664714164332270558409631175529009934618301533940376722567107049057408721220854670886017587523451297216273468659910354773735155545604354669724470958552554420990160580317044259410946623845234235509536593529958327626872804196204401073926408084356410335465024709407988173688702590962104344056756616537874273190621707088775011850573438640487406425967424654045966252026320775363577828013974538911065198408386279466429004139553984071809936265801162315307091120866680836042153420691679044137796695891967150647587558900049946021982112214879354520243209015378804152484801898534148166242274332975858253131871300254356971118694350728964614378955735255888036826147745632021738130539832227204718893137780322872093250130471079063734423123484378871992166020721030626466796680612420190555302356098294551322745873173460872106011351940210039772401074937866914779186187012697046449937715025898559196680257416258217210972525394955189309977302717472157625759639724859421272874142394801506000346274237738074950585196321459583113803110637313867803874264252234782967520418692234433104479564615872121262953821415094451717886463679283353115357710196615081478458164211709205685971538150577268814855487558729224791049255199748582864910344133511922772387525080451697239946351638803346955718399212441341467260440782980382387791385686099513867619590929487139731385898772570808738092528291899129551823744587872909837977581027456746873891166379945137804115346326701272969433583083285399361336041678191890567424726743073147925299850315136357483273834939702634178589929728829760733495260169335106704961316168933363667271839352601560330730778824035170092546343237207927272000462616456539109207143522309717485075492698154074492432952637583108646625562507284699902462346169441166989819483407315737390213366802282403195876837410276453779322368165404736257624913845335702929874795933362499944529575532345050019318850447989265029999012318305605997235228690053221081229659869154122517394193904240018926631506999389234965207396910588872768902420754690534916316003905369042819782847714225960810694071690034285500091444786086053232968315179535034995389331128063627388271293482340120615848301753107341570969359018525826985814281491538540357216368580835026653594421211666382759054741960330924151159333405223861364 69877711551828526157773771691800260362084663899369313397536595051279760296973870977815763818147145813492395402211399809137905477185855718117603629848715980920829757899451658927378188407512455219929371638126904136792318624491200913841347808996060168353055486097770055035055793015227416728519612892285816077838774109287561643459952698934495861563724099607657900361914417905599644209719401590693673911543138844159179014673238475450283309937266447957151019033416554932451757758064889746000574004026132972190896300298453344065540020729426816490074909289590980894369120670861595727777065271028596340423304886743183417437015902704948254262131497942950691176692674205789829036687847091147764130323551432727525928348777308219784363088179453313988557259723760269906311653008036262778050409821972065329902422195765358070811924082340881847128189786300428298864761010485920813769312281720521456443499808249500144495258180962544167317794934241704015352029696577476322316752349312297766061817281277731488679043718512327556263518206416284812479224440571754178666910847601394051591513029267603220459037760766077508657595385426876510545215877282307035054761503070807164334412995216720143584614837767542033155926263177780153695938526653571794930474011833828413896257202169572904257658312820317859249668773401680912550723428246062827664484740475908176008236100122877468402072156438976831894899439674798321397630803182062161593386734702540989948322068545670062408202395551222800401592579229749404818632695677823764227474031423528878933644505563728058852907403326033873598189328888813152249792419342331678115616784510968383887227238305042008013871638613831201921594402698142195189852834413620587350176614584917442602437046146857577591863293413694820230377021480247956457478544446951135207704547476445711681793421457199390504157693670013227692448279474341577911409214334741628344410688118900661239394210622643133047475671434760797150929250343223308482530119291786356287137014602743257717475909643526754023356624188593976784272969202898417613703661953969791379535478394237688190360998142491039376322795390343572009659467623521826269499541101781136174548318706376700011692345838568854310998403954112422073828117689993430922164660353865220093525694054913498901931563967149280872132244313187615441766691115519349388137775658481607910484879584978001745318141244373980433735068150187227946860873251083548067449645496122181596990330942784153248908828880286725423912475839551479102436194640869775773882071435415619272386414691234970435489197859105839871385613697092265185125188831793482834074926600171761785332793222338897837975286920417156666521976477388107657754590636274961459062617221902972465932413897184871778281620238642453875839638664157154730813539790307160204229895846168081348147878753015790601434118233231781225042948330171029454165545370708135236896248539072455516705956596720124415948740475922658569666176715871148417354505500053580983464513162803963768775158640352876354004106807900600022210265224480686504648386738655111172384671695176671753996853283407 113064512346919714768267369556536648714229839557801237145581655711576147743361524601825606978948950473806815469980078778530827552955072945694961129759390410410690903432394559342700238926207221627230161397396241820147044418495894482128464297728225052440226575818569569273195082885541816955769182190229478278355489691078375740920800933457724848482614608796560785067131637411177192232593044534136147046593093315374055903122506485163900135307353493259096076784507086132669796990576421574663115293004814908242230643430309607340652237160854034827644178614744640649032526453722849571262120723701479199790309091468026150796165648188970356068465604438788086879020116809579500747694623520954249190797555761618310080474571376804232859100078968250824895368718085238324615944142384602109715123986304335888312053371294368005430225616281258569695296835357837020085615681371938401292763578936794925103410163023235300040862535632268638276347488662694175932346740836887268940597583547807302655347239605358361483239922913401482671602562826620277503933848559927867369501809705738108348129567141876411080744849541089359231034025914282936512640531328273287081082278434384992348387534127785341993001117233971037295480247249590089961739688968878886051340692669870567316948881213710700953550279970965446808568823347702894662938307600583070873500119280060660810134634271043710676405132297229963766199694031769440091981532146676540549121990590577816096067700567408192948034622755941693539372902101842654949103774741558187350958410295521044954365536190194855533519823516589175954287623440135898122965880214437689467556994550740784962165105219821194200884335660281139636620301257338875447269092630831559875571569774227419905154518304483337231588152834967694372771822986248302731716282521901720404026007059559514792430735325003264768409928452980748111140513907446057476025086456004582165825782570618547703073493975758490757672286516239255315140959548909280020680696560601211774695743827534306972675658226391664367490136111366364309353420900138363965342465300925509778747919735704948631143978524878830762008894904211191600588954763253212168272111910519228702840217835928523756280218748406831892025860700986313240208062827797546268491361626834653676608979454274834943609755857716705598875317461112915292081827473002623223077478292660197840213709345711497005487476351078941749904001513854499786213474811414278846273680666214727940227538870056153711525285419395932567434785557036554595134348715362208726519654544062244834893699391137432781658639026095659354792929434482478551927471234989359671485203053951084153498197958596522751820622623347031462455338977332637233286935686294280309510606486932971478250719503182107006971673459723683535708792786674548924717779809233791711229285081133288745058467625784693022188808768148097228948317372990812301879771331518829308586282824572546961492042649953092731128275510918047900794240343259419710836845620669429285217620504374933127793684467338690635495645348257816390791100251134280925860053121414165914345002619327831087402077144771 182942223898748240926041141248336909076314503457170550543118250762855908040335395579641370797096096287299210872191478587668733030140928663812564759608106391331520661331846218270078427333719676847159533035523145956939363042987095395969812106724285220793282061916339624308250875900769233684288795082515294356194263800365937384380753632392220710046338708404218685429046055316776836442312446124829820958136232159533234917795744960614183445244619941216247095817923641065121554748641311320663689297030947880433126943728762951406192257890280851317719087904335621543401647124584445299039185994730075540213613978211209568233181550893918610330597102381738778055712791015369329784382470612102013321121107194345836008823348685024017222188258421564813452628441845508230927597150420864887765533808276401218214475567059726076242149698622140416823486621658265318950376691857859215062075860657316381546909971272735444536120716594812805594142422904398191284376437414363591257349932860105068717164520883089850162283641425729038935120769242905089983158289131682046036412657307132159939642596409479631539782610307166867888629411341159447057856408610580322135843781505192156682800529344505485577615955001513070451406510427370243657678215622450680981814704503698981213206083383283605211208592791283306058237596749383807213661735846645898537984859755968836818370734393921179078477288736206795661099133706567761489612335328738702142508725293118806044389769113078255356237018307164493940965481331592059767736470419381951578432441719049923888010041753922914386427226842623049552476952328949050372758299556769367583173779061709168849392343524863202214755974274112341558214703955481070637121927044452147225748184359144862507591564451340914823451446248662514603148844466496259189194826968852855611730554536005226474224156782202655272567622122993975803588793381787635387434300790746210510236470689519208942467704598401623805147957951000052466070209892132588503210815852387568061832758430277564690151567869918418390846760299960341093626390103036781579046127254895301158283398129942636821504976667369870138331690294554763610248422386775038437771653012300364877388536542305223767972564586975686203024264655098735314036180517790977190656021980699873770134673509188333845541319824865986471007561774300530733848518588521972611215253951141805750698588930689498750805617595452922183639069664041727733074348062497826913723326162336909537217869812840306960434114299682657991347261396588033697570543356231984500401725979477864107280114082372403217147836885201499226178543131574743737052660066782842505560129654122845938830991180935420589795909543764188128977315454720744891041526322569241768573223708835943944183133400366978785253293698366137411548431450831703655531319599540951915459180927301370093206346378800483623622927001379878453991265703161841756045316702226964545482531363645002478197999246673217147077015986840706470460417059130568128191351120723010268682133667178896896568843107691566989499752156158416413001365475614967430508439860069277086729674314504502841398930428178 296006736245667955694308510804873557790544343014971787688699906474432055783696920181466977776045046761106026342171557366199560583096001609507525889367496801742211564764240777612778666259926898474389694432919387777086407461482989878098276404452510273233508637734909193581445958786311050640057977272744772634549753491444313125301554565849945558528953317200779470496177692727954028674905490658965968004729325474907290820918251445778083580551973434475343172602430727197791351739217732895326804590035762788675357587159072558746844495051134886145363266519080262192434173578307294870301306718431554740003923069679235719029347199082888966399062706820526864934732907824948830532077094133056262511918662955964146089297920061828250081288337389815638347997159930746555543541292805466997480657794580737106526528938354094081672375314903398986518783457016102339035992373229797616354839439594111306650320134295970744576983252227081443870489911567092367216723178251250860197947516407912371372511760488448211645523564339130521606723332069525367487092137691609913405914467012870268287772163551356042620527459848256227119663437255442383570496939938853609216926059939577149031188063472290827570617072235484107746886757676960333619417904591329567033155397173569548530154964596994306164758872762248752866806420097086701876600043447228969411484979036029497628505368664964889754882421033436759427298827738337201581593867475415242691630715883696622140457469680486448304271641063106187480338383433434714716840245160940138929390852014570968842375577944117769919947050359212225506764575769084948495724179771207057050730773612449953811557448744684396415640309934393481194835005212819946084391019675283707101319754133372282412746082755824252055039599083630208975920667452744561920911109490754576015756561595564741266654892107205920040977550575974723914729307289233692863459387246750792676062253260137756645541198574160114562820244467239307781211169441041868523891512412988779836528502257811871662827226096310082758336896411326705402979811003175145544388592555820810937031317865647585452648955192248700900340585198765955210837377150028250606043764922819593580228754378233747524252783335382518095050125356085048554244243345588523459147383607534527446743652963463168789151075682582692069882879235413446025930346061524595834292732243802003590912298276400995756293093946531863933543071177896227519287822873912105759997006828551637477445408682896460671959399719078590558782046953624588292704892071594193226921380523540108942173813473509835998806475911297158580971472566057222288980131301772202177045332708073930092329189139531943341616532167111219591432654432053382124328462008863522078083830195768915422433852903549085792224967158089820947257224237506252580249099408774743626688466008434658838264814004585176645811735769527975682939583076152654057925088033745793854068814188217549439690041896626309878205291497758754371254657402389987839028196741392439553899754171553830024362527575030257624995397504416232803792465726749248356368492981483443001074676933832333928801007572949 478948960144416196620349652053210466866858846472142338231818157237287963824032315761108348573141143048405237214363035953868293613236930273320090648975603193073732226096086995882857093593646575321549227468442533734025770504470085274068088511176795494026790699651248817889696834687080284324346772355260066990744017291810250509682308198242166268575292025604998155925223748044730865117217936783795788962865557634440525738713996406392267025796593375691590268420354368262912906487859044215990493887066710669108484530887835510153036752941415737463082354423415883735835820702891740169340492713161630280217537047890445287262528749976807576729659809202265642990445698840318160316459564745158275833039770150309982098121268746852267303476595811380451800625601776254786471138443226331885246191602857138324741004505413820157914525013525539403342270078674367657986369065087656831416915300251427688197230105568706189113103968821894249464632334471490558501099615665614451455297449268017440089676281371538061807807205764859560541844101312430457470250426823291959442327124320002428227414759960835674160310070155423095008292848596601830628353348549433931352769841444769305713988592816796313148233027236997178198293268104330577277096120213780248014970101677268529743361047980277911375967465553532058925044016846470509090261779293874867949469838791998334446876103058886068833359709769643555088397961444904963071206202804153944834139441176815428184847238793564703660508659370270681421303864765026774484576715580322090507823293733620892730385619698040684306374277201835275059241528098033998868482479327976424633904552674159122660949792269547598630396284208505822753049709168301016721512946719735854327067938492517144920337647207165166878491045332292723579069511919240821110105936459607431627487116131569967740879048889408575313545172698968699718318100671021328250893688037497003186298723949656965588008903172561738367968202418239360247281379333174457027102328265376347898361260688089436352978793966228501149183656711287046496606201106211927123434719810716112095314715995590222274153931859618571038672275493320718821085799536803289043815417935119958457617290920538971292225347922358204298074390011183783868280423863379500649803405588234401216878326472651502634692395507448678540890441009713976759778864650046568445507986194943809341610887207090494507098711541984786117182140841937955252362170936409932673720332990888547014663278495736767632393514018761248550129308350212621990275435427826177727323106503017973049453927555882239215954312796498657807150015697631966026032791368555044682605462362196776031160180320467363931412441710875407720409969886774127015369988331432763846657053904604859366616986303916064577478260856455958358805655688337956235780419008315695542147646935736028931471160383385660269434662770907854136930848779314495813970404735972758399551345551862551917888041143299527025282307484599460841715074461520555967219547862115449822581887838732726920931370682721824614495149660574649216793831202364215786876932841552720087804351248336836770199938001127 774955696390084152314658162858084024657403189487114125920518063711720019607729235942575326349186189809511263556534593320067854196332931882827616538343099994815943790860327773495635759853573473795938921901361921511112177965953075152166364915629305767260299337386158011471142793473391334964404749628004839625293770783254563634983862764092111827104245342805777626421401440772684893792123427442761756967594883109347816559632247852170350606348566810166933441022785095460704258227076777111317298477102473457783842118046908068899881247992550623608445620942496145928269994281199035039641799431593185020221460117569681006291875949059696543128722516022792507925178606665266990848536658878214538344958433106274128187419188808680517384764933201196090148622761707001342014679736031798882726849397437875431267533443767914239586900328428938389861053535690469997022361438317454447771754739845538994847550239864676933690087221048975693335122246038582925717822793916865311653244965675929811462188041859986273453330770103990082148567433381955824957342564514901872848241591332872696515186923512191716780837530003679322127956285852044214198850288488287540569695901384346454745176656289087140718850099472481285945180025781290910896514024805109815048125498850838078273516012577272217540726338315780811791850436943557210966861822741103837360954817828027832075381471723850958588242130803080314515696789183242164652800070279569187525770157060512050325304708474051151964780300433376868901642248198461489201416960741262229437214145748191861572761197642158454226321327561047500566006103867118947364206659099183481684635326286609076472507241014231995046036594142899303947884714381120962805903966395019561428387692625889427333083729962989418933530644415922932554990179371985383031017045950362007643243677727134709007533940996614495354522723274943423633047407960255021114353075284247795862360977209794722233550101746721852930788446885478668028492548774216325550993840678365127734889762945901308015806020062538583907520553122613751899586012109387072667823312366536923032346033861237807726802887051867271939012860692086674031923176686831539649859182857939552037846045298772718816478131257740722393124515367268832422524667208968024108950789195768928663621979436114671423843471190031370610773320245127422785709210711571164279800718438745812932523185483491490263391805488516650050725212019834182771649993810322038433717339819440184492108687178633228304352913737839839108911355303837210282980327499420370954244487026558081991627741029392075214760788707795816388121488263689188315012922670327246859650795070270706123489369459999307273028973877986627311842624318827509139698450340296285924740884100373774789050839207465150369703228014545779306062879925844208816029518417090439168836112944170687769735974387970836915246398540435829819870431855467149871895492769718552253620159740080101357578083039925836903487598982358215212969731863910543806247744603507889376481642010286556945293898257752082239490547164990882020586296929113464143245425823036163088879028182169170699000945574076 1253904656534500348935007814911294491524262035959256464152336220949007983431761551703683674922327332857916500770897629273936147809569862156147707187318703187889676016956414769378492853447220049117488149369804455245137948470423160426234453426806101261287090037037406829360839628160471619288751521983264906616037788075064814144666170962334278095679537368410775782346625188817415758909341364226557545930460440743788342298346244258562617632145160185858523709443139463723617164714935821327307792364169184126892326648934743579052918000933966361071527975365912029664105814984090775208982292144754815300438997165460126293554404699036504119858382325225058150915624305505585151164996223623372814177998203256584110285540457555532784688241529012576541949248363483256128485818179258130767973041000295013756008537949181734397501425341954477793203323614364837655008730503405111279188670040096966683044780345433383122803191189870869942799754580510073484218922409582479763108542414943947251551864323231524335261137975868849642690411534694386282427592991338193832290568715652875124742601683473027390941147600159102417136249134448646044827203637037721471922465742829115760459165249105883453867083126709478464143473293885621488173610145018890063063095600528106608016877060557550128916693803869312870716894453790027720057123602034978705310424656620026166522257574782737027421601840572723869604094750628147127724006273083723132359909598237327478510151947267615855625288959803647550322946112963488263685993676321584319945037439481812754303146817340199138532695604762882775625247631965152946232689138427159906318539878960768199133457033283779593676432878351405126700934423549421979527416913114755415755455631118406572253421377170154585812021689748215656134059691291226204141122982409969439270730793858704676748412989886023070668067895973912123351365508631276349365246763321744799048659701159451687821559004919283591298756649303718028275773928107390782578096168943741475633251023633990744368784814028767085056704209833900798396192213215598999791258032177253035127660749856828030000956818911485842977685136185407392853008976223634828693674600793059510495463336219311690108703479180098926691198905378452616290805091072347524758754194784003329880500305908766174058535866697480049151663761254841399545488075361617732725308704633689622274134072690581984770490517030501436167907352861772138024012164746731971107437672810328731506771965674369995936746427756601087659040663654049832273255762927246548681567593529576055041081668585274314430715101504294474195271503961321154341045714038882291542256257432467482154649549780466671204441415588862035032252594205601636155068438671729049771397938004978634155667825511381214947181488871001737664868535614182165051809937425406134710983759879906716701207134771356497184681061311343683956801280634781645685865897505691310653171505291942653275466124183225363928769906466957676054684806325431099773467292465623339199063529849019283866225268940473906853985696825565531237380128131477679930122358664588883176683379430506007469200883575203 2028860352924584501249665977769378516181665225446370590072854284660728003039490787646259001271513522667427764327432222594004002005902794038975323725661803182705619807816742542874128613300793522913427071271166376756250126436376235578400818342435407028547389374423564840831982421633862954253156271611269746241331558858319377779650033726426389922783782711216553408768026629590100652701464791669319302898055323853136158857978492110732968238493726996025457150465924559184321422942012598438625090841271657584676168766981651647952799248926516984679973596308408175592375809265289810248624091576348000320660457283029807299846280648096200662987104841247850658840802912170852142013532882501587352522956636362858238472959646364213302073006462213772632097871125190257470500497915289929650699890397732889187276071392949648637088325670383416183064377150055307652031091941722565726960424779942505677892330585298060056493278410919845636134876826548656409936745203499345074761787380619877063014052365091510608714468745972839724838978968076342107384935555853095705138810306985747821257788606985219107721985130162781739264205420300690259026053925526009012492161644213462215204341905394970594585933226181959750088653319666912399070124169823999878111221099378944686290393073134822346457420142185093682508744890733584931023985424776082542671379474448053998597639046506587986009843971375804184119791539811389292376806343363292319885679755297839528835456655741667007590069260237024419224588361161949752887410637062846549382251585230004615875908014982357592759016932323930276191253735832271893596895797526343388003175205247377275605964274298011588722469472494304430648819137930542942333320879509774977183843323744295999586505107133144004745552334164138588689049870663211587172140028360331446913974471585839385755946930882637566022590619248855546984412916591531370479599838605992594911020678369246410055109106666005444229545096189196696304266476881607108129090009622106603368140786579892052384590834091305668964224762956514550295778225324986072459081344543789958160006783718065837727759705963353114916697996877494066884932152910466368343533783650999062533309381518084408925181610437839649084323420745721448713329758281315548867704983979772258544122285344880845482379337887511419762437081499968822331197286073188897005109423072435435206657258174073475033882322519018086218632564881606320795662158557054009541155012629768915998880652853003224241099341494440926767952018957887042556236090426666919635812080556134137032709409614666389645475890212090290583392992225010342656058636709209538401907052502738188278138919240465978477470389466848662344095218524429145294766889012025335696138822105352408944718664718846365316884716885547516970931415540026373867839455842496573879819872824077404470943109159327334099927459851779513776671712490248795557761390275409862906791665032022754633044207223151200832257505449315891267654538189341643579715037069131228575545171859305840811519167198225989093476243990556413257966425060591144073367784487625046265562407612675178168201829149279 3282765009459084850184673792680673007705927261405627054225190505609735986471252339349942676193840855525344265098329851867940149815472656195123030912980506370595295824773157312252621466748013572030915220640970832001388074906799396004635271769241508289834479411460971670192822049794334573541907793594534652857369346933384191924316204688760668018463320079627329191114651818407516411610806155895876848828515764596924501156324736369295585870638887181883980859909064022907938587656948419765932883205440841711568495415916395227005717249860483345751501571674320205256481624249380585457606383721102815621099454448489933593400685347132704782845487166472908809756427217676437293178529106124960166700954839619442348758500103919746086761247991226349174047119488673513598986316094548060418672931398027902943284609342131383034589751012337893976267700764420145307039822445127677006149094820039472360937110930731443179296469600790715578934631407058729894155667613081824837870329795563824314565916688323034943975606721841689367529390502770728389812528547191289537429379022638622946000390290458246498663132730321884156400454554749336303853257562563730484414627387042577975663507154500854048453016352891438214232126613552533887243734314842889941174316699907051294307270133692372475374113946054406553225639344523612651081109026811061247981804131068080165119896621289325013431445811948528053723886290439536420100812616447015452245589353535167007345608603009282863215358220040671969547534474125438016573404313384430869327289024711817370179054832322556731291712537086813051816501367797424839829584935953503294321715084208145474739421307581791182398902350845709557349753561479964921860737792624530392939298954862702571839926484303298590557574023912354244823109561954437791313263010770300886184705265444544062504359920768660636690658515222767670335778425222807719844846601927737393959680379528698097876668111585289035528301745492914724580040404988997890707186178565848079001391810213882796753375648120072754020928972790415348691970438540585072250339376721042993287667533574893867728716524874838957894383133062901459737941129134101197037208384444058573028772717737396099033885089617938575775522326124174065004134849353663073626459178763775588424622591253647019540915204584991468914100842754810221876685361434806629730418127706125057480791330864655459804372839549519522386539917743378458819674323303785980648592685440097647505652618527373220177845769251042014426992682611936874829491853353913468317379674085710192073791078199940704076190991716384764778664496186331496997104350748091829944163309935205670432788469020932649681911805055710697376347812730030781449835327683754385467536760110331043100386490230227580264066205756549254635799951154208538919649393267902708590803632703984121172150243930683831284608521163123197733472993125030441243627287781101173559963170323965407908510331406376564761027411916273567322339344514772743353182329534754567774608701708325124677744436138699895947461940816121944495346553192068824003490143152213929442245787043181185637402712724482 5311625362383669351434339770450051523887592486851997644298044790270463989510743126996201677465354378192772029425762074461944151821375450234098354638642309553300915632589899855126750080048807094944342291912137208757638201343175631583036090111676915318381868785884536511024804471428197527795064065205804399098700905791703569703966238415187057941247102790843882599882678447997617064312270947565196151726571088450060660014303228480028554109132614177909438010374988582092260010598961018204557974046712499296244664182898046874958516498787000330431475167982728380848857433514670395706230475297450815941759911731519740893246965995228905445832592007720759468597230129847289435192061988626547519223911475982300587231459750283959388834254453440121806144990613863771069486814009837990069372821795760792130560680735081031671678076682721310159332077914475452959070914386850242733109519599981978038829441516029503235789748011710561215069508233607386304092412816581169912632117176183701377579969053414545552690075467814529092368369470847070497197464103044385242568189329624370767258178897443465606385117860484665895664659975050026562879311488089739496906789031256040190867849059895824643038949579073397964320779933219446286313858484666889819285537799285995980597663206827194821831534088239500235734384235257197582105094451587143790653183605516134163717535667795912999441289783324332237843677830250925712477618959810307772131269108833006536181065258750949870805427480277696388772122835287387769460814950447277418709540609941821986054962847304914324050729469410743328007755103629696733426480733479846682324890289455522750345385581879802771121371823340013987998572699410507864194058672134305370123142278606998571426431591436442595303126358076492833512159432617649378485403039130632333098679737030383448260306851651298202713249134471623217320191341814339090324446440533729988870701057897944507931777218251294479757846841682111420884306881870604998836276188187954682369532596793774849137966482211378422985153735746929898987748663865571144709420721264832951447674317292959705456476230838192072811081129940395526622873282044567565380742168095057635562082099255480507959066700055778224859845746869895513717464607634978622494164162743547846968744876598527865023294542472502888676537924254779044207882647507995526735527550778560492687448589038728934838255162068537608605172482624984779615336481860839990189747698069866563504533271380376444418945110745482941194944701569823917385727943780580387953191754641844329106500487814607093721666881928475055362057488411341839653162987457301368346070362437943858710927388261398628159382194522559359720443031254459926744602216695779721163675582215683452045105154949073945580950922642096771606731366694234912787488849110399282470623505528061525643093353090011165384535981014902711510144705615279236801388678056511036466754835355988162541554538629527765593284917365589458589993882704114386932897366603885796350153873567630965489263603336925885040938184806678357753312978252659968076857927639838975707808194655856363805604541873761 8594390371842754201619013563130724531593519748257624698523235295880199975981995466346144353659195233718116294524091926329884301636848106429221385551622815923896211457363057167379371546796820666975257512553108040759026276249975027587671361880918423608216348197345508181217626521222532101336971858800339051956070252725087761628282443103947725959710422870471211790997330266405133475923077103461073000555086853046985161170627964849324139979771501359793418870284052605000198598255909437970490857252153341007813159598814442101964233748647483676182976739657048586105339057764050981163836859018553631562859366180009674486647651342361610228678079174193668278353657347523726728370591094751507685924866315601742935989959854203705475595502444666470980192110102537284668473130104386050488045753193788695073845290077212414706267827695059204135599778678895598266110736831977919739258614420021450399766552446760946415086217612501276794004139640666116198248080429662994750502446971747525692145885741737580496665682189656218459897759973617798887009992650235674779997568352262993713258569187901712105048250590806550052065114529799362866732569050653469981321416418298618166531356214396678691491965931964836178552906546771980173557592799509779760459854499193047274904933340519567297205648034293906788960023579780810233186203478398205038634987736584214328837432289085238012872735595272860291567564120690462132578431576257323224376858462368173543526673861760232734020785700318368358319657309412825786034219263831708288036829634653639356234017679627471055342442006497556379824256471427121573256065669433349976646605373663668225084806889461593953520274174185723545348326260890472786054796464758835763062441233469701143266358075739741185860700381988847078335268994572087169798666049900933219283385002474927510764666772419958839403907649694390887655969767037146810169293042461467382830381437426642605808445329836583515286148587175026145464347286859602889543462366753802761370924407007657645891342130331451177006082708537345247679719102406156216959760097985875944735341850867853573185192755713031030705464263003296986360814411178668762417950552539116208590854816992876606992951789673716800635368072994069578721599456988641696120623341507323435393367467852174884564209747057494357590638767009589266084568008942802156465945678484685550168239919903384394642628001618057130991712400368363238435010805164625970838340383509964211010185889907749664596790879996524955621937384181760792215219797134493856270571428727554521180291566014547797797857873644859820140721984597673336650267338205393198290233672373149529143715857282331277841293999578270057096790843984490708194437544379534106631212342326014495145491645179301525845017128398646026242531317848443451707138242378301991061427138232045646815243597020694996669144502178025909243617698740309678045015965837612210026718005679953570450064870035904330354312329281863025912333227218887130286079696138640364124762575275956090167008039475625780988400125622800302248659531444728792080348070792052905150053981699037549443007254598243 13906015734226423553053353333580776055481112235109622342821280086150663965492738593342346031124549611910888323949854000791828453458223556663319740190265125477197127089952957022506121626845627761919599804465245249516664477593150659170707451992595338926598216983230044692242430992650729629132035924006143451054771158516791331332248681519134783900957525661315094390880008714402750540235348051026269152281657941497045821184931193329352694088904115537702856880659041187092458608854870456175048831298865840304057823781712488976922750247434484006614451907639776966954196491278721376870067334316004447504619277911529415379894617337590515674510671181914427746950887477371016163562653083378055205148777791584043523221419604487664864429756898106592786337100716401055737959944114224040557418574989549487204405970812293446377945904377780514294931856593371051225181651218828162472368134020003428438595993962790449650875965624211838009073647874273502502340493246244164663134564147931227069725854795152126049355757657470747552266129444464869384207456753280060022565757681887364480516748085345177711433368451291215947729774504849389429611880538743209478228205449554658357399205274292503334530915511038234142873686479991426459871451284176669579745392298479043255502596547346762119037182122533407024694407815038007815291297929985348829288171342100348492554967956881151012314025378597192529411241950941387845056050536067630996508127571201180079707739120511182604826213180596064747091780144700213555495034214278985706746370244595461342288980526932385379393171475908299707832011575056818306682546402913196658971495663119190975430192471341396724641645997525737533346898960300980650248855136893141133185583512076699714692789667176183781163826740065339911847428427189736548284069089031565552382064739505310959024973624071257042117156784166014104976161108851485900493739482995197371701082495324587113740222548087877995043995428857137566348654168730207888379738554941757443740457003801432495029308612542829599991236444284275146667467766271727361669180819250708896183016168160813278641668986551223103516545392943692512983687693223236327798692720634173844152936916248357114952018489729495025495213819863965092439064064623620318614787504250871282362112344450702749587504289529997246267176691264368310292450656450797683201473229263246042855688508942113329480883163686594739596884882993348018050347287025465961028088081579830774514719161288126109015735990742007896816882085751584709600947740915074244223763183369398850286792053829154891519524755573334875502779473009015176303430325662694566636304034811093387854643245543729906000676194100829416817233875238950634939039761075313827794887924541697947190596800128375471425968051040742797849262684542678364494627091488701273532050643760107172458336950110706162053680483192928620753762404355588914846404643894123246493472841035941732991619408665432095947597246647452484502327109923001517218977062742526160474916448843587055656271642812551666029338310429478660001972509697388760157205998431891880857862176354893913248611796472004 22500406106069177754672366896711500587074631983367247041344515382030863941474734059688490384783744845629004618473945927121712755095071663092541125741887941401093338547316014189885493173642448428894857317018353290275690753843125686758378813873513762534814565180575552873460057513873261730469007782806482503010841411241879092960531124623082509860667948531786306181877338980807884016158425154487342152836744794544030982355559158178676834068675616897496275750943093792092657207110779894145539688551019181311870983380526931078886983996081967682797428647296825553059535549042772358033904193334558079067478644091539089866542268679952125903188750356108096025304544824894742891933244178129562891073644107185786459211379458691370340025259342773063766529210818938340406433074218610091045464328183338182278251260889505861084213732072839718430531635272266649491292388050806082211626748440024878838362546409551396065962183236713114803077787514939618700588573675907159413637011119678752761871740536889706546021439847126966012163889418082668271217449403515734802563326034150358193775317273246889816481619042097765999794889034648752296344449589396679459549621867853276523930561488689182026022881443003070321426593026763406633429044083686449340205246797672090530407529887866329416242830156827313813654431394818818048477501408383553867923159078684562821392400245966389025186760973870052820978806071631849977634482112324954220884986033569353623234412982271415338846998880914433105411437454113039341529253478110693994783199879249100698522998206559856434735613482405856087656268046483939879938612072346546635618101036782859200514999360802990678161920171711461078695225221191453436303651601651976896248024745546400857959147742915924967024527122054186990182697421761823718082735138932498771665449741980238469789640396491215881521064433860404992632130875888632710663032525456664754531463932751229719548667877924461510330144016032163711813001455589810777923200921695560205111381410809090140920650742874280776997319152821620394347186868677883578628940917236584840918358019028666851826861742264254134222009655946989499344502104401905090216643273173290052743791733241233721944970279403211826130581892858034671160663521612262014735410845758194717755479812302877634151714036587491603857815458273957576377018665393599839667418907747931593023928428845497724123511165304651870588597283361711256485358092190091931866428465089794985524905051195875773612526870738532852438819469933345501816167538049568100494334612096953371467083619843702689317382629218194695643501457606688512953697663868087764926537707184242916998359102826061183841970193679099473914024719223441343133477305454847934426100266867712442336088445307676997270985179439388824091794002391121816201765333867003264593477781992152819273580547131401158722824985370954529997380103095898592891420609731735456520190846715895303441684278701336426301909575929315510414660337141888647505056758881166524599679024119543145823279682288177447017738436052278962250632041142117552237554069223944786007916158053931462691619051070247 36406421840295601307725720230292276642555744218476869384165795468181527906967472653030836415908294457539892942423799927913541208553295219755860865932153066878290465637268971212391614800488076190814457121483598539792355231436276345929086265866109101461412782163805597565702488506523991359601043706812625954065612569758670424292779806142217293761625474193101400572757347695210634556393773205513611305118402736041076803540490351508029528157579732435199132631602134979185115815965650350320588519849885021615928807162239420055809734243516451689411880554936602520013732040321493734903971527650562526572097922003068505246436886017542641577699421538022523772255432302265759055495897261507618096222421898769829982432799063179035204455016240879656552866311535339396144393018332834131602882903172887669482657231701799307462159636450620232725463491865637700716474039269634244683994882460028307276958540372341845716838148860924952812151435389213121202929066922151324076771575267609979831597595332041832595377197504597713564430018862547537655424906156795794825129083716037722674292065358592067527914987493388981947524663539498141725956330128139888937777827317407934881329766762981685360553796954041304464300279506754833093300495367863118919950639096151133785910126435213091535280012279360720838348839209856825863768799338368902697211330420784911313947368202847540037500786352467245350390048022573237822690532648392585217393113604770533702942152102782597943673212061510497852503217598813252897024287692389679701529570123844562040811978733492241814128784958314155795488279621540758186621158475259743294589596699902050175945191832144387402803566169237198612042124181492434086552506738545118029433608257623100572651937410092108748188353862119526902030125848951560266366804227964064324047514481485549428814614020562472923638221218026419097608291984740118611156772008451862126232546428075816833288890426012339505374139444889301278161655624320018666302939476637317648851838414610522635949959355417110376988555597105895541014654634949610940298121736487293737101374187189480130468530728815477237738555048890682012328189797625141418015335993807463896896728649489590836896988769132706851625795712721999763599727586235882333350198350009066000117592156753580383739218326117488850124992149538325886669469321844397522868892137011177635879616937787611053604394328991246610185482166355059274535705379215557892894516546669625760039624212484001882628262861480540749255701555684930211417115278964642344718097795466352221753875673672857580836907384791529571146280930615703689257127989530782331562841741995336304853002348369791089842646387779928890731258594462391978072517066530161762220988191409410389526685245436052468696953230480131621941056686933800180696392425355704538125528425752259991731917497242107320776505468563883150751142507451487507737825253625858703013663687751837036433303687366768522249506822576767994916987447064890164724033821623692685074595472963130201479551325100729113047076746481757622252604550839506312394760067655836666865778334408825375940230847542251 58906827946364779062398087127003777229630376201844116425510310850212391848442206712719326800692039303168897560897745855035253963648366882848401991674041008279383804184584985402277107974130524619709314438501951830068045985279402032687465079739622863996227347344381150439162546020397253090070051489619108457076453981000549517253310930765299803622293422724887706754634686676018518572552198360000953457955147530585107785896049509686706362226255349332695408382545228771277773023076430244466128208400904202927799790542766351134696718239598419372209309202233428073073267589364266092937875720985120605639576566094607595112979154697494767480888171894130619797559977127160501947429141439637180987296066005955616441644178521870405544480275583652720319395522354277736550826092551444222648347231356225851760908492591305168546373368523459951155995127137904350207766427320440326895621630900053186115321086781893241782800332097638067615229222904152739903517640598058483490408586387288732593469335868931539141398637351724679576593908280630205926642355560311529627692409750188080868067382631838957344396606535486747947319552574146894022300779717536568397327449185261211405260328251670867386576678397044374785726872533518239726729539451549568260155885893823224316317656323079420951522842436188034652003270604675643912246300746752456565134489499469474135339768448813929062687547326337298171368854094205087800325014760717539438278099638339887326176565085054013282520210942424930957914655052926292238553541170500373696312770003093662739334976940052098248864398440720011883144547668024698066559770547606289930207697736684909376460191192947378080965486340948659690737349402683887522856158340197094925681633003169501430611085153008033715212880984173713892212823270713383984449539366896563095712964223465787898604254417053688805159285651886824090240422860628751321819804533908526880764010360827046552837558303936801015704283460921464989974657079909829444226140398332877853963219825419612776870610098291391153985874749927515935361841503627494518927062653723878578019732206218146982295392471079731371960564704837671511672691902027046508231979266980753949640520382730824558841959048535918677756377605580034434760391107848144348085609195767260717873071969056458017890932362704980453982807607812283463046487987237997362536311044759109228903545366633108777727905494295898480774079449716770531021063471405649824760945011759420745564529263679877656240789732219073601694521025618275713233282817014210445212432407563305593220959293516560270154290014009724266789782388222392202210825653398870096489379449179579221851361451195852273684616581459028364645283313685833321205994371985009696647088458277122831862773690743729465967938409919520446032850689324921996898157759222707802719006207744412811005498044373508479499330453934837680748522610547386100629245863357594159533854534467732339874987966068104948551416398506083505331647784206778812229090580504859209674274497082673347302831007388906560064815182534036584503236591981623864632314136879781452873694492462756838631849898612498 95313249786660380370123807357296053872186120420320985809676106318393919755409679365750163216600333760708790503321545782948795172201662102604262857606194075157674269821853956614668722774618600810523771559985550369860401216715678378616551345605731965457640129508186748004865034526921244449671095196431734411142066550759219941546090736907517097383918896917989107327392034371229153128945971565514564763073550266626184589436539861194735890383835081767894541014147363750462888839042080594786716728250789224543728597705005771190506452483114871061621189757170030593086999629685759827841847248635683132211674488097676100359416040715037409058587593432153143569815409429426261002925038701144799083518487904725446424076977585049440748935291824532376872261833889617132695219110884278354251230134529113521243565724293104476008533004974080183881458619003542050924240466590074571579616513360081493392279627154235087499638480958563020427380658293365861106446707520209807567180161654898712425066931200973371736775834856322393141023927143177743582067261717107324452821493466225803542359447990431024872311594028875729894844216113645035748257109845676457335105276502669146286590095014652552747130475351085679250027152040273072820030034819412687180106524989974358102227782758292512486802854715548755490352109814532469776015100085121359262345819920254385449287136651661469100188333678804543521758902116778325623015547409110124655671213243110421029118717187836611226193423003935428810417872651739545135577828862890053397842340126938224780146955673544340062993183399034167678632827289565456253180929022866033224797294436586959552405383025091765483769052510185858302779473584176321609408665078742212955115241260792602003263022563100142463401234846293240794242949119664944250816343594860627419760478704951337327418868437616161728797506869913243187848714845368869932976576542360389006996556788902863386126448729949140521078422905810766268136312704229848110529079874970195502815058240030135412820569453708501530974430347033411476376496138577105459225184390211172315121106393407627112763923199895208609699119753728353524000881699652187926247315260788217846537249032220415395738947817668625529382173318302034198360118694084026681435807545776326717990664125810038401630150688822469304107799757350609349715957309082394885405203181770286864783162304420719831332299823287145090959561616071829805556768850621207717655461558429046505604153476163879538869052593699614350950222581303205924650398095978852789930530203029657814974834967189417850991197398801253837936063318838095891467953642929652428052221191174915526704363799565643363527262969238957255376541908148225299278511438515171458868076649686533221389458936179781934664891640399652067973907376258722177594550184578412340844534633496672802737415541615615800275835922498720831499665117998873608367071116983452862547518222219569376308291653434873470800923221082851500248635231271668976953124402128551894748869970045803548782382332489635673111891929015794206755841142821130177027074204535618119739472826871582214572080746154749 154220077733025159432521894484299831101816496622165102235186417168606311603851886078469490017292373063877688064219291637984049135850028985452664849280235083437058074006438942016945830748749125430233085998487502199928447201995080411304016425345354829453867476852567898444027580547318497539741146686050842868218520531759769458799401667672816901006212319642876814082026721047247671701498169925515518221028697797211292375332589370881442252610090431100589949396692592521740661862118510839252844936651693427471528388247772122325203170722713290433830498959403458666160267219050025920779722969620803737851251054192283695472395195412532176539475765326283763367375386556586762950354180140781980070814553910681062865721156106919846293415567408185097191657356243894869246045203435722576899577365885339373004474216884409644554906373497540135037453746141446401132006893910514898475238144260134679507600713936128329282438813056201088042609881197518601009964348118268291057588748042187445018536267069904910878174472208047072717617835423807949508709617277418854080513903216413884410426830622269982216708200564362477842163768687791929770557889563213025732432725687930357691850423266323420133707153748130054035754024573791312546759574270962255440262410883797582418545439081371933438325697151736790142355380419208113688261400831873815827480309419723859584626905100475398162875881005141841693127756210983413423340562169827664093949312881450308355295282272890624508713633946360359768332527704665837374131370033390427094155110130031887519481932613596438311857581839754179561777374957590154319740699570472323155004992173271868928865574218039143564734538851134517993516822986860209132264823418939307880796874263962103433874107716108176178614115830466954686455772390378328235265882961757190515473442928417125226023122854669850533956792521800067278089137705997621254796381076268915887760567149729909938964007033885941536782706366732231258110969784139677554755220273303073356778278065449748189691179551999892684960305096960927411738337642204599978152247043935050893140838599625774095059315670974939981659684458566025035673573601679234434479294527768971796177769414951239954580906866204544207138550923882068633120509801932171029521416741543587435863736094866496419521083051527449758090607365162892812762445296320392247941514226529396093686707671053828609060205317583043571733641065788600336577832322026857542416406570188467251168682739843757195109842325918687952644743606921481637883680912993063235142962610592963408195794260705978121145487412810978104725845707060488093678779296328522524541600640354494748555725250761495637211879550697985620021825221834058620484505810500181155515165107963656053252232626923511400632830050319172514006758065583644174492707943801120143563540841241085613742913585989124279775166376433558512248187728546259708996316980341047022081372756687301716183279619502978419352339619588935005580283015478447789182214982633411104423144467128476896085213339878542233176707111549830791259077734802754041659388341415399572613167319334339053203930644767247 249533327519685539802645701841595884974002617042486088044862523487000231359261565444219653233892706824586478567540837420932844308051691088056927706886429158594732343828292898631614553523367726240756857558473052569788848418710758789920567770951086794911507606360754646448892615074239741989412241882482577279360587082518989400345492404580333998390131216560865921409418755418476824830444141491030082984102248063837476964769129232076178142993925512868484490410839956272203550701160591434039561664902482652015256985952777893515709623205828161495451688716573489259247266848735785748621570218256486870062925542289959795831811236127569585598063358758436906937190795986013023953279218841926779154333041815406509289798133691969287042350859232717474063919190133512001941264314320000931150807500414452894248039941177514120563439378471620318918912365144988452056247360500589470054854657620216172899880341090363416782077294014764108469990539490884462116411055638478098624768909697086157443603198270878282614950307064369465858641762566985693090776878994526178533335396682639687952786278612701007089019794593238207737007984801436965518814999408889483067538002190599503978440518280975972880837629099215733285781176614064385366789609090374942620368935873771940520773221839664445925128551867285545632707490233740583464276500916995175089826129339978245033914041752136867263064214683946385214886658327761739046356109578937788749620526124560729384413999460727235734907056950295788578750400356405382509709198896280480491997450256970112299628888287140778374850765238788347240410202247155610572921628593338356379802286609858828481270957243130909048503591361320376296296296571036530741673488497681520835912115524754705437137130279208318642015350676760195480698721510043272486082226556617817935233921633368462553441991292286012262754299391713310465937852551366491187772957618629304894757123938632773325090455763835082057861129272542997526247282488369525665284300148273268859593336305479883602511749005708394215934735443994338888114833780781705437377431434146223208261944993033401207823238870870148591358804212294378559674455301331422360726609788557189642715018447171655350319854683873169736520724242184102831480628496016197710957224287319914153854400220676534821151233740349919062198407122513502162478402605402787133346717408299682958469869975474548440392505140870188662693202681860430142134601172648065260071868128617513756772836216007636733978894919618302303594966188224687562534079008971916025073492813622621223170629227895395972136684811612231942661909025898583985146732939258174952593821831529410275260089050327139000739142519936942875398367129982283919763017249015352614383241757650189274641691563103293335297721690718824581980665441842366352087258128379532484408075474737758416480329127604740080051002298932279343747852846545133317363388097324499884628890978906871092491571272937851890153262840671786505828918246750116766135339384761962999172014437174280444867595672368177906288599040565624998014918877623884218686462545951017692352640146205921267776011390921996 403753405252710699235167596325895716075819113664651190280048940655606542963113451522689143251185079888464166631760129058916893443901720073509592556166664242031790417834731840648560384272116851670989943556960554769717295620705839201224584196296441624365375083213322544892920195621558239529153388568533420147579107614278758859144894072253150899396343536203742735491445476465724496531942311416545601205130945861048769340101718602957620395604015943969074439807532548793944212563279102273292406601554176079486785374200550015840912793928541451929282187675976947925407534067785811669401293187877290607914176596482243491304206431540101762137539124084720670304566182542599786903633398982708759225147595726087572155519289798889133335766426640902571255576546377406871187309517755723508050384866299792267252514158061923765118345751969160453956366111286434853188254254411104368530092801880350852407481055026491746064516107070965196512600420688403063126375403756746389682357657739273602462139465340783193493124779272416538576259597990793642599486496271945032613849299899053572363213109234970989305727995157600685579171753489228895289372888972102508799970727878529861670290941547299393014544782847345787321535201187855697913549183361337198060631346757569522939318660921036379363454249019022335775062870652948697152537901748868990917306438759702104618540946852612265425940095689088226908014414538745152469696671748765452843569839006011037739709281733617860243620690896656148347082928061071219883840568929670907586152560387001999819110820900737216686708347078542526802187577204745764892662328163810679534807278783130697410136531461170052613238130212454894289813119557896739873938311916620828716708989788716808871011237995316494820629466507227150167154493900421600721348109518375008450707364561785587779465114146955862796711091913513377744026990257364112442569338694898220782517691088362683264054462797721023594643835639275228784358252272509203220039520421576342216371614370929631792202928557708286900895040540955266299853171422986305415529678478081274101402783592659175302882554541845088573018488670860403595348028903010656795205904316326161438892787862122895304900761550077713943659275166066171464601138297948368740478641028863501589718136315543031240672316791877368820289014487676394975240847901723179381288231634829079052156577646528377049452710458453232234426843747649030478712433494674922802488274698805981007941518955851393929088737245536990256239709795146169200417759921964979260216455424215584631366423488601374093282172224423210047387754732959072078825512235586697477135422471883905023815814301088634637951022070634928495420192351816342540247523059515533769898406865613845327893924190026804735930551741037997095987423507426010526579966072180652627971616315978844030223242713593864359826168675365837855996040575091393026359705077665546906710263735594172808674850892440830309505602460260721511409201262228564555317554367395374103595158904302757340952809012246720139465306152115455789273996612426638260345850887366417264965807465540260320979942035689243 653286732772396239037813298167491601049821730707137278324911464142606774322375016966908796485077786713050645199300966479849737751953411161566520263053093400626522761663024739280174937795484577911746801115433607339506144039416597991145151967247528419276882689574077191341812810695797981518565630451015997426939694696797748259490386476833484897786474752764608656900864231884201321362386452907575684189233193924886246304870847835033798538597941456837558930218372505066147763264439693707331968266456658731502042360153327909356622417134369613424733876392550437184654800916521597418022863406133777477977102138772203287136017667667671347735602482843157577241756978528612810856912617824635538379480637541494081445317423490858420378117285873620045319495736510918873128573832075724439201192366714245161500554099239437885681785130440780772875278476431423305244501614911693838584947459500567025307361396116855162846593401085729304982590960179287525242786459395224488307126567436359759905742663611661476108075086336786004434901360557779335690263375266471211147184696581693260315999387847671996394747789750838893316179738290665860808187888380991991867508730069129365648731459828275365895382411946561520607316377801920083280338792451712140681000282631341463460091882760700825288582800886307881407770360886689280616814402665864166007132568099680349652454988604749132689004310373034612122901072866506891516052781327703241593190365130571767124123281194345095978527747846951936925833328417476602393549767825951388078150010643972112118739709187877995061559112317330874042597779451901375465583956757149035914609565392989525891407488704300961661741721573775270586109416128933270615611800414302349552621105313471514308148368274524813462644817183987345647853215410464873207430336074992826385941286195154050332907105439241875059465391305226688209964842808730603630342296313527525677274815026995456589144918561556105652504964911818226310605534760878728885323820569849611075964950676409515394714677563416681116829775984949605187968005203768010852907109912227497309664728585692576510705793412715237164377292883154782155022484204342079155932514104883351081607806309294550655220616233950883680179999408250274296081766793964566451435865316183415743572536536219566061823550532227287882487421610189897137719250507125966514634949043128762010626447622002925489845215599323420897120046429509460620847034667322988062560142827423494764714355171859030663067632165155292559834675983370856762951838930936895285289948237838205854537052716496770065418857036035441990049663758857656063972245174844872429729244303413315299075903351415773638690164590571871370818559481798626460010540308530886384281648623264034602535615753130098071228273431756821677968088949268376878667224200560185112379691790716602446703571841198604439877170974298117199743893421636526343723093174990046791339154714501043901166422165378682199658865300932508017238119508978681321452893752157337102767173341477037785820404684614898045753905192681080787288915490050522479032313433317434957318447611746181588755953426611239 1057040138025106938272980894493387317125640844371788468604960404798213317285488468489597939736262866601514811831061095538766631195855131235076112819219757642658313179497756579928735322067601429582736744672394162109223439660122437192369736163543970043642257772787399736234733006317356221047719019019549417574518802311076507118635280549086635797182818288968351392392309708349925817894328764324121285394364139785935015644972566437991418934201957400806633370025905053860091975827718795980624374868010834810988827734353877925197535211062911065354016064068527385110062334984307409087424156594011068085891278735254446778440224099207773109873141606927878247546323161071212597760546016807344297604628233267581653600836713289747553713883712514522616575072282888325744315883349831447947251577233014037428753068257301361650800130882409941226831644587717858158432755869322798207115040261380917877714842451143346908911109508156694501495191380867690588369161863151970877989484225175633362367882128952444669601199865609202543011160958548572978289749871538416243761033996480746832679212497082642985700475784908439578895351491779894756097560777353094500667479457947659227319022401375574758909927194793907307928851578989775781193887975813049338741631629388910986399410543681737204652037049905330217182833231539637977769352304414733156924439006859382454270995935457361398114944406062122839030915487405252043985749453076468694436760204136582804863832562927962956222148438743608085272916256478547822277390336755622295664302571030974111937850530088615211748267459395873400844785356656647140358246284920959715449416844176120223301544020165471014274979851786230164875922535686830010489550112330923178269330095102188323179159606269841308283274283691214495815007709310886473928778445593367834836648650756939638112372219586197737856176483218740065953991833066094716072911635008425746459792506115358139853199381359277129247148800551093455094963787033387932105363340991425953292336565047339147186917606121124968017724816525904871487821176626754316268436788390308771411067512178351751813588347954560325737395781554015185750370513107352735951138418421209512520500594171417445960121377784028597623839274574316445760682905091912935191914506345046917333290672851762597302495867324104656702776436097866292112960098408849145895923180677957841062783025268531302539297926057776653131546890177158491099559468161997910865048417526229475772655874127710424592156369410692282816074385778517025963369598852901874545506403662053790485903476205098144158701029260458652037437418491816728142797757410431569906864666775297220322891717652504408276641186661206799866238751833614969000258063368046420154180055488877879930429539943156902807158825172794818773955512456694387405247190272740837740351308106695446476926814554792468799703339649663955055739933996727919370082798252655593698049418450095216709841273057819512509164467761193229528647320771207245876770448119552711206362332245779795126773213696861618185219211344796536576562912102477160739378164320683852222284255077286441909735895462300482 1710326870797503177310794192660878918175462575078925746929871868940820091607863485456506736221340653314565457030362062018616368947808542396642633082272851043284835941160781319208910259863086007494483545787827769448729583699539035183514888130791498462919140462361476927576545817013154202566284649470565415001458497007874255378125667025920120694969293041732960049293173940234127139256715217231696969583597333710821261949843414273025217472799898857644192300244277558926239739092158489687956343134467493542490870094507205834554157628197280678778749940461077822294717135900829006505447020000144845563868380874026650065576241766875444457608744089771035824788080139599825408617458634631979835984108870809075735046154136780605974092000998388142661894568019399244617444457181907172386452769599728282590253622356540799536481916012850721999706923064149281463677257484234492045699987720881484903022203847260202071757702909242423806477782341046978113611948322547195366296610792611993122273624792564106145709274951945988547446062319106352313980013246804887454908218693062440092995211884930314982095223574659278472211531230070560616905748665734086492534988188016788592967753861203850124805309606740468828536167956791695864474226768264761479422631912020252449859502426442438029940619850791638098590603592426327258386166707080597322931571574959062803923450924062110530803948716435157451153816560271758935501802234404171936029950569267154571987955844122308052200676186590560022198749584896024424670940104581573683742452581674946224056590239276493206809826571713204274887383136108548515823830241678108751364026409569109749192951508869771975936721573360005435462031951815763281105161912745225527821951200415659837487307974544366121745919100875201841462860924721351347136208781668360661222589936952093688445279325025439612915641874523966754163956675874825319703253931321953272137067321142353596442344299920833234899653765462911681405569321794266660990687161561275564368301515723748662581632283684541649134554592510854476675789181830522327121343898302536268720732240764044328324294141367275562901773074437169967905392997311694815107070932526092863602108400480711996615341994017979481304019273982566720056764671885877501643350371661230333076863209387982163364319417856331944585263857708056189250679348915975112410558129721086603073409472890534228029143141657100074028666936606667951720406502829320898927608560353652970537370229299569455255224001575847575375909061761887882726321437783838769830796351899891996340440528921594914224119886296494094027487082250674384206770002585276442336593911078710535621967621003920181915331351251778671237057311315413595460268603676577306538461704112141914532965155696287000878387098604551640451923601405962764283914414473301022852730999897412048923630386395991073239580510623962072255483827418364445713805891427645640489388573164596260611007695223198194708823333062125737545885440280185927198223341871710048309129505587256832912593618381476516230973116537477617363851827592527683218410477754001287179602702689032623498491848888911721 2767367008822610115583775087154266235301103419450714215534832273739033408893351953946104675957603519916080268861423157557383000143663673631718745901492608685943149120658537899137645581930687437077220290460221931557953023359661472375884624294335468506561398235148876663811278823330510423614003668490114832575977299318950762496760947575006756492152111330701311441685483648584052957151043981555818254977961473496756277594815980711016636407001856258450825670270182612786331714919877285668580718002478328353479697828861083759751692839260191744132766004529605207404779470885136415592871176594155913649759659609281096844016465866083217567481885696698914072334403300671038006378004651439324133588737104076657388646990850070353527805884710902665278469640302287570361760340531738620333704346832742320019006690613842161187282046895260663226538567651867139622110013353557290252815027982262402780737046298403548980668812417399118307972973721914668701981110185699166244286095017787626484641506921516550815310474817555191090457223277654925292269763118343303698669252689543186925674424382012957967795699359567718051106882721850455373003309443087180993202467645964447820286776262579424883715236801534376136465019535781471645668114744077810818164263541409163436258912970124175234592656900696968315773436823965965236155519011495330479856010581818445258194446859519471928918893122497280290184732047677010979487551687480640630466710773403737376851788407050271008422824625334168107471665841374572246948330441337195979406755152705920335994440769365108418558094031109077675732168492765195656182076526599068466813443253745229972494495529035242990211701425146235600337954487502593291594712025076148706091281295517848160666467580814207430029193384566416337277868634032237821064987227261728496059238587709033326557651544611637350771818357742706820117948508940920035776165566330379018596859827257711736295543681280110364146802566014005136500533108827654593096050502552701517660638080771087809768549889805666617152279409036759348163610358457276643389780686692845040131799752942396080137882489321835888639168855991185153655763510419047551058209350947302376122608994652129442575463371802008078927858548556883165817447576977790436835264878006277250410153882239744760666815285180436601288040293805922481363639447324824258306481310399044444136192498159065530568441067714876727160213826783826442819965970991318809792656977879882446310026103427279879847380370986539858191983447540404908689691036636740644376302755561945786826344005126693058382820915556952746064924500742491112349567759995708012243458577854007755944859338656424590191972537912985471103296063149028564460526667044623726692641759601019794463394695639443903685545923777346459225879113862657151689161604746041860593082308004107495400557200950783542039283850273626027311223761415092365083888689680301234187437991614691477320848968281017707217987800823318967074532761051393173074993789991262759515491837833036628039366832078338134416192327882274153940414739695004843957788642074685139401886957766319065408227744351212203 4477693879620113292894569279815145153476565994529639962464704142679853500501215439402611412178944173230645725891785219575999369091472216028361378983765459729227985061819319218346555841793773444571703836248049701006682607059200507559399512425126966969480538697510353591387824640343664626180288317960680247577435796326825017874886614600926877187121404372434271490978657588818180096407759198787515224561558807207577539544659394984041853879801755116095017970514460171712571454012035775356537061136945821895970567923368289594305850467457472422911515944990683029699496606785965422098318196594300759213628040483307746909592707632958662025090629786469949897122483440270863414995463286071303969572845974885733123693144986850959501897885709290807940364208321686814979204797713645792720157116432470602609260312970382960723763962908111385226245490716016421085787270837791782298515015703143887683759250145663751052426515326641542114450756062961646815593058508246361610582705810399619606915131714080656961019749769501179637903285596761277606249776365148191153577471382605627018669636266943272949890922934226996523318413951921015989909058108821267485737455833981236413254530123783275008520546408274844965001187492573167510142341512342572297586895453429415886118415396566613264533276751488606414364040416392292494541685718575927802787582156777508062117897783581582459722841838932437741338548607948769914989353921884812566496661342670891948839744251172579060623500811924728129670415426270596671619270545918769663149207734380866560051031008641601625367920602822281950619551628873744172005906768277177218177469663314339721687447037905014966148422998506241035799986439318356572699873937821374233913232495933507998153775555358573551775112485441618178740729558753589168201196008930089157281828524661127015002930869637076963687460232266673574281905184815745355479419497652332290733927148400065332737887981200943599046456331476916817906102430621921254086737664113977082028939596494836472350182173490208266286834001547613824839399540287798970511124584995381308852531993706440408462176630689111451540941930428355121561156507730742366165280283473395239724717395132841439190805365819987560231877822539449885874212248863667938478615249667507583487017091627726924031134703036768545873304151513978670614318796240799370717039440120131047209601971049599758597584209371976801188880763390494394540372473820639708720265538233535416847396332726849335102604372562387433567892509302292791416012474420579414207099107461837783166784534048287972606940801853446840092411582993165496556337762580984454580052488932718291566826959660344772107303889164764142340353374464442159920795270721201033231103463713161708996359851335730904563933022381898099677802715268619915973076019219342883445813307901519544324187587346774615278864360897588099566707588833456810797694581107946874676826564779287737931856663504215901926811133885444704620418201331579100273217131862972807824621343420293460951960450459814650647165444419751771304266567287532527176199119828686426581489660455351688906719593240123924 7245060888442723408478344366969411388777669413980354177999536416418886909394567393348716088136547693146725994753208377133382369235135889660080124885258068415171134182477857117484201423724460881648924126708271632564635630418861979935284136719462435476041936932659230255199103463674175049794291986450795080153413095645775780371647562175933633679273515703135582932664141237402233053558803180343333479539520280704333817139475375695058490286803611374545843640784642784498903168931913061025117779139424150249450265752229373354057543306717664167044281949520288237104276077671101837691189373188456672863387700092588843753609173499041879592572515483168863969456886740941901421373467937510628103161583078962390512340135836921313029703770420193473218833848623974385340965138245384413053861463265212922628267003584225121911046009803372048452784058367883560707897284191349072551330043685406290464496296444067300033095327744040660422423729784876315517574168693945527854868800828187246091556638635597207776330224587056370728360508874416202898519539483491494852246724072148813944344060648956230917686622293794714574425296673771471362912367551908448478939923479945684233541306386362699892235783209809221101466207028354639155810456256420383115751158994838579322377328366690788499125933652185574730137477240358257730697204730071258282643592738595953320312344643101054388641734961429718031523280655625780894476905609365453196963372116074629325691532658222850069046325437258896237142081267645168918567600987255965642555962887086786896045471778006710043926014633931359626351720121638939828187983294876245684990912917059569694181942566940257956360124423652476636137940926820949864294585962897522940004513791451356158820243136172780981804305870008034516018598192785826989266183236191817653341067112370160341560582414248714314459278590009380394399853693756665391255585063982711309330786975657777069033431662481053963193258897490921954406635539449575847182788166666678599689577677265924282118732063295874883439113410584373173003009898745075613900905271688226348984331746648836488600059120010947340180110786419540275216920018149789917223489634420697615847326389784970881766268737621995639159736371096333051691659825841458375313880127673784833897170973867471684697949988217205147161344445319901151977958243565623629023520750519175491345794469208665289166025277086853528349094590174320837360338444811958518512922516113417863157422436154129214949984743548927291759875956842697700105703511057320058583401863023783569993128539174981030989761717410399586157336083735656608905905522576692466823511066786726047511686298316769362299276427077749613443649437613470724381321937765824759923745223314181503459754546975174808249478946159244558903681829131277067662237623965384744038895615905627039724744788297558157318148211171214126877931350248549175881583270788248108864264556393979215252705631785233609144798934708763671694950962382972273348210921854235567340113181253330088991327282538152785063357772302025925244681306982537371133987761903371565983376618221670754314947337591336127 11722754768062836701372913646784556542254235408509994140464240559098740409895782832751327500315491866377371720644993596709381738326608105688441503869023528144399119244297176335830757265518234326220627962956321333571318237478062487494683649144589402445522475630169583846586928104017839675974580304411475327730848891972600798246534176776860510866394920075569854423642798826220413149966562379130848704101079087911911356684134770679100344166605366490640861611299102956211474622943948836381654840276369972145420833675597662948363393774175136589955797894510971266803772684457067259789507569782757432077015740575896590663201881132000541617663145269638813866579370181212764836368931223581932072734429053848123636033280823772272531601656129484281159198056945661200320169935959030205774018579697683525237527316554608082634809972711483433679029549083899981793684555029140854849845059388550178148255546589731051085521843070682202536874485847837962333167227202191889465451506638586865698471770349677864737349974356557550366263794471177480504769315848639686005824195454754440963013696915899503867577545228021711097743710625692487352821425660729715964677379313926920646795836510145974900756329618084066066467394520927806665952797768762955413338054448267995208495743763257401763659210403674181144501517656750550225238890448647186085431174895373461382430242426682636848364576800362155772861829263574550809466259531250265763460033458745521274531276909395429129669826249183624366812496693915765590186871533174735305705170621467653456096502786648311669293935236753641576971271750512684000193890063153422903168382580373909415869389604845272922508547422158717671937927366139306436994459900718897173917746287384864156974018691531354533579418355449652694759327751539416157467379245121906810622895637031287356563513283885791278146738822276053968681758878572410746735004561635043600064714124057842401771319643681997562239715228967838772312737970071497101269525830780655681718517273760760754468914236786083149725947412131986997842409439032874584412029856683607657836863740355276897062235750700058791721052716847895396778076525880532283388769917894092855572043784917812320957074103441983199391614193635782937565872074705126313792495377341292417384188065495198608729084691253973693034648596833879822592277039806422999740560190639306538555396440258265047763609486458830329537975353564815231900710918632598227233188054346953280004818768880978550052589116111314725327768466144990491521715985477899472790500970485621353159913073223269003596702519263846426249747666728822105462243285157676921403563555719444339078513257977114134406580316242513755784002812077912884302117208487025793154848687027343212456114398310905712813411968541142658581484544399896983635313643184727627484708923807146584048932375644332772597012572068802226444638939082005986679277851896194983541091121173266953184562295289449511071610068594208376315369163714551373621428053717208375164734524673623549943287732997967435710523216721777696548947874270069898310186881732057992564866278677022443221666930831460051 18967815656505560109851258013753967931031904822490348318463776975517627319290350226100043588452039559524097715398201973842764107561743995348521628754281596559570253426775033453314958689242695207869552089664592966135953867896924467429967785864051837921564412562828814101786031567692014725768872290862270407884261987618376578618181738952794144545668435778705437356306940063622646203525365559474182183640599368616245173823610146374158834453408977865186705252083745740710377791875861897406772619415794122394871099427827036302420937080892800757000079844031259503908048762128169097480696942971214104940403440668485434416811054631042421210235660752807677836036256922154666257742399161092560175896012132810514148373416660693585561305426549677754378031905569635585661135074204414618827880042962896447865794320138833204545855982514855482131813607451783542501581839220489927401175103073956468612751843033798351118617170814722862959298215632714277850741395896137417320320307466774111790028408985275072513680198943613921094624303345593683403288855332131180858070919526903254907357757564855734785264167521816425672169007299463958715733793212638164443617302793872604880337142896508674792992112827893287167933601549282445821763254025183338529089213443106574530873072129948190262785144055859755874638994897108807955936095178718444368074767633969414702742587069783691237006311761791873804385109919200331703943165140615718960423405574820150600222809567618279198716151686442520603954577961560934508754472520430700948261133508554440352141974564655021713219949870685001203322991872151623828381873358029668588159295497433479110051332171785530878868671845811194308075868292960256301289045863616420113922260078836220315794261827704135515383724225457687210777925944325243146733562481313724463963962749401447698124095698134505592606017412285434363081612572329076137990589625617754909395501099715619470804751306163051525432974126458760726719373509521072948452313997447334281408094951026685036587646300081958033165060822716360170845419337777950198312935128371834006821195487004113385662294870711006131901163503267435671994996544030322200612259552314790471419370174702783202723342841063978838551350564732115989257531900546584689106375505015077251281359039362670293427034679471178840195993042153780974570235283372046628764080941158482029901190909466930336929634763545683857887069943739136069261049363444556745746110570460371143162241205035107765002573859660242017087644422987688191627419496535219531373902833509404923153041612398250034586464236674246012407083750464478714368148807734369388227074622506170386590199556293883496705856743320263369227652249691383608683439146252850553078593910341524715915868945286080521062890914700387217485166373531174051297551267150112371523604539712773623773677163941890929915160783240016353322570289330555162560861122684443092405355677567246168437267927074683120216409003302972048010320126097523646969638975571443942504847705926953638934615015536120220773880989023803621793629181252607269444174643635429558548242896898693197536614268422796178 30690570424568396811224171660538524473286140231000342458928017534616367729186133058851371088767531425901469436043195570552145845888352101036963132623305124703969372671072209789145715954760929534090180052620914299707272105374986954924651435008641240367086888192998397948372959671709854401743452595273745735615110879590977376864715915729654655412063355854275291779949738889843059353491927938605030887741678456528156530507744917053259178620014344355827566863382848696921852414819810733788427459692164094540291933103424699250784330855067937346955877738542230770711821446585236357270204512753971537017419181244382025080012935763042962827898806022446491702615627103367431094111330384674492248630441186658637784406697484465858092907082679162035537229962515296785981305010163444824601898622660579973103321636693441287180665955226338915810843156535683524295266394249630782251020162462506646761007389623529402204139013885405065496172701480552240183908623098329306785771814105360977488500179334952937251030173300171471460888097816771163908058171180770866863895114981657695870371454480755238652841712749838136769912717925156446068555218873367880408294682107799525527132979406654649693748442445977353234400996070210252487716051793946293942427267891374569739368815893205592026444354459533937019140512553859358181174985627365630453505942529342876085172829496466328085370888562154029577246939182774882513409424671865984723883439033565671874754086477013708328385977935626144970767074655476700098941344053605436253966304130022093808238477351303333382513885107438642780294263622664307828575763421183091491327678077807388525920721776630803801377219267969911980013795659099562738283505764335317287840006366221084472768280519235490048963142580907339905537253695864659304200941726435631274586858386432735054687608982020296870752756234561488331763371450901486884725594187252798509460215223773461872576070949845049087672689355426599499032111479592570049721839828227989963126612224787445791056560536868041182891008234848347168687828776810824782724964985055441664658059227359390282724530621411064923622216220115331068773073069910854484001029470208883326991413959620595523680416944505962037942964758367898926823403975251711002898870882356369668665547104857868902156119370725152533230641638987660797162512323178469628504641131797788568456587349725195384693244250004514187425045297303951301161760282077154972979298624807324423167059973916086315055162975771556742415412889132678683149135482013119004164403803995026276312954685621519038183166755938092438656831417193300819830392092892046309630638178225614725668712814270997631112437059562777125011655061769296492985556354739876346233442597368867928371983343596986233876302883241529876066650917931071034932864910334839999008313463519920207822609539586223702512173355308818579767209228412561149240138974580638075946446798740513121621830222364132631288019071897180424325689289812075020591067029288652317669582230600577188877902748534087656484404205745581318342577055522677167754361525367487551113109175575715640758281199254256229 49658386081073956921075429674292492404318045053490690777391794510133995048476483284951414677219570985425567151441397544394909953450096096385484761377586721263539626097847243242460674644003624741959732142285507265843225973271911422354619220872693078288651300755827212050158991239401869127512324886136016143499372867209353955482897654682448799957731791632980729136256678953465705557017293498079213071382277825144401704331355063427418013073423322221014272115466594437632230206695672631195200079107958216935163032531251735553205267935960738103955957582573490274619870208713405454750901455725185641957822621912867459496823990394085384038134466775254169538651884025522097351853729545767052424526453319469151932780114145159443654212509228839789915261868084932371642440084367859443429778665623476420969115956832274491726521937741194397942656763987467066796848233470120709652195265536463115373759232657327753322756184700127928455470917113266518034650018994466724106092121572135089278528588320228009764710372243785392555512401162364847311347026512902047721966034508560950777729212045610973438105880271654562442081725224620404784289012086006044851911984901672130407470122303163324486740555273870640402334597619492698309479305819129632471516481334481144270241888023153782289229498515393692893779507450968166137111080806084074821580710163312290787915416566250019322377200323945903381632049101975214217352589812481703684306844608385822474976896044631987527102129622068665574721652617037634607695816574036137202227437638576534160380451915958355095733834978123643983617255494815931656957636779212760079486973575240867635972053948416334680245891113781106288089663952059819039572551627951737401762266445057304788562542346939625564346866806365027116315179640189902450934504207749355738550821135834182752811704680154802463358773646846922694844984023230563022716183812870553418855716323489081343380822256008100613105663481885360225751484989113642998174153825675324244534707175814130827644206836949999216056069057564707339533248114588774981037900113427275671479254714363503668386825492122071055523379723382766740768069613941176684613289022523673798410784134323378726403759785569940876494315323100014916080935875798295692005246387371446919946906144220539195583154050196331373426634681141441771732747606550516257268722072956270598357778259192125721622879013550198045312115241043087370422809645521711718725409195267695566329301178951194080057736835431798759503057312120366874776554978548338535538306637504431199465996298019769072769630992612338451063915167657779534198540900626415697857712800731785112258912370564881127818293802883040494239307311460680101668995500992726899312036507710392644287852288883066754939193797941917093551817291462245086230416177484952370531918003232693831596286703528114632427334138548834933089779517743116311801000097265081168351802476307759290059098149438815751504428075200152472336009415909598667560706004860096260174429936527530827812517764070207877258285194769384940136206236775284437198536169002917109661352072474408838294895467677052407 80348956505642353732299601334831016877604185284491033236319812044750362777662616343802785765987102411327036587484593114947055799338448197422447894000891845967508998768919453031606390598764554276049912194906421565550498078646898377279270655881334318655738188948825609998531950911111723529255777481409761879114483746800331332347613570412103455369795147487256020916206417843308764910509221436684243959123956281672558234839099980480677191693437666576841838978849443134554082621515483364983627538800122311475454965634676434803989598791028675450911835321115721045331691655298641812021105968479157178975241803157249484576836926157128346866033272797700661241267511128889528445965059930441544673156894506127789717186811629625301747119591908001825452491830600229157623745094531304268031677288284056394072437593525715778907187892967533313753499920523150591092114627719751491903215427998969762134766622280857155526895198585532993951643618593818758218558642092796030891863935677496066767028767655180947015740545543956864016400498979136011219405197693672914585861149490218646648100666526366212090947593021492699211994443149776850852844230959373925260206667009471655934603101709817974180488997719847993636735593689702950797195357613075926413943749225855714009610703916359374315673852974927629912920020004827524318286066433449705275086652692655166873088246062716347407748088886099932958878988284750096730762014484347688408190283641951494349730982521645695855488107557694810545488727272514334706637160627641573456193741768598627968618929267261688478247720085562286763911519117480239485533400200395851570814651653048256161892775725047138481623110381751018268103459611159381777856057392287054689602272811278389261330822866175115613310009387272367021852433336054561755135445934184987013137679522266917807499313662175099334111529881408411026608355474132049907441778000123351928315931547262543215956893205853149700778352837311959724783596468706213047895993653903314207661319400601576618700767373818040398947077292413054508221076891399599763762865098482717336137313941722893951111356113533135979145595943498097809541142683852031168614318492732557125402198093943974250084176730075902914437280081467913842904339851050006694904117269727816588612453249078408097739273420921483906657276320129102568895259929728985885773363204754059166814365608917321106316123263554712232737160538347038671584569927598866691704707820075019989496361152867280395112899811203355501918470201253045557925690460561457539702710441499457475778950983641288110952797748550430889720746584851080354028932993518462007488350978957399837927625184835878758930730862445817619250962373229976594654551855732603245545479105079260572659835632480052988815496681183446969618468209393316121163281087819792369540231466752614039418896243114338334939507493857653512856988746155677461041139071845719244298249275048272411680928371802948382792447147097332896661698705721673688151773034148748577844012167128108016690420512604295533742689400514966258478783292297961604952897694370404660774461248050124479053176666931308636 130007342586716310653375031009123509281922230337981724013711606554884357826139099628754200443206673396752603738925990659341965752788544293807932655378478567231048624866766696274067065242768179018009644337191928831393724051918809799633889876754027396944389489704652822048690942150513592656768102367545778022613856614009685287830511225094552255327526939120236750052463096796774470467526514934763457030506234106816959939170455043908095204766860988797856111094316037572186312828211155996178827617908080528410617998165928170357194866726989413554867792903689211319951561864012047266772007424204342820933064425070116944073660916551213730904167739572954830779919395154411625797818789476208597097683347825596941649966925774784745401332101136841615367753698685161529266185178899163711461455953907532815041553550357990270633709830708727711696156684510617657888962861189872201555410693535432877508525854938184908849651383285660922407114535707085276253208661087262754997956057249631156045557355975408956780450917787742256571912900141500858530752224206574962307827183998779597425829878571977185529053473293147261654076168374397255637133243045379970112118651911143786342073224012981298667229552993718634039070191309195649106674663432205558885460230560336858279852591939513156604903351490321322806699527455795690455397147239533780096667362855967457661003662628966366730125289210045836340511037386725310948114604296829392092497128250337316824707878566277683382590237179763476120210379889551969314332977201677710658421179407175162128999381183220043573981555063685930747528774612296171142491036979608611650301625228289123797864829673463473161869001495532124556193123563219200817428609020238792091364539256335694049893365213114741177656876193637394138167612976244464206069950141934342751688500658101100560311018342329901797470303528255333721453339497362612930157961812993905347171647870751624559337715461861250313884016319197319950535081457819856046070147479578638452196026576415707446344974210768039615003146349977761847754325005988374744800765211909993007616568656086397619498181605655207034668975666880864550309212297793207853227607515256230923812982228267352976487936515645843790931595404567928758985275726848302386909363657099263508559359393298947293322427471117815280083911001270544340628007536279502143042085277710329765172143868109446827939002277104910278049275779390126042007379573120578410430117015342715555825662331818474475170636646635154261421527513373412432702245439109796075241017079003888675244947281661057183722428741162769340784661752508859888227473894144877705346063779689184950186537555400759886749024665328858113490269684690656696323547356725330144857515612789653216947687921363119743754690479125364063170285500855561207393697265304744740072149469985307871015182946642452967366841632406488445946768263898793772842139169110800412650051751356031701740026521241764134296875222297485368997708121631272355712479039008844838018442103655638844502938276674503411000974595284351198614989529073246042151433863373321770435813320524533317348072134608361043 210356299092358664385674632343954526159526415622472757250031418599634720603801715972556986209193775808079640326410583774289021552126992491230380549379370413198557623635686149305673455841532733294059556532098350396944222130565708176913160532635361715600127678653478432047222893061625316186023879848955539901728340360810016620178124795506655710697322086607492770968669514640083235378035736371447700989630190388489518174009555024388772396460298655374697950073165480706740395449726639361162455156708202839886072963800604605161184465518018089005779628224804932365283253519310689078793113392683499999908306228227366428650497842708342077770201012370655492021186906283301154243783849406650141770840242331724731367153737404410047148451693044843440820245529285390686889930273430467979493133242191589209113991143883706049540897723676261025449656605033768248981077488909623693458626121534402639643292477219042064376546581871193916358758154300904034471767303180058785889819992927127222812586123630589903796191463331699120588313399120636869750157421900247876893688333488998244073930545098343397620001066314639960866070611524174106489977474004753895372325318920615442276676325722799272847718550713566627675805784998898599903870021045281485299403979786192572289463295855872530920577204465248952719619547460623214773683213672983485371754015548622624534091908691682714137873378096145769299390025671475407678876618781177080500687411892288811174438861087923379238078344737458286665699107162066304020970137829319284114614921175773790097618310450481732052229275149248217511440293729776410628024437180004463221116276881337379959757605398510611643492111877283142824296583174378582595284666412525846780966812067614083311224188079289856790966885580909761160020046312299025961205396076119329764826180180368018367810332004505001131581833409663744748061694971494662837599739813117257275487579418014167775294608667714400014662369156509279675318677926526069093966141133481952659857345977017284065045741584586080013950223642390816355975401897387974508563630310392710343753882597809291570609537719188343013814571610378962359850354981645239021841926007988788049215180322211327226572113245721746705368875486035842601889615577898309081813480926827080097171812642377355391061700892039299186741187321399646909523267466008488028815448482464388931986509477026767934255125540659622510786436317737164713591949500719445102134824835417735545322023484685754870283536457838509763339997714626457990627935899671253614943727520503346151023898265302345294675226489713200230505408337359940242256406887663339712834414758646584788114162740236638645679755527774675732741232057920633290978099212457933390402994717868913789607523553843172732570187160308811032788753710248877328556978353124537109612380936737921910434079189756791302306349126264141958803757010054471233883278240956519656948301026404304113420954893044712517089322369394818265659406827352946043864252073157593415862454270783746861193358789278798944743663995799317457093772821371207647104331557743726431210274568574657796401248801539669679 340363641679074975039049663353078035441448645960454481263743025154519078429940815601311186652400449204832244065336574433630987304915536785038313204757848980429606248502452845579740521084300912312069200869290279228337946182484517976547050409389389112544517168358131254095913835212138908842791982216501317924342196974819701908008636020601207966024849025727729521021132611436857705845562251306211158020136424495306478113180010068296867601227159644172554061167481518278926708277937795357341282774616283368296690961966532775518379332245007502560647421128494143685234815383322736345565120816887842820841370653297483372724158759259555808674368751943610322801106301437712780041602638882858738868523590157321673017120663179194792549783794181685056187999227970552216156115452329631690954589196099122024155544694241696320174607554384988737145813289544385906870040350099495895014036815069835517151818332157226973226197965156854838765872690007989310724975964267321540887776050176758378858143479605998860576642381119441377160226299262137728280909646106822839201515517487777841499760423670320583149054539607787222520146779898571362127110717050133865484443970831759228618749549735780571514948103707285261714875976308094249010544684477487044184864210346529430569315887795385687525480555955570275526319074916418905229080360912517265468421378404590082195095571320649080867998667306191605639901063058200718626991223078006472593184540142626127999146739654201062620668581917221762785909487051618273335303115030996994773036100582948952226617691633701775626210830212934148258969068342072581770515474159613074871417902109626503757622435071974084805361113372815267380489706737597783412713275432764638872331351323949777361117553292404597968623761774547155298187659288543490167275346218053672516514680838469118928121350346834902929052136937919078469515034468857275767757701626111162622659227288765792334632324129575650328546385475706599625853759384345925140036288613060591112053372553432991511390715795354119628953369992368578203729726903376349253364395522302703351370451253895689190107719324843550048483547277259826910159567279438446875069533523245018973028162550478680203060049761367590496300470890603771360874891304746611468722844583926343605731172035676302684384128363157114466825098322670191250151275002287990171857533760174718697158653345136214762194127817764532788835712097127290755599329073840023512564941850760451101147685816504229345454173104473664024761525227999870423330181338781049690184744599507234826268845546963402478397655230875969571290070089868800130483880781808217418180478538335769738300700295637398532428780193103533846231501742611289987301646569183263535260510330658567006555211475206292476324877639434175095959039211104438535950675618429281849684530406723229781449262136399244269673190758670630404750525273953265006725417410067320069598352777760335815160981414286476651386197591692303634657114948984218399576731112166438253880896374439385705696297065953302355744638591083668655708762350444453689255765421117048201646087889099191113749320936148030722 550719940771433639424724295697032561600975061582927238513774443754153799033742531573868172861594225012911884391747158207920008857042529276268693754137219393628163872138138994885413976925833645606128757401388629625282168313050226153460210942024750828144644847011609686143136728273764225028815862065456857826070537335629718528186760816107863676722171112335222291989802126076940941223597987677658859009766614883795996287189565092685639997687458299547252011240646998985667103727664434718503737931324486208182763925767137380679563797763025591566427049353299076050518068902633425424358234209571342820749676881524849801374656601967897886444569764314265814822293207721013934285386488289508880639363832489046404384274400583604839698235487226528497008244757255942903046045725760099670447722438290711233269535838125402369715505278061249762595469894578154155851117839009119588472662936604238156795110809376269037602744547028048755124630844308893345196743267447380326777596043103885601670729603236588764372833844451140497748539698382774598031067068007070716095203850976776085573690968768663980769055605922427183386217391422745468617088191054887760856769289752374670895425875458579844362666654420851889390681761306992848914414705522768529484268190132722002858779183651258218446057760420819228245938622377042120002763574585500750840175393953212706729187480012331795005872045402337374939291088729676126305867841859183553093871952034914939173585600742124441858746926654680049451608594213684577356273252860316278887651021758722742324236002084183507678440105362182365770409362071848992398539911339617538092534178990963883717380040470484696448853225250098410204786289911976366007997941845290485653298163391563860672341741371694454759590647355456916458207705600842516128480742294173002281340861018837137295931682351339904060633970347582823217576729440351938605357441439228419898146806706779960109926932797290050343208754632215879301172437310871994234002429746542543771910718530450275576436457379940199642903593634759394559705128800764323761928025832695413695124333851704980760717257044031893062298118887638789270009922261083685896911459531233807022243342872690007429632163007089337201669346376639613962764506882644920550536325510753423702902984678053658075445829255196413653566285644069838159674542468296478200672982242639107629145162822162982696449253358424155299622148414864455469191278574559468614699766686178186646469709301189984215737709562312173788101522942626328413958117238452303305128472120010580977292743812265747773072881720589169801795478427228740372740287669471557131014893296982354526414863035874037178108535720878209578972733800531923278279745781641196925663505048527480796162735029049465208895064799742986128747792921353315864507653971553818959296911343461151691883341326156035571979539884934772363554282284007736240608695651023839726546653804164639928581936307331189168475519961087121900316521776337164443440983185324031669743350645223132566889655855232101300488302586882986112802535171815661336360096978860774632856362457673848910150569737687700401 891083582450508614463773959050110597042423707543381719777517468908672877463683347175179359513994674217744128457083732641550996161958066061307006958895068374057770120640591840465154498010134557918197958270678908853620114495534744130007261351414139940689162015369740940239050563485903133871607844281958175750412734310449420436195396836709071642747020138062951813010934737513798647069160238983870017029903039379102474400369575160982507598914617943719806072408128517264593812005602230075845020705940769576479454887733670156197943130008033094127074470481793219735752884285956161769923355026459185641591047534822333174098815361227453695118938516257876137623399509158726714326989127172367619507887422646368077401395063762799632248019281408213553196243985226495119202161178089731361402311634389833257425080532367098689890112832446238499741283184122540062721158189108615483486699751674073673946929141533496010828942512184903593890503534316882655921719231714701867665372093280643980528873082842587624949476225570581874908765997644912326311976714113893555296719368464553927073451392438984563918110145530214405906364171321316830744198908105021626341213260584133899514175425194360415877614758128137151105557737615087097924959390000255573669132400479251433428095071446643905971538316376389503772257697293461025231843935498018016308596772357802788924283051332980875873870712708528980579192151787876844932859064937190025687056492177541067172732340396325504479415508571901812237518081265302850691576367891313273660687122341671694550853693717885283304650935575116514029378430413921574169055385499230612963952081100590387475002475542458781254214338622913677585275996649574149420711217278055124525629514715513638033459294664099052728214409130004071756395364889386006295756088512226674797855541857306256224053032698174806989686107285501901687091763909209214373115143065339582520806033995545752444559256926865700671755140107922478927026196695217919374038718359603134883964091083883267087827173175294319271856963627127972763434855704140673015292421354998117046494785105600669950824976368875443110781666164898616180169489540522132771980993054478825995271505423168687632692212768456927697969817267243385323639398187391532019259170094679767308634156713729960759829957618353528120391383966740029409825817470584468372530516002813826326303816167299197458643381176188688088457860511991746224790607648399492127264708536938637747617395117694213561191882666785837812863048170626198837288298577233352995313216719517815803561589359229150251470536951465139373085548517097540503224168451279774549195371835318124264715563331511435710537315913981743425204235543143213265581392350824460460924015379186047802717946504255757685219942439177161224706832132457754400458329589983100808981441750184381473332603462555279841652730643605402768304807557961001247334113061091159796145006581924975743742917721617665819861717552779425534973636725321382843017714297490469923624247019662518272585952921185403656232941177966654768511297522260115025615862399977822834502450346773040023899890673835731123 1441803523221942253888498254747143158643398769126308958291291912662826676497425878749047532375588899230656012848830890849471005019000595337575700713032287767685933992778730835350568474935968203524326715672067538478902282808584970283467472293438890768833806862381350626382187291759667358900423706347415033576483271646079138964382157652816935319469191250398174105000736863590739588292758226661528876039669654262898470687559140253668147596602076243267058083648775516250260915733266664794348758637265255784662218813500807536877506927771058685693501519835092295786270953188589587194281589236030528462340724416347182975473471963195351581563508280572141952445692716879740648612375615461876500147251255135414481785669464346404471946254768634742050204488742482438022248206903849831031850034072680544490694616370492501059605618110507488262336753078700694218572276028117735071959362688278311830742039950909765048431687059212952349015134378625776001118462499162082194442968136384529582199602686079176389322310070021722372657305696027686924343043782120964271391923219441330012647142361207648544687165751452641589292581562744062299361287099159909387197982550336508570409601300652940260240281412548989040496239498922079946839374095523024103153400590611973436286874255097902124417596076797208732018196319670503145234607510083518767148772166311015495653470531345312670879742758110866355518483240517552971238726906796373578780928444212456006346317941138449946338162435226581861689126675478987428047849620751629552548338144100394436875089695802068790983091040937298879799787792485770566567595296838848151056486260091554271192382516012943477703067563873012087790062286561550515428709159123345610178927678107077498705801036035793507487805056485460988214603070490228522424236830806399677079196402876143393519984715049514711050320077633084724904668493349561152978472584504568002418952840702325712554486189724155751014963894740138358228198634006089913608041148106145678655874809614333542664263630555234518914760557261887367323139984504904996777220447187693530741619118957305650711542233412907336173079785052537405450179411801605818668892452585712633017514848295858695062324375775546264899639163643882999286403905070036452569795495605433191011537141391783618835275786873549941773957669610809867569500359938880946573203498245452933955448978989462180155092634534612843388080008926856201693981886222958960741964475223116824394087104418884197776929592229098011600964571113252527251246415815685656300441688839528396780854333171494898024543418672054309174881026944326280875964456120751331680210265132300478791130426367385472888645851634859953004176969343675136543861138132465657386587520427713528598880681533305222894115007238920147353454625053811070264965983561536919768278353093645533165215944788711315413632270528540175131859089841968737487942808712114999522691660386089615672324854028948854988337237513866547435290158501658547286458697482814501593367597664885650839475608776417504956721243764849640881313832694075776361975959378838597467358812804446888934050460411523431524 2332887105672450868352272213797253755685822476669690678068809381571499553961109225924226891889583573448400141305914623491022001180958661398882707671927356141743704113419322675815722972946102761442524673942746447332522397304119714413474733644853030709522968877751091566621237855245570492772031550629373209326896005956528559400577554489526006962216211388461125918011671601104538235361918465645398893069572693642000945087928715414650655195516694186986864156056904033514854727738868894870193779343206025361141673701234477693075450057779091779820575990316885515522023837474545748964204944262489714103931771951169516149572287324422805276682446796830018090069092226038467362939364742634244119655138677781782559187064528109204104194274050042955603400732727708933141450368081939562393252345707070377748119696902859599749495730942953726762078036262823234281293434217226350555446062439952385504688969092443261059260629571397855942905637912942658657040181730876784062108340229665173562728475768921764014271786295592304247566071693672599250655020496234857826688642587905883939720593753646633108605275896982855995198945734065379130105486007264931013539195810920642469923776725847300676117896170677126191601797236537167044764333485523279676822532991091224869714969326544546030389134393173598235790454016963964170466451445581536783457368938668818284577753582678293546753613470819395336097675392305429816171585971733563604467984936389997073519050281534775450817577943798483673926644756744290278739425988642942826209025266442066131425943389519954074287741976512415393829166222899692140736650682338078764020438341192144658667384991555402258957281902495925765375338283211124664849420376401400734704557192822591136739260330699892560216019465615465059970998435379614528719992919318626351877051944733449649744037747747689518040006184918586626591760257258770367351587727569907584939758874697871464999045446651021451686719034848060837155224830701307832982079866465748813539838900698216809752090803730528838186617520889015340086574840209045669792512868542691647788113904062906320662367209781782779283861451217436021630348901342127951440873445640191459012786353719027382695016588544003192597608980911126384610043303257427984589054665700112958320171298105513579595105744491903469894349053577549896979326177409465414945734014248266760281752795156761377613736015710801531476537869438847947918772493871358452869229183760055462141704499536578411338121474895883849413827619283878726088534714392919009295754905559046212584415922530724048276013955623519448547966575461423821379188624572031106229405636967618603055845989698896908599183167548841696429381204886818349809442530483290117847511535806899576401598628037560980579334949678097308578161457186268824665424313151520020577259794843829914638548548251266595255285001172145577900163897399929738735276921773206159318836666968014591416067771750566520808198955066645972970263795226979930129476411780304971516991844684548169112061561697602908612954184942816295649825130216335891387591821778816420301861263151219928957950351085359162647 3774690628894393122240770468544396914329221245795999636360101294234326230458535104673274424265172472679056154154745514340493006199959256736458408384959643909429638106198053511166291447882070964966851389614813985811424680112704684696942205938291921478356775740132442193003425147005237851672455256976788242903379277602607698364959712142342942281685402638859300023012408464695277823654676692306927769109242347904899415775487855668318802792118770430253922239705679549765115643472135559664542537980471281145803892514735285229952956985550150465514077510151977811308294790663135336158486533498520242566272496367516699125045759287618156858245955077402160042514784942918208011551740358096120619802389932917197040972733992455608576140528818677697653605221470191371163698574985789393425102379779750922238814313273352100809101349053461215024414789341523928499865710245344085627405425128230697335431009043353026107692316630610808291920772291568434658158644230038866256551308366049703144928078455000940403594096365614026620223377389700286174998064278355822098080565807347213952367736114854281653292441648435497584491527296809441429466773106424840400737178361257151040333378026500240936358177583226115232098036735459246991603707581046303779975933581703198306001843581642448154806730469970806967808650336634467315701058955665055550606141104979833780231224114023606217633356228930261691616158632822982787410312878529937183248913380602453079865368222673225397155740379025065535615771432223277706787275609394572378757363410542460568301033085322022865270833017449714273628954015385462707304245979176926915076924601283698929859767507568345736660349466368937853165400569772675180278129535524746344883484870929668635445061366735686067703824522100926048185601505869843051144229750125026028956248347609593043264022462797204229090326262551671351496428750608331520330060312074475587358711715400197177553531636375177202701682929588199195383423464707397746590121014571894492195713710312550352416354434285763357101378078150902707409714824713950666569733315730385178529733023020211971373909443194690115456941236269973427080528313143733770109765898225904092030301202014886077757340964319549457497248144555009383896447208327464437158850161305546149331708439497297198430381531365453411668306723188359764548826537348346361518937512493719694237201774146223557768828650245414374864617878365704149612754380094317413611193658983172286535791603955462609115051067124981861014792190397131253339781130208604665596196594398574609365270255702218946300557374295573757722847602405750102255153080692782437909615902099919081846976416066282381487829019183701649433558174230493486353303668615755775234099056234613105000479309570866203473449956917017455931616082240079894930390296713056940345538147937475447803764493039977910668917271700685753032022987241898476223219730485321158841528327354104207088392625779515375796536192580512520405553953728638477415935109263119473110359442349433819951537170474020413569675428707665936531138962910411667749567781157655017769220075955666817892000811496882594171 6107577734566843990593042682341650670015043722465690314428910675805825784419644330597501316154756046127456295460660137831515007380917918135341116056887000051173342219617376186982014420828173726409376063557560433143947077416824399110416939583144952187879744617883533759624663002250808344444486807606161452230275283559136257765537266631868949243901614027320425941024080065799816059016595157952326662178815041546900360863416571082969457987635464617240786395762583583279970371211004454534736317323677306506945566215969762923028407043329242245334653500468863326830318628137681085122691477761009956670204268318686215274618046612040962134928401874232178132583877168956675374491105100730364739457528610698979600159798520564812680334802868720653257005954197900304305148943067728955818354725486821299986934010176211700558597079996414941786492825604347162781159144462570436182851487568183082840119978135796287166952946202008664234826410204511093315198825960915650318659648595714876707656554223922704417865882661206330867789449083372885425653084774590679924769208395253097892088329868500914761897717545418353579690473030874820559572259113689771414276374172177793510257154752347541612476073753903241423699833971996414036368041066569583456798466572794423175716812908186994185195864863144405203599104353598431486167510401246592334063510043648652064808977696701899764386969699749657027713834025128412603581898850263500787716898316992450153384418504208000847973318322823549209542416188967567985526701598037515204966388676984526699726976474841976939558574993962129667458120238285154848040896661515005679097362942475843588527152499123747995617631368864863618540738852983799845127549911926147079588042063752259772184321697435578627919843987716391108156599941249457579864222669443652380833300292343042693008060210544893747130332447470257978088189007867101887681648039644383172298470590098068642552577083026198654388401964436260032538648295408705579572200881037643305735552611010767162168445238016292195287995599039918047496289664922996336362246184273076826317846927083118292036276652976472894740802687487409448710877214485861721550639343866095551043087555733913460452357552863552650094857125466135768506490511584892421747904827005659107651879737602810778025487275857356881562655776765909661528152714757811776464671526741986454518954569302984935382564665956215906341155747804552097531526873965675866480422842743227748677496103492041020453172542020865710428619809681009979428315844601523674891951499957620821949686178232942994576571329919093206270814177867173923634341705264813544139021539067537684902822405765179290087012186732543345862939379117311836162746199099045893081610592041512681402077937608427184052784906595114764509777539426348719595814609864576960922797942781305362442313041291244505924202272872831330932186884641828214958496652258527318160364994322118798504460397530081896604735147647158493375817748955618407545411521043424444627351287033981989063598732171623322182629613650482232180964093126747559137159602936471438071081339106886746849951162582241756818 9882268363461237112833813150886047584344264968261689950789011970040152014878179435270775740419928518806512449615405652172008013580877174871799524441846643960602980325815429698148305868710244691376227453172374418955371757529529083807359145521436873666236520358015975952628088149256046196116942064582949695133654561161743956130496978774211891525587016666179725964036488530495093882671271850259254431288057389451799776638904426751288260779754235047494708635468263133045086014683140014199278855304148587652749458730705048152981364028879392710848731010620841138138613418800816421281178011259530199236476764686202914399663805899659118993174356951634338175098662111874883386042845458826485359259918543616176641132532513020421256475331687398350910611175668091675468847518053518349243457105266572222225748323449563801367698429049876156810907614945871091281024854707914521810256912696413780175550987179149313274645262832619472526747182496079527973357470190954516575210956961764579852584632678923644821459979026820357488012826473073171600651149052946502022849774202600311844456065983355196415190159193853851164182000327684261989039032220114611815013552533434944550590532778847782548834251337129356655797870707455661027971748647615887236774400154497621481718656489829442340002595333115212171407754690232898801868569356911647884669651148628485845040201810725505982020325928679918719329992657951395390992211728793437970965811697594903233249786726881226245129058701848614745158187621190845692313977207432087583723752087526987268028009560163999804829408011411843941087074253670617555345142640691932594174287543759542518386920006692093732277980835233801471706139422756475025405679447450893424471526934681928407629383064171264695623668509817317156342201447119300631008452419568678409789548639952635736272082673342097976220658710021929329584617758475433408011708351718858759657182305498265820106108719401375857090084894024459227922071760116103326162321895609537797931266321323317514584799672302055552389373677190820754906004489636947002931979500003462004847579950103330263410186096171163010197743923757382875791405527629595491660405242091999643073388757748799538209698517183102107592105270021145152402937719912356858906754988311205256983588177100107976455868807222810293230962499954269426076979252106158137983609039235706148756156343449208493151393316201630281205773626170256247144281254059993280091616501726400035213287707447503629568223609145847571443412000078141232768096974810128340488148094356195431314956433935161940877128704214666963993661780272924025889494785957595982048637441167456766749798821831461671574841205916244995296497553347805322516049867714801668315709648276125786402557247179293387526234863512132220441393621666428614526204906577633901268336090718780810246077534331222416593119544573517083964209871883726691181716382743848477001893321676223005592853023309597272401271340227671013781371702684256884961346630306543917737710729383415809015135902645643735752305042358148168712103056037159226886727384094126455840301415062553564741951974079124350989 15989846098028081103426855833227698254359308690727380265217922645845977799297823765868277056574684564933968745076065790003523020961795093007140640498733644011776322545432805885130320289538418417785603516729934852099318834946353482917776085104581825854116264975899509712252751151506854540561428872189111147363929844720880213896034245406080840769488630693500151905060568596294909941687867008211581093466872430998700137502320997834257718767389699664735495031230846716325056385894144468734015172627825894159695024946674811076009771072208634956183384511089704464968932046938497506403869489020540155906681033004889129674281852511700081128102758825866516307682539280831558760533950559556850098717447154315156241292331033585233936810134556119004167617129865991979773996461121247305061811830753393522212682333625775501926295509046291098597400440550218254062183999170484957993108400264596863015670965314945600441598209034628136761573592700590621288556296151870166893870605557479456560241186902846349239325861688026688355802275556446057026304233827537181947618982597853409736544395851856111177087876739272204743872473358559082548611291333804383229289926705612738060847687531195324161310325091032598079497704679452075064339789714185470693572866727292044657435469398016436525198460196259617375006859043831330288036079758158240218733161192277137909849179507427405746407295628429575747043826683079807994574110579056938758682710014587353386634205231089227093102377024672163954700603810158413677840678805469602788690140764511513967754986035005976744387983005373973608545194491955772403386039302206938273271650486235386106914072505815841727895612204098665090246878275740274870533229359377040504059568998434188179813704761606843323543512497533708264498801388368758210872675089012330790622848932295678429280142883886991723350991157492187307672806766342535295693356391363241931955652895596334462658685802427574511478486858460719260460720055524808905734522776647181103666818932334084676753244910318347747677369276230738802402294154559943339294225684276538831165426877186448555446462749147635904938546611244792324502282742115457213211044585958095194116476313482712998662056070046654757686962395487280920909428231497249280654659815316864364635467914702918754481356083080167174793618276720179087605131966863969914448280565977692603275110912752193428533957982157846187546929373974808344675808128025669146572039344469627783890783810939544650021396151166713281872031809759151212196412819411652015380099594313816253264642612168104935453700034133760170264475958140097949523836491222409526187658980234994451652621227596640961661853392648788341159436932465117158678796066813847561397320240317638467804635184787720571579019770107246984951171161092777334122019516442210862191134033500086172688390575622466922517321817446348414896396756525554906140213035002375795162258315998341804097313420839679169006006487874829507157189451639875292506758151349968362365062016417397798078734634817267057934934656008630400893067149163906786023886987030597893911382754169440311591903136661366107807 25872114461489318216260668984113745838703573658989070216006934615886129814176003201139052796994613083740481194691471442175531034542672267878940164940580287972379302871248235583278626158248663109161830969902309271054690592475882566725135230626018699520352785333915485664880839300762900736678370936772060842497584405882624170026531224180292732295075647359679877869097057126790003824359138858470835524754929820450499914141225424585545979547143934712230203666699109849370142400577284482933294027931974481812444483677379859228991135101088027667032115521710545603107545465739313927685047500280070355143157797691092044073945658411359200121277115777500854482781201392706442146576796018383335457977365697931332882424863546605655193285466243517355078228305534083655242843979174765654305268936019965744438430657075339303293993938096167255408308055496089345343208853878399479803365312961010643191221952494094913716243471867247609288320775196670149261913766342824683469081562519244036412825819581769994060785840714847045843815102029519228626955382880483683970468756800453721581000461835211307592278035933126055908054473686243344537650323553918995044303479239047682611438220310043106710144576428161954735295575386907736092311538361801357930347266881789666139154125887845878865201055529374829546414613734064229089904649115069888103402812340905623754889381318152911728427621557109494466373819341031203385566322307850376729648521712182256619883991957970453338231435726520778699858791431349259370154656012901690372413892852038501235782995595169976549217391016785817549632268745626389958731181942898870867445938029994928625300992512507935460173593039332466561953017698496749895938908806827933928531095933116116587443087825778108019167181007351025420841002835488058841881127508581009200412397572248314165552225557229089699571649867514116637257424524817968703705064743082100691612835201094600282764794521828950368568571752485178488382791815640912231896844672256718901598085253657402191338044582620403300066742953421559557308298644196890342226205184280000836013006827289778818856648845318798915136290535002175200293688269745052704871449828050094837189865071231512536871754587229756865279067665508426073312365951409606139561414803628069621619056091803026730937224890302977468024580776674448513682111218970128052431889605213398752031267256201401921685351298359476468752703000145064591820089382085662426663655846196027819104071518387048279589619760312560853315443809837292444964509794221780355868247688670011684579599046103266876330828738348427134258137738413021975413331277180005508236296421402451218402420049428102633236694598565033336455934485812922481194845934528649229713029888593764254207192431967013959105254633619379205392564782759205948648224423019844763459470124218866982934468109953689339110441362019865498860606628409281597321929417746224272164151637674564809690166444149276441407277828102500520938561154324132177468104781656512280102772745800813607093870537462910793687239698366778569605170205201066012910614371124724349751684169231993876333855110740490458796 41861960559517399319687524817341444093062882349716450481224857261732107613473826967007329853569297648674449939767537232179054055504467360886080805439313931984155625416681041468408946447787081526947434486632244123154009427422236049642911315730600525374469050309814995377133590452269755277239799808961171989861514250603504383922565469586373573064564278053180029774157625723084913766047005866682416618221802251449200051643546422419803698314533634376965698697929956565695198786471428951667309200559800375972139508624054670305000906173296662623215500032800250068076477512677811434088916989300610511049838830695981173748227510923059281249379874603367370790463740673538000907110746577940185556694812852246489123717194580190889130095600799636359245845435400075635016840440296012959367080766773359266651112990701114805220289447142458354005708496046307599405392853048884437796473713225607506206892917809040514157841680901875746049894367897260770550470062494694850362952168076723492973067006484616343300111702402873734199617377585965285653259616708020865918087739398307131317544857687067418769365912672398260651926947044802427086261614887723378273593405944660420672285907841238430871454901519194552814793280066359811156651328075986828623920133609081710796589595285862315390399515725634446921421472777895559377940728873228128322135973533182761664738560825580317474834917185539070213417646024111011380140432886907315488331231726769610006518197189059680431333812751192942654559395241507673047995334818371293161104033616550015203537981630175953293605374022159791158177463237582162362117221245105809140717588516230314732215065018323777188069205243431131652199895974237024766472138166204974432590664931550304767256792587384951342710693504884733685339804223856817052753802597593339991035246504543992594832368441116081422922641025006303944930231291160503999398421134445342623568488096690934745423480324256524880047058610945897748843511871165721137631367448903900005264904185991486868091289492938751047744112229652298359710592798756833681520430868556539667178433704476227374303111594466434820074837146246967524795971011860509918082494414008190031306341384714225535533810657276411622966030060995706994221794182906855420216074618944933986254524006505945485418580973383144642818199053394627601287243185834097966880170171191091355306378168953595350219309280517322656299632374119872936495897510111331573235695190665655602994855329326592929611015911479274135187475619596443657160922613633432371248347282983827937844241658271371811784528772482187304522613696553119924937167768402415034423955401637445670055041277024743594898547991213821677615371418278039639873642001342496791110350128911402722011827616754734530684274403726626190343735943851983282770243939462055625650604157718953155622858685576156261627763179466213913757003384934836503462142452748600067326409953672906613787479864988955610413284315977330028095750605964007469974862933006480642467834762218211405172605172280177851622174354375408970498237354364972798934501358155322243663066923401434187925758247401856566603 67734075021006717535948193801455189931766456008705520697231791877618237427649830168146382650563910732414931134459008674354585090047139628765020970379894219956534928287929277051687572606035744636109265456534553394208700019898118616368046546356619224894821835643730481042014429753032656013918170745733232832359098656486128553949096693766666305359639925412859907643254682849874917590406144725153252142976732071899699965784771847005349677861677569089195902364629066415065341187048713434600603228491774857784583992301434529533992041274384690290247615554510795671184022978417125361773964489580680866192996628387073217822173169334418481370656990380868225273244942066244443053687542596323521014672178550177822006142058126796544323381067043153714324073740934159290259684419470778613672349702793325011089543647776454108514283385238625609414016551542396944748601706927283917599839026186618149398114870303135427874085152769123355338215143093930919812383828837519533832033730595967529385892826066386337360897543117720780043432479615484514280214999588504549888556496198760852898545319522278726361643948605524316559981420731045771623911938441642373317896885183708103283724128151281537581599477947356507550088855453267547248962866437788186554267400490871376935743721173708194255600571255009276467836086511959788467845377988298016425538785874088385419627942143733229203262538742648564679791465365142214765706755194757692217979753438951866626402189147030133769565248477713721354418186672856932418149990831272983533517926468588516439320977225345929842822765038945608707809731983208552320848403188004680008163526546225243357516057530831712648242798282763598214152913672733774662411046973032908361121760864666421354699880413163059361877874512235759106180807059344875894634930106174349191447644076792306760384593998345171122494290892520420582187655815978472703103485877527443315181323297785535028188274846085475248615630363431076237226303686806633369528212121160618906862989439648889059429334075559154347810855183073857917018891442953724023746636052836540503191440531766006193159760439785233735211127681249142725089659281605562622953944242058284868496206455945738072405565244506168488245097726504133067534160134316461559777489422573003607873580098308972216355805863686122110842779830069076114969354404804226019312059776404490107337645425154997271904660578876799125052335374264937528315986892196993999899351036861683422098926847713641209200635671791834988502919429433736102125432407855212727116594971653839622423840704374638688115357510830614438780751434966141900350499045582420542660251823039896888457461326452846228135242589778855014071305904090962121068487935871146020823380017505166976219020048721748489789529037346005395736300726611189231418468362481900389110074281937820138557326795529845600738204541486079412617610013344118100784071870494824339490561591347471423477646309138232051820562144079830549034311760288139647442967714662992922570607508019025012266475709743088645309414052742187540103407559566038811845115729280046593414751092633428064259613358142347025399 109596035580524116855635718618796634024829338358421971178456649139350345041123657135153712504133208381089381074226545906533639145551606989651101775819208151940690553704610318520096519053822826163056699943166797517362709447320354666010957862087219750269290885953545476419148020205302411291157970554694404822220612907089632937871662163353039878424204203466039937417412308572959831356453150591835668761198534323348900017428318269425153376176211203466161601062559022980760539973520142386267912429051575233756723500925489199838992947447681352913463115587311045739260500491094936795862881478881291377242835459083054391570400680257477762620036864984235596063708682739782443960798289174263706571366991402424311129859252706987433453476667842790073569919176334234925276524859766791573039430469566684277740656638477568913734572832381083963419725047588704544153994559976168355396312739412225655605007788112175942031926833670999101388109510991191690362853891332214384194985898672691022358959832551002680661009245520594514243049857201449799933474616296525415806644235597067984216090177209346145131009861277922577211908367775848198710173553329365751591490291128368523956010035992519968453054379466551060364882135519627358405614194513775015178187534099953087732333316459570509646000086980643723389257559289855347845786106861526144747674759407271147084366502969313546678097455928187634893209111389253226145847188081665007706310985165721476632920386336089814200899061228906664008977581914364605466145325649644276694621960085138531642858958855521883136428139061105399865987195220790714682965624433110489148881115062455558089731122549155489836312003526194729866352809646970799428883185139237882793712425796216726121956673000548010704588568017120492791520611283201692947388732703767689182482890581336299355216962439461252545416931917526724527117887107138976702501907011972785938749811394476469773611755170342000128662688974376973986069815557972354507159579570064518912127893625640375927520623568497905395554967412726156276729484241710557705267066921393080170369874236242233567462872034251668555285964827496110249885630293466072541036438656066474899802547840659963607939375901782580111211127787499840061755954317223316979993564041517937594128104104814917701774386837069266753660978883463703716256597590638323986192229947595581462644023594108592622123969859394121781351967748384810464811884402308325573135046227527339025093782177040234138811651583271109123690395049030179759286355021488645098364942254637667560268082362646010499899886283312801743303365131519261825287666813984835577084207224677342558512502603477589823033790580992676691686677322369001760942129937213642811933730146416569698230847665476483020473803441072631586080036670463172514188712301943956014760678439656773294180185481106001862365967720952293326374613398278954604246214323243424406816971545020378037265126174127187662233846460057160577130062366252147117417830647669473565038442270237236417439080882023266496931588407117596510601644913931011610779617087435368837077818016034862252185371605544203592002 177330110601530834391583912420251823956595794367127491875688441016968582468773487303300095154697119113504312208685554580888224235598746618416122746199102371897225481992539595571784091659858570799165965399701350911571409467218473282379004408443838975164112721597275957461162449958335067305076141300427637654579711563575761491820758857119706183783844128878899845060666991422834748946859295316988920904175266395248599983213090116430503054037888772555357503427188089395825881160568855820868515657543350091541307493226923729372984988722066043203710731141821841410444523469512062157636845968461972243435832087470127609392573849591896243990693855365103821336953624806026887014485831770587227586039169952602133136001310833783977776857734885943787893992917268394215536209279237570186711780172360009288830200286254023022248856217619709572833741599131101488902596266903452272996151765598843805003122658415311369906011986440122456726324654085122610175237720169733918027019629268658551744852658617389018021906788638315294286482336816934314213689615885029965695200731795828837114635496731624871492653809883446893771889788506893970334085491771008124909387176312076627239734164143801506034653857413907567914970990972894905654577060951563201732454934590824464668077037633278703901600658235652999857093645801815136313631484849824161173213545281359532503994445113046775881359994670836199573000576754395440911553943276422699924290738604673343259322575483119947970464309706620385363395768587221537884295316480917260228139886553727048082179936080867812979250904100051008573796927203999267003814027621115169157044641608680801447247180079987202484554801808958328080505723319704574091294232112270791154834186660883147476656553413711070066466442529356251897701418342546568842023662809942038373930534658128606115601556437806423667911222810047145109305542923117449405605392889500229253931134692262004801800030016427475377278319337808050223296119244778987876687791691225137818990883065289264986949957644057059743365822595800014193748375684664281729013702974229620673561314768008239760622632474036902290497092508745252974975289575071635163990382898124759768298754296605701680344941146288748599456225514003973129290114451539778539771053464090941202001684203123889918130192700755388864503758713532779831225951995442550005504289724000071569981669019263589894028630438270920906404303122649747993127871294505319573034397264389022447192709024753875348012287255062944112193314478463915861411787429343857825481537226291507182691923067020649188015243794143416182084116566485403725638165859567256119744459047717239446969963929930436051169033170771531705757983226459963882010617873084788832757110163921736674449867714198231510263332478418636981816337397074361745607180664425856403870752721594593432737512276635847463104172262438372738992223411623072705030286193738248746307533136367849460742772483265419714054408604136991126164374126540286764860798362332466487609049778256261429705556591766355142241002459859784050705052473497050422624732816715415430492569108668290316444984963686550617401 286926146182054951247219631039048457981425132725549463054145090156318927509897144438453807658830327494593693282912100487421863381150353608067224522018310523837916035697149914091880610713681396962222665342868148428934118914538827948389962270531058725433403607550821433880310470163637478596234111855122042476800324470665394429692421020472746062208048332344939782478079299995794580303312445908824589665373800718597500000641408385855656430214099976021519104489747112376586421134088998207136428086594925325298030994152412929211977936169747396117173846729132887149705023960606998953499727447343263620678667546553182000962974529849374006610730720349339417400662307545809330975284120944850934157406161355026444265860563540771411230334402728733861463912093602629140812734139004361759751210641926693566570856924731591935983429050000793536253466646719806033056590826879620628392464505011069460608130446527487311937938820111121558114434165076314300538091611501948302222005527941349574103812491168391698682916034158909808529532194018384114147164232181555381501844967392896821330725673940971016623663671161369470983798156282742169044259045100373876500877467440445151195744200136321474487708236880458628279853126492522264060191255465338216910642468690777552400410354092849213547600745216296723246351205091670484159417591711350305920888304688630679588360948082360322559457450599023834466209688143648667057401131358087707630601723770394819892242961819209762171363370935527049372373350501586143350440642130561536922761846638865579725038894936389696115679043161156408439784122424789981686779652054225658305925756671136359536978302629142692320866805335153057946858532966675373520177417251508673948546612457099873598613226414259080771055010546476744689222029625748261789412395513709727556413425239464905470818518877267676213328154727573869636423430030256426108107299901473015192680946086738474575411785186769475505941008312185024209365934802751342383847371261289656731118776690929640914470581212554965138920790008526170470477859926374839434280769895622700843931189004250473328085504508288570845783057336241363224860919868537707705026821554191234668101302137265665288284317048071328710667353301503813191046068768763095519764617505608878796129788307938807619904579537824655618164737596996483547482549586080873991696519671595653032625692613372182516152600297665042687756270871034558457939755696813645146169443491916361472286491201794109486823938838334053235883709527494095620698142450832502923846479480929174742960005429666659687915130077456217925387481698004665550925832673552091696828666272394582005482466533408025874202823751764208397444660548828965642952747810298431644690840310338306372680715379674714530737135919491268567896374067537534259795892966369812418631431161251366726917697757741849325470139983390666065366836809902027309276500516981673153124504681388227498007898657392607376288255064194151703294436492792433882278629010001940052647492048493497847144637473789621639172590866977380561306697387428062033404349904150784267570387124703152568630356569230754209403 464256256783585785638803543459300281938020927092676954929833531173287509978670631741753902813527446608098005491597655068310087616749100226483347268217412895735141517689689509663664702373539967761388630742569499340505528381757301230768966678974897700597516329148097391341472920121972545901310253155549680131380036034241155921513179877592452245991892461223839627538746291418629329250171741225813510569549067113846099983854498502286159484251988748576876607916935201772412302294657854028004943744138275416839338487379336658584962924891813439320884577870954728560149547430119061111136573415805235864114499634023309610355548379441270250601424575714443238737615932351836217989769952715438161743445331307628577401861874374555389007192137614677649357905010871023356348943418241931946462990814286702855401057210985614958232285267620503109087208245850907521959187093783072901388616270609913265611253104942798681843950806551244014840758819161436910713329331671682220249025157210008125848665149785780716704822822797225102816014530835318428360853848066585347197045699188725658445361170672595888116317481044816364755687944789636139378344536871382001410264643752521778435478364280122980522362094294366196194824117465417169714768316416901418643097403281602017068487391726127917449201403451949723103444850893485620473049076561174467094101849969990212092355393195407098440817445269860034039210264898044107968955074634510407554892462375068163151565537302329710141827680642147434735769119088807681234735958611478797150901733192592627807218831017257509094929947261207417013581049628789248690593679675340827462970398279817160984225482709129894805421607144111386027364256286379947611471649363779465103380799117983021075269779827970150837521453075832996586923447968294830631436058323651765930343959897593511586420075315074099881239377537621014745728972953373875513712692790973244446612080779000479377211815203196950883219327649993074432662054047530330260535162952514794550109659756218905901420538856612024882286612604326184664226235611039121163294472869852321517492503772258713088708136982325473136280149844986616199836209443609342869017204452315994436400056433871366968629258194360077310123578815507786320336183220302874059535670969699819998131472511062697538034772238580044482668496310529263378708501581523423997200809395595724602607361632635772410181230735935963594160573993684306451067626991318964719203840756305383919479200226547984834836226093396997348077024005958011482109929880176360749328016707220681925651928496687308875930373871599634107471598264490069276563998533119347816573125320111821452452430463338461925371856922535740103202643775288929524963365683383220477447950474260043047130583093872946041000468397909905549712711464611896005403073630795668822502183882845960159655210034377696788574312245829038804359060221525100014306786710719921899432037817756076958750671140658027090342663668331142829458810619332720647139427372334406540256541826749759276850194065555976781413593326837164612011749860925112456029082720866199698062956233371442885075341532917304826804 751182402965640736886023174498348739919446059818226417983978621329606437488567776180207710472357774102691698774509755555731950997899453834550571790235723419573057553386839423755545313087221364723611296085437647769439647296296129179158928949505956426030919936698918825221783390285610024497544365010671722608180360504906550351205600898065198308199940793568779410016825591414423909553484187134638100234922867832443599984495906888141815914466088724598395712406682314148998723428746852235141371830733200742137369481531749587796940861061560835438058424600087615709854571390726060064636300863148499484793167180576491611318522909290644257212155296063782656138278239897645548965054073660289095900851492662655021667722437915326800237526540343411510821817104473652497161677557246293706214201456213396421971914135717206894215714317621296645340674892570713555015777920662693529781080775620982726219383551470285993781889626662365572955192984237751211251420943173630522471030685151357699952477640954172415387738856956134911345546724853702542508018080248140728698890666581622479776086844613566904739981152206185835739486101072378308422603581971755877911142111192966929631222564416444455010070331174824824474677243957939433774959571882239635553739871972379569468897745818977130996802148668246446349796055985156104632466668272524773014990154658620891680716341277767421000274895868883868505419953041692775026356205992598115185494186145462983043808499121539472313191051577674484108142469590393824585176600742040334073663579831458207532257725953647205210608990422363825453365172053579230377373331729566485768896154950953520521203785338272587126288412479264443974222789253055321131649066615288139051927411575082894673883006242229231608576463622309741276145477594043092420848453837361493486757385137058417057238594192341776094567532265194884382152402983630301621819992692446259639293026865738953952623600389966426389160335962178098642027988850281672644382534213804451281228436447148546815891120069166990021207402612852355134704095537413960597575242765475022361423692776509186416793641490614043982063207181227979424697129312147050574044026006507229104501358571137032256913575242431406020790932117011599511382251989065969579300288475308698794261260819001505157939351776404700100833233907525746926191051167604297988897329067191377635233054246007954926333831033601006281916844864718864909007382688132609865373284248221745391765691428342094321660164931731050583960733533452107102808072331008863673174496188149856668611933926353968563845503949055852032859079962494734827489831206671439513401791592506403457934896996746487799574680674299948500647304324117895167916113493681652122138790784598349419811298473547660571737604317401174117609085532149430265198966597165481241133615044097326886572907792119546114044452229219704869725897031427127323583287227701595052556542499144304456758569798050634466630918732525294532753247112125154529418056382336346592904033875243257123994831539345598420586184193814545173318447248353174489433432625016983965633343358074595453705698102148059036207 1215438659749226522524826717957649021857466986910903372913812152502893947467238407921961613285885220710789704266107410624042038614648554061033919058453136315308199071076528933419210015460761332484999926828007147109945175678053430409927895628480854126628436265847016216563256310407582570398854618166221402739560396539147706272718780775657650554191833254792619037555571882833053238803655928360451610804471934946289699968350405390427975398718077473175272320323617515921411025723404706263146315574871476158976707968911086246381903785953374274758943002471042344270004118820845121175772874278953735348907666814599801221674071288731914507813579871778225894875894172249481766954824026375727257644296823970283599069584312289882189244718677958089160179722115344675853510620975488225652677192270500099277372971346702821852447999585241799754427883138421621076974965014445766431169697046230895991830636656413084675625840433213609587795951803399188121964750274845312742720055842361365825801142790739953132092561679753360014161561255689020970868871928314726075895936365770348138221448015286162792856298633251002200495174045862014447800948118843137879321406754945488708066700928696567435532432425469191020669501361423356603489727888299141054196837275253981586537385137545105048446003552120196169453240906878641725105515744833699240109092004628611103773071734473174519441092341138743902544630217939736882995311280627108522740386648520531146195374036423869182455018732219821918843911588679201505819912559353519131224565313024050835339476556970904714305538937683571242466946221682368479067967011404907313231866553230770681505429268047402481931710019623375830001587045539435268743120715979067604155308210693065915749152786070199382446097916698142737863068925562337923052284512161013259417101345034651928643658669507415875975806909802815899127881375937004177135532685483419504085905107644739433329835415593163377272379663612171173074690042897812002904917697166319245831338096203367452717311658925779014903494015217178539798930331148453081760869715635327343878916196548767899505501778472939517118343357026214595624533338755756393443061230458823223540901415005008399225542833436791483330914510932519385831718435209368843638835959445008518792392733330064202695974124014984744583501730218055010304899552749127721986098138462787102237840415878643727336515061769536969876077418858403171360075009679451574584577125004527129311244891654890079156496391025128047932037757539410118584918002211185224422502512895370538594263862423041277439775877820655486140330678226984804104053829739790787329974916912618224910387327460084949724946537596835688603849948099406824692879479177064872599586741258858392466941881567420606612738072715311079667321796996761326270602040227961150063635798926943287046228117826497242902618764475048743674084957252952227337890073938421516951988580316900381415509240938708661556973582400856437362212057731457875176557483754670753133160575701993016400845025604901575201999777520651709785330197109278286945462515345883183663696299591446038338781039635065363863011 1966621062714867259410849892455997761776913046729129790897790773832500384955806184102169323758242994813481403040617166179773989612548007895584490848688859734881256624463368357174755328547982697208611222913444794879384822974349559589086824577986810552659356202545935041785039700693192594896398983176893125347740757044054256623924381673722848862391774048361398447572397474247477148357140115495089711039394802778733299952846312278569791313184166197773668032730299830070409749152151558498287687405604676901114077450442835834178844647014935110197001427071129959979858690211571181240409175142102234833700833995176292832992594198022558765025735167842008551014172412147127315919878100036016353545148316632938620737306750205208989482245218301500671001539219818328350672298532734519358891393726713495699344885482420028746663713902863096399768558030992334631990742935108459960950777821851878718050020207883370669407730059875975160751144787636939333216171218018943265191086527512723525753620431694125547480300536709494925507107980542723513376890008562866804594827032351970617997534859899729697596279785457188036234660146934392756223551700814893757232548866138455637697923493113011890542502756644015845144178605381296037264687460181380689750577147226361156006282883364082179442805700788442615803036962863797829737982413106224013124082159287231995453788075750941940441367237007627771050050170981429658021667486619706637925880834665994129239182535545408654768209783797496402952054058269595330405089160095559465298228892855509042871734282924551919516147928105935067920311393735947709445340343134473799000762708181724202026633053385675069057998432102640273975809834792490589874769782594355743207235622268148810423035792312428614054674380320452479139214403156381015473132965998374752903858730171710345700897263699757652070374442068010783510033778920634478757352678175865763725198134510478387282459015983129803661539999574349271716718031748093675549300231380123697112566532650515999533202778994946004924701417830030894933634426685867042358444958400802366240339889325277085922295419963553561100406564207442575049230468067903444017105256465330452645402773576145431482456408679222889351705443049530985343100687198434813218136247920317217586653994149065707853913475791389444684334964125580757231090603916732019974995467529978479873073470124651682262848892803137976157994263723122036269082392367584184449950409252748874703010583083232173478156555956859098515998491072862225687726074542194088095677009083520395262875796349395246003621381769711338173189758189479538931543660946462226843376708505124628368322224456831437524521218271135637104497252423524719860795592670746524721725532043456741886753180040968267184475677032712253784930882528910756535801006825126631304769413971040613932801025618616789016663216704268448543810854284379354661473361166123112004545122816044685872267810736759296023604501133381731894965304843583029705975540137007099726064609577236273524839857144247173622585961714466254958648644357631461434895947970900167629329642949520633792486737737213422899218 3182059722464093781935676610413646783634380033640033163811602926335394332423044592024130937044128215524271107306724576803816028227196561956618409907141996050189455695539897290593965344008744029693611149741451941989329998652402989999014720206467664679287792468392951258348296011100775165295253601343114528087301153583201962896643162449380499416583607303154017485127969357080530387160796043855541321843866737725022999921196717668997766711902243670948940353053917345991820774875556264761434002980476153060090785419353922080560748432968309384955944429542172304249862809032416302416182049421055970182608500809776094054666665486754473272839315039620234445890066584396609082874702126411743611189445140603222219806891062495091178726963896259589831181261335163004204182919508222745011568585997213594976717856829122850599111713488104896154196441169413955708965707949554226392120474868082774709880656864296455345033570493089584748547096591036127455180921492864256007911142369874089351554763222434078679572862216462854939668669236231744484245761936877592880490763398122318756218982875185892490452578418708190236729834192796407204024499819658031636553955621083944345764624421809579326074935182113206865813679966804652640754415348480521743947414422480342742543668020909187227888809252908638785256277869742439554843498157939923253233174163915843099226859810224116459882459578146371673594680388921166541016978767246815160666267483186525275434556571969277837223228516017318321795965646948796836225001719449078596522794205879559878211210839895456633821686865789506310387257615418316188513307354539381112232629261412494883532062321433077550989708451726016103977396880331925858617890498573423347362543832961214726172188578382627996500772297018595217002283328718718938525417478159388012320960075206362274344555933207173528046181351870826682637915154857638655892885363659285267811103242155217820612294431576293180933919663186520444791408074645905678454217928546442942943904628853883452250514437920725019828195433047209434732564757834320124119314674036129710119256085874044985427797198436493078218749921233657170673763806823659837460166486924153676186304188581153830707999242116014372682619953982050371174819122407803656856972207365325736379046727479129910549887599806374189267836694343635767535990156665859741961093605992765582110913886003295409599363954572674946034071682581525207629157402047035759034527534257276004014255474738122252634652946981987146448036248612272344272644076753379312518179521978890933857139658772436523443397259590366824313520436416464343035597490686253014173351625417742853278709551916916387249467755867971325708347200522931544553675071847811397321312273302315134353695061608388873797213749748023333452252679525672082806403047053087781368405212897983900979029143445114031919281981179317192217895811537331581999363435104544628956533703132945067287777051675467957580578083534238169257177362575040904882533023891677852859225185279229289925684882749148748824585739235117964743978841466909748380358463316783351293025942540966672131267777372278786762229 5148680785178961041346526502869644545411293080369162954709393700167894717378850776126300260802371210337752510347341742983590017839744569852202900755830855785070712320003265647768720672556726726902222372654896736868714821626752549588101544784454475231947148670938886300133335711793967760191652584520007653435041910627256219520567544123103348278975381351515415932700366831328007535517936159350631032883261540503756299874043029947567558025086409868722608385784217176062230524027707823259721690386080829961204862869796757914739593079983244495152945856613302264229721499243987483656591224563158205016309334804952386887659259684777032037865050207462242996904238996543736398794580226447759964734593457236160840544197812700300168209209114561090502182800554981332554855218040957264370459979723927090676062742311542879345775427390967992553964999200406290340956450884662686353071252689934653427930677072179826014441300552965559909298241378673066788397092710883199273102228897386812877308383654128204227053162753172349865175777216774467997622651945440459685085590430474289374216517735085622188048858204165378272964494339730799960248051520472925393786504487222399983462547914922591216617437938757222710957858572185948678019102808661902433697991569706703898549950904273269407331614953697081401059314832606237384581480571046147266357256323203075094680647885975058400323826815153999444644730559902596199038646253866521798592148317852519404673739107514686491991438299814814724748019705218392166630090879544638061821023098735068921082945122820008553337834793895441378307569009154263897958647697673854911233391969594219085558695374818752620047706883828656377953206715124416448492660281167779090569779455229363536595224370695056610555446677339047696141497731875099953998550444157762765224818805378072620045453196906931180116555793938837466147948933778273134650238041835151031536301376665696207894753447559422984595459662760869716508126106393999354003518159926566640056471161504399451783717216915671024752896850877240329666199184520187166477759632436932076359595975199322071350092618400046639319156485441099745722994274891563281477271743389484128831706962157299262190455650795237262034325397031581356517919809606238470075108455285642953965700721628195618403801075597763633952171658469216524767080760582591761936089073522744061983987356127947091862212847375812922192065946304647243898239794414619943484477943510024878717266057821354426112809502938846244964034739685134569960370151295573400613856531062411329120015455121831769447018641360078162486710194605943881967141151632715241016728333922867481647031776373747824773988974139106962812844452946456264414470664518557922043037805345771876240448241649357140981689426780735587237183562054582839342204053878214412673174626869024514911830169063730820935945197883585640761706665821710936660836796270667740961078825948989753160044862412227253604182584667619901152142667418623934588508564028684952585289794856465563450524739893395922447171700949584219702627485824541209815254411287683518922355585490487305923754515109492209661447 8330740507643054823282203113283291329045673114009196118520996626503289049801895368150431197846499425862023617654066319787406046066941131808821310662972851835260168015543162938362686016565470756595833522396348678858044820279155539587116264990922139911234941139331837558481631722894742925486906185863122181522343064210458182417210706572483847695558988654669433417828336188408537922678732203206172354727128278228779299795239747616565324736988653539671548738838134522054051298903264088021155693366556983021295648289150679995300341512951553880108890286155474568479584308276403786072773273984214175198917835614728480942325925171531505310704365247082477442794305580940345481669282352859503575924038597839383060351088875195391346936173010820680333364061890144336759038137549180009382028565721140685652780599140665729944887140879072888708161440369820246049922158834216912745191727558017428137811333936476281359474871046055144657845337969709194243578014203747455281013371267260902228863146876562282906626024969635204804844446453006212481868413882318052565576353828596608130435500610271514678501436622873568509694328532527207164272551340130957030340460108306344329227172336732170542692373120870429576771538538990601318773518157142424177645405992187046641093618925182456635220424206605720186315592702348676939424978728986070519590430487118918193907507696199174860206286393300371118239410948823762740055625021113336959258415801039044680108295679483964329214666815832133046543985352167189002855092598993716658343817304614628799294155962715465187159521659684947688694826624572580086471955052213236023466021231006713969090757696251830171037415335554672481930603595456342307110550779741202437932323288190578262767412949077684607056218974357642913143781060593818892523967922317150777545778880584434894390009130114104708162737145809664148785864088635911790543123405494436299347404618820914028507047879135716165529379325947390161299534181039905032457736088473009583000375790358282904034231654836396044581092283924449764398763942354507290597074306473061786478852061073367056777889816836539717537906406674756916396758081715223118937438230313637805018011150738453092898454892911251634716945351013631727692738932014042126932080662650968690344747449107325528953688675404137823220008352812852292303070917248451503897182679515509644094901242131242501461576801948487868226137628886172451527397196461655702519005477767300882731521532559476678747462449920833391412070988297406914233014228048952713132036053041302262977155113894268292890415900950444986800230631022408225002738642318968255190079959340610334925741328290664212023456730007078288521191653469387808968145736366369319364350078648087010594143303257746014778903176528758920689436241580254922148607100931302194041579839767008415890859312508844852855227179062902832979602477359042518660200231375212369917612529081934820447821914087695211184760668201858070409320029993664839471041587920362805444514980135694853376209622642544671271757440184702184446606327291450958195612874604466870215381528031453978055022292481770996423676 13479421292822015864628729616152935874456966194378359073230390326671183767180746144276731458648870636199776128001408062770996063906685701661024211418803707620330880335546428586131406689122197483498055895051245415726759641905908089175217809775376615143182089810270723858614967434688710685678558770383129834957384974837714401937778250695587195974534370006184849350528703019736545458196668362556803387610389818732535599669282777564132882762075063408394157124622351698116281822930971911280877383752637812982500511158947437910039934592934798375261836142768776832709305807520391269729364498547372380215227170419680867829985184856308537348569415454544720439698544577484081880463862579307263540658632055075543900895286687895691515145382125381770835546862445125669313893355590137273752488545445067776328843341452208609290662568270040881262126439570226536390878609718879599098262980247952081565742011008656107373916171599020704567143579348382261031975106914630654554115600164647715106171530530690487133679187722807554670020223669780680479491065827758512250661944259070897504652018345357136866550294827038946782658822872258007124520602860603882424126964595528744312689720251654761759309811059627652287729397111176549996792620965804326611343397561893750539643569829455726042552039160302801587374907534954914324006459300032217785947686810321993288588155582174233260530113208454370562884141508726358939094271274979858757850564118891564084782034786998650821206105115646947771292005057385581169485183478538354720164840403349697720377101085535473740497356453580389067002395633726843984430602749887090934699413200600933054649453071070582791085122219383328859883810310580758755603211060908981528502102743419941799362637319772741217611665651696690609285278792468918846522518366474913542770597685962507514435462327021035888279292939748501614933813022414184925193361447329587330883705995486610236401801326695139150124838988708259877807660287433904386461254248399576223056846951862682355817948871752067069333989134801690094064963126874694457074833938909993862838448036272689128127982435236586356857062892115856662119752356606786400414709973703121933849718112895752355088910543706488896751270748045213084210658741620280597007189117936611644310448170735521147357489751001901457172180011282068817070151677831043265833271753038253706078888598259189593323789649324300790418203575190819695425636990876275646003483421277325761448787590380831104860271952859679636376105727982541484193384379344526113745892584103713592097170569016100062337434542310523149286940825628352106969879793951683496206808293263477816572773104664412036797445704146185251334036106415844073382616400884927241407387883993858886834591544907103155760592603309494507926619803634837761490811154809516606714754466636032930802689481572575673791172376946488473741309143180753455321037027645880110878691355030924573607866776499922464788943252869477971561462697412288774059550151949047758029804774992160416826734362535940593718929141134286404149233813115992168010867285892150389137737113521941283978776807591263206085123 21810161800465070687910932729436227203502639308387555191751386953174472816982641512427162656495370062061799745655474382558402109973626833469845522081776559455591048351089591524494092705687668240093889417447594094584804462185063628762334074766298755054417030949602561417096599157583453611165464956246252016479728039048172584354988957268071043670093358660854282768357039208145083380875400565762975742337518096961314899464522525180698207499063716948065705863460486220170333121834235999302033077119194796003796159448098117905340276105886352255370726428924251401188890115796795055802137772531586555414145006034409348772311110027840042659273780701627197882492850158424427362133144932166767116582670652914926961246375563091082862081555136202451168910924335270006072931493139317283134517111166208461981623940592874339235549709149113769970287879940046782440800768553096511843454707805969509703553344945132388733391042645075849224988917318091455275553121118378109835128971431908617335034677407252770040305212692442759474864670122786892961359479710076564816238298087667505635087518955628651545051731449912515292353151404785214288793154200734839454467424703835088641916892588386932302002184180498081864500935650167151315566139122946750788988803554080797180737188754638182677772463366908521773690500237303591263431438029018288305538117297440911482495663278373408120736399601754741681123552457550121679149896296093195717108979919930608764890330466482615150420771931479080817835990409552770172340276077532071378508657707964326519671257048250938927656878113265336755697222258299424070902557802100326958165434431607647023740210767322412962122537554938001341814413906037101062713761840650183966434426031610520062130050268850425824667884626054333522429059853062737739046486288792064320316376566546942408825471457135140596442030085558165763719677111050096715736484852824023630231110614307524264908849205830855315654218314655650039107194468473809418918990336872585806057222742220965259852180526588463113915081418726139858463727069229201747671908245383055649317300097346056184905872252073126074394969298790613578516510438322009519352148204016759738867729263634205447987365436617740531468216099058844811903397673634322723939269780587580334655195619842846676311178426406039280392188364094921109373222595079494769730454432553763350173789840390432094785366451272788658644341204076992146953034187337931348522488899044626644180309122940307783607734402780513027788176716279948398426398607393478826877928637145015855074325682910368355227850443260968136087171456650760331972618436270651751396888252604088151498514432955076248820902434153263539855227759885231882350762137251296560771737962641945897428734848164849170539495779838253428616056045215092683639418255740818800756334306403041346693548794081420526646399556009391306720911620539795973981237259021092480796303884112859394055688690587617675973703921071336041970782727405953613530591739869410563474319755127855270202943985178485264990686581318988588595840140407443126206480160496617259353118641553395262033799100073034202508799 35289583093287086552539662345589163077959605502765914264981777279845656584163387656703894115144240698261575873656882445329398173880312535130869733500580267075921928686636020110625499394809865723591945312498839510311564104090971717937551884541675370197599120759873285275711566592272164296844023726629381851437113013885886986292767207963658239644627728667039132118885742227881628839072068928319779129947907915693850499133805302744831090261138780356459862988082837918286614944765207910582910460871832608986296670607045555815380210698821150630632562571693028233898195923317186325531502271078958935629372176454090216602296294884148580007843196156171918322191394735908509242597007511474030657241302707990470862141662250986774377226937261584222004457786780395675386824848729454556887005656611276238310467282045082948526212277419154651232414319510273318831679378271976110941717688053921591269295355953788496107307214244096553792132496666473716307528228033008764389244571596556332441206207937943257173984400415250314144884893792567573440850545537835077066900242346738403139739537300985788411602026276951462075011974277043221413313757061338721878594389299363832954606612840041694061311995240125734152230332761343701312358760088751077400332201115974547720380758584093908720324502527211323361065407772258505587437897329050506091485804107762904771083818860547641381266512810209112244007693966276480618244167571073054474959544038822172849672365253481265971626877047126028589127995466938351341825459556070426098673498111314024240048358133786412668154234566845725822699617892026268055333160551987417892864847632208580078389663838392995753207659774321330201698224216617859818316972901559165494936528775030461861492687588623167042279550277751024131714338645531656585569004655266977863086974252509449923260933784156176484721323025306667378653490133464281640929846300153610961114816609794134501310650532525994465779057303363909916914854755907713805380244585272162029114069694083647615670129398340530183249070553527829952528690196103896204746742184293049512155748133618745313033854687309712431252032190906470240636262794928795919766858177719881672717447376529957803076275980324229428219486847104057896114056415254603320946458898524191978965643790578367823668668177407940737564368375376989926443374272910538035563726185592017056252678438649621688109156100597089449062544779267811842378671178214206994525972320321952405629096713321138888468006355640192664164282444262489882619782986738004940623821221248729447171496251926468417565284985571491285374112282279112438942498230222335247603696545867565968071287537619488285618348138299448791189263866301075955733378538136223802179125846635804784263326393071952326300088383147747936542675848849930445130229410550335407471088773039074277496238275653996200437571932955879780462220763720549429302274286666972591674995239143783967663555467087540140762647173940814013532245424818242387590141891818458321504124530120015687029678347714425858709615722453274992745073953523435294217347446388767648490855755075336546012575907664297408593922 57099744893752157240450595075025390281462244811153469456733164233020129401146029169131056771639610760323375619312356827887800283853939368600715255582356826531512977037725611635119592100497533963685834729946433604896368566276035346699885959307974125252016151709475846692808165749855617908009488682875633867916841052934059570647756165231729283314721087327893414887242781436026712219947469494082754872285426012655165398598327827925529297760202497304525568851543324138456948066599443909884943537991027404990092830055143673720720486804707502886003289000617279635087086039113981381333640043610545491043517182488499565374607404911988622667116976857799116204684244894332936604730152443640797773823973360905397823388037814077857239308492397786673173368711115665681459756341868771840021522767777484700292091222637957287761761986568268421202702199450320101272480146825072622785172395859891100972848700898920884840698256889172403017121413984565171583081349151386874224373543028464949776240885345196027214289613107693073619749563915354466402210025247911641883138540434405908774827056256614439956653757726863977367365125681828435702106911262073561333061814003198921596523505428428626363314179420623816016731268411510852627924899211697828189321004670055344901117947338732091398096965894119845134755908009562096850869335358068794397023921405203816253579482138921049502002912411963853925131246423826602297394063867166250192068523958752781614562695719963881122047648978605109406963985876491121514165735633602497477182155819278350759719615182037351595811112680111062578396840150325692126235718354087744851030282063816227102129874605715408715330197329259331543512638122654960881030734742209349461370954806640981923622737857473592866947434903805357654143398498594394324615490944059042183403350819056392332086405241291317081163353110864833142373167244514378356666331152977634591345927224101658766219499738356849781433275618019559956022049224381523224299234922144747835171292436304612875522309924928993297164151972253969810992417265333097952418650429676105161473048230964801497939726939382838505647001489697083819152773233250805439119006381736641411585176640164163251063641416941969959687702946162902708017454088888926044885728679111772313620839410421214499979846603813980017956556739471911035816596867990032805294180618145780406426468279040053782894522551869878107706885983344803989331705365552138343048461219366579049809405836261446672075740758420705691952459160542438281046181594131483767501749858393745302245821934836836772793135428832459421461283738929872770915116666492986999000584798471654119569801970574564534439250572452712331044491626186307838084140675387520362950863809277750681692061241236801496839584162986001365158731894065023128769647666291154208227423079442115624189787069735416727083971488965271087183132384260345403283511545688065072471299123256643361719244157675157816736351095012150055503028152224196001120733631687868884978444285247870957232622332892911123700302303772263581340914093930878420423827606885384907843974396628731808046375007737331611102721 92389327987039243792990257420614553359421850313919383721714941512865785985309416825834950886783851458584951492969239273217198457734251903731584989082937093607434905724361631745745091495307399687277780042445273115207932670367007064637437843849649495449615272469349131968519732342127782204853512409505015719353954066819946556940523373195387522959348815994932547006128523663908341059019538422402534002233333928349015897732133130670360388021341277660985431839626162056743563011364651820467853998862860013976389500662189229536100697503528653516635851572310307868985281962431167706865142314689504426672889358942589781976903699796137202674960173013971034526875639630241445847327159955114828431065276068895868685529700065064631616535429659370895177826497896061356846581190598226396908528424388760938602558504683040236287974263987423072435116518960593420104159525097048733726890083913812692242144056852709380948005471133268956809253910651038887890609577184395638613618114625021282217447093283139284388274013522943387764634457707922039843060570785746718950038782781144311914566593557600228368255784003815439442377099958871657115420668323412283211656203302562754551130118268470320424626174660749550168961601172854553940283659300448905589653205786029892621498705922826000118421468421331168495821315781820602438307232687119300488509725512966721024663300999468690883269425222172966169138940390103082915638231438239304667028067997574954464235060973445147093674526025731137996091981343429472855991195189672923575855653930592374999767973315823764263965347246956788401096458042351960181568878906075162743895129696024807180519538444108404468537857103580661745210862339272820699347707643768514956307483581671443785115425446096759909226985181556381785857737144126050910184495599326020046490325071565842255347339025447493565884676136171500521026657377978659997596177453131245552460743833895793267530150270882844247212332921383469872936903980289237029679479507416909864285362130388260491192439323269523480413222525781799763521107461436994157165392613969154673628796364583546810973581626692550936899033680603554059789036028179601358885864559456523084302624016694121054139917397266199387907189793266960604131510504143529365832187577635964292586483200999582323648514781221920755520925114848900962259971140900570840857906803737797462679146717689675471003678652466967556769430762612615831710376543766345337574433539688531455438502549582585560543747114060898356116741604804928163665964580869488708125571079642474749417318186763305190358420414403950706835396021208985209857614896715322246604281344339220087641089508194052820057598710752161122233755492487383793817519213523744165129989655913555465955387634308753823139672546133749301701407742914953573899877076841489615698511852481189901686025345389412927521543421921150867645353147980894832585785832355037664146294362400427329382799624762697957498998268952964069035273577042438388710875523506327206482568815367886644262300680607336982409918026225538574085988047454313714641175053274152556334830151704068354058950915401629019696643 149489072880791401033440852495639943640884095125072853178448105745885915386455445994966007658423462218908327112281596101104998741588191272332300244665293920138947882762087243380864683595804933650963614772391706720104301236643042411337323803157623620701631424178824978661327898091983400112863001092380649587270795119754006127588279538427116806274069903322825961893371305099935053278967007916485288874518759941004181296330460958595889685781543774965511000691169486195200511077964095730352797536853887418966482330717332903256821184308236156402639140572927587504072368001545149088198782358300049917716406541431089347351511104708125825342077149871770150731559884524574382452057312398755626204889249429801266508917737879142488855843922057157568351195209011727038306337532466998236930051192166245638894649727320997524049736250555691493637818718410913521376639671922121356512062479773703793214992757751630265788703728022441359826375324635604059473690926335782512837991657653486231993687978628335311602563626630636461384384021623276506245270596033658360833177323215550220689393649814214668324909541730679416809742225640700092817527579585485844544718017305761676147653623696898946787940354081373366185692869584365406568208558512146733778974210456085237522616653261558091516518434315451013630577223791382699289176568045188094885533646918170537278242783138389740385272337634136820094270186813929685213032295305405554859096591956327736078797756693409028215722175004336247403055967219920594370156930823275421053037809749870725759487588497861115859776459927067850979493298192677652307804597260162907594925411759841034282649413049823813183868054432839993288723500461927781580378442385977864417678438388312425708738163303570352776174420085361739440001135642720445234799986543385062229893675890622234587433744266738810647048029247036333663399824622493038354262508606108880143806671057997452033749650009239694028645608539403029828958953204670760253978714429561657699456654566692873366714749248198516777577374498035769574513524726770092109584043043645259835101844595548348308913308566075389442546035170300637878941809261430406798004870941193164495887800656858284305203558814208169347594892739429863312148964593032455410717916256747736606207322611420796823628361385035900773477481854320811998076568008890603646152087421883577869105614996729729253898201204336845664476316745957419821042081909318483680622894759055110505247908385844032232619487872481604048069200765347366444712146175000972475627320938036220051663140121600141963151555843236410128296679760138857980772731563208309245604866142810874207210891478768617354496849283204873453278247118673691631901659888911264528080853465191306147647448875545555319979256709119750666860139636979976702669524743132643823925934931923305525875812415124829654605514910886421954828485532241240235869297378043102736617593485657070691102043782437855774235349363965114124538301729266634389831609155194196091461013100615757601494923013500248106110220329997802155426902141385192135065002660159537464178804548332800162105325923138960630799364 241878400867830644826431109916254497000305945438992236900163047258751701371764862820800958545207313677493278605250835374322197199322443176063885233748231013746382788486448875126609775091112333338241394814836979835312233907010049475974761647007273116151246696648174110629847630434111182317716513501885665306624749186573952684528802911622504329233418719317758508899499828763843394337986546338887822876752093869353197194062594089266250073802885052626496432530795648251944074089328747550820651535716747432942871831379522132792921881811764809919274992145237895373057649963976316795063924672989554344389295900373679129328414804504263028017037322885741185258435524154815828299384472353870454635954525498697135194447437944207120472379351716528463529021706907788395152918723065224633838579616555006577497208232004037760337710514543114566072935237371506941480799197019170090238952563687516485457136814604339646736709199155710316635629235286642947364300503520178151451609772278507514211135071911474595990837640153579849149018479331198546088331166819405079783216105996694532603960243371814896693165325734494856252119325599571749932948247908898127756374220608324430698783741965369267212566528742122916354654470757219960508492217812595639368627416242115130144115359184384091634939902736782182126398539573203301727483800732307395374043372431137258302906084137858431268541762856309786263409127204032768128670526743644859526124659953902690543032817666854175309396701030067385399147948563350067226148126012948344628893463680463100759255561813684880123741807174024639380589756235029612489373476166238070338820541455865841463168951493932217652405911536420655033934362801200602279726150029746379373985921969983869493853588749667112685401405266918121225858872786846496144984482142711082276384000962188076842781083292186304212932705383207834184426482000471698351858686059240125696267414891893245301279800280122538275857941460786499701895857184959997283658193936978567563742016697081133857907188571468040257990597023817569338034632188207086266749435657614414508730640960131895119886890192767940379445068850904191938730845289610008156890735500649687580190424673552405359343476211474368735502082532696823916280475097175984776550103834383700898793805812420379147276876166257821528998406969169712960336539149791174487009994225621375331784761714419404724901879856803813221245747508570035652752458453084829018197328298743641960686410935426617793163234986542502404185942370152294608378110755870461183752892017678694801080458308363447153509976257640360835132075781347843190630346459923631492209147487150094294851980986962670174554447993957034575512002611161075425719179102435008693210843121104861613602836509854309143118929255253499968561547379894930276569401819974133439624446784404495427561837760514242582127058332807572822473838680222135068455083210398140400763887848057498020484843407200553731734347632918078193573575306309072778542484678700523297943581915983644245757223694107585088520138356223340729512890188839505849706177713433690020513634700036868516164276838540589650496007 391367473748622045859871962411894440641190040564065090078611153004637616758220308815766966203630775896401605717532431475427195940910634448396185478413524933885330671248536118507474458686917266989205009587228686555416535143653091887312085450164896736852878120826999089291175528526094582430579514594266314893895544306327958812117082450049621135507488622640584470792871133863778447616953554255373111751270853810357378490393055047862139759584428827592007433221965134447144585167292843281173449072570634851909354162096855036049743066120000966321914132718165482877130017965521465883262707031289604262105702441804768476679925909212388853359114472757511335989995408679390210751441784752626080840843774928498401703365175823349609328223273773686031880216915919515433459256255532222870768630808721252216391857959325035284387446765098806059710753955782420462857438868941291446751015043461220278672129572355969912525412927178151676462004559922247006837991429855960664289601429931993746204823050539809907593401266784216310533402500954475052333601762853063440616393429212244753293353893186029565018074867465174273061861551240271842750475827494383972301092237914086106846437365662268214000506882823496282540347340341585367076700776324742373147601626698200367666732012445942183151458337052233195756975763364586001016660368777495490259577019349307795581148867276248171653814100490446606357679314017962453341702822049050414385221251910230426621830574360263203525118876034403632802203915783270661596305056836223765681931273430333826518743150311545995983518267101092490360083054427707264797178073426400977933745953215706875745818364543756030836273965969260648322657863263128383860104592415724243791664360358296295202591752053237465461575825352279860665860008429566941379784468686096144506277676852810311430214827558925114859980734630244167847826306622964736706121194665349005840074085949890697335029450289362232304503550000189529530854810389630757537636908366540225263198671263774007224621937819666557035567971521853338912548156914977178376333478701259674343832485555680243428800198758843329821991104021204829817672654551040414954895606441842852076078225330410689664547035025682538083096975272126687228429439690208440187268020091131437505001128423841175970905237551293722302475888823490524958413107158681778133162081647504953200890376711149133978800081061140658885722064254527455473794540362403312698820223057798752465934319321270650025782722859024106452255143135499661053090256930871433659380212955714914852743598429963589116661532100876770963428755541486701171403078023131940737814013629960968502062872465731287529051297277161908028790249729834767057620838991346273221291696586296167761250285385399864463098185964373250635421687016874906979238926563106777263550381716327800953437650175639072236732573243693994777302324212463375304324380588441243137381481333714568711586887189638409505969696996883192318111877035575707168374093833894719389404595016599401847252146707607833194630358686221142884939792330224697984771180373593227484692439248369668678269602761679550281295371 633245874616452690686303072328148937641495986003057326978774200263389318129985171636567924748838089573894884322783266849749393140233077624460070712161755947631713459734984993634084233778029600327446404402065666390728769050663141363286847097172169853004124817475173199921023158960205764748296028096151980200520293492901911496645885361672125464740907341958342979692370962627621841954940100594260934628022947679710575684455649137128389833387313880218503865752760782699088659256621590831994100608287382284852225993476377168842664947931765776241189124863403378250187667929497782678326631704279158606494998342178447606008340713716651881376151795643252521248430932834206039050826257106496535476798300427195536897812613767556729800602625490214495409238622827303828612174978597447504607210425276258793889066191329073044725157279641920625783689193153927404338238065960461536989967607148736764129266386960309559262122126333861993097633795208889954202291933376138815741211202210501260415958122451284503584238906937796159682420980285673598421932929672468520399609535208939285897314136557844461711240193199669129313980876839843592683424075403282100057466458522410537545221107627637481213073411565619198895001811098805327585192994137338012516229042940315497810847371630326274786398239789015377883374302937789302744144169509802885633620391780445053884054951414106602922355863346756392621088441221995221470373348792695273911345911864133117164863392027117378834515577064471018201351864346620728822453182849172110310824737110796927277998712125230876107260074275117129740672810662736877286551549592639048272566494671572717208987316037688248488679877505681303356592226064328986139830742445470623165650282328280164696445340802904578146977230619197981891718881216413437524768950828807226782661677814998388272995910851111419072913440013452002032252788623436435057979880724589131536341500841783942636309250569484770580361491460976029232750667574590754821295102303518792826940687960855141082529126391134597293558568545670908250582789103184264643082914358874088852563126515812138548687088951611270201436172872109021756403499840650423111786341942492539656268650003963095023890511237156906818599057804823511144709914787384424963818123925515138403794934236261555118182113717551543831474295792660237918749646308472952620172075873126328532675138425568538703701960917944472106967811763097491126546998815488141717017551356542394426620730256697267818945957845566608856441085505651955661468367686741894843133104973393609653824056738327036270171508358517131798560831322834544362033424483055572230023161117111062796914853452693957703605745271118942604302252340995842483340018093781281914502539707401029374853121895254173606217115219626750603983234396769837255808328383080910703174828500732296380999487936153314818859631576501567599776162892685510372779463798839383538145369181772066732071730596838963237704044629801270511685452341884779946916578512595242687348176932583046093009370401715418283150497042444483614452682519064203834477358087026917505206073948406537194433879600220139931791378 1024613348365074736546175034740043378282686026567122417057385353268026934888205480452334890952468865470296490040315698325176589081143712072856256190575280881517044130983521112141558692464946867316651413989294352946145304194316233250598932547337066589857002938302172289212198687486300347178875542690418295094415837799229870308762967811721746600248395964598927450485242096491400289571893654849634046379293801490067954174848704184990529592971742707810511298974725917146233244423914434113167549680858017136761580155573232204892408014051766742563103257581568861127317685895019248561589338735568762868600700783983216082688266622929040734735266268400763857238426341513596249802268041859122616317642075355693938601177789590906339128825899263900527289455538746819262071431234129670375375841233997511010280924150654108329112604044740726685494443148936347867195676934901752983740982650609957042801395959316279471787535053512013669559638355131136961040283363232099480030812632142495006620781172991094411177640173722012470215823481240148650755534692525531961016002964421184039190668029743874026729315060664843402375842428080115435433899902897666072358558696436496644391658473289905695213580294389115481435349151440390694661893770462080385663830669638515865477579384076268457937856576841248573640350066302375303760804538287298375893197411129752849465203818690354774576169963837202998978767755239957674812076170841745688296567163774363543786693966387380582359634453098874651003555780129891390418758239685395875992756010541130753796741862436776872090778341376209620100755865090444142083729623019040026206312447887279592954805680581444279324953843474941951679250089327457369999935334861194866957314642686576459899037092856142043608553055971477842557578889645980378904553419514903371288939354667808699703210738410036533932894174643696169880079095246401171764101075389938137376415586791674639971338700858847002884865041461165558763605477964221512358932010670059018090139359224629148307151064210801154329126540067524247163130946018161443019416393060133763196395612071492381977487287710454600023427276893313851574076154391690838066681948384335391732346875334373784688437546262839444901696033076950198373139354477592865151086144016646575908796062660102731089087351268845266133950184616150762877162753467154730753334157520631281733565515136717672682502041979085130992689876017624946600341539177891454415837774414341146892555049577967917844728680704590715308696228641151616714558624617613328502513317929108524506567655168290625386833040459393902761989586864321245533436502506187512967837174747072031298977725918425245232657042548280850633092502070830609540960857085127555135794236293697197136103407280654038069315301184000001239404921413644744235047254946187687966725210217060097334437138111792387055592204820195562377078487105148885677103844387280626675526850515486635443658617786477372743673741626684462829797329377460487115290672346489962076752771949182447940261517109323251477780855728665626499392474849288901819248538460620144989898513196776205872703482361899690213086749 1657859222981527427232478107068192315924182012570179744036159553531416253018190652088902815701306955044191374363098965174925982221376789697316326902737036829148757590718506105775642926242976467644097818391360019336874073244979374613885779644509236442861127755777345489133221846446506111927171570786570275294936131292131781805408853173393872064989303306557270430177613059119022131526833755443894981007316749169778529859304353322118919426359056588029015164727486699845321903680536024945161650289145399421613806149049609373735072961983532518804292382444972239377505353824517031239915970439847921475095699126161663688696607336645692616111418064044016378486857274347802288853094298965619151794440375782889475498990403358463068929428524754115022698694161574123090683606212727117879983051659273769804169990341983181373837761324382647311278132342090275271533915000862214520730950257758693806930662346276589031049657179845875662657272150340026915242575296608238295772023834352996267036739295442378914761879080659808629898244461525822249177467622198000481415612499630123325087982166301718488440555253864512531689823304919959028117323978300948172416025154958907181936879580917543176426653705954734680330350962539196022247086764599418398180059712578831363288426755706594732724254816630263951523724369240164606504948707797101261526817802910197903349258770104461377498525827183959391599856196461952896282449519634440962207913075638496660951557358414497961194150030163345669204907644476512119241211422534567986303580747651927681074740574562007748198038415651326749841428675753181019370281172611679074478878942558852310163792996619132527813633720980623255035842315391786356139766077306665490122964925014856624595482433659046621755530286590675824449297770862393816429322370343710598071601032482807087976206649261147953005807614657148171912331883869837606822080956114527268912757087633458582607647951428331773465226532922141587996356145538812267180227112973577810917080047185484289389680190601935751622685108613195155413713735121345707662499307419007852048958738587304520526174376662065870224863449765422873330479654232341261178468290326827931388615525338336879712328057499996351720295090881773709517849269264977290114904267942161714312590996896364286207269464986396809965424480408811000795912399775627683373506233393757610266240653562286211386204002897029603099657687780722437726888537993379596132855325770883541319175779834665185663674638550157324165137314146803572376026992304355223345646422902502134160391711906617661657004548817911034560550418187155789895469926989243085197860335864183094095892579371119202936262787819399793237394754411826452024300875178908837050296776001098226510956529175908211675532416403626751843388155810414581490855583329268598669900038717792393715436626047945701874451836396697129976854649997834396049883308186120010213672219697258702175730348383316335981377786256485733341482781719345267062207250859085204764100948881765494033270887511038669760931352771110110113845157368353105653725896547647062495104587145182743067137361962119830144878127 2682472571346602163778653141808235694206868039137302161093544906799443187906396132541237706653775820514487864403414663500102571302520501770172583093312317710665801721702027217917201618707923334960749232380654372283019377439295607864484712191846303032718130694079517778345420533932806459106047113476988570389351969091361652114171820985115618665237699271156197880662855155610422421098727410293529027386610550659846484034153057507109449019330799295839526463702212616991555148104450459058329199970003416558375386304622841578627480976035299261367395640026541100504823039719536279801505309175416684343696399910144879771384873959574733350846684332444780235725283615861398538655362340824741768112082451138583414100168192949369408058254424018015549988149700320942352755037446856788255358892893271280814450914492637289702950365369123373996772575491026623138729591935763967504471932908368650849732058305592868502837192233357889332216910505471163876282858659840337775802836466495491273657520468433473325939519254381821100114067942765970899933002314723532442431615464051307364278650196045592515169870314529355934065665733000074463551223881198614244774583851395403826328538054207448871640234000343850161765700113979586716908980535061498783843890382217347228766006139782863190662111393471512525164074435542539910265753246084399637420015214039950752814462588794816152074695791021162390578623951701910571094525690476186650504480239412860204738251324801878543553784483262220320208463424606403509659969662219963862296336758193058434871482436998784620288816757027536369942184540843625161454010795630719100685191390446131903118598677200576807138587564455565206715092404719243726139701412167860357080279567701433084494519526515188665364083342562153667006876660508374195333875789858613969360540387150615787679417387671184486938701789300844341792410979116238778586182031504465406289172674425133222578986652287178776350091574383307146759961623503033779539159123643636829007219406410113437696831254812736905951811648680719402576844681139507150681915700479141615245354350658796902503661664372520470248290726658736724904555808624032099245150238711163323120962400672710664400765603762835796621991123958723907890988623742570155265990411958808290221387059556467017296356816255242076099374665024961763673075153242782414126840390914388891999806168699003884068706044876114734092347563798347384327230077171271050548693100185224688211730829412633103508403319254748039473833542787955189090585616921968551848159740831610658666959367074908287043837589277304937322540005051477035428906429495430598165697510611255125394870305289544448168919830367680643870487256482657061565261732264036392186091012294795423647059936456562249744847717587626753082793077224059325725902838275456286636625248934852491049873764159738088930044041216892692353933137102983281726987152573400636889199070212745337619388966169793708725051527883170196171280111096805754177497923205575166840853720830947941973532404620361921238712208499775736613237632217642007472974435008267207485003100341958948939840844324019520357964876 4340331794328129591011131248876428010131050051707481905129704460330859440924586784630140522355082775558679238766513628675028553523897291467488909996049354539814559312420533323692844544950899802604847050772014391619893450684274982478370491836355539475579258449856863267478642380379312571033218684263558845684288100383493433919580674158509490730227002577713468310840468214729444552625561165737424008393927299829625013893457410829228368445689855883868541628429699316836877051784986484003490850259148815979989192453672450952362553938018831780171688022471513339882328393544053311041421279615264605818792099036306543460081481296220425966958102396488796614212140890209200827508456639790360919906522826921472889599158596307832476987682948772130572686843861895065443438643659583906135341944552545050618620904834620471076788126693506021308050707833116898410263506936626182025202883166127344656662720651869457533886849413203764994874182655811190791525433956448576071574860300848487540694259763875852240701398335041629730012312404291793149110469936921532923847227963681430689366632362347311003610425568393868465755489037920033491668547859499562417190609006354311008265417635124992048066887706298584842096051076518782739156067299660917182023950094796178592054432895489457923386366210101776476687798804782704516770701953881500898946833016950148656163721358899277529573221618205121782178480148163863467376975210110627612712393315051356865689808683216376504747934513425565989413371069082915628901181084754531848599917505844986115946223011560792368486855172678863119783613216596806180824291968242398175164070333004984213282391673819709334952221285436188461750934720111030082279467489474525847203244492716289709090001960174235287119613629152829491456174431370768011763198160202324567432141419633422875655624036932332439944509403957992513704742862986076385408262987618992675201929762058591805186634603715510549815318107305448734756317769041846046719386236617214639924299453595597727086511445414672657574496757293914557990558416260852858344415007898149467294313089246101423029836041034586340473154176424159598235035462856373360423618529037991254509577926011047544113093661262832148342286214840497617408837893007547445380894679900970004533978056452831303503626281241638886064799145433772764468987553018410097500346624308146502266046822261290095454910047773144337192005251579069822054118615164650646681548425956108229530906609247298289172077957804905363638970856934758761466612609226323775193806163734112792827351078981525948700842138095215971883090423238632825324376356484673683363557846475438219490762884660663651105182618187080437107882010894483513589562607442945229236387788295893650158016465632470461420380133991253504926181233034473907216758421604724885306525287652644884765310390207683790804495877613589822330787787100817677776870460759520647102871289910004039795119314553110044706429314139655929512762892816151021239705174064660371604954669712713436006803292131400590999643561270885846727082789585995113126700331555914269980107687487141692006978206286139350502843003 7022804365674731754789784390684663704337918090844784066223249367130302628830982917171378229008858596073167103169928292175131124826417793237661493089361672250480361034122560541610046163658823137565596283152668763902912828123570590342855204028201842508297389143936381045824062914312119030139265797740547416073640069474855086033752495143625109395464701848869666191503323370339866973724288576030953035780537850489471497927610468336337817465020655179708068092131911933828432199889436943061820050229152232538364578758295292530990034914054131041539083662498054440387151433263589590842926588790681290162488498946451423231466355255795159317804786728933576849937424506070599366163818980615102688018605278060056303699326789257201885045937372790146122674993562216007796193681106440694390700837445816331433071819327257760779738492062629395304823283324143521548993098872390149529674816074495995506394778957462326036724041646561654327091093161282354667808292616288913847377696767343978814351780232309325566640917589423450830126380347057764049043472251645065366278843427732738053645282558392903518780295882923224399821154770920107955219771740698176661965192857749714834593955689332440919707121706642435003861751190498369456065047834722415965867840477013525820820439035272321114048477603573289001851873240325244427036455199965900536366848230990099408978183947694093681647917409226284172757104099865774038471500900586814263216873554464217070428060008018255048301718996687786309621834493689319138561150746974495710896254264038044550817705448559576988775671929706399489725797757440431342278302763873117275849261723451116116400990351020286142090808849891753668466027124830273808419168901642386204283524060417722793584521486689423952483696971714983158463051091879142207097073950060938536792681806784038663335041424603516926883211193258836855497153842102315163994445019123458081491102436483725027765621256002689326165409681688755881516279392544879826258545360260851468931518860005711164783342700227409563526308405974633960567403097400360009026330708377291082539667439904898325533497705407106810721444903082896323139591271480405459668768767749154577630540326683758208513859265025667944964277338799221525299826516750117600646885091859778294755365116009298320799983097496880962164173810458734528142062706261192511627187015222535394265852990960293979523616092649259071284352815377417206381348692335921697230241526141332917742637438659931392680481277059653403112804399722713950557198226148292327041965904565723451494310446056434235744679727372520909205630428290109860753282785980104281529255357086693344885633189950208099274102448554761080978369267377140575154824339706981621422478800590689073805076402089032711165227851578880258008974310258533232942661259880181171943150536587497375815184154367421879734539918830482514684720924203800959503857613332921283992070360122749377414508280722903753431480842022826125684043003912956775417203097270235538445808390543661377980335696751762512238355769770661583340320421803637120599674766564181477465110787829100640946819050610158870860807879 11363136160002861345800915639561091714468968142552265971352953827461162069755569701801518751363941371631846341936441920850159678350315084705150403085411026790294920346543093865302890708609722940170443333924683155522806278807845572821225695864557381983876647593793244313302705294691431601172484482004106261757928169858348519953333169302134600125691704426583134502343791585069311526349849741768377044174465150319096511821067879165566185910710511063576609720561611250665309251674423427065310900488301048518353771211967743483352588852072962821710771684969567780269479826807642901884347868405945895981280597982757966691547836552015585284762889125422373464149565396279800193672275620405463607925128104981529193298485385565034362033620321562276695361837424111073239632324766024600526042781998361382051692724161878231856526618756135416612873991157260419959256605809016331554877699240623340163057499609331783570610891059765419321965275817093545459333726572737489918952557068192466355046039996185177807342315924465080560138692751349557198153942188566598290126071391414168743011914920740214522390721451317092865576643808840141446888319600197739079155801864104025842859373324457432967774009412941019845957802267017152195221115134383333147891790571809704412874871930761779037434843813675065478539672045107948943807157153847401435313681247940248065141905306593371211221139027431405954935584248029637505848476110697441875929266869515573936117868691234631553049653510113352299035205562772234767462331831729027559496171769883030666763928460120369357262527102385262609509410974037237523102594732115515451013332056456100329683382024839995477043030135327942130216961844941303890698636391116912051486768553134012502674523446863659239603310600867812649919225523249910218860272110263263104224823226417461538990665461535849366827720597216829369201896705088391549402708006742450756693032198542316832952255859718199875980727788994204616272597161586725872977931596878066108855818313601308891869854145642082221100805163268548518557961513661212867370745716275440549833980529150999748563333746441693151194599079507055921374626734336778820092387296787145832140118252694805752626952926288500093306563553639719142708664409757665046027779771760748299289343172462129624303609378738519848228972955892507292611050259279602609127533639530681896531899813221584074978526140422403408476358066956487028435467307500572343911789952097441147273544047907229681852559234864558766751775256657472712023810835374616102235772068299836244321661525037960184445521865467736881088720851528742686077659142464777964892813203562131564376396074610871750379285066741841518086251278271624088744386947149926850658866588886582723963092867721503172585607985570133762935155543293007140159419681484906057249675824240142260580494544575105670539035796444072337015508711304618637280728074092441931094941650032753417209627595276013798137910156162482055196805896729107796656908271334895910050763060256374813987138988883163103237999331041547430067403211389632233726375098120095747445218475316242332953797256896298221363650882 18385940525677593100590700030245755418806886233397050037576203194591464698586552618972896980372799967705013445106370213025290803176732877942811896174772699040775281380665654406912936872268546077736039617077351919425719106931416163164080899892759224492174036737729625359126768209003550631311750279744653677831568239333203605987085664445759709521156406275452800693847114955409178500074138317799330079955003000808568009748678347501904003375731166243284677812693523184493741451563860370127130950717453281056718349970263036014342623766127093863249855347467622220656631260071232492727274457196627186143769096929209389923014191807810744602567675854355950314086989902350399559836094601020566295943733383041585496997812174822236247079557694352422818036830986327081035826005872465294916743619444177713484764543489135992636265110818764811917697274481403941508249704681406481084552515315119335669452278566794109607334932706327073649056368978375900127142019189026403766330253835536445169397820228494503373983233513888531390265073098407321247197414440211663656404914819146906796657197479133118041171017334240317265397798579760249402108091340895915741120994721853740677453329013789873887481131119583454849819553457515521651286162969105749113759631048823230233695310966034100151483321417248354480391545285433193370843612353813301971680529478930347474120089254287464892869056436657690127692688347895411544319977011284256139146140423979791006545928699252886601351372506801138608657040056461553906023482578703523270392426033921075217581633908679946346038199032091662099235208731477668865380897495988632726862593779907216446084372375860281619133838985219695798682988969771577699117805292759298255770292613551735296259044933553083192087007572582795808382276615129052425957346060324201641017505033201500202325706886139366293710931790475666224699050547190706713397153025865908838184134635026041860717877115720889202146137470682960497788876554131605699236476957138917577787337173607020056653196845869491784627113569243182479125364611061572876397076424652731632373647969055898074096831451848799961916043982589952244514218005817184279761156064536300409770658579378563961140812191314168038270840892438940668008490926507782646674664863620526594044708288471427945103592476235400810393146766351241820753112965540795120754720654753217290797752804181878054502142233071662479760710882333904234816815999836494041142031478238774065016181486567161074533040511924212169864579656380186662581009061522908429277737972865559695815971971094394420190201592840257790294351279818852546830941928444882246422068560648824909262029264561079849653387515296602599064620545648764663899211286856908472081345389477271797768169269810535883750835837149014020944129853551540373102080941365087229192826360827639636395678698942527550273575715274554851700229635508419596784585687425363215087012010155502794624135875998917551569390998185308180880848900642064572074111368605131448496571450800036191967474685634925615476355100812209013407723633193269354326049864684277224910329263145342973900616307506457092224458761 29749076685680454446391615669806847133275854375949316008929157022052626768342122320774415731736741339336859787042812133875450481527047962647962299260183725831070201727208748272215827580878269017906482951002035074948525385739261735985306595757316606476050684331522869672429473503694982232484234761748759939589496409191552125940418833747894309646848110702035935196190906540478490026423988059567707124129468151127664521569746226667470189286441677306861287533255134435159050703238283797192441851205754329575072121182230779497695212618200056684960627032437190000926111086878875394611622325602573082125049694911967356614562028359826329887330564979778323778236555298630199753508370221426029903868861488023114690296297560387270609113178015914699513398668410438154275458330638489895442786401442539095536457267651014224492791729574900228530571265638664361467506310490422812639430214555742675832509778176125893177945823766092492971021644795469445586475745761763893685282810903728911524443860224679681181325549438353611950403765849756878445351356628778261946530986210561075539669112399873332563561738785557410130974442388600390848996410941093654820276796585957766520312702338247306855255140532524474695777355724532673846507278103489082261651421620632934646570182896795879188918165230923419958931217330541142314650769507660703406994210726870595539261994560880836104090195464089096082628272595925049050168453121981698015075407293495364942663797390487518154401026016914490907692245619233788673485814410432550829888597803804105884345562368800315703300726134476924708744619705514906388483492228104148177875925836363316775767754400700277096176869120547637928899950814712881589816441683876210307257061166685747798933568380416742431690318173450608458301502138378962644817618170587464745242328259618961741316372347675215660538652387692495593900947252279098262799861032608359594877166833568358693670132975439089078126865259677165114061473715718331572214408554016983686643155487208328948523050991511574005727918732511730997683326124722785743767822140928172182207628498206897822660165198290493113110643062097008165888844740153963099853543361323446241910776832073369713767765117602668131577404446078659810717155336265447692702444635381274893334051460933557569407201854973920658622119722243749113364163224820397729882254294283899187329652617403462129480668373494065888237068949290391263252283307337066385053821430336215212289725534474390756385599746788770936616354913037659374604819896897524531513510041165395940137633496132354604635723458307994671383072131347595232908601070909660211314881764210956473638425339171951600032672582038444117150871823920388752643598234006835322740211978363854521731262137532039056336443822719147783879285396844547513261500622849993286442502185067781896976173243517633220812611511718627188715738346813038234065313761517805146181953660188256211833763471274931349707301154347790236077654797371172368731019639940027358547334511056411005954613674518088718714354431853756443475126844582901588052424962804372972355547738461585306854413564402755313588109643 48135017211358047546982315700052602552082740609346366046505360216644091466928674939747312712109541307041873232149182346900741284703780840590774195434956424871845483107874402679128764453146815095642522568079386994374244492670677899149387495650075830968224721069252495031556241712698532863795985041493413617421064648524755731927504498193654019168004516977488735890038021495887668526498126377367037204084471151936232531318424574169374192662172843550145965345948657619652792154802144167319572801923207610631790471152493815512037836384327150548210482379904812221582742346950107887338896782799200268268818791841176746537576220167637074489898240834134274092323545200980599313344464822446596199812594871064700187294109735209506856192735710267122331435499396765235311284336510955190359530020886716809021221811140150217129056840393665040448268540120068302975756015171829293723982729870862011501962056742920002785280756472419566620078013773845345713617764950790297451613064739265356693841680453174184555308782952242143340668838948164199692548771068989925602935901029707982336326309879006450604732756119797727396372240968360640251104502281989570561397791307811507197766031352037180742736271652107929545596909182048195497793441072594831375411052669456164880265493862829979340401486648171774439322762615974335685494381861474005378674740205800943013382083815168300996959251900746786210320960943820460594488430133265954154221547717475155949209726089740404755752398523715629516349285675695342579509296989136074100281023837725181101927196277480262049338925166568586807979828436992575253864389724092780904738519616270533221852126776560558715310708105767333727582939784484459288934246976635508563027353780237483095192613313969825623777325746033404266683778753508015070774964230911666386259833292820461943642079233814581954249584178168161818599997799469804976197014058474268433061301468594400554388010091159978280273002730360125611850350269849937271450885511155901264430492660815349005176247837381065790355032301754913476808690735784358620164898565580903814581276467262795896756996650139293075026687044686960410403062745971147379614699425859746651681435411451933674908577308916836169848245338517600478725646262773230339377109499001801487378759749404985514510794331209321469015266488594990934117276190361192850636974949037116478127405421585340183982810606565728367997779831624295498069099307173560426195852908574989277305907021041551830918640258712983106480934569417846037185828958420432960791248014030955635953605467226749024825925051148252461677423411166447779739542999354542457736950324859781382900454603733031449686060097335046716215492369569153416542809520863743794821557367841126319499431407342574940087279659868161804823415250396087886363581564215080515635328545895421533371851942460160771086187226993182040415967982321457830849899448943168361268965670343759006457899347273848901276692152533098416958503698013236940805131008545158807043905961856447197922088360153014334190709532665965456882850477776170942378474827488650197265877001606928280755029871909212405812568404 77884093897038501993373931369859449685358594985295682055434517238696718235270797260521728443846282646378733019191994480776191766230828803238736494695140150702915684835083150951344592034025084113549005519081422069322769878409939635134694091407392437444275405400775364703985715216393515096280219803242173557010561057716307857867923331941548328814852627679524671086228928036366158552922114436934744328213939303063897052888170800836844381948614520857007252879203792054811842858040427964512014653128961940206862592334724595009733049002527207233171109412342002222508853433828983281950519108401773350393868486753144103152138248527463404377228805813912597870560100499610799066852835043872626103681456359087814877590407295596777465305913726181821844834167807203389586742667149445085802316422329255904557679078791164441621848569968565268978839805758732664443262325662252106363412944426604687334471834919045895963226580238512059591099658569314791300093510712554191136895875642994268218285540677853865736634332390595755291072604797921078137900127697768187549466887240269057875995422278879783168294494905355137527346683356961031100100913223083225381674587893769273718078733690284487597991412184632404241374264906580869344300719176083913637062474290089099526835676759625858529319651879095194398253979946515478000145151369134708785668950932671538552644078376049137101049447364835882292949233539745509644656883255247652169296955010970520891873523480227922910153424540630120424041531294929131252995111399568624930169621641529286986272758646280577752639651301045511516724448142507481642347881952196929082614445452633849997619881177260835811487577226314971656482890599197340878750688660511718870284414946923230894126181694386568055467643919484012724985280891886977715592582401499131131502161552439423684958451581489797614788236565860657412500945051748903238996875091082628027938468302162759248058143066599067358399867990037290725911823985568268843665294065172884951073648148023677953699298828892639796082951034266644474492016860507144363932720706509075996788904965469693719417161848429786188137330106783968576291907486125110479468242787183192893592212243525303388676342426519504301425649784596260289442801599038678032079554134383076380712811210338543083917996186183242127637386210838740047481439415181590580519229243321015665457058038988802313463478980059794256234848780914686761321382614510626811249674338911204489595632555515942587304240005501754043097289482455505411790648855317957492304758055196351576091238963359103629461648509456247133060495542514043012648144070264202669051832089070737856538879942904983049718732679373490833366364193489542169186407754870579117561769346204980841230693544874613996423723482587309588702700647240635399625082187065073802077830730963203430348025185977793991898798738711809229131706329134496064915213210460973507450919330532015218291662818548780250983993306880888653036158495384409309536150648485186165591240472912858203876702034671103052905063964519721900357977322359072530430899790293023169621424740068513587609443436311967719400678047 126019111108396549540356247069912052237441335594642048101939877455340809702199472200269041155955823953420606251341176827676933050934609643829510690130096575574761167942957553630473356487171899209191528087160809063697014371080617534284081587057468268412500126470027859735541956929092047960076204844735587174431625706241063589795427830135202347982857144657013406976266949532253827079420240814301781532298410455000129584206595375006218574610787364407153218225152449674464635012842572131831587455052169550838653063487218410521770885386854357781381591792246814444091595780779091169289415891200973618662687278594320849689714468695100478867127046648046871962883645700591398380197299866319222303494051230152515064884517030806284321498649436448944176269667203968624898027003660400276161846443215972713578900889931314658750905410362230309427108345878800967419018340834081400087395674297466698836433891661965898748507336710931626211177672343160137013711275663344488588508940382259624912127221131028050291943115342837898631741443746085277830448898766758113152402788269977040212321732157886233773027251025152864923718924325321671351205415505072795943072379201580780915844765042321668340727683836740333786971174088629064842094160248678745012473526959545264407101170622455837869721138527266968837576742562489813685639533230608714164343691138472481566026162191217438098008699265582668503270194483565970239145313388513606323518502728445676841083249569968327665905823064345749940390816970624473832504408388704699030450645479254468088199954923760839801978576467614098324704276579500056896212271676289709987352965068904383219472007953821394526798285332082305384065830383681800167684935637147227433311768727160713989318795008356393679244969665517416991669059645394992786367546632410797517761994845259885628600530815304379569037820744028819231100942851218708215193889149556896460999769770757159802446153157759045638672870720397416337762174255418206115116179576328786215504140808839026958875546666273705586437983336021557951300707596291502984097619272089979811370181432732489616174158498569079263164017151470928986694970232096257859082942213042939545273647654977237063584919735436340471273895123113860768168447861811908371456663633384877868091570959743528598428790517392563596652652699433730981598715605542783431156204192358132143584463460574142497446289586625522624232628612538982259390481921684187237445527247486193766901539576557494418222880264214737149578224051873351448976477813738390453096006069227307212044844430585852654287573560604499594737918953680490792387687069618745126788782413930519239439334546638014499404792776708537549581856563058695585729217275734322912383326714046107160730124952217188936511003142455471393526115897636723285988663751280154317713159276858624963719877128437954762984985965704991269547674311455953895765112659404141868719885000875774224749562165822629152260685459413987069994662193397646250341281657030344972635146434769305401798790394824117387095773497185687357240827800135243472809374617781673366887301741675441868364473308221180125213246451 203903205005435051533730178439771501922799930579937730157374394694037527937470269460790769599802106599799339270533171308453124817165438447068247184825236726277676852778040704581817948521196983322740533606242231133019784249490557169418775678464860705856775531870803224439527672145485563056356424647977760731442186763957371447663351162076750676797709772336538078062495877568619985632342355251236525860512349758064026637094766175843062956559401885264160471104356241729276477870883000096343602108181131491045515655821943005531503934389381565014552701204588816666600449214608074451239934999602746969056555765347464952841852717222563883244355852461959469833443746200202197447050134910191848407175507589240329942474924326403061786804563162630766021103835011172014484769670809845361964162865545228618136579968722479100372753980330795578405948151637533631862280666496333506450808618724071386170905726581011794711733916949443685802277330912474928313804786375898679725404816025253893130412761808881916028577447733433653922814048544006355968349026464526300701869675510246098088317154436766016941321745930508002451065607682282702451306328728156021324746967095350054633923498732606155938719096021372738028345438995209934186394879424762658649536001249634363933936847382081696399040790406362163235830722509005291685784684599743422950012642071144020118670240567266575199058146630418550796219428023311479883802196643761258492815457739416197732956773050196250576059247604975870364432348265553605085499519788273323960620267120783755074472713570041417554618227768659609841428724722007538538560153628486639069967410521538233217091889131082230338285862558397277040548720982879141046435624297658946303596183674083944883444976702742961734712613585001429716654340537281970501960129033909928649264156397699309313558982396794177183826057309889476643601887902967611454190764240639524488938238072919919050504296224358112997072738710434707063673998240986474958781473641501671166577788956862704912574845495166345382520934370288202425792724456798647348030339978599055808159086398202183335591320346998865451301347258254897562986877718221368338551185000226132438865859898502540452261262161955844772699544907710121057611249460850586403536217767767954248804382170082071682346786703575805724290038910272471029080155020724374011675433435679147809041521499562944810909768566685316880467477393453669020711864536194814048695201586397398256497172132073437005527120269716491192675513534328856860767126669056347945400764124423658788136083393944956283749222070060746727798414496194533805035831139882947795840614503001257095978214489542997549123525456082028382948220756548237754915625030604902029945096060251088001960818497091802932934726625042780982228816544877358685613745938345228119790990007821828394067902314415748754883784704416800498679380640590449960680325869865115376170804331407789443041224984371409403244678766294875723030820688782055559877432305515531138226386907682163605675492429495220440000837461705409257598805122494316003240274408074696536508726481743955455973916744533147844613924498 329922316113831601074086425509683554160241266174579778259314272149378337639669741661059810755757930553219945521874348136130057868100048090897757874955333301852438020720998258212291305008368882531932061693403040196716798620571174703702857265522328974269275658340831084175069629074577611016432629492713347905873812470198435037458778992211953024780566916993551485038762827100873812711762596065538307392810760213064156221301361550849281531170189249671313689329508691403741112883725572228175189563233301041884168719309161416053274819776235922795934292996835631110692044995387165620529350890803720587719243043941785802531567185917664362111482899110006341796327391900793595827247434776511070710669558819392845007359441357209346108303212599079710197373502215140639382796674470245638126009308761201331715480858653793759123659390693025887833056497516334599281299007330414906538204293021538085007339618242977693460241253660375312013455003255635065327516062039243168313913756407513518042539982939909966320520563076271552554555492290091633798797925231284413854272463780223138300638886594652250714348996955660867374784532007604373802511744233228817267819346296930835549768263774927824279446779858113071815316613083838999028489039673441403662009528209179628341038018004537534268761928933629132073407465071495105371424217830352137114356333209616501684696402758484013297066845896001219299489622506877450122947510032274864816333960467861874574040022620164578241965070669321620304823165236178078918003928176978022991070912600038223162672668493802257356596804236273708166133001301507595434772425304776349057320375590442616436563897084903624865084147890479582424614551366560941214120559934806173736907952401244658872763771711099355413957583250518846708323400182676963288327675666320726167026151242959194942159513212098556752863878053918295874702830754186319669384653390196420949938007843677078852950449382117158635745609430832123401436172496404681073897653217830457382081929765701731871450392161440050968958917706309760377093432053090150332127959250689035619529267830934672951765478845567944714465364409725826549681847950317626197634127213269071984139507553479777515846181897392185243973440030823981825779697322662494774992881401152832116895953129825600280775577220968369320942691609706202010678870626267157442831637628037279952625984960137087308356058153310839504700106005992651280102346457879001286140728833883592023398711708630931423750000533931228342253737586202208309743604482794738398496770193650966000180927824530808938036795630665246322536333449875024597423518209501692922629396916931776335417549036181012048528318232790565932530077319606933340644842306339224942328422774297195162690943449308991869445729767498252375754932442514081971602409689625382437504149284680453357787779442853703517868770670121791768227054952046403856445438529269257244890689332283563667790787150194038555505364225708862793025482882179701810218713962545876110861533342451469007474282824319337827096610958891096614839632922629559476049649025856369903396028223419397324338390052754327969827170949 533825521119266652607816603949455056083041196754517508416688666843415865577140011121850580355560037153019284792407519444583182685265486537966005059780570028130114873499038962794109253529565865854672595299645271329736582870061731873121632943987189680126051190211634308614597301220063174072789054140691108637315999234155806485122130154288703701578276689330089563101258704669493798344104951316774833253323109971128182858396127726692344487729591134935474160433864933133017590754608572324518791671414432532929684375131104421584778754165617487810486994201424447777292494209995240071769285890406467556775798809289250755373419903140228245355838751571965811629771138100995793274297569686702919117845066408633174949834365683612407895107775761710476218477337226312653867566345280091000090172174306429949852060827376272859496413371023821466239004649153868231143579673826748412989012911745609471178245344823989488171975170609818997815732334168109993641320848415141848039318572432767411172952744748791882349098010809705206477369540834097989767146951695810714556142139290469236388956041031418267655670742886168869825850139689887076253818072961384838592566313392280890183691762507533980218165875879485809843662052079048933214883919098204062311545529458813992274974865386619230667802719339991295309238187580500397057208902430095560064368975280760521803366643325750588496124992526419770095709050530188930006749706676036123309149418207278072306996795670360828818024318274297490669255513501731684003503447965251346951691179720821978237145382063843674911215032004933318007561726023515133973332578933262988127287786111980849653655786215985855203370010448876859465163272349440082260556184232465120040504136075328603756208748413842317148670196835520276424977740719958933790287804700230654816290307640658504255718495608892733936689935363807772518304718657153931123575417630835945438876245916596997903454745606475271632818348141266830465110170737391156032679126859332128548659718722564436784025237656606396351479852076597962802886156509888797680158299229288091427688354229136856287356799192566810165766711667980724112668725668538994536185312213495204423005367451982317968107444059348030016672984938534102883390946783513081178529099168920786365700335299907671963122363924544175045232730519978673039759025646991531454507071063716427761667506459700032119265826719996156385167583399446320300814210994073815334835930420280990279895883840704368429277120803647719534929251120531065170510731151851086343897534318074624788317011218475765221786017700725993050334747946069558402459349349384640718470011419933033431395763525724009597651843688872594315478298076155171095560467336944126972273518834548283164651761946400794802380456392541033357983748987391440657216155627970610557295139292502281751855681757269452272752555374538592266906435592636853817125764399134372621061493663691353110832012134565447958750042992003738516056303570961757370096146268061407249087920250133632613149775253814558267097448420596505872438438045123875479289923433931066439904754705163352780312306797287475814441095447 863747837233098253681903029459138610243282462929097286676002938992794203216809752782910391111317967706239230314281867580713240553365534628863762934735903329982552894220037221006400558537934748386604656993048311526453381490632906576824490209509518654395326848552465392789666930294640785089221683633404456543189811704354241522580909146500656726358843606323641048140021531770367611055867547382313140646133870184192339079697489277541626018899780384606787849763373624536758703638334144552693981234647733574813853094440265837638053573941853410606421287198260078887984539205382405692298636781210188144495041853231036557904987089057892607467321650681972153426098530001789389101545004463213989828514625228026019957193807040821754003410988360790186415850839441453293250363019750336638216181483067631281567541686030066618620072761716847354072061146670202830424878681157163319527217204767147556185584963066967181632216424270194309829187337423745058968836910454385016353232328840280929215492727688701848669618573885976759031925033124189623565944876927095128410414603070692374689594927626070518370019739841829737200634671697491450056329817194613655860385659689211725733460026282461804497612655737598881658978665162887932243372958771645465973555057667993620616012883391156764936564648273620427382645652651995502428633120260447697178725308490377023488063046084234601793191838422420989395198673037066380129697216708310988125483378675139946881036818290525407059989388943619110974078678737909762921507376142229369942762092320860201399818050557645932267811836241207026173694727325022729408105004238039337184608161702423466090219683300889480068454158339356441889777823716001023474676744167271293777412088476573262628972520124941672562627780086039123133301140902635897078615480366551380983316458883617699197878008820991290689553813417726068393007549411340250792960071021032366388814253760274076756405194988592430268563957572098953866546343233795837106576780077162585930741648488266168655475629818046447320438769782907723179979588562978948012286258479977127047217622060071529239122278038134754880232076077706550662350573618856620733819439426764276407144875005462095483953625956740215260646424969358084709170644106175575953521980570073618482596288429733272243897941145512544366175422129684875050437896273258688897338708691753707714293491419837119427621884873306995889867689405438971580916557451952816620976659254164582303294595549335299853027121337578947877182988706733273480254335634645824742394304511725590788497939043006574159822813331391239372871081395944582999882867558886333641099408336864809766813312561905021646180161921663160248008375395762104436205309643283351914601941608845478327342705395709786671826186160039285733738681429905522628818565317595992994799288577182735109643461200123155790621326044660384035133490544683257673571202928403629865952182995974916778622799284759486514255407217712601309081786453141459180314860230607283359949453592585101620624058078133896094194059379487602487278070967753434955339572459787436343300782928582750104650696850041803784268266396 1397573358352364906289719633408593666326323659683614795092691605836210068793949763904760971466878004859258515106689387025296423238631021166829767994516473358112667767719076183800509812067500614241277252292693582856189964360694638449946123153496708334521378038764099701404264231514703959162010737774095565180505810938510048007703039300789360427937120295653730611241280236439861409399972498699087973899456980155320521938093617004233970506629371519542262010197238557669776294392942716877212772906062166107743537469571370259222832328107470898416908281399684526665277033415377645764067922671616655701270840662520287313278406992198120852823160402253937965055869668102785182375842574149916908946359691636659194907028172724434161898518764122500662634328176667765947117929365030427638306353657374061231419602513406339478116486132740668820311065795824071061568458354983911732516230116512757027363830307890956669804191594880013307644919671591855052610157758869526864392550901273048340388445472437493731018716584695681965509294573958287613333091828622905842966556742361161611078550968657488786025690482727998607026484811387378526310147890155998494452951973081492615917151788789995784715778531617084691502640717241936865458256877869849528285100587126807612890987748777775995604367367613611722691883840232495899485842022690543257243094283771137545291429689409985190289316830948840759490907723567255310136446923384347111434632796882418019188033613960886235878013707217916601643334192239641446925010824107480716894453272041682179636963432621489607179026868246140344181256453348537863381437583171302325311895947814404315743875469516875335271824168788233301354941096065441105735232928399736413817916224551901866385181268538783989711297976921559399558278881622594830868903285066782035799606766524276203453596504429884024626243748781533840911312268068494181916535488651868311827690499676871074659859940595067701901382305713365784331656513971186993139255906936494714479401367210830605439500867474652843671918621859505685982865745072867745692444557709265218474905976289208385526479077230701565045998787745687274775019299287395615270004751640259480830150242457444413452061070016088245277319409907892187592561590889688657132051079738994404848296623729640944207020305070056719411408152649663548090196921920250220351845779755470135475960997879537151546887711593303152275035272804885291881730768446026631955812589674445572583190479390039668282304242141226667412112239827264338650765066786496911086291838829800215576814950261482339381608831032117232423205829342014141402342216908270974359569419756797843198209076087629031243832005610535754563486673471917275531765776980227478886875460443393761491994467342110581474206642552580319091722430417296963286034720945566603552094427869685016861499142957392608063373881419198976302039926137320111490696967327538002487013676659666269889454811419324934473005450209716339825138090024103216550411006498668690609037373842718734233773833331948454361291507800084108359716509012877310434629495893718502783205537633746102884963003647329279598709361843 2261321195585463159971622662867732276569606122612712081768694544829004272010759516687671362578195972565497745420971254606009663791996555795693530929252376688095220661939113404806910370605435362627881909285741894382643345851327545026770613363006226988916704887316565094193931161809344744251232421407500021723695622642864289530283948447290017154295963901977371659381301768210229020455840046081401114545590850339512861017791106281775596525529151904149049859960612182206534998031276861429906754140709899682557390564011636096860885902049324309023329568597944605553261572620760051456366559452826843845765882515751323871183394081256013460290482052935910118481968198104574571477387578613130898774874316864685214864221979765255915901929752483290849050179016109219240368292384780764276522535140441692512987144199436406096736558894457516174383126942494273891993337036141075052043447321279904583549415270957923851436408019150207617474107009015600111578994669323911880745783230113329269603938200126195579688335158581658724541219607082477236899036705550000971376971345431853985768145896283559304395710222569828344227119483084869976366477707350612150313337632770704341650611815072457589213391187354683573161619382404824797701629836641494994258655644794801233507000632168932760540932015887232150074529492884491401914475142950990954421819592261514568779492735494219792082508669371261748886106396604321690266144140092658099560116175557557966069070432251411642938003096161535712617412870977551209846518200249710086837215364362542381036781483179135539446838704487347370354951180673560592789542587409341662496504109516827781834095152817764815340278327127589743244718919781442129209909672567007707595328313028475129014153788663725662273925757007598522691580022525230727947518765433333416782923225407893902651474513250875315315797562199259909304319817479834432709495559672900678216504753437145151416265135583660132169946263285464738198202857204982830245832687013657300410143015699096774094976497292699290992357391642413409162845333635846693704730816189242345522123598349279914765601355268836319926230863823393825437369872906252236003824191067023757237295117462906508936014695972828460537965834877250272301732234995864233085573060309068023330892912159374216450918246215569263777583574779348423140634818193508909249184488447223843190254489299374270974509596466610148164902962210324263462647325897979448576789248928610154886485074939374968135331363478805615289295228533997612131019402421142735828686143341525806365312889304488913541431644363508471796076910737958724402225084467157308000668828093662652965022388649534052890012167532198914811495048867679379967971086623510830801477402052239239819337172737820368146032828712619604825461111847202485914853286263162596546893716446867751971142604157515763853995207463859360337173416682003369164268170255941632352965859655641186668077610704084420987260857427428941134219876477244675730725866729275973968986827435303835854397891410082350455485567179571710846994579980630745389969068353505939126506320562328852989613700497371083382977628239 3658894553937828066261342296276325942895929782296326876861386150665214340804709280592432334045073977424756260527660641631306087030627576962523298923768850046207888429658189588607420182672935976869159161578435477238833310212022183476716736516502935323438082926080664795598195393324048703413243159181595586904201433581374337537986987748079377582233084197631102270622582004650090429855812544780489088445047830494833382955884723286009567032158523423691311870157850739876311292424219578307119527046772065790300928033583006356083718230156795207440237849997629132218538606036137697220434482124443499547036723178271611184461801073454134313113642455189848083537837866207359753853230152763047807721234008501344409771250152489690077800448516605791511684507192776985187486221749811191914828888797815753744406746712842745574853045027198184994694192738318344953561795391124986784559677437792661610913245578848880521240599614030220925119026680607455164189152428193438745138334131386377609992383672563689310707051743277340690050514181040764850232128534172906814343528087793015596846696864941048090421400705297826951253604294472248502676625597506610644766289605852196957567763603862453373929169718971768264664260099646761663159886714511344522543756231921608846397988380946708756145299383500843872766413333116987301400317165641534211664913876032652114070922424904204982371825500320102508377014120171577000402591063477005210994748972439975985257104046212297878816016803379452314260747063217192656771529024357190803731668636404224560673744915800625146625865572733487714536207634022098456170980170580643987808400057331232097577970622334640150612102495915823044599660015846883234945142600966744121413244537580376995399335057202509651985223733929157922249858904147825558816422050500115452582529991932170106105071017680759339942041310980793750215632085548328614626031048324768990044195253114016226076125076178727834071328568998830522529859371176169823385088593950152014889544382909927379534477364767352134664276013501919095145711078708714439397175373898507563997029574638488300292080432499537884972229651569081100212389172193647851273828942707283238067445359920350922388075765988916705815285244785142459894293825885552890217624140048062428179189535889015160657938551285625983188991727429011971230831740113759129601030268202693978666215487178911422521397308059913300439938235015209555344378094344006080532601838603055727469675554329414636417635605620032282701407468361261950781784469207639646914977982171326021942127839565971252923040475395625704219282740079972865804567301375428282360238247850460496163231464737163084133844173142734669374981722339596655499736863603738309688352862495633001311331640079930949620239471265199923917183542264499449200888007208729200098988144316552768832641747114908371917369088883058336639213342819323480654965137583479634839979536315307456557532422123409355460266307637145280959357966501347892281136873227944664578024201278022570088171724742030804816777074979655819206711088993508055824598564247224441909711858196074955874576704144700362981686990082 5920215749523291226232964959144058219465535904909038958630080695494218612815468797280103696623269949990254005948631896237315750822624132758216829853021226734303109091597302993414330553278371339497041070864177371621476656063349728503487349879509162312354787813397229889792126555133393447664475580589095608627897056224238627068270936195369394736529048099608473930003883772860319450311652590861890202990638680834346243973675829567785163557687675327840361730118462922082846290455496439737026281187481965472858318597594642452944604132206119516463567418595573737771800178656897748676801041577270343392802605694022935055645195154710147773404124508125758202019806064311934325330617731376178706496108325366029624635472132254945993702378269089082360734686208886204427854514134591956191351423938257446257393890912279151671589603921655701169077319680812618845555132427266061836603124759072566194462660849806804372677007633180428542593133689623055275768147097517350625884117361499706879596321872689884890395386901858999414591733788123242087131165239722907785720499433224869582614842761224607394817110927867655295480723777557118479043103304857222795079627238622901299218375418934910963142560906326451837825879482051586460861516551152839516802411876716410079904989013115641516686231399388076022840942826001478703314792308592525166086733468294166682850415160398424774454334169691364257263120516775898690668735203569663310554865147997533951326174478463709521754019899540988026878159934194743866618047224606900890568884000766766941710526398979760686072704277220835084891158814695659048960522757989985650304904166848059879412065775152404965952380823043412787844378935628325364155052273533751829008572850608852124413488845866235314259149490936756444941438926673056286763940815933448869365453217340064008756545530931634655257838873180053659519951903028163047335526607997669668260700006551161377492390211762387966241274832284295260728062228381152653630921280963809315299687398609024153629453862060051425656633405144332504308556412344561133101906190087749909519153172987768215057681787768374204898460515392474925649759045099900087277653133774306995304740477383257431324090461961745166353251079662392732196026060881417123303197200357130451510082448048389377108856797501195246966575302208360394371466558307268038850214756649917821856469976478285693495906904526523448604841197225533818807025420241985529109391087531665882356160629268789604552966969098837897990702696895259562912803871628782382743664125512851828307440728870460166464472119759134176015359650817931590206792385842585590360907075944123149128253853386697137023856340674933584186476771207276035467707950227249140489830264547872241130668812817751317766272299977819528742644654111701935115741293471891796645881860763420520803784351272424135771364296346917696976386759501326849819233307839421267192945395970948643225610032827493776447527165064574222093577842978592568011862739957220638547011028713326405942569616152113155272262642159227530053705668974138801214567632600730381036218178758403808864190404642071446364664618321 9579110303461119292494307255420384162361465687205365835491466846159432953620178077872536030668343927415010266476292537868621837853251709720740128776790076780510997521255492582021750735951307316366200232442612848860309966275371911980204086396012097635792870739477894685390321948457442151077718739770691195532098489805612964606257923943448772318762132297239576200626465777510409880167465135642379291435686511329179626929560552853794730589846198751531673600276313661959157582879716018044145808234254031263159246631177648809028322362362914723903805268593202869990338784693035445897235523701713842939839328872294546240106996228164282086517766963315606285557643930519294079183847884139226514217342333867374034406722284744636071502826785694873872419193401663189615340735884403148106180312736073200001800637625121897246442648948853886163771512419130963799116927818391048621162802196865227805375906428655684893917607247210649467712160370230510439957299525710789371022451492886084489588705545253574201102438645136340104642247969164006937363293773895814600064027521017885179461539626165655485238511633165482246734328072029366981719728902363833439845916844475098256786139022797364337071730625298220102490139581698348124021403265664184039346168108638018926302977394062350272831530782888919895607356159118466004715109474234059377751647344326818796921337585302629756826159670011466765640134636947475691071326267046668521549614120437509936583278524676007400570036702920440341138906997411936523389576248964091694300552637170991502384271314780385832698569849954322799427366448717757505131502928570629638113304224179291976990036397487045116564483318959235832444038951475208599100194874500495950421817388189229119812823903068744966244373224865914367191297830820881845580362866433564321947983209272234114861616548612393995199880184160847409735583988576491661961557656322438658304895259665177603568515287941115800312603401283125783257921599557322477016009874913961330189231781518951533163931226827403560320909418646251599454267491053275572499081563986257473516182747626256515349762220267912089870690166961556025862148217293547938551482076481590233372185837303608353712166227950661872168536324447535192090319886766970013520821340405192879689271983937404537766795348786821230155567029637372365602298298421027168451245024852611800522685463657197116017304212586436749044779432240743374151403514585991609641992926134721609825836183598204240970602574718870180692110165256521513694588340836422029658642107684177850249568568436431419387512595154759880234642390897904456011359687218013872721145323794583645291485318123860221157700513817668253561458493546872690967444813830987450178183127043505242442000452897682267386511771243019452659828196376201384316629300680620996744870005079973289636426098387332507688733385229976033615600102320650330474198445422900902032924932286256099783142454950903131907793472701719503052935809479940460292999613185165303125035229991348976030741340894143960089039717138883349260416757967646857039166196847954822945930036954478764738767108786771809346351608403 15499326052984410518727272214564442381827001592114404794121547541653651566435646875152639727291613877405264272424924434105937588675875842478956958629811303514814106612852795575436081289229678655863241303306790220481786622338721640483691436275521259948147658552875124575182448503590835598742194320359786804159995546029851591674528860138818167055291180396848050130630349550370729330479117726504269494426325192163525870903236382421579894147533874079372035330394776584042003873335212457781172089421735996736017565228772291261972926494569034240367372687188776607762138963349933194574036565278984186332641934566317481295752191382874429859921891471441364487577449994831228404514465615515405220713450659233403659042194416999582065205205054783956233153879610549394043195250018995104297531736674330646259194528537401048918032252870509587332848832099943582644672060245657110457765926955937793999838567278462489266594614880391078010305294059853565715725446623228139996906568854385791369185027417943459091497825546995339519233981757287249024494459013618722385784526954242754762076382387390262880055622561033137542215051849586485460762832207221056234925544083097999556004514441732275300214291531624671940316019063749934584882919816817023556148579985354429006207966407177991789517762182276995918448298985119944708029901782826584543838380812620985479771752745701054531280493839702831022903255153723374381740061470616331832104479268435043887909453003139716922324056602461428368017066931606680390007623473570992584869436637937758444094797713760146518771274127175157884318525263413416554092025686560615288418208391027351856402102172639450082516864142002648620288417887103533963255247148034247779430390238798081244226312748934980280503522715802670812132736757493938132344303682367013191313436426612298123618162079544028650457719057340901069255535891604654709297084264320108326565595266216338981060905499703503766553878233567421043985983827938475130646931155877770645488919180127975686793385088887454985977542823790584103762823903397836705600987754074007383035335920614024730407444008036286294769150682354030951511907262393448025829135210255897228676926314686865785036256689912407038521787404109927924286345947648387136824018540762323331199354431985793914875652146288016477122142331845732759973764856728295207301459781502529622379155440135482809513211117112960197649620629466277192958428934827977138751384013666387492181996812866993845523569543817708078682812862151781076607392212465204412402306233197029678557009297306891585851984714913894056250002041715836046218152073060599463082052399738706794419739171510557358181556854492601837747935264754148726435152764058236590668013391591377483572669265715433585152784071220838981402472850487903319432370594152512793390751865843393810440210449659756643460097681576893730591986861821977180293431753262322169225870328257204743008752487778396908355320637766293725146513652458533028304862353142385941672046258704675381973310957046257115361302359298110879314122426941785658253733829448685203982148215712882573602957513428843255711016226724 25078436356445529811221579469984826544188467279319770629613014387813084520055824953025175757959957804820274538901216971974559426529127552199697087406601380295325104134108288157457832025180985972229441535749403069342096588614093552463895522671533357583940529292353019260572770452048277749819913060130477999692094035835464556280786784082266939374053312694087626331256815327881139210646582862146648785862011703492705497832796935275374624737380072830903708930671090246001161456214928475825317897655990027999176811859949940071001248856931948964271177955781979477752477748042968640471272088980698029272481263438612027535859187611038711946439658434756970773135093925350522483698313499654631734930792993100777693448916701744218136708031840478830105573073012212583658535985903398252403712049410403846260995166162522946164474901819363473496620344519074546443788988064048159078928729152803021805214473707118174160512222127601727478017454430084076155682746148938929367929020347271875858773732963197033292600264192131679623876229726451255961857752787514536985848554475260639941537922013555918365294134194198619788949379921615852442482561109584889674771460927573097812790653464529639637286022156922892042806158645448282708904323082481207595494748093992447932510943801240342062349292965165915814055655144238410712745011257060643921590028156947804276693090331003684288106653509714297788543389790670850072811387737663000353654093388872553824492731527815724322894093305381868709155973929018616913397199722535084279169989275108749946479069028540532351469843977129480683745891712131174059223528615131244926531512615206643833392138570126495199081347460961884452732456838578742562355442022534743729852207626987310364039136652003725246747895940668585179324034588314819977924666548800577513261419635884532238479778628156422645657599241501748478991119880181146371258641920642546984870490525881516584629420787644619566866481634850546827243905427495797607662941030791731975678150961646927219957316315714858546298452242436835703217091394451112278100069318060264856551518668240281245757206228304198384639840849315586977374055479686995964380617286737487462049112151990474138748422917863068910690323728557463116376665834415357150344839881167516210888626415923198452642447495074837707277709361483105125576063155149322375752704806355141422901840903792679925530515329699396946694400061707020567109832449413968748393376939801109102007832996465198086494172118536578259374923027408302590301980553301626442060948340881207528806577865743323005239497310068653936484644432613740502229511760278613335803197723533290439711224489634417579339257368310270091309393758301021417402597577889224040846196518634882726014669718613115852539295842463858434062301046864104703748999894833133790135621870923367100076636548047089151148831066806869764207586964142627510767630198685223071258795260543460842791894942729300040263114110468013228199449461938473488597861966327551244797081488696024358004052297940401075450342076436994228574539184909432515292900026296640026928078252667361338341724622215615065057367835127 40577762409429940329948851684549268926015468871434175423734561929466736086491471828177815485251571682225538811326141406080497015205003394678654046036412683810139210746961083732893913314410664628092682839056193289823883210952815192947586958947054617532088187845228143835755218955639113348562107380490264803852089581865316147955315644221085106429344493090935676461887164878251868541125700588650918280288336895656231368736033317696954518884913946910275744261065866830043165329550140933606489987077726024735194377088722231332974175351500983204638550642970756085514616711392901835045308654259682215605123198004929508831611378993913141806361549906198335260712543920181750888212779115170036955644243652334181352491111118743800201913236895262786338726952622761977701731235922393356701243786084734492520189694699923995082507154689873060829469176619018129088461048309705269536694656108740815805053040985580663427106837007992805488322748489937641871408192772167069364835589201657667227958760381140492384098089739127019143110211483738504986352211801133259371633081429503394703614304400946181245349756755231757331164431771202337903245393316805945909697005010671097368795167906261914937500313688547563983122177709198217293787242899298231151643328079346876938718910208418333851867055147442911732503954129358355420774913039887228465428408969568789756464843076704738819387147349417128811446644944394224454551449208279332185758572657307597712402184530955441245218149907843297077173040860625297303404823196106076864039425913046508390573866742300678870241118104304638568064416975544590613315554301691860214949721006233995689794240742765945281598211602964533073020874725682276525610689170568991509282597865785391608265449400938705527251418656471255991456771345808758110268970231167590704574856062496830362097940707700451296115318298842649548246655771785801080555726184962655311436085792097855565690326287348123333420359868417967871229889255434272738309872186669502621167070141774902906750701404602313532275995066227419806979915297848948983701057072134272239586854588854305976164650236340484679408991531669617928885962742080443990209752496993384690726038466677339923784679607775475949212111132667391040663011782063744287168858421929839542087980847908992367518099641362854184399851693328837885549828011877617583054164587857671045280996343928162735043726446812357144344020691173297760068261384241945887144760953467496594189829809332191932017741662354286338057735889560083666909372765766830854463254574078237207363587163050214591091482024982547992734646474329576548447663833339212798885250123271997234130963661144974937520814222802871929057329023055170143837750341947460631514209910226260209587338984328549437692079913684697415464773897352008023181370488985646583526373736766760910516846997706845794608928748383763494799573825964604691061061951947545240484665588800665585800647430507696948618434748234306953345963114397006516902724319469937186469127747400699739977363254986658190811644435735105107888661611851218173546633855745325230910226468380243911944682135644458320768384061851 65656198765875470141170431154534095470203936150753946053347576317279820606547296781202991243211529487045813350227358378055056441734130946878351133443014064105464314881069371890351745339591650600322124374805596359165979799566908745411482481618587975116028717137581163096327989407687391098382020440620742803544183617700780704236102428303352045803397805785023302793143980206133007751772283450797567066150348599148936866568830252972329143622294019741179453191736957076044326785765069409431807884733716052734371188948672171403975424208432932168909728598752735563267094459435870475516580743240380244877604461443541536367470566604951853752801208340955306033847637845532273371911092614824668690575036645434959045940027820488018338621268735741616444300025634974561360267221825791609104955835495138338781184860862446941246982056509236534326089521138092675532250036373753428615623385261543837610267514692698837587619059135594532966340202920021718027090938921105998732764609548929543086732493344337525676698353931258698766986441210189760948209964588647796357481635904764034645152226414502099610643890949430377120113811692818190345727954426390835584468465938244195181585821370791554574786335845470456025928336354646500002691565981779438747138076173339324871229854009658675914216348112608827546559609273596766133519924296947872387018437126516594033157933407708423107493800859131426599990034735065074527362836945942332539412666046180151536894916058771165568112243213225165786329014789643914216802022918641161143209415188155258337052935770841211221710962081434119251810308687675764672539082916823105141481233621440639523186379312892440480679559063926417525753331564261019087966131193103735239134805492772701972304586052942430773999314597139841170780805934123578088193636779968168217836275698381362600577719335856873941772917540344398027237775651966947451814368105605202296306576317979372150319747074992742900286841503268514698473794682930070345972813217461234596845221103421830126708017720317172078574447308664255510197006692300061261801126390194537096138373257094587221921856464644683064048832380985204906260018221767439954590369783730872152775150618667814062533102525638544859902434861224854157039677616479101437513698303097355752976607263832190820160547136437691891677561054811943011125891167026939958806869394212812468182837247720842660574241776511754091038420752880318327178093833655914635538137893268605696197662805797390018511913780890864597432658916968386257211353319068457296524202914959444736170165028793537596330979335051201929219290906943317050677175593617826134688447846805287673842188150779392516860071591113142020366722781356191561240347919836684672360406428861142935602008702941665290231375756148555849527074944216112726930370383818780373661995607690128010593483545753934945757759815190633259007160790107232201828692150632768311743460849344126428592542373236996988881548858702320181545412576335480005500586285797488431266209236096724097981415552927059266261986512172099336463200796760650688839533882041965257838304721047605250286406757860073385825751896978 106233961175305410471119282839083364396219405022188121477082138246746556693038768609380806728463101169271352161553499784135553456939134341557005179479426747915603525628030455623245658654002315228414807213861789648989863010519723938359069440565642592648116904982809306932083208363326504446944127821111007607396273199566096852191418072524437152232742298875958979255031145084384876292897984039448485346438685494805168235304863570669283662507207966651455197452802823906087492115315210343038297871811442077469565566037394402736949599559933915373548279241723491648781711170828772310561889397500062460482727659448471045199081945598864995559162758247153641294560181765714024260123871729994705646219280297769140398431138939231818540534505631004402783026978257736539061998457748184965806199621579872831301374555562370936329489211199109595155558697757110804620711084683458698152318041370284653415320555678279501014725896143587338454662951409959359898499131693273068097600198750587210314691253725478018060796443670385717910096652693928265934562176389781055729114717334267429348766530815448280855993647704662134451278243464020528248973347743196781494165470948915292550380989277053469512286649534018020009050514063844717296478808881077669898781404252686201809948764218077009766083403260051739279063563402955121554294837336835100852446846096085383789622776484413161926880948208548555411436679679459298981914286154221664725171238703487749249297100589726606813330393121068462863502055650269211520206846114747238007248841101201766727626802513141890091952080185738757819874725663220355285854637218514965356430954627674635212980620055658385762277770666890950598774206289943295613576820363672726748417403358558093580570035453881136301250733253611097162237577279932336198462607011135758922411131760878192962675660043557325237888235839187047575484431423752748532370094290567857607742662110077227716010073362340866233707201371686482569703683938364343084282685404130737218012291245196733033458719124919485610850442374891675317176921990149010245502183462328809335725227845948893198086506700985167743457823912654822835145980963847883944800122280724256843501189085345153986317782133414020809114545993892245197702689398542845724682556725027195295064588111741183187678646777800546076077412748140780896675719178904557541861033982070483513463833591649005395617968223324111235382441444053616087246355217897860522682898846736102290387492615129581950529655443245150935490394806528469924120726084835288150987457489037681943533752191843752187422461360033749921953937381272893599124839426957038933573697970077284907973151811924367454380885813916013949424051804411361705078098261784145303874616339087403145189347687270214727923455669833253264991848841568120750111740872804426957188369344456888921110330543460780740366688563574396753806734616071836892889754102580313552228126438144792014393189803744693937499983606936627134891375690732486522403310605267425617735336983497423837958778807913717457073630947907204444351862408611868862386167737787290488748531189427849162231088893504531706594135958829 171890159941180880612289713993617459866423341172942067530429714564026377299586065390583797971674630656317165511780858162190609898673265288435356312922440812021067840509099827513597403993593965828736931588667386008155842810086632683770551922184230567764145622120390470028411197771013895545326148261731750410940456817266877556427520500827789198036140104660982282048175125290517884044670267490246052412589034093954105101873693823641612806129501986392634650644539780982131818901080279752470105756545158130203936754986066574140925023768366847542458007840476227212048805630264642786078470140740442705360332120892012581566552512203816849311963966588108947328407819611246297632034964344819374336794316943204099444371166759719836879155774366746019227327003892711100422265679573976574911155457075011170082559416424817877576471267708346129481648218895203480152961121057212126767941426631828491025588070370978338602344955279181871421003154329981077925590070614379066830364808299516753401423747069815543737494797601644416677083093904118026882772140978428852086596353239031463993918757229950380466637538654092511571392055156838718594701302169587617078633936887159487731966810647845024087072985379488476034978850418491217299170374862857108645919480426025526681178618227735685680299751372660566825623172676551887687814761633782973239465283222601977822780709892121585034374749067679982011426714414524373509277123100163997264583904749667900786192016648497772381442636334293628649831070439913125737008869033388399150458256289357025064679738283983101313663042267172877071685034350896119958393720135338070497912188249115274736166999368550826242957329730817368124527537854204314701542951556776461987552208851330795552874621506823567075250047850750938333018383214055914286656243791103927140247407459259555563253379379414199179661153379531445602722207075719695984184462396173059904049238428056599866329820437333609133994042874954997268177478621294413430255498621591971814857512348618563160166736845236657689424889683555930827373928682449071507303309852523346431863601103043480420008363165629850807506656293640027741405999185615323899390492064455128996276339704012968048850884659052565669016980855117099354742367015021947162196255028124551048041195375573374007839193914238237967754973802952723907801610345931497500667903376283295981646670839369848056192209999835865326420862196933934414424449051553775158221036740004707986585155420926971969041569224136015532923053723496856181332079403903745447511660403997126679703917220637289783753440695084951851173228288216210649802015020574865068262145816882572581815339962703759971240957405029155969790774585767553266318446181620829976235022767948546080791356390211880018154831425981809114518923785784233477042111256623207330850364952147016931703814089214715686124448378765030012813895406179069094718446253213081863971587287488918442985732176981690926381532465638947316436788267067966527903896891064914049001546219594147935940194360840776723335617460079303780815063205372519551225701619829255746586835910475454412517495651364605092419887855807 278124121116486291083408996832700824262642746195130189007511852810772933992624833999964604700137731825588517673334357946326163355612399629992361492401867559936671366137130283136843062647596281057151738802529175657145705820606356622129621362749873160412262527103199776960494406134340399992270276082842758018336730016832974408618938573352226350268882403536941261303206270374902760337568251529694537759027719588759273337178557394310896468636709953044089848097342604888219311016395490095508403628356600207673502321023460976877874623328300762916006287082199718860830516801093415096640359538240505165843059780340483626765634457802681844871126724835262588622968001376960321892158836074814079983013597240973239842802305698951655419690279997750422010353982150447639484264137322161540717355078654884001383933971987188813905960478907455724637206916652314284773672205740670824920259468002113144440908626049257839617070851422769209875666105739940437824089202307652134927965007050103963716115000795293561798291241272030134587179746598046292817334317368209907815711070573298893342685288045398661322631186358754646022670298620859246843674649912784398572799407836074780282347799924898493599359634913506496044029364482335934595649183743934778544700884678711728491127382445812695446383154632712306104686736079507009242109598970618074091912129318687361612403486376534746961255697276228537422863394093983672491191409254385661989755143453155650035489117238224379194773029455362091513333126090182337257215715148135637157707097390558791792306540797124991405615122452911634891559760014116475244248357353853035854343142876789909949147619424209212005235100397708318723301744144147610315119771920449188735969612209888889133444656960704703376500781104362035495255960493988250485118850802239686062658539220137748525929039422971524417549389218718493178206638499472444516554556686740917511791900538133827582339893799674475367701244246641479837881162559658756514538184025722709032869803593815296193625455970156143300275332058447606144550850672598081752805493314852155767588828948992373618094869866615018550964480206294850576551980149463207844190614345179385839777528789358122035168666792466586478131526849009344552445056413564792886878811753151746343105783487314557195517840692038784043832386551093504804477329524836055042528937358353779495110504431018853451810178223159976561803303640987550501670804269451635680903935586740810276972648036056553919571224667381166468413448530025326105452805488739033598499117893034808623237669412481041971175902055118701773127165669489104248926854447531904001835843786959857489788491774628127425621843218945169919214826390178914971396544443404975280109639107035949225980704077482094746078287095815062379510772627352354227153852129427634288038734296603905852814144632675496426491136942339426766620630022250905987608200355793395416199713725633710457378921980726384863881516072575574451328163957800453050307207496332339666736883203091571773898973168754494180409248407986508225166925613984388413611869357616546235335367099903303574748584544869136799014023814636 450014281057667171695698710826318284129066087368072256537941567374799311292210899390548402671812362481905683185115216108516773254285664918427717805324308371957739206646230110650440466641190246885888670391196561665301548630692989305900173284934103728176408149223590246988905603905354295537596424344574508429277186834099851965046459074180015548305022508197923543351381395665420644382238519019940590171616753682713378439052251217952509274766211939436724498741882385870351129917475769847978509384901758337877439076009527551018799647096667610458464294922675946072879322431358057882718829678980947871203391901232496208332186970006498694183090691423371535951375820988206619524193800419633454319807914184177339287173472458671492298846054364496441237680986043158739906529816896138115628510535729895171466493388412006691482431746615801854118855135547517764926633326797882951688200894633941635466496696420236178219415806701951081296669260069921515749679272922031201758329815349620717117538747865109105535786038873674551264262840502164319700106458346638759902307423812330357336604045275349041789268725012847157594062353777697965438375952082372015651433344723234268014314610572743517686432620292994972079008214900827151894819558606791887190620365104737255172306000673548381126682906005372872930309908756058896929924360604401047331377412541289339435184196268656331995630446343908519434290108508508046000468532354549659254339048202823550821681133886722151576215665789655720163164196530095462994224584181524036308165353679915816856986279081108092719278164720084511963244794365012595202642077489191106352255331125905184685314618792760038248192430128525686847829281998351925016662723477225650723521821061219684686319278467528270451750828955112973828274343708044164771775094593343613202905946679397304089182418802385723597210542598249938780928845575192140500739019082913977415841138966190427448669714237008084501695287121596477106058641180953169944793682647314680847727315942433859353792192815392800989700221742003536971924779355047153260108803167375502199452430052035854038103233032244869358471136499934878317957979335078531743581106409634514836053868493371090084019551451519152147148507704126443907187423428586740049075066781276297391146978862887931203357034606277022011587360354046228712278939870767552543196840734637075476757175270388701508002388222995841888224165837921484916095253321005410839124972326745518263557803456983525888612793891517182001336502253522182286784884892642779046010778297031935302941586633118331754929342750203653624300393957705314898728869468106769070097989603842430071603831737331887396862800623974325889005600975946468237714990625025805256344661874984495306772060467693974764233118521796871494029696413136587704195963386050841618889099248750922784517958721890212112615585321104456779434525428429975082326646609006477280171301013122628900364654157708075790263048538214521767764952224868419578211104387397253715738429422685719709839167529595270903744865868065812005981988819356907964837570977445801981922203010378757987266080196233741891433911670443 728138402174153462779107707659019108391708833563202445545453420185572245284835733390513007371950094307494200858449574054842936609898064548420079297726175931894410572783360393787283529288786527943040409193725737322447254451299345928029794647683976888588670676326790023949400010039694695529866700427417266447613916850932826373665397647532241898573904911734864804654587666040323404719806770549635127930644473271472651776230808612263405743402921892480814346839224990758570440933871259943486913013258358545550941397032988527896674270424968373374470582004875664933709839232451472979359189217221453037046451681572979835097821427809180539054217416258634124574343822365166941416352636494447534302821511425150579129975778157623147718536334362246863248034968193606379390793954218299656345865614384779172850427360399195505388392225523257578756062052199832049700305532538553776608460362636054779907405322469494017836486658124720291172335365809861953573768475229683336686294822399724680833653748660402667334077280145704685851442587100210612517440775714848667718018494385629250679289333320747703111899911371601803616732652398557212282050601995156414224232752559309048296662410497642011285792255206501468123037579383163086490468742350726665735321249783448983663433383119361076573066060638085179034996644835565906172033959575019121423289541859976701047587682645191078956886143620137056857153502602491718491659941608935321244094191655979200857170251124946530770988695245017811676497322620277800251440299329659673465872451070474608649292819878233084124893287172996146854804554379129070446890434843044142206598474002695094634462238216969250253427530526234005571131026142499535331782495397674839459491433271108573819763935428232973828251610059475009323530304202032415256893945395583299265564485899535052615111458225357248014759931816968431959135484074664585017293575769654894927633039504324255031009608036682559869396531368237956943939803740611926459331866673037389880597119536249155547417648785548944289975553800451143116475630027645235012914296482227657967041259001028227656198102898859887909435616706229728894509959484541739587771720754813900675831397282729212119188218243985738625280034553135788459632479842151532935953878534428043734252762350202488398874875298315806055419746905139733516756269395603607585725778092990854971867679701407554959812566446155818450027469478909035417766057590457046520028907913486328540530451493040079808184018558898348469749950783547508392237690381381812644509896190066743926179256045599373726105244805322355397427559627194419147655723915638673071933833390802287561392323511960014822484643842919495808220427366125383209111535068430780536454300982020444532752764545176069510311405617611933873540469040488941931349815515478475906927833545354828637332103354565708539106722263443883546055155450680881069934846964799872696371014738756339357743576138434460654144564610790096219093116182668872628518311883729593382475312625777291483738140698349765084154114276052320231148914433341296378449440335062348217257570110282061562014664741102878690447935485079 1178152683231820634474806418485337392520774920931274702083394987560371556577046632781061410043762456789399884043564790163359709864183729466847797103050484303852149779429590504437723995929976774828929079584922298987748803081992335233929967932618080616765078825550380270938305613945048991067463124771991774876891103685032678338711856721712257446878927419932788348005969061705744049102045289569575718102261226954186030215283059830215915018169133831917538845581107376628921570851347029791465422398160116883428380473042516078915473917521635983832934876927551611006589161663809530862078018896202400908249843582805476043430008397815679233237308107682005660525719643353373560940546436914080988622629425609327918417149250616294640017382388726743304485715954236765119297323771114437771974376150114674344316920748811202196870823972139059432874917187747349814626938859336436728296661257269996415373902018889730196055902464826671372469004625879783469323447748151714538444624637749345397951192496525511772869863319019379237115705427602374932217547234061487427620325918197959608015893378596096744901168636384448961210795006176255177720426554077528429875666097282543316310977021070385528972224875499496440202045794283990238385288300957518552925941614888186238835739383792909457699748966643458051965306553591624803101958320179420168754666954401266040482771878913847410952516589964045576291443611110999764492128473963484980498433239858802751678851385011668682347204361034673531839661519150373263245664883511183709774037804750390425506279098959341176844171451893080658818049348744141665649532512332235248558853805128600279319776857009729288501619960654759692418960308140851460348445218874900490183013254332328258506083213895761244280002439014587983151804647910076580028669039988926912468470432578932356704293877027742971611970474415218370740064329649856725518032594852568872343474178470514682479679322273690644371091818489834434049998444921565096404125549320352070728324435478683014901209841600941745279675775542454680088400409382692388273023099649603160166493689053064081694301335931104757267906753206164607212467938819620271331352827164448415511885265776100302203207769695504890772428542257262232366819903270738272985028945315704341125399741213090419602231909904592828067007107259185962229035209266371160128922618827627930448624854971796256467814954669151660338251635316830520333861310911462457359153880240231846804088254950023605696796812450415530471086453037069690679022575274024591690520674487098679229120842678717705481034587555526009021727953584899734046384593383745442142031822994644717632996155249291902219347444466893821697226028342071851446826525693456585792798962857004939839524825012870044274544524139408805367570165453625529635545778901529317525816932794105751421850062076455920651722307584548340325489680879110856152261493573806349976542315751878968258108230296142536444407613149004617986858068407537292206729416271126847098213742048463011193577308227945035987898980144118132237130903252698204343287011312508150199179773120660819549280744937336620581881847155522 1906291085405974097253914126144356500912483754494477147628848407745943801861882366171574417415712551096894084902014364218202646474081794015267876400776660235746560352212950898225007525218763302771969488778648036310196057533291681161959762580302057505353749501877170294887705623984743686597329825199409041324505020535965504712377254369244499345452832331667653152660556727746067453821852060119210846032905700225658681991513868442479320761572055724398353192420332367387492011785218289734952335411418475428979321870075504606812148187946604357207405458932427275940299000896261003841437208113423853945296295264378455878527829825624859772291525523940639785100063465718540502356899073408528522925450937034478497547125028773917787735918723088990167733750922430371498688117725332737428320241764499453517167348109210397702259216197662317011630979239947181864327244391874990504905121619906051195281307341359224213892389122951391663641339991689645422897216223381397875130919460149070078784846245185914440203940599165083922967148014702585544734988009776336095338344412583588858695182711916844448013068547756050764827527658574812390002477156072684844099898849841852364607639431568027540258017130705997908325083373667153324875757043308245218661262864671635222499172766912270534272815027281543231000303198427190709273992279754439290177956496261242741530359561559038489909402733584182633148597113713491482983788415572420301742527431514781952536021636136615213118193056279691343516158841770651063497105182840843383239910255820865034155571918837574260969064739066076805672853903123270736096422947175279390765452279131295373954239095226698538755047491180993697990091334283350995680227714272575329642504687603436832325847149323994218108254049074062992475334952112108995285562985384510211734034918478467409319405335253100219626730406232186802699199813724521310535326170622223767271107217974838937510688930310373204240488349858072390993938248662177022863457415993389460608921555014932170448627490386490689569651329342905823204876039410337623285937396131830818133534948054092309350499438829964645177342369912394336106977898304162010919124547919262316187716663058829514322395987939490629397708576810398020826452383112889805920982823850132384859652503563292908001106785202908634122426854164325695745791478661974767714648396920618785420492534673203811427627521115307478788279104795739555751627368501919503879182788153718175344618706443063685504980831009313878940836403820617199071260265655406404335030570677165423155300098724317079207139832360848364419155513212094153194040317299384115213965656385447005194388478761251917041832088309813317505446455708197234655938060761887366329253263839025384372277589558046113784855929757020739241110634494114471566895594417007793432744766339460580059182165431021629190829029847992223871544836329791737222196340538606222672913330490635307615851806434576997098552177759794714205951184590206164835247728154856440480689054674240302677315448926294801072053094420170452468279817686039500721736451647570498416437343230942881111295409678439499272329782640601 3084443768637794731728720544629693893433258675425751849712243395306315358438928998952635827459475007886293968945579154381562356338265523482115673503827144539598710131642541402662731521148740077600898568363570335297944860615284016395889730512920138122118828327427550565826011237929792677664792949971400816201396124220998183051089111090956756792331759751600441500666525789451811502923897349688786564135166927179844712206796928272695235779741189556315892038001439744016413582636565319526417757809578592312407702343118020685727622105468240341040340335859978886946888162560070534703515227009626254853546138847183931921957838223440539005528833631622645445625783109071914063297445510322609511548080362643806415964274279390212427753301111815733472219466876667136617985441496447175200294617914614127861484268858021599899130040169801376444505896427694531678954183251211427233201782877176047610655209360248954409948291587778063036110344617569428892220663971533112413575544097898415476736038741711426213073803918184463160082853442304960476952535243837823522958670330781548466711076090512941192914237184140499726038322664751067567722903710150213273975564947124395680918616452638413069230242006205494348527129167951143563261045344265763771587204479559821461334912150705179991972563993925001282965609752018815512375950599933859458932623450662508782013131440472885900861919323548228209440040724824491247475916889535905282240960671373584704214873021148283895465397417314364875355820360921024326742770066352027093013948060571255459661851017796915437813236190959157464490903251867412401745955459507514639324306084259895653274015952236427827256667451835753390409051642424202456028672933147475819825517941935765090831930363219755462388256488088650975627139600022185575314232025373437124202505351057399766023699212280843191238700880647405173439264143374378036053358765474792639614581396445353619990368252584063848611580168347906825043936693583742119267582965313741531337245990493615185349837331987432434849327104885360503293276448793030011558960495781433978300028637107156391044800774761069402445249123118558943319445837123782282250477375083710731699601928834929816525603757634995520170137119067660253193272286383628078906011769165836725985052244776383327603338695107501462189433961423511657974826687928345927843571015748246715869117389645000067895442475784459139126530740112570076085488679413381961238336668393950022148706961393087291201777643459729409411922856857686889750282840929430996025551245164264102384420941403034784688174419916374373440883466796993887240424910683129557355997479380091722827384634010543819261179532776707139202672484050269086102764586455343952122052226696030324211802414570916158059400453896429544608680799947740001202441373318537110958561699133566331481032227507477549842551337432540564197034517208902593374457834112412572649455646242514275873960036730719533542959790908799332192809252997743457041977144425983287578902796722703313870892757154239837059952074564288584705410720938737705065023462960078648615617116351603700660576154615776119854211629796123 4990734854043768828982634670774050394345742429920228997341091803052259160300811365124210244875187558983188053847593518599765002812347317497383549904603804775345270483855492300887739046367503380372868057142218371608140918148575697557849493093222195627472577829304720860713716861914536364262122775170809857525901144756963687763466365460201256137784592083268094653327082517197878956745749409807997410168072627405503394198310796715174556541313245280714245230421772111403905594421783609261370093220997067741387024213193525292539770293414844698247745794792406162887187163456331538544952435123050108798842434111562387800485668049065398777820359155563285230725846574790454565654344583731138034473531299678284913511399308164130215489219834904723639953217799097508116673559221779912628614859679113581378651616967231997601389256367463693456136875667641713543281427643086417738106904497082098805936516701608178623840680710729454699751684609259074315117880194914510288706463558047485555520884986897340653277744517349547083050001457007546021687523253614159618297014743365137325406258802429785640927305731896550490865850323325879957725380866222898118075463796966248045526255884206440609488259136911492256852212541618296888136802387574008990248467344231456683834084917617450526245379021206544513965912950446006221649942879688298749110579946923751523543491002031924390771322057132410842588637838537982730459705305108325583983488102888366656750894657284899108583590473594056218871979202691675390239875249192870476253858316392120493817422936634489698782300930025234270163757154990683137842378406682794030089758363391191027228255047463126366011714943016747088399142976707553451708900647420051149468022629539201923157777512543749680496510537162713968102474552134294570599795010757947335936540269535867175343104547533943410865431286879591976138463957098899346588684936097016406885688614420192557501057182894437052852068518205979216037874942245919142131040381307130991946167545508547355798464822373923124418978434228266326498152488203367634844897891913264796433563585161248700395300213591034047622591493030953279426423735427944293169601923002973047887318591893759330847999745574486149567845695878058274019724669496517884826994593015969110844704748339676235604445480310410096311860815587837353720618166590320695558219412668865501289609924318203879323069996899766617914809844908309631837116047915301465117519456547668197493325667836150976706758474469043288352759260678304088821543106584837400360581815841429525539721040127351863895314252277222737860038980009088040434465227982513672569963135765538728021773112771795736303011621086520456708118939758466320758702647217231318451305490535055708584080004128962271844256383653450283849791434441854472769336967735544904391306465473026911540214392938499179033380367280532788068579353538694330596654174651018795322368976733149583489811843165296530641511968668594046398760437587949621877224872580839728059591851396943616548208206080534638132005168984459037173690538624777205786759914607649147032054459582546581771871564294215619126541412436724 8075178622681563560711355215403744287779001105345980847053335198358574518739740364076846072334662566869482022793172672981327359150612840979499223408430949314943980615498033703550470567516243457973766625505788706906085778763859713953739223606142333749591406156732271426539728099844329041926915725142210673727297268977961870814555476551158012930116351834868536153993608306649690459669646759496783974303239554585348106405107724987869792321054434837030137268423211855420319177058348928787787851030575660053794726556311545978267392398883085039288086130652385049834075326016402073248467662132676363652388572958746319722443506272505937783349192787185930676351629683862368628951790094053747546021611662322091329475673587554342643242520946720457112172684675764644734659000718227087828909477593727709240135885825253597500519296537265069900642772095336245222235610894297844971308687374258146416591726061857133033788972298507517735862029226828503207338544166447622702282007655945901032256923728608766866351548435534010243132854899312506498640058497451983141255685074146685792117334892942726833841542916037050216904172988076947525448284576373111392051028744090643726444872336844853678718501143116986605379341709569440451397847731839772761835671823791278145168997068322630518217943015131545796931522702464821734025893479622158208043203397586260305556622442504810291633241380680639052028678563362473977935622194644230866224448774261951360965767678433183004048987890908421094227799563612699716982645315544897569267806376963375953479273954431405136595537120984391734654660406858095539588333866190308669414064447651086680502270999699554193268382394852500478808194619131755907737573580567526969293540571474967013989707875763505142884767025251364943729614152156480145914027036131384460139045620593266941366803759814786602104132167526997149577728100473277382642043701571809046500270010865546177491425435478500901463648686553886041081811635829661261398623346620872523283413536002162541148302154361355559268305539113626829791428936996397646403858387694698774733592222268405091440100988352103450067840616149512222745869572551726575420079298086683779586920520728689147373603503209481669737982814945718527212996955880145963733006362181805836829756993116059563207784175417911558501294777011349011695444854518666623401790428417112217158727313963203947218512472684225757041340585020879707922604727328683426355856124941618219642032629229238267908536117928772697764682117535990978571825947514268396386133061005693627924141981530386648583488672193597111300922446806081927674890138665643229925960615145630450849157746782339555564191153863227595910791423808735406861467233672575270573357717231086032795882418699878429903656837549879828458472234389594473971778341054082015349868164606593243021246620445976728875931704713073352265613870747596923971112008763431367971824622975663859363771879896016064184471759577393378591569690585693078919202017006823015638494648119646930419100963234774475191957243548747621879101259563514910851783377567727795647671575934150282432447718909991738980753042232847 13065913476725332389693989886177794682124743535266209844394427001410833679040551729201056317209850125852670076640766191581092361962960158476882773313034754090289251099353526004438209613883746838346634682648007078514226696912435411511588716699364529377063983986036992287253444961758865406189038500313020531253198413734925558578021842011359269067900943918136630807320690823847569416415396169304781384471312181990851500603418521703044348862367680117744382498844983966824224771480132538049157944251572727795181750769505071270807162692297929737535831925444791212721262489472733611793420097255726472451231007070308707522929174321571336561169551942749215907077476258652823194606134677784885580495142962000376242987072895718472858731740781625180752125902474862152851332559940007000457524337272841290618787502792485595101908552904728763356779647762977958765517038537384262709415591871340245222528242763465311657629653009236972435613713836087577522456424361362132990988471213993386587777808715506107519629292952883557326182856356320052520327581751066142759552699817511823117523593695372512474768848647933600707770023311402827483173665442596009510126492541056891771971128221051294288206760280028478862231554251187737339534650119413781752084139168022734829003081985940081044463322036338090310897435652910827955675836359310456957153783344510011829100113444536734682404563437813049894617316401900456708395327499752556450207936877150318017716662335718082112632578364502477313099778766304375107222520564737768045521664693355496447296696891065894835377838051009626004818417561848778677430712272873102699503822811042277707730526047162680559280097337869247567207337595839309359446474227987578118761563201014168937147485388307254823381277562414078911832088704290774716513822046889331796075585890129134116709908307348730012969563454406589125716192057572176729230728637668825453385958625285738734992482618372937954315717204759865257119686578075580403529663727928003515229581081510709896946766976735278683687283973341893156289581425199765281248756279607963571167155807429653791835401201943137497690432109180465502172293307979670868589681221089656827474239112622448478221603248783967819305828510823776801232721625376663848560000955197774947674461741455735798812229655728321654813155592599186365416063021108987318960009841085977718448337238281407826541582469583992374956150429929189339759720775243984891473375581489286417135358297065389244615294592397815986117441378214295067393369054099105796746714876847123153463863021657738512478802924470819849160961426815169968109355366648156902495923750911169178870930859554135291867202774949748052618910363567201727620169880889806589024663207766141741379962422828840701747913221203330112308263668831448946741115308789626919741174630079620154561461013384475907909312071993606140334193224286291254567766183414450163294193599708813442853583723061312594825983728245987424990330128173642700796426889587662743698086499516590546967309169315309113323962412533206659052791798188292116638543292175376942679726035516696864204319283204207358107294454669571 21141092099406895950405345101581538969903744640612190691447762199769408197780292093277902389544512692722152099433938864562419721113572999456381996721465703405233231714851559707988680181399990296320401308153795785420312475676295125465327940305506863126655390142769263713793173061603194448115954225455231204980495682712887429392577318562517281998017295753005166961314299130497259876085042928801565358774551736576199607008526246690914141183422114954774519767268195822244543948538481466836945795282148387848976477325816617249074555091181014776823918056097176262555337815489135685041887759388402836103619580029055027245372680594077274344518744729935146583429105942515191823557924771838633126516754624322467572462746483272815501974261728345637864298587150626797585991560658234088286433814866568999858923388617739192602427849441993833257422419858314203987752649431682107680724279245598391639119968825322444691418625307744490171475743062916080729794968527809755693270478869939287620034732444114874385980841388417567569315711255632559018967640248518125900808384891658508909640928588315239308610391563970650924674196299479775008621950018969120902177521285147535498416000557896147966925261423145465467610895960757177790932497851253554513919810991814012974172079054262711562681265051469636107828958355375649689701729838932615165196986742096272134656735887041544974037804818493688946645994965262930686330949694396787316432385651412269378682430014151265116681566255410898407327578329917074824205165880282665614789471070318872400775970845497299971973375171994017739473077968706874217019046139063411368917887258693364388232797046862234752548479732721748046015532214971065267184047808555105088055103772489135951137193264070759966266044587665443855561702856447254862427849083020716256214631510722401058076712067163516615073695621933586275293920158045454111872772339240634499886228636151284912483908053851438855779365891313751298201498213905241664928287074548876038512994617512872438095069131096634242955589512455519986081010362196162927652614667302662345900748029698058883275502190295240947758272725329977724918162880531397444009760519176340607061159633351137625595206751993449489043811325769495328445718581256809812293007317379580784504218734571795362020013831146233213314450369610535377111507875627653942361800269503089935607064552244611773760094942268218131997491014950069047682325502572668317829231706430904636777390926294627512523830710326588683882123495750286045965195001613374193132847937852816781388005003188125161062291596664416960461883873621251895784245505313800132421884366056799629720088606336474847431393928812975648529701787375937134481637114562381859598020924997227774175844841528719131651570058753209940766735903221043420712893649843708935091042794686213397582707633830452636785243776706679492599807095033888178538878192177881531266018222684477302217355602957328659010455487823380803581899818759335779715628906594485759336581147636237477386410132550083588515919656081954280931893057751807027490326669743104738327397611450847146636767002114199097088047496902418 34207005576132228340099334987759333652028488175878400535842189201180241876820843822478958706754362818574822176074705056143512083076533157933264770034500457495522482814205085712426889795283737134667035990801802863934539172588730536976916657004871392503719374128806256001046618023362059854304992725768251736233694096447812987970599160573876551065918239671141797768634989954344829292500439098106346743245863918567051107611944768393958490045789795072518902266113179789068768720018614004886103739533721115644158228095321688519881717783478944514359749981541967475276600304961869296835307856644129308554850587099363734768301854915648610905688296672684362490506582201168015018164059449623518707011897586322843815449819378991288360706002509970818616424489625488950437324120598241088743958152139410290477710891410224787704336402346722596614202067621292162753269687969066370390139871116938636861648211588787756349048278316981462607089456899003658252251392889171888684258950083932674207812541159620981905610134341301124895498567611952611539295221999584268660361084709170332027164522283687751783379240211904251632444219610882602491795615461565130412304013826204427270387128778947442255132021703173944329842450211944915130467147970667336266003950159836747803175161040202792607144587087807726418726394008286477645377566198243072122350770086606283963756849331578279656442368256306738841263311367163387394726277194149343766640322528562587396399092349869347229314144619913375720427357096221449931427686445020433660311135763674368848072667736563194807351213223003643744291495530555652894449758411936514068421710069735642095963323094024915311828577070590995613222869810810374626630522036542683206816666973503304888284678652378014789647322150079522767393791560738029578941671129910048052290217400851535174786620374512246628043259076340175401010112215617630841103500976909459953272187261437023647476390672224376810095083096073616555321184791980822068457950802476879553742575699023582335041836107831912926642873485797413142370591787395928208901370946910625917067903837127712675110903392238378445448704834510443227090456188511068312599441740265997434535398745973586103816810000777417308349639836593272129678440206633473660853008272577355732178680476027531160832243486874554868127605962209721742527570896736641261321810110589067654055401790526019600301677411852210506953641444879258387442046277816653209302607287920191053912749223360016757139125302724404669999564873964581113358564055712479989879562814699939934851868024845863673541094521135236809622845300436421863893600871961957034917808116967968808591019465890610139298596703762723701148612150943138862101806995452188448622684132763369515555807264357559833399483279956540053074999572052492367454008958633335854832217424765833552144168647214928544694555848700285632934000319320179433106644375592331694560211822393290745070939326018641253836439216069368228572229946932978480512055796182148503034667647152828024353719301865392701839882068615160939984684855940099144128869961918481681007123646967544010841086285318406455195341951571989 55348097675539124290504680089340872621932232816490591227289951400949650074601135915756861096298875511296974275508643920705931804190106157389646766755966160900755714529056645420415569976683727430987437298955598649354851648265025662442244597310378255630374764271575519714839791084965254302420946951223482941214189779160700417363176479136393833063935535424146964729949289084842089168585482026907912102020415655143250714620471015084872631229211910027293422033381375611313312668557095471723049534815869503493134705421138305768956272874659959291183668037639143737831938120451004981877195616032532144658470167128418762013674535509725885250207041402619509073935688143683206841721984221462151833528652210645311387912565862264103862680264238316456480723076776115748023315681256475177030391967005979290336634280027963980306764251788716429871624487479606366741022337400748478070864150362537028500768180414110201040466903624725952778565199961919738982046361416981644377529428953871961827847273603735856291590975729718692464814278867585170558262862248102394561169469600828840936805450872002991091989631775874902557118415910362377500417565480534251314481535111351962768803129336843590222057283126319409797453346172702092921399645821920890779923761151650760777347240094465504169825852139277362526555352363662127335079296037175687287547756828702556098413585218619824630480173074800427787909306332426318081057226888546131083072708179974856775081522364020612345995710875324274127754935426138524755632852325303099275100606833993241248848638582060494779324588394997661483764573499262527111468804550999925437339597328429006484196120140887150064377056803312743659238402025781439893814569845097788294871770745992440839421871916448774755913366737744966622955494417185284441369520212930764308504848911573936232863332441675763243116954698273761676304032373663084952976273316150094453158415897588308559960298726075815665874448987387367853522683005886063733386237877025755592255570316536454773136905238928547169598462998252933128451602149592091136553985614213288262968651866825771558386405582533619393206977559840420952008619069042465756609202259442338041596558379324723729412016752770866797393451162362767458124158787890283473146015589956936516682899210599326522852257318020788081442056331820257119639078772364295203683610380092157589662466342770631374061772354120428638951132459829327435124371780389321527131838994351095690690140149654644269662956013050993353881688369714867159323759057325854183012410752552756716239873028033988834603386117799653770084729174057673759677846377275757167339692483024768438311108072227084986729990632575699349678313938319075996583444110014570308220705057760597289731652105886278965051053338709749993841735475273535788166902608477044789923260219452046949726876281045381181479799625406965125533807414354067611645522567770213225826230045077768047288294928975969912846894703892749032154129765692314260227684702776634262371248794789065501740129434415476290355801724697115220916577913691906171619196631661586419334521258418391157477853287432605552283389448474407 89555103251671352630604015077100206273960720992368991763132140602129891951421979738235819803053238329871796451583348976849443887266639315322911536790466618396278197343261731132842459771967464565654473289757401513289390820853756199419161254315249648134094138400381775715886409108327314156725939676991734677447883875608513405333775639710270384129853775095288762498584279039186918461085921125014258845266279573710301822232415783478831121275001705099812324299494555400382081388575709476609153274349590619137292933516459994288837990658138903805543418019181111213108538425412874278712503472676661453213320754227782496781976390425374496155895338075303871564442270344851221859886043671085670540540549796968155203362385241255392223386266748287275097147566401604698460639801854716265774350119145389580814345171438188768011100654135439026485826555100898529494292025369814848461004021479475665362416392002897957389515181941707415385654656860923397234297754306153533061788379037804636035659814763356838197201110071019817360312846479537782097558084247686663221530554309999172963969973155690742875368871987779154189562635521244979992213180942099381726785548937556390039190258115791032477189304829493354127295796384647008051866793792588227045927711311487508580522401134668296776970439227085088945281746371948604980456862235418759409898526915308840062170434550198104286922541331107166629172617699589705475783504082695474849713030708537444171480614713889959575309855495237649848182292522359974687060538770323532935411742597667610096921306318623689586675801618001305228056069029818180005918562962936439505761307398164648580159443234912065376205633873903739272461271836591814520445091881640471501688437719495745727706550568826789545560688887824489390349285977923314020311191342840812360795066312425471407649952816188009871160213774613937077314144589280715794079774293059554406430603159025332207436689398300192475969532083460984408843867797866885801844188679502635145998146015560037108178741346760460096241336484050346270822193936988019345455356561123914180036555703953484233497308974771997838655682394350864179099075257553534069208643999708335476131957125298309833228826753548284105743090998956039587802598994523757133999023862534292248861579686626857683684500804895342949569662294029978862166649669100936465005420490681225243717868133296650974363449765972639145904773904708585822566418058205974736434446282271286744602889373014661026802081315775398023881253243679448272682323113038334172891973567252696651091741052879852508144480638934890579707574474494095623571447249237714202257500599992737246902127538117695126028587336338423050826926089262214858685251105466758756843389190523966805287459370243838798450536618666290046916735047326028155620911567110380644755477644217880501871044928260309726174355474107250758467807733674247044752166943362544920386441867471058792359234254994611166683333919962117260726359712625292740739740498958782765405916441941893526093848736280868992195683793312276160901262769632005315748066593580068100341644905385935168318939572751012007478731400046396 144903200927210476921108695166441078895892953808859582990422092003079542026023115653992680899352113841168770727091992897555375691456745472712558303546432779297033911872318376553258029748651191996641910588713000162644242469118781861861405851625627903764468902671957295430726200193292568459146886628215217618662073654769213822696952118846664217193789310519435727228533568124029007629671403151922170947286695228853552536852886798563703752504213615127105746332875931011695394057132804948332202809165460122630427638937598300057794263532798863096727086056820254950940476545863879260589699088709193597871790921356201258795650925935100381406102379477923380638377958488534428701608027892547822374069202007613466591274951103519496086066530986603731577870643177720446483955483111191442804742086151368871150979451466152748317864905924155456357451042580504896235314362770563326531868171842012693863184572417008158429982085566433368164219856822843136216344115723135177439317807991676597863507088367092694488792085800738509825127125347122952655820946495789057782700023910828013900775424027693733967358503763654056746681051431607357492630746422633633041267084048908352807993387452634622699246587955812763924749142557349100973266439614509117825851472463138269357869641229133800946796291366362451471837098735610732315536158272594446697446283744011396160584019768817928917402714405907594417081924032016023556840730971241605932785738888512300946562137077910571921305566370561923975937227948498499442693391095626632210512349431660851345769944900684184366000390012998966711820642529080707117387367513936364943100904726593655064355563375799215440582690677216482931699673862373254414259661726738259796560208465488186567128422485275564301474055625569456013304780395108598461680711555771576669299915223999407640513285257863773114277168472887698753618176962943800747056047609209648859589019056613640767396988124376008141843981070848352262366550803752949535230426556528390738253716332096491881315646585689007265839799482303279399273796086580110482009342175337202443005207570779255791883714557305617231862659954191285131107694326595999825817846259150673517728515504623033562640843506319150903136542161318807045926757782414040607145039452491228765544478897226184206536758122916131031011718625850235981805728441465231668689030870773382833380334476067282348425222120093067784855906364537913257690789838595296263566285276622382435293029522669305296465037328826391377762941613394315432006082170364188355904384319805453367331614080913841342747866756734544349792303648551769383249293626513471369597193083017505685213235610344780112758577968914122400505240027581290855268695215481329065064094248284564095019111476130117763501589957376040040758470522599563943787814175587425434678737863669927451597921209305690907654155099514215884001615148028314656397689511132758146212671912548826839647529183970581079530228623854866292880489478317607000967425201735417027777165236730959027833978170696345282551485518009391381817840683323911487367263225241654519676166163804326325796792860183617559762120848520803 234458304178881829551712710243541285169853674801228574753554232605209433977445095392228500702405352171040567178675341874404819578723384788035469840336899397693312109215580107686100489520618656562296383878470401675933633289972538061280567105940877551898563041072339071146612609301619882615872826305206952296109957530377727228030727758556934601323643085614724489727117847163215926090757324276936429792552974802563854359085302582042534873779215320226918070632370486412077475445708514424941356083515050741767720572454058294346632254190937766902270504076001366164049014971276753539302202561385855051085111675583983755577627316360474877561997717553227252202820228833385650561494071563633492914609751804581621794637336344774888309452797734891006675018209579325144944595284965907708579092205296758451965324622904341516328965560059594482843277597681403425729606388140378174992872193321488359225600964419906115819497267508140783549874513683766533450641870029288710501106187029481233899166903130449532685993195871758327185439971826660734753379030743475721004230578220827186864745397183384476842727375751433210936243686952852337484843927364733014768052632986464742847183645568425655176435892785306118052044938941996109025133233407097344871779183774625777938392042363802097723766730593447540417118845107559337295993020508013206107344810659320236222754454319016033204325255737014761046254541731605729032624235053937080782498769597049745118042751791800531496615421865799573824119520470858474129753929865950165145924092029328461442691251219307873952676191631000271939876711558898887123305930476872804448862212124758303644515006610711280816788324551120222204160945698965068934704753608378731298248646184983932294834973054102353847034744513393945403654066373031912481991902898612389030094981536424879048163238074051782985437382247501635830932321552224516541135821902269203266019622215638972974833677522676200617813513154309336671210418601619835337074615236031025884251862347656528989494387932449467362081135966353625670095990023568129827464698736461116623041763274732740025381023532077615070518342348542149310206769584149533895026490258859008993860472629921343395869670259867435008879633160274846633729356776937797741144063315025521014406058583853041890221258927811473980581380919880214843972378110566168133694451361454608077098202609363933322788671886065706930760680269246499080257207896801271000000731558893669179895918895683966323267118644601789401644194857073763704688405283402522528796357887058150018423355133793693850892347395669434929499878123045865006820740875751185571854693683010242932115363148462475238787165305252545451332166116843505713953946320948087821907483438808530900306570846373956561952126576042330087675205569925592099408725742697806079434215507887807953468966137566000633828510573621466642469422881702561701149856454495303066599113780019885632006763438965192246213562543816983553606849190942899741707165700694199793183081678672852553927826906977214274747169311321667542719103452955916803115329818821722620017811069190261494115732432934629567240852248567199 379361505106092306472821405409982364065746628610088157743976324608288976003468211046221181601757466012209337905767334771960195270180130260748028143883332176990346021087898484239358519269269848558938294467183401838577875759091319923141972957566505455663031943744296366577338809494912451075019712933422169914772031185146941050727679877403598818517432396134160216955651415287244933720428727428858600739839670031417406895938189380606238626283428935354023816965246417423772869502841319373273558892680510864398148211391656594404426517723736629998997590132821621114989491517140632799891901650095048648956902596940185014373278242295575258968100097031150632841198187321920079263102099456181315288678953812195088385912287448294384395519328721494738252888852757045591428550768077099151383834291448127323116304074370494264646830465983749939200728640261908321964920750910941501524740365163501053088785536836914274249479353074574151714094370506609669666985985752423887940423995021157831762673991497542227174785281672496837010567097173783687409199977239264778786930602131655200765520821211078210810085879515087267682924738384459694977474673787366647809319717035373095655177033021060277875682480741118881976794081499345209998399673021606462697630656237764047296261683592935898670563021959809991888955943843170069611529178780607652804791094403331632383338474087833962121727970142922355463336465763621752589464966025178686715284508485562046064604888869711103417920988236361497800056748419356973572447320961576797356436441460989312788461196119992058318676581643999238651697354087979594240693297990809169391963116851351958708870569986510496257371015228336705135860619561338323348964415335116991094808854650472118861963395539377918148508800138963401416958846768140510943672614454383965699394896760424286688676523331915556099714550720389334584550498515168317288191869511478852125608641272252613742230665647052208759657494225157688933576969405372784872305041792559416622505578679753020870810034518138474627920935448656905069369786110148240309474040911798319066046970845511995817264738089383232302381002302733434441314463910745533720844336518009682511588988134544376958510513766186585912016175321593653679656114559351838348289102767516749779950537481079226096758017050727605011593099545730450825778106552031399802383482232227990910478537085431215671213894006158774715616586633784412337947997735396567263567016835516051615188948418353271619732155973428180779407136470468079136694487453766710884700742206863603385754969214707535193640214152403979279292181771597634390070034502264656941451886766027748617328598758807255351545743274166667851837406144424796569222641536429416886971577687093094995325682322504074325453716533418370128433676092525156043196539918285231514112953371557735405066887346871691541482665673135682526471038029730876357547545965628061212811785692568712471654292622935773325743791167671849846487338669260506742674590902429616820960246915403811581761805077673559557298654829331058924536944136279828290482593044063377139693977232994587819912525293118247127002973097088002 613819809284974136024534115653523649235600303411316732497530557213498409980913306438449682304162818183249905084442676646365014848903515048783497984220231574683658130303478591925459008789888505121234678345653803514511509049063857984422540063507383007561594984816635437723951418796532333690892539238629122210881988715524668278758407635960533419841075481748884706682769262450460859811186051705795030532392644833981261255023491962648773500062644255580941887597616903835850344948549833798214914976195561606165868783845714888751058771914674396901268094208822987279038506488417386339194104211480903700042014272524168769950905558656050136530097814584377885044018416155305729824596171019814808203288705616776710180549623793069272704972126456385744927907062336370736373146053043006859962926496744885775081628697274835780975796026043344422044006237943311747694527139051319676517612558484989412314386501256820390068976620582714935263968884190376203117627855781712598441530182050639065661840894627991759860778477544255164196007069000444422162579007982740499791161180352482387630266218394462687652813255266520478619168425337312032462318601152099662577372350021837838502360678589485933052118373526425000028839020441341319023532906428703807569409840012389825234653725956737996394329752553257532306074788950729406907522199288620858912135905062651868606092928406849995326053225879937116509591007495227481622089201079115767497783278082611791182647640661511634914536410102161071624176268890215447702201250827526962502360533490317774231152447339299932271352773274999510591574065646878481363999228467681973840825328976110262353385576597221777074159339779456927340021565260303392283669168943495722393057500835456051156798368593480271995543544652357346820612913141172423425664517352996354729489878296849165736839761405967339085151932967890970415482820067392833829327691413748055391628263487891586717064343169728409377471007379467025604787388006992620209379657028590442506757441027409549860304422450587941990002071415010530739465776133716370136938739648259435689088734120244735842645761621460847372899344651275583751521233494895067615870826776868691505449460764465720354380184026054020920895808481868500313385471336289636089433166082542270794356596064932267986979275978539078992174480465610665669750484662597567936077933593682598987576739694795148994002565892224481646377266903030911418205205632197838263567748394409720795084867314037237942999274618029970181051331327541842841382892737169233413497100093921753404178324348501229044532561548073414208792059894643499396890775378015842513306580449037991549443961907269730590332908579419213303169572261268302283176587857377504708879061125901625895632253168878030887405843109460700216108881662450748142605265660983037593547168879445543358535853484437692175311176246757149168940460911433438058697402420123364279410899472588598103661056061900965571957353711488833400094187860203406484381756603123816614143328594076664135689631984650773832045824140652726467256047589235745093597922862885099759711788302184849314028257726052876694243825345655201 993181314391066442497355521063506013301346932021404890241506881821787385984381517484670863905920284195459242990210011418325210119083645309531526128103563751674004151391377076164817528059158353680172972812837205353089384808155177907564513021073888463224626928560931804301290228291444784765912252172051292125654019900671609329486087513364132238358507877883044923638420677737705793531614779134653631272232314865398668150961681343255012126346073190934965704562863321259623214451391153171488473868876072470564016995237371483155485289638411026900265684341644608394027998005558019139086005861575952348998916869464353784324183800951625395498197911615528517885216603477225809087698270475996123491967659428971798566461911241363657100491455177880483180795915093416327801696821120106011346760788193013098197932771645330045622626492027094361244734878205220069659447889962261178042352923648490465403172038093734664318455973657289086978063254696985872784613841534136486381954177071796897424514886125533987035563759216752001206574166174228109571778985222005278578091782484137588395787039605540898462899134781607746302093163721771727439793274939466310386692067057210934157537711610546210927800854267543882005633101940686529021932579450310270267040496250153872530915409549673895064892774513067524195030732793899476519051378069228511716926999465983500989431402494683957447781196022859471972927473258849234211554167104294454213067786568173837247252529531222738332457398338522569424233017309572421274648571789103759858796974951307087019613643459291990590029354918998749243271419734858075604692526458491143232788445827462221062256146583732273331530355007793632475882184821641715632633584278612713487866355485928170018761764132858190144052344791320748237571759909312934369337131807380320428884775057273452425516284737882895184866483688280305000033318582561151117519560925226907517236904760144200459295008816780618137128501604624714538364357412365405081684698821149859129263019707162570731114456968726416617923006863667435808835562243864610446412780560057754755135704965756731659910499710844079675280346954009018192835697405640601336715163294878374017038448899010097312890697792240606832911983803462153993041585895641474437722268850059020574307133546011494083737293029266684003767580011341116495528591214628967738461415825910589898055276780226364665216459898383256361993853536815323756153203367594405527134765229925772410273815732390509562731430591458150960458467798009921978077380190935944298197842300785356789933293563208764238172775700477393488084241666241133786960809880280499454758467215065740166772560666076985941878651853585881155006978405693098852399229393806921595850638812994720890957935491382105212859559642879070344542557754975904185801805579268269107660122251003278763602740831309383716793841919892831695411498941164314416244948385751425492222685165157310575315348684836738897701144879160683246581526529463913227056347505553433435103575509480475717451437062324333389344478969983785391792991725515573384080515906948476899405765535179437133940783019171123821246798442743203 1607001123676040578521889636717029662536947235432721622739037439035285795965294823923120546210083102378709148074652688064690224967987160358315024112323795326357662281694855668090276536849046858801407651158491008867600893857219035891987053084581271470786221913377567242025241647087977118456804791410680414336536008616196277608244495149324665658199583359631929630321189940188166653342800830840448661804624959699379929405985173305903785626408717446515907592160480225095473559399940986969703388845071634076729885779083086371906544061553085423801533778550467595673066504493975405478280110073056856049040931141988522554275089359607675532028295726199906402929235019632531538912294441495810931695256365045748508747011535034432929805463581634266228108702977429787064174842874163112871309687284937898873279561468920165826598422518070438783288741116148531817353975029013580854559965482133479877717558539350555054387432594240004022242032138887362075902241697315849084823484359122435963086355780753525746896342236761007165402581235174672531734357993204745778369252962836619976026053258000003586115712390048128224921261589059083759902111876091565972964064417079048772659898390200032143979919227793968882034472122382027848045465485879014077836450336262543697765569135506411891459222527066325056501105521744628883426573577357849370629062904528635369595524330901533952773834421902796588482518480754076715833643368183410221710851064650785628429900170192734373246993808440683641048409286199787868976849822616630722361157508441624861250766090798591922861382128193998259834845485381736556968691754926173117073613774803572483415641723180954050405689694787250559815903750081945107916302753222108435880923856321384221175560132726338462139595889443678095058184673050485357795001649160376675158374653354122618162356046143850234270018416656171275415516138649953984946847252338974962908865168248035787176359351986509027514599508984091740143151745419358025291064355849740301636020460734572120591418879419314358607925078278677966548301338377580980583351520208317190444224439086001467502556261332304927048179691605284601944356930900535668952585990071747065522487909663475817667270881818294627753807792285330654306427057231931110527155434932601291368663729610943762070716569007805762995942060476951782165279075877226535674539349419593188885632016475021513659219025790607738008371120439846235174358408999792243790702513624335493205358683046427747505730705209488121141509799125551764819460272928105177711694942394707110194111617911709993282705337248550807696876301560884633183851585258296341968065047664103731716216522573346716532211560433005094458176550666961401135575817251184426304729699938896346786590188660260136100265402752339770560651439417426652328407071240251306701207291130448822122138594315747075892105018166649980864351959852597752474942350805874789771633584637745908678976404746737704469658498590649516646675714389667319711438104108677250049246904103557139853141069046975107221390303110636511859049039314751318477678438769833576659117553837364286447969040745224000515490623788398404 2600182438067107021019245157780535675838294167454126512980544320857073181949676341407791410116003386574168391064862699483015435087070805667846550240427359078031666433086232744255094064908205212481580623971328214220690278665374213799551566105655159934010848841938499046326531875379421903222717043582731706462190028516867886937730582662688797896558091237514974553959610617925872446874415609975102293076857274564778597556946854649158797752754790637450873296723343546355096773851332140141191862713947706547293902774320457855062029351191496450701799462892112204067094502499533424617366115934632808398039848011452876338599273160559300927526493637815434920814451623109757347999992711971807055187224024474720307313473446275796586905955036812146711289498892523203391976539695283218882656448073130911971477494240565495872221049010097533144533475994353751887013422918975842032602318405781970343120730577444289718705888567897293109220095393584347948686855538849985571205438536194232860510870666879059733931905995977759166609155401348900641306136978426751056947344745320757564421840297605544484578611524829735971223354752780855487341905151031032283350756484136259706817436101810578354907720082061512764040105224322714377067398065329324348103490832512697570296484545056085786524115301579392580696136254538528359945624955427077882345989903994618870584955733396217910221615617925656060455445954012925950045197535287704675923918851218959465677152699723957111579451206779206210472642303509360290251498394405734482219954483392931948270379734257883913451411483112997009078116905116594632573384281384664260306402220631034704477897869764686323737220049795044192291785934903586823548936337500721149368790211807312391194321896859196652283648234234998843295756432959798292164338780967756995587259428411396070587872330881733129454884900344451580415549457232515136064366813264201870426102073008179987635654360803289645651728010588716454681516102831723430372749054670890160765283480441734691322533336388040775225848085142345402357136900621445591029764300768374945199360144051758199162466761043149006723460038559293620137192628306176270289301153366625439539526358562485914980161579610535234586719776088792808299468643127572584964877703782660311942970863156955256154453862037072446999709640488292898660807667091855503413000765245503778783687293255247878324435485688990994370364973976661558930511612367386649317837278854261265615632498778818257068462135800946272101968266923561686797537653119041122009892784695492466984044911474918757520878112949028201184960543227125766970812395138576841422823514879169471882989083239423702474090212286590975613183529072654499987975046644991347900580338751891067677548124151642241313124962395218840905193997172402556514208876819519575808867413381452100885741335147056459608898860086542812559763458793762066891187299191626215263856269802903219254291753431574443367359643469810199893257240919131232938494451614230683484350479613037615570592506109299440610734782080620297250842031040266891861758954676782053558523319372543723581909823764395124336737422231141607 4207183561743147599541134794497565338375241402886848135719581759892358977914971165330911956326086488952877539139515387547705660055057966026161574352751154404389328714781088412345370601757252071282988275129819223088291172522593249691538619190236431404797070755316066288351773522467399021679521834993412120798726037133064164545975077812013463554757674597146904184280800558114039100217216440815550954881482234264158526962932027955062583379163508083966780888883823771450570333251273127110895251559019340624023788553403544226968573412744581874503333241442579799740161006993508830095646226007689664447080779153441398892874362520166976459554789364015341323743686642742288886912287153467617986882480389520468816060484981310229516711418618446412939398201869952990456151382569446331753966135358068810844757055709485661698819471528167971927822217110502283704367397947989422887162283887915450220838289116794844773093321162137297131462127532471710024589097236165834656028922895316668823597226447632585480828248232738766332011736636523573173040494971631496835316597708157377540447893555605548070694323914877864196144616341839939247244017027122598256314820901215308479477334492010610498887639309855481646074577346704742225112863551208338425939941168775241268062053680562497677983337828645717637197241776283157243372198532784927252975052808523254240180480064297751862995450039828452648937964434767002665878840903471114897634769915869745094107052869916691484826445015219889851521051589709148159228348217022365204581111991834556809521145825056475836312793611306995268912962390498331189542076036310837377380015995434607187893539592945640374142909744582294752107689684985531931465239090722829585249714068128696612369882029585535114423244123678676938353941106010283649959340430128133670745634081765518688750228377025583363724903317000622855831065595882469121011214065603176833334967241256215774812013712789798673166327519572808194824667848251081455663813410520630462401303941176306811913952215807355133833773163421023368905438238999026571613115820976692135643584583137759666665023022375453933771639730164578222081549559206711939241887143438372505062014268225961732647432461428829862340527568374123462605895700359503695492033138715261603311634592767899018225170431044878209995651700965244680826086742969082039087540114665096967669319309730269391983654511479598732378736094416507794104870021367178893108539792478596758820991181825246004574192841010434393243478066049113451616997926047146299721587727090199577178156529386628750803583450197579008881836844788010400154663980396873183390888562543273203599205605812770419006301772719596070071360079739615901123550863896175774205310038690787414464138312811902377413390365147558611465845436589829208842615948059770882510074704511900923007879929462803535501003878253192793424115418646359819366129649997501005035489854440649127933268158178312147837018142060459716539932955308798552649932555722907933533597383716594755423733575156274547832125085191256809109891070355018210339437393446615630217640873209908010029878864509619124852228046019540011 6807365999810254620560379952278101014213535570340974648700126080749432159864647506738703366442089875527045930204378087030721095142128771694008124593178513482420995147867321156600464666665457283764568899101147437308981451187967463491090185295891591338807919597254565334678305397846820924902238878576143827260916065649932051483705660474702261451315765834661878738240411176039911547091632050790653247958339508828937124519878882604221381131918298721417654185607167317805667107102605267252087114272967047171317691327724002082030602763936078325205132704334692003807255509493042254713012341942322472845120627164894275231473635680726277387081283001830776244558138265852046234912279865439425042069704413995189123373958427586026103617373655258559650687700762476193848127922264729550636622583431199722816234549950051157571040520538265505072355693104856035591380820866965264919764602293697420563959019694239134491799209730034590240682222926056057973275952775015820227234361431510901684108097114511645214760154228716525498620892037872473814346631950058247892263942453478135104869733853211092555272935439707600167367971094620794734585922178153630539665577385351568186294770593821188853795359391916994410114682571027456602180261616537662774043432001287938838358538225618583464507453130225110217893378030821685603317823488212005135321042712517873110765435797693969773217065657754108709393410388779928615924038438758819573558688767088704559784205569640648596405896221999096061993693893218508449479846611428099686801066475227488757791525559314359749764205094419992277991079295614925822115460317695501637686418216065641892371437462710326697880129794377338944399475619889118755014175428223550734618504279936009003564203926444731766706892357913675781649697538970081942123679211095890666332893510176914759338100707907316493179788217345074436246615053114984257075580878867378703761069314264395762447668073593088318818055530161524649506183951082804886036562465191520623166587421618041503236485552195395909059621248563368771262575139620472162642880121745067080842944727189517865827489783418602940495099768723871842218742187512888209531188296804997944601540626788447647627594041039365096927247344462916270905364343487076280456910842497921915254605455924854274379624293081950656995361341453537579486894410060937542500540879910600746453006602985517270308089997168589726749101068393169353035381633734565542426377071332858024436623680604064261642654976811380665345446332972675138414535579166187421731480511785692044162201440861547508324461563146607210066797388015136167125476375535450024813712077422442675482194689052194121480391985006187045684543608812270401111525910541167122105890377442678482141686436963544618726515327542777452371039433762231765356824824879290458318942117893353023893621264609859995109902738339735605983878877440121886257316949189127220299346124243552347187559911609886591204377785530269916433190196227929785588427007337138617017947863329632370994326081265573988442859867271877106360733101395285102201196348123397683776164192582451733611788688274014249188965468250681618 11014549561553402220101514746775666352588776973227822784419707840641791137779618672069615322768176364479923469343893474578426755197186737720169698945929667886810323862648409568945835268422709355047557174230966660397272623710560713182628804486128022743604990352570631623030078920314219946581760713569555948059642102782996216029680738286715725006073440431808782922521211734153950647308848491606204202839821743093095651482810910559283964511081806805384435074490991089256237440353878394362982365831986387795341479881127546308999176176680660199708465945777271803547416516486551084808658567950012137292201406318335674124347998200893253846636072365846117568301824908594335121824567018907043028952184803515657939434443408896255620328792273704972590085902632429184304279304834175882390588718789268533660991605659536819269859992066433477000177910215358319295748218814954687806926886181612870784797308811033979264892530892171887372144350458527767997865050011181654883263284326827570507705323562144230695588402461455291830632628674396046987387126921689744727580540161635512645317627408816640625967259354585464363512587436460733981829939205276228795980398286566876665772105085831799352682998701772476056189259917732198827293125167746001199983373170063180106420591906181081142490790958870827855090619807104842846690022020996932388296095521041127350945915861991721636212515697582561358331374823546931281802879342229934471193458682958449653891258439557340081232341237218985913514745482927656608708194828450464891382178467062045567312671384370835586076998705726987546904041686113257011657536354006339015066434211500249080264977055655967072023039538959633696507165304874650686479414518946380319868218348064705615934085956030266881130136481592352720003638644980365592083019641224024337078527591942433448088329084932899856904691534345697292077680648997453378086794944470555537096036555520611537259681786382886991984383049734332844330851799333886341700375875712151085567891362794348315150437768002751042893394411984392140168013378619498734255995942721759216486529310327277532492512805794056874266739498888450064300291746719600148773075440243370449663554895014409380275026502468194959267774912837039733511260043846579975948943981213183518566240048692753292604794724126828866991013042418782260312981153030019581588080994575697714122325912715786662291744508648188459127837162809677147140251655101744435534916863811454783257614862429310266216847817821815058588924399021788590031533505213333721453068238875891621340357970248176259128045013344186218948634232803146567280140355932323208204600639965715879081400294864964540486693757725783115755903688551886302235076774437342896311200416133465896605824749775446996139905692690336063836884870352060974199440772939061340829016822405253946901501194072663530610906616592928399407994296086481705623446599186628225334835978684201475120828069788198739041395927590729632973123151536728338238359563060046550551545247046227126418059656421848536274984952463133915470624171750303312540633741570013313993805065792359743641667552783633374041193514270221629 17821915561363656840661894699053767366802312543568797433119833921391223297644266178808318689210266240006969399548271561609147850339315509414177823539108181369231319010515730725546299935088166638812126073332114097706254074898528176673718989782019614082412909949825196957708384318161040871483999592145699775320558168432928267513386398761417986457389206266470661660761622910193862194400480542396857450798161251922032776002689793163505345643000105526802089260098158407061904547456483661615069480104953434966659171208851548391029778940616738524913598650111963807354672025979593339521670909892334610137322033483229949355821633881619531233717355367676893812859963174446381356736846884346468071021889217510847062808401836482281723946165928963532240773603394905378152407227098905433027211302220468256477226155609587976840900512604698982072533603320214354887129039681919952726691488475310291348756328505273113756691740622206477612826573384583825971141002786197475110497645758338472191813420676655875910348556690171817329253520712268520801733758871747992619844482615113647750187361262027733181240194794293064530880558531081528716415861383429859335645975671918444852066875679652988206478358093689470466303942488759655429473386784283663974026805171351118944779130131799664606998244089095938072983997837926528450007845509208937523617138233559000461711351659685691409429581355336670067724785212326859897726917780988754044752147450047154213675464009197988677638237459218081975508439376146165058188041439878564578183244942289534325104196943685195335841203800146979824895120981728182833772996671701840652752852427565890972636414518366293769903169333336972640906640924763769441493589947169931054486722628000714619498289882474998647837028839506028501653336183950447534206698852319915003411421102119348207426429792840216350084479751690771728324295702112437635162375823337934240857105869785007299707349859975975310802438579895857493837035750416691227736938340903671708734478784412389818386923320198146951953015660547760911430588518239970896898876064466826297329474037516795398320002589212659814761839267612321906519033934232488358304263737048368394265095521802857027902620543507560056195022257299956004416624387333656256405854823711105433820845504617607566984419017208779523986374383872319839799875563090957124088621874486298460575332515701303932599834505816778185876938231202846500175633288836309977961293935144312807694238543033374527859502794633195723934370731994463728446069084379521143184548750661583665502559411109723767452506576490793429015431620818282734405616731467773233018312717388158554563594983917158661967085742731970161440447297364156703346602684978510018417090793576144378747511186738991614866421020233113516207924304114292739556265597818351799147958940298606970795122458682523525720809354932664005391873173526603591880763548375755445634182102927753822308387981398085330245773713120999549406313347764658123826786570397185167569493110375859497412385737687422524717844819735011021831357273145588414741830089693410997769969258374811477253456241057647623230158982520903247 28836465122917059060763409445829433719391089516796620217539541762033014435423884850877934011978442604486892868892165036187574605536502247134347522485037849256041642873164140294492135203510875993859683247563080758103526698609088889856347794268147636826017900302395828580738463238475260818065760305715255723380200271215924483543067137048133711463462646698279444583282834644347812841709329034003061653637982995015128427485500703722789310154081912332186524334589149496318141987810362055978051845936939822762000651089979094700028955117297398724622064595889235610902088542466144424330329477842346747429523439801565623480169632082512785080353427733523011381161788083040716478561413903253511099974074021026505002242845245378537344274958202668504830859506027334562456686531933081315417800021009736790138217761269124796110760504671132459072711513535572674182877258496874640533618374656923162133553637316307093021584271514378364984970923843111593969006052797379129993760930085166042699518744238800106605936959151627109159886149386664567789120885793437737347425022776749160395504988670844373807207454148878528894393145967542262698245800588706088131626373958485321517838980765484787559161356795461946522493202406491854256766511952029665174010178341414299051199722037980745749489035047966765928074617645031371296697867530205869911913233754600127812657267521677413045642097052919231426056160035873791179529797123218688515945606133005603867566722448755328758870578696437067889023184859073821666896236268329029469565423409351579892416868328056030921918202505873967371799162667841439845430533025708179667819286639066140052901391574022260841926208872296606337413806229638420127973004466116311374354940976065420235432375838505265528967165321098381221656974828930813126289718493543939340489948694061781655514758877773116206989171286036469020401976351109891013249170767808489777953142425305618836967031646358862302786821629630190338167887549750577569437314216615822794302370147206738133537361088200897994846410072532153051598601896859469631154872007188585513816003347844072930812515395006716689028578766500771970819325680952088507077339177291738843928650416817266408177647045975755015462797170136995737927884431180236232354798804924288952387085553310360859589213741335608390977387426291102100112856716120976705676702869061996174697658428417090594891579014464966645004775394012523647315884943938054413496210798955767590951853405462684794076350612455010782523295131016252318477602589592854864637616989537475286842917381357900026580551589834979647964065853621429301685757087400096441222913357353874433644995278782123202453779500457753277196350985916043005581679459415852914728291209709610275353335936514438611006326712923449580044809174466353713755706370757413139976975762703860917696623652755187056331715971525592404799867469613085297504210147562383670969018081611955297429216051186284069287169640711729182379436499301386462065146133457231718121038357422086623830445394109271060992829772198144937301981444895891727282463831263424311763774324167171220895123793841280997271352496791124876 46658380684280715901425304144883201086193402060365417650659375683424237733068151029686252701188708844493862268440436597796722455875817756548525346024146030625272961883679871020038435138599042632671809320895194855809780773507617066530066784050167250908430810252221025538446847556636301689549759897860955498700758439648852751056453535809551697920851852964750106244044457554541675036109809576399919104436144246937161203488190496886294655797082017858988613594687307903380046535266845717593121326041893257728659822298830643091058734057914137249535663246001199418256760568445737763852000387734681357566845473284795572835991265964132316314070783101199905194021751257487097835298260787599979170995963238537352065051247081860819068221124131632037071633109422239940609093759031986748445011323230205046615443916878712772951661017275831441145245116855787029070006298178794593260309863132233453482309965821580206778276012136584842597797497227695419940147055583576605104258575843504514891332164915455982516285515841798926489139670098933088590854644665185729967269505391862808145692349932872106988447648943171593425273704498623791414661661972135947467272349630403766369905856445137775765639714889151416988797144895251509686239898736313329148036983512765417995978852169780410356487279137062704001058615482957899746705713039414807435530371988159128274368619181363104455071678408255901493780945248200651077256714904207442560697753583052758081242186457953317436508816155655149864531624235219986725084277708207594047748668351641114217521065271741226257759406306020947196694283649569622679203529697410020320572139066632031025537806092388554611829378205633578978320447154402189569466594413286242428841663604066134854930665720980264176804194160604409723310311012881260660496417345863854343901369796181129862941188670613332557073651037727240748726272053222328648411546591146424018810248295090626136674381506334837613589260209526047832004923300167268797174252557519494503036848931619127951924284408399044946799425733079913963029190415099440528053748071655411811145477385360868329132517984219376503790418034113093877338359615184576865381602914340107238193745938620123436080267589483315071657819427436951742344508818513892488760653628635394386207931057927968426573632758544387914963761810163421939912732279211933829765324743548294635272990944118394527491413520281744830881713625215370147491518232774364391457504734100080398646091948496059321935853407088206506457665863010716046923671673972376007822165740199058952345476792467623794033058166325773076979497474439712036091373818867869674241226074742032988208590262699281864420865243189723438636798283280199708928282144394362933145382003285754654100847123253430225872747733156563096252733478580646453311971968575764939124934703002467888491746111437710582052525326458256410191740643139688889384973695938139116603200184539709119737604032584369399532943353832728731785749847066044585891932703854416885690531467797946121242831131796693585710674591933155959133338718041480142024293920956835309533743582541982698148580034898928620501511479312028123 75494845807197774962188713590712634805584491577162037868198917445457252168492035880564186713167151448980755137332601633984297061412320003682872868509183879881314604756844011314530570342109918626531492568458275613913307472116705956386414578318314887734448710554616854119185310795111562507615520203576211222080958710864777234599520672857685409384314499663029550827327292198889487877819138610402980758074127241952289630973691200609083965951163930191175137929276457399698188523077207773571173171978833080490660473388809737791087689175211535974157727841890435029158849110911882188182329865577028104996368913086361196316160898046645101394424210834722916575183539340527814313859674690853490270970037259563857067294092327239356412496082334300541902492615449574503065780290965068063862811344239941836753661678147837569062421521946963900217956630391359703252883556675669233793928237789156615615863603137887299799860283650963207582768421070807013909153108380955735098019505928670557590850909154256089122222474993426035649025819485597656379975530458623467314694528168611968541197338603716480795655103092050122319666850466166054112907462560842035598898723588889087887744837210622563324801071684613363511290347301743363943006410688342994322047161854179717047178574207761156105976314185029469929133233127989271043403580569620677347443605742759256087025886703040517500713775461175132919837105284074442256786512027426131076643359716058361948808908906708646195379394852092217753554809094293808391980513976536623517314091760992694109937933599797257179677608811894914568493446317411062524634062723118199988391425705698171078439197666410815453755587077930185315734253384040609697439598879402553803196604580131555090363041559485529705771359481702790944967285841812073786786135839407793684391318490242911518455947548386448764062822323763709769128248404332219661660717358954913796763390720396244973641413152693699916376081839156238170172810849917846366611566774135317297339219078825866085461645496599942941645835805612067014627792311958910159208620078843997324961480733204941259945033379226093192818996800613865848157685296136665372458942091631846082122396355437389844257914635459070087120616597573947480272393249694128721115452433559683338595016611238329286162846499879996305941149236454524040025588995332910535442027612610290809970649372535485122382992534746711475886489019227893794807403176712418804953715533055847989597945353958744116012204019543217288980960994026968365401274263565230872459782729736534239188394173825523820613609756160752724943563328061141337777130906267966115464139432095907421853585541481405066874644743647476715833149269196242714509961603810215847873673212995364929454183059767868836879074446080012676297542653047000167067678339333178079101910465706328806188369764192897638384241297983848814991608112752774186889183843500522787572218266151664417166820083770653468820112994544457914165186346367431047957078837311648603811569825220032745073276525905964646703504364131300896435320162937371869306757752220259621297517906709153919043703828740209617772863976103152999 122153226491478490863614017735595835891777893637527455518858293128881489901560186910250439414355860293474617405773038231781019517288137760231398214533329910506587566640523882334569005480708961259203301889353470469723088245624323022916481362368482138642879520806837879657632158351747864197165280101437166720781717150513629985655974208667237107305166352627779657071371749753431162913928948186802899862510271488889450834461881697495378621748245948050163751523963765303078235058344053491164294498020726338219320295687640380882146423233125673223693391087891634447415609679357619952034330253311709462563214386371156769152152164010777417708494993935922821769205290598014912149157935478453469441966000498101209132345339409100175480717206465932578974125724871814443674874049997054812307822667470146883369105595026550342014082539222795341363201747247146732322889854854463827054238100921390069098173568959467506578136295787548050180565918298502433849300163964532340202278081772175072482183074069712071638507990835224962138165489584530744970830175123809197281964033560474776686889688536588587784102752035221715744940554964789845527569124532977983066171073219292854257650693655760339090440786573764780500087492196994873629246309424656323470084145366945135043157426377541566462463593322092173930191848610947170790109293609035484782973977730918384361394505884403621955785453869431034413618050532275093334043226931633573637341113299111120030051095364661963631888211007747367618086433329513795117064791684744217565062760112633808327458998871538483437437015117915861765187729966980685203837592420528220308963564772330202103977003758799370065584965283563764294054700538442799266906193292688796232038268184197689945293707280465793882575553642307200668277596854693334447282553185271648028292688286424041381397136218999781321136473361490950517854520457554548310072263950101337815573639015486871110315794659028537529965342048682286002177734150085115163785819331654811800376068010444994037385929904998987888445261538691980977656982727058350687262368150499409136106958118565809589077551363445469696609414834726959725496044911321242237840545005971953320316142294057513280338182224942385158778436025010899222616902068208021209876106062195077724802947669166297712736479258424384220904911046617945979938321274544844365207352356158585445243640316653879649874406055028456306768202644443263942298921409486783196411220267155928388244037302454803437948057426631423795438626857037684412324945937537606880281948469935593191533870966293147614646667922486525801923060802500853373868504725135835789705365506837940410062175804180686931295509986837200154469947552476442423438243748204578781019055216281119583555030183021299062751822179236575772550276131627646620379650307908943018226845168708796694680115875630608220436766624442105225183348755892463076274157539438661904175418450691373536904424116355022868353056348377186645950936193433475633849011541166065489502101293017978866316107657702658232414178956064456855568658880978852011331051673177094930831261489251136617192283863639138238274375455415181122 197648072298676265825802731326308470697362385214689493387057210574338742070052222790814626127523011742455372543105639865765316578700457763914271083042513790387902171397367893649099575822818879885734794457811746083636395717741028979302895940686797026377328231361454733776817469146859426704780800305013377942862675861378407220255494881524922516689480852290809207898699041952320650791748086797205880620584398730841740465435572898104462587699409878241338889453240222702776423581421261264735467669999559418709980769076450118673234112408337209197851118929782069476574458790269502140216660118888737567559583299457517965468313062057422519102919204770645738344388829938542726463017610169306959712936037757665066199639431736339531893213288800233120876618340321388946740654340962122876170634011710088720122767273174387911076504061169759241581158377638506435575773411530133060848166338710546684714037172097354806377996579438511257763334339369309447758453272345488075300297587700845630073033983223968160760730465828650997787191309070128401350805705582432664596658561729086745228087027140305068579757855127271838064607405430955899640476587093820018665069796808181942145395530866382902415241858258378144011377839498738237572252720112999317792131307221124852090336000585302722568439907507121643859325081738936441833512874178656162130417583473677640448420392587444139456499229330606167333455155816349535590829738959059704713984473015169481978860004271370609827267605859839585371641242423807603509045305661280841082376851873626502437396932471335740617114623929810776333681176284391747728471655143646420297354990478028373182416201425210185519340552361493949609788953922483408964345792172091350035234872764329245035656748839951323588346913124009991613244882696505408234068689024679441712684006776666952899853083767386230085199295685254660286982768861886767971732981309056251612337029735883116083957207811722237446341423887838524172350545000002961530397386105790129097715287089270860122847575401598930830091097344304047992284775039017260846470988229343406461068438851770750849022584742671562889428411635340825573653730207457907610299487097603799402438538649494903124596096860401455245899052622584846702889295317902149930991558495754761063397964280404626998899325758304380526846060283072470019963910269877754900649379968768876255214289689189364772257398589775167782654691663671157737106324586199202001364935800211776377841982656413547553960261446174641084419587851064652777726220201102837752741731199672127430722265140118671435260277678647278526866624130561994711645635631403801905169504938933847831915761345662091998170154730484676870303096821672685137948205352014794628892728429276484513009213242789167899630896625316588448847818784674646787447328647242121097328755634415125500868485639823505858821007922425954040174956868645237263163341382939184691747636716843037954071244200125676337173169342921644560116122539800906681806090378477714093313671118238011611389384183608622879117683320195757752003979043916223880637809425397354552128779395960290536235987692379347856047239431518334121 319801298790154756689416749061904306589140278852216948905915503703220231971612409701065065541878872035929989948878678097546336095988595524145669297575843700894489738037891775983668581303527841144938096347165216553359483963365352002219377303055279165020207752168292613434449627498607290901946080406450544663644393011892037205911469090192159623994647204918588864970070791705751813705677034984008780483094670219731191299897454595599841209447655826291502640977203988005854658639765314755899762168020285756929301064764090499555380535641462882421544510017673703923990068469627122092250990372200447030122797685828674734620465226068199936811414198706568560113594120536557638612175545647760429154902038255766275331984771145439707373930495266165699850744065193203390415528390959177688478456679180235603491872868200938253090586600392554582944360124885653167898663266384596887902404439631936753812210741056822312956132875226059307943900257667811881607753436310020415502575669473020702555217057293680232399238456663875959925356798654659146321635880706241861878622595289561521914976715676893656363860607162493553809547960395745745168045711626798001731240870027474796403046224522143241505682644832142924511465331695733111201499029537655641262215452588069987133493426962844289030903500829213817789516930349883612623622167787691646913391561204596024809814898471847761412284683200037201747073206348624628924872965890693278351325586314280602008911099636032573459155816867586952989727675753321398626110097346025058647439611986260310764855931342874224054551639047726638098868906251372432932309247564174640606318555250358575286393205184009555584925517645057713903843654460926208231251985464780146267273140948526934980950456120417117470922466766317192281522479551198742681351242209951089740976695063090994281250219986386011406335769046745610804837289319441316281805245259157589427910668751369987194273002470750774976306765936520810174528279150088076694183205437444940898091355099715854160233505306597918718536358882996028969941757766075611533733356379842815597175396970336560438100136106117032586037826470067785299149775118779149848140032103575752722754680943552416404934279085343840404677488647595745925506197386110171140867664557949838788200911949570924711635805016728764747750971329690415999902231544422599265856732324927461700457930005843244422131804644803624089422894308114421679405245995685985197776156067367704766086019958868350991908318872806064879858214708102337190051166138640444633023679669607720622256136106411819049906945601133804328789684933062848085514140356539637694874870445771788241977937149842778929465664717321877024773044374149127561386449100219373409911783645557604096564243425810466962382718804553164221398094916302293407826978955151064115555600803123922195548601515454114079257774546868059265358305624537700339437498922377846595923055167534411490975668316480699205526225691298831206067058733234382315655101919643779582815772411255990477705491841311281111531862276260214607572637924895075891968861098574449482960040885211427153428271556018486094321614886933515243 517449371088831022515219480388212777286502664066906442292972714277558974041664632491879691669401883778385362491984317963311652674689053288059940380618357491282391909435259669632768157126346721030672890804976962636995879681106380981522273243742076191397535983529747347211267096645466717606726880711463922606507068873270444426166963971717082140684128057209398072868769833658072464497425121781214661103679068950572931765333027493704303797147065704532841530430444210708631082221186576020635229838019845175639281833840540618228614648049800091619395628947455773400564527259896624232467650491089184597682380985286192700088778288125622455914333403477214298457982950475100365075193155817067388867838076013431341531624202881779239267143784066398820727362405514592337156182731921300564649090690890324323614640141375326164167090661562313824525518502524159603474436677914729948750570778342483438526247913154177119334129454664570565707234597037121329366206708655508490802873257173866332628251040517648393159968922492526957712548107724787547672441586288674526475281157018648267143063742817198724943618462289765391874155365826701644808522298720618020396310666835656738548441755388526143920924503090521068522843171194471348773751749650654959054346759809194839223829427548147011599343408336335461648842012088820054457135041966347809043809144678273665258235291059291900868783912530643369080528362164974164515702704849752983065310059329450083987771103907403183286423422727426538361368918177129002135155403007305899729816463859886813202252863814209964671666262977537414432550082535764180660780902707821060903673545728386948468809406609219741104266070006551663513632608383409617195597777636871496302508013712856180016607204960368441059269379890327183894767362247704150915419931234630531453660701839757947181103303753772241491535064732000271091820058181328084253538226568213841040247698487253103278230210282473012422648189824359334346878824150091038224580591543235069995806642188986714283081080708196849548627456227300076962226532805092872380204344609186222058243835822107311287122720848788595475466238105408610872803505326237057458439519201179552125193219593047319529530375945745295650576541270180592628395492704012321071859223053704599851598876229975551710535130775033145274597031612762886019866141814300354166506112293696337955672219695032609194389203234578791872077585971785579416511570581885187199141091867579481143928002615281898545868580318980705964277802559166989967777386339743282385765410869279848052978401246530490485167223279781082855656309063624842797159775987943439600044375384705636073893698495504870927635819447806553895076141195821812699334654452234168038804512074834088609573456668599634862013615429869752670245913700976940195274307602393185212884356437539047696417087155277619938078782469294013305533262493182937602600840305317031287670691884377449445046912516606375542699395034220475766183181273035288997461192298121493676129443529494002089094876024919903990649545596455972359576616968811299772606670523971804035088820281171717689664259248397833950368854318451849364 837250669878985779204636229450117083875642942919123391198888217980779206013277042192944757211280755814315352440862996060857988770677648812205609678194201192176881647473151445616436738429874562175610987152142179190355363644471732983741650546797355356417743735698039960645716724144074008508672961117914467270151461885162481632078433061909241764678775262127986937838840625363824278203102156765223441586773739170304123065230482089304145006594721530824344171407648198714485740860951890776534992006040130932568582898604631117783995183691262974040940138965129477324554595729523746324718640863289631627805178671114867434709243514193822392725747602183782858571577071011658003687368701464827818022740114269197616863608974027218946641074279332564520578106470707795727571711122880478253127547370070559927106513009576264417257677261954868407469878627409812771373099944299326836652975217974420192338458654210999432290262329890629873651134854704933210973960144965528906305448926646887035183468097811328625559207379156402917637904906379446693994077466994916388353903752308209789058040458494092381307479069452258945683703326222447389976568010347416022127551536863131534951487979910669385426607147922663993034308502890204459975250779188310600316562212397264826357322854510991300630246909165549279438358942438703667080757209754039455957200705882869690068050189531139662281068595730680570827601568513598793440575670740446261416635645643730685996682203543435756745579239595013491351096593930450400761265500353330958377256075846147123967108795157084188726217902025264052531418988787136613593090150271995701509992100978745523755202611793229296689191587651609377417476262844335825426849763101651642569781154661383114997557661080785558530191846656644376176289841798902893596771173444581621194637396902848941462353523740158252897870833778745881896657347500769400535343471827371430468158367238623090472503212753223787398954955760880144521407103300179114918763796980680010893897997288702568443314586014794768267163815110296105932168290571168483913937700989029037655419232792443871725222856954905628061504064575476396171953280445016207306579551304755304847947900536599735934464655031089136055254029917776338553901690090122492212726887611654438639799788179546476422170935791761910022348002942453302019768373358722953432362844618623799656130149700875853616521007879382415961500480279900001095916816577571172396917247934947185910014022574150249537776899191786770844136017267269327157828552478383727018789090538887568675234537352942309535074168880914887184445993996687690882673916344483077294919245830477424315871635645347649857101484165128430919849185569970940260721103552453541448716295720391692706137700094410101824396334234422916891644008617279233603101286557544249328439957240662969891965688670731734017336557016162072570891568117720637942038339227694877883593747051911860936022580833087074748225620725519306972250240006269671313116294217765273258945215940749992566800367866231185102181407872716186967149254893706375664575531622546253518048861166383144843092530804416320044690469205385364607 1354700040967816801719855709838329861162145606986029833491860932258338180054941674684824448880682639592700714932847314024169641445366702100265550058812558683459273556908411115249204895556221283206283877957119141827351243325578113965263923790539431547815279719227787307856983820789540726115399841829378389876658530758432926058245397033626323905362903319337385010707610459021896742700527278546438102690452808120877054830563509583008448803741787235357185701838092409423116823082138466797170221844059976108207864732445171736012609831741063065660335767912585250725119122989420370557186291354378816225487559656401060134798021802319444848640081005660997157029560021486758368762561857281895206890578190282628958395233176908998185908218063398963341305468876222388064727893854801778817776638060960884250721153150951590581424767923517182231995397129933972374847536622214056785403545996316903630864706567365176551624391784555200439358369451742054540340166853621037397108322183820753367811719138328977018719176301648929875350453014104234241666519053283590914829184909326858056201104201311291106251097531742024337557858692049149034785090309068034042523862203698788273499929735299195529347531651013185061557151674084675808749002528838965559370908972206459665581152282059138312229590317501884741087200954527523721537892251720387265001009850561143355326285480590431563149852508261323939908129930678572957956278375590199244481945704973180769984453307450838940032002662322440029712465512107579402896420903360636858107072539706033937169361658971294153397884165002801466963969071322900794253871052979816762413665646707132472224012018402449037793457657658161040931108871227745442622447540738523138872289168374239295014164866041153999589461226546971560071057204046607044512191104679212152648298098742606888643456827493930494389405898510746152988477405682097484788881698395585271508406065725876193750733423035696799821603145585239478868285927450270153143344388523915080889704639477689282726395666722991617815791271337596182894394823376261356294142045598215259713663068614551183012345577803694223536970302680885007044756785771253264765019070505934856973141120129647055463995030976834431705830571187956931182297182794134813284586110665359038491398664409522028132706066566795055296945034555216188039634515173023307598868956912320137611802369395908462810910211113961207833578066251685580512428387159456359596058339802526667053942025189432148083645479510767476808413819826436317125605938818127009404554501408167416728212938599472800020241392160695970040102303060312533679833692332426516894963621215183060389765334140852520784737303612934984814925326765792752960055758004687709487520807795225781315711156763009736686409949664292669561889922318256173798375594159937434541324313678202017588382775826009353955415339485456085876424830610903575544639179533011909171264438936289310381069493349693450290925015759739782738433421279304960310577486515886766935074659470243994655895243891151089092830953469172159326725871862517675437182202146518057553137681447554862532756790052814153995059323523837213971 2191950710846802580924491939288446945037788549905153224690749150239117386068218716877769206091963395407016067373710310085027630216044350912471159737006759875636155204381562560865641633986095845381894865109261321017706606970049846949005574337336786904233023454925827268502700544933614734624072802947292857146809992643595407690323830095535565670041678581465371948546451084385721020903629435311661544277226547291181177895793991672312593810336508766181529873245740608137602563943090357573705213850100107040776447631049802853796605015432326039701275906877714728049673718718944116881904932217668447853292738327515927569507265316513267241365828607844780015601137092498416372449930558746723024913318304551826575258842150936217132549292342731527861883575346930183792299604977682257070904185431031444177827666160527854998682445185472050639465275757343785146220636566513383622056521214291323823203165221576175983914654114445830313009504306446987751314126998586566303413771110467640402995187236140305644278383680805332792988357920483680935660596520278507303183088661635067845259144659805383487558576601194283283241562018271596424761658319415450064651413740561919808451417715209864914774138798935849054591460176974880268724253308027276159687471184603724491938475136570129612859837226667434020525559896966227388618649461474426720958210556444013045394335670121571225430921103992004510735731499192171751396854046330645505898581350616911455981135510994274696777581901917453521063562106038029803657686403713967816484328615552181061136470454128378342124102067028065519495388060110037407846961203251812463923657747685877995979214630195678334482649245309770418348585134072081268049297303840174781442070323035622410011722527121939558119653073203615936247347045845509938108962278123793773842935495645455830105810351234088747287276732289492034885134753182866885324225170222956701976564432964499284223236635788920587220558101346119623389693030750449268062108185504595091783602636766391851169710252737786386082955086447892288826563113947429840208079746587244297369082301406995054737568434758599851598474367256361403216710066216269472071598621810690161821089020666246791398459686007923567761084601105733269736198872884257305497312998277013477131198452589068504554877002358556965319293037497669490059402888531746261031231801530943937267932519096784316427431218993343623795078546531585581608345203737027531992975587737473852963956047763582397621422378702554247652549837093705644283434491296510736423343591947054985403447475952415109555315561041610857224548297057000224562507608676909594189882867045660484705636969786200170641838787778063415734774512335763693220776861557141250936237103515617474021848856857419838510806283898715586453533930935535407401476880717481683869764270918864987480348464496741087972751896501618158447316398728624213486677518760706787054858185988201171317092074182780525039150636485259089710683661285574631623693780733652040194019875410993987222695611757382274195012361341888346293875126756224051101757733769064311071186542613938007375849320857230474039749792729222578578 3546650751814619382644347649126776806199934156891183058182610082497455566123160391562593654972646034999716782306557624109197271661411053012736709795819318559095428761289973676114846529542317128588178743066380462845057850295627960914269498127876218452048303174153614576359684365723155460739472644776671247023468523402028333748569227129161889575404581900802756959254061543407617763604156713858099646967679355412058232726357501255321042614078296001538715575083833017560719387025228824370875435694160083148984312363494974589809214847173389105361611674790299978774792841708364487439091223572047264078780297983916987704305287118832712090005909613505777172630697113985174741212492416028618231803896494834455533654075327845215318457510406130491203189044223152571857027498832484035888680823491992328428548819311479445580107213108989232871460672887277757521068173188727440407460067210608227454067871788941352535539045899001030752367873758189042291654293852207603700522093294288393770806906374469282662997559982454262668338810934587915177327115573562098218012273570961925901460248861116674593809674132936307620799420710320745459546748628483484107175275944260708081951347450509060444121670449949034116148611851059556077473255836866241719058380156810184157519627418629267925089427544169318761612760851493751110156541713194813985959220407005156400720621150712002788580773612253328450643861429870744709353132421920844750380527055590092225965588818445113636809584564239893550776027618145609206554107307074604674591401155258214998305832113099672495521986232030866986459357131432938202100832256231629226337323394393010468203226648598127372276106902967931459279694005299826710671744844578697920314359491409861705025887393163093557709114299750587496318404249892116982621153382803005926491233594388062718749267178728019241676682630800238187873612158864964370113106868618541973484970498690375477973970058824617387042161246931359102257978958200719421205452574028510172673307276244081133896105919460778003898746357785488471720957937323691196502221792185459557082745370021546237749914012562294075135444669937246410261466851987522736836617692316625018794230140795893846862454716984757999466915172293690200918496055678392118781899108942372515622597116998590532687583068925352020616238072052885678099037403704769568630100758443264074879734888492692779238341430107304831628656612783271162120773590896483891589033927540000520017898072953014545705067858213321724460963656920141961409040430114637745827898093355222402131660414551887909575556953202306827264650600117312758242341301009336111084846488260843545095402303927052691426576091390998400549699839101556446180832619561828960423757911310843255337560013620429575197216233563008256015423853253791581199852474877419118411088584597067005068731240322750441928167235987074244323741229339527789031316698293718696226122624924490481698161567532473975330075652244998872449117082564879591934271267249538807129094534881237981878590855648533363287843314811060505620600998618741726538939935915582368624324224061492869908606110910044628034809116253059792549 5738601462661421963568839588415223751237722706796336282873359232736572952191379108440362861064609430406732849680267934194224901877455403925207869532826078434731583965671536236980488163528412973970073608175641783862764457265677807863275072465213005356281326629079441844862384910656770195363545447723964104170278516045623741438893057224697455245446260482268128907800512627793338784507786149169761191244905902703239410622151492927633636424414804767720245448329573625698321950968319181944580649544260190189760759994544777443605819862605715145062887581668014706824466560427308604320996155789715711932073036311432915273812552435345979331371738221350557188231834206483591113662422974775341256717214799386282108912917478781432451006802748862019065072619570082755649327103810166292959585008923023772606376485472007300578789658294461283510925948644621542667288809755240824029516588424899551277271037010517528519453700013446861065377378064636030042968420850794170003935864404756034173802093610609588307275943663259595461327168855071596112987712093840605521195362232596993746719393520922058081368250734130590904040982728592341884308406947898934171826689684822627890402765165718925358895809248884883170740072028034436346197509144893517878745851341413908649458102555199397537949264770836752782138320748459978498775191174669240706917430963449169446114956820833574014011694716245332961379592929062916460749986468251490256279108406207003681946724329439388333587166466157347071839589724183639010211793710788572491075729770810396059442302567228050837646088299058932505954745191542975609947793459483441690260981142078888464182441278793805706758756148277701877628279139371907978721042148418872701756429814445484115037609920285033115828767372954203432565751295737626920730115660926799700334169090033518548855077529962107988963959363089730222758746912047831255437332038841498675461534931654874762197206694613537974262719348277478725647671988951168689267560759533105264456909913010472985065816172198564389981701444233380760547521051271121036710301538772703854451827671428541292487482447320893926733919037193607813478176918203792208908216314127315180615319161462140638260914402992681567227999773399423470654694928562649424279212107219385992753795569587659037242460071283908985935531109550555168158440292236515829661332559974208012147667407589477095665772649100648455423735159314856743729118794633511423582009515277474372981854120716596943326490236915875972113513494013847605692474921411148482251241685302277387535107890504303019130872514243917684489198897174312982804848909686245705274729355306504029801039273713252862068414879169061816284474351437320139401609481118970211359995014826460729359408870477849413708022517461723842468957784189326988601329355594900802280852855515931992549079704819491529900919132488692402771057628068152002517994217054425483280980810912691653015253641715254500369226288730257962159800743850454223557965047983190847323114410292231969101286467405915637482855676152948851914476125374965777640697669684646679695510766675430877284455431767275102074558908982282371127 9285252214476041346213187237542000557437656863687519341055969315234028518314539500002956516037255465406449631986825558303422173538866456937944579328645396993827012726961509913095334693070730102558252351242022246707822307561305768777544570593089223808329629803233056421222069276379925656103018092500635351193747039447652075187462284353859344820850842383070885867054574171200956548111942863027860838212585258115297643348508994182954679038493100769258961023413406643259041337993548006315456085238420273338745072358039752033415034709779104250424499256458314685599259402135673091760087379361762976010853334295349902978117839554178691421377647834856334360862531320468765854874915390803959488521111294220737642566992806626647769464313154992510268261663793235327506354602642650328848265832415016101034925304783486746158896871403450516382386621531899300188356982943968264436976655635507778731338908799458881054992745912447891817745251822825072334622714703001773704457957699044427944608999985078870970273503645713858129665979789659511290314827667402703739207635803558919648179642382038732675177924867066898524840403438913087343855155576382418279001965629083335972354112616227985803017479698833917286888683879093992423670764981759759597804231498224092806977729973828665463038692315006071543751081599953729608931732887864054692876651370454325846835577971545576802592468328498661412023454358933661170103118890172335006659635461797095907912313147884501970396751030397240622615617342329248216765901017863177165667130926068611057748134680327723333168074531089799492414102322975913812048625715715070916598304536471898932385667927391933079034863051245633336907973144671734689392786992997570622070789305855345820063497313448126673537881672704790928884155545629743903351269043729805626825402684421581267604344708690127230640641993889968410632359070912795625550438907460040648946505430345250240171176753438155361304880595208837827905650947151888110473013333561615437130217189254554118961922091659342393880447802018869232268478988594812233212523330958163411534573041450087530237396459883188001869363707130854223739643770191314945744834006443940199409549302258034485123369119977439566694914945693113671573190984241041543061111216161758508376392686586249569930043140209261006551769181603440846257477695941285398291433318417472087027402296082169874904114079207953287052391772098127905849892385529995315171043442817474892999752193669611489031558095129197696574477150933989567101515351525786228079139778657499789666768305056190928706429467446224511753849497291625741047190210695581816359575843567347574896441577640305553494990970560060216834174190538876585582442100680799171783752926137303984696968884098278988905238751024732098484381637443118569801181830472319920691941440112998997617810945142241971829086368475766647094798857407679791549310915348144179507103435837182134713415209247728475699301940975256834608917826415333815492236315232729654452208945173469950979877323054449000770698990964009357535077123993707504179637605600229048319834990736923747193061542677319730109368025235342163676 15023853677137463309782026825957224308675379570483855623929328547970601470505918608443319377101864895813182481667093492497647075416321860863152448861471475428558596692633046150075822856599143076528325959417664030570586764826983576640819643058302229164610956432312498266084454187036695851466563540224599455364025555493275816626355341578556800066297102865339014774855086798994295332619729012197622029457491160818537053970660487110588315462907905536979206471742980268957363288961867188260036734782680463528505832352584529477020854572384819395487386838126329392423725962562981696081083535151478687942926370606782818251930391989524670752749386056206891549094365526952356968537338365579300745238326093607019751479910285408080220471115903854529333334283363318083155681706452816621807850841338039873641301790255494046737686529697911799893312570176520842855645792699209088466493244060407330008609945809976409574446445925894752883122629887461102377591135553795943708393822103800462118411093595688459277549447308973453590993148644731107403302539761243309260402998036155913394899035902960790756546175601197489428881386167505429228163562524281352450828655313905963862756877781946911161913288947718800457628755907128428769868274126653277476550082839638001456435832529028063000987957085842824325889402348413708107706924062533295399794082333903495292950534792379150816604163044743994373403047287996577630853105358423825262938743868004099589859037477323890303983917496554587694455207066512887226977694728651749656742860696879007117190437247555774170814162830148731998368847514518889421996419175198512606859285678550787396568109206185738785793619199523335214536252284043642668113829141416443323827219120300829935101107233733159789366649045658994361449906841367370824081384704656605327159571774455099816459422238652235219604601356979698633391105982960626880987770946301539324408040362000125002368383448051693335567599943486316553553322936103056799740574093094720701587127102265027104027738263857906783862149246252249992816000039865933269922824869730867265986400712878628822724878907204081928603282744324462037217820688395107154653050320571255380024868463720175123384283522970121133922914719092537142227885912803690967340323323381144501130188256173908607172503211493169992487300291153996014415917988177801227952765878391680099175069703671646970569886728308601742476126931412984649579011180163506738753052958094949265981606314386208432358048332045073668687990644947837172793990272936934710330381463959777177201876195560493947837301981690142196243048394465938723852039120381827521634305198873851604697480851353558415563405849729122033118648541976196724984051581799769383143747940963764714056377754576128402613261268486455940953339421632445558402511186067220722972794295628930990166890649961733501730005500964459049865856485475831794067305132402569662788084246749873787728668850962982976068528229705514796768718570265788039050201363215920501775323355465701920081163790460364638253554667116958209449553249368673281820335275284875728015345757412354624477516974444594832183926934217624534803 24309105891613504655995214063499224866113036434171374964985297863204629988820458108446275893139120361219632113653919050801069248955188317801097028190116872422385609419594556063171157549669873179086578310659686277278409072388289345418364213651391452972940586235545554687306523463416621507569581632725234806557772594940927891813817625932416144887147945248409900641909660970195251880731671875225482867670076418933834697319169481293542994501401006306238167495156386912216404626955415194575492820021100736867250904710624281510435889282163923645911886094584644078022985364698654787841170914513241663953779704902132721230048231543703362174127033891063225909956896847421122823412253756383260233759437387827757394046903092034727989935429058847039601595947156553410662036309095466950656116673753055974676227095038980792896583401101362316275699191708420143044002775643177352903469899695915108739948854609435290629439191838342644700867881710286174712213850256797717412851779802844890063020093580767330247822950954687311720659128434390618693617367428646012999610633839714833043078678284999523431724100468264387953721789606418516572018718100663770729830620942989299835110990398174896964930768646552717744517439786222421193539039108413037074354314337862094263413562502856728464026649400848895869640483948367437716638656950397350092670733704357821139786112763924727619196631373242655785426501646930238800956224248596160269598379329801195497771350625208392274380668526951828317070824408842135443743595746514926822409991622947618174938571927883497503982237361238531490782949837494803234045044890913583523457590215022686328953777133577671864828482250768968551444225428715377357506616134414013945898008426156175755164604547181286462904530718363785290334062386997114727432653748386410953984974458876681084063766947342362450245243350869667044023465053873422506538209853761579973354545792345375242539560201489848696872480538695154381458973883254944910213587426656336138717344291519581222989660355517249177742597048271119225084479028460745503135348200689030677520973754328716352962275367087269930472646451455316260957464458586422100397884327015195579434417765978209608507652642947560700617829664785650813801076897044732510401434539542903009506580942760158177102546351702430999039069472757436860673395684119086626244199196809152186202471999753816845474000807516555029528518703511112555428903565693502053924096400912424158981358508055819921389606427174271365262467795881826739895505624462720938409521242617276966868644500616684876543731449136366707996897891757564464899229331077409337993881042441199179593922428993863969058396820289182249952822732515073310566493682480568554927500867101068698753346638674407391518500019511188039437721059075564128203693016539540643664735735741929987784701595103975473559091869440225696960655342883511585616616047750713842295187682587055922442084060210711451767830170680771631377636396681121854542437678448650156227532300639171871061041113514813639024253658080967566984630373362380785999972880885104776335180748149278371670578517121914562293294959452966698479 39332959568750967965777240889456449174788416004655230588914626411175231459326376716889595270240985257032814595321012543298716324371510178664249477051588347850944206112227602213246980406269016255614904270077350307848995837215272922059183856709693682137551542667858052953390977650453317359036145172949834261921798150434203708440172967510972944953445048113748915416764747769189547213351400887423104897127567579752371751289829968404131309964308911843217373966899367181173767915917282382835529554803781200395756737063208810987456743854548743041399272932710973470446711327261636483922254449664720351896706075508915539481978623533228032926876419947270117459051262374373479791949592121962560978997763481434777145526813377442808210406544962701568934930230519871493817718015548283572463967515091095848317528885294474839634269930799274116169011761884940985899648568342386441369963143756322438748558800419411700203885637764237397583990511597747277089804985810593661121245601906645352181431187176455789525372398263660765311652277079121726096919907189889322260013631875870746437977714187960314188270276069461877382603175773923945800182280624945123180659276256895263697867868180121808126844057594271518202146195693350849963407313235066314550904397177500095719849395031884791465014606486691720195529886296781145824345581012930645492464816038261316432736647556303878435800794417986650158829548934926816431809329607019985532537123197805295087630388102532282578364586023506416011526031475355022670721290475166676479152852319826625292129009175439271674796400191387263489151797352013692656041464066112096130316875893573473725521886339763410650622101450292303765980477712759020025620445275830457269725227546457005690265711780914446252271179764022779651783969228364485551514038453043016281144546233331780900523189185994597669849844707849365677414571036834049387525980800063119297762586154345500244907943649541542032440080482181470935012296819358001709954161519751056840304471393784608327017398619375155961604746294523369217900479068326678773058173070419897943507374467207345175687154274291351859075929195779778298175285146981529255050934647586450959459286229698384731891936165917681834540744383878187956028962809848423477741757862924047510636769198934066784275049563195600991526369763911432875089313672296887854196965075200832285377541703425463816043887535825156772004645634924097205007914745857008792677149359007373424962964822442028353747654759219345033950458440829663912689495897399655648739902706577054144070520696177178824381033430826508904239946286223503188751268451459236859628186241315050784291403280347422384621802670018304283071471274491270035550545264280337938071248808064833412809724393250535794131761287997643980391060480708009686606204202606761366637530031370860977951592245065708975289097370404684746826511828359343379683921180153283505083271929336929710170752911173694427836358400386286428146354966946909893592639041664570658002855656104873791142204903975178277277808325197925776434183622731054067820308156169980504350526505561632996148095491566509394477221893670591233282 63642065460364472621772454952955674040901452438826605553899924274379861448146834825335871163380105618252446708974931594099785573326698496465346505241705220273329815531822158276418137955938889434701482580737036585127404909603562267477548070361085135110492128903403607640697501113869938866605726805675069068479570745375131600253990593443389089840592993362158816058674408739384799094083072762648587764797643998686206448608999449697674304465709918149455541462055754093390172542872697577411022374824881937263007641773833092497892633136712666687311159027295617548469696691960291271763425364177962015850485780411048260712026855076931395101003453838333343369008159221794602615361845878345821212757200869262534539573716469477536200341974021548608536526177676424904479754324643750523120084188844151822993755980333455632530853331900636432444710953593361128943651343985563794273433043452237547488507655028846990833324829602580042284858393308033451802018836067391378534097381709490242244451280757223119773195349218348077032311405513512344790537274618535335259624265715585579481056392472959837619994376537726265336324965380342462372200998725608893910489897199884563532978858578296705091774826240824235946663635479573271156946352343479351625258711515362189983262957534741519929041255887540616065170370245148583540984237963327995585135549742619137572522760320228606054997425791229305944256050581857055232765553855616145802135502527606490585401738727740674852745254550458244328596855884197158114464886221681603301562843942774243467067581103322769178778637552625794979934747189508495890086508957025679653774466108596160054475663473341082515450583701061272317424703141474397383127061410244471215623235972613181445430316328095732715175710482386564942118031615361600278946692201429427235129520692208461984586956133336960120095088058719032721438036090707471894064190653824699271117131946690875487447503851031390729312561020876625316471270702612946620167748946407392979021815685304189550007058974892405139347343342794488442984958096787424276193521271108928621028348221536061528649429641378621789548575647235094559132749605567951355448818974601646538893703995676594340399588808865242535158574048663838769830039706893155988143192402466950520143350141694224961377595914898031990565439236668869735762709356415974480441164272009984471580013703179280661517888343341711801533164338435209760436818311550510846601245759919797583944323330497848275137261186393616399212926236711490652585001521862376587149423949194331110939165196793863700924764879962875612236844177981067653650497782536646197622067283756249963885325709341286353680199490307486533024294007006343346117038946760906492998749675165902111563071031924943185650261307508832019828781539783573814809897219146302010302265767112790965736293840169684448848189239844910443787167171242854965300537227903997347378459611923985632612836971384405879604188571067058059523991363628031748135076720113220814230387956744045662203246017489991916302061983278893343418813996093434853820281037055085280685707253710911367818674008688423956770516853123557931761 102975025029115440587549695842412123215689868443481836142814550685555092907473211542225466433621090875285261304295944137398501897698208675129595982293293568124274021644049760489665118362207905690316386850814386892976400746818835189536731927070778817248043671571261660594088478764323256225641871978624903330401368895809335308694163560954362034794038041475907731475439156508574346307434473650071692661925211578438578199898829418101805614430018829992672915428955121274563940458789979960246551929628663137658764378837041903485349376991261409728710431960006591018916408019221927755685679813842682367747191855919963800194005478610159428027879873785603460828059421596168082407311438000308382191754964350697311685100529846920344410748518984250177471456408196296398297472340192034095584051703935247671311284865627930472165123262699910548613722715478302114843299912327950235643396187208559986237066455448258691037210467366817439868848904905780728891823821877985039655342983616135594425882467933678909298567747482008842343963682592634070887457181808424657519637897591456325919034106660920151808264652607188142718928141154266408172383279350554017091149173456779827230846726758418513218618883835095754148809831172924121120353665578545666176163108692862285703112352566626311394055862374232336260700256541929729365329818976258641077600365780880454005259407876532484490798220209215956103085599516783871664574883462636131334672625725411785673032126830272957431109840573964660340122887359552180785186176696848279780715696262600868759196590278762040853575037744013058469086544541522188546127973023137775784091342002169633779997549813104493166072685151353576083405180854233417408747506686074928485348463519070187135696028109010178967446890246409344593902000843726085830460730654472443516274066925540242885110145319331557789944932766568398398852607127541521281590171453887818568879718101036375732355447500572932761752641503058096251483567521970948330121910466158449819326287079088797877024457594267561100952089637317857660885437165114103049251694341528826564535722688743406704336583915669973648624504843014872857308034752549480610499753622188097498352990225374979072291524974782924369699318432542026725859002516741579465884950265390998030780119340628291745652645478093632982091809000580302610852023028712862334638129347210816756957555406604744477561775879166868573537809973359306965444733057407519639278395118927171008907288152939876628884915945612961433163384677541154565274497419262032235889326655771385255009685892971042525305798310789384516476790464204570842401766233995883057250253525071300748176728989688708738302002160325790816095765281497613381667584211041244431069998483230735524372795425175478979782022595506476000219842020491583501416101421753063376939795798483651943687886085235393424137286610249595190613678999602198344984458408057280852461731541260915342783589882558100307440546971453344487670346330574941641727715761777791472233243612848919453345450921465170193579870308476819119852997618824488921640589193225065785036233759272544363966769500254933351247738746794149165043 166617090489479913209322150795367797256591320882308441696714474959934954355620046367561337597001196493537708013270875731498287471024907171594942487534998788397603837175871918766083256318146795125017869431551423478103805656422397457014279997431863952358535800474665268234785979878193195092247598784299972398880939641184466908948154154397751124634631034838066547534113565247959145401517546412720280426722855577124784648507828867799479918895728748142128456891010875367954113001662677537657574304453545074921772020610874995983242010127974076416021590987302208567386104711182219027449105178020644383597677636331012060906032333687090823128883327623936804197067580817962685022673283878654203404512165219959846224674246316397880611090493005798786007982585872721302777226664835784618704135892779399494305040845961386104695976594600546981058433669071663243786951256313514029916829230660797533725574110477105681870535296969397482153707298213814180693842657945376418189440365325625836670333748690902029071763096700356919376275088106146415677994456426959992779262163307041905400090499133879989428259029144914408055253106534608870544584278076162911001639070656664390763825585336715218310393710075919990095473466652497392277300017922025017801421820208224475686375310101367831323097118261772952325870626787078312906314056939586636662735915523499591577782168196761090545795646000445262047341650098640926897340437318252277136808128253018276258433865558013632283855095124422904668719743243749338899651062918529883082278540205375112226264171382084810032353675296638853449021291731030684436214481980163455437865808110765793834473213286445575681523268852414848400829883995707814791874568096319399700971699491683368581126344437105911682622600728795909536020032459087686109407422855901870751403587617748704869697101452668517910040020825287431120290643218248993175654362107712517839996850047727251219802951351604323491065202523934721567954838224583894950289659412565842798348102764392987427031516569159966240299432980112346103870395261901527325445215612637755185564070910279468232986013557048595438173080490249967416440784358117431965948572596789744037246694221051573412691113783648166904857892481205865495689042223634735454028142667857948550923469482322516707030241392991664972657248237249172346614732385128836815079293619220801228537569109784025139079664222508580375070974311794516725881551368958030485879640878846968592851611483437724904022177132006577832376310914252645217859498941124408823038750604965716365948851089764906226230563190752260128713634642185638496052264016532529254872320808827550712062054699029995091982201650633277349120059288503956727784623157802150924068748158396637635935866457100422165432283903015308020048623560275157316225998640899365387242061565596442909424179925405077872985475850094505634400846170845053310284995635961278199840191153184900975396426853942506187044735542520402547194337694202973389862792481891012286463631569592965115548696938955162109881932291755712463271811614917923775460870230280151065721941012983455731785443508943357308018255599917707096804 269592115518595353796871846637779920472281189325790277839529025645490047263093257909786804030622287368822969317566819868896789368723115846724538469828292356521877858819921679255748374680354700815334256282365810371080206403241232646551011924502642769606579472045926928828874458642516451317889470762924875729282308536993802217642317715352113159428669076313974279009552721756533491708952020062791973088648067155563362848406658285901285533325747578134801372319965996642518053460452657497904126234082208212580536399447916899468591387119235486144732022947308799586302512730404146783134784991863326751344869492250975861100037812297250251156763201409540265025127002414130767429984721878962585596267129570657157909774776163318225021839011990048963479438994069017701074699005027818714288187596714647165616325711589316576861099857300457529672156384549965358630251168641464265560225417869357519962640565925364372907745764336214922022556203119594909585666479823361457844783348941761431096216216624580938370330844182365761720238770698780486565451638235384650298900060898498231319124605794800141236523681752102550774181247688875278716967557426716928092788244113444217994672312095133731529012593911015744244283297825421513397653683500570683977584928901086761389487662667994142717152980636005288586570883329008042271643875915845277740336281304380045583041576073293575036593866209661218150427249615424798561915320780888408471480753978430061931465992388286589714964935698387565008842630603301519684837239615378162862994236467975980985460761660846850885928713040651911918107836272552872982342455003301231221957150112935427614470763099550068847595954003768424484235064849941232200622074782394328186320163010753555716822372546116090650069490975205254129922033302813771939868153510374314267677654543288947754807246772000075699984953591855829519143250345790514457244533561600336408876568148763626952158398852177256252817844026992817819438405746554843280411569878724292617674389843481785304055974163427527341251522617430203764755832427015630374696909954166581750099793599022874937322597472718569086797585333264840273748819110666912576448326218977841535599684446426552484982638758431091274557210913747892221548044740376314919913092933248946581703588822950808452682886871085297954749057237829474957466755413841699149717422966431617985495124516388769616641440101675448948608784285153823691326284426365550125158035997774139601758899636377601532907093077619539265539695591793799783133996360386441058928077260737101620958536982735948751536361501541644645190425106390209338454030250528412312122574333898851460238783688718703830284203810959068165215824570001570109452207368843395355138746641627373160308661882275901145214306498521784020268465580766740817642100062652428764181857364080094853112066010640471297122762460344100825014525170447251655269454044018559052301922694445816318180016736500606494485282513973747034864684024777915031590508243668803758696875182441884568894147860420332303461802600232531583124809233742412697101459423505216850758174772256000095752213009198290659265994346711856261847 436209206008075267006193997433147717728872510208098719536243500605425001618713304277348141627623483862360677330837695600395076839748023018319480957363291144919481695995793598021831630998501495940352125713917233849184012059663630103565291921934506721965115272520592197063660438520709646410137069547224848128163248178178269126590471869749864284063300111152040826543666287004492637110469566475512253515370922732688147496914487153700765452221476326276929829210976872010472166462115335035561700538535753287502308420058791895451833397247209562560753613934611008153688617441586365810583890169883971134942547128581987922006070145984341074285646529033477069222194583232093452452658005757616789000779294790617004134449022479716105632929504995847749487421579941739003851925669863603332992323489494046659921366557550702681557076451901004510730590053621628602417202424954978295477054648530155053688214676402470054778281061305612404176263501333409090279509137768737876034223714267387267766549965315482967442093940882722681096513858804926902243446094662344643078162224205540136719215104928680130664782710897016958829434354223484149261551835502879839094427314770108608758497897431848949839406303986935734339756764477918905674953701422595701779006749109311237075862972769361974040250098897778240912441510116086355177957932855431914403072196827879637160823744270054665582389512210106480197768899714065725459255758099140685608288882231448338189899857946300221998820030822810469677562373847050858584488302533908045945272776673351093211724933042931660918282388337290765367129128003583557418556936983464686659822958223701221448943976385995644529119222856183272885064948845649046992496642878713727887291862502436924297948716983222002332692091704001163665942065761901458049275576366276185019081242161037652624504348224668593610024974417143260639433893564039507632898895669312854248873418196490878171961350203781579743883046550927539387393243971138738230701229291290135416022492607874772731087490732587493581550955597542549868626227688917157700142125566804336935663864509302343170308611029767164524970665823514807690189603468784344542396898815767585572846378667478125897673752542079258179415103394953757717237086964011050373941235601106895132627058305273325159713128264076962927406305475078647304081487798970535964796716585652419214032693626172794755721104324184029323679758596948340417207835795323580611037676876621108194610511119815326436929270209626117097916006506046445000993495301510849881966827865702817986907388072500854977766924692293904773904059748575847834506294267060941566994895142726402172300838387748698922266405461592345514335883858505526837236830526645546279207494800024010796244528339376323310646590401537092040317089141041898133868098703551794151423918929676537762536245936045549170108238310438606459415371341292304965554449679979837252142113847630717293576443590443112681530018056494149582059021718980888421453300725559816045160506752034849684442844799375494413343734891988244046396620848660336472562329653785367916480115785239455827537656518141647967284249946629563358651 705801321526670620803065844070927638201153699533888997375772526250915048881806562187134945658245771231183646648404515469291866208471138865044019427191583501441359554815715277277580005678856196755686381996283044220264218462904862750116303846437149491571694744566519125892534897163226097728026540310149723857445556715172071344232789585101977443491969187466015105553219008761026128819421586538304226604018989888251510345321145439602050985547223904411731201530942868652990219922567992533465826772617961500082844819506708794920424784366445048705485636881919807739991130171990512593718675161747297886287416620832963783106107958281591325442409730443017334247321585646224219882642727636579374597046424361274162044223798643034330654768516985896712966860574010756704926624674891422047280511086208693825537692269140019258418176309201462040402746438171593961047453593596442561037280066399512573650855242327834427686026825641827326198819704453003999865175617592099333879007063209148698862766181940063905812424785065088442816752629503707388808897732897729293377062285104038368038339710723480271901306392649119509603615601912359427978519392929596767187215558883552826753170209526982681368418897897951478584040062303340419072607384923166385756591678010397998465350635437356116757403079533783529499012393445094397449601808771277192143408478132259682743865320343348240618983378419767698348196149329490524021171078880029094079769636209878400121365850334586811713784966521198034686405004450352378269325542149286208808267013141327074197185694703778511804211101377942677285236964276136430400899391986765917881780108336636649063414739485545713376715176859951697369300013695590279193118717661108056073612025513190480014771089529338092982761582679206417795864099064715229989143729876650499286758896704326600379311594996668669310009928008999090158577143909830022090143429230913190657749986345254505124119749055958835996700890577920357206831649717693581511112799170014428033696882451356558035143464896015020922802478214972753633382060115932788074839035520970918685763658108325218107631208502485733611768251156779647963938422579451257118845225034745427108446063113904678382656391300510349453972314308701649938785131704387365293854328534355841714330647128224133612396015135162260882155362712908122261548243212812235114514139552084037199527818142561564372362544425859478272288542882102164108534120221689130736195712874395247796369410756192927969836363287245656363455702097840244784127491661897290940894905126439919607865925055236803729303286193835549419094484854966057172960324517589353879117469476625253632539622076467402752550609272551413679551708428507096946689037895488941634346241441651383956553190221652224455860896900058876060585554721808638951510198766204222915605776293756632615648311946686020467231000770782707284429896511739556620823903723998396304444036542076533611756460326943719176015300570467896616923705743758803453043808969228619803857381934476734253336992659795826716805537492220775629521430082402749169663789077290584767238290557495455923289869527339938626550244293341419620498 1142010527534745887809259841504075355930026209741987716912016026856340050500519866464483087285869255093544323979242211069686943048219161883363500384554874646360841250811508875299411636677357692696038507710200278069448230522568492853681595768371656213536810017087111322956195335683935744138163609857374571985608804893350340470823261454851841727555269298618055932096885295765518765929891153013816480119389912620939657842235632593302816437768700230688661030741919740663462386384683327569027527311153714787585153239565500690372258181613654611266239250816530815893679747613576878404302565331631269021229963749414951705112178104265932399728056259476494403469516168878317672335300733394196163597825719151891166178672821122750436287698021981744462454282153952495708778550344755025380272834575702740485459058826690721939975252761102466551133336491793222563464656018551420856514334714929667627339069918730304482464307886947439730375083205786413090144684755360837209913230777476535966629316147255546873254518725947811123913266488308634291052343827560073936455224509309578504757554815652160402566089103546136468433049956135843577240071228432476606281642873653661435511668106958831631207825201884887212923796826781259324747561086345762087535598427119709235541213608206718090797653178431561770411453903561180752627559741626709106546480674960139319904689064613402906201372890629874178545965049043556249480426836979169779688058518441326738311265708280887033712604997344008504363967378297403236853813844683194254753539789814678167408910627746710172722493489715233442652366092279719987819456328970230604541603066560337870512358715871541357905834399716134970254364962541239326185615360539821783960903888015627404312719806512560095315453674383207581461806164826616688038419306242926684305840138865364253003815943221337262920034902426142350798011037473869529723042324900226044906623404541745383296081099259740415740583937128847896594224893688832319741814028461304563449719375059231330766230955628602514504353433812515303502008287804849945774981161087775255621427522617627561277939819532252898136738916980294455654128026048235601661242123850513012681292441781382804280330143842589607633387417703655407656022218668398415667795564135462736846957705433497458772109143399239223809561668187986769565629731011782771079310856137736456413560511768734359128083648750043507595968301479050504525741956017012711347233389751016355990979921876008254406765633496871773461371708603886689785120986963408140822861732992142737594773313127737658707070210886129454192998544603541905007466618784650295446112364619351655804840460464216101674817014734143759193887592287012623783925868422134487913553736241675394752797718561028547766507487301595968100902643862850537085378297469756017067029695223433170378184557882731569637339239081221313743845267853031861586378353403978233556586150389707250905332903917386831857545318626962046198982727462739691874497109694788435849017888686511583937779837459171321130149272384209019675918050931063085642226118731075952683718406342734911750827526045481586593834494239970982979149 1847811849061416508612325685575002994131179909275876714287788553107255099382326428651618032944115026324727970627646726538978809256690300748407519811746458147802200805627224152576991642356213889451724889706483322289712448985473355603797899614808805705108504761653630448848730232847161841866190150167524295843054361608522411815056051039953819171047238486084071037650104304526544894749312739552120706723408902509191168187556778032904867423315924135100392232272862609316452606307251320102493354083771676287667998059072209485292682965980099659971724887698450623633670877785567390998021240493378566907517380370247915488218286062547523725170465989919511737716837754524541892217943461030775538194872143513165328222896619765784766942466538967641175421142727963252413705175019646447427553345661911434310996751095830741198393429070303928591536082929964816524512109612147863417551614781329180200989925161058138910150334712589267056573902910239417090009860372952936543792237840685684665492082329195610779066943511012899566730019117812341679861241560457803229832286794413616872795894526375640674467395496195255978036665558048203005218590621362073373468858432537214262264838316485814312576244099782838691507836889084599743820168471268928473292190105130107234006564243644074207555056257965345299910466297006275150077161550397986298689889153092399002648554384956751146820356269049641876894161198373046773501597915859198873767828154651205138432631558615473845426389963865206539050372382747755615123139386832480463561806802956005241606096322450488684526704591093176119937603056555856418220355720956996522423383174896974519575773455357087071282549576576086667623664976236829605378734078200929840034515913528817884327490896041898188298215257062413999257670263891331918027563036119577183592599035569690853383127538218005932230044830435141440956588181383699551813185754131139235564373390886999888420200848315699251737284827706768253801056543406525901252926827631318991483416257510587888801374420524617535427155912027488057135390347920782733849820196608746174307191180725952779385571028034738631748507168137074103618066448627686858780087348885258439789738504895287482662986535143099957087359732012357057594807350372785780961649892669818578561288352561721592384505158534401484691717030900894891827177974224595006193824995689820493613088329911295923500446193175902985868256844361152668634276076238701842083429102625411603787349332632201182376601996784117429824827410701726934569248478625305431763756638118582657202639238182974462436373497079965003612093029458507962180426943302239649325229834095976909437380082540683504427367624006695172873439300715519720730614906317623429547899977683326778709350908782680772222368384201654844161488198584659176036888496235960239982635471517189802993832869829417590104570239852004021028275164364771418207202257127976629861030186931783784517089364244330551033560619197429942815906433206498495327540918664017055652875270620988318191116830118967147846954809876429795305439481013465834811889907808366537450956696900230367674117395572821525220384738533312402599647 2989822376596162396421585527079078350061206119017864431199804579963595149882846295116101120229984281418272294606888937608665752304909462631771020196301332794163042056438733027876403279033571582147763397416683600359160679508041848457479495383180461918645314778740741771804925568531097586004353760024898867828663166501872752285879312494805660898602507784702126969746989600292063660679203892565937186842798815130130826029792410626207683861084624365789053263014782349979914992691934647671520881394925391075253151298637710175664941147593754271237964138514981439527350625399144269402323805825009835928747344119662867193330464166813456124898522249396006141186353923402859564553244194424971701792697862665056494401569440888535203230164560949385637875424881915748122483725364401472807826180237614174796455809922521463138368681831406395142669419421758039087976765630699284274065949496258847828328995079788443392614642599536706786948986116025830180154545128313773753705468618162220632121398476451157652321462236960710690643285606120975970913585388017877166287511303723195377553449342027801077033484599741392446469715514184046582458661849794549979750501306190875697776506423444645943784069301667725904431633715865859068567729557614690560827788532249816469547777851850792298352709436396907070321920200567455902704721292024695405236369828052538322553243449570154053021729159679516055440126247416603022982024752838368653455886673092531876743897266896360879138994961209215043414339761045158851976953231515674718315346592770683409015006950197198857249198080808409562589969148835576406039812049927227126964986241457312390088132171228628429188383976292221637878029938778068931564349438740751623995419801544445288640210702554458283613668931445621580719476428717948606065982342362503867898439174435055106386943481439343195150079732861283791754599218857569081536228079031365280470996795428745271716281947575439667477868764835616150395281437095358220994740856092623554933135632569819219567605376153220049931509345840003360637398635725632679624801357696521429928618703343580340663510847566991529885246085117368559272194474675922460441329472735771452471030946676670286943316678985689564720747149716012465250829569041184196629445456805281315408246057995219051156614301933640708501278699088881661392807705236377777273135851827556950026648841680030282628529841925946493464225145840203173160018032255714553430662492376427959778329254508209436783367630280989203286199119305613624354369465588713572586618371110725394797412551310712121143443707966094457805091574062049867187893562086889944771342198715328565242220543004899606102184638740838932067326893002532344514540774739757917461453713925002173462148627343709319988875871503250812262390842447509713122266793705716257049665166740622973372017427712149159741909478933225334772120432217803279793580610531954863417616337321491035422422268161717382891105937824391989014889160669238187202038028358805491501893159307499902128896667578138468977104082260638814981357531944528920454116026539442490134675103242965279424944921618303111814219232773283385578796 4837634225657578905033911212654081344192386028293741145487593133070850249265172723767719153174099307743000265234535664147644561561599763380178540008047790941965242862065957180453394921389785471599488287123166922648873128493515204061277394997989267623753819540394372220653655801378259427870543910192423163671717528110395164100935363534759480069649746270786198007397093904818608555428516632118057893566207717639321994217349188659112551284400548500889445495287644959296367598999185967774014235478697067362921149357709919660957624113573853931209689026213432063161021503184711660400345046318388402836264724489910782681548750229360979850068988239315517878903191677927401456771187655455747239987570006178221822624466060654319970172631099917026813296567609879000536188900384047920235379525899525609107452561018352204336762110901710323734205502351722855612488875242847147691617564277588028029318920240846582302764977312125973843522889026265247270164405501266710297497706458847905297613480805646768431388405747973610257373304723933317650774826948475680396119798098136812250349343868403441751500880095936648424506381072232249587677252471156623353219359738728089960041344739930460256360313401450564595939470604950458812387898028883619034119978637379923703554342095494866505907765694362252370232386497573731052781882842422681703926258981144937325201797834526905199842085428729157932334287445789649796483622668697567527223714827743737015176528825511834724565384925074421582464712143792914467100092618348155181877153395726688650621103272647687541775902671901585682527572205391432824260167770884223649388369416354286909663905626585715500470933552868308305501694915014898536943083516941681464029935715073263172967701598596356471911884188508035579977146692609280524093545378482081051491038210004745959770071019657349127380124563296425232711187400241268633349413833162504516035370186315745160136482795891138919215153592542384404196337980501884122247667683723942546416551890080407108368979796677837585358665257867491417772788983646415413474621554305267604235809884069533120049081875601730161633753253254442662890260923303609319221416821621029892260769451571957769606303214128789521808106881728369522845636919413969977591095349475099893969534410556940643541119460468042193192995729989776553219985679460972783466960847517377443639737171591326206128976035101849479332481990201355841794294108494416395514091595001839563565678587140410619159969627065106633111026530007340558923617944214019004350375009229308052000051789493686583579817205046059461417184603520557829368320505389129594096572032811305474679600625545583110529552262747534104940766193718052065245155681057381347009353691608328952171499536126390092211244255704905656423879041032168889159155289941676497032300638257812776365850297541566749846479718785229355800395596582574698000782867659931493278646524253274819939511632406047933924666557021821931830795593875736682529578947022822547154768429928488220320013497697105616824058892137068610286797012957994755266005934347809027585631800143195647099062317191124637034603971306595788178443 7827456602253741301455496739733159694253592147311605576687397713034445399148019018883820273404083589161272559841424601756310313866509226011949560204349123736128284918504690208329798200423357053747251684539850523008033808001557052518756890381169729542399134319135113992458581369909357013874897670217322031500380694612267916386814676029565140968252254055488324977144083505110672216107720524683995080409006532769452820247141599285320235145485172866678498758302427309276282591691120615445535116873622458438174300656347629836622565261167608202447653164728413502688372128583855929802668852143398238765012068609573649874879214396174435974967510488711524020089545601330261021324431849880718941780267868843278317026035501542855173402795660866412451171992491794748658672625748449393043205706137139783903908370940873667475130792733116718876874921773480894700465640873546431965683513773846875857647915320635025695379619911662680630471875142291077450318950629580484051203175077010125929734879282097926083709867984934320948016590330054293621688412336493557562407309401860007627902793210431242828534364695678040870976096586416296170135914320951173332969861044918965657817851163375106200144382703118290500371104320816317880955627586498309594947767169629740173102119947345658804260475130759159440554306698141186955486604134447377109162628809197475647755041284097059252863814588408673987774413693206252819465647421535936180679601500836268891920426092408195603704379886283636625879051904838073319077045849863829900192499988497372059636110222844886399025100752709995245117541354227009230299979820811450776353355657811599299752037797814343929659317529160529943379724853792967468507432955682433088025355516617708461607912301150814755525553119953657160696623121327229130159527720844584919389477384439801066157014501096692322530204296157709024465786619098837714885641912193869796506366981744490431852764743466578586693022357378000554591619417597242343242408539816566101349687522650226327936585172831057635290174603707494778410187619372048093099422912001789034164428587413113460712592723168721691518999338371811222162455397979531779662746294356801344731800398248628056549619893114479086528854031444381988096466488455154174220540806280381209377780468552159694697733762401682901694274429078658214612793384697350560740096699344934393666386013271356488757505877027795972796707136041559014954312140750130948944754087378267523344007841648620055943337257346095836397225649312954183277987409802732576936993380340033446797464340804398704723260913012153919222276177582607696556214067476019538867914231526634039921821168550482716631736901488373037008093086720584409759696455797139264470807405533331125633648163470099412200120127208156468686269883479678602281422083647392754081965804998435749737867725253715909588389197718454690572516028800377977794363478191886356696262861574765855361933900567765316815772494846213920845684754544974869731616975381628038656661589235988122448910165275244085801162974397707425268154544902523675720121960887251517720306903386160926524007238809427748848823204079879173757239 12665090827911320206489407952387241038445978175605346722174990846105295648413191742651539426578182896904272825075960265903954875428108989392128100212396914678093527780570647388783193121813142525346739971663017445656906936495072256580034285379158997166152953859529486213112237171287616441745441580409745195172098222722663080487750039564324621037902000326274522984541177409929280771536237156802052973975214250408774814464490787944432786429885721367567944253590072268572650190690306583219549352352319525801095450014057549497580189374741462133657342190941845565849393631768567590203013898461786641601276793099484432556427964625535415825036498728027041898992737279257662478095619505336466181767837875021500139650501562197175143575426760783439264468560101673749194861526132497313278585232036665393011360931959225871811892903634827042611080424125203750312954516116393579657301078051434903886966835561481607998144597223788654473994764168556324720483356130847194348700881535858031227348360087744694515098273732907931205389895053987611272463239284969237958527107499996819878252137078834684580035244791614689295482477658648545757813166792107796686189220783647055617859195903305566456504696104568855096310574925766776693343525615381928629067745807009663876656462042840525310168240825121411810786693195714918008268486976870058813088887790342412972956839118623964452705900017137831920108701138995902615949270090233503707903316328580005907096954917920030328269764811358058208343764048630987786177138468211985082069653384224060710257213495492573940801003424611580927645113559618442054560147591695674425741725074165886209415943424400059430130251082028838248881419768807866005450516472624114552055291231690971634575613899747171227437437308461692740673769813936509654253073099326665970880515594444547025927085520754041449910328859454134257176974019340106348235055745356374312541737168060235591989247539357717505908175949920384958787957398099126465490076223540508647766239412730633436305564969508895220648839861574986196182976603018463506574044466307056638400238471482646580761674598770451853152752591626253885052716321283141098884163115977831236992569849820585826155923107243268608336960913172751510942103407869124151811636155755481103347314879109100338238853222869725094887270159068434767832779064158323344207057546862311837306123184862682694886481912129645452129189126242914856748606249244547344458845682380107086909686428789030675103306884411202469508252179320294742201605354016751581287368389569341498797516130298085288303078118058213380639460781103165525924534572865149132964486264337939514601421794096065827161289164235907141948859280438636475004852136854520611480161097141660077805147699596489504411364382913062125110148924511847491440577373589069251114266443256248526103718022795282659434868916503684046372911625382952675795146345851817849974909385828040675301445532973813250740439051868035852676480348420711552261195922404450585811430019164476342768923662972349702625221866534776035554951557860518430986127895235060545305938703529356573623069556000552385883427175386474961935682 20492547430165061507944904692120400732699570322916952298862388559139741047561210761535359699982266486065545384917384867660265189294618215404077660416746038414221812699075337597112991322236499579093991656202867968664940744496629309098791175760328726708552088178664600205570818541196973455620339250627067226672478917334930996874564715593889762006154254381762847961685260915039952987643957681486048054384220783178227634711632387229753021575370894234246443011892499577848932782381427198665084469225941984239269750670405179334202754635909070336104995355670259068537765760352423520005682750605184880366288861709058082431307179021709851800004009216738565919082282880587923499420051355217185123548105743864778456676537063740030316978222421649851715640552593468497853534151880946706321790938173805176915269302900099539287023696367943761487955345898684645013420156989940011622984591825281779744614750882116633693524217135451335104466639310847402170802306760427678399904056612868157157083239369842620598808141717842252153406485384041904894151651621462795520934416901856827506154930289265927408569609487292730166458574245064841927949081113058970019159081828566021275677047066680672656649078807687145596681679246583094574299153201880238224015512976639404049758581990186184114428715955880571251340999893856104963755091111317435922251516599539888620711880402721023705569714605546505907883114832202155435414917511769439888582917829416274799017381010328225931974144697641694834222815953469061105254184318075814982262153372721432769893323718337460339826104177321576172762654913845451284860127412507125202095080731977485509167981222214403359789568611189368192261144622600833473957949428306547640080646748308680096183526200897985982962990428415349901370392935263738784412600820171250890269992978884348092084100021850733772440533155611843281642760638438944063120697657550244109048104149804726023842012282824296092601198307298385513379576815696368808732484763357074749115926935380859764242150142339952855939014465282480974593164222390511599673467378308845672564667058895760041474267321939173544671751929998065107215171719262672878546909410334632581724370248069213882705543000357747694865814944617133499038569896324278326032176962035862312725095347661260032936586985271407996581544588147092982445572448855673904947154246207246230972509198134039183643987789157441424925896262284473871702918389994678293403599769758374610253694270437650731046644141757298305905477828633248925479592763819484158224361769909374945594980471102483993026339031070367299861736958685773222480748640341168671832400495864573554523242962646548543793026065724280178956952367159220884764548592651659875950968502674991203438795863066588916611484510121218593796418807991526093721999457236462005196232248254684275841585748048998569023258114222138736945427654183330653589509824043704206671172247402806530663379433541578567556211546714249773522165102965686421992812897786078624468091608400464465217833828247593788426384840932483460823106102763042106706249856122312063026245606915517500147076794809980134732250379466354135692921 33157638258076381714434312644507641771145548498522299021037379405245036695974402504186899126560449382969818209993345133564220064722727204796205760629142953092315340479645984985896184444049642104440731627865885414321847680991701565678825461139487723874705042038194086418683055712484589897365780831036812421844577140057594077362314755158214383044056254708037370946226438324969233759180194838288101028359435033587002449176123175174185808005256615601814387265482571846421582973071733781884633821578261510040365200684462728831782944010650532469762337546612104634387159392120991110208696649066971521967565654808542514987735143647245267625040507944765607818075020159845585977515670860553651305315943618886278596327038625937205460553649182433290980109112695142247048395678013444019600376170210470569926630234859325411098916600002770804099035770023888395326374673106333591280285669876716683631581586443598241691668814359239989578461403479403726891285662891274872748604938148726188384431599457587315113906415450750183358796380438029516166614890906432033479461524401853647384407067368100611988604854278907419461941051903713387685762247905166766705348302612213076893536242969986239113153774912256000692992254172349871267642678817262166853083258783649067926415044033026709424596956781001983062127693089571022972023578088187494735340404389882301593668719521344988158275614622684337827991815971198058051364187602002943596486234157996280706114335928248256260243909508999753042566580002100048891431322786287800064331806756945493480150537213830034280627107601933157100407768473463893339420275004202799627836805806143371718583924646614462789919819693218206441142564391408699479408465900930662192135937979999651730759140100645157210400427736877042642044162749200248438665673919497916861150508573328895118011185542604775222350862015065977538819734657779050411355753402906618421589841317864961615831259822182013598509374257218770472167534213795495274222560986897583396882166348111493200547715111848848076587854326857467170776140825408975106247511844615902310964905530378406622235941920709625397824504521624318992267888040545813977431072526312463818716940097889799708861466107601016303202775857789885009980673304193402477843813117791343416072410226770360371175440208141133091468814747215527750278351513013997249154211793069558068278632382996721878530469701287086877055085388527388728451524639239225637862445452138481697163380699226681406149951026168500775413730007953543667681198117836235739511730159478716444392496601400569281329417149128580680501197739788938748405283213206317804796886760202513069124664756742614370954315229960187320905811647597857359769400729506180487431129599816651281243943562663078421022848893034280718906567732503373585162576830825531256310498691510932801945303770844281228458127030725822783318339279566283329384656169895522056646081633230847205964824966515391818296650598582285626198645451386397974254008820190529210279521627564940807986757491219943491051606707467259496378057660623560537692377751357372608332184310444874073770146350810532520615677554852829097628603 53650185688241443222379217336628042503845118821439251319899767964384777743535613265722258826542715869035363594910730001224485254017345420200283421045888991506537153178721322583009175766286141683534723284068753382986788425488330874777616636899816450583257130216858686624253874253681563352986120081663879648517056057392525074236879470752104145050210509089800218907911699240009186746824152519774149082743655816765230083887755562403938829580627509836060830277375071424270515755453160980549718290804203494279634951354867908165985698646559602805867332902282363702924925152473414630214379399672156402333854516517600597419042322668955119425044517161504173737157303040433509476935722215770836428864049362751057053003575689677235777531871604083142695749665288610744901929829894390725922167108384275746841899537759424950385940296370714565586991115922573040339794830096273602903270261701998463376196337325714875385193031494691324682928042790251129062087969651702551148508994761594345541514838827429935712714557168592435512202865822071421060766542527894829000395941303710474890561997657366539397174463766200149628399626148778229613711329018225736724507384440779098169213290036666911769802853719943146289673933418932965841941832019142405077098771760288471976173626023212893539025672736882554313468692983427127935778669199504930657591920989422190214380599924066011863845329228230843735874930803400213486779105113772383485069151987412555505131716938576482192218054206641447876789395955569109996685507104363615046593960129666926250043860932167494620453211779254733273170423387309344624280402416709924829931886538120857227751905868828866149709388304407574633403709014009532953366415329237209832216584728308331826942666301543143193363418165292392543414555684463987223078274739669167751420501552213243210095285564455508994791395170677820820462495296217994474476451060456862530637945467669687639673272105006309691110572564517155985547111029491864082955045750254658145998093283492352964789865254188800932526868792139948145369305047799486705920979222924747983529572589274166663710209242648798942496256451622384099483059759808486855977981936647096400441310345959013591567009107958763998068590802407018509019243200517680803875990079827205728797505574431620404112027193412541088050359335362620732723923961869671154101366039276804299251141581130761062174457490444528301980981650811862600154443029233903931266045221896856307417074969664332137196595167925799081319207836586792593160790881655719897736091929388091389987477072503053274355756180198947980362934698474711970886031853547486476629287256067086623647907719389162914747341295684467499862764014757078244533949322157840363382098102491642484682739425729667337634333403155499312702986540494899678884576288061993261506730939765617077786889518893279797481385144947961520263766933749613982974165993939226263317253880633653736628204400056970385852862145296535399720810554352084396246821717976607834747613235965405273204591319467537279477991548399742957201163763386602644398627607479684671358429917360391573917223145620512655347927934319183233321524 86807823946317824936813529981135684274990667319961550340937147369629814439510015769909157953103165252005181804904075134788705318740072624996489181675031944598852493658367307568905360210335783787975454911934638797308636106480032440456442098039304174457962172255052773042936929966166153250351900912700692070361633197450119151599194225910318528094266763797837589854138137564978420506004347358062250111103090850352232533063878737578124637585884125437875217542857643270692098728524894762434352112382465004320000152039330636997768642657210135275629670448894468337312084544594405740423076048739127924301420171326143112406777466316200387050085025106269781555232323200279095454451393076324487734179992981637335649330614315614441238085520786516433675858777983752991950325507907834745522543278594746316768529772618750361484856896373485369686026885946461435666169503202607194183555931578715147007777923769313117076861845853931314261389446269654855953373632542977423897113932910320533925946438285017250826620972619342618870999246260100937227381433434326862479857465705564122274969065025467151385779318045107569090340678052491617299473576923392503429855687052992175062749533006653150882956628632199146982666187591282837109584510836404571930182030543937539902588670056239602963622629517884537375596386072998150907802247287692425392932325379304491808049319445411000022120943850915181563866746774598271538143292715775327081555386145408836211246052866824738452461963715641200919355975957669158888116829890651415110925766886612419730194398145997528901080319381187890373578191860773237963700677420912724457768692344264228946335830515443328939629207997625781074546273405418232432774881230167872024352522708307983557701806402188300403763845902169435185458718433664235661743948659167084612571010125542138328106471107060284217142257185743798359282229953997044885832204463363480952227786785534649255504531927188323289619946821735926457714645243287359357177606737152241542880259631603846165337580366037649009114723118997415316145445873208461812168491067540650294494478119652573285946151163358424340320760973246703091750947800354300833409054462959560219158250443848813300428475215559780301271366660196903518999916504711083281719803197618549144869915801201980775287467401553674179519174082578148483002275474883668403255577832346362367529773964127482940704927191731615179036067039339251328605967668473129569128490674035338004580455668891013543346546194094299856732937844540336260841988999491955637247822088866807834379973673903622555685173329327528660864132438263650719291315066753804281426174016269599692772572476131777285701656525644654820768575662354935604303350051664020850813227702308293765926682988392745758657182296189780031609554272998273264047153118887524517817229631276549879732193289737561025939512175673784303582106213315897312358822163834748319963335513864500942593029366572362204149512743878821025919456005738482370500830538167137045027134863530346081191348810687480770529598255867002453579221424010163182091005358837057279690614227805265647687369496431045175963605489172012330950127 140458009634559268159192747317763726778835786141400801660836915334014592183045629035631416779645881121040545399814805136013190572757418045196772602720920936105389646837088630151914535976621925471510178196003392180295424531968363315234058734939120625041219302471911459667190804219847716603338020994364571718878689254842644225836073696662422673144477272887637808762049836804987607252828499877836399193846746667117462616951634299982063467166511635273936047820232714694962614483978055742984070403186668498599635103394198545163754341303769738081497003351176832040237009697067820370637455448411284326635274687843743709825819788985155506475129542267773955292389626240712604931387115292095324163044042344388392702334190005291677015617392390599576371608443272363736852255337802225471444710386979022063610429310378175311870797192744199935273018001869034476005964333298880797086826193280713610383974261095027992462054877348622638944317489059905985015461602194679975045622927671914879467461277112447186539335529787935054383202112082172358288147975962221691480253407009274597165531062682833690782953781811307718718740304201269846913184905941618240154363071493771273231962823043320062652759482352142293272340121010215802951526342855546977007280802304226011878762296079452496502648302254767091689065079056425278843580916487197356050524246368726682022429919369477011885966273079146025299741677577998485024922397829547710566624538132821391716377769805401220644680017922282648796145371913238268884802336995015030157519727016279345980238259078165023521533531160442623646748615248082582587981079837622649287700578882385086174087736384272195089338596302033355707949982419427765386141296559405081856569107436616315384644472703731443597127264067461827728873274118128222884822223398836252363991511677755381538201756671515793211933652356421619179744725250215039360308655523820343482865732253204336895177804032194632980730519386253082443261756272779223440132652487406899688878352915096199130127445620226449941641591911137363461514750921007948518089470290465398278024050708926739949656360406007223282817017424869087191234007560162787689387036399606656619599560789807826891995484323518544299339957462603922028019159705228764085595793277445754873667421375633601179399494594966215267569533417940769215726199436753339557356943871623166666780915545258244002879384682176143481017048690151113928760410697707033500394535895932194311997530638555345680543141362020098938052145681127128854002779881147675534983914018254899224367450746406675830040929509526476641227067136738362690177346920301290758055461272336686316420480195520940200448997821329122320631339677112013848837299373821861214195325804799936250609422414122413096291515699345279344312540813493172942931729406949517779323960571042166957519082808630840823420897320621745823845873147065511295332988157773974583280589394498154679221233766629332590002374889175356425640266560090566766747652256143744879774748099495751354395940130155018050007589804266745410780385187396765826489632966316741951049044145165657221604592642051557831311533423491195564271651 227265833580877093096006277298899411053826453461362352001774062703644406622555644805540574732749046373045727204718880270801895891497490670193261784395952880704242140495455937720819896186957709259485633107938030977604060638448395755690500832978424799499181474726964232710127734186013869853689921907065263789240322452292763377435267922572741201238744036685475398616187974369966027758832847235898649304949837517469695150015513037560188104752395760711811265363090357965654713212502950505418422515569133502919635255433529182161522983960979873357126673800071300377549094241662226111060531497150412250936694859169886822232597255301355893525214567374043736847621949440991700385838508368419811897224035326025728351664804320906118253702913177116010047467221256116728802580845710060216967253665573768380378959082996925673355654089117685304959044887815495911672133836501487991270382124859428757391752184864341109538916723202553953205706935329560840968835234737657398942736860582235413393407715397464437365956502407277673254201358342273295515529409396548553960110872714838719440500127708300842168733099856415287809080982253761464212658482865010743584218758546763448294712356049973213535716110984341440255006308601498640061110853691951548937462832848163551781350966135692099466270931772651629064661465129423429751383163774889781443456571748031173830479238814888011908087216930061206863608424352596756563065690545323037648179924278230227927623822672225959097141981637923849715501347870907427772919166885666445268445493902891765710432657224162552422613850541630514020326807108855820551681757258535373745469271226649315120423566899715524028967804299659136782496255824845997818916177789572953880921630144924298942346279105919744000891109969631262914331992551792458546566172058003336976562521803297519866308227778576077429075909542165417539026955204212084246140859987183824435093519038738986150682335959382956270350466207989008900976401516066582797310259224559141231758612546700045295465025986264098950756315030134778777660196794216410330257961358006048572518528828579313235602511569365647623137778398115790282984955360517088522796090862566216838757811233656640192423959539078324600611324122800825547019076209939847367315596475064304018537337176835581954686961996519889447088707500518917698728474911637007960612521703969529034310689509385726943584311873907758660053115729490365257366378366180163069523026569967532316577986307446359223889687556114398794785083525667465114844768880639631172231736107121707058747424420310298385726102838854005302091199575002013409468661987055095039481635288606286009193052671652717486150654346973777141399915339466949453140649425485882065008553507108230016536105402515158854948697995535059375922095086491446206978882525837042297141190202318716837251276098368401849360409496295530127427979360381408607691810321608722903243924908362655621814263133201694794151887633054177451559722565829049137248482794310881924801882963026097435587288940842498820537188060133747864359606611406929008580638325153799230739658372970922869291962138482603007275138912663207895221778 367723843215436361255199024616663137832662239602763153662610978037658998805601273841171991512394927494086272604533685406815086464254908715390034387116873816809631787332544567872734432163579634730995811303941423157899485170416759070924559567917545424540400777198875692377318538405861586457027942901429835508119011707135407603271341619235163874383221309573113207378237811174953635011661347113735048498796584184587157766967147337542251571918907395985747313183323072660617327696481006248402492918755802001519270358827727727325277325264749611438623677151248132417786103938730046481697986945561696577571969547013630532058417044286511400000344109641817692140011575681704305317225623660515136060268077670414121053998994326197795269320305567715586419075664528480465654836183512285688411964052552790443989388393375100985226451281861885240232062889684530387678098169800368788357208318140142367775726445959369102000971600551176592150024424389466825984296836932337373988359788254150292860868992509911623905292032195212727637403470424445653803677385358770245440364279724113316606031190391134532951686881667723006527821286455031311125843388806628983738581830040534721526675179093293276188475593336483733527346429611714443012637196547498525944743635152389563660113262215144595968919234027418720753726544185848708594964080262087137493980818116757855852909158184365023794053490009207232163350101930595241587988088374870748214804462411051619644001592477627179741821999560206498511646719784145696657721503880681475425965220919171111690670916302327575944147381702073137667075422356938403139662837096158023033169850109034401294511303283987719118306400601692492490446238244273763205057474348978035737490737581540614326990751809651187598018374037093090643205266669920681431388395456839589340554033481052901404509984450091870641009561898587036718771680454427123606449515511004167917959251291943323045860139991577589251080985594242091344238157788845806237442911711966040920636965461796244425592471606490548892397906941272142239174947715224358848347431648471446850542579537506053185258871975372870905954795822984877474218962920679876212183127262172873458357372023464467084419443862596868899951281585404747575038235915168611452911389752510058892204758552469183134086456591486104714658240918459686914454674348390347517969465575592695701091605054643970946463696556083902141070164419641479186126789063887196569917562465899726628575516946001704904432828918134497732837229206794593968847548761787306707215650125376606283114875166716974215767032348380481943318266711740376099646008907356385797537096560942972325613532867173657686599652168302899462031255016578963301977948799307743279203879311908166267145527816637571951240213694880338720234635899984619149910611932786560076465150773360883794770358906999242672781306816917275951273852507446919903024798479382697486524514302860810301035496899831027384154262522229533877199989125919615903996135050454626804576631062521848789983229070997516870544777864400493275139991798803694835070271291470541181788702518136580090896554780534160838586672336154403459493429 594989676796313454351205301915562548886488693064125505664385040741303405428156918646712566245143973867131999809252565677616982355752399385583296171512826697513873927828000505593554328350537343990481444411879454135503545808865154826615060400895970224039582251925839925087446272591875456310717864808495099297359334159428170980706609541807905075621965346258588605994425785544919662770494194349633697803746421702056852916982660375102439676671303156697558578546413430626272040908983956753820915434324935504438905614261256909486800309225729484795750350951319432795335198180392272592758518442712108828508664406183517354291014299587867293525558677015861428987633525122696005703064132028934947957492112996439849405663798647103913523023218744831596466542885784597194457417029222345905379217718126558824368347476372026658582105370979570545191107777500026299350232006301856779627590442999571125167478630823710211539888323753730545355731359719027666953132071669994772931096648836385706254276707907376061271248534602490400891604828766718949319206794755318799400475152438952036046531318099435375120419981524138294336902268708792775338501871671639727322800588587298169821387535143266489724191704320825173782352738213213083073748050239450074882206468000553115441464228350836695435190165800070349818388009315272138346347244036976918937437389864789029683388396999253035702140706939268439026958526283191998151053778920193785862984386689281847571625415149853138838963981198130348227148067655053124430640670766347920694410714822062877401103573526490128366761232243703651687402229465794223691344594354693396778639121335683716414934870183703243147274204901351629272942494069119761023973652138550989618412367726464913269337030915570931598909484006724353557537259221713139977954567514842926317116555284350421270818212228667948070085471440752454257798635658639207852590375498187992353052770330682309196542475950960545521431451802231100245214559304912389034753170936525182152395578008496289721057497592754647843154221971406921016835144509440769178605393006477495423061108366085366420861383544738518529092574221100667757203918281196964734979218124739090297115183257121107276843403401675193500562605708205573122057312125108458820226986227574362910742095729304765088773418588005994161746948418978604613183149260027355478581987279562224735402294564029697890048008429991660801123280149131844443493167430067359639440589035867258945153503253448064128322516474248896527622312732462059083692317642426937879447386232498313341862299587027272601493135187234487245409466286742389509114670894411480837018731849549258334806585538826375172750306515276676603431170356045912755118598224793625344212432819016396283681633219152730806188911690415398096156730986476065356889494458623602373606340975679600632021635005367644522141716313212806078701831867828328510716608800991420389768439211223465922849760033032722178306150155283711328759711691748665041244617844765508729378514025547946225570518011840015691081965924534241139499598410210623843650909616624340412528360891107502960188516919016763845861811248817611354715207 962713520011749815606404326532225686719150932666888659326996018778962404233758192487884557757538901361218272413786251084432068820007308100973330558629700514323505715160545073466288760514116978721477255715820877293403030979281913897539619968813515648579983029124715617464764810997737042767745807709924934805478345866563578583977951161043068950005186655831701813372663596719873297782155541463368746302543005886644010683949807712644691248590210552683305891729736503286889368605464963002223408353080737505958175973088984636812077634490479096234374028102567565213121302119122319074456505388273805406080633953197147886349431343874378693525902786657679121127645100804400311020289755689450084017760190666853970459662792973301708792343524312547182885618550313077660112253212734631593791181770679349268357735869747127643808556652841455785423170667184556687028330176102225567984798761139713492943205076783079313540859924304907137505755784108494492937428908602332146919456437090535999115145700417287685176540566797703128529008299191164603122884180114089044840839432163065352652562508490569908072106863191861300864723555163824086464345260478268711061382418627832891348062714236559765912667297657308907309699167824927526086385246786948600826950103152942679101577490565981291404109399827489070572114553501120846941311324299064056431418207981546885536297555183618059496194196948475671190308628213787239739041867295064534077788849100333467215627007627480318580785980758336846738794787439198821088362174647029396120375935741233989091774489828817704310908613945776789354477651822732626831007431450851419811808971444718117709446173467690962265580605503044121763388732313393524229031126487529025355903105308005527596327782725222119196927858043817444200742525891633821409342962971682515657670588765403322675328196678759818711095033339339490976570316113066331459039891009192160271012021622625632242402615942538134772512437396473191589452717093758195272196082648491223073032543470292534146649969199245196735552128912679063256010092224665128026952824654948942273603687903591419606120255520111389435047370044085545231422881201876840947162345386911963755472555280585574361262847264272062400513887293610320697095548040277070273138375980084421802946854281773948222859875179492098876405189337438291527637823608417702996551452855154920436493899618673668836511704986075562942193444568773323629619956493954556209358151501766985573729020199449769032755345392383394260459541939256653052539866404214244586663036357874919624977174753744246817260167535614969188727732998482765608760679801767866634555828410492230660420118406000032859349958683579576065462425372624876057096547024101368623416312130924562550827161035790302757429125385295736816391366886460684506800106391410162450071491749040484426791993912366887194923023130130082029975684375275248413741407280374117876292953514084276223885256932863749562460412677513245205959700817668280945240752895220135533955145088069795015553747082837532561626743788934734414639590209014318678721180908094881594317063409244083051085071699550924684448483584972014814208636 1557703196808063269957609628447788235605639625731014164991381059520265809661915111134597124002682875228350272223038816762049051175759707486556626730142527211837379642988545579059843088864654322711958700127700331428906576788147068724154680369709485872619565281050555542552211083589612499078463672518420034102837680025991749564684560702850974025627152002090290419367089382264792960552649735813002444106289427588700863600932468087747130925261513709380864470276149933913161409514448919756044323787405673010397081587350241546298877943716208581030124379053886998008456500299514591667215023830985914234589298359380665240640445643462245987051461463673540550115278625927096316723353887718385031975252303663293819865326591620405622315366743057378779352161436097674854569670241956977499170399488805908092726083346119154302390662023821026330614278444684582986378562182404082347612389204139284618110683707606789525080748248058637682861487143827522159890560980272326919850553085926921705369422408324663746447789101400193529420613127957883552442090974869407844241314584602017388699093826590005283192526844715999595201625823872616861802847132149908438384183007215131061169450249379826255636859001978134081092051906038140609160133297026398675709156571153495794543041718916817986839299565627559420390502562816392985287658568336040975368855597846335915219685952182871095198334903887744110217267154496979237890095646215258319940773235789615314787252422777333457419749961956467194965942855094251945519002845413377316814786650563296866492878063355307832677669846189480441041879881288526850522352025805544816590448092780401834124381043651394205412854810404395751036331226382513285253004778626080014974315473034470440865664813640793050795837342050541797758279785113346961387297530486525441974787144049753743946146408907427766781180504780091945234368951771705539311630266507380152624064791953307941438945091893498680293943889198704291834667276398670584306949253585016405225428121478788823867707466791999844578706350884085984272845236734105897205558217661426437696664796269676786026981639064849907964139944265186212988626799483073805682141563511651054052587738537706681638106250665947255901076493001815893819152860165385529093365362207658784713688950011078713311633293767498093038152137756416896140820972868445058475133440134717145171896194182703366726559713416067223743316724717905168073113123924021915848798740537634244518882523452897833161077861866632290788081854671718712136232184046641182466110422590373232966839474340771519418753302722849456434137199285225155117875350696179347471574560260041488995226703944826408032100265198856252668893595728670788812215145248894993967628744949940958834508794254943033563618037075711134912548097872936749863689600850033764823677832724720085058813628917734531717064739443342888108677516243103576924458016081365538266061392725307742146735016965896471740766562832796956534719412509416945986485370739985644263333659113617741241124265094677548252708709713468975554139188619224942522372090524719222006845424300351586011273588618567688530310294833789626168923843 2520416716819813085564013954980013922324790558397902824318377078299228213895673303622481681760221776589568544636825067846481119995767015587529957288772227726160885358149090652526131849378771301433435955843521208722309607767428982621694300338523001521199548310175271160016975894587349541846209480228344968908316025892555328148662511863894042975632338657921992232739752978984666258334805277276371190408832433475344874284882275800391822173851724262064170362005886437200050778119913882758267732140486410516355257560439226183110955578206687677264498407156454563221577802418636910741671529219259719640669932312577813126989876987336624680577364250331219671242923726731496627743643643407835115993012494330147790324989384593707331107710267369925962237779986410752514681923454691609092961581259485257361083819215866281946199218676662482116037449111869139673406892358506307915597187965278998111053888784389868838621608172363544820367242927936016652827989888874659066770009523017457704484568108741951431624329668197896657949621427149048155564975154983496889082154016765082741351656335080575191264633707907860896066349379036440948267192392628177149445565425842963952517512963616386021549526299635442988401751073863068135246518543813347276536106674306438473644619209482799278243408965455048490962617116317513832228969892635105031800273805827882800755983507366489154694529100836219781407575782710766477629137513510322854018562084889948782002879430404813776000535942714804041704737642533450766607365020060406712935162586304530855584652553184125536988578460135257230396357533111259477353359457256396236402257064225119951833827217119085167678435415907439872799719958695906809482035905113609040330218578342475968461992596366015169992765200094359241959022311004980782796640493458207957632457732815157066621474605586187585492275538119431436210939267884771870770670157516572312895076813575933573681347707836036815066456326595177483424119993492428779579145336233507628298460664949081358014357435991245041314258479796765047528855328958771025232511042316375379970268484173268205633101894584961297399187314309271758220049680684950646629303908898563017808060293818292255999369097930219318301590380295426214516248408205662599366503738187743206516635804292852661534493168946990191914557327093855187668458796476862761471684892989872065608390093801377035563071418402142786685510169286678491702733080417976472058156892039401230092611543652347602193833207259015685048541396610975365188772050450855427052773458948248152591816649094515766236013470258464425622864932283707920726636030497947214106130388670533719655646822350826440891450223882435828734356021101295664869311692272996362591045057080865521385335955290733336321047162461006871728939464759397434370489707241443927273749324473760569485605622830101418911987762573472970138653200618378825338199423361739656142354346239392018370620273898760221303226975510310201740679113327085226931726123635205779797288804201687536256678012177515080814335453502403709968778778828239261201093271432814103601162487709595669062358660318118613214758778418761640983132479 4078119913627876355521623583427802157930430184128916989309758137819494023557588414757078805762904651817918816859863884608530171171526723074086584018914754937998265001137636231585974938243425624145394655971221540151216184555576051345848980708232487393819113591225826702569186978176962040924673152746765003011153705918547077713347072566745017001259490660012282652106842361249459218887455013089373634515121861064045737885814743888138953099113237971445034832282036371113212187634362802514312055927892083526752339147789467729409833521922896258294622786210341561230034302718151502408886553050245633875259230671958478367630322630798870667628825714004760221358202352658592944466997531126220147968264797993441610190315976214112953423077010427304741589941422508427369251593696648586592131980748291165453809902561985436248589880700483508446651727556553722659785454540910390263209577169418282729164572491996658363702356420422182503228730071763538812718550869146985986620562608944379409853990517066615178072118769598090187370234555106931708007066129852904733323468601367100130050750161670580474457160552623860491267975202909057810070039524778085587829748433058095013686963212996212277186385301613577069493802979901208744406651840839745952245263245459934268187660928399617265082708531082607911353119679133906817516628460971146007169129403674218715975669459549360249892864004723963891624842937207745715519233159725581173959335320679564096790131853182147233420285904671271236670680497627702712126367865473784029749949236867827722077530616539433369666248306324737671438237414399786327875711483061941052992705157005521785958208260770479373091290226311835623836051185078420094735040683739689055304534051376946409327657410006808220788602542144901039717302096118327744183938023944733399607244876864910810567621014493615352273456042899523381445308219656477410082300424023952465519141605529241515120292799729535495360400215793881775258787269891099363886094589818524033523888786427870181882064902783244885892964830680851031801700565692876922438069259977801817666933280442944991660083533649811205363327258574457971208676480168024452311445472410214071860648032355998937637475348596166574202666873297242108335401268371048128459869100395401991230324754303931374846126462714488284952709464850272083809279769345307819946818333124589210780286287984080402289631131818210010428826894004583659775846204341998387906955632577035474611494067105245435354911069125647975836623251282694077325004234497496609518883881538621385558656123435287285654766772981313882057002131568933075844511381194126561577704948930575208650873526295652848923550489081292081403249616829966453681526837521891356558673802030806480219844749545676369884665199536718006641487562632334184234179308091477692097427157198480654544419251747835950629052502016815858247330716861482402262657439443105194408415738964699760517355290864656693043993538343107158275398525836502172918211494375191424060622463315305277497802277272192629067044163215872685522917967447464203723465361957533325608007912009947255073632248936686301745069073252551267152056322 6598536630447689441085637538407816080255220742526819813628135216118722237453261718379560487523126428407487361496688952455011291167293738661616541307686982664159150359286726884112106787622196925578830611814742748873525792323005033967543281046755488915018661901401097862586162872764311582770882632975109971919469731811102405862009584430639059976891829317934274884846595340234125477222260290365744824923954294539390612170697019688530775272964962233509205194287922808313262965754276685272579788068378494043107596708228693912520789100129583935559121193366796124451612105136788413150558082269505353515929162984536291494620199618135495348206189964335979892601126079390089572210641174534055263961277292323589400515305360807820284530787277797230703827721408919179883933517151340195685093562007776422814893721777851718194789099377145990562689176668422862333192346899416698178806765134697280840218461276386527202323964592785727323595972999699555465546540758021645053390572131961837114338558625808566609696448437795986845319855982255979863572041284836401622405622618132182871402406496751155665721794260531721387334324581945498758337231917406262737275313858901058966204476176612598298735911601249020057895554053764276879653170384653093228781369919766372741832280137882416543326117496537656402315736795451420649745598353606251038969403209502101516731652966915849404587393105560183673032418719918512193148370673235904027977897405569512878793011283586961009420821847386075278375418140161153478733732885534190742685111823172358577662183169723558906654826766459994901834594947511045805229070940318337289394962221230641737792035477889564540769725642219275496635771143774326904217076588853298095634752629719422377789650006372823390781367742239260281676324407123308526980578517402941357239702609680067877189095620079802937765731581018954817656247487541249280852970581540524778414218419105175088801640507565572310426856542389059258682907263383528143465239926052031661822349451376951539896422338774489927207223310477616079330555894651647947670580302294177197637201764616213197293185428234772502762514572883729729428726160852975098940749381308777089668708326174291193636844446526385892504257253592668322851649676576710727826372838583145197746960558596784036380619631661478476867266791944127271477738565822170581418503226114461276388676381785457437852702550220352797114337063291262151478579284759974859965112524616436704704105610757593037548744276384663660885164647893669442513776284948352036571657340486869538150472772529803051890780243239778307679867063852640996571147411692073775683835337601108928306520348646479289815000712963727910137605637931262118550838529794887719149718859111672001605180704836409706205712361997724878370427027391731618604669015332921619371176481672241224030024874577937369541040264590288828385983917479861227600856862804844850550770085204091778887975564763416914347220513853417360016077639163587399849937618010397203857911267516992813754480289449707709881379616718276395491696746275703464924558633390347429209170399719542924135990909254804914959827851671312908135188801 10676656544075565796607261121835618238185650926655736802937893353938216261010850133136639293286031080225406178356552837063541462338820461735703125326601737602157415360424363115698081725865622549724225267785964289024741976878581085313392261754987976308837775492626924565155349850941273623695555785721874974930623437729649483575356656997384076978151319977946557536953437701483584696109715303455118459439076155603436350056511763576669728372078200204954240026569959179426475153388639487786891843996270577569859935856018161641930622622052480193853743979577137685681646407854939915559444635319750987391188393656494769862250522248934366015835015678340740113959328432048682516677638705660275411929542090317031010705621337021933237953864288224535445417662831427607253185110847988782277225542756067588268703624339837154443378980077629499009340904224976584992977801440327088442016342304115563569383033768383185566026321013207909826824703071463094278265091627168631040011134740906216524192549142875181787768567207394077032690090537362911571579107414689306355729091219499283001453156658421736140178954813155581878602299784854556568407271442184348325105062291959153979891439389608810575922296902862597127389357033665485624059822225492839181026633165226307010019941066282033808408826027620264313668856474585327467262226814577397046138532613176320232707322426465209654480257110284147564657261657126257908667603832961485201937232726249076975583143136769108242841107752057346515046098637788856190860100751007974772435061060040186299739713786262992276321075072784732573272832361910832133104782423380278342387667378236163523750243738660043913861015868531111120471822328852746998952117272592987150939286681096368787117307416379631611569970284384161321393626503241636271164516541347674756846947486544978687756716634573418290039187623918478199101555707197726690935271005564477243933360024634416603921933307295107805787256758182941033941694533274627507351334515870555695346238237804821721778487241557734813100188141158467111132256460344524870108649562271979015304135045059158188953268961884583708125841831458187700637402641020999551252194853718991161529356358530290131274319795122552466706924126889910431187050944947758856286241938978547188977285312900715411226746094375966761819976256794399355287018335167478401365321559239050487168962669769537840142333682038562807543163957295845811254425489101973247872068157193472179315599677862838472903655345510311636721787899176363519838780519445848646090541222025490923709128895965090337545547016221092189736869195421574072415658792886200337261540286531684136957393874942132138738551202045019991540855254761228572232365367316779075708392661142478481825025454382086076090377561534442885011914590024065802838848323424399311468603638870721878574444126325773320170092766607104686633314634341343629863514302247950044959185824168791539405330855628073607391214052196524518291476165000089572768149112385588627918533730832298091252282566721900338948423779934149081014614713723167668648023995347880754817178311729490179209623158191491216704896924923864175287245123 17275193174523255237692898660243434318440871669182556616566028570056938498464111851516199780809157508632893539853241789518552753506114200397319666634288720266316565719711089999810188513487819475303055879600707037898267769201586119280935542801743465223856437394028022427741512723705585206466438418696984946850093169540751889437366241428023136955043149295880832421800033041717710173331975593820863284363030450142826962227208783265200503645043162438463445220857881987739738119142916173059471632064649071612967532564246855554451411722182064129412865172943933810133258512991728328710002717589256340907117556641031061356870721867069861364041205642676720006560454511438772088888279880194330675890819382640620411220926697829753522484651566021766149245384240346787137118627999328977962319104763844011083597346117688872638168079454775489572030080893399447326170148339743786620823107438812844409601495044769712768350285605993637150420676071162649743811632385190276093401706872868053638531107768683748397465015645190063878009946519618891435151148699525707978134713837631465872855563155172891805900749073687303265936624366800055326744503359590611062380376150860212946095915566221408874658208504111617185284911087429762503712992610145932409808003084992679751852221204164450351734943524157920715984593270036748117007825168183648085107935822678421749438975393381059059067650215844331237689680377044770101815974506197389229915130131818589854376154420356069252261929599443421793421516777950009669593833636542165515120172883212544877401896955986551182975901839244727475107427309421877938333853363698615631782629599466805261542279216549608454630741510750386617107593472627073903169193861446285246574039310815791164906957422752455002351338026623421603069950910364944798145095058750616114086650096225046564945812254653221227804919204937433016757803194738975971788241587105002022347578443739591692723573814860680116214113300572000292624601796658155650816574441922587357168587689181773261674909580332224740307411451636083190462812354996172817779229864566156212941336809675371386246454390119356210888356404341917430066128801873974650192944235027768251198064684704581324911164241648938359211181380482578754038700621524469584112614777561692386724245871497499447607365726037445238687243048738526626764756900989648982783824785353511763557639051554995277995036232258915604657501020587107962733004773861948107837180681809908884019705288620431510452399621894975297606952547070032962352556804394200682662198562512360461859601668494893389436327259460870497416736259274215068986806204578274112945375624132793065263914223588611428553551915008747901678460892692490690783203897111666794858111520254150483430206159218495782296089923532167763382341617415797421443517338757320930839780120542963102604469000903710689711133031197393515019298551821204857464371165052794895509955909372883318293306420391490521738434566049941878307553804163676972618086730395985831776444998349290905006762856171608048829803396652425476506311459998871133572582628738228184026348711449033103345614067446296131664724776595177083422433924 27951849718598821034300159782079052556626522595838293419503921923995154759474961984652839074095188588858299718209794626582094215844934662133022791960890457868473981080135453115508270239353442025027281147386671326923009746080167204594327804556731441532694212886654946992896862574646858830161994204418859921780716607270401373012722898425407213933194469273827389958753470743201294869441690897275981743802106605746263312283720546841870232017121362643417685247427841167166213272531555660846363476060919649182827468420265017196382034344234544323266609152521071495814904920846668244269447352909007328298305950297525831219121244116004227379876221321017460120519782943487454605565918585854606087820361472957651421926548034851686760438515854246301594663047071774394390303738847317760239544647519911599352300970457526027081547059532404988581370985118376032319147949780070875062839449742928407978984528813152898334376606619201546977245379142625744022076724012358907133412841613774270162723656911558930185233582852584140910700037056981803006730256114215014333863805057130748874308719813594627946079703886842885144538924151654611895151774801774959387485438442819366925987354955830219450580505406974214312674268121095248127772814835638771590834636250218986761872162270446484160143769551778185029653449744622075584270051982761045131246468435854741982146297819846268713547907326128478802346942034171028010483578339158874431852362858067666829959297557125177495103037351500768308467615415738865860453934387550140287555233943252731177141610742249543459296976912029460048380259671332710071438635787078893974170296977702968785292522955209652368491757379281497737579415801479820902121311134039272397513325991912159952024264839132086613921308311007582924463577413606581069309611600098290870933597582770025252702528889226639517844106828855911215859358901936702662723512592669479266280938468374008296645507122155787922001370058754941326566296329932783158167908957793143052514825926986594983453396821889959553407599592794550301595068815340697687887879426838135228245471854734529575199723352003939919014198235800105130703531442894974201445139088746759412727421043234871456185484036771490825918105507372489185225751566472228440398856716540239575701531184398214858834111820413412000507219305532925982051775236157127384149146344592562250726601721324533118137369914297478412200664977882953773987430262963921355709248839003381063335304966483269983356054967405286934328740446246396482191337323840049328752739784537851385568730564459983726981874275681962687153605454695789141402464997464474450206915910664477202221308098530743567292103117053767893219316147453719263015569264428445870566504181396628965255231613600581858386467485066610648394256207439863224282365662181720242308383759413684981178913127229484009881225797804498201652613186162548487327885467300744940469141733541674857698637276019564129129648618246466396599029969163766545386235842781574459694978729181588996259045422893508387778227176586574557520926173722038802220606624086108938843527023178523282555237225637787348369621701519041258709679047 45227042893122076271993058442322486875067394265020850036069950494052093257939073836169038854904346097491193258063036416100646969351048862530342458595179178134790546799846543115318458752841261500330337026987378364821277515281753323875263347358474906756550650280682969420638375298352444036628432623115844868630809776811153262450089139853430350888237618569708222380553503784919005042773666491096845028165137055889090274510929330107070735662164525081881130468285723154905951391674471833905835108125568720795795000984511872750833446066416608452679474325465005305948163433838396572979450070498263669205423506938556892575991965983074088743917426963694180127080237454926226694454198466048936763711180855598271833147474732681440282923167420268067743908431312121181527422366846646738201863752283755610435898316575214899719715138987180478153401066011775479645318098119814661683662557181741252388586023857922611102726892225195184127666055213788393765888356397549183226814548486642323801254764680242678582698598497774204788709983576600694441881404813740722311998518894762214747164282968767519751980452960530188410475548518454667221896278161365570449865814593679579872083270522051628325238713911085831497959179208525010631485807445784704000642639335211666513724383474610934511878713075936105745638043014658823701277877150944693216354404258533163731585273213227327772615557541972810040036622411215798112299552845356263661767492989886256684335451977481246747364966950944190101889132193688875530047768024092305802675406826465276054543507698236094642272878751274187523487686980754588009772489150777509605952926577169774046834802171759260823122498890031884354687009274106894805290504995485557644087365302727951116931222261884541616272646337631004527533528323971525867454706658848906985020247678995071817648341143879860745649026033793344232617162096675678634511754179774481288628516912113599989369080937016468038215483359326941619190898126590938808984483399715730409683413616168368245128306402222184293715011044430633492057881170336870505667109291404291441186808664409900961446177742123296129902554640142022560769660244768948851638083323774527663925485727939452781096648278420429185129286887855067939264452187996698024511471494101931962425777055895714306441477546450857239194462354271452608816532137146776366932971129946074014284240772879528396132406146556394016858165998470061736720435036825869463546429520813289947355010255103701493808454589300262231935692993316429444543894128234250011414938347050211847428332232954877116418201535142833184570341713970004210389271202042748563152291534797270267485222322119354995845655032062515794897777040146209953798773161540112665424615701650779448685437772819077640682557408598778411776597824855660645725883000939041173148163879956648083783382128133194699592358829001891716671911737983753344792256632353539835979097642914558175991943696411054650868083184296408274906583773327443518004322573177560291471423727530879901265808279065116436608030573239000034027237633720909935793189252824337122869875734627556385900851293084083480034346478114218342132112971 73178892611720897306293218224401539431693916860859143455573872418047248017414035820821877928999534686349492976272831042682741185195983524663365250556069636003264527879981996230826728992194703525357618174374049691744287261361920528469591151915206348289244863167337916413535237872999302866790426827534704790411526384081554635462812038278837564821432087843535612339306974528120299912215357388372826771967243661635353586794649876948940967679285887725298815715713564322072164664206027494752198584186488369978622469404776889947215480410651152775946083477986076801763068354685064817248897423407270997503729457236082723795113210099078316123793648284711640247600020398413681300020117051903542851531542328555923255074022767533127043361683274514369338571478383895575917726105693964498441408399803667209788199287032740926801262198519585466734772051130151511964466047899885536746502006924669660367570552671075509437103498844396731104911434356414137787965080409908090360227390100416593963978421591801608767932181350358345699410020633582497448611660927955736645862323951892963621473002782362147698060156847373073555014472670109279117048052963140529837351253036498946798070625477881847775819219318060045810633447329620258759258622281423475591477275585430653275596545745057418672022482627714290775291492759280899285547929133705738347600872694387905713731571033073596486163464868101288842383564445386826122783131184515138093619855847953923514294749534606424242468004302444958410356747609427741390501702411642446090230640769718007231685118440485638101569855663303647571867946652087298081211124937856403580123223554872742832127325126968913191614256269313382092266425075586715707411816129524830041600691294640111068955487101016628230193954648638587451997105737578106936764318258947197855953845261765097070350870033106500263493132862649255448476520998612381297235266772443960554909455380487608286014588059172255960216853418081882945757194456523721967152392357508873462198239543154963228581703224112143847122610637225183793652949985677568193554988718242426669432280519144430536645901094127236048916752875942127691473191687663923053083222412521287076652906771174324237282132315191920011047392395227557124490203754468926464910328210642171538127308240293929165275589366864269239701681659804378590868307373303903751082117474538636265010842494204061514269776060853872429058830976353015510707865299789790819255678359816671010690315221586971477164509556705549166264433439562825926735231452074299340167678131588063232997062797414860843400075810824795871723947168665793351791736199507223013359207445461747469706530420650098563137758149116283688117093187599929216814342425968558535991119883047408413940669386419659499069024893665389060170854032295523870008248663120761415456547639370333064962295255362678709473584626806389918324524924146301832120142099654284776448239376456233033690580972430618779997731802542874671505613742491210063390558415959134751166402456712468897524853701958624824386257749825574591548163807442948738013795876910446061713402757806079668456088518721870828403968179633259600841792018 118405935504842973578286276666724026306761311125879993491643822912099341275353109656990916783903880783840686234335867458783388154547032387193707709151248814138055074679828539346145187745035965025687955201361428056565564776643673852344854499273681255045795513448020885834173613171351746903418859450650549659042336160892707897912901178132267915709669706413243834719860478313039304954989023879469671800132380717524443861305579207056011703341450412807179946183999287476978116055880499328658033692312057090774417470389288762698048926477067761228625557803451082107711231788523461390228347493905534666709152964174639616371105176082152404867711075248405820374680257853339907994474315517952479615242723184154195088221497500214567326284850694782437082479909696016757445148472540611236643272152087422820224097603607955826520977337506765944888173117141926991609784146019700198430164564106410912756156576528998120539830391069591915232577489570202531553853436807457273587041938587058917765233186272044287350630779848132550488120004210183191890493065741696458957860842846655178368637285751129667450040609807903261965490021188563946338944331124506100287217067630178526670153895999933476101057933229145877308592626538145269390744429727208179592119914920642319789320929219668353183901195703650396520929535773939722986825806284650431563955276952921069445316844246300924258779022410074098882420186856602624235082684029871401755387348837840180198630201512087670989832971253389148512245879803116616920549470435734751892906047596183283286228626138721732743842734414577835095355633632841886090983614088633913186076150132042516878962127298728174014736755159345266446953434349693610512702321125010387685688056597368062185886709362901169846466600986269591979530634061549632804219024917796104840974092940760168887999211176986361009142158896442599681093683095288059931747020952218441843537972292601208275383668996188723998432336777408824564948092583114660776136875757224603871881653159323331473710009626334328140837621681655817285710831156014438699222098009646718110619089183554331498092078836250532178819307516084150252242851932432871904721305736295814740578392499113777018378780593612349196176679283082625063754655942465624489421799704744103500553085296189643471717066913315126478896144014075831199684839510450680118015088604484710279295083267083589910402182207410266445916996974823077247428300336615660282802107880629960958045325476690672970972964146005811398200126432879255371279125580308549351582616478638275080425395030369737959818277345967629056294288882635797562181007401549971576511498980259017737191752742769453558983413181178799483014870227746139170613115587508671201415735584698187862626107159238737139751582302264167471947451857151184515734131664059802588604711519326981148745677383495873409065943455808281634996436662130055176912398732007824612427337019370791209682524668841673430865814986839282946412197515818653581394880989136695042637826184243348798790661981023741260994288323064574625575401441163858673806985129734783184583278492433636054356939811805954308438314657747477942973904989 191584828116563870884579494891125565738455227986739136947217695330146589292767145477812794712903415470190179210608698501466129339743015911857072959707318450141319602559810535576971916737230668551045573375735477748309852038005594380814445651188887603335040376615358802247708851044351049770209286278185254449453862544974262533375713216411105480531101794256779447059167452841159604867204381267842498572099624379159797448100229084004952671020736300532478761899712851799050280720086526823410232276498545460753039939794065652645264406887718914004571641281437158909474300143208526207477244917312805664212882421410722340166218386181230720991504723533117460622280278251753589294494432569856022466774265512710118343295520267747694369646533969296806421051388079912333362874578234575735084680551891090030012296890640696753322239536026351411622945168272078503574250193919585735176666571031080573123727129200073629976933889913988646337488923926616669341818517217365363947269328687475511729211607863845896118562961198490896187530024843765689339104726669652195603723166798548141990110288533491815148100766655276335520504493858673225455992384087646630124568320666677473468224521477815323876877152547205923119226073867765528150003052008631655183597190506072973064917474964725771855923678331364687296221028533220622272373735418356169911556149647308975159048415279374520744942487278175387724803751301989450357865815214386539849007204685794103712924951046694095232300975555834106922602627412544358311051172847377197983136688365901290517913744579207370845412590077881482667223580284929184172194739026490316766199373686915259711089452425697087206351011428658648539219859425280326220114137254535217727288747892008173254842196463917798076660555634908179431527739799127739740983343176743302696927938202525265958350081210092861272635291759091855129570204093900441228982287724662402398447427673088816561398257055360979958649190195490707510705287039638382743289268114733477334079892702478294702291712850446471987960232318881001079363781141692006892777086727889144780051369702698762034737979930377768227736060392026277943716043620096794957804528148817101817231299270288101255660912908804269207224071678310182188244859696934550954332127915386275038680393536483572636992656280179395718597825673880209790553146883754583869097206079023346544305925761287651424671958268264138874975827951176092758136165636405451102057786240446631968735640698277644448137473702711360564464559872442081298014357032382848691750294610226338313422457827784598803218353156792424928018236051301590913972743601057194589870706425720765206898283163419552122121171330295083171131963415346068387427458013477229737406855467745596276566776545658396638820607195929556532118305889446708385742380327180564004061259158697314213707972638858552118539528082614671553320961586276357009032540831662109388875576395827024243373105641272292210863546789382157617917811258309863644785439405095829793804228640955817696315515682982366085380546072890149217123565248606807411820781006645229246296681250239715722813028330527825136842282837380737543815697007 309990763621406844462865771557849592045216539112619130438861518242245930568120255134803711496807296254030865444944565960249517494290048299050780668858567264279374677239639074923117104482266633576733528577096905804875416814649268233159300150462568858380835890063379688081882464215702796673628145728835804108496198705866970431288614394543373396240771500670023281779027931154198909822193405147312170372232005096684241309405808291060964374362186713339658708083712139276028396775967026152068265968810602551527457410183354415343313333364786675233197199084888241017185531931731987597705592411218340330922035385585361956537323562263383125859215798781523280996960536105093497288968748087808502082016988696864313431517017767962261695931384664079243503531297775929090808023050775186971727952703978512850236394494248652579843216873533117356511118285414005495184034339939285933606831135137491485879883705729071750516764280983580561570066413496819200895671954024822637534311267274534429494444794135890183469193741046623446675650029053948881229597792411348654561584009645203320358747574284621482598141376463179597485994515047237171794936715212152730411785388296856000138378417477748799977935085776351800427818700405910797540747481735839834775717105426715292854238404184394125039824874035015083817150564307160345259199541703006601475511426600230044604365259525675445003721509688249486607223938158592074592948499244257941604394553523634283911555152558781766222133946809223255434848507215660975231600643283111949876042735962084573804142370717929103589255324492459317762579213917771070263178353115124229952275523818957776590051579724425261221087766588003914986173293774973936732816458379545605412976804489376235440728905826818967923127156621177771411058373860677372545202368094539407537902031143285434846349292387079222281777450655534454810663887189188501160729308676880844241985399965690024836781926051549703957081526972899532075653379622753043519426143871958081205961545861801626176001722476780800128797854000536818365074612297706445591999184737535862890670458886253093532830058766628300406555367908110428195958895552529666862525833885112916557809691769401878274039693502416618403400750961392807251999515639400175443753927620130378539233478832673216108709723193494522197493969687956040990237986394205263987112294683508056823601009028371241335074140475674405320892824925999170005564465973021111384859894121076592926780966174968317419110437848717171962664686305321336669293482612691398043332911088864613393847852858154336763036630502760053984312524933937388476153751002607166166382205405979782944090035906189005681104584511473882654146833643092207558040573600985900938822591052443784139192883704897133778572189498193724004065757746597892901476511991240366592665970678024295362453650022354425527605471538422953188317398248406412185944939563669934001302913415197815453055630310113965641729361776221440564330008774128517226180320394232524836442054825199166495106177664006107346374834395954723842698966689770666085627766136380012430879959742673351777169968142333779445280597495128215486789601996 501575591737970715347445266448975157783671767099358267386079213572392519860887400612616506209710711724221044655553264461715646834033064210907853628565885714420694279799449610500089021219497302127779101952832383553185268852654862613973745801651456461715876266678738490329591315260053846443837432007021058557950061250841232964664327610954478876771873294926802728838195383995358514689397786415154668944331629475844038757506037375065917045382923013872137469983424991075078677496053552975478498245309148012280497349977420067988577740252505589237768840366325399926659832074940513805182837328531145995134917806996084296703541948444613846850720522314640741619240814356847086583463180657664524548791254209574431774812538035709956065577918633376049924582685855841424170897629009762706812633255869602880248691384889349333165456409559468768134063453686083998758284533858871668783497706168572059003610834929145380493698170897569207907555337423435870237490471242188001481580595962009941223656401999736079587756702245114342863180053897714570568702519081000850165307176443751462348857862818113297746242143118455933006499008905910397250929099299799360536353708963533473606602938955564123854812238323557723547044774273676325690750533744471489959314295932788265919155879149119896895748552366379771113371592840380967531573277121362771387067576247539019763413674805049965748663996966424874332027689460581524950814314458644481453401758209428387624480103605475861454434922365057362357451134628205333542651816130489147859179424327985864322056115297136474434667914570340800429802794202700254435373092141614546718474897505873036301141032150122348427438778016662563525393153200254262952930595634080823140265552381384408695571102290736765999787712256085950842586113659805112286185711271282710234829969345810700804699373597172083554412742414626309940234091283088942389711596401543246640432827638778841398180183106910683915730717168390239586358666662391426262715411986691558540041438564279920878293435327227272116758086319417819444438393439398452484776271465425007670721828588951855567568038697006068634291428300136706139674939172626461820330362033930018375040991039689979529700606411220887610624822639702989440244375336334726398086055535516653577913872369156788745702379473673917916091795361836250780791133277959847856209500762531403367906934789658892759746098743938544195868652877175262763700631609426562486917680361523224895516606873245961867247911551428532527129246177763417967307839645074246735083205699090951707270310685938935566254983659552478912330760985238979390126494603664360756252911831700548150988319069608557803225755841768965825278797058438275945468031614463130676229446520189380415759660250555530417392796694123280536184063636044601287218892318420930596727229836721609576161622661212977646144999621037624741638359834682769194977480395332043390178489811024839696428735951386257852592908565603598182247820032438380870965759799328354630246283466154984191421693346988473431755380468844873059822531938377473497448547143025241677176640992913067499982996472861604582122880332508953030605299003 811566355359377559810311038006824749828888306211977397824940731814638450429007655747420217706518007978251910100497830421965164328323112509958634297424452978700068957039088685423206125701763935704512630529929289358060685667304130847133045952114025320096712156742118178411473779475756643117465577735856862666446259956708203395952942005497852273012644795596826010617223315149557424511591191562466839316563634572528280066911845666126881419745109727211796178067137130351107074272020579127546764214119750563807954760160774483331891073617292264470966039451213640943845364006672501402888429739749486326056953192581446253240865510707996972709936321096164022616201350461940583872431928745473026630808242906438745206329555803672217761509303297455293428113983631770514978920679784949678540585959848115730485085879138001913008673283092586124645181739100089493942318873798157602390328841306063544883494540658217131010462451881149769477621750920255071133162425267010639015891863236544370718101196135626263056950443291737789538830082951663451798300311492349504726891186088954782707605437102734780344383519581635530492493523953147569045865814511952090948139097260389473744981356433312923832747324099909523974863474679587123231498015480311324735031401359503558773394283333514021935573426401394854930522157147541312790772818824369372862579002847769064367778934330725410752385506654674360939251627619173599543762813702902423057796311733062671536035256164257627676568869174280617792299641843866308774252459413601097735222160290070438126198486015065578023923239062800118192382008120471324698551445256738776670750421324830812891192611874547609648526544604666478511566446975228199685747054013626428553242356870760644136300008117555733922914868877263722253644487520482484831388079365822117772732000489096135651048665984251305836190193070160764750897978472277443550440905078424090882418227604468866234962109158460387872812244141289771662012046285144469782141555858649639746002984426081547054295157804008072245555940319954637809513005737104898076775456202960870561392287475204949100398097463634369040846796208247134335633834725156128682856195919042934932850682809091857803740299913637506014025573601095796692243890975734901841839983155647032117147351201830004854412102667168440113585765049792291771029119672165111843321795446039460191507943818030134094820239219612949516761477803174432769265097582447673871777574482599817822297573048214279286358349400145704489793932483084754636601322257765644778416116787955565101118163544093272329291614162312532896643285919176367866280245606271526922635117237680331095078354975797563484330340353242848479425630701530483503508605215449031615052037572633164554952543955452664195964986192317004540249821382642494188695404309661297189393200514745904938615272683567403173750471159460577929955758083089181380922419959001977391481403226222655149484366261500223494322270341825038746577828806566898097146080193560879466688338291354150686527871010994580778130214864799596902521498628148139583076313279405254108056600735586419277152964615195384027403477827637168517394900999 1313141947097348275157756304455799907612560073311335665211019945387030970289895056360036723916228719702472954756051094883680811162356176720866487925990338693120763236838538295923295146921261237832291732482761672911245954519958993461106791753765481781812588423420856668741065094735810489561303009742877921224396321207549436360617269616452331149784518090523628739455418699144915939200988977977621508260895264048372318824417883041192798465128032741083933648050562121426185751768074132103025262459428898576088452110138194551320468813869797853708734879817539040870505196081613015208071267068280632321191870999577530549944407459152610819560656843410804764235442164818787670455895109403137551179599497116013176981142093839382173827087221930831343352696669487611939149818308794712385353219215717718610733777264027351246174129692652054892779245192786173492700603407657029271173826547474635603887105375587362511504160622778718977385177088343690941370652896509198640497472459198554311941757598135362342644707145536852132402010136849378022367002830573350354892198362532706245056463299920848078090625662700091463498992532859057966296794913811751451484492806223922947351584295388877047687559562423467247521908248953263448922248549224782814694345697292291824692550162482633918831321978767774626043893749987922280322346095945732144249646579095308084131192609135775376501049503621099235271279317079755124494577128161546904511198069942491059160515359769733489131003791539337980149750776472071642316904275544090245594401584618056302448254601312202052458591153633140918622184802323171579133924537398353323389225318830703849192333644024669958075965322621329042036959600175482462638677649647707251693507909252145052831871110408292499922702581133349673096230601180287597117573790637104828007561969834906836455748039581423389390602935484787074691132069755366385940152501479967337522851055243247707633142292265371071788542961309680011248370712947535896044856967845341198286044422990361467932588593131235344362314026639372457253951399176503350561551727668385878232114116064156804667966136160640437675138224508383840475308773897782590503186557952972953307891673848781837333440906324858393624650396240798786132488266312069628239926038691163685695061223570986793600114482140842358029677560411628542551820252950124959699531296208570863559414878607689026854566337963551493712630130680349695532965729191874236358695254844123042717814179921460241153606260951574237016923178660848172603909161902839891513499322487046516808388474230032207895546597821865011808974046904415347256406740209935887678888029069380879246066674045406121287556096195011814304704427759968759448976636829912162291281484092822544970712204206008194613357782886440285076433885018687095475914296628082227786120430351467514514776895344780380819895470780498202671594117917771950575899900354334020781659893037247494845913102212886481346915178907428636928825648839005278968111839992889234096934621757509134877949564357983054209885595333644469962344030566525613080524860422430495785233241728499486777135961088056988609526358160146121548000200002 2124708302456725834968067342462624657441448379523313063035960677201669420718902712107456941622746727680724864856548925305645975490679289230825122223414791671820832193877626981346501272623025173536804363012690962269306640187263124308239837705879507101909300580162974847152538874211567132678768587478734783890842581164257639756570211621950183422797162886120454750072642014294473363712580169540088347577458898620900598891329728707319679884873142468295729826117699251777292826040094711230572026673548649139896406870298969034652359887487090118179700919268752681814350560088285516610959696808030118647248824192158976803185272969860607792270593164506968786851643515280728254328327038148610577810407740022451922187471649643054391588596525228286636780810653119382454128738988579662063893805175565834341218863143165353159182802975744641017424426931886262986642922281455186873564155388780699148770599916245579642514623074659868746862798839263946012503815321776209279513364322435098682659858794270988605701657588828589921940840219801041474165303142065699859619089548621661027764068737023582858435009182281726993991486056812205535342660728323703542432631903484312421096565651822189971520306886523376771496771723632850572153746564705094139429377098651795383465944445816147940766895405169169480974415907135463593113118914770101517112225581943077148498971543466500787253435010275773596210530944698928724038339941864449327568994381675553730696550615933991116807572660713618597942050418315937951091156734957691343329623744908126740574453087327267630482514392695941036814566810443642903832475982655092100059975740155534662083526255899217567724491867225995520548526047150710662324424703661333680246750266122905696968171118525848233845617450010613395349875088700770081948961870002926945780293970324002972106796705565674695226793128554947839442030048227643829490593406558391428405269282847716573868104401423831459661355205450969782910382759232680365826998523703990838032047407416443014986883750935243416607869966959327095063464404913608248638327183871346748793506403539361753768364233624274806715985020716630974810942608622938719186042753872015888240742356657873695137181206238495899638675969841894582824732157287804530081766021846810717812208574772816798454526584808010798143263325461420834322849372622290071542853091654610323750922822425719160949386577183164443229391608483524128302230826774321910230472829326722860540111752969674520439964610351719941506717111143932927240510484160605536291915439275002081909506637774125480224838211984177544705617332823591715122686985816207414601523146307061210341145029021203684771886436548254662784130058461499242952485242045361193906333521665455709525664748161460858809322769078757289616683706401329589664609700937743524975513630866213419453392168028347783993645941939958780601549876000861131956822320313335998173141296263470149995397468474386704841237449249253675675403477645572177065257920186450113563622960048863285564477435368977634988015810198444066864865529194673752663601173701835749893289842464085906054288925703252372636929835987783290065395101001 3437850249554074110125823646918424565054008452834648728246980622588700391008797768467493665538975447383197819612600020189326786653035465951691610149405130364941595430716165277269796419544286411369096095495452635180552594707222117769346629459644988883721889003583831515893603968947377622240071597221612705115238902371807076117187481238402514572581680976644083489528060713439389302913569147517709855838354162669272917715747611748512478350001175209379663474168261373203478577808168843333597289132977547715984858980437163585972828701356887971888435799086291722684855756169898531819030963876310750968440695191736507353129680429013218611831250007917773551087085680099515924784222147551748128990007237138465099168613743482436565415683747159117980133507322606994393278557297374374449247024391283552951952640407192704405356932668396695910203672124672436479343525689112216144737981936255334752657705291832942154018783697438587724247975927607636953874468218285407920010836781633652994601616392406350948346364734365442054342850356650419496532305972639050214511287911154367272820532036944430936525634844981818457490478589671263501639455642135454993917124709708235368448149947211067019207866448946844019018679972586114021075995113929876954123722795944087208158494608298781859598217383936944107018309657123385873435465010715833661361872161038385232630164152602276163754484513896872831481810261778683848532917070025996232080192451618044789857065975703724605938576452252956578091801194788009593408061010501781588924025329526183043022707688639469682941105546329081955436751612766814482966400520053445423449201058986238511275859899923887525800457189847324562585485647326193124963102353309040931940258175375050749800042228934140733768320031143963068446105689881057679066535660640031773787855940158909808562544745147098084617396064039734914133162117983010215430745908038358765928120338090964281501246693689202531449898166760649794158753472180216261871855491549332036318091830406804482919472344066478760970183993598699552317415804090111599199878911539732627025620519603518558436330369784915244391123245225014815286251382520721309689229311824988841548634030506655532470622112563354293263326366082693368957220423599874158321692060537974403507269798343803592054641066948853156172940885873049376874669625572415031242384387863181187310337701033408187803952915146715936942021739163873823835196555966196146589168084170845903257925932891134761593570871303294178523640289804781099844419646063445427805414761762048598717895112004157688120384809806042556514591379728007062379093726026143302280411175376442089587211703066609806059442532743266477088834486221468002401461878875273356197615005758278254496376952367469053422680551965197574693117591420016685140523997565825752761634061217680933968169063373128164813541412720456983273143993918633082532722220667670018954801189300717644841310570687273186188152628156682312604229126484577456033369760179339347660557581806372420442426999726960689197901405532088536827209559761199365744126034124266245678523084192585392831424886791309361246456194147929411613395301003 5562558552010799945093890989381049222495456832357961791282941299790369811727700480574950607161722175063922684469148945494972762143714755182516732372819922036762427624593792258616297692167311584905900458508143597449859234894485242077586467165524495985631189583746806363046142843158944754918840184700347489006081483536064715873757692860352697995378843862764538239600702727733862666626149317057798203415813061290173516607077340455832158234874317677675393300285960624980771403848263554564169315806526196855881265850736132620625188588843978090068136718355044404499206316258184048429990660684340869615689519383895484156314953398873826404101843172424742337938729195380244179112549185700358706800414977160917021356085393125490957004280272387404616914317975726376847407296285954036513140829566849387293171503550358057564539735644141336927628099056558699465986447970567403018302137325036033901428305208078521796533406772098456471110774766871582966378283540061617199524201104068751677261475186677339554048022323194031976283690576451460970697609114704750074130377459776028300584600773968013794960644027263545451481964646483469036982116370459158536349756613192547789544715599033256990728173335470220790515451696218964593229741678634971093553099894595882591624439054114929800365112789106113587992725564258849466548583925485935178474097742981462381129135696068776951007919524172646427692341206477612572571257011890445559649186833293598520553616591637715722746149112966575176033851613103947544499217745459472932253649074434309783597160775966737313423619939025022992251318423210457386798876502708537523509176799141773173359386155823105093524949057073320083134011694476903787287527056970374612187008441497956446768213347459988967613937481154576463795980778581827761015497530642958719568149910482912780669341450712772779844189192594682753575192166210654044921339314596750194333389620938680855369351095113033991111253372211619577069136231412896627698854015253322874350139237823247497906356095001722177578053960558026647380880209003719847838206095411079375819126923142880312204694603409190051107108265941645790097193991143660028875272065697004729789376387164529227607803318801850192902002335924587951781952580887678688403458082384785121319478373116620390509167651756863954316204211334470211197518998194705102785237479517791511061260523459127348753339492329880380171413347647397952137427382740518056819640913497568763798037685860809282033535481655014120030357400948714027084930130224050964097330201037050680627401749778283168345223021790220101220208712551598777501780711842350716881934321683503299928356732087813490831328969291521139872964544682967245353947120920634550103948527423733964022041700528929912232003321043954864309801297821346274805133698503569277737147692083894353421561231401475948807187354660415763874693869919494214489544540981006017127942485564187794836708039161659891029390077405935988279632604130149633098627680365789461224180541855235706006904435095938324185917215730532603692075088955873118407727207826101995571812926656671298885713812494561733883386030135712701678790402004 9000408801564874055219714636299473787549465285192610519529921922379070202736498249042444272700697622447120504081748965684299548796750221134208342522225052401704023055309957535886094111711597996274996554003596232630411829601707359846933096625169484869353078587330637878939746812106322377158911781921960194121320385907871791990945174098755212567960524839408621729128763441173251969539718464575508059254167223959446434322824952204344636584875492887055056774454221998184249981656432397897766604939503744571866124831173296206598017290200866061956572517441336127184062072428082580249021624560651620584130214575631991509444633827887045015933093180342515889025814875479760103896771333252106835790422214299382120524699136607927522419964019546522597047825298333371240685853583328410962387853958132940245124143957550761969896668312538032837831771181231135945329973659679619163040119261291368654086010499911463950552190469537044195358750694479219920252751758347025119535037885702404671863091579083690502394387057559474030626540933101880467229915087343800288641665370930395573405132810912444731486278872245363908972443236154732538621572012594613530266881322900783157992865546244324009936039784417064809534131668805078614305736792564848047676822690539969799782933662413711659963330173043057695011035221382235339984048936201768839835969904019847613759299848671053114762404038069519259174151468256296421104174081916441791729379284911643310410682567341440328684725565219531754125652807891957137907278755961254521177674403960492826619868464606206996364725485354104947688070035977271869765277022761982946958377858128011684635246055746992619325406246920644645719497341803096912250629410279415544127266616873007196568255576394129701382257512298539532242086468462885440082033191282990493356005850641822589231886195859870864461585256634417667708354284193664260352085222635108960261509959029645136870597788802236522561151538972269371227889703593112889570709506802654910668231068230051980825828439068200938548237954156726199698296013093831447038085006950812002844747442746398870641024973194105295498231511166660605383445373664381338564501377521993571338010417671184760078425431365204486165328702007281320739173004487552846725150142922759524826748171460423982563808718705717110489145097207519588072188623767120134027621867380972698371598224492535536557292407476596317113435086811271775972623938706714203408808997668414667055963618751944043627106352958308298553997690753495126929349776287496391902744962799099279345296861782440856465607831596262657734800092279605839880874437868494019162345497059945389515568435154423296890771502034787616961799030904435247755408999795907906301563533182012218518418652896398965654683873009152439002918889241362959945657696069395030498781753301575287389730294774604113620728767380872747147837863838127297022266761648676036082743674864905439678018609848933077217542705562618300883861730614727089131997440545128808884738123661608126449331434822899013383818621262621140519284648717072484151853241950368241250336010849256691717138699285871095129842224283642113292185703007 14562967353575674000313605625680523010044922117550572310812863222169440014464198729617394879862419797511043188550897911179272310940464976316725074895044974438466450679903749794502391803878909581180897012511739830080271064496192601924519563790693980854984268171077444241985889655265267132077751966622307683127401869443936507864702866959107910563339368702173159968729466168907114636165867781633306262669980285249619950929902292660176794819749810564730450074740182623165021385504695952461935920746029941427747390681909428827223205879044844152024709235796380531683268388686266628679012285244992490199819733959527475665759587226760871420034936352767258226964544070860004283009320518952465542590837191460299141880784529733418479424244291933927213962143274059748088093149869282447475528683524982327538295647507908819534436403956679369765459870237789835411316421630247022181342256586327402555514315707989985747085597241635500666469525461350802886631035298408642319059238989771156349124566765761030056442409380753506006910231509553341437927524202048550362772042830706423873989733584880458526446922899508909360454407882638201575603688383053772066616637936093330947537581145277581000664213119887285600049583365024043207535478471199819141229922585135852391407372716528641460328442962149171283003760785641084806532632861687704018310067647001309994888435544739830065770323562242165686866492674733908993675431093806887351378566118205241830964299158979156051430874678186106930159504420995904682406496501420727453431323478394802610217029240572944309788345424379127939939388459187729256564153525470520470467554657269784857994632211570097712850355303993964728853509036280000699538156467249790156314275058370963643336468923854118668996194993453115996038067247044713201097530721925949212924155761124735369901227646572643644305774449229100421283546450404318305273424537231859154594899579968325992239948883915270513672404911183888948297025935006009517269563522055977785018370306053299478732184534069923116126291914714752847079176222097551294876291102361891378663874365889279182845719576603295346605339777108306395480639364808041367439773443218998301127386804835713987686228750167054679067331037931869272521125585375231535128608225307544646146226544577044373072976370462581064805349308541989799269707621961825236812859346898764209432858747951662885310631899806476697284848434458669728110051321447232260228449911165983430854001304612753325660641834613322418584355091702209154014279906511547356000075163836149959972698611560724024810830853386482758955008804831204617382655149710844736044279818743448689443925167242236787722100471326308756834763575587402493109356120716542456405512060605746182540460353425328877886687194053107303312720187062709234750791394572964308235929445385469640811291526176080062427916122041288511022531733757621511511811302629682053210686160429093234514726649010592968246932782968554289163494334744876722230625120910918270108918665516843832456235869918837337569735836993153744211359737672945602559580449776470236822148937505927990602852511780432829013228254419354814970976105011 23563376155140548055533320261979996797594387402743182830342785144548510217200696978659839152563117419958163692632646876863571859737215197450933417417270026840170473735213707330388485915590507577455893566515336062710682894097899961771452660415863465724337346758408082120925636467371589509236663748544267877248722255351808299855648041057863123131299893541581781697858229610080366605705586246208814321924147509209066385252727244864521431404625303451785506849194404621349271367161128350359702525685533685999613515513082725033821223169245710213981281753237716658867330461114349208928033909805644110783949948535159467175204221054647916435968029533109774115990358946339764386906091852204572378381259405759681262405483666341346001844208311480449811009968572393119328779003452610858437916537483115267783419791465459581504333072269217402603291641419020971356646395289926641344382375847618771209600326207901449697637787711172544861828276155830022806883787056755667438594276875473561020987658344844720558836796438312980037536772442655221905157439289392350651413708201636819447394866395792903257933201771754273269426851118792934114225260395648385596883519258994114105530446691521905010600252904304350409583715033829121821841215263764667188906745275675822191190306378942353120291773135192228978014796007023320146516681797889472858146037551021157608647735393410883180532727600311684946040644142990205414779605175723329143107945403116885141374981726320596380115600243405638684285157228887861820313775257381981974608997882355295436836897705179151306153070909733232887627458495165001126329430548232503417425932515397796542629878267317090332175761550914609374573006378083097611788785877529205700441541675243970839904724500248248370378452505751655528280153715507598641179563913208939706280161611766557959133113842432514508767359705863518088991900734597982565625509759866968114856409538997971129110546672717507036233556450156158319524915638599122406840273028858632695686601374283351459558012973138124054674529868871479046777472235191382741914376109312703381508621808635678053486744549797400642103571288274967000864084738472422706004274820740991872465397222506898747764654181532259165232659739939150593260298589862784381853758368230304170972974716037468355636785089168298175294494405749509387341896245728945370840481214279736907804456972444198421867924307283073014398283521269941504082675260153946463637258908834398097909964923364697369287748187571630717138352782455704280943629682799043747902820126635249239317995473343164881276438684982745416689808897110810457263529587579338755206625315803394078959493602396660084612871973361096373796562606491837740864765120512450362707075593787758401058879006321727843541371067062259742315639076304072194696449090642359338734711198687044928201021820950684176048644889422161258170369597595748808534078064278358089293429835293998674192745258859526045464475488531172590047356065359603811362622561456047078993656789178451958905567304741736350953554458255774884730644386390018086711433691726838478072484948355184682319991211066303924143070478702996928263161808018 38126343508716222055846925887660519807639309520293755141155648366717950231664895708277234032425537217469206881183544788042844170677680173767658492312315001278636924415117457124890877719469417158636790579027075892790953958594092563695972224206557446579321614929485526362911526122636856641314415715166575560376124124795744807720350908016971033694639262243754941666587695778987481241871454027842120584594127794458686336182629537524698226224375114016515956923934587244514292752665824302821638446431563627427360906194992153861044429048290554366005990989034097190550598849800615837607046195050636600983769682494686942840963808281408787856002965885877032342954903017199768669915412371157037920972096597219980404286268196074764481268452603414377024972111846452867416872153321893305913445221008097595321715438973368401038769476225896772368751511656810806767962816920173663525724632433946173765114641915891435444723384952808045528297801617180825693514822355164309757653515865244717370112225110605750615279205819066486044447003952208563343084963491440901014185751032343243321384599980673361784380124671263182629881259001431135689828948778702157663500157195087445053068027836799486011264466024191636009633298398853165029376693734964486330136667860811674582597679095470994580620216097341400261018556792664404953049314659577176876456105198022467603536170938150713246303051162553850632907136817724114408455036269530216494486511521322126972339280885299752431546474921591745614444661649883766502720271758802709428040321360750098047053926945752095615941416334112360827566846954352730382893584073703023887893487172667581400624510478887188045026116854908574103426515414363098311326942344778995856755816733614934483241193424102367039374647499204771524318220962552311842277094635134888919204317372891293329034341489005158153073134155092618510275447185002300870898934297098827269451309118966297121350495556632777549905961361340047267821941573605131924109836550914610480704971680336650938290197507208047170800821783586231893856648457288934036790667211674594760172496174524957236332464126400695988708911065383273396344724103280464073444048263959990173592784027342612735450882931699313844299990777871019865781424175238015916982366593537848817119201260614512728709761459630879240099843714291499186611603867690770607653340561178501117237315720395861307178556207089549711683131955728611232192726581601178723865708820000381528763966227977450694948390022184953135722707874157913434957909589310591103902895290471399199290694084903888906087269538369228175644817701942015074646184737290183491250905134546842768403418769638896872334972444687405130631326182079240233974121241228992819112587654393504583599339359747056721428058261115367045628359263366781429447240485215323646970640644072514569012313347126764238476561011463449769192901331353370320045889366908040142504115995723091908707471907870119013711408271499726879210850400104480533593247682366965349102575454695295791361803174660573688523290295248928628942004124062963689271014141503308714894633885861112672922843722846736753156298733122351743234137913029 61689719663856770111380246149640516605233696923036937971498433511266460448865592686937073184988654637427370573816191664906416030414895371218591909729585028118807398150331164455279363635059924736092684145542411955501636852691992525467424884622420912303658961687893608483837162590008446150551079463710843437624846380147553107575998949074834156825939155785336723364445925389067847847577040274050934906518275303667752721435356782389219657629000417468301463773128991865863564119826952653181340972117097313426974421708074878894865652217536264579987272742271813849417929310914965046535080104856280711767719631029846410016168029336056704291970995418986806458945261963539533056821504223361610299353356002979661666691751862416110483112660914894826835982080418845986745651156774504164351361758491212863105135230438827982543102548495114174972043153075831778124609212210100304870107008281564944974714968123792885142361172663980590390126077773010848500398609411919977196247792740718278391099883455450471174116002257379466081983776394863785248242402780833251665599459233980062768779466376466265042313326443017455899308110120224069804054209174350543260383676454081559158598474528321391021864718928495986419217013432682286851217908998729153519043413136487496773787985474413347700911989232533629239033352799687725099565996457466649734602142749043625212183906331561596426835778762865535578947780960714319823234641445253545637594456924439012113714262611620348811662075164997384298729818878771628323034047016184691402649319243105393483890824650931246922094487243845593715194305449517731509223014621935527305319419688065377943254388746204278377201878405823183477999521792446195923115728222308201557197358408858905323145917924350615409753100004956427052598374678059910483456658548343828625484478984657851288167455331437672661840493860956136599267347919600283436524444056965795384307718657964268250461042229350284586139517811496205587346857212204254330950109579773243176391573054620002397848210480346171225475351652457710940634120692480316778705043320987298141681117983160635289819208676198096630812482353658240397208808841752886779448323084700982046058181249849511483215537113231573009532650517810170459041722765100800298836124961768152988092175976651981084346546548799177415394338120041008573953500113419715978493821775458238025041772692840059729046480514372622726081415476998552736275401841755125187502967728834779626673931151342148064236138209756583852861060656613617715901539272109634851805715417106648438608689558247053787363708223351973592334626599052825531909714324869522246457530450350236847362912372035556956947844418048501504427888788571077974838886361741443181819663248181262984658218366068784564969429328177626787943998339670853624143689575857682985705351842759559497213335168077448414525205900885611027363270928949119128579967431186398231797545831017090582900217166729645059175883760030899469258206465464084344955870243823012428096232243873747750267370479402310039476844753504703513672648510452981775982447833230147192967118834216297355242834933913040677299369211825348671497299721047 99816063172572992167227172037301036412873006443330693112654081877984410680530488395214307217414191854896577454999736452949260201092575544986250402041900029397444322565448621580170241354529341894729474724569487848292590811286085089163397108828978358882980576617379134846748688712645302791865495178877418998000970504943297915296349857091805190520578418029091665031033621168055329089448494301893055491112403098126439057617986319913917883853375531484817420697063579110377856872492776956002979418548660940854335327903067032755910081265826818945993263731305911039968528160715580884142126299906917312751489313524533352857131837617465492147973961304863838801900164980739301726736916594518648220325452600199642070978020058490874964381113518309203860954192265298854162523310096397470264806979499310458426850669412196383581872024721010947340794664732642584892572029130273968395831640715511118739829610039684320587084557616788635918423879390191674193913431767084286953901308605962995761212108566056221789395208076445952126430780347072348591327366272274152679785210266323306090164066357139626826693451114280638529189369121655205493883157953052700923883833649169004211666502365120877033129184952687622428850311831535451880594602733693639849180080997299171356385664569884342281532205329875029500051909592352130052615311117043826611058247947066092815720077269712309673138829925419386211854917778438434231689677714783762132080968445761139086053543496920101243208550086589129913174480528655394825754318774987400830689640603855491530944751596683342538035903577957954542761152403870461892116598695638551193212906860732959343878899225091466422227995260731757581426037206809294234442670567087197413953175142473839806387111348452982449127747504161198576916595640612222325733753183478717544688796357549144617201796820442830814913628016048755109542795104602584307423378354064622653759027776930565371811537785983062136045479172836252855168798785809386255059946130687853657096544734956653336138407987554218396276173436043942834490769149769250815495710532661892901853614157685592526151672802598792619521393419041513793553532945033350852892371348660972219650965277192124218666420044930886853832641295681190324823146940338816215818491555306001805211377237266493813056308008430056655494181834332507760565103981110486586147162336636739142279088413235921036225036721462172437764547432727163968468128423356303911368676548835161155437897379319598759184528231941536988583768530771531150859448861420225955708610707578047637899383643150942693450977761721201767979444300994840606555899062159705737708435584897079615766331141674453829282816862735906635059214970650318208813007602970436000932250902574767568257557725815841286397487589292993833572357603037635053590930061073006632675992486832074066225648515204212653001766912349060796556172260302489448625856798094438374301661826740182491607689074599764072887292031530626348469056865568564878549117926189977777198807698569043541629173654062883728000135048753632142614652634515945465253461974733455907861752720077410028165678656759777430455667944947700414731437634076 161505782836429762278607418186941553018106703366367631084152515389250871129396081082151380402402846492323948028815928117855676231507470916204842311771485057516251720715779786035449604989589266630822158870111899803794227663978077614630821993451399271186639538305272743330585851302653748942416574642588262435625816885090851022872348806166639347346517573814428388395479546557123176937025534575943990397630678401794191779053343102303137541482375948953118884470192570976241420992319729609184320390665758254281309749611141911650775733483363083525980536473577724889386457471630545930677206404763198024519208944554379762873299866953522196439944956723850645260845426944278834783558420817880258519678808603179303737669771920906985447493774433204030696936272684144840908174466870901634616168737990523321531985899851024366124974573216125122312837817808474363017181241340374273265938648997076063714544578163477205729445730280769226308549957163202522694312041179004264150149101346681274152311992021506692963511210333825418208414556741936133839569769053107404345384669500303368858943532733605891869006777557298094428497479241879275297937367127403244184267510103250563370264976893442268054993903881183608848067325264217738731812511732422793368223494133786668130173650044297689982444194562408658739085262392039855152181307574510476345660390696109718027903983601273906099974608688284921790802698739152754054924319160037307769675425370200151199767806108540450054870625251586514211904299407427023148788365791172092233338959846960885014835576247614589460130390821803548257955457853388193401339613317574078498532326548798337287133287971295744799429873666554941059425558999255490157558398789395398971150533551332745129533029272803597858880847509117625629514970318672132809190411731822546170173275342206995905369252151880503476754121877004891708810143024202867743947822411030418038066746434894833622272580015333346722184996984332458442515655998013640586010055710461096833488117789576655733986618467900389621751525088501653775124889842249567594200753853649191043534732140846227815970881478796889250333875772699754190762341786786237632340694433361954265709146527041635701881957158162459863365291813491360783864869705439616514654616517074154793303553213918474897402854557229234070888519954373516334518604094530202564640984112094977167320861106075980765271517235834795163845962909725716704743530265111429098871644277669940782111828530661746823420666441698120841444829187385148866760988133529860807514326124684696076508073201397996480814685985073175360314070900047666138465613387029227984165966035247316463129243513710010786230661280784408139487103759221396183651893964711879182751914150756030552915776091884625851366916917470620621516355942708488677734619636930689618381344329591633563438983683281661067526972813234671823919443189251608577205824229280836606099207657757273074507906241329409132063175791561525817727263331032649223504988170012990205295039942442791291896544133465193767476979802258335656287301144968927241235909807963603100828871554293707383408513590672818107755037156773049086228737355123 261321846009002754445834590224242589430979709809698324196806597267235281809926569477365687619817038347220525483815664570804936432600046461191092713813385086913696043281228407615619846344118608525551633594681387652086818475264162703794219102280377630069620114922651878177334540015299051734282069821465681433626787390034148938168698663258444537867095991843520053426513167725178506026474028877837045888743081499920630836671329422217055425335751480437936305167256150086619277864812506565187299809214419195135645077514208944406685814749189902471973800204883635929354985632346126814819332704670115337270698258078913115730431704570987688587918918028714484062745591925018136510295337412398906740004261203378945808647791979397860411874887951513234557890464949443695070697776967299104880975717489833779958836569263220749706846597937136069653632482541116947909753270470648241661770289712587182454374188203161526316530287897557862226973836553394196888225472946088551104050409952644269913524100587562914752906418410271370334845337089008482430897135325381557025169879766626674949107599090745518695700228671578732957686848363534480791820525080455945108151343752419567581931479258563145088123088833871231276917637095753190612407114466116433217403575131085839486559314614182032263976399892283688239137171984391985204796618691554302956718638643175810843624060870986215773113438613704308002657616517591188286613996874821069901756393815961290285821349605460551298079175338175644125078779936082417974542684566159493064028600450816376545780327844297931998166294399761502800716610257258655293456212013212629691745233409531296631012187196387211221657868927286698640851596206064784392001069356482596385103708693806584935920140621256580308008595013278824206431565959284355134924164915301263714862071699756140522571048972323334291667749893053646818352938128805452051371200765095040691825774211825398994084117801316408858230476157168711297684454783823026841070001841148950490584662524533309070125026455454608018027698524545596609615658992018818409696464386311083945388346298531820342122554281395681869855269191741267984315874731819588485233065782022926485360111804233759920548377203093346717197933109172551108688016645778432730473108072380156598514930451184968710459162565659290726382701788706024095083708075640689150788146448731716309599949519311901801496553957296967601610510342452880673211658688467733010240320826505101937549725909981345582605194673639657830028597718156680017620436994950086763222936832262743714407456844548939174265663746794377128293515201042506745021512449188933721874401620144396078895574655384464615513478143520314774546318729871714392464901567682315183684165053330798121173333817700467137764404506763614455088713545746123731325549698003696251057336816423707629664632198485873720528739725583732620475615449554098025831681027375274980400869484497455566115595315929173204950467823092152166196320196601214102054106096202967982493847641011834833525717787528077495477114851011967798901953779484872706489371782697059008690624274371117411574192247432595538210705101720749500960174989199 422827628845432516724442008411184142449086413176065955280959112656486152939322650559517068022219884839544473512631592688660612664107517377395935025584870144429947763997008193651069451333707875156373792464793287455881046139242240318425041095731776901256259653227924621507920391317952800676698644464053943869252604275124999961041047469425083885213613565657948441821992714282301682963499563453781036286373759901714822615724672524520192966818127429391055189637448721062860698857132236174371620199880177449416954827125350856057461548232552985997954336678461360818741443103976672745496539109433313361789907202633292878603731571524509885027863874752565129323591018869296971293853758230279165259683069806558249546317563900304845859368662384717265254826737633588535978872243838200739497144455480357101490822469114245115831821171153261191966470300349591310926934511811022514927708938709663246168918766366638732045976018178327088535523793716596719582537514125092815254199511299325544065836092609069607716417628744096788543259893830944616270466904378488961370554549266930043808051131824351410564707006228876827386184327605413756089757892207859189292418853855670130952196456152005413143116992715054840124984962359970929344219626198539226585627069264872507616732964658479722246420594454692346978222434376431840356977926266064779302379029339285528871528044472260121873088047301989229793460315256743942341538316034858377671431819186161441485589155714001001352949800589762158336983079343509441123331050357331585297367560297777261560615904091912521458296685221565051058672068110646848694795825330786708190277559958329633918145475167682956021087742593841639700277155205320274549559468145877995356254242245139330065453169894060178166889442522396449835946536277956487944114576647123809885035347041963136427940301124203837768421871770058538527163081153008319795319023176125458729892520646720232616356697816649755580415473141501169740200110781836667427080057551610047324072780314109964804111644923354997639779223613047250384740548834268386003897218239960274988923078439378048158093435760192571120189144964441022175078216518605826117573760215384880751069258331275395622430334361255806580563224922663911892552886351218049245127724589454311391818483665103443607862017122888524797271221743079540429602312170170891715429130560826693476920810625387882566768071193131762765456473252178597377955188953579162109111965104175042719661554440643092406025861115337778671473426905541828884381425128479947570737262956947439790915530045946935655080349731867552488607586101090172883487125836218161706040367655391712542024818169094475401744139424304722914033422489093110576116795532394194366436079204086828674089109909585092989131321424234235076605069488454612409060169334934385869438681146015341193103615881767534788055712538818404444395058638805706603037505256656111586500077142254728640623501557258582337013643614653677983923583527633863325559094266215958187788887583454626125422261920993271262954094653270303455189254924453799947725281590660662109519495828664824794982705838105413645965742258493798587188912344322 684149474854435271170276598635426731880066122985764279477765709923721434749249220036882755642036923186764998996447257259465549096707563838587027739398255231343643807278236601266689297677826483681925426059474675107967864614506403022219260198012154531325879768150576499685254931333251852410980714285519625302879391665159148899209746132683528423080709557501468495248505882007480188989973592331618082175116841401635453452396001946737248392153878909828991494804704871149479976721944742739558920009094596644552599904639559800464147362981742888469928136883344996748096428736322799560315871814103428699060605460712205994334163276095497573615782792781279613386336610794315107804149095642678071999687331009937195354965355879702706271243550336230499812717202583032231049570020805499844378120172970190881449659038377465865538667769090397261620102782890708258836687782281670756589479228422250428623292954569800258362506306075884950762497630269990916470762987071181366358249921251969813979360193196632522469324047154368158878105230919953098701364039703870518395724429033556718757158730915096929260407234900455560343871175968948236881578417288315134400570197608089698534127935410568558231240081548926071401902599455724119956626740664655659803030644395958347103292279272661754510396994346976035217359606360823825561774544957619082259097667982461339715152105343246337646201485915693537796117931774335130628152312909679447573188213002122731771410505319461552651028975927937802462061859279591859097873734923491078361396160748593638106396231936210453456462979621326553859388678367905503988252037343999337882022793367860930549157662364070167242745611521128338341128751411385058941560537502360591741357950938945915001373310515316758474898037535675274042378102237240843079038741562425073599897418741719276950511350096527172060089621663112185345516019281813771846690223941220499421718294858545631610440815617966164438645949298669881037884565565659694268150059392758997814657442838643273874236671378809605657806922137592846994356207826287204413593682626271358934311424737909868500215990041588252990044414156182290159394091250425414602806825997407807236429370135509155542978711564349153297761158031836463001240902996996481975600832661834467990333414116288412318321179688547815523653923531785564524686020245811580866217277009558409786520760144699784368264625150428730367066983594631478051166847642046895119352285930680144657211280350624437988631055788977436501502024623698508902001862123430034333960199789210183505322986890495874829346013478661929616901101302132679628508638285407095427914769275536108620920392824478940017257617567825037688579741218964824968581697100076509550120244257417626795262443727285560126895725930997849531693783034200736140385719032938082120496017962439048822768248080253408508584452264402137064870674088359804628869186284031386566900946626752184206739096873187755541964111437745830150119903724235077427613200362418926170282735224466460958947979708521348758431209504282271254091208703938672654214653373357721118210120103035942206556898085538009184176447360214548088149087333521 1106977103699867787894718607046610874329152536161830234758724822580207587688571870596399823664256808026309472509078849948126161760815081215982962764983125375773591571275244794917758749011534358838299218524267962563848910753748643340644301293743931432582139421378501121193175322651204653087679358749573569172131995940284148860250793602108612308294323123159416937070498596289781871953473155785399118461490601303350276068120674471257441358972006339220046684442153592212340675579076978913930540208974774093969554731764910656521608911214295874467882473561806357566837871840299472305812410923536742060850512663345498872937894847620007458643646667533844742709927629663612079098002853872957237259370400816495444901282919780007552130612212720947765067543940216620767028442264643700583875264628450547982940481507491710981370488940243658453586573083240299569763622294092693271517188167131913674792211720936438990408482324254212039298021423986587636053300501196274181612449432551295358045196285805702130185741675898464947421365124750897714971830944082359479766278978300486762565209862739448339825114241129332387730055503574361992971336309496174323692989051463759829486324391562573971374357074263980911526887561815695049300846366863194886388657713660830854720025243931141476756817588801668382195582040737255665918752471223683861561476697321746868586680149815506459519289533217682767589578247031079072969690628944537825244620032188284173256999661033462554003978776517699960799044938623101300221204785280822663658763721046370899667012136028122974914759664842891604918060746478552352683047862674786046072300353326190564467303137531753123263833354114969978041405906616705333491120005648238587097612193184085245066826480409376936641787480058071723878324638515197331023153318209548883484932765783682413378451651220731009828511493433170723872679100434822091642009247117345958151610815505265864226797513434615920019061422440171050778084676347496361695230116944369045138730223152753238678348316302164603297586145750640097379096756660555590417490900866231633923234503177287916658309425801780824110233559120623312334472307769031240720380586212792687987498628466784551165409045925604959878324382954500374893793789348214531220728557251288779382151897781391855926183196811436340320925145274865104954288332415982472581646407570385103263441570770087666935032696343560493132523456846810075429122036595626057228464251034855187376872834791267530394656916904315215172975451529240337786383287251909981904697462746157623296238516936442810484426363210529482105508687403222852511995764121625257133955136930927821162945210993573415419001756992129760602613163708057935544698492632470703916556323461504455469351553636870653116027047355232084608298852522655348549445888367872467989934699108454390015871863962020943296640164803220541509265732727165511231906691540687498153401023769006912847362598430446337878977755052399508134043487251868940753172294628634884358071622807921087084370241629514620021385304157552574709280463628392472601939934964018383227729615931700767001539603923643422830142189618708346675337999677843 1791126578554303059064995205682037606209218659147594514236490532503929022437821090633282579306293731213074471505526107207591710857522645054569990504381380607117235378553481396184448046689360842520224644583742637671816775368255046362863561491756085963908019189529077620878430253984456505498660073035093194475011387605443297759460539734792140731375032680660885432319004478297262060943446748117017200636607442704985729520516676417994689751125885249049038179246858463361820652301021721653489460218069370738522154636404470456985756274196038762937810610445151354314934300576622271866128282737640170759911118124057704867272058123715505032259429460315124356096264240457927186902151949515635309259057731826432640256248275659710258401855763057178264880261142799652998078012285449200428253384801420738864390140545869176846909156709334055715206675866131007828600310076374364028106667395554164103415504675506239248770988630330096990060519054256578552524063488267455547970699353803265172024556479002334652655065723052833106299470355670850813673194983786229998162003407334043481322368593654545269085521476029787948073926679543310229852914726784489458093559249071849528020452326973142529605597155812906982928790161271419169257473107527850546191688358056789201823317523203803231267214583148644417412941647098079491480527016181302943820574365304208208301832255158752797165491019133376305385696178805414203597842941854217272817808245190406905028410166352924106655007752445637763261106797902693159319078520204313742020159881794964537773408367964333428371222644464218158777449424846457856671299900018785383954323146694051495016460799895823290506578965636098316382534658028090392432680543150599178838970144123031160068199790924693695116685517593746997920702740752438174102192059771973957084830184525401690328963001317258181888601115096282909218195119716635863488699471058566457573329110363811495837238329052582084457707371738840931815969241913156055963380176337128042953387665991396512552584987680974208955393067888232944373452964486842794831084583492502992857545927915197785158525415843369077100277973276805602493866399019456655323187412210200495223927998602293706708387757489954113176085540986336837895034692345211013196329389913123247372485311897680268244504376499984155844579068806650669478974352661794053447863684579943513049962330914787451303297321493989223499590440441441553480288884237672952347816536965535332034084115141891968383287972693292651674477476152938846688385149375340016238657662535367806801561503826938685313772376689191411722409788705355532140504402407032352561869906206463929783865603818052355436259374559954798291192904927022760513280189732547213466676567718922082264613997364156213242922773286229934139992635556856084689831607400810550110430717070893438838640112042274351805224617067622678574136406815525315860775877824718884720301970395759097054101695303634093420941866490145338284163390976104018180785494991053810528354358032387548043318221338035968779816513661834845963371672332331145256154588337376104345939736034736709208096502009181432014318636978922894763487087011364 2898103682254170846959713812728648480538371195309424748995215355084136610126392961229682402970550539239383944014604957155717872618337726270552953269364505982890826949828726191102206795700895201358523863108010600235665686122003689703507862785500017396490158610907578742071605576635661158586339431784666763647143383545727446619711333336900753039669355803820302369389503074587043932896919903902416319098098044008336005588637350889252131110097891588269084863689012055574161327880098700567420000427044144832491709368169381113507365185410334637405693084006957711881772172416921744171940693661176912820761630787403203740209952971335512490903076127848969098806191870121539266000154803388592546518428132642928085157531195439717810532467975778126029947805083016273765106454550092901012128649429871286847330622053360887828279645649577714168793248949371307398363932370467057299623855562686077778207716396442678239179470954584309029358540478243166188577363989463729729583148786354560530069752764808036782840807398951298053720835480421748528645025927868589477928282385634530243887578456393993608910635717159120335803982183117672222824251036280663781786548300535609357506776718535716500979954230076887894455677723087114218558319474391045432580346071717620056543342767134944708024032171950312799608523687835335157399279487404986805382051062625955076888512404974259256684780552351059072975274425836493276567533570798755098062428277378691078285409827386386660658986528963337724060151736525794459540283305485136405678923602841335437440420503992456403285982309307109763695510171325010209354347762693571430026623500020242059483763937427576413770412319751068294423940564644795725923800548798837765936582337307116405135026271334070631758472997651818721799027379267635505125345377981522840569762950309084103707414652537989191717112608529453633090874220151457955130708718175912415724939925869077360064035842487198004476768794179011982594053918260652417658610293281497088092117889144149751230933303983138812252979213638873041752549721147398385248575484358734626780780431092485701816834841645149901210511532397428914828338706788487896043567998422993183211426627069078257873796803415559073054409923940837212788828481693425544417057947164412026754637209679072124170687573311420496165504214081515774433262685077776526029510092150328616313403901684875118238330017837549716632113897288251628909410920833299009576280788000390519410956949933159498777944889597607866847452927682179184474768436627249998143355125281525430097800020763381495798198739899720893827918476108578384652500166528657609695825043137391750946810814811625770855261131552084558893806068635080696057978682365017917383232891180426537733965551001026866358949820641462018748291488079511433239277495768683018100365416179347828854511976004295295101864781870843220083402139542690827092682569365406382873702994164766009901464293734080431299919621542544846418206878227972958933957789619688694886425980840308635127688462967550588801201817819387420672652135960723617858094523301394487573669351966437476209636105932824854844460826597631241438825086689207 4689230260808473906024709018410686086747589854457019263231705887588065632564214051862964982276844270452458415520131064363309583475860371325122943773745886590008062328382207587286654842390256043878748507691753237907482461490258736066371424277256103360398177800436656362950035830620117664084999504819759958122154771151170744379171873071692893771044388484481187801708507552884305993840366652019433519734705486713321735109154027307246820861223776837318123042935870518935981980181120422220909460645113515571013864004573851570493121459606373400343503694452109066196706472993544016038068976398817083580672748911460908607482011095051017523162505588164093454902456110579466452902306752904227855777485864469360725413779471099428068934323738835304294828066225815926763184466835542101440382034231292025711720762599230064675188802358911769883999924815502315226964242446841421327730522958240241881623221071948917487950459584914406019419059532499744741101427477731185277553848140157825702094309243810371435495873122004131160020305836092599342318220911654819476090285792968573725209947050048538877996157193188908283877908862660982452677165763065153239880107549607458885527229045508859030585551385889794877384467884358533387815792581918895978772034429774409258366660290338747939291246755098957217021465334933414648879806503586289749202625427930163285190344660133012053850271571484435378360970604641907480165376512652972370880236522569097983313819993739310767313994281408975487321258534428487618859361825689450147699083484636299975213828871956789831657204953771327922472959596171468066025647662712356813980946646714293554500224737323399704276991285387166610806475222672886118356481091949436944775552481430147565203226062258764326875158515245565719719730120020073679227537437753496797654593134834485794036377653855247373605713723625736542309069339868093818619408189234478873298269036232888855901274171539780088934476165917852914410023160173808473621990469618625131045505555135546263783518291664113021208372281527105986126002685634241180079660067851237619638326359007683486975360257488518978310789505674234517322205105807944551366755410633193678435354625671371964582184560905513186230495464927174050683863174038636557613387337077535274127122521576752392415191949811404652010083282888166443912237037739570579477373776730272129363366232599662569541627339331538940131704337729693182389699805070971961924097324965925851445041065075051467161232862290900518521930403835118031163153586002590014382012787816893236899361524590320181111971116588912305550328264813933916793004568935689962257694949343855680730676418629678126291520506112039357184998973562103456571258872097565130849909458899348619998579548365183079601872593927691952888284123636367517929109103169493568210796133250241267693152088046569646907089398938465898657538546358216142953458447190125267594004964560525106955565989037714524720861488032690184702370269204076977114743284610742505414780338872696183171006684305586557581018331481222266636023808293054763114249111638770591919609088001174185417732607942006286858779463576554136202312173700571 7587333943062644752984422831139334567285961049766444012226921242672202242690607013092647385247394809691842359534736021519027456094198097595675897043110392572898889278210933778388861638091151245237272370799763838143148147612262425769879287062756120756888336411344235105021641407255778822671338936604426721769298154696898190998883206408593646810713744288301490171098010627471349926737286555921849838832803530721657740697791378196498951971321668425587207906624882574510143308061219122788329461072157660403505573372743232684000486645016708037749196778459066778078478645410465760210009670059993996401434379698864112347691964066386530014065581716013062553708647980701005718902461556292820402295913997112288810571310666539145879466791714613430324775871308832200528290921385635002452510683661163312559051384652590952503468448008489484052793173764873622625328174817308478627354378520926319659830937468391595727129930539498715048777600010742910929678791467194915007136996926512386232164062008618408218336680520955429213741141316514347870963246839523408954018568178603103969097525506442532486906792910348028619681891045778654675501416799345817021666655850143068243034005764044575531565505615966682771840145607445647606374112056309941411352380501492029314910003057473692647315278927049270016629989022768749806279085990991276554584676490556118362078857065107271310535052123835494451336245030478400756732910083451727468942664799947789061599229821125697427972980810372313211381410270954282078399645131174586553378007087477635412654249375949246234943187263078437686168469767496478275379995425405928244007570146734535613983988674750976118047403605138234905230415787317681844280281640748274710712134818737263970338252333592834958633631512897384441518757499287709184352882815735019638224356085143569897743792306393236565322826332155190175399943560019551773750116907410391289023208962101966215965310014026978093411244960096864897004077078434460891280600762900122219137623444279696015014451595647251833461351495165979027878552406781639565328235552209972246419106790100169188792195099133668879521301038071663432150543812596432447410323409056186861646781252740450222455981364321072259284905388868011263472691655732062102030445284241947300881759731255824516585879523122825148175587496969682218345499722817347105506883868880600745676770134284537687779957357169088656763818235017944811299110725904270971500378112966316370855998015008210965939177751888508385369383331517297215637922022629840012525367913098418666997161545353701676910169856488633199378246740922512301445504735464347571953519992481247431677487233441303897146781637664123916078805042197184152629237554462583048233142350079775157732545099366209945960822414569153971636575611715878951168386598938176586311161549429589096547664064050864942008954180809309118740940685900906970046141016555531650467707958725291116857030282771794956020781109575235031120577147432049936048701074230431200301206319713004818298695147273137146382220149300609687308675944253778380972343634940165079493278439967611661627368713874831141703240290174185377641137260389778 12276564203871118659009131849550020654033550904223463275458627130260267875254821064955612367524239080144300775054867085882337039570058468920798840816856279162906951606593141365675516480481407289116020878491517076050630609102521161836250711340012224117286514211780891467971677237875896486756338441424186679891452925848068935378055079480286540581758132772782677972806518180355655920577653207941283358567509017434979475806945405503745772832545445262905330949560753093446125288242339545009238921717271175974519437377317084254493608104623081438092700472911175844275185118404009776248078646458811079982107128610325020955173975161437547537228087304177156008611104091280472171804768309197048258073399861581649535985090137638573948401115453448734619603937534648127291475388221177103892892717892455338270772147251821017178657250367401253936793098580375937852292417264149899955084901479166561541454158540340513215080390124413121068196659543242655670780218944926100284690845066670211934258371252428779653832553642959560373761447152606947213281467751178228430108853971571677694307472556491071364902950103536936903559799908439637128178582562410970261546763399750527128561234809553434562151057001856477649224613491804180994189904638228837390124414931266438573276663347812440586606525682148227233651454357702164455158892494577566303787301918486281647269201725240283364385323695319929829697215635120308236898286596104699839822901322516887044913049814865008195286975091781288698702668805382769697259006956864036701077090572113935387868078247906036066600392216849765608641429363667946341405643088118285057988516793448829168484213412074375822324394890525401516036891009990567962636762732697711655487687300167411535541478395851599285508790028142950161238487619307782863580420253488516435878949219978055691780169960248483938928540055780926717709012899887645592369525096644870162321477998334855071866584185566758182345721126014717811414100238608269364902591232518747350183128999415242278797969887311364854669723776693085014004555092415880745407895620061209866057433149107852675767555356622187857832090543745897949472748918404376998777078819689380540082135878411822187038165925226585445515400853795185314156554829770698659643832621319482575008882252832576909001071472934229800185670779857848662257736760556917684984257645610872875040136366884200257321584696500627596895522572747637993688810530975242933424475437932242222301039080083262433100410614179408903891313735352415246801075608632430026907380700915311903896523069944021858022140973077545504928575005736446218238509304400037534211214941825103112408163652070982023438302143776163273263804015759287609200496426560148179083051808979123777731124647731393025562695008496845924524859735352246469097495702107670154521957682679830364240816152097434588916043579747775017398479232259123112999599463745656918061712923285816223812596271809509480741642597607925215822947416636126913163444358841173705715986658585701001469701831578723703963238480781831953944699752546833144086592746578935671412887527968785847045101321816837428562019753750739513843449434090349 19863898146933763411993554680689355221319511953989907287685548372932470117945428078048259752771633889836143134589603107401364495664256566516474737859966671735805840884804075144064378118572558534353293249291280914193778756714783587606129998402768344874174850623125126572993318645131675309427677378028613401660751080544967126376938285888880187392471877061084168143904528807827005847314939763863133197400312548156637216504736783700244724803867113688492538856185635667956268596303558667797568382789428836378025010750060316938494094749639789475841897251370242622353663763814475536458088316518805076383541508309189133302865939227824077551293669020190218562319752071981477890707229865489868660369313858693938346556400804177719827867907168062164944379808843480327819766309606812106345403401553618650829823531904411969682125698375890737989586272345249560477620592081458378582439280000092881201285096008732108942210320663911836116974259553985566600459010412121015291827841993182598166422433261047187872169234163914989587502588469121295084244714590701637384127422150174781663404998062933603851809743013884965523241690954218291803679999361756787283213419249893595371595240573598010093716562617823160421064759099249828600564016694538778801476795432758467888186666405286133233921804609197497250281443380470914261437978485568842858371978409042400009348058790347554674920375819155424281033460665598708993631196679556427308765566122464676106512279635990705623259955902153601910084079076337051775658652088038623254455097659591570800522327623855282301543579479928203294809899131164424616785638513524213301996086940183364782468202086825351940371798495663636421267306797308249806917044373445986366199822118904675505879730729444434244142421541040334602757245118595492047933303069223536074103305305121625589523962266641720504251366387936116893108956459907197366119642004055261451344686960436821287831894199593736275756966086111582708418177317042730256183191995418869569320752443694938293812421482958616688131075271859064041883107499197520310736131172271182112476539939208021864559750455755856737353391581817561381623292731000809446187402228745567401728917131152272409494147289547657704800306242663196577629246485502760761674277905561429875890641984088401425586950996057054948361258276827530880603236483374264790491141514491473620716906501168737945101542053669716253659340807765582804987921256879513904924853550898558593157037095091473399039588366067917289260697066869712462438997631262270039432748614013730570893684615297723534932310829566178704306821746658958519684014039864385106164734934306350544085650885512285920585083781440287189342609057956471761829733981022731227316194159058898935463669747097602971523517423065999896161435347068125420265882301045846740833119232109419460788480216148299530924997760557084136139419918160030083045740480301188568529420882011107340669626554581304436762423707183160246943524564068176849212145433071604906017192978298705819768396978851860850345458630082441641253375696800611525058936381519100750906165967936397508672470035691668570265260043924924891484586694480127 32140462350804882071002686530239375875353062858213370563144175503192737993200249143003872120295872969980443909644470193283701535234315035437273578676822950898712792491397216509739894599053965823469314127782797990244409365817304749442380709742780568991461364834906018040964995883007571796184015819452800081552204006393036061754993365369166727974230009833866846116711046988182661767892592971804416555967821565591616692311682189203990497636412558951397869805746388761402393884545898212806807304506700012352544448127377401192987702854262870913934597724281418466628848882218485312706166962977616156365648636919514154258039914389261625088521756324367374570930856163261950062511998174686916918442713720275587882541490941816293776269022621510899563983746378128455111241697827989210238296119446073989100595679156232986860782948743291991926379370925625498329913009345608278537524181479259442742739254549072622157290710788324957185170919097228222271239229357047115576518687059852810100680804513475967526001787806874549961264035621728242297526182341879865814236276121746459357712470619424675216712693117421902426801490862657928931858581924167757544760182649644122500156475383151444655867619619679638070289372591054009594753921332767616191601210364024906461463329753098573820528330291345724483932897738173078716596870980146409162159280327528681656617260515587838039305699514475354110730676300719017230529483275661127148588467444981563151425329450855713818546930993934890608786747881719821472917659044902659955532188231705506188390405871761318368143971696777968903451328494832370958191281601642498359984603733632193950952415498899727762696193386189037937304197807298817769553807106143698021687509419072087041421209125296033529651211569183284763995732737903274911513723322712052509982254525099681281304132226890204443179906443717043610817969359794842958489167100700131613666164958771676359698478385160494458102687212126300519832277555650999621085783227937616919503881443110180572610391370269981542800799048552149055887662591613401056144026792332391978533973088315874540327305812378044595185482125563459331096041649405186444964481048434947941811053009564094596532313214774243150315707096458381891785801315273459421318110526880912450899524236920978334588022468991284748546929056685379542860973243931182475475399160102346495757042868052938202423126750170343850554863380513220798676731787854756838349328988830800815458076175174735832139998980247326193152010802222127709240073239894700066340129314929042474790207685241745392954451802643724209235396752395404737922523344264422640375949876131453656493814537583267944023385925216450462606413073715759371030230407582879406399245968038022713194794394828995997086212431562845820686295082420371889363378003153516895355076914789249825029296368245734119841041340304859153537899150419153196045339944046845486591133805296923564482222826390813917504066304791085462766471980704303762375589791912778611733179636884406821238098810430584554308697110864273595198075449347444669145529128098036422319053495905183355717571357508505998827279797675664405328036128570476 52004360497738645482996241210928731096672574812203277850829723876125208111145677221052131873067506859816587044234073300685066030898571601953748316536789622634518633376201291653804272717626524357822607377074078904438188122532088337048510708145548913865636215458031144613958314528139247105611693197481413483212955086938003188131931651258046915366701886894951014260615575796009667615207532735667549753368134113748253908816418972904235222440279672639890408661932024429358662480849456880604375687296128848730569458877437718131481797603902660389776494975651661088982512646032960849164255279496421232749190145228703287560905853617085702639815425344557593133250608235243427953219228040176785578812027578969526229097891745994013604136929789573064508363555221608782931008007434801316583699520999692639930419211060644956542908647119182729915965643270875058807533601427066657119963461479352323944024350557804731099501031452236793302145178651213788871698239769168130868346529053035408267103237774523155398171021970789539548766624090849537381770896932581503198363698271921241021117468682358279068522436131306867950043181816876220735538581285924544827973601899537717871751715956749454749584182237502798491354131690303838195317938027306394993078005796783374349649996158384707054450134900543221734214341118643992978034849465715252020531258736571081665965319305935392714226075333630778391764136966317726224160679955217554457354033567446239257937609086846419441806886896088492518870826958056873248576311132941283209987285891297076988912733495616600669687551176706172198261227625996795574976920115166711661980690673815558733420617585725079703067991881852674358571504604607067576470851479589684387887331537976762547300939854740467773793633110223619366752977856498766959447026391935588584085559830221306870828094493531924947431272831653160503926925819702040324608809104755393065010851919208497647530372584754230733859653298237883228250454872693729877268975223356486488824633886805118866422812853228598230931874320411213097770770090810921366880157964603574091010513027523896404887056268133901332538873707381020712719334380405995891151883277180515343539970140716367006026460504321900855116013339121578469415047800776220182992388432442342326790166221009379760174973465048339696908187333512910423464209727305447265966540674593820116473949369221676147524668803840060104214204188278803603664653044734270743274182539729359408615113270266209231179587346315243482412707869091840171679070871156970105772877928942773045683892300539468927886762632209902913542218499054363257606537384128807746540684810437804200579465423095553864608469706656737651949022131672231132859964388605610633715440127096921648658464141926598968609729854628845716847730429488497309629260304199363636188196146898669285817776584394033650766039100861943289677319068579183279091080424348034055120554687308030905151849380972118354266490011974245709709996544772480611587735224984383517750372615183112641006495789282445404654155740946715236451451146148056194204465509617137173225219463841580864390041393200174569092539841600589296812622823050603 84144822848543527553998927741168106972025637670416648413973899379317946104345926364056003993363379829797030953878543493968767566132886637391021895213612573533231425867598508163544167316680490181291921504856876894682597488349393086490891417888329482857097580292937162654923310411146818901795709016934213564765159093331039249886925016627213643340931896728817860377326622784192329383100125707471966309335955679339870601128101162108225720076692231591288278467678413190761056365395355093411182991802828861083113907004815119324469500458165531303711092699933079555611361528251446161870422242474037389114838782148217441818945768006347327728337181668924967704181464398505378015731226214863702497254741299245114111639382687810307380405952411083964072347301599737238042249705262790526821995640445766629031014890216877943403691595862474721842345014196500557137446610772674935657487642958611766686763605106877353256791742240561750487316097748442011142937469126215246444865216112888218367784042287999122924172809777664089510030659712577779679297079274461369012599974393667700378829939301782954285235129248728770376844672679534149667397163210092302372733784549181840371908191339900899405451801857182436561643504281357847790071859360074011184679216160808280811113325911483280874978465191888946218147238856817071694631720445861661182690539064099763322582579821523230753531774848106132502494813267036743454690163230878681605942501012427802409362938537702133260353817890023383127657574839776694721493970177843943165519474123002583177303139367377919037831522873484141101712556120829166533168201716809210021965294407447752684373033084624807465764185268041712295875702411905885346024658585733382409574840957048849588722148980036501303444844679406904130748710594402041870960749714647641094067814355320988152132226720422129390611179275370204114744895179496883283097976205455524678677016877980174007228850969914725191962340510364183748082732428344729498354758451294103408328515329915299439033204223498579773732673368963362153658432682424322423024184756935966069544486115839770945214362080511945927724355832944480043815376029811182336116364325615463285351023150280461602558773719096144005431720435579960361200849116049679604310498959323254777689690457930358094762995934039624445455116390198289966325182971236629741441939834696166612230992237274614349947795554010403954769067568792024402341384832589027581623511528560160224073189445440945063319586326562569675564718671313967880919144111051670172113007243871815520474099985781214320841214434853627122777615251449767995529060728393230386916634686569257857073279960678821808631855631873188114555435205387990503890194796188490040114686095134944361853258536755594965695942286191691537534025511908869198992638307352880531543273061687919110847072952639767770607080441166802443215218218998336475136420368394879541711688492604954469634072207362932271770556316765331172476468525476784373963325016897162129483552252067519462244594599713029958962852851810988831649526595495500863349994637715173595544272959746764220107612750708680567919819639276253702140658951621079 136149183346282173036995168952096838068698212482619926264803623255443154215491603585108135866430886689613617998112616794653833597031458239344770211750402196167750059243799799817348440034307014539114528881930955799120785610881481423539402126033878396722733795750968307268881624939286066007407402214415627047978114180269042438018856667885260558707633783623768874637942198580201996998307658443139516062704089793088124509944520135012460942516971904231178687129610437620119718846244811974015558679098957709813683365882252837455951298062068191693487587675584740644593874174284407011034677521970458621864028927376920729379851621623433030368152607013482560837432072633748805968950454255040488076066768878214640340737274433804320984542882200657028580710856821346020973257712697591843405695161445459268961434101277522899946600242981657451758310657467375615944980212199741592777451104437964090630787955664682084356292773692798543789461276399655800014635708895383377313211745165923626634887280062522278322343831748453629058797283803427317061067976207042872210963672665588941399947407984141233353757565380035638326887854496410370402935744496016847200707386448719558243659907296650354155035984094685235052997635971661685985389797387380406177757221957591655160763322069867987929428600092432167952361579975461064672666569911576913203221797800670844988547899127458623467757850181736910894258950233354469678850843186096236063296534579874041667300547624548552702160704786111875646528401797833567970070281310785226375506760014299660166215872862994519707519074050190313299973783746825962108145121831975921683945985081263311417793650670349887168832177149894386654447207016512952922495510065323066797462172495025612136023088834776969077238477789630523497501688450900808830407776106583229678153374185542295022960321213954054338042452107023364618671820999198923607706785310210917743687868797188671654759223554668955925821993808602066976333187301038459375623733674650589897153149216720418305456017076727178004664547689374575251429202773235243789904342721539540160554999143363667350101418348645847260263229540325500756534710410217178227268247602795978628890993290996828608585234223418044860547733774701538830615896916825899787302887391765597104479856678939737854937969399087964142363303723711200389789392698542077007408480509289986728704941606496290497472464357850464058983271757070828006006037877323298324897694068289519632688302715707154294499173672877813157977426540405808052598214982208640277885885172814588566157992286320683248727977067063530036319833750504131253135598112522038133457319497007062057652745383774375673240325338529925766504457337060221636750159184794100673830126222231866010511722678682193934305672140820537254381755941397366508621898611552244167731469208586588396664849537033801421373119542028745732892537287577519754227500792742913596832243179912985374785921588335050626037046328739576882186465070249264985551060241881545647233924867250632103251090388995475363617008592757704068100977741643557057554460147332310768769492423588345084497654143908855137012359480876842998953281774671682 220294006194825700590994096693264945040723850153036574678777522634761100319837529949164139859794266519410648951991160288622601163164344876735792106964014769700981485111398307980892607350987504720406450386787832693803383099230874510030293543922207879579831376043905469923804935350432884909203111231349840612743273273600081687905781684512474202048565680352586735015268821364394326381407784150611482372040045472427995111072621297120686662593664135822466965597288850810880775211640167067426741670901786570896797272887067956780420798520233722997198680375517820200205235702535853172905099764444496010978867709525138171198797389629780358096489788682407528541613537032254183984681680469904190573321510177459754452376657121614628364948834611740992653058158421083259015507417960382370227690801891225897992448991494400843350291838844132173600655671663876173082426822972416528434938747396575857317551560771559437613084515933360294276777374148097811157573178021598623758076961278811845002671322350521401246516641526117718568827943516005096740365055481504241223563647059256641778777347285924187638992694628764408703732527175944520070332907706109149573441170997901398615568098636551253560487785951867671614641140253019533775461656747454417362436438118399935971876647981351268804407065284321114170508818832278136367298290357438574385912336864770608311130478948981854221289625029843043396753763500391213133541006416974917669239035592301844076663486162250685962514522676135258774185976637610262691564251488629169541026234137302243343519012230372438745350596923674454401686339867655128641313323548785131705911279488711064102166683754974694634596362417936098950322909428418838268520168651056449207037013452074461724745237814813470380683322469037427628250399045302850701368525821230870772221188540863283175092547934376183728653631382393568733416716178695806890804761515666442422364885675168845661988074524583681117784334318966250724415919729383188873978492125944693305481664546635717744489221300225757778397221058337937405087635455659566212928527478475506230099485259203438295315780429157793187987585373269980800350086440028360563384611928411441914242016441277290211144007942514188865979454210281499191816746032875579391613386351088851882169547136870095949700965333127588587818420113909490356114575669778706748850420343986153340935933843770904847420259911860868013752339325862852408347422709912325906521205596849679856761492161148099357818759999440382833542145211719775933517359093260310449998892416686404086632092272101897569569191501917157159097449001953899248664658840915268520373954183576319914726025344453197481872180970403113881059892542448212140640353980982590713944812317366810372364981215437788900001614427012228791915781453306235707614536918905124699274742270274507507511922489673569191980199983195548176107755506575856229363921161137793138543931672517939844419993795697982897807602645504908054662933595726049359514385258778707776717477119318151565495684988708505322579861444568692899750504337139057920904454785047484364313765383335109304605266894617535704932179120153096701093940726292761 356443189541107873627989265645361783109422062635656500943581145890204254535329133534272275726225153209024266950103777083276434760195803116080562318714416965868731544355198107798241047385294519259520979268718788492924168710112355933569695669956086276302565171794873777192686560289718950916610513445765467660721387453869124125924638352397734760756199463976355609653211019944596323379715442593750998434744135265516119621017141432133147605110636040053645652726899288431000494057884979041442300350000744280710480638769320794236372096582301914690686268051102560844799109876820260183939777286414954632842896636902058900578649011253213388464642395695890089379045609666002989953632134724944678649388279055674394793113931555418949349491716812398021233769015242429279988765130657974213633385963336685166953883092771923743296892081825789625358966329131251789027407035172158121212389851834539947948339516436241521969377289626158838066238650547753611172208886916982001071288706444735471637558602413043679568860473274571347627625227319432413801433031688547113434527319724845583178724755270065420992750260008800047030620381672354890473268652202125996774148557446620956859228005933201607715523770046552906667638776224681219760851454134834823540193660075991591132639970051219256733835665376753282122870398807739201039964860269015487589134134665441453299678378076440477689047475211579954291012713733745682812391849603071153732535570172175885743964033786799238664675227462247134420714378435443830661634532799414395916532994151601903509734885093366958452869670973864767701660123614481090749458445380761053389857264569974375519960334425324581803428539567830485604770116444931791191015678716379516004499185947100073860768326649590439457921800258667951125752087496203659531776301927814100450374562726405578198052869148330238066696083489416933352088537177894730498511546825877360166052754472357517316747298079252637043606328127568317700749107030421648249602225800595283202634813763356136049945238376952935783061768747712512656516838228894810002832870200015046390654484402567105645417198777803640448250814913595481556884796850245538790652859531207420543133009732274118819729242165932233726527187984983038022432642949701479178916273742854448986649403815809833804638934732215552730181723837620690745903968368320783756258900853276140069640875450267195344892724269711332072735611082933680414353460587235624231418899665139199489449794876855253652317933672318195991519571752125583986115574075468950727884777589500992652790084558422580818297168568980687195417282752458030501800256953437306653831273680583381972378770728227573155112506308933039647564349879508433777390513165776691387774938539598676382876703894119982834307286567832766046297537394703602216236435530457368867006211478861095904176772026707370613353319525224293909000292794153375983591421953880706735376174852430925219205915384033033523844648974244484936849398665975314345065445500660253423951401986568783668746775377703980686196870037326396967851482078782614978458914932379795133083257806923454389102921038526390841944538601029939700047222500964443 576737195735933574218983362338626728150145912788693075622358668524965354855166663483436415586019419728434915902094937371899035923360147992816354425678431735569713029466596415779133654736282023979927429655506621186727551809343230443599989213878294155882396547838779247116491495640151835825813624677115308273464660727469205813830420036910208962804765144328942344668479841308990649761123226744362480806784180737944114732089762729253834267704300175876112618324188139241881269269525146108869042020902530851607277911656388751016792895102535637687884948426620381045004345579356113356844877050859450643821764346427197071777446400882993746561132184378297617920659146698257173938313815194848869222709789233134149245490588677033577714440551424139013886827173663512539004272548618356583861076765227911064946332084266324586647183920669921798959622000795127962109833858144574649647328599231115805265891077207800959582461805559519132343016024695851422329782064938580624829365667723547316640229924763565080815377114800689066196453170835437510541798087170051354658090966784102224957502102555989608631742954637564455734352908848299410543601559908235146347589728444522355474796104569752861276011555998420578282279916477700753536313110882289240902630098194391527104516618032570525538242730661074396293379217640017337407263150626454061975046471530212061610808857025422331910337100241422997687766477234136895945932856020046071401774605764477729820627519949049924627189750138382393194900355073054093353198784288043565457559228288904146853253897323739397198220267897539222103346463482136219390771768929546185095768544058685439622127018180299276438024901985766584555093025873350629459535847367435965211536199399174535585513564464403909838605122727705378754002486541506510233144827749044971222595751267268861373145417082706421795349714871810502085505253356590537389316308341543802588417640147526362978735372603836318161390662446534568425165026759804837123580717926539976508116478309991853794434459677178693561458989806050450061604473684554376215761397678490552620753969661770543940732979206961433636238400286865462357234883290273899354037471459618862457375026173551409030873250108446422592506642195264537214249388982577058570529660093943300868818950952679929754339900065343141318000143951530181102018544038099490505109321197262293410576809294038100192312984181572200086487950408796532822700883297147950137940105261988879346211287038003353010136693671758578825061716963845359919632933168729261177883670006187396739422176830524478387866360070897844354514731754411929750464915794352575174205227864159701887104796072680770636984687279336153528624242421956645918030867146759282101719750856965486755241685109557771734308900994844994838213318848009837923850972449362493566280953749135603411688694516380939805333519508419842085108048300729232212955343115018499873920106524948865063625909179731016421652251619749392991512332261701363704579830759438961200668879105886935234242460366412486008776731481895089867601986415921672899363369717427279497397023190258563693708187933143926546876717721183036401141163227257204 933180385277041447846972627983988511259567975424349576565939814415169609390495797017708691312244572937459182852198714455175470683555951108896916744392848701438444573821794523577374702121576543239448408924225409679651720519455586377169684883834380432184961719633653024309178055929870786742424138122880775934186048181338329939755058389307943723560964608305297954321690861253586973140838669338113479241528316003460234353106904161386981872814936215929758271051087427672881763327410125150311342370903275132317758550425709545253164991684837552378571216477722941889803455456176373540784654337274405276664660983329255972356095412136207135025774580074187707299704756364260163891945949919793547872098068288808544038604520232452527063932268236537035120596188905941818993037679276330797494462728564596231900215177038248329944076002495711424318588329926379751137240893316732770859718451065655753214230593644042481551839095185677970409254675243605033501990951855562625900654374168282788277788527176608760384237588075260413824078398154869924343231118858598468092618286508947808136226857826055029624493214646364502764973290520654301016870212110361143121738285891143312334024110502954468991535326044973484949918692702381973297164565017124064442823758270383118237156588083789782272078396037827678416249616447756538447228010895469549564180606195653514910487235101862809599384575453002951978779190967882578758324705623117225134310175936653615564591553735849163291864977600629527615614733508497924014833317087457961374092222440506050362988782417106355651089938871403989805006587096617310140230214310307238485625808628659815142087352605623858241453441553597070159863142318282420650551526083815481216035385346274609446281891113994349296526922986373329879754574037710169764921129676859071672970313993674439571198286231036659862045798361227435437593790534485267887827855167421162754470394619883880295482670683088955204996990574102886125914133790226485373182943727135259710751292073347989844379698054131629344520758553762962718121311913449186218594267878505599011408454064337649586150177984765074084489215200460943914119680140519438144690330990826283000508035905825527850602492274378656319033830180247575236682031932278537749445933836797749855468354768489763558978834797558694048181867789150871847922512406420274261368222050538433480217684744305295537205708451283532159223561491730213237054343884383574369359004927128078835661081914858606662454627344076774816581288715970943905748507244198211905768447595688389392212261388947059206163528639878531549932014506869960252265172747789881828036501544743083859483566800908343792097193588269193176188592301465079695421380312535973489494689396564163138118389003677754568616187562677760884510856242713440140087407979819862433287165227996699315865466543088310418686839033644135994108341094882608196546765068899206609296281377379790282831824563764049945496900593993877928361730927676678049645276260099214624620281092455718902989235744116466694973601519221486835453468494704287877822284649807074630480280997182018082811108971670317388821256322212976101188385728221647 1509917581012975022065955990322615239409713888213042652188298482940134964245662460501145106898263992665894098754293651827074506606916099101713271170071280437008157603288390939356508356857858567219375838579732030866379272328798816820769674097712674588067358267472432271425669551570022622568237762799996084207650708908807535753585478426218152686365729752634240298990170702562577622901961896082475960048312496741404349085196666890640816140519236391805870889375275566914763032596935271259180384391805805983925036462082098296269957886787373190066456164904343322934807801035532486897629531388133855920486425329756453044133541813019200881586906764452485325220363903062517337830259765114642417094807857521942693284095108909486104778372819660676049007423362569454357997310227894687381355539493792507296846547261304572916591259923165633223278210330721507713247074751461307420507047050296771558480121670851843441134300900745197102752270699939456455831773016794143250730020041891830104918018451940173841199614702875949480020531568990307434885029206028649822750709253293050033093728960382044638256236169283928958499326199368953711560471772018596289469328014335665667808820215072707330267546882043394063232198609180082726833477675899413305345453856464774645341673206116360307810321126698902074709628834087773875854491161521923611539227077725865576521296092127285141509721675694425949666545668202019474704257561643163296536084781701131345385219073684899087919054727739011920810515088581552017368032101375501526831651450729410197216242679740845752849310206768943211908353050578753529531001983239853423581394352687345254764214370785923134679478343539363654714956168191633050110087373451251446427571584745449145031795455578398259135132045714078708633757060579216679998065957425904042895566065260943300944343703313743081657395513233037937523099043891075805277144163508964965342888034767410243274218043286925273366387653020637454551079160550031322496763661653675236218867770383339843638814157731310322905979748359813412779725785598003562434355665556996151632162423726108193526883157191726507720727615487326406271354563430793337498727802450445145457883062079376936881475742382825078911540472375512112450931420914855596319975593930741050724287305721169693313318734862901835366182011740681052949941056444519764766477543247800726890794494038343395729518692632855732245711511900526746059755227181531524507299110189116958181872368952861959672591321015835353641643005679816303825381440412927473083652117601875786131634438219471537594029888710776375904446746261281890002730088542142457002241729408902785746588362873589114429081880867605346704812834723421725613452247459295255591214440253529649893360074113235526302925088557522755722724175090723278063938380429182355999568118977132302727554161059469250224020358542063978079216389395611840409502108183917706483216387902328655346457733743495066367149152213743270919874063189378041754225107019538175825289160198342654137231696110528952703750333001116576703055454910625960777185654367234354127877304187440581776519296904814243935697974043396012502329548955478851 2443097966290016469912928618306603750669281863637392228754238297355304573636158257518853798210508565603353281606492366282249977290472050210610187914464129138446602177110185462933883058979435110458824247503957440546030992848254403197939358981547055020252319987106085295734847607499893409310661900922876860141836757090145865693340536815526096409926694360939538253311861563816164596042800565420589439289840812744864583438303571052027798013334172607735629160426362994587644795924345396409491726762709081116242795012507807841523122878472210742445027381382066264824611256491708860438414185725408261197151086313085709016489637225155408016612681344526673032520068659426777501722205715034435964966905925810751237322699629141938631842305087897213084128019551475396176990347907171018178850002222357103528746762438342821246535335925661344647596798660647887464384315644778040191366765501362427311694352264495885922686139995930875073161525375183061489333763968649705876630674416060112893195806979116782601583852290951209893844609967145177359228260324887248290843327539801997841229955818208099667880729383930293461264299489889608012577341984128957432591066300226808980142844325575661799259082208088367548182117301882464700130642240916537369788277614735157763578829794200150090082399522736729753125878450535530414301719172417393161103407683921519091431783327229147951109106251147428901645324859169902053462582267266280521670394957637784960949810627420748251210919705339641448426129822090049941382865418462959488205743673169916247579231462157952108500400145640347201713359637675370839671232197550160662067020161316005069906301723391546992920931785092960724874819310509915470760638899535066927643606970091723754478077346692392608431658968700452038513511634616926849762987087102763114568536379254617740515541989544779741519441311594265372960692834425561073164972018676386128097358429387294123569700713970014228571384643594740340676993294340257807869946605380810495929619062456687833483193855785441952250500506913576375497847097511452748652949933435501750643570877790445843113033335176491581805216830687787350185474243571312775643418133441271428458391097985202464732078234657203735230574302555759687687613452847134134069421527767538800579755660489659456872297569660460529414363879529831924797863568850940039027845765298339160371012178782648691266724401084139264404935073392256959296809571065915098876658115116245037017533450867720566335045948359912128458224294395787247731129947657125684989420565197564175523846699608418596800193417350654907454378760768151850254995261289932338830278230953645869606071929674497458221179074455874539881001427024886805308873627771831229080709129650093813031478463116913280871541276120200516607235031333436718204025788409002218432855284205129002043419627602557560642707197575708114073324730490494448606048873252816913092512669279708445629289558307259116312646052807737148848235794117054719803870383279637390449909441290798373040220931854645419398723934520338063538508923405330248655007939017041428758357585184622599859330405876484561324519230365608988603517934683700498 3953015547302991491978884608629218990078995751850434880942536780295439537881820718019998905108772558269247380360786018109324483897388149312323459084535409575454759780398576402290391415837293677678200086083689471412410265177053220018709033079259729608319678254578517567160517159069916031878899663722872944349487465998953401446926015241744249096292424113573778552302032266378742218944762461503065399338153309486268932523500237942668614153853408999541500049801638561502407828521280667668672111154514887100167831474589906137793080765259583932511483546286409587759419057527241347336043717113542117117637511642842162060623179038174608898199588108979158357740432562489294839552465480149078382061713783332693930606794738051424736620677907557889133135442914044850534987658135065705560205541716149610825593309699647394163126595848826977870875008991369395177631390396239347611873812551659198870174473935347729363820440896676072175913796075122517945165536985443849127360694457951942998113825431056956442783466993827159373865141536135484794113289530915898113594036793095047874323684778590144306136965553214222419763625689258561724137813756147553722060394314562474647951664540648369129526629090131761611414315911062547426964119916815950675133731471199932408920503000316510397892720649435631827835507284623304290156210333939316772642634761647384667953079419356433092618827926841854851311870527371921528166839828909443818206479739338916306335029701105647339129974433078653369236644910671601958750897519838461015037395123899326444795474141898797861349710352409290413621712688254124369202234180790014085648414514003350324670516094177470127600410128632324379589775478701548520870726272986318374071178554837172899509872802270790867566791014414530747147268695196143529761053044528667157464102444515561041459885692858522823176836824827303310483791878316636878442116182185351093440246464154704366843918757256939501937772296615377795228072454890289130366710267034485732148486832840027677122008013516752275156480255273389788277572883109456311087305598992497902275733301516554036639916492368218089525944446175113756456828807002106113142145935891716573916274160064579401613553977040028814142114774931271800138544873761989730389397121698279851304042966210829150185616304523362364780545891270512977747804625295459803794323308546139887261806672820992086996243093716994996650646585292783705356564798247446623383957225305361995199405819820582526007637269375747482099867300075603551556511388070053158073072682799439961655481137827890134394223306061431283358825507029433740257725349832074795832519960362548655352660292548086572650260955323479886585814261748308530922325875231126484671923569903623462924838537230148807174466364677723272329959206424159996267964168838184574432423403182261304770973788662026810866727556117772092152541119886106289015550981436734619575729057182037100975747292050754182679795205021480419768109857306432761558095490299175566275198601489141027177452627965174372102474267521454640241564378315956209432193593384275782886234889372063181635849702781298805260217204409005001105847483639179349 6396113513593007961891813226935822740748277615487827109696775077650744111517978975538852703319281123872600661967278384391574461187860199522933646998999538713901361957508761865224274474816728788137024333587646911958441258025307623216648392060806784628571998241684602862895364766569809441189561564645749804491324223089099267140266552057270345506219118474513316805613893830194906814987563026923654838627994122231133515961803808994696412167187581607277129210228001556090052624445626064078163837917223968216410626487097713979316203643731794674956510927668475852584030314018950207774457902838950378314788597955927871077112816263330016914812269453505831390260501221916072341274671195183514347028619709143445167929494367193363368462982995455102217263462465520246711978006042236723739055543938506714354340072137990215409661931774488322518471807652017282642015706041017387803240578053021626181868826199843615286506580892606947249075321450305579434499300954093555003991368874012055891309632410173739044367319284778369267709751503280662153341549855803146404437364332897045715553640596798243974017694937144515881027925179148169736715155740276511154651460614789283628094508866224030928785711298220129159596433212945012127094762157732488044922009085935090172499332794516660487975120172172361580961385735158834704457929506356709933746042445568903759384862746585581043727934177989283752957195386541823581629422096175724339876874696976701267284840328526395590340894138418294817662774732761651900133762938301420503243138797069242692374705604056749969850110498049637615335072325929495208873466378340174747715434675319355394576817817569017120521341913725285104464594789211463991631365172521385301714785524928896653987950148963183475998449983114982785660780329813070379524040131631430272032638823770178781975427682403302564696278136421568683444484712742197951607088200861737221537604893541998490413619471226953730509156940210118135905065749230546938236656872415296228078105895296715510605201869302194227406980762186966163775419980620909059740255532427999652919304179306999879752949827544709671331161276862901106642303050573418888785564069332988002374665258049781866345632211697232549372689077487031487826158326609123864458818649465818651883798626700488607057913874183822894194909770800344902545668194146399842822169073844479047632818851603640778262967494801134261055581658685040664653374369313361722260615340421607032216939270688303092342683217735659610558091594471390799287641335727178843062493247997004137179327837436308731194416723412086190813204267797585590512720611122007134662798191316194524958732222222584030871440029779354426466815688773195336231199503002957713752632699553717275956317000347062088046007640797923788937194237757596714471989957247186792865278687387390306814393416264584371509434753693480206225865850376600737621599854689551532668241726461745546605036850358013298992441257829217568616345651423487481361965873578812956725108042779939400217673559819819791501198202041792703780073301721286458087201532401317211644592474556685781495180108657783366584736434774613989709365418322879847 10349129060895999453870697835565041730827273367338261990639311857946183649399799693558851608428053682141848042328064402500898945085248348835257106083534948289356121737907338267514665890654022465815224419671336383370851523202360843235357425140066514236891676496263120430055881925639725473068461228368622748840811689088052668587192567299014594602511542588087095357915926096573649033932325488426720237966147431717402448485304046937365026321040990606818629260029640117592460452966906731746835949071738855316578457961687620117109284408991378607467994473954885440343449371546191555110501619952492495432426109598770033137735995301504625813011857562484989748000933784405367180827136675332592729090333492476139098536289105244788105083660903012991350398905379565097246965664177302429299261085654656325179933381837637609572788527623315300389346816643386677819647096437256735415114390604680825052043300135191344650327021789283019424989117525428097379664837939537404131352063331963998889423457841230695487150786278605528641574893039416146947454839386719044518031401125992093589877325375388388280154660490358738300791550868406731460852969496424064876711854929351758276046173406872400058312340388351890771010749124007559554058882074548438720055740557135022581419835794833170885867840821607993408796893019782138994614139840296026706388677207216288427337942165942014136346762104831138604269065913913745109796261925085168158083354436315617573619870029632042929470868571496948186899419643433253858884660458139881518280533920968569137170179745955547831199820850458928028956785014183619578075700559130188833363849189322705719247333911746487248121752042357609484054370267913012512502091445507703675785964079766069553497822951233974343565240997529513532808049025009213909285093176160097429496741268285739823435313375261825387873114961248871993928276591058834830049204383047088314977851357696702857257538228483893232446929236825495931133138204120836068603367139449781960226592728136743187727209882818946502563461017460355952052992863730365370827561131420497555195037480823553916392866319912927760857105723038014863099131857575525001927710005224704576290939418114361267959186188737261363514803852418303287964703200371113594848215771164098503187841592911317757243530178707185258975455662070857880293472819441859646616492382390618934894625524424632865259210588518129257706228243977824370009939167560808345644572565726969027416345090508885618350320487111407092657958894546994350844152723797232001135565930796444098834808975264198865588640029473517474172029774827019330770445960954081930495318151678743180311392514770670603521700985102834313052629950521503867153525378234084198424556269457340738881155537577210895220474005475647061267153444181756710739954126085371367297702090569651611585367204926611182376162309811252298378406970262707026637150836126286152243970783643782647580784142408767481672236462850697988384455508729920242920061363877988523000306644269080427395126187784994163603672469563247344021637680037242667519395125785592994530827363928748963131029811439082171844953639183618990815212901962059196 16745242574489007415762511062500864471575550982826089100336086935596927760917778669097704311747334806014448704295342786892473406273108548358190753082534487003257483695416100132738940365470751253952248753258983295329292781227668466452005817200873298865463674737947723292951246692209534914258022793014372553332135912177151935727459119356284940108730661062600412163529819926768555848919888515350375076594141553948535964447107855932061438488228572214095758470257641673682513077412532795824999786988962823532989084448785334096425488052723173282424505401623361292927479685565141762884959522791442873747214707554697904214848811564834642727824127015990821138261435006321439522101807870516107076118953201619584266465783472438151473546643898468093567662367845085343958943670219539153038316629593163039534273453975627824982450459397803622907818624295403960461662802478274123218354968657702451233912126335034959936833602681889966674064438975733676814164138893630959135343432205976054780733090251404434531518105563383897909284644542696809100796389242522190922468765458889139305430965972186632254172355427503254181819476047554901197568125236700576031363315544141041904140682273096430987098051686572019930607182336952571681153644232280926764977749643070112753919168589349831373842960993780354989758278754940973699072069346652736640134719652785192186722804912527595180074696282820422357226261300455568691425684021260892497960229133292318840904710358158438519811762709915243004562194376194905759018423396441302021523672718037811829544885350012297801049931348508565644291857340113114786949166937470363581079283864642061113824151729315504368643093956082894588518965057124476504133456618029088977500749604694966207485773100197157819563690980644496318468829354822284288809133307791527701529380092055918605410741057665127952569393097670440677372761303801032781656292583908825536515456251238701347671157699710846962956086177035614067038203953351383006840024011865078188304698623433458698332411752121140729970441779647322115828412844351274430567816663848497208114341660130553796145816147457637432188266999900915969741434908148943890713274074557692578665604676164143134304818400434493912887492929905334775790861526980237459307034420629917155071640219611806364301444052891008153170365432871202782839141013588259489438661456235097982527444376028273643522178083319263518761809902662865034663313536874170067905187906148576059633284361197188710693003704847066703216050489018385150131794059524410844198059178793448236014136812700507596783056752885603664985234042624604921283166572076089065158116342994937705270124736993254634393141014882188739519445639294699203384724881237041912177188969011058014837472537924272983266481646273570850204347681939353425211944083332558160162980777957041918399760621191195553885597063504732504604272820639307764258750690815837684912212510105528194185820992766780780664677720679915557000801160153407724282027237456801479725414687049019827612799747604813955104870671605040047801710981758529125606596658186910206175419838485434744626209920096865538429690073958232980524578320284939043 27094371635385006869633208898065906202402824350164351090975398793543111410317578362656555920175388488156296746623407189393372351358356897193447859166069435292613605433323438400253606256124773719767473172930319678700144304430029309687363242340939813102355351234210843723007128617849260387326484021382995302172947601265204604314651686655299534711242203650687507521445746023342204882852214003777095314560288985665938412932411902869426464809269562820914387730287281791274973530379439527571835736060701678849567542410472954213534772461714551889892499875578246733270929057111333317995461142743935369179640817153467937352584806866339268540835984578475810886262368790726806702928944545848699805209286694095723365002072577682939578630304801481084918061273224650441205909334396841582337577715247819364714206835813265434555238987021118923297165440938790638281309898915530858633469359262383276285955426470226304587160624471172986099053556501161774193828976833168363266695495537940053670156548092635130018668891841989426550859537582112956048251228629241235440500166584881232895308291347575020534327015917861992482611026915961632658421094733124640908075170473492800180186855679968831045410392074923910701617931460960131235212526306829365485033490200205135335339004384183002259710801815388348398555171774723112693686209186948763346523396860001480614060747078469609316421458387651560961495327214369313801221945946346060656043583569607936414524580387790481449282631281412191191461614019628159617903083854581183539804206639006380966715065095967845632249752198967493673248642354296734365024867496600552414443133053964766833071485641061991616764845998440504072573335325037489016635548063536792653286713684461035760983596051431132163128931978174009851276878379831498198094226483951625131026121360341658428846054432926953340442508058919312671301037894859867611705496966955913851493307608935404204928695928194740195403015413861109998171342157472219075443391151314860148531291351570201886059621634940087232533902797107678067881405708081639801395377795268994763309379140954107712538682467370565193045372722938930832840566765724468892640984079782397154956544094278504402264004589171755276402296782323638063755564727351351054155250191794015658259481812523124121544974231598193412145821094942060663132613833030119136055153838625716917422069900452906508781388671837392776468038146640689404673252704434978413549760471875545087049629451706074329043324191958473795874009383565379500975946783321642845333625109589892334848945787964706462371696782359121139157263817451624252053612533030170995653434494673680885581517251763925237914841999985023052572075589816203070538250259471126110601745238468398753718628075501483878486955651749217911471501126121110135951898209417929527460682868526693529985127826117806736261759373315984802982679790902014790895901526942123837156183293749310841766605135175548262336914183530613545385256668883327967202088601334790002725721331318100255007925935389808118708543141168287391823348661795771793125991783972503200706247202414183707757239731535947710274643713141851971339791222246998239 43839614209874014285395719960566770673978375332990440191311485729140039171235357031754260231922723294170745450918749976285845757631465445551638612248603922295871089128739538532992546621595524973719721926189302974029437085657697776139369059541813111967819025972158567015958375310058795301584506814397367855505083513442356540042110806011584474819972864713287919684975565950110760731772102519127470391154430539614474377379519758801487903297498135035010146200544923464957486607791972323396835523049664502382556626859258288309960260514437725172317005277201608026198408742676475080880420665535378242926855524708165841567433618431173911268660111594466632024523803797048246225030752416364806881328239895715307631467856050121091052176948699949178485723641069735785164853004616380735375894344840982404248480289788893259537689446418922546204984065234194598742972701393804981851824327920085727519867552805261264523994227153062952773117995476895451007993115726799322402038927743916108450889638344039564550186997405373324460144182124809765149047617871763426362968932043770372200739257319761652788499371345365246664430502963516533855989219969825216939438486017633842084327537953065262032508443761495930632225113797912702916366170539110292250011239843275248089258172973532833633553762809168703388313450529664086392758278533601499986658116512786672800783551990997204496496154670471983318721588514824882492647629967606953154003812702900255255429290745948919969094393991327434196023808395823065376921507251022485561327879357044192796259950445980143433299683547476059317540499694409849151974034434070915995522416918606827946895637370377495985407939954523398661092300382161965520769004681565881630787463289156001968469369151628289982692622958818506169745707734653782486903359791743152832555501452397577034256795490592081293011901156589753348673799198660900393361789550864739388008763860174105552599853627905587158359101590896724065209546110823602082283415163179938336835989975003660584392033387061227962504344576755000183709818552432914231963194459117491971423720801084661508684498614828202625233639722839846802582001673873412783354258154340089733622148770442647536568822989606249189289789712228972839546426254331588513462284612423932813331122032134930485846418284489201565316186527813263445971754846618378625493815294860814899949514276481180152303566755156656295229848049303554439336566241309148481454948378024121146682913812903263039736327896805540499090059872583764651107740842846053689531684288383340570863082600665214059154753535244724804142497860076229173336779105106260060811550837668618590851641988757179872307983014867211792091521229110902273922975140708168022778934207479456768556100613425756861753437298022788761675848808060463561163842292750487687623663646483735448384888447309002290147356436820717307586952611541322555154652217757961522068395803854839035952426127942329043001591904210529102386057829036735691484115838791591482451136018367120082620725682994622073813413812773327439625059643554300918732588442159413406881667040899618452383449651632813248704333787100084951864369542531937282 70933985845259021155028928858632676876381199683154791282286884522683150581552935394410816152098111782327042197542157165679218108989822342745086471414673357588484694562062976933246152877720298693487195099119622652729581390087727085826732301882752925070174377206369410738965503927908055688910990835780363157678031114707561144356762492666884009531215068363975427206421311973452965614624316522904565705714719525280412790311931661670914368106767697855924533930832205256232460138171411850968671259110366181232124169269731242523495032976152277062209505152779854759469337799787808398875881808279313612106496341861633778920018425297513179809496096172942442910786172587775052927959696962213506686537526589811030996469928627804030630807253501430263403784914294386226370762339013222317713472060088801768962687125602158694092928433440041469502149506172985237024282600309335840485293687182469003805822979275487569111154851624235938872171551978057225201822092559967685668734423281856162121046186436674694568855889247362751011003719706922721197298846501004661803469098628651605096047548667336673322826387263227239147041529879478166514410314702949857847513656491126642264514393633034093077918835836419841333843045258872834151578696845939657735044730043480383424597177357715835893264564624557051786868622304387199086444487720550263333181513372788153414844299069466813812917613058123544280216915729194196293869575913953013810047396272508191669953871133739401418377025272739625387485422415451224994824591105603669101132085996050573762975015541947989065549435746443552990789142048706583516998901930671468409965549972571594779967123011439487602172785952963902733665635707199454537404552745102674284074176973617037729452965203059422145821554936992516021022586114485280684997586275694777963581622812739235463102849923519034633454409215509066019974837093520768005067286517820653239502071469109509757528549556100327353762117004757834063380888268295821157726806314494798485367281326573862470451655022001315195038247373862678251591224260514554033358572254386486734733099942038769221223181082198767818279012445778777635422568439597881675995242234122486888578692864721151938832827578778004465692086494552610903301990981682939567617534804217948471590603844658054607391392516087394977462007622755324109104368679648497761548969133486531817371584176934086661084955426994049071697886195944243844009818945744126895004708849899666233732543264609337368779652088764014294964069256149144152083687626167696534865309397973232905712028388629920521526450317603845943299761677527853425390391638136431056464985332342299476433159240521105110222825014852234844663596818927105344461225400179294133380679445947855522274728688927240740240392949772006673147349934181573697115740502168417215084346515010428978370016273426809026409115810136702110569632402443337346050553744700085359224579097604149877719031263117877305338506087741142647771314497920063658686204440126381485176857349685220337628651618384430192521956953941614831448408305350072711858580226131916607587914243313802160140689383168760958978977500241936923204160764778935521 114773600055133035440424648819199447550359575016145231473598370251823189752788292426165076384020835076497787648460907141965063866621287788296725083663277279884355783690802515466238699499315823667206917025308925626759018475745424861966101361424566037037993403178527977754923879237966850990495497650177731013183114628149917684398873298678468484351187933077263346891396877923563726346396419042032036096869150064894887167691451420472402271404265832890934680131377128721189946745963384174365506782160030683614680796128989530833455293490590002234526510429981462785667746542464283479756302473814691855033351866569799620487452043728687091078156207767409074935309976384823299152990449378578313567865766485526338627937784677925121682984202201379441889508555364122011535615343629603053089366404929784173211167415391051953630617879858964015707133571407179835767255301703140822337118015102554731325690532080748833635149078777298891645289547454952676209815208286767008070773351025772270571935824780714259119042886652736075471147901831732486346346464372768088166438030672421977296786805987098326111325758608592485811472032842994700370399534672775074786952142508760484348841931586099355110427279597915771966068159056785537067944867385049949985055969886755631513855350331248669526818327433725755175182072834051285479202766254151763319839629885574826215627851060464018309413767728595527598938504244019078786517205881559966964051208975408446925383161879688321387471419264067059583509230811274290371746098356626154662459965353094766559234965987928132498849119293919612308329641743116432668972936364742384405487966891178422726862760381816983587580725907487301394757936089361420058173557426668555914861640262773039697922334354687712128514177895811022190768293849139063171900946067437930796137124265136812497359645414111115926466310372098819368648636292181668398429076068685392627510835329283615310128403184005914512121218595654558128590434379119423240010221477674736822203271301577523054843688409062543157542591950617678435301042812947468265321766713503978706156820743123430729907679697026970443512652168618624438004570113471294459349500388462576622200841635163799475401650568384253654981876206781583742848417236014528081079819416641881284921725876792985093237810800576596542778194150568587555076123526266876387042784428347346717321098453415266813388522182150705366927734245247798283346385187053275376459657227923787380415457077512600408515979985569554794054129128732908803191428469013750224396993686356573476575110989295134580681203852848570747442259537604082598727170743242691117276536170010918067284801229278284982530808029719446636755118048038007618384200540887462156159613653427312290830829302352997601993830247794795434823198742242037258279582794918904902708010161494164426754904720735811316556472246957419418156585013984659901205205962458046881292974901458988913671457391060206348340097991951671750157372326956799350170320278917972967627993368052340420249377301379052266335370766714942271073467948904373630591168668291330014469581284213420612524139034801574207683311287342021875068530307310872803 185707585900392056595453577677832124426740774699300022755885254774506340334341227820575892536118946858824829846003064307644281975611110131041811555077950637472840478252865492399484852377036122360694112124428548279488599865833151947792833663307318962108167780384897388493889383165874906679406488485958094170861145742857478828755635791345352493882403001441238774097818189897016691961020735564936601802583869590175299958003383082143316639511033530746859214062209333977422406884134796025334178041270396864846804965398720773356950326466742279296736015582761317545137084342252091878632184282094005467139848208431433399407470469026200270887652303940351517846096148972598352080950146340791820254403293075337369624407713305729152313791455702809705293293469658508237906377682642825370802838465018585942173854540993210647723546313299005485209283077580165072791537902012476662822411702285023735131513511356236402746303930401534830517461099433009901411637300846734693739507774307628432692982011217388953687898775900098826482151621538655207543645310873772749969907129301073582392834354654434999434152145871819724958513562722472866884809849375724932634465798999887126613356325219133448188346115434335613299911204315658371219523564230989607720100699930236014938452527688964505420082892058282806962050695138438484565647253974702026653021143258362979630472150129930832122331380786719071879155419973213275080386781795512980774098605247916638595337033013427722805848444536806684970994653226725515366570689462229823763592051349145340322209981529876121564398555040363165299118783791823016185971838295413852815453516863750017506829883393256471189753511860451204128423571796560874595578110171771230198935817236390077427375299557747134274335732832803538211790879963624343856898532343132708759718747077876047960462495337630150559920719587607885388623473385702436403496362586506045867012906798393125067656952740106241865883335600412392191971322647415244397737027792169535307570552628151385525295343431063858352580839324480356686892267073462022298680338967890465440889920685162199951130860779225738261791664614397402073427138553069176135344742622585063510779534499884951414234478147162258120673962701334194646150408217697467648697354220859829756512329721451039700629203316663991520240201773323911664180492205915374148591753561833878534692682630349353474473477609144754438625620441192042127356204132797402271464366077823453614148000342121937777295632074333569089018198384882052955275116095181446759262303084329806382287139377925055102207654170452416690742021215131936024117562381379122173741521502353217543717960469799390092753633044571681481418714866965112962845425941066756289540293099375167813105557991280238342234223197566802107970548676423610955395323297087322117792356676504593405124920994162620342965588057094121528726217416427997247255759707158132240517553999063138791390488654178083653678604079692814397928686824876863008856524719044354452804850717737560757878028919763482458857327720656557102521876254254446342449748894423246622057495527527222772664828417970335166662288787583958798272691072089808324 300481185955525092035878226497031571977100349715445254229483625026329530087129520246740968920139781935322617494463971449609345842232397919338536638741227917357196261943668007865723551876351946027901029149737473906247618341578576809758935024731884999146161183563425366248813262403841757669901986136135825184044260371007396513154509090023820978233590934518502120989215067820580418307417154606968637899453019655070187125694834502615718910915299363637793894193586462698612353630098180199699684823430427548461485761527710304190405619957332281531262526012742780330804830884716375358388486755908697322173200075001233019894922512754887361965808511707760592781406125357421651233940595719370133822269059560863708252345497983654273996775657904189147182802025022630249441993026272428423892204869948370115385021956384262601354164193157969500916416648987344908558793203715617485159529717387578466457204043436985236381453009178833722162750646887962577621452509133501701810281125333400703264917835998103212806941662552834901953299523370387693889991775246540838136345159973495559689621160641533325545477904480412210769985595565467567255209384048500007421417941508647610962198256805232803298773395032251385265979363372443908287468431616039557705156669816991646452307878020213174946901219492008562137232767972489770044850020228853789972860773143937805846100001190394850431745148515314599478093924217232353866903987677072947738149814223325085520720194893116044193319863800873744554503884037999805738316787818855978426052016702240106881444947517804254063247674334282777607448425534939448854944774660156237220941483754928440233692643775073454777334237767938505523181507885922294653751667598439786113797457499163117125297633912434846402849910728614560402559173812763407028799478410570639555855871343012860457822140751741266486387029959706704757272109677884104801925438655191438494523742127676740377785355924112156378004554196066950320561757026534667637747249269844272129773823929728908580139031840126401510123431275098035122193309886409490564002105681394444147046741428285630681038540476252708705304316783016026511431708666540470594694243011047640132980376135048750889636128715546511775655838908115778388998825453711995729777173637501711041434055598244024793867014117240588063018395923892499219256615732182250535634537990181225252013781083764620287861999791295459805553354686439840410702589319850677647924023305747240994563457419634538185811612059903123883072327513614961758466544564195196983659296770686379858862250367220189682888858023300987438184280752736018622844733124621813291018057672364135611002761699077675075284441074291128118173832915003120581229626481954218445699906752802480103936387293633235944228053445361597542793747418665648213674906092006227020500366837998757831879825714898431659522060304051540946882802430412657148460965669616179121810528900522127705061946045238290002018702071644486148086059151833662359026844997962327420432844085789901178127406221142534725192698487371499373595344203158819973040917562714576636527076811740643385188967452771909374345600074925980673341221379400681127 486188771855917148631331804174863696403841124414745276985368879800835870421470748067316861456258728794147447340467035757253627817843508050380348193819178554830036740196533500265208404253388068388595141274166022185736218207411728757551768688039203961254328963948322754742702645569716664349308474622093919354905406113864875341910144881369173472115993935959740895087033257717597110268437890171905239702036889245245487083698217584759035550426332894384653108255795796676034760514232976225033862864700824413308290726926431077547355946424074560827998541595504097875941915226968467237020671038002702789313048283432666419302392981781087632853460815648112110627502274330020003314890742060161954076672352636201077876753211289383426310567113606998852476095494681138487348370708915253794695043334966956057558876497377473249077710506456974986125699726567509981350331105728094147981941419672602201588717554793221639127756939580368552680211746320972479033089809980236395549788899641029135957899847215492166494840438452933728435451144909042901433637086120313588106252289274569142082455515295968324979630050352231935728499158287940434140019233424224940055883740508534737575554582024366251487119510466586998565890567688102279506991995847029165425257369747227661390760405709177680366984111550291369099283463110928254610497274203555816625881916402300785476572151320325682554076529302033671357249344190445628947290769472585928512248419471241724116057227906543766999168308337680429525498537264725321104887477281085802189644068051385447203654929047680375627646229374645942906567209326762465040916612955570090036395000618678457740522527168329925967087749628389709651605079682483169249329777770211016312733274735553194552672933470181980677185643561418098614350053776387750885698010753703348315574618420888908418284636089371417046307749547314590145895583063586541205421801241697484361536648926069865445442308664218398243887889796479342512533079673949912035484277062013807437344376557880294105434375271190259862704270599578391809085576959871512862682444649284909587936662113447830632169401255478446967095981397413428584858847219609646730038985633632703643759910634933702303870606862708769896329801609449973035149233671409463378474527858361540797946385319695064494496217433904579583258597697216410883437107938097624684226291552015103786706463714113973762335477400440214244178975127631882538058793452648079919388389383570694608711457761756475963107244134236692972090525898497014713741660659376643742921599855016186241149389745145244785096512193753404128926301967867954646962295506000935464759579174717353154720722168877065168038074118862809599592547781968233544075052423020974735240199852177647917041945284913474286462276642928399650764296095089259169070229389093549138292723514503351237004746709061052002487648361145662475609019846840654395716725376774311362328082899585266496452434699416373655697306151337300546014745976710525367883369717006681873237694803527461936005435140906017184050026208028056476117220457413266315490666457137823258584572339267866157853795870742244541007888862509939471613912451490489451 786669957811442240667210030671895268380941474130190531214852504827165400508600268314057830376398510729470064834931007206862973660075905969718884832560406472187233002140201508130931956129740014416496170423903496091983836548990305567310703712771088960400490147511748120991515907973558422019210460758229744538949666484872271855064653971392994450349584870478243016076248325538177528575855044778873877601489908900315674209393052087374754461341632258022447002449382259374647114144331156424733547688131251961769776488454141381737761566381406842359261067608246878206746746111684842595409157793911400111486248358433899439197315494535974994819269327355872703408908399687441654548831337779532087898941412197064786129098709273037700307342771511187999658897519703768736790363735187682218587248204915326172943898453761735850431874699614944487042116375554854889909124309443711633141471137060180668045921598230206875509209948759202274842962393208935056654542319113738097360070024974429839222817683213595379301782101005768630388750668279430595323628861366854426242597449248064701772076675937501650525107954832644146498484753853408001395228617472724947477301682017182348537752838829599054785892905498838383831869931060546187794460427463068723130414039564219307843068283729390855313885331042299931236516231083418024655347294432409606598742689546238591322672152510720532985821677817348270835343268407677982814194757149658876250398233694566809636777422799659811192488172138554174080002421302725126843204265099941780615696084753625554085099876565484629690893903708928720514015634861701913895861387615726327257336484373606897974215170943403380744421987396328215174786587568405463903081445368650802426530732234716311677970567382616827080035554290032659016909227589151157914497489164273987871430489763901768876106776841112683532694779507021294903167692741470646007347239896888922856060391053746605823227664588330554621892443992546292833094836700484579673231526331858079567118200487609202685573407111316661372827701874676426931278886846281003426684550330679353734983403541733461313207941731731155672400298180429455096290555886150117324733228644680343776740286769982453193506735578255281671985640517565751424148059125121459108251701495863251839380440917939089288363231551145167646276993621108910102693723670279875219860829542196329038720244797878594050197477191735674049732329814071722948761382772498757567312412689317935603274915181391014148918856194139816855162853412111976472208205223571840726580896625702566100011640112365434467985370217054391567110582720603973269807028630622748755777636847081488765723483867954740243322515193153937717766380696971354125304678904975193180940106604980128020978332578546710230690330088289997193558043513754907382745135481099776158793090352502109068884572423959483662009708665197203422491822277253311544177691046390490484138611800107394201514380744654663657716008222981786694100805128544187726910214714969009293670538889317363114132841362048551909242724695399555849712564660572086288531584019852399895111649151008509543042763323514153915353488937435920144955133830891170578 1272858729667359389298541834846758964784782598544935808200221384628001270930071016381374691832657239523617512175398042964116601477919414020099233026379585027017269742336735008396140360383128082805091311698069518277720054756402034324862472400810292921654819111460070875734218553543275086368518935380323663893855072598737147196974798852762167922465578806437983911163281583255774638844292934950779117303526798145561161293091269672133790011767965152407100110705178056050681874658564132649767410552832076375078067215380572459285117512805481403187259609203750976082688661338653309832429828831914102900799296641866565858499708476317062627672730143003984814036410674017461657863722079839694041975613764833265864005851920562421126617909885118186852134993014384907224138734444102936013282291539882282230502774951139209099509585206071919473167816102122364871259455415171805781123412556732782869634639153023428514636966888339570827523174139529907535687632129093974492909858924615458975180717530429087545796622539458702358824201813188473496757265947487168014348849738522633843854532191233469975504738005184876082226983912141348435535247850896949887533185422525717086113307420853965306273012415965425382397760498748648467301452423310097888555671409311446969233828689438568535680869442592591300335799694194346279265844568635965423224624605948539376799244303831046215539898207119381942192592612598123611761485526622244804762646653165808533752834650706203578191656480476234603605500958567450447948091742381027582805340152805011001288754805613165005318540133083574663420582844188464378936778000571296417293731484992285355714737698111733306711509737024717924826391667250888633152411223138861818739264006970269506230643500852798807757221197851450757631259281365538908800195499917977336187005108184790677294391412930484100579002529054335885049063275805057187212769041138586407217597039979816471268669973252548952865780333789025635345627916374434491708715803393871887004462577045489496791007782382506921235531972474254818740364463806152516289366994979964263322920065655181291945377342987209602639496279577842883681149403105759764054772214278313047420500197404916155497377342440964051568315442127015724459297292796530922486726229354224792637326826237634153782859448985049747229535591318325320986130831608377499904087121094211432825426708511992567812532954592175888293911304941703605486820176225146837486700802072888630211986372943147490112026100328376509827253379310608991185949865882948484469502496480718752341161029857510679253081882410807795696036884688471927916769324136623684220537216021798841920444206036831805411360589312016747317358928478939587669379731327996167916180306457157775938020277863460184517152606731218396844322339608844166551815364870193325297085813867005460305889319133020535664497357026342865898100842124093965939894416423164801846466694699692660697966815444071037313413314374319087240115551105254713094793584431975691166908233692844825050138276502954569093292750903427612325829785117985352604022250476990223153696221490276375700896559194256398456361377799945859616569046282381660029 2059528687478801629965751865518654233165724072675126339415073889455166671438671284695432522209055750253087577010329050170979575137995319989818117858939991499204502744476936516527072316512868097221587482121973014369703891305392339892173176113581381882055309258971818996725734461516833508387729396138553408432804739083609419052039452824155162372815163676916226927239529908793952167420147979729652994905016707045876835502484321759508544473109597410429547113154560315425328988802895289074500958240963328336847843703834713841022879079186888245546520676811997854289435407450338152427838986625825503012285545000300465297697023970853037622491999470359857517445319073704903312412553417619226129874555177030330650134950629835458826925252656629374851793890534088675960929098179290618231869539744797608403446673404900944949941459905686863960209932477677219761168579724615517414264883693792963537680560751253635390146176837098773102366136532738842592342174448207712590269928949589888814403535213642682925098404640464470989212952481467904092080894808854022440591447187770698545626608867170971626029845960017520228725468665994756436930476468369674835010487104542899434651060259683564361058905321464263766229630429809194655095912850773166611686085448875666277076896973167959390994754773634891231572315925277764303921191863068375029823367295494777968121916456341766748525719884936730213027935881005801594575680283771903681013044886860375343389612073505863389384144652614788777685503379870175574791296007480969363421036237558636555373854682178649635009434036792503383934598479050166292832639388187022744551067969365892253688952869055136687455931724421046140001178254819294097055492668507512621165794739204985817908614068235415634837256752141483416648168508954690066714692989082251324058435597948692446170498189771596784111697308561357179952230968546527833220116281035475330073657431033563077091897637840879507487672777781571928178722753074919071381947329725729966571580777533098699476581189493823582608359674348931245671643350652433519716051545310643617057903469196914753258585284718940758311896577758272338777439958991909881379505442922993391197240484174898608690884078019219333240301082644581475883445351921652381594977930850088044476707267155573243071222680536194914875812584939434231088824555278657375123947950636407761864146953309871161862730431783911562343643634755775328435581558997645595054013214762206565815261288124538504260944956522516326682416232722720967658158071106520325196083393106421318441172669969876113721067252627862187263147467409075901186576352767246432976314852868880330686167689904786545654683104505170685035125309175910941794684410232971361097120413062137903958998610442006894747842936819508394037880383122599073934560500351293101455878904219507569374773891556980019326507065691540069320592664401347277484072107469555292330605306499800054899481196188725700971129322597300873934216356233798900821703799146944700460578772582162188164271117865003121002535475598827168175542349778557438892553834496842623048807870641284885243939322517770552371714866737381779761524180113272830607 3332387417146161019264293700365413197950506671220062147615295274083167942368742301076807214041712989776705089185727093135096176615914734009917350885319576526221772486813671524923212676895996180026678793820042532647423946061794374217035648514391674803710128370431889872459953015060108594756248331518877072326659811682346566249014251676917330295280742483354210838402811492049726806264440914680432112208543505191437996795575591431642334484877562562836647223859738371476010863461459421724268368793795404711925910919215286300307996591992369648733780286015748830372124068788991462260268815457739605913084841642167031156196732447170100250164729613363842331481729747722364970276275497458920171850168941863596514140802550397879953543162541747561703928883548473583185067832623393554245151831284679890633949448356040154049451045111758783433377748579799584632428035139787323195388296250525746407315199904277063904783143725438343929889310672268750128029806577301687083179787874205347789584252744071770470895027179923173348037154294656377588838160756341190454940296926293332389481141058404441601534583965202396310952452578136104872465724319266624722543672527068616520764367680537529667331917737429689148627390928557843122397365274083264500241756858187113246310725662606527926675624216227482531908115619472110583187036431704340453047991901443317344921160760172812964065618092056112155220528493603925206337165810394148485775691540026183877142446724212066967575801133091023381291004338437626022739387749861996946226376390363647556662609487791814640327974169876078047355181323238630671769417388758319161844799454358177609403690567166869994167441461445764064827569922070182730207903891646374439905058746175255324139257569088214442594477949992934174279427790320228975514888489000228660245440706133483123464889602702080884690699837615693065001294244351585020432885322174061737291254471013379548360567611093428460353453111570597563524350669449353563090663133119601853576043354578588196267588971876330503843891646823186064412007814458586036005418540290607880380823534852096045203962627706150360951392857336115222458589362097669645434277657201306438617740681579814764188261420460183384808616524771597200342742644718183304081704160204312837114034093393207396854082129521244662105348176257759552074955386887034875028035071730619194689573661821863729675263386376087450637554939697478933922401735222792432540714016835095196027247661067685994372971056850892836509669612033329958844107936989468809665585889587140070782333699827386792974149135038669982959184352097547829103345676903870117196852068890679172606611895941618351066043693817187432352484237654850529464064141560967529013300719519295679897018888305467079264995543550726790882202722731443240486375865221486426752964718086513029680663210690000554991004422717882935218693506525441243423966523892720094177072001199492715597448011632796738284542636971619961174331907339053613916497383578920391627487006275007013214409394367957690095828226502254780501372134896542791496576084973832846202504092131561260944835881712026950828076244537327639378093226395654490636 5391916104624962649230045565884067431116230743895188487030369163538334613807413585772239736250768740029792666196056143306075751753910053999735468744259568025426275231290608041450284993408864277248266275942015547017127837367186714109208824627973056685765437629403708869185687476576942103143977727657430480759464550765955985301053704501072492668095906160270437765642341400843678973684588894410085107113560212237314832298059913191150878957987159973266194337014298686901339852264354710798769327034758733048773754623050000141330875671179257894280300962827746684661559476239329614688107802083565108925370386642467496453893756418023137872656729083723699848927048821427268282688828915078146301724724118893927164275753180233338780468415198376936555722774082562259145996930802684172477021371029477499037396121760941098999392505017445647393587681057476804393596614864402840609653179944318709944995760655530699294929320562537117032255447205007592720371981025509399673449716823795236603987787957714453395993431820387644337250106776124281680919055565195212895531744114064030935107749925575413227564429925219916539677921244130861309396200787636299557554159631611515955415427940221094028390823058893952914857021358367037777493278124856431111927842307062779523387622635774487317670378989862373763480431544749874887108228294772715482871359196938095313043077216514579712591337976992842368248464374609726800912846094166052166788736426886559220532058797717930356959945785705812158976507718307801597530683757342966309647412627922284112036464169970464275337408206668581431289779802288796964602056776945341906395867423724069863092643436222006681623373185866810204828748176889476827263396560153887061070853485380241142047871637323630077431734702134417590927596299274919042229581478082479984303876304082175569635387792473677668802397146177050244953525212898112853653001603209537067364911902046942625452465248934307967841125889352169491703073422524272634472610462845331820147624132111686895744170161370154086452251321172117310083651165111019555721470085601251497438727004049010798462547912425091119263289435094387561236029321089579526813783100124299829814981165754713372879145498479402718048917607416178676226187996639835685676682091054400881590741360548780639925304810057439576981160761197193783163779942165692250151983022367026956553720615131734891537993818159999012981198574453254262357983294220438027594727231597301761842508949192224498633916013373409163192085844756050926502266008095989134861669282693561389223506369797262906695216387666532170222331819506623730289922029671116550173166921759559503292779585846404896720726798322358117387609546830761471258748551793938890110421132581433583856017498747473974012838480370235184920083105854042314420936365572779528208843622306020599055437102246980574317511488409423004539286170926788520908038631362275386507677307699292770496929207821522439255671959568920835108548263572852514738201182725865092088065778857169201378680512232960811098363702101081948676914484675100230389129919470675469251311962772846146188775204229797503199791111274709419139617406508927321243 8724303521771123668494339266249480629066737415115250634645664437621502556176155886849046950292481729806497755381783236441171928369824788009652819629579144551648047718104279566373497670304860457274945069762058079664551783428981088326244473142364731489475565999835598741645640491637050697900226059176307553086124362448302551550067956177989822963376648643624648604045152892893405779949029809090517219322103717428752829093635504622793213442864722536102841560874037058377350715725814132523037695828554137760699665542265286441638872263171627543014081248843495515033683545028321076948376617541304714838455228284634527610090488865193238122821458697087542180408778569149633252965104412537066473574893060757523678416555730631218734011577740124498259651657631035842331064763426077726722173202314157389671345570116981253048843550129204430826965429637276389026024650004190163805041476194844456352310960559807763199712464287975460962144757877276342848401787602811086756629504698000584393572040701786223866888459000310817685287261070780659269757216321536403350472041040357363324588890983979854829099013890422312850630373822266966181861925106902924280097832158680132476179795620758623695722740796323642063484412286924880899890643398939695612169599165249892769698348298381015244346003206089856295388547164221985470295264726477055935919351098381412657964237976687392676656956069048954523468992868213652007250011904560200652564427966912743097674505521929997324535746918796835540267512056745427620270071507204963255873789018285931668699073657762278915665382376544659478644961125527427636371474165703661068240666878082247472496334003388876675790814647312574269656318098959659557471300451800261500975912231555496466187129206411844520026212652127351765207024089595148017744469967082708644549317010215658693100277395175758553493096983792743309954819457249697874085886925383598804656166373060322173813032860027736428194579000922767055227424091973626197563273595964933673723667486690275092011759133246484590296142967995303374495658979569605591726888625891859377819550538901106843666510540131241480214682292430502783694618683187249172248060757325606268432721847334528137067406918939586102857534132187775876568930641358018989758386251258713718704775453941988036779386939578684239086508937454953335238735329052727125180018094097646151243294276953598621213257204536086463618753514150733196280385029443230460135441248432396957869756610259910493006887070224301999701755456789380885346373945085457944527255172280701460005840069624649699669365522705202153181516171604171559393267706574986667370018990650238675899391481788023247786770492139545549740093784485612000722812693354906419123721852100729263753036387052941053277834023920961975802285828585485554907312230794265954961808340392533628736100312936981129308515911127305939757979677452229764332005155254995480684749308898785486094377219454319177540214596540540796282880170911906128654698566304785483715552785132176214593089906600918501194191928603336729178286619571643021885706004444508315453816054904407407133611085941824454027867355812037058517710632904581811879 14116219626396086317724384832133548060182968159010439121676033601159837169983569472621286686543250469836290421577839379747247680123734842009388288373838712577074322949394887607823782663713724734523211345704073626681679620796167802435453297770337788175241003629239307610831327968213992801044203786833738033845588913214258536851121660679062315631472554803895086369687494293737084753633618703500602326435663929666067661391695417813944092400851882509369035897888335745278690567990168843321807022863312870809473420165315286582969747934350885437294382211671242199695243021267650691636484419624869823763825614927102024063984245283216375995478187780811242029335827390576901535653933327615212775299617179651450842692308910864557514479992938501434815374431713598101477061694228761899199194573343634888708741691877922352048236055146650078220553110694753193419621264868593004414694656139163166297306721215338462494641784850512577994400205082283935568773768628320486430079221521795820997559828659500677262881890820698462022537367846904940950676271886731616246003785154421394259696640909555268056663443815642229390308295066397827491258125894539223837651991790291648431595223560979717724113563855217594978341433645291918677383921523796126724097441472312672293085970934155502562016382195952230058868978708971860357403493021249771418790710295319507971007315193201972389248294046041796891717457242823378808162857998726252819353164393799302318206564319647927681495692704502647699244019775053229217800755264547929565521201646208215780735537827732743191002790583213240909934740927816224600973530942649002974636534301806317335588977439610883357414187833179384474485066275849136384734697011954148562046765716935737608235000843735474597457947354261769356134620388870067059974051445165188628853193314297834262735665187649436222295494129969793554908344670147810727738888528593135872021078275107264799265498108962044396035704890274936546930497514497898832035884058810265493871291618801961987755929294616638676748394289167420684579310144680625147448358711493110875258277542950117642129058452556332599477971727524890344930648004276828699061843857449906098247703013089241509946552417418988820906451739603954552795118637997854675435068342313114600295516814490768676704691749636123816067669698652147118402515271218419375332001116464673107797014892085333512751251022696085476599952088603987458638368323663668487730168480029698719712265559452134991640803083597711162893841301545431811848639953181447079388924454974262849229346439421912606364581910371734323403847991110795289683189736246103217543185912409798179192171067634428144507497290461903667127703331316373471981561245148845309234142984682162847609053885800415027290672504291197160722368934439527869328248596367045483170651962698554227791537415183961703626027399536728944297265848379018285240043786617270867192426616598078256591306427275841616795886556109461631391428434484758643392899749030650575803618563989345415971770418833879312292555630704418677855201104246743252274835923915183784705128017677253553322386290171621957227658467086746477657328039413509133122 22840523148167209986218724098383028689249705574125689756321698038781339726159725359470333636835732199642788176959622616188419608493559630019041108003417857128722370667499167174197280334018585191798156415466131706346231404225148890761697770912702519664716569629074906352476968459851043498944429846010045586931713275662561088401189616857052138594849203447519734973732647186630490533582648512591119545757767647094820490485330922436737305843716605045471877458762372803656041283715982975844844718691867008570173085707580573024608620197522512980308463460514737714728926566295971768584861037166174538602280843211736551674074734148409614118299646477898784209744605959726534788619037740152279248874510240408974521108864641495776248491570678625933075026089344633943808126457654839625921367775657792278380087261994903605097079605275854509047518540332029582445645914872783168219736132334007622649617681775146225694354249138488038956544962959560278417175556231131573186708726219796405391131869361286901129770349821009279707824628917685600220433488208268019596475826194778757584285531893535122885762457706064542240938668888664793673120051001442148117749823948971780907775019181738341419836304651541237041825845932216799577274564922735822336267040637562565062784319232536517806362385402042086354257525873193845827698757747726827354710061393700920628971553169889365065905250115090751415186450111037030815412869903286453471917592360712045415881069841577925006031439623299483239511531831798656838070826771752892821394990664494147449434611485495022106668172959757900388579702053343652237345005108352664042877201179888564808085311442999760033205002480491958744141384374808795942205997463754410063022677948491234074422130050147319117484160006389121121341644478465215077718521412247897273402510324513492955835942582825194775788591113762536864863164127397508601824775453976734676677244648167586973078530968989780824230283891197703602157921606471525029599157654775199167594959105492237079767688427863123267044537257162724059074969124250230739175247337384970253077828081851224485795568992687574079692654019955393128625266687464077871309904614775512366680424860423769647013959336358574923763985871791730429364049279355873665193454593571828319000292268432756713484078689214808055154178636107100453641250600271146500512019210562319259040309169038932133964508227232171940218705602754720654918753353106898947865609728462095677582022169712045484647690153822013162595596758334812697195013898266905023916179627254964309235186509046562306033947433076936476585364162714966849076457442821089884913204903060036855091562549422451392294267782601449216867797115801985472704373938503751728357864836782892111362090272853356080568506528212159136524654763025013424235560827161311438132460303091087856527637728120942832934543310664034884055245525831248049572048941872266347877175925496863742685683646730160794336101152650002427674308605396664772047598315335436059519171349121521630564860325434797813486747559307755407033487723818386274160541928359692100158944072581660960455997376113446411255525822898783536175038672318090945001 36956742774563296303943108930516576749432673733136128877997731639941176896143294832091620323378982669479078598537461995935667288617294472028429396377256569705796693616894054782021062997732309926321367761170205333027911025021316693197151068683040307839957573258314213963308296428065036299988633632843783620777302188876819625252311277536114454226321758251414821343420141480367575287216267216091721872193431576760888151877026340250681398244568487554840913356650708548934731851706151819166651741555179879379646505872895859607578368131873398417602845672185979914424169587563622460221345456791044362366106458138838575738058979431625990113777834258710026239080433350303436324272971067767492024174127420060425363801173552360333762971563617127367890400521058232045285188151883601525120562349001427167088828953872825957145315660422504587268071651026782775865267179741376172634430788473170788946924402990484688188996033989000616950945168041844213985949324859452059616787947741592226388691698020787578392652240641707741730361996764590541171109760094999635842479611349200151843982172803090390942425901521706771631246963955062621164378176895981371955401815739263429339370242742718059143949868506758832020167279577508718254658486446531949060364482109875237355870290166692020368378767597994316413126504582165706185102250768976598773500771689020428599978868363091337455153544161132548306903907353860409623575727902012706291270756754511347734087634161225852687527132327802130938755551606851886055871582036300822386916192310702363230170149313227765297670963542971141298514442981159876838318536051001667017513735481694882143674288882610643390619190313671343218626450650657932326940694475708558625069443665426971682657130893882793714942107360650890477476264867335282137692572857413085902255703638811327218571607770474630998084085243732330419771508797545319329563663982569870548698322923274851772344029077951825220265988781472640149088419120969423861635041713585464661466250724294199067523617722479761943792931546330144743654279268930855886623606048878081128336105624801342127924627445243906679170625747480283473555914691740906570371748472225418464928127873513011156960511753777563744670437611395684982159167917353728340628522935884942919295809082923525390188770438850931871221848334759247572043765871489565875844020327026992366837324061124265646715759249928257416818657691358708113557121676770567435595778208491794397294287729164180476288493237419724325489438059880244509043653851448352103305104082229227158464532948468474912398529343448670799989212153825762138759647179067193102456390815469835034283733617056879536801765073063352883995500447118358944685935183652597037592007821465054958971144158653771107859179032503356297247023697464541293563809423528356921303112265789642084319175143304904536560570710200763828352511374210266334812092728489537215069602542094941999276990074006002411131987708759464059065737039881423415440498064366086635322789913110867046536630744268677125779303190012174084888688828065129526435377852274875884864072090258914513778383666285068368483184289985530013832366711731600078123 59797265922730506290161833028899605438682379307261818634319429678722516622303020191561953960214714869121866775497084612124086897110854102047470504380674426834519064284393221956218343331750895118119524176636337039374142429246465583958848839595742827504674142887389120315785264887916079798933063478853829207709015464539380713653500894393166592821170961698934556317152788666998065820798915728682841417951199223855708642362357262687418704088285092600312790815413081352590773135422134795011496460247046887949819591580476432632186988329395911397911309132700717629153096153859594228806206493957218900968387301350575127412133713580035604232077480736608810448825039310029971112892008807919771273048637660469399884910038193856110011463134295753300965426610402865989093314609538441151041930124659219445468916215867729562242395265698359096315590191358812358310913094614159340854166920807178411596542084765630913883350283127488655907490131001404492403124881090583632803496673961388631779823567382074479522422590462717021438186625682276141391543248303267655438955437543978909428267704696625513828188359227771313872185632843727414837498227897423520073151639688235210247145261924456400563786173158300069061993125509725517831933051369267771396631522747437802418654609399228538174741153000036402767384030455359552012801008516703426128210833082721349228950421532980702521058794276223299722090357464897440438988597805299159763188349115223393149968704002803777693558571951101614178267083438650542893942408808053715208311182975196510679604760798722787404339136502729041687094145034503529075663541159354331060390936661583446951759600325610403423824192794163301962767835025466728269146691939462968688092121613918205757079260944030112832426267367040011598817909345800497215411094269660983175658213963324820174407550353299825773872676357494867284634672924942827931388439436546605225375567571442438745422560046941606044496272672670343751246340727440948891234199368360663829061209829786436147291306150342885210837468803492868802729248393181086625798853386263051381413933706652566613720196437931480758863279767435676602181181379204984441681653087000930831608552733936780803974471090136138668434423483187415411523217196709602005821977529456771238296101351356282103672849128065739926376026970866348025685016471760712376356039537589311625877633230163197780680267477160429357037363294113428768475875029877466383461387936953890074876309898876225960936183391241737488085034818215057206238667749715257127221283709484191467699719457515037218432476776525607276574576316540728987836104621888282987369595718529871889375296166479330929096032855664802100863297562920344417390309122156348765949872658247947070333234431507127188427685560715515433771678460489554717799370250689668359435572568880729940846812871425847369495114020864798712407756900041514384384141670361803562946778467591805741962673720736163205468088861409466486740045645278088187488096379701522694841961262232388677101491069703474939266050749319929491922176551883515800595919780634567985023016162840575474234381042398514779738710112884313550007405384049691023124 96754008697293802594104941959416182188115053040397947512317161318663693518446315023653574283593697538600945374034546608059754185728148574075899900757930996540315757901287276738239406329483205044440891937806542372402053454267782277155999908278783135344631716145703334279093561315981116098921697111697612828486317653416200338905812171929281047047492719950349377660572930147365641108015182944774563290144630800616596794239383602938100102332853580155153704172063789901525504987128286614178148201802226767329466097453372292239765356461269309815514154804886697543577265741423216689027551950748263263334493759489413703150192693011661594345855314995318836687905472660333407437164979875687263297222765080529825248711211746216443774434697912880668855827131461098034378502761422042676162492473660646612557745169740555519387710926120863683583661842385595134176180274355535513488597709280349200543466487756115602072346317116489272858435299043248706389074205950035692420284621702980858168515265402862057915074831104424763168548622446866682562653008398267291281435048893179061272249877499715904770614260749478085503432596798790036001876404793404892028553455427498639586515504667174459707736041665058901082160405087234236086591537815799720456996004857313039774524899565920558543119920598030719180510535037525258197903259285680024901711604771741777828929289896072039976212338437355848028994264818757850062564325707311866054459105869734740884056338164029630381085704278903745117022635045502428949813990844354537595227375285898873909774910111950552702010100045700182985608588015663405913982077210355998077904672143278329095433889208221046814443383107834645181394285676124660596087386415171527313161565279345177439736391837912906547368374727690902076294174213135779353103667127074069077913917602136147392979158123774456771956761601227197704406181722488147260952103419116475774073890494717290517766589124893431264762261454142983900334759848410372752869241081946128490527460554080635214814923872822647154630400349823013546383527662111942512422459435141132509750039331453908741644823883175387438033905514915960075737096070945891012053401559226349296536680607449791960934982843913702413104861094583100393682385114063330346450500465341714157591910434279807493861619566916671797597875305625595597728782343250278252200059864616303992714957291287463427396026727088686773856020985472136882032996706648033819057166145445684472170597628040406437224676628661461813574472878095301715282321601163609230526387791713418626164252405983512130831006119974278076563788470366491126595751800955476089825986533999706923659029783536210465897797928728154984858798010038703362076244305808945803541880479713002029304378590160898296286864593218871731018702157954096011363179674218025280738684834670372025165988014730751906055684731065562540760268274251780719196234398851340778016381009686747741239663794742165616600076570168930545805782685159511602928594444067609330164751175343255723638121813972152065045353939332103576810865379948645327031297632909443869887088253099489988012764708683583148221894402869843563839772095781291101247 156551274620024308884266774988315787626797432347659766146636590997386210140749335215215528243808412407722812149531631220183841082839002676123370405138605423374834822185680498694457749661234100162560416114442879411776195883514247861114848747874525962849305859033092454594878826203897195897854760590551442036195333117955581052559313066322447639868663681649283933977725718814363706928814098673457404708095830024472305436601740865625518806421138672755466494987476871254116278122550421409189644662049273655279285689033848724871952344790665221213425463937587415172730361895282810917833758444705482164302881060839988830562326406591697198577932795731927647136730511970363378550056988683607034570271402740999225133621249940072553785897832208633969821253741863964023471817370960483827204422598319866058026661385608285081630106191819222779899252033744407492487093368969694854342764630087527612140008572521746515955696600243977928765925430044653198792199087040619325223781295664369489948338832784936537437497421567141784606735248129142823954196256701534946720390486437157970700517582196341418598802619977249399375618229642517450839374632690828412101705095115733849833660766591630860271522214823358970144153530596959753918524589185067491853627527604750842193179508965149096717861073598067121947894565492884810210704267802383451029922437854463127057879711429052742497271132713579147751084622283655290501552923512611025817647454984958134034025042166833408074644276230005359295289718484152971843756399652408252803538558261095384589379670910673340106349236548429224672702733050166934989645618369710329138295608804861776047193489533831450238267575901997947144162120701591388865234078354634496001253686893263383196815652781943019379794642094730913675112083558936276568514761396735052253572131565460967567386708477074282545829437958722064989040854647430975192340542855663080999449458066159729263189149171835037309258534126813327651581100575851321644103440450306792319588670383867071362106230023165532365467869153315882349112776055293029138221312821404183891163973038106475355365020321106868196897185282351636677918277450150875453735054646227280128145233341386572764909453934049841081539284577770515805205602310772932352272477994798485395888011785636089597534468694982411723973902276491943623413798815010990628556099402205615618592590521450661208076294204249116130893384279585565650508871736525500202518554082399574547046907526916632398160860019903199301659507696310358921520989350878866357747671501197610093863971863498549349263482896499885353138364786907220114431856422843759077195582252529578813034325950015541394993830784392957085722095572959047779466553427965294569491753137960949099637613021668025484714550153934387164790380618443650729162549924907693640174257403551101966012800886156599275550798751930361253168025174293295103580376069213144340963159477278553483202337515478328822068165431578397032545828330437599790416690823769132025006712437575644400739612883675627004311404688652033068733041931832161127627217413544011854910104415940065462247145751082097927960604515754157113847177479830982124371 253305283317318111478371716947731969814912485388057713658953752316049903659195650238869102527402109946323757523566177828243595268567151250199270305896536419915150580086967775432697155990717305207001308052249421784178249337782030138270848656153309098193937575178795788873972387519878311996776457702249054864681650771371781391465125238251728686916156401599633311638298648961729348036829281618231967998240460825088902230841124468563618908753992252910620199159540661155641783109678708023367792863851500422608751786487221017111717701251934531028939618742474112716307627636706027606861310395453745427637374820329402533712519099603358792923788110727246483824635984630696785987221968559294297867494167821529050382332461686288997560332530121514638677080873325062057850320132382526503366915071980512670584406555348840601017817117940086463482913876130002626663273643325230367831362339367876812683475060277862118028042917360467201624360729087901905181273292990655017644065917367350348116854098187798595352572252671566547775283870576009506516849265099802238001825535330337031972767459696057323369416880726727484879050826441307486841251037484233304130258550543232489420176271258805319979258256488417871226313935684193990005116127000867212310623532462063881967704408531069655260980994196097841128405100530410068408607527088063475931634042626204904886809001325124782473483471150934995780078887102413140564117249219922891872106560854692874918081380330863038455729980508909104412312353529655400793570390496762790398765933546994258499154581022623892808359336594129407658311321065830340903627695580066327216200280948140105142627378742052497052710959009832592325556406377716049461321464769806023314415252172608560636552044619855925927163016822421815751406257772072055921618428523809121331486049167597114960365866600848739317786199559949262693447036369919122453292646274779556773523348560877019780955738296728468574020795580956311551915860424261694396972681532252920810116130937947706576921153895988179520098269503138895895496303717404971650643772256545316400914012369560384097009844204282255634931090797267596753655373521096766465788456205453629424681913948836364725844436777963543494644145672353616198887987424836262698722978460140199553479922219915897091396088261899083521571777582117539221142581158261268880756159266821919611307547812738124635472320931337802904749405265057702532541868443173534021575720227845259019217505154957038835385536648564661115233980574405660636803310952042475588274059292911028720028224269482061480094489016474163429702153257273711241027608223799235167021568786529285736693355733551751860891628713121112070580893582997751141542797733774240373033633617673951128941991611828923781001414747153258895809082776397746740525729599125718920912942238221473991178788900887351181606483482995923793928293448545075822776610468064485118979540486965301224442001310220494438668242001747327578351611015597111393345285267836741355171463612918900124377734697647779069356758627984136645543907311780806454658515046453455724797192669039555450259910459765681076182498918624000677686949575612273225618 409856557937342420362638491936047757441709917735717479805590343313436113799944985454084630771210522354046569673097809048427436351406153926322640711035141843289985402272648274127154905651951405369561724166692301195954445221296277999385697404027835061043243434211888243468851213723775507894631218292800496900876983889327362444024438304574176326784820083248917245616024367776093054965643380291689372706336290849561207667442865334189137715175130925666086694147017532409758061232229129432557437525900774077888037475521069741983670046042599752242365082680061527889037989531988838524695068840159227591940255881169391364274845506195055991501720906459174130961366496601060164537278957242901332437765570562528275515953711626361551346230362330148608498334615189026081322137503343010330571337670300378728611067940957125682647923309759309243382165909874410119150367012294925222174126969455404424823483632799608633983739517604445130390286159132555103973472380031274342867847213031719838065192930972735132790069674238708332382019118705152330471045521801337184722216021767495002673285041892398741968219500703976884254669056083824937680625670175061716231963645658966339253837037850436180250780471311776841370467466281153743923640716185934704164251060066814724160883917496218751978842067794164963076299666023294878619311794890446926961556480480668031944688712754177524970754603864514143531163509386068431065670172732533917689754015839651008952106422497696446530374256738914463707602072013808372637326790149171043202304491808089643088534251933297232914708573142558632331014054115997275893273313949776656354495889753001881189820868275883947290978534911830539469718527079307438326555543124440519315668939065871943833367697401798945306957658917152729426518341331008332490133189920544173585058180733058082527752575077923021863615637518671327682487891017350097645633189130442637772972806627036749044144887468563505883279329707769639203496961000113016041076121982559713129704801321814777939027383919153711885566138656454778244609079772698000788865085077949500292077985407666859452374864525389123831828276079619233431573650971247641919523510851680909552827147290222937490753890712013384576183430250124132004093589735609195050995456454938684949367934005551986688930556956881495245545679858609482844556379973272259509312258669027535229900138334188785843548615135586919035642789544643268183050740179699034224094274310244833566264412681873671233546396668467860416893488270716019558324300302921341946021730794108638813892196132980610829357971912974048782840518044180931355459464646642994244217151039058864549727681683567293255885459497514069156302989155956798921009351161739534942525386755634900228579604633496949265715964901087646060599463394841397469688279524033412561087199641772575957191589787043950457157282234926285047096318622838370926356986537277629459942699964243854707644338825698823260736407433325724610897439346034711183761976091605873380178176050494544525117347581323406073668163316636169714276949243612967582285732459997467579707297084979620912507056210847779004143103434378157791534127055443255349989 663161841254660531841010208883779727256622403123775193464544095629486017459140635692953733298612632300370327196663986876671031619973305176521911016931678263205135982359616049559852061642668710576563032218941722980132694559078308137656546060181144159237181009390684032342823601243653819891407675995049551765558634660699143835489563542825905013700976484848550557254323016737822403002472661909921340704576751674650109898283989802752756623929123178576706893306558193565399844341907837455925230389752274500496789262008290759095387747294534283271304701422535640605345617168694866131556379235612973019577630701498793897987364605798414784425509017186420614786002481231756950524500925802195630305259738384057325898286173312650548906562892451663247175415488514088139172457635725536833938252742280891399195474496305966283665740427699395706865079786004412745813640655620155590005489308823281237506958693077470752011782434964912332014646888220457009154745673021929360511913130399070186182047029160533728142641926910274880157302989281161836987894786901139422724041557097832034646052501588456065337636381430704369133719882525132424521876707659295020362222196202198828674013309109241500230038727800194712596781401965347733928756843186801916474874592528878606128588326027288407239823061990262804204704766553704947027919321978510402893190523106872936831497714079302307444238075015449139311242396488481571629787421952456809561860576694343883870187802828559484986104237247823568119914425543463773430897180645933833601070425355083901587688832955921125723067909736688039989325375181827616796901009529842983570696170701141986332448247017936444343689493921663131795274933457023487787877007894246542630084191238480504469919742021654871234120675739574545177924599103080388411751618444353294916544229900655197488118441678771761181401837078620590375934927387269220098925835405222194546496155187913768825100625765291974457300125288725950755412821424374710438048803514812633939820932259762484515948537815141891405664408159593674140105383490102972439508857334494816692991997777227243549384708729671379466759366876886830185229024492344408385311967057134538977509061239059302216598327489976928070827575922477748202981577160445457749718434915078884502847856225467883780326645218780578767117457440727022065698961131533528390068417935849454841207686146926910479020936066924721940392194809700970715592608622872568245669994538090092585481917836830710068931933317032521532127468845121680195127611254963817534295790087019667533920420402462672309452460929448212212542671301454642596487072870442229411238719825588150286421037417119045116777088210635181226883882738954550062552148895513775315559020373308851357521596245325873046717379648240904956408546171239144210214009123159131482000141879994049948370378687931301638763765717922208841024612071383446749133597005342114578922240451209155932086340135919317699404649435073052189249050361631822577107261359442614735349639663413444649495082278971185143024921944620306359820856555393774036944247506450923304504489754019176362766966670613460080325602353002158469221076631055528575607 1073018399192002952203648700819827484698332320859492673270134438942922131259085621147038364069823154654416896869761795925098467971379459102844551727966820106495121384632264323687006967294620115946124756385634024176087139780374586137042243464208979220280424443602572275811674814967429327786038894287850048666435618550026506279514001847400081340485796568097467802870347384513915457968116042201610713410913042524211317565726855136941894339104254104242793587453575725975157905574136966888482667915653048578384826737529360501079057793337134035513669784102597168494383606700683704656251448075772200611517886582668185262262210111993470775927229923645594745747368977832817115061779883045096962743025308946585601414239884939012100252793254781811855673750103703114220494595139068547164509590412581270127806542437263091966313663737458704950247245695878822864964007667915080812179616278278685662330442325877079385995521952569357462404933047353012113128218053053203703379760343430790024247239960133268860932711601148983212539322107986314167458940308702476607446257578865327037319337543480854807305855882134681253388388938608957362202502377834356736594185841861165167927850346959677680480819199111971553967248868246501477852397559372736620639125652595693330289472243523507159218665129784427767281004432576999825647231116868957329854747003587540968776186426833479832414992678879963282842405905874550002695457594684990727251614592533994892822294225326255931516478493986738031827516497557272146068223970795104876803374917163173544676223084889218358637776482879246672320339429297824892690174323479619639925192060454143867522269115293820391634668028833493671264993460536330926114432551018687061945753130304352448303287439423453816541078334656727274604442940434088720901884808364897468501602410633713280015871016756694783045017474597291918058422818404619317744559024535664832319468961814950517869245513233855480340579454996495589958909782424487726479124925497372347069525733581577262454975921734295603291230546816048452384714463262800973228373942412444316985069983184894103001759573255060503298587642956506063616802675463592050304835477908815448530336208529282239707352218201990312647011006172601880207075166896054652800713891370017569452215790231019870469257202175662074012663137299336504910255341104805787899380676604876990071107824481115696322569551202511640976034984354344238898643348802571602469764268848334926151746330518704381302478329985500381949020957115837699753451911557885159480317520881128306347812616535443283138810432842422260995383189345635573951946537517085223655455870864647014836148719100686338372662547708149250383186871894911348983561500057253310258084407128943751586101200878822822312433344549328551017008009566080541679902288647192544043087341521766625905561968474975252095921047952848493888120930694221817675490583542619744038864940415453010639730678961618140960141056868398776800146489707666533760869237451048488115527815713907989174612429860294591216693085261256476074097805799006741619229979966448390884211786838998797275274022881461239084468705787380316260755203686498783925596 1736180240446663484044658909703607211954954723983267866734678534572408148718226256839992097368435786954787224066425782801769499591352764279366462744898498369700257366991880373246859028937288826522687788604575747156219834339452894274698789524390123379517605452993256308154498416211083147677446570282899600431994253210725650115003565390225986354186773052946018360124670401251737860970588704111532054115489794198861427464010844939694650963033377282819500480760133919540557749916044804344407898305405323078881615999537651260174445540631668318784974485525132809099729223869378570787807827311385173631095517284166979160249574717791885560352738940832015360533371459064574065586280808847292593048285047330642927312526058251662649159356147233475102849165592217202359667052774794083998447843154862161527002016933569058249979404165158100657112325481883235610777648323535236402185105587101966899837401018954550138007304387534269794419579935573469122282963726075133063891673473829860210429286989293802589075353528059258092696625097267476004446835095603616030170299135963159071965390045069310872643492263565385622522108821134089786724379085493651756956408038063363996601863656068919180710857926912166266564030270211849211781154402559538537114000245124571936418060569550795566458488191774690571485709199130704772675150438847467732747937526694413905607684140912782139859230753895412422153648302363031574325245016637447536813475169228338776692482028154815416502582731234561599947430923100735919499121151441038710404445342518257446263911917845139484360844392615934712309664804479652509487075333009462623495888231155285853854717362311756835978357522755156803060268393993354413902309558912933604575837321542832952773207181445108687775199010396301819782367539537169109313636426809250763418146640534368477503989458435466544226419311675912508434357745791888537843484859940887026865965117002864286694346138999147454797879580285221540714322603848862436917173729012184981009346665841339746970924459549437494696894954975642126524819846752903945667882799746939133678061980962121346551144281984731882765347009833392893802031699955936458690147444965949987507845269768341541923950545691967240717838582095079628410056744056500110550432326285096453955063646456487754249583847394442652779780594740063526975954302236339316289449094540726444912315510628042606801590487269436362916427179164045209614235957425444170715434263386425018737228248355535091371410263302532903481148425960959379948579522812848977014613310968147973881733036937905955448262893771870473207925860647090216548433610387527453066694590690235165122569756517805383489439635918784431610070754633865899046113648952767085573643427502252602943622797124148695359150724197569455973416555737319685890116297770351675525087483401760675853932347162906553734684813670770702729145542765605264424624180547961858617787180866662166571817019097537458659545706303471828989395540069298356337976498810491102850877455377321433824107512139265776359718007205876782433918662354400515656174227472899314188716276593017973638040989552074699164794308140382474729976280317554312501203 2809198639638666436248307610523434696653287044842760540004812973515330279977311877987030461438258941609204120936187578726867967562732223382211014472865318476195378751624144696933865996231908942468812544990209771332306974119827480411741032988599102599798029896595828583966173231178512475463485464570749649098429871760752156394517567237626067694672569621043486162995017785765653318938704746313142767526402836723072745029737700076636545302137631387062294068213709645515715655490181771232890566221058371657266442737067011761253503333968802354298644269627729977594112830570062275444059275387157374242613403866835164422511784829785356336279968864477610106280740436897391180648060691892389555791310356277228528726765943190674749412149402015286958522915695920316580161647913862631162957433567443431654808559370832150216293067902616805607359571177762058475741655991450317214364721865380652562167843344831629524002826340103627256824512982926481235411181779128336767271433817260650234676526949427071450008065129208241305235947205253790171905775404306092637616556714828486109284727588550165679949348145700066875910497759743047148926881463328008493550593879924529164529714003028596861191677126024137820531279138458350689633551961932275157753125897720265266707532813074302725677153321559118338766713631707704598322381555716425062602684530281954874383870567746261972274223432775375704996054208237581577020702611322438264065089761762333669514776253481071348019061225221299631774947420658008065567345122236143587207820259681430990940135002734357842998620875495181384630004233777477402177249656489082263421080291609429721376986477605577227613025551588650474325261854529685340016742109931620666521590451847185401076494620868562504316277345053029094386810479971257830215521235174148231919749051168081757519860475192161327271436786273204426492780564196507855588043884476551859185434078817814804563591652233002935138459035281717130673232386273350163396298654509557328078872399422917009425900381283733097988125501791690578909534310015704918896256742159383450663131964147015449552903855239792386063934652789898957418834375419528508994982922874765436038181478297623781631302763893957553364849588267681508617131910952554763351146217655114023407279436687507624718841049570104726792443732039400031886209643341145104188829771145603434983423335109158303124160038471948003892462163518389448512879306228015773185198532234759944888974578874239472673888593288033285430169383076797079702031434370734136494930831849276280229545653473349238587073326614292734203309049992725790500380147904612676722150461554882179958718475618491721862102183626933681993257626528777248029675149010020395831727834631196354529723998002971517671584068746898006990424565303400227570018586417544219568174824923527301759494315637881805830605861623619196617266473459827082100114764090581602656652121282115177211547698059155599619686763171870605789542029776964890098845736261539590966405271091229422998719941999560367576411092467133258508016468153407257275404207439347705072928063432016770913315012433535938249263013927762790990731484004053096426799 4545378880085329920292966520227041908608241768826028406739491508087738428695538134827022558806694728563991345002613361528637467154084987661577477217763816845895636118616025070180725025169197768991500333594785518488526808459280374686439822512989225979315635349589084892120671647389595623140932034853649249530424124971477806509521132627852054048859342673989504523119688187017391179909293450424674821641892630921934172493748545016331196265171008669881794548973843565056273405406226575577298464526463694736148058736604663021427948874600470673083618755152862786693842054439440846231867102698542547873708921151002143582761359547577241896632707805309625466814111895961965246234341500739682148839595403607871456039292001442337398571505549248762061372081288137518939828700688656715161405276722305593181810576304401208466272472067774906264471896659645294086519304314985553616549827452482619462005244363786179662010130727637897051244092918499950357694145505203469831163107291090510445105813938720874039083418657267499397932572302521266176352610499909708667786855850791645181250117633619476552592840409265452498432606580877136935651260548821660250507001917987893161131577659097516041902535052936304087095309408670199901414706364491813694867126142844837203125593382625098292135641513333808910252422830838409370997531994563892795350622056976368779991554708659044112133454186670788127149702510600613151345947627959885800878564930990672446207258281635886764521643956455861231722378343758743985066466273677182297612265602199688437204046920579497327359465268111116096939669038257129911664324989498544886916968522764715575231703839917334063591383074343807277385530248523039753919051668844554271097427773390018353849701802313671192091476355449330914169178019508426939529157661983398995337895691702450235023849933627627871497856097949116934927138309988396393431528744417438886051399195820679091257937791232150389936338615566938671387554990122212600313472383521742309088219065264256756396824840833170592685020456767332705434354156768608864564139541906322584341193945109136796104048137224524268829281662623291851220866075375464967685130367840715423546026748065965323555253309585924794082688170362761137027188655009054873901578543940210477362343083143995378968424896964547379572224326779463558862163945577484420478278865686329879895738845737200909925750525741384366808889342682434658127115263653459943900632795621184963626202827229774564045298856590566188911317809037756459650610957183583113509544142817424254111278690411255194035336220386163207411234910639816007048813758292140129788845052245117345081288232136297105351541819545718113603328381162643147075788797962787481405371262133448957473346795127120213030734792944467462963841121040719913460134884187895895093262308325287977613426662800788359565290675294389899346412016225432346524738944638543461274439302148777343783364717156693058279232469475342434778937569846263246436822235072030693817282726468550856822827454138826143936129099673010040941935130507807772931578434912247019261644340025034744551356001985610637414057322068145265720707764321607408928002 7354577519723996356541274130750476605261528813668788946744304481603068708672850012814053020244953670173195465938800940255505434716817211043788491690629135322091014870240169767114591021401106711460312878584995289820833782579107855098180855501588328579113665246184913476086844878568108098604417499424398898628853996732229962904038699865478121743531912295032990686114705972783044498847998196737817589168295467645006917523486245092967741567308640056944088617187553210571989060896408346810189030747522066393414501473671674782681452208569273027382263024780592764287954885009503121675926378085699922116322325017837308005273144377362598232912676669787235573094852332859356426882402192632071704630905759885099984766057944633012147983654951264049019894996984057835519990348602519346324362710289749024836619135675233358682565539970391711871831467837407352562260960306435870830914549317863272024173087708617809186012957067741524308068605901426431593105327284331806598434541108351160679782340888147945489091483786475740703168519507775056348258385904215801305403412565620131290534845222169642232542188554965519374343104340620184084578142012149668744057595797912422325661291662126112903094212178960441907626588547128550591048258326424088852620252040565102469833126195699401017812794834892927249019136462546113969319913550280317857953306587258323654375425276405306084407677619446163832145756718838194728366650239282324064943654692753006115722034535116958112540705181677160863497325764416752050633811395913325884820085861881119428144181923313855170358086143606297481569673272034607313841574645987627150338048814374145296608690317522911291204408625932457751710792103052725093935793778776174937619018225237203754926196423182233696407753700502360008555988499479684769744678897157547227257644742870531992543710408819789198769292884222321361419918874184904249019572628893990745236833274638493895821529443465153325074797650848655802060787376395562763709771038031299637167091464687173765822725222116903690673145958559023284343888466784313783460396284065706035004325909256152245656951992464316654893216315413190808639700450794993476680113290715480859584208226363589105186556073479882347447537758630442645644320565961609637252724761595324500769622519831503003687265946534652106364668058818863590748373588918629524667108636831933314879162180846359213049910564213332370701351506200824106639994569881475717085831327855944908515177406104014036719187449878599474341487192114553539352642391554317250004474974666700534340824343884604432622409547000455941614543960632541797549193906196752806510995513799999525040006707754788827213644003172651795596586007691420395105463946972807877237099096764645312003070793130091730702318861691365469954265686344120141030153470605440114661437133248815279372920978438670165395896536918009095963678489685259428624853708729125063931091423430892520994912415215848657898919232647213040568479599623228136535667971333570284783687997559780279821547396138386511512540192140143299449951598661215030206982642351594724334572403457051515464671014419146575663320335995908056711439248325660505354801 11899956399809326276834240650977518513869770582494817353483795989690807137368388147641075579051648398737186810941414301784142901870902198705365968908392952167986650988856194837295316046570304480451813212179780808309360591038388229784620678014577554558429300595773998368207516525957703721745349534278048148159278121703707769413559832493330175792391254969022495209234394159800435678757291647162492410810188098566941090017234790109298937832479648726825883166161396775628262466302634922387487495273985761129562560210276337804109401083169743700465881779933455550981796939448943967907793480784242469990031246168839451588034503924939840129545384475096861039908964228821321673116743693371753853470501163492971440805349946075349546555160500512811081267078272195354459819049291176061485767987012054618018429711979634567148838012038166618136303364497052646648780264621421424447464376770345891486178332072403988848023087795379421359312698819926381950799472789535276429597648399441671124888154826868819528174902443743240101101091810296322524610996404125509973190268416411776471784962855789118785135028964230971872775710921497321020229402560971328994564597715900315486792869321223628944996747231896745994721897955798750492462964690915902547487378183409939672958719578324499309948436348226736159271559293384523340317445544844210653303928644234692434366979985064350196541131806116951959295459229438807879712597867242209865822219623743678561929292816752844877062349138133022095219704108175496035700277669590508182432351464080807865348228843893352497717551411717413578509342310291737225505899635486172037255017337138860871840394157440245354795791700276265029096322351575764847854845447620729208716445998627222108775898225495904888499230055951690922725166518988111709273836559140946222595540434572982227567560342447417070267148982171438296347057184173300642451101373311429631288232470459172987079467234697303715011136266415594473448342366517775364023243421553041946255310529951430522219550062950074283358166415326355989778242623552922648024535825972028619345519854365289041761000129688840923722497978036482659860566526170458444365243658556196283130234974429554428741809383065807141530225928993203782671509220970664511154303305535534978131965602975498382655690843499199485936892385598327149610537534496113945145387502518263194774901026583560122975661089954716737510240848883258764767109833534935660986464123477129872141380233333788600764486306469165663252805001152309999003253348737900363514019117484124788452103034295859626657745767386619149025778871272357804598007664488892936299840566045116870121294939891085932565185822718369909199914388854063542181252744935595358642470358898094269476417588257211943733053654635832932918106807384840054490288354793336009754699441574103256986347641239458524961187212212398995310090505910691775149592653367668525205530725579669864778277132372541716178151702122555475347417169469491382972490206405600978600970724028331136644374850277212655448669291813153340391886729169022803138561077263841743596216743482086260016027016404757213077377658064053322432147012647267914282803 19254533919533322633375514781727995119131299396163606300228100471293875846041238160455128599296602068910382276880215242039648336587719409749154460599022087490077665859096364604409907067971411191912126090764776098130194373617496084882801533516165883137542965841958911844294361404525811820349767033702447046788132118435937732317598532358808297535923167264055485895349100132583480177605289843900309999978483566211948007540721035202266679399788288783769971783348949986200251527199043269197676526021507827522977061683948012586790853291739016727848144804714048315269751824458447089583719858869942392106353571186676759593307648302302438362458061144884096613003816561680678099999145886003825558101406923378071425571407890708361694538815451776860101162075256253189979809397893695407810130697301803642855048847654867925831403552008558330008134832334459999211041224927857295278378926088209163510351419781021798034036044863120945667381304721352813543904800073867083028032189507792831804670495715016765017266386230218980804269611318071378872869382308341311278593680982031907762319808077958761017677217519196491247118815262117505104807544573120997738622193513812737812454160983349741848090959410857187902348486502927301083511223017339991400107630223975042142791845774023900327761231183119663408290695755930637309637359095124528511257235231493016088742405261469656280948809425563115791441215948277002608079248106524533930765874316496684677651327351869802989603054319810182958717029872592248086334089065503834067252437325961927293492410767207207668075637555323711060079015582326344539347474281473799187593066151513006168449084474963156646000200326208722780807114454628489941790639226396904146335464223864425863702094648678138584906983756454050931281155018467796479018515456298493449853185177443514220111270751267206269036441866393759657766976058358204891470674002205420376525065745097666882900996678162457040085933917264250275509129742913338127733014459584341583422401994638604288042275285066977974031312373885379274122131090337236431484932110037734654349845763621441287417952122153157578615714293449673468500266976965451921045356949271677142714443200793143533928365456545689488977763687623646428315829786932274148407028067130859478901588122807001386342956790033851592301560444417190740358911123414743469812496139350196509654063207429919336025571654168049108211592355084082871407104403416411378072295451333074780656557639437802637483673756347765137594292193266863538355895740292217613518494092150825322792927378180464059280155314387075090640322831904899602147201570685645742810836079845116395161301647645874759778829825891021704796500396545483937286716691908403235879569455662739581479488381387303674435372516327198402872372493728960195520441825398776124416136574822918536359268619678128690357083749130408091273768995595951203774446362096793589136622149010562385773189547588390374077070934769768515915896769092719519508158177739171263384658721588111416465922246415599166961209483953296639841838327830237833345543719615436467930789146939137775480698030823903788740697994059961379143586260972928419637604 31154490319342648910209755432705513633001069978658423653711896460984682983409626308096204178348250467647569087821629543823791238458621608454520429507415039658064316847952559441705223114541715672363939302944556906439554964655884314667422211530743437695972266437732910212501877930483515542095116567980495194947410240139645501731158364852138473328314422233077981104583494292383915856362581491062802410788671664778889097557955825311565617232267937510595854949510346761828513993501678191585164021295493588652539621894224350390900254374908760428314026584647503866251548763907391057491513339654184862096384817355516211181342152227242278492003445619980957652912780790501999773115889579375579411571908086871042866376757836783711241093975952289671182429153528448544439628447184871469295898684313858260873478559634502492980241564046724948144438196831512645859821489549278719725843302858555054996529751853425786882059132658500367026694003541279195494704272863402359457629837907234502929558650541885584545441288673962220905370703128367701397480378712466821251783949398443684234104770933747879802812246483427463119894526183614826125036947134092326733186791229713053299247030304573370793087706642753933897070384458726051575974187708255893947595008407384981815750565352348399637709667531346399567562255049315160649954804639968739164561163875727708523109385246534006477489941231680067750736675177715810487791845973766743796588093940240363239580620168622647866665403457943205053936733980767744122034366735094342249684788790042735158840639611100560165793188967041124638588357892618081764853373916959971224848083488651867040289478632403402000795992026484987809903436806204254789645484674017633355051910222491647972477992874174043473406213812405741854006321537455908188292352015439439672448725612016496447678831093714623339303590848565197954114033242531505533921775375516850007813298215556839869980463912859760755097070183679844748957472109431113491756257881137383529677712524590034810261825348017052257389478789211735263900373713890159079509467936009763273695365617986730329178952251841998502338212271486156128360833503135910365410600607827873425844678175222697962670174839611496630507989616616850210987339007902938659561331372666394457033553725782499768998647633533051078238452830015517889969448657910857414957883641868459704428964234013479459001232744122765845721833203967341636174214236951347039058759574810204652797937872771591238248160062816930800847097194419173537359149089030117977032513209634950111245030412476323685937901081773694239666101703177257406745209235174538679110676645890233265282596587536960692344015648609391613996414785399547479467969436843998594522039814560833850955905969644515618168426170963031335790479301113800250010730180192112134170836016397021793345616260917587215318270961342807086583859501506642978924039015464462114342152874590232250551466679960932090255222636892323991263313938562210902480648384144772241985629445616442553110297096692811822409878775766449980233725056999260636484104796879278211527005890421224035496725047228661001818075652124014701575733273620196333920407 50409024238875971543585270214433508752132369374822029953939996932278558829450864468551332777644852536557951364701844785863439575046341018203674890106437127148141982707048924046115130182513126864276065393709333004569749338273380399550223745046909320833515232279691822056796239335009327362444883601682942241735542358575583234048756897210946770864237589497133466999932594424967396033967871334963112410767155230990837105098676860513832296632056226294365826732859296748028765520700721460782840547317001416175516683578172362977691107666647777156162171389361552181521300588365838147075233198524127254202738388542192970774649800529544716854461506764865054265916597352182677873115035465379404969673315010249114291948165727492072935632791404066531283591228784701734419437845078566877106029381615661903728527407289370418811645116055283278152573029165972645070862714477136015004222228946764218506881171634447584916095177521621312694075308262632009038609072937269442485662027415027334734229146256902349562707674904181201709640314446439080270349761020808132530377630380475591996424579011706640820489464002623954367013341445732331229844491707213324471808984743525791111701191287923112641178666053611121799418870961653352659485410725595885347702638631360023958542411126372299965470898714466062975852950805245797959592163735093267675818399107220724611851790508003662758438750657243183542177891125992813095871094080291277727353968256737047917231947520492450856268457777753388012653763853359992208368455800598176316937226116004662452333050378307767833868826522364835698667373474944426304200848198433770412441149640164873208738563107366558646796192352693710590710551260832744731436123900414537501387374446356073836180087522852182058313197568859792785287476555923704667310867471737933122301910789460010667790101844981829608340032714958957611881009300889710425392449377722270384338363960654506752881460591022217795183004100944095024466601852344451619489272340721725113100114519228639098304100633084030231420791163097114538022504804227395510994400046047497928045211381608171616596904373995156080953926564935829596861100480101362286455957557099550568559121376015841496598540296157186119485753304240496639303168794835212807968359439797253935935141848589501155341604423566902670540013274432708630328359781325600884770379781218656214083027441443398795026804398290814953933425559051424507581318640367758417131055026143279433454495512209393875731833819164695938441389387686037075715044829322335590551007301785775434037957790656787745218056396160769330306424535082157008892410805860184421921512725735349660443898235182835452122845474500413318792915181945031416754686128752401830401609270223573432435394351031819292603798687290229738662851794842760445531172005590888258586972591219940329704884880595715905675354710473215177857628497102594182698485377561255703478775023600794636324656227549322464332293571662092507179210707654930421988806561883943505370288167204553969576219343108410989371088259719746620075563384829498469829648516494714679457795037360361810977423078052564790558773646183976080719319534593124753558011 81563514558218620453795025647139022385133439353480453607651893393263241812860490776647536955993103004205520452523474329687230813504962626658195319613852166806206299555001483487820353297054842536640004696653889911009304302929264714217645956577652758529487498717424732269298117265492842904540000169663437436682952598715228735779915262063085244192552011730211448104516088717351311890330452826025914821555826895769726202656632685825397913864324163804961681682369643509857279514202399652368004568612495004828056305472396713368591362041556537584476197974009056047772849352273229204566746538178312116299123205897709181955991952756786995346464952384846011918829378142684677646230925044754984381245223097120157158324923564275784176726767356356202466020382313150278859066292263438346401928065929520164602005966923872911791886680102008226297011225997485290930684204026414734730065531805319273503410923487873371798154310180121679720769311803911204533313345800671801943291865322261837663787796798787934108148963578143422615011017574806781667830139733274953782161579778919276230529349945454520623301710486051417486907867629347157354881438841305651204995775973238844410948221592496483434266372696365055696489255420379404235459598433851779295297647038745005774292976478720699603180566245812462543415205854560958609546968375062006840379562982948433134961175754537669235928691888923251292914566303708623583662940054058021523942062196977411156812567689115098722933861235696593066590497834127736330402822535692518566622014906047397611173689989408327999662015489405960337255731367562508069054222115393741637289233128816740249028041739769960647592184379178698400613988067036999521081608574432170856439284668847721808658080397026225531719411381265534639293798093379612855603219487177372794750636401476507115468932938696452947643623563524155565995042543421215959314224753239120392151662176211346622861924503881978550280074284623939773424073961775565111245530221859108642777827043818673908565925981101082488810269952308849801922878518117554590503867982057261201740576999594901945775856625837154583292138836421985725221933983237272651866558164927423994403799551238539459268715135768682749993742920857346850290507802738151467529690812463648392968695574372000924340252057099953748778466104448226520297808439236458299728263423087115918511991675456878254028037142413580799655258763018766143755532877319105456189814600953484086252433384980985113979993881981626739288486582105210613074193918352453567583520511420725545282988203133111431155957477934463569972526238259414415637620041034723101032189371625582925726494822719796144466861123109804932789329967344578896222655565596400424923649084784407283391300320676334910772224858253261074453331095956560695541902185783000392757808607616962123050501141513303120993625671816022264441487998609237161622524393025717817820927898191026886876122907510254554587516208554416498442524646217141324469454946028715747355917612820996522686516439801222811780967035486196600309288441828759106313753313373992890984800927781585846474148125281225792376849298307990782295052808213321087478418 131972538797094591997380295861572531137265808728302483561591890325541800642311355245198869733637955540763471817225319115550670388551303644861870209720289293954348282262050407533935483479567969400916070090363222915579053641202645113767869701624562079363002730997116554326094356600502170266984883771346379678418494957290811969828672159274032015056789601227344915104448683142318707924298324160989027232322982126760563307755309546339230210496380390099327508415228940257886045034903121113150845115929496421003572989050569076346282469708204314740638369363370608229294149940639067351641979736702439370501861594439902152730641753286331712200926459149711066184745975494867355519345960510134389350918538107369271450273089291767857112359558760422733749611611097852013278504137342005223507957447545182068330533374213243330603531796157291504449584255163457936001546918503550749734287760752083492010292095122320956714249487701742992414844620066543213571922418737941244428953892737289172398016943055690283670856638482324624324651332021245861938179900754083086312539210159394868226953928957161161443791174488675371853921209075079488584725930548518975676804760716764635522649412880419596075445038749976177495908126382032756894945009159447664643000285670105029732835387605092999568651464960278525519268156659806756569139132110155274516197962090169157746812966262541331994367442546166434835092457429701436679534034134349299251296030453714459074044515209607549579202319013449981079244261687487728538771278336290694883559241022052060063506740367716095833530842011770796035923104842506934373255070313827512049730382768981613457766604847136519294388376731872408991324539327869744252517732474846708357826659115203795644838167919878407590032608950125327424581274649303317522914086958915305917052547190936517783259034783678282555983656278483113177876051844310926384706674130961390776490026136865853375743385094904196345463078385568034797890675814120016730734802562580833755877941563047313006870026614185112720231061115405964339945383322344950101498268028104759129785788381203073562372760999832310664246065401357815322083034463338634938322515722026974562962920927254380955867255431925868869479496225097843489593676597573364275498050252260902328903837422961502079681856480666856419318479378880935150626168220562059184498643204305772132595019116900277049054841540704395753588684322070190651336851517686863873320869627096763519706928897190378989711827701146322677729875969791247688789238747674789158134527813206500979320945993789899176374013874095232900278950773341571424530030846894907522953702097360932586170393057902631596589706597610218251582245149289610312977341694348802255325258355007980715826694671708154203376023545543490813116182890799321141073074191373888651344781198836902452755386022109019026668980382289237442299116495711831344321009770586973521299702921791821523200779135059577018919809780216509005621735353872071746458261507912659252726205780025550492262735782909633801152055295205943220384851826658257576143401829868707570442595965141947657451571203333790582935622944491966863014372342806445841036429 213536053355313212451175321508711553522399248081782937169243783718805042455171846021846406689631058544968992269748793445237901202056266271520065529334141460760554581817051891021755836776622811937556074787017112826588357944131909827985515658202214837892490229714541286595392473865995013171524883941009817115101447556006040705608587421337117259249341612957556363208964771859670019814628776987014942053878809022530289510411942232164628124360704553904289190097598583767743324549105520765518849684541991425831629294522965789714873831749760852325114567337379664277066999292912296556208726274880751486800984800337611334686633706043118707547391411534557078103575353637552033165576885554889373732163761204489428608598012856043641289086326116778936215631993411002292137570429605443569909885513474702232932539341137116242395418476259299730746595481160943226932231122529965484464353292557402765513703018610194328512403797881864672135613931870454418105235764538613046372245758059551010061804739854478217779005602060468046939662349596052643606010040487358040094700789938314144457483278902615682067092884974726789340829076704426645939607369389824626881800536690003479933597634472916079509711411446341233192397381802412161130404607593299443938297932708850035507128364083813699171832031206090988062683362514367715178686100485217281356577525073117590881774142017079001230296134435089686128007023733410060263196974188407320775238092650691870230857082898722648302136180249146574145834759521615464869174100871983213450181255928099457674680430357124423833192857501176756373178836210069442442309292429221253687019615897798353706794646586906479941980561111051107391938527394906743773599341049278879214265943784051517453496248316904633121752020331390862063875072742682930378517306446092678711803183592413024898727967722374735503627279842007268743871094387732142344020898884200511168641688313077199998605309598786174895743152670191974571314749775895581841980332784439942398655768606865986915435952595286195209041331067714814141868261840462504692002136010162020331526365380797975508148617625669465247538204237779801047304968446575907590189073886954398557366720478492920415135970567694551619473239145955190339884184400311515743027741064724550721872532997333503004022108537766810168096945483329161670923976659798517484226906627392888051107010792357155303082878683117976553243943085088956795092384395005969329510684228050247605959362282171364103691821583127949417018362551896458301863432666027242725718048324627226524603934196923010607529971352029696470251477011600985840167650887929630623985891468986515511896887880622427741056567720720023184371575116634189209199997259945202680248907439792387999217994992384489114148248403796751887569513986755881836614976377156889044102589806453864575805887163622322147662606054105259706740604494321068505943534163612691339120630819982848410076902042569831573507325988770925504064260000089213070927716453941375000082123392846547014949252222710856612933022330692139820694140268487016682457155143242700461427396892923533503925719328615016375312472242799957645309425151019766928514847 345508592152407804448555617370284084659665056810085420730835674044346843097483201267045276423269014085732464086974112560788571590607569916381935739054430754714902864079102298555691320256190781338472144877380335742167411585334554941753385359826776917255492960711657840921486830466497183438509767712356196793519942513296852675437259580611149274306131214184901278313413455001988727738927101148003969286201791149290852818167251778503858334857084944003616698512827524025629369584008641878669694800471487846835202283573534866061156301457965167065752936700750272506361149233551363907850706011583190857302846394777513487417275459329450419748317870684268144288321329132419388684922846065023763083082299311858700058871102147811498401445884877201669965243604508854305416074566947448793417842961019884301263072715350359572998950272416591235196179736324401162933778041033516234198641053309486257523995113732515285226653285583607664550458551936997631677158183276554290801199650796840182459821682910168501449862240542792671264313681617298505544189941241441126407240000097709012684437207859776843510884059463402161194750285779506134524333299938343602558605297406768115456247047353335675585156450196317410688305508184444918025349616752747108581298218378955065239963751688906698740483496166369513581951519174174471747825232595372555872775487163286748628587108279620333224663576981256120963099481163111496942731008322756620026534123104406329304901598108330197881338499262596555225079021209103193407945379208273908333740496950151517738187170724840519666723699512947552409101941052576376815564362743048765736749998666779967164561251434042999236368937842923516383263066722776488026117073524125587572092602899255313098334416236783040711784629281516189488456347391986247901431393405007984628855730783349542681987002506053018059610936120490381921747146232043068728727573015161901945131714449943053374348694693690371241206231055760009369205425590015598572715135347020776154533710169913299922305979209471307929272392183120778481813645162807454793500404038266779461312153762001049070521378625501775911784269639137616369388002909914542528511589608981373120329641405747301371003225999620420488952735371053033829477860997884880018525791316985453050776370420295005083703965018433666587415424862210096821550144880360576668725549831698660183702029909257432352137720223822372306832627407159147446429235912692833202831553855147011125666291179361743093403649284274272094748238521687705990652671413702031883852576137833727503924880190712909783903985226124929370530427784942557264697681734824538146939593566347448098067280938525059337646274318330241435953820265923799522177338954294004935574165794800368715044689664092643317524271949340242700685696877555202977688050568530777695447371005290767028561273185731341174331586436394497149039720990032899850264543934199664860420333741774669933277681177629408592427135768987434509685995353961284817385977961854034252808329172872097507211988005620490414085077625898083041078992095145274258600556973111408031869992858065481161377290531948806958248095187291924508323797493826212769551276 559044645507721016899730938878995638182064304891868357900079457763151885552655047288891683112900072630701456356722906006026472792663836187902001268388572215475457445896154189577447157032813593276028219664397448568755769529466464769738901018028991755147983190426199127516879304332492196610034651653366013908621390069302893381045847001948266533555472827142457641522378226861658747553555878135018911340080600171821142328579194010668486459217789497907905888610426107793372694133114162644188544485013479272666831578096500655776030133207726019390867504038129936783428148526463660464059432286463942344103831195115124822103909165372569127295709282218825222391896682769971421850499731619913136815246060516348128667469115003855139690532210993980606180875597919856597553644996552892363327728474494586534195612056487475815394368748675890965942775217485344389866009163563481718662994345866889023037698132342709613739057083465472336686072483807452049782393947815167337173445408856391192521626422764646719228867842603260718203976031213351149150199981728799166501940790036023157141920486762392525577976944438128950535579362483932780463940669328168229440405834096771595389844681826251755094867861642658643880702889986857079155754224346046552519596151087805100747092115772720397912315527372460501644634881688542186926511333080589837229353012236404339510361250296699334454959711416345807091106504896521557205927982511163940801772215755098199535758681007052846183474679511743129370913780730718658277119480080257121783921752878250975412867601081964943499916557014124308782280777262645819257873655172270019423769614564578320871355898020949479178349498953974623775201594117683231799716414573404466786358546683306830551830664553687673833536649612907051552331420134669178279948699851100663340658914375762567580714970228427753563238215962497650665618240619775211072748471899362413113773402763020253372954004292476546136949383725951983940520175365911180414695468131460718553189478776779286837741931804757503138313723250835592623681907003269959485502540048428799792838519142799024578669996251171241159322473876917417416692971356490450118700663495935771677696361884240221786139196567314972108425974517008224169362045398196395761553532381710003772648903417628508087726073556200476755512370345539258492474121540159094152952456459091548234809040701614587655220598906940348860076570492248104241521620307698802532342238083197258731625653461533107197095470867402221511766601073584164292516104079729274609570624462460954028528814387635920391433956578154625840781904796543543104865332622754168770925485035333963609964168819147487078702842039050264620325395382557988731377336214239207615823073234592756714262684656477132431672520353136994588255210864311084814303026945687666739549960811744631604367160349353663321994192490499756855780325484353968356208078097812356199540964561757518343354583220199240165934461757758360013750255354050497888313694415795409252890452565718644522161240228331347027018099956590222861773132363632290941057712116354108493297389750989014665303009860563823333560567430091882153633222644845979698066123 904553237660128821348286556249279722841729361701953778630915131807498728650138248555936959536169086716433920443697018566815044383271406104283937007443002970190360309975256488133138477289004374614500364541777784310923181114801019711492286377855768672403476151137856968438366134798989380048544419365722210702141332582599746056483106582559415807861604041327358919835791681863647475292482979283022880626282391321111995146746445789172344794074874441911522587123253631819002063717122804522858239285484967119502033861670035521837186434665691186456620440738880209289789297760015024371910138298047133201406677589892638309521184624702019547044027152903093366680218011902390810535422577684936899898328359828206828726340217151666638091978095871182276146119202428710902969719563500341156745571435514470835458684771837835388393319021092482201138954953809745552799787204596997952861635399176375280561693246075224898965710369049080001236531035744449681459552131091721627974645059653231374981448105674815220678730083146053389468289712830649654694389922970240292909180790133732169826357694622169369088861003901531111730329648263438914988273969266511831999011131503539710846091729179587430680024311838976054569008398171301997181103841098793661100894369466760165987055867461627096652799023538830015226586400862716658674336565675962393102128499399691088138948358576319667679623288397601928054205986059633054148658990833920560828306338859504528840660279115383044064813178774339684595992801939821851685064859288531030117662249828402493151054771806805463166640256527071861191382718315222196073438017915318785160519613231358288035917149454992478414718436796898140158464660840459719825833488097530054358451149582562143650165080790470714545321278894423241040787767526655426181380093256108647969514645159112110262701972734480771622849152082988032587365386851818279801476044914524315058905117212963306747302698986166917378155614781711993309725600955926778987410603478481494707723188946692586760047911014228811067586115433956371105495552166077414279002944086695579254150672904800073649191374876673017071106743516055033786080974266404992647212253104917144798026003289987523157142422566935392597378709888061257998839906396081275780079323698695456823425273837923513171430038574634143342927795207749355314024266420519670821678006290790208418511070610872020007358319130762721166909197899407251687950856220391635735173791938344269857291944640894850290499120151676493606514839595271870283168775493431306493423200600294681532453694578348830175337941804279555211312332581486100369563014357578706917865078601681411708031449757672546416349116357380506056279215648481788253554675168533212551397239029393125429307374320569775749196792302477237288940907741866287791991077514218444434997331817035398632928433535085004496325778926894254004820046474386868206472622032012021059961298303532188276632264397828648758361597526745794523436250708011782705699672377649443505698781738590742029373228233951837441103177582488305902852124458777565199658269089465516525167382609054495826680300392512630291808662617383806661957020138672192467617399 1463597883167849838248017495128275361023793666593822136530994589570650614202793295844828642649069159347135376800419924572841517175935242292185938275831575185665817755871410677710585634321817967890528584206175232879678950644267484481231187395884760427551459341564056095955245439131481576658579071019088224610762722651902639437528953584507682341417076868469816561358169908725306222846038857418041791966362991492933137475325639799840831253292663939819428475733679739612374757850236967167046783770498446392168865439766536177613216567873417205847487944777010146073217446286478684835969570584511075545510508785007763131625093790074588674339736435121918589072114694672362232385922309304850036713574420344554957393809332155521777782510306865162882326994800348567500523364560053233520073299910009057369654296828325311203787687769768373167081730171295089942665796368160479671524629745043264303599391378417934512704767452514552337922603519551901731241946078906888965148090468509622567503074528439461939907597925749314107672265744044000803844589904699039459411121580169755326968278181384561894666837948339660062265909010747371695452214638594680061439416965600311306235936411005839185774892173481634698449711288158159076336858065444840213620490520554565266734147983234347494565114550911290516871221282551258845600847898756552230331481511636095427649309608873019002134582999813947735145312490956154611354586973345084501630078554614602728376418960122435890248287858286082813966906582670540509962184339368788151901584002706653468563922372888770406666556813541196169973663495577868015331311673087588804584289227795936608907273047475941957593067935750872763933666254958142951625549902670934521144809696265868974201995745344158388378857928507330292593119187661324604461328793107209311310173559534874677843416942962908525186087368045485683252983627471593490874224516813886728172678519975983560120256703278643463515104998507663977250245776321837959402106071609942213260912667723471873597789842818986314205899838684791963729177459169347373764505484135124379046989192047599098227861371127844258230429217392972451202773945622895442765912916600852916475722365174227744943281619134250364705804684405069482168201951794277671541632856080405460596074177255552021259156112130834620098440165553288613806498387960678764974630462749881756653320111312486607662578918037703070026985768391655355929472476528090438267516030021541528588917598102427957487594591019078715118281440668856034575684879573160581102993825062755635560982508965984750566771898382434181052094237378029643474428346980332875688790563637015375317995618576820033495051958396430770676604611031039776984932011382772420167220312263985882143570058977046908180869312655614231877196118606177372606294104459906111174547292628780030237295593884438667818319971417394010860600371958740836562680700129824377259502262865289706619986847618027888924296059284504154537186506062062280594013366793444852758589234304309386551534468462283184468121277539078528764625256822409856140715981205819625018464772360043510491983310253076453625369230047475688815590242783518172165683522 2368151120827978659596304051377555083865523028295775915161909721378149342852931544400765602185238246063569297244116943139656561559206648396469875283274578155856178065846667165843724111610822342505028948747953017190602131759068504192723473773740529099954935492701913064393611573930470956707123490384810435312904055234502385494012060167067098149278680909797175481193961590588953698138521836701064672592645382814045132622072085589013176047367538381730951062856933371431376821567359771689905023055983413511670899301436571699450403002539108392304108385515890355363006744046493709207879708882558208746917186374900401441146278414776608221383763588025011955752332706574753042921344886989786936611902780172761786120149549307188415874488402736345158473114002777278403493084123553574676818871345523528205112981600163146592181006790860855368220685125104835495465583572757477624386265144219639584161084624493159411670477821563632339159134555296351412701498209998610593122735528162853942484522634114277160586328008895367497140555456874650458538979827669279752320302370303487496794635876006731263755698952241191173996238659010810610440488607861191893438428097103851017082028140185426616454916485320610753018719686329461073517961906543633874721384890021325432721203850695974591217913574450120532097807683413975504275184464432514623433610011035786515788257967449338669814206288211549663199518477015787665503245964179005062458384893474107257217079239237818934313101037060422498562899384610362361647249198657319182019246252535055961714977144695575869833197070068268031165046213893090211404749691002907589744808841027294896943190196930934436007786372547770904092130915798602671451383390768464575503260845848431117852160826134629102924179207401753533633906955187980030642708886363317959279688204693986788106118915697389296808936520128473715840349014323411770675700561728411043231583637188946866867559402264810380893260613289375970559971377277764738389516675088423707968635856670164460357837753833215125273485954118748334834673011335424788043508428221819958301139864952399171877052746004517275301535960909027484988854919889300435413125169705770061273748368464215268100424041701185757303183394293130740167041858190358947321712179779100917419499451093475534430586150705468763441367960761037969120522654381198435796308469040671965071831181923358627669937237168465791193894966291062607617423332748482074002689821959885798446209542743322807778093711170755208724796280264127904858853655066591887596417025663050317093436203544333580742109840186713736263406569959515743843991361337911582606655642238696787026027068334492579911401074753811276732883826679521565238486686551305632718617551293379007572877433297616683930066104958091469166137026348043660398285181974124555609544624445815428870224027419523672314645750344288264865420418433127704769153322161836398319463561168821894896619112015856537682657656811249949060622756770074063299713039171094296264288016042900128580907696696235021909224455121566834667477381281187421340374250295285141543632154969098006318663610645589083917177892664859495477547262922190364633300921 3831749003995828497844321546505830444889316694889598051692904310948799957055724840245594244834307405410704674044536867712498078735141890688655813559106153341521995821718077843554309745932640310395557532954128250070281082403335988673954661169625289527506394834265969160348857013061952533365702561403898659923666777886405024931541013751574780490695757778266992042552131499314259920984560694119106464559008374306978270097397725388854007300660202321550379538590613111043751579417596738856951806826481859903839764741203107877063619570412525598151596330292900501436224190332972394043849279467069284292427695159908164572771372204851196895723500023146930544824447401247115275307267196294636973325477200517316743513958881462710193656998709601508040800108803125845904016448683606808196892171255532585574767278428488457795968694560629228535302415296399925438131379940917957295910894889262903887760476002911093924375245274078184677081738074848253143943444288905499558270825996672476509987597162553739100493925934644681604812821200918651262383569732368319211731423950473242823762914057391293158422536900580851236262147669758182305892703246455871954877845062704162323317964551191265802229808658802245451468430974487620149854819971988474088341875410575890699455351833930322085783028125361411048969028965965234349876032363189066853765091522671881943437567576322357671948789288025497398344830967971942276857832937524089564088463448088709985593498199360254824561388895346505312529805967280902871609433538026107333920830255241709430278899517584346276499753883609464201138709709470958226736061364090496394329098068823231505850463244406876393600854308298643668025797170756745623076933293439399096648070542114300092054156571478787491303037135909083826227026142849304635104037679470527270589861764228861465949535858660297821995023888173959399093332641795005261549925078542297771404262157164930426987816105543453844408365611797039947810217153599602697791622746698365921229548524393636333955627596652201439479385792803540298563850470504772161808013912356944337348129056999998270104914117132361533531965178301999936191628865512195878179038086306622977749470733638443013043705660835436122008988078698200222335243809984636618863345035859506378015573628349027555689742262836303383539808126314326582927021042341877200770938931790553721725151293235845235332516155206168861220880734682717963546895809276572512270205851981427327035127140845750765265688302189833923843077720932983939434538534639752468699410850725805952654418712510318331308881738569147917315500807337545387318419708318244458295446205875712162344022686911312613406453033150242047409488437710561342223418697934078052885837863557364889716447492274663592110935417613705701043333144954221033004579286434030666784091917074595459107519621303962340132965721761682275726020790391868541331834022291660775578965824034111601516605959633884426606953716095754103597809262832136343893726405964539149022877250347209515132442165158518206377345732660645363432102638103597277481090231501104766562096927329141516810646920898665537542547122712335184293137505705708536798984443 6199900124823807157440625597883385528754839723185373966854814032326949299908656384646359847019545651474273971288653810852154640294348539085125688842380731497378173887564745009398033857543462652900586481702081267260883214162404492866678134943365818627461330326967882224742468586992423490072826051788709095236570833120907410425553073918641878639974438688064167523746093089903213619123082530820171137151653757121023402719469810977867183348027740703281330601447546482475128400984956510546856829882465273415510664042639679576514022572951633990455704715808790856799230934379466103251728988349627493039344881534808566013917650619627805117107263611171942500576780107821868318228612083284423909937379980690078529634108430769898609531487112337853199273222805903124307509532807160382873711042601056113779880260028651604388149701351490083903523100421504760933596963513675434920297160033482543471921560627404253336045723095641817016240872630144604556644942498904110151393561524835330452472119796668016261080253943540049101953376657793301720922549560037598964051726320776730320557549933398024422178235852822042410258386328768992916333191854317063848316273159808013340399992691376692418684725144122856204487150660817081223372781878532107963063260300597216132176555684626296677000941699811531581066836649379209854151216827621581477198701533707668459225825543771696341762995576237047061544349444987729942361078901703094626546848341562817242810577438598073758874489932406927811092705351891265233256682736683426515940076507776765391993876662279922146332950953677732232303755923364048438140811055093403984073906909850526402793653441337810829608640680846414572117928086555348294528316684207863672151331387962731209906317397613416594227216343310837359860933098037284665746746565833845229869549968922848254055654774357687118803960408302433114933681656118417032225625640270708814635845794353877293855375507808264225301626225086415918370188530877367436181139421786789629198184381063800794313465350485416564752871746922288633398523481840196949851522340578764295649268921952397441981966863136878808833501139211027421180483785401496313592163256012393039023219102102658281144129702536621879312171472991330962502285668174995566185057215638607295435073079442503090120328413541772146981176087075364552047543696723075636567247400831225686796982475159203863002453392374634652414775700973780571164319142025054586272895673941313125481336683589073573043782013360589132567874001197111844293392189706344356295827876388856269747854916054651912050991578755861653578907377297061131162411069656156040902101848114408949370049755245805193317854107904053324142372264390082907461905384485383685604455414850743897289324925572280276041001522571797170209470171302264693402864468408155222393636541520410887977743648723486012447611472105970540591441208824996246100987344453497173898429385202933496413225071649740964289611372907004052658432019602210407193439445135633445287165266390109643713349861854753228286570187782212198099580019384784698821464481796389908105729082298239523129310531544254621459725015377194679770684768627898901432285364 10031649128819635655284947144389215973644156418074972018547718343275749256964381224891954091853853056884978645333190678564652719029490429773781502401486884838900169709282822852952343603476102963296144014656209517331164296565740481540632796112991108154967725161233851385091325600054376023438528613192607755160237611007312435357094087670216659130670196466331159566298224589217473540107643224939277601710662131428001672816867536366721190648687943024831710140038159593518879980402553249403808636708947133319350428783842787453577642143364159588607301046101691358235455124712438497295578267816696777331772576694716730586689022824479002012830763634318873045401227509068983593535879279579060883262857181207395273148067312232608803188485821939361240073331609028970211525981490767191070603213856588699354647538457140062184118395912119312438825515717904686371728343454593392216208054922745447359682036630315347260420968369720001693322610704992857700588386787809609709664387521507806962459716959221755361574179878184730706766197858711952983306119292405918175783150271249973144320463990789317580600772753402893646520533998527175222225895100772935803194118222512175663717957242567958220914533802925101655955581635304701373227601850520582051405135711173106831631907518556618762783969825172942630035865615344444204027249190810648330963793056379550402663393120094054013711784864262544459889180412959672219218911839227184190635311789651527228404075637958328583435878827753433123622511319172168104866116274709533849860906763018474822272776179864268422832704837287196433442465632835006664876872419183900378403004978673757908644116685744687223209494989145058240143725257312093917605249977647262768799401930077031301960473969092204085530253479219921186087959240886589300850784245304372500459411733151709720005190633017984940798984296476392514027014297913422293775550718813006586040107951518807720843191613351718069709991836883455866180405684476970133972762168485155550427732905457437128269092947137618004232257539725828931962373952344969111659536252935708632997397978952395712086880980269240342365466317513027357372112650913692191771201342319016016772689835741101294187835363372058001321159551689531184837529478159632185048402251498113673450646707791530645810070676378075530520984213389691134974564739064952837338186332621779408522133768395049098334969547580803513635656435656498534711214951301627098543101525922740452516463824434824338309470315550423056410951722130095783727930724346096824995238727114662222402273628564970243359873317325009570894408184634606518480830777974400499197548053990121111714072442157117806724307141054295371551860702100644249685324082419461738490293278408108787005772417846943868151936940185502871252803316256485726407443754842185889177728458595006347085263270027448352580577193867652816317461999216864787432821366745157949477395209237045097929831031283625390896565089002758156256241282434346751087165851100172594310042516737319158845792027013271434663915920442857561531682657488381976302554713297494674667826009627381039939957452442920159002272138089529864063822274333607438231269807 16231549253643442812725572742272601502398996141260345985402532375602698556873037609538313938873398708359252616621844489416807359323838968858907191243867616336278343596847567862350377461019565616196730496358290784592047510728144974407310931056356926782429055488201733609833794187046799513511354664981316850396808444128219845782647161588858537770644635154395327090044317679120687159230725755759448738862315888549025075536337347344588373996715683728113040741485706075994008381387509759950665466591412406734861092826482467030091664716315793579063005761910482215034686059091904600547307256166324270371117458229525296600606673444106807129938027245490815545978007616890851911764491362863484793200237161897473802782175743002507412719972934277214439346554414932094519035514297927573944314256457644813134527798485791666572268097263609396342348616139409447305325306968268827136505214956227990831603597257719600596466691465361818709563483335137462257233329286713719861057949046343137414931836755889771622654433821724779808719574516505254704228668852443517139834876592026703464878013924187342002779008606224936056778920327296168138559086955089999651510391382320189004117949933944650639599258947047957860442732296121782596600383729052690014468396011770322963808463203182915439784911524984474211102702264723654058178466018432229808162494590087218861889218663865750355474780440499591521433529857947402161579990740930278817182160131214344471214653076556402342310368760160360934715216671063433338122799011392960365800983270795240214266652842144190569165655790964928665746221556199055103017683474277304362476911888524284311437770127082498052818135669991472812261653343867442212133566661855126440950733318039762511866791366705620679757469822530758545948892338923873966597530811138217730328961702074557974060845407375672059602944704778825628960695954031839326001176359083715400675953745872685014698567121159982295011618061969871784550594215354337570153901590271945179625917286521237922582558297623034568985129286648117565360897434185166061511058593514472928646666900904793154068847843406119151198967456724054778552596436315188505363364598331409055795908937843759575331965065908679880633331024680862147339815146334627751233459467136720968885719787234033735930399089919847677502160300465055687022108435788028473905433733453005095319116243554252961337422939955438166050432136630279105875534093326681684815997199864053577997800508023897911353252328911012188978825723327207628021322914052441181291066603503518492150128544619622155410864896080871224473315561931667649643241847630556540099649902104530061084122197402923000042161248958348695694232966490727157147229466904845424094748693258852684295097343419224144192938462757300041462273487558750419810308223250341111571365000115417235063006918750934365028188665973623356908903208041861033533808711198655123375824594439978594343056102933366355186176461909762208914673302036557158280605296235806039597207783127428802559141888868024662950486108225069759631262676873166675124019195093884582773555091925620563069267983987174780461997153466724543834507042961506339663555171 26263198382463078468010519886661817476043152559335318003950250718878447813837418834430268030727251765244231261955035167981460078353329398632688693645354501175178513306130390715302721064495668579492874511014500301923211807293885455947943727169348034937396780649435584994925119787101175536949883278173924605557046055135532281139741249259075196901314831620726486656342542268338160699338368980698726340572978019977026748353204883711309564645403626752944750881523865669512888361790063009354474103300359540054211521610325254483669306859679953167670306808012173573270141183804343097842885523983021047702890034924242027187295696268585809142768790879809688591379235125959835505300370642442545676463094343104869075930243055235116215908458756216575679419886023961064730561495788694765014917470314233512489175336942931728756386493175728708781174131857314133677053650422862219352713269878973438191285633888034947856887659835081820402886094040130319957821716074523329570722336567850944377391553715111526984228613699909510515485772375217207687534788144849435315618026863276676609198477914976659583379781359627829703299454325823343360784982055862935454704509604832364667835907176512608860513792749973059516398313931426483969827985579573272065873531722943429795440370721739534202568881350157416841138567880068098262205715209242878139126287646466769264552611783959804369186565304762135981322710270907074380798902580157463007817471920865871699618728714514730925746247587913794058337727990235601442988915286102494215661890033813715036539429022008458991998360628252125099188687189034061767894555893461204740879916867198042220081886812827185276027630659136531052405378601179536129738816639502389209750135248116793813827265335797824765287723301750679732036851579810463267448315056442590230788373435226267694066036040393657000401929001255218142987710251945261619776727077896721986716061697391492735541758734511700364721609898853327650730999899831307704126663758757100730053650191978675050851651244760652573217386826373946497323271386530135173170594846450181561644064879857188866155728823675359493564433774237082135924709087228880697134565940650425072568598773584860869519800429280737881954490576370393332177344624494259936281861718634834642336366495025564381740469766297923208023144513854746821996673174852981311243620066074784503841250011949302059672392487536241679686088572286777640586749044628308783359098725786794030514264332458722249662722644461435245389777445457303411749253638398538006286305330618180714552402173184592398770738213405880795367723746566274168124072625604957039297197956094651172798194639560040806766468390012644067246093668591371406832553549324307162585041971666961471300869761266168012344875402942802912715076803815236146217751978092527000749093458710423582148270188778382717608765859841276173226365207258725820966630077943813072853219803677023692272887134216991746082741550912520365170914584470903909367771147335978633907250299864747961404933915881296097614402028667927321162945334361548651426573908391379257441381101553001603009225436430094939464269291556254407898329317295113777894824978 42494747636106521280736092628934418978442148700595663989352783094481146370710456443968581969600650473603483878576879657398267437677168367491595884889222117511456856902977958577653098525515234195689605007372791086515259318022030430355254658225704961719825836137637318604758913974147975050461237943155241455953854499263752126922388410847933734671959466775121813746386859947458847858569094736458175079435293908526051823889542231055897938642119310481057791623009571745506896743177572769305139569891771946789072614436807721513760971575995746746733312569922655788304827242896247698390192780149345318074007493153767323787902369712692616272706818125300504137357242742850687417064862005306030469663331505002342878712418798237623628628431690493790118766440438893159249597010086622338959231726771878325623703135428723395328654590439338105123522747996723580982378957391131046489218484835201429022889231145754548453354351300443639112449577375267782215055045361237049431780285614194081792323390471001298606883047521634290324205346891722462391763456997292952455452903455303380074076491839164001586158789965852765760078374653119511499344069010952935106214900987152553671953857110457259500113051697021017376841046227548266566428369308625962080341927734713752759248833924922449642353792875141891052241270144791752320384181227675107947288782236553988126441830447825554724661345745261727502756240128854476542378893321087741824999632052080216170833381791071133268056616348074154993052944661299034781111714297495454581462873304608955250806081864152649561164016419217053764934908745233116870912239367738509103356828755722326531519656939909683328845766329128003864667031945046978341872383301357515650700868566156556325694056702503445445045193124281438277985743918734337234045845867580807961117335137300825668126881447769329060004873706034043771948406205977100945777903436980437387392015443264177750240325855671682659733227960823199435281594115185645274280565349029045909679567478499912973434209542383687142202516113022064062684168820715301234681653439964654490290731780761982020224576667081478644763401230961136914477305523544069202497930538981834128364507711428620444851765495189417762587821601051255479517159770828887687515321185771555611222086282259598117670868856217770885525304814319802509018781610641009785149053799527789599160366255503555021009815427491679845736520708917056746462283137954990468175095925650847608512064840482620161015974973372447434368603168784511039770576552450979187577371934121699206702530717804214554181603109486752019841039308497941817767314473235513579396847858199181233882316836962963806808629638970992762940326635082098563979783016229152586679790664925814155595967104685392156537813865700102954177350291373986566028060201342868112320458458825840817211277107529317082636954525814899530135268415300586854500438789142468196229044398117002286615943237150358101268918012822282574085587886507461067648376443571784673504458082992176763964075804749320760564888136892997080794208011234715326550593103485263840214936193478622166078493420417269719926266445022978951732836360256620117558380149 68757946018569599748746612515596236454485301259930981993303033813359594184547875278398850000327902238847715140531914825379727516030497766124284578534576618686635370209108349292955819590010902775182479518387291388438471125315915886303198385395052996657222616787072903599684033761249150587411121221329166061510900554399284408062129660107008931573274298395848300402729402215797008557907463717156901420008271928503078572242747114767207503287522937234002542504533437415019785104967635778659613673192131486843284136047132975997430278435675699914403619377934829361574968426700590796233078304132366365776897528078009350975198065981278425415475609005110192728736477868810522922365232647748576146126425848107211954642661853472739844536890446710365798186326462854223980158505875317103974149197086111838112878472371655124085041083615066813904696879854037714659432607813993265841931754714174867214174865033789496310242011135525459515335671415398102172876761435760379002502622182045026169714944186112825591111661221543800839691119266939670079298245142142387771070930318580056683274969754140661169538571325480595463377828978942854860129051066815870560919410591984918339789764286969868360626844446994076893239360158974750536256354888199234146215459457657182554689204646661983844922674225299307893379838024859850582589896436917986086415069883020757390994442231785359093847911050023863484078950399761550923177795901245204832817103972946087870452110505585864193802863935987949051390672651534636224100629583597948797124763338422670287345510886161108553162377047469178864123595934267178638806795261199713844236745622920368751601543752736868604873396988264534917072410546226514471611199940859904860451003814273350139521322038301270210332916426032118010022595498544800501494160924023398191905708572527093362192917488162986060406802707289261914936116457922362565554630514877159374108077140655670485782084590183383024454837859676527086012594015016952978407229107786146639733217670478588024285860787144339715419902939396010560007440207245436407852248286414836051934796660619170886380305490756838138327835005198219050402014610772949899632496479632259200933106485013481314371565924470155644542312177421648811694504395323147623797182904406390253558452777285162499411338622515694093548449328174549331015454785493991096392673865602574103001616267452857080682207915027921525422609281203834387049032182583299251534194651437641639026329172941342410678697617833882679758380614241814451519830190849517193863677264739879921254932890988806952952341322892632815208763055064215985891387098840470618694045814293832406680511476523004613575098028983636830186420303673469970812336565553459749264832636592775626896836865951560168882689268642905866892427095189222712245812179435395113069551917536264399359547296307699800245720385656175703361633622559312675467068867086281269082264201794025978888830371367349847351659563734802939256502470978364977016147590907763307411708382856924725369009720630616858179290165560924401957153345596263977977167011876643097656317295031623769087718856847364659390535736579233359631165677551733895453205127 111252693654676121029482705144530655432927449960526645982655816907840740555258331722367431969928552712451199019108794482777994953707666133615880463423798736198092227112086307870608918115526136970872084525760082474953730443337946316658453043620757958377048452924710222204442947735397125637872359164484407517464755053663036534984518070954942666245233765170970114149116262163255856416476558453615076499443565837029130396132289345823105441929642247715060334127543009160526681848145208547964753243083903433632356750483940697511191250011671446661136931947857485149879795669596838494623271084281711683850905021231776674763100435693971041688182427130410696866093720611661210339430094653054606615789757353109554833355080651710363473165322137204155916952766901747383229755515961939442933380923857990163736581607800378519413695674054404919028219627850761295641811565205124312331150239549376296237064096179544044763596362435969098627785248790665884387931806796997428434282907796239107962038334657114124197994708743178091163896466158662132471061702139435340226523833773883436757351461593304662755697361291333361223456203632062366359473120077768805667134311579137472011743621397427127860739896144015094270080406386523017102684724196825196226557387192370935313938038571584433487276467100441198945621108169651602902974077664593094033703852119574745517436272679610913818509256795285590986835190528616027465556689222332946657816736025026304041285492296656997461859480284062104044443617312833671005212343881093403378587636643031625538151592750313758114326393466686232629058504679500295509719034628938222947593574378642695283121200692646551933719163317392538781739442491273492813483583242217420511151872380429906465215378740804715655378109550313556288008339417279137735540006791604206153023043709827919030319798935932315120411676413323305686884522663899463511332533951857596761500092583919848236022410445855065684188065820499726521294188130202598252687794456815192549412785148978500997720070329528026857622419052418074622691609027960737642533901726379490542225528441381152906604882157838316783091236236159355964879320134317019102130427018614093329297614196442101759223331419659573407130133778472904291211664166152035311312504090177945864780539059544760617082207478733464979073754142494351840034236396135000881541727665130363702161982522956412101692023342519601371159129990120891133511315320538289719709290577088489247538394013423962571694672591206330114126983783026325491290406743300496381441049198861579127957463608793021507133944432379384835049802363562157803658701572075984198090893672493013640562828313485968420383727667954629593126746938755568534792119581782612335944623301518589782492803970636952325420503134343008821069777386563209278273872380778263225390010376362105216570824403837016882882674911471075233496902037859899529967507656228749465311308599911028265504773608517707948620577576557085513342090357485826044664524034479547980916166465849101489333085525379937618744178302453921482751361356830979304527760115361906937871253488510245935166212277264634379316802181602212311364002037808354013011585276 180010639673245720778229317660126891887412751220457627975958850721200334739806207000766281970256454951298914159640709308157722469738163899740165041958375354884727597321194657163564737705537039746054564044147373863392201568653862202961651429015810955034271069711783125804126981496646276225283480385813573578975655608062320943046647731061951597818508063566818414551845664379052864974384022170771977919451837765532208968375036460590312945217165184949062876632076446575546466953112844326624366916276034920475640886531073673508621528447347146575540551325792314511454764096297429290856349388414078049627802549309786025738298501675249467103658036135520889594830198480471733261795327300803182761916183201216766787997742505183103317702212583914521715139093364601607209914021837256546907530120944102001849460080172033643498736757669471732932916507704799010301244173019117578173081994263551163451238961213333541073838373571494558143120920206063986560808568232757807436785529978284134131753278843226949789106369964721892003587585425601802550359947281577727997594764092463493440626431347445323925235932616813956686834032611005221219602171144584676228053722171122390351533385684396996221366740591009171163319766545497767638941079085024430372772846650028117868627243218246417332199141325740506839000946194511453485563974101511080120118922002595502908430714911396272912357167845309454470914140928377578388734485123578151490633839997972391911737602802242861655662344220050053095834289964368307229312973464691352175712399981454295825497103636474866667488770514155411493182100613767474148525829890137936791830320001563064034722744445383420538592560305657073698811853037500007285094783183077325371602876194703256604736700779105985865711025976345674298030934915823938237034167715627604344928752282355012392512716424095301180818479120612567601820639121821826076887164466734756135608169724575518721804495036038448708642903680176253607306782145219551231095023564601339189146002819457089022005931116672366573042321991814085182699049235206174050386150012794326594160325102000323792985187648595154921419071241357575015281334745089969001762923498246352530230720681455583073594897344129729051672445955894553102906168561475182935109686994584336118338991836829923116493546101249159072622203470668901171049691181628991977934401530732937805163598790409269182374231257547522896581739271324725520560347503121588971243485228526130886564723186365304982373370209040212793885364397268139942810236934150013575304726463601459049212396499781828460086285755272017650258565418626373789550088670916454816784939486786846047243339790008973033958825696938266423313167242429038505604456147336072085209455938111365409389640836588512494303192402985914687962204481752431990519684560213658338459562293898369615930371700144716683128395297127250936858535660419212205434576523315030734393572801705054244393603979885057795972237140291888452598592828464191021680671625387311288327874848706026214702095246010554476923468468014845884708514702427243282504927127238550035527570783541869704253931134111999038707337918181445670995167715360087908464790403 291263333327921841807712022804657547320340201180984273958614667629041075295064538723133713940185007663750113178749503790935717423445830033356045505382174091082819824433280965034173655821063176716926648569907456338345932011991808519620104472636568913411319522636493348008569929232043401863155839550297981096440410661725357478031165802016894264063741828737788528700961926542308721390860580624387054418895403602561339364507325806413418387146807432664123210759619455736073148801258052874589120159359938354107997637015014371019812778459018593236677483273649799661334559765894267785479620472695789733478707570541562700501398937369220508791840463265931586460923919092132943601225421953857789377705940554326321621352823156893466790867534721118677632091860266348990439669537799195989840911044802092165586041687972412162912432431723876651961136135555560305943055738224241890504232233812927459688303057392877585837434736007463656770906168996729870948740375029755235871068437774523242093791613500341073987101078707899983167484051584263935021421649421013068224118597866346930197977892940749986680933293908147317910290236243067587579075291222353481895188033750259862363277007081824124082106636735024265433400172932020784741625803281849626599330233842399053182565281789830850819475608426181705784622054364163056388538051766104174153822774122170248425866987591007186730866424640595045457749331456993605854291174345911098148450576022998695953023095098899859117521824504112157140277907277201978234525317345784755554300036624485921363648696386788624781815163980841644122240605293267769658244864519076159739423894380205759317843945138029972472311723623049612480551295528773500098578366425294745882754748575133163069952079519910701521089135526659230586039274333103075972574174507231810497951795992182931422832515360027616301230155533935873288705161785721289588219698418592352897108262308495366957826905481893514392830969500675980128600970275422149483782818021416531738558787968435590019726001446200393430664741044232159805390658263166911692920051739173817136385853543381476699590069806433471704510307477516930980160654879406988103893350516860445859528334877897684832818228763789302458802579734367457394117832727627218246422191084762281983119530896374683733575753579982624051695957613163253011083927577763992859476129195863301507325581313365681284066254600067124267740869261445616654071662823659878690952775805614620134103117199789267554068042800246542908012348180294465434100643677450509956745775662463038177169860108574849967220230187651402485308367782188531593208790242992439014875833159279859687806168103494941454342553364892896016439914181184607040396575729118684421154079239629955191882444807225464819723695537328923509031981868315641268793556940991921563849572670260474832501196103981733566011070208598326170355437698279111735402084179543780199704881401616082509898377588402765744592814716848973965940683185950017066345195659866859269244041314555127704035180771390492095667646770468767367459876059258222587032687242600456973398824272052115639420143411376633418024140099783657982359169753168441921476375679 471273973001167562585941340464784439207752952401441901934573518350241410034870745723899995910441462615049027338390213099093439893183993933096210547340549445967547421754475622197738393526600216462981212614054830201738133580645670722581755901652379868445590592348276473812696910728689678088439319936111554675416066269787678421077813533078845861882249892304606943252807590921361586365244602795159032338347241368093548332882362267003731332363972617613186087391695902311619615754370897201213487075635973274583638523546088044528434306906365739812218034599442114172789323862191697076335969861109867783106510119851348726239697439044469975895498499401452476055754117572604676863020749254660972139622123755543088409350565662076570108569747305033199347230953630950597649583559636452536748441165746194167435501768144445806411169189393348384894052643260359316244299911243359468677314228076478623139542018606211126911273109578958214914027089202793857509548943262513043307853967752807376225544892343568023776207448672621875171071637009865737571781596702590796221713361958810423638604324288195310606169226524961274597124268854072808798677462366938158123241755921382252714810392766221120303473377326033436596719939477518552380566882366874056972103080492427171051192525008077268151674749751922212623623000558674509874102025867615254273941696124765751334297702502403459643223592485904499928663472385371184243025659469489249639084416020971087864760697901142720773184168724162210236112197241570285463838290810476107730012436605940217189145800023263491449303934494997055615422705907035243806770694409214096531254214381768823352566689583413393010904283928706686179363148566273507383673149608372071254357624769836419674688780299016687386800161503004904884070209248927014209608342222859414842880548274537943815345231784122917482048634654548440890525800907543115665106862885327109032716432033070885679631400517931963101473873180852233735907752420641700714877841586017870927704790787892679041731932562872760003707063036046244988089707498373085743306201751968143730546178645381800492575257455028626625929378718874505995441989624496957105656274015106798389759055559353267906413126107919031510475025690262010497024001289102401181531878079346618101458522733204606850069299681231783124318161083832154182133618759392984837410530726596239312489180103774950466440485857614647164322608532770342174632010326781467662196261034140751020667840386154572536441413009286755701897712577562605376910880611600523532050502126064497226382256608356678427306515942923420135566933200814905382758878913908893831660772646066705735049507893503914488301379061831162439753081423613645546001031876454756506363535177741320601272085643813977314026887940314838196994186350068073259313241501205579902309134964158844448431567804126450249139465505725577107213973358698323940836660702858810934098454203321136754291981568287823540565051857140862418539276014414208088025867285254170557571916163261153918737276017401046572591115238483613252168390761685465869537614369839007008926395055593985343674074545488632456731478017965103653354337468528529829941166082 762537306329089404393653363269441986528093153582426175893188185979282485329935284447033709850626470278799140517139716890029157316629823966452256052722723537050367246187756587231912049347663393179907861183962286540084065592637479242201860374288948781856910114984769821821266839960733079951595159486409535771856476931513035899108979335095740125945991721042395471953769517463670307756105183419546086757242644970654887697389688073417149719510780050277309298151315358047692764555628950075802607234995911628691636160561102415548247085365384333048895517873091913834123883628085964861815590333805657516585217690392911426741096376413690484687338962667384062516678036664737620464246171208518761517328064309869410030703388818970036899437282026151876979322813897299588089253097435648526589352210548286333021543456116857969323601621117225036855188778815919622187355649467601359181546461889406082827845075999088712748707845586421871684933258199523728458289318292268279178922405527330618319336505843909097763308527380521858338555688594129672593203246123603864445831959825157353836582217228945297287102520433108592507414505097140396377752753589291640018429789671642115078087399848045244385580014061057702030120112409539337122192685648723683571433314334826224233757806797908118971150358178103918408245054922837566262640077633719428427764470246935999760164690093410646374090017126499545386412803842364790097316833815400347787534992043969783817783793000042579890705993228274367376390104518772263698363608156260863284312473230426138552794496410052116231119098475838699737663311200303013465015558928290256270678108761974582670410634721443365483216007551756298659914444095047007482251516033666817137112373344969582744640859818927388907889297029664135470109483582030090182182516730091225340832344266720875238177747144150533783278790188484314179230962693264405253326561303919461929824694341566252637458305999825477494304842681528213864508722696063850198660659607434402666263578756328269061457934009073153434371804080278404793480365761539997436226253491141960866932032188763277192165327261462098330439686196391436975602644503903945209549624531967244249287390437250952739231354871708333969277605424629467891141834016729619427954069164108900084578053629579290583645053261214407176014118696995407193217546337156977696886659922459540819814761417140631750506740457681771432063477794215958828703673150441346353149036839755371154770957585943840090509455809533298609910060757857070811011524289051033488796277788527535403552116716931528394526746130574822620875300983003436975967669156901332846536605805346565422855675996998855942643932426724058456192995604798252586397607605573440927517614417371275793154530451039442133750583477643761706026168218383714528106798442197501466158707634419319280932763908108183815150535714323903277569411056977435676238744882402591133803335604937219264190359156690589285157866573989836384479959200364225154371062945121029826815957477816281622772456788791538668258762008952380619628266820943688456570301612439463982325219327646100983094217956865265874755618117748761635713507221696971751417541761 1233811279330256966979594703734226425735846105983868077827761704329523895364806030170933705761067932893848167855529929989122597209813817899548466600063272983017914667942232209429650442874263609642889073798017116741822199173283149964783616275941328650302500707333046295633963750689422758040034479422521090447272543201300714320186792868174585987828241613347002415206577108385031894121349786214705119095589886338748436030272050340420881051874752667890495385543011260359312380309999847277016094310631884903275274684107190460076681392271750072861113552472534028006913207490277661938151560194915525299691727810244260152980793815458160460582837462068836538572432154237342297327266920463179733656950188065412498440053954481046607008007029331185076326553767528250185738836657072101063337793376294480500457045224261303775734770810510573421749241422076278938431655560710960827858860689965884705967387094605299839659980955165380086598960347402317585967838261554781322486776373280137994544881398187477121539515976053143733509627325603995410164984842826194660667545321783967777475186541517140607893271746958069867104538773951213205176430215956229798141671545593024367792897792614266364689053391387091138626840051887057889502759568015597740543536394827253395284950331805985387122825107930026131031868055481512076136742103501334682701706166371701751094462392595814106017313609612404045315076276227735974340342493284889597426619408064940871682544490901185300663890161952436577612502301760342549162201898966736971014324909836366355741940296433315607680423032970835755353086017107338257271786253337504352801932323143743406022977324304856758494120291480462984839277592661320514865924665642038888391469998114806002419329640117944076294689458532669040354179692830957104391790858952950640183712892541258819053522978928273451265327424843032755069756763600807520918433424189246570962541126374637138317089706517757440595778715862380447600416475116705550913538501193452273593968369544220948103189866571945913438078867116324649781570073259913083179532455243110104597478210834145077684740584716490724956369064915265942971044634128400902315205898547074042639046445996604220645644480979627365479752631114891478388165835305832020609485947243455518186036576362783897433714352942446190300332279780827561375351165096549962534297190649055780132303941520915582216947226315296418596386086326986301003335683477222814015345297873896122175438797972098412626950868818820054311807773335419676187922404900651557020846779914592032629934373325288206821833262073498242756442234183818342358726548070810226678197378451413271157905183890502770430945311488555220895946077028411898132398639482028197433881149595112596394426616094853419447777471417958599903020354568451787787420039943403081368467842598578163729364331712234634064290001220049480384783384415675759617075405585261402067901789808258356018482340724978412825722918431130698803019235214778433242396930230375200384387873641077435541509732806192585240849877247435993871796657582629154326107915982278470991251614383240086326768292502353898331487096135713865289067844690225501581358707843 1996348585659346371373248067003668412263939259566294253720949890308806380694741314617967415611694403172647308372669646879151754526443641866000722652785996520068281914129988796661562492221927002822796934981979403281906264765920629206985476650230277432159410822317816117455230590650155837991629638908930626219129020132813750219295772203270326113774233334389397887160346625848702201877454969634251205852832531309403323727661738413838030771385532718167804683694326618407005144865628797352818701545627796531966910844668292875624928477637134405910009070345625941841037091118363626799967150528721182816276945500637171579721890191871850945270176424736220601089110190902079917791513091671698495174278252375281908470757343300016643907444311357336953305876581425549773828089754507749589927145586842766833478588680378161745058372431627798458604430200892198560619011210178562187040407151855290788795232170604388552408688800751801958283893605601841314426127579847049601665698778807468612864217904031386219302824503433665591848183014198125082758188088949798525113377281609125131311768758746085905180374267391178459611953279048353601554182969545521438160101335264666482870985192462311609074633405448148840656960164296597226624952253664321424114969709162079619518708138603893506093975466108130049440113110404349642399382181135054111129470636618637750854627082689224752391403626738903590701489080070100764437659327100289945214154400108910655500328283901227880554596155180710944988892406279114812860565507122997834298637383066792494294734792843367723911542131446674455090749328307641270736801812265794609072610431905717988693387959026300123977336299032219283499192036756367522348176181675705705528582371459775585163970499936871465202578755562333175824289176412987194573973375683041865524545236807979694291700726072423985048606215031517069248987726294071926171759985493166032892365820716203390954548012517582918090083558543908661464925197812769401112199160800886676260231948300549217164647800581019066872450671196603054575050439021453080615758708734252065464410243022908354876905911977952823286808751111657379946647278632304847524755523079041286888333836433855173384875835851335699449030236539520946279307669322561640037440016407564418270614629992363188017359406203660597476346398477822968568568711433706940231183850571515320952118702938056213967453966772978190028449564121202259832039356627664160368494334713651493330209755558042252717460324628353352921717834093276746998933929189702590509643057703119568033486490042219735216360008204073065377317535166821779334694217227711559524733984256759836580760859887501626373589243915279279352139072633210150718796247087601638361398764012483872187581146545892861581528054895602361609046522786835502315526838385600582834626550232997483010297095620342817879440536934373383662352795472653195293314150467663993201705125413195575282672699881669002110880785005120535187499194415142658396767993175496230211203831118893717164282189594984123909108639256388374491424924403572842782678217594717934973576833710886187309862510459219164206242714253462626924781351911922473332776249604 3230159864989603338352842770737894837999785365550162331548711594638330276059547344788901121372762336066495476228199576868274351736257459765549189252849269503086196582072221006091212935096190612465686008779996520023728463939203779171769092926171606082461911529650862413089194341339578596031664118331451716666401563334114464539482565071444912101602474947736400302366923734233734095998804755848956324948422417648151759757933788754258911823260285386058300069237337878766317525175628644629834795856259681435242185528775483335701609869908884478771122622818159969847950298608641288738118710723636708115968673310881431732702684007330011405853013886805057139661542345139422215118780012134878228831228440440694406910811297781063250915451340688522029632430348953799959566926411579850653264938963137247333935633904639465520793143242138371880353671622968477499050666770889523014899267841821175494762619265209688392068669755917182044882853953004158900393965841401830924152475152087606607409099302218863340842340479486809325357810339802120492923172931775993185780922603393092908786955300263226513073646014349248326716492052999566806730613185501751236301772880857690850663882985076577973763686796835239979283800216183655116127711821679919164658506103989333014803658470409878893216800574038156180471981165885861718536124284636388793831176802990339501949089475285038858408717236351307636016565356297836738778001820385179542640773808173851527182872774802413181218486317133147522601394708039457362022767406089734805312962292903158850036675089276683331591965164417510210443835345414979528008588065603298961874542755049461394716365283331156882471456590512682268338469629417688037214100847317744593920052369574581587583300140054815541497268214095002216178468869243944298965764234635992505708258129349238513345223705000697436313933639874549824318744489894879447090193409682412603854906947090840529271637719035340358685862274406289109065341672929474952025737661994338949854200317844770165267837667152964980310529538312927704356620512281366163795291163977362170061888453857053432561646496694443548243177816026923322917691912760705749839961421626115329527380282430459394030520316830963064928782867654412424667473504628393660646925963651019936456651206355147085451073759146106787776678678258650529943919876530256902765481041220571101084422644458971796184401193088274608624835650448188560835375040104886974383839632587547615505648553530140665344411193447173407233525607428696423186856334090354147530489837617711600663420863367507942038193270277571308133759769350640121693420765298521786202931362708173107738666043778004396804534555403834500248085149661622048851194886569629835795279913607596468582007762640746281029305526313560961512066877355287290102946878329003664203094392831575646739661427332577451943730538154422864047136179888328954910389556052925395269606915221453931301155040606647414936603703436251233990518429629921091639164923405871430595591704759971152705791922401176709149958516503824368363221581986201997108786133576996405964828448094126273636630802961573062537729810389176492213849196602147974914134957447 5226508450648949709726090837741563250263724625116456585269661484947136656754288659406868536984456739239142784600869223747426106262701101631549911905635266023154478496202209802752775427318117615288482943761975923305634728705124408378754569576401883514621322351968678530544424931989734434023293757240382342885530583466928214758778337274715238215376708282125798189527270360082436297876259725483207530801254948957555083485595527168096942594645818104226104752931664497173322670041257441982653497401887477967209096373443776211326538347546018884681131693163785911688987389727004915538085861252357890932245618811518603312424574199201862351123190311541277740750652536041502132910293103806576724005506692815976315381568641081079894822895652045858982938306930379349733395016166087600243192084549980014167414222585017627265851515673766170338958101823860676059669677981068085201939674993676466283557851435814076944477358556668984003166747558606000214820093421248880525818173930895075220273317206250249560145164982920474917205993354000245575681361020725791710894299885002218040098724059009312418254020281740426786328445332047920408284796155047272674461874216122357333534868177538889582838320202283388819940760380480252342752664075344240588773475813151412634322366609013772399310776040146286229912094276290211360935506465771442904960647439608977252803716557974263610800120863090211226718054436367937503215661147485469487854928208282762182683201058703641061773082472313858467590287114318572174883332913212732639611599675969951344331409882120051055503507295864184665534584673722620798745389877869093570947153186955179383409753242357457006448792889544901551837661666174055559562277028993450299448634741034357172747270639991687006699846969657335392002758045656931493539737610319034371232803366157218207636924431073121421362539854906066893567732216188951373261953395175578636747272767807043920226185731552923276775945832950197770530266870742244353137936822795225626114432266145319382432485467733984047182980209509530758931670951302819244411049872711614235526298696879961787438552408672396371529986567138580702864339191393010597364716944705156616415714118864314567415396152682298764377813104193933370946781173950955300684365980058584354727265836347510273468433165349767385253025076736473498512488587963963842996664891792086422036541347397028010151855159861252798653285214569390820667414396732551134752333967301199108835858309088182918061871518075526760155243441521973170185790263280056738040132895320831168696907353409727677254553278481644373511077304517461901028114982526233345727665346964932944319426903665506023178123799319113779600224222294832199569991133657231474156678677620080340769588909186639142610833581209163323121113400142122792418473716714604247037720943064573129749958522952920269823171075088796247709488975360982150203703706520589388471312040634649506583827740488316417047484488441371769178017624045063750035932916581367660806795535878864869870074111996160833059067155760212742854646506389774839891464351171714340938405281805012460946493313420792226743972524642639119138630548514070448246911207051 8456668315638553048078933608479458088263509990666618916818373079585466932813836004195769658357219075305638260829068800615700457998958561397099101158484535526240675078274430808843988362414308227754168952541972443329363192644328187550523662502573489597083233881619540943633619273329313030054957875571834059551932146801042679298260902346160150316979183229862198491894194094316170393875064481332163855749677366605706843243529315922355854417906103490284404822169002375939640195216886086612488293258147159402451281902219259547028148217454903363452254315981945881536937688335646204276204571975994599048214292122400035045127258206531873756976204198346334880412194881180924348029073115941454952836735133256670722292379938862143145738346992734381012570737279333149692961942577667450896457023513117261501349856489657092786644658915904542219311773446829153558720344751957608216838942835497641778320470701023765336546028312586166048049601511610159115214059262650711449970649082982681827682416508469112900987505462407284242563803693802366068604533952501784896675222488395310948885679359272538931327666296089675113044937385047487215015409340549023910763647096980048184198751162615467556602006999118628799224560596663907458880375897024159753431981917140745649126025079423651292527576614184442410384075442176073079471630750407831698791824242599316754752806033259302469208838099441518862734619792665774241993662967870649030495702016456613709866073833506054242991568789447005990191681822358029536906100319302467444924561968873110194368084971396734387095472460281694875978420019137600326753977943472392532821695942004640778126118525688613888920249480057583820176131295591743596776377876311194893368687110608938760330570780046502548197115183752337608181226914900875792505501844955026876941061495506456720982148136073818857676473494780616717886476706083830820352146804857991240602179714897884449497823450588263635461808107356486879595608543671719305163674484789564575968632583990089547700323134886949027493509747822458463288291463584185408206341036688976405588187150737015220000198905366839919773164383165504025782031104153716347204678366331271945943094401294773961445916469513261829306595971848345795614254678579348961331291943709604291183917042702657358919506924495874173029703754995124028456408464494220745762145933012657523120963991855999806336256352949527407278120865017579381502789436837438109136173599888746724341506862618323583406282711522700167388769048950669593372646597370410885570622732938542769360328216777235619292746548759215681644837073868102022721535747824755131930596709673106052058092947443510419982658354722948279848309371956454248421186020226861309951958591227676809351596671827385423640139107522724284633180277497410082521420595043607911240815335896148776489619950285497721766901613243219111756625155249311105114093262573514783740918955856103437884982781094963831984088191877623003168536053674984841675097839987239091402387240638836022575866034397337542209025672264037111217868088375976837000250484748710746903233729899138734583124116382365289281702335031815611352479745116218423161046164498 13683176766287502757805024446221021338527234615783075502088034564532603589568124663602638195341675814544781045429938024363126564261659663028649013064119801549395153574476640611596763789732425843042651896303948366634997921349452595929278232078975373111704556233588219474178044205319047464078251632812216402437462730267970894057039239620875388532355891511987996681421464454398606691751324206815371386550932315563261926729124843090452797012551921594510509575100666873112962865258143528595141790660034637369660378275663035758354686565000922248133386009145731793225925078062651119814290433228352489980459910933918638357551832405733736108099394509887612621162847417222426480939366219748031676842241826072647037673948579943223040561242644780239995509044209712499426356958743755051139649108063097275668764079074674720052496174589670712558269875270689829618390022733025693418778617829174108061878322136837842281023386869255150051216349070216159330034152683899591975788823013877757047955733714719362461132670445327759159769797047802611644285894973227576607569522373397528988984403418281851349581686577830101899373382717095407623300205495596296585225521313102405517733619340154357139440327201402017619165320977144159801633039972368400342205457730292158283448391688437423691838352654330728640296169718466284440407137216179274603752471682208294007556522591233566080008958962531730089452674229033711745209324115356118518350630224739375892549274892209695304764651261760864457781968936676601711789433232515200084536161644843061538699494853516785442598979756145879541513004692860221125499367821341486103768849128959820161535871768046070895369042369602485372013792961765799156338654905304645192817321851643295933077841420038189554896962153409673000183984960557807286045239455274061248173864861663674928619072567146940279039013349686683611454208922272782193614100200033569877349452482704928369724009182141186912237753940306684650125875414413963658301611307584790202083064850135408930132808602620933074676489957331989222219962414887004652617390909400590641114485847616977007438751314039236291303150950304084728646370295546726944569395311036428562358808520159088528861312622195560593684409076042279166561035852530304262015657923768188645911182879050167632387940089845641558282728831731597526968897052458184588758810824804743945157505339253027816488111512810780205931406079586970202170203833569989243888507567189945833177365171706506501468154229598226927544012490472642763558436860650467623610755628259373938057235570186963296547299827240860055155914378385563923749650730350988477658262056638038996377519851109016443160782154042062059448533594251286447991177153884092784108637268847757150121185581014024566250972688731887607754293677639532874939894311758212158278536278960721906239578473238417991590072688332015359466114130610293255317796969094104172212230996490752944468810521583280249031572680318994772346553677720048591711030756568606752209182776517700892445940146393498375268092828024249854072514594765751676891714835920425087841639011704151195529617429803157516025674859674454730491110293630288871407957371549 22139845081926055805883958054700479426790744606449694418906407644118070522381960667798407853698894889850419306259006824978827022260618224425748114222604337075635828652751071420440752152146734070796820848845920809964361113993780783479801894581548862708787790115207760417811663478648360494133209508384050461989394877069013573355300141967035538849335074741850195173315658548714777085626388688147535242300609682168968769972654159012808651430458025084794914397269669249052603060475029615207630083918181796772111660177882295305382834782455825611585640325127677674762862766398297324090495005204347089028674203056318673402679090612265609865075598708233947501575042298403350828968439335689486629678976959329317759966328518805366186299589637514621008079781489045649119318901321422502036106131576214537170113935564331812839140833505575254777581648717518983177110367484983301635617560664671749840198792837861607617569415181841316099265950581826318445248211946550303425759472096860438875638150223188475362120175907735043402333600741604977712890428925729361504244744861792839937870082777554390280909352873919777012418320102142894838315614836145320495989168410082453701932370502769824696042334200520646418389881573808067260513415869392560095637439647432903932574416767861074984365929268515171050680245160642357519878767966587106302544295924807610762309328624492868549217797061973248952187294021699485987202987083226767548846332241195989602415348725715749547756220051207870447973650759034631248695533551817667529460723613716171733067579824913519829694452216427574417491424711997821452253345764813878636590545070964460939661990293734684784289291849660069192189924257357542753115032781615840086186008962252234693408412200084692103094077337162010608365211875458683078550741300229088125114926357170131649601220703220759136715486844467300329340685628356613013966247004891561117951632197602812819221832632729450547699562047663171529721483958085682963465285792374354778051697434125498477833131737507882102169999705154447685508253878471190060823731946089567046702672998353992227438950219406076211076315333469588754428401399700443291774073677367700508301902921453862490307229091708822422991005047890624962175290531109653223346949867477792937095099921752824991307447014341515731312432586726721555425305516952405334520956757817401468278469331109027622824367865760307613209526944604549583672993270407427353024681167078692557518872034324830084874436941120927094932781539423312356931083458020878509181378361197916707417563786964198915840046376000075736800751452253665946471186478175743609588858766311145048435612798552526863143440508765010339296842966207740696412363174110954094060595860075433959472782252841409989891111796254611892387473955136942957461314906801820069519351614856870682729198423523915713356974301575234471222739285859604360431890231667618955953149952346856382353793302678244081015660872196617775515089731395033433386128596555845843611570017156536915021806180790835917477118500288286965290382683141728513891965320669135834744872741603289930112741546185522805307377194706270341843590038746507294569003536047 35823021848213558563688982500921500765317979222232769920994442208650674111950085331401046049040570704395200351688944849341953586522277887454397127286724138625030982227227712032037515941879159913839472745149869176599359035343233379409080126660524235820492346348795979891989707683967407958211461141196266864426857607336984467412339381587910927381690966253838191854737123003113383777377712894962906628851541997732230696701779002103261448443009946679305423972370336122165565925733173143802771874578216434141772038453545331063737521347456747859719026334273409467988787844460948443904785438432699579009134113990237311760230923017999345973174993218121560122737889715625777309907805555437518306521218785401964797640277098748589226860832282294861003588825698758148545675860065177553175755239639311812838878014639006532891637008095245967335851523988208812795500390218008995054396178493845857902077114974699449898592802051096466150482299652042477775282364630449895401548295110738195923593883937907837823252846353062802562103397789407589357176323898956938111814267235190368926854486195836241630491039451749878911791702819238302461615820331741617081214689723184859219665989842924181835482661401922664037555202550952227062146455841760960437842897377725062216022808456298498676204281922845899690976414879108641960285905182766380906296767607015904769865851215726434629226756024504979041639968250733197732412311198582886067196962465935365494964623617925444852520871312968734905755619695711232960484966784332867613996885258559233271767074678430305272293431972573453959004429404858042577752713586155364740359394199924281101197862061780755679658334219262554564203717219123341909453687686920485279003330813895530626486253620122881657991039490571683608549196836016490364595980755503149373288791218833806578220293270367699415754500194153983940794894550629395207580347204925130995301084680307741188945841814870637459937315987969856179847359372499646621766897099959144980134762284260907407965940340128815176846489662486436907728216293358194713441122855490157687817158845970969234877701533445312502379466283773673483074771695247170236343468988404129070660711441612951019168541713904383016675414123932904128736326383639957485362607791245981583006282800802992623695387104187157289595161418458319082394202569410589923279767582622145413435974670362055439312479378571087819140933024191519785843197103977416596913188734268638390696237206031336586342591170719154022476794029895955120489520318671346132792133989457290645474799357151162212387346203240935791956665830639229870220837208526732087247120822949184044813132649661543306304222662807072398745376560459027144403540327995046878169233128923191109593967833855434556142084484986499500141767632776475832401209218560032227797887893817592588968776896762333704947046989907249830688853416469897615749687200761723128165380948837609326822603824261524330047233552515612547861643409115082025097159353124452595820752793674237807467746327184334292745211328312536819362897277907480190783680156589560922586511753307441125642358975988680321333052054380725072334700332376796165976960907596 57962866930139614369572940555621980192108723828682464339900849852768744634332045999199453902739465594245619657947951674320780608782896111880145241509328475700666810879978783452478268094025893984636293593995789986563720149337014162888882021242073098529280136464003740309801371162615768452344670649580317326416252484405998040767639523554946466231026040995688387028052781551828160863004101583110441871152151679901199466674433161116070099873467971764100338369640005371218168986208202759010401958496398230913883698631427626369120356129912573471304666659401087142751650610859245767995280443637046668037808317046555985162910013630264955838250591926355507624312932014029128138876244891127004936200195744731282557606605617553955413160421919809482011668607187803797664994761386600055211861371215526350008991950203338345730777841600821222113433172705727795972610757702992296690013739158517607742275907812561057516162217232937782249748250233868796220530576577000198827307767207598634799232034161096313185373022260797845964436998531012567070066752824686299616059012096983208864724568973390631911400392325669655924210022921381197299931435167886937577203858133267312921598360345694006531524995602443310455945084124760294322659871711153520533480337025157966148597225224159573660570211191361070741656660039750999480164673149353487208841063531823515532175179840219303178444553086478227993827262272432683719615298281809653616043294707131355097379972343641194400277091364176605353729270454745864209180500336150535143457608872275405004834654503343825101987884189001028376495854116855864030006059350969243376949939270888742040859852355515440463947626068922623756393641476480884662568720468536325365189339776147765319894665820207573761085116827733694216914408711475173443146722055732237498403717576003938227821513973588458552469987038621284270135580178986008221546594209816692113252716877910554008167674447600088007636878035633027709568843330585329585232182892333499758186459718386405885799072077636697279016489367640884593236470171829384774264854801579724734519831844324961462316651752851388713455781617243262237503173094947613528117542665771829578962614363066813509475770805613205439666419171823529090911616914749610708709557658723774520101382722555817615002834118528673020907594005185040637819508086362995257800724340439546881714444001471083062136847244331395432350459968796069369516190374384843949937869901347330948215109240356166671217028111840081117409575569319267477420603776692224641973512350655207352892363144115361128227392579241011528757417282892895816692023686702475696835979589260329093248745448214070169447663171572082738042219526666767840815903502106000972229828988998625069066750086696844546033196281241111392529241587913418789862524125361852297317239508674463271697975320286249418304021291482484301911592702329501976181577432429342084118530901184465709176397126939768411062894424712230323376733140510115458483287949680298439432322810830774722489552507975170210222329828600823784653279961049208704675645477258696757331384494910731055755100522174203126640429249086995414178290371123303460545964443643 93785888778353172933261923056543480957426703050915234260895292061419418746282131330600499951780036298640820009636896523662734195305173999334542368796052614325697793107206495484515784035905053898475766339145659163163079184680247542297962147902597334349772482812799720201791078846583176410556131790776584190843110091742982508179978905142857393612717007249526578882789904554941544640381814478073348500003693677633430163376212163219331548316477918443405762342010341493383734911941375902813173833074614665055655737084972957432857877477369321331023692993674496610740438455320194211900065882069746247046942431036793296923140936648264301811425585144477067747050821729654905448784050446564523242721414530133247355246882716302544640021254202104343015257432886561946210670621451777608387616610854838162847869964842344878622414849696067189449284696693936608768111147921001291744409917652363465644353022787260507414755019284034248400230549885911273995812941207450094228856062318336830722825918099004151008625868613860648526540396320420156427243076723643237727873279332173577791579055169226873541891431777419534836001725740619499761547255499628554658418547856452172141264350188618188367007657004365974493500286675712521384806327552914480971323234402883028364620033680458072336774493114206970432633074918859641440450578332119868115137831138839420302041031055945737807671309110983207035467230523165881452027609480392539683240257173066720592344595961566639252797962677145340259484890150457097169665467120483402757454494130834638276601729181774130374281316161574482335500283521713906607758772937124608117309333470813023142057714417296196143605960288185178320597358695604226572022408155456810644192670590043295946380919440330455419076156318305377825463605547491663807742702811235386871692508794837744806041807243956157968224487232775268210930474729615403429126941414741823108553801558218295197113516262470725467574194023602883889416202703084976206999079992292644738321222002647313293765012417765512455862979030127321500964686465187579487705977657069882422336990690295930697194353286296701215835247901016935720577944790194783764461011654175958649623325804679764528644312519517588456341833295756433219647943298389568194072165449969756103107665523358810238698221222715830310502755423643359720213710655773585181080491923061692295150418671833138501449326622902483251491392992987589155359387478362260546851058635615969338911346446387503257559619282559235139886369599215222597910124095363570774765646340112497998367162501266523340614738782481947320714083113532125686912860895229207784083100412209513138061878097875613475751885834379155136787596087125794985219443830101047850399062117921816178660717920552279102175280766227610892671009220689894622263733343921884525115127402492055860666752217048583123251068281389734132600446118799399591931264633191065212283911850022075035999000951201292741110127977227842871238376549625197483580447302804751035253075604505012529957298835159504502967541156913360604016177238956688895459325633848257679917896248218172181397459498162883447973481303467720486512990703500099626522925351239 151748755708492787302834863612165461149535426879597698600796141914188163380614177329799953854519501892886439667584848197983514804088070111214687610305381090026364603987185278936994052129930947883112059933141449149726799334017261705186844169144670432879052619276803460511592450009198944862900802440356901517259362576148980548947618428697803859843743048245214965910842686106769705503385916061183790371155845357534629630050645324335401648189945890207506100711650346864601903898149578661823575791571012895969539435716400583801978233607281894802328359653075583753492089066179439979895346325706792915084750748083349282086050950278529257649676177070832575371363753743684033587660295337691528178921610274864529912853488333856500053181676121913825026926040074365743875665382838377663599477982070364512856861915045683224353192691296888411562717869399664404740721905623993588434423656810881073386628930599821564930917236516972030649978800119780070216343517784450293056163829525935465522057952260100464193998890874658494490977394851432723497309829548329537343932291429156786656303624142617505453291824103089190760211748662000697061478690667515492235622405989719485062862710534312194898532652606809284949445370800472815707466199264068001504803571428040994513217258904617645997344704305568041174289734958610640920615251481473355323978894670662935834216210896165040986115862197461435029294492795598565171642907762202193299283551880198075689724568305207833653075054041321945613214160605202961378845967456633937900912103003110043281436383685117955476269200350575510711996137638569770637764832288093851494259272741701765182917566772811636607553586357107802076991000172085111234591128623993136009382010366191061266275585260538029180161273146039072042378014258966837250889424866967624370096226370841683033863321217544616520694474271396552481066054908601411650673535624558515221806518436128849205281190710070813475211072059235911598985046033670305792231262884626144496507681721033719179564084495402209734879468397768206094201156637016964261970832458649607156856822534620892159511005039148089929291029518260197958081117885142397292578554319947788228585940167746578038120083325130793896008252467579962310559560213139178902781723108693530623209048245914627853701055341244503331410349428828400358033218742136580438881216263501239176864862673304221563586173867233878683841852961783658524875577852747104496788928536963300287126455686743669928776647394399316257295945168534490075330727872055795416739158690767705351259525645381884468842131361722958849471500396425021503604884581931683480919080001469842231310623546089683645199549005951237874829815613792562826035347332207048822628891106920441247727468007249123648208477047468722285200250808603313412126257469283736822432366911166519132364727537334832541555089572872218434512038821128901568112842065620407296402442751206540745175398078141061152173022401940073194615109690135312942063735252485049474685398415335787252446851343134674713189870985514184388669457200005897600134971111106954437249280743128903237152560020337086574613910552554715900691281074623403087068889794882 245534644486845960236096786668708942106962129930512932861691433975607582126896308660400453806299538191527259677221744721646248999393244110549229979101433704352062397094391774421509836165836001781587826272287108312889878518697509247484806317047267767228825102089603180713383528855782121273456934231133485708102472667891963057127597333840661253456460055494741544793632590661711250143767730539257138871159539035168059793426857487554733196506423808650911863053660688357985638810090954564636749624645627561025195172801373541234836111084651216133352052646750080364232527521499634191795412207776539162131693179120142579009191886926793559461101762215309643118414575473338939036444345784256051421643024804997777268100371050159044693202930324018168042183472960927690086336004290155271987094592925202675704731879888028102975607540992955601012002566093601013508833053544994880178833574463244539030981953387082072345672255801006279050209350005691344212156458991900387285019891844272296244883870359104615202624759488519143017517791171852879924552906271972775071805570761330364447882679311844378995183255880508725596213474402620196823025946167144046894040953846171657204127060722930383265540309611175259442945657476185337092272526816982482476126805830924022877837292585075718334119197419775011606922809877470282361065829813593223439116725809502356136257241952110778793787171308444642064761723318764446623670517242594732982523809053264796282069164266774472905873016718467285872699050755660058548511434577117340658366597133944681558038112866892085850550516512149993047496421160283677245523605225218459611568606212514788324975281190107832751159546645292980397588358867689337806613536779449946653574680956234357212656504700868484599237429464344449867841619806458501058632127678203011241788735165679427839905128461500774488918961504171820691996529638216815079800477039300338330360319994347144402394706972541538942785266082838795488401248736755281999230342876918789234828903723681032473329096913167722190742447427895527595165843102204543749676810115719489579193813224916822856705358325444791145126277419277133678659062675337181057039565974123746878209265972426342566764395844648382352350085763336395530207503511528747096853888558663286726316713769273438092399276563960333641913104852471760078246929397910165619961708186562931472015281345137360065035500490136361935333245954771247680234965331109365043639987172579269626037802133131173186336266676958551397182314767749712673240851967419366191504805030880203349626688146648407809456870144204906170185583509957147190517745477160891265002180413679355369372501643965297120951434840330393011617411700918357811254791162308096673027953224842257426388185927801402750383757813696333177871260029293208034389990813205621347547494313658574993031479754383415664806157854261952567112484939928301160044106698811472508686354601228615781174399029342353893283150379167916065853486239760510425644182555289800509938474019840799782404150178294179216157412142427544992685634438962586495594296744955212117167176991347075418550019518499970022587391856022436387204271778123502713591815146121 397283400195338747538931650280874403256497556810110631462487575889795745507510485990200407660819040084413699344806592919629763803481314221763917589406814794378427001081577053358503888295766949664699886205428557462616677852714770952671650486191938200107877721366406641224975978864981066136357736671490387225361835244040943606075215762538465113300203103739956510704475276768480955647153646600440929242315384392702689423477502811890134844696369698858417963765311035222587542708240533226460325416216640456994734608517774125036814344691933110935680412299825664117724616587679074171690758533483332077216443927203491861095242837205322817110777939286142218489778329217022972624104641121947579600564635079862307180953859384015544746384606445931993069109513035293433962001387128532935586572574995567188561593794933711327328800232289844012574720435493265418249554959168988468613257231274125612417610883986903637276589492317978309700188150125471414428499976776350680341183721370207761766941822619205079396623650363177637508495186023285603421862735820302312415737862190487151104186303454461884448475079983597916356425223064620893884504636834659539129663359835891142266989771257242578164072962217984544392391028276658152799738726081050483980930377258965017391054551489693364331463901725343052781212544836080923281681081295066578763095620480165291970473452848275819779903033505906077094056216114363011795313425004796926281807360933462871971793732571982306558948070759789231485913211360863019927357402033751278559278700137054724839474496552010041326819716862725503759492558798853447883288437513312311105827878954216553507892847962919469358713133002400782474579359039774449041204665403443082662956691322425418478932089961406513779398702610383521910219634065425338309521552545170635611884961536521110873768449679045391009613435775568373173062584546818226730474012663858853552166838430475993607675897682612352417996338142074707087386294770425587791461605761544933731336585444714751652893181408569931925621915825663733689366999739221508011647642574369096736050635759537715016216363364592881074417306937537331636740180560479578349618120294071535106795206140172920604884479169779176248358338230916357840767063724667925999635611667356817349525762015188065946100331905204836973323454281300160436280148140046746058842924450064170648880144018441581628621674357370240619175098916554906205110543183856469540428915709542569913164257819874843115112914071357867654478259936284202748571579839475161608243963721647908700886213792030292278299001505927865019657083906382168694122630059092574745921260415149197600683125190054980766150983846281630886447227314710920637290138494515145495656844331762698674115653935050526398592234861165055463071510837896521446516248282489358169979861224825094125396207291718248206361247427134171001624523761057202728156948764431879805088797352435156526349797107483415045456172781107989260468595929895823367707917807774849984623872435176587034851001521428853929347283127941729381355091638968484095729267856062166554416457734475978655702579538837056597201302408577152287895552852746905800660704941003 642818044682184707775028436949583345363459686740623564324179009865403327634406794650600861467118578275940959022028337641276012802874558332313147568508248498730489398175968827780013724461602951446287712477715665775506556371412280200156456803239205967336702823456009821938359507720763187409814670902623872933464307911932906663202813096379126366756663159234698055498107867430192205790921377139698068113474923427870749216904360299444868041202793507509329826818971723580573181518331487791097075040862268018019929781319147666271650455776584327069032464946575744481957144109178708363486170741259871239348137106323634440104434724132116376571879701501451861608192904690361911660548986906203631022207659884860084449054230434174589439587536769950161111292985996221124048337391418688207573667167920769864266325674821739430304407773282799613586723001586866431758388012713983348792090805737370151448592837373985709622261748118984588750397500131162758640656435768251067626203613214480058011825692978309694599248409851696780526012977195138483346415642092275087487543432951817515552068982766306263443658335864106641952638697467241090707530583001803586023704313682062799471116831980172961429613271829159803835336685752843489892011252898032966457057183089889040268891844074769082665583099145118064388135354713551205642746911108659802202212346289667648106730694800386598573690204814350719158817939433127458418983942247391659264331169986727668253862896838756779464821087478256517358612262116523078475868836610868619217645297270999406397512609418902127177370233374875496806988979959137125128812042738530770717396485166731341832868129153027302109872679647693762872167717907463786847818202182893029316531372278659775691588594662274998378636132074727971778061253871883839368153680223373646853673696702200538713673578140546165498532397279740193865059114185035041810274489703159191882527158424823138010070604655153891360781604224913502575787543507180869790691948638463722966165489168395784126222278321737654116364363253559261284532842841426051761324452690088586315244448984454537872921721690037672219543584356814465315399243235816759406657686268195281985004472112599263171648875014427558600708423994252753370974567236196673096489500226020104075842475784461504038499608469165170615236559133771920514527077537956911678804632636627102120895425363578941693657174847506602554508344871326153885345508514965834584068902882121839539202059953006016301449180748316419051660574704033915421812431806894527799748768752528112050512901938678700087755871650132771189842667416339315884640375536253466010923440828828552970055626834020277887102418686612023898064639015629278448544929656823242168684797556604956100503839862851929148975992674861388640942770867189729480906239095694979517527355538483669118427687046101663871167405281396123568737008700985503888201055463243352313775151953663772307524196136825768938739323160275905326322082169656333793352100363064650494562346455017386817255151699723033145504695270369274374040726077931070591323564601017378671583634725823054074252599057337026619788694264599588675099824630870408514252520087124 1040101444877523455313960087230457748619957243550734195786666585755199073141917280640801269127937618360354658366834930560905776606355872554077065157915063293108916399257545881138517612757369901110987598683144223238123234224127051152828107289431144167444580544822416463163335486585744253546172407574114260158826143155973850269278028858917591480056866262974654566202583144198673161438075023740138997355790307820573438640381863111335002885899163206367747790584282758803160724226572021017557400457078908475014664389836921791308464800468517438004712877246401408599681760696857782535176929274743203316564581033527126301199677561337439193682657640787594080097971233907384884284653628028151210622772294964722391630008089818190134185972143215882154180402499031514558010338778547221143160239742916337052827919469755450757633208005572643626161443437080131850007942971882971817405348037011495763866203721360889346898851240436962898450585650256634173069156412544601747967387334584687819778767515597514773995872060214874418034508163218424086768278377912577399903281295142304666656255286220768147892133415847704558309063920531861984592035219836463125153367673517953941738106603237415539593686234047144348227727714029501642691749978979083450437987560348854057659946395564462446997047000870461117169347899549632128924427992403726380965307966769832940077204147648662418353593238320256796252874155547490470214297367252188585546138530920190540225656629410739086023769158238045748844525473477386098403226238644619897776923997408054131236987105970912168504189950237601000566481538757990573012100480251843081823224364120947895340760977115946771468585812650094545346747076947238235889022867586336111979488063601085194170520684623681512158034834685111493688280887937309177677675232768544282465558658238721649587442027819591556508145833055308567038121698731853268540748502367018045434693996855299131617746502337766243778777942366988209663173838277606457582153554400008656697502074613110535779115459730307586041986279079222994973899842580647559772972095264457683051295084743992252889138085054630553293960891294351796952139423796296337756275806562266817091799678252772183776533354184206734849066762225169111211741630960864599096125111893376921425368237799649569984599940374370007588560013415072080950807225678003657737647557086691272769775569382020523322278849204876843173683443787881060090456051698822304124497818591664409452366317772880859416562094819674286706138834640318118170384011646369689407992732474176020751399115730708992366054873156060636209499751322721484578763005595346040756844701243977750570738752024075258653253402532893654784511866330340199085835068151338387664341641888367654774619493797902455547568227536026444104014281705086250927422487378184337687507216763308763243823894337819912077528652708530294570361532462042706616358004227675232118863949306098928833873993244309183984195495941383894586790678099552157161060018170839500479186218890193973852106153221151887074851978398311003755395817716899554687052832457079545226000092460299032729955178596174083216989996673176740962995377483617314314913225028127 1682919489559708163088988524180041093983416930291357760110845595620602400776324075291402130595056196636295617388863268202181789409230430886390212726423311791839405797433514708918531337218972852557275311160859889013629790595539331352984564092670350134781283368278426285101694994306507440955987078476738133092290451067906756932480841955296717846813529422209352621700691011628865367228996400879837065469265231248444187857286223410779870927101956713877077617403254482383733905744903508808654475497941176493034594171156069457580115256245101765073745342192977153081638904806036490898663100016003074555912718139850760741304112285469555570254537342289045941706164138597746795945202614934354841644979954849582476079062320252364723625559679985832315291695485027735682058676169965909350733906910837106917094245144577190187937615778855443239748166438666998281766330984596955166197438842748865915314796558734875056521112988555947487200983150387796931709812848312852815593590947799167877790593208575824468595120470066571198560521140413562570114694020004852487390824728094122182208324268987074411335791751711811200261702617999103075299565802838266711177071987200016741209223435217588501023299505876304152063064399782345132583761231877116416895044743438743097928838239639231529662630100015579181557483254263183334567174903512386183167520313059500588183934842449049016927283443134607515411692094980617928633281309499580244810469700906918208479519526249495865488590245716302266203137735593909176879095075255488516994569294679053537634499715389814295681560183612476497373470518717127698140912522990373852540620849287679237173629106268974073578458492297788308218914794854702022736841069769229141296019435879744969862109279285956510536670966759839465466342141809193017045828912991917929319232354940922188301115605960137722006678230335048760903180812916888310351022992070177237317221155280122269627817106992920135139559546591901712238961381784787327372845503038472379663667563781506319905337738052045240158350642332782256258432685422073611534296547954546269366539533728446790762059806744668225513504475651166262267538667032113097162933492830462099076804150365371446948182229198634293449775186219421864582716198197061272192614612119397025501210713584111074023099548843535178203796572548844001465334303215960569416452189723318374890670994745599465015936024052383445728191788659207213975801560213788138708566721473786248991568377725886875718011275567990705757799409344352033592196443453264217207741501226704132801912017669387692453810744806193407399342418739060800463403381131599506767768142072806303540794378858095536540355821219505678682576505345969477534379997808161629833026439444972610875123333660754384696544220210887832744957052572275980408328726473879317205034572301792432362251581383921575948696057989926418139098541163028210504559059690918584432639101259762701141398189381134952922934819101659799913112760269208490954412118533904150973748565345211360669361304920874920220356673668680278129436543794830625278376397058096923897583727186122086804207777653511109836778690937776329638095202114487722829165745115251 2723020934437231618402948611410498842603374173842091955897512181375801473918241355932203399722993814996650275755698198763087566015586303440467277884338375084948322196691060590057048949976342753668262909844004112251753024819666382505812671382101494302225863913100842748265030480892251694502159486050852393251116594223880607201758870814214309326870395685184007187903274155827538528667071424619976062825055539069017626497668086522114873813001119920244825407987537241186894629971475529826211875955020084968049258560992991248888580056713619203078458219439378561681320665502894273433840029290746277872477299173377887042503789846806994763937194983076640021804135372505131680229856242962506052267752249814304867709070410070554857811531823201714469472097984059250240069014948513130493894146653753443969922164614332640945570823784428086865909609875747130131774273956479926983602786879760361679181000280095764403419964228992910385651568800644431104778969260857454563560978282383855697569360724173339242590992530281445616595029303631986656882972397917429887294106023236426848864579555207842559227925167559515758570766538530965059891601022674729836330439660717970682947330038455004040616985739923448500290792113811846775275511210856199867333032303787597155588784635203693976659677100886040298726831153812815463491602895916112564132828279829333528261138990097711435280876681454864311664566250528108398847578676751768830356608231827108748705176155660234951512359403954348015047663209071295275282321313900108414771493292087107668871486821360726464185750133850077497939952057475118271153013003242216934363845213408627132514390083384920845047044304947882853565661871801940258625863937355565253275507499480830164032629963909638022694705801444950959154623029746502194723504145760462211784791013179643837888557633779729278514824063390357327941302511648741578891771494437195282751915152135421401245563609330686378918337488958889921902135220062393784954999057438481036361169638394616855684453197782352826200336921412005251232332528002721171307268643219003952417834618472439043651197891799298778807465366945518059219678090828409434919209299392728916168603828618143630724715583382841028298841948444590975794457829157925871288739724012773946926578951383760644007699489217905185792356585963916082416141528893964227154099746810009647660446564127619988338214873257260288901875232447088274066257611912610442833064540065450658443934695498767735134573370387664992463938243984670151762580455099633906615734233700880153553311133400096684819865617962254043608842170061782285042166386726945547524612843316784054111533130882170795193609223752399333467088371676309676620215065959500017497368081333340265649742827458656840244112447746914276848971334277362231335751213852063654892541789065101195606075475721741488026224710698456712709460073625070917120917063918593816551503050565861629975272182625444136907130315043043694499903438368760648115472136704743651452934784235405334521467458142026807295208652066991281884832361511730179965429229515176469123583819646421119534162956249685193053768687610953070601090579598105037144078970143378 4405940423996939781491937135590539936586791104133449716008357776996403874694565431223605530318050011632945893144561466965269355424816734326857490610761686876787727994124575298975580287195315606225538221004864001265382815415205713858797235474771844437007147281379269033366725475198759135458146564527590526343407045291787364134239712769511027173683925107393359809603965167456403895896067825499813128294320770317461814354954309932894744740103076634121903025390791723570628535716379038634866351452961261461083852732149060706468695312958720968152203561632355714762959570308930764332503129306749352428390017313228647783807902132276550334191732325365685963510299511102878476175058857896860893912732204663887343788132730322919581437091503187546784763793469086985922127691118479039844628053564590550887016409758909831133508439563283530105657776314414128413540604941076882149800225722509227594495796838830639459941077217548857872852551951032228036488782109170307379154569230183023575359953932749163711186113000348016815155550444045549226997666417922282374684930751330549031072903824194916970563716919271326958832469156530068135191166825512996547507511647917987424156553473672592541640285245799752652353856513594191907859272442733316284228077047226340253517622874842925506322307200901619480284314408075998798058777799428498747300348592888834116445073832546760452208160124589471827076258345508726327480859986251349075167077932734026957184695681909730817000949649670650281250800944665204452161416389155596931766062586766161206505986536750540759867310317462553995313422576192245969293925526232590786904466062696306369688019189653894918625502797245671161784576666656642281362705007124794394571526935360575133894739243195594533231376768204790424620965171555695211769333058752380141104023368120566026189673239739867000521502293725406088844483324565629889242794486507372520069136307415543670873380716323606514057897035550791634141096601847181112327844560476953416024837202176123175589790935834398066358687563744787507490765213424794782841565191173550221784374152200885834413257698543967004320969842596684321487216757860522532082142792223191015245407978983515077672897812581475321748617134664012840377174027354987143481354336132170972427789664967871718030799038061440363996153158512760083881475832109924796570551936533328022551117558873219453354150897309643734630067021106295488042059172126398581541631261539236907435503073224654610852584645955655698221737653329022185354776898552898123823475734927584286355223151069484377273676362768447451008184588800843085505569767858545054292380985389590357652327509740266331733965044971905012149664877022279154154595063767661647330394520778312876524866161119411224940656667957802109593928386849638211744079940325942972097576361366893627968327057105663063974920768688383130848558614788099127625476123609512400984142151825624331116670372006579089830065134144703494413016198637969139069884255238647802426683349580616695190828763062901727515565325735671560014268905306560805243805626573273393021167546832543206338370733903196302890547378548729400239185781712592759973244715258629 7128961358434171399894885747001038779190165277975541671905869958372205348612806787155808930041043826629596168900259665728356921440403037767324768495100061961736050190815635889032629237171658359893801130848868113517135840234872096364609906856873338739233011194480111781631755956091010829960306050578442919594523639515667971335998583583725336500554320792577366997507239323283942424563139250119789191119376309386479440852622396455009618553104196554366728433378328964757523165687854568461078227407981346429133111293142051955357275369672340171230661781071734276444280235811825037766343158597495630300867316486606534826311691979083545098128927308442325985314434883608010156404915100859366946180484454478192211497203140393474439248623326389261254235891453146236162196706066992170338522200218343994856938574373242472079079263347711616971567386190161258545314878897556809133403012602269589273676797118926403863361041446541768258504120751676659141267751370027761942715547512566879272929314656922502953777105530629462431750579747677535883880638815839712261979036774566975879937483379402759529791642086830842717403235695061033195082767848187726383837951308635958107103883512127596582257270985723201152644648627406038683134783653589516151561109351013937409106407510046619482981984301787659779011145561888814261550380695344611311433176872718167644706212822644471887489036806044336138740824596036834726328438663003117905523686164561135705889871837569965768513309053624998296298464153736499727443737703055705346537555878853268875377473358111267224053060451312631493253374633667364240446938529474807721268311276104933502202409273038815763672547102193554015350238538458582539988568944480359647847034434841405297927369207105232555926082569649741383775588201302197406492837204512842352888814381300209864078230873519596279036326357115763416785785836214371468134565980944567802821051459550965072118944325654292892976234524509681556043231821909574897282843617915434452386006840570740031274244133616750892559024485156792758723097741427515954148833834392554174202208770673324878064455590343265783128435209542202380706894848688931967001352091615919931414011807601658708397613395964316350047459083108603816171631856512913014770094060144944919354368616351632362038498527279345549788509744476676166297617361003889023724651683343337670211564123000839441692365770566904023531942253553383762108316784039009024374695801604687565879437768723422345987158016343320690685675897313692337117357353652532030439209968628464439908534284469581062093541980730701494617026758862625370547736154585490601816993828706374411763860640622437126927574268724304345616753248698588830774810129727161664827762602111653142174608988578068065184769115704716386442899721127000443079831154178006626990118150431994823574402532827404552001145479386839843558018688413170044746393187528106217535645202391485961091942554632023226737195449187747188912919637006729787185356391943391453879618133816022029712296221204928534810773977802662841899101266818290985209234856088449862144751366478964325872533690152881495944316066159682470840276361310697797117323685402007 11534901782431111181386822882591578715776956382108991387914227735368609223307372218379414460359093838262542062044821132693626276865219772094182259105861748838523778184940211188008209524366973966119339351853732114782518655650077810223407142331645183176240158475859380814998481431289769965418452615106033445937930684807455335470238296353236363674238245899970726807111204490740346320459207075619602319413697079703941255207576706387904363293207273188488631458769120688328151701404233607095944578860942607890216964025291112661825970682631061139382865342704089991207239806120755802098846287904244982729257333799835182610119594111360095432320659633808011948824734394710888632579973958756227840093216659142079555285335870716394020685714829576808038999684922233222084324397185471210183150253782934545743954984132152303212587702910995147077225162504575386958855483838633691283203238324778816868172593957757043323302118664090626131356672702708887177756533479198069321870116742749902848289268589671666664963218530977479246906130191723085110878305233761994636663967525897524911010387203597676500355359006102169676235704851591101330273934673700722931345462956553945531260436985800189123897556231522953804998505141000230590994056096322832435789186398240277662624030384889544989304291502689279259295459969964813059609158494773110058733525465607001761151286655191232339697196930633807965817082941545561053809298649254466980690764097295162663074567519479696585514258703295648577549265098401704179605154092211302278303618465619430081883459894861807983920370768775185488566797209859610209740864055707398508172777338801239871890428462692710682298049899439225177134815205115224821351273951605154042418561370201980431822108450300827089157459337854531808396553372857892618262170263265222493992837749420775890267904113259463279557828650841169505630269160780001357377360467451940322890187766966508742992325041977899407034131560060473190184328423756756009610688178392387868410844042746863206864035069451148958917712048901580266213862954852310736990399025566104395986582922874210712477713288887232787449405052138886702194111606549454499083494883839110946659419786585173786070511208545791671796076217772616656548805883867900158251448396277115891782158281319504080069297565340785913784662902989436250179093193113813820295203619876665692762681681874058895046516667876547758162009274659679250150375956165407605916327063143924473314940841948076956839742662298976388907413550642714522472134252205430154262685703556048726263757435539065439367218343499148945625211347663468456053305922444035656109374814095964769416188150362703458661539313696209357766418125720867984929405193494823312158157122889966018699475149697479290125425783662518496036828107976638654823911094503949599087694511798888451542729589933067615976066248075222974406577303201269172371869311137618618519787354217110292208612926638602316567260583332450683325935835644698926255240647182039256306301483396638724903124984267830262326339303538334401913370172124851790453040482661723255165918913311507532210904424056077798834863444708411871079462143023290557090568400660636 18663863140865282581281708629592617494967121660084533059820097693740814571920179005535223390400137664892138230945080798421983198305622809861507027600961810800259828375755847077040838761538632326013140482702600228299654495884949906588017049188518521915473169670339492596630237387380780795378758665684476365532454324323123306806236879936961700174792566692548093804618443814024288745022346325739391510533073389090420696060199102842913981846311469742855359892147449653085674867092088175557022806268923954319350075318433164617183246052303401310613527123775824267651520041932580839865189446501740613030124650286441717436431286090443640530449586942250337934139169278318898788984889059615594786273701113620271766782539011109868459934338155966069293235576375379458246521103252463380521672454001278540600893558505394775291666966258706764048792548694736645504170362736190500416606250927048406141849391076683447186663160110632394389860793454385546319024284849225831264585664255316782121218583246594169618740324061606941678656709939400620994758944049601706898643004300464500790947870583000436030147001092933012393638940546652134525356702521888449315183414265189903638364320497927785706154827217246154957643153768406269274128839749912348587350295749254215071730437894936164472286275804476939038306605531853627321159539190117721370166702338325169405857499477835704227186233736678144104557907537582395780137737312257584886214450261856298368964439357049662354027567756920646873847729252138203907048891795267007624841174344472698957260933252973075207973431220087816981820171843526974450187802585182206229441088614906173374092837735731526445970597001632779192485053743573807361339842896085513690265595805043385729749477657406059645083541907504273192172141574160090024755007467778064846881652130720985754346134986779059558594155007956932922416054996994372825511926448396508125711239226517473815111269367632192300010366084570154746227560245666330906893531796307822320796850883317603238138279203067899851476736534058373024936960696279826691139232859958658570188791693547535590542168879230498570577840261681089082901006455238386466084846975455030878073431594186832494468124604510108021843535300881220472720437740380813173021542456422060811136526897671136442107796092620131463573172647466112416476710554117702844019855303220003362974245804874898336738882438443451781693951528213063012258692740204416630291022864748612039194378610671499302826900678642297079593089447956406859589491605857962184701895672184513166172291720008646501460760324229850440242238106526093826601042077029526257926368642802339181180048790985140585589113582420513703383171374419456815704215323221984976985919725001619160874084138275547355310194899367234882479727829103639097903742248681956226077812662230883275117132122760472167977211727462062817964595991614439217118262498665724836055432556608596253300555481270625543304456032520197872238855472651428713440597039125430710185919617212660754615421205472758797137113281340997243812471438943142775662275338750173117310670279790471858083438114208959294779179510868094341919738504333988354207892086062643 30198764923296393762668531512184196210744078042193524447734325429109423795227551223914637850759231503154680292989901931115609475170842581955689286706823559638783606560696058265049048285905606292132479834556332343082173151535027716811424191520163705091713328146198873411628718818670550760797211280790509811470385009130578642276475176290198063849030812592518820611729648304764635065481553401358993829946770468794361951267775809230818345139518742931343991350916570341413826568496321782652967385129866562209567039343724277279009216734934462449996392466479914258858759848053336641964035734405985595759381984086276900046550880201803735962770246576058349882963903673029787421564863018371822626366917772762351322067874881826262480620052985542877332235261297612680330845500437934590704822707784213086344848542637547078504254669169701911126017711199312032463025846574824191699809489251827223010021985034440490509965278774723020521217466157094433496780818328423900586455780998066684969507851836265836283703542592584420925562840131123706105637249283363701535306971826362025701958257786598112530502360099035182069874645398243235855630637195589172246528877221743849169624757483727974830052383448769108762641658909406499865122895846235181023139482147494492734354468279825709461590567307166218297602065501818440380768697684890831428900227803932171167008786133026936566883430667311952070374990479127956833947035961512051866905214359151461032039006876529358939541826460216295451396994350539908086654045887478309903144792810092129039144393147834883191893801988863002470386969053386584659928666640889604737613865953707413245983266198424237128268646901072004369619868948689032182691116847690667732684157175245366161571586107706886734241001245358805000568694947017982643017177731043287340874489880141761644614039100038522838151983658798102428046324157774374182889286915848448448601426993483982558103594409610091707044497644630627936411888669423086916504219974700210189207694926064466445002314272519048810394448582959953291150823651132137428129631885524762966175374616421746303019882168117731358027245313819975785095118061787840965168341859294141824732851380772006280538635813055899693639611518653837129269243624248713331272990852699176702918685178990640522177093657960917377357835550455548666655803747231516664315058923096669055736927486748957231785399106319999539855960802872742262409068696369824236207349927892536512509319452619576259666643340941273468500502998599121382061625858063392338964581375740561892436049155547711940827978667728999385867449454189562282654347999473561914035743456898303950596236941347844044250652896116723061149589500140324800633620516716808289144076847891585179573559287973026645435620683029753378516555937080277752727653343185905825165507174029771726659861712693539783953277975537285792371173294815708389490131809803343454575219910825706545509168407909227859871716615852648555564791308296127639695837686307469966492221100609299479518546189740589059463452584879331645725841611067994566115315821411896372476589193101979390294342538265037093614042955576506212999200647357278911298460486723279 48862628064161676343950240141776813705711199702278057507554423122850238367147730229449861241159369168046818523934982729537592673476465391817196314307785370439043434936451905342089887047444238618145620317258932571381827647419977623399441240708682227007186497816538366008258956206051331556175969946474986177002839333453701949082712056227159764023823379285066914416348092118788923810503899727098385340479843857884782647327974912073732326985830212674199351243064019994499501435588409958209990191398790516528917114662157441896192462787237863760609919590255738526510279889985917481829225180907726208789506634372718617482982166292247376493219833518308687817103072951348686210549752077987417412640618886382623088850413892936130940554391141508946625470837672992138577366603690397971226495161785491626945742101142941853795921635428408675174810259894048677967196209311014692116415740178875629151871376111123937696628438885355414911078259611479979815805103177649731851041445253383467090726435082860005902443866654191362604219550070524327100396193332965408433949976126826526492906128369598548560649361191968194463513585944895370380987339717477621561712291486933752807989077981655760536207210666015263720284812677812769139251735596147529610489777896748707806084906174761873933876843111643157335908671033672067701928236875008552799066930142257340572866285610862640794069664403990096174932898016710352614084773273769636753119664621007759401003446233579021293569394217136942325244723602678111993702937682745317527985967154564827996405326400807958399867233208950819452207140896913559110116469226071810967054954568613586620076103934155763574239243902704783562104922692262839544030959743776181422949752980288751891321063765112946379324543152863078192740836521178072667772185198821352187756142010862747398960174086817582396746138666755035350462379154768747008401213364244956574312666220001456373214863777242284007054863729200782682639448915089417823397751771008032510004545809382069683140593475586948661871185117018326316087784347411964119268864745483421536364166309969281893562051047348229928605085575501064867996124517026227431253188834749172702806282974958838775006760417566007715483146819535057601989681364629526504294533309121237514055212076661776964284889750581048840931008197921661083132514301349219508334914226316672418711173291623855568524281544763451321549912331085805274667761436574240866498372792641148551703698063291075562493544019583570548093592446555528241651117463921354523666477047925075058608340875556358442288738991958849826109687560715656109255390076503088171962112099700643131776285732332984629839766478537236764532760874559781616337835839938793266129996572893204340447643426248574000745815582396988260996283766183916850631395591867862051243319836260655001776993835454011951930489702999348610335769286430147606608394308469068290630652467434302798809723889179853403176172648372846427803646780947556353136434725432900676678140717821960234133967395213347856600565866220328889538313050011137341777591160162069489787259472892451248377780652473996388393222466444600554918939151691267265506352572785922 79061392987458070106618771653961009916455277744471581955288748551959662162375281453364499091918600671201498816924884660653202148647307973772885601014608930077827041497147963607138935333349844910278100151815264914464000798955005340210865432228845932098899825962737239419887675024721882316973181227265495988473224342584280591359187232517357827872854191877585735028077740423553558875985453128457379170426614326679144598595750721304550672125348955605543342593980590335913328004084731740862957576528657078738484154005881719175201679522172326210606312056735652785369039738039254123793260915313711804548888618458995517529533046494051112455990080094367037700066976624378473632114615096359240039007536659144974410918288774762393421174444127051823957706098970604818908212104128332561931317869569704713290590643780488932300176304598110586300827971093360710430222055885838883816225229430702852161893361145564428206593717660078435432295725768574413312585921506073632437497226251450152060234286919125842186147409246775783529782390201648033206033442616329109969256947953188552194864386156196661091151721291003376533388231343138606236617976913066793808241168708677601977613835465383735366259594114784372482926471587219269004374631442382710633629260044243200540439374454587583395467410418809375633510736535490508082696934559899384227967157946189511739875071743889577360953095071302048245307888495838309448031809235281688620024878980159220433042453110108380233111220677353237776641717953218020080356983570223627431130759964656957035549719548642841591761035197813821922594109950300143770045135866961415704668820522320999866059370132580000702507890803776787931724791640951871726722076591466849155633910155534118052892649872819833113565544398221883193309531468196055310789362929864639528630631891004509043574213186856105234898122325553137778508703312543121191290500280093405022914093213485438931318458186852375714099361373831410619051337584512504739901971745708242699212240735446536128142907748105997472265633699978279607238607998544101547398496631008184502539540926391028196581933215465961286632330889321040653091242578814068396421530694043314527539134355730845055545396230621907409122758338188894731258924988878239835567524161820414216973897255652417486461983408541966218288843748377209749788318048580736172649973149413341474448100778372812800309680651083450861405873133958547537076830132944065102705722720533685064213017515910651822160187360524844016594095445154649623712743321984746862631058423665636951044390031104070383116717659687849211977137014905218391909738075976650085997855556598947082372522673680828674090419374653959825682350374700106416971456356655601555274073420784789520021202714221600646181436265426741639512839703264194603359048935053767876408827010290426728436855548147551735883767678536634402706942581245855996098526118272411745205872378260009344318892297089081263047889264225494983368438089243683992832272411740370643170361818431259713652513584953936916064018451099660535264154661079131907892906981573965862263848665994430638672123190739033482007265422021106767918139799048546176804813059509201 127924021051619746450569011795737823622166477446749639462843171674809900529523011682814360333077969839248317340859867390190794822123773365590081915322394300516870476433599868949228822380794083528423720469074197485845828446374982963610306672937528159106086323779275605428146631230773213873149151173740482165476063676037982540441899288744517591896677571162652649444425832542342482686489352855555764510906458184563927245923725633378282999111179168279742693837044610330412829439673141699072947767927447595267401268668039161071394142309410189971216231646991391311879319628025171605622486096221438013338395252831714135012515212786298488949209913612675725517170049575727159842664367174346657451648155545527597499768702667698524361728835268560770583176936643596957485578707818730533157813031355196340236332744923430786096097940026519261475638230987409388397418265196853575932640969609578481313764737256688365903222156545433850343373985380054393128391024683723364288538671504833619150960722001985848088591275900967146134001940272172360306429635949294518403206924080015078687770514525795209651801082482971570996901817288033976617605316630544415369953460195611354785602913447039495902466804780799636203211284265032038143626367038530240244119037940991908346524280629349457329344253530452532969419407569162575784625171434907937027034088088446852312741357354752218155022759475292144420240786512548662062116582509051325373144543601166979834045899343687401526680614894490180101886441555896132074059921252968944959116727119221785031955045949450799991628268406764641374801250847213702880161605093033226671723775090934586486135474066735764276747134706481571493829714333214711270753036335243030578583663135822869944213713637932779492890087551084961386050367989374127978561548128685991716386773901867256442534387273673687631644260992308173128971082467311868199691713644338361597226759433486895304533321964094659721154225103032193301690786499601922563299723516716275209216786544828605811283501223692946134136818816996605923326392345956065666667361376491606038903707236360310090143984262814191215237416464822105521087367095840295827674719528792487230345417330689683830552156648187915124605905157723952333248606353507766339862057470941651731029109332314194450746873159123015059219851946298870832920832349929955680984887375730013893159274069996668368833962195846902182955785465044352811744591569518305969204095513174833615916715579201727384653731380108414564687687891710177865363860785906101386297535471590712009652730906660428825405456651646699038086824575620874501165128152479738257959967656299590214148808406013813303930185853191196590215111249259888033309292196594394821404069993677993860468846140470174646927251847823729900509123469448111453990444526921629927652146846551081730213849383601563687814257381535983013042711867676003602706920426741480035836524845694312143128616186268934666224061912598341411172084870191240345968707137173271319848502536253219947786480980167284772664584317319989424802467711090269249670498141736035352051108138886881887049903843213029870400487888465707322837078950739813442311165632295123 206985414039077816557187783449698833538621755191221221418131920226769562691898293136178859424996570510449816157784752050843996970771081339362967516337003230594697517930747832556367757714143928438701820620889462400309829245329988303821172105166374091204986149742012844848034306255495096190122332401005978153949288018622263131801086521261875419769531763040238384472503572965896041562474805984013143681333072511243071844519476354682833671236528123885286036431025200666326157443757873439935905344456104674005885422673920880246595821831582516181822543703727044097248359366064425729415747011535149817887283871290709652542048259280349601405199993707042763217237026200105633474778982270705897490655692204672571910686991442460917782903279395612594540883035614201776393790811947063095089130900924901053526923388703919718396274244624629847776466202080770098827640321082692459748866199040281333475658098402252794109815874205512285775669711148628806440976946189796996726035897756283771211195008921111690274738685147742929663784330473820393512463078565623628372463872033203630882634900681991870742952803773974947530290048631172582854223293543611209178194628904288956763216748912423231268726398895584008686137755852251307148000998480912950877748297985235108886963655083937040724811663949261908602930144104653083867322105994807321255001246034636364052616429098641795515975854546594192665548675008386971510148391744333013993169422581326200267088352453795781759791835571843417878528159509114152154416904823192572390247487083878742067504765498093641583389303604578463297395360797513846650206740959994642376392595613255586352194844199315764979255025510258359425554505974166582997475112926709879734217573291356987997106363510752612606455631949306844579359899457570183289350911058550631245017405792871765486108600460529792866542383317861310907479785779854989390982213924431766620140852646972334235851780150947035435253586476863603920742124084114427303201695262424517908429027280275141939426408971798943606402452516974885530565000344500167214065858007499790541443248162751338286725917478280152501869747354143146174178609674654364224096250222835801757884551686420528886097552878809822533728663495912847064507531342386006175429581632762065948003006587966611937208856567664981277508695694676080582709150398510691853634860525143355367607374848369481169143642846930353044361658599002900348821421702462371071909818233708518680129733095112379206813918740633258581281783336864827489076604107890848248928593895256348960697120937764499208522174311334548250063961590526092893074866228456388343957823212898537296521331079694641978020605227845156415897461623959994450280748553249996376678143414462783380490048854691775293108688113250471540021963172712306057349493461975397804060973856841508458650704931749115423698025060072617415749654448921859598805446545013891781042397223954321487447508483358015929271951176823836394540522959434924338800979548913641963018864354684479661438994565121221688728602768419649960066622372169401157563405123310001214314956804881312525722027033952063352407753310486814090755218749788359619115978691804324 334909435090697563007756795245436657160788232637970860880975091901579463221421304818993219758074540349698133498644619441034791792894854704953049431659397531111567994364347701505596580094938011967125541089963659886155657691704971267431478778103902250311072473521288450276180937486268310063271483574746460319425351694660245672242985810006393011666209334202891033916929405508238524248964158839568908192239530695806999090443201988061116670347707292165028730268069810996738986883431015139008853112383552269273286691341960041317989964140992706153038775350718435409127678994089597335038233107756587831225679124122423787554563472066648090354409907319718488734407075775832793317443349445052554942303847750200169410455694110159442144632114664173365124059972257798733879369519765793628246943932280097393763256133627350504492372184651149109252104433068179487225058586279546035681507168649859814789422835658941160013038030750946136119043696528683199569367970873520361014574569261117390362155730923097538363329961048710075797786270745992753818892714514918146775670796113218709570405415207787080394753886256946518527191865919206559471828610174155624548148089099900311548819662359462727171193203676383644889349040117283345291627365519443191121867335926227017233487935713286498054155917479714441572349551673815659651947277429715258282035334123083216365357786453394013670998614021886337085789461520935633572264974253384339366313966182493180101134251797483183286472450466333597980414601065010284228476826076161517349364214203100527099459811447544441575017572011343104672196611644727549530368346053027869048116370704190172838330318266051529256002160216739930919384220307381294268228149261952910312801236427179857941320077148685392099345719500391805965410267446944311267912459187236622961404179694739021928642987734203480498186644310169484036450868247166857590673927568770128217367612080459229540385102115041695156407811579895797222432910583716349866501418779140793117645813825103747750709910195491889740539271333971491453891392690456232880733219383991396580346955399111648376869901741094343717107163818965251695265976770494660051770969751628288988229969017110212716649709526997737658334568653636799397756137695893772515291639103703717679032115920280806387955729726787996336728547640974951415629982748440647534619747900873369260766648918366149537977605042777255227317444064047253160566013271980677041113913746883352296046448674314106591467650120741673145969471228575005354440464893796949635226129366847060970349851844424928033927630962981247288150786166146967394239994380936126601917790869198127510670139485708455281950791081036353006112572873219882483590040749844391198082213408140777240958894995161949940035939961074201440531086642160417511339937988897027731713120703392590188864554315350679111512282441608600428792366316597863201512366971755371816878922069648633630576124669626950595496013089422177805712607829626164684769686686086913282867366890937699609225475545288506461393187085739639384869090083259670407233903265046036566366064943768194412771930877165093222808241198952521413592297700528173061427144324099447 541894849129775379564944578695135490699409987829192082299107012128349025913319597955172079183071110860147949656429371491878788763665936044316016947996400761706265512295095534061964337809081940405827361710853122286465486937034959571252650883270276341516058623263301295124215243741763406253393815975752438473374639713282508804044072331268268431435741097243129418389432978474134565811438964823582051873572603207050070934962678342743950341584235416050314766699095011663065144327188888578944758456839656943279172114015880921564585785972575222334861319054445479506376038360154023064453980119291737649112962995413133440096611731346997691759609901026761251951644101975938426792222331715758452432959539954872741321142685552620359927535394059785959664943007872000510273160331712856723336074833204998447290179522331270222888646429275778957028570635148949586052698907362238495430373367690141148265080934061193954122853904956458421894713407677312006010344917063317357740610467017401161573350739844209228638068646196453005461570601219813147331355793080541775148134668146422340453040315889778951137706690030921466057481914550379142326051903717766833726342718004189268312036411271885958439919602571967653575486795969534652439628364000356141999615633911462126120451590797223538778967581428976350175279695778468743519269383424522579537036580157719580417974215552035809186974468568480529751338136529322605082413365997717353359483388763819380368222604251278965046264286038177015858942760574124436382893730899354089739611701286979269166964576945638083158406875615921567969591972442241396180575087013022511424508966317445759190525162465367294235257185726998290344938726281547877265703262188662790047018809718536845938426440659438004705801351449698650544770166904514494557263370245787254206421585487610787414751588194733273364729027628030794943930654027021846981656141493201894837508464727431563776236882265988730591661398056759401143175034667830777169703114041565311026074841105378889690136319167290833346941723850946376984456393034956400094799077391491187121790203561862986663595819219374496218976911173108397869444586445149024275867219974464090746114520703530741602747262405807560192063232149549646462263669038279778690721220736465783627035122508247418325164586294452977614237243335651031998339133146951339388254608426016724628374023766735630707121247889707608271679102663050153509387434974443048113023731980591870976176181769426485798281568861374931727251254565439832843517069001687797884154723262103409931046972782189427242449805274315795538214747756673060287314860609392514945875614082096664807191470565403097259971396308881509422010034497179876933870789303094387574760356822603560621448943849853725233144628074324672980553049814872723568689431450872425535774094560234098647515259247099794535210307501681217844542020765519722800317813516769263597921319293602955118023633152984966524767964266246014200253130789061089023570666235000555245886231245622179270664470110409728150121789854159289344935712455429071564797308388356037780681021748649506938493957911117156575215994509439335504347516450316532680543123015903771 876804284220472942572701373940572147860198220467162943180082104029928489134740902774165298941145651209846083155073990932913580556560790749269066379655798292817833506659443235567560917904019952372952902800816782172621144628739930838684129661374178591827131096784589745400396181228031716316665299550498898792799991407942754476287058141274661443101950431446020452306362383982373090060403123663150960065812133902857070025405880330805067011931942708215343496967164822659804131210619903717953611569223209212552458805357840962882575750113567928487900094405163914915503717354243620399492213227048325480338642119535557227651175203413645782114019808346479740686051177751771220109665681160811007375263387705072910731598379662779802072167508723959324789002980129799244152529851478650351583018765485095841053435655958620727381018613926928066280675068217129073277757493641784531111880536340000963054503769720135114135891935707404558013757104205995205579712887936837718755185036278518551935506470767306767001398607245163081259356871965805901150248507595459921923805464259641050023445731097566031532460576287867984584673780469585701797880513891922458274490807104089579860856073631348685611112806248351298464835836086817997731255729519799333121482969837689143353939526510510036833123498908690791747629247452284403171216660854237837819071914280802796783332002005429822857973082590366866837127598050258238654678340251101692725797354946312560469356856048762148332736736504510613839357361639134720611370556975515607088975915490079796266424388393182524733424447627264672641788584086968945710943433066050380472625337021635932028855480731418823491259345943738221264322946588929171533931411450615700359820046145716703879746517808123396805147070950090456510180434351458805825175829433023877167825765182349809343394575928936753862915671938200278980381522274188704572330069061972023054876076807890793316621984381030425748069209636655198365607945251547127036204532820706104143720654930482637440846229362782723087480995184917868438347785725412632975532296775482583702137158960974635040465720960468839936084074992073649564710563215643684327638189726092379734344489720640954319396971932805297850397800803186445860019806734173551206012859840169501306067238428528224713120316021240973950965790976625983413969115895391986922874356326890093889140672685101780245098852932484863498996546727097406669953448246423725154137645727475223272222630443740592389749218982116604873220725794014838197957533895484747519380852628950470901396824626614355276377436237297042826365533922820027681554854990328641547793404951294792317861610051111552541922187389917862428122607370399759417460830052938778772842570230744337862407838845015675173180568035398874421084136457033141080029369439769453267487215263626688836379813562450473646722589943289818273334387082117586001830180488524635414800241363251588748599757822611917120263977355668192005965738618687253708340352921087468528753598136559878879889945655698234611514976939898928729804802538688741972031211653402074347047086692417701351265888788282249798024235708391856917939814150844705741970267340003218 1418699133350248322137645952635707638559608208296355025479189116158277515048060500729337378124216762069994032811503362424792369320226726793585083327652199054524099018954538769629525255713101892778780264511669904459086631565774890409936780544644454933343189720047891040524611424969795122570059115526251337266174631121225263280331130472542929874537691528689149870695795362456507655871842088486733011939384737109907140960368558673549017353516178124265658263666259834322869275537808792296898370026062866155831630919373721884447161536086143150822761413459609394421879755714397643463946193346340063129451605114948690667747786934760643473873629709373240992637695279727709646901888012876569459808222927659945652052741065215400161999702902783745284453945988001799754425690183191507074919093598690094288343615178289890950269665043202707023309245703366078659330456401004023026542253904030142111319584703781329068258745840663862979908470511883307211590057805000155076495795503295919713508857210611515995639467253441616086720927473185619048481604300676001697071940132406063390476486046987344982670167266318789450642155695019964844123932417609689292000833525108278848172892484903234644051032408820318952040322632056352650170884093520155475121098603749151269474391117307733575612091080337667141922908943230753146690486044278760417356108494438522377201306217557465632044947551158847396588465734579580843737091706248819046085280743710131940837579460300041113379001022542687629698300122213259156994264287874869696828587616777059065433388965338820607891831323243186240611380556529210341891518520079072891897134303339081691219380643196786117726516531670736511609261672870477048799634673639278490406838855864253549818172958467561401510948422399789107054950601255973300382439199678811131374247350669960596758146164123670027227644699566231073924312176301210551553986210555173917892384541535322357092858866647019156339730607693414599508782979919377904205907646862271415169795496035861527130982548530073556434422719035864245422804178760369033070331374166973770823927362522837621704061540179843336155060986165182047434155149660792708603505409700556470480459010424171695922144234338612858042461032952736092322283475772453329896734080576635284933102360936775643038284902315693951565203034312277015412308249042343326311128964752906818517514696451837410952220100822192471770675649390147560179340883220866773267161377708067094248398812213167078188030787843491536600471980359454671041474602897172545403535575891053880832443797408803782518827241511612838364580281679493087968869715599721156493669019033391457125053080616514649801893583698799371850132641867579636351331619356033166347602927053347898483856782694869400406325196109723547401637186271905864648718800890641878803261309823860787483895072809550268181932897444971036117876407847637308802147994005293899012721560656854543866623390975596883645031941621914206206218869407748342731911019156088023774639829382182058150554415766107962761636766794058218074740514994117813536828520041758112127728108441067208289759846699399406373240230217831192422287330601161238422513390355906989 2295503417570721264710347326576279786419806428763517968659271220188206004182801403503502677065362413279840115966577353357705949876787517542854149707307997347341932525613982005197086173617121845151733167312486686631707776194514821248620910206018633525170320816832480785925007606197826838886724415076750236058974622529168017756618188613817591317639641960135170323002157746438880745932245212149883972005196871012764210985774439004354084365448120832481001760633424656982673406748428696014851981595286075368384089724731562847329737286199711079310661507864773309337383473068641263863438406573388388609790247234484247895398962138174289255987649517719720733323746457479480867011553694037380467183486315365018562784339444878179964071870411507704609242948968131598998578220034670157426502112364175190129397050834248511677650683657129635089589920771583207732608213894645807557654134440370143074374088473501464182394637776371267537922227616089302417169770692936992795250980539574438265444363681378822762640865860686779167980284345151424949631852808271461618995745596665704440499931778084911014202627842606657435226829475489550545921812931501611750275324332212368428033748558534583329662145215068670250505158468143170647902139823039954808242581573586840412828330643818243612445214579246357933670538190683037549861702705132998255175180408719325173984638219562895454902920633749214263425593332629839082391770046499920738811078098656444501306936316348803261711737759047198243537657483852393877605634844850385303917563532267138861699813353732003132625255770870450913253169140616179287602461953145123272369759640360717623248236123928204941217775877614474732873584619459406220333566085089894190766658902009970253697919476275684798316095493349879563565131035607432106207615029111835008542073115852310406101540740052606781090560371504431352904693698575399256126316279617145940947260618343213150409480851028049582087799817330069797874390925170925031242112179682977519313516150966344164571828777892856279521903714220782113861151964485781666045863670942456354526064521483812256744527261140312176091145061157255696998865712876436392931143599426648850214803500144812650241541206271418155892858833755922538182303282506626881102746940416804786239169599365303867751405218336934925516168825288902998826277364937735313234003321079796912406655369136939191197318953754677335269672196117244966849294331467290498421299023435542317520621442656907670577780006825608141473692706153469509239432136792657292922916428520004351733840622035418137795204677748909881190945815602313115650424570590049798041462423984686249442914690667626202343815771088717234278255249237979395768792449408971945120445497284092236346264621539885075579505764145122421822721322728939005728748170330411332070748525087487476320274886372000741828655487388260854391210794929754894803978174493818534427521802020106132615223148798208800765295918977582398212184608026435596440251372077175492303393427518741937030444361421806197373151743733957146804545317532806555508859731695160186474775195133484909641025735487681656171264465926223049340227144752005944164483657695910207 3714202550920969586847993279211987424979414637059872994138460336346483519230861904232840055189579175349834148778080715782498319197014244336439233034960196401866031544568520774826611429330223737930513431824156591090794407760289711658557690750663088458513510536880371826449619031167621961456783530603001573325149253650393281036949319086360521192177333488824320193697953108895388401804087300636616983944581608122671351946142997677903101718964298956746660024299684491305542682286237488311750351621348941524215720644105284731776898822285854230133422921324382703759263228783038907327384599919728451739241852349432938563146749072934932729861279227092961725961441737207190513913441706913949926991709243024964214837080510093580126071573314291449893696894956133398753003910217861664501421205962865284417740666012538402627920348700332342112899166474949286391938670295649830584196388344400285185693673177282793250653383617035130517830698127972609628759828497937147871746776042870357978953220891990338758280333114128395254701211818337043998113457108947463316067685729071767830976417825072255996872795108925446885868985170509515390045745349111301042276157857320647276206641043437817973713177623888989202545481100199523298073023916560110283363680177335991682302721761125977188057305659584025075593447133913790696552188749411758672531288903157847551185944437120361086947868184908061660014059067209419926128861752748739784896358842366576442144515776648844375090738781589885873235957606065653034599899132725255000746151149044197927133202319070823740517087094113637153864549697145389629493980473224196164266893943699799314467616767124991058944292409285211244482846292329883269133200758729172681173497757874223803516092434743246199827043915749668670620081636863405406590054228790646139916320466522271002859686904176276808318205071070662426829005874876609807680302490172319858839645159878535507502339717675068738427530425023484397383173905090302935448019826545248934483311647002205691702811326422929835956326433256646359283956143246150699116195045109430125349991884006649878448588801320155512246206047322437744433020862537229101534649009127205320695262510568984346163685440610031013935319866708658630504586758279080210999481020993440071172271960302079510789690120652628877081371859601180014238585613980078639545132285832703730924170065588776602149539054576869807040347845507392527028635214688157271688460401143609411769020254870074748765810794669099678074164686512924180280906739689829838326452004411058232566284419444221920314031919260522719555526097281806203619294286189770954535131443018077706567967771284140852145709354787516606128387891105559032120124068765005111468048424337440134830121404234754475985830960254845969224358509000844870377466971221053210874009834911348263804169959181551010010588384833231890509087202777392203606126168499112433440243362676960676481846539773805684410327860599496604418403477434183939172162391233263516078033256900923995180998777187914160134788510528015364879285832526924369045688251736918298602503303574552117930785582187081062544504696144054241762514475353167182586997048051817196 6009705968491690851558340605788267211399221065823390962797731556534689523413663307736342732254941588629674264744658069140204269073801761879293382742268193749207964070182502780023697602947345583082246599136643277722502183954804532907178600956681721983683831353712852612374626637365448800343507945679751809384123876179561298793567507700178112509816975448959490516700110855334269147736332512786500955949778479135435562931917436682257186084412419789227661784933109148288216089034666184326602333216635016892599810368836847579106636108485565309444084429189156013096646701851680171190823006493116840349032099583917186458545711211109221985848928744812682459285188194686671380924995400951330394175195558389982777621419954971760090143443725799154502939843924264997751582130252531821927923318327040474547137716846786914305571032357461977202489087246532494124546884190295638141850522784770428260067761650784257433048021393406398055752925744061912045929599190874140666997756582444796244397584573369161520921198974815174422681496163488468947745309917218924935063431325737472271476349603157167011075422951532104321095814645999065935967558280612912792551482189533015704240389601972401303375322838957659453050639568342693945975163739600065091606261750922832095131052404944220800502520238830383009263985324596828246413891454544756927706469311877172725170582656683256541850788818657275923439652399839259008520631799248660523707436941023020943451452092997647636802476540637084116773615089918046912205533977575640304663714681311336788833015672802826873142342864984088067117718837761568917096442426369319436636653584060516937715852891053196000162068286899685977356430911789289489466766843819066871940156659884194057214011911018930998143139409099548234185212672470837512797669257902481148458393582374581408961227644228883589408765442575093779733699573452009063806618769789465799786905778221748657911820568703118320515330242353554195257564830261227966690132006228226453796827797968549856274640104315786115478230147477428473145108107731932365162058716051886479876056405490462135193116062460467688337351108479693441431886575413665494465792608553854170910066010713796996405226646881449169828178700464581168686890040785707092102227961410244857411441559667383378541095338989563802597540684890083013064862978917813952779135606912500643330825434725715793346858008331547142310020041624637493877929546155447770109759424579151729289641697526982419343590801494707819547857392666393689520338876482487131249368432931062584300125041479640058109236597009432600746471912884119319269718856779820752576593867002763956010882461951767054489525125876233840406643140343538427888916518173977056588493921621532371176386025774639551565336724399968391047079831729783876106215141551464542944758359998835740124444845553551751839243872221492744900297997707147098410104342992930967867765164697066809097069688572014485175623779577079002630588085460619535612413763310439008381426684419665932211443138609720357507940254261972511683831150059730924554547983432078485077278498708037027571811317674762718715769162070277291102741620105173126751480705747727403 9723908519412660438406333885000254636378635702883263956936191892881173042644525211969182787444520763979508413522738784922702588270816006215732615777228390151073995614751023554850309032277569321012760030960799868813296591715094244565736291707344810442197341890593224438824245668533070761800291476282753382709273129829954579830516826786538633701994308937783810710398063964229657549540419813423117939894360087258106914878060434360160287803376718745974321809232793639593758771320903672638352684837983958416815531012942132310883534930771419539577507350513538716855909930634719078518207606412845292088273951933350125021692460284044154715710207971905644185246629931893861894838437107865280321166904801414946992458500465065340216215017040090604396636738880398396504586040470393486429344524289905758964878382859325316933491381057794319315388253721481780516485554485945468726046911129170713445761434828067050683701405010441528573583623872034521674689427688811288538744532625315154223350805465359500279201532088943569677382707981825512945858767026166388251131117054809240102452767428229423007948218060457551206964799816508581326013303629724213834827640046853662980447030645410219277088500462846648655596120668542217244048187656160175374969941928258823777433774166070197988559825898414408084857432458510618942966080203956515600237758215035020276356527093803617628798657003565337583453711467048678934649493551997400308603795783389597385595967869646492011893215322226969990009572695983699946805433110300895305409865830355534715966217991873650613659429959097725220982268534906958546590422899593515600903547527760316252183469658178187059106360696184897221839277204119172758599967602548239553113654417758417860730104345762177197970183324849216904805294309334242919387723486693127288374714048896852411820914548405160397726970513645756206562705448328618871486921259961785658626550938100284165414160286378187058942860667377038592640738735351530902138151832773475388280139444970755547977451430738715951434556580734074832429064250978083064278253761161316605226048289497112013641704863780623200583557155802131185864907437950894596000441617681059491605328521282781342568912087491480183763498567173239799191476799064787303101708982403684928583713519969462889330785459642192679678912544491263027303448592897892592324267892745204374254995500314492395496397062908416949350367887132030020906564760843605041798219825722761141058661952397057168109401596163807497622022079179317869801245616172316969575820437342120816866409460923861978423268516269955320301998010165925522889013142969591707111725310020841662578850233235907906635234480663750446535031031449097460009040586938982168056542345958972506006507430009394027551167684654814360271438340730628746483682112772517753818768194910184003928614804735102761849832257054724635409385200484539302016230511492043401308008527374027485578916228345820169585951640176575607048991562894803474784576154543702524459459941320589927392441915797634517642728764789987876563116982586655293600236235168996783679781802282589145502596899861843781260273858214331532865256095458340309338477753799544599 15733614487904351289964674490788521847777856768706654919733923449415862566058188519705525519699462352609182678267396854062906857344617768095025998519496583900281959684933526334874006635224914904095006630097443146535798775669898777472914892664026532425881173244306077051198872305898519562143799421962505192093397006009515878624084334486716746211811284386743301227098174819563926697276752326209618895844138566393542477809977871042417473887789138535201983594165902787881974860355569856964955018054618975309415341381778979889990171039256984849021591779702694729952556632486399249709030612905962132437306051517267311480238171495153376701559136716718326644531818126580533275763432508816610715342100359804929770079920420037100306358460765889758899576582804663394256168170722925308357267842616946233512016099706112231239062413415256296517877340968014274641032438676241106867897433913941141705829196478851308116749426403847926629336549616096433720619026879685429205742289207759950467748390038728661800122731063758744100064204145313981893604076943385313186194548380546712373929117031386590019023641011989655528060614462507647261980861910337126627379122236386678684687420247382620580463823301804308108646760236884911190023351395760240466576203679181655872564826571014418789062346137244791094121417783107447189379971658501272527944227526912193001527109750486874170649445822222613506893363866887937943170125351246060832311232724412618329047419962644139648695691862864054106783187785901746859010967087876535610073580511666871504799233664676477486801772824081813288099987372668527463686865325962835037540201111820833189899322549231383059268428983084583199195708115908462248066734446367306425053811077642611917944116256781108196113322733948765138990506981805080432185392744595608436833107631271433820782142192634043987135735956220849986296405021780627935293540029751251458413456716322032823325980855081305379458190909730592787898303565612758868828283839001701842076967242939305404252091535054502066912786728211503305574172358710015429440312477213203085102104694987574148834820926241090888920908264281824627296794013364560090466234226234913662515394531996578338974138734372929353591677267637820967878366839850494395203936943813929785995155079636846267871880798631756482276453229381346040368311571815706545103403499657705017585820935040208188843255071239964091660387928756667514784494306999052811907979250301912870348303649924039587452992397658515317169879471845711559321584492654804100825188870273183401166534502403502036532505113279387921048469923050044842158731999749412459688319177023605618589732695187674961124759606539984286941674171792635887897957105112959224645036267580504877182893455784033579116504409054782751318518172460412622589897254323982296763526554909019744053059650288654513689076129276217380309683198191686400426334854484974369175773692071094294675985916917834654761575419753654609679579648355423010396989917854141532840886625740255859603885054407354875150669019051960388246948132646386218154784218601075268757060300990626173074408217536606499976043020284608823967997715563513436089958459547272002 25457523007317011728371008375788776484156492471589918876670115342297035608702713731674708307143983116588691091790135638985609445615433774310758614296724974051355955299684549889724315667502484225107766661058243015349095367384993022038651184371371342868078515134899301490023117974431590323944090898245258574802670135839470458454601161273255379913805593324527111937496238783793584246817172139632736835738498653651649392688038305402577761691165857281176305403398696427475733631676473529603307702892602933726230872394721112200873705970028404388599099130216233446808466563121118328227238219318807424525580003450617436501930631779197531417269344688623970829778448058474395170601869616681891036509005161219876762538420885102440522573477805980363296213321685061790760754211193318794786612366906851992476894482565437548172553794473050615833265594689496055157517993162186575593944345043111855151590631306918358800450831414289455202920173488130955395308454568496717744486821833075104691099195504088162079324263152702313777446912127139494839462843969551701437325665435355952476381884459616013026971859072447206735025414279016228587994165540061340462206762283240341665134450892792839857552323764650956764242880905427128434071539051920415841546145607440479649998600737084616777622172035659199178978850241618066132346051862457788128181985741947213277883636844290491799448102825787951090347075333936616877819618903243461140915028507802215714643387832290631660588907185091024096792760481885446805816400198177430915483446342022406220765451656550128100461202783179538509082255907575486010277288225556350638443748639581149442082792207409570118374789679269480421034985320027635006666702048915545978167465495401029778674220602543285394083506058797982043795801291139323351573116231288735725207821680168286232603056741039204384862706469866606192859110470109246806780461289713037117040007654422316988740141141459492438401051577107631380539042300964289770966435671775177230357106687910060952229542965793218018347343308945578138003236609688098493718566238374519690328152984484686162476525790021714089504465420083955813161701451315454686466675843915973154120723053279359681543050821864409537355175834811060767069843638915281698305645926217614714578868599606309157202666258273949161955365773872609067671760164713599137427671392402909391840816435354700584339652134148381041010755815888697535691059067842657853706199076024674011406965602321096755562393993822322814791901551025029429122830108827121070401009307615304218032943963327364014955773629549343241350467933215970365047745142719004166800044487044447281168582928423582867759994087203734733476705203241733347906997692051941392701578613539477383189400885793427606667672093709597111589956513191041369073579367096500050582294749819203747981674455023757275538908386330942015719068398676225702442565365977017770483782219445121780254902145263654824347527059930230216728571211250226485181566072397844057300346567060845786996326970204989392793397783841948264810065115233041511755020453770072052436842103273215318577005117398450281236316878498940356833253811021853745428436213346816601 41191137495221363018335682866577298331934349240296573796404038791712898174760902251380233826843445469197873770057532493048516302960051542405784612816221557951637914984618076224598322302727399129202773291155686161884894143054891799511566077035397875293959688379205378541221990280330109886087890320207763766896067141848986337078685495759972126125616877711270413164594413603357510944093924465842355731582637220045191870498016176444995235578954995816378288997564599215357708492032043386568262720947221909035646213776500092090863877009285389237620690909918928176761023195607517577936268832224769556962886054967884747982168803274350908118828481405342297474310266185054928446365302125498501751851105521024806532618341305139540828931938571870122195789904489725185016922381916244103143880209523798225988910582271549779411616207888306912351142935657510329798550431838427682461841778957052996857419827785769666917200257818137381832256723104227389115927481448182146950229111040835055158847585542816823879446994216461057877511116272453476733066920912937014623520213815902664850311001491002603045995500084436862263086028741523875849975027450398467089585884519627020349821871140175460438016147066455264872889641142312039624094890447680656308122349286622135522563427308099035566684518172903990273100268024725513321726023520959060656126213268859406279410746594777365970097548648010564597240439200824554820989744254489521973226261232214834043690807794934771309284599047955078203575948267787193664827367286053966525557026853689277725564685321226605587262975607261351797182243280244013473964153551519185675983949751401982631982114756640953177643218662354063620230693435936097254733436495282852403221276573043641696618336859324393590196828792746747182786308272944403783758508975884344162040929311439720053385198933673248371998442426087456179155515491889874742074001319464288575453464370744349812066121996540797817859242486838224168437345866577048639794719510776879072434073930849366356481634500847720085260130037157081443577408968398113923158878715587722775430257679472260311311346716262804978425373684365780440458495464680014776932910070150886816636117585275938020517189556237338890946853102448881734948210478765776093509582870031544500574023679243155425074547056905705644231819003253955108040071736529305682531074892060614409426637370394908773182907205388345132671143744645365050475553374841710665614178326326586881755269252245136343015386391480838131961781022870740988444414601481925171226198177888487619199478465730866051488278742828731162398937856266015207206477142468416626488363664068052899758315623611257828884753693743719020418379375034369235804954797164900617346614881119982260372294341577461185784176502764379862908474685651453991663476621420482347345821304728223492034734105312411789227984515607159396028751596867912102868900220461992139659555911516216074930888062181489479109102479683884826408150859605649495578555990251985590141233192801101646600212024612344267944066802893908653057013247879427729909804672371147321193902404263841491651413334935056781212359898783549180801251526585367181518394672894088603 66648660502538374746706691242366074816090841711886492673074154134009933783463615983054942133987428585786564861847668132034125748575485316716543227112946532002993870284302626114322637970229883354310539952213929177233989510439884821550217261406769218162038203514104680031245108254761700210031981218453022341698737277688456795533286657033227506039422471035797525102090652387151095190911096605475092567321135873696841263186054481847572997270120853097554594400963295642833442123708516916171570423839824842761877086171221204291737582979313793626219790040135161623569489758728635906163507051543576981488466058418502184484099435053548439536097826093966268304088714243529323616967171742180392788360110682244683295156762190241981351505416377850485492003226174786975777676593109562897930492576430650218465805064836987327584170002361357528184408530347006384956068425000614258055786124000164852009010459092688025717651089232426837035176896592358344511235936016678864694715932873910159849946781046904985958771257369163371654958028399592971572529764882488716060845879251258617326692885950618616072967359156884068998111443020540104437969192990459807551792646802867362014956322032968300295568470831106221637132522047739168058166429499601072149668494894062615172562028045183652344306690208563189452079118266343579454072075383416848784308199010806619557294383439067857769545651473798515687587514534761171698809363157732983114141289740017049758334195627225402969873506233046102300368708749672640470643767484231397441040473195711683946330136977776733687724178390440890306264499187819499484241441777075536314427698390983132074064906964050523296018008341623544041265678755963732261400138544198398381388742068444671475292557461867678984280334851544729226582109564083727135331625207173079887248750991608006285988255674712452756861148895954062372014625961999121548854462609177325692493472025166666800806263138000290256260294063945855548976388167541338410761155182552056302791180618759427308711177466640938103607473346102659581580645578086212416877444953962242465758410663956946473787872506284519067929839104449736253620196915995469463399585914066859970756840638555297702060240378101748428302028937259942502018054117681057791815228796249159215152892278849464582277213315179654806187184777126564175711831901242904819958746284463523801267453805749609357522559339536726173681899560534062586166612442684368519320377402351260893162234854566233098577780385303160946753682573895770417567244710309046241627207485503791837232422429058230066444052372378074403749405789481985572254222285187420793288408151112500180926898552034840696644747780947453753895084578276102583711952489216842010048193494659459643561695227370888792451848596473976974498431198842495360737055988516982397928116054547427240016408560336169064766892901938101411747819995544137805311465586439009910143338130961337855185790207445144303456629539614115043136722070855875980760122062649829647441579759861947433596538994817333660737464586735856917867078363112469241664825126141219373630744507537056810228418452333507062448676777282489537634505337607220926946830886240905204 107839797997759737765042374108943373148025190952183066469478192925722831958224518234435175960830874054984438631905200625082642051535536859122327839929168089954631785268920702338920960272957282483513313243369615339118883653494776621061783338442167093455997891893310058572467098535091810096119871538660786108594804419537443132611972152793199632165039348747067938266685065990508606135005021071317448298903773093742033133684070658292568232849075848913932883398527894858191150615740560302739833144787046751797523299947721296382601459988599182863840480950054089800330512954336153484099775883768346538451352113386386932466268238327899347654926307499308565778398980428584252063332473867678894540211216203269489827775103495381522180437354949720607687793130664512160794598975025807001074372785954448444454715647108537106995786210249664440535551466004516714754618856839041940517627902957217848866430286878457692634851347050564218867433619696585733627163417464861011644945043914745215008794366589721809838218251585624429532469144672046448305596685795425730684366093067161282177003887441621219118962859241320931261197471762063980287944220440858274641378531322494382364778193173143760733584617897561486510022163190051207682261319947281728457790844180684750695125455353282687910991208381467179725179386291069092775798098904375909440434412279666025836705130033845223739643200121809080284827953735585726519799107412222505087367550972231883802025003422160174279158105281001180503944657017459834135471134770285363966597500049400961671894822299003339274987153997702242103446742468063512958205595328594721990411648142385114706047021720691476473661227003977607661496372191899829516133575039481250784610018641488313171910894321192072574477163644291476409368417837028130919090134183057424049289680303047726339373454608385701128859591322041518551170141453888996290928463928641614267946936395911016612872385134541088074119536550784079717413734034118387050555874693328935375225254549608793665192811967488658188867603383259741025158054546484326340036323669549965241188668343429206785099219222547324046355212788815516694078692380675484240332495984217746787392958223831235722577429934339087319248882039708824236966264596446833885324811666280703715726915958092620007351760372085360450419003780380519283751903637772210502489821176524138210694091176144518130705466544925071306353043305179427636642165817526079184934555728677847774917504106811369441593166776783999078715463596766511406011659311790971412853405663392279456431900894789096117932331115206805566148343645748000779460699427655837419776771815180553080685214175646098525529501474691172774313463953310471819516907286381742627394808375779441903933989568948349978236025099238356837406905884493949352400532609937464745273937359275650732051142665648580853994877417545260807776571592412049908180365806901002049802894042477553930116678269626633782565732019297999869544872930461525476338678052901815237582812952663049080196751019429677928681531389629765570924091610991896971574629798512366694824646911800898301879831787268563843661036676066038718435756864192588108465225559134993807 174488458500298112511749065351309447964116032664069559142552347059732765741688134217490118094818302640771003493752868757116767800111022175838871067042114621957625655553223328453243598243187165837823853195583544516352873163934661442612000599848936311618036095407414738603712206789853510306151852757113808450293541697225899928145258809826427138204461819782865463368775718377659701325916117676792540866224908967438874396870125140140141230119196702011487477799491190501024592739449077218911403568626871594559400386118942500674339042967912976490060270990189251423900002713064789390263282935311923519939818171804889116950367673381447787191024133593274834082487694672113575680299645609859287328571326885514173122931865685623503531942771327571093179796356839299136572275568135369899004865362385098662920520711945524434579956212611021968719959996351523099710687281839656198573414026957382700875440745971145718352502436282991055902610516288944078138399353481539876339660976788655374858741147636626795796989508954787801187427173071639419878126450677914446745211972318419899503696773392239835191930218398205000259308914782604084725913413431318082193171178125361744379734515206112061029153088728667708147154685237790375740427749446882800607459339074747365867687483398466340255297898590030369177258504557412672229870174287792758224742611290472645393999513472913081509188851595607595972415468270346898218608470569955488201508840712248933560359199049385577249031611514047282804313365767132474606114902254516761407637973245112645618224959276780072962711332388143132409711241655883012442447037105670258304839346533368246780111928684741999769679235345601151702762050947863561777533713583679649165998760709932984647203451783059751558757498495836205635950527401111858054421759390230503936538431294655732625361710283098153885720740217995580923184767415888117839782926537818939960440408421077683413678648272541378330379830614729935266390122201659725461317029875880991678016435168368220973903989434129596292475076729362400606738700124570538756913768623512207706947079007386153258887091728831843114285051893265252947698889296670953703732081898284606758149798862386533424637670312440835747550910976968766738984318714127891677140040462529862930879808236942084589628973687265015256606188557507083459463735539015115322448567460987662011961544981894127488228025884461797480034942865713490222808778260210447704254933131029108668079738961377602540170947162087160025469146170662281823578904022100017654480613148896071293664323323847326184376383487584879969897749435229986351714921712843258213065179966293053261612112727680939222174249255638626528208548531586574403228859775598584637443001870438901547495684796319238770687873695712333811905337083336444713137588598454447143202053413823077972067551225984749918761770319483362219524391587956187713491831393340011959946232173438891785302468477071778086022361558912114912681595001317401457098800115551644885024392712524996513793290014247011589418995976365622488791169974104366213239454924653586068455391419337955112108250239602070906109713453348528256070262201799809035412056445375899011 282328256498057850276791439460252821112141223616252625612030539985455597699912652451925294055649176695755442125658069382199409851646559034961198906971282711912257440822144030792164558516144448321337166438953159855471756817429438063673783938291103405074033987300724797176179305324945320402271724295774594558888346116763343060757230962619626770369501168529933401635460784368168307460921138748109989165128682061180907530554195798432709462968272550925420361198019085359215743355189637521651236713413918346356923686066663797056940502956512159353900751940243341224230515667400942874363058819080270058391170285191276049416635911709347134845950441092583399860886675100697827743632119477538181868782543088783662950706969181005025712380126277291700867589487503811297366874543161176900079238148339547107375236359054061541575742422860686409255511462356039814465306138678698139091041929914600549741871032849603410987353783333555274770044135985529811765562770946400887984606020703400589867535514226348605635207760540412230719896317743685868183723136473340177429578065385581181680700660833861054310893077639525931520506386544668065013857633872176356834549709447856126744512708379255821762737706626229194657176848427841583422689069394164529065250183255432116562812938751749028166289106971497548902437890848481765005668273192168667665177023570138671230704643506758305248832051717416676257243422005932624738407577982177993288876391684480817362384202471545751528189716795048463308258022784592308741586037024802125374235473294513607290119781575783412237698486385845374513157984123946525400652632434264980295250994675753361486158950405433476243340462349578759364258423139763391293667288623160899950608779351421297819114346104251824133234662140127682045318945238139988973511893573287927985828111597703458964735164891483855014580331540037099474354908869777114130711390466460554228387344816988700026551033407082466404499367165514014983803856235778112511872904569209927053241689717977014639096801401618254481342680112622141631896754671054865096950092293062172948135747350815360043986310951379167160640264682080769641777581677346437944064577882502353545542757086217769147215100246779923066799793016677590975950583310574725562464852128810566646606724195034704596980734059350375707025192337887602743215639176787325824938388637511800222655636158038645618933492429386868786387986170892917859450944077736526889189488859706956442997243068188971981764113938871159104184609767428793229590563333890989067334018812288350750096224218636422302308714602791685536046093080977987131175621140499095632841951781473606342297326903327037747703750730329799302522012484897046222745767061980327264837810246218343451429674365267588748923898794950690649312242967830394065538121208391911888475990773098728704118693891633330772756647737028623027300963180368237621672197200241014009749126215916445715419146746698411868588093578210114782226467931778926933437478168453460122607205665188045593990041033676689518100527365995388059715261585096263184814084723165952763280038331138853413988082026870634749770750129414566974506019065992397143877282004510892818 456816714998355962788540504811562269076257256280322184754582887045188363441600786669415412150467479336526445619410938139316177651757581210800069974013397333869883096375367359245408156759331614159161019634536704371824629981364099506285784538140039716692070082708139535779891512114798830708423577052888403009181887813989242988902489772446053908573962988312798865004236502745828008786837256424902530031353591028619781927424320938572850693087469252936907838997510275860240336094638714740562640282040789940916324072185606297731279545924425135843961022930432592648130518380465732264626341754392193578330988456996165166367003585090794922036974574685858233943374369772811403423931765087397469197353869974297836073638834866628529244322897604862794047385844343110433939150111296546799084103510724645770295757070999585976155698635471708377975471458707562914175993420518354337664455956871983250617311778820749129339856219616546330672654652274473889903962124427940764324266997492055964726276661862975401432197269495200031907323490815325288061849587151254624174790037704001081184397434226100889502823296037730931779815301327272149739771047303494439027720887573217871124247223585367882791890795354896902804331533665631959163116818841047329672709522330179482430500422150215368421587005561527918079696395405894437235538447479961425889919634860611316624704156979671386758020903313024272229658890276279522957016048552133481490385232396729750922743401520931328777221328309095746112571388551724783347700939279318886781873446539626252908344740852563485200409818773988506922869225779829537843099669539935238600090341209121608266270879090175476013019697695179911067020474087626953071201002206840549116607540061354282466317797887311575691992160635963887681269472639251847027933652963518431922366542892359191590096875174582008900301071758032680397539676285665231970494317004279494188827753238066383440229681679623844734879197780243950250193978437437837973189934445090918731258124886345235613000790835747850773817756841984542238635454795625403853863860916574380655082826358201513302873402680211010274925316575346022589476470974017391647796659780786960303692555948604302571852770559220758814350703993646357714934902024702617239604892591340429577486532431976789186609707746615390963631380895394686202679374715802441147386956098499462234617181139932773107161518313848666266422929036606408082259722337946974593444421990736065111076982029566574521935061100958319129653755938091075053169467355991006721814631961184422043760547542483748486685098090376565505943842516207973482890542853342353845907131747766659603909439631007976969877999985968425830730561016483620625974626837578911902280812116657244998925359161586827519611772490663024461217580051166838778675709806846359031678044186921806676186245117618080691518418056511985246825354768324425335164028593581025969695358389355337500721615223770189954610455137122229694908062933096328390536278284005105007631598377713042107783331047923701107519523342361010548506431559200629398053539647819538831735429750476808526096332266472705655880463582763095230576281267792206179289338449886791829 739144971496413813065331944271815090188398479896574810366613427030643961141513439121340706206116656032281887745069007521515587503404140245761268880984680045782140537197511390037572715275476062480498186073489864227296386798793537569959568476431143121766104070008864332956070817439744151110695301348662997568070233930752586049659720735065680678943464156842732266639697287113996316247758395173012519196482273089800689457978516737005560156055741803862328200195529361219456079449828352262213876995454708287273247758252270094788220048880937295197861774870675933872361034047866675138989400573472463636722158742187441215783639496800142056882925015778441633804261044873509231167563884564935651066136413063081499024345804047633554956703023882154494914975331846921731306024654457723699163341659064192877670993430053647517731441058332394787230982921063602728641299559197052476755497886786583800359182811670352540327210002950101605442698788260003701669524895374341652308873018195456554593812176089324007067405030035612262627219808559011156245572723624594801604368103089582262865098095059961943813716373677256863300321687871940214753628681175670795862270597021073997868759931964623704554628501981126097461508382093473542585805888235211858737959705585611598993313360901964396587876112533025466982134286254376202241206720672130093555096658430749987855408800486429692006852955030440948486902312282212147695423626534311474779261624081210568285127603992477080305411045104144209420829411336317092089286976304121012156108919834139860198464522428346897438108305159833881436027209903776063243752301974200218895341335884874969752429829495608952256360160044758670431278897227390344364868290830001449067216319412775580285432143991563399825226822776091569726588417877391836001445546536806359908194654490062650554832040066065863914881403298069779871894585155442346101205707470740048417215098055055083466780715086706311139378564945757965233997834673215950485062839014300845784499814604322250252097592237366105255160436954606683870532209466680268950813953209636553603218573709016873346859713631590177435565581257426792231254052651363829591861237663289313849235313034822071719067870806000681881150497010323948690885485335277342802069744720150996224093256627011493783590441805965766670656573233282288945895013892589766972325344736011262457272817297971418726095010743235535052810915207499325941710666415683501482633910850443021554074225097755546503699175039829478233838365705519868282760030689881995789148650773472772793856771761120170788993812693168251041989935597185960614066163993841449478749083529240265946206766534335014717581750716298225133252573501380666848720393899559239167118622362875588450355033526854416268535671285613715110529823018997232844213831015238270920154034960020535380304939009251411464275065793540608274126317948692662956836225793822039979444484605271783216140761970468601823198548715332344477134530864875255323973756452458565130238804042901087701773372081600390625620050708356398608221693144296892582867624370985491595015468081615661940084414293343340405651213712177662205082300333784603323166620454397684647 1195961686494769775853872449083377359264655736176896995121196314075832324583114225790756118356584135368808333364479945660831765155161721456561338854998077379652023633572878749282980872034807676639659205708026568599121016780157637076245353014571182838458174152717003868735962329554542981819118878401551400577252121744741829038562210507511734587517427145155531131643933789859824325034595651597915049227835864118420471385402837675578410849143211056799236039193039637079696415544467067002776517277495498228189571830437876392519499594805362431041822797801108526520491552428332407403615742327864657215053147199183606382150643081890936978919899590464299867747635414646320634591495649652333120263490283037379335097984638914262084201025921487017288962361176190032165245174765754270498247445169788838647966750501053233493887139693804103165206454379771165642817292979715406814419953843658567050976494590491101669667066222566647936115353440534477591573487019802282416633140015687512519320088837952299408499602299530812294534543299374336444307422310775849425779158140793583344049495529286062833316539669714987795080136989199212364493399728479165234889991484594291868993007155549991587346519297336023000265839915759105501748922707076259188410669227915791081423813783052179765009463118094553385061830681660270639476745168152091519445016293291361304480112957466101078764873858343465220716561202558491670652439675086444956269646856477940319207871005513408409082632373413239955533400799888041875436987915583439898937982366373766113106809263280910382638518123933822388358896435683605601086851971514135457495431677093996578018700708585784428269379857739938581498299371315017297436069293036841998183823859474129862751749941878874975517218983412055457407857890516643683029379199500324791830561197382421842144928915240647872815182475056102460269434261441107578071700024475019542606042851293121466907010396766330155874257762726001915484191813110653788458252773459391764515757939490667485865098383073113956028978193796591226109167664262305672804677814126210934258301400067218386649733116311801187710490897832772814820730523625381221239657897444076274152927868983426374290920641365221440695501201003970306405820387359979960041674637311491425801579789058988282970200149552581157634287954128676975148574388608392208119712300834510724691889998437904191833256529057084201319233844244105734023970388753630476076078332841179086665151207127322121025634236140787797363492121643610943335929498045873002510963282734657194837617319303603919275678910783544816547933778113393934096956706847183803324656215277006925550116206165342991687459750702266650963983134517864287474695020737138151069399434479532833449280392688441243788147443776276739571747403070164071622889540822084629951832079146942342056491184126869492155793483850052593520951672717017088292000254387403065949139842994627120716862377194238791777809003852454574172042593797971583714510034736463670137870402420614129809556703129524091733139574050717409156728124703497521980921164018805030426750897832092470466180746559816046061531677294940757435658581601576809502455958904284476476 1935106657991183588919204393355192449453054216073471805487809741106476285724627664912096824562700791401090221109548953182347352658565861702322607735982757425434164170770390139320553587310283739120157391781516432826417403578951174646204921491002325960224278222725868201692033146994287132929814179750214398145322355675494415088221931242577415266460891301998263398283631076973820641282354046770927568424318137208221160843381354412583971005198952860661564239388568998299152494994295419264990394272950206515462819588690146487307719643686299726239684572671784460392852586476199082542605142901337120851775305941371047597934282578691079035802824606242741501551896459519829865759059534217268771329626696100460834122330442961895639157728945369171783877336508036953896551199420211994197410786828853031525637743931106881011618580752136497952437437300834768371458592538912459291175451730445150851335677402161454209994276225516749541558052228794481293243011915176624068942013033882969073913901014041623415567007329566424557161763107933347600552995034400444227383526243883165606914593624346024777130256043392244658380458677071152579247028409654836030752262081615365866861767087514615291901147799317149097727348297852579044334728595311471047148628933501402680417127143954144161597339230627578852043964967914646841717951888824221613000112951722111292335521757952530770771726813373906169203463514840703818347863301620756431048908480559150887492998609505885489388043418517384164954230211224358967526274891887560911094091286207905973305273785709257280076626429093656269794923645587381664330604273488335676390773012978871547771130538081393380525740017784697251929578268542407641800937583866843447251040178886905443037182085870438375342445806188147027134446308394035519030824746037131151738755851872484492699760955306713736730063878354172240141328846596549924172905731945759591023257949348176550373791111853036467013636327671759880718189647783869738943315612473692610300257754094989736117195975310480061284138630751197909979699873728985941755491767335847487861519973776235259996592829943391365146056479090199607051984576276745050831519135107365588002163182018248446009988512171222122576651698014294255096705872695257302843744382031642422025673045685999776753790591358546924304944527361959264094469402500981975092037645570521987149162815735875610559351539800319736372044759451605059965681055169313977558712243691622108219225432225077667529333411180617275597330487349130811618689528735754998300111933508129967631474091064724090064672723476713067589923713710579894711022870841025252803405298806247191496322972699678006405041501418564876097235708019244954323415414636697390236518056842408421899635426215295660056683115061890454682277226089161304467103371837322900871986114106962877436796123136120903620068549643593201795077990665709751248836480181225105928584327599898903933003139164707393601007552567786918649177124662846839038483791188922235268109206463515217511330075211124482358759624759073807764949817847794414563788788389790522021766365913708132406265160853159386467182891007118419640740881935361412825622579358682161123 3131068344485953364773076842438569808717709952250368800609006055182308610307741890702852942919284926769898554474028898843179117813727583158883946590980834805086187804343268888603534459345091415759816597489543001425538420359108811722450274505573508798682452375442872070427995476548830114748933058151765798722574477420236244126784141750089149853978318447153794529927564866833644966316949698368842617652154001326641632228784192088162381854342163917460800278581608635378848910538762486267766911550445704743652391419128022879827219238491662157281507370472892986913344138904531489946220885229201778066828453140554653980084925660582016014722724196707041369299531874166150500350555183869601891593116979137840169220315081876157723358754866856189072839697684226986061796374185966264695658231998641870173604494432160114505505720445940601117643891680605934014275885518627866105595405574103717902312171992652555879661342448083397477673405669328958884816498934978906485575153049570481593233989851993922824066609629097236851696306407307684044860417345176293653162684384676748950964089153632087610446795713107232453460595666270364943740428138134001265642253566209657735854774243064606879247667096653172097993188213611684546083651302387730235559298161417193761840940927006323926606802348722132237105795649574917481194697056976313132445129245013472596815634715418631849536600671717371389920024717399195489000302976707201387318555337037091206700869615019293898470675791930624120487631011112400842963262807471000810032073652581672086412083048990167662715144553027478658153820081270987265417456245002471133886204690072868125789831246667177808795119875524635833427877639857424939237006876903685445434864038361035305788932027749313350859664789600202484542304198910679202060203945537455943569317049254906334844689870547361609545246353410274700410763108037657502244605756420779133629300800641298017280801508619366622887894090397761796202381460894523527401568385933084374816015693585657221982294358383594017313116824547789136088867537991291614560169581462058422119821373843453646646325946255192552856547376922972421872715099902126272071177032551441862155091051001674820300909153536443563272152899018264561502526260055237262885419019343133847827252834744988059723990740911128081939232481490636239243043791109374183211749946405032711841052814173779802392608068857403937691278603695710793989651443922944453634790576532801194884376639352399788554967647321405072960822608992741754954619026781628000811075216242787162469091410368328009340351634260257884137857491823973828807979577688209056128061514083254117046439178865020998092501252120831527061218842537109241798110435373835541305917491321941255348915818903736903844830558838167194254024629159325376089992912659407530823818193253905219493287307262990395775862033493645795316029663382726839540836734568628171877724170594526024649865516358946185378816556420241492821219718460818422752993825925385905405979608884129347320886778340648574091899198809791216921677942551291936544709952408595552448517263745800602872445907412975432528714568302059177076399463536938222328078538262966637599 5066175002477136953692281235793762258170764168323840606096815796288784896032369555614949767481985718170988775583577852025526470472293444861206554326963592230520351975113659027924088046655375154879973989271059434251955823938059986368655195996575834758906730598168740272120028623543117247678747237901980196867896833095730659215006072992666565120439209749152057928211195943807465607599303745139770186076472138534862793072165546500746352859541116778122364517970177633678001405533057905532757305823395911259115211007818169367134938882177961883521191943144677447306196725380730572488826028130538898918603759081925701578019208239273095050525548802949782870851428333685980366109614718086870662922743675238301003342645524838053362516483812225360856717034192263939958347573606178258893069018827494901699242238363266995517124301198077099070081328981440702385734478057540325396770857304548868753647849394814010089655618673600147019231457898123440178059510850155530554517166083453450667147890866035546239633616958663661408858069515241031645413412379576737880546210628559914557878682777978112387577051756499477111841054343341517522987456547788837296394515647825023602716541330579222171148814895970321195720536511464263590418379897699201282707927094918596442258068070960468088204141579349711089149760617489564322912648945800534745445242196735583889151156473371162620308327485091277559123488232239899307348166278327957818367463817596242094193868224525179387858719210448008285441861222336759810489537699358561721126164938789578059717356834699424942791770982121134927948743726858368929748060518490806810276977703051739673560961784748571189320859893309333085357455908399832581037944460770528892685904217247940748826114113619751726202110595788349511676750507304714721091028691574587095308072901127390827544450825854075346275310231764446940552091954634207426417511488366538724652558749989474567654592620472403089901530418069521676920571108678393266344883998406776985116273447680646958099490333694074078597255455298987046068567411720277556315661348797905909981341347619688906642918776198583918002603856013172028924699676178871322902696167658807450157254233019923266310897665707665685848804597032558816599232132750494565729163401374776269852925880430987836477781332269675006244177008852595503337513193610356158303787591975554698990215629909655412951959608657723674063323363147315853955332499092258431193502820224423303103602071577477456084301058502022348558153096341872566573308555517382999111187149750917130100565501433052099405024357736970951727781205534553723519002448529234308931466812889501308542762151564699004497542753539396403158454550556354196121525850010532931542435548164349677248551245119032563901513673900057648936301855248486680557096284496730431695804307360868096930083430399111299395930583137238997111107654048436590789673214749853277806308498194424928582868655523653578979824108988028411470396843123665261791477617114308140674088815347644564832216853551773056450658823568865024686627760399086351108498740798386074470283629659508735278711068266134818995897459309177596717140345472299635153701117621648798722 8197243346963090318465358078232332066888474120574209406705821851471093506340111446317802710401270644940887330057606750868705588286021028020090500917944427035606539779456927916527622506000466570639790586760602435677494244297168798091105470502149343557589182973611612342548024100091947362427680296053745995590471310515966903341790214742755714974417528196305852458138760810641110573916253443508612803728626139861504425300949738588908734713883280695583164796551786269056850316071820391800524217373841616002767602426946192246962158120669624040802699313617570434219540864285262062435046913359740676985432212222480355558104133899855111065248272999656824240150960207852130866460169901956472554515860654376141172562960606714211085875238679081549929556731876490926020143947792144523588727250826136771872846732795427110022630021644017700187725220662046636400010363576168191502366262878652586655960021387466565969316961121683544496904863567452399062876009785134437040092319133023932260381880718029469063700226587760898260554375922548715690273829724753031533708895013236663508842771931610199998023847469606709565301650009611882466727884685922838562036769214034681338571315573643829050396481992623493293713724725075948136502031200086931518267225256335790204099008997966792014810943928071843326255556267064481804107346002776847877890371441749056485966791188789794469844928156808648949043512949639094796348469255035159205686019154633333300894737839544473286329395002378632405929492233449160653452800506829562531158238591371250146129439883689592605506915535148613586102563808129356195165516763493277944163182393124607799350793031415748998115979768833968918785333548257257520274951337674214338120768255608976054615046141369065077061775385388551996219054706215393923151232637112043038877389950382297162389140696401436955820556585174721640962855062671864928662117244787317858281859550630772584935394129091769712789424508467283473122952569572916793746452384339861359932289141266304180081784692077668095910372279846776182157434949711569170875830930259964332101162721463142553289244722453776470859151232936144450797414776080997594973873200210249312312345284021598086611806819244109249120957496050823378101758392805731828614582420717910117680178715175975896201772073180803088183409490343231742580556984719730341515537538380587410831268444083435215344567677515127611754601966843026647944983943015202884828293396757224497987978710929877244639268705823427421518975705334614321527927582299010999922262365993704292569656911801380108745375991997228835865638697358527552326982026217443365059528326972755425589201330429720002590044005660227930219673393093463437919636285384368472848353039486290932597467064022769467746344232738224843190326484407812056647089197156137962519622500614773316423370737662101695171792616630884792427137317431163430330509949318481449684032668788950953232734171882599764358640665408269904291616561584483684544471443039694046080068424231773912153103631892421630542558022378656241608305702950378287653208693206981626918800893405309338151156975679110251524612027611236773793539809009237857481779655884615436321 13263418349440227272157639314026094325059238288898050012802637647759878402372481001932752477883256363111876105641184602894232058758314472881297055244908019266126891754570586944451710552655841725519764576031661869929450068235228784459760666498725178316495913571780352614668052723635064610106427533955726192458368143611697562556796287735422280094856737945457910386349956754448576181515557188648382989805098278396367218373115285089655087573424397473705529314521963902734851721604878297333281523197237527261882813434764361614097097002847585924323891256762247881525737589665992634923872941490279575904035971304406057136123342139128206115773821802606607111002388541538111232569784620043343217438604329614442175905606131552264448391722491306910786273766068754865978491521398322782481796269653631673572088971158694105539754322842094799257806549643487338785744841633708516899137120183201455409607870782280576058972579795283691516136321465575839240935520635289967594609485216477382927529771584065015303333843546424559669412445437789747335687242104329769414255105641796578066721454709588312385600899226106186677142704352953399989715341233711675858431284861859704941287856904223051221545296888593814489434261236540211726920411097786132800975152351254386646357077068927260103015085507421554415405316884554046127019994948577382623335613638484640375117947662160957090153255641899926508167001181878994103696635533363117024053482972229575395088606064069652674188114212826640691371353455785920463942338206188124252284403530160828205846796718389017548298686517269748514051307534987725124913577281984084754440160096176347472911754816164320187436839662143302004142789456657090101312895798444743230806672472856916803441160254988816803263885981176901507895805213520108644242261328686630134185462851509687989933591522255512302095866816939168581514947017306072355079628733153856582934418300620247152589986749564172802690954926536805150043523678251310060091336382746638345048562588946951138181275025771742174507627735145763228226002361431846727191492279057870242082504069082831459932163498652360388861755088949316479722114452259868917876569367869056762469599517041521352922704484951774934969762093083382194700990525556226394343745822092686387533104595606963732679553405450478094427586499195827245918070178330086499819325130356142109821484073993090628296527286172851285817925329990342501900316442107461316021796216981647801091580782507354700723569764325449770077128801676486888101236137816393999033449515744621422670222413234432208150400349734199787593419902893081275845984474746677673990995139862256734131963481994419007087586759199624333378127943649817634041162135394901404390788587650640609846018309141802031647857906638282492126628339656298737204185481652868394215426807975641413353454168061212994567723199768123789538244971479600021120183164068334727490341166983375881815602827406253343338464774396298315762013404708148946335949060154002186754157239579418476985320485444194686993216845947521266294933463349464638761707434005367701389084523064818073429868043945245070520509486920414370510680154481537492635480773506264235043 21460661696403317590622997392258426391947712409472259419508459499230971908712592448250555188284527008052763435698791353762937647044335500901387556162852446301733431534027514860979333058656308296159555162792264305606944312532397582550866137000874521874085096545391964957216076823727011972534107830009472188048839454127664465898586502478177995069274266141763762844488717565089686755431810632156995793533724418257871643674065023678563822287307678169288694111073750171791702037676698689133805740571079143264650415861710553861059255123517209965126590570379818315745278453951254697358919854850020252889468183526886412694227476038983317181022094802263431351153348749390242099029954521999815771954464983990583348468566738266475534266961170388460715830497945245791998635469190467306070523520479768445444935703954121215562384344486112499445531770305533975185755205209876708401503383061854042065567892169747142028289540916967236013041185033028238303811530420424404634701804349501315187911652302094484367034070134185457929966821360338463025961071829082800947964000655033241575564226641198512383624746695712896242444354362565282456443225919634514420468054075894386279859172477866880271941778881217307783147985961616159863422442297873064319242377607590176850456086066894052117826029435493397741660873151618527931127340951354230501225985080233696861084738850950751559998183798708575457210514131518088900045104788398276229739502126862908695983343903614125960517509215205273097300845689235081117395138713017686783442642121532078351976236602078610153805602052418362100153871343117081320079094045477362698603342489300955272262547847580069185552819430977270922928123004914347621587847136118957568927440728465892858056206396357881880325661366565453504114859919735502567393493965798673173062852801891985152322732218656949257916423402113890222477802079977937283741745977941174441216277851251019737525380878655942515480379435004088623166476247824226853837788767086499704980851730213255318263059717849410270418000014992539410383437311143415898067323209317834574183666790545974013221408221106136859720906321885460930519529228340866512850442568079306074781944801063119439534511304195884184090719589134205572802748918361958222958328242810596505213283310782939628881325478631281182610995989539058988498627163049816841334862668736729520652752518076525843641094963687978897572527296833369149845300385122664200850089613738872299079559493437231945362838470148877191596104507011101209629163720115404998955711881738325715239879325035812316895776341731428623459058600251608828172966500964121039050523466835012159721164812424139009677630764859852263597801336743281071960798420779269877239141627136931542443485373164571499394202139376507335316954824064110793851274678809006356735049308590414729776824905723314689739515816399008581965382288910763451450693113386816177174373835772326835048336999288853107697105439804568220053629966292632630880420503193696232834225663811192389138424117336616317535774868326177507903239166299842926414916127212349328307885416470127411581025019624355322045121514531651144304219963490775350117260429390879671364 34724080045843544862780636706284520717006950698370309432311097146990850311085073450183307666167783371164639541339975956657169705802649973782684611407760465567860323288598101805431043611312150021679319738823926175536394380767626367010626803499599700190581010117172317571884129547362076582640535363965198380507207597739362028455382790213600275164131004087221673230838674319538262936947367820805378783338822696654238862047180308768218909860732075642994223425595714074526553759281576986467087263768316670526533229296474915475156352126364795889450481827142066197271016043617247332282792796340299828793504154831292469830350818178111523296795916604870038462155737290928353331599739142043158989393069313605025524374172869818739982658683661695371502104264014000657977126990588790088552319790133400119017024675112815321102138667328207298703338319949021313971500046843585225300640503245055497475175762952027718087262120712250927529177506498604077544747051055714372229311289565978698115441423886159499670367913680610017599379266798128210361648313933412570362219106296829819642285681350786824769225645921819082919587058715518682446158567153346190278899338937754091221147029382089931493487075769811122272582247198156371590342853395659197120217529958844563496813163135821312220841114942914952157066190036172574058147335899931613124561598718718337236202686513111708650151439440608501965377515313397083003741740321761393253792985099092484091071949967683778634705623428031913788672199145021001581337476919205811035727045651692906557823033320467627702104288569688110614205178878104806444992671327461447453043502585477302745174302663744389372989659093120572927070912461571437722900742934563700799734113201322809661497366651346698683589547347742355012010665133255611211635755294485303307248315653401673142256323740912461560012290219053058803992749097284009638821374711095031024150696151871266890115367628220115318171334361540893773209999926075536913929125149833138050029414319160206456444334743621152444925627750138302638609439672575262625258815488375704816266170859628805473153571719758497248582661410834777410241643680600735430727011935948362837251544318104640792457215789147659119060481682217587767503739443918184617302074064903282892746387906389903361560878884081759277038582488734886234416697341379903341154187799092871630474236592069616471937622249860830183390452626823711651745616827230125516871885830720520100171140275944586646086408234474326961673233308687588097730399857931798997989161397482947137910101738270244525046176691465628411052478503144690104018950975710798713041518606697268893853128294418558016765217524059476596975929280393098706001960556174171281629930214787572152289503682306373531042060046014789827443583163720409531055460160461874750950476116566056143130279073784527684307239016167132371503627260390363472570876277455150904664715002755702716863939826695106451035570214200866535815643371000781577216369563347698419588382903390610866123744602780811004528991714273698774198172629649307565176623561217717029696969939534945485010893063569600392565631001452065514814900117972312842752741202897143906407 56184741742246862453403634098542947108954663107842568851819556646221822219797665898433862854452310379217402977038767310420107352846985474684072167570612911869593754822625616666410376669968458317838874901616190481143338693300023949561492940500474222064666106662564282529100206371089088555174643193974670568556047051867026494353969292691778270233405270228985436075327391884627949692379178452962374576872547114912110505721245332446782732148039753812282917536669464246318255796958275675600893004339395813791183645158185469336215607249882005854577072397521884513016294497568502029641712651190320081682972338358178882524578294217094840477818011407133469813309086040318595430629693664042974761347534297595608872842739608085215516925644832083832217934761959246449975762459779257394622843310613168564461960379066936536664523011814319798148870090254555289157255252053461933702143886306909539540743655121774860115551661629218163542218691531632315848558581476138776864013093915480013303353076188253984037401983814795475529346088158466673387609385762495371310183106951863061217849907991985337152850392617531979162031413078083964902601793072980704699367393013648477501006201859956811765428854651028430055730233159772531453765295693532261439459907566434740347269249202715364338667144378408349898727063187791101989274676851285843625787583798952034097287425364062460210149623239317077422588029444915171903786845110159669483532487225955392787055293871297904595223132643237186885973044834256082698732615632223497819169687773224984909799269922546237855909890622106472714359050221221887765071765372938810151646845074778258017436850511324458558542478524097843849999035466485785344488590070682658368661553929788702519553573047704580563915208714307808516125525052991113779029249260283976480311168455293658294579055959569410817928713621166949026470551177261946922563120689036205465366974003122286627640748506876057833651713796544982396376476173899763767766913916919637755010266049373461774707394461470562715343627765130842048992876983718678523326138697693539390449837650174779486374979940864634108303567732720238340761172908941601943577454504027668912033489119167760231991727093343543303151201271351793340306488362280142840260402307713879397959671217172842990442204362713040459649578478273945222915324504429720182489050467829601151126989110146142315578717213548809080962979923657080801590917212352789717721975444459392399250699769381818591449246704623204153269337815698689307359563578047203996944873279221272853149981063306056841941953033197057034511537103396298932191917476674919752092042073532281053574293106842697026442848288919328860573730617136379777962758976953441158869071841924503694732989055470945030436262185391297162760537987784520324906734839270881107685525425156470872907103979507842374046754832566140953469009549301126924021569390841967081839088838528029551912276825983959558732675654005434755869273337293414208096790066541394652422608567201803255262168720117427322064766582599876282101411795949150491591539688430066358004855356005072896591918083193955714610752515983716659119120081463088192870001632288023577771 90908821788090407316184270804827467825961613806212878284130653793212672530882739348617170520620093750382042518378743267077277058649635448466756778978373377437454078111223718471841420281280608339518194640440116656679733074067650316572119744000073922255247116779736600100984335918451165137815178557939868949063254649606388522809352082905378545397536274316207109306166066204166212629326546273767753360211369811566349367768425641215001642008771829455277140962265178320844809556239852662067980268107712484317716874454660384811371959376246801744027554224663950710287310541185749361924505447530619910476476493189471352354929112395206363774613928012003508275464823331246948762229432806086133750740603611200634397216912477903955499584328493779203720039025973247107952889450368047483175163100746568683478985054179751857766661679142527096852208410203576603128755298897047159002784389551965037015919418073802578202813782341469091071396198030236393393305632531853149093324383481458711418794500074413483707769897495405493128725354956594883749257699695907941672402213248692880860135589342772161922076038539351062081618471793602647348760360226326894978266731951402568722153231242046743258915930420839552328312480357928903044108149089191458559677437525279303844082412338536676559508259321323302055793253223963676047422012751217456750349182517670371333490111877174168860301062679925579387965544758312254907528585431921062737325472325047876878127243838981683229928756071269100674645243979277084280070092551429308854896733424917891467622303243013865558014179191794583328564229099326694210064436700400257604690347660255560762611153175068847931532137617218416777069947928057223067389333005246359168395667131111512181050939699051279247504756062050163528136190186246724990665004554769279787559484108695331436835379700481872377941003840220007830463300274545956561384495400131236489517670154993553517756116135096173151823048158085876169586476099975300681696039066752775805039680368533668231151729205091715160269255515269144687602316656293941148584954186069244206716008509803584959528551660623131356886229143555015751002816589542337374304466439976031749285033437272401024448942882491202422211682953569381107810227806198327457562476372617162290706059123562746352003083246794799736688160967008831457332021845809623523643238266922472781601225702215758787516339463409639264353432550480792453336534039582915234593861275179912499421840045326405237535654939097531114942571124386277405089963435979002994934034676704219991060082801576301366988129724662685445564015606540989036210868452385718465133560680229549947427421401261255043208065812978805457549659897529478483964719533127612440499002056712075847022492737777318561478322231406086990204121151504929855962194999732755858636001541722527016037383053292370058353993848733273324972636809691490396592445668297117986503803841283732268776216652679066009768245868206301291684916708294195785313159629889093072010991470592414121385913322898238326593758296873575056299584425598458056768163249647783387701825295540018381602811146763556107176383517435782173934020199435401035622742835185167484178 147093563530337269769587904903370414934916276914055447135950210439434494750680405247051033375072404129599445495417510577497384411496620923150828946548986289307047832933849335138251796951249066657357069542056307137823071767367674266133612684500548144319913223442300882630084542289540253692989821751914539517619301701473415017163321375597156815630941544545192545381493458088794162321705724726730127937083916926478459873489670973661784374156811583267560058498934642567163065353198128337668873272447108298108900519612845854147587566626128807598604626622185835223303605038754251391566218098720939992159448831547650234879507406612301204252431939419136978088773909371565544192859126470129108512088137908796243270059652085989171016509973325863035937973787932493557928651910147304877798006411359737247940945433246688394431184690956846895001078500458131892286010550950509092704928275858874576556663073195577438318365443970687254613614889561868709241864214007991925957337477396938724722147576262667467745171881310200968658071443115061557136867085458403312982585320200555942077985497334757499074926431156883041243649884871686612251362153299307599677634124965051046223159433102003555024344785071867982384042713517701434497873444782723719999137345091714044191351661541252040898175403699731651954520316411754778036696689602503300376136766316622405430777537241236629070450685919242656810553574203227426811315430542080732220857959551003269665182537710279587825151888714506287560618288813533166978802708183652806674066421198142876377421573165560103413924069813901056042923279320548581975136202073339067756337192735033818780048003686393306490074616141316260627068983394543008411877923075929017537057221060900214700604512746755859811419964776357972044261715239237838769694253815053256267870652563988989731414435660051283195869717461386956856933851451807903483947616089167441954884644158115840145396864641972230985474761954630858565962952273875064449462952983672413560049946417907130005859123666562277875612883280399986736595193640012619671911092883762783597165846159978364445903531601487765465189796876275254091763989498483939317881920944003700661318522556440161256440669975834745725362884224921174448116716168478470297822878680331041688665730340735589342445287609507840196337739445282776680247346350239343706132288734752073932728214812361901103095056676958448345316412474137873254927451251935704952315836719639304898672539814708223828984901643720735268211908940084966712449527014026206991878907955925492844210063864882358208930082757859742480075552709937287968402785929060638217225602753761831001001714508103952069650914101898134318123390514665858261927478510081053599368073898636579541755481793248263591914584416797384152964659139289450180868929839003636966321526966878997888944487032800212432400748681299414278441646358992617320614015059139085068342892679811761820688493478663025568500921522211736047554190045587609993409949696430487724433600037794217376648082043015665648658524879473451338400996221547608548359702938077849745706680651545091278194729229957511821787136033419498833053140280898489228492744467473191061949 238002385318427677085772175708197882760877890720268325420080864232647167281563144595668203895692497879981488013796253844574661470146256371617585725527359666744501911045073053610093217232529674996875264182496423794502804841435324582705732428500622066575160340222037482731068878207991418830805000309854408466682556351079803539972673458502535361028477818861399654687659524292960374951032271000497881297295286738044809241258096614876786016165583412722837199461199820888007874909437980999736853540554820782426617394067506238958959526002375609342632180846849785933590915579940000753490723546251559902635925324737121587234436519007507568027045867431140486364238732702812492955088559276215242262828741519996877667276564563893126516094301819642239658012813905740665881541360515352360973169512106305931419930487426440252197846370099373991853286910661708495414765849847556251707712665410839613572582491269380016521179226312156345685011087592105102635169846539845075050661860878397436140942076337080951452941778805606461786796798071656440886124785154311254654987533449248822938121086677529660997002469696234103325268356665289259600122513525634494655900856916453614945312664344050298283260715492707534712355193875630337541981593871915178558814782616993348035434073879788717457683663021054954010313569635718454084118702353720757126485948834292776764267649118410797930751748599168236198519118961539681718844015974001794958183431876051146543309781549261271055080644785775388235263532792810251258872800735082115528963154623060767845043876408573968971938249005695639371487508419875276185200638773739325361027540395289379542659156861462154421606753758534677404138931322600231479267256081175376705452888192011726881655452445807139058924720838408135572397905425484563760359258369822536055430136672684321168249815360533155573810721301606964687397151726353860045332111489298678444402314313109393663152980777068404137297810112716734735549428373850365131158992050425189365089626786440798237010852871653993035882138795669131424197510296306560820496047069832027803881854669781949405432083262110896822076026019830269842766806088026276692186387383979732410603555993712562280889612858325948147574567178490555555926943974676797755385355052948203979371789464298335694448370856302639933025900412291608137579368196048967229775527001674546714329440514577659890611396140368087609669845024618665708263985291518620186909697994819217398094379860034629066520556582818266383154480064471244117539490450005209986812942632629712835270146666458659575918212482522427925639568316478277004613654381446356682359163433991380948429135909365207112858979914876939775673050412195336745892198043208666039867075955348655388777974531025582153392906648203471143168780290794380036831124838736392824957528508601524904981870086092582490754742530032687603414283168684107717206460727436203054846696521095494089464710131342091578269167390418037339239106753881805778723109326319580796444591508386631498033995365913903975252283176347026394700580647146066605127866187725633133408505947085109659797540376721067928963519550855281006987160480333890264115487302658358546127 385095948848764946855360080611568297695794167634323772556031074672081662032243549842719237270764902009580933509213764422072045881642877294768414672076345956051549743978922388748345014183778741654232333724552730932325876608802998848839345113001170210895073563664338365361153420497531672523794822061768947984301858052553218557135994834099692176659419363406592200069152982381754537272737995727228009234379203664523269114747767588538570390322394995990397257960134463455170940262636109337405726813001929080535517913680352093106547092628504416941236807469035621156894520618694252145056941644972499894795374156284771822113943925619808772279477806850277464453012642074378037147947685746344350774916879428793120937336216649882297532604275145505275595986601838234223810193270662657238771175923466043179360875920673128646629031061056220886854365411119840387700776400798065344412640941269714190129245564464957454839544670282843600298625977153973811877034060547837001007999338275336160863089652599748419198113660115807430444868241186717998022991870612714567637572853649804765016106584012287160071928900853117144568918241536975871851484666824942094333534981881504661168472097446053853307605500564575517096397907393331772039855038654638898557952127708707392226785735421040758355859066720786605964833886047473232120815391956224057502622715150915182195045186359647427001202434518410893009072693164767108530159446516082527179041391427054416208492319259540858880232533500281675795881821606343418237675508918734922203029575821203644222465449574134072385862318819596695414410787740423858160336840847078393117364733130323198322707160547855460911681369899850938031207914717143239891145179157104394242510109252911941582259965192562998870344685614766107616659620664722402530053512184875792323300789236673310899664251020584438769680438762993921544331003178161763529279727578466120399286958471225233808549845419040635122772572067347593301512380647725429580621945034097602925139573204347928242869976538216270911495022076069118160792703936319180492407139953594811401047700829760313851335614863598662287265822896105523934530795586510216010068308327983433071922078550152723537330282834160693872937451403411730004043660143155268053208233733279245668037519805033925036893658465810480129363639857574384817826714546288310935907815736426620647057655326939560993706452817326535954986257498756538963191436543454325139225534714458522296766919674742852895505458226539001651366389004556210829989017464031416978691850588555205679480210531341017784848295240382170405715121026415564973016440310506994899584766187753211949430850417469159182509894016775074093796440926861195007819676553289719639235149853985234930533456324273845745307491065000855296133439430083830217700054677740029791279055475480522793926357118892794923155491211332101881855929527676725037820475786575288123189589200907255910153203610005117146770088912629773386793296799469415772133059022750068520878191546180848874682077408929569623910808055820477733101576868693675153487569125803482879115186598630200937992269606678579750750655584274779840040300761232379492608231770131549608076 623098334167192623941132256319766180456672058354592097976111938904728829313806694438387441166457399889562421523010018266646707351789133666386000397603705622796051655023995442358438231416308416651107597907049154726828681450238323431545077541501792277470233903886375848092222298705523091354599822371623356450984414403633022097108668292602227537687897182267991854756812506674714912223770266727725890531674490402568078356005864203415356406487978408713234457421334284343178815172074090337142580353556749862962135307747858332065506618630880026283868988315885407090485436198634252898547665191224059797431299481021893409348380444627316340306523674281417950817251374777190530103036245022559593037745620948789998604612781213775424048698576965147515253999415743974889691734631178009599744345435572349110780806408099568898826877431155594878707652321781548883115542250645621596120353606680553803701828055734337471360723896594999945983637064746078914512203907087682076058661199153733597004031728936829370651055438921413892231665039258374438909116655767025822292560387099053587954227670689816821068931370549351247894186598202265131451607180350576588989435838797958276113784761790104151590866216057283051808753101268962109581836632526554077116766910325700740262219809300829475813542729741841559975147455683191686204934094309944814629108663985207958959312835478058224931954183117579129207591812126306790249003462490084322137224823303105562751802100808802129935313178286057064031145354399153669496548309653817037731992730444264412067509325982708041357800567825292334785898296160299134345537479620817718478392273525612577865366317409317615333288123658385615435346846039743471370412435238279770947962997444923668463915417638370137929269406453174243189057526090206966290412770554698328378730925909357632067914066381117594343491160064600886231728154904515623574611839067764798843689272784334627471702826196109039260070382180064328037061809021575794711780937084522792290229199990788726479880829409870263947377160871738249584990214232625741312903187023426839204929555499542263256767698125709559109341848915935793777297601674536492702254695711963165482525634543865285818219895692486642020512018581902285559970604117832065808593588786227449647409309269332260731342029322113120062389540269865992955406082742337278165683342738101167361387095841517220884317848957694623564656102523375204671455421834972945326135232709277739694861299534777481962026014809357268034520869069027454947528507914036626965504793221184918514750357197799677360766507722904598331354689342893841977630094691953351581943929621744592897859986326834366295368873931652013869469491339056531753711874596498385679102225809333890319311430855299427898700397713204326439302219720878210254531179516476422616236583984082047698908227204985377413910233741364789485270212696360832755026936514011491178036285722002749999617913741347208725039256303047810726032403553351221550856168349069649317322783054567480372716072774843473599163091232167504127802157515839741758615435313529116012523692545715310597789809983399647679714175135130060847027461241566269756723719072789908154203 1008194283015957570796492336931334478152466225988915870532143013576810491346050244281106678437222301899143355032223782688718753233432010961154415069680051578847601399002917831106783245600087158305339931631601885659154558059041322280384422654502962488365307467550714213453375719203054763878394644433392304435286272456186240654244663126701919714347316545674584054825965489056469449496508262454953899766053694067091347470753631791953926796810373404703631715381468747798349755434710199674548307166558678943497653221428210425172053711259384443225105795784921028247379956817328505043604606836196559692226673637306665231462324370247125112586001481131695415270264016851568567250983930768903943812662500377583119541948997863657721581302852110652790849986017582209113501927901840666838515521359038392290141682328772697545455908492211815765562017732901389270816318651443686940532994547950267993831073620199294926200268566877843546282263041900052726389237967635519077066660537429069757867121381536577789849169099037221322676533280445092436932108526379740389930133240748858352970334254702103981140860271402468392463104839739241003303091847175518683322970820679462937282256859236158004898471716621858568905151008662293881621691671181192975674719038034408132489005544721870234169401796462628165939981341730664918325749486266168872131731379136123141154358021837705651933156617635990022216664505291073898779162909006166849316266214730159978960294420068342988815545711786338739827027176005497087734223818572551959935022306265468056289974775556842113743662886644889030200309083900722992505874320467896111595757006655935776188073477957173076244969493558236553466554760756886711261557614395384165190473106697835610046175382830933136799614092067940350805717146754929368820466282739574120702031715146030942967578317401702033113171598827594807776059158082677387103891566646230919242976231255559861280252671615149674382842954247411921338574189669301224292402882118620395215368773195136654722750805948086534858872182947807367745782918168944921805310326977021650605977256329302577108103312989308221396607671812041317711828397261046708712323004039946598554447713094018009355550178526647335893449469985314015564014264260987333861801822519506695315446829074366185768235687787923600191753180127440377773232797288625589101591158474527788008444751168456781878024301775021159519642360022131743634646858378427270465360767423736261991628219209520334857531473035896269685887258073583665777517525378068043944196643809740124194230567729140695145614802963286768737069810369309406950646535002460346481528695809497804847290836744303525477878767948427087963265932265917726761531551149788105318337375663319125249844887179573273644007888778205181735435659150962040472231234194216452407515639459562570492834584323878172337065724952696891367126142224037557792847412300586779301225874922910005909771117351352325871809345215677584112825700352820637322989227371819717838200974600748329247398150183773043223073899287987981860903734384533416912103004439332598891638879144345511535782079590078227430464830719404840687067762002798649249331950842921457762279 1631292617183150194737624593251100658609138284343507968508254952481539320659856938719494119603679701788705776555233800955365460585221144627540415467283757201643653054026913273465221477016395574956447529538651040385983239509279645711929500196004754765835541371437090061545598017908577855232994466805015660886270686859819262751353331419304147252035213727942575909582777995731184361720278529182679790297728184469659425826759495995369283203298351813416866172802803032141528570606784290011690887520115428806459788529176068757237560329890264469508974784100806435337865393015962757942152272027420619489657973118328558640810704814874441452892525155413113366087515391628759097354020175791463536850408121326373118146561779077433145630001429075800306103985433326184003193662533018676438259866794610741400922488736872266444282785923367410644269670054682938153931860902089308536653348154630821797532901675933632397560992463472843492265900106646131640901441874723201153125321736582803354871153110473407160500224537958635214908198319703466875841225182146766212222693627847911940924561925391920802209791641951819640357291437941506134754699027526095272312406659477421213396041621026262156489337932679141620713904109931255991203528303707747052791485948360108872751225354022699709982944526204469725915128797413856604530683580576113686760840043121331100113670857315763876865110800753569151424256317417380689028166371496251171453491038033265541712096520877145118750858890072395803858172530404650757230772128226368997667015036709732468357484101539550155101463454470181364986207380061022126851411800088713830074149280181548354053439795366490691578257617216622168901901606796630182631970049633663936138436104142759278510090800469303274728883498521114593994774672845136335110879053294272449080762641055388575035492383782819627456662758892195694007787312987193010678503405713995718086665504039894488751955497811258713642913336427476249375635998690877019004183819203143187505597973185925381202631635357956798806249343819545617330773132401570663118213514000448489810906811828844840364871011115017780505949520727977111489125998935583201414577699751909764036973347637883295173770074219133977913961488567216301123984868378819399670395411305734144962856138343698446499577717110036720254142720397306370728638880030962867267274501212628955369831847009974002762342150732715783084298462545506948306102280213400215791496000133014001686489518744297816819557487845253537720408127142611120725046033292104670909701437030925042708980924926940372506381310686191367068424499712203248928276629694413698063472625431242397745150823071137891773247641880079101832735423604974258515243425746286490997439601472653015569156318034872701542708286491409508174737878871840250726762413710692875023752223443644618191742811528863549750975958694061680852396354920398390547874348814598270479262160644912755909389031092699534596848601518725394838858103906171858873845395720889367155523757655315809620114222958616516822236990520155485988705891900373158670718439752861714904162571690060822133571889573477875110179005854534901534095223244364919006055669915711365916482 2639486900199107765534116930182435136761604510332423839040397966058349812005907183000600798040902003687849131587457583644084213818653155588694830536963808780491254453029831104572004722616482733261787461170252926045137797568320967992313922850507717254200848838987804274998973737111632619111389111238407965321556959316005503405597994546006066966382530273617159964408743484787653811216786791637633690063781878536750773297513127787323210000108725218120497888184271779939878326041494489686239194686674107749957441750604279182409614041149648912734080579885727463585245349833291262985756878863617179181884646755635223872273029185121566565478526636544808781357779408480327664605004106560367480663070621703956237688510776941090867211304281186453096953971450908393116695590434859343276775388153649133691064171065644963989738694415579226409831687787584327424748179553532995477186342702581089791363975296132927323761261030350687038548163148546184367290679842358720230191982274011873112738274492009984950349393636995856537584731600148559312773333708526506602152826868596770293894896180094024783350651913354288032820396277680747138057790874701613955635377480156884150678298480262420161387809649301000189619055118593549872825219974888940028466204986394517005240230898744569944152346322667097891855110139144521522856433066842282558892571422257454241268028879153469528798267418389559173640920822708454587807329280502418020769757252763425520672390940945488107566404601858734543685199706410147844964995946798920957602037342975200524647458877096392268845126341115070395186516463961745119357286120556609941669906286837484130241513273323663767823227110774858722368456367553516893893527664029048101328909210840594888556266183300236411528497590589054944800491819600065703931345336033846569782794356201419518003070701184521660569834357719790501783846471069870397782394972360226637329641735295454350032208169426408388025756290674888170714210188360178243296586701321763582720966746381062035925382441306043333665121526767352985076556050570515584923523840977470140416884068158147417472974324104326001902557192540018429200954396196629910126900703791856362591421060731901304529320252745781313807410958552530316687999132639806733532197233825240840278302967418064632267813404897960320445895900524746748501871677319588456368865659687156743378276598178430784640366452507736942603940822567638691940749138591827486256856767556750263678117737953818151677088960881149807406295385216194786502563558670172714853898080840665166903211492656081067651996113649478135805494310081512655878923164696874044545001321240740202592441659815441417251126409828506189796001355870891985276774976896074596315776977135972140819001205214445975186716175269614689910173538022802291198993647904909327431267862903207188684577395852741722088041683646758572219522497144435948340721761115185049780488035567822761819160148444051860468657946734402978951683804258992496196834623092709084993724732256064138867512373142389560045310889808143467849609626284906575582821444192194313795801450834406333669353969163556102540643836573939742221162985247163568255387620758632823678761 4270779517382257960271741523433535795370742794675931807548652918539889132665764121720094917644581705476554908142691384599449674403874300216235246004247565982134907507056744378037226199632878308218234990708903966431121037077600613704243423046512472020036390210424894336544571755020210474344383578043423626207827646175824766156951325965310214218417744001559735873991521480518838172937065320820313480361510063006410199124272623782692493203407077031537364060987074812081406896648278779697930082206789536556417230279780347939647174371039913382243055363986533898923110742849254020927909150891037798671542619873963782513083733999996008018371051791957922147445294800109086761959024282351831017513478743030329355835072556018524012841305710262253403057956884234577119889252967878019715035254948259875091986659802517230434021480338946637054101357842267265578680040455622304013839690857211911588896876972066559721322253493823530530814063255192316008192121717081921383317304010594676467609427602483392110849618174954491752492929919852026188614558890673272814375520496444682234819458105485945585560443555306107673177687715622253272812489902227709227947784139634305364074340101288682317877147581980141810332959228524805864028748278596687081257690934754625877991456252767269654135290848871567617770238936558378127387116647418396245653411465378785341381699736469233405663378219143128325065177140125835276835495651998669192223248290796691062384487461822633226317263491931130347543372236814798602195768075025289955269052379684932993004942978635942423946589795585251760172723844022767246208697920645323771744055567019032484294953068690154459401484727991480891270357974350147076525497713662712037467345314983354167066356983769539686257381089110169538795266492445202039042224389328119018863556997256808093038563084967341288026497116611986195791633784057063408460898378074222355416307239335348838784163667237667101668669627102364420089846187051055262300770520524906770226564719566987417128014076664000132471370870586898602407329182972086248041737354977918630227790879986992257837845335219343782408506713267995540690080395132213111541478403543766126628394408369784599703090326964915291721372447119746617811984001018626133202592645130974985241159105761763078767391122007997040700038620922053119230510557350551323636140160899785698748108445188404787402708603240452725688239285113145640246851418805227702048352767689764265364607256698115968496646448726403345126703512358805907227609591962277385763599517871590209612192417583021440158377424335669502873918809793715904807199794391287742608473946671982600337592482886579309024374051708585291628736779475866243792018402642361087313216578608625156388157523249318676729424461761024198084911416894642541925756061615602202455020086346851806876320207381605271839017642340820253071918852064834338888596109929783320259750196212735517728549179536751395065506548253128373790541908165164355070680018813598452149248489911379948487626596101006076867547880328298953838315518185279734253539883945056028699964022524467155802925858737033977650822842428474643755258208491528487261443290674344189595243 6910266417581365725805858453615970932132347305008355646589050884598238944671671304720695715685483709164404039730148968243533888222527455804930076541211374762626161960086575482609230922249361041480022451879156892476258834645921581696557345897020189274237239049412698611543545492131843093455772689281831591529384605491830269562549320511316281184800274275176895838400264965306491984153852112457947170425291941543160972421785751570015703203515802249657861949171346592021285222689773269384169276893463644306374672030384627122056788412189562294977135943872261362508356092682545283913666029754654977853427266629599006385356763185117574583849578428502730928803074208589414426564028388912198498176549364734285593523583332959614880052609991448706500011928335142970236584843402737362991810643101909008783050830868162194423760174754525863463933045629851593003428220009155299491026033559793001380260852268199487045083514524174217569362226403738500375482801559440641613509286284606549580347702094493377061199011811950348290077661520000585501387892599199779416528347365041452528714354285579970368911095468660395705998083993303000410870280776929323183583161619791189514752638581551102479264957231281141999952014347118355736853968253485627109723895921149142883231687151511839598287637171538665509625349075702899650243549714260678804545982887636239582649728615622702934461645637532687498706097962834289864642824932501087212993005543560116583056878402768121333883668093789864891228571943224946447160764021824210912871089722660133517652401855732334692791716136700322155359240307984512365565984041201933713413961853856516614536466342013818227224711838766339613638814341903663970419025377691760138796254525823949055622623167069776097785878679699224483595758312045267742973569725361965588646351353458227611041633786151862948596331474331776697575480255126933806243293350434448992745948974630803188816371836664075489694425917777252590804056375411233505597357221846670352947531465948049453053396517970043466136492397354251587483885233542601832965261195955388770644674948145139675310819659323669784311063905808013969891034791328843021668379107335622489219815469101685904232410579710696605528783405672276934499983133658432866734789878956215825519462073179827711035204526905957361145934521446799867732382234670139780005005820586942442126385043366835572043075055748189668292180107680784332187600557397055188305209535246514529042724994651934120173735409607553152532998897575000693730173150632450100617497598712255376515403910239102507810373537985147638679413119875228560686122959088161787153475267912722802930034142702020726275500461537091481424738135346758229068793379538435683628993555744597297207158728463764651916140637030638887995084954917444833124749709520511529886287949250058995560897603234346993927059325987578825291441349209270287229317871044968370040238231780558279547709327980803255534164494987531352742225712424156851267514641906307537142973222167444087355138969243395636912858770136442421687925144470186309836361328137250342495765473358873489472279827900590080191466679002414385976421193738692055516830911432977013274004 11181045934963623686077599977049506727503090099684287454137703803138128077337435426440790633330065414640958947872840352842983562626401756021165322545458940744761069467143319860646457121882239349698257442588060858907379871723522195400800768943532661294273629259837592948088117247152053567800156267325255217737212251667655035719500646476626495403218018276736631712391786445825330157090917433278260650786802004549571171546058375352708196406922879281195226010158421404102692119338052049082099359100253180862791902310164975061703962783229475677220191307858795261431466835531799304841575180645692776524969886503562788898440497185113582602220630220460653076248369008698501188523052671264029515690028107764614949358655888978138892893915701710959903069885219377547356474096370615382706845898050168883875037490670679424857781655093472500518034403472118858582108260464777603504865724417004912969157729240266046766405768017997748100176289658930816383674923276522562996826590295201226047957129696976769172048629986904840042570591439852611690002451489873052230903867861486134763533812391065915954471539023966503379175771708925253683682770679157032411530945759425494878826978682839784797142104813261283810284973575643161600882716532082314190981586855903768761223143404279109252422928020410233127395588012261277777630666361679075050199394353015024924031428352091936340125023856675815823771275102960125141478320584499756405216253834356807645441365864590754560200931585720995238771944180039745049356532096849500868140142102345066510657344834368277116738305932285573915531964152007279611774681961847257485158017420875549098831419410703972686626196566757820504909172316253811046944523091354472176263599840807303222688980150839315784043259768809394022391024804490469782015794114690084607509908350715035704080196871119204236622828590943762893367114039183997214704191728508671348162256213966152027600535503901742591363095544879617010893902562462288767898127742371577123174096185515036870181410594634043598607863267941150189891214416514688081006998550933307400872465828132131933148664994543013566719570619076009510581115186461056133209857510879388615848209877471470503935500906675611897250155852792023552311967134677058999937382524087190810760621178941590789802595648913954401845973142368852986962892792020691103641145981486728140874493488555240359445783658988642393980419392793929972434451976202282890353562302936278794407332251350050088670381858333956497659702409933806600957782742594727486381097116583845586127596327822123947968750962320817141553331929668944465493322753479449529761949214584705403267626625588600035299874513245676773053474914822624472860811782180796770942210134353222453595316251713083328645565098791663086079996371812087375050505771136113732341308035596910802437217810615952265766076968328399078363360201274104626117913980974751690299988427993293797276258507517554650599671043240659726532767620589321206338194660719905989292221712078824035842765565344401713780406650464741375526240662655466044089901212082306371195729495883340645275205686637624057842289521430889029731679402230220542778274202107321202869247 18091312352544989411883458430665477659635437404692643100726754687736367022009106731161486349015549123805362987602989321086517450848929211826095399086670315507387231427229895343255688044131600391178279894467217751383638706369443777097358114840552850568510868309250291559631662739283896661255928956607086809266596857159485305282049966987942776588018292551913527550792051411131822141244769545736207821212093946092732143967844126922723899610438681530853087959329767996123977342027825318466268635993716825169166574340549602183760751195419037972197327251731056623939822928214344588755241210400347754378397153133161795283797260370231157186070208648963384005051443217287915615087081060176228013866577472498900542882239221937753772946525693159666403081813554520517593058939773352745698656541152077892658088321538841619281541829847998363981967449101970451585536480473932902995891757976797914349418581508465533811489282542171965669538516062669316759157724835963204610335876579807775628304831791470146233247641798855188332648252959853197191390344089072831647432215226527587292248166676645886323382634492626899085173855702228254094553051456086355595114107379216684393579617264390887276407062044542425810236987922761517337736684785567941300705482777052911644454830555790948850710565191948898637020937087964177427874216075939753854745377240651264506681156967714639274586669494208503322477373065794415006121145517000843618209259377916924228498244267358875894084599679510860130000516123264691496517296118673711781011231825005200028309746690100611809530022068985896070891204459991791977340666003049191198571979274732065713367885752717790913850908405524160118547986658157475017363548469046232315059854366631252278311603317909091881829138448508618505986783116535737524989363840052050196156259704173263315121830657271067185219160065275539590942594294310931020947485078943120340908205188596955216416907340565818081057521462656869601697958937873522273495484964218247476121627651463086323234807112604087064744355665295401777375099650057289913972259746888696171517140776277271608459484653866683351030634524884023480472149977789899154878236618215011105068025346573156408167911486386308502778939258464300486811950268335491866672172403043406636280083252121418500837800175819911762991907663815652854695275026690830883646151802073670583000878531922075931488858714736832062272599500474714304622052533599338078658771838182793323450057246001984208844117267941509650192701307508807294687955893227177586998594715296100962643000238061226455779124500305964780232745049544173026179445712567611316915424482497428206197660768290620761575374974782768254478213050169382701929605161719232454571203690097819750802474980176847980561705735822301974075081326729532208175255480656625262227595984846969797998115413850299259693136294315977903654801550483374913347231852019720060340226659773852076823967835498357906133835538228191079274993333013478057605709302626213526435194934246268123197904534587797350693265420601183797214165807125652353926262540219556713691494969242214134747485514538214138033756200433303415708100595968912598295105113540298216143251 29272358287508613097961058407714984387138527504376930554864458490874495099346542157602276982345614538446321935475829673929501013475330967847260721632129256252148300894373215203902145166013839740876537337055278610291018578092965972498158883784085511862784497569087884507719779986435950229056085223932342027003809108827140341001550613464569271991236310828650159263183837856957152298335686979014468471998895950642303315513902502275432096017361560812048313969488189400226669461365877367548367995093970006031958476650714577245464713978648513649417518559589851885371289763746143893596816391046040530903367039636724584182237757555344739788290838869424037081299812225986416803610133731440257529556605580263515492240895110915892665840441394870626306151698773898064949533036143968128405502439202246776533125812209521044139323484941470864500001852574089310167644740938710506500757482393802827318576310748731580577895050560169713769714805721600133142832648112485767607162466875009001676261961488446915405296271785760028375218844399705808881392795578945883878336083088013722055781979067711802277854173516593402464349627411153507778235822135243388006645053138642179272406595947230672073549166857803709620521961498404678938619401317650255491687069632956680405677973960070058103133493212359131764416525100225455205504882437618828904944771593666289430712585319806575614711693350884319146248648168754540147599466101500600023425513212273731873939610131949630454285531265231855368772460303304436545873828215523212649151373927350266538967091524468888926268328001271469986423168611999071589115347964896448683729996695607614812199305163421763600477104972281980623457158974411286064308071560400704491323454207438555501000583468748407665872398217318012528377807921026207307005157954742134803666168054888299019202027528390271421841988656219302484309708333494928235651676807451791689070461402563107244017442844467560672420617007536486612591861500335811041393612706589824599295723836978123193416217707238130663352218933236551967266314066571977994979258297822003572389606604409403541608149648409696917750205143960032991053265164250955288088094129094399720916235224044626912103412393061920400029095111256324039123917403012550866609554927130597447040704431063009290640395824733866164837880806184505841658167818711521987287297783560398723875372020477316290934642373725474456253018893268644277056504509801620969012334141119072117857389497352034297514499126275466147852403717442613895645738635821905073379691831879946548770596565883350403747875462626781921786076979213117491672768466047060846677373697082133609465287393879220796875249488028445027531687964992007174790416943900029225513413824451042204397791231889931309207270834613965060155077698541619583225761251792738994568904020443880600435333224466251525459213262644376982018161751757479539465145832994471750640215087767145874100226343015912556733506581468850805807760953602799263943903963346119515727416646325092159040670099932199064473672071065925172740406469781118398016163752301863084887224465125554780022691201175838195876045721864192445439779998199133141073379315647619419012498 47363670640053602509844516838380462046773964909069573655591213178610862121355648888763763331361163662251684923078818995016018464324260179673356120718799571759535532321603110547157833210145440132054817231522496361674657284462409749595516998624638362431295365878338176067351442725719846890312014180539428836270405965986625646283600580452512048579254603380563686813975889268088974439580456524750676293210989896735035459481746629198155995627800242342901401928817957396350646803393702686014636631087686831201125050991264179429225465174067551621614845811320908509311112691960488482352057601446388285281764192769886379466035017925575896974361047518387421086351255443274332418697214791616485543423183052762416035123134332853646438786967088030292709233512328418582542591975917320874104158980354324669191214133748362663420865314789469228481969301676059761753181221412643409496649240370600741667994892257197114389384333102341679439253321784269449901990372948448972217498343454816777304566793279917061638543913584615216707867097359559006072783139668018715525768298314541309348030145744357688601236808009220301549523483113381761872788873591329743601759160517858863665986213211621559349956228902346135430758949421166196276356086103218196792392552410009592050132804515861006953844058404308030401437462188189632633379098513558582759690148834317553937393742287521214889298362845092822468726021234548955153720611618501443641634772590190656102437854399308506348370130944742715498772976426569128042391124334196924430162605752355466567276838214569500735798350070257366057314373071990863566456013967945639882301975970339680525567190916139554514328013377806140742005145632568761081671620029446936806383308574069807779312186786657499547701536665826631034364591037561944831994521794794184999822427759061562334323858185661338607061148721494842075252302627805859256599161886394912029978666591160062460434350185033378753478138470193356214289820438209333314889097670808072075417351488441209516651024819842217728096574598531953744641413716629267908951518044710699743906747380686675150067634302276380268780839668844056471525415142040854442966330747309410825984260570617783320271323879448228902808034369720624525935867671348042733281727330174004083320787683184427791478196000553777927829788470000158696353442845402352870933449585634069306876250552399392222423501088462306518525618393743358581678557043400959047671105979301865441307446743354018506358616394216975798045105024951421190333694529049082660378286547176047511413596803944576859526999962932746702018822028757290517852214178614672163592798179579561815662948162169841558450624462811213282009901015161389876720022105619261680084617514548861955200266212066779289768976570436267034230159025271151791401016732449364256796500005290850398433448638316550785152349556960354885672963302240854452812377685014191810980441747540997950924194178514270462867342119697041885082754286616277321549613265972333042162611580571360282238574634519996415166937491667108969954572276906770751942426292521419798578719434367768914770176715714052333909801922297495861147880594168045739368484429187917635155749 76636028927562215607805575246095446433912492413446504210455671669485357220702191046366040313706778200698006858554648668945519477799591147520616842350928828011683833215976325751059978376159279872931354568577774971965675862555375722093675882408723874294079863447426060575071222712155797119368099404471770863274215074813765987285151193917081320570490914209213846077159727125046126737916143503765144765209885847377338774995649131473588091645161803154949715898306146796577316264759580053563004626181656837233083527641978756674690179152716065271032364370910760394682402455706632375948873992492428816185131232406610963648272775480920636762651886387811458167651067669260749222307348523056743072979788633025931527364029443769539104627408482900919015385211102316647492125012061289002509661419556571445724339945957883707560188799730940092981971154250149071920825962351353915997406722764403568986571203005928694967279383662511393208968127505869583044823021060934739824660810329825778980828754768363977043840185370375245083085941759264814954175935246964599404104381402555031403812124812069490879090981525813704013873110524535269651024695726573131608404213656501042938392809158852231423505395760149845051280910919570875214975487420868452284079622042966272455810778475931065056977551616667162165853987288415087838883980951177411664634920427983843368106327607327790504010056195977141614974669403303495301320077720002043665060285802464387976377464531258136802655662209974570867545436729873564588264952549720137079313979679705733106243929739038389662066678071528836043737541683989935155571361932842088566031972665947295337766496079561318114805118350088121365462304606980047145979691589847641297706762781508363280312770255405907213573934883144643562742398958588152138999679749536319803488595813949861353525885714051610028903137377714144559562010961300787492250838693846703719049127993723169704451793029500939425898755477729842826881681938545144356282710377397896674713075325419332710067242527080348391448793531768505711907727783201245903930776342532703316296353985096078691675783950686077186531044812804089462578680306291809731054424876403810546900495794662410232374736272510149302837129480976948565059785074360593599891282257304601530361492114247437082118591825287644092667669276184664538011610664113874858220747369194468030751622572876708513358143462187780974778637287012002858735061553202580016683440120420937559164836240706052803873115520492441945897508742394035085979433164870987733757978379055994060184193369827927263274875425559528623804899007970408009524982644661733010270171876661695425128235556049062355325873950839658309541588980153397051510439049519290905598031338999904159598057443956710598976247405050232094385236723812771374626777984242103251365404025734730998868781862782802310611562819604731867691125053998333992277523518008663561620656835308143825024420521530183019600848701165892690890515240219076585493517229318452557890028226896452441279244734452195479640609562733034142694978746687889149958590044823282883465943899493323694792867916889890529785847644161688306587660592367178880441863744835537054168247 123999699567615818117650092084475908480686457322516077866046884848096219342057839935129803645067941862949691781633467663961537942123851327193972963069728399771219365537579436298217811586304720004986171800100271333640333147017785471689192881033362236725375229325764236642422665437875644009680113585011199699544621040800391633568751774369593369149745517589777532891135616393135101177496600028515821058420875744112374234477395760671744087272962045497851117827124104192927963068153282739577641257269343668434208578633242936103915644326783616892647210182231668903993515147667120858300931593938817101466895425176497343114307793406496533737012933906198879254002323112535081641004563314673228616402971685788347562487163776623185543414375570931211724618723430735230034716987978609876613820399910896114915554079706246370981054114520409321463940455926208833674007183763997325494055963135004310654566095263125809356663716764853072648221449290139032946813394009383712042159153784642556285395548048281038682384098954990461790953039118823821026959074914983314929872679717096340751842270556427179480327789535034005563396593637917031523813569317902875210163374174359906604379022370473790773461624662495980482039860340737071491331573524086649076472174452975864505943582991792072010821610020975192567291449476604720472263079464735994424325069262301397305500069894849005393308419041069964083700690637852450455040689338503487306695058392655044078815318930566643151025793154717286366318413156442692630656076883917061509476585432061199673520767953607890397865028141786202101051914755980798722027375900787728448333948636286975863333686995700872629133131727894262107467450239548808227651311619294578104090071355578171059624957042063406761275471548971274597106989996150096970994201544330504803311023573011423687849743899712948635964286099208986634814313589106646748850000580241615749027794584883232164886143214534318179376893947923199041171502376754477671171808048205968750130426813860542226718267346922566119545368130300459456549141499830513812882294387243403060203101365782753841743418252962457455311884481648145934104095448332664174020755623713221372884756365280193552646060151958378205645163850697573090995652745708636333173009587478605613682279797431864873596787825841422020497457746184823234365053509516227729154196954828537337627873125276100735781644550650087493304255680755361440413618596603539064354546099722803000472282984060071310231731914709417743942613767345456276313127693920070394136264926232041571597790173772504122801875388492275325823721036727698527377196823276405173862970056241257240791183718218903913776498413650871591551489995314786928230461155138552585682648853548766114798323656023489888745223975486499128615395749083923166027794716691467508161904031025581397302230501099353095763912376565086753364088356239188445089901203022855372601098582849141775948614700044453482468190820862934575973269526835353907043130495290785600052639807467812723517819368972191894807547054400143112649551023594659901901016337344702682044663333861092609563044632603942863695649566459184167735541186535224619810348174023454689323996 200635728495178033725455667330571354914598949735962582076502556517581576562760030981495843958774720063647698640188116332907057419923442474714589805420657227782903198753555762049277789962463999877917526368678046305606009009573161193782868763442086111019455092773190297217493888150031441129048212989482970562818836115614157620853902968286674689720236431798991378968295343518181227915412743532280965823630761591489713009473044892145332178918123848652800833725430250989505279332912862793140645883451000505667292106275221692778605823479499682163679574553142429298675917603373753234249805586431245917652026657583108306762580568887417170499664820294010337421653390781795830863311911837729971689382760318814279089851193220392724648041784053832130740003934533051877526842000039898879123481819467467560639894025664130078541242914251349414445911610176357905594833146115351241491462685899407879641137298269054504323943100427364465857189576796008615991636415070318451866819964114468335266224302816645015726224284325365706874038980878088635981135010161947914333977061119651372155654395368496670359418771060847709577269704162452301174838265044476006818567587830860949542771831529326022196967020422645825533320771260307946706307060944955101360551796495942136961754361467723137067799161637642354733145436765019808311147060415913406088959989690285240673606397502176795897318475237047105698675360041155945756360767058505530971755344195119432055192783461824779953681455364691857233863849886316257218921029433637198588790565111766932779764697692646280059931706213315038144789456439970733877598737833629817014365921302234271201100183075262190743938250077982383472929754846528855373631003209142219401796834137086534339937727297469313974849406432115918159849388954738249109993881293866824606799619386961285041375629613764558664867423476923131194376324550407434241100839274088319468076922578606401869337936244035257605275649425653041868053184315299622027454518425603865424843502139279874936785509874002914510994161662068965168456869283031759716813070729776106376499455350878832533419202203648534641842929294452235396682775754624473905075180500117031919785252159942603785020796424468527508482293331674521656055437820069229933064291844783207144043771911679301955715379651129066113165127022369487772376664173630102587374944324023005368379495698152809249139788012837868468082892967767364299148680149806119081037986220143740559637119224766124114104847435201859689840122509739491362292560858791058127894243305288035631781983543600431386076750814051803949628620044698106536902179467938138184133141932902952665919419274267966269102372364490529901093078975468183979740900204657843491280680192548670274396381099980200487721471380536731223000632472896694540654572700933570759527308056760312396171012363882155406375475196169818621055213410237522437367424721031518934221755418157285600973035221574636502069039522028827266863784767054430492536647724609238157942668034364265164797064103424387374448156617133177255344529770282549051859606382167985565510607233354416304355912549493833393481497210620872474323201778902403500252211918858991743492243 324635428062793851843105759415047263395285407058478659942549441365677795904817870916625647603842661926597390421821583996868595362047293801908562768490385627554122564291135198347495601548768719882903698168778317639246342156590946665472061644475448347744830322098954533859916553587907085138728326574494170262363457156414549254422654742656268058869981949388768911859430959911316329092909343560796786882051637335602087243950440652817076266191085894150651951552554355182433242401066145532718287140720344174101500684908464628882521467806283299056326784735374098202669432751040874092550737180370063019118922082759605649876888362293913704236677754200209216675655713894330912504316475152403200305785732004602626652338356997015910191456159624763342464622657963787107561558988018508755737302219378363675555448105370376449522297028771758735909852066102566739268840329879348566985518649034412190295703393532180313680606817192217538505411026086147648938449809079702163908979117899110891551619850864926054408608383280356168664992019996912457008094085076931229263849740836747712907496665924923849839746560595881715140666297800369332698651834362378882028730962005220856147150853899799812970428645085141806015360631601045018197638634469041750437023970948918001467697944459515209078620771658617547300436886241624528783410139880649400513285058952586637979106467397025801290626894278117069782376050679008396211401456397009018278450402587774476134008102392391423104707248519409143600182263042758949849577106317554260098267150543828132453285465646254170457796734355101240245841371195951532599626113734417545462699869938521247064433870070963063373071381805876645580397205086077663601282314828436797505886905492664705399562684339532720736124877981087192756956378950888346080988082838197329410110642959972708729225373513477507300831709576132117829190638139514080989950839854329935217104717163489634034224079458569575784652543373576240909224686692054099698626326473809834174973928953140417163503777220925480630539529792369424625006010782862273529695365117019509436702556716661586375162620456610992097154813776100381330786871202957138079095936123830253292670008525222797337666856576426905714127457182372094747051090565777866266237301432261812757726051709111166829312167476970488133662584768554311006741717683146330316529141278851542706007368823428909984921432563487955961387148648522725739562298746409658145392532319866543560109402208826195424336579349911277433782736277084947638605688552711128522030508231520077203379773717372935508878626202544079275452341081425805064279376291214543357996111989144209906710602992486870182878870778141401492644568970782970907971361359796396076963329046097436389194704756003690376466695356023230351616028221980617706682367417625038267689212087785893793473242864981508502139387572734905374419301766476710882457325924054374306822854001006427376921649921619089984537230342891761842837054293889784399579778219900023757995307841832077888314883472396579269255703671533320367994080793877208953760622719512688247555270567215508913918957182097776257177146777080056642058742965437628120062560092882446432816239 525271156557971885568561426745618618309884356794441242019051997883259372467577901898121491562617381990245089062009700329775652781970736276623152573911042855337025763044690960396773391511232719760821224537456363944852351166164107859254930407917534458764285414872144831077410441737938526267776539563977140825182293272028706875276557710942942748590218381187760290827726303429497557008322087093077752705682398927091800253423485544962408445109209742803452785277984606171938521733979008325858933024171344679768792791183686321661127291285782981220006359288516527501345350354414627326800542766801308936770948740342713956639468931181330874736342574494219554097309104676126743367628386990133171995168492323416905742189550217408634839497943678595473204626592496838985088400988058407634860784038845831236195342131034506528063539943023108150355763676278924644863673475994699808476981334933820069936840691801234818004549917619582004362600602882156264930086224150020615775799082013579226817844153681571070134832667605721875539031000875001092989229095238879143597826801956399085063151061293420520199165331656729424717936001962821633873490099406854888847298549836081805689922685429125835167395665507787631548681402861352964903945695413996851797575767444860138429452305927238346146419933296259902033582323006644337094557200296562806602245048642871878652712864899202597187945369515164175481051410720164341967762223455514549250205746782893908189200885854216203058388703884101000834046112929075207068498135751191458687057715655595065233050163338900450517728440568416278390630827635922266477224851568047362477065791240755518265534053146225254117009631883859029053326959932606518974913318037579016907683739629751239739500411637002034710974284413203110916805767905626595190981964132064154016910262346933993770601003127242065965699133053055249023566962689921515231051679128418254685181639742096035903562015702604833389928192799229282777277871007353721726080844899413699599817431092420292100289287094928395141533691454438389793462880065894033246508435846795615813202012067540418908581822660259526738997743070552616727469646957581611984171116623947285212455260685165401122687653000895433222609750514046616403106528385847096199301593277045019901769823620790468785027547128099554246827711790923798779118381856776432903904085602874548074386864521581719234061220576325824429470041616290090038710978896215777226430518540010284119746521433592319538441426785113137123622858786824439000898249411502186649924751536808112835161757260973366894955377016595883225080961126123911601181555759152681542129253922047162572630022266754836451981243142631931393737647946251154887712261564454239568244009238646106663591085855983890864188166736559961574616660694877312247336940118558609027216520144546206189644255228863663908514862768904723995474515176714233319824750645085893241044609419163712977894685143193726486606269864920589109700839060944214892116425944509261915937975876196343053111947575820966643703860288666497623338610564159758005620229101680673813065877800569925218274869731591609650658643987700929116381944744340031620314772011741438176308482 849906584620765737411667186160665881705169763852919901961601439248937168372395772814747139166460043916842479483831284326644248144018030078531715342401428482891148327335826158744268993060001439643724922706234681584098693322755054524726992052392982806509115736971099364937326995325845611406504866138471311087545750428443256129699212453599210807460200330576529202687157263340813886101231430653874539587734036262693887497373926197779484711300295636954104736830538961354371764135045153858577220164891688853870293476092150950543648759092066280276333144023890625704014783105455501419351279947171371955889870823102319606516357293475244578973020328694428770772964818570457655871944862142536372300954224328019532394527907214424545030954103303358815669249250460626092649959976076916390598086258224194911750790236404882977585836971794866886265615742381491384132513805874048375462499983968232260232544085333415131685156734811799542868011628968303913868536033229722779684778199912690118369464004546497124543441050886078044204023020871913549997323180315810372861676542793146797970647727218344370038911892252611139858602299763190966572141933769233770876029511841302661837073539328925648137824310592929437564042034462397983101584329883038602234599738393778139897150250386753555225040704954877449334019209248268865877967340177212207115530107595458516631819332296228398478572263793281245263427461399172738179163679852523567528656149370668384323208988246607626163095952403510144434228375971834156918075242068745718785324866199423197686335628985154620975525174923517518636472198831873799076850965302464907939765661179276765329967923217188317490081013689735674633724165018684182576195632866015814413570645122415945139063095976534755447099162394290303673762146856514941271970046970261483427020905306906702499826376640719573266530842629187366852757600829435596221002518982748189902286356905585669937786095161174409174580736172805523686502557699407821424707171373223533774791360045560709263793064315853875772073221246807814418468890848756306776203800963815125249904568784202005283744443116870518836152556846652998058256518160538750063267052747777538505125269210388198460354509577322338936737207696418711150157618951624962465538894709306832659495875329901635614339714605070042380490296559478109785860099539922763220433226881726090780394233345010629218982653139813780390857190264812815778273277642625435371823050859876827679855923642418514962778006135024414557405595063909386639503937964213315171955259768328190038541530978346302403834003219139962500533302207549716665460932050367224900125365911191372479340625259241706634860113920773332886382216917034125795683622924250635645207338284743543052785790611987581240654862092583191926232688916857929954019307536183647294905732232332099983117498093845172410654250341639629369893816943190944202282076569140267547867463420170140354816335064812816471143500207812350952537893354833999291696204164409285673933283718028420941426831048217545912959563960199817991332691358036966959380851821193362060621148367785434132193826913689385907835790764780985758440687709777659740377332104623884609124721 1375177741178737622980228612906284500015054120647361143980653437132196540839973674712868630729077425907087568545840984656419900925988766355154867916312471338228174090380517119141042384571234159404546147243691045528951044488919162383981922460310517265273401151843244196014737437063784137674281405702448451912728043700471963004975770164542153556050418711764289493514883566770311443109553517746952292293416435189785687750797411742741893156409505379757557522108523567526310285869024162184436153189063033533639086267275837272204776050377849261496339503312407153205360133459870128746151822713972680892660819563445033563155826224656575453709362903188648324870273923246584399239573249132669544296122716651436438136717457431833179870452046981954288873875842957465077738360964135324025458870297070026147946132367439389505649376914817975036621379418660416028996187281868748183939481318902052330169384777134649949689706652431381547230612231850460178798622257379743395460577281926269345187308158228068194678273718491799919743054021746914642986552275554689516459503344749545883033798788511764890238077223909340564576538301726012600445632033176088659723328061677384467526996224758051483305219976100717069112723437323750948005530025297035454032175505838638278326602556313991901371460638251137351367601532254913202972524540473775013717775156238330395284532197195430995666517633308445420744478872119337080146925903308038116778861896153562292512409874100823829221484656287611145268274488900909363986573377819937177472382581855018262919385792324055071493253615491933797027103026467796065554075816870512270416831452420032283595501976363413571607090645573594703687051124951290701551108950903594831321254384752167184878563507613536790158073446807493414590567914762141536462952011102325637443931167653840696270427379767961639232229975682242615876324563519357111452054198111166444587467996647681705841348110863779242564508928972034806463780428706761543150788016272637233374608791137981001364082351410782270913606912701246204211931770914650340022712236810610741063106580851742424192326265777130045575150299917205614785726165118120362047438169371724823717580529895553599583042162578217772159346958210465327553264147337472058664840487986351852561265698950692104399367261733169596627318008350401908564978481396699196124337312484600638854781097866592348453043873716139604820327231881102905816984256538841212598253569399887111799602445076010834501219432920137551681028453850733825640402187375715501821880011305136302873703288239319669298789380235735845725614263333673628266642487809519906442254619833238535051970647525996543086841357063405264280119864863285280683395884488704875213451347523389649716376876467971472104843028829143153500849349611735242201356247654742256322122252376878306172761753322708836319169113110544353365368332119905177522106827214226160788912072839333853332711020208006542957749770072732940062238732415778214183812630108918547589871259594224763994538778624038512556663424248866315614671301922196724965001080922874035873687026168355359350468696645280995558494434752481914874822632454117691360692104116365322785433203 2225084325799503360391895799066950381720223884500281045942254876381133709212369447527615769895537469823930048029672268983064149070006796433686583258713899821119322417716343277885311377631235599048271069949925727113049737811674216908708914512703500071782516888814343560952064432389629749080786271840919763000273794128915219134674982618141364363510619042340818696202040830111125329210784948400826831881150471452479575248171337940521377867709801016711662258939062528880682050004069316043013373353954722387509379743367988222748424809469915541772672647336297778909374916565325630165503102661144052848550690386547353169672183518131820032682383231883077095643238741817042055111518111275205916597076940979455970531245364646257724901406150285313104543125093418091170388320940212240416056956555294221059696922603844272483235213886612841922886995161041907413128701087742796559401981302870284590401928862468065081374863387243181090098623860818764092667158290609466175145355481838959463556772162774565319221714769377877963947077042618828192983875455870499889321179887542692681004446515730109260276989116161951704435140601489203567017773966945322430599357573518687129364069764086977131443044286693646506676765471786148931107114355180074056266775244232416418223752806700745456596501343206014800701620741503182068850491880650987220833305263833788911916351529491659394145089897101726666007906333518509818326089583160561684307518045524230676835618862347431455384580608691121289702502864872743520904648619888682896257707448054441460605721421309209692468778790415451315663575225299669864630926782172977178356597113599309048925469899580601889097171659263330378320775289969974884127304583769610645734825029874583130017626603590071545605172609201783718264330061618656477734922058072587120870952072960747398770253756408681212498760818311429982729082164348792707673056717093914634489754353553267375779134206024953651739089665144840330150282986406169364575495187645860767149400151183541710627875415726636146685680133948054018630400661763406646798916037774425866313011149635944429476070708894000564411302856763858612843982683278659112110705222119502362222705799105941798043396672155540111096084165906884038703421766289097021130379382695658685220761574280593740013706976338239639007808304909880018350838580936621959344770539366326729635175331211602977672026526855953385211184422145915721595257534181466647970076620259763939479458368718429349463997439055161966238434048914643212279906125339928816993835271073464492912244819217665971702623383454875808226147565541223344932103419859887131342379985744429907531311272785238249721701470984178597166502081780319406479079507412955510858658685808133192769162667079959053345497890921726345427082038528593172155375555190925903617027984609210406155879251416554008729823363452183982735262149063096121724388903783366428336779536259503993687527355272819359428893270280545291014776625770612213475508834273327833263804543312253184935965609672256058469622988209066133606003993280233691924381932744067397934308174536140793482662523558970381466330225517262900633263320163895351101069436220989207394557924 3600262066978240983372124411973234881735278005147642189922908313513330250052343122240484400624614895731017616575513253639484049995995562788841451175026371159347496508096860397026353762202469758452817217193616772642000782300593379292690836973014017337055918040657587756966801869453413886755067677543368214913001837829387182139650752782683517919561037754105108189716924396881436772320338466147779124174566906642265262998968749683263271024119306396469219781047586096406992335873093478227449526543017755921148466010643825494953200859847764803269012150648704932114735050025195758911654925375116733741211509949992386732828009742788395486391746135071725420513512665063626454351091360407875460893199657630892408667962822078090904771858197267267393417000936375556248126681904347564441515826852364247207643054971283661988884590801430816959508374579702323442124888369611544743341462621772336920571313639602715031064570039674562637329236092669224271465780547989209570605932763765228808744080321002633513899988487869677883690131064365742835970427731425189405780683232292238564038245304241874150515066340071292269011678903215216167463406000121411090322685635196071596891065988845028614748264262794363575789488909109899879112644380477109510298950750071054696550355363014737357967961981457152152069222273758095271823016421124762234551080420072119307200883726687090389811607530410172086752385205637846898473015486468599801086379941677792969348028736448255284606065264978732434970777353773652884891221997708620073730090029909459723525107213633264763962032405907385112690678251767465930185002599043489448773428566019341332520971875944015460704262304836925082007826414921265585678413534673205477056079414626750314896190111203608335763246056009277132854897976380798014197874069174912758314883240614588095040681136176642851730990793993672598605406727868149819125110915205081079077222350200949081620482316888732894303598594116875136614063415112930907726283203918498000524008942321522711991957767137418417599287046649300222842332432678056986821628274585036607376117730487686853668396974671130609986453156681064227629708848396779474158143391491227185940286329001495397626438834733757883255431124117349366256685913626569079795219870682010537782027273231285844413074238071409235635126313260281926915817062333321155469107851850927368489956429078195326125070400572092990031511654027018627412241790720307860568330189659651051279060813794440183965216871975299517919462502765377037920308312715644318815715282378600795785948107456985641001412763690611653951761828874896973198745907669407037784634605577668442583281920311234792808542828047583861446621946643604687162475391901660386072110033331522842485539543547930525450340919750869498927931388140328414356731802845668159939150236986088712328641004739262845048992476562728336100630481183001299246495730997592589125691609098837847020238375480825902386643040353278231077015358186390427659321464382246380853675802906477948930504388296294571026286412457932449220675295202430416889383013666941433807995200704496152833131220204251377024824660269744815508085952618013042461761540337354530179991127 5825346392777744343764020211040185263455501889647923235865163189894463959264712569768100170520152365554947664605185522622548199066002359222528034433740270980466818925813203674911665139833705357501088287143542499755050520112267596201399751485717517408838434929471931317918866301843043635835853949384287977913275631958302401274325735400824882283071656796445926885918965226992562101531123414548605956055717378094744838247140087623784648891829107413180882039986648625287674385877162794270462899896972478308657845754011813717701625669317680345041684797985002711024109966590521389077158028036260786589762200336539739902500193260920215519074129366954802516156751406880668509462609471683081377490276598610348379199208186724348629673264347552580497960126029793647418515002844559804857572783407658468267339977575127934472119804688043658882395369740744230855253589457354341302743443924642621510973242502070780112439433426917743727427859953487988364132938838598675745751288245604188272300852483777198833121703257247555847637208106984571028954303187295689295101863119834931245042691819971983410792055456233243973446819504704419734481179967066733520922043208714758726255135752932005746191308549488010082466254380896048810219758735657183566565725994303471114774108169715482814564463324663166952770843015261277340673508301775749455384385683905908219117235256178749783956697427511898752760291539156356716799105069629161485393897987202023646183647598795686739990645873669853724673280218646396405795870617597302969987797477963901184130828634942474456430811196322836428354253477067135794815929381216466627130025679618650381446441775524617349801433964100255460328601704891240469805718118442816122790904444501333444913816714793679881368418665211060851119228037999454491932796127247499879185835313575335493810934892585324064229751612305102581334488892216942526798167632298995713566976703754216457399616522913686546042688259261715466764346401519100272301778391564358767673409093505064422619833182864054564284967180597354241472733094441463633620544312359462473689128880123631283144467683565131174397756013444922840473691531675438586268848613610729548162992128107437195669835506889297994351515290024233404960107679915666100925599253377669223002788847511879584426781214409648874642934618170161945266655643269943114813878391217254098125131760289798303797096927428046375242696076172934349007499324901774508538406809919414990758519182512869533429214311030461484157896551680020250200214438055573135809550553452065288698192926674651612704036147145487462177909394416120318130849327529294169127014591322098350114593193096473042530244299031762458613124028423924093641554899314615896930768719139656035254702210627889578795838810672595844355013426668921586512107358036594063556178221595299118484520256155816853778815840014912318835892630246097420970884634780959017462471145358341840707765730753645261815536310633823522091791983957002641134830298655574214117480346218731133866469997968550629495909400666998582826679288482664108813764946411008831742303375240636946315793743763221758491154885787007716141349272781908393562830976558343737574549051 9425608459755985327136144623013420145190779894795565425788071503407794209317055692008584571144767261285965281180698776262032249061997922011369485608766642139814315433910064071938018902036175115953905504337159272397051302412860975494090588458731534745894352970129519074885668171296457522590921626927656192826277469787689583413976488183508400202632694550551035075635889623873998873851461880696385080230284284737010101246108837307047919915948413809650101821034234721694666721750256272497912426439990234229806311764655639212654826529165445148310696948633707643138845016615717147988812953411377520330973710286532126635328203003708611005465875502026527936670264071944294963813700832090956838383476256241240787867171008802439534445122544819847891377126966169203666641684748907369299088610260022715474983032546411596461004395489474475841903744320446554297378477826965886046084906546414958431544556141673495143504003466592306364757096046157212635598719386587885316357221009369417081044932804779832347021691745117233731327339171350313864924730918720878700882546352127169809080937124213857561307121796304536242458498407919635901944585967188144611244728843910830323146201741777034360939572812282373658255743290005948689332403116134293076864676744374525811324463532730220172532425306120319104840065289019372612496524722900511689935466103978027526318118982865840173768304957922070839512676744794203615272120556097761286480277928879816615531676335243942024596711138648586159644057572420049290687092615305923043717887507873360907655935848575739220392843602230221541044931728834601725000931980259956075903454245637991713967413651468632810505696268937180542336428119812506055484131653116021599846983859128083759810006825997288217131664721220337983974126014380252506130670196422412637500718554189923588851616028761966915960742406298775179939895620085092345923278547504076792644199053955165539020098839802419440346286853378590603378409816632031180028061595482856768197418035826587134611790950001472981884254227246654464315065527119520620442172586944499081065246610611318136812864658236261784384209170125987068103400380072218060426992005101956734103278457108932593296274341623055877606946414141582771216793593542235180720819124059679760784816120743165428839855452481058110278060931430443872182472705603264270282986243068181466615088189367993629922167328000139365274207730199952976419741115622082369106736999579066042037579996307309717394431183005761002077359054445397288120522750771217454625265835830666084484141034131637253705448910836099116129671223291017291329595235198701206911649196899766792697875113407707835338787127079346320059745975067528780804030291216276283002878752471178877740241754175820104246179730423465343282944814809250000868839160882262223495328458581387830813161260895079698827808316577640654936523111429098720217380365778551606588162754457179687728004106234471164202179350987101753168807342143393068794151763037820594971156149125209082796974386264845200522195813124931032047354583685094525703147960077950265550298575945133099148924963967473135515979546056752531649435225399921436024592516895698267754540178 15250954852533729670900164834053605408646281784443488661653234693302258168581768261776684741664919626840912945785884298884580448128000281233897520042506913120281134359723267746849684041869880473454993791480701772152101822525128571695490339944449052154732787899601450392804534473139501158426775576311944170739553101745991984688302223584333282485704351346996961961554854850866560975382585295244991036286001662831754939493248924930832568807777521222830983861020883346982341107627419066768375326336962712538464157518667452930356452198483125493352381746618710354162954983206238537065970981447638306920735910623071866537828396264628826524540004868981330452827015478824963473276310303774038215873752854851589167066379195526788164118386892372428389337252995962851085156687593467174156661393667681183742323010121539530933124200177518134724299114061190785152632067284320227348828350471057579942517798643744275255943436893510050092184955999645200999731658225186561062108509254973605353345785288557031180143395002364789578964547278334884893879034106016567995984409471962101054123628944185840972099177252537780215905317912624055636425765934254878132166772052625589049401337494709040107130881361770383740721997670901997499552161851791476643430402738677996926098571702445702987096888630783486057610908304280649953170033024676261145319851787883935745435354239044589957725002385433969592272968283950560332071225625726922771874175916081840261715323934039628764587357012318439884317337791066445696482963232903226013705684985837262091786764483518213676823654798553057969399185205901737519816861361476422703033479925256642095413855426993250160307130233037436002665029824703746525289849771558837722637888303629417204723823540790968098500083386431398835093354052379706998063466323669912516686553867765259082662550921347290980190494018603877761274384512302034872721446179803072506211175757709381996419715362716105986388975112640306070142756218151131452329839987047215535870827129331651557231624132865527546169221407844008705787798621560984254062716899303961554754375490734949419957332341801392958781965183570909908577091911747656646695840618712686282266270585216369788966109848512353871958461704165816176176901273457901281646418377437348983787604968255045013266636666890706984920995549600605817449128348873207385096864634285435564740219949657791933719264255428185740516903806372887325427240440523856877645143809498481032796099178820179250823645494036222486235255606125417538320737188826790590434816389282731373182333960806288866409485057981586578307580617707137609460444562727995376038663788221865142812468306504180877869031426111108778672870003491452874445585190530892179933647471610834912994943964803709683042018541096061187637958241478171587380946518918856287051506680176686949297681517050896552606624156592552973772415741675196141188265000559510624050633899815521528435769836988116426017715661620925275260599326100395709928982061693394809088636495343940216663444384233395830018105213791929614874033872167758634516912906488959097292601951185770045464718707730694894007134431843760247790784498181829829587423493454042005329089229 24676563312289714998036309457067025553837061679239054087441306196710052377898823953785269312809686888126878226966583075146612697189998203245267005651273555260095449793633331818787702943906055589408899295817861044549153124937989547189580928403180586900627140869730969467690202644435958681017697203239600363565830571533681568102278711767841682688337045897547997037190744474740559849234047175941376116516285947568765040739357762237880488723725935032481085682055118068677007829377675339266287752776952946768270469283323092143011278727648570641663078695252417997301799999821955685054783934859015827251709620909603993173156599268337437530005880371007858389497279550769258437090011135864995054257229111092829954933550204329227698563509437192276280714379962132054751798372342374543455750003927703899217306042667951127394128595666992610566202858381637339450010545111286113394913257017472538374062354785417770399447440360102356456942052045802413635330377611774446378465730264343022434390718093336863527165086747482023310291886449685198758803765024737446696866955824089270863204566068399698533406299048842316458363816320543691538370351901443022743411500896536419372547539236486074468070454174052757398977740960907946188884564967925769720295079483052522737423035235175923159629313936903805162450973593300022565666557747576772835255317891861963271753473221910430131493307343356040431785645028744763947343346181824684058354453844961656877247000269283570789184068150967026043961395363486494987170055848209149057423572493710622999442700332093952897216498400783279510444116934736339244817793341736378778936934170894633809381269078461882970812826501974616545001457944516252580773981424674859322484872162757500964533830366788256315631748107651736819067480066759959504194136520092325154187272421955182671514166950109257896151236424902652941214280132387127218644724727307149298855374811664547535439814202518525426735261966018896673521166034783162632357901582530072304068245165158238691843415082867000528053475635090663170102864148680504874504889486248460635819622101346267556770197000037654743166174353696896976680492291819874707122832623814643016369549042325302382262384190135409749565408118307398947393694867000136462367237501497028744572421088998210442106492119371765095199056481031049689631601054476471655379850877353617031355308139025785563641431583428325105791111536572840301846981556145939246751880809077547074833679175127488968218076677041983488312614660570814826441259939598008045060082225113397457666474994937926120114933968817685694437251840998154900790039797926696582950312985121631935510343419911888713207818553190455098732615978558981655249615481747168462936526224082013790735185718979529787288198271519526530920903056287421588249785679801118510546835138758074780110842777945976251434432473170193628708938853104294861405645366338062230638796654272701216163773943222587590219895012608027028429406668243788778723133824731215404059792644469149299460418770498241030540301026916860646921388455852853160220060866566909362842900527130903144613643671698168029523113977900512779440219723581751265612016010349740273083629407 39927518164823444668936474291120630962483343463682542749094540890012310546480592215561954054474606514967791172752467374031193145317998484479164525693780468380376584153356599565637386985775936062863893087298562816701254947463118118885071268347629639055359928769332419860494737117575459839444472779551544534305383673279673552790580935352174965174041397244544958998745599325607120824616632471186367152802287610400519980232606687168713057531503456255312069543076001415659348937005094406034663079113915659306734626801990545073367730926131696135015460441871128351464754983028194222120754916306654134172445531532675859710984995532966264054545885239989188842324295029594221910366321439639033270130981965944419121999929399856015862681896329564704670051632958094905836955059935841717612411397595385082959629052789490658327252795844510745290501972442828124602642612395606340743741607488530118316580153429162045655390877253612406549127008045447614635062035836961007440574239519316627787736503381893894707308481749846812889256433728020083652682799130754014692851365296051371917328195012585539505505476301380096674269134233167747174796117835697900875578272949162008421948876731195114575201335535823141139699738631809943688436726819717246363725482221730519663521606937621626146726202567687291220061881897580672518836590772253033980575169679745899017188827460955020089218309728790010024058613312695324279414571807551606830228629761043497138962324203323199553771425163285465928278733154552940683653019081112375071129257479547885091229464815612166574040153199336337479843302140638076764634654703212801481970414096151275904795124505455133131119956735012052547666487769219999106063831196233697045122760466386918169257653907579224414131831494083135654160834119139666502257602843762237670873826289720441754176717871456548876341730443506530702488664644689162091366170907110221805066550569373929531859529565234631413124237078659202743663922252934294084687741569577287839939072294489890249075039215732528074222697042934671875890662770241489128567606385552422190573997592081216976727529341839047701948139537267806885257584203567531353818673242527329298635819627541672171228494038647763621523869822473215123570596140458037744013655878934377728360026057253255455373128786262472080120052030631655507080729403349679040476715511639052596095528088683577497360695838856510846308015342945727627274221996669796124397024618576028107629778353947668219041722171078205974547870266696232364761997128424798635494898614396128830848808955744214986524419026799272272744832458705292510250484360654691958988976773343497078322811726416069591076849979301563877405485982050434529695200672278060642870173695692848703730129683783239470330216812615587718558861297765593175630732198719974797598341818934761729408524294996872804041056629762746602481354594779491002593910366897572854689430554088222744599543780210704016237610674228952303690005994344184488652115886424610213148429139813089516123863154731636860558406240708790261795422328020611794736973773055868460135502478316673190078362379428862923530248409744273027231004221763581095199439503803782278412718636 64604081477113159666972783748187656516320405142921596836535847086722362924379416169347223367284293403094669399719050449177805842507996687724431531345054023640472033946989931384425089929681991652272792383116423861250408072401107666074652196750810225955987069639063389328184939762011418520462169982791144897871214244813355120892859647120016647862378443142092956035936343800347680673850679647127743269318573557969285020971964449406593546255229391287793155225131119484336356766382769745300950831890868606075005096085313637216379009653780266776678539137123546348766554982850149907175538851165669961424155152442279852884141594801303701584551765610997047231821574580363480347456332575504028324388211077037249076933479604185243561245405766756980950766012920226960588753432278216261068161401523088982176935095457441785721381391511503355856704830824465464052653157506892454138654864506002656690642508214579816054838317613714763006069060091250028270392413448735453819039969783659650222127221475230758234473568497328836199548320177705282411486564155491461389718321120140642780532761080985238038911775350222413132632950553711438713166469737140923618989773845698427794496415967681189043271789709875898538677479592717889877321291787643016084020561704783042400944642172797549306355516504591096382512855490880695084503148519829806815830487571607862288942300682865450220711617072146050455844258341440088226757917989376290888583083606005154016209324472606770342955493314252491972240128518039435670823074929321524128552829973258508090672165147706119471256651600119616990287419075374416009452448044949180260907348267045909714176393583917016101932783236986669092667945713736251686837812620908556367607632629144419133791484274367480729763579601734872473228314185899626006451739363854562825061098711675624425690884821565806772492966868409183643702944777076289310010895634417371103921925381038477067299343767753156839859499044678099417185088287717456717045643152107360144007317459648128940918454298599528602276172678025335045993526918921994003072495871800882826393619693427484533497726341876702445114313890964703861938076495387406060941505866341972315005368669866974553490878228783173371089277940780614070964291007458174206380893380431406472932447146251465897479620905634237175319108511662705196712330457826150695856566388992669627450836227709363061002127422284835952099126879518567929121203552815735371148905427653575182463457529075157187259798848120189462860484927267047191203257068022806680554980839509526288515283950682141106639352995616957967182084299703447411040524158581388541939289758465129013833155146327958304284668532492018976138101960609416184944816154025229105806699919774862494465315402762769257618415084135114249479764354053014763880517878521093308145176957692836509519367072942849055475489102932940231190293447883785863999555733235635085328227208360923960763317723433291606457505686836979332119412662587973267375249711155825617208221784282238815584281925229877891098707267625650908716810783873464954957034639622777822978403005447576334692006051127030953053362387644785806671223945345332360811455514153522551496348043 104531599641936604335909258039308287478803748606604139585630387976734673470860008384909177421758899918062460572471517823208998987825995172203596057038834492020848618100346530950062476915457927715136685470414986677951663019864225784959723465098439865011346998408395809188679676879586878359906642762342689432176597918093028673683440582472191613036419840386637915034681943125954801498467312118314110422120861168369805001204571136575306603786732847543105224768207120899995705703387864151335613911004784265381739722887304182289746740579911962911693999578994674700231309965878344129296293767472324095596600683974955712595126590334269965639097650850986236074145869609957702257822654015143061594519193042981668198933409004041259423927302096321685620817645878321866425708492214057978680572799118474065136564148246932444048634187356014101147206803267293588655295769902498794882396471994532775007222661643741861710229194867327169555196068136697642905454449285696461259614209302976278009863724857124652941782050247175649088804753905725366064169363286245476082569686416192014697860956093570777544417251651602509806902084786879185887962587572838824494568046794860436216445292698876303618473125245699039678377218224527833565758018607360262447746043926513562064466249110419175453081719072278387602574737388461367603339739292082840796405657251353761306131128143820470309929926800936060479902871654135412506172489796927897718811713367048651155171648675929969896726918477537957900518861672592376354476094010433899199682087452806393181901629963318286045296804799455954470130721216012492774087102748161981742877762363197185618971518089372149233052739971998721640334433482956250792901643817142253412730393095531337303049138181946705143895411095818008127389148305039292508709342207616800495934925001396066179867602693022355648834697311915714346191609421765451401377066541527592908988475950412406599158873332987788252983736123337302160849010540651750801733384721684647983946389754138019189993493514332056676498869720960006921884189689163483131640102257353305016967617285508701510225255683715750147062453428232510747195660698954937414760179108869301613641188297408646724719372267430936992613147763253829194534887147916211950394549259365784201292473203504721352852749691896709255439160542294360703793059861175829736333281900631722223546364316392940558362823261141346798407142222464295556395425549485531495545930046229603290093235883022825406301521019198395437408355193963279555965254196447605316049879453905655119364092906426356093163772022416230239926916758408739921291008519236080500928266531808626092155966872744027895361518511793582853543587942659850714640016826303289748676873615467711198195445086546008727948631896750701968038625651818607939511250077241068105743518776627598238927891367939721859516545732695686833671648042663276866593466100133207940017657762449146705362861503643995622695116361065931635809418656932157756027365597580435830356650924095328331708145079961514751657113508334441170512233111894076749694008412678646283113905483764249524770368430555893876583610797389058833902228167108913456010895017957304829909066679 169135681119049764002882041787495943995124153749525736422166235063457036395239424554256400789043193321157129972190568272386804830333991859928027588383888515661320652047336462334487566845139919367409477853531410539202071092265333451034375661849250090967334068047459198516864616641598296880368812745133834330047812162906383794576300229592208260898798283528730871070618286926302482172317991765441853691439434726339090022176535585981900150041962238830898379993338240384332062469770633896636564742895652871456744818972617819506125750233692229688372538716118221048997864948728494036471832618637994057020755836417235565479268185135573667223649416461983283305967444190321182605278986590647089918907404120018917275866888608226502985172707863078666571583658798548827014461924492274239748734200641563047313499243704374229770015578867517457003911634091759052707948927409391249021051336500535431697865169858321677765067512481041932561265128227947671175846862734431915078654179086635928231990946332355411176255618744504485288353074083430648475655927441736937472288007536332657478393717174556015583329027001824922939535035340590624601129057309979748113557820640558864010941708666557492661744914955574938217054697817245723443079310395003278531766605631296604465410891283216724759437235576869483985087592879342062687842887811912647612236144822961623595073428826685920530641543873082110935747129995575500732930407786304188607394796973053805171380973148536740239682411791790449872758990190631812025299168939755423328234917426064901272573795111024405516553456399575571460418140291386908783539550793111162003785110630243095333147911673289165334985523208985390733002379196692502479739456438050809780338025724675756436840622456314185873658990697552880600617462490938918515161081571471363320996023713071690605558487514588162421327664180324897989894554198841740711387962175944964012910401331450883666458217100740945092843235168015401578034098828369207518779027873792008127953707213786148130911947812931585278775042398985341967877716608085477134712598129154187843361236978936186043722982025592452592176767319197214609133737194342343475701684975211273928646556967275621278210250496214110363702425704034443265499178155374386156775442639797190674224920349756187250332370597530946430758269053957065900505390319001980432189848289624391850997200544102303619364950683426182750506269101982863485516629102301266866694835473883178472556693412097982593561319867318584900268840121230326747168511264470411996604860293415181407879376857108497199803125018033188207109001058112187332331532677817469042867556290273755105989122019071986199646187044285601829681689903269266899584832980328518854483573535242573692660760489308777985567046980885816217518390005871622703391767955762161413888695734320434748447258440882570914992034835628627064861941490547062730593021833368843025345884970810070666126179227077287229152622047902910967928831319520131023402615308736261447564872708377567147292427005191392642755820775960092079229043895767541704651043052301424106092308489211825859462374481682924829636973185033844640573452112454245816822350532110827381405414722 273667280760986368338791299826804231473927902356129876007796623040191709866099432939165578210802093239219590544662086095595803818159987032131623645422723007682169270147682993284550043760597847082546163323946397217153734112129559235994099126947689955978681066455855007705544293521185175240275455507476523762224410080999412468259740812064399873935218123915368786105300230052257283670785303883755964113560295894708895023381106722557206753828695086374003604761545361284327768173158498047972178653900437136838484541859922001795872490813604192600066538295112895749229174914606838165768126386110318152617356520392191278074394775469843632862747067312969519380113313800278884863101640605790151513426597163000585474800297612267762409100009959400352192401304676870693440170416706332218429306999760037112450063391951306673818649766223531558151118437359052641363244697311890043903447808495068206705087831502063539475296707348369102116461196364645314081301312020128376338268388389612206241854671189480064118037668991680134377157827989156014539825290727982413554857693952524672176254673268126793127746278653427432746437120127469810489091644882818572608125867435419300227387001365433796280218040201273977895431916041773557008837329002363540979512649557810166529877140393635900212518954649147871587662330267803430291182627103995488408641802074315384901204556970506390840571470674018171415650001649710913239102897583232086326206510340102456326552621824466710136409330269328407773277851863224188379775262950189322527917004878871294454475425074342691561850261199031525930548861507399401557626653541273143746662872993440280952119429762661314568038263180984112373336812679648753272641100255193063193068418820207093739889760638260891017554401793370888728006610795978211023870423779088163816930948714467756785426090207610518070162361492240612336086163620607192112765028717472556921898877281863290265617090433728733345826971291352703738883109369020958320512412595476656111900096967924167320905441327263641955273912119945348889761906297248960266352700386507492860328854264444887553948237709308202739239220747429725356329397893297280890461864084080575542287745264684268002929622763645047356315573467288272460034065303290598107169991899162974875517393553260908603185120289427655686197429596251426604298450180177810168523130190256114074543564860495244177727773944567529548913411324447159041912054651786798362240765520112781762649929295120807999862840886516980337677195315193606303133765460918017312654739747320836527243469763534853292966897040449418447035917816520927253622541197053549543795822822082381198145088891816014095007705556079184683225277845929117614224849806631808603160447150710284890856205575854786713515678877636518185557015657690230642903018033003229519632214510948032987375149808822292774508580568324313898533589533210339597186487933502050965363542733259217371489040730721282851847738408968842603738249976452288779429980906316697277921523632472895479000572085152907394412934284294533249741277007661618454345051464980070389206213972976075384232742912238818706220583982422903474475680279563159272833245550068132211314481401 442802961880036132341673341614300175469052056105655612429962858103648746261338857493421978999845286560376720516852654367982608648493978892059651233806611523343489922195019455619037610605737766449955641177477807756355805204394892687028474788796940046946015134503314206222408910162783472120644268252610358092272222243905796262836041041656608134834016407444099657175918516978559765843103295649197817804999730621047985045557642308539106903870657325204901984754883601668659830642929131944608743396796090008295229360832539821301998241047296422288439077011231116798227039863335332202239959004748312209638112356809426843553662960605417300086396483774952802686080757990600067468380627196437241432334001283019502750667186220494265394272717822479018763984963475419520454632341198606458178041200401600159763562635655680903588665345091049015155030071450811694071193624721281292924499144995603638402953001360385217240364219829411034677726324592592985257148174754560291416922567476248134473845617521835475294293287736184619665510902072586663015481218169719351027145701488857329654648390442682808711075305655252355685972155468060435090220702192798320721683688075978164238328710031991288941962955156848916112486613859019280451916639397366819511279255189106770995288031676852624971956190226017355572749923147145492979025514915908136020877946897277008496277985797192311371213014547100282351397131645286413972033305369536274933601307313156261497933594973003450376091742061118857646036842053856000405074431889944745856151922304936195727049220185367097078403717598607097390967001798786310341166204334384305750447983623683376285267341435950479903023786389969503106339191876341255752380556693243872973406444544882850176730383094575076891213392490923769328624073286917129539031505350559527137926972427539447390984577722198680491490025672565510325980717819448932824152990893417520934809278613314173932075307534469678438670206459368105316917208197390165839291440469268664239853804181710315451817389140195227234048954518930690857639622905334437401065298515661680703690091243381073597671219734900655331415988066626939965463135087639624366163549059291849470934302231959889281139873259859157720017999171322715725533243458664984263945434538960165549742313903017095853517490886958602116955698650208492504803840499179790600712978479880505925540765404597547797092724627993712299419680426430022527428683754088065228935600993995960235206622707218790593424160753835565237946035436423933050302276725388429309259600040736017935122846620643350492770022058482606654144918874633114585954073874871018586663379112356136304134210910888000294653892600364786512906967749198384513809682786960327457644020685952858583516966065163564699082725858522334403075405663561853346294785988765390933520910245268467735822408249704863689500615403952940963395531023757402327779509766870893990709427704069288037615219957798570081000360456871753571667081295972419802832596215052958725486396340850462626292999090344300037168755060254625328970320903429160158996094517281494495298522462187901243695117393921743535857557167456748115049132392017405089655596082178959592719896123 716470242641022500680464641441104406942979958461785488437759481143840456127438290432587557210647379799596311061514740463578412466653965924191274879229334531025659192342702448903587654366335613532501804501424204973509539316524451923022573915744630002924696200959169213927953203683968647360919723760086881854496632324905208731095781853721008008769234531359468443281218747030817049513888599532953781918560026515756880068938749031096313657699352411578905589516428962952987598816087629992580922050696527145133713902692461823097870731860900614888505615306344012547456214777942170368008085390858630362255468877201618121628057736075260932949143551087922322066194071790878952331482267802227392945760598446020088225467483832762027803372727781879370956386268152290213894802757904938676607348200161637272213626027606987577407315111314580573306148508809864335434438322033171336827946953490671845108040832862448756715660927177780136794187520957238299338449486774688667755190955865860340715700288711315539412330956727864754042668730061742677555306508897701764582003395441382001830903063710809601838821584308679788432409275595530245579312347075616893329809555511397464465715711397425085222180995358122894007918529900792837460753968399730360490791904746916937525165172070488525184475144875165227160412253414948923270208142019903624429519748971592393397482542767698702211784485221118453767047133294997327211136202952768361259807817653258717824486216797470160512501072330447265419314693917080188784849694840134068384068927183807490181524645259709788640253978797638623321515863306185711898792857875657449497110856617123657237386771198611794471062049570953615479676004555990009025021656948436936166474863365089943916620143732835967908767794284294658056630684082895340562901929129647690954857921142007204176410667929809198561652387164806122662066881440056124936918019610890077856708155895177464197692397968198411784497177750720809055800317566411124159803853064745320351753901149634482772722830467458869189322866638876039747401529202583397667417998902169173564018945507825961151619457444208858070655208814056665321792532980936905256625413143372425013222047496644157284069496023504205076333572638610988185567308761955582371115426438123140425259707456278004456702611176386257803153128246459919109102290679357600769236108670136620000084330265092791974820498572561241848333091750877181569340738405874863591176366514108741997856552002339598593287001640352545575623230751617539353436042186306446621914339788056854462366316384178203785736919098932025101180836691154041839576615071924568130459201934438517502279299802704014389661598156443971196132245595127502128034532593592136060804467836663143474373171641018351412598404736158852588632421321252083989197804021768620453153124756216500723197558058527156464009195972277254861929120556967741924965997700372944956072970437328505409104260688519852932848098865840596175405331272424708582262577121369656003407919973323358105293571175497207431581689344549158578711597911090778613341145982261564884504736435163976627927860306160562242078141149879651589524812671580564362488841632247091804034377524 1159273204521058633022137983055404582412032014567441100867722339247489202388777147926009536210492666359973031578367394831561021115147944816250926113035946054369149114537721904522625264972073379982457445678902012729865344520919344610051048704541570049870711335462483420150362113846752119481563992012697239946768854568811004993931822895377616143603250938803568100457137264009376815356991895182151599723559757136804865114496391339635420561570009736783807574271312564621647429459016761937189665447492617153428943263525001644399868972908197037176944692317575129345683254641277502570248044395606942571893581234011044965181720696680678233035540034862875124752274829781479019799862894998664634378094599729039590976134670053256293197645445604358389720371231627709734349435099103545134785389400563237431977188663262668480995980456405629588461178580260676029505631946754452629752446098486275483510993834222833973956025147007191171471913845549831284595597661529248959172113523342108475189545906233151014706624244464049373708179632134329340570787727067421115609149096930239331485551454153492410549896889963932144118381431063590680669533049268415214051493243587375628704044421429416374164143950514971810120405143759812117912670607797097180002071159936023708520453203747341150156431335101182582733162176562094416249233656935811760450397695868869401893760528564891013582997499768218736118444264940283741183169508322304636193409124966414979322419811770473610888592814391566123065351535970936189189924126730078814240220849488743685908573865445076885718657696396245720712482865104972022239959062210041755247558840240807033522654112634562274374085835960923118586015196432331264777402213641680809139881307909972794093350526827411044799981186775218427385254757369812470101933434480207218092784893569546651567395245652007879053142412837371632988047599259505057761071010504307598791517434508491638129767705502668090223167384210088914372717525763801289999095293534013984591607705331344798224540219607654096423371821157806730605041152107917835068483297417830854267709036751207034749290677179109513402071196880683605287255668068576529622788962202664274484156349728604046565209369283363362796351571809933703911100552220620566635060860977083305975002021359295100310220102063344859920108826896668411613906131178537391369949087150017125925625095669690339771913223200554954147752772177307204096769422159962928820111967508104702233063174709558389186711162394188110813569266188041472403738318911694875931173939828792872397489163004821554278506941157414631755325755565787156425530688946795586717122581046794653806413510713592014684315490756808757709039213344325886641844215380552463518448488522616002057890137706181916111681130594681186991707826984813937335492590010534011386674035001484968459019966308232020153509811376230195825324651580725144252745507467243838946782398141397793446719480646318423013848459322712349747072412568397128385095173336422614728894316314173820731586570265841507468750444404803783907681918814519938772337240499543059379803258897351877871622977700082305777935698317336399704573945063597969452144437714426051396754273647 1875743447162081133702602624496508989355011973029226589305481820391329658516215438358597093421140046159569342639882135295139433581801910740442200992265280585394808306880424353426212919338408993514959250180326217703374883837443796533073622620286200052795407536421652634078315317530720766842483715772784121801265486893716213725027604749098624152372485470163036543738356011040193864870880494715105381642119783652561745183435140370731734219269362148362713163787741527574635028275104391929770587498189144298562657166217463467497739704769097652065450307623919141893139469419219672938256129786465572934149050111212663086809778432755939165984683585950797446818468901572357972131345162800892027323855198175059679201602153886018321001018173386237760676757499779999948244237857008483811392737600724874704190814690869656058403295567720210161767327089070540364940070268787623966580393051976947328619034667085282730671686074184971308266101366507069583934047148303937626927304479207968815905246194944466554118955201191914127750848362196072018126094235965122880191152492371621333316454517864302012388718474272611932550790706659120926248845396344032107381302799098773093169760132826841459386324945873094704128323673660604955373424576196827540492863064682940646045618375817829675340906479976347809893574429977043339519441798955715384879917444840461795291243071332589715794781984989337189885491398235281068394305711275072997453216942619673697146906028567943771401093886722013388484666229888016377974773821570212882624289776672551176090098510704786674358911675193884344033998728411157734138751920085699204744669696857930690760040883833174068845147885531876734065691200988321273802423870590117745306356171275062738009970670560247012708748981059513085441885441452707810664835363609854909047642814711553855743805913581817077614794800002177755650114480699561182697989030115197676648225590403669102327460103470866502007664561960809723428517843330212414158899146598759304943361606480979280997263050075112965612694687796682770352442681310501232735901296320000027831727982259032995900910134623318371472726405694740270609048201049513434879414375346036699497378397225248203849278865306867567872685144448544692096667860982576149006176287415206446400261728815573104766922713239731117723261955143128330723008421857894992139185195820153745925709425934783131746733721773116195996085863928184385666110160565837792411288334022213444230919726711897987779998164034540656389192496939659011757174361098001322553088279616849726859855479388999758064243860256346656856506592256941198265107304018720154847581782981233171308692810516296029073977088913252728905171458939453388769878747974144599579252956359279145532263309347200267524279535330840039580340248306066021324690394032302631839827159757701469182217524366759176617519007348507450687253772137692886177711505167616783902855368578726298855823741334838275946696558188552945922477743840821836967357750457792270732302236287497178836880141441338714900332133749352942486393516725610717385678386481804624264307995332515854499550838006242868020013839467216051294098757735178533814633279346673143200788651171 3035016651683139766724740607551913571767043987596667690173204159638818860904992586284606629631632712519542374218249530126700454696949855556693127105301226639763957421418146257948838184310482373497416695859228230433240228358363141143124671324827770102666118871884136054228677431377472886324047707785481361748034341462527218718959427644476240295975736408966604644195493275049570680227872389897256981365679540789366610297931531710367154780839371885146520738059054092196282457734121153866960252945681761451991600429742465111897608677677294689242394999941494271238822724060497175508504174182072515506042631345223708051991499129436617399020223620813672571570743731353836991931208057799556661701949797904099270177736823939274614198663618990596150397128731407709682593672956112028946178127001288112136168003354132324539399276024125839750228505669331216394445702215542076596332839150463222812130028501308116704627711221192162479738015212056900868529644809833186586099418002550077291094792101177617568825579445655963501459027994330401358696881963032543995800301589301860664802005972017794422938615364236544076669172137722711606918378445612447321432796042686148721873804554256257833550468896388066514248728817420417073286095183993924720494934224618964354566071579565170825497337815077530392626736606539137755768675455891527145330315140709331197185003599897480729377779484757555926003935663175564809577475219597377633646626067586088676469325840338417382289686701113579511550017765858952567164697948300291696864510626161294861998672376149863560077569371590130064746481593516129756378710982295740959992228537098737724282694996467736343219233721492799852651706397420652538579826084231798554446237479185035532103321197387658057508730167834731512827140198822520280766768798090062127140427708281100507311201159233824956667937212839549388638162079959066240459060040619505275439743024912160740457227808973534592230831946170898637801235369094013704157994440132773289534969311812324079221803269682767062036066508954489500957483833418419067804384593737830882099437019010240030650200811802427884874797602575423875896303869118089964502203337548700973981534746953852250414488234590230930669036716258478396007768413203196715641237148392289752375263750174868205077142815303075977643370782039796742336914553036432383509134282970170871851334521604473471518646944973671150143838636105491589762879582725800721231400301530318146463982901421456376966709326428728767202761763127700484160912680009696198484262219445642599257344642393821312342750801413761288611832347822728354690637992965515741564704364028027825115106321229888043758292579670061486614210672283779275411722963354697063097701444881895147590153447053382183635960665925521226572048075290879958660182984042836643226501194759186437641237490674991196771028818724737646512578423718418030430457012634860622849637766720124092302543221981156698960545017511265295669550156409218965352452923794214885461196552601670999568466711707180222369082578154156726394075435540130656158015626981347683644111254229867732371173815706325173797949537784552450998672702798776503266777717061099194597542924818 4910760098845220900427343232048422561122055960625894279478685980030148519421208024643203723052772758679111716858131665421839888278751766297135328097566507225158765728298570611375051103648891367012375946039554448136615112195806937676198293945113970155461526408305788688306992748908193653166531423558265483549299828356243432443987032393574864448348221879129641187933849286089764545098752884612362363007799324441928355481366672081098889000108734033509233901846795619770917486009225545796730840443870905750554257595959928579395348382446392341307845307565413413131962193479716848446760303968538088440191681456436371138801277562192556565004907206764470018389212632926194964062553220600448689025804996079158949379338977825292935199681792376833911073886231187709630837910813120512757570864602012986840358818045001980597802571591846049911995832758401756759385772484329700562913232202440170140749063168393399435299397295377133788004116578563970452463691958137124213026722481758046107000038296122084122944534646847877629209876356526473376822976198997666875991454081673481998118460489882096435327333838509156009219962844381832533167223841956479428814098841784921815043564687083099292936793842261161218377052491081022028659519760190752260987797289301905000611689955383000500838244295053878202520311036516181095288117254847242530210232585549792992476246671230070445172561469746893115889427061410845877971780930872450631099843010205762373616231868906361153690780587835592900034683995746968945139471769870504579488800402833846038088770886854650234436481046784014408780480321927287490517462902381440164736898233956668415042735880300910412064381607024676586717397598408973812382249954821916299752593650460098270113291867947905070217479148894244598269025640275228091431604161699917036188070522992654363055007072815642034282732012841727144288276560658627423157049070734702952087968615315829842784687912444401094238496508131708361229753212424226118316893586731532594478330918293303360219066319757880027648761196751172271309926514728920300540285890057830909931165001269273026551110946425746256347524008270164146505352070167603399381617712894737673478913144179100454263767099897098498541721860707023088104436274185772864647413435807496198775525478990441309844065528542807095366632737182925073059922974894327375648319478790324617777043947539256603265380666746787346139924500033675975428989743291638513642688635552531590694902628133354364746707490463269423591954260067359495918087041107697521037350499062492326117200121782821070406994661670107945468338940079669552955745296984235896412286147009260996423799131746184072832269668583314215519382131223232664181601711328841662676954401241174293122416756400582451160240201256361266152388323596945979984873378075139275066328354516887906823455015041750373388547826073245097199832195856110916608168517802477406752493135298850391158366963315994974907241575699818241592027900250040802319810674252007156193498788889168178405346853148518937269414711903509668880468952265741373543694013463152307908419249562383586870724653712568041817963377251768502292771460533955037081410996407772337798331575989 7945776750528360667152083839600336132889099948222561969651890139668967380326200610927810352684405471198654091076381195548540342975701621853828455202867733864922723149716716869323889287959373740509792641898782678569855340554170078819322965269941740258127645280189924742535670180285666539490579131343746845297334169818770651162946460038051104744323958288096245832129342561139335225326625274509619344373478865231294965779298203791466043780948105918655754639905849711967199943743346699663691093389552667202545858025702393691292957060123687030550240307506907684370784917540214023955264478150610603946234312801660079190792776691629173964025130827578142589959956364280031955993761278400005350727754793983258219557075801764567549398345411367430061471014962595419313431583769232541703748991603301098976526821399134305137201847615971889662224338427732973153831474699871777159246071352903392952879091669701516139927108516569296267742131790620871320993336767970310799126140484308123398094830397299701691770114092503841130668904350856874735519858162030210871791755670975342662920466461899890858265949202745700085889134982104544140085602287568926750246894884471070536917369241339357126487262738649227732625781308501439101945614944184676981482731513920869355177761534948171326335582110131408595147047643055318851056792710738769675540547726259124189661250271127551174550340954504449041893362724586410687549256150469828264746469077791851050085557709244778535980467288949172411584701761605921512304169718170796276353311028995140900087443263004513794514050418374144473526961915443417246896173884677181124729126771055406139325430876768646755283615328517476439369103995829626350962076039053714854198831129645133802216613065335563127726209316728976111096165839097748372198372959789979163328498231273754870366208232049466990950669225681276532926438640617693663616109111354208227527711640227990583241915721417935686469328454302606999030988581518239822474888026864305884013300230105627439440869589440647089684827705705661772267410348147339368344670483795661792030602020279513057201311758228174141222321610845588022401655939285693363883821050443438647460447891132952704678255334487329429210758576965501484112204687388969580288650584199785951150789229165309514921208343845883073010003519222721815396837527930759759157453761760495489628378469143730074784027611720458496283763136139167565191869326017439234874088937082849737158885529554810741713416816891998190794716023195059980078999721117393719521612718508134925374544764176642382749745463083869234080171287902397907646383289949751637976990511037288821538905452976072116590562248253375702133592803507011939593324674683538725774655846123069440712570203453964634796200867181882492724436398887825938645056362117975918292829549276074344464692505716741570159576644797982743712410619574528947038625530437338029602130902018974483460910185297151673867786593211083537261578056659259767672263598046222041654695341490839177973813564855699159638497290057666395274544387805872029701709640444499991552530503792251319241898469418893215615912915036320953291444163332731540348188713468871532395874500807 12856536849373581567579427071648758694011155908848456249130576119699115899747408635571014075737178229877765807934512860970380231254453388150963783300434241090081488878015287480698940391608265107522168587938337126706470452749977016495521259215055710413589171688495713430842662929193860192657110554902012328846633998175014083606933492431625969192672180167225887020063191847229099770425378159121981707381278189673223321260664875872564932781056839952164988541752645331738117429752572245460421933833423572953100115621662322270688305442570079371858085615072321097502747111019930872402024782119148692386425994258096450329594054253821730529030038034342612608349168997206226920056314499000454039753559790062417168936414779589860484598027203744263972544901193783128944269494582353054461319856205314085816885639444136285735004419207817939574220171186134729913217247184201477722159303555343563093628154838094915575226505811946430055746248369184841773457028726107435012152862966066169505094868693421785814714648739351718759878780707383348112342834361027877747783209752648824661038926951781987293593283041254856095109097826486376673252826129525406179060993726255992351960933928422456419424056580910388951002833799582461130605134704375429242470528803222774355789451490331171827173826405185286797667358679571499946344909965586012205750780311808917182137496942357621619722902424251342157782789785997256565521037081342278895846312087997613423701789578151139689671247876784765311619385757352890457443641488041300855842111431828986938176214149859164028950531465158158882307442237370704737413636787058621289466025005012074554368166757069557167347996935542153026086501594238600163344325993875631153951424780105232072329904933283468197943688465623220709365191479372976463629977121489896199516568754266409233421215304865109025233401238523003677214715201276321086773158182088911179615680255543820426026603633862336780707824962434315360260741793942465940791781613595838478491631148398930799659935909198527117333588902456834043577336862876259668884956373853492701961767021548786083752422704653920397569845619115752168907008009453296763265438763338176320939361035312053158942022434384427927752480437672524572216640961574742444936064020007282149926314708155750824765273872388690168376636256405646888456760502825087134805773240550820107405422416682986678049408278467245842423687636172843540620859069309077748516777572635381327853788157688165106460124307355267614386670283262419475997086762225091240558963217570627251491744885959463453156740124753977179548510227982067460602128586933987534389276658046549817962704584722256189422831916836689917652974934730244603774926386012380388451610247364243733834986959854547085956441068438243758876824722484771918629929740193115193359157903792962251288147520758491943548124470871227840912242815430639863646794048239815436354624037317824874619277148613146648775028168910901778853605956909300569992074272298229197848194130380007356379160418004218096907912001961176064155013340071613403245403653907652299460949753354634906112623123131461257433876292288089455584215623866686577429599709876643870194206076796 20802313599901942234731510911249094826900255857071018218782466259368083280073609246498824428421583701076419899010894056518920574230155010004792238503301974955004212027732004350022829679567638848031961229837119805276325793304147095314844224484997450671716816968685638173378333109479526732147689686245759174143968167993784734769879952469677073936996138455322132852192534408368434995752003433631601051754757054904518287039963079664030976562004945870820743181658495043705317373495918945124113027222976240155645973647364715961981262502693766402408325922579228781873532028560144896357289260269759296332660307059756529520386830945450904493055168861920755198309125361486258876050075777400459390481314584045675388493490581354428033996372615111694034015916156378548257701078351585596165068847808615184793412460843270590872206266823789829236444509613867703067048721884073254881405374908246956046507246507796431715153614328515726323488380159805713094450365494077745811279003450374292903189699090721487506484762831855559890547685058240222847862692523058088619574965423624167323959393413681878151859232244000556180998232808590920813338428417094332929307888610727062888878303169761813545911319319559616683628615108083900232550749648560106223953260317143643710967213025279343153509408515316695392814406322626818797401702676324781881291328038068041371798747213485172794273243378755791199676152510583667253070293231812107160592781165789464473787347287395918225651715165733937723204087518958811969747811206212097132195422460824127838263657412863677823464581883532303355834404152814121984309810671735802414195151776067480693693597633838203922631612264059629465455605590068226514306402032929346008150255909750365874546517998619031325669897782352196820461357318470724835828350081279875362845066985540164103787423536914576016184070464204280210141153841894014750389267293443119407143391895771811009268519355280272467177153416736922359291730375460705763266669640460144362504931378504558239100805498639174207018416608162495815844747211023599037229626857649154493992369041828299140953734462882094538792167229961340191308663948738990127149259813781614968399808926445005863620277768871757356963239014638026056328845648963712025224714604207068101077103937321060339686482216234573241386639775628368703853598030755846893963227002311315597033800885826716752833435890187704338707450772312011105812728395326516983390866509718231065012673687242975848173541124247265805181386306457479456076086483342484960080575936078762176866289650136105835906485587837846413628681515884465368248511876883739172366267169083838639501610037698328306013394165090065619786567738237256543368251060695919114226266093487313174547557163308511720752641935620126251601261121372597857274986102311091111651987453069036595752840026475233513707701115669210584624653435005168810685419578677153465956754939336799358080187333910298322642814762121985316115184013568560337664337870344451239502889471870846534352973982859917256546409292018842459429557727877485432947113294352152291013480257146886225354521592550354473049789207324410408875659787199418117777788423345515402590080577603 33658850449275523802310937982897853520911411765919474467913042379067199179821017882069838504158761930954185706945406917489300805484608398155756021803736216045085700905747291830721770071175903955554129817775456931982796246054124111810365483700053161085305988657181351604220996038673386924804800241147771502990602166168798818376813444901303043129668318622548019872255726255597534766177381592753582759136035244577741608300627955536595909343061785822985731723411140375443434803248491190584534961056399813108746089269027038232669567945263845774266411537651549879376279139580075768759314042388907988719086301317852979849980885199272635022085206896263367806658294358692485796106390276400913430234874374108092557429905360944288518594399818855958006560817350161677201970572933938650626388704013929270610298100287406876607210686031607768810664680800002432980265969068274732603564678463590519140135401345891347290380120140462156379234628528990554867907394220185180823431866416440462408284567784143273321199411571207278650426465765623570960205526884085966367358175176272991984998320365463865445452515285255412276107330635077297486591254546619739108368882336983055240839237098184269965335375900470005634631448907666361363155884352935535466423789120366418066756664515610514980683234920501982190481765002198318743746612641910794087042108349876958553936244155842794413996145803007133357458942296580923818591330313154386056439093253787077897489136865547057915322963042518703034823473276311702427191452694253397988037533892653114776439871562722841852415113348690462238141846390184826721723447458794423703661176781079555248061764390907761089979609199601782491542107184306826677650728026804977162101680689855597946876422931902499523613586247975417529826548797843701299458327202769771562361635739806573337208638841779685041417471702727283887355869043170335837162425475532030586759072151315631435295122989142609247884978379171237719552472169403171704058451254055982840996562526903489038760741407837701324352005510619329859422084073899858706114583231502647195954136063377085224706157167536014936362012849077092360215671958192286890414698577119791289339169961757059022562300203256185284715719452310550628545486610538454470160778624214350251003418645476811164451756088623263409763276032034015592310358533580934028769000242862135704439223302509703430882844168654950181131138408484854646433587464635594731907644082353612392866461844931140954633665431602533419568056589719898932073173245567576200639539153649389428358034536095569289063225712591823593177191743866532828850640463817726706755543827130388457464314622420584495436226081926755537439542672967501147143177446708299502677876340851556908382544123163058806709083004058370010478085843857369775904915842504206305011145356861998847040987547233725457255825586540438425536896250435808674332213626916968902311378976654624232699464482523444971417842931032887094968789970477860907656412142642680437351083602250853890732134400864135353454321293980018523584571067949098836192516948259804590474430010501521131467144715681815730483665499612499864459875411066104695207388133222159272784286654399 54461164049177466037042448894146948347811667622990492686695508638435282459894627128568662932580345632030605605956300974008221379714763408160548260307038191000089912933479296180744599750743542803586091047612576737259122039358271207125209708185050611757022805625866989777599329148152913656952489927393530677134570334162583553146693397370980117066664457077870152724448260663965969761929385026385183810890792299482259895340591035200626885905066731693806474905069635419148752176744410135708647988279376053264392062916391754194650830447957612176674737460230778661249811168140220665116603302658667285051746608377609509370367716144723539515140375758184123004967419720178744672156466053801372820716188958153767945923395942298716552590772433967652040576733506540225459671651285524246791457551822544455403710561130677467479416952855397598047109190413870136047314690952347987484970053371837475186642647853687779005533734468977882702723008688796267962357759714262926634710869866814755311474266874864760827684174403062838540974150823863793808068219407144054986933140599897159308957713779145743597311747529255968457105563443668218299929682963714072037676770947710118129717540267946083511246695220029622318260064015750261595706634001495641690377049437510061777723877540889858134192643435818677583296171324825137541148315318235575968333436387944999925734991369327967208269389181762924557135094807164591071661623544966493217031874419576542371276484152942976140974678208252640758027560795270514396939263900465495120232956353477242614703528975586519675879695232222765593976250542998948706033258130530226117856328557147035941755362024745965012611221463661411956997712774375053191957130059734323170251936599605963821422940930521530849283484030327614350287906116314426135286677284049646925206702725346737440996062378694261057601542166931564097497022885064350587551692768975149993902464047087442444563642344422881715062131795908160078844202544863877467325120894516127203501493905408047277861546906476875531370422118781825675266831284923457743344210089151801689946505105205384365659891630418109475154180079038432551524335906931277017563958390901406257738978888202064886182577972127942641678958466948576684874332259502166495385493228421418352080522582797871504138238304857836651149915807662384296163956564336780922732227245173451301473024188336420183716280058842654519838589180796865752246315859962111715298510592071843457879135532174116802807206555849799224749442896177378388149259728910061160720115089728151605224324186231675124969711300429670006805873259750998197099152340701465879121810996214227096965924660118912801449620247016821157226110411204757690511428507404218616904142434338870082930101286471570527461724939678496262079346965229967633179901944815297416663132809931035442793827573708958970963526702209649010161549685440977485017633205594122368268133915991423590779651816433743294060657693154872411083973984046421245320750012987131676853973074121700425085108383724052610000730585998860983014128795826584269139630242611956881487910267648407356821666308232170203533454706936910273335535198265522812985176556567674675374367232002 88120014498452989839353386877044801868723079388909967154608551017502481639715645010638501436739107562984791312901707891497522185199371806316304282110774407045175613839226588011466369821919446759140220865388033669241918285412395318935575191885103772842328794283048341381820325186826300581757290168541302180125172500331382371523506842272283160196332775700418172596703986919563504528106766619138766570026827544060001503641218990737222795248128517516792206628480775794592186979992901326293182949335775866373138152185418792427320398393221457950941148997882328540626090307720296433875917345047575273770832909695462489220348601343996174537225582654447490811625714078871230468262856330202286250951063332261860503353301303243005071185172252823610047137550856701902661642224219462897417846255836473726014008661418084344086627638887005366857773871213872569027580660020622720088534731835427994326778049199579126295913854609440039081957637217786822830265153934448107458142736283255217719758834659008034148883585974270117191400616589487364768273746291230021354291315776170151293956034144609609042764262814511380733212894078745515786520937510333811146045653284693173370556777366130353476582071120499627952891512923416622958862518354431177156800838557876479844480542056500373114875878356320659773777936327023456284894927960146370055375544737821958479671235525170761622265534984770057914594037103745514890252953858120879273470967673363620268765621018490034056297641250771343792851034071582216824130716594718893108270490246130357391143400538309361528294808580913227832118096933183775427756705589324649821517505338226591189817126415653726102590830663263194448539819958681879869607858086539300332353617289461561768299363862424030372897070278303031880114454914158127434745004486819418487568338465153310778204701220473946099019013869658847984852891928234686424714118244507180580661536198403073879858765333565490962947110175079397798396674714267049171383572148572110044498056432311536316622288314314576855722427629401155534688915358823316449458793320654448885900641168582469590366048797954124411516192928115524911740007865123563907978656968021197547078148849959123908744878175384127926394677919259127313419818870040620965546271852635768603083941228274682668589994393481100060913191839696399888474315097917714951501227488035587005912247490846123614599124227497604700969727589281720398679903324597706447206154674425455850745597377105257757440871987452332644317499485897277320222432974477637361359654243377541033582358722327244414032937013021493599983065003617531025949792804519192585877354823344615554430239282539497296885846328943576694665653084172258837654605954112518119582018775190426991312645409634629334170807943736866272557432809087337409084817787319503721674278166793034289834815120942684428219352288750087435698445935876786159349846832511091270579512892646047823479116298957188265478500624187759506052763954524282152977162155629812114205056676372554315817242784588187963455051879978879506598699863775683105332147190871761471962340278149928488288811023913985934017120206549410137795410609331627508192564689789833948158653886401 142581178547630455876395835771191750216534747011900459841304059655937764099610272139207164369319453195015396918858008865505743564914135214476852542417812598045265526772705884192210969572662989562726311913000610406501040324770666526060784900070154384599351599908915331159419654334979214238709780095934832857259742834493965924670200239643263277262997232778288325321152247583529474290036151645523950380917619843542261398981810025937849681153195249210598681533550411213740939156737311462001830937615151919637530215101810546621971228841179070127615886458113107201875901475860517098992520647706242558822579518073071998590716317488719714052365958412631613816593133799049975140419322384003659071667252290415628449276697245541721623775944686791262087714284363242128121313875504987144209303807659018181417719222548761811566044591742402964904883061627742705074895350972970707573504785207265469513420697053266905301447589078417921784680645906583090792622913648711034092853606150069973031233101533872794976567760377332955732374767413351158576341965698374076341224456376067310602913747923755352640076010343767349190318457522413734086450620474047883183722424232403291500274317634076436987828766340529250271151576939166884554569152355926818847177887995386541622204419597390231249068521792139337357074107651848593826043243278381946023708981125766958405406226894498728830534924166532982471729131910910105961914577403087372490502842092940162640042105171433010197272319459023984550878594866852731221069980495184388228503446599607600005846929513895881204174503813135993426094347476182724133789963719854875939373833895373627131572488440399691115202052126924606405537532733056933061564988146273623502605553889067525589722304792945561222180554308630646230402361030472553570031681770869065412775041190500048219200763599168207156620556036590412082349914813299037012265811013482330574564000245490516324422407677988372678009241970987557877240877259130926638708693043088237247999550337719583594483835220791452387092849748182981209955746643746774192803003409806250575847146273787853956025940428372233886670373007153957463264343772054840925542615358922603804817127738161188794927456147512070568073636386207703998294151129542787460931765081057186955164463811072554172728232698338936712063107647358784184638271662254495874233454733209038307385271679182543798315404286340259220808316770078586150926219184559818162504665266497299308624732909279374560248078543302131869066942382074655708371692703387698522079769333105692638806682908558919539002648313451163606788938263368529223048945145220658464999165819558842651396163942658410098335466575960397851891763495377016528166034461516736736486161209529297074242746696106199861632532883415362534636779774317305042264719732134801138337410976724069732628642694651643399182878990959736445859995621317763644367480038105213638847646808637471414258768115390931559539158317342631917136737938570703398297912168616943791059029750494254740902351168312240573455782465977740489612828659602267374471777433483718353450250545798335845110477332146156137550574913486320411130945807597150321177741246357508623533021118403 230701193046083445715749222648236552085257826400810426995912610673440245739325917149845665806058560758000188231759716757003265750113507020793156824528587005090441140611932472203677339394582436321866532778388644075742958610183061844996360091955258157441680394191963672541239979521805514820467070264476135037384915334825348296193707081915546437459330008478706497917856234503092978818142918264662716950944447387602262902623029016675072476401323766727390888162031187008333126136730212788295013886950927786010668367287229339049291627234400528078557035455995435742501991783580813532868437992753817832593412427768534487811064918832715888589591541067079104628218847877921205608682178714205945322618315622677488952629998548784726694961116939614872134851835219944030782956099724450041627150063495491907431727883966846155652672230629408331762656932841615274102476010993593427662039517042693463840198746252846031597361443687857960866638283124369913622888067583159141550996342433325190750991936192880829125451346351603072923775384002838523344615711989604097695515772152237461896869782068364961682840273158278729923531351601159249872971557984381694329768077517096464870831095000206790464410837461028878224043089862583507513431670710357996003978726553263021466684961653890604363944400148459997130852043978872050110938171238528316079084525863588916885077462419669490452800459151303040386323169014655620852167531261208251763973809766303782908807726189923044253569960709795328343729628938434948045200697089903281336773936845737957396990330052205242732469312394049221258212444409366499561546669309179525760891339233600218321389614856053417217792882790187800854077352691738812931172846232812923834959171178529087358021668655369591595077624586933678110516815944630681004776686257688483900343379655653358997405464819642153255639569906249260067202806741533723436979929257989511155225536443893590204281173011553863640956352146066955675637551973397975810092265191660347292497606770031119911106123535106029242815277377584136744644662002570090642261796730460699461747787442370323546391989226326358298186565935269482375004351637178404833521272326943801351895276588120312703672334322896198494468314305466831311713969999583408426478036933692955558248405039347236841318227091820036772976299487055184073112586760172210825734682221244625313297519170028667412914528513837863921778044359360306549606122509157524609710819940922755159370330286384632317688950530754464513384441867971933028594125677865335883439423576483233672389041630886163953035585326472657206772003266986060248998737949739851050876520642903458205826403225197907395221312904903974546557416579549275365820640415629254856068179984719724065555392105740829195803340827152228807194212583404642451349537519454304860011689143517104022463457815594327827402231279709823881558441557194549803717326870616304909427159701283519237737884414348119825017658941530391423189501893094985551275074324246755905264086426866809056719593952900428536910834345956619996211528523377950479803924624355479825412590823948264333399288356060142071567695120035730548926356416928777829370305936147342571691675004804 373282371593713901592145058419428302301792573412710886837216670329378009838936189289052830175378013953015585150617725622509009315027642235270009366946399603135706667384638356395888308967245425884592844691389254482243998934953728371057144992025412542041031994100879003700659633856784729059176850360410967894644658169319314220863907321558809714722327241256994823239008482086622453108179069910186667331862067231144524301604839042612922157554519015937989569695581598222074065293467524250296844824566079705648198582389039885671262856075579598206172921914108542944377893259441330631860958640460060391415991945841606486401781236321435602641957499479710718444811981676971180749101501098209604394285567913093117401906695794326448318737061626406134222566119583186158904269975229437185836453871154510088849447106515607967218716822371811296667539994469357979177371361966564135235544302249958933353619443306112936898809032766275882651318929030953004415510981231870175643849948583395163782225037726753624102019106728936028656150151416189681920957677687978174036740228528304772499783529992120314322916283502046079113849809123572983959422178458429577513490501749499756371105412634283227452239603801558128495194666801750392068000823066284814851156614548649563088889381251280835613012921940599334487926151630720643936981414516910262102793506989355875290483689314168219283335383317836022858052300925565726814082108664295624254476651859243945548849831361356054450842280168819312894608223805287679266270677585087669565277383445345557402837259566101123936643816207185214684306791885549223695336633029034401700265173128973845452962103296453108332994934917112407259614885424795745992737834379086547337564725067596612947743973448315152817258178895564324340919176975103234574808368028557549313118420846153407216606228418810360412260125942839672149552721554832760449245740271471841729789536689384106528703580689542236318965594117054513552878429232528902448800958234748584540497157107750703505589958755897481629908127125767117954600408646316864835064800140266950037594933716158177502417929654698592184856938942423439838268695409233245759063887685866405156712404326281501498599790470408269062541950691674535310008121129126195887409802014750142513412868850419791014046459790158973485039407134413968257750858422426706699968136954453663620682790849211211211229932800178123142586361129438892700532341693717342772215485207420054467995063195664006877937029074056596382451384250046588736965818381253034405519192909588926311195724539445083492038233639923820813560941530354589472047683094960509515875686462462300857222567167856317493556779480864372398449180074926291893986674877145991592554341194249021139798138801847029057435873710567591341830992357721947493614257251589105998349100120241173755092100510245971226585110270669560327418437178512313448084806908721518548274806509920990651996652529739051384556817258873023340326239831665688949572986492863699696323116177361063797621945121212669110366616811934360485824357182980217854275702057839198178862841369746600178509765688206298209118270033522050960057302224525928150548047182504851195224696123207 603983564639797347307894281067664854387050399813521313833129281002818255578262106438898495981436574711015773382377442379512275065141149256063166191474986608226147807996570828599565648361827862206459377469777898557986957545136790216053505083980670699482712388292842676241899613378590243879643920624887102932029573504144662517057614403474356152181657249735701321156864716589715431926321988174849384282806514618746787204227868059287994633955842782665380457857612785230407191430197737038591858711517007491658866949676269224720554483309980126284729957370103978686879885043022144164729396633213878224009404373610140974212846155154151491231549040546789823073030829554892386357783679812415549716903883535770606354536694343111175013698178566021006357417954803130189687226074953887227463603934650001996281174990482454122871389053001219628430196927310973253279847372960157562897583819292652397193818189558958968496170476454133843517957212155322918038399048815029317194846291016720354533216973919634453227470453080539101579925535419028205265573389677582271732256000680542234396653312060485276005756556660324809037381160724732233832393736442811271843258579266596221241936507634490017916650441262587006719237756664333899581432493776642810855135341101912584555574342905171439976957322089059331618778195609592694047919585755438578181878032852944792175561151733837709736135842469139063244375469940221347666249639925503876018450461625547728457657557551279098704412240878614641238337852743722627311471374674990950902051320291083514799827589618306366669113128601234435942519236294915723256883302338213927461156512362574063774351718152506525550787817707300208113692238116534558923910680611899471172523896246125700305765642103684744412335803482498002451435992919733915579585054286246033213461800501806766214011693238452513667899695849088932216755528296366483886225669529461352885015073133277696732984753701096099959921946263121469228515981205926878258893223426408931832994763877781823416696082291003510872723404503351254699245070648886955477326596870727649499342721158528501048809918881024950483043504877692922213273047046411650592585160012810206508607680914401814202272124793304467557010264997141366621722091128709604313887838948443098071661273889767027855364686881979010258015706621469152330863445182598917525702819175698288933980310019239878624144461314015987064364405488799199250138464202874867381926305148342809627365393482048639195625979604811060895835826118018521765559944059118370288958616486072159983584766170331247445073818966396478020332944797340649721046421044700360566752207105365759063048970393054224888778092385768346945006596654475567259807315292775246448622521178968745205353530907587858253239214537719820149025204941126589944963794771043410858360789263758277777555558325840299053987341550379384208976878735706863251802133779337823457701966211204509889734536944087171209574476200403414763515741724760674500848060817110455601587202604227872854341539074113097647277451157890980482035885706358168334079626682194678004275432193694864511909054044266440280685965153557781508983658641454705979918353118652193766916371128011 977265936233511248900039339487093156688842973226232200670345951332196265417198295727951326156814588664031358532995168002021284380168791491333175558421386211361854475381209184995453957329073288091052222161167153040230956480090518587110650076006083241523744382393721679942559247235374972938820770985298070826674231673463976737921521725033165866903984490992696144395873198676337885034501058085036051614668581849891311505832707101900916791510361798603370027553194383452481256723665261288888703536083087197307065532065309110391817339385559724490902879284212521631257778302463474796590355273673938615425396319451747460614627391475587093873506540026500541517842811231863567106885180910625154111189451448863723756443390137437623332435240192427140579984074386316348591496050183324413300057805804512085130622096998062090090105875373030925097736921780331232457218734926721698133128121542611330547437632865071905394979509220409726169276141186275922453910030046899492838696239600115518315442011646388077329489559809475130236075686835217887186531067365560445768996229208847006896436842052605590328672840162370888151230969848305217791815914901240849356749081016095977613041920268773245368890045064145135214432423466084291649433316842927625706291955650562147644463724156452275589970244029658666106704347240313337984901000272348840284671539842300667466044841048005929019471225786975086102427770865787074480331748589799500272927113484791674006507388912635153155254521047433954132946076549010306577742052260078620467328703736429072202664849184407490605756944808419650626826028180464946952219935367248329161421685491547909227313821448959633883782752624412615373307123541330304916648514990986018510088621313722313253509615551999897229593982378062326792355169894837150154393422314803582526580221347960173430617921657262874080159821791928604366308249851199244335471409800933194614804609822661803261688334390638336278887540380175982781394410438455780707694181661157516373491920985532526922286041046900992502631531629118372653845479295203820312391397010994599536937654874686678551227848535723542667900443820116362051541742455644896351649047698676611665320085240683315700871915263712736619552215688815901931730212257835800201297640963193240585074142740186818869411146672137983743055113755883120588614303605025624225670956130151952554663100868451089835374394114194110206950766618238091950670805896592210154141790355762864095360456677712646073563008678867657278287210368065110502525762440371404694477809395661086294780490709776330937112052606320298833893886327695239193094104139660870082627893567828059920271537560910542382334871866632719343455776729401859153793990169921238041176862373217766345151669709434887310675088248287411490856197298848537438578052022632516856709889383999451532647658836086270280572451821048944536395315914219176699886940688059342005976772721125500541731189473826222594131293459276438103841981556426363450421047309974155297910318781588936651963484195325766757644067969825340967860242889338386188355328740033876183138273563441464690418819732472738489804235187079832469040960865980634130466400301157044962141067251218 1581249500873308596207933620554758011075893373039753514503475232335014520995460402166849822138251163375047131915372610381533559445309940747396341749896372819588002283377780013595019605690901150297511599630945051598217914025227308803164155159986753941006456770686564356184458860613965216818464691610185173758703805177608639254979136128507522019085641740728397465552737915266053316960823046259885435897475096468638098710060575161188911425466204581268750485410807168682888448153862998327480562247600094688965932481741578335112371822695539850775632836654316500318137663345485618961319751906887816839434800693061888434827473546629738585105055580573290364590873640786755953464668860723040703828093334984634330110980084480548798346133418758448146937402029189446538278722125137211640763661740454514081411797087480516212961494928374250553527933849091304485737066107886879261030711940835263727741255822424030873891149985674543569687233353341598840492309078861928810033542530616835872848658985566022530556960012890014231816001222254246092452104457043142717501252229889389241293090154113090866334429396822695697188612130573037451624209651344052121200007660282692198854978427903263263285540486326732141933670180130418191230865810619570436561427296752474732200038067061623715566927566118717997725482542849906032032820586027787418466549572695245459641605992781843638755607068256114149346803240806008422146581388515303376291377575110339402464164946463914251859666761926048595371283929292732933889213426935069571369380024027512587002492438802713857274870073409654086569345264475380670209103237705462256622578197854121973001665539601466159434570570331712823486999361657864863840559195602885489682612517559848013559275257655684641641929785860560329243791162814571065733978476601049615740042021849766939644629614895715387748059517641017536583063778147565728221697079330394547499819682955939499994673088091734436238809486643297452009910391644382658966587405087566448206486684863314350338982123337904503375354936132469627353090549944090775789717993881722249036280376033215179600037767416748493150943948697809284264814789502056546944234207711486818173927766155085129903144040057017204176562480685957268553452303386545404515185479911636338656735416629953846724775833554116994001070820377352272919477748787624541751373775305850241488643410887690968459518855428210097271315172107037291200809270099467077536068095504105673722725850159761285269188988283678718174123036486083632268085706499489774983436425881733246278365256880107578382185871572716776854226831125035888914140525184361230649380100673193818983320507953964767271112964252401066288462373383877426413601305462696484489799383552186511550505200617022745563914302786007231639881402239975127383541846793675927715070678647757729310203217161926569334559793371428328745372194649926039951689074467397165463678738932330010431465726417913393803705769659679852867357723281187037951269108127084610899497521385816809506305023269438864404921519127716321449896128595696554522434955422228554187413705757136329202327873776739178770490200340637613978024619507435340110384753419809238729057438379229 2558515437106819845107972960041851167764736346265985715173821183667210786412658697894801148295065752039078490448367778383554843825478732238729517308317759030949856758758989198590473563019974438388563821792112204638448870505317827390274805235992837182530201153080286036127018107849340189757285462595483244585378036851072615992900657853540687885989626231721093609948611113942391201995324104344921487512143678318529410215893282263089828216976566379872120512964001552135369704877528259616369265783683181886272998013806887445504189162081099575266535715938529021949395441647949093757910107180561755454860197012513635895442100938105325678978562120599790906108716452018619520571554041633665857939282786433498053867423474617986421678568658950875287517386103575762886870218175320536054063719546259026166542419184478578303051600803747281478625670770871635718194284842813600959163840062377875058288693455289102779286129494894953295856509494527874762946219108908828302872238770216951391164100997212410607886449572699489362052076909089463979638635524408703163270248459098236248189526996165696456663102236985066585339843100421342669416025566245292970556756741298788176468020348172036508654430531390877277148102603596502482880299127462498062267719252403036879844501791218075991156897810148376663832186890090219370017721586300136258751221112537546127107650833829849567775078294043089235449231011671795496626913137105102876564304688595131076470672335376549405014921282973482549504230005841743240466955479195148191836708727763941659205157287987121347880627018218073737196171292655845617161323173072710585783999883345669882228979361050425793318353322956125438860306485199195168757207710593871508192701138873570326812784873207684538871523768238622656036146332709408215888371898915853198266622243197727113075247536552978261828219339432946140949372027998764972557168489131327742114624292778601303256361422482372772517697027023473434791304802082838439674281586748723964579978605848846877261268164384805495877986467761588000006936029239294596102109390892716848573218030907901858151265615952472035818844392517925646316356531957701443295883255410163429839247851395768445604015955320729940796114696374773170485182515644381204716483120874829579241809559370140665594186980226254977744125934133235393508092052392650165977044731436002194043306511756142058294893249542404207478265938725275383151480075996059287690209885859868537818086306837473931342751996962546375452410246854148742770611468939861179677914235277394332573145747589883909319297924179037075688120717452731128107234629324022100732007994241021878903592045514875309653447836119033785631918150113279285567395295632617722530976245925404277895656870326457632874589391034294643130737599538823664822119898816308444571780568031757180842850875998012839615132245192477273281767510564145216651576015155456507469655511653455510973196915891739616397837063118956290971199704837613401401690155437058766197407840167405746158268507464764631162565587097541662417756371485034940710790284162262430370551979320577793892746693509211917260294435527717446447065580373415974240851153720966283691198505630447 4139764937980128441315906580596609178840629719305739229677296416002225307408119100061650970433316915414125622363740388765088403270788672986125859058214131850537859042136769212185493168710875588686075421423057256236666784530545136193438960395979591123536657923766850392311476968463305406575750154205668418344081842028681255247879793982048209905075267972449491075501349029208444518956147150604806923409618774787167508925953857424278739642442770961140870998374808720818258153031391257943849828031283276575238930495548465780616560984776639426042168552592845522267533104993434712719229859087449572294294997705575524330269574484735064264083617701173081270699590092805375474036222902356706561767376121418132383978403559098535220024702077709323434454788132765209425148940300457747694827381286713540247954216271959094516013095732121532032153604619962940203931350950700480220194552003213138786029949277713133653177279480569496865543742847869473603438528187770757112905781300833787264012759982778433138443409585589503593868078131343710072090739981451845880771500688987625489482617150278787322997531633807762282528455230994380121040235217589345091756764401581480375322998776075299771939971017717609419081772783726920674111164938082068498829146549155511612044539858279699706723825376267094661557669432940125402050542172327923677217770685232791586749256826611693206530685362299203384796034252477803918773494525620406252855682263705470478934837281840463656874588044899531144875513935134476174356168906130217763206088751791454246207649726789835205155497091627727823765516557131226287370426410778172842406578081199791855230644900651891952752923893287838262347305846857060032597766906196756997875313656433418340372060130863369180513453554099182985279937495523979281622350375516902814006664265047494052719877151448693649576278857073963677532435806146330700778865568461722289614443975734540803251034510574107208756506513666770886801215193727221098640868991836290412786465290712161227600250287722709999253341403894057627360026579183385371891827384774439097609498406941117037751303383369220528969788341215734930581171321459757990240117463121650248013175617550853575507159995377747144972677177060730439038634819030926609231668600786465917898544976000094512318962813780371971745196754510587666427569801180274707728418506741852435531949922643833026754412104970614304749581110832312674352289346095526365226277981363974211540812156997235216611940985246225093626533283340232375038697175439350954661350661159127578851511004469991487701483795751753852542347548577767017021375154508383331381388094914215697886912553468840076924560800371434851920380523497156711980996601095314207020775629477590789446162070943480378438503693820301874770619001778798792205661745609984372286851246679514910153054093159939408949692038563905602027139705214071256603265089622853672933334250585785521404662642309653010201542832778636143838557428118800439352959263564143377096905361553222555664573530734203495567487106225257983867652500080731495233225239584490984557965685077714123095074567285951096030784635868355060425090199880851314351235907140775522420255944009676 6698280375086948286423879540638460346605366065571724944851117599669436093820777797956452118728382667453204112812108167148643247096267405224855376366531890881487715800895758410775966731730850027074639243215169460875115655035862963583713765631972428306066859076847136428438495076312645596333035616801151662929459878879753871240780451835588897791064894204170584685449960143150835720951471254949728410921762453105696919141847139687368567859419337341012991511338810272953627857908919517560219093814966458461511928509355353226120750146857739001308704268531374544216928546641383806477139966268011327749155194718089160225711675422840389943062179821772872176808306544823994994607776943990372419706658907851630437845827033716521641703270736660198721972174236340972312019158475778283748891100832972566414496635456437672819064696535868813510779275390834575922125635793514081179358392065591013844318642733002236432463408975464450161400252342397348366384747296679585415778020071050738655176860979990843746329859158288992955920155040433174051729375505860549044041749148085861737672144146444483779660633870792828867868298331415722790456260783834638062313521142880268551791019124247336280594401549108486696229875387323423156991464065544566561096865801558548491889041649497775697880723186415471325389856323030344772068263758628059935968991797770337713856907660441542774305763656342292620245265264149599415400407662725509129419986952300601555405509617217013061889509327873013694379743940976219414823124385325365955042797479555395905412807014776956553036124109845801560961687849787071904531749583850883428190577964545461737459624261702317746071277216243963701207612332056255201354974616790628506068014795306988667184845004071053719384977322337805641316083828233387497510722274432756012273286508245221165795124688001671911404498196506909818481807834145095673336034057593050031729068268513142106507395933056479981274203540690244321592519995810059538315150578585014377366443896561008104861518452107515495131327871655645627366962608422679967993936775667155946182716437849018895902568999321692564788632733733660576897527853417459433536000718531813677852423468946622021111175950698477085768791873435503609523817334675307813948151721661295497140354535370235177913149794006626949489322688643823059935661853572924873705463238177854629575256434399975085049305354513018512227847049557588057503769422091585652916487867223842749358898463834709147954692982208771469078943530194381117809308644379212134339264896436521911424656752059875397020781719930790928230468266030498145128609783832405432113396089155237576790504598983715386578008636490468637552298673610435997548391896727931929551751875402995067341818941269938011313093084854596517901356601317622457027781644426292816858631814711272090995904969157952248564824283756382875308907215778216473254841104778310180402989762239241032377859558201392626599379895897592434809757132956413840754649419001202143294313201720628301822842038198968126730052693322799646285408871565766435944015523746753414928517664398291916987821260795163013291079071396072506872155780254267288592087060861741806111454449640123 10838045313067076727739786121235069525445995784877464174528414015671661401228896898018103089161699582867329735175848555913731650367056078210981235424746022732025574843032527622961459900441725615760714664638226717111782439566408099777152726027952019429603517000613986820749972044775951002908785771006820081273541720908435126488660245817637107696140162176620075760951309172359280239907618405554535334331381227892864428067800997111647307501862108302153862509713618993771886010940310775504068921846249735036750859004903819006737311131634378427350872821124220066484461651634818519196369825355460900043450192423664684555981249907575454207145797522945953447507896637629370468643999846347078981474035029269762821824230592815056861727972814369522156426962369106181737168098776236031443718482119686106662450851728396767335077792267990345542932880010797516126056986744214561399552944068804152630348592010715370085640688456033947026943995190266821969823275484450342528683801371884525919189620962769276884773268743878496549788233171776884123820115487312394924813249837073487227154761296723271102658165504600591150396753562410102911496496001423983154070285544461748927114017900322636052534372566826096115311648171050343831102629003626635059926012350714060103933581507777475404604548562682565986947525755970470174118805930955983613186762483003129300606164487053235980836449018641496005041299516627403334173902188345915382275669216006072034340346899057476718764097372772544839255257876110695589179293291455583718248886231346850151620456741566791758191621201473529384727204406918298191902175994629056270597156045745253592690269162354209698824201109531801963554918178913315233952741522987385503943328451740407007556905134934422899898430876436988626596021323757366779133072649949658826279950773292715218515001839450365560980777053580873496014243640291426374114899626054772321343512244247682909758430443630587190030710054357015208393735189537280636956019570421304790152909187273169332461768739830225494384669275549703254726989187606065339885764160441595043792214844790135933653872382690913093758421074949395507478699174877217423776118181653463925865599086497475596618335946076224230741469050496234048562452153706234423179820322447761415038899511370329690232112607786998921234519443154410726363231654753199581433881744919707065107206357043808111803717459483632816977428160389900731856058768187112018142765848587816960899710620831944364566633967454996562705476813534613492848005819818563089000615557595649490276167756529866884722265515682544780772815814608265162149984938340788763494784184069453274677417152452555463502569436861903489472679197107592709529388497823246136572527504880585856787981012213418389751596778674898392671975603096421249233443390036277189145483061390787001148959062317891657514516322320288477336046920992287729858106194401163853336324012825026553782522200511045636800922728676228578648314561075214280107608682565345520391218563273850857487415568933171622297539799548057630153061371646497931177240763331244399486483349476006040082895828081114109321863707264427567297245980135118602943322968002517328531710393649799 17536325688154025014163665661873529872051361850449189119379531615341097495049674695974555207890082250320533847987956723062374897463323483435836611791277913613513290643928286033737426632172575642835353907853396177986898094602271063360866491659924447735670376077461123249188467121088596599241821387807971744203001599788188997729440697653226005487205056380790660446401269315510115960859089660504263745253143680998561347209648136799015875361281445643166854021052429266725513868849230293064288015661216193498262787514259172232858061278492117428659577089655594610701390198276202325673509791623472227792605387141753844781692925330415844150207977344718825624316203182453365463251776790337451401180693937121393259670057626531578503431243551029720878399136605447154049187257252014315192609582952658673076947487184834440154142488803859159053712155401632092048182622537728642578911336134395166474667234743717606518104097431498397188344247532664170336208022781129927944461821442935264574366481942760120631103127902167489505708388212210058175549490993172943968854998985159348964826905443167754882318799375393420018265051893825825701952756785258621216383806687342017478905037024569972333128774115934582811541523558373766988094093069171201621022878152272608595822623157275251102485271749098037312337382079000814946187069689584043549155754280773467014463072147494778755142212674983788625286564780777002749574309851071424511695656168306673589745856516274489780653606700645558533635001817086915004002417676780949673291683710902246057033263756343748311227745311319330945688892256705370096433925578479939698787734010290715330149893424056527444895478325775765664762530510969570435307716139778014010011343247047395674741750139005476619283408198774794267912105151990754276643794924382414838553237281537936384310126527452037472385275250087783314496051474436522047450933683647822353072580512760825016265826376687067171304913595047259529986255185347340175271170149006319167519353083834177437323287191937740989515997147205348882093951796028745307879700936108750989974931282639154829556441382012605658547053808683056084376227028294676857312118900185277603718022555444097617729511896774701316510260923931737658086269488381542237127972044109056912179254046740564868145262401793625870723842131798233786298893508326124455139344983097561694682462791443783196853022813996651329205275209947488789359828190278697671059253715811659710258609084666653512521326949663768031784420343728994610657314464197775223339880454032171401700824508589742281743047235613335709003284080638763307278594722173194195608180273224690851467921751436270850080578073352372127024977870718028707077780394551178066124279380283580924129799953483356401064689863529494910573332204414043706261225034462570006004114876102059092144864031475843906079340606076671352644954136770504203112947299179474033739313775064267586160381758712438263400302624573821013458071694031628120862258101566547663685531764994479159310257607132139749027592492870857276438470243212264367121256287077997814415001013874297957070717088876277122612942778660500074169401760389385891535410028864259134643164843289922 28374371001221101741903451783108599397497357635326653293907945631012758896278571593992658297051781833187863583163805278976106547830379561646817847216023936345538865486960813656698886532614301258596068572491622895098680534168679163138019217687876467165273893078075110069938439165864547602150607158814791825476543320696624124218100943470863113183345218557410736207352578487869396200766708066058799079584524908891425775277449133910663182863143553945320716530766048260497399879789541068568356937507465928535013646519162991239595372410126495856010449910779814677185851849911020844869879616978933127836055579565418529337674175237991298357353774867664779071824099820082735931895776636684530382654728966391156081494288219346635365159216365399243034826098974553335786355356028250346636328065072344779739398338913231207489220281071849504596645035412429608174239609281943203978464280203199319105015826754432976603744785887532344215288242722930992306031298265580270473145622814819790493556102905529397515876396646045986055496621383986942299369606480485338893668248822232836191981666739891025984976964879994011168661805456235928613449252786682604370454092231803766406019054924892608385663146682760678926853171729424110819196722072797836680948890502986668699756204665052726507089820311780603299284907834971285120305875620540027162342516763776596315069236634548014735978661693625284630327864297404406083748212039417339893971325384312745624086203415331966499417704073418103372890259693197610593181710968236533391540569942249096208653720497910540069419366512792860330416096663623668288336101573108995969384890056035968922840162586410737143719679435307567628317448689882885669260457662765399513954671698787802682298655273939899519181839075211782894508126475748121055776867574332073664833188054830651602825128366902403033366052303668656810510295114727948421565833309702594674416092757008507926024256820317654361335623649404274738379990374884620812227189719427623957672262271107346769785055931767966483900666422755052136820940983634810647765465096550346033767146127429290763210313764703518752305474883632451591854926203171894281088237081838741529583621641941573214347847842850925547251729974427971706648721642087776660307792366556818327218153558110894558377375009580624791958361574952644512662125163079324036573226728017268759789669148487591308656740273480284146182703370337389521215886958465809689202019564399476671158319705498597877087960917118764594489897157263608103505320284016338312340496011627820891976992265119609166465312751295880489776099895247028469428579660513982959102964457294144126145338903888826313583147510214275616497657067825621416607168892374424202696806885164166780917780965696774790816286642204393303245307807510464955494668424498847195149597937492846093293823093793735563593856928396959829981001057762791932971053493580637887075637787889294139942903959223483900201225353250049592106386255106842400969866784131893184076750328268330016797673176065311371325132292418914906591531614858762298298497050409242213901484363350303997153612916957391231934806485924927641466647740524504494478732996866776463174875236939721 45910696689375126756067117444982129269548719485775842413287477246353856391328246289967213504941864083508397431151762002038481445293703045082654459007301849959052156130889099690436313164786876901431422480345019073085578628770950226498885709347800914900944269155536233319126906286953144201392428546622763569679544920484813121947541641124089118670550274938201396653753847803379512161625797726563062824837668589889987122487097270709679058224424999588487570551818477527222913748638771361632644953168682122033276434033422163472453433688618613284670027000435409287887242048187223170543389408602405355628660966707172374119367100568407142507561752212383604696140303002536101395147553427021981783835422903512549341164345845878213868590459916428963913225235580000489835542613280264661828937648025003452816345826098065647643362769875708663650357190814061700222422231819671846557375616337594485579683061498150583121848883319030741403632490255595162642239321046710198417607444257755055067922584848289518146979524548213475561205009596197000474919097473658282862523247807392185156808572183058780867295764255387431186926857350061754315402009571941225586837898919145783884924091949462580718791920798695261738394695287797877807290815141969038301971768655259277295578827822327977609575092060878640611622289913972100066492945310124070711498271044550063329532308782042793491120874368609073255614429078181408833322521890488764405666981552619419213832059931606456280071310774063661906525261510284525597184128645017483064832253653151342265686984254254288380647111824112191276104988920329038384770027151588935668172624066326684252990056010467264588615157761083333293079979200852456104568173802543413523966014945835198357040405412945376138465247273986577162420231627738875332420662498714488503386425336368587987135254894354440505751327553756440125006346589164470469016766993350417027488673269769332942290083197004721532640537244451534268366245560231960987498359868433943125191615354941524207108343123705707473416663569960401018914892779663555955645166032659097023742077410068445592766755146716124410852528692315507676231153231466571138400355982024019133301644197385670832077359739625626863761990898359709364734991130469318897435764410665875239397407604851459426522637411374250662682203706750878298961018671405448491712571711114830454472131939931374505509763087476935475387978580284878310575715148744507360261273280211136381416928790165251389609287866782532626274317500992602714162634748214113535680376465659992293677816773709351448208359986909216198779383975885791776707174382687177154711144730518834977613260655325097163663725583566647743522634938543650123684949286925602268821086265447747705047580919180131191880976505733888213818640011924508661755893458961417201153712813594905185438687125269579469673197534473631182625955194533296136084000792760111920814951562953561726103285717935922163601527977823870605564457949138470521832124885698440847762282093262809176107930783197451120352724785289772183030001858071026665419753337487240028316485377224601954224330005833668354547749264585427715636049500913890386014143025731035597818040080229643 74285067690596228497970569228090728667046077121102495707195422877366615287606817883959871801993645916696261014315567281014587993124082606729472306223325786304591021617849913347135199697401178160027491052836641968184259162939629389636904927035677382066218162233611343389065345452817691803543035705437555395156088241181437246165642584594952231853895493495612132861106426291248908362392505792621861904422193498781412897764546404620342241087568553533808287082584525787720313628428312430201001890676148050568290080552585154712048806098745109140680476911215223965073093898098244015413269025581338483464716546272590903457041275806398440864915527080048383767964402822618837327043330063706512166490151869903705422658634065224849233749676281828206948051334554553825621897969308515008465265713097348232555744165011296855132583050947558168247002226226491308396661841101615050535839896540793804684698888252583559725593669206563085618920732978526154948270619312290468890753067072574845561478687753818915662855921194259461616701630980183942774288703954143621756191496629625021348790238922949806852272729135381442355588662806297682928851262358623829957291991150949550290943146874355189104455067481455940665247867017221988626487537214766874982920659158245945995335032487380704116664912372659243910907197748943385186798820930664097873840787808326659644601545416590808227099536062234357885942293375585814917070733929906104299638306936932164837918263346938422779489014847481765279415521203482136190365839613254016456372823595400438474340704752164828450066478336905051606521085583952706673106128724697931637557514122362653175830218596878001732334837196390900921397427890735341773828631465308813037920686644623001039339060686885275657647086349198360056928358103486996388197530073046562168219613391199239589960383261256843539117379857425096935516641703892418890582600303053011701904766026777840868314340017322375893976160893855809006746235935116581799725549587861567082863877626048870976893399055473673957317329992715453155735833763298366603410631129209443057509223537497736355977068911419643163158003575947959268086079434638465419488593063862760662885265839327244046425207582476552411013720872787681071383712772557095557743556777222693566615561162962353984900012420954875454640565281703522811623143834484772528285798439132099214261801088418965814166503360957219621570681950622267831791602107210317049463292844610613052575248495663849266697248783901297220764214658256210817667955032230451848020872477287813185654809038828960614673672738205096688555483871132820246135754043201160113814109187812979103758599559213923477246873093780923360020292006369271540292118179300026471517893150611914485965361884876905982697263147938281517063947819434973617250561883460264396303310751087751278732510219063315033267054462870591012606956252296088069055054286340749807890589350842855866046189677159406063802753331073920197670844204245312922801991669830334031839032421531139192905603959262762491677857077708687089621533472929788963718250387896482242217969740574905951377942922791059586482555750510355357102697241438394880492876022597812060992915317169364 120195764379971355254037686673072857936594796606878338120482900123720471678935064173927085306935510000204658445467329283053069438417785651812126765230627636263643177748739013037571512862188055061458913533181661041269837791710579616135790636383478296967162431389147576708192251739770836004935464252060318964835633161666250368113184225719041350524445768433813529514860274094628420524018303519184924729259862088671400020251643675330021299311993553122295857634403003314943227377067083791833646843844830172601566514586007318184502239787363722425350503911650633252960335946285467185956658434183743839093377512979763277576408376374805583372477279292431988464104705825154938722190883490728493950325574773416254763822979911103063102340136198257170861276570134554315457440582588779670294203361122351685372089991109362502775945820823266831897359417040553008619084072921286897093215512878388290264381949750734142847442552525593827022553223234121317590509940359000667308360511330329900629401272602108433809835445742472937177906640576380943249207801427801904618714744437017206505598811106008587719568493390768873542515520156359437244253271930565055544129890070095334175867238823817769823246988280151202403642562305019866433778352356735913284892427813505223290913860309708681726240004433537884522529487662915485253291766240788168585339058852876722974133854198633601718220410430843431141556722453767223750393255820394868705305288489551584051750323278544879059560325621545427185940782713766661787549968258271499521205077248551780740027689006419116830713590161017242882626074504281745057876155876286867305730138188689337428820274607345266320949994957474234214477407091587797878396805267852226561886701590458199396379466099830651796112333623184937219348589731225871720618192571761050671606038727567827577095638155611284044868707411181537060522988293056889359599367296403428729393439296547173810604423214327097426616698138307343275112481495348542787223909456295510208055492980990395184001742179179381430733993562675854174650726542961922559055797161868540081251300947566181948743824058135767574010532268263466944317232666105036557888949045886779796186910036712914878502567322102179274775711771147390436118703903026414455179321187888568806012968767813813411422649832329126117322768988454401110584162505890221019998370150246929668733933028350340319676266448434155096958660530907146142367317255954824409724566124821749433992177285829100656306536650683829847038532159248813531830589780444565383701248942947805479332625812538312062882032725114312887334867847018612022842928425888337268525253918331814081371860214539020640910598677347571103542926944912921663977067466225628740338979416059662191012942804057037174578239653672169730882587831359482279006455342421681597457023564682656464171197344332894502940251997344222195232911446829384205139055079100861728705540913796417592149475395095328227404281308897790803235302153383783444634116555528774879601314514793948369013534742460213612030581862998459272651535331000815629138003725383722270534455117799507905602272928624727941030305015095783072738746742352285266507019048328847658810955397399007 194480832070567583752008255901163586603640873727980833827678323001087086966541882057886957108929155916900919459782896564067657431541868258541599071453953422568234199366588926384706712559589233221486404586018303009454096954650209005772695563419155679033380593622758920097257597192588527808478499957497874359991721402847687614278826810313993582378341261929425662375966700385877328886410809311806786633682055587452812918016190079950363540399562106656104144716987529102663541005495396222034648734520978223169856595138592472896551045886108831566030980822865857218033429844383711201369927459765082322558094059252354181033449652181204024237392806372480372232069108647773776049234213554435006116815726643319960186481613976327912336089812480085377809327904689108141079338551897294678759469074219699917927834156120659357908528871770825000144361643267044317015745914022901947629055409419182094949080838003317702573036221732156912641473956212647472538780559671291136199113578402904746190879960355927349472691366936732398794608271556564886023496505381945526374906241066642227854389050028958394571841222526150315898104182962657120173104534289188885501421881221044884466810385698172958927702055761607143068890429322241855060265889571502788267813086971751169286248892797089385842904916806197128433436685411858870440090587171452266459179846661203382618735399615224409945319946493077789027499015829353038667463989750300973004943595426483748889668586625483301839049340469027192465356303917248797977915807871525515977577900843952219214368393758583945280780068497922294489147160088234451730982284600984798943287652311051990604650493204223268053284832153865135135874834982323139652225436733161039599807388235081200435718526786715927453759419972383297276276947834712868108815722644807612839825652118767067167056021416868127583986087268606633996039629996949308250181967599456440431298205323325014678918763231649473320592859032163152281858717430465124586949459044157077290919370607039266160895141234653055388051323555391307330386560306260289162466428291077983138760524485063918304720892969555410737168535844211426212403312100743501977377542109749540459072175876040158924927774904578731685789432643935071507502416675583510012922877965111262372628529930776167396322662253284001571963334270157923922207306340374993548284168589379028882995734116769306133842769809391374718529342481529413974158919363165141459187858969432362486567425781492949923003785434585127067802746817505024349498544812675017231722121420235618664987434851367272677555705463319409575890351718151432268978682469089497382339363106144793185130459773752944118157471771128494463563218951282193204269185645525655211856872566671576676978304688933943157275502801610451247946535650794455896257017225881945993760334315770407742903707563396209536207306460214813207839867699125472274194109365441611536596130264639273458195665072254734291207034639971711000906146357629096367436108225359108911440346936325087561919138701722976103708438940707146362273068803930604592856254113280204512752424858374413856980215851415787527512860765606138429841443983790680146999895070926659719803870714568371 314676596450538939006045942574236444540235670334859171948161223124807558645476946231814042415864665917105577905250225847120726869959653910353725836684581058831877377115327939422278225421777288282945318119199964050723934746360788621908486199802633976000543025011906496805449848932359363813413964209558193324827354564513937982392011036033034932902787030363239191890826974480505749410429112830991711362941917676124212938267833755280384839711555659778400002351390532417606768382562480013868295578365808395771423109724599791081053285673472553991381484734516490470993765790669178387326585893948826161651471572232117458609858028556009607609870085664912360696173814472928714771425097045163500067141301416736214950304593887430975438429948678342548670604474823662456536779134486074349053672435342051603299924147230021860684474692594091832041721060307597325634829986944188844722270922297570385213462787754051845420478774257750739664027179446768790129290500030291803507474089733234646820281232958035783282526812679205335972514912132945829272704306809747430993620985503659434359987861134966982291409715916919189440619703119016557417357806219753941045551771291140218642677624521990728750949044041758345472532991627261721494044241928238701552705514785256392577162753106798067569144921239735012955966173074774355693382353412240435044518905514080105592869253813858011663540356923921220169055738283120262417857245570695841710248883916035332941418909904028180898609666090572619651297086631015459765465776129797015498782978092503999954396082765003062111493658658939537371773234592516196788858440477271666249017790499741328033470767811568534374234827111339369350352242073910937530622242001013266161694089825539399832097992886546579249871753595568234495625537565938739829433915216568663511431690846334894744151659572479411628854794679788171056562618290006197609781334895859869160691644619872188489523186445976570747209557170470495556971198925813667374173368500452587498974863588029661344896883413832436818785317118067161505037286849222211721522225452946523220011825432630100253464717027691178311179068112474893156720544766848538535266491155636320255259085912753073803430342226680910960565144415082461943621120578609924468102199152999831178641498698589980807745312085613127689286103258612325032791468846265214568282538739625958551729667145119646453519036257825529815488003012436560116526236619119965868912425094254111920559603067322050579310322085268956914841278976753837881329134593119582615423370363183424144320060663905584740437738188433722463225219565170044291821610894977834650864617024476607266502319988291964759068070448476065567106145896195114868246253111751283952195851982731238867991247492990980331853742455282620978829123482153938175263472568303627591217357880453064207074904907729104039147558457559035403072779145954856479333164444542473265301671178435691050345140467350062518611315948869501804141448511012879812070224780887883791041661451119035930932673444183189715739020803705605634924604134931420221994257838663926783286879976173921762582488780040515468543165780701921502580190726142965413506914119255507378614826111967378 509157428521106522758054198475400031143876544062840005775839546125894645612018828289700999524793821834006497365033122411188384301501522168895324908138534481400111576481916865806984937981366521504431722705218267060178031701010997627681181763221789655033923618634665416902707446124947891621892464167056067684819075967361625596670837846347028515281128292292664854266793674866383078296839922142798497996623973263577025856284023835230748380111117766434504147068378061520270309388057876235902944312886786618941279704863192263977604331559581385557412465557382347689027195635052889588696513353713908484209565631484471639643307680737213631847262892037392732928242923120702490820659310599598506183957028060056175136786207863758887774519761158427926479932379512770597616117686383369027813141509561751521227758303350681218593003564364916832186082703574641642650575900967090792351326331716752480162543625757369547993514995989907652305501135659416262668071059701582939706587668136139393011161193313963132755218179615937734767123183689510715296200812191692957368527226570301662214376911163925376863250938443069505338723886081673677590462340508942826546973652512185103109488010220163687678651099803365488541423420949503576554310131499741489820518601757007561863411645903887453412049838045932141389402858486633226133472940583692701503698752175283488211604653429082421608860303416999009196554754112473301085321235320996814715192479342519081831087496529511482737659006559599812116653390548264257743381584001322531476360878936456219168764476523587007392273727156861831860920394680750648519840725078256465192305442810793318638121261015791802427519659265204504486227077056234077182847678734174305761501478060620600267816519673262506703631173567951531771902485400651607938249637861376276351257342965101961911207680989347539212840881948394805052602248286955505859963302495316309591989849943197203168441949677626044067802416202633647838829916356278791961122827544609664789894234195068927505792024648485492206836640673458468835423847155482500883988653744024506358772349917694018558185609997246589048347603956686319369123856867592040512644033265385860714331261788793232728358117131259642646354577059017533451123537254193434481025077118111093551270028629366148204067974338897129261249437528770248954998775186640208116566707329004987434725401261888952587361806067216904534017345493965974090685155982285107328100284063686474407127028848815000502314107519854083982644025794258862230827679405794599847145491783419042809307495515272857417993443651753132039115571283321476560800293364067332033203980130621400451632779762044908877225542219604560030669364847477308072515438757276939164052724549402815544969552181924923489129245256893072226775659132948394071520489794185573584977692196223471949978612471125313575354864917773848610912646845080328753527273809984084801897801443074964508540805539604796809818350588841212805047594868641976179506333006246992702482008387444123492851812145906165819447459744412751997197672938862024814850511951944131296039304834548335619562704631456302996056026546308059932421634709933645560506809190182167098418696826535749 823834024971645461764100141049636475684112214397699177724000769250702204257495774521515041940658487751112075270283348258309111171461176079249050744823115540231988953597244805229263163403143809787377040824418231110901966447371786249589667963024423631034466643646571913708157295057307255435306428376614261009646430531875563579062848882380063448183915322655904046157620649346888827707269034973790209359565890939701238794551857590511133219822673426212904149419768593937877077770620356249771239891252595014712702814587792055058657617233053939548793950291898838160020961425722067976023099247662734645861037203716589098253165709293223239457132977702305093624416737593631205592084407644762006251098329476792390087090801751189863212949709836770475150536854336433054152896820869443376866813944903803124527682450580703079277478256959008664227803763882238968285405887911279637073597254014322865376006413511421393413993770247658391969528315106185052797361559731874743214061757869374039831442426271998916037744992295143070739638095822456544568905119001440388362148212073961096574364772298892359154660654359988694779343589200690235007820146728696767592525423803325321752165634742154416429600143845123834013956412576765298048354373427980191373224116542263954440574399010685520981194759285667154345369031561407581826855293995933136548217657689363593804473907242940433272400660340920229365610492395593563503178480891692656425441363258554414772506406433539663636268672650172431767950477179279717508847360131119546975143857028960219123160559288590069503767385815801369232693629273266845308699165555528131441323233310534646671592028827360336801754486376543873836579319130145014713469920735187571923195567886160000099914512559809085953502927163519766267528022966590347767683553077944939862689033811436856655359340561826950841695676628182976109164866576961703469744637391176178752681494563069391657965136123602614815011973373104143395801115282092459335296196045062252288869097783098588850688908062317929025621957791525630340461134004704712605510879196971029578784175350324118811650327024937767359526672069161212525844401634440579047910524421022180969590347701546306531788459357940553606919721474099995394744657832803358949127276271110924729911527327956129011813286424510256950535540787382573987790244032905422684849246068630945986455068407008599040880842325042434349505348506402534207211392601405073197012709157940586327686631916137051081624429605123040897485304771012700112156813998914182462568862146602466953627556179178442158431181840186854502340790848491520852621904259045166684068597155098007718135099750336873636293612668080625597775510743672422940761691869028223116248576532134054412960799674915903820982987712175693205604782615102332246783962362489201176195050076676536157053517378854417614502423375332884013985425991035185232860438254526558067199472621510655558885946006954859328429666537710714609189043379654855991576557787134876493523669838563159423784485590089355535186480548118357632122277073793445036844769790608058079326184810722257382145193411496818464599192327009981435001825436076610974013723309437674477033522938503127 1332991453492751984522154339525036506827988758460539183499840315376596849869514602811216041465452309585118572635316470669497495472962698248144375652961650021632100530079161671036248101384510331291808763529636498171079998148382783877270849726246213286068390262281237330610864741182255147057198892543670328694465506499237189175733686728727091963465043614948568900424414324213271906004108957116588707356189864203278264650835881425741881599933791192647408296488146655458147387158678232485674184204139381633653982519450984319036261948792635325106206415849281185849048157060774957564719612601376643130070602835201060737896473390030436871304395869739697826552659660714333696412743718244360512435055357536848565223877009614948750987469470995198401630469233849203651769014507252812404679955454465554645755440753931384297870481821323925496413886467456880610935981788878370429424923585731075345538550039268790941407508766237566044275029450765601315465432619433457682920649426005513432842603619585962048792963171911080805506761279511967259865105931193133345730675438644262758788741683462817736017911592803058200118067475282363912598282487237639594139499076315510424861653644962318104108251243648489322555379833526268874602664504927721681193742718299271516303986044914572974393244597331599295734771890048040807960328234579625838051916409864647082016078560672022854881260963757919238562165246508066864588499716212689471140633842601073496603593902963051146373927679209772243884603867727543975252228944132442078451504735965416438291925035812177076896041112972663201093614023954017493828539890633784596633628676121327965309713289843152139229274145641748378322806396186379091896317599469361877684697045946780600367731032233071592657134100731471298039430508367241955705933190939321216213946376776538818566567021551174490054536558576577781161767114863917209329707939886492488344671344506266594826407085801228658882814389575737791234631031638371251296419023589671917078763331978167516356480932710803421232458598464984099175884981160187213489499532940995535937556525268018137369835937022184356407874276025847531894968258502032619560554557686408041683921609490339539260146576489200196253274298533117528845868195086996793430152353389222018281181555957322277215881260763407386211784978316152822942789019219545630801415953397635933421180469668897551628242648392259338883522694000368508297896548583690180525112993221627060734813660764952051583938537124977124880129330565271562342984493404708782309714353930021509762935051694451299576424625491939986541456362131812997413422197623112498717272577285719408169767879512381782513519154887685185628444875591149731013277130626305162280301301081536869957930351856840827310112232969068765432380441748050726318304452156674774761172742272900008107032129849979731189857288293106732624898072836115513986387712064510642869097274064585620067426751546559656138248017126551927414236638248296832171082890793381869196005678226007282916636297735995521354633940292531109629319950012655469851695281742552189375365489645270593001707898042953121460655218873318041367423460146010256534520532499619841575452219765038876 2156825478464397446286254480574672982512100972858238361223841084627299054127010377332731083406110797336230647905599818927806606644423874327393426397784765561864089483676406476265511264787654141079185804354054729281981964595754570126860517689270636917102856905927809244319022036239562402492505320920284589704111937031112752754796535611107155411648958937604472946582034973560160733711377992090378916715755755142979503445387739016253014819756464618860312445907915249396024464929298588735445424095391976648366685334038776374094919566025689264655000366141180024009069118486497025540742711849039377775931640038917649836149639099323660110761528847442002920177076398307964902004828125889122518686153687013640955310967811366138614200419180831968876781006088185636705921911328122255781546769399369357770283123204512087377147960078282934160641690231339119579221387676789650066498520839745398210914556452780212334821502536485224436244557765871786368262794179165332426134711183874887472674046045857960964830708164206223876246399375334423804434011050194573734092823650718223855363106455761710095172572247163046894897411064483054147606102633966336361732024500118835746613819279704472520537851387493613156569336246103034172651018878355701872566966834841535470744560443925258495374439356617266450080140921609448389787183528575558974600134067554010675820552467914963288153661624098839467927775738903660428091678197104382127566075205859627911376100309396590810010196351859944675652554344906823692761076304263561625426648592994376657415085595100767146399808498788464570326307653227284339137239056189312728074951909431862611981305318670512476031028632018292252159385715316524106609787520204549449607892613832940600467645544792880678610637027894991064306958531333832303473616744017266156076635410587975675221926362113001440896232235204760757270931981440878912799452577277668667097352839069335986484372221924831273697826362948841934630432146920463710631715219634734169367632429761266105207169840773121350258080556256509729516346115164891926095010412137966565516340700618342256181486264047122123767400948095008744420812660136473198608465082107430222653511957191885845791935035847140749860194020007217524240612852919800152379279629660332943011093083285278406227694547187917643162320519103535396930579263252451053486265199466266879407635538075906150669123490717301773233028042506771042505107941185095253722125702379567647062500292681089102665562966730100165777614635336284262455141307403622964772283216076623976716562607873629741734855807332126841043797152980304518266044101882157665401341174440817415887902979262718656149812767555765811226220386334822153954038822495333385396549877613670924370891151531756731131095220681244458637985224363153058565088414519163975937367792349576544264085647228834148804359711668439616638883498827150699219248150319037200936296746686096275626312697553514515466677683664262642023425681627951688162659448580516745689529348064570442340420783326084876889820420840649467261442227086448914888540051533160247454691674455992850383853091454449939925254411200328022802425285582086867508534255809057516052485742703542003 3489816931957149430808408820099709489340089731318777544723681400003895903996524980143947124871563106921349220540916289597304102117386572575537802050746415583496190013755568147301759366172164472370994567883691227453061962744137354004131367415516850203171247168209046574929886777421817549549704213463954918398577443530349941930530222339834247375114002552553041847006449297773432639715486949206967624071945619346257768096223620441994896419690255811507720742396061904854171852087976821221119608299531358282020667853489760693131181514818324589761206781990461209858117275547271983105462324450416020906002242874118710574046112489354096982065924717181700746729736059022298598417571844133483031121209044550489520534844820981087365187888651827167278411475322034840357690925835375068186226724853834912416038563958443471675018441899606859657055576698796000190157369465668020495923444425476473556453106492049003276229011302722790480519587216637387683728226798598790109055360609880400905516649665443923013623671336117304681753160654846391064299116981387707079823499089362486614151848139224527831190483839966105095015478539765418060204385121203975955871523576434346171475472924666790624646102631142102479124716079629303047253683383283423553760709553140806987048546488839831469767683953948865745814912811657489197747511763155184812652050477418657757836631028586986143034922587856758706489940985411727292680177913317071598706709048460701407979694212359641956384124031069716919537158212634367668013305248396003703878153328959793095707010630912944223295849611761127771419921677181301832965778946823097324708580585553190577291018608513664615260302777660040630482192111502903198506105119673911327292589659779721200835376577025952271267771128626462362346389039701074259179549934956587372290581787364514493788493383664175930950768793781338538432699096304796122129160517164161155442024183575602581310779307726059932580640752524579725865063178558834961928134243224406086446395761739433621563650773483924771490539154721493828692231096325079139584509945078962101453897225886360393551322201069306480175275224120856276315780918638505818169019639793838264337433566682225385052081612336340946113468318540335053086481048006796945809431983049554961292274639242600683443575807951325029374105497419688219873368282471996684287681152863902812828816007744803702297366139109561112116550736507139550803004489768785434247238695601194707797313953446041154249501503855077290657743965901555824798125800808331747081997570006645486479497659568081041311280432824066827585253515112117515679466299505270164118613751726536824057670858775100438663331922443450996854665261925971884967315953121638547676851178695207794328821503388597558441207453650313224070365666111203784883392866675838750698540534622476552371117777078813879994216999961546349263781571663266213205635862383547843805394020750681895693739449100074171604925700790814569437662319876248520333742339373898614885535026290577725257057081062080398244454361133180576890762177099104384740235333275712436830057164101263443385560989497403061385909630073646064169848745728097124043054788308677357627937962468580879 5646642410421546877094663300674382471852190704177015905947522484631194958123535357476678208277673904257579868446516108525110708761810446902931228448531181145360279497431974623567270630959818613450180372237745956735043927339891924130991885104787487120274104074136855819248908813661379952042209534384239508102689380561462694685326757950941402786762961490157514793588484271333593373426864941297346540787701374489237271541611359458247911239446720430368033188303977154250196317017275409956565032394923334930387353187528537067226101080844013854416207148131641233867186394033769008646205036299455398681933882913036360410195751588677757092827453564623703666906812457330263500422399970022605549807362731564130475845812632347225979388307832659136155192481410220477063612837163497323967773494253204270186321687162955559052166401977889793817697266930135119769378757142457670562421965265221871767367662944829215611050513839208014916764144982509174051991020977764122535190071793755288378190695711301883978454379500323528557999560030180814868733128031582280813916322740080710469514954594986237926363056087129151989912889604248472207810487755170312317603548076553181918089292204371263145183954018635715635694052325732337219904702261639125426327676387982342457793106932765089965142123310566132195895053733266937587534695291730743787252184544972668433657183496501949431188584211955598174417716724315387720771856110421453726272784254320329319355794521756232766394320382929661595189712557541191360774381552659565329304801921954169753122096226013711369695658110549592341746229330408586172103018003012410052783532494985053189272323927184177091291331409678332882641577826819427305115892639878460776900482273612661801303022121818832949878408156521453426653347571034906562653166678973853528367217197952490169010419745777177371847001028986099295703631077745675034928613094441829822539377022644938567795151529650891206278467115473421660495495325479298672559849462859140255814028191500699726770820614257046121748619710978003558208577211489971065679520357216928666970237926504702649732808465116428603942676172215865020736593578774979016777484721901268486990945523874111230844016648183481695973662338547552577327093900926597098188711612709887904303367722527879089671270355139242672536426016523223616803947545724447737773946352330169692236451545820709852966489629826862885349578779013910593308112430953880687969364397980762354859814246127130256915064470585177456435358601237840087253267108211954711854280786083269463196060267441710783046136240156193668629050668092422033945510401387427829519954926167354239945573838037819094813144689999216808080885648260794038921354775616971933073401056308878718699712654920354289572302674331557682708350890474356843448481281195002726635908326972053096635203424307648028798576711629985965902665070490416912424884012702585044741690767436778171320052146653588687071603384455077211461088001504200208496401787954415360575064374355148167597477864388165275134274781973830044152204404185553299628775384808872684284748838557256293769414080951853001311164041273974086972274031310183991551589044117734873680423705172122882 9136459342378696307903072120774091961192280435495793450671203884635090862120060337620625333149237011178929088987432398122414810879197019478469030499277596728856469511187542770869029997131983085821174940121437184188105890084029278135123252520304337323445351242345902394178795591083197501591913747848194426501266824091812636615856980290775650161876964042710556640594933569107026013142351890504314164859646993835495039637834979900242807659136976241875753930700039059104368169105252231177684640694454693212408021041018297760357282595662338444177413930122102443725303669581040991751667360749871419587936125787155070984241864078031854074893378281805404413636548516352562098839971814156088580928571776114619996380657453328313344576196484486303433603956732255317421303762998872392154000219107039182602360251121399030727184843877496653474752843628931119959536126608125691058345409690698345323820769436878218887279525141930805397283732199146561735719247776362912644245432403635689283707345376745806992078050836440833239752720685027205933032245012969987893739821829443197083666802734210765757553539927095257084928368144013890268014872876374288273475071652987528089564765129038053769830056649777818114818768405361640267158385644922548980088385941123149444841653421604921434909807264514997941709966544924426785282207054885928599904235022391326191493814525088935574223506799812356880907657709727115013452034023738525324979493302781030727335488734115874722778444413999378514726870770175559028787686801055569033182955250913962848829106856926655592991507722310720113166151007589888005068796949835507377492113080538243766563342535697841706551634187338373513123769938322330503621997759552372104193071933392383002138398698844785221146179285147915788999736610735980821832716613930440900657798985317004662798913129441353302797769822767437834136330174050471157057773611605990977981401206220541149105930837376951138859107867998001386360558504038133634487983706083546342260423953240133348334471387740970893239158865699497386900808307815050205264030302295890768424135152391063043284130666185735084117951396336721297052374497413484834946504361695106751328379090556336615896098260519822642087130657087887630413574948933394043998143595759442865595642361770479773114846163090567701910531513942911836677315828196444422061627505194072505065267553565513555263855768936423997466129515521050144111116920722666122216603093581957062657128199573171411164565974440254747093102567139395912051392909020286458936278356089914949675557927009791824357416672980260496214304183204539549624976700892697993638568677893891064003244696812919533476476612442667804935550910186765923888670728738610480750252235004086513028534158308951848013510127981870906778716556585560628331874147870841477334448861594529649006321201386461908792793711591532315166446642153683125630519875086132888547084788187460067013791595753662858676529085245891780898750321380448728830144127328313975460599400645725892854534945450245673378729143107010621042966581284657684369010718084585121114806002658519737154975070449256062697073671347620151142122777038281115594643832426412231308361667640703761 14783101752800243184997735421448474433044471139672809356618726369266285820243595695097303541426910915436508957433948506647525519641007466381400258947808777874216749008619517394436300628091801699271355312359183140923149817423921202266115137625091824443719455316482758213427704404744577453634123282232433934603956204653275331301183738241717052948639925532868071434183417840440619386569216831801660705647348368324732311179446339358490718898583696672243787119004016213354564486122527641134249673089378028142795374228546834827583383676506352298593621078253743677592490063614810000397872397049326818269870008700191431394437615666709611167720831846429108080543360973682825599262371784178694130735934507678750472226470085675539323964504317145439588796438142475794484916600162369716121773713360243452788681938284354589779351245855386447292450110559066239728914883750583361620767374955920217091188432381707434498330038981138820314047877181655735787710268754127035179435504197390977661898041088047690970532430336764361797752280715208020801765373044552268707656144569523907553181757329197003683916596014224409074841257748262362475825360631544600591078619729540710007654057333409316915014010668413533750512820731093977487063087906561674406416062329105491902634760354370011400051930575081130137605020278191364372816902346616672387156419567363994625150998021590885005412091011767955055325374434042502734223890134159979051252277557101360046691283255872107489172764796929040109916583327716750389562068353715134362487757172868132601951203082940366962687165832860312454912380337998474177171814952847917430275645575523296955835666462882018797842965597016706395765347765141757808737890399430832881093554207005044803441420820663618171024587441669369215653084181770887384485883292904294429025016183269494831809332875218530674644770851753537129839961251796146191986386706047820800520778228865479716901082367027842345137574983471423046856053829517432307047833168942686598074452144740833075105292001998017014987778576677500945109385519305021270943550659512819435394373078895765693016939131302163688060627568552586317788968076188463851723989083596375238319324614430447846740114908703304338060792995635440207740668849859991142186855208469330769899010084298358862786116518229810374446957530466135453481263373920892159835573857524242197301719099386223408230345398763286882815708294534960737419229351676546810185967491562719417516942445700301668079630445025432203528461168377235999304660017232241170790559142173184412871618194451502607403552913136454164843354851296961583570487102280125823158523604061245303948818534850738628289621302441884613016436558447559962810025504355582413823653291312965231728246813229306137585812802313428589487067447059917471780355429065844203970357188566582745641524625694109937591370423221518281069111712644100038055403887788717933288775555624238238333843742407251545748132469700968992359838322884648937326545915282729336035663775000874060452012809838410948513003925080840665195170985470210983997786102893457805399554841215776030924389151401109064008237712621594238114396808348465107146232876544147104988785372812826643 23919561095178939492900807542222566394236751575168602807289930253901376682363656032717928874576147926615438046421380904769940330520204485859869289447086374603073218519807060165305330625223784785092530252480620325111255707507950480401238390145396161767164806558828660607606499995827774955226037030080628361105223028745087967917040718532492703110516889575578628074778351409547645399711568722305974870506995362160227350817281319258733526557720672914119541049704055272458932655227779872311934313783832721355203395269565132587940666272168690742771035008375846121317793733195850992149539757799198237857806134487346502378679479744741465242614210128234512494179909490035387698102343598334782711664506283793370468607127539003852668540700801631743022400394874731111906220363161242108275773932467282635391042189405753620506536089732883100767202954187997359688451010358709052679112784646618562415009201818585653385609564123069625711331609380802297523429516530489947823680936601026666945605386464793497962610481173205195037505001400235226734797618057522256601395966398967104636848560063407769441470135941319666159769625892276252743840233507918888864553691382528238097218822462447370684844067318191351865331589136455617754221473551484223386504448270228641347476413775974932834961737839596128079314986823115791158099109401502600987060654589755320816644812546679820579635597811580311936233032143769617747675924157898504376231770859882390774026771989987982211951209210928418624643454097892309418349755154770703395670712423782095450780309939867022555678673555171032568078531345588362182240611902683424807767758656061540722399008998579860504394599784355079908889117703464088312359888158983204985286626140397427805579819519508403392170766726817285004652820792506868206318599906834735329682815168586499494608246004659883977442540674520974963976291425846617349044160317653811778502179435086020866007013204404793483996682851469424433216612333555565941535816875026232940334876097980966423439763389738987908226937442376998332010193827120071476207580961808710203818508231286828736301069797487898772178578964889307614841342573601948686670493445291481989647703704986784462636213169223126980147923652723327838154243798793385186184998804228773635494652446068838635900962681320378076357489044409047290158579202117336581897201362718314702366986652951736963494201167699710880281837810056010881530346272399212932402570585144676480174070645273473079244196419465686950621563735516631911356052926252527629726837498263099362547176121461294431760969586116714661057659034501501133195463803172823816797092281955136367952063231663658161766097914884552417951987468634325886698696233094192894573905526317051744756780971538257985599322930295299496265784003645478100112229576936685681304806050161112394647845827080571846384164134813050596235558354797783163685923762874850821835860343811698305347635338160914404424661554946860773258588644265097666156690042611043311496263175646599953306547755288656621891733068187851286238137566754868668366796820978042926514360843874295768079364221850365126705311383969214389256519585386746222740876708970559336297147040453530404 38702662847979182677898542963671040827281222714841412163908656623167662502607251727815232416003058842051947003855329411417465850161211952241269548394895152477289967528426577559741631253315586484363885564839803466034405524931871682667353527770487986210884261875311418821034204400572352408860160312313062295709179233398363299218224456774209756059156815108446699508961769249988264786280785554107635576154343730484959661996727658617224245456304369586363328168708071485813497141350307513446183986873210749497998769498111967415524049948675043041364656086629589798910283796810660992547412154848525056127676143187537933773117095411451076410335041974663620574723270463718213297364715382513476842400440791472120940833597624679391992505205118777182611196833017206906391136963323611824397547645827526088179724127690108210285887335588269548059653064747063599417365894109292414299880159602538779506197634200293087883939603104208446025379486562458033311139785284616983003116440798417644607503427552841188933142911509969556835257282115443247536562991102074525309052110968491012190030317392604773125386731955544075234610883640538615219665594139463489455632311112068948104872879795856687599858077986604885615844409867549595241284561458045897792920510599334133250111174130344944235013668414677258216920007101307155530916011748119273374217074157119315441795810568270705585047688823348266991558406577812120481899814292058483427484048416983750820718055245860089701123974007857458734560037425609059807911823508485837758158469596650228052731513022807389518365839388031345022990911683586836359412426855531342238043404231584837678234675461461879302237565381371786304654465468605846121097778558414037866380180347402472609021240340172021563195354168486654220305904974277755590804483199739029758707831351855994326417578879878414652087311526274512093816252677642763541030547023701632579022957663951500582908095571432635829134257834940847480072666163072998248583650043968919538409328242721799498545055391737004923214716019054499277119579346425092747151131621321529639212881310182594429318008928790062460239206533441893932630310649790412538394482528887857227967028319417232309376328077926431318208716648358768045894912648653376328371854012698104405393662530367197498687079199550188450804446574875182743639842576038228741732775220242556899668705752337960371724546566462997763097546104590971618949575624075759742588538076707395897691013090973774747323826864491119154150024903893867910660712943484768800517396640436283775418794315912797039164522499253168825901013885798462716765950905452949639955615886016381671900881766514396790055719217326437030968424027081885849508721737449775308397558817630016976485027784767564123185135732608728085752851450705395571892585006002529885275163238727695140289370452774681783975534558034568877304670067441883201741327650663568755124635899435936543681479080568165950172794024647829765618426967149746603483235957893772647531926950647474013758560565127067570404736993268691951433308552225079652364582923871500731913915685090071799003753373251474190713549096590808627370916393735211329887109585514706441285932413266357047 62622223943158122170799350505893607221517974290010014971198586877069039184970907760533161290579206768667385050276710316187406180681416438101138837841981527080363186048233637725046961878539371269456415817320423791145661232439822163068591917915884147978049068434140079428640704396400127364086197342393690656814402262143451267135265175306702459169673704684025327583740120659535910185992354276413610446661339092645187012814008977875957772014025042500482869218412126758272429796578087385758118300657043470853202164767677100003464716220843733784135691095005435920228077530006511984696951912647723293985482277674884436151796575156192541652949252102898133068903179953753600995467058980848259554064947075265491409440725163683244661045905920408925633597227891938018297357326484853932673321578294808723570766317095861830792423425321152648826856018935060959105816904468001466978992944249157341921206836018878741269549167227278071736711095943260330834569301815106930826797377399444311553108814017634686895753392683174751872762283515678474271360609159596781910448077367458116826878877456012542566856867896863741394380509532814867963505827647382378320186002494597186202091702258304058284702145304796237481175999004005212995506035009530121179424958869562774597587587906319877069975406254273386296234993924422946689015121149621874361277728746874636258440623114950526164683286634928578927791438721581738229575738449956987803715819276866141594744827235848071913075183218785877359203491523501369226261578663256541153829182020432323503511822962674412074044512943202377591069443029175198541653038758214767045811162887646378400633684460041739806632165165726866213543583172069934433457666717397242851666806487799900414601059859680424955366120895303939224958725766784623797123083106573765088390646520442493821025824884538298629529852200795487057792544103489380890074707341355444357525137099037521448915108775837429313130940686410271913289278496628564190119466918995152478744204340702765921984818781475992831441653461431497609129773173545164223358712583130239843031389541469423165619078726277961232417785498331201547471653223392361225064975974179339217614732024404016772012541247149558298356640301082095884049156447446761514556852816926878040888314976436036134588041880870566527161935619284230033798421778155565323629976582960871602035692405289697335218747734162708643379383914646982500479921896474972674991108661852072377865083736247247826568023283956806104771588639410499822016765869737296430244234138699383137965970437374091470925492085369883486958672920299963849961414708625773456752708167971518039852944998178054951821817132210989448920411495716211736207417970543968202971464343947068721241808756305822108784458662904027582018635454350873672004814582939215566579969288888807534937216279855253630359698692847619473540228422239666365427251413538419576960496243247634849029114418729080354597455579594690538877015611414844269639926000504815959028190126294073967065108320415724192296470061456543237671446118979948320731379744849543658428276528964367567083117595101839317418860480560023016627435979121957552627986294485265777583079453719887451 101324886791137304848697893469564648048799197004851427135107243500236701687578159488348393706582265610719332054132039727604872030842628390342408386236876679557653153576660215284788593131854957753820301382160227257180066757371693845735945445686372134188933330309451498249674908796972479772946357654706752952523581495541814566353489632080912215228830519792472027092701889909524174972273139830521246022815682823130146674810736636493182017470329412086846197387120198244085926937928394899204302287530254220351200934265789067418988766169518776825500347181635025719138361326817172977244364067496248350113158420862422369924913670567643618063284294077561753643626450417471814292831774363361736396465387866737612350274322788362636653551111039186108244794060909144924688494289808465757070869224122334811750490444785970041078310760909422196886509083682124558523182798577293881278873103851696121427404470219171829153488770331486517762090582505718364145709087099723913829913818197861956160612241570475875828896304193144308708019565631121721807923600261671307219500188335949129016909194848617315692243599852407816628991393173353483183171421786845867775818313606666134306964582054160745884560223291401123097020408871554808236790596467576018972345469468896907847698762036664821304989074668950644513155001025730102219931132897741147735494802903993951700236433683221231749730975458276845919349845299393858711475552742015471231199867693849892415462882481708161614199157226643336093763528949110429034173402171742378911987651617082551556243335985481801592410352331233722614060354712762034901065465613746109283854567119231216078868359921503619108869730547098652518198048640675780554555445275811280718046986835202373023622300199852446518561475063790593445264630741062379387927566306312794847098477872298488147443403764416713281617163727069999151608796781132144431105254365057076936548094762989022031823204347270065142265198521351119393361944659701562438703116962964072017153532583424565420529874173212997754656369480485996886249352519970256970509844204451769482244270851652017594937087655068023692656992031773095480101963873182773763459458503067196445581760343821249081388869325075989616565356949440863929944069096100137842928706829624982446281977506803233633275121080420754977966382194159412777438264354193794065362751803203428501704398157627657706943294300625706406476930019237954119429497520550732417579646738559468275556096827221022573891850148447925258921613543304367732677478813222065230761630779135666913384764753286888510090014584623052312859686806098426566727365614078723096708324053987899711753826764692451741877536349537426479888835522798097585716139707993743511369023161577085697726836541073386231969594395512755667771486905056269243897399588941745451855132527616502675226586732629935414335233250882188350844898489681549567168579064201988332085132142683571392710593499297246304770249604242520304495442578564590873123161958398588606560117076941547980823668885542791762701207054725235189104754671205027973095962668721044390342192214054439366086870968353313508132409577150831643998352372857168882515095879999972218869011866986244498 163947110734295427019497243975458255270317171294861442106305830377305740872549067248881554997161472379386717104408750043792278211524044828443547224078858206638016339624893853009835555010394329023276717199480651048325727989811516008804537363602256282166982398743591577678315613193372607137032554997100443609337983757685265833488754807387614674398504224476497354676442010569060085158265494106934856469477021915775333687624745614369139789484354454587329066605532325002358356734506482284962420588187297691204403099033466167422453482390362510609636038276640461639366438856823684961941315980143971644098640698537306806076710245723836159716233546180459886712529630371225415288298833344209995950530334942003103759715047952045881314597016959595033878391288801082942985851616293319689744190802417143535321256761881831871870734186230574845713365102617185517628999703045295348257866048100853463348611306238050570423037937558764589498801678448978694980278388914830844656711195597306267713721055588110562724649696876319060580781849146800196079284209421268089129948265703407245843788072304629858259100467749271558023371902706168351146677249434228246096004316101263320509056284312464804169262368596197360578196407875560021232296631477106140151770428338459682445286349942984698374964480923224030809389994950153048908946254047363022096772531650868587958677056798171757914414262093205424847141284020975596941051291191972459034915686970716034010207709717556233527274340445429213452967020472611798260434980834998920065816833637514875059755158948156213666454865274436100205129797741937233442718504371960876329665730006877594479502044381545358915501895712825518731741631812745714988013111993208523569713793323002273438223360059532871473927595959094532670223356507847003185050649412886559935489124392740981968469228648955011911147015927865486209401340884621525321179961706412521294073231862026543480738313123107494455396139207761391306651223156330126628822583881959224495897736924127331342514692954688990586098022941917494495379125693515421193868556787582009325275660393121440760556166381345984925074777530104297027573617096575134988524434477246535663196492368225265853401410572225547914921997250522959813993225543546899357485559646551860487170292483239269767863162961291321505128317813443642811236686132349359388992728386164300103740090562917355042162042034788415049856313933884936619909419417025705092570755400411540653421180563468270400459873432404731363693202182714867554694244682959361661005864917835050051350735190660979981015506669992935799818359726398390416688780322704496553461032221959417751606771762870506693699353481748415928809247018514309321923557678537711714340487505524154418968645297379208340754053058416783249790122359407142915902214171880961018435101816505310210163803012485189044694931943729807824385126911921215932595830477740407909045628385931206241739707918026326659367705183837210843372458189979435142763087958903404565588307203235621947888777205958515954997677116181778426776200790184976293827342413570588048770468743018806933169988563455152825551270057710854660625788351979126435143082174485237996452091320706131949 265271997525432731868195137445022903319116368299712869241413073877542442560127226737229948703743737990106049158540789771397150242366673218785955610315734886195669493201554068294624148142249286777097018581640878305505794747183209854540482809288628416355915729053043075927990521990345086909978912651807196561861565253227080399842244439468526889627334744268969381769143900478584260130538633937456102492292704738905480362435482250862321806954683866674175263992652523246444283672434877184166722875717551911555604033299255234841442248559881287435136385458275487358504800183640857939185680047640219994211799119399729176001623916291479777779517840258021640356156080788697229581130607707571732346995722808740716109989370740408517968148127998781142123185349710227867674345906101785446815060026539478347071747206667801912949044947139997042599874186299310076152182501622589229536739151952549584776015776457222399576526707890251107260892260954697059125987476014554758486625013795168223874333297158586438553546001069463369288801414777921917887207809682939396349448454039356374860697267153247173951344067601679374652363295879521834329848671221074113871822629707929454816020866366625550053822591887598483675216816747114829469087227944682159124115897807356590292985111979649519679953555592174675322544995975883151128877386945104169832267334554862539658913490481392989664145237551482270766491129320369455652526843933987930266115554664565926425670592199264395141473497672072549546730549421722227294608383006741298977804485254597426615998494933638015258865217605669822819190152454699268343783969985706985613520297126108810558370404303048978024371626259924171249939680453421495542568557269019804287760780158204646461845660259385317992489071022885126115487987248909382572978215719199354782587602265039470115912632413371725192764179654935485361010137665753669752285216071469598230621326625015565512561517470377559597661337729112510700013167816031689067525700844923296513051269507551896763044567127901988340754392422403491381628478213485678164378400992033778807519931244773458355493254036414008617731769561877392507675580969757908751983892980313732108778252712046514934790279897301537531487354199963823743937294639647037200414266476176842933452269990042503401138284041712076483094700007603055588674950486543153454355480189367728605444488720545012749105336335414121456333243953122890739338916937576437510150402138971008928977277390689292974351723580852656622614815726019235287371723496181426891767495696970716964735499943947868491105521254615988112678046532496816983416145936783219650169356275947317463360598527562958435576889831285842408698082541312406907639697386531455225709510667101240116695481838452594572723647453929538917561609264463412159799613760822706470290234344121812885390389745115124459030165194611996175230025401602765499764409541942396241130760528614777634450301417323572964137954788079731147867900768544026015886249917301993172148424280177169928712446091501307717698884170907013615880955461390004266923305082291632439112660957073246299256859531808466333683679634861686304624140724836295317658178054485210215321103187692376447 429219108259728158887692381420481158589433539594574311347718904254848183432676293986111503700905210369492766262949539815189428453890718047229502834394593092833685832826447921304459703152643615800373735781121529353831522736994725863345020172890884698522898127796634653606306135183717694047011467648907640171199549010912346233330999246856141564025838968745466736445585911047644345288804128044390958961769726654680814050060227865231461596439038321261504330598184848248802640406941359469129143463904849602760007132332721402263895730950243798044772423734915948997871239040464542901126996027784191638310439817937035982078334162015315937495751386438481527068685711159922644869429441051781728297526057750743819869704418692454399282745144958376176001576638511310810660197522395105136559250828956621882393003968549633784819779133370571888313239288916495593781182204667884577794605200053403048124627082695272969999564645449015696759693939403675754106265864929385603143336209392474491588054352746697001278195697945782429869583263924722113966492019104207485479396719742763620704485339457877032210444535350950932675735198585690185476525920655302359967826945809192775325077150679090354223084960483795844253413224622674850701383859421788299275886326145816272738271461922634218054918036515398706131934990926036200037823640992467191929039866205731127617590547279564747578559499644687695613632413341345052593578135125960389301031241635281960435878301916820628668747838117501762999697569894334025555043363841740219043621318892112301675753653881794228925320082880105923024319950196636501786502474357667861943186027132986405037872448684594336939873521972749689981681312266167210530581669262228327857474573481206919900069020318918189466416666981979658785711343756756385758028865132085914718076726657780452084381861062326737103911195582800971570411478550375195073465177777882119524694558487042108993299830593485054053057476936873902006664390972361815696348284726882521008949006431679228105559260082590978926852415364320985877007603907001099358246957779615788132795591637894899116049420417759993542806547091981689535249198066333043740508327457560267771974745080271780788191690469527085446409351450486783557930520183193936557899826122728703420622562473281773169001447003003397988223017821046698399911636618892512843348208575532028709184579283462367791267378370202536506189557887007827359248336354602142602721157539382549582398457954157563374811597013257387986308017908734102842065968179140788552773360614805767016086235134608848472121027924608923912496406258895207400104926259487716203630388497906735214967370290433465129276243313034258337507329559826716229563255065069166940049998172625394535664127135831802913477700512346322167351731623870555075701827932703667488725336160627123095554192757600313503725097138341803999615152313523981432360240019682804150176388914545983876190009335349899623505659971916941991240358958523461158649337876205397737736731483412791876601223297459823672696561287088792042657156251574980560750647495862220487883129700092053232426848095263619159234949692572540965249929076815421752801260228970448211773194508398508396 694491105785160890755887518865504061908549907894287180589131978132390625992803520723341452404648948359598815421490329586586578696257391266015458444710327979029355326028001989599083851294892902577470754362762407659337317484177935717885502982179513114878813856849677729534296657174062780956990380300714836733061114264139426633173243686324668453653173713014436118214729811526228605419342761981847061454062431393586294412495710116093783403393722187935679594590837371495246924079376236653295866339622401514315611165631976637105337979510125085479908809193191436356376039224105400840312676075424411632522238937336765158079958078306795715275269226696503167424841791948619874450560048759353460644521780559484535979693789432862917250893272957157318124761988221538678334543428496890583374310855496100229464751175217435697768824080510568930913113475215805669933364706290473807331344352005952632900642859152495369576091353339266804020586200358372813232253340943940361629961223187642715462387649905283439831741699015245799158384678702644031853699828787146881828845173782119995565182606611124206161788602952630307328098494465212019806374591876376473839649575517122230141098017045715904276907552371394327928630041369789680170471087366470458400002223953172863031256573902283737734871592107573381454479986901919351166701027937571361761307200760593667276504037760957737242704737196169966380123542661714508246104979059948319567146796299847886861548894116085023810221335789574312546428119316056252849651746848481518021425804146709728291752148815432244184185300485775745843510102651335770130286444343374847556706324259095215596242852987643314964245148232673861231620992719588706073150226531248132145235353639411566361914680578303507458905738004864784901199331005665768331007080851285269500664328922819922200294493475698462296675375237736456931421616216128864825750393849351717755315885112057674505861348063862613650718814665986412706677558788393504763873985571805817522000275939231124868603827210492967267606807786724477258636082120486777522625358771649566940315522882668357471542674454174002160538316653859082042924779036090952492492220437873999880752997792318295722981970366828622977896705650450607301867814822840973758314092598905546354074832463324276570139731044715474471317717828649753988586587105435666297703688764899757314629068004007380540372714705616657962522801840130718098587253292178580112871559678353558511375735344846856349163320594110044608922833634753338129437691675322215444540856311776483980821735078556716963226549179224912025174452791392024383521072196270935853799744773854052678327968817996423564853133144320100746205412101139123137202952451600622165759508839726634652359608974284397486201347966275861084913340888333967235501441693526373959015570504748935980944582502715437962755262332953800174845177715126746932124649561625200391307149443160761510640310752673472587643614759996673139108259727067487174535587793507390909885155763589961805313669388961131390395445457995805658538111712964984827673952578153852926995790657165299531683707627072085492918629327434227269874069801651717070459438283455658427094297696090884843 1123710214044889049643579900285985220497983447488861491936850882387238809425479814709452956105554158729091581684439869401776007150148109313244961279104921071863041158854449910903543554447536518377844490143883937013168840221172661581230523155070397813401711984646312383140602792357780475004001847949622476904260663275051772866504242933180810017679012681759902854660315722573872950708146890026238020415832158048267108462555937981325244999832760509197183925189022219744049564486317596122425009803527251117075618297964698039369233710460368883524681232928107385354247278264569943741439672103208603270832678755273801140158292240322111652771020613134984694493527503108542519319989489811135188942047838310228355849398208125317316533638417915533494126338626732849488994740950891995719933561684452722111857755143767069482588603213881140819226352764132301263714546910958358385125949552059355681025269941847768339575655998788282500780280139762048567338519205873325964773297432580117207050442002651980441109937396961028229027967942627366145820191847891354367308241893524883616269667946069001238372233138303581240003833693050902205282900512531678833807476521326315005466175167724806258499992512855190172182043265992464530871854946788258757675888550098989135769528035824917955789789628622972087586414977827955551204524668930038553690347066966324794894094585040522484821264236840857661993755956003059560839683114185908708868178037935129847297427196032905652478969173907076075546125689210390278404695110690221737065047123038822029967505802697226473109505383365881668867830052847972271916788918701042709499892351392081620634115301672237651904118670205423551213302304985755916603731895793476460002709927120618486261983700897221696925322404986844443686910674762422154089035945983371184218741055580600374284676354538025199400586570820537428501833094766504059899215571627233837280010443599099783499161178657347667703776291602860314713341949760755320460222270298688338530949282370910352974163087293083946194459223151045463135643686027487876880872316551265355073111114520563256587592094871933995703344863745840771578173977102423996233000547895434267652727742872590076511173660836355708424306057100937390859798335006034910316213918721634249774697394936606049739141178047718872459540735649696452388498223724328179141051897340431786023813647287469748331640093075819194468712359727138545457835589646780722715592717217736108093774193299004419723974917607367432595230851543487440971503659854463003997314216926582250996907970213165565435347577103833835937670859050287231783625998455758652057430133271760787893295339108429888694129376457354359083712741660965839366766207516669789105809507012352029188023736110116200399679048478622183252265072512204522311203269626230041447740906665376059076498775260315751466480359471295604174460330028650728364484889581308004541483538357706745386830320088023372211149274731913615130348618685590948333184925669712788647621887247002753681914892686420955063092006745084597701195267964539965388424600074016073414878920357257352764110555722335704652153579020006768235123998878467138823260698512426106638867492204489393239 1818201319830049940399467419151489282406533355383148672525982860519629435418283335432794408510203107088690397105930198988362585846405500579260419723815249050892396484882451900502627405742429420955315244506646344672506157705350597299116026137249910928280525841495990112674899449531843255960992228250337313637321777539191199499677486619505478471332186394774338972875045534100101556127489652008085081869894589441853402875051648097419028403226482697132863519779859591239296488565693832775720876143149652631391229463596674676474571689970493969004590042121298821710623317488675344581752348178633014903354917692610566298238250318628907368046289839831487861918369295057162393770549538570488649586569618869712891829091997558180233784531690872690812251100614954388167329284379388886303307872539948822341322506318984505180357427294391709750139466239348106933647911617248832192457293904065308313925912801000263709151747352127549304800866340120421380570772546817266326403258655767759922512829652557263880941679095976274028186352621330010177673891676678501249137087067307003611834850552680125444534021741256211547331932187516114225089275104408055307647126096843437235607273184770522162776900065226584500110673307362254211042326034154729216075890774052161998800784609727201693524661220730545469040894964729874902371225696867609915451654267726918462170598622801480222063968974037027628373879498664774069085788093245857028435324834234977734158976090148990676289190509696650388092553808526446531254346857538703255086472927185531758259257951512658717293690683851657414711340155499308042047075363044417557056598675651176836230358154659880966868363818438097412444923297705344622676882122324724592147945280760030052623898381475525204384228142991709228588110005768087922420043026834656453719405384503420296484970848013723661697261946058273885433254710982632924724965965476585555035326328711157458005022526721210281354495106268846727420019508549148825224096255870494156052949558310141477842766914503576913462066030937769940394279768147974654403497675322914922013426637403231614059134769326107997863883180399699853621098756138514948725492768333308267533480740664908372234155631203184331402202762751387998161666149828875884074528011320539796128772227399930326309280909092434346930858453478346206377084810829763845438755586105331543338442715291477128872012807781435852431235161567269263556422842938959302828464276896089666605149928643851276073138238201477477204153685178240779100941351529785219441855073238358734977729705291722282398574126283058747962845311841679256167147070652029587911229878045614840571623307926426312258982509601674459829918153762104962503969159968270411271569015852078663840383345084400597885880396444898044337178413400538489546704711319756415406756477170124995057443357763031189429235621804249404349305507743777475296609539142933204932790687800867506897470630840696844798792889491910288269456878412658435507720513463220179557507043010592715487228562075382086453487452203080403359733379677504950216098552652169926341874711014422652295794263349407790145072208347440995504998068680118855893720136795881765065961789900580278082 2941911533874938990043047319437474502904516802872010164462833742906868244843763150142247364615757265817781978790370068390138592996553609892505381002920170122755437643736901811406170960189965939333159734650530281685674997926523258880346549292320308741682237826142302495815502241889623730964994076199959790541582440814242972366181729552686288489011199076534241827535361256673974506835636542034323102285726747490120511337607586078744273403059243206330047444968881810983346053052011428898145885946676903748466847761561372715843805400430862852529271275049406207064870595753245288323192020281841618174187596447884367438396542558951019020817310452966472556411896798165704913090539028381623838528617457179941247678490205683497550318170108788224306377439241687237656324025330280882023241434224401544453180261462751574662946030508272850569365819003480408197362458528207190577583243456124663994951182742848032048727403350915831805581146479882469947909291752690592291176556088347877129563271655209244322051616492937302257214320563957376323494083524569855616445328960831887228104518498749126682906254879559792787335765880567016430372175616939734141454602618169752241073448352495328421276892578081774672292716573354718741914180980942987973751779324151151134570312645552119649314450849353517556627309942557830453575750365797648469142001334693243257064693207842002706885233210877885290367635454667833629925471207431765737303502872170107581456403286181896328768159683603726463638679497736836809659041968228924992151520050224353788226763754209885190403196067217539083579170208347280313963864281745460266556491027043258456864473456332118618772482488643520963658225602691100539280614018118201052150655207880648538885882082372746901309550547978553672275020680530510076509078972818027637938146440084020670769647202551748861097848516878811313935087805749136984624181537103819392315336772310257241504183705378557949058271397871707042133361458309904145684318526169182494583898840681051830816930001796660859656525254088815403529923454175462531284369991874180277086537751923794870646726864198041993567228044145540625199272733240938944958493316228742535186208483537498448745329292039540039826508819852325389021464484834910794390741930042174045903469622336536376048422087140153219390399189128042658765583034554092024579807483445763329362256362578946877203652900857255046899947521294407809014258432585740025544056994113825774698924121942855695797113155808844909799384536721728220072445011384248223439169290164940985974637675504887847833921703386892583900516170891966487950773069107788239968660011317375628464918647034856200953111886059028818913630895423070801870735367484940200377378522864430693028407081194516798285559444923520227589443485912743011857907980945986456854497383835501054133942133023346940895715981275545008523765837772428203661094428724241209474274226158574252284300950928720217009942164223823903399805497098249383840905439132932968205128930257595469169143454761803041516579458948165001060928647642044915604523152726185999756753631371680005059904819071743494797225787367447763740122067558585994716980835308307871704829282105069671321 4760112853704988930442514738588963785311050158255158836988816603426497680262046485575041773125960372906472375896300267378501178842959110471765800726735419173647834128619353711908798365932395360288474979157176626358181155631873856179462575429570219669962763667638292608490401691421466986925986304450297104178904218353434171865859216172191766960343385471308580800410406790774076062963126194042408184155621336931973914212659234176163301806285725903462910964748741402222642541617705261673866762089826556379858077225158047392318377090401356821533861317170705028775493913241920632904944368460474633077542514140494933736634792877579926388863600292797960418330266093222867306861088566952112488115187076049654139507582203241677784102701799660915118628539856641625823653309709669768326549306764350366794502767781736079843303457802664560319505285242828515131010370145456022770040537360189972308877095543848295757879150703043381110382012820002891328480064299507858617579814744115637052076101307766508202993295588913576285400673185287386501167975201248356865582416028138890839939369051429252127440276620816004334667698068083130655461450721347789449101728715013189476680721537265850584053792643308359172403389880716972952956507015097717189827670098203313133371097255279321342839112070084063025668204907287705355946976062665258384593655602420161719235291830643482928949202184914912918741514953332607699011259300677622765738827706405085315615379376330887005057350193300376851731233306263283340913388825767628247237992977409885546486021705722543907696886751069196498290510363846588356010939644789877823613089702694435293094831610991999585640846307081618376103148900396445161957496140442925644298600488640678591509780463848272105693778690970262900863130686298597998929121999652684091657551824587440967254618050565472522795110462937085199368342516731769909349147502580404947350663101021414699509206232099768230412766504140553769553380966859052970908414782039676650636848398991193308659696916300237773118591285026585343924203222323437185687867667197095199099964389327026484705861633524149991431111224545240478820371489379453893683986084562050802719689224202406820979484923242724371228711582603713387183130634663786678465269941362713842032241849736466702357702996232587566321257642606388865142667845383855870018563069551094872700699077870424006075665708638690899331182682861677072570681275524699328372521271009915441304074050586706971870251394010322387003538221899968999173386362914033442881024363403299720952367380796610130232495829669951331863361482733645744117920139759817827879889889362990469036541954961282513212094395660703278743549049185175764374704527453210611648947538716509356868790426278917396171439841368418271926621899313281501404612692265742872261253861005626049191385490786378130324951603079794412873071345516205678957703967867174414407064913959441759181771581769417061808735053715734191669262375510907819348625952596153147762635973268188184656372016837185127970066911151245404420662027319549865820621705378355926098628342386102657355699082421151284942297995714888759245120136238704850610700972104189636770791072005649949403 7702024387579927920485562058026438288215566961127169001451650346333365925105809635717289137741717638724254354686670335768639771839512720364271181729655589296403271772356255523314969326122361299621634713807706908043856153558397115059809124721890528411645001493780595104305903933311090717890980380650256894720486659167677144232040945724878055449354584547842822627945768047448050569798762736076731286441348084422094425550266820254907575209344969109792958409717623213205988594669716690572012648036503460128324924986719420108162182490832219674063132592220111235840364508995165921228136388742316251251730110588379301175031335436530945409680910745764432974742162891388572219951627595333736326643804533229595387186072408925175334420871908449139425005979098328863479977335039950650349790740988751911247683029244487654506249488310937410888871104246308923328372828673663213347623780816314636303828278286696327806606554053959212915963159299885361276389356052198450908756370832463514181639372962975752525044912081850878542614993749244762824662058725818212482027744988970778068043887550178378810346531500375797122003463948650147085833626338287523590556331333182941717754169889761179005330685221390133844696106454071691694870687996040705163579449422354464267941409900831440992153562919437580582295514849845535809522726428462906853735656937113404976299985038485485635834435395792798209109150408000441328936730508109388503042330578575192897071782662512783333825509876904103315369912804000120150572430793996553239389513027634239334712785459932429098100082818286735581869680572193868669974803926535338090169580729737693749959305067324118204413328795725139339761374503087545701238110158561126696449255696521327130395662546221019007003329238948816573138151366829108075438200972470711729595698264671461638024265253117221383892958979815896513303430322480906893973329039684224339665999873331671941013389937478326179471037902012260811686742425168957116592733308208859145220747239672245139476626918096898632775116539115400747454126676498899716972237659071275476186502141250821355352588497722191984998339268690781104019644222620392838642479400790793337905897707739905269724814215282264411055220402456038776204595119498697472856011871404887887935711472073003078406125083372740785711656831734431523908250879937947894598370552996858202062955440449370883279318609495945946231130204156084881584939708110439353916578265123741216002998172529562667667364549819167296802922758621697219245831374298281666320193653568240706927005056301497978066417533056843915763877653625612232068693208867606067848549900680366097501460601996138714165206281719732097657179944608246566245439894938150812026326061580940049897197507473434194456999286291938499516065385226024513262520673211729329115751244841127103325327623809725071220667584355339421396837183288633882618798396591415623881339140118016011466072532698137278818677217939558095069067872609157203189531391729086115967764903525783653825515471598988169486646370099410405481590674961594781425144858104541925855381973757782662415603901492894779739523783082336522985242203797290845327681807412497508475620354110719620724 12462137241284916850928076796615402073526617119382327838440466949759863605367856121292330910867678011630726730582970603147140950682471830836036982456391008470051105900975609235223767692054756659910109692964883534402037309190270971239271700151460748081607765161418887712796305624732557704816966685100553998899390877521111316097900161897069822409697970019151403428356174838222126632761888930119139470596969421354068339762926054431070877015630695013255869374466364615428631136287421952245879410126330016508183002211877467500480559581233576495596993909390816264615858422237086554133080757202790884329272624728874234911666128314110871798544511038562393393072428984611439526812716162285848814758991609279249526693654612166853118523573708110054543634518954970489303630644749620418676340047753102278042185797026223734349552946113601971208376389489137438459383198819119236117664318176504608612705373830544623564485704757002594026345172119888252604869420351706309526336185576579151233715474270742260728038207670764454828015666934532149325830033927066569347610161017109668907983256601607630937786808121191801456671162016733277741295077059635313039658060048196131194434891427027029589384477864698493017099496334788664647827195011138422353407119520557777401312507156110762334992674989521643607963719757133241165469702491128165238329312539533566695535276869128968564783637580707711127850665361333049027947989808787011268781158284980278212687162038843670338882860070204480167101146110263403491485819619764181486627506005044124881198807165654973005796969569355932080160190936040457025985743571325215913782670432432129043054136678316117790054175102806757715864523403483990863195606299004052340747856185162005721905443010069291112697107929919079474001282053127706074367322972123395821253250089258902605278883303682693906688069442752981712671772839212676803322476542264629287016662974353086640522596169578094409883804406152814581240123392028010087501148090248535795857595638663438448136323834397136405893707824141986091378329898822336902660105326268370675286466530577847840058450131246341976429450493236021582840015711999846732326465485352844140625586931942312090704299138524988782283931985059752163387725754162484151321281812767601729967953321809469780763828079605328352032914474340820389050918725321803764616933622547953074763654518319794889354984318134636845562312887017761954155620983635138682289099536133656657307072223116269639537615943829489683806460980521666218419217737212315109201218016971540427879372437098108108298913362726795247627239136359257976186613348627423895728439790043356566538002556957421227377300677380435376400728993793422330620144422391361423675273600297449406765987933752351590628439127660356771442687284539306014667133365477472201377005105846753152516713114596103201545619187435133834269908528804839561576502364458590038288404054077457770647844114467554340627412271655292286738330248120065022538157344325239263730400876793971838481887488436173297456713281250655809902252702281144647245766563482897851954010316143885319771302983914046064681821778797225282230362340035995695938382779516687145246411426116369570127 20164161628864844771413638854641840361742184080509496839892117296093229530473665757009620048609395650354981085269640938915780722521984551200308164186046597766454377673331864758538737018177117959531744406772590442445893462748668086299080824873351276493252766655199482817102209558043648422707947065750810893619877536688788460329941107621947877859052554566994226056301942885670177202560651666195870757038317505776162765313192874685978452224975664123048827784183987828634619730957138642817892058162833476636507927198596887608642742072065796169660126501610927500456222931232252475361217145945107135581002735317253536086697463750641817208225421784326826367814591876000011746764343757619585141402796142508844913879727021092028452944445616559193968640498053299352783607979789571069026130788741854189289868826270711388855802434424539382097247493735446361787756027492782449465288098992819244916533652117240951371092258810961806942308331419773613881258776403904760435092556409042665415354847233718013253083119752615333370630660683776912150492092652884781829637906006080446976027144151786009748133339621567598578674625965383424827128703397922836630214391381379072912189061316788208594715163086088626861795602788860356342697883007179127516986568942912241669253917056942203327146237908959224190259234606978776974992428919591072092064969476646971671835261907614454200618072976500509336959815769333490356884720316896399771823488863555471109758944701356453672708369947108583482471058914263523642058250413760734726017019032678364215911592625587402103897052387642667662029871508234325695960547497860554003952251162169822793013441745640235994467503898531897055625897906571536564433716457565179037197111881683332852301105556290310119700437168867896047139433419956814149805523944594107550848948353930364243303148556799915290581028422568878225975203161693583697295805581948853626682662847684758581535986107056420589354842308165075392926865817196967204093881398457394941078342878335683587612950752494035038668824363257386838832456575321236619632342985339646151472968671828669195411038628968533961427789761926802686859659934620239570968944886143637478531484639682217360429113353807253193339152387515790939592320873661181624177293684172489617903664793882472859169953162978069137744571306075251912959169605259751659215304175544811276826609958769165772634302927630582791793443091173846835740560691745578036205677801257397873310070395645832307204980493648656980609383739143363437665049111510596775521411670539781134806377493399606086365330895783639163391116789984870208255306557495029963576989690723722664039463158953559941542506959100167474057908938401668896865584317329512235701599661878389456663185441225785785085438413952295270958752669765330527929654038689201530492756350687880255842040738405828272766286771790473255666745712093473444195300761050005662169743194195473782113916647165691619446089489594850381807398120729222225727688736054325379698165780319755492307402960035161466943359651350066215383843377242739428670911421587439777809392289901667982186906885406940844421345561879561805215604543833286541266064586929184653722031780227089190851 32626298870149761622341715651257242435268801199891824678332584245853093135841521878301950959477073661985707815852611542062921673204456382036345146642437606236505483574307473993762504710231874619441854099737473976847930771938939057538352525024812024574860531816618370529898515182776206127524913750851364892519268414209899776427841269519017700268750524586145629484658117723892303835322540596315010227635286927130231105076118929117049329240606359136304697158650352444063250867244560595063771468289163493144690929410474355109123301653299372665257120411001743765072081353469339029494297903147898019910275360046127770998363592064752689006769932822889219760887020860611451273577059919905433956161787751788094440573381633258881571468019324669248512275017008269842087238624539191487702470836494956467332054623296935123205355380538141353305623883224583800247139226311901685582952417169323853529239025947785574935577963567964400968653503539661866486128196755611069961428741985621816649070321504460273981121327423379788198646327618309061476322126579951351177248067023190115884010400753393640685920147742759400035345787982116702568423780457558149669872451429575204106623952743815238184099640950787119878895099123649020990525078018317549870393688463470019070566424213052965662138912898480867798222954364112018140462131410719237330394282016180538367370538776743422765401710557208220464810481130666539384832710125683411040604647148535749322446106740200124011591230017313063649572205024526927133544070033524916212644525037722489097110399791242375109694021956998599742190062444274782721946291069185769917734921594601951836067578423956353784521679001338654771490421310055527427629322756569231377944968066845338574206548566359601232397545098786975521140715473084520224172846916717503372102198443189266848582031860482609197269097865321859938646976000906260500618282124213482913699325822037845222058582276634514999238646714317889974166989209224977291595029488705930736935938516999122035749274586891171444562532187399372930210786474143573522292448311608016826759435202406517035469488760214875937857240255162824269699675646620086303295410371496481619157071571624529451133412492332241975623084372575543102980046627823665775498575496940091347871618115691942639933781242583397489777485780416072302010088330581555423832237798092764351590264477088960661989287245765219637355755978191608789896181675380716718494777337391054530617142618762101946742596437478146664415844719665029656084266848722911884722629687511321562685749930497714194664244258510434411018355926344128184441919906122453859305429480767079230577465715910981168919807636480602850458637932195091227485728739720873659376873262175838863429173374978137375713877541612652042401439954304636542596787404166673731869761456534633408358753853001931474311905959225607089936654240898313005771803125508595700458147248272931552761760761633245960073501761250142668545728368849287248265846080379564643428566657113727330789290448471334764400072932600722025286096079523884075916677985070337629763402606045553301958209869320986909103167340676787087445966883869282237204447366445871798968443206343458760978 52790460499014606393755354505899082797010985280401321518224701541946322666315187635311571008086469312340688901122252480978702395726440933236653310828484204002959861247639338752301241728408992578973598506510064419293824234687607143837433349898163301068113298471817853347000724740819854550232860816602175786139145950898688236757782377140965578127803079153139855540960060609562481037883192262510880984673604432906393870389311803803027781465582023259353524942834340272697870598201699237881663526451996969781198856609071242717766043725365168834917246912612671265528304284701591504855515049093005155491278095363381307085061055815394506214995354607216046128701612736611463020341403677525019097564583894296939354453108654350910024412464941228442480915515061569194870846604328762556728601625236810656621923449567646512061157814962680735402871376960030162034895253804684135048240516162143098445772678065026526306670222378926207910961834959435480367386973159515830396521298394664482064425168738178287234204447175995121569276988302085973626814219232836133006885973029270562860037544905179650434053487364326998614020413947500127395552483855480986300086842810954277018813014060603446778814804036875746740690701912509377333222961025496677387380257406382260739820341269995168989285150807440091988482188971090795115454560330310309422459251492827510039205800684357876966019783533708729801770296900000029741717430442579810812428136012091220432205051441556577684299599964421647132043263938790450775602320447285650938661544070400853313021992416829777213591074344641267404219933952509108417906838567046323921687172756771774629081020169596589778989182899870551827116319216627063992063039214134410415142079948528671426507654122649911352097982267654871568280148893041334373978370861311610922951146797119631091885180417282524487850126287890738164622179162599844197914087706162336540381988669722603803594568383690935588593489022482965367093855026421944495688910887163325678014281395334805623362225339385206483231356550656759769043243049464810141924791296947662978232403874235186230880527389183409899285030017089626956559335581240325874264355257640119097688556211306746811562525846139495168962236760091334042572367501484847399675869181112580965775282909574415499103734405561466627522057086491324214969257935841307083047541973637575628416874435858126434623590173395802429149199069365455625636742367126294754700455138648452403927213014407934253947576931126803645025228458808393093749315960233508660244041358051102697492127423897320281029575154294073574409472716328998392697226463617483822882419171490801894616928874864541110462314595580770324516546870596760124351313057050385895078472924054228320092358816203923160799315955564947313360192624069967070526441442855875262362517807222513664200794591407759747078192731016080345603399952991786449967103886558601362627890442468405334875677408798937579519591250844993050353126489578509473993534816433890023126732437433482823096693408506496231343432583950788240669939456766623504587589406657777407572794895947221284145116754727927753524512902556348892661571427702568778470511953375056452690474986570547951829 85416759369164368016097070157156325232279786480293146196557285787799415802156709513613521967563542974326396716974864023041624068930897315272998457470921810239465344821946812746063746438640867198415452606247538396141755006626546201375785874922975325642973830288436223876899239923596060677757774567453540678658414365108588013185623646659983278396553603739285485025618178333454784873205732858825891212308891360036624975465430732920077110706188382395658222101484692716761121465446259832945434994741160462925889786019545597826889345378664541500174367323614415030600385638170930534349812952240903175401553455409509078083424647880147195221765287430105265889588633597222914293918463597430453053726371646085033795026490287609791595880484265897690993190532069839036958085228867954044431072461731767123953978072864581635266513195500822088708495260184613962282034480116585820631192933331466951975011704012812101242248185946890608879615338499097346853515169915126900357950040380286298713495490242638561215325774599374909767923315920395035103136345812787484184134040052460678744047945658573291119973635107086398649366201929616829963976264313039135969959294240529481125436966804418684962914444987662866619585801036158398323748039043814227257773945869852279810386765483048134651424063705920959786705143335202813255916691741029546752853533509008048406576339461101299731421494090916950266580778030666569126550140568263221853032783160626969754651158181756701695890829981734710781615468963317377909146390480810567151306069108123342410132392208072152323285096301639867146409996396783891139853129636232093839422094351373726465148598593552943563510861901209206598606740526682591419692361970703641793087048015374010000714202689009512584495527366441847089420864366125854598151217778029114295053345240308897940467212277765133685119224153212598103269155163506104698532369830375819454081314491760449025653150660325450587832135736800855341260844235646921787283940375869256414950219912333927659111499926276377927793888738056132699254029523608383664217239608555679804991839076641703266350016149398285837142270272252451226259011227860412177559765629136600716845627782931276262695938338471737144585321132666877145552414129308513175174444678052672313646901025266358139037515648144864117299542866907396516979346266422862506879779771730339980007138912947087096612877419161022066504955047557064415532924042507011473195232476039506934544355633170036200690173368604950309441073178473422749833582808956420544966671045562424260177877354395034475693819412804507985427828642673126577139146369739937682187848652257881125194394590775522279382122232061373174975184802791851351837041796771259554455346186230067183521532191182060536513193497177599355761632578374603613123228847022548994232279263757147072559548444409691221390098690241687435540054193890099455738907012067197063086037690741336887637438170432183539593093012095135718898854858427796722259380896813454666555299094547210153885983856977830995743505516551510265956035536290507580504267391728115037336197501992774586103326624048914662627680243233135980107538311571851015674959319820928251658918192914006712807 138207219868178974409852424663055408029290771760694467714781987329745738468471897148925092975650012286667085618097116504020326464657338248509651768299406014242425206069586151498364988167049859777389051112757602815435579241314153345213219224821138626711087128760254077223899964664415915227990635384055716464797560316007276249943406023800948856524356682892425340566578238943017265911088925121336772196982495792943018845854742536723104892171770405655011747044319032989458992063647959070827098521193157432707088642628616840544655389104029710335091614236227086296128689922872522039205328001333908330892831550772890385168485703695541701436760642037321312018290246333834377314259867274955472151290955540381973149479598941960701620292949207126133474106047131408231828931833196716601159674086968577780575901522432228147327671010463502824111366637144644124316929733921269955679433449493610050420784382077838627548918408325816816790577173458532827220902143074642730754471338774950780777920658980816848449530221775370031337200304222481008729950565045623617191020013081731241604085490563752941554027122471413397263386615877116957359528748168520122270046137051483758144249980865022131741729249024538613360276502948667775656971000069310904645154203276234540550207106753043303640709214513361051775187332306293608371371252071339856175312785001835558445782140145459176697441277624625680068351074930666598868267571010843032665460919172718190186856209623313279380190429946156357913658732902107828684748710928096218089967613178524195723154384624901929536876170646281134550629930349292999557759968203278417761109267108145501094229618763149533342500044801079758425723059743309655411755401184838052208229127963902681427221856811659423936593509634096718657701013259167188972129588639340725218004492037428529032352392695047658172969350441103336267891334326105948896446457536538155994463303161483052829247719044016386176425624759283820708354699262068866282972851263032582092964501307668733282473725265661584411025245288712892468297272573073193806142030905503342783224242950876889497230543538581695736427300289342078182818346809100738051824120886776719814534183994238023074258464184611232313547557892758211188124781630793360574850313859165253279422183934840773638141250053706330744821599953398720731948604202264169589927321745367915608424013348805213531236467592556824495654154116922520041169666409633306227895687614687959338471568647577970454637750299731753954466301637281815843582898769189929205210712403613526957670004778292354756723394567098581559837301359002124969836372833357421505070267823748683019811323465640063389844436827642143499491731673388611476188354853821645449533819110284295503613891007385983697312509452742546669121825202444570683649670289878424256594797070979660736760343035817450968468291421257767781143454146881885905706010898625798425713928133209742222513115579231121119112684262940128769251981348006306196252915713247344689682031531980692976982677265484327227086938100502298506625974993057131085091856798385892444908992397939995870248443378776842416152193145789484872769109739274419794145471273195984704349393179484554664636 223623979237343342425949494820211733261570558240987613911339273117545154270628606662538614943213555260993482335071980527061950533588235563782650225770327824481890550891532964244428734605690726975804503719005141211577334247940699546589005099744113952354060959048690301100799204588011975905748409951509257143455974681115864263129029670460932134920910286631710825592196417276472050784294657980162663409291387152979643821320173269643182002877958788050669969145803725706220113529094218903772533515934317895632978428648162438371544734482694251835265981559841501326729075561043452573555140953574811506294385006182399463251910351575688896658525929467426577907878879931057291608178330872385925205017327186467006944506089229570493216173433473023824467296579201247268787017062064670645590746548700344904529879595296809782594184205964324912819861897329258086598964214037855776310626382825077002395796086090650728791166594272707425670192511957630174074417312989769631112421379155237079491416149223455409664855996374744941105123620142876043833086910858411101375154053134191920348133436222326232674000757578499795912752817806733787323505012481559258240005431292013239269686947669440816704643694012201479979862303984826173980719039113125131902928149146086820360593872236091438292133278219282011561892475641496421627287943812369402928166318510843606852358479606560476428862771715542630334931852961333167994817711579106254518493702333345159941507367805069981076081259927891068695274201865425206593895101408906785241273682286647538133286776832974081860161266947921001697039926746076890697613097839510511600531361459519227559378217356702476906010906702288965024329800269992246831447763155541694001316175979276691427936059500668936521089037000538565747121877625293043570280806417369839513057837277737426972819604972812791858088574594315934371160489489612053594978827366913975448544617653243501854900869704341836764257760496084676049615543497715788070256791638901838507914721220002660941585225191937962338819134026769025167551302096681577470359270514059022588216082027518592763580559687979981573569570561594529409077358036961150229383886515913320531379811777169299336954402523082969458132879025425088333677195760101873750024758537217925593069084960107131777178765701851194862121142820306117248927950468687032096807101517098255588431152261752300627849345011717846562159109164479584456702590452140317701090920090727466273015924280748006655327923668336704263907374815755238593416481578146349750177383449175951217847882132687389232417213979903089545265130001675251546975519203097359187258116476006564145005718056415585669226559059703516674466916476180462828025396650592905003989165296514362687135423198568044233825702949920146024883457780819174296772899136900973250827076334736807809319891480227142189858390111499455216683508340771985361444917910692995488799965823951079110150553749663304658705777275035264488150836206434102918512296610060799356237330626527903130868661122462158222830443617053808772582010529347638665596124190114007482245189899932770456351770002825757078779873389022620852876648050846270809820430593016912956008311372398561377443 361831199105522316835801919483267141290861330001682081626121260447290892739100503811463707918863567547660567953169097031082276998245573812292301994069733838724315756961119115742793722772740586753193554831762744027012913489254852891802224324565252579065148087808944378324699169252427891133739045335564973608253534997123140513072435694261880991445266969524136166158774656219489316695383583101499435606273882945922662667174915806366286895049729193705681716190122758695679105592742177974599632037127475328340067071276779278916200123586723962170357595796068587622857765483915974612760468954908719837187216556955289848420396055271230598095286571504747889926169126264891668922438198147341397356308282726848980093985688171531194836466382680149957941402626332655500615948895261387246750420635668922685105781117729037929921855216427827736931228534473902210915893947959125731990059832318687052816580468168489356340085002598524242460769685416163001295319456064412361866892717930187860269336808204272258114386218150114972442323924365357052563037475904034718566174066215923161952218926786079174228027880049913193176139433683850744683033760650079380510051568343496997413936928534462948446372943036740093340138806933493949637690039182436036548082352422321360910800978989134741932842492732643063337079807947790029998659195883709259103479103512679165298140619752019653126304049340168310403282927891999766863085282589949287183954621506063350128363577428383260456271689874047426608932934767533035278643812337003003331241295465171733856441161457876011397037437594202136247669857095369890255373066042788929361640628567664728653607836119852010248510951503368723450052860013301902243203164340379746209545303943179372855157916312328360457682546634635284404822890884460232542410395056710564731062329315165956005171997667860450031057925035419270639051823815718002491425284903452131443007920814726554684148588748358222940683385255368496757970242759784654353229642901934420600879222527671394224058950457599546749844379315481917635848574669754771276501301419562365371440324978395482260811103226561677309996870850936607591895704846061888281208007402690040345913995771407322411212866707694201771680436918183299521801977390895234324875072396383178872491268894947905415320015755557525606942742773704837980876554670951201686734423262466171196855165610557514159085812604274671057813263281402104497872256861773623928986607705415425611487492928325977109965673968068458218373676453037054436999380347336278955388095852789478175517886910979743989140608547001671105102431360677376516811892036454780692328384299755247164817041522055649059070995887345660173958648149569074304213751504414550453522984406798658190749314205954027931138212402662692694005282983263744980422569426779397507421873405716468546080234516044593158326681532757222997826962487653871267150928809318793914513893957160821332663669328894425777818461537975393257402817554440409114765212323308144045919362158508596107851338387946485449917381717556107279207985522404769750687980988499899927154182297872766326600213381602599494932066534812105725645757790120690603965901866212897660357704551883116042079 585455178342865659261751414303478874552431888242669695537460533564836047009729110474002322862077122808654050288241077558144227531833809376074952219840061663206206307852652079987222457378431313728998058550767885238590247737195552438391229424309366531419209046857634679425498373840439867039487455287074230751709509678239004776201465364722813126366177256155846991750971073495961367479678241081662099015565270098902306488495089076009468897927687981756351685335926484401899219121836396878372165553061793223973045499924941717287744858069418214005623577355910088949586841044959427186315609908483531343481601563137689311672306406846919494753812500972174467834048006195948960530616529019727322561325609913315987038491777401101688052639816153173782408699205533902769402965957326057892341167184369267589635660713025847712516039422392152649751090431803160297514858161996981508300686215143764055212376554259140085131251596871231668130962197373793175369736769054181992979314097085424939760752957427727667779242214524859913547447544508233096396124386762445819941328119350115082300352363008405406902028637628412989088892251490584532006538773131638638750056999635510236683623876203903765151016637048941573320001110918320123618409078295561168451010501568408181271394851225226180224975770951925074898972283589286451625947139696078662031645422023522772150499099358580129555166821055710940738214780853332934857902994169055541702448323839408510069870945233453241532352949801938495304207136632958241872538913745909788572514977751819271989727938290850093257198704542123137944709783841446780952986163882299440962171990027183956212986053476554487154521858205657688474382660283294149074650927495921440210861479922456064283093975812997296978771583635173850151944768509753276112691201474080404244120166592903382977991602640673241889146499629735205010212313305330056086404112270366106891552538467970056539049458452700059704941145751453172807585786257500442423486434540836259108793943747674055165644175649537509088663513342250942803399876766436348746860571933621387959656407005914075024391662914541658883566441412531137000973062883023038510591893918603360877293807548576621748167269230777171229813315943608387855479173150997108074899830933601104465560353855055037192498781457408720469063885594010955229804505139638233783541524779564426785286317872309814786935157615992517619972372445881688954574847313913941630077527796142891884503417209073983765293597636405162482281051268792293030415861925482628705565479301965429393365769043667133221557822526904760650367561362352628063787411239552139879586500775761811309822759578471234728297554947049176848425564625749537132239148155007455457512149703313020877884737404522072164963915352582838718888740764082919277195468563680370758248949740453276355400125996271735348185071644256678214510470828425856628595846720011789403313859781111900442814223078557730436524238813010657745553653760874512033277508933368943402156692785036499238719999510408643672747825334609916051789996051752408416284105178613907409399372197805536782951983384428356573711939923834726578522405840966961413786332459229810616366015924281677419522 947286377448387976097553333786746015843293218244351777163581794012126939748829614285466030780940690356314618241410174589226504530079383188367254213909795501930522064813771195730016180151171900482191613382530629265603161226450405330193453748874619110484357134666579057750197543092867758173226500622639204359963044675362145289273901058984694117811444225679983157909745729715450684175061824183161534621839153044824969155670004882375755792977417175462033401526049243097578324714578574852971797590189268552313112571201720996203944981656142176175981173151978676572444606528875401799076078863392251180668818120092979160092702462118150092849099072476922357760217132460840629453054727167068719917633892640164967132477465572632882889106198833323740350101831866558270018914852587445139091587820038190274741441830754885642437894638819980386682318966277062508430752109956107240290746047462451108028957022427629441471336599469755910591731882789956176665056225118594354846206815015612800030089765631999925893628432674974885989771468873590148959161862666480538507502185566038244252571289794484581130056517678326182265031685174435276689572533781718019260108567979007234097560804738366713597389580085681666660139917851814073256099117477997204999092853990729542182195830214360922157818263684568138236052091537076481624606335579787921135124525536201937448639719110599782681470870395879251141497708745332701720988276759004828886402945345471860198234522661836501988624639675985921913140071400491277151182726082912791903756273216991005846169099748726104654236142136325274192379640936816671208359229925088370323812618594848684866593889596406497403032809709026411924435520296596051317854091836301186420406783865635437138251892125325657436454130269809134556767659394213508655101596530790968975182495908069338983163600308533691920204424665154475649264137121048058577829397173818238334560459282696611223198047201058282645624531006821669565556029017285096776716077442770679709673166275345449389703126107137055838507892657732860439248451436191120023361873353183753331096731984309557285202766141103336193563312263467744592868767729084926791799901321293401223207803319983944159380135938471373001493752861791687377281150541892342399774903329984283338051622750002942607818797212966246076006628367715793210681059810589435470275948042030597982141483482867328946020970220267188677785635727283793452447104175687565559064135501558317495990910137399960875259271604473620700654727721829347467415242272818907660953575154754907568883655954646877210698431073906431755469992723030004580599303276006920571914885075517058474639801100526883787368550834394837022384212775318611436452899659422005911035134110111679068634051610476100096102127755245531412894023747346664257618037990459768265670823146169744901480360512316328506511753177013901212337433316079727895746775529330583317827753738272721775477892407452156214342700350986051002956471315314921148042721256677087448076054943545095346571337898355129122665207052166023330997981574157178166972086167113807336553554495678303109552196766030956068644006458646832304168163631087652017752234325442708276723720476164793461601 1532741555791253635359304748090224890395725106487021472701042327576962986758558724759468353643017813164968668529651252147370732061913192564442206433749857165136728372666423275717238637529603214211189671933298514504193408963645957768584683173183985641903566181524213737175695916933307625212713955909713435111672554353601150065475366423707507244177621481835830149660716803211412051654740065264823633637404423143727275644165093958385224690905105157218385086861975727499477543836414971731343963143251061776286158071126662713491689839725560390181604750507888765522031447573834828985391688771875782524150419683230668471765008868965069587602911573449096825594265138656789589983671256186796042478959502553480954170969242973734570941746014986497522758801037400461039421880809913503031432755004407457864377102543780733354953934061212133036433409398080222805945610271953088748591432262606215163241333576686769526602588196340987578722694080163749352034792994172776347825520912101037739790842723059727593672870647199834799537219013381823245355286249428926358448830304916153326552923652802889988032085155306739171353923936665019808696111306913356658010165567614517470781184680942270478748406217134623239980141028770134196874508195773558373450103355559137723453590681439587102382794034636493213135024375126362933250553475275866583166769947559724709599138818469179912236637691451590191879712489598665636578891270928060370588851269184880370268105467895289743520977589477924417217347208033449519023721639828822580476271250968810277835897038039576197911434846678448412137089424778263452161345393807387811285984608622032641079579943072960984557554667914684100398818180579890200392505019332222626631268263788091501421345867938322954415225713904982984708712427903966784767792798004871373219302662500972721961155202949206933809350924294889680659476450426378114664233509444184345226112997750666667762247505653758342350565676758274842373141815274785539200202511983606938818467110023019504555347301756674564927171405999983803242648328202627468770222445286805141290753138990223632309594429055644995077129753675998881593841830612107965302391795239896762100501610868560565907547405169248544231307068805400075232760323692889450474674734263585387803611976605057979800317578670374966545070513961726748440485564950227669253817472821595024767427801355177143732956127836259706297758008173165482407021951489601507189141663297701209380494327346473944640552869240878783182935778990621640497831104198301536366519054456720336962249424998314010432256253600811192405837554085382632644386714515559060451501385851278869784462560678998118515666105781444013870809777401068148568692047814429461368547283813424699946518789014998172261066043107828370131782764511429583534813506554140139023919772886623021256880486508588063854696824821270579426847904144505584524342622249342372721141613519384622218292115486009886650866939163996708748510125076189433181320230190046030850232747728581594585291337408763772795413032386775939382787977625909586583256191345727714745952926693483839892504180150459312642355946382481558882690569472054613431538566784672518893089736400446470881123 2480027933239641611456858081876970906239018324731373249864624121589089926507388339044934384423958503521283286771061426736597236591992575752809460647659652667067250437480194471447254817680775114693381285315829143769796570190096363098778136922058604752387923316190792794925893460026175383385940456532352639471635599028963295354749267482692201361989065707515813307570462532926862735829801889447985168259243576188552244799835098840760980483882522332680418488388024970597055868550993546584315760733440330328599270642328383709695634821381702566357585923659867442094476054102710230784467767635268033704819237803323647631857711331083219680452010645926019183354482271117630219436725983353864762396593395193645921303446708546367453830852213819821263108902869267019309440795662500948170524342824445648139118544374535618997391828700032113423115728364357285314376362381909195988882178310068666271270290599114398968073924795810743489314425962953705528699849219291370702671727727116650539820932488691727519566499079874809685526990482255413394314448112095406896956332490482191570805494942597374569162141672985065353618955621839455085385683840695074677270274135593524704878745485680637192345795797220304906640280946621948270130607313251555578449196209549867265635786511653948024540612298321061351371076466663439414875159810855654504301894473095926647047778537579779694918108561847469443021210198343998338299879547687065199475254214530352230466339990557126245509602229153910339130487279433940796174904365911735372380027524185801283682066137788302302565670988814773686329469065715080123369704623732476181609797227216881325946173832669367481960587477623710512323253700876486251710359111168523813051675047653726938559597760063648611851679844174792119265480087298180293422894394535662342194485158409042060944318803257740625729555348960044156308740587547426173242062906618002583560673457033363278985445552854816624996190207765096511938697844292070635976918589426377618528140276298364953945050427863811620765679298657716663681896779638818588793584318639988894621849870974533189594797195196748331270693065939466626186710598341192892094191696561190163323709414188544510066927541107719917232800821667191762610041474234781792874449637593569671141663599355060922408136375883341212621077142329442541651166624760817104724093420863625622749569284838044472678977098056526894975543643900449275859469055665289072748205798799259526876485237483873905515812140845352403883590506712450987965246346471120444027472629611475244531133080952960887642954684674717624161307546808412637224986017791565981023416270926795928259102361779525002303034656615838850893193990176386760005144947473851467279582417923536379015152840625474272357168170863073901544676788258776247792431544544599907289590596032792766158360847020904392361208577998284480639185337460585312420089397778672956038969367257657343993770007893462042865209639514982759751466596391504354329362951446723118298308802672126689931862675307118901918078239438941962713785959200066764750228277512841522082506481189162143002056376916490268710999952841128391186858733103142265449290801110115227169813456876611264342724 4012769489030895246816162829967195796634743431218394722565666449166052913265947063804402738066976316686251955300712678883967968653905768317251667081409509832203978810146617747164493455210378328904570957249127658273989979153742320867362820095242590394291489497715006532101589376959483008598654412442066074583308153382564445420224633906399708606166687189351643457231179336138274787484541954712808801896647999332279520444000192799146205174787627489898803575250000698096533412387408518315659723876691392104885428713455046423187324661107262956539190674167756207616507501676545059769859456407143816228969657486554316103622720200048289268054922219375116008948747409774419809420397239540660804875552897747126875474415951520102024772598228806318785867703906667480348862676472414451201957097828853106003495646918316352352345762761244246459549137762437508120321972653862284737473610572674881434511624175801168494676512992151731068037120043117454880734642213464147050497248639217688279611775211751455113239369727074644485064209495637236639669734361524333255405162795398344897358418595400264557194226828291804524972879558504474894081795147608431335280439703208042175659930166622907671094202014354928146620421975392082467005115509025113951899299565109004989089377193093535126923406332957554564506100841789802348125713286131521087468664420655651356646917356048959607154746253299059634900922687942663974878770818615125570064105483715232600734445458452415989030579818631834756347834487467390315198626005740557952856298775154611561517963175827878500477105835493222098466558490493343575531050017539863992895781835838913967025753775742328466518142145538394612722071881456376452102864130500746439682943311441818439980943628001971566266905558079775103974192515202147078190687192540533715413787820910014782905474006206947559538906273254933836968217037973804287906296416062186928786786454784029946747693058508574967346755884523371354311839659566856175177121101409984557346607386321384458500397729620486185692850704657700466924545107841446057563806763926794035912603009964756821904391624252393326347822819615465507780552428953300857396583491801086925424211025057105075974474946276968461464107890472591837842801797927671243349124371857155058945275575960118902208453954553716179166147656291169290091652189711044773977910893685220647516997086193221616411933225892786601273301652073614758266491007154890579937347462096960736256979564830347850156365010086231187066526285703072628463077450669421980393991684068195581493382505951274898075210938275528816567145100893795269869372732307125041474917656778074798043564922458523120818700762397282864764003767577454908573836995288280928648129701736961078961671629640472444618234213970902271676459552770205831327245051098740046313510368919415787415241333529492456215905402819555060066033241605090896944432020028015328760110980777041966212062123379471929516076578678979468499976721467693787510683181636769149148541550400708284517154012715882674713491271825717902096573936825976351333484468858569236828459407882645982894560557066949581353355899223609950069549302575196878880829367894787746062903193277057735223847 6492797422270536858273020911844166702873761755949767972430290570755142839773335402849337122490934820207535242071774105620565205245898344070061127729069162499271229247626812218611748272891153443597952242564956802043786549343838683966140957017301195146679412813905799327027482836985658391984594868974418714054943752411527740774973901389091909968155752896867456764801641869065137523314343844160793970155891575520831765243835291639907185658670149822579222063638025668693589280938402064899975484610131722433484699355783430132882959482488965522896776597827623649710983555779255290554327224042411849933788895289877963735480431531131508948506932865301135192303229680892050028857123222894525567272146292940772796777862660066469478603450442626140048976606775934499658303472134915399372481440653298754142614191292851971349737591461276359882664866126794793434698335035771480726355788882743547705781914774915567462750437787962474557351546006071160409434491432755517753168976366334338819432707700443182632805868806949454170591199977892650033984182473619740152361495285880536468163913537997639126356368501276869878591835180343929979467478988303506012550713838801566880538675652303544863439997811575233053260702922014030737135722822276669530348495774658872254725163704747483151464018631278615915877177308453241763000873096987175591770558893751578003694695893628739302072854815146529077922132886286662313178650366302190769539359698245584831200785449009542234540182047785745095478321766901331111373530371652293325236326299340412845200029313616180803042776824307995784796027556208423698900754641272340174505579063055795292971927608411695948478729623162105125045325582332862703813223241669270252734618359095545378540541388065620178118585402254567223239672602500327371613581587076196057608272979319056843849792809464688185268461622214977993276957625521230461148359322680189512347459911817393225733138611363391592342946092288467866250537503858926811154039690836362175874747662619749412445448157484297806458530003315417130606441887480264646357391082566782930534452880939290011499188819449141657618515885554932133967263027294493749490775188362277088747920439245649586041402487384688378696908712139783600452843272162453036223574009450724730086939175315179824616590330437057391787224798620611831742818814471861878702004314548846270266566371031266089090910323949313496248845295974064034125960062820179652685553260896220263133464802314221755672177150931583590950116792415523616428323797140542424421464313679670826024515586904235785718165622950246440728452647702207907094358750098691022498333927704870726302667284238048123121735419013121715657197757753841668578981942762132395927712119660497457976824470265946716975402384833976173221136341028982079119676595643339953603100964952208553573602180550396848577113980817839540705218579065676209364521417806688284799080348034699310205832131272933972381286218193962228251443317859198141840046133083492267446850353072834974449016688023001576631569511264659864810359896026043116083712746371410758910965889071808125896616933983439850064355852064738341256408035678339144330120169004902973232716650153668999566571 10505566911301432105089183741811362499508505187168162694995957019921195753039282466653739860557911136893787197372486784504533173899804112387312794810478672331475208057773429965776241728101531772502523199814084460317776528497581004833503777112543785540970902311620805859129072213945141400583249281416484788638251905794092186195198535295491618574322440086219100222032821205203412310798885798873602772052539574853111285687835484439053390833457777312478025638888026366790122693325810583215635208486823114538370128069238476556070284143596228479435967271995379857327491057455800350324186680449555666162758552776432279839103151731179798216561855084676251201251977090666469838277520462435186372147699190687899672252278611586571503376048671432458834844310682601980007166148607329850574438538482151860146109838211168323702083354222520606342214003889232301555020307689633765463829399455418429140293538950716735957426950780114205625388666049188615290169133646219664803666225005552027099044482912194637746045238534024098655655409473529886673653916835144073407766658081278881365522332133397903683550595329568674403564714738848404873549274135911937347831153542009609056198605818926452534534199825930161199881124897406113204140838331301783482247795339767877243814540897841018278387424964236170480383278150243044111126586383118696679239223314407229360341613249677698909227601068445588712823055574229326288057421184917316339603465181960817431935230907461958223570761866417579851826156254368721426572156377392851278092625074495024406717992489444059303519882659801217883262586046701767274431804658812204167401360898894709259997681384154024414996871768700499737767397463789239155916087372170016692417561670537363818521485016067591744385490960334342327213865117702474449804268779616729773022060800229071626755266815671635744807367895469911830245174663495034749054655738742376441134246366601423172480831669871966559689701976811839220562377163425782986331160792246346733221355048941133870945845887104783992151380707973117597530986995321710703921197846493576966447055890904046833403580443701534983966338705170397641747815456247794606887358680163364014172131464302754662015877433661656840161016602612375438295645070090124279572698381307879789032214751275298726825044284990773570953372454911781121834471004182906652679915208234066917783563457224487705502843549842100097522146948047678792392451069975070232622900722993180999390444367144569605828542161017814778016643078118596244891401247809964404815455997747866407517898092855510683793376561225775257295597748596003176963731482405816063973251584482945524346232206696571243940436181410404580421201525331296577152818938050413324575841821397458536938496099906419161593636598804878444897595893799187910446921646742079999916611333871624340988843514079889304793019383637394600771251820670767106308953437834703613559191328811741276417894254652405901897362796872941696751420039326891929350729314720261416595391903473543258966170700738884251345060783090377766906933832852019467417197215229979995739425296954454108791177491050389431417711751288348291325957338253536023210949536899690719295619843430726734790418 16998364333571968963362204653655529202382266943117930667426247590676338592812617869503076983048845957101322439444260890125098379145702456457373922539547834830746437305400242184387990000992685216100475442379041262361563077841419688799644734129844980687650315125526605186156555050930799792567844150390903502693195658205619926970172436684583528542478192983086556986834463074268549834113229643034396742208431150373943050931670776078960576492127927135057247702526052035483711974264212648115610693096954836971854827425021906688953243626085194002332743869823003507038474613235055640878513904491967516096547448066310243574583583262311307165068787949977386393555206771558519867134643685329711939419845483628672469030141271653040981979499114058598883820917458536479665469620742245249946919979135450614288724029504020295051820945683796966224878870016027094989718642725405246190185188338161976846075453725632303420177388568076680182740212055259775699603625078975182556835201371886365918477190612637820378851107340973552826246609451422536707638099308763813560128153367159417833686245671395542809906963830845544282156549919192334853016753124215443360381867380811175936737281471229997397974197637505394253141827819420143941276561153578453012596291114426749498539704602588501429851443595514786396260455458696285874127459480105872271009782208158807364036309143306438211300455883592117790745188460515988601236071551219507109142824880206402263136016356471500458110943914203324947304478021270052537945686749045144603328951373835437251918021803060240106562659484109213668058613602910190973332559300084544341906939961950504552969608992565720363475601391862604862812723046122101859729310613839286945152180029632909197062026404133211922504076362588909550453537720202801821417850366692925830630333779548128470605059625136323930075829517684889823522132289016265210203015061422565953481706278418816398213970281235358152032648069100307086812914667284709797485200483082708909096102711560883283391294044589081798609910711288534728137428882801975350278588929060359896981508771843336844902769263150676641584854590725329775715078483542288356378133868525641102920051903548404248057279921046345218857925314752159038748488342252577315796272390758604519119153926590478551441634615427830962740597253532392953577289818654768531381919522782913188050129828255753794593753873791413593770992244021742826518411132795249885308453983889401262523909169458791361500719311949398368966759870534119861319725044950506829236920311427537233542413679759746469511542184176021698024050396298211084058090232504507086471585512187816250648899490934619367062171600423526296078399283085138245731800880812545720503553941057955994915320570172365878569038983638854618118732234828169989566598242385419953519712298823832894562445694630286153370133364455234141476470399736443315673474855641391898358271676846440586623726385925339874278649015066903925002863357186090071190775447803753684042242256546378233415187388761885827976630294355037631717293728878062583500909961601390754650391186026262234687794425033829281482067603353086632582365373931875167541069705904593692528336493584395734356989 27503931244873401068451388395466891701890772130286093362422204610597534345851900336156816843606757093995109636816747674629631553045506568844686717350026507162221645363173672150164231729094216988602998642193125722679339606339000693633148511242388766228621217437147411045285627264875941193151093431807388291331447563999712113165370971980075147116800633069305657208867284279471962144912115441907999514260970725227054336619506260518013967325585704447535273341414078402273834667590023231331245901583777951510224955494260383245023527769681422481768711141818383364365965670690855991202700584941523182259306000842742523413686734993491105381630643034653637594807183862224989705412164147764898311567544674316572141282419883239612485355547785491057718665228141138459672635769349575100521358517617602474434833867715188618753904299906317572567092873905259396544738950415039011654014587793580405986368992676349039377604339348190885808128878104448390989772758725194847360501426377438393017521673524832458124896345874997651481902018924952423381292016143907886967894811448438299199208577804793446493457559160414218685721264658040739726566027260127380708213020922820784992935887290156449932508397463435555453022952716826257145417399484880236494844086454194626742354245500429519708238868559750956876643733608939329985254045863224568950249005522566036724377922392984137120528056952037706503568244034745314889293492736136823448746290062167219695071247263933458681681705780620904799130634275638773964517843126437995881421576448330461658636014292504299410082542143910431551321199649611958247764363958896748509308300860845213812967290376719744778472473160563104600580120509911341015645397986009303637569741700170273015583511420200803666889567322923251877667402837905276271222119146309655603652394579777200097360326440807959674883197413154801653767306952511299959257670800164942394615952645020239570694801951107324711722350045912146307375291830710492783816361275329055642317457760502017154337139931693865790761291419261652325668415878123686054199786775553936863428564662747383678306349706852211625551193295895727417462893939790082963265492548689005117092183367851158910073157354708002059018941917364534477044133412342701595368970772066484308151368677865777278266678900418604533693969708444174075411760822837675184061834731016980105833693285480241500096597423633513691293139192069421618910862202770320117931354706882582261914353536603360967329261472967213146983402948652716106211126292760471234052376309175403641060311772615257153304918745401796955319648144894214261021821714910323150444837096670761774995131697631190611002607781833930876499600808416434822884619818862959045079395762455414531853816670078785040162675582443733063016328128627357900013519889127499953436323632695457235551289208710175458163152748092628742247722220407210421982428293476095511917463005658181863041620640577745776176011811939845621754283396512982000541504762524015100637634160019921492381358089500770079321691077445415398624227561730082050918107176831370750389816482980716343478971916084218712899779354641434923908322712185411190752019242804284411823956337015122469147407 44502295578445370031813593049122420904273039073404024029848452201273872938664518205659893826655603051096432076261008564754729932191209025302060639889574341992968082668573914334552221730086902204703474084572166985040902684180420382432793245372233746916271532562674016231442182315806740985718937582198291794024643222205332040135543408664658675659278826052392214195701747353740511979025345084942396256469401875600997387551177036596974543817713631582592521043940130437757546641854235879446856594680732788482079782919282289933976771395766616484101455011641386871404440283925911632081214489433490698355853448909052766988270318255802412546699430984631023988362390633783509572546807833094610250987390157945244610312561154892653467335046899549656602486145599674939338105390091820350468278496753053088723557897219208913805725245590114538791971743921286491534457593140444257844199776131742382832444446401981342797781727916267565990869090159708166689376383804170029917336627749324758935998864137470278503747453215971204308148628376374960088930115452671700528022964815597717032894823476188989303364522991259762967877814577233074579582780384342824068594888303631960929673168761386447330482595100940949706164780536246401086693960638458689507440377568621376240893950103018021138090312155265743272904189067635615859381505343330441221258787730724844088414231536290575331828512835629824294313432495261303490529564287356330557889114942373621958207263620404959139792649694824229746435112296908826502463529875483140484750527822165898910554036095564539516645201628019645219379813252522149221096923258981292851215240822795718365936899369285465141948074552425709463392843556033442875374708599848590582721921729803182212645537824334015589393643685512161428120940558108078092639969513002581434282728359325328567965386065944283604959026930839691477289439241527565169460685861587508348097658923439055968908772232342682863754998115012453394188206497995202581301561758411764551413560472062900437728433976282947589371202130550187053805844760925661404478375704614296760410073434590720523209118970002888267136047886621057193177972423332371319643626417214646220012235271399563158130437275754347277876867232116693515792621754595278911165243162825088827270522604456255829708313515846435496434566961976567028989050641492443715443754253799893293883823113735995294690351297424927285064131436091164445429273335565570003239808690771983524438262706062152328829980784916611515950162819186835967530851337710978063289296620602940874602725452375003622816460929577818653343698541192425345079911947414830236916422608858578025644031188565809978064779382257457172578000091501573068616420699675504765582949703513370526769137240251150918731714566082587681135060363455527889580118131512919906956035931519290130113734903340461611533286112547862883724192620143653737655903149117487410275734682504622449665347026503085650454660827006749546757146753699072071732280210327768784679876416566299725796545478262655907298321371800453030341521290608144634419017138432761505040207669006978578166766341118047994381846957994521556490688086117286358293088948708878104352292830599518203504396 72006226823318771100264981444589312606163811203690117392270656811871407284516418541816710670262360145091541713077756239384361485236715594146747357239600849155189728031747586484716453459181119193306472726765292707720242290519421076065941756614622513144892749999821427276727809580682682178870031014005680085356090786205044153300914380644733822776079459121697871404569031633212474123937460526850395770730372600828051724170683297114988511143299336030127794385354208840031381309444259110778102496264510739992304738413542673179000299165448038965870166153459770235770405954616767623283915074375013880615159449751795290401957053249293517928330074019284661583169574496008499277958971980859508562554934832261816751594981038132265952690594685040714321151373740813399010741159441395450989637014370655563158391764934397532559629545496432111359064617826545888079196543555483269498214363925322788818813439078330382175386067264458451798997968264156557679149142529364877277838054126763151953520537662302736628643799090968855790050647301327383470222131596579587495917776264036016232103401280982435796822082151673981653599079235273814306148807644470204776807909226452745922609056051542897262990992564376505159187733253072658232111360123338926002284464022816002983248195603447540846329180715016700149547922676574945844635551206555010171507793253290880812792153929274712452356569787667530797881676530006618379823057023493154006635405004540841653278510884338417821474355475445134545565746572547600466981373001921136366172104270496360569190050388068838926727743771930076770701012902134107468861287217878041360523541683640932178904189746005209920420547712988814063972964065944783891020106585857894220291663429973455228229049244534819256283211008435413305788343396013354363862088659312237037935122939102528665325712506752243279842224343994493131056746194038865128718356661752450742713611568459295539603574183450007575477348160924599701563498328705695365117923033740820193731018232564917592065573907976813380132493549811839379474260639049347458678162480168233623838638097338104201515468676855099892687241182516784610640866363122454282909118965903651337104418639250722068203594630462349336895809149481227992836755166937980506534213934891573135421891282322033107974992416265040030128536670420741104400811464330118899505588984816873399717516399216236794786948721058440976357270628160586064340135538335890121171163397654565786352616242665513296159242257883824662933565767839552073741977630471449297341672929778344515663037224990260776121379674979615608663346686086639606101733662325153387361259705529339800639162886197000589067387164091388049077600899918007891501040518538463810662345465968785058622953910329935958894390148526320744151388492082885789593638020640419860392359564214747365665024112050637069696438860640491625971914840550864159638331442593582922193197688162804312706967667080831426630672638946595168511430150212054072273784972851783885317510576586221218177903567763425986620012449245868428965748852338226685337124315264132255430024151987694921645738257202266707281626312635956480399010798302697549045108191513162516176249167614640672651803 116508522401764141132078574493711733510436850277094141422119109013145280223180936747476604496917963196187973789338764804139091417427924619448807997129175191148157810700321500819268675189268021398009946811337459692761144974699841458498735001986856260061164282562495443508169991896489423164588968596203971879380734008410376193436457789309392498435358285174090085600270778986952986102962805611792792027199774476429049111721860333711963054961012967612720315429294339277788927951298494990224959090945243528474384521332824963112977070561214655449971621165101157107174846238542679255365129563808504578971012898660848057390227371505095930475029505003915685571531965129792008850505779813954118813542324990207061361907542193024919420025641584590370923637519340488338348846549533215801457915511123708651881949662153606446365354791086546650151036361747832379613654136695927527342414140057065171651257885480311724973167795180726017789867058423864724368525526333534907195174681876087910889519401799773015132391252306940060098199275677702343559152247049251288023940741079633733264998224757171425100186605142933744621476893812506888885731588028813028845402797530084706852282224812929344593473587665317454865352513789319059318805320761797615509724841591437379224142145706465561984419492870282443422452111744210561704017056549885451392766580984015724901206385465565287784185082623297355092195109025267921870352621310849484564524519946914463611485774504743376961267005170269364292000858869456426969444902877404276850922632092662259479744086483633378443372945399949721990080826154656256689958210476859334211738782506436650544841089115290675062368622265414523527365807621978226766394815185706484803013585159776637440874587068868834845676854693947574733909283954121432456502058172314818472217851298427857233291098572696526884801251274834184608346185435566430298179042523339959090811270491898351508512346415792690439232346275937053095751704826700897946419484792152584745144578704627818029794007884259760969503695680362026433280105399975008863156538184782530384248711531928824724724587646857988159823289069137841803818838786454825602552745383118297557116653910650285226334031906216696614772676381597921508629376921533259417699457097716661962692413886778288937683305932111475526563103632397308133389862105822562614949343238616766693601339512952232089477300018483368261421402064251750509769408873901460124410972088426549310790878948727665624989223042800436178883728587026388041272828968182427360630969550381285390265762677365264398937840604557434262007045227279064951181645609739983624277682314387917826283194074762810567132166546348845221655600991419580960117461218213968576245295169482155585392091150581086877626104714608908425286448855538413679173756152153339767348395495734037495778759015391098681229724973188354509696107460694517897294234591711070332468932370667426762372314693583917077085333465953344715268576903911126144006065183179552669997386993152520943974449046026081893918333821046321459307270142946371319756141453696893760470231820994673499812504598320314701663473270630478036889698884419983907338197140222040620528541998214158876156199 188514749225082912232343555938301046116600661480784258814389765825016687507697355289293315167180323341279515502416521043523452902664640213595555354368776040303347538732069087303985128648449140591316419538102752400481387265219262534564676758601478773206057032562316870784897801477172105343458999610209651964736824794615420346737372169954126321211437744295787957004839810620165460226900266138643187797930147077257100835892543630826951566104312303642848109814648548117820309260742754101003061587209754268466689259746367636291977369726662694415841787318560927342945252193159446878649044638183518459586172348412643347792184424754389448403359579023200347154701539625800508128464751794813627376097259822468878113502523231157185372716236269631085244788893081301737359587708974611252447552525494364215040341427088003978924984336582978761510100979574378267692850680251410796840628503982387960470071324558642107148553862445184469588865026688021282047674668862899784473012736002851062843039939462075751761035051397908915888249922979029727029374378645830875519858517343669749497101626038153860897008687294607726275075973047780703191880395673283233622210706756537452774891280864472241856464580229693960024540247042391717550916680885136541512009305614253382207390341309913102830748673585299143572000034420785507548652607756440461564274374237306605713998539394840000236541652410964885890076785555274540250175678334342638571159924951455305264764285389081794782741360645714498837566605442004027436426275879325413217094736363158620048934136871702217370100689171879798760781839056790364158819497694737375572262324190077582723745278861295884982789169978403337591338771687923010657414921771564379023305248589750092669103636313403654101960065702382988039697627350134786820364146831627055510152974237530385898616811079448770164643475618828677739402931629605295426897399185092409833524882060357647048115920599242698014709694436861652797315203155406593311537407825893404938875596937192735621859581792236574349636189230173865812754366039024356321834700664950764008087349629266928926240056323713088052510530251654626414459705149577279885461864349021948894221072549901007294537626536679045951668485531079149501466132088471239924233671032608235098114305169100322045658298348376515556691640302818049237790673570152681514454932223433640093318855912168468884264248739541809237778672692412336574109544412237350245582135486081115097143495191393178921148465300684260841817294354865940115014806598653876657972642480159629905928799902355525175059220279537049870670391913365704557283379272065137011638942019917257626922356960959811156199553710440233270733201891337588851618501736752432386907640635450940644015045060911022836520494863135229169437837347621299468767394172793759627740755059948784861443783127441735750926163833828846135668022301245382056932566034304653254662130058830231075079282360664748503716006104899939883780007054123180216279850156031336555314897569738742162152352613789507880538346270292189888273018995284598005093265768961026015900255972982368421458242855522581408945099583266434517288709682722681456383305331735203136704791165828799548808002 305023271626847053364422130432012779627037511757878400236508874838161967730878292036769919664098286537467489291755285847662544320092564833044363351497951231451505349432390588123253803837717161989326366349440212093242532239919103993063411760588335033267221315124812314293067793373661528508047968206413623844117558803025796540173829959263518819646796029469878042605110589607118446329863071750435979825129921553686149947614403964538914621065325271255568425243942887395609237212041249091228020678154997796941073781079192599404954440287877349865813408483662084450120098431702126134014174201992023038557185247073491405182411796259485378878389084027116032726233504755592516978970531608767746189639584812675939475410065424182104792741877854221456168426412421790075708434258507827053905468036618072866922291089241610425290339127669525411661137341322210647306504816947338324183042644039453132121329210038953832121721657625910487378732085111886006416200195196434691668187417878938973732559341261848766893426303704848975986449198656732070588526625695082163543799258423303482762099850795325285997195292437541470896552866860287592077611983702096262467613504286622159627173505677401586449938167895011414889892760831710776869722001646934157021734147205690761431532487016378664815168166455581586994452146164996069252669664306325912957040955221322330615204924860405288020726735034262240982271894580542462120528299645192123135684444898369768876250059893825171744008365815983863129567464311460454405871178756729690068017368455820879528678223355335595813473634571829520750862665211446620848777708171596709784001106696514233268586367976586560045157792243817861118704579309901237423809736957270863826318833749526730109978223382272488947636920396330562773606911304256219276866205003941873982370825535958243131907909652145297049444726893662862347749117065171725725076441708432368924336152552255998556628267015035388453942040712798705893066907982107491257956892618045989684020175641820553651653589676496335319139884910535892246034471438999365184991238849733294392336061161195753650964643970571076212333819320792468218278543936032105488014609732140246451337726460551292520871658442895742566441161912677071010095509010004499341933128130324897060806719055878610983341604280487991083254743935215357371180535675975244129404275462050406786920195425120700973741548758025177499200074756664087083878953286138810369993107574507664407934374140120844546137688343484697020701022941892328156287635566836304018603612030540915296194562579720789573997060884094484132677437140644769508465024881805120635916624334305175453205551035722621723331720256789078492388802882757169811735962954966400963152935804933096229407136211492109714146599577744137594724286203159713147941150324947099395089150555682822357222542142832834432155888807017200645364129761939899954226800626015723587131062429497657837451597054248665580801339570853284599048583958034306360285915339210889225312284562891263106126801659815589774456680091338511347580289138230969324849407222657919776370487793977041921270747453842896110608572853896912554178408567142665363721502471957243757233333164042958424964201 493538020851929965596765686370313825743638173238662659050898640663178655238575647326063234831278609878747004794171806891185997222757205046639918705866727271754852888164459675427238932486166302580642785887542964493723919505138366527628088519189813806473278347687129185077965594850833633851506967816623275808854383597641216886911202129217645140858233773765665999609950400227283906556763337889079167623060068630943250783506947595365866187169637574898416535058591435513429546472784003192231082265364752065407763040825560235696931810014540044281655195802223011793065350624861573012663218840175541498143357595486134752974596221013874827281748663050316379880935044381393025107435283403581373565736844635144817588912588655339290165458114123852541413215305503091813068021967482438306353020562112437081962632516329614404215323464252504173171238320896588914999355497198749121023671148021841092591400534597595939270275520071094956967597111799907288463874864059334476141200153881790036575599280723924518654461355102757891874699121635761797617901004340913039063657775766973232259201476833479146894203979732149197171628839908068295269492379375379496089824211043159612402064786541873828306402748124705374914433007874102494420638682532070698533743452819944143638922828326291767645916840040880730566452180585781576801322272062766374521315329458628936329203464255245288257268387445227126872348680135817002370703977979534761706844369849825074141014345282906966526749726461698361967134069753464481842297454636055103285112104818979499577612360227037813183574323743709319511644504268236985007597205866334085356263430886591815992331646837882445027946962222221198710043350997824248081224658728835242849624082339276822779081859695676143049596986098713550813304538654391006097230351835568929492523799773488629030524720731594067214088202512491540087152048694777021151973840893524778757861034612613645604744187614278086468651735149660358690382111137514084569494300443939394622895772579013289273513171468732909668776074140709758058788837478023721506825939514684058400423410790462682577204700294284164264844349572447094632738249085609385373476474081162195345558799010452299815409284979574788518109647443756220511561641098475739266166799162933132158921024224978933028999902628864506639946384238033406608971209246127925643859207685484046880239051337289169858005797497566986736978747449076423657988497698376160615575243060588779505077869331514023467286153644168957862518317296758268271302442165490180676576254510700545202123362482076314749056281163631534003347829054010474065748404153870257647555566354222433080127907996682432879531273967229311763122004774094758663354464691718833350060576440384036873422181272403132550667094440879366764162123550781012616708544497740859022829905615631607218666325270274570183082052640846046781032152063185282011159366660320376841793192488327888912530879414913414084517345675753224482828591012157486576565765495242225780627182132630005268279154273605097654995026361630701235853308133515567329942672991618945792270743766959410342728990309365477519553672437163347071467118249865346820104807803692446893938124329871757973772203 798561292478777018961187816802326605370675684996541059287407515501340622969453939362833154495376896416214494085927092738848541542849769879684282057364678503206358237596850263550492736323883464569969152236983176586966451745057470520691500279778148839740499662811941499371033388224495162359554936023036899652971942400667013427085032088481163960505029803235544042215060989834402352886626409639515147448189990184629400731121351559904780808234962846153984960302534322909038783684825252283459102943519749862348836821904752835101886250302417394147468604285885096243185449056563699146677393042167564536700542842559626158157008017273360206160137747077432412607168549136985542086405815012349119755376429447820757064322654079521394958199991978073997581641717924881888776456225990265360258488598730509948884923605571224829505662591922029584832375662218799562305860314146087445206713792061294224712729744636549771391997177697005444346329196911793294880075059255769167809387571760729010308158621985773285547887658807606867861148320292493868206427630035995202607457034190276715021301327628804432891399272169690668068181706768355887347104363077475758557437715329781772029238292219275414756340916019716789804325768705813271290360684179004855555477600025634905070455315342670432461085006496462317560904326750777646053991936369092287478356284679951266944408389115650576277995122479489367854620574716359464491232277624726884842528814748194843017264405176732138270758092277682225096701534064924936248168633392784793353129473274800379106290583582373408997047958315538840262507169479683605856374914037930795140264537583106049260918014814469005073104754466039059828747930307725485505034395686106106675942916088803552889060083077948631997233906495044113586911449958647225374096556839510803474894625309446872162432630383739364263532929406154402434901165759948746877050282601957147682197187164869644161372454629313474922593775862459064583449019119621575827451193061985384306915948220833842925166761145229244987915959051245650304823308917023086691817178364417352792759471951658436228169344264855240477178168893239562851016793021641490861491083813302441796896525471003592336280943422470531084550809356433291521657150108480238608099927293258029219727743280857544012341506909352497723201128173248763980151744922103169773263483147534453667159246762409870831747346255592164236178822205740510741867450984514970985568350635096443913012243471634868013423841987653654883219340238650596427590077732326484695179866541241460498317925061797104323053342047726018136025266194655243574213429035675378283472190688527608533333459032405054602862994224018390255510807656851928475090427646685234313213512245317133102829317483895242264813694018623504358886409753940725764649694822687958417919056171314429575888867413107404615237941447863247426396281825125181965386167286336100428924254917825546749982476469162079665318685246606509081877174970191792936851680834453115005939466695521268374405955933420687429451706452969212583433597271746536654792080214276865568641231560936452263999737763208373630162245291060259625645526817008012183826310275649690651171457493914716398736404 1292099313330706984557953503172640431114313858235203718338306156164519278208029586688896389326655506294961498880098899630034538765606974926324200763231405774961211125761309938977731668810049767150611938124526141080690371250195837048319588798967962646213778010499070684448998983075328796211061903839660175461826325998308230313996234217698809101363263577001210041825011390061686259443389747528594315071250058815572651514628299155270646995404600421052401495361125758422468330157609255475690185208884501927756599862730313070798818060316957438429123800088108108036250799681425272159340611882343106034843900438045760911131604238287235033441886410127748792488103593518378567193841098415930493321113274082965574653235242734860685123658106101926538994857023427973701844478193472703666611509160842947030847556121900839233720986056174533758003613983115388477305215811344836566230384940083135317304130279234145710662272697768100401313926308711700583343949923315103643950587725642519046883757902709697804202349013910364759735847441928255665824328634376908241671114809957249947280502804462283579785603251901839865239810546676424182616596742452855254647261926372941384431303078761149243062743664144422164718758776579915765710999366711075554089221052845579048709378143668962200107001846537343048127356507336559222855314208431858661999671614138580203273611853370895864535263509924716494726969254852176466861936255604261646549373184598019917158278750459639104797507818739380587063835603818389418090466088028839896638241578093779878683902943809411222180622282059248159774151673747920590863972119904264880496527968469697865253249661652351450101051716688260258538791281305549733586259054414941349525566998428080375668141942773624775046830892593757664400215988613038231471326908675079732967418425082935501192957351115333431477621131918645942522053214454725768029024123495481926440058221777483289766116642243591561391245511012119423273831130257135660396945493505924778929811720799847132198679932613962154656692033191955408363612146395046808198643117879101411193182882742121118805374044559139404742022518465686657483755042107250876234967557894464637142455324481455892151690228402045319602660456800189512033218791206955977874266726456191161378648767505836477041341409538217004363147512411282170589122954168231095417122690833018500547398298099699040689753143753159150973157569654816934399855948682891131601143593695685223418090112803148891480709995631822612745737657535408864698892519897816665371756121051942005700441287543873419072109623211357552139373095248665717639961833189545635931027757042750041613461367029087487482394268191247702018632812430946687138444892338404067663274088685701169976251498756298374815480788459502871123048533304721738381358239320428817440748961786946036794555192683381974798319994088709294207428433888310463976545533946656477270717447406153435662513355884075493749836030922359733564705765982349279513417446329695340786566648828151273642685110207025785084446732814599913819286905405262103984734753205895811360911975327895862606728728072573851149715917728223606697112645066873359003931118079342137545109581823786474372508607 2090660605809484003519141319974967036484989543231744777625713671665859901177483526051729543822032402711175992966025992368883080308456744806008482820596084278167569363358160202528224405133933231720581090361509317667656822995253307569011089078746111485954277673311012183820032371299823958570616839862697075114798268398975243741081266306179973061868293380236754084040072379896088612330016157168109462519440049000202052245749650715175427803639563267206386455663660081331507113842434507759149288152404251790105436684635065905900704310619374832576592404373993204279436248737988971306018004924510670571544443280605387069288612255560595239602024157205181205095272142655364109280246913428279613076489703530786331717557896814382080081858098080000536576498741352855590620934419462969026869997759573456979732479727472064063226648648096563342835989645334188039611076125490924011437098732144429542016860023870695482054269875465105845660255505623493878224024982570872811759975297403248057191916524695471089750236672717971627596995762220749534030756264412903444278571844147526662301804132091088012677002524071530533307992253444780069963701105530331013204699641702723156460541370980424657819084580164138954523084545285729037001360050890080409644698652871213953779833459011632632568086853033805365688260834087336868909306144800950949478027898818531470218020242486546440813258632404205862581589829568535931353168533228988531391901999346214760175543155636371243068265911017062812160537137883314354338634721421624689991371051368580257790193527391784631177670240374787000036658843227604196720347033942195675636792506052803914514167676466820455174156471154299318367539211613275219091293450101047456201509914516883928557202025851573407044064799088801777987127438571685456845423465514590536442313050392382373355389981499072795741154061324800344956954380214674514906074406097439074122255408942352933927489096872905036313839286874578487857280149376757236224396686567910163236727669020680975123846693759191399644607992243201058668435455312069894890460296243518763985942354693779555033543388823994645219200687358926220334771835128892367096458641707767078939351849952459484487971171824515850687211266156622803554875941315436216482366653749449190598376510786694021053682916447569502086348640584530934569274699090334265190386173980552954214557544862108911521500490008751315209336391860557445141723399667406102586711944330781667331102356274783759494133837619476267628956997774059461126482597630143150066935987593183466198759212605670523395162965259083570275398361443320961214175262225221014214499947731277650146794826061492542085257262415266092274143620087798615613535319985089301976487600931018303079080816240193617080294482478126375481934943058662464146007934143116775858668017958260466370444060096489379413557935536572541633824715713435645941931701232992577699641702323978982412495832353237573415154716168966242646582940952541072450269127164148455792506115523672542017091066140446472513898439267569126402720502677008640639526833420172676929553206888832314870728465835782224779878163019283866322758171883881371187757428354991828196281039317701190771245011 3382759919140190988077094823147607467599303401466948495964019827830379179385513112740625933148687909006137491846124891998917619074063719732332683583827490053128780489119470141505956073943982998871193028486035458748347194245449144617330677877714074132168055683810082868269031354375152754781678743702357250576624594397283474055077500523878782163231556957237964125865083769957774871773405904696703777590690107815774703760377949870446074799044163688258787951024785839753975444000043763234839473361288753717862036547365378976699522370936332271005716204462101312315687048419414243465358616806853776606388343718651147980420216493847830273043910567332929997583375736173742676474088011844210106397602977613751906370793139549242765205516204181927075571355764780829292465412612935672693481506920416404010580035849372903296947634704271097100839603628449576516916291936835760577667483672227564859320990303104841192716542573233206246974181814335194461567974905885976455710563023045767104075674427405168893952585686628336387332843204149005199855084898789811685949686654104776609582306936553371592462605775973370398547802800121204252580297847983186267851961568075664540891844449741573900881828244308561119241843321865644802712359417601155963733919705716793002489211602680594832675088699571148413815617341423896091764620353232809611477699512957111673491632095857442305348522142328922357308559084420712398215104788833250177941275183944234677333821906096010347865773729756443399224372741701703772429100809450464586629612629462360136474096471201195853358292522434035159810810516975524787584319153846460556133320474522501779767417338119171905275208187842559576906330492918824952677552504515988805727076912944964304225343968625198182090895691682559442387343427184723688316750374189670269409731475475317874548347332614406227218775193243446287479007594669400282935098529592921000562313630719836223693605739116496597705084797886697911131111279633892896621342180073834942166539389820528107322526626373153554301300025435156467032047601707116703089103414122620175179125237435900673838917433383134049961223205824612877818526877236143243331426199602231716081807174433915376639661400226561170289871722956812315588094732522392194356633380205640351977025278292530498095024325985786506449496152995813105158397653258565360607508864813571454761955842961807952211253633761910466182493961515374379541579348350297234187855538026466890749192469077932650974843833251298880374694655309468325825375117527959815438692108645125471899200500149543942467272588470441122414771456691986678854137095414766650145527704774027691760256193090580029567651530606513794292776432518745302751980212323493369639761689616719473055332314996491991895775270937629246604983476363384202527366173463545593299416979745206503164999252779871354211877929625281835841253149601746109918477235179649054970359149730132418075009188237313067164990747091325976211288706934890351963686573493843796579072764351823815659776176347472257598345172082169040222007408082270744624261586626068488290465182216728177477457193908356075929594080747507473019870816950754730191688546434333965741390621141487665143753618 5473420524949674991596236143122574504084292944698693273589733499496239080562996638792355476970720311717313484812150884367800699382520464538341166404423574331296349852477630344034180479077916230591774118847544776416004017240702452186341766956460185618122333357121095052089063725674976713352295583565054325691422862796258717796158766830058755225099850337474718209905156149853863484103422061864813240110130156815976756006127600585621502602683726955465174406688445921085482557842478270993988761513693005507967473232000444882600226681555707103582308608836094516595123297157403214771376621731364447177932786999256535049708828749408425512645934724538111202678647878829106785754334925272489719474092681144538238088351036363624845287374302261927612147854506133684883086347032398641720351504679989860990312515576844967360174283352367660443675593273783764556527368062326684589104582404371994401337850326975536674770812448698312092634437319958688339791999888456849267470538320449015161267590952100639983702822359346308014929838966369754733885841163202715130228258498252303271884111068644459605139608300044900931855795053565984322543998953513517281056661209778387697352385820721998558700912824472700073764927867151373839713719468491236373378618358588006956269045061692227465243175552604953779503878175511232960673926498033760560955727411775643143709652338343988746161780774733128219890148913989248329568273322062238709333177183290449437509365061732381590934039640773506211384909879585018126767735530872089276620983680830940394264289998592980484535962762808822159847469360203128984304666187788656231770112980575305694281585014585992360449364658996858895273869704532100171768845954617036261928586827461848232782545994476771589134960490771361220374470865756409145162173839704260805852044525867700247903737314113479022959929254568246632435961974884074797841172935690360074684569039662189157621094835989401634018924084761276398988391429010650132845738866641745105403267058841209082446373320132344953945908017678357525700483057019186597979563710366138939165067592129680228872460822207128695180423893183539098153298712365035610427884841309998795021159024386374861127632572051077020977082989113435119142970673837828410839000033955089542575401789079224519148707242433356008535844793580344039727672352348899625797895038794124408976513387823916863732754123770661781391830353375931824683302748017703336774567482357248558080294825352716410468977670870775148003651653083527786951857715158102965505628096238308938097959712755214465862435553729524692690169818135307640068312357639987664360027652505305341907051019152072571652908793021779886566920052606543918365515532308582671616249290547737776134413131236685608976069753415755622086918419422046666673374107606662369158084997703466969535443312876360733625435865161854377475077865315181755860408936412641632670000852054111400487505020590550640580145463260292218857871647887431424413955700657992252371578879875496357676867242487918730112243611349738166624727910759279385263788420046241165220018389105560492348185659744138300709472243766791339342628988834636101379445974789325793937671660459188855914998629 8856180444089865979673330966270181971683596346165641769553753327326618259948509751532981410119408220723450976658275776366718318456584184270673849988251064384425130341597100485540136553021899229462967147333580235164351211486151596803672444834174259750290389040931177920358095080050129468133974327267411576268047457193542191851236267353937537388331407294712682335770239919811638355876827966561517017700820264631751459766505550456067577401727890643723962357713231760839458001842522034228828234874981759225829509779365823859299749052492039374588024813298195828910810345576817458236735238538218223784321130717907683030129045243256255785689845291871041200262023615002849462228422937116699825871695658758290144459144175912867610492890506443854687719210270914514175551759645334314413833011600406265000892551426217870657121918056638757544515196902233341073443659999162445166772066076599559260658840630080377867487355021931518339608619134293882801359974794342825723181101343494782265343265379505808877655408045974644402262682170518759933740926061992526816177945152357079881466418005197831197602214076018271330403597853687188575124296801496703548908622777854052238244230270463572459582741068781261193006771189017018642426078886092392337112538064304799958758256664372822297918264252176102193319495516935129052438546851266570172433426924732754817201284434201431051510302917062050577198707998409960727783378110895488887274452367234684114843186967828391938799813370529949610609282621286721899196836340322553863250596310293300530738386469794176337894255285242857319658279877178653771888985341635116787903433455097807474049002352705164265724572846839418472180200197450925124446398459133025067655663740406812537007889963101969771225856182453920662761814292941132833478924213893931075261776001343018122452084646727885250178704447811692919914969569553475080776271465283281075246882670382025381314700575105898231724008882647974310119502708644543029467081046715580047569806448661737189768899946505498508247208043113513992732530658726303301068667124488759114344192829565580902711378255590262745141647099008151975971825589601178853759311040912230511102966198820290237767293972277638191266954712070247434731065406360220605195633414160729894552427067371755017243731568419142514985340946576157144886070005607464986405403903607695863738469230785724815944007757532572247574324314891306204224882096368000570962423020383715448829487294430649061443821504122074028378346308392996112777232832686062780944320204883434409997160212904758408329708142199965815104941274827294318922449453054754314505555357279333033667307212242652601220560323628293680859696485125289221117495744632076041256010980164457249189745446233177600871845024353384868691901895785430869200740281070207962457501977448673472700442565656232087837313794787136213316331014916927865778886171592290687640360001784243818562514208827863707745136210351618195069160354822321776377642274151836048950651644227320173336643418835390987710588783431907206846735318841550129888050006672309653510483571322288669825642853652494376639066324514298812362499805785390831571134521223659759679062281600676521058752247 14329600969039540971269567109392756475767889290864335043143486826822857340511506390325336887090128532440764461470426660734519017839104648809015016392674638715721480194074730829574317032099815460054741266181125011580355228726854048990014211790634445368412722398052272972447158805725106181486269910832465901959470319989800909647395034183996292613431257632187400545675396069665501839980250028426330257810950421447728215772633151041689080004411617599189136764401677681924940559685000305222816996388674764733796983011366268741899975734047746478170333422134290345505933642734220673008111860269582670962253917717164218079837873992664681298335780016409152402940671493831956247982757862389189545345788339902828382547495212276492455780264808705782299867064777048199058638106677732956134184516280396125991205067003062838017296201409006417988190790176017105629971028061489129755876648480971553661996690957055914542258167470629830432243056454252571141151974682799674990651639663943797426610856331606448861358230405320952417192521136888514667626767225195241946406203650609383153350529073842290802741822376063172262259392907253172897668295755010220829965283987632439935596616091185571018283653893253961266771699056168392482139798354583628710491156422892806915027301726065049763161439804781055972823373692446362013112473349300330733389154336508397960910936772545419797672083691795178797088856912399209057351651432957727596607629550525133552352552029560773529733853011303455821994192500871740025964571871194643139871579991124240925002676468387156822430218048051679479505749237381782756193651529423773019673546435673113168330587367291156626173937505836277367454069901983025296215244413750061329584250567868660769790435957578741360360816673225281883136285158697541978641098053598191881113820527210718370355821960841364273138633702379939552350931544437549878617444400973641149931451710044214538935795411095299865742932967409250709107894137655193162312819913357325152973073507502946272215273266637843462193116060791871518433013715745489899048230834854898053509260421695261131583839077797391440322070992191691074125124301966214464187195882222229306124125223206665098894926544328715212244037701183682553874036080198049016034633448115819437127828856450979536392438810852498523521185740156501184613742357956364612203298942401820272714982618609641679676761881303234028966154668267238028908184844385703907736990502740964006909782119783365471912799174992849176381997961476523899729090547844165746449948301121743348095119925659972874192143695929490507795111092962601958990761810694741978865583009784638375574358231394725172873469116650073567426616537731833139483011276940658712872260270712195025324158577469863209847914777769140490778820315207477535874114388676870331615586975152140442235885878532592821462749659948990590791408880232109621639295108004932320310360853838355219050019229418414348325281673611910413927032002709753200791597974809828301322230524102816531013510661323309717822832394781645373471463229600829515151838426718550818730501960427849162173828513396632677348538568281090151705128794620026932950580496012985553616733942059865376973750876 23185781413129406950942898075662938447451485637029976812697240154149475600460016141858318297209536753164215438128702437101237336295688833079688866380925703100146610535671831315114453585121714689517708413514705246744706440213005645793686656624808705118703111438983450892805253885775235649620244238099877478227517777183343101498631301537933830001762664926900082881445635989477140195857077994987847275511770686079479675539138701497756657406139508242913099122114909442764398561527522339451645231263656523959626492790732092601199724786539785852758358235432486174416743988311038131244847098807800894746575048435071901109966919235920937084025625308280193603202695108834805710211180799505889371217483998661118527006639388189360066273155315149636987586275047962713234189866323067270548017527880802390992097618429280708674418119465645175532705987078250446703414688060651574922648714557571112922655531587136292409745522492561348771851675588546453942511949477142500713832741007438579691954121711112257739013638451295596819455203307407274601367693287187768762584148802966463034816947079040122000344036452081443592662990760940361472792592556506924378873906765486492173840846361649143477866394962035222459778470245185411124565877240676021047603694487197606873785558390437872061079704056957158166142869209381491065551020200566900905822581261241152778112221206746850849182386608857229374287564910809169785135029543853216483882081917759817667195738997389165468533666381833405432603475122158461925161408211517197003122176301417541455741062938181333160324473333294536799164029114560436528082636871058889807576979890770920642379589719996320891898510352675695839634270099433950420661642872883086397239914308275473306798325920680711131586672855679202545898099451638674812120022267492122956375596528553736492807906607569249523317338150191632472265901113991024959393715866256922225178334380426239920250495986201198097466941850057225019227396846299736191779900960072905200542879956164683461984173213143341970440324103905385511165544374471793200116897959343657167853453251260842034295217333387654185463718091199843050096949891567393317946506923134459817227091422026955336662220516606353403510992413253929988605101486558269621230266862276549331680255923822734553636170379271641038506526686732658329499812363563829598608702846009516136453451849395366495620769638835806276540478983158544233133066940753704478699413523124679455739269414214014533356620679114923204760344269869520012506323380530228527394268506005177758092280138564731282521851838129456322900052367789896277913211263749496293371138367063971409241665443637377774094029440278367248286313022857122360600507021572734754128271250876652274513904023703040810719759802122525359470722210992908405074854669747078294073088952600813914936328444188824909300063454736126804107739895149037487418181279597223007950720855622599037612533438246278056070417883963528608996192357532074977169240248961664350272882168330136704350154080158700705533421178213552580318198548442379645039888433390860472240985531750137831999471367049127053987604892795388964067628600405417764521715017236645313295796223660541898032503123 37515382382168947922212465185055694923219374927894311855840726980972332940971522532183655184299665285604979899599129097835756354134793481888703882773600341815868090729746562144688770617221530149572449679695830258325061668939859694783700868415443150487115833837035723865252412691500341831106514148932343380186988097173144011146026335721930122615193922559087483427121032059142642035837328023414177533322721107527207891311771852539445737410551125842102235886516587124689339121212522644674462227652331288693423475802098361343099700520587532330928691657566776519922677631045258804252958959077383565708828966152236119189804793228585618382361405324689346006143366602666761958193938661895078916563272338563946909554134600465852522053420123855419287453339825010912292827973000800226682202044161198516983302685432343546691714320874651593520896777254267552333385716122140704678525363038542666584652222544192206952003689963191179204094732042799025083663924159942175704484380671382377118564978042718706600371868856616549236647724444295789268994460512383010708990352453575846188167476152882412803085858828144615854922383668193534370460888311517145208839190753118932109437462452834714496150048855289183726550169301353803606705675595259649758094850910090413788812860116502921824241143861738214138966242901827853078663493549867231639211735597749550739023157979292270646854470300652408171376421823208378842486680976810944080489711468284951219548291026949938998267519393136861254597667623030201951125980082711840142993756292541782380743739406568489982754691381346216278669778351942219284276288400482662827250526326444033810710177087287477518072447858511973207088340001416975716876887286633147726824164876144134076588761878259452491947489528904484429034384610336216790761120321090314837489417055764454863163728568410613796455971852571572024616832658428574838011160267230563375109786090470454459186291397296497963209874817466475728335290983954929354092720873430230353515953463667629734199446479781185432633440164697257029598558090217283099165128794198555221362713672956103165879056411185045625785789083391534124222074193533607782133702805356689123351216645233620435557147060935068615755030114437612542479137566756318637264900310392368768808084780273714090028609190124139562027712426889159514113554721520194210812001788411336409168434468005008175297531520139040305506633651425782262041251785139408386436404025865643462649051533997380005269419854107772381142342231346043912235413928374394273844216807126921106187400064224704156713995534058946830695163460752498236903973074444238272236721376848609784816023675032102946967498556928440815712929560588955500083518298513393467000531521588847299838062601172904020567674579891665850249542526200385940948969058423948625688675927752954357172214322721417730762813114685117394899148775381147109057476387602155328261081709460954256662552667664692404395699557575439022923224360241828177960838223771492651595112692432953235363664741482010423356253572995197953789661778043209160191726860109411290971487492177986994173299880445759731336143461076479115772757395025444697472295513249630866912530165720407275006253999 60701163795298354873155363260718633370670860564924288668537967135121808541431538674041973481509202038769195337727831534936993690430482314968392749154526044916014701265418393459803224202343244839090158093210535505069768109152865340577387525040251855605818945276019174758057666577275577480726758387032220858414505874356487112644657637259863952616956587485987566308566668048619782231694406018402024808834491793606687566850910554037202394816690634085015335008631496567453737682740044984126107458915987812653049968592830453944299425307127318183687049892999262694339421619356296935497806057885184460455404014587308020299771712464506555466387030632969539609346061711501567668405119461400968287780756337225065436560773988655212588326575439005056275039614872973625527017839323867497230219572042000907975400303861624255366132440340296769053602764332517999036800404182792279601174077596113779507307754131328499361749212455752527975946407631345479026175873637084676418317121678820956810519099753830964339385507307912146056102927751703063870362153799570779471574501256542309222984423231922534803429895280226059447585374429133895843253480868024069587713097518605424283278308814483857974016443817324406186328639546539214731271552835935670805698545397288020662598418506940793885320847918695372305109112111209344144214513750434132545034316858990703517135379186039121496036856909509637545663986734017548627621710520664160564371793386044768886744030024339104466801185774970266687201142745188663876287388294229037146115932593959323836484802344749823143079164714640753077833807466502655812358925271541552634827506217214954453089766807283798409970958211187669046722610100850926137538530159516234124064079184419607383387087798940163623534162384583686974932484061974891602881142588582437793865013584318191355971635175979863319773310002763204496882733772419599797404876133487485600288120470896694379436787383497696060676816667523700747562687830254665545872621833503135554058833419832313196183619692924527403073764268602642540764102464689076299282026753542212389216166924216945200174273744572699811249507174591377174319024085101001100080209728491148940578308067260575772219367577541422019266022527691542531084239053314588258495167172668918100488340704096448643664779569395780600534239113621817843613367085084023809420704634420852545621886317400374670918301158974846582047112634584326495174318725893112865135817548990322918388320948211394538626040533222695585902686501215563924741737308904622801238485313132098864279680202789435439235847372188403153595215828542394514817184338193734565607859743912581194057689118669480721061527997206808063999242583446077860684025320086128221128802772465499574351966624875944831287434382014191209720264737193294346023823728171026919761764880353768272108542766910242640062876569421244199006888670530184596475657667199378336211802565083553294275086105910970460466117441538967631919416717773903155130078472733157001867994860763089939713818821640711128889674751208750534107860326485588805231615293500271763212473023928124826172771247494886785323748353871868079840385995430862461994010530486276180208326389380949173038757122 98216546177467302795367828445774328293890235492818600524378694116094141482403061206225628665808867324374175237326960632772750044565275796857096631928126386731882791995164955604491994819564774988662607772906365763394829778092725035361088393455695006092934779113054898623310079268775919311833272535964564238601493971529631123790683972981794075232150510045075049735687700107762424267531734041816202342157212901133895458162682406576648132227241759927117570895148083692143076803952567628800569686568319101346473444394928815287399125827714850514615741550566039214262099250401555739750765016962568026164232980739544139489576505693092173848748435957658885615489428314168329626599058123296047204344028675789012346114908589121065110379995562860475562492954697984537819845812324667723912421616203199424958702989293967802057846761214948362574499541586785551370186120304932984279699440634656446091959976675520706313752902418943707180041139674144504109839797797026852122801502350203333929084077796549670939757376164528695292750652195998853139356614311953790180564853710118155411151899384804947606515754108370675302507758097327430213714369179541214796552288271724356392715771267318572470166492672613589912878808847893018337977228431195320563793396307378434451411278623443715709561991780433586444075355013037197222878007300301364184246052456740254256158537165331392142891327210162045717040408557225927470108391497475104644861504854329720106292321051289043465068705168107127941798810368218865827413368376940877289109688886501106217228541751318313125833856095986969356503585818444875096635213672024215462078032543658988263799943894571275928043406069699642253810950102267901854415417446149381850888244060563741459975849677199616115481651913488171403966868672311108393642262909672752631354430640082646219135363744390477116229281855334776521499566430848174635416036400718048975397906561367148838623078780794194023886691484990176475897978814209594899965342706933365907574786883499942930383066172705712835707204433299899570362660554906359398447155547740767610578880597173048366053330155757745437035296257982911298541098278634608882213912533847838063929524712494196207776514638476490635021052642129155073563376620070906895760067483061286869296425484370162733693388759519920162561951540510977357726921806604218020232706422832188954790320785405382846215832679113886887553746286010108757215570511032521251572221574855966381037372482208774543895460387330467967045028732561607836977151237279017075082702120259019970467080267014139595949842906247349984290379289294892751721157412637972837844581120761190978873712793701583668029026554135248879712172144035033360767543618599521688129334294054346874190029226048848851855108961905857059969807263393680286972792786594975545450440808106722629280757089631660370825689684106361593906037445911331705533134054801533664472884274544507550937638773575662864861816999114406654842641078015731333090916696504649653463107553196043175077483563122721552245928324203948487897522104528797965423342153609683054183960516106111820346071127940646516659891814948347195613143390456307159466306043735907047120856555101356448045011121 158917709972765657668523191706492961664561096057742889192916661251215950023834599880267602147318069363143370575054792167709743734995758111825489381082652431647897493260583349064295219021908019827752765866116901268464597887245590375938475918495946861698753724389074073381367745846051496792560030922996785097015999845886118236435341610241658027849107097531062616044254368156382206499226140060218227150991704694740583025013592960613850527043932394012132905903779580259596814486692612612926677145484306913999523412987759269231698551134842168698302791443565301908601520869757852675248571074847752486619636995326852159789348218157598729315135466590628425224835490025669897295004177584697015492124785013014077782675682577776277698706571001865531837532569570958163346863651648535221142641188245200332934103293155592057423979201555245131628102305919303550406986524487725263880873518230770225599267730806849205675502114874696235155987547305489983136015671434111528541118624029024290739603177550380635279142883472440841348853579947701917009718768111524569652139354966660464634136322616727482409945649388596734750093132526461326056967850047565284384265385790329780675994080081802430444182936489937996099207448394432233069248781267130991369491941704666455114009697130384509594882839699128958749184467124246541367092521050735496729280369315730957773293916351370513638928184119671683262704395291243476097730102018139265209233298240374488993036351075628147931869890943077394628999953113407529703700756671169914435225621480460430053713344096068136268913020810627722434337393284947530908994138943565768096905538760873942716889710701855074338014364280887311300533560203118827991953947605665615974952323244983348843362937476139779739015814298071858378899352734285999996523405498255190425219444224400837575106998920370340436002591858097981018382300203267774432820912534205534575686027032263843218059866164291890084563508152513877223460666644464260445837964540436501461633620303332256126566685865630240238780968701902542111126763019595435697729182301282979999795047521389993566227603900330445248284803432574288472860122363735609982294122262338987004507832779754771979995882216017912654287075169820697604647615673385495154255234655730204969784766188466611377358168328915700763096190654132795201340288891688241829653411057253041500412207102805757517134133838088733469600858920594435252389889236925634116708039123846289299425693430420169082521500920553163552947715233777171761718888546183639876321187433391118834746760469803575035185690278435753137885595117837287266538341750831707403452440864673772172931401912371064389090554551342056943711414727481111221451568938685649909258137066519846448541995850924793683142543343920048269690072000586974632996616514766002465212205688460490901389299856541903010888566253527605792912926116441516302008791722000912000684686839628060845212724879486633325327934440653374286762057795789634488220995169237806655331102413959133114791302384763432681135603075412699022005382431014386770654957447109954817396433540034236646518842375435533301983640168820215275453529385887169621460316574222183227329182944482305621083768243 257134256150232960463891020152267289958451331550561489717295355367310091506237661086493230813126936687517545812381752800482493779561033908682586013010778818379780285255748304668787213841472794816415373639023267031859427665338315411299564311951641867791688503502128972004677825114827416104393303458961349335617493817415749360226025583223452103081257607576137665779942068264144630766757874102034429493148917595874478483176275367190498659271174153939250476798927663951739891290645180241727246832052626015345996857382688084519097676962557019212918532994131341122863620120159408414999336091810320512783869976066396299278924723850690903163883902548287310840324918339838226921603235707993062696468813688803090128790591166897342809086566564726007400025524268942701166709463973202945055062804448399757892806282449559859481825962770193494202601847506089101777172644792658248160572958865426671691227707482369911989255017293639942336028686979634487245855469231138380663920126379227624668687255346930306218900259636969536641604232143700770149075382423478359832704208676778620045288222001532430016461403496967410052600890623788756270682219227106499180817674062054137068709851349121002914349429162551586012086257242325251407226009698326311933285338012044889565420975753828225304444831479562545193259822137283738589970528351036860913526421772471212029452453516701905781819511329833728979744803848469403567838493515614369854094803094704209099328672126917191396938596111184522570798763481626395531114125048110791724335310366961536270941885847386449394746876906614691790840979103392406005629352615589983558983571304532930980689654596426350266057770350586953554344510305386729846369365051814997825840567305547090303338787153339395854497466211560029782866221406597108390165668407927943056573874864483483794242362664760817552231873713432757539881866634115949068236948934923583551083933593630992056682944945086084108450199637504053699358645458673855345803307247369867369208407186832199056949752038335953074488173135202441681489423574501795096176337849023747610373928118563041932280934056088190685320099690557199771401220642370218864508034796186825068437357492248968187772396854494403289308127811949852678210992293456402050015302138791491839081191672836774111051557088435620925658142194643772559067210698292459849886117480085230455202527888211140363349966517202620357154605206604544009605459747958155368280260698702255680463065912628943626416961307883631519992743966338779598696039783462656951403889553650138805213840736817714631135533184683103122175974407132180018259499163469680241297021985434963151805114706072648057119581105477305823423586871516144582219112557285171597387471360574193322732025076973642534997652305825905329659879263980654919969409301360978010662646496567213530670056946173563381714255937633967386818963562352848007541925776802445665157571114172568396150363653062296190189751439767780941604698873805365821311911865742456308794209967155176289868785947886154233381531399616647509902904535543184736078299600719637871580394056140348466864913503376179818643531983768562471066672776343476780926622617958090274450039499583662069128779364 416051966122998618132414211858760251623012427608304378910212016618526041530072260966760832960445006050660916387436544968192237514556792020508075394093431250027677778516331653733082432863380814644168139505140168300324025552583905787238040230447588729490442227891203045386045570960878912896953334381958134432633493663301867596661367193465110130930364705107200281824196436420526837265984014162252656644140622290615061508189868327804349186315106547951383382702707244211336705777337792854653923977536932929345520270370447353750796228097399187911221324437696643031465140989917261090247907166658072999403506971393248459068272942008289632479019369138915736065160408365508124216607413292690078188593598701817167911466273744673620507793137566591539237558093839900864513573115621738166197703992693600090826909575605151916905805164325438625830704153425392652184159169280383512041446477096196897290495438289219117664757132168336177492016234285124470381871140665249909205038750408251915408290432897310941498043143109410377990457812091402687158794150535002929484843563643439084679424544618259912426407052885564144802694023150250082327650069274671783565083059852383917744703931430923433358532365652489582111293705636757484476474790965457303302777279716711344679430672884212734899327671178691503942444289261530279957063049401772357642806791088202169802746369868072419420747695449505412242449199139712879665568595533753635063328101335078698092365023202545339328808487054261917199798716595033925234814881719280706159560931847421966324655229943454585663659897717242414225178372388339936914623491559155751655889110065406873697579365298281424604072134631474264854878070508505557838323312657480613800792890550530439146701724629479175593513280509631888161765574140883108386689073906183133481793319088884321369349361585131157988234465571530738558264166837383723501057861469129118126769960625894835274742811109377974193013707790017930922819312103138115791641271787806368830842027490164455183516437903966193313269141837104983792616186594097230793905520150306727610168975639953035498508537956418635933604903123131488244261343006105828846802157058525812072945190272003740167768279070512315943595202981770550282858607966841897204270536794521696808865957861303385488409725417351321688754332848776567760407499589980701679539528537338271955614734991016897880484100355291353826755464127198979261995348984883789484988299822548544979888759343049112708938462228436795072940459200115951360414928329646296827725076987041257639960601206621289666321223463118856260061569524969467284797840914301387644749462850108735324736516618443712446210135656819362767135001598997255803670681495970821506645608427094039771274020927898436218140195649745953599349951264567629552966025816126980475874852185027704432059356802715466392602822191161573179731889678794364309550717498803357665842257953800629241363088532548929515517685880421155228366756669595000309532907034980262964125312381114309404660088332649586914517134475029346531908286966557571506733257047829592688976827596174585113383755878811713120627172152588777746520202162230646402386939192180273501779222444065967690212547607 673186222273231578596305232011027541581463759158865868627507371985836133036309922053254063773571942738178462199818297768674731294117825929190661407104210068407458063772079958401869646704853609460583513144163435332183453217922221198537604542399230597282130731393332017390723396075706329001346637840919483768250987480717616956887392776688562234011622312683337947604138504684671468032741888264287086137289539886489539991366143694994847845586280701890633859501634908163076597067982973096381170809589558944691517127753135438269893905059956207124139857431827984154328761110076669505247243258468393512187376947459644758347197665858980535642903271687203046905485326705346351138210649000683140885062412390620258040256864911570963316879704131317546637583618108843565680282579594941111252766797141999848719715858054711776387631127095632120033306000931481753961331814073041760202019435961623568981723145771589029654012149461976119828044921264758957627726609896388289868958876787479540076977688244241247716943402746379914632062044235103457307869532958481289317547772320217704724712766619792342442868456382531554855294913774038838598332288501778282745900733914438054813413782780044436272881794815041168123379962879082735883700800663783615236062617728756234244851648638040960203772502658254049135704111398814018547033577752809218556333212860673381832198823384774325202567206779339141222194002988182283233407089049368004917422904429782907191693695329462530725747083165446439770597480076660320765929006767391497883896242214383502595597115790841035058406774623857106016019351491732342920252844174745735214872681369939804678269019894707774870129904982061218409222580813892287684692677709295611626633457856077529450040511782818571448010746721191917944631795547480216776854742314111076538367193953367805163591724249891975540466339284963496098146033471499672569294810404052701677853894219525827331425756054464058301463907427521984622177957561811971137444579035176236200050434676996654240466189942302146387757314972307425474105610168599025890081857999330475220542903758516077430789472012506826618925002813688688015662563648476047711310191854712637141382547764252708355540675925006719232903330793720402961069600260298299254285838933313188647947149534140159599461282505786942614412475043420340319474710288273161529425646017423502410817262879228038243834066872493974183910069333803523271600808732841944853268560521250800660351825255678056335355423536320426592933203166454730959110968113108953779128966540691396445174441943439004297456756647801959382237543932101647303057340077771067886046484835543698476541631324516360503329716762296668590558588470513400385889794053255993104033079787668233094006046004872078753137847955571858929009830528548284472935435117487958486537498681594917962729413748889029774317078128795540566550853241147212317092643275605803330999829067973197637513452185611225705707437320188936169971455543400366130844818900722719272919522348269485694528874280535741147898665874645994041811191502100756242811556648549230560557221652314933580248669382187892939270704136357340217586874938574123183313561810138363776229261943649629759341326971 1089238188396230196728719443869787793204476186767170247537719388604362174566382183020014896734016948788839378587254842736866968808674617949698736801197641318435135842288411612134952079568234424104751652649303603632507478770506126985775644772846819326772572959284535062776768967036585241898299972222877618200884481144019484553548759970153672364941987017790538229428334941105198305298725902426539742781430162177104601499556012022799197031901387249842017242204342152374413302845320765951035094787126491874037037398123582792020690133157355395035361181869524627185793902099993930595495150425126466511590883918852893217415470607867270168121922640826118782970645735070854475354818062293373219073656011092437425951723138656244583824672841697909085875141711948744430193855695216679277450470789835599939546625433659863693293436291421070745864010154356874406145490983353425272243465913057820466272218584060808147318769281630312297320061155549883428009597750561638199073997627195731455485268121141552189214986545855790292622519856326506144466663683493484218802391335963656789404137311238052254869275509268095699657988936924288920925982357776450066310983793766821972558117714210967869631414160467530750234673668515840220360175591629240918538839897445467578924282321522253695103100173836945553078148400660344298504096627154581576199140003948875551634945193252846744623314902228844553464643202127895162898975684583121639980751005764861605284058718532007870054555570219708356970396196671694246000743888486672204043457174061805468920252345734295620722066672341099520241197723880072279834876335733901486870761791435346678375848385192989199474202039613535483264100651322397845523015990366776225427426348406607968596742236412297747041524027230823806106397369688363325163543816220294210020160513042252126532941085835023133528700804856494234656410200308883396070352671873181819804623854845420662606168567163842032494477615217539915544997269664950086929085850822982605030892462167161109423982627846268339701026456809412409266721796762696256683987378149637202830711879398469112929298009968925462552529905936820176259923906654581876558112348913238449214327738036256448523308954995519035176498533775490953243928208227140196458556375727834885456813107395443545087871007923138264303166807892196908079882209878253863208965174554761774366431997870244936124318167227785328010665533461002502533596157717725734338256860343799345640240584598727169044293885764757221665873662366570682319525896442755250606854043527732654085135043150060293963777980110920815642299113457071114587855180992072455530795947685652433801278147942960072949539852419116031357693590069510656189560475549226814610678688214762272865280066932770514971278043605317812528359781793115914025901460933614938962412350866622622394788770551604496166919900319957113746282742919941576626643360774409160996842087021773826878876540718160155221225123200610091398338212212995366440377725935702982237044834729383795099188962613185328062415800349675340573719478468658327749544813696378823249534049248489518693632425260999606059897876288946117964107077100804769585700501002318637278008484387715597449553874578 1762424410669461775325024675880815334785939945926036116165226760590198307602692105073268960507588891527017840787073140505541700102792443878889398208301851386842593906060491570536821726273088033565335165793467038964690931988428348184313249315246049924054703690677867080167492363112291570899646610063797101969135468624737101510436152746842234598953609330473876177032473445789869773331467790690826828918719702063594141490922155717794044877487667951732651101705977060537489899913303739047416265596716050818728554525876718230290584038217311602159501039301352611340122663210070600100742393683594860023778260866312537975762668273726250703764825912513321829876131061776200826493028711294056359958718423483057683991980003567815547141552545829226632512725330057587995874138274811620388703237586977599788266341291714575469681067418516702865897316155288356160106822797426467032445485349019444035253941729832397176972781431092288417148106076814642385637324360458026488942956503983210995562245809385793436931929948602170207254581900561609601774533216451965508119939108283874494128850077857844597312143965650627254513283850698327759524314646278228349056884527681260027371531496991012305904295955282571918358053631394922956243876392293024533774902515174223813169133970160294655306872676495199602213852512059158317051130204907390794755473216809548933467144016637621069825882109008183694686837205116077446132382773632489644898173910194644512475752413861470400780302653385154796740993676748354566766672895254063701927353416276188971515849461525136655780473446964956626257217075371804622755129179908647222085634472805286483054117405087696974344331944595596701673323232136290133207708668076071837054059806262685498046782748195116318489534773952015724051029165235843541940398558534405286558527706995619931696532810084915109069167144141457730754556233780383068639647482277234521482477749064946489937594323218306090795941522645061900167175227226762058066530429858158841230942896844157763664448817788570486088783771781719834740827406931295282574069236148967678051254783156985190360087481981432289171454908750508864275586470303057924269422540767951086355710285800509156878849630920525754409401864569211356204997808487438495712842214661148074104760256929583704687332290428925206917579282935617248399356920166527024738390820572185276777249260749472974368152234100279302194575602794806025805196966450567679191525420865050146300592409854405225379649309301077648258806865533025413278636864555864204385983010068424050530309485093499298261234736758722775024536657389172761890912521069843523416842432521196132277819779267476433452869569181412699948252178540024056575450269602482807714711768002430505959286112937642593724415891560889671457369612321664198498836896051102897448949849548217540357518184300493525941236978448752654312833596161088788943736004050014964327841916089747024516389992903771380926932560520799027568309667756395732571222544836425701509964357077653280793717836893721069210314466224321334615530669970759083992356370344928053810091270900804452273881094643187498999168580425303458181693952039378892769014062812457001054237746331365227208895201549 2851662599065691972053744119750603127990416132693206363702946149194560482169074288093283857241605840315857219374327983242408668911467061828588135009499492705277729748348903182671773805841322457670086818442770642597198410758934475170088894088092869250827276649962402142944261330148876812797946582286674720170019949768756586063984912716995906963895596348264414406460808386895068078630193693117366571700149864240698742990478167740593241909389055201574668343910319212911903202758624504998451360383842542692765591924000301022311274171374666997194862221170877238525916565310064530696237544108721326535369144785165431193178138881593520871886748553339440612846776796847055301847846773587429579032374434575495109943703142224060130966225387527135718387867042006332426067993970028299666153708376813199727812966725374439162974503709937773611761326309645230566252313780779892304688951262077264501526160313893205324291550712722600714468167232364525813646922111019664688016954131178942451047513930527345626146916494457960499877101756888115746241196899945449726922330444247531283532987389095896852181419474918722954171272787622616680450297004054678415367868321448081999929649211201980175535710115750102668592727299910763176604051983922265452313742412619691392093416291682548350409972850332145155292000912719502615555226832061972370954613220758424485102089209890467814449197011237028248151480407243972609031358458215611284878924915959506117759811132393478270834858223604863153711389873420048812767416783740735905970810590337994440436101807259432276502540119306056146498414799251876902590005515642548708956396264240633161429965790280686173818533984209132184937423883458687978730724658442848062481486154669293466643524984607414065531058801182839530157426534924206867103942374754699496578688220037872058229473895919938242597867948997951965410966434089266464710000154150416341287101603910367152543762890382148123290419137862601815712172496891712144995616280681141446261835359011318873088431445634838825789810228591132244007549203693991539258056614298604880881966662555454303289385491950357751723984814687329040535510376957639800827534889681189535570038023836765605402158585916044789585900398344702309448926016714578692171398590388982959561573364325027249775203298352063471220746090827814156479239130044780887947355995126947051143681258619717910492470401328064630205241136255808528338793124168293413529782281208849491940832994453132394423943195065834869924680527899596095598162760998619454992837053596156704615444528243559592225012716869643590666835770846243876478767702061915978947638380206848566079097927210436506402409421600528731305945768609534712765010745151709622325390456217192778824566179870413108695693935166207483985729394114780112524738356984717836411362200414840162752306954852098022108156878768709768059116339081030365570379364824424125324684003111520851395266533621931536148157683721409118966647879969391099011600270772128683747009191807037075892906799506906397272730266573996675189250148439417411741901184041306877059625320149293970967513519904187105059066456714249576145801029140183662354714563814775638332246230719080824658449076127 4614087009735153747378768795631418462776356078619242479868172909784758789771766393166552817749194731842875060161401123747950369014259505707477533217801344092120323654409394753208595532114410491235421984236237681561889342747362823354402143403338919174881980340640269223111753693261168383697593192350471822139155418393493687574421065463838141562849205678738290583493281832684937851961661483808193400618869566304292884481400323458387286786876723153307319445616296273449393102671928244045867625980558593511494146449877019252601858209591978599354363260472229849866039228520135130796979937792316186559147405651477969168940807155319771575651574465852762442722907858623256128340875484881485938991092858058552793935683145791875678107777933356362350900592372063920421942132244839920054856945963790799516079308017089014632655571128454476477658642464933586726359136578206359337134436611096708536780102043725602501264332143814889131616273309179168199284246471477691176959910635162153446609759739913139063078846443060130707131683657449725348015730116397415235042269552531405777661837466953741449493563440569350208684556638320944439974611650332906764424752849129342027301180708192992481440006071032674586950780931305686132847928376215289986088644927793915205262550261842843005716845526827344757505853424778660932606357036969363165710086437567973418569233226528088884275079120245211942838317612360050055163741231848100929777098826154150630235563546254948671615160876990017950452383550168403379534089678994799607898164006614183411951951268784568932283013566271012772755631874623681525345134695551195931042030737045919644484083195368383148162865928804728886610747115594978111938433326518919899535545960931978964690307732802530384020593575134855254208455700160050409044340933289104783137215927033491989926006706004853351667035093139409696165522667869649533349647636427650862769579352975313642481357213600454214086360660507663715879347724118474203062146710539300287492778255855476636752880263423409311878594000372852078748376610625286821832125850447572558933221445712439493649472973931790040895439723437837904811096847260697725096957430449140621925748309637274762281008216836570543995302262913913665653923825202017187884240805050131033666333621254610954462535588780988678138325373763431404878596050211307912685746815699132327920930519369190884860622635428343932399816739050614554143990090618861092721307702073899638241425404307537619803592504366912518183487393432621508876799625554483659378820063664580755145754013337058890486247453628366365691372428235416638369680223131759502364480812728044698356917706477912939855278990781941431254197947149558769340461014754192430040102224219623284783852292808055702420109826727097155443099006436444311023575253035820733860312049963057703109825139152591548049393857217462422371949935242119154514115368874439089652525919201267875911656526525702917075090244242208146534957547725786831582822815608554385256973548884690356686624636400627466483044732798318009804780818410176495734257554386234930869716591050098423241394614547374604058235037139553034327494981179562555123728626627232639386483977050446051867344277676 7465749608800845719432512915382021590766772211312448843571119058979319271940840681259836674990800572158732279535729106990359037925726567536065668227300836797398053402758297935880369337955732948905508802679008324159087753506297298524491037491431788425709256990602671366056015023410045196495539774637146542309175368162250273638405978180834048526744802027002704989954090219580005930591855176925559972319019430544991627471878491198980528696265778354881987789526615486361296305430552749044318986364401136204259738373877320274913132380966645596549225481643107088391955793830199661493217481901037513094516550436643400362118946036913292447538323019192203055569684655470311430188722258468915518023467292634047903879386288015935809074003320883498069288459414070252848010126214868219721010654340603999243892274742463453795630074838392250089419968774578817292611450358986251641823387873173973038306262357618807825555882856537489846084440541543694012931168582497355864976864766341095897657273670440484689225762937518091207008785414337841094256927016342864961964599996778937061194824856049638301674982915488073162855829425943561120424908654387585179792621170577424027230829919394972656975716186782777255543508231216449309451980360137555438402387340413606597355966553525391356126818377159489912797854337498163548161583869031335536664699658326397903671322436418556698724276131482240190989798019604022664195099690063712214656023742113656747995374678648426942450019100594881104163773423588452192301506462735535513868974596952177852388053076044001208785553685577068919254046673875558427935140211193744639998427001286552805914048985649069321981399913013861071548170999053666090669157984961767962017032115601272431333832717409944449551652376317694784365882235084257276148283308043804279715904147071364048155480601924791594264903042137361661576489101958915998059647790578067204056680956885680795025120103982602337376779798370265531591520221010186348057762991220441733754613614866795509841311709058248137668404228963984322755925814319278361090182464746177439815188108267893796938858465882147792619424538125166945346607224218337525924492320130330157495786333474040367683166802752615333581202661258615975102849841916595880055639395439113993227906985579638204237738887133052149359071464591245561357835180256088800633102810826079379064611777988908795353093036756408562605057875306423082482783214787154506251089983282749130182258398760670014227535699432747388108167921332217604474962386553103114371657117260737459761198541580618482711260170498009956358208199081660514848447925193675481312119192934893264436015633688349446257688412382470162560143715759093482105471759905902052365492680436816063608418472678468811115803761893304639428828400551224423548313610020538570271674250377897865862132094004689570157550735986172190431066274323149520084494733698863214977209922312788727306923060147634453223247927963617265501605427695177930594423086380683069003982740691727432579531435907533863755774999372314684994030966849593907476158738427541807929341911199392394208908134451561709117301493853802610473296010319746217478443190442008277718730207769526876525793353803 12079836618535999466811281711013440053543128289931691323439291968764078061712607074426389492739995304001607339697130230738309406939986073243543201445102180889518377057167692689088964870070143440140930786915246005720977096253660121878893180894770707600591237331242940589167768716671213580193132966987618364448330786555743961212827043644672190089594007705740995573447372052264943782553516660733753372937888996849284511953278814657367815483142501508189307235142911759810689408102480993090186612344959729715753884823754339527514990590558624195903588742115336938257995022350334792290197419693353699653663956088121369531059753192233064023189897485044965498292592514093567558529597743350401457014560150692600697815069433807811487181781254239860420189051786134173269952258459708139775867600304394798759971582759552468428285645966846726567078611239512404018970586937192610978957824484270681575086364401344410326820215000352378977700713850722862212215415053975047041936775401503249344267033410353623752304609380578221914140469071787566442272657132740280197006869549310342838856662323003379751168546356057423371540386064264505560399520304720491944217374019706766054532010627587965138415722257815451842494289162522135442299908736352845424491032268207521802618516815368234361843663903986834670303707762276824480767940906000698702374786095894371322240555662946645582999355251727452133828115631964072719358840921911813144433122568267807378230938224903375614065179977584899054616156973756855571835596141730335121767138603566361264340004344828570141068567251848081692009678548499239953280274906744940571040457738332472450398132181017452470144265841818589958158918114648644202607591311480687861552578076533251396024140450212474833572245951452550038574337935244307685192624241332909062853120074104856038081487307929644945931938135276771357742011769828565531409295427005718066826260309860994437506477317583056551463140458877929247470867945128660551119909701759742021247391870722272146594191972481657449546998229336836401504302424944565182922308315193749998748409553980333290588331439813937833514864261563004850157704071479035251021449750579470779421534643111315129964175019589185877576504924172529640756773667118613067939880200489245026894240606834249158700274475914040827497396838354676966236431230467396713318849626525211706985542297358099680213715672184752495004874614357037636626773305406015598972397685356648768423683803068207634031128203799659906291655314764839113351762012107586773750477180925318214906952554917677373197507624126376322049580627317077153218128148325434983676600005662937962792933340166262386112967403164411593814341662908652251445932774660094482405594904656439348392270765486524513535913588620401794871927406987668734571888863056359304131986300340955568971957233157281118206944593203634612803016209565268674598610102573302304629735841514056603218579586673337370298338172205825412036562975420964762177245901989237454260956289576417789266156072308161330238819732170632694798811785259770403210416292813776738799058502249490817450302748998936313175536530993355644800790991499308772602171817069240917105214184819972928393137631479 19545586227336845186243794626395461644309900501244140167010411027743397333653447755686226167730795876160339619232859337728668444865712640779608869672403017686916430459925990624969334208025876389046439589594254329880064849759957420403384218386202496026300494321845611955223783740081258776688672741624764906757506154717994234851233021825506238616338809732743700563401462271844949713145371837659313345256908427394276139425157305856348344179408279863071295024669527246171985713533033742134505598709360865920013623197631659802428122971525269792452814223758444026649950816180534453783414901594391212748180506524764769893178699229146356470728220504237168553862277169563878988718320001819316975038027443326648601694455721823747296255784575123358489477511200204426117962384674576359496878254644998798003863857502015922223915720805238976656498580014091221311582037296178862620781212357444654613392626758963218152376097856889868823785154392266556225146583636472402906913640167844345241924307080794108441530372318096313121149254486125407536529584149083145158971469546089279900051487179053018052843529271545496534396215490208066680824428959108077124009995190284190081762840546982937795391438444598229098037797393738584751751889096490400862893419608621128399974483368893625717970482281146324583101562099774988028929524775032034239039485754220769225911878099365202281723631383209692324817913651568095383553940611975525359089146310381464126226312903551802556515199078179780158779930397345307764137102604465870635636113200518539116728057420872571349854120937425150611263725222374798381215415117938685211038884739619025256312181166666521792125665754832451029707089113702310293276749296442455823569610192134523827357973167622419283123898327770244822940220170328564961340907549376713342569024221176220086236967909854436540196841177414133019318500871787481529468943217583785270882941266746675232531597421565658888839920257248194779062388166138846899177672692980183755002005485589067656435503681539905587215402458300820724260228239263843544012490779939927438563597662248227087527189905696085626134288799688171795504311295697372776945942070709800936917320976585355497647341822341801211157707585431145615859623509035208947995519595928359020122147592413887362938013363047092976856468302945922527594266410723485513951952437351291086050154075347008475566808708941161057609932489663460719109556520193170105223487668639397898605942201828877648258663903232407294399823236097056717826724398660689888122134298186055674668151096498295855908767794624386278407788826398737668066576073519110464988719198597831227228948973854611832370655815546881756374485378667745733551404534565996534771087585093255412000689238164993324651717350513706434300755807538893158120202473076897874403660550718853434834089327161970688364495329189806803234082483888418194683104836272165519606945763826845330525502646820971823521586100169442677538168403116142692771668988369920523264939030268145221845687508215695193994594731542947379792842752109364310686575031241318546728400413448883211659210883450498022292838024847158255274087001819054990080615007511249194823944392589499804918930985282 31625422845872844653055076337408901697853028791175831490449702996507475395366054830112615660470791180161946958929989568466977851805698714023152071117505198576434807517093683314058299078096019829187370376509500335601041946013617542282277399280973203626891731653088552544391552456752472356881805708612383271205836941273738196064060065470178428705932817438484696136848834324109893495698888498393066718194797424243560651378436120513716159662550781371260602259812439005982675121635514735224692211054320595635767508021385999329943113562083893988356402965873780964907945838530869246073612321287744912401844462612886139424238452421379420493918117989282134052154869683657446547247917745169718432052587594019249299509525155631558783437565829363218909666562986338599387914643134284499272745854949393596763835440261568390652201366772085703223577191253603625330552624233371473599739036841715336188478991160307628479196312857242247801485868242989418437361998690447449948850415569347594586191340491147732193834981698674535035289723557912973978802241281823425355978339095399622738908149502056397804012075627602919905936601554472572241223949263828569068227369209990956136294851174570902933807160702413680940532086556260720194051797832843246287384451876828650202593000184261860079814146185133159253405269862051812509697465681032732941414271850115140548152433762311847864722986634937144458646029283532168102912781533887338503522268878649271504457251128455178170580379055764679213396087371102163335972698746196205757403251804084900381068061765701141490922688189273232303273403770874038334495690024683625782079342477951497706710313347683974262269931596651040987866007228350954495884340607923143685122188268667775223382113617834894116696144279222794861514558105572872646533531790709622405422144295281076124318455217784081486128779312690904377060512641616047060878238644589503337709201576607669670038074739148715440303060716126124026533256111267507450297582394739925776249397356311339803029695654021563036762400687637657125764530664208408726934799095133677437312007216228560378115521345510023459649153061251176645662015367176408027967391821289271716338855619696670627611516841930987088734212509603675256616397176153822015935399796417604047016388199248136521638287838961133804353865141300599493830697641190882227270802063876502793035696372705108155780524381125913552614807104020498355736329825599185704195885353996046667029626004897085282289792107032067200691478550861895831178486410768276661872611479111373889575103651415973229106275418750762600457369453715814821284704221844545448665319204260769190021882314020874218483623218711293350188827041576397984997337309226091017176682489749694760392960003651517838187630939134108229172683214526561892692091336133257178535646851059809003806046560319251806571439922393441416037098693453686869281714938845467824236681605340901933744082233494309193819924272375268089574731378537107454948914890359157977525895319844563011111843580523856524233414463713580074591654537369134713896991324055095285527458915698374029109513632449434335468374555840513900074877993318363762682786824580490111929158577409472733312068616761 51171009073209689839298870963804363342162929292419971657460114024250872729019502585798841828201587056322286578162848906195646296671411354802760940789908216263351237977019673939027633286121896218233809966103754665481106795773574962685661617667175699653192225974934164499615336196833731133570478450237148177963343095991732430915293087295684667322271627171228396700250296595954843208844260336052380063451705851637836790803593426370064503841959061234331897284481966252154660835168548477359197809763681461555781131219017659132371236533609163780809217189632224991557896654711403699857027222882136125150024969137650909317417151650525776964646338493519302606017146853221325535966237746989035407090615037345897901203980877455306079693350404486577399144074186543025505877027808860858769624109594392394767699297763584312876117087577324679880075771267694846642134661529550336220520249199159990801871617919270846631572410714132116625271022635255974662508582326919852855764055737191939828115647571941840635365354016770848156438978044038381515331825430906570514949808641488902638959636681109415856855604899148416440332817044680638922048378222936646192237364400275146218057691721553840729198599147011910038569883949999304945803686929333647150277871485449778602567483553155485797784628466279483836506831961826800538626990456064767180453757604335909774064311861677050146446618018146836783463942935100263486466722145862863862611415189030735630683564032006980727095578133944459372176017768447471100109801350662076393039365004603439497796119186573712840776809126698382914537128993248836715711105142622310993118227217570522963022494514350496054395597351483492017573096342053264789161089904365599508691798460802299050740086785457313399820042606993039684454778275901437607874439340086335747991168516457296210555423127638518026325620490105037396379013513403528590347181862173288608592142843354344902569672160714374329142980973374318805595644277406354349475255087720109531251402841900407459465199335561468623977803145938477850024758903472252270947289875073604875875604878476787465642711251206109085783441860939348441166326662873780804913333891999072653256176596282026125258858664272788299891920095034820872476020685189030963930919392345963067138535791662023884576301202008226781210333444246522021424964051914367741222754501227793879085850448052116631347333090067074610224739593683959074845886345792355809419373022635444565635568206725962930548456010264474495091301786958952549005210809428966549994745777297429564243254747914269085015043213375148878865158280114552489351280295363655913654038402858600417250831287875486050854279034258175106563312420244143718548741843792087551947770074842950172393649241816511162839348289647814663473439022065455050812293809210155052939307401778662438640135887481222494935935251583248219271181177342105063964819775117633343843627369167747264269584880315281017341510372544710767112899781653250147720583878729078500790834350112708232957531088739551718228009195256527454384497289478499024583566355296413832255859329147257240768724515899932357761212580687672155348964995137418752763401832091739306753102969998972538230999602043 82796431919082534492353947301213265040015958083595803147909817020758348124385557415911457488672378236484233537092838474662624148477110068825913011907413414839786045494113357253085932364217916047421180342613255001082148741787192504967939016948148903280083957628022717044006888653586203490452284158849531449169180037265470626979353152765863096028204444609713092837099130920064736704543148834445446781646503275881397442182029546883780663504509842605592499544294405258137335956804063212583890020818002057191548639240403658462314350095693057769165620155506005956465842493242272945930639544169881037551869431750537048741655604071905197458564456482801436658172016536878772083214155492158753839143202631365147200713506033086864863130916233849796308810637172881624893791670943145358042369964543785991531534738025152703528318454349410383103652962521298471972687285762921809820259286040875326990350609079578475110768723571374364426756890878245393099870581017367302804614471306539534414306988063089572829200335715445383191728701601951355494134066712729995870928147736888525377867786183165813660867680526751336346269418599153211163272327486765215260464733610266102354352542896124743663005759849425590979101970506260025139855484762176893437662323362278428805160483737417345877598774651412643089912101823878613048324456137097500121868029454451050322216745623988898011169604653083981242109972218632431589379503679750202366133684067680007135140815160462158897675957189709138585572105139549634436082500096858282150442616808688339878864180952274854331699497315971615217810532764122875050206795167305936775197569695522020669732807862034470316665528948134533005439103570404219285045430512288743193813986729470074274122200403292207516516186886215834545969336381474310254407971130795958153413312811738372334873878345422599512454399802795941773439526155019575651225420506762791946301344419962014572607746899863089769446041689500442832128900388673861799772837482460035307500800198211747262494894989583031660740203833576134975789289567680660997882088970207282313187612094705347843758232596716132545432594922190525086828342030050188832880725713288344369595032215978696752870375506203775388626132604638496129092417861342852979866319188763567114154923990910160406214589040969360585564198585547121515255661693105249968493556565104296672121546820757224787127857471192988162839546697704457430582216171391541513615258376631491232665194211623048212838248117296541695782780337820848380183697220197243211867357256408803453818358399330242314121318632125911479322527733830367310635984517208201362319357607119369607272713601896360269337902252969468456752139461820541703546079153018178569124452564592644932786609245468029001026979228781922892646122236592016943504385145343412231474954252838471442446182447800474301507375173976689635308279870795791933246534713963101168080308974508649198013667113809590211161434644919978856687631160190357602669498769088236478316729669957271244069374669263408242461423658970107528976151826847633738480557679351509117783318244845631269878238148349366693229587136528186055423842988455782515446188656672229418682261547408445271543068218804 133967440992292224331652818265017628382178887376015774805369931045009220853405060001710299316873965292806520115255687380858270445148521423628673952697321631103137283471133031192113565650339812265654990308717009666563255537560767467653600634615324602933276183602956881543622224850419934624022762609086679627132523133257203057894646240061547763350476071780941489537349427516019579913387409170497826845098209127519234232985622973253845167346468903839924396828776371510291996791972611689943087830581683518747329770459421317594685586629302221549974837345138230948023739147953676645787666767052017162701894400888187958059072755722430974423210794976320739264189163390100097619180393239147789246233817668711045101917486910542170942824266638336373707954711359424650399668698752006216811994074138178386299234035788737016404435541926735062983728733788993318614821947292472146040779535240035317792222226998849321742341134285506481052027913513501367762379163344287155660378527043731474242422635635031413464565689732216231348167679645989737009465892143636566385877956378377428016827422864275229517723285425899752786602235643833850085320705709701861452702098010541248572410234617678584392204358996437501017671854456259330085659171691510540587940194847728207407727967290572831675383403117692126926418933785705413586951446593162267302321787058786960096281057485665948157616222671230818025573915153732695075846225825613066228745099256710742765824379192469139624771535323653597957748122907997105536192301447520358543481981813291779376660300138848567172476306442669998132347661757371711765917900309928247768315796913092543632755302376384966371061126299618025023012199912457484074206520416654342702505785190272373324862287188749520916336229493208874230424114657375747862282410470882293901404481328195668545429301473061117538780020292900979169818539668423104241572602368936080554893487263316359475177419060577464098589022662874761637724544666080216149248092570180144838752203040112154721960094325144500284718006979514612825814048471152913268829378845280887189063216973182135309400943847922241631216036783129873527994668692923969637794059605287417022851208812260722878129234170476563688518052699673317001568438546531883943797238581109530181293459782572184290790890242977587366774532029793643536680625745019617709716311066332090551207397268809341418475190561260062773064286291388416505428102517183897323034631399266935798300762418349011143386704127561016190874082124779800929188908029626209761862103033706233018061613147244511399136361845501060358187686013944919799987264812571857275973396009977970024523544889771846320192181287227643563315451882064685422094820996810266121072222639435595105180258487284540163866327518429737556119561258657471994316678954553567284414261654617133881086318335281696796443310425559937854579461048137896997211354489080734511923936343676396462283251994124871228502945017464689623800530941843607750390082647817314979107564020069979477026905758002959960689432854226634983360649116326132763064124034647922950039177573992888510646962664249299050990799717215858210772807983593201268209590488763968725435364517407417809774067820847 216763872911374758824006765566230893422194845459611577953279748065767568977790617417621756805546343529290753652348525855520894593625631492454586964604735045942923328965246388445199498014557728313076170651330264667645404279347959972621539651563473506213360141230979598587629113504006138114475046767936211076301703170522673684873999392827410859378680516390654582374448558436084316617930558004943273626744712403400631675167652520137625830850978746445516896373070776768429332748776674902526977851399685575938878409699824976056999936724995279319140457500644236904489581641195949591718306311221898200253763832638725006800728359794336171881775251459122175922361179926978869702394548731306543085377020300076192302630992943629035805955182872186170016765348532306275293460369695151574854364038681964377830768773813889719932753996276145446087381696310291790587509233055393955861038821280910644782572836078427796853109857856880845478784804391746760862249744361654458464992998350271008656729623698120986293766025447661614539896381247941092503599958856366562256806104115265953394695209047441043178590965952651089132871654242987061248593033196467076713166831620807350926762777513803328055210118845863091996773824962519355225514656453687434025602518210006636212888451027990177552982177769104770016331035609584026635275902730259767424189816513238010418497803109654846168785827324314799267683887372365126665225729505363268594878783324390749900965194352931298522447492513362736543320228047546739972274801544378640693924598621980119255524481091123421504175803758641613350158194521494586816124695477234184543513366608614564302488110238419436687726655247752558028451303482861703359251950928943085896319771919742447598984487592041728432852416379424708776393451038850058116690381601678252054817794139934040880303179818483717051234420095696920943258065823442679892798022875698872501194831683278374047785165960440553868035064352375204469853445054754077949020930052640180146253003238323901984454989314727531945458210813090747801603338038833574266711467815488169502250829067887483153159176444638374176648631705320398614823010722974158470674785318575761392446241028239419630999609676680339077144185304311813130660856407874736923663557769873097295448383773482344697005479283946947952338730615340765051936287438124867678209867631436387223328944089566566205603048032453050935903832989092873936010318688575438836649889775898427030965956629972059356224952244857557886656862462600649309372605249823452973729460290115036471879971546574753713257680477626971837510213747775287110623249329780058638292753617097339631796258491668206589530083540197112020067591343885227125640900149828444690196675204028240037966867732752569164893306747211660448765683495249488937821064099896979515889215907455605323532500783082171097950685599536627489887740918933688930457889203043835680004245318185045660296919107934461439664379662384668480488162102033965353059581416905551457424293690027250721096280427266368203150856513196742512336800943173766501544681713999432067822495818838519780525200812598665744220386853744044266196650972048983783655779145436198144117626064815863081317136039651 350731313903666983155659583831248521804373732835627352758649679110776789831195677419332056122420308822097273767604213236379165038774152916083260917302056677046060612436379419637313063664897540578731160960047274334208659816908727440275140286178798109146636324833936480131251338354426072738497809377022890703434226303779876742768645632888958622729156588171596071911797985952103896531317967175441100471842921530919865908153275493391470998197447650285441293201847148278721329540749286592470065681981369094686208180159246293651685523354297500869115294845782467852513320789149626237505973078273915362955658233526912964859801115516767146304986046435442915186550343317078967321574941970454332331610837968787237404548479854171206748779449510522543724720059891730925693129068447157791666358112820142764130002809602626736337189538202880509071110430099285109202331180347866101901818356520945962574795063077277118595450992142387326530812717905248128624628907705941614125371525394002482899152259333152399758331715179877845888064060893930829513065851000003128642684060493643381411522631911716272696314251378550841919473889886820911333913738906168938165868929631348599499173012131481912447414477842300593014445679418778685311173828145197974613542713057734843620616418318563009228365580886796896942749969395289440222227349323422034726511603572024970514778860595320794326402049995545617293257802526097821741071955330976334823623882581101492666789573545400438147219027837016334501068350955543845508467102991898999237406580435271898632184781229971988676652110201311611482505856278866298582042595787162432311829163521707107935243412614804403058787781547370583051463503395319187433458471345597428598825557110014820923846774780791249349188645872633583006817565696225805978972792072560545956222275468129709425732481291544834590014440388597900113076605491865784134370625244634953056088318946594733522962585021018017966624087015249966107577989720834294098269022622820324985005206278436056706415083639872032230176217792605360627417386509986487535540846660769056691314046041069618462560120292560615807864668488450272142817679415898128108468844923863178415297449840500142509128843847156902765662238003985130132229294954406620867460796350982627476741843556054528987796369526924535319113262645134408588616913183144485387926178697768477774536341358375907624078238593713113708968119280481290441438421205759336159684521175165362829266719048321070499611656372418574077530944587380450238561513279449662735591563323821269489941584693819265112394042323128032195697899761720206910610514142351915914266149627075309656319803381440052909722264827424755583383043225949912547735721146638710811268897843463835143147126220037109328759634265641398004885244753906960932137743054450546800303477562072739204618819118363867894393996025096565344467201967071585927669243692124570191928181661861442122580171102059332668167324679849358104288693043877573103449664064722866436531857710097230198123186185269328163840289367423377495697450059499899264608805748647355017861673392831408291172163476847964795211186570959902476969458955642185051865369634200166869552990582223280891091203860498 567495186815041741979666349397479415226568578295238930711929427176544358808986294836953812927966652351388027419952739091900059632399784408537847881906791722988983941401625808082512561679455268891807331611377539001854064096256687412896679937742271615359996466064916078718880451858432210852972856144959101779735929474302550427642645025716369482107837104562250654286246544388188213149248525180384374098587633934320497583320928013529096829048426396730958189574917925047150662289525961494997043533381054670625086589859071269708685460079292780188255752346426704757002902430345575829224279389495813563209422066165637971660529475311103318186761297894565091108911523244057837023969490701760875416987858268863429707179472797800242554734632382708713741485408424037200986589438142309366520722151502107141960771583416516456269943534479025955158492126409576899789840413403260057762857177801856607357367899155704915448560849999268172009597522296994889486878652067596072590364523744273491555881883031273386052097740627539460427960442141871922016665809856369690899490164608909334806217840959157315874905217331201931052345544129807972582506772102636014879035761252155950425935789645285240502624596688163685011219504381298040536688484598885408639145231267741479833504869346553186781347758655901666959081005004873466857503252053681802150701420085262980933276663704975640495187877319860416560941689898462948406297684836339603418502665905492242567754767898331736669666520350379071044388579003090585480741904536277639931331179057252017887709262321095410180827913959953224832664050800360885398167291264396616855342530130321672237731522853223839746514436795123141079914806878180890792710422274540514495145329029757268522831262372832977782041062252058291783211016735075864095663173674238798011040069608063750306035661110028551641248860484294821056334671315308464027168648120333825557283150629873107570747750981458571834659151367625170577431434775588372047289952675460505131258209516759958690870072954599564175634428605696108429020724548820061802252314476257226193564875108957101615719296737198989984513300193770670757640690138872286579143630242438939807743690868739562140128453523837241842806423308296943262890151362281357791124354120855724772190227329536873684801848810871483271451993260475173640553200621269353066136046329204864997865285447942473829681286626166164644871952269574164377448739894334774996334410951063789860232675678293129855836608617276131964187807049981099547934118529273115709321023613936305961821556240394018825651722800755004033208113509495494021233763472131974552558903244172649288116061873108259499252348367621867603450634569835139673376621296467155501465573047492075181113993952789678493652941012853058453650928249156449869958807154347526316192693469528344528151319901446038992344681624633192834354942886005274858127132895168405871932426980046487782877090209993794107831704342234026584776855145911538456509245481628417893956151400124480919219466612535696366991145880620120008034251002673665766153487462646787085684169211669928071697364289446630539431573424703946743166109927691168835521148779636365013670616647039143972408339900149 918226500718708725135325933228727937030942311130866283470579106287321148640181972256285869050386961173485301187556952328279224671173937324621108799208848400035044553838005227719825625344352809470538492571424813336062723913165414853171820223921069724506632790898852558850131790212858283591470665521981992483170155778082427170411290658605328104836993692733846726198044530340292109680566492355825474570430555465240363491474203506920567827245874047016399482776765073325871991830275248087467109215362423765311294770018317563360370983433590281057371047192209172609516223219495202066730252467769728926165080299692550936520330590827870464491747344330008006295461866561136804345544432672215207748598696237650667111727952651971449303514081893231257466205468315768126679718506589467158187080264322249906090774393019143192607133072681906464229602556508862008992171593751126159664675534322802569932162962232982034044011842141655498540410240202243018111507559773537686715736049138275974455034142364425785810429455807417306316024503035802751529731660856372819542174225102552716217740472870873588571219468709752772971819434016628883916420511008804953044904690883504549925108801776767152950039074530464278025665183800076725847862312744083383252687944325476323454121287665116196009713339542698563901830974400162907079730601377103836877213023657287951448055524300296434821589927315406033854199492424560770147369640167315938242126548486593735234544341443732174816885548187395405545456929958634430989209007528176639168737759492523916519894043551067398857480024161264836315169907079227183980209887051559049167171693652028780172974935468028242805302218342493724131378310273500078226168893620137943093970886139772089446678037153624227131229708124691874790028582431301670074635965746799343967262345076193459731768142401573386231263300872892721169411276807174248161539273364968778613371469576467841093710336002476589801283238382875136685009424496422666145558975298280830116263415795196015397285156594471596405810646398301469056438111058806549337793161137026282884878921150026720078279417029759605792377968682220942900458369554770414687612475166302118223041140709239704649257297370994144608468661312282073395119446316687978658585150471838352248932070885591402672598218337796018590565255905609582229170113804413838454062225026973342772401626806318381453759525219879278353840071550055454818887161100094111156018932126229152689499394726614200355448264989694706041718751637361549786495631808722778444912586937757575451763140934213283938045765123883036228906013271215700931844277614483890466825052871247958944435865254548312408974613195046623186833677795785052221112342443105866312734470890955910324261120172826787822412575278494456458536173003063410802096550208798073116496171031601083732770139019809906886738677649729758178822144853076860785796376587292976063860608641907929905457261312053126775999029022083384689065548189789111559958909546351284330488009110221711117342652797805024530831435248043497503731701062173565030762293211294142103545842604501336362869527766294595334642759995663849220135568883333353887386518413836531883223607229262424863499543760647 1485721687533750467114992282626207352257510889426105214182508533463865507449168267093239681978353613524873328607509691420179284303573721733158956681115640123024028495239631035802338187023808078362345824182802352337916788009422102266068500161663341339866629256963768637569012242071290494444443521666941094262906085252384977598053935684321697586944830797296097380484291074728480322829815017536209848669018189399560861074795131520449664656294300443747357672351682998373022654119801209582464152748743478435936381359877388833069056443512883061245626799538635877366519125649840777895954531857265542489374502365858188908180860066138973782678508642224573097404373389805194641369513923373976083165586554506514096818907425449771691858248714275939971207690876739805327666307944731776524707802415824357048051545976435659648877076607160932419388094682918438908782012007154386217427532712124659177289530861388686949492572692140923670550007762499237907598386211841133759306100572882549466010916025395699171862527196434956766743984945177674673546397470712742510441664389711462051023958313830030904446124686040954704024164978146436856498927283111440967923940452135660500351044591422052393452663671218627963036884688181374766384550797342968791891833175593217803287626157011669382791061098198600230860911979405036373937233853430785639027914443742550932381332188005272075316777804635266450415141182323023718553667325003655541660629214392085977802299109342063911486552068537774476589845508961725016469950912064454279100068938549775934407603305872162809038307938121218061147833957879588069378377178315955666022514223782350452410706458321252082551816655137616865211293117151680969018879315894678457589116215169529357969509299526457204913270770376750166573239599166377534170299139421038141978302414684257210037803803511601937872512161357187542225745948122482712188707921485302604170654620206340948664458086983935161635942389750500307262440859272011038192848927973741335247521625311955974088155229549071160581445075003997577485458835607626611140045475613283509078443796258983821693998713766958595776891268875991613658099059693642701266756105408741058030784831577979266789385750894831386451275084620579016658009597678969336449709504592694077021122298215128276357400067148667501862017249166084755869723314425683191520198271356178207770266912254260855283440811846045442998712023819629619196335900994428886152353343077292942549732070404907330211284873606970838005906558687342649334429750337995894154233610551693881413584697174607302763697487924638040262114126780711194953078041086615865019383956115420608232551927127656571908226961562668490790284312365620191894488963739573021814200043938447985505375114125616466316065516291347514912187101252219860672055357363145599432688864501129428260921458921255945879083359274362951013177087739082135643923509482461381935793035621954417688334351522046920883830733364317411273842403335700650016468155027979702224444160510346192036562119410340720897822581128663617511765952064847230796915780673940929189230011816171264434566892055741225874074333420367795963301678811024522722907667193472896896894223876301568835907883660796 2403948188252459192250318215854935289288453200556971497653087639751186656089350239349525551028740574698358629795066643748458508974747659057780065480324488523059073049077636263522163812368160887832884316754227165673979511922587517119240320385584411064373262047862621196419144032284148778035914187188923086746076241030467404768465226342927025691781824490029944106682335605068772432510381509892035323239448744864801224566269335027370232483540174490763757155128448071698894645950076457669931261964105902201247676129895706396429427426946473342302997846730845049976035348869335979962684784325035271415539582665550739844701190656966844247170255986554581103699835256366331445715058356046191290914185250744164763930635378101743141161762796169171228673896345055573454346026451321243682894882680146606954142320369454802841484209679842838883617697239427300917774183600905512377092208246447461747221693823621668983536584534282579169090418002701480925709893771614671446021836622020825440465950167760124957672956652242374073060009448213477425076129131569115329983838614814014767241698786700904493017344154750707476995984412163065740415347794120245920968845143019165050276153393198819546402702745749092241062549871981451492232413110087052175144521119918694126741747444676785578800774437741298794762742953805199281016964454807889475905127467399838883829387712305568510138367731950672484269340674747584488701036965170971479902755762878679713036843450785796086303437616725169882135302438920359447459159919592630918268806698042299850927497349423230207895787962282482897463003864958815253358587065367514715189685917434379232583681393789280325357118873480110589342671427425181047245048209514816400683087101309301447416187336680081432044500478501442041363268181597679204244935105167837485945564759760450669769571945913175324103775462230080263395157224929656960350247194850271382784026089782808789758168422986411751437225628133375443947450283768433704338407903272022165363785041107151989485440386143542756987255721402299046541896946666433160477838636750309791963322717409010541772278130796718201569269237558212556558557429248413115954368580575043176253825972287218971438643048265825531059743745932861090053129043995657315108294655064532429270054369100719679029998285486463520452582505071694338098893428230097029974260496383151550542668539060579236737200337065924721352552095369685074015223062094522997308372275203522095239231465131521530566733138596665544047625310324704199120925382146718672599146197489451456865347838108820586701743253048521076491020140051926895884922318701099755486209008986668567176987792382204884317201574757715113977117990161405244115601306182678888126934514829403895829636234298443254138478091569841971370723274255283271474151907571943672549185035532730511993691597941065852765822036924092709191999232592158996429719886069754357999653644263862347593791612834100047659829762386400795962907951525489761576427064574330986554932169620567903153904772208145745428654016376707115015497653127020795827678073885235071292775854420672600797436419822035821208717093416031645183437247694357876610294185607309428780117831105563993699407427421443 3889669875786209659365310498481142641545964089983076711835596173215052163538518506442765233007094188223231958402576335168637793278321380790939022161440128646083101544317267299324501999391968966195230140937029518011896299932009619385308820547247752404239891304826389833988156274355439272480357708855864181008982326282852382366519162027248723278726655287326041487166626679797252755340196527428245171908466934264362085641064466547819897139834474934511114827480131070071917300069877667252395414712849380637184057489773095229498483870459356403548624646269480927342554474519176757858639316182300813904914085031408928752882050723105818029848764628779154201104208646171526087084572279420167374079771805250678860749542803551514833020011510445111199881587221795378782012334396053020207602685095970964002193866345890462490361286287003771303005791922345739826556195608059898594519740958572120924511224685010355933029157226423502839640425765200718833308279983455805205327937194903374906476866193155824129535483848677330839803994393391152098622526602281857840425503004525476818265657100530935397463468840791662181020149390309502596914275077231686888892785595154825550627197984620871939855366416967720204099434560162826258616963907430020967036354295511911930029373601688454961591835535939899025623654933210235654954198308238675114933041911142389816210719900310840585455145536585938934684481857070608207254704290174627021563384977270765690839142560127859997789989685262944358725147947882084463929110831657085197368875636592075785335100655295393016934095900403700958610837822838403322736964243683470381212200141216729684994387852110532407908935528617727454553964544576862016263927525409494858272203316478830805385696636206538636957771248878192207936507780764056738415234244588875627923867174444707879807375749424777261976287623587267805620903173052139672538955116335573986954680709989149738422626509970346913073168017883875751209891143040444742531256831245763500611306666419107963573595615692613917568700796406296624027355782274059771617884112363593301041766513667994363466276844563676797346160506434204170216656488942055817221124685983784234284610803865198238228028799160656917511018830553440106711138641674626651558004159657226506291176667315847955387398352635131022314599754237779093968616742655780221494458767739329758312935451314840092020641148911970164351264119189314693211558963088951883460725618280815037788963535536428860778018012203636382053531869012046848455355132484714566753379808041145338278932535283427889465440740973159116753134266832638090838000359787715620505592965102089175409539719509861456225428536320383604767402302527025436010090269922251909941134558767851881335011348424059720454543607861189486282910375507503132146207264935089271981873900033859940254613056862321798644905396198455660205176320331241132073643395552215739935446679885816765282125964356146968543660495750718207236750354861190411592895219602310688779376330130914095190466891618486466326476597505370732527263605191868026624593854559176000482005866236843865232003311877777047082791426836399441146738926505382399333201852800782325677012054981865562535315311082239 6293618064038668851615628714336077930834417290540048209488683812966238819627868745792290784035834762921590588197642978917096302253069039848719087641764617169142174593394903562846665811760129854028114457691256683685875811854597136504549140932832163468613153352689011030407300306639588050516271896044787267755058567313319787134984388370175748970508479777355985593848962284866025187850578037320280495147915679129163310207333801575190129623374649425274871982608579141770811946019954124922326676676955282838431733619668801625927911297405829745851622493000325977318589823388512737821324100507336085320453667696959668597583241380072662277019020615333735304804043902537857532799630635466358664993957055994843624680178181653257974181774306614282428555483566850952236358360847374263890497567776117570956336186715345265331845495966846610186623489161773040744330379208965410971611949205019582671732918508632024916565741760706082008730843767902199759018173755070476651349773816924200346942816360915949087208440500919704912864003841604629523698655733850973170409341619339491585507355887231839890480812995542369658016133802472568337329622871351932809861630738173990600903351377819691486258069162716812445161984432144277750849377017517073142180875415430606056771121046365240540392609973681197820386397887015434935971162763046564590838169378542228700040107612616409095593513268536611418953822531818192695955741255345598501466140740149445403875986010913656084093427301988114240860450386802443911388270751249716115637682334634375636262598004718623224829883862686183856073841687797218576095551309050985096401886058651108917578069245899812733266054402097838043896635972002043063508975734924311258955290417788132252801883972886620069002271727379634249299775962361735942660169349756713113869431934205158549576947695337952586080063085817348069016060397981796632889202311185845369738706799771958528180794932956758664510393646017251195157341426808878446869664734517785665975091707526259953059036001836156674555956517808595670569252728940492932095722749113903093005089231077004905238554975360394998915429743992416726775213918190468933175493266558827410538436776152417209666671847426482448570762576486301196764267685670283966666298814721758935561231036416567634417396638121594542767182259309473432067510170885877251468719264122481308855603990375419328757841485977894885703816214558999767226782025183474880769097893484337133028195000667950391344751150800301926101157179336751047576280514631433239352526005530596795144280373392248476167183994021680193244154406884564986722922678488815375991801974088757742586527511892066340542630111078098718744520292688430680125691576104930798068069073597255777164647582722502974593021699431031457653633649762786403620359172507032944531058935566590452248304654803387651410727433122548369397175552923400128503363281621970097935100324149679112875917577190247016203490258137119003199658306386680173169322284176641675334308499751481998344371663826632211755130613882077847542761258318888822452271928444411071774781720657516466029439731699812868291508520252431086330176174199740275943496038408091754457129886087429556234722738503682 10183287939824878510980939212817220572380381380523124921324279986181290983166387252235056017042928951144822546600219314085734095531390420639658109803204745815225276137712170862171167811152098820223344598628286201697772111786606755889857961480079915872853044657515400864395456580995027322996629604900651448764040893596172169501503550397424472249235135064682027081015588964663277943190774564748525667056382613393525395848398268123010026763209124359785986810088710211842729246089831792174722091389804663475615791109441896855426395167865186149400247139269806904661144297907689495679963416689636899225367752728368597350465292103178480306867785244112889505908252548709383619884202914886526039073728861245522485429720985204772807201785817059393628437070788646331018370695243427284098100252872088534958530053061235727822206782253850381489629281084118780570886574817025309566131690163591703596244143193642380849594898987129584848371269533102918592326453738526281856677711011827575253419682554071773216743924349597035752667998234995781622321182336132831010834844623864968403773012987762775287944281836334031839036283192782070934243897948583619698754416333328816151530549362440563426113435579684532649261418992307104009466340924947094109217229710942517986800494648053695501984445509621096846010052820225670590925361071285239705771211289684618516250827512927249681048658805122550353638304388888800903210445545520225523029525717420211094715128571041516081883416987251058599585598334684528375317381582906801313006557971226451421597698660014016241763979763089884814684679510635621898832515552734455477614086199867838602572457098010345141174989930715565498450600516578905079772903260333806117227493734266963058187580609093158705960042976257826457236283743125792681075403594345588741793299108649866429384323444762729848056350709404615874636963571033936305428157427521419356693387509761108266603421442927105577583561663901126946367232569849323189400921565763549166586398373945367916632631617528770592124657314214892294596608511214552703713606861477496394046855744744999268704831819924071796261590250426620896991870407132524750396617952542611644823047580017615447894700646587139366081781407039741303475406327344910618224302974378985441852407703732415589804794990756725565081782013547252526036126913541657472963178031861811067168539441690259420778482634889865050055080333748314460438340988272426764229823511765152170817158536204379252122769163003938308154689048348797896031635647116147806105905813571742133423212908675676365632624734994839309997288673717203077560923038276530996497394939190846917996067231401927796768058647398482323511922595215456116135781846027182708009203632365107658499658931146562695047565307292220943936544025270289535766566437442122216512932835600450392502917711665709450055632829321004029602351873254641260577006677174185837870547004035495878158043541546393984747150753887837210436408661247870584762217503778952364113684829882396093534838555445118678081607211387448580070024863510756849076865783003587072256787586894360331261443043577589915374299947088830527476915100705122675276697891208874080134141941069295118770038049585921 16476906003863547362596567927153298503214798671063173130812963799147529802794255998027346801078763714066413134797862293002830397784459460488377197444969362984367450731107074425017833622912228674251459056319542885383647923641203892394407102412912079341466198010204411894802756887634615373512901500945438716519099460909491956636487938767600221219743614842038012674864551249529303131041352602068806162204298292522688706055732069698200156386583773785060858792697289353613541192109785917097048768066759946314047524729110698481354306465271015895251869632270132881979734121296202233501287517196972984545821420425328265948048533483251142583886805859446624810712296451247241152683833550352884704067685917240366110109899166858030781383560123673676056992554355497283254729056090801547988597820648206105914866239776580993154052278220696991676252770245891821315216954025990720537743639368611286267977061702274405766160640747835666857102113301005118351344627493596758508027484828751775600362498914987722303952364850516740665532002076600411146019838069983804181244186243204459989280368874994615178425094831876401497052416995254639271573520819935552508616047071502806752433900740260254912371504742401345094423403424451381760315717942464167251398105126373124043571615694418936042377055483302294666396450707241105526896523834331804296609380668226847216290935125543658776642172073659161772592126920706993599166186800865824024495666457569656498591114581955172165976844289239172840446048721486972286705652334156517428644240305860827057860296664732639466593863625776068670758521198432840474928066861785440574015972258518947520150526343910157874441044332813403542347236488580948143281878995258117376182784152055095310989464581979778774962314703637460706536059705487528623735572944102301855662731042855024978961271140100682434136413795221963943653023969015732938317359738707264726432094309533066794784216375883864242093955309918378141524573996658201636270586300281334832561490081471627869691667619364927266680613832023487965165861240155045635809329610591399487051944975822004173943386795284466795177019994419037623767084325322993683572111219101439055361484356170032657561372494013621814652543983526042500239674013015194584890601789100744377413638740148983224222191628878320107848964272856725958103637084427534724431897295984292376024143432065678749536324120867759935758896548307314227665123013455901644998921405249489303845353536872329643467520313804240234255846227685548943607916161747581045458431819102338928567493282067924841799808729016519503241443080601768064283845716765346372489196913279604660582594743293994137310688758476581042256442887903886796261473422132113506077272705962363435664306513869065669640587006723252401590177675033075939386925609949155161043991771167040844751222366469097101466360262443552398999527426178041389080369958796155935805647328185174991033961118736641000950641012024956213636066967634550757931539787955594039447993329633878091879210219271750889836737825269526427612786121829645671529137711447998144031569307551876797290882775277402783665808467341261613807091274904862951220193929616965834591271827156724675004760788089603 26660193943688425873577507139970519075595180051586298052137243785328820785960643250262402818121692665211235681398081607088564493315849881128035307248174108799592726868819245287189001434064327494474803654947829087081420035427810648284265063892991995214319242667719812759198213468629642696509531105846090165283140354505664126137991489165024693468978749906720039755880140214192581074232127166817331829260680905916214101904130337821210183149792898144846845602785999565456270438199617709271770859456564609789663315838552595336780701633136202044652116771539939786640878419203891729181250933886609883771189173153696863298513825586429622890754591103559514316620548999956624772568036465239410743141414778485888595539620152062803588585345940733069685429625144143614273099751334228832086698073520294640873396292837816720976259060474547373165882051330010601886103528843016030103875329532202989864221204895916786615755539734965251705473382834108036943671081232123040364705195840579350853782181469059495520696289200113776418200000311596192768341020406116635192079030867069428393053381862757390466369376668210433336088700188036710205817418768519172207370463404831622903964450102700818338484940322085877743684822416758485769782058867411261360615334837315642030372110342472631544361500992923391512406503527466776117821884905617044002380591957911465732541762638470908457690830878781712126230431309595794502376632346386049547525192174989867593306243152996688247860261276490231440031647056171500662023033917063318741650798277087278479457995324746655708357843388865953485443200709068462373760582414519896051630058458386786122722983441920503015616034263528969040797837005159853223054782255591923493410277886322058369177045191072937480922357679895287163772343448613321304810976538447890597456030151504891408345594584863412282192764504626579818289987540049669243745517166228684083125481819294175061387637818810969819677516973819505087891806566507524825671507866044883999147888455416995786324299236893697858805271146238380259762469751369598339522936472068895881098800720567003442648218615208538591438610244845658520758954732455518433968729171644050700184531936187648105456073140600761180734325390565783803715080340360105203114904763479729819266046443881398814026986619635045672930746286403978484139763997969192197395075327846103443192682873755938170314806755757624985813976882055628688103464001728328409228744917014641474662512073076708895590289476808178542410535276034346839639551808863728851564337632674081061990706190743601207432433464011358813238731754318971141844768755041877368986591852470451578578661974695921934078747405875063365768365483119342912397255268159296214086476338327471094163965445015628364688152314015473345526721700303365475153492047391277377556924606767491237254140078134806551521993091764556428601879299432682649657376635970341773676194332220670869192004660283034985697791765912793424072475628882421342693757291734546403561678159516274185414048774716869567918345036656975007682810985340402520606003494451585216288356894446237128552325818854992699040108414430092141284006375609985626496891820825839914725413768226019793774798837675524 43137099947551973236174075067123817578809978722649471182950207584476350588754899248289749619200456379277648816195943900091394891100309341616412504693143471783960177599926319712206835056976556168726262711267371972465067959069014540678672166305904074555785440677924224654000970356264258070022432606791528881802239815415156082774479427932624914688722364748758052430744691463721884205273479768886137991464979198438902807959862407519410339536376671929907704395483288919069811630309403626368819627523324556103710840567663293818135008098407217939903986403810072668620612540500093962682538451083582868317010593579025129246562359069680765474641396963006139127332845451203865925251870015592295447209100695726254705649519318920834369968906064406745742422179499640897527828807425030380075295894168500746788262532614397714130311338695244364842134821575902423201320482869006750641618968900814276132198266598191192381916180482800918562575496135113155295015708725719798872732680669331126454144680384047217824648654050630517083732002388196603914360858476100439373323217110273888382333750737752005644794471500086834833141117183291349477390939588454724715986510476334429656398350842961073250856445064487222838108225841209867530097776809875428612013439963688766073943726036891567586738556476225686178802954234707881644718408739948848298989972626138312948832697764014567234333002952440873898822558230302788101542819147251873572020858632559524091897357734951860413837105565729404280477695777658472948728686251219836170295038582948105537318291989479295174951707014642022156201721907501302848688649276305336625646030716905733642873509785830660890057078596342372583145073493740801366336661250850040869593062038377153680166509773052716255884672383532747870308403154100849928546549482550192453118761194359916387306865724964094716329178299848543761943011509065402182062876904935948809557576128827241856171854194694834061771472283737883229416380563165726461942094166326218831709378536888623656015966856258625125485884978261868224928330991524643975332266082660295368150745696389007616591605410493005386615630239264696144526039057778512117540840390745489755546016292357680763017445634614382995386869374091826303954754353375299788005506552580474196679685184030382038249178248513365780779710559260704442243401082396726921826972623830395819216826305821616919851130876625384921572873430362942915768587015184230054227666322264130778507865609949038539057809790612418776666381503719895783247467970611309897022769451776419990558199472811526049232242193027878316480174834920739206128614471807223741475788765750056239161256717989916071389436164351644408024808371023229708658728690291409720163749044289834529828271958884694034328739320738725747116899375336441414540417657340432538600916377934532082005362444603903652988353354208108827601406725610724038737746594766497709481841660405845860225965779019675986648432777937749637708542596516972100625297079690140443009671489150152277293258993988620457755082861926501435295597107170048192135141205899583360319926201998113925843208594132395482705916881771353755091097650514848577717085750442805749316685595382744468779559625765127 69797293891240399109751582207094336654405158774235769235087451369805171374715542498552152437322149044488884497594025507179959384416159222744447811941317580583552904468745564999395836491040883663201066366215201059546487994496825188962937230198896069770104683345644037413199183824893900766531963712637619047085380169920820208912470917097649608157701114655478092186624831677914465279505606935703469820725660104355116909863992745340620522686169570074754549998269288484526082068509021335640590486979889165893374156406215889154915709731543419984556103175350012455261490959703985691863789384970192752088199766732721992545076184656110388365395988066565653443953394451160490697819906480831706190350515474212143301189139470983637958554252005139815427851804643784511800928558759259212161993967688795387661658825452214435106570399169791738008016872905913025087424011712022780745494298433017265996419471494107978997671720217766170268048878969221192238686789957842839237437876509910477307926861853106713345344943250744293501932002699792796682701878882217074565402247977343316775387132600509396111163848168297268169229817371328059683208358356973896923356973881166052560362800945661891589341385386573100581793048257968353299879835677286689972628774801004408104315836379364199131100057469149077691209457762174657762540293645565892301370564584049778681374460402485475692023833831222586025052989539898582603919451493637923119546050807549391685203600887948548661697366842219635720509342833829973610751720168283154911945836860035384016776287314225950883309550403507975641644922616569765222449231690825232677276089175292519765596493227751163905673112859871341623942910498900654589391443506441964363003339924699212049343554964125653736807030063428035034080746602714171233357526020998083050574791345864807795652460309827506998521942804475123580232999049115071425808394071164632892683057948121416917559492013505803881448989257557388317308187129673251287613602032371102830857266992305619442340266093152322984291156124500248484690800742894242314855202554729191249249546416956011059239824025701543978054240484110354665284993790234030551509569562389540455730548228545328868473518775215144176121194764657610107669834693735404991120411316060204015945731627911780852276164868148411453710456845664682926383165080365919119222047951676499262409509179577555090165937632383009907386850312418571603872051016912558463456411239278772253170377683025747434648099267420597319076916779754242622887019779475038748587107084450501052548905663555127256664675657039237129718906589239710347973383226849101110462380618220507817739918692685838005468183570226707773793173854142572621055983958450705934250225382617305623992237403900322399016891634754199092643621075639806889693909704731709916157840984702023319259502522738710204510346445972665256203286025043406688395123230736839483158035992626516729417970439302710972346224543850543061781018225399393443319054371424686846571349648666426462707307768705490025673427898583476442978408092510450712741144700351168576608283096444351054395534412987388181746025296201445896375104026124834204213977571268645664042099363608764262554358463440651 112934393838792372345925657274218154233215137496885240418037658954281521963470441746841902056522605423766533313789969407271354275516468564360860316634461052367513082068671884711602671548017439831927329077482573032011555953565839729641609396504800144325890124023568262067200154181158158836554396319429147928887619985335976291686950345030274522846423479404236144617369523141636349484779086704589607812190639302794019717823855152860030862222546242004662254393752577403595893698818424962009410114503213721997084996973879182973050717829950637924460089579160085123882103500204079654546327836053775620405210360311747121791638543725791153840037385029571792571286239902364356623071776496424001637559616169938398006838658789904472328523158069546561170273984143425409328757366184289592237289861857296134449921358066612149236881737865036102850151694481815448288744494581029531387113267333831542128617738092299171379587900700567088830624375104334347533702498683562638110170557179241603762071542237153931169993597301374810585664005087989400597062737358317513938725465087617205157720883338261401755958319668384103002370934554619409160599297945428621639343484357500482216761151788622964840197830451060323419901274099178220829977612487162118584642214764693174178259562416255766717838613945374763870012411996882539407258702385514740600360537210188091630207158166500042926356836783663459923875547770201370705462270640889796691566909440108915777100958622900409075534472407949040000987038611488446559480406419502991082240875442983489554094579303705246058261257418149997797846644524071068071137880967130569302922119892198253408470003013581824795730191456213714207087983992641455955728104757292005232596401963076365729510064737178369992691702446960782904389149756815021161904075503548275503693552540224724182959326034791601714851121104323667342176010558180473607871270976100581702240634076948658773731346208200637943220461541295271546724567692838977749555696198697321662566645529194243098356232949410948109777041102762116709619131734418886290187468637389486617400292113345018675831429436194549364669870723375050809811032848012542669050409953135030211276564520903009631490964409829527171508064138749436411624589047110704779125917868640678212625416811942162890525343116661777234490167404925387368626566162762646041049020575506895081626335485399172010017068509008394828959723742781514519640638032096788517684077561542903031678243292974785973705909058033016095743298283474138406134487750086348645609876536226921043107105136366653305896917850067115446199081424160449554101997698656324851938169383970564056901175410675754076857619734578352181817982225165802329714712648742115654413974426907140153820509362785016433345630955492924839760520450976248304234327362072142454758757362636555401264864967342613857498699800180774083804692750654130727132869825503337192639877653032362589643936218322386958994657321788292699489560821916365543944351451114827289581021137816578740000566762694110483428510760509977878274005199680498904876285906250751936928209298442464980238743007119783664451942177972799651466201676639682781931063321711451413358784958991508731333918089205778 182731687730032771455677239481312490887620296271121009653125110324086693338185984245394054493844754468255417811383994914451313659932627787105308128575778632951065986537417449710998508039058323495128395443697774091558043948062664918604546626703696214095994807369212299480399338006052059603086360032066766975973000155256796500599421262127924131004124594059714236803994354819550814764284693640293077632916299407149136627687847898200651384908715812079416804392021865888121975767327446297650000601483102887890459153380095072127966427561494057909016192754510097579143594459908065346410117221023968372493410127044469114336714728381901542205433373096137446015239634353524847320891682977255707827910131644150541308027798260888110287077410074686376598125788787209921129685924943548804399283829546091522111580183518826584343452137034827840858168567387728473376168506293052312132607565766848808125037209586407150377259620918333259098673254073555539772389288641405477347608433689152081069998404090260644515338540552119104087596007787782197279764616240534588504127713064960521933108015938770797867122167836681371171600751925947468843807656302402518562700458238666534777123952734284856429539215837633424001694322357146574129857448164448808557270989565697582282575398795619965848938671414523841561221869759057197169798996031080632901731101794237870311581618568985518618380670614886045948928537310099953309381722134527719811112960247658307462304559510848957737231839250168675721496381445318420170232126587786145994186712303018873570870866617931196941570807821657973439491567140640833293587112657955801980198209067490773174066496241332988701403304316085055831030894491542110545119548263733969595599741887775577778853619701304023729498732510388817938469896359529192395261601524546358554268343886089531978611786344619108713373063908798790922409009607295545033679665047265214594923692025070075691290838221706441824669450798852659864032754822512229037169298231068424493423912521499862540696499042563271094068197227262365194309932477313128605042671192118677866649838530301029735071253461896093342724111207485405475096026638246573220559979515524570667007112749448338499964483185044671347629258903407046519294423740846109770246329184700882228571148439853943742801507984810188688200624250590070295009731243128565160271068527183394344035844664976727100183006141391404736346574055200086123512689049009346981140488800821675284848620976000533408354008325453613414820215063228381029021507529561387394196983620677422095656010799921780562561593507106352575917988013400159902075380925505425962400550002191071874641094103361592082325803304805059955611156079308374950770696607192821588664199809524445777812746766685338832362522590247123932404141526616055193928237066803852370916598347338578720524367490081324062009046246153439340007978775697537415527993056240176675797913645658879319061906657625097931340881865638835761270579047315758987263405822539514136152370786483005202707874531399600509101938659093454321252413292190949617617430606601920513536492394886816034634277420107171846197967474174245547841305702764516986145040892980097077400884322600272993888276552646429 295666081568825143801602896755530645120835433768006250071162769278368215301656425992235956550367359892021951125173964321722667935449096351466168445210239685318579068606089334422601179587075763327055724521180347123569599901628504648246156023208496358421884931392780561547599492187210218439640756351495914904860620140592772792286371607158198653850548073463950381421363877961187164249063780344882685445106938709943156345511703051060682247131262054084079058785774443291717869466145871259659410715986316609887544150353974255101017145391444695833476282333670182703025697960112145000956445057077743992898620487356216236128353272107692696045470758125709238586525874255889203943963459473679709465469747814088939314866457050792582615600568144232937768399772930635330458443291127838396636573691403387656561501541585438733580333874899863943708320261869543921664913000874081843519720833100680350253654947678706321756847521618900347929297629177889887306091787324968115457778990868393684832069946327414575685332137853493914673260012875771597876827353598852102442853178152577727090828899277032199623080487505065474173971686480566878004406954247831140202043942596167016993885104522907821269737046288693747421595596456324794959835060651610927141913204330390756460834961211875732566777285359898605431234281755939736577057698416595373502091639004425961941788776735485561544737507398549505872804085080301324014843992775417516502679869687767223239405518133749366812766311658117715722483420056806866729712533007289137076427587746002363124965445921636442999832065239807971237338211664711901364724993625086371283120328959689026582536499254914813497133495772298770038118878484183566500847653021025974828196143850851943508363684438482393722190434957349600842859046116344213557165677028094634057961896426314256161571112379410710428224185013122458264585020165476018641550936023365796297164326102018734465022184429907079767889912340147931410757322515351206786724994429765746155990558050694105639052731991974219203845238330024481903929064211732014895230139829508164484050130643646048410902682898090642707393981930860456284907059486259115889610389468659600878283677270351348131455447594874198519137323042156482930919012787956814549372247053341560441196565251796106633326851101471965922690791655515457663636297405891211201320089102690289425662180150375899110200074650399799565306297797981600643153327081106135498824566362364578316526864268975319382059917383486629510563513346702519435155995279647736039806860156904343138763115936288433868458511357173468022117069437560609456177378624161750814338719386161635931542269514037346159183423039383412137429138304474177280485409255934937243078174236431585931633256129470355265708153545740048772164661977592303498162564428875994825675355709975134121789232457423937919507746046334213423812671526351668142660862881743513868437791298691241908705842875947484890335539187427128460760139869232124531207757273654341425733391924299583942708441294093710992530449419603432199526418491871448522493716512852672450464701693329281014873020427226955510649909652147045199307507379404199768076104214691548490759669281591781725222194641852207 478397769298857915257280136236843136008455730039127259724287879602454908639842410237630011044212114360277368936557959236173981595381724138571476573786018318269645055143506784133599687626134086822184119964878121215127643849691169566850702649912192572517879738761992861027998830193262278042727116383562681880833620295849569292885792869286122784854672667523664618225358232780737979013348473985175763078023238117092292973199550949261333632039977866163495863177796309179839845233473317557309411317469419497778003303734069327228983572952938753742492475088180280282169292420020210347366562278101712365392030614400685350465068000489594238250904131221846684601765508609414051264855142450935417293379879458239480622894255311680692902677978218919314366525561717845251588129216071387201035857520949479178673081725104265317923786011934691784566488829257272395041081507167134155652328398867529158378692157265113472134107142537233607027970883251445427078481075966373592805387424557545765902068350417675220200670678405613018760856020663553795156591969839386690946980891217538249023936915215802997490202655341746845345572438406514346848214610550233658764744400834833551771009057257192677699276262126327171423289918813471369089692508816059735699184193896088338743410360007495698415715956774422446992456151514996933746856694447676006403822740798663832253370395304471080163118178013435551821732622390401277324225714909945236313792829935425530701710077644598324549998150908286391443979801502125286899944659595075283070614300049021236695836312539567639941402873061465944676829778805352734658312106283042173263318538027179799756602995496247802198536800088383825869149772975725677045967201284759944423795885738627521287217304139786417451689167467738418781328942475873405952427278552640992612230240312403788140182898724029819141597248921921249186994029772771563675230601070631010892088018127088810156313022651613521592559363139000591274790077337863435823894292660834170649414470572193968179749231034537490297913435557286847098238996689045143500272811021626842350699969173947078145973936359986736050118093138345861760003086124505689110170368984184171545290790019799686631419930779918869866766581945563529450213436528802924319618576238042442669767713691650050376128359086282154610891415906105527958646028649019776361591157629873683769698024815352626210383080791791204301652871853181686766666016130115482479965055163186253601375485244975852790413925708940242925383728409930900464177502809209123434003843777581765234419126736210214431020104864279820598035057450960769358252759549667176776739269388352707806183363617398938241509226344188472093040294383782552231256105863127758831742374045956031709446002896155694098070676135987172704568803504208358692090801495679847196591954057313712842313599947505261981516792292487652763820650302049205558188855937983690544235704944350121227767749533572582821676421053065964222030718916547883518471163096193855561885762710782589145416315825493311501632388078696886520778831784062398140111147119454592964001194088216097049507297847334127356847877126321290747148813082168716754221145107671645568160553604192054719110471194498636 774063850867683059058883032992373781129291163807133509795450648880823123941498836229865967594579474252299320061731923557896649530830820490037645018996258003588224123749596118556200867213209850149239844486058468338697243751319674215096858673120688930939764670154773422575598322380472496482367872735058596785694240436442342085172164476444321438705220740987614999646722110741925143262412254330058448523130176827035449318711254000322015879171239920247574921963570752471557714699619188816968822033455736107665547454088043582330000718344383449575968757421850462985194990380132355348323007335179456358290651101756901586593421272597286934296374889347555923188291382865303255208818601924615126758849627272328419937760712362473275518278546363152252134925334648480582046572507199225597672431212352866835234583266689704051504119886834555728274809091126816316705994508041215999172049231968209508632347104943819793890954664156133954957268512429335314384572863291341708263166415425939450734138296745089795886002816259106933434116033539325393033419323438238793389834069370115976114765814492835197113283142846812319519544124887081224852621564798064798966788343431000568764894161780100498969013308415020918844885515269796164049527569467670662841097398226479095204245321219371430982493242134321052423690433270936670323914392864271379905914379803089794195159172039956641707855685411985057694536707470702601339069707685362752816472699623192753941115595778347691362764462566404107166463221558932153629657192602364420147041887795023599820801758461204082941234938301273915914167990470064636023037099908128544546438866986868826339139494751162615695670295860682595907268651459909243546814854305785919251992029589479464795580988578268811173879602425088019624187988592217619509592955580735626670192136738718044301754011103440529569821433935043707451579049938247582316781537093996807189252344229107544621335207081520601360449275479148522685547399853214642610619287090599916805405028622888073818801963026511709501758673887311329002168060900777158395502950851135006834750099817593126556876619258077378757512075069206318044910145610764804999780758452843772423574467290151034762875378374793068385903904987720012381132449316759738868990823291384003110964278943446157009455210187754120533582207561620985622282326054910987562911246732563973195360204965728525320583155442191003866959169651163287409819343211221617978789621525550831917902349513951172172473843092426872435947241756633419899333498088856859473810703934486108373182242672498648299478616221453288620152126888521378814430138173828927591077988774514343737725633131436284400692649383571884230469432688256729511741515119062696074820548282387617641079259025626049363778829681727221476733465481800662190253365924555842022267309767288846964102832404929199901024538338821866187633321828400873700849718819727204412673496243041363136473592409520067712011960240493092682790858785780008049678920369848196987619154635082173088124757119587022494162837498300318720305250275933846662604863632307265414465895781545378064380318274561082867497786778468335946456320461572916522297249322363194058920222885783836444332665836350843 1252461620166540974316163169229216917137746893846260769519738528483278032581341246467495978638791588612576688998289882794070631126212544628609121592782276321857869178893102902689800554839343936971423964450936589553824887601010843781947561323032881503457644408916766283603597152573734774525094989118621278666527860732291911378057957345730444223559893408511279617872080343522663122275760728315234211601153414944127742291910804949583349511211217786411070785141367061651397559933092506374278233350925155605443550757822112909558984291297322203318461232510030743267364282800152565695689569613281168723682681716157586937058489273086881172547279020569402607790056891474717306473673744375550544052229506730567900560654967674153968420956524582071566501450896366325833634701723270612798708288733302346013907664991793969369427905898769247512841297920384088711747076015208350154824377630835738667011039262208933266025061806693367561985239395680780741463053939257715301068553839983485216636206647162765016086673494664719952194972054202879188190011293277625484336814960587654225138702729708638194603485798188559164865116563293595571700836175348298457731532744265834120535903219037293176668289570541348090268175434083267533139220078283730398540281592122567433947655681226867129398209198908743499416146584785933604070771087311947386309737120601753626448529567344427721870973863425420609516269329861103878663295422595307989130265529558618284642825673422946015912762613474690498610443023061057440529601852197439703217656187844044836516638071000771722882637811362739860590997769275417370681349206191170717809757405014048626095742490247410417894207095949066421776418424435634920592782055590545863675787915328106986082798292718055228625568769892826438405516931068091025462020234133376619282422377051121832441936909827470348711418682856964956638573079711019145992012138164627818081340362356196354777648229733134122953008638618149113960337477191078078434513579751434087454819499195082041998551194061049199799672109444598176100407057589822301895775761872761849185450068991540204702850555618064114807630168207552179804913231735270494109951127437027943968865257309950721394295309154711938252670486933283541831345885845562663188609399529426445780731992635096207385583569274036275144473623467726513580928354703930763924502404362437656965058229781081151530966236233982208168612041504344974176485359341337100458754676688737085519277834758927024962887768801367115361330970166564320363511000898065982907814547712067873607601369408708862730498721085733109218187184339482148172682897723496104367817258162867051543908996748835222642201875727760356323509727072039281742997620982190454906562922328343649350525261921781743461849505817714394181302268986009020882344167420235689218859263824602559806416432352434461882541330631309518951453972130450079259038574757710894956909201187391484364241341943092650533688381293559056904821577702327891568150083466042052549504917345864762233541072945080333995795225576997205241084082059996244802716010751761858378467089869761475113887616121895210224345663904789626693605133543741633276518394430034839627080776489975891163443137030849479 2026525471034224033375046202221590698267038057653394279315189177364101156522840082697361946233371062864876009060021806351967280657043365118646766611778534325446093302642699021246001422052553787120663808936995057892522131352330517997044419996153570434397409079071539706179195474954207271007462861853679875452222101168734253463230121822174765662265114149498894617518802454264588265538172982645292660124283591771163191610622058949905365390382457706658645707104937814122955274632711695191247055384380891713109098211910156491888985009641705652894429989931881206252559273180284921044012576948460625081973332817914488523651910545684168106843653909916958530978348274340020561682492346300165670811079134002896320498415680036627243939235070945223818636376231014806415681274230469838396380719945655212849142248258483673420932025785603803241116107011510905028453070523249566153996426862803948175643386367152753059916016470849501516942507908110116055847626802549057009331720255409424667370344943907854811972676310923826885629088087742204581223430616715864277726649029957770201253468544201473391716768941035371484384660688180676796553457740146363256698321087696834689300797380817393675637302878956369009113060949353063697188747647751401061381378990349046529151901002446238560380702441043064551839837018056870274394685480176218766215651500404843420643688739384384363578829548837405667210806037331806480002365130280670741946738229181811038583941269201293707275527076041094605776906244619989594159259044799804123364698075639068436337439829461975805823872749664013776505165759745482006704386306099299262356196272000917452434881984998573033589877391809749017683687075895544164139596909896331782927779944917586450878379281296324039799448372317914458029704919660308644971613189714112245952614513789839876743690920930910878281240116792008664090152129649266728308793675258624625270592706585303899398983436814654724313457914097297636645884877044292721045132866842034004260224527817970115817353157087560909301430783331909505102575118490599460291278712723896856020200168809133331259727174876141493565142243276758497849823377346035299109731885889871716392439724600101756157170687529505006638574391921003554212478335162322402057600222820810448891696271578542364395038779461790395678055831029347499203210680758841751487413651095001630160418434746809676851549391676173212035571211155508261586304702552558718437544298214287917437180184272878197135361611893793987797278211923197740262844498986922842381625251646553981980783612081207511029977337307186397838339311228003526987113035897325031958895246937381395281634629880271507042894525111332240553979159760296011254739136101253150981383470610731266991604520947407792825628335499441615658035734467809683072597533344791531241126573591891406770519264757363661783565868970131385139087293958850952959888293577438099369582697430432847500714934352612718245700341534052149587612436488107899617829003835890249537124071980946935321665830064667356489958063075297523961389332335930091465320874384069123792932985651306853178267934396456293091843450683257962640061454005314549798815643752398033686000999375759727607775802867200322 3278987091200765007691209371450807615404784951499655048834927705847379189104181329164857924872162651477452698058311689146037911783255909747255888204560810647303962481535801923935801976891897724092087773387931647446347018953341361778991981319186451937855053487988305989782792627527942045532557850972301154118749961901026164841288079167905209885825007558010174235390882797787251387813933710960526871725437006715290933902532863899488714901593675493069716492246304875774352834565804201565525288735306047318552648969732269401447969300939027856212891222441911949519923555980437486739702146561741793805656014534072075460710399818771049279390932930486361138768405165814737868156166090675716214863308640733464221059070647710781212360191595527295385137827127381132249315975953740451195089008678957558863049913250277642790359931684373050753957404931894993740200146538457916308820804493639686842654425629361686325941078277542869078927747303790896797310680741806772310400274095392909884006551591070619828059349805588546837824060141945083769413441909993489762063463990545424426392171273910111586320254739223930649249777251474272368254293915494661714429853831962668809836700599854686852305592449497717099381236383436331230327967726035131459921660582471613963099556683673105689778911639951808051255983602842803878465456567488166152525388621006597047092218306728812085449803412262826276727075367192910358665660552875978731077003758740429323226766942624239723188289689515785104387349267681047034688860896997243826582354263483113272854077900462747528706510561026753637096163529020899377385735512290469980165953677014966078530624475245983451484084487758815439460105500331179084732378965486877646603567860245693436961177574014379268425017142210740896435221850728399670433633423847488865235036890840961709185627830758381226992658799648973620728725209360285874300805813423252443351933068941500254176631666547788847266466552715446750606222354235370799479646446593468091715044027013052157815904351148610109101102892776507681202982176080421762187054474596658705205650237800673535962577730494205608372772411484310677654736609081305793219683013326899660361304981910052477551465996684216944891244878854287096043824221007885065246209622350236894672428264213638571780622348735826670822529454497074012784139035462772515411916055457439287125476664527890828382515627910155420204183252659853235762790061893895818896298974903025002956458019031805222098249380695161103158609182089762060626355499884988825289439799358621855588384981489916373760476058392919507056526495567485675159795933620821136326712505100248446825543626629106729685096400839092596877488886832335292997736757083443605887946392939074916342129782869189536287477841317156009839338003453818703954941700765027220459985837416493966576935697109798123666107199601440904090541266089301032218926868335148994326491898617824331864956276295705368779388722827611206492434014190435791185979087301932302086628989326811697555206903009747690485753288652294729202473414395926336268036885135830982171400075521068328292155550518351503316189114588047589333666587549056183075334038182432873313081775865735618771218939898049801 5305512562234989041066255573672398313671823009153049328150116883211480345627021411862219871105533714342328707118333495498005192440299274865902654816339344972750055784178500945181803398944451511212751582324926705338869150305671879776036401315340022372252462567059845695961988102482149316540020712825981029570972063069760418304518200990079975548090121707509068852909685252051839653352106693605819531849720598486454125513154922849394080291976133199728362199351242689897308109198515896756772344119686939031661747181642425893336954310580733509107321212373793155772482829160722407783714723510202418887629347351986563984362310364455217386234586840403319669746753440154758429838658436975881885674387774736360541557486327747408456299426666472519203774203358395938664997250184210289591469728624612771712192161508761316211291957469976853995073511943405898768653217061707482462817231356443635018297811996514439385857094748392370595870255211901012853158307544355829319731994350802334551376896534978474640032026116512373723453148229687288350636872526709354039790113020503194627645639818111584978037023680259302133634437939654949164807751655641024971128174919659503499137497980672080527942895328454086108494297332789394927516715373786532521303039572820660492251457686119344250159614080994872603095820620899674152860142047664384918741040121411440467735907046113196449028632961100231943937881404524716838668025683156649473023741987922240361810708211825533430463816765556879710164255512301036628848119941797047949947052339122181709191517729924723334530383310690767413601329288766381384090121818389769242522149949015883530965506460244556485073961879568564457143792576226723248871975875383209429531347805163279887839556855310703308224465514528655354464926770388708315405246613561601111187651404630801585929318751689292105273898916440982284818877339009552602609599488681877068622525775526804153575615103362443571579924466812744387252107231279663520524779313435502095975268554831022273633257508236171018402533676108417186305557294571021222478333187320555561225850406609806867222304905370347101937914654761069175504559986427341092329414899216771376753744706510154233708636684213721951529819270775290650256302556170207467303809845171047343564124535792180936175661128197617066500585285526421511987349716221614266899329706552440917285895099274700505234065019586328632239754463815361497349094764446454537333843273117312920393638203304683419233610992588955090955887394012959800889199998871911667671065051005175837569168593571123884790453395700105904894865806795489202146908969518146168285607752037629842107178256509378236727990925950424837431468046592631304252475893184696756869329863549806183333734303816597329113106176816597625497373737921628387027539234109818751701112411008385373347454961867161785449673068571572289229628560048151985178815161912587093696074596048257179365671210648318087025089064361663356080046450678543690803808091137822551623753061307758632876872733074415046975711351727592253163862746731856427733357759519900105964333061172375181470423484914807796408032565271305551973728041554370732874149681934830906999082775241495346378994742765250123 8584499653435754048757464945123205929076607960652704376985044589058859534731202741027077795977696365819781405176645184644043104223555184613158543020900155620054018265714302869117605375836349235304839355712858352785216169259013241555028382634526474310107516055048151685744780730010091362072578563798282183689722024970786583145806280157985185433915129265519243088300568049839091041166040404566346403575157605201745059415687786748882795193569808692798078691597547565671660943764320098322297632854992986350214396151374695294784923611519761365320212434815705105292406385141159894523416870071944212693285361886058639445072710183226266665625519770889680808515158605969496297994824527651598100537696415469824762616556975458189668659618261999814588912030485777070914313226137950740786558737303570330575242074759038959001651889154349904749030916875300892508853363600165398771638035850083321860952237625876125711798173025935239674798002515691909650468988286162601630132268446195244435383448126049094468091375922100920561277208371632372120050314436702843801853577011048619054037811092021696564357278419483232782884215191129221533062045571135686685558028751622172308974198580526767380248487777951803207875533716225726157844683099821663981224700155292274455351014369792449939938525720946680654351804223742478031325598615152551071266428742418037514828125352842008534478436373363058220664956771717627197333686236032628204100745746662669685037475154449773153652106455072664814551604779982083663536980838794291776529406602605294982045595630387470863236893871717521050697492817787280761475857330680239222688103626030849609496130935490539936558046367327379896603898076557902333604354840870087076134915665408973324800734429325082576649482656739396250900148621117107985838880037409089976422688295471763295114946582447673332266557716089955905547602548369838476910405302105129511974458844468304407752246769910232418846391019528191137858329585515034320004425760028970187690312581844074431449161859384781127503636568884924867508539470651442984665387661917214266431500644410480403184882635864552710310687066245379853159296595508646885549097912543671037115049688420206711260102680897938896421064149629577746300126777178092532550019467521284238236552800005819507956283476933443737323114740023495524771488751684386782311245762009880204411371763802591333616580647496484052443937716475214733111884826340350356230142248020337923350096222336488641331860373284116194114496576102721861515555498756900492960504850363797693157553575061040258550929454093025411951392302362974877306704903138967304612320257137878288932721883138484966413087326789517434308956933424966597250212650268140362757276256488881099675864086685786865400584018133753635336711741375447090982480934874845972161098248424879339924390658976959909115780268173013193320169826137453017397742030247736088022566494666081511230627486944023455804477787189274562572480464868979481989787178439754853710382050634570330432079636084162737461464640379886982366336161127782764001394644655731088135733136693443509762579035433159299724221679859353141307394629103426915949483720117263780312164551107230965150213682663299924 13890012215670743089823720518795604242748430969805753705135161472270339880358224152889297667083230080162110112294978680142048296663854459479061197837239500592804074049892803814299408774780800746517590938037785058124085319564685121331064783949866496682359978622107997381706768832492240678612599276624263213260694088040547001450324481148065160982005250973028311941210253301890930694518147098172165935424878203688199184928842709598276875485545941892526440890948790255568969052962835995079069976974679925381876143333017121188121877922100494874427533647189498261064889214301882302307131593582146631580914709238045203429435020547681484051860106611293000478261912046124254727833482964627479986212084190206185304174043303205598124959044928472333792686233844173009579310476322161030378028465928183102287434236267800275212943846624326758744104428818706791277506580661872881234455267206526956879250049622390565097655267774327610270668257727592922503627295830518430949864262796997578986760344661027569108123402038613294284730356601319660470687186963412197841643690031551813681683450910133281542394302099742534916518653130784170697869797226776711656686203671281675808111696561198847908191383106405889316369831049015121085361398473608196502527739728112934947602472055911794190098139801941553257447624844642152184185740662816935990007468863829477982564032398955204983507069334463290164602838176242344036001711919189277677124487734584910046848183366275306584115923220629544524715860292283120292385100780591339726476458941727476691237113360312194197767277182408288464298822106553662145565979149070008465210253575046733140461637395735096421632008246895944353747690652784625582476330716253296505666263470572253212640291284635785884873948171268051605365075391505816301244126650970691087610339700102564881044265334136965437540456632530938190366479887379391079520004790787006580596984619995108561327861873272675990426315486340935525110436816794697840529205073464472283665581136675096705082419367620952145906170244993342053814096765222464207143720849237769827657351051020287270407187541234899812248601721006449028663856581935987977878512811760442413868794394930360944968739365111660847950883420404868396556429333348299999853829312692331581800677335798000444131944605131060803823700025549917036758838467906001049210575468562321121697266863077291838850645667082812684683692180290576230460979590786804893563985521137650843743734425641172060565471365873071285070383970115681662404755497628812160631569901368973530726722168632164143341382849793131316846258109158464079453613872657113472897928009175508131039900139647863203141078252739942271740424980017597901502688543452837119626606120038687283009598390502384194513690194950351260834085479297075478010020168984664723862210659433264713271845620844121694565453336744585482549798386185605002576557192160323181718641090714338690596298697592341542829566851550937918652526915547523172793595269577577405334135111942328963308952369158577784437175992107479235530198907859639191734752404175631194100066197865818691233002520347967096132254245130658693281122670657797648823633402052094687311247326348726311529208425428550047 22474511869106497138581185463918810171825038930458458082120206061329199415089426893916375463060926445981891517471623864786091400887409644092219740858139656212858092315607106683417014150617149981822430293750643410909301488823698362886093166584392970992467494677156149067451549562502332040685177840422545396950416113011333584596130761306050346415920380238547555029510821351730021735684187502738512339000035808889944244344530496347159670679115750585324519582546337821240629996727156093401367609829672911732090539484391816482906801533620256239747746082005203366357295599443042196830548463654090844274200071124103842874507730730907750717485626382182681286777070652093751025828307492279078086749780605676010066790600278663787793618663190472148381598264329950080493623702460111771164587203231753432862676311026839234214595735778676663493135345694007683786359944262038280006093303056610278740202287248266690809453440800262849945466260243284832154096284116681032579996531243192823422143792787076663576214777960714214846007564972952032590737501400115041643497267042600432735721262002154978106751580519225767699402868321913392230931842797912398342244232422903848117085895141725615288439870884357692524245364765240847243206081573429860483752439883405209402953486425704244130036665522888233911799429068384630215511339277969487061273897606247515497392157751797213517985505707826348385267794947959971233335398155221905881225233481247579731885658520725079737768029675702209339267465072265203955922081619385631503005865544332771673282708990699665061004171054125809514996314924340942907041836479750247687898357201077582749957768331225636358190054614223324250351588729342527916080685557123383581801179135981226537441025713960868461523430828007447856265224012622924287083006688379781064033027995574328176159211916584638769807014348620894095914082435749229556430410092892136092571443464463412969080108643182908409272706505869126662968766402309732160533630833493442471355893718519171136531581227005733273409806813878266921322636235873907191809108511154984094088851695430767673592070177099452522559288787251828881823153177444634863427610724304113450983844083350567656228842046009599744371947570034446142856556110526392532403848780213615820037230135803819952088228082064504541146814765573412561530327219590387831521821230572201326108638626879883172467226314579296737127629896765790963572864417127155249794127769157988767093830647977660701897331739157187479184880546218403523920310996385712653592074751732771223884275743693204401892312303886156728797650411521438956760318775796080777510248266313386419972622022786348169554165579529459706049381913442564498752901193720977482383882376527568382685462477188171059914274213084104896170797220672522568992501103859510696023308907858144053196236279821081603681233604917598675869968212323058019974299222408059269741207585380420201826926184536364998634044638740212481225007380416502654783382448017332259044517162576899293741032005242740521898640632487366217896535068987421955736147048831362282235799334559262200995581555781126395856475924990011834588517299761224564773117122169358467623411877455957276679422108091849971 36364524084777240228404905982714414414573469900264211787255367533599539295447651046805673130144156526144001629766602544928139697551264103571280938695379156805662166365499910497716422925397950728340021231788428469033386808388383484217157950534259467674827473299264146449158318394994572719297777117046808610211110201051880586046455242454115507397925631211575866970721074653620952430202334600910678274424914012578143429273373205945436546164661692477850960473495128076809599049689992088480437586804352837113966682817408937671028679455720751114175279729194701627422184813744924499137680057236237475855114780362149046303942751278589234769345732993475681765038982698218005753661790456906558072961864795882195370964643581869385918577708118944482174284498174123090072934178782272801542615669159936535150110547294639509427539582403003422237239774512714475063866524923911161240548570263137235619452336870657255907108708574590460216134517970877754657723579947199463529860794040190402408904137448104232684338179999327509130737921574271693061424688363527239485140957074152246417404712912288259649145882618968302615921521452697562928801640024689109998930436094185523925197591702924463196631253990763581840615195814255968328567480047038056986280179611518144350555958481616038320134805324829787169247053913026782399697079940786423051281366470076993479956190150752418501492575042289638549870633124202315269337110074411183558349721215832489778733841887000386321883952896331753863983325364548324248307182399976971229482324486060248364519822351011859258771448236534097979295137030894605052607815628820256153108610776124315890419405726960732779822062861119268604099279382127153498557016273376680087467442606553479750081316998596654346397378999275499461630299404128740588327133339350472151643367695676893057203477250721604207347470981151832286280562323128620635950414883679142673168428084458521530407970516455584399699021992210062188079203219104430001062835906957914755021474855194267841614000594626685419315977058871608975136733001096371398952829360392753921746202746451054943999257718334352334807890508258277910487009759380622841306123536064555864852638478280928601197581411121260592322830990439314539412985443874692532257678092905947401837907471601820396220172687195565344970514791123329598289165687496388880732396699134522447805905489957175011317871981662109421811322077056367194033844007913960143358113290295639610837565073618832762462803105030258764255264516334085186325066494014524814223644653101744754610997912325368545233695153679288045643908520679903036213932648453194250408176275488894551012522162434211372695243832269401977789806893460162400255589737173814602010488496566255665695060867690555254427964408034456157004882699969598047002521272844175419885519567291408766468081900665203298246686941662184158419766598508663022550856414568382451459848676094758892423224882128706541463611490291150399877534295964025827576977717594909664378652274519228257049984374401318306335816624594845453426733976847061147470899453006993476335865532425080892228584076129093491988730170120670527869639970419022213596750524221453154934659203804683588208630533520400018 58839035953883737366986091446633224586398508830722669869375573594928738710537077940722048593205082972125893147238226409714231098438673747663500679553518813018520258681107017181133437076015100710162451525539071879942688297212081847103251117118652438667294967976420295516609867957496904759982954957469354007161526314063214170642586003760165853813846011450123422000231896005350974165886522103649190613424949821468087673617903702292596216843777443063175480056041465898050229046417148181881805196634025748846057222301800754153935480989341007353923025811199904993779480413187966695968228520890328320129314851486252889178450482009496985486831359375658363051816053350311756779490097949185636159711645401558205437755243860533173712196371309416630555882762504073170566557881242384572707202872391689968012786858321478743642135318181680085730375120206722158850226469185949441246641873319747514359654624118923946716562149374853310161600778214162586811819864063880496109857325283383225831047930235180896260552957960041723976745486547223725652162189763642281128638224116752679153125974914443237755897463138194070315324389774610955159733482822601508341174668517089372042283486844650078485071124875121274364860560579496815571773561620467917470032619494923353753509444907320282450171470847718021081046482981411412615208419218755910112555264076324508977348347902549632019478080750115986935138428072162286502672508229633089439574954697080069510619500407725466059651982572033963203250790436813528204229264019362602732488190030393020037802531341711524319775619290659907494291451955235547959649652108570503841006967977201898640377174058186369138012117475342592854450868111469681414637701830500063669268621742534706287522342712557522807920809827282947317895523416751664875410140027730253215676395691251221233362689167306242977154485329772726382194644758877850192380824976571278765739871548921934499488079159638492808971728498079188851047969621414162161596466740451357226377368573713438978145581821632418692725783872749875896459369236970278590761937871547738015835054441881822617591327895433804857367179295510106792310162936825257704733734260368669315836482561631496257426423457130860336694778560473760682269541554401085064661526873119563221875137607405640348308400769260069886117329556696742159819492907086776712254217929706723773914544116837058183785098296241406158938951973822158157606708425041115393152241059453628377931395721596493464360134844187446243440145062552488710245377490400237467815719404834515978495273656018572947126007457565444774441558932201341992974251424249275027918424541802280970985144185220559542249409411798861683839188806902726899008490930894792084394370873093824048380523344878726314342238621118561053175679920642120615995022376703686115908828475149552819664318180486284901927920546579782834289734810831721042525155636976441721201056261475179094250151066665071540097656129031362881102541676380528482360360165612241923423169437096127550791016379644058828234457257082211671323269045834483103207046501838355758571664866984343093224165631910219887845206095110682362458157270180246778369867646390811622558071081260640864888052641612249989 95203560038660977595390997429347639000971978730986881656630941128528278005984728987527721723349239498269894777004828954642370795989937851234781618248897969824182425046606927678849860001413051438502472757327500348976075105600465331320409067652911906342122441275684441965768186352491477479280732074516162617372636515115094756689041246214281361211771642661699288970952970658971926596088856704559868887849863834046231102891276908238032763008439135541026440529536593974859828096107140270362242783438378585960023905119209691824964160445061758468098305540394606621201665226932891195105908578126565795984429631848401935482393233288086220256177092369134044816855036048529762533151888406092194232673510197440400808719887442402559630774079428361112730167260678196260639492060024657374249818541551626503162897405616118253069674900584683507967614894719436633914092994109860602487190443582884749979106960989581202623670857949443770377735296185040341469543444011079959639718119323573628239952067683285128944891137959369233107483408121495418713586878127169520613779181190904925570530687826731497405043345757162372931245911227308518088535122847290618340105104611274895967481078547574541681702378865884856205475756393752783900341041667505974456312799106441498104065403388936320770306276172547808250293536894438195014905499159542333163836630546401502457304538053302050520970655792405625485009061196364601772009618304044272997924675912912559289353342294725852381535935468365717067234115801361852452536446419339573961970514516453268402322353692723383578547067527194005473586588986130153012257467737390759994115578753326214530796579785147101917834180336461861458550147493596834913194718103876743756736064349088186037603659711154177154318188826558446779525822820880405463737273367080725367319763386928114290566166418027847184501956310924558668475207082006470828331239860250421438908299633380456029896049676094077208670750490289251039127172840518592162659302647409271981398843428907706819759582416259104112041760931621484871596102238066649989714767231940491937581257188332877561590585613768157192175069803768384702797172696205880546039857796433225180689121039912424858624004868252120929017609550913075221682526998275777596919204966025510623713045079007460744528573456455635231087844347820071758108658594583165592986614628841246221720449606794233195102970277903515580750274050878525351640552432955075536510354349749267988768960795215326226822937949217705007695409578886573896570443984414762282039364057936260733106271568343941492359702611244732820085467452881245029188184072702469278326600817291175521997666347654770914944653244068263661628995700362889299264080668068606686404859369660079714075584212569281568770203029153017210180562620611718662997543649547861535794348042440961586132400081151488200174607488241966992709501409340384065076012051544824172660904937569937986673375948793778081561267619322513280980075972344554309937337883207151587801821711615355807841000754045377134570273881677057124750003022681544250677945954845349234907530399409423985452749708039313379833936265231352890327797240599268991966618170612264777492730285065324453096683175132650007 154042595992544714962377088875980863587370487561709551526006514723457016716521806928249770316554322470395787924243055364356601894428611598898282297802416782842702683727713944859983297077428152148664924282866572228918763402812547178423660184771564345009417409252104737482378054309988382239263687031985516624534162829178308927331627249974447215025617654111822710971184866664322900761975378808209059501274813655514318776509180610530628979852216578604201920585578059872910057142524288452244047980072404334806081127421010445978899641434402765822021331351594511614981145640120857891074137099016894116113744483334654824660843715297583205743008451744792407868671089398841519312641986355277830392385155598998606246475131302935733342970450737777743286050023182269431206049941267041946957021413943316471175684263937596996711810218766363593697990014926158792764319463295810043733832316902632264338761585108505149340233007324297080539336074399202928281363308074960455749575444606956854070999997918466025205444095919410957084228894668719144365749067890811801742417405307657604723656662741174735160940808895356443246570301001919473248268605669892126681279773128364268009764565392224620166773503741006130570336316973249599472114603287973891926345418601364851857574848296256603220477747020265829331340019875849607630113918378298243276391894622726011434652885955851682540448736542521612420147489268526888274682126533677362437499630609992628799972842702451318441187918040399680270484906238175380656765710438702176694458704546846288440124885034434907898322686817853912967878040941365700971907119845961263835122546730528113171173753843333471055846297811804454313001015605066516327832419934376807426004686091622892325126002423711699962238998653841394097421346237632070339147413394810978582996159078179335523928855585334090161656441640697285050669851840884321020712064836821700204648171182302390529384128835732570017642478988368439890175142461932754324255769387860629207776212002621145797905164237891522804767544804371360768055471475036928580476705103488229953416311630214700179181913509201962049542249099278491495107335633031138250773592056801894496525603601543921116050428325382981265712388111386835903952068552676862661580731839145073845588182686413101092836974225715705117205173904516813917928151501669942305240832558547969995634993723631291378888068574144921739689226024700683509247260857996190929662595409202896366700356516811819691183072793405151251135554641439062606815821474814999749855083462770776711601545224362514439485710068810177594527026385082587022162435496951744306245025359093456492982810532875330457194062655867125345468184507265616198272571598963398770799230242753903762456107557448007883112441650271578263356242541253839278992566026251547651703176517590514405796718261637773102102528034821749826999236220172105107601167688521265893861961199045117080923527015458849621658923748353876162082617648725082792297698048819393511224991148711483358632017133689435962804731138759268796073272068516027353884992456683704993479195266393767078676915339949533267679142360342035252785954510779515770336485817003076400050801366325965317984735816744899996 249246156031205692557768086305328502588342466292696433182637455851985294722506535915777492039903561968665682701247884318998972690418549450133063916051314752666885108774320872538833157078841203587167397040194072577894838508413012509744069252424476251351539850527789179448146240662479859718544419106501679241906799344293403684020668496188728576237389296773521999942137837323294827358064235512768928389124677489560549879400457518768661742860655714145228361115114653847769885238631428722606290763510782920766105032540220137803863801879464524290119636891989118236182810867053749086180045677143459912098174115183056760143236948585669425999185544113926452685526125447371281845793874761370024625058665796439007055195018745338292973744530166138856016217283860465691845542001291699321206839955494942974338581669553715249781485119351047101665604909645595426678412457405670646221022760485517014317868546098086351963903865273740850917071370584243269750906752086040415389293563930530482310952065601751154150335233878780190191712302790214563079335946017981322356196586498562530294187350567906232565984154652518816177816212229227991336803728517182745021384877739639163977245643939799161848475882606890986775812073367002383372455644955479866382658217707806349961640251685192923990784023192813637581633556770287802645019417537840576440228525169127513891957424009153733061419392334927237905156550464891490046691744837721635435424306522905188089326184997177170822723853508765397337719022039537233109302156858041750656429219063299556842447238727158291476869754345047918441464629927495853984164587583352023829238125483854327701970333628480572973680478148266315771551163098663351241027138038253551182740750440711078362729662134865877116557187480399840876947169058512475802884686761891703950315922465107449814495022003361937346158397951621843719145058922890791849043304697072121643556470815682846559280178511826647226313229478657690929302315302451346486915072035269901189175055431528852617664746654150626916809305735992845639651573713103578570191472335428721890997568818547577740772499122970119241717318903046876197904508329237018796813449853235119677214724641456345974674433193635102194729997662299911125634595550952640258499936805170584469301227765420561837365547682171340348293018252336885676036810096253107898227447187389216217355443330425524573991038852048437320439500075579208860887813290951266466172949758952164355469317312027145918006010742622856258830964220325636503386265459229762031894447520707037444707816792706455931845412680054910414612493837963832051350619569654213584571626176384632014980476880530101372138715899935389007097180207628505497536652267032005457204089612413983476531691770017289451882644679424595473536805161865557941990109675799409187497524560031475991929118342789261302277135523063716819708737629512489172677179740066090066522866136615055067596902964252627703220191367676389443062693621069637102235035932026545099026812860326839166473017887734813097375005020436325920823275091197571604562938411529054228386725665803191064129665047988846647513078625573388143113751751378784762303103987615341177543531651391289771081418991877550003 403288752023750407520145175181309366175712953854405984708643970575442311439028342844027262356457884439061470625490939683355574584847161049031346213853731535509587792502034817398816454156269355735832321323060644806813601911225559688167729437196040596360957259779893916930524294972468241957808106138487195866440962173471712611352295746163175791263006950885344710913322703987617728120039614320977987890399491145074868655909638129299290722712872292749430281700692713720679942381155717174850338743583187255572186159961230583782763443313867290112140968243583629851163956507174606977254182776160354028211918598517711584804080663883252631742193995858718860554197214846212801158435861116647855017443821395437613301670150048274026316714980903916599302267307042735123051591942558741268163861369438259445514265933491312246493295338117410695363594924571754219442731920701480689954855077388149278656630131206591501304136872598037931456407444983446198032270060161000871138869008537487336381952063520217179355779329798191147275941197458933707445085013908793124098613991806220135017844013309080967726924963547875259424386513231147464585072334187074871702664650868003431987010209332023782015249386347897117346148390340251982844570248243453758309003636309171201819215099981449527211261770213079466912973576646137410275133335916138819716620419791853525326610309965005415601868128877448850325304039733418378321373871371398997872923937132897816889299027699628489263911771549165077608203928277712613766067867296743927350887923610145845282572123761593199375192441162901831409342670868861554956071707429313287664360672214382440873144087471814044029526775960070770084552178703729867568859557972630358608745436532333970687855664558577577078796186134241234974368515296144546142032100156702682533312081543286785338423877588696027507814839592319128769814910763775112869755369533893821848204641997985237088664307347559217243955708467026130819477457764384100811170841423130530396951267434149998415569910892042149721576850540364206407707045188140507150668177438916951844413880448762277919954412632172081291259568002325367693011843962268157047587041910037014173740328243000267090724861519018083460442385773686747029586664103629502920080668644315658314889410451833662930202521907887045465498192156853699593964961597923050203468279745937186212990437054056815952879107426193359060128726100279892370135074148947457395835545168155060722169673828838965609189083536028007509966518861764699110202086934044761781749530983477814156309362017068970371331122748865088009139520223046419073513055066605957890816651535478088507963287413405431829332778555802514352565364714894121695809223865995404228003319855167887238987799327465297334995086329696173736893047703119397220982675702050956839200701077621990397725836604427034404379663557885466646707973849684594280278347428587355960384827335660172148520429979711477324879115116030265605145311269794719894532733980845938610251804009038322525105035021424249060179736159195594716896547159713598958447930868212759221865920932196958142806580387938379915192220985915423395899706262158300532639589804618417577594333017717255089066154808622449999 652534908054956100077913261486637868764055420147102417891281426427427606161534878759804754396361446407727153326738824002354547275265710499164410129905046288176472901276355689937649611235110559322999718363254717384708440419638572197911798689620516847712497110307683096378670535634948101676352525244988875108347761517765116295372964242351904367500396247658866710855460541310912555478103849833746916279524168634635418535310095648067952465573528006894658642815807367568449827619787145897456629507093970176338291192501450721586627245193331814402260605135572748087346767374228356063434228453303813940310092713700768344947317612468922057741379539972645313239723340293584083004229735878017879642502487191876620356865168793612319290459511070055455318484590903200814897133943850440589370701324933202419852847603045027496274780457468457797029199834217349646121144378107151336175877837873666292974498677304677853268040737871778782373478815567689467783176812247041286528162572468017818692904129121968333506114563676971337467653500249148270524420959926774446454810578304782665312031363876987200292909118200394075602202725460375455921876062704257616724049528607642595964255853271822943863725268954788104121960463707254366217025893198933624691661854016977551780855351666642451202045793405893104494607133416425212920152753453979396156848944960981039218567733974159148663287521212376088230460590198309868368065616209120633308348243655803004978625212696805660086635625057930474945922950317249846875370024154785678007317142673445402125019362488751490852062195507949749850807300796357408940236295012665311493598797698236768575114421100294617003207254108337085856103341802393218809886696010883909791486186973045049050585326693443454195353373614641075851315684354657021944916786918594386483628004008394235152918899592057964853973237543940972488959969686665904718798674230965943491761112813668083647944485859385864470268937945683821748779773066835447298085913458400431586126322865678851033234657546192776638386156276357052047358618901244085720859649774345673735411449267309855660726911755142200532976886905372243890916352291505175844400491763272133850955052884456613065399294712653185655172383435986658155221259654582143178580605449486242784190638217254224767568069590058385813791210409190585270001771694176158101695726933326402430345880384482340526870146278241796380568226175859101231022887439898723862008494927107225077638991140866111527195094278650863768797483082090335613588352393274523813643978504184851601017178809775426303176535428919998423752014061010251124863674636260171475388277711862720522943764293935533201471494455737903359662544922522627193345876133027409685207409467581870715519491097482586786877731009120769210429852864984955162972785377850366026698225637653466389654954947216295706656799080949183466416711479197083452955527168653446026907693472275227216117332943964105028099306483706655048208004890864356996767769912872483709278616869365161691578052909159062157554741179631920637719822250911170563010869279741813450252646598000149206936245435927226562705299611488811539013458013537085294942693792233758755137864669108544860147573800500000002 1055823660078706507598058436667947234939768374001508402599925397002869917600563221603832016752819330846788623952229763685710121860112871548195756343758777823686060693778390507336466065391379915058832039686315362191522042330864131886079528126816557444073454370087577013309194830607416343634160631383476070974788723691236828906725259988515080158763403198544211421768783245298530283598143464154724904169923659779710287191219733777367243188286400299644088924516500081289129770000942863072306968250677157431910477352462681305369390688507199104514401573379156377938510723881402963040688411229464167968522011312218479929751398276352174689483573535831364173793920555139796884162665596994665734659946308587314233658535318841886345607174491973972054620751897945935937948725886409181857534562694371461865367113536536339742768075795585868492392794758789103865563876298808632026130732915261815571631128808511269354572177610469816713829886260551135665815446872408042157667031581005505155074856192642185512861893893475162484743594697708081977969505973835567570553424570111002800329875377186068168019834081748269335026589238691522920506948396891332488426714179475646027951266062603846725878974655302685221468108854047506349061596141442387383000665490326148753600070451648091978413307563618972571407580710062562623195286089370118215873469364752834564545178043939164564265155650089824938555764629931728246689439487580519631181272180788700821867924240396434149350547396607095552554126878594962460641437891451529605358205066283591247407591486250344690227254636670851581260149971665218963896308002441978599157959469912619209448258508572108661032734030068407855940655520506123086378746253983514268400231623505379019738440991252021031274149559748882310825684199650801568086948887075297069016940085551681020491342777180753992361788077136260101258774880450441017588554043764859765339965754811653320736608793206945081714224646412709952568257230831219548109256754881530961983077590299828849448804568438234926359963006816721258455065664089384592871527827213262625579825329716072133580681324387314281824236454907697611583928196253773332891987533673309148024695381127456880156124156231671269115614769209673405184807923758211646098661274093801901099080048669087887697770591497945431279289402566044284863966733292099208305164006679263588643336317438539156479749253704435155440696952276138993601157961588846181257844040095262285799808664969705077136384177814678871278764001943855034723790439327319285595393509487662665757326540826844396674507658177785086432891534284056670198376729702866129366204929247340809030907051707340965030804273011540417712227909637416748889155099999022813913210729322749757954507290424947884121872817338816942947322900568104352383955461079901322865898926715275456787380791551643330111036462638834650113124685328881677733233874597240801987292520807935399364637762923675582352978421599736920653353316160659076891300503893718422319530420878403484216683087930583311217734477338827515354616369410624769521458800147954572672118567530197107349742825823865606477897520597404234934913164275695385827582283596852176332732197686825799949213728609122450001 1708358568133662607675971698154585103703823794148610820491206823430297523762098100363636771149180777254515777278968587688064669135378582047360166473663824111862533595054746197274115676626490474381831758049570079576230482750502704083991326816437074291785951480395260109687865366242364445310513156628464946083136485209001945202098224230866984526263799446203078132624243786609442839076247313988471820449447828414345705726529829425435195653859928306538747567332307448857579597620730008969763597757771127608248768544964132026956017933700530918916662178514729126025857491255631319104122639682767981908832104025919248274698715888821096747224953075804009487033643895433380967166895332872683614302448795779190854015400487635498664897634003044027509939236488849136752845859830259622446905264019304664285219961139581367239042856253054326289421994593006453511685020676915783362306610753135481864605627485815947207840218348341595496203365076118825133598623684655083444195194153473522973767760321764153846368008457152133822211248197957230248493926933762342017008235148415785465641906741063055368312743199948663410628791964151898376428824459595590105150763708083288623915521915875669669742699924257473325590069317754760715278622034641321007692327344343126305380925803314734429615353357024865675902187843478987836115438842824097612030318309713815603763745777913323712928443171302201026786225220130038115057505103789640264489620424444503826846549453093239809437183021665026027500049828912212307516807915606315283365522208957036649532610848739096181079316832178801331110957272461576372836544297454643910651558267610855978023372929672403278035941284176744941796758862308516305188632949994398178191717810478424068789026317945464485469502933363523386676999884005458590031865673993891455500568089560075255644261676772811957215761314680201073747734850137106922307352717995825708831726867625321404384553279066330946184493584358393774317037003898054995407342668339931393569203913165507700482039225984427702998349163093078310502424282990628678592387476987608299315236778983381989241408236142456482357213341813069855474844548545278508736388025436581281875650434011913493221523450944324454770787152645660063340029183412793789277241879543288143883270686886342112465338661088003817093080612975234870133968504986275366406859733612589991073682197823021497006619399982676951821265178451998094832180849028744905119852535022369510877447656110571188663579272093329735047561485025945370337378791720593809409037487991847517358343719636619822977684193606705084856643548345066921323240404339126300841593206959203529553850816001276498232275767467278321071890454559939376082500976132050223598418138790331628670026781522430470908750548347937712157752753433089307546928246457751688892597152352928923177035746498859625817693261719783833579541396808078761186189401765894248014200214280210626580755095867639687381077728083443575701561321051523433888068273806590906028809037747768645908261140839742373375289218518459435992336191661535940084469669427696386122371214128197256556679071259792833040602820208893046473926622289232471122524977389085935087870062355934344809361302409622450003 2764182228212369115274030134822532338643592168150119223091132220433167441362661321967468787902000108101304401231198351373774790995491453595555922817422601935548594288833136704610581742017870389440663797735885441767752525081366835970070854943253631735859405850482837122997060196849780788944673788011941017057925208900238774108823484219382064685027202644747289554393027031907973122674390778143196724619371488194055992917749563202802438842146328606182836491848807530146709367621672872042070566008448285040159245897426813332325408622207730023431063751893885503964368215137034282144811050912232149877354115338137728204450114165173271436708526611635373660827564450573177851329560929867349348962395104366505087673935806477385010504808495017999564559988386795072690794585716668804304439826713676126150587074676117706981810932048640194781814789351795557377248896975724415388437343668397297436236756294327216562412395958811412210033251336669960799414070557063125601862225734479028128842616514406339359229902350627296306954842895665312226463432907597909587561659718526788265971782118249123536332577281696932745655381202843421296935772856486922593577477887558934651866787978479516395621674579560158547058178171802267064340218176083708390692992834669275058980996254962826408028660920643838247309768553541550459310724932194215827903787674466650168308923821852488277193598821392025965341989850061766361746944591370159895670892605233204648714473693489673958787730418272121580054176707507174768158245807057844888723727275240627896940202334989440871306571468849652912371107244126795336732852299896622509809517737523475187471631438244511939068675314245152797737414382814639391567379203977912446591949433983803088527467309197485516743652493112405697502684083656260158118814561069188524517508175111756276135604453953565949577549391816461175006509730587547939895906761760685474171692622436974725121162072273276027898718230771103726885294234729274543516599423221462355552281503465336549930843794422662629358312169909799568957489947080013271463915304200870924895062108699454122822089560529770764181449796720767467058772744799051841628375559109890429900345815139370373377647607175995723886401921855333468524837107171005435375903153637090044982350735555430000163109252585949248372370015541279154997935238278374574712023740291853579717018515261560653486368653687112107261962130728137088433338810617591086377696575117631796677256321080276265799963449908008606326325486969800405061169231047913095004430997479510183115670260463464219652191851784490171289535082629123591521617134041992430207798136206544338584757867708617463263080040478818738784118364197356124971656076131073037511628868113081386624534071947378355030623365686754655105075654001193659930883707537653011758496079068204379964416538050502955928729724358618483692666082136960438919423276363135050001492735088146025945392858791315269734056149683180496354914637212182510779368777700309328348339458626172130124944228770325684593023695857286951346952561072160709605928469575650958794489781658394363906421897083658439518500340806297281408839786564927856950107260985938111420602260042760144758575031018744900004 4472540796346031722950001832977117442347415962298730043582339043863464965124759422331105559051180885355820178510166939061839460130870035642916089291086426047411127883887882901884697418644360863822495555785455521343983007831869540054062181759690706027645357330878097232684925563092145234255186944640405963141061694109240719310921708450249049211291002090950367687017270818517415961750638092131668545068819316608401698644279392628237634496006256912721584059181114979004288965242402881011834163766219412648408014442390945359281426555908260942347725930408614629990225706392665601248933690595000131786186219364056976479148830053994368183933479687439383147861208346006558818496456262740032963264843900145695941689336294112883675402442498062027074499224875644209443640445546928426751345090732980790435807035815699074220853788301694521071236783944802010888933917652640198750743954421532779300842383780143163770252614307153007706236616412788785933012694241718209046057419887952551102610376836170493205597910807779430129166091093622542474957359841360251604569894866942573731613688859312178904645320481645596156284173166995319673364597316082512698728241595642223275782309894355186065364374503817631872648247489557027779618840210725029398385320179012401364361922058277560837644014277668703923211956397020538295426163775018313439934105984180465772072669599765811990122041992694226992128215070191804476804449695159800160160513029677708475561023146582913768224913439937147607554226536419387075675053722664160172089249484197664546472813183728537052385888301028454243482064516588371709569396597351266420461076005134331165495004367916915217104616598421897739534173245123155696756012153972310624783667244462227157316493627142950002213155426475929084179683967661718748150680235063079980018076264671831531779866130726377906793310706496662248754244580724654862203259479756511183003419490062296129505715351339606974083211815129497501202331238627329538923942091561393749121485416630844250412883020407090332356661333002877879459914230070641950056302781188479224210298887682836112063497796672227246538663138533837322533617293344330350364763584546471711775996249151283866599171058120320178657189074500993531864866290583799224653145033180378188865621422441772112628447913673953065465450628516514025131903743264649941118883473904443570790700713084582150492988053669789059083227309180135183265519659646335991497549110140001307554703977190847454463542722001338341373886971995745775398548022768506904413468485471357700474013980100084042629876045391195256146178630974190512844857538381118731049391343165747868138608683709893961495355807946097059856008818757295501054157052263123261110047006903413015294560853469808825939373914034692367262828407434282967477811953995404700651093231421133303141452284549362581746422986078402317272207478945039200105612678129029298015692949368356652526147954658954957115133877766624072056475958263705944667437051506900234377148496373940776033205369610068057968312914375746387339288752733696649690398139003347344916860995786591620463100968343451272559103161015190327882766408854160328072632238375024046508472322398694489567936333428367350007 7236723024558400838224031967799649780991008130448849266673471264296632406487420744298574346953180993457124579741365290435614251126361489238472012108509027982959722172721019606495279160662231253263159353521340963111735532913236376024133036702944337763504763181360934355681985759941926023199860732652346980198986903009479493419745192669631113896318204735697657241410297850425389084425028870274865269688190804802457691562028955831040073338152585518904420551029922509150998332864075753053904729774667697688567260339817758691606835178115990965778789682302500133954593921529699883393744741507232281663540334702194704683598944219167639620642006299074756808688772796579736669826017192607382312227239004512201029363272100590268685907250993080026639059213262439282134435031263597231055784917446656916586394110491816781202664720350334715853051573296597568266182814628364614139181298089930076737079140074470380332665010265964419916269867749458746732426764798781334647919645622431579231452993350576832564827813158406726436120933989287854701420792748958161192131554585469361997585470977561302440977897763342528901939554369838740970300370172569435292305719483201157927649097872834702460986049083377790419706425661359294843959058386808737789078313013681676423342918313240387245672675198312542170521724950562088754736888707212529267837893658647115940381593421618300267315640814086252957470204920253570838551394286529960055831405634910913124275496840072587727012643858209269187608403243926561843833299529722005060812976759438292443413015518717977923692459769878107155853171760715167046302248897247888930270593742657806352966635806161427156173291912667050537271587627937795088323391357950223071375616678446030245843960936340435518956807919588334781682368051317978906269494796132268504535584439783587807915470584679943856370860098313123423760754311312202802099166241517196657175112112499270854626877423612883001981930045900601228087625473356604082440541514782856104673766920096180800343726814829752961714973502912677448417404177150655221520218085389350149105360996382290234885587357201998010720112935254604789592390038143382191993139143656362141676342064290654239976818665296315902543590996356327000389703397754804660029048186817468233847972157997202112791557166259902313837820644057793180129838981543024515830907214196297150507719228346142803979356707356901166345189439908272271698858470263927077875245685257633104231960298271123720263506171909346947700212458965546180459717253816419999417899482950867883589684240563548262282067897175685427435713713603314104366474672423111161257189479372292206723366551418511424758435848424915798640127182954651626025813128394196298621675875016494401919094925417187180969997279721447022367904061435476627408695661533057712409589310489337683105868822599865537675152710437020800964873561081999639025035954492164348017185684456502678471540813450270226849190027449804568411390595475888455446805829207209562725487955000112906158149598380393742561336610233033338686241313805857359296326608578998303711350777444985984369522865427109712077603501821487609291606195419088185022739499360962157929074582441454634326511364447112250011 11709263820904432561174033800776767223338424092747579310255810308160097371612180166629679906004361878812944758251532229497453711257231524881388101399595454030370850056608902508379976579306592117085654909306796484455718540745105916078195218462635043791150120512239031588366911323034071257455047677292752943340048597118720212730666901119880163107609206826648024928427568668942805046175666962406533814757010121410859390206308348459277707834158842431626004610211037488155287298106478634065738893540887110336975274782208704050888261734024251908126515612711114763944819627922365484642678432102232413449726554066251681162747774273162007804575485986514139956549981142586295488322473455347415275492082904657896971052608394703152361309693491142053713558438138083491578075476810525657807130008179637707022201146307515855423518508652029236924288357241399579155116732281004812889925252511462856037921523854613544102917624573117427622506484162247532665439459040499543693977065510384130334063370186747325770425723966186156565287025082910397176378152590318412796701449452411935729199159836873481345623218244988125058223727536834060643664967488651947991033961078843381203431407767189888526350423587195422292354673150916322623577898597533767187463633192694077787704840371517948083316689475981246093733681347582627050163052482230842707771999642827581712454263021384112257437682806780479949598419990445375315355843981689760215991918664588621599836519986655501495237557298146416795162629780345948919508353252386165232902226243635956989885828702446514976078348070906561399335236277303538755871645494599155350731669747792137518461640174078342373277908511088948276805760873060950785079403511922533696159283922908257403160454563483385521169963346064263865862052018979697654420175031195348484553660704455419339695336715406321763164170804809785672514998892036857664302425721273707840178531602561566984132592774952489976065141861030098729289956711983933621364483606344249853795252336727025050756609835236843294071634835915555327877318407221297171576520866577829373315659884065126346949085153874225257258776073788442112126007331487712542357902728202833853452338313441938106575989723416636081200780070857320532254569688338603884682193219997846422713593580438974225420005079933855379303271272574307205261742724807674456949790688100740721298419941430724954472344761026690225428416749088407454964378129910263069372794795397634411786664275461971174727048893910685289074099430961291955858265276584926903831367968422225584063698220663632304911943942566880683581892344577504617211332210804229892306580822538040074861975235128405386253791656371012858496136001711947127079970180657319559731722881919907417213655778886996006909371193756139389630732468869759594886507615528462413060682541910470986247321107149228119421575696515423118237081040027038839130648632621193646032878633824859330997688768109225183964323905216428640467866553739594400114242880714109797102636451374053682191354967990461800529649524608779726025530066539554008986724747582345648628211773231577604832623833770560984636706662836677937174372604273248513095371737735986204437546904840149123894447697875479600018 18945986845462833399398065768576417004329432223196428576929281572456729778099600910928254252957542872270069337992897519933067962383593014119860113508104482013330572229329922114875255739968823370348814262828137447567454073658342292102328255165579381554654883693599965944048897082975997280654908409945099923539035500128199706150412093789511277003927411562345682169837866519368194130600695832681399084445200926213317081768337304290317781172311427950530425161240959997306285630970554387119643623315554808025542535122026462742495096912140242873905305295013614897899413549452065368036423173609464695113266888768446385846346718492329647425217492285588896765238753939166032158148490647954797587719321909170098000415880495293421047216944484222080352617651400522773712510508074122888862914925626294623608595256799332636626183229002363952777339930537997147421299546909369427029106550601392932775000663929083924435582634839081847538776351911706279397866223839280878341896711132815709565516363537324158335253537124592883001407959072198251877798945339276573988833004037881297726784630814434783786601116008330653960163281906672801613965337661221383283339680562044539131080505640024590987336472670573212712061098812275617467536956984342504976541946206375754211047758684758335328989364674293788264255406298144715804899941189443371975609893301474697652835856443002412524753323620866732907068624910698946153907238268219720271823324299499534724112016826728089222250201156355685982771033024272510763341652782108170293715203003074249433298844221164492899770807840784668555188408038018705802173894391847044281002263490449943871428275980239769529451200423755998814077348500998745873402794869872756767534900601354287649004415499823821040126771265652598647544420070297676560689669827327616989089245144239007147610807300086265619535030903122909096275753203349060466401591962790904497353643715060837838759470198565372978047071906930699957377582185340537703805025121127105958469019256823205851100336650066596255786608338828232776294722584371952393096738951967179522421020880447416581834672511076223267978889009043046901718397369631094734351041871859195995128680377732592346552808388712951983744371067213647532644273086093408544711241406815314656561565738436176338211562246193757693141091916632100385391581706350698972780697902297037871806139169776867758451701468383591391773606188996679726663236600174190147248040480655267516018624573733094894990555065820032236774311889926838136317982530401346903249267451373093467653382461227180567194011839742566111017606058180818721577806883227341053563770301910332281585341786546916811012227504795928657136263184666598753105783309051515858353398756936401819132750704304183187879368473477586411998636530305236222295203277061520125470271852399808669353189929749093657096728406952443919201954601109038478155684587113357994050064318281362009469229581559495410813513932666233208879257149215482855561048709921319359828124406374166588349504566370855543090986134841813064711771380345411368283051356161343952339562550676563589202146699197670696714310164658165546465978799692336698118111237096948362366621487281603758220959062322591850029 30655250666367265960572099569353184227667856315944007887185091880616827149711781077557934158961904751083014096244429749430521673640824539001248214907699936043701422285938824623255232319275415487434469172134933932023172614403448208180523473628214425345805004205838997532415808406010068538109956087237852866879084097246919918881078994909391440111536618388993707098265435188310999176776362795087932899202211047624176471974645652749595489006470270382156429771451997485461572929077033021185382516856441918362517809904235166793383358646164494782031820907724729661844233177374430852679101605711697108562993442834698067009094492765491655229792978272103036721788735081752327646470964103302212863211404813827994971468488889996573408526637975364134066176089538606265290585984884648546670044933805932330630796403106848492049701737654393189701628287779396726576416279190374239919031803112855788812922187783697468538500259412199275161282836073953812063305682879780422035873776643199839899579733724071484105679261090779039566694984155108649054177097929594986785534453490293233455983790651308265132224334253318779018387009443506862257630305149873331274373641640887920334511913407214479513686896257768635004415771963191940091114855581876272164005579399069831998752599056276283412306054150275034357989087645727342855062993671674214683381892944302279365290119464386524782191006427647212856667044901144321469263082249909480487815242964088156323948536813383590717487758454502102777933662804618459682850006034494335526617429246710206423184672923611007875849155911691229954523644315322244558045539886446199631733933238242081389889916154318111902729108934844947090883109374059696658482198381795290463694184524262545052164870063307206561296734611716862513406472089277374215109844858522965473642905848694426487306144015492587382699201707932694768790752095385918130704017684064612337532175317622404822892062973517862954112213767960798686667538897324471325169508727471355812264271593550230901856946485303439549858243174743788104172040991593249564673259818545008895736680764512542928783757664950448525237665082831489013844404701118807276708944600062029848581018691174530453128798112129588064945151138070968064898842774432012429393434626813161079275159318875150563631567326127613072444363189206407590653324431158373429730488590397778593104559111207592712924046229410281617202022938085087181627614730084453216620835276052901927805288849195066069717603959730717525848411320888130092176247806986273807080635419795319051717080681890812872105955782309446794599498402758323338789139094031570945870351124448372356447317021675322197266019161166941515632399186378545880185753489708835418085121638856309236346406483191179194788739667233725801629368999174995817181710892589982538530954394310279655600511036898321776518304103467867037439035641136077317286333219734551640082942952106221340466918349668720594777837837882661849347123702955077255675291590635429156930760857748220270540859534361317343620635659450592790737301446884965377269776103743689600967774323908141194034770532968231681351016827494843483640351403965585211213482974832934566804168392121752882115406760198071450047 49601237511830099359970165337929601231997288539140436464114373453073556927811381988486188411919447623353083434237327269363589636024417553121108328415804418057031994515268746738130488059244238857783283434963071379590626688061790500282851728793793806900459887899438963476464705488986065818764864497182952790418119597375119625031491088698902717115464029951339389268103301707679193307377058627769331983647411973837493553742982957039913270178781698332686854932692957482767858560047587408305026140171996726388060345026261629535878455558304737655937126202738344559743646726826496220715524779321161803676260331603144452855441211257821302655010470557691933487027489020918359804619454751257010450930726722998092971884369385289994455743582459586214418793740939129039003096492958771435532959859432226954239391659906181128675884966656757142478968218317393873997715826099743666948138353714248721587922851712781392974082894251281122700059187985660091461171906719061300377770487776015549465096097261395642440932798215371922568102943227306900931976043268871560774367457528174531182768421465743048918825450261649432978550291350179663871595642811094714557713322202932459465592419047239070501023368928341847716476870775467557558651812566218777140547525605445586209800357741034618741295418824568822622244493943872058659962934861117586658991786245776977018125975907388937306944330048513945763735669811843267623170320518129200759638567263587691048060553640111679939737959610857788760704695828890970446191658816602505820332632249784455856483517144775500775619963752475898509712052353340950360219434278293243912736196728692025261318192134557881432180309358600945904960457875058442531884993251668047231229085125616832701169285563131027601423505877369461160950892159575050775799514685850582462732150992933433634916951315578853002234232611055603865066505298734978597105609646855516834885819032683242661651533172083235932159285674891498644045121082665009028974533848598461770733290850373436752957283135370035805644851513572020880466763575965201957769998770512188418157701644959959510618430176026671793216554091874535915562802070749902011059986471921225843709699068907122799681606500842540048689522205284615597543115860525420974104676033628475735836725057311326901843129572321370765585455105838507976044906137509072402511186492694816464910698280984460471375747697793873008975629127081766908290851330258643363868875756708169443823913422928160964708159025550749762622723210814968228494230337387620710329902871168412519370463143117993439299967622052012905617104460939142060366945977258911999434121426358704638032658808222239008278246665962870172768662371045144633291536798760351276438520395792711055479157187495362382668108140711312213628005529480232039476914169651502664001226246710088324953700966647415433615032510420310956640990242245115795442017806847909634133007270387583349936147931228216005591351770548895058226380852170560111236340300556748516758885264122386858890364100732172886711621794292405855449072827230376745552827459905033553307336874584704783236917232165902378065326992153009030106330203657921909331594211929882929170789879403356640336365822520663300076 80256488178197365320542264907282785459665144855084444351299465333690384077523163066044122570881352374436097530481757018794111309665242092122356543323504354100733416801207571361385720378519654345217752607098005311613799302465238708463375202422008232246264892105277961008880513894996134356874820584420805657297203694622039543912570083608294157227000648340333096366368736895990192484153421422857264882849623021461670025717628609789508759185251968714843284704144954968229431489124620429490408657028438644750578154930496796329261814204469232437968947110463074221587879904200927073394626385032858912239253774437842519864535704023312957884803448829794970208816224102670687451090418854559223314142131536826087943352858275286567864270220434950348484969830477735304293682477843419982203004793238159284870188063013029620725586704311150332180596506096790600574132105290117906867170156827104510400845039496478861512583153663480397861342024059613903524477589598841722413644264419215389364675830985467126546612059306150962134797927382415549986153141198466547559901911018467764638752212117051314051049784514968211996937300793686526129225947960968045832086963843820379800104332454453550014710265186110482720892642738659497649766668148095049304553105004515418208552956797310902153601472974843856980233581589599401515025928532791801342373679190079256383416095371775462089135336476161158620402714712987589092433402768038681247453810227675847372009090453495270657225718065359891538638358633509430129041664851096841346950061496494662279668190068386508651469119664167128464235696668663194918264974164739443544470129966934106651208108288875993334909418293445892995843567249118139190367191633463337694923269649879377753334155626438234162720240489086323674357364248852424990909359544373547936375056841627860122223095331071440384933434318988298633857257394120896727809627330920129172417994350305647484543596145601098886271499442852297330712659979989480354144042576069817582997562443923667654814229620673475355503094688315808984638804567558451522443258589057197313894382409472502439402187840977120318454219174706024929407206771868709287768931071983255692290717760081653252810404612972128113634673343355583662441958634957433403498110660441636815111884376186477465474696898448983838029818295044915566698230568667445832241675083092595058015257392192053184299793927204154626177652065166854089918466060343096580489711032761071371629202272123227034425762985281467288471134531703098320670478144373894517410538290963731571087543825008806311405923404361459700216602863697465399156085071290482945304472550807076994479975829897561205544265827129811688401061557423690513477290288469186694523642034649020291825563670686541577456847807945038015257374528655227856658625062241485202532180641020367980554212003545737210133336613888177994080025883381193112728351026582461274215950222493804690403066280896936600369189608431556907573504555125637366911631891192177673689646121870607129431223635093490230332257453742998646186374274115342122822603563648723154275111198492845977271687765134134059416343819647852513746681607623507120545077186762817495974958271525109522451772582718734750123 129857725690027464680512430245212386691662433394224880815413838786763941005334545054530310982800799997789180964719084288157700945689659645243464871739308772157765411316476318099516208437763893203001036042061076691204425990527029208746226931215802039146724780004716924485345219383982200175639685081603758447715323291997159168944061172307196874342464678291672485634472038603669385791530480050626596866497034995299163579460611566829422029364033667047530139636837912450997290049172207837795434797200435371138638499956758425865140269762773970093906073313201418781331526631027423294110151164354020715915514106040986972719976915281134260539813919387486903695843713123589047255709873605816233765072858259824180915237227660576562320013802894536562903763571416864343296778970802191417735964652670386239109579722919210749401471670967907474659564724414184474571847931389861573815308510541353231988767891209260254486666047914761520561401212045273994985649496317903022791414752195230938829771928246862768987544857521522884702900870609722450918129184467338108334269368546642295821520633582794362969875234776617644975487592143866190000821590772062760389800286046752839265696751501692620515733634114452330437369513514127055208418480714313826445100630609961004418353314538345520894896891799412679602478075533471460174988863393909388001365465435856233401542071279164399396079666524675104384138384524830856715603723286167882007092377491263538420069644093606950596963677676217680299343054462400400575233323667699347167282693746279118136151707213162009427089083416643026973947749022004145278484408443032687457206326695626131912526300423433874767089727652046838900804025124176581722252184885131384926152354775496210454503441189569261764143746366455784835308256408427475766708874230224130399107207834561293757140046646650293387167666930043902498923762692855875324915236977775646007303813382988890146195129317684334818430785117743795974757781062654489383118576424668279353730853294297104407771512756043511161147946201887829865105568143523653480213257359569385732052084054432461950020618017003792111670773266580560844970008842618611298828917543904481536000416828988776052492011113814668162324195548640199259985074495482854377602786694070112550948609433497804367317826470770354603615273400883423542743136706176518234752861575787411522925955673176513655675541624998027635153281192248620998209317390601739944358586789469240815453115695051387999133922010832217051093857742518066549164708481761515227740441162132144090458006968126799750705891026413472605833707324636607459523031048549394944738593977165781632512634638119800213822512493092681861169723928468835146768827087229537970962162430441731347304720858181903960124955948656350228885380058135459896135539231892987866533406887730456305507912970193152643748369124308488950721016125626308908170368833430370908348957492881388040339214212125152605960541378980451965799885407296197478147972191748926190448531385992993988321587735825663117043879248035404501635447101345718868375431023553756707582448073077550760508604997300036437481670811800861543853011811281429029876671398692700425145748150928466162788138405239398050199 210114213868224830001054695152495172151327578249309325166713304120454325082857708120574433553682152372225278495200841306951812255354901737365821415062813126258498828117683889460901928816283547548218788649159082002818225292992267917209602133637810271392989672109994885494225733278978334532514505666024564105012526986619198712856631255915491031569465326632005582000840775499659578275683901473483861749346658016760833605178240176618930788549285635762373424340982867419226721538296828267285843454228874015889216654887255222194402083967243202531875020423664493002919406535228350367504777549386879628154767880478829492584512619304447218424617368217281873904659937226259734706800292460375457079214989796650268858590085935863130184284023329486911388733401894599647590461448645611399938969445908545523979767785932240370127058375279057806840161230510975075145980036679979480682478667368457742389612930705739115999249201578241918422743236104887898510127085916744745205059016614446328194447759232329895534156916827673846837698797992138000904282325665804655894171279565110060460272845699845677020925019291585856972424892937552716130047538733030806221887249890573219065801083956146170530443899300562813158262156252786552858185148862408875749653735614476422626906271335656423048498364774256536582711657123070861690014791926701189343739144625935489784958166650939861485215003000836263004541099237818445808037126054206563254546187718939385792078734547102221254189395741577571837981413095909830704274988518796188514232755242773780415819897281548518078558203080810155438183445690667340196749382607772131001676456662560238563734408712309868101999145945492731896647592373294720912619376518594722621075624425375588207837596816007495926863986855542108509665620657279900757618233774597678335482264676189153879363141977721733772101101249032201132781020086976772052724864308695775179721807733294537630738725463285433704702284560596093305470441042643969737262619000738096936728415738220772062585742376716986516651040890203638849744372711082105002656515948626583045946466463904964389422805857980912430124992441286585774377215614487320586597848615887737228291134589070429305302415726786796275958868891995782922427033130440287781100897354511749366060493809684281832792523369219338441645091695928339109441367274843964066994536658880006580941213065368566839975335552202182261330933257415475088127783450944836524848297822230312187082317967174615033559684996113684339564992274221164869835186626135409745150979453095875661545550793135606062111814430774932306050310188334072858679116119839877890043066527972858626992610468017361419366778320222493549570785485892525660246117375698724665485804465090751639130284528868445537581803756601388244142754586790687752794164294134473069065587528750824286062124973738889853881705738196666944801042009007502020898719860012832182564907715375192730742280493022089206329730987412008873373389962421834845059604082941103864138177507863601117752811370919153347376136701778403147821821375461060991198034587202479861857559271570396737780292762434170496898014631448714057599693418904936150421748585455517921120706422453575685239910987958132800322 339971939558252294681567125397707558842990011643534205982127142907218266088192253175104744536482952370014459459919925595109513201044561382609286286802121898416264239434160207560418137254047440751219824691220158694022651283519297125955829064853612310539714452114711809979570952662960534708154190747628322552727850278616357881800692428222687905911930004923678067635312814103328964067214381524110458615843693012059997184638851743448352817913319302809903563977820779870224011587469036105081278251429309387027855154844013648059542353730017172625781093736865911784250933166255773661614928713740900344070281986519816465304489534585581478964431287604768777600503650349848781962510166066191690844287848056474449773827313596439692504297826224023474292496973311463990887240419447802817674934098578931763089347508851451119528530046246965281499725954925159549717827968069841054497787177909810974378380821914999370485915249493003438984144448150161893495776582234647767996473768809677267024219687479192664521701774349196731540599668601860451822411510133142764228440648111752356281793479282640039990800254068203501947912485081418906130869129505093566611687535937326058331497835457838791046177533415015143595631669766913608066603629576722702194754366224437427045259585874001943943395256573669216185189732656542321865003655320610577345104610061791723186500237930104260881294669525511367388679483762649302523640849340374445261638565210202924212148378640709171851153073417795252137324467558310231279508312186495535681515448989052898551971604494710527505647286497453182412131194712671485475233791050804818458882783358186370476260709135743742869088873597539570797451617497471302634871561403726107547227979200871798662341038005576757691007733221997893344973877065707376524327108004821808734589472510750447636503188624372027159268768179076103631704782779832647377640101286471421187025621116283427776933854780969768523133069678339889280228222105298459120381195425406376290459269032517876470357255132760497677798987092091468714849940854605758482869773308195968777998550518337426339443423874984704541795765707867146619347224457105931885426766159792218764291551418059205357794426840601464438283064440635982182412107625923142158703684048581861917009103243182086200110349839989693045260365096811762652184503981020482301747398234667418103867168738545080495650877177200209896484214449664096086337100841546576469206884611699553002535433662226003032693607006945901390658850016739231418999895107896924972891420615228019752003557761262405812817705457188404911884017512970680318202147168389272834781660505138640259505245106137161633189290813315175410740509414361360807014944462928262636447966895532482986435005387050349497706759705257738473028134644926147648929703526027460935598994416481280591570037943932042497630074862505155895522058134633810929069088693443203090913865208256580771081494705147241812290272366392460839173275369718032323207576274690030054586708893856595106074399106744816464420015949813807649457268476806779859573465610756236569440007344647947498288897759734206934379685443249575601452705230186365180298419984148218346266454573382041848028049393197530850521 550086153426477124682621820550202730994317589892843531148840447027672591171049961295679178090165104742239737955120766902061325456399463119975107701864935024674763067551844097021320066070330988299438613340379240696840876576511565043165431198491422581932704124224706695473796685941938869240668696413652886657740377265235556594657323684138178937481395331555683649636153589602988542342898282997594320365190351028820830789817091920067283606462604938572276988318803647289450733125765864372367121705658183402917071809731268870253944437697260375157656114160530404787170339701484124029119706263127779972225049866998645957889002153890028697389048655822050651505163587576108516669310458526567147923502837853124718632417399532302822688581849553510385681230375206063638477701868093414217613903544487477287069115294783691489655588421526023088339887185436134624863808004749820535180265845278268716767993752620738486485164451071245357406887684255049792005903668151392513201532785424123595218667446711522560055858691176870578378298466593998452726693835798947420122611927676862416742066324982485717011725273359789358920337378018971622260916668238124372833574785827899277397298919413984961576621432715577956753893826019700160924788778439131577944408101838913849672165857209658366991893621347925752767901389779613183555018447247311766688843754687727212971458404581044122366509672526347630393220583000467748331677975394581008516184752929142310004227113187811393105342469159372823975305880654220061983783300705291724195748204231826678967791501776259045584205489578263337850314640403338825671983173658576949460559240020746609039995117848053610971088019543032302694099209870766023547490937922320830168303603626247386870178634821584253617871720077540001854639497722987277281945341779419487070071737186939601515866330602093760931369869428108304764485802866809419430364965595167196366747428849577965407672580244255202227835354238935982585698663147942428857643814426144473227187684770738648532942997509477484194450027982295107564594313565687863485526289256822551823945016982242390728866229732965616971920758149153732393724440071593252472024614775679955992582686007129634663096842567388260714241933332631765104839140756363429939804581403093611283069597052866368032902873209209031486905456792740101761625871255864446368741934893547424684808381803913647335626212729402392157815147707079571174464884292491412994055182433929865189617751629400618066253292003059585730223842290960396288835081734032334718042400068323895413549108554398011874929519887963337217934327701304753176881263288229150724824727033111498886497855574154523052556069133537668960311294900253886467261061838626987301933771360623234625565289915918795035288563461859126717170889231716835401723867820161934004664581945232104877632162917670932351511780600701822840323100143641312949967808553456035273478772923631773501823775198169331018620003353804469712546665332139867168267180357631133918724886401720196223827210477663969811796152651592210797279089852267840850771500197958716431297566616218344236069190522168377431277700074698289659052398649091301330720168569603736267387160995835617533267960381155663650843 890058092984729419364188945947910289837307601536377737130967589934890857259242214470783922626648057112254197415040692497170838657444024502584393988667056923091027306986004304581738203324378429050658438031599399390863527860030862169121260263345034892472418576339418505453367638604899403948822887161281209210468227543851914476458016112360866843393325336479361717271466403706317506410112664521704778981034044040880827974455943663515636424375924241382180552296624427159674744713234900477448399957087492789944926964575282518313486791427277547783437207897396316571421272867739897690734634976868680316295331853518462423193491688475610176353479943426819429105667237925957298631820624592758838767790685909599168406244713128742515192879675777533859973727348517527629364942287541217035288837643066409050158462803635142609184118467772988369839613140361294174581635972819661589678053023188079691146374574535737856971079700564248796391032132405211685501680250386040281198006554233800862242887134190715224577560465526067309918898135195858904549105345932090184351052575788614773023859804265125757002525527427992860868249863100390528391785797743217939445262321765225335728796754871823752622798966130593100349525495786613768991392408015854280139162468063351276717425443083660310935288877921594968953091122436155505420022102567922344033948364749518936157958642511148383247804342051858997781900066763117050855318824734955453777823318139345234216375491828520564956495542577168076112630348212530293263291612891787259877263653220879577519763106270969573089852776075716520262445835116010311147216964709381767919442023378932979516255826983797353840176893140571873491550827368237326182362499326046937715531582827119185532519672827161011308879453299537895199613374788694653806272449784241295804661209697690049152369519226465788090638637607184408396190585646642066808005066881638617553773049965861393184606435025224970750968423917275871865926885253240887978025009851550849517646953803256525003300252642237981872249015074386576279444254420293621968396062565018520601943567500579817068309653607950321513716523857020879013071664528699184357451380935472174756874237425188840020891269407989725152524997773267747287251248382286572098508265451675473200078700296048454233013223049198724532165821889551864413810375236884928670489333128214842788675550542458727831277089906602602054299362156743667260801985134037989463262067045629418192153185291626621098946899010005487120882692307699627707834976841929259690933820683551915165552666315660417687747225345151742129818345214275433495083410456618423559606387538250139146003100680291684685745359946852844371051804314615247274276006301555249938381738256155717612000295302969144532995323167116865190199023876642983050653571346189394940263576361713385469202200861602974849141855463206978735845158278275123879036897246899238364392638131888354272905269903316572830910275720196930551719940701857899491474756632321163973311595295576791329901609584408786276216168601406018446736358329074620710344965808714953000737573960866291734358088281902584365657385517947865260505103879277666511018588553751954613653615569217659381296009774353194501364 1440144246411206544046810766498113020831625191429221268279808036962563448430292175766463100716813161854493935370161459399232164113843487622559501690531991947765790374537848401603058269394709417350097051371978640087704404436542427212286691461836457474405122700564125200927164324546838273189491583574934095868208604809087471071115339796499045780874720668035045366907619993309306048753010947519299099346224395069701658764273035583582920030838529179954457540615428074449125477839000764849815521662745676192861998774306551388567431229124537922941093322057926721358591612569224021719854341239996460288520381720517108381082493842365638873742528599248870080610830825502065815301131083119325986691293523762723887038662112661045337881461525331044245654957723723591267842644155634631252902741187553886337227578098418834098839706889299011458179500325797428799445443977569482124858318868466348407914368327156476343456244151635494153797919816660261477507583918537432794399539339657924457461554580902237784633419156702937888297196601789857357275799181731037604473664503465477189765926129247611474014250800787782219788587241119362150652702465981342312278837107593124613126095674285808714199420398846171057103419321806313929916181186454985858083570569902265126389591300293318677927182499269520721720992512215768688975040549815234110722792119437246149129417047092192505614314014578206628175120649763584799186996800129536462294008071068487544220602605016331958061838011736540900087936228866750355247074913597078984073011857452706256487554608047228618674058265653979858112760475519349136819200138367958717380001263399679588556250944831850964811264912683604176185650037239003349729853437248367767883835186453366572402698307648745264926751173377077897054252872511681931088217791563660782874732946884629650668235849828559549022008507035292713160676388513451486238370032476805813920520478815439358592279015269480172978803778156211854451625548401183316835668824277695322744834638573995173536243250151715466066699043056681683844038567985981485453922351821841072425888584482822207797175883340915938485637282006174611406796104600292436829475995711152130749456923432318474683988111975377985866766931105899512392090389138650002038312846854769084483148297348914822265916096258407756019071278682291966175436246492749375039231268021762267473483932346372375166903302636004994212114509863823238435266869426529402457317249479559283381770936921027239165200191013065072851106534598660023996670058575961594408976220751875810579101774870058429562676745233115079347752672915580186671964673744847574284431114571361638032500956254446207738301429080390513331363099214869133741537068140182237240315509616778952237565585218887939568283886628975991907369913108359818452377439166351328944928158306945490346834363779273907200653636063908801576168258421916436829004705800355273637871411055520127774729045101485903849530279074001400264266606033997766659741936989952297892036481697296987553728820062072756088012321252998229244015448181342461561116466006673669432035140577084635970427278804070961796935085592646154919557502528368967841738757123355690881040776565053276914563970155508858152207 2330202339395935963410999712446023310668932792965599005410775626897454305689534390237247023343461218966748132785202151896403002771287512125143895679199048870856817681523852706184796472719087846400755489403578039478567932296573289381407951725181492366877541276903543706380531963151737677138314470736215305078676832352939385547573355908859912624268046004514407084179086397015623555163123612041003878327258439110582486738728979247098556455214453421336638092912052501608800222552235665327263921619833168982806925738881833906880918020551815470724530529955323037930012885436963919410588976216865140604815713574035570804275985530841249050096008542675689509716498063428023113932951707712084825459084209672323055444906825789787853074341201108578105628685072241118897207586443175848288191578830620295387386040902053976708023825357071999828019113466158722974027079950389143714536371891654428099060742901692214200427323852199742950188951949065473163009264168923473075597545893891725319704441715092953009210979622229005198216094736985716261824904527663127788824717079254091962789785933512737231016776328215775080656837104219752679044488263724560251724099429358349948854892429157632466822219364976764157452944817592927698907573594470840138222733037965616403107016743376978988862471377191115690674083634651924194395062652383156454756740484186765085287375689603340888862118356630065625957020716526701850042315624864491916071831389207832778436978096844852523018333554313708976200566577079280648510366526488866243950275510673585834007317714318198191763911041729696378375206310635359447966417103077340485299443286778612568072506771815648318651441805824176049677200864607240675912215936574414705599366769280485757935217980475906276235630626676615792253866247300376584894490241347902078679394156582319699820605369055025337112647144642477121556866974160093553046375099358444431474293528781300751776885450294705143729772202073487726317552433654424204813693834129246172262481592377251698539543502793953447938948058131068260123482822406275107422318414386859593027832151983402024865485536948866259999353805863195490419867769128991621186927376646624305506331160857507314704879381383367711019291928879167259679341637520936574136821112306444557683226997644963276498929319307606480551237100571843830589246621729634303709720601149977110262159482888831102998180392542607596266413872020566905696068854560567391920579316525188701573924122212653860264147090023070559971989226906359651704505035417890854099910041435427725744654441185718847250423970578266821477571018129855620167048084201465997844037502109611777178504056934737892424046789027243357702414903529484381015813074441737487178697247872934669849565880521857084101279209796092857097568936985002801503031010512540723885191734668658875816036564640876882049795491527115780312013416700191560708041603047254512002264049187408482047634315004802476680440554794198330815986546735855666151216693622273461865348076992873778883630429646481542364228489854404247690751806510417082271461431815388622432772714537950927704785367085973546162592471110594020180062606407646634352757345677107645494694392134270936295859979929862052653571 3770346585807142507457810478944136331500557984394820273690583663860017754119826566003710124060274380821242068155363611295635166885130999747703397369731040818622608056061701107787854742113797263750852540775556679566272336733115716593694643187017949841282663977467668907307696287698575950327806054311149400946885437162026856618688695705358958405142766672549452451086706390324929603916134559560302977673482834180284145503002014830681476486052982601291095633527480576057925700391236430177079443282578845175668924513188385295448349249676353393665623852013249759288604498006187941130443317456861600893336095294552679185358479373206887923838537141924559590327328888930088929234082790831410812150377733435046942483568938450833190955802726439622351283642795964710165050230598810479541094320018174181724613619000472810806863532246371011286198613791956151773472523927958625839394690760120776506975111228848690543883568003835237103986871765725734640516848087460905869997085233549649777165996295995190793844398778931943086513291338775573619100703709394165393298381582719569152555712062760348705031027129003557300445424345339114829697190729705902564002936536951474561980988103443441181021639763822935214556364139399241628823754780925825996306303607867881529496608043670297666789653876460636412395076146867692883370103202198390565479532603624011234416792736695533394476432371208272254132141366290286649229312424994028378365839460276320322657580701861184481080171566050249876288502805946031003757441440085945228023287368126292090494872322365426810437969307383676236487966786154708584785617241445299202679444550178292156628757716647499283462706718507780225862850901846244025642069373822782473483201955733852330337916288124651541162381800053693689308119119812058515982708032911562861554127103466949350488841218883584886134655651677769834717543362673545039284745131835250245394814007596740110369164465564185316708575980229699580769177982055607521649362658406941495007316230951246872075786752945668914005647101187749943967521390392256592876240766208700665453720736466224232662661420289782198484991087869370101826663873729284058016403372357776436255788084289825789388867493358745696886058859985066772071432026659586576175133959161213642166375294993878098764845415566014236570308379254135796764682868222383678748951869171739377735643415235203478165083695178612590478528381884390144131335723987096794377896566004747984955695059133681099429347281036135632823095761505019675701175093993852448508886262187303536323756216055777276813100715811381900825323691045435806839012757946313572128468616680973415211005013189184100162348218107633871033778002744353514757350142581919724419012757489713622087131465740745023669563096425068849004938850093362619955408449678892052830119892975604366162870928420150789250449127591024581888181675122107997537046308847609785640135460242928609822363360106288380529970833868199731080253152769853432810958630612225759757384558690170766437359249708554298452240811107402476934767254691759543832577897822062291864807855115035563675212645890044507959527556703240175099620108936015602194496102800463336375735168699324213210423950085370910805778 6100548925203078470868810191390159642169490777360419279101359290757472059809360956240957147403735599787990200940565763192038169656418511872847293048930089689479425737585553813972651214832885110151608030179134719044840269029689005975102594912199442208160205254371212613688228250850313627466120525047364706025562269514966242166262051614218871029410812677063859535265792787340553159079258171601306856000741273290866632241730994077780032941267436022627733726439533077666725922943472095504343364902412014158475850252070219202329267270228168864390154381968572797218617383443151860541032293673726741498151808868588249989634464904048136973934545684600249100043826952358112043167034498543495637609461943107369997928475764240621044030143927548200456912327868205829062257817041986327829285898848794477111999659902526787514887357603443011114217727258114874747499603878347769553931062651775204606035854130540904744310891856034980054175823714791207803526112256384378945594631127441375096870438011088143803055378401160948284729386075761289880925608237057293182123098661973661115345497996273085936047803457219332381102261449558867508741678993430462815727035966309824510835880532601073647843859128799699372009308956992169327731328375396666134529036645833497932603624787047276655652125253651752103069159781519617077765165854581547020236273087810776319704168426298874283338550727838337880089162082816988499271628049858520294437670849484153101094558798706037004098505120363958852489069383025311652267807966574811471973562878799877924502190036683625002201880349113372614863173096790068032752034344522639687978887836956904724701264488463147602114148524331956275540051766453484701554285310397197179082568725014338088273134268600557817398012426730309481561985367112435100877198274259464940233521260049269050309446587938610223247302796320246956274410336833638592331120231193694676869107536378040862146049915858890460438348182303187307086730415710031726463056492536187667269797823328498570615330255739622361944595159318818204091004212798531700298559180595560258481552888449626257528146957238648458484344893732565592246531642858275679203330749004400741762119245147333104093746874742113407905350788864234031750773664180523150311955071467658199849602292638841375263774734873620717121545479825979627353929489952017982458672470321716487997802898124034581163264087721220186744942253904957049827404578547664186298475882529936686529619181346334959693494371059206192795084988411379327405680129411743302608796303622731262068410657241496124063524686389648722302894709175291427006060842147779569972506118790585192389509070123921992586395007134877228736192906273837895773163217023657211597710005362648291936697346262602107770842306221161706102507787078365421458439460191432776715311627644263241978907493061027671300244619118140362200195091822299558245087911894864297642399509430337091869997675111090857210411388662398061896239699505709098962175324234499221622732635683044545320989679355035840816469300961806724625519061202176626104039329637450914297580569652986491379998012976018054122120027813834195279682715343662236547253448477570981870429560833595149506283930015232963459349 9870895511010220978326620670334295973670048761755239552791942954617489813929187522244667271464009980609232269095929374487673336541549511620550690418661130508102033793647254921760505956946682373902460570954691398611112605762804722568797238099217392049442869231838881520995924538548889577793926579358514106972447706676993098784950747319577829434553579349613311986352499177665482762995392731161609833674224107471150777744733008908461509427320418623918829359967013653724651623334708525681422808184990859334144774765258604497777616519904522258055778233981822556507221881449339801671475611130588342391487904163140929174992944277255024897773082826524808690371155841288200972401117289374906449759839676542416940412044702691454234985946653987822808195970664170539227308047640796807370380218866968658836613278902999598321750889849814022400416341050071026520972127806306395393325753411895981113010965359389595288194459859870217158162695480516942444042960343845284815591716360991024874036434307083334596899777180092891371242677414536863500026311946451458575421480244693230267901210059033434641078830586222889681547685794897982338438869723136365379729972503261299072816868636044514828865498892622634586565673096391410956555083156322492130835340253701379462100232830717574322441779130112388515464235928387309961135269056779937585715805691434787554120961162994407677814983099046610134221303449107275148500940474852548672803510309760473423752139500567221485178676686414208728777572188971342656025249406660756699996850246926170014997062359049051812639849656497048851351139882944776617537651585967938890658332387135196881330022205110646885576855242839736501402902668299728727196354684219979652565770680748190418611050556725209358560394226784003170870104486924493616859906307171027801787648363516218400798287806822195109381958447998016790991953699507183631615865363028944922263921543974780972515214381423075777146924162532886887855908397765639248112419150943129162277114054279745442691117008685291275950242260506568148058525603190788293174799946804260923935273624915850490190808377528430656969335981601935694073195516587559737219734121362177178017907329437158893482614368100859104791409648849300803822205690840109726487089030628871842015977587632719474028620150439634953691853859080115424118612358174401661207624339493455865733446313359238059328347782899832777223470635789347193958740302534760980676372448534684671485314240480016059122841652095341825618180749916399003106855223405595751117682565810034798392166873297273400876625402201030623128218400220727233845073600094093142100974735471558607600514083313106092748743225242511099769970909018191410530513359605576936016722762852361914023828812003347131440405402646230555107446637171728041413847909870324829545431520619867608141778421481178460550693746709164944088376766944407555782134220742474083282534969673265701692361035217379237740382222530597792976492852275562531773133954846724981380117194373215311758348929063590139268710112069209201560286315893936169936617227459513206162388424768022055055210658866062562081647584517074370379302824279677838741749551278034318246164729532919362716707880100603874265127 15971444436213299449195430861724455615839539539115658831893302245374961873738548478485624418867745580397222470036495137679711506197968023493397983467591220197581459531232808735733157171779567484054068601133826117655952874792493728543899833011416834257603074486210094134684152789399203205260047104405878812998009976191959340951212798933796700463964392026677171521618291965006035922074650902762916689674965380762017409986464002986241542368587854646546563086406546731391377546278180621185766173087402873492620625017328823700106883790132691122445932615950395353725839264892491662212507904804315083889639713031729179164627409181303161871707628511125057790414982793646313015568151787918402087369301619649786938340520466932075279016090581536023265108298532376368289565864682783135199666117715763135948612938805526385836638247453257033514634068308185901268471731684654164947256816063671185719046819489930500032505351715905197212338519195308150247569072600229663761186347488432399970906872318171478399955155581253839655972063490298153380951920183508751757544578906666891383246708055306520577126634043442222062649947244456849847180548716566828195457008469571123583652749168645588476709358021422333958574982053383580284286411531719158265364376899534877394703857617764850978093904383764140618533395709906927038900434911361484605952078779245563873825129589293281961153533826884948014310465531924263647772568524711068967241181159244626524846698299273258489277181806778167581266641571996654308293057373235568171970413125726047939499252395732676814841730005610421466214312979734844650289685930490578578637220224092101606031286693573794487691003767171692776942954434753213428750639994617176831648339405762528506884184825325767175958406653514312652432089854036928717737104581430492742021169623565487451107734394760805332629261244318263747266364036340822223946985594222639599133029080352821834661264297281966237585272344836074194942638813475670974575475643479316829546911877608244013306447264424913637894837419825386352149529815989319993473359127399821182416826513365476747718955334767079115453680875334501286319727159445835416423064870366577919780026574584491997576361242842972512696760437713534835572979355020632876799044102096530041865579880271560849292394885313255670813399338906095051472541848126419643666296809815172353731249211483272640491611870621052963968412889694304243786144881082425166974848331064621358014933421826351018816336023154548018413265738327778330512535352817339053726478869432766060460577530538769524940150088590679345431113109396018660851134442241872712073480854262143799990023153437028085335138232377388328506163815292029306303676576629234147614432768215010205960526158265949239211247708867392261209954424250093462872287370061757606260743148264130850120685914542206131850938365827305306288571858766707114027222132637338380924934479103602793562358710328470094950793611192995854872732551781271630735309279081224203002849830056259857079338608418625980085179413031015926185805377096112796040656557096964120459968994421008546435208671842080616203767612330908565658985539623340075289002999755605300116594290366514512222991810115836837724476 25842339947223520427522051532058751589509588300870898384685245199992451687667736000730291690331755561006454739132424512167384842739517535113948673886252350705683493324880063657493663128726249857956529172088517516267065480555298451112697071110634226307045943718048975655680077327948092783053973683764392919970457682868952439736163546253374529898517971376290483507970791142671518685070043633924526523349189488233168187731197011894703051795908273270465392446373560385116029169612889146867188981272393732826765399782587428197884500310037213380501710849932217910233061146341831463883983515934903426281127617194870108339620353458558186769480711337649866480786138634934513987969269077293308537129141296192203878752565169623529514002037235523846073304269196546907516873912323579942570046336582731794785226217708525984158389137303071055915050409358256927789443859490960560340582569475567166832057784849320095320699811575775414370501214675825092691612032944074948576778063849423424844943306625254812996854932761346731027214740904835016880978232129960210332966059151360121651147918114339955218205464629665111744197633039354832185619418439703193575186980972832422656469617804690103305574856914044968545140655149774991240841494688041650396199717153236256856804090448482425300535683513876529133997631638294237000035703968141422191667884470680351427946090752287689638968516925931558148531768981031538796273508999563617640044691469005099948598837799840479974455858493192376310044213760967996964318306779896324871967263372652217954496314754781728627481579662107470317565452862679621267827337516458517469295552611227298487361308898684441373267859010011429278345857103052942155946994678837156484214110086510718925495235382050976534518800880298315823302194340961422334597010888601520543808817987081705851906022201583000442011219692316280538258317735848005855562850957251584521396950624327602807176478678705042014732196507368961082798547211241310222687894794422445991824025931887989455997564273110204913845079680331954500208055419180108286648159074204082106352100138281327237909763712295509772423016856936436980392922676033395153642798991728755097797933904021650891058975610943831617488170086562835639395185045860742603286133132725401883881557467904280323321015035752890624505253197986210475591154206300821304873921149308628219464695524842510699819959653520885741191883525483651437744885183617186147651220779599306029500247662306367077939177675249889844031446488244177333619390576222934804844161435242800858852744403836042925816775490791709968559331509616745894696208042335965854174455589733702407590537236750134178083881457619899428276134724310220716834189936234811083631155531067372119984354970269296370651653111513622816317401061421821504286135279932082435806174668883998458262464336023384592401632112536470250376948625711114669809356353379812464207469448776868495254719745545849332691175833723593647849225404056834162508443233927949184382967024429475168837687537482216119353889525100225127746091692990048965977273784556477326622357419189030601490419330708143178285415196847982936038288363903017914030752551033639618362759019899433874939699690216440711989603 41813784383436819876717482393783207205349127839986557216578547445367413561406284479215916109199501141403677209168919649847096348937485558607346657353843570903264952856112872393226820300505817342010597773222343633923018355347792179656596904122051060564649018204259069790364230117347295988314020788170271732968467659060911780687376345187171230362482363402967655029589083107677554607144694536687443213024154868995185597717661014880944594164496127917011955532780107116507406715891069768052955154359796606319386024799916251897991384100169904502947643465882613263958900411234323126096491420739218510170767330226599287504247762639861348641188339848774924271201121428580827003537420865211710624498442915841990817093085636555604793018127817059869338412567728923275806439777006363077769712454298494930733839156514052369995027384756328089429684477666442829057915591175614725287839385539238352551104604339250595353205163291680611582839733871133242939181105544304612337964411337855824815850178943426291396810088342600570683186804395133170261930152313468962090510638058027013034394626169646475795332098673107333806847580283811682032799967156270021770643989442403546240122366973335691782284214935467302503715637203158571525127906219760808661564094052771134251507948066247276278629587897640669752531027348201164038936138879502906797619963249925915301771220341580971600122050752816506162842234512955802444046077524274686607285872628249726473445536099113738463733040299970543891310855332964651272611364153131893043937676498378265893995567150514405442323309667717891783779765842414465918117023446949096047932772835319400093392595592258235860958862777183122055288811537806155584697634673454333315862449492273247432379420207376743710477207533812628475734284194998351052334115470032013285829987610647193303013756596343805774640480936634544285524681772188828079509836551474224120529979704680424641837742975987008252317468852205035277741186024716981197263370437901762821370937809496233469304011537535118551739917100157340852357585235169428280121518201603903288768926651646803985628719047062588887876697732270938266712649835479230570065863862095333017577960478606142888635336853786804130184930524276370474968164400881375480085177234821931925747137348175841172613409921066146295318652536892305527063696054427240948540217959123800573195944736325783340311571524141938705160296415177955681531030064699611314626069110663927387515181084132718096755513698404437862444712226571955664131925929040273858570640304675566919313321934374812450756925579382389313990444619012764555547342484577838566247936443995846207580560390187162263419019689997287756782298539602250023137866512864045231245588299282382325944881128535245609862900820381015077527355485671914967158422649993840042066917817148129308383150250565590724252570478363775556665520484477821783836578486017150845132403927880471288817078455874319427641969444916589502721957955838105793243752513009173387385816854485735025917026145900842099439068938131241053931897070086161762017930341653441447082326413610039147925628002550223794489182809178891501697273903526357989319755550789244918479353310265948387162691500332277549714079 67656124330660340304239533925841958794858716140857455601263792645359865249074020479946207799531256702410131948301344162014481191677003093721295331240095921608948446180992936050720483429232067199967126945310861150190083835903090630769293975232685286871694961922308045446044307445295388771367994471934664652938925341929864220423539891440545760261000334779258138537559874250349073292214738170611969736373344357228353785448858026775647645960404401187477347979153667501623435885503958914920144135632190339146151424582503680095875884410207117883449354315814831174191961557576154589980474936674121936451894947421469395843868116098419535410669051186424790751987260063515340991506689942505019161627584212034194695845650806179134307020165052583715411716836925470183323313689329943020339758790881226725519065374222578354153416522059399145344734887024699756847359450666575285628421955014805519383162389188570690673904974867456025953340948546958335630793138488379560914742475187279249660793485568681104393665021103947301710401545299968187142908384443429172423476697209387134685542544283986431013537563302772445551045213323166514218419385595973215345830970415235968896591984778025795087859071849512271048856292352933562765969400907802459057763811206007391108312038514729701579165271411517198886528658986495401038971842847644328989287847720606266729717311093868661239090567678748064311374003493987341240319586523838304247330564097254826422044373898954218438188898793162920201355069093932648236929670933028217915904939871030483848491881905296134069804889329825362101345218705094087185944360963407613517228325446546698580753904490942677234226721787194551333634668640859097740644629352291489800076559578783966357874655589427720244996008414110944299036478535959773386931126358633533829638805597728899154919778797926806216651700628950824823782999508036833935072687508725808641926930329008027449014221654692050267049665359573996360539733235958291419951265232324208813194963741384222925301575810645323465584996780489295352565640654349536566769677275807985395121026789928131223538482759358098660299714589207375247105572511512625723708662853824088115375894382627793779694312464730635747673100610839206114363349446742118083371310367547333809628694816080121495934424956819036919823905734878516002654850260728062253414139108432428792660640261168294040131531177662824446352179940661607119275915248316797462277289890263233417015428746439085174694691373654327706476158714816132997751316505263208663414801739918367778166066338210855376573701070174099282549776128629510450243550526913804420422392033729548615171097626937296441502901147617187185058433263912470739972056449098856314876743830349754445929236098804541980514553931894637893844756547093736471444557929925922477873092486032127766645614586588975316654202590900245807042469110188936453645934839396963309339873376657339784071798201420168760333145278640183150571183359894939955752195746937122571768783878915210194754713683383058218792958463231466181677988763076210727995204126209918773704683832799069749416047333258366972774598006026874437735562267429375903350508101822884536842112330165382262102391190548718261703682 109469908714097160180957016319625166000207843980844012817842340090727278810480304959162123908730757843813809157470263811861577540614488652328641988593939492512213399037105808443947303729737884541977724718533204784113102191250882810425890879354736347436343980126567115236408537562642684759682015260104936385907393000990776001110916236627716990623482698182225793567148957358026627899359432707299412949397499226223539383166519041656592240124900529104489303511933774618130842601395028682973099289991986945465537449382419931993867268510377022386396997781697444438150861968810477716076966357413340446622662277648068683348115878738280884051857391035199715023188381492096167995044110807716729786126027127876185512938736442734739100038292869643584750129404654393459129753466336306098109471245179721656252904530736630724148443906815727234774419364691142585905275041842190010916261340554043871934266993527821286027110138159136637536180682418091578569974244032684173252706886525135074476643664512107395790475109446547872393588349695101357404838536756898134513987335267414147719937170453632906808869661975879779357892793606978196251219352752243237116474959857639515136714351751361486870143286784979573552571929556092134291097307127563267719327905258778525359819986580976977857794859309157868639059686334696565077907981727147235786907810970532182031488531435449632839212618431564570474216238006943143684365664048112990854616436725504552895489909998067956901921939093133464092665924426897299509541035086160110959842616369408749742487449055810539512128198997543253885124984547508553104061384410356709565161098281866098674146500083200913095185584564377673388923480178665253325342264025745823115939009071057213790254075796804463955473215947923572774770762730958124439265241828665547115468793208376092457933535394270611991292181565585369109307681280225662014582524060200032762456910033688452090851964630679058519367134211779031638280919260675272617214635670225971634565901550880456394605587348180442017324913880646636204923225889518964846891195477411888683889953441574935209167201806420687548176412321478313513818222346991856293774526715919421132953854861233936668329649318517439877858031135115576589331513847623493563456487602369265735375832164255962668547834877885183215142558271770821529718546315155303201954357067556229365856584997494077380443102701804763151512476355839562800806945313016408776903359000927160804530609830571803271450205072058765568920870941388088661883242434303482521985442044593934697479388272585667827330626649556488596540220747642275005790893011491642986670328477725394822751658017124458704921920837614474941840731803514720763109922961962901546122332129632136771874117227339787590377454752275652971372112032765651438602980579919762519940010303180257075028764837154566040906773069264021363707989594666758237482513325414114154472277304537811072888876657294488187975114723556772653293141315733045748995948259946295959154600733400945220671739829283900318232027401362707235609885833162372490013134467863360220787010246409108897341675335808590767263780815205765939432836170955733892670263652612129455321465640431330649265082690880995811417761 177126033044757500485196550245467124795066560121701468419106132736087144059554325439108331708262014546223941105771607973876058732291491746049937319834035414121161845218098744494667787158969951741944851663844065934303186027153973441195184854587421634308038942048875160682452845007938073531050009732039601038846318342920640221534456128068262750884483032961483932104708831608375701191574170877911382685770843583451893168615377068432239886085304930291966651491087442119754278486898987597893243425624177284611688873964923612089743152920584140269846352097512275612342823526386632306057441294087462383074557225069538079191983994836700419462526442221624505775175641555611508986550800750221748947753611339910380208784387248913873407058457922227300161846241579863642453067155666249118449230036060948381771969904959209078301860428875126380119154251715842342752634492508765296544683295568849391317429382716391976701015113026592663489521630965049914200767382521063734167449361712414324137437150080788500184140130550495174103989894995069544547746921200327306937464032476801282405479714737619337822407225278652224908938006930144710469638738348216452462305930272875484033306336529387281958002358634491844601428221909025697057066708035365726777091716464785916468132025095706679436960130720675067525588345321191966116879824574791564776195658691138448761205842529318294078303186110312634785590241500930484924685250571951295101947000822759379317534283897022175340110837886296384294020993520829947746470706019188328875747556240439233590979330961106673581933088327368615986470203252602640290005745373764323082389423728412797254900404574143590329412306351572224722558148819524351065986893378037312916015568649841180148128731386232184200469224362034517073807241266917897826196368187299080945107598806104991612853314192197418207943882194536193933090680788262495949655211568925841404383840362696479539866186285371108786416799571353027998820652496633564037165900902550180447760865292264679319907163158825765482909910661135931557488866543868501413660872753219874079010980231503066432705684565778786208476126910685688760923794858504482017483189569743509248329749243861730448023961783248075625531131745954782703694863294365611646827797969916599545004526980336084164482259834704220134966464006649337532373396575883365455368496175988658158517225258662371420574633879467587597864656296501169920082860561333206239180648891190394221546038577010888446144896445713093275397029656204221659634558939566691185400243784512302475645454610796523203904327719730587879089996876271785456034443538405447407092720511454943437922755644061755146424821985231662126899165067427191503081979411061757860999075959981891217803353326144329570892008684170290865216868579859387910047538509845684997813102789212384841674379423743541357560975660164267170750458704855694691128448164811077463812150681195150856960674858714656948308260002196955803864324675627985704748144006883418530923384612316155415426453512666958537024985864594173417287874596238583218008338594073278994491694079208178646757722669066957740038378821232640377168398438385109796020771754435013992163577970596712911367473881429714073121443 286595941758854660666153566565092290795274404102545481236948472826814422870034630398270455616992772390037750263241871785737636272905980398378579308427974906633375244255204552938615090888707836283922576382377270718416288218404856251621075733942157981744382922175442275918861382570580758290732024992144537424753711343911416222645372364695979741507965731143709725671857788966402329090933603585210795635168342809675432551781896110088832126210205459396455955003021216737885121088294016280866342715616164230077226323347343544083610421430961162656243349879209720050493685495197110022134407651500802829697219502717606762540099873574981303514383833256824220798364023047707676981594911557938478733879638467786565721723123691648612507096750791870884911975646234257101582820622002555216558701281240670038024874435695839802450304335690853614893573616406984928657909534350955307460944636122893263251696376244213262728125251185729301025702313383141492770741626553747907420156248237549398614080814592895895974615239997043046497578244690170901952585457957225441451451367744215430125416885191252244631276887254532004266830800537122906720858091100459689578780890130514999170020688280748768828145645419471418154000151465117831348164015162928994496419621723564441827952011676683657294754990029832936164648031655888531194787806301938800563103469661670630792694373964767926917515804541877205259806479507873628609050914620064285956563437548263932213024193895090132242032776979429848386686917947727247256011741105348439835590172609847983333466780016917213094061287324911869871595187800111193394067129784121032647550522010278895929046904657344503424597890915949898111481628998189604391329157403783136031954577720898393938382807183036648155942440309958089848578003997876022265461610015964628060576392014481084070786849586468030199236063760121563042398362068488157964237735629125874166840750396384931630718150916050167305783933783132059637101571757308836654380536572776152082326766843145135714512750507006207500234824541782567762412092433387466260552068230631762762900933673078001641872886372199473756652539232164002274742017205496338311257716285662930381283604105095667116353611101765515503389162881070359293026377141989105210284285572285865280380359144592046833030094712589403350109022278420159062091942891038668657322853243544887524373810256156448801017736581272350749377132652340732720889805874349615016084007892117555026076648407582691717595101517771858844317900597592310321517801373870173707385685829106237173124842883382191031234954369287076475630217623914060461825336549897090393763048989180338260674413661186213851346742822846137068739896870941912266191902373024659407121408089614027989677470553484117161269463436445943836588980612625039348650519089765447517753113092392641916703144260898107398467748729428288534458448299522452928610961490225191618284427985732961929849551516009145136283374725753728457157465991361031453744092266829714490077985345717100636098193341950858855257013265956880652897760429400955708021473061936639215278704325617287544099398004875548507302159636438406316601234609340843688691035407047143447485043611028043560632556572310709884539204 463721974803612161151350116810559415590340964224246949656054605562901566929588955837378787325254786936261691369013479759613695005197472144428516628262010320754537089473303297433282878047677788025867428046221336652719474245558829692816260588529579616052421864224317436601314227578518831821782034724184138463600029686832056444179828492764242492392448764105193657776566620574778030282507774463122178320939186393127325720397273178521072012295510389688422606494108658857639399575193003878759586141240341514688915197312267156173353574351545302926089701976721995662836509021583742328191848945588265212771776727787144841732083868411681722976910275478448726573539664603319185968145712308160227681633249807696945930507510940562485914155208714098185073821887814120744035887777668804335007931317301618419796844340655048880752164764565979995012727868122827271410544026859720604005627931691742654569125758960605239429140364212321964515223944348191406971509009074811641587605609949963722751517964673684396158755370547538220601568139685240446500332379157552748388915400221016712530896599928871582453684112533184229175768807467267617190496829448676142041086820403390483203327024810136050786148004053963262755428373374143528405230723198294721273511338188350358296084036772390336731715120750508003690236376977080497311667630876730365339299128352809079553900216494086220995818990652189840045396721008804113533736165192015581058510438371023311530558477792112307582143614865726232680707911468557195002482447124536768711337728850287216924446110978023886675994375652280485858065391052713833684072875157885355729939945738691693183947309231488093754010197267522122834039777817713955457316050781820448947970146370739574086511538569268832356411664671992606922385245264793920091657978203263709005683990820586075683640163778665448407179945954657756975489042856750653913892947198051715571224590759081411170584337201421276092200733354485087635922224253942400691546437475326332530087632135409815034419913665831972983144735202918499319900958977255967674212940983851636841911913904581068074578570937978259965128666142849691035665812064000820328740905855406439629613353348957397564377572885013591128920294627025141996721240436354716857112083542202464825384886124928130997512354547293623485075486285069496594465339466922034112691349419533545682891035514818820221592370460739938347241788948841902640972666435682821255264656783307949247622686984593580163739997963484952119714930253796531981152360313436864892785929613618539648770297494178714235139282089017664354720214500185845917859780088302537800855769500635281698597169305247968997771564808077799195639061938369103769273881784086417268120484049595919207480823879628446732161472120616234701805849192484427258698057599611132515566215881605026758377523684641648756028724389592555705208907004378147619739409655036269082096578666928112786810226374723802084591634727950684261021790666989017158492236273713133021001369958033256051524646854617817392281999130551054070185635025639538926029811656009918209770398404825466190857120673942506247340538457671046693769633047725953484711807161482157439648621581624756472000030453740423957660647 750317916562466821817503683375651706385615368326792430893003078389715989799623586235649242942247559326299441632255351545351331278103452542807095936689985227387912333728507850371897968936385624309790004428598607371135762463963685944437336322471737597796804786399759712520175610149099590112514059716328675888353741030743472666825200857460222233900414495248903383448424409541180359373441378048332973956107529202802758272179169288609904138505715849084878561497129875595524520663487020159625928856856505744766141520659610700256963995782506465582333051855931715713330194516780852350326256597089068042468996230504751604272183741986663026491294108735272947371903687651026862949740623866098706415512888275483511652230634632211098421251959505969069985797534048377845618708399671359551566632598542288457821718776350888683202469100256833609906301484529812200068453561210675911466572567814635917820822135204818502157265615398051265540926257731332899742250635628559549007761858187513121365598779266580292133370610544581267099146384375411348452917837114778189840366767965232142656313485120123827084960999787716233442599608004390523911354920549135831619867710533905482373347713090884819614293649473434680909428524839261359753394738361223715769930959911914800124036048449073994026470110780340939854884408632969028506455437178669165902402598014479710346594590458854147913334795194067045305203200516677742142787079812079867015073875919287243743582671687202439824176391845156081067394829416284442258494188229885208546927901460135200257912890994941099770055662977192355729660578852825027078140004942006388377490467748970589112994213888832597178608088183472020945521406815903559848645208185603584979924724091637968024894345752305480512354104981950696770963249262669942357119588219228337066260382835067159754427013365133478606416009714779320017887404925238811878130682827177589738065341155466342801302488117471443397984667137617147273023796011251237345926974048102484612414398978554950748932664172838180483379559744701067082313051410643433934765009214483399604812847577659069716451457310177733721781205375013693310407829269497158639998622141069370010896957454053064680731183986779106632309457508095501289747617578343822067396369114488330105765245269520177830542449259883026835184508563489655656557282357960702770014202663078433207264845770975269022610107042012289096618921601182635361862472310032436271348664675425504273699335392176271881335099481256810964032830851388842302670161687307038600171615442724776821895140377560905266374236458304740830350432124099906379685116638199628194618818489815619959271582966434182849118307630923936264378958809311016035465784157111076675241892139209947197158294433112563893430935557062178538394829805109466607348576689376580033319328973997668675080667945539756154496473119020844239667355303900600548350371145261460700381006652661074716659777890732947220875009453704412718179256658350048612236328540542847511079355303750356687622840196568676247539012396507934723083395455040494634051284717946557425049102730442753734956518678818054754642698094109453010370867657066797173402842568529300887133665192652800032632587026051133842199851 1214039891366078982968853800186211121975956332551039380549057683952617556729212542073028030267502346262561133001268831304965026283300924687235612564951995548142449423201811147805180846984063412335657432474819944023855236709522515637253596911001317213849226650624077149121489837727618421934296094440512814351953770717575529111005029350224464726292863259354097041224991030115958389655949152511455152277046715595930083992576442467130976150801226238773301167991238534453163920238680024038385514998096847259455056717971877856430317570134051768508422753832653711376166703538364594678518105542677333255240772958291896446004267610398344749468204384213721673945443352254346048917886336174258934097146138083180457582738145572773584335407168220067255059619421862498589654596177340163886574563915843906877618563117005937563954633864822813604919029352652639471478997588070396515472200499506378572389947894165423741586405979610373230056150202079524306713759644703371190595367468137476844117116743940264688292125981092119487700714524060651794953250216272330938229282168186248855187210085048995409538645112320900462618368415471658141101851749997811973660954530937295965576674737901020870400441653527397943664856898213404888158625461559518437043442298100265158420120085221464330758185231530848943545120785610049525818123068055399531241701726367288789900494806952940368909153785846256885350599921525481855676523245004095448073584314290310555274141149479314747406320006710882313748102740884841637260976635354421977258265630310422417182359001972964986446050038629472841587725969905538860762212880099891744107430413487662282296941523120320690932618285450994143779561184633617515305961258967424033927894870462377542111405884321574312868765769653943303693348494527463862448777566422492046071944373655653235438067177143798927013595955669437076993376447781989465792023630025229305309289931914547753971886825318892719490185400492102234908946020265193638037473411523428817142502031113964765783352577838670153466524294947619566402214010387899401608977950198335036446724761482240137791030028248155993686909871517863384346073641333497978968739527996475809640510310803010462245108756871792697761229752135120643286468858014698538924508452656690794931150131394448308828054803807176650320259994848559152251022621824882736882705552082611978890155881285794089244202477502752227443860710550024538002835138745715257526613321458733453521322022376769852045075097444741763083747761105185374283822522000743903492957545056343316470665437871739619501513518547322405185070646624285752297544896726502165995474587990450901657868752271682151846889872439001735460018020747680119804739665941197493943362376188805866404639118312741010625592407677678413240200678997593893866046634288987712548885544855602695433458191630181404910525197508613399944876262308278748168089780800297729782477585319589187503470004265456749305466644181655096979201047325339065770728564814255980532080725261783612739147487051186493639821011527058988793269030480680033560081096373956475634819501135268219925813639352760561001983236551780499704140500704792750658114649730011458326782286774277556504632617479791557799860498 1964357807928545804786357483561862828361571700877831811442060762342333546528836128308677273209749905588860574633524182850316357561404377230042708501641980775530361756930318998177078815920449036645447436903418551394990999173486201581690933233473054811646031437023836861641665447876718012046810154156841490240307511748319001777830230207684686960193277754603000424673415439657138749029390530559788126233154244798732842264755611755740880289306942087858179729488368410048688440902167044198011443854953353004221198238631488556687281565916558234090755805688585427089496898055145447028844362139766401297709769188796648050276451352385007775959498492948994621317347039905372911867626960040357640512659026358663969234968780204984682756659127726036325045416955910876435273304577011523438141196514386195335440281893356826247157102965079647214825330837182451671547451149281072426938773067321014490210770029370242243743671595008424495597076459810857206456010280331930739603129326324989965482715523206844980425496591636700754799860908436063143406168053387109128069648936151480997843523570169119236623606112108616696060968023476048665013206670546947805280822241471201447950022450991905690014735303000832624574285423052666247912020199920742152813373258012179958544156133670538324784655342311189883400005194243018554324578505234068697144104324381768500247089397411794516822488581040323930655803122042159597819310324816175315088658190209597799017723821166517187230496398556038394815497570301126079519470823584307185805193531770557617440271892967906086216105701606665197317386548758363887840352885041898132484920881236632871409935737009153288111226373634466164725082591449521075154606467153027618907819594554015510136300230073879793381119874635894000464311743790133804805897154641720383138204756490720395192494190508932405620011965384216397011263852707228277670154312852406895047355273070014096773189313436364162888170067629719382181969816276444875383400385571531301754916430092519716532285242011508333949903854692320633484527061798542835543742959412818436051537609059899207507481485558333727408691076892877077656481470602995137608738150137545179651407268257063526925839940858571804393539209643216144576216475593042360991904821771179125036915376663968486658597253067059677155444503412048807907579904182843439652719754745690412097420727056769358266812584544764516540479632151207173364697611055747693797961986134158957795021357768946123926410196925998574047780591956574216586492683688050942093129160499068093292560578249300524767887755005627146015421078748385658677230013364701794190093406480266521617140335238116334696008180069925671724396979556991135840205450098308570618604268328015813601797412745853574519023343234740591778595508802703360473395210978364292582204873829600364108538859575721161065021670627634244184543617612179348716440151945559190482858591972250262220129782156189696526341653635359509697380303983689114382964893354798828043160080565533969426770327247755169887360023923566923516352425935720528194132381091903033059868603865710973660770158031578615756625934645889952714511368361859547831517492298540759213915951966930356537265204505842691642060349 3178397699294624787755211283748073950337528033428871191991118446294951103258048670381705303477252251851421707634793014155281383844705301917278321066593976323672811180132130145982259662904512448981104869378238495418846235883008717218944530144474372025495258087647914010763155285604336433981106248597354304592261282465894530888835259557909151686486141013957097465898406469773097138685339683071243278510200960394662926257332054222871856440108168326631480897479606944501852361140847068236396958853050200263676254956603366413117599136050610002599178559521239138465663601593510041707362467682443734552950542147088544496280718962783352525427702877162716295262790392159718960785513296214616574609805164441844426817706925777758267092066295946103580105036377773375024927900754351687324715760430230102213058845010362763811111736829902460819744360189835091143026448737351468942410973566827393062600717923535665985330077574618797725653226661890381513169769925035301930198496794462466809599832267147109668717622572728820242500575432496714938359418269659440066298931104337729853030733655218114646162251224429517158679336438947706806115058420544759778941776772408497413526697188892926560415176956528230568239142321266071136070645661480260589856815556112445116964276218892002655542840573842038826945125979853068080142701573289468228385806050749057290147584204364734885731642366886580816006403043567641453495833569820270763162242504499908354291864970645831934636816405266920708563600311185967716780447458938729163063459162080980034622630894940871072662155740236138038905112518663902748602565765141789876592351294724295153706877260129473979043844659085460308504643776083138590460567726120451652835714465016393052247706114395454106249885644289837304157660238317597667254674721064212429210149130146373630630561367652731332633607921053653474004640300489217743462177942877636200356645204984561850745076138755256882378355468121821617090915836541638513420873797094960118897418461206484482315637819850178487416428149639940199886741072186442237152720909611153472498262370542139345298511513806489721095600948410740462002555111936493116577477678134020989291917579060073989170948697730364502154768961778336787862685333607740899916413274427869919968065508058416795486652056874236327475704498260607960158602526007726176535425306828302390987576608342563447511015062047516743984340342701231711367532749801462951324575307592892411316343380145715975971485294370740337131528353061759590870315205688794845586086705555411409763226016121040144269401273552949551200491725372671410974774910091203960185567994470717423275009087509798486542898052508927407184415000304671255644945116039506064561966644516821680006436531058594585144615750912419005018796187800297254339441845267352005131090418685203059541997051205902565975546868136247644129419879920458096884529932745856920265336177291839449723599786421646445831808297817014606676581351309028180153693458169054808575240805827317582165917814298941663527181035450625912309621456416400561754213477465859508694688105000979193586583797384339176758609171197670452418651869066652298489632142028552217540698238741207913041897821985634249441920847 5142755507223170592541568767309936778699099734306703003433179208637284649786884798690382576687002157440282282268317197005597741406109679147321029568235957099203172937062449144159338478824961485626552306281657046813837235056494918800635463377947426837141289524671750872404820733481054446027916402754195794832568794214213532666665489765593838646679418768560097890571821909430235887714730213631031404743355205193395768522087665978612736729415110414489660626967975354550540802043014112434408402708003553267897453195234854969804880701967168236689934365209824565555160499648655488736206829822210135850660311335885192546557170315168360301387201370111710916580137432065091872653140256254974215122464190800508396052675705982742949848725423672139905150453333684251460201205331363210762856956944616297548499126903719590058268839794982108034569691027017542814573899886632541369349746634148407552811487952905908229073749169627222221250303121701238719625780205367232669801626120787456775082547790353954649143119164365520997300436340932778081765586323046549194368580040489210850874257225387233882785857336538133854740304462423755471128265091091707584222599013879698861476719639884832250429912259529063192813427744318737383982665861401002742670188814124625075508432352562540980327495916153228710345131174096086634467280078523536925529910375130825790394673601776529402554130947926904746662206165609801051315143894636446078250900694709506153309588791812349121867312803822959103379097881487093796299918282523036348868652693851537652062902787908777158878261441842803236222499067422266636442918650183688009077272175960928025116812997138627267155071032719926473229726367532659665615174193273479271743534059570408562384006344469333899631005518925731304621971982107731472060571875705932812348353886637094025823055558161663738253619886437869871015904153196446021132332255730043095404000478054575947518265452191621045266525535751540999272885652818083388804274182666491420652334891299004198847923061861686821366332004332260833371268133984985072696463869023971908549799979602038552805992999364823448504292025303617539659036582539488254186215828271566168943324847317137516096788638588936306548308171421552932438901809200783260908318096199049045004980884722385282145249309941296004631149001672656768066182430190569616188145061573992803084997335399332805777827646592281260524819974852438884732230360857210645122537293727051369111364737914662099897895491296738911179308945018333807456807889376845787679215866054479503055786594370340669037289028558576697215912804121057069652004923455905754375661400950983944892149422747914821238906232578853078908811979861662391485150566137814635180570912844837493608233943804448159663639094147159596797391696603000614812837056245716297713295292514803423650535910781623727040568538763881888313963497532637445600970084691416110748194769264089711943729568577836142358149951452374116373961655292717294536658351523853636618400886392851551592688141546696833414541059374192835825973882352121089948345858557762541754556708866690167247353955415917792515235105843560405133163237428511846321149634327092976754614190708138269579163026491476941083981196 8321153206517795380296780051058010729036627767735574195424297654932235753044933469072087880164254409291703989903110211160879125250814981064599350634829933422875984117194579290141598141729473934607657175659895542232683470939503636019579993522421798862636547612319664883167976019085390880009022651351550099424830076680108063555500749323502990333165559782517195356470228379203333026400069896702274683253556165588058694779419720201484593169523278741121141524447582299052393163183861180670805361561053753531573708151838221382922479838017778239289112924731063704020824101242165530443569297504653870403610853482973737042837889277951712826814904247274427211842927824224810833438653552469590789732269355242352822870382631760501216940791719618243485255489711457626485129106085714898087572717374846399761557971914082353869380576624884568854314051216852633957600348623984010311760720200975800615412205876441574214403826744246019946903529783591620232795550130402534600000122915249923584682380057501064317860741737094341239801011773429493020125004592705989260667511144826940703904990880605348528948108560967651013419640901371462277243323511636467363164375786288196275003416828777758810845089216057293761052570065584808520053311522881263332527004370237070192472708571454543635870336489995267537290257153949154714609981651813005153915716425879883080542257806141264288285773314813485562668609209177442504810977464456716841413143199209414507601453762458181056504129209089879811942698192673061513080365741461765511932111855932517686685533682849648231540417182078941275127611586086169385045484415325477885669623470685223178823690257268101246198915691805386781734370143615798256075741919393930924579248524586801614631712458864788005880891163215568608779632220425329139315246596770145241558503016783467656453616925814395070887227807491523345020544453685663764594510198607679295760645683039137798263341590946877927644881003873362616363801489359721902225147979761451539549753352505488681163560881711865308782760153972201033258009206171427309849184778635125381048062350144177898104504513171313169599892973714358001661591694475981370763693506405587158235242426377211505267737336319300808703077133199889720301587142808524160824731370626918964973046392780802077631901366815532332106853499933264728224784956198295792723570368402295194072573943741896253288842708639798004509160317553670596099763110658673596447112601319943780427708118060378075869380785667479248310837298080093398327123095065640633265302571609890912819012610491380813306690302111526248416404529493728480626779833547109714561229395421701368167158510257713307781804285087780486093226980166333647130095682177320699742537557361659173614670474863042744808254845059578601816187884403297869152278901513068302844385711200006483192532961987526293016115406900129532443383377453095542485500017437273031013530946555929161667329354999482588189958249269388723050543006601745474690351809692908445193641692220169133758605955845638496941722094824818748135595338768521651702559336023622050449244813867669360833937752800256969273844277041230857551815106495164144810781776355645194295312429449346182621060848477111190525902043 13463908713740965972838348818367947507735727502042277198857476863569520402831818267762470456851256566731986272171427408166476866656924660211920380203065890522079157054257028434300936620554435420234209481941552589046520705995998554820215456900369225699777837136991415755572796752566445326036939054105745894257398870894321596222166239089096828979844978551077293247042050288633568914114800110333306087996911370781454463301507386180097329898938389155610802151415557653602933965226875293105213764269057306799471161347073076352727360539984946475979047289940888269575984600890821019179776127326864006254271164818858929589395059593120073128202105617386138128423065256289902706091793808724565004854733546042861218923058337743244166789517143290383390405943045141877945330311417078108850429674319462697310057098817801943927649416419866676888883742243870176772174248510616551681110466835124208168223693829347482443477575913873242168153832905292858952421330335769767269801749036037380359764927847855018967003860901459862237101448114362271101890590915752538455036091185316151554779248105992582411733965897505784868159945363795217748371588602728174947386974800167895136480136468662591061275001475586356953865997809903545904035977384282266075197193184361695267981140924017084616197832406148496247635388328045241349077261730336542079445626801010708870936931407917793690839904262740390309330815374787243556126121359093162919664043893918920660911042554270530178371442012912838915321796074160155309380284023984801860800764549784055338748436470758425390418678623921744511350110653508436021488403065509165894746895646646151203940503254406728513353986724525313254964096511148457921690916112667410196322782584157210177015718803334121905511896682141299913401604202533060611375818472476078053906856903420561682276672483976058809140847693929393216036448606882109785726842454337722391164646161093713745781607043138498972911406539624903615636687142177805291029422162427942960202088243804492880011483943573552130149092158304461866629277340156412382545648647659097289597862329746216450910497512536136618104184999017975541320628277015469624949909334677153327178567273694349021364525974908237115251385304621442652740488952009307421733049466825968009978027277503187359777150676756828336738002501605921496290967386388865408911715429976287997157571279141229059066670355232079265033980292406109480831993471515884241569649895046995149539072855975040175767276276964218159490146243098427205783930984442486420944518437664370415874799204861721482343979330670102945632317333614785550278784757003015468936890796372685313059307933005628129020710517666633565002038960027996038615246248315135334923108470206496667222904418667490904471893939206738198613579581006298483965115957758784600557681003714809906843068872769150020056683945664011420757346874985732988086470102128689141761725715820018873611058923577318730548108200721762839424504661894462769227010161216762081812042578613020685351294097392335330356263154199011583961569221120642741650905194581384592203801522734359528081291708216174761789079382884791262684978343923675991131931410682738171049926620157484452200223874968588131609883239 21785061920258761353135128869425958236772355269777851394281774518501756155876751736834558337015510976023690262074537619327355991907739641276519730837895823944955141171451607724442534762283909354841866657601448131279204176935502190839795450422791024562414384749311080638740772771651836206045961705457295993682228947574429659777666988412599819313010538333594488603512278667836901940514870007035580771250467536369513158080927106381581923068461667896731943675863139952655327128410736473776019125830111060331044869498911297735649840378002724715268160214671951973596808702132986549623345424831517876657882018301832666632232948871071785955017009864660565340265993080514713539530447361194155794587002901285214041793440969503745383730308862908626875661432756599504430459417502793006938002391694309097071615070731884297797029993044751245743197793460722810729774597134600561992871187036100008783635899705789056657881402658119262115057362688884479185216880466172301869801871951287303944447307905356083284864602638554203476902459887791764122015595508458527715703602330143092258684238986597930940682074458473435881579586265166680025614912114364642310551350586456091411483553297440349872120090691643650714918567875488354424089288907163529407724197554598765460453849495471628252068168896143763784925645481994396063687243382149547233361343226890591951479189214059057979125677577553875871999424583964686060937098823549879761077187093128335168512496316728711234875571222002718727264494266833216822460649765446567372732876405716573025433970153608073621959095806000685786477722239594605406533887480834643780416519117331374382764193511674829759552902416330700036698466654764256177766658032061341120902031108744011791647431262198909911392787845356868522181236422958389750691065069246223295465359920204029338730289409790453880028075501420916561056993060567773550321352652945401686925291844132851544044948634085376900556287543498266232000488631537527193254570142189394499751841596309981561175044825285417438931852312276662899887286546327839692394833426294222670645924679890394349015002025707449787704077972732333542982219971491450995713602841082740485413809700071560526632263311227537923954462437821332373042076094817831582557780837452886974951073670283989437409052043572360668844856001539186224515752342587161201635285798378583191230145222883125312355513063871877269543140609959780076931756582174557838016762496366938929966780974035418251636657062631697407800983541178520604111054079508127054209821009274261328693811815353102295650669632781629194048721863108514030905564590550125183498120191794386681226466443263341436802514802754414051095265940194329685745341930492456034665646027568155840837574893530533649280148784266316800429767465409596353117394859271852903402066714914816390035601834756676313072799352564140953200730252438828530571970119565962172775256662375948035278388278576801318738066449991151562475047668496208243917361970909670527005684270833189819109900053237973827297985249023830332097164559889164393353464530605006642653046336602028888915229461016431731062923659926022120236793450418840135942713187038383365345239049606830634821284723445699322135785282 35248970633999727325973477687793905744508082771820128593139251382071276558708570004597028793866767542755676534245965027493832858564664301488440111040961714467034298225708636158743471382838344775076076139543000720325724882931500745660010907323160250262192221886302496394313569524218281532082900759563041887939627818468751255999833227501696648292855516884671781850554328956470470854629670117368886859247378907150967621382434492561679252967400057052342745827278697606258261093637611766881232890099168367130516030845984374088377200917987671191247207504612840243172793303023807568803121552158381882912153183120691596221628008464191859083219115482046703468689058336804616245622241169918720799441736447328075260716499307246989550519826006199010266067375801741382375789728919871115788432066013771794381672169549686241724679409464617922632081535704592987501948845645217113673981653871224216951859593535136539101358978571992504283211195594177338137638210801942069139603620987324684304212235753211102251868463540014065714003908002154035223906186424211066170739693515459243813463487092590513352416040355979220749739531628961897773986500717092817257938325386623986547963689766102940933395092167230007668784565685391900328125266291445795482921390738960460728434990419488712868266001302292260032561033810039637412764505112486089312806970027901300822416120621976851669965581840294266181330239958751929617063220182643042680741230987047255829423538870999241413247013234915557642586290340993372131840933789431369233533640955500628364182406624366499012377774429922430297827832893103041428022290546343809675163414763977525586704696766081558272906889140856013291662563165912714099457574144728751317224813692901221968663150065533031816904684527498168435582840625491450362066883541722301349372216823624591021006961893766512689168923195350309777093441667449883336048195107283124078089938005226565289826555677223875873467694083123169847637175773715332484283992304617337459953929840114474441186528768858969569080944470581124766516563886484252074940482073953319960243787009636610799925499538243586405808262971750309084302848248506920620663512175759893812592376973765909547996789286135775039205847742442775025782565046827139004290830304278854984929100947787176797186202720329189005582858503145107720806719728976026610547001228354871188387716502024354371422183419103956534577120902365889557763750053690442079586412391413934079505853830010458427403933339595915567291129784276947809894985063950613475154339446938631744568611020214823777994648963451732139681039196723299581184349347553140652435010988167071994285774376268969565823225320421047616097304900222325724360588178807591369588754497774652508060479312198024553752042723473054999043347046415894837082510817030637503959747718629626296878670707525826333129483298228152373958077127424561518658440221694651314536982378195966908889447202154120049286174650712914401899552330390671013144372132126432608817726849446210504461194150630309157654248403222841916058733781009807135004369725186391234856847859336388416996521169232606492852003042810813382921771794342516127074644597721121536395165669764315087021508598414287453745668521 57034032554258488679108606557219863981280438041597979987421025900573032714585321741431587130882278518779366796320502646821188850472403942764959841878857538411989439397160243883186006145122254129917942797144448851604929059867002936499806357745951274824606606635613577033054342295870117738128862465020337881621856766043180915777500215914296467605866055218266270454066607624307372795144540124404467630497846443520480779463361598943261176035861724949074689503141837558913588222048348240657252015929279427461560900344895671824027041295990395906515367719284792216769602005156794118426466976989899759570035201422524262853860957335263645038236125346707268808955051417319329785152688531112876594028739348613289302509940276750734934250134869107637141728808558340886806249146422664122726434457708080891453287240281570539521709402509369168375279329165315798231723442779817675666852840907324225735495493240925595759240381230111766398268558283061817322855091268114371009405492938611988248659543658567185536733066178568269190906367889945799345921781932669593886443295845602336072147726079188444293098114814452656631319117894128577799601412831457459568489675973080077959447243063543290805515182858873658383703133560880254752214555198609324890645588293559226188888839914960341120334170198436023817486679292034033476451748494635636546168313254791892773895309836035909649091259417848142053329664542716615678000319006192922441818418080175590997936035187727952648122584456918276369850784607826588954301583554877936606266517361217201389616376777974572634336870235923116084305555132697646834556178027178453455579933881308899969468890277756388032459791557186713328361029820676970277224232176790092438126844801645233760310581327731941728297472372855036957764077048449840112757948610968524644837576743828620359737251303556966569196998696771226338150434728017656886369547760228525765015229849359416833871504311309252774023981626621436079637664405252859677538562446806731959705771436424456002361573594144387008012796782857787666403850432812091767335315500247542630889711689527005148940501563951036193512340944482642627285068219998371616377115016842634298006186673837470074629052597363312963160310180264107398824641141644970586848611141731741959880174618071166234595254763901549674427714504684293945322472071563187812182287026733454379617861724907479683777696482975833804120261512325669634695506635864999917603174887780873009472634804045876679040590402227612975092113325455468414006039143458740529364160456212893073262422835567926073645318596233361333729761059831813612089913938103265835933131179961458675512240819532311002625740123175461667192570840416655410105930109300047404254400525342808348898054205728558203032191507739371799473114511825491190199905676302490407361814433544442686914272542282502646202282650792293327158807379863390049230410341260613487312239040571914944167835480730921368024241100704065964374599998886879257061734103036103135823411120279400323571094203868282984952233652246672248155898340898971528357834255791397877509894195938417305911750630249038223914926702736835503158565244761356263017357784759504901740404719371145721842793321859986775881453803 92283003188258216005082084245013769725788520813418108580560277282644309273293891746028615924749046061535043330566467674315021709037068244253399952919819252879023737622868880041929477527960598904994018936687449571930653942798503682159817265069111525086798828521916073427367911820088399270211763224583379769561484584511932171777333443415993115898721572102938052304620936580777843649774210241773354489745225350671448400845796091504940429003261782001417435330420535165171849315685960007538484906028447794592076931190880045912404242213978067097762575223897632459942395308180601687229588529148281642482188384543215859075488965799455504121455240828753972277644109754123946030774929701031597393470475795941364563226439583997724484769960875306647407796184360082269182038875342535238514866523721852685834959409831256781246388811973987091007360864869908785733672288425034789340834494778548442687355086776062134860599359802104270681479753877239155460493302070056440149009113925936672552871779411778287788601529718582334904910275892099834569827968356880660057182989361061579885611213171778957645514155170431877381058649523090475573587913548550276826428001359704064507410932829646231738910275026103666052487699246272155080339821490055120373566979032519686917323830334449053988600171500728283850047713102073670889216253607121725858975283282693193596311430458012761319056841258142408234659904501468545295063539188835965122559649067222846827359574058727194061369597691833834012437074948819961086142517344309305839800158316717829753798783402341071646714644665845546382133388025800688262578468573522263130743348645286425556173587043837946305366680698042726620023592986589684376681806321518843755351658494546455728973731393264973545202156900353205393346917673941290474824832152690825994209793567453211380744213197323479258365921892121536115243876395467540222417742867511649843105167854585982123698059988533128647491675709744605927274840178968192161822554751424069419659701276538930443548102363003356577093741253438912432920414319296343842275797574200862591133498699163615948866001102194622599320603916232951711587916468505292237040627192602528110598563647603379622625841883499088002366157922706882424607206188472109591139441446010596944809275565858343031781457484230738680010573007829401666129191800539214422729288255088325568005578226931834055199879902079790338697382414691559192459256689555441997189587279194807088978488634056335106444523741823528542383243109732416223901024207409354004518499903151524817831033855782749851639967559685093473410800256555113193274263285656406488368142168128530669798015195801280568448965443596509283289875740638981134466518288107638773843155023117460856958533517926582756784234231212426798516461558241386027282416493333127911321562152174068983792943249808328979331765949020445701116884507287951567888850562955264801849221418767881853057282682885041417310415751416980366274152329277550270206106235162535744641137969725610828032288354498592142606482055469514164214632121908778663362203980977789112366742055274805722908271799481644716766929745547648886080337039103872390092002382480626438135570389135460808864301920274274229627122324 149317035742516704684190690802233633707068958855016088567981303183217341987879213487460203055631324580314410126886970321136210559509472187018359794798676791291013177020029123925115483673082853034911961733831898423535583002665506618659623622815062799911405435157529650460422254115958517008340625689603717651183341350555113087554833659330289583504587627321204322758687544205085216444918750366177822120243071794191929180309157690448201605039123506950492124833562372724085437537734308248195736921957727222053637831535775717736431283509968463004277942943182424676711997313337395805656055506138181402052223585965740121929349923134719149159691366175461241086599161171443275815927618232144473987499215144554653865736379860748459419020095744414284549524992918423155988288021765199361241300981429933577288246650112827320768098214483356259382640194035224583965395731204852465007687335685872668422850580016987730619839741032216037079748312160300972783348393338170811158414606864548660801531323070345473325334595897150604095816643782045633915749750289550253943626285206663915957758939250967401938612269984884534012377767417219053373189326380007736394917677332784142466858175893189522544425457884977324436190832807152409832554376688664445264212567326078913106212670249409395108934341699164307667534392394107704365668002101757362405143596537485086370206740294048670968148100675990550287989569044185160973063858195028887564378067147398437825295609246455146709492182148752110382287859556646550040444100899187242446066675677935031143415160180315644281051514901768662466438943158498335097134646600700716586323282526595325525642477321594334337826472255229439948384622807266654653906038498308936193478503296191689489284312720996915273499629273208242351110994722391130587582780763659350639047370311281831740481464500880445827562920588892762453394311123485197108787290627740175608120397703945398957569564299842381421515657336366042006912504584221051839361117198230801379365472712963386445909675957147743585106538036296700099324264752108435609611113074448405222023210388690621097806502666145658792832944860715594338872984688503663853417742209445162408604750321440849697254894480862400965526468102970989823431847330117080177988052587742338904689450183929509266376712248132288354438287512513695611451663872102402234911575281821779947623439951839313738977576385055624142817643927017228827154763325420441914792762166975680098451123438102211785485114144051141517475356435187884637907063350868094533882660359364417891093456691350675925285286155918454807140561316386926805364177223759672324301273348089989345310256015333591571074705566771970950482446581055636544572448397407686178097555548460269205856587723655140959816425738951798597989576070066877217482322169635618318683376585718511670707215792090831625534048599812739028275691887151341617119260904215878289161460459339796797225118163615962785334656852121046330648752328164429527267840338198638880464549090005011151603382558366875127558715707716186412370530462807750191720038236769186989876636251213223028820022429730682940681856448284484389238902283865228653109360167240131339875975108506606530707095242134261005508576127 241600038930774920689272775047247403432857479668434197148541580465861651261173105233488818980380370641849453457453437995451232268546540431271759747718496044170036914642898003967044961201043451939905980670519347995466236945464010300819440887884174324998204263679445723887790165936046916278552388914187097420744825935067045259332167102746282699403309199424142375063308480785863060094692960607951176609988297144863377581154953781953142034042385288951909560163982907889257286853420268255734221827986175016645714762726655763648835525723946530102040518167080057136654392621517997492885644035286463044534411970508955981004838888934174653281146607004215213364243270925567221846702547933176071380969690940496018428962819444746183903790056619720931957321177278505425170326897107734599756167505151786263123206059944084102014487026457343350390001058905133369699068019629887254348521830464421111110205666793049865480439100834320307761228066037540128243841695408227251307423720790485333354403102482123761113936125615732939000726919674145468485577718646430914000809274567725495843370152422746359584126425155316411393436416940309528946777239928558013221345678692488206974269108722835754283335732911080990488678532053424564912894198178719565637779546358598600023536500583858449097534513199892591517582105496181375254884255708879088264118879820178279966518170752061432287204941934132958522649473545653706268127397383864852686937716214621284652655183305182340770861779840585944394724934505466511126586618243496548285866833994652860897213943582656715927766159567614208848572331184299023359713115174222979717066631171881751081816064365432280643193152953272166568408215793856339030587844819827779948830161790738145218258044114261888818701786173561447744457912396332421062407612916350176633257163878735043121225677698203925085928842481014298568638187518952737331205033495251825451225565558531381081267624288375510069007333046110647934187344763189244001183671949654870799025173989502316889457778320151100162200279289735612532244679071404779451886910648649267813156709087854237046672503768340281392153548776948546050460901157008956090458369402047690519203313969044229319880736364361488967892626025677872248039053518589189769127494033752935849498725749787852298158169732363027034448860520343097277580855672641616657640863536910105515629018178771147794177456287135414481515026341708788019614020014975883911982349446170487187429612072158546891929637885874670059858599544920300861808087558277448538401160262515942708924490547133425776925253715603548280551361572942039998638440509416078812669415516218520015108271211134872139523671010368480233772322321694617679038966685515324951940710571577730062815121241581723716600659970164225396506037628308263244764738662968746230004938737892580654500159041899160604865814548833184729392576394439293185008111467171143091010681878107678650282400846501004202645072603538026696922904657441979797473946573361174625105687059730621979635670912865467270165197763185700576585162584716528855082242217746976102243378306488028751728294229212327657448786193832133275319239322969101043201362549720757778011545497642067339571397162408535235135698451 390917074673291625373463465849481037139926438523450285716522883649078993249052318720949022036011695222163863584340408316587442828056012618290119542517172835461050091662927127892160444874126304974817942404351246419001819948129516919479064510699237124909609698836975374348212420052005433286893014603790815071928167285622158346887000762076572282907896826745346697821996024990948276539611710974128998730231368939055306761464111472401343639081508795902401684997545280613342724391154576503929958749943902238699352594262431481385266809233914993106318461110262481813366389934855393298541699541424644446586635556474696102934188812068893802440837973179676454450842432097010497662630166165320545368468906085050672294699199305494643322810152364135216506846170196928581158614918872933960997468486581719840411452710056911422782585240940699609772641252940357953664463750834739719356209166150293779533056246810037596100278841866536344840976378197841101027190088746398062465838327655033994155934425552469234439270721512883543096543563456191102401327468935981167944435559774389411801129091673713761522738695140200945405814184357528582319966566308565749616263356025272349441127284616025276827761190796058314924869364860576974745448574867384010901992113684677513129749170833267844206468854899056899185116497890289079620552257810636450669262476357663366336724911046110103255353042610123508810639042589838867241191255578893740251315783362019722477950792551637487480353961989338054777012794062113061167030719142683790731933509672587892040629103762972360208817674469382871315011274342797358456847761774923696303389913698477076607458541687026614981019625208501606516792838601122993684493883318136716142308665086929834707542356835258804092201415446769690095568907118723551649990393680009527272304534190016874861707142199084370913491763069907061022032498642437934439992324122992001059345963262476780038837188588217891490522990382476689941099849347410295840544789147885672178390646702465703335367454277298843747306817326032312631568943823513215061498023723097673035179919476544858144479006434485940184986493637664140389333885845512619943876111611492852927808064290485079017135630845223889933419094128648862071470900848706269947115546621495274754188175933717361564534881980495315388887148032856792889032519544744018892552438818731885463252458130610461533155032672191038624332670268726016846768783340396325826775111613146167285880735510260758677414752029925811577333955980108185499715150909145543072283820621880360600017947238484101702210539871522003087691922889328966804002617733175751136970688864308509360418527226468463710598376577140451184254768902750254223611415082923011130038266120037999268671708965236864676417085709116023994495613698375140462247060832604364548688315323611092325207374833989992230399863148645923757668268281590634802127372371387021380172142337447475447507519010116966987979729455659073027571656985606409324741786911559813505570236149735633131239053471232342397723913470901886988955693047524279046802280454516163092120014557701251780548316658943010598130642642116617664558141606834329696310722716960889117887520606148673870278492404542796240644274578 632517113604066546062736240896728440572783918191884482865064464114940644510225423954437841016392065864013317041793846312038675096602553049561879290235668879631087006305825131859205406075169756914723923074870594414468056893593527220298505398583411449907813962516421098236002585988052349565445403517977912492672993220689203606219167864822854982311206026169489072885304505776811336634304671582080175340219666083918684342619065254354485673123894084854311245161528188502600011244574844759664180577930077255345067356989087245034102334957861523208358979277342538950020782556373390791427343576711107491121047526983652083939027701003068455721984580183891667815085703022577719509332714098496616749438597025546690723662018750240827226600208983856148464167347475434006328941815980668560753635991733506103534658770000995524797072267398042960162642311845491323363531770464626973704730996614714890643261913603087461580717942700856652602204444235381229271031784154625313773262048445519327510337528034592995553206847128616482097270483130336570886905187582412081945244834342114907644499244096460121106865120295517356799250601297838111266743806237123762837609034717760556415396393338861031111096923707139305413547896914001539658342773046103576539771660043276113153285671417126293304003368098949490702698603386470454875436513519515538933381356177841646303243081798171535542557984544256467333288516135492573509318652962758592938253499576641007130605975856819828251215741829923999171737728567579572293617337386180339017800343667240752937843047345629076136583834036997080163583605527096381816560876949146676020456544870358827689274606052458895624212778161773773085201054394979332715081728137964496091138826877667979925800400949520692910903201620331137840026819515055972712398006596359703905561698068751917982932819897288295999420605550921359590670686161390671771197357618243826510571528821008161120104812876593401559530323428587337875287194110599539841728461097540542977415820691968020224825232597449943909507096615767925163813622894917994513384934371746940848336628564399095191151510202826221577140042414612686439794787002521576034334481013540543447011378259529308337016367209585378901311720154326734319509954367295459716243040655248210603686901683505213862693051712858342423336008553199890166613375217385635550193302355641990978881476309381609327332488959326453105847696610434804866382803355372209738757461059316654473310347582419305569344389915800481637192555525028486361523238467422991610684980884396303308942437785617527479135793587125551368243284462271006802641058242591829949640104380527029375526798437603335850122047587508931418027091224444871902650381768438336081978976691615729331486830206818588393017745679280249391001651326683403707011799495573110778693254061503672979707533875889152835265677697479108487060844676029927987135483838558164471182824215555154097789919856617971190624802059197099724494561643048389122215733484920988130675923209466255110874724384097809667889111234087587565540855632240807901884522672263139194363392864189280532276610888155338255579428835948750939877380929803430739512085266681646895899066103790741209849889566951331475779973029 1023434188277358171436199706746209477712710356715334768581587347764019637759277742675386863052403761086177180626134254628626117924658565667851998832752841715092137097968752259751365850949296061889541865479221840833469876841723044139777569909282648574817423661353396472584215006040057782852338418121768727564601160506311361953106168626899427265219102852914835770707300530767759613173916382556209174070451035022973991104083176726755829312205402880756712930159073469115942735635729421263594139327873979494044419951251518726419369144191776516314677440387605020763387172491228784089969043118135751937707683083458348186873216513071962258162822553363568122265928135119588217171962880263817162117907503110597363018361218055735470549410361347991364971013517672362587487556734853602521751104478315225943946111480057906947579657508338742569935283564785849277027995521299366693060940162765008670176318160413125057680996784567392997443180822433222330298221872901023376239100376100553321666271953587062229992477568641500025193814046586527673288232656518393249889680394116504319445628335770173882629603815435718302205064785655366693586710372545689512453872390743032905856523677954886307938858114503197620338417261774578514403791347913487587441763773727953626283034842250394137510472222998006389887815101276759534495988771330151989602643832535505012639967992844281638797911027154379976143927558725331440750509908541652333189569282938660729608556768408457315731569703819262053948750522629692633460648056528864129749733853339828644978472151108601436345401508506379951478594879869893740273408638724070372323846458568835904296733147739485510605232403370275379601993892996102326399575611456101212233447491964597814633342757784779497003104617067100827935595726633779524362388400276369231177866232258768792844639962096372666912912368620828420612703184803828606211189681741235827569917492083484941158942001464811293050053313811064027816387043458009835682273250245426215155806467394433723560192686874748787656813913941800237795382566718431209574882958094844613883516548040943953335630516637312161762126536052276826829128672848034195978210592625033396374819442550014387354151998054809268834730814282975596390980855216001729663358587276743485357875077617222575427227933693353657812223156586056683055645894762129654442745741174373876442133934439992070860487521631517491730180366879160821713151586695768535565532572672462821759191083092680064246759141945726293214526511505136671861238389376568534682968801506276663908960385024101629181346333458647554455935207351599973606643675975767581086610793244835538735945325664071799560720424164649382602281860127195126126261796851361347212017242811653728600158539172055453069434831388396273385497265025058544169258860328177475327381569385114765304914908709879145065665540846125032244729112957620562789262856209945185851354966553002629545297438866734938178604531514856172752066218628654798446957520396480801636246159359201888242113777855330152065613024704989474554496548679765086948686803126779302286483407421890532312824927547098348853710071478065368604435522536637760435822807983642536013786586709939415080128381971494127716424247607 1655951301881424717498935947642937918285494274907219251446651811878960282269503166629824704068795826950190497667928100940664793021261118717413878122988510594723224104274577391610571257024465818804265788554092435247937933735316571360076075307866060024725237623869817570820217592028110132417783821639746640057274153727000565559325336491722282247530308879084324843592605036544570949808221054138289349410670701106892675446702241981110314985329296965611024175320601657618542746880304266023258319905804056749389487308240605971453471479149638039523036419664947559713407955047602174881396386694846859428828730610442000270812244214075030713884807133547459790081013838142165936681295594362313778867346100136144053742023236805976297776010570331847513435180865147796593816498550834271082504740470048732047480770250058902472376729775736785530097925876631340600391527291763993666765671159379723560819580074016212519261714727268249650045385266668603559569253657055648690012362424546072649176609481621655225545684415770116507291084529716864244175137844100805331834925228458619227090127579866634003736468935731235659004315386953204804853454178782813275291481425460793462271920071293747339049955038210336925751965158688580054062134120959591163981535433771229739436320513667520430814475591096955880590513704663229989371425284849667528536025188713346658943211074642453174340469011698636443477216074860824014259828561504410926127822782515301736739162744265277143982785445649186053120488251197272205754265393915044468767534197007069397916315198454230512481985342543377031642178485396990122089969515673217048344303003439194731986007753791944406229445181532049152687194947391081659114657339594065708324586318842265794559143158734300189914007818687431965775622546148835497074786406872728935083427930327520710827572781993660962912332974171749780203373870965219277982387039359479654080489020904493102279046814341404694609583637239651365691674237568609375524001711342966758133222288086401743785017919472198731566321010557568162959196189613349204088267892466591554731853176605343048526782026840138383339266578466889513268923459850555772012545073638573939821830820809543695691168365264394647736042534437302330710490809583297189379601627931991695961561979300727789289920985406212000235559165139256573222259269979515289992939043530015867421015410749373680187820010590843944836028063489595626579534390051140745304290033731779476232501430675099369816103531861526774851719067030165158222761627843991526293653782390672967217902822809719156660482127045773105824178491813870980409284734218359411036250897625362568111472124101675135410842471752158314020308951351639998028912178619799683293996219503269457931645369378874041462452577067676522776498916351741947876270659823750586106074823446618438284622442585768297900931218543604140731789957633650490776398340048503350322537790768557783643087358723352909369229333574053272476560780271703187569173253881401789766922082568668143352988502239427961733502135939077062120037404312005894850571325799042441480846800286079812845101538435253687109289500314014119544312903466441191175334893250324182909685652813730156289978271538445459192204220636 2679385490158782888935135654389147395998204631622554020028239159642979920028780909305211567121199588036367678294062355569290910945919684385265876955741352309815361202243329651361937107973761880693807654033314276081407810577039615499853645217148708599542661285223214043404432598068167915270122239761515367621875314233311927512431505118621709512749411731999160614299905567312330562982137436694498523481121736129866666550785418707866144297534699846367737105479675126734485482516033687286852459233678036243433907259492124697872840623341414555837713860052552580476795127538830958971365429812982611366536413693900348457685460727146992972047629686911027912346941973261754153853258474626130940985253603246741416760384454861711768325420931679838878406194382820159181304055285687873604255844948363957991426881730116809419956387284075528100033209441417189877419522813063360359826611322144732230995898234429337576942711511835642647488566089101825889867475529956672066251462800646625970842881435208717455538161984411616532484898576303391917463370500619198581724605622575123546535755915636807886366072751166953961209380172608571498440164551328502787745353816203826368128443749248633646988813152713534546090382420463158568465925468873078751423299207499183365719355355917914568324947814094962270478328805939989523867414056179819518138669021248851671583179067486734813138380038853016419621143633586155455010338470046063259317392065453962466347719512673734459714355149468448107069238773826964839214913450443908598517268050346898042894787349562831948827386851049756983120773365266883862363378154397287420668149462008030636282740901531429916834677584902324532289188840387183985514232951050166920558033810806863609192485916519079686917112435754532793711218272782615021437174807149098166261294162586289503672212744090033629825245342792578200816077055769047884193576721100715481650406512987978043437988815806215987659636951050715393508061281026619211206274961588392973289028755480835467345210606346947519223134924499368400754578756331780413663150850561436168615369724646287001862412543477450545101393114519166340098052132698589967990755666263607336196650263359558083045320363319203916570773348720277927101471664799298919042960215208735181319437056917950364717148919099565658047782321725313256277905164741644944435684784704389743863149345189365751048307532222361436566208430368756448292685976746909280869822606404242297991692513767779434062862673807253068066245578535301830084000017220560060976622583896949631126863207833820785841828460504420660280113699165470954015928410194126992122861690870198106847417449765746934971562895916807696622590811478835124155173975471161030506013462314923186531803908550929494531887408456072796161996181376800492045529520151928061433456392831733203589537351295647442966596759389729172976519070591271053565661196258448536173892757321560413188384797590087847547833865088909445228626998900357986016130774277882591403168241927870031595102280094758113799115160644066536674533952991770981799258128925821743767330207707970345157926465982352035962999571792079488148748426003078951611157701233966718923472239523669571370106653509939586908628468243 4335336792040207606434071602032085314283698906529773271474890971521940202298284075935036271189995414986558175961990456509955703967180803102679755078729862904538585306517907042972508364998227699498073442587406711329345744312356186859929720525014768624267898909093031614224650190096278047687906061401262007679149467960312493071756841610343991760279720611083485457892510603856901512790358490832787872891792437236759341997487660688976459282863996811978761280800276784353028229396337953310110779139482092992823394567732730669326312102491052595360750279717500140190203082586433133852761816507829470795365144304342348728497704941222023685932436820458487702427955811403920090534554068988444719852599703382885470502407691667688066101431502011686391841375247967955775120553836522144686760585418412690038907651980175711892333117059812313630131135318048530477811050104827354026592282481524455791815478308445550096204426239103892297533951355770429449436729187012320756263825225192698620019490916830372681083846400181733039775983106020256161638508344720003913559530851033742773625883495503441890102541686898189620213695559561776303293618730111316063036835241664619830400363820542380986038768190923871471842347579151738622528059589832669915404834641270413105155675869585434999139423405191918151068842510603219513238839341029487046674694209962198330526390142129187987478849050551652863098359708446979469270167031550474185445214847969264203086882256939011603697140595117634160189727025024237044969178844358953067284802247353967440811102548017062461309372193593134014762951850663873984453347670070504469012452465447225368268748655323374323064122766434373684976383787778265644628890290644232628882620129649129403751629075253379876831120254441964759486840818931450518511961214021827101344722092913810214499785526083694592737578316964327981019450926734267162175963760460195135730895533892471145717035630147620682269220588290366759199735518595228586730276672931359731422251043567237211130228525819146250789455935056936563713774945945129617751418743028027723347222901251630050389194570317588928440659692986055853366975592549145740003300739902181276018481084169101778736488728583598564306815883157580257811962474382596108422561843140726877280999036218678154007069904505777658283341486864569829500164434721160234428623828234405611284164755938739431236127542813205381402236493858352074872220366798050026174112640136021774224193944442878803878966205668779842917964645565466988306761645064551587270276366287622598344766030643539942502310587550193766104292190979341934425213144412486403159112588495560674958889573867422070382405367668966010642899762830475122184086154090960713800009681818192644463449277929803535994339985523749318938495097728542439921800179975678647539531216278351641874159793881415740867527977933333313708309028224921544342059536306951886496430548090118196831472156313440756917063198662962717705187779172061173585304028159284381170090324496538174948090782334186075532617296583143598794571357303776876649829454724864185248177007994050158003028004417605723072289072106093607693061329469520142786492594484290901833157892337399727660084925048385046100832688879 7014722282198990495369207256421232710281903538152327291503130131164920122327064985240247838311195003022925854256052812079246614913100487487945632034471215214353946508761236694334445472971989580191881096620720987410753554889395802359783365742163477223810560194316245657629082788164445962958028301162777375301024782193624420584188346728965701273029132343082646072192416171169232075772495927527286396372914173366626008548273079396842603580398696658346498386279951911087513711912371640596963238373160129236257301827224855367199152725832467151198464139770052720666998210125264092824127246320812082161901557998242697186183165668369016657980066507369515614774897784665674244387812543614575660837853306629626887262792146529399834426852433691525270247569630788114956424609122210018291016430366776648030334533710292521312289504343887841730164344759465720355230572917890714386418893803669188022811376542874887673147137750939534945022517444872255339304204716968992822515288025839324590862372352039090136622008384593349572260881682323648079101878845339202495284136473608866320161639411140249776468614438065143581423075732170347801733783281439818850782189057868446198528807569791014633027581343637406017932729999614897190993985058705748666828133848769596470875031225503349567464371219286880421547171316543209037106253397209306564813363231211050002109569209615922800617229089404669282719503342033134924280505501596537444762606913423226669434601769612746063411495744586082267258965798851201884184092294802861665802070297700865483705889897579894410136759044642890997883725215930757846816725824467791889680601927455256004551489556854804239898800351336698217265572628165449630143123241694399549440653940455993012944114991772459563748232690196497553198059091714065539949136021170925267606016255500099718171998270173728222562823659756906181835527982503315046369540481560910617381302046880449189155024445953836669928857539341082152707796799621847797936551634519752704711279799048072678475439132166093770012590859556304964468353702276910031414569593589463891962592625897917052251607113795039473542052807505222193465027725247735707994056406165788612215131347528659861781809091902802480877589231877858184913434139181895027465522058349462058600436093136628518724218823605343316331123808589883085778069599462805178864308612938795355147314101128105182284435075035566817968444924227108523164906343544959307043935246540264072215886458210658237941828879476032910984210224100768818390761662285111648246898950184572229471629238477360728344139048054614426384405890144812888441141554606613395281974279365758781806307023633169005353968263585773707265490574309310246339260129562121744306023144133115830995253186480733030526227393979822115100491279105342931967329700127606708972987609110084845463697145177063183834124737323062486684828098816192597907720732565400422670323305411678610019856953903528604464897063751872162933814778072419159601434802437166972573258566424408206543193062428944189331732457227210135469105310295547858449087583650685929015507215702020503160954470399957759035288643898173095841809755472599094397650295718257620756630131861069299030191578558324633009461157122 11350059074239198101803278858453318024565602444682100562978021102686860324625349061175284109501190418009484030218043268589202318880281290590625387113201078118892531815279143737306953837970217279689954539208127698740099299201751989219713086267178245848078459103409277271853732978260724010645934362564039382980174250153936913655945188339309693033308852954166131530084926775026133588562854418360074269264706610603385350545760740085819062863262693470325259667080228695440541941308709593907074017512642222229080696394957586036525464828323519746559214419487552860857201292711697226676889062828641552957266702302585045914680870609591040343912503327828003317202853596069594334922366612603020380690453010012512357765199838197087900528283935703211662088944878756070731545162958732162977777015785189338069242185690468233204622621403700155360295480077514250833041623022718068413011176285193643814626854851320437769351563990043427242556468800642684788740933903981313578779113251032023210881863268869462817705854784775082612036864788343904240740387190059206408843667324642609093787522906643691666571156124963333201636771291732124105027402011551134913819024299533066028929171390333395619066349534561277489775077578766635813522044648538418582232968490040009576030707095088784566603794624478798572616013827146428550345092738238793611488057441173248332635959351745110788096078139956322145817863050480114393550672533147011630207821761392490872521484026551757667108636339703716427448692823875438929153271139161814733086872545054832924516992445596956871446131238236025012646677066594631831270073494538296358693054392902481372820238212178178562962923117771071902241956415943715274772013532338632178323274070105122416695744067025839440579352944638462312684899910645516058461097235192752368950738348413909932671783796257422815300401976721234162854978909237582208545504242021105753112197580772920334872060076101457352198078127631448911907532318217076384666828307451112436133530842615309889605667657985240020802046794613241528182128648222039649165988336617491615309815527149547102640801684112628401982712500491278046832003317796881447997357146067969888233612431697761640518297820486401045184405115035438442725396613564491135888083901490188935881435129355306672731288728111120974614465295454452915278234034183965413292932441173200966431478857066844613520562617848772199370681418085460598037126710343009333218047886676285846440080402653537041820795085144812753902174869666235806697523307349663235517175316472194827816395269120900670846449635604808192488698081124154822866354699019099798441086867861319456765196597500591075736373631254739717908390337139785368523346283653082458106032825951308475458702464410536566520567379503571434038986376833885371889129880103285356512518825388436487337856939058478924701652715256395800393137127041114142249780268872352309166753853501796806851329110216969361381960262414834880639002557244480333186738830596451353743348890920946381491283844763130264864349753810353734263676667599324735098917038375550114263684223696070661163982474817563482107577716004266703534871084942119237184142890202548522589788024198469026690276503606709679110293846001 18364781356438188597172486114874550734847505982834427854481151233851780446952414046415531947812385421032409884474096080668448933793381778078571019147672293333246478324040380431641399310942206859881835635828848686150852854091147791579496452009341723071889019297725522929482815766425169973603962663726816758281199032347561334240133535068275394306337985297248777602277342946195365664335350345887360665637620783970011359094033819482661666443661390128671758053360180606528055653221081234504037255885802351465337998222182441403724617554155986897757678559257605581524199502836961319501016309149453635119168260300827743100864036277960057001892569835197518931977751380735268579310179156217596041528306316642139245027991984726487734955136369394736932336514509544185687969772080942181268793446151965986099576719400760754516912125747587997090459824836979971188272195940608782799430070088862831837438231394195325442498701740982962187578986245514940128045138620950306401294401276871347801744235620908552954327863169368432184297746470667552319842266035398408904127803798251475413949162317783941443039770563028476783059847023902471906761185292990953764601213357401512227457978960124410252093930878198683507707807578381533004516029707244167249061102338809606046905738320592134134068165843765678994163185143689637587451346135448100176301420672384298334745528561361033588713307229360991428537366392513249317831178034743549074970428674815717541956085796164503730520132084289798694707658622726640813337363433964676398888942842755698408222882343176851281582890282878916010530402282525389678086799319006088248373656320357737377371727769032982802861723469107770119507529044109164904915136774033031727763928010561115429639859058798299004327585634834959865882959002359581598410233256363677636556754603914009650843782066431151037863225636478140344690506891740897254915044723582016370493499627653369524027084522055294022126935666972531064615329117838924182603379941970865140844810641663382568081106790151333790814637654169546492650482350498949680580557930206955507272408153047464154892408797907667875524765307996500240297031043044617155991413552233758500448743779226421502300106912389203526061994346913296627638830752746386163353605959839650994481871222491935191455507551716464290945589104044336001056303633646770592157241054111996321578792958194949795804997692884339017339126342312569121202033053887968640261983133216549918655966860864195279762623964620845664886385093767004625088284969634774883764074266656767057288024507598261399190588683659422618873103971268967711307496253625713193723061147227078238571503621133760081090341894840513425173880911449095614862606413215204202412055970084424306453955650891269597046794773483393549139477655939228303856459580230892065485506434498521332801554084235542108535777452579458287077965225857306740157501001437752731837077158913475416871186064120497965846857326166707043572817335316899492788173633033618326316607457345354588034476907192074454196082211037563869732781977894872593548004622026236043279191439398091164324936945217521241142866359902439799376680840414718331581793185920806143346418156059538325720468082165034312119755003123 29714840430677386698975764973327868759413108427516528417459172336538640771577763107590816057313575839041893914692139349257651252673663068669196406260873371452139010139319524168948353148912424139571790175036976384890952153292899780799209538276519968919967478401134800201336548744685893984249897026290856141261373282501498247896078723407585087339646838251414909132362269721221499252898204764247434934902327394573396709639794559568480729306924083598997017720440409301968597594529790828411111273398444573694418694617140027440250082382479506644316892978745158442381400795548658546177905371978095188076434962603412789015544906887551097345805073163025522249180604976804862914232545768820616422218759326654651602793191822923575635483420305097948594425459388300256419514935039674344246570461937155324168818905091228987721534747151288152450755304914494222021313818963326851212441246374056475652065086245515763211850265731026389430135455046157624916786072524931619980073514527903371012626098889778015772033717954143514796334611259011456560582653225457615312971471122894084507736685224427633109610926687991809984696618315634596011788587304542088678420237656934578256387150350457805871160280412759960997482885157148168818038074355782585831294070828849615622936445415680918700671960468244477566779198970836066137796438873686893787789478113557546667381487913106144376809385369317313574355229442993363711381850567890560705178250436208208414477569822716261397628768423993515122156351446602079742490634573126491131975815387810531332739874788773808153029021521114941023177079349120021509356872813544384607066710713260218750191965981211161365824646586878842021749485460052880179687150306371663906087202080666237846335603125824138444906938579473422178567858913005097656871330491556430005507492952327919583515565862688573853163627613199374507545485800978479463460548965603122123605697208426289858899144598156751374325013794603979976522861436056000567270208249421977576978341484278692457686774448136573811616684448782788020832610998720989329746546266824447122582223680197011257533210482020296277507477808487778287129034360841498603988770698301728388682356210924183142818404732875604571246399461948735070364227366310877299241689861329839930363306351847241864186796279827585265560054399498788916334537667830736005450173495285197288010271815261794409325560310733111216709807760398029719239159764230977973480031019892835765096047263517732321583419049765658418788559963433240431785808276984438119281249583128961885104419776719162070037038319264230811361802052393122534173850952644812992164148015088397695336700218634351156826715526095253143082271248588880983385952696868286660518088796035732781912658115301806163567362152986964983178464032773113675745589460334177421998025259886957820139411023294021033237430167835854087471102352898420882407281270310105041003831012415272223722515174337467327228817588581541924211819892561379825974912463630069680059956348266300969525760751955204719060431964847917603996458645494197328646921660401786157542875663094161825488919420035084723250444075906706502911551925356837568765936076123354665936206180258007352410744585771743991230048849124 48079621787115575296148251088202419494260614410350956271940323570390421218530177154006348005125961260074303799166235429926100186467044846747767425408545664785385488463359904600589752459854630999453625810865825071041805007384047572378705990285861691991856497698860323130819364511111063957853859690017672899542572314849059582136212258475860481645984823548663686734639612667416864917233555110134795600539948178543408068733828379051142395750585473727668775773800589908496653247750872062915148529284246925159756692839322468843974699936635493542074571538002764023905600298385619865678921681127548823195603222904240532116408943165511154347697642998223041181158356357540131493542724925038212463747065643296790847821183807650063370438556674492685526761973897844442107484707120616525515363908089121310268395624491989742238446872898876149541215129751474193209586014903935634011871316462919307489503317639711088654348967472009351617714441291672565044831211145881926381367915804774718814370334510686568726361581123511946980632357729679008880424919260856024217099274921145559921685847542211574552650697251020286767756465339537067918549772597533042443021451014336090483845129310582216123254211290958644505190692735529701822554104063026753080355173167659221669842183736273052834740126312010156560942384114525703725247785009134993964090898785941845002127016474467177965522692598678305002892595835506613029213028602634109780148679111023925956433655618880765128148900508283313816864010069328720555827998007091167530864758230566229740962757131950659434611911803993857033707481631645411187443672132550472855440367033617956127563693750244144168686370055986612141257014504162045084602287080404695633851130091227353275975462184622437449234524214308382044450817915364679255281563747920107642064247556241929234359347929119724891026853249677514852235992692719376718375593689185138494099196836079659382926229120212045396451949461576511041138190553894924749873588191392842717823152125942075025767881238287907602431322102952334513483093349219939010327104197031402629854631833244475412425619279927964153032243116484278527426065403886115759980184250535486889131099990150604645118511645264808097308393808862031698003058119057263462595295821169490924845177574339177055642303831544049556505643503543124917390841301477506597607414549397193609589064773456744205130558003617450234048934102710598840441192818118946613742014153109385683752014124381927601346043014386504083674945057200245056874093246619213003045323849785728942392444284317423469227627002923653430234906023662090245481347206270526185887209162315475933908203839768111237917057420935766568256152160037976598248559110083490862930144766120157088366613766193075760614156926470358532317941688712341979602049040565069487483531694385479152940965107529563141773207620415312374549067578755727622564782271747857772840908171328747640593701238457965293075674914748248967784637227878279318763086096663688006376563805611655557560237659147279173256514175885481473729240623389069922194926282428022200822067102492252989813856365252605964393310435809146302288232765771555900347729262044160809282624336317545678131212667936778303349803852247 77794462217792961995124016061530288253673722837867484689399495906929061990107940261597164062439537099116197713858374779183751439140707915416963831669419036237524498602679428769538105608767055139025415985902801455932757160676947353177915528562381660911823976099995123332155913255796957942103756716308529040803945597350557830032290981883445568985631661800078595867001882388638364170131759874382230535442275573116804778373622938619623125057509557326665793494240999210465250842280662891326259802682691498854175387456462496284224782319115000186391464516747922466287001093934278411856827053105644011272038185507653321131953850053062251693502716161248563430338961334344994407775270693858828885965824969951442450614375630573639005921976979590634121187433286144698526999642160290869761934370026276634437214529583218729959981620050164301991970434665968415230899833867262485224312562836975783141568403885226851866199233203035741047849896337830189961617283670813546361441430332678089826996433400464584498395299077655461776966968988690465441007572486313639530070746044039644429422532766639207662261623939012096752453083655171663930338359902075131121441688671270668740232279661040021994414491703718605502673577892677870640592178418809338911649243996508837292778629151953971535412086780254634127721583085361769863044223882821887751880376899499391669508504387573322342332077967995618577247825278499976740594879170524670485326929547232134370911225441597026525777668932276828939020361515930800298318632580217658662840573618376761073702631920724467587640933325108798056884560980765432696800544946094857462507077746878174877755659731455305534511016642865454163006499964214925264289437386776359539938332171893591122311065310446575894141462793781804223018676828369776912152894239476537647571740508569848817874913791808298744190480862876889359781478493697856181836142654788260617704894044505949241825373718368796770776963256180491017661051989950925317143796440814820294801493610220767483454655686424481414048006551735122534315704347940928340073650463855849752436855513441486669958829761948260430539720924972056814555099764727614363968954948837215277813456201074787787936916378140412668554793270810766768367285485368140761836985682499330855208483926186418919829100111371634822065697903041913833725378969308242603057588044682390897599336588718538614456118314350561450758741863108628559680352582349924587222045173002221448848061387899659922929462064152162502463505020633485488659901523603651122326573432914690827496864061036585539264665322187884241596708076055212779655198158915339178051357177403873629244904058402462394743772947031019711338423408626857581634511806951777523448233562155889870279271881494881924181519079457323515496405721485455655347638500899246909481556954272436973080376130823584175010637788251166462020169931654148504972063542057962813844739183744019864316216412795432620304492503329790891996457120439659144737998560293757686436520153877956527085998411102483892316946140733399077725699268883267250841847942829808358364942765586414815302775785287690687643754511715852805199784691128393469113665338167515475218830516575553030541957253708522294579852701371 125874084004908537291272267149732707747934337248218440961339819477319483208638117415603512067565498359190501513024610209109851625607752762164731257077964701022909987066039333370127858068621686138479041796768626526974562168060994925556621518848243352903680473798855446462975277766908021899957616406326201940346517912199617412168503240359306050631616485348742282601641495056055229087365314984517026135982223751660212847107451317670765520808095031054334569268041589118961904090031534954241408331966938424013932080295784965128199482255750493728466036054750686490192601392319898277535748734233192834467641408411893853248362793218573406041200359159471604611497317691885125901317995618897041349712890613248233298435559438223702376360533654083319647949407183989140634484349280907395277298278115397944705610154075208472198428492949040451533185564417442608440485848771198119236183879299895090631071721524937940520548200675045092665564337629502755006448494816695472742809346137452808641366767911151153224756880201167408757599326718369474321432491747169663747170020965185204351108380308850782214912321190032383520209548994708731848888132499608173564463139685606759224077408971622238117668702994677250007864270628207572463146282481836091992004417164168058962620812888227024370152213092264790688663967199887473588292008891956881715971275685441236671635520862040500307854770566673923580140421114006589769807907773158780265475608658256060327344881060477791653926569440560142755884371585259520854146630587308826193705331848942990814665389052675127022252845129102655090592042612410843884244217078645330317947444780496131005319353481699449703197386698852066304263514468376970348891724467181055173789462263120944398286527495069013343375987008090186267469494743734456167434457987396645289635988064811778052234261720928023635217334112554404212017471186417232900211736343973399111804090880585608624751602838580842167228912717757002058799242543845850067017384632207663012624645736162842509222536924712389016479328654687457047798797697160867350400754660887252382291487346685962082384449041876224583571964041456335341981165168613730123949139199372702166944556191225392433055428023405220765863187079672798466370343604425404224432281503668821780053661500525595975471403942915684378571341406585038751116220270785749200665002594079584507188401362175282819586676317968011684807675965819227400121545400468871200964059326111607132600075512281587524275505078538666586138450077833730545533994770222864125371897282700419769889308345354009008492292325111537671831614099717303025136545365185865363938566339719349563153107898170573632660830367966786279594575568664834179883070917035268386378378328276046958645885647687957684795676005927682047814347410197797634949687541464316396965088648657916126021341238353147316783845408666478836569237510409876127536845813805820586685647355072767504909917651253397913380167418078039859781094348317938463501084656957445692813083959489612084646236070249763065573460316618880551454939892272337173036774225257830559187009868078667805116632150540296652037064947524999107488017456899949369461394600211676284501454852893098708673169921645300597929656553618 203668546222701499286396283211262996001608060086085925650739315384248545198746057677200676130005035458306699226882984988293603064748460677581695088747383737260434485668718762139665963677388741277504457782671427982907319328737942278734537047410625013815504449898850569795131191022704979842061373122634730981150463509550175242200794222242751619617248147148820878468643377444693593257497074858899256671424499324777017625481074256290388645865604588381000362762282588329427154932312197845567668134649629922868107467752247461412424264574865493914857500571498608956479602486254176689392575787338836845739679593919547174380316643271635657734703075320720168041836279026230120309093266312755870235678715583199675749049935068797341382282510633673953769136840470133839161483991441198265039232648141674579142824683658427202158410112999204753525155999083411023671385682638460604460496442136870873772640125410164792386747433878080833713414233967332944968065778487509019104250776470130898468363201311615737723152179278822870534566295707059939762440064233483303277240767009224848780530913075489989877173945129044480272662632649880395779226492401683304685904828356877427964309688632662260112083194698395855510537848520885443103738460900645430903653661160676896255399442040180995905564299872519424816385550285249243451336232774778769467851652584940628341144025249613822650186848534669542157388246392506566510402786943683450750802538205488194698256106502074818179704238372836971694904733101190321152465263167526484856545905467319751888368020973399594609893778454211453147476603593176276581044762024740187780454522527374305883075013213154755237708403341717520467270014432591895613181161853957414713727794435014535520597592805515589237517449801871990490488171572104233079587352226873182937207728573381626870109175512736322379407814975431293571798949680115089082047878998761659729508984925091557866576976556949638938005875973937493076460294533796775384161181073022483307426139346383609992677192611136870430527335206422579582114502045101795690474405124743102134728342860127448752343278803824485014111684966428392156536264933341344487918094148209917444758012392300180220992344401545633434417980350483565234737629089793544986269267186168152635262145426712014895300504054287319200637039309626952584841599240093991803722590638761975404787737950893821434042794632318573135566417828927855959801897982818795788186104499113828581448136900181247447204967142690829088601955098467216034193896293826515247698470715615110597386172406390594547756957647299421913428322175772515804791743524101204541989923517123223192398011956573036027404603314997805990932998977291691761517582723987045909826611890431936828925157529182839608977195085385005563310753131683253290297326042363563306446645602930353099101717369176731491794483196917645298589407442064024632508909355863783400530386538816787369226134064048830533684659921407830751777551468757597608239083217251203379249604113367568611732234481352246957890406457352279629180639161155604423878622168087638917551952633665082620419407935827987339680819459240851912687802148028342838575059938379191759720285369468651739215127175353822892509509254989 329542630227610036577668550360995703749542397334304366612079134861568028407384175092804188197570533817497200739907595197403454690356213439746426345825348438283344472734758095509793821746010427415983499579440054509881881496798937204291158566258868366719184923697706016258106468789613001742018989528960932921496981421749792654369297462602057670248864632497563161070284872500748822344862389843416282807406723076437230472588525573961154166673699619435334932030324177448389059022343732799809076466616568346882039548048032426540623746830615987643323536626249295446672203878574074966928324521572029680207321002331441027628679436490209063775903434480191772653333596718115246210411261931652911585391606196447909047485494507021043758643044287757273417086247654122979795968340722105660316530926257072523848434837733635674356838605948245205058341563500853632111871531409658723696680321436765964403711846935102732907295634553125926378978571596835699974514273304204491847060122607583707109729969222766890947909059479990279292165622425429414083872555980652967024410787974410053131639293384340772092086266319076863792872181644589127628114624901291478250367968042484187188387097604284498229751897693073105518402119149093015566884743382481522895658078324844955218020254928408020275716512964784215505049517485136717039628241666735651183822928270381865012779546111654322958041619101343465737528667506513156280210694716842231016278146863744255025600987562552609833630807813397114450789104686449842006611893754835311050251237316262742703033410026074721632146623583314108238068646205587120465288979103385518098401967307870436888394366694854204940905790040569586771533528900968865962072886321138469887517256698135479918884120300584602580893436809962176757957666315838689247021810214269828226843716638193404922343437233664346014625149087985697783816420866532321982259615342735058841313075805677166491328579395530481105234788691694495135259537077642625451178565705230146320050785082546452501899729535849259447006663861110036629913299742262663040875159785630354517019830206813410834727727845700709597683649007884727498517430101955074611867233347582619611702568583525572654047772424950854200281167430156363701107972694218949210701548689836974415315806927237610870771907997203003579208380716211991335957819510879741004387593232841559911976139313069104253629470950286584820374093794747083359923443383287666989150163825225435714048212412462834971480472221229495674740405176300946579727891064049379373070367998315530367275480751744603556249249972410959585259936275489818829928288889287069905928489856842572755551119854743609660065433682964592270527574545956525941400653641022314296204990218707983787571043176870797293772871091312687611125100541881050925247013583827879703411734251588269225123058607529878808578328605584124135158644952473900760045755169669603987216033893889554874136051715302228447064827339485870611558645817075536071740167874208649072062688072857180696378470551602010023463866773971160180635579053427941596915396393345469476738962501743750425536040086368283991717884406765851020175819604928292208036454538590868044221740222361750447888297096999123490439165808607 533211176450311535864064833572258699751150457420390292262818450245816573606130232770004864327575569275803899966790580185697057755104674117328121434572732175543778958403476857649459785423399168693487957362111482492789200825536879483025695613669493380534689373596556586053237659812317981584080362651595663902647444931299967896570091684844809289866112779646384039538928249945442415602359464702315539478831222401214248098069599830251542812539304207816335294792606765777816213954655930645376744601266198269750147015800279887953048011405481481558181037197747904403151806364828251656320900308910866525947000596250988202008996079761844721510606509800911940695169875744345366519504528244408781821070321779647584796535429575818385140925554921431227186223088124256818957452332163303925355763574398747102991259521392062876515248718947449958583497562584264655783257214048119328157176763573636838176351972345267525294043068431206760092392805564168644942580051791713510951310899077714605578093170534382628671061238758813149826731918132489353846312620214136270301651554983634901912170206459830761969260211448121344065534814294469523407341117302974782936272796399361615152696786236946758341835092391468961028939967669978458670623204283126953799311739485521851473419696968589016181280812837303640321435067770385960490964474441514420651674580855322493353923571361268145608228467636013007894916913899019722790613481660525681767080685069232449723857094064627428013335046186234086145693837787640163159077156922361795906797142783582494591401430999474316242040402037525561385545249798763397046333741128125705878856489835244742771469379908008960178614193382287107238803543333560761575254048175095884601245051133150015439481713106100191818410886611834167248445837887942922326609162441143011164051445211575031792452612746400668394032964063416991355615370546647411064307494341496718570822060730768724357905555952480120043240664665631988211719831611439400835339746778252629627476924428930062494576922146986129877533999067532616212027801787364458731349564910373456651748173066940859587071006649525194611795333974313119655053695035296419099785327495792537056460580975825752875040116826496487634699147780639928935845601784012494196970815876005127050577952353949625766072412051490322779845420025838943920799418750973732808110183871603535316763877263962925687672265582605157955940511623674939319725341366106462777336268324339264295496349312644082418685439363920324763342360274768162613921787357875894620768838713930640964661653158135198104006207619710381498688258451262334634720032413388274447918413373965795947949131811316645687470036997962398261460573523248217702918236365009360206031602109139920616496200706053636902750066176697693174435853673564304215544339626191443009858379854518622324224775976706610300372811802501769433748052394537925392554664525533387387746420432706342243362185779351058980749487260893701363336197285833133679979251091459852451312292186224749308110705032954256981354273231323439809816218214583546020794018561433108394290915135408833045955448022196271331398703866006702932863621752956635046611514476970059803942025591830402187103424272352946382948675063596 862753806677921572441733383933254403500692854754694658874897585107384602013514407862809052525146103093301100706698175383100512445460887557074547780398080613827123431138234953159253607169409596109471456941551537002671082322335816687316854179928361747253874297294262602311344128601930983326099352180556596824144426353049760550939389147446866960114977412143947200609213122446191237947221854545731822286237945477651478570658125404212696979213003827251670226822930943226205272976999663445185821067882766616632186563848312314493671758236097469201504573823997199849824010243402326623249224830482896206154321598582429229637675516252053785286509944281103713348503472462460612729915790176061693406461927976095493844020924082839428899568599209188500603309335778379798753420672885409585672294500655819626839694359125698550872087324895695163641839126085118287895128745457778051853857085010402802580063819280370258201338702984332686471371377161004344917094325095918002798371021685298312687823139757149519618970298238803429118897540557918767930185176194789237326062342958044955043809499844171534061346477767198207858406995939058651035455742204266261186640764441845802341083883841231256571586990084542066547342086819071474237507947665608476694969817810366806691439951896997036456997325802087855826484585255522677530592716108250071835497509125704358366703117472922468566270086737356473632445581405532879070824176377367912783358831932976704749458081627180037846965853999631200596482942474090005165689050677197106957048380099845237294434841025549037874187025620839669623613896004350517511622720231511223977258457143115179659863746602863165119519983422856694010337072234529627537326934496234354488762307831285495358365833406684794399304323421796344006403504203781611573630972655412839390895161849768436714796049980065014408658113151402689139431791413179733046567109684231777412135136536445890849234135348010601148475453357326483346979368689082026286518312483482775947527709511476514996476651682835389324540662928642652841941101529627121772224724696003811168768003273754270421798734495225904209478982982197847153571125137251493711652560843375156668163149559351325529087889251447341834980315210796292636953574478231443407672364565842101465893759281187236636844320048693326359053800742050935256757238261853473812497777104445095228740016577032029941301736532891742776314605418422022679648784749394129766486432149564700009544561725106917390165911585149820438082765451069109193649678421925273993839206712246171331937133909879801660255457592121341083948194726752153464648321302675344353846903230808368703500251666060255347535470680926990531988148069204743644318890006031674502236592327847904404067243882924434196522937268010380785560954215445355140791353210019322713270114106106891549347834584236489108951140408085893568906697347011826152600419695202991374962454326595897117498237494653287427814314600379571974894843102908669751719418965668501523374980259081930004489175584556267004818140005294599990451797268011487617709414954778577871029877637152583471491488108564555323116588272772553953039441357884927254647969015560927848163765814192152634991721369352069873387840872203 1395964983128233108305798217505513103251843312175084951137716035353201175619644640632813916852721672369105000673488755568797570200565561674402669214970812789370902389541711810808713392592808764802959414303663019495460283147872696170342549793597855127788563670890819188364581788414248964910179714832152260726791871284349728447509480832291676249981090191790331240148141372391633653549581319248047361765069167878865726668727725234464239791752308035068005521615537709004021486931655594090562565669148964886382333579648592202446719769641578950759685611021745104252975816608230578279570125139393762732101322194833417431646671596013898506797116454082015654043673348206805979249420318420470475227532249755743078640556353658657814040494154130619727789532423902636617710873005048713511028058075054566729830953880517761427387336043843145122225336688669382943678385959505897380011033848584039640756415791625637783495381771415539446563764182725172989859674376887631513749681920763012918265916310291532148290031536997616578945629458690408121776497796408925507627713897941679856955979706304002296030606689215319551923941810233528174442796859507241044122913560841207417493780670078178014913422082476011027576282054489049932908131151948735430494281557295888658164859648865586052638278138639391496147919653025908638021557190549764492487172089981026851720626688834190614174498554373369481527362495304552601861437658037893594550439517002209154473315175691807465860300900185865286742176780261730168324766207599558902863845522883427731885836272025023354116227427658365231009159145803113914557956461359636929856114946978359922431333126510872125298134176805143801249140615568090389112580982671330239090007358964435510797847546512784986217715210033630511254849342091724533900240135096555850554946607061343468507248662726465682802691077214819680495047161959827144110874604025728495982957197267214615207139691300490721191716118022958471558699200300521427121858059261735405575004633940406577491053573829821519202074661996175269053968903316991580503574289606377267820516176340695130008869741144751098821274316956510966808624820172547912811437888339167693724623730535177078404128006077943829469679462991436221572799176262243937604643180441847228516471711635136862402916732100183649138899220767889879177556657012827206620607960976048630545503893840994955628974002115496900732255117042096961999374126115500592543822700473903964305040911037750999808851350949070145201425125725837271807571465779801168614608045426176812296598787068014999764261665211831722582636453178014488099368353716063618801765316604774164651449383477376901035005507678889388793448721592452961347237126371041034708268194436987825020563444588978071099273003444708073959996807889009659356335692836210765723128493960625513873572610560943099409323952210587663002654749741549751545155084220736378762708874759302239360860423274004346408563801861273273338231040388741803431698670057128353974687272445306679312599880617510523986172413236618039800268015482595033638503433516211686265320792772561416517446936130760826654515292138779256885903063110841562301259483492530987652105791406022554822095145641705016256336515935799 2258718789806154680747531601438767506752536166929779610012613620460585777633159048495622969377867775462406101380186930951898082646026449231477216995368893403198025820679946763967966999762218360912430871245214556498131365470208512857659403973526216875042437968185081790675925917016179948236279067012708857550936297637399488998448869979738543210096067603934278440757354494837824891496803173793779184051307113356517205239385850638676936770965311862319675748438468652230226759908655257535748386737031731503014520143496904516940391527877676419961190184845742304102799826851632904902819349969876658938255643793415846661284347112265952292083626398363119367392176820669266591979336108596532168633994177731838572484577277741497242940062753339808228392841759681016416464293677934123096700352575710386356670648239643459978259423368738840285867175814754501231573514704963675431864890933594442443336479610906008041696720474399872133035135559886177334776768701983549516548052942448311230953739450048681667909001835236420008064526999248326889706682972603714744953776240899724811999789206148173830091953166982517759782348806172586825478252601711507305309554325283053219834864553919409271485009072560553094123624141308121407145639099614343907189251375106255464856299600762583089095275464441479351974404238281431315552149906658014564322669599106731210087329806307113082740768641110725955159808076710085480932261834415261507333798348935185859222773257318987503707266754185496487338659722735820173490455258276756009820893902983272969180271113050572391990414453279204900632773041807464432069579181591148153833373404121475102091196873113735290417654160228000495259477687802620016649907917167564593578769666795721006156213379919469780617019533455426855261252846295506145473871107751968689945841768911111905222044712706530697211349190366222369634478953373006877157441713709960273395092333803660506056373826648501322340191571380284954905678568989603453408376371745218181522532343451883092487530225512656908526615324924817921895910004846618702275799014302381078989284179614449400430668475639977003030753299938708813962195945309799406523090449182542850392786880094528403933215895329391171304659778202232514209752750740475381012315545007689329982365470916324099039761052148876975497953021509940814434313895274680680433105738080493725774243910418026985570275738648388643508569722460518984679022910864894722310309132623468664314585472762857917199017262534219965639507891176906381001221144201726442608447252138422983628535920977894801424517122803953063666584647904766641564016675018738963155612219835582533354949635143437156382540978359816379325436869661657704991556016377072709210504786764835729424630688471902505295795940712718454745557762104455014497127046046230088436398608066732405422920445145179588518275092618673556571561447088561577697755503915939370137671329085898136478358660768657633836378116461652845313125883491650473183418089022796855498062252704388609317089056202066790990990553241912639790719812750606521256212848470990264136350670409713999988938424239325381977631880411551810838942504468726489555907452508091915500269557220214707457086867011057086129724356808002 3654683772934387789053329818944280610004379479104864561150329655813786953252803689128436886230589447831511102053675686520695652846592010905879886210339706192568928210221658574776680392355027125715390285548877575993591648618081209028001953767124072002831001639075900979040507705430428913146458781844861118277728168921749217445958350812030219460077157795724609680905495867229458545046384493041826545816376281235382931908113575873141176562717619897387681270054006361234248246840310851626310952406180696389396853723145496719387111297519255370720875795867487408355775643459863483182389475109270421670356965988249264092931018708279850798880742852445135021435850168876072571228756427017002643861526427487581651125133631400155056980556907470427956182374183583653034175166682982836607728410650764953086501602120161221405646759412581985408092512503423884175251900664469572811875924782178482084092895402531645825192102245815411579598899742611350324636443078871181030297734863211324149219655760340213816199033372234036587010156457938735011483180769012640252581490138841404668955768912452176126122559856197837311706290616406114999921049461218748349432467886124260637328645223997587286398431155036564121699906195797171340053770251563079337683532932402144123021159249628169141733553603080870848122323891307339953573707097207779056809841689087758061807956495141303696915267195484095436687170572014638082793699492453155101884237865937395013696088433010794969567567654371361774080836502997550341815221465876314912684739425866700701066107385075595746106641880937570131641932187610578346627535642950785083689488351099835024522529999624607415715788337033144296508618303370710405762488899838894832668777025760156516954060926432254766834734743489057366516102188387230679374111242848524540500788375972455373729293375432996380014040267581042050129526115332834021268316317735688769378049531070875121263513517948992043531907689403243426464377769290124880530234431006953587097536977392289669978583799342478427728689986920993190949878908163610282779373303908758346809800355955144530439538216784728101852027616895219780770820765482347319334528337521710544117410610629705482337343901407335000774339241193668735782551927002719318616958725449536558498837182551460961442677784249060624636852242277830693611870552287507887053713699056542356319747804259021941199249740763885544240824839502615946678397036980395314854131833097372628619626383800608917007868613483290110840933016902743652808792609981527611223055297564599795925134708045909801188778788015784786249221101082781129663385028734802581957377536440356698006399018620814057417546486038705768118885591254110666338793142748113743918772981201823554445194133060880576395068944157426528705554569993464673853462738882440854159527102027357919296493055706122687927599044829261219574216196830111329242910588136675748900380203845200375839219084042661980244941918322926118651356923880392276615116759079925209472749525149695288629688936819577314977162966478530679590987828233201554894716281987201950401671463182275416506385360370086208632147172550331067724845567579568051857166936000622903152375348626237262279182012652762102386060872743801 5913402562740542469800861420383048116756915646034644171162943276274372730885962737624059855608457223293917203433862617472593735492618460137357103205708599595766954030901605338744647392117245486627821156794092132491723014088289721885661357740650288877873439607260982769716433622446608861382737848857569975828664466559148706444407220791768762670173225399658888121662850362067283436543187666835605729867683394591900137147499426511818113333682931759707357018492475013464475006748966109162059339143212427892411373866642401236327502825396931790682065980713229712458575470311496388085208825079147080608612609781665110754215365820545803090964369250808254388828026989545339163208092535613534812495520605219420223609710909141652299920619660810236184575215943264669450639460360916959704428763226475339443172250359804681383906182781320825693959688318178385406825415369433248243740815715772924527429375013437653866888822720215283712634035302497527659413211780854730546845787805659635380173395210388895484108035207470456595074683457187061901189863741616354997535266379741129480955558118600349956214513023180355071488639422578701825399302062930255654742022211407313857163509777916996557883440227597117215823530337105292747199409351177423244872784307508399587877458850390752230828829067522350200096728129588771269125857003865793621132511288194489271895286301448416779656035836594821391846978648724723563725961326868416609218036214872580872918861690329782473274834408556858261419496225733370515305676724153070922505633328849973670246378498126168138097056334216775032274705229418042778697114824541933237522861755221310126613726872738342706133442497261144791768095991173330422412396817006459426247546692555877523110274306351724547451754276944484221777355034682736824847982350600493230446630144883567278951338088139527077225389457947264419764005068705840898425758031445649042773141864874535627319887344597493365872099260783528381370056338279728333938610802752171768620069320844172762466114024855135336255305311845811112845788913010228985055172318211139425799084535569593930870206692424705104882780916833928594733016710792146725857618786704253394510197490724233886270559796736726172078999019395901249992304677743194699629274270457225888481202653467785060482438836397937600134805263787771508046184447562188567486819437137036082093991714677048926769525479412274187749394561963134931357419947845290037164440965720841292934211856563466834206885876017510076480440908079650033810013754183254053831502549703022779553670629023804602613295910819737849915805748987547771227401703753541545112989756275939231361348653764251213800087464398522147444322460915768371330349159125186453129277767966659283869824821532783081690864884870144983451112332097919688350589784928670942595925710094090324719413500851302276445874137447934776145777643918672906940666092052615119038051532931098512317577744811319614081320034784578963964482807372042749798534848102722064970811777854083897946777993021644105968153519720443319381707640983808076150929130458192214538022133591989416495323784609411590609779052961882878563788072048294541413074388508714818652644905846451969736268879663819188515785229551803 9568086335674930258854191239327328726761295125139508732313272932088159684138766426752496741839046671125428305487538303993289388339210471043236989416048305788335882241123263913521327784472272612343211442342969708485314662706370930913663311507774360880704441246336883748756941327877037774529196630702431094106392635480897923890365571603798982130250383195383497802568346229296741981589572159877432275684059675827283069055613002384959289896400551657095038288546481374698723253589276960788370291549393124281808227589787897955714614122916187161402941776580717120814351113771359871267598300188417502278969575769914374847146384528825653889845112103253389410263877158421411734436848962630537456357047032707001874734844540541807356901176568280664140757590126848322484814627043899796312157173877240292529673852479965902789552942193902811102052200821602269582077316033902821055616740497951406611522270415969299692080924966030695292232935045108877984049654859725911577143522668870959529393050970729109300307068579704493182084839915125796912673044510628995250116756518582534149911327031052526082337072879378192383194930038984816825320351524149004004174490097531574494492155001914583844281871382633681337523436532902464087253179602740502582556317239910543710898618100018921372562382670603221048219052020896111222699564101073572677942352977282247333703242796589720476571303032078916828534149220739361646519660819321571711102274080809975886614950123340577442842402062928220035500332728730920857120898190029385835190372754716674371312485883201763884203698215154345163916637417028621125324650467492718321212350106321145151136256872362950121849230834294289088276714294544040828174885716845354258916323718316034040064335232783979314286489020433541588293457223069967504222093593449017770947418520856022652680631463572523457239429725528306469893531184038674919694074349181337812151191395945410748583400862546485409404006950186771807834434107569853214468845233759125355717606298236462432444697824197613763983995298766804303795667821173839267834545622119897772608884891524738461309744909209433206734808533729148375503837476274494045192147124225963938627608101353939368607903698144061172853338260589569985774856604745914018246232995906762446980039836019246021925116620646998224771657506065602201658054999849696454540533136193578438413739518936070867968775220176159731990219401465750878035816984825685352018572798818213921553838240364075751214754489500800187321373924982393686618806364164781665054557847267622575478805337069714403802074698835522636165026850070328900890786732488344127070367292716295929367747672385065271217633950437227915563208052169879037669142301873300197048050749168482838315018954593663658085933829027571512156666902091384362204052523811111796755452812121448244015906556557424964373473182277195995719993840748784236183576680189290867938431736776298888156796828853981594326261953107505082615839731252435026413651607182647274443561303003779186576466929841221420945316486198973998972695469217009631045645412445394164939693596774264833001709144979497799241926225512213946288633639627862593270241324509337721805020254472689232015450892316581290901846102295604 15481488898415472728655052659710376843518210771174152903476216208362532415024729164376556597447503894419345508921400921465883123831828931180594092621756905384102836272024869252265975176589518098971032599137061840977037676794660652799324669248424649758577880853597866518473374950323646635911934479560001069935057102040046630334772792395567744800423608595042385924231196591364025418132759826713038005551743070419183206203112428896777403230083483416802395307038956388163198260338243069950429630692605552174219601456430299192042116948313118952085007757293946833272926584082856259352807125267564582887582185551579485601361750349371456980809481354061643799091904147966750897644941498244072268852567637926422098344555449683459656821796229090900325332806070112991935454087404816756016585937103715631972846102839770584173459124975223636796011889139780654988902731403336069299357556213724331138951645429406953558969747686245979004866970347606405643462866640580642123989310474530594909566446181118004784415103787174949777159523372312858813862908252245350247652022898323663630866885149652876038551585902558547454683569461563518650719653587079259658916512308938888351655664779831580402165311610230798553346966870007756834452588953917925827429101547418943298776076950409673603391211738125571248315780150484882491825421104939366299074864265476736605598529098038137256227338868673738220381127869464085210245622146189988320320310295682556759533811813670359916117236471485078296919828954464291372426574914182456757696006083566648041558864381327932022300754549371120196191342646446663904021765292034651558735211861542455277749983745101292827982673331555433880044810285717371250587282533851813685163870410871911563174609539135703861738243297378025810070812257752704329070075944049511001394048665739589931631969551712050534464819183475570889657536252744515818119832380626986854924333260819946375903288207143978775276106210970300189204490445849581548407456036511297124337675619080635194910811849052749100239300610612615416641456734184068252889717940331037198407969427094332392179951601634138311617589450563076970236854187066640771049765910930217333137805592078173254878463494880787344932337279985471235767161282489108717875507266363988335461242489487031082407555457044935824906462769853373709704239447411885022027352573330614520507731233613119794738300699588433919739613963428885809393236932670975389183013764539055214488050096927542585421640365518310263801814833062043720428820118348035718886060396970645355032475966093519006415370609655260486080832599057876672118188436241885672183357048992235160729096326149316485017721414835750063007530513085647408999491460998486650177328517135142122184843776126446739776798713897716495607779234189304050554642308739782739351378522215538568735320057408727240819347319725130771865771484667457143124242772241905986976483269707397400474374573665301208407581987892084046580322538624477776212186455285369339414373080857863084523244922862865526913470005919417318354403110200817707196574542903586379477715730366254249497032929588909389851705278474096824852421711676157134683315713018052540457665160319141201751719771980400479417631331847407 25049575234090402987509243899037705570279505896313661635789489140450692099163495591129053339286550565544773814408939225459172512171039402223831082037805211172438718513148133165787302961061790711314244041480031549462352339501031583712987980756199010639282322099934750267230316278200684410441131110262432164041449737520944554225138363999366726930673991790425883726799542820660767399722331986590470281235802746246466275258725431281736693126484035073897433595585437762861921513927520030738799922241998676456027829046218197147756731071229306113487949533874663954087277697854216130620405425455982085166551761321493860448508134878197110870654593457315033209355781306388162632081790460874609725209614670633423973079399990225267013722972797371564466090396196961314420268714448716552328743110980955924502519955319736486963012067169126447898064089961382924570980047437238890354974296711675737750473915845376253251050672652276674297099905392715283627512521500306553701132833143401554438959497151847114084722172366879442959244363287438655726535952762874345497768779416906197780778212180705402120888658781936739837878499500548335476040005111228263663091002406470462846147819781746164246447182992864479890870403402910220921705768556658428409985418787329487009674695050428594975953594408728792296534832171380993714524985206012938977017217242758983939301771894627857732798641900752655048915277090203446856765282965511560031422584376492532646148761937010937358959638534413298332420161683195212229547473104211842592886378838283322412871350264529695906504452764525465360107980063475285029346415759527369879947561967863600428886240617464242949831904165849722968321524580261412078762168250697167944080194129187945603238944771919683176024732317811567398364269480822671833292169537498528772341467186595612584312601015284573991704248909003877359551067436783190737813906729808324667075524656765357124486689069690464184680113161157071997038924553419434762876301270270422480055281917317097627355509673250362864223295909379419720437124555357907520724263562450934971016854318619070853489696510843571518352397984292225345740691663341134816241913035156181271765413693432112623486367193024848517785675540575041221542017887235022736121740262270750782441282325506277104332672077691934049678120275918975911362294447261581476567885709524192958921470752549190662707075919764593651729833364894636687429053917496660741201586563357269136041888337291618336636394855019110451123188758044437407047626482512817383940618244238267930511281303163233410217445308490783122245859449128205573008975168730229799253724341708531090096843998534381756235355365272977978570738565255526446668633762871786847225379266303624960499862730720110397862732542925288007764446136280688412758694832550894536106831334336986812751226613966152205192820502002326767585765325416241379307819452431196854914915006483696288631171402519282802733843940999589129196162269876912802625838062468016613857934383861642271099711852704086947858786492118391317327098579417827338242219955348980544417409327140519082498742074568407189093631503986310771141055351304019727953557037527390262262685414791830433767170664296981770319477434143011 40531064132505875716164296558748082413797716667487814539265705348813224514188224755505609936734054459964119323330340146925055636002868333404425174659562116556541554785173002418053278137651308810285276640617093390439390016295692236512312650004623660397860202953532616785703691228524331046353065589822433233976506839560991184559911156394934471731097600385468269651030739412024792817855091813303508286787545816665649481461837860178514096356567518490699828902624394151025119774265763100689229552934604228630247430502648496339798848019542425065572957291168610787360204281937072389973212550723546668054133946873073346049869885227568567851464074811376677008447685454354913529726731959118681994062182308559846071423955439908726670544769026462464791423202267074306355722801853533308345329048084671556475366058159507071136471192144350084694075979101163579559882778840574959654331852925400068889425561274783206810020420338522653301966875740321689270975388140887195825122143617932149348525943332965118869137276154054392736403886659751514540398861015119695745420802315229861411645097330358278159440244684495287292562068962111854126759658698307523322007514715409351197803484561577744648612494603095278444217370272917977756158357510576354237414520334748430308450772000838268579344806146854363544850612321865876206350406310952305276092081508235720544900300992665994989025980769426393269296404959667532067010905111701548351742894672175089405682573750681297275076875005898376629339990637659503601974048018394299350582384921849970454430214645857627928805207313896585556299322709921948933368181051562021438682773829406055706636224362565535777814577497405156848366334865978783329349450784548981629244064540059857166413554311055387037762975615189593208435081738575376162362245481548039773735515852335202515944570566996624526169068092479448249208603689527706555933739110435311521999857917585303500389977276834442959956219372127372186243414999269016311283757306781719604392957536397732822266321522303111964462596519992035137078581289541975773613981502781972169424823745713403245669648112477709829969987434855302315977545850407775587291678946086398604903219285510285878364830687905635862718012820560512457309179169724131453997247528634739117902524814993308186740227534736869874584583045772349621066533894673466498595238282854807479429201986162310457445376619353027571469447328323522496822290850167636130384600327896324350529938434219160922058035220537420714925003591106481127476446600860853102826678641208913285543757269256752416632815918146043608326692048186082245127163604972115471437081390700766250825940324683698241253076780108728041578269078341173855668125223870273497402707783438767082684706506846557137639531256823004503372225370469992463313337141290677275458209856552525381486546671374879446012167821727457539451536810083698522432062224673102841891398276191093689105545976184584011141425928891673175776484808501390578838024517753385953272307464719505355622956775566952474772256498037808635681501689618645045438794498252566923895125057506773331995775004157316578945336782460407595993477062980176862636872750545442802720350575110971635518890436277382249737108765990418 65580639366596278703673540457785787984077222563801476175055194489263916613351720346634663276020605025508893137739279372384228148173907735628256256697367327728980273298321135583840581098713099521599520682097124939901742355796723820225300630760822671037142525053467367052934007506725015456794196700084865398017956577081935738785049520394301198661771592175894153377830282232685560217577423799893978568023348562912115756720563291460250789483051553564597262498209831913887041288193283131428029475176602905086275259548866693487555579090771731179060906825043274741447481979791288520593617976179528753220685708194567206498378020105765678722118668268691710217803466760743076161808522419993291719271796979193270044503355430133993684267741823834029257513598464035620775991516302249860674072159065627480977886013479243558099483259313476532592140069062546504130862826277813850009306149637075806639899477120159460061071092990799327599066781133036972898487909641193749526254976761333703787485440484812232953859448520933835695648249947190170266934813777994041243189581732136059192423309511063680280328903466432027130440568462660189602799663809535786985098517121879814043951304343323908895059677595959758335087773675828198677864126067234782647399939122077917318125467051266863555298400555583155841385444493246869920875391516965244253109298750994704484202072887293852721824622670179048318211682049870978923776188077213108383165479048667622051831335687692234634036513540311674961760152320854715831521521122606141943468763760133292867301564910387323835309660078422050916407302773397233962714596811089391318630335797269656135522464980029778727646481663254879816687859446240195408111619035246149573324258669247802769652499082975070213787707933001160606799351219398047995654415019046568546076983038930815100257171582281198517873317001483325608759671126310897293747645840243636189075382574350660624876666346524907144636332533284444183282339552688451074160058577052142084448239453714830449621831195553474828685892429371454857515705844899883294338245065232907140441678064332474099159344623321281348322385419147527661718237513748910403533591981242579876668632978942398501851197880930484380503688361135553678851197056959154190118987790905489900343807140499585291072899612428803924262703321691325532428828341935047975163123992379000438350672738711501120152452539117621223199280693218159184251344767664296871586186891253593486571826771510779258694430075556531166048192349150918534524073083373670486767296885447181216055038572419985826850261226636826730572551497314287818136138773702345270690805732409297340922784323218079997488432145381706020149007643596700302336758986742060344628087049742392043184569237566667535502263799748292511136671506750680876072031973841571811565041190889512194237773285341031651204988323729784307037302135499939901739881677104299696806313282674789977736717378703866813875269869891262304972647078378303381463862580221402567130241848581147626722668628271039422631042990156199953008600269036472383681014453601547468312534384647292414494517078725723768038968286446718367134532414284196590590429788072833064983035989902802069286061100574364020056586200133429 106111703499102154419837837016533870397874939231289290714320899838077141127539945102140273212754659485473012461069619519309283784176776069032681431356929444285521828083494138001893859236364408331884797322714218330341132372092416056737613280765446331435002728006999983838637698735249346503147262289907298631994463416642926923344960676789235670392869192561362423028861021644710353035432515613197486854810894379577765238182401151638764885839619072055297091400834226064912161062459046232117259028111207133716522690051515189827354427110314156244633864116211885528807686261728360910566830526903075421274819655067640552548247905333334246573582743080068387226251152215097989691535254379111973713333979287753116115927310870042720354812510850296494048936800731109927131714318155783169019401207150299037453252071638750629235954451457826617286216048163710083690745605118388809663638002562475875529325038394942666871091513329321980901033656873358662169463297782080945351377120379265853136011383817777351822996724674988228432052136606941684807333674793113736988610384047365920604068406841421958439769148150927314423002637424772043729559322507843310307106031837289165241754788904901653543672172199055036779305143948746176434022483577811136884814459456826347626576239052105132134643206702437519386236056815112746127225797827917549529201380259230425029102373879959847710850603439605441587508087009538510990787093188914656734908373720842711457513909438373531909113388546210051591100142958514219433495569141000441294051148681983263321731779556244951764114867392318636472706625483319182896082777862651412757313109626675711842158689342595314505461059160660036665054194312218978737461069819795131202568323209307659936066053394030457251550683548190753815234432957973424158016660500594608319812498891266017616201742149277823044042385093962773857968274815838603849681384950678947711075240491935964125266643623359350104592551905411816369525754551957467385443815883833861688841196990112563271888152717856586793148488949363489994594287134441859067952226568014879309866501810045877344828992735798991178292372854002829977695783364156685990825270927328978481571852264452684380216028568836120243221701181696066136160376226683285644116235319540229018246331955492893477813127147165673798847286367463675153495362236608514473758362275233807917779874724873811577597829158470648794668728021541681681073635617831933001970787219149917837101765205729940180752465296093951880973195940257399662000519684234523589593975526656094501598795841676738243483077144782870338899243545500370063263302378674460742127887123110063591748724647901778238741508925490434061727276721937874158004884210612333842030794833181159125869275744413224673141795056571297014508896877220673339385369115132249087023251047442037575724319956715911097217156145457241846488838945583638424171943901777402538697711558865883666842263354888450825016695798782935480749131886879693960301887097974788520402549313300652982345625403837991897403299488194008588690101958655117429119808951854114392207659442154065746490292082883040346984305068907125963128009477264373453227302538618275867703386565013773704804951536851746269793694966123847 171692342865698433123511377474319658381952161795090766889376094327341057740891665448774936488775264510981905598808898891693511932350683804660937688054296772014502101381815273585734440335077507853484318004811343270242874727889139876962913911526269002472145253060467350891571706241974361959941458989992164030012419993724862662130010197183536869054640784737256576406691303877395913253009939413091465422834242942489880994902964443099015675322670625619894353899044057978799202350652329363545288503287810038802797949600381883314910006201085887423694770941255160270255168241519649431160448503082604174495505363262207759046625925439099925295701411348760097444054618975841065853343776799105265432605776266946386160430666300176714039080252674130523306450399195145547907705834458033029693473366215926518431138085117994187335437710771303149878356117226256587821608431396202659672944152199551682169224515515102126932162606320121308500100438006395635067951207423274694877632097140599556923496824302589584776856173195922064127700386554131855074268488571107778231799965779501979796491716352485638720098051617359341553443205887432233332358986317379097292204548959168979285706093248225562438731849795014795114392917624574375111886609645045919532214398578904264944701706103371995689941607258020675227621501308359616048101189344882793782310679010225129513304446767253700432675226109784489905719769059409489914563281266127765118073852769510333509345245126065766543149902086521726552860295279368935265017090263606583237519912442116556189033344466632275599424527470740687389113928256716416858797374673740804075943445423945367977681154322625093233107540823914916481742053758459174145572688855041280775892581878555462705718552477005527465338391481191914422033784177371472153671075519641176865889481930196832716458913731559021561915702095446099466727945942149501143429030790922583900150623066286624750143309969884257249228884438696260552808094104645918459603874460886003773289436443827393721509983913410061621834381378734944852109992979341742362290471633247786450308179874378351443988337359120272526614758273150357639414020877905596394358862908571558358240485243395082882067226449766604623725389542831619815011573283642439834235223110445718918590139095992478768886026759594477723109989689155000685924190578543562448921486267612808356130547463585312697750281697588270017868008714759840865324980385496229873556974110403511323673591977240719439446895371650483047021388289408318196524592767608194076361272412103275717653834414096724070333338371419697069471795042814657881399441152376806012818692855519360932671508971119858236229941070872140081876284365534574460341643197354394186658881882923551169053844981979892208644058856319589525645568383971354215457401088973820898588292238331549769962093242056942748422144469187026153526141081083578325911825578881702235504024841540673644578980733592317638891965668674197785721778965257997341765749678196191087532791161881800609068294032109031320034342478350208541698702227691589812800823405455661860520193826801358160984809161608764115023273355353844330262541891548570043817732326691108932686422554916575774091012637426110289850281166257276 277804046364800587543349214490853528779827101026380057603696994165418198868431610550915209701529923996454918059878518411002795716527459873693619119411226216300023929465309411587628299571441916185369115327525561600584007099981555933700527192291715333907147981067467334730209404977223708463088721279899462662006883410367789585474970873972772539447509977298618999435552325522106266288442455026288952277645137322067646233085365594737780561162289697675191445299878284043711363413111375595662547531399017172519320639651897073142264433311400043668328635057467045799062854503248010341727279029985679595770325018329848311594873830772434171869284154428828484670305771190939055544879031178217239145939755554699502276357977170219434393892763524427017355387199926255475039420152613816198712874573366225555884390156756744816571392162229129767164572165389966671512354036514591469336582154762027557698549553910044793803254119649443289401134094879754297237414505205355640229009217519865410059508208120366936599852897870910292559752523161073539881602163364221515220410349826867900400560123193907597159867199768286655976445843312204277061918308825222407599310580796458144527460882153127215982404021994069831893698061573320551545909093222857056417028858035730612571277945155477127824584813960458194613857558123472362175326987172800343311512059269455554542406820647213548143525829549389931493227856068948000905350374455042421852982226490353044966859154564439298452263290632731778143960438237883154698512659404607024531571061124099819510765124022877227363539394863059323861820553740035599754880152536392216833256555050621079819839843665220407738568599984574953146796248070678152883033758674836411978460905087863122641784605871035984716889075029382668237268217135344896311687736020235785185701980821462850332660655880836844605958087189408873324696220757988104993110415741601531611225863558222588875409953593243607353821436344108076922333848656603385845047690344719865462130633433939956993398136631266648414982870328098434846704280113783601430242698201262665760174681684424228788817330094919263704907131127153187617109804242062282385184133835900536839812337507847767262283255018602724866947090724527685951171949510325725478351458429985947936836471051485372246699153906760151521957276056618675839419552815152076922679848542846616273910422188459124275348110856058918812536736736301522546398616003328162875527761329553429160775357182970659620199360667744434927994584229665717858525112451842717665955247938759370219252630255773462313816415516202567408371038588315027944662743531051266754946579978629424524420233619021636474971449996362574143603561087472448618346527407966728028689676716104710294923120726393116881785853912890886540154465261192027554842770204106069985611543285773587345686413198772853845639300614644268000014980026667216750083769480659104774201736400406557311421244088480768463908661467457133266470910852137691302067636776170979607935340475182453591413919435947023217437641966544217130388804186346707241920632357309776252727853268955423907475101244491804462007578424260970293390551368812943497045034865309384800389809119930349478895964174277856559643976132381123 449496389230499020666860591965173187161779262821470824493073088492759256609323275999690146190305188507436823658687417302696307648878143678354556807465522988314526030847124685173362739906519424038853433332336904870826881827870695810663441103817984336379293234127934685621781111219198070423030180269891626692019303404092652247604981071156309408502150762035875575842243629399502179541452394439380417700479380264557527227988330037836796236484960323295085799198922342022510565763763704959207836034686827211322118589252278956457174439512485931092023405998722206069318022744767659772887727533068283770265830381592056070641499756211534097164985565777588582114360390166780121398222807977322504578545531821645888436788643470396148432973016198557540661837599121401022947125987071849228406347939582152074315528241874739003906829873000432917042928282616223259333962467910794129009526306961579239867774069425146920735416725969564597901234532886149932305365712628630335106641314660464966983005032422956521376709071066832356687452909715205394955870651935329293452210315606369880197051839546393235879965251385645997529889049199636510394277295142601504891515129755627123813166975401352778421135871789084627008090979197894926657795702867902975949243256614634877515979651258849123514526421218478869841479059431831978223428176517683137093822738279680684055711267414467248576201055659174421398947625128357490819913655721170186971056079259863378476204399690505064995413192719253504696820733517252089963529749668213607769090973566216375699798468489509502962963922333800011250934481996752016613677527210133020909200000474566447797520997987845500971676140808489869628538301829137327028606447529877692754353486966418585347503158348041512182227466510574582659302001312716368465358811539876962051591462751659683049119569612395866167873789284854972791424166700137606136539446532524115511376486624509213625553263563127864603050320782804337475141942761249304304651564805605869235420069877767350714908120544676710036817251706833379698814273093125343792533169834510452210482861558802580232805667454039536231521889400303545256523825119967878779542996744472095198052822751242850144350481468369329490672480267359305766183522793968165312586681540431666855426610147477851015585180666354629245067265745773676525343743393695639371601334810459424630040969652044436973098392553647188830404745451061363411723596388824392749084735439956940484448949160211379059646256039394917975015972519074036055049705219450911742316520350862645936906464669870186384149753887622264477842833631129685826062184683428072767765272834148785457091742590141494711201391067234714225479845453007023078688170605321122215348558599028261463976965708373009090429912769210476065800033645163381770300171293079890884199835524105137115648506440829796594061445083831294153541121107750795075995595059540807009705761241947230956000224822073086102800627136131331052192689817395688643833386454367170695468131637064254200482213468056054537471984444894425672087506414038297054721455762765438113248047095756782068459910406100568577030851779614814623653093260361513540862767192000493733076231674846925252986976811703966849494257298638399 727300435595299608210209806456026715941606363847850882096770082658177455477754886550605355891835112503891741718565935713699103365405603552048175926876749204614549960312434096760991039477961340224222548659862466471410888927852251744363968296109699670286441215195402020351990516196421778886118901549791089354026186814460441833079951945129081947949660739334494575277795954921608445829894849465669369978124517586625173461073695632574576797647250020970277244498800626066221929176875080554870383566085844383841439228904176029599438872823885974760352041056189251868380877248015670114615006563053963366036155399921904382236373586983968269034269720206417066784666161357719176943101839155539743724485287376345390713146620640615582826865779722984558017224799047656497986546139685665427119222512948377630199918398631483820478222035229562684207500448006189930846316504425385598346108461723606797566323623335191714538670845619007887302368627765904229542780217833985975335650532180330377042513240543323457976561968937742649247205432876278934837472815299550808672620665433237780597611962740300833039832451153932653506334892511840787456195603967823912490825710552085268340627857554479994403539893783154458901789040771215478203704796090760032366272114650365490087257596414326251339111235178937064455336617555304340398755163690483480405334797549136238598118088061680796719726885208564352892175481197305491725264030176212608824038305750216423443063554254944363447676483351985282840781171755135244662042409072820632300662034690316195210563592512386730326503317196859335112755035736787616368557679746525237742456555525187527617360841653065908710244740793064822775334549899815479911640206204714104732814392054281707989287764219077496899116541539957250896570218448061264777046547560112747237293443573122533381780225493232710773831876474263846116120387458125711129649862274125647122602350182731802500963217156371471956871757126912414397475791417852690149699255150325734697550703311707307708306257175943358451800122034931814545518553206908945222775868035773117970657543243226809021622997548958799936429020527456732873633629362030161164727130580372632037865160259090617406633736486972054357619570991886991717355472304293890790938139970417614792263081198963223262284334573114780767024541802392352364763296208847716294281183353306040903951391840503561248446503409706107642941482187362885958122212392152555624612496769510369645224306343182038679845616707139352903010556748739753913574817671293629408271768289622016156159094925643648697966169403824831886213872219444713770724928214479339522711852812778209981511976209163131186172841063597288369083406540479471697034698013287850244038235315132971758900086434766125972215766682101362605954498906355409325142941497185960869811378809878724461334919639602650439700745698475562153556101134418011826079364540199911783907497642353788267421468910553854566709288603588464318663600669533379945901023230538150303403472112246707791896132904003077754909626411438642802476310600385004296642088120075214365975900364712205975935011650592373039038430203875784917043644629174457037907802057309878533466040794777274731882940985981823409138233431019522 1176796824825798628877070398421199903103385626669321706589843171150936712087078162550295502082140301011328565377253353016395411014283747230402732734342272192929075991159558781934353779384480764263075981992199371342237770755722947555027409399927684006665734449323336705973771627415619849309149081819682716046045490218553094080684933016285391356451811501370370151120039584321110625371347243905049787678603897851182700689062025670411373034132210344265363043697722968088732494940638785514078219600772671595163557818156454986056613312336371905852375447054911457937698899992783329887502734096122247136301985781513960452877873343195502366199255285984005648899026551524499298341324647132862248303030819197991279149935264111011731259838795921542098679062398169057520933672126757514655525570452530529704515446640506222824385051908229995601250428730622413190180278972336179727355634768685186037434097692760338635274087571588572485203603160652054161848145930462616310442291846840795344025518272966279979353271040004575005934658342591484329793343467234880102124830981039607660794663802286694068919797702539578651036223941711477297850472899110425417382340840307712392153794832955832772824675765572239085909880019969110404861500498958663008315515371265000367603237247673175374853637656397415934296815676987136318622183340208166617499157535828816922653829355476148045295927940867738774291123106325662982545177685897382795795094385010079801919267953945449428443089676071238787537601905272387334625572158741034240069753008256532570910362061001896233289467239530659346363689517733539632982235206956658258651656555999753975414881839640911409681920881601554692403872851728952806940246653734591797487167879020700293336790922567119009081344008050531833555872219760777633242405359099989709288884906324782216430899795105628576941705665759118818907544554158263317266189308806649762633978836807241016126516480719499336559922077909716751872617734179101994454350819955931603932970773189474658423214377720620068488617373741765194244332826300034289015309037870283570181140404802029389254428665002998336167950909927760278130157454481998039944270127324844727235917983010333467550984217955341383848292051259246297483538995098262056103524821510849281647689691346441074277869515239469410012091807548166028890107039602543355665882518163765465533992361492547998221544895963353296473346227638424249369845808780976948373697232209467310129673255503393417739491872746534270878026529267813789968624522890744541150588288640484662093065559595513835082115923291447096364056705850574399596787112897907412290477125646926995438603718799304625897374232130832002594563251993486494775722868618608972459386793914161233222877052143139135062645679451311838671754532551518791095443112790265851754011214333983861576983426080432447033762190782306856307097222242168806902074959599740718793613258884301019223421693732626940669509915739719795370856290486929068589734409684905320998871603749310961992378346372059132292381610856333068474563817014423301351363543882840652479223947460468988044394922056692941616069281983490599540696737889535970578770569249310372266542272469624199984869917797685790258632490729657921 1904097260421098237087280204877226619044991990517172588686613253809114167564833049100900857973975413515220307095819288730094514379689350782450908661219021397543625951471992878695344818862442104487298530652061837813648659683575199299391377696037383676952175664518738726325762143612041628195267983369473805400071677033013535913764884961414473304401472240704864726397835539242719071201242093370719157656728415437807874150135721302985949831779460365235640288196523594154954424117513866068948603166858515979004997047060631015656052185160257880612727488111100709806079777240799000002117740659176210502338141181435864835114246930179470635233525006190422715683692712882218475284426486288401992027516106574336669863081884751627314086704575644526656696287197216714018920218266443180082644792965478907334715365039137706644863273943459558285457929178628603121026595476761565325701743230408792835000421316095530349812758417207580372505971788417958391390926148296602285777942379021125721068031513509603437329833008942317655181863775467763264630816282534430910797451646472845441392275765026994901959630153693511304542558834223318085306668503078249329873166550859797660494422690510312767228215659355393544811669060740325883065205295049423040681787485915365857690494844087501626192748891576352998752152294542440659020938503898650097904492333377953161251947443537828842015654826076303127183298587522968474270441716073595404619132690760296225362331508200393791890766159423224070378383077027522579287614567813854872370415042946848766120925653514282963615970556727518681476444553470327249350792886703183496394113111524941503032242681293977318392165622394619515179207401628768286851886859939305902219982271074982001326078686786196505980460549590489084452442438208838898019451906660102456526178349897904749812680020598861287715537542233382665023664941616389028395839171080775409756581186989972818627479697875870808516793835036629166270093525596954684604050075106257338630521476501181966131520634896563426940417495776697008789851379506943234238084905906056688151797948045256198276051662551957136104379930455217011003791083844028201108997257905217359273783143269424084957617954442313438205911622251133289200894467402555946894462961481266896439952772545404297540153849812584190779116349350558381254870335811391071960163701517071506437943753333051559469991399373059404116287709825787135327968021173129503998309728978977679774897561846575456419337489453673623781037086016553543882199340562038170558860056930106678249224654521157483780082092695271928250270578070019113367512041112386751813188978459705205420115695008467757083547073194429290963646658533965966472757566631896822703425029229294204981777138577905261034861446133413201277709031457874200420586054287451812623822593143862586038318345720035097473462936480782418460653323376586818728154324139940630577520756526654807490843162643180795236219204343308259689519891156462448535635432915443471302275075861557669784274479276062210047291237267771711277040127614808305648005632002915866845199847825181194020329933707285314655107712187366384457740382518710427616678371306620250800008313264401474716752858783667613667770724160677443 3080894085246896865964350603298426522148377617186494295276456424960050879651911211651196360056115714526548872473072641746489925393973098012853641395561293590472701942631551660629698598246922868750374512644261209155886430439298146854418787095965067683617910113842075432299533771027661477504417065189156521446117167251566629994449817977699864660853283742075234877517875123563829696572589337275768945335332313288990574839197746973397322865911670709501003331894246562243686919058152651583026822767631187574168554865217086001712665497496629786465102935166012167743778677233582329889620474755298457638640126962949825287992120273374973001432780292174428364582719264406717773625751133421264240330546925772327949013017148862639045346543371566068755375349595385771539853890393200694738170363418009437039230811679643929469248325851689553886708357909251016311206874449097745053057377999093978872434519008855868985086845988796152857709574949070012553239072078759218596220234225861921065093549786475883416683104048946892661116522118059247594424159749769311012922282627512453102186939567313688970879427856233089955578782775934795383157141402188674747255507391167510052648217523466145540052891424927632630721549080709436287926705794008086048997302857180366225293732091760677001046386547973768933048967971529576977643121844106816715403649869206770083905776799013976887311582766944041901474421693848631456815619401970978200414227075770376027281599462145843220333855835494462857915984982299909913913186726554889112440168051203381337031287714516179196905437796258178027840134071203866882333028093659841755045769667524695478447124520934888728074086503996174207583080253357721093792133513673897699707150150095682294662869609353315515061804557641020918008314657969616531261857265760092165815063256222686966243579815704489864657243207992501483931209495774652345662028479887425172390560023797213834753996178595370145076715912946345918142711259776056679058400895062188942563492249690656624554735012617183495429034869518462203034184205806977523253393943776340258332938352847285587530480327554955472272330840382977289133948538326026241053267385230062086509701126279757552508602172397654822054203673510379586684433462500818002997987782992116178087642463891845371818023365052053600791208156898724410144977375413934427626046219680836971971936114825599557691536295336412700589633937464211384697813829954106452372006961188444989904570817349968874158829362200207894659063615284367333850823863452782711709448345570591340342290214116671318862198015986719024614327283920593512964299154010294164103666104106632200858719413807772382980921305325261293558209910527452461248480435250505795162811823143455438204654190721044396097507125584725039949463564009392991516029167077717664377833807477846447615301771800467544507225127263089274767750545618755625630229283739681349371134015410955826714264856375807735905729120083028055060376181643391517125369842600348792301146679610868631776652825648121342339672848124104779751603944629231606999369175885756519324423795285650182064724855763978256271176994170856983998437120408246398195448940555930623066550585734025674701622776581353403926403214890335364 4984991345667995103051630808175653141193369607703666883963069678769165047216744260752097218030091128041769179568891930476584439773662448795304550056780314988016327894103544539325043417109364973237673043296323046969535090122873346153810164792002451360570085778360814158625295914639703105699685048558630326846188844284580165908214702939114337965254755982780099603915710662806548767773831430646488102992060728726798448989333468276383272697691131074736643620090770156398641343175666517651975425934489703553173551912277717017368717682656887667077830423277112877549858454474381329891738215414474668140978268144385690123106367203554443636666305298364851080266411977288936248910177619709666232358063032346664618876099033614266359433247947210595412071636792602485558774108659643874820815156383488344373946176718781636114111599795149112172166287087879619432233469925859310378759121229502771707434940324951399334899604406003733230215546737487970944629998227055820881998176604883046786161581299985486854012937057889210316298385893527010859054976032303741923719734273985298543579215332340683872839058009926601260121341610158113468463809905266924077128673942027307713142640213976458307281107084283026175533218141449762170991911089057509089679090343095732082984226935848178627239135439550121931801120266072017636664060348005466813308142202584723245157724242551805729327237593020345028657720281371599931086061118044573605033359766530672252643930970346237012224621994917686928294368059327432493200801294368743984810583094150230103152213368030462160521408352985696709316578624674194131683820980363025251439882779049636981479367202228866046466252126390793722762287654986489380644020373613203601927132421170664295988948296139512021042265107231510002460757096178455429281309172420194622341241606120591716056259836303351152372780750225884148954874437391041374057867650968200582147141210787186653381475876471240953593509747982975084412804785373011363662450970168446281194013726191838590686255647513746922369452365295159211824035585313920757491478849682396946484736300892541785806531990106912608376710770838194300137739622170054442162264643135279445783484269549181637466220126839968260260115295761512875885327929903373949892450744473383074527595236437249669358177214864637791570324506249282791399847711225325499586209921197908478409879868158651117161527694709472104705921647289998520025781851127235956370316690167422669679468379196544330578166851653881518440100701300920877733023204014820882268308402500698018591514868637828802642280108681990952864597861990612626331811195122680915916855082566337406278835108816240140064468378519690584521856569061418427721238001882402617866236852372749643186431329298949657132368571718138241227172595467267191936615221365169477001656400621709033653620117520502641980688063743871693228403868995342444358383607879621979948654771937610634205108019018988531141948324426336314749896072799853965661005275515792263603421755472426301560927304924183552386964085391876491028644072244039912647374807888672386169623643110831376085054789471263570926284706358223368456177502926956825812127311862550873866558898998427149418375635365021017594173939051012807 8065885430914891969015981411474079663341747224890161179239526103729215926868655472403293578086206842568318052041964572223074365167635546808158191452341608578489029836735096199954742015356287841988047555940584256125421520562171493008228951887967519044187995892202889590924829685667364583204102113747786848292306011536146795902664520916814202626108039724855334481433585786370378464346420767922257048327393042015789023828531215249780595563602801784237646951985016718642328262233819169235002248702120891127342106777494803019081383180153517453542933358443125045293637131707963659781358690169773125779618395107335515411098487476929416638099085590539279444849131241695654022535928753130930472688609958118992567889116182476905404779791318776664167446986387988257098627999052844569558985519801497781413176988398425565583359925646838666058874644997130635743440344374957055431816499228596750579869459333807268319986450394799886087925121686557983497869070305815039478218410830744967851255131086461370270696041106836102977414908011586258453479135782073052936642016901497751645766154899654372843718485866159691215700124386092908851620951307455598824384181333194817765790857737442603847333998509210658806254767222159198458918616883065595138676393200276098308277959027608855628285521987523890864850088237601594614307182192112283528711792071791493329063501041565782616638820359964386930132141975220231387901680520015551805447586842301048279925530432492080232558477830412149786210353041627342407113988020923633097250751145353611440183501082546641357426846149243874737156712695878061014016849074022867006485652446574332459926491723163754774540338630386967930345367908344210474436153887287101301634282571266346590651817905492827536104069664872530920469071754148071960543166438180286788156304862343278682299839652007841017030023958218385632886083933165693719719896130855625754537701234584400488135472055066611098670225660929321002555516045149068042720851865230635223757505975882495215240990660130930417798487234813621414858219791120898280744872793458737204817674653739827373337012317661868080649041611221171589271688160496080683215532028365341532293185395828939189974822299237623082314318969271892462569761392404191952890438527465499252615237700329095041176200579916691392361532663148007201544825086639259927212256140878745450381815982984250674853063990045884805295555584754209904723595681081342408742323651355867659584039196546513204736996213854089413099164316585288211583847067467603593977756748071289358933805082754500121504478124668709977478925145911206139296110349132975080020521186672969607137554522624012523045389683844951878080066479588870888969718437132908413029048675516205081391085520019994053229875697302863281176636159476660183452644388442887141379490208099555481268921889320970186487913191006960967996154414614098069988612891619303329319788787348566460919372875394796267047677444509364369810272254443245482786375118116141055904568435083294933337580130572304894726636933515981270780248016873271519646743983774428905494047438396481558149779645235241827197461700529080352454614623335203224007576252418481496933109484732452824119998411946374421520577153941348171 13050876776582887072067612219649732804535116832593828063202595782498380974085399733155390796116297970610087231610856502699658804941297995603462741509121923566505357730838640739279785432465652815225720599236907303094956610685044839162039116679969970404758081670563703749550125600307067688903787162306417175138494855820726961810879223855928540591362795707635434085349296449176927232120252198568745151319453770742587472817864683526163868261293932858974290572075786875040969605409485686886977674636610594680515658689772520036450100862810405120620763781720237922843495586182344989673096905584247793920596663251721205534204854680483860274765390888904130525115543218984590271446106372840596705046672990465657186765215216091171764213039265987259579518623180590742657402107712488444379800676184986125787123165117207201697471525441987778231040932085010255175673814300816365810575620458099522287304399658758667654886054800803619318140668424045954442499068532870860360216587435628014637416712386446857124708978164725313293713293905113269312534111814376794860361751175483050189345370231995056716557543876086292475821465996251022320084761212722522901512855275222125478933497951419062154615105593493684981787985363608960629910527972123104228355483543371830391262185963457034255524657427074012796651208503673612250971242540117750342019934274376216574221225284117588345966057952984731958789862256591831318987741638060125410480946608831720532569461402838317244783099825329836714504721100954774900314789315292377082061334239503841543335714450577103517948254502229571446473291320552255145700670054385892257925535225623969441405858925392620821006590756777761653107655563330699855080174260900304903561414992437010886640766201632339557146334772104040922929828850326527389824475610600481410497546468463870398356099488311192169402804708444269781840958370556735093777763781823826336684842445371587141516947931537852052263735408912296086968320830522079406383302835399081504951519702074333805927246307644677340167939600108780626682255376434819038236351643141134151302410954632369159143544307768780689025752382059365889409427782666135125377796671500620978076669665378120827441042426077591342574434265033405338455089322307565902782889271938882327142832936766344710534377794781329183931857169397289992944672797864585426798466062076653928791695851142901792014591684755356910001477232044208424749377532208578365112640341523290329263507575743057535315163065507970931539265017886209089316870271482424476246065150571987377525319951392328924146758233350700930343523007901818765627921544255655995937376269239307013416389631440252663109858062364642462601923048650289316690956439015311030895285527888954724577516849318943710362244269021001522403808754943927375389259609808056618381146608721264514922542006841472828468601254750832661224558283609440514346996499498925309268443559286177095124480894413784798189625768935700684560168327243099448447380393631933319507990190555721234898507435496488447113601018907857761808892089117311432294118791663101291663671081507312934234834434706505398123746406887303720910792126262160049819703564281032370799668383730879973538374047311395439114751092992360978 21116762207497779041083593631123812467876864057483989242442121886227596900954055205558684374202504813178405283652821074922733170108933542411620932961463532144994387567573736939234527447821940657213768155177491559220378131247216332170268068567937489448946077562766593340474955285974432272107889276054204023430800867356873757713543744772742743217470835432490768566782882235547305696466672966491002199646846812758376496646395898775944463824896734643211937524060803593683297867643304856121979923338731485807857765467267323055531484042963922574163697140163362968137132717890308649454455595754020919700215058359056720945303342157413276912864476479443409969964674460680244293982035125971527177735282948584649754654331398568077168992830584763923746965609568578999756030106765333013938786195986483907200300153515632767280831451088826444289915577082140890919114158675773421242392119686696272867173858992565935974872505195603505406065790110603937940368138838685899838434998266372982488671843472908227395405019271561416271128201916699527766013247596449847797003768076980801835111525131649429560276029742245983691521590382343931171705712520178121725897036608416943244724355688861666001949104102704343788042752585768159088829144855188699367031876743647928699540144991065889883810179414597903661501296741275206865278424732230033870731726346167709903284726325683370962604878312949118888922004231812062706889422158075677215928533451132768812494991835330397477341577655741986500715074142582117307428777336216010179312085384857452983519215533123744875375100651473446183630004016430316159717519128408759264411187672198301901332350648556375595546929387164729583453023471674910329516328148187406205195697563703357477292584107125167093250404436976571843398900604474599350367642048780768198653851330807149080655939140319033186432828666662655414727042303722428813497659912679452091222543679955987629652419986604463150933961069841617089523836875671147449104154700629716728709025677956829021168236967775607757966426834922402041540475167555717318981224436599871356120085608372196532480556625430648769674793993280537478681115943162215808593328699865962510369855061207060017415864725315214424888753234305297801024850714711757855673327799404381579758070637095439751710578374698020576293389832545297194489497884503845354010722202955399379173511834127152466867655674801241715297032816798418329472973213289920773854963992879157988847546772289570740052159279362060344638429334471497300900717338950028070223821898643276736459125034146829045651236358019410907822448153813024904924031893388631075957897455912276620553944154064265186155247746209594340681989528239160205660674876148219443924334203405159805968602369338937763592119966323864803580444914420587558841903998250943759760636816820819996191463896162443014956514445757793629220712698223538584335609391118228638588232346634743556043853769808581065237303213445065054370440581686344931233755511748074375412558625639016168236087566068793341840237952423839032589140105990582951940862775437530197157718519903794492384614079941747225321208107416384073365406749597363273827279816699513867732777868463332797658372459257769860635328246933709149 34167638984080666113151205850773545272411980890077817305644717668725977875039454938714075170318802783788492515263677577622391975050231538015083674470585455711499745298412377678514312880287593472439488754414398862315334741932261171332307185247907459853704159233330297090025080886281499961011676438360621198569295723177600719524422968628671283808833631140126202652132178684724232928586925165059747350966300583500963969464260582302108332086190667502186228096136590468724267473052790543008957597975342080488373424157039843091981584905774327694784460921883600890980628304072653639127552501338268713620811721610777926479508196837897137187629867368347540495080217679664834565428141498812123882781955939050306941419546614659248933205869850751183326484232749169742413432214477821458318586872171470032987423318632839968978302976530814222520956509167151146094787972976589787052967740144795795154478258651324603629758559996407124724206458534649892382867207371556760198651585702000997126088555859355084520113997436286729564841495821812797078547359410826642657365519252463852024456895363644486276833573618332276167343056378594953491790473732900644627409891883639068723657853640280728156564209696198028769830737949377119718739672827311803595387360287019759090802330954522924139334836841671916458152505244948819116249667272347784212751660620543926477505951609800959308570936265933850847711866488403894025877163796135802626409480059964489345064453238168714722124677481071823215219795243536892207743566651508387261373419624361294526854929983700848393323355153703017630103295336982571305418189182794651522336722897822271342738209573948996416553520143942491236560679035005610184596502409087711108757112556140368363933350308757506650396739209080612766328729454801126740192117659381249609151397799271019479012038628630225355835633375106925196568000674279163907275423694503278427907386125327574771169367918142315203197696478753913176492157706193226855487457536028798233660545380031162827095483275420285098134366435031182668222730543990536357217576079741005507422496563004565691624100933199429458700546375339903368090543725828350933971125371366583488446524726585180844856907151392805767463187499338703139479940037019323758456217071343263906900903573861784462244956169479349760225247001942587187434170682368430780809188265032053307965207685270054258882247359556598625298510048842626754222350745498499138967604334402448318111054348032628275367322344870031276177694352357706390217587610432452546469887049215264113984444985539157969797994591370111838165971161714843670551953437644287071895273725151583633970333785504517849265105808574236803283912576889449522351631315163530474819619731294114530546119218657881473954364235344866325984253669364514934231163608059000378141783425542084511114005903003915843425115700508626290445270981832979098682605890617153947856675905920920651168334664222365863426928982380765738930608908929444379681135905380007694920548816194737403134595001565281788953838971331696794398032195107894384234981567100631488821389601411107426619448514648252623444954514303687794276198875859523323646983380980546238532446252194212771196746506569165299750079339926070127 55284401191578445154234799481897357740288844947561806548086839554953574775993510144272759544521307596966897798916498652545125145159165080426704607432048987856494132865986114617748840328109534129653256909591890421535712873179477503502575253815844949302650236796096890430500036172255932233119565714414825222000096590534474477237966713401414027026304466572616971218915060920271538625053598131550749550613147396259340466110656481078052795911087402145398165620197394062407565340696095399130937521314073566296231189624307166147513068948738250268948158062046963859117761021962962288582008097092289633321026779969834647424811538995310414100494343847790950465044892140345078859410176624783651060517238887634956696073878013227326102198700435515107073449842317748742169462321243154472257373068157953940187723472148472736259134427619640666810872086249292037013902131652363208295359859831492068021652117643890539604631065192010630130272248645253830323235346210242660037086583968373979614760399332263311915519016707848145835969697738512324844560607007276490454369287329444653859568420495293915837109603360578259858864646760938884663496186253078766353306928492056011968382209329142394158513313798902372557873490535145278807568817682500502962419237030667687790342475945588814023145016256269820119653801986224025981528092004577818083483386966711636380790677935484330271175814578882969736633870720215956732766585954211479842338013511097258157559445073499112199466255136813809715934869386119009515172343987724397440685505009218747510374145516824593268698455805176463813733299353412887465135708311203410786747910570020573244070560222505372012100449531107220820013702506680520514112830557275117313952810119843725841225934415882673743647143646057184609727630059275726090559759708162017807805249130078168559667977768949258542268462041769580611295042978001592720773083607182730519129929805283562400821787904746778354131657548595530266015994581864374304591612236658514962369571057987991848263720243195892856100793269953584709763205711546253676198800516340876863542582171376762224104657558630078228375340368620440846771659668990566742564454071232545998816379787792240862272771876708020192351940733644000940504790751731081614129544870747645486658974210957224213955534544177370336518636834487884381923668566872276134819910467987452687138719519397206725749903034357840340595542865641045083695323958788419912822568327281606306958601120322199015419481624232091620816123686829203691118304949382480616693708947858540850443570019685987015449230949389522745988419315527868575475985331032918147853171181063860254524277939568783035420353554783831143965902105128609728012306191311749918743953934699274336514721587996819237546484201668731129564698583785102493073067606309944137902420242362904507305469799166358858381630146266419919665983680056517683018215281735382586444908252555664207212188434030946928664232195825830793301049490615789310914891417128082070333107441833753571370682567634075130794076923755535826987172301098477336175844342538161685979108121314901919004062594589999848766162621720071867641605625456886597474263197680060106265224120657545568855118965826935160385407586859779276 89452040175659111267386005332670903012700825837639623853731557223679552651032965082986834714840110380755390314180176230167517120209396618441788281902634443567993878164398492296263153208397127602092745664006289283851047615111738674834882439063752409156354396029427187520525117058537432194131242152775446420569392313712075196762389682030085310835138097712743173871047239604995771553640523296610496901579447979760304435574917063380161127997278069647584393716333984531131832813748885942139895119289415646784604613781347009239494653854512577963732618983930564750098389326035615927709560598430558346941838501580612573904319735833207551288124211216138490960125109820009913424838318123595774943299194826685263637493424627886575035404570286266290399934075066918484582894535720975930575959940329423973175146790781312705237437404150454889331828595416443183108690104628952995348327599976287863176130376295215143234389625188417754854478707179903722706102553581799420235738169670374976740848955191618396435633014144134875400811193560325121923107966418103133111734806581908505884025315858938402113943176978910536026207703139533838155286659985979410980716820375695080692040062969423122315077523495100401327704228484522398526308490509812306557806597317687446881144806900111738162479853097941736577806307231172845097777759276925602296235047587255562858296629545285289579746750844816820584345737208619850758643749750347282468747493571061747502623898311667826921590932617885632931154664629655901722915910639232784702058924633580042037229075500525441662021810958879481443836594690395458770553897493998062309084633467842844586808769796454368428653969675049712056574381541686130698709332966362828422709922675984094205159284724640180394043882855137797376056359514076852830751877367543267416956646929349188038680016397579483898104095416876505807863043652280756628048507301686008947037315930611137171991155822889093557329354027349443442508152288057601160079069772687313196030116438019154675359203518616177954235159704984767377985936255536790033416376596081882370965078734381327915728758491829507687075886743960344214862203394818917676535579442599129487262904514377421707129679028100825959815128232982704079984730788750405372585761942090909393559877784819008676200490713656720096743883836430471569357839249240706915629098733019505995103927204667260984632150393914438965894052914483671837917674704286919051790172661684054625069655468354827290786803969102122896993818039186910081335892559814933163163595997073804964428015005225144985247225540759634584154390477242712246027938768677205219748444906215443888494611725073300884685459363358067947249814682018059250363937506475280393563573665993388867060840806654700711500848437013597455548952253149617427304231214368944516044203667904989018419475702170274701806745846775046210111254661889496781700821172352536534301584158476584858380523098253312792091161178206596532231658399545233690596027322508089765253656258028490974505277569199356919747915895087232621385204496206371720410825909638793174800497722726009345623511109238252472211117136023759661917804501316409921121246578660606344797670372851758340051865472396100460135486926785849403 144736441367237556421620804814568260752989670785201430401818396778633127427026475227259594259361417977722288113096674882712642265368561698868492889334683431424488011030384606914011993536506661731746002573598179705386760488291216178337457692879597358459004632825524077951025153230793364427250807867190271642569488904246549674000356395431499337861442564285360145089962300525267310178694121428161246452192595376019644901685573544458213923908365471792982559336531378593539398154444981341270832640603489213080835803405654175387007722803250828232680777045977528609216150347998578216291568695522847980262865281550447221329131274828517965388618555063929441425170001960354992284248494748379426003816433714320220333567302641113901137603270721781397473383917384667226752356856964130402833333008487377913362870262929785441496571831770095556142700681665735220122592236281316203643687459807779931197782493939105682839020690380428384984750955825157553029337899792042080272824753638748956355609354523881708351152030851983021236780891298837446767668573425379623566104093911353159743593736354232317951052780339488795885072349900472722818782846239058177334023748867751092660422272298565516473590837294002773885577719019667677333877308192312809520225834348355134671487282845700552185624869354211556697460109217396871079305851281503420379718434553967199239087307480769619850922565423699790320979607928835807491410335704558762311085507082159005660183343385166939121057187754699442647089534015774911238088254626957182142744429642798789547603221017350034930720266764055945257569894043808346235689605805201473095832544037863417830879330018959740440754419206156932876588084048366651212822163523637945736662732795827820046385219140522854137691026501194981985783989573352578921311637075705285224761896059427356598347994166528742440372557458646086419158086630282349348821590908868739466167245735894699572812943727635871911461011575944973708524146869921975464670682009345828158399687496007146523622923761812070810335952974938352087749141967083043709615177112422759234507660905758090139833416050459585915451227112580785061633863063809484419100033513831675486079284302169662569402450904808846152167068966626705020489521540481486986715306812838554880218851995776232890156025257834090433262520670918355951281507816112983050449009201006958682242646724064467710382053428272279306489595780124716921612998663075338964612740988965660932028256588677026306206285593334214517809941726016113772454197509197413779857304944932345814871585024911132000696456490149157330142809792770580821503924099710123367601616087279304143018889664642083920105812918141899091215716787146668978376243697787030312307527600692663203575562394651519949047332638682328585113650836934719920377298820678888653946623910267893525724945501336633560188375993041466129777238341946014464719036454087919120746492411032249065592711532284259720755393374032427325532707890161023001510918739636171835586763699862244545875960136833432050541992818842768448372376797304849056586670252176954860779605844040911264627573703828252320977279757743831529559410126773296518595509776340666451062894493509303908906984438223035620520894513645628679 234188481542896667689006810147239163765690496622841054255549954002312680078059440310246428974201528358477678427276851112880159385577958317310281171237317874992481889194783099210275146744903789333838748237604468989237808103402954853172340131943349767615359028854951265471550270289330796621382050019965718063138881217958624870762746077461584648696580661998103318961009540130263081732334644724771743353772043355779949337260490607838375051905643541440566953052865363124671230968193867283410727759892904859865440417187001184626502376657763406196413396029908093359314539674034194144001129293953406327204703783131059795233451010661725516676742766280067932385295111780364905709086812871975200947115628541005483971060727269000476173007841008047687873317992451585711335251392685106333409292948816801886538017053711098146734009235920550445474529277082178403231282340910269198992015059784067794373912870234320826073410315568846139839229663005061275735440453373841500508562923309123933096458309715500104786785044996117896637592084859162568690776539843482756677838900493261665627619052213170720064995957318399331911280053040006560974069506225037588314740569243446173352462335267988638788668360789103175213281947504190075860185798702125116078032431666042581552632089745812290348104722452153293275266416448569716177083610558429022675953482141222762097383937026054909430669316268516610905325345137455658250054085454906044779833000653220753162807241696834766042648120372585075578244198645430812961004165266189966844803354276378831584832296517875476592742077722935426701406488734203805006243503299199535404917177505706262417688099815414108869408388881206644933162465590052781911531496490000774159372655471811914251544503865163034531734909356332779361840349087429431752063514443248552641718542988776544637028010564108226338476652875522592227021130282563105976870098210554748413204561666505836744804099550524965468790365603294417151032299157979576624749751782033141354429803934026301198982127280428248764571112679923119465735078222619833743031553708504641605472739640139418055562174542289093602527113856541129276496066458628402095635612956430804973342188816547084276532129932909672111982197199609409100474252329231892359301068754929464273778729780595241566356515971490810530006404507348827520639347065353689966078107934026464677346573928731728695014203822186718272383648694608388759530673367362258016402913650649715557097912057031853596993089562436337414803759765203023853790090069012346943020900942006150779299600030136276985943682030908791914297200270013293067531862868387328587350060993494748031513501389715384804791272281499967038465531469164728228740181204262310705871101266686052070636403201306220660548181075695926040662603090084337347681530035047833169990827578172882544144421203506908261995121839816512339888493003835511246419857626440455655048076569508833923973234630537572512846554552239023857764366289706256692106946062144261600840419957890735520381237706032788970289908713930001069757581293511220776997496161815748035580103566766920610251084813066504793188396893767591191477214628089706439716756355001272795860564866361062248958849910619136080656381440431478082 378924922910134224110627614961807424518680167408042484657368350780945807505085915537506023233562946336199966540373525995592801650946520016178774060572001306416969900225167706124287140281410451065584750811202648694624568591694171031509797824822947126074363661680475343422575423520124161048632857887155989705708370122205174544763102472893083986558023226283463464050971840655530391911028766152932989805964638731799594238946064152296588975814009013233549512389396741718210629122638848624681560400496394072946276220592655360013510099461014234429094173075885621968530690022032772360292697989476254307467569064681507016562582285490243482065361321343997373810465113740719897993335307620354626950932062255325704304628029910114377310611111729829085346701909836252938087608249649236736242625957304179799900887316640883588230581067690646001617229958747913623353874577191585402635702519591847725571695364173426508912431005949274524823980618830218828764778353165883580781387676947872889452067664239381813137937075848100917874372976158000015458445113268862380243942994404614825371212788567403038016048737657888127796352402940479283792852352464095765648764318111197266012884607566554155262259198083105949098859666523857753194063106894437925598258266014397716224119372591512842533729591806364849972726525665966587256389461839932443055671916695189961336471244506824529281591881692216401226304953066291465741464421159464807090918507735379758822990585082001705163705308127284518225333732661205724199092419893147148987547783919177621132435517535225511523462344486991371958976382778012151241933109104401008500749721543569680248567429834373849310162808087363577809750549638419433124353660013638719896035388267639734297929723005685888669425935857527761347624338660782010673375151518953837866480439048203901235376004730636968778849210334168678646179216912845455325691689119423487879371807402400536317617043278160837380251377179239390859556446027901552089420433791378969512829491430033447722605051042240319574907065654861471553484220189702877452646730820927400839980400545897508195395590592748679517978340969121914338129929522437886514735646470262480459421473118716746845934580837718518264149266166236114120963773869713379346016375567768019153997581776371474456512541229324900963268925178267183471920854881466673016527117135033423359589220652796196405396257250458997578873244474733105681143672030437596981015654639615376489126168645708879903199375155770551932613701491219137626244287578209760722878205886938496594171185055047408986640138521057949244440010062783873889035786968097451954951677080774052174532391054357468724897085199641866129681248256311397207116424902049341018178628867378715274211965595957740609595513714378254625776253927019057268058828855726721823937451488440776069869366704843541822183497832857978469665731345781525711138894080528374775794568980541082989565946162821832233601947926271451183297074179867279693617864801780433436427183657752980066257197842866221020831901532772769518129958090816069833584166413992702896359709410807831874878658516894757114165676651511422721036624754863002958312266131341939246923459359870366157865834348842171701177275954077106761 613113404453030891799634425109046588284370664030883538912918304783258487583145355847752452207764474694677644967650377108472961036524478333489055231809319181409451789419950805334562287026314240399423499048807117683862376695097125884682137956766296893689722690535426608894125693809454957670014907907121707768847251340163799415525848550354668635254603888281566783011981380785793473643363410877704733159736682087579543576206554760134964027719652554674116465442262104842881860090832715908092288160389298932811716637779656544640012476118777640625507569105793715327845229696066966504293827283429660634672272847812566811796033296151968998742104087624065306195760225521084803702422120492329827898047690796331188275688757179114853483618952737876773220019902287838649422859642334343069651918906120981686438904370351981734964590303611196447091759235830092026585156918101854601627717579375915519945608234407747334985841321518120664663210281835280104500218806539725081289950600256996822548525973954881917924722120844218814511965061017162584149221653112345136921781894897876490998831840780573758081044694976287459707632455980485844766921858689133353963504887354643439365346942834542794050927558872209124312141614028047829054248905596563041676290697680440297776751462337325132881834314258518143247992942114536303433473072398361465731625398836412723433855181532879438712261197960733012131630298203747123991518506614370851870751508388600511985797826778836471206353428499869593803577931306636537160096585159337115832351138195556452717267814053100988116204422209926798660382871512215956248176612403600543905666899049275942666255529649787958179571196968570222742913015228472215035885156503639494055408043739451648549474226870848923201160845213860540709464687748211442425438665962202390508198982036980445872404015294745195117325863209691270873200347195408561302561787329978236292576369068906373062421142828685802849041742782533808010588745185881128714170185573412110867259295364059748921587178322668568339478178334784591019219298412322711195678284529432042445453140186036926250957765135037773120505454825663043614625995981066288610371259426693285432763661935263831122466710770628190376131463365845523221438026198945271705317444322697483427776311556966716022869057200815711493275329685616010992560201946820362982605225069059888036935794581527925100410461072645715851256893169341494440674345397799854997418568290265092046224080702740733500192464718206889347417461256422161480034377647222107665899106828944647373470785085183685972583820551966741158737210332797166956567649836484780542301738074268800206045892444072853529688357481141833168146779725476125435856606106311651724049730134064767344848368797263961270143694790074180666438857017103394615740358890774554993928279066613658614013787908350450084178619672674490809554224349617036957558751706968830430842645550049916913539180793359404746448502478510475041061440469573536385724810863924695037267603615643715586638435548899009991121810246702770587887539384327290610581662575808450931939812977574752485129743329961261907354073545279013912513839382952709398029022486343212042784024226231428406824684259461307781833657394508584843 992038327363165115910262040070854012803050831438926023570286655564204295088231271385258475441327421030877611508023903104065762687470998349667829292381320487826421689645118511458849427307724691465008249860009766378486945286791296916191935781589244019764086352215901952316701117329579118718647765794277697474555621462368973960288951023247752621812627114565030247062953221441323865554392177030637722965701320819379137815152618912431553003533661567907665977831658846561092489213471564532773848560885693005757992858372311904653522575579791875054601742181679337296375919718099738864586525272905914942139841912494073828358615581642212480807465408968062680006225339261804701695757428112684454848979753051656892580316787089229230794230064467705858566721812124091587510467891983579805894544863425161486339791686992865323195171371301842448708989194578005649939031495293440004263420098967763245517303598581173843898272327467395189487190900665498933264997159705608662071338277204869712000593638194263731062659196692319732386338037175162599607666766381207517165724889302491316370044629347976796097093432634175587503984858920965128559774211153229119612269205465840705378231550401096949313186756955315073411001280551905582248312012491000967274548963694838014000870834928837975415563906064882993220719467780502890689862534238293908787297315531602684770326426039703967993853079652949413357935251270038589732982927773835658961670016123980270808788411860838176370058736627154112028911663967842261359189005052484264819898922114734073849703331588326499639666766696918170619359254290228107490109721508001552406416620592845622914822959484161807489734005055933800552663564866891648160238816517278213951443432007091382847403949876534811870586781071388302057089026408993453098813817481156228374679421085184347107780020025382163896175073543859949519379564108254016628253476449401724171948176471306909380038186106846640229293119961773198870145191213782680803590619364791080380088786794093196644192229364908887914385243989646062572703518602025588648325015350359443285433540731934434446353355727786452638483795794784957952755925503504175125106905896955765892185135053980577968401291608346708640280729532081637342401800068658651051333819890465502581773893333338190479381598430140612456544254863883194464481056828287035999132342204093311396525015234324121505806718323104713430130137644074600121818017428237451978434222929880468535350249348449613403391839873977441280031162747641299106278665225431868388777312715883143967641970140231094959223959073024690403177220395581040845603436804582232497253415155042852380578283498430322254585442680783699297828027981787522642973031008360992742228359001443482619060334393221701879739208504452435292215110944122451883799187746501276817865730555054434683883154613193991906362117505532469279219955695398562668697645787497205206637214530590999903105126956181236980050450404781926224358514649440816079342675665705128473694787273396695652895633391765231011953711779475540106017497475143360444165828989801153828299522388382584360008401846856019021519750196790436633550464137815712356341288617685151289707483586101794564690518608303479483010933348585691604 1605151731816196007709896465179900601087421495469809562483204960347462782671376627233010927649091895725555256475674280212538723723995476683156884524190639669235873479065069316793411714334038931864431748908816884062349321981888422800874073738355540913453809042751328561210826811139034076388662673701399405243402872802532773375814799573602421257067231002846597030074934602227117339197755587908342456125438002906958681391359173672566517031253314122581782443273920951403974349304304280440866136721274991938569709496151968449293535051698569515680109311287473052624221149414166705368880352556335575576812114760306640640154648877794181479549569496592127986201985564782889505398179548605014282747027443847988080856005544268344084277849017205582631786741714411930236933327534317922875546463769546143172778696057344847058159761674913038895800748430408097676524188413395294605891137678343678765462911832988921178884113648985515854150401182500779037765215966245333743361288877461866534549119612149145648987381317536538546898303098192325183756888419493552654087506784200367807368876470128550554178138127610463047211617314901450973326696069842362473575774092820484144743578493235639743364114315827524197723142894579953411302560918087564008950839661375278311777622297266163108297398220323401136468712409895039194123335606636655374518922714368015408204181607572583406706114277613682425489565549473785713724501434388206510832421524512580782794586238639674647576412165127023705832489595274478798519285590211821380652250060310290526566971145641427487755871188906844969279742125802444063738286333911602096312083519642121565581078489133949765669305202024504023295576580095363863196123973020917708006851475746543031396878176747383735071747626285248842766553714157204895524252483443358618882878403122164792980184035320127359013500936753551220392579911303662577930815263779379960464524545540213282442459328935532443078334862744307006880733936399663809517760804938203191247348082158152945565779407687577456253863422324430653591922817014348299844003299879791485730886680917971360697311120862824225758989250620448001567381921484570463735478165323649051324948796989244409090868002378974899016412192897927160563839826267603922756651264213162986009550204890304906502250655630956323949819584549499205457041258775107398981737567273153199433460809815852046606217179395750429281387030813416094562492362826037306975852791220145560581574330051190346903584304592184330627448624004063460586313042872653976054676419544827791341112755225414780931807779624991431561914430728378207802171086641067013039555153229311652586624175942503175784273800161925532465974807707263648078829637114672644466278089135508249963908703190485663149882903294526615958653967961225846499539546637275831811794009621668093297896942521544441990540737178206960088774180045015599626256397494466035637479860080640916816644307749540641726498952883292401265419955119014352465067486529629823510962390889040411239534068940664241003075522026178310693905036859470651054747491565609604760239335365957336845138145176817280928873823742069450546064303520768421754370311104028363332491507812333222971515202867764787264844590743094276447 2597190059179361123620158505250754613890472326908735586053491615911667077759607898618269403090419316756432867983698183316604486411466475032824713816571960157062295168710187828252261141641763623329439998768826650440836267268679719717066009519944784933217895394967230513527527928468613195107310439495677102717958494264901747336103750596850173878879858117411627277137887823668441204752147764938980179091139323726337819206511792584998070034786975690489448421105579797965066838517775844973639985282160684944327702354524280353947057627278361390734711053469152389920597069132266444233466877829241490518951956672800714468513264459436393960357034905560190666208210904044694207093936976717698737596007196899644973436322331357573315072079081673288490353463526536021824443795426301502681441008632971304659118487744337712381354933046214881344509737624986103326463219908688734610154557777311442010980215431570095022782385976452911043637592083166277971030213125950942405432627154666736246549713250343409380050040514228858279284641135367487783364555185874760171253231673502859123738921099476527350275231560244638634715602173822416101886470280995591593188043298286324850121810043636736692677301072782839271134144175131858993550872930578564976225388625070116325778493132195001083712962126388284129689431877675542084813198140874949283306220029899618092974508033612287374699967357266631838847500800743824303457484362162042169794091540636561053603374650500512823946470901754177817861401259242321059878474595264305645472148982425024600416674477229753987395537955603763139899101380092672171228396055419603648718500140234967188495901448618111573159039207080437823848240144962255511356362789538195921958294907753634414244282126623918546942334407356637144823642740566198348623066300924514847257557824207349140087964055345509522909676010297411169911959475411916594559068740228781684636472722011520191822497515042379083307627982706080205750879127613446490321351424302994271627436868952246142209971637052486344168248666314076716164626335616373888492328315230150929016320221649905795143664476590610678397473046415232959520137846988074638860585071220604817217133932043224987059269293987321607656692922430008797906241626336262573807985084103628488591324098223643096981632254061096936406363839413382399921522315603394434980869909477246510829985825050176168112023897718855142711517168457490694684310380254274758954287014150026029116924579399639960306976144466161771907479786751704759692591708098085844443453732260710935308754725365645875891031738698016121965091651123959248647774523445649245536808568384354504967202459440933498038859242842709231763802835689051170721802668123033637208506448136951732582969037583707365029622111798979051250869078905348298383338734383777108629659740176722527981780097134738433896902854683739429367994135740414162294954043281963240844117074611231916719749434705721878706549403288074327489778469768455168544410162195334951984657178162437106892429702332429472015029233805653850799922534334614011498913320555410758588538857754339921205146547023673299950393573938859887179614767658584134110711599721713514622198991398435017536205721476068266747855524091679968051 4202341790995557131330054970430655214977893822378545148536696576259129860430984525851280330739511212481988124459372463529143210135461951715981598340762599826298168647775257145045672855975802555193871747677643534503185589250568142517940083258300325846671704437718559074738354739607647271495973113197076507961361367067434520711918550170452595135947089120258224307212822425895558543949903352847322635216577326633296500597870966257564587066040289813071230864379500749369041187822080125414506122003435676882897411850676248803240592678976930906414820364756625442544818218546433149602347230385577066095764071433107355108667913337230575439906604402152318652410196468827583712492116525322713020343034640747633054292327875625917399349928098878871122140205240947952061377122960619425556987472402517447831897183801682559439514694721127920240310486055394201002987408322084029216045695455655120776443127264559016201666499625438426897787993265667057008795429092196276148793916032128602781098832862492555029037421831765396826182944233559812967121443605368312825340738457703226931107797569605077904453369687855101681927219488723867075213166350837954066763817391106808994865388536872376436041415388610363468857287069711812404853433848666128985176228286445394637556115429461164192010360346711685266158144287570581278936533747511604657825142744267633501178689641184870781406081634880314264337066350217610017181985796550248680626513065149141836397960889140187471522883066881201523693890854516799858397760185476127026124399042735315126983645622871181475151409144510608109178843505895116234966682389331205745030583659877088754076979937752061338828344409104941847143816725057619374552486762559113629965146383500177445641160303371302282014082033641885987590196454723403244147318784367873466140436227329513933068148090665636881923176947050962390304539386715579172489884004008161645100997267551733474264956843977911526385962845450387212631613064013110299839112229241197462874784951110399087775751044740063800422112088638507369756549152630722188336331615109942414747206902567877155840975597453434904156462297035680961087519768472645102596063236544253868542082729032469396150137296366296506673105115327935958470081452603866496564636348316791474600874303113948003483882909692053260356183423962881605378563574378501833962607476750399710263446634866028214718241077114605571992904199270906789246802743080312065930139805370171589698498909450830307210560449058346102534928410755768220278904750970739820498130151805538726649867480591060656822839518323007553527006081852337456449945610086716258576363721613666157553826635383436673823133043004634764229777643396314818800632305237706281674784537272459982546877740774193028179505015093505667209523046866574144882878281021052940441453749798390621279677039656282875887443591861946389456768315785429761921210440776429276481596934691872833536393742455262520433048356171366728755198424887469521009477648724964775495619569051477518131963771273093713018104755831832161493827571194084662553660812121020363348778193120297258050284692200490580879267397680929337725679071179352555865081910825741877954690499210768240507720924343833054012700114834774244498 6799531850174918254950213475681409828868366149287280734590188192170796938190592424469549733829930529238420992443070646845747696546928426748806312157334559983360463816485444973297933997617566178523311746446470184944021856519247862235006092778245110779889599832685789588265882668076260466603283552692753610679319861332336268048022300767302769014826947237669851584350710249563999748702051117786302814307716650359634319804382758842562657100827265503560679285485080547334108026339855970388146107285596361827225114205200529157187650306255292297149531418225777832465415287678699593835814108214818556614716028105908069577181177796666969400263639307712509318618407372872277919586053502040411757939041837647278027728650206983490714422007180552159612493668767483973885820918386920928238428481035488752491015671546020271820869627767342801584820223680380304329450628230772763826200253232966562787423342696129111224448885601891337941425585348833334979825642218147218554226543186795339027648546112835964409087462345994255105467585368927300750485998791243072996593970131206086054846718669081605254728601248099740316642821662546283177099636631833545659951860689393133844987198580509113128718716461393202739991431244843671398404306779244693961401616911515510963334608561656165275723322473099969395847576165246123363749731888386553941131362774167251594153197674797158156106048992146946103184567150961434320639470158712290850420604605785702890001335539640700295469353968635379341555292113759120918276234780740432671596548025160339727400320100100935462546947100114371249077944885987788406195078444750809393749083800112055942572881386370172911987383616185379670992056870019874885908849552097309551923441291253811859885442429995220828956416440998523132413839195289601592770385085292388313397994051536863073156112146011146404832852957348373560216498862127495767048952744236943329737469989563253666087454359020290609693590828156467418382492191626556790160463653544191734502221820062645229985722681792550144590360754952584085921175488247096076828659930340093343763527124217782950984640074044045582553935343450913920607657615460719741456648307764858685759216661075694383209406590353618114329798037757944756376323078940129070372621432420419963192198401337591100465515163753150196762547263376264005300085889981896268943477386227646221093432459916204382830264974833460714704421367728397483931113123334586824884426819520197618815423488850470267517536593524507874442408197507472979971496459068825664941583884066249661958622205956706532713871257021023675492097732976296705097720133532365504113172289998020662521029094824370171861992285847343995993580479085365989522434973360739918883290985409411715129846778357900393209127126892484718460392125771922443266217015404830049071113489975113149261457136791021309784346446545685818824762451525843924216164484058392517325714009303104750256143177160984399139597759459441056244976894655924689553887810920299727480276747213914625024393473605523185033133989637486012293750105528698674052574132676431121937317050874637179255431239224163880829660971619789224905293838837936689975793510547455392576889490609203258043926645819901320760555638926454212549 11001873641170475386280268446112065043846259971665825883126884768429926798621576950320830064569441741720409116902443110374890906682390378464787910498097159809658632464260702118343606853593368733717183494124113719447207445769816004752946176036545436626561304270404348663004237407683907738099256665889830118640681228399770788759940850937755364150774036357928075891563532675459558292651954470633625449524293976992930820402253725100127244166867555316631910149864581296703149214161936095802652229289032038710122526055876777960428242985232223203564351782982403275010233506225132743438161338600395622710480099539015424685849091133897544840170243709864827971028603841699861632078170027363124778282076478394911082020978082609408113771935279431030734633874008431925947198041347540353795415953438006200322912855347702831260384322488470721825130709735774505332438036552856793042245948688621683563866469960688127426115385227329764839213578614500391988621071310343494703020459218923941808747378975328519438124884177759651931650529602487113717607442396611385821934708588909312985954516238686683159181970935954841998570041151270150252312802982671499726715678080499942839852587117381489564760131850003566208848718314555483803257740627910822946577845197960905600890723991117329467733682819811654662005720452816704642686265635898158598956505518434885095331887315982028937512130627027260367521633501179044337821455955262539531047117670934844726399296428780887766992237035516580865249182968275920776673994966216559697720947067895654854383965722972116937698356244624979358256788391882904641161760834082015138779667459989144696649861324122234250815728025290321518135873595077494260461336314656423181888587674753989305526602733366523110970498474640409120004035650013004836917703869660261779538430278866377006224260236676783286756029904399335950521038248843074939538836748245104974838467257114987140352411202998202136079553673606854631014105255639667089999575882785389197377006771173044317761473726532613945012472843591091455677724640877818265164991545450035758510734026785660106825615671497480486710397640486594881695177383933364844052711544309112554301299390108163779359543886719914621002903153085880714846404531543995566937257780737211437793072704451539103949398073445203457118730687339145610678649464360398102906084862978045931356879094782232597548506051948066286697325566999304273177915866414898890814566624890369208513922398301300574728097042582853976977336608263241200250401210039565485439714035871788388608489686547767189536710775344031229019103814828634161547665743619081762689536011611686820074855730207806845685125328851978760223358122481680808323067278598446200558075522681871697676724519132093421388632141985990385669915172638496588149095296425882989512567239773503770541134176447304185671790038407632208281530767311273686137374924834821793807310943994977583792536919616246919572646115630807785000175319543394210563365459645264502975896316265392143156357244878616898051238745469318173787577676722783336606234944797451485286095243994934437305715931424654461708928369300718562630972910017289245840875421373197270531579989819971498551647570163734374773255753761228457047 17801405491345393641230481921793474872714626120953106617717072960600723736812169374790379798399372270958830109345513757220638603229318805213594222655431719793019096280746147091641540851210934912240495240570583904391229302289063866987952268814790547406450904103090138251270120075760168204702540218582583729320001089732107056807963151705058133165600983595597927475914242925023558041354005588419928263832010627352565140206636483942689901267694820820192589435349661844037257240501792066190798336574628400537347640261077307117615893291487515500713883201208181107475648793903832337273975446815214179325196127644923494263030268930564514240433883017577337289647011214572139551664223529403536536221118316042189109749628289592898828193942459983190347127542775915899833018959734461282033844434473494952813928526893723103081253950255813523409950933416154809661888664783629556868446201921588246351289812656817238650564270829221102780639163963333726968446713528490713257247002405719280836395925088164483847212346523753907037118114971414414468093441187854458818528678720115399040801234907768288413910572184054582315212862813816433429412439614505045386667538769893076684839785697890602693478848311396768948840149559399155201662047407155516907979462109476416564225332552773494743457005292911624057853296618062828006435997524284712540087868292602136689485084990779187093618179619174206470706200652140478658460926113974830381467722276720547616400631968421588062461591004151960206804475082035041694950229746956992369317495093055994581784285823073052400245303344739350607334733277870693047356839278832824532528751260101200639222742710492407162803111641475701189127930465097369146370185866753732733812028966007801165412045163361743939926914915638932252417874845302606429688088954952650092936424330403240079380372382687929691588882861747709510737537110970570706587789492482048304575937246678240806439865562018492745773144501763322049396597447266223880160039536329580931879228591235689547747196408325164089602833598543675541598900129124914341993651475790129102274261151003443057810255745541526069264332983937508802302834999394084585509359852073971240060516051183858162568950477073532735332701190843825471222727610484124637309879213157631400985271105789130204414913237198353653881277950715409615978735354342294371849562249205692152450311554698436980378771026781527001401746934727701757109028989749485715698993444410566827329345887151770842245633636107361851419744805770714180221897669108391150381297919938038050567111892504473722250582032365054904511201547804930866645385877151447266802708301609707482595884825032177017547117614699322756216938601567046797845502251959186119441366508091283412806571297489993814597759268878475104130307298410419031415312311830713038583680729748616919802591313238325495456136484953318027106293218837117610353539408893214311133024953298082334048680096777231318712243875090248841245152214199318900117253270565564230456173063479306768180750718484140083084372735106804186081327782251482010658809077473882607223412294869571616561147170648818342538589340920507787536266748855225935816668931920652663108469480429174756595574215983635695533811392687682669596 28803279132515869027510750367905539916560886092618932500843957729030650535433746325111209862968814012679239226247956867595529509911709183678382133153528879602677728745006849209985147704804303645957678734694697623838436748058879871740898444851335984033012208373494486914274357483444075942801796884472413847960682318131877845567904002642813497316375019953526003367477775600483116334005960059053553713356304604345495960608890209042817145434562376136824499585214243140740406454663728161993450565863660439247470166316954085078044136276719738704278234984190584382485882300128965080712136785415609802035676227183938918948879360064462059080604126727442165260675615056272001183742393556766661314503194794437100191770606372202306941965877739414221081761416784347825780217001082001635829260387911501153136841382241425934341638272744284245235081643151929314994326701336486349910692150610209929915156282617505366076679656056550867619852742577834118957067784838834207960267461624643222645143304063493003285337230701513558968768644573901528185700883584465844640463387309024712026755751146454971573092543120009424313782903965086583681725242597176545113383216850393019524692372815272092258238980161400335157688867873954639004919788035066339854557307307437322165116056543890824211190688112723278719859017070879532649122263160182871139044373811037021784816972306761216031130310246201466838227834153319522996282382069237369912514839947655392342799928397202475829453828039668541072053658050310962471624224713173552067038442160951649436168251546045169337943659589364329965591521669753597688518600112914839671308418720090345335872604034614641413618839666766022707263804060174863406831522181410155915700616640761790470938647896728267050897413390279341372421910495315611266605792824612911872474854609269617085604632619364712978344912766147045461258575359813645646126626240727153279414404503793227946792276765016694881852698175370176680410702702905890970159615419114970129256235362408733865508670134857778034615306442134766997276624770002732607158643021240164860784995177789103164635871417039006555974730624424103683998012383327449429562071396383083794361815441292021941928494363793447356335604343929706186069132142028120204247136993894842838778343810240669308364311310643557111000008638054555226657384818702692474755647112183738083807190649480669577927277078729593288099072501727006030286944856164384606513560069300936035843268285453071416973730678690215828397081414033955380472298879147956635821011955809826439175601579052240911787292807709086133530305362633565028193051620770529029492244313221394302670740555239983863232242943551301516440296724048727606168569530557632319999442030773155110483295816622087235986391410864465489800222471048915619564407608256596028096247969522120690343725489685629681127926523360950235387823986148391296490914333728036104940335897293059917841217016393478238284889990721056626245327533742713110680618730210828733432069379744698911337107963362756981135611480576122359868905458974265347265044022271334092509507538864506053866863102073472804247517710221226350167239658872515181657544353293849933640049470249146255147221786147370070307067146448911126643 46604684623861262668741232289699014789275512213572039118561030689631374272245915699901589661368186283638069335593470624816168113141027988891976355808960599395696825025752996301626688556015238558198173975265281528229666050347943738728850713666126531439463112476584625165544477559204244147504337103054997577280683407863984902375867154347871630481976003549123930843392018525506674375359965647473481977188315231698061100815526692985507046702257196957017089020563904984777663695165520228184248902438288839784817806578031392195660029568207254204992118185398765489961531094032797417986112232230823981360872354828862413211909628995026573321038009745019502550322626270844140735406617086170197850724313110479289301520234661795205770159820199397411428888959560263725613235960816462917863104822384996105950769909135149037422892223000097768645032576568084124656215366120115906779138352531798176266446095274322604727243926885771970400491906541167845925514498367324921217514464030362503481539229151657487132549577225267466005886759545315942653794324772320303458992066029140111067556986054223259987003115304064006628995766778903017111137682211681590500050755620286096209532158513162694951717828472797104106529017433353794206581835442221856762536769416913738729341389096664318954647693405634902777712313688942360655558260684467583679132242103639158474302057297540403124748489865375673308934034805460001654743308183212200293982562224375939959200560365624063891915419043820501278858133132346004166574454460130544436355937254007644017952537369118221738188962934103680572926254947624290735875439391747664203837169980191545975095346745107048576421951308241723896391734525272232553201708048163888649512645606769591636350693060090010990824328305918273624839785340618217696293881779565561965411278939672857164985005002052642669933795627894754971996112470784216352714415733209201583990341750471468753232142327035187627625842677133498729807300150172114850319654955444551061135463953644423413255866543182942124218140040678442538875524899127646949152294497030293963059256328792546222446127162580532625239063608361612486300847382721534015071431248457055034422331492475880104497444840866980091668305534773531657291859752512244841557016207052474239763614916029799512779224547841910764881286588769964842636120173044986846605209361389430236257502204179106558306048105511120289500819436454707787395973845913870322212553513711502863172614172604842259219364314797577679816826219804669560694196548256347786202309875747864489742713471556714634037874840074141038041506910438495894838437497921976296294952614831101785266625380272160880779360558250624272657235325615774404014071782516818439440808538864438523289867114112081050584150679742940593930529769459334650979719920087309066679928699270737610146316802923955176584063008314268262494117204985508906844453742621250416073360850591142251889897113170709556997133865811305467490479747942032010797872000776392963888242443224005679517858681846897064219984215682926545950233241225747357923853099745216699732919833734077670428010272722291146786107051141734137703506407727741117474213285214502596748518950678321011742796002131005765840878539136593796239 75407963756377131696251982657604554705836398306190971619404988418662024807679662025012799524337000296317308561841427492411697623052737172570358488962489478998374553770759845511611836260819542204155852709959979152068102798406823610469749158517462515472475320850079112079818835042648320090306133987527411425241365725995862747943771156990685127798351023502649934210869794125989790709365925706527035690544619836043557061424416902028324192136819573093841588605778148125518070149829248390177699468301949279032287972894985477273704165844926992909270353169589349872447413394161762498698249017646433783396548582012801332160788989059488632401642136472461667810998241327116141919149010642936859165227507904916389493290841033997512712125697938811632510650376344611551393452961898464553692365210296497259087611291376574971764530495744382013880114219720013439650542067456602256689830503142008106181602377891827970803923582942322838020344649119001964882582283206159129177781925655005726126682533215150490417886807926781024974655404119217470839495208356786148099455453338164823094312737200678231560095658424073430942778670743989600792862924808858135613433972470679115734224531328434787209956808634197439264217885307308433211501623477288196617094076724351060894457445640555143165838381518358181497571330759821893304680523844650454818176615914676180259119029604301619155878800111577140147161868958779524651025690252449570206497402172031332302000488762826539721369247083489042350911791182656966638198679173304096503394379414959293454120788915163391076132622523468010538517776617377888424394039504662503875145588700281891310967950779721689990040790975007746603655538585447095960033230229574044565213262247531382107289340956818278041721741696197614997261695835933828962899674604178473837886133548942474250589637621417355648278708394041800433254687830597861998841041973936354863404746254264696700024419092051882509478540852503675410218002853078005820479270374559521190391699316053157278764536678040720158833446482813209536152149669130379556310937518270458823844251506581649387081998579619539181213794232785716170298859766048983444633502644840138828784146933767902046425939204660427448003909878703237843360991894540365045804153200947317078541958726270468821143535858485467875881295226824520069293504991747679321360856473573168320064692853659776136233325184240713577599891938181713817682918702078254928726113583012438899015882458057913676193094993487793508213907633838624941166495427404304422023321831557690928918315050608955545825167647783227171571812273072060923031489118692505325787196928052496087937365935512144744011603501801925789097532049664502010182641313074450759440250569637593633773162930734168286570542090607406083730752240508250270544127528343905094776176668792858300490042292609584857711989531675218497881941191133900203335368076349286521013696747884202169731114129564187795282023856532362093735807281684745121478490730987221697320311822968704590854966645209654045355595696259048905819138700200012705188897122016550792242427372598583724294873374795763951033624761362960487870746066600256299131757638508352530388568420927467266890017788278375836147945685585504922882 122012648380238394364993214947303569495111910519763010737966019108293399079925577724914389185705186579955377897434898117227865736193765161462334844771450078394071378796512841813238524816834780762354026685225260680297768848754767349198599872183589046911938433326663737245363312601852564237810471090582409002522049133859847650319638311338556758280327027051773865054261812651496465084725891354000517667732935067741618162239943595013831238839076770050858677626342053110295733844994768618361948370740238118817105779473016869469364195413134247114262471354988115362408944488194559916684361249877257764757420936841663745372698618054515205722680146217481170361320867597960282654555627729107057015951821015395678794811075695792718482285518138209043939539335904875277006688922714927471555470032681493365038381200511724009187422718744479782525146796288097564306757433576718163468968855673806282448048473166150575531167509828094808420836555660169810808096781573484050395296389685368229608221762366807977550436385152048490980542163664533413493289533129106451558447519367304934161869723254901491547098773728137437571774437522892617904000607020539726113484728090965211943756689841597482161674637106994543370746902740662227418083458919510053379630846141264799623798834737219462120486074923993084275283644448764253960238784529118038497308858018315338733421086901842022280627289976952813456095903764239526305768998435661770500479964396407272261201049128450603613284666127309543629769924315002970804773133633434640939750316668966937472073326284281612814321585457571691111444031565002179160269478896410168078982758680473437286063297524828738566462742283249470500047273110719328513234938277737933214725907854300973743640034016908289032546070002115888622101481176552046659193556383744035803297412488615331415574642623469998318212504021936555405250800301382078351555457707145556447395088004736165453256561419087070137104383529637174140025303003250120670798925330004072251527163269697580692020403221223662283051586523491652075027674568258026505463232015300752786903507835374195609528125742200071806452857841147328656599707148770517459704933893297193863206478426243782150923384045527407539672215413476769500652851647052609887361169407999791318305573642300268333922760406327378640762581815594484911929625164792666167966065834962598556322195057838882694539373289751833867100711374636421605078892547992125250938667096723941762188496630662755935412459308285371188030733853643294501860691975660652208225631707305555418661028522165670179863042487857368209613319183510556817869926616614481622082149542883597873203991315784305624790964060052550061754767375280276414196713095591269198881059108502032157063030044846249337154692770350346677661282009967584921523847448431214161456105368063595910636359095533540034296052539989486760376058396119409110179821818970536937087057598475344421621011242734897352279157722343667561226287029626777132276362731763614661208554266192710270372825327056551109575579911941975451769371941425760063112750221761767491975347206332661394722883647518055097819731812504694625574252474327997416605970923722855127137087371605788278632813790409381601988824224722098719121 197420612136615526061245197604908124200948308825953982357371007526955423887605239749927188710042186876272686459276325609639563359246502334032693333733939557392445932567272687324850361077654322966509879395185239832365871647161590959668349030701051562384413754176742849325182147644500884328116605078109820427763414859855710398263409468329241886078678050554423799265131606777486255794091817060527553358277554903785175223664360497042155430975896343144700266232120201235813803994824017008539647839042187397849393752368002346743068361258061240023532824524577465234856357882356322415382610267523691548153969518854465077533487607114003838124322282689942838172319108925076424573704638372043916181179328920312068288101916729790231194411216077020676450189712249486828400141884613392025247835242977990624125992491888298980951953214488861796405261016008111003957299501033320420158799358815814388629650851057978546335091092770417646441181204779171775690679064779643179573078315340373955734904295581958467968323193078829515955197567783750884332784741485892599657902972705469757256182460455579723107194432152210868514553108266882218696863531829397861726918700561644327677981221170032269371631445741191982634964788047970660629585082396798249996724922865615860518256280377774605286324456442351265772854975208586147264919308373768493315485473932991518992540116506143641436506090088529953603257772723019050956794688688111340706977366568438604563201537891277143334653913210798585980681715497659937442971812806738737443144696083926230926194115199445003890454207981039701649961808182380067584663518401072671954128347380755328597031248304550428556503533258257217103702811696166424473268168507311977779939170101832355850929374973726567074267811698313503619363177012485875622093230987922509641183546037557805666164280244887353966491212415978355838505488131979940350396499681081911310799834259000862153280980511138952646582924382140849550243305856328126491278195704563593441918862585750737970784939899264382441885033006304861611179824237388406061774169533571211610747759341955844996610124321819610987666652073933044826898566914819500904338436538137332691990625360011684197349323250187834987676125292180007344013843541592974933165322608947108396847532368570737155066296264812846516643877042419004981223130156540345489326922308535766876386887911498658830772698473992547444700603312818135422761811250070380179664780679736380661204379088720669611605554301773164696244641487481919443027187403064956630248953538863246347579343572774625725688210135640595381185131456582617740901415735306986947869346470936093961141357251296450368802567561854475850852299424944778424379354408665719958321309678139625790836192975580417623725234860957752761392034250475835192067974976775119256232282036856454211126401388143124892008042071664705258257999587253309313515189895319823458100754346359546591352125372299085147561181578876029654962094311311522253754853462750836358528866089161414861227791972266205154931175608201024357588510641625772768301647343778318284217774578931245119017757022313819048853356573867655113444998540928253715737728562231207657525655792533255545522831578687757438136769910307603642003 319433260516853920426238412552211693696060219345716993095337026635248822967530817474841577895747373456228064356711223726867429095440267495495028178505389635786517311363785529138088885894489103728863906080410500512663640495916358308866948902884640609296352187503406586570545460246353448565927076168692229430285463993715558048583047779667798644359005077606197664319393419428982720878817708414528071026010489971526793385904304092055986669814973113195558943858462254346109537839818785626901596209782425516666499531841019216212432556671195487137795295879565580597265302370550882332066971517400949312911390455696128822906186225168519043847002428907424008533639976523036707228260266101150973197131149935707747082912992425582949676696734215229720389729048154362105406830807328319496803305275659483989164373692400022990139375933233341578930407812296208568264056934610038583627768214489620671077699324224129121866258602598512454862017760439341586498775846353127229968374705025742185343126057948766445518759578230878006935739731448284297826074274614999051216350492072774691418052183710481214654293205880348306086327545789774836600864138849937587840403428652609539621737911011629751533306082848186526005711690788632888047668541316308303376355769006880660142055115114994067406810531366344350048138619657350401225158092902886531812794331951306857725961203407985663717133380065482767059353676487258577262563687123773111207457330964845876824402587019727746947938579338108129610451639812662908247744946440173378382895012752893168398267441483726616704775793438611392761405839747382246744932997297482840033111106061228765883094545829379167122966275541506687603750084806885752986503106785049910994665077956133329594569408990634856106813881700429392241464658189037922281286787371666545444480958526173137081738922868357352284703716437914911243756288433362018701951957388227467758194922263737027606537541930226022783687307911778023690268608859578247162077121034567665693446025855448318662805343120488044724936619529796513686207498805646432567237401548871964397651267177330040606138250064019682794119509915080373483498274063590018364043370431434526555197103786255466348272707295715242527348340705656776844666695188645584820526492016946899715153106010871005488989056671140225157406458858013489893152755321333011657292988143498365432709082969337541525312071763744381311801314687454557027840703798062505430603447776460322423392875719383425547018013610058535884275375341125213944887879378725608838474585246168801766240372094940295905551252623497963590798450640093174558771342351921468569951496013819691834345348567080755993593531621907025912607066800225054838576067504256989157202368786641657947899223020426666960879927631308099439053316260443420113591822425206333417688387404920050121762760483676664926304094611654192018634057983372718423695011714290360395187811944834891012973136615033982499840339301219697216188381340938299386031216194514451019737420355354125131600617299322756264506755520142999809357882583051532831414397565540085776193121785263906513740640669831874146673088386372349739019251015256251132343699485954062784662743164139043824155645369097139040125594135029702361124 516853872653469446487483610157119817897008528171670975452708034162204246855136057224768766605789560332500750815987549336506992454686769829527721512239329193178963243931058216462939246972143426695373785475595740345029512143077949268535297933585692171680765941680149435895727607890854332894043681246802049858048878853571268446846457247997040530437683128160621463584525026206468976672909525475055624384288044875311968609568664589098142100790869456340259210090582455581923341834642802635441244048824612914515893284209021562955500917929256727161328120404143045832121660252907204747449581784924640861065359974550593900439673832282522881971324711597366846705959085448113131801964904473194889378310478856019815371014909155373180871107950292250396839918760403848933806972691941711522051140518637474613290366184288321971091329147722203375335668828304319572221356435643359003786567573305435059707350175282107668201349695368930101303198965218513362189454911132770409541453020366116141078030353530724913487082771309707522890937299232035182158859016100891650874253464778244448674234644166060937761487638032559174600880654056657055297727670679335449567322129214253867299719132181662020904937528589378508640676478836603548677253623713106553373080691872496520660311395492768672693134987808695615820993594865936548490077401276655025128279805884298376718501319914129305153639470154012720662611449210277628219358375811884451914434697533284481387604124911004890282592492548906715591133355310322845690716759246912115826039708836819399324461556683171620595230001419651094411367647929762314329596515698555511987239453441984094480125794133929595679469808799763904707452896503052177459771275292361888774604248057965685445498783964361423181081693398742895860827835201523797903380018359589055085664504563730942747903203113244706251194928853893267082261776565341959052348457069309379068994756522737889759818522441364975430270232293918873240511914715906373653355316739131259135364888441199056633590283019752427166821652536101375297387323043034838629011571082443176008399026519285885602748374385839293781786161989013418310396840978409519268381806969571859247187729146267150545622030545903077515024465997836784188680538730238559753691814625894008112000638379441742644055352935953071674050335900432494874375885477873357146619910452034132309095970880836200356084770237736928756501918000272692450602515048132885610268228456196703084597254808104095158623567911831700580520016828607133387915066781790565468723538785032048113819715667714921631239462759138558971983582096675792299672758087228455517820842484755785795486705818377206362396099183761501763459366225169833262955421912922709115523678464781283738735415996007084584605162492265852200445350510919255305659797401981452673920669441776504332889161871819789818312136683318897276892057570626027737210201609610183853288566291194437604325261987333067647401520880095726871150475652249821639786069657265287378266286444515539992828409271588961419437931128344024166946393224677305599716044909318404060410896364195151632758397692145693195526444960240004852464249556184504848081428048185270442188398956672299369678476947784896478262364045337306003127 836287133170323366913722022709331511593068747517387968548045060797453069822666874699610344501536933788728815172698773063374421550127037325022749690744718828965480555294843745601028132866632530424237691556006240857693152638994307577402246836470332780977118129183556022466273068137207781459970757415494279288334342847286826495429505027664839174796688205766819127903918445635451697551727233889583695410298534846838761995472968681154128770605842569535818153949044709928032879674461588262342840258607038431182392816050040779167933474600452214299123416283708626429386962623458087079516553302325590173976750430246722723345860057451041925818327140504790855239599061971149839030225170574345862575441628791727562453927901580956130547804684507480117229647808558211039213803499270031018854445794296958602454739876688344961230705080955544954266076640600528140485413370253397587414335787795055730785049499506236790067608297967442556165216725657854948688230757485897639509827725391858326421156411479491359005842349540585529826677030680319479984933290715890702090603956851019140092286827876542152415780843912907480687208199846431891898591809529273037407725557866863406921457043193291772438243611437565034646388169625236436724922165029414856749436460879377180802366510607762740099945519175039965869132214523286949715235494179541556941074137835605234444462523322114968870772850219495487721965125697536205481922062935657563121892028498130358212006711930732637230531071887014845201584995122985753938461705687085494208934721589712567722728998166898237300005794858262487172773487677144561074529512996038352020350559503212860363220339963308762802436084341270592311202981309937930446274382077411799769269326014099015040068192954996279287895575099172288102292493390561720184666805731255600530145463089904079829642125981602058535898645291808178326018064998703977754300414457536846827189678786474917366356064371590998213957540205696896930780523575484620815432437773698924828810914296647375296395626140240471891758272065897888983594821848681271196248972631315140406050293696615926208886624449858976575905671904093791793895115041999537632425177401006385802384832932522616893894737841618320042372806703493561033347233918884144574218306642840907827153744390312748133044409607093296831456794758445984767528640799206368803912898595532497741805053850173741881396842001481310068303232687727249478443218846195391040871676232657025507990130527487520705641581521890236464795392169732347332802946160516174307198124031200849880060087762655217536790715382636522562782032736768966858444100439149924087772338498575477629832054385457962355989630805668527676066433025394888101531489417179698272726047251422941686634639016433751545485090123573951639498666771362675419251619827187786091609056846696554454651922355496454744616231294973089295526115553998746160905213323900544248476378236029328617298398602367050147241860181315424087338856993188121025817285851779738398003706799869665124429026570911717683944686648487023976304275807728838431130442474858489836604018149459058146499038361977567342199533346612354591483500571440755980425127534139333226851142120811343193834122316882035518387958180367008364251 1353141005823792813401205632866451329490077275689058944000753094959657316677802931924379111107326494121229565988686322399881414004813807154550471202984048022144443799225901962063967379838775957119611477031601981202722664782072256845937544770056024952657884070863705458362000676028062114354014438662296329146383221700858094942275962275661879705234371333927440591488443471841920674224636759364639319794586579722150730605041633270252270871396712025876077364039627165509956221509104390897784084307431651345698286100259062342123434392529708941460451536687851672261508622876365291826966135087250231035042110404797316623785533889733564807789651852102157701945558147419262970832190075047540751953752107647747377824942810736329311418912634799730514069566568962059973020776191211742540905586312934433215745106060976666932322034228677748329601745468904847712706769805896756591200903361100490790492399674788344458268957993336372657468415690876368310877685668618668049051280745757974467499186765010216272492925120850293052717614329912354662143792306816782352964857421629263588766521472042603090177268481945466655288088853903088947196319480208608486975047687081117274221176175374953793343181140026943543287064648461839985402175788742521410122517152751873701462677906100531412793080506983735581690125809389223498205312895456196582069353943719903611162963843236244274024412320373508208384576574907813833701280438747542015036326726031414839599610836841737527513123564435921560792718350433308599629178464933997610034974430426531967047190554850069857895235796277913581584141135606906875404126028694593864007590012945196954843346134097238358481905893141034497018655877812990107906045657369773688543873574072064700485566976919357702468977268497915183963120328592085518088046824090844655615809967653635022577545329094846764787093574145701445408279841564045936806648871526846225896184435309212807126174586812955973644227772499615770171292438291390994468787754512830183964175802737846431929985909159992899058579924601999264280982144891716109825260543713758316414449320215901811811634998835698270357691833893107210104291956020409056900806984370578245049572562078789767439516768387521397557397272701330345222027772649122704327910121268734915939154382769754490777099762543046368505507130658878479641904526277079725950532809047566630050901024731009942237481612239218238824805150687999941929045733894328276651139904688853728592587385335591615864265149433721937045315408998339480720718012942306739775921662816232897993879803430370139168030178141775081534765614833444759158116858526378379605593180983331263425318760203835168718385729989430029439525799250564721364486911330102407388249725716204225425370055012440836130090252615839803839944017282281930724911417229169238765529726288473058787541084227316244562928367978291986572418173124624773898115414933510728101764944527223766221623660589700117794643381061411150958489332645437942665603355509045025776269993244385205117257435842500679103382617776831048143250669032406144030846487384176893897014914513654209779257436054123260537725978306852359443947750127625260828506555582324603669039541077483642563512599264666931996650322225704314367378 2189428138994116180314927655575782841083146023206446912548798155757110386500469806623989455608863427909958381161385095463255835554940844479573220893728766851109924354520745707664995512705408487543849168587608222060415817421066564423339791606526357733635002200047261480828273744165269895813985196077790608434717564548144921437705467303326718880031059539694259719392361917477372371776363993254223015204885114568989492600514601951406399642002554595411895517988671875437989101183565979160126924566038689776880678916309103121291367867130161155759574952971560298690895585499823378906482688389575821209018860835044039347131393947184606733607978992606948557185157209390412809862415245621886614529193736439474940278870712317285441966717319307210631299214377520271012234579690481773559760032107231391818199845937665011893552739309633293283867822109505375853192183176150154178615239148895546521277449174294581248336566291303815213633632416534223259565916426104565688561108471149832793920343176489707631498767470390878582544291360592674142128725597532673055055461378480282728858808299919145242593049325858374135975297053749520839094911289737881524382773244947980681142633218568245565781424751464508577933452818087076422127097953771936266871953613631250882265044416708294152893026026158775547559258023912510447920548389635738139010428081555508845607426366558359242895185170593003696106541700605350039183202501683199578158218754529545197811617548772470164743654636322936405994303345556294353567640170621083104243909152016244534769919553016968095195241591136176068756914623284051436478655541690632216027940572448409815206566474060547121284341977482305089329858859122928038352320039447185488313142900086163715525635169874353981756872843597087472065412821982647238272713629822100256145955430743539102407187455076448823322992219437509623734297906562749914560949285984383072723374114095687724492530651184546971858185312705312667102072961866875615284220192286529108792986717034493807226381535300233370950338196667897153264576966740397381021509516345073456820499613912517738020521623285557246933597505797201001898187071062408594533232161771584630851957395011312384333411506229139717599770079404823906255375006568006848902128427911575823766308127160067238910144172150139665336963925417324464409433167076286094754445707643099127792706078581183684118878454240699548893108383375727191407488952740523667692011580921510754100577515863079136569906730955612173510110801168071828053520959102822914083119786847433747873939891193025356704820893524411604097547647570213726016560958965528303693365519481906741055150814589293131074375360795098557115592232275959609466018400747282105660975772967627167112004694028874587675575342739413755479442684053644606144163037056357024857138783135169613242193006582812699307544599273265075867944288678623520059020628257411272350241322763253094838922059192067167941885241242726575045828189638626063691420641360824764174273700044254870241686462413412396787327304425318072119554944840134982461976929859035383733618932663113267925756474416100827879925511653464714035431250699066016808931683116463936895890683198294985757346721581548967515038280406071322731629 3542569144817908993716133288442234170573223298895505856549551250716767703178272738548368566716189922031187947150071417863137249559754651634123692096712814873254368153746647669728962892544184444663460645619210203263138482203138821269277336376582382686292886270910966939190274420193332010167999634740086937581100786249003016379981429578988598585265430873621700310880805389319293046001000752618862334999471694291140223205556235221658670513399266621287972882028299040947945322692670370057911008873470341122578965016568165463414802259659870097220026489659411970952404208376188670733448823476826052244060971239841355970916927836918171541397630844709106259130715356809675780694605320669427366482945844087222318103813523053614753385629954106941145368780946482330985255355881693516100665618420165825033944951998641678825874773538311041613469567578410223565898952982046910769816142509996037311769848849082925706605524284640187871102048107410591570443602094723233737612389216907807261419529941499923903991692591241171635261905690505028804272517904349455408020318800109546317625329771961748332770317807803840791263385907652609786291230769946490011357820932029097955363809393943199359124605891491452121220517466548916407529273742514457676994470766383124583727722322808825565686106533142511129249383833301733946125861285091934721079782025275412456770390209794603516919597490966511904491118275513163872884482940430741593194545480560960037411228385614207692256778200758857966787021695989602953196818635555080714278883582442776501817110107867037953090477387414089650341055758890958311882781570385226080035530585393606770049912608157785479766247870623339586348514736935918146258365696816959176857016474158228416011202146793711684225850112095002656028533150574732756360760453912944911761765398397174124984732784171295588110085793583211069142577748126795851367598157511229298619558549404900531618705237997502945502413085204928437273365400158266609753007946799359292757162519772340239156367444460226270008918121269896417545559111632113490846770060058831773234948934128419549832156622121255517291289339690308212002479027082817651434039146142162875901529957090102151772928274616661115157167352106154251477402779217129553230038549180310739705462509929821729687243934693186033842471056076202944051337693353365820704978516690665757843607103312193626356360066479917787717913534063727133336534686634851944343151485610364482693164901198670752434171880389334110555426210166411308774238972045129653859041449663666645867819694623395495872851071666186685632313262403658485174677817491906683298958700465238004480469574793128299792761090784528586555118031526524330830505312077384513049225498683831392537374749041315423805665595355253559319386701335926536869074454285526263622668509423642672029734090810128943870472967251557062440362461803248293957136043190922000452006267290476861060545719781767285736528622304137726004317522284064006357023996869869789950543693288640075358943898255913075890709922202149120262805613872541126492823417243212277630633847176767477705013910470224088417651489960317073479379000826691277637438238698788540564930224275778628320859320846215899511688602631775637099007 5731997283812025174031060944018017011656369322101952769098349406473878089678742545172358022325053349941146328311456513326393085114695496113696912990441581724364292508267393377393958405249592932207309814206818425323554299624205385692617127983108740419927888470958228420018548164358601905981984830817877546015818350797147937817686896882315317465296490413315960030273167306796665417777364745873085350204356808860129715806070837173065070155401821216699868400016970916385934423876236349218037933439509030899459643932877268584706170126790031252979601442630972269643299793876012049639931511866401873453079832074885395318048321784102778275005609837316054816315872566200088590557020566291313981012139580526697258382684235370900195352347273414151776667995324002601997489935572175289660425650527397216852144797936306690719427512847944334897337389687915599419091136158197064948431381658891583833047298023377506954942090575944003084735680523944814830009518520827799426173497688057640055339873117989631535490460061632050217806197051097702946401243501882128463075780178589829046484138071880893575363367133662214927238682961402130625386142059684371535740594176977078636506442612511444924906030642955960699153970284635992829656371696286393943866424380014375465992766739517119718579132559301286676808641857214244394046409674727672860090210106830921302377816576352962759814782661559515600597659976118513912067685442113941171352764235090505235222845934386677857000432837081794372781325041545897306764458806176163818522792734459021036587029660884006048285718978550265719097970382175009748361437112075858296063471157842016585256479082218332601050589848105644675678373596058846184610685736264144665170159374244392131536837316668065665982722955692090128093945972557379994633474083735045167907720829140713227391920239247744411433078013020720692876875654689545765928547443495612371342932663500588256111235889182049917360598397910241104375438362025142225037228139085888401550149236806834046382748979760459640959256317937793570810136078372510871868279576403905230055448548040937287852678245406812764224886845487509213900666098145226245967271307913747506753487352101414536106339780845800832756937431510978157732777785785136402132166977091886563471770637089888968597388106843325699179434981493527408460770860429651915459424224333764885636313181893377310475238520720617336611021917439454324744023639375375612035163066531875236793742417061749889004078611344946284065537011334483136827759931147952567942161236511100393741759585816420852577671965190598289729860909973872211191238776457434986992324219947144745535620389382421430867136451579627143670710263802483940296523712824666618710201271651458559649379443070190011481240938094667314798829385389571143013237491341883288479807292558812285271927097392941643178017566524822138308306750481871814016156671448333272802247590053729955899467778973834453678413863546864301050145711922690070048444638230694554124817393332894945600630360669325472678037226627467192382360558712676108954800347102247661364252779839880745630770384886324916297577001613781787514810251525757294446369921815252477460820907474073614078206042427764867026726883037846959830636 9274566428629934167747194232460251182229592620997458625647900657190645792857015283720726589041243271972334275461527931189530334674450147747820605087154396597618660662014041047122921297793777376870770459826028628586692781827344206961894464359691123106220774741869195359208822584551933916149984465557964483596919137046150954197668326461303916050561921286937660341153972696115958463778365498491947685203828503151269939011627072394723740668801087837987841282045269957333879746568906719275948942312979372022038608949445434048120972386449901350199627932290384240595704002252200720373380335343227925697140803314726751288965249621020949816403240682025161075446587923009764371251625886960741347495085424613919576486497758424514948737977227521092922036776270484932982745291453868805761091268947563041886089749934948369545302286386255376510806957266325822984990089140243975718247524168887621144817146872460432661547614860584190955837728631355406400453120615551033163785886904965447316759403059489555439482152652873221853068102741602731750673761406231583871096098978699375364109467843842641908133684941466055718502068869054740411677372829630861547098415109006176591870252006454644284030636534447412820374487751184909237185645438800851620860895146397500049720489062325945284265239092443797806058025690515978340172270959819607581169992132106333759148206786147566276734380152526027505088778251631677784952168382544682764547309715651465272634074320000885549257211037840652339568346737535500259961277441731244532801676316901797538404139768751044001376196365964355369439026141065968060244218682461084376099001743235623355306391690376118080816837718728984262026888332994764330869051433081103842027175848402620547548039463461777350208573067787092784122479123132112750994234537647990079669486227537887352376653023419039999543163806603931762019453402816341617296145601006841669962491212905488787729941127179552862863011483115169541648803762183408834790236085885247694307311756579174285539116424220685910968174439207689988355695190004624362715049636462737003290397482169356837684834867528068281516176185177817425903145125228043897401310454055910382655017309191516687879268055462461947914104783617132409210180565002265955362205526272197303177233147019710698284632041536511733021906037569730352512108553783017736164402741024430643479920285205570936831598587200535124328935451503181458080558326010227556378314552142239719486907318260420641438250491734280394620963221500894445601998903193082221801202686174767039609579280439816348450523036856784975362174172377530696365916593949341670291282920412382750016089964175549730659897542364155730225828295329008271127029024902051131759426770335289952186754192111505435286906533449920874118216086725497679882311945627409552102475801982454957301661188203070587048490533776379200748669212285120107973292714639255273254253857344206816960013498755601739414942485851002027054463234206754076405468635100564344075361086621535020959574258925238548568747148829616312645166172585217235447623764345459938994886627016648223335784295356549004715228491574098860994189252352448572083808160514041018025751131749852242399065363273980766538415485669622596929643 15006563712441959341778255176478268193885961943099411394746250063664523882535757828893084611366296621913480603772984444515923419789145643861517518077595978321982953170281434424516879703043370309078080274032847053910247081451549592654511592342799863526148663212827423779227370748910535822131969296375842029612737487843298892015355223343619233515858411700253620371427140002912623881555730244365033035408185312011399654817697909567788810824202909054687709682062240873719814170445143068493986875752488402921498252882322702632827142513239932603179229374921356510239003796128212770013311847209629799150220635389612146607013571405123728091408850519341215891762460489209852961808646453252055328507225005140616834869181993795415144090324500935244698704771594487534980235227026044095421516919474960258738234547871255060264729799234199711408144346954241422404081225298441040666678905827779204977864444895837939616489705436528194040573409155300221230462639136378832589959384593023087372099276177479186974972612714505272070874299792700434697075004908113712334171879157289204410593605915723535483497052075128270645740751830456871037063514889315233082839009285983255228376694618966089208936667177403373519528458035820902066842017135087245564727319526411875515713255801843065002844371651745084482866667547730222734218680634547280441260202238937255061526023362500529036549162814085543105686438227750191697019853824658623935900073950741970507856920254387563406257643874922446712349671779081397566725736247907408351324469051360818574991169429635050049661915344514621088536996523240977808605655794536942672162472901077639940562870772594450681867427566834628937705261929053610515479737169345248507197335222647012679084876780129843016191296023479182912216425095689492745627708621383035247577207056678600579768573262666784410976241819624652454896329057505887383224693044502454041305423876406077043841177016361602780223609881025410646024242124208551059827464224971136095857460993386008331921865403981145551927430757145483559165831268377135234583329212866642233345846030210294125537513112934881045741063030665326639803811223373270143368581761969657889408504661292931223985607836308262780671042215128110566942958350787402357494372503364083866649003784109599666882020148379837432201341019063257760972879414212669651623826965358195529116233467098948247306837107921152460939957368942635782824581965385603168413477618674114956280649735322170530442329103079226678686500232835377582429758834341034789743363922685867433351338866256237201028195002047383265092035082351402907557155370406776657283607140359527495551710353557971161527033993943782873896538559131492211423552737726717750469628041986748511836133635181695446768147471544588188917045472115068822895549436969292840582283094541267242573588285596012230226508100301201339056975962766991921989449386087588546056501447397936772859481277729436193093356349397866328104608946129444146453913273331258898200178479954429966560204619594564021246784375457083505027526731297893344402424111447707600359139406856528968966554680242873921012805493187880648508999503878205866530178082329293495486572039223925856477271405701745633565142368707469556760279 24281130141071893509525449408938519376115554564096870020394150720855169675392773112613811200407539893885814879234512375705453754463595791609338123164750374919601613832295475471639801000837147685948850733858875682496939863278893799616406056702490986632369437954696619138436193333462469738281953761933806513209656624889449846213023549804923149566420332987191280712581112699028582345334095742856980720612013815162669593829324981962512551493003996892675550964107510831053693917014049787769935818065467774943536861831768136680948114899689833953378857307211740750834707798380413490386692182552857724847361438704338897895978821026144677907812091201366376967209048412219617333060272340212796676002310429754536411355679752219930092828301728456337620741547864972467962980518479912901182608188422523300624324297806203429810032085620455087918951304220567245389071314438685016384926429996666826122681591768298372278037320297112384996411137786655627630915759751929865753745271497988534688858679236968742414454765367378493923942402534303166447748766314345296205267978135988579774703073759566177391630737016594326364242820699511611448740887718946094629937424394989431820246946625420733492967303711850786339902945787005811304027662573888097185588214672809375565433744864169010287109610744188882288924693238246201074390951594366888022430194371043588820674230148648095313283542966611570610775216479381869481972022207203306700447383666393435780490994574388448955514854912763099051918018516616897826687013689638652884126145368262616113395309198386094051038111710478976457976022664306945868849874476998027048261474644313263295869262462970568762684265285563613199732150262048374846348788602426352349224511071049633226632916243591620366399869091266275696338904218821605496621943159031025327246693284216487932145226286085824410519405626228584216915782460322229000520838645509295711267915089311565831571118143541155643086621364140580187673045886391959894617700310856383790164772749965182617460981828201831462895605196353173547521526458381759597298378849329379236636243512379650963222347980462949327257239215843144065706956348601314040769892216025568272063521970484447911864875891770724728585146998745242976153138915789668312856578029636281169826236931129310365166652189916349165223247056632988113484987967995687387788229706382626172596153752304519184138435695121687585268892820445817240905140291395830724791792170816354675767557053582591171880579594813507073307463454336272028031757737534117011544566608860634472960918146696053549478718038904168240454209254728933603923071964356118327574890060771910245567800317733520892186931536307938604122366854460500482550581762628768882229054812322038464022887827293200882055054004994509063035261558840566502777861382596702392684758896523722199875249473799082817274998634077580539805645175052112029962742100726843819310755304742143589819494776485037932508298835248868355159072180336198222859381908431823242275539566575964987519778878519802569815531524286699817672692903883110579850047875793167539354026033873177192302338975599422925728033984761979509503188756230654438613986242843334513512323170973778098876336768975726400103557854377092153689922 39287693853513852851303704585416787570001516507196281415140400784519693557928530941506895811773836515799295483007496820221377174252741435470855641242346353241584567002576909896156680703880517995026931007891722736407186944730443392270917649045290850158518101167524042917663564082373005560413923058309648542822394112732748738228378773148542383082278744687444901084008252701941206226889825987222013756020199127174069248647022891530301362317206905947363260646169751704773508087459192856263922693817956177865035114714090839313775257412929766556558086682133097261073711594508626260400004029762487523997582074093951044502992392431268405999220941720707592858971508901429470294868918793464852004509535434895153246224861746015345236918626229391582319446319459460002943215745505956996604125107897483559362558845677458490074761884854654799327095651174808667793152539737126057051605335824446031100546036664136311894527025733640579036984546941955848861378398888308698343704656091011622060957955414447929389427378081883765994816702327003601144823771222459008539439857293277784185296679675289712875127789091722597009983572529968482485804402608261327712776433680972687048623641244386822701903970889254159859431403822826713370869679708975342750315534199221251081147000666012075289953982395933966771791360785976423808609632228914168463690396609980843882200253511148624349832705780697113716461654707132061178991876031861930636347457617135406288347914828776012361772498787685545764267690295698295393412749937546061235450614419623434688386478628021144100700027054993597546513019187547923677455530271534969720423947545390903236432133235565019444551692852398242137437412191101985361828525771771600856421846293696645905717793023721463382591165114745458608555329314511098242249651780414060574823900340895088511913799548752608821495647445853236671812111517828116383745531690011749752573338965717642875412295159902758423310231245165990833697288010600510954445164535827519886022233743351190949382847232182977014823035953498657106687357726758894831881708062196021469982089542589945088759861093397830372998302246508470705510767571974584184138473977995226161472026631777379135850483728078987509256189213873353543096097266577070670350950533000365036475240715238910032048672338296186597424588075696245874457867382208357039412056671740821701712387219403467431445272803042840046208850189388453023729722256781433893205269789490469632048206788904761702322908697892733751993963687171649610461516571875151801287930531546501906312257012952290750506913040951551505546244337080336511480227334762894984858497201131437741119510671291492053713965530251721478018905413591992693974134500355486632698682854308786975859021462474896328823201476539097251952307030955635325673410819565995233267041991064989442448837759395095047501506734378781878862621137819103951952191486814432365367256752140080362678976054214474125601655184646734683263681126465642369313295181763082140475718046530394954079983498114366591062315899743783322700219635181003924252471987240875139713165440729706161268893655842296846740839477949860158012188260108860305144164325172628008998895210197703955353608174677472033668700223084561710450201 63568823994585746360829153994355306946117071071293151435534551505374863233321304054120707012181376409685110362242009195926830928716337227080193764407096728161186180834872385367796481704717665680975781741750598418904126808009337191887323705747781836790887539122220662056099757415835475298695876820243455056032050737622198584441402322953465532648699077674636181796589365400969788572223921730078994476632212942336738842476347873492813913810210902840038811610277262535827202004473242644033858511883423952808571976545858975994723372312619600509936943989344838011908419392889039750786696212315345248844943512798289942398971213457413083907033032922073969826180557313649087627929191133677648680511845864649689657580541498235275329746927957847919940187867324432470906196263985869897786733296320006859986883143483661919884793970475109887246046955395375913182223854175811073436531765821112857223227628432434684172564346030752964033395684728611476492294158640238564097449927589000156749816634651416671803882143449262259918759104861306767592572537536804304744707835429266363959999753434855890266758526108316923374226393229480093934545290327207422342713858075962118868870587869807556194871274601104946199334349609832524674897342282863439935903748872030626646580745530181085577063593140122849060716054024222624883000583823281056486120590981024432702874483659796719663116248747308684327236871186513930660963898239065237336794841283528842068838909403164461317287353700448644816185708812315193220099763627184714119576759787886050801781787826407238151738138765472574004489041851854869546305404748532996768685422189704166532301395698535588207235958137961855337169562453150360208177314374197953205646357364746279132350709267313083748991034206011734304894233533332703738871594939445085902070593625111576444059025834838433232015053072081820888727893978150345384266370335521045463841254055029208706983413303443914066396852609306571021370333896992470849062864846683903676187006493316373566843829060384808477718641149851830654208884185140654429180086911525400706618333054969596051982209073860779700255541462351614771217723920575898224908366194020794433535548602261827047715359619849712237841336212618596519249236182366738983207528562636646206301477646368220397215324528212535762647835132329233987942855350204044427200286378123447874308540971707986615583708498164527631477743009834270264634862548177264617997061960306824307815763842487352874203488292706240825301427141507921638493274309409268812832497140407136379273175159648344299985631079855719746000453591809270115403299299119013312433387261903347986687310989025012945900897066559660082141272268052493176524716262984255514927737666630825439881909289768097210878255481533606314987568589796201828451272202162697625951800887588711642324087233194177864776505368456362418668266312871215981914933587541276184678012056882223952498470830699512058109954019895603038422753306801840592172677090194905382751257613106359941599762376634169160877847424030483140372912539064114504102519863034042679067191474602883353571232631441719772468873462711839667515377016339514743758150568015962522511218381171482054229944943653198433772258077461653864140123 102856517848099599212132858579772094516118587578489432850674952289894556791249834995627602823955212925484405845249506016148208102969078662551049405649443081402770747837449295263953162408598183676002712749642321155311313752739780584158241354793072686949405640289744704973763321498208480859109799878553103598854444850354947322669781096102007915730977822362081082880597618102910994799113747717301008232652412069510808091123370765023115276127417808787402072256447014240600710091932435500297781205701380130673607091259949815308498629725549367066495030671477935272982130987397666011186700242077832772842525586892240986901963605888681489906253974642781562685152066215078557922798109927142500685021381299544842903805403244250620566665554187239502259634186783892473849412009491826894390858404217490419349441989161120409959555855329764686573142606570184580975376393912937130488137101645558888323773665096570996067091371764393543070380231670567325353672557528547262441154583680011778810774590065864601193309521531146025913575807188310368737396308759263313284147692722544148145296433110145603141886315200039520384209965759448576420349692935468750055490291756934805917494229114194378896775245490359106058765753432659238045767021991838782686219283071251877727727746196193160867017575536056815832507414810199048691610216052195224949810987591005276585074737170945344012948954528005798043698525893645991839955774270927167973142298900664248357186824231940473679059852488134190580453399108013488613512513564730775355027374207509485490168266454428382252438165820466171551002061039402793223760935020067966489109369735095069768733528934100607651787650990360097474606974644252345570005840145969554062068203658442925038068502291034547131582199320757192913449562847843801981121246719859146476894493966006664955972825383591042053510700517935057560540005495978461768011902025532795216414593020746851582395708463346672489707083854472561855067621907592981803508029382511423562209240236667564516226676292567785492541677103350487760896241911899549261061794973721422176600422597559541140742070167258610073253843708860085476728491492550482409046840172016020595007575234039206183565843347928699747097525426491950062345333448943809653558479095637011242776718361607130429263996866508722360072423208025479862400722732412401466612343049864269576020928191111454047028981301207367677686593199222723288364584804958698511202331749797293939863970631392114576526396990598974577295390828679571248954790881284420614120427671953638285585432172600635050492544120807271251546697928889606626883526633881908297291884463034785727806821660316504999614862596811381560160177681644485870498850763339742147626420520939612415740930752242993539701456958072703566939875620751837154124683021728692859218842878653701084772924992589272912278012102835144297530887450690319933867125074355708550045268809022304315177446884913986183711609204542337721686434433267482961485972271957987523226975659636754895679745874748535751940163323774266463073132174245118428354991850274917818780356915332589514840126287284016619209712940661699825527565276448375048902314893188590531510113591369186009583553118330670467440958300546215574590324 166425341842685345572962012574127401462235658649782584286209503795269420024571139049748309836136589335169516207491515212075039031685415889631243170056539809563956928672321680631749644113315849356978494491392919574215440560749117776045565060540854523740293179411965367029863078914043956157805676698796558654886495587977145907111183419055473448379676900036717264677186983503880783371337669447380002709284625011847546933599718638515929189937628711627440883866724276776427912096405678144331639717584804083482179067805808791303222002038168967576431974660822773284890550380286705761973396454393178021687469099690530929300934819346094573813287007564855532511332623528727645550727301060820149365533227164194532561385944742485895896412482145087422199822054108324944755608273477696792177591700537497279336325132644782329844349825804874573819189561965560494157600248088748203924668867466671745547001293529005680239655717795146507103775916399178801845966716168785826538604511269011935560591224717281272997191664980408285832334912049617136329968846296067618028855528151810512105296186545001493408644841308356443758436358988928670354894983262676172398204149832896924786364816984001935091646520091464052258100103042491762720664364274702222622123031943282504374308491726374246444081168676179664893223468834421673574610799875476281435931578572029709287949220830742063676065203275314482370935397080159922500919672509992405309937140184193090426025733635104934996347206188582835396639107920328681833612277191915489474604133995395536291950054280835620404176304585938745555491102891257662770066339768600963257794791924799236301034924632636195859023609128321952811776537097402705778183154520167507267714561023189204170419211558347630880573233526768927218343796381176505719992841659304232378965087591118241400031851218429475285525753590016878449267899474128807152278272361053840680255847075776060289379121766790586556103936463779132876437955804585452652570894229195327238396246729983938083070505352952593970260318253202318415105126097040203690241881885246822883218755652529137192724279241119389773509385171211700247946215413126380633955206366036815028543123836301033231281202967778411984938861639110546581594569631310548636766007658273657449078196007975350826479321394721258122720258340354713850343578082616445893812629427987717450329469162819440662612689799371895309164336209056993552999447353135963129199393710104118247679734473879467450729885283305215402596817970187492887448065190693689426952924812360774664858607332248979350478175200662990997547151520698876742286825933000921609725271724938133714494132649341517945515759663371041642301449949696979047023567026323997662554158187570437855622840042011090750579712439606309881927444210548038982575955223891390485170643766242412727097012225783450777054517471291506716199153763561535915782058661896984734723280865904528267675917715613498241821563224437940760109187740069323553658649362152892905978233272743114837279508251382704912818010747804749603446044713309232932457511713308960497847548389935472868411358918725736391678586403373539493042942292787889792660465461204553054021331972540668063813498061983868901213216378007869438730447 269281859690784944785094871153899495978354246228272017136884456085163976815820974045375912660091802260653922052741021228223247134654494552182292575705982890966727676509770975895702806521914033032981207241035240729526754313488898360203806415333927210689698819701710072003626400412252437016915476577349662253740940438332093229780964515157481364110654722398798347557784601606791778170451417164681010941937037081358355024723089403539044466065046520414842956123171291017028622188338113644629420923286184214155786159065758606611720631763718334642927005332300708557872681367684371773160096696471010794529994686582771916202898425234776063719540982207637095196484689743806203473525410987962650050554608463739375465191347986736516463078036332326924459456240892217418605020282969523686568450104754987698685767121805902739803905681134639260392332168535745075132976642001685334412805969112230633870774958625576676306747089559540050174156148069746127199639273697333088979759094949023714371365814783145874190501186511554311745910719237927505067365155055330931313003220874354660250592619655147096550531156508395964142646324748377246775244676198144922453694441589831730703859046098196313988421765581823158316865856475151000766431386266541005308342315014534382102036237922567407311098744212236480725730883644620722266221015927671506385742566163034985873023958001687407689014157803320280414633922973805914340875446780919573283079439084857338783212557867045408675407058676717025977092507028342170447124790756646264829631508202905021782118320735264002656614470406404917106493163930660455993827274788668929746904161659894306069768453566736803510811260118682050286383511741655051348188994666137061329782764681632129208487713849382178012155432847526120131793359229020307701114088379163378855859581557124906356004676602020517339036454107951936009807904970107268920290174386586635896670440096522911871774830230137259045811020318251694731505577712178434456078923611706750800605486966651502599297181645520379462801995356552806176001368008939752951303676858968245059819178250088678333466349408377999846763228880071785724674706905676863043002046538052835623550699070340239414847046315707111732036387065602496643939903080254358290324486753910668691854914369582481255743318261229980482792681548380193712744300815028847360424972477851987026350397353930894709641671100579262986850929408279716841364032158094661640401725459901412187543705105271582027256282273904189979892208798867064136402856071978110041073352484314412950444039504849614400970719321470262249093849449588483369170352566882829907017156187972919442300954309658022945130622260182423202461627631341464917522417789663739810180578708510050271363770794254084290281169397679013448867319831299876136700638245620083344389486644896113811869937218372723689332529574126651013730041214251855849649183736252693284768549674926832582853364600527484425533172428980278481795622173336806515144621634110880429205208932379869732959254126131240664758174071579016066519176887554351360812503563583878316627905305268062383251485206009753010888299344035239318570507569236264841562780354393143585531445563909854073397051180314539368654174678554085013320771 435707201533470290358056883728026897440589904878054601423093959880433396840392113095124222496228391595823438260232536440298286166339910441813535745762522700530684605182092656527452450635229882389959701732428160303742194874238016136249371475874781734429991999113675439033489479326296393174721153276146220908627436026309239136892147934212954812490331622435515612234971585110672561541789086612061013651221662093205901958322808042054973656002675232042283839989895567793456534284743791788961060640870988297637965226871567397914942633801887302219358979993123481842763231747971077535133493150864188816217463786273302845503833244580870637532827989772492627707817313272533849024252712048782799416087835627933908026577292729222412359490518477414346659278295000542363360628556447220478746041805292484978022092254450685069648255506939513834211521730501305569290576890090433538337474836578902379417776252154582356546402807354686557277932064468924929045605989866118915518363606218035649931957039500427147187692851491962597578245631287544641397334001351398549341858749026165172355888806200148589959175997816752407901082683737305917130139659460821094851898591422728655490223863082198249080068285673287210574965959517642763487095750541243227930465346957816886476344729648941653755179912888416145618954352479042395840831815803147787821674144735064695160973178832429471365079361078634762785569320053965836841795119290911978593016579269050429209238291502150343671754264865299861373731614948670852280737067948561754304235642198300558074068375016099623060790774992343662661984266821918118763893614557269893004698953584693542370803378199372999369834869247004003098160048839057757126372149186304568597497325704821333378906925407729808892728666374295047350137155610196813421106930038467611234824669148243147756036527820449992624562207697968814459075804444236076072568446747640476576926287172298972161153951996927845601914956782030827607943533516763887108649817840902078039001733696635440682367686998472973433062313609755124591106494105979956641545558744215067943037933902617815526190628649497389620272614051283485972620922318803243676957252904089650652093822906641272646128249283485523716975248704713043225534472711564906927090494412184326140933110377557832082222639655951238605512939888734907563087878897645293254237601905839704476679866516750335372254360899951158296015265617336710394363479511230624769601119170005530435223439579151049477986167557209405382489026769054557023850921262671799468026277296675187615302646837098593751448894522133253246641000970287360111457178499883751516742427912911053156795086958999540890646381923553464844763077581038443964545984815987737472734736896080488126986610836265175040860881837285323330794764041847915119276593469511473829560130411138526538966949444156174466387047045418157729929194977813391765431242398149678019491830540831360850529282316140982667354735653418219241904809913406130068803270996263773335183442205122984570238762377513945577576184819383765669965221600863584293270015276892838814475453695203535251662844124735489402566885747408778811613449862024154634223245815597696639552777536450522137210549242298408269867391056561954452051218 704989061224255235143151754881926393418944151106326618559978415965597373656213087140500135156320193856477360312973557668521533300994404993995828321468505591497412281691863632423155257157143915422940908973463401033268949187726914496453177891208708945119690818815385511037115879738548830191636629853495883162368376464641332366673112449370436176600986344834313959792756186717464339712240503776742024593158699174564256983045897445594018122067721752457126796113066858810485156473081905433590481564157172511793751385937326004526663265565605636862285985325424190400635913115655449308293589847335199610747458472856074761706731669815646701252368971980129722904302003016340052497778123036745449466642444091673283491768640715958928822568554809741271118734535892759781965648839416744165314491910047472676707859376256587809452161188074153094603853899037050644423553532092118872750280805691133013288551210780159032853149896914226607452088212538671056245245263563452004498122701167059364303322854283573021378194038003516909324156350525472146464699156406729480654861969900519832606481425855295686509707154325148372043729008485683163905384335658966017305593033012560386194082909180394563068490051255110368891831815992793764253527136807784233238807661972351268578380967571509061066278657100652626344685236123663118107052831730819294207416710898099681033997136834116879054093518881955043200203243027771751182670566071831551876096018353907767992450849369195752347161323542016887350824121977013022727861858705208019133867150401205579856186695751363625717405245398748579768477430752578574757720889345938822751603115244587848440571831766109802880646129365686053384543560580712808474561143852441629927280090386453462587394639257111986904884099221821167481930514839217121122221018417630990090684250705368054112041204422470509963598661805920750468883709414343344992858621134227112473596727268821884032928782227065104647725977100282522339449111228942321564728741452608828839607220663286943281664868643993352895864308966307930767107862114919709592849235603183313002857112152706493859656978057875389467035842931355271697295629224480106719959299442142486275644521976981512060975295599192635449011635770315539869474375791819265217414981166094994832788024747140313337965957917181219088305621437115101275832179712674140614662574383691691503030263870681230081896032000530421282866195025616427235727511669325286410002844629906942622767144684422631505242449831113595362381235567921621160253777334649909509099629780989600565746686341948208152419613843603515495734850419875843480627531066766581423759584100883972599096041268657563835777004183735888047224705212379908882068402605651477282915315604590538398350381630519259331142051234964336779662083873147791255977231715131557173949617056034640350836886662528898155719576619544808743659236192065247615080426134402371304260380215758193433382646916668467092887908082398497723700432086742936583947892630374653764388651137502854303198016503645186242334358890962781736484398488417935654082518840476717131103359000471597634914329330745242413455185091444018130183957431260419475786026169990840225084223100360376210607600422612947638521565735116039465371989 1140696262757725525501208638609953290859534055984381219983072375846030770496605200235624357652548585452300798573206094108819819467334315435809364067231028292028096886873956288950607707792373797812900610705891561337011144061964930632702549367083490679549682817929060950070605359064845223366357783129642104070995812490950571503565260383583390989091317967269829572027727771828136901254029590388803038244380361267770158941368705487648991778070396984499410636102962426603941690757825697222551542205028160809431716612808893402441605899367492939081644965318547672243399144863626526843427082998199388426964922259129377607210564914396517338785196961752622350612119316288873901522030835085528248882730279719607191518345933445181341182059073287155617778012830893302145326277395863964644060533715339957654729951630707272879100416695013666928815375629538356213714130422182552411087755642270035392706327462934741389399552704268913164730020277007595985290851253429570920016486307385095014235279893784000168565886889495479506902401981813016787862033157758128029996720718926685004962370232055444276468883152141900779944811692222989081035523995119787112157491624435289041684306772262592812148558336928397579466797775510436527740622887349027461169273008930168155054725697220450714821458569989068771963639588602705513947884647533967082029090855633164376194970315666546350419172879960589805985772563081737588024465685362743530469112597622958197201689140871346096018915588407316748724555736925683875008598926653769773438102792599506137930255070767463248778196020391092242430461697574496693521614503903208715756302068829281390811375209965482802250480998612690056482703609419770565600933293038746198524777416091274795966301564664841795797612765596116214832067670449413934543327948456098601325508919853611201868077732242920502588160869503889564927959513858579421065427067881867589050523014441120856194082734223992950249640933882313349947392644745706208673378559293510906878608954359922383964032555642466326328926622576063055358214356220899666234394794347398380945895046055324309385847606707372779087308456982638757669916551543283350396916552346232136927738344883622784707103544882678159165986884475028583095008848503384172144505475578279320973721135124698145420188597573132457693818561325850008838920058610319433868900176289531395979710130387431565454150392900481579578881460642953137630090991180555911179603963799912473057990584263573680983228617388323000744870262336976178184104698597321708977125907077664788181049333179046801903868508365736768742375851390163203592084709566650332940502012013795025755891128227657104726423386107289352891987782793418352846614387421639214755650052500671026525336992466784434372002933072249660110456847914995706375253825184643031003509747467173166889803836106685072622106623664962966473588431169878639380511668532552049323752210756589554283911929232809449760242643735816716965605242000149066652751163626638427099572093342625838873436778881159131819910543710346547406449620089281519947352534117369555945578812695675132886577173455480731816022070838852796941797407293284574110009271985588536864637000636810898347818149664911355908388956791677993917423207 1845685323981980760644360393491879684278478207090707838543050791811628144152818287376124492808868779308778158886179651777341352768328720429805192388699533883525509168565819921373762964949517713235841519679354962370280093249691845129155727258292199624669373636744446461107721238803394053557994412983137987233364188955591903870238372832953827165692304312104143531820483958545601240966270094165545062837539060442334415924414602933243009900138118736956537432216029285414426847230907602656142023769185333321225467998746219406968269164933098575943930950643971862644035057979281976151720672845534588037712380731985452368917296584212164040037565933732752073516421319305213954019808958122273698349372723811280475010114574161140270004627628096896888896747366786061927291926235280708809375025625387430331437811006963860688552577883087820023419229528575406858137683954274671283838036447961168405994878673714900422252702601183139772182108489546267041536096516993022924514609008552154378538602748067573189944080927498996416226558332338488934326732314164857510651582688827204837568851657910739962978590306467049151988540700708672244940908330778753129463084657447849427878389681442987375217048388183507948358629591503230291994150024156811694408080670902519423633106664791959775887737227089721398308324824726368632054937479264786376236507566531264057228967452500663229473266398842544849185975806109509339207136251434575082345208615976865965194139990240541848366076911949333636075379858902696897736460785358977792571969943000711717786441766518826874495601265789840822198939128327075268279335393249147538507905184073869239251947041731592605131127127978376109867247170000483374075494436891187828452057506477728258553696203921953782702496864817937382313998185288631055665548966873729591416193170558979255980118936665391012551759531309810315396843223272922766058285689016094701524119741709942740227011516451058054897366910982595872286841755974648530238107300746119735718216175023209327245697424286459679224790931542370986125322218335819375827244029950581693948752158208030803245504584765248168554344299913994029367212180767763457116875851788374623203382866860604296768078840481870794614998520245344122964483224295203437361920456744374315806509159871838458758154555490313676782124182762965110114752238322993574483562750673223087482740394258112795536046424901012000861747655668569564865818502849881197589606808429819415680757728947996312488471067219436596107251497904897799344358475931971618486225536858654388746796019520995010056288122209340284238110701810039047072712240633416914364261596114678998354987169496314668562200390291025240939212488005798261728682790027290692038565368105261564923687374097303693703144984307213996890118931788143497631231056899774588177459364523207807240640722769213970777826200284507775217247667361943886995592094666954420628012590972347747717294576149477916853130551818215214689305674086892003236699056257013080863960744480128693176634795384804318062244902601309329142934018577699455601435052957846273076682171696146730521491502786225974229477255930296815071981364724544993585795298155579377089721223737171274558425750087524303546910522526794033382795196 2986381586739706286145569032101832975138012263075089058526123167657658914649423487611748850461417364761078957459385745886161172235663035865614556455930562175553606055439776210324370672741891511048742130385246523707291237311656775761858276625375690304219056454673507411178326597868239276924352196112780091304360001446542475373803633216537218154783622279373973103848211730373738142220299684554348101081919421710104574865783308420892001678208515721455948068318991712018368537988733299878693565974213494130657184611555112809409875064300591515025575915962519534887434202842908502995147755843733976464677302991114829976127861498608681378822762895485374424128540635594087855541839793207801947232103003530887666528460507606321611186686701384052506674760197679364072618203631144673453435559340727387986167762637671133567652994578101486952234605158113763071851814376457223694925792090231203798701206136649641811652255305452052936912128766553863026826947770422593844531095315937249392773882641851573358509967816994475923128960314151505722188765471922985540648303407753889842531221889966184239447473458608949931933352392931661325976432325898540241620576281883138469562696453705580187365606725111905527825427367013666819734772911505839155577353679832687578687832362012410490709195797078790170271964413329074146002822126798753458265598422164428433423937768167209579892439278803134655171748369191246927231601936797318612814321213599824162395829131111887944384992500356650384799935595828380772745059712012747566010072735600217855716696837286290123273797286180933064629400825901571961800949897152356254264207252903150630063322251697075407381608126591066166349950779420253939676427729929934026976834922569003054519997768586795578500109630414053597146065855738044990208876915329828192741702090412590457848196668908311515139920400813699880324802737131502187123712756897962290574642756151063596421094250675051005147007844864909222234234400720354738911485860039630642596825129383131711209729979928926005553717554118434041483536574556719042061638824297980074894647204263355112631352191472620947641652756896632787037128732311046807513792404134606760131121211744227081475182385364548953780985404720372706059492072798587609506425932322653636780230294996536604178343153063446134475942744088815118953672296933313008352462926962754483462450524645544360990196817801493580440629116311522702495909494030437108769210772229731888738748313211569993471699684607759596852121760241873977528463174529293327463351443936319176927845352700041811960156630575077052980486553200202250664796950200067247304763608128474024110878297723971773288623776398314593831200270799216614575297177448929906794215420605932591449024366564088128075147917379463657000575779703139204006484882084417619180969111990380974130444558875899043399932823949470741690836098531822526376103763199506469951764801728937302001206505382287366613373195554031931654910916087041069889450219883651507963532837822754532050071574265963449882155446311655876549383638666980975548787587075215829022260984391821863408068676241706706045499326769149612013778772017829567695804570141167913954358224373982172906243899752435659455299479318472027300218403 4832066910721687046789929425593712659416490470165796897069173959469287058802241774987873343270286144069857116345565397663502525003991756295419748844630096059079115224005596131698133637691409224284583650064601486077571330561348620891014003883667889928888430091417953872286047836671633330482346609095918078537724190402134379244042006049491045320475926591478116635668695688919339383186569778719893163919458482152438990790197911354135011578346634458412485500535020997432795385219640902534835589743398827451882652610301332216378144229233690090969506866606491397531469260822190479146868428689268564502389683723100282345045158082820845418860328829218126497644961954899301809561648751330075645581475727342168141538575081767461881191314329480949395571507564465425999910129866425382262810584966114818317605573644634994256205572461189306975653834686689169929989498330731894978763828538192372204696084810364542233904957906635192709094237256100130068363044287415616769045704324489403771312485389919146548454048744493472339355518646489994656515497786087843051299886096581094680100073547876924202426063765075999083921893093640333570917340656677293371083660939330987897441086135148567562582655113295413476184056958516897111728922935662650849985434350735207002320939026804370266596933024168511568580289238055442778057759606063539834502105988695692490652905220667872809365705677645679504357724175300756266438738188231893695159529829576690127589969121352429792751069412305984020875315454731077670481520497371725358582042678600929573503138603805116997769398551970773886828339954228647230080285290401503792772112436977019869315269293428668012512735254569442276217197949420737313751922166821121855428892429046731313073693972508749361202606495231990979460064041026676045874425882203557784157895260971569713828315605573702527691679932123510195721645960404424953181998445914056992098762497861006336648105767126109060044374755847505094521076156695003269149593160785750378315041304406341038455427404215385684778508485660805027608858792892538417888882854248561768843399362471385915876856776237869116195997056810626816404340913078810264630668255922981383334504078604831378243261225846419748395983924965716829023975297093791046868346389067027952586739454868375062936497708553759811258066926851780229068424535256306582836025677635977570945190918903657156526243242702505581302376771980092267361727996880318306358817580659551304419506042159566305960170751827196192959373258146771776872821650461264945949576980794973565674641372221036822016444752784417337218597255010241297737509190833484161669025204243153022465865467220286441850824166689339834770412758805014876303979967476220598832780788711194156372711740661391821778292901686677653890694711491282701637715938984192207358428476513588781371085281645113014177759024233978516908083765893766413371695857866460890579777392701285049718501081531765283466503747372247146344216590173933073126149276140664588827493582302883225226706369650767767944400348912965205692317657244680431150222640033062102098943156087968593929560179027932680274976582699446427085760136742374561281599868296747291044079448111153447464669649839959963002210001845266060683013599 7818448497461393332935498457695545634554502733240885955595297127126945973451665262599622193731703508830936073804951143549663697239654792161034305300560658234632721279445372342022504310433300735333325780449848009784862567873005396652872280509043580233107486546091461283464374434539872607406698805208698169842084191848676854617845639266028263475259548870852089739516907419293077525406869463274241265001377903862543565655981219775027013256555150179868433568854012709451163923208374202413529155717612321582539837221856445025788019293534281605995082782569010932418903463665098982142016184533002540967066986714215112321173019581429526797683091724703500921773502590493389665103488544537877592813578730873055808067035589373783492378001030865001902246267762144790072528333497570055716246144306842206303773336282306127823858567039290793927888439844802933001841312707189118673689620628423576003397290947014184045557213212087245646006366022653993095189992057838210613576799640426653164086368031770719906964016561487948262484478960641500378704263258010828591948189504334984522631295437843108441873537223684949015855245486571994896893772982575833612704237221214126367003782588854147749948261838407319004009484325530563931463695847168490005562788030567894581008771388816780757306128821247301738852253651384516924060581732862293292767704410860120924076842988835082389258144956448814159529472544492003193670340125029212307973851043176514289985798252464317737136061912662634405675251050559458443226580209384472924592115414201147429219835441091407121043195838151706951457740780130219191881235187553860047036319689880170499378591545125743419894343381160508442567148728840991253428349896751055882405727351615734367593691741095544939702716125646044576606129896764721036083302797533385976899597351384160171676512274482014042831600332937210076046448697535927140305711202812019282673405254012069933069200017801160065191382600712414316755310557415358008061079020825381020911866433789472749665157384144311690332226039779239069092395367449257459950521678546541843738046566734741028508208967710490063837649813707259603441469645389857072144460660057588143465625290349058459718443611210968702176969329686089535083467369892378656374772321389681589366969749864911667114840861617205945734009670940595348022096832189619591188488604598732054407641443549201517516440060503999161743005888291614969857637490910755415128028352889283193158254355371136299431870436434955789811495018388645754401284824990558273412928424731292742602486724921078633976601383359494390199083808210443548402306141033551408973788812371627046576743764944258215139447943087654428601613029604231490879277144925150505626996209317126747821736107225479949853440819066141310891270491194421905644200821068609826539397588503969755501529840521012057577691848183449258598919864425588939747799621065967360531542194430222351719707586914052650079876942926279077999127506260974143015599496024316096791026420125637757276777943916731217826555795224621082241701295911661406699010227108277931121204140479790457337628855269639386320475909468596039099538908760204128977404438437915204998437672485135620370913549592395622457509481163738087983232002 12650515408183080379725427883289258293970993203406682852664471086596233032253907037587495537001989652900793190150516541213166222243646548456454054145190754293711836503450968473720637948124709959617909430514449495862433898434354017543886284392711470161995916637509415155750422271211505937889045414304616248379808382250811233861887645315519308795735475462330206375185603108212416908593439241994134428920836386014982556446179131129162024834901784638280919069389033706883959308428015104948364745461011149034422489832157777242166163522767971696964589649175502329950372724487289461288884613222271105469456670437315394666218177664250372216543420553921627419418464545392691474665137295867953238395054458215223949605610671141245373569315360345951297817775326610216072438463363995437979056729272957024621378909926941122080064139500480100903542274531492102931830811037921013652453449166615948208093375757378726279462171118722438355100603278754123163553036345253827382622503964916056935398853421689866455418065305981420601839997607131495035219761044098671643248075600916079202731368985720032644299600988760948099777138580212328467811113639253126983787898160545114264444868724002715312530916951702732480193541284047461043192618782831140855548222381303101583329710415621151023903061845415813307432542889439959702118341338925833127269810399555813414729748209502955198623850634094493663887196719792759460109078313261106003133380872753204417575767373816747529887131324968618426550566505290536113708100706756198283174158092802077002722974044896524118812594390122480838286080734358866421961520477955363839808432126857190368693860838554411432407078635729950718784346678261728567180272063572177737834619780662465680667385713604294300905322620878035556066193937791397081957728679736943761057492612355729885504827880055716570523280265060720271768094657940352093487709648726076274772167751873076269717305784927269125235757356559919411276386714110361277210672181611131399226907738195813788120584788359697375110734525440044096701254160341795877839404532795103612581445929206126944385065743948359180033646870517886419845810558468667336775128915980569526800129368953889837961704837057388450572953254651806364107442666986169703243118710456709541953709204733286730051338570170965756992076597792375577090521367445926174024514282234709625352832362452858674042683303206504743045382660271707237219365487791073721486845933548834497577760397530702605392041188262151982770868276535417531274106475451823219362505405526266308277128097142115455993046136143911727417681063220684846139815331867035570642814016614780069042609232164544656990272109776994263372025788409246367183257112401371104459776998028320904194447847886871771631733720752818964781965202685704607281916760052802033897826065017558536872615122166125071755450872417427775507003630319355353119495478932428251111319587131507401438208668445817933546380690298526224343344096434907216141748772164980685618520002428520982503484313567498985770956144137586287934018953156341837849232867141340033220147296567759051267189034297572066595452492168042466185299045502578690259004306734662496042517120596289067835583199432355585459719483009004148666245601 20468963905644473712660926340984803928525495936647568808259768213723179005705572300187117730733693161731729263955467684762829919483301340617488359445751412528344557782896340815743142258558010694951235210964297505647296466307359414196758564901755050395103403183600876439214796705751378545295744219513314418221892574099488088479733284581547572270995024333182296114702510527505494434000308705268375693922214289877526122102160350904189038091456934818149352638243046416335123231636389307361893901178623470616962327054014222267954182816302253302959672431744513262369276188152388443430900797755273646436523657151530506987391197245679899014226512278625128341191967135886081139768625840405830831208633189088279757672646260515028865947316391210953200064043088755006144966796861565493695302873579799230925152246209247249903922706539770894831430714376295035933672123745110132326143069795039524211490666704392910325019384330809684001106969301408116258743028403092037996199303605342710099485221453460586362382081867469368864324476567772995413924024302109500235196265105251063725362664423563141086173138212445897115632384066784323364704886621828960596492135381759240631448651312856863062479178790110051484203025609578024974656314629999630861111010411870996164338481804437931781209190666663115046284796540824476626178923071788126420037514810415934338806591198338037587881995590543307823416669264284762653779418438290318311107231915929718707561565626281065267023193237631252832225817555849994556934680916140671207766273507003224431942809485987931239855790228274187789743821514489085613842755665509223886844751816737360868072452383680154852301422016890459161351495407102719820608621960323233620240347132278200048261077454699839240608038746524080132672323834556118118041031477270329737957089963739890057181340154537730613354880597997930347814543355476279233793420851538095557445573005885146202786505802728429190427139957272333728031697271525719285271751202436512420138774171985286537785742172504009065442960565219283165793649527791053337789926211341645456319492495940867972893274711658849243871296684225146023287280203858524408919589576038157670265754659302948297680148448268357152749922584337895899190910036878548359617891031846391131320678954598198397166179431788171702726086268732970925112618199635545765213002886833441679760473806002060191559123363710503904788388548563322207077002978701829136614874286438117690736014752901838904823911624697107772582363294924063285675391300442381492775433830257559050879614822063194089969647519503406117616764871431128394542121472900586979616602828986407115619352997108802872129720052864648691973638818013477858062534257326521610086773207345447652016183955112351721485174539818960275673235693880126512926117581121411860437223653521528292374144962687137129333142720600877034105923494744944292867295099998395611642861781561729753157916255359870583626257633224805302342471602695881359157348268189296782409546422554158739780262257484230203597511939362207370175720249068003244548243094249617964341351437047549508604817889567211452915928401636638505284837954262782819236408745172577701040954793081424688206496749024751207917228964172742236649477603 33119479313827554092386354224274062222496489140054251660924239300319412037959479337774613267735682814632522454105984225975996141726947889073942413590942166822056394286347309289463780206682720654569144641478747001509730364741713431740644849294466520557099319821110291594965218976962884483184789633817930666601700956350299322341620929897066881066730499795512502489888113635717911342593747947262510122843050675892508678548339482033351062926358719456430271707632080123219082540064404412310258646639634619651384816886171999510120346339070224999924262080920015592319648912639677904719785410977544751905980327588845901653609374909930271230769932832546755760610431681278772614433763136273784069603687647303503707278256931656274239516631751556904497881818415365222217405260225560931674359602852756255546531156136188371983986846040250995734972988907787138865502934783031145978596518961655472419584042461771636604481555449532122356207572580162239422296064748345865378821807570258767034884074875150452817800147173450789466164474174904490449143785346208171878444340706167142928094033409283173730472739201206845215409522646996651832516000261082087580280033542304354895893520036859578375010095741812783964396566893625486017848933412830771716659232793174097747668192220059082805112252512078928353717339430264436328297264410713959547307325209971747753536339407840992786505846224637801487303865984077522113888496751551424314240612788682923125137333000097812796910324562599871258776384061140530670642781622896869490940431599805301434665783530884455358668384618396668628029902248847952035804276143464587726653183943594551236766313222234566284708500652620409880135842085364448387788894023895411358074966912940665728928463168304133541513361367402115688738517772347515199998760157007273499014582576095619942686168034593447183878160863058650619582638013416631327281130500264171832217740757758222472503811587655698315662897313832253139308083985636080562482423384047643819365681910181100325906326960863706440553695090659327262494903688132849215629330744136749068900938425146994917278340455607208423904943554743032443133090762327191745694718492018727197065884028256838135641853285325745603322875838989702263298352703864718062861009742303100673274388159331485127217518001959137459718162866525346502203139567081471939237517169068151305113306168454918865601806666917008647833771208835029444296368466492902858101720219986952188313775150432541510215952812959259755353231571459480816949497775894204712137939235783825359156742919205309545962693655647317845034445934651813240681936804767622550259416845601187184661962229273347529119992162641642955345664606422724225245791369727892714546550205373768556210631802999223493116908260571779240455200896565831120208034341174213894335049718539086829246760084853262201088593593018304809612927125064299645986790578930823862754181368693237154596124923805688517172638323523331526685815699130788575299097040354277468028066424982679722283746571051729189368468083499793658109739202224345082397475961390957997561498733615308559872006923864783519511380893804680971470136999765361509495413051907240197083471913677713756042079948457106793376948447181746385315723204 53588443219472027805047280565258866151021985076701820469184007514042591043665051637961730998469375976364251718061451910738826061210249229691430773036693579350400952069243650105206922465240731349520379852443044507157026831049072845937403414196221570952202723004711168034180015682714263028480533853331245084823593530449787410821354214478614453337725524128694798604590624163223405776594056652530885816765264965770034800650499832937540101017815654274579624345875126539554205771700793719672152547818258090268347143940186221778074529155372478302883934512664528854688925100792066348150686208732818398342503984740376408641000572155610170244996445111171884101802398817164853754202388976679614900812320836391783464950903192171303105463948142767857697945861504120228362372057087126425369662476432555486471683402345435621887909552580021890566403703284082174799175058528141278304739588756694996631074709166164546929500939780341806357314541881570355681039093151437903375021111175601477134369296328611039180182229040920158330488950742677485863067809648317672113640605811418206653456697832846314816645877413652742331041906713780975197220886882911048176772168924063595527342171349716441437489274531922835448599592503203510992505248042830402577770243205045093912006674024497014586321443178742043400002135971088912954476187482502085967344840020387682092342930606179030374387841815181109310720535248362284767667915189841742625347844704612641832698898626378878063933517800231124091002201616990525227577462539037540698706705106808525866608593016872386598524174846670856417773723763337037649647031808973811613497935760331912104838765605914721137009922669510869041487337492467168208397515984218644978315314045218865777189540623003972782121400113926195821410841606903633318039791634277603236971672539835509999867508189131177797233041461056580967397181368892910561074551351802267389663313763643368675290317390384127506090037271104586867339781257161799847754174586484156239504456082166386863692069133367715505996655655878610428288553215923902553419256955478394525220430921087862890171615167266057667776240238968178466420370966185716154614308068056884867331638687559786433322001733594102756072798423327598162489262740743266422478900774149491804595067113929683524383697433747309162444249135258317427315757766717017704450520055901592984873779974456979057160930030627512552622159757398351651373371445194731994716594506425069879049789903334380415039864437656367527935594866383544102624889076336586204913373066041384410036357741268503635932341175150723962651210806082941635224058277668209529876019674587594300281315226382150401249712215506291647319303424436202083308325627054414324633323412719216208226815758111575214602082800390739516128436590445957633134151922295625754772273372060615121620905047540399330421736313619181843718850619809243938854085678929219474397043150254966907754041179165559100798895956748136829028287301826669934456445308543574250437612847536838462064008828535959392965980022862001028285459451292348326945719055640575961902850170662858068476824813431994972427309295441319476754974954028144328731821797079817898124426706759138444248576697481858001294177411354488621965200807 86707922533299581897433634789532928373518474216756072130108246814362003081624530975736344266205058790996774172167436136714822202937197118765373186627635746172457346355590959394670702671923452004089524493921791508666757195790786277678048263490688091509302042825821459629145234659677147511665323487149175751425294486800086733162975144375681334404456023924207301094478737798941317119187804599793395939608315641662543479198839314970891163944174373731009896053507206662773288311765198131982411194457892709919731960826358221288194875494442703302808196593584544447008574013431744252870471619710363150248484312329222310294609947065540441475766377943718639862412830498443626368636152112953398970416008483695287172229160123827577344980579894324762195827679919485450579777317312687357044022079285311742018214558481623993871896398620272886301376692191869313664677993311172424283336107718350469050658751627936183533982495229873928713522114461732595103335157899783768753842918745860244169253371203761491997982376214370947796653424917581976312211594994525843992084946517585349581550731242129488547118616614859587546451429360777627029736887143993135757052202466367950423235691386576019812499370273735619412996159396828997010354181455661174294429475998219191659674866244556097391433695690820971753719475401353349282773451893216045514652165230359429845879270014020023160893688039818910798024401232439806881556411941393166939588457493295564957836231626476690860843842362830995349778585678131055898220244161934410189647136706613827301274376547756841957192559465067525045803626012184989685451307952438399340151119703926463341605078828149287421718423322131278921623179577831616596186410008114056336390280958159531506118003791308106323634761481328311510149359379251148518038551791284876735986255115931129942553676223724624981111202324115231586979819382309541888355681852066439221881054521401591147794128978039825821752934584936840006647865242797880410236597970531800058870137992347487189598396094231421946550350746537937690783456904056751769048587699615143594121369346234857807449955622873266091681183793711210909553461728512907900309026560075612064397522715816624568963855018919848359395674262317300425787615444607984485339910516452592477869455273261168651601215435706446622162412001783663929518897333798489643688037224969744289987086142911897922762736697544521200455930966233381095669739911687634852818314726412022067363565053766921925255817250615627283288826437843024919574386852230790917051312301825209769193100660473813181895034830798041807685656740734754875905995082435832080135436520188781484943277455655497930369704378147934602664968030858926308554116996782307039179873618092984764437447561110798707718991060962518756583637487011788753342186263469839649107323090599701950867665132393661531510329906637486653331777744873543584840876257860043337151224518948204062350166102971247617971534280271468355714103000957458509755542348897851718465679272519518184347755399587688582334448106361794686395198653516693409343195017031533959464348904278166628348831737296778491938690189246000448225111953793505838227234848987058095207898620436852200290656645938964794671125858536235007280924011 140296365752771609702480915354791794524540459293457892599292254328404594125289582613698075264674434767361025890228888047453648264147446348456803959664329325522858298424834609499877625137164183353609904346364836015823784026839859123615451677686909662461504765830532627663325250342391410540145857340480420836248888017249874143984329358854295787742181548052902099699069361962164722895781861252324281756373580607432578279849339147908431264961990028005589520399382333202327494083465991851654563742276150800188079104766544443066269404649815181605692131106249073301697499114223810601021157828443181548590988297069598718935610519221150611720762823054890523964215229315608480122838541089633013871228329320087070637180063315998880450444528037092619893773541423605678942149374399813782413684555717867228489897960827059615759805951200294776867780395475951488463853051839313702588075696475045465681733460794100730463483435010215735070836656343302950784374251051221672128864029921461721303622667532372531178164605255291106127142375660259462175279404642843516105725552329003556235007429074975803363764494028512329877493336074558602226957774026904183933824371390431545950577862736292461249988644805658454861595751900032508002859429498491576872199719203264285571681540269053111977755138869563015153721611372442262237249639375718131481997005250747111938222200620199053535281529855000020108744936480802091649224327131234909564936302197908206790535130252855568924777360163062119440780787295121581125797706700971950888353841813422353167882969564629228555716734311738381463577349775522027335098339761412210953649055464258375446443844434064008558728345991642147963110517070298784804583925992332701314705595003378397283307544414312079105756161595254507331560200986154781836078343425562479972957927655766639942421184412855802778344243785171812554377000751202452449430233203868706611544368285044959823084446368423953327842971856041426873987646499959680257990772557015956298374594074513874053290465227599137452547006402416548119072010119980654322467844655093538119341800267322720697621570790139323759457424032679389375973832694698624054923334628132496931729161403376411002285856752513951115468472685644898588276878185351250907818811290602084282464522387190852175984912869453755784606661137041981356834655100515507348138557280871337274860866117368876979923666728172033753078090723631732747043111356882366847534909232837091946413354957101302340295681688271994811224421304226569022199275928567377121964685367866594179229458401742316817827376005948765770336867546817696511130053360104041610011456194776375785224592682037648331619416593654226249984271455295128391862442623836721363813197030812200972664263319222373922321073861353258272712074077457746386476338185765465403879596462660317072488570179934060861932066220256668497050628364682787523694961936789262811548267669203170970104207282136806718770430237019605184742390302784128444211987657441425968903292120056356646411764228123647975300428129223795714680658104809041736288914072672109921367199074941024696825656550728773464365999484687319924980086907821650166959056646066875993332325327195990644539233343420822795965303269890723629246124818 227004288286071191599914550144324722898058933510213964729400501142766597206914113589434419530879493558357800062396324184168470467084643467222177146291965071695315644780425568894548327809087635357699428840286627524490541222630645401293499941177597753970806808656354087292470485002068558051811180827629596587674182504049960877147304503229977122146637571977109400793548099761106040014969665852117677695981896249095121759048178462879322428906164401736599416452889539865100782395231189983636974936734043510107811065592902664354464280144257884908500327699833617748706073127655554853891629448153544698839472609398821029230220466286691053196529200998609163826628059814052106491474693202586412841644337803782357809409223439826457795425107931417382089601221343091129521926691712501139457706635003178970508112519308683609631702349820567663169157087667820802128531045150486126871411804193395934732392212422036913997465930240089663784358770805035545887709408951005440882706948667321965472876038736134023176146981469662053923795800577841438487490999637369360097810498846588905816558160317105291910883110643371917423944765435336229256694661170897319690876573856799496373813554122868481062488015079394074274591911296861505013213610954152751166629195201483477231356406513609209369188834560383986907441086773795611520023091268934176996649170481106541784101470634219076696175217894818930906769337713241898530780739072628076504524759691203771748371361879332259785621202525893114790559372973252637024017950862906361078000978520036180469157346112386070512909293776805906509380975787707017020549647713850610293800175168184838788048923262213295980446769313773426884733696648130401400770336000446757651095875961537928789425548205620185429390923076582818841709560365405930354116895216847356708944182771697769884974860636580427759455446109287044141356820133511994337785915055935145833425422806446550970878575346463779149595906440978266880635511742757560668227370527547756357244732066861361242888861321830559399097357148954485809855467024037406091516432354708681713463169613557578505071526413012589851138607826390600285527294423211531955232361188208108996126684119193035571249711771433799474864146947962199014064493629959235393158721807054676760333977660452020827586128305160202406769073138825645286353552434313996991826594505841081564847952260280774902686403425716554953534021689865113842712851268570001700353223959249114013776920010868224265551498938887622094513247742069593941773662780798168039015997669691803948422559062216129999722410836746807578022524287552451387036048442539873690146892714965157270167870137693146261989120971802160852649239486154054700416559620619028402993070648905185737101710880333172630040064922315777029295711564469535139818524449235305052986919553260019023356235312327722393442396126894155150382406109556331108535838194649306148699492188151375032454373385108054336741964517291073540456493303741586953967530006339277687368971392575874830759519627711336557634876235585590401075856758325735145632109089703643880831547979219191325174488288025551956304689673933320373205198861615156005186291495053934088540223947632842844829889989359787590636429128426958636527048829 367300654038842801302395465499116517422599392803671857328692755471171191332203696203132494795553928325718825952625212231622118731232089815678981105956294397218173943205260178394425952946251818711309333186651463540314325249470504524908951618864507416432311574486886714955795735344459968591957038168110017423923070521299835021131633862084272909888819120030011500492617461723270762910751527104441959452355476856527700038897517610787753693868154429742188936852271873067428276478697181835291538679010194310295890170359447107420733684794073066514192458806082691050403572241879365454912787276596726247430460906468419748165830985507841664917292024053499687790843289129660586614313234292219426712872667123869428446589286755825338245869635968510001983374762766696808464076066112314921871391190721046198998010480135743225391508301020862440036937483143772290592384096989799829459487500668441400414125673216137644460949365250305398855195427148338496672083660002227113011570978588783686776498706268506554354311586724953160050938176238100900662770404280212876203536051175592462051565589392081095274647604671884247301438101509894831483652435197801503624700945247231042324391416859160942312476659885052529136187663196894013016073040452644328038828914404747762803037946782662321346943973429947002061162698146237873757272730644652308478646175731853653722323671254418130231456747749818951015514274194043990180005066203862986069461061889111978538906492132187828710398562688955234231340160268374218149815657563878311966354820333458533637040315677015299068626028088544287972958325563229044355647987475262821247449230632443214234492767696277304539175115305415574847844213718429186205354261992779458965801470964916326072733092619932264535147084671837326173269761351560712190195238642409836681902110427464409827396045049436230537799689894458856695733820884714446787216148259803852444969791091491510793963021714887732477438878297019693754623158242717240926218143084563712655619326141375235296179326549429696851644363551371033928927477144018060413984277009802219832804969880880299202693097203151913610596031859069989661501127117910156010155695816340605927855845522569446573535568523947750590332619633607097602341371815310486300977533097656761042798500047642873003571041174613958191375734275867626643188207534829504339965151786712418839708818377649651882610070153888588706612112413496846589755962625452368547888133192086205960190274967969526605847180627159616905737669046296162963972938709365545160980683037558398127652017463958446817549786842695573348359391834370147898166101802643915300158348909741533055392462819730794593608537565456387102633510941449183092279002244455749766806267679717386709765974199555546552361138783669035302007785641927281526294862635000770456866516015920336095844805492261783255374462347150823647433034474239118632230800131438568960247759857354546002558580667244861055512394754310678725198883606525715398179517663780703656272263512632231477171283855834984532935304364809386115756514863134776881921023162375753802198747054160216022000144838754325420670689158620640298185285769436806172145348141120810081872549274828833489369123332780610386601732398317682265773173647 594304942324913992902310015643441240320658326313885822058093256613937788539117809792566914326433421884076626015021536415790589198316733282901158252248259468913489587985685747288974280755339454069008762026938091064804866472101149926202451560042105170403118383143240802248266220346528526643768218995739614011597253025349795898278938365314250032035456692007120901286165561484376802925721192956559637148337373105622821797945696073667076122774318831478788353305161412932529058873928371818928513615744237820403701235952349771775197964938330951422692786505916308799109645369534920308804416724750270946269933515867240777396051451794532718113821225052108851617471348943712693105787927494805839554517004927651786255998510195651796041294743899927384072975984109787937986002757824816061329097825724225169506122999444426835023210650841430103206094570811593092720915142140285956330899304861837335146517885638174558458415295490395062639554197953374042559793068953232553894277927256105652249374745004640577530458568194615213974733976815942339150261403917582236301346550022181367868123749709186387185530715315256164725382866945231060740347096368698823315577519104030538698204970982029423374964674964446603410779574493755518029286651406797079205458109606231240034394353296271530716132807990330988968603784920033485277295821913586485475295346212960195506425141888637206927631965644637881922283611907285888710785805276491062573985821580315750287277854011520088496019765214848349021899533241626855173833608426784673044355798853494714106197661789401369581535321865350194482339301350936061376197635189113431541249405800628053022541690958490600519621884619189001732577910366559587606124597993226216616897346926454254862158640825552449964538007748420145014979321716966642544312133859257193390846293199162179712370905686016658297255136003745900837090641018226441125002063315738998278395213897938061764841597061351511627034784737997960635258669985474801594445513612111469012864058208236596539068187871260256250741720700325519738782944168055466505500709364510901546268139494437877707764623616164503461734639685460589947028421541121687965388057004548714923982529641762482144785280295381550065196766581569296616405865445269721694136254904711437803132477708094893831157169479774160598144807414693271929541759969143501331791746292553500404556770637930426785296473579605143660146134103361960432468813894022370248241357151335319973967194978837750871398679566047239000250916788365756905746601490163713199996680707250202076074576526174576817272197679442380926381916121922599285202150245183788990305241624706690325560332957423940855597658537258547955282750427603237792695561865074778169799338328622572446867685079888719182401203705984812331303497206396816666113387084236075509853435569180355119201040804589505648816858474044978797815440583795449740766638326087875108947252045505921035012954052352915392254359271601752265655376910267302352147047670119981343641234905208106307930803483546321090570180600394976516832371621460512027553132252079397683030295033379407347174633126779877376975378832553960671390484631051962177331639636174744170412773222461676334199013322140397977238161526744640902300222476 961605596363756794204705481142557757743257719117557679386786012085108979871321505995699409121987350209795451967646748647412707929548823098580139358204553866131663531190945925683400233701591272780318095213589554605119191721571654451111403178906612586835429957630127517204061955690988495235725257163849631435520323546649630919410572227398522941924275812037132401778783023207647565836472720061001596600692849962150521836843213684454829816642473261220977290157433285999957335352625553654220052294754432130699591406311796879195931649732404017936885245311998999849513217611414285763717204001346997193700394422335660525561882437302374383031113249105608539408314638073373279720101161787025266267389672051521214702587796951477134287164379868437386056350746876484746450078823937130983200489016445271368504133479580170060414718951862292543243032053955365383313299239130085785790386805530278735560643558854312202919364660740700461494749625101712539231876728955459666905848905844889339025873451273147131884770154919568374025672153054043239813031808197795112504882601197773829919689339101267482460178319987140412026820968455125892223999531566500326940278464351261581022596387841190365687441334849499132546967237690649531045359691859441407244287024010979002837432300078933852063076781420277991029766483066271359034568552558238793953941521944813849228748813143055337159088713394456832937797886101329878890790871480354048643446883469427728826184346143707917206418327903803583253239693510001073323649265990662985010710619186953247743237977466416668650161349953894482455297626914165105731845622664376252788698636433071267257034458654767905058796999924604576580422124084988773811478859986005675582698817891370580934891733445484714499685092420257471188249083068527354734507372501667030072748403626626589539766950735452888835054825898204757532824461902940887912218211575542850723365004989429572558804618776239244104473663035017654389881828228192042520663656696675181668483384349611831835247514420689953102386084251696553667710421312073526919484986374313121379073109375318176910457720819316417072330671544530579608529548659031843975543752820889320851838375164331928718320848819329300655529386215176394218747237260580207995113788002368198845930977755737766834728210654388118789520541690560898572729967503973005671756898079265919244265589015580078667906543733493732366758246516858807022224776519474738796129490343421525934157469946807277477245860193206855905988585834661919869719540199529258360977363744808600203726593990133023634821984522137954274741307956292747183368252047827704290463590534448223380952795777154735449206196102714935057916261369052420884974564109530527936605606008339959156633659279444265734762342489653847633311282848324098192408249719236845966719951585100691215045846296851288904191320821195802445248475058034568372997438457526444069195011902860467037571534719597776447766754025912430990854260516793017750326565333900684999913498417840337785102087339381305623505484965204362632588886484595288909474155414455151485229042087539623369174777965534202797646067991174600969575770400488768349476987777295554252285322497290509823568136654921008363839893925062323168073396123 1555910538688670787107015496785998998063916045431443501444879268699046768410439315788266323448420772093872077982668285063203297127865556381481297610452813335045153119176631672972374514456930726849326857240527645669924058193672804377313854738948717757238548340773368319452328176037517021879493476159589245447117576571999426817689510592712772973959732504044253303064948584692024368762193913017561233749030223067773343634788909758121905939416792092699765643462594698932486394226553925473148565910498669951103292642264146650971129614670734969359578031817915308648622862980949206072521620726097268139970327938202901302957933889096907101144934474157717391025785987017085972825889089281831105821906676979173000958586307147128930328459123768364770129326730986272684436081581761947044529586842169496538010256479024596895437929602703722646449126624766958476034214381270371742121286110392116070707161444492486761377779956231095524134303823055086581791669797908692220800126833100994991275248196277787709415228723114183588000406129869985578963293212115377348806229151219955197787813088810453869645709035302396576752203835400356952964346627935199150255855983455292119720801358823219789062406009813945735957746812184405049074646343266238486449745133617210242871826653375205382779209589410608979998370267986304844311864374471825279429236868157774044735173955031692544086720679039094714860081498008615767601576676756845111217432705049743479113462200155228005702438093118651932275139226751627928497482874417447658055066418040447961849435639255818038231696671819244676937636928265101167108043257853489684329948042233699320279576149613258505578418884543793578313000034451548361417603457979231892199596164817824835797050374271037164464223100168677616203228404785493997278819506360924223463594696825788769252137856421469547132309961901950658369915102921167329037220274891281849001760218887367634323646215837590755731508447773015615025140498213666844115109170308786650681347442557848428374315702291950209353127804952022073406493365480128993424985695738824022925341248869756054618222344435480920534065311229991169555557970200153531940931809825438035775820904806094410863106129114710850720726152796745690835153102705849929689250042907079636649063455463832660665885380134162279387665349105254170502271727473116507003548644371819419648822359653510505453203017313098876026904380620220767454693590413497109044370847494756845908124664925645028348644539759254094906239502623027676775466141689692971560974044452058802279801170516307600452094182201580335201123224078215346468570402293011493280768832159154913706513128734578676304803854639973483013199011796655658677670125974605306106404944336962531603501344359332984917163546195638659964614780054720914858521636803472921476573387154281046334246887101440794553008179295240781243063915641830018113764076783614319178142263948366388072584488771950691840021113297514183256509637427060320102473613004020666343554733323048444093032890822927626714075665565599339149421258106055800937027287666534549168259337120919030716349411092314080174621446823728561640966255031540730526808627413470298422698095719752186157767149977061406341078055451806964070373618599 2517516135052427581311720977928556755807173764549001180831665280784155748281760821783965732570408122303667529950315033710616005057414379480061436968657367201176816650367577598655774748158521999629644952454117200275043249915244458828425257917855330344073978298403495836656390131728505517115218733323438876882637900118649057737100082820111295915884008316081385704843731607899671934598666633078562830349723073029923865471632123442576735756059265353920742933620027984932443729579179479127368618205253102081802884048575943530167061264403138987296463277129914308498136080592363491836238824727444265333670722360538561828519816326399281484176047723263325930434100625090459252545990251068856372089296349030694215661174104098606064615623503636802156185677477862757430886160405699078027730075858614767906514389958604766955852648554566015189692158678722323859347513620400457527911672915922394806267805003346798964297144616971795985629053448156799121023546526864151887705975738945884330301121647550934841299998878033751962026078282924028818776325020313172461311111752417729027707502427911721352105887355289536988779024803855482845188346159501699477196134447806553700743397746664410154749847344663444868504714049875054580120006035125679893694032157628189245709258953454139234842286370830886971028136751052576203346432927030064073383178390102587893963922768174747881245809392433551547797879384109945646492367548237199159860879588519171207939646546298935922908856421022455515528378920261629001821132140408110643065777037227401209592673616722234706881858021773139159392934555179266272839888880517865937118646678666770587536610608268026410637215884468398154893422158536537135229082317965237567782294982709195416731942107716521878963908192588935087391477487854021352013326878862591253536343100452415358791904807156922435967364787800155415902739564824108216949438486466824699725125223876797206882450834613829999835982110808033269415022326441858886635772827005461832349830826907460260209563216712640162455513889203718627074203786792202520344470682113137144304414358245074231528680065254797337606395982774521749164087518859185375916475562646327356627659279970426339581426977934040151376255539011922085053900339966430137684363830909447835494994433219570427500613590788550398177185890795815069075001694977089512675305542451085338893087948669090584121109561046592608393662627137079574476918366932971847840500337838178371842282134872452305825890399952460950812228088457689596645185681889222229921951408196867402483527764506440624086916166723718289475864532034508093651938654340839197571232422693603137087465924511733411754010050742688418071115273165708079562644690084135834043010550345302490760135003638777250651925888685292507597926062903045013050929886522709767443293338739381737549292733398292083457199500116436583688312390699864586486761515241140763247337275851226855110156023491548468287787867323426614247363897943853337852800178337921351343468231740888781878134978162308932337581150530803701782010144590651089846501443080989700653488379208458654085524189057848282972267514814903162610542025432029498876285615190765852674983418217042695981335286631982414704917949376869287238447014722 4073426673741098368418736474714555753871089809980444682276544549483202516692200137572232056018828894397539607932983318773819302185279935861542734579110180536221969769544209271628149262615452726478971809694644845944967308108917263205739112656804048101312526639176864156108718307766022538994712209483028122329755476690648484554789593412824068889843740820125639007908680192591696303360860546096124064098753296097697209106421033200698641695476057446620508577082622683864930123805733404600517184115751772032906176690840090181138190879073873956656041308947829617146758943573312697908760445453541533473641050298741463131477750215496188585320982197421043321459886612107545225371879340350687477911203026009867216619760411245734994944082627405166926315004208849030115322241987461025072259662700784264444524646437629363851290578157269737836141285303489282335381728001670829270032959026314510876974966447839285725674924573202891509763357271211885702815216324772844108506102572046879321576369843828722550715227601147935550026484412794014397739618232428549810117340903637684225495315516722175221751596390591933565531228639255839798152692787436898627451990431261845820464199105487629943812253354477390604462460862059459629194652378391918380143777291245399488581085606829344617621495960241495951026507019038881047658297301501889352812415258260361938699096723206440425332530071472646262657960882118561414093944224994044271078312293568914687053108746454163928611294514141107447803518147013256930318615014825558301120843455267849171442109255978052745113554693592383836330571483444367439947932138371355621448594720900469907816186757881284916215634769012191733206422192988085496646685775944469459981891147527020252528992481987559043428131292757612703594705892639515349292146385223515476999937797278204128044042663578391983099674749702106074272654667745275545986658761358106548726885442764164841206097050451420755567490558581048884440162824655525730750881997314248483031178269465308688583878919004590371808641694155740700480697152272331513769456377851961167229755607114830286146902409690278258140461294004512918719645489059338907857407372471765392403480184776520750444533107048751002096981691808667775889053442672280067373613873816527472144057888683403088166498970922712677564851239901069239577273422450206019678854186822904758541910308322601089574312578359691484420567007757300341931611957346468956884871185332935217750406799798097334174534939711715045718467591080717273420651823578915201482925452648926204763328935022748224539010348925298624676987756112723440120509056633850690852001254852758050793979053246312088058813905382661901084314284962363738240314816058741140149415494682265022363636347998110235569089434880931167562540842957765927909451523326182688919866725893662783883539620499732878010207679411677364931376306341694604600525592024755082425479539799593243182740512263499160127808980620940797503873535370913657955273791341942017687022965063937225971167868985236559051656816096403040931431402696706890783528730747524249821747716329377684801873600150162363146888961638631724251508280463570229403094242604236151097681513936794882139102436609043821045996004828676251308820633321 6590942808793525949730457452643112509678263574529445863108209830267358264973960959356197788589237016701207137883298352484435307242694315341604171547767547737398786419911786870283924010773974726108616762148762046220010558024161722034164370574659378445386504937580359992765108439494528056109930942806466999212393376809297542291889676232935364805727749136207024712752411800491368237959527179174686894448476369127621074578053156643275377451535322800541251510702650668797373853384912883727885802321004874114709060739416033711305252143477012943952504586077743925644895024165676189744999270180985798807311772659280024959997566541895470069497029920684369251893987237198004477917869591419543850000499375040561432280934515344341059559706131041969082500681686711787546208402393160103099989738559399032351039036396234130807143226711835753025833443982211606194729241622071286797944631942236905683242771451186084689972069190174687495392410719368684823838762851636995996212078310992763651877491491379657392015226479181687512052562695718043216515943252741722271428452656055413253202817944633896573857483745881470554310253443111322643341038946938598104648124879068399521207596852152040098562100699140835472967174911934514209314658413517598273837809448873588734290344560283483852463782331072382922054643770091457251004730228531953426195593648362949832663019491381188306578339463906197810455840266228507060586311773231243430939191882088085894992755292753099851520150935163562963331897067274885932139747155233668944186620492495250381034782872700287451995412715365522995723506038623633712787821018889221558567241399567240495352797366149311326852850653480589888099844351524622631875768093909707027764186130236215669260934589704080922392039485346547790986183380493536701305473264086106730536280897730619486835947470735314419067039537502261490175394232569383762936097247824931248452010666640962048088547885065250755403472669389082153855185151097384617386654824319710315381009096372768948793442135717230534264155583359459327554900939064534034113927059965098311534169965359904517675582474945075595746857276779034667883733007918524283773882935118092749031139464746947090025960084982791153473237230820589860942953782638710205057977704725975307639052321902973515667112561711263075742037130696884308652275117427295532354159729273990097434998256991691673695422139406284092814229634894379916408530324279440804725371523171113589592688934670549640000425339664175996530695679538406870065837505468137431404876860845793607246856699529188848625926515649016914152852288147231533772447710974689888423233677546361187881444977758045499812823956125350319155429558128071817802959506142876974192426045027567513123771351636887486221015323566223675160466905860810940960381409848892456363160064633044521432832353898024961467407179528113948619688697041559191087287107265895845672816815650820098292896535755047628415596847944367411751237433314766995808073969679863369030491196804826007849302847147545491389237966627206742713441547287357980630030173828513950475236095537836338887397789208010646119156476453534886862050305895599728279379857795002003772664932153837578120437723241026235750913954205545538547267648043 10664369482534624318149193927357668263549353384509890545384754379750560781666161096928429844608065911098746745816281671258254609427974251203146906126877728273620756189455996141912073273389427452587588571843406892164977866133078985239903483231463426546699031576757224148873826747260550595104643152289495121542148853499946026846679269645759433695571489956332663720661091993083064541320387725270810958547229665225318283684474189843974019147011380247161760087785273352662303977190646288328402986436756646147615237430256123892443443022550886900608545895025573542791653967738988887653759715634527332280952822958021488091475316757391658654818012118105412573353873849305549703289748931770231327911702401050428648900694926590076054503788758447136008815685895560817661530644380621128172249401260183296795563682833863494658433804869105490861974729285700888530110969623742116067977590968551416560217737899025370415646993763377579005155767990580570526653979176409840104718180883039642973453861335208379942730454080329623062079047108512057614255561485170272081545793559693097478698133461356071795609080136473404119841482082367162441493731734375496732100115310330245341671795957639670042374354053618226077429635773993973838509310791909516653981586740118988222871430167112828470085278291313878873081150789130338298663027530033842779008008906623311771362116214587628731910869535378844073113801148347068474680255998225287702017504175657000582045864039207263780131445449304670411135415214288142862458362170059227245307463947763099552476892128678340197108967408957906832054077522068001152735753157260577180015836120467710403168984124030596243068485422492781621306266544512708128522453869854176487746077277763235921789927071691639965820170778104160494580889273133052050597619649309622207536218695008823614879990134313706402166714287204367564448048900314659308922756009183037797178896109405126889294644935516671510970963227970131038295347975752910348137536821633958798412187365838077637377321054721820906072797277515200028035598091336865547883383437817059478763925572474734803822484884635353853887318570783547586603378496977863191631290307589858141434619649523467840470493192031542155570218922629257636832007225310990272431591578542502779783110210586376603833611532633975753306888370597953548229548539877501552033013916096894855976908565314292763269734717765975577234796642651680258340142281625909761610242708504048807343095734468646974174960279375891042249163270619124143486489329047052632887802313494719812010185634551937073164936864574315538829840044259954973892956767608540579275234932399119238675424031004357587871637861508012220239743843090435556043274322201618114341841539709832535487407699634997721790104758447154842723007748818576868869832933175075145283026790526707305316371974397757839477614858939791313551065003383253795687812699290650928098296355450413341475637048018546788543405828565308209255110968685680653763347761021805386717514161868763233820470716132782050440894782723609783644872949984064871413558904576038200296983811867214023689271389358173009266045438092166611113558586359169957682474100399238154870346446090632460259540159850070056796909959034221789856088281364 17255312291328150267879651380000780773227616959039336408492964210017919046640122056284627633197302927799953883699580023742689916670668566544751077674645276011019542609367783012195997284163402178696205333992168938384988424157240707274067853806122804992085536514337584141638935186755078651214574095095962120754542230309243569138568945878694798501299239092539688433413503793574432779279914904445497852995706034352939358262527346487249396598546703047703011598487924021459677830575559172056288788757761520262324298169672157603748695166027899844561050481103317468436548991904665077398758985815513131088264595617301513051472883299287128724315042038789781825247861086503554181207618523189775177912201776090990081181629441934417114063494889489105091316367582272605207739046773781231272239139819582329146602719230097625465577031580941243887808173267912494724840211245813402865922222910788322243460509350211455105619062953552266500548178709949255350492742028046836100930259194032406625331352826588037334745680559511310574131609804230100830771504737911994352974246215748510731900951405989968369466563882354874674151735525478485084834770681314094836748240189398644862879392809791710140936454752759061550396810685928488047823969205427114927819396188992576957161774727396312322549060622386261795135794559221795549667757758565796205203602554986261604025135705968817038489208999285041883569641414575575535266567771456531132956696057745086477038619331960363631651596384468233374467312281563028794598109325292896189494084440258349933511675001378627649104380124323429827777583560691634865523574176149798738583077520034950898521781490179907569921336075973371509406110896037330760398221963763883515510263407999451591050861661395720888212210263450708285567072653626588751903092913395728938072499592739443101715937605049020821233753824706629054623443132884043071858853257007969045630906776046088937383192820581922266374435897359213192150533126850294965524191645953669113793196462210846586170763190439051440336952860874659355590499030401399581997310497782157790298095537834639321498067359580429449634175847562582254487111504896387475405173242707950890465759114270414930496453277014333309043456153449847497774961007949700477489569283268478087422162532489350119500724094345238829048925501294837856881823657304797084387173645370884953411906822305984436965156857172259670049026277546060174748672605905350566335614231675162396935784669139196614175385619040067038779858950157531013552326834515190064292679174340513419257042334081125921790863380223332452982692332407186507665404478583230467698468609945480426556869008762403087684461817633362539395173401218507373846233828344495088534267584737400048611179051271885208011120082013378517883474654679387809830214343023967601646186855159751826749204328295782800945022038467905262170753700424812986775099806556546773771113171101233439768533583773594416959002676509675621006348402000447649571421730701668755748005358673589241669773563280327541830132749350816526358314497271422852043589078404552150772219907405050362576669178566183655385201914545701497975608892254769685961853958194240158643011378244470038379977883091096292547823913239767328403355929407 27919681773862774586028845307358449036776970343549226953877718589768479828306283153213057477805368838898700629515861695000944526098642817747897983801523004284640298798823779154108070557552829631283793905835575830549966290290319692513971337037586231538784568091094808290512761934015629246319217247385457242296691083809189595985248215524454232196870729048872352154074595786657497320600302629716308811542935699578257641947001536331223415745558083294864771686273197374121981807766205460384691775194518166409939535599928281496192138188578786745169596376128891011228202959643653965052518701450040463369217418575323001142948200056678787379133054156895194398601734935809103884497367454960006505823904177141418730082324368524493168567283647936241100132053477833422869269691154402359444488541079765625942166402063961120124010836450046734749782902553613383254951180869555518933899813879339738803678247249236825521266056716929845505703946700529825877146721204456676205648440077072049598785214161796417277476134639840933636210656912742158445027066223082266434520039775441608210599084867346040165075644018828278793993217607845647526328502415689591568848355499728890204551188767431380183310808806377287627826446459922461886333279997336631581800982929111565180033204894509140792634338913700140668216945348352133848330785288599638984211611461609573375387251920556445770400078534663885956683442562922644009946823769681818834974200233402087059084483371167627411783041833772903785602727495851171657056471495352123434801548388021449485988567130056967846213347533281336659831661082759636018259327333410375918598913640502661301690765614210503812989821498466153130712377440550038888920675833618060003256340685762687512840788733087360854032381041554868780147961926759640802500712562705351145608718287748266716595927739362727223400468111910996619071492033198702380781609266191006842809802885451215826677837756098593777345399125329344230445881102603205313661728467587627912205383828048924223548084245160872346409750138389859383626097121738265129880693935599217269062021110309374125320552244215783303521494418346129841090490001874250667036463550297809031900378763793882770966946469045875464613675076079105134606968233260690749921160861810980867205272743075726723334335626979214582355813871892791405111372197182298636420187561467779809388815387620277200234891574938235247283822920197740433088814887531260327945856940179211204278880403607843588350345898415958081029022220776655157038816163562242697180481487835233231267227968633062994955800244797647991812532376667141481558361246191771046973703542344599665232293039766760675556099679141374759634917244308942929889508150546113202876109124447232584098586750906882929801224840460533360606482403497964678700047276199042746929213645686459132065576302693540640422636897407696575721818703808066782462912505847197701869409526551646781244170631792141205502408505074983830261459370686128303334769491723474142465519520542352475490244279413109592271027532074426310003187447255487723457147982980590351069203719272264386265940567924356664651247352637868109089167478613939643644328058593478313513357824335102498639518042941166349344733872273989118259444210771 45174994065190924853908496687359229810004587302588563362370682799786398874946405209497685111002671766698654513215441718743634442769311384292649061476168280295659841408191562166304067841716231809979999239827744768934954714447560399788039190843709036530870104605432392432151697120770707897533791342481419363051233314118433165123817161403149030698169968141412040587488099580231930099880217534161806664538641733931197000209528882818472812344104786342567783284761121395581659638341764632440980563952279686672263833769600439099940833354606686589730646857232208479664751951548319042451277687265553594457482014192624514194421083355965916103448096195684976223849596022312658065704985978149781683736105953232408811263953810458910282630778537425346191448421060106028077008737928183590716727680899347955088769121294058745589587868030987978637591075821525877979791392115368921799822036790128061047138756599448280626885119670482112006252125410479081227639463232503512306578699271104456224116566988384454612221815199352244210342266716972259275798570960994260787494285991190118942500036273336008534542207901183153468144953133324132611163273097003686405596595689127535067430581577223090324247263559136349178223257145850949934157249202763746509620379118104142137194979621905453115183399536086402463352739907573929397998543047165435189415214016595834979412387626525262808889287533948927840253083977498219545213391541138349967930896291147173536123102703127991043434638218241137160070039777414200451654580820645019624295632828279799419500242131435595495317727657604766487609244643451270883782901509560174657181991160537612200212547104390411382911157574439524640118488336587369649318897797381943518766604093762139103891650394483081742244591305005577065715034580386229554403805476101080083681217880487709818311865344411748044634221936617625673694935166082745452640462523198975888440709661497304764061030576680516043719835022688557422596414229453500279185920113541297025998580290259770809718847435599923786746702999264518739216596152139664711878004433381375059360116648144013446818619603796212753155670265908712095577601506770638142441636793005759922366137878064297701463399746060208773657131229528952632381929241210391227410730145079458954627435275565076842835059721324453411404739373187629261993195854487095720807361206838664762800722209926261637200048432110494917332849197743800607837487493436610894281471171854373601214665072747040202525731517456025119808881170934186170591142998077432761473160662175746650524270302714188916746663625020980444795224709074327989223765724775001514672172152290080091789162048529163763240561496774737299030090645527450303735741978890608291410376709184632632709765802178768137812344922473911878489957058177352488530261619223010348575400500846210958814780630989323441367658935875601837892572404232879769238012312403744475640522697652880221012704215565735622461411181584659451267807772686575952906191222425142898213524879215941717160017842693437134101160281425242836361501944526910575500737061385142501841423626677314748842609746490540320036449267183569607064776370868709329606182016787718472156369202579572537019495926032262641892557785513756446662800140178 73094675839053699439937341994717678846781557646137790316248401389554878703252688362710742588808040605597355142731303413744578968867954202040547045277691284580300140207015341320412138399269061441263793145663320599484921004737880092302010527881295268069654672696527200722664459054786337143853008589866876605347924397927622761109065376927603262895040697190284392741562695366889427420480520163878115476081577433509454642156530419149696228089662869637432554971034318769703641446107970092825672339146797853082203369369528720596132971543185473334900243233361099490892954911191973007503796388715594057826699432767947515337369283412644703482581150352580170622451330958121761950202353433109788189560010130373827541346278178983403451198062185361587291580474537939450946278429082585950161216221979113581030935523358019865713598704481034713387373978375139261234742572984924440733721850669467799850817003848685106148151176387411957511956072111008907104786184436960188512227139348176505822901781150180871889697949839193177846552923629714417720825637184076527222014325766631727153099121140682048699617851920011432262138170741169780137491775512693277974444951188856425271981770344654470507558072365513636806049703605773411820490529200100378091421362047215707317228184516414593907817738449786543131569685255926063246329328335765074173626825478205408354799639547081708579289366068612813796936526540420863555160215310820168802905096524549260595207586074295618455217680052014040945672767273265372108711052315997143059097181216301248905488809261492563341531075190886103147440905726210906902042228842970550575780904801040273501903312718600915195900979072905677770830865777137408538239573631000003522022944779524826616732439127570442596276972346560445845862996507145870356904518038806431229289936168235976534907793083774475268034690048528622292766427199281447833422071789389982731250512546948520590738868332779109821065234148017901653042295332056705592847648581128924938203964118308695033266931680760796133156453137654378122842693273877929841758698368980592328422137758453387572139171848011996056677164684254841936668091508644888809478100343303568954266516641858180472430346215106084238270806305608057766988897474471081977331891006890439821832708018640803566169395348303667993760553245080420667104568051669394357227548768306444572189537597546538837434940007048730164616672117941541040926302380967871222227328112033584805493545476354883790876077415871983200837903391710841327629959161639675458653642150010979881791498271347251911702463869818628436607757085741469470782126970966772561645875694634679757021455088295924438796661175916112058665007889836393233625250129436721494286485833631865216808352553085651067613569762934445239096439461675317167230308895422053095504614146532670090880356933682864081790295833283298413614391108040946551700924818250942177509932224204527002256874847357876827963819686659643281529267143372704256240960714148617040679044399758294192650262122106546726372187813499669146364689391782398298957885044365732852910627345949579135108550314414896984687696619821437716153943849482648973250510075381196785669727026914675035659013968973428991237291657787745564922244350949 118269669904244624293845838682076908656786144948726353678619084189341277578199093572208427699810712372296009655946745132488213411637265586333196106753859564875959981615206903486716206240985293251243792385491065368419875719185440492090049718725004304600524777301959593154816156175557045041386799932348295968399157712046055926232882538330752293593210665331696433329050794947121357520360737698039922140620219167440651642366059301968169040433767655980000338255795440165285301084449734725266652903099077539754467203139129159696073804897792159924630890090593307970557706862740292049955074075981147652284181446960572029531790366768610619586029246548265146846300926980434420015907339411259569873296116083606236352610231989442313733828840722786933483028895598045479023287167010769540877943902878461536119704644652078611303186572512022692024965054196665139214533965100293362533543887459595860897955760448133386775036296057894069518208197521487988332425647669463700818805838619280962047018348138565326501919765038545422056895190346686676996624208145070788009508611757821846095599157414018057234160059821194585730283123874493912748655048609696964380041546877983960339412351921877560831805335924649985984272960751624361754647778402864124601041741165319849454423164138320047023001137985872945594922425163499992644327871382930509363042039494801243334212027173606971388178653602561741637189610517919083100373606851958518770835992815696434131330688777423609498652318270255178105742807050679572560365633136642162683392814044581048324989051392928158836848802848490869635050150369662177785825130352530725232962895961577885702115859822991326578812136647345202410949354113724778187558471428381947040789548873286965720624089522053524338521563651566022911578031087532099911308323514907511312971154048723686353219658428186223312668911985146247966461362365364193286062534312588958619691222208445825354799898909459625864785069170706459075638709561510205872033568694670221964202544408568465842985779116360719919903156136918896862059289426017594553636702802361967387782254406597401018957791451808208809832834950163554032245693015415526951919737136309328876632654519922478173893745961166293011927937535137010399370826715681473204742621151969898776460143294205880409004455069628121405165292618268049929097763906156490078034909975145109334990259807472800474634988439159225081949521315685341648763789874404482116508799283887958406708210549101923993401808933328008320646784562645027498221102159717108220126802812186726532315768574061440828449127494839608881402981794815797460005892695741774076318047846924759848810617136825088202037222672690849357695098535363843537360992108327329785696862542816497849518118355264419205425914685408357117586396519852669655760570514645063444080014647378881049695137564672187523157954769158900251506963512273826320938937130654686653150454921857407223269579062923612450425230868244302732797074916059280209147151936573759938892569278974235909810279964799983860473348094924911982726191336309308874458622105750875354752050972626893883951160060905437304724145887005007323218720220351358302856692092168915257826096229494247572678509895005691633129849443301502011585044491127 191364345743298323733783180676794587503567702594864143994867485578896156281451781934919170288618752977893364798678048546232792380505219788373743152031550849456260121822222244807128344640254354692507585531154385967904796723923320584392060246606299572670179449998486793877480615230343382185239808522215172573747082109973678687341947915258355556488251362521980826070613490314010784940841257861918037616701796600950106284522589721117865268523430525617432893226829758934988942530557704818092325242245875392836670572508657880292206776440977633259531133323954407461450661773932265057458870464696741710110880879728519544869159650181255323068610396900845317468752257938556181966109692844369358062856126213980063893956510168425717185026902908148520774609370135984929969565596093355491039160124857575117150640168010098477016785276993057405412339032571804400449276538085217803267265738129063660748772764296818492923187472445306027030164269632496895437211832106423889331032977967457467869920129288746198391617714877738599903448113976401094717449845329147315231522937524453573248698278554700105933777911741206017992421294615663692886146824122390242354486498066840385611394122266532031339363408290163622790322664357397773575138307602964502692463103212535556771651348654734640930818876435659488726492110419426055890657199718695583536668864973006651689011666720688679967468019671174555434126137058339946655533822162778687573741089340245694726538274851719227953869998322269219051415574323944944669076685452639305742489995260882297230477860654420722178379878039376972782491056095873084687867359195501275808743800762618159204019172541592241774713115720250880181780219890862186725798045059381950562812493652811792337356528649623966934798535998126468757441027594677970268212841553713942542261090216959662888127451511960698580703602033674870259227789564645641119484606101978941350941734755394345945538767242238735685850303318724360728681004893566911464881217275799146902406508526877160876252710797121516053059609274573274984901982699895524395395401171342559716204392165050788591096963299820204866509999634418395968913784524060415761397837479612897830899171161780658646324092176272377250198743840745068166359724190152555182074512158860338598292851312846683975173850417931789398925845863348470596202331957825884435262458743451553907179797405019339312069928446207955246566193433626882689690092255372353338736127395921543212201756025456807784277886349199991521484687954355868825851061321356783678780444962197706414107266845408692740151591364658237318010738880557266930788019666708546637963923541559439605832072225121012640833883848606961416360106425200236770986242237764051279983348376448363066326470908350070273039484448342802356682835981527986822990879410067116539584628793911551140575494498355051604948250602442198665121354620314772872639861948905628830660387146061934225526453910281489278389050554903946014326342059431984465388112650722376979571613678732530102460542086906530586845535908424581129090880728091707173416507150116608207662678318576473019059710375320334289411842506826445039372664069834007276107202167550112043495823256408922608337523863979120624367141101089247576507288842076 309634015647542948027629019358871496160353847543590497673486569768237433859650875507127597988429465350189374454624793678721005792142485374706939258785410414332220103437429148293844550881239647943751377916645451336324672443108761076482109965331303877270704227300446387032296771405900427226626608454563468542146239822019734613574830453589107850081462027853677259399664285261132142461201995559957959757322015768390757926888649023086034308957198181597433231482625199100274243615007439543358978145344952932591137775647787039988280581338769793184162023414547715432008368636672557107413944540677889362395062326689091574400950016949865942654639643449110464315053184918990601982017032255628927936152242297586300246566742157868030918855743630935454257638265734030408992852763104125031917104027736036653270344812662177088319971849505080097437304086768469539663810503185511165800809625588659521646728524744951879698223768503200096548372467153984883769637479775887590149838816586738429916938477427311524893537479916284021960343304323087771714074053474218103241031549282275419344297435968718163167937971562400603722704418490157605634801872732087206734528044944824345950806474188409592171168744214813608774595625109022135329786086005828627293504844377855406226074512793054687953820014421532434321414535582926048534985071101626092899710904467807895023223693894295651355646673273736297071315747576259029755907429014737206344577082155942128857868963629142837452522316592524397157158381374624517229442318589281468425882809305463345555466912047348881015228680887867842417541206465535262473692489548032001041706696724196044906135032364583568353525252367596082592729574004586964913356516487763897603602042526098758057980618171677491273320099649692491669019058682210070179521165068621453855232244265683349241347109940146921893372514018821118225689151930009834405547140414567899970632956963840171300338666151698361550635372489430819804319714455077117336914785970469368866609052935445626719238489913482235972962765411492171846961272125913118949032103973704527103986646571648189610054754751628413676342834584581950001159477539475942713317574615922226707531825681703136820217838137438670262126681375882078565730550905834028386817133310830237374752994607052564384178305487559910804091138481616520525300095863982374513297368718596663242170057212492139786704916885367180328515714749312224338453882129776835455244926679809501618909966574558731777679695282527999842131472517000896324072163481073891898907247774384432946423035419470133568600718859497846199413720675373064390793912362450320714281971388484199454642689361946100842871106521297810774055204960564080308347234346091381065680210919264860915844589263614489478465399133751159474269232501380656478751449924712179983664643441290432190270632063027239128106205371601098916628318132588599193578799079560315483810842067919341448796032973205101728814281423148248747123416975491264674535264587296136918464182957706766012270822051706514447318884003349493111817072064401016047875129255867483562414729291203366903010870436225771594135988393831452362591384290185365578963894259719027301321919485903170181016033758984812257496990544390749588092333333203 500998361390841271761412200035666083663921550138454641668354055347133590141102657442046768277048218328082739253302842224953798172647705163080682410816961263788480225259651393100972895521494002636258963447799837304229469167032081660874170211937603449940883677298933180909777386636243809411866416976778641115893321931993413300916778368847463406569713390375658085470277775575142927402043253421875997374023812369340864211411238744203899577480628707214866124709454958035263186145565144361451303387590828325427808348156444920280487357779747426443693156738502122893459030410604822164872815005374631072505943206417611119270109667131121265723250040349955781783805442857546783948126725099998285999008368511566364140523252326293748103882646539083975032247635870015338962418359197480522956264152593611770420984980672275565336757126498137502849643119340273940113087041270728969068075363717723182395501289041770372621411240948506123578536736786481779206849311882311479480871794554195897786858606716057723285155194794022621863791418299488866431523898803365418472554486806728992592995714523418269101715883303606621715125713105821298520948696854477449089014543011664731562200596454941623510532152504977231564918289466419908904924393608793129985967947590390962997725861447789328884638890857191923047906646002352104425642270820321676436379769440814546712235360614984331323114692944910852505441884634598976411441251177515893918318171496187823584407238480862065406392314914793616208573955698569461898519004041920774168372804566345642785944772701769603193608558927244815200032262561408347161559848743533276850450497486814204110154204906175810128238368087846962774509793895449151639154561547145848166414536178910550395337146821301458208118635647818960426460086276888040447734006622335396397493334482643012129474561452107620474076116052495988484916941494655475525031746516546841321574691719234517245877433393937097236485675808155180533000719348644028801796003246268515769015561462322787595491200710603752026022374686065446831863254825808643344427505145047086820191038736698978201151718051448618542852834219000345970073262063536358474715412095535124538430996843483795466541930313711047512325425216627146732090275095986583568891645469690575973045845919899248359352155905491700203016984344964991121502427821808258948559827462048217149349854617511479098774845331575135575081908182939107028143974385149188793981054075731044831111722600015539561957581631727991363616160471356765149923224802430675577687692736582139360530302264878826308752310224156083517424459555930331321581932029158867352245894930043639060474761587067113483704990369904772190415311385764317079333476583855432345663559295713223982171060171964559751504883582093961830952068482908643301742329334779296523249272235201983330846126561382290733054455974043297581749672752903372066218661028465944314471229213981275674322486883486591007203331978052194761449759034923249139923377238018513898035796636439296114731364138613045034164419911774074240907952792492723221291636405984091770077407609779839922070580811546105883547830900657897401964048360019372855071096427269139344817742742312092789353557622963932881864131645479997164599622175279 810632377038384219789041219394537579824275397682045139341840625115371024000753532949174366265477683678272113707927635903674803964790190537787621669602371678120700328697080541394817446402733650580010341364445288640554141610140842737356280177268907327211587904599379567942074158042144236638493025431342109658039561754013147914491608822436571256651175418229335344869942060836275069863245248981833957131345828137731622138299887767289933886437826888812299356192080157135537429760572583904810281532935781258018946123804231960268767939118517219627855180153049838325467399047277379272286759546052520434901005533106702693671059684080987208377889683799066246098858627776537385930143757355627213935160610809152664387089994484161779022738390170019429289885901604045747955271122301605554873368180329648423691329793334452653656728976003217600286947206108743479776897544456240134868884989306382704042229813786722252319635009451706220126909203940466662976486791658199069630710611140934327703797084143369248178692674710306643824134722622576638145597952277583521713586036089004411937293150492136432269653854866007225437830131595978904155750569586564655823542587956489077513007070643351215681700896719790840339513914575442044234710479614621757279472791968246369223800374240844016838458905278724357369321181585278152960627341921947769336090673908622441735459054509279982678761366218647149576757632210858006167348680192253100262895253652129952442276202110004902858914631507318013365732337073193979127961322631202242594255613871808988341411684749118484208837239815112657617573469026943609635252338291565277892157194211010249016289237270759378481763620455443045367239367900036116552511078034909745770016578705009308453317764992978949481438735297511452095479144959098110627255171690956850252725578748326361370821671392254542367448630071317106710606093424665309930578886931114741292207648683074688546216099545635458787121048297586000337320433803721146138710789216737884635624614397768414314729690624085987998985140097557618678824526951721762293459609118751613924177685308347167811206472803077032219195668803582295971232739603012301188032986711457351245962822525186932286759768451149717774452106592509225297820826001820611955708778780520813347798840526951812743530461393051611007108122826581511646802523685790633461857196180644880391519911830003618885479762216942315903597622932251331366597856514926024249225980755540546450021689174574271339637276914255991205747632988357661473995388283504567476594940510966572306953337684348959877353029083653929716838180231303395712375844391609188066527866318527838515117450949013214326576096891202582964470516346328397387680710929946813411343770214978084898015649435579049229970282715845121305221300984289299780493779259491476506913915676492415521116758624409529861160661345644396498377990885491971259797460108026259798282071281900617123118519856691692736017613401200443508573176010414513814458641825314650816499979594146062127002186190319559481483303915123567352725024856893739269166765661851575332492136900983206825081451247771877477683819294489349764555432650204738434034990686988166646139662228215262970369591381948745139361122189870746752691955508482 1311630738429225491550453419430203663488196947820499781010194680462504614141856190391221134542525902006354852961230478128628602137437895700868304080419332941909180553956731934495790341924227653216269304812245125944783610777172924398230450389206510777152471581898312748851851544678388046050359442408120750773932883686006561215408387191284034663220888808604993430340219836411417997265288502403709954505369640507072486349711126511493833463918455596027165480901535115170800615906137728266261584920526609583446754471960676880549255296898264646071548336891551961218926429457882201437159574551427151507406948739524313812941169351212108474101139724149022027882664070634084169878270482455625499934168979320719028527613246810455527126621036709103404322133537474061086917689481499086077829632332923260194112314774006728218993486102501355103136590325449017419889984585726969103936960353024105886437731102828492624941046250400212343705445940726948442183336103540510549111582405695130225490655690859426971463847869504329265687926140922065504577121851080948940186140522895733404530288865015554701371369738169613847152955844701800202676699266441042104912557130968153809075207667098292839192233049224768071904432204041861953139634873223414887265440739558637332221526235688633345723097796135916280417227827587630257386269612742269445772470443349436988447694415124264314001876059163558002082199516845456982578789931369768994181213425148317776026683440590866968265306946422111629574306292771763441026480326673123016762628418438154631127356457450888087402445798742357472817605731588351956796812187035098554742607691697824453126443442176935188610001988543290008141749161795485268191665639582055593936431114883919858848654911814280407689557370945330412521939231235986151074989178313292246650218913230969373500296232844362162841524746123813095195523034919320785455610633447661582613782340402309205792093532939572556023606724105741180870321153152365174940506792463006400404640175860091201910220891334689740025007514783623065510687781777530405637887114263798700744368724045046146012358190854525650762048503022582641941306001666548659662748398806992475784393819368670727753301698764860765286777531809136372029911101097807195524600424250211389320844686446851061102882617298543311210125107171546502768304951507598892410417023642693097540869766447515097984254607548517451478679531115190438394741830900075213043207034831271591281133411774589810901594858545983982569363793459714426623918613085935243054282633247548711667483639949227786186105339307810013234262639787233727033957776420768055418773761248571477575592212536080327810281087261107355154885827732092714467014187513802245757007329510691308880186709607543608981475166297939083136173369467197943082236108594270773030163187911694398851962885185791820594215117319687694080127663638395343326016121136492204112753300495881892797441006740178283743220945379252638270022935045337762954382019063333164714535776230585358241733550328932604515647723826897641593632977649386462490458402067835667102569544510763046747152032059317983361231650195147247166519481010224111289106087114257305990957404970527355759723149004912678021225253835350743917291577683761 2122263115467609711339494638824741243312472345502544920352035305577875638142609723340395500808003585684626966669158114032303406102228086238655925750021704620029880882653812475890607788326961303796279646176690414585337752387313767135586730566475418104364059486497692316793925702720532282688852467839462860431972445440019709129899996013720605919872064226834328775210161897247693067128533751385543911636715468644804108488011014278783767350356282484839464837093615272306338045666710312171071866453462390841465700595764908840818023236016781865699403517044601799544393828505159580709446334097479671942307954272631016506612229035293095682479029407948088273981522698410621555808414239811252713869329590129871692914703241294617306149359426879122833612019439078106834872960603800691632703000513252908617803644567341180872650215078504572703423537531557760899666882130183209238805845342330488590479960916615214877260681259851918563832355144667415105159822895198709618742293016836064553194452775002796219642540544214635909512060863544642142722719803358532461899726558984737816467582015507691133641023593035621072590785976297779106832449836027606760736099718924642886588214737741644054873933945944558912243946118617303997374345352838036644544913531526883701445326609929477362561556701414640637786549009172908410346896954664217215108561117258059430183153469633544296680637425382205151658957149056314988746138611562022094444108678800447728468959642700871871124221577929429642940038629844957420154441649304325259356884032309963619468768142200006571611283038557470130435179200615295566432064525326663832634764885908834702142732679447694567091765608998733053508988529695521384744176717616965339706447693588929167301972676807259357170996106242841864617418376195084261702244350004249096902944491979295734871117904236616705208973376195130201906129128343986095386189520378776323905989989085383894338309632485208014810727772403327181207641586956086321079217581679744285040264790257859616224950581958775728023992654881180684189512308729252167931346723382550314668546409353393313823564663657602682981244171826164937912538741269560960850781385518449827030356641893857660040061467216010483061229638401645597327731927099627807480309203030732202668643526973802873846413078691594922217233229998128014415107475193389525872274219823337977932389678277518716869734369765459767382277154047441769761339687415001237292433015586812137731155100949164082241232135460239973775111426448072088097914001369439810530877573758515283974436977633576746063458368391463942951100820018537122746333620812377243485301627567099316090709663485093542136857184152309938119356344078421111854694898443749059168351099725669393778202359043122658211445449013784204441394670451487242862729887853762249537077103588186814373079643810201350455375778665332090578505654523887314585813581244518463911035371777782509920559526596869976479238558780453081778596111055752276768840660888647815531035755824731420368735736519252163997131027742021208946358002506280201759625167729687242435061681411746253572233483307089860838915469489636596931074913660428849723141077801245472637097067198742618730092740386861423160586376025221490669983533192243 3433893853896835202889948058254944906800669293323044701362229986040380252284465913731616635350529487690981819630388592160932008239665981939524229830441037561939061436610544410386398130251188957012548950988935540530121363164486691533817180955681928881516531068396005065645777247398920328739211910247583611205905329126026270345308383205004640583092953035439322205550381733659111064393822253789253866142085109151876594837722140790277600814274738080866630317995150387477138661572848040437333451373989000424912455067725585721367278532915046511770951853936153760763320257963041782146605908648906823449714903012155330319553398386505204156580169132097110301864186769044705725686684722266878213803498569450590721442316488105072833275980463588226237934152976552167921790650085299777710532632846176168811915959341347909091643701181005927806560127857006778319556866715910178342742805695354594476917692019443707502201727510252130907537801085394363547343158998739220167853875422531194778685108465862223191106388413718965175199987004466707647299841654439481402085867081880471220997870880523245835012393331205234919743741820999579309509149102468648865648656849892796695663422404839936894066166995169326984148378322659165950513980226061451531810354271085521033666852845618110708284654497550556918203776836760538667733166567406486660881031560607496418630847884757808610682513484545763153741156665901771971324928542931791088625322103948765504495643083291738839389528524351541272514344922616720861180921975977448276119512450748118250596124599650894659013728837299827603252784932203647523228876712361762387377372577606659155269176121624629755701767597542023061650737691491006652935842357199020933642878808472849026150627588621539764860553477188172277139357607431070412777233528317541343553163405210265108371414137080978868050498122318943297101652163263306880841800153826437906519772329487693100130403165424780570834334496509068362077962740108451496019724374142750685444904966117950818135171473293465468049000169664803749700200090506782573569233837646349015412915133398439459835922854512128333743292674848747579853844742936109620513529784325442302814750461262528387793363165980871248348007170210781969357643028197435003004909627280943591989488213420653934949295695990138233427358337169674517183412426700988418282691243466031075473259444725033814853988977313977218860956685162632208156081518315076450335640050418083729012288512723753893142826994006223956344475219907786514721832614455375053585160207006063995641920617582804532249563707699273956185363459805770849780291397233145298904075388815670793666301876021173869947138271413417293274242171810513826321709085957551304925358429236360702658389068650666267192920615311723287577568039918685185944965996448033022567240291499881213225042528995993171049590895985019784658633318162282657911829702381010668023788672273664402718000533337048260222459504159705720048619046101090039723222679951980980245571532055316778610469286848184768512778751568918850539990980155666664250083569797522909537631225922509300319385515366407844200147119684783844097594394670652961012247164915502778628054472169269974489815889391774101181811629860572234587275110876004 5556156969364444914229442697079686150113141638825589621714265291618255890427075637072012136158533073375608786299546706193235414341894068178180155580462742181968942319264356886277005918578150260808828597165625955115459115551800458669403911522157346985880590554893697382439702950119452611428064378087046471637877774566045979475208379218725246502965017262273650980760543630906804131522356005174797777778800577796680703325733155069061368164631020565706095155088765659783476707239558352608405317827451391266378155663490494562185301768931828377470355370980755560307714086468201362856052242746386495392022857284786346826165627421798299839059198540045198575845709467455327281495098962078130927672828159580462414357019729399690139425339890467349071546172415630274756663610689100469343235633359429077429719603908689089964293916259510500509983665388564539219223748846093387581548651037685083067397652936058922379462408770104049471370156230061778652502981893937929786596168439367259331879561240865019410748928957933601084712047868011349790022561457798013863985593640865209037465452896030936968653416924240855992334527797297358416341598938496255626384756568817439582251637142581580948940100941113885896392324441276469947888325578899488176355267802612404735112179455547588070846211198965197555990325845933447078080063522070703875989592677865555848814001354391352907363150909927968305400113814958086960071067154493813183069430782749213232964602725992610710513750102280970915454383552461678281335363625281773535476396483058081870064892741850901230625011875857297733687964132818943089660941237688426220012137463515493857411908801072324322793533206540756115159726221186528037680019074815986273349326502061778193452600265428799122031549583431014141756775983626154674479477878321790440456107897189560843242532041317595573259471498514073499007781291607292976227989674205214230425762318573076994468712797909988585645062268912395543285604327064537817098941955822494970485169756375810434360122055252241196072992824545984433889712399236034741500580561028899330081461542751832773659487518169731016724536846674912517766383484205670581364311169843892129845107103156386047833424633196881731409236808612427566685374955297062810485218830311675794658131740394456808795708774681733155644591567167802531598519901894377944154965463289369053405649123002552531723723347079436986243233839210073977917421205730077687628073066004895866743443613672917975384059129466463930119586646355858602819746615824814864116037780764579279616357595216381278313022076090737899136464279824307972526625018045522542389377016382770109757011539506267412083995455565727231393598515888934938176403984401300364093709528962030096436591427693788925404366064325507492018962710370172428807695884301795272104317395088068027598122172806194521504966674650351875237138972686169972497643283625529131934824044051446912638560059933918236701698062940158801827215157156842316492063340840628795776607287880048198979205023367436932509909779310940059486348982661946866009708737527210151972692907334255553891618998673497705039062589174420441028669308331081810735388242716748251265151539368012593219908629778635524342398005885793725257258644068247 8990050823261280117119390755334631056913810932148634323076495277658636142711541550803628771509062561066590605929935298354167422581560050117704385410903779743908003755874901296663404048829339217821377548154561495645580478716287150203221092477839275867397121623289702448085480197518372940167276288334630082843783103692072249820516762423729887086057970297712973186310925364565915195916178258964051643920885686948557298163455295859338968978905758646572725473083916047260615368812406393045738769201440391691290610731216080283552580301846874889241307224916909321071034344431243145002658151395293318841737760296941677145719025808303503995639367672142308877709896236500033007181783684345009141476326729031053135799336217504762972701320354055575309480325392182442678454260774400247053768266205605246241635563250036999055937617440516428316543793245571317538780615562003565924291456733039677544315344955502629881664136280356180378907957315456142199846140892677149954450043861898454110564669706727242601855317371652566259912034872478057437322403112237495266071460722745680258463323776554182803665810255446090912078269618296937725850748040964904492033413418710236277915059547421517843006267936283212880540702763935635898402305804960939708165622073697925768779032301165698779130865696515754474194102682693985745813230089477190536870624238473052267444849239149161518045664394473731459141270480859858931395995697425604271694752886697978737460245809284349549903278626632512187968728475078399142516285601259221811595908933806200120661017341501795889638740713157125336940749065022590612889817950050188607389510041122153012681084922696954078495300804082779176810463912677534690615861432015007206992205310534627219603227854050338886892103060619186418896133591057225087256711406639331784009271302399825951613946178398574441309969620833016796109433454870599857069789828031652136945534648060770094599115963334769156479396765421463905363567067172989313118666329965245655930074722493761252495293528545706664121992994210788183589912489742817315069814398675248345494376676150272233495410372681859350467829521523660097620228227141780201877840954169334432659857564418914435626787799177752979757243978823209536043017983494497813490128457592619386647619953815110743745004470671871389071949904337477048781932328595366362437656706755400128878908567727586346577712324393414205104190524372706186073502724045154137963713116422979595755732126396671868526886123472687886464061866263645117541579230280189917701197987770643275258278212799185810562585783790011855321827739630078822306916415278667841293452405198440903423313415527441282031133726979144524667840687699448764498113070358851669019067958198390799094980496344455192597286679637230779596530750288857614752661880749828294671557686587949240823164701802187692554557570635371659895772290848452630409472986006539799958612716325111315356560593270966496924157567099864521875834203257932356215286020792609776022178819935364977589674310215621701022688530879858910026339962817613530259792307324733061510324133256764854211004514039905549239209708859204285126263703001734771747635407632251029893206011537282567709724519170409625524209635746365959844533754944251 14546207792625725031348833452414317207026952570974223944790760569276892033138617187875640907667595634442199392229482004547402836923454118295884540991366521925876946075139258182940409967407489478630206145320187450761039594268087608872625003999996622853277712178183399830525183147637825551595340666421676554481660878258118229295725141642455133589022987559986624167071468995472719327438534264138849421699686264745238001489188450928400337143536779212278820628172681707044092076051964745654144087028891782957668766394706574845737882070778703266711662595897664881378748430899444507858710394141679814233760617581728023971884653230101803834698566212187507453555605703955360288676882646423140069149154888611515550156355946904453112126660244522924381026497807812717435117871463500716397003899565034323671355167158726089020231533700026928826527458634135856758004364408096953505840107770724760611712997891561552261126545050460229850278113545517920852349122786615079741046212301265713442444230947592262012604246329586167344624082740489407227344964570035509130057054363610889295928776672585119772319227179686946904412797415594296142192346979461160118418169987527675860166696690003098791946368877397098776933027205212105846290631383860427884520889876310330503891211756713286849977076895480952030184428528627432823893293611547894412860216916338608116258850593540514425408815304401699764541384295817945891467062851919417454764183669447191970424848535276960260417028728913483103423112027540077423851649226540995347072305416864281990725910083352697120263752589014423070628713197841533702550759187738614827401647504637646870092993723769278401288834010623535291970190133864062728295880506830993480341531812596405413055828119479138008923652644050200560652909574683379761736189284961122224465379199589386794856478219716170014569441119347090295117214746477892833297779502236866367371296966633847089067828761244757742124459034333859448649171394237527130217608285787740626415244478869571686855415583797947860194985818756772617479624888978852056570394959704147675575838218902105007154897890851590367192366368198572615386611711347450783242152124013226562504964667575300483460212432374634711166480787435637102728392938791560623975347287904295181305751694209567552540713245353604544716541471505279580380452230489744306592622170044769182284557690730138878301435671472851191347424363582780163990923929775231825591786182427875462499175740069589843910945252939151816583648512619503720361325846105004781817235768535222554874635808015567088875607859880749754458292019454386794833541433324190383682829421581211013180324955033708694115129182544871756061439203588383702674517054760152033112777487160420895531571924038244118001652743962738271615493460659030043560357765051623566775875081676017268421286874608382214059524245285723535132911263534622602907116269632068931893436760376558227995120653204884733625855630040023323703049360414774672707349361633238571798786107815413176568879333583058633532598310190798969512688945479560396269501044851943213483017040591020408102623512713403254278272298033624726154933011332816582483023650348999281158357550905295160929633148949045149866607641632159685101792399012498 23536258615887005148468224207748948263940763503122858267867255846935528175850158738679269679176658195508789998159417302901570259505014168413588926402270301669784949831014159479603814016236828696451583693474748946406620072984374759075846096477835898720674833801473102278610663345156198491762616954756306637325443981950190479116241904066185020675080957857699597353382394360038634523354712523102901065620571951693795299652643746787739306122442537858851546101256597754304707444864371138699882856230332174648959377125922655129290462372625578155952969820814574202449782775330687652861368545536973133075498377878669701117603679038405307830337933884329816331265501940455393295858666330768149210625481617642568685955692164409216084827980598578499690506823199995160113572132237900963450772165770639569912990730408763088076169151140543357143071251879707174296784979970100519430131564503764438156028342847064182142790681330816410229186070860974063052195263679292229695496256163164167553008900654319504614459563701238733604536117612967464664667367682273004396128515086356569554392100449139302575985037435133037816491067033891233868043095020426064610451583406237912138081756237424616634952636813680311657473729969147741744692937188821367592686511950008256272670244057878985629107942591996706504378531211321418569706523701025084949730841154811660383703699832689675943454479698875431223682654776677804822863058549345021726458936556145170707885094344561309810320307355545995291391840502618476566367934827800217158668214350670482111386927424854493009902493302171548407569462262864124315440577137788803434791157545759799882774078646466232479784134814706314468780654046541597418911741938846000687333737123131032632659055973529476895815755704669386979549043165740604848992900691600454008474650501989212746470424398114744455879410740180107091226648201348492690367569330268518504316831614694617183666944724579526898603855799755323354012738461410516443336274615752986282345319201363332939350709112343654524316978812967560801069537378721669371640209358379396021070214895052377240650308263533449717660195889722232713006839938489230985119993078182560995164822231994214919087000231552387690923724766258846638771410922286058437465475745496914567953371648024678296285717716025475933788491375842756629162384559085110669030278876800169311163466258457725224879147995866265396451614887955486350064426653820385963555499298850855058254907866466261712437831376411839703047710378883148837902905076385194699518433756305865830132914020814752899438193643670761609780119759084465617140457848602858224976281826779651916603638370561149976146262909524016280729279891287832467172630125119003702131845445358811694626552420382699310598939423599969051212024210947887658313019645801451861447432768263966509244451576410569906614081815921095195028683554383075233316589255638608731852049476701669543351681246475851230550013197139887845578883563672707028922635382425848347820964927750778154158553643798680334555286841070657879539028908297173926529293352176676274993341173847785262313628026753308803517482006892829011281196714334551354230659057981250311051563562442577728639357668119454775390817277378525644946326153956749 38082466408512730179817057660163265470967716074097082212658016416212420208988775926554910586844253829950989390388899307448973096428468286709473467393636823595661895906153417662544223983644318175081789838794936397167659667252462367948471100477832521573952545979656502109135846492794024043357957621177983191807104860208308708411967045708640154264103945417686221520453863355511353850793246787241750487320258216439033301141832197716139643265979317071130366729429279461348799520916335884354026943259223957606628143520629229975028344443404281422664632416712239083828531206230132160720078939678652947309258995460397725089488332268507111665036500096517323784821107644410753584535548977191289279774636506254084236112048111313669196954640843101424071533321007807877548690003701401679847776065335673893584345897567489177096400684840570285969598710513843031054789344378197472935971672274489198767741340738625734403917226381276640079464184406491983904544386465907309436542468464429880995453131601911766627063810030824900949160200353456871892012332252308513526185569449967458850320877121724422348304264614819984720903864449485530010235441999887224728869753393765587998248452927427715426899005691077410434406757174359847590983568572681795477207401826318586776561455814592272479085019487477658534562959739948851393599817312572979362591058071150268499962550426230190368863295003277130988224039072495750714330121401264439181223120225592362678309942879838270070737336084459478394814952530158553990219584054341212505740519767534764102112837508207190130166245891185971478198175460705658017991336325527418262192805050397446752867072370235510881072968825329849760750844180405660147207622445676994167675268935727438045714884093008614904739408348719587540201952740423984610729089976561576232940029701578599541326902617830914470448851859527197386343862947826385523665348832505384871688128581328464272734773485824284640728314834089182802661909855648043573553882901540726908760563680232904626206124696141602384511964631724333418549162267700521428210604318083543696646053113954482247805206154385040084852562257920805328393451649836681768362145202195787557669786899569515402547212663927022402090205553694483741499803861077619061440823033401209749259123342234245848826430961379080478505032847348036209542836789574854975622901046844938493448023949187864103180583667339116587799039251538266514055350583595617789147285481278730520754083606535851556348776629350991519631358891502652558264230922490199481335669524841088385007549828830319988313801503551511364238411778538852411973999281927048608659111248360862929783963325594858670261392092068888036790719094876216169847147179879155735244622932519232590158124344420943428600592167562707322827517671606917701873377410853075428223307849939983777665738451018952120673606061206818730161594817917697836223705525270677663745486237078227771346801899680735964175868827179911169281932924087481701629984744059086919619751035566191330727432977381738968087885151261456849051717853776734322798794397028619488476358214438805670416251539466712057795754304926453737436129725667367936713682708330249592209921113347872889568990817068499925257424919010685330048118552969247 61618725024399735328285281867912213734908479577219940480525272263147948384838934665234180266020912025459779388548316610350543355933482455123062393795907125265446845737167577142148037999881146871533373532269685343574279740236837127024317196955668420294627379781129604387746509837950222535120574575934289829132548842158499187528208949774825174939184903275385818873836257715549988374147959310344651552940830168132828600794475944503878949388421854929981912830685877215653506965780707023053909799489556132255587520646551885104318806816029859578617602237526813286278313981560819813581447485215626080384757373339067426207092011306912419495374433980847140116086609584866146880394215307959438490400118123896652922067740275722885281782621441679923762040144207803037662262135939302643298548231106313463497336627976252265172569835981113643112669962393550205351574324348297992366103236778253636923769683585689916546707907712093050308650255267466046956739650145199539132038724627594048548462032256231271241523373732063634553696317966424336556679699934581517922314084536324028404712977570863724924289302049953022537394931483376763878278537020313289339321336800003500136330209164852332061851642504757722091880487143507589335676505761503163069893913776326843049231699872471258108192962079474365038941490951270269963306341013598064312321899225961928883666250258919866312317774702152562211906693849173555537193179950609460907682056781737533386195037224399579881057643440005473686206793032777030556587518882141429664408734118205246213499764933061683140068739193357519885767637723569782333431913463316221696983962596157246635641151016701743360857103640036164229531498226947257566119364384522994855009006058858470678373940066538091800555164053388974519750995906164589459721990668162030241414680203567812287797327015945658926328262599707304477570511149174878214032918162773903376004960196023081456401718210403811539332170633844506156674648317058560016890157517293713191105882881596237565556833808485256908828943444691894219618699646422190799850813676462939717716268009006859488455514417918489802512758147643038041400291588325912753482138280378348552834609131563730321634212895479410093013930319953330380271214783363677498906298778898124317212494990258924145112148677404556412293524223190792838705221348659965644653179923645107804611490207645589328059731663205381984250654139493752864119777237416003752702784780129585579008991473002113268786608005762831222679069270385801396167135998875394180854103281146954215140463849645072887751995147222272974018531537623318029114457130529906833635393075140514846387601696156008646407655001592904317519998986164048637019777304998159437376468377878044284784676764803642739199531591162676374039541882554805360186397056654527289670740618203950286910190027429522027287687877127913925190278372300773069540294780909286395597535713779897314698483146156587194725882024319799014860816487760188730552620126484935267440715963316969484885986621180419302643171992332114728590746762073908249328087749205295763469699388286590932729879566220020861313236311819282748717326440001919290944341766311499903261484675790450618208348485187954700648242196389210974994444706925996 99701191432912465508102339528075479205876195651317022693183288679360368593827710591789090852865165855410768778937215917799516452361950741832535861189543948861108741643320994804692261983525465046615163371064621740741939407489299494972788297433500941868579925760786106496882356330744246578478532197112273020939653702366807895940175995483465329203288848693072040394290121071061342224941206097586402040261088384571861901936308142220018592654401172001112279560115156677002306486697042907407936742748780089862215664167181115079347151259434141001282234654239052370106845187790951974301526424894279027694016368799465151296580343575419531160410934077364463900907717229276900464929764285150727770174754630150737158179788387036554478737262284781347833573465215610915210952139640704323146324296441987357081682525543741442268970520821683929082268672907393236406363668726495465302074909052742835691511024324315650950625134093369690388114439673958030861284036611106848568581193092023929543915163858143037868587183762888535502856518319881208448692032186890031448499653986291487255033854692588147272593566664773007258298795932862293888513979020200514068191090193769088134578662092280047488750648195835132526287244317867436926660074334184958547101315602645429825793155687063530587277981566952023573504450691219121356906158326171043674912957297112197383628800685150056681181069705429693200130732921669306251523301351873900088905177007329896064504980104237849951794979524464952081021745562935584546807102936482642170149253885740010315612602441268873270234985084543491363965813184275440351423249788843639959176767646554693388508223386937254241930072465366013990282342407352917713326986830199989022684274994585908724088824159546706705294572402108562059952948646588574070451080644723606474354709905146411829124229633776573396777114459234501863914374097001263737698266995279288247693088777351545729136491696228096180060485467933688959336558172706603590444040418834440099866446561829142191762958504626859293340908076416227638167861914122712228061417994546483414362321122961341736260720572303529887365320405563843369793743238162594521844283482574136110504396031133245724181425559406432495104135873647814121771018644441296560347121812299334066471618332493169993938579638783636890798557070538829048248058138234820620276080970490046298059514156833453431240315330544498572049693391032019378175127821011621541850070261408316099763075079537964825135384635113822742310428161888453954431366921365593662189772805988042600148013678475392876065796650773784338256943316162170441088456412456955442294504323501377776171565021750867316669047093661792354310718081040264806866924484877315172621091310397276874942801109224586167800123758725383696867059554161723062059774467507602717894048468143934064575928478448474147961293938334732655351873190218470905764000306179964059343021950858125086045285045837323158901750851499710184142749411847670432182604870544022187060466998883160815613419598562158270731057143593571577642464615850642572126882146233915251946057602725396603146131105686732919108990616745736486153456165669287227658024474641749495471405789138323507777339302256454625905667115399896305042563259895243 161319916457312200836387621395987692940784675228536963173708560942508316978666645257023271118886077880870548167485532528150059808295433196955598254985451074126555587380488571946840299983406611918148536903334307084316219147726136621997105494389169362163207305541915710884628866168694469113599106773046562850072202544525307083468384945258290504142473751968457859268126378786611330599089165407931053593201918552704690502730784086723897542042823026931094192390801033892655813452477749930461846542238336222117803184813733000183665958075464000579899836891765865656385159169351771787882973910109905108078773742138532577503672354882331950655785368058211604016994326814143047345323979593110166260574872754047390080247528662759439760519883726461271595613609423413952873214275580006966444872527548300820579019153519993707441540356802797572194938635300943441757937993074793457668178145830996472615280707910005567497333041805462740696764694941424077818023686756306387700619917719617978092377196114374309110110557494952170056552836286305545005371732121471549370813738522615515659746832263451872196882868714726029795693727416239057766792516040513803407512426993772588270908871257132379550602290700592854618167731461375026262336580095688121616995229378972272875024855559534788695470943646426388612445941642489391320212499339769107987234856523074126267295050944069922993498844407582255412037426770842861788716481302483360996587233789067429450700017328637429832852622964470425767228538595712615103394621818624071834557988003945256529112367374330556410303724277901011249733450907845222684855163252159861656160730242711940024149374403638997602787176105402178219813840634300175279446351214722983877693281053444379402462764226084798505849736455497536579703944552753163530173071312885636715769390108714224116921556649722232323105377058941806341484885246176141951731185158053191623698048973374627185538209906631907719392656101778195116011206489765163607334197936128153290972329443425379757319792313112116202169851521108121857786561560544903027912231671009423132078589131968201224716234990222019689878078553206881411194034826488507275326421762952484663339005162696976045815638454885842588118066193601144502042233427804974059253420591197458383684113322752094139050728316188193303092081293729621886953279486894786264929260894135154102671004364479042759300046993749880556300347530525772242294905058427625294552855041537901678772066552540078093921992640876653964989497432274255350598502920240987843043876087134996815288477528120465763817791797996057312275474853785488470202913542986862275929897398641892622559166717906875963076702095254696671830717067204313443886701789875474609997559688275321159727477874028228906999655349888060070906601436716528422246171524162130007564789086347884351486118505877996175248981815462646580542151562519243975304295087089250454940557664638022400743768191993910353627632875819509199003565899607859162735224997028957454501182962200130300499406219742577573374229135925686306233211377924550821454969895439211015415756991011987535876010671906753780422226928565019234870782605671206518602366240953249398732890464928774125985687787444409326553909311789107280037007966821239 261021107890224666344489960924063172146660870879853985866891849621868685572494355848812361971751243736281316946422748445949576260657383938788134116174995022987664329023809566751532561966932076964763700274398928825058158555215436116969893791822670304031787231302701817381511222499438715692077638970158835871011856246892114979408560940741755833345762600661529899662416499857672672824030371505517455633463006937276552404667092228943916134697224198932206471950916190569658119939174792837869783284987116311980018848980914115263013109334898141581182071546004918026492004357142723762184500335004184135772790110937997728800252698457751481816196302135576067917902044043419947810253743878260894030749627384198127238427317049795994239257146011242619429187074639024868084166415220711289591196823990288177660701679063735149710510877624481501277207308208336678164301661801288922970253054883739308306791732234321218447958175898832431084879134615382108679307723367413236269201110811641907636292359972517346978697741257840705559409354606186753454063764308361580819313392508907002914780686956040019469476435379499037053992523349101351655306495060714317475703517187541676405487533349412427039352938896427987144454975779242463188996654429873080164096544981617702700818011246598319282748925213378412185950392333708512677118657665940151662147813820186323650923851629219979674679914113011948612168159692512168040239782654357261085492410796397325515204997432875279784647602488935377848250284158648199650201724755106714004707241889685266844724969815599429680538709362444502613699264092120663036278413041003501615337497889266633412657597790576251844717248570768192210096183041653092992773338044922972900377556048030288126551588385631505211144308857606098639656893199341737600624151957609243190124100013860635946045786283498805719882491518176308205399259343177405689429452153332479871391137750726172914674701602860003899453141569711884075347764662471767197778238354962593390838776005254521949082750817738975495510759597524349495954423474667615255973649665555906546440910254929542960976955562525549577243398958770724780987778064651101797170705245526620773843401193830221769997064014292275083222202067248958623813252072246270619600542403496792450155731655245264132989307954971830193890638364268450935201337625129606885205341864625200400730518521312496190540362324294379128350040921557791620470032879439246836402925302946217778535141632078042919057377275990476707299925594162709305029869841606581505233648893123039415436491206595858639883588448769841650532418169947658911291369955443817718224401722143270398730731739657743279745749188916489026141435148244578250753626274752789782618650998672598034670278983252815074799779108613443767773660990878251484305945991669732725458837554491818416062046984326470323210275753797379235894024752737714881068295393269214514283579615496147486789053237831233512529383727319219383146315311455529594917829867572979641561649961083291116112825818304735844105286279519257883875675993775193393581852041673126267361814593737384139022141777593486699531217545310755721024238771340493746260390715594998894204296254067097633763027089700863952459576427189003585079571226716482 422341024347536867180877582320050865087445546108390949040600410564377002551161001105835633090637321617151865113908280974099636068952817135743732371160446097114219916404298138698372861950338688882912237177733235909374377702941572738966999286211839666194994536844617528266140088668133184805676745743205398721084058791417422062876945886000046337488236352629987758930542878644284003423119536913448509226664925489981242907397876315667813676740047225863300664341717224462313933391652542768331629827225452534097822033794647115446679067410362142161081908437770783682877163526494495550067474245114089243851563853076530306303925053340083432471981670193787671934896370857562995155577723471371060291324500138245517318674845712555433999777029737703891024800684062438820957380690800718256036069351538588998239720832583728857152051234427279073472145943509280119922239654876082380638431200714735780922072440144326785945291217704295171781643829556806186497331410123719623969821028531259885728669556086891656088808298752792875615962190892492298459435496429833130190127131031522518574527519219491891666359304094225066849686250765340409422099011101228120883215944181314264676396404606544806589955229597020841762622707240617489451333234525561201781091774360589975575842866806133107978219868859804800798396333976197903997331157005709259649382670343260449918218902573289902668178758520594204024205586463355029828956263956840622082079644585464754965905014761512709617500225453405803615478822754360814753596346573730785839265229893630523373837337189929986090842433640345513863432714999965885721133576293163363271498228131978573436806972194215249447504424676170370429910023675953268272219689259645956778070837101474667529014352611716303716994045313103635219360837752094901130797223270494879905893490122574860062967342933221038042987868577118114546884144589353547641160637311385671495089186724100800100212911509491911618845797671490079191358971152236930805112436291090746681811105448679901706402543130851091697680611118632471353740985035212518283885881336565329678519499386897744185693190552747569267121477511977606192181812891139609072497127008479105437182406356527197815812702469178117671340268260850103125855485500051244678853962994694250833839844977997358272040036271160023496982719657998072822154617112024393150134602758760354503401522885791538949840409318044259684650388452083563862764937937866872130955780344484119457307208184618121012979369916867130672289423026436964655628372761847569348277524980258036230724968734716324403701380246765898962807893023733147381494283498430679994154299120785163021289898457564619242822451284171185697972152215448891694640328064628264392616210686947919194397756857281043981799434458501503838680262427594779906552117515831862733023626640839702767548165490204466498459257569260025816436176315256958856372590480358464969224137280134169887532821429825143866157016603138728582149881211063388757653054864601937096062832923283421416612232038047313417479515415444944190108887371699744215036821937112337282777571584749371674898152449500240479953444473875774955895021377011700264862756956548248292937186718995871759748714877145273279013485738978110865116579193537721 683362132237761533525367543244114037234106416988244934907492260186245688123655356954647995062388565353433182060331029420049212329610201074531866487335441120101884245428107705449905423917270765847675937452132164734432536258157008855936893078034509970226781768147319345647651311167571900497754384713364234592095915038309537042285506826741802170833998953291517658592959378501956676247149908418965964860127932427257795312064968544611729811437271424795507136292633415031972053330827335606201413112212568846077840882775561230709692176745260283742263979983775701709369167883637219312251974580118273379624353964014528035104177751797834914288177972329363739852798414900982942965831467349631954322074127522443644557102162762351428239034175748946510453987758701463689041547106021429545627266175528877175900422511647464006862562112051760574749353251717616798086541316677371303608684255598475089228864172378648004393249393603127602866522964172188295176639133491132860239022139342901793364961916059409003067506040010633581175371545498679051913499260738194711009440523540429521489308206175531911135835739473724103903678774114441761077405506161942438358919461368855941081883937955957233629308168493448828907077683019859952640329888955434281945188319342207678276660878052731427260968794073183212984346726309906416674449814671649411311530484163446773569142754202509882342858672633606152636373746155867197869196046611197883167572055381862080481110012194387989402147827942341181463729106913009014403798071328837499843972471783315790218562307005529415771381143002790016477131979092086548757411989334166864886835726021245206849464569984791501292221673246938562640006206717606361264993027304568929678448393149504955655565940997347808928138354170709733859017730951436638731421375228104123096017590136435496009013129216719843762870360095294422752283403932530953330590089464718151366480324474826973014887613112351915518298939241201963266706735814708698002890674646053340072649881453934423655485293948590067193191370716156820849695408509880133539859531002121236224960409641827287146670146115273118844364876470748330973169590955790710869667832254005726211025807550357419585809766483470392754562470328099061749668737572297515298454505398191043283995576633242622405029344226131853690873358022266523757355954737154000035339944623385554904132041407104035140380771642338638813000429373641355483234970817306118967358705647430337235842349816696163932036747192857607379589348620599673960658242603454150853511173873381075646161459941312183043584968695535740613340311193680806292785653453874497712378700842928433420020630197222362522568200473087674724113587363693469945393954339381054175234861685620517229068035840533859056599213567114947606453923418473031390858063507501595458482464195331521183610212474530936821669533323057405052330201067994673737440885873627679483507716895630317374321874667656377378686400330457947965296196522518918352570884732174916737624482884366712532725057856352049261584801694964202073984563365474937608618673978785463550139386178486755813920294227093727179484662019186530676919260148352194011123147672143247187141482973062969393511741966846137231473062166167114450196150420254203 1105703156585298400706245125564164902321551963096635883948092670750622690674816358060483628153025886970585047174239310394148848398563018210275598858495887217216104161832405844148278285867609454730588174629865400643806913961098581594903892364246349636421776304991936873913791399835705085303431130456569633313179973829726959105162452712741848508322235305921505417523502257146240679670269445332414474086792857917239038219462844860279543488177318650658807800634350639494285986722479878374533042939438021380175662916570208346156371244155622425903345888421546485392246331410131714862319448825232362623475917817091058341408102805137918346760159642523151411787694785758545938121409190821003014613398627660689161875777008474906862238811205486650401478788442763902509998927796822147801663335527067466174140143344231192864014613346479039648221499195226896918008780971553453684247115456313210870150936612522974790338540611307422774648166793728994481673970543614852484208843167874161679093631472146300659156314338763426456791333736391171350372934757168027841199567654571952040063835725395023802802195043567949170753365024879782170499504517263170559242135405550170205758280342562502040219263398090469670669700390260477442091663123480995483726280093702797653852503744858864535239188662932988013782743060286104320671780971677358670960913154506707223487361656775799785011037431154200356660579332619222227698152310568038505249651699967326835447015026955900699019648053395746985079207929667369829157394417902568285683237701676946313592399644195459401862223576643135530340564694092052434478545565627330228158333954153223780286271542179006750739726097923108933069916230393559629537212716564214886456519230250979623184580293609064112645132399483813369078378568703531539862218598498599003001911080259010356071980472149940881805858228672412537299167548521884500971750726776103822861569511198927773115100524621843827137144736912692042458065706966945628808003110937144086754460986902614325361887837079441158890871981834789292203436393545092651823745412338686565903479909028725031332363336668020688111486353982725937165351403846930319942164959262484831648208213906884617401622468952648510425902738588949164875524223072348759977308468392885294117835421611239980677069380497291877187856077680264596579510571849178393185474547382145909407533564292895574090221180960382898497650817825724919345999908755172991098314485991914456693149558001314284945016117109724738051878771647036638616286615365301720201788698853639111876886428676028507447286348942301639576148204217413953674279936952305177706532999963713596441310528654786981765390651757258860422085739579142361640034282404009318567851072372568436423465792697814903038398648025616451445134185846067811297410181023333458191506090836171223951158377964735403320128790892317430868766377383251632593813476353986144452731854175764487261854696097481521244843416933596676547446077733582307110223939596776853833687315807650133949337289894399362679064317110409146264093450737174681823655495915897800832916957763236127488818446676593967659438106493062305632814281525363894275985904628691495480078669692058841153260456843991410510486547905145225315312729613791924 1789065288823059934231612668808278939555658380084880818855584930936868378798471715015131623215414452324018229234570339814198060728173219284807465345831328337317988407260513549598183709784880220578264112081997565378239450219255590450840785442280859606648558073139256219561442711003276985801185515169933867905275888868036496147447959539483650679156234259213023076116461635648197355917419353751380438946920790344496833531527813404891273299614590075454314936926984054526258040053307213980734456051650590226253503799345769576866063420900882709645609868405322187101615499293768934174571423405350636003100271781105586376512280556935753261048337614852515151640493200659528881087240658170634968935472755183132806432879171237258290477845381235596911932776201465366199040474902843577347290601702596343350040565855878656870877175458530800222970852446944513716095322288230824987855799711911685959379800784901622794731790004910550377514689757901182776850609677105985344447865307217063472458593388205709662223820378774060037966705281889850402286434017906222552209008178112381561553143931570555713938030783041673274657043798994223931576910023425112997601054866919026146840164280518459273848571566583918499576778073280337394731993012436429765671468413045005332129164622911595962500157457006171226767089786596010737346230786349008082272443638670153997056504410978309667353896103787806509296953078775089425567348357179236388417223755349188915928125039150288688421795881338088166542937036580378843561192489231405785527210173460262103810961951200988817633604719645925546817696673184138983235957554961497093045169680174468987135736112163798252031947771170047495709922437111165990802205743868783816134967623400484578840146234606411921573270753654523102937396299654968178593639973726703126097928670395445852080993601366660725568728588767706960051450952454415454302340816240821974228049835673754746129988137734195742655443676153894005724772442781654326810893785583197426827110868356548749017373131028031226084063352550946113053131802054972785363604943340807802128440318670552318479033482783293806955851230453474268138520994802721030811832791516490557859234021457242036987432235436118903180465208917048226625192960644646275275762973791076337401830998244482603082098724723423730878729435702531120336866526586332393220814492005531464311665605699999609230601952602721537310651247199366274829234879572479110065673191639344793928991907818010448877052864302582345431468120267636312576944857968755871055299872727020187523047888617340690490871317637837380189488515411094759967065590406179675418911700806642029861331158852009344287958852230346535146199326942835831585428236743390372743085934058188953652533828538348762094997861592731399051588109264540842688268244530835053649988555031502745134768590439266340141798324215374835921096578451246306331254362227613823936239571071394804636176570765137898623529817264054624512742274256101225462794824328951770571311798692016846482062347750751411940649118805373348338078014102649619432274169894683264383056343941722883302738740903687694838922768512248836309733541673716088287109052300834742667220152665121810546772198810837547741959610071312339765508880034046127 2894768445408358334937857794372443841877210343181516702803677601687491069473288073075615251368440339294603276408809650208346909126736237495083064204327215554534092569092919393746461995652489675308852286711862966022046364180354172045744677806527209243070334378131193093475234110838982071104616645626503501218455862697763455252610412252225499187478469565134528493639963892794438035587688799083794913033713648261735871750990658265170816787791908726113122737561334694020544026775787092355267498991088611606429166715915977923022434665056505135548955756826868672493861830703900649036890872230582998626576189598196644717920383362073671607808497257375666563428187986418074819208649848991637983548871382843821968308656179712165152716656586722247313411564644229268709039402699665725148953937229663809524180709200109849734891788805009839871192351642171410634104103259784278672102915168224896829530737397424597585070330616217973152162856551630177258524580220720837828656708475091225151552224860352010321380134717537486494758039018281021752659368775074250393408575832684333601616979656965579516740225826609622445410408823874006102076414540688283556843190272469196352598444623080961314067834964674388170246478463540814836823656135917425249397748506747802985981668367770460497739346119939159240549832846882115058018011758026366753233356793176861220543866067754109452364933534942006865957532411394311653265500667747274893666875455316515751375140066106189387441443934733835151622144966247748672718586907133974071210447875137208417403361595396448219495828296289061077158261367276191417714503120588827321203503634327692767422007654342805002771673869093156428779838667504725620339418460432998702591486853651464202024726528215476034218403153138336472015774868358499718455858572225302129099839750654456208152974073516601607374586817440119497350618500976299955274091543016925797089619346872682519245088662356039569792588413066586048182838149748599955618896896520341513581571855259163074379260968107472384974935334385735405256568195600065437187350355679494368031920227699277349811396819451314495067337584436200205303872398649651350753997750778975389507442235364126654389054704388767413606367947505997391500717183716995035253071442183961631519666419855722583759168105220715608066585513382795716916377098435510786406289039387677373719199169992895183320823133563104435808302065025091194175234788327652101163987677631259250622141465819324733822068981412307083483346891914672951193231473334057591257088571580659299399934317293369197938157666580139019765636719628508713641345527358484853125444700770355626302641687506796326053349503987605395568285066521978193225462519147399691310937006430757390075999621236163665133396509618347850496722295110608653985678425554168511841494645867673969085926968404001743461927115107692266789862955834497938925067838581599968388971425247159291898031266862619419868373234197651301060188351989683532573018763925728624404999114499666980431399637645150774619713435915782494602171464839824301255929665810581065215973301704959010791557187580281662498360875005311141942547823199079982563094956929526238147298822357180651700032655654828958252446157976457565080821609647838051 4683833734231418269169470463180722781432868723266397521659262532624359448271759788090746874583854791618621505643379990022544969854909456779890529550158543891852080976353432943344645705437369895887116398793860531400285814399609762496585463248808068849718892451270449313036676821842259056905802160796437369123731751565799951400058371791709149866634703824347551569756425528442635391505108152835175351980634438606232705282518471670062090087406498801567437674488318748546802066829094306336001955042739201832682670515261747499888498085957387845194565625232190859595477329997669583211462295635933634629676461379302231094432663919009424868856834872228181715068681187077603700295890507162272952484344138026954774741535350949423443194501967957844225344340845694634908079877602509302496244538932260152874221275055988506605768964263540640094163204089115924350199425548015103659958714880136582788910538182326220379802120621128523529677546309531360035375189897826823173104573782308288624010818248557719983603955096311546532724744300170872154945802792980472945617584010796715163170123588536135230678256609651295720067452622868230033653324564113396554444245139388222499438608903599420587916406531258306669823256536821152231555649148353855015069216919792808318110832990682056460239503576945330467316922633478125795364242544375374835505800431847015217600370478732419119718829638729813375254485490169401078832849024926511282084099210665704667303265105256478075863239816071923318165082002828127516279779396365379856737658048597470521214323546597437037129433015934986623975958040460330400950460675550324414248673314502161754557743766506603254803621640263203924489761104615891611141624204301782518726454477051948780864872762821887955791673906792859574953171168013467897049498545952005255197768421049902060233967674883262332943315406207826457402069453430715409576432359257747771317669182546437265375076800090235312448032089220480053907610592530254282429790682103538940408682723615711823396634099135503611058998686936681518309699997655038222550955299020302170160360546369829668290430302234608302023188814889674473442393393452372381565830542295465947366676256821368691376486939824886316786833156423045618125910144361641310528834415975037968921497418100205186841266829944139338945314949085326837253243625021843179627103531393208838030864775692894792551425086165825973118953312224457469004469667900131211229660869270604044551133373637335182699121845714889428914815012182309263770176331302813462312388444307679486922982205910709888429028984217976399955125235039603473608411117764664528544356401576997656163972846358805670341308356217951930714484393464814024810890755890790064054022940488946343728533449774512427228394371211079249548310404375149496673946670085003565491483200899176714220695558843268083603725439323067102710959534285744245256322200809213792325210996318554096534207837627757318491903051461705925572930626245784758035813588254680394976310913191683826913461985395902186560362554721155842940249478942473920688203835705264329599029645646681894094295928483969357337283643517559978252281364872796070850204009230360980814518975022302462246804854465666505994405768047769904846330489681884178 7578602179639776604107328257553166623310079066447914224462940134311850517745047861166362125952295130913224782052189640230891878981645694274973593754485759446386173545446352337091107701089859571195968685505723497422332178579963934542330141055335278092789226829401642406511910932681241128010418806422940870342187614263563406652668784043934649054113173389482080063396389421237073427092796951918970265014348086867968577033509129935232906875198407527680560412049653442567346093604881398691269454033827813439111837231177725422910932751013892980743521382059059532089339160701570232248353167866516633256252650977498875812353047281083096476665332129603848278496869173495678519504540356153910936033215520870776743050191530661588595911158554680091538755905489923903617119280302175027645198476161923962398401984256098356340660753068550479965355555731287334984303528807799382332061630048361479618441275579750817964872451237346496681840402861161537293899770118547661001761282257399513775563043108909730304984089813849033027482783318451893907605171568054723339026159843481048764787103245501714747418482436260918165477861446742236135729739104801680111287435411857418852037053526680381901984241495932694840069735000361967068379305284271280264466965426540611304092501358452516957978849696884489707866755480360240853382254302401741588739157225023876438144236546486528572083763173671820241212017901563712732098349692673786175750974665982220418678405171362667463304683750805758469787226969075876188998366303499353927948105923734678938617685141993885256625261312224047701134219407736521818664963796139151735452176948829854521979751420849408257575295509356360353269599772120617231481042664734781221317941330703412982889599291037363990010077059931196046968946036371967615505357118177307384297608171704358268386941748399863940317902223647945954752687954407015364850523902274673568407288529419119784620165462446274882240620502287066102090448742278854238048687578623880453990254578874874897775895067242975996033934021322416923566268193255103659738305654699796538192280774069107018101827121685922797090526399325874678746265792102023732319828293074441336874118492185495345765541644213653730393201103929043009626627328078636345781905858158999600441163837955927770600434935164854947011900462468122554169620723457353966033392570780886211750063945685789975872248219728930408927255377249548663179704456227783312393648546901863295173274839456659916521190827127196512398161904096982214963407804636871053569477015888338786322916523204079086367186650798115419720761954668112187249756645123149381669801102347353282466614533865601996394657860205557326282769459986792218036353275038189755364959946919703733804533071010676092361790880829427100045032699485758150659625095639172077332977846766850683306622527247269827065652554430759369500822490120242184181390039390813760714182421565713388432239104490376738360276285659357226633118978235468290608832352180409019381310027691350807344861623041052961180075990636938337542420943782298221944133501515845394815002947351640904885853116064251019835644518522871120194829188071876053413298966159887218961817797379483113946837510120495464246851926024227469927152099329722229 12262435913871194873276798720733889404742947789714311746122202666936209966016807649257109000536149922531846287695569630253436848836555151054864123304644303338238254521799785280435753406527229467083085084299584028822617992979573697038915604304143346942508119280672091719548587754523500184916220967219378239465919365829363358052727155835643798920747877213829631633152814949679708818597905104754145616994982525474201282316027601605294996962604906329247998086537972191114148160433975705027271409076567015271794507746439472922799430836971280825938087007291250391684816490699239815459815463502450267885929112356801106906785711200092521345522167001832029993565550360573282219800430863316183888517559658897731517791726881611012039105660522637935764100246335618538525199157904684330141443015094184115272623259312086862946429717332091120059518759820403259334502954355814485992020344928498062407351813762077038344674571858475020211517949170692897329274960016374484174865856039707802399573861357467450288588044910160579560207527618622766062550974361035196284643743854277763927957226834037849978096739045912213885545314069610466169383063668915076665731680551245641351475662430279802489900648027191001509892991537183119299934954432625135279536182346333419622203334349134573418218353273829820175183678113838366648746496846777116424244957656870891655744607025218947691802592812401633616466503391733113810931198717600297457835073876647925085981670276619145539167923566877681787952308971904003705278145699864733784685763972332149459832008688591322293754694328159034325110177448196852219615424471689476149700850263332016276537495187356011512378917149619564277759360876736508842622666869036563740044395807755361763754472053859251945801750966724055621922117204385435512554855664129312639495376592754260328620909423283126273261217629855772412154757407837730774426956261532421339724957711965557049995242262536510194688652591507546155998059334809108520478478260727419394398937302490586721172529166378479607092932708259098441875968190910141882289260953720098708352641320438936686392257423920531099113715214215549152188659185554396113885658835369907284240794749006864037142028584038540047180034260352088627752537472440277656310740274134037569362661256056132957441701765108994285957215411553449391422864348479197145660496102174095049780928721378684768423673305894756382046208689474006132184174124127914523623309416172467339724408213093995099220312672842085941312976916279291478733584135939684515881865460196018273245898729114788974796215635016091819675887189707715660858167762887813910214157503924350938630587380224407666735966216423509256997253853451606242847244030928979819418982887408650077533066520785188519590185252040506349593343103860907647333571765724175642824461047666027397527318086090537910669377993753826472211782024405986429437712240200027553039393417884267484966446942118134056852179337121063152206049604481253048644645940435089414357620940883034634258323608436955147740438545358094180482670422724772142632337337221109724414032592998322798980149044548220377172928162040431098447110552944672124263502975390248199776336772401785576193642364586161970241257694071997374773482589011606407 19841038093510971477384126978287056028053026856162225970585142801248060483761855510423471126488445053445071069747759270484328727818200845329837717059130062784624428067246137617526861107617089038279053769805307526244950171559537631581245745359478625035297346110073734126060498687204741312926639773642319109808106980092926764705395939879578447974861050603311711696549204370916782245690702056673115882009330612342169859349536731540527903837803313856928558498587625633681494254038857103718540863110394828710906344977617198345710363587985173806681608389350309923774155651400810047708168631368966901142181763334299982719138758481175617822187499131435878272062419534068960739304971219470094824550775179768508260841918412272600635016819077318027302856151825542442142318438206859357786641491256108077671025243568185219287090470400641600024874315551690594318806483163613868324081974976859542025793089341827856309547023095821516893358352031854434623174730134922145176627138297107316175136904466377180593572134724009612587690310937074659970156145929089919623669903697758812692744330079539564725515221482173132051023175516352702305112802773716756777019115963103060203512715956960184391884889523123696349962726537545086368314259716896415544003147772874030926295835707587090376197202970714309883050433594198607502128751149178858012984114881894768093888843571705476263886355986073453857678521293296826543029548410274083633586048542630145504660075447981813002472607317683440257739535940979879894276512003364087712633869896066828398449693830585207550379955640383082026244396855933374038280388267828627885153027212161870798517246608205419769954212658975924631028960648857126074103709533771344961362337138458774746644071344896615935811828026655251668891063240757403128060212782306620023792984764458618597007851171682990213579119853503718366907445362244746139277480163807094908132246241384676834615407724982785076929273093794612258088508077087962758527165839351299848389191881365461618948424233621455603126866729581515365442236384165245542027566608419895246544922094508043704494084545606453896204241613541423830934924977656419846205487128444348621114913241192359382907570228252193777573235364281131637379164800518914002092646132293037169803825094012060728042136700273849232969115874021571945592485071936551111693888672954981261530992667064474744295921525623686790973464066723554795363878580355697836016957963074330634897683052550655015741503499969282453711138820376273693696991940576555569451342476084357059568815252318868061163402285814207239396649144375827848107924408010963291883958606271704221097201914090009663130624076629066583280023313438398460883597305967169574783942834328353811337599591795864611951976132869933449638375803346665797993196861363347720157438894432878080833940613337807737735030548184585841712604514526228613619102279590841313753575839449980873398686046608510795212455622780420378839168582716721339253478292615498433738930968574385441603185231478008108920514535995032518025091366507070364576470838736955119229035540349963703866002160612471397008572680563302218641939741016548177676801941550135418738154569781268690140479874706657434488109620096224844700634688341328636 32103474007382166350660925699020945432795974645876537716707345468184270449778663159680580127024594975976917357443328900737765576654755996384701840363774366122862682589045922897962614514144318505362138854104891555067568164539111328620161349663621971977805465390745825845609086441728241497842860740861697349274026345922290122758123095715222246895608927817141343329702019320596491064288607161427261499004313137816371141665564333145822900800408220186176556585125597824795642414472832808745812272186961843982700852724056671268509794424956454632619695396641560315458972142100049863167984094871417169028110875691101089625924469681268139167709666133267908265627969894642242959105402082786278713068334838666239778633645293883612674122479599955963066956398161160980667517596111543687928084506350292192943648502880272082233520187732732720084393075372093853653309437519428354316102319905357604433144903103904894654221594954296537104876301202547331952449690151296629351492994336815118574710765823844630882160179634170192147897838555697426032707120290125115908313647552036576620701556913577414703611960528085345936568489585963168474495866442631833442750796514348701554988378387239986881785537550314697859855718074728205668249214149521550823539330119207450548499170056721663794415556244544130058234111708036974150875247995955974437229072538765659749633450596924423955688948798475087474145024685029940353960747127874381091421122419278070590641745724600958541640530884561122045691844912883883599554657703228821497319633868398977858281702519176529844134649968542116351354574304130226257895812739518104034853877475493887075054741795561431282333129808595488908788321525593634916726376402807908701406732946214136510398543398755867881613578993379307290813180445142838640615068446435932663288361357212878925628760594966116486840337483359490779062202770082476913704436425339516247857203953350233884610649987519295271617925685302158414086567411897071279005644100078719242788129183856048340120953399999935210219799437840613807318204575075387424316827562139993954897563414946980390886341969526984995317956827756972983123584163210815960091145963814255905355707990199223420049598812290733824753269624633220265131702272959191658403386406427074739166486350068193685483838465382843518926331285575021337015349420415748257354384775129076311311921388443159512719594831518443173019672756197560927548052704483612359640267379246797974622091265644650114961816172811368395024115736655565172430576076516240085333207936280375332814713981433657035959617920830299059072536334083543508966092170898777202098116110196055159727789294314417329866590293052575840277277166890004703730841336896149394202925721737003888870666112581053131542161384910439799231718907207573445326768627087523362981899942098905478361258699428345648404408541938412313924386538932215043056814519790868866792969257334248358365132988726644852064634959901483531045218187197974387898124233050587848096551909457420075861508839914963256660953081353126698507761789231842507208808175958064843643068133348286502846151205160691774181500842603733317089050293961220301940304916940383618514491342183054266334122239292819404729367314168222219474117277352935043 51944512100893137828045052677308001460849001502038763687292488269432330933540518670104051253513040029421988427191088171222094304472956841714539557422904428907487110656292060515489475621761407543641192623910199081312518336098648960201407095023100597013102811500819559971669585128932982810769500514504016459082133326015216887463519035594800694870469978420453055026251223691513273309979309218100377381013643750158541001015101064686350804638211534043105115083713223458477136668511689912464353135297356672693607197701673869614220158012941628439301303785991870239233127793500859910876152726240384070170292639025401072345063228162443756989897165264703786537690389428711203698410373302256373537619110018434748039475563706156213309139298677273990369812549986703422809836034318403045714725997606400270614673746448457301520610658133374320109267390923784447972115920683042222640184294882217146458937992445732750963768618050118053998234653234401766575624420286218774528120132633922434749847670290221811475732314358179804735588149492772086002863266219215035531983551249795389313445886993116979429127182010258477987591665102315870779608669216348590219769912477451761758501094344200171273670427073438394209818444612273292036563473866417966367542477892081481474795005764308754170612759215258439941284545302235581653003999145134832450213187420660427843522294168629900219575304784548541331823545978326766896990295538148464725007170961908216095301821172582771544113138202244562303431380853863763493831169706592909209953503764465806256731396349761737394514605608925198377598971160063600296176201007346731920006904687655757873571988403766851052287342467571413539817282174450760990830085936579253662769070084672911257042614743652483817425407020034558959704243685900241768675281228742552687081346121671497522636611766649106700419457336863209145969648132327223052981916589146611155989450194734910719226057712502080348547198779096770672175075488985034037532809939430019091177321065221509959069377633621390813346666167422129172760440959240632966344394170559889201442485509455024095380426515133438891522198441298396814058509140867235806296633092258604526470621231391582802957169040542927602326504988914351902510867073478105660496032538720111908970311444080254413525975165656692751895447159596593282607834492352299369048273448084057572842914055507634257015516357142129963993136822921115722911931284839310195657225342321128609519774318195305130703319672780650848735254557031838866127568017092795654784550412364732392383529233752525097123020206644506298469185478459371357074016578909740493982074716467759380824991208404426992997214369681642423557300480328403164614438642863318968986868556065357700208265704376917743494137517780373248870094710554239243319965488450871083139338836531783559195199312766153386139439090122998155636991053458443656675916799381710180546545096784229231763819035335155647277090582681903909884386769914695727151602525666086281835482878031805517464694071392971365581467617348159216532853155738912871785279014695019962872103673698250206712153365773163171190073523167035535730990034977768479617106858490519037252645911964322956474602113999476839217476934264447064174751965694263679 84047986108275304178705978376328946893644976147915301403999833737616601383319181829784631380537635005398905784634417071959859881127712838099241397786678795030349793245337983413452090135905726049003331478015090636380086500637760288821568444686722568990908276891565385817278671570661224308612361255365713808356159671937507010221642131310022941766078906237594398355953243012109764374267916379527638880017956887974912142680665397832173705438619754229281671668838821283272779082984522721210165407484318516676308050425730540882729952437898083071920999182633430554692099935600909774044136821111801239198403514716502161970987697843711896157606831397971694803318359323353446657515775385042652250687444857100987818109209000039825983261778277229953436768948147864403477353630429946733642810503956692463558322249328729383754130845866107040193660466295878301625425358202470576956286614787574750892082895549637645617990213004414591103110954436949098528074110437515403879613126970737553324558436114066442357892493992349996883485988048469512035570386509340151440297198801831965934147443906694394132739142538343823924160154688279039254104535658980423662520708991800463313489472731440158155455964623753092069674162687001497704812688015939517191081808011288932023294175821030417965028315459802569999518657010272555803879247141090806887442259959426087593155744765554324175264253583023628805968570663356707250951042666022845816428293381186286685943566897183730085753669086805684349123225766747647093385827409821730707273137632864784115013098868938267238649255577467314728953545464193826554072013746864835954860782163149644948626730199328282334620472276166902448605603700044395907556462339387162364175803030887047767441158142408351699038986013413866250517424131043080409290349675178485350369707478884376448265372361615223187259794820222699925031850902409699966686353014486127403846654148085144603836707700021375620165124464398929086261642900882105316538454039508738333965450249077558299190331033621326023566465605262742980078645534316020390661221732699883156340048924402004486266768484660423886840155269055369797182093304078051766387779056072860431826329221590806223006767852833661427079774613547572167642569346437297318899418945147186648136797794148448099009813631039536270821778445171614619623183912768047626402658223213133884154835443950793769735111188660573137012809579118676650459983989322922555297492721567926584141865583839955245665135845592019243759370293687404038558144093609035740117758348645107725198243215186182133082638127474805357541721812542914866040108749808517696080190826663814540552780502718844322863804662734218263834577647218407868345279979759468363189794277802361589078931816957970875036298902690813048101813617761812688646734115538394446121238778630689037556458012194499034543847632061410469561377592390658699732731319172579047339514354118477590128952024061800499341725542583387440929604957112670115049726758716674129932034787489225593326202911307934622242420698701285915040614944970755378994087190653084806515171807046536709558304570933854945371574365770768852820040328938988781557411775430902655767137254147377222808724353292296243946844248432669283648869243047198722 135992498209168442006751031053636948354493977649954065091292322007048932316859700499888682634050675034820894211825505243181954185600669679813780955209583223937836903901630043928941565757667133592644524101925289717692604836736409249022975539709823166004011088392384945788948256699594207119381861769869730267438292997952723897685161166904823636636548884658047453382204466703623037684247225597628016261031600638133453143695766462518524510076831288272386786752552044741749915751496212633674518542781675189369915248127404410496950110450839711511222302968625300793925227729101769684920289547352185309368696153741903234316050926006155653147503996662675481341008748752064650355926148687299025788306554875535735857584772706196039292401076954503943806581498134567826287189664748349779357536501563092734172995995777186685274741503999481360302927857219662749597541278885512799596470909669791897351020887995370396581758831054532645101345607671350865103698530723734178407733259604659988074406106404288253833624808350529801619074137541241598038433652728555186972280750051627355247593330899811373561866324548602301911751819790594910033713204875329013882290621469252225071990567075640329429126391697191486279492607299274789741376161882357483558624285903370413498089181585339172135641074675061009940803202312508137456883246286225639337655447380086515436678038934184224394839558367572170137792116641683474147941338204171310541435464343094502781245388069766501629866807289050246652554606620611410587216997116414639917226641397330590371744495218700004633163861186392513106552516624257426850248214754211567874867686850805402822198718603095133386907814743738315988422885874495156898386548275966416026944873115559959024483772886060835516464393033448425210221667816943322177965630903921038037451053600555873970901984128264329887679252157085909071001499034736923019668269603632738559836104342820055323062765412523455968712323243495699758436718389867139354071263978938757425142771314299068258259708667242716836913131772684872152839086493556653357005615903259772357782534433857028581647194999793862778362353710353766611240602444945287572684412148331464958296950452982389025963936893376589029406279602461924070153436419915402979395451483867298557107109238228702512535788796696229022717225604768207902231018405120346995450931671297191456997749499458428026750627545802703101005946402039792373371915274162232750954718063889055193661639902035260376368455518372670092494624850719242904685712110701831394902308761009840117581772448938707230205658334119311656010907291002286223114125328718258190062265543131573921377771711123271315861019032415860687391878127546811032959718622622787332176662833867719289287197521334888618530436420471186296971908328316051931966699603989265529260577615162472596751657324960652420683286722184408625198368645849102356408648118554289227886059450902706821892771059396956146618816125265291350813991727027365842201329284382760411767517665521031110790896982700905987823888316049445131573468100709668250779366205348104769387275480744786916270457936707018116561647888937804388551030363916757261174518633921421693019783166111700179283326467291773083164321182697116347823621208741462401 220040484317443746185457009429965895248138953797869366495292155744665533700178882329673314014588310040219799996459922315141814066728382517913022352996262018968186697146968027342393655893572859641647855579940380354072691337374169537844543984396545734994919365283950331606226928270255431427994223025235444075794452669890230907906803298214846578402627790895641851738157709715732802058515141977155655141049557526108365286376431860350698215515451042501668458421390866025022694834480735354884683950265993706046223298553134951379680062888737794583143302151258731348617327664702679458964426368463986548567099668458405396287038623849867549305110828060647176144327108075418097013441924072341678038993999732636723675693981706235865275662855231733897243350446282432229764543295178296513000347005519785197731318245105916069028872349865588400496588323515541051222966637087983376552757524457366648243103783545008042199749044058947236204456562108299963631772641161249582287346386575397541398964542518354696191517302342879798502560125589711110074004039237895338412577948853459321181740774806505767694605467086946125835911974478873949287817740534309437544811330461052688385480039807080487584582356320944578349166769986276287446188849898297000749706093914659345521383357406369590100669390134863579940321859322780693260762493427316446225097707339512603029833783699738548570103811950595798943760687305040181398892380870194156357863757724280789467188954966950231715620476375855931001677832387359057680602824526236370624499779030195374486757594087638271871813116763859827835506062088451253404320228501076403829728469013955047770825448802423415721528287019905218437028489574539552805943010615353578391120676146447006791924931028469187215503379046862291460739091947986402587255980579099523387820761079440250419167356489879553074939046977308608996033349937146622986354622618118865963682758490905199926899473112544831588877447707894628844698361290749244670609718018447495759108221563376626557450039700864042860479597377947615132917732027872673747666837635959655514122583358259033067913963484454286665202508979409136408422695749023339339072191204404325390123279674573195248970704746210250456486054216009496237796005766352700298294870429014485205243907032377150611545602427735765293539004049939822521854202317888394621853589894510325341152584943409221796485738734463276238018755981158469023831899263485155306252210785456981777803505485875215622033591363964689336253995144406646943243856204310867135020067109654947842780015664124889363288296461594117013552629103545201089154234078526775886142456369795388461930552213842115638724823695150078951226455774765218901304998602382255695366457111670080878366129338292859493566735323161999345073721946077864620613433719527659975381816393793161634308115337155151455227134354245819094759746238239761056141379437726868275225573805021184412021723083458756645960541667848678791743596684140035957251056043099434541699552453010256704117099894008840610066309014750731046614083045680423629773453396001189575902447287791323625828762507640873061933222254708573241371070692855746042731930409352324348786920420259077402092050820584069327111165431129785631472490451788661123 356032982526612188192208040483602843602632931447823431586584477751714466017038582829561996648638985075040694208285427558323768252329052197726803308205845242906023601048598071271335221651239993234292379681865670071765296174110578786867519524106368900998930453676335277395175184969849638547376084795105174343232745667842954805591964465119670215039176675553689305120362176419355839742762367574783671402081158164241818430072198322869222725592282330774055245173942910766772610585976947988559202493047668895416138546680539361876630173339577506094365605119884032142542555393804449143884715915816171857935795822200308630603089549856023202452614824723322657485335856827482747369368072759640703827300554608172459533278754412431904568063932186237841049931944417000056051732959926646292357883507082877931904314240883102754303613853865069760799516180735203800820507915973496176149228434127158545594124671540378438781507875113479881305802169779650828735471171884983760695079646180057529473370648922642950025142110693409600121634263130952708112437691966450525384858698905086676429334105706317141256471791635548427747663794269468859321530945409638451427101951930304913457470606882720817013708748018136064628659377285551077187565011780654484308330379818029759019472538991708762236310464809924589881125061635288830717645739713542085562753154719599118466511822633922772964943370318167969081552803946723655546833719074365466899299222067375292248434343036716733345487283664906177654232439007970468267819821642651010541726420427525964858502089306338276504976977950252340942058578712708680254568443255287971704596155864760450593024167405518549108436101763643534425451375449034709704329558891319994418065549262006965816408703914530022731967772080310716670960759764929724765221611483020561425271814679996124390069340618143882962618299134394518067034848971883546006022892221751604523518862833725255249962238525068287557589770951390328603135079680616384024680981997386253184250992877675694815709748368106759697392729150632487285756818521429327104672453539219427871905117792116061649561158484248149443564862689762903019663298193968626911756603352735790348420230127555584274934641639586839485892333818471420307949442186268103277690321912881783762351016270605853124081391224431994316256229654708030424085220723008741617304521565807516798150334442867649823236366280265979339024702383198261397203814537647388057206928849346036971465145387910475998402046882337359428748619995125889847929568315012698529922375870664787960361788113063596593493954795713428669563536394547487312268359407245034076204721912926962383308323924965386954585842727565939638618333902312029934264717225005043027543119945537800167653326859627748112097171743633185642045630274393916552580133323516925504642394008955634231059772662115803875910421076430227719958114884088863412550027556281157503111633255923891233914494142855712792579357793113970142557588411167401799452385327482194953467070118531287814907996876709746597890197330800176178187551146390091880552819601349294345289722768536110542099220444347891178494870143646377629922101056772503303906449043273746041806703586370777581375377287875842410275486613826901979296111660530123524 576073466844055934377665049913568738850771885245692798081876633496379999717217465159235310663227295115260494204745349873465582319057434715639825661202107261874210298195566098613728877544812852875940235261806050425837987511484748324712063508502914635993849818960285609001402113240105069975370307820340618419027198337733185713498767763334516793441804466449331156858519886135088641801277509551939326543130715690350183716448630183219920941107733373275723703595333776791795305420457683343443886443313662601462361845233674313256310236228315300677508907271142763491159883058507128602849142284280158406502895490658714026890128173705890751757725652783969833629662964902900844382809996831982381866294554340809183208972736118667769843726787417971738293282390699432285816276255104942805358230512602663129635632485989018823332486203730658161296104504250744852043474553061479552701985958584525193837228455085386480981256919172427117510258731887950792367243813046233342982426032755455070872335191440997646216659413036289398624194388720663818186441731204345863797436647758545997611074880512822908951077258722494553583575768748342808609348685943947888971913282391357601842950646689801304598291104339080642977826147271827364633753861678951485058036473732689104540855896398078352336979854944788169821446920958069523978408233140858531787850862059111721496345606333661321535047182268763768025313491251763836945726099944559623257162979791656081715623298003666965061107760040762108655910271395329525948422646168887381166226199457721339345259683393976548376790094714112168777564640801159933658888671756364375534324624878715498363849616207941964829964388783548752862479865023574262510272569506673572809186225408453972608333634942999209947471151127173008131699851712916127352477592062120084813092575759436374809236697108023436037557346111703127063068198909030168992377514839870470487201621324630455176861711637613119146467218659284957447833440971365628695290700015833748943359214441052321373159788068970802557872326528580102418674550549302000852339291175179083386027701150375094717475121968702436108767371669172039428085993942991966250828794557140115738543509802128779523905346385797089942378388034480916545745447952620803575985192341896268967594923302983003735626993652167759609795233704647852945939423040897136239158111460317842139302919386276871619722105014729255577043458364356730421035713801132543363459139634803018749268650873785691620435638246302048765002615139532536791173424519323565664942442980319735803141803777188485956782251257307545683116165498092688401422593485771809962347178282722350845238876138807502593310666422716018589844789677077248835569715827387298722909577057207881046019456197920607605663907066795184987119352220471781173193567043044585480024210402748795865367887999270955331137555430676046814717861122328624468691406994008025778337207060945075645936217226314469438539899460962648934301185095307437756703441370581629495166622571541544519025096770718587207956506345550907224801634192070515510326272997350483921192170056327434167927982951988764240428092398354950871293171749628249346638379452626070390593624006629854983467428108459911737386652044956687610768602112318784647 932106449370668122569873090397171582453404816693516229668461111248094465734256047988797307311866280190301188413030777431789350571386486913366628969407952504780233899244164169885064099196052846110232614943671720497603283685595327111579583032609283536992780272636620886396577298209954708522746392615445792762259944005576140519090732228454187008480981142003020461978882062554444481544039877126722997945211873854592002146520828506089143666700015704049778948769276687558567916006434631332003088936361331496878500391914213675132940409567892806771874512391026795633702438452311577746733858200096330264438691312859022657493217723561913954210340477507292491114998821730383591752178069591623085693595108948981642742251490531099674411790719604209579343214335116432341868009215031589097716114019685541061539946726872121577636100057595727922095620684985948652863982469034975728851214392711683739431353126625764919762764794285906998816060901667601621102714984931217103677505678935512600345705840363640596241801523729698998745828651851616526298879423170796389182295346663632674040408986219140050207549050358042981331239563017811667930879631353586340399015234321662515300421253572522121611999852357216707606485524557378441821318873459605969366366853550718863560328435389787114573290319754712759702571982593358354696053972854400617350604016778710839962857428967584094499990552586931737106866295198487492492559819018925090156462201859031373964057641040383698406595043705668286310142710403299994216242467811538391707952619885247304203761772700314824881767072664364509719623219513868613913457115011652347238920780743475948956873783613460513938400490547192287287931240472608972214602128397993567227251774670460938424742338857529232679438923207483724802660611477845852117699203545140646238364390439432499199306037726167319000175645246097645130103047880913714998400407061622075010720484158355710426823950162681406704056989610675286050968520651982012719971682013220002127610207318728016188869536437077562255265055679212589704431369070731327957011744714398511257932818942491156367036280452950585552332234358934942447749292136960593162585397909875906086963739929684363798839988025383929428270721852952336853694890138888906853675514254778052729945939573588856859708384876599753926051463359355883370024643763905877856462633026125358937453253829144521442958471294995234916068160747554991818239528338779931420666068484149055720733796261696167618837685128639408193751235134658426639102992834336264194864818850984523763503591890252082550276206053020974352679701892640175713690952893016844038551900195649313228547200063772889547896509150281958228463123579389278769834433052392341750452697002745681213672783057548355717761078810428370629164982494865697725773700366561510984666604411704430096427660661386759207047976507106274534675976006417487881241434550289183281448840316868966879850711369170182231119257254076619076858773506474839556155826698063824448633692690072832333933093647428333805846703676351083402989185338460607390879092598699778266481892824863544710027203396336655418922962542001328501215272806400752650544828495899816432400327593000632564842805396335754147662138658783589590064713772848908171 1508179916214724056947538140310740321304176701939209027750337744744474465451473513148032617975093575305561682617776127305254932890443921629006454630610059766654444197439730268498792976740865698986172850205477770923441271197080075436291646541112198172986630091596906495397979411450059778498116700435786411181287142343309326232589499991788703801922785608452351618837401948689533123345317386678662324488342589544942185862969458689309064607807749077325502652364610464350363221426892314675446975379674994098340862237147887988389250645796208107449383419662169559124862321510818706349583000484376488670941586803517736684383345897267804705968066130291262324744661786633284436134988066423605467559889663289790825951224226649767444255517507022181317636496725815864627684285470136531903074344532288204191175579212861140400968586261326386083391725189236693504907457022096455281553200351296208933268581581711151400744021713458334116326319633555552413469958797977450446659931711690967671218041031804638242458460936765988397370023040572280344485321154375142252979731994422178671651483866731962959158626309080537534914815331766154476540228317297534229370928516713020117143371900262323426210290956696297350584311671829205806455072735138557454424403327283407968101184331787865466910270174699500929524018903551427878674462205995259149138454878837822561459203035301245416035037734855695505132179786450251329438285918963484713413625181650687455679680939044050663467702803746430394966052981798629520164665113980425772874178819342968643549021456094291373258557167378476678497187860315028547572345786768016722773245405622191447320723399821402478768364879330741040150411105496183234724874697904667140036438000078914911033075973800528442626910074334656732934360463190761979470176795607260731051456966198868874008542734834190755037732991357800772193171246789943883990777921901492545497922105482986165603685661800294525850524208269960243498801961623347641415262382029053751070969421759780337562029324506048364813137382207792692123105919620033328809351035889577594643960520092866251084511402421653021661099606028106981875835286079952559413414192467016021825507249731813143322745334411181019370649109887433253399440338091509710429660706596674321697540862876571860595335378528767513535846697064003736315964066804803014095620744486443201076756173215421393062680576309724490493111619111911722239275242139912474784125208118952074470002447135481859239273323374941456958753850274190963430276417353659829859807261831304259566645395667440568507058457310328520035795867390732864115113546378788654000899078478371664073786076202580392141207175572997976818307913256466527605404148879779640473362274059953562259692239255468963323424985877223555616284334715337478898967267409606096464690814814453225961795548660657714538185531937782321349393837128746112349932841544297209059786047377814042525786928595484651669659156715039268011159958601782277312859268068645453943800315261614376852958190418146921013803210021901990627790819530531122901205365596050262187674062881190978877955186348325419659351054940356279372508444556029001997183207948525886822993951599630487548310233504795665885048790703740277200833315885167692818 2440286365585392179517411230707911903757581518632725257418798855992568931185729561136829925286959855495862871030806904737044283461830408542373083600018012271434678096683894438383857075936918545096405465149149491421044554882675402547871229573721481709979410364233527381794556709660014487020863093051232203943547086348885466751680232220242890810403766750455372080816284011243977604889357263805385322433554463399534188009490287195398208274507764781375281601133887151908931137433326946007450064316036325595219362629062101663522191055364100914221257932053196354758564759963130284096316858684472818935380278116376759341876563620829718660178406607798554815859660608363668027887166136015228553253484772238772468693475717180867118667308226626390896979711060932296969552294685168121000790458551973745252715525939733261978604686318922114005487345874222642157771439491131431010404414744007892672699934708336916320506786507744241115142380535223154034572673782908667550337437390626480271563746872168278838700262460495687396115851692423896870784200577545938642162027341085811345691892852951103009366175359438580516246054894783966144471107948651120569769943751034682632443793153834845547822290809053514058190797196386584248276391608598163423790770180834126831661512767177652581483560494454213689226590886144786233370516178849659766489058895616533401422060464268829510535028287442627242239046081648738821930845737982409803570087383509718829643738580084434361874297847452098681276195692201929514380907581791964164582131439228215947752783228794606198140324240042841188216811079828897161485802901779669070012166186365667396277597183434862992706765369877933327438342345968792206939476826302660707263689774749375849457818312658057675306348997542140457737021074668607831587875999152401377289821356638301373207848772560358074037908636603898417323274294670857598989178328963114620508642589641341876030509611962975932554581197880635529549770482275329654135234064042273753198579629078508353750898860943125927068402437887005281827537288690764656766362780603976105901893339035357407451547682874603607213431840387041924323584578216913152575999590376891927912470989661497507121585322436564948798919831740385590253135228230398617283336220851452374427486802450160717455043763405367267461898160423359619685988710568708891952083377512568560014209427044565914505639047604719725409179779859466714057514770478692406204791276603101130190736243397178026858111008503580865152505085408849390069379410187996094054672080682288783330148987557692651057334663363349494388475569283373039828804499271805498039450978674020977302333276266353281689103684723279935046771036835855806375238581932171982223814971062699243473365022313017319041186064687651926245449317210203176624740967776167607449357419226157656058223209322044473745233508444888595884069813135163600231174276094586392341234887694683009405637639964654833900778413969115887088018732108257116869015094766709278392434007951687209186891284065575254819649913698253074030780004868991730292084458194750040454155955706054523587982389744662075078274017482357607873723717362429754647728036444425703255394279192631120113153038901131420032710929362523866790898029658016600989 3948466281800116236464949371018652225061758220571934285169136600737043396637203074284862543262053430801424553648583032042299216352274330171379538230628072038089122294123624706882650052677784244082578315354627262344485826079755477984162876114833679882966040455830433877192536121110074265518979793487018615124834228692194792984269732212031594612326552358907723699653685959933510728234674650484047646921897052944476373872459745884707272882315513858700784253498497616259294358860219260682897039695711319693560224866209989651911441701160309021670641351715365913883427081473948990445899859168849307606321864919894496026259909518097523366146472738089817140604322394996952464022154202438834020813374435528563294644699943830634562922825733648572214616207786748161597236580155304652903864803084261949443891105152594402379573272580248500088879071063459335662678896513227886291957615095304101605968516290048067721250808221202575231468700168778706448042632580886117996997369102317447942781787903972917081158723397261675793485874732996177215269521731921080895141759335507990017343376719683065968524801668519118051160870226550120621011336265948654799140872267747702749587165054097168974032581765749811408775108868215790054731464343736720878215173508117534799762697098965518048393830669153714618750609789696214112044978384844918915627513774454355962881263499570074926570066022298322747371225868098990151369131656945894516983712565160406285323419519128485025342000651198529076242248674000559034545572695772389937456310258571184591301804684888897571398881407421317866713998940143925709058148688547685792785411591987858843598320583256265471475130249208674367588753451464975441664351524207327847300127774828290760490894286458586117933259071876797190671381537859369811058052794759662108341278322837170247216391507394548829075641627961699189516445541460801482979956250864607166006564695124328041634195273763270458405105406150595773048572443898677295550496446071327504269549050838288691312928185449174291881539820094797973950643208310797985575713816493553700545853859128223658536059085296256628874531446415148906199419864296865711989413782843907949737978239393310650444330656847745968169568941627818843652575566321908327712996927448126696125027665326732578050379141934134780997744857487363356001952777373511906047704121999011761090965600259987307568319623914444215902291398971378436296790012618604880988916484722053204660738690532659886097384331878522322111258935683040353499655827541655923914479342513593042896794383225133219564393120673678014424271436674105903943918045650594152040350057152392641376119352468933673830310860296277911865078950092322333980642730811951622697177245122652805733057261568486282364611050564875481861733651925540655523708235185773703914048234040610882020018757982702188283419040382670917233463650263909712581107117638883601401020935072497051931424568560139485570437570684155155099178690710039394181874362835354732336234323213301586039849474483722175833453123720155064658570824399522853193289823790800302641830018587245502465937576092987494737625072422713887246232161918458756644911244392951590078388230792261607661463272405927085917759720066264143991731345543184293807 6388752647385508415982360601726564128819339739204659542587935456729612327822932635421692468549013286297287424679389936779343499814104738713752621830646084309523800390807519145266507128614702789178983780503776753765530380962430880532034105688555161592945450820063961258987092830770088752539842886538250819068381315041080259735949964432274485422730319109363095780469969971177488333124031914289432969355451516344010561881950033080105481156823278640076065854632384768168225496293546206690347104011747645288779587495272091315433632756524409935891899283768562268641991841437079274542216717853322126541702143036271255368136473138927242026324879345888371956463983003360620491909320338454062574066859207767335763338175661011501681590133960274963111595918847680458566788874840472773904655261636235694696606631092327664358177958899170614094366416937681977820450336004359317302362029839311994278668450998384984041757594728946816346611080704001860482615306363794785547334806492943928214345534776141195919858985857757363189601726425420074086053722309467019537303786676593801363035269572634168977890977027957698567406925121334086765482444214599775368910816018782385382030958207932014521854872574803325466965906064602374303007855952334884302005943688951661631424209866143170629877391163607928307977200675841000345415494563694578682116572670070889364303323963838904437105094309740949989610271949747728973299977394928304320553799948670125114967158099212919387216298498650627757518444366202488548926480277564354102038441697799400539054587913683503769539205647464159054930810019972822870543951590327354862797577778353526239875917766691128464181895619086607695027095797433767648603828350509988554563817549577666609948712599116643793239608069418937648408402612527977642645928793912063485631099679475471620424240279954906903113550264565597606839719836131659081969134579827721786515207284765669917664704885726246390959686604031231302598342926174006949685730510113601257468128679916797045063827046392300218949942257981803255778180497001562642342076597097529806447747198163581065987606768170860236087963286802190830523004442513778864565413373220799877650449229054808157565915979284310916968488773368204433905710794552306944996333148299579070552514467776893295505422905339502048459643017910722975687941487942220797999787499511580321105175027304553222073958671519163941311471178830845150354304783097297287193707761325154334851474933929837912955495340382103187263764021091889743569035237729652017969151423195881826226943370782825870621727784037027508812747005957478943772722544922399650079801035826413618678452628735286955519414545019557846911849986928178140355881312744123604920992216185352049206422283881503601405797115252527408107182969135743832148449202961941311363405653266768538078241967304746662028652548827559513117533463399073312812281393733469993742255822767180061337062208524794319471215984653271042187197422818296511050889457602064010728668331164988795226740758549297430653103037418408138689350829268514583485374281985550343095985974293300026053919965837649569815899089905071495119955879280888511292639280837377293333782509984892727774616311307058505950470649428788010782629375201200894796 10337218929185624652447309972745216353881097959776593827757072057466655724460135709706555011811066717098711978327972968821642716166379068885132160061274156347612922684931143852149157181292487033261562095858404016110016207042186358516196981803388841475911491275894395136179628951880163018058822680025269434193215543733275052720219696644306080035056871468270819480123655931110999061358706564773480616277348569288486935754409778964812754039138792498776850108130882384427519855153765467373244143707458964982339812361482080967345074457684718957562540635483928182525418922911028264988116577022171434148024007956165751394396382657024765392471352083978189097068305398357572955931474540892896594880233643295899057982875604842136244512959693923535326212126634428620164025454995777426808520064720497644140497736244922066737751231479419114183245488001141313483129232517587203594319644934616095884636967288433051763008402950149391578079780872780566930657938944680903544332175595261376157127322680114113001017709255019038983087601158416251301323244041388100432445546012101791380378646292317234946415778696476816618567795347884207386493780480548430168051688286530088131618123262029183495887454340553136875741014932818164357739320296071605180221117197069196431186906965108688678271221832761642926727810465537214457460472948539497597744086444525245327184587463408979363675160332039272736981497817846719124669109051874198837537512513830531400290577618341404412558299149849156833760693040203047583472052973336744039494751956370585130356392598572401340938087054885476921644808960116748579602100278875040655582989370341385083474238349947393935657025868295282062615849248898743090268179874717316401863945324405957370439606885575229911172867141295734839079784150387347453703981588671725593972378002312641867640631787349455732189191892527296796356165377592460564949090830692328952521771979889997959298900159489516849364792010181827075646915370072684245236226956184928761737677730755085736376755231841474510831482078076601229728823705312360627917790413591083506993601057291804724523665853467116864962494733217339736722424306810644576554827156064707827388427468448118808010246636132056885138057714996023277558286360874215272709330075747705766677542133103625873555802047273636829457387875398086331689894265315732704047491621510592082196140627564540529642278295433608157213762577802223586651094795715902168182624246047207539512213624462497799052879672260625509375022956774930097068691065271307941883630765709474869123737754007959090186120904710705523237018442631584847716640590572993802120151092978806260054571981204220629349725405315835758776928937020500474336524043556075227618169461308004854939479545449989883770408165817402889968916621061284487672157438147715015277453887307379420098260725287448850312071589210230430350997113662983025393388511372353595143276757839677113268486777084933805041653555337426197286376113528335905232763820437418743064902654378290381266590233033019606486556161138563203347921653668037436678664105776350645737815992880545528519857541930637064553524162327785382366188041199347267937550525230328883412170740777154335436079583712985591868230369495052154774360720744385188603 16725971576571133068429670574471780482700437698981253370345007514196268052283068345128247480360080003395999403007362905600986215980483807598884781891920240657136723075738662997415664309907189822440545876362180769875546588004617239048231087491944003068856942095958356395166721782650251770598665566563520253261596858774355312456169661076580565457787190577633915260593625902288487394482738479062913585632800085632497497636359812044918235195962071138852915962763267152595745351447311674063591247719206610271119399856754172282778707214209128893454439919252490451167410764348107539530333294875493560689726150992437006762532855795952007418796231429866561053532288401718193447840794879346959168947092851063234821321051265853637926103093654198498437808045482109078730814329836250200713175326356733338837104367337249731095929190378589728277611904938823291303579568521946520896681674773928090163305418286818035804765997679096207924690861576782427413273245308475689091666982088205304371472857456255308920876695112776402172689327583836325387376966350855119969749332688695592743413915864951403924306755724434515185974720469218294151976224695148205536962504305312473513649081469961198017742326915356462342706920997420538660747176248406489482227060886020858062611116831251859308148612996369571234705011141378214802875967512234076279860659114596134691487911427247883800780254641780222726591769767594448097969086446802503158091312462500656515257735717554323799774597648499784591279137406405536132398533250901098141533193654169985669410980512255905110477292702349635976575618980089571450146051869202395518380567148694911323350156116638522399838921487381889757642945046332510738872008225227304956427762873983623980388319484691873704412475210714672487488186762915325096349910382583789079603477681788113488064872067304362635302742157092894403195885213724119646918225410520050739036979264655667876963605045215763240324478614213058378245258296246691194921957466298530019205806410671882781440582278233774729781424336058404485507004202313923270259867010688613313441348255455385790511272621637977101050458020019530567245428749324423441120240529285507705038876697502926965576162615416367802106546488364227711463997155426522217705663224047284837230056600880519169061224952613138877917030893308809307377835753257953502047279121022172403301315654869093751716236966952772098525233756633068737005399578813199455376332007372361874363688558392335712008375012642728696638786977866819840637726303000959959852782188905356695350681124790784960807848688747733032049765448589063791489363135495393452199952128805219878733024609939507584869139950335393605688778923948678614692405356300198832539161677493356904145901829331493485176205281069930298076099590197028319820606641109656326640859540574147958176502692592195512340724138037789943468530577062056338205669905105823588885532580606857174605548985609728124512869539990697239473573536346632416283653278039482753793570985543279176493330991582317037139659198556971342037272482936552020164038387761900988833801967173845554573777507768286634369423252232856877486143920480235779230189806067706176745953250762047063210695895020044097818701018923840165556990095945586083399 27063190505756757720876980547216996836581535658757847198102079571662923776743204054834802492171146720494711381335335874422628932146862876484016941953194397004749645760669806849564821491199676855702107972220584785985562795046803597564428069295332844544768433371852751531346350734530414788657488246588789687454812402507630365176389357720886645492844062045904734740717281833399486455841445043836394201910148654920984433390769591009730989235100863637629766070894149537023265206601077141436835391426665575253459212218236253250123781671893847851016980554736418633692829687259135804518449871897664994837750158948602758156929238452976772811267583513844750150600593800075766403772269420239855763827326494359133879303926870695774170616053348122033764020172116537698894839784832027627521695391077230982977602103582171797833680421858008842460857392939964604786708801039533724491001319708544186047942385575251087567774400629245599502770642449562994343931184253156592635999157683466680528600180136369421921894404367795441155776928742252576688700210392243220402194878700797384123792562157268638870722534420911331804542515817102501538470005175696635705014192591842561645267204731990381513629781255909599218447935930238703018486496544478094662448178083090054493798023796360547986419834829131214161432821606915429260336440460773573877604745559121380018672498890656863164455414973819495463573267585441167222638195498676701995628824976331187915548313335895728212332896798348941425039830446608583715870586224237842181027945610540570799767373110828306451415379757235112898220427940206320029748152148077436173963556519036296406824394466585916335495947355677171820258794295231253829140188099944621358291708198389581350827926370267103615585342352010407326567970913302672550053891971255514673575855684100755355705503854653818367491934049620191199552050591316580211867316241212379691558751244545665836262505204705280089689270624394885453892173666319375440158184422483458780943484141426968517817337510075249240612906414135005715235827907626283898177657424279696820434949312747190515034938475105093966012952753236870303967853056135068017675067685350215532427304165951045773586409251548424687244604203360250989022283516300737490414993299794990603907598733984145042617026999886775707374418768706895639067730018573686206094770742532764485497456282433634281358515262386380255738996334435292323656494374529101623558956253419569413875902182854833511061254684903354206013809934641749937706417368272267901736412954614831564474418878798744050993969593458438555286783891220648639206003726068387254320103221784026138787596591143728214218865355651229364465707860969179089028929399856274060157331138801361759085381374781483368946613446887333188045016211258312807492764079257371341918313427881527378274763417879644362652795727248020373819527690725039363599058416478177184028809338446534287874035762694661929554523095328123436759949649874968321516417098476901496858473639921569557759921224615336643626215359695534545385194136604589456842702493538251634571617960054391083093635049698923698922947414560642259852331961679583047167740331298035060158123991539201398646775478733029689686931388418892320331350816689971272002 43789162082327890789306651121688777319281973357739100568447087085859191829026272399963049972531226723890710784342698780023615148127346684082901723845114637661886368836408469846980485801106866678142653848582765555861109383051420836612659156787276847613625375467811107926513072517180666559256153813152309940716409261281985677632559018797467210950631252623538650001310907735687973850324183522899307787542948740553481931027129403054649224431062934776482682033657416689619010558048388815500426639145872185524578612074990425532902488886102976744471420473988909084860240451607243344048783166773158555527476309941039764919462094248928780230063814943711311204132882201793959851613064299586814932774419345422368700624978136549412096719147002320532201828217598646777625654114668277828234870717433964321814706470919421528929609612236598570738469297878787896090288369561480245387682994482472276211247803862069123372540398308341807427461504026345421757204429561632281727666139771671984900073037592624730842771099480571843328466256326088902076077176743098340371944211389492976867206478022220042795029290145345846990517236286320795690446229870844841241976696897155035158916286201951579531372108171266061561154856927659241679233672792884584144675238969110912556409140627612407294568447825500785396137832748293644063212407973007650157465404673717514710160410317904746965235669615599718190165037353035615320607281945479205153720137438831844430806049053450052012107494446848726016318967853014119848269119475138940322561139264710556469178353623084211561892672459584748874796046920295891479894204017279831692344123667731207730174550583224438735334868843059061577901739341563764568012196325171926314719471072373205331216245854958977319997817562725079814056157676217997646403802353839303753179333365888868843770375921958181002794676206713085602747935805040699858785541651732430430595730509201333713226110249921043330013749238607943832137431962566066635080141888781988800149290552098851299257919788309023970394330750193410200742832109940207168437524434968310133876297568202576305546211096743071067063410773256400871213281805459491458795308214635723237466180863453972739162571866964792489351150691724478700486280671727259708120656523842275441137655334864664211678251952499914585291449662015704946445565771831639708142049863554936888798771937302728033074752229339152354264230091068361060661893953342301078935288260791931288239590741247169223069629697546082902652596912508569778344143671273227861589195143520188259825100003589529011801818282206171587336549339809712430695366861563780706520055350589246017520621201083235799088005305986622970154486784917857703721334756156472892696492816294718663231283204112976854122818727957263486121115801455341127313370720367027668559172968455675336451266110471839874993519865285810317288058267787095701804728321584000772914341919053391462479584748304390054067392635318820676233523186221600737800070376516384250652044625464848734253252216197653680765874558252505887422466619541141477006740881300152623405419927228236637667412557467210333292370666793499137338475882159818826397930137365741236904077242301248461857471373753073787505632407342732485888340912635557355401 70852352588084648510183631668905774155863509016496947766549166657522115605769476454797852464702373444385422165678034654446244080274209560566918665798309034666636014597078276696545307292306543533844761820803350341846672178098224434177087226082609692158393808839663859457859423251711081347913642059741099628171221663789616042808948376518353856443475314669443384742028189569087460306165628566735701989453097395474466364417898994064380213666163798414112448104551566226642275764649465956937262030572537760778037824293226678783026270557996824595488401028725327718553070138866379148567233038670823550365226468889642523076391332701905553041331398457556061354733476001869726255385333719826670696601745839781502579928905007245186267335200350442565965848389715184476520493899500305455756566108511195304792308574501593326763290034094607413199326690818752500876997170601013969878684314191016462259190189437320210940314798937587406930232146475908416101135613814788874363665297455138665428673217728994152764665503848367284484243185068341478764777387135341560774139090090290360990999040179488681665751824566257178795059752103423297228916235046541476946990889488997596804183490933941961045001889427175660779602792857897944697720169337362678807123417052200967050207164423972955280988282654631999557570654355209073323548848433781224035070150232838894728832909208561610129691084589419213653738304938476782543245477444155907149348962415163032346354362389345780224440391245197667441358798299622703564139705699376782503589084875251127268945726733912518013308052216819861773016474860502211509642356165357267866307680186767504136998945049810355070830816198736233398160533636795018397152384425116547673011179270762786682044172225226080935583159914735487140624128589520670196457694325094818426755189049989624199475879776611999370286610256333276802299986396357280070652857892944810122154481753746999549488615454626323419703019863002829286029605628885442075238326311265447581092774693525819817075257298384273211007237164328415915978660017566491066615181859248006954311246880949766820581149571848165033076363526493271175181134861594559476470375899985938769893485029405018512748981118513217176595754895084729689508564188027997198535649823637266045045254068848809254295278952386690292665868430722600585513295790405325914236820606087701374296228219736362314433267491725532610003226425503653384318388327871402702494244514211500702115492924102002734130884382449437108666406847150319716050561039545495763325608098135019824299518882388273062795787875664610142623333231030361069901370587632167960840158572373272156308217792226964013306870661637852334620194645887036792750264156012746952853823955096080422316664578894460223069432174844596674166132012713653934806134799624399010477486396337202714726029528351484237646315592533830691107585958512135065403786738062177956943151257499925750353620510999051983621915730646944112993472836096569059316487474993285747510518265386418292013173440812990324392089917948040432807660756145730933849443374838404257977037887282627720761047607166134032215318081354141397190807843839401873565670468663776297062201233840449860504246852486103477192563795761624806219691729325528627403 114641514670412539299490282790594551475145482374236048334996253743381307434795748854760902437233600168276132950020733434469859228401556244649820389643423672328522383433486746543525793093413410211987415669386115897707781561149645270789746382869886539772019184307474967384372495768891747907169795872893409568887630925071601720441507395315821067394106567292982034743339097304775434156489812089635009776996046136027948295445028397119029438097226733190595130138208982916261286322697854772437688669718409946302616436368217104315928759444099801339959821502714236803413310590473622492616016205443982105892702778830682287995853426950834333271395213401267372558866358203663686106998398019413485629376165185203871280553883143794598364054347352763098167676607313831254146148014168583283991436825945159626607015045421014855692899646331205983937795988697540396967285540162494215266367308673488738470437993299389334312855197245929214357693650502253837858340043376421156091331437226810650328746255321618883607436603328939127812709441394430380840854563878439901146083301479783337858205518201708724460781114711603025785576988389744092919362464917386318188967586386152631963099777135893540576373997598441722340757649785557186376953842130247262951798656021311879606616305051585362575556730480132784953708487103502717386761256406788874192535554906556409438993319526466357094926754205018931843903342291512397863852759389635112303069099853994876777160411442795832236547885692046393457677766152636823412408825174515722826150224139961683738124080356996729575200724676404610647812521780798102989536560182637099558651803854498711867173495633034793806165685041795294976062272978358782965164580750288473987730650343135992013260418080185058255580977477460566954680286265738667842861496678934122179934522415878493043246255698570180373081286463046362405047922201397979929438399544677240552750212262948333262714725704547366749716769101610773118167037591451508710318468200047436381242065245624671116333177086693297181401567914521826116721492127506698235052706294216317088187544449152343126127360668591236100139774299749672046394416667054050935265684114621662007359665892858991251911552985478009665946905586809208389994844859755256906656306347479541486182909403713473465973530904886604877957318092738305531958861562236965622378870469642638263095000157039090347508019721064684964267456516572014444980282281213703781429532775003431990355083665349171957200514079995520011319003759658889494394704710818723624914803241655208084124618885977802074597606157870781729959882570840073500596737449195948667360213922962518173828838993310199812394875967624475304774681430804894496471598912169219845550316771390799085547947783007437077192250902801860160287247814168995062119505519991426679036659364792878051177295638823324112639835457819641008395644226299230767208515059646178729857493176553317212833205259303442037689308365965764789226996022318169797116557851509669998162562890851267026266425657010644005157964476200546320230127375686872410856184256138556881382457814510864358428460164633344365507688748147640534529283725999220699963600606029517533966278476141698322361718226239177264698196203104357292108032641961085982804 185493867258497187809673914459500325631008991390732996101545420400903423040565225309558754901935973612661555115698768088916103308675765805216739055441732706995158398030565023240071100385719953745832177490189466239554453739247869704966833608952496231930412993147138826842231919020602829255083437932634509197058852588861217763250455771834174923837581881962425419485367286873862894462655440656370711766449143531502414659862927391183409651763390531604707578242760549142903562087347320729374950700290947707080654260661443783098955030002096625935448222531439564521966380729340001641183249244114805656257929247720324811072244759652739886312726611858823433913599834205533412362383731739240156325977911024985373860482788151039784631389547703205664133524997029015730666641913668888739748002934456354931399323619922608182456189680425813397137122679516292897844282710763508185145051622864505200729628182736709545253169996183516621287925796978162253959475657191210030454996734681949315757419473050613036372102107177306412296952626462771859605631951013781461920222391570073698849204558381197406126532939277860204580636740493167390148278699963927795135958475875150228767283268069835501621375887025617383120360442643455131074674011467609941758922073073512846656823469475558317856545013134764784511279141458711790710310104840570098227605705139395304167826228735027967224617838794438145497641647229989180407098236833791019452418062269157909123514773832141612460988276937244060899036564452259526976548530873892505329739309015212811007069807090909247588508776893224472420828996641300314499178916347994367424959484041266216004172440682845148876996501240531528374222806615153801362316965175405021660741829613898778695304590305411139191164137392196054095304414855259338039319191004028940606689711465868117242722135475182179743367896719379639207347908597755260000091257437622050674904694016695332812203341159173690169419788964613602404196643220336950785556794511312883962334839939150490933408434385077570392408805078850242032700152145073189301667888153464324042498791330102109946708510240439401133216137826242943221575551528648610411736060014607600777253150922264009764660534103991226842542660481893938079503409047783254105191956171116807531228163472562282720268809857273295170623186523460906117472157352642291536615691075730339637391228376775452661941287212790217574270682942075667829298670609085106483923777289214932692470576589451174691331398462444957119985410606809209210445265750364219388240411339790227908424137768366075137393394033535391872583215801870434570498108036828116628200372495335790330137056785537163825701746629262327639394876076691931289221863068181966798404140726486879507864612361901897300261683077646456834453379826882648996925640319615825689514145761130080765903325167174808350286151050353471699503230184811365832612301797708356686800644434053242963186825770302494021311224096612708902220468858414738856433045326502955745673081156237685318279599097823634329550054394148586753037788131832603344705627630976961139359495701793492079189507771799478397723006829501781931720091569838622573529271074693293831028479709982148182865965078725280741890759998865982098327724371286614610207 300135381928909727109164197250094877106154473764969044436541674144284730475360974164319657339169573780937688065719501523385962537077322049866559445085156379323680781464051769783596893479133363957819593159575582137262235300397514975756579991822382771702432177454613794226604414789494577162253233805527918765946483513932819483691963167149995991231688449255407454228706384178638328619145252746005721543445189667530362955307955788302439089860617264795302708380969532059164848410045175501812639370009357653383270697029660887414883789446196427275408044034153801325379691319813624133799265449558787762150632026551007099068098186603574219584121825260090806472466192409197098469382129758653641955354076210189245141036671294834382995443895055968762301201604342846984812789927837472023739439760401514558006338665343623038149089326757019381074918668213833294811568250926002400411418931537993939200066176036098879566025193429445835645619447480416091817815700567631186546328171908759966086165728372231919979538710506245540109662067857202240446486514892221363066305693049857036707410076582906130587314053989463230366213728882911483067641164881314113324926062261302860730383045205729042197749884624059105461118092429012317451627853597857204710720729094824726263439774527143680432101743614897569464987628562214508097071361247358972420141260045951713606819548261494324319544592999457077341544989521501578270950996223426131755487162123152785900675185274937444697536162629290454356714330604896350388957356048408228155889533155174494745193887447905977163709501569629083068641518422098417488715476530631466983611287895764927871345936315879942683162186282326823350285079593512584327481545925693495648472479957034770708565008385596197446745114869656621049984701120998005882180687682963062786624233881746610285968391173752360116449183182426001612395830799153239929529656982299291227654906279643666074918066863721056919136558066224375522363680811788459495875262711360320343576905184775162049741611471770867573810372993372068149421644272579887536720594447680641130686335779254453072835870909030637233355912125992615267969968195702661347001744129229262784612816815123001016572087089469236508489566068703146469498253907538511011848262518596349017411072876275756186242340762159900048580504616199211649431018914879257158994561545372977900486228533814543009449306933854902538538139458647682274278952890298810265353310064218364682825660254800346648531912542440477131304414366468098704839970461182943013155214581445435992548756654343877211991000191406173602543098372710508071094845486024065295560586418298308503965895778847363638096622596886802944169557507496825785693461980351186643954457497877678593412560144909334377453933980448316994740627641051644059045145839607252368550805125922958817080620805998132462925986508173112707898874411110596599820816857354535416658137610606560176020031029605936059000532462578473691447464880732908653549603178012625743835644047088952344546024754834278334708018870349133073267915507519475755561811887115518020741953516304356437617967936432822763230695577649422466249375295837843273492871680722811364994758186123846505227683304964458006588956201970339390435757013247700593011 485629249187406914918838111709595202737163465155702040538087094545188153515926199473878412241105547393599243181418269612302065845753087855083298500526889086318839179494616793023667993864853317703651770649765048376816689039645384680723413600774879003632845170601752621068836333810097406417336671738162427963005336102794037246942418938984170915069270331217832873714073671052501223081800693402376433309894333199032777615170883179485848741624007796400010286623730081202068410497392496231187590070300305360463924957691104670513838819448293053210856266565593365847346072049153625774982514693673593418408561274271331910140342946256314105896848437118914240386066026614730510831765861497893798281331987235174619001519459445874167626833442759174426434726601371862715479431841506360763487442694857869489405662285266231220605279007182832778212041347730126192655850961689510585556470554402499139929694358772808424819195189612962456933545244458578345777291357758841217001324906590709281843585201422844956351640817683551952406614694319974100052118465906002824986528084619930735556614634964103536713846993267323434946850469376078873215919864845241908460884538136453089497666313275564543819125771649676488581478535072467448526301865065467146469642802168337572920263244002701998288646756749662353976266770020926298807381466087929070647746965185347017774645776996522291544162431793895222839186636751490758678049233057217151207905224392310695024189959107079057158524439566534515255750895057155877365505886922300733485628842170387305752263694538815224752218278462853555489470515063398731987894392878625834408570771937031143875518376998725091560158687522858351724507886208666385689798511101098517309214309570933549403869598691007336637909252261852675145289115976257343921499878686992003393313945347614727528690526648934539859817079901805640819743739396908499929620914419921341902559600296338998887121408022894747088556347030837977926560324032125410281432057222673204305911745123925652983150045856848437966219178072222310182121796417653076838388482601144965173185127109356563019544381149470038366572049952235558489545519724351271758737804143836863561865967737387010781232621193460463351032226550597084549001662955321765117040218689713156548639236348838038906511150619433195219203691139660117766903176267521548695610252621103317537877456910589995671390594146645120112808822400723350103577623499383916749277087353433297375296236844251521339863311004885434251289824973277307915285236211547162401395625921235663900972894422709952349384394224941565475126314174580942641592953522852181923760958913634098834102952564384527463798369226149130583564433584188757074915325048533153442358598224364558101277172506811231677715617058094773829194007467934293055970786159223078058064950887053039582983945973172940813212137558526584407402104595921962432433118655062892103458782044659803139206856799908430080311756559191182593667933739147647509982648504515581489508725203326637662825623852657912664258073264497719826305703639352079100267439518092479160101449218097848516807475708232301160953702407151204397969466865676465847022142755416105196023237896105994688093648383689738748479716200836321488763481384534315203218 785764631116316642028002308959690079843317938920671084974628768689472883991287173638198069580275121174536931247137771135688028382830409904949857945612045465642519960958668562807264887343986681661471363809340630514078924340042899656479993592597261775335277348056366415295440748599591983579589905543690346728951819616726856730634382106134166906300958780473240327942780055231139551700945946148382154853339522866563140570478838967788287831484625061195312995004699613261233258907437671733000229440309663013847195654720765557928722608894489480486264310599747167172725763368967249908781780143232381180559193300822339009208441132859888325480970262379005046858532219023927609301147991256547440236686063445363864142556130740708550622277337815143188735928205714709700292221769343832787226882455259384047412000950609854258754368333939852159286960015943959487467419212615512985967889485940493079129760534808907304385220383042408292579164691938994437595107058326472403547653078499469247929750929795076876331179528189797492516276762177176340498604980798224188052833777669787772264024711547009667301161047256786665313064198258990356283561029726556021785810600397755950228049358481293586016875656273735594042596627501479765977929718663324351180363531263162299183703018529845678720748500364559923441254398583140806904452827335288043067888225231298731381465325258016615863707024793352300180731626272992336949000229280643282963392386515463480924865144382016501856060602195824969612465225662052227754463242970708961641518375325561800497457581986721201915927780032482638558112033485497149476609869409257301392182059832796071746864313314605034243320873805185175074792965802178970017280057026792012957686789527968320112434607076603534084654367131509296195273817097255349803680566369955066179938179229361337814658917822686899976266263084231642432139570196061739859150571402220633130214506575982664962039474886615804007692905097062353448924004843913869777307319934033524649488650308700815032891657328619305540029551065594378331543440690232964375109077048825606303871462888611016092380252058500675599927962078228173757515487920053933105739548273066126346478784552510011797804708282929699859521792619300231018499916862860276128888481208309505566050309225113795092753491381593095267784195755859329416334195182400805854604814166476295438363685444404538680839901080500022651346961859371032377856576389682727014630397417651662058121897099051867988395223547325911382594239339745406620125206672730105414550840502681099893521651077053829561375394416347739077669412547291450712687799008876247219321545331932407338068848343231891101894991823035933527733991091685582860608787028884340086313055722242236694689732651720566055169551038543090823934635108985937115015931998830330426615756012975998400064566779171073276138124066699697115300979007032559032253935512417427520116919655266363315226887829514366139312289021769656285115398619880556163532251682528207233344369250415590007371648607492190998966092134846852899573619146871554855829251405207997180843402734402204954425443644665123924184397984800626864218842161514309120515014436138916561017996082229841193321331688654196755068672402806660879199238397782015796229 1271393880303723556946840420669285282580481404076373125512715863234661037507213373112076481821380668568136174428556040747990094228583497760033156446138934551961359140453285355830932881208839999365123134459105678890895613379688284337203407193372140778968122518658119036364277082409689389996926577281852774691957155719520893977576801045118337821370229111691073201656853726283640774782746639550758588163233856065595918185649722147274136573108632857595323281628429694463301669404830167964187819510609968374311120612411870228442561428342782533697120577165340533020071835418120875683764294836905974598967754575093670919348784079116202431377818699497919287244598245638658120132913852754441238518018050680538483144075590186582718249110780574317615170654807086572415771653610850193550714325150117253536817663235876085479359647341122684937499001363674085680123270174305023571524360040342992219059454893581715729204415572655370749512709936397572783372398416085313620548977985090178529773336131217921832682820345873349444922891456497150440550723446704227013039361862289718507820639346511113204015008040524110100259914667635069229499480894571797930246695138534209039725715671756858129836001427923412082624075162573947214504231583728791497650006333431499872103966262532547677009395257114222277417521168604067105711834293423217113715635190416645749156111102254538907407869456587247523019918263024483095627049462337860434171297610907774175949055103489095559014585041762359484868216120719208105119969129893009695127147217495949106249721276525536426668146058495336194047582548548895881464504262287883135800752831769827215622382690313330125803479561328043526799300852010845355707078568127890530266901099098901869516304205767610870722563619393361971340562933073512693725180445056947069573252124576976065343349444471621439836083342986037283251883309592970239788771485822141975032774106872321663849160882909510551096249252127900331375484328876039280058739377156706728955400395432626468016041703185467743506248729137816688513665237107886041213497559649970571477056589997967579111924633207970713966500012030463732247061007644405204864477352416902989908344752289897022579037329476390163210554019169897315567501579818182041245928699898022662114689545573951833999264642001026290486987886895519447183237371449922354550215066787579612976241142354994534352230495227145142764155784260094382481434199889066643763907484771084959433418133943303389328258534552211345633884064313022714535410442884277267815946466423916763794494545499763781910759788641289304552795726721872393354280752531728429143082504245566506172171800907616418565693361049185064111298424675874339935524112077417493528671653946606794795966905158531797732885168096637864653128642576920230170986718158053408484680706900029037983048512752344014089350261625226281522703083602954521464687054167480319623575701699926166454433744629422796219624045580960838878783332359028203673514900187043788722853094453742227670197272460150103663224165399344572725879322786223633956096690923300476340944851952500053471232919352897425085138100391951831262188309027190774967537157191555021757041233978335835881414980072343935503548388603642982367962719782316330999447 2057158511420040198974842729628975362423799342997044210487344631924133921498500546750274551401655789742673105675693811883678122611413907664983014391750980017603879101411953918638197768552826681026594498268446309404974537719731183993683400785969402554303399866714485451659717831009281373576516482825543121420908975336247750708211183151252504727671187892164313529599633781514780326483692585699140743016573378932159058756128561115062424404593257918790636276633129307724534928312267839697188048950919631388158316267132635786371284037237272014183384887765087700192797598787088125592546074980138355779526947875916009928557225211976090756858788961876924334103130464662585729434061844010988678754704114125902347286631720927291268871388118389460803906583012801282116063875380194026337941207605376637584229664186485939738114015675062537096785961379618045167590689386920536557492249526283485298189215428390623033589635955697779042091874628336567220967505474411786024096631063589647777703087061012998709013999874063146937439168218674326781049328427502451201092195639959506280084664058058122871316169087780896765572978865894059585783041924298353952032505738931964989953765030238151715852877084197147676666671790075426980482161302392115848830369864694662171287669281062393355730143757478782200858775567187207912616287120758505156783523415647944480537576427512555523271576481380599823200649889297475432576049691618503717134689997423237656873920247871112060870645643958184454480681346381260332874432372863718656768665592821510906747178858512257628584073838527818832605694582034393030941114131697140437192934891602623287369247003627935160046800435133228701874093817813024325724358625154682543224587888626870189628738812844214404807217986524871267535836750170768043528861011426902135753190303806337403158008362294308339812349606070268925684022879789031979647922057224362608162988613448304328811200357796126355103942157224962684824408333719953149836046697090740253604889045741327283048933360514087049046278280203411066845208677798119005588606636698796177780928052886578595204304885266471389566427974108691906004576495564459137970216900689969116254823536842407034376842037759319863070075811789197546586001496681042317374817181106332167680739854799065629092018133382619385754772082651378776599571566632323160404819880954055908414604827799399073033070396307645165415502746119465414859290776278749370778537882188736621491540031042355257316653758099537257016478303652768121155535649557007373230497306926597863688016196576817611472135183057637043630465139269163844066968551540604676362404049577498913510240649250848309667588352872220997639032415767559922796132899106301833614984709668849031490656637810252363788054719135180955477063277685906167286002650156883738911296462913005036383113079531515087365488385691925978638004062609987080496940989679897747143692621355192529769660632458937162358936334602730495163898730978908759837047151869571995956197463704157817677568921067642294662190257534191425625452941933095188811925942328508473521788254686902258425658362997562549009322498376752458126407151188705084088052171627693938318059230060565677074736311760998132258617061006449643247161958180098346795676 3328552391723763755921683150298260645004280747073417336000060495158794959005713919862351033223036458310809280104249852631668216839997405425016170837889914569565238241865239274469130649761666680391717632727551988295870151099419468330886807979341543333271522385372604488023994913418970763573443060107395896112866131055768644685787984196370842549041417003855386731256487507798421101266439225249899331179807234997754976941778283262336560977701890776385959558261559002187836597717098007661375868461529599762469436879544506014813845465580054547880505464930428233212869434205209001276310369817044330378494702451009680847906009291092293188236607661374843621347728710301243849566975696765429917272722164806440830430707311113873987120498898963778419077237819887854531835528991044219888655532755493891121047327422362025217473663016185222034284962743292130847713959561225560129016609566626477517248670321972338762794051528353149791604584564734140004339903890497099644645609048679826307476423192230920541696820219936496382362059675171477221600051874206678214131557502249224787905303404569236075331177128305006865832893533529128815282522818870151882279200877466174029679480701995009845688878512120559759290746952649374194986392886120907346480376198126162043391635543594941032739539014593004478276296735791275018328121414181722270499158606064590229693687529767094430679445937967847346220568152321958528203099153956364151305987608331011832822975351360207619885230685720543939348897467100468437994401502756728351895812810317460012996900135037794055252219897023155026653277130583288912405618393985023572993687723372450502991629693941265285850279996461272228673394669823869681431437193282573073491488987725772059145043018611825275529781605918233238876399683244280737254041456483849205326442428383313468501357806765929779648432949056306208935906189382002219436693543046504583195762720320625992660361240705636906200191409352863016199892662595992429894786074247446982560289441173953751064975063699554792552527009341227755358873914906005046802104196348766749257984642884546174316229518474442103532927986139155638251637503208864342834694253106872106163168289132304056955879367235710026280629830959094862153503076499224358620745881004354829795429400373017463091282775383645676241759969546898223782808938082245514955034947741635521390845970154393607385300891534790308179658530379559797340724976167816014542445366959821580924958164985658646644912292651748602650362367965790835690946092441284641046443773350514627482510742076581393382894971698926348183260865991036237421249304072333105505486553823065419682412450158464728233281713921406061750330840443434262731657011183719327143656363615455826286623542968784161520939887231818820130191920262826397456989368314937147395977169813034074366161592283859101454838647317152260160707146212941601961628043847378066767268323055118696224094377088359958578560380183691334042682063337936963510562052056615784679050558157900045347766193527792398325414422933535998351332264719318822768022633251808949862733106639402311896891282350459974094460598768704289388595460215895859055589328819248960075100464038901512956151291833342067762165449610092625615124677962414677795123 5385710903143803954896525879927236007428080090070461546487405127082928880504214466612625584624692248053482385779943664515346339451411313089999185229640894587169117343277193193107328418314493361418312130995998297700844688819150652324570208765310945887574922252087089939683712744428252137149959542932939017533775106392016395393999167347623347276712604896019700260856121289313201427750131810949040074196380613929914035697906844377398985382295148695176595834894688309912371526029365847358563917412449231150627753146677141801185129502817326562063890352695515933405667032992297126868856444797182686158021650326925690776463234503068383945095396623251767955450859174963829579001037540776418596027426278932343177717339032041165255991887017353239222983820832689136647899404371238246226596740360870528705276991608847964955587678691247759131070924122910176015304648948146096686508859092909962815437885750362961796383687484050928833696459193070707225307409364908885668742240112269474085179510253243919250710820093999643319801227893845804002649380301709129415223753142208731067989967462627358946647346216085903631405872399423188401065564743168505834311706616398139019633245732233161561541755596317707435957418742724801175468554188513023195310746062820824214679304824657334388469682772071786679135072302978482930944408534940227427282682021712534710231263957279649953951022419348447169421218041619433960779148845574867868440677605754249489696895599231319680755876329678728393829578813481728770868833875620447008664478403138970919744078993550051683836293735550973859258971712617681943346732525682164010186622614975073790360876697569200445897080431594500930547488487636894007155795818437255616716076876352642248773781831456039680336999592443104506412236433415048780782902467910751341079632732189650871659366169060238119460782555126575134619929069171034199084615600270867191358751333768930321471561598501763261304133566577825701024300996315945579730832771338187236165178486915281034113908424213641841598805289544638822204082592704124052390710833047562927038912695771124769520534403740913493099355960247847544256213998773323480804911153796841222417991825974711091332721404995029889350705642748292408739504573180266675995563062110686997476169255172083092183300908766265061996532052198277000382380504714568675359854828695691429805450797953792680418371287842435473595161276499025212200015752446565385320983249148558202416498196028013903961566050751285859666840671618558956846481741998292014276941080277112491170526938653399004855030154756563391813726005260200081488217855612937781867890603400564333192653099409313037900870066793627059389363256210994185527789910290021160758641073284304857777280180779036525308994606366999775607255197948732564742992018471820886307273632726039110749274671815374188820327033009078238798711208822928682458569033527275813910960944410311225993755009547297120937496714786421829206580794316845723347609203926187780635248021862057863025335114595434692987604680467727423976785206652414011579948575580317423384521361326304570322549645348022523103783097145456747515002611404600943143641500446942898393159694099467190030887603594340200020782510616542268862286636142513024590799 8714263294867567710818209030225496652432360837143878882487465622241723839509928386474976617847728706364291665884193517147014556291408718515015356067530809156734355585142432467576459068076160041810029763723550285996714839918570120655457016744652489220846444637459694427707707657847222900723402603040334913646641237447785040079787151543994189825754021899875086992112608797111622529016571036198939405376187848927669012639685127639735546359997039471562555393156247312100208123746463855019939785873978830913097190026221647815998974968397381109944395817625944166618536467197506128145166814614227016536516352777935371624369243794160677133332004284626611576798587885265073428568013237541848513300148443738784008148046343155039243112385916317017642061058652576991179734933362282466115252273116364419826324319031209990173061341707432981165355886866202306863018608509371656815525468659536440332686556072335300559177739012404078625301043757804847229647313255405985313387849160949300392655933445474839792407640313936139702163287569017281224249432175915807629355310644457955855895270867196595021978523344390910497238765932952317216348087562038657716590907493864313049312726434228171407230634108438267195248165695374175370454947074633930541791122260946986258070940368252275421209221786664791157411369038769757949272529949121949697781840627777124939924951487046744384630468357316294515641786193941392488982247999531232019746665214085261322519870950591527300641107015399272333178476280582197208863235378377175360560291213456430932740979128587845739088513632574128885912248843200970855752350919667187583180310338347524293352506391510465731747360428055773159220883157460763688587233011719828690207565864078414307918824850067864955866781198361337745288636116659329518036943924394600546406075160572964340160723975826167899109215504182881343555835258553036418521309143317371774554514054089556314131922839207400167504324975930688717224193658911938009625618845585634218725467928089234785178883487913196634151332298885866577562956507610129099192815029396329676296897338655670943836763922215355596632283946387003182507851501982187823639605406903713328581160115107015148288600772230739915631335473707387270893007649679491034616308943115041827271598655545100555274583684149910738238292021745175224165189442796814190314889776437326951196296768108186287803672179377225781774819806878585009540740728614381399863428616108379783341456361013672550606478343403034462317203039584349792537427834439576655323384853627627118653037680729980398237925126455489739996986871251236318909467159685270887373377157223629752875065549567777766134151780715033121139694096654428448259446921473740487902297436899760684063903723747820686829934493598818595737447118211558962199981386786758033703250802539073185115436264099233290275165680326230498959418355035870284420197077374653880678229267465429922217849386635657079516057094970113163249262857654782686858171255982803565314298580019957908373101308123227091313019103401263422328117471371732834347971208832126373247254467965706882219440927698482497198243695914161036903598071620496802199230829266191858468260158138368702987038895427682267782947960226634894477411314104927702385922 14099974198011371665714734910152732659860440927214340428974870749324652720014142853087602202472420954417774051664137181662360895742820031605014541297171703743903472928419625660683787486390653403228341894719548583697559528737720772980027225509963435108421366889546784367391420402275475037873362145973273931180416343839801435473786318891617537102466626795894787252968730086424823956766702847147979479572568462857583048337591972017134531742292188166739151228050935622012579649775829702378503703286428062063724943172898789617184104471214707672008286170321460100024203500189803255014023259411409702694538003104861062400832478297229061078427400907878379532249447060228903007569050778318267109327574722671127185865385375196204499104272933670256865044879485266127827634337733520712341849013477234948531601310640057955128649020398680740296426810989112482878323257457517753502034327752446403148124441822698262355561426496455007458997502950875554454954722620314870982130089273218774477835443698718759043118460407935783021964515462863085226898812477624937044579063786666686923885238329823953968625869560476814128644638332375505617413652305207163550902614110262452068945972166461332968772389704755974631205584438098976545923501263146953737101868323767810472750245192909609809678904558736577836546441341748240880216938484062177125064522649489659650156215444326394338581490776664741685063004235560826449761396845106099888187342819839510812216766549822846981396983345078000727008055094063925979732069253997622369224769616595401852485058122137897422924807368125102745171220555818652799099083445349351593366932953322598083713383089079666177644440859650274089768371645097657695743028830157084306923642740431056556692606681523904636203780790804442251700872550074378298819846392305351887485707892762615211820090144886406018569998059309456478175764327724070617605924743588238965913265387858486635603484437709163428808458542508514418248494655227883589356451616923821454890646415004515819292791912126838475750137588430505399767039100314253151583525862443892603335810034426795713357298325956269089731639906634850726764065500755511304444516560700554550999151941081726239621322177225769804982041116455679679632512222859757710611872005225728824747767910717183647457884592916175800234824073943452224547569947511382865674744605133018381001747566061978968222043467219661255369981083377610221740756481060946785184411865256937985757954557041686454568044394154320321984043711202908749383909576437868669600325933904739609823564619383379403092955281212053131810712876511436400397685015298208669241267760624194086067718648977090804035021847508660180529057352865422633787236831763761648660938510184065541841183904526857212138929099965818371344702316160291526942973405258578920010524435265112295864710935914607479095492713335308737758129563858798966878766110901929694589190211875741148211604396182954200453553809756534992455843651971628410205780459908991345949546601882015771398436422718661784300623783868990846304902678024146845927919784412443796631775829292011452541990573046505020302026793059617784418600683025097745342872329713134756861419852237835893017926499022022467803730470843177163339697950247440726976721 22814237492878939376532943940378229312292801764358219311462336371566376559524071239562578820320149660782065717548330698809375452034228750120029897364702512900637828513562058128260246554466813445038371658443098869694274368656290893635484242254615924329267811527006478795099128060122697938596764749013608844827057581287586475553573470435611726928220648695769874245081338883536446485783273883346918884948756311785252060977277099656870078102289227638301706621207182934112787773522293557398443489160406892976822133199120437433183079439612088781952681987947404266642739967387309383159190074025636719231054355882796434025201722091389738211759405192504991109048034945493976436137064015860115622627723166409911194013431718351243742216658849987274507105938137843119007369271095803178457101286593599368357925629671267945301710362106113721461782697855314789741341865966889410317559796411982843480810997895033562914739165508859086084298546708680401684602035875720856295517938434168074870491377144193598835526100721871922724127803031880366451148244653540744673934374431124642779780509197020548990604392904867724625883404265327822833761739867245821267493521604126765118258698600689504376003023813194241826453750133473151916378448337780884278892990584714796730821185561161885230888126345401368993957810380517998829489468433184126822846363277266784590081166931373138723211959133981036200704790429502218938743644844637331907934008033924772134736637500414374282038090360477273060186531374646123188595304632374797729785060830051832785226037250725743162013321000699231631083469399019623654851434365016539176547243291670122377065889480590131909391801287706047248989254802558421384330261841876912997131208604509470864611431531591769592070561989165779996989508666733707816856790316699952433891783053335579551980814120712573917679213563492337821731599586277107036127233886905610740467779441948042949735407276916563596312783518439203135472688314139821598982070462509455673616114343093750604471675400040035109901469887316371977329995607924382250776340891840222279632707373082466657194062248171624686363923853021853909271917002737699128084121967604267879580312056188741387909922949456509720613376590163066950525519872539248745228180948340770652019366566262284202732468277066086538473116095688627448712759390308197055989634381570345332198044334170165256025715646596887037144800890256195231281497209675328185047840481365317769099410918055359005174522737557354784301246750787258541921337410877445324923710787532366728476602300113359801330880407667542871807699747762672719307152174983479556614644917847823838942784198544868570169173628223693301668751449519851082046683753237502136563235947083826225905087628274677898968863593564636967082149434371850489142954792045336953713775237804185480980147200013840769370658393661539236717547918894669251298963188276583575267419479341171070429453782818611279969610904726648155705106509626411097063951715891794911263845181901973679771537730841888875613642887270254268633020149395879680275890993244570169879030297257718334761431500744987517500270488973778821322198754645594547542103158979326615329680010376204596004965394449704735586678431069812057817109264352368429362643 36914211690890311042247678850530961972153242691572559740437207120891029279538214092650181022792570615199839769212467880471736347777048781725044438661874216644541301441981683788944034040857466848266713553162647453391833897394011666615511467764579359437689178416553263162490548462398172976470126894986882776007473925127387911027359789327229264030687275491664661498050068969961270442549976730494898364521324774642835109314869071674004609844581415805040857849258118556125367423298123259776947192446834955040547076372019227050367183910826796453960968158268864366666943467577112638173213333437046421925592358987657496426034200388618799290186806100383370641297482005722879443706114794178382731955297889081038379878817093547448241320931783657531372150817623109246835003608829323890798950300070834316889526940311325900430359382504794461758209508844427272619665123424407163819594124164429246628935439717731825270300592005314093543296049659555956139556758496035727277648027707386849348326820842912357878644561129807705746092318494743451678047057131165681718513438217791329703665747526844502959230262465344538754528042597703328451175392172452984818396135714389217187204670767150837344775413517950216457659334571572128462301949600927838015994858908482607203571430754071495040567030904137946830504251722266239709706406917246303947910885926756444240237382375699533061793449910645777885767794665063045388505041689743431796121350853764282946953404050237221263435073705555273787194586468710049168327373886372420099009830446647234637711095372863640584938128368824334376254689954838276453950517810365890769914176244992720460779272569669798087036242147356321338757626447656079080073290672033997304054851344940527421304038213115674228274342779970222248690381216808086115676636709005304321377490946098194763800904265598979936249211622801794299907363914001177653733158630493849706381044829806529585338891714625727025121242060947717553721182969367705188338522079433277128506760758098266423764467312166873585651607475746877377097034708238635402359866754284114882968517407509262370551360574127893776095563759656704636035982503493210432528638528304822430579463997270467627531245126682279525595417706618746630158032095399006455840052953566499476767134476979467850190352869982262338707940169632079673260329337819579921664378986703363713199791900232144224247759113816548292514781973633805453022253690736274970232252346622255754857365475097045459742567131711675106285290461990167291305246987315313994524036721437106338300166919496739204423835688879596003618412624274109119704837190281688225855912678472017925010502847521959374204195475732353482197808802385273715833920585001263785224174457267891767746271532801535111107792693530455338426851750532142016085928197303915873724299673069297776844858135928448248466151106996847974475677482753468218177729299178513269856609691216912218641058179001565480423164714483183148160950161598039507269732175800786257213391783783989451169974153560550659914266671139245114937922827420026526203810777657013966510806126549729787303422073791492537802297282033396605740799437670692292884975488692461372191099862614040489022891893471727203390408901912989221156807214599809156339364 59728449183769250418780622790909191284446044455930779051899543492457405839062285332212759843112720275981905486760798579281111799811277531845074336026576729545179129955543741917204280595324280293305085211605746323086108266050302560250995710019195283766956989943559741957589676522520870915066891644000491620834531506414974386580933259762840990958907924187434535743131407853497716928333250613841817249470081086428087170292146171330874687946870643443342564470465301490238155196820416817175390681607241848017369209571139664483550263350438885235913650146216268633309683434964422021332403407462683141156646714870453930451235922480008537501946211292888361750345516951216855879843178810038498354583021055490949573892248811898691983537590633644805879256755760952365842372879925127069256051586664433685247452569982593845732069744610908183219992206699742062361006989391296574137153920576412090109746437612765388185039757514173179627594596368236357824158794371756583573165966141554924218818197987105956714170661851679628470220121526623818129195301784706426392447812648915972483446256723865051949834655370212263380411446863031151284937132039698806085889657318515982305463369367840341720778437331144458284113084705045280378680397938708722294887849493197403934392616315233380271455157249539315824462062102784238539195875350430430770757249204023228830318549307072671785005409044626814086472585094565264327248686534380763704055358887689055081690041550651595545473164066032546847381117843356172356922678518747217828794891276699067422937132623589383746951449369523566007338159353857900108801952175382429946461419536662842837845162050259929996428043435062368587746881250214500464403552513910910301186059949449998285915469744707443820344904769136002245679889883541793932533427025705256755269273999433774315781718386311553853928425186294132121638963500278284689860392517399460446848824271754572535074298991542290621434025579386920689193871283507526787320592541942732802122875101192017028236142712206908695553077363063249354427030316163017653136207646124337162601224780591729027745422822299518462459487612678558545307899506230909560612760495909090310159776053459209015441168076138789246208794296781813580683551967938255201068233901907270128786501043241752052922821147048348877181056265320707121973088728127776977654013368273709045397836234402309480273474760413435329659582863890000684303750900411603155280092827987573523956776393152404464917089869269029890586537212777425833226584398192759319447747508969473066776769219610099005754716096547138875426112372036781839011989365265167782470557596319841763953287046066827944373369103956046783866560251905124797880604338238765921787410404351717993651359161076213010076656287095092305509001184903992505228882989349252827438074910873483257825005335942289017836809500658387211193225401648137469476692487455096845124029170558083289070511961820176760392775619209831303866056671224450604333683891692581168477236965685963130941511884402439535527909558409499383570942976815906206479701770901584136389836423807448122064853574536480055302567771007175427062998192316286840427078647671787987520779872990245085027857287921431938977087332982801278973916478952177585702007 96642660874659561461028301641440153256599287147503338792336750613348435118600499424862940865905290891181745255973266459752848147588326313570118774688450946189720431397525425706148314636181747141571798764768393776477942163444314226866507177783774643204646168360113005120080224984919043891537018538987374396842005431542362297608293049090070254989595199679099197241181476823458987370883227344336715613991405861070922279607015243004879297791452059248383422319723420046363522620118540076952337874054076803057916285943158891533917447261265681689874618304485132999976626902541534659505616740899729563082239073858111426877270122868627336792133017393271732391642998956939735323549293604216881086538318944571987953771065905446140224858522417302337251407573384061612677376488754450960055001886735268002136979510293919746162429127115702644978201715544169334980672112815703737956748044740841336738681877330497213455340349519487273170890646027792313963715552867792310850813993848941773567145018830018314592815222981487334216312440021367269807242358915872108110961250866707302187112004250709554909064917835556802134939489460734479736112524212151790904285793032905199492668040134991179065553850849094674741772419276617408840982347539636560310882708401680011137964047069304875312022188153677262654966313825050478248902282267676734718668135130779673070555931682772204846798858955272591972240379759628309715753728224124195500176709741453338028643445600888816808908237771587820634575704312066221525250052405119637927804721723346302060648227996453024331889577738347900383592849308696176562752469985748320716375595781655563298624434619929728083464285582418689926504507697870579544476843185944907605240911294390525707219507957823118048619247549106224494370271100349880048210063734710561076646764945531969079582622651910533790177636809095926421546327414279462343593551147893310153229869101561102120413190706168017646555267640334638242915054252875231975659114621376009930629635859290283452000610024373782281204684838810126731524065024401653055496074400408452045569742188100991398296783396427412238555051372335263181343882009724119993141399024213912740739240050729676642972413202821068771804212003400560210841584063337261656908286855473769605553635520221219903113174017030611215888996434952786795233418065947356899318392354977072758597628134634453704521233874229983622174364837523806137326004591147878125512345174609829278814141868249449924659657000980704996871827674767593124531831385508073313971784230406579405076936139106838210178551785426734879044524996310890958716826555546856008326470274791859688963789893588787318577564579688400266064369054290398513714524923240029707011584861619609761397630693877748121184448980625547643935852935436134521314811186653168701162374583942781034669863471870737266302960607655235185668902884401605687654421786633610114980638861774995507711570140821742240815940333693014452027006832822490111603416067493367425690628749469952582111486037962990195442176229548744498508865804235932732683512548558598102900642550357177909368275648327972593104865053040572032803797629986979133312054136364249359711879735604285574050749181393159142367496234895790500130723693551986742041371 156371110058428811879808924432349344541045331603434117844236294105805840957662784757075700709018011167163650742734065039033959947399603845415193110715027675734899561353069167623352595231506027434876883976374140099564050429494616787117502887802969926971603158303672747077669901507439914806603910182987866017676536937957336684189226308852911245948503123866533732984312884676956704299216477958178532863461486947499009449899161414335753985738322702691725986790188721536601677816938956894127728555661318651075285495514298556017467710611704566925788268450701401633286310337505956680838020148362412704238885788728565357328506045348635874294079228686160094141988515908156591203392472414255379441121340000062937527663314717344832208396113050947143130664329145013978519749368679578029311053473399701687384432080276513591894498871726610828198193922243911397341679102207000312093901965317253426848428314943262601640380107033660452798485242396028671787874347239548894423979959990496697785963216817124271306985884833166962686532561547991087936437660700578534503409063515623274670558260974574606858899573205769065515350936323765631021049656251850596990175450351421181798131409502831520786332288180239133025885503981662689219662745478345282605770557894877415072356663384538255583477345403216578479428375927834716788098157618107165489425384334802901900874480989844876631804267999899406058712964854193574043002414758504959204232068629142393110333487151540412354381401837620367481956822155422393882172730923866855756599613000045369483585360620042408078841027107871466390931008662554076671554422161130750662837015318318406136469596670189658079892329017481058514251388948085080008880395699855817906426971243840523993134977702530561868964152318242226740050160983891673980743490760415817831916038944965743395364341038222087644106061995390058543185290914557747033453943665292770600078693373315674655487489697710308267989293219721558932108925536382758762979707163318742732752510960482300480236752736580690976757762201873376085951095340564670708632282046532789208170966968692720426042206218726930701014538985013821726651781515955029553754159520123003050899016104188885658413581278959858018013006300182373791525136031275516857976520757381039734340136563462971956035995164078960093070052700273493917206506794075133876972405723250781803995464369036763184794708634643418951833947701413806821629755491559481280792438002597402802770918261401854389576746870249734887458364887545018957758415783700832633419531739376052471853705358716937215933267881973873754470637368347672797728815920812023790797027871111701452917076939655615262950933683644447049930929306195523311595129261478795628798995265971327755048989854953961131261105267720639949444854120340127026543694176002421528600449494816264292494868807813026284139770108313622396862128286049743157131114274088706960104668032333078796782082102641919001208715952902845755893063504046940715937099959185948594167865715155915713052997922365429730970085787958243882079808781051838939163214319460182239290478974164626031433129222864452648407432824047747459866795822303265973739132784036037347232659608594530659078606469314591081344583567878591779104640172504164327743378 253013770933088373340837226073789497797644618750937456636573044719154276076263284181938641574923302058345395998707331498786808094987930158985311885403478621924619992750594593329500909867687774576448682741142533876041992592938931013984010065586744570176249326663785752197750126492358958698140928721975240414518542369499698981797519357942981500938098323545632930225494361500415691670099705302515248477452892808569931729506176657340633283529774761940109409109912141582965200437057496971080066429715395454133201781457457447551385157872970248615662886755186534633262937240047491340343636889262142267321124862586676784205776168217263211086212246079431826533631514865096326526941766018472260527659658944634925481434380622790972433254635468249480382071902529075591197125857434028989366055360134969689521411590570433338056927998842313473176395637788080732322351215022704050050650010058094763587110192273759815095720456553147725969375888423820985751589900107341205274793953839438471353108235647142585899801107814654296902845001569358357743680019616450642614370314382330576857670265225284161767964491041325867650290425784500110757162180464002387894461243384326381290799449637822699851886139029333807767657923258280098060645093017981842916653266296557426210320710453843130895499533556893841134394689752885195037000439885783900208093519465582574971430412672617081478603126955171998030953344613821883758756142982629154704408778370595731138976932752429229163289639609208188116532526467488615407422783328986493684404334723391671544233588616495432410730604846219366774523857971250253234306892146879071379212611099973969435094031290119386163356614599899748440755896645955659553357238885800725511667882538231049700354485660353679917583399867348451234420432084241554028953554495126378908562803890497712474946963690132621434283698804485984964731618328837209377047494813186080753308562474876776775900680403878325914544560860056197175023979789257990738638821784694752663382146819772583932237362760954473257962447040683502817475160364966323764128356446941241253740709156793711824338989615154342939569590357349084907995663525679149546895558544336915791638256154918562301385994481780926789817218303582934002366720094612778514884807612854809339893772083684191859149169181109571308959049135226280712439924860022490776290798078227854562593092503671216889315942508873402574008312538937612958955760082707359406304783177207232081585060129651304314236403871230439884330192562312612082290247169208905947391315969782631876930641497823775426111819667400608633515162364658563756445642476358879799123498145903561141880866833244402581528498263332847315995298360485921825309654184718825335810580127590937516446620548831709252445554248346187593380707055776261547858505362655590229762824078759045327164732279683763550442730715968857582531031170451348844785536060722317075085306894108074304493652243463661242024656286595860207920070336869430827540516026679316019858494464625868295164483960328419926412262017506988380588674585287771671846726868018780342191121524521803940801404871192425241512297877088319492670593452290245107051186920400286706944539344198816233129355650707750223712079802774382279235363866056151069784749 409384880991517185220646150506138842338689950354371574480809338824960117033926068939014342283941313225509046741441396537820768042387534004400504996118506297659519554103663760952853505099193802011325566717516673975606043022433547801101512953389714497147852484967458499275420027999798873504744838904963106432195079307457035665986745666795892746886601447412166663209807246177372395969316183260693781340914379756068941179405338071676387269268097464631835395900100863119566878253996453865207794985376714105208487276971756003568852868484674815541451155205887936266549247577553448021181657037624554971560010651315242141534282213565899085380291474765591920675620030773252917730334238432727639968780998944697863009097695340135804641650748519196623512736231674089569716875226113607018677108833534671376905843670846946929951426870568924301374589560031992129664030317229704362144551975375348190435538507217022416736100563586808178767861130819849657539464247346890099698773913829935169139071452464266857206786992647821259589377563117349445680117680317029177117779377897953851528228526199858768626864064247094933165641362108265741778211836715852984884636693735747563088930859140654220638218427209572940793543427239942787280307838496327125522423824191434841282677373838381386478976878960110419613823065680719911825098597503891065697518903800385476872304893662461958110407394955071404089666309468015457801758557741134113908640846999738124249310419903969641517671041446828555598489348622911009289595514252853349441003947723437041027818949236537840489571631954090833165454866633804329905861314308009822042049626418292375571563627960309044243248943617380806955007285594040739562237634585656543418094853782071573693489463362884241786547552185590677974470593068133228009697045255542196740478842835463455870311304728354709078389760799876043507916909243394956410501438478478851353387255848192451431388170101588634182533854079777756107132905325640749501618528948013495396134657780254884412474115497535164234720209242556878903426255705530994472760638493474030461911676125486432250381195833881273640584129342362906634647445041634179100649718064459918842537272259107447959799575760740784807830224603765307793891856125888295372861328370235849074233908647147163815185164345188531402029101835499774629646431654097624653263203801478636366588556872707980074110651143516821525842260240351419780585515574266840687097221179804634884355978391053158703813150741480174771788557449857631040048662952909738580810847709158684348784346856540712642045087549374482387985799733006236554174458397170903589920526017015262594797943772900017844479431946977294365926227666681445136904783446197620964609575393562265271495610403785670383706659516066827542825561176116388574402199538658011758363273573575309619659601087496789834582500824282479979393159456501092001916650334811024035189974926441153101275734346105580243233372239498705963813133840916371543477615985865264614026360179781784008217481882693849657382347805465232262668483366339610611009941187478962581481600498686429972234534094056877889919730701136066952537389274593511080790319704436324054177198952793346892207962120022341305056663370652974058340004038560315397528127 662398651924605558561483376579928340136334569105309031117382383544114393110189353120952983858864615283854442740148728036607576137375464163385816881521984919584139546854258354282354414966881576587774249458659207851648035615372478815085523018976459067324101811631244251473170154492157832202885767626938346846713621676956734647784265024738874247824699770957799593435301607677788087639415888563209029818367272564638872908911514729017020552797872226571944805010013004702532078691053950836287861415092109559341689058429213451120238026357645064157114041961074470899812184817600939361525293926886697238881135513901918925740058381783162296466503720845023747209251545638349244257276004451199900496440657889332788490532075962926777074905383987446103894808134203165160914001083547636008043164193669641066427255261417380268008354869411237774550985197820072861986381532252408412195201985433442954022648699490782231831821020139955904737237019243670643291054147454231304973567867669373640492179688111409443106588100462475556492222564686707803423797699933479819732149692280284428385898791425142930394828555288420800815931787892765852535374017179855372779097937120073944379730308778476920490104566238906748561201350498222885340952931514308968439077090487992267492998084292224517374476412517004260748217755433605106862099037389674965905612423265968051843735306335079039589010521910243402120619654081837341560514700723763268613049625370333855388287352656398870680960681056036743715021875090399624697018297581839843125408282446828712572052537853033272900302236800310199939978724605054583140168206454888893421262237518266345006657659250428430406605558217280555395763182239996399115594873471457268929762736320302623393843949023237921704130952052939129208891025152374782038650599750668575649041646725961168345258268418487330512673459604362028472648527572232165787548933291664932106695818323069228207288850505466960097078414939833953282156885114898740240257350732708248059516804600027468344711478258489637492682656283240381720901416070497318236888994940415271715652385282280144074720185449035616580153719699711991542643108567313328647545276608796834634175528414026010261185570242521711597647442907348241796258576220501073887746135983090658414127680730831355674334333526298102710988150970726055342086356514120115429554001879706490929181649376379196963426593652390224099850572779289032739541275656974200093402004357011866965941038520704463018049554612710614656118750012170243122338910122118644528202163678941316225714988354364488068156907216775091021500962097664800310620100873529783389044024162918823736678810606144420426007930210310141681921526027167366962214437630916446300420155521153202787942230952617379636152213764413015136206268231892650122260704901313601988126097652334354946824333367180553385025231540251337561924190626952440846702186395533341110275281820549227405769386589569241485258028526094566171733204177785802371018132012544580633884854644407652303381965843022269583794609822972220643257157951627382282856668055497742923672722023208233913035938965249303131432028578224386445207982726883756187841506624836610761121738296992163125337317770730091528768743173427356337575367904616466467312876 1071783532916122743782129527086067182475024519459680605598191722369074510144115422059967326142805928509363489481590124574428344179762998167786321877640491217243659100957922115235207920066075378599099816176175881827254078637806026616187035972366173564471954296598702750748590182491956705707630606531901453278908700984413770313771010691534766994711301218369966256645108853855160483608732071823902811159281652320707814088316852800693407822065969691203780200910113867822098956945050404701495656400468823664550176335400969454689090894842319879698565197166962407166361432395154387382706950964511252210441146165217161067274340595349061381846795195610615667884871576411602161987610242883927540465221656834030651499629771303062581716556132506642727407544365877254730630876309661243026720273027204312443333098932264327197959781739980162075925574757852064991650411849482112774339753960808791144458187206707804648567921583726764083505098150063520300830518394801121404672341781499308809631251140575676300313375093110296816081600127804057249103915380250508996849929070178238279914127317625001699021692619535515733981573150001031594313585853895708357663734630855821507468661167919131141128322993448479689354744777738165672621260770010636093961500914679427108775675458130605903853453291477114680362040821114325018687197634893566031603131327066353528716040199997540997699417916865314806210285963549852799362273258464897382521690472370071979637597772560368512198631722502865299313511223713310633986613811834693192566412230170265753599871487089571113389873868754401033105433591238858913046029520762898715463311863936558720578221287210737474649854501834661362350770467834037138677832508057113812347857590102374197087333412386122163490678504238529807183361618220508010048347645006210772389520489561424624215569573146842039591063220404238071980565436815627122198050371770143783460083074171261679638677020607055594279612269019611709389289790440539489741875879680721743455651462380282352757185593756024801727402865525797260624327671776028312709649633433889302177564061407766576325101381282916890220737849042074898177290553608947507748194994673256753476712800673133458220985146003262496405477667511113549590150432346389369260607464353326507488361589377978519489519497871486634113017252806225829971732788168217740082817205681185127295770206249087177037537244795907045625692833019640452520126791231241040780499225536816501850297016911757621721862705354190789427907307462027874162387573075028383109013011388100000574499335210905200710201994766149573409486761830671036864794559270700686978964550179934086331476754379044438270487362157287436047847753693848812099119221077114067265029730914715468059437841356403050019858873280479842679031829408009038696662904439971613746489371225909664566483934454677343219607732364533817541317350083453532848618836730344365145465256746990380507045120935674821728491400765593272135546338018702173914495747998409845247911214824189436311599447725716119241176957628437452905925641317966992893866609242976705505154322521894663885270473059306181021351759279360453397745372001477267268631826329272934815298937249785510017545279890752432833825406544080330395915371943176781864841003 1734182184840728302343612903665995522611359088564989636715574105913188903254304775180920310001670543793217932221738852611035920317138462331172138759162476136827798647812180469517562335032956955186874065634835089678902114253178505431272558991342632631796056108229947002221760336984114537910516374158839800125622322661370504961555275716273641242536000989327765850080410461532948571248147960387111840977648924885346686997228367529710428374863841917775725005920126872524631035636104355537783517815560933223891865393830182905809328921199964943855679239128036878066173617212755326744232244891397949449322281679119079993014398977132223678313298916455639415094123122049951406244886247335127440961662314723363439990161847265989358791461516494088831302352500080419891544877393208879034763437220873953509760354193681707465968136609391399850476559955672137853636793381734521186534955946242234098480835906198586880399742603866719988242335169307190944121572542255352709645909649168682450123430828687085743419963193572772372573822692490765052527713080183988816582078762458522708300026109050144629416521174823936534797504937893797446848959871075563730442832567975895451848391476697608061618427559687386437915946128236388557962213701524945062400578005167419376268673542422830421227929703994118941110258576547930125549296672283240997508743750332321580559775506332620037288428438775558208330905617631690140922787959188660651134740097740405835025885125216767382879592403558902043028533098803710258683632109416533035691820512617094466171924024942604386290176105554711233045412315843913496186197727217787608884574101454825065584878946461165905056460060051941917746533650074033537793427381528571081277620326422676820481177361409360085194809456291468936392252643372882792086998244756879348038562136287385792560827841565329370103736680008600100453213964387859287985599305061808715566778892494330907845965871112522554376690683959445662671446675555438229982133230413429991515168266980309821101897072014514439220085521809037642345229087846525630946538628374304573893216446690046720399821566731952506800891568741786889719933662176260836395740271282053588110888329087159468482170716245784208003125110418461791386409008566890443148353600336417165902489270108809875163853831397784736824005403776951885313819144682337855512371207560891618224951855625466374000963838448297269725543405798929485259668066888215240873901229893828368816238055432462084739912259966901404084026057474198117284726483197147027637215175067041316800214323565269688778358901982924664430987723928335837175414660144230470368008574342852910068155564985188858696495292367597577729769279721016179061333658708030513565449886435868670847380072309020429656011087044892857815238097639901688818923609341285215734615468878244019513308267821857896604632963904785155103241540710405973695321023125877706255740538567539607912814507525244063213749429291687838307279542196487976285513880010954425881796069468597088614981413568738388824971567451409673549182799269594375176723277298474448428827044545102897798306412024555484152783787857584839842953354728361023456473332954109545576420675546777673142882597661482524362594149717507686733490739847793248332153879 2805965717756851046125742430752062705086383608024670242313765828282263413398420197240887636144476472302581421703328977185464264496901460498958460636802967354071457748770102584752770255099032333785973881811010971506156192890984532047459594963708806196268010404828649752970350519476071243618146980690741253404531023645784275275326286407808408237247302207697732106725519315388109054856880032211014652136930577206054501085545220330403836196929811608979505206830240740346729992581154760239279174216029756888442041729231152360498419816042284823554244436294999285232535049607909714126939195855909201659763427844336241060288739572481285060160094112066255082978994698461553568232496490219054981426883971557394091489791618569051940508017649000731558709896865957674622175753702870122061483710248078265953093453125946034663927918349371561926402134713524202845287205231216633960874709907051025242939023112906391528967664187593484071747433319370711244952090937056474114318251430667991259754681969262762043733338286683069188655422820294822301631628460434497813432007832636760988214153426675146328438213794359452268779078087894829041162545724971272088106567198831716959317052644616739202746750553135866127270690905974554230583474471535581156362078919846846485044349000553436325081382995471233621472299397662255144236494307176807029111875077398675109275815706330161034987846355640873014541191581181542940285061217653558033656430570110477814663482897777135895078224126061767342342044322517020892670245921251226228258232742787360219771795512032175499680049974309112266150845907082772409232227247980686324347885965391383786163100233671903379706314561886603280097304117908070676471259889585684893625477916525051017568510773795482248685487960529998743575614261593390802135345889763090120428082625848810416776397414712171409694799900412838172433779401203486410183649676831952499026861966665592587484642891719578148656302952979057372060736465995977719724009110094151734970819729360592173859082665770539240947488387334834902969556759622553943656188261808193876070780508097813296724922948014869397021629417783861787897224215785208344143935265955310341587601129760292926703155862249046704408602777929575340976559440913279812408961064689743673390850859486788394653373329269271370937022656583177715285551932850555595595188413242076745520722061874553551038501083244204315351236238818569937779794858119456281654400455430644870666535072344219706461774965321092193511933364936225991447114056272175410746228186455141317374713658776174889488560896749074237840474485759006874040209219414931157346973124522786996399632319364233296966982654524885013777617033414864991160452879785144580830479617350584138906817913665423479675869960325372700494269927047910727515586513781256829481104840104153684079792202276535239824240696269318972644558890793859506543939859856222071401205795314529988419859628460918884942240830057281110442825880215190150200009628009364271129707284292786524926580861294454508066148525079847126455108440587561368070589886541451153933981367066997561683576885083861665174135547136945293240698726729838290725105159283382480391719612796563183160427877552234957196419556261588017129406111790970030196994882 4540147902597579348469355334418058227697742696589659879029339934195452316652724972421807946146147016095799353925067829796500184814039922830130599395965443490899256396582283054270332590131989288972847947445846061185058307144163037478732153955051438828064066513058596755192110856460185781528663354849581053530153346307154780236881562124082049479783303197025497956805929776921057626105027992598126493114579502091401188082773587860114264571793653526755230212750367612871361028217259115777062692031590690112333907123061335266307748737242249767409923675423036163298708666820665040871171440747307151109085709523455321053303138549613508738473393028521894498073117820511504974477382737554182422388546286280757531479953465835041299299479165494820390012249366038094513720631096079001096247147468952219462853807319627742129896054958762961776878694669196340698923998612951155147409665853293259341419859019104978409367406791460204059989768488677902189073663479311826823964161079836673709878112797949847787153301480255841561229245512785587354159341540618486630014086595095283696514179535725290957854734969183388803576583025788626488011505596046835818549399766807612411165444121314347264365178112823252565186637034210942788545688173060526218762656925014265861313022542976266746309312699465352562582557974210185269785790979460048026620618827730996689835591212662781072276274794416431222872097198813233081207849176842218684791170667850883649689368022993903277957816529620669385370577421320731151353878030667759263950053255404454685943719536974779885970226079863823499196258222926685905418424975198473933232460066846208851747979180133069284762774621938545197843837767982104214264687271114255974903098242947727838049688135204842333880297416821467679967866904966273594222344134519969468466644762136196209337225256277500779798536580421438272886993365591345698169248981893761214593640859159923495330608762832100703032993636938503034732183141551415949706142340507581726485987996340901994960979737785053680167573909143872545314785847469079574602726890182498449963996954787860017124744514746821903822520986525648677617157877961469180539675537237363929698489458847452395185326578494830912411727888348037132362968449480170255557314665026160839293340129595598269817227160667056107761028060360129600599371077532893451107559620802968363745673917500019925039464921692501585076779644617499423039462925007671522528301685324473239482773127776681791201687225287993597595959422410424108731840539469322438383443361522182634174927982341444578266919798731998902271462209687342711215623879559161627714981698865639906467787884349422155663477946892482591507386313135881170221786538493175094395929503786452809754197985974443909331881047370265558309508024687812416334510123122542045215720308982397703593100470098393136428873660174104127747800431504265480239260882982099777656946333882069596332674135986162948155990259348968948750105422411678126485523508020318697011503353761383613541562274863192896891120092531256800004291239857155743247313163839925602362808411612100459481883297108417149326919334994530133083652081458199314181578492237492025968140288343340856303310475213717481559013705979095703862896851638763278529148761 7346113620354430394595097765170120932784126304614330121343105762477715730051145169662695582290623488398380775628396806981964449310941383329089060032768410844970714145352385639023102845231021622758821829256857032691214500035147569526191748918760245024332076917887246508162461375936257025146810335540322306934684369952939055512207848531890457717030605404723230063531449092309166680961908024809141145251510079297455689168318808190518100768723465135734735419580608353218091020798413876016341866247620447000775948852292487626806168553284534590964168111718035448531243716428574754998110636603216352768849137367791562113591878122094793798633487140588149581052112518973058542709879227773237403815430257838151622969745084404093239807496814495551948722146231995769135896384798949123157730857717030485415947260445573776793823973308134523703280829382720543544211203844167789108284375760344284584358882132011369938335070979053688131737201808048613434025754416368300938282412510504664969632794767212609830886639766938910749884668333080409655790970001052984443446094427732044684728332962400437286292948763542841072355661113683455529174051321018107906655966965639329370482496765931086467111928665959118692457327940185497019129162644596107375124735844861112346357371543529703071390695694936586184054857371872440414022285286636855055732493905129671799111406918992942107264121150057304237413288779994776021492910394495776718447601237961361464352850920771039173036040655682436727712621743837752044024123951918985492208285998191814905715515049006955385650276054172935765347104130009458314650652223179160257580346032237592637911079413804972664469089183825148477941141885890174890735947160699940868528576159472778855618198909000324582565785377351466423543481166559664396357690024283059588894727387985006626113622670989672189493336480834276445320772766794832108352898658725713713620502825825516082815251654551678851689296589917560406792919607547393669430151450601733461456807725701494168820062403555592921115062296478707448284342607091633518258915151990692326034777462885673313849667462761691300844150404309510465514382093746677524683610803192674271286090588607745321888482440743877616820330666277612473339527890393450067966275729715904512684190989082386664470600489936327478698050716943307315884923010383449046702748034045045109266395979374573476077966004936705900428015883436069360819257783127127804182702140755118110149308200120901497663462190609085791107892787346650100178954595741497849129671547977323951549641641117619467755480695481073140111936695446349585255833098974092785061954823388426902867420203713655452630460601417367605285003346550746161382239418278319675226409121137036948661015899639867389007751007695638258803777951735723143850096636903798874696825149086551387672892672374928376253114356443423100392359322298124986783200742838321849058152129196599584752533764447081833098231089406250059192931302626868276685533136029682968141210638054170138468143136157647404957268617611103926459399680444717111317903050381376756296789778679098021165460182192278814501054882131475426324350808188037604906683651520874506359859901139904039463738352765952438755433262240683720992302963429733308726143643 11886261522952009743064453099588179160481869001203990000372445696673168046703870142084503528436770504494180129553464636778464634124981306159219659428733854335869970541934668693293435435363010911731669776702703093876272807179310607004923902873811683852396143430945843263354572232396442806675473690389903360464837716260093835749089410655972507196813908601748728020337378869230224307066936017407267638366089581388856877251092396050632365340517118662489965632330975966089452049015672991793404558279211137113109855975353822893113917290526784358374091787141071611829952383249239795869282077350523503877934846891246883166895016671708302537106880169110044079125230339484563517187261965327419826203976544118909154449698550239134539106975979990372338734395598033863649617015895028124253978005185982704878801067765201518923720028266897485480159524051916884243135202457118944255694041613637543925778741151116348347702477770513892191726970296726515623099417895680127762246573590341338679510907565162457618039941247194752311113913845865997009950311541671471073460181022827328381242512498125728244147683732726229875932244139472082017185556917064943725205366732446941781647940887245433731477106778782371257643964974396439807674850817656633593887392769875378207670394086505969817700008394401938746637415346082625683808076266096903082353112732860668488946998131655723179540395944473735460285385978808009102700759571337995403238771905812245114042218943764942450993857185303106113083199165158483195378001982586744756158339253596269591659234585981735271620502134036759264543362352936144220069077198377634190812806099083801489659058593938041949231863805763693675784979653872279105000634431814196843431674402420506693667887044205166916446082794172934103511348071525937990580034158803029057361372150121202835450847927267172969291873061255714718207766132386177806522147640619474928214143684985439578145860417383779554722290226856063441525102749098809619136293791109315187942795722042396163781042141340646601282636205622579993599128454560713092861642042173190775998774417673533330974411977508513204666671390835159143131539971708146705223286340430038200984580047455197717073809019238708529232058554625649605702496339873620323523590394742065351977531118677984934287827650603383586459078777303436916484294087916342497810307654848013473012069896874593401117430926629207485504795528053568783858720708134799326711003826079591349632081327897583288865149415897079388703852209757074208910795135210820287513114909499506585724569623459064046022400494213072042383398905133692296471456978533254412776936522254066809335208088063077608293938548309850196792389659686627331604025956771494769622338624923489758415213885614311298339632055065903817113285976423535560184606760026340919912545458068949091265993142473321512681988016617527228140159753802390467022461625820421626715098463078669181085207900433244781254221348755219007943036725038546403171056644050001665152713991815553752009705411020840301848388710142360726463690920301872854565216214221302358659598190291198480647343479300695963827974217126005559408002889646236919088262143758366532328000189483244895767048827979669920314446968219779424855199815068496587255292404 19232375143306440137659550864758300093265995305818320121715551459150883776755015311747199110727393992892560905181861443760429083435922689488308719461502265180840684687287054332316538280594032534490491605959560126567487307214458176531115651792571928876728220348833089771517033608332699831822284025930225667399522086213032891261297259187862964913844514006471958083868827961539390988028844042216408783617599660686312566419411204241150466109240583798224701051911584319307543069814086867809746424526831584113885804827646310519920085843811318949338259898859107060361196099677814550867392713953739856646783984259038445280486894793803096335740367309698193660177342858457622059897141193100657230019406801957060777419443634643227778914472794485924287456541830029632785513400693977247411708862903013190294748328210775295717544001575032009183440353434637427787346406301286733363978417373981828510137623283127718286037548749567580323464172104775129057125172312048428700528986100846003649143702332375067448926581014133663060998582178946406665741281542724455516906275450559373065970845460526165530440632496269070948287905253155537546359608238083051631861333698086271152130437653176520198589035444741489950101292914581936826804013462252740969012128614736490554027765630035672889090704089338524930692272717955066097830361552733758138085606637990340288058405050648665286804517094531039697698674758802785124193669965833772121686373143773606578395069864535981624029897840985542840795820908996235239402125934505730248366625251788084497374749634988690657270778188209695029890466482945602534719729421556794448393152131321394127570138007743014613700952989588842153726121539762453995736581592514137711960250561893285549286085953205491499011868171524400527054829238085602386937724183086088646256099538106209461564470598256845158785209542089991163528538899181009914875046299345188641834646510810955660961112071935458406411586816773623848318022356646203288566445241711048649399603447743890332601104544896239522397698502101287441883471061652346611120557194163883102033551880559206644824079440270204505510821795144669608645922065454824229906897143622712472270670636062943038962291459982586146052389220903262079042024230267070391489866124457969864661722107760371598758428140539711065157129494246744232369217098299791544513055688893058582278465876249166877195396931565913385932811411489638144677978491261927130893705966834709459781389528018484786528611606506165179811744997103724309089749730952318136642786457476830537274211264576683513777881189694145182495335600580041881727290077507347197838891345642493712202628291776733060924399149727217802077393006237373492986265375049814444848747746060526707076229785254178687347383062761542075917063928159258704034703396930139794609370607155500478938885814848249888935102373060950328532519076100515453805662368658743475773250592275268765837741664880326614352452438161469067135968027665414679856589780079684633293924629869723890477848547178487706805657327753464652923090600746589965883119264602679114956387968970296501812803661492974778329029099257480985732353697834274523994945795279241038687860090623148935230787180745622359069880230460463145847502778498229895981436047 31118636666258449880724003964346479253747864307022310122087997155824051823458885453831702639164164497386741034735326080538893717560903995647528378890236119516710655229221723025609973715957043446222161382662263220443760114393768783536039554666383612729124363779778933034871605840729142638497757716320129027864359802473126727010386669843835472110658422608220686104206206830769615295095780059623676421983689242075169443670503600291782831449757702460714666684242560285396995118829759859603150982806042721226995660803000133413034003134338103307712351686000178672191148482927054346736674791304263360524718831150285328447381911465511398872847247478808237739302573197942185577084403158428077056223383346075969931869142184882362318021448774476296626190937428063496435130416589005371665686868088995895173549395975976814641264029841929494663599877486554312030481608758405677619672458987619372435916364434244066633740026520081472515191142401501644680224590207728556462775559691187342328654609897537525066966522261328415372112496024812403675691593084395926590366456473386701447213357958651893774588316228995300824220149392627619563545165155147995357066700430533212933778378540421953930066142223523861207745257888978376634478864279909374562899521384611868761698159716541642706790712483740463677329688064037691781638437818830661220438719370851008777005403182304388466344913039004775157984060737610794226894429537171767524925145049585851692437288808300924075023755026288648953879020074154718434780127917092475004524964505384354089033984220970425928891280322246454294433828835881746754788806619934428639205958230405195617229196601681056562932816795352535829511101193634733100737216024328334555391924964313792242953972997410658415457950965697334630566177309611540377517758341889117703617471688227412297015318525524018128077082603345705881736305031567187721397193939964663570048790195796395239106972489319237961133877043629687289843125105745012907702739032820363837342399169786286496382146686236886123680334707723867435482599516213059703982199236337073878032326298232739975798491417778717710177493185979828751777462037162970935130183484052750673255250683518140756036100479221294675284447775528911684744520570140690715013456519200035216639253226438356533046255791143094651616208271550181148853511186216134042323363343741072055290535773123760278312827858195120871437606939543206928536699199396726457604709792914300809413470855916068075393761022403244568515597206860798518000544866163138424155901366976337122998780888035747559800281683907217224878734505713734178198747056040601610615827867896560521537836379839810669218337698037067998869782665924000824590291331821309214471086370984016465491443670868489985687015117827445893030349904582794264219310156956480714521916065224449570204878957321571401617090389678477556672678829902905920828123994479165102488349055353937946922949565313571395606673786916688075079004752703961083027646424129686298446638621685277642487553958199328008654046037895825379386781521048462820448335478823981473615986159261494982460147140793670742157003316383486545140356587480511443083207939037607571015860280106393830997836008725292279384327198680242570702702593566726483236728451 50351011809564890018383554829104779347013859612840630243803548614974935600213900765578901749891558490279301939917187524299322800996826685135837098351738384697551339916508777357926511996551075980712652988621823347011247421608226960067155206458955541605852584128612022806388639449061842470320041742250354695263881888686159618271683929031698437024502936614692644188075034792309006283124624101840085205601288902761482010089914804532933297558998286258939367736154144604704538188643846727412897407332874305340881465630646443932954088978149422257050611584859285732552344582604868897604067505258003217171502815409323773727868806259314495208587614788506431399479916056399807636981544351528734286242790148033030709288585819525590096935921568962220913647479258093129220643817282982619077395730992009085468297724186752110358808031416961503847040230921191739817828015059692410983650876361601200946053987717371784919777575269649052838655314506276773737349762519776985163304545792033345977798312229912592515893103275462078433111078203758810341432874627120382107272731923946074513184203419178059305028948725264371772508054645783157109904773393231046988928034128619484085908816193598474128655177668265351157846550803560313461282877742162115531911649999348359315725925346577315595881416573078988608021960781992757879468799371564419358524326008841349065063808232953053753149430133535814855682735496413579351088099503005539646611518193359458270832358672836905699053652867274191794674840983150953674182253851598205252891589757172438586408733855959116586162058510456149324324295318827349289508536041491223087599110361726589744799334609424071176633769784941377983237222733397187096473797616842472267352175526207077792240058950616149914469819137221735157621006547697142764455482524975206349873571226333621758579789123780863286862292145435697045264843930748197636272240239309852211883436706607350900068084561254696367545463860403311138161147462391216196269184274531412486742002617530176828983251231133125646078033209825154877366070577865406315102756430500956980065878178791946620622570858048922215688314981124498360423384102617795165037080627675463145525921319581083794998391939203880821336836996432173763786544800407761106503322643658005081300975334198728131804683931682805716773337765796925381222728284515925586836419032634130637569001649372927155508224789761034257370418351032845073214677690658653588498415759749010269194860383934552861922372628909409748327342203964522827090294597115456560798687824453167660272992152612431073578162873601362407374070106293776059926037133547948808454719213539054233740464671616543730142736847764285800947175672161374317576556706871123659319834117044543172567673456122668673034398180588987968947413832742052968254013553886620509131286672379950049143764772169821290552192762739427885205197906003421374633786363137908578261599647629206712760691230193898009959126225078157142214972780369375762884236204209370931740563251555001532965402505377815715459703365649290032309872121795052786331454743426660588572374128231791484272950802286645520486032415640967530872710285314785967078153734316848609703720370729542766228623189470914638454207429140705716550205372064956379218164498 81469648475823339899107558793451258600761723919862940365891545770798987423672786219410604389055722987666042974652513604838216518557730680783365477241974504214261995145730500383536485712508119426934814371284086567455007536001995743603194761125339154334976947908390955841260245289790985108817799458570483723128241691159286345282070598875533909135161359222913330292281241623078621578220404161463761627584978144836651453760418404824716129008755988719654034420396704890101533307473606587016048390138917026567877126433646577345988092112487525564762963270859464404743493065531923244340742296562266577696221646559609102175250717724825894081434862267314669138782489254341993214065947509956811342466173494109000641157728004407952414957370343438517539838416686156625655774233871987990743082599081004980641847120162728925000072061258890998510640108407746051848309623818098088603323335349220573381970352151615851553517601789730525353846456907778418417574352727505541626080105483220688306452922127450117582859625536790493805223574228571214017124467711516308697639188397332775960397561377829953079617264954259672596728204038410776673449938548379042345994734559152697019687194734020428058721319891789212365591808692538690095761742022071490094811171383960228077424085063118958302672129056819452285351648846030449661107237190395080578963045379692357842069211415257442219494343172540590013666796234024373577982529040177307171536663242945309963269647481137829774077407893562840748553861057305672108962381768690680257416554262556792675442718076929542515053338832702603618758124154709096044297342661425651726805068592131785362028531211105127739566586580293913812748323927031920197211013641170806822744100490520870035194031948026808329927770102919069788187183857308683141973240866864324053491042914561034055595107649304881414939374748781402927001148962315385357669434179274515781932226902403746139175057050573934328679340904032998428004272568136229103971923307351776324084401787316463325365397917370011769758367917549022312848670094078466019084955666838030858098204477024686596421062275827639925865808167104327112200846139780766100167264111728213818781172003099224551034492418425175496621284771961085448531065370548451821516779162858040297940228560637084664850939722825900368389546037347106530076239470732059629159782376375202692859537422496687433821052647956155128808025290576052001751376890055380046103125552663311078608331239850620937316133651312654316842939410825321345090839463278594984954589191429504783271773040648178633378444557508579632252804612007510238124784189588550419070547081435614755278301051456354399361074545801353799816958338085375142166848038692432873790920488028559638059117126991158658721413298416433861977763737324847232473323710843101223653202737604399619348643729491392692169283152417905441877876735906327295461910357617073680749948702983144659683640795507469405565800011994845217293977533073336845911882628339057230187201873240279175452956463577143724113749403545115411696653642843515606779790222250642062188360287493286466733097943080316262643035732024454076013066872795297410161361673354456180719580650835936597226459198196206917838534627820948287252907965631682862454892949 131820660285388229917491113622556037947775583532703570609695094385773923023886686984989506138947281477945344914569701129137539319554557365919202575593712888911813335062239277741462997709059195407647467359905909914466254957610222703670349967584294695940829532037002978647648884738852827579137841200820838418392123579845445963553754527907232346159664295837605974480356276415387627861345028263303846833186267047598133463850333209357649426567754274978593402156550849494806071496117453314428945797471791331908758592064293021278942181090636947821813574855718750137295837648136792141944809801820269794867724461968932875903119523984140389290022477055821100538262405310741800851047491861485545628708963642142031350446313823933542511893291912400738453485895944249754876418051154970609820478330073014066110144844349481035358880092675852502357680339328937791666137638877790499586974211710821774328024339868987636473295177059379578192501771414055192154924115247282526789384651275254034284251234357362710098752728812252572238334652432330024358557342338636690804911920321278850473581764797008012384646213679524044369236258684193933783354711941610089334922768687772181105596010927618902187376497560054563523438359496099003557044619764233605626722821383308587393150010409696273898553545629898440893373609628023207540576036561959499937487371388533706907133019648210495972643773306076404869349531730437952929070628543182846818148181436304768234102006153974735473131060760837032543228702040456625783144635620288885510308144019729231261851451932888659101215397343158752943082419473536445333805878702916874814404178953858375106827865820529198916200356365235291795985546660429107293684811258013279090096276016727947827434090898642958244397589240140804945808190405005825906428723391839530403364614140894655814174896773085744701801666894217099972265992893063582993941674418584367993815663609011097039243141611828630696224804764436309566165420030527445300241107581883188810826404404846640154348649148503137415836401127374177190214740671943872334187712097338987838164082655816633217043633133876562141554123148228825472624230242398561265204344739403676964307093322680308346032884357629056317958121768393259212317610170956212928020101806516045379241203894835812796655623654508706085162883803144031911298967755247985215996201409009333330428539071869614589329277437717189386178443641608897074966054580714033634601541312412321347803191623785173799238506280222064065170281614789844172181134060394051545753277015882672443544765193260609706956607431109942039626874718301286298050821323136499227525266294974668989018765723072898129503811393565639600764134010246749459743404745563556533110754605073102810626790583113827331755811479005421830925177570066900200727337264729721732784489409984349668492408501661213982721475915157333327083074641909748670095696720754982259011548350612351372444332025701367415524926237073002359508950313442712608796118832548428161927765124795280708418358968954959439573452769194405444006525764638568393111244965677302650760734415725077951006048745366961783129068147665421606885777158110083377239515407671304790423301021565479363455082387667121556292742056961654003803113337696639241673057447 213290308761211569816598672416007296548537307452566510975586640156572910447559473204400110528003004465611387889222214733975755838112288046702568052835687393126075330207969778124999483421567314834582281731189996481921262493612218447273544728709633850275806479945393934488909130028643812687955640659391322141520365271004732308835825126782766255294825655060519304772637518038466249439565432424767608460771245192434784917610751614182365555576510263698247436576947554384907604803591059901444994187610708358476635718497939598624930273203124473386576538126578214542039330713668715386285552098382536372563946108528541978078370241708966283371457339323135769677044894565083794065113439371442356971175137136251031991604041828341494926850662255839255993324312630406380532192285026958600563560929154019046751991964512209960358952153934743500868320447736683843514447262695888588190297547060042347709994692020603488026812778849110103546348228321833610572498467974788068415464756758474722590704156484812827681612354349043066043558226660901238375681810050152999502551108718611626433979326174837965464263478633783716965964462722604710456804650489989131680917503246924878125283205661639330246097817451843775889030168188637693652806361786305095721533992767268815470574095472815232201225674686717893178725258474053657201683273752354580516450416768226064749202231063467938192138116478616994883016327964462326507053157583360153989684844679250078197371653635112565247208468654399873291782563097762297892107017388979565767724698282286023937294170009818201616268736175861356561840543628245541378103221364342526541209247545990160468856397031634326655766942945529205608733870587461027490895824899184085912840376507248817862628122846669766574325359343059874733995374262314509048401964258703854456855657055455689869770004422390626116741041642998502899267141855378968351611108597858883775747890511414843178418198662402565024904145668469307994169692598663674404213030889234965134910806192163103479714047065873149185594769044923199503063410766022338353272667764177018696262287132841319813464695409704202067419931315333152584825076382179327365371608851131890783088265325779532897067376776054231814579406540354344660848675541504664749536880969374085677181432455472897461506563377334606453552429840491138441375207225980044845155983785384536023288076494366302023150330085673344514986468932184949076717431470769413680704666865075632426411522863635794736554639931534718382013221025615165517271973523672646530707866207312177226816538233908788340335051988618521671879679330308796536175605512725049646595813376410283744297066774529252528864885939366993400581092348332124601910252784255989406901675093101662448685907710104985990477224777421855692902941307391747433200660975572822956437692147588749287841052231152606674890759067575238768960951377816075965557607078372055939761497053595496032127972821208836821090726249067847576802927846516049454708001460887485392114966998035559883871315432532103163687202172739520855703179407482083999891035187927944712949094703218364417739146688447278045772103879689875682898844030905380787400877081025760971142881672401415960681541585863328474131276684782602291056021303328322104127950396 345110969046599799734089786038563334496312890985270081585281734542346833471446160189389616666950285943556732803791915863113295157666845412621770628429400282037888665270209055866462481130626510242229749091095906396387517451222441150943894696293928546216636011982396913136558014767496640267093481860212160559912488850850178272389579654689998601454489950898125279252993794453853877300910460688071455293957512240032918381461084823540014982144264538676840838733498403879713676299708513215873939985082499690385394310562232619903872454293761421208390112982296964679335168361805507528230361900202806167431670570497474853981489765693106672661479816378956870215307299875825594916160931232927902599884100778393063342050355652275037438743954168239994446810208574656135408610336181929210384039259227033112862136808861690995717832246610596003226000787065621635180584901573679087777271758770864122038019031889591124500107955908489681738849999735888802727422583222070595204849408033728756874955390842175537780365083161295638281892879093231262734239152388789690307463029039890476907561090971845977848909692313307761335200721406798644240159362431599221015840271934697059230879216589258232433474315011898339412468527684736697209850981550538701348256814150577402863724105882511506099779220316616334072098868102076864742259310314314080453937788156759771656335250711678434164781889784693399752365859694900279436123786126543000807833026115554846431473659789087300720339529415236905835011265138218923675251653009268451278032842302015255199145621942706860717484133519020109504922963101781986711909100067259401355613426499848535575684262852163525571967299310764497404719417247890134784580636157197365002936652523976765690062213745312724818722948583200679679803564667320334954830687650543384860220271196350345683944901195476370818542708537215602871533134748442551345552783016443251769563554120425940217661340274231195721128950432905617560335112629191119704454138471118153945737210597009743634062696214376286601431170172297376693278151437966210687460379861516006534426369788657953030508328543580764208974054463561978057449306624577888630575953590535567747395358648459841243100261133683288132537528308747603873166285712460877677556982775890131056422636350308710258162187031843312538715313643635170352674174981228030061152185194393869353716615566235916612479607523390533901164912573793846151683486051483447315306208177487953774214714487420968535793146211756782447183502640405009689453107584066698076461143223194849670361303427169398047291659419728463711506554048610082834226426835861548874121079671384952733315832497602150658368697332932633001345226358578874061653657529819545940012429698174765259312698293218813322233036256427277523828118877458647633927998240302544689222181557573098956333460732813820657612234982732572096044026019725824635653303799127038198773045404207847404572304846910204236615652486140849936311878159958762063504120293435913554042732122830840592289674401487062603260654941933926299709705172120652393002280153605247363709829118943442368745195433814239828901172027355297289784621189015464164640392488697065761566182693966895324136623973530450030424018741744256294859134641024961345801007843 558401277807811369550688458454570631044850198437836592560868374698919743919005633393789727194953290409168120693014130597089050995779133459324338681265087675163963995478178833991461964552193825076812030822285902878308779944834659598217439425003562396492442491927790847625467144796140452955049122519603482701432854121854910581225404781472764856749315605958644584025631312492320126740475893112839063754728757432467703299071836437722380537720774802375088275310445958264621281103299573117318934172693208048862030029060172218528802727496885894594966651108875179221374499075474222914515913998585342539995616679026016832059860007402072956032937155702092639892352194440909388981274370604370259571059237914644095333654397480616532365594616424079250440134521205062515940802621208887810947600188381052159614128773373900956076784400545339504094321234802305478695032164269567675967569305830906469748013723910194612526920734757599785285198228057722413299921051196858663620314164792203479465659547326988365461977437510338704325451105754132501109920962438942689810014137758502103341540417146683943313173170947091478301165184129403354696964012921588352696757775181621937356162422250897562679572132463742115301498695873374390862657343336843797069790806917846218334298201355326738301004895003334227250824126576130521943942584066668660970388204924985836405537481775146372356920006263310394635382187659362605943176943709903154797517870794804924628845313424199865967547998069636779126793828235981221567358670398248017045757540584301279136439791952525062333752869694881466066763506730027528090012321431601927896822674045838696044540659883797852227734242256293703013453287835351162275476461056381450915777029031225583552690336591982491393048307926260554413798938929634844003232651909247239317075928251806035553714905617866996935283750180214105770800276603821519697163891614302135545311444631840783396079538936633760746033096101374925554504805227854794108667169360353119080648016789172847113776743280249435787025939217220576196341562203988549040733047625693025230688656921499272843973023953284966276393985778895130642274383006757215995947562441667458530483623974239374140167637909737519947116934849101948534014961253965542427093863745264216733604068805781607719668750409177918992267743484126308794049382207208074906308168979778405377004692060602218635629937609063878416151381505978795228400917522252860996010875042563586200626237351056763272347786143291500829196723666020175206725081107739344607169009430507026897177841661078186387626711408346985383386233378918879370402032348586598520716893047795236477612899272131403187233583272299626401926318706910998663563910314075535346914104791276427707998606003323799312710261033849133216731060184850395067128659215875367645659873705161848244174512963966427332502994050307810865004977397541900601210910877499094138534542457803343436700277668119041057706378735208697513114806006474811518212121754323398946157699120866400476160989834019165766947857114673447155412884579602736392893315341533192076658923822161806786484342122261517874673275907045172972683465219920844952041269569722826732709064366368311284818165559393778504555295426526858585915155944353283449928958239 903512246854411169284778244493133965541163089423106674146150109241266577390451793583179343861903576352724853496806046460202346153445978871946109309694487957201852660748387889857924445682820335319041779913381809274696297396057100749161334121297490942709078503910187760762025159563637093222142604379815643261345342972705088853614984436162763458203805556856769863278625106946174004041386353800910519048686269672500621680532921261262395519865039341051929114043944362144334957403008086333192874157775707739247424339622404838432675181790647315803356764091172143900709667437279730442746275898788148707427287249523491686041349773095179628694416972081049510107659494316734983897435301837298162170943338693037158675704753132891569804338570592319244886944729779718651349412957390817021331639447608085272476265582235591951794616647155935507320322021867927113875617065843246763744841064601770591786032755799785737027028690666089467024048227793611216027343634418929258825163572825932236340614938169163903242342520671634342607343984847363763844160114827732380117477166798392580249101508118529921162082863260399239636365905536201998937123375353187573712598047116318996587041638840155795113046447475640454713967223558111088072508324887382498418047621068423621198022307237838244400784115319950561322922994678207386686201894380982741424325993081745608061872732486824806521701896048003794387748047354262885379300729836446155605350896910359771060318973213287166687887527484873684961805093374200145242610323407516468323790382886316534335585413895231923051237003213901575571686469831809514801921421498861329252436100545687231620224922735961377799701541567058200418172705083241297060057097213578815918713681555202349242752550337295216211771256509461234093602503596955178958063339559790624177296199448156381237659806813343367753826458717429708642333411352264071042716674630745387314874998752266723613740879210864956467162046534280543114839917857045913813121307831471273026385227386182590747839439494625722388457109389517952889619713641954759728193427487209031765115026710157225874481352496865730485368040242457108699723689631335104626523516032203026277878982622699215383267899043420808079654463157849552407181246966426420104650846521154347790026705156090317977830937441021231530983057127761479146723557188436104967460354174172274730721307626838135248109545132454412317316294079772641380084403573736308311317083220051539974840951838477731808140932355048283276380226306425184896178188691806042683630152653701876567539145088247584434918370828075449094892787427528962204628459184448147394837972719180189210928731769733553845602280605232259403271545065489872725217567843895081286926534489451192967311304296542612634943297290276410740559179062309042701056657456177912334882055262734947200507973696780247990115229033040382961049003417267725236864214676626132337307587862011190841272582515029245294322031221349547449426684166433573581716242047759312500200431243697241068450664235506228370208512056607373455122589751723388785895595495138439440368752941105249155229537556075757703574447934400470262468086408936309116681662058419892494275247060335206608954789532924228534979314168271114880774290585378244795729966082 1461913524662222538835466702947704596586013287860943266707018483940186321309457426976969071056856866761892974189820177057291397149225112331270447990959575632365816656226566723849386410235014160395853810735667712153005077340891760347378773546301053339201520995837978608387492304359777546177191726899419125962778197094559999434840389217635528314953121162815414447304256419438494130781862246913749582803415027104968324979604757698984776057585814143427017389354390320408956238506307659450511808330468915788109454368682577056961477909287533210398323415200047323122084166512753953357262189897373491247422903928549508518101209780497252584727354127783142150000011688757644372878709672441668421742002576607681254009359150613508102169933187016398495327079250984781167290215578599704832279239635989137432090394355609492907871401047701275011414643256670232592570649230112814439712410370432677061534046479709980349553949425423689252309246455851333629327264685615787922445477737618135715806274485496152268704319958181973046932795090601496264954081077266675069927491304556894683590641925265213864475256034207490717937531089665605353634087388274775926409355822297940933943204061091053357792618579939382570015465919431485478935165668224226295487838427986269839532320508593164982701789010323284788573747121254337908630144478447651402394714198006731444467410214261971178878621902311314189023130235013625491322477673546349310402868767705164695689164286637487032655435525554510464088598921610181366809968993805764485369547923470617813472025205847756985384989872908783041638449976561837042891933742930463257149258774591525927664765582619759230027435783823351903431625992918592459335533558269960266834490710586427932795442886929277707604819564435721788507401442526590022961295991469037863494372127699962416791374712431210364689110208897643814413133687956085590739880566245047522860186443384107507009820418147498717213195142635655468669344723084900707921788477191824392107033244175355437861616182774875158175483048606738529085961275845943308768926475112902056995803683631656498718454376450150696761762026021352239341998072638092320622471078473870484808362606596938589523435536953158328026771398006951500941196208220391962531744710266418564523630773961871925697499687850199150523250800611887787940772939395644179873768523153950680107725999687440353883739482741518290733467675585751436608485321095989169307327958262615126175467189189534495080488718498339784105576949972445360102903269799545387290799162084208903464716986749325770822545082236422434478279020806447841575030491533034745915554865766975425688541631041864957032835863877531885805197863772400871388781478157970616633840639280727620675309910299866411947653558324125543957290239247159437768185316672053279980541928967896795444682486660746675322618223083348193826053980814809625838075125554125226475842130319814534277972860183148286352028409956558244962541490172908385099928363802082711446358130364563641544611654069525394137156369171280820610535474331326125178788910836671631517027676763267055941713879678337275578247723841445643235151551628857154068722931628142719226984311426703517893772955092318007039534609594797973466689446529731528245658924321 2365425771516633708120244947440838562127176377284049940853168593181452898699909220560148414918760443114617827686626223517493743302671091203216557300654063589567669316974954613707310855917834495714895590649049521427701374736948861096540107667598544281910599499748166369149517463923414639399334331279234769224123540067265088288455373653798291773156926719672184310582881526384668134823248600714660101852101296777468946660137678960247171577450853484478946503398334682553291195909315745783704682488244623527356878708304981895394153091078180526201680179291219467022793833950033683800008465796161639954850191178073000204142559553592432213421771099864191660107671183074379356776144974278966583912945915300718412685063903746399671974271757608717740214023980764499818639628535990521853610879083597222704566659937845084859666017694857210518734965278538159706446266295956061203457251435034447653320079235509766086580978116089778719333294683644944845354608320034717181270641310444067952146889423665316171946662478853607389540139075448860028798241192094407450044968471355287263839743433383743785637338897467889957573896995201807352571210763627963500121953869414259930530245699931209152905665027415023024729433142989596567007673993111608793905886049054693460730342815831003227102573125643235349896670115932545295316346372828634143819040191088477052529282946748795985400323798359317983410878282367888376701778403382795466008219664615524466749483259850774199343323053039384149050404014984381512052579317213280953693338306356934347807610619742988908436226876122684617210136446393646557693855164429324586401694875137213159284990505355720607827137325390410103849798698001833756395590655483539082753204392141630282038195437266572923816590820945183022601003946123545201919359331028828487671668327148118798029034519244553732442936667615073523055467099308349661782597240875792910175061442136374230623561297358363673680357189169936011784184640941946621734909785023295665133418471561538028609455622269500880563940157996256481975580989487898068497119902600111088760918710341813724592935728947016427247130066263809348041721762269427425248994594506073511086241589219637804906703435996579136106425861164801053348377455186818382636395556787572912313657479117962243675330625291220382054233857739649267087496496584080284841228877328122954838447307314278489131849027873972703050783969665524077988569724669725477618645041482666666150308141028012226888629650853388067381957176278870544999081458491351429974429314737910780032256131837573355257463453064497883573171808233976803779658950717482893310392838486155614899470362811598510878438144482764145208469408837890744113999046001865697920767173770178813642621214596409024582596855614401954697849418309468480469241974128231192315423984230631742645190460357526923312733452116388576787102984232077351074939340230751358813149718181825725119245442698177531646350441177907792411968174339341958681644605849842023946558561608260882613062318305031622507364881227888194065658064083049513964684506331810070957396429704372305096943417234413033281822171775846113497619638037793463185404593686562611721259558487038724502727744625242235574513923763069088347463737115109773041388890403 3827339296178856246955711650388543158713189665144993207560187077121639220009366647537117485975617309876510801876446400574785140451896203534487005291613639221933485973201521337556697266152848656110749401384717233580706452077840621443918881213899597621112120495586144977537009768283192185576526058178653895186901737161825087723295762871433820088110047882487598757887137945823162265605110847628409684655516323882437271639742436659231947635036667627905963892752725002962247434415623405234216490818713539315466333076987558952355631000365713736600003594491266790144878000462787637157270655693535131202273095106622508722243769334089684798149125227647333810107682871832023729654854646720635005654948491908399666694423054359907774144204944625116235541103231749280985929844114590226685890118719586360136657054293454577767537418742558485530149608535208392299016915526068875643169661805467124714854125715219746436134927541513467971642541139496278474681873005650505103716119048062203667953163909161468440650982437035580436472934166050356293752322269361082519972459775912181947430385358648957650112594931675380675511428084867412706205298151902739426531309691712200864473449761022262510698283607354405594744899062421082045942839661335835089393724477040963300262663324424168209804362135966520138470417237186883203946490851276285546213754389095208496996693161010767164278945700670632172434008517381513868024256076929144776411088432320689162438647546488261231998758578593894613139002936594562878862548311019045439062886229827552161279635825590745893821216749031467658848586422955483600585788907359787843550953649728739086949756087975479837854573109213762007281424690920426215731124213753499349587695102728058214833638324195850631421410385380904811108405388650135224880655322497866351166040454848081214820409231675764097132046876512717337468600787264435252522477807120840433035247885520481737633381715505862390893552331805591480453529364026847329656698262215120057240451715736893466471071805044376038739423206602995011061542265333841377266046377713013145756722393973470223311390105397167124008892092285161587383719834907519745871465672979943995894604195816576394430138972949737464133197259171752554289573663407210345168140267053991476837288253079834169372830313141419532577484658351537055028269435979724464714997400482073634946173307001718843015588510615490993784251645251275514597055045765714646925972999745281792325775330217546721969118369351727851487534126251315905101984728290896817265228476822119683496973118586899126080008535300920318051450829040424645354689442250517639225947704253131040588011993853463467911274008360296031013667272610291615502780524159836314554607813050906434317931124896275436530250413938527498655139657556627918237427290800284472295965913198528538089872947018273598635351675199736770613156965046886976913014465784876585288991848501640259397218302881325817998378851134466037374509664512250343781572969651924735392916691972824524157673972374557016644521250399169014676193538414375639143473417168481702474424106467639361038657296912750308860069895617291756732771189666650617254127525314705330948243869913742242396500699717560242614048533357867061814153183644841301287047814724 6192765067695489955075956597829381720840366042429043148413355670303092118709275868097265900894377752991128629563072624092278883754567294737703562592267702811501155290176475951264008122070683151825644992033766755008407826814789482540458988881498141903022719995334311346686527232206606824975860389457888664411025277229090176011751136525232111861266974602159783068470019472207830400428359448343069786507617620659906218299880115619479119212487521112384910396151059685515538630324939151017921173306958162842823211785292540847749784091443894262801683773782486257167671834412821320957279121489696771157123286284695508926386328887682117011570896327511525470215354054906403086430999620999601589567894407209118079379486958106307446118476702233833975755127212513780804569472650580748539500997803183582841223714231299662627203436437415696048884573813746552005463181822024936846626913240501572368174204950729512522715905657603246690975835823141223320036481325685222284986760358506271620100053332826784612597644915889187826013073241499216322550563461455489970017428247267469211270128792032701435749933829143270633085325080069220058776508915530702926653263561126460795003695460953471663603948634769428619474332205410678612950513654447443883299610526095656760993006140255171436906935261609755488367087353119428499262837224104919690032794580183685549525976107759563149679269499029950155844886799749402244726034480311940242419308096936213629188130806339035431342081631633278762189406951578944390915127628232326392756224536184486509087246445333734802257443625154152276058722869349130158279644071789112429952648524865952246234746593331200445681710434604172111131223388922259972126714869237038432340899494869688496871833761462423555238001206326087833709409334773680426800014653526694838837708781996200012849443750920317829574983544127790860524067886572784914305075047996633343210309327656855968256943012864226064573909520975527492237714004968793951391608047238415722373870187298431495080527427313876919303363364599251493037123254821739445763166280313124234517641104315283947904325834344183551256022158548970935425441597176947171120460267486017506980845785036214199336842408946316600239623120336553607637951118594028727804535823841564389150945732197796413048160938432639914631718516091186322115765932563804749556226277810196589784620614315997332147437538489463696835035614916799592585624770435440124544618041227948458476083471245558948857748020205115918869491302530186450101066186782248247239657791560030463529229250424472481337471988365418201624622637274401449134348392968000532536340542739286655487482356665061978789712152843060176222136681448182359616779570161702012475374986821085247960552339492684461112847269552929453352989075866096398706669264928515664611389897429160280735063407375800521948085127316125347400259949278964327987953806015627944102141566683465984516463745579503349644729292312373829786477838851592302463217575501766759339475253581085406770736290679588639151886131627057208741851602497425153108157923500291773431820536172011666135600714147163342141892067393137870230390827704444080439532119001267942669503428400780966899228444342802478188562457120936150161616920759951074328436705127 10020104363874346202031668248217924879553555707574036355973542747424731338718642515634383386869995062867639431439519024667064024206463498272190567883881342033434641263377997288820705388223531807936394393418483988589114278892630103984377870095397739524134840490920456324223537000489799010552386447636542559597927014390915263735046899396665931949377022484647381826357157418030992666033470295971479471163133944542343489939622552278711066847524188740290874288903784688477786064740562556252137664125671702158289544862280099800105415091809607999401687368273753047312549834875608958114549777183231902359396381391318017648630098221771801809720021555158859280323036926738426816085854267720236595222842899117517746073910012466215220262681646858950211296230444263061790499316765170975225391116522769942977880768524754240394740855179974181579034182348954944304480097348093812489796575045968697083028330665949258958850833199116714662618376962637501794718354331335727388702879406568475288053217241988253053248627352924768262486007407549572616302885730816572489989888023179651158700514150681659085862528760818651308596753164936632764981807067433442353184573252838661659477145221975734174302232242123834214219231267831760658893353315783278972693335003136620061255669464679339646711297397576275626837504590306311703209328075381205236246548969278894046522669268770330313958215199700582328278895317130916112750290557241085018830396529256902791626778352827296663340840210227173375328409888173507269777675939251371831819110766012038670366882270924480696078660374185619934907309292304613758865432979148900273503602174594691333184502681306680283536283543817934118412648079842686187857839082990537781928594597597746711705472085658274186659411591706992644817814723423815651680669976024561190003749236844281227669852982596081926707030420640508197992668673837220166827552855117473776245557213177337705890324728370088455467461852781118972691243368995641281048306309453535779614321903035324961551599232358252958042786571202246504098665520155580823029212658026137380274363498288754171215715939741350675264914250834132522809161432084466916991925940465961502875449980852790593766981381896054064372820379508306161927524782001239072972676090895555865988233985277630582420991251574059447209203174442723377144035368543529214271223678292270224730793921317716175163026049104954690619287260168075107182679816201154771470591040973230250801858801463105670826866389556843770357025428781502355203050915073145064504886268382150147026202369011371607417480523666338519676073466314826094489037835218518171762288246992417696075494350518525446700986161203356207235803954058473975119560094321538327029982799871991682278483464388959897643097683491456952008128733422724316944096555728800136907355810627688818824936354394074120583436802515862118013416914325851304900968271800504529391133415185106243913682048460829167643108143446839867160987503363842646244790545153691494732391945553909930928410263054145655796407382026226223418045140911800792251631340668773475906244642639651027174258011059913651001961963010429626963162017371094697693659644315973273617747298314523209295729144060362720802610990478803211975770104404792375615484519851 16212869431569836157107624846047306600393921750003079504386898417727823457427918383731649287764372815858768061002591648759342907961030793009894130476149044844935796553554473240084713510294214959762039385452250743597522105707419586524836858976895881427157560486254767670910064232696405835528246837094431224008952291620005439746798035921898043810643997086807164894827176890238823066461829744314549257670751565202249708239502667898190186060011709852675784685054844373993324695065501707270058837432629865001112756647572640647855199183253502262203371142056239304480221669288430279071828898672928673516519667676013526575016427109453918821290917882670384750538390981644829902516853888719838184790737306326635825453396970572522666381158349092784187051357656776842595068789415751723764892114325953525819104482756053903021944291617389877627918756162701496309943279170118749336423488286470269451202535616678771481566738856719961353594212785778725114754835657020949673689639765074746908153270574815037665846272268813956088499080649048788938853449192272062460007316270447120369970642942714360521612462589961921941682078245005852823758315982964145279837836813965122454480840682929205837906180876893262833693563473242439271843866970230722855992945529232276822248675604934511083618232659186031115204591943425740202472165299486124926279343549462579596048645376529893463637484698730532484123782116880318357476325037553025261249704626193116420814909159166332094682921841860452137517816839752451660692803567483698224575335302196525179454128716258215498336103999339772210966032161653743917145077050938012703456250699460643579419249274637880729217993978422106229543871468764946159984553952227576214269494092467435208577305847120697741897412798033080478527224058197496078480684629551256028841458018840481240519296733516399756282013964768299058516736560410005081132627903114107119455866540834193674147267741234314520041371373756646464928957373964435232439914356691951501988192090333756456632126659672129877346149935801497997135788774977320268792378938339261614792004602604038119120041774085534226520936409383103458234603029261414088112386207951979009856295765889004793103823790842370664612443499844859769565475900595267800777211914737120255139179717475426995469152190006699361840921690533909699259801301107333963827449956102466814515414535633713507310463587594418387454322875084874699768304586636594896015209082201178709277942272708664619684614409761959689226516731311688805304117101855393311744544059942180610555431619435844088754952512031756721300696103589227543623386228186518704298628789731704351562976707183587425490698314046416383457940635506656334736339664483240339505357786693076930239035803881644358755944953044386405361117809288820715650765820657315801518745708056849099559999761769874642531521929831987465413676863604815632888922077816132473493274981868572228430145794040332517287837435759213696947465342215434948708008120655458254071867199134995337699146553733734294948293513653283432159896743409225945359789264169065249338065178811662693309858725207076993143854030403567497193552845075538778133191763317241216287250726715304176194957588403165198991173447599739362137387025164743449943921224978 26232973795444182359139293094265231479947477457577115860360441165152554796146560899366032674634367878726407492442110673426406932167494291282084698360030386878370437816932470528905418898517746767698433778870734732186636384600049690509214729072293620951292400977175223995133601233186204846080633284730973783606879306010920703481844935318563975760021019571454546721184334308269815732495300040286028728833885509744593198179125220176901252907535898592966658973958629062471110759806064263522196501558301567159402301509852740447960614275063110261605058510329992351792771504164039237186378675856160575875916049067331544223646525331225720631010939437829244030861427908383256718602708156440074780013580205444153571527306983038737886643839995951734398347588101039904385568106180922698990283230848723468796985251280808143416685146797364059206952938511656440614423376518212561826220063332438966534230866282628030440417572055836676016212589748416226909473189988356677062392519171643222196206487816803290719094899621738724350985088056598361555156334923088634949997204293626771528671157093396019607474991350780573250278831409942485588740123050397587633022410066803784113957985904904940012208413119017097047912794741074199930737220286014001828686280532368896883504345069613850730329530056762306742042096533732051905681493374867330162525892518741473642571314645300223777595699898431114812402677434011234470226615594794110280080101155450019212441687511993628758023762052087625512846226727925958930470479506735070056394446068208563849821010987182696194414764373525392145873341453958357676010510030086912976959852874055334912603751955944561012754277522240040347956519548607632347842393035218113996198088690065181920282777932778971928556824389740073123345038781621311730161354605575817218845207255684762468189149716112481682989044385408807256509405234247225247960180758231580895701423754011531380037592469604402975508833226537765437620200742960076513488220666145487281602513993369081418183725892030382835388936507003744501234454295132901091821591596365398995066368100892792290335757713826884901785850660217235981043764461345881005104312148417940512731745746741795386870805172738424728985263879353165931493000682596506873749888005632676121127413702753057577890143441580758809050124864976633076403836669650863178098673634394737039246208456951429682473489636699373078073610135252949806950984402837749667485800123174408960079801074171770290511480799318803459583542160093191160507168016928538376249430328324330757581633988447215696172433035698095240976769569904053638112424063405036876060917036724122047638471057702112872191684475249772590693744589565130309855899758804778666535340586565068612517519268270604256399042636535843357369246542711545032594862376386115938426101518684537918384936116163948763114958732347849583427093777930666937789890349616637002884408397053678472343827842501161684930945579206053564108452845579277594952798665809149748804259144688905268627556816787879950744700895679509655577941884321026737611420604837838725244309821451313720484116736266990644145815993413997124156714862446633475826851407633214489904998025029827385490686732463527919793784438078542574113157129569535825559405744829 42445843227014018516246917940312538080341399207580195364747339582880378253574479283097681962398740694585175553444702322185749840128525084291978828836179431723306234370486943768990132408811961727460473164322985475784158490307469277034051588049189502378449961463429991666043665465882610681608880121825405007615831597630926143228642971240462019570665016658261711616011511198508638798957129784600577986504637074946842906418627888075091438967547608445642443659013473436464435454871565970792255338990931432160515058157425381095815813458316612523808429652386231656272993173452469516258207574529089249392435716743345070798662952440679639452301857320499628781399818890028086621119562045159912964804317511770789396980703953611260553024998345044518585398945757816746980636895596674422755175345174676994616089734036862046438629438414753936834871694674357936924366655688331311162643551618909235985433401899306801921984310912556637369806802534194952024228025645377626736082158936717969104359758391618328384941171890552680439484168705647150494009784115360697410004520564073891898641800036110380129087453940742495191960909654948338412498439033361732912860246880768906568438826587834145850114593995910359881606358214316639202581087256244724684679226061601173705753020674548361813947762715948337857246688477157792108153658674353455088805236068204053238619960021830117241233184597161647296526459550891552827702940632347135541329805781643135633256596671159960852706683893948077650364043567678410591163283074218768280969781370405089029275139703440911692750868372865164356839373615612101593155587081024925680416103573515978492023001230582441741972271500662146577500391017372578507826946987445690210467582782532617128860083779899669670454237187773153601872262839818807808642039235127073247686665274525243708708446449628881439271058350177106315026141794657230329092808661345688015157290294845725054184860210838717495550204600294411902549158116924511745928135022837438783590706083702837874815852551702512712735086442805242498370243070110221360613970534704660609858372703496830409455799487912419128306787069600339439278367490607295093216698356369919522588041512630800179974628963580795393597707379198025701058476583191774674527099920369796376266593420228484573359295631587458170891046555510542775663637970758197141926123590497203853761622992585143189783953224293791465527933010337824506719288989474344563501009205375587669357743346880434910196095209080763148810058891404879965811285118783931687993974388266511368137065607883059784927385547729851962277465673493281181735810291591555580359545826455826399201447764885700297682382789296188974151685225071786644592239423288019006040698373258145542756555072152248615154987589580229762730364352000365748245628197043431739944847226741387017944935877933823405646480662179837048840770641535482570678812427432769476377683378922250700773973636541494202218783014965267261055918187794712543660806786464608002876126343823900606326703370521614245692994409332793087737838627730252682971209869006903974582375000262976413793975461474067637289670023817564621350267707522172253960043170950455706192248751745131561685644320866693118784957885678281936250544154734279275503326969807 68678817022458200875386211034577769560288876665157311225107780748032933049721040182463714637033108573311583045886812995612156772296019375574063527196209818601676672187419414297895551307329708495158906943193720207970794874907518967543266317121483123329742362440605215661177266699068815527689513406556378791222710903641846846710487906559025995330686036229716258337195845506778454531452429824886606715338522584691436104597753108251992691875083507038609102632972102498935546214677630234314451840549232999319917359667278121543776427733379722785413488162716224008065764677616508753444586250385249825268351765810676615022309477771905360083312796758328872812261246798411343339722270201599987744817897717214942968508010936649998439668838340996252983746533858856651366205001777597121745458576023400463413074985317670189855314585212117996041824633186014377538790032206543872988863614951348202519664268181934832362401882968393313386019392282611178933701215633734303798474678108361191300566246208421619104036071512291404790469256762245512049166119038449332360001724857700663427312957129506399736562445291523068442239741064890824001238562083759320545882656947572690682396812492739085862323007114927456929519152955390839133318307542258726513365506593970070589257365744162212544277292772710644599288785010889844013835152049220785251331128586945526881191274667130341018828884495592762108929136984902787297929556227141245821409906937093154845698284183153589610730445946035703163210270295604369521633762580953838337364227438613652879096150690623607887165632746390556502712715069570459269166097111111838657375956447571313404626753186527002754726549022902186925456910565980210855669340022663804206665671472597799049142861712678641599011061577513226725217301621440119538803393840702890466531872530210006176897596165741363122260102735585913571535547028904455577052989419577268910858714048857256434222452680443120471059037826832177340169358859884588259416355688982926065193220077071919292999578443732895548124022949808986999604697365243122452435562131070059604924740804389622699791557201739304030092637729817575420322131951953176098321010504787860035319787259372595566845434136319220122582971258551191632551477265788281548276987926002472497394007122981542151249439073168216979941171420487175852067474640409060320024797224891940893007831449536572872257442860993164543601543145590774313670273392312094230986809328549996629437544421052205200707576008399566608393601051498071126318453135712470064243404716590842125718699596330275481099818583427947203254235243397334819848234354996592456420462863179948446839918822587813169874067264545961564845429814636916954448139182092797672576038959823214155274074340422852871554030226116073120099610894711910780840490573429547678370948745425924936329871994097772168761439394527686632267864419466149508468702777049406479262091775975929173117801479042655887149728594171320825164371033373990138613605452273757751680385488512805874954260187309494196437695305012302743315780512051279420582630473844742699826684821714290134278092197741058281435486017231561745506982569968805729786894578583670196097246776774958947176331053330221038578742323756824510363701284303815101062732714636 111124660249472219391633128974890307640630275872737506589855120330913311303295519465561396599431849267896758599331515317797906612424544459866042356032389250324982906557906358066885683716141670222619380107516705683754953365214988244577317905170672625708192323904035207327220932164951426209298393528381783798838542501272772989939130877799488014901351052887977969953207356705287093330409559609487184701843159659638279011016380996327084130842631115484251546291985575935399981669549196205106707179540164431480432417824703502639592241191696335309221917815102455664338757851068978269702793824914339074660787482554021685820972430212584999535614654078828501593661065688439429960841832246759900709622215228985732365488714890261258992693836686040771569145479616673398346841897374271544500633921198077458029164719354532236293944023626871932876696327860372314463156687894875184151507166570257438505097670081241634284386193880949950755826194816806130957929241279111930534556837045079160404926004600039947488977243402844085229953425467892662543175903153810029770006245421774555325954757165616779865649899232265563634200650719839162413737001117121053458742903828341597250835639080573231712437601110837816811125511169707478335899394798503451198044732655571244295010386418710574358225055488658982456535473488047636121988810723574240340136364655149580119811234688960458260062069092754409405455596535794340125632496859488381362739712718736290478954880854313550463437129839983780813574313863282780112797045655172606618334008809018741908371290394064519579916501119255720859552088685182560862321684192136764337792060021087291896649754417109444496698820523564333502957301583352789363496287010109494417133254255130416178002945492578311269465298765286380327089564461258927347445433075829963714218537804735249885606042615370244561531161085763019886561688823561685906145798080922956926016004343702981488407312891281837966609242427126589242718516976809100005344490711820364848783926160774757167815430995435408260859109392614229497974940435353343813049532665774720214783113507886453109247356689651723158399424799417914859600499442560471191537708861157779557907828772003395746820063099900015516180678637749217333609953848980056222804087846372268873660600543210026724608734704755675150832217975997718627731112611167257461950920815389144746769454442121716062041396085286956009129476155928598820389562381786438794487818533925584298795287767932640110903671217480329757203659942902951092129738254496401752237379104857353493855765204213335266027204131157799165531700916890616001584044646588148036780008689635774846041366587473513467556450053842150538997115039708703599040378605380816678616737333081359698030629412575101486709017815696302882829975246712276529086118770472979418315795972167311954274807872031595574407920056707523681108635061001632079147515204482175955639775154898179873891775115584150089368511609136588086220289221168702682274412238738365754556511832336706481280963557831108442130689714345095831053619139781532103553840342851646674409059821977266548072067659215125918725156041049126366857250277490977983746937749534125902289495528520090508861975374196914157363700209435106446614245439038094376566059684443 179803477271930420267019340009468077200919152537894817814962901078946244353016559648025111236464957841208341645218328313410063384720563835440105883228599068926659578745325772364781235023471378717778287050710425891725748240122507212120584222292155749037934686344640422988398198864020241736987906934938162590061253404914619836649618784358514010232037089117694228290403202212065547861861989434373791417181682244329715115614134104579076822717714622522860648924957678434335527884226826439421159020089397430800349777491981624183368668925076058094635405977818679672404522528685487023147380075299588899929139248364698300843281907984490359618927450837157374405922312486850773300564102448359888454440112946200675333996725826911257432362675027037024552892013475530049713046899151868666246092497221477921442239704672202426149258608838989928918520961046386692001946720101419057140370781521605641024761938263176466646788076849343264141845587099417309891630456912846234333031515153440351705492250808461566593013314915135490020422682230138174592342022192259362130007970279475218753267714295123179602212344523788632076440391784729986414975563200880374004625560775914287933232451573312317574760608225765273740644664125098317469217702340762177711410239249541314884267752162872786902502348261369627055824258498937480135823962772795025591467493242095107001002509356090799278890953588347171514384733520697127423562053086629627184149619655829445324653165037467140074167575786019483976784584158887149634430808236126444955698236247632394787467441084688127467082133865646277362264803754753020131487781303248602995168016468658605301276507603636447251425369546466520428414212149333000219165627032773298623798925727728215227145807205256952868476360342799607052306866082699046886248826916532854180750410334945256062503638781111607683791263821348933458097235852466141483198787500500225836874718392560237922629765571724958437668280253958766582887875836693688264760846400803290913977146237846676460815009439168303808983132342423216497579637800596466265485094796844779819707854312276075809038913891391027188492062529235490279922631394513647289858719365945639593227616031375991313665497236219235638763649896300408966161431114768337771081075772374741371054607666191568875858173777923892130773389396484894479798587251576317781975718040281085639777285891658288934298838946280120552731019301519373134059835774098533025474627862475580928232832188984845311611247225879896365597260994401022218448191390208871816480783821448195619574464800543610747127022714585746368785936160287950821432279001584740493200471552815723292881285410061326637430517318388112103842544854345620553488517787473614351192776292904573853304703752997954358263048041812376002929586141424187309926609343902527096686744717593236890604679866129367743169359451235210313376499480467781587616217981531582434901866930874109047009576594626805976518240203307908911384660254542692820888017691012123506236897320849512356235223745140602638568385019357398574369399651832811524136470816696389374235744643691556682350159856956184200160642058280688112364232847459783713533832328117796098386742305295049456038306427527135195942442533191930956977946723341909477628792399079 290928137521402639658652468984358384841549428410632324404818021409859555656312079113586507835896807109105100244549843631207969997145108295306148239260988319251642485303232130431666918739613048940397667158227131575480701605337495456697902127462828374746127010248675630315619131028971667946286300463319946388899795906187392826588749662158002025133388142005672198243610558917352641192271549043860976119024841903967994126630515100906160953560345738007112195216943254369735509553776022644527866199629561862280782195316685126822960910116772393403857323792921135336743280379754465292850173900213927974589926730918719986664254338197075359154542104915985875999583378175290203261405934695119789164062328175186407699485440717172516425056511713077796122037493092203448059888796526140210746726418419555379471404424026734662443202632465861861795217288906759006465103407996294241291877948091863079529859608344418100931174270730293214897671781916223440849559698191958164867588352198519512110418255408501514081990558317979575250376107698030837135517925346069391900014215701249774079222471460739959467862243756054195710641042504569148828712564318001427463368464604255885184068090653885549287198209336603090551770175294805795805117097139265628909454971905112559179278138581583361260727403750028609512359731986985116257812773496369265931603857897244687120813744045051257538953022681101580919840330056491467549194549946118008546889332374565735803608045891780690537604705626003264790358898022169929747227853891299051574032245056651136695838731478752647046998634984901998221816892439935580993809465495385367332960076489745897197926262020745891748124190070030853931371513732685789582661914042882793040932179982858631405148752697835264137941659108085987379396430543957974233694259992362817894968948139680505948109681396481852245322424907111953344658924676027827389344585581423182762890722736263219411037078463006796404277522681085355825606392813502788270105337112623655762761072398621433628630440434603712069842241735037445995554578235949810078534627462619500034490967820162528918286270581042750346891487328653405139523130837074118481396428227103419151135444803379387060485560336119251154944328534049626299771384963748393993885163618747010244715208209401595600466908482679567281605607372482613107529699862743575243926638855670230386546740333780004996340235031567076561860495457447971954449398155884971819962446396401165227028119956917485422514918443360226122800920937303973310577929644705273568718162926305549113430230004756946013154226845743545534317637077178566823016323648172888529980480242451498138922651997534840104986967372230262642839659894054324152528896392854431029809513625985933551335333165573055844972065857508678885759561388136463839012728114375506515002540689760548844879487738160963317577279507942733994485134541469413666763733186013758390541642085772288920901351710210956065886751812444496997604949475711395503162429929750489260793409153186218837516187302971711080699074733702494405423018791614343627690311159548036048644804465668823230422227516171310118885798099329814479221483124950761697280770077651922000676237833815139964900281801724049353306142742627037403592192162380003854194852083522 470731614793333059925671808993826462042468580948527142219780922488805800009328638761611619072361764950313441889768171944618033381865672130746254122489587388178302064048557902796448153763084427658175954208937557467206449845460002668818486349754984123784061696593316053304017329892991909683274207398258108978961049311102012663238368446516516035365425231123366426534013761129418189054133538478234767536206524148297709242244649205485237776278060360529972844141900932804071037438002849083949025219718959293081131972808666751006329579041848451498492729770739815009147802908439952315997553975513516874519065979283418287507536246181565718773469555753143250405505690662140976561970037143479677618502441121387083033482166544083773857419186740114820674929506567733497772935695678008876992818915641033300913644128698937088592461241304851790713738249953145698467050128097713298432248729613468720554621546607594567577962347579636479039517369015640750741190155104804399200619867351959863815910506216963080675003873233115065270798789928169011727859947538328754030022185980724992832490185755863139070074588279842827787081434289299135243688127518881801467994025380170173117300542227197866861958817562368364292414839419904113274334799480027806620865211154653874063545890744456148163229752011398236568183990485922596393636736269164291523071351139339794121816253401142056817843976269448752434225063577188594972756603032747635731038952030395181128261210929247830611772281412022748767143482181057079381658662127425496529730481304283531483306172563440774514080768850548275584081696194688601125297246798633970328128092958404502499202769624382338999549559616497374359785725882018789801827541075656091664731105710586846632294559903092217006418019450885594431703296626657021119943086908895672075719358474625762010613320177593459929113688728460886802756160528493968872543373081923408599765441128823457333666844034731754841945802935044122408494268650196476534866183513426946676738218636468110089445449873772015878825374077460662493134216036546276344019722259464279854198822132438604727325184472433777535383549857888895419445762231587765771255147593049058744363060834755378374151057572338486793707978430350035265932816078516731764966239391121751615769815875593164476325082260603459412378996768967507587328287114319893025902356895951316026324026225438293930639073977847197114591514758967345088509233929983504845437074258876746155260952145902330734126165669240122488398181931704995529026121034914145385198946747753744733004694805300556760281249560329291903103573237466517644448602649757629023180951795267221431803937407596166742417484690618374746682204748399944706017414180328045381002289918890507404640036918571010203235113899321054888689147529560651148939337458278033611689285407353785735484167604290331060746638959177944307861634021937195254379951167545340825443509016646397967910928304837762042404992015752405908989609730254088324050447620762612767030306474035731193751411048112313719267459753059892979792418443447155151826781976244425422880549109360379912772387373127494319046440157610502591585715972410545410814602405769718099062980139110189420938588229251184549248585275818968360570138885721913331823644482601 761659752314735699584324277978184846884018009359159466624598943898665355665640717875198126908258572059418542134318015575826003379010780426052402361750575707429944549351790033228115072502697476598573621367164689042687151450797498125516388477217812498530188706841991683619636460921963577629560507861578055367860845217289405489827118108674518060498813373129038624777624320046770830246405087522095743655231366052265703368875164306391398729838406098537085039358844187173806546991778871728476891419348521155361914168125351877829290489158620844902350053563660950345891083288194417608847727875727444849108992710202138274171790584378641077928011660669129126405089068837431179823375971838599466782564769296573490732967607261256290282475698453192616796966999659936945832824492204149087739545334060588680385048552725671751035663873770713652508955538859904704932153536094007539724126677705331800084481154952012668509136618309929693937189150931864191590749853296762564068208219550479375926328761625464594756994431551094640521174897626199848863377872884398145930036401681974766911712657216603098537936832035897023497722476793868284072400691836883228931362489984426058301368632881083416149157026898971454844185014714709909079451896619293435530320183059766433242824029326039509423957155761426846080543722472907712651449509765533557454675209036584481242629997446193314356796998950550333354065393633680062521951152978865644277928284404960916931869256821028521149376987038026013557502380203227009128886516018724548103762726360934668179144904042193421561079403835450273805898588634624182119106712294019337661088169448150399697129031645128230747673749686528228291157239614704579384489455118538884705663285693445478037443312600927481144359678558971581811099727170614995353637346901258489970688306614306267958723001574075312174436113635572840147415085204521796261887958663346591362656163865086676744703922497738551246223325616129478234100661463699264804971520626050602439499291035089543718075890308375727948667615812498108488688794272496086422554349722083779888689789952601133645611455053476527882275037186542300558968893068661884252651575820152477895498505638134765434636617908457737948652306964399661565704201042265125758851403009868761860485024084994760076791990743283026693984604141450120694857986977063468269828995751621546412870766559218298926979309009414273676452010216415317042958632085868476665399520655277911382289072102819816156641084112600348611199102869008968839604050679619418953917109674059293846434924810057502773435476406072837437421210314645084467464926297930517553161432037718719570726589405131006847404452062848637389521864642454268858546310573182476410811803544876440955975370084144066048207179756829733774448708917697114987952065572653540126691826097114334580363655342451294378323918467120678302346768563406608921143684353559099215985151102418686888812280015048718108291743828196902906594559205965483827212877550513102027823715627221950031267598351084024799966534486762387385215437235061498779517093135792461471525353575029203143194614889298804437932238256940317070807199097361307108095372483421640099739217972925329385838870030975233902554728018446005764162331048101917186018496566123 1232391367108068759509996086972011308926486590307686608844379866387471155674969356636809745980620337009731984024086187520444036760876452556798656484240163095608246613400347936024563226265781904256749575576102246509893601296257500794334874826972796622314250403435307736923653790814955487312834715259836164346821894528391418153065486555191034095864238604252405051311638081176189019300538626000330511191437890200563412611119813511876636506116466459067057883500745119977877584429781720812425916639067480448443046140934018628835620068200469296400842783334400765355038886196634369924845281851240961723628058689485556561679326830560206796701481216422272376810594759499572156385346008982079144401067210417960573766449773805340064139894885193307437471896506227670443605760187882157964732364249701621981298692681424608839628125115075565443222693788813050403399203664191720838156375407318800520639102701559607236087098965889566172976706519947504942331940008401566963268828086902439239742239267842427675431998304784209705791973687554368860591237820422726899960058587662699759744202842972466237608011420315739851284803911083167419316088819355765030399356515364596231418669175108281283011115844461339819136599854134614022353786696099321242151185394214420307306369920070495657587186907772825082648727712958830309045086246034697848977746560175924275364446250847335371174640975219999085788290457210868657494707756011613280008967236435356098060130467750276351761149268450048762324645862384284088510545178146150044633493207665218199662451076605634196075160172685998549389980284829312783244403959092653307989216262406554902196331801269510569747223309303025602650942965496723369186316996194194976370394391404032324669737872504019698150777698009857176242803023797272016473580433810154162046407665088932029969336321751668772103549802364033726950171245733015765134431331745269999962421604993910134078370766532470306088169128551173600642594930113895741339837704139477549116237509671557653807521340182147743827492989889958770981823010309042362766574071981548059742888612085039738372936639525910305417658587044431195978414655300249650023906723413201536639861566472890143808787675480796224742360285394749696831637017120781857523817642400990513476254839960587924553117073003886486106363600910417628282186274091383361295731352647572862439194792784656592857618382987261470791043524975382662131467866015851981510836594914154657537550024248722146890767249781840471099597284800713964368630171714533564339116056421813038579439619615358059533716725966402129340524783552111602111913528947688146576342383832985941002530526812727173589821936753467012136204069390854213564563724753510521791814093463766948360615407002715076251442293656150788663137856447257766136891403030931573738381111504468120315847822946741625439070557426298622610208402585343804175523635521104440041428660119065084856723208319886480150696735843949308815584168936219572151263325171275714794854022101257681225019009399196338519233994239822280365007855678508653931343875112036886894405902684389583055967002262426298756978678414550819662392915069771852518909974889191358198802198112035518806777458260226418451803313294264974124732469933823830517842141048724 1994051119422804459094320364950196155810504599666846075468978810286136511340610074512007872888878909069150526158404203096270040139887232982851058845990738803038191162752137969252678298768479380855323196943266935552580752747054998919851263304190609120844439110277299420543290251736919064942395223121414219714682739745680823642892604663865552156363051977381443676089262401222959849546943713522426254846669256252829115979994977818268035235954872557604142922859589307151684131421560592540902808058416001603804960309059370506664910557359090141303192836898061715700929969484828787533693009726968406572737051399687694835851117414938847874629492877091401503215683828337003336208721980820678611183631979714534064499417381066596354422370583646500054268863505887607389438584680086307052471909583762210661683741234150280590663788988846279095731649327672955108331357200285728377880502085024132320723583856511619904596235584199495866913895670879369133922689861698329527337036306452918615668568029467892270188992736335304346313148585180568709454615693307125045890094989344674526655915500189069336145948252351636874782526387877035703388489511192648259330719005349022289720037807989364699160272871360311273980784868849323931433238592718614677681505577274186740549193949396535167011144063534251928729271435431738021696535755800231406432421769212508756607076248293528685531437974170549419142355850844548720016658908990478924286895520840317014991999724571304872910526255488074775882148242587511097639431694164874592737255934026152867841595980647827617636239576521448823195878873463936965363510671386672645650304431854705301893460832914638800494897058989553830942100205111427948570806451312733861076057677097477802707181185104947179295137376568828758053902750967887011827217780711412652017095971703238297928059323325744084277985915999606567097586330937537561396319290408616591325077768858996810823074689030208857334392454167303078876695591577595006144809224765528151555736800706647197525597230490523471776160605702456879470511804581538449189128421703631839631578402037640872018548094579386833299933624230973496537383548368911534276558299233354014535360072111024909243424293389253962691012592359149358397341218163046983282669045410859275336739864045582684629909063747169512800348205051867748977044261068446829565560348399194408852065559343874891784597691996675744467495535191797979174426498101720458176236115569432568919839096351541963047408333894440819710796387669722933208234222394152983293033166095872332425874544425415562307152202372474966777945993866756686579378455245618664129503815870704660573257116217858180437226388816315649525725934033308482423110035326692998202625897008643389316590777086859142299649473412980522437586565364954881124843468603585113865072937601582454896211478289192919817394475893419300912555171148750413096667319874663539257413811221483771745535488334935198258988479672146211722178728142185055978476202721788816822677737728479631256286607750280363319200528726584667750223292913570152710860968247829348365931256259418786199161617151725103194910916671491136733200114167133159627005347372612998298541416084960848192616328291201652354358041312710979888894800981925747703860637614847 3226442486530873218604316451922207464736991189974532684313358676673607667015579431148817618869499246078882510182490390616714076900763685539649715330230901898646437776152485905277241525034261285112072772519369182062474354043312499714186138131163405743158689513712607157466944042551874552255229938381250384061504634274072241795958091219056586252227290581633848727400900482399148868847482339522756766038107146453392528591114791330144671742071339016671200806360334427129561715851342313353328724697483482052248006449993389135500530625559559437704035620232462481055968855681463157458538291578209368296365110089173251397530444245499054671330974093513673880026278587836575492594067989802757755584699190132494638265867154871936418562265468839807491740760012115277833044344867968465017204273833463832642982433915574889430291914103921844538954343116486005511730560864477449216036877492342932841362686558071227140683334550089062039890602190826874076254629870099896490605864393355357855410807297310319945620991041119514052105122272734937570045853513729851945850153577007374286400118343161535573753959672667376726067330298960203122704578330548413289730075520713618521138706983097645982171388715821651093117384722983937953787025288817935919832690971488607047855563869467030824598330971307077011377999148390568330741622001834929255410168329388433031971522499140864056706078949390548504930646308055417377511366665002092204295862757275673113052130192321581224671675523938123538206794104971795186149976872311024637370749141691371067504047057253461813711399749207447372585859158293249748607914630479325953639520694261260204089792634184149370242120368292579433593043170608151317757123447506928837446452068501510127376919057608966877445915074578685934296705774765159028300798214521566814063503636792170327897395645077412856381535718363640294047757576670553326530750622153886591287499373852906944901445455562679163422561582718476679519290521691490747484646928905005700671974310378204851333118570672671215603653595592415650452334814890580811955702493685179899374467014122680610391484734105297138717592211275404692515798203669161184300465022646555551175221638583915053052211968870050187433372877753899055228978235283828840806486687811849788812994704006170609183026136751055998906711805962285377259230535159830190861291701046767271291260352128531484642216074983937215258539060167180641305894364117572439687072710483587226457389120600264109938175583676281290810393672470436897576864394108686547632149222517685371005314164040773621840868928338877096118470777418868288691291984193306810705846199703690601575787643030585354027048325569782661661930003424162695987673760080203519994439990472410337677206184089574218551091767069131311100724421812212647261734871634516687603454049106050575212059301235934545256465033319717923522763573734094217272190955395767979298842471340548856602258696654821678409685215516095520537762897078404628129739527893064531617531759829737312481305617149476701838434522966406948115231148592078806642204843359866235260337158943808369255128619414151401951889595086041956395593029236905012145915322261804356497343614196996366999393786551428070806161354606975954013627270915749578221702778663571 5220493605953677677698636816872403620547495789641378759782337486959744178356189505660825491758378155148033036340894593712984117040650918522500774176221640701684628938904623874529919823802740665967395969462636117615055106790367498634037401435354014864003128623989906578010234294288793617197625161502664603776187374019753065438850695882922138408590342559015292403490162883622108718394426053045183020884776402706221644571109769148412706978026211574275343729219923734281245847272902905894231532755899483656052966759052759642165441182918649579007228457130524196756898825166291944992231301305177774869102161488860946233381561660437902545960466970605075383241962416173578828802789970623436366768331169847028702765284535938532772984636052486307546009623518002885222482929548054772069676183417226043304666175149725170020955703092768123634685992444158960620061918064763177593917379577367065162086270414582847045279570134288557906804497861706243210177319731798226017942900699808276471079375326778212215809983777454818398418270857915506279500469207036976991740248566352048813056033843350604909899907925019013600849856686837238826093067841741061549060794526062640810858744791087010681331661587181962367098169591833261885220263881536550597514196548762793788404757818863565991609475034841328940107270583822306352438157757635160661842590098600941788578598747434392742237516923561097924073002158899966097528025573992571128582758278115990128044129916892886097582201779426198314088942347559306283789408566475899230108005075717523935345643037901289431347639325728896195781738031757186713971425301865998599289825126115965505983253467098788170737017427282133264535143375719579266327929898819662698522509745598987930084100242713914056741052451147514692350608525733046040128015995232979466080599608495408625825454968403156940659521634363246861145343907608090887927069912562503182612577142711903755724520144592888020756954036885779758395986113269085753629456153670533852227711111084852048858715801163194687379814201294872529922846619472119261144830915388811739006045416160321482410032828684683972017525835506378189053181752038072718577023321879909565710581710694939962295636262259304150124385470113048413626319453446875824089155733222709064149734568051753293812935200498225511707060011014153126236274796228277020426852049445961680143325911472406376426813766980612959726034595358978620480320862219292897863308826053019795377228216951806072985583917570722110521190060140159830785098616502839530925182388613557703431188708466189184148021130711352062896416771285624975270670439438925474835350015574395262149044759248443534464274714386098311187655937457471178410783795406896518197065887481053726993796961176433360850741240482111833538310987177167528386578340238101801468526986707633030108270779525127465073859509213137224435318744882844630368858275270431518556256282562032628347794184989756876668673695188241732259941625220589684108215730614853348440209497558216943737592224899757065157635051692991615865454441505648959353065811607695583626268415203227155454290236565876505146800511757533093128793143404038171772920669634417354795885030281957215192010114842629723160519395919686933902522071897675325925563416278418 8446936092484550896302953268794611085284486979615911444095696163633351845371768936809643110627877401226915546523384984329698193941414604062150489506452542600331066715057109779807161348837001951079468741982005299677529460833679998348223539566517420607161818137702513735477178336840668169452855099883914987837692008293825307234808787101978724660817633140649141130891063366021257587241908392567939786922883549159614173162224560478557378720097550590946544535580258161410807563124245219247560257453382965708300973209046148777665971808478209016711264077362986677812867680847755102450769592883387143165467271578034197630912005905936957217291441064118749263268241004010154321396857960426194122353030359979523341031151690810469191546901521326115037750383530118163055527274416023237086880457250689875947648609065300059451247617196689968173640335560644966131792478929240626809954257069709998003448956972654074185962904684377619946695100052533117286431949601898122508548765093163634326490182624088532161430974818574332450523393130650443849546322720766828937590402143359423099456152186512140483653867597686390326917186985797441948797646172289474838790870046776259331997451774184656663503050303003613460215554314817199839007289170354486517346887520251400836260321688330596816207806006148405951485269732212874683179779759470089917252758427989374820550121246575256798943595872951646429003648466955383475039392238994663332878621035391663241096260109214467322253877303364321852295736452531101469939385438786923867478754217408895002849690095154751245059039074936343568367597190050436462579339932345324552929345820377225710073046101282937540979137795574712698128186546327730584085053346326591535968961814100498057461019300322880934186967525726200626647314300498205068428814209754546280144103245287578953722850613480569797041057352726887155193101484278644214457820534716389773900076516564810700625965600155567184179515619604256437915276634960576501114103082575539552899685421463056900191834371835865902983467796887288180375181434362700073100533409073991638380512430283002092801517562789981110735118046781782881568979955707233902877488344526465116885803349278855015347848231129354337557758347866947468855297688730704664895642421034558852962729272057923902995961337249281510613771816976438503495505331388107211288143750492728951434586263600937861069029841964550174984573655526159261786215226336865337550381536536607021834617337552070182923759501247003401331583732610596728361963010611526078557331611131243074436502872506962805988890059050229159014887548704493263961962423632232285541196215278085863724832402279028888491323039955880972849585940881633874398457555487100038191505877953464064671003145266007579401833007551243144639035408989380175648313211872618489071981035813683605320330080761062010330324542532855147958082318616938847641049230666199497855098753902581484950052881644578555078358910704337252797704522298994312237955258507917880057741257387954256218897842049233766996069574659398563980685590097727765995270654967561818886605574147035524709418855980027907098690106843575049524386172640943183918835991896221711293228644478953582191403901394057793966680750526662887916149342813424904147266194941989 13667429698438228574001590085667014705831982769257290203878033650593096023727958442470468602386255556374948582864279578042682310982065522584651263682674183302015695653961733654337081172639742617046864711444641417292584567624047496982260941001871435471164946761692420313487412631129461786650480261386579591613879382313578372673659482984900863069407975699664433534381226249643366305636334445613122807807659951865835817733334329626970085698123762165221888264800181895692053410397148125141791790209282449364353939968098908419831412991396858595718492534493510874569766506014047047443000894188564918034569433066895143864293567566374859763251908034723824646510203420183733150199647931049630489121361529826552043796436226749001964531537573812422583760007048121048278010203964078009156556640667915919252314784215025229472203320289458091808326328004803926751854396994003804403871636647077063165535227387236921231242474818666177853499597914239360496609269333696348526491665792971910797569557950866744377240958596029150848941663988565950129046791927803805929330650709711471912512186029862745393553775522705403927767043672634680774890714014030536387851664572838900142856196565271667344834711890185575827313723906650461724227553051891037114861084069014194624665079507194162807817281040989734891592540316035181035617937517105250579095348526590316609128719994009649541181112796512744353076650625855349572567417812987234461461379313507653369140390026107353419836079082790520166384678800090407753728794005262823097586759293126418938195333133056040676406678400665239764149335221807623176550765234211323152219170946493191216056299568381725711716155222856845962663329922047309850412983245146254234491471559699485987545119543036794990928019976873715318997922826231251108556830204987525746224702853782987579548305581883726737700578987090134016338445391886735102384890447278892956512653659276714456350485744748455204936469656490036196311262748229662254743559236246073405127396532547908949050550172999060590363281998182160710298028053834819334245364324462803377386557846443323575211550391474665082752643882288161070622161707745306621454511666406374682596385059973794977643484493388658487682143817979995882481617142177580488984798154257267917112463840109677196808896537747507022320831827990591629731780127616384231714995799938690631577912175073344237495843608945163134710608250885137882266536088556158235413690362589626817211845554503876255909343418817725511852773792750756559147061627114365609482513999744800777867691580973151990136911189761581221911304319990118239232632863071157760376546230852481125873877161527472422955597754341979284037241878339105052809241350893996556388571765434517791664800106442440940252574248033354978177346396166547704034891552110720290540508022521316635428600860286189475404184051745992372393401063499783478009907505936631016411355036464614113297847066634335431747032605892578985057646147519583996346170989122771228497950754946171199956490066948990832153704626352390179846140031603376725348336466575257402512873989350262680163709092545904412245490618601108142653179316044981355691756661530639066089113674760910797383414016236687517127200146446349821818671414711100230072829611220407 22114365790922779470304543354461625791116469748873201647973729814226447869099727379280111713014132957601864129387664562372380504923480126646801753189126725902346762369018843434144242521476744568126333453426646716970114028457727495330484480568388856078326764899394934048964590967970129956103335361270494579451571390607403679908468270086879587730225608840313574665272289615664623892878242838181062594730543501025449990895558890105527464418221312756168432800380440057102860973521393344389352047662665415072654913177145057197497384799875067612429756611856497552382634186861802149893770487071952061200036704644929341495205573472311816980543349098842573909778444424193887471596505891475824611474391889806075384827587917559471156078439095138537621510390578239211333537478380101246243437097918605795199963393280325288923450937486148059981966663565448892883646875923244431213825893716787061168984184359890995417205379503043797800194697966772477783041218935594471035040430886135545124059740574955276538671933414603483299465057119216393978593114648570634866921052853070895011968338216374885877207643120391794254684230658432122723688360186320011226642534619615159474853648339456324008337762193189189287529278221467661563234842222245523632207971589265595460925401195524759624025087047138140843077810048248055718797717276575340496348106954579691429678841240584906340124708669464390782080299092810733047606810051981897794340000348899316610236650135321820742089956386154842018680415252621509223668179444049746965065513510535313941045023228210791921465717475601583332516932411858059639130105166556647705148516766870416926129345669664663252695293018431558660791516468375040434498036591472845770460433373799984045006138843359675925114987502599915945645237126729456176985644414742072026368806099070566533271156195364296534741636339817021171531546876165379316842710981995282730412730175841525156976451344904022389115985276094292634226539383190238755857662318821612958027081954010965849242384544834926493346749795069448890673209488197519407345897733536795015767070276726325668013067954264646193487761929069943952191141663452540524332000010932839799482188409252649992991332724518012825239902165846943351336914830908285153880440575291826770075193112167601099804857874996788532934603644967030133227285459004491443003139550431419583012498438674282098564873450909713309695181906411297144052751314893023572964071899126233839046462892055946438833102920064728913184357525361353287509024637725891688039845610876043852304194453480114796125801248811810380926191868694611503194595286703390045917742446130566989598709563806501311446920794297860256886827819220738927207698906381096594580077643387981856335803251708448519654407255584598122816381805155927879683204763983338779612489058335000240748930941047251485734508594278847520351483382116722325650956736602830514266453790367195598247899948278913986825391516596916237855350669818578308584126247630689108555692012334125456175387908998224599149774201011788743826825621701104491343607121542819221399479563497298204873127948525932319344180725444683192177565488685924539610592653426860777382342319239864379574817917630745311093880896973012709734820757524525134220095806162396 35781795489361008044306133440128640496948452518130491851851763464819543892827685821750580315400388513976812712251944140415062815905545649231453016871800909204362458022980577088481323694116487185173198164871288134262698596081774992312745421570260291549491711661087354362452003599099591742753815622657074171065450772920982052582127753071780450799633584539978008199653515865307990198514577283794185402538203452891285808628893219732497550116345074921390321065180621952794914383918541469531143837871947864437008853145243965617328797791271926208148249146350008426952400692875849197336771381260516979234606137711824485359499141038686676743795257133566398556288647844377620621796153822525455100595753419632627428624024144308473120609976668950960205270397626360259611547682344179255399993738586521714452278177495350518395654257775606151790292991570252819635501272917248235617697530363864124334519411747127916648447854321709975653694295881011838279650488269290819561532096679107455921629298525822020915912892010632634148406721107782344107639906576374440796251703562782366924480524246237631270761418643097198182451274331066803498579074200350547614494199192454059617709844904727991353172474083374765114843002128118123287462395274136560747069055658279790085590480702718922431842368088127875734670350364283236754415654793680591075443455481170008038807561234594555881305821465977135135156949718666082620174227864969132255801379662406969979377040161429174161926035468945362185065094052711916977396973449312570062652272803661732879240356361266832597872395876266823096666267633665682815680870400767970857367687713363608142185645238046388964411448241288404623454846390422350284911019836619100004951904933499470032551258386396470916043007479473631264643159952960707285542474619729597772593508952853554112819461777248023272442215326907155187869992268052114419227601429274175686925383835118239613326937089652477594052454932584328830537802131419901010601221555067686363154478486558874798292934717833987083710031793251609600971237542032338741591262057999598393153628123169649243224618345739311276240405811358105022813303371197847145786511677339214482078573469226444970634817217906671312922045983826939233818531973085865642865238729549094687187656952277278296613754412744295555255435472957621762959065586620875674718135350370110214590410613747626336060717059854876444405790157296435026319287403449181808377762261715860656258308446559822694742446338882454425037131318112109846656086264840257297522359610620844630171886034453266786262712438573391602837496188684729742427228149774547806294288676983048115472586725333973734402518548639839540924069697559843980016940257275093150968649408822499648000603358150889459906981503617953100993728201322475583718096316094059070152997080856316876177531801333440961138692646024839892744884445616505803660864242539461530677808826831809711545747014913249418572424122489495222912996817338162304930297236753460337053642767280296656131877975947215431303478827364178923672965653304481216691943588118076623912353552847560885036837041071836731589671344045791334830744804730905895302349314957499843471455994000775176958231933867432828221081043419362531553492172235625364292925417382803 57896161280283787514610676794590266288064922267003693499825493279045991761927413201030692028414521471578676841639608702787443320829025775878254770060927635106709220391999420522625566215593231753299531618297934851232812624539502487643229902138649147627818476560482288411416594567069721698857150983927568750517022163528385732490596023158660038529859193380291582864925805480972614091392820121975247997268746953916735799524452109838025014534566387677558753865561062009897775357439934813920495885534613279509663766322389022814826182591146993820578005758206505979335034879737651347230541868332469040434642842356753826854704714510998493724338606232408972466067092268571508093392659714001279712070145309438702813451612061867944276688415764089497826780788204599470945085160724280501643430836505127509652241570775675807319105195261754211772259655135701712519148148840492666831523424080651185503503596107018912065653233824753773453888993847784316062691707204885290596572527565243001045689039100777297454584825425236117447871778226998738086233021224945075663172756415853261936448862462612517147969061763488992437135504989498926222267434386670558841136733812069219092563493244184315361510236276563954402372280349585784850697237496382084379277027247545385546515881898243682055867455135266016577748160412531292473213372070255931571791562435749699468486402475179462221430530135441525917237248811476815667781037916951030050141380011306286589613690296750994904015991855100204203745509305333426201065152893362317027717786314197046820285379589477624519338113351868406429183200045523742454810975567324618562516204480234025068314990907711052217106741259719963284246362858797390719409056428091945775412338307299454077557397229756146841157994982073547210288397079690163462528119034471669798962315051924120646090617972612319807183851666724176359401539144217493736070312411269458417338114010959764770303388434556499983168440208678621464764341514610139766458883873889299321181560440569840647535319262668913577056781588321058491644447030229858148937159791536393408920698399895974911237686300003957469728167740428048975004445034650387670118511688272054281560761878479094963626149942424684138161948149673882585155446803994150796745679304840921457262850064444879396418612287741084088190039117924651896186351045625367117721274900801529797602909052421908434625590510764589754100972063707732170372038718342205381341834160842094495304771338615769133575549258947183338221488843473463134165110902566148985562205221496888482476080487933381582388513687385201983763688057379341245621823436477937852212031123113615105071296289140475045849439342937699797810897516780582907224639163656189745548727052210481504336406609859337979561388759202551223810110006478403463401301080077397849765486139191317116926462742380692446873201240303687413096367827733228129311820979142292044944262617199005309793646963192163405397815639086411460768347487156740613514423484384149445609334779614422112307265884945440030453253028375967667499791275005585708035550709660895845311833116344859089909964989597769050933852069490474527008310293416830434912941968384360620853798313240639556533049851498178139314961940392375241288312929760150498513021223545199 93677956769644795558916810234718906785013374785134185351677256743865535654755099022781272343814909985555489553891552843202506136734571425109707786932728544311071678414979997611106889909709718938472729783169222985495511220621277479955975323708909439177310188221569642773868598166169313441610966606584642921582472936449367785072723776230440489329492777920269591064579321346280604289907397405769433399806950406808021608153345329570522564650911462598949074930741683962692689741358476283451639723406561143946672619467632988432154980382418920028726254904556514406287435572613500544567313249592986019669248980068578312214203855549685170468133863365975371022355740112949128715188813536526734812665898729071330242075636206176417397298392433040458032051185830959730556632843068459757043424575091649224104519748271026325714759453037360363562552646705954532154649421757740902449220954444515309838023007854146828714101088146463749107583289728796154342342195474176110158104624244350456967318337626599318370497717435868751596278499334781082193872927801319516459424459978635628860929386708850148418730480406586190619586779320565729720846508587021106455630933004523278710273338148912306714682710359938719517215282477703908138159632770518645126346082905825175632106362600962604487709823223393892312418510776814529227629026863936522647235017916919707507293963709774018102736351601418661052394198530142898287955265781920162305942759673713256568990730458180169065942027324045566388810603358045343178462126342674887090370059117858779699525735950744457117210509228135229525849467679189425270491845968092589419883892193597633210500636145757441181518189501008367907701209249219741004320076264711045780364243240798924110108655616152617757201002461547178474931557032650870748070593654201267571555824004777674758910079749860343079626066993631331547271531412269608155297913840543634104263497846078004383630325524208977577220895141262950295302143646030040777060105428956985684336038927128715445828253980502900660766813381572668092615684572262196890528421849535991802074326523065624154462304645743268745968573551786153997817748405848234815905023365611268763639335347705539934260967160331355451083994133500821818973978777080016439610918034390016144450507016722157693032366700485379643445474590882273659145416632246242792439410251171640012193319666169534770686307570619466198506762221004167196691326121791387189719596422557955151563079785175591828317995597829637763258620161585572980821197167406406283084564832117733112647966522386648368651226125958593586601184246064070988049051586252485658506319800096663220543883014474448780251957891577539338734967214340426887241579420931282896517376461032981152337009968010227439468370262820504324803838207800879047119397396171456919918483220047633993103994543714133408011893886328527305841252273349733932972685221681753575622071444030815021339393978105412823970239761575906683681344304494902918444720721137609782662977546894718768439143860892655461756731855740146591172756928310066924727494297778972469224186669192419974946802030669605782523523413536265861839055098147736330215291283341860464325254307241414733491281785365610967536042983811737772841805101995775862805946640928002 151574118049928583073527487029309173073078297052137878851502750022911527416682512223811964372229431457134166395531161545989949457563597200987962556993656179417780898806979418133732456125302950691772261401467157836728323845160779967599205225847558586805128664782051931185285192733239035140468117590512211672099495099977753517563319799389100527859351971300561173929505126827253218381300217527744681397075697360724757407677797439408547579185477850276507828796302745972590465098798411097372135608941174423456336385790022011246981162973565913849304260662763020385622470452351151891797855117925455060103891822425332139068908570060683664192472469598384343488422832381520636808581473250528014524736044038510033055527248268044361673986808197129955858831974035559201501718003792740258686855411596776733756761319046702133033864648299114575334812301841656244673797570598233569280744378525166495341526603961165740779754321971217522561472283576580470405033902679061400754677151809593458013007376727376615825082542861104869044150277561779820280105949026264592122597216394488890797378249171462665566699542170075183056722284310064655943113942973691665296767666816592497802836831393096622076192946636502673919587562827289692988856870266900729505623110153370561178622244499206286543577278358659908890166671189345821700842398934192454219026580352669406975780366184953480324166881736860186969631447341619713955736303698871192356084139685019543158604420754931163969958019179145770592556112663378769379527279236037204118087845432055826519811115540222081636548622580003635955032667724713167725302821535417207982400096673831658278815627053468493398624930760728331191947572108017131723729132692802991555776581548098378187666052845908764598358997443620725685219954112341034210598712688672937370518139056701795405000697722472662886809918660355507906673070556487101891368226251813092521601611857037769153933713958765477560389335349941571760066485160640180543518989302846285005517599367698556093363573243171814237823594969893726584260131602492055039465581641072385210995024922961599065699990945747226215696741292214202972822193440498622486023535053883323045200097226184634897887117102756039589245942283174704404129425581074167236356597339230937601713357081167037089450978988226463731635513708806925555331767677871609910160685151973169809796228718591443205311898081384055952607734284711899367063364840133592571061430583400049646867851123791360961893544856776821101480109005059036114986308069972555268646770053614621595124047010320029951039739813343795570364872303443412233670875022730423510718350923210278325615179303614923826101397234515239136545864731121009794466218584587472642066103513243462656673416577869565419029759022023055548613948214279282510520698476248854769683969359238951110030457286094825854885095126632214718937620101082962062284506200824045620566334061229820331133040941297576229368055400662318144449691791651643531959144205521759228272312326509140880746409745838095492209984884116114258672548203315652632763045007439868314536019785537279064856767020267374833457375483026740388847365391564566765128233251726221085179052620482054290024331636863789106851004924204113014130118031755926361318967864473201 245252074819573378632444297264028079858091671837272064203180006766777063071437611246593236716044341442689655949422714389192455594298168626097670343926384723728852577221959415744839346035012669630244991184636380822223835065782057447555180549556468025982438853003621573959153790899408348582079084197096854593681968036427121302636043575619541017188844749220830764994084448173533822671207614933514114796882647767532779015831142768979070143836389312875456903727044429935283154840156887380823775332347735567403009005257654999679136143355984833878030515567319534791909906024964652436365168367518441079773140802493910451283112425610368834660606332964359714510778572494469765523770286787054749337401942767581363297602884474220779071285200630170413890883159866518932058350846861200015730279986688425957861281067317728458748624101336474938897364948547610776828446992355974471729965332969681805179549611815312569493855410117681271669055573305376624747376098153237510912781776053943914980325714353975934195580260296973620640428776896560902473978876827584108582021676373124519658307635880312813985430022576661373676309063630630385663960451560712771752398599821115776513110169542008928790875656996441393436802845304993601127016503037419374631969193059195736810728607100168891031287101582053801202585181966160350928471425798128976866261598269589114483074329894727498426903233338278848022025645871762612243691569480791354662026899358732799727595151213111333035900046503191336981366716021424112557989405578712091208457904549914606219336851490966538753759131808138865480882135403902592995794667503509797402283988867429291489316263199225934580143120261736699099648781357236872728049208957514037336140824788897302297774708462061382355559999905167904160151511144991904958669306342874204942073963061479470163910777472333005966435985653986839453944601968756710046666140092356726625865109703115773537564039482974455137610230491204522055368628806670221320579094731803270689853638294827271539191827223674714898590408351466394676875816174754251929994003490608377013069351446027223220162295591490494961665314844000356970639941846346857301928558419494591808839432573890174832148084263087395040329936416675526223103404358154183675967515373620953746163864097889194782483345688711843375080988299689199214477184310117852702600095403144809821989548384760977975998205652003522151114496505716066563754690961924979760781027005958004798430930908966952790211540454606458864738729166644609095807505237378961551731334885732354707772013532706678319690965939302389156966056549507483221719926608982909169224670723306941546159062318089372606353355126092778475280831945461436681707798005518755538583479974276443809010426545879792858498129284843559873417786422080161557640095872420311689602452579286585103134451829808959262896989012960742024778872374432695995257191422505799196188405505260635352472434919402989053338295162238224828131036096146546450403864926659369010935289873403859649185553606730750953966716739856260849845305131625719557490539305218840783760206454729699039803569050936980615980898896563006250686420489712303095343524535068081549504306927723469023515613422229400074387047908015850786971923133751702224124914505401203 396826192869501961705971784293337252931169968889409943054682756789688590488120123470405201088273772899823822344953875935182405051861765827085632900920040903146633476028938833878571802160315620322017252586103538658952158910942837415154385775404026612787567517785673505144438983632647383722547201787609066265781463136404874820199363375008641545048196720521391938923589575000787041052507832461258796193958345128257536423508940208387617723021867163151964732523347175907873619938955298478195910941288909990859345391047677010926117306329550747727334776230082555177532376477315804328163023485443896139877032624919242590352020995671052498853078802562744057999201404875990402332351760037582763862137986806091396353130132742265140745272008827300369749715133902078133560068850653940274417135398285202691618042386364430591782488749635589514232177250389267021502244562954208041010709711494848300521076215776478310273609732088898794230527856881957095152410000832298911667458927863537372993333091081352550020662803158078489684579054458340722754084825853848700704618892767613410455685885051775479552129564746736556733031347940695041607074394534404437049166266637708274315947000935105550867068603632944067356390408132283294115873373304320104137592303212566297989350851599375177574864379940713710092751853155506172629313824732321431085288178622258521458854696079680978751070115075139034991657093213382326199427873179662547018111039043752342886199571968042497005858065682337107573922828684802881937516684814749295326545749981970432739147967031188620390307754388142501435914803128615760721097489038927005384684085541260949768131890252694427978768051022465030291596353465254004451778341650317028891917406336995680485440761307970146953918997348788629845371465257332939169268019031547142312592102118181265568911475194805668853245904314342347360617672525243811938034366344169819147466721560153542691497753441739932697999565841146093815435113967310401864098084034649555695371237662525827632555400466846529136414003321360121261135947777246306969459585131680762224064376368988822285862286537237721177362056136214559943462135286845479787952093473377914854039529800074809730035201365843434629575878699850230627232829939228350912324112712851891347877221179056231871934324676938307106716502008496124769808951987989462612760780555117979631785777103352421181310103733387578103722230790427965930818055802058572331842457589358054445298782032758313752105085311383279966218838171703645210793813307351516820378104939346976302896060543026708270730705752646184727330928852950895455390801631713332679943021646517219871774241621704296432454752360608017611826696676582446476174016590106228180649583487519906465683843123749358277527888306866615422031734636359444068160794348669166459286421938525536213164909115903785117782084139592956743716492475515658057541697623329844816754739566490455683605475860700565282706350562900542972580727887798189982363009132181128239207602199913000529931963352568846446176701623972375108517853334941372190253584312658709098296226240266978104660336071204355449438274379589746639533785881276869860471757786794302634683359548205523313539945059093189181238052832219963801102041165507628585443882369874404 642078267689075340338416081557365332789261640726682007257862763556465653559557734716998437804318114342513478294376590324374860646159934453183303244846425626875486053250898249623411148195328289952262243770739919481175993976724894862709566324960494638770006370789295079103592774532055732304626285984705920859463431172831996122835406950628182562237041469742222703917674023174320863723715447394772910990840992895790315439340082977366687866858256476027421636250391605843156774779112185859019686273636645558262354396305332010605253449685535581605365291797402089969442282502280456764528191852962337219650173427413153041635133421281421333513685135527103772509979977370460167856122046824637513199539929573672759650733017216485919816557209457470783640598293768597065618419697515140290147415384973628649479323453682159050531112850972064453129542198936877798330691555310182512740675044464530105700625827591790879767465142206580065899583430187333719899786098985536422580240703917481287973658805435328484216243063455052110325007831354901625228063702681432809286640569140737930113993520932088293537559587323397930409340411571325427271034846095117208801564866458824050829057170477114479657944260629385460793193253437276895242889876341739478769561496271762034800079458699544068606151481522767511295337035121666523557785250530450407951549776891847635941929025974408477177973348413417883013682739085144938443119442660453901680137938402485142613794723181153830041758112185528444555289544706226994495506090393461386535003654531885038958484818522155159144066886196281366916796938532518353716892156542436802786968074408690241257448153451920362558911171284201729391245134822490877179827550607831066228058231125892982783215469770031529309478997253956534005522976402324844127937325374421347254666065179660735732822252667138674819681889968329186814562274494000521984700506436526545773331831263269316229061792924714387835609796332350615870803742773980623184677178766452826385224875957353099171747227690521244035004411672826515938011763952000558899453588622289139237133727815016045506024582128728216139027370980214916914102077133192337089880651892872506662878962373964984562183285628930829669905815116525756850336234297382534588291628086472845094041085276945426654417670365650150481797490308185323984286136298107315315360875958262789453775325488113399157308309385391100254836727296144032494572746763983552092623484595316059243729712941725266542316625765989738830957567338348254306601318544730478372109439825079331010668074075733386590421671691948573884296985402458378677110728240696241849167692369824161417933303939793669038808107486700796087107528622043883157881814595624983719233063461796350274694269669629151136026017591710175295449521058439605625800890221089478148888874517812121316299360945712744380679073152553698768495364849948354052798889045835644012943145071751091036077910780103554336044645725138767800711763983944736432766874058840497250142892073316860179117516959299597400143418363828635958363158466567091747744123617877549882056432694996677144463905122141336065419173276152752890220206370989172955815282321862384184187666475928992337055558481322589255625100740235814588073964299259330809568796875275607 1038904460558577302044387865850702585720431609616091950312545520346154244047677858187403638892591887242337300639330466259557265698021700280268936145766466530022119529279837083501982950355643910274279496356843458140128152887667732277863952100364521251557573888574968584248031758164703116027173487772314987125244894309236870943034770325636824107285238190263614642841263598175107904776223279856031707184799338024047851862849023185754305589880123639179386368773738781751030394718067484337215597214925555549121699787353009021531370756015086329332700068027484645146974658979596261092691215338406233359527206052332395631987154416952473832366763938089847830509181382246450570188473806862220277061677916379764156003863149958751060561829218284771153390313427670675199178488548169080564564550783258831341097365840046589642313601600607653967361719449326144819832936118264390553751384755959378406221702043368269190041074874295478860130111287069290815052196099817835334247699631781018660966991896516681034236905866613130600009586885813242347982148528535281509991259461908351340569679405983863773089689152070134487142371759512020468878109240629521645850731133096532325145004171412220030525012864262329528149583661569560189358763249646059582907153799484328332789430310298919246181015861463481221388088888277172696187099075262771839036837955514106157400783722054089455929043463488556918005339832298527264642547315840116448698248977446237485499994295149196327047616177867865552129212373391029876433022775208210681861549404513855471697632785553343779534374640584423868352711741661134114437989645581363808171652159949951191025580043704614790537679222306666759682841488287744881631605892258148095119975637462888663268656231078001676263397994602745163850894441659657783297205344405968489567258167297842001301733727861944343672927794282671534175179947019244333922734872780696364920798552823422858920559546366454320533609362173496709686238856741291025048775262801102382080596113619878926804302628157367773171418414994186637199147711729246865868913173753969901461198104184004867791886868665965937316389427116429476857564212420037816877832745366250421516918492174039794292218486994774264299481693816375987477569064236610885500615740799324736441918306456001658526351995042588457588513992316681448754095088286096777928121656513380769085561102591465820338618413118778678358558958086571998425390802566042124424465942184674113689028494974483580294421711077373018797176405510051899517395131852081995192487544764426307313564134618760094861152377444594758611627914255409274132501529872409574529110714016341381289707545561497965471262859847308813698934225298626329634055831185731211899882646949316256740378112793378509413553905898576790717481255694799049693961684569758644608175296456337657529464270061616529498461157292146655512211857325464012110340586669165488829697884638241546719683386640804119618750996288039310773292491871742926415129883191021625489350494273229860709049480311868443846320119987801011066881011801508463937997707930536258980352658935263655249124241193345691514857447655742499529753992252266042816287040108656686818871026024134515650595503540415778436863153572455778389176005464766959395012679245150011 1680982728247652642382803947408067918509693250342773957570408283902619897607235592904402076696910001584850778933707056583932126344181634733452239390612892156897605582530735333125394098550972200226541740127583377621304146864392627140573518425325015890327580259364263663351624532696758848331799773757020907984708325482068867065870177276265006669522279660005837346758937621349428768499938727250804618175640330919838167302189106163120993456738380115206808005024130387594187169497179670196235283488562201107384054183658341032136624205700621910938065359824886735116416941481876717857219407191368570579177379479745548673622287838233895165880449073616951603019161359616910738044595853686857790261217845953436915654596167175236980378386427742241937030911721439272264796908245684220854711966168232459990576689293728748692844714451579718420491261648263022618163627673574573066492059800423908511922327870960060069808540016502058926029694717256624534951982198803371756827940335698499948940650701952009518453148930068182710334594717168143973210212231216714319277900031049089270683672926915952066627248739393532417551712171083345896149144086724638854652295999555356375974061341889334510182957124891714988942776915006837084601653125987799061676715295756090367589509768998463314787167342986248732683425923398839219744884325793222246988387732405953793342712748028497933107016811901974801019022571383672203085666758500570350378386915848722628113789018330350157089374290053393996684501918097256870928528865601672068396553059045740510656117604075498938678441526780705235269508680193652468154881802123800610958620234358641432283028197156535153096590393590868489074086623110235758811433442865979161348033868588781646051871700848033205572876991856701697856417418061982627425142669780389836821924232477502737034555980529083018492609684251000720989742221513244855907435379217222910694130384086692175149621339291168708369219158505847325557042599515271648233452441567555208465820989577232025976049855847889017206422826667013153137159475681247424768366762376259040698331831999020913297911450794694153455416798096644393771666289553230153967713397259122928179797454548004778854401772623705093969387508932901744327905298533993420088907368885797581535959391732947085180769665408238608070311482624866772738381224584204093243482532471643558539336428079579219495926722504169778613395685382716030919963549330025676517089426779990172932758207916208846836738336843362757628133972848400153823996450396812473564596984589505638324232208694493481451574049136543332495924899657867652809612258113105816378278406386165542707640849501291634510070967334009609786041753920670212791937645781356195619115710411112607015072382463007660549579923490286966012930776753238655319762574790848122757064170974149778845763631007329273879140230444700354280707222175412366163139475715001132842641029709992637755761297420907673954795642013178078574004255855687662847896757249862122739493386346546720888166997271168041246463538351629647025244170268075555685741831548413808862409091630260332393588146315487027580276620931895252419974198623255215772102322430519071003058692500063507987651062021738367692488254312691592977249969764026290204581476120425618 2719887188806229944427191813258770504230124859958865907882953804248774141654913451091805715589501888827188079573037522843489392042203335013721175536379358686919725111810572416627377048906616110500821236484426835761432299752060359418437470525689537141885154147939232247599656290861461964358973261529335895109953219791305738008904947601901830776807517850269451989600201219524536673276162007106836325360439668943886019165038129348875299046618503754386194373797869169345217564215247154533450880703487756656505753971011350053667994961715708240270765427852371380263391600461472978949910622529774803938704585532077944305609442255186368998247213011706799433528342741863361308233069660549078067322895762333201071658459317133988040940215646027013090421225149109947463975396793853301419276516951491291331674055133775338335158316052187372387852981097589167437996563791838963620243444556383286918144029914328329259849614890797537786159806004325915350004178298621207091075639967479518609907642598468690552690054796681313310344181602981386321192360759751995829269159492957440611253352332899815839716937891463666904694083930595366365027253327354160500503027132651888701119065513301554540707969989154044517092360576576397273960416375633858644583869095240418700378940079297382560968183204449729954071514811676011915931983401055994086025225687920059950743496470082587389036060275390531719024362403682199467728214074340686799076635893294960113613783313479546484136990467921259548813714291488286747361551640809882750258102463559595982353750389628842718212816167365129103622220421854786582592871447705164419130272394308592623308608240861149943634269615897535248756928111397980640443039335124127256468009506051670309320527931926034881836274986459446861707311859721640410722348014186358326389182399775344738336289708391027362165537478533672255164922168532489189830170251997919275614928936910115034070180885657623028902828520679344035243281456256562673282227704368657590546417103197110952780352484005256790377841241661199790336307187410494290637279936130228942159529936183025781089798319460660090771806225213073870629230501973267970845546142625373349696715946722044573146620259618479358268869202749277731805474362770604305589523109685122317977877698188948743707121660450827065658825474941548221492476312870300871171604188985024327624897530671045039834545135622948456971954643469288029345354351896067800941555368964664286621786702890692427131160047920735776425310378358452053341391582248894468757084529353931945637796343313253576312726426581138091107552813913276926942113787985515390907389120402506923997348395062789599981333827181318423484975979219296542425993476967087407518998357360428863755450495256386169963133829388863756730412032448037705013724259360606767365239467430487436375227901068945803377601387736847009792919079500876378273480062384166621672338914348234184475444684061711793573546638301217389347296747727430589263026640440883748228843880619776581597216477583036485092783658339430658092125182069584019623739539478950067842761750565523987642712387508832719095134068587637751949728190875521258588389362539175757821929718524198023638246565562154146129351407885147371366425975228793249599594155365575629 4400869917053882586809995760666838422739818110301639865453362088151394039262149043996207792286411890412038858506744579427421518386384969747173414926992250843817330694341307749752771147457588310727362976612010213382736446616452986559010988951014553032212734407303495910951280823558220812690773035286356803094661545273374605074775124878166837446329797510275289336359138840873965441776100734357640943536079999863724186467227235511996292503356883869593002378821999556939404733712426824729686164192049957763889808154669691085804619167416330151208830787677258115379808541943349696807130029721143374517881965011823492979231730093420264164127662085323751036547504101480272046277665514235935857584113608286637987313055484309225021318602073769255027452136870549219728772305039537522273988483119723751322250744427504087028003030503767090808344242745852190056160191465413536686735504356807195430066357785288389329658154907299596712189500721582539884956160497424578847903580303178018558848293300420700071143203726749496020678776320149530294402572990968710148547059524006529881937025259815767906344186630857199322245796101678712261176397414078799355155323132207245077093126855190889050890927114045759506035137491583234358562069501621657706260584390996509067968449848295845875755350547435978686754940735074851135676867726849216333013613420326013744086209218111085322143077087292506520043384975065871670813880832841257149455022809143682741727572331809896641226364757974653545498216209585543618290080506411554818654655522605336493009867993704341656891257694145834338891729102048439050747753249828965030088892628667234055591636438017685096730860009488403737831014734508216399254472777990106417816043374640451955372399632774068087409151978316148559563729277783623038147490683966748163211106632252847475370845688920110380658147162784672976154664390045734045737605631215142186309059320996807209219802224948791737272047679185191360800324055771834321515680145936212799012238092774342978756402339853145807584264068328212943473466663091741715405646698506487982857861768182046694387709770255354244227223023309718264400896791526498124813259539884496277876513401270049352001022032242184452238256711682179476133379661304597725678430478570919899513837089921895828887891325859065673729136957566414994230857537454504964415086721456667886164233958750624259330471858127118235585350328852004060265317901226093477458644795744654459554544910806901273967898384764098534053444351206852207165388032645706942321681513943437583962028552007747057764300475717681423603477713571144579751726046098621207285667526788672466704989244564081234491404794515328033271017733139966755217931122748443603138114067771541470770522877719393830512713752879150722743342809201276360333486834151454890122303638404637215220991532076275077256741618181547364073626301676288744436619538099167754514979944058226822231205981482619467528342280314395467921301003583118252110923397690745870968337266966323302485383474854204526339247196691060305117369352337659575309481371027363876705170842195784320036300533824319746675410689519533004369702389498776474360491684969694828824988411024261531625897627583892513821839662197838964343675944992819539804175631486001247 7120757105860112531237187573925608926969942970260505773336315892400168180917062495088013507875913779239226938079782102270910910428588304760894590463371609530737055806151880166380148196364204421228184213096437049144168746368513345977448459476704090174097888555242728158550937114419682777049746296815692698204614765064680343083680072480068668223137315360544741325959340060398502115052262741464477268896519668807610205632265364860871591549975387623979196752619868726284622297927673979263137044895537714420395562125681041139472614129132038391479596215529629495643200142404822675757040652250918178456586550543901437284841172348606633162374875097030550470075846843343633354510735174785013924907009370619839058971514801443213062258817719796268117873362019659167192747701833390823693265000071215042653924799561279425363161346555954463196197223843441357494156755257252500306978948913190482348210387699616718589507769798097134498349306725908455234960338796045785938979220270657537168755935898889390623833258523430809331022957923130916615594933750720705977816219016963970493190377592715583746061124522320866226939880032274078626203650741432959855658350264859133778212192368492443591598897103199804023127498068159631632522485877255516350844453486236927768347389927593228436723533751885708640826455546750863051608851127905210419038839108246073694829705688193672711179137362683038239067747378748071138542094907181943948531658702438642855341355645289443125363355225895913094311930501073830365651632147221437568912757986164932475363618383333184375104073861510963442513949523903225633340624697534129449219165022975826678900244678878835040365129625385938986587942845906197039697512113114233674284052880692122264692927564700102969245426964775595421271041137505263448869838698153106489600289032028192213707135397311137742823684641318345231319586558578223235567775883213061461923988257906922243289983110606414766174876199864535396043605512028396994797907850304870389558655195971453931536754823858402597962105309989412733809773850502236006042926634636716925017391704365072475477508089716014334999029248522792135030127293499766095658805682509869627573229347992093925147642291860663810507125914431457207938854024075202031267953588256042217491714788110844572595012986309892739387962432507963215723333850324805835586690910441692213789131489421669299165016993750066692557304972321292089610672253122161278400200164709318746176331613697593701099058432684834310478754729565304260506779614894601411078766043297369529599824895321000634077026902298819514711030527484421506693839834084136598193056647191179390702337639626870834472738621696646456755993712359263297643924599715531010657112425131970334525973372975780000475847582268014479473754841649314065347211093512061657487543105835124651596219433145220880634343005918394373866545381177165122710099600483334376187318858406461006706650665544331261101888918615612857268597751310548841373950038131629619197181147586099884082599952437241011432030855030490963209494534407243594933220910506313944547932592761308307679012921333152465770544758107170756319430580374297732948881047508870586646918129548459555264144193146046659951191070082986335710101920221612789403769786851576876 11521627022913995118047183334592447349709761080562145638789677980551562220179211539084221300162325669651265796586526681698332428814973274508068005390363860374554386500493187916132919343821792731955547189708447262526905192984966332536459448427718643206310622962546224069502217937977903589740519332102049501299276310338054948158455197358235505669467112870820030662318478901272467556828363475822118212432599668671334392099492600372867884053332271493572199131441868283224027031640100803992823209087587672184285370280350732225277233296548368542688427003206887611023008684348172372564170681972061552974468515555724930264072902442026897326502537182354301506623350944823905400788400689020949782491122978906477046284570285752438083577419793565523145325498890208386921520006872928345967253483190938793976175543988783512391164377059721554004541466589293547550316946722666036993714453269997677778276745484905107919165924705396731210538807447490995119916499293470364786882800573835555727604229199310090694976462250180305351701734243280446909997506741689416126363278540970500375127402852531351652405311153178065549185676133952790887380048155511759210813673397066378855305319223683332642489824217245563529162635559742865991084555378877174057105037877233436836315839775889074312478884299321687327581396281825714187285718854754426752052452528572087438915914906304758033322214449975544759111132353813942809355975740023201097986681511582325597068927977099339766589719983870566639810146710659373983941712653632992387567413508770268968373486377037526031995331555656797781405678625951664684088377947363094479308057651643060734491881116896520137095989634874342724418957580414413438951984891104340092100096255332574220065327197474171056654578943091743980834770415288886487017329382119854652811395664281039689077981086231248123481831804103018207474250948623957281305381514428203648233047578903729452509785335555206503446923879049726756843929567800231316313587996241083188570893288745796910293157163711548405546369378317625677283240513593977721448573333143204907875253472547119169865217859971368579226252271832510399431024085026264220472065222394365905449742749262143277148664324102848262745382626113636684072233685379799756946384066826962117005551878032740401482904312168958413117099390074378209954191387779310800001777631898360099953365448172293558495488851877184928142655301173296149875990154348254755858844960453973205730876524504494975066956817448932844532199080772156467672167647540308353400447557240807113561853447328747691841327378016500938314508241055566086445565880182757805478724173979851857407326884190952068964143416211974490027011445499230052861855722463974613795226492903511805296496250695173830988561335147165202217097650850590425680697927663516547609846744239761866817210965221495957891084624099941737940171682853453867146719138582502130702298802464687828937856647026950728630231198930008325189898754893667093484873435822375490165518414552423186567983427291445537771278051721551268326863886744903170242702281533677821253103434957092627715313455157472212445955447626703760689132969873074207309372732478565415471906540572721086890041820729939173773030732280825300053777865214432329207945418337578123 18642384128774107649284370908518056276679704050822651412125993872951730401096274034172234808038239448890492734666308783969243339243561579268962595853735469905291442306645068082513067540185997153183731402804884311671073939353479678513907907904422733380408511517788952228053155052397586366790265628917742199503891075402735291242135269838304173892604428231364771988277818961670969671880626217286595481329119337478944597731757965233739475603307659117551395884061737009508649329567774783255960253983125386604680932406031773364749847425680406934168023218736517106666208826752995048321211334222979731431055066099626367548914074790633530488877412279384851976699197788167538755299135863805963707398132349526316105256085087195651145836237513361791263198860909867554114267708706319169660518483262153836630100343550062937754325723615676017200738690432734905044473701979918537300693402183188160126487133184521826508673694503493865708888114173399450354876838089516150725862020844493092896360165098199481318809720773611114682724692166411363525592440492410122104179497557934470868317780445246935398466435675498931776125556166226869513583698896944719066472023661925512633517511592175776234088721320445367552290133627902497623607041256132690407949491363470364604663229703482302749202418051207395968407851828576577238894569982659637171091291636818161133745620594498430744501351812658582998178879732562013947898070647205145046518340214020968452410283622388782891953075209766479734122077211733204349593344800854429956480171494935201443737104760370710407099405417167761223919628149854890317429002644897223928527222674618887413392125795775355177461119260260281711006900426320610478649497004218573766384149136024696484758254762174274025900005907867339402105811552794149935887168080272961142411684696309231902785116483542385866305516445421363438793837507202180516873157397641265110157035836810651695799768446161621269621800078914262152887535079828628311111495846545953578129548484717250841829911987569951003508474688307038411093014364096213727491499967779921832892645176912191645342725949687382914225281520355302534461151378526030316130870904904235533022972097254237202296306615963512073252508540545093892011087709455001788214337655083004334497266666143584974077917298478851152505061822582341425677525238104116635588468542340052313742496937593962857660505845627251620699960273494588239486662407470416034259045125163291951907208138202088676166015250133767155010953810337460728178947262434909764479213600538176643161678342649748325918354280315320453025538768539987593139405714266894403671780821171031248109664523817822903436882037908620946783005157858493350505780322179505624452338918035482139822469623670953831464408917415179681690852492499904491027909021175578205097389850074886518413430398366716838525427630018336111806717064030618989856818739065836506889617660871148835644507312571281989732120117545621182458496506204215934858823473954005109362699562138523070650583379728686549203308906752042231536358421152146765175923192039991765801036027718400935394326376490624678216500205733874517008563550247371940258253779987436002118824670121180642154186013875985833724221802363811635763879785436045118611715205189154999 30164011151688102767331554243110503626389465131384797050915671853503292621275485573256456108200565118541758531252835465667575768058534853777030601244099330279845828807138255998645986884007789885139278592513331574197979132338446011050367356332141376586719134480335176297555372990375489956530784961019791700803167385740790239400590467196539679562071541102184802650596297862943437228708989693108713693761719006150278989831250565606607359656639930611123595015503605292732676361207875587248783463070713058788966302686382505590027080722228775476856450221943404717689217511101167420885382016195041284405523581655351297812986977232660427815379949461739153483322548732991444156087536552826913489889255328432793151540655372948089229413657306927314408524359800075941035787715579247515627771966453092630606275887538846450145490100675397571205280157022028452594790648702584574294407855453185837904763878669426934427839619208890596919426921620890445474793337382986515512744821418328648623964394297509572013786183023791420034426426409691810435589947234099538230542776098904971243445183297778287050871746828676997325311232300179660400963747052456478277285697058991891488822830815859108876578545537690931081452769187645363614691596635009864465054529240703801440979069479371377061681302350529083295989248110402291426180288837414063923143744165390248572661535500803188777823566262634127757290012086375956757254046387228346144505021725603294049479211599488122658542795193637046373932223922392578333535057454487422344047585003705470412110591137408236439094736972824559005325306775806555001517380592260318407835280326261948147884006912671875314557108895134624435425858006735023917601481895322913858484245391357270704823581959648445082554584850959083382940581968083036422904497462392815795223080360590271591863097569773633989787348249524381646268088455826137798178538912069468758390083415714381148309553781716827773068723957963988909731464647628859627425083842787036766700441773463047752123069151281499409054844066624664088376254877690191448940073300923126740767898649459310815207943809658751493451533792187812933892175463552294536602936127298601438472714846516380479444970940066360335997891166658730576083321394834801545160721721909966451502818544176325375560821610647809565622161212656719635631716625883427435590246174238412413695862385766256416155994697504436548842615574667884389362652561818670790117890085617265157638084662706583651232972067582699999543152891109617195851114909975218117879661157778983756723531789978496017759681658331821391340047009595553679584971594449652209150504995150883105516991408008774972401025454120595436810016603357723403367636044643480238247565410938993945118965874366127662452970252562344883907950143350494916708606948839094752707236594314648385230641363588212796416512254118277849746888746884072857003537877648338637591916463335836664582363959598232718362351316475629507648395261097883028343696909776380599528217976690946257218566807020132086974586958473593499863222307897049935418625473573669587054139462675493563109639831648096890662455653360578277697696520120446147567626512466001417590731210693901729044227834605925007497252534644636935817657650650477447819660623526733122 48806395280462210416615925151628559903069169182207448463041665726455023022371759607428690916238804567432251265919144249636819107302096433045993197097834800185137271113783324081159054424193787038323009995318215885869053071691925689564275264236564109967127645998124128525608528042773076323321050589937533900307058461143525530642725737034843853454675969333549574638874116824614406900589615910395309175090838343629223587563008530840346835259947589728674990899565342302241325690775650370504743717053838445393647235092414278954776928147909182411024473440679921824355426337854162469206593350418021015836578647754977665361901052023293958304257361741124005460021746521158982911386672416632877197287387677959109256796740460143740375249894820289105671723220709943495150055424285566685288290449715246467236376231088909387899815824291073588406018847454763357639264350682503111595101257636373998031251011853948760936513313712384462628315035794289895829670175472502666238606842262821741520324559395709053332595903797402534717151118576103173961182387726509660334722273656839442111762963743025222449338182504175929101436788466406529914547445949401197343757720720917404122340342408034885110667266858136298633742902815547861238298637891142554873004020604174166045642299182853679810883720401736479264397099938978868665074858820073701094235035802208409706407156095301619522324918075292710755468891818937970705152117034433491191023361939624262501889495221876905550495870403403526108054301134125782683128402255341852300527756498640671855847695897778946846194142389992320229244934925661445318946383237157542336362503000880835561276132708447230492018228155394906146432758433055634396250978899541487624868394527381967189581836721822719108454590758826422785046393520877186358791665542665776937634765056899503494648214053316019856092864694945745085061925963028318315051696309710733868547119252525032844109322227878449042690524036878251062618999727457487938536579689332990344829990258180298593952981138851450412563318754931702499469269241786405176431573268703048573660543826371502460550669759346134407676815312543115468353326842078324852733807032202836971495686943770617681741277556029872409250399707203824468094409104289803333375059376992970786000085210319910349638738909126660718127223035239061061309241863987544071178714716578464727438359323360219273816500543131688169542575848162472628849314969289086824376935210780557109545292800908672327398987317716467154554106701447077924030062172410127882358874758317160399885210132628244343678035938647141844365585778135541272724377308716546612822285816321914353626655931826597875837907492029216383593021761216216753873416366822985862699904328974476084941435498037081493917379169977524565598802635850399407736515970014672957804626444389534903644071761954929634941939884136613961553605810914691846860356616714175144481534124206985500226871272169514708094471434021250690106891767302098963202520383730385708890917538829469327869150186748818636177895865225635731399580729049196700594548665613661352855175490393894498503966208138721568878955859094452794706260070367818087825880292453437419709555880815082371198413848481910841221474337008448571581537436086522566431375828715888121 78970406432150313183947479394739063529458634313592245513957337579958315643647245180685147024439369685974009797171979715304394875360631286823023798341934130464983099920921580079805041308201576923462288587831547460067032204030371700614642620568705486553846780478459304823163901033148566279851835550957325601110225846884315770043316204231383533016747510435734377289470414687557844129298605603504022868852557349779502577394259096446954194916587520339798585915068947594974002051983525957753527180124551504182613537778796784544804008870137957887880923662623326542044643848955329890091975366613062300242102229410328963174888029255954386119637311202863158943344295254150427067474208969459790687176643006391902408337395833091829604663552127216420080247580510019436185843139864814200916062416168339097842652118627755838045305924966471159611299004476791810234054999385087685889509113089559835936014890523375695364352932921275059547741957415180341304463512855489181751351663681150390144288953693218625346382086821193954751577544985794984396772334960609198565265049755744413355208147040803509500209929332852926426748020766586190315511193001857675621043417779909295611163173223893993987245812395827229715195672003193224852990234526152419338058549844877967486621368662225056872565022752265562560386348049381160091255147657487765017378779967598658279068691596104808300148484337926838512758903905313927462406163421661837335528383665227556551368706821365028209038665597040572481986525056518361016663459709829274644575341502346142267958287035187183285288879362816879234570241701468000320463763829417860744197783327142783709160139621119105806575337050529530581858616439790658313852460794864401483352639918739237894405418681471164191009175609785506167986975488960222781696163005058592732857845417489775086511311623089653845880212944470126731330014418854456113230235221780202626937202668239413992418876009595276815759247994842239972350464375086347565961663532120027111530432031643346346076050290132949821618162821556366587845524119476596625371646569626175314428442475830813275758613569004885901128349104730928402245502305630619389336743159501438409968401790286998161186248496096232745248290873862555044177730499124604878535781098902937237502903754496235725199560519774470283749384247895780696940958489870971506768960890816877141134221709126475689972495240636124718385191422830357018211967531107757614494825296397822267183377463615255978631959385299167154097259592556695119881177082385346000238535916096144156608741922606740361437717596978963235705632787731094952309348903166198821972790811472797459143647339835372848238932946149811820403038364573940157241052411466466100947469739913470030060401372403209156370349422539869449506752779200894324445122918853767710511863038704183288874713125543142431358452138254891811300494557798764703863894494362513782073450587542822164809235231767747426456822750496880197755287028399981991546217293506766308419135515520415585087716993768950723152482823699229231262803036946246636013174139187330939909314953069388061613606039786818459541411512455031072403956590488264235393506804919438837300287091508984100242641683087835848718726871653085507399195086737000014251036452242621243 127776801712612523600563404546367623432527803495799693976999003306413338666019004788113837940678174253406261063091123964941213982662727719869016995439768930650120371034704904160964095732395363961785298583149763345936085275722297390178917884805269596520974426476583433348772429075921642603172886140894859501417284308027841300686041941266227386471423479769283951928344531512172251029888221513899332043943395693408726164957267627287301030176535110068473576814634289897215327742759176328258270897178389949576260772871211063499580937018047140298905397103303248366400070186809492359298568717031083316078680877165306628536789081279248344423894672943987164403366041775309409978860881386092667884464030684351011665134136293235569979913446947505525751970801219962931335898564150380886204352865883585565079028349716665225945121749257544748017317851931555167873319350067590797484610370725933833967265902377324456300866246633659522176056993209470237134133688327991847989958505943972131664613513088927678678977990618596489468728663561898158357954722687118858899987323412583855466971110783828731949548111837028855528184809232992720230058638951258872964801138500826699733503515631928879097913079253963528348938574818741086091288872417294974211062570449052133532263667845078736683448743154002041824783447988360028756330006477561466111613815769807067985475847691406427822473402413219549268227795724251898167558280456095328526551745604851819053258202043241933759534536000444098590040826190644143699791861965171126945103098000986814123805982932966130131483021752809199463815176627129445639410147066575403080560286328023619270436272329566336298593565205924436728291374872846292710103439694405889108221034446121205083987255403293883299463766368611928953033369009837409140487828547724369670492610474389278581159525676405673701973077639415871816391940381882774428281931531490936495484321920764446836528198237473725858449772031720491034969464102543835504498243221453017456360422289823644940029031428984400234181481576488069087314793361263001801803219838329223888088986302202315736309283328351020308805164417274043870598829147708944242070550191704275381464088734057615842927526052126105154498690581066379512272139603414408211910840475895908023502988964816146074838299428901131001876607283134841758250200353858515577947675607395341868572581032486694963788995783767812887927767270992829647061282500396844438871760507178379376728670264523928306030946703015634308651366294003773043911239254795473882597410674413304556493952055234984705115753535626105080071218565866636225033726211882745434795076627794711812770303271661970724076840438179028203996060125790156911114468778289451963647374068887946115001836870440290650287728592517394015105555415051293732181638888868440668316489483093718192518784887498072066300392022391505772854100368713456550724251111076688926554984711749807665036106503937262134551294184518130887862178795702080954748737677237152017310053054349884912956867180517769359330378688924864962662383765995443336607722804800992292764490443463282560117572247925540028420367371549483867110216660856082323219387097372876257009842972324066471441055531569746689940201208661534078980732522823522580682412280958509364 206747208144762836784510883941106686961986437809391939490956340886371654309666249968798984965117543939380270860263103680245608858023359006692040793781703061115103470955626484240769137040596940885247587170981310806003117479752669090793560505373975083074821206955042738171936330109070208883024721691852185102527510154912157070729358145497610919488170990205018329217814946199730095159186827117403354912795953043188228742351526723734255225093122630408272162729703237492189329794742702286011798077302941453758874310650007848044384945888185098186786320765926574908444714035764822249390544083644145616320783106575635591711677110535202730543531984146850323346710337029459837046335090355552458571640673690742914073471532126327399584576999074721945832218381729982367521741704015195087120415282051924662921680468344421063990427674224015907628616856408346978107374349452678483374119483815493669903280792900700151665219179554934581723798950624650578438597201183481029741310169625122521808902466782146304025360077439790444220306208547693142754727057647728057465252373168328268822179257824632241449758041169881781954932829999578910545569831953116548585844556280735995344666688855822873085158891649790758064134246821934310944279106943447393549121120293930101018885036507303793556013765906267604385169796037741188847585154135049231128992595737405726264544539287511236122621886751146387780986699629565825629964443877757165862080129270079375604626908864606961968573201597484671072027351247162504716455321675000401589678439503332956391764269968153313416771901115626078698385418328597445959873910895993263824758069655166402979596411950685442105168902256453967310149991312636951023955900489270290591573674364860442978392674084765047490472941978397435121020344498797631922183991552782962403350455891879053667670837299495327547853290583885998547721954800737230541512166753271139122421524589003860828947074247069002674209020026562731007319928477630183070459906753573044567890854321466991286105081719117350055799644398044435675160317480739598427174866407955399202517428778033129012067896897355906209933513522004972272844331453339563631407293351205713791432490524344614004113774548222337899746981454928934556449870102539013090446621574798845261005892719312381800037859948675601285625991531030622455191158843729487084716636498212219009706802741613170653761491024403937606312958693823186665273250031504602053366585803576201643912047728139184284662906088314801462748625886560468163792416337180819882835946590509448713102693977841725066553471132605068315776851353597731177343075115048944256767867439267509271913950611497343572315773384328840024399098490364097068355521189755918064594843808801416145062238242843499806658078015057263464612308194252188056626761807722208378828352521797901481393498013041214497658844160646397584154594926512221254588145605439202708628435299292629829845341735705009561008116935015011085617465824102062946294954970743918325729188569870300498044584174286720082482861512624094193925186802941689972620896943988323232673805396532670621731178287712358487961778884004514939514173251344346558612893902292315094310130063833050571683697214657582538658928080314619586379927609560522594933448733201130607 334524009857375360385074288487474310394514241305191633467955344192784992975685254756912822905795718192786531923354227645186822840686086726561057789221471991765223841990331388401733232772992304847032885754131074151939202755474966480972478390179244679595795633431626171520708759184991851486197607832747044603944794462939998371415400086763838305959594469974302281146159477711902346189075048631302686956739348736596954907308794351021556255269657740476745739544337527389404657537501878614270068974481331403335135083521218911543965882906232238485691717869229823274844784222574314608689112800675228932399463983740942220248466191814451074967426657090837487750076378804769247025195971741645126456104704375093925738605668419562969564490446022227471584189182949945298857640268165575973324768147935510228000708818061086289935549423481560655645934708339902145980693699520269280858729854541427503870546695278024607966085426188594103899855943834120815572730889511472877731268675569094653473515979871073982704338068058386933689034872109591301112681780334846916365239696580912124289150368608460973399306153006910637483117639232571630775628470904375421550645694781562695078170204487751752183071970903754286413072821640675397035567979360742367760183690742982234551148704352382530239462509060269646209953244026101217603915160612610697240606411507212794250020386978917663945095289164365937049214495353817723797522724333852494388631874874931194657885110907848895728107737597928769662068177437806648416247183640171528534781537504319770515570252901119443548254922868435278162200594955726891599284057962568666905318355983190022250032684280251778403762467462378404038441366185483243734059340183676179699794708810981648062379929488058930789936708347009364074053713508635041062671820100507332073843066366268332248830362975901001249826368223301870364113895182620004969794098284762075617905846509768307665475272484542728532658792058283222042289392580174018574958149975026062024251276611290636226134113148101750289981125974532504762475110842002600228978086246284623090606415080235444748377180225706926518738677939279016143443160601048507873477843542909989172896579258402229847041300600348443054245672035995314068722009705953421302357462050694753284508881684128527874876159377576732287502598814165464213441359197588002662664312105607560878279383774099865617550486808171750494240725964816016312334532531901446492238346310754581020640717992663112590693852791330435771399992180564241207703655591976293765433357264922753269596646033076709771669224668231173395848069919464367402376801326931689691562944067062221084684253883159314296392613822507868228395158616154253979469989968045370028242217877689362260064075113283790456945806607574657479717863609303481788808400696590649047144842004891619673912282900539286563959236183037903357008695295225677805312396716515891635183420011042437494881448239642271695559411119533141973479644619804143901043692647981070343039241624220185411001451354804489441813240201548959156587570568937133309228619748789315525438295839995953181848750535637898516382146255553998806624389912200428881832280999665191351319973036157117043124752746227329228599129288976153665360660132384045175615861014159639971 541271218002138197169585172428580997356500679114583572958911685079156647285351504725711807870913262132166802783617331325432431698709445733253098583003175052880327312945957872642502369813589245732280472925112384957942320235227635571766038895553219762670616840386668909692645089294062060369222329524599229706472304617852155442144758232261449225447765460179320610363974423911632441348261875748706041869535301779785183649660321074755811480362780370885017902274040764881593987332244580900281867051784272857094009394171226759588350828794417336672478038635156398183289498258339136858079656884319374548720247090316577811960143302349653805510958641237687811096786715834229084071531062097197585027745378065836839812077200545890369149067445096949417416407564679927666379381972180771060445183429987434890922389286405507353925977097705576563274551564748249124088068048972947764232849338356921173773827488178724759631304605743528685623654894458771394011328090694953907472578845194217175282418446653220286729698145498177377909341080657284443867408837982574973830492069749240393111329626433093214849064194176792419438050469232150541321198302857491970136490251062298690422836893343574625268230862553545044477207068462609707979847086304189761309304811036912335570033740859686323795476274966537250595123040063842406451500314747659928369599007244618520514564926266428900067717175915512324830201194983383549427487168211609660250712004145010570262512019772455857696680939195413440734095528684969153132702505315171930124459977007652726907334522869272756965026823984061356860586013284324337559157968858561930730076425638356425229629096230937220508931369718832371348591357498120194758015240672946470291368383175842091040772603572823978280409650325406799195074058007432672984855811653290294477193522258147385916501200275396328797679658807187868911835849983357235511306265038033214740327371098772168494422346731611731206867812084845953049609321057804201645418056728599106592142130932757627512239194867219100345780770372576940437635428322742198656152952654240022293123843858268573760445077123062832728672191461283988416287492054388071504885136894115702964329069782746843851155075148570780953992653490924248625171879808492434392804083625493598545514774403440909674914019326252333573128590345196086668632518041317489747380948603819779887986186515713036271311977832575688100553684658639202977607782563406048545604932114330782664552765720802296875356758879645237234148618067124709371496071929157113648269303855432201982699340010918434838222695800836241711624921273062098579719876441980633948330811506329730356598204494656657868708387206836708252794257106518351047825511157801288092837061686490778405126313356127290263603884622631920944330171803555669845435162504312857425973194526689521155305780913580501061618080343684300941163290221737899059900542321955094343811855310335067324726789975347281256567528054548153059097110443906206847338647618724988668768430194090485909046035529091209524296101714173053350512757371878823281849516692777638758112101236528623803579928823350257004343925139558513746138563163544775440445174901957506445630103099990167614808449960884911767258057369290773251740587741944567770549309747360770578 875795227859513557554659460916055307751014920419775206426867029271941640261036759482624630776708980324953334706971558970619254539395532459814156372224647044645551154936289261044235602586581550579313358679243459109881522990702602052738517285732464442266412473818295081213353848479053911855419937357346274310417099080792153813560158319025287531407359930153622891510133901623534787537336924380008728826274650516382138556969115425777367735632438111361763641818378292270998644869746459514551936026265604260429144477692445671132316711700649575158169756504386221458134282480913451466768769684994603481119711074057520032208609494164104880478385298328525298846863094638998331096727033838842711483850082440930765550682868965453338713557891119176889000596747629872965237022240346347033769951577922945118923098104466593643861526521187137218920486273088151270068761748493217045091579192898348677644374183456749367597390031932122789523510838292892209584058980206426785203847520763311828755934426524294269434036213556564311598375952766875744980090618317421890195731766330152517400479995041554188248370347183703056921168108464722172096826773761867391687135945843861385501007097831326377451302833457299330890279890103285105015415065664932129069488501779894570121182445212068854034938784026806896805076284089943624055415475360270625610205418751831314764585313245346564012812465079878261879415690337201273225009892545462154639343879019941764920397130680304753424788676793342210396163706122775801548949688955343458659241514511972497422904775770392200513281746852496635022786608240051229158442026821130597635394781621546447479661780511188998912693837181210775387032723683603438492074580856622649991163091986823739103152533060882909070346358672416163269127771516067714047527631753797626551036588624415718165331563251297330047506027030489739275949745165977240481100363322795290358233217608540476159897619216154459739526604143129175091898713637978220220376206703625168616393407544048263738373308015320850635761896347109445200110539164744798885131038900524645383730258938504018508822257348769759247410869400563004559730652655436579378362980437025692137225649041149073698196375748919224008238325526919562693893889514445855695161545676188351830023656087569437549790178703829065860631189159361550882073877238905492410045260709427340766265570289812901888862464640747438594794410623455219289942315095307495037843278425085363685193483713465409466050611670975673005548610247688950579199727521133407413702661120354955252295986043995144609891920469067415107472991192526465982096677768912323639893755573391951441282458377815972165101001029344576481189415722672605027295501125846658121079279564180140665190388469411080720549691230206578424048035412859151634243563200903506473118036531581140829218063814119787625577316526722204298171985516963576865212939038470985978995275321377504819608238214989552952126939174081295032576755063710350748382340266706059011807671818310671320047486883895698966109341915722012507100327940815956591078136441566954283550397076524576985428679358988155520726071395112512552762953075745204322277455901622697796950076136147284657933202707112240995857186658266926917101247874328612946165170761520410549 1417066445861651754724244633344636305107515599534358779385778714351098287546388264208336438647622242457120137490588890296051686238104978193067254955227822097525878467882247133686737972400170796311593831604355844067823843225930237624504556181285684204937029314204963990905998937773115972224642266881945504016889403698644309255704916551286736756855125390332943501874108325535167228885598800128714770695809952296167322206629436500533179215995218482246781544092419057152592632201991040414833803078049877117523153871863672430720667540495066911830647795139542619641423780739252588324848426569313978029839958164374097844168752796513758685989343939566213109943649810473227415168258095936040296511595460506767605362760069511343707862625336216126306417004312309800631616404212527118094215135007910380009845487390872100997787503618892713782195037837836400394156829797466164809324428531255269851418201671635474127228694637675651475147165732751663603595387070901380692676426365957529004038352873177514556163734359054741689507717033424160188847499456299996864026223836079392910511809621474647403097434541360495476359218577696872713418025076619359361823626196906160075923843991174901002719533696010844375367486958565894812995262151969121890378793312816806905691216186071755177830415058993344147400199324153786030506915790107930553979804425996449835279150239511775464080529640995390586709616885320584822652497060757071814890055883164952335182909150452760611121469615988755651130259234807744954681652194270515388783701491519625224330239298639664957478308570836557991883372621524375566717599995679692528365471207259902872709290876742126219421625206900043146735624081181723633250089821529569120282531475162665830143925136633706887350756008997822962464201829523500387032383443407087921028230110882563104081832763526693658845185685837677608187785595149334475992406628360828505098560588707312644654319965947766190946394416227975128141508034695782421865794263432224275208535538476805891250612502882539950981542666719686385637745967487486997541283991554764667676854102796772592269267334471832591976083060861846992976018144709824650883248117331141395101554718823895917549351450897490004962230979017843811319065769322938290087965629301681950375538430491010347224704198030081399433759779504557637550706395280222982157426209313247120654251756805525938160174442473323126695348095282094422267550097658713543583448210539416146349746249434267706341407370550620910239697228314813659950695799450290521061971964975787157234995326054913579448114616269903656819097912465588564561816554210892957588224567079721681797880662872472630033809388236181284733983672829190956075121012283647946213916341250670919070316701825538370984153575852838499368378207216414821479678725705216363899091231058270661984523844727700288687195396870406505239335275738701475925113481360426080322807130631712572144335028190336834208694467228629448091673865507616557595720987885431047680576102012401157229093522412986908490405443629895065857613085312694779872927653134344593041662498313053200789008608182338412525069996534671026298901516239289979762722630803580204242580179236137452272741652667997152763115244027557700168841835616273180716714480508881181127 2292861673721165312278904094260691612858530519954133985812645743623039927807425023690961069424331222782073472197560449266670940777500510652881411327452469142171429622818536394730973574986752346890907190283599303177705366216632839677243073467018148647203441788023259072119352786252169884080062204239291778327306502779436463069265074870312024288262485320486566393384242227158702016422935724508723499522084602812549460763598551926310546951627656593608545185910797349423591277071737499929385739104315481377952298349556118101852984252195716486988817551643928841099558063220166039791617196254308581510959669238431617876377362290677863566467729237894738408790512905112225746264985129774883007995445542947698370913442938476797046576183227335303195417601059939673596853426452873465127985086585833325128768585495338694641649030140079851001115524110924551664225591545959381854416007724153618529062575855092223494826084669607774264670676571044555813179446051107807477880273886720840832794287299701808825597770572611306001106092986191035933827590074617418754221955602409545427912289616516201591345804888544198533280386686161594885514851850381226753510762142750021461424851089006227380170836529468143706257766848669179918010677217634054019448281814596701475812398631283824031865353843020151044205275608243729654562331265468201179590009844748281150043735552757122028093342106075268848589032575657786095877506953302533969529399762184894100103306281133065364546258292782097861526422940930520756230601883225858847442943006031597721753144074410057157991590317689054626906159229764426795876042022500823126000865988881449320188952657253315218334319044081253922122656804865327071742164402386191770273694567149489569247077669694589796421102367670239125733329601039568101079911075160885547579266699506978822247164326777990988892691712868167347463735340315311716473506991683623795456793806315853120814217585163920650685921020371104303233406748333760642086170470135849443824928946020854154988985810897860801617304563066795830837856506652231796426415030455289313060584361735276610778089591820602351223493930262409997535748797365261230261611097768167087238780367865044991247547826646409228970469304544763374012959658837384145783127174977870302205562086578579784774494376733910465294390968663919188432780272519128474567471470022674461420517327095338840049036907114070565290142505905549641557492412754021038621291488964501510034939733147733115807457982221596583245245838562502610529895526971423928475674626096142112487291312098908724058006536738971071926570903658115030543913231979805281228118322653113633239163121250288602198910389265525861215173088551863561102416513409494604334995620814851059735507090294949451704703267083045077792426242629273973113922288906119870372209267589851802813741908541820076312772713397128709537507261255665052790326420398897066301802405953090076963943266405326387160821406402710743124250620571326908344103328152137106692383773830711828549141009296882607456514785545617078364713413253510736464005789575911547325212895389577777774437287541326568045796067929783538851664469315035184085000086705202902039530255372284736930674855375109393758972430685824627085943083490601793662879651270401591676 3709928119582817067003148727605327917966046119488492765198424457974138215353813287899297508071953465239193609688149339562722627015605488845948666282680291239697308090700783528417711547386923143202501021887955147245529209442563077301747629648303832852140471102228223063025351724025285856304704471121237282344195906478080772324969991421598761045117610710819509895258350552693869245308534524637438270217894555108716782970227988426843726167622875075855326730003216406576183909273728540344219542182365358495475452221419790532573651792690783398819465346783471460740981843959418628116465622823622559540799627402805715720546115087191622252457073177460951518734162715585453161433243225710923304507041003454465976276203007988140754438808563551429501834605372249474228469830665400583222200221593743705138614072886210795639436533758972564783310561948760952058382421343425546663740436255408888380480777526727697622054779307283425739817842303796219416774833122009188170556700252678369836832640172879323381761504931666047690613810019615196122675089530917415618248179438488938338424099237990848994443239429904694009639605263858467598932876927000586115334388339656181537348695080181128382890370225478988081625253807235074731005939369603175909827075127413508381503614817355579209695768902013495191605474932397515685069247055576131733569814270744730985322885792268897492173871747070659435298649460978370918530004014059605784419455645349846435286215431585825975667727908770853512656682175738265710912254077496374236226644497551222946083383373049722115469898888525612618789531851288802362593642018180515654366337196141352192898243533995441437755944250981297068858280886047050704992254223915760890556226042312155399391002806328296683771858376668062088197531430563068488112294518567973468607496810389541926328997090304684647737877398705844955651520935464646192465913620044452300555354395023165765468537551111686841632315436599079431374914783029543063951964733568073719033464484497660046239598313780400752598847229786482216475602474139718793967699022010053980737438464532049203047356926292434943199576991124256990511766942075085881144859215099308482340335086688940908796899277543899233932700283562607185332025428160322435871092804279552252581100517069590131999198574763991864728150748168476825983486667799351456724897679335921582074769083900864778209211349587393691985490601187644063825042510412734582204739699503917656384685982582000822148865352772217493484943066877316270480591326421714449537646591071929269722286638153822303506121153008874728745668816123703595105729786190698238816342889732835315037043784122761232232719777501707145949156761381054517177537525693142550548911962065521978805823792120487822688856842935883577160804449845688794593601014611336234271300498648122464798265753269520364999968110267535214776842536994366528715439901759323146624609536584802649108278294595663221369515873631340191215924486078943465939824316037568154372959875843112985778234531709869515946920229175512144222326498566205516336933442710256140366875393702630978563445895723664980570866064464454565150565985554325163847722717508783106282110434608422189203416508043106546522087674713382327254784919106874974379594131779282772803 6002789793303982379282052821866019530824576639442626751011070201597178143161238311590258577496284688021267081885709788829393567793105999498830077610132760381868737713519319923148685122373675490093408212171554450423234575659195916978990703115321981499343912890251482135144704510277455740384766675360529060671502409257517235394235066291910785333380096031306076288642592779852571261731470249146161769739979157921266243733826540353154273119250531669463871915914013755999775186345466040273605281286680839873427750570975908634426636044886499885808282898427400301840539907179584667908082819077931141051759296641237333596923477377869485818924802415355689927524675620697678907698228355485806312502486546402164347189645946464937801014991790886732697252206432189147825323257118274048350185308179577030267382658381549490281085563899052415784426086059685503722608012889384928518156443979562506909543353381819921116880863976891200004488518874840775229954279173116995648436974139399210669626927472581132207359275504277353691719903005806232056502679605534834372470135040898483766336388854507050585789044318448892542919991950020062484447728777381812868845150482406202998773546169187355763061206754947131787883020655904254649016616587237229929275356942010209857316013448639403241561122745033646235810750540641245339631578321044332913159824115493012135366621345026019520267213853145928283887682036636157014407510967362139753948855407534740535389521712718891340213986201552951374183105116668786467142855960722233083669587503582820667836527447459779273461489206214667245695691081053229158469684040681338780367203185022801513087196191248756656090263295062550990980937690912377776734418626301952660829920609461644968638080476022886480192960744338301213930861031602636589192205593728859016186763509896520748576161417082675636630569111574012303115256275779957908939420611728076096012148201339018886282755136275607492318236456970183734608321531363303706038135203703923162858393430518514201228584124678261554216151792853278047313458980791950590394114052465343293798022826267325813825446518113037294423070921386666988047515739440347111406470312867475569579115454553985900044447104190308462903169588107370559344985086997706581654219979257422554786662603648169916773692951497902330022541716832396014416266940318479931292369149358596043495286410996203618258248256701464257275633107093193705382534923166755620826031188468419166419625715729733937956323334993814076730188905439818881010486853393138378013321217168071382209577950252731027564127689747845800672239719781818625649643018170503520044461212385948948276206905373049834431630166767233007164329849932918078279954039102637154883907582880373038541330882415437274393560110018928654953230692474962767707523303517456104643509766237974267612007661811340441312740823664663924314349798250031581505766322158220212926411942537892726072221561000989608530337280034050934340175106650270374283927644189705261065343649673824814327375541006752123403435014721129222587039911819716252800939232286167687692088289092208756337883183264991548616662132394238104002230454869360347932722804213986008321640689980706926134091363418215940281060105399206954340728002597476768042473783049684364479 9712717912886799446285201549471347448790622758931119516209494659571316358515051599489556085568238153260460691573859128392116194808711488344778743892813051621566045804220103451566396669760598633295909234059509597668763785101758994280738332763625814351484383992479705198170056234302741596689471146481766343015698315735598007719205057713509546378497706742125586183900943332546440507040004773783600039957873713029983026704054528779997999286873406745319198645917230162575959095619194580617824823469046198368903202792395699167000287837577283284627748245210871762581521751139003296024548441901553700592558924044043049317469592465061108071381875592816641446258838336283132069131471581196729617009527549856630323465848954453078555453800354438162199086811804438622053793087783674631572385529773320735405996731267760285920522097658024980567736648008446455780990434232810475181896880234971395290024130908547618738935643284174625744306361178636994646729112295126183818993674392077580506459567645460455589120780435943401382333713025421428179177769136452249990718314479387422104760488092497899580232283748353586552559597213878530083380605704382398984179538822062384536122241249368484145951576980426119869508274463139329380022555956840405839102432069423718238819628265994982451256891647047141427416225473038761024700825376620464646729638386237743120689507137294917012441085600216587719186331497614527932937514981421745538368311052884586970675737144304717315881714110323804886839787292407052178055110038218607319896232001134043613919910820509501388931388094740279864485222932342031521063326058861854434733540381164153705985439725244198093846207546043848059839218576959428481726672850217713551386146651773800368029083282351183163964819121006363302128392462165705077304500112296832484794260320286062674905158507387360284368446510279857258766777211244604101405334231772528396567502596362184651751292687387294333950551893569263165983236314392846769990099937271996881891857915016174247468182438458662306814999022639760263789061454931669384361813074475397274535461290799375016872803444405472237622647912510923978559282681515432992551329527966784051919450541242926808841346381734207696835869871669977744677010515158029017525312783536974807367763120717760048772891526261894194750692465000872840399753608117831388017266828694517625570055494897068396467459606288857949261123708280837769207577433579490203030770887972336822804311698311734760105188687766031570215131972317135151491078179814852827550967808240000651931864588406553331070248842756720529417908535905522220755372804361201758860804102118784263313250689495811066664349944268940153113486611313972595457491564795779705432819544945895017347154674535925097082416952954812232114035142320651562301124318128792338914810264886096732410273415080860806312708933932199139091192335244398110221206223917543359551021479122695375180499855596652829899853153665391125556099592729213840223751960227273415438303525516937800105610072716621639350355243896641366809366410385921769137872674996423828058963682794839734901329078988656529187528196858692669152796440423685511780445521722769114603751124589129115337507871461322486803147780112589281595512921704351742422067914828967137282 15715507706190781825567254371337366979615199398373746267220564861168494501676289911079814663064522841281727773459568917221509762601817487843608821502945812003434783517739423374715081792134274123389317446231064048091998360760954911259729035878947795850828296882731187333314760744580197337074237821842295403687200724993115243113440124005420331711877802773431662472543536112399011768771475022929761809697852870951249270437881069133152272406123938414783070561831243918575734281964660620891430104755727038242330953363371607801426923882463783170436031143638272064422061658318587963932631260979484841644318220685280382914393069842930593890306678008172331373783513956980810976829699936682535929512014096258794670655494900918016356468792145324894896339018236627769879116344901948679922570837952897765673379389649309776201607661557077396352162734068131959503598447122195403700053324214533902199567484290367539855816507261065825748794880053477769876683391468243179467430648531476791176086495118041587796480055940220755074053616031227660235680448741987084363188449520285905871096876947004950166021328066802479095479589163898592567828334481764211853024689304468587534895787418555839909012783735373251657391295119043584029039172544077635768377789011433928096135641714634385692818014392080787663226976013680006364332403697664797559889462501730755256056128482320936532708299453362516003074013534250684947345025948783885292317166460419327506065258857023608656095700311876756261022892409075838645197965998940840403565819504716864281756438267969280662392877300954947110180914013395260679533010099543193215100743566186955219072635916492954749936470841106399050820156267871806258461091476519666212216067261235445336667163758374069644157779865344664516059253493768341666496705706025691500981023830182583423481319924470035920999015621853869561882033487024562010344754843500604492579650797701203538034047823662901826268788350539446900591557845756150476028235140975920044750251345534688448696766563136923861031150815493038311102520435723619974755927126940740568333484117066700830698249962518509532045718833897590966606798420955780103957799840834259621498565995796912708885793485924516159739039459777348304021995602155735599179532762794397362154425724365929965546584477759796524773234181833268854816020548436311319309635978053113669065341905893272014725707862990322206536756815374031474590112356746245823856802076440755989223937414041468698061512022759845646945320877756954032501565033207991205564289025408072034141442538659284358634376532504566330090148255687340846405015822531705278905265314504733211589457594868860901095980111036173160277816461246890673737445603898416860316727127826268055888485556951362371475977062973740887067265834795614330008647621646248443558320031124071000022281076892201247625449757596863063405542133494429691726972546075763572477433421660588101252721416597642438430190433699442059896274699379484214507679604416978676503647175190762614432985613723373762753790258617770589396406322205638021938811907282591515751051971887048491239212262253648077804190329252930773155026895293045859713168325936755122925391814569836041471599234879538427084207885511796235936240924301828510464541697878651501761 25428225619077581271852455920808714428405822157304865783430059520739810860191341510569370748632760994542188465033428045613625957410528976188387565395758863625000829321959526826281478461894872756685226680290573645760762145862713905540467368642573610202312680875210892531484816978882938933763708968324061746702899040728713250832645181718929878090375509515557248656444479444945452275811479796713361849655726583981232297141935597913150271692997345160102269207748474081151693377583855201509254928224773236611234156155767306968427211720041066455063779388849143827003583409457591259957179702881038542236877144729323432231862662307991701961688553600988972820042352293263943045961171517879265546521541646115424994121343855371094911922592499763057095425830041066391932909432685623311494956367726218501079376120917070062122129759215102376919899382076578415284588881355005878881950204449505297489591615198915158594752150545240451493101241232114764523412503763369363286424322923554371682546062763502043385600836376164156456387329056649088414858217878439334353906763999673327975857365039502849746253611815156065648039186377777122651208940186146610837204228126530972071018028667924324054964360715799371526899569582182913409061728500918041607480221080857646334955269980629368144074906039127929090643201486718767389033229074285262206619100887968498376745635619615853545149385053579103722260345031865212880282540930205630830685477513303914476740996001328325971977414422200561147862679701482890823253076037159447723462051505850907895676349088478782051324265395695226974666136945737292200596336158405047649834283947351108925058075641737152843782678387150247110659374844831234740187764326737379763602213913009245704696247040725252808122598986351027818187645955934046743801205818322523985775284150468646098386478431857396205367462132133726820648810698269166111750089075273132889147153394063388189785340511050196160219340244108710066574794160148997246018335078247916926642109260550862696164949001595586167846149838132798574891581890655289359117740201416137842868945407866075847571053406923981769668366746408514945166081102471213096509129368801043673418016537039839517727139867658723856574909331447326048699006117313764616704845546331372169522188845083690014319476004021690719523926646834141695215774156554142707326902806747631294635397400790340411193167469279180155797880523654869243797689790325736026887572964413092812028249112353203458166700710525877217160452850074089183992643213022844033115256833648072686073307127065837689704625375261286859508056791592863067160388626892907037766069416623517474902708284364671967760330055305113313391303072560863269194937168694196565749546672772163073235640231487287468558394015928553119181300977116265892309771939775040782473130296010167732432554491973062053938158691529062202496734468738827801948178769993306932028454900783283476433221272194295268330043587364833185452374292108698054731431564644252091941950700707700414538595686439995402104145502514411956205772732591559791076684582279015343810015654681888226140541341242304606991718526111623442307823335716731371493613847659524237529142939158965156809107106340860913887355665624385517531753846006180252886609612707618639043 41143733325268363097419710292146081408021021555678612050650624381908305361867631421649185411697283835823916238492996962835135720012346464031996386898704675628435612839698950200996560254029146880074544126521637693852760506623668816800196404521521406053140977757942079864799577723463136270837946790166357150390099765721828493946085305724350209802253312288988911128988015557344464044582954819643123659353579454932481567579816667046302544099121283574885339769579717999727427659548515822400685032980500274853565109519138914769854135602504849625499810532487415891425645067776179223889810963860523383881195365414603815146255732150922295851995231609161304193825866250244754022790871454561801476033555742374219664776838756289111268391384645087951991764848277694161812025777587571991417527205679116266752755510566379838323737420772179773272062116144710374788187328477201282582003528664039199689159099489282698450568657806306277241896121285592534400095895231612542753854971455031162858632557881543631182080892316384911530440945087876748650538666620426418717095213519959233846954241986507799912274939881958544743518775541675715219037274667910822690228917430999559605913816086480163963977144451172623184290864701226497438100901044995677375858010092291574431090911695263753836892920431208716753870177500398773753365632771950059766508563389699253632801764101936790077857684506941619725334358566115897827627566878989516123002643973723241982806254858351934628073114734077317408885572110558729468451042036100288127027871010567772177432787356448062713717142696650174084847050959132552880129346257948240864935027513538064144130711558230107593719149228256646161479531112703040998648855803257045975818281174244691041363410799099322452280378851695692334246899449702388410297911524348215486756307980651229521867798356327432126366477753987596382530844185293728122094843918773737381726804191764591727819388334713097986488128594648156967166352005905147722046570219223836971392360606085551144861715564732510028877300653625836885994102326378909333873667328356878411202429524932776678269303369442491301714085580306105911772879523426993200466929209635303294916582532836752226612933353583240016313948791224674352721001719469500215884378309125769531676614569449619979866060481781487244297160828667410550031794704990454026636538784800744963700739306683612425918875332269502362334637339028900718387802147071981850744375040853848801252186526394672156228212733285722864105773727831043216494208246230835238679545859056144720214749665725122048339001907765853189598205047280203913565404449424612316671334731128250686492165879233532868856310166341286473669119533807753942932382772592613426066273800598431129124125788438649840034371078902294006248566811911880222318419561421289226031450327134238732454835568865263301563608449125925265902276602233257493675151316069070504505888322443871577685942688791937706760234021064275245348648991488182269239111169061230768445597875898463028971581300163369164857935761132182545602179054797197813015496489561606859561067626568936717379753603495952684795908855364554215462850231009777231206782173596279360454534753728801198280706341220399340971563551136181753467994770308008763351151310586270140804 66571958944345944369272166212954795836426843712983477834080683902648116222058972932218556160330044830366104703526425008448761677422875440220383952294463539253436442161658477027278038715924019636759770806812211339613522652486382722340663773164095016255453658633152972396284394702346075204601655758490418897092998806450541744778730487443280087892628821804546159785432495002289916320394434616356485509009306038913713864721752264959452815792118628734987608977328192080879121037132371023909939961205273511464799265674906221738281347322545916080563589921336559718429228477233770483846990666741561926118072510143927247378118394458913997813683785210150277013868218543508697068752042972441067022555097388489644658898182611660206180313977144851009087190678318760553744935210273195302912483573405334767832131631483449900445867179987282150191961498221288790072776209832207161463953733113544497178750714688197857045320808351546728734997362517707298923508398994981906040279294378585534541178620645045674567681728692549067986828274144525837065396884498865753071001977519632561822811607026010649658528551697114610391557961919452837870246214854057433527433145557530531676931844754404488018941505166971994711190434283409410847162629545913718983338231173149220766046181675893121980967826470336645844513378987117541142398861846235321973127664277667752009547399721552643623007069560520723447594703597981110707910107809195146953688121487027156459547250859680260600050529156277878556748251812041620291704118073259735850489922516418680073109136444926844765041408092345401059513187904869845080725682416353288514769311460889173069188787199967260437501827615406893272138905957534275738836620129994425739420495087253936746059657839824575260402977838046720152434545405636435154099117342670739472531592131119875620254276788184828331733939886121323203179654883562894233844932994046870270873957585827979917604728845763294146707468838756867033741146166054144968064905297471753898034469866636413841026664566328096196723450491758635460885684217034198692991407529773016254071374932798852525840356776366473071382452326714620856938960625898206296976058578436346968334599069876591744340073221241963872888858122672000401420007836783264832589223855457141701198803414533309994185536485803177963821087475501552245247568861544596733963441591548376258336136707473952837112042801548682518132517862683769962185491937397717877631948005266941613280435638747875614394913443811600081266226577905132400486851459253679271794802692704217406288056792790959738043627283027140049106261838873066980725793076317519354437404147751768161394874163598204836616640221646399787060422606368617212127319941286809991815820473370594202359766019925937308592765094830847125429867789028146114628191501196330008504580623144406464887390060838325355501767140654987468399011070972085295623330086062377436534343223227155054119163960986232975090277608429108430801023283596880323970542733705482860387548576606163443510176986603364566962081263646594501807951787388757604092181071840622203371083281250824943520294944738257291787627381476177657770673566726508602700396021255803597983677692887766355089813447561260254858919216760567270999748616314189016237760923293888779847 107715692269614307466691876505100877244447865268662089884731308284556421583926604353867741572027328666190020942019421971283897397435221904252380339193168214881872055001357427228274598969953166516834314933333849033466283159110051539140860177685616422308594636391095052261083972425809211475439602548656776047483098572172370238724815793167630297694882134093535070914420510559634380364977389435999609168362885493846195432301568932005755359891239912309872948746907910080606548696680886846310624994185773786318364375194045136508135482925050765706063400453823975609854873545009949707736801630602085309999267875558531062524374126609836293665679016819311581207694084793753451091542914427002868498588653130863864323675021367949317448705361789938961078955526596454715556960987860767294330010779084451034584887142049829738769604600759461923464023614365999164860963538309408444045957261777583696867909814177480555495889466157853005976893483803299833323604294226594448794134265833616697399811178526589305749762621008933979517269219232402585715935551119292171788097191039591795669765849012518449570803491579073155135076737461128553089283489521968256217662062988530091282845660840884651982918649618144617895481298984635908285263530590909396359196241265440795197137093371156875817860746901545362598383556487516314895764494618185381739636227667367005642349163823489433700864754067462343172929062164097008535537674688184663076690765460750398442353505718032195228123643890355195965633823922600349760155160109360023977517793526986452250541923801374907478758550788995575144360238864002397960855028674301529379704338974427237213319498758197368031220976843663539433618437070237316737485475933251471715238776261498627787423068638923897712683356689742412486681444855338823564397028867018954959287900111771105142122075144512260458100417640108919585710499068856622355939776912820607652600761777592571645424117180476392133195597433405024000907498171959292690111475516695590869426830472721964985888380131060606225600751145384472346879786543413108026865074858129894665273804457731629204109660145808964373096537907020726768711840149325199497442987788071650263251181602713343970953006574825203889202806913896674754141009556252765048473602164582911232875417983982929974051596967584665208118248304168962795279363566535050760599980376349121222036876014157565263030918133818184880467155201712670680573294084469699728376323046120790414532622165142547770623126177097322945372000305736175616981059705484514510474348551760362126502806458516081786382629190792993238704466886153270894291197525742131671108738878880018847887040042831737705472950387987686260729542140176371155059702713879423417882094273969025331483891808364587148627136173733141131678434600940026336946611062617619234536030950278645197342225629703588657065375589780912734301287673205342789298481402131447941040231545671026631805106649778170681850511629493383676149672275085062593209653902766713628833146452504626472481758286766733731820017024778777047410130842185955417107677561402229062932150907819761660900048548234209976583536236840731873233523797736285833907178194852082958438212446616567553370519788781659595830482767896749024467743386622197779588912233880158920651 174287651213960251835964042718055673080874708981645567718811992187204537805985577286086297732357373496556125645545846979732659074858097344472764291487631754135308497163015904255552637685877186153594085740146060373079805811596434261481523950849711438564048295024248024657368367128155286680041258307147194944576097378622911983503546280610910385587510955898081230699853005561924296685371824052356094677372191532759909297023321196965208175683358541044860557724236102161485669733813257870220564955391047297783163640868951358246416830247596681786626990375160535328284102022243720191583792297343647236117340385702458309902492521068750291479362802029461858221562303337262148160294957399443935521143750519353508982573203979609523629019338934789970166146204915215269301896198133962597242494352489785802417018773533279639215471780746744073655985112587287954933739748141615605509910994891128194046660528865678412541210274509399734711890846321007132247112693221576354834413560212202231940989799171634980317444349701483047504097493376928422781332435618157924859099168559224357492577456038529099229332043276187765526634699380581390959529704376025689745095208546060622959777505595289140001860154785116612606671733268045319132426160136823115342534472438590015963183275047049997798828573371882008442896935474633856038163356464420703712763891945034757651896563545042077323871823627983066620523765762078119243447782497379810030378886947777554901900756577712455828174173046633074522382075734641970051859278182619759828007716043405132323651060246301752243799958881340976203873426768872243041580711090654817894473650435316410282508285958164628468722804459070432705757343027771592476322096063245897454659271348752564533482726478748472973086334527789132639115990260975258718496146209689694431819492242890980762376351932697088789834357526230242788890153952419516589784709906867477923474719363420551563028846026239686279903066272161891034648644338013437658176380814167344767461300339358378826915044697388702422324201637143107807765470760447306719856482387902910919345179390530481729950016922175437444478990233735347625650800775223405794419046366507997231585780672589935715293079796067167762091665036568675155561017393036029881062826020040052934074221398516239968237133453387843171939335779670515040526932428079647494563421967897497480373012721631518100142960935366867398599673064396440642758786021867417606008271051387732027813057803890423385018039620908923026638226883641308017467911164738193782269151244464579532790863251307041524426256473820133287810728725026337875016990602059651025546143026631787009281914206429942542089590609634086047789964746544988367187022655166233409697914747339619533843657828290524457219901268563988257108302389968172451574802563813949243040611573423051662229615690541914012567142730435900202700298744177428084921811488193825377574574768898181685924270610764403656940789237922492106950695558681942917180196636472196489220695029110789915991935273370098298782098288425371549218082629574713021199858633242851266303234189070586604420343492972467268371163618316909531004197364462794436607574216107886556421890139504333908460333236342919850689401984657316295467492002936386795826673157174047700498 282003343483574559302655919223156550325322574250307657603543300471760959389912181639954039304384702162746146587565268951016556472293319248725144630680799969017180552164373331483827236655830352670428400673479909406546088970706485800622384128535327860872642931415343076918452339553964498155480860855803970992059195950795282222228362073778540683282393089991616301614273516121558677050349213488355703845735077026606104729324890128970963535574598453354733506471144012242092218430494144716531189949576821084101528016062996494754552313172647447492690390828984510938138975567253669899320593927945732546116608261260989372426866647678586585145041818848773439429256388131015599251837871826446804019732403650217373306248225347558841077724700724728931245101731511669984858857185994729891572505131574236837001905915583109377985076381506205997120008726953287119794703286451024049555868256668711890914570343043158968037099740667252740688784330124306965570716987448170803628547826045818929340800977698224286067206970710417027021366712609331008497267986737450096647196359598816153162343305051047548800135534855260920661711436841709944048813193897993945962757271534590714242623166436173791984778804403261230502153032252681227417689690727732511701730713704030811160320368418206873616689320273427371041280491962150170933927851082606085452400119612401763294245727368531511024736577695445409793452827926175127778985457185564473107069652408527953344254262295744651056297816936988270488015899657242319812014438291979783805525509570391584574192984047676659722558509670336551348233665632874641002435739764956347274177989409743647495827784716361996499943781302733972139375780098008909213807571996497369169898047610251192320905795117672370685769691217531545125797435116314082282893175076708649391107392354662085904498427077209349247934775166339162374600653021276138945724486819688085576075481141013123208452963206716078413098663705566915035556142509972730348287856330862935636888130812080343812803424828449308647924952782527580154645257303860414746721557246032805584618983848262110934059677067984401817575528140756074394362640924548605291862034154579647494836962275303279686246086370892371651294471950465349909702026949288794929536428184622964166949639382499169942288730420972508380057584083839477835806295994614698255163402344246618702409888735789083363173879069185052279066828266109111323332080106337117334384594097508522442345679969032971155641165798006245972010227189377483634448970870222708292743499796224941659293669709823123310808885664613126526515195611179608769308188127801782696654881905511805857168954249261680247562540997621772308519506886721359522246725369045656827580009021308644865327549636655111605847037442297129388786736990908198788521413626431568477576642523701696859571841320245502669632518320216812937001586417382770874220292890325273318614806314569208317729377260542574338791300867415875783100367833767005510389850539238910118053841481615416388473693560136832030602115313204148596628213471760668438307536194645080329235385096890348265320392041206677244954699855157641404237721162199080270514752410959969514860102586120901461830853025124579446519884752554065319935235389558584575415585391054206621149 456290994697534811138619961941212223406197283231953225322355292658965497195897758926040337036742075659302272233111115930749215547151416593197908922168431723152489049327389235739379874341707538824022486413625969779625894782302920062103908079385039299436691226439591101575820706682119784835522119162951165936635293329418194205731908354389451068869904045889697532314126521683482973735721037540711798523107268559366014026348211325936171711257956994399594064195380114403577888164307402586751754904967868381884691656931947853000969143420244129279317381204145046266423077589497390090904386225289379782233948646963447682329359168747336876624404620878235297650818691468277747412132829225890739540876154169570882288821429327168364706744039659518901411247936426885254160753384128692488814999484064022639418924689116389017200548162252950070775993839540575074728443034592639655065779251559840084961230871908837380578310015176652475400675176445314097817829680669747158462961386258021161281790776869859266384651320411900074525464205986259431278600422355608021506295528158040510654920761089576648029467578131448686188346136222291335008342898274019635707852480080651337202400672031462931986638959188377843108824765520726546550115850864555627044265186142620827123503643465256871415517893645309379484177427436784026972091207547026789165164011557436520946142290913573588348608401323428476413976593688253247022433239682944283137448539356305508246155018873457106884471989983621345010397975391884289863873716474599543633533225613796716897844044293978411966358468551677527552107092401746884044016450855611165168651639845060057778336070674526624968666585761804404845133123125780501690129668059743266624557318959003756854388521596420843658856025745320677764913425377289341001389321286398343822926884597553066666874779009906438037769132692569405163490806973695655535509196726555563499550200504433674771481809232955764693001729977728806070204786847986168006464237145030280404349431151438722639718469525838011070249154419670687962410728064307721466578039633935716503964163238792592664009693990159839262054518374491422020013441699772011086281080521087644726422742947893215401539166166959539413386136987034025065263044342324824810599254204663017101023860781015409910525863874360351551996919863509992876333228422694345749726824312144116182782901457420601463316840004551919677666501330505551966090866128204534940392865148896254470158737772923394540659205418915168998648454073018791651916882034960902075012651040689521192084532961130164835235142138433259814325924336205946644325178729861433722201024932143592866450868455691622789652131607255858356309471633266347889433748024211890237277923768648264399171207464945636063066938710861117645895039380876371240096216190245517720617254097124748521801457010787416682199661050652713139701885161560198959142104378519098696189381083467390003653647871306977995732090105338367890051063392448948427570047175711106607274536510726206304465628833506930329384213601629520145846296101335381459507394827887931595538619285960934869740735534179144513325863473474550935241918526661874707122326627067856071281992725625235370291186261467499297209286737211381615402727392494971371242258548228254321647 738294338181109370441275881164368773731519857482260882925898593130726456585809940565994376341126777822048418820676384881765772019444735841923053552849231692169669601491762567223207110997537891494450887087105879186171983753009405862726292207920367160309334157854934178494273046236084282991002980018755136928694489280213476427960270428167991752152297135881313833928400037805041650786070251029067502368842345585972118755673101454907135246832555447754327570666524126645670106594801547303282944854544689465986219672994944347755521456592891576772007772033129557204562053156751059990224980153235112328350556908224437054756225816425923461769446439727008737080075079599293346663970701052337543560608557819788255595069654674727205784468740384247832656349667938555239019610570123422380387504615638259476420830604699498395185624543759156067896002566493862194523146321043663704621647508228551975875801214951996348615409755843905216089459506569621063388546668117917962091509212303840090622591754568083552451858291122317101546830918595590439775868409093058118153491887756856663817264066140624196829603112986709606850057573064001279057156092172013581670609751615242051445023838467636723971417763591639073610977797773407773967805541592288138745995899846651638283824011883463745032207213918736750525457919398934197906019058629632874617564131169838284240388018282105099373344979018873886207429421614428374801418696868508756244518191764833461590409281169201757940769806920609615498413875049126609675888154766579327439058735184188301472037028341655071688916978222014078900340758034621525046452190620567512442829629254803705274163855390888621468610367064538376984508903223789410903937240056240635794455366569254949175294316714093214344625716962852222890710860493603423284282496363106993214034276952215152571373206087115787285703907858908567538091459994971794481233683546243649075625681645446797979934772439671843106100393683295721105760929357958898354752093475893216041237561963519066452521894354287319718174107202198268117055985368168136213299596879968522088583147087054703598069371058144241079630046515247496414376082624320616378143114675667292221259705223196495087785252537851911064680608937499374974965071291613619740135682389285981267973500163514579852814594295332859932054503947349470712139524417309044004890226656390734885192790193209684826490719073736971956733329596614663289422946234541652274777459246404776912504417741956365696300371216921414970658681262396275286365852905183610367756150836914462851378202670953288146044027803046386340841119947385555413633366857663216418855906837655398723619822704953303037214672604877630664828978519987707411680473393257547064857932789956909264498757101600747668913976153158247034681776371784570028617629816677086198193896620826445381373298331032919351832179370869526076703471578942969833362397268844372014804187398036598321383025131849552334523390972754243673151431226215953937959897714950016725328377992341622692939322393643762359986328914833668742474509573096049897814931022533011924774004382851283135061127575385821758280563328632192339479639688860954977637079038027825586142095311746136832122039286592078743729171489765446935337962782053555946657843939282460942796 1194585332878644181579895843105580997137717140714214108248253885789691953781707699492034713377868853481350691053787500812514987566596152435120962475017663415322158650819151802962586985339245430318473373500731848965797878535312325924830200287305406459746025384294525280070093752918204067826525099181706302865329782609631670633692178782557442821022201181771011366242526559488524624521791288569779300891949614145338132782021312780843306958090512442153921634861904241049247994759108949890034699759512557847870911329926892200756490600013135706051325153237274603470985130746248450081129366378524492110584505555187884737085584985173260338393851060605244034730893771067571094076103530278228283101484711989359137883891084001895570491212780043766734067597604365440493180363954252114869202504099702282115839755293815887412386172706012106138671996406034437269251589355636303359687426759788392060837032086860833729193719771020557691490134683014935161206376348787665120554470598561861251904382531437942818836509611534217176072295124581849871054468831448666139659787415914897174472184827230200844859070691118158293038403709286292614065498990446033217378462231695893388647424510499099655958056722780016916719802563294134320517921392456843765790261085989272465407327655348720616447725107564046130009635346835718224878110266176659663782728142727274805186530309195678687721953380342302362621406015302681621823851936551453039381966731121138969836564300042658864825241796904230960508811850441010899539761871241178871072591960797985018369881072635633483655275446773691606452447850436368409090468641476178677611481269099863763052499926065415246437276952826342781829642026349569912594066908115983902419012685528258706029682838310514058003481742708172900655624285870892764285671817649505337036961161549768219238247985097022225323473040551477972701582266968667450016742880272799212575175882149880472751416581672627607799102123661024527175965716205945066361216330620923496445586993114957789092240363880125330788423261621868956079466713432475857679877636513904238592547310325847296262079065048304080341684564889738918434389524324092627464424195196754936947682448171089710489324418704811450478066745924533400040228115633938444550734936593948998368997360944529989763340458169693211484051423810859463588472752840003389754617050968534851067975691650630286289807559078288891634399830927120215255513812362746187215170324395301031382663155514879760236959576635836583969307135335415066938282734940144512442768801877603984043462735632083452981279169941479646155167044283591502057958545587524650141056931769798991590070691160644925826866804212133489021138450153254055301114221417469437302135856558605173663669964566546383731980914864019364680576815752660941268713846006922603918811150717951193903174755341820336034031840421522239216405356740503168792504501647363470710993568481503988325036673003156530330255481078092611563202494618664902365529944890661123332602914503067828997404951227150692689370542516463188888320805674431431357322325850420943520312623668812218004801863109564966271606426802106743274721558215522829684759405665095681657424088037371372202413225548059578040938458226976828550740690174548527317900102487510715264443 1932879671059753552021171724269949770869236998196474991174152478920418410367517640058029089718995631303399109874463885694280759586040888277044016027866895107491828252310914370185794096336783321812924260587837728151969862288321731787556492495225773620055359542149459458564366799154288350817528079200461439794024271889845147061652449210725434573174498317652325200170926597293566275307861539598846803260791959731310251537694414235750442204923067889908249205528428367694918101353910497193317644614057247313857131002921836548512012056606027282823332925270404160675547183902999510071354346531759604438935062463412321791841810801599183800163297500332252771810968850666864440740074231330565826662093269809147393478960738676622776275681520428014566723947272303995732199974524375537249590008715340541592260585898515385807571797249771262206567998972528299463774735676679967064309074268016944036712833301812830077809129526864462907579594189584556224594923016905583082645979810865701342526974286006026371288367902656534277619126043177440310830337240541724257813279303671753838289448893370825041688673804104867899888461282350293893122655082618046799049071983311135440092448348966736379929474486371655990330780361067542094485726934049131904536256985835924103691151667232184361479932321482782880535093266234652422784129324806292538400292273897113089426918327477783787095298359361176248828835436917109996625270633419961795626484922885972431426973581211860622766011603824840576007225725490137509215650026007758198511650695982173319841918100977288555344192424995705685352788608470989934136920832096746190054310898354667468326663781456303867905887319890881158814150929573359323498004148172224538213468052097513655204977155024607272348107459671025123546335146364496187569954314012612330250995438501983371809621191184138012609176948410386540239673726963639244497976563819042861650801563795327270731351354112299450905202517344320248281726645563903964715968424096816712486824555078476855544762258234412650506597368824067224196522698800643993893177233393872760681130457412901999860148436106448321421314611404986414848765606948413243842567309872422229168942153394286205577109671242663361542747354862032775015193186925552064290870618983234979636970861108044569616155052465026071416105927758208934300612277257312433759507277624925585953168481843839971116298278152025863591133160523734878544936758597287839489947783641705808295167573256836125933259947852757998939965816597811342224648587845328122810524952714518446894840938303036741127323197744526032496008164230977057471591912445187866559912838607454390313690513865598228864081476817011119685967428673241762712794694810726984366993789348562082928168721668147131400894891017177611715258592124445511297331475823599690117005047338777639284548053672853255385864019792391765293108828319446138625866898916207842725797755879540586646419698135006082664778872050846855236353925844880856303489842605611140057931292495409451690344273620794455049356871431296857630795315247527481255137256872953955445086628051663501139862990684950788029886990130738935614201197904383784662396484703123507243566183349117509034535264834651656784667629716742275486078652956602083264557946426793176207239 3127465003938397733601067567375530768006954138910689099422406364710110364149225339550063803096864484784749800928251386506795747152637040712164978502884558522813986903130066173148381081676028752131397634088569577117767740823634057712386692782531180079801384926443984738634460552072492418644053178382167742659354054499476817695344627993282877394196699499423336566413453156782090899829652828168626104152741573876648384319715727016593749163013580332062170840390332608744166096113019447083352344373569805161728042332848728749268502656619162988874658078507678764146532314649247960152483712910284096549519568018600206528927395786772444138557148560937496806541862621734435534816177761608794109763577981798506531362851822678518346766894300471781300791544876669436225380338478627652118792512815042823708100341192331273219957969955783368345239995378562736733026325032316270423996501027805336097549865388673663807002849297885020599069728872599491385801299365693248203200450409427562594431356817443969190124877514190751453691421167759290181884806071990390397473066719586651012761633720601025886547744495223026192926864991636586507188154073064080016427534215007028828739872859465836035887531209151672907050582924361676415003648326505975670326518071825196569098479322580904977927657429046829010544728613070370647662239590982952202183020416624387894613448636673462474817251739703478611450241452219791618449122569971414835008451654007111401263537881254519487591253400729071536516037575931148408755411897248937069584242656780158338211799173612922038999467871769397291805236458907358343227389473572924867665792167454531231379163707521719114343164272717223940643792955922929236092071056288208440632480737625772361234659993335121330351589202379198024201959432235388951855626131662117667287956600051751591047869176281160237932649988961864512941255993932306694514719444091842074225977445945207743482767935784927058704304641005344775457692361769849031077184754717740208932411548193434644637002622114537981295020630445936180275989412233119851573054869907776999273677767738749296122227501154752401762999176294725333283155131272505871306991505069177166116624601565375916066434089947474812020814100786566175055421302559490508841605555577183978005968222052574559379495510634719282900157351569068397889085030097315823514124328593460437021144173494470257406105837230314755225532991450855093800450570960034026705118108037006839677830728771715886170219524488594582909272951933226409162931322785472635253293754592122430938303673935120194108602367686005678651175208514568559529550458032712516700969770377253381903761205026243154690948281029144608707105878826495818013908916228196421669129645907167256591838686234693515132875805881196976395835407877106452566045321830522294035816198056728833187722809014673591419895860213914004509514185059949307418371400563571313436791324361044574971456371138162612995034353128939466799556420463545758669019787496272263390534206998477280687749224847945147738727413947760046519116120921958912612459582723374898965399251720475719144664853794515754301493416932845678888922756119906614347155890368219188900990271386488881236948490382711234825606087943719104036819343131150610582458048914303891471682 5060344674998151285622239291645480538876191137107164090596558843630528774516742979608092892815860116088148910802715272201076506738677928989208994530751453630305815155440980543334175178012812073944321894676407305269737603111955789499943185277756953699856744468593444197198827351226780769461581257582629182453378326389321964756997077204008311967371197817075661766584379754075657175137514367767472907413533533607958635857410141252344191367936648221970420045918760976439084197466929944276669988987627052475585173335770565297780514713225190271697991003778082924822079498552247470223838059442043700988454630482012528320769206588371627938720446061269749578352831472401299975556251992939359936425671251607653924841812561355141123042575820899795867515492148973431957580313003003189368382521530383365300360927090846659027529767205554630551807994351091036196801060708996237488305575295822280134262698690486493884811978824749483506649323062184047610396222382598831285846430220293263936958331103449995561413245416847285731310547210936730492715143312532114655286346023258404851051082613971850928236418299327894092815326273986880400310809155682126815476606198318164268832321208432572415817005695523328897381363285429218509489375260555107574862775057661120672789630989813089339407589750529611891079821879305023070446368915789244740583312690521500984040366964151246261912550099064654860279076889136901615074393203391376630634936576893083832690511462466380110357265004553912112523263301421285917971061923256695268095893352762331658053717274590210594343660296765102977158025067378348277364310305669671057720103065809198699705827488978022982249051592608105099457943885496288559590075204460432978845948789723286016439637148359728602699696662050223147748294578599885139425580445674729997538952038553734962857490367465298250541826937372251053180929720895945939012696007910884935876779009740535014214119289897226509609507158349665023739419007333752995793153178814556921419236103271911500181764880348950631801617999270003404472512111033763845466232103301649759954808225151651295982375937261200723184313787699711748131920738220919115149558814941599395285566754959662121643543761190138173563561455648598950070614489485042573132476174560418957642939083160619128995650563099745354316263279327277332189697307354628257273631606218386022974312655338310228522404115382340618816666151974589972345387329557321866195065891678712647972998302028552012103479472341352581849238768531037751387579910630800758063818707306640877833144612238156935235925565430531711147183372745545617001142370477900383260882608984707772217451718891841383555029757846155728393073307499737580726703611038923406036123435255729339520007407902840646533770696898374588111094000001551963863376797654121984152821245395506472472270862687526846805759880006305769802623013379395446044238299479779156162589080240585161617876069273168695659813225179786322035910346308426614972509630101883403448465499493886732378093498468739602788084285379056904149911436169486393867596839596328854410485879772139220284527844479466542331380407063584614503123954024290399009552375071342696144556454735606390271483755217362891610273717660461379522897996087752693847015995341097067678921 8187809678936549019223306859021011306883145276017853190018965208340639138665968319158156695912724600872898711730966658707872253891314969701373973033636012153119802058571046716482556259688840826075719528764976882387505343935589847212329878060288133779658129395037428935833287903299273188105634435964796925112732380888798782452341705197291189361567897316498998332997832910857748074967167195936099011566275107484607020177125868268937940530950228554032590886309093585183250293579949391360022333361196857637313215668619294047049017369844353260572649082285761688968611813201495430376321772352327797537974198500612734849696602375144072077277594622207246384894694094135735510372429754548154046189249233406160456204664384033659469809470121371577168307037025642868182960651481630841487175034345426189008461268283177932247487737161337998897047989729653772929827385741312507912302076323627616231812564079160157691814828122634504105719051934783538996197521748292079489046880629720826531389687920893964751538122931038037185001968378696020674599949384522505052759412742845055863812716334572876814784162794550920285742191265623466907498963228746206831904140413325193097572194067898408451704536904675001804431946209790894924493023587061083245189293129486317241888110312393994317335247179576440901624550492375393718108608506772196942766333107145888878653815600824708736729801838768133471729318341356693233523515773362791465643388230900195233954049343720899597948518405282983649039300877352434326726473820505632337680136009542489996265516448203132633343128168534500268963261526285706620591699779242595925385895233263729931084991196499742096592215865325329040101736841419217795682146260748641419478429527349058377674297141694849933051285864429421171950254010835274091281206577336847664826908638605486553905359543746458488474476926334115566122185714828252633527415452002727010102756455685742757696887225682153568313811799355009799197111369103602026870337933532297130351647651465346144818767502463488613096638629715939584748501523266883697039286973209426759228485992890400592104603438415953124947312963994437081415075869493424986456550320010776561402191356525038037709977851137612985584375556435165125126035792044533081974081730137602935648907305213193688375146073734464637216420630896345730078782337451944080787755934811846459995456828832780485928509952612655374042199143425445066145837900517355892900183999715719487650829030800267898273698996829947164758511720464264160550511233416273393317112461898763308771448286173277129344527933116537389798358581260114176530692828510612899961852379361961154121212923918084538245978038875300337100179186326233398740612527267119827705253081162896596111846094137534161666646502779571564506929407878658416429422119484644278188637443452235305659993671702200438225655740220219774312137198439344753462609700043350469599380404601629736589332440411331308654847578308725788835466766771972373641529417598155666838999706492364013065842723316684750526811699326816950669027557091445306480056422319703753375885131492614939429192698273982296632873823996430293392046710144197013356708265439561885045546726122095271508432245600074126435879805604180483559717339218903304429474044255400959150603 13248154353934700304845546150666491845759336413125017280615524051971167913182711298766249588728584716961047622533681930908948760629992898690582967564387465783425617214012027259816731437701652900020041423441384187657242947047545636712273063338045087479514873863630873133032115254526053957567215693547426107566110707278120747209338782401299501328939095133574660099582212664933405250104681563703571918979808641092565656034536009521282131898886876776003010932227854561622334491046879335636692322348823910112898389004389859344829532083069543532270640086063844613790691311753742900600159831794371498526428828982625263170465808963515700015998040683476995963247525566537035485928681747487513982614920485013814381046476945388800592852045942271373035822529174616300140540964484634030855557555875809554308822195374024591275017504366892629448855984080744809126628446450308745400607651619449896366075262769646651576626806947383987612368374996967586606593744130890910774893310850014090468348019024343960312951368347885322916312515589632751167315092697054619708045758766103460714863798948544727743020581093878814378557517539610347307809772384428333647380746611643357366404515276330980867521542600198330701813309495220113433982398847616190820052068187147437914677741302207083656742836930106052792704372371680416788554977422561441683349645797667389862694182564975954998642351937832788332008395230493594848597908976754168096278324807793279066644560806187279708305783409836895761562564178773720244697535743762327605776029362304821654319233722793343227686788465299603246121286593664054897956010084912266983105998299072928630790818685477765078841267457933434139559680726915506355272221465209074398324378317072344394113934290054578535750982526479644319698548589435159230706787023011577662365860677159221516762849911211756739016303863706366619303115435724198572540111459913611945979535465426277771911006515579380077923318957704674822936530376437355022663491112346854051770883754737257645000532382812439244898256628985942989221013634300647542505519076511076519183294218042051888086979375677153848131626751694148829546996607714344101606109134952375956687758111484700159353521612327751159147937012083764075196650281529575655106557904698021893291846388373812817370796636834209991532683910223623062268479644806572338061387541030232482969769484171090714450914067994995992858865295400035038491225230074677759095249891394432135623827332828819910377178469171299746607750488995301911938091144047074151380931169205404186604592898411434064580453498547069100945541954005659793531835198988513283222734988346668926338664642809925921801007796721456065493252493825970979467316138306043233741376516418625935631853502040374808200417199677946152618023407880210380292798917138766262341458688847741778132264534389727285031415620226525544114760211818740199506847999523129625761969484842214898207208509684500004314660803488512110871377113080398988614039047700039070287465205986250745443936221785424353314895984705873854818938993260931700347653261916032607786371011264754159713720542753448838964254231060014907895170664168487412366260640510904581190103180857701661779916000817437018046153523264641863082615335306655998276490039596498026829524 21435964032871249324068853009687503152642481689142870470634489260311807051848679617924406284641309317833946334264648589616821014521307868391956940598023477936545419272583073976299287697390493726095760952206361070044748290983135483924602941398333221259173003258668302068865403157825327145672850129512223032678843088166919529661680487598590690690506992450073658432580045575791153325071848759639670930546083748577172676211661877790220072429837105330035601818536948146805584784626828726996714655710020767750211604673009153391878549452913896792843289168349606302759303124955238330976481604146699296064403027483237998020162411338659772093275635305684242348142219660672770996301111502035668028804169718419974837251141329422460062661516063642950204129566200259168323501615966264872342732590221235743317283463657202523522505241528230628345903973810398582056455832191621253312909727943077512597887826848806809268441635070018491718087426931751125602791265879182990263940191479734916999737706945237925064489491278923360101314483968328771841915042081577124760805171508948516578676515283117604557804743888429734664299708805233814215308735613174540479284887024968550463976709344229389319226079504873332506245255705011008358475422434677274065241361316633755156565851614601077974078084109682493694328922864055810506663585929333638626115978904813278741347998165800663735372153776600921803737713571850288082121424750116959561921713038693474300598610149908179306254301815119879410601865056126154571424009564267959943456165371847311650584750170996475861029916633834103515084548119949761518547709864154862908491893532336658561875809881977507175433483323258763179661417568334724150954367725957715817802807844421402771788231431749428468802268390909065491648802600270433321987993600348425327192769315764708070668209454958215227490780790040482185425301150552451206067526911916338956082291921112020529607893741261533646237130757059684622133641745540957049533829045879151182122531406202603789819299885275927857994895258701882573969515157567531239544806049720503278411780210932452480191582814093106973078939715688585910962072477207769088062659454963152518089949468009738197063499463465364144732312568518929200322686073574108737080639634835624828940753693587006505745942710568674628749104541119968792347261982258516418849143475842078942965226313003871200379424020607651366901064438825480104637063130592033651995433891110151623274656363629087808650877466001246911366262209459566072488602377463347544698043631104167495376041184584711193924981431663606490743900535265773970062528027499126183184587367708630080459877566728010460046985835596756402593431680152204378207928665573163061446629597581522531743699596177908969867063702457517717124952815758868796722221036623410540530096132299977083792258206091927723257071360446745318426897410258084952969457699566480095361349889443844634796540950095831312969508381797237899706843879852371362255568465298194737126464912478614758509778945102109103841707684032690805487966550352377006827709684235736361162256142757369099142913241027431135597128055056445201287217374312684425722968905950466466235649906979796933288348246417511144482033328868822346642332674525559302705964083851898985980127 34684118386805949628914399160353994998401818102267887751250013312282974965031390916690655873369894034794993956798330520525769775151300767082539908162410943719971036486595101236116019135092146626115802375647745257701991238030681120636876004736378308738687877122299175201897518412351381103240065823059649140244953795445040276871019269999890192019446087583648318532162258240724558575176530323343242849525892389669738332246197887311502204328723982106038612750764802708427919275673708062633406978058844677863109993677399012736708081535983440325113929254413450916549994436708981231576641435941070794590831856465863261190628220302175472109273675989161238311389745227209806482229793249523182011419090203433789218297618274811260655513562005914323239952095374875468464042580450898903198290146097045297626105659031227114797522745895123257794759957891143391183084278641929998713517379562527408963963089618453460845068442017402479330455801928718712209385010010073901038833502329749007468085725969581885377440859626808683017626999557961523009230134778631744468850930275051977293540314231662332300825324982308549042857226344844161523118507997602874126665633636611907830381224620560370186747622105071663208058565200231121792457821282293464885293429503781193071243592916808161630820921039788546487033295235736227295218563351895080309465624702480668604042180730776618734014505714433710135746108802343882930719333726871127658200037846486753367243170956095459014560085224956775172164429234899874816121545308030287549232194734152133304903983893789819088716705099133706761205834713613816416503719949067129891597891831409587192666628567455272254274750781192197319221098295250230506226589191166790216127186161493747165902165721804007004553250917388709811347351189705592552694780623360002989558629992923929587431059366169971966507084653746848804728416586276649778607638371829950902061827386538298301518900256840913724160449714764359445070172121978312072197320158226005233893415160939861434819832268088367102893151887687825563190528791868178782050325126231579797595074428974504368278562189770260821210566467382734740509069084922113189668768589915528474777707579494438356417021075793115303880249580602693275519336355103684392187197539533646722232600081960819323116739347402884620281788451343591854615741627065088756910531016872311425934995797174961914830338088602647359759929734225515143128288360666711411090683782504583758898483696457907719028055935172546657974012698454867984426693521510421696078974800309571681980634082996145258505434930210675591689442489271433763594363226487639466407322356055299006798542209537936381847993632318212468086684173978175357675244803879206295188006114000148467375553098218283778067480902135463869742976223639079177015019953762176802871554821147718861924522740481655008288486980673270862541657622076825152476305699089609721123319374286059533003749459780331317284169185285750010578220992932770350869607512998233807413930118464865503953715166887533457156603668738564660306905543613308707175362946151768968948627154022123258856633783780879974561382286116460109182388038481171838089229546461371047425753087837498595068264247234948162528186852133464209724948009832215300982454123448397012809651 56120082419677198952983252170041498151044299791410758221884502572594782016880070534615062158011203352628940291062979110142590789672608635474496848760434421656516455759178175212415306832482640352211563327854106327746739529013816604561478946134711529997860880380967477270762921570176708248912915952571872172923796883611959806532699757598480882709953080033721976964742303816515711900248379082982913780071976138246911008457859765101722276758561087436074214569301750855233504060300536789630121633768865445613321598350408166128586630988897337117957218422763057219309297561664219562553123040087770090655234883949101259210790631640835244202549311294845480659531964887882577478530904751558850040223259921853764055548759604233720718175078069557273444081661575134636787544196417163775541022736318281040943389122688429638320027987423353886140663931701541973239540110833551252026427107505604921561850916467260270113510077087420971048543228860469837812176275889256891302773693809483924467823432914819810441930350905732043118941483526290294851145176860208869229656101784000493872216829514779936858630068870738283707156935150077975738427243610777414605950520661580458294357933964789759505973701609944995714303820905242130150933243716970738950534790820414948227809444531409239604899005149471040181362218099792037801882149281228718935581603607293947345390178896577282469386659491034631939483822374194171012840758476988087220121750885180227667841781106003638320814387040076654582766294291026029387545554872298247492688360105999444955488734064786294949746621732967810276290382833563577935051429813221992800089785363746245754542438449432779429708234104450960498882515863584954657180956917124506033929994005915149937690397153553435473355519308297775302996153789976025874682774223708428316751399308688637658099268821128187193997865443787330990153717736829100984675165283746289858144119307650318831126793998102447370397580471824044067203813867519269121731149204105156416015946567142465224639132153364294960888047146389708137160043949435710021595131175952083076006854639906956848470145003863367794289506183071320651471141562129882277731428044878680992867657047504176553480520539258479448612562149121622475842022428677793129267837174369271551173353775547825828862682057971559249030892992463560646963003609323605175759674492714390368900222110178833115209762109210298726660994173050995247765351491258745063086117673614735382173140060086995527678933401173793569340274907914434056915295898973769240777018431413739177356675267580856452430416361874282082433343024537207733656891253986765649591909723763929087258419776265946841894979467914968870680115854130379735883173469452369356634635711581670999119252694396192747934544604592981586867929039397947973737240990385587343401650953447695945716780946573582731545558341120016180968555032334910105445763398656089816484669263729904167800290409876162630253677567082987910285064872785141713125175978296428544540395030943480262463494111989642560998311352771255465794872093965685714003072630387505330110883296779492357999547024808311110158510341172905310469605412793856263812198452411837513661402994817295528356612493652459307010220181002286556367280684357774603688418207300295998789778 90804200806483148581897651330395493149446117893678645973134515884877756981911461451305718031381097387423934247861309630668360564823909402557036756922845365376487492245773276448531325967574786978327365703501851585448730767044497725198354950871089838736548757503266652472660439982528089352152981775631521313168750679057000083403719027598371074729399167617370295496904562057240270475424909406326156629597868527916649340704057652413224481087285069542112827320066553563661423335974244852263528611827710123476431592027807178865294712524880777443071147677176508135859291998373200794129764476028840885246066740414964520401418851943010716311822987284006718970921710115092383960760698001082032051642350125287553273846377879044981373688640075471596684033756950010105251586776868062678739312882415326338569494781719656753117550733318477143935423889592685364422624389475481250739944487068132330525814006085713730958578519104823450378999030789188550021561285899330792341607196139232931935909158884401695819371210532540726136568483084251817860375311638840613698507032059052471165757143746442269159455393853046832750014161494922137261545751608380288732616154298192366124739158585350129692721323715016658922362386105473251943391064999264203835828220324196141299053037448217401235719926189259586668395513335528265097100712633123799245047228309774615949432359627353901203401165205468342075229931176538053943560092203859214878321788731666981035084952062099097335374472265033429754930723525925904203667100180328535041920554840151578260392717958576114038463326832101517037496217547177394351555149762289122691687677195155832947209067016888051683982984885643157818103614158835185163407546108291296250057180167408897103592562875357442477908770225686485114343504979681618427377554847068431306310029301612567245530328187298159160504950097534179794882134323105750763282803655576240760205946694188617132645694254943361094558030186588403512273985989497581193928469362331161649909361728082326659458964421452662063781199034077533700350572741303888803645456302183662873601929068881461216748707193633628615500072650454055391980210647051995467400196634794209467645364626998614909897541615051594752492811729724315751361358783781477521455034713902918273405953857508645151979421405374443869312681443807152501578745236388693932670205509586701794835217907353795030040100197812946086420923907276510390893639851925456474176801456119319141071623756544903246706989336346340227314287606369302041341989420484190936855993231723310859337309350577001710935851292084957674122785513808641497251254480474405115999232079819228094056961985803883223742973100233181338766800028108555093558418273331575651822641825581819466494805792614476526002025506728445456610905263037027150752260944147764146273205774595414807641303687055237739834045321793287043510212654411735257922069097745699537607988638015963700804039869656493947537846752368737920863285865717912063994783491294662351954325149408345766417209278877176018154915021509820126101777637578994421178435576539274299059510450801615616856180808589191084719892627289365419651993451275028101901427998873208561087156082654794123424876740887407469538407033135750766092228694189989904670872330748693011599429 146924283226160347534880903500436991300490417685089404195019018457472538998791531985920780189392300740052874538924288740810951354496518038031533605683279787033003948004951451660946632800057427330538929031355957913195470296058314329759833897005801368734409637884234129743423361552704797601065897728203393486092547562668959889936418785196851957439352247651092272461646865873755982375673288489309070409669844666163560349161917417514946757845846156978187041889368304418894927396274781641893650245596575569089753190378215344993881343513778114561028366099939565355168589560037420356682887516116610975901301624364065779612209483583845960514372298578852199630453675002974961439291602752640882091865610047141317329395137483278702091863718145028870128115418525144742039130973285226454280335618733607379512883904408086391437578720741831030076087821294227337662164500309032502766371594573737252087664922552974001072088596192244421427542259649658387833737561788587683644380889948716856403732591799221506261301561438272769255509966610542112711520488499049482928163133843052965037973973261222206018085462723785116457171096645000112999972995219157703338566674959772824419097092550139889198695025324961654636666207010715382094324308716234942786363011144611089526862481979626640840618931338730626849757731435320302898982861914352518180628831917068563294822538523931183672787824696502974014713753550732224956400850680847302098443539616847208702926733168102735656188859305110084337697017816951933591212655052626782534608914946151023215881452023362408988209948565069327313786600380740972286606579575511115491777462558902078701751505466320831113691218990094118316986130022420139820588503025415802283987174173324047041282960028910877951264289533984260417339658769657644302060329070776859623061428610301204903629597008426346354502815541321510785035852059934851747957968939322530618350066001838935963772488253045808464955610658412447579477799857016850315659618566436318065925308295224791884098096574816957024669246180467241837510616690739598825240587478135745949608783708788418065218852197496996409789578833525376043451352209181877745131624679672890460513021674502791463378062154310074201105373878845938227203381212459270650722871888272189824579307633056470980842103463346003118343574436270713148541748845712299108429880002301092163735440017532628145249862307023244813081918080327505638658991343184201537262919129734054523244763816631898774385922737520133796654562514283736098257285319457960177633011663137050036693984618157858163366267653959239756556128538345849230908145734461170765591141803583157181315381762069830065637952568148150209446915882238934829441591742783945008457277537163490465614058487010669273936570111321427043478834302434975124489501934533351489674856728043110753358084633628820471379603662913303224478767686746645363367832496401789354092657901745867868604330279532656577791524319451725831148350738503053777119959469591090896494720180351826028880703390866818579153226374281075591896649731544680135181508206926779629170393747581107974855727833397502194878402968462270730121598864068884365713626451285046074748559077472089651781489234539866776548627214138037322459509378547764508359290538048989010389207 237728484032643496116778554830832484449936535578768050168153534342350295980702993437226498220773398127476808786785598371479311919320427440588570362606125152409491440250724728109477958767632214308866294734857809498644201063102812054958188847876891207470958395387500782216083801535232886953218879503834914799261298241725959973340137812795223032168751415268462567958551427930996252851098197895635227039267713194080209689865975069928171238933131226520299869209434857982556350732249026494157178857424285692566184782406022523859176056038658892004099513777116073491027881558410621150812651992145451861147368364779030300013628335526856676826195285862858918601375385118067345400052300753722914143507960172428870603241515362323683465552358220500466812149175475154847290717750153289133019648501148933718082378686127743144555129454060308174011511710886912702084788889784513753506316081641869582613478928638687732030667115297067871806541290438846937855298847687918475985988086087949788339641750683623202080672771970813495392078449694793930571895800137890096626670165902105436203731117007664475177540856576831949207185258139922250261518746827537992071182829257965190543836251135490018891416349039978313559028593116188634037715373715499146622191231468807230825915519427844042076338857527990213518153244770848567996083574547476317425676060226843179244254898151285084876188989901971316089943684727270278899960942884706516976765328348514189738011685230201832991563331570143514092627741342877837794879755232955317576529469786302601476274169981938523026673275397170844351282817927918366638161729337800238183465139754057911648960572483208882797674203875737276135089744181255324983996049133707098534044354340732944144875522904268320429173059759670745531683163749339262729437883917845290929371457911913772149159925195724505515007765638855690579917986383040602511240772594898771378556012696027553096418182507989169559513640845000851091751785846514431509588087928767479715834670023307118543557060996269619088450445214544775537861189432043487628886043780319408823210712777669879281967559391130625025289651483979431435431562856233873212531821314467099928158386301501406373275603769361668953598185608570253978564739996240748172177906602175108097985261490565116132821524868720446987656255880077865650120494082100993041100085511887793958570657924886423175289962504836190899502841987604016029552631195109658011439720585853373664316387573176802021092912073866474023968850120653038139599274739942151114489004894860360896031293968734859874302118946044197430678914052154490728159400214935575881590373883402385275372343747873713289380925668381331548213715910347489923000010016115520660279919362745309932108864279625145799938595618049872500089739565472002275241762878681115635948062502638525560999388320684058211213648984706590267988980341158380621289901594147488891700646539761831569408370149189150525329371071820463752011636604220965841114742960885753248449045329760171795297912669743994597308141395790895717998427369123674556359943783466053928229904198382723591711908641986693279598295595751636149773592315343912467615054450158254635835715160126883775206365975427274246087034247273788088551738072737754413030162868797682021988636 384652767258803843651659458331269475750426953263857454363172552799822834979494525423147278410165698867529683325709887112290263273816945478620103968289404939442495388255676179770424591567689641639405223766213767411839671359161126384718022744882692576205368033271734911959507163087937684554284777232038308285353845804394919863276556597992074989608103662919554840420198293804752235226771486384944297448937557860243770039027892487443117996778977383498486911098803162401451278128523808136050829103020861261655937972784237868853057399552437006565127879877055638846196471118448041507495539508262062837048669989143096079625837819110702637340567584441711118231829060121042306839343903506363796235373570219570187932636652845602385557416076365529336940264594000299589329848723438515587299984119882541097595262590535829535992708174802139204087599532181140039746953390093546256272687676215606834701143851191661733102755711489312293234083550088505325689036409476506159630368976036666644743374342482844708341974333409086264647588416305336043283416288636939579554833299745158401241705090268886681195626319300617065664356354784922363261491742046695695409749504217738014962933343685629908090111374364939968195694800126904016132039682431734089408554242613418320352778001407470682916957788866720840367910976206168870895066436461828835606304892143911742539077436675216268548976814598474290104657438278002503856361793565553819075208867965361398440938418398304568647752190875253598430324759159829771386092410285582100111138384732453624692155622005300932014883223962240171665069418308659338924768308913311353675242602312959990350712077949529713911365422865831394452075874203675464804584552159122900818031528514056991186158482933179198380437349293655005949022822518996907031498212988622150552432886522214977052789522204150851869510581180177201364953838442975454259198741534221301996906078697866489060190670761034978024469251503413298671229585703531281825247706495203797781759978318531910427655157571086576113119691395012017375371806122783086454126631258455154772819496486458297347186411588627621435079230317504807478882915065415750957663445994139990388671407976004197836653665923671743154703559487416192205768121208700018822900778490447297922564569123621587113663628332066450105999830316348578798662242927813292149529965514188886122306097942419051320539824811859435712584760067931521668211622538293859548702639715587428187561151389808700795478834811386607820623412634936774237856560059400111292122016557997410932725278586892718037668386600003437187235042590500339959067545949396746647181515686985542456687725509943543355018878236529481757660631792586424752441601758899465668737196899908800397722922766635815073875165729371299543568573867906977399731264813214467125622919230681636314357472954312878682593252647619893492467748027905025984657734090549278245793304441507699438012700428721807103120895391272189583159987342724019618234702430476844144943765510111997824178616060610813176461367770071971309895077100668354691541451990392833557400297945963831566567636475384195474476698564213906879895191179412796833328680901443300710584274237598973426987855209967141022635661461411825411011247451285518921389453406846671032377843 622381251291447339768438013162101960200363488842625504531326087142173130960197518860373776630939096995006492112495485483769575193137372919208674330895530091851986828506400907879902550335321855948271518501071576910483872422263938439676211592759583783676326428659235694175590964623170571507503656735873223084615144046120879836616694410787298021776855078188017408378749721735748488077869684280579524488205271054323979728893867557371289235712108610018786780308238020384007628860772834630208007960445146954222122755190260392712233455591095898569227393654171712337224352676858662658308191500407514698196038353922126379639466154637559314166762870304570036833204445239109652239396204260086710378881530391999058535878168207926069022968434586029803752413769475454436620566473591804720319632621031474815677641276663572680547837628862447378099111243068052741831742279878060009779003757857476417314622779830349465133422826786380165040624840527352263544335257164424635616357062124616433083016093166467910422647105379899760039666866000129973855312088774829676181503465647263837445436207276551156373167175877449014871541612924844613523010488874233687480932333475703205506769594821119926981527723404918281754723393243092650169755056147233236030745474082225551178693520835314724993296646394711053886064220977017438891150011009305153031980952370754921783332334826501353425165804500445606194601123005272782756322736450260336051974196313875588178950103628506401639315522445397112522952500502707609180972165518537417687667854518756226168429791987239455041556499359411016016352236236577705562930038251111591858707742067017901999672650432738596709039626741568670587165618384930789788580601292829999352075882854789935331034005837447518809610409053325751480705986268336169760936096906467441481804344434128749201949447399875357384518346819032891944871824826016056770439514129120073375462091393894042156608853269024147583982892348414149762981371550045713334835794423971277497594648341839028971212218567356195201570136609556792913232995554826574083012675038774563596030209264128176629153970979758246460368881801484238914314477921649624170195267308607090316829794277505604209929269693033412108301745095986446184332861204940766995078685092622406020549830614186703246485153200786897093656086196426444448782737009914285190630051026076680080876755867305474495829787316695626612087602055535537697764253733403517560142360301440801851877538962985502816571746885253081844592262755589812377455834799342262406611021452857771828756572555627577911970505546047634617913956642654830687226946164332322528771889570387927732060069257817256644399803904910813305874347702933914675441611775014986329017116262654110329831787046260960873813761347421172043658313433378979674973027691895582761570981733320161875356861274996936893806901632326483760456728369063406605947635684696767137493950981269531007421070577910957628450266463092653335171623946944985459349445391362597393392810839872169619476528730354807773769509165862867027893504469792029247901395773858887485630202144346555158279545117370888754074994159965543029668783494756709300943735351601555346419989397725857202194221185394415268722695708685613499562985524023273334419616275644353054366479 1007034018550251183420097471493371435950790442106482958894498639941995965939692044283521055041104795862536175438205372596059838466954318397828778299184935031294482216762077087650327141903011497587676742267285344322323543781425064824394234337642276359881694461930970606135098127711108256061788433967911531369968989850515799699893251008779373011384958741107572248798948015540500723304641170665523821937142828914567749767921760044814407232491085993517273691407041182785458906989296642766258837063466008215878060727974498261565290855143532905134355273531227351183420823795306704165803731008669577535244708343065222459265303973748261951507330454746281155065033505360151959078740107766450506614255100611569246468514821053528454580384510951559140692678363475754025950415197030320307619616740914015913272903867199402216540545803664586582186710775249192781578695669971606266051691434073083252015766631022011198236178538275692458274708390615857589233371666640930795246726038161283077826390435649312618764621438788986024687255282305466017138728377411769255736336765392422238687141297545437837568793495178066080535897967709766976784502230920929382890681837693441220469702938506749835071639097769858249950418193369996666301794738578967325439299716695643871531471522242785407910254435261431894253975197183186309786216447471133988638285844514666664322409771501717621974142619098919896299258561283275286612684530015814155127183064279236986619888522026810970287067713320650710953277259662537380567064575804119517798806239251209850860585413992540387056439723321651187681421654545237044487698347164422945533950344379977892350384728382268310620405049607400065039241492588606254593165153451952900170107411368846926517192488770626717190047758346980757429728808787333076792434309895089592034237230956343726254738969604026209254028927999210093309825663268991511029638255663341375372368170091760531216799524030059125608452143851827448434210957253576995160083500919175075279354626660370939398867376138442771314689828004568810288604801677609660537139306297229718368849705750586473976340382568385867895448112118989046393197392987065375127858713302747080705501202253509802046582935616705155263005304583402638390100982413640785817979463583069703943114399737808290360148781532853347199655916512775023247444979937727577340160016540265566203182853809724525816369612128555062324672362123467059365975876271697377108845000017028230039438690352794203612050581696639689665215675390526586615312394858742373698733038010855182761481851142520295949638892146051071805148999233155170646294492113729069175953405257373470188747794767760799999418682141440295063534979495520339427883213533914451997754313162562910727554709812896775947688927076792471587226887301285957074704292505110049887193900964001798189714334229309815576400154279946377252924476396968432590605369775246045383287255422777230445433771006632764731571161854364842918331611289669005077584147821839441538336576349984167443655144790965620950230876935934838337788581570460383939442847764251721043030500090310386724847181592755084228551692724179449909563974674169506134272416253044856057004263635324830629182076395361556291358357170097438910574232975308792255809069682491024086744322 1629415269841698523188535484655473396151153930949108463425824727084169096899889563143894831672043892857542667550700858079829413660091691317037452630080465123146469045268477995530229692238333353535948260768356921232807416203689003264070445930401860143558020890590206300310689092334278827569292090703784754454584133896636679536509945419566671033161813819295589657177697737276249211382510854946103346425348099968891729496815627602185696468203194603536060471715279203169466535850069477396466845023911155170100183483164758654277524310734628803703582667185399063520645176472165366824111922509077092233440746696987348838904770128385821265674093325050851191898237950599261611318136312026537216993136631003568305004392989261454523603352945537588944445092132951208462570981670622125027939249361945490728950545143862974897088383432527033960285822018317245523410437949849666275830695191930559669330389410852360663369601365062072623315333231143209852777706923805355430863083100285899510909406528815780529187268544168885784726922148305595990994040466186598931917840231039686076132577504821988993941960671055515095407439580634611590307512719795163070371614171169144425976472533327869762053166821174776531705141586613089316471549794726200561470045190777869422710165043078100132903551081656142948140039418160203748677366458480439141670266796885421586105742106328218975399308423599365502493859684288548069369007266466074491179157260593112574798838625655317371926383235766047823476229760165244989748036741322656935486474093769966077029015205979779842097996222681062203697773890781814750050628385415534537392658086446995794350057378815006907329444676348968735626407110973537044381745754744782899522183294223636861848226494608074235999658167400306508910434795055669246553370406801557033516041575390472475456688417003901566638547274818242985254697488095007567800077769792461448747830261485654573373408377299083273192435036200241598197192328803622708494919295343146352776949275002209968370079594705798966516259964614125603201837797232436234620151981336004281964879915014714650605494353548144114355816993920473285307511870908714999298053980611354171022330996531015406256512205309738567371307049679389084574433843618581552813058148675692109963664230351994993606633934733640244293312002709201467696227716947641862530790067566342246284059609677030000312199399445250688936759964179002597063740130005100894668987360318469031891316229315779706428622328581892771509807938146116398992768229658084636105344059463712954590238423698147873861609397692098706423062955875810001333521438278061391704725294827761397920807864025578056643818486046351108369409327198454254103324825308929438326771429425217021057386496859157736821502688424213643630885200734664936749677320197005632648764882697321960065071195504306752470207055912272861013381204766031839196553005459942812520781206404046761452854841584543722360021428317457496253503235236613990536933593213202038931729387189856337063131673521320428724000386101797705365682086040252413187344243538110608528660702234656941883126726710125972982626686884144992939232758168926215435216151604646411403424253033050687831376297580755971560081052878783052410137218499332065590228685958135377141110801 2636449288391949706608632956148844832101944373055591422320323367026165062839581607427415886713148688720078842988906230675889252127046009714866230929265400154440951262030555083180556834141344851123625003035642265555130959985114068088464680268044136503439715352521176906445787220045387083631080524671696285824553123747152479236403196428346044044546772560403161905976645752816749934687152025611627168362490928883459479264737387647000103700694280597053334163122320385954925442839366120162725682087377163385978244211139256915842815165878161708837937940716626414704066000267472070989915653517746669768685455040052571298170074102134083217181423779797132346963271455959413570396876419792987723607391731615137551472907810314982978183737456489148085137770496426962488521396867652445335558866102859506642223449011062377113628929236191620542472532793566438304989133619821272541882386626003642921346156041874371861605779903337765081590041621759067442011078590446286226109809138447182588735796964465093147951889982957871809414177430611062008132768843598368187654176996432108314819718802367426831510754166233581175943337548344378567092014950716092453262296008862585646446175471834619597124805918944634781655559779983085982773344533305167886909344907473513294241636565320885540813805516917574842394014615343390058463582905951573130308552641400088250428151877829936597373451042698285398793118245571823355981691796481888646306340324872349561418727147682128342213450949086698534429507019827782370315101317126776453285280333021175927889600619972320229154435946002713391379195545327051794538326732579957482926608430826973686700442107197275217949849725956368800665648603562143298974910908196735799692290705592483788365418983378700953189705925747287266340163603843002323345804716696646625550278806346816201711427386607927775892576202817453078564523151363999078829716025455802824120198431577415104590207901329142398800887180052069046631403286057199703655002796262321428056303901662580907768946970844241737830949792618694413490442598910045895157291287633234000333729620765301124581834736116529982251265106039462331700709263895780374425912693914101251727832198784525208303095140926443722634312354262791722964534826032222338631037612258761813906778630089803283966782716266493591492967919221976490943672696885369439870950084106607812487242463486754526128569011573805751261432326302469656429716006276798271777832360335497261930754919668573910040672910278532461175023613536642985608080624516827009804077097474568137351720274840668169811248289838149778228211955108965171979815930391790460880678700085134868109555658793338856643237168187791403432944306693974593531208038842843890324525742587779931784941206672054512769191615501006115218112088035950893824381612702115682535958783661323758254785529733616568046607210192219238266305681163000271787158375235188857904068461826823991898288612591176487091592590171822339171834846526282995614517741035041480470065963539840504506786818312286049674231263037732543703470667610712797126787091302362329571691202324967328607973908302881057211178379608324442848796732843095721569488567857691267460428516668375518460558373976117527851439410048880491320711451474640857846037755640626401227855123 4265864558233648229797168440804318228253098304004699885746148094110334159739471170571310718385192581577621510539607088755718665787137701031903683559345865277587420307299033078710786526379678204659573263803999186787938376188803071352535126198445996646997736243111383206756476312379665911200372615375481040279137257643789158772913141847912715077708586379698751563154343490092999146069662880557730514787839028852351208761553015249185800168897475200589394634837599589124391978689435597559192527111288318556078427694304015570120339476612790512541520607902025478224711176739637437814027576026823762002126201737039920137074844230519904482855517104847983538861509406558675181715012731819524940600528362618705856477300799576437501787090402026737029582862629378170951092378538274570363498115464804997371173994154925352010717312668718654502758354811883683828399571569670938817713081817934202590676545452726732524975381268399837704905374852902277294788785514251641656972892238733082099645203493280873677139158527126757594141099578916657999126809309784967119572017227471794390952296307189415825452714837289096271350777128978990157399527670511255523633910180031730072422648005162489359177972740119411313360701366596175299244894328031368448379390098251382716951801608398985673717356598573717790534054033503593807140949364432012271978819438285509836533893984158155572772759466297650901286977929860371425350699062947963137485497585465462136217565773337445714139834184852746357905736779993027360063138058449433388771754426791142004918615825952100071252432168683775595076969436108866544588955117995492020319266517273969481050499486012282125279294402305337536292055714535680343356656662941518699214473999816120650213645477986775189189364093147593775250598398898671569899175123498203659066320381737288677168115803611829342531123477635696063819220639459006646629793795248264272868028693063069677963616278628225671993322216252310644828595614860822412149922091605467780833253176664790876139026565550040704347209757232820016692280396142482129777443268969238282298609535780015775187329089664674096607082099959935617008221134804495373723966674525455422750163195315540614559607346236182290005619403942180807538968669650803891444095760934453923870442860441798277573416651000133835786279921931177958639900413833011302401740151672950058771302073163784526440768411019056440198192290481472253493456136281899166446819720653966293822071148984353616469295238860425232684831551682759384600848854174911645909421156938281091941958698538816043672857687530248484651274910984775173313337368669851852585403994912896266030363522818916913287055654234142511802353633892428847634532864151773328651297172012996952842327703531212249590694303925219758848997288770615830574058932899121315184723666358645718319856725237923320516814266104492099279686885929032110983711380695131670424849668230870753351143454175720209451614018489279835425338081762896986151451334248243519401795350729696841569918491833606478398231649139530249069152753650965210314131334840472938100351904559624270491100635013007030193805066492469435788029491012021937004704719462337678863852769701426206291934671556873499411520462927663543730848669973972923436266441598761778368965924 6902313846625597936405801396953163060355042677060291308066471461136499222579052777998726605098341270297700353528513319431607917914183710746769914488611265432028371569329588161891343360521023055783198266839641452343069336173917139440999806466490133150437451595632560113202263532425052994831453140047177326103690381390941638009316338276258759122255358940101913469130989242909749080756814906169357683150329957735810688026290402896185903869591755797642728797959919975079317421528801717721918209198665481942056671905443272485963154642490952221379458548618651892928777177007109508803943229544570431770811656777092491435244918332653987700036940884645115885824780862518088752111889151612512664207920094233843407950208609891420479970827858515885114720633125805133439613775405927015699056981567664504013397443165987729124346241904910275045230887605450122133388705189492211359595468443937845512022701494601104386581161171737602786495416474661344736799864104697927883082701377180264688381000457745966825091048510084629403555277009527720007259578153383335307226194223903902705772015109556842656963469003522677447294114677323368724491542621227347976896206188894315718868823476997108956302778659064046095016261146579261282018238861336536335288735005724896011193438173719871214531162115491292632928068648846983865604532270383585402287372079685598086962045861988092170146210508995936300080096175432194781332390859429851783791837910337811697636292921019574056353285133939444892335243799820809730378239375576209842057034759812317932808216445924420300406868114686488986456164981435918339127281850575449503245874948100943167750941593209557343229144128261706336957704318097823642331567571138254498906764705408604438579064461365476142379070018894881041590762002741673893244979840194850284616599188084104878879543190219757118423699680453149142383743790823005725459509820704067096988227124640484782553824179957368070794209396304379691459998900918022115804924887867789208889557078327371783907973536394282442178159549851514430182722995052528024934734556602472282632339156545316899769163825781204078858347205999397948708930398700275748149879368439556674477995394100065822862702487162626012639931758204972530503503495683026230075133373193215737777221490531601561540199367266627427279247841153154449583573110718380742272690235779557871258544536650539052569337422592862191459624616783941909923172142558697438224652080989463555752826068652927526509968149138957693859855165219402370208929478691738655713498254412849229293678973379484213484105977368398262879486866093740345293153299061642313466082694998031134139919181612255769930292822421933915235297940586403441165740902994617218975822914600776884627268910203266762359885919426225874067109376806566724398440545601236997720682450019969476574642254971539888563421476296711337545992567092032382770869755930320528328918130057694745249432066766896696543206608661102174597172928289179981765969075283284999871861314269537346076705310145892528072462912177262792772623421261678007440918426142835267672043106884591599099074543315888087404983446100793878636826223855117658574193287320028946324281286369801724752493045532991027262959872976544035051560121448613781282304197239388179596821047 11168178404859246166202969837757481288608140981064991193812619555246833382318523948570037323483533851875321864068120408187326583701321411778673598047957130709615791876628621240602129886900701260442771530643640639131007712362720210793534932664936129797435187838743943319958739844804718906031825755422658366382827639034730796782229480124171474199963945319800665032285332733002748226826477786727088197938168986588161896787843418145371704038489230998232123432797519564203709400218237315281110736309953800498135099599747288056083494119103742733920979156520677371153488353746746946617970805571394193772937858514132411572319762563173892182892457989493099424686290269076763933826901883432037604808448456852549264427509409467857981757918260542622144303495755183304390706153944201586062555097032469501384571437320913081135063554573628929547989242417333805961788276759163150177308550261872048102699246947327836911556542440137440491400791327563622031588649618949569540055593615913346788026203951026840502230207037211386997696376588444378006386387463168302426798211451375697096724311416746258482416183840811773718644891806302358881891070291738603500530116368926045791291471482159598315480751399183457408376962513175436581263133189367904783668125103976278728145239782118856888248518714065010423462122682350577672745481634815597674266191517971107923495939846146247742918969975293587201367074105292566206683089922377814921277335495803273833853858694357019770493119318792191250240980579813837090441377434025643230828789186603459937726832271876520371659300283370264581533134417544784883716236968570941523565141465374912648801441079221839468508438530567043873249760032633503985688224234079773198121238705224725088792709939352251331568434112042474816841360401640345463144154963693053943682919569821393556047658993831586460954823158088845206202964430282012372089303615952331369856255817703554460517440458585593742787531612556690336288594515778844527954846979473256989722810254992162660047000101944323146525369307084334446875003391195010154712177825571710564930948692325332674956492915445878175465429305959333565717151533504771121873846042965012097228158589415606437422309833398808302645551162147153338042472165333830121519229134127669661647664350973399839113616018266761263065527763084332408223473524551392044674430387452507930029846609814323579010105833611918631657816907265414163416628278840596604671471801643429849574897217637281142979263387999382926544686716902161754809778332866650301622919411351130321235637671918300257156963664898646747530761777078515518606490667731494166051486689910927400170282704431172683217348476656076427037651574478832288800273767146390547627120086613773837469596613734479011950580223351445632916106665577182554972499478500358312905406116378615194894498980209463209080235742401203436825679453021064493754581136625452198753767798288565498600575520942616905994820627150382010022511010052076967917420409531528519273656664999234187646623801979499006470694561316793041841776174912643217755049760983308205772395011444215869590175178328895117598788512593263314424855714867139595578898006782366625188134056071227931044427717089864526674480335904207578782408791422586704718570638838149957965786971 18070492251484844102608771234710644348963183658125282501879091016383332604897576726568763928581875122173022217596633727618934501615505122525443512536568396141644163445958209402493473247421724316225969797483282091474077048536637350234534739131426262947872639434376503433161003377229771900863278895469835692486518020425672434791545818400430233322219304259902578501416321975912497307583292692896445881088498944323972584814133821041557607908080986795874852230757439539283026821747039033003028945508619282440191771505190560542046648761594694955300437705139329264082265530753856455421914035115964625543749515291224903007564680895827879882929398874138215310511071131594852685938791035044550269016368551086392672377718019359278461728746119058507259024128880988437830319929350128601761612078600134005397968880486900810259409796478539204593220130022783928095176981948655361536904018705809893614721948441928941298137703611875043277896207802224966768388513723647497423138294993093611476407204408772807327321255547296016401251653597972098013645965616551637734024405675279599802496326526303101139379652844334451165939006483625727606382612912965951477426322557820361510160294959156707271783530058247503503393223659754697863281372050704441118956860109701174739338677955838728102779680829556303056390191331197561538350013905199183076553563597656706010457985708134339913065180484289523501447170280724760988015480781807666705069173406141085531490151615376593826846404452731636142576224379634646820819616809601853072885823946415777870535048717800940672066168398056753567989299398980703222843518819146391026811016413475855816552382672431396811737582658828750210207464350731327628019791805218027697028003410633329527371774400717727473947504130937355858432122404382019356389134803887904228299518757905498434927202184051343579378522838541994348586708221105018097548813436656398466844482942344039243071264638542961813581741008861070027748593416696866643759771867341046198612367333319534443954973638338605588703528856935848877057726386247538179646912382174182847563287848870649574725656741227082254323776511958731514426081932205046870023725411404568771706153983515672260285012320561434315285482920352125868545975661016856351594362507320885399424885841505001400653815385533388690344775604237486857807046635269772786947120623232065801288391146464862631579443256204780823117441524049356073339800421399294042896123882632893405327723286290208669489231537138340620404541882121564125018707811558388957336417665763979550529316645297784470641069642267045010410248643172255863899643966793136479517569384908958534310201886043428453147641299078010342272949515065235729966014670141007766602943001214550722096865523937745774310466142777671506983216042383749279370940024101595310626088566398584671469141235181003097643657218697914774371672020113096876525450892555772727082685928346260243850007587709513602538027235811484184619683938341256949683389484814813519145517979268771533723329112125391534543157473494055834614399596174321225195968187126143473444438118328807468689249721644783205003771958694057193061681938722257254153091294102395571512415342441029655796920762622855553937440208880751613833968912871200486000874836077538137562608018 29238670656344090268811741072468125637571324639190273695691710571630165987216100675138801252065408974048344081664754135806261085316826534304117110584525526851259955322586830643095603134322425576668741328126922730605084760899357561028069671796362392745307827273120446753119743222034490806895104650892494058869345659460403231573775298524601707522183249579703243533701654708915245534409770479623534079026667930912134481601977239186929311946570217794106975663554959103486736221965276348284139681818573082938326871104937848598130142880698437689221416861660006635235753884500603402039884840687358819316687373805357314579884443459001772065821856863631314735197361400671616619765692918476587873824817007938941936805227428827136443486664379601129403327624636171742221026083294330187824167175632603506782540317807813891394473351052168134141209372440117734056965258707818511714212568967681941717421195389256778209694246052012483769296999129788588799977163342597066963193888609006958264433408359799647829551462584507403398948030186416476020032353079719940160822617126655296899220637943049359621795836685146224884583898289928086488273683204704554977956438926746407301451766441316305587264281457430960911770186172930134444544505240072345902624985213677453467483917737957584991028199543621313479852314013548139211095495540014780750819755115627813933953925554280587655984150459583110702814244386017327194698570704185481626346508901944359365344010309733613597339523771523827392817204959448483911260994243627496303714613133019237808261880989677461043725468681427018149522433816525488106559755787717332550376157878850768465353823751653236280246021189395794083457224383364831613708016039297800895149242115858054616164484340069978805515938242979830675273482806022364819533289767580958171982438327726891990974861177882930040333345996630839554789672651387030469638117052608729836700738760047593703588705097128555556369272621417760364037187932475711171714618846814303188335177588311697104001973740282928735228898164020183323932729777442548334359090207745893412494236541195982249682149656672960429789205817918065080143233465709817991897571454369580868934312572931278697707322153960242617931034082499279206588447826350686473113591641448555061072550192478401239767431403800149953410303367321819266030520159821164831621551010684573731318237756279186210589549089816699454775258431314770236756428700239890647567595684276323254902620503927489812468494925137723546949228599023725879828486144425039258959337077115109871764954317216084727798033307165691757941010420250771382506134634524630645569056074819885934480484590474601136364989775734086769310601089544068018766288437287398314230063087828324559566462137672224786261046366129117139899322707960931834343439502601953623531494682777199866363640215390466306723892961099118211197351473134161370280032029181224925836453726634825742450583108652130508532847862961866194642194948393333917600809894346342038419174644268005721369952914104890541013852034810848876456175771086964442951017948109451679216833129773023338279424899973678322602560471287320507486537653589396849731989300884762196700549398512257586841348479712720080611920544784959192616377704293787190719445474915688095528394989 47309162907828934371420512307178769986534508297315556197570801588013498592113677401707565180647284096221366299261387863425195586932331656829560623121093922992904118768545040045589076381744149892894711125610204822079161809435994911262604410927788655693180466707496950186280746599264262707758383546362329751355863679886075666365321116925031940844402553839605822035117976684827742841993063172519979960115166875236107066416111060228486919854651204589981827894312398642769763043712315381287168627327192365378518642610128409140176791642293132644521854566799335899318019415254459857461798875803323444860436889096582217587449124354829651948751255737769530045708432532266469305704483953521138142841185559025334609182945448186414905215410498659636662351753517160180051346012644458789585779254232737512180509198294714701653883147530707338734429502462901662152142240656473873251116587673491835332143143831185719507831949663887527047193206932013555568365677066244564386332183602100569740840612768572455156872718131803419800199683784388574033678318696271577894847022801934896701716964469352460761175489529480676050522904773553814094656296117670506455382761484566768811612061400473012859047811515678464415163409832684832307825877290776787021581845323378628206822595693796313093807880373177616536242505344745700749445509445213963827373318713284519944411911262414927569049330943872634204261414666742088182714051485993148331415682308085444896834161925110207424185928224255463535393429339083130732080611053229349376600437079435015678796929707478401715791637079483771717511733215506191329403274606863723577187174292326624281906206424084633091983603848224544293664688734096159241727807844515828592177245526491384143536258740787706279463442373917186533705605210404384175922424571468862400281957085632390425902063361934273619711868835172833903376380872492048567186930489265128303545221702391632946659969735671517369951013630278830391785781349172577815474390714155349386947544921631231547956947378621534323932427020956032200990456163690086514006002589920076260057524390066631824407806397900042684112982329876796594569315397914864861921296865774149640640466556446950957992334474521676933216517002851405075134423487367542824707954148769440460497436033983402640421246789333538643755078971559306123837566795090937618568671633916639532606628902744048842168992346021480277892699955364126310096229121639184690463719566909216660230343790217698481957726462276064167353770481145290004847193955983428216295754742879089422294270962513869198439102949432736768351259063423027246405778601317767125086625459728844468790686476518029589512631074812097111583550604609303748732303107428406080833006089042875281663327661609970560571512508906788646882538750344681113714379526703548934157583249175784537832781450571469404367550179797032985569023493247258246805482921736997652919139654981085986300590696361644111070875098773350379261878886734590867284199379161155557564692623536777255093282026230282075557009508304904711070575367261285668146986135235595152661271248101830806968674621618461527606332429981377700548219592311654103885080594987157768212964740953287242638269242335575634549360753665710806450346617164987676720320310993226233091003007 76547833564173024640232253379646895624105832936505829893262512159643664579329778076846366432712693070269710380926141999231456672249158191133677733705619449844164074091131870688684679516066575469563452453737127552684246570335352472290674082724151048438488293980617396939400489821298753514653488197254823810225209339346478897939096415449633648366585803419309065568819631393742988376402833652143514039141834806148241548018088299415416231801221422384088803557867357746256499265677591729571308309145765448316845513715066257738306934522991570333743271428459342534553773299755063259501683716490682264177124262901939532167333567813831424014573112601400844780905793932938085925470176871997726016666002566964276545988172877013551348702074878260766065679378153331922272372095938788977409946429865341018963049516102528593048356498582875472875638874903019396209107499364292384965329156641173777049564339220442497717526195715900010816490206061802144368342840408841631349526072211107528005274021128372102986424180716310823199147713970805050053710671775991518055669639928590193600937602412401820382971326214626900935106803063481900582929979322375061433339200411313176113063827841789318446312092973109425326933596005614966752370382530849132924206830537056081674306513431753898084836079916798930016094819358293839960541004985228744578193073828912333878365836816695515225033481403455744907075659052759415377412622190178629957762191210029804262178172234843821021525451995779290928210634298531614643341605296856845680315050212454253487058810697155862759517105760910789867034167032031679435963030394581056127563332171177392747260030175737869372229625037620338377121913117460990855435823883813629487326487642349438759700743080857685084979380616897017208979088016426748995455714339049820572264395413359282416876924539817203660045214831803673458166053523879079036825047541873858140245960462439226650248674832800072926320286251696590755822969281648288987189009560969652575282722509942928651958921118904463059161325184976215524923185941132634848365092797665969672551760931262614074089956054573003113902188147794861674712548863624682853818868320143730509574779129378229655699656628481919551147551085350684281722871313718229297821545790217995521569986226461803880188678193133688597165382338881125389868086954912102450190222644601213263924866659023235052758541435838179732667958386678896546852657821879075338031315251185539915132964294145188294426221387413787714302999080169015884675680100408467475255091819994199294059225279729953926237136256598428526292269483673798628911913235842397770655681534548730403271171066992630725877620850546183880894151694153371767498591544715804395063069176871199841229789799282195346832558875035905786781861458305612948057819029305502557689077931952984404196421665961935711091443140896151196766374966381419617085514950918222578755593381615911728751173805013774619603722961735216573904073835127924784885009273507497595983867267804782976463234940335172616570861543115753587526751138348250111098004083345046831878104377874854145248099521592139850208892901268698208034757245901050953617069895871919964913514139465544829479617722048295715161281298450669999066724321458774867439765785908914328619397996 123856996472001959011652765686825665610640341233821386090833313747657163171443455478553931613359977166491076680187529862656652259181489847963238356826713372837068192859676910734273755897810725362458163579347332374763408379771347383553278493651939704131668760688114347125681236420563016222411871743617153561581073019232554564304417532374665589210988357258914887603937608078570731218395896824663493999257001681384348614434199359643903151655872626974070631452179756389026262309389907110858476936472957813695364156325194666878483726165284702978265125995258678433871792715009523116963482592294005709037561151998521749754782692168661075963324368339170374826614226465204555231174660825518864159507188125989611155171118325199966253917485376920402728031131670492102323718108583247766995725684098078531143558714397243294702239646113582811610068377365921058361249740020766258216445744314665612381707483051628217225358145379787537863683412993815699936708517475086195735858255813208097746114633896944558143296898848114242999347397755193624087388990472263095950516662730525090302654566881754281144146815744107576985629707837035714677586275440045567888721961895879944924675889242262331305359904488787889742097005838299799060196259821625919945788675860434709881129109125550211178643960289976546552337324703039540709986514430442708405566392542196853822777748079110442794082812347328379111337073719501503560126673676171778289177873518115249159012334159954028445711380220034754463604063637614745375422216350086195056915487291889269165855740404634264475308742840394561584545900247537870765366305001444779704750506463504017029166236599822502464213228885844882670786601851557150097163631728329458079503733168840822903237001821645391364442822990814203742684693226831133171378138910518682972546352498991672842778987901751477279757083666976507361542434396371127604011978031138986443791182164830859596908644568471590296271299881975421147608750630820866802663400275125001962230267431574160199915868497525997383093752205932247725913642104822721362371095387586045932609285321329245898497762452473045798015170477671658269281864261539547715740165185917880150215245685825180613691991103003596484364068088202089356857294801085772122529499938987435982067422260445206520609924982467227240920461310440431513705653750003040068758894278517852796531495561767283894927533781859660010560658342043022856948886943518260028495034818094756575363308084362886776383947849689851881656769561314305889522874056391895691550846562873288716353496242243823124676239206031165294643528547096825875317691837160164895742306994277574872061857543510660315390251925358280992477702298762675516230894652144210475896075265914075122893117460892165907404071383942694433664400208650294061772198556009051491846661181128768942029203116533405115458993320693184182335398459628677863890997872655220231674733036596997715051764501375418730674598060508566953165952721862515652169208652668653153548559891341560231556516966565454692127871051420658298597326505609535779244990218580641984539375625976684952216774143210601377815225331250075908582976838212705057502150490859077733126478880418832072117886964383871349710642052116380805517070938623762544160086096902140561710401003 200404830036174983651885019066472561234746174170327215984095825907300827750773233555400298046072670236760787061113671861888108931430648039096916090532332822681232266950808781422958435413877300832021616033084459927447654950106699855843952576376090752570157054668731744065081726241861769737065359940871977371806282358579033462243513947824299237577574160678223953172757239472313719594798730476807008038398836487532590162452287659059319383457094049358159435010047114135282761575067498840429785245618723262012209670040260924616790660688276273312008397423718020968425566014764586376465166308784687973214685414900461281922116259982492499977897480940571219607520020398142641156644837697516590176173190692953887701159291202213517602619560255181168793710509823824024596090204522036744405672113963419550106608230499771887750596144696458284485707252268940454570357239385058643181774900955839389431271822272070714942884341095687548680173619055617844305051357883927827085384328024315625751388655025316661129721079564425066198495111725998674141099662248254614006186302659115283903592169294156101527118141958734477920736510900517615260516254762420629322061162307193121037739717084051649751671997461897315069030601843914765812566642352475052869995506397490791555435622557304109263480040206775476568432144061333380670527519415671452983759466371109187701143584895805958019116293750784124018412732772260918937539295866350408246940064728145053421190506394797849467236832215814045391814697936146360018763821646943040737230537504343522652914551101790127234825848601305351451580067279569550201329335396025835832313838634681409776426266775560371836442853923465221047908514969018140952599455612143087566830220811190261662937744902503076449422203607711220951663781243257882166833853249568503544810747912350955259655912441568680939802298498780180819708487920250206640837025573012844584037142627270086247157319401271663222591586133672011903431719912469155789852409836094654537512989941517088851874789616430460442255077390908463250836828045955356210736188185252015605161046252591859972587718507046048911917358625466519943994413125164230569559033506061610659790024815203410269391647731485516035511619173552773638580166114804001420351045729205431503637408486907010400798603175600915838085843649321556903573740704915142518949116923119066060456362220790518947686075217697839743228616728721919403801544765397335366526350069280296490496272378508075070810169237103639595959768641483321774198554156800363166805938382867488010412721521973777050913375462629593820935798030770624504229605073002562666397988528826305275333028610503291041267872775904464873371853992916047283729486196860014870959144442785274964122907260174361254236630258978600220446261666955907009830017585314554049535739113081753346225624782495340826550436461589335379101773426010097480976512823573442810430326418212909443802938306389193350278321022243783527070026556990440437054217926176150749532427159146343208019751906900627308698732594536411886124077643957785890342994301925688816417480003851539097464873664802741228024118232518774116617734084113756011119220386730997698039993019884376901597504686432167064871923350567050804583795260082537411599851882811054890329798999 324261826508176942663537784753298226845386515404148602074929139654957990922216689033954229659432647403251863741301201724544761190612137887060154447359046195518300459810485692157232191311688026194479779612431792302211063329878047239397231070028030456701825815356846091190762962662424785959477231684489130933387355377811588026547931480198964826788562517937138840776694847550884450813194627301470502037655838168916938776886487018703222535112966676332230066462226870524309023884457405951288262182091681075707573826365455591495274386853560976290273523418976699402297358729774109493428648901078693682252246566898983031676898952151153575941221849279741594434134246863347196387819498523035454335680378818943498856330409527413483856537045632101571521741641494316126919808313105284511401397798061498081250166944897015182452835790810041096095775629634861512931606979405824901398220645270505001812979305323698932168242486475475086543857032049433544241759875359014022821242583837523723497503288922261219273017978412539309197842509481192298228488652720517709956702965389640374206246736175910382671264957702842054906366218737553329938102530202466197210783124203073065962415606326313981057031901950685204811127607682214564872762902174100972815784182257925501436564731682854320442124000496752023120769468764372921380514033846114161389325858913306041523921332974916400813199106098112503129749806491762422497665969542522186536117938246260302580202840554751877912948212435848799855418761573761105394186037997029235794146024796232791818770291506424391710134591441699913036125967527107420966695640397470615537064345098185426805592503375382874300656082809310103718695116820575291049763087340472545646333953980031084566174746724148467813865026598525424694348474470089015338211992160087186517357100411342628102434900343320158219559382165756688181250922316621334244849003604151831027828324792100945844065963969743253518862886015647433051040470543290022592515810111219656499743257373091249051790658113956457825348829596840710976750470150778077573107283572838061537770331573921105871085480959519094709932529103138178213276277386703778285299198691979490810005270501028590883083638834489112519875687261754862995437460915889773542880545668192867485704830747352216921408528158068143079006304959761988417279394454918182587708011201636918856987857782557802842613608999557499753789275070764942260750431708915595395021384887375053065859580462870961847194117086793491477616538202797627663721428213192258858356784945740776726766217764217600175589614668660759115579326577867450379547296910162727562140295523103880147394886154013951356658124701262745865849556291678722799960380849004225346855219708699350087016024721066527161640701642921294654110661875606201071602216141323605541382400294210522288254827899028745942009429782282519561437171885638775344867510696228663042105059454809907158854702807764612080952919082752350480235979278852956089223426578844803903080987050487903439576268873466082000826603645957070184721404149567321669587984520506330800956855629828224049681647808013342605839343563768850025200710922326461068621370877590075431166471900303208973715391650816038414582565402683431610100866198706299955759937979713195452040200002 524666656544351926315422803819770788080132689574475818059024965562258818672989922589354527705505317640012650802414873586432870122042785926157070537891379018199532726761294473580190626725565327026501395645516252229658718279984747095241183646404121209271982870025577835255844688904286555696542591625361108305193637736390621488791445428023264064366136678615362793949452087023198170407993357778277510076054674656449528939338774677762541918570060725690389501472273984659591785459524904791718047427710404337719783496405716516112065047541837249602281920842694720370722924744538695869893815209863381655466931981799444313599015212133646075919119330220312814041654267261489837544464336220552044511853569511897386557489700729627001459156605887282740315452151318140151515898517627321255807069912024917631356775175396787070203431935506499380581482881903801967501964218790883544579995546226344391244251127595769647111126827571162635224030651105051388546811233242941849906626911861839349248891943947577880402739057976964375396337621207190972369588314968772323962889268048755658109838905470066484198383099661576532827102729638070945198618784964886826532844286510266187000155323410365630808703899412582519880158209526129330685329544526576025685779688655416292992000354240158429705604040703527499689201612825706302051041553261785614373085325284415229225064917870722358832315399848896627148162539264023341435205265408872594783058002974405356001393346949549727380185044651662845247233459509907465412949859643972276531376562300576314471684842608214518944960440043005264487706034806676971168024975793496451369378183732866836582018770150943246137098936732775324766603631789593432002362542952615633213164174791221346229112491626651544263287230206236645646012255713346897505045845409655690062167848323693583362090812784888839159361680664536869000959410236871540885686029177164675611865467419371032091223283371014916741454472149319444954472190455759178382368219947314311037256247314608337903665447730386918267603906987749174227587298196733433783843471758090077142931377826512965843673199466565143621849887728604698157270690511868008854858232198041101469795295316232001152475286565974628555387306435307636634017627030693774963231591397398298989342239234259227322207131333669058917092148609083545320853135159833325106657128124755984917444220003348321790299684217255339497017891799486861664551976474312930761547734956655349556355852841379036918004286323897131073576306844280949437919982369992622025162723328608264737178939286191377226502990131290352936515124608638074883776901983165290228538284051930185422727914764517242397925997477167210739221410284594770083689867045864240217814364151484625051138931981240888415877331901899894874556923542562108081432233726638159590918139407292275634480452681524086768559866243871854940538945311648872825844023519802105852535385873022816602657641114153805431231240104996134007306005835843396526277644505020954652613414209634246647596020780366709309525336240493482070845481793525107559930978822432019617374335633679763147146521472816083833863461796287624141818445006440217079740591264321073129206464920187585875312896337248205479454488753250482414684661458788837367359789862524250342369999001 848928483052528868978960588573069014925519204978624420133954105217216809595206611623308757364937965043264514543716075310977631312654923813217224985250425213717833186571780165737422818037253353220981175257948044531869781609862794334638414716432151665973808685382423926446607651566711341656019823309850239238580993114202209515339376908222228891154699196552501634726146934574082621221187985079748012113710512825366467716225261696465764453683027402022619567934500855183900809343982310743006309609802085413427357322771172107607339434395398225892555444261671419773020283474312805363322464110942075337719178548698427345275914164284799651860341179500054408475788514124837033932283834743587498847533948330840885413820110257040485315693651519384311837193792812456278435706830732605767208467710086415712606942120293802252656267726316540476677258511538663480433571198196708445978216191496849393057230432919468579279369314046637721767887683154484932788571108601955872727869495699363072746395232869839099675757036389503684594180130688383270598076967689290033919592233438396032316085641645976866869648057364418587733468948375624275136721315167353023743627410713339252962570929736679611865735801363267724691285817208343895558092446700676998501563870913341794428565085923012750147728041200279522809971081590079223431555587107899775762411184197721270748986250845638759645514505947009130277912345755785763932871234951394781319175941220665658581596187504301605293133257087511645102652221083668570807135897641001512325522587096809106290455134114638910655095031484705177523832002333784392134720616190967066906442528831052263387611273526326120437755019542085428485298748610168723052125630293088178859498128771252430795287238350800012077152256804762070340360730183435912843257837569742876579524948735036211464525713128208997378921062830293557182210332553492875130535032781316506639693792211471977935289247340758170260317358164966878005512660999049200974884030058533967536999504687699586955456105844343376092952736584589885204337768347511511356950755330928138680701709400434071714758680426084238331782416831742876370546967898571787140157430890020592279800565817260592035558925400463741075262993697062499629455087946583548506112137065591166475047069981611444243615659491737201996098453568845533738132529614751507694365139326392903774432077785906124632913293216812839250807166870251803925302408183228526156569119844030402622215433304249998765198403410690622551192845047078577101641410583184880883519508274349041463945157050408977402092604799951112052094451186505525263324198893328017790678579575034065570122800918531193754584122178429956605070966576273492883650247894868465564669583860183975138154956702307415577518033544821189528667585418168309153034449867961765132300539701502797922735280580552832710569296026154374501976117197287648170711534216030768894640445327832723761512343921918417512184159187748484487541985114696352615501071083865758555694401260122150087172289653832791310351939886450552255566885943092429229518963342938350418331191263507987196828169280829426439702805360056474167019155928766678148361962141911148560372936820490794849028287988064243894037054155933914024785527657495137323119727842237445794410199003 1373595139596880795294383392392839803005651894553100238192979070779475628268196534212663285070443282683277165346130948897410501434697709739374295523141804231917365913333074639317613444762818680247482570903464296761528499889847541429879598362836272875245791555408001761702452340470997897352562414935211347543774630850592831004130822336245492955520835875167864428675599021597280791629181342858025522189765187481815996655564036374228306372253088127713009069406774839843492594803507215534724357037512489751147140819176888623719404481937235475494837365104366140143743208218851501233216279320805456993186110530497871658874929376418445727779460509720367222517442781386326871476748170964139543359387517842738271971309810986667486774850257406667052152645944130596429951605348359927023015537622111333343963717295690589322859699661823039857258741393442465447935535416987591990558211737723193784301481560515238226390496141617800356991918334259536321335382341844897722634496407561202421995287176817416980078496094366468059990517751895574242967665282658062357882481501487151690425924547116043351068031157025995120560571678013695220335340100132239850276471697223605439962726253147045242674439700775850244571444026734473226243421991227253024187343559568758087420565440163171179853332081903807022499172694415785525482597140369685390135496509482136499974051168716361118477829905795905757426074885019809105368076500360267376102233944195071014582989534453851332673318301739174490349885680593576036220085757284973788856899149397385420762139976722853429600055471527710442011538037140461363302745591984463518275820712563919099969630043677269366574853956274860753251902380399762155054488173245703812072662303562473777024399729977451556340439487010998715986372985896782810348303682979398566641692797058729794826616525913097836538282743494830426183169742790364416016221061958481182251559259630843010026512530711773087001771830314286322959984851454808379357252250005848278574255752002307924859121553574730294360556643572339059431925066544244945140794227089018215823633087226947037558431879892649381953632304560347574527817658410439795995015663088061693749595861133492593188034211966438369630650300132370136263472714977277323469343728462989465464389309215870671565822790825406260913190602177929079058985664774584832801022267451148888691876297789254446423212977434068178747825058669738665589854384657541456918116854800685752178571286145629035683202689734587753624769151891359526539561392953177502908682231602957306201124096336600354628595594931241464988609575795143600147101100876493308019216863626964250992850715683048436152510119655597167344292376860868262967340114940732705782483948011668600189293888683548303993395365446721084403224508960730417234466683594599924723218679108795073557215733262076919479129162270026229442515062508936520996555557735832874747175831200855540364169985036072222943415399292744618494847990950539749141778715588886713208307815469756396734768310434199500619877276126944034326412367736617536789449942165370370035705526897187750343974690753645510273566267156344098308837600935206895228102553406232221689579401740678380724341184325312449373491542909184396439470189116283974690479517704761696136780198004 2222523622649409664273343980965908817931171099531724658326933175996692437863403145835972042435381247726541679889847024208388132747352633552591520508392229445635199099904854805055036262800072033468463746161412341293398281499710335764518013079268424541219600240790425688149059992037709239008582238245061586782355623964795040519470199244467721846675535071720366063401745956171363412850369327937773534303475700307182464371789298070694070825936115529735628637341275695027393404147489526277730666647314575164574498141948060731326743916332633701387392809366037559916763491693164306596538743431747532330905289079196299004150843540703245379639801689220421630993231295511163905409032005707727042206921466173579157385129921243707972090543908926051363989839736943052708387312179092532790224005332197749056570659415984391575515967388139580333935999904981128928369106615184300436536427929220043177358711993434706805669865455664438078759806017414021254123953450446853595362365903260565494741682409687256079754253130755971744584697882583957513565742250347352391802073734925547722742010188762020217937679214390413708294040626389319495472061415299592874020099107936944692925297182883724854540175502139117969262729843942817121801514437927930022688907430482099881849130526086183930001060123104086545309143776005864748914152727477585165897907693679857770723037419561999878123344411742914887703987230775594869300947735311662157421409885415736673164585721958152937966451558826686135452537901677244607027221654925975301182421736494194527052595110837492340255150503012415619535370039474245755437466208175430585182263241394971363357241317203595487012608975816946181737201129009930878106613803538791990932160432333726207819686968328251568417591743815760786326733716080218723191561520549141443221217745793766006291142239041306833917203806325123983365380075343857291146756094739797688891253051842314987961801778052531257262089188479253200965497512453857580332136280064382246111255256690007511814577659419073670453509380156928944636262834891756456497744982419946354504334796627381109273190560318733620285414721392090450898364626309011583135173093978082286029396426950753185223593137366902110705913293829432635892927802923860871975455865528580631939436379197482115809438450317143462909289055746774612797118194389336340495387406777541792466308375575160571056126270650881017998632225539990469515156792840769983074685974644716154800786719449879034448401093145278376175961996938438103641202803536362383792201739877306347665069253387009332030688199731192577040704026981649125410425299769821325809895443201998316562973516601579629907094241834027123949363343437141755850990362835601171347153531871852575327448845385855719570913398991542273931892094378898726387501133462561689855519218810297871479951013842629752189698458296180603944491179706224169167267091951863643641816276528688264125682328957990640455599558480493102982389976065236101757279786672752471764002216729878546821940600088032291930229216013394586581979253679709966018968905508308720454036718160695737540802860034474936713269072516400572475856756863973573376464515548143370249952338561169175573369472313376693267528597065118310464255716773779112013599245546999141931190397007 3596118762246290459567727373358748620936822994084824896519912246776168066131599680048635327505824530409818845235977973105798634182050343291965816031534033677552565013237929444372649707562890713715946317064876638054926781389557877194397611442104697416465391796198427449851512332508707136361144653180272934326130254815387871523601021580713214802196370946888230492077344977768644204479550670795799056493240887788998461027353334444922377198189203657448637706748050534870885998950996741812455023684827064915721638961124949355046148398269869176882230174470403700060506699912015807829755022752552989324091399609694170663025772917121691107419262198940788853510674076897490776885780176671866585566308984016317429356439732230375458865394166332718416142485681073649138338917527452459813239542954309082400534376711674980898375667049962620191194741298423594376304642032171892427094639666943236961660193553949945032060361597282238435751724351673557575459335792291751317996862310821767916736969586504673059832749225122439804575215634479531756533407533005414749684555236412699413167934735878063569005710371416408828854612304403014715807401515431832724296570805160550132888023436030770097214615202914968213834173870677290348044936429155183046876250990050857969269695966249355109854392205007893567808316470421650274396749867847270556033404203161994270697088588278360996601174317538820645130062115795403974669024235671929533523643829610807687747575256412004270639769860565860625802423582270820643247307412210949090039320885891579947814735087560345769855205974540126061546908076614707118740211800159894103458083953958890463326871360880864853587462932091806934989103509409693033161101976784495803004822735896199984844086698305703124758031230826759502313106701977001533539865203528540009862910542852495801117758764954404670455486549819954409548549818134221707162977156698278871142812311473157997988314308764304344263861018793539523925482363908665959689388530070230524685511008692315436673699212993803964814066023729268004068187901436001401638539209508964570327967883854328146831622440211383002239047025952438025426182284719451379130188757066143979778992288084245778411627349333340480336563593961802772156400517901138195444799593991570097403825688413352787375261241142549723822479657924703691856103859163921173296409674228690681158184673364415017479339248084949196746457284209729135105011177498311439992802829445401906979358005595508070131603782879866129800731148829797630180764196489539886700883971480263653866193349723609686659283794662434042029313602776792725557526400646314633829112306828962567555824232284628066059604361489624291293655720298010018818330477776333877129637479883521175516742734069404023564308764438263358335116603339629143621967817057161614578737897919092945037166747104706671668827620566206833387006242215160690163822649687696518388992107729543804489852313994062863399014957773237721477237967015775850899058502261639184972310032199634943556708910522231792550106492140338620908391621416327502808418847673679090489742245057883487884777550788120446986835339672744670784694357799180468604567068954375591939531740301847556297710656638689142641020139974302706903725905890063086704078763251760838067970595011 5818642384895700123841071354324657438867994093616549554846845422772860503995002825884607369941205778136360525125824997314186766929402976844557336539926263123187764113142784249427685970362962747184410063226288979348325062889268212958915624521373121957684992036988853138000572324546416375369726891425334521108485878780182912043071220825180936648871906018608596555479090933940007617329919998733572590796716588096180925399142632515616448024125319187184266344089326229898279403098486268090185690332141640080296137103073010086372892314602502878269622983836441259977270191605180114426293766184300521654996688688890469667176616457824936487059063888161210484503905372408654682294812182379593627773230450189896586741569653474083430955938075258769780132325418016701846726229706544992603463548286506831457105036127659372473891634438102200525130741203404723304673748647356192863631067596163280139018905547384651837730227052946676514511530369087578829583289242738604913359228214082333411478651996191929139587002355878411549159913517063489270099149783352767141486628971338247135909944924640083786943389585806822537148652930792334211279462930731425598316669913097494825813320618914494951754790705054086183096903714620107469846450867083113069565158420532957851118826492335539039855452328111980113117460246427515023310902595324855721931311896841852041420126007840360874724518729281735532834049346570998843969971970983591690945053715026544360912160978370157208606221419392546761254961483948065250274529067136924391221742622385774474867330198397838110110356477552541681082278116088952874177678008335324688640347195353861826684112678084460340600071907908753116726304638419623911267715780323287793936983168229926192663773666633954693175622974642520288639840418057220256731426724077681453084128288646261807408901003995711504372690356145078392913929893478078998309733251438076560034065363315472985950116086816835601525950207272792724890979876362523540021524810134612770796766265382322948488276872412877635267575403886196948704450736327757858136284191928910924832302680481709256104813000530116622524461747344528476324546911028462962265361851044226265808388715034998963635220486700242591042476887791235408049328320824999067420255459520150729343262067610834903184699691459693186731768713671478304653222053553257513791797081006232473624493048939575588535465518735830214745089509749719604620167970339081423067488804090118061780144725045387104580004876025144505976693145768235733821967000025902270493085711357570001531262603110619018689971994393626619070017629758441850967951700416135959639007750030960884118797748886207695966698603323651415243019063735151774669320840611935048476791011755373750844191579455259743135222163429805632267008697718527870009468950519723304434257116729390816517117760947336423858526078862387437331497421921384859331089741639560162030808384258232068615534642952053503854614516253730824459627943081011952656338288934391656736312248929513490378649510610264084480335708153733207490370875096037468827387753181987810943778963218579225425580410822595383700104412189145243260551114663154041981031584502518962189484078863016731871080128952065835908548737039421017367981622663842198717678008798759979999160992018 9414761147141990583408798727683406059804817087701374451366757669549028570126602505933242697447030308546179370361802970419985401111453320136523152571460296800740329126380713693800335677925853460900356380291165617403251844278826090153313235963477819374150383833187280587852084657055123511730871544605607455434616133595570783566672242405894151451068276965496827047556435911708651821809470669529371647289957475885179386426495966960538825222314522844632904050837376764769165402049483009902640714016968704996017776064197959441419040712872372055151853158306844960037776891517195922256048788936853510979088088298584640330202389374946627594478326087101999338014579449306145459180592359051460213339539434206214016098009385704458889821332241591488196274811099090350985065147233997452416703091240815913857639412839334353372267301488064820716325482501828317680978390679528085290725707263106517100679099101334596869790588650228914950263254720761136405042625035030356231356090524904101328215621582696602199419751581000851353735129151543021026632557316358181891171184207750946549077879660518147355949099957223231366003265235195348927086864446163258322613240718258044958701344054945265048969405907969054396931077585297397817891387296238296116441409410583815820388522458584894149709844533119873680925776716849165297707652463172126277964716100003846312117214596118721871325693046820556177964111462366402818638996206655521224468697544637352048659736234782161479245991279958407387057385066218885893521836479347873481261063508277354422682065285958183879965562452092667742629186192703659992917889808495218792098431149312752290010984038965325194187534840000560051715408147829316944428817757107783596941805904126126177507860364939657817933654205469279790952947120034221790271291927606221462947038831498757608526659768950116174828176905965032802462479711612300705472710408136355431176877674788630983938430395581139945789811226066332248816462240271189499710913340204843295482277274074638385161976085406681600081641427615464952772638637763759259774823401437875495160270564336037402936435440741499624763508773296966501750729195747914341395550608110370245587381003119244742046847836033583071379040481753038180205728838726137262865055053511720826747087756024187690559960932602242910554248371596181996509325912717178687088206755234923154782677722303990606014804766820779411491546793959448739725179147837392863060291633535519968759502730640895174711608658905010635777424294598033364002731196515442157193969682837833655397455952834228705349255789056060661099331232535234576525478101062450593468120056859923451674621981170835762026302964813275706536674784033161793487651318388268925606428491638894926360934313524663766699530927868068990602125301058157013631436767576884919012995014648483761554284508052043095527353699428594270718503664136545549494912391327256680419800491987775873105386956946116367253629474026968545936865910096787803555396791196030841708622281129148433935358421132495877030442200294071828398762496512364971635806600855666901433521208276462713310357961610715830686939751861889914045245472462334510585598653456894554129015819164864288168790785590754978549568877013723724271707528553905285421756772050520818067131587029 15233403532037690707249870082008063498672811181317924006213603092321889074121605331817850067388236086682539895487627967734172168040856296981080489111386559923928093239523497943228021648288816208084766443517454596751576907168094303112228860484850941331835375870176133725852656981601539887100598436030941976543102012375753695609743463231075088099940182984105423603035526845648659439139390668262944238086674063981360311825638599476155273246439842031817170394926702994667444805147969277992826404349110345076313913167270969527791933027474874933421476142143286220015047083122376036682342555121154032634084776987475109997379005832771564081537389975263209822518484821714800141475404541431053841112769884396110602839579039178542320777270316850257976407136517107052831791376940542445020166639527322745314744448966993725846158935926167021241456223705233040985652139326884278154356774859269797239698004648719248707520815703175591464774785089848715234625914277768961144715318738986434739694273578888531339006753936879262902895042668606510296731707099710949032657813179089193684987824585158231142892489543030053903151918165987683138366327376894683920929910631355539784514664673859760000724196613023140580027981299917505287737838163321409186006567831116773671507348950920433189565296861231853794043236963276680321018555058496981999896027996845698353537340603959082746050211776102291710798160808937401662608968177639112915413751259663896409571897213152318687852212699350954148312346550166951143796365546484797872482806130663128897549395484356021990075918929645209423711464308792612867095567816830543480738778344666614116695096717049785534787606747909313168441712786248940855696533537431071390878789072356052370171634031573612511109277180111800079592787538091442047002718651683902916031167120145019415935560772945827679200867262110111195376409605090379703782443659574431991210943038104103969888546482397975547315761433339124973707442116633713039732438150339456066279043539456961333650252957819559235349216831501661901477089374091517117911107593366786419992573244817746659041248441271616247287970520641494978075276106776377303660912459154596511395769718154243705682068322733825662421517369544273588255057159551136330285310513031871556090349823635022593744660624061936097286017085267660301162547966270436200880003836241155628407170771243566194550270285556609626236636303709168344345347118176474286127780437625638030539647455686282279291613534930155141754117440366269097824698196541344427687055394195403656928718555944847724039227783449687280169348862293676427493429801478586553107127806890884335793419730057043457993001568136927121779693847768313568156972159000203974083219503394268677205125892979923509834753091297874622869133998776684883640905718096608223447252131377874578071402268999379519385879778290981708050001086057930408826002132966816842450608876246007941720921599898169871108243990280699370396493853177799756211735080130422498444934530058661924314007931742759961510777908447805035889133371608402440463194354037654712377300171495041938735938372433311214387044164051035157305796587125488552566630237959413516318499898027881020039870914542820814458117614053144741639689151217747484139434780849280798066292579047 24648164679179681290658668809691469558477628269019298457580360761870917644248207837751092764835266395228719265849430938154157569152309617117603641682846856724668422365904211637028357326214669668985122823808620214154828751446920393265542096448328760705985759703363414313704741638656663398831469980636549431977718145971324479176415705636969239551008459949602250650591962757357311260948861337792315885376631539866539698252134566436694098468754364876450074445764079759436610207197452287895467118366079050072331689231468928969210973740347246988573329300450131180052823974639571958938391344058007543613172865286059750327581395207718191676015716062365209160533064271020945600655996900482514054452309318602324618937588424883001210598602558441746172681947616197403816856524174539897436869730768138659172383861806328079218426237414231841957781706207061358666630530006412363445082482122376314340377103750053845577311404353404506415038039810609851639668539312799317376071409263890536067909895161585133538426505517880114256630171820149531323364264416069130923828997386840140234065704245676378498841589500253285269155183401183032065453191823057942243543151349613584743216008728805025049693602520992194976959058885214903105629225459559705302447977241700589491895871409505327339275141394351727474969013680125845618726207521669108277860744096849544665654555200077804617375904822922847888762272271303804481247964384294634139882448804301248458231633447934480167098203979309361535369731616385837037318202025832671353743869638940483320231460770314205870041481381737877166340650501496272860013457625325762272837209493979366406706080756015110728975141587909873220157120934078257800125351294538854987820594976482178547679494396513270329042931385581079870545734658125663837274010579290124378978205951643777024462220541895943854029044168075143997838889316702680409255154067710787422387820712892734953826976877979115493105572659405457222523904356904902539443351490544299361761320813531599718812229043226240835430858259117126854249728011855276377685930994804661915152843809153784061977683882013115872051479293938461479826005302524291645056463067264966756983150721273488447728916158767408733800557851297311768460785998277273593150365566543592382837437579659210284304621556664179007840265456863842297671873878987614887968210591476078783189848493547556800565075052377389037728183097668617084070526266013867149188072071161157999299150186327177454003222193835165777531541734964302461827429393056786584881025077033237312326174508779076429388483572505747941268680094828911004018907902541037146575247863750807787468041711227879220019304532950202828316368631801475361644623477388472899689647995033163603566060206504587276534284019165943613471259299834841897272342485673493142460247146026358339625686777051422614913233477719575978768504750194475958320914524294073522870409368233783814826308556844286238361873464307667916333359763274587559767131871326453340153556811187810358249366352875255838541220108741876864287895868120767412099000954893321613810821379771504652046296334044027045073983915912925071351042059587823063152228891416308070447515717192745308208661700133575793007686491066868465911396679771652769561191552899801616133424166076 39881568211217371997908538891699533057150439450337222463793963854192806718369813169568942832223502481911259161337058905888329737193165914098684130794233416648596515605427709580256378974503485877069889267326074810906405658615014696377770956933179702037821135573539548039557398620258203285932068416667491408520820158347078174786159168868044327650948642933707674253627489603005970700088252006055260123463305603847900010077773165912849371715194206908267244840690782754104055012345421565888293522715189395148645602398739898497002906767822121921994805442593417400067871057761947995620733899179161576247257642273534860324960401040489755757553106037628418983051549092735745742131401441913567895565079202998435221777167464061543531375872875292004149089084133304456648647901115082342457036370295461404487128310773321805064585173340398863199237929912294399652282669333296641599439256981646111580075108398773094284832220056580097879812824900458566874294453590568278520786728002876970807604168740473664877433259454759377159525214488756041620095971515780079956486810565929333919053528830834609641734079043283339172307101567170715203819519199952626164473061980969124527730673402664785050417799134015335556987040185132408393367063622881114488454545072817363163403220360425760528840438255583581269012250643402525939744762580166090277756772093695243019191895804036887363426116599025139599560433080241206143856932561933747055296200063965144867803530661086798854950416678660315683682078166552788181114567572317469226226675769603612217780856254670227860117400311383086590052114810288885727109025442156305753575987838645980523401177473064896263762748335819186388598833720327198655821884831969926378699384048838230917851128428086882840152208565692879950138522196217105884276729230974027295009373071788796440397781314841771533229911430185255193215298921793060113037597727285219413598763750996838923715523360377091040421334092744582196231346473538615579175789640883755428040364352988561052462482001045800070780075090618788755726817385946793495597038588171448335145417053971530721018932323284732119339449814579956457901281409300668948717375526419563268378920439427732153410984481501234396222075220841585356715843157828409923435676079575463938927787403294232878049282180726115105126282542131502598834421845258051088848214427717234411597019264791122995115345337933998663964819401377785428415873384190341435315852508786796029838797642013459733294835728765320919285659175330571559652127589598131012568080471228640969254893064723924153427711355955435221438028957122587431512337704019623699682375670641692123261461441284922678012306101087129950096062479569788929801595636388676873772867498427432280771186099484510786369037110463818236340393298611526780913248203770101365907499277404232917697089046050802134299113256010557686818505836252406367146916657260890365321018244479791756547230156742456109470117454588367286729853616452387315978866951456875838598491341246472282563374284618015800051998017189681900177029239729169852562195308930976326188121551266546590782234706477338259461028079963960228656838646713311615718859129375721586766015615220626328248532614676396607465804105120013207551085830989400253700626333749082414199716745123 64529732890397053288567207701391002615628067719356520921374324616063724362618021007320035597058768877139978427186489844042487306345475531216287772477080273373264937971331921217284736300718155546055012091134695025061234410061935089643313053381508462743806895276902962353262140258914866684763538397304040840498538304318402653962574874505013567201957102883309924904219452360363281961037113343847576008839937143714439708329907732349543470183948571784717319286454862513540665219542873853783760641081268445220977291630208827466213880508169368910568134743043548580120695032401519954559125243237169119860430507559594610652541796248207947433568822099993628143584613363756691342787398342396081950017388521600759840714755888944544741974475433733750321771031749501860465504425289622239893906101063600063659512172579649884283011410754630705157019636119355758318913199339709005044521739104022425920452212148826939862143624409984604294850864711068418513962992903367595896858137266767506875514063902058798415859764972639491416155386308905572943460235931849210880315807952769474153119233076510988140575668543536624441462284968353747269272711023010568408016213330582709270946682131469810100111401655007530533946099070347311498996289082440819790902522314517952655299091769931087868115579649935308743981264323528371558470970101835198555617516190544787684846451004114691980802021421947987488322705351545010625104896946228381195178648868266393326035164109021279022048620657969677219051809782938625218432769598150140579970545408544095538012317024984433730158881693120963756392765311785158587122483067482068026413197332625346930107258229080006992737889923729059608755954654405456455947236126508781366519979025320409465530622824600153169195139951273959820684256854342769721550739810264151673987579023432573464860001856737715387258955598260399191054188238495740522292751794996006835986584463889573877542500238356206533526906752150039418755250830443518118619141131428054789801685166520160771274711044272040906210933349735915609976545397802069873282969582976110250298260863125314782996616205297847991390929108518417937727286711824960593773838593684530025362071160701220601139900640268643130022633072138897125176629156105683516586041646119056321765224982953443162353903737390294112966547998995344896506295724245665976816425019193313194786867758338679795680420390311387701693002499046402512486399650204208584503924579947954029137947828340637187298057922600486696817200910294874021479556982654917597449105548261878281581067573503000582816194928461183162706709051951498435531245606560660846257623534392499910729503152512801898031610634037332778412431111371264291446219113777149773462515493460595884337246305989098062903321129629761849811652598446368678185590689443594508367746423430591257322775823102224749212346733730133665587010586446882325467831181554963888191427612713575571373538713586742347831990918896035203063213379726974875745998822783329178752048152434282640812740637493271638593218125931558764464925107849937264661196263824297939998942931038051242828531040521365304535011995876885300007880706301134678871088020792029657213531332413371636457194314809972400473490596186881673462482510761053023261817886648884030333140911199 104411301101614425286475746593090535672778507169693743385168288470256531080987834176888978429282271359051237588523548749930817043538641445314971903271313690021861453576759630797541115275221641423124901358460769835967640068676949786021084010314688164781628030850442510392819538879173069970695606813971532249019358462665480828748734043373057894852905745817017599157846941963369252661125365349902836132303242747562339718407680898262392841899142778692984564127145645267644720231888295419672054163796457840369622894028948725963216787275991490832562940185636965980188566090163467950179859142416330696107688149833129470977502197288697703191121928137622047126636162456492437084918799784309649845582467724599195062491923353006088273350348309025754470860115882806317114152326404704582350942471359061468146640483352971689347596584095029568356257566031650157971195868673005646643960996085668537500527320547600034146975844466564702174663689611526985388257446493935874417644865269644477683118232642532463293293024427398868575680600797661614563556207447629290836802618518698808072172761907345597782309747586819963613769386535524462473092230222963194572489275311551833798677355534134595150529200789022866090933139255479719892363352705321934279357067387335315818702312130356848396956017905518890012993514966930897498215732682001288833374288284240030704038346808151579344228138020973127087883138431786216768961829508162128250474848932231538193838694770108077876999037336629992902733887949491413399547337170467609806197221178147707755793173279654661590276282004504050346444880122074044314231508509638373779989185171271327453508435702144903256500638259548245997354788374732655111769120958478707745219363074158640383381751252687036009347348516966839770822779050559875605827469041238178968996952095221369905257783171579486920488867028445654384269487160288800635330349522281226249585348214886412801258023598733297573948240844894621614986597303982133697794930772311810217842049519508721823737193045317840976991008440354704365703362783748863368880008171147558585443677917096845504015548528582580110730378923098374395628568121125629542491214120104093293740991600128952754550885121769877526244708292980482481892472313934093440021717725694520260693012386247676040403185918116409218092830541126847495340717569503717065664639446910547606383887023129802790795765728245386365657821900424187940902273034394550019819777088734750058976745470354096920592893651365807616102860085625445581131684572253048610017186019490519250835960638226924736243906284416618384144738009074085867043583310580284545939999205034192033990964593797724576043916735124462728508493590941053221247814750165826647235382991888028165108432405473608849272358240093580086152045897057895459098838893213695874275245700834824175019864869153026883511459989740691352405516422699288692614747838815854253512445857193367327920768870329198457302108373484402489793066996179362191724865774240205017350539493680754923376114922111287438645216143121240664641954347579107117223391572755274266187064482304597833610765746998703563996040075840845528664719353014446294589947150167751243979546947633997964705726929486369007939294701306894881013568341750453276962444220397966444532857656322 168941033992011478575042954294481538288406574889050264306542613086320255443605855184209014026341040236191216015710038593973304349884116976531259675748393963395126391548091552014825851575939796969179913449595464861028874478738884875664397063696196627525434926127345472746081679138087936655459145211275573089517896766983883482711308917878071462054862848700327524062066394323732534622162478693750412141143179891276779426737588630611936312083091350477701883413600507781185385451431169273455814804877726285590600185659157553429430667784160859743131074928680514560309261122564987904738984385653499815968118657392724081630043993536905650624690750237615675270220775820249128427706198126705731795599856246199954903206679241950633015324823742759504792631147632308177579656751694326822244848572422661531806152655932621573630607994849660273513277202151005916290109068012714651688482735189690963420979532696426974009119468876549306469514554322595403902220439397303470314503002536411984558632296544591261709152789400038359991835987106567187507016443379478501717118426471468282225291994983856585922885416130356588055231671503878209742364941245973762980505488642134543069624037665604405250640602444030396624879238325827031391359641787762754070259589701853268474001403900287936265071597555454198756974779290459269056686702783836487388991804474784818388884797812266271325030159442921114576205843783331227394066726454390509445653497800497931519873858879129356899047657994599670121785697732430038617980106768617750386167766586691803293805490304639095320435163697625014102837645433859202901353991577120441806402382503896674383615693931224910249238528183277305606110743029138111567716357084987489111739342099479049848912374077287189178542488468240799591507035904902645327378208851502330642984531118653943370117785028317202307747822626706053575323675398784541157623101317277233085571932678775986678800523837089504107475147597044661033741848134425651816414071903739865007643734686028882595011904089589881883201941790090619975679908181550933242162977754123668835741938780222160287012164733880428102121308031616792333355854832950590136265052713788623319103062760830173355690785762038520656267341365119379607069101470039776956607759371813576582458237369201119202757089655506703331059378540122192391847013293749383042481064466103860801170754781468482586476186118556774067350824399470590453388672684598758604323701668682704088114693298694734107890951573966294312920060995920319602611241554907966207466291567752397532417028211729925319060101212877801546851447061025584302574828917140945392197622739426691944720467746310526474075527369161795506920924702312317512694033863942976420697898485348624049445678711462706912175679369723341935963698495504264137284429582657290382642992124265415432342640692255251632723806723470825017992527009146171018082579020370818141703873469906942899294307583915940805134099292380437692856280375906337067470864597023534196102587646115037564188855559604559077238434269052799429106879455429044381884587836579572206186007413342649076439296787520068868531052071717730828672600059315580973461035170959780901193078280047369601162921244296341408412785297493776554476050852511506300224262107046850474865998567521 273352335093625903861518700887572073961185082058744007691710901556576786524593689361097992455623311595242453604233587343904121393422758421846231579019707653416987845124851182812366966851161438392304814808056234696996514547415834661685481074010884792307062956977787983138901218017261006626154752025247105338537255229649364311460042961251129356907768594517345123219913336287101787283287844043653248273446422638839119145145269528874329153982234129170686447540746153048830105683319464693127868968674184125960223079688106279392647455060152350575694015114317480540497827212728455854918843528069830512075806807225853552607546190825603353815812678375237722396856938276741565512624997911015381641182323970799149965698602594956721288675172051785259263491263515114494693809078099031404595791043781722999952793139285593262978204578944689841869534768182656074261304936685720298332443731275359500921506853244027008156095313343114008644178243934122389290477885891239344732147867806056462241750529187123725002445813827437228567516587904228802070572650827107792553921044990167090297464756891202183705195163717176551669001058039402672215457171468936957552994763953686376868301393199739000401169803233053262715812377581306751283722994493084688349616657089188584292703716030644784662027615460973088769968294257390166554902435465837776222366092759024849092923144620417850669258297463894241664088982215117444163028555962552637696128346732729469713712553649237434776046695331229663024519585681921452017527443939085360192364987764839511049598663584293756910711445702129064449282525555933247215585500086758815586391567675168001837124129633369813505739166442825551603465531403870766679485478043466196856958705173637690232294125329974225187889836985207639362329814955462520933205677892740509611981483213875313275375568199896689228236689655151707959593162559073341792953450839558459335157280893662399480058547435822801681423388441939282648728445438407785514209002676051675225485784205537604418749097134907722860192950230445324341383270965299796611042985925271227421185616697319005791027713262463008212851686954715166728984422954076219678756266833892716612844054360959126110241670883808398182512049658099862088961573783973870396629477097508096843151249755448795243160275573623112549152209081249039887187730863253100108145703913014408407554641804598285377271951846802160433008646299894778394290945718993308624143478757417454147091438769048831028483845225332101929022921081545765183742926127161014817483477587242916783252988849956850055304007497294419930996185070099670169618412227721229938137621944460883978711432340108251050119444104286258235429418293253370733941848614108803067933281477236652214554111116936315761448037609816922022115744392562159596383268475870986256918237825100239607362505561408278516235266713211516370398043431845459710697326859186672395216319327100310227215076454245139262436207665864840182649347372085699259195730371263739213453127139795792487564970481715846515883650412174040093748833803008151499107979409334846472373071895647246910050062534518772432527092147558576357337319412330027268050982321127532145172625227681367565868648173782710416352079998800671435489619194261959577186706327444816919398856223843 442293369085637382436561655182053612249591656947794271998253514642897041968199544545307006481964351831433669619943625937877425743306875398377491254768101616812114236672942734827192818427101235361484728257651699558025389026154719537349878137707081419832497883105133455884982897155348943281613897236522678428055151996633247794171351879129200818962631443217672647281979730610834321905450322737403660414589602530115898571882858159486265466065325479648388330954346660830015491134750633966583683773551910411550823265347263832822078122844313210318825090042997995100807088335293443759657827913723330328043925464618577634237590184362509004440503428612853397667077714096990693940331196037721113436782180216999104868905281836907354303999995794544764056122411147422672273465829793358226840639616204384531758945795218214836608812573794350115382811970333661990551414004698434950020926466465050464342486385940453982165214782219663315113692798256717793192698325288542815046650870342468446800382825731714986711598603227475588559352575010795989577589094206586294271039471461635372522756751875058769628080579847533139724232729543280881957822112714910720533500252595820919937925430865343405651810405677083659340691615907133782675082636280847442419876246791041852766705119930932720927099213016427287526943073547849435611589138249674263611357897233809667481807942432684121994288456906815356240294825998448671557095282416943147141781844533227401233586412528366791675094353325829333146305283414351490635507550707703110578532754351531314343404153888932852231146609399754078552120170989792450116939491663879257392793950179064676220739823564594723754977694626102857209576274433008878247201835128453685968698047273116740081206499407261414366432325453448438953836850860365166260583886744242840254966014332529256645493353228213891535984512281857761534916837957857882950576552156835692420729213572438386158859071272912305788898536038983943682470293572833437330623074579791540233129518891566487013761001224497604743394892020535944317063179146850729853205963679394896256927555477541166078039877996343436314972994986331959062340277787026809815021319547681339931947117121789299465932456645846918838779391023219241696030675254013647353237236469321673425609487124649914445917365229129815880211587621371232279034744157002483150626768379118269208725396586066767963748137965358934500359470699365368847679618403592067228467180426100158235206132067743565136374796799298396241942982077466084786354167682068981024949769154995314315670017061686775374364108710172221477847632131125254472193241144862175330335244683887575923431900086418777524194971473448053742350342995565688246635882478051779488631179962585276263999789828399022673623716979540263958079442888066423733667698058528276639561229949365655039705146253663530148959073436682341388390570440991630728779905879557490536920192797007253126509384038161080067570306958245277875505627747992036326666594968287273409555714785910830051753826041320405593122084681226839522855713258437195880992567245914418678559079308989895986489359322038841301058144219276307186009919471645608241512017492087313046365703507728737167031569418079051824764865296294447989965670046773465877410968434491667394264854791364 715645704179263286298080356069625686210776739006538279689964416199473828492793233906404998937587663426676123224177213281781547136729633820223722833787809270229102081797793917639559785278262673753789543065707934255021903573570554199035359211717966212139560840082921439023884115172609949907768649261769783766592407226282612105631394840380330175870400037735017770501893066897936109188738166781056908688036025168955017717028127688360594620047559608819074778495092813878845596818070098659711552742226094537511046345035370112214725577904465560894519105157315475641304915548021899614576671441793160840119732271844431186845136375188112358256316106988091120063934652373732259452956193948736495077964504187798254834603884431864075592675167846330023319613674662537166967274907892389631436430659986107531711738934503808099587017152739039957252346738516318064812718941384155248353370197740409965263993239184480990321310095562777323757871042190840182483176211179782159778798738148524909042133354918838711714044417054912817126869162915024791648161745033694086824960516451802462820221508766260953333275743564709691393233787582683554173279284183847678086495016549507296806226824065082406052980208910136922056503993488440533958805630773932130769492903880230437059408835961577505589126828477400376296911367805239602166491573715512039833723989992834516574731087053101972663546754370709597904383808213566115720123838379495784837910191265956870947298966177604226451141048657058996170824869096272942653034994646788470770897742116370825393002817473226609141858055101883143001402696545725697332524991750638072979185517854232678057863953197964537260716861068928408813041805836879644926687313171919882825656752446754430313500624737235639554322162438656078316166665815827687193789564636983349866947497546404569920868921428110580764221201937009469494510000516931224743530002996394151755886494466100785638917618708735107470321924480923226331198739011241222844832077255843215458615303097104091432510098359405327603587842250981268658446450112150526464248949604666123678113172174860171869067591258806444527824681941047125791324700741103029493777586381574056544791171482748425576174127529655317021291440681319103784992249037987517749866713566829770268760736880098709689077640802752928429363796702620272166222475020255583258772472292132677616280038390665053341020089812161094933368116999260147241970564122585375852610659183517612382297570836792396164858642024630498170965903159011849970097093809229995842433246742238231098923005911643625429668116207466641408843817201224924641811653372583405268472866628348459902143332426527028574314415577734311977779761288819058980577731092160582556564461439821928478553900945335338435071754589357185980195187280628583330050966534399262896479467774465894647067651815071808665194340149893857758788613872837090439477232738744162932136512124107563353724460492406219330006514624110118058154975120077735585862325339551012623008841925706622539318796523036252109005735093400879616604547061445347380100546655249265150932151204637142896539421856557613733585236366834883543347238883975635509562999813214845191538328735410104732900217591861762241116945295095119425455289241035425454597674761936484313663711015207 1157939073264900668734642011251679298460368395954332551688217930842370870460992778451712005419552015258109792844120839219658972880036509218601214088555910887041216318470736652466752603705363909115274271323359633813047292599725273736385237349425047631972058723188054894908867012327958893189382546498292462194647559222915859899802746719509530994833031480952690417783872797508770431094188489518460569102625627699070916288910985847846860086112885088467463109449439474708861087952820732626295236515778004949061869610382633945036803700748778771213344195200313470742112003883315343374234499355516491168163657736463008821082726559550621362696819535600944517731012366470722953393287389986457608514746684404797359703509166268771429896675163640874787375736085809959839240740737685747858277070276190492063470684729722022936195829726533390072635158708849980055364132946082590198374296664205460429606479625124934972486524877782440638871563840447557975675874536468324974825449608490993355842516180650553698425643020282388405686221737925820781225750839240280381095999987913437835342978260641319722961356323412242831117466517125964436131101396898758398619995269145328216744152254930425811704790614587220581397195609395574316633888267054779573189369150671272289826113955892510226516226041493827663823854441353089037778080711965186303445081887226644184056539029485786094657835211277524954144678634212014787277219120796438931979692035799184272180885378705971018126235401982888329317130152510624433288542545354491581349430496467902139736406971362159461373004664501637221553522867535518147449464483414517330371979468033297354278603776762559261015694555695031266022618080269888523173889148300373568794354799719871170394707124144497053920754487892104517270003516676192853454373451381226190121913511878933826566362274656324472300205714218867231029426838474789107694106555153229844176615708038539171797776689981647413259220460519907170013669032584074660175455151835634755691744821988670578446271099583902932346982734271517212975509629259001256317454913284061019935040727652401337947107469255149880842797676927379084853664978528129839308798905929255396476738288604537725042106584175502235860070831704538345481022924292001165103103950036151443694370224004748624134995006031882744309575384323991504445257219177258066409399240671250946825005434976731821304768227777520029433727587698625516089650182526177443081077839609617770617503702904535961301233438823928894412908885236477934756451261491298976867383015897233545414593022973330400804032224917638862886691449332350179114004894517445580598808111312236035825575232512945806098509387051182365720130104284384747227213613570212362045195641402407204742553690773734361108695471568897449938274630168695007063718664592927539536040697723831549686772798068735338814153413586576199147179184313828721168257138618301653469056704921114816480233844530567299397576821582355395933660602868069771912528920307838286032564556711617452591072622564356657702127819774627719139460260319882543261093113901163683829491230513627038883028781178596455034643380586111190729357158355621243751075017305302158237904032243138841899931787009940814065881810591389567415420959287808891332008643196428151707928565806571 1873584777444163955032722367321304984671145134960870831378182347041844698953786012358117004357139678684785916068298052501440520016766143038824936922343720157270318400268530570106312388983626582869063814389067568068069196173295827935420596561143013844111619563270976333932751127500568843097151195760062245961239966449198472005434141559889861170703431518687708188285765864406706540282926656299517477790661652868025934005939113536207454706160444697286537887944532288587706684770890831286006789258004099486572915955418004057251529278653244332107863300357628946383416919431337242988811170797309652008283390008307440007927862934738733720953135642589035637794947018844455212846243583935194103592711188592595614538113050700635505489350331487204810695349760472497006208015645578137489713500936176599595182423664225831035782846879272430029887505447366298120176851887466745446727666861945870394870472864309415962807834973345217962629434882638398158159050747648107134604248346639518264884649535569392410139687437337301222813090900840845572873912584273974467920960504365240298163199769407580676294632066976952522510700304708647990304380681082606076706490285694835513550379078995508217757770823497357503453699602884014850592693897828711703958862054551502726885522791854087732105352869971228040120765809158328639944572285680698343278805877219478700631270116538888067321381965648234552049062442425580902997342959175934716817602227065141143128184344883575244577376450639947325487955021606897375941577540001280052120328238584272965129409788835386070514862719603520364554925564081243844781989475165155403351164985887530032336467729960523798276411416763959674835659886106768168100576461472293451620011552166625600708207748881732693475076650330760595586170182492020540648163016018209539988861009425338396487231196084435053064426916155876700523936838991720332437636558149623995932502202504639957436694308690382520729542385000830396344867771595315883020287229091477971150360125085774669878781197943308259950570576522498481633956079371151782781703862888727143613153899827261509816175060513956325370622358868426210644989679269232868802576492310829453021529460087286150618280711705157552881362272385857449266015173329988682852970663602981213963130960884847333824072646834635672738939181026611776611479694197513649668171712963383624441285473367396874645788317589681124367095704697885663331620746648762818933688498793135382999801273741328357466092080848559392583874788395489784726548355300528972709816262639471776513516028884974026233700341125105504295535266533575103755816547890028985867280977940584495727718564939472834672823802628916677697909865573203806207791344662372944601760102842229133221107591719069699543767226158254635918469817449323590393769631127326802432520165498297444333840449883807147479347753736470056905967798186665811607734371357045816401193217045222379833958305022973518727583336206465513991815577988147507498391245647389298655573398637324075130391419087392909811133554868028598756064807381327890641193660556412948980423381718264181779568203035154068768228616952946074272704397239596879260638017118517003429442360978548946632832004601802576306998755886484686840876248528844316786606317958364636021592276821778 3031523850709064623767364378572984283131513530915203383066400277884215569414778790809829009776691693942895708912418891721099492896802652257426151010899631044311534718739267222573064992688990491984338085712427201881116488773021101671805833910568061476083678286459031228841618139828527736286533742258354708155887525672114331905236888279399392165536462999640398606069638661915476971377115145817978046893287280567096850294850099384054314792273329785754000997393971763296567772723711563912302025773782104435634785565800638002288332979402023103321207495557942417125528923314652586363045670152826143176447047744770448829010589494289355083649955178189980155525959385315178166239530973921651712107457872997392974241622216969406935386025495128079598071085846282456845448756383263885347990571212367091658653108393947853971978676605805820102522664156216278175540984833549335645101963526151330824476952489434350935294359851127658601500998723085956133834925284116432109429697955130511620727165716219946108565330457619689628499312638766666354099663423514254849016960492278678133506178030048900399255988390389195353628166821834612426435482077981364475326485554840163730294531333925934029462561438084578084850895212279589167226582164883491277148231205222775016711636747746597958621578911465055703944620250511417677722652997645884646723887764446122884687809146024674161979217176925759506193741076637595690274562079972373648797294262864325415309069723589546262703611852622835654805085174117521809230120085355771633469758735052175104865816760197545531887867384105157586108448431616761992231453958579672733723144453920827386615071506723083059292105972458990940858277966376656691274465609772667020414366351886496771102914873026229747395831138222865112856173699168213394102536467399435730110774521304272223053593470740759525364632630374743931553363677466509440131743113302853840109117910543179129234470998672029933988762845520737566358536804179390543195742380927112726842104947074445248325052297527211192297553310794015694609465708630153039099158776172788163548194627479662847763282529769106206213420035795805295498654657797362708111375398240084849498267748691823875660387295880659788741433104090395794747038097621989847956074613639132657657501184889595957959067652866518417048514565350603281056736913374771716077570953634634571266290908344128695950556545367201153800823292396511179421270929174940262014766338402753153617304976645864318767325519672488286996783673631967719482999616791827949577199278536705321928109051858304427037732566042744367182226715865925282869821442407474566466089089252820531553293797452418640771333189680099043418039969857588553435004958232585306646955744244636337963661282492804060652462697727152085856744447618018597457488295720254341968560863222128994020613247952542486293501167323046256053146982500494532775991509975347469870249921966337196314192149553540818125160157788820909925476180856217279410920165955227584688137955348941527721464041651749567513261374642656317895525067701210433902286774457576632809914612231891220662596984213750523802871997539057265002061555595218123011713034423819161667346393221687788532763791611743390372880566477874254256297207816653208118614961154792787729520842628349 4905108628153228578800086745894289267802658665876074214444582624926060268368564803167946014133831372627681624980716944222540012913568795296251087933243351201581853119007797792679377381672617074853401900101494769949185684946316929607226430471711075320195297849730007562774369267329096579383684938018416954117127492121312803910671029839289253336239894518328106794355404526322183511660041802117495524683948933435122784300789212920261769498433774483040538885338504051884274457494602395198308815031786203922207701521218642059539862258055267435429070795915571363508945842745989829351856840950135795184730437753077888836938452429028088804603090820779015793320906404159633379085774557856845815700169061589988588779735267670042440875375826615284408766435606754953851656772028842022837704072148543691253835532058173685007761523485078250132410169603582576295717836721016081091829630388097201219347425353743766898102194824472876564130433605724354291993976031764539244033946301770029885611815251789338518705017894956990851312403539607511926973576007788229316937920996643918431669377799456481075550620457366147876138867126543260416739862759063970552032975840534999243844910412921442247220332261581935588304594815163604017819276062712202981107093259774277743597159539600685690726931781436283744065386059669746317667225283326582990002693641665601585319079262563562229300599142573994058242803519063176593271905039148308365614896489929466558437254068473121507280988303262782980293040195724419185171697625357051685590086973636448069995226549032931602402730103708677950663373995698005837013443433744828137074309439808357418951539236683606857568517389222950615693937852483424859375042071244960472034377904053122371811122621907962440870907788553625708442343881660233934750699483417645270099635530729610619540824666825194578429059546530620632077300516458229772569379671452477836041620113047819086671165307362412454718305230521567962703404575774706426216029610018590697992465072160219918203833495470519452248123887316514176243421788001304821880862639061515307161348527306924357579457590283062531584042394664231506143644337066595576913951890550914302519797208779110026278668007585817341622795376476253244013053270951978530809045277242113871620632145774443291783140299701154089787453746377215057668216607572285365745742666598018195707576381711525570596344862956882278167918997094396842752891675823703080948454837195888536617106250387192676233417600521047679580658462027457504209547972092356922287015541176177098441625080743278453271432907167849871477761982399500386625637990297503552333370067193405027281012362391891475444156992309015721115949835430792359642796302894958251248715847086865471184768874211873760196229923885406721775214265067342187851257926847581144401081028720426438354453697836349633772848921059516312959114780687160344383725881332393286271443139011559576148150454576514336852743493995286423917291758844364786909311411602616883343711353986265602851855460739142477324394929510684916651589875082538324543480435013989581790337993950155402442165187248904592571100614492003339274765952834815002272351051542336165096788754200236735165595796213545966679879322364358941097173456345497524905221279113157423751113119450127 7936632478862293202567451124467273550934172196791277597510982902810275837783343593977775023910523066570577333893135835943639505810371447553677238944142982245893387837747065015252442374361607566837739985813921971830302173719338031279032264382279136796278976136189038791615987407157624315670218680276771662273015017793427135815907918118688645501776357517968505400425043188237660483037156947935473571577236214002219634595639312304316084290707104268794539882732475815180842230218313959110610840805568308357842487087019280061828195237457290538750278291473513780634474766060642415714902511102961938361177485497848337665949041923317443888253045998968995948846865789474811545325305531778497527807626934587381563021357484639449376261401321743364006837521453037410697105528412105908185694643360910782912488640452121538979740200090884070234932833759798854471258821554565416736931593914248532043824377843178117833396554675600535165631432328810310425828901315880971353463644256900541506338980968009284627270348352576680479811716178374178281073239431302484165954881488922596565175555829505381474806608847755343229767033948377872843175344837045335027359461395375162974139441746847376276682893699666513673155490027443193185045858227595694258255324464997052760308796287347283649348510692901339448010006310181163995389878280972467636726581406111724470006888408588236391279816319499753564436544595700772283546467119120682014412190752793791973746323792062667769984600155885618635098125369841940994401817710712823319059845708688623174861043309230477134290597487813835536771822427314767829244897392324500870797453893729184805566610743406689916860623361681941556552215818860081550649507681017627492448744255939619142914037494934192188266738926776490821298517580828447328853235950817081000210410052033882842594418137565954103793692176905364563630664193924739212701122784755331676150738023590998215905636306034442388707068076042305529061941379954096969411771990945703424834570019234665166528885792997730644545677198110529870852887496631457860980021415234303470709543154786587205342740120052168737797462430460036801642298994863958285025327288790999152018064957470933901939055303466477130364228480566649038760091368573968378765119890881246529278133330664039249742207952567672506835968311727818338724953520947057081823313620232652766973867290055654266546901408324083431968742289490908022174162604998643342963221175598641690234411227033056995000743120193535966577442135659425223692547588884184871864214819712882420369734132601582880309165473210594238659988698265425669495459432704978118799459156446225558834306159844310116215490181989114764533989805288380913077801261127543557895671591331501809148430156704677820848692621612558807631958712685360785308746222567835486369641891942555432375066945788892120066350088382562569012261763187654877159717391307740756141693060977896772462342604130055154977903651784107333842767939700582066320231577557844468031849309335207130573319502390892044837656304153341234547114942783748758445767209471566214600252606182046623104762171462655116373972612031060604276827508430033125284064085966155326764135147421924523698359587825289357052759888842233195353470664162150733023836240267950211480633962078476 12841741107015521781367537870361562818736830862667351811955565527736336106151908397145721038044354439198258958873852780166179518723940242849928326877386333447475240956754862807931819756034224641691141885915416741779487858665654960886258694853990212116474273985919046354390356674486720895053903618295188616390142509914739939726578947957977898838016252036296612194780447714559843994697198750052969096261185147437342418896428525224577853789140878751835078768070979867065116687712916354308919655837354512280050188608237922121368057495512557974179349087389085144143420608806632245066759352053097733545907923250926226502887494352345532692856136819748011742167772193634444924411080089635343343507795996177370151801092752309491817136777148358648415603957059792364548762300440947931023398715509454474166324172510295223987501723575962320367343003363381430766976658275581497828761224302345733263171803196921884731498749500073411729761865934534664717822877347645510597497590558670571391950796219798623145975366247533671331124119717981690208046815439090713482892802485566514996844933628961862550357229305121491105905901074921133259915207596109305579392437235910162217984352159768818523903225961248449261460084842606797202865134290307897239362417724771330503905955826947969340075442474337623192075392369850910313057103564299050626729275047777326055325967671151798620580415462073747622679348114763948876818372158268990380027087242723258532183577860535789277265588459148401615391165565566360179573515336069875004649932682325071244856269858263408736693327591522513487435196423012773666258340826069329007871763333537542224518149980090296774429140750904892172246153671343506410024549752262587964483122159992741514725160116842154629137646715330116529740861462488681263603935434234726270310045582763493462135242804391148682222751723435985195707964710382968985270502456207809512192358136638817302576801613396854843425373306563873491765345955728803395627801600964294122827035091394885084732719288468250096793801085427044047096309284632762682860884054295818777870891682093511562922197710335231269381504825124268307785943331930553861939279179341913454537862166250043928217723311052294471987023857042902282773144639525946909574165168123360400898765476438482541525348252268826596623422058105033396393170128519342447569056286830670962681443671767179837143246271280965710136661286585304864927054280822346423911676012794530226851517477420249671234160720714583646158100597686882727902095560976541794151230360889059518811359213344861333580598380378444110137750680664926056121097423002481671132829223639630586115318522236201591659647174298130485649939640719173272720597564022501809144387438418367280333199030916551581044922545497965529407172977752702973160004149415416630770722920662981870729520643625241753839199009442078881971376543874815221543443272640134042413136199989456348610493058706569491830647145779393757760059698544946853229542989160461351375560663321472733425174963130034522162051233664026151198704817866287082989247644485555796390590600132202025546927358711559708945073226523063943551593461264848127556415137508491491860923901622161258863955384038835323732639211206592136450644120507648257929057519381107635231747081528603 20778373585877814983934988994828836369671003059458629409466548430546611943935251991123496061954877505768836292766988616109819024534311690403605565821529315693368628794501927823184262130395832208528881871729338713609790032384992992165290959236269348912753250122108085146006344081644345210724122298571960278663157527708167075542486866076666544339792609554265117595205490902797504477734355697988442667838421361439562053492067837528893938079847983020629618650803455682245958917931230313419530496642922820637892675695257202183196252732969848512929627378862598924777895374867274660781661863156059671907085408748774564168836536275662976581109182818717007691014637983109256469736385621413840871315422930764751714822450236948941193398178470102012422441478512829775245867828853053839209093358870365257078812812962416762967241923666846390602275837123180285238235479830146914565692818216594265306996181040100002564895304175673946895393298263344975143651778663526481950961234815571112898289777187807907773245714600110351810935835896355868489120054870393197648847683974489111562020489458467244025163838152876834335672935023299006103090552433154640606751898631285325192123793906616194800586119660914962934615574870049990387910992517903591497617742189768383264214752114295252989423953167238962640085398680032074308446981845271518263455856453889050525332856079740035011860231781573501187115892710464721160364839277389672394439277995517050505929901652598457047250188615034020250489290935408301173975333046782698323709778391013694419717313167493885870983925079336349024207018850327541495503238218393829878669217227266727030084760723496986691289764112586833728798369490203587960674057433280215456931866415932360657639197611776346817404385642106607351039379043317128592457171385051807270520455634797376304729660941957102786016443900341349759338628904307708197971625240963141188343096160229815518482437919431297232132441382606179020827287335682900365039573591909997547661605110629550251261605081465980741339478283537573917949196781264220543840905469530122248580434836880098768264937830387400007178967255584305109428242326794512146964606468132912606555927123720977830156778614518771602351252337609551321533236008099915288339285059004606930176898807102521791267556204836499103459390369832851735118123649466399529392369907063323729655310961822834103690147679605049142105403576076212887101216885820989766874897188393171917085928704453306666234903840908119612735542733346307951594643149860726666015445180601941939181093345946444213889763853589038348797739378930351725616556855707459789932288380085856144949624682080511707875137356287245250183929446007554185798398825150045367040059029749869089481629187621229401893615167110524337039131690438063758468750371983252117140364812605537303104587589414133873905549097824641450983638307062470098703160663947874798554829260967353121072835662836624646808550797563501091602827638245528919549774566718305819407409972656679863998494465520926566999707537817367385745819760650035841435014853957122010990843206314248648651689530174214825319045838554124547828420969694881252840479223474646818625059049044085782562314971864124680785399100048825331804114784669798990952893759649057846712381043607079 33620114692893336765302526865190399188407833922125981221422113958282948050087160388269217099999231944967095251640841396275998543258251933253533892698915649140843869751256790631116081886430056850220023757644755455389277891050647953051549654090259561029227524108027131500396700756131066105778025916867148895053300037622907015269065814034644443177808861590561729789985938617357348472431554448041411764099606508876904472388496362753471791868988861772464697418874435549311075605644146667728450152480277332917942864303495124304564310228482406487108976466251684068921315983673906905848421215209157405452993331999700790671724030628008509273965319638465019433182410176743701394147465711049184214823218926942121866623542989258433010534955618460660838045435572622139794630129294001770232492074379819731245136985472711986954743647242808710969618840486561716005212138105728412394454042518939998570167984237021887296394053675747358625155164197879639861474656011171992548458825374241684290240573407606530919221080847644023142059955614337558697166870309483911131740486460055626558865423087429106575521067457998325441578836098220139363005760029263946186144335867195487410108146066385013324489345622163412196075659712656787590776126808211488736980159914539713768120707941243222329499395641576585832160791049882984621504085409570568890185131501666376580658823750891833632440647243647248809795240825228670037183211435658662774466365238240309038113479513134246324515777074182421865880456500974661353548848382852573328359711073338765664573583025757294607677252670858862511642215273340315161761579044463158886540980560804269254602910703587283465718904863491725901044523161547094370698607185542803421414988575925102172364357728618501446542032357436723880780240505805809856061106819286533540830501217560869766864903746348251468239195623777334955046593614690677183242127697170950700535454296868632821059239532828152075557814689170052512592633291411703760667375192874291670488640202024435335994324369934230838133279368964617965045506065896983226701789523825941026451326518973610331187135540722631276560472080708573417214185658725066008903885647474826061093789289971021758374501925571066074338276194652453604306380647625862197913450227127967331075664283541004332792904457105325700082812427937885131511293777985741976961426193893994692336754633590013940833393950886014852242064862661517752028271166643336190786573201187702143937446181873556337469064561622703258893643331033190679496738710837268460166675541491001457992452559291305547470362233967482458935490059595277781737654278709941461065117603725486731064943204316713299534784530585375735833869086726727458518996389172547176184446468168236369814828218537780982938537712608489866446304668190766731628754521398668747911087733268519173834108233039375627744748107266720332955014850937285320246603936588008840967965460956809469683328721543194138639197943342894849362887336790475772779317555878767170782970635978152597423669428650961089161758771481393536944524578516322924424262498442677807381433806446450674198616888885774534264119065077188491380014430959729380396894360983138310485982950666247041426270355902960004518038311255417468254758905177447248881951279030165481944128125135682 54398488278771151749237515860019235558078836981584610630888662388829559994022412379392713161954109450735931544407830012385817567792563623657139458520444964834212498545758718454300344016825889058748905629374094168999067923435640945216840613326528909941980774230135216646403044837775411316502148215439109173716457565331074090811552680111310987517601471144826847385191429520154852950165910146029854431938027870316466525880564200282365729948836844793094316069677891231557034523575376981147980649123200153555835539998752326487760562961452255000038603845114282993699211358541181566630083078365217077360078740748475354840560566903671485855074502457182027124197048159852957863883851332463025086138641857706873581445993226207374203933134088562673260486914085451915040497958147055609441585433250184988323949798435128749921985570909655101571894677609742001243447617935875326960146860735534263877164165277121889861289357851421305520548462461224615005126434674698474499420060189812797188530350595414438692466795447754374952995791510693427186286925179877108780588170434544738120885912545896350600684905610875159777251771121519145466096312462418586792896234498480812602231939973001208125075465283078375130691234582706777978687119326115080234597902104308097032335460055538475318923348808815548472246189729915058929951067254842087153640987955555427105991679830631868644300879025220749996911133535693391197548050713048335168905643233757359544043381165732703371765965689216442116369747436382962527524181429635271652069489464352460084290896193251180478661177750195211535849234123667856657264817262856988765210197788070996284687671427084270157008668976078559629842892651750682331372664618823018878346854991857462830003555340394848263946417999543331231819619549122938448518278204338340811350956852358246071594564688305354254255639524118684714385222518998385381213752938134091888878550457098448339541677452259449307690256071776231533419920627094604125706948784784289218150245312653985587255929451400211579472757652502191882994702847161203770542694993356063275031761355853709099452073371110031283739439336292878526642427985519578155868492115607738667649716413691999588531280540089837676689528532262004925839616655725777486252735286132574261252563090643526124060460661941824803542202797770736866629417427452141506353796100957318421992065595412848044523541630491063994347468438737730639129488052464325957661470389580874061023374886326863003703968402530822871629186064379498631091381860697995126182120722092943397173545905237749761360126087556520807733229438525629507354211134417401250997405983811342876014567886397225007409921886872620986017798532734281644317395214322592543224505497918105459296457406159010384832152879719014203485436358628830490097504893381920865051452545874056476938695822453509501650297205091361783938653157999755418949764600535883639522794721924162590756164384379818785447748740906395940965714975036004692329092122597072990190380608634832461422163894171887656161466309298760922690344339166358765859277352399799818372277012760699322850306419059989359583164903631313039208435400654610633237373584457785129111041999710332823988585327767084685303437411304242800058873689847246239834845038679223328656509168742761 88018602971664488514540042725209634746486670903710591852310776347112508044109572767661930261953341395703026796048671408661816111050815556910673351219360613975056368297015509085416425903255945908968929387018849624388345814486288898268390267416788470971208298338162348146799745593906477422280174132306258068769757602953981106080618494145955430695410332735388577175177368137512201422597464594071266196037634379193370998269060563035837521817825706565559013488552326780868110129219523648876430801603477486473778404302247450792324873189934661487147580311365967062620527342215088472478504293574374482813072072748176145512284597531679995129039822095647046557379458336596659258031317043512209300961860784648995448069536215465807214468089707023334098532349658074054835128087441057379674077507630004719569086783907840736876729218152463812541513518096303717248659756041603739354600903254474262447332149514143777157683411527168664145703626659104254866601090685870467047878885564054481478770924003020969611687876295398398095055747125030985883453795489361019912328656894600364679751335633325457176205973068873485218830607219739284829102072491682532979040570365676300012340086039386221449564810905241787326766894295363565569463246134326568971578062018847810800456167996781697648422744450392134304406980779798043551455152664412656043826119457221803686650503581523702276741526268867998806706374360922061234731262148706997943372008471997668582156860678866949696281742763398863982250203937357623881073029812487844980429200537691225748864479219008475086338430421054074047491449397008171819026396307320147651751178348875265539290582130671553622727573839570285530887415813297776702071271804365822299761843567782565002367913069013349710488450356980055112599860054928748304579385023624874352181458069919115838459468434653605722494835147896019669431816133689062564455880635305042589414004753967081160600916985087601383248070760946284046012553918506307886374323977658580888638885514678420923250253821334442417606037021466809848040208913058186997244484517182004301483087874827319430639208911832662560299911417001451943856613644244644164772377763082564728743505703663021346905782465660903751027804726914458530145997303351639684166185513260541592328227374184530456853365119047150503625015225708621998140711205437883483315222294851313114328820229002861985356935581377078846589533301399248391157759219107662148448043590768576204960821068200419341173032964153526130522829395412689310588120571535263586348796263583944855165998464529055308830488321524003266668719498120907289091865413127342712062523587536829607079511090713938306944706417457996721851667619461009102836391603495139719408951966086341829111285624696791367770690592327504069931741026819597221726259414780589612962540279142575650772804055492885129395045312358082116893668008937040739196368537123892480490760182880972060439493105923012924086946684249290790328602311826480465108409678475840160973351244612985058845833322822848745323225080780154459634868917682681690283539850842477625753710819207149997048923307945763893847283968708501530588449831614340013634267945440923439597024950376579865414855683670044689821475722559660268313632595024693488716796317709388810600637293878443 142417091250435640263777558585228870304565507885295202483199438735942068038131985147054643423907450846438958340456501421047633678843379180567812809739805578809268866842774227539716769920081834967717835016392943793387413737921929843485230880743317380913189072568297564793202790431681888738782322347745367242486215168285055196892171174257266418213011803880215424560368797657667054372763374740101120627975662249509837524149624763318203251766662551358653329558230218012425144652794900630024411450726677640029613944300999777280085436151386916487186184156480250056319738700756270039108587371939591560173150813496651500352845164435351480984114324552829073681576506496449617121915168375975234387100502642355869029515529441673181418401223795586007359019263743525969875626045588112989115662940880189707893036582342969486798714789062118914113408195706045718492107373977479066314747763990008526324496314791265667018972769378589969666252089120328869871727525360568941547298945753867278667301274598435408304154671743152773048051538635724413069740720669238128692916827329145102800637248179221807776890878679748644996082378341258430295198384954101119771936804864157112614572026012387429574640276188320162457458128878070343548150365460441649206175964123155907832791628052320172967346093259207682776653170509713102481406219919254743197467107412777230792642183412155570921042405294088748803617507896615452432279312861755333112277651705755028126200241844599653068047708452615306098619951373740586408597211242123116632498690002043685833155375412259655564999608171249285583340683520676028476291213570177136416961376136946261823978253557755823779736242815648845160730308465048459033443936423188841178108698559640027832371468409408197974434868356523386344419479604051686753097663227963215163532414922277361910054033122958959976750474672014704383817038652687447945669633573439134478292555211065529500142594437347050690938326832722515579432474545600912012081272762442870106789130827332406510506183272734653997078794673969001731034911760219390767787179510538067576514849230681028530091282282942693844039350753294330470499041629764222320640869878690303396393222117355020935437063005750741427717333259176463455985613959077417170418920799393115853580790464828056580913825780988975307167218023479358864770128632890024989669018395808631536320885824415710029880477211868142840937001740136979030287247271571988106109513980349450265984195954527282344877001366684349002152015459792187941679502432233258712530916985676888252339544369766805070190614409080524074401948936646536796446076547544743963059929571348172483094078977111163314354628304330617707869466152195290747153786817817732262633457464004447288407743030855801752602843472046518273417177385448427711823764308162510478013992825016632127711499877946394631045342517449443900832321166936796158146133137659776120013554904805134651195657490302831709534695425155686731294317286862485157437501801072913151163731853247817520267997216994736401484691390078915382325213256849040456142817203242277444125987831967849319899229727005753253430448872339814569796885232268950646871641529898708568708066950086912689403441011437129375124913133863903068372506284871939728551641356388612139257146462621204 230435694222100128778317601310438505051052178789005794335510215083054576082241557914716573685860792242141985136505172829709449789894194737478486160959166192784325235139789736625133195823337780876686764403411793417775759552408218741753621148160105851884397370906459912940002536025588366161062496480051625311255972771239036302972789668403221848908422136615604001735546165795179255795360839334172386824013296628703208522418685326354040773584488257924212343046782544793293254782014424278900842252330155126503392348603247228072410309341321577974333764467846217118940266042971358511587091665513966042986222886244827645865129761967031476113154146648476120238955964833046276379946485419487443688062363427004864477585065657138988632869313502609341457551613401600024710754133029170368789740448510194427462123366250810223675444007214582726654921713802349435740767130019082805669348667244482788771828464305409444176656180905758633811955715779433124738328616046439408595177831317921760146072198601456377915842548038551171143107285760755398953194516158599148605245484223745467480388583812547264953096851748622130214912985560997715124300457445783652750977375229833412626912112051773651024205087093561949784225023173433909117613611594768218177754026142003718633247796049101870615768837709599817081060151289511146032861372583667399241293226869999034479292686993679273197783931562956747610323882257537513667010575010462331055649660177752696708357102523466602764329451216014170080870155311098210289670241054610961612927890539734911582019854631268130651338038592303359630832132917684200295317609877497284068712554485821527363268835688427377402463816655219130691617724278346235735515208227554663477870542127422592834739381478421547684923318713503441457019339658980435057677048251588089515713872992196477748513501557612565699245309819910724053248854786376510510125514208744177067706559965032610660743511422434652074186397593668799625445028464107219898455596740101450995428016342010827433756437094069096414684831695435811579075120673277577765031664027720071877997937105508347960730491194775356404339262170295782414355655274008866485413247641772868125136727821018042282342845471411645178745137986090921986131611262429056854585106312653657445909017839012587037767190900036125810792233249187980862910839838327908472984240690659944650649706053418572015237412793245221687526535041536227421445006490679650254557557571118026470945017022727701686050034330837875132674844855204877252267623003768522298879713249260833107505542834295860379021102730604527341070668434767444085537941960672086675122453158885002090173590067825101621299334721788614429721133771656299849990178421312871982042409430090789117519028655552593120373534064374022343348918412268024933550023722943100090976533104159207778484303933439279760440387829807526017725989175873836897342501674783668600504315087686106711635150596225844633621642109404977521622919598688965622545911479548753312137083097860802579113830539817585146807916470859069841960082174531722146426357054084755069879698651174999316948153034951517147277732841048316100385335063883290660505909475339632008305091900463492554818296695107174064946388856423563336686138879896633217268437674098000949857783756499647 372852785472535769042095159895667375355617686674300996818709653818996644120373543061771217109768243088580943476961674250757083468737573918046298970698971771593594101982563964164849965743419615844404599419804737211163173290330148585238852028903423232797586443474757477733205326457270254899844818827796992553742187939524091499864960842660488267121433940495819426295914963452846310168124214074273507451988958878213046046568310089672244025351150809282865672605012762805718399434809324908925253703056832766533006292904247005352495745492708494461519948624326467175260004743727628550695679037453557603159373699741479146217974926402382957097268471201305193920532471329495893501861653795462678075162866069360733507100595098812170051270537298195348816570877145125994586380178617283357905403389390384135355159948593779710474158796276701640768329909508395154232874503996561871984096431234491315096324779096675111195628950284348603478207804899761994610056141407008350142476777071789038813373473199891786219997219781703944191158824396479812022935236827837277298162311552890570281025831991769072729987730428370775210995363902256145419498842399884772522914180093990525241484138064161080598845363281882112241683152051504252665763977055209867383929990265159626466039424101422043583114930968807499857713321799224248514267592502922142438760334282776265271934870405834844118826336857045496413941390154152966099289887872217664167927311883507724834557344368066255832377159668629476179490106684838796698267452296734078245426580541778597415175230043527786216337646763552645214172816438360228771608823447674420485673930622767789187247089246183201182200059470867975852348032743394694768959144650743504655979240687062620667110849887829745659358187070026827801438819263032121810774711479551304679246287914473839658567534680571525675995784491925428437065893439063958455795147782183311545999115176098140160886105859781702765124724426391315204877503009708131910536869502544321102217147169343233944262620366803750411763626369404813310110032433496968532818843538258139454512786336189376490821773477718050248378612923590112884854696903773088806054117520463171521529949938373063217779908477162386606462471245267385442117225221506474025004027112046773299489808303840643618681016681025101117959451272667339727680968471217933462653259086468576186970591877834282045117890005113364528463536781673206451732253762251638360667071551467476736929212977254984030927035697522224134826860314997065193947125436001781011410630234937721359845087204062665449211717139685051415472617371413980881984018508216830638182382730233174573267669044936264935653963026119232137590599923851590597143965239130604244675866894095236405926771686408394872976377536420540616766095797716452645373788031105610568990525929175839906195803811385674391485730347256969918558310342810633055488634812443444720517869992491241362830808086528676343156337534560664252917236885551450779983413280621666463300814951108620099381827756812321548292607860937985224285295431380762602569174257327032514005686483142848636847382761957270400708181713388130670182220296152241307377551005238340577013158850550405244221737706544303440071301990287466405058645164768572945820079030486613089114930219120851 603288479694635897820412761206105880406669865463306791154219868902051220202615100976487790795629035330722928613466847080466533258631768655524785131658137964377919337122353700789983161566757396721091363823216530628938932842738367326992473177063529084681983814381217390673207862482858621060907315307848617864998160710763127802837750511063710116029856077111423428031461129248025565963485053408445894276002255506916254568986995416026284798935639067207078015651795307599011654216823749187826095955386987893036398641507494233424906054834030072435853713092172684294200270786698987062282770702967523646145596585986306792083104688369414433210422617849781314159488436162542169881808139214950121763225229496365597984685660755951158684139850800804690274122490546726019297134311646453726695143837900578562817283314844589934149602803491284367423251623310744589973641634015644677653445098478974103868153243402084555372285131190107237290163520679195119348384757453447758737654608389710798959445671801348164135839767820255115334266110157235210976129752986436425903407795776636037761414415804316337683084582176992905425908349463253860543799299845668425273891555323823937868396250115934731623050450375444062025908175224938161783377588649978085561684016407163345099287220150523914198883768678407316938773473088735394547128965086589541680053561152775299751227557399514117316610268420002244024265272411690479766300462882679995223576972061260421542914446891532858596706610884643646260360261995937006987937693351345039858354471081513508997195084674795916867675685355856004845004949356044429066926433325171704554386485108589316550515924934610578584663876126087106543965757021740930504474352878298168133849782814485213501850231366251293344281505783530269258458158922012556868451759731139394194960160906670317407081036238184091375241094311836152490314748225440468965920661990927488613705675141130750821629617282216354839311122020060114830322531473815351808992466242645772097645163511354061378019057460872846826448458064840624889185153106774546297850507565978211332510723441697724451552264672493406652717875093885895299210352177781955291467365162236039646666677759391105500122753948574031785207609231358307428248836483935530879589133424700430745398826142853230656448207581061226928751684521855320590591808309545841935637499777128520837620297931252854060355302798358586215990071823209433873177260252931288615224629122585503207874229999982685716977070028360099267501705170201942446214748439770303310290343484198554467350630038358525828232819870289578756543285806181424967521960468888917313304835889118176663441259112761366556953297747907846567311733695507890447134143660443476226718276324186025523445800341960987993349911600794562960115014209984477578923811754048710659967059033335047684680107744824954151926118177064495936284299518684469952831136487227113321022185080177348074465958682754520976777979643965641774540156484240416402529324760170419775437898048969422678495658296629906695100524331797055066245377605912484748995531311411787583885385134317847953795535796908787547985914554436446770567555360035531967883460480577972585318250751013897799040034401651477505017690846711029741744784044665206163088516704584614038972713975620498 976141265167171666862507921101773255762287552137607787972929522721047864322988644038259007905397278419303872090428521331223616727369342573571084102357109735971513439104917664954833127310177012565495963243021267840102106133068515912231325205966952317479570257855974868406413188940128875960752134135645610418740348650287219302702711353724198383151290017607242854327376092700871876131609267482719401727991214385129300615555305505698528824286789876489943688256808070404730053651633074096751349658443820659569404934411741238777401800326738566897373661716499151469460275530426615612978449740421081249304970285727785938301079614771797390307691089051086508080020907492038063383669793010412799838388095565726331491786255854763328735410388099000039090693367691852013883514490263737084600547227290962698172443263438369644623761599767986008191581532819139744206516138012206549637541529713465418964478022498759666567914081474455840768371325578957113958440898860456108880131385461499837772819145001239950355836987601959059525424934553715022999064989814273703201570107329526608042440247796085410413072312605363680636903713365510005963298142245553197796805735417814463109880388180095812221895813657326174267591327276442414449141565705187952945614006672322971565326644251945957781998699647214816796486794887959643061396557589511684118813895435551565023162427805348961435436605277047740438206662565843445865590350754897659391504283944768146377471791259599114429083770553273122439850368680775803686205145648079118103781051623292106412370314718323703084013332119408650059177765794404657838535256772846125040060415731357105737763014180793779766863935596955082396313789765135625273433497529041672789829023501547834168961081254081039003639692853557097059896978185044678679226471210690698874206448821144157065648570918755617051236878803761580927380641664504427421715809773110800159704790317228890982515723141998057604435846446451430035200034483523483719529335745190093199862310680697295322281677827676597238212084434245438199295185540271514830669351104236350787023509777887100942374038150211456901096488017476008184065049081555044097521482682699211168196627697764168717902662425736418391670080476625692870366061705442004904593160536747204044888634446693874275129224262086328046711135794522660318272776780763775398290758863597097024590889809087136105473192803471950744453608604882640324909514015182926975891700674052979944803442977237669747904105725882323402328565485199007640161873875772084321700973719136275827195717242421191277444537009974630172015903177595405849505978977105747951487218619351351236708928157697631492607260774027078704902333619359481044278108899574080471394143218281261929372572028369382866326289137215103576881110007700930224297599785154321228957584962510887590875911556210628543411848524321465854842609861495103008319771299670558041540055072668589437296766769283197319934317178526306027457393369791867182512738040792086238738713000078042777877486053442228243393132192735040290530673037293247351564705568738820097891071617460696590642918558866057948694096267824577440749775656187773275261011485816313162331409601564303043261772108195780945088992836998496146803429209433779108908595735071227128087644194741349 1579429744861807564682920682307879136168957417600914579127149391623099084525603745014746798701026313750026800703895368411690149986001111229095869234015247700349432776227271365744816288876934409286587327066237798469041038975806883239223798383030481402161554072237192259079621051422987497021659449443494228283738509361050347105540461864787908499181146094718666282358837221948897442095094320891165296003993469892045555184542300921724813623222428943697021703908603378003741707868456823284577445613830808552605803575919235472202307855160768639333227374808671835763660546317125602675261220443388604895450566871714092730384184303141211823518113706900867822239509343654580233265477932225362921601613325062091929476471916610714487419550238899804729364815858238578033180648801910190811295691065191541260989726578282959578773364403259270375614833156129884334180157772027851227290986628192439522832631265900844221940199212664563078058534846258152233306825656313903867617785993851210636732264816802588114491676755422214174859691044710950233975194742800710129104977903106162645803854663600401748096156894782356586062812062828763866507097442091221623070697290741638400978276638296030543844946264032770236293499502501380576232519154355166038507298023079486316664613864402469871980882468325622133735260267976695037608525522676101225798867456588326864774389985204863078752046873697049984462471934977533925631890813637577654615081256006028567920386238151131973025790381437916768700210630676712810674142838999424157962135522704805615409565399393119619951689017475264654904182715150449086905461690098017829594446900839946422288278939115404358351527811723042188940279546786876555777907850407339840923678806316033047670811312620332332347921198637087366318355137107057235547678230941830093069166609727814474472729607156939708426477973115597733417695389889944896387636471764038288773410465458359641804145340424214412443746968466511544865522565957338835528521801987835865297507474192051356700300735288549444064660542499086063088480338647046061128519858670214562119534233219584825393926302822704863553814363111361903483275401259336999388988847844935250814863305457155274218025416374310450176877689707984000298614898189377535784182293961447634790287460589547104931577431843147554975462820316377980908864585090309617333928258640725617862211187740339990165828495601830536960443680428092074198086774268114215591116329796638483152677672977220355464881175754242422669830270655400950086376622315542387631991317203334830294546347280779717105677356880264208928559188983776830817027939445994665264792054508469527900150187270458998049560558521934925272214067314867371491412252560017556698112419542467287452818372370330370859676200738009666536996124217685407803221411539203031888924643995845935275556019301035582695337966701385961791126909380179572961150907786897671362562240152845937511762725452037718296712296822491947801997549854032283585042062800962506014176611049047465456373144350072134938493656524532095356776050643205732100560236880150607681776456751778544544438454355774845496680010822261024211317331016223305243144471966394285747649660352578200842301806509847258450106683683709525888548213254098985271997112439655841167060358170361847 2555571010028979231545428603409652391931244969738522367100078914344146948848592389053005806606423592169330672794323889742913766713370453802666953336372357436320946215332189030699649416187111421852083290309259066309143145108875399151455123588997433719641124330093167127486034240363116372982411583579139838702478858011337566408243173218512106882332436112325909136686213314649769318226703588373884697731984684277174855800097606427423342447509218820186965392165411448408471761520089897381328795272274629212175208510330976710979709655487507206230601036525170987233120821847552218288239670183809686144755537157441878668685263917913009213825804795951954330319530251146618296649147725235775721440001420627818260968258172465477816154960626998804768455509225930430047064163292173927895896238292482503959162169841721329223397126003027256383806414688949024078386673910040057776928528157905904941797109288399603888508113294139018918826906171837109347265266555174359976497917379312710474505083961803828064847513743024173234385115979264665256974259732614983832306548010435689253846294911396487158509229207387720266699715776194273872470395584336774820867503026159452864088157026476126356066842077690096410561090829777822990681660720060353991452912029751809288229940508654415829762881167972836950531747062864654680669922080265612909917681352023878429797552413010212040187483478974097724900678597543377371497481164392475314006585539950796714297858029410731087454874151991189891140060999357488614360347984647503276065916574328097721821935714111443323035702349594673304963360480944853744743996946870863954634507316571303528026041953296198138118391747319997271336593336552012181051341347936381513713507829817580881839772393874413371351560891490644463378252115292101914226904702152520791943373058548958631538378178075695325477714851919359314345076031554449323809352281537149088933115255775588532786661063566212470048182814912962974900722600440862319248051137733025958497369784872748652022582413116226041302872626933331501287775524187317575959189209774450912906557742997471926336300340972916320454910851128837911667340450340892043486510330527634461983059933154919442935928078800046868568547770184609693168980959894819540688775454498194838835176095036240979206706656105233883022173956110900641227137361871073392732219017504322714886802077549427126271301688405302487704897289032974714522996288283297142567008030470691463097481115954458025212785281480124746072158836140599957726538496191314471953692290922471106121742064523200908383121893890238839100575092161372236666533918423100413216279273127820879136859115428156629542167819295962003977116400934226852535690361459591637169506562760748549382190944398699753726002489875224770113877234225386338027519011324357353117882228958356822866431930857246211238749815225707427645969519241674675969470679086568229404102295225514526949059492221320915616646614001018253829454943223824150767554800841754592252915324049125508234250630403514363181886788717267135647306723680498979452124942448889427779667528369239241135081372914640903445374107090085601652067106672411078518405483452210598909981069954142503885563578618043039395195676520708022035351642463532764380905708174727068295148002365103196 4135000754890786796228349285717531528100202387339436946227228305967246033374196134067752605307449905919357473498219258154603916699371565031762822570387605136670378991559460396444465705064045831138670617375496864778184184084682282390678921972027915121802678402330359386565655291786103870004071033022634066986217367372387913513783635083300015381513582207044575419045050536598666760321797909265049993735978154169220410984639907349148156070731647763883987096074014826412213469388546720665906240886105437764781012086250212183182017510648275845563828411333842822996781368164677820963500890627198291040206104029155971399069448221054221037343918502852822152559039594801198529914625657461138643041614745689910190444730089076192303574510865898609497820325084169008080244812094084118707191929357674045220151896420004288802170490406286526759421247845078908412566831682067909004219514786098344464629740554300448110448312506803581996885441018095261580572092211488263844115703373163921111237348778606416179339190498446387409244807023975615490949454475415693961411525913541851899650149574996888906605386102170076852762527839023037738977493026427996443938200316901091265066433664772156899911788341722866646854590332279203566914179874415520029960210052831295604894554373056885701743763636298459084267007330841349718278447602941714135716548808612205294571942398215075118939530352671147709363150532520911297129371978030052968621666795956825282218244267561863060480664533429106659840271630034201425034490823646927434028052097032903337231501113504562942987391367069937959867543196095302831649458636968881784228954217411249950314320892411602496469919559043039460276872883338888736829249198343721354637186636133613929510583706494745703699482090127731829696607252399159149774582933094350885012539668276773106011107785232635033904192825034957047762771421444394220196988753301187377706525721233948174590806403990426882491929783379474519766245166398201154776572939720861823794877259064800008722883148404775485367533169432417564376255862834363637087709068444665475026091976217056751730226643795621184008725214240199815150615851600229042875499178372569712797923238612074717153953495174357318745425459892593693467595858084197076472957748459642473625463555625788084138284087948381437997636776427278622136001946961383010066147276145048332749013265289767116437130184007133024665340969461066788721083062551411358158124360267329946250158788931678380677666457234367168741989106796000907812915118506856859585683608125805936416288411803980625488799250770503048029134281145149067483561857869095078481071327636290407037009302698615627591728377817896929249330468249094224027102614019609193867618982303215836835009316769030124585678690613234436650873358443071745830740422863560385006806872954202758141987950158281793934087781927093389437096428621854248930621586873465900766664535378360464460822217673358633913358910823510201631452493077856434352596863642717098267091935098172973690623774753586498120380445241799231004082774323704711552685179329040035461443985121017785679519827270415748942054117912346625863384437688634383761549955418604884657630730306720704727865385127890297845302360204417547923899855717631749652902820614382909462208360535465043 6690571764919766027773777889127183920031447357077959313327307220311392982222788523120758411913873498088688146292543147897517683412742018834429775906759962572991325206891649427144115121251157252990753907684755931087327329193557681542134045561025348841443802732423526514051689532149220242986482616601773905688696225383725479922026808301812122263846018319370484555731263851248436078548501497638934691467962838446395266784737513776571498518240866584070952488239426274820685230908636618047235036158380066976956220596581188894161727166135783051794429447859013810229902190012230039251740560811007977184961641186597850067754712138967230251169723298804776482878569845947816826563773382696914364481616166317728451412988261541670119729471492897414266275834310099438127308975386258046603088167650156549179314066261725618025567616409313783143227662534027932490953505592107966781148042944004249406426849842700051998956425800942600915712347189932370927837358766662623820613620752476631585742432740410244244186704241470560643629923003240280747923714208030677793718073923977541153496444486393376065114615309557797119462243615217311611447888610764771264805703343060544129154590691248283255978630419412963057415681162057026557595840594475874021413122082583104893124494881711301531506644804271296034798754393706004398948369683207327045634230160636083724369494811225287159127013831645245434263829130064288668626853142422528282628252335907621996516102296972594147935538685420296550980332629391690039394838808294430710093968671361001059053436827616006266023093716664611264830903677040156576393455583839745738863461533982553478340362845707800634588311306363036731613466219890900917880590546280102868350694465951194811350356100369159075051042981618376293074859367691261064001487635246871676955912726825731737549485963308330359381907676954316362107847452998843544006341034838336466639640977009536707377467467556639352540112598292437494666967766839063474024624077453887782292247043937548660745465561521001526670405796365749065664031387021681213046898278219116387932649719214528678066526984768537504463636065369037726817956301941121086362009508900204174780983171766994160089881573974404187313973230077203386636576817979016617161733202957837312460639650662029063344990744053615321019810732538179263363139308832456402798366293649371047635815342839194242708431872412435512370238258494041503244079350834708500725132390738021409347639904886136405890451738714491914814147942936600865539453614698171331539375899048277042538030476327181533871921144660741887129709373306521304150095776292195491697350600764111286173868418126772257133896197113858933226446869183321076562792975479200831037125545063964386217200261167729878311681180488459206764750592668458083858259434187917738124689101912559581008419881015528005172837597152800817083065947863528924900092265960034130170766830603874991409881709894679549530005524824528455460907436301680585120151664484471690520007259147298481924874405157100861302267233959066366651389498004203691004810121777929463241111513490257026814601200185056652387428225002432227515451544361045462279955438870815483567611800260863208613428963745933337240498036725125569959251498181164514033808528789109977757356362900568239 10825572519810552824002127174844715448131649744417396259554535526278639015596984657188511017221323404008045619790762406052121600112113583866192598477147567709661704198451109823588580826315203084129424525060252795865511513278239963932812967533053263963246481134753885900617344823935324112990553649624407972674913592756113393435810443385112137645359600526415059974776314387847102838870299406903984685203940992615615677769377421125719654588972514347954939584313441101232898700297183338713141277044485504741737232682831401077343744676784058897358257859192856633226683558176907860215241451438206268225167745215753821466824160360021451288513641801657598635437609440749015356478399040158053007523230912007638641857718350617862423303982358796023764096159394268446207553787480342165310280097007830594399465962681729906827738106815600309902648910379106840903520337274175875785367557730102593871056590397000500109404738307746182912597788208027632508409450978150887664729324125640552696979781519016660423525894739916948052874730027215896238873168683446371755129599837519393053146594061390264971720001411727873972224771454240349350425381637192767708743903659961635394221024356020440155890418761135829704270271494336230124510020468891394051373332135414400498019049254768187233250408440569755119065761724547354117226817286149041181350778969248289018941437209440362278066544184316393143626979662585199965756225120452581251249919131864447278734346564534457208416203218849403210820604259425891464429329631941358144122020768393904396284937941120569209010485083734549224698446873135459408042914220808627523092415751393803428654683738119403131058230865406076191890339103229789654709839744623824222987881102084808740860939806863904778750525071746108122771466620090420213776070568341222561968452395102504843560593748540965393286100501989273409870618874443237764203329788139523844346166698243484881968273871547066235032042381671912014433212933237264628801197017174749606087124303002348669468348709925777012037938965798166630040287249856044850134607346663781862958741695431585429796753628564158688472361279609237541968572153541350129237508687272773887578906410379068877243835069148761506059398689969797080104172676063213693634690951417479786086103206287817147483274832001996759017447508965457885499141255793839412864513569794419380384828608128961359145562056419568537035579227955108291965162413386119858883256751005351355597798693817814786568118195948859083556137049732601773352368733205028191125059507174082978954318888131162159360720395431244935158843654451670371633657634161290570178421928400401693210877720825387884725624574931755862475777337432415300589895589498810024904744527367180223052209577936760002897359871101693643415623951111529829688999857051478123131495974866762339150407831173809799106925379079894206520162376485383173830713852833500030937431365982235455870703927568038183443364435648038657092359929379537019472748528127188788787099194245471455615498179910687359422647679200865597655472272327908402557495301106969498702555498611274812494121027455472401329482342914778853378835982049679846041505394289420368225242530567583913341294348873823635085800396929543117883151353898796263686711349403492887219564723436033282 17516144284730318851775905063971899368163097101495355572881842746590031997819773180309269429135196902096733766083305553949639283524855602700622374383907530282653029405342759250732695947566360337120178432745008726952838842471797645474947013094078612804690283867177412414669034356084544355977036266226181878363609818139838873357837251686924259909205618845785544530507578239095538917418800904542919376671903831062010944554114934902291153107213380932025892072552867376053583931205819956760376313202865571718693453279412589971505471842919841949152687307051870443456585748189137899466982012249214245410129386402351671534578872498988681539683365100462375118316179286696832183042172422854967372004847078325367093270706612159532543033453851693438030371993704367884334862762866600211913368264657987143578780028943455524853305723224914093045876572913134773394473842866283842566515600674106843277483440239700552108361164108688783828310135397960003436246809744813511485342944878117184282722214259426904667712598981387508696504653030456176986796882891477049548847673761496934206643038547783641036834616721285671091687015069457660961873270247957538973549607003022179523375615047268723411869049180548792761685952656393256682105861063367268072786454217997505391143544136479488764757053244841051153864516118253358516175186969356368226985009129884372743310932020665649437193558015961638577890808792649488634383078262875109533878171467772069275250448861507051356351741904269699761800936888817581503824168440235788854215989439754905455338374768736575475033578800399160489529350550175615984436369804648373261955877285376356906995046583827203765646542171769112923503805323120690572590430290903927091338575568036003552211295907233063853801568053364484415846325987781681277777558203588094238924365121928236581110079711849295752668008178943589771978466327442081308209670822977860310985807675253021589345741339103705587572154979964349509100180700076328102825821094628637388379371346939897330213814271446778538708344762163915695704318636877726063181505624882898250891391414646114107863280613332696192935997344978275268786528455482471215599518196172978062359889582146063037333716643123165693373371920047000466740749494042230310796424154375317098546742856949846210828265576055612080037258241503637148862280564626295815662879863443790428020643950968155601853993928832004049405817486449149795209241764220828359608389141743372764945438598703951192458569934663350998370284992669202638891822347903199522664435406222360021492349364458343693232641540091986822288553027758191675783753410453486061875772529164512979384746138952160141859520772045614795702224206615736377152688564978010855941870072431144609269409839104489881209041051590152850180374543779987913547259291239395861256185076779321920158827712189337804279762976232695023603228324348912098730806118793534161108198196586110447280585637462717732973369960472567112553267365681217604592900192611660479307106453392769937540372585067788220724914913159931964306861770332112093562305422884898961943667012101531839308722227640529053716910567917211080894287526410725308321460833160235851792854330828447121954723312619756972326298433654668687842402852079960777720519878192602864976921086336601521 28341716804540871675778032238816614816294746845912751832436378272868671013416757837497780446356520306104779385874067960001760883636969186566814972861055097992314733603793869074321276773881563421249602957805261522818350355750037609407759980627131876767936765001931298315286379180019868468967589915850589851038523410895952266793647695072036397554565219372200604505283892626942641756289100311446904061875844823677626622323492356028010807696185895279980831656866308477286482631503003295473517590247351076460430685962243991048849216519703900846510945166244727076683269306366045759682223463687420513635297131618105493001403032859010132828197006902119973753753788727445847539520571463013020379528077990333005735128424962777394966337436210489461794468153098636330542416550346942377223648361665817737978245991625185431681043830040514402948525483292241614297994180140459718351883158404209437148540030636701052217765902416434966740907923605987635944656260722964399150072269003757736979701995778443565091238493721304456749379383057672073225670051574923421303977273599016327259789632609173906008554618133013545063911786523698010312298651885150306682293510662983814917596639403289163567759467941684622465956224150729486806615881532258662124159786353411905889162593391247675998007461685410806272930277842800712633402004255505409408335788099132661762252369230106011715260102200278031721517788455234688600139303383327690785128090599636516553984795426041508564767945123119102972621541148243472968253498072177146998338010208148809851623312709857144684044063884133709714227797423311075392479284025457000785048293036770160335649730321946606896704773037175189115394144426350480227300270035527751314326456670120812293072235714096968632552093125110592538617792607872101491553628771929316800892817517030741424670673460390261145954108680932863181849085201885319072413000611117384155331974373496506471314015210650771822604197361636261523533393633313592731627018111803386994466495649942245999682162981372555550746283727962082325744605886733770913316112971546680113850133110077699537660034241896854881408358624587512810755100609023821344837026883445751949938795992525131914577551712271927199432770610016797546844922170105444004431115105792796884632846063237663358311540408057608839054705750469095034361421820420135228527393433238209808405472559097116960999555985251572586441396714404258087174404177606948218491645892748724120543237292521765979026688130612210081926422042401804412244191081108227713789494913396443000446668252589505852593361935523231757447396682209862047417411044614776632054194457564914672595623859777548026585145346977370658178001544048151677742584154476820880846614599798324832321619417041249884106400922691846493595998494891517743236259148290873984387681051646084259309235543363147603386688355312589230123390700834295272561519971627034192045629562568345903151289565030755916416734396120605769645627295060754624065648720738849268094205647638241393155870764978475580147562592360797561962334042660020496119800723991868460646222510712806651802843255096001455046392910831989934273123508460405154362966227449656220018096861396031035296017661493580607412098830584211805725554205978757041407231227596095752196485809772634803 45857861089271190527553937302788514184457843947408107405318221019458703011236531017807049875491717208201513151957373513951400167161824789267437347244962628274967763009136628325053972721447923758369781390550270249771189198221835254882706993721210489572627048869108710729955413536104412824944626182076771729402133229035791140151484946758960657463770838217986149035791470866038180673707901215989823438547748654739637566877607290930301960803399276212006723729419175853340066562708823252233893903450216648179124139241656581020354688362623742795663632473296597520139855054555183659149205475936634759045426518020457164535981905357998814367880372002582348872069968014142679722562743885867987751532925068658372828399131574936927509370890062182899824840146803004214877279313213542589137016626323804881557026020568640956534349553265428495994402056205376387692468023006743560918398759078316280426023470876401604326127066525123750569218059003947639380903070467777910635415213881874921262424210037870469758951092702691965445884036088128250212466934466400470852824947360513261466432671156957547045389234854299216155598801593155671274171922133107845655843117666005994440972254450557886979628517122233415227642176807122743488721742595625930196946240571409411280306137527727164762764514930251857426794793961054071149577191224861777635320797229017034505563301250771661152453660216239670299408597247884177234522381646202800319006262067408585829235244287548559921119687027388802734422478037061054472077666512412935852553999647903715306961687478593720159077642684532870203757147973486691376915653830105374047004170322146517242644776905773810662351315208944302038897949749471170799890700326431678405665032238156815845283531621330032486353661178475076954464118595653782769331186975517411039817182638958978005780753172239556898622116859876452953827551529327400380622671434095244466317782048749528060659756549754477410176352341600611032633574333389920834452839206432024382845866996882143329895977252819334089454628490125998021448924523611496976497618596429578364741524524723813645523314855229551074344355969565788079541629064506292560436545079618730012298685574671194951911268355395092892806142530063798013585671664147674315227539260168113983179588920187509569139805984113220919091963991972732183223702385046431044190273296682000236426116510065272562853549914083576635847214200853407882383645941827776578100035034492096885488675891225717171485258065275561080296707035071007051136013429011427236453930319618803021939017617047849545826003475615218579735949709968053723201164455068262693929966986729427651980369998729708168444666119022985453880225750663888054895272719454831736788484672229469441591029256145739765315441974281999343776373038671505656783518439530269845643866128425406179468063255552485407666451331545284253726619025183207371292326090420568353153827759154456350431875202493473649390104356593172882198894660741972228658548913350509747401312101031011330696243350046263800872477505520729526269195812992132589682106146876767422589889522814338491111565482736530508763303478749201015167411034871130462684427060609892071810951192224478157250740974113337579738397264238880493567957058058717819127751105788698617173406896109236324 74199577893812062203331969541605129000752590793320859237754599292327374024653288855304830321848237514306292537831441473953161050798793975834252320106017726267282496612930497399375249495329487179619384348355531772589539553971872864290466974348342366340563813871040009045241792716124281293912216097927361580440656639931743406945132641830997055018336057590186753541075363492980822429997001527436727500423593478417264189201099646958312768499585171491987555386285484330626549194211826547707411493697567724639554825203900572069203904882327643642174577639541324596823124360921229418831428939624055272680723649638562657537384938217008947196077378904702322625823756741588527262083315348881008131061003058991378563527556537714322475708326272672361619308299901640545419695863560484966360664987989622619535272012193826388215393383305942898942927539497618001990462203147203279270281917482525717574563501513102656543892968941558717310125982609935275325559331190742309785487482885632658242126205816314034850189586423996422195263419145800323438136986041323892156802220959529588726222303766131453053943852987312761219510588116853681586470574018258152338136628328989809358568893853847050547387985063918037693598400957852230295337624127884592321106026924821317169468730918974840760771976615662663699725071803854783782979195480367187043656585328149696267815670480877672867713762416517702020926385703118865834661685029530491104134352667045102383220039713590068485887632150507905707044019185304527440331164584590082850892009856052525158585000188450864843121706568666579917984945396797766769394937855562374832052463358916677578294507227720417559056088246119491154292094175821651027190970361959429719991488908277628138355767335427001118905754303585669493081911203525884260884815747446727840710000155989719430451426632629818044576225540809316135676636731212719453035672045212628621649756422246034531973771760405249232780549703236872556166967966703513566079857318235411377312362646824389329578140234191889640200912218088080347193530410345267889813731567976258478591657634801513183183349097126405955752714594153300890296729673530113905273571963064481962237481567196326866488820067667020092238913140080595560430593834253118319658654365960910867812434983425172927451346392170829758146669742441827217585124205466566272717666729920210044831589069162389523853105899335149222288610915257665969558050119434724796591680927240821006031913183747483150511946195887771162223129077472811463380204510119654950243425233015246022385685869637355398419365411138450337183346392177915770618575499683039325984161444294342324575993858507256195029811466000356112058227294712039732637856873931652617635099272027794273912648673186989649421842896973845837372371533563023400019777587821143830031547180071490438777298798915633011053139686857873483850009726017502643853846062047602545199457321722802253583164767524229565806838752713778651844521955802726852724197634089359015495517748669252723852114115024739381020040097881527088231529855652153085801906870868635883236112033527145142914408737832531963809696389581190949440534543331535617047393288059548291829048053620509192546758635606918187150496094823092299293511264037474860534982333384794369369892705881871127 120057438983083252730885906844393643185210434740728966643072820311786077035889819873111880197339954722507805689788814987904561217960618765101689667350980354542250259622067125724429222216777410937989165738905802022360728752193708119173173968069552855913190862740148719775197206252228694118856842280004133309842789868967534547096617588589957712482106895808172902576866834359019003103704902743426550938971342133156901756078706937888614729302984447703994279115704660183966615756920649799941305397147784372818678964445557153089558593244951386437838210112837922116962979415476413077980634415560690031726150167659019822073366843575007761563957750907284671497893724755731206984646059234748995882593928127649751391926688112651249985079216334855261444148446704644760296975176774027555497681614313427501092298032762467344749742936571371394937329595702994389682930226153946840188680676560841998000586972389504260870020035466682467879344041613882914706462401658520220420902696767507579504550415854184504609140679126688387641147455233928573650603920507724363009627168320042850192654974923089000099333087841611977375109389710009352860642496151365997993979745994995803799541148304404937527016502186151452921240577764974973784059366723510522518052267496230728449774868446702005523536491545914521126519865764908854932556386705228964678977382557166730773378971731649334020167422632757372320334982951003043069184066675733291423140614734453688212455284001138628407007319177896708441466497222365581912408831097003018703446009503956240465546687667044585002199349253199450121742093370284458146310591685667748879056633681063194820939284133494228221407403455063793193190043925292821827081670688391108125656521146434443983639298956757033605259415482060746447546029799179667030216002722964138880527182794948697436232179804869374943198342400685769089504188260540119833658343479307873087967538470995562592633528310159726642956902044837483588800542300093434400532696524667435760158229643706532659474117487011223729655540708214078368642454933956764866311350164405836843333182159525326828706663952355957030097070563719088969838358738036406465710117042683211974536167141867521818400088423062112985045055670144393574016265498400792634886193626129024850992023903612682496591152376284050677238633734414559400808826590512997316907940026602210281257705579227662086706655813418725858135825116111073851941696061262501374691715961732917891520589074973200321997204261163332242519836112543818514516217939131082186697355552634049044324703486685204944245368886753668916919296102145969493819739954751302019914128431023769976556363857236964363474477585023341565938453045375927787533129593386484354423583944257263715503677929332729414737284871255845181148744572234529056803296027351413675675413308496896618245362054468118418719591018403157737576628751200710015146172152468170898353285080877258604015039970017703215196943109306951534043416616544699081382746547439868762896829849700264054548357465071003181892517603402256614500725668644285675484013017745403305826001556341483634025974220569062472572999868330391964607945578202666079731820348669440363639999245844987349797499609720255766888893359061972792861468322096192679662733439173492986543299601991107451 194257016876895314934217876385998772185963025534049825880827419604113451060543108728416710519188192236814098227620256461857722268759412740935941987456998080809532756234997623123804471712106898117608550087261333794950268306165580983463640942417895222253754676611188728820438998968352975412769058377931494890283446508899277954041750230420954767500442953398359656117942197851999825533701904270863278439394935611574165945279806584846927497802569619195981834501990144514593164951132476347648716890845352097458233789649457725158762498127279030080012787752379246713786103776397642496812063355184745304406873817297582479610751781792016708760035129811986994123717481497319734246729374583630004013654931186641129955454244650365572460787542607527623063456746606285305716671040334512521858346602303050120627570044956293732965136319877314293880257135200612391673392429301150119458962594043367715575150473902606917413913004408241185189470024223818190032021732849262530206390179653140237746676621670498539459330265550684809836410874379728897088740906549048255166429389279572438918877278689220453153276940828924738594619977826863034447113070169624150332116374323985613158110042158251988074404487250069490614838978722827204079396990851395114839158294421052045619243599365676846284308468161577184826244937568763638715535582185596151722633967885316427041194642212527006887881185049275074341261368654121908903845751705263782527274967401498790595675323714728696892894951328404614148510516407670109352739995681593101554338019360008765624131687855495449845321055821866030039727038767082224915705529541230123711109097039979872399233791361214645780463491701183284347482138101114472854272641050350537845648010054712072121995066292184034724165169785646415940627941002705551291100818470410866721237182950938416866683606437499192987774567941495085225180824991752839286694015524520501709617294893241597124607300070564975875737451748074356144967510266796947966612553842902847137470592290530921989052257721203113369856452926302158715835985344302032756125081732382095321924839794326840011890013049482362985849785157872389860135088411566520370983689005747693936773648709063848684888908490729133077283968810224989134446859332653910954544847992089935718804458887037855424042498768454880435385303476856386618393950795979563589625606756522420326089294648390051610559761712753875080424436031368739821499746180697226171283396888973738897552502258720683472509150457051103404742965190016629977896422449250737136940780785649295066710389356322560342664734297892119254102642494323885264438315454434341345898289875318112301132357715744220558504289051023697677996680340087967520170986467318136972058683216285057989416326602519719064159127768229691018521116105797552456823073615172557505706960488568387057022660853383751429772730705261031221426638477218212659000018214515773443552742402600060857598204737541932781003781862020730185887938572347425934106944181529227778392347598369516778400471580095742562912557701283783702732255524296438761285919888614039189062113589868628776940382958401594436382696257911582914048480121534201696779213636728988655469047299465496542344258245327173954039389453885065092154979586133667540197715772558287355913192307872978578 314314455859978567665103783230392415371173460274778792523900239915899528096432928601528590716528146959321903917409071449762283486720031506037631654807978435351783015857064748848233693928884309055597715826167135817310997058359289102636814910487448078166945539351337448595636205220581669531625900657935628200126236377866812501138367819010912479982549849206532558694809032211018828637406807014289829378366277744731067701358513522735542227105554066899976113617694804698559780708053126147590022287993136470276912754095014878248321091372230416517850997865217168830749083191874055574792697770745435336133023984956602301684118625367024470323992880719271665621611206253050941231375433818378999896248859314290881347380932763016822445866758942382884507605193310930066013646217108540077356028216616477621719868077718761077714879256448685688817586730903606781356322655455096959647643270604209713575737446292111178283933039874923653068814065837701104738484134507782750627292876420647817251227037524683044068470944677373197477558329613657470739344827056772618176056557599615289111532253612309453252610028670536715969729367536872387307755566320990148326096120318981416957651190462656925601420989436220943536079556487802177863456357574905637357210561917282774069018467812378851807844959707491705952764803333672493648091968890825116401611350442483157814573613944176340908048607682032446661596351605124951973029818380997073950415582135952478808130607715867325299902270506301322589977013630035691265148826778596120257784028863965006089678375522540034847520405075065480161469132137366683062016121226897872590165730721043067220173075494708874001870895156247077540672182026407294681354311738741645971304531201146516105634365248941068329424585267707162388173970801885218321316821193375005601764365745887114302915786242368567930972910342180854314685013252292959120352359003828374797584833364237159717240828380724702518694353792911839733768052566890382367145250367570282897628821934237454648526375208214337099511993634516237084478440278258797622436431896787932165258021953852166840596677001838320015946855721591478829973447149602926836693806048430905911309815850931370503288996913791246062329024480369382708463124831054703589431041618218960569796482790650537920633651144738931112623937211270946019202777386492560906533546783124630607347000227617713697266417526172600938560261147479813673441442241959727545975112850706656789073091333693883794506354718214435647262801302560448492412640388381819323638136338283344111035092843007765286910103184645788171021938596469854758258055409185643365812418306341882277688721572981184921978766636047039243935133385463895307704116060704621326482267160542321704920004531852448478896412639485536199669860678032081513626369642523971181382373797065283675268022907851869848492321723664188959003267228418922674146190366983944341906027483477319461613244707559635996200724971327681719931355188892125015489690728969096541289177448069780832948829045166745744805075304686040317232981192940724436769932906359442494888115146210112410966357178970656908955696126241974878656425699736867776511033985398429019109046545310483892141757855047429720928282812947037885016447908229860219860449211731780342456491909864086029 508571472736873882599321659616391187557136485808828618404727659520012979156976037329945301235716339196136002145029327911620005755479444246973573642264976516161315772092062371972038165640991207173206265913428469612261265364524870086100455852905343300420700215962526177416075204188934644944394959035867123090409682886766090455180118049431867247482992802604892214812751230063018654171108711285153107817761213356305233646638320107582469724908123686095957948119684949213152945659185602495238739178838488567735146543744472603407083589499509446597863785617596415544535186968271698071604761125930180640539897802254184781294870407159041179084028010531258659745328687750370675478104808402009003909903790500932011302835177413382394906654301549910507571061939917215371730317257443052599214374818919527742347438122675054810680015576325999982697843866104219173029715084756247079106605864647577429150887920194718095697846044283164838258284090061519294770505867357045280833683056073788054997903659195181583527801210228058007313969203993386367828085733605820873342485946879187728030409532301529906405886969499461454564349345363735421754868636490614298658212494642967030115761232620908913675825476686290434150918535210629381942853348426300752196368856338334819688262067178055698092153427869068890779009740902436132363627551076421268124245318327799584855768256156703347795929792731307521002857720259246860876875570086260856477690549537451269403805931430596022192797221834705936738487530037705800617888822460189221812122048223973771713810063378035484692841460896931510201196170904448907977721650768127996301274827761022939619406866855923519782334386857430361888154320127521767535626952789092183816952541255858588227629431541125103053589755053353578328801911804590769612417639663785872323001548696825531169599392679867760918747478283675939539865838244045798407046374528348876507202128257478756841848128451289678394431805540986195878735562833687330333757804210473130035099414224768376637578632929417450469368446560818395800314425622560830378561513629170027487182861748179006852486690051320683001796640879463868690108535561169447207677495054178599848083464559995219188177905404520379139612993290594371842909984163708614543975889610308896288600941677688393344676149913193811548009240688127332637596728182472124496159153539647050933436294876007765307826179238926476018984697178848553494941188422656953717258509739680395686625593592414567267015505175265539052005766492577078470309062837632556460578917123932639177745482199330325629574837482537907425124581090793740022696370863619984711710708181659994578821079288725405480483055687070736921931813725551862827875102528022758298540950376827379694336331134372167543055540407715227218190976783829633970449443257696528687089334285633670732290683761235621278265052428925220180429905705637135333146208581499717785458769886077380319211449445101568777204506833348411905819293761239550949596634910498324319681525046439297611349300625262488307717633005969824019965236717237163198055852794973481683950228736078741187906740137372251345338392384153557792704905821271069473290247622127417674578093844775980434486016100374603674967672266832102977171427494363527760058164984290067698369684217737064607 822885928596852450264425442846783602928309946083607410928627899435912507253408965931473891952244486155457906062438399361382289242199475753011205297072954951513098787949127120820271859569875516228803981739595605429572262422884159188737270763392791378587645755313863626011711409409516314476020859693802751290535919264632902956318485868442779727465542651811424773507560262274037482808515518299442937196127491101036301347996833630318011952013677752995934061737379753911712726367238728642828761466831625038012059297839487481655404680871739863115714783482813584375284270160145753646397458896675615976672921787210787082978989032526065649408020891250530325366939894003421616709480242220388003806152649815222892650216110176399217352521060492293392078667133228145437743963474551592676570403035536005364067306200393815888394894832774685671515430597007825954386037740211344038754249135251787142726625366486829273981779084158088491327098155899220399508990001864828031460975932494435872249130696719864627596272154905431204791527533607043838567430560662593491518542504478803017141941785913839359658496998169998170534078712900607809062624202811604446984308614961948447073412423083565839277246466122511377686998091698431559806309706001206389553579418255617593757280534990434549899998387576560596731774544236108626011719519967246384525856668770282742670341870100879688703978400413339967664454071864371812849905388467257930428106131673403748211936539146463347492699492341007259328464543667741491883037649238785342069906077087938777803488438900575519540361865971996990362665303041815591039737771995025868891440558482066006839579942350632393784205282013677439428826502153929062216981264527833829788257072457005104333263796790066171383014340321060740716975882606475987933734460857160877924765914442712645472515178922236328849720388625856793854550851496338757527398733532177251304786961621715916559088956832014380913126159333898035612503615400577712700903054578043412932728236159005831286105008137631787568880440195334632884792865900819628000997945525957959652440883702031173693083367053159003017743496601055347520081982710772374044371301102609505759393280410926589691466902318311625201942017770963754551373108994763318133406931228527856858397424468338931265309801057932742660633177899398278656799505568964685402692700322771681540783295103625479005092596765099076957544958326328367168382630664616681263233622590387052475698684926108451061521859893479974699268567795137526962721703226014375784217053462215983288780575042338090916484940667183695596146519687263594780954426272805628077523126488001876856509800861706590402461822323117776165866947111015758135579218588727379625023217537369701399256335666224616021951953047200763417860837461861715484075812900220499868471708082698954407558706669087491126757374152589409139433172934056058007292398948483662127364797369554699780824694152661204773405231804676093625750648950131675965086325639467420860970702494509078444298129670429234052522708310655864337198217910177887634825785701332924178838343882288853598873097316342908254294088510395532671361331521007937249801281607525846693687140390086464326627773955422033395895955079779140862187875402593387979918614196021848040826176127601150636 1331457401333726332863747102463174790485446431892436029333355558955925486410385003261419193187960825351593908207467727273002294997678919999984778939337931467674414560041189492792310025210866723402010247653024075041833527787409029274837726616298134679008345971276389803427786613598450959420415818729669874380945602151398993411498603917874646974948535454416316988320311492337056136979624229584596045013888704457341534994635153737900481676921801439091892009857064703124865672026424331138067500645670113605747205841583960085062488270371249309713578569100409999919819457128417451718002220022605796617212819589464971864273859439685106828492048901781788985112268581753792292187585050622397007716056440316154903953051287589781612259175362042203899649729073145360809474280731994645275784777854455533106414744323068870699074910409100685654213274463112045127415752824967591117860854999899364571877513286681547369679625128441253329585382245960739694279495869221873312294658988568223927247034355915046211124073365133489212105496737600430206395516294268414364861028451357990745172351318215369266064383967669459625098428058264343230817492839302218745642521109604915477189173655704474752953071942808801811837916626909060941749163054427507141749948274593952413445542602168490247992151815445629487510784285138544758375347071043667652650101987098082327526110126257583036499908193144647488667311792123618673726780958553518786905796681210855017615742470577059369685496714175713196066952073705447292500926471698974563882028125311912549517298502278611004233203326868928500563861473946264499017459422763153865192715386243088946458986809206555913566539668871107801316980822281450829752608217316926013605209613712863692560893228331191274436604095374414319045777794411066757546152100520946750247767463139538176642114571602104089768467866909532733394416689740384555934445108060526127811989089879194673400937085283304059307557964874884231491239178234265043034660858788516542967827650383774207923683641067049238038248886756153028685107291523380458379559459155127987139623745450210180545570057104479686019540137480519216210190518271941821252048796156788105607476744970921808879644807722832004341555011061558126394283093158471932677382820838836753146998366146027324609985950971126554208642418587525611294396233751436809898851853862418732474219589979633244312918776004025552976529655505176920663323819087273634980492132330067448162324278518523018328537365068745513751274334287714605433030766063646932244795970586148622466526057241668416546059778149721603021271100778057334803650797136425612789233834669661871435330880150431995882944878010188513087798760836567620963454321116750137923564167914197081093592666800596783565007493454915990636051814245691349454525256157917028555561042368332625139849390430323112405022426581514629319863078639693193340438607529983379912823567255632080100036143597762773550609738638024505531569942711371226914682960549965745180652227540948376055647430295691722360240341316625688357163454627415050832881638496306405862788572618367594786779837453715159599632480894549090464066237342279006723091529229653264368265234234862444761113790055796637070863627346611243839359302896956915739976779180311915739195860345338215243 2154343329930578783128172545309958393413756377976043440261983458391837993663793969192893085140205311507051814269906126634384584239878395752995984236410886419187513347990316613612581884780742239630814229392619680471405790210293188463574997379690926057595991726590253429439498023007967273896436678423472625671481521416031896367817089786317426702414078106227741761827871754611093619788139747884038982210016195558377836342631987368218493628935479192087826071594444457036578398393663059780896262112501738643759265139423447566717892951242989172829293352583223584295103727288563205364399678919281412593885741376675758947252848472211172477900069793032319310479208475757213908897065292842785011522209090131377796603267397766180829611696422534497291728396206373506247218244206546237952355180889991538470482050523462686587469805241875371325728705060119871081801790565178935156615104135151151714604138653168376643661404212599341820912480401859960093788485871086701343755634921062659799496165052634910838720345520038920416897024271207474044962946854931007856379570955836793762314293104129208625722880965839457795632506771164951039880117042113823192626829724566863924262586078788040592230318408931313189524914718607492501555472760428713531303527692849570007202823137158924797892150203022190084242558829374653384387066591010914037175958655868365070196451996358462725203886593557987456331765863987990486576686347020776717333902812884258765827679009723522717178196206516720455395416617373188784383964120937759905951934202399851327320786941179186523773565192840925490926526776988080090057197194758179734084155944725154953298566751557188307350744950884785240745807324435379891969589481844759843393466686169868796894157025121257445819618435695475059762753677017542745479886561378107628172533377582250822114629750524340418618188255535389527248967541236723313461843841592703379116776051500910589960026042115318440220684124208782267103742793634842755735563913366559955900555886542780039209788649204681025607129326951487661569900157424200086380557404681085946792064629152241354238653424157638689037283634081574563730272500982714195296420097259397611366870025381848398571111710041143629543497028832521880945656202153235250810789752067364610005395790614366255875295752029059296869275596486923889951195739320401495301544554185190414015002885083258723318011372769124629934074613831505287831706449751890316243725754920454500638022963444631469390059224962225488450542902082852132395752469289661308029013024048364605755306632284006507462544718816905298617417620465320929584605223409231240866756961157663748291840681012138586285406700333306289253665707947583379099033539705477517548587385451566782492849002466821399586959446502116754053912651707553064938601069058137528424032750451031579547408097099410603531779800734104038459296251573749251347731006478467042040188364625186779880860837750423978324014970442700599157320591661502902879769286189433166041622930035457454499945559966120956412763049627281552694361672537592938467707424197639330041626916500656448385652934770058067853926569404944623135427568863286943972892810837179111061952374624948909087741564011218670466759582426390384701547178299550303719895393376333763780022036472939365879 3485800731264305115991919647773133183899202809868479469595339017347763480074178972454312278328166136858645722477373853907386879237557315752980763175748817886861927908031506106404891909991608963032824477045643755513239317997702217738412723995989060736604337697866643232867284636606418233316852497153142500052427123567430889779315693704192073677362613560644058750148183246948149756767763977468635027223904900015719371337267141106118975305857280631179718081451509160161444070420087390918963762758171852249506470981007407651780381221614238482542871921683633584214923184416980657082401898941887209211098560966140730811526707911896279306392118694814108295591477057511006201084650343465182019238265530447532700556318685355962441870871784576701191378125279518867056692524938540883228139958744447071576896794846531557286544715650976056979941979523231916209217543390146526274475959135050516286481651939849924013341029341040595150497862647820699788067981740308574656050293909630883726743199408549957049844418885172409629002521008807904251358463149199422221240599407194784507486644422344577891787264933508917420730934829429294270697609881416041938269350834171779401451759734492515345183390351740115001362831345516553443304635814856220673053475967443522420648365739327415045884302018467819571753343114513198142762413662054581689826060642966447397722562122616045761703794786702634944999077656111609160303467305574295504239699494095113783443421480300582086863692920692433651462368691078636076884890592636734469833962327711763876838085443457797528006768519709853991490388250934344589074656617521333599276871330968243899757553560763744220917284619755893042062788146716830721722197699161685856998676299882732489455050253452448720256222531069889378808531471428609503026038661899054378420300840721788998756744322126444508386656122444922260643384230977107869396288949653229506928765141380105263360963127398622499528242089083666498594981971869107798770224772155076498868383536926554247133472290271730263645378213707640690255007448947580544760116863836213933931688374602451534784223481262118375056823771562093779940463019254656016548468893416185716974346770352770207450756517763975633885052039894080007339939295311707183488172572906201363152394156760393580485281703000185851077918015074449501245591973071838305200396408047609146489222475062891967630930148773150182910604269336682208495030268839163951224217887250521948800347241963154487718596590030971002201817236370566737828783235353308240273808994634513228221832689525674924008604496966626901638688721243378264388256020545656853655990795827325619727171561162570582168351578343494802341464468784151000062487860822227655472151553365763863586441669267418183151966939957032744689964465953244414393126325216054556979593792819364204687257487529733715936802227315618667779159330213442444688169614008450421953011931880818859980896981348186751874624709080725104688890534372874129794452246739398911222275157576405830555592990261812678773003390943907241051525127165007989300589062693945735904415489119024043172432772223773227453559050299493713599493806205565950695984340066832375430217608859811353848855354067015307537623209773001628540906481196507219459872172556645679519217896818277581122 5640144061194883899120092193083091577312959187844522909857322475739601473737972941647205363468371448365697536747279980541771463477435711505976747412159704306049441256021822720017473794772351202663638706438263435984645108207995406201987721375679986794200329424456896662306782659614385507213289175576615125723908644983462786147132783490509500379776691666871800511976055001559243376555903725352674009433921095574097207679899128474337468934792759823267544153045953617198022468813750450699860024870673590893265736120430855218498274172857227655372165274266857168510026911705543862446801577861168621804984302342816489758779556384107451784292188487846427606070685533268220109981715636307967030760474620578910497159586083122143271482568207111198483106521485892373303910769145087121180495139634438610047378845369994243874014520892851428305670684583351787291019333955325461431091063270201668001085790593018300657002433553639936971410343049680659881856467611395275999805928830693543526239364461184867888564764405211330045899545280015378296321410004130430077620170363031578269800937526473786517510145899348375216363441600594245310577726923529865130896180558738643325714345813280555937413708760671428190887746064124045944860108575284934204357003660293092427851188876486339843776452221490009655995901943887851527149480253065495727002019298834812467919014118974508486907681380260622401330843520099599646880153652595072221573602306979372549271100490024104804041889127209154106857785308451824861268854713574494375785896530111615204158872384636984051780333712550779482416915027922424679131853812279513333361027275693398853056120312320932528268029570640678282808595471152210613691787181006445700392142986052601286349207278573706166075840966765364438571285148446152248505925223277162006592834218304039820871374072650784927004844377980311787892351772213831182858132791245932886045541192881015853320989169513940939748926213292448765698724765503950554505788685521636454768939423469334286343260939476411289252507540659128351824907606371780631140674268517299880723753003754692889022876905419757064094107405643668343670735520237370211844888990675583328341216795734618606021868227805119263428549068726601888285595497464942434298962324973565973157789947374759836360577455029245147947193611561373391196787712392239800501940962232799560504225360146150690948941521542274812844678883168187496326736718591054267467943642170976449438370205407785957108655814993196490652360138453418870224535704642969548302822018682877833977139321809681431471149215783532200256106341708699193972861243954888094522747756984989368019012242174709168453758278676801091595130176731734379161521400527705173020738938817330646079290671734239582738926386459149498743877117660797479331727394274192085403626543270395784234665584629144319468582028049722706238455581787191696035900620486917463993200296506005639861757819098610730198639679523425703846211126034377032674221532928832077263898087611863285055538550227933635185766440571188793745886799702600927768296486891585065946042405619680491558085706993831295307485619704438336734921375068852894668877150904011486492169983484760262936596918078233978004382792199392013242453659496057523179767565932979443299239933291216947001 9125944792459189015112011840856224761212161997713002379452661493087364953812151914101517641796537585224343259224653834449158342714993027258957510587908522192911369164053328826422365704763960165696463183483907191497884426205697623940400445371669047530804667122323539895174067296220803740530141672729757625776335768550893675926448477194701574057139305227515859262124238248507393133323667702821309036657825995589816579017166269580456444240650040454447262234497462777359466539233837841618823787628845443142772207101438262870278655394471466137915037195950490752724950096122524519529203476803055831016082863308957220570306264296003731090684307182660535901662162590779226311066365979773149049998740151026443197715904768478105713353439991687899674484646765411240360603294083628004408635098378885681624275640216525801160559236543827485285612664106583703500236877345471987705567022405252184287567442532868224670343462894680532121908205697501359669924449351703850655856222740324427252982563869734824938409183290383739674902066288823282547679873153329852298860769770226362777287581948818364409297410832857292637094376430023539581275336804945907069165531392910422727166105547773071282597099112411543192250577409640599388164744390141154877410479627736614848499554615813754889660754239957829227749245058401049669911893915120077416828079941801259865641576241590554248611476166963257346329921176211208807183620958169367725813301801074486332714521970324686890905582047901587758320153999530460938153745306211228845619858857823379080996957828094781579787102232260633473907303278856769268206510429800846932637898606661642752813673873084676749185314190396571324871383617869041335413984880168131557390819285935333775804257532026154886332063497835253817379816619874761751531963885176216385013135059025828819628118394777229435391500500425234048535736003190939052254421740899162392974306334261121116681952296912563439277168302376115264293706737373058353276013457676712953637322960395888533476733229748141552897885754366769042079915055319361175900791132353513814655441378357144423807100386681875439150931177205762123611198539492026228393357884091769045315563566087388813472624745569094897313601108620681895625534792776649617787134897879767336310184104135153416845859158029430999025111626635822892442379685464078105702337370280408706993447835209042658579871670315424995755283152504869704821766987430218218692161529421498398238717447370940444827252405024167492854177374823985608053318939996277788576631013317391062198972011335356355479753712750159101894795062952077458361117264500544948178738552812314987746183803337279750622109857020295893936594645515885379224009261349932828492890492183094509665732341001657765890893326416182243433841583614041893724853719490246642383220336089759988921923072158878035405384255365341374017614912000634140724070234495367885946212228386824499842654800446797482073264388604150808535101660407251162468673779668230988486173245188269115611131540489746313958769831515096034797411926867608917068885549585530801850457894738704534730518479217604522761044670003932050334415181274418845364861490970843861922387592344571616785452272145249285542006001972393641783360140692564742639639738489625122818457830109494528123 14766088853654072914232104033939316338525121185557525289309983968826966427550124855748723005264909033590040795971933814990929806192428738764934258000068226498960810420075151546439839499536311368360101889922170627482529534413693030142388166747349034325004996546780436557480849955835189247743430848306372751500244413534356462073581260685211074436915996894387659774100293250066636509879571428173983046091747091163913786697065398054793913175442800277714806387543416394557489008047588292318683812499519034036037943221869118088776929567328693793287202470217347921234977007828068381976005054664224452821067165651773710329085820680111182874976495670506963507732848124047446421048081616081116080759214771605353694875490851600248984836008198799098157591168251303613664514063228715125589130238013324291671654485586520045034573757436678913591283348689935490791256211300797449136658085675453852288653233125886525327345896448320469093318548747182019551780916963099126655662151571017970779221928330919692826973947695595069720801611568838660844001283157460282376480940133257941047088519475292150926807556732205667853457818030617784891853063728475772200061711951649066052880451361053627220010807873082971383138323473764645333024852965426089081767483288029707276350743492300094733437206461447838883745147002288901197061374168185573143830099240636072333560590360565062735519157547223879747660764696310808454063774610764439947386904108053858881985622460348791694947471175110741865177939307982285799422600019785723221405755387934994285155830212731765631567435944811412956324218306779193947338364242080360265998925882355041605869794185405609277453343761037249607679979089021251949105772061174577257782962271987935062153464810599861052407904464600618255951101768320914000037889108453378391605969277329868640499492467428014362396344878405545836428087775404770235112554532145095279019847527142136970002941466426504379026094515668564029992431502877008907781802143198349408406262383865222819819994169224552842150393295025897393904822661691141807041465400870813695379194382111837312829977292101632503245038582849430467281934059729396440238246874767352373656780361822007419494492973374214160742150177347283783911130290241592052086097222853333309467974051509913253206436613058676146972305238197196283639167397856317906204278332513208267497673195355193349528813191857699808599962035673057201148503706021272486160105171592474847677087652778726401935908220017363983506537513277404478277854644639247336879453032000268896176111333145037786950902928533691302150901404660776652333978508455433042701486309797304355765196045511988919075868135697096985531724822247619758385530661877638001513629431000425155745023012735897348629819712875331742177718701274839373056581113764438727786846879360155773156588656788022354873966283415064080256070493787825836759970854982285349939412524892830139704412619545408212271904068127576512381312786441628195142895312597063065750071332800132400666670090717679949144536272086284828543298726570209844837182036477115867796500300358385026288604186211435818068530289708370387069336556343271740033738641874855348414557575829331879722049190223483263546388794171785655025813800188622265819407304422604566117697763400711475124 23892033646113261929344115874795541099737283183270527668762645461914331381362276769850240647061446618814384055196587649440088148907421766023891768587976748691872179584128480372862205204300271534056565073406077818980413960619390654082788612119018081855809663669103976452654917252055992988273572521036130377276580182085250138000029737879912648494055302121903519036224531498574029643203239130995292082749573086753730365714231667635250357416092840732162068622040879171916955547281426133937507600128364477178810150323307380959055584961800159931202239666167838673959927103950592901505208531467280283837150028960730930899392084976114913965660802853167499409395010714826672732114447595854265130757954922631796892591395620078354698189448190486997832075815016714854025117357312343129997765336392209973295930125803045846195132993980506398876896012796519194291493088646269436842225108080706036576220675658754749997689359343001001215226754444683379221705366314802977311518374311342398032204492200654517765383130985978809395703677857661943391681156310790134675341709903484303824376101424110515336104967565062960490552194460641324473128400533421679269227243344559488780046556908826698502607906985494514575388900883405244721189597355567243959177962915766322124850298108113849623097960701405668111494392060689950866973268083305650560658179182437332199202166602155616984130633714187137093990685872522017261247395568933807673200205909128345214700144430673478585853053223012329623498093307512746737576345325996952067025614245758373366152788040826547211354538177072046430231521585635963215544874671881207198636824489016684358683468058490286026638657951433820932551362706890293284519756941342708815173781557923268837957722342626015938739967962435872073330918388195675751569852993629594776619104336355697460127610862205243797787845378830779884963823778595709287366976273044257671994153861403258086684893763339067818303262818044679294286138240250067261057815600875062362043585344261111353296727398972694395048279049392666435984737717010502982942256533224327510034635760468981736637077678783507942395969760055192590893132599221422668631604758859121418972343927909396232967117718943309058055751285967965679536665083018241669873232120733100645778158155645066670052295771088107145997416864833019176081547083320396011906615702793616974491121030564236008108684862173124804355245188177926905970270693451490704852266701013973245915805100149666846763160625041531476360714888101390086331173584635525125456084045317659958375083344480394142430656641283850404045696467612854110695095772955977990880224862609619343511379848849268669697977992717392879468319467763505137609539923227570830006519923183519665410755353737555114520713039291513985611560284888881266781434833254685370170067215449915762078511728946900390279350538780405454273685405788459977484041089477653235885624753279654639547067419992205694345168456731727320916414446848879357611569092265294054236244577988401516277801631207426263103306103601380863340710653437818761906067586062646669646958195097089561019122665429040340829574959712302437403751737617690585398600132845699210336945168173903496507501462368732549088394796144179296809173940881187008459047042912229688936155593510206003247 38658122499767334843576219908734857438262404368828052958072629430741297808912401625598963652326355652404424851168521464431017955099850504788826026588044975190832990004203631919302044703836582902416666963328248446462943495033083684225176778866367116180814660215884413010135767207891182236017003369342503128776824595619606600073610998565123722930971299016291178810324824748640666153082810559169275128841320177917644152411297065690044270591535641009876875009584295566474444555329014426256191412627883511214848093545176499047832514529128853724489442136385186595194904111778661283481213586131504736658217194612504641228477905656226096840637298523674462917127858838874119153162529211935381211517169694237150587466886471678603683025456389286095989666983268018467689631420541058255586895574405534264967584611389565891229706751417185312468179361486454685082749299947066885978883193756159888864873908784641275325035255791321470308545303191865398773486283277902103967180525882360368811426420531574210592357078681573879116505289426500604235682439468250417051822650036742244871464620899402666262912524297268628344010012491259109364981464261897451469288955296208554832927008269880325722618714858577485958527224357169890054214450320993333040945446203796029401201041600413944356535167162853506995239539062978852064034642251491223704488278423073404532762756962720679719649791261411016841651450568832825715311170179698247620587110017182204096685766891022270280800524398123071488676032615495032536998945345782675288431369633693367651308618253558312842921974121883459386555739892415157162883238913961567464635750371371725964553262243895895304092001712471070540231341795911545233625529002517286072956743829911203900111187153225876991147872427036490329282020156516589751607742102082973168225073613685566100627103329633258160184190257236325721391911554000479522479530805189352951014001388545395056687835229765572197329357333713243324278569743127076168839617744073411770449847728126334173116721568197247237198672344418563829889560378701644789983721934095141205413830142580819049467054970885140445641008342904623058175066658950819108869851633626473792629124289731403652461610692317523218797901463315249463447795373259833721959329343586433955246132207154979923258732384146783292969722103030215459720714481176713918110894035306825241988794225919429357637498054030824612955207223850984107118774399472763191012371872606448093592892752928393248699068845058895459867252401378794564609028229274772462335537077317928854551194677625431929381559569817541706196597872273630763029074281411411033581711172406923699276575894361257588773846128414489865000044290011124895995070585105208831520149354183944821155778366473452463150532752166845727789278986163720639838015947019124097956914094810071535235100385734922745153316822195469534529755899576285814244011944459938585825037278172484779251480039537613906617072524859303833297727233290507552754464404862357119986315910788533916944471721925106212247842375687665691884009380008028606743249622539762537443458495455474587307726851640476158898105249420672824473088293960962325432338774720554558751502744003235376229550652592215812634783590315964951834987741069809274278454347334834255053853356910917478371 62550156145880596772920335783530398537999687552098580626835274892655629190274678395449204299387802271218808906365109113871106104007272270812717795176021723882705169588332112292164249908136854436473232036734326265443357455652474338307965390985385198036624323884988389462790684459947175224290575890378633506053404777704856738073640736445036371425026601138194697846549356247214695796286049690164567211590893264671374518125528733325294628007628481742038943631625174738391400102610440560193699012756247988393658243868483880006888099490929013655691681802553025269154831215729254184986422117598785020495367223573235572127869990632341010806298101376841962326522869553700791885276976807789646342275124616868947480058282091756958381214904579773093821742798284733321714748777853401385584660910797744238263514737192611737424839745397691711345075374282973879374242388593336322821108301836865925441094584443396025322724615134322471523772057636548777995191649592705081278698900193702766843630912732228728357740209667552688512208967284162547627363595779040551727164359940226548695840722323513181599017491862331588834562206951900433838109864795319130738516198640768043612973565178707024225226621844072000533916125240575134775404047676560577000123409119562351526051339708527793979633127864259175106733931123668802931007910334796874265146457605510736731964923564876296703780424975598153935642136441354842976558565748632055293787315926310549311385911321695748866653577621135401112174125923007779274575290671779627355456983879451741017461406294384860054276512298955505816787261478051120378428113585842774663272574860388410323236730302386181330730659663904891472782704502801838518145285943859994888130525387834472738068909495851892929887840389472362402612938544712265503177595095712567944844177950041263560754714191838501957972035636067105606355735332596188809846507078233610623008155249948653143372728993104640015632620151757922618564707983377143429897433344948474132493433072387445526413448967169941632246951393811230265874298095712147772925978467319468715448465903049800786104132649668648388036978102959815649068199258172241777501456392485595211601468217640799885428728411260832276853652749283215142984460456278075391832561464319534601024290362800046593311028155234890438967138967863234635802261564497109930017509738100442216479915256483665365746182916203949417310452412028911013089045092924253895864638573620421339508697853078060095462229470100426936227967289480184650940201813910297587791621122635588812926278022105826071812216211101392110242294339886484873724170054367389024461936035016543042787955743210526258471824121131882744468363757774630033604610508332779661526669277367464486566533720211007577671245791458359713400839271052601906619450780273809468126981310259987297313612114681823135432667360975874988803441305364745791728053033937591821710662031452139418798547459529819600962240981591031154214141680139386910366033497127651174222560488776935433222273353132532475351148479289046555224720033445847368649317208602409207090416690552564148326849517069516499727680209132975261876840031578652910830938907566253769088447912177138872737052114960948361723178386460144248644161681950996282737501390247063943990008950421123481618 101208278645647931616496555692265255976262091920926633584907904323396926999187080021048167951714157923623233757533630578302124059107122775601543821764066699073538159592535744211466294611973437338889899000062574711906300950685558022533142169851752314217438984100872802472926451667838357460307579259721136634830229373324463338147251735010160094355997900154485876656874180995855361949368860249333842340432213442589018670536825799015338898599164122751915818641209470304865844657939454986449890425384131499608506337413660379054720614020057867380181123938938211864349735327507915468467635703730289757153584418185740213356347896288567107646935399900516425243650728392574911038439506019725027553792294311106098067525168563435562064240360969059189811409781552751789404380198394459641171556485203278503231099348582177628654546496814877023813254735769428564456991688540403208799991495593025814305968493228037300647759870925643941832317360828414176768677932870607185245879426076063135655057333263802938950097288349126567628714256710663151863046035247290968778987009976968793567305343222915847861930016159600217178572219443159543203091329057216582207805153936976598445900573448587349947845336702649486492443349597745024829618497997553910041068855323358380927252381308941738336168295027112682101973470186647654995042552586288097969634736028584141264727680527596976423430216237009170777293587010187668691869735928330302914374425943492753408071678212718019147454102019258472600850158538502811811574236017562302643888353513145108668770024547943172897198486420838965203343001370466277541311352499804342127908325231760136287789992546282076634822661376375962013014046298713383751770814946377280961087269217745676638180096649077769921035712816508852731894958701228855254785337197795541113069251563726829661381817521471760118156225893303431327747646886596668332326037883422963574022156638494048200060564222870212212961977485471165942843277726504219598737051089021885902943280800513779699530170535367188869445623738229794095763858474413792562909700401414609920862296045630619835571187620553788833677986445864438707243265917123060886371308026112069004230592507372203537890339103578355495651554212598464606432255829537909113791890807905968556270422569955026516569760539381673731936861070893450095522976045673823848128403773407267458468709482403094723383680970234774030265659635879895120207819492397017086877010446226869433101590606006453344161298315159322396095219690858979215549230043185070050127158199953517667477472699731258001193775780918933816438892212160115636753244335778800058043647207423466742064531637571783847245670249546372609468408047785754929599681093437988493046818631551409307722312086684460040821778543625205441190118257216322546457466727292933566083895405070058832548712500416745880585984183171344523333197204941031605972064978397530407535699309624624198050027499067433507579313506450334987511868913429894463120497901990008294208876399565469350166745075057638687598990854976712247108729413453875975392566831142171744533875186008038735634576368709992658625785458553648086349928325539615236263277682286808327839950656180374248966602767553164174357961976776109200479149423020805557015955737581898199043862307332040959989 163758434791528528389416891475795654514261779473025214211743179216052556189461758416497372251101960194842042663898739692173230163114395046414261616940088422956243329180867856503630544520110291775363131036796900977349658406338032360841107560837137512254063307985861191935717136127785532684598155150099770140883634151029320076220892471455196465781024501292680574503423537243070057745654909939498409552023106707260393188662354532340633526606792604493954762272834645043257244760549895546643589438140379488002164581282144259061608713510986881035872805741491237133504566543237169653454057821329074777648951641758975785484217886920908118453233501277358387570173597946275702923716482827514673896067418927975045547583450655192520445455265548832283633152579837485111119128976247861026756217396001022741494614085774789366079386242212568735158330110052402443831234077133739531621099797429891739747063077671433325970484486059966413356089418464962954763869582463312266524578326269765902498688245996031667307837498016679256140923223994825699490409631026331520506151369917195342263146065546429029460947508021931806013134426395059977041201193852535712946321352577744642058874138627294374173071958546721487026359474838320159605022545674114487041192264442920732453303721017469532315801422891371857208707401310316457926050462921084972234781193634094877996692604092473273127210641212607324712935723451542511668428301676962358208161741869803302719457589534413768014107679640393873713024284461510591086149526689341929999345337392596849686231430842328032951474998719794471020130262848517397919739466085647116791180900092148546611026722848668257965553321040280853485796750801515222269916100890237275849217794605580149376249006144929662850923553205981215134507897245941120757962932293508109057913429513768093222136531713310262076128261529370536934103382219192857142172544961656574197030311888442701343433293215974852228594597637229088561407985709881363028634484433970360035436713872901225225943619502537130501692575132041024361638156570125940335835678868734078636310761948680420621675320270222437221714964548824254356311465175295302663872764418597664215832060725013003423319067514839187772505206961881679749416716285815984505624452272225503157294712932755073109880788694616564170904000038756684731325237610170933778145913511507709674948624738886760089129863886438723447576112047908806133296864585321270982741649019847290772610288459084513439623527785259749332323186980339163866489431857095367637918779322589106480403750721837084073005991992020325926681186552046600510477414390146189082505583242440009784852487380782310105717494370678255353936771805560384963204291601770768154573487908918873794288845806895467618493024335083565154590957528268924453076917507566743034210876715330046129862324615098569016018651544147219512136638510305777397700118012335122229246361341076763616848574958597253108541554488041366141726010593569281373486531399117659468431436888342404783389018428190171162950139334265758802333449446899723344041884039744580951624291876560602883961425885779509158353465667686623348226768357118268147094216589853062096928398568357513121703654882514112536081140363236253449123311104971801839753457127828962143033871257753164441607 264966713437176460005913447168060910490523871393951847796651083539449483188648838437545540202816118118465276421432370270475354222221517822015805438704155122029781488773403600715096839132083729114253030036859475689255959357023590383374249730688889826471502292086733994408643587795623890144905734409820906775713863524353783414368144206465356560137022401447166451160297718238925419695023770188832251892455320149849411859199180331355972425205956727245870580914044115348123089418489350533093479863524510987610670918695804638116329327531044748416053929680429448997854301870745085121921693525059364534802536059944715998840565783209475226100168901177874812813824326338850613962155988847239701449859713239081143615108619218628082509695626517891473444562361390236900523509174642320667927773881204301244725713434356966994733932739027445758971584845821831008288225765674142740421091293022917554053031570899470626618244356985610355188406779293377131532547515333919451770457752345829038153745579259834606257934786365805823769637480705488851353455666273622489285138379894164135830451408769344877322877524181532023191706645838219520244292522909752295154126506514721240504774712075881724120917295249370973518802824436065184434641043671668397082261119766279113380556102326411270651969717918484539310680871496964112921093015507373070204415929662679019261420284620070249550640857449616495490229310461730180360298037605292661122536167813296056127529267747131787161561781659652346313874443000013402897723762706904232643233690905741958355001455390271205848673485140633436223473264218983675461050818585451458919089225323908682898816715394950334600375982416656815498810797100228606021686915836614556810305063823325826014429102794007432771959266022490067866402855947169976012748269491303650170982681077494922883518349234782022194284487422673968261851029105789525474498582845079537771052468526936749543493857438845064441556575122700254504251263436385582627371535522992245938379994673415004925473790037904319371138198870270818457402015044539732898745379270148688557173057994311040457246507890776226055392950994688693063554731092418363550244072444709733220062653232385206961209406618417543268156761174480144355848972115353893619416343080131471713565135502710099626450549233998237902840861109650134826848213655844757626274317284914977133417334221289854812513544856673497477841771683788701253504684077718288069618659466074160205711879065090966783784826100419071728418406671198143082038661900280437688045937522542624147881223421568342074199767772939259743120078764206716147230658725924989140549230449863476526917019018354093952963164620224627963405179853346139892803972695208756647620306540470283102011157893579927659314802878708770595781075785485246999534384234859676600294772120400104962411037115515314896604635727318564035469835715246809003672182990732652636782060650701387814898602457664686616120867994491701129237879506999175836607029301107667762640313287907874133555763503247809850549130189242471049442178860353599319434450870886752696158167062568641619596002254489501816979251126240271434576696682657883383357494272139870424768349224537887370670257650067276710439102340012362649602460527992607396769412865410860342077733565085205401596 428725148228704988395330338643856565004785650866977062008394262755502039378110596854042912453918078313307319085331109962648584385335912868430067055644243544986024817954271457218727383652194020889616161073656376666605617763361622744215357291526027338725565600072595186344360723923409422829503889559920676916597497675383103490589036677920553025918046902739847025663721255481995477440678680128330661444478426857109805047861534863696605951812749331739825343186878760391380334179039246079737069301664890475612835499977948897177938041042031629451926735421920686131358868413982254775375751346388439312451487701703691784324783670130383344553402402455233200383997924285126316885872471674754375345927132167056189162692069873820602955150892066723757077714941227722011642638150890181694683991277205323986220327520131756360813318981240014494129914955874233452119459842807882272042191090452809293800094648570903952588728843045576768544496197758340086296417097797231718295036078615594940652433825255866273565772284382485079910560704700314550843865297299954009791289749811359478093597474315773906783825032203463829204841072233279497285493716762288008100447859092465882563648850703176098293989253796092460545162299274385344039663589345782884123453384209199845833859823343880802967771140809856396519388272807280570847143478428458042439197123296773897258112888712543522677851498662223820203165033913272692028726339282255019330697909683099358846986857281545555175669461300046220026898727461523993983873289396246162642579028298338808041232886232599238800148483860427907243603527067501073380790284671098575710270125416057229509843438243618592565929303456937668984607547901743828291603016726851832659522858428905975390678108938937095622882819228471283000910753193111096770711201784811759228896110591263016105654880948092284270412748952044505195954411324982382616671127806736111968082780415379450886927150654819916670151172759929343065659249146266945656006019956962605973816708546316230151417409540441449872830774002311842819040171614665673234581058138882767193483819942991461078921828160998663277107915543512947419866196267713666214116836863307397435894713957398210384528474133256731040661968136361824105265688401169878125040795352356974870859848435465172736331337928614802073744861148406819558173451266015691404420230796422686808365958960176614901643408743112220925417883731697507386801548663039559052360308485921450978322167524175480223408353885678821060741593651537306948528093757375805325964716845131730628284974143405426147205759764959585669801265316253316657708073116071178223054813692303486311769506399136404058680658990902883317341951658906524856008264296979524802193794449389156896300003700475395277807827213792335750372033313754171452611301742426419634505648835730151092273361730613883912623287271465783547606474225552586401372301003067774866028421991778151431747177416261939724662422482533067270963890100568457210093560700225327231071750176250278916944781931437981013499269523508229851775628307253322663476334910631333647782458939129244503557428140269010975332716793926894782803465039776151530451710861992932521696747792895400492373912532581389246520242703248616098725771632964409236522869993239822485111604822838369843203 693691861665881448401243785811917475495309522260928909805045346294951522566759435291588452656734196431772595506763480233123938607557430690445872494348398667015806306727675057933824222784277750003869191110515852355861577120385213127589607022214917165197067892159329180753004311719033312974409623969741583692311361199736886904957180884385909586055069304187013476824018973720920897135702450317162913336933747006959216907060715195052578377018706058985695924100922875739503423597528596612830549165189401463223506418673753535294267368573076377867980665102350135129213170284727339897297444871447803847254023761648407783165349453339858570653571303633108013197822250623976930848028460521994076795786845406137332777800689092448685464846518584615230522277302617958912166147325532502362611765158409625230946040954488723355547251720267460253101499801696064460407685608482025012463282383475726847853126219470374579206973200031187123732902977051717217828964613131151170065493830961423978806179404515700879823707070748290903680198185405803402197320963573576499076428129705523613924048883085118784106702556384995852396547718071499017529786239672040303254574365607187123068423562779057822414906549045463434063965123710450528474304633017451281205714503975478959214415925670292073619740858728340935830069144304244683768236493935831112643613052959452916519533173332613772228492356111840315693394344375002872389024376887547680453234077496395414974516125028677342337231242959698566340773170461537396881597052103150395285812719204080766396234341622870444648821969001061343467076791286484748841841103256550034629359350739965912408660153638568927166305285873594484483418345001972434313289932563466389469827922252231801405107211732944528394842085250961350867313609140281072783459471276115409399878791668757938989173230182874306464697236374718473457805440430771908091169710651815649739135248942316200430421008093664981111707747882629597569910512582652528283377555479954851912196703219731235076891199578345769243968972872582661276442186659205406133326437409031455750656877937302501536168336051774889332500866538201640483420927360132029764360909308017130655957367189783417345737880751674274308818729310841968461114660516523771744457138432488446584424983938175272362781887162613039976585722258056954385021664921860449030694548081337663941783293181466469714156953599785718403259655415486208640306232740757847121978967951995611184034046589266447007193179986097892789160000322735450030566755657656243014010654367674354776166197564973768221405527537898845412921344080460032804938731841996167363604044142166962838686525417490498011643823611127511280747131512252664748812236992188281449814100989859439998311161594055322937122630092501106346153109099239418452145685977286096234800420956130256054684398846129198809227922998784347583076309940799395405044483993800427502810482642479539246645779873926626340783290477024768400201769607567633046700590001332994993712063464158153050500545434685790864048399712750700901217807167606921982910785781518086343940626001697886123153430394758512792311967920167166217380161722434034913809205134132802946465097017433287863044170182648665956959345043260978748328232160957016633292282858650682827189338387923575244799 1122417009894586436796574124455774040500095173127905971813439609050453561944870032145631365110652274745079914592094590195772522992893343558875939549992642212001831124681946515152551606436471770893485352184172229022467194883746835871804964313740944503922633492231924367097365035642442735803913513529662260608908858875119990395546217562306462611973116206926860502487740229202916374576381130445493574781412173864069021954922250058749184328831455390725521267287801636130883757776567842692567618466854291938836341918651702432472205409615108007319907400524270821260572038698709594672673196217836243159705511463352099567490133123470241915206973706088341213581820174909103247733900932196748452141713977573193521940492758966269288419997410651338987599992243845680923808785476422684057295756435614949217166368474620479716360570701507474747231414757570297912527145451289907284505473473928536141653220868041278531795702043076763892277399174810057304125381710928382888360529909577018919458613229771567153389479355130775983590758890106117953041186260873530508867717879516883092017646357400892690890527588588459681601388790304778514815279956434328311355022224699653005632072413482233920708895802841555894609127422984835872513968222363234165329167888184678805048275749014172876587511999538197332349457417111525254615379972364289155082810176256226813777646062045157294906343854774064135896559378288275564417750716169802699783931987179494773821502982310222897512900704259744786367671897923061390865470341499396557928391747502419574437467227855469683448970452861489250710680318353985822222631387927648610339629476156023141918503591882187519732234589330532153468025892903716262604892949290318222129350780681137776795785320671881624017724904479432633868224362333392169554170673060927168628774902260020955094828111130966590735109985326762978653759851755754290707840838458551761707218029357695651317348158748484897781858920642558940635569761728919473939383575436917457886013411766047465228308609118787219116799746874894504095482358273871079367907495547914222944140697880293962615090164212773552609608782081714587903287123627845695978477746171324528091852081147181627730266354884931005349480697447203792566380348917693649869497933784845421455284832373640445099113225091227842050330583406463773943195116187876140435114778877760350750149252141643084615800362342897939328677539147183716027107781403797406174339276437917062162356214113441927230601533871776713849901593974272756979094849415032048339975371212806085404451171708379194368611287302858431082722609396713349462646804958067345586658857834470449150456031816626902070324482602030394598089083171159189604820501289167806252007895439248596894611165294530718214930457306293442096525142412993589904756987719712515869306069791860407146957760576743082721851210270250131130682784166351981806416784996868202368838904634257690678392957290188566065445712959557835671165659708136090256794150701558322224783813640408431967445327366123771877547669236258930752993435474860244646387120692149419991723084940827130626710858535027523767644684714094061000183626762210186444260915996125735468161844810328688355418082715230055203479587746509594847054003793921425869815152851890505312300943210761945088002 1816108871560467885197817910267691515995404695388834881618484955345405084511629467437219817767386471176852510098858070428896461600450774249321812044341040879017637431409621573086375829220749520897354543294688081378328772004132048999394571335955861669119701384391253547850369347361476048778323137499403844301220220074856877300503398446692372198028185511113873979311759202923837271712083580762656488118345920871028238861982965253801762705850161449711217191388724511870387181374096439305398167632043693402059848337325455967766472778188184385187888065626620956389785208983436934569970641089284047006959535225000507350655482576810100485860545009721449226779642425533080178581929392718742528937500822979330854718293448058717973884843929235954218122269546463639835974932801955186419907521594024574448112409429109203071907822421774935000332914559266362372934831059771932296968755857404262989506347087511653111002675243107951016010302151861774521954346324059534058426023740538442898264792634287268033213186425879066887270957075511921355238507224447107007944146009222406705941695240486011474997230144973455533997936508376277532345066196106368614609596590306840128700495976261291743123802351887019328673092546695286400988272855380685446534882392160157764262691674684464950207252858266538268179526561415769938383616466300120267726423229215679730297179235377771067134836210885904451589953722663278436806775093057350380237166064675890188796019107338900239850131947219443352708445068384598787747067393602546953214204466706500340833701569478340128097792421862550594177757109640470571064472491184198644968988826895989054327163745520756446898539875204126637951444237905688696918182881853784611599178702933369578200892532404826152412566989730393984735537971473673242337630144337042578028653693928778894084001341313840897199807221701481452111565292186526198799010549110367411446353278300011851747769166842149878893566668525188538205480274311572002222761130916872309798210114985778700305199808697132988360768719747477165371924544933076485501233932956945678694797575817596464151258500264548441942109648619916228386708050987977725742838655479341658747809448336965045076004235636605279658299426758045761027495009434217421613955072217333868039709816311815717461895112253840882026916305664520728328216781109736589465809326959098014691932545323109554329957315942683657731937194562669924667414014144555253296318244389912673346390260702708374237794713857874606639061594297008207009661605072688291353986025580480440180617369273352962590016814840757276495643953477173382267585536800063512950262901976637411989142557234117400081968306213157905878836214683411854353632738281356087701821996429108036892922326888586041152053087398794548442678251512233008356902673696998612104106490747990663201642159422872281531079133269034478713759094107151377211461268990668629871649387276737229925038737164115192406229003436582604071367429315703723303494740702891317218495877104566585017945872800809562741596068949009631654211242642467166629297906473667506335663710942525016749864288929786036559956652634261227217563788484644221358070121130258538414626941827761976218462252897878721160438932789770573595382235954878442503107435710541188139490281598685520332801 2938525881455054321994392034723465556495499868516740853431924564395858646456499499582851182878038745921932424690952660624668984593344117808197751594333683091019468556091568088238927435657221291790839895478860310400795966887878884871199535649696806173042334876623177914947734383003918784582236651029066104910129078949976867696049616008998834810001301718040734481799499432126753646288464711208150062899758094735097260816905215312550947034681616840436738458676526148001270939150664281997965786098897985340896190255977158400238678187803292392507795466150891777650357247682146529242643837307120290166665046688352606918145615700280342401067518715809790440361462600442183426315830324915490981079214800552524376658786207024987262304841339887293205722261790309320759783718278377870477203278029639523665278777903729682788268393123282409747564329316836660285461976511061839581474229331332799131159567955552931642798377286184714908287701326671831826079728034987916946786553650115461817723405864058835186602665781009842870861715965618039308279693485320637516811863888739289797959341597886904165887757733561915215599325298681056047160346152540696925964618815006493134332568389743525663832698154728575223282219969680122273502241077743919611864050280344836569310967423698637826794764857804735600528983978527295192998996438664409422809233405471906544074825297422928362041180065659968587486513100951554001224525809227153080021098051855384962617522089649123137363032651479188139076116966307660178612537735101943511142596214208919915271168797333809811546762874724039844888437427994456393287103879111847255308618303052012196245667337402943966630774464534658791419470130809404959523075831144102833728529483614507354996677853076707776430291894209826618603762333807065411891800817397969746657428596188799849178829452444807487934917207028244430765325143942280489506851387568919173153571307657707503065117325590634776675425589167747478841050036040491476162144706353789767684223526751826165533508417815920207477568466622371669467406903206947564869141428504859901638938273697890426766348664477321994551718430701630816289995174615823421721316401650666186839661529484146672806270590521536285007780124205249553593875358351911071483453006002179289494994648685456162561008337345068724077246889070984502271411897297612729900924105836858365442081797464752638945757678285581597060614733709853640694521795548352659470657520827829735508746474816150301468396247729651320488963188271280963988756454487720339693961396793286525585068540981732156958628102143615707578366562873886731730232341758130858536921759811107861139598589050744302152292788815188300476925297854571043958453239570523893953829891868356633787533492183116759366983544705087990539203393925226598261659661416711127973412560539851070348599919999615364252930343539284609844441878273503359017878053987536832240488291910994920603431694454303758471674716396140439742533089023839813560288891404449639443279690744975016985391200166933334619143738185268562407204678117327411275685027165816926327386795883352147376575147464813560327601337348355288217747415246854407802331037126384273882788786638090664573880335613108776363918520536280168442436239748799868372922588562431693451791224809447465420803 4754634753015522207192209944991157072490904563905575735050409519741263730968128967020071000645425217098784934789810731053565446193794892057519563638674723970037105987501189661325303264877970812688194438773548391779124738892010933870594106985652667842162036261014431462798103730365394833360559788528469949211349299024833744996553014455691207008029487229154608461111258635050590918000548291970806551018104015606125499678888180566352709740531778290147955650065250659871658120524760721303363953730941678742956038593302614368005150965991476777695683531777512734040142456665583463812614478396404337173624581913353114268801098277090442886928063725531239667141105025975263604897759717634233510016715623531855231377079655083705236189685269123247423844531336772960595758651080333056897110799623664098113391187332838885860176215545057344747897243876103022658396807570833771878442985188737062120665915043064584753801052529292665924298003478533606348034074359047451005212577390653904715988198498346103219815852206888909758132673041129960663518200709767744524756009897961696503901036838372915640884987878535370749597261807057333579505412348647065540574215405313333263033064366004817406956500506615594551955312516375408674490513933124605058398932672504994333573659098383102777002017716071273868708510539943065131382612904964529690535656634687586274372004532800699429176016276545873039076466823614832438031300902284503460258264116531275151413541196988023377213164598698631491784562034692258966359605128704490464356800680915420256104870366812149939644555296586590439066194537634926964351576370296045900277607129948001250572831082923700413529314339738785429370914368715093656441258712997887445327708186547876933197570385481533928842858883940220603339300305280738654229430961735012324686082290117578743262830793758648385134724428729725882876890436128806688305861936679286584599924585957719354812886492432784655568992257692936017046530310352063478384905837270662077482433641737604865838708226513053195838337186369848834839331448140024050370375361461805580333735849515486890917607164741870436493828079321547044676703225603801147464155057130007845587470977821111717882274826158141564666079550963295314621370367786128493097408078219513157534704464997271880022903449598909606104163194735505230599628678407349319366733432795956380134014342787862193275714994228265254792551928272523565361935809692907912766975765217742408855136735518858675706190961587525927128024782568289170998418059560408631047947422373766965765685910255085119548644916984372984074010516351060113997817878558194371487184661787745273128741146284861702234261095028346206355761512537982898312085977851879981655651888297464670680455819071702800519036632103882538981881645437459606618562335113709740077519051287841733550242079422487645784009476808319088558200972380654736229339322978205462112137679187732150528470431618418950877903719832723043813900518339543536863783632107340956661775567849541602003337072967742897360739807134278194061415920759794577904982933639484432663050506825877164126439436394599596887557989982616515435311203731498629160401158256642812297415728465852640792342588510987497524357453326050742037818475703678310876030024272972881591281506408132985753604 7693160634470576529186601979714622628986404432422316588482334084137122377424628466602922183523463963020717359480763391678234430787139009865717315233008407061056574543592757749564230700535192104479034334252408702179920705779889818741793642635349474015204371137637609377745838113369313617942796439557536054121478377974810612692602630464690041818030788947195342942910758067177344564289013003178956613917862110341222760495793395878903656775213395130584694108741776807872929059675425003301329739829839664083852228849279772768243829153794769170203478997928404511690499704347729993055258315703524627340289628601705721186946713977370785287995582441341030107502567626417447031213590042549724491095930424084379608035865862108692498494526609010540629566793127082281355542369358710927374314077653303621778669965236568568648444608668339754495461573192939682943858784081895611459917214520069861251825482998617516396599429815477380832585704805205438174113802394035367951999131040769366533711604362404938406418517987898752628994389006747999971797894195088382041567873786700986301860378436259819806772745612097285965196587105738389626665758501187762466538834220319826397365632755748343070789198661344169775237532486055530947992755010868524670262982952849830902884626522081740603796782573876009469237494518470360324381609343628939113344890040159492818446829830223627791217196342205841626562979924566386439255826711511656540279362168386660114031063286637146514576197250177819630860679000999919144972142863806433975499396895124340171376039164145959751191318171310630283954631965629383357638680249407893155586225433000013446818498420326644380160088804273444220790384499524498615964334544141990279056237670162384288194248238558241705273150778150047221943062639087804066121231779132982071343510886306378592441660246203455873069641635757970313642215580071087177812713324248205757753495893615426857878003818023419432244417846860683495887580346392554954547050543624451845166657168489431031372216644328973403315905652992220504306738351346971615239516789966665481972674123213377317683955829219192431045546510023177860966698400219624569185471458780674032427132507305258390688545416679677849673859675168544868215245726138039564580861084221692447029699113682728042583911786943978330181410083806489732871040575704962049267657538632814745576096140252614832221472672513846851853166661982377206056457605241260572237633286045572144363883210335008977174587209317177247616987970839570134987174514048128970741908819167053491350754451236817276507273019127988691652377079224946845728050220316325230024106421598853134268339735335606004386553883843534506832686810392553942270539217422403875609481780165821304467989311254819559886020176808970529521085039362686204880221996530420868050931611827692803898841999422103010036939820347603698402642850654158095247217376965742294352625971098727071131902126072722709349578436228863483556433607363383350424072523511790596105055258594516618988728273134676231979883545319546756468620598877121989180667960805301358990437302709229311503014583859413157215159327330971803653058618978353036962732195383027086180204515103943305366222924124096273888275973862330910480254715452478179248952612835404575043072731217580451174407 12447795387486098736378811924705779701477308996327892323532743603878386108392757433622993184168889180119502294270574122731799876980933901923236878871683131031093680531093947410889533965413162917167228773025957093959045444671900752612387749621002141857366407398652040840543941843734708451303356228086006003332827676999644357689155644920381248826060276176349951404022016702227935482289561295149763164935966125947348260174681576445256366515745173420732649758807027467744587180200185724604693693560781342826808267442582387136248980119786245947899162529705917245730642161013313456867872794099928964513914210515058835455747812254461228174923646166872269774643672652392710636111349760183958001112646047616234839412945517192397734684211878133788053411324463855241951301020439043984271424877276967719892061152569407454508620824213397099243358817069042705602255591652729383338360199708806923372491398041682101150400482344770046756883708283739044522147876753082818957211708431423271249699802860751041626234370194787662387127062047877960635316094904856126566323883684662682805761415274632735447657733490632656714793848912795723206171170849834828007113049625633159660398697121753160477745699167959764327192845002430939622483268943993129728661915625354825236458285620464843380798800289947283337946005058413425455764222248593468803880546674847079092818834363024327220393212618751714665639446748181218877287127613796160000537626284917935265444604483625169891789361848876451122645241035692178111331747992510924439856197576039760427480909530958109690835873467897220723020826503264310321990256619703939055863832562948014697391329503250344793689403144012229650161298868239592272405593257139877724383945856710261221391818624039775634116009662090267825282362944368542720350662740867994396029593176423957335704491039962104258204366064487696196519106016199893866118575260927492342353420479573146212690890310456204087813410104553619512934110656744618432931956380895113922649090810227035897210924870842026599154242839362069339146069799486995665609892151428471062306409972728864208601562993961062867539374589344724905643401625823425716649626515910681878014603485126370108570820242837819414339939226131840182836616093924168057678269162441205604564403578679999922606815236542887936285573278541994963470669254112311368634390971428771125710110483040477025497187666742112106645718590254900771418393414934168485004609051263314553219019945853867652880778170904703174745012753407859305985592573608537601789856241540820457116440361491902396055917936112361675726387595576006959725868098874519601511291083386598407397080881620467706620814978871880713188448322930536840582625195274283857265133668463285975148445130326522360405056808912853068502966684800145811498784331644130608128450663115534537449084078844590655820949297155922786960843823034812831476556699943947756464763650286459221660372557691141660227482156061586527370334125702926887287856155619131552766830826444058220992065346102419129340623352453824950530036519636916567085650894444785791653487809535106475629454020254012754102717317313588319088369822709851666123133353639669898477620243569795946158565512635083771412633427188381652518073191156156490124982637108377456634354237625713436928011 20140956021956675265565413904420402330463713428750208912015077688015508485817385900225915367692353143140219653751337514410034307768072911788954194104691538092150255074686705160453764665948355021646263107278365796138966150451790571354181392256351615872570778536289650218289779957104022069246152667643542057454306054974454970381758275385071290644091065123545294346932774769405280046578574298328719778853828236288571020670474972324160023290958568551317343867548804275617516239875610727906023433390621006910660496291862159904492809273581015118102641527634321757421141865361043449923131109803453591854203839116764556642694526231832013462919228608213299882146240278810157667324939802733682492208576471700614447448811379301090233178738487144328682978117590937523306843389797754911645738954930271341670731117805976023157065432881736853738820390261982388546114375734624994798277414228876784624316881040299617546999912160247427589469413088944482696261679147118186909210839472192637783411407223155980032652888182686415016121451054625960607113989099944508607891757471363669107621793710892555254430479102729942679990436018534112832836929351022590473651883845952986057764329877501503548534897829303934102430377488486470570476023954861654398924898578204656139342912142546583984595582863823292807183499576883785780145831592222407917225436715006571911265664193247955011610408960957556292202426672747605316542954325307816540816988453304595379475667770262316406365559099054270753505920036692097256303890856317358415355594471164100598856948695104069442027191639207851006975458468893693679628936869111832211450057995948028144209827923576989173849491948285673870951683367764090888369927801281868003440183526872645509586066862598017339389160440240315047225425583456346786471894520000976467373104062730335928146151286165560131274007700245666510161321596270981043931288585175698100106916373188573070568894128479623520057827951414303008821691003137173387479006924519565767815747978716466928583141515171000002470148492354289843452808150833967280849408941395136544279084095942241526285518823180255298584921099367902766610100026043050285835097974691355910441735992431628499259365659517497264013798901300385051051861820062207622259130246662898051594102692362727965190727023486866266466983362348484696341709829817273417902048510061585871286206623293091857718660339255958958498885252237277977474851020175429057242242337308886697582903156188876630055365380221880422362000724247429440972767087656666572531765060707873948467194812728719672563190955240350367378764674800953805453918319190844831535397504985451541665420616956073711007368862715415220021135133323090782853164412696687732874615448629107279616434441581341920291076985721823598024051724162832016379006328174551476179382274943227341347926078266693665857889117503526485363486673688970926723774076909690050817389621385186292792274683763864369577060592290450010926767733066310237711928679130922148871886085038574839980793619237095361320506897773371706998657118514038556266318855250087150643925112244335787132468604113425911317876644644560122741428441688204703085865549022696984657824758673739251524788436759180045300909401050712562998327906608634669373935249943782031677426968843293888102418 32588751409442774001944225829126182031941022425078101235547821291893894594210143333848908551861242323259721948021911637141834184749006813712191072976374669123243935605780652571343298631361517938813491880304322890098011595123691323966569141877353757729937185934941691058833721800838730520549508895729548060787133731974099328070913920305452539470151341299895245750954791471633215528868135593478482943789794362235919280845156548769416389806703741972049993626355831743362103420075796452510717126951402349737468763734444547040741789393367261066001804057340239003151784026374356906791003903903382556368118049631823392098442338486293241637842874775085569656789912931202868303436289562917640493321222519316849286861756896493487967862950365278116736389442054792765258144410236798895917163832207239061562792270375383477665686257095133952982179207331025094148369967387354378136637613937683707996808279081981718697400394505017474346353121372683527218409555900201005866422547903615909033111210083907021658887258377474077403248513102503921242430084004800635174215641156026351913383208985525290702088212593362599394784284931329836039008100200857418480764933471586145718163026999254664026280596997263698429623222490917410192959292898854784127586814203559481375801197763011427365394383153770576145129504635297211235910053840815876721105983389853651004084498556272282232003621579709270957841873420928824193830081939103976541354614738222530644920272253887486298154920947930721876151161072384275367635638848828282855211792047203861026337858226062179132863065107105071729996284972158004001619193488815771267313890558896042841601157426827333967538895092297903521112982236003683160775521058421745727824129383582906730977885486637792973505170102330582872507788527824889506822557260868970863402697239154293263850642326127664389478373764733362706680427612470874910049863846103190442460336852761719283259784438935827607871238055967922521755801659881791820410963305414679690464838788943502825794066386013026601624391331716359182598877950320962946459301092823607606585494068671105734887081817141318166124295688712627672253501651866476002484724490602037788456339477557998607830185902355316678353738127432225233888477913986375679937399409104103656158506271042727887797542260029754202752556640890479659812379083929584786536439481490356996996317106333568883215848005998071065144603842492178748893244435109597542246851388572201250801923102042744282936143551126583597107013477655288746958359661265204174321621302248694405583635174220622068619108891352712043105152270376960765179786418065364433046688588372049949062501498576541417628183841587295933209583456253627623435789607970971590139749117092393254764879571907864280696133794634676666527018408962977827877790659818682084307832938058761878797010157111284321678838414659449272324330496723783758200330776853637807282153271671645514452647241455006029804542748352036538297101858769237124999784834750053701638716911482633060972858965339514490661130250227196657528693638150955123351969749694872942297412921779442262761922624367438665420593961958148441829798264398056369208998902662366883135445002243535197683353949394263816713542828239094215516401097764791159498917887052159488311781206469007325030429 52729707431399449267509639733546584362404735853828310147562898979909403080027529234074823919553595466399941601773249151551868492517079725501145267081066207215394190680467357731797063297309872960459754987582688686236977745575481895320750534133705373602507964471231341277123501757942752589795661563373090118241439786948554298452672195690523830114242406423440540097887566241038495575446709891807202722643622598524490301515631521093576413097662310523367337493904636018979619659951407180416740560342023356648129260026306706945234598666948276184104445584974560760572925891735400356714135013706836148222321888748587948741136864718125255100762103383298869538936153210013025970761229365651322985529798991017463734310568275794578201041688852422445419367559645730288564987800034553807562902787137510403233523388181359500822751689976870806720999597593007482694484343121979372934915028166560492621125160122281336244400306665264901935822534461628009914671235047319192775633387375808546816522617307063001691540146560160492419369964157129881849544073104745143782107398627390021021005002696417845956518691696092542074774720949863948871845029551880008954416817317539131775927356876756167574815494826567632532053599979403880763435316853716438526511712781764137515144109905558011349989966017593868952313004212180997016055885433038284638331420104860222915350162749520237243614030540666827250044300093676429510373036264411793082171603191527126024395940024149802704520480046984992629657081109076372623939529705145641270567386518367961625194806921166248574890256746312922736971743441051697681248130357927603478763948554844070985810985350404323141388387040583577392064665603767774049145448859703613731264312910455552240563952349235810312894330542570897919733214111281236293294451780869947330775801301884629191996793612293224520752381464979029216841749208741855953981152431278888542567253225950292353828678567415451127929066007382225530577492663018965207889970229934245458280586767659969754377207901184026604094539824070649026051686101154930227308710034218744150864578164613347261172600640321573464709216788080530438863601677909526288319822465293393698898075469989627107089551561872813942367537028732610284940339734048583302196529655767001707752608963405455852988269283516620469219540003238964356154088913746858204438487991551942868282523729626660740934508345254030023643489094729456726368095455285026599489093725881087948384826258231620912991508931348464019469014201902718187931126748921870746853386362956568354050829986949341741182299846593062410483916945177914570633704737256209264582086093357501490727922115532615128635552704302711153230718589576718406288954020667659323014364565721500534381314013489206200987210780356500264551070133125809844256796987993233560487215213001989220144936235377977987536727532162975757687817170412754684924104853763327858099542893056831807244921925218870399381603340642486549223869591835547362711713513880975850510602996521207900953652584576609851981637148000568364527350756664993679618288604944960092941338034023778049894391228480864576738470606602708564571226706086261072294864451685063867793269760917274449208142386153443862014452229289806778514729004373425828872853136995941519989208175312301213132847 85318458840842223269453865562672766394345758278906411383110720271803297674237672567923732471414837789659663549795160788693702677266086539213336340057440876338638126286248010303140361928671390899273246867887011576334989340699173219287319676011059131332445150406173032335957223558781483110345170459102638179028573518922653626523586115995976369584393747723335785848842357712671711104314845485285685666433416960760409582360788069862992802904366052495417331120260467762341723080027203632927457687293425706385598023760751253985976388060315537250106249642314799763724709918109757263505138917610218704590439938380411340839579203204418496738604978158384439195726066141215894274197518928568963478851021510334313021172325172288066168904639217700562155757001700523053823132210271352703480066619344749464796315658556742978488437947072004759703178804924032576842854310509333751071552642104244200617933439204263054941800701170282376282175655834311537133080790947520198642055935279424455849633827390970023350427404937634569822618477259633803091974157109545778956323039783416372934388211681943136658606904289455141469559005881193784910853129752737427435181750789125277494090383876010831601096091823831330961676822470321290956394609752571222654098526985323618890945307668569438715384349171364445097442508847478208251965939273854161359437403494713873919434661305792519475617652120376098207886173514605253704203118203515769623526217929749656669316212278037289002675400994915714505808242181460647991575168553973924125779178565571822651532665147228427707753321853417994466968028413209701682867323846743374746077839113740113827412142777231657108927282132881480913177647839771457209920969918125359459088442294038458971541837835873603286399500644901480792241002639106125800117009041738918194178498541038922455847435938420888910230755229712391923522176821212730864031016277382078985027590078712011637088463006351278735800304063350148052333294322900757028300933535348925148745425556603472580171274287197053205718931155787008208650564051475893173768011127042351757450072233284452996059682457462891630833512476793158111117103329776002290804546955895431487354414947547625714919737464228130620721275156164835518828817648034958982133929064871105363911115234448183740785811543546374671972096644129444015966467997676442990974927473042299865278840835960229624150356351252101088788092937221635475261339890394624141735945114453289199186749360274365195927652482475047616576027679558006934889486410187074921175007665205262759634465161169963809801408737945774453589069215554875335813491155321573697628774681729551439790423614109156546263736545890007086440302045830346029724743628638630913154113682813893789146193585397070481683344574991176931078088542088787672134587647811915644795048151060751098941946392489262309215565946822425030012147667136538443124435630616965665381696164728477321697569166673876429186146088994523087520971450604784487711498348631029552149319908003840961926511549916124342642767398227765022056044394815948802970258354639833035238750955803220312656313852848303242159064568560857006401024970484317441503863354347430750928714763160809646891496335547707678727995057528900994031130102138216988371771024048101008300989381781308538163276 138048166272241672536963505296219350756750494132734721530673619251712700754265201801998556390968433256059605151568409940245571169783166264714481607138507083554032316966715368034937425225981263859733001855469700262571967086274655114608070210144764504934953114877404373613080725316724235700140832022475728297270013305871207924976258311686500199698636154146776325946729923953710206679761555377092888389077039559284899883876419590956569216002028363018784668614165103781321342739978610813344198247635449063033727283787057960931210986727263813434210695227289360524297635809845157620219273931317054852812761827128999289580716067922543751839367081541683308734662219351228920244958748294220286464380820501351776755482893448082644369946328070123007575124561346253342388120010305906511042969406482259868029839046738102479311189637048875566424178402517040059537338653631313124006467670270804693239058599326544391186201007835547278217998190295939547047752025994839391417689322655233002666156444698033025041967551497795062241988441416763684941518230214290922738430438410806393955393214378360982615125595985547683544333726831057733782698159304617436389598568106664409270017740752766999175911586650398963493730422449725171719829926606287661180610239767087756406089417574127450065374315188958314049755513059659205268021824706892445997768823599574096834784824055312756719231682661042925457930473608281683214576154467927562705697821121276782693712152302187091707195881041900707135465323290537020615514698259119565396346565083939784276727472068394676282643578599730917203939771854261399364115454204670978224841787668584184813223128127635980250315669173465058305242313443539231259066418777828973190352755204494011212105790185109413599293831187472378711974216750387362093411460822608865524954299842923551647844229550714113430983136694691421140363926029954586818012168708660967527594843304662303990917141573766729863729370070732373582910786985919722236190903765283170607026012324263442334548482188381079809813470979857657234702250152630823401076721161261095908314650397897800257232283097784465095542729264873688549980705007685528579124369421188825186252490417537252822009289026100944563088812184897445803769157382083542284330458720638107071663724197853639593774080827062995141191636647368408372120556911423301195413415464594242733561364565586890365084864696506131112431582031951092201629435345679650741225038840334377147571575618505986108919161413823511636045041881460725122820613159108945668028394028161831113685295148119305550983708584538836864072986160732789906447195892577782962210860775087052930518345729641771674899289250192718239671020635407064436013697649306290236168478248535394323527507598886276682670555355347677195629158675214597516391384635805149205282263364062740319086882627867240296752293478985400787699964837549293128048540484380293523481239057785309128942491091892746828567749429637009636744841042440331850423211862512005402659922904525048862880164134492734194624404546228333386583395151480942482588546959584793128180088989826998362550705081329167818897535175163565570972251676570578513798727806032494618721984524078084096099638721701151540742447286818707772545859106511642817244624161044042528290197557093609751296123 223366625113083895806417370858892117151096252411641132913784339523515998428502874369922288862383271045719268701363570728939273847049252803927817947195947959892670443252963378338077787154652654759006248723356711838906956426973828333895389886155823636267398265283577405949037948875505718810486002481578366476298586824793861551499844427682476569283029901870112111795572281666381917784076400862378574055510456520045309466237207660819562018906394415514201999734425571543663065820005814446271655934928874769419325307547809214917187374787579350684316944869604160288022345727954914883724412848927273557403201765509410630420295271126962248577972059700067747930388285492444814519156267222789249943231842011686089776655218620370710538850967287823569730881563046776396211252220577259214523036025827009332826154705294845457799627584120880326127357207441072636380192964140646875078020312375048893856992038530807446128001709005829654500173846130251084180832816942359590059745257934657458515790272089003048392394956435429632064606918676397488033492387323836701694753478194222766889781426060304119273732500275002825013892732712251518693551289057354863824780318895789686764108124628777830777007678474230294455407244920046462676224536358858883834708766752411375297034725242696888780758664360322759147198021907137413519987763980746607357206227094287970754219485361105276194849334781419023665816647122886936918779272671443332329224039051026439363028364580224380709871282036816421641273565471997668607089866813093489522125743649511606928260137215623103990396900453148911670907800267471101046982778051414352970919626782324298640635270904867637359242951306346539218419961283310688468987388695954332649441197498532470183647628020983016885693331832373859504215219389493487893528469864347783719132798383962474103691665489135002341213891924403813063886102851167317682043184986043046512622433383374315628005604580118008599529674134082521635244081308820479264491837300632095755771437880866914914719756475578133015532402135644665443352814204106716574844732288303447665764722631182253253291965555247356726376241741666846661097808337461530869928916377084256673606905365084878536929026490329075183810087341062281322597975030118501266464387785509212435574839432301823334559892370609369813163733291497852388087024909099744186388342937636542598840205401547119989235221047758232201219674969172727676890775236074274882960983954787666346758324978780351304846813896298559252621069561018732057710099569296020589203401693367093873319760309289269360785117322484611317662055376287665242260687047899356659839635456816604370308769343750928221163025796082725326111322681237410465738441277944921149322591931349288112673701184283347164353899930338854126707247217303385188525972283617064850077311515123491418028829020356502605967859425807825817712112504685831571172976114997259188862935222513786450640060258566623257753895518631532724265812493045116338134710211143034954809242812528889824806675684408858537267171944456098408639439546296891285558805314224626163418839945630218675207018934177471061056599743724422577373276647054895955302591160379925369650699287238893742991135057248859219470442344347608766576989208649859805616395185092143536591186938874918289459399 361414791385325568343380876155111467907846746544375854444457958775228699182768076171920845253351704301778873852931980669184845016832419068642299554334455043446702760219678746373015212380633918618739250578826412101478923513248483448503460096300588141202351380160981779562118674192229954510626834504054094773568600130665069476476102739368976768981666056016888437742302205620092124463837956239471462444587496079330209350113627251776131234908422778532986668348590675324984408559984425259615854182564323832453052591334867175848398361514843164118527640096893520812319981537800072503943686780244328410215963592638409920001011339049506000417339141241751056665050504843673734764115015517009536407612662513037866532138112068453354908797295357946577306006124393029738599372230883165725566005432309269200855993752032947937110817221169755892551535609958112695917531617771959999084487982645853587096050637857351837314202716841376932718172036426190631228584842937198981477434580589890461181946716787036073434362507933224694306595360093161172975010617538127624433183916605029160845174640438665101888858096260550508558226459543309252476249448361972300214378887002454096034125865381544829952919265124629257949137667369771634396054462965146545015319006519499131703124142816824338846132979549281073196953534966796618788009588687639053354975050693862067589004309416418032914081017442461949123747120731168620133355427139370895034921860172303222056740516882411472417067163078717128776738888762534689222604565072213054918472308733451391204987609284017780273040479052879828874847572121732500411098232256085331195761414450908483453858399032503617609558620479811597523662274726849919728053807473783305839793952703026481395753418206092430484987163019846238216189436139880849986939930686956649244087098226886025751535895039849115772197028619095234204250028881121904500055353694704014040217276688036619618922746153884738463259044204814895218154868294740201500682741065915266362797450205130357249268238663959212825345873115502322678055064356737539975921453449564543574079373029080053510524248653031821821918971006540535211078513345147059449053285798273081859859395782622131358938315516430019746898899525959727126367132412202043550794846506147319507238563630155462928333973197672364954355369938866260760207581820523045381801758402230785332401569967134010354320085744264363313651257001123819878520210581753925624186022795122043494329900597286337413765975310122070888666111442479457180530712728404966257231795721528924987005055457408574911768825907023448181735041537020455148707882940477139622050496231903657300827115073392699896062315046275443565782343316644474901752138927251211385491070179884682436201208783169623847024455285686531322336405892517982704917356919422214055359574879186231737115711648223742902720152904793226605412077342235124699221516599377552712344174280299095579582551350459370086321644948268542361010653535485448188557922073655040357469165717053938687686839818901592731891576490684431795222834697777833768147352273809419291598928935457217037757724015506638879954134918887988148345528323625474469101318966412419988372683811316977839090773778950010760212889631166316539122848315161502622861019346136186064881384495968528040755522 584781416498409464149798247014003585058942998956016987358242298298744697611270950541843134115734975347498142554295551398124118863881671872570117501530403003339373203472642124711092999535286573377745499302183123940385879940222311782398849982456411777469749645444559185511156623067735673321112836985632461249867186955458931027975947167051453338264695957887000549537874487286474042247914357101850036500097952599375518816350834912595693253814817194047188668083016246868647474379990239705887510117493198601872377898882676390765585736302422514802844584966497681100342327265754987387668099629171601967619165358147820550421306610176468248995311200941818804595438790336118549283271282739798786350844504524723956308793330688824065447648262645770147036887687439806134810624451460424940089041458136278533682148457327793394910444805290636218678892817399185332297724581912606874162508295020902480953042676388159283442204425847206587218345882556441715409417659879558571537179838524547919697736988876039121826757464368654326371202278769558661008503004861964326127937394799251927734956066498969221162590596535553333572119192255560771169800737419327164039159205898243782798233990010322660729926943598859552404544912289818097072278999324005428850027773271910507000158868059521227626891643909603832344151556873934032307997352668385660712181277788150038343223794777523309108930352223880972789563767854055557052134699810814227364145899223329661419768881462635853126938445115533550418012454234532357829694431885306544440598052382962998133247746499640884263437379506028740545755372389203601458081010307499684166681041233232782094493669937371254968801571786158136742082236010160608197041196169737638489235150201558951579401046227075447370680494852220097720404655529374337880468400551304432963219896610848499855227560528984118113410920543499047268136131732289222182098538680747060552839710071410935246928350734002747062788718338897416853398949603560680765174578366547362118568888085997272163987995139537345840878275251146988121407878560844256550766185737867991239844095660262306763816214208279178548295212748207381872176321682608590318982202175357338533466301147707009895867342006759094930708986867022008448965107442320544817259234291656531942813403062457286262893865568281734767519103230364113148294606729622789568190101339867327931241775368681130343555306792022595514870931970296547555410985817828200507147006749909709841088225576066688718612789206420630141287181003498189238240812297700986846435197414896018860324815766697844272553943229508059499397096913308120390968569988376496281890131688720261671135884417143628117225340842358168891893665997881885367490580205196132534813662111233970548874909967452971011378355216025385449043653109821367893443329203039278905436886394309723155144540668580245508688012330601052423124189846920956270394492714374811901207109502812882030222611609025993344075540466900075085276466028530564526692632284798075312278408529582828512493515503310451269158748435140530203862274244074725053706157588034045455017768881087435712964742949684109941010734662612410725718804970680370424403910126792345358023383098555871582081908836198869979683331975513925305699837523811362428477414531228329601472571434843446330214921 946196207883735032493179123169115052966789745500392841802700257073973396794039026713763979369086679649277016407227532067308963880714090941212417055864858046786075963692320871084108211915920491996484749881009536041864803453470795230902310078756999918672101025605540965073275297259965627831739671489686556023435787086124000504452049906420430107246362013903888987280176692906566166711752313341321498944685448678705728166464462164371824488723239972580175336431606922193631882939974664965503364300057522434325430490217543566613984097817265678921372225063391201912662308803555059891611786409415930377835128950786230470422317949225974249412650342183569861260489295179792284047386298256808322758457167037761822840931442757277420356445558003716724342893811832835873409996682343590665655046890445547734538142209360741332021262026460392111230428427357298028215256199684566873246996277666756068049093314245511120756407142688583519936517918982632346638002502816757553014614419114438380879683705663075195261119972301879020677797638862719833983513622400091950561121311404281088580130706937634323051448692796103842130345651798870023646050185781299464253538092900697878832359855391867490682846208723488810353682579659589731468333462289151973865346779791409638703283010876345566473024623458884905541105091840730651096006941356024714067156328482012105932228104193941342023011369666342921913310888585224177185490126950185122399067759395632883476509398345047325544005608194250679194751342997067047052298996957519599359070361116414389338235355783658664536477858558908569420602944510936101869179242563585015362442455684141265548352068969874872578360192265969734265744510737010527925095003643520944329029102904585432975154464433167877855667657872066335936594091669255187867408331238261082207306994837734525606763455568833233885607949162594281472386160613411126682153892375451074593056986759447554865851096887887485526047762543712312071553817898300882265857319432462628481366338291127629413256233803496558666224148366649310799462942917581796526687639187432534813923468689342360274340462861311000370214183754747917083254835027755649768035487973630420393325696930329141254805657523189114677607886392981735575332239854522588368054080797803851450051966692612749191227838765954099721874473169230373908502188550145834949991859742098113263643345335815140697875392536286958828522188971420367433931196399582126131333029545031753335418126173353026132378764516542701029953292445977646418771525026105953103666993136424943847329871224106419184322769136531507681132138450328575539676452928853635903940627920623918971962999490536328013287655888633612457676009314526360269242719132447343920304732291118652985076118750622594858402810501711916771380059002339350598360686122461492960796461273495954892260252316803988411408165235394279028536267189156080969616009313752364613551283783111977609805162959485363430397185415168617446287119564016012715250554358453115669747574246636767200180355322212044001050324925824961999085108941852558821853509861843464746616697816544652750722466965190748820964869581500398874064333294305844893505229093204765346396066909872849421172682615148880739896221606680241844822685838972865051338433877364515666353955930811974370970443 1530977624382144496642977370183118638025732744456409829160942555372718094405309977255607113484821654996775158961523083465433082744595762813782534557395261050125449167164962995795201211451207065374230249183192659982250683393693107013301160061213411696141850671050100150584431920327701301152852508475319017273302974041582931532427997073471883445511057971790889536818051180193040208959666670443171535444783401278081246982815297076967517742538057166627364004514623169062279357319964904671390874417550721036197808389100219957379569834119688193724216810029888883013004636069310047279279886038587532345454294308934051020843624559402442498407961543125388665855928085515910833330657580996607109109301671562485779149724773446101485804093820649486871379781499272642008220621133804015605744088348581826268220290666688534726931706831751028329909321244756483360512980781597173747409504572687658549002135990633670404198611568535790107154863801539074062047420162696316124551794257638986300577420694539114317087877436670533347048999917632278494992016627262056276689058706203533016315086773436603544214039289331657175702464844054430794815850923200626628292697298798941661630593845402190151412773152322348362758227491949407828540612461613157402715374553063320145703441878935866794099916267368488737885256648714664683404004294024410374779337606270162144275451898971464651131941721890223894702874656439279734237624826760999349763213658618962544896278279807683178670944053309784229612763797231599404881993428842826143799668413499377387471483102283299548799915238064937309966358316900139703327260252871084699529123496917374047642845738907246127547161764052127871007826746747171136122136199813258582818264253106144384554555510660243325226348152724286433656998747198629525747876731789565515170526891448583025461991016097817351999018869706093328740522292345700348864252431056198135145896696830858490112779447621890232588836480882609728924952767501861563031031897799009990599935226377124901577244228943033904507102423617796298920870821478426053077453824925300526053767564349604667038156677069590178918509396502955298955431156710364240087017690148987758926791998078036151150672999529948209608316873260003744024297347296843133185313315089460383392865369755070035454121704334235834489393576399594487056796795279768624518181961081965441194885120704496271041430699328309554343393120941716914989342182217410326638480036294941463176506351749419714850991553722963331171240473449475835657012337323806939950102190551320962707654686990804263456876712366039567180529235363636695930645022917230132185830759609344180643098883907679956130512996730991781349569675312408245636733299337643476455118394402352623533951028718075565869781165717737302220423712112160718491804015325500771866233347667805678047404792985384233920096177565995331451660457036077037240010502028127176514758393285924859640027774568511356774472725882068692531563585592546577241943186643251190982025982776219595712673870825522495270209073360965492202947383185927283875559667449877510201634466697632088463687209914874858761975604244112809599783138264986215317909139219997110704419450008428721003254591451347750719579553582194167150522523362784227479815848408592845267826527365655420701185364 2477173832265879529136156493352233690992522489956802670963642812446691491199349003969371092853908334646052175368750615532742046625309853754994951613260119096911525130857283866879309423367127557370714999064202196024115486847163902244203470139970411614813951696655641115657707217587666928984592179965005573296738761127706932036880046979892313552757419985694778524098227873099606375671418983784493034389468849956786975149279759241339342231261297139207539340946230091255911240259939569636894238717608243470523238879317763523993553931936953872645589035093280084925666944872865107170891672448003462723289423259720281491265942508628416747820611885308958527116417380695703117378043879253415431867758838600247601990656216203378906160539378653203595722675311105477881630617816147606271399135239027374002758432876049276058952968858211420441139749672113781388728236981281740620656500850354414617051229304879181524955018711224373627091381720521706408685422665513073677566408676753424681457104400202189512348997408972412367726797556494998328975530249662148227250180017607814104895217480374237867265487982127761017832810495853300818461901108981926092546235391699639540462953700794057642095619361045837173111910071608997560008945923902309376580721332854729784406724889812212360572940890827373643426361740555395334500011235380435088846493934752174250207680003165405993154953091556566816616185545024503911423114953711184472162281418014595428372787678152730504214949661504034908807515140228666451934292425800345743158738774615791776809718458066958213336393096623845879386961261411075805196439495434669714891565952601515313191197807877121000125521956318097605273571257484181664047231203456779527147293356010729817529709975093411203082015810596352769593592838867884713615285063027826597377833886286317551068754471666650585884626818868687610212908452959111475546406323431649209738953683590306044978630544509777718114884243426322040996506585400162445296889217231472619081301564668252530990500462746530463173326571984445609720333764396007849604141464112733060867691033038947027312497139930901179288723580257703216038685991738119889855053178122618179320117695008365292405478657053137324285924759652985479599629587151365721553367395887264234842917336447682784645349543100189934211268049568824860965298983829914459468173820824063554458528466040311411739306091864596513171915309913137282423273378616992452769813065839973216511924477922772740983370318239506032201193765895453482075783862349912893053769183687745906554984558214910682641199481502571074861661373813965271470321475846083768089771387529968099615061883398216284143800652619625393807245684626934605905976018470090820375423126693471276519027147468698160728183976219449218991803771114500069090164701447962264827029808941301632939665045302188222331504342801389610480196724225233118209626511341879541128309677069036837249832937527996720204869911297237309977850705156562589957193741001704306651773557022856362912854226147734539271259398286790454202032492127779842697413177311720974948251164514176741214409676880065607582940473825613208473847471559292060211414368313201876050815516918301570424427274066496631459475775188874408995345209201757092531154282285957360934180483296467395072155807 4008151456648024025779133863535352329018255234413212500124585367819409585604658981224978206338729989642827334330273698998175129369905616568777486170655380147036974298022246862674510634818334622744945248247394856006366170240857009257504630201183823310955802367705741266242139137915368230137444688440324590570041735169289863569308044053364196998268477957485668060916279053292646584631085654227664569834252251234868222132095056318306859973799354305834903345460853260318190597579904474308285113135158964506721047268417983481373123766056642066369805845123168967938671580942175154450171558486590995068743717568654332512109567068030859246228573428434347192972345466211613950708701460250022540977060510162733381140380989649480391964633199302690467102456810378119889851238949951621877143223587609200270978723542737810785884675689962448771049070916870264749241217762878914368066005423042073166053365295512851929153630279760163734246245522060780470732842828209389802118202934392410982034525094741303829436874845642945714775797474127276823967546876924204503939238723811347121210304253810841411479527271459418193535275339907731613277752032182552720838932690498581202093547546196247793508392513368185535870137563558405388549558385515466779296095885918049930110166768748079154672857158195862381311618389270060017904015529404845463625831541022336394483131902136870644286894813446790711319060201463783645660739780472183821925495076633557973269065957960413682885893714813819138420278937460265856816285854643171886958407188115169164281201560350257762136308334688783189353319578311215508523699748305754414420689449518889360834043546784367127672683720370225476281398004231352800169367403270038109965557609116874202084265485753654528308363963320639203250591586066514239363161794817392112548360777734900576530745487764467937883645688574780938953430745304811824410658754487847344884850380421164535091409992131667950703720724308931769921459352902024008327921115030482609681236791045377432567744691689564367680428995602241908641204585874433902681595289038033586921458597388551694350653817000491358207232976760658514994117148448484129942070868271605938246909693086401443556151656583085533894241632912989223623926934448208854738680710976724618235782706202752820099471247434425768700661625968419348022095779109683083986355781906028995653413586744807682780736791192906067515308430854854197412615560834402779408293102134914679688430829672192455834361871962469363372434239344929317732796199673719833003871374239066869262639245205714946098076193868610642042190609177601967400966498763313900275602147139312280258160767305896240274313649350617175156815359939342851542709317807734296830541521095823900052978176186773726597965141937186521212227483226660787581968716773463036693263156609107310987069838287572456251600520367384941931857181261310155449637013370006717643068070354961696889860712096508076979342637179306002509414290749109167199136927644955497633799539799075958625528096973257034541468471647755946404979875313707126572972844761598485149885631211808829678096886794940466344916078069726018073630609824278275529323507533198986755234966926730291427681865517844382179055328771068576145867732564541320010970130694550206202007010662122815773341171 6485325288913903554915290356887586020010777724370015171088228180266101076804007985194349299192638324288879509699024314530917175995215470323772437783915499243948499428879530729553820058185462180115660247311597052030481657088020911501708100341154234925769754064361382381899846355503035159122036868405330163866780496296996795606188091033256510551025897943180446585014506926392252960302504638012157604223721101191655197281374815559646202205060651445042442686407083351574101837839844043945179351852767207977244286147735747005366677697993595939015394880216449052864338525815040261621063230934594457792033140828374614003375509576659275994049185313743305720088762846907317068086745339503437972844819348762980983131037205852859298125172577955894062825132121483597771481856766099228148542358826636574273737156418787086844837644548173869212188820588984046137969454744160654988722506273396487783104594600392033454108648990984537361337627242582486879418265493722463479684611611145835663491629494943493341785872254615358082502595030622275152943077126586352731189418741419161226105521734185079278745015253587179211368085835761032431739653141164478813385168082198220742556501246990305435604011874414022708982047635167402948558504309417776155876817218772779714516891658560291515245798049023236024737980129825455352404026764785280552472325475774510644690811905302276637441847905003357527935245746488287557083854734183368294087776494648153401641853636113144187100843376317854047227794077688932308750578280443517630117145962730960941090920018417215975472701431312629068740280839722291313720139243740424129312255402120404674025241354661488127798205676688323081554969261715534464216598606726817637112850965127604019613975460847065731390379773916991972844184424934398952978446857845218709926194664021218127599499959431118523768272507443468549166339198263923299957065077919496554623804064011470580070040536641445668818604967735253810917965938302186453624810332261955228762538355713629963558245154436094830853755567586687518361538350270441752285736753150766647789149630427498721663150956931392537495956557018361731032803140186604019797124046394224117567027388094766735961630313636222858180166392565974703223556521599574576292048106863988853078700042650435604744820790534615702911929675537244208987394762939597543454529602730092550111942052785119094520042883057502580687223740767991479835888939451395232178106167974887896200355307594965196817732190201975395573628005240382799808580062023632726057640557926812775817623803420625628739275675371181716903851982991567238871287974609397668365373534669280379873222650704112524418114301970242568964061044566277457448685336277825117205964647789295176572005323655471887326149118156635740204031254341160856672133418221425301520292965550408943926734883589760678583104863168774552412053905486543273659263524711886258771377747423998534139693649624504797184212548476543312487264995905671757156330668646659804285573096821932321538382323120991573812727869934546400607012367441486969270386022073319460098136795725985570892506563675006073927856551895339226547478081383570335740737875846400862806050483845031861852109139584341013638531103959942985141212941766298412542124412980507567136187493958590210845496978 10493476745561927580694424220422938349029032958783227671212813548085510662408666966419327505531368313931706844029298013529092305365121086892549923954570879390985473726901777592228330693003796802860605495558991908036847827328877920759212730542338058236725556432067123648141985493418403389259481556845654754436822231466286659175496135086620707549294375900666114645930785979684899544933590292239822174057973352426523419413469871877953062178860005750877346031867936611892292435419748518253464464987926172483965333416153730486739801464050238005385200725339618020803010106757215416071234789421185452860776858397028946515485076644690135240277758742177652913061108313118931018795446799753460513821879858925714364271418195502339690089805777258584529927588931861717661333095716050850025685582414245774544715879961524897630722320238136317983237891505854310887210672507039569356788511696438560949157959895904885383262279270744701095583872764643267350151108321931853281802814545538246645526154589684797171222747100258303797278392504749551976910624003510557235128657465230508347315825987995920690224542525046597404903361175668764045017405173347031534224100772696801944650048793186553229112404387782208244852185198725808337108062694933242935172913104690829644627058427308370669918655207219098406049598519095515370308042294190126016098157016796847039173943807439147281728742718450148239254305947952071202744594514655552116013271571281711374910919594073557869986737091131673185648073015149198165566864135086689517075553150846130105372121578767473737609009766001412258093600418033506822243838992046178543732944851639294034859284901445855255470889397058548557836367265946887264385966009996855747078408574244478221698240946600720259698743737237631176094776011000913192341608652662610822474555441756118704130245447195586461651918196018249488119769943568735124367723832407343899508654444432635115161450528773113619522325692044185580839425291204210461952731447292437838443775146759007396125989846125659198534184563188929427002742936144875654967332042188800234710608227816050416013804773931883895703189533779020246026920288635088149739194914665830055813937081181168179517781970219308392074408025478963926847483456047783431030728817840713471314482748853188424844292037969041471612591301505663557009490542049280627440885384636121545765355639529926777300779674250408648202532171622845677248504500285798011586399270109802575888786137267157652652094062164444758946062244585312117541376261697352559061511932165879645080263048626340574837351869239792358946042592169169206272254473372711568640975681808592660131383418010008764692427951320859744120876404505620308991394654085559414036506168885119076624983499842245613924114260093822261416258737567821644254102134994888338213556122159516254913804721877333134834705383536159494343911086747853429108900538081892976414445817778960231029554361721012874163555185655849314996679286654780924355467596291615301919372636621008280163910420094248608354196341582302347011992242755194095843358866834917945248022426937794400570603450469946540272772629965065244621108691207848611270061383379599849561285450771762153279791005102185395817586432731011561287080674330839732553094543675057773338194504620713026618838149 16978802034475831135609714577310524369039810683153242842301041728351611739212674951613676804724006638220586353728322328060009481360336557216322361738486378634933973155781308321782150751189258982976265742870588960067329484416898832260920830883492293162495310496428506030041831848921438548381518425250984918303602727763283454781684226119877218100320273843846561230945292906077152505236094930251979778281694453618178616694844687437599264383920657195919788718275019963466394273259592562198643816840693380461209619563889477492106479162043833944400595605556067073667348632572255677692298020355779910652809999225403560518860586221349411234326944055920958633149871160026248086882192139256898486666699207688695347402455401355198988214978355214478592752721053345315432814952482150078174227941240882348818453036380311984475559964786310187195426712094838357025180127251200224345511017969835048732262554496296918837370928261729238456921500007225754229569373815654316761487426156684082309017784084628290513008619354873661879780987535371827129853701130096909966318076206649669573421347722180999968969557778633776616271447011429796476757058314511510347609268854895022687206550040176858664716416262196230953834232833893211285666567004351019091049730323463609359143950085868662185164453256242334430787578648920970722712069058975406568570482492571357683864755712741423919170590623453505767189551694440358759828449248838920410101048065929864776552773230186702057087580467449527232875867092838130474317442415530207147192699113577091046463041597184689713081711197314041326833881257755798135963978235786602673045200253759698708884526256107343383269095073746871639391336527662421728602564616723673384191259539372082241312216407447785991089123511154623148938960435935312145320055510507829532400750105777336831729745406626704985420190703461718037286109141832658424324788910326840454132458508444105695231491065414559288340930659779439391757391229506396915577541779554393067206313502472637359684235000561754029387940130775616945364281286415317407253068795339566882499757858243549137676955730863276433199146090797381977059723428821692169536318961060054173380964469275934915479412283855531250254574418044938630071039977647358007322776924704702324393182791503624029589112828503657174524520977042907765996885304988878170895414987366214095877297692315045871820822557307911228889755912390837157084393439737193243764505438084690472089141444862122849469826252366420154519690249825694917349956323720985285119152490092692420897886852046966203576627544610974075849894575160736445143542447982109237006349216477873040004606068714121289110542253291102313084937449071897766440079990363384531242470816674414253196988823497717501250263378250458001620289991908982500926235553216313639733849087709925198840539605467093813417810246704934046755964992234396702768164062793779235185823565202958765169248011345517671347767734132392627483944282560452681511798264938275106204945733442940601702292743215240182166924211516848747619004610196681065113744888908237405346159222663779971463110014144952614200629181860404471168586772591418947010799259226000712367335934616794015131900144686526409456117536690954546428293616097138145095218956655565340474381998579303237464335127 27472278780037758716304138797733462718068843641936470513513855276437122401621341918033004310255374952152293197757620341589101786725457644108872285693057258025919446882683085914010481444193055785836871238429580868104177311745776753020133561425830351399220866928495629678183817342339841937640999982096639672740424959229570113957180361206497925649614649744512675876876078885762052050169685222491801952339667806044702036108314559315552326562780662946797134750142956575358686708679341080452108281828619552945174952980043207978846280626094071949785796330895685094470358739329471093763532809776965363513586857622432507034345662866039546474604702798098611546210979473145179105677638939010359000488579066614409711673873596857538678304784132473063122680309985207033094148048198200928199913523655128123363168916341836882106282285024446505178664603600692667912390799758239793702299529666273609681420514392201804220633207532473939552505372771869021579720482137586170043290240702222328954543938674313087684231366455131965677059380040121379106764325133607467201446733671880177920737173710176920659194100303680374021174808187098560521774463487858541881833369627591824631856598833363411893828820649978439198686418032619019622774629699284262026222643428154439003771008513177032855083108463461432836837177168016486093020111353165532584668639509368204723038699520180571200899333341903654006443857642392429962573043763494472526114319637211576151463692824260259927074317558581200418523940107987328639884306550616896664268252264423221151835163175952163450690720963315453584927481675789304958207817227832781216778145105398992743743811157553198638739984470805420197227703793609308992988530626720529131269668113616560463010457354048506250787867248392254325033736446936225337661664163170440354875305547533455535859990853822291447072108899479967525405879085401393548692512742734184353641112952876740810392941594187672907863256351823624972596816520710607377530273226846830905650088649231644755810224846687413227922124693964546372367024222560193062220400837528367117210366086059599553690760504795160328902335624576402223086643717456780319275513875725884229194901550457103094997194254074839642328982443523902556918523433695141438353505742545415795707665540356812454433404866472698646137112278548571323006375847038158798336300372002335641642653331844972649121602231558319877092288084013682834332897940022991255350904708194493047977927582129280502121920314530864913465752494411007034891332585418337844180664422258572065978149900673306778413979413850766434795937167329905651415796921354820805647324898286465700135989486724130053802970204611962057205813853577518075431474644448943945278976985559533329821972323339963115174377638344280263036548729476804145180337688211201977947405209869441453754344327344426948252515630241093541099876078982250131877064600875672211600269382981918996198802373066530545511322919788241942480623569215233605867265861229890408124318370063948881866203163309488790521120553099151094630996852951875160957103755743155350594181649601574372033713464614899154473401811825469715789695463799267558280860642605600561928621385388556168411691149788711805273703969421966107715374290427977877648313500330623113812576503200016264083173276 44451080814513589851913853375043987087108654325089713355814897004788734140834016869646681114979381590372879551485942669649111268085794201325194647431543636660853420038464394235792632195382314768813136981300169828171506796162675585281054392309322644561716177424924135708225649191261280486022518407347624591044027686992853568738864587326375143749934923588359237107821371791839204555405780152743781730621362259662880652803159246753151590946701320142716923468417976538825080981938933642650752098669312933406384572543932685470952759788137905894186391936451752168137707371901726771455830830132745274166396856847836067553206249087388957708931646854019570179360850633171427192559831078267257487155278274303105059076328998212737666519762487687541715433031038552348526963000680351006374141464896010472181621952722148866581842249810756692374091315695531024937570927009440018047810547636108658413683068888498723058004135794203178009426872779094775809289855953240486804777666858906411263561722758941378197239985810005627556840367575493206236618026263704377167764809878529847494158521432357920628163658082314150637446255198528356998531521802370052229442638482486847319063148873540270558545236912174670152520650866512230908441196703635281117272373751618048362914958599045695040247561719703767267624755816937456815732180412140939153239122001939562406903455232921995120069923965357159773633409336832788722401493012333392936215367703141440928016466054446961984161898026030727651399807200825459114201748966147103811460951378000312198298204773136853163772432160629494911761362933545103094171795463619383889823345359158691452628337413660542022009079544552291836619040321271730721591095243444202515460927652988642704322673761496292241876990759546877473972696882871537482981719673678269887276055653310792367589736260448996432492299602941685562691988227234051973017301653061024807773571461320846505624432659602232196204187011603064364354207750217004293107815006401223972856402151704282115494459847249167257310064824740163317731305508975510469473469632867933999710123944303148691367716235658436762101481715373784200146367146278472488811832836785938402575866019733038010476606537930370892583556861568841186989563411342499445676282667250118120100848331860436484022517694976355820661633255591479089003261152027036969231715359368549737519951024160018520942424788866231105982043996404519991417291379760184499115410146279183520067069026991403351591746566897285067985442744236701952241288909139323129299816912351264486876036752720272981990606958461740510645831742490642096559339369336930042653674114764338740140595555438251342913512457903064370290751302649415841871554634812328476521447802233947583018961146837680616424641016594738264656838721385786646106573241427515617681254297579366652594883932811520761670325876946027587855841071216646834645228663669451446786092948184877761368050384412048216859090653920634569964567851775686287379064126168165514329264103506889483568495906524728972688044764615999842250001463148556226070848644651392755940340872265354343496823478759851768674030993685874186958282236390686505291659901831601274295957320005350183543591294475238214729821506112920654143667906525116022743532456986188454286958501779319501547508403 71923359594551348568217992172777449805177497967026183869328752281225856542455358787679685425234756542525172749243563011238213054811251845434066933124600894686772866921147480149803113639575370554650008219729750696275684107908452338301187953735152995960937044353419765386409466533601122423663518389444264263784452646222423682696044948532873069399549573332871912984697450677601256605575465375235583682961030065707582688911473806068703917509481983089514058218560933114183767690618274723102860380497932486351559525523975893449799040414231977843972188267347437262608066111231197865219363639909710637679983714470268574587551911953428504183536349652118181725571830106316606298237470017277616487643857340917514770750202595070276344824546620160604838113341023759381621111048878551934574054988551138595544790869063985748688124534835203197552755919296223692849961726767679811750110077302382268095103583280700527278637343326677117561932245550963797389010338090826656848067907561128740218105661433254465881471352265137593233899747615614585343382351397311844369211543550410025414895695142534841287357758385994524658621063385626917520305985290228594111276008110078671950919747706903682452374057562153109351207068899131250531215826402919543143495017179772487366685967112222727895330670183165200104461932984953942908752291765306471737907761511307767129942154753102566320969257307260813780077266979225218684974536775827865462329687340353017079480158878707221911236215584611928069923747308812787754086055516764000475729203642423533350133367949089016614463153123944948496688844609334408052379612691452165106601490464557684196372148571213740660749064015357712033846744114881039714579625870164731646730595766605203167333131115544798492664858007939131799006433329807762820643383836848710242151361200844247903449727114271287879564408502421653088097867312635445521709814395795209161414684414197587316017374253789905104067443363426689336951024270927611670638088233248054878506490800935926871304684693936580485232189518704709690098329731535703531693870470396301116920490030362748245058476740453597091003817339950186423233010863735252808087346712511822631770767570190141105473800792005210534912539305092743743908086845037640884029788409795533915808513872217248938455922561449054466798745534140050412009636999065195767568015731370885379162604356004991170064027020424550983074332080418202825750189319783175754466314854473676568044996609120683853713666881428149981451195238647708987132621494557660973480481334609836552854186653393579760404586372312506945441768909820547747975136290691750848300999013050804440276585042162381396716482662515026427496565156226933917303029279261272421800424787793480912840933470177643731599018654939018527693387450862590791286910929638717595628659507448808106349228260155947709922841507187121128955717150198896966522293264545123658386362331166796757566852757478578762370413573708876512445191420990919893246329987398055922453582473570838365434699069834217763209165317715150936880998316100431387027952400394548106534522521866928715530536943374750923147432805511343902747977700189954063572520544437201836224578705393906351955282444263950020003525475534886761859042196953093900391845957316811568099535004979335765630681679 116374440409064938420131845547821436892286152292115897225143649286014590683289375657326366540214138132898052300729505680887324322897046046759261580556144531347626286959611874385595745834957685323463145201029920524447190904071127923582242346044475640522653221778343901094635115724862402909686036796791888854828480333215277251434909535859248213149484496921231150092518822469440461160981245527979365413582392325370463341714633052821855508456183303232230981686978909653008848672557208365753612479167245419757944098067908578920751800202369883738158580203799189430745773483132924636675194470042455911846380571318104642140758161040817461892467996506137751904932680739488033490797301095544873974799135615220619829826531593283014011344309107848146553546372062311730148074049558902940948196453447149067726412821786134615269966784645959889926847234991754717787532653777119829797920624938490926508786652169199250336641479120880295571359118330058573198300194044067143652845574420035151481667384192195844078711338075143220790740115191107791580000377661016221536976353428939872909054216574892761915521416468308675296067318584155274518837507092598646340718646592565519269982896580443953010919294474327779503727719765643481439657023106554824260767390931390535729600925711268422935578231902868967372086688801891399724484472177447410891146883513247329536845609986024561441039181272617973553710676316058007407376029788161258398545055043494458007496624933154183895398113610642655721323554509638246868287804482911104287190155020423845548431572722225869778235585284574443408450207542879511146551408155071548996424835823716375649000485984874282682758143559910003870465784436152770436170721113608934162191523419593845871655804877041090734541848767486009272979130212679300303625103510526980129427416854155040271039463374720284312056708105363338650789855539869497494727116048856233969188255875518433821641806913392137300271630375029753701305232021144615963745903239649278851362892952640208986799144541185747742542254343444873007829635240511214001167340103264235116630613974665896936426192976112033853105299055323970623379378010013725296899179549297761034346633589923179115950407329935581427496096166661584930897650256380140329706071077045652035909362204077685422478440256425410287460378789731529501012898151092232736799731090739435116682555380165009691006451809290782089056376076822722817167480699543360253581725000752860088112065636112087205305413448325435049436637982884410939373910403696984102780298246961101039730223406113852742395193330774247456087600652311189844534475660028680890954673127815143180417180597600632739629995120418090797787316458876349759174583914073600898321872590027428495859894617015324348023659671533756792350226172248377437393484171066233213309913805028174758944112192967468471593167384133148716811558221415543801167521928214575105172455279351674518934903141890626979229504227629511082409759272766606180625394113566221436782846577077727849003194976358946735897210082331150779130999779248987613098801045045940862474863394132283059027360422134602691821463799197218089706259936580640568864180446268803110520536025399256535498873738739188234733346981647807416002710103478209923135378414303000022386493506758655267178190082 188297800003616286988349837720598886697463650259142081094472401567240447225744734445006051965448894675423225049973068692125537377708297892193328513680745426034399153880759354535398859474533055878113153420759671220722875011979580261883430299779628636483590266131763666481044582258463525333349555186236153118612932979437700934130954484392121282549034070254103063077216273147041717766556710903214949096543422391078046030626106858890559425965665286321745039905539842767192616363175483088856472859665177906109503623591884472370550840616601861582130768471146626693353839594364122501894558109952166549526364285788373216728310072994245966076004346158255933630504510845804639789034771112822490462442992956138134600576734188353290356168855728008751391659713086071111769185098437454875522251441998287663271203690850120363958091319481163087479603154287978410637494380544799641548030702240873194603890235449899777615278822447557413133291363881022370587310532134893800500913481981163891699773045625450309960182690340280814024639862806722376923382729058328065906187896979349898323949911717427603202879174854303199954688381969782192039143492382827240451994654702644191220902644287347635463293352036480888854934788664774731970872849509474367404262408111163023096286892823491150830908902086034167476548621786845342633236763942753882629054645024555096666787764739127127762008438579878787333787943295283226092350566563989123860874742383847475086976783811861405806634329195254583791247301818451034622373859999675104762919358662847378898564940671314886392698738408519391905139052152213919198931020846523714103026326288274059845372634556088023343507207575267715904312528551033810150750346983773665808922119186199049038988935992585889227206706775425141071985563542487063124268487347375690371578778054999288174489190488991572191621116607784991738887722852504943016436930444651443130602940289716021137659181167182042404339073738456443038256256292072227634383991472897333729869383753576135858103829235122328227774443862149582697927964972046917532861210573660536233551104005028645181484669716565630944109116395274157046612388873748978104986526261809583666117401160113320221424208121940791962408635471754328674805737101417781213735859486841185951717876076294934360934362817874464754259124323871579913022535150157428504367746822110320495845159736170000861070478829715333072130708157240925642917670019326536008048039855226536656157062245232771059019080329753585030887833221532119926506531898254645076260779581570937592584410059507432502799779703086754401529369562131737592509611950720431739255672140865947620693765639763014136346477782933117225283881615103283676477613193334873320122297377820909408700828087192968079622678326472775320043613623110968228680395100704950808938573312476982865293340453123416181516008891320269845767275371614440767689815192759698763558817610518471276501755899369205741599917801338387594854950693757526073871724100964277359236429050648566214437894046193164499106375400046301716011998095349419000126753445440488969009385915999211774557897365509353614968896604708561992454237636770594632436700990706004946745114730793162887454156183003138254736872457182694177861752300431303823527224371619811590486028511737991032808871761 304672240412681225408481683268420323589749802551257978319616050853255037909034110102332418505663032808321277350702574373012861700605343938952590094236889957382025440840371228920994605309490741201576298621789591745170065916050708185465672645824104277006243487910107567575679697983325928243035591983028041973441413312652978185565864020251369495698518567175334213169735095616482178927537956431194314510125814716448509372340739911712414934421848589553976021592518752420201465035732691454610085338832423325867447721659793051291302640818971745320289348674945816124099613077497047138569752579994622461372744857106477858869068234035063427968472342664393685535437191585292673279832072208367364437242128571358754430403265781636304367513164835856897945206085148382841917259147996357816470447895445436730997616512636254979228058104127122977406450389279733128425027034321919471345951327179364121112676887619099027951920301568437708704650482211080943785610726178960944153759056401199043181440429817646154038894028415424034815379977997830168503383106719344287443164250408289771233004128292320365118400591322611875250755700553937466557980999475425886792713301295209710490885540867791588474212646510808668358662508430418213410529872616029191665029799042553558825887818534759573766487133988903134848635310588736742357721236120201293520201528537802426203633374725151689203047619852496760887498619611341233499726596352150382259419797427341933094473408745015589702032442805897239512570856328089281490661664482586209050109513683271224446996513393540756170934323693093835313589259695093430345482429001595263099451162111990435494373120540962306026265351135177719774778312987186580586921068097382599971113642605792894910644740869626979961748555542911150344964693755166363427893590857902670501006194909154328445528653863711856503677824713148330389677578392374440511164046493507677099791196165234454959300988080574179704610704113486196739561488313216843598129894712546612581232276706216344844902973776308075970316698205594455705757600212558131534028550676924771350181717979694542117910862692677664797214415450598127669991766883762703401885705811107344700464034750036499337374615451876373389904731638415913605703387357797921543441930563886837987627238280372619783412803074299875041719503113603109414035433301249661241167477912849755612527715116335010552076930639006115161187084234063648460085150718869896261629764855979396744269127881344858264324493778079020080324471204416530865880442301951629179041077828532038632314633465621285245194973033861001857616970214442927437044087610749112630210345268681090801110946237363646875976472903351208023071198073979633435652197107408474218444169967848337904560722704208292427646337998006532112393839795359345666073879271771184022248487117505157624237452646090884653109176275453418562578833593029984568857337120974273868731272889870145795436659041259832720829422028967898677264709966524132254497118214530498796019275627726294063441089022552111235003585482377452495142997874598406613225554490486429831484249310131494833585257787643956306790360403905780082160497573351235201300881436974808057265650756192419422953029921742326489470219438830501593864462403909513746662602785922811612872522018496646299987061843 492970040416297512396831520989019210287213452810400059414088452420495485134778844547338470471111927483744502400675643065138399078313641831145918607917635383416424594721130583456393464784023797079689452042549262965892940928030288447349102945603732913489833754041871234056724280241789453576385147169264195092054346292090679119696818504643490778247552637429437276246951368763523896694094667334409263606669237107526555402966846770602974360387513875875721061498058595187394081398908174543466558198497601231976951345251677523661853481435573606902420117146092442817453452671861169640464310689946789010899109142894851075597378307029309394044476688822649619165941702431097313068866843321189854899685121527496889030979999969989594723682020563865649336865798234453953686444246433812691992699337443724394268820203486375343186149423608286064886053543567711539062521414866719112893982029420237315716567123068998805567199124015995121837941846092103314372921258313854744654672538382362934881213475443096463999076718755704848840019840804552545426765835777672353349352147387639669556954040009747968321279766176915075205444082523719658597124491858253127244707955997853901711788185155139223937505998547289557213597297095192945381402722125503559069292207153716581922174711358250724597396036074937302325183932375582084990958000062955176149256173562357522870421139464278816965056058432375548221286562906624459592077162916139506120294539811189408181450192556876995508666772001151823303818158146540316113035524482261313813028872346118603345561454064855642563633062101613227218728311847307349544413449848118977202477488400264495339745755097050329369772558710445435679090841538220390737671415081156265780035761791991943949633676862212869188955262318336291416950257297653426552162078205278360872584972964153616620017844352703428695298941320933322128565301244879383527600976938159120230394136454950476096960169247756222108949777851942639777817744605289071232513886185443946311101660459792480703006803011430404198091142067744038403685565184605049066889761250585307583732821984723187299395532409243295741323531845872284716604155757511681506872232072916928366581435910149819558798823573817165352313367110170242280509124459215702757177790050728023939345114356667554144347165892174339795978627437474689327057968451407089745535224734960076108372874852505011413147409468721448233317792391304574103002820738196432269677804711205933400426190126577629323343574107832605111212304425948650792386974200206274255301857410102976224899043525128717747994752736947756259146339776574665029553699561469544369466017409547038421804711877126661012322950686284325248355079689082917112129810300743347538566467345669247313261550791401260507269016324479307432437453418470313894754274372476134831187060429982140489530793099214300834625185166773688408346108964644425336547152313733972632290090500388617071938414940629038462429339830306286272119660660281658328368842315494776155255704678374860277878983068745275734109960882423754211154995969947825613352307935926918800493635226130706608143155153153309921759257008614342074614735210121829833737582427680813004010765486985582310407186104745464744207091896013195771726214704340817570189827157542623203358550530234637332795933604 797642280828978737805313204257439533876963255361658037733704503273750523043812954649670888976774960292065779751378217438151260778918985770098508702154525340798450035561501812377388070093514538281265750664338854711063006844080996632814775591427837190496077241951978801632403978225115381819420739152292237065495759604743657305262682524894860273946071204604771489416686464380006075621632623765603578116795051823975064775307586682315389294809362465429697083090577347607595546434640865998076643537330024557844399066911470574953156122254545352222709465821038258941553065749358216779034063269941411472271854000001328934466446541064372822012949031487043304701378894016389986348698915529557219336927250098855643461383265751625899091195185399722547282071883382836795603703394430170508463147232889161125266436716122630322414207527735409042292503932847444667487548449188638584239933356599601436829244010688097833519119425584432830542592328303184258158531984492815688808431594783561978062653905260742618037970747171128883655399818802382713930148942497016640792516397795929440789958168302068333439680357499526950456199783077657125155105491333679014037421257293063612202673726022930812411718645058098225572259805525611158791932594741532750734322006196270140748062529893010298363883170063840437173819242964318827348679236183156469669457702100159949074054514189430506168103678284872309108785182517965693091803759268289888379714337238531341275923601301892585210699214807049062816389014474629597603697188964847522863138386029389827792557967458396398734567385794707062532317571542400779889895878849714240301928650512254930834118875638012635396037909845623155453869154525406971324592483178538865751149404397784838860278417731839849150703817861247441761914951052819789980055669063181031373591167873307945065546498216415285198976766034081652518242879637253824038765023431666797330185332620184931056261157328330401813560481965428836517379232918505914830643780897990558892333937166008825547909776787738480168407840273338494109443165397163180600918311927510078933914539964417729417306395101920960538537947296470412386595922641274384908757937884024273067045470660186318896173439025693538742218098748586155886212511817013624300619720614614861926972352637040173927759968966474214837698130551077798741093401752656750986702702647809831720900589968840021965224340107727563394504876625368222563087971457066328531307569567185330144695318007922487587668067885911625191536775630365181658267416502157903434342935238635014857213676990750002993189725770808758116763309991017592466597787172218656999676362678228129222915658114490307888299423589635533271426277763062550547782007408151821757010637313517585217822273495609552934915354322485839544831293213829659560828153644247318853435547547487298113768245745305185487734361442227106970924942557674409905404489434708246501021363390258762867375073981888871183258761859274184949384370626805790582865960530025274951274980306101154341320072091297386969113546364801206706297993844546232226577862426413348631977884536262201441728412940797266228549617412520122156775232783473065035038463864655621061276416243178001733360216026487791233677311334843697365590677108250331316852429943465434816231072548731283632782995447 1290612321245276250202144725246458744164176708172058097147792955694246008178591799197009359447886887775810282152053860503289659857232627601244427310072160724214874630282632395833781534877538335360955202706888117676955947772111285080163878537031570103985910995993850035689128258466904835395805886321556432157550105896834336424959501029538351052193623842034208765663637833143529972315727291100012841723464288931501620178274433452918363655196876341305418144588635942794989627833549040541543201735827625789821350412163148098615009603690118959125129582967130701759006518421219386419498373959888200483170963142896180010063824848093682216057425720309692923867320596447487299417565758850747074236612371626352532492363265721615493814877205963588196618937681617290749290147640863983200455846570332885519535256919609005665600356951343695107178557476415156206550069864055357697133915386019838752545811133757096639086318549600427952380534174395287572531453242806670433463104133165924912943867380703839082037047465926833732495419659606935259356914778274688994141868545183569110346912208311816301760960123676442025661643865601376783752229983191932141282129213290917513914461911178070036349224643605387782785857102620804104173335316867036309803614213349986722670237241251261022961279206138777739499003175339900912339637236246111645818713875662517471944475653653709323133159736717247857330071745424590152683880922184429394500008877049720749457373793858769580719365986808200886120207172621169913716732713447108836676167258375508431138119421523252041298200447896320289751045883389708129434309328697833217504406138912519426173864630735062964765810468556068591132959996063627362062263898259695131531185166189776782809912094594052718339659080179583733178865208350473216532217747268459392246176140837461561685564342569118713894275707355014974646808180882133207566366000369825917560579469075135407153221326576086623922510259817371476295196977523794986063157667083434505203435597625801306250916579799168884366498982341082532513128730581768229667808073178095386517647361949140916716701927511164256279861479142342697103200078398786066415630169956941201433626906570336138454972262599510704094531465858756398166721636276229327057797510665342885866317466993707728072107134858648554633676757988552488068151370204063840732237927382769907829273464821345033378371749576449011627822669016672796666090792195262760800985374278391263545121508134500116911011641993744230302749080056313832450654390702364177689644792648737991082112720515878720741184478507756514375909649767592257496151486733688201369142380087775167644720369991616968900622374275919858519781357452145467659911817708895169295577104659186832531083824287010813442184370646965146977268746632299973455582428016723453684622607977469438603299038844519486322359546609000795379271051522318835241951641748442219133311453890647379939313488922517909645688101689580471221504031287087448911234802845520051106530684984476014619199055160042662703223507247224960917452989814494057839930170362340267432471519762392908049871568093950576150308874421134464231389967993594894868776046292336434065287181730163584043767402131233255977884403230856893137316891812591148887042257101008058019589623078965920965578929051 2088254602074254988007457929503898278041139963533716134881497458967996531222404753846680248424661848067876061903432077941440920636151613371342936012226686065013324665844134208211169604971052873642220953371226972388018954616192281712978654128459407294481988237945828837321532236692020217215226625473848669223045865501577993730222183554433211326139695046638980255080324297523536047937359914865616419840259340755476684953582020135233752950006238806735115227679213290402585174268189906539619845273157650347665749479074618673568165725944664311347839048788168960700559584170577603198532437229829611955442817142897508944530271389158055038070374751796736228568699490463877285766264674380304293573539621725208175953746531473241392906072391363310743901009565000127544893851035294153708918993803222046644801693635731635988014564479079104149471061409262600874037618313243996281373848742619440189375055144445194472605437975184860782923126502698471830689985227299486122271535727949486891006521285964581700075018213097962616150819478409317973287063720771705634934384942979498551136870376613884635200640481175968976117843648679033908907335474525611155319550470583981126117135637201000848760943288663486008358116908146415262965267911608569060537936219546256863418299771144271321325162376202618176672822418304219739688316472429268115488171577762677421018530167843139829301263415002120166438856927942555845775684681452719282879723214288252090733297395160662165930065201615249948936596187095799511320429902411956359539305644404898258930677388981648440032767833691027352283363454932108909324205207547547457806334789424774357007983506373075600161848378401691746586829150589034333386856381438233997282334570587561621670190512325892567490362898040831174940780159403293006512273416331640423619767308710769506751110840785533999093252473389096627165051060519387031605131023801492714890764801695320338209482483904417025736070741782800312812576210442300900893801447981425064095769534791810131798826356586907364534906822614421026622571895978931410268726385105605465451561901913558646134008322613085216818399426438813109489796001040060451324388107840965474500672377230522457351145701625204242836749564607342554052934148093242951358417231279957747793289819630747901999867103825122769471374888539630286809244771956720591718940630030579739550174054790185055343596089684176575022327545642041019229178763652329089332292943845576593689816826142422604498679709879655855494285855686679014108921807204522081123987727887373005939326397506628723734374204278565272492672959758609849962749273905906858368818742766003296867636028106107276788921797865555391791207635215208018207693825117046991052587741972704417748906097782620366377099724969450986522100039846129633016410581660970772538058155524956736717067284589824671810093908051227902350195994079993245147356131183150465634332817280906142806688562904406780828946863548854656170888401913893239494100763375545326057805665290577168960519127251340049672337053612026167623750983659040290066508032788753616064449404298655109491599981034747842378858491833654586388165200777067959903814510156992055126563597973341585777127618157721047211561714565700590502907568920841480203894687044473492835820695627697204598361924498 3378866923319531238209602654750357022205316671705774232029290414662242539400996553043689607872548735843686344055485938444730580493384240972587363322298846789228199296126766604044951139848591209003176156078115090064974902388303566793142532665490977398467899233939678873010660495158925052611032511795405101380595971398412330155181684583971562378333318888673189020743962130667066020253087205965629261563723629686978305131856453588152116605203115148040533372267849233197574802101738947081163047008985276137487099891237766772183175329634783270472968631755299662459566102591796989618030811189717812438613780285793688954594096237251737254127800472106429152436020086911364585183830433231051367810151993351560708446109797194856886720949597326898940519947246617418294183998676158136909374840373554932164336950555340641653614921430422799256649618885677757080587688177299353978507764128639278941920866278202291111691756524785288735303660677093759403221438470106156555734639861115411803950388666668420782112065679024796348646239138016253232643978499046394629076253488163067661483782584925700936961600604852411001779487514280410692659565457717543296601679683874898640031597548379070885110167932268873791143974010767219367138603228475605370341550432896243586088537012395532344286441582341395916171825593644120652027953708675379761306885453425194892963005821496849152434423151719368023768928673367145998459565603637148677379732091337972840190671189019431746649431188423450835056803359716969425037162615859065196215472902780406690068796810504900481330968281587347642034409338321817038758514536245380675310740928337293783181848137108138564927658846957760337719789146652661695449120279697929128813519736777338404480102606919945285830021978220414908119645367753766223044491163600099815865943449548231068436675183354652712987528180744111601811859241401520239171497024171318632451344270770455745362703810480503649658581001600171789107773187966095886956959115064859569299205132417611438049742936386076248901405804955503559135700626560699639936534458283700851969209263862699562850710250124249473098260905581155806592996079438846517740018277797906675934299283800858595806117964224714946931281030466098952219655784369472278416214741945300633659607286624455630071974238683771324105051646528182774877396142160784432451178557413349647379447519611530088721967839260625586650150214658713815895269555847591850133278318123967857234938334276922721409691351873400085797034935742992846559576197906886258813632520536110997021439118022507444475558682786321786868582609526202107458900760639595059737961122853778464512356398097724245689544172141475250310988992667353485867605642825942160348164846631891250279989922069631179819284095616416133499368786478429606471993009677694226222680763502426175320366323434344158132453454660228697729467045602312080389307772931592684767644271171553522746002051826924690474634965238435127392392433200980688405335566221065377164336350275053183579718182411382712375560560859251128541203973473534347906438203151093883496920924061048017541471549128698418529167366254789050619555168770662854772590556449328489191850779703505169820895020288954303189446117796557483640224460733432629090936944145481550855410318706663125563940853549 5467121525393786226217060584254255300246456635239490366910787873630239070623401306890369856297210583911562405958918016386171501129535854343930299334525532854241523961970900812256120744819644082645397109449342062452993857004495848506121186793950384692949887471885507710332192731850945269826259137269253770603641836899990323885403868138404773704473013935312169275824286428190602068190447120831245681403982970442454990085438473723385869555209353954775648599947062523600159976369928853620782892282142926485152849370312385445751341055579447581820807680543468623160125686762374592816563248419547424394056597428691197899124367626409792292198175223903165381004719577375241870950095107611355661383691615076768884399856328668098279627021988690209684420956811617545839077849711452290618293834176776978809138644191072277641629485909501903406120680294940357954625306490543350259881612871258719131295921422647485584297194499970149518226787179792231233911423697405642678006175589064898694956909952633002482187083892122758964797058616425571205931042219818100264010638431142566212620652961539585572162241086028379977897331162959444601566900932243154451921230154458879766148733185580071733871111220932359799502090918913634630103871140084174430879486652442500449506836783539803665611603958544014092844648011948340391716270181104647876795057031187872313981535989339988981735686566721488190207785601309701844235250285089867960259455305626224930923968584180093912579496390038700783993399546812768936357592518271021555754778547185304948999474199486548921363736115278374994317772793253925948082719743792928133117075717762068140189831643481214165089507225359452084306618297241696028835976661136163126095854307364900026150293119245837853320384876261246083060425527157059229556764579931740239485710758259000575187786024140186712080780654133208228976910301920907270776628047972811347342109072465776083572186294384920675394651743382972101920349398408396787850760563046284633394974667209421569848569292972983613436312627569924585758272522539631050205260843389306317420771165776258208984718572737334689916660332019968916082792080478906969064406385638872150434971661031381053157263665849919189768030595073441506272589932462715229774631973225258381452897106255203532071841342508894093576426535067813061686640914117505024170119187443929386929621574401715144065563928944802161672477760300754835124448319499920939465571261969544450924755160419345325908371061753055941291320791429671860668498005111408339937620248423484002960765515529136168209932887064887059361255569284811957421650034545501918106779865619781761379992426203831522478465970007030642102196627882561504075299467942989151400752588604595668028896019852251546196383820585867120021468826324559239488403591338664998760738919027382912037433608024168829942547362711456600079663039682305325536663904114743150401977088452459665552690614731331471303581828787289783563280835114873927899436329596610703222142015565630352540237309662722762047897614471277296164954957132574637972946235939847499561370328359703127033071530163446260908025858088443637007720369547730814676405066606320544318414377676846755598022638446675350401007832362258074143132029654274109294831631189955043691231014334360330162302778047 8845988448713317464426663239004612322451773306945264598940078288292481610024397859934059464169759319755248750014403954830902081622920095316517662656824379643469723258097667416301071884668235291648573265527457152517968759392799415299263719459441362091417786705825186583342853227009870322437291649064658871984237808298402654040585552722376336082806332823985358296568248558857668088443534326796874942967706600129433295217294927311537986160412469102816181972214911756797734778471667800701945939291128202622639949261550152217934516385214230852293776312298768285619691789354171582434594059609265236832670377714484886853718463863661529546325975696009594533440739664286606456133925540842407029193843608428329592845966125862955166347971586017108624940904058234964133261848387610427527668674550331910973475594746412919295244407339924702662770299180618115035212994667842704238389376999897998073216787700849776695988951024755438253530447856885990637132862167511799233740815450180310498907298619301423264299149571147555313443297754441824438575020718864494893086891919305633874104435546465286509123841690880790979676818677239855294226466389960697748522909838333778406180330733959142618981279153201233590646064929680853997242474368559779801221037085338744035595373795935336009898045540885410009016473605592461043744223889780027638101942484613067206944541810836838134170109718440856213976714274676847842694815888727016637639187396964197771114639773199525659228927578462151619050202906529738361394755134130086751970251449965711639068271009991449402694704396865722636352182131575742986841234280038308808427816646099361923371679780589352730017166072317212422026407443894357724285096940834092254909374044142238430630395726165783139150406854481660991180070894910825452601255743531840055351654207807231643624461207494839425068308834877319830788769543322427509948125072144129979793453343236231828934890104865424325053232744983143891028122586374492674807719678111144202694179799627033007898312229359059862337718432525428144893973149100330690141795301673007169389980429638957771835428822861584163014921237601124722675788159917753486804424663436778826369270944832239648963381630074634136699311625539540458492245716832187508190846715170559015112504392879659162143815581192665417681478181595995836564037056278289456621297744857279034309069094013245232787531768205427748322627974959468651019717875347512789598849580093512308159693494696268047318062413626456027088355727172664707228074203018294598751252768959594999982204633551643612685491569851208846229838178811014064880550795185096977844740988473560225892348824301555768168010142148505892413185620549914989942905110768931311748917435236486918308885941921882726015667916202283253520837612802988845960396601016359224983419682529809087357799931458512988075000817371685297809130085284617405925971677046335835169621359624013188298692666558256161778216794025724910955673268315854616304771895817676080386478365840683536119955492074105474423458175330528424706158930606108985879384439090941383058291252420751144574543079292144679437193224343232687627275538318393669448995623055649033510265157380351925418917658735629653590453950158815557783356490387706738385768575335436594546641333041023455726243631596 14313109974107103690643723823258867622698229942184754965850866161922720680647799166824429320466969903666811155973321971217073582752455949660447961991349912497711247220068568228557192629487879374293970374976799214970962616397295263805384906253391746784367674177710694293675045958860815592263550786333912642587879645198392977925989420860781109787279346759297527572392534987048270156633981447628120624371689570571888285302733401034923855715621823057591830572161974280397894754841596654322728831573271129107792798631862537663685857440793678434114583992842236908779817476116546175251157308028812661226726975143176084752842831490071321838524150919912759914445459241661848327084020648453762690577535223505098477245822454531053445974993574707318309361860869852509972339698099062718145962508727108889782614238937485196936873893249426606068890979475558472989838301158386054498270989871156717204512709123497262280286145524725587771757235036678221871044285864917441911746991039245209193864208571934425746486233463270314278240356370867395644506062938682595157097530350448200086725088508004872081286082776909170957574149840199299895793367322203852200444139992792658172329063919539214352852390374133593390148155848594488627346345508643954232100523737781244485102210579475139675509649499429424101861121617540801435460494070884675514896999515800939520926077800176827115905796285162344404184499875986549686930066173816884597898642702590422702038608357379619571808423968500852403043602453342507297752347652401108307725029997151016588067745209477998324058440512144097630669954924829668934923954023831236941544892363861430063561511424070566895106673297676664506333025741136053753121073601970255381005228351507138456780688845411620992470791730742907074240496422067884682158020323463580294837364966066232218812247231635026137149089489010528059765679845243334780724753120116941327135562415702007912507076399250345000447884488366115992948471984782889462658480241157428836089154466836454577746881522332043475774031060095352730652245671639961740347056145062313486810751595415215980820147395598918852931581569621093638758580240396660455868831049075650976804242605863620702120645295924553326467342220612981964764835649294902737965478688395817396565401499134862694215656923701559511257904716663808898250677970395794480791416932301208421238690668414960376853095697150229909995105735260223486144166194847433729064420842063056759084448655115613373226433475379511968379676518602336567896572208129702938688873017383079002942970149080779780895424456916095905591093748095826022302200829730598895951520854093341987272341250505387290646476112155536534515382248432476494018204578711920463149670023841082586337781961774134272212051736788150373542306439127548085448800192355024223744158601557191999395233539482681818017548180083141897888793124966922731462635581161078985571598448076472853851383281289587633081798622813014694518954103430728544204208225414286783608620381406313888660192801736828236471355789801805720871113887738683623852330675030788882619661580780454271607614609455590940345219082431676324634995907866124484125400689661969577828679535057198681016940297182305003991461782521073631926488520041980847680600206525391638237872347375383785888546409643 23159098422820421155070387062263479945150003249130019564790944450215202290672197026758488784636729223422059905987725926047975664375376044976965624648174292141180970478166235644858264514156114665942543640504256367488931375790094679104648625712833108875785460883535880877017899185870685914700842435398571514572117453496795631966574973583157445870085679583282885868960783545905938245077515774424995567339396170701321580520028328346461841876034292160408012544376886037195629533313264455024674770864399331730432747893412689881620373826007909286408360305141005194399509265470717757685751367638077898059397352857660971606561295353732851384850126615922354447886198905948454783217946189296169719771378831933428070091788580394008612322965160724426934302764928087474105601546486673145673631183277440800756089833683898116232118300589351308731661278656176588025051295826228758736660366871054715277729496824347038976275096549481026025287682893564212508177148032429241145487806489425519692771507191235849010785383034417869591683654125309220083081083657547090050184422269753833960829524054470158590409924467789961937250968517439155190019833712164549948967049831126436578509394653498356971833669527334826980794220778275342624588819877203734033321560823119988520697584375410475685407695040314834110877595223133262479204717960664703152998942000414006727870619611013665250075906003603200618161214150663397529624882062543901235537830099554620473153248130579145231037351546963004022093805359872245659147102786531195059695281447116728227136016219469447726753144909009820267022137056405411921765188303869545749972709009960791986933191204659919625123839369993876928359433185030411477406170542804347635914602395649376887411084571577404131621198585224568065420567316978710134759276066995420350189019173873463862436708439129865562217398323887847890554449388565762290672878192261071306929015758938239741441966504115769325501117233349259883976594571157382137466199919268573038783334266463487585645193751691103338111749492620780875546218820740292430488851446735320656200732025054173752655576218460503015946502807222218361434368400314413942673255712512429803173513550695860351084026925999187463166653846152522423257081366127090246156325403566376411677905892014521856359472504894224928939382898259804734814715026674083937412714677158487455547759762428205609640627465355657658317733710219692137163884070194946518663270422156569067244142149811881420544495889005967995468032245775001275124646411147997537440125786342674002925174782632423393580916026767304751820931926906840087182751624915695873796261842566902213164690074806943058814486254304042426928567868982391483961109689480851774898587459077569504646667903696016998227719652990433627063144051930536931409196793371383448727578284087001086753033470941194806092548997454827195697923210251540137388607258207414820741219807700486042150075947847843794860015416838739605474627371746583160508980121231962863995098747246997424780148293810933710894813965132334145577272818344792609731715114121730265677952833201205416182157688747735619782412306774909012262271446184518153574396312717618611338944692437550606435857955917934657581915732679889189709845010429687586066368781860828232784513680416407241614790041239 37472208396927524845714110885522347567848233191314774530641810612137922971319996193582918105103699127088871061961047897265049247127831994637413586639524204638892217698234803873415457143643994040236514015481055582459893992187389942910033531966224855660153135061246575170692945144731501506964393221732484157159997098695188609892564394443938555657365026342580413441353318532954208401711497222053116191711085741273209865822761729381385697591656115217999843116538860317593524288154861109347403602437670460838225546525275227545306231266801587720522944297983242103179326741587263932936908675666890559286124328000837056359404126843804173223374277535835114362331658147610303110301966837749932410348914055438526547337611034925062058297958735431745243664625797939984077941244585735863819593692004549690538704072621383313168992193838777914800552258131735061014889596984614813234931356742211432482242205947844301256561242074206613797044917930242434379221433897346683057234797528670728886635715763170274757271616497688183869924010496176615727587146596229685207281952620202034047554612562475030671696007244699132894825118357638455085813201034368402149411189823919094750838458573037571324686059901468420370942376626869831251935165385847688265422084560901233005799794954885615360917344539744258212738716840674063914665212031549378667895941516214946248796697411190492365981702288765545022345714026649947216554948236360785833436472802145043175191856487958764802845775515463856425137407813214752956899450438932303367420311444267744815203761428947446050811585421153917897692091981235080856689142327700782691517601373822222050494702628730486520230512667670541434692458926166465230527244144774603016919830747156515344191773416989025124091990315967475139661063739046594816917296390459000645026384139939696081248955670764891699366487812898375950320129233809097071397631312378012634064578174640247653949042903366114325949001721715375876925066555940271600124680160426001874872488733299942163392075274023146813885780552716133606198464492380254170835907591797634143011483620469389733475723614059421868878084376843312000192948640711074398542086761588080779977756156559481053204672221923740789633996066765504388021917015421992984121804091962193808243307391149384550575129428595784440197287614923613633065392997069878418204131609459695876786450430843165986493723162505887568312839445479915623308050265042380247727691264219625826328590804927494793770929364385479963847708764377337843021218619277700476128998803725753005868144931713203174476340483683400657412025675002666109484952454646294769747782696660244200437031325312330349460962366459578961443950117414867977979314268192772238048257482918652090984449865470151270439771389778584000605450491058085016857996985726407672471736885644193086148267010423876624110097177537969093586716335218462868851242839368493806312818255776958896001459229137431427941814039651754299993581475177311704713188346646249647603719128653311313440341095547761947366169754934139866448386706083476233584045789152519148297614413981659687789772298203326560127631389206585336897267354050642637699797002379588189167624227494749287452798253100239661573377515200962821636333530471668433746968988386219871022386027791791027503336450882 60631306819747946000784497947785827512998236440444794095432755062353125261992193220341406889740428350510930967948773823313024911503208039614379211287698496780073188176401039518273721657800108706179057655985311949948825367977484622014682157679057964535938595944782456047710844330602187421665235657131055671732114552191984241859139368027096001527450705925863299310314102078860146646789012996478111759050481911974531446342790057727847539467690407378407855660915746354789153821468125564372078373302069792568658294418687917426926605092809497006931304603124247297578836007057981690622660043304968457345521680858498027965965422197537024608224404151757468810217857053558757893519913027046102130120292887371954617429399615319070670620923896156172177967390726027458183542791072409009493224875281990491294793906305281429401110494428129223532213536787911649039940892810843571971591723613266147759971702772191340232836338623687639822332600823806646887398581929775924202722604018096248579407222954406123768056999532106053461607664621485835810668230253776775257466374889955868008384136616945189262105931712489094832076086875077610275833034746532952098378239655045531329347853226535928296519729428803247351736597405145173876523985263051422298743645384021221526497379330296091046325039580059092323616312063807326393869929992214081820894883516628952976667317022204157616057608292368745640506928177313344746179830298904687068974302901699663648345104618537910033883127062426860447231213173086998616046553225463498427115592891384473042339777648416893777564730330163738164714229037640492778454330631570328441490310383783014037427893833390406145354352037664418363051892111196876707933414687578950652834433142805892231602857988566429255713188901192043205081631056025304951676572457454420995215403313813159943685664109894757261583886136786223840874578622374859362070509504639083940993593933578487395391009407481883651450118955064635760901661127097653737590880079694574913655822999763429749037269025714250151997530045336914481744683313120546601324759038532954799212215645523563486131299832519924884824587184065530361627317041025488341215342474100510583151269707255341404288699147922928252800649912918026811278998381549083230278129495528570219921213283163906406934601933490009369136670513183418367880108023743962355616846286618183332334210193271371596134350627861545226630573155699607760471934335237326766390961686376194893572732954739376214315425253391447959315741010152339118145865030425698013569124590068427008793319714345626568057256510450705409232957601909506196667704079561990643544044539227146413601721400119273408275448620763621388372517986397259461940423957673624012946844941996221595631117769166168268667491042769017627668594542988621948267193779097791121199315169731194172901300481365071430202646174992796289284639545470003006239850097575908627054038063477444938151535176985275222801829456490493905468208846923894865222168467878212511598817875900308738220489389358695658260983720066474012025659524428268843315760903274249413975567247182865103971929986951062179910043695981494349159538800235160791274193315097206800506568919932299893888656209018174319155293247880852011346178540901356019813337770247048103806899708208198269118126492121 98103515216675470846498608833308175080846469631759568626074565674491048233312189413924324994844127477599802029909821720578074158631040034251792797927222701418965405874635843391689178801444102746415571671466367532408719360164874564924715689645282820196091731006029031218403789475333688928629628878863539828892111650887172851751703762471034557184815732268443712751667420611814355048500510218531227950761567653247741312165551787109233237059346522596407698777454606672382678109622986673719481975739740253406883840943963144972232836359611084727454248901107489400758162748645245623559568718971859016631646008859335084325369549041341197831598681687592583172549515201169061003821879864796034540469206942810481164767010650244132728918882631587917421632016523967442261484035658144873312818567286540181833497978926664742570102688266907138332765794919646710054830489795458385206523080355477580242213908720035641489397580697894253619377518754049081266620015827122607259957401546766977466042938717576398525328616029794237331531675117662451538255376850006460464748327510157902055938749179420219933801938957188227726901205232716065361646235780901354247789429478964626080186311799573499621205789330271667722678974032015005128459150648899110564165729944922454532297174285181706407242384119803350536355028904481390308535142023763460488790825032843899225464014433394649982039310581134290662852642203963291962734778535265472902410775703844706823536961106496674836728902577890716872368620986301751572946003664395801794535904335652217857543539077364339828376315751317656062406321018875573635143472959271111133007911757605236087922596462120892665584864705334959797744351037363341938460658832353553669754263889962407575794631405555454379805179217159518344742694795071899768593868847913421640241787453752856024934619780659648960950373949684599791194707856183956433468140817017096575058172108218735049340052310847997977399120676780011637826727683037925337715560240120576788528311733063371912429344299737396965883310598053048087943147805500800772160666630330588942223699265992953219607023446579346753702671560908842361820265681736562739757429235688591363129025863814822457493371369846669042434645979683531199300915396971076214399933587490764028164520674313290957509731362085793809333958128107032000945501020813840773820977896077879209120660624114537582628073790367432794943412601179523383779984600279707014118652950595820719901323759666871008086354617776927923163449774529676961167083649703398489698123393794180014661464646058829742533596994134106066644983276912172306152656534208285413291827235887390614038752725431603757736410987223200349816468103812127439919738225866396250995102424914873686615567634636319539107262432547601628274045034046706965125190764824198793671052055375387259049567491788948054312743352530765382871355880688465875091092936944402433366856319254403834152994406122706650743643496142248205461790322101206569935356814524462159202537004553620051660830484906457605627153475000613878474046230511745076899806692426768562273181661164524791761702285154388740037675085188079686056806154285803428973990317476794989674193147427049181341454462118413980728670763081814832982512071373024453560306758633267974829285735999989296621462943003 158734822036423416847283106781094002593844706072204362721507320736844173495304382634265731884584555828110732997858595543891099070134248073866172009214921198199038594051036882909962900459244211452594629327451679482357544728142359186939397847324340784732030326950811487266114633805935876350294864535994595500624226203079157093610843130498130558712266438194307012061981522690674501695289523215009339709812049565222272758508341844837080776527036929974815554438370353027171831931091112238091560349041810045975542135362651062399159441452420581734385553504231736698336998755703227314182228762276827473977167689717833112291334971238878222439823085839350051982767372254727818897341792891842136670589499830182435782196410265563203399539806527744089599599407249994900445026826730553882806043442568530673128291885231946171971213182695036361864979331707558359094771382606301957178114803968743728002185611492226981722233919321581893441710119577855728154018597756898531462680005564863226045450161671982522293385615561900290793139339739148287348923607103783235722214702400113770064322885796365409195907870669677322558977292107793675637479270527434306346167669134010157409534165026109427917725518759074915074415571437160179004983135911950532862909375328943676058794553615477797453567423699862442859971340968288716702405072015977542309685708549472852202131331455598807598096918873503036303359570381276636708914608834170159971385078605544370471882065725034584870612029640317577319599834159388750188992556889859300221651497227036690899883316725781233605941046081481394227120550056516066413597803590841439574498222141388250125350490295511298810939216742999378160796243148560218646394073519932504322588697032768299807397489394121883635518368118351561549824325851097204720270441305367842635457190767566015968620283890554406222534260086470823632069286478558815795538650321656180516051766041797222444731061718329881628849239631844647398728388810135579075306440319815151702184134732826801661466613325451647117880840643389962569687831118621347373485425668863543741435914911516516705738323279099271638527258744974372723447582722762051080972771709789101946280295571070163861782070517769597295235295892601558010579913778520159444678063083019334248085733957477197364444333295575803178470628641290450368825609044557803129437824182696062541454870817385909178762424418228978021573985756879131144251918935517033780509614636972015613474056714406247222401779871168375882479190784682016079312948680129096503267247983862607023454784360404456310590853504584811475877940878821678502820360613770276056835871775114537027640474125550877166011859607986821738188986090209386901860162183540020263941947366911095282246685403802487807774753475316619255942639577035328913392384543921989914870367225106581431950867973154019484515389527523561672155995426158468881330943034520311060420894382731848772304529583107981873545472952632742110929999169025101435157525282402674670801354880453928789881319874265153263888137195067087890499705754940013920215567595701017976248748908347389895733632272105450919947718781169574035216344954520964220248183632574001790180762067359349075230110671136588299883964010962666844328690612274380473373644528880316078636185444208187565739589435124 256838337253098887693781715614402177674691175703963931347581886411335221728616572048190056879428683305710535027768417264469173228765288108117964807142143899618003999925672726301652079260688314199010200998918047014766264088307233751864113536969623604928122057956840518484518423281269565278924493414858135329516337853966329945362546892969165115897082170462750724813648943302488856743790033433540567660573617218470014070673893631946314013586383452571223253215824959699554510040714098911811042324781550299382425976306614207371392277812031666461839802405339226099095161504348472937741797481248686490608813698577168196616704520280219420271421767526942635155316887455896879901163672756638171211058706772992916946963420915807336128458689159332007021231423773962342706510862388698756118862009855070854961789864158610914541315870961943500197745126627205069149601872401760342384637884324221308244399520212262623211631500019476147061087638331904809420638613584021138722637407111630203511493100389558920818714231591694528124671014856810738887178983953789696186963029910271672120261634975785629129709809626865550285878497340509740999125506308335660593957098612974783489720476825682927538931308089346582797094545469175184133442286560849643427075105273866130591091727900659503860809807819665793396326369872770107010940214039741002798476533582316751427595345888993457580136229454637326966212212585239928671649387369435632873795854309389077295419026831531259707340932218208294191968455145690501761938560554255102016187401562688908757426855803145573434317361832799050289526871075391640048741276550112550707506133898993486213273086757632191476524081448334337958540594185923560584854732352286057992342960922730707383192120799677338015323547335511079894567020646169104488864310153281264275698978221318871993554903671214055183484634036155423423263994334742772229006791138673277091109938150015957494071114029177879606248360308624659036555116493173504413022000559935728490712446465890173573895957625189044083764151241443010657630978924122148145646092299194132683659614177509469925345346725678618392229930305883215085267848404498613820730200945477693309409321434884986319275441887616266337669941872285089209880829175491235659077996670510098276250254631790488321954064657661596987804586769397482369771110065371643903258802078773941750575531441500446761390498208596410816517398358058654528031903535796740794628267587567836333375380474073118230488134488945303805642640559211693040480032329832494992965371377656787038116249006463286053124450498718917542522924155733850808973017147978561470127699011001927641679226850982480923748270595210022088005454194021514341779900409406416514937049791825968968862253038438807346882015907864220884216684611082035878517575308746188708541419280481968691000435464942967538828132880054327055027351306846934756422035971464713493787750701986252606457523989230688524289116448774990316391789491126308005092882096927136830003891885007548841542150359171610869515290670067701768973751985451758997115374288127786538521930569511914687495334557259839659985393866357653721273151108806767649222173950050796779854955214786398256571565133255002280612634774044481677311202683647404926933951287513584053465471180208176862361052378127 415573159289522304541064822395496180268535881776168294069089207148179395223920954682455788764013239133821268025627012808360272298899536181984136816357065097817042593976709609211614979719932525651604830326369726497123808816449592938803511384293964389660152384907652005750633057087205441629219357950852730830140564057045487038973390023467295674609348608657057736875630465993163358439079556648549907370385666783692286829182235476783394790113420382546038807654195312726726341971805211149902602673823360345357968111669265269770551719264452248196225355909570962797432160260051700251924026243525513964585981388295001308908039491519097642711244853366292687138084259710624698798505465648480307881648206603175352729159831181370539527998495687076096620830831023957243151537689119252638924905452423601528090081749390557086512529053656979862062724458334763428244373255008062299562752688292965036246585131704489604933865419341058040502797757909760537574657211340919670185317412676493429556943262061541443112099847153594818917810354595959026236102591057572931909177732310385442184584520772151038325617680296542872844855789448303416636604776835769966940124767746984940899254641851792355456656826848421497871510116906335363138425422472800176289984480602809806649886281516137301314377231519528236256297710841058823713345286055718545108162242131789603629726677344592265178233148328140363269571782966516565380563996203605792845180932914933447767301092556565844577952961858525871511568289305079251950931117444114402237838898789725599657310172528926807040258407914280444516647421131907706462339080140953990282004356040381736338623577053143490287463298191333716119336837334483779231248805872218562314931657955499007190589610193799221650841915453862641444391346497266309209134751458649106911156168988884887962175187561768461406018894122626247055333280813301588024545441460329457607161704191813179938802175747507761235097599940469306435283505303309083488328440879750880192896581198716975235362570950640691201644991884832973227318810042743495519131517968057676425095529089025986631083670004777890030757189050857587808715431127260664901702972655266795255689617005955150181057512405385863632905237764886647220460742954011395103756059753529432524335988589267685686398397953237400166275215410687932738596719109929447032696626261470004292030402258886355940152922626825388838091384114937785672283822471313774575137882224539851946849437188479365452889914360113679688121831343893709119792981009961591496232619361519394061571033366867742363715304003303729018400865034555529311793377761748837526963570786116464669319700976533358089760130203196843826194440284230901243640062592946436778878997158737064251108938442241295154656769383180840140159324188117364791909959852668178623411786505588550122951303438096987023343522407577888727183346733005403637752979005985024554208645084718101378762053572338670397834589401407732427321788660151409440250407379329811500805246765461477631423470233436764133403427865134789659473457740391772917330941883828804514770679477859304583228966829365290579933112647527227756489496063327731869470357582624798570035717282145747331801675804391590580496598785007148521639893295921785400307595816393900132101656624416364428100641813251 672411496542621192234846538009898357943227057480132225416671093559514616952537526730645845643441922439531803053395430072829445527664824290102101623499208997435046593902382335513267058980620839850615031325287773511890072904756826690667624921263587994588274442864492524235151480368475006908143851365710866159656901911011816984335936916436460790506430779119808461689279409295652215182869590082090475030959284002162300899856129108729708803699803835117262060870020272426280852012519310061713644998604910644740394087975879477141943997076483914658065158314910188896527321764400173189665823724774200455194795086872169505524744011799317062982666620893235322293401147166521578699669138405118479092706913376168269676123252097177875656457184846408103642062254797919585858048551507951395043767462278672383051871613549168001053844924618923362260469584961968497393975127409822641947390572617186344490984651916752228145496919360534187563885396241665346995295824924940808907954819788123633068436362451100363930814078745289347042481369452769765123281575011362628096140762220657114304846155747936667455327489923408423130734286788813157635730283144105627534081866359959724388975118677475282995588134937768080668604662375510547271867709033649819717059585876675937240978009416796805175187039339194029652624080713828930724285500095459547906638775714106355057322023233585722758369377782777690235783995551756494052213383573041425718976787224322525062720119388097104285293894076734165703536744450769753712869677998369504254026300352414508414737028332072380474575769747079494806174292207299346511080356691066540989510489939375222551896663810775681763987379639668054077877431520407339816103538224504620307274618878229714573781730993476559666165462789373721338958367143435413697999061611930371186855147210203759955730091232982516589503528158781670478597275148044360253552232599002734698271642341829137432873289776685640841345960249093965471838621796482587901350441439686608683609027664607148809258528575829735285409143126275983884949788966865643664777610267251809108755143266535456556429016730456508422987119356740802893983279531759278722433173600744488565098938440840136500332954293002129970575179637171736430341572129502630762834056424039530800586243221058174008352462610898997154079802180085415108367829175301090935955428340243946042605933700386802701543420835421799654608782472996440200315726007110515369766149812107688280224817662552483683378048849058983493764471903105402160273013339794086489197990739176181099687282373331028416839754502022646560923789190289380120766394909727398997091269797118392310998927827515839013508400798406865914199894478252415585419963002352853293816046950563033219971191480680102501538785291045061024376008799199400670427535161414367331953205786070518813951738903039954562171655287632215782210698039852338394175014977449738047996395786704353985219577561569358922123705850182722743713578151277717445343289476256948330809138650469026472965620592608375002918718535202491428447209725843531914446316171956591053292610047371219270724301386625130239918506513884881477762647172134499518692531532675595349890672496932145588373240937646592861109233559051630198951095979569190327241547103907484185567127804624541290461694191378 1087984655832143496775911360405394538211762939256300519485760300707694012176458481413101634407455161573353071079022442881189717826564360472086238439856274095252089187879091944724882038700553365502219861651657500009013881721206419629471136305557552384248426827772144529985784537455680448537363209316563596989797465968057304023309326939903756465115779387776866198564909875288815573621949146730640382401344950785854587729038364585513103593813224217663300868524215585153007193984324521211616247672428270990098362199645144746912495716340936162854290514224481151693959482024451873441589849968299714419780776475167170814432783503318414705693911474259528009431485406877146277498174604053598786974355119979343622405283083278548415184455680533484200262893085821876829009586240627204033968672914702273911141953362939725087566373978275903224323194043296731925638348382417884941510143260910151380737569783621241833079362338701592228066683154151425884569953036265860479093272232464617062625379624512641807042913925898884165960291724048728791359384166068935560005318494531042556489430676520087705780945170219951295975590076237116574272335059979875594474206634106944665288229760529267638452244961786189578540114779281845910410293131506449996007044066479485743890864290932934106489564270858722265908921791554887754437630786151178093014801017845895958687048700578177987936602526110918053505355778518273059432777379776647218564157720139255972830021211944662948863246855935260037215105033755849005663800795442483906491865199142140108072047200860999187514834177661359939322821713339207052973419436832020531271514845979756958890520240863919172051450677831001770197214268854891119047352344096723182622206276833728721764371341187275781317007378243236362783349713640701722907133813070579478098011316199088647917905278794750977995522422281407917533930555961345948278097674059332192305433346533642317371675465524193402076443560189563271907122127099791671389678882319437488876505608863324124044621099526470426487054135011108957112268599009609139183909128235309485533850672355561443187512686735234398453744308407598390702698710659019943624136146256011283820788555446795286681390466698387993603480417402058383650802315083514025866590116177568963324922231810325859694750860564136397320355017590773347846964548285230537968652054601713950334636335959273158641696343462247188492700166587934225872599548478424289944904032036647540227074254851031849136267963209172663181886303246999111280065994349755677985430610100695575161258315740198770780555058505326375579324654224844909432559772671476236524054840583234856980318628804049197103268531001603709740394334762483316829060025595299290072695044109300097471080129922921397656195554674225901164535332987316765462337495014082545955364992291659068936903042341136941585515177695210104509394044772857742031927993983434762602205040871422455363981631133908029319958295251590455171035366811429126885593696855586759831614385415930504104389090826045139136322146400337281087920667466235304831777258055785395568063289525230523853953268215990420819851619161412109234252143235462231388162889115300393919926389779077892920174916742038183441605832344058778720590989275490975727549142920301384317668784429040905718562336004629 1760396152374764689010757898415292896154989996736432744902431394267208629128996008143747480050897084012884874132417872954019163354229184762188340063355483092687135781781474280238149097681174205352834892976945273520903954625963246320138761226821140378836701270636637054220936017824155455445507060682274463149454367879069121007645263856340217255622210166896674660254189284584467788804818736812730857432304234788016888628894493694242812397513028052780562929394235857579288045996843831273329892671033181634838756287621024224054439713417420077512355672539391340590486803788852046631255673693073914874975571562039340319957527515117731768676578095152763331724886554043667856197843742458717266067062033355511892081406335375726290840912865379892303904955340619796414867634792135155429012440376980946294193824976488893088620218902894826586583663628258700423032323509827707583457533833527337725228554435537994061224859258062126415630568550393091231565248861190801288001227052252740695693815986963742170973728004644173513002773093501498556482665741080298188101459256751699670794276832268024373236272660143359719106324363025929731908065343123981222008288500466904389677204879206742921447833096723957659208719441657356457682160840540099815724103652356161681131842300349730911664751310197916295561545872268716685161916286246637640921439793560002313744370723811763710694971903893695743741139774070029553484990763349688644283134507363578497892741331332760053148540750011994202918641778206618759376670473440853410745891499494554616486784229193071567989409947408439434128996005546506399484499793523087072261025335919132181442416904674694853815438057470669824275091700375298458863455882321227802929480895711958436338153072180752340983172841032610084122308080784137136605132874682509849284866463409292407873635370027733494585025950440189588012527831109390308531649906658334927003704988875471454804548755300879042917789520438657237378960748896274259291029323759124097560114636527931272853879628102300161772463278137384940997218387976474782848686738502561294642605815622096899743941703465690906876731427764339193596681990190779222346569319856755772385887493887635423181723420991390123574055597039230120081143887213016656629424172601608494125508475031384033703103323175035394474434819770858762955332377460531628904607482941957896377242269659659961343239764297668988147308949060930666072915274485534805314670181848755228507299072513584332819646012058231646675650775150104513440339007689549764474628600839871756260945598113529799197394813007349022140248443415134289553326167581203635521146110380353249291317556631565036116776931800010575654594229240735732414479988597652143366511091059863130691051321403601500157734339965270962188911341786516166132765030175496913287318198077729587750854781244176896147686832982842320291604742812710080426103008960884500650201436658126809349201208695477388242082001101773177914748944962706844330936986331843708162423524066399530577354711418653514139240864935539772516367877192078836746223574227741986621355899572601743124677569602615551059770125675296990712014790407596730906855420647975989269817062276010038508548157679684776302715065903110408919542085255060166054790690024208868503235912233665447009024030196007 2848380808206908185786669258820687434366752935992733264388191694974902641305454489556849114458352245586237945211440315835208881180793545234274578503211757187939224969660566224963031136381727570855054754628602773529917836347169665949609897532378692763085128098408781584206720555279835903982870269998838060139251833847126425030954590796243973720737989554673540858819099159873283362426767883543371239833649185573871476357932858279755915991326252270443863797918451442732295239981168352484946140343461452624937118487266168970966935429758356240366646186763872492284446285813303920072845523661373629294756348037206511134390311018436146474370489569412291341156371960920814133696018346512316053041417153334855514486689418654274706025368545913376504167848426441673243877221032762359462981113291683220205335778339428618176186592881170729810906857671555432348670671892245592524967677094437489105966124219159235894304221596763718643697251704544517116135201897456661767094499284717357758319195611476383978016641930543057678963064817550227347842049907149233748106777751282742227283707508788112079017217830363311015081914439263046306180400403103856816482495134573849054965434639736010559900078058510147237748834220939202368092453972046549811731147718835647425022706591282665018154315581056638561470467663823604439599547072397815733936240811405898272431419424389941698631574430004613797246495552588302612917768143126335862847292227502834470722762543277423002011787605947254240133746811962467765040471268883337317237756698636694724558831430054070755504244125069799373451817718885713452457919230355107603532540181898889140332937145538614025866888735301671594472305969230189577910808226417950985551687172545687158102524413368028122300180219275846446905657794424838859512266687753089327382877779608381055791540648822484472580548372721597505546458387070736256809747580717667119309138335409113772176224220825072444994233080628220509286082875996065930680708206078561586436620245391255396898500727628770588259517413148493898109486986986083922032595866737870780176456487977658342931454390200925305330475736171937584299380700849799165970705466112767056206676049334430709863113887689778117177536014441288503731946202296530682496014288779177457450430706841709893397854183739171791794789837361632110802296925745762166873259537543671846711878605618933119984936107759916176640009115648864891945514822963959095259574213885402768734373327364616181955913975267404309857537078397103624720405002039305442460059210940567331422203913853728569977949871512675397719573097639979198985885940252679872045200950963588106271636185435614233220045462801614285394988564003219049243540014192951433439206135169163228162131451326522897813929894639496863353446674773832931595102525189579459242683190369388656687757823585313837733202010678052424800998787585567822458031002944319263252406477529549264713182839829385417562040296353363633085784311774135971216530683187430467994037909482330034681743802244698653275563011335877053604288544658314141578000832283527382189419189097832266978630837818605971879621744836709099946266933643058962295018309763276383189743452055087931428723074421722959744320898247169187640133074530551141782339832944510252820904696662706352727586366200636 4608776960581672874797427157235980330521742932729166009290623089242111270434450497700596594509249329599122819343858188789228044535022729996462918566567240280626360751442040505201180234062901776207889647605548047050821790973132912269748658759199833141921829369045418638427656573103991359428377330681112523288706201726195546038599854652584190976360199721570215519073288444457751151231586620356102097265953420361888364986827351973998728388839280323224426727312687300311583285978012183758276033014494634259775874774887193195021375143175776317879001859303263832874933089602155966704101197354447544169731919599245851454347838533553878243047067664565054672881258514964481989893862088971033319108479186690367406568095754030000996866281411293268808072803767061469658744855824897514891993553668664166499529603315917511264806811784065556397490521299814132771702995402073300108425210927964826831194678654697229955529080854825845059327820254937608347700450758647463055095726336970098454013011598440126148990369935187231191965837911051725904324715648229531936208237008034441898077984341056136452253490490506670734188238802288976038088465746227838038490783635040753444642639518942753481347911155234104896957553662596558825774614812586649627455251371191809106154548891632395929819066891254554857032013536092321124761463358644453374857680604965900586175790148201705409326546333898309540987635326658332166402758906476024507130426734866412968615503874610183055160328355959248443052388590169086524417141742324190727983648198131249341045615659247142323493654072478238807580813724432219851942419023878194675793565517818021321775354050213308879682326792772341418747397669605488036774264108739178788481168068257645594440677485548780463283353060308456531027965875208975996117399562435599176667744243017673463665176018850217967165574323161787093558986218180126565341397487376002046312843324284585226980772976125951487912022601066877746665043624892340189971737529837685683996734881919186669752380355731070750031980691285878839106705374962558704881282605240432074819062303599755242675396093666616212207207163936276777896062691040578388317274785969522828592563543222066133044837308681168240751591611480518623813090089509547339125438461380785951575939181873093927100957506914207186269224657132490873757629303206293795777867020485629743089120875278593081328175872057585164787318064709795558018430097449493900574244395734157997241672399878200514775559987325635956533187853547208138160744009728855206934687811780439087683149511967258369175344684520024419859821541055113488539212107833883507566347061343941355562953742067179269336822394601624861049582793243954781658020002790603576805717226229026358853182772730124397971664234604767825542358016560349097727867555365076372530001388447118244438612604829490733880888843660894745092603530398277902884134011905203763902607914187676074062384048524862805804122297455136811000533256736842815547467669519274176156461433548729565259098513663352167414803876271416826120656421850392978324224406511269368810775088670434010103308407421221522939391870512006090658281724050655693201873730411252372459560514331097969937271232101407736047035964150279596559675159785611307837130522968719121324140608896371799736610396396643 7457157768788581060584096416056667764888495868721899273678814784217013911739904987257445708967601575185360764555298504624436925715816275230737497069778997468565585721102606730164211370444629347062944402234150820580739627320302578219358556291578525905006957467454200222634377128383827263411247600679950583427958035573321971069554445448828164697098189276243756377892387604331034513658354503899473337099602605935759841344760210253754644380165532593668290525231138743043878525959180536243222173357956086884712993262153362165988310572934132558245648046067136325159379375415459886776946721015821173464488267636452362588738149551990024717417557233977346014037630475885296123589880435483349372149896340025222921054785172684275702891649957206645312240652193503142902622076857659874354974666960347386704865381655346129440993404665236286208397378971369565120373667294318892633392888022402315937160802873856465849833302451589563703025071959482125463835652656104124822190225621687456212332207209916510127007011865730288870928902728601953252166765555378765684315014759317184125361691849844248531270708320869981749270153241552022344268866149331694854973278769614602499608074158678764041247989213744252134706387883535761193867068784633199439186399090027456531177255482915060947973382472311193418502481199915925564361010431042269108793921416371798858607209572591647107958120763902923338234130879246634779320527049602360369977718962369247439338266417887606057172115961906502683186135402131554289457613011207528045221404896767944065604447089301213078997898197548038181032631443317933304400338254233302279326105699716910462108291195751922905549215528074013013219703638835677614685072335157129774032855240803332752543201898916808585583533279584302977933623669633814855629666250188688504050622022626054519456716667672702439746122695883384599105444605250862822151145068093669165621981659693698999156997196951023932906255681695098255951126500888406120652445735916247270433355127310442066650881083359841338291498104434372737216192361948642626913878471978302854995518791577413585606850483867541517537682900108214362195443391890377554287980252082289884799239592556496842907951196370946357929127625921807127545036291806078021621452750159963409026369888714803820498811690653378978064014494494122984559926228952055962651126558029301589800999480897526201313111979817501341427327180358660449963944920413452995833818609619560765976045727242816696731473962593040266390724931944311762881149011768160649394747022721006419105353425820986939153294556032699817579394638695092687525098048086563379611548012307529461834589927502793502556867857403239146444571357247173830901560016983555010244923361398189587015314224056647295785594129244264688895804691334182029322970080554655831772684578816506901126370428414804571614090854338947169893602317983845725342165014849523027155014391717225338775566888354248223366162593808500444086317568510978786763998352706704644150499343031059599940842315908050820690366887607293879724944966508707119902225238794796751000194277768266277081939245239827494819013615348715190604548657693714655496892040174528755649303966386185901365994306523130695791356862397448784199808234316162449619470355913229374145045305559078152464196762597279 12065934729370253935381523573292648095410238801451065282969437873459125182174355484958042303476850904784483583899156693413664970250839005227200415636346237749191946472544647235365391604507531123270834049839698867631561418293435490489107215050778359046928786836499618861062033701487818622839624931361063106716664237299517517108154300101412355673458388997813971896965676048788785664889941124255575434365556026297648206331587562227753372769004812916892717252543826043355461811937192720001498206372450721144488868037040555361009685716109908876124649905370400158034312465017615853481047918370268717634220187235698214043085988085543902960464624898542400686918888990849778113483742524454382691258375526715590327622880926714276699757931368499914120313455960564612561366932682557389246968220629011553204394984971263640705800216449301842605887900271183697892076662696392192741818098950367142768355481528553695805362383306415408762352892214419733811536103414751587877285951958657554666345218808356636275997381800917520062894740639653679156491481203608297620523251767351626023439676190900384983524198811376652483458392043840998382357331895559532893464062404655355944250713677621517522595900368978357031663941546132320019641683597219849066641650461219265637331804374547456877792449363565748275534494736008246689122473789686722483651602021337699444782999720793352517284667097801232879221766205904966945723285956078384877108145697235660407953770292497789112332444317865751126238523992300640813874754753531718773205053094899193406650062748548355402491552270026276988613445167750153156342757278111496955119671217534931783883645245965231785231542320846354431967101308441165651459336443896308562514023309060978346983879384465589048866886339892759508961589544842790851747065812624287680718366265643727983121892686522920406911697019045171692664430823430989387492542555469671211934824983978284226137770173076975420818278282761976002616170125780746310624183265753932954430090009229628736403261439090912088323478795720251576322897736911201331795161077218734929814581095177168828282246577534157729744890064044491140091506082930955942605255038051812713391803135778562975952788505052114598680719237402325751358126381315625360746891211540749360602309070587897747599769197567586164333239151626613858317555532158349758428993578514931332890120356176119282641287851875086506214645245068456007982375017862946896408063005353718763217718127121017211507033949918676222923912785491519901041893021497015856329434834501445506788502937788245308328639240552724237439216179750206176064310155920446887177895073651470817397543669569972771893690252004864007494154150491128612559580019774158587050640587627215945868496996786771693757258363849032514438162707894531127050837635919732204302685967263625145564983033244295305494979697999841914986205848382123628226299026754726791057622305904901412837950936879111029170284891263637255086850825247821602311466022225978820306960776579789165199940829571402988105170763878710705845601388359100098226449645306066119810969366438700287185247652661049017758405485860721281262830381744370348698765770585781128108864480717283871303265538624538431838392826547728380759483394101773757456600878881948495469185914455449952200807158993922 19523092498158834995965619989349315860298734670172964556648252657676139093914260472215488012444452479969844348454455198038101895966655280457937912706125235217757532193647253965529602974952160470333778452073849688212301045613738068708465771342356884951935744303953819083696410829871645886250872532041013690144622272872839488177708745550240520370556578274057728274858063653119820178548295628155048771465158632233408047676347772481508017149170345510561007777774964786399340337896373256244720379730406808029201861299193917526997996289044041434370297951437536483193691840433075740257994639386089891098708454872150576631824137637533927677882182132519746700956519466735074237073622959937732063408271866740813248677666099398552402649581325706559432554108154067755463989009540217263601942887589358939909260366626609770146793621114538128814285279242553263012450329990711085375210986972769458705516284402410161655195685758004972465377964173901859275371756070855712699476177580345010878677426018273146403004393666647808933823643368255632408658246758987063304838266526668810148801368040744633514794907132246634232728545285393020726626198044891227748437341174269958443858787836300281563843889582722609166370329429668081213508752381853048505828049551246722168509059857462517825765831835876941694036975935924172253483484220728991592445523437709498303390209293384999625242787861704156217455897085151601725043813005680745247085864659604907847292036710385395169504560279772253809424659394432195103332367764739246818426457991667137472254509837849568481489450467574315169646076611068086460743095532344799234445776917251842245991936441717154690780757848920367445186804947276843266144408779053438336546878549864311099527081283382397634450419619477062486895213214476605707376732062812976184768988288269782502578609354195622846657819714928556291769875428681852209643687623563340377556806643671983225294767370027999353724533964457074258567296626669152431276629001670180224863445136540070803054142522450753426614976900154624313539090098859843958709039549197037784810099886754582413889097061401699247282572964152705502286949474821333496893235290134102598191042728335059818860739701423060956609846863324132878903162673121703382368343961700712769628678959302701568098580888220965142397253646120736842877481761110405721080120136544232922691119837073645483954399831692587847641972425427116457946319938276399892241881614973279529193763854363833908238507912511716489314637717435831663923042033265176505724181857222451925893856363609232247481933796585424055018610818445298863589408204007010266789443085959000279232133597072766274450558109408103153938725507738302443461140036757713597295563949025405532883811220843418989542852493093297203333967399228713156373807716474388036075370546080132046691353461659099877109070552338789084879808166365969353568464041604249818212636697622126751613517825233359252536447485072137699173168393758800389075464374932683464457460119610848765140783145479453808795537651486004585570546354867807218128674884100862870811163644206966564267186897900876512577419101209436471867379039438085004195657810760309883758168447103469772669259845147669127629749688945177164959291628417936207076071234795177869614231220014528104665003921591201 31589027227529088931347143562641963955708973471624029839617690531135264276088615957173530315921303384754327932353611891451766866217494285685138328342471472966949478666191901200894994579459691593604612501913548555843862463907173559197572986393135243998864531140453437944758444531359464509090497463402076796861286510172357005285863045651652876044014967271871700171823739701908605843438236752410624205830714658531056254007935334709261389918175158427453725030318790829754802149833565976246218586102857529173690729336234472888007682005153950310494947856807936641228004305450691593739042557756358608732928642107848790674910125723077830638346807031062147387875408457584852350557365484392114754666647393456403576300547026112829102407512694206473552867564114632368025355942222774652848911108218370493113655351597873410852593837563839971420173179513736960904526992687103278117029085923136601473871765930963857460558069064420381227730856388321593086907859485607300576762129539002565545022644826629782679001775467565328996718384007909311565149727962595360925361518294020436172241044231645018498319105943623286716186937329234019108983529940450760641901403578925314388109501513921799086439789951700966198034270975800401233150435979072897572469700012465987805840864232009974703558281199442689969571470671932418942605958010415714076097125459047197748173209014178352142527454959505389096677663291056568670767098961759130124194010356840568255245807002883184281837004597638004935663183386732835917207122518270965591631511086566330878904572586397923883981002737600592158259521778818239617085852810456296189565448134786774029875581687682386476012300169766721877153906255718008917603745222949746899060901858925289446510960667847986683317305959369821995856802759319396559123797875437263865487354553913510485700502040718543253569516733973727984434306252112841597136230179033011589491631627650267451432537543104974774542812247219050261183466752449898741900812267424113179293535145769699539457403961541665514938455695874875889861987835771045290504200626415772714624680981931751242171343638935856977027463028197196642378455557752289439498490328185915311582845864113622794813528206475175555290566100726458630261289054437328743115235173241462130230988029890599315698350085788551306730492797747350701195037293268755479509113715059164255581240193249764766595687683567674353856617670495572465928694956139346788649944620326998292411481981484851119745541862430392712238550502927351564964935054762192362053616691723897432682359301397477555810573037138148292457826998195505039653718359927457153967338159610471096629677266642739046344248361412967161432879658229431056020720056531872184346204536652621478752308217630190683300110856942329717772130107123244283424645352394120240378056513343757192256336494903395182604050250338630999866014014748092981794763068358976609270259003527028164451468762112470281706732376335774954260019219006621991386930397158662284764420896190637930340723975050856796900708415364715291416147743226907316355124529406928990622133010645666851452434550561925530335824587070157753130209421182455352894423581346091011867032927820753643972525383772207559468142515492905545718775022519709964532672113677126365083417134469978056865811080585123 51112119725687923927312763551991279816007708141796994396265943188811403370002876429389018328365755864724172280808067089489868762184149566143076241048596708184707010859839155166424597554411852063938390953987398244056163509520911627906038757735492128950800275444407257028454855361231110395341369995443090487005908783045196493463571791201893396414571545545929428446681803355028426021986532380565672977295873290764464301684283107190769407067345503938014732808093755616154142487729939232490938965833264337202892590635428390415005678294197991744865245808245473124421696145883767333997037197142448499831637096979999367306734263360611758316228989163581894088831927924319926587630988444329846818074919260197216824978213125511381505057094019913032985421672268700123489344951762991916450853995807729433022915718224483180999387458678378100234458458756290223916977322677814363492240072895906060179388050333374019115753754822425353693108820562223452362279615556463013276238307119347576423700070844902929082006169134213137930542027376164943973807974721582424230199784820689246321042412272389652013114013075869920948915482614627039835609727985341988390338744753195272831968289350222080650283679534423575364404600405468482446659188360925946078297749563712709974349924089472492529324113035319631663608446607856591196089442231144705668542648896756696051563418307563351767770242821209545314133560376208170395810911967439875371279875016445476102537843713268579451341564877410258745087842781165031020539490283010212410057969078233468351159082424247492365470453205174907327905598389886326077828948342801095424011225052038616275867518129399541166793058018687089322340711202994852183748154002003185235607780408789600546038041951230384317767725578846884482752015973796002266500529938250240050256342842183292988279111394914166100227336448902284276204181680794693806779917802596351967048438271322250676727304913132974128267346211676124519750763379119051173177441269094293404156980282309770342511546483992418941553432596029500203401077934630889249213240175612810499434780868686333656060440700337556224310035992349902144665405032573622936391725618320017909773888592448682613674267907898236511900412964050591509164451727559032125483579134942174899859666989193300883796930974009516449127746443868087544072519054379161200589233851603397178272360030323410250550087515260262201498590095922688923875014894415746680891826235300277821605245835848685027984049774942109201553188220363183228887977088027368867777798548946349358576215665006709803292506833723572347476437816640803903243126563934467420756781245569471375861810863715505320794806470821070315371605165967733499481860093289585781641768485678027011636119438473609672842963350035626921106097506351957439798453068868508276453427059423889238947689956562495059713120802677420084745822181114062335363227109963226427482895701149154916064986587345829534243179861407912653433187612765422380462394772091345749221881015801486695481507120530310605696246066850719876986694098094714534483799413507791861433296654852633415719621448462802042913243688279594224997588460620540357090081392106400895625201374924223416641785228919876687097892204438082710678066650937646171608743348472304234697648354484506161530815002176324 82701146953217012858659907114633243771716681613421024235883633719946667646091492386562548644287059249478500213161678980941635628401643851828214569391068181151656489526031056367319592133871543657543003455900946799900025973428085187103611744128627372949664806584860694973213299892590574904431867458845167283867195293217553498749434836853546272458586512817801128618505543056937031865424769132976297183126587949295520555692218441900030796985520662365468457838412546445908944637563505208737157551936121866376583319971662863303013360299351942055360193665053409765649700451334458927736079754898807108564565739087848157981644389083689588954575796194644041476707336381904778938188353928721961572741566653653620401278760151624210607464606714119506538289236383332491514700893985766569299765104026099926136571069822356591851981296242218071654631638270027184821504315364917641609269158819042661653259816264337876576311823886845734920839676950545045449187475042070313853000436658350141968722715671532711761007944601778466927260411384074255538957702684177785155561303114709682493283456504034670511433119019493207665102419943861058944593257925792749032240148332120587220077790864143879736723469486124541562438871381268883679809624339998843650767449576178697780190788321482467232882394234762321633179917279789010138695400241560419744639774355803893799736627321741703910297697780714934410811223667264739066578010929199005495473885373286044357783650716151763733178569475048263680751026167897866937746612801281178001689480164799799230063655010645416249451455942775499486165120168704565694914801153257391613576673186825390305743099817081927642805358188453811199494617458712861101351899224952932134668682267714889992549002619078371001085031538216706478608818733115398825624327813687503915743697396096803473979613435632709353796853182876012260638487932907535403916147981629363556540069898972518128159842456237948902810158458895174780934230131568949915078253536518406583450515428079469881968950445534084456491888291904376093263065770401934539717440802028583214059461850618084898231784339273413201337499020547098787043860590325912375890215946505933221356734456562305408487796114373412067190979064777050139425740781996360868598814308183637030090655019083900199495281059798067755858239241615438245267556347647916680098347566662561433853600223573175017145775198827936555355207766418261389803709850555093469541770855627276114016727817333536147729591637372501913791738723290534793852912142789561229831415240670246791258574966404187359103079870861720639934264814836308942896844923861924574724119405179942472491488130358244367139054832234037476804484824197164555502580149821457965987973022330648490388427656103800356143074206977956638878227613475201723223098421262628516831483572767646431204026451465890242317171053016051084611836195862155317157990178322203036753154704676183080516455349458299815949912237743687607693206831772044371849325169250008033986301911992124625822231095581167402596954482215435168402841841321621850838923942914720852055429665498300267172055999024727573249068275349751978127797881802995709984504973452491907492234302744977060614310612692084246566034719930988256396841673457356136141415462149430599781065488954484218396626082761447 133813266678904936785972670666624523587724389755218018632149576908758071016094368815951566972652815114202672493969746070431504390585793417971290810439664889336363500385870211533744189688283395721481394409888345043956189482948996815009650501864119501900465082029267952001668155253821685299773237454288257770873104076262749992213006628055439668873158058363730557065187346411965457887411301513541970160422461240059984857376501549090800204052866166303483190646506302062063087125293444441228096517769386203579475910607091253718019038593549933800225439473298882890071396597218226261733116952041255608396202836067847525288378652444301347270804785358225935565539264306224705525819342373051808390816485913850837226256973277135592112521700734032539523710908652032615004045845748758485750619099833829359159486788046839772851368754920596171889090097026317408738481638042732005101509231714948721832647866597711895692065578709271088613948497512768497811467090598533327129238743777697718392422786516435640843014113735991604857802438760239199512765677405760209385761087935398928814325868776424322524547132095363128614017902558488098780202985911134737422578893085315860052046080214365960387007149020548116926843471786737366126468812700924789729065199139891407754540712410954959762206507270081953296788363887645601334784842472705125413182423252560589851300045629305055678067940601924479724944784043472909462388922896638880866753760389731520460321494429420343184520134352458522425838868949062897958286103084291390411747449243033267581222737434892908614921909147950406814070718558590891772743749496058487037587898238864006581610617946481468809598416207140900521835328661707713285100053226956117370276462676504490538587044570308755318852757117063590961360834706911401092124857751937743966000040238280096462258724830546875454024189631778296536842669613702229210696065784225715523588508170294768804887147369370923031077504670571299300684993510688001088255694805612699987607495710389240224480496929526503398045320887933876296664143705032823788930680977641393713494242719304418554292225039610969425647535012897000931709265622899535312281941564825951131130623049010988022162064022271648579091392028827641648590192509555392994082393443125811929950322008277201083292212033807584204985985685483525789340075402027077880687581418265958612125960253896585267695862714088198756853797862340950313678724744970840150433597090927553935621973653182221175713641412314611115344926943653718022740889230816930097609213789616596149834790631410897162395586704585292987410702631477112846139971487796391995480900650749413848353298994073749687933861303055107792176089990164898054984440243111043747629741508008675502024547094577410028986037557013583559984325119827159163021551490131136793284910632191535670151716408028385302030291855693471169357658376976217652521217288285429464236050405825337996581441936804129350193092099151600261126394444537466752311719941341353783208182927793611321303738216111478008293200549066155045389535939416336385322723356422512713488726320350933682891677447487529616162311963629346203125386342423536067074586365558892803117435677669200477256095841611960933663926924369070967074908324395002307750158810621734834478713843438990379927441084937771 216514413632121949644632577781257767359441071368639042868033210628704738662185861202514115616939874363681172707131425051373140018987437269799505379830733070488019989911901267901063781822154939379024397865789291843856215456377082002113262245992746874850129888614128646974881455146412260204205104913133425054740299369480303490962441464908985941331744571181531685683692889468902489752836070646518267343549049189355505413068719990990831001038386828668951648484918848507972031762856949649965254069705508069956059230578754117021032398892901875855585633138352292655721097048552685189469196706940062716960768575155695683270023041527990936225380581552869977042246600688129484464007696301773769963558052567504457627535733428759802719986307448152046062000145035365106518746739734525055050384203859929285296057857869196364703350051162814243543721735296344593559985953407649646710778390533991383485907682862049772268377402596116823534788174463313543260654565640603640982239180436047860361145502187968352604022058337770071785062850144313455051723380089937994541322391050108611307609325280458993035980251114856336279120322502349157724796243836927486454819041417436447272123871078509840123730618506672658489282343168006249806278437040923633379832648716070105534731500732437426995088901504844274929968281167434611473480242714265545157822197608364483651036672951046759588365638382639414135756007710737648528966933825837886362227645763017564818105145145572106917698703827506786106589895116960764896032715885572568413436929407833066811286392445538324864373365090725906300235838727295457467658550649315878651164571425689396887353717763563396452403774395594711721329946120420574386451952451909049504945144944219380531136047189387126319937788655280297439969653440026799917749185565625247881743737634376899936238338266179584807821042814654308797481157546609764614612213765855079080128578069267286933046989825608871933887663129466474081619223642256951003333948342131106571058011138468710106449447375060587854537209179838252389927209475434758328648121779669976927553704569922503452524009378884382626985034033444099718753126213225447688172157511331884352487357505573293430649860136645060646282371093604691788015933291551753862681207751309448960040977027361101282787493093605651960844224927098964034607631749674994560785928984928520045979560477469760284841637912916135312209005628759211703482434595525933619975367946554830049638701470515757323443233049687113029136665666944252816593801373606491327440629030286842941093365597815084521498666575447013627344967446313421789036816411658316570205020055929356320844787124431994055072916135289145268980574814362062610487020392932501713617714530339323992412974750681210385129111763991540198862552733302360886244649911393765310116394204959182101355742859494275544347462908709522253969494572838372969679207466607632500989205110501521077097897286262429166143004336895287868819601276309511124161045110591361817194484839785735947125969311692645410890155031281590213792377780737958236161647299337233565544155985849233950063733446512257189411380238979098181253184224226531777059091339011384710609669980414177537870406454304045180229961644300059223471749997852358443891574272771165434259779332393474598324067167699218 350327680311026886430605248447882290947165461123857061500182787537462809678280230018465682589592689477883845201101171121804644409573230687770796190270397959824383490297771479434807971510438335100505792275677636887812404939326078817122912747856866376750594970643396598976549610400233945503978342367421682825613403445743053483175448092964425610204902629545262242748880235880867947640247372160060237503971510429415490270445221540081631205091252994972434839131425150570035118888150394091193350587474894273535535141185845370739051437486451809655811072611651175545792493645770911451202313658981318325356971411223543208558401693972292283496185366911095912607785864994354189989827038674825578354374538481355294853792706705895394832508008182184585585711053687397721522792585483283540801003303693758644455544645916036137554718806083410415432811832322662002298467591450381651812287622248940105318555549459761667960442981305387912148736671976082041072121656239136968111477924213745578753568288704403993447036172073761676642865288904552654564489057495698203927083478985507540121935194056883315560527383210219464893138225060837256504999229748062223877397934502752307324169951292875800510737767527220775416125814954743615932747249741848423108897847855961513289272213143392386757295408774926228226756645055080212808265085186970670571004620860925073502336718580351815266433578984563893860700791754210557991355856722476767228981406152749085278426639574992450102218838179965308532428764066023662854318818969863958825184378650866334392509129880431233479295274238676313114306557285886349240402300145374365688752469664553403468964335710044865262002190602735612243165274782128287671552005678865166875221607620723871069723091759695881638790545772343888401330488146938201009874043317562991847743777872656996398497063096726460261845232446432605334323827160311993825308279550080794603717086239562055737934137194979794964965167800037773382304217152944952091589643147743806558665506848857950330929944304587091252582530067772128686591353180467582117578802757311370641047947289226922006816234418495352052632569046341100650462391836124983000454099076157835483617980554584281452811924158916709225373763122432333436606125801107146856763601194435260889991299035638302366079705127413236165830210612582489823947707151702072441473510403194478658105520731366345552537500627004334069062803491100162017161159340496773770408965037482383985260675123697978499156874462001724144481592610597970839334690604423421425049842819903439090928156229225981683894253280032306614755670077790534635176787899454708565685920706678770169198086118505743743006777438344253061156664804526960665471460636043545461247456038347999494437521845258620414115149321005123758846877853129520049266201401524902103401304837150717771507459267522660846377754764402993423327152949814590622200424754893061965225255516326859073679339223066558516336096436046888129945995720846977876472765051932715600402667767579347268429707527804123419183355580347745259181913720154294621484370655759746279032882306200167632955410893999786805573692202608444384378570566650067844133677704570277513727105658083378015126502295916006113893888568669130190546658322247360751641733083392900268738493175832464978251508252636989 566842093943148836075237826229140058306606532492496104368215998166167548340466091220979798206532563841565017908232596173177784428560667957570301570101131030312403480209672747335871753332593274479530190141466928731668620395703160819236174993849613251600724859257525245951431065546646205708183447280555107880353702815223356974137889557873411551536647200726793928432573125349770437393083442806578504847520559618770995683513941531072462206129639823641386487616343999078007150651007343741158604657180402343491594371764599487760083836379353685511396705750003468201513590694323596640671510365921381042317739986379238891828424735500283219721565948463965889650032465682483674453834734976599348317932591048859752481328440134655197552494315630336631647711198722762828041539325217808595851387507553687929751602503785232502258068857246224658976533567619006595858453544858031298523066012782931488804463232321811440228820383901504735683524846439395584332776221879740609093717104649793439114713790892372346051058230411531748427928139048866109616212437585636198468405870035616151429544519337342308596507634325075801172258547563186414229795473584989710332216975920188754596293822371385640634468386033893433905408158122749865739025686782772056488730496572031618824003713875829813752384310279770503156724926222514824281745327901236215728826818469289557153373391531398574854799217367203307996456799464948206520322790548314653591209051915766650096531784720564557019917542007472094639018659182984427750351534855436527238621308058699401203795522325969558343668639329402219414542396013181806708060850794690244339917041090242800356318053473608261714405964998330323964495220902548862058003958130774216380166752564943251600859138949083007958728334427624185841300141586965000927623228883188239729487515507033896334735401362906045069666275261086914131804984706921758439920493315935873683845664308829342670981127020588666898852830929504247463923440795201903094923591489874913129723517987326660437379391679647679107119739247610381076518562655902340446226924536981347568601651859149425459340243797379734679617603079785200369215518049350430688626256587489719836105338060157574883461784295561769871656134216037025224622059092658900719444808945744709850032276062999403648867198221018888126674435539681453858555338901377067002259439388122998704085081208836105837379138539920469381271809119859373720643593936022707390384332984037214034899376594213735822600107511688837173618258277542223655928491978029912752490471850190282032021521827041066205392919855479320242100637524103956424213604311113025135890940762608126490042873242937737798079693573633398330137239618889023275958481028976047174865170568687323486850496595939830799244261084996663957709430586431880935510851312918667413517699042109899872863202127016936390725217673112515677296647522652963591879632221500694466214460626828380150777236509328987682479100772942175998765596997156489000633810162524077417597152607365083215555676839496768830073510611629335472974291500892252857646017955096979844577038292049401583019144340512043994985072441587542565631754790876599621192769043581662224336775638497555552996908750220051294123850212969189414018408320099719195533307356164065702998272508225939576575575420336207 917169774254175722505843074677022349253771993616353165868398785703630358018746321239445480796125253319448863109333767294982428838133898645341097760371528990136786970507444226770679724843031609580035982417144565619481025335029239636359087741706479628351319829900921844927980675946880151212161789647976790705967106260966410457313337650837837161741549830272056171181453361230638385033330814966638742351492070048186485953959163071154093411220892818613821326747769149648042269539157737832351955244655296617027129512950444858499135273865805495167207778361654643747306084340094508091873824024902699367674711397602782100386826429472575503217751315375061802257818330676837864443661773651424926672307129530215047335121146840550592385002323812521217233422252410160549564331910701092136652390811247446574207147149701268639812787663329635074409345399941668598156921136308412950335353635031871594123018781781573108189263365206892647832261518415477625404897878118877577205195028863539017868282079596776339498094402485293425070793427953418764180701495081334402395489349021123691551479713394225624157035017535295266065396772624023670734794703333051934209614910422941061920463773664261441145206153561114209321533973077493481671772936524620479597628344427993132113275927019222200509679719054696731383481571277595037090010413088206886299831439330214630655710110111750390121232796351767201857157591219158764511678647270791420820190458068515735374958424295557007122136380187437403171447423249008090604670353825300486063805686709565735596304652206400791822963913568078532528848953299068155948463150940064610028669510754796203825282389183653126976408155601065936207660495684677149729555963809639383255388360185667122670582230708778889597518880199968074242630629733903201937497272200751231577231293379690892733232464459632505331511507707519519466128811867233752265228772866016668287562750548391398408915264215568461863817998729542020846227657948146855186513234637618719688389024836184610768309335984234770359702269315382509763109915836369922563805727294292718209649599148376347466156478215875086732250172126126301019677909885475413689080355663647555319723318614741856336273708454478479097029897338469358661228184893766047576208410140179970740023575098637706014946903348432124292504646152263943682503046053079139443732949791317477362190601940202451389916639166924803450334612610959535737804753276519481160793298021519598020160051717911714321756981973690561318099850888140194495263182582453334177540314670093721122949678056267047889287173135511626856856307601894491059390392210567733701576861469286896659240959361443481541086471011977651391293904423415983941429941665019592636112626607035322981288018441198451213359410406001787716556308439561400984777052714443569516919003879260617644370661394539597237102972437515509100623800472467554214080056976393756431439716143155239224456575732395546198815197208989064128711592718003466877106575214456793017999820374944430483985384367300892249256866191977080732156205221046547479130388610856726123609920598249569215974555234511830800558764644195986950010325357526667465326446748151939738063881296580933568123411046136057408017738781638319604565066642347079947175040439556965971736765684058404554827083672973196 1484011868197324558581080900906162407560378526108849270236614783869797906359212412460425279002657817161013881017566363468160213266694566602911399330472660020449190450717116974106551478175624884059566172558611494351149645730732400455595262735556092879952044689158447090879411741493526356920345236928531898586320809076189767431451227208711248713278197030998850099614026486580408822426414257773217247199012629666957481637473104602226555617350532642255207814364113148726049420190165081573510559901835698960518723884715044346259219110245159180678604484111658111948819675034418104732545334390824080409992451383982020992215251164972858722939317263839027691907850796359321538897496508628024274990239720579074799816449586975205789937496639442857848881133451132923377605871235918900732503778318801134503958749653486501142070856520575859733385878967560675194015374681166444248858419647814803082927482014103384548418083749108397383515786364854873209737674099998618186298912133513332456982995870489148685549152632896825173498721567002284873796913932666970600863895219056739842981024232731567932753542651860371067237655320187210084964590176918041644541831886343129816516757596035647081779674539595007643226942131200243347410798623307392536086358841000024750937279640895052014262064029334467234540206497500109861371755740989443102028658257799504187809083501643148964976032013718970509853614390684106971032001437819106074411399509984282385471490209016121564142053922194909497810466082431992518355021888680737013302426994768265136800100174532370350166632552897480751943391349312249962656524001734754854368586551845039004181600442657261388690814120599396260172155716587226011787559921940413599635555112750610374271441369657861897556247214627592260083930771320868202865120501083939471306718808886724789067967865822538550401177782968606433597933796574155510705149266181952541971408414857220741079896391236157128762670829659046268310151098743348758281436826127493632818112542823511271205688727663882449466822008562992890839628478492272263010032651831274065778251251007525772925496722013254821411867775205911501388893427934825844377706612251137275155828656674899431219735492750040248968686031554506383885850243986424948295653219085924680590055851161637109663814101569451012419179081691945397541058384954456206445992389179440476066275683149038557227295777706845272831606421730818909458448347212542188551177631005556812055059428312125450144357089485379398491718109165682418151191674560483246930030786520284003154971199883308114094680092990990947098956945125998447483603996521680758837467802231895023149283832604381219339166164585611049721431144042305007217388422693995639810977797175722646468138515037138282012603671490998451674265739025993281920287904027362236930436702921370517517233863521556533627828190110628024777920447995120517805959689197894450897654176769983619375233812241724533881294297981931240127477189715159955877740385376980870435596972982309513699541061206797661079330376803606416205130496721938800336776406565953705968186958890298970798993699575023874795543837085783529515642080148403267086519215791733601962400656935078489121120319796356108702141588994607509018583474962446799142708347795721031674735038192284344131402659093309403 2401181642451500281086923975583184756814150519725202436105013569573428264377958733699870759798783070480462744126900130763142642104828465248252497090844189010585977421224561200877231203018656493639602154975756059970630671065761640091954350477262572508303364519059368935807392417440406508132507026576508689292287915337156177888764564859549085875019746861270906270795479847811047207459745072739855989550504699715143967591432267673380649028571425460869029141111882298374091689729322819405862515146490995577545853397665489204758354384110964675845812262473312755696125759374512612824419158415726779777667162781584803092602077594445434226157068579214089494165669127036159403341158282279449201662546850109289847151570733815756382322498963255379066114555703543083927170203146619992869156169130048581078165896803187769781883644183905494807795224367502343792172295817474857199193773282846674677050500795884957656607347114315290031348047883270350835142571978117495763504107162376871474851277950085925025047247035382118598569514994955703637977615427748305003259384568077863534532503946125793556910577669395666333303052092811233755699384880251093578751446796766070878437221369699908522924880693156121852548476104277736829082571559832013015683987185428017883050555567914274214771743748389163965923688068777704898461766154077649988328489697129718818464793611754899355097264810070737711710771981903265735543680085089897495231589968052798120846448633311678571264190302382346900981913505681000608959692242506037499366232681477830872396404826738771141989596466465559284472240302611318118604987152674819464397256062599835208006882831840914515667222276200462196379816212271903161517115885750052982890943472936277496942023600366640787153766094827560334326561401054771404802617773284690702883950102266415681801200330282171055732689290676125953064062608441389262970378039047969210258971165405612139488811655451725590626488828388588289156378756691495613467950060765112352506501567659695881973998063648117219826524277878375400602738394328642185573838379125566783987900850155902120391653200229129908144117947332037802408571337820301258066786967914784830475551975289641287556009201204518728065715928892975742547078428880190995871861629226104651330079426260274815678761004917883136711683727844209341223561431007535345889725338970757953428466285089241008617212416873770076281941034341778445196253100489061669711970929027076410075219480030037164466114071459069959809817960053822612646454857142936581107571101190377724277920877939575161983967266126502573955813252727892938542994388732248492539044663701181919808524791965824700880252635597588701112725048465720991158818364359015232447090423782757969449426533478336733225963081897000239390822047465554682905064956741805806447355706800631135161604524916096130864931162548143533878544248467588072020039746174288207329093892913138858599690387974120080080109495190920304256188782433163422754846960591437663453596793357253944183526445574098553328587242995583496937286701942985347815906795176810432091796879488548540014968254809535705596102601729979516465652405505929934551845662539885541700464538231659422689243730842492166110159327776245828623148541604793879089883388235277997646471803876342748686229742766282599 3885193510648824839668004876489347164374529045834051706341628353443226170737171146160296038801440887641476625144466494231302855371523031851163896421316849031035167871941678174983782681194281377699168327534367554321780316796494040547549613212818665388255409208217816026686804158933932865052852263505040587878608724413345945320215792068260334588297943892269756370409506334391456029886159330513073236749517329382101449228905372275607204645921958103124236955475995447100141109919487900979373075048326694538064577282380533551017573494356123856524416746584970867644945434408930717556964492806550860187659614165566824084817328759418292949096385843053117186073519923395480942238654790907473476652786570688364646968020320790962172259995602698236914995689154676007304776074382538893601659947448849715582124646456674270923954500704481354541181103335063018986187670498641301448052192930661477759977982809988342205025430863423687414863834248125224044880246078116113949803019295890203931834273820575073710596399668278943772068236561957988511774529360415275604123279787134603377513528178857361489664120321256037400540707412998443840663975057169135223293278683109200694953978965735555604704555232751129495775418235477980176493370183139405551770346026428042633987835208809326229033807777723631200463894566277814759833521895067093090357147954929223006273877113398048320073296823789708221564386372587372706575681522909003569642989478037080506317938842327800135406244224577256398792379588112993127314714131186774512668659676246096009196505001271141492156229019363040036415631651923568081261511154409574318765842614444874212188483274498175904358036396799858456551971928859129173304675807690466582526498585686887871213464970024502684710013309455152594410492172375639607667738274368630174190668911153140470869168196104709606133867073644732386661996405015544773675527305229921752230379580262832880568708046687882719389159658047634557466529855434844371749386886892605985324614110483207153179686791311999669293346286441368291442366872820914448583871030956840849766152101163427893317149922242384729555985722537949303797464765755127102444493580165922105631380631964540718775744693954558977034401960447482126432928672866615944167514848312029331920135277421911925342575106487334149130862809536154738764619815961991552335717728150198429494741968238279565844508194580615349113547456072597354654701447701603858263148560032633222130278908342162614610471160944449358301536069219505030797646531703419828037601887710661727432892077822883276078647359117493521054770197853891386026598385253929251376512465933076942957808624570205920219418800183199750834156192508025998376206787053010872258068220958480615917565048515475015238566753387998691065087786491547964825352860769168043377792409722001652678838388437652664492759352658771558656464696462708589825999435372182658226748069683122477974924200215844613961403793172851544383665972148323378632587345968418533889193766339563457883067506780896214407917619799189913142417198664924148152683201742764138059983838378847510813961954384559580391646438815763045981294485654333201638364878331619143662865195166737911810364050638848274812300916770853337641732016567240678232591736030999029321206842068627092817632401859592002 6286375153100325120754928852072531921188679565559254142446641923016654435115129879860166798600223958121939369271366624994445497476351497099416393512161038041621145293166239375861013884212937871338770482510123614292410987862255680639503963690081237896558773727277184962494196576374339373185359290081549277170896639750502123208980356927809420463317690753540662641204986182202503237345904403252929226300022029097245416820337639948987853674493383563993266096587877745474232799648810720385235590194817690115610430680046022755775927878467088532370229009058283623341071193783443330381383651222277639965326776947151627177419406353863727175253454422267206680239189050431640345579813073186922678315333420797654494119591054606718554582494565953615981110244858219091231946277529158886470816116578898296660290543259862040705838144888386849348976327702565362778359966316116158647245966213508152437028483605873299861632777977738977446211882131395574880022818056233609713307126458267075406685551770660998735643646703661062370637751556913692149752144788163580607382664355212466912046032124983155046574697990651703733843759505809677596363359937420228802044725479875271573391200335435464127629435925907251348323894339755717005575941742971418567454333211856060517038390776723600443805551526112795166387582635055519658295288049144743078685637652058941824738670725152947675170561633860445933275158354490638442119361607998901064874579446089878627164387475639478706670434526959603299774293093793993736274406373692812012034892357723926881592909828009912634145825485828599320887871954534886199866498307084393783163098677044709420195366106339090420025258673000320652931788141131032334821791693440519565417442058623165368155488570391143471863779404282712928737053573430411012470356047653320877074619013419556152670368526386880661866556364320858339726059013456934036645905344277890962489350745668445020057519702139608310015648486436222846622908612126339985217336947657718337831115678142903035153684854960116889119870564319743692045105267149556634157709410082407633754052951319330013708803122471514637700103669869987106206036103575428360511280548080706936106932607254182006331753895159077705100117889340457868980007101746806940039376477538133983250214703682186741021336111405217285842546537380364079988181246969526898225443067120956382923208253327520574461720611454385425395488490414375799850954548190665527975119489059709632205498388372199779076585232403519318111354029273327643444101388846356409145172988901039451710812955762458438062614625243996095010583450581784324569592773986177743915557129634258862766333416536030621099671435780788451946881240973746989535025151412026104705158644741238585366991581993811748464529835284998930455909833957102647730417817510973849825148116522632787840442913353748795357690515206915092535008944930296661846039181546470865555841962596261336574614588189964694041513288363771848639854754581486801387434306559856197342790559696817402066593952354994767736504862794773410079703900607909495968589996919574570151780717867396050828930209194095285987749040545742562446946891160263136190210540871504685363329733398397334499607781481340440922460244547099166264880558172034557322475124266277026967678645944969841503862144625874601 10171568663749149960422933728561879085563208611393305848788270276459880605852301026020462837401664845763415994415833119225748352847874528950580289933477887072656313165107917550844796565407219249037938810044491168614191304658749721187053576902899903284814182935495000989181000735308272238238211553586589865049505364163848068529196148996069755051615634645810419011614492516593959267232063733766002463049539358479346866049243012224595058320415341667117503052063873192574373909568298621364608665243144384653675007962426556306793501372823212388894645755643254490986016628192374047938348144028828500152986391112718451262236735113282020124349840265320323866312708973827121287818467864094396154968119991486019141087611375397680726842490168651852896105934012895098536722351911697780072476064027748012242415189716536311629792645592868203890157431037628381764547636814757460095298159144169630197006466415861642066658208841162664861075716379520798924903064134349723663110145754157279338519825591236072446240046371940006142705988118871680661526674148578856211505944142347070289559560303840516536238818311907741134384466918808121437027334994589364025338004162984472268345179301171019732333991158658380844099312575233697182069311926110824119224679238284103151026225985532926672839359303836426366851477201333334418128809944211836169042785606988164831012547838550995995243858457650154154839544727078011148695043130907904634517568924126959133482326317967278842076678751536859698566672681906986863589120504879586524703552033970022890789414829281054126302054505191639357303503606458454281128009461493968101928941291489583632383849380837266324383295069800179109483760069990161508126467501130986147943940644310053239368953540415646156573792713737865523147545745806050620138094322021951051265287924572696623539536722491590268000423437965590726388055418472478810321432649507812714719730325931277900626227748827491029404808144483857404089438467561184356966723834550324323155729788626110188333371646272116558413216850761111983487472139970471082741580441039248483520205052482757907025953044713899367256089392407936410003500869330555462955774128246629041738313239218722725107498589113636682134519849787939995412935774613422884206891325850163315170349981104098666363911217892551434973409346916518818752801062931518450561160795271154812417950221565800140306228806035000774509035946486973154505655995892269386238268049092342854335777296714362393687056393347968676412890098492832674241747920549776237182774876611701179143705033585341714141261984361489616065353648435675710596191159240106995292069595567335805724142041106236541319090235963988202781037433481772987911231938465036976963226865699719201284556630509286763703096588672997621520997620448650612555770678280141893202940526244634440519281301791401459850449867865686651191473641393005251672038616918653523782590032279383814549538788405809308002917081536623393023520726729810180020021652528274731231984326036380859949661459135890982144422482593963323222121099272833644121273198662338708211764556246243561642892163578654866379395479361505608428241376814596337828575419203123829026194928565135246309971832120188715734761161317952503906612574739275235555066860297276056288885488013596934321494546485466603 16457943816849475081177862580634411006751888176952559991234912199476535040967430905880629636001888803885355363687199744220193850324226026049996683445638925114277458458274156926705810449620157120376709292554614782906602292521005401826557540592981141181372956662772185951675197311682611611423570843668139142220402003914350191738176505923879175514933325399351081652819478698796462504577968137018931689349561387576592282869580652173582911994908725231110769148651750938048606709217109341749844255437962074769285438642472579062569429251290300921264874764701538114327087821975817378319731795251106140118313168059870078439656141467145747299603294687587530546551898024258761633398280937281318833283453412283673635207202430004399281424984734605468877216178871114189768668629440856666543292180606646308902705732976398352335630790481255053239133758740193744542907603130873618742544125357677782634034950021734941928290986818901642307287598510916373804925882190583333376417272212424354745205377361897071181883693075601068513343739675785372811278818936742436818888608497559537201605592428823671582813516302559444868228226424617799033390694932009592827382729642859743841736379636606483859963427084565632192423206914989414187645253669082242686679012450140163668064616762256527116644910829949221533239059836388854076424097993356579247728423259047106655751218563703943670414420091510600088114703081568649590814404738906805699392148370216837760646713793606757548747113278496462998340965775700980599863526878572398536738444391693949772382324657290966760447879991020238678191375560993340480994507768578361885092039968534293052579215487176356744408553742800499762415548211121193842948259194571505713361382702933218607524442110806789628437572118020578451884599319236461632608450369675271928339906937992252776209905248878470929866979802286449066114114431929412846967337993785703677209081071599722920683747450967099339420456630920080250712347079687524342184060782208042660986845466769013223487056501232233447533087415080855675532577407120027716899289851121656117274258003802087920734756167185414004956193062277923516209536972905983823467054676327335977845245846472904731439252484272714387234637739128397864392942876360229824246267803388297298420564684786285407385247329297768720815955884296882898740982309901045348786603862392111195341158474893320714767949417489386199904524436901348954356610544082934914213387538152052486541275685086562172763641625751487994524244127766160317685849309396132646327947865512740630854517989347800152203876609605485711075937099017460035165783933226284739207626725201594668490475457642267162418761671744776654727918674455519977446257089877063081668385510440957786651548212503098512167626423957996551976907454405753260286188495791115743028088642767267228359724215145150255208140383072601743726482586323301913518077798465124389338431994875645151124153376595774002044430369900395241663375481311296981407455959088130928574774885733198262016255411490885749880927345388736733301824999880743140089863195581913278363545274113639612471822372772750152367144519907248170875188267974859474018785960074628514389524661963532580809579613601529156657221405865051670171493132911309792877541984563553083256564133958566775825356691111341204 26629512480598625041600796309196290092315096788345865840023182475936415646819731931901092473403553649648771358103032863445942203172100555000576973379116812186933771623382074477550607015027376369414648102599105951520793597179755123013611117495881044466187139598267186940856198046990883849661782397254729007269907368078198260267372654919948930566548960045161500664433971215390421771810031870784934152399100746055939148918823664398177970315324066898228272200715624130622980618785407963114452920681106459422960446604899135369362930624113513310159520520344792605313104450168191426258079939279934640271299559172588529701892876580427767423953134952907854412864606998085882921216748801375714988251573403769692776294813805402080008267474903257321773322112884009288305390981352554446615768244634394321145120922692934663965423436074123257129291189777822126307455239945631078837842284501847412831041416437596583994949195660064307168363314890437172729828946324933057039527417966581634083725202953133143628123739447541074656049727794657053472805493085321293030394552639906607491165152732664188119052334614467186002612693343425920470418029926598956852720733805844216110081558937777503592297418243224013036522519490223111369714565595193066805903691688424266819090842747789453789484270133785647900090537037722188494552907937568415416771208866035271486763766402254939665658278549160754242954247808646660739509447869814710333909717294343796894129040111574036390823792030033322696907638457607967463452647383451985061441996425663972663171739486572020886749934496211878035494879167451794762122517230072329987020981260023876684963064868013623068791848812600678871899308281111355351074726695702491861305323347243271846893395651222435785011364831758443975032145065042512252746544691697222979605194862564949399749441971370061197867403240252039792502169850401891657288770643293516391928811397531000821309975199794590368825264775403937654801785547248708699150784616758366984142575255395123411820428147504350005946304265841967659020049547090498799640870292160904600794463056284845827760709211899313372212282454685859926213037842236539286422828804573965019583559085691627456546751073386351069369157588916337859805878650973652708453159129238460613590914665890384073749158547190320155789365231213401717493783372832563799347764657663266007759108696459120855074178223524386974413560383388322108862266539975204300451655587244395340877052981800924566450698019099456670937134226258992991927597229945908883510722742124441809998223022933141866345138593966975327141290747453135745761975092466391734499696320768930474214617498748503703737851907708764857508956107937292965357489028342100058631612376140676987936104843012385275870723012630994173497905074854403872841959174071257636231029169011901668879005516936551715058590250938288394917956227716307165190116415383777913121022027155028965673692165001583310047347451437018634686896208041107161427477611616405659806759211769579121965916870626776732025349827982700056523946099153576784211136394244251986575309830359883174114714536351405018746539999268753779303429644789455811847361379277752343415719590528667827119551445721717872391982567183004174078105707650585028432608844860829139545449621972163710146851237596807807 43087456297448100122778658889830701099066984965298425831258094675412950687787162837781722109405442453534126721790232607666136053496326581050573656824755737301211230081656231404256417464647533489791357395153720734427395889700760524840168658088862185647560096261039372892531395358673495461085353240922868149490309371992548452005549160843828106081482285444512582317253449914186884276388000007803865841748662133632531431788404316571760882310232792129339041349367375068671587328002517304864297176119068534192245885247371714431932359875403814231424395285046330719640192272144008804577811734531040780389612727232458608141549018047573514723556429640495384959416505022344644554615029738657033821535026816053366411502016235406479289692459637862790650538291755123478074059610793411113159060425241040630047826655669333016301054226555378310368424948518015870850362843076504697580386409859525195465076366459331525923240182478965949475650913401353546534754828515516390415944690179005988828930580315030214810007432523142143169393467470442426284084312022063729849283161137466144692770745161487859701865850917026630870840919768043719503808724858608549680103463448703959951817938574383987452260845327789645228945726405212525557359819264275309492582704138564430487155459510045980906129180963734869433329596874111042570977005930924994664499632125082378142514984965958883336072698640671354331068950890215310330323852608721516033301865664560634654775753905180793939570905308529785695248604233308948063316174262024383598180440817357922435554064143862987647197814487232116713686254728445135243117024998650691872113021228558169737542280355189979813200402555401178634314856492232549194022985890273997574666706050176490454417837762029225413448936949779022426916744384278973885354995061372494907945101800557202175959347220248532127734383042538488858616284282331304504256108637079220069137892469130723741993722650761689708245721406324017905514132626936233041334845398966409645129420722164136635307484648736583453479391680922823334552626954210526516540160143282560718068721060086933748495465379084727377168475516963783442422574815142523109889883480901300997428804932164532187986003557659065456603795328044735724198821527333882532699426932626757912011479350676669481134405876488088876605321115510284616234765682733609148134368520055377203100267171352441569842127641013773174318084820289671063218877084058139214665043125396447827418328666887486739214339644850944665461378354025153309613446539342041529838670607637182440852741012280942018549015203572461038217227846470595780927759025692676473707323045970525142705092956390770866156613579453541512236874782392812942803746118219163140299997886581634774587653055515483788038349436588990725474812529260157133128147669862373379259117811779168897238729732081701970266730634010890138644438814039609078708194213848902302459454022030674116797845541597357312091777821337413876350271689352404142834933570704536588381534097502777383982172282117662481906277173371436789825771099034319924300999589826165264938855104473522786586536909124155171113684519176001950178617912764315285866147339352380857805244252492200407929131059323247029049203973048055844249598840561894821310150829424382222802013755930730485972207928708149011 69716968778046725164379455199026991191382081753644291671281277151349366334606894769682814582808996103182898079893265471112078256668427136051150630203872549488145001705038305881807024479674909859206005497752826685948189486880515647853779775584743230113747235859306559833387593405664379310747135638177597156760216740070746712272921815763777036648031245489674082981687421129577306048198031878588799994147762879688470580707227980969938852625556859027567313550082999199294567946787925267978750096800174993615206331852270849801295290499517327541583915805391123324953296722312200230835891673810975420660912286405047137843441894628001282147509564593403239372281112020430527475831778540032748809786600219823059187796830040808559297959934541120112423860404639132766379450592145965559774828669875434951192947578362267680266477662629501567497716138295837997157818083022135776418228694361372608296117782896928109918189378139030256644014228291790719264583774840449447455472108145587622912655783268163358438131171970683217825443195265099479756889805107385022879677713777372752183935897894152047820918185531493816873453613111469639974226754785207506532824197254548176061899497512161491044558263571013658265468245895435636927074384859468376298486395826988697306246302257835434695613451097520517333420133911833231065529913868493410081270840991117649629278751368213823001730977189832108574023198698861971069833300478536226367211582958904431548904794016754830330394697338563108392156242690916915526768821645476368659622437243021895098725803630435008533947748983443994749181133895896930005239542228723021859134002488582046422505345223203602881992251368001857506214164773343904545097712585976489435972029397419762301311233413251661198460301781537466401948889449321486138101539753069717887550296663122151575708789191618593325601786282790528651118454132733196161544879280372736461066703866661724563303697850556280077070986181727955560315918174184941740485630015724776629271995977559260047127912796240933459425695946764790993572676501301025316181030435443465318863184116371779576256174590984040749380757971649643368635612657379062396312712285475266017012364017856159644532754631045416525972952916961073584004700178307535241152586061865218525602394016567053554883564423678409032394686346723686333728549055566172947482133177718643210859375867811562424916305864538160148731645203677993172081143624033343515116698712640843168295381648688411305665037663950401336398512580284146301541043769287950413349393349761624250850964035214083884894153797539436365358518593923731526689734118159068208207019366739455616919710455139274569894465487162306369745830890330105908161235146561263198931610262722311762523757898527869063909072449219984898972717604114561005970106843933631015490146980791070566117735249018253685325320884949178533562395041755916243898310629232680215580476049185703082471537706598940622139125272774432511037167897393511304262411182320942248188293309272356505948089152744439213931627001354136846349717198187896708512135984070417251514164934833405960701251445475560189860224518444755729482047557553771097713508718630133201220963843020868235048682505044964901441186540231060018327704548212479849742759674285211362347463377902894196119059166304956818 112804425075494825287158114088857692290449066718942717502539371826762317022394057607464536692214438556717024801683498078778214310164753717101724287028628286789356231786694537286063441944322443348997362892906547420375585376581276172693948433673605415761307332120345932725918988764337874771832488879100465306250526112063295164278470976607605142729513530934186665298940871043764190324586031886392665835896425013321002012495632297541699734935789651156906354899450374267966155274790442572843047272919243527807452217099642564233227650374921141773008311090437454044593488994456209035413703408342016201050525013637505745984990912675574796871065994233898624331697617042775172030446808278689782631321627035876425599298846276215038587652394178982903074398696394256244453510202939376672933889095116475581240774234031600696567531889184879877866141086813853868008180926098640473998615104220897803761194149356259635841429560617996206119665141693144265799338603355965837871416798324593611741586363583193573248138604493825360994836662735541906040974117129448752728960874914838896876706643055639907522784036448520447744294532879513359478035479643816056212927660703252136013717436086545478496819108898803303494413972300648162484434204123743685791069099965553127793401761767881415601742632061255386766749730785944273636506919799418404745770473116200027771793736334172706337803675830503462905092149589077281400157153087257742400513448623465066203680547921935624269965602647092894087404846924225863590084995907500752257802878060379817534279867774297996181145563470676111462867388624342065248356567227373713731247023717140216160047625578393582695192653923403036140529021265576453739120698476250487010638735447596252755729071175280886611909238731316488828865633833600460023456534814442212795495398463679353751668136411867125453336169325329017509734738415064500665800987917451956530204596335792448305297420501317969785316707588051973465830050801121174781820475414691186274401416699723396682435397444977516912905087627687614328125303455511551832721190578726026036931905176458713324751639970068768126549233488613426811058187472521585506202595766376567014441168950020691832518758188704481982576748245005809308203521705641417773852012994491976437613873367243723036017970300166497909000007462233970949963314738299782095616501697774020413959643039164003994758433505551933323049730023967664235300020708091482729781741838037290995713710315575898044879377308801346001859890934309299611154490308629991943188063957398806691703705047495025903443169001111897403575746440394327307617493143851744681914342412709980759624803411530045436051079066615847881982705672722918850964981264780426339231608149303946537111410954043352851947421885808975624447530133374718139098254513796004394749264792570239463356464981099955655592051518960068672206833855795525322606504843081582518039930071216377199269383248196297934230903094111846387387439586745915447097344753025478836569827406775133889930261434862101695837904174725573636175488297222216632813135573896582516453020039306928747287788354599715360973909037620757679660665470318086383579656057982514059026208095513068642977813564368211930490390513279115862577303388774374671052910503709593585149477133833624682091267095013105829 182521393853541550451537569287884683481831148472587009173820648978111683357000952377147351275023434659899922881576763549890292566833180853152874917232500836277501233491732843167870466423997353208203368390659374106323774863461791820547728209258348645875054567979652492559306582170002254082579624517278062463010742852134041876551392792371382179377544776423860748280628292173341496372784063764981465830044187893009472593202860278511638587561346510184473668449533373467260723221578367840821797369719418521422658548951913414034522940874438469314592226895828577369546785716768409266249595082152991621711437300042552883828432807303576079018575558827301863703978729063205699506278586818722531441108227255699484787095676317023597885612328720103015498259101033389010832960795085342232708717764991910532433721812393868376834009551814381445363857225109691865165999009120776250416843798582270412057311932253187745759618938757026462763679369984934985063922378196415285326888906470181234654242146851356931686269776464508578820279858000641385797863922236833775608638588692211649060642540949791955343702221980014264617748145990982999452262234429023562745751857957800312075616933598706969541377372469816961759882218196083799411508588983212062089555495792541825099648064025716850297356083158775904100169864697777504702036833667911814827041314107317677401072487702386529339534653020335571479115348287939252469990453565793968767725031582369497752585341938690454600360299985656002479561089615142779116853817552977120917425315303401712633005671404733004715093312454120106212048522520238995253596109456096735590381026205722262582552970801597185577184905291404893646743186038920358284218411062226976446610764845016015057040304588532547810369540512853955230814523282921946161558074567511930683045695126801505327376925603485718778937955608119546160853192547797696827345867197824692991271300202454172868601118351874249862387693769779929026145968975306116522306105430415962903673412677282656729563310241218450372330783574452405321697979956812577148902221014169491355795089292830492901007814561052808875929991460263070179693800129900647902515308051851833031453532967876851477051512819749898508549701161966882892208221883948953015004599056357194963216267383810776590901534723844906941394693808957657283691863793865955043098634875492663624819018906975566419674739370090093471781375227645657407381164332124826244898440550678134164009091964264309350544414972751747338258403514593445912695534077917942356537457307160430942554669082709109788337322798651333768934265034318058834307227262010812890121361779449436376544513866669320005945544553778154251728536563053024759126216411341689538163218412026258299635168852571221915856494335028960523420247737489279145068361357729635410239411773361310029474200230118209340917372403909247205769228897551441566504815472314262733620406120402080281740920954795238556370028366886278898424607484139426751359755935346421084758120716047490395878350587606540909769531176079710482525205495410113341325271557966999767967184974140334707989039800075275550834133556065513409142713027871857481293164776612647260247171938533936878026496069413176831931577053510175880905007936986854520795670177994804947496940511736518878210326261318062647 295325818929036375738695683376742375772280215191529726676360020804874000379395009984611887967237873216616947683260261628668506876997934570254599204261129123066857465278427380453933908368319796557200731283565921526699360240043067993241676642931954061636361900099998425285225570934340128854412113396378527769261268964197337040829863768978987322107058307358047413579569163217105686697370095651374131665940612906330474605698492576053338322497136161341380023348983747735226878496368810413664844642638662049230110766051555978267750591249359611087600537986266031414140274711224618301663298490495007822761962313680058629813423719979150875889641553061200488035676346105980871536725395097412314072429854291575910386394522593238636473264722899085918572657797427645255286470998024718905642606860108386113674496046425469073401541440999261323229998311923545733174179935219416724415458902803168215818506081609447381601048499375022668883344511678079250863260981552381123198305704794774846395828510434550504934408380958333939815116520736183291838838039366282528337599463607050545937349184005431862866486258428534712362042678870496358930297714072839618958679518661052448089334369685252448038196481368620265254296190496731961895942793106955747880624595758094952893049825793598265899098715220031290866919595483721778338543753467330219572811787223517705172866224036559235677338328850839034384207497877016533870147606653051711168238480205834563956265889860626078870325902632748896566965936539368642706938813460477873175228193363781530167285539179031000896238875924796217674915911144581060501952676683470449321628049922862478742600596379990768272377559214807929787272207304496812023339109538477463457249500292612267812769375763813434422278779244170444059680157116522406185014609381954143478541093590480859079045062015352844232274124933448563670587930962862197493146855115276649521475896538246621173898538853192219647704401357831902491976019776427291304126580845107149178074829377006053411998707686195967285235871202140019649823283412324128981623411592895517392726994469289206225759454531121577002479224948876496990751987602422233408717903818228400045894701917897543309570271008454380491126449406972692200411743589590370788856612050849171400830140751054499626919505024011404850394701271191628233655178532165737138715136573266684038778661946139570414433172875642026794831105251613321642681185040216308974680182388715425159722802279840207395423792281553093340118294448902745523850024386547934299725521264559237634258374130204135691780491799763231172510011474712386141924720405862557572035704192159417136169317278199365441996623620394002133711242235775943610091197676122115877394826561330204836746579806614574767803916220837936147867777870863997284166615871525639804988676565931549492830665211218164996509423922869315877976062753346966889111320315395845251660336191618457481010304202991536490600931460998125285812047070885342198457100688371899921327948122822624285808612022468642605607435350805284118700693792632329974138407131863582284420205013447263455276828154674990911808042593686271088803378498189943864872820834595161319273380034047005521004309633781388762421967566789291743482311325761229191848580681704398532646417645570143560301593356331168476 477847212782577926190233252664627059254111363664116735850180669782985683736395962361759239242261307876516870564837025178558799443831115423407474121493629959344358698770160223621804374792317149765404099674225295633023135103504859813789404852190302707511416468079650917844532153104342382936991737913656590232272011816331378917381256561350369501484603083781908161860197455390447183070154159416355597495984800799339947198901352854564976910058482671525853691798517121202487601717947178254486642012358080570652769315003469392302273532123798080402192764882094608783687060427993027567912893572647999444473399613722611513641856527282726954908217111888502351739655075169186571043003981916134845513538081547275395173490198910262234358877051619188934070916898461034266119431793110061138351324625100296646108217858819337450235550992813642768593855537033237598340178944340192974832302701385438627875818013862635127360667438132049131647023881663014235927183359748796408525194611264956081050070657285907436620678157422842518635396378736824677636701961603116303946238052299262194997991724955223818210188480408548976979790824861479358382559948501863181704431376618852760164951303283959417579573853838437227014178408692815761307451382090167809970180091550636777992697889819315116196454798378807194967089460181499283040580587135242034399853101330835382573938711738945765016872981871174605863322846164955786340138060218845679935963511788204061708851231799316533470686202618404899046527026154511421823792631013454994092653508667183242800291210583764005611332188378916323886964433664820055755548786139567184912009076128584741325153567181587953849562464506212823434015393343417170307557520600704439903860265137628282869809680352345982232648319757024399290494680399444352346572683949466074161586788717282364406421987618838563011212080541568109831441123510659894320492722313101342512747196740700794042499657205066469510092095127611831518121988751733407826432686275523112081748242054288710141562017927414417657566654776592424971521263369136706130525632607065008748522083762119699126767269092174385878409216409139567170445787732322881311233211870080233077348234885774394786621783828204278999676150568939575092619965473539323803861211107206366364046408134865276217821039747856311791789395080149285517347042326031692181813771448759347663597680853115136834107912245732120266612480479258979050062349372341135219578622939393559323731894244104516745968207254304840678376697963496191436545558464465876656262978571719668576813043212913245480117814598414564941444276509030444976231947667873370462157065971608853512713831144868685447942168174172156385439778798828968369217414087463805415558044973356463136381748659185796683660410555866896671288025608353276429234977229255275215228088339292859522304865441336374337426796326778563083745291650898408455616135787710107985280742312020537762751225157786775046970959827884404184236654555024768949816856623718321006086068838870114681686962610075183515376966526884994601225899288042443315463678689830582052387389987587598163265867954750266462642176149751784497946091526061801346165985611207808579520551972580942399030805703194565594353544620299467624387319262748083712644250859699203480143358157306662438511919617649231123 773173031711614301928928936041369435026391578855646462526540690587859684115790972346371127209499181093133818248097286807227306320829049993662073325754759082411216164048587604075738283160636946322604830957791217159722495343547927807031081495122256769147778368179649343129757724038682511791403851310035118001533280780528715958211120330329356823591661391139955575439766618607552869767524255067729729161925413705670421804599845430618315232555618832867233715147500868937714480214315988668151486654996742619882880081055025370570024123373157691489793302868360640197827335139217645869576192063143007267235361927402670143455280247261877830797858664949702839775331421275167442579729377013547159585967935838851305559884721503500870832141774518274852643574695888679521405902791134780043993931485208682759782713905244806523637092433812904091823853848956783331514358879559609699247761604188606843694324095472082508961715937507071800530368393341093486790444341301177531723500316059730927445899167720457941555086538381176458450512899473007969475540000969398832283837515906312740935340908960655681076674738837083689341833503731975717312857662574702800663110895279905208254285672969211865617770335207057492268474599189547723203394175197123557850804687308731730885747715612913382095553513598838485834009055665221061379124340602572253972664888554353087746804935775505000694211310722013640247530344041972320210285666871897391104201991994038625665117121659942612341012105251153795613492962693880064530731444473932867267881702030964772967576749762795006507571064303712541561880344809401116257501462823037634233637126051447220067754163561578722121940023721020753221287600647913982330896630139181903361109765430240550682579056116159416654927099001194843350174837515966758531587293331420217640127882307763223485467049634191407243486205475016673502029054473522091813639577428377992034223093278947415216398196058258689157796496485443734010098008528160699130559267120630261259823071431294763553560725613610384942802525978732444621344546781460835112149044199960526141249078231408905352526723623295962880888441358016064161197775334745114719951115688308633123242936803671938096192054836658659490802599975912267293031709063129694592717823158055537764876548885919775844740544771867716642184096351340913751002220858197429320528908022026031702376342799254707248541085121374147061443585730872300692743534412557444194258805328108984483454696523944724141391999535857934018494992412398936960395582851013810955988499836278906211071417343117381171898306398177796113954287983742831118156668073735928034192770163768270648883148423068050889938791794566158519151021034604911979308611763585921292952871534686667973128328465800371451464326776704832819155803479217273713401593100780915020216764905224409015135530652554539333936220249647878961721354404245375344727456103105953236941078503638995243761529360778311537571891288882529470048701625910111148273957312090220927414016961692738967495574632543826120984401877690278719926593080674773289602085821694164336807595001034861618542696109425257374450218743438055586749470024251745211038806445802969898793932006627947920035115336975954356775512187088759367869630588509312904492831541403602012789775802876805998813512973980399599 1251020244494192228119162188705996494280502942519763198376721360370845367852186934708130366451760488969650688812934311985786105764660165417069547447248389041755574862818747827697542657952954096088008930632016512792745630447052787620820486347312559476659194836259300260974289877143024894728395589223691708233805292596860094875592376891679726325076264474921863737299964073998000052837678414484085326657910214505010369003501198285183292142614101504393087406946017990140202081932263166922638128667354823190535649396058494762872297655496955771891986067750455248981514395567210673437489085635791006711708761541125281657097136774544604785706075776838205191514986496444354013622733358929682005099506017386126700733374920413763105191018826137463786714491594349713787525334584244841182345256110308979405890931764064143973872643426626546860417709385990020929854537823899802674080064305574045471570142109334717636322383375639120932177392275004107722717627701049973940248694927324687008495969825006365378175764695804018977085909278209832647112241962572515136230075568205574935933332633915879499286863219245632666321624328593455075695417611076565982367542271898757968419236976253171283197344189045494719282653007882363484510845557287291367820984778859368508878445605432228498292008311977645680801098515846720344419704927737814288372517989885188470320743647514450765711084292593188246110853190206928106550423727090743071040165503782242687373968353459259145811698307869558694660019988848391486354524075487387861360535210698148015767867960346559012118903252682628865448844778474221172013050248962604819145646202180031961392907730743166675971502488227233576655302993991331152638454150739886343264970030567868833552388736468505398887575418758219242640669517915411110878159977280886291801714671025045587891889037253029970254698286016584783333470177984181986134132299741479334546970290019648209258897853263325158667888591613055565528219997279894106956991953396153373341571313485583473695122743541024802600369180755324869592865810150597541242674676807025534889771161993528604479293992715470348759297657767155631331643563067067996031184327558388866200591171689446332882813838664862938490478750544851842385651674536669018396579034265261904128922957020785052062561584519724028433973491431490199268349263184229121502342679470785379365974023652369844082648997367106267328056066210131279742805883784898579413837428267502543807186590768049240887360206790162774696871690375895128396941141315479687612251478407998574787884460556030626652016120996592361055398564492773276094388615741609298496349836135377124161596979567936736337880959968738314904590799833433880348526025851049726708510916508043131109510077124986168135124737332571729490443829087570550142636570330036190235444853244517268537440396093890913671363016576426442045466646055143783800343591890816061222221820815659533006512754518565086584542851116766933654285356180934880098090813935808541933500085800562853649182537242619009636361368404575273321152492368717216605065764511524746389194984988622459781808564064175523837092394893189840084695561550313546557204792057010778478314483979208890319065921040170519951129056807388226992256949851257396617137082401102805492933133960183468437325432591629630722 2024193276205806530048091124747365929306894521375409660903262050958705051967977907054501493661259670062784507061031598793013412085489215410731620773003148124166791026867335431773280941113591042410613761589807729952468125790600715427851567842434816245806973204438949604104047601181707406519799440533726826235338573377388810833803497222009083148667925866061819312739730692605552922605202669551815055819835628210680790808101043715801607375169720337260321122093518859077916562146579155590789615322351565810418529477113520133442321778870113463381779370618815889179341730706428319307065277698934013978944123468527951800552417021806482616503934441787908031290317917719521456202462735943229164685473953224978006293259641917263976023160600655738639358066290238393308931237375379621226339187595517662165673645669308950497509735860439450952241563234946804261368896703459412373327825909762652315264466204806800145284099313146192732707760668345201209508072042351151471972195243384417935941868992726823319730851234185195435536422177682840616587781963541913968513913084111887676868673542876535180363537958082716355663457832325430793008275273651268783030653167178663176673522649222383148815114524252552211551127607071911207714239732484414925671789466168100239764193321045141880387561825576484166635107571511941405798829268340386542345182878439541558067548583289955766405295603315201886358383534248900426760709393962640462144367495776281313039085475119201758152710413120712490273512951542271550885255519961320728628416912729112788735444710109354018626474316986341407010725123283622288270551711785642453379283328231479181460661894304745398093442511948254329876590594639245134969350780879068246626079795998109384234967792584664815542502517759414085990844355431377869409747270612306509441842553332808811377356086887221377498184491491601456835499232457704077947771877169857326581193383298595624475296049321583847825685088098499299538318005808054806087551220516783634601394384916878237248683469154635187543171706734057314214210356932058376354823721006986061031020240224937509831820716338766311640186099125171695492841338401813110751135443246697499323834108493118270979005893501521597981281350520764109678683383599798712989296857423317441893799505906704827907302129291591745076157587782831113019351484042426550822871587492811411068350366451624551331190082488480414389499651941003580435549418197456023608096233595611528290641287291993965028752206326020708715366682788294065357336724166493498568239978244277480998955877899148007823914427394770157169352852476516107212545283815345226530542606299145394810480127991004787227819751763304473423741820868038792327834637614635648001463788042729799082638405590786539586589064109276562309599632566787823856038163430817105255661618149741677552575926746445453005299236826074321007188000459389159145071047993922014459162899319298528250274283879343398122114742405649463124334057806844991246364771247898762860914102762255592616678111875162835757345770282265552041079085449391989894667850333218910726002579989657321400351260173600781211542613636627895671445031574565291768243598502813748377108415985836838239101036377146474307904568994476986360126580439766709521629913942506407505722909763060274436138945565610030321 3275213520699998758167253313453362423587397463895172859279983411329550419820164841762631860113020159032435195873965910778799517850149380827801168220251537165922365889686083259470823599066545138498622692221824242745213756237653503048672054189747375722466168040698249865078337478324732301248195029757418534469143865974248905709395874113688809473744190340983683050039694766603552975442881084035900382477745842715691159811602242000984899517783821841653408529039536849218118644078842322513427743989706389000954178873172014896314619434367069235273765438369271138160856126273638992744554363334725020690652885009653233457649553796351087402210010218626113222805304414163875469825196094872911169784979970611104707026634562331027081214179426793202426072557884588107096456571959624462408684443705826641571564577433373094471382379287065997812659272620936825191223434527359215047407890215336697786834608314141517781606482688785313664885152943349308932225699743401125412220890170709104944437838817733188697906615929989214412622331455892673263700023926114429104743988652317462612802006176792414679650401177328349021985082160918885868703692884727834765398195439077421145092759625475554432012458713298046930833780614954274692225085289771706293492774245027468748642638926477370378679570137554129847436206087358661750218534196078200830717700868324730028388292230804406532116379895908390132469236724455828533311133121053383533184532999558524000413053828578460903964408720990271184933532940390663037239779595448708589988952123427260804503312670455913030745377569668970272459569901757843460283601960748247272524929530411511142853569625047912074064945000175487906531893588630576287607804931618954589891049826565978217787356529053170214430077936517633328631513873346788980287907247893192801243557224357854399269245124140251347752882777508186240168969410441886064081904176911336661128163673318243833734193902584909006493573679711554865066538003087948913044543173912937007942965698402461710943806212695659990143540887489382183807076167082655917597498397814011595920791402218466114311114709054236660399483756892327326824484901468881106782319770805086365524425280182564603861819732166384536471760101065615952064335058136467731385875891688579346022722462927489879969863713811315773510131079214321312287700747226655672325214266963596790434324390103994395413839079855586681717555718151134860178355301982354603021933661863114072097827878060043205916112413116183483412238373164189193754277865481973186180491456652276055786840338455178634475930548391362518224751416969289383306933899556954525026892442434522518972077107558941523565700711732042788328332620701472672676360663465685374709974704550772930192148482715772707721713801441848291800043461654358373998674733760853295491106471394258946090016322840336366676662253402500763052654646514532942945414639884738075681384720134958061256787038397908484706657593522416396778619413987779871344455585183707304794414188562818446265860649117781845393707138686840825362231577818109206499733614844743657115197564978279781182159824237776305048635008529817735756140593124878838325448390559824526855422899965045728558166957417316994259033625801865213352383530291024106138766996343609212998656043723243742873464378157239661043 5299406796905805288215344438200728352894291985270582520183245462288255471788142748817133353774279829095219702934997509571812929935638596238532788993254685290089156916553418691244104540180136180909236453811631972697681882028254218476523622032182191968273141245137199469182385079506439707767994470291145360704482439351637716543199371335697892622412116207045502362779425459209105898048083753587715438297581470926371950619703285716786506892953542178913729651133055708296035206225421478104217359312057954811372708350285535029756941213237182698655544808988087027340197856980067312051619641033659034669597008478181185258201970818157570018713944660414021254095622331883396926027658830816140334470453923836082713319894204248291057237340027448941065430624174826500405387809335004083635023631301344303737238223102682044968892115147505448764900835855883629452592331230818627420735716125099350102099074518948317926890582001931506397592913611694510141733771785752276884193085414093522880379707810460012017637467164174409848158753633575513880287805889656343073257901736429350289670679719668949860013939135411065377648539993244316661711968158379103548428848606256084321766282274697937580827573237550599142384908222026185899939325022256121219164563711195568988406832247522512259067131963130614014071313658870603156017363464418587373062883746764271586455840814094362298521675499223592018827620258704728960071842515016023995328900495334805313452139303697662662117119134110983675207045891932934588125035115410029318617369036156373593238757380565267049371851886655311679470295025041465748554153672533889725904212858642990324314231519352657472158387512123742236408484183269821422577155712498022836517129622564087602022324321637835029972580454277047414622358228778166849697654518505499310685399777690663210646601211027472725251067268999787697004468642899590142029676054081193987709357056616839458209489951906492854319258767810054164604856008896003719132094394429720642544360083319339948192489681850295177686712594223439498021286524014714293952322118820997656951811642443403624142935425393002972039669856017499022317326239870694217533455214051783864848259388675682874840825625667906134453041451586380061743018441736266444375172749111896787916521968834194707877165843102907518586288666997152425307052231269082223148085854456408201502674756555618946745029162344067096107055370092138440613904720179810626630029895458725600388469165352037170944864619442204192127605055952483259111614589648466684748731434896553536785796216354326642299844975786132675394104269445805490519479183372299751557435048733667913782557235549946310793520463495347261752074441569511465004195301080321022711438492593502729274786888306559247308302865551124854109643094221146197854712897191670400746768089544000623642592249586781819681961490228575084059842646973922102090485687878660090140547619454256589507061322277251882828772335928065859902953471794624862590820356431606067655328291325074038882538760992944681151052908969106377403310663267501196394401465177962567841200144967937102582511084411377086260177622166445631427585624699444130093691989062638275232531315950882566797267993794463468566938194796342199712510110730790815660396910286115620504378953486304017309603323722849691364 8574620317605804046382597751654090776481689449165755379463228873617805891608307590579765213887299988127654898808963420350612447785787977066333957213506222456011522806239501950714928139246681319407859146033456215442895638265907721525195676221929567690739309285835449334260722557831172009016189500048563895173626305325886622252595245449386702096156306548029185412819120225812658873490964837623615820775327313642063110431305527717771406410737364020567138180172592557514153850304263800617645103301764343812326887223457549926071560647604251933929310247357358165501053983253706304796174004368384055360249893487834418715851524614508657420923954879040134476900926746047272395852854925689051504255433894447187420346528766579318138451519454242143491503182059414607501844381294628546043708075007170945308802800536055139440274494434571446577560108476820454643815765758177842468143606340436047888933682833089835708497064690716820062478066555043819073959471529153402296413975584802627824817546628193200715544083094163624260781085089468187143987829815770772178001890388746812902472685896461364539664340312739414399633622154163202530415661043106938313827044045333505466859041900173492012840031950848646073218688836980460592164410312027827512657337956223037737049471173999882637746702100684743861507519746229264906235897660496788203780584615089001614844133044898768830638055395131982151296856983160557493382975636069407528513433494893329313865193132276123566081527855101254860140578832323597625364814710858737908606321159583634397742070051021180080117229456324281951929864926799309208837755633282136998429142389054501467167801144400569546223332512299230142940377771900397710184960644116977426408179449130065819809680850691005244402658390794680743253872102124955829985561766398692111928957002048517609915846335167724073003950046507973937173438053341476206111580230992530648837520729935083291943683854491401860812832447521609029671394011983952632176637568342657650487325781721801659136295894545955167830253481712821681828362691097370211549820516635009252872603044661869738454050134447239632439153612909826349141811141339575324315774984856870230372684668858247478702645357834290670924801552651996013807353499872734175761048640800476133939244431761684587847029556914223292096419746211473737594752978495737895473300121420004991936999146659613342158868242199653777824611088243273300792260022162165229651963557321839672486297043412080376860977032558387675539843429116672452865892455130439870929222891548829592572636554809505276775775524177495193618855686415094873826413082929254276584327491168190432754634343108887834359221175227390050080407062270984137680555964546006397421413197144275659466935371022331955030016666992973145909686555875504571853387630952523696237874560938259569732608572427118186358623743631075847112497293488455045035900327763398165821932339589214650763848360675160367535429929450482256681572885782404733935275941615313372449742479887892485148399410110726526544760047655947202765542241085610402894135080022706224956397709946216883764670908649153391308812630696263367183726217824322968419140379622462802087954215915928295355434951211780462825971820598207413064893641021814921799163906629724833503034997209547760183067701880089352407 13874027114511609334597942189854819129375981434436337899646474335906061363396450339396898567661579817222874601743960929922425377721426573304866746206760907746100679722792920641959032679426817500317095599845088188140577520294161940001719298254111759659012450530972648803443107637337611716784183970339709255878108744677524338795794616785084594718568422755074687775598545685021764771539048591211331259072908784568435061051008813434557913303690906199480867831305648265810189056529685278721862462613822298623699595573743084955828501860841434632584855056345445192841251840233773616847793645402043090029846901966015603974053495432666227439637899539454155730996549077930669321880513756505191838725887818283270133666422970827609195688859481691084556933806234241107907232190629632629678731706308515249046041023638737184409166609582076895342460944332704084096408096988996469888879322465535397991032757352038153635387646692648326460070980166738329215693243314905679180607060998896150705197254438653212733181550258338034108939838723043701024275635705427115251259792125176163192143365616130314399678279448150479777282162147407519192127629201486041862255892651589589788625324174871429593667605188399245215603597059006646492103735334283948731821901667418606725456303421522394896813834063815357875578833405099868062253261124915375576843468361853273201299973858993131129159730894355574170124477241865286453454818151085431523842333990228134627317332435973786228198646989212238535347624724256532213489849826268767227223690195740007990980827431586447129489081342979593631400159951840774957391909305816026724333355247697491791482032663753227018381720024422972379348861955170219132762116356615000262925309071694153421832005172328840274375238845071728157876230330903122679683216284904191422614356779739180820562447546195196798255017315507761634177906696241066348141256285073724636546877786551922750153173806397894715132091215331663194276250020879956351308731962772378293031685865041141607328785576396250345516966075936261179849649215112084505502142635456006909824414687105273362596985559840242604478823468927325371459137381210269541849230198908654095220944057533930353543470983502196805377843004238376075550371941609000620136221389912372921855766400595879295724195400017130810682708413208626162901805209764820118621385975876413193439673903215232288903897404543720873931666458335411741406164742341975856281993452780565272874766208764117547805841652000591867667448485069155711977507044778906555677954326445383129358432771163831919075620499963627869012959955860900364345892266301554028141762539901858346537191578658834145152741638722737311832481503840495602684751265626327420132851689737778388741722259328891202338319532544098000019329650096650769708100528144194096984642650482260193375200822013900006040585233859650931172339940462377147126386015642058255962479959043471240270909682952412250364202265378548116584526357577029596526096298046919440105070771212966524030938171103671207695812956625053580168852904353111599288536545200668792797597854914153986347181993060530477568990252862708998611311842523767098512832368685101077320485531866810862152702945006243931392910015394549612777403751752605737459560816915840454007413950695851777492671025602939043771 22448647432117413380980539941508909905857670883602093279109703209523867255004757929976663781548879805350529500552924350273037825507214550371200703420267130202112202529032422592673960818673498819724954745878544403583473158560069661526914974476041327349751759816808098137703830195168783725800373470388273151051735050003410961048389862234471296814724729303103873188417665910834423645030013428834947079848236098210498171482314341152329319714428270220048006011478240823324342906833949079339507565915586642436026482797200634881900062508445686566514165303702803358342305823487479921643967649770427145390096795453850022689905020047174884860561854418494290207897475823977941717733368682194243342981321712730457554012951737406927334140378935933228048436988293655715409076571924261175722439781315686194354843824174792323849441104016648341920021052809524538740223862747174312357022928805971445879966440185127989343884711383365146522549046721782148289652714844059081477021036583698778530014801066846413448725633352501658369720923812511888168263465521197887429261682513922976094616051512591678939342619760889894176915784301570721722543290244592980176082936696923095255484366075044921606507637139247891288822285895987107084268145646311776244479239623641644462505774595522277534560536164500101737086353151329132968489158785412163780624052976942274816144106903891899959797786289487556321421334225025843946837793787154839052355767485121463941182525568249909794280174844313493395488203556580129838854664537127505135830011355323642388722897482607627209606310799303875583330024878640084166229664939098163722762497636751993258649833808153796564605052536722202522289239727070616842947077000731977689333488520824219241641686023019845518777897235866408901130102433028078509668778051302883534543313781787698430478293881362920871258967362015735571351344749582542554252836516066255285384398516487006042096857660889296575944923662853272223947644032863908983485369531115035943519011646762943266465081470942205513347219557649082861678011906209454717051963152091016162697017731767143101051035694287482236917977081837151720600948522549844866165005183765524325593628726392177832246116341336487476302644556890372089357725441481734795897270030712849055795010832357563883571224956931354102779128159420099900496558188260558014094686097296418185376673049874845631062765646743374651756277546578685042198424764504141085933957010102404945361063252176197924666818684558979543207291914185828164843399499909346426607177217994212721931069325973337195851396024141123062631815642275995238172305349230808304726090031070048779291825921767721979511962813950127361912888566111479740365307230172333817554264886882054048208657630351223157368336199537071145929016205972155341561488159096717793222517211420519763107809394441018192399208977490726778284837233950832192162286343405456421784412298632685891034758043627572617899632194829030373266099243359434330461372239662232812554813251100859009179337581214397734240573004281000782934395145438722002182671625223375017753995564860370870111852901709683868877802883558972365795038060348090066931972748307563879408439747782739157508137896218024394218881835992757025842297392774420659258724723545565287510448947905399537675738727483028396178 36322674546629022715578482131363729035233652318038431178756177545429928618401208269373562349210459622573404102296885280195463203228641123676067449627028037948212882251825343234632993498100316320042050345723632591724050678854231601528634272730153087008764210347780746941146937832506395442584557440727982406929843794680935299844184479019555891533293152058178560964016211595856188416569062020046278338921144882778933232533323154586887233018119176419528873842783889089134531963363634358061370028529408941059726078370943719837728564369287121199099020360048248551183557663721253538491761295172470235419943697419865626663958515479841112300199753957948445938894024901908611039613882438699435181707209531013727687679374708234536529829238417624312605370794527896823316308762553893805401171487624201443400884847813529508258607713598725237262481997142228622836631959736170782245902251271506843870999197537166142979272358076013472982620026888520477505345958158964760657628097582594929235212055505499626181907183610839692478660762535555589192539101226625002680521474639099139286759417128721993339020899209040373954197946448978240914670919446079022038338829348512685044109690249916351200175242327647136504425882954993753576371880980595724976301141291060251187962078017044672431374370228315459612665186556429001030742419910327539357467521338795548017444080762885031088957517183843130491545811466891130400292611938240270576198101475349598568499858004223696022478821833525731930835828280836662052344514363396272363053701551063650379703724914194074339095392142283469214730184830480859123621574244914190447095852884449485050131866471907023582986772561145174901638101682240835975709193357346977952258797592518372663473691195348685793153136080938137059006332763931201189351994336207074957157670561526879251040741427558117669513984677523497205529251445823608902394092801139979921931276303038928792250031467287191291077014878184935418223894053743865334794101493887414236550697511804084873793867047338455858864185633585344041527661121321539222554105787547023072521432418872416463648021254127724841396800550764477092060085903760114408014235382674178420814572783926108185789587324838684281680487561128748164908097383090735416033491420625221977650777232953443179295420356948484913461836572628726063398363398025378132716072073172831378816346953090077919966663051287095525687944004914096783604589506846116942215950462882970218235829460940315472472660336559571410874740399254983876820906544688252982285131544439595851289502097137169114927016524104750931644775598136895602518197615532362332867852570971907125829017500426556124664704452672864673745370069951975343050058495798661237687116576619832436950379889680114359706655732081169145948345856068806111269588687240911890207159861902779956483010216454918198439794211350377709457177174413209339288672359047514677746892257676157131305667726579984868263834460207578489850625600936463926987468537709152252659884022313825533210275752318068941936385960906054363103248049791833601471208170424043810551593419774524856459034894770214346446793136421681364406349902871857165444805116992664956728925279649550019660840841224268325611791851387306638619701144527026396718285540461405741517862898601251315168409753085967439949 58771321978746436096559022072872638941091323201640524457865880754953795873405966199350226130759339427923933602849809630468501028735855674047268153047295168150325084780857765827306954316773815139767005091602176995307523837414301263055549247206194414358515970164588845078850768027675179168384930911116255557981578844684346260892574341254027188348017881361282434152433877506690612061599075448881225418769380980989431404015637495739216552732547446639576879854262129912458874870197583437400877594444995583495752561168144354719628626877732807765613185663751051909525863487208733460135728944942897380810040492873715649353863535527015997160761608376442736146791500725886552757347251120893678524688531243744185241692326445641463863969617353557540653807782821552538725385334478154981123611268939887637755728671988321832108048817615373579182503049951753161576855822483345094602925180077478289750965637722294132323157069459378619505169073610302625794998673003023842134649134166293707765226856572346039630632816963341350848381686348067477360802566747822890109783157153022115381375468641313672278363518969930268131113730750548962637214209690672002214421766045435780299594056324961272806682879466895027793248168850980860660640026626907501220780380914701895650467852612566949965934906392815561349751539707758133999231578695739703138091574315737822833588187666776931048755303473330686812967145691916974347130405725395109628553868960471062509682383572473605816758996677839225326324031837416791891199178900523777498883712906387292768426622396801701548701702941587344798060209709120943289851239184012354169858350521201478308781700280060820147591825097867377423927341409311452818656270358078955641592286113342591905115377218368531311931033316804545960136435196959279699020772387509958491700984343314577681519035308921038540772952039539232776880596195406151456646929317206235207315674819525934834346889128176487867021938541038207642171538086607774318279471025002450180069709158567028140258948518280661372211405191234426903205673027530993939606068939638039235218450150639559564699056948415207078314777632601628812661034426309959274179240566439702746408201510318286018035703666175171757983132118019120254265822824572470211930761451338071033445788065311007062866645313879839016240964732048825963894921586285936146810758170469249564193020002964923551029428698030470177444221551492781825803014271350258028149907472985375163596892713116513397139479021118550954082032313440812041664306044597599408892308762433808573220571423110506310778412548245873994276591240412890840690502964763170637593942602041955905120843422194278104176667266622992035658258636063455083415365725970995055241381463501886485159037520031337517074991931618240291877362062040961452831076846337629683429677073323299719590819610895936390839003188841104487742014408364041531450958702452971099531304556308843022340425770207557486163466655036608863116724844295898257448840777371385065214697273414684542389613333532466676176958965187055146037643195230555603653879795647418828305588984634895726570887796479898215324596019980653730201387963219947232376777865300228836137365027432289177168978737442292719830673687380063664461998537301447055977010264006971029028311846506650852844148480568995836127 95093996525375458812137504204236367976324975519678955636622058300383724491807174468723788479969799050497337705146694910663964231964496797723335602674323206098537967032683109061939947814874131459809055437325809587031574516268532864584183519936347501367280180512369592019997705860181574610969488351844237964911422639365281560736758820273583079881311033419460995116450089102546800478168137468927503757690525863768364636548960650326103785750666623059105753697046019001593406833561217795462247622974404524555478639539088074557357191247019928964712206023799300460709421150929986998627490240115367616229984190293581276017822051006857109460961362334391182085685525627795163796961133559593113706395740774757912929371701153876000393798855771181853259178577349449362041694097032048786524782756564089081156613519801851340366656531214098816444985047093981784413487782219515876848827431348985133621964835259460275302429427535392092487789100498823103300344631161988602792277231748888637000438912077845665812540000574181043327042448883623066553341667974447892790304631792121254668134885770035665617384418178970642085311677199527203551885129136751024252760595393948465343703746574877624006858121794542164297674051805974614237011907607503226197081522205762146838429930629611622397309276621131020962416726264187135029973998606067242495559095654533370851032268429661962137712820657173817304512957158808104747423017663635380204751970435820661078182241576697301839237818511364957257159860118253453943543693263920049861937414457450943148130347310995775887797095083870814012790394539601802413472813428926544616954203405650963358913566751967843730578597659012552325565443091552288794365463715425933593851083705860964568589068413717217105084169397742683019142767960890480888372766723717033448858654904841456932559776736479156210286936717062729982409847641229760359041022118346215129246951122564863626596920595463679158098953419223143060395432140351639653073572518889864416620406670371113014052815565619117231075590824819770944733334148852533162160174727185062307739882569511976028347078202542931919711578183366105904721120330070073682193475949113881167222774294244394203825290991013856039663619679147868419173920207663205627964252871963293011096565298264450242162065670828323929702801304677552027293284984311314279526830243642080943009366956055001470996091749317565703132165556406878609407603778196374970365857935868345381832722174056828869612139357678122364956772712695795918485212589285852391177440306873404424510073520247675425705429072350624925921366838549786443208700580295532970461795173013863030949860922620834228841371719295856709403628706015430426465424221769656292928498040121718922109417409711451876781647663699409437825707918109767564100665533578541573636836935226079676073829827350854589278797400191482197199191582777250870739631061500485777278196813985000153646093496787542354427301115244187352967350445232362184436309315080537317874581295728510075599889085850535618113344926093109509140891245022389205125087966071462638857182404409420583029922691250112561771389156402335094607737866091804397821582982292893792866290307081839196829819578666561045442465538767370303081699681828473452695295804468376770546174745107902168012558233654963276076 153865318504121894908696526277109006917416298721319480094487939055337520365213140668074014610729138478421271307996504541132465260700352471770603755721618374248863051813540874889246902131647946599576060528927986582339098353682834127639732767142541915725796150676958437098848473887856753779354419262960493522893001484049627821629333161527610268229328914780743429268883966609237412539767212917808729176459906844757796040564598146065320338483214069698682633551308148914052281703758801232863125217419400108051231200707232429276985818124752736730325391687550352370235284638138720458763219185058264997040024683167296925371685586533873106621722970710833918232477026353681716554308384680486792231084272018502098171064027599517464257768473124739393912986360171001900767079431510203767648394025503976718912342191790173172474705348829472395627488097045734945990343604702860971451752611426463423372930472981754407625586496994770711992958174109125729095343304165012444926926365915182344765665768650191705443172817537522394175424135231690543914144234722270782900087788945143370049510354411349337895747937148900910216425407950076166189099338827423026467182361439384245643297802899838896813541001261437192090922220656955474897651934234410727417861903120464042488897783242178572363244183013946582312168265971945269029205577301806945633650669970271193684620456096438893186468124130504504117480102850725079094553423389030489833305839396291723587864625149170907655996815189204182583483891955670245834742872164443827360821127363838235916556969707797477436498798025458158810850604248722745703324052612938898786812553926852441667695267032028663878170422756879929749492784500863741613021734073504889235443369819203556473704445632085748417015202714547228979279203157849760587393539111226991940559639248156034614078812045400194751059888756601962759290443836635911815687951435552450336562625942090798460943809723640167025120891960261350702566970226959413971353043543892314596690115828938141154311764083899778603286996016054197847939007176383527101766243666823101542958332720151535593046135150958138998026355815967734717382154756380032956372716515553583913630975804562680221860994657189027797646751797166988673439743032235675839895014323301364044542353363575457305028710984708162945943766036726377991188206570597250426337588414111330507202386959019925022025520447348035880576387107899660435210618049546632998515765408853720545429614887173342266751618378796673319038805026136607960149518633883451800069749069307212997730644943358181736483841620596498920197958078962677283899203545058703608055737775055818936070704344815112333018038985918848745061887342078885509880789947740651348169879503623605407268454929742789393856639595317649729703069980150729016931742379916171257066514008549379395664649438246790980117800589032586684941205991141292402190589763953456876809501370293843175986519266995099840590767770280796216084075289528260441885150092451922383089278569143194617989502419383002294290303891280164655178534440252944808778967761718881467162771389044316309600810487730010777095985176382988824809125829311751630198360847593122629003655334514128373998798316108853765273139226147433967543698219129920508672306068475347799574486591614553020856706714223959112203 248959315029497353720834030481345374893741274240998435731109997355721244857020315136797803090698937528918609013143199451796429492664849269493939358395941580347401018846223983951186849946522078059385115966253796169370672869951366992223916287078889417093076331189328029118846179748038328390323907614804731487804424123414909382366091981801193348110639948200204424385334055711784213017935350386736232934150432708526160677113558796391424124233880692757788387248354167915645688537320019028325372840393804632606709840246320503834343009371772665695037597711349652830944705789068707457390709425173632613270008873460878201389507637540730216082684333045225100318162551981476880351269518240079905937480012793260011100435728753393464651567328895921247172164937520451262808773528542252554173176782068065800068955711592024512841361880043571212072473144139716730403831386922376848300580042775448556994895308241214682928015924530162804480747274607948832395687935327001047719203597664070981766104680728037371255712818111703437502466584115313610467485902696718675690392420737264624717645240181385003513132355327871552301737085149603369740984467964174050719942956833332710987001549474716520820399123055979356388596272462930089134663841841913953614943425326226189327327713871790194760553459635077603274584992236132404059179575907874188129209765624804564535652724526100855324180944787678321421993060009533183841976441052665870038057809832112384666046866725868209495234633700569139840643752073923699778286565428363877222758541821289179064687317018793253324295893109328972823640998788324548116796866041865443403766757332503405026608833783996507608749020415892482075058227592416030407387197788930822829294453525064521042293514045802965522099372112289911998421971118740241475766305834944025389418294152997491546638588781879350961346825473664692741700291477865672174728973553898665465809577064655662087540730319103846183219845379484493762962402367311053624426616062782179013310522499309254168364579649518895834362586840873968792672341325236060263926418394008163850698215289663511621393213353501070917737933999333840622103275086450106638566192464667465080853750098807074425686285648202883837310371476314857092613663239898881467859267195264657055638918661839907547190776655536486875646567341403930018481491554908564705864418657753411450211753915074926493021612196665601583708552664306539044618221827743007968881623344722065927262337061230171136363757736474795683995577738832403878634731223169304191247189376180617422240718463605857162189270692947123846119324917512463727107904125354236578517532948069681967020565267435946561859410705214705454465516048094315936346214169510307641098377543745324329377872339454241270638287259017059167528777898260496581032407913494712830703350943775459071738479265597645569396597989224068882140397573918543272930220825453942654087698184278843329632612763782642195018068885524983569051425734760622626321459407532459700963859864871704693589391505233537912403648817373274164319425685275334013904055727790344106019953793453736892630733178980123338867374332785323919416863695403556028019943829886016421869945641595967570828617894775414810715604764914804270625397900958393961367601872943724570120661336722455188869264947878922388279 402824633533619248629530556758454381811157572962317915825597936411058765222233455804871817701428076007339880321139703992928894753365201741264543114117559954596264070659764858840433752078170024658961176495181782751709771223634201119863649054221431332818872481866286466217694653635895082169678326877765225010697425607464537203995425143328803616339968862980947853654218022321021625557702563304544962110610339553283956717678156942456744462717094762456471020799662316829697970241078820261188498057813204740657941040953552933111328827496525402425362989398900005201179990427207427916153928610231897610310033556628175126761193224074603322704407303756059018550639578335158596905577902920566698168564284811762109271499756352910928909335802020660641085151297691453163575852960052456321821570807572042518981297903382197685316067228873043607699961241185451676394174991625237819752332654201911980367825781222969090553602421524933516473705448717074561491031239492013492646129963579253326531770449378229076698885635649225831677890719347004154381630137418989458590480209682407994767155594592734341408880292476772462518162493099679535930083806791597077187125318272716956630299352374555417633940124317416548479518493119885564032315776076324681032805328446690231816225497113968767123797642649024185586753258208077673088385153209681133762860435595075758220273180622539748510649068918182825539473162860258262936529864441696359871363649228404108253911491875039117151231448889773322424127644029593945613029437592807704583579669185127414981244286726590730760794691134787131634491603037047293820120918654804342190579311259355846694304100816025171486919443172772411824551012093279772020408931862435712064737823344268077515997959677888713939114574826837140977701174276590002063159844946171017329977933401153526160717400827279545712406714230266655500990735314501583990416924989451115802372203006746460548484540042744013208340737339745844465529372594270467595779659606674493610000638328247395322676343733418674437649582856928166640611348501619587365692662060831265393656548009815047214439348504459209915764289815301575339485429842830139594938908980221048994484725903369754647547280305391911634957123273481845766053406272134557307754281518566021100181272025415364852219487640244649821590333378130308009669698125505815132202007071864741957414140874094851515047132644013637464284939772206199479828839877289640967397388753575786472691951948403513403115376115271469003034382764969011838784249857052755991316938445487830419971363406964038898673112313543622766317282996475141011007107670412940186573270723125500903091269612251058894877449691133554199527403390173201446227004117250958989268257047368929736646327269197030664494926854334708897231847878411225597964150293410884087769864952324838467403128703844436549514398578256655567081603565059835675120810589407399530897199554572686505619132030777742035608836655805779785135501024288883068206609499984382084053138434014899311578893924616540206693952708653438819497960125528278822683023489509225573182725182498053202231543666710134115963359509168312744225989524715307658218304677479139050873600976110095944827416210884268575988743991062238238169096120088314470039907941419072369695147928337008209725971662102881500482 651783948563116602350364587239799756704898847203316351556707933766780010079253770941669620792127013536258489334282903444725324246030051010758482472513501534943665089505988842791620602024692102718346292461435578921080444093585568112087565341300320749911948813055614495336540833383933410560002234492569956498501849730879446586361517125129996964450608811181152278039552078032805838575637913691281195044760772261810117394791715738848168586950975455214259408048016484745343658778398839289513870898207009373264650881199873436945671836868298068120400587110249658032124696216276135373544638035405530223580042430089053328150700861615333538787091636801284118868802130316635477256847421160646604106044297605022120371935485106304393560903130916581888257316235211904426384626488594708875994747589640108319050253614974222198157429108916614819772434385325168406798006378547614668052912696977360537362721089464183773481618346055096320954452723325023393886719174819014540365333561243324308297875130106266447954598453760929269180357303462317764849116040115708134280872630419672619484800834774119344922012647804644014819899578249282905671068274755771127907068275106049667617300901849271938454339247373395904868114765582815653166979617918238634647748753772916421143553210985758961884351102284101788861338250444210077147564729117555321892070201219880322755925905148640603834830013705861146961466222869791446778506305494362229909421459060516492919958358600907326646466082590342462264771396103517645391316003021171581806338211006416594045931603745383984085090584244116104458132601825371841936917784696669785594346068591859251720912934600021679095668463588664893899609239685695802427796129651366534894032276869332598558291473723691679461213946939127052976123145395330243538926150781115042719396227554151017707355989609158896673753539703931348242691026792367256165145898543349781268181780071402122636025270361847859391560582719230338228491774961581521220206275669456672623311160827556649491040923382937570272012169697802135433283689826855647629619080454839429244354763299478558835832561857960280833502223814635415961588704929280246233505101444888514075338476002176829073233565953594795472267494749796702858667069512033438775613548713830678155820190687255272399410264295781136697236900719534238028151189680414379838066425729618153407625894789169778008068744840679239047993492436512738524447061705032648936279012098297852399954289009633684539479133851746264687029960503801415717418981080222060182564127821668447842212081870569896060862383006490746612436607913987604738115011795767176765090803671195182870111834879687005456736860396348259653992919438267517382573218286761266630366634591114254066024199608651271935133214113351768064760625776671722178996558206905596918473215896100297539141607969442082118910996567480724449222001138978378948051031414861342184984897738851529835251744794560384230626905541330763354186926759049505694528068907516841785016998298886604005168285429850078119097601526026712983817385810803612836587079217299569679202678975951790094862276845690257454830733841953636663642853220118863686238248507365155472743546617706063515656034105659683386704348755977042508794494021046708431407509814362796939815809265059463398595236609981803888761 1054608582096735850979895143998254138516056420165634267382305870177838775301487226746541438493555089543598369655422607437654218999395252752023025586631061489539929160165753701632054354102862127377307468956617361672790215317219769231951214395521752082730821294921900961554235487019828492729680561370335181509199275338343983790356942268458800580790577674162100131693770100353827464133340476995826157155371111815094074112469872681304913049668070217670730428847678801575041629019477659550702368956020214113922591922153426370057000664364823470545763576509149663233304686643483563289698566645637427833890075986717228454911894085689936861491498940557343137419441708651794074162425324081213302274608582416784229643435241459215322470238932937242529342467532903357589960479448647165197816318397212150838031551518356419883473496337789658427472395626510620083192181370172852487805245351179272517730546870687152864035220767580029837428158172042097955377750414311028033011463524822577634829645579484495524653484089410155100858248022809321919230746177534697592871352840102080614251956429366853686330892940281416477338062071348962441601152081547368205094193593378766624247600254223827356088279371690812453347633258702701217199295393994563315680554082219606652959778708099727729008148744933125974448091508652287750235949882327236455654930636814956080976199085771180352345479082624043972500939385730049709715036169936058589780785108288920601173869850475946443797697531480115784688899040133111591004345440613979286389917880191544009027175890471974714845885275378903236092624204862419135757038703351474127784925379851215098415217035416046850582587906761437305724160251778975574448205061513802246958770100213600676074289433401580393400328521765964193953824319671920245602085995727286060049374160955304543868073390436438442386160253934198003743681762106868840155562823532800897070553983078148583184509810404591872599901320058976182694021147555851988815985935276131166233311799155804044813717267116356244709661752554730302073895038328475234995311742515670694638011311309293606050271910362419490749266513629936991301074134772110385828444010425109563069823201905546583720780846258986707107224618023278548624720475784167996083367830232396699256001462712670637251629751936025786518827234097664546037820887805920194970268432801482895365040035663264629523115877484692876512278432208718938004275901582322289903676400851873638872646240958037197942594509967017733690064343268770427556203230937274816173881066267156278262183445277533934959535495320034369378753890910462745749122119466180116951664074394320683773203104491938064351614310087481813853520322828440718828800222404012225619634891638483183802670526877848302599628140967686476961992473655082947776960708500316481006243080848425136006544736673286518668425395145737380016303604704038214623171842004268741715882097293424216340870876825338126266235742197136543139322427783338388762734678407501223869070136732901503316747179354466618325791554234680151803315345936331891659270102706808795252385404158449843297093820512400391570794093351121949407868842744834171344456553184844294523617147593816159460483450316543951962693092747039280746963590141135022901447417755781869309510957193396471608321208272084685389243 1706392530659852453330259731238053895220955267368950618939013803944618785380740997688211059285682103079856858989705510882379543245425303762781508059144563024483594249671742544423674956127554230095653761418052940593870659410805337344038779736822072832642770107977515456890776320403761903289682795862905138007701125069223430376718459393588797545241186485343252409733322178386633302708978390687107352200131884076904191507261588420153081636619045672884989836895695286320385287797876498840216239854227223487187242803353299807002672501233121538666164163619399321265429382859759698663243204681042958057470118416806281783062594947305270400278590577358627256288243838968429551419272745241859906380652880021806350015370726565519716031142063853824417599783768115262016345105937241874073811065986852259157081805133330642081630925446706273247244830011835788489990187748720467155858158048156633055093267960151336637516839113635126158382610895367121349264469589130042573376797086065901943127520709590761972608082543171084370038605326271639684079862217650405727152225470521753233736757264140973031252905588086060492157961649598245347272220356303139333001261868484816291864901156073099294542618619064208358215748024285516870366275011912801950328302835992523074103331919085486690892499847217227763309429759096497827383514611444791777547000838034836403732124990919820956180309096329905119462405608599841156493542475430420819690206567349437094093828209076853770444163614070458246953670436236629236395661443635150868196256091197960603073107494217358698930975859623019340550756806687790977693956488048143913379271448443074350136129970016068529678256370350102199623769491464671376876001191165168781852802377082933274632580907125272072861542468705091246929947465067250489141012146508401102768770388509455561575429380045597339059913793638129351986372788899236096320708722076150678338735763149550705820535080766439731991461902778206520922512922517433510036192210945587838856622959983360694304758190499293814981673922252532437507178728155330882624930822970510123882366074608772164886104472220379771582768737444572407262662839701390632061949111869998077145161677907723412794014412212581502579492112773075251483387545296201434858981378946227377411821653399925909651040016231806923216064134817198784065972077486334574808334858531101048772665930452434407531184622325372115560271924645231676528722963287354938839955412950171491272600529967670882482073643818763998377094303772571843273622212017496876356445194088824726104395527148103831020397878326525115991190498824450350487237131261947293716754878065515866643314939371625069808351170483830073507513242266708236211373440690773492250001526229597437868694726486499574534761355081038245026753099431754669955957266707222077924716296744525433545686344642728600787336391713218104465525605843016593571222873419130083900866995032275746176122621619898510496862647738467306493509354542387894457262747315018065654087135031788107321915464784316696444889155760706864787132731747135504495857181924108364931588083134401633391956097358090649025624827193075586071511695964953035030694801692209449996360694211522222976139484422203635349397441503016323255758084162181731332854927570144666249326766458455935006916444882066489278004 2761001112756588304310154875236308033737011687534584886321319674122457560682228224434752497779237192623455228645128118320033762244820556514804533645775624514023523409837496246055729310230416357472961230374670302266660874728025106575989994132343824915373591402899416418445011807423590396019363357233240319516900400407567414167075401662047598126031764159505352541427092278740460766842318867682933509355502995891998265619731461101457994686287115890555720265743374087895426916817354158390918608810247437601109834725506726177059673165597945009211927740128548984498734069503243261952941771326680385891360194403523510237974489032995207261770089517915970393707685547620223625581698069323073208655261462438590579658805968024735038501380996791066946942251301018619606305585385889039271627384384064409995113356651687061965104421784495931674717225638346408573182369118893319643663403399335905572823814830838489501552059881215155995810769067409219304642220003441070606388260610888479577957166289075257497261566632581239470896853349080961603310608395185103320023578310623833847988713693507826717583798528367476969496023720947207788873372437850507538095455461863582916112501410296926650630897990755020811563381282988218087565570405907365266008856918212129727063110627185214419900648592150353737757521267748785577619464493772028233201931474849792484708324076691001308525788178953949091963344994329890866208578645366479409470991675638357695267698059552800214241861145550574031642569476369740827400006884249130154586173971389504612100283384689333413776861135001922576643381011550210113450995191399618041164196828294289448551347005432115380260844277111539505347929743243646951324206252678971028811572477296533950706870340526852466261870990471055440883771784739170734743098142235687162818144549464760105443502770482035781446074047572327355730054551006104936476271545608951575409289746227699289005044891171031604591363222837182703616534070073285498852178146221719005089934759139164739118475457615650059691335674807262739581073766483806117620242565486180818520377385918065770936376382582799262332035251074509398563736974473501017890393122295107640214984879813269996514795258471568209686716730796353800108108021080369430942349209178624076667823116112596546902669768167832709734891368914863330103792965292254769778603291332583944137705966115699037054300499810064992072550356853950614532998864869677228743631813802045130145246770925708080424668153785781732067158647041342270829825442954771692530326260355981004366578972425637765979933373646559485369944389734913096236359250728127410668418952459836550416518043863563134159965480571311887361033565095148955040173663094785717869636417868080621671365253364347877134389496048724721988745573086837617732917975207538558930959377592950569552231081316015119455761786858955484481829210547054808194394715423398825616749092325699962516993498445236636763098389935603849632831782325726283219997425722519289523157271764689610638662644138783314770680709995387016590448077683467396155127284630917160183973487292851476689049917870491040596418920544197535479380538709787206375151354877053744519977841805338382436622934738747587312090534250055604002721674303316754234302345325926535558837723651852406615237653154151174667247 4467393643416440757640414606474361928957966954903535505260333478067076346062969222122963557064919295703312087634833629202413305490245860277586041704920187538507117659509238790479404266357970587568614991792723242860531534138830443920028773869165897748016361510876931875335788127827352299309046153096145457524601525476790844543793861055636395671272950644848604951160414457127094069551297258370040861555634879968902457126993049521611076322906161563440710102639069374215812204615230657231134848664474661088297077528860025984062345666831066547878091903747948305764163452363002960616184976007723343948830312820329792021037083980300477662048680095274597649995929386588653177000970814564933115035914342460396929674176694590254754532523060644891364542035069133881622650691323130913345438450370916669152195161785017704046735347231202204921962055650182197063172556867613786799521561447492538627917082790989826139068898994850282154193379962776340653906689592571113179765057696954381521084686998666019469869649175752323840935458675352601287390470612835509047175803781145587081725470957648799748836704116453537461653985370545453136145592794153646871096717330348399207977402566370025945173516609819229169779129307273734957931845417820167216337159754204652801166442546270701110793148439367581501066951026845283405002979105216820010748932312884628888440449067610822264706097275283854211425750602929732022702121120796900229161198242987794789361526268629653984686024759621032278596239912606370063795668327884281022782430062587465215173390878906692112707836994624941917194137818238001091144951679447761954543468276737363798687476975448183909939100647461641704971699234708318328200207443844139810664374854379467225339451247652124539123413459176146687813719249806421223884110288744088265586914937974215667018932150527633120505987841210456707716427339905341032796980267685102253748025509377249994825579971937471336582825125615389224539046992590719008888370357167306843946557719122525433423233648114943874673009597059795177088252494639137000245173388456690942402743460526837935822480854803179033914803988519081805826399814174891649952342234165105717360146557720993409308809670684149712266208843569429051591495566376570865801330588124851454079644769512522456553709784399639632950955503732062114169765042778589344586938149863684992910371896568133444585485122135437107632822281499182291061721828157032167583587226752216621417847300893378962906741797604545730444252950813914114103447654972268568886771454444805730470974499573741597000331251973084601361134888559363446723596381990074704385173830525352417059832983235188203968316651055141960868546807361857191251547103785559210119637944097678059540059979850847451669150851129762967015498672518592287688875241914760636855675674337476003097917425958743720243098178572173588947354816390071401765617588842528909517616087357975708693116120065135147259961037674071156126341136868114177677260173037537355177244406796477717960578108923100011215569865756093881377580809430602900650984466555025525115561570427253110081006015228581689622043747737273121550892234674740241405846156569263194516338536016860605412762419160951222661487975753071927258479758465498485567157272896071201808164490110308341622154098036217663945251 7228394756173029061950569481710669962694978642438120391581653152189533906745197446557716054844156488326767316279961747522447067735066416792390575350695812052530641069346735036535133576588386945041576222167393545127192408866855550496018768001509722663389952913776348293780799935250942695328409510329385777041501925884358258710869262717683993797304714804353957492587506735867554836393616126052974370911137875860900722746724510623069071009193277453996430368382443462111239121432584815622053457474722098689406912254366752161122018832429011557090019643876497290262897521866246222569126747334403729840190507223853302259011573013295684923818769613190568043703614934208876802582668883888006323691175804898987509332982662614989793033904057435958311484286370152501228956276709019952617065834754981079147308518436704766011839769015698136596679281288528605636354925986507106443184964846828444200740897621828315640620958876065438150004149030185559958548909596012183786153318307842861099041853287741276967131215808333563311832312024433562890701079008020612367199382091769420929714184651156626466420502644821014431150009091492660925018965232004154409192172792211982124089903976666952595804414600574249981342510590261953045497415823727532482346016672416782528229553173455915530693797031517935238824472294594068982622443598988848243950863787734421373148773144301823573231885454237803303389095597259622888910699766163379638632189918626152484629224328182454198927885905171606310238809388976110891195675212133411177368604033976969827273674263596025526484698129626864493837518829788211204595946870847379995707665105031653247238823980880299290199944924573181210319628977951965279524413696523110839475947331676001176046321588178977005385284449647202128697491034545591958627208430979775428405059487438975772462434921009668901952061888782784063446481890911445969273251813294053829157315255604949283830624863108502941174188348452571928155581062664004507740548503389025849036492478261690172541709105730593934364345271867057916669326261122943117865415953942871760923120846444903706758857237385978296246839239593591204390136788648392667842735356460213357575131437534263405823604929155717921952925574365782851699603587456940296743679797303475530747467885625119003456379552567472342685846872646925444273558008070844114365541441196268937048077862683832481639785621945502099705372638353132905594720693026709396327219040554261751563094071819087043331409951390327462511411597855256384933273097927040261417097714800786734837553471999379362980264625619644086731079278294276542959955632718202115053592782985188967476351027098751338128282131626453848229580372457006146291720766880344927989274361965758681211425233215195328803540347178487689004244245605429905421793217122299195786635051930426572650148507274758839698859965431129073429184026937126209960012304265927735134365179683675671210109618510371784023059427609675005759172919193840460897257598760056644700401678561167328599240753061883325986250575751480897968028887114070296806111751185942685299535057720104586770055933099072730218462668281470657030272773384527447780997511446316939036316377822198987849385353899698809973578510003127531261201432768815239801459618221997737367002213762160748237391751190368838612498 11695788399589469819590984088185031891652945597341655896841986630256610252808166668680679611909075784030079403914795376724860373225312277069976617055615999591037758728855973827014537842946357532610191213960116787987723943005685994416047541870675620411406314424653280169116588063078294994637455663425531234566103451361149103254663123773320389468577665449202562443747921192994648905944913384423015232466772755829803179873717560144680147332099439017437140471021512836327051326047815472853188306139196759777703989783226778145184364499260078104968111547624445596027060974229249183185311723342127073789020820044183094280048656993596162585867449708465165693699544320797529979583639698452939438727090147359384439007159357205244547566427118080849676026321439286382851606968032150865962504285125897748299503680221722470058575116246900341518641336938710802699527482854120893242706526294320982828657980412818141779689857870915720304197528992961900612455599188583296965918376004797242620126540286407296437000864984085887152767770699786164178091549620856121414375185872915008011439655608805426215257206761274551892803994462038114061164558026157801280288890122560381332067306543036978540977931210393479151121639897535688003429261241547699698683176426621435329395995719726616641486945470885516739891423321439352387625422704205668254699796100619050261589222211912645837937982729521657514814846200189354911612820886960279867793388161613947273990750596812108183613910664792638588835049301582480954991343540017692200151034096564435042447065142502717639192535124251806411031656648026212295740898550295141950251133381769017045926300956328483200139045572034822915291328212660283607724621140367250650140322186055468401385772835831101544508697908823348816511210284352013182511318719723863693991974425413191439481367071537302022458049729993240771162909230816787002070232080979156082905340764982199278656204835045974277757013474067961152694628055254723516628918860556332692983050197384215605964942753845537809037354868926853093757578755762080118110589342399562703325864306971741642581338092189157330161643228112673010216536602823284317795077590625319074935277995255256815132414599839867634219134417935211903291099153833511162545010385428326984827112655137641460010089336967111975636802376378987558443323050849433458952479591059953929958449759251965926225270744080939207338194919852315196656442521183741563910806267306478372980941372712466006238151748994873192955664548669170499036720752899308830303869169245592465308527971573120959980595877592728688092214166853639989683552014708276819438766613510541384536184010333939542096598782681595809098127179818863337543267870665904138108912306063436740751485213066042780472691198308250656019742918124022193110668459037059832642310726267902575748065933233502559941958144003302662376538843327197611725629893108456644651981267041651379903225738575506931283020465283746161885514056061954638574517771797593999877646085357645046559818861984983337201820441507574779345609696544673197457096217740968210415096628147357696851061948327654419840506416018743778581165008059267689186843668015580133552654913839059593262147773060650032635066485756199458519681191234313725368616891118068939175166703872469089859545849226586502557749 18924183155762498881541553569895701854347924239779776288423639782446144159553364115238395666753232272356846720194757124247307440960378693862367192406311811643568399798202708863549671419534744477651767436127510333114916351872541544912066309872185343074796267338429628462897387998329237689965865173754917011607605377245507361965532386491004383265882380253556519936335427928862203742338529510475989603377910631690703902620442070767749218341292716471433570839403956298438290447480400288475241763613918858467110902037593530306306383331689089662058131191500942886289958496095495405754438470676530803629211327268036396539060230006891847509686219321655733737403159255006406782166308582340945762418265952258371948340142019820234340600331175516807987510607809438884080563244741170818579570119880878827446812198658427236070414885262598478115320618227239408335882408840627999685891491141149427029398878034646457420310816746981158454201678023147460571004508784595480752071694312640103719168393574148573404132080792419450464600082724219727068792628628876733781574567964684428941153840259962052681677709406095566323954003553530774986183523258161955689481062914772363456157210519703931136782345810967729132464150487797641048926677065275232181029193099038217857625548893182532172180742502403451978715895616033421370247866303194516498650659888353471634737995356214469411169868183759460818203941797448977800523520653123659506425578080240099758619974924994562382541796569964244899073858690558591846187018752151103377519638130541404869720739406098743165677233253878670904869175477814423500336845421142521945958798486800670293165124937208782490338990496608004125610957190612248887249034836890361489616269517731469577432094424010078549893982358470550945208701318897605141138527150703639122397033912852167211943801992546970924410111618776024834609391121728232971343483894273209912062656020587148562486829698154477218931201822520533080850209117918728024369467363945358542019542675645905778506651859576131743401700140793911010426905016885023235976005296342434464248985153416645349340195329575135626408482467706264214606673391471676985637812947085532432510409432789520220956019528995585556172059992300994754990702741290451459288690182731802515574580540762760463466468889534584318322649249025913002716881058920277573318021032256222867006527621935798407865056366026441307043567558205448102251163214210450960238025307860740124544035444531553049569561700385200655467076146524426883969993850826349091720966884046379200146081443572500322960860503212372774823293445147916532643507647426478934492359396495730352012535037432690880224880914308049657327707552275869483834988637546249066098186668029195421962910446281238109276231545486738345023987163729452098532461676159359028428945778198329148398214440508261399640818109434431735805722870264323821685642197374384379786346446725327051113335357085878715306079892893421167644686975255795099471775370557650644578047763918812375159059615046866663188071017259055677313638583658743494263207968926910895714631685867462283621117881426727150058969084300214435611437781443795136967841179461897072588971291661258581111533126960348842608644995759326989780882624003128965170076509340066676542168917634629838096937600416955341170247 30619971555351968701132537658080733746000869837121432185265626412702754412361530783919075278662308056386926124109552500972167814185690970932343809461927811234606158527058682690564209262481102010261958650087627121102640294878227539328113851742860963486202581763082908632013976061407532684603320837180448246173708828606656465220195510264324772734460045702759082380083349121856852648283442894899004835844683387520507082494159630912429365673392155488870711310425469134765341773528215761328430069753115618244814891820820308451490747830949167767026242739125388482317019470324744588939750194018657877418232147312219490819108887000488010095553669030120899431102703575803936761749948280793885201145356099617756387347301377025478888166758293597657663536929248725266932170212773321684542074405006776575746315878880149706128990001509498819633961955165950211035409891694748892928598017435470409858056858447464599200000674617896878758399207016109361183460107973178777717990070317437346339294933860555869841132945776505337617367853424005891246884178249732855195949753837599436952593495868767478896934916167370118216757998015568889047348081284319756969769953037332744788224517062740909677760277021361208283585790385333329052355938306822931879712369525659653187021544612909148813667687973288968718607318937472773757873289007400184753350455988972521896327217568127115249107850913281118333018787997638332712136341540083939374218966241854047032610725521806670566155707234756883487908907992141072801178362292168795577670672227105839912167804548601460804869768378130477315900832125840635796077743971437663896209931868569687339091425893537265690478036068642827040902285403272532494973655977257612139756591703786937978817867259841180094402680267293899761719911603249618323649845870427502816389008338265358651425169064084272946868161348769265605772300352545019973413715975252365994967996785569347841143034533200451496688215296588494233544837173173451540998386224501691235002592873030121384471594613421669552439055009720764104184483772647103354086594638741997167574849460388386991921533421764292956570125695818937224823209994294961303432890537710851507445687428044777036088434128835453190391194410236206658281801895123962621833700568160129500401693195900401923476558226501696293959451625404900561160204109769711032270500623316176796964977381187764334090327110107380514381762478057763298907605735394192524148831575167218497524976817244019055807713449380073848422740695193597383006714603725657922024836053291971665454609415145621282941456380805101462915507612001556522327059662134755753931126010006271736548719047766630422321479696989645466425834732094732821378256508212153204207098974092632162714395659347280889748922743794989001043730081853474291643130135196418861071256504466231724146280373741763959582776253437734398182261713591521433411272090482841024438327713766978431016561095661385646589100358177167329530201031317749738046293142355244644455693849276457421718878477031850000389891458766630456659248280203416691720304186667879106129728314014819980472179829754381569899475500318958214192602789503062826154684847477477206141626205500318174373680900020998875243711481515526448300563815237442690538693400458135615717335621507098927956483449643541843727996 49544154711114467582674091227976435600348794076901208473689266195148898571914894899157470945415540328743772844304309625219475255146069664794711001868239622878174558325261391554113880682015846487913726086215137454217556646750769084240180161615046306560998849101512537094911364059736770374569186010935365257781314205852163827185727896755329156000342425956315602316418777050719056390621972405374994439222594019211210985114601701680178584014684871960304282149829425433203632221008616049803671833367034476711925793858413838757797131162638257429084373930626331368606977966420239994694188664695188681047443474580255887358169117007379857605239888351776633168505862830810343543916256863134830963563622051876128335687443396845713228767089469114465651047537058164151012733457514492503121644524887655403193128077538576942199404886772097297749282573393189619371292300535376892614489508576619836887455736482111056620311491364878037212600885039256821754464616757774258470061764630077450058463327434704443245265026568924788081967936148225618315676806878609588977524321802283865893747336128729531578612625573465684540712001569099664033531604542481712659251015952105108244381727582444840814542622832328937416049940873130970101282615372098164060741562624697871044647093506091680985848430475692420697323214553506195128121155310594701252001115877325993531065212924341584660277719097040579151222729795087310512659862193207598880644544322094146791230700446801232948697503804721128386982766682699664647365381044319898955190310357647244781888543954700203970547001632009148220770007603655059296414589392580185842168730355370357632256550830746048180817026565250831166513242593884781382222690814147973629372861221518407556249961683851258644296662625764450706928612922147223464788373021131141938786042251117525863368971056631243871278272967545290440381691474273252944757199869525575907030652806156496403629864231354928715619417119109027314395046291092179565367853588447049777022135548676027162978246472997801295840755150514675114611388789532126590062599935084431631823834613805032341261728751339428582978608163525201439429883385766638289070703484796383939956096860834297257044453657831038746563254402537201413272504636414414081122390750891932015976273736663162386943027116036280612282100874430813563877085168689988605588521655572399663971505003123562741955383476133821821425330036263211401158768949604643484386856883027958622069012261775572105377275149765274503889816841718024266976708454552007013745802937338350865600690858718121605902316884017474237738801057149473054970567309561234688423485406502002088561254085199321302546360611297695123753542284370602305213245145758402270305285642121827584677306105628518999025154289281727346067717245582926390175591811355777889500202282664560872544494814250025359223594362872166133987984583855845255096914287857225404224674160492305482129896452747264361895180251070588497174888006573544837518068512912895289033741613195269796877938092078716663577962476025686133972886863862160185983512155594790001844359999882282264093297711181108719958444584619172649804040570946857963122526026939374278730597497161576755485214026981347717852356477274853438081446439240571655708769909798202292259504539141728766053421050060497184898243 80164126266466436283806628886057169346349663914022640658954892607851652984276425683076546224077848385130698968413862126191643069331760635727054811330167434112780716852320074244678089944496948498175684736302764575320196941628996623568294013357907270047201430864595445726925340121144303059172506848115813503955023034458820292405923407019653928734802471659074684696502126172575909038905415300273999275067277406731718067608761332592607949688077027449174993460254894567968973994536831811132101903120150094956740685679234147209287878993587425196110616669751719850923997436744984583633938858713846558465675621892475378177278004007867867700793557381897532599608566406614280305666205143928716164708978151493884723034744773871192116933847762712123314584466306889417944903670287814187663718929894431978939443956418726648328394888281596117383244528559139830406702192230125785543087526012090246745512594929575655820312165982774915971000092055366182937924724730953036188051834947514796397758261295260313086397972345430125699335789572231509562560985128342444173474075639883302846340831997497010475547541740835802757469999584668553080879685826801469629020968989437853032606244645185750492302899853690145699635731258464299153638553678921095940453932150357524231668638119000829799516118448981389415930533490978968885994444317994886005351571866298515427392430492468699909385570010321697484241517792725643224796203733291538254863510563948193823841425968607903514853211039478011874891674674840737448543743336488694532860982584753084694056348503301664775416770010139625536670839729495695092492333364017849738378662223940044971347976724283313871295062633893658207415527997157313877196346791405585769129452925305345535067828943692438738699342893058350468648524525396841788438218891558644755175050589382884514794140120715516818146434316314556046153991826818272918170915844777941901998649591725844244772898764555380212307632415697521547939883464265631106366239812948741012024728421706148547449841086419470848279810160235439218795872562179229944149194573826428799398684074193419333183262173103721539548733859344138664253093380061599592503594022507235447401784288879074293132887786666491936954448812773408071554306531538376702956091319052061516377966932563564310419585342537976906241552499835714125037289278459699637859022278888576460936482384311327076045710586241202335807092514320974700066374684998836008535688458195177119593989079019591161184988599145348352312557536911621649983423058277664935770638990630322531055300273863742888843773264822575700654308669151029577297626971695990442354611416508273825109973132965951724867840308287340590179377016465335126591501653970555474512384616214459747391701764975799888774077033076716347111447327436400681818721946552196750571458787130792596690775187991789318806370616309900532170246297447366688508186378340066428663001874259283913146457548408650008484280609247755826705089037891294575564361655268139933489435462471727218596816569110566663967853934792316590632135144065576877703816342262669107974088313897102244565477540935490289857920084938130863996643360449920789277210874416851484872223702661894929858894927002346593096067958790379886382010254478014346247463310256337907976840160648827694009904499704039028626239 129708280977580903866480720114033604946698457990923849132644158803000551556191320582234017169493388713874471812718171751411118324477830300521765813198407056990955275177581465798791970626512794986089410822517902029537753588379765707808474174972953576608200279966107982821836704180881073433741692859051178761736337240310984119591651303774983084735144897615390287012920903223294965429527387705648993714289871425942929052723363034272786533702761899409479275610084320001172606215545447860935773736487184571668666479537647985967085010156225682625194990600378051219530975403165224578328127523409035239513119096472731265535447121015247725306033445733674165768114429237424623849582462007063547128272600203370013058722188170716905345700937231826588965632003365053568957637127802306690785363454782087382132572033957303590527799775053693415132527101952329449777994492765502678157577034588710083632968331411686712440623657347652953183600977094623004692389341488727294658113599577592246456221588729964756331662998914354913781303725720457127878237792006952033150998397442167168740088168126226542054160167314301487298182001153768217114411290369283182288271984941542961276987972227630591306845522686019083115685672131595269254921169051019260001195494775055395276315731625092510785364548924673810113253748044485164014115599628589587257352687743624508958457643416810284569663289107362276635464247587812953737456065926499137135508054886042340615072126415409136463550714844199140261874441357540402095909124380808593488051292942400329475944892458001868745963771642148773757440847333150754388906922756598035580547392579310402603604527555029362052112089199144489373928770591042095259419037605553559398502314146823753091317790627543697382996005518822801175577137447544065253226591912689786693961092840500410378163111177346760689424707283859846486535683301091525862928115714303517809029302397882340648402762995910308927927049534806548862334929755357810671734093401395790789046863970382175710428087559417272144120565310750114333407261351711356534211794508910860431222518687998451674444990924443150122527342022869340103682976765828237881574297507303619387357881149713371550177341444497530683517703215310609484826811167952790784078482069943993532354240669226726697362612458574257518523653374266527688914374447149688243447543934460976124907987387434889818001094062375024157232422550584186101225143634603479492922545341223135741663001340795163266562263748910622856202374378629645916960131512829671949516441927968673396655991132581864494746090148840049938393109726300502632268194281257225130778096823010275913671227218165273027414200919585035713932919300835937431804746799728957744817670258336287332069007870604318887799231322358443693179164573019327071994313757907974640071661069795353469235270002241814678029964979182066666158230881303211943605100666197291832887676034751589395276354001155914370379460860318344323879977044464839413082430168181035222523177075666997015474754661189283327545816410818002724605022007927737063687328497857459109818448313779384508658775252116599009816364669557303513800683931396778752399736901356225763602821199823471685344108953983694310948424436065233324463456693718586001956233220054540200236344699790556460063325549764536213524482 209872407244047340150287349000090774293048121904946489791599051410852204540467746265310563393571237099005170781132033877602761393809590936248820624528574491103735992029901540043470060571009743484265095558820666604857950530008762331376768188330860846655401710830703428548762044302025376492914199707166992265691360274769804411997574710794637013469947369274464971709423029395870874468432803005922992989357148832674647120332124366865394483390838926858654269070339214569141580210082279672067875639607334666625407165216882133176372889149813107821305607270129771070454972839910209161962066382122881797978794718365206643712725125023115593006827003115571698367722995644038904155248667150992263292981578354863897781756932944588097462634784994538712280216469671942986902540798090120878449082384676519361072015990376030238856194663335289532515771630511469280184696684995628463700664560600800330378480926341262368260935823330427869154601069149989187630314066219680330846165434525107042853979850025225069418060971259785039480639515292688637440798777135294477324472473082050471586429000123723552529707709055137290055652000738436770195290976196084651917292953930980814309594216872816341799148422539709228815321403390059568408559722729940355941649426925412919507984369744093340584880667373655199529184281535464132900110043946584473262704259609923024385850073909278984479048859117683974119705765380538596962252269659790675390371565449990534438913552384017039978403925883677152136766116032381139544452867717297288020912275527153414170001240961303533521380541652288399294111687062646449481399256120615885318926054803250447574952504279312675923407151833038147581344298588199409136615384396959145167631767072129098626385619571236136121695348411881151644225661972940907041664810804248431449136143429883294892957251298062277507571141600174402532689675127909798781099031559081459711027951989608184893175661760465689140234681950504070410274813219623441778100333214344531801071592392088324257877928645836742992400375470985553552203133913890586478360989082737289230621202762191871007628253097546871662076075882213478767936070145889837474077891529810854834759665438592445843310229231164022620472152028084017556381117699491167487034573388996055048732207601790291007782197801112234424765205874102241813951663725609387881306566213349552585844469771746216894046804648616226493039515064905160801291518319602315501458233799418312861256990419814754427747252348055971208514931915541267566943554571107336885287080918598995927711291406445607383589863413662625639047418395451532209565821252953215573132708239518549738781200351131224752282041227872376304112296317301272558396248453699513219330054874550747079460709635580118776573308355435160040290611900455727753813035704460171390643119856926146065926045190233603996836335595491967198328477178750578632113287044537358261550677909010873308422811549564564378863741469566100150585066082356133988646791823449175156012612538138724234071571230299849991513670345610319315237157151993313941391144840120128217792536627676486753224252793052089299674284754495434377797327291846699541676947775773077248475044902485366615203003880986040904044492394855613210845466948196600348203696530310878108213184860439384154073230049468575242150721 339580688221628244016768069114124379239746579895870338924243210213852756096659066847544580563064625812879642593850205629013879718287421236770586437726981548094691267207483005842262031197522538470354506381338568634395704118388528039185242363303814423263601990796811411370598748482906449926655892566218171027427697515080788531589226014569620098205092266889855258722343932619165839897960190711571986703647020258617576173055487401138181017093600826268133544680423534570314186425627727533003649376094519238294073644754530119143457899306038790446500597870507822289985948243075433740290193905531917037491913814837937909248172246038363318312860448849245864135837424881463528004831129158055810421254178558233910840479121115305002808335722226365301245848473036996555860177925892427569234445839458606743204588024333333829383994438388982947648298732463798729962691177761131141858241595189510414011449257752949080701559480678080822338202046244612192322703407708407625504279034102699289310201438755189825749723970174139953261943241013145765319036569142246510475470870524217640326517168249950094583867876369438777353834001892204987309702266565367834205564938872523775586582189100446933105993945225728311931007075521654837663480891780959615942844921700468314784300101369185851370245216298329009642438029579949296914225643575174060520056947353547533344307717326089269048712148225046250755170012968351550699708335586289812525879620336032875053985678799426176441954640727876292398640557389921541640361992098105881508963568469553743645946133419305402267344313294437173051552534395797203870306178877213920899473447382560850178557031834342037975519241032182636955273069179241504396034422002512704566134081218952851717703410198779833504691353930703952819802799420484972294891402716938218143097236270383705271120362475409038196995848884034249019225358429001324644027147273384977520057254387490525541578424756375998068161731485310619272609742974981252449834426615740322590118456362470499968306016205254015136520940781735667885610395265601943012572783591648149661843721450190322682073244021990021784603417905082818871619046911718075355652189037114474222117546588305817393487570675661553303989855243394627041207928867443958271113055458940048581086448271017017705144810259686491943288859248368769502866038172759076124754110147810528710752457159181106712047898710991250650271937615489346902516661954205794994380779140641448602919991760609917694309516096966594064717306294170913483903686083937008834803522846567669324367282539027471878335953562502675577440528121752034841834015534210440703910805062528825652452427569296497779696242147457412018045215618137209990200995253428470964147725132887034411529717506184437664372539677793603733469776473475054825807349462368146030714780926721499535161315192475418674866300574674033864486708060053790575718387710734650094438353943762462703699165550720478749243202329884444474465043126820973401729221991630210378535789613805721249546325891489133319059486756428322039842179159921051005078473337977587327610984941455871261883028045168688309490649424052737891598011223243478294076684677129303012077866102308838300547112834969735214992916830920846535308923641915186350159929750365418308449529560229940614136555599233111455675203 549453095465675584167055418114215153532794701800816828715842261624704960637126813112855143956635862911884813374982239506616641112097012173019407062255556039198427259237384545885732091768532281954619601940159235239253654648397290370562010551634675269919003701627514839919360792784931826419570092273385163293119057789850592943586800725364257111675039636164320230431766962015036714366392993717494979693004169091292223293387611768003575500484439753126787813750762749139455766635710007205071525015701853904919480809971412252319830788455851898267806205140637593360440921082985642902252260287654798835470708533203144552960897371061478911319687451964817562503560420525502432160079796309048073714235756913097808622236054059893100270970507220904013526064942708939542762718723982548447683528224135126104276604014709364068240189101724272480164070362975268010147387862756759605558906155790310744389930184094211448962495304008508691492803115394601379953017473928087956350444468627806332164181288780414895167784941433924992742582756305834402759835346277540987799943343606268111912946168373673647113575585424576067409486002630641757504993242761452486122857892803504589896176405973263274905142367765437540746328478911714406072040614510899971884494348625881234292284471113279191955125883671984209171622311115413429814335687521758533782761206963470557730157791235368253527761007342730224874875778348890147661960605246080487916251185786023409492899231183443216420358566611553444535406673422302681184814859815403169529875843996707157815947374380608935788724854946725572345664221458443653351705434997829806218399502185811297753509536113654713898926392865220784536617367767440913532649806399471849733765848291081950344089029770015969626386702342585104464028461393425879336556213521186649592233379700267000164077613773471315704566990484208651551915033556911123425126178832466437231085206377098710434754086516841687208396413435814689682884556194604694227934759830084854391190048754558824226183944851090758128921316252721221437813529179492529490933772674385438892464924212382193689701497119536893446679493787296297639555117057607912829730080566925329056877212026898263236797799906825575924462007271478644597589046566935125758147628847936103629818655872807308712927008060798726368054065122471011316817701898368464006060676361160081296596926930927323606094703359607477143311452680394507703808180273808110495839012940059761464176982180424672122056768445022565273232238209712181050847240655044345720090603765166665252078573945473079261925816976165301216487946517203567051399836787163656277043513302047375391233627920427722531978283375329788322157511935438482548597243707127984183477780007437781490990427141764556440945848033228763773760388373930782579620385166828317421357900783647645601087360382709022671702636170166001062815185238804369207831674755272008355989031852773336012121977100285043128106943799450544625050109209177107390376013815079385534548402151944445483617897121788983310573157102038641355079336311914364946469618178097715545403521569132358015107280838220777609164934178548172269395338515090177835753632452902380260552911004794204915750116715955776119037409225776459746154390590111786698363626280676296416662714420669324768209785648701686697825924 889033783687303828183823487228339532772541281696687167640085471838557716733785879960399724519700488724764455968832445135630520830384433409789993499982537587293118526444867551727994122966054820424974108321497803873649358766785818409747252914938489693182605692424326251289959541267838276346225984839603334320546755304931381475176026739933877209880131903054175489154110894634202554264353184429066966396651189349909799466443099169141756517578040579394921358431186283709769953061337734738075174391796373143213554454725942371463288687761890688714306803011145415650426869326061076642542454193186715872962622348041082462209069617099842229632547900814063426639397845406965960164910925467103884135489935471331719462715175175198103079306229447269314771913415745936098622896649874976016917974063593732847481192039042697897624183540113255427812369095439066740110079040517890747417147750979821158401379441847160529664054784686589513831005161639213572275720881636495581854723502730505621474382727535604720917508911608064946004525997318980168078871915419787498275414214130485752239463336623623741697443461794014844763320004522846744814695509326820320328422831676028365482758595073710208011136312991165852677335554433369243735521506291859587827339270326349549076584572482465043325371099970313218814060340695362726728561331096932594302818154317018091074465508561457522576473155567776475630045791317241698361668940832370300442130806122056284546884909982869392862313207339429736934047230812224222825176851913509051038839412466260901461893507799914338056069168241162745397216755854240857222011613875043727117872949568372147932066567947996751874445633897403421491890436946682417928684228401984554299899929510034802061792439968795803131078056273289057283831260813910851631447616238124867735330615970650705435197976248880353901562839368242900571140391985912448069153326105851414751142460764589235976332511273217685276558144921125308955494299169585946677769186445825176981308505117029324194489961056344773265442257034456889323423924445094472503506556266033588554308645662572516371774741141526915231282911692379116511174163969325988185382269604039803278994758615204080630285370582487129228451862514873271638796975434379084029260684306876152210905104143824326418071818320485218311342924370839780819683740071127540130814786508970610007349384090108430318142602070598727793583390295883854606324842228013905490219792080701210067096973941034589816366284541989159337949544503883094534750926738981354554894126611734334576445856484500551140261770538667976793928474638955601893233852321374096980954318364576201043686055489724220311674525522787200340202727553575692538798238960556455147625505140324815902520144647948994105318387711022367507230164847405837405427734629196463452072681710369145136248675575184441346568936744840034927301893298858159783550062466006658450427385796535798715821142651005521877350146129334989099515152335998080792105235806709595913084191765750166733164223013278116629632643858466963394921515471835415951548091516075302873014506510588229276990308883389465918655583602600910160993349738333656129830317130031683272630777107103043216297229550925511334030326056697306281463314232026973048523556031041714725112243980899265382346341247934798153501127 1438486879152979412350878905342554686305335983497503996355927733463262677370912693073254868476336351636649269343814684642247161942481445582809400562238093626491545785682252097613726214734587102379593710261657039112903013415183108780309263466573164963101609394051841091209320334052770102765796077112988497613665813094781974418762827465298134321555171539218495719585877856649239268630746178146561946089655358441202022759830710937145332018062480332521709172181949032849225719697047741943146699407498227048133035264697354623783119476217742586982113008151783009010867790409046719544794714480841514708433330881244227015169966988161321140952235352778880989142958265932468392324990721776151957849725692384429528084951229235091203350276736668173328297978358454875641385615373857524464601502287728858951757796053752061965864372641837527907976439458414334750257466903274650352976053906770131902791309625941371978626550088695098205323808277033814952228738355564583538205167971358311953638564016316019616085293853041989938747108753624814570838707261697328486075357557736753864152409504997297388811019047218590912172806007153488502319688752088272806451280724479532955378935001046973482916278680756603393423664033345083649807562120802759559711833618952230783368869043595744235280496983642297427985682651810776156542897018618691128085579361280488648804623299796825776104234162910506700504921569666131846023629546078450788358381991908079694039784141166312609282671773950983181469453904234526904009991711728912220568715256462968059277840882180523273844794023187888317742880977312684510573717048872873533336272451754183445685576104061651465773372026762624206028507804714123331461334034801456404033665777801116752405881469738811772757464758615874161747859722207336730968003829759311517327563995670917705599275590022351669606129829852451552123055425542823571494279504938317851982227667141687946411086597790059372484954558356939998638378855364190640905703946275910031372498553871588148420673905907435531394363573287178110761237453624587001994440328940419027446773569874954710061476238261063808677962405479675414150729281026933901015112350170965132335871970642102343867083170489312705152913869786351916236386022001314209787408313154812255840723760016631635130998826381283944679396989493310792136501441969496004136875462870130691303946311021035753924237305430206204936894842976278362310133022501822015986058805020760971531273956121459261938423052987011724611181782713595275585598167394025700274984730376900999828524430429973630402187587514833278010416421156159168944633689108537753257997831666623576434919683410151942843652808898116988662360239489014175087395482667684439331103285147762597393510571789713550546264235744251131280990553221336619985048119796024780873430582494016790737336035957893464018271572915006035990117078537662528991381737221278666806416417649309134727943119751290565005457089928785533724565261545175188182481249621788981447632593917694612216782120135067099940205800960505604750000851783749780898017709694173018418418028079720587292097589721610243527820517781149082430388688253423833965583949582934063533183688111897248132047346266881287453067735282473766027617704822138759746887182311718011141774958401568590150556126896636484851327051 2327520662840283240534702392570894219077877265194191163996013205301820394104698573033654592996036840361413725312647129777877682772865878992599394062220631213784664312127119649341720337700641922804567818583154842986552372181968927190056516381511654656284215086476167342499279875320608379112022061952591831934212568399713355893938854205232011531435303442272671208739988751283441822895099362575628912486306547791111822226273810106287088535640520911916630530613135316558995672758385476681221873799294600191346589719423296995246408163979633275696419811162928424661294659735107796187337168674028230581395953229285309477379036605261163370584783253592944415782356111339434352489901647243255841985215627855761247547666404410289306429582966115442643069891774200811740008512023732500481519476351322591799238988092794759863488556181950783335788808553853401490367545943792541100393201657749953061192689067788532508290604873381687719154813438673028524504459237201079120059891474088817575112946743851624337002802764650054884751634750943794738917579177117115984350771771867239616391872841620921130508462509012605756936126011676335247134384261415093126779703556155561320861693596120683690927414993747769246100999587778452893543083627094619147539172889278580332445453616078209278605868083612610646799742992506138883271458349715623722388397515597506739879088808358283298680707318478283176134967360983373544385298486910821088800512798030135978586669051149182002144984981290412918403501135046751126835168563642421271607554668929228960739734389980437611900863191429051063140097733166925367795728662747917260454145401322555593617642672009648217647817660660027627520398241660805749390018263203440958333565707311151554467673909707607575888542814889163219031690983021247582599451445997436385062894611641568411034473566271232023507692669220694452694195817528736019563432831044169266733370127906277182387419109063277057761512703278065307593873154533776587583473132721735208353807058988617472615163866963780304659805830321635000084661378069681474497946885206452616001082215537527226433250979402590723909245317172054530661903444996259889200494619775004935614866729257306424497368541071799834381365732301225187875182997435693293816668997461688408051628864160455961549070644701769162990739913864150572956185182040623544267690249379101301311295695111144184242379907500804932730478233272162216916457864729835921476278597101462181598370930062493851754789337529000883949131327217478370120349094133007054829878856988635334404970286914474181542449358053501254804344895795114770837867541429911850238952150031199777478605738899876163155327334420904189002562967042589867626193721628240894478728790288087413296030716437662544651582623455273498788220718068742457390475854425221244325503264204385935873584711533077905364840509659846070917418971836520688774931799687285325256843803445844933443764262402296086882807236058120522824080413881173268974586485428498577360716785683444778949946343148345216569838444818972568144922367255585196849565801210248321291432534590308816569087898604999709446476101383749992591382037991757490095414266712965746805814465219000291348344575817806798787098061339171072309081019054165732795410738342759725866887202382467855532902468144571283004828178 3766007541993262652885581297913448905383213248691695160351940938765083071475611266106909461472373191998062994656461814420124844715347324575408794624458724840276210097809371746955446552435229025184161528844811882099455385597152035970365779848084819619385824480528008433708600209373378481877818139065580329547878381494495330312701681670530145852990474981491166928325866607932681091525845540722190858575961906232313844986104521043432420553703001244438339702795084349408221392455433218624368573206792827239479624984120651619029527640197375862678532819314711433672162450144154515732131883154869745289829284110529536492549003593422484511537018606371825404925314377271902744814892369019407799834941320240190775632617633645380509779859702783615971367870132655687381394127397590024946120978639051450750996784146546821829352928823788311243765248012267736240625012847067191453369255564520084963983998693729904486917154962076785924478621715706843476733197592765662658265059445447129528751510760167643953088096617692044823498743504568609309756286438814444470426129329603993480544282346618218519319481556231196669108932018829823749454073013503365933230984280635094276240628597167657173843693674504372639524663621123536543350645747897378707251006508230811115814322659673953513886365067254908074785425644316915039814355368334314850473976876877995388683712108155109074784941481388789876639888930649505390408928032989271877158894789938215672626453192315494611427656755241396099872955039281278030845160275371333492176269925392197020017575272160960885745657214616939380882978710479609878369445711620790793790417853076739039303218776071299683421189687422651833548906046374929080851352298004897362367231485112268306873555379446419348646007573505037380779550705228584313567455275756747902390458607312486116633749156293583693113822499073146004817251243071559591057712335982487118715597795047965128798505706853336430246467261635005306232252009897967228489177078997645239726305612860205621035837772871215836054169403608813110845898831694268476492387214146871643447855785412481936494727217663654532587207722651729944812632726023193790215606969945970067950738699899408768364451711561112539534279602087577104111569019437007503604077310616500663892352624177087596680069471083053107670136903357461365092686624010119548404565712249231992615242006132179938166617212931011137667373076248440579226590887231657937462337402122223153129644886183953113693212390516012608560313109931073645705947261527032755104863587365536334233494717344447811944636945568334532814761316951273939782501230538449603496949981697823353913525422310028105998980143319021177664923206531604042713589204295925333809832075435850010689541288227376095197846859199524630069211271290079077375523974221246025198933846698402726610920747490971369383112082574852106907536050374183217766313536908563992063260221095154068171707382153586651888264325986906056548645675426348457157067735050287558808349379601139391166728463283412316510044245779478172894923219039334977747583510904421339709850562670029403861185488326609952974296619164899075021770726245181324060998216295899810338998153330897539480391922084688086240165796621644838336698723876304492542297920654477737008662160784036445683458595041207767856155229 6093528204833545893420283690484343124461090513885886324347954144066903465580309839140564054468410032359476719969108944198002527488213203568008188686679356054060874409936491396297166890135870947988729347427966725086007757779120963160422296229596474275670039567004175776207880084693986860989840201018172161482090949894208686206640535875762157384425778423763838137065855359216122914420944903297819771062268454023425667212378331149719509089343522156354970233408219665967217065213818695305590447006087427430826214703543948614275935804177009138374952630477639858333457109879262311919469051828897975871225237339814845969928040198683647882121801859964769820707670488611337097304794016262663641820156948095952023180284038055669816209442668899058614437761906856499121402639421322525427640454990374042550235772239341581692841485005739094579554056566121137730992558790859732553762457222270038025176687761518436995207759835458473643633435154379872001237656829966741778324950919535947103864457504019268290090899382342099708250378255512404048673865615931560454776901101471233096936155188239139649827944065243802426045058030506158996588457274918459060010687836790655597102322193288340864771108668252141885625663208901989436893729374991997854790179397509391448259776275752162792492233150867518721585168636823053923085813718049938572862374392475502128562800916513392373465648799867073052774856291632878934794226519900092965959407587968351651213122243464676613572641736531809018276456174328029157680328839013754763783824594321425980757309662141398497646520406045990444023076443646535246165174374368708054244563254399294632920861448080947901069007348082679461069304288035734830241370561208338320700797192423419861341229289154026924534550388394200599811241688249831896166906721754184287453353218954054527668222722564815716621515168293840457511447060600295610621145167026656385448967922954242311185924815916613488007979964913070613826125164431743816072650211719380448080112671848823093651001639834996140713975233930448110930560209763949950990334099353324259448938000950009162927978197066245256496453039823784475474536171019453679416101589720975003565605429156715192861820252632912373915645334388802291986752016872700797420746308078189071943981488337543558229140115784822270660876817221611938048871806050743092672255961628333293926537701243324122408997120431816070397851309520602796143048751961493858938615999223685334728015816246446965448001728045013492509444437148552015826296355660039809934742444354171668638465004258921993487086303621835787619106212746388710620368771968361453735902131729023131392131161209904269154307477739925366667486173574193910339782925924166228288560865723937423985572004665038639849429482654798128857431989358821534765999828646467269524437110902788662484505459024049274747952592234698177824955022210703906541245336595849317320104024540999001615471644555882738771071562045026579372726089307521726131654220478786136169066165284584170116674806431757533079882690598450741039845586294920174597149312114669661001283097260338220430273386931609662420772720548649067613152764236938814156412483008865557144812618549897830828736497902494885027263857960815910645779742930470225337708658997237462875549363166504301216361063185779050860983407 9859535746826808546305864988397792029844303762577581484699895082831986537055921105247473515940783224357539714625570758618127372203560528143416983311138080894337084507745863143252613442571099973172890876272778607185463143376272999130788076077681293895055864047532184209916480294067365342867658340083752491029969331388704016519342217546292303237416253405255005065391721967148804005946790444020010629638230360255739512198482852193151929643046523400793309936203304015375438457669251913929959020212880254670305839687664600233305463444374385001053485449792351292005619560023416827651600934983767721161054521450344382462477043792106132393658820466336595225632984865883239842119686385282071441655098268336142798812901671701050325989302371682674585805632039512186502796766818912550373761433629425493301232556385888403522194413829527405823319304578388873971617571637926924007131712786790122989160686455248341482124914797535259568112056870086715477970854422732404436590010364983076632615968264186912243178996000034144531749121760081013358430152054746004925203030431075226577480437534857358169147425621474999095153990049335982746042530288421824993241672117425749873342950790455998038614802342756514525150326830025525980244375122889376562041185905740202564074098935426116306378598218122426796370594281139968962900169086384253423336351269353497517246513024668501448250590281255862929414745222282384325203154552889364843118302377906567323839575435780171225000298491773205118149411213609307188525489114385088255960094519713623000774884934302359383392177620662929824906055154126145124534620085989498848034981107476033672224080224152247584490197035505331294618210334410663911092722859213235683068028677535688168214784668600446273180557961899237980590792393478416209734361997510932189843811826266540644301971878858399409735337667366986462328698303671855201678857503009143504164565718002207439984430522769949918254447226548075920058377174329711044561827290717025687806418284709028714686839412706211976768144637539261221776459041458218427482721313500195902896793786362491099422705414729899789083660762475514420287168897042647469631708559666945071516344129056123961226271964194024913449924936476379396098321036309708301024823618694689735836334112514631154909209586867875378331013720579073303141558430060862641076821673877565286541779707375504060575614333362827208065224385769043375369639639193151796400953401345908487857660702430400079141214118561026101069757547079625661532243617187072565039606031719708002871959721603369805431723249190170320433867529697662650402870002506811057232852113426846485305656583519932375153287621058946544332409380105797953053372130220091562098392941159787434675113292892414735047276341854322758926643260648900612141523802867713294723370957601191389095426206515020644131064674809550284732491072584887124307558873504413309383364245636153069787179026709469390659335888031932635921371764733870183288721955529073694977415544885723561283403269715169849589926936377928913934768805334255152344732823019091000711133659930367624291458875258219615395069339713548142634923490482120138217410699304765367483810771880795370309128419987182971267429654582460748982478466806774717880006579651715199884211523950540746899819658226986818717138636 15953063951660354439726148678882135154305394276463467809047849226898890002636230944388037570409193256717016434594679702816129899691773731711425171997817436948397958917682354539549780332706970921161620223700745332271470901155393962291210372307277768170725903614536359986124360378761352203857498541101924652512060281282912702725982753422054460621842031829018843202457577326364926920367735347317830400700498814279165179410861183342871438732390045557148280169611523681342655522883070609235549467218967682101132054391208548847581399248551394139428438080269991150339076669902679139571069986812665697032279758790159228432405083990789780275780622326301365046340655354494576939424480401544735083475255216432094821993185709756720142198745040581733200243393946368685624199406240235075801401888619799535851468328625229985215035898835266500402873361144510011702610130428786656560894170009060161014337374216766778477332674632993733211745492024466587479208511252699146214914961284519023736480425768206180533269895382376244239999500015593417407104017670677565379979931532546459674416592723096497818975369686718801521199048079842141742630987563340284053252359954216405470445272983744338903385911011008656410775990038927515417138104497881374416831365303249594012333875211178279098870831368989945517955762917963022885985982804434191996198725661828999645809313941181893821716239081122935982189601513915263259997381072789457809077709965874918975052697679244847838572940228305014136425867387937336346205817953398843019743919114035048981532194596443757881038698026708920268929131597772680370699794460358206902279544361875328305144941672233195485559204383588010755687514622446398741334093420421574003768825869959108029556013957754473197715108350293438580402034081728248105901268719265116477297165045220595171970194601423215126356852835660826919840145364272150812300002670035799889613533640956449751170355338686563406262427191461146533884502338761454860634477502436406135886530956557851808337841052541208117482119871469709332707019251222168378473055412853520162345731787312500262350683611796145045580113802299298895761705068062101149047810149387920075081949558212839154088092216826937287365570270865181688085073053182409098445569926772878807780315600852174713138349702652697648991890537800685241190430236111605733749077635505898580468317408618828182984611453794643278463075695289646171512688391154645655339569400569593822585676518676847044589215846606039593579201984228177677358539972847112374974348476073879671510424725862291798918809552812006108052973742444051361023238774475172510968754245155869616697787744729836644307595098798871910999895553679991863393155056144257790386953806883724858660685297557453374896705824509120887784075250007722146907523631514180564247808068503980051579931665539069918879017267044248462557446094795591030848804210100262626703468270177152071402650671265352129430407450076959215294097854041391909420376176007859831146481710170307731400078076146927382669809626976379654974614391629175326941882135133760661712416757190705844721732262189829277815842060262197210248076254719058952373823182313630924628623390430693201137864917889677856294693512543276659628258209737244943217715238648952662759760887117045048116180721412765869578122043 25812599698487162986032013667279927184149698039041049293747744309730876539692152049635511086349976481074556149220250461434257271895334259854842155308955517842735043425428217682802393775278070894334511099973523939456934044531666961421998448384959062065781767662068544196040840672828717546725156881185677143542029612671616719245324970968346763859258285234273848267849299293513730926314525791337841030338729174534904691609344035536023368375436568957941590105814827696718093980552322523165508487431847936771437894078873149080886862692925779140481923530062342442344696229926095967222670921796433418193334280240503610894882127782895912669439442792637960271973640220377816781544166786826806525130353484768237620806087381457770468188047412264407786049025985880872126996173059147626175163322249225029152700885011118388737230312664793906226192665722898885674227702066713580568025882795850284003498060672015119959457589430528992779857548894553302957179365675431550651504971649502100369096394032393092776448891382410388771748621775674430765534169725423570305182961963621686251897030257953855988122795308193800616353038129178124488673517851762109046494032071642155343788223774200336942000713353765170935926316868953041397382479620770750978872551208989796576407974146604395405249429587112372314326357199102991848886151890818445419535076931182497163055826965850395269966829362378798911604346736197647585200535625678822652196012343781486298892273115025019063573238720078219254575278601546643534731307067783931275704013633748671982307079530746117264430875647371850093835186751898825495234414546347705750314525469351361977369021896385443070049401419093342050305724956857062652426816279634809686836854547494796197770798626354919470895666312192676560992826475206664315635630716776048667140976871487135816272166480281614536092190503027813382168843667944006013978860173044943393778099358958657191154785861456513324516874418009222453942879513091165905196304793153431823692949241266880523024680465247420094250264509008970554483478292680386805955776726353716065242525573674991361773389026526044834663774564774813316048873965104748618679518709054865146598293687268963115314364181020962200815495207341561084183394089492117399470393545467568543616649713366805868047559289520573027322904258379758544331988666172468374825899309383463867010097115994332243560225787157470486528300081058689546882328030347797451740522801915502310443337221107247123730429965167065694648959531307803338890783590034184940013954507793587674382384447465661604350532802002176428486841272141714011426108776981983568201606358582716102003444328249769019460882719857818455332304933785789816446527186364349352485346748043512293335798590449868109943982166363443646710718510656622759049047434381893858971179026105171440675357872054090563010081941853798747289937167380478155156363083604675936086832515813305141189829697974821520089743338108891851215469618775262092709098131536933526123897255056031292683481345862097232259736563354308568909383196963430479286614958152851662423550417121073469013191137448048893210911399975745352882999745201179090591233881618396292112434162311488571446993337876860827562123167125737408610736676544019661097721818300667862643972411067585795016000379639752688295260679 41765663650147517425758162346162062338455092315504517102795593536629766542328382994023548656759169737791572583814930164250387171587107991566267327306772954791133002343110572222352174107985041815496131323674269271728404945687060923713208820692236830236507671276604904182165201051590069750582655422287601796054089893954529421971307724390401224481100317063292691470306876619878657846682261138655671431039227988814069871020205218878894807107826614515089870275426351378060749503435393132401057954650815618872569948470081697928468261941477173279910361610332333592683772899828775106793740908609099115225614039030662839327287211773685692945220065118939325318314295574872393720968647188371541608605608701200332442799273091214490610386792452846140986292419932249557751195579299382701976565210869024565004169213636348373952266211500060406629066026867408897376837832495500237128920052804910445017835434888781898436790264063522725991603040919019890436387876928130696866419932934021124105576819800599273309718786764786633011748121791267848172638187396101135685162893496168145926313622981050353807098164994912602137552086209020266231304505415102393099746392025858560814233496757944675845386624364773827346702306907880556814520584118652125395703916512239390588741849357782674504120260956102317832282120117066014734872134695252637415733802593011496808865140907032289091683068443501734893793948250112910845197916698468280461273722309656405273944970794269866902146178948383233391001145989483979880937125021182774295447932747783720963839274127189875145469573674080770362764318349671505865934209006705912652594069831226690282513963568618638555608605802681352805993239579303461393760909700056383690605680417453904227326812584109392668610774662486115141394860556934912421536899436041165144438141916707730988242361081704829662449043338688640302008989032216156826278862843080743283391632999915106942325141200143076730779301609470368987827381851852620765830782295589837959579480197824732331362521517788628211732384380478679887190497543902555184428832139207236227588257360987491624124072638322189880243888367074112211810579033166849767727328858442785221680243245481802269402456397847899488181065478206742772268467142674526497915963472240447351396965314218980581185908992173270676314794796180443785522418902284074108574976944889362447478414524613160426544837240952113764991375776348335718395016421502443107080092202485096133029013739784094168319645811773105288228161515535981016249323562881297314988302983867467345892809173327953403269342354814182536539815014585765372449347551457156079170360603738585718701232072979605663768477818656690366332200487465781679839682242508607142872300554927237151996483888007321484840687990872564534494793760664344905956571065896074423218987094609151492255289537593160481889099208898047209847383262176069186005167293704938562790300785990457212592480369240173649520150788185851066509567472816654002129474307544793357270378965226339024083559422009024614929546190330688223883997588592605806228497093286612324135967174311779313734923399637878171026753460237942563131075999920238042965057063932027216741057552742181772584858255766538683856816679669014068238994886281264604315437056949620525403733298184630843132181101052518557873382722 67578263348634680411790176013441989522604790354545566396543337846360643082020535043659059743109146218866128733035180625684644443482442251421109482615728472633868045768538789905154567883263112709830642423647793211185338990218727885135207269077195892302289438938673448378206041724418787297307812303473278939596119506626146141216632695358747988340358602297566539738156175913392388772996786929993512461377957163348974562629549254414918175483263183473031460381241179074778843483987715655566566442082663555644007842548954847009355124634402952420392285140394676035028469129754871074016411830405532533418948319271166450222169339556581605614659507911577285590287935795250210502512813975198348133735962185968570063605360472672261078574839865110548772341445918130429878191752358530328151728533118249594156870098647466762689496524164854312855258692590307783051065534562213817696945935600760729021333495560797018396247853494051718771460589813573193393567242603562247517924904583523224474673213832992366086167678147197021783496743566942278938172357121524705990345855459789832178210653239004209795220960303106402753905124338198390719978023266864502146240424097500716158021720532145012787387337718538998282628623776833598211903063739422876374576467721229187165149823504387069909369690543214690146608477316169006583758286586071082835268879524193993971920967872882684361649897805880533805398294986310558430398452324147103113469734653437891572837243909294885965719417668461452645576424591030623415668432088966705571151946381532392946146353657935992409900449321452620456599505101570331361168623553053618402908595300578052259882985465004081625658007221774694856298964536160524046187725979691193377442534964948700425097611210464312139506440974678791702387687032141576737172530152817213811579118788194866804514527561986444198541233841716453684177832700160162840257723016125686677169732358873764133479927061599590055296176027479591441770261364943786671027087088743269783272429439091612854387201983036048305982648889487650441673975836582941990384608865560952292830782934662482985897461664848234714907662931848925527859452998271598386406847567497650368278536932750765384716820578868861688996560685548303856451861232166643897386357017708015895013615027585786449233468281693843703637699054560202329854407568456542483400876254272826314488511640607492670105063028109584251519675857407025265277344451850240558820615004400598443472350960891341292050075776940170982877121046843784355140107152915482255002257491661055020275193620793615007619875156816358965026656286727479383875456328439139647371966962321301820704676401229374683229360538514508821664505421251571496286209428872956495357647302970749445332282478457189594784670157236008181205512271320967665005618500277968282190166120714322932930647409647251044899181150751845957137320429556547341161530377309614498877133301803762353782310067214995169609894126294742917725037091591916094838572439081726883394276220282370316767040767871121847189282753684996792793380785556036285515112051439463986559517591432852782748114537085927064237664860213687916014075745121417133556290945550423508853491715053670344031851593643399511418939846794751476849731562825284265413158875250288388047705709252216638148181480692271246168643401 109343926998782197837548338359604051861059882670050083499338931382990409624348918037682608399868315956657701316850110789935031615069550242987376809922501427425001048111649362127506741991248154525326773747322062482913743935905788808848416089769432722538797110215278352560371242776008857047890467725760880735650209400580675563187940419749149212821458919360859231208463052533271046619679048068649183892417185152163044433649754473293812982591089797988121330656667530452839592987423108787967624396733479174516577791019036544937823386575880125700302646750727009627712242029583646180810152739014631648644562358301829289549456551330267298559879573030516610908602231370122604223481461163569889742341570887168902506404633563886751688961632317956689758633865850379987629387331657913030128293743987274159161039312283815136641762735664914719484324719457716680427903367057714054825865988405671174039168930449578916833038117557574444763063630732593083829955119531692944384344837517544348580250033633591639395886464911983654795244865358210127110810544517625841675508748955957978104524276220054563602319125298019004891457210547218656951282528681966895245986816123359276972255217290089688632773962083312825629330930684714155026423647858075001770280384233468577753891672862169744413489951499317007978890597433235021318630421281323720251002682117205490780786108779914973453332966249382268699192243236423469275596369022615383574743456963094296846782214703564752867865596616844686036577570580514603296605557110149479866599879129316113909985627785125867555370022995533390819363823451241837227102832559759531055502665131804742542396949033622720181266613024456047662292204115463985439948635679747577068048215382402604652424423794573704808117215637164906843782547589076489158709429588858378956017260704902597792756888643691273860990277180405093986186821732376319666536585859206429960561365358788871075805068261742666786075477636949960429597643216796407436857869384333107742851909636916345185749723500824676517715033269966330328864473380485497174813441004768188520419040295649974610021534303170424595151551298923037739670032031438448154134176425940435589958780178232567654119276976716761177177626163755046628720328374841170395302320489948463246410580341804767030419377273867114379952493850740646115376826470740616591975853199162188761966926165220653096649900269061698016511051633755360983672360873352683665900707206885694576501364700675435460369721588713276271105282562379765371389430715796779569990560475528522366168002794121568410889217511630541501566471301313244756324803879896295726542327566059887539405908474208980346997838357171199187996705908717353176125891671381563638229947857897986597328766366464511079625358148108572715700306031985312570962189566174042705409153215323474425185936947240411526788280359649893166984703691732616527166697671014553061667434087794219566374790436455168819130044914480593984234604564408570096968046746626520240664655185508709340850600189880146462118828944015685016677378374148642091743609144726076310695484765744632096483037936723805235264418320451630479145151745041655176521348009482450725594549267795852116616709849409938195275756526463765545088726449106548869728595932199908913451439007436847481280362581744789804042026123 176922190347416878249338514373046041383664673024595649895882269229351052706369453081341668142977462175523830049885291415619676058551992494408486292538229900058869093880188152032661309874511267235157416170969855694099082926124516693983623358846628614841086549153951800938577284500427644345198280029234159675246328907206821704404573115107897201161817521658425770946619228446663435392675834998642696353795142315512018996279303727708731158074352981461152791037908709527618436471410824443534190838816142730160585633567991391947178511210283078120694931891121685662740711159338517254826564569420164182063510677572995739771625890886848904174539080942093896498890167165372814725994275138768237876077533073137472570009994036559012767536472183067238530975311768510417507579084016443358280022277105523753317909410931281899331259259829769032339583412048024463478968901619927872522811924006431903060502426010375935229285971051626163534524220546166277223522362135255191902269742101067573054923247466584005482054143059180676578741608925152406048982901639150547665854604415747810282734929459058773397540085601125407645362334885417047671260551948831397392227240220859993130276937822234701420161299801851823911959554461547753238326711597497878144856851954697764919041496366556814322859642042531698125499074749404027902388707867394803086271561641399484752707076652797657814982864055262802504590538222734027705994821346762486688213191616532188419619458612859638833585014285306138682153995171545226712273989199116185437751825510848506856131981443061859965270472316986011275963328552812168588271456112813149458411260432382794802279934498626801806924620246230742518591168651624509486136361659438770445490750347351305077522035005038016947623656611843698546170234621218065895881959741675592767596379493097464597271416205677718059531511022121547670364654432536482506794308875332116637731097717662635209284995323342256841371653664429551871367904581740194107884956473076377526124339076007958040136925483860724823697682159453980770538449217068439165198049870329140813249823230312457595918995968018659310059214230771963267529485029710046540541023993438085958237317110983333038836097555585622866174186849303350485172189607007814292688677507656479141424195369390553479652845555560958083590192905300848445231234039197159075376729453435015076455437805828145766754963297171282268030727491162386248949705325202924224721322211286293019973715661566776752419797365653447253982403609223549726529537868712261824992817967189577386443196414915183418509092668446900466593127588040724140200260208335435373914294528381189360110584875438355030227198895685708009661211329968924672412101100254520133587595160868736042661048844921700674410028305344580896905818303306280235967808066452010987599319336037797358116584356887662571687461510401739124122024121289163868328228048324167560544567389597981920157100503670163988739939040775336901959641656000486191806619185708247124058931405791079657617640957751268309308111697700681809470759159704678377258721196165540297255002357177484879231152473809732299502083180665318395159227490163072310077638955032874234448040982849522460648561443053337706694696373258517021938458011931833135141754807450197301499144716689064119428544062437061050210669524 286266117346199076086886852732650093244724555694645733395221200612341462330718371119024276542845778132181531366735402205554707673621542737395863102460731327483870141991837514160168051865759421760484189918291918177012826862030305502832039448616061337379883659369230153498948527276436501393088747754995040410896538307787497267592513534857046413983276441019285002155082280979934482012354883067291880246212327467675063429929058201002544140665442779449274121694576239980458029458833933231501815235549621904677163424587027936885001897786163203820997578641848695290452953188922163435636717308434795830708073035874825029321082442217116202734418653972610507407492398535495418949475736302338127618419103960306375076414627600445764456498104501023928289609177618890405136966415674356388408316021092797912478948723215097035973021995494683751823908131505741143906872268677641927348677912412103077099671356459954852062324088609200608297587851278759361053477481666948136286614579618611921635173281100175644877940607971164331373986474283362533159793446156776389341363353371705788387259205679113336999859210899144412536819545432635704622543080630798292638214056344219270102532155112324390052935261885164649541290485146261908264750359455572879915137236188166342672933169228726558736349593541848706104389672182639049221019129148718523337274243758604975533493185432712631268315830304645071203782781459157496981591190369377870262956648579626485266401673316424391701450610902150824718731565752059830008879546309265665304351704640164620766117609228187727520640495312519402095327152004054005815374288672572680513913925564187537344676883532249521988191233270686790180883372767088494926084997339186347513538965729753909729946458799611721755740872249008605389952782210294555054591389330533971723613640198000062390028304849368991920521788202526641656551476164912802173330894734538546598292463076451506285090063585084923627447131301379512300965547798536601544742825857409485268976248712924303225886648984685401341412715429420311099402922597553936340011490875097329333668863525962432205940530271189083905210765529695001007199517061148494694675200419378521548196097289215900692955374532302384043351813013058397113892517981848984687990997997604942387834775711195320510072222829428072463542686756041494560608060509937775667352582652597203838422363971048798863404863566232980284541779124917747232622066198555607890622029418171987596475080362242212212789518954366723525087686171603315097918968584509041394983378442718099752611199209036751829398310180077441968159598889353968896525064088231731100456622094441076899516493349647335377225037252856907197657917238686277848537992771636083771817543018766722639989815211386211754035386453453153612606124335291592806929997632626053693008472551361271783302521304128074098475741870051632291106727813021780395494925719338720622212001477392201486531890940125332807869983955255930886194246220409056288774665932334767364723586591299788998468241147631414771426940641716366826148137533853320469002330340891616607950487122922116975714190410533537534766501501116948874304379235204727486598986964515324960042590250645374577265271292463275901970452899722282567027184461038382004870350739650106214950583724125911600708906644181850854252695647 463188307693615954336225367105696134628389228719241383291103469841692515037087824200365944685823240307705361416620693621174383732173535231804349394998961227542739235872025666192829361740270688995641606089261773871111909788154822196815662807462689952220970208523181954437525811776864145738287027784229200086142867214994318971997086649964943615145093962677710773101701509426597917405030718065934576600007469783187082426208361928711275298739795760910426912732484949508076465930244757675036006074365764634837749058155019328832180408996446281941692510532970380953193664348260680690463281877854960012771583713447820769092708333103965106908957734914704403906382565700868233675470011441106365494496637033443847646424621637004777224034576684091166820584489387400822644545499690799746688338298198321665796858134146378935304281255324452784163491543553765607385841170297569799871489836418534980160173782470330787291610059660826771832112071824925638276999843802203328188884321719679494690096528566759650359994751030345007952728083208514939208776347795926937007217957787453598669994135138172110397399296500269820182181880318052752293803632579629690030441296565079263232809092934559091473096561687016473453250039607809661503077071053070758059994088142864107591974665595283373059209235584380404229888746932043077123407837016113326423545805400004460286200262085510289083298694359907873708373319681891524687586011716140356951169840196158673686021131929284030535035625187456963400885560923605056721153535508381850742103530151013127622249590671249587485910967629505413371290480556866174403645744785385829972325185996570332146956818030876323795115853516917532699474541418713004412221358998625117959029716077105214807468493804649738703364528860852303936123016831512620950473349072209564491210019691097526987299721055046709980053299224648189326916130597449284680125203609870663236023560794114141494375058908427180468818784965809064172333452380276795652627782330485862795100587788932261266023574468546126165110397588874291869941371814622375505209540745426470146918686756274889801859526239207743215269979760466964274729002090858541235216224412816607506433414400199233731791472087888006909525999862361747599064707588856798980679675505261421529258971080585873989725068384989030547132879661342343005839294549134934742729312106032218914877801776876944630159826863404262552572506616080133481571771523758532115343351629458280616448796023808988965209316320020170779070089780826864824448506453221303219976196409907677139054395623951935247907402848524342434752726477394693036725324296567166474370916622822266259627078225085690407452236148542615207319128568655202520950093871890603905405138179635458682650864056307912428445414758797734509511942638597873042897805699078064680607791887399069141419105661015736670163203380453371415228751934310944263823153767662888182756568866990183406688991443795496796609922996031267788153887876409542480581285118043014488782517997090868656085882105382683080735052339417048635618896693557998846261051537057156905205489480099601854945342884343269834268584681782267269463606725367799796676625919548199194490631233494897037913832735516613608665149272980799588965642472970215140012105547100303516449728440814975720137450706618911904463365171 749454425039815030423112219838346227873113784413887116686324670454033977367806195319390221228669018439886892783356095826729091405795077969200212497459692555026609377863863180352997413606030110756125796007553692048124736650185127699647702256078751289600853867892412107936474339053300647131375775539224240497039405522781816239589600184821990029128370403696995775256783790406532399417385601133226456846219797250862145856137420129713819439405238540359701034427061189488534495389078690906537821309915386539514912482742047265717182306782609485762690089174819076243646617537182844126099999186289755843479656749322645798413790775321081309643376388887314911313874964236363652624945747743444493112915740993750222722839249237450541680532681185115095110193667006291227781511915365156135096654319291119578275806857361475971277303250819136535987399675059506751292713438975211727220167748830638057259845138930285639353934148270027380129699923103684999330477325469151464475498901338291416325269809666935295237935359001509339326714557491877472368569793952703326348581311159159387057253340817285447397258507399414232719001425750688456916346713210427982668655352909298533335341248046883481526031823572181122994540524754071569767827430508643637975131324331030450264907834824009931795558829126229110334278419114682126344426966164831849760820049158609435819693447518222920351614524664552944912156101141049021669177202085518227214126488775785158952422805245708422236486236089607788119617126675664886730033081817647516046455234791177748388367199899437315006551462942024815466617632560920180219020033457958510486239111560757869491633701563125845783307086787604322880357914185801499338306356337811465472568681806859124537414952604261460459105401109860909326075799041807176005064738402743536214823659889097589377328025904415701900575087427174830983467606762362086853456098344409209834316023870565647779465122493512104096265916267188576473299000178813397197370608187895348064076836501856564491910223453231527506523113018294602969344294412176311845221031620523799480587550282237322007800056510396827120480745290161965281928519152007035929891424832195129054629511689415134424746846620190390952877812875420144712957225570705783668670673502866363917093746791781194499797291214417103010675566417383837566447355059072710410081894758629422753300165747925743493564690429637242837114285740997880714193837722314140005965381047630268212923876386051201177998835274386894304157775952430179922367475037730344614959574852625776891665594832988687077305713028601784402912325366748661933250388384798897574827538717263343159143571574733025784677273401399522404977045807341480369488086643526687677222681198402181322640679267694124182480801212250888122118066973889465849827803331704118373616264438760340924721626965143810768638945250505003706335479747332724659318079487001608804968570344382384893220882383920829604479906951287198674348134096818598769355951050377781853506104588390657654554123253014097852161992981133415461767034227411319315263381877948773513155976603021718830659533294876807369035086182899216143767985960572527283275612884063524154533221484140271615179104027979889510635602172703082155992826934008597144882456286750409731400312164940887320846357350800762758716060818 1212642732733430984759337586944042362501503013133128499977428140295726492404894019519756165914492258747592254199976789447903475137968613201004561892458653782569348613735888846545826775346300799751767402096815465919236646438339949896463365063541441241821824076415594062374000150830164792869662803323453440583182272737776135211586686834786933644273464366374706548358485299833130316822416319199161033446227267034049228282345782058425094738145034301270127947159546138996610961319323448581573827384281151174352661540897066594549362715779055767704382599707789457196840281885443524816563281064144715856251240462770466567506499108425046416552334123802019315220257529937231886300415759184550858607412378027194070369263870874455318904567257869206261930778156393692050426057415055955881784992617489441244072664991507854906581584506143589320150891218613272358678554609272781527091657585249173037420018921400616426645544207930854151961811994928610637607477169271354792664383223057970911015366338233694945597930110031854347279442640700392411577346141748630263355799268946612985727247475955457557794657803899684052901183306068741209210150345790057672699096649474377796568150340981442572999128385259197596447790564361881231270904501561714396035125412473894557856882500419293304854768064710609514564167166046725203467834803180945176184365854558613896105893709603733209434913219024460818620529420822940546356763213801658584165296328971943832638443937174992452771521861277064751520502687599269943451186617326029366788558764942190876010616790570686902492462430571530228837908113117786354622665778243344340458564297557328201638590519594002169578422940304521855579832455604514503750527715336436583431598397883964339344883446408911199162469929970713213262198815873319796955538087474953100706033679580195116364627746959462411880628386651823020310383737359811371533581301954279873070339584664679789273840181401939284565084701232997640645632452559090192849998390518381210859177424290788825757933797921777653671633510607168894839285666226798687350430572365950269627506237038512211809659582749604570335750725050628929556657521242865577165107649245011736561062926089614368156538318708078397862403812737781892312021933159562582649350349008127785446352717872367068489522359599406133557808446078726180572286649608207645152811206864661641668177967524802688123724517293041505389686792357078014195765609246072672121308732677088548829372672409860190143208151594407065083227865733257044746815981490951647834935771262533454030719990456940622325213115877126126837665051844143354969975712681366064049198455340085609418770649799818716192129509549942137612296174375996682890438180515417291582627819378037640005291543324002036610926215971048622631630009612487338892725609030782183054224056326159410066140732626159547438802148630958375121564231681643668923141233254664496987725139211372568299909873827716326401089829947318466462502021973228141249937236168420796342288622585481526310640005358396780932897045320550464097385930920969318161524433415005930418361466083121320685604876179220077203303670864681483413231592685940327079952238803611723349023852717635168653092936763496503119300751445683881744958469406978812284894561833850713247850040605755863040983808057419674663179425989 1962097157773246015182449806782388590374616797547015616663752810749760469772700214839146387143161277187479146983332885274632566543763691170204774389918346337595957991599752026898824188952330910507893198104369157967361383088525077596111067319620192531422677944308006170310474489883465440001038578862677681080221678260557951451176287019608923673401834770071702323615269090239662716239801920332387490292447064284911374138483202188138914177550272841629828981586607328485145456708402139488111648694196537713867574023639113860266545022561665253467072688882608533440486899422626368942663280250434471699730897212093112365920289883746127726195710512689334226534132494173595538925361506927995351720328119020944293092103120111905860585099939054321357040971823399983278207569330421112016881646936780560822348471848869330877858887756962725856138290893672779109971268048247993254311825334079811094679864060330902065999478356200881532091511918032295636937954494740506257139882124396262327340636147900630240835865469033363686606157198192269883945915935701333589704380580105772372784500816772743005191916311299098285620184731819429666126497059000485655367752002383676329903491589028326054525160208831378719442331089115952801038731932070358034010256736804925008121790335243303236650326893836838624898445585161407329812261769345777025945185903717223331925587157121956129786527743689013763532685521963989568025940415887176811379422817747728991590866742420700875008008097366672539640119814274934830181219699143676882835013999733368624398983990470124217499013893513555044304525745678706534841685811701302850944803409118086071130224221157128015361730027092126178460190369790316003088834071674248048904167079690823463882298399013172659621575331080574122588274614915126972960602825877696636920857339469292705741955772863878113781203474078997851293851344122173458387037400298689082904655608535245437053305303895451388661350617500186217118931452737903590047368998706276558923254260792645390249844021375009181178156623625463497808629960638974999195651603986474069108093787320749533817459639260001397456231470340790894838586040394872613094999074077206865615692437779029502581285165328268788815281625613202037024979158730268366318021022510994149363446464664148262989319650813823236568484012496110018138734004667280355562893101623291064421478133272728431617289207722678748226801078098075894909959446968386812127274113724718817042296548795911391321206986868793959387385641685687224669183456528681992449895346115159230922385585289929309402518828905727911240577377210892016903226101066164961624025994057348952577914221374551741976806782951341660017273220183338163259926267158943979259850500576439821327932222591696160793407017183299510753748076586376804742553412362486301427840320764919750990862359591303358207441093881463378827899711428976393582459312741666105792693709555754953193130756211637156005569736898605665136850156070046740019293187218798578195794727173872183965194128611410878785059038301683879559152965148380637476787815292954703931517442686143039516264409474096884572338757047580699556999578646512854363227851687675247503557074201775440268272040791476392629936353618386963900951296340987409429777018120601122979250352770696750361830165408220437421895486807 3174739890506676999941787393726430952876119810680144116641180951045486962177594234358902553057653535935071401183309674722536041681732304371209336282377000120165306605335640873444650964298631710259660600201184623886598029526865027492574432383161633773244502020723600232684474640713630232870701382186131121663403950998334086662762973854395857317675299136446408871973754390072793033062218239531548523738674331318960602420828984246564008915695307142899956928746153467481756418027725588069685476078477688888220235564536180454815907738340721021171455288590397990637327181308069893759226561314579187555982137674863578933426788992171174142748044636491353541754390024110827425225777266112546210327740497048138363461366990986361179489667196923527618971749979793675328633626745477067898666639554270002066421136840377185784440472263106315176289182112286051468649822657520774781403482919328984132099882981731518492645022564131735684053323912960906274545431664011861049804265347454233238356002486134325186433795579065218033885599838892662295523262077449963853060179849052385358511748292728200562986574115198782338521368037888170875336647404790543328066848651858054126471641930009768627524288594090576315890121653477834032309636433632072430045382149278819565978672835662596541505094958547448139462612751208132533280096572526722202129551758275837228031480866725689339221440962713474582153214942786930114382703629688835395544719146719672824229310679595693327779529958643737291160622501874204773632406316469706249623572764675559500409600781040811119991476324085085273142433858796492889464351589944647191403367706675414272768814740751130184940152967396648034040022825394830506839361787010684632335765477574787803227181845422083858784045261051287335850473430788446769916140913352649737626891019049487822106583519823340525661831860730820871604235081481984829920618702252968955974995193199925226327145485297390673226435318733183857764563905296993782897367389224657769782431685083434216007777819296786834849790134232632392647915626865773686546082176352424338735600024359261745627119222009605967791982195391419824395243561637738190260106723322218602176755363868643870737823484036347186677685438350983929337001091889830948967371371519121934809799182536515331478842010413229370126292458574836198711020654275488000715704308487952706089656100797531119741013725015720253616487870455153909105725056214459484248582846401807365871669221205771581464415138463201024470613507418944269415999438019633640284831117377692684953105575746869931727731944782854038078242429055035371873201813747531025673224449397434561996684871174370458168936292501283797629569394559334846150364447674361270842478319954477461333223765915698197404333233154348133385378086198864143635279021393268484482064377091079161057003092217462905646243242512421753949463943110620062505600545996330602780418848767127521493040630039353482406659566845924131599352178043274881269230423387219374538083349759353710275834133969807659717956083622234343656538896069349955638312248707960634349878908769264360201869285653316961775642427912262182970231171332453181443180090491286970852580926919410608921364977554972895749237105064070845645909765747966221714671579954451836227100393376452613402813973465640112085074912796 5136837048279923015124237200508819543250736608227159733304933761795247431950294449198048940200814813122550548166642559997168608225495995541414110672295346457761264596935392900343475153250962620767553798305553781853959412615390105088685499702781826304667179965031606402994949130597095672871739961048808802743625629258892038113939260874004780991077133906518111195589023480312455749302020159863936014031121395603871976559312186434702923093245579984529785910332760795966901874736127727557797124772674226602087809588175294315082452760902386274638527977473006524077814080730696262701889841565013659255713034886956691299347078875917301868943755149180687768288522518284422964151138773040541562048068616069082656553470111098267040074767135977848976012721803193658606841196075898179915548286491050562888769608689246516662299360020069041032427473005958830578621090705768768035715308253408795226779747042062420558644500920332617216144835830993201911483386158752367306944147471850495565696638634034955427269661048098581720491757037084932179469178013151297442764560429158157731296249109500943568178490426497880624141552769707600541463144463791028983434600654241730456375133519038094682049448802921955035332452742593786833348368365702430464055638886083744574100463170905899778155421852384286764361058336369539863092358341872499228074737661993060559957068023847645469007968706402488345685900464750919682408644045576012206924141964467401815820177422016394202787538056010409830800742316149139603813626015613383132458586764408928124808584771510935337490490217598640317446959604475199424306037401645950042348171115793500343899038961908258200301882994488774212500213195185146509928195858684932681239932557265611267109480244435256518405620592131861458438748045703573742876743739230346374547748358518780527848539292687218639443035334809818722898086425604158288307656102551658038879650801735170663380450789192842061887785936233370074883495358034897372944736387930934328705685945876079606257621840671796016027946757858095890456545587504748685741733780338898407843693811680011279444578861269607365248213665732210719233829602032610803355105797399425467792447801647673373319108649364615975492967063964185966361980250620099315285392394030116084173245647200663594468161661227052606694776471070946216849754658942768356278597410111243770511134234070259551358302932738399001843288948553229804015684503182846296375856960126526182913965770001682972785622125331994983857999149104631494085182894548315632734726463492851915875491161036799241130250773688581949318819806265927388776427914813695987297250443454783514574599092548922200145743075452625457646842614742673009410290714833305250102328820530917282661155988507394358197740250337647644139126162785240948377832433755754785909904697855998912047865451808766263853684336393885132777363654539596456088059858737996708573112558322882474686171386250990638412229303744529796736202334113321621288523610606017952733878076933225894241028262581218538503015121923918223215691861217730593115100064000915338281396351455407399718133695127413846347981184959842882527230749978966035806407942178962218356138001121186049189637018346449288379173458682457809546861062088953631144448598075052959206350746147149363764644138873860549506970399603 8311576938786600015066024594235250496126856418907303849946114712840734394127888683556951493258468349057621949349952234719704649907228299912623446954672346577926571202271033773788126117549594331027214398506738405740557442142255132581259932085943460077911681985755206635679423771310725905742441343234939924407029580257226124776702234728400638308752433042964520067562777870385248782364238399395484537769795726922832578980141170681266932008940887127429742839078914263448658292763853315627482600851151915490308045152711474769898360499243107295809983266063404514715141262038766156461116402879592846811695172561820270232773867868088476011691799785672041310042912542395250389376916039153087772375809113117221020014837102084628219564434332901376594984471782987333935474822821375247814214926045320564955190745529623702446739832283175356208716655118244882047270913363289542817118791172737779358879630023793939051289523484464352900198159743954108186028817822764228356748412819304728804052641120169280613703456627163799754377356875977594474992440090601261295824740278210543089807997402229144131165064541696662962662920807595771416799791868581572311501449306099784582846775449047863309573737397012531351222574396071620865658004799334502894101021035362564140079136006568496319660516810931734903823671087577672396372454914399221430204289420268897787988548890573334808229409669115962927839115407537849796791347675264847602468861111187074640049488101612087530567068014654147121961364818023344377446032332083089382082159529084487625218185552551746457481966541683725590589393463271692313770388991590597233751538822468914616667853702659388385242035961885422246540236020579977016767557645695617313575698034840399070336662089857340377189665853183148794289221476492020512792884652582996112174639377568268349955122812510559165104867195540639594502321507086143118228274804804626994854645994935095889707596274490232735114221254966553932648059263331891155842103777155592098488117630959513822265399659968582850877736892090728283104461214370522372287815956691322746579293836039273025071698083279213333040195861123630543629073163670348993615212520721644069969203165516317244056932133400963162170652502315169895698981342509930264252763765549238018983044829737178925947003671640281976821068929645782415560775313218256356994301718599196476600790334867790671099316657754119255459776819008383713121409559397305780624439806528333548785634991207454554250037263795196008328612656523575763501182332567949273019557580870544600828596736783669172857982718471435987397062235320962760649629728561227012970474892852218076571283963723292658314679367953909255276412009302007855560655162507666520944807140485394743994379754423092555602073483491995777524504248984105092013111455149023270391969074947078073104868544026229169499927578906306886726827597650216518593660404734327311353531407090009996179212016290344120818888870590453928335554512156596502557754033993237327271961426692579604516862396551026198220971205546152566872230757287080548753412312708875972631275260224671759920002980780730808123623612872105065497461921311419217249588032670249189208718928040596658111001995901422184128410563746528655192770827836919852859120178029504795433451139523601977167458112339500661592045312399 13448413987066523030190261794744070039377593027134463583251048474635981826078183132755000433459283162180172497516594794716873258132724295454037557626967693035687835799206426674131601270800556951794768196812292187594516854757645237669945431788725286382578861950786813038674372901907821578614181304283748727150655209516118162890641495602405419299829566949482631263151801350697704531666258559259420551800917122526704555539453357115969855102186467111959528749411675059415560167499981043185279725623826142092395854740886769084980813260145493570448511243536411038792955342769462419163006244444606506067408207448776961532120946744005777880635554934852729078331435060679673353528054812193629334423877729186303676568307213182895259639201468879225570997193586180992542316018897273427729763212536371127843960354218870219109039192303244397241144128124203712625892004069058310852834099426146574585659377065856359609934024404796970116342995574947310097512203981516595663692560291155224369749279754204236040973117675262381474869113913062526654461618103752558738589300707368700821104246511730087699343554968194543586804473577303371958262936332372601294936049960341515039221908968085957991623186199934486386555027138665407699006373165036933358156659921446308714179599177474396097815938663316021668184729423947212259464813256271720658279027082261958347945616914420980277237378375518451273525015872288769479199991720840859809393003075654476455869665523628481733354606070664556952762107134172483981259658347696472514540746293493415750026770324062681794972456759282365908036353067746891738076426393236547276099709938262414960566892664567646585543918956374196459040449215765123526695753504380549994815630592106010337446142334292596895595286445315010252727969522195594255669628391813342486722387736087048877803662105197777804547902530350458317400407932690301406535930907356285033734296796670266553088047063683074797002007191199924007531554621366788528786840165086526427193803576835593428523021500640378866905683649948824173561006801875271058029549737030221154422987647719284304516276944548820698288409526855841262862902765702959796970318318121069537761650967163990617376040782765579137663619566279355862060961593130029579538156159579354103156290476937842520415165332867334583515845400716728632410529972161024713272899128710440247111924568938050222457619590492518257303065767561613517137094062580152077000296766654859731699600761209137527035659389127190992186611805628207257586365227116264905754284044363396516704087897820468413988233492160017936715882041586890149426057643374923000267725336307001591145883056272214858460422443406534712923254624044680864970945877340971771047135961016312026655535742930486913799813733829643421663630411769346040390943888904778056301873772803076985152733995834995433353611915300192019504191252189812974681720263472324019926643965412892470865383402541334759231118174334983725071756846269918123846277644599255280005839503625805498757890659132244736723986327470070790087922618504811141868512376709791310912671611680079159638136675908144654471604797831947948024692671290385253055995974849211407564856929161782707300639014247871472507584022428986464739631889925873484003568776104557754639801885670751340932102251213361211099015712002 21759990925853123045256286388979320535504449446041767433197163187476716220206071816311951926717751511237794446866547029436577908039952595366661004581640039613614407001477460447919727388350151282821982595319030593335074296899900370251205363874668746460490543936542019674353796673218547484356622647518688651557684789773344287667343730330806057608581999992447151330714579221082953314030496958654905089570712849449537134519594527797236787111127354239389271588490589322864218460263834358812762326474978057582703899893598243854879173759388600866258494509599815553508096604808228575624122647324199352879103380010597231764894814612094253892327354720524770388374347603074923742904970851346717106799686842303524696583144315267523479203635801780602165981665369168326477790841718648675543978138581691692799151099748493921555779024586419753449860783242448594673162917432347853669952890598884353944539007089650298661223547889261323016541155318901418283541021804280824020440973110459953173801920874373516654676574302426181229246470789040121129454058194353820034414040985579243910912243913959231830508619509891206549467394384899143375062728200954173606437499266441299622068684417133821301196923596947017737777601534737028564664377964371436252257680956808872854258735184042892417476455474247756572008400511524884655837268170670942088483316502530856135934165804994315085466788044634414201364131279826619275991339396105707411861864186841551095919153625240569263921674085318704074723471952195828358705690679779561896622905822577903375244955876614428252454423300966091498625746531018584051846815384827144509851248760731329577234746367227034970785954918259618705580685236345100543463311150076167308391328626946409407782804424149937272784952298498159047017190998687614768462513044396338598897027113655317227758784917708336969652769725891097911902729439776444524764205712160912028588942791605362442795643338173307532116228446166477940179613884698679684628943942242118525681921207795107250788421160608961717783420542039552456665468016245793430317365693721543901002281483758557329587975027828034031328605387979471806491975929373308790585530838842713607730854132680307861432972916166542299834272068594525757759942935639959843790919925128592122139335306675021446362169004507616560336914330362511047971305285379281070267200847309636723712714903805840893556936248246637512762842586569997230258503621977457857624736573183193280485235752416592081285696652922387000515224462151783021087547559684214178773841625233941117532684634604137586846216210631453924112944276907852910075687371936150013238200229159219667717167019995507516775101811360443968199666633346688720531601039848638291991943101501706770649915497353579469401887217321639199188134660753451132404055344053801326693842847750155058257602539861224602853539494206498906231018849840029493275380668206651331280175372502902467044595418831678880050007044925437653407311358426514626404031678592492607277800930318385103274753055683270934944957533016223356960153375791891690621924689418667283543946871904750919558139656688875462595228410704053013522154592601804470305584007519460596773575857202379365411641010149293656635994586175515119932402717762793336862688954134062550073253025194353318099560363552861872691061024401 35208404912919646075446548183723390574882042473176231016448211662112698046284254949066952360177034673417966944383141824153451166172676890820698562208607732649302242800683887122051328659150708234616750792131322780929591151657545607921150795663394032843069405887328832713028169575126369062970803951802437378708339999289462450557985225933211476908411566941929782593866380571780657845696755517914325641371629971976241690059047884913206642213313821351348800337902264382279778627763815401998042052098804199675099754634485012939859987019534094436707005753136226592301051947577690994787128891768805858946511587459374193297015761356100031772962909655377499466705782663754597096433025663540346441223564571489828373151451528450418738842837270659827736978858955349319020106860615922103273741351118062820643111453967364140664818216889664150691004911366652307299054921501406164522786990025030928530198384155506658271157572294058293132884150893848728381053225785797419684133533401615177543551200628577752695649691977688562704115584702102647783915676298106378773003341692947944732016490425689319529852174478085750136271867962202515333325664533326774901373549226782814661290593385219779292820109796881504124332628673402436263670751129408369610414340878255181568438334361517288515292394137563778240193129935472096915302081426942662746762343584792814483879782719415295362704166420152865474889147152115388755191331116946567221254867262496027551788819148869050997276280155983261027485579086368312339965349027476034411163652116071319125271726200677110047426880060248457406662099598765475789923241778063691785950958698993744537801639031794681556329873874633815164621134452110224070159064654456717303206959219052419745228946758442534168380238743813169299745160520883209024132141436209681085619414849742366105562447022906114774200672256241556229303137372466745931300136619517197062323239588275628995883690401856382329118235637366401947711168506065468213415784107328644952875724784630700679311442661249340584689104191988376630226474818121064488346915430751765055425269131477841634104251972376854729617014914835313069354878695076268587555849156963783145492505099844298478809013698932121437497891634873881619820904528769989423329076084707946225295625783612863966777334337374951143852759731079239680381835257540305783540099976020076970824639472743891116014555838739155770065908354131610747395597684557609934625033339838053012184836513625729608321356042049577992701836267779990278673912786800479084528125669597337634236772532424606000834449702791471860828826318494743059501745015311073013505925565466221258863050076267722375235524254766978681122921257391369585502546917189610063039079062518018797305451240284066383201700951151282620851765072522797172794999232958579382995716620553232043410336535696220036207151409506690925735210102029842467957100931678975351206819337915794937909978821373013639281125219260421378479068204696432750250309323191747887283640433944190602032643714815515671668943860486294147048075994296702832490437066128458594456618483584830079196276332597020117066833208536000961546847263892189723361579982368672004338432786364162072712280024397165129143578608604501584672034607688666820866257730238620304713054910865104659031662614766223083790076736403 56968395838772769120702834572702711110386491919217998449645374849589414266490326765378904286894786184655761391249688853590029074212629486187359566790247772262916649802161347569971056047500859517438733387450353374264665448557445978172356159538062779303559949823870852387381966248344916547327426599321126030266024789062806738225328956264017534516993566934376933924580959792863611159727252476569230730942342821425778824578642412710443429324441175590738071926392853705143997088027649760810804378573782257257803654528083256794739160778922695302965500262736042145809148552385919570411251539093005211825614967469971425061910575968194285665290264375902269855080130266829520839337996514887063548023251413793353069734595843717942218046473072440429902960524324517645497897702334570778817719489699754513442262553715858062220597241476083904140865694609100901972217838933754018192739880623915282474737391245156956932381120183319616149425306212750146664594247590078243704574506512075130717353121502951269350326266280114743933362055491142768913369734492460198807417382678527188642928734339648551360360793987976956685739262347101658708388392734280948507811048493224114283359277802353600594017033393828521862110230208139464828335129093779805862672021835064054422697069545560180932768849611811534812201530446996981571139349597613604835245660087323670619813948524409610448170954464787279676253278431942008031182670513052274633116731449337578647707972774109620261197954241301965102209051038564140698671039707255596307786557938649222500516682077291538299881303361214548905287846129784059841770057162890836295802207459725074115036385399021716527115828792893433870201819688455324613622375804532884611598287845998829153011751182592471441165191042311328346762351519570823792594654480606019684516441963397683333321231940614451743853441982132654141205866812243190456064342331678109090912182379880991438679333740029689861234464083532879887890782390764147898044728049570763478557645992425807930099863821858302302472524734027929086891942834366857918664281124473308956427550615236398963692227000204888760945620302814784875846854624449577378141379995806496753223359232524606340241986615098663737332163703468407377580847464409949267119996009836538347434961090287885413139503341882567704189674061441750728353140542919586853807300823329713694537354376549732009571492086985793282828750940701607977654101306535067792249769913021246292670072266042321689607052694971964993217060729931773299761460346484693263301967294831278751769457167028743587680665913422925784941770595402595969577432387247223026744125794625440926580217096263229892010626066127422649322587890738058306034147957038248355031022164019725567955366737637645852603588168472921820039899733276248305199054577012380709689559468303387101667939075557444639060690903713189831966228951869871961232481599885626682486994710418697404954574240204692519331132264185859031886379563122947376654341001784240494561441364262575705307396770498786606613901393502517504008229370088594523112361755547125878000565355489580998754415989285895579662061619240053975069001856493994193667163989888132601112008643566541438123921034546458785779573194780016704604437325451460157728946684372682854786307936059457977131222978319084956481137760804 92176800751692415196149382756426101685268534392394229466093586511702112312774581714445856647071820858073728335632830677743480240385306377008058128998855504912218892602845234692022384706651567752055484179581676155194256600214991586093506955201456812146629355711199685100410135823471285610298230551123563408974364788352269188783314182197229011425405133876306716518447340364644269005424007994483556372313972793402020514637690297623650071537754996942086872264295118087423775715791465162808846430672586456932903409162568269734599147798456789739672506015872268738110200499963610565198380430861811070772126554929345618358926337324294317438253174031279769321785912930584117935771022178427409989246815985283181442886047372168360956889310343100257639939383279866964518004562950492882091460840817817334085374007683222202885415458365748054831870605975753209271272760435160182715526870648946211004935775400663615203538692477377909282309457106598875045647473375875663388708039913690308260904322131529022045975958257803306637477640193245416697285410790566577580420724371475133374945224765337870890212968466062706822011130309304174041714057267607723409184597720006928944649871187573379886837143190710025986442858881541901092005880223188175473086362713319235991135403907077469448061243749375313052394660382469078486441431024556267582008003672116485103693731243824905810875120884940145151142425584057396786374001629998841854371598711833606199496791922978671258474234397285226129694630124932453038636388734731630718950210054720541625788408277968648347308183421463006311949945728549535631693298940954528081753166158718818652838024430816398083445702667527249034822954140565548683781440458989601914805247065051248898240697941035005609545429786124497646507512040454032816726795916815700770135856813140049438883678963520566518054114238374210370509004184709936387364478951195306153235421968156620434563024141886072190352699720899281835601950896829616111460512156899408431433370777056508609411306483107642887161628926016305717118417652487922407011196555225074011852819746714240597796478972581743490562635217650097945201733319525845965697229152770279898715864332368904819051000314030785174830055338342288997401751993179938690449072094544484572730586873900749379916837679257518848042433792520990408734975800459892637347400799349790665361993849293623125586047925724949052894659294833218725049698991092677726874803252859299304854908779668051297928408737021542985918896997711763578435373133285172347830092964428616386006229699453349588515115616214397645770596913897339029079177402558296040250051360091662185443267172530952267246150320894401330445509148129427891536694874227858418070101226537744365260817977921712235805289119624204440891664805799045477994053809970960092685276088856619145078275611253664675267842313219880757701439053899714429189582531564602033693814048334492342864553061577706158612257483446280410365447767819380126904650324975988381845081798206766307340040485314302278282845253988811651056305364385297355602798821675584472457183839074411077950692321882915696728894827776054936615849120386183917028743972256804605450441429930703510836201058943623914923151803384518289276471933140126978595204414611303159499362846924562636162885593085308040271214497207 149145196590465184316852217329128812795655026311612227915738961361291526579264908479824760933966607042729489726882519531333509314597935863195417695789103277175135542405006582261993440754152427269494217567032029529458922048772437564265863114739519591450189305535070537487792102071816202157625657150444689439240389577415075927008643138461246545942398700810683650443028300157507880165151260471052787103256315614827799339216332710334093500862196172532824944190687971792567772803819114923619650809246368714190707063690651526529338308577379485042638006278608310883919349052349530135609631969954816282597741522399317043420836913292488603103543438407182039176866043197413638775109018693314473537270067399076534512620643215886303174935783415540687542899907604384610015902265285063660909180330517571847527636561399080265106012699841831958972736300584854111243490599368914200908266751272861493479673166645820572135919812660697525431734763319349021710241720965953907093282546425765438978257443634480291396302224537918050570839695684388185610655145283026776387838107050002322017873959104986422250573762454039663507750392656405832750102450001888671916995646213231043228009148989926980480854176584538547848553089089681365920341009316967981335758384548383290413832473452637650380830093361186847864596190829466060057580780622169872417253663759440155723507679768234516259046075349727424827395704015999404817556672143051116487488330161171184847204764697088291519672188638587191231903681163496593737307428441987227026736767993369764126305090355260186647189486782677555217237791858333595473463356103845364377555373618443892767874409829838114610561531460420682905024773829020873297403816263522486526403534911050078051252449123627477050710620828435825993269863560024856609321450397421720454652298776537732772204910904135018261907556220506864511714870996953126843428821282873415244147604348037611873242357881915762051587163804432161723492733287593764009505240206470171909991016769482316539511170304965945189634153660044234804010360486854780325675477679698382968280370361950639561488705972786632251508255520464882821048587943975423343838609148576776651939223564893511159292986929129448912162219041810696374982599457589887957569068104381022920165547964188634793056341021140086552232107853962741137088116343379479491154701622679504359899348225843355135157540012710742335723410235534826702703800297627745519124573165880545597524981045710372987535461431993507979135957727643536878196833479769865611132060259259895137775686866482093176195781529637323430712367509299934998656609789805519066994177154717103112023484268794182159256776387021823979768097038867486197570842831266106773101123390557469933216184715559358088408877288097126260931564539075293783193108386983340802374835557160006246746214686811109314328533216933070589667668005769586390422064131450228716180808758753189747819127301782398677943389747632139442251827330942327503558991326760228876406523162469342012647437255813088884896746647491329155064534734473891878715160577222710350457749194563992076705108311168811276390956447016108911684850976880178110695907962144937206562450073497244948960122093490082700702724998164534993880909258591587136324151098983986014285670782984020613294108571404392996752352258011 241321997342157599513001600085554914480923560704006457381832547872993638892039490194270617581038427900803218062515350209076989554983242240203475824787958782087354435007851816954015825460803995021549701746613705684653178648987429150359370069940976403596818661246270222588202237895287487767923887701568252848214754365767345115791957320658475557367803834686990366961475640522152149170575268465536343475570288408229819853854023007957743572399951169474911816454983089879991548519610580086428497239918955171123610472853219796263937456375836274782310512294480579622029549552313140700808012400816627353369868077328662661779763250616782920541796612438461808498651956127997756710880040871741883526516883384359715955506690588054664131825093758640945182839290884251574533906828235556543000641171335389181613010569082302467991428158207580013804606906560607320514763359804074383623793621921807704484608942046484187339458505138075434714044220425947896755889194341829570481990586339455747239161765766009313442278182795721357208317335877633602307940556073593353968258831421477455392819183870324293140786730920102370329761522965710006791816507269496395326180243933237972172659020177500360367691319775248573834995947971223267012346889540156156808844747261702526404967877359715119828891337110562160916990851211935138544022211646726139999261667431556640827201411012059422069921196234667569978538129600056801603930673773049958341859928873004791046701556620066962778146423035872417361598311288429046775943817176718857745686978048090305752093498633228834994497670204140561529187737586883131105156655044799892459308539777162711420712434260654512694007234127947931939847727969586421981185256722512088441208781976101326949493147064662482660256050614560323639777375600478889426048246314237421224788155589677782211088589867655584779961670458881074882223875181663063230793300234068721397383026316194232307805382023801834241939863525331443559094684184423380120965752363369580341424387546538825148922476788073588076795782586060540521128778139342702732686674234923456980133190108664880159285184945368375742070890738114980766250321263501269309535838301347056550655087897262415978343987243160234086992274380152985372384351450769826648018140198925507492896134838089384172973178700397605400274541646483731545823092143839372128502102422029295025261342075136978260743587938435691388618069530368045427753499288720423245999376418739844902379889825378424285463870169015050965054854725355300456632206613055037958962153223688511523781916565935442764710897145851721076482964423197274027735787192363815107244228514808765297466751441325134426502926707916225310213606186996914089107537705493965191171224617095214298477002693481070324214166407721330701823229344874339261187162196954300895060111646016625391824490298064773989596375530152951347369107059669300819611646663014830749874622807087682090683680363360104836555647231078419852617275098761707630463641651736217258251604960676108319987477741127391163179591901480140806120840098859189234317959398898294822914933033638403154655800633051726973119851274792163848300700097266362027724651934401741812012891503427948459796323152433706615625876801549053283157381191731714114919355513595289173785033629908583249456994164489701037023566755218 390467193932622783829853817414683727276578587015618685297571509234285165471304398674095378515005034943532707789397869740410498869581178103398893520577062059262489977412858399216009266214956422291043919313645735214112100697759866714625233184680495995047007966781340760075994339967103689925549544852012942287455143943182421042800600459119722103310202535497674017404503940679660029335726528936589130578826604023057619193070355718291837073262147342007736760645671061672559321323429695010048148049165323885314317536543871322793275764953215759824948518573088890505948898604662670836417644370771443635967609599727979705200600163909271523645340050845643847675517999325411395485989059565056357063786950783436250468127333803940967306760877174181632725739198488636184549809093520620203909821501852961029140647130481382733097440858049411972777343207145461431758253959172988584532060373194669197964282108692304759475378317798772960145778983745296918466130915307783477575273132765221186217419209400489604838580407333639407779157031562021787918595701356620130356096938471479777410693142975310715391360493374142033837511915622115839541918957271385067243175890146469015400668169167427340848545496359787121683549037060904632932687898857124138144603131810085816818800350812352770209721430471749008781587042041401198601602992268896012416515331190996796550709090780293938328967271584394994805933833616056206421487345916101074829348259034175975893906321317155254297818611674459608593501992451925640513251245618706084772423746041460069878398588988489021641687156986818116746425529445216726578620011148645256836863913395606604188586844090492627304568765588368614844872501798607295278589072986034574967612316887151405000745596188289959710966671442996149633047239160503746035369696711659141679440454366215514983293500771790603041869226679387939393938746178616190074222121516942136641530630664231844181047739905717596293527027329763605282587417472017144130470992569839752251415404316021141688433647093039533266429936246104775325139138626197483058362151914621839948413560470615519720773890918155007993579146258579863587298909207476692653374447449923833202594311462155927137636974172289682999154493421963681747366950908359714605587208303306530413061682802278018966029519721537691952506649500446472682911208487218851619656804044708799385160690300980333395901127951146433724341479765902872130457299586348168765123949584620390499904870871088797272999331601008558944190812452998837334829040092824903570094213482948406661557603432417535940906678675489044507195331932497209026392396982169334174238405669525868409490235710119316585759703094938049289981703225864400286678380536760071964272348007652684231693187409040428412623043695818456962754793883949633044380270583937641697434947203176631638570704984875883303924908747086021937036775065438887210033710794465059466055431565840871838502807665142503514499036978710559294869102429704035134022632978496446134658128123145450332634914996940480048076338548971469961185374833333081113033119976121005173372682228202395231360908944220538249510807721808272759985551074146540138420559896546679018575341576925193408756445245923789316328601799713588277038290450323301251243506612579275188070704412892603862751102735894094033775919013229 631789191274780383342855417500238641757502147719625142679404057107278804363343888868365996096043462844335925851913219949487488424564420343602369345365020841349844412420710216170025091675760417312593621060259440898765279346747295864984603254621472398643826628027610982664196577862391177693473432553581195135669898308949766158592557779778197660678006370184664384365979581201812178506301797402125474054396892431287439046924378726249580645662098511482648577100654151552550869843040275096476645289084279056437928009397091119057213221329052034607259030867569470127978448156975811537225656771588070989337477677056642366980363414526054444187136663284105656174169955453409152196869100436798240590303834167795966423634024391995631438585970932822577908578489372887759083715921756176746910462673188350210753657699563685201088869016256991986581950113706068752273017318977062968155853995116476902448891050738788946814836822936848394859823204171244815222020109649613048057263719104676933456580975166498918280858590129360764987474367439655390226536257430213484324355769892957232803512326845635008532147224294244404167273438587825846333735464540881462569356134079706987573327189344927701216236816135035695518544985032127899945034788397280294953447879071788343223768228172067890038612767582311169698577893253336337145625203915622152415776998622553437377910501792353360398888467819062564784471963216113008025418019689151033171208187907180766940607877937222217075965034710332025955100303740354687289195062795424942518110724089550375630492087621717856636184827190958678275613267032099857683776666193445149296172453172769315609299278351147139998575999716316546784720229768193717259774329708546663408821098863252731950238743252952442371222722057556473272824614760982635461417943025896562904228609955893297194382090639446187821830897138269014276162621360279253305015421751010858038913656980426076488853121929519430535466890855095048841682101656440524251436744933209332592839791862559966837356123881113121343225718832165315846267916765540185791048826149545296928546750579280399880059075863523383735650036996694844353549230470977961962910285751270889753249399359418343115980961415449917086146767802116667119751302359129541253605348502232037905957817640367403139002698421935297352781191146930204228734300631058223748158906466738094410422032376117311656644715889582125112959549296270917558210798875068592011123326003360235402284760696467221558463201770023609909245667178354137791461246705879941529056366706636918185339519998352978705617575821340765583678296355694483054128184174533149281482634184334633706956987151444451012262629802854274600195309412861314375785918242254037155443572624747898530170190102521498736837210103539787664578023228823972305567432780891942592495058849193257030395195282940657293521284277238973284405882125108188029645357457479890215930054372928553929186488028502608351054684209788979147486377528465742764486274630232663392909733083821558652622392738067871211255930450451610767306214932192270347351079375019299996287615261840798386016709577272265222630658996600436608286251171412902166145211830948420830588233080353141868552768398357495931954478601262641560195671642055015366162862126174564361855738042801187112208096900383795070799485768447 1022256385207403167172709234914922369034080734735243827976975566341563969834648287542461374611048497787868633641311089689897987294145598447001262865942082900612334389833568615386034357890716839603637540373905176112877380044507162579609836439301968393690834594808951742740190917829494867619022977405594137423125042252132187201393158238897919763988208905682338401770483521881472207842028326338714604633223496454345058239994734444541417718924245853490385337746325213225110191166469970106524793338249602941752245545940962441850488986282267794432207549440658360633927346761638482373643301142359514625305087276784622072180963578435325967832476714129749503849687954778820547682858160001854597654090784951232216891761358195936598745346848107004210634317687861523943633525015276796950820284175041311239894304830045067934186309874306403959359293320851530184031271278150051552687914368311146100413173159431093706290215140735621355005602187916541733688151024957396525632536851869898119674000184566988523119438997463000172766631399001677178145131958786833614680452708364437010214205469820945723923507717668386438004785354209941685875654421812266529812532024226176002973995358512355042064782312494822817202094022093032532877722687254404433098051010881874160042568578984420660248334198054060178480164935294737535747228196184518164832292329813550233928619592572647298727855739403457559590405796832169214446905365605252108000556446941356742834514199254377471373783646384791634548602296192280327802446308414131027290534470131010445508890676610206878277871984177776795022038796477316584262396677342090406133036366568375919797886122441639767303144765304685161629592731566801012538363402694581238376433415750404136950984339441242402082189393500552622905871853921486381496787639737555704583669064322108812177675591411236790863700123817656953670101367538895443379237543267952994680444287644657920669900861835237026828993918184858654124269519128457668381907737503049084844255196178581108525789770974152654609655655078270091171407055391737668849410978064167136876960311049895919600832966781678391729229183255274707940848139678454654616284733201194722955843710821574270253617935587739600085301261224080348867118253267489255859192556805538568319019500442645422105032218143472989305287840647376676911645509118277075367815710511446893795582722677097645052545843840728558837301029062173789688668098461416760776247275587980625902189631567556018831462533371032168853436479631352975126290286798704845099150580189585324846897123430770514646524254496829810090873628288191692080520581156702483455721039853860502116447222861563767598022332897792323890177012638725714662464298779014109119715920632400582761863377511561927149460253799358244627332817112773605349947703364829584289930006052369888668965900267816540597446193024324995221442657190547075239679068251944949681985485938769425767689295693645111865553721188499538442355479958169777898508907608729109527567861206967008985257307735008351259332268999423080728491589765525351460384199351140305169660297490043193617377618521492803472141466718408709368271802245559442304565771727495099849163574657278335277309213644281285248283080400976229837233962092378316617406368738753839549926442455693790974959199636277889104575404781676 1654045576482183550515564652415161010791582882454868970656379623448842774197992176410827370707091960632204559493224309639385475718710018790603632211307103741962178802254278831556059449566477256916231161434164617011642659391254458444594439693923440792334661222836562725404387495691886045312496409959175332558794940561081953359985716018676117424666215275867002786136463103083284386348330123740840078687620388885632497286919113170790998364586344364973033914846979364777661061009510245203001438627333881998190173555338053560907702207611319829039466580308227830761905794918614293910868957913947585614642564953841264439161326992961380412019613377413855160023857910232229699879727260438652838244394619119028183315395382587932230183932819039826788542896177234411702717240937032973697730746848229661450647962529608753135275178890563395945941243434557598936304288597127114520843768363427623002862064210169882653105051963672469749865425392087786548910171134607009573689800570974575053130581159733487441400297587592360937754105766441332568371668216217047099004808478257394243017717796666580732455654941962630842172058792797767532209389886353147992381888158305882990547322547857282743281019128629858512720639007125160432822757475651684728051498889953662503266336807156488550286946965636371348178742828548073872892853400100140317248069328436103671306530094365000659126744207222520124374877760048282222472323385294403141171764634848537509775122077191599688449748681095123660503702599932635015091641371209555969808645194220560821139382764231924734914056811368735473297652063509416441946173343535535555429208819741145235407185400792786907301720765021001708414312961334994729798137732403127901785254514613656868901223082694194844453412115558109096178696468682469016958205582763452267487897674278002109372057682050682978685531020955925967946263988899174696684252965018963852719357944625083997158753983764756457364460809039953702965951620784898192633344482436258417437094988041141075363145894855265775952881373910435407017674972157277854640459804213712433805507061629176319480892042645201775464879220251969552294397370149432616579195018952465612709093110180992613369598897003189517171448029026197015986869555626618797112797905307770606224977318083012825244034916565408286658069031794306881140379809749335299115974616978184988206004755053214956709190559730310683950260578358444707246878897336485352787370601591340861304474392264023240389925735141055778762682146809707112917751533504584786628206946896222243032236643429123493352141830318170575674551924643886175134648765331235632737203674038195135823404210013008218610284962700646598490372322051587029038250217021268146275159493257148481292033567614083425886297463902898032291910840341597577655515136145721526882425064901563145699361095550757197890967477301563968505848539315655263269324425709424839897915540311697979696875783722147720216608405398288517589841857486635520662995182238961772920477594290788567637879700473076222470588199449874691495797804697717621807735278726159605165947912751883992003394328098765068694772125715009145976558053416972344470710983558443520679751807737631477145861982042638781180237559002238871397429633734433331983569230864928403911782180498494978087167296536661684175374890550123 2676301961689586717688273887330083379825663617190112798633355189790406744032640463953288745318140458420073193134535399329283463012855617237604895077249186642574513192087847446942093807457194096519868701808069793124520039435761621024204276133225409186025495817645514468144578413521380912931519387364769469981919982813214140561378874257574037188654424181549341187906946624964756594190358450079554683320843885339977555526913847615332416083510590218463419252593304578002771252175980215309526231965583484939942419101279016002758191193893587623471674129748886191395833141680252776284512259056307100239947652230625886511342290571396706379852090091543604663873545865011050247562585420440507435898485404070260400207156740783868828929279667146830999177213865095935646350765952309770648551031023270972690542267359653821069461488764869799905300536755409129120335559875277166073531682731738769103275237369600976359395267104408091104871027580004328282598322159564406099322337422844473172804581344300475964519736585055361110520737165443009746516800175003880713685261186621831253231923266487526456379162659631017280176844147007709218085044308165414522194420182532058993521317906369637785345801441124681329922733029218192965700480162906089161149549900835536663308905386140909210535281163690431526658907763842811408640081596284658482080361658249653905235149686937647957854599946625977683965283556880451436919228750899655249172321081789894252609636276445977159823532327479915295052304896124915342894087679623686997099179664351571266648273440842131613191928795546512268319690859986733026208570020877625961562245186309521155205071523234426674604865530325686870043905692901795742336501135097709140161687930364061005852207422135437246535601509058661719084568322603955398454993222501007972071566738600110921549733273461919769549231144773582921616365356438070140063490508286916847399802232269741917828654845599993484193454727224812357090221139913355861015252219939307502281350184219722183888935665829418430562537028988705498189082027549015523489870782277879570682467372679072239081725009426880167194108403507244260235245509827887271195479752153660335664936821002566883623216832590929117256749290250277364853987808894108052971990462113309174543996818525658247349067134708881275963356872441683558052025318867612374483790327489631882001587477730312601761736403571039242787561607420618496935546995797902113563617877179321487206664023831579259221388268512087947616118626441060088044041820303289631727357527085807567879133766859894007998666084815000385765425552932077867215169346487938116192924713892055637939851432874571986208307295598438922380549334690312743700714515800282255394875413889549064053896945125645353035757717702256276919243657454371183005462839510551111172355070953933034368326995818573738488413670325888963727291196506202338509003493961369789579901026250467405464565079415792832082162126586788056032197337444805298561504089847690882448045455497755576623137008208084573729920468449297772224289394463242973268119478077299910335608210241927185620771946620257872166913592433417855344829855662531786775276755285938620528915382394909812423171195686920066428520639403215101234663595826811648600975599603682243461708622954188769062126496172939573279950295331799 4330347538171770268203838539745244390617246499644981769289734813239249518230632640364116116025232419052277752627759708968668938731565636028208527288556290384536691994342126278498153257023671353436099863242234410136162698827016079468798715827148849978360157040482077193548965909213266958244015797323944802540714923374296093921364590276250154613320639457416343974043409728048040980538688573820394762008464274225610052813832960786123414448096934583436453167440283942780432313185490460512527670592917366938132592656617069563665893401504907452511140710057114022157738936598867070195381216970254685854590217184467150950503617564358086791871703468957459823897403775243279947442312680879160274142880023189288583522552123371801059113212486186657787720110042330347349068006889342744346281777871500634141190229889262574204736667655433195851241780189966728056639848472404280594375451095166392106137301579770859012500319068080560854736452972092114831508493294171415673012137993819048225935162504033963405920034172647722048274842931884342314888468391220927812690069664879225496249641063154107188834817601593648122348902939805476750294434194518562514576308340837941984068640454226920528626820569754539842643372036343353398523237638557773889201048790789199166575242193297397760822228129326802874837650592390885281532934996384798799328430986685757576541679781302648616981344153848497808340161316928733659391552136194058390344085716638431762384758353637576848273281008575038955556007496057550357985729050833242966907824858572132087787656205074056348105985606915247741617342923496149468154743364413161516991454006050666390612256924027213581906586295346688578458218654236790472134638867500837041946942444977717874753430504829632090989013624616770815263264791286424415413198805264460239559464412878113030921790955512602748234762165729508889562629345337244836747743473305880700119160176894825914987408829364749941557915536264766060056172760698254053648596702375565919718445172260863259252081560684684206515418402899140905206756999706293378130330586491592004487974434308248558562617052072081942658987623759213812529642879977319887774674771106125948374029931183559496992815729594118634428197319276474380840857364520726850084788367421079780768974136608671072593102051274289562621425904235990439192405128616947673599764944467816870207592232783527558470926963301349926737822185779063204182425893134387466350988478770662348511138416095602499611314003653143726378800773250767200961793353807874418355564473982029810911370410289017501350807915133170961439977477575964042349818111819173748930128387930250773763255642887580204818592258299085520870921656741899772738964732821550401670034907146697545345930512739728778922055181605154309211154497795968760660977975656272638054780135855496180067688091369330936379381147627452932233139735821857601778327919670794629477816566562165385161440863137940552298770531985076573622039194931440819224499272086652655368523049788544144261016708681160796200508667899172463720087199160960595075854756803459515501556122993811177624166274719022940861685718148427001321387909079504131245987738844382141208667190132541289569033177729558847608758198405453972632093229561244980584544830468610647373490803452683747149293792709601257455325185881922 7006649499861356985892112427075327770442910116835094567923090003029656262263273104317404861343372877472350945762295108297952401744421253265813422365805477027111205186429973725440247064480865449955968565050304203260682738262777700493002991960374259164385652858127591661693544322734647871175535184688714272522634906187510234482743464533824191801975063638965685161950356353012797574729047023899949445329308159565587608340746808401455830531607524801899872420033588520783203565361470675822053902558500851878075011757896085566424084595398495075982814839806000213553572078279119846479893476026561786094537869415093037461845908135754793171723793560501064487770949640254330195004898101319667710041365427259548983729708864155669888042492153333488786897323907426282995418772841652514994832808894771606831732497248916395274198156420302995756542316945375857176975408347681446667907133826905161209412538949371835371895586172488651959607480552096443114106815453735821772334475416663521398739743848334439370439770757703083158795580097327352061405268566224808526375330851501056749481564329641633645213980261224665402525747086813185968379478502683977036770728523370000977589958360596558313972622010879221172566105065561546364223717801463863050350598691624735829884147579438306971357509293017234401496558356233696690173016592669457281408792644935411481776829468240296574835944100474475492305444873809185096310780887093713639516406798428326014994394630083554008096813336054954250608312392182465700879816730456929964007004522923703354435929645916187961297914402461760009937033783482882494363313385290787478553699192360187545817328447261640256511451825672375448502124347138586214471140002598546182108630375341778880605637926965069337524615133675432534347833113890379813868192027765468211631031151478223952471524228974522517783993310503091811178994701775314976811233981592797547518962409164567832816063674964743425751370263489578417146393900611609914663848922314873421999795356480585443141017226514102637077955431887846403395839027255308901620201368769471575170441806987320797644342061498962109853096027266458072764888389805207158970154523259786284038966752186126380616032562185047751684946609526751745694845173414834903056778829534388955312970955134329319942169185983170838584782776677673997244430447484560048083555271957448752209179710513840160232663366872389169525383793199681701117972888932289579914606355949983835717802439927181758832702272165231673994919399691827289005835174111164050082922001067837378790504177148911509349473999948171347205403030508041909564987458307111865123053101822306411703107075762152191026899553897524443251470991432212516439679248621832657064910321036246609399827457865374131957812899307410586130398155250339943666440815166823749227135206809429214436015087187904674867794817953341895960430932328059940287331413632164419057717592812632790626005942553733384380932658571864629654236532376246117786003361934343537816568505286299720884153716889245369930429136348470235944376593624203568343974234880759425837164333235738363244938221339280813028599310581844856666217764742035918021264494130320761737582572527451101992204373416478914037278837808669073866756825388056629185520430072292890835199426406872516211420288882540830735275481213721 11336997038033127254095950966820572161060156616480076337212824816268905780493905744681520977368605296524628698390054817266621340475986889294021949654361767411647897180772100003938400321504536803392068428292538613396845437089793779961801707787523109142745809898609668855242510231947914829419550982012659075063349829561806328404108054810074346415295703096382029135993766081060838555267735597720344207337772433791197661154579769187579244979704459385336325587473872463563635878546961136334581573151418218816207604414513155130089977996903402528493955549863114235711311014877986916675274692996816471949128086599560188412349525700112879963595497029458524311668353415497610142447210782198827984184245450448837567252260987527470947155704639520146574617433949756630344486779730995259341114586766272240972922727138178969478934824075736191607784097135342585233615256820085727262282584922071553315549840529142694384395905240569212814343933524188557945615308747907237445346613410482569624674906352368402776359804930350805207070423029211694376293736957445736339065400516380282245731205392795740834048797862818313524874650026618662718673912697202539551347036864207942961658598814823478842599442580633761015209477101904899762746955440021636939551647482413934996459389772735704732179737422344037276334208948624581971705951589054256080737223631621169058318509249542945191817288254322973300645606190737918755702333023287772029860492515066757777379152983721130856370094344629993206164319888240016058865545781290172930914829381495835442223585850990244309403900009377007751554376706979031962518056749703948995545153198410853936429585371288853838418038121019064026960343001375376686605778870099383224055572820319496755359068431794701428513628758292203349611097905176804229281390833029928451190495564356336983393315184487125266018755476232600700741624047112559813558977454898678247638122586059393747803472504329493367309285799754344477202566661309863968312445624690439341718240528741448702393098787198786843593373834786987308602596026961602279750531955261063579658416241295569356206959113571044052512083651025671885294531269782527046744829294365912232412996683369685877608848291779166386113143928803226126535702537935561753141567196955468736081945091743000392535271237257460401206208680913664436436835576101507721683320216425265622416771943297367718703590330173739096263205978978744905300398782066677046265594834720646184228940856022784258444016275818375400373720172942594489967628527919038468438486475049867189701874587437929010700281915081342308645380508084005951914805570126285614053181489752557185466362718649732395845491812196609964122392648174112289178643981443383058734945228182944154745757970605102910879868080912564895341552653046308704327418790823096387281915342664925394503703178557235611247175965580794828193570668149917542065659333302959048535534159374798175787446805691673936679703190556941203276275727307686937010502634020996193185091555074843865145170425570406166130937804247642699664463792785164163419828991684218941338720456229549540869104496058303753890285028730271857987605673821540049267252232974702902946249762659992391561237551146037761646037036214123046498850054949301609770065260540903538208690229859556263360714081592142088190600667095643 18343646537894484239988063393895899931503066733315170905135914819298562042757178848998925838711978173996979644152349925564573742220408142559835372020167244438759102367202073729378647385985402253348036993342842816657528175352571480454804699747897368307131462756737260516936054554682562700595086166701373347585984735749316562886851519343898538217270766735347714297944122434073636129996782621620293652667080593356785269495326577589035075511311984187236198007507460984346839443908431812156635475709919070694282616172409240696514062592301897604476770389669114449264883093157106763155168169023378258043665956014653225874195433835867673135319290589959588799439303055751940337452108883518495694225610877708386550981969851683140835198196792853635361514757857182913339905552572647774335947395661043847804655224387095364753132980496039187364326414080718442410590665167767173930189718748976714524962379478514529756291491413057864773951414076285001059722124201643059217681088827146091023414650200702842146799575688053888365866003126539046437699005523670544865440731367881338995212769722437374479262778124042978927400397113431848687053391199886516588117765387577943939248557175420037156572064591512982187775582167466446126970673241485499989902246174038670826343537352174011703537246715361271677830767304858278661878968181723713362146016276556580540095338717783241766653232354797448792951051064547103852013113910381485669376899313495083792373547613804684864466907680684947456772632280422481759745362511747102894921833904419538796659515496906432270701814411838767761491410490461914456881370134994736474098852390771041482246913818550494094929489946691439475462467348513962901076918872697929406164203195661275635964706358759770766038243891967635883958931019067184043149582860795396662821526715834560935864839413461647783802748786735692511920618748887874790370211436491475795157084995223961580619536179294236793060656063243922894348960561921473882976294547005312763718035885222034145534116013712889480671329266674833711998435054216911181370733324030535154828858048282890153851301175070006162365179678292129958059419659587734205714983817625698516451963435555812258224880853964214137798090538329977872230547711350396656198346026489857691394916046877329712477440423240631239790991457591338433681266023586067769766875488382714374625951653811207878936253697046128265788589772178426606418371670998966626180201190670630019946743295949966017276718547983607074368639572634421778973463702030202518521408476117704568492378764586840520049755915029513655850783538592047861479793028433397479176234591574863597169469794411884586872391366094134407373863639606324805618323230065215715799855549219190764145585428470477042837680980219975481471950808296648647993859605989920136509050549474354608939718265745140286114970783534136724154001600477977482352990746935123467593251752187430966413452748245407321060635849128805832930512259683933054796505995955339731001660060361143586029324142459651536061366940596112935608840386409367731763803226564978367175884789465287904114042717397584566918884339312116714653823438563575967288516727105023664683832335187443493553441924562516675683315874022792120365606880337358238955585690613196429043889656266428779572134370474682918925876148309364 29680643575927611494084014360716472092563223349795247242348739635567467823251084593680446816080583470521608342542404742831195082696395031853857321674529011850406999547974173733317047707489939056740105421635381430054373612442365260416606407535420477449877272655346929372178564786630477530014637148714032422649334565311122891290959574153972884632566469831729743433937888515134474685264518219340637860004853027147982930649906346776614320491016443572572523594981333447910475322455392948491217048861337289510490220586922395826604040589205300132970725939532228684976194108035093679830442862020194729992794042614213414286544959535980553098914787619418113111107656471249550479899319665717323678409856328157224118234230839210611782353901432373781936132191806939543684392332303643033677061982427316088777577951525274334232067804571775378972110511216061027644205921987852901192472303671048267840512220007657224140687396653627077588295347600473559005337432949550296663027702237628660648089556553071244923159380618404693572936426155750740813992742481116281204506131884261621240943975115233115313311575986861292452275047140050511405727303897089056139464802251785886900907155990243515999171507172146743202985059269371345889717628681507136929453893656452605822802927124909716435716984137705308954164976253482860633584919770777969442883239908177749598413847967326186958470520609120422093596657255285022607715446933669257699237391828561841569752700597525815720837002025314940662936952168662497818610908293037275825836663285915374238883101347896676580105714421215775513045787197440946419399426884698685469644005589181895418676499189839347933347528067710503502422810349889339587682697742797312630219776015980772391323774790554472194551872650259839233570028924243988272430973693825325114012022280190897919258154597948773049821504262968293212662242796000434603929188891390154042795207581283355328423008683623730160369941862998267371551527223231337851288740171695752105436276413963482847927214800911676324264703101461821020601031081178513461121265279291598734487274289578459510058260288641050214877263329317801843353950929370261252459813111991610748864960118925498135833729145743380523911234467133203998766250249285958409339913223445326427476861138620330105012711660498091640997200138505002870118101599687575491450195704807979997042723597108575597639844027219867362051795751157171511718770453065643672445796025391276204175684151972750275720734823801982474742359745577016268941092229949240986959894951167571758194253352024769530750037830110855964496164046676053813394598598559683093229416081327420782635832513061616982717883178290744371496256287780437094796967211508598774534800777402134918891343399075579953717549061132540376813503461342957352321278396813016523790965892139280003443421444302375897362146749114931552347572268627895024418650080238082516128785911562229142200899553937081257740339039685747036206787986991619991807008629976335924186751615435987451174494568030057702192304744843755635273304179194531895183632218249197308514605245694837444983147213455888320809169368042388572641429112385116016555768960079726567630082097847435885114679475708554437329352910236915166864456935286659848725650951154099967252579886125985042932848452066825007116476815405007 48024290113822095734072077754612372024066290083110418147484654454866029866008263442679372654792561644518587986694754668395768824916803174413692693694696256289166101915176247462695695093475341310088142414978224246711901787794936740871411107283317845757008735412084189889114619341313040230609723315415405770235319301060439454177811093497871422849837236567077457731882010949208110815261300840960931512671933620504768200145232924365649396002328427759808721602488794432257314766363824760647852524571256360204772836759331636523118103181507197737447496329201343134241077201192200442985611031043572988036459998628866640160740393371848226234234078209377701910546959527001490817351428549235819372635467205865610669216200690893752617552098225227417297646949664122457024297884876290808013009378088359936582233175912369698985200785067814566336436925296779470054796587155620075122662022420024982365474599486171753896978888066684942362246761676758560065059557151193355880708791064774751671504206753774087069958956306458581938802429282289787251691748004786826069946863252142960236156744837670489792574354110904271379675444253482360092780695096975572727582567639363830840155713165663553155743571763659725390760641436837792016688301922992636919356139830491276649146464477083728139254230853066580631995743558341139295463887952501682805029256184734330138509186685109428725123752963917870886547708319832126459728560844050743368614291142056925362126248211330500585303909705999888119709584449084979578356270804784378720758497190334913035542616844803108850807528833054543274537197687902860876280797019693421943742857979952936900923413008389842028277018014401942977885277698403302488759616615495242036383979211642048027288481149314242960590116542227475117528959943311172315580556554620721776833548996025458855122994011410420833624253049703985724582861544888309394299400327881629837952292576507316909042544862917966953430597926242190265900487785152811734265034718701064869154312299185516993461330814624565804936032368136654732599466135395424642491998603322133889316132337861349663909561463711056377242443007609931801413370588957995458174796929617309265316923554481310394058609999707594661709325005463181870996797960636355065538259249935184118871777185497659817490152083738722880788191596096341303799367623273643261217071193190694371668675250919783476576097724265995627840385523335598118137142124064610298625997216061906224122427447922716292997453371785589549110999318211438047914555931979443505481303427285276326686632116611610050799793745140369620346947585268101674874391626993080572405650672902284379805302307473501569590274544384878778870119927386761900415290441573814490334656326621325683036928827546056996555230041352515858285454269639606000315138002802936660300016441613634612383139710047516183477117532649068276501573869105872506771640827173205983722037663749660108614352302182488578800974888814552869137300246675553046603514625931675655188411675797131037203818710489709238253671685439868570882144565603899626947435444814175675690490035160125349097189930853472887728053707354505287295252550948691983844285687184750232313914433034879378668121400271071113012668784259707287230063815624018087681236641767296396296469542392413822504982822541507926042352963714371 77704933689749707228156092115328844116629513432905665389833394090433497689259348036359819470873145115040196329237159411226963907613198206267550015369225268139573101463150421196012742800965280366828247836613605676766275400237302001288017514818738323206886008067431119261293184127943517760624360464129438192884653866371562345468770667651844307482403706398807201165819899464342585500525819060301569372676786647652751130795139271142263716493344871332381245197470127880167790088819217709139069573432593649715263057346254032349722143770712497870418222268733571819217271309227294122816053893063767718029254041243080054447285352907828779333148865828795815021654615998251041297250748214953143051045323534022834787450431530104364399905999657601199233779141471062000708690217179933841690071360515676025359811127437644033217268589639589945308547436512840497699002509143472976315134326091073250205986819493828978037666284720312019950542109277232119070396990100743652543736493302403412319593763306845331993118336924863275511738855438040528065684490485903107274452995136404581477100719952903605105885930097765563831950491393532871498507998994064628867047369891149717741062869155907069154915078935806468593745700706209137906405930604499773848810033486943882471949391601993444574971214990771889586160719811823999929048807723279652247912496092912079736923034652435615683594273573038292980144365575117149067444007777720001067851682970618766931878948808856316306140911731314828782646536617747477396967179097821654546595160476250287274425718192699785430913243254270318787582984885343807295680223904392107413386863569134832319599912198229189961624546082112446480308088048292642076442314358292554666603755227622820418612255939868715155141989192487314351098988867555160588011530248446046890845571276216356774381148609359193883445757312672278937245104340888743998228589219271783880747500157790672237465553546541697113800539789240457637452015008384149585553774890396816974590588713148999841388545615536242129200735469598475753200497216573938103613263882613732623803406627439809173967821752352106592119706336927733644767321518328256710634610041608920014181883673406808529892339145450975185620559472596385869763048209922313474878172473380510546348638324117989922502863744236814521785391734601344173917469222961218752667266897998674368711398848028359074215941751485862989892181274492769629855912577130253971071793241453182428298111599895466568718188195587572023853359063788454316855648161928684492441198378452848084880885468636379581549831575251225584843111631944155488268990225552763665635066754229705162441134820535118552308157722675623150366376215167198995212257653082413264869457104023460601928272226621636950272779102485056235098957730982563352636416399615953184090982333752914615826561154349892080839264281763999828849146137733767531190290907411288499850823575311889250815251856119569836541313928500299905344088233667173038410523255908011579375163291233118488378313278519766940445976430283624206155448744798431522131067663063372984205095280854962794080337144309361208537223075396893859936681663333808000400054647264476799943996530882315263782800875979625550342021694496622454094520750910677936406887592921396363549049428518398865437831274608332933158829779119378 125729223803571802962228169869941216140695803516016083537318048545299527555267611479039192125665706759558784315931914079622732732530001380681242709063921524428739203378326668658708437894440621676916390251591829923478177188032238742159428622102056168963894743479515309150407803469256557991234083779544843963119973167432001799646581761149715730332240942965884658897701910413550696315787119901262500885348720268157519330940372195507913112495673299092189966799958922312425104855183042469786922098003850009920035894105585668872840246952219695607865718597934914953458348510419494565801664924107340706065714039871946694608025746279677005567382944038173516932201575525252532114602176764188962423680790739888445456666632220998117017458097882828616531426091135184457732988102056224649703080738604035961942044303350013732202469374707404511644984361809619967753799096299093051437796348511098232571461418980000731934645172786996962312788870953990679135456547251937008424445284367178163991097970060619419063077293231321857450541284720330315317376238490689933344399858388547541713257464790574094898460284208669835211625935647015231591288694091040201594629937530513548581218582321570622310658650699466193984506342143046929923094232527492410768166173317435159121095856079077172714225445843838470218156463370165139224512695675781335052941752277646409875432221337545044408718026536956163866692073894949275527172568621770744436465974112675692294005197020186816891444821437314716902356121066832456975323449902606033267353657666585200309968335037502894281720772087324862062120182573246668171961020924085529357129721549087769220523325206619031989901564096514389458193365746695944565201930973787796702987734439264868445900737089182958115732105734714789468627948810866332903592086803066768667679120272241815629504142620769614717070010362376264661827965885777053392527989547153413718699792734297989146508098409459664067231137715482647903352502793536961319818809609097881843744901012334516834849876430160807934136767837735130485799963351969362746105262485935866513119538965301158837877383216063162969362149344537665446180692107286252168809406971226229279498807227888118923950949145158569847329884478059567740759846170558668540416431723315694665220415509615649739993015827975537402573583330697685477716836846234862013884338091189368740380074098948142550792039475751858617732566797828367747993054701194864269697790457515088652420539047818182861715641567373161572964358381999892364770204093908127997922501805738124411567517585247989632349625320391595205190059217212257163143381852545844238040717427131989542246437128008620121898432267060501929236496142553960895627548094656227755204113430644786284965201054167693946828009143837572093384412000622169352951554402418889844390998775366549228209700864397408264316381814413068105350720006839640037961931734584494483572861239061549359429604158302058415342288817314852774481388480342726085014037881839687234563574967030249525582131989009476178699648115723492777037593310402331149078503107877548659895585316015088143177527075162834096265276782751399147231934214282499984244340334449227032257910963917194642450922276250696663354690478756329741324584566534696024088124234688692759845518970910812687942814097149840859201182742833749 203434157493321510190384261985270060257325316948921748927151442635733025244526959515399011596538851874598980645169073490849696640143199586948792724433146792568312304841477089854721180695405902043744638088205435600244452588269540743447446136920794492170780751546946428411700987597200075751858444243674282156004627033803564145115352428801560037814644649364691860063521809877893281816312938961564070258025506915810270461735511466650176828989018170424571211997429050192592894944002260178925991671436443659635298951451839701222562390722932193478283940866668486772675619819646788688617718817171108424094968081115026749055311099187505784900531809866969331953856191523503573411852924979142105474726114273911280244117063751102481417364097540429815765205232606246458441678319236158491393152099119711987301855430787657765419737964346994456953531798322460465452801605442566027752930674602171482777448238473829709972311457507308982263330980231222798205853537352680660968181777669581576310691733367464751056195630156185132962280140158370843383060728976593040618852853524952123190358184743477700004346214306435399043576427040548103089796693085104830461677307421663266322281451477477691465573729635272662578252042849256067829500163131992184616976206804379041593045247681070617289196660834610359804317183181989139153561503399060987300854248370558489612355255989980660092312300109994456846836439470066424594616576399490745504317657083294459225884145829043133197585733168629545685002657684579934372290629000427687813948818142835487584394053230202679712634015341595180849703167458590475467641244828477636770516585118222601540123237404848221951526110178626835938501453794988586641644245332080351369591489666887688864512993029051673270874094927202103819726937678421493491603617051512815558524691548458172403885291230128808600515767675048543599073070226665797390756578766425197599447292892088661383973651956001361181031677504723105540804517801921110905372584499494698818335489725483516676238422045697050063337503307333606239000460568543300849718526368549599136922945592740968011845204968415269561481855681465399090948013625614508879444017012835149293680690901294927453843288290609545032950443950655953610522894380480982015294604196696205211569053833733639662495879572212351924358975065299029651634306069196080766551604989188043109091472946976501625007981227237721607624748072321137377848967278325118240769583698968271080718650647713649430433829762960733596817717445788346681625852255836812490363700184190972496448403053884369213899456895642820790033170849156412651412372078098607903675784181361694704687571948543738674206589989736125079602872357721159890839805747738641020073570534668246886893473280789330897100788246322628328483369731604732705587970802034843028481981109119463844036262018747300345155646096177067934199866144573407569152222641995782983423684814373438610244856014421628251883602745815152679825476714009899123424561137747698813938738258263368013960445267529243119145624546007116983193042055200762671209570770940921644100680596870050937257864219472195304802499858148293007168615877616307984644394981713703832201907494799509906233723152230322213696712173252952195419105317445373960495011827610089123394568399429211553380645371758173792360012521953127 329163381296893313152612431855211276398021120464937832464469491181032552799794570994438203722204558634157764961100987570472429372673200967630035433497068316997051508219803758513429618589846523720661028339797265523722629776301779485606874759022850661134675495026461737562108791066456633743092528023219126119124600201235565944761934189951275768146885592330576518961223720291443978132100058862826571143374227183967789792675883662158089941484691469516761178797387972505017999799185302648712913769440293669555334845557425370095402637675151889086149659464603401726133968330066283254419383741278449130160682120986973443663336845467182790467914753905142848886057767048756105526455101743331067898406905013799725700783695972100598434822195423258432296631323741430916174666421292383141096232837723747949243899734137671497622207339054398968598516160132080433206600701741659079190727023113269715348909657453830441906956630294305944576119851185213477341310084604617669392627062036759740301789703428084170119272923387506990412821424878701158700436967467282973963252711913499664903615649534051794902806498515105234255202362687563334681085387176145032056307244952176814903500033799048313776232380334738856562758384992302997752594395659484595385142380121814200714141103760147790003422106678448830022473646552154278378074199074842322353796000648204899487787477327525704501030326646950620713528513365015700121789145021261489940783631195970151519889342849229950089030554605944262587358778751412391347614078903033721081302475809420687894362388267705573994354787428920042911823350031837143639602265752563166127646306667310370760646562611467253941427674275141225396694819541684531206846176305868148072579224106152557310413730118234631386606200661916893288354886489287826395195703854579584226203811820699988033389433850898423317585778037424808260901036112442850783284568313578611318147085626386650530481750365461025248262815220205753444157020595458072225191394108592580662080390737818033511088298475857857997474271145068736724800423920512663595823788854485465650042484558042126849722588184478432530844005026003064537128705732900761048253423984061378573179498129183046377794237435768114880280328428715521351282740551039650555711035920011899876789469343349289402488895400187889326932558395996715129351142915430942780435943080377411849471547045924644175800020702989580225357314870149505125842021979519982510467374156483359733139189695531832292149471330333895169782075827788239046396056349744940488286201989929096908015920639132358846249082216034415995223230066368669814555753930644452141716501608493684246934009076552358796105022256796627008839368500275120786467353842394868775277683965313033171858674334957024843928797390160200421867781732226902058539525204453732872872979884486013072245962883144708609472027910590136039550586151413047607114154376580277466996546053434987969674460172723686667225891563130005454306865194352625208438599019587386048502313225293617539542577256538719297845272661730609760230635365603093820288073878818470303996265912885139080435391294635029401067776640899692154400550091898807968888735316162930864459818458716704548684645428481018877051402652009281936743689883980069984583136062298781883240087370340024241323459468908014651561195264786876 532597538790214823342996693840481336655346437413859581391620933816765578044321530509837215318743410508756745606270061061322126012816400554578828157930215109565363813061280848368150799285252425764405666428002701123967082364571320229054320895943645153305456246573408165973809778663656709494950972266893408275129227235039130089877286618752835805961530241695268379024745530169337259948412997824390641401399734099778060254411395128808266770473709639941332390794817022697610894743187562827638905440876737329190633797009265071317965028398084082564433600331271888498809588149713071943037102558449557554255650202102000192718647944654688575368446563772112180839913958572259678938308026722473173373133019287711005944900759723203079852186292963688248061836556347677374616344740528541632489384936843459936545755164925329263041945303401393425552047958454540898659402307184225106943657697715441198126357895927660151879268087801614926839450831416436275547163621957298330360808839706341316612481436795548921175468553543692123375101565037072002083497696443876014582105565438451788093973834277529494907152712821540633298778789728111437770882080261249862517984552373840081225781485276526005241806109970011519141010427841559065582094558791476780002118586926193242307186351441218407292618767513059189826790829734143417531635702473903309654650249018763389100142733317506364593342626756945077560364952835082124716405721420752235445101288279264610745773488678273083286616287774573808272361436435992325719904707903461408895251293952256175478756441497908253706988802770515223761526517490427619107243510581040802898162891785532972300769800016315475892953784453768061335196273336673117848490421637948499442170713773040246174926723147286304657480295589118997108081824167709319886799320906092399784728503369158160437274725081027231918101545712473351859974106339108648174041147080003808917594378518475311914455402321462386429294492724928858984961538397379183130563978608087279480415880463301550187326720521554908060811774452402342963800884489055964445542315223035064786965430150783094861567793152893702092325860707468463628076719358515269927697440996896527866860189030477973831637525726377659913230772379371474961805634931520632571005640116708105088358523177082929064984774972400241251291533461295744780985448984627023546987548069565454958563019992901145800808001930227301832982062942470642503690989257845100751236957855451630813857840343245481722583301093294628766599793273576585728021908605581752978649902174120069404464323693016728060148539111677236785256400915525082465968126008743060045392285789855378951621581025096097470311612246532752088442240857996280677307159590133509795351254499981280058752147615746355741029585636482828750351151463831634764127496006488575901354960993605476916282224901892008954627674006767203973750452295986455176266377018576060450420230867808426579919316187145314919109494308945158134132341908362524331863160157335084862441051483556985553503022524067962416990897207737726743423677420803856491497644649759391948096946509755190017693255514107224705870276499047985161569165969515115953533130297876634696661725953516214454918368580711341090748114825262234132162795201425443945078147889908871006634655769769235794704104840666188443921207786740003 861760920087108136495609125695692613053367557878797413856090424997798130844116101504275419040947969142914510567371048631794555385489601522208863591427283426562415321281084606881580417875098949485066694767799966647689712140873099714661195654966495814440131741599869903535918569730113343238043500290112534394253827436274696034639220808704111574108415834025844897985969250460781238080513056687217212544773961283745850047087278790966356711958401109458093569592204995202628894542372865476351819210317030998745968642566690441413367666073235971650583259795875290224943556479779355197456486299728006684416332323088973636381984790121871365836361317677255029725971725621015784464763128465804241271539924301510731645684455695303678287008488386946680358467880089108290791011161820924773585617774567207885789654899063000760664152642455792394150564118586621331866003008925884186134384720828710913475267553381490593786224718095920871415570682601649752888473706561915999753435901743101056914271140223633091294741476931199113787922989915773160783934663911158988545358277351951452997589483811581289809959211336645867553981152415674772451967467437394894574291797326016896129281519075574319018038490304750375703768812833862063334688954450961375387260967048007443021327455201366197296040874191508019849264476286297695909709901548745632008446249666968288587930210645032069094372953403895698273893466200097824838194866442013725385884919475234762265662831527503033375646842380518070859720215187404717067518786806495129976553769761676863373118829765613827701343590199435266673349867522264762746845776333603969025809198452843343061416362627782729834381458728909286731891092878357649055336597943816647514749937879192803485340453265520936044086496251035890396436710656997146281995024760671984010932315189858148470664158931925655235687323749898160120875142451551498957325715393582420235741464144861962444937152686923411677557307945134612429118558992837255355755372716679860142496271201119583698415018997412766058286045597471079688601308409568628041366104077520530437007914708825221711290381337372134623169865733471528165205425091416030975950864980957906440039687159661020209431763162145774793511100808086996313088375482560283126716676036720004965147992520432218467473670372588130578224091857292459910336591900057966327423491149942866808034567038825789976608022633216882058339377812620147629533011237365083261704332011934990546997030038777314014732772423628523936381869101364824774417964955326693466936104164049166312480244332149086906397621327711652780479630981893752280523879939387512187108787398349063198555590101648456266416634503329379097281609358271401463774513432528378570628938465294313230610821950703380584958383026643029172218933196058536822667021210942308774227940878091489988528187785036717564099701917357340013301038447399502783380531395156337917416776921243414549593776359869001586335385872075163588439207102715149540301759176922470910943364708850603093045599780606681714836169869468336503654312786406950311785718528577862252093212422640329098128646808742254106938053139947677315969716061413923922421865614039565561121544412232919003603014009192359967799517477271516068906485085405513929661283952207652889874743140109260036027564309574203095482403051526879 1394358458877322959838605819536173949708713995292656995247711358814563708888437632014112634359691379651671256173641109693116681398306002076787691749357498536127779134342365455249731217160351375249472361195802667771656794505444419943715516550910140967745587988173278069509728348393770052732994472557005942669383054671313826124516507427456947380069946075721113277010714780630118498028926054511607853946173695383523910301498673919774623482432110749399425960387022017900239789285560428303990724651193768327936602439575955512731332694471320054215016860127147178723753144629492427140493588858177564238671982525190973829100632734776559941204807881449367210565885684193275463403071155188277414644672943589221737590585215418506758139194781350634928420304436436785665407355902349466406075002711410667822335410063988330023706097945857185819702612077041162230525405316110109293078042418544152111601625449309150745665492805897535798255021514018086028435637328519214330114244741449442373526752577019182012470210030474891237163024554952845162867432360355035003127463842790403241091563318089110784717111924158186500852759942143786210222849547698644757092276349699856977355063004352100324259844600274761894844779240675421128916783513242438155389379553974200685328513806642584604588659641704567209676055306020441113441345604022648941663096498685731677688072943962538433687715580160840775834258419035179949554600587862765960830986207754499373011436320205776116662263130155091879132081651623397042787423494709956538871805063713933038851875271263522081408332392969950490434876385012692381854089286914644771923972090238376315362186162644098205727335243182677348067087366215030766903827019581765146956920651652233049660267176412807240701566791840154887504518534824706466168794345666764383795660818559016308907938884012952887153788869462371511980849248790660147131366862473586229153335842663337274359392555008385798106851800670063471414080097390216438486319351324767139622912151664421133885741739518967674119097820049873422652402192898624592486908419300555595223973344859608316572858174490265836715495726440939991793282144449931300903648305977854434306899876190138994041069288888523434706741873187458471274894010414080915697722316153428110053506515697515147532458445344988371829515625318588204691322040884684989874411039219508321766597587031726935777416024563444183891321440755090790133224000495210184012941289867386621360854870382022795737316073516923152702981662374941410502439873560908446445586006338169235716944568025165814966546160439388889565736031897418834746492005948130572232501073188204442150177171126744553736728246749862131185723850216267682141081673022661888365980192965275593289362969566449736325987968663125857922570084659890171586794517217430884675582901871696966904810412686928726518727375924124543987051490743385957959646908413732398367837007789051841129513092547014316505444880181020321722571549011077673872164919334257555773384416192407588646548622304674644131827067077206063247077990207210806803283363178337254200190158932395519115821902322849478812808329638995662477538882030929039875954995911916200257783270365749133458521382589903701058547632302533750201069280286830957874739431842116523896509398909878495830731669150240391539403610838266882 2256119378964431096334214945231866562762081553171454409103801783812361839732553733518388053400639348794585766741012158324911236783795603598996555340784781962690194455623450062131311635035450324734539055963602634419346506646317519658376712205876636782185719729773147973045646918123883395971037972847118477063636882107588522159155728236161058954178361909746958174996684031090899736109439111198825066490947656667269760348585952710740980194390511858857519529979227013102868683827933293780342543861510799326682571082142645954144700360544556025865600119923022468948696701109271782337950075157905570923088314848279947465482617524898431307041169199126622240291857409814291247867834283654081655916212867890732469236269671113810436426203269737581608778772316525893956198367064170391179660620485977875708125064963051330784370250588312978213853176195627783562391408325035993479212427139372863025076893002690641339451717523993456669670592196619735781324111035081130329867680643192543430441023717242815103764951507406090350950947544868618323651367024266193991672822120142354694089152801900692074527071135494832368406741094559460982674817015136039651666568147025873873484344523427674643277883090579512270548548053509283192251472467693399530776640521022208128349841261843950801884700515896075229525319782306738809351055505571394573671542748352699966276003154607570502782088533564736474108151885235277774392795454304779686216871127229734135277099151733279150037909972535609949991801866810801759854942281516451668848358833475609902224994101029135909109675983169385757108226252534957144600935063248248740949781288691219658423602525271880935561716701911586634798978459093388415959163617525581794471670589531425853145607629678328176745653288091190777900955245481703612450789370427436367806593133748874457378603042944878542389476193212269672101724391242211646088692577867168649389077306808199236804329707695309209784409108615198083843198656383053693842074724041446999765408422865540717584156758516380440177383865647344502341003501308193220528274523378076125660981259568433538284148555827637971338665592174411519958487569541347331879599170958812340746939563349800014250501052050669209500252973995545467587982385896641198824438992190148115018654508217947365999932115717576502407739717175880664601658632784742956201834530369451188574632154070552725754024047196661065949660818567710937762757011732575267274645621879321611907851900420800109752048845940551676639363531476306235276857838516235139912522110502218402029424812357314901872943781767100542346215662879312587027015885887518084419609860586553505348732761228393010003144881253191510283005459574539083604856186455190266936609131430569906519973791517153116910946351689768887094789017855948708409461538428373193449810842749788456893338600471965444082827077841481884000352529190785460743027439808888736285253784710295255679106868906883318091780266053095485311010756113792823412466678511180026684327780901258191739594222085281325846663236946674399750732302993617757115069081706915116452283371355035848213950549131591732919746382778943339793508598092342963798376861525955765818904814777982052462124396599096061026347149779805266269975765372236471804400715794324176786384142049987755866759233459814594634886013889793761 3650477837841754056172820764768040512470795548464111404351513142626925548620991365532500687760330728446257022914653268018027918182101605675784247090142280498817973589965815517381042852195801699984011417159405302191003301151761939602092228756786777749931307717946426042555375266517653448704032445404124419733019936778902348283672235663618006334248307985468071452007398811721018234138365165710432920437121352050793670650084626630515603676822622608256945490366249031003108473113493722084333268512704567654619173521718601466876033055015876080080616980050169647672449845738764209478443664016083135161760297373470921294583250259674991248245977080575989450857743094007566711270905438842359070560885811479954206826854886532317194565398051088216537199076752962679621605722966519857585735623197388543530460475027039660808076348534170164033555788272668945792916813641146102772290469557917015136678518451999792085117210329890992467925613710637821809759748363600344659981925384641985803967776294261997116235161537880981588113972099821463486518799384621228994800285962932757935180716119989802859244183059653018869259501036703247192897666562834684408758844496725730850839407527779774967537727690854274165393327294184704321168255980935837686166020074996408813678355068486535406473360157600642439201375088327179922792401109594043515334639247038431643964076098570108936469804113725577249942410304270457723947396042167545647047857334984233508288535471939055266700173102690701829123883518434198802642365776226408207720163897189542941076869372292657990518008376139336247543102637547649526455024350162893512873753378929595973785788687915979141289051945094263982866065825308419182862990637107346941428591241183658902805874806091135417447220079931345665405473780306410078619583716094200751602253952307890766286541926957831429543265062674641184082573640032871793220059440340754878542413149471536511163722262703695007891260909285261555257278753773270132328394075366214139388320574529961851469898498035348114296481685697217924993405694206817813015182942678631720884954604428041854857006730317903808054161318615351511751769713991278632783247476936666775053839439539939008291570340939192644206994847183003938862876396310722114522161308343576225072161023915462513532390561062564874237255342494468869292980673669427946076245569588959510341229741102279661531440071760105249840982259322801727895981012227785451287586911746708233268706770802822905489364919457474829342345193851247645779297712077143586358108116840387637746369380382480716839489942206489431911951694776731421773507891835648656652110933774757947498909932355137563739873128003053641468729309790806765745937859477852155302589324395845499809336761083602853236934320352894745017359102515838879996256055645804078125393744621485423798149013158894170601554453765606427987404019934171418702674348222621134653090792499347096808619961453897634597225146234115807033582305124870497284631597845437582457712197093665780386142844389955969978490304023880462997810293200828563918352444885252370652473530287431367329772451454441211732554712417939002271047480123272003674331857437871966076688085143731185920645779188999762084894782082339016471045045659067429679140147636440700682893540959866251697490902610054986174289624728060643 5906597216806185152507035709999907075232877101635565813455314926439287388353545099050888741160970077240842789655665426342939154965897209274780802430927062461508168045589265579512354487231252024718550473123007936610349807798079459260468940962663414532117027447719574015601022184641536844675070418251242896796656818886490870442827963899779065288426669895215029627004082842811917970247804276909257986928069008718063430998670579341256583871213134467114465020345476044105977156941427015864675812374215366981301744603861247421020733415560432105946217099973192116621146546848035991816393739173988706084848612221750868760065867784573422555287146279702611691149600503821857959138739722496440726477098679370686676063124557646127630991601320825798145977849069488573577804090030690248765396243683366419238585539990090991592446599122483142247408964468296729355308221966182096251502896697289878161755411454690433424568927853884449137596205907257557591083859398681474989849606027834529234408800011504812220000113045287071939064919644690081810170166408887422986473108083075112629269868921890494933771254195147851237666242131262708175572483577970724060425412643751604724323752051207449610815610781433786435941875347693987513419728448629237216942660596018616942028196330330486208358060673496717668726694870633918732143456615165438089006181995391131610240079253177679439251892647290313724050562189505735498340191496472325333264728462213967643565634623672334416738083075226311779115685385245000562497308057742859876568522730665152843301863473321793899627684359308722004651328890082606671055959413411142253823534667620815632209391213187860076850768647005850617665044284401807598822154254632928735900261830715084755951482435769463594192873368022536443306429025788113691070373086521637119408847086056765223665144969902709971932741255886910856184298031275083439308752018207923527931490456279735747968051970399004217675670017900459639100477410156323826170468799407661139153728997395502569054055256551728554473865551344562427334409195515011033543457466056707846545935863996475393141155286145541779392826910789763031710257283532625964662846647895479115800779002889739022542071392989861853707247821178549406450858782207363313346600300533724340090815532133409879532322676780141376644995059670349533894639306454170902278080099958410698915861895172832387285464118956766315790643077890512665658738023960360718562232533626029845176558671223623015241413765398026505981708725327553881056155550593378726270630227342606039775794192739795618712433723973589974258167357656044008800523777723166741071720794361311452847642693583530573743018009256245151751734769365345849350794045933042422239198455826415406329310552600755970147880672042663632112148120371787588405717594074177271575204587371273880691487613630859614684381531607088311987756549124956879445701788031509870938344577209642352487726830360780952689005412287211292344593061238663320697098276356617609142039977994923972125737066475237295825153540970554862748542596194446321033421526592167487104756901642467215543723000586032944652301095196882342064556078215614967472708718963827731895592899921713238382770175788095823111241931862144282741020811031303901483540863430764877469277683009854007564250136069869580809175638617854404 9557075054647939208679856474767947587703672650099677217806828069066212936974536464583389428921300805687099812570318694360967073147998814950565049521069342960326141635555081096893397339427053724702561890282413238801353108949841398862561169719450192282048335165666000058156397451159190293379102863655367316529676755665393218726500199563397071622674977880683101079011481654532936204386169442619690907365190360768857101648755205971772187548035757075371410510711725075109085630054920737949009080886919934635920918125579848887896766470576308186026834080023361764293596392586800201294837403190071841246608909595221790054649118044248413803533123360278601142007343597829424670409645161338799797037984490850640882889979444178444825556999371914014683176925822451253199409812997210106351131866880754962769046015017130652400522947656653306280964752740965675148225035607328199023793366255206893298433929906690225509686138183775441605521819617895379400843607762281819649831531412476515038376576305766809336235274583168053527178891744511545296688965793508651981273394046007870564450585041880297793015437254800870106925743167965955368470150140805408469184257140477335575163159578987224578353338472288060601335202641878691834587984429565074903108680671015025755706551398817021614831420831097360107928069958961098654935857724759481604340821242429563254204155351747788375721696761015890973992972493776193222287587538639870980312585797198201151854170095611389683438256177917013608239568903679199365139673833969268084288686627854695784378732845614451890145692735448058252194431527630256197510983763574035766697288046550411605995179901103839218139820592100114600531110109710226781685144891740275677328853071898743658757357241860599011640093447953882108711902806094523769689956802615837871011101038364655989951686896860541401476006318561552040266871671307955232528811458548678406473903605751272259131774233102699225566930927185721194357756163929593958498862874773875278542049571925464420523953754587076668770347237041780352327814889721828846558640408735339567430890468424517247998162016463445587446988229405114543462026997523904597446094124832145890854618442429678030833641733929054497914242668361553345313735178518085427868761608877300565162976556048872393064713237842706250882250402164818403187619980123598848354325669547370209257091636275112048816904190716871565631625337213314393554719036188146169849819445372738078445265442026445920730778684855501335324053919178801526835453262670522312628738344182993677522163573122276335551923666180079406170119052432775430574031669558815397723831728136069400346552625938668137482891137259298793220464079156152615096731905410894577541787780222260906138647313684358823384814992395558377129507222887626468401973649719981349700598331992759304489636626789753785285935985372694739975160569059128298148376136254131005591435369708989449296346791814678587286230558521327099378175366363533817981729874202055191599752175088589752511879910865193265803643844994435325746352889395274884951773971477419857757230431929898582873495452040474156384855807614821344335603558338886971147040576401699697972280985065444424303415954977095585196136713944483299212065856690371331162681011067205578152171223969720259261741038679924566983465263345915047 15463672271454124361186892184767854662936549751735243031262142995505500325328081563634278170082270882927942602225984120703906228113896024225345851951996405421834309681144346676405751826658305749421112363405421175411702916747920858123030110682113606814165362613385574073757419635800727138054173281906610213326333574551884089169328163463176136911101647775898130706015564497344854174633973719528948894293259369486920532647425785313028771419248891542485875531057201119215062786996347753813684893261135301617222662729441096308917499886136740291973051179996553880914742939434836193111231142364060547331457521816972658814714985828821836358820269639981212833156944101651282629548384883835240523515083170221327558953104001824572456548600692739812829154774891939826777213903027900355116528110564121382007631555007221643992969546779136448528373717209262404503533257573510295275296262952496771460189341361380658934255066037659890743118025525152936991927467160963294639681137440311044272785376317271621556235387628455125466243811389201627106859132202396074967746502129082983193720453963770792726786691449948721344591985299228663544042633718776132529609669784228940299486911630194674189168949253721847037277077989572679348007712878194312120051341267033642697734747729147507823189481504594077776654764829595017387079314339924919693347003237820694864444234604925467814973589408306204698043534683281928720627779035112196313577314259412168795419804719283724100176339253143325387355254288924199927636981891712127960857209358519848627680596318936245789773377094756780256845760417712862868566943176985178020520822714171227238204571114291699294990589239105965218196154394112034380507299146373204413229114902613828414708839677630062605832966815976418552018331831882637460760329889137474990419948124421421213616831866763251373408747574448462896451169702583038671837563476756601934405394062031008007099826203501703443242600945086180833458233574085917784669331674181536417695778569320966989578009011138805223244212788386342779662224085236839880102097874792047413976826332420992641139317302608987366839815140194877575172284281056530562108940772727625006655397445319417053375713126918916351621490489540102751764593960725448741215361909411024905253792088182282272597035914622847627527245461835167937082259286577769750632405769505780908172953531447944436102368309673637881422268415103827059213457060148506888412051978998767923621824113250068935972192450253527841305762644506355407891608813263901038899368571525599717297957765862071954264357390153669380428286410088819439374555447281982138795552522497380853194195319522198711225909146515543944972198848521498464447525951343936999780986236048676312467957866285114793532695664438222009241655343259414056807691243794158621275802919364033185181124240420613399970317516979783051962917118184085177594077924285640876529779946918631801784073622175459539975235970808538391722768427602197138678828150558672800741792153083513724637616977340430561628797385964990188494895485589721205985195498069587344861987333572365798417218452626507101037156902811703686400159636554501938619749295365527429867873884987157662686186130765191408307378645806627581953086667721675232646221874497970455621448906979574266825991174749794147792640901963769451 25020747326102063569866748659535802250640222401834920249068971064571713262302618028217667599003571688615042414796302815064873301261894839175910901473065748382160451316699427773299149166085359474123674253687834414213056025697762256985591280401563799096213697779051574131913817086959917431433276145561977529856010330217277307895828363026573208533776625656581231785027046151877790379020143162148639801658449730255777634296180991284800958967284648617857286041768926194324148417051268491762693974148055236253143580855020945196814266356713048477999885260019915645208339332021636394406068545554132388578066431412194448869364103873070250162353393000259813975164287699480707299958030045174040320553067661071968441843083446003017282105600064653827512331700714391079976623716025110461467659977444876344776677570024352296393492494435789754809338469950228079651758293180838494299089629207703664758623271268070884443941204221435332348639845143048316392771074923245114289512668852787559311161952623038430892470662211623178993422703133713172403548097995904726949019896175090853758171039005651090519802128704749591451517728467194618912512783859581540998793926924706275874650071209181898767522287726009907638612280631451371182595697307759387023160021938048668453441299127964529438020902335691437884582834788556116042015172064684401297687824480250258118648389956673256190695286169322095672036507177058121942915366573752067293889900056610369947273974814895113783614595431060338995594823192603399292776655725681396045145895986374544412059329164550697679919069830204838509040191945343119066077926940559213787218110760721638844199751015395538513130409831206079818727264503822261162192444038113480090557967974512572073466196919490661617473060263930300660730234637977161230450286691753312861431049162786077203568518763623792774884753893010014936718041373890993904366374935305280340879297667782280266231600436604402668809531872271902027815989738015511743168194548955411696237828141246431410101962765725881892014560025428123131990038974958668726660738283527386981407716800845509889137479319072432954286803369599992118634311278580435159555034897559770897510015887749095084209354860847970849535733157901656097078329139243534169084123518288325470416768644231154665661749152465553878409495863999986340269879266701368598986731439053151117430045167723056484919272500390509447053893752317141452768176096336653058261871424371506002067089555276514856702971135109029176629816563685156934727062075934423351528106915708593394820121338984348289816281056333748786598405462521594869948587116840797536519384250633450253540747945460866848708800283774842738192662927677651079544257856754831577322774016270937218606605179969473616917510656833780386371162566147040525209664893514139970976401251356792489670760867210367185256253502352477791938077687243213475742454060539771882121215316627621251080420413990138127261466529329865491100943793965730956660558024760727992341544328172103477149496888205623827432441230959425514241248374984996090936969469547007202619217765502264381290713904666981257422012710426525030735763194893388909766789871767227127840154870052602086989602085742286993503515359751110881165152524412046563808902885565176033773620130949294526087732213429718714776106165309684498 40484419597556187931053640844303656913576772153570163280331114060077213587630699591851945769085842571542985017022286935768779529375790863401256753425062153803994760997843774449704900992743665223544786617093255589624758942445683115108621391083677405910379060392437148205671236722760644569487449427468587743182343904769161397065156526489749345444878273432479362491042610649222644553654116881677588695951709099742698166943606776597829730386533540160343161572826127313539211204047616245576378867409190537870366243584462041505731766242849788769972936440016469526123082271456472587517299687918192935909523953229167107684079089701892086521173662640241026808321231801131989929506414929009280844068150831293296000796187447827589738654200757393640341486475606330906753837619053010816584188088008997726784309125031573940386462041214926203337712187159490484155291550754348789574385892160200436218812612629451543378196270259095223091757870668201253384698542084208408929193806293098603583947328940310052448706049840078304459666514522914799510407230198300801916766398304173836951891492969421883246588820154698312796109713766423282456555417578357673528403596708935216174136982839376572956691236979731754675889358621024050530603410185953699143211363205082311151176046857112037261210383840285515661237599618151133429094486404609320991034827718070952983092624561598724005668875577628300370080041860340050663543145608864263607467214316022538742693779534178837883790934684203664382950077481527599220413637617393524006003105344894393039739925483486943469692446924961618765885952363055981934644870117544391807738933474892866082404322129687237808120999070312045036923418897934295542699743184486684503787082877126400488175036597120724223306027079906719212748566469859798691210616580890787851850997287207498417185350630387044148293501467458477833169211076474032576203938412061882275284691729813288273331426640106106112052132817358082861274223312101429527837526223136948113933606710567398399679971776864687115258772813814465911652263060195508606762836158319434395384543133266502530276796621681420321126618509794869693806595559636965721663975670287395904165413333068512137585067987766887201157223647441758848842923099968982910299485427699350375670560732413436938258785067088401505936741325835154277352138553279138349619137208558932025602998699171000921021640810064147328476162167420968511981633156485159946673923403370273925688913668526583792675163585362557017935579208191512342618670889198324390427475487234193112118079104846420244080638446487418167026691872610414309323142564122779675314936773130831106734943264983065559934709430290386683164861776199149543991783808098768577103760252319613531074563046254588410450206321272002395612817909406454582017356137308298592252204170720825674851885107630980585226571019332260843900994805427298653336531984825412758650995263546253052864494036165597667236702500138403882823712221567928095339386175319400793083336481255617201787113865546054389061238616924415702736143860574717296922164967616594547481205099074630179707932357293488358459169613238228717135922831447890848386539167132754557708028755039759749675788216507478401810894005557738463118239192133721796455124760063146489395069037928868792913723388179512862568747067273453949 65505166923658251500920389503839459164216994555405083529400085124648926849933317620069613368089414260158027431818589750833652830637685702577167654898127902186155212314543202223004050158829024697668460870781090003837814968143445372094212671485241205006592758171488722337585053809720562000920725573030565273038354234986438704960984889516322553978654899089060594276069656801100434932674260043826228497610158829998475801239787767882630689353818188778200447614595053507863359621098884737339072841557245774123509824439482986702546032599562837247972821700036385171331421603478108981923368233472325324487590384641361556553443193574962336683527055640500840783485519500612697229464444974183321164621218492365264442639270893830607020759800822047467853818176320721986730461335078121278051848065453874071560986695055926236779954535650715958147050657109718563807049843935187283873475521367904100977435883897522427822137474480530555440397715811249569777469617007453523218706475145886162895109281563348483341176712051701483453089217656627971913955328194205528865786294479264690710062531975072973766390948859447904247627442233617901369068201437939214527197523633641492048787054048558471724213524705741662314501639252475421713199107493713086166371385143130979604617345985076566699231286175976953545820434406707249471109658469293722288722652198321211101741014518271980196364161746950396042116549037398172606458512182616330901357114372632908689967754349073951667405530115264003378544900674130998513190293343074920051149001331268937451799254648037641149611516755166457274926144308399101000722797058103605594957044235614504926604073145082776321251408901518124855650683401756556704892187222600164594345050851638972561641233516611385840779087343837019873478801107836959921660903272644100713282046449993575620753869394010836923178255360468492769887252450365026480570313347367162616163989397595568539563027076710508780861664689629984889090213050116941271005720772092359810171434851813829809781934542590569007273332839242589043642302035154177333423574441846821376792259934112012419414275940753853275413421879394861812440906838217400881219010567847166801675429220817607221794422848614858050692956805343414945921252239212517079383608945987675846087329376644591603920534219553955384346237189835140617622017819980506948605868647612083143033043866894057405940913310454656775530055919738109964749809252821813004935794827741779927756003223803098649378134720471586194565395771876669277345732965132747741955582402942786506938200443830768533896919502821166953625097335132009179271729680963577211834321023764281360275691210443932408643509714065229421357524703876800623536041664853600154426534268590550749681168226224062027367716978105782781983980475553495107227021030822438563228605422077618164522645974841347770482824521684738635839072492670512129078986045365184640772210580173874303944914450155735794498169029468269373924656015533659051999944200080128785424880809427720678936610753751678216493679847883841216977392235559713387859134437163601750100422864576894560998646261960469615881182323664753747871686026341279758153329038899981685548183625092361836665390302249765395314409365308849344283391716545768360264027645628322523168689168878163319001455601609231577344853232583138447 105989586521214439431974030348143116077793766708975246809731199184726140437564017211921559137175256831701012448840876686602432360013476565978424408323190055990149973312386976672708951151572689921213247487874345593462573910589128487202834062568918610916971818563925870543256290532481206570408175000499153016220698139755600102026141416006071899423533172521539956767112267450323079486328376925503817193561867929741173968183394544480460419740351728938543609187421180821402570825146500982915451708966436311993876068023945028208277798842412626017945758140052854697454503874934581569440667921390518260397114337870528664237522283276854423204700718280741867591806751301744687158970859903192602008689369323658560443435458341658196759414001579441108195304651927052893484298954131132094636036153462871798345295820087500177166416576865642161484762844269209047962341394689536073447861413528104537196248496526973971200333744739625778532155586479450823162168159091661932147900281438984766479056610503658535789882761891779787912755732179542771424362558392506330782552692783438527661954024944494857012979769014146217043737156000041183825623619016296888055601120342576708222924036887935044680904761685473416990390997873499472243802517679666785309582748348213290755793392842188603960441670016262469207058034024858382900204144873903043279757479916392164084833639079870704202033037324578696412196590897738223270001657791480594508824328688655447432661533883252789551196464799467667761494978155658597733603930960468444057152106676163330491539180131524584619303963680128076040812096671455082935367667175647997402695977710507371009008395274770014129372407971830169892574102299690852247591930407086849098132133728765373049816270113732110064085114423743739086227367577696758612871519853534888565133043737201074037939220024397881071471756827926970603056463526839059056774251759429044891448681127408856812894453716816614892913797506988067750364436362218370798843246995229307924105041562381228209461906319455256122532105653057054955294565095349685940186410600166255772176803067378514949691072562435273596540040389189731506247502397854366602882986238134562705840842553886119359379490836381745251850180452785173794764175339181499989683094373687026221757890109058028542179319286642356890282978515670294894974156373259645298225005856171015168636042566065058326962554120518804104006218087159078476731442409306972951609718231112053853444916892329682442053298305834143212500974980068181619964403854331072132383057890176979619056279548677188777977557949308585120651789207742423488594872245086356887149257796895112467010634475426997968578219144355616104522386480075950167527825472952368731530294520910164280755731272478650437817923299377785177596798384959949689244377168130737155480809592798443839374531082472328355709395541016999479740067298097810782415518030190597399423205843720127356809408486321333461734871529606673256748368237101587147339330375399529578508217290683337880723724619297732605554918464808256919713536096134430684781299404780196297581627963651524740706578619253957974340351936902982465007608857789170606539868206032736243256212380132121586341178518757243797125303370866587807401630908679490156719152405691469012563758206807032111915178989788744439913600299856592396 171494753444872690932894419851982575242010761264380330339131284309375067287497334831991172505264671091859039880659466437436085190651162268555592063221317958176305185626930178895713001310401714618881708358655435597300388878732573859297046734054159815923564576735414592880841344342201768571328900573529718289259052374742038806987126305522394453402188071610600551043181924251423514419002636969330045691172026759739649769423182312363091109094169917716744056802016234329265930446245385720254524550523682086117385892463428014910823831441975463265918579840089239868785925478412690551364036154862843584884704722511890220790965476851816759888227773921242708375292270802357384388435304877375923173310587816023824886074729235488803780173802401488576049122828247774880214760289209253372687884218916745869906282515143426413946371112516358119631813501378927611769391238624723357321336934896008638173684380424496399022471219220156333972553302290700392939637776099115455366606756584870929374165892067007019131059473943481271365844949836170743338317886586711859648338987262703218372016556919567830779370717873594121291364598233659085194691820454236102582798643976218200271711090936493516405118286391215079304892637125974893957001625173379871475954133491344270360410738827265170659672956192239422752878468431565632371313803343196765568480132114713375186574653598142684398397199071529092454313139935136395876460169974096925410181443061288356122629288232326741218601994914731671140039878829789596246794224303543364108301108007432267943338434779562225768915480435294533315738240979854183936090464233751602997653021946121875935612468419852790450623816873348294748224785701447408952484117629687013692477184580404345611457503630343495904864201767580758959706168685533718534532423126178989278415090187194649658693089418408717994650012188395463372943715977204085537344565106796207507612670525004425352457480793527123673775462196618052639454649412335312069848967767321667734276476414195058019243840862045825129805438492299643998936867130503863273609985042013077148969063001490527369105348503189126871953462268584593318688409236071767484101996805981729507516271774703726581173913684996603302543137258128588740685427578394017069066703319674702067845219485702620146099853506196312274629215705505435512596174193240152246830874503783098311669086432959115732903467430973460879536274006897188441481251662128785956545513058853833781200920116132781091431433026305729407066370751944850897310136819463819874338640293119766125994479992507957311874477452129752074276886542874432667866601926049934098983578820659393827286325685870930377221728858420845525879911183952750791063867137805968885956828789500715030436899498702712465185640277483567959580778860513444796471398198953175718709415014876062003897177057313676126192220062701738115579139790768322911494504075555782040195416423894001660754322936477069256233040559074942630673024252635246199339274575479658363933098100111058559660335373049410822048598312692098136690928331694144072640433841943798047682050828228419301705224881214427590221534260567736212879294884130450364693197244932717928804396005224483423006568821007009192439712736175437151685022625225258516983180051319791535732447375685195430916634591397976017258453532439730843 277484339966087130364868450200125691319804527973355577148862483494101207725061352043912731642439927923560052329500343124038517550664638834534016471544508014166455158939317155568421952461974404540094955846529781190762962789321702346499880796623078426840536395299340463424097634874682975141737075574028871305479750514497638909013267721528466352825721244132140507810294191701746593905331013894833862884733894689480823737606576856843551528834521646655287665989437415150668501271391886703169976259490118398111261960487373043119101630284388089283864337980142094566240429353347272120804704076253361845281819060382418885028487760128671183092928492201984575967099022104102071547406164780568525181999957139682385329510187577147000539587803980929684244427480174827773699059243340385467323920372379617668251578335230926591112787689382000281116576345648136659731732633314259430769198348424113175369932876951470370222804963959782112504708888770151216101805935190777387514507038023855695853222502570665554920942235835261059278600682015713514762680444979218190430891680046141746033970581864062687792350486887740338335101754233700269020315439470532990638399764318794908494635127824428561086023048076688496295283634999474366200804142853046656785536881839557561116204131669453774620114626208501891959936502456424015271517948217099808848237612031105539271408292678013388600430236396107788866509730832874619146461827765577519919005771749943803555290822115579530769798459714199338901534856985448193980398155264011808165453214683595598434877614911086810388219444115422609356550337651309266871458131409399600400348999656629246944620863694622804579996224845178464640798888001138261200076048036773862790609318309169718661273773744075605968949316191324498045933536263230477147403942979713877843548133924395723696632309442806599066121769016322433976000179504043144594118816866225252399061351652413282165351934510343738566689259703606120389819085774553682868692214762550975658381517976576286228705747181501081252337544145356698954231432225853549213796395642179332921145866068869042318796421065624400468493502657774324824935911633926134086984983044116292213357114328589845940553404521378348554393317710913762535449602917575517058749797693361728289603109594760648688279172792838669164912194221175730407570330566499797545055880359954113480305128999024174059866021551492264983542492094056266918212694071435758908155231289965887634645837008462463533484731332139872619567345732013032517274540673794892006721698183296745745050759541185146089852035401438337194928675750616856156461474171136290986132836617554506294296960161297928345799948002776461630402297664028700958591692610758337617487123310410879311192630771181362903003563576861353137177577245473394485715775367083912874190224607674505843271708139786004481901615603718737595319207088866133693910022105746379439618622267614129017563731422798402717967912088681615887421392489736833346678604950879187942441315390794396440384059992347143427603516777500355056404464427828574757421733246723994345263678791879944042411803500468385564561886197470718677886903741919620971233065450965454172060608385356605009347747339764252989565016107042024959086653533904748673702332457011260548296205582492227542831813581186720457172053832296323239 448979093410959821297762870052108266561815289237735907487993767803476275012558686875903904147704599015419092210159809561474602741315801103089608534765825972342760344566247334464134953772376119158976664205185216788063351668054276205796927530677238242764100972034755056304938979216884743713065976147558589594738802889239677716000394027050860806227909315742741058853476115953170108324333650864163908575905921449220473507029759169206642637928691564372031722791453649479934431717637272423424500810013800484228647852950801058029925461726363552549782917820231334435026354831759962672168740231116205430166523782894309105819453236980487942981156266123227284342391292906459455935841469657944448355310544955706210215584916812635804319761606382418260293550308422602653913819532549638840011804591296363538157860850374353005059158801898358400748389847027064271501123871938982788090535283320121813543617257375966769245276183179938446477262191060851609041443711289892842881113794608726625227388394637672574052001709778742330644445631851884258100998331565930050079230667308844964405987138783630518571721204761334459626466352467359354215007259924769093221198408295013108766346218760922077491141334467903575600176272125449260157805768026426528261491015330901831476614870496718945279787582400741314712814970887989647642831751560296574416717744145818914457982946276156072998827435467636881320822870768011015022921997739674445329187214811232159677920110347906271988400454628931010041574735815237790227192379567555172273754322691027866378216049690649036157134924550717142672288578631163450807548595643151203398002021602751122880233332114475595030620041718526759389023673702585670152560165666460876483086502889574064272731277374419101873813517958905257005639704948764195681936366105892867121963224111590373355325398861215317060771781204717897348943895481247230131463381973021459906674022177417707517809415303870862240464721900224173029273735186888994938541182529872643392657994390771344247949588043546906382142982637656342953168299356357412487406380684192410070114929070359569687901769568813527340446964926358918143624320869997901571086979850098021720873386103293572521727318206374951856936454969042351276135030495969534127816501013036430357448329080463268834379026299034981439541409926681165920166504759739949791886754863737211791974215431983289792769488982465725863078766100953455359693945733564544864700744348819721415846757124595244624916164358445602026633716483957883414584677493258711881060338476416511871045239533693103401726512853568089269205562293491288824328076097186225085116415438213900121583285847168858723021676861197307156282208847981451749655559748564306503443952099911594341629530269884075368189203854344921096758356105986839282187173566037088592899639622550567847168885197099680608093835666420475710898346879634456605404526181302161479814038691508130678318054359275471974200952647756558518094416742372079546017879526358846306374413490905455000044395365396554249652115090192453193095392759522718830062167088667792392945729620108363344117028381682813154783420458038454890766198626050071335926262695898172100865004390581088432354316160771262182004728843217462110771676159130007190685512508331052084028652958177422973748448172584696474430507364736054082 726463433377046951662631320252233957881619817211091484636856251297577482737620038919816635790144526938979144539660152685513120291980439937623625006310333986509215503505564490032556906234350523699071620051714997978826314457375978552296808327300316669604637367334095519729036614091567718854803051721587460900218553403737316625013661748579327159053630559874881566663770307654916702229664664758997771460639816138701297244636336026050194166763213211027319388780891064630602932989029159126594477069503918882339909813438174101149027092010751641833647255800373429001266784185107234792973444307369567275448342843276727990847940997109159126074084758325211860309490315010561527483247634438512973537310502095388595545095104389782804859349410363347944537977788597430427612878775890024307335724963675981206409439185605279596171946491280358681864966192675200931232856505253242218859733631744234988913550134327437139468081147139720558981971079831002825143249646480670230395620832632582321080610897208338128972943945614003389923046313867597772863678776545148240510122347354986710439957720647693206364071691649074797961568106701059623235322699395302083859598172613808017260981346585350638577164382544592071895459907124923626358609910879473185047027897170459392592819002166172719899902208609243206672751473344413662914349699777396383264955356176924453729391238954169461599257671863744670187332601600885634169383825505251965248192986561175963233210932463485802758198914343130348943109592800685984207590534831566980439207537374623464813093664601735846545354368666139752028838916282472717679006727052550803798351021259380369824854195809098399610616266563705224029822561703723931352636213703234739273695821198743782934005051118494707842762834150229755051573241211994672829340309085606744965511358035986097051957708304021916126893550221040331324944074985290374725582198839246712305735373829830989683161349814214600807153981603830293419092820961442677807233397292423619051039512367347630476655335225047987634480526783013041907399731582210961701202776326371742991260795139228612006698190634437927808940467584133242968560232503924035658071962894214313934230500431883418462280722727753300411329772679956113811584633413545051186566298706398158647051438675223917522658199091873650604453604147856896327736835326239747336942635223691325272279344431007463852635510533957990846621258195009722277906639805000303772855975638785609050492594133057708158400895690585474646201062215970915931859218167053603887782036659713257616095999074878249491578548255006426464134238044108144980789550268322516071249252055768406415880246008466787068821624863973768786684506512010152708247252359322644120931075410322473652822161041065438271192767431206274233935933351460233767902948933121001467089864230225073690440593336885685089995451270139213306217553968500590299314548287048540919432660959122259695881785782073874692168864736438174405515809232108912892696484477238034248815728881699851440428455357743697677255631867692808249499857187351293587483900335391786738209408411988307386528831882151198719345306655509173568653102367969692307159328146863626272925612775937693441702063500535515171569744950259487069858329693034755864387844965342312632324858540669650516580261753771416931602561197032377321 1175442526788006772960394190304342224443435106448827392124850019101053757750178725795720539937849125954398236749819962246987723033296241040713233541076159958851975848071811824496691860006726642858048284256900214766889666125430254758093735857977554912368738339368850576033975593308452462567869027869146050494957356292976994341014055775630187965281539875617622625517246423608086810553998315623161680036545737587921770751666095195256836804691904775399351111572344714110537364706666431550018977879517719366568557666388975159178952553737115194383430173620604763436293139016867197465142184538485772705614866626171037096667394234089647069055241024448439144651881607917020983419089104096457421892621047051094805760680021202418609179111016745766204831528097020033081526698308439663147347529554972344744567300035979632601231105293178717082613356039702265202733980377192225006950268915064356802457167391703403908713357330319659005459233270891854434184693357770563073276734627241308946307999291846010703024945655392745720567491945719482030964677108111078290589353014663831674845944859431323724935792896410409257588034459168418977450329959320071177080796580908821126027327565346272716068305717012495647495636179250372886516415678905899713308518912501361224069433872662891665179689791009984521385566444232403310557181451337692957681673100322743368187374185230325534598085107331381551508155472368896649192305823244926410577380201372408122911131042811392074746599368972061358984684328615923774434782914399122152712961860065651331191309714292384882702489293216856894701127494913636168486555322695702007196353042862131492705087527923573994641236308282231983418846235406309601505196379369695615756782324088317847206736328492913809716576352109135012057212946160758868511276675191499612087474582147576470407283107165237233187665331425758228673887970466537604857045580812268172212409396007248697200970765118085463047618703504054466448366556148331672745774579822296262443697506758118974724604923268594894016623509420669384860568030938568374188609157010564153061375724209588181694599960203251455149387432510492161112184553373921937229158942744312335655103886535176990984008040934128252268266227648998465087719663909514585314382799719434589004499767755687186357037225390908632043995014074538062247903340085979697128829390087428537064253559862990753645404999516423716709700024295963177637600585538564848637556719987605330466339351257652952783317060049031076672834778699928799346443895660312315768842375136129769487141238608571352893305061108574515733339800337599433805117626365508741156365667493982306537463531855635645791843301725171075942966715359991604457902812107886950624375027510234067994451691310949513639381971285551195330694289457447073050090122499158090059989503852775641537609478533985365698089286936559689017115900848135046904719074468350702399246699650630390374199840141349346666369817384194732923610225974480992438714364003596880555190142372605306440472850723140251926907746957885261442595249946874012417546067424059579131155138032096670730645860263834011874128727113547628459419300994019763643085590842761798373790617166518781874056379661306777353574473793476949180630005852164763055073357473673364716353511498847073490328709926356113406033068561768431403 1901905960165053724623025510556576182325054923659918876761706270398631240487798764715537175727993652893377381289480114932500843325276680978336858547386493945361191351577376314529248766241077166557119904308615212745715980582806233310390544185277871581973375706702946095763012207400020181422672079590733511395175909696714310966027717524209515124335170435492504192181016731263003512783662980382159451497185553726623067996302431221307030971455117986426670500353235778741140297695695590676613454949021638248908467479827149260327979645747866836217077429420978192437559923201974432258115628845855339981063209469447765087515335231198806195129325782773651004961371922927582510902336738534970395429931549146483401305775125592201414038460427109114149369505885617463509139577084329687454683254518648325950976739221584912197403051784459075764478322232377466133966836882445467225810002546808591791370717526030841048181438477459379564441204350722857259327943004251233303672355459873891267388610189054348831997889601006749110490538259587079803828355884656226531099475362018818385285902580079016931299864588059484055549602565869478600685652658715373260940394753522629143288308911931623354645470099557087719391096086375296512875025589785372898355546809671820616662252874829064385079591999619227728058317917576816973471531151115089340946628456499667821916765424184494996197342779195126221695488073969782283361689648750178375825573187933584086144341975274877877504798283315191707927793921416609758642373449230689133152169397440274796004403378894120729247843661882996646729966411196108886165562049748252810994704064121511862529941723732672394251852574845937207448668797110033532857832593072930355030478145287061630140741379611408517559339186259364767108786187372753541340616984277106357052985940183562567459240815469259149314558881646798559998832045451827979582627779651514884518144769837079686884132114932300063854772685107884759867459377109774350553007977114719881494737019125466605201260258493642881651104036203682426767967762520779335889811933336935896052636519348816793701298150837689382958327900094625404080744785877845972887230905638526649589334386967060409446288763661881552679596000328954578899304297323059636500949098425832747651551206430911103879695424482782282648448618222394958575640175412219444465772025311119862336532904293998217498040510050381707556321282490972899915507225343565152410412695626390939516831945390710660941717955739616551319035840915899715278303113827365919656624411795843027103237237683449602384883609363580942197474038381707578785907176633831257227614919549750712953343777864102432860664926589144844729651221872001757166150064467209594745306102920556541647273852352014951910574738716757469564630222808907306817993071432279091527079368083000715228050071870871050788084738206698902323333454816635637204033622755399243318679360609752650070081625923423221358538682120632907329126035206589905331410848480834914804005871254305157880901306080883949604163378825578069692095107134225306005029967759451365869364546444084978117174692145985210593474033769056802028072403361989455950244918989625424646716229942456475315758443161842292525144218743736436250488335545199518919461202439015677348678370039516724006908971680127530337635629758800808724 3077348486953060497583419700860918406768490030108746268886556289499684998237977490511257715665842778847775618039300077179488566358572922019050092088462653904213167199649188139025940626247803809415168188565515427512605646708236488068484280043255426494342114046071796671796987800708472643990541107459879561890133265989691305307041773299839703089616710311110126817698263154871090323337661296005321131533731291314544838747968526416563867776147022761826021611925580492851677662402362022226632432828539357615477025146216124419506932199484982030600507603041582955873853062218841629723257813384341112686678076095618802184182729465288453264184566807222090149613253530844603494321425842631427817322552596197578207066455146794620023217571443854880354201033982637496590666275392769350602030784073620670695544039257564544798634157077637792847091678272079731336700817259637692232760271461872948593827884917734244956894795807779038569900437621614711693512636362021796376949090087115200213696609480900359535022835256399494831058030205306561834793032992767304821688828376682650060131847439510340656235657484469893313137637025037897578135982618035444438021191334431450269315636477277896070713775816569583366886732265625669399391441268691272611664065722173181840731686747491956050259281790629212249443884361809220284028712602452782298628301556822411190104139609414820530795427886526507773203643546338678932553995471995104786402953389305992209055473018086269952251397652287253066912478250032533533077156363629811285865131257505926127195713093186505611950332955099853541431093906109745054652117372443954818191057106983643355235029251656246388893088883128169190867515032516343134363028972442625970787260469375379477347477708104322327275915538368499779165999133533512409851893659468605969140460522331139037866523922634496382502224213072556788672720015918365584439673360463783056730554165844328384085102880050385526902391388611939226315825933258106023298782556937016143938434525883585579925865181762237775667727545624351811628535793459347710078421090347500049114012243558404975395898111040940838107715332605117565192929339251767910116389848382838985244438273502237400430296804596009804947862227977953043987023961232574221815331898145267336656050974186598290236732649873690914692443632296933020823543515498199141594601415398548399400786464156988971143445509566805424266021306786936077553107810882130001047969415613996269983171296648363613725035015788647627991870619615828514624747009487678235425466786931972796590378476292020955278188670472155457930813838719307012591024802999339998383980587043733019490807309719738078652508228314315920672617937231993361624052876575096545369681130430790609641725543662964465549956710002308664895324512266354379868083193931437181587068871935776356765659550404856416486174025143258591340449355664770684108752697223749945717926060260383040444281466064772568024908499504827640252736261181070897770125212484431795359196013626910464321374156804024201531071125783463331134690357081099318422576035183510945000519684476181648847820552409819222467602760882604430487491704356009219593330509832387223020506847108975257189814822823149069878718692537213385431118341397364281974534559912689042065031881538363797497237681606483643743668698320569240127 4979254447118114222206445211417494589093544953768665145648262559898316238725776255226794891393836431741152999328780192111989409683849602997386950635849147849574358551226564453555189392488880975972288092874130640258321627291042721378874824228533298076315489752774742767560000008108492825413213187050613073285309175686405616273069490824049218213951880746602631009879279886134093836121324276387480583030916845041167906744270957637870898747602140748252692112278816271592817960098057612903245887777560995864385492626043273679834911845232848866817585032462561148311412985420816061981373442230196452667741285565066567271698064696487259459313892589995741154574625453772186005223762581166398212752484145344061608372230272386821437256031870963994503570539868254960099805852477099038056714038592268996646520778479149456996037208862096868611570000504457197470667654142083159458570274008681540385198602443765086005076234285238418134341641972337568952840579366273029680621445546989091481085219669954708367020724857406243941548568464893641638621388877423531352788303738701468445417750019589357587535522072529377368687239590907376178821635276750817698961586087954079412603945389209519425359245916126671086277828352000965912266466858476645510019612531845002457393939622321020435338873790248439977502202279386037257500243753567871639574930013322079012020905033599315526992770665721633994899131620308461215915685120745283162228526577239576295199814993361147829756195935602444774840272171449143291719529812860500419017300654946200923200116472080626341198176616982850188161060317305853940817679422192207629185761171105155217764970975388918783144941457974106398316183829626376667220861565515556325817738614662441107488219087715730844835254724627864546274785320906265951192510643745712326193446462514701605325764738103755531816783094719355348671552061370193564022301140115297941248698935681408070969234994982685590757164073719823986183285310367880373851790534051736025433171545009052185127125440255880657318831581828034238396503555980127045968233023684435945166648762907221769097196261878630221066043232699742969273674125129613883003620754021365634833772660469297809876585568257891357627458228306907622886328258555633858316280996571100084307602180617509394116428074356473197340892250519327979399183690910418586060373440709668261737319368450987188641486019617187131822342589277908977468615036225695153458382111240387209500003242039074274666752971528264179310906460531728229903050123315044155082091198727815823693615713975470557663072279835736400128287877101014591376931979633171255611595506593483732444151087583840511513173154903460765402269159103995118790202941042306140114987233351347151288999396014979417460531448719066134459954735075261686686076265363716273114148240018777071993709622275727467274258763349957493663782810481406321312786319979149189036605420870135690514363091988195789383447181625460547581862296387660803101536060965266710163201884881215622202275462884908151135234504609041400826785464215324624427606002942962310869884230920266626964995244555804433061076794651661232515564107717998675543575428822012647667223077051431732505573265984991362403862911280949821681606676942563800893995762351704719413710251577880521504146653286611174081304328079370048851 8056602934071174719789864912278412995862034983877411414534818849398001236963753745738052607059679210588928617368080269291477976042422525016437042724311801753787525750875752592581130018736684785387456281439646067770927273999279209447359104271788724570657603798846539439356987808816965469403754294510492635175442441676096921580111264123888921303568591057712757827577543041005184159458985572392801714564648136355712745492239484054434766523749163510078713724204396764444495622500419635129878320606100353479862517772259398099341844044717830897418092635504144104185266047639657691704631255614537565354419361660685369455880794161775712723498459397217831304187878984616789499545188423797826030075036741541639815438685419181441460473603314818874857771573850892456690472127869868388658744822665889667342064817736714001794671365939734661458661678776536928807368471401720851691330545470554488979026487361499330961971030093017456704242079593952280646353215728294826057570535634104291694781829150855067902043560113805738772606598670200203473414421870190836174477132115384118505549597459099698243771179556999270681824876615945273756957617894786262136982777422385529681919581866487415496073021732696254453164560617626635311657908127167918121683678254018184298125626369812976485598155580877652226946086641195257541528956356020653938203231570144490202125044643014136057788198552248141768102775166647140148469680592740387948631479966545568504255288011447417782007593587889697841752750421481676824796686176490311704882431912452127050395829565267131953148509572082703729592154223415598995469796794636162447376818278088798573000000227045165172038030341102275589183698862142719801583890537958182296604999084037820584835696795820053172111170262996364325440784454439778361044404303214318295333906984845840643192288660738251914319007307791912137344272077288559148461974500579080997979253101525736455054337875033071117659555462331763212499111243625986397150573090988752169371606070892637765052990622018118432986559127452386050025039349439474756046654114031935994280661006465626744493094372919571059173758565304860534466603464381381793120010602404204620078210933971535210306882372853901162575320456284860666873352219788208080131612894716367420963653154804107684353160724230164112033335882816261000222727206408617727654974856108216661138105832607976159784931529183992556088363896064845055021722847107825154506351526854383479483174538687437888391787987316911807302777080147556744527797132802722390507557985659788620283994190267491512941260950307891858059101715820321603967956782632511253995576093637216751934958397303578590165681383217776686074887096335988480414255817617402685484668363782137760930724939677943883010488158721374799355279247341616066554159459295153454701217111954553428759369172680583883760432788493216085004232166146177005421539017202899134754531481130518730958644558052968357408355681130288187834598557568731700871661273449698505522397898508126086523649619688932352666305630392504731961475821296423942850182038126473255870403915396448275812815796965623655528679555534265663003055812074007895136905938654399870687729924160406989695388088808140432282581603818163207112725018339928082868530322264393761478742133116244319001384334893094817824973026399939288978 13035857381189288941996310123695907584955579937646076560183081409296317475689530000964847498453515642330081616696860461403467385726272128013823993360160949603361884302102317046136319411225565761359744374313776708029248901290321930826233928500322022646973093551621282206916987816925458294816967481561105708460751617362502537853180754947938139517520471804315388837456822927139277995580309848780282297595564981396880652236510441692305665271351304258331405836483213036037313582598477248033124208383661349344248010398302671779176755889950679764235677667966705252496679033060473753686004697844734018022160647225751936727578858858262972182812351987213572458762504438388975504768951004964224242827520886885701423810915691568262897729635185782869361342113719147416790277980346967426715458861258158663988585596215863458790708574801831530070231679280994126278036125543804011149900819479236029364225089805264416967047264378255874838583721566289849599193795094567855738191981181093383175867048820809776269064284971211982714155167135093845112035810747614367527265435854085586950967347478689055831306701629528648050512116206852649935779253171537079835944363510339609094523527255696934921432267648822925539442388969627601223924374985644563631703290785863186755519565992133996920937029371126092204448288920581294799029200109588525577778161583466569214145949676613451584780969217969775763001906786955601364385365713485671110860006543785144799455103004808565611763789523492142616593022592930820116516215989350812123899732567398327973595946037347758294346686189065553917753214540721452936287476216828370076562579449193953790764971202434083955182971799076381987499882691769096468804752103473738622422737698700261692323915883535784016946424987624228871715569775346044312236914946960030621527353447360542248518053398842007446135790402511267486015824138658752712484275640694378939227952037207144526023572870015756708416719536051587198682396553993866771002363625040488194804777615901689950180116062273999090305390709280420288421542905419601802014887137716371939447309769372848513590290634798201280239801798004603503740277589510995676123631356425570254911983594440833020183467941111792520202778684591768289759680478343841938447893891287467505271255335421617078469588798586637309374228133335588979621910897319036313715348296817884922875425201058963348426417548801179687910706485342754032490337883333520307964733638094770688983177780726512163058540958845175986613683540679284974430847256117766545589649184387604443977609904242962070604333230143628258187389592921336195344888762265682509607171600230700484379109484887419101678854538121237451477156255439983599204458758659708825599655597133484912219724335692923300471019607440440933815233982416877753240235724658869727815365351973330500753078794956311351034691551843173578668014976627583326734325337182048323791136902000654421473007650041164146791802862755748735416460853956392503973197334414965215685599783389341708725925082573840503801540135001546132788261285511748567277788041069435566740288146316714902777811041521428088589756350185926895518619919792006570680481367476412518354953001211838722200961354793131794686444515099113028794331695282491883762526084616098480892452384694124840505530988179705991906277354479309337829 21092460315260463661786175035974320580817614921523487974717900258694318712653283746702900105513194852919010234064940730694945361768694653030261036084472751357149410052978069638717449429962250546747200655753422775800176175289601140273593032772110747217630697350467821646273975625742423764220721776071598343636194059038599459433292019071827060821089062862028146665034365968144462155039295421173084012160213117752593397728749925746740431795100467768410119560687609800481809205098896883163002528989761702824110528170562069878518599934668510661653770303470849356681945080700131445390635953459271583376580008886437306183459653020038684906310811384431403762950383423005765004314139428762050272902557628427341239249601110749704358203238500601744219113687570039873480750108216835815374203683924048331330650413952577460585379940741566191528893358057531055085404596945524862841231364949790518343251577166763747929018294471273331542825801160242130245547010822862681795762516815197674870648877971664844171107845085017721486761765805294048585450232617805203701742567969469705456516944937788754075077881186527918732336992822797923692736871066323341972927140932725138776443109122184350417505289381519179992606949587254236535582283112812481753386969039881371053645192361946973406535184952003744431394375561776552340558156465609179515981393153611059416270994319627587642569167770217917531104681953602741512855046306226059059491486510330713303710391016255983393771383111381840458345773014412496941312902165841123828782164479850455023991775602614890247495195761148257647345368764137051931757273011464532523939397727282752363764971429479249127221002140178657576683581553911816270388642641431920919027736782738082277159612679355837189057595250620593197156354229785822673281319250174348916861260432206382891710342059580259360454797710303179623360096215947311860946250141273459937207205138732880981077910745048827826076274998383350411181507797619853168152936716029240364176383686794327715233106684292117523291949836732806338446582254859076558061541251748307933727970775838475258083385007717772339413560363309464038206881053892377469243641958829774874990194528412368230490350313965693682778099140876628956633032698132050018579506786003834926234908490225724762822749522816801421407564016151849979844638103727654041370323152926101584013531033666939508211349077985172243999070381407599087512060730441345462471085164949154168466352319413950051450328946162087793916460620826841718958644388920488936097207170047393064261604094510453583545594180451520116246491308741657799312845544898193763602747693867917236314067882190997691844535921339014137552043351775972079618714576277111511084323960915622673150449275370867183481507766161815733170513229758493819794395183954023182516582463927883929512447967636895234795124340336389663672247142773760332155864354384947458545668383131173152431652208094132504200158543886036923251059411525124204844858607864663721207997681897467795249574702262772856467845765394050864749737106808172510127970079195908822610692061713163178590626838487051744118435905720192558521675731866014465817387306130812389042682925372245711896349443601272226969026118917276235907056713622419966631056406880492242371194517810369159506915323072800809731250380879248626807 34128317696449752603782485159670228165773194859169564534900981667990636188342813747667747603966710495249091850761801192098412747494966781044085029444633700960511294355080386684853768841187816308106945030067199483829425076579923071099826961272432769864603790902089103853190963442667882059037689257632704052096945676401101997286472774019765200338609534666343535502491188895283740150619605269953366309755778099149474049965260367439046097066451772026741525397170822836519122787697374131196126737373423052168358538568864741657695355824619190425889447971437554609178624113760605199076640651304005601398740656112189242911038511878301657089123163371644976221712887861394740509083090433726274515730078515313042663060516802317967255932873686384613580455801289187290271028088563803242089662545182206995319236010168440919376088515543397721599125037338525181363440722489328873991132184429026547707476666972028164896065558849529206381409522726531979844740805917430537533954497996291058046515926792474620440172130056229704200916932940387893697486043365419571229008003823555292407484292416477809906384582816056566782849109029650573628516124237860421808871504443064747870966636377881285338937557030342105532049338556881837759506658098457045385090259825744557809164758354080970327472214323129836635842664482357847139587356575197705093759554737077628630416943996241039227350136988187693294106588740558342877240412019711730170351493054115858103165494021064549005535172634873983074938795607343317057829118155191935952681897047248782997587721639962648541841881950213811565098583304858504868044749228292902600501977176476706154529942631913333082403973939255039564183464245680912739193394744905659541450474481438343969483528562891621206004020238244822068871924005131866985518234197134379538388613879566925140228395458422266806590588112814447109375920354606064573430525781967838876435157175940025507101483615064584534492994534434937609863904351613719939155300341069728558981161302696017665413222746566116613597340546013226626868125160278678360076428389464679873175280545211323771673675642515973619653362161314067541947158643403373145367273315255345129902178122853201250673818255077486202980877825468397246392713176475891957027400677291302431506163825647341841292338321403438730781792149487438959466549001046690355085671449743986506888956234725902856637766626786351931909776866750353120002398613774865770435818803043924857449530100140462214508869905007263780530144161506126693389491645038255481686856354434997508239213998753415654149927410595148374433880901662993994657734307163876273209919294098617720693177367078416793523390459460251589029199607215955678823173334936820336683979558049107585370173611063790483952527373602256666985747212175371573034630908612892910331947815901214430265526762593206585829815892179563242340262119401343658890189691566995782336805285131827573904659858135296650991961406641785658667520265481516708818055942279628936893597465286809503975499784836613360269385900395596997537998392319921077405758120265344389350980208029878081368437880008479832708192255906119454040295651658021036497868673607224907397635926584084434097310798394404021655470634016389264701388408904911850393582491496590723263646902504494000012446311252506801637527735358557964636 55220778011710216265568660195644548746590809780693052509618881926684954900996097494370647709479905348168102084826741922793358109263661434074346065529106452317660704408058456323571218271150066854854145685820622259629601251869524211373419994044543517082234488252556925499464939068410305823258411033704302395733139735439701456719764793091592261159698597528371682167525554863428202305658900691126450321915991216902067447694010293185786528861552239795151644957858432637000931992796271014359129266363184754992469066739426811536213955759287701087543218274908403965860569194460736644467276604763277184775320664998626549094498164898340341995433974756076379984663271284400505513397229862488324788632636143740383902310117913067671614136112186986357799569488859227163751778196780639057463866229106255326649886424121018379961468456284963913128018395396056236448845319434853736832363549378817066050728244138791912825083853320802537924235323886774110090287816740293219329717014811488732917164804764139464611279975141247425687678698745681942282936275983224774930750571793024997864001237354266563981462464002584485515186101852448497321252995304183763781798645375789886647409745500065635756442846411861285524656288144136074295088941211269527138477228865625928862809950716027943734007399275133581067237040044134399480145513040806884609740947890688688046687938315868626869919304758405610825211270694161084390095458325937789229842979564446571406875885037320532399306555746255823533284568621755813999142020321033059781464061527099238021579497242577538789337077711362069212443952068995556799802022239757435124441374903759458518294914061392582209624976079433697140867045799592729009582037386337580460478211264176426246643141242247458395061615488865415266028278234917689658799553447308728455249874311773308031938737518002526167045385823117626732736016570553376434376775923241298813642362314672906488179394360113412360569269532818288021045412149233573107308237057098968923157544989490345380646329430858234136889290382746032965314707415137754918137969641212987806903251321049799029757060650233745959066922524623531580154039697295750614610915274085120004892372651265569481164168569043179885758976966345026203025745874607941975606907463295137357741072315873066604115087844220240152189356165639288939311187104774344396455994602670088090902487268392842364849115704771524175908847248157952207514459344216211232906903967993079025915882419554412265959198851169351574446604782332968412348136033958744417784063524482390572500818093263869237695521591046668490680372210404651793970579852062070036812666987966534957007245249269414485367926380799265726581242958991927758441887911213931847768303518964730258520622886434657667434035139764072400156260441933865392829026092566916092848530279829098359777974730230101820624940232515952906012509262175103991046054045951943240882473668263000726336312066229429155192119950527822581918579677006640913662914550144292658101595147184277299225074487099386216737231665789647862287735499128093587533728199461253211961672269743041259959064718495531576826628161626312012561971383524035502315255979738037296440318851956330145993660241995676248624496752933665500608445122527331817024638898377082965634841420314863159519361634325307611368778116237806591443 89349095708159968869351145355314776912364004639862617044519863594675591089338911242038395313446615843417193935588543114891770856758628215118431094973740153278171998763138843008424987112337883162961090715887821743459026328449447282473246955316976286946838279154646029352655902511078187882296100291337006447830085411840803454006237567111357461498308132194715217670016743758711942456278505961079816631671769316051541497659270660624832625928004011821893170355029255473520054780493645145555256003736607807160827605308291553193909311583906891513432666246345958575039193308221341843543917256067282786174061321110815792005536676776641999084557138127721356206376159145795246022480320296214599304362714659053426565370634715385638870068985873370971380025290148414454022806285344442299553528774288462321969122434289459299337556971828361634727143432734581417812286041924182610823495733807843613758204911110820077721149412170331744305644846613306089935028622657723756863671512807779790963680731556614085051452105197477129888595631686069835980422319348644346159758575616580290271485529770744373887847046818641052298035210882099070949769119542044185590670149818854634518376381877946921095380403442203391056705626701017912054595599309726572523567488691370486671974709070108914061479613598263417703079704526492246619732869616004589703500502627766316677104882312109666097269441746593304119317859434719427267335870345649519400194472618562429510041379058385081404841728381129806608223364229099131056971138476224995734145958574348021019167218882540187331178959661575880777542535373854061667846771468050337724943352080236164672824856693305915292028950018688736705050510045273641748775432131243240001928685745614770216126669805139079601065635727110237334900202240049556644317787644443107993638488191340233172167132976424792973635973935932073842111936925159441007807301705209137690077519490612931995280877975177996895062264067253225630909316500847293046463537398168697482138706292186363046059552177424350750486630928759259592182832575416433278214398030677667680078531866261122801430736292749719578720284685937599122101198340699123759978188589340465134794550774118770731837986824120666088739854791813423449418459051083833932634308140586439789247236141520408445407426165623678882971148315126727898777736105821034751541666052414074597791443503118745221486882331557876107818624114908305327516857957991077003342722771037003883365412519694874480468068756176615354976748943839095105737627678996999899470919878917388080740032092017284891845449001641816865114253112067645788628314159225946310022586282065152677700422616347831278891316840259517315610442566207883437265061246150752184452283077013837843890796497498448151386562513366329067142007654109236965863657001179809003180478095730312790043501492823308406454756124695516148352771381576447649936243737518939023219278953394828300240971924364725806184081357169608240586099942488157622480970492423921594995192612471086803200574271935999577006617566185244859825733891448014664939486319726597601312652477772919341327502598504011409534820417532431466602267035182056538813124653345262203837954778540414580090971040390080270279967386950054765309833531432243667418221389873673688898488322819357159531807945577814413006305851596364556079 144569873719870185134919805550959325658954814420555669554138745521360545990335008736409043022926521191585296020415285037685128966022289649192777160502846605595832703171197299331996205383487950017815236401708444003088627580318971493846666949361519804029072767407202954852120841579488493705554511325041308843563225147280504910726002360202949722658006729723086899837542298622140144761937406652206266953587760532953608945353280953810619154789556251617044815312887688110520986773289916159914385270099792562153296672047718364730123267343194592600975884521254362540899762502682078488011193860830559970949381986109442341100034841674982341079991112883797736191039430430195751535877550158702924092995350802793810467680752628453310484205098060357329179594779007641617774584482125081357017395003394717648619008858410477679299025428113325547855161828130637654261131361359036347655859283186660679808933155249611990546233265491134282229880170500080200025316439398016976193388527619268523880845536320753549662732080338724555576274330431751778263358595331869121090509147409605288135486767125010937869309510821225537813221312734547568271022114846227949372468795194644521165786127378012556851823249854064676581361914845153986349684540520996099662044717556996415534784659786136857795487012873396998770316744570626646099878382656811474313241450518455004723792820627978292967188746504998914944529130128880511657431328671587308630037452183009000916917264095705613804148284127385630141507932850854945056113158797258055515610020101447259040746716125117726120516037372937949989986487442849618467648793707807772849384726983995623191119770754698497501653926098122433845917555844866370758357469517580820462406897009791196462769811047386537996127251215975652600928480474967246303117341091751836448888362503113541204105870494427319140681359759049700574847953495712817442184077628450436503719881805285838483460272335291409255631533600071513651954728650080866153771774455267666405296251281676708426705881608282584887375921311505292557497539990554188196352367671890655486981783187310921831187796942983465537787207210561130702255238037994874374589103863425585139686923425384340213002155393163845974498831758158449652444204925691775908241215603881577146988308457393475049522514009843919035160504480766016838088923210595379147997660655084162688693930771511587586335998036329400283727471363066257535031317302207288236249626739030082909281294939249286746427267607345966929423353726172063518085763712955744317254983403399778653240850185281154129540970592688485355794625322472297582598894011288016346835253270031687634707667865617245764259243221058783042191685525199811195706949157364684032220586595978568102411419383933105818820597653130401467298268096043102358692683093746725096029008375559411149821476223053410227079696357211469054365280643751551640982297783470882264101752621657829026577283990594154961376201307697430822504679619494798536143885042568214253096787759655364102425648759035385793743849231974892722113469390576108252473214519187850813274324747515960601286567316999542986361448579158743479164238418706092041128380633083299500278273630496744726084631282385756518904464139883720265918278653959575484442860288250756654533329743134220319051169579903122024375083967834171147522 233918969428030154004270950906274102571318819060418286598658609116036137079673919978447438336373137035002489956003828152576899822780917864311208255476586758874004701934336142340421192495825833180776327117596265746547653908768418776319913904678496090975911046561848984204776744090566681587850611616378315291393310559121308364732239927314307184156314861917802117507559042380852087218215912613286083585259529849005150443012551614435451780717560263438937985667916943584041041553783561305469641273836400369314124277356009917924032578927101484114408550767600321115938955810903420331555111116897842757123443307220258133105571518451624340164548251011519092397415589575990997558357870454917523397358065461847237033051387343838949354274083933728300559620069156056071797390767469523656570923777683179970588131292699936978636582399941687182582305260865219072073417403283218958479355016994504293567138066360432068267382677661466026535525017113386289960345062055740733057060040427048314844526267877367634714184185536201685464869962117821614243780914680513467250267723026185578406972296895755311757156557639866590111256523616646639220791234388272134963138945013499155684162509255959477947203653296268067638067541546171898404280139830722672185612206248366902206759368856245771856966626471660416473396449097118892719611252272816064016741953146221321400897702940087959064458188251592219063846989563599938924767199017236828030231924801571430426958643154090695208990012508515436749731297079954076113084297273483051249755978675795280059913935007657913451694997034513830767529022816703680135495565175858110574328079064231787863944627448004412793682876116811170550968065890140012507132901648824060464335582755405966678896480852525617597192886943085889935828682715016802947435128736194944442526850694453774376273003470852112114317333694981774416959890420872258449991379333659574193797401295898770478741150310469406150693797667324739282864045150928159200235311853436363887434957573863071472765433785706935637862552240264552149680372565970621474566765702568323167060315053572044632618533235733185116507491896498729824356436378693998134567292452766050274481474199503110944840142217284512063238686549971873101862663976775609840875523744468016936235544598913883494929940175467597918131652795892744736866659316416413899539326707498237286485374274630332807822880367887276391546095477974562862548175260198365239592349510067086792646707458944161226895336363522582284400102670011158623823391391952744216725903282317166733980882277298439021386419594330302220908878434539943371227208170513962656857839552096840312408090481965077043150560061318300357802128091407694632972010403515436216672869672992405946302215881431553970207160166496730534440275750152339324556340094926534099209486471289723939864977715876718633534452481906985202718052025327999290918541520989821287321031575052657326818255914958880767560282664867039063090779561982956158624855534992135848091980372126450905626223030971385370750466798160137581939203282024122917412700838914448414586977225288879942614069915503554395896268996691174945766505453888148579941505286428561704116228409037159306175602322775836789184431526833775031228112185391819151861081678124430343431818065953577478582977525480936437381389819430535703601 378488843147900339139190756457233428230273633480973956152797354637396683070008928714856481359299658226587785976419113190262028788803207513503985415979433364469837405105533441672417397879313783198591563519304709749636281489087390270166580854040015895004983813969051939056897585670055175293405122941419624134956535706401813275458242287517256906814321591640889017345101341002992231980153319265492350538847290381958759388365832568246070935507116515055982800980804631694562028327073477465384026543936192931467420949403728282654155846270296076715384435288854683656838718313585498819566304977728402728072825293329700474205606360126606681244539363895316828588455020006186749094235420613620447490353416264641047500732139972292259838479181994085629739214848163697689571975249594605013588318781077897619207140151110414657935607828055012730437467088995856726334548764642255306135214300181164973376071221610044058813615943152600308765405187613466489985661501453757709250448568046316838725371804198121184376916265874926241041144292549573392507139510012382588340776870435790866542459064020766249626466068461092127924477836351194207491813349234500084335607740208143676849948636633972034799026903150332744219429456391325884753964680351718771847656923805363317741544028642382629652453639345057415243713193667745538819489634929627538329983403664676326124690523568066252031646934756591134008376119692480450582198527688824136660269376984580431343875907249796309013138296635901066891239229930809021169197456070741106765365998777242539100660651132775639572211034407451780757515510259553298603144358883665883423712806048227411055064398202702910295336802214933604396885621735006383265490371166404880926742479765197163141666291899912155593320138159061542536757163189984049250552469827946780891415213197567315580378873965279431254998693454031474991807843916585075892175456962110010697517283101184608962201422645760815406325331267396252934818773801009025354007086308704030292731208855539779899471315393989520525238473551769844707177912556524809670919133374458978654042098240882966463806330178716650654294699107059860526611674416688872509156396316191635414168397624887451157842297610448358037737518308130322754306868902467385749116739348349594083223853056307358544452454185311516953292157276658761574955582527011793047536987362582399975179305046141920394158878404216676675273566841040820397579492562405653475841976249097169701928002398193447973322603970868549213823456396183222141909155104908488533980886685716945387221732462579593150927390187018787576703503757012240953826102181801979003693092822128527947115758347582322807409803282377083399993813616607505828678959560880120248893456268970974048713635265364659789027757819627132001738543846195441683249023188673259195238494846849135089686453938930128860614148839118454257083332669079550931900839304460703551422784196710486353395539905553035728936483972564469885595459181477754694768740577560350101188768131781815008051871790006771164494316030135030304052672672600231169885915358102299227861301972804840543900637232503097382257717575849918424930743872594240621069885919511861204394502039533904032260233605161593308088895666717495297146390839351394636303941966375186997965147809087797797634147105384058461756473787264706851123 612407812575930493143461707363507530801592452541392242751455963753432820149682848693303919695672795261590275932422941342838928611584125377815193671456020123343842107039869584012838590375139616379367890636900975496183935397855809046486494758718511985980894860530900923261674329760621856881255734557797939426349846265523121640190482214831564090970636453558691134852660383383844319198369231878778434124106820230963909831378384182681522716224676778494920786648721575278603069880857038770853667817772593300781545226759738200578188425197397560829792986056455004772777674124488919151121416094626245485196268600549958607311177878578231021409087614906835920985870609582177746652593291068537970887711481726488284533783527316131209192753265927813930298834917319753761369366017064128670159242558761077589795271443810351636572190227996699913019772349861075798407966167925474264614569317175669266943209287970476127080998620814066335300930204726852779946006563509498442307508608473365153569898072075488819091100451411127926506014254667395006750920424692896055591044593461976444949431360916521561383622626100958718035734359967840846712604583622772219298746685221642832534111145889931512746230556446600811857496997937497783158244820182441444033269130053730219948303397498628401509420265816717831717109642764864431539100887202443602346725356810897647525588226508154211096105123008183353072223109256080389506965726706060964690501301786151861770834550403887004222128309144416503640970527010763097282281753344224158015121977453037819160574586140433553023906031441965611525044533076256978738639924059523993998040885112459198919009025650707323089019678331744774947853687625146395772623272815228941391078062520603129820562772752437773190513025102147432472585845905000852197987598564141725333942063892021089956651877436131543369316027149013249408767734337457334342166836295769584891314684397083379440942572956230221557019128934720992217682818951937184554242398162140394180166166429402851372236749179696456163101025792034396856858285122495431145485899077027301821102413294455011096424863414449835770802191003558590350968110795382870643723688768957685688649871824390562102682439827732870100976204858102195856169532879242995589992263092817611019459397655221242039382394360779114871423810072551506311822241843428206947076314070080637261664679320772253201981758772103953066819662319015383260127667822604018715434325759164256494574709857137609200217940334391131498223559066194380765732546496861232750706789968034112121202614739878032172313809781349089797612382191552184325053310352315941660550932374225368259523848829547399850560363343695383757795941708015200461650969964395556465566325941963379995015851146796213759234917986123862536178819596347781007805363283599793294447981318138859029551431654806847494148601321025439459801384694407550222819380825450524838743815771763143680213795820511916496496766637431508948686238743460710853393596112552485949280748503908265913678094820978156535244782828295167885991875954624354087298616197016747642448279198093720486514707148006651778153986572541093370697249326482389201011391205940422908510730448571063338435835927937430097273327193551270328374503024743213788165023644499617341396965875041375276217124630864994899137863606695242554724 990896655723830832282652463820740959031866086022366198904253318390829503219691777408160401054972453488178061908842054533100957400387332891319179087435453487813679512145403025685255988254453399577959454156205685245820216886943199316653075612758527880985878674499952862318571915430677032174660857499217563561306381971924934915648724502348820997784958045199580152197761724386836551178522551144270784662954110612922669219744216750927593651731793293550903587629526206973165098207930516236237694361708786232248966176163466483232344271467693637545177421345309688429616392438074417970687721072354648213269093893879659081516784238704837702653626978802152749574325629588364495746828711682158418378064897991129332034515667288423469031232447921899560038049765483451450941341266658733683747561339838975209002411594920766294507798056051712643457239438856932524742514932567729570749783617356834240319280509580520185894614563966666644066335392340319269931668064963256151557957176519681992295269876273610003468016717286054167547158547216968399258059934705278643931821463897767311491890424937287811010088694562050845960212196319035054204417932857272303634354425429786509384059782523903547545257459596933556076926454328823667912209500534160215880926053859093537689847426141011031161873905161775246960822836432609970358590522132071140676708760475573973650278750076220463127752057764774487080599228948560840089164254394885101350770678770732293114710457653683313235266605780317570532209756941572118451479209414965264780487976230280358261235237273209192596117065849417392282560043335810277341784282943189877421753691160686609974073423853410233384356480546678379344739309360152779038113643981633822317820542285800292962229064652349928783833163261208975009343009094984901448540068392088506225357277089588405537030751401410974624314720603044724400575578254042410234342293257879595588831967498267988403143995601991036963344460202117245152501592752946209908249484470844424472897375284942631271708064573685976688339499343804241564036197679020240816405032451486280475144511535337977560231193593166486425096890110618450877579785212071743152880085085149321102818269449278013260524737438181228138713723166232518610476401781710381339109002441167205102683250711528600583834848546090631824715967349210267886777824370439999994613301432663037236843984366914173596140637176320629742093229160056203657707160385009672191276302008261426196502712255331057173540544305259680712047015462377602907641701601769721284687676653751057508424347202457625323241199968367877374315885948564425278879412534117920664244025196353896206639607177129722657970166626072467157789755324622706290329929525275676714459782210934354043729486412160873548262675805750994537917363442543222691054386472273052489686476164987994119237885593736976354762750160143893716884717363487101154720220129911228390166599968473630033609335726064952225433250609995978834281697924938465548162336690112836050469516635690080921729966610984927699739098858430198190044548627224585257184531555119046870309581170898561030415344380509749160411704148391011795627993199076629822081277125452284112905232488104967370696069533099023405362222860268765625520893864094608424468965610874804339362113684129173073851271736249053360894337393959949405847 1603304468299761325426114171184248489833458538563758441655709282144262323369374626101464320750645248749768337841264995875939886011971458269134372758891473611157521619185272609698094578629593015957327344793106660742004152284799008363139570371477039866966773535030853785580246245191298889055916592057015502987656228237448056555839206717180385088755594498758271287050422107770680870376891783023049218787060930843886579051122600933609116367956470072045824374278247782251768168088787555007091362179481379533030511402923204683810532696665091198374970407401764693202394066562563337121809137166980893698465362494429617688827962117283068724062714593708988670560196239170542242399422002750696389265776379717617616568299194604554678223985713849713490336884682803205212310707283722862353906803898600052798797683038731117931079988284048412556477011788718008323150481100493203835364352934532503507262489797550996312975613184780732979367265597067172049877674628472754593865465784993047145865167948349098822559117168697182094053172801884363406008980359398174699522866057359743756441321785853809372393711320663009563995946556286875900917022516480044522933101110651429341918170928413835060291488016043534367934423452266321451070454320716601659914195183912823757638150823639639432671294170978493078677932479197474401897691409334514743023434117286471621175866976584374674223857180772957840152822338204641229596129981100946066041271980556884154885545008057570317457394914924734074173180283952335215733760962759189422795609953683318177421809823413642745620023097291383003807604576412067256080424207002713871419794576273145808893082449504117556473376158878423154292592996985299174810736916796862763708898604806403422782791837404787701974346188363356407481928854999985753646527666956230231559299340981609495493682628837542517993630747752057973809343312591499744576509129553649180480146651895351367844086568558221258520363589136838237370184411704883394462491882632984818653063541714345482643944813753382432851440525135838638420894482801515671961890931528513582296246924829792988656656057007616322195899081114177041228547896007454613796603773854107006791468141273668575363207177265914098239689928024334714466645934660953376929101265533984816122142648366749842623217242906869746696139777421761774198600066213868206941689615502743674498508663687686426798122395948424582808912891479071586917834828207613690906710627767425682691077422112468666373758484639650812210270574528571983673374248098630954035394466621785169629626961942335657495555009749716967171928268140116609603932722886433862324794957570579264466163456006677122508530529969767850915585697032637906751980899489671233180026108152897734038745337558957087307497593791874857074096183038891003698859749755872845784134457483126853148789317248543823848911351481169333176686102057894651377539600955361753228910415740236773713823131546576868721930017247427487782967936668399176401555932802665321999750265139598346835408061431963084234983881686725366076036424581848939344483147752135794512757860368992281516930051528516400938565690720932105166325242525559019023092668331392707021415962936676030709131905461036453502635550053820035953895396888837822212633989255374421680759079559170548350068396367114048260032201000655191960571 2594201124023592157708766635004989448865324624586124640559962600535091826589066403509624721805617702237946399750107050409040843412358791160453551846326927098971201131330675635383350566884046415535286798949312345987824369171742207679792645984235567747952652209530806647898818160621975921230577449556233066548962610209372991471487931219529206086540552543957851439248183832157517421555414334167320003450015041456809248270866817684536710019688263365596727961907773989224933266296718071243329056541190165765279477579086671167042876968132784835920147828747074381632010459000637755092496858239335541911734456388309276770344746355987906426716341572511141420134521868758906738146250714432854807643841277708746948602814861892978147255218161771613050374934448286656663252048550381596037654365238439028007800094633651884225587786340100125199934251227574940847892996033060933406114136551889337747581770307131516498870227748747399623433600989407491319809342693436010745423422961512729138160437824622708826027133885983236261600331349101331805267040294103453343454687521257511067933212210791097183403800015225060409956158752605910955121440449337316826567455536081215851302230710937738607836745475640467924011349906595145118982663821250761875795121237771917295327998249780650463833168076140268325638755315630084372256281931466585883700142877762045594826145726660595137351609238537732327233421567153202069685294235495831167392042659327616448000255465711253630692661520705051644705390040893907334185240172174154687576097929913598535683045060686851938216140163140800396090164619747877533422208489945903748841548267433832418867155873357527789857732639425101533637332306345451953848850560778496586026719147092203715745020902057137630758179351624565382491271864094970655095067735348318737784656618071197901030713380238953492617945468355102698209918890845542154810851422811528776068978619393619356247230564160212295483708049338955482522686004457829604370741367103829243125960916999288113915652878327068409539780024479642879984930680480535912778295963979999862771391436365130966216887250600782808620995971224795492106127681219526356949483858939256327894286410722946588623731914704095326378403651190567233077122336442663758268210267975152021224825899078278443207052091452960378520855744770972042085377890584308206936302916935406711735352648054600600394263033124745212551006120639127790575541988592623363097986929775687108887580134367799723547299028944910492922317589990949586581015949700400675320082143275536227138051309144793282818796209718084844546244154088681034882812135420551782989038982766933160672803063183806845166500696595840318073375452357260613042310829014946909894485890363832088082474823971117960855760269597625851612013546481434226389914136228145898273820933648114847268027202842280800203674101641313226893570819421381752532259821085272981619077015708710403747432467272641820947363267857423466617249634593337641949718269492778158050219781775288427757138028042948011934722980545155564266080973209073524601667679307254841383067441539890842547345395909026150098977394869323116961953235724635648845173945456844991134321195424780998079827974994135476907997772914088801579416290752932430637102954866249226020121193243299721423919668103363101620926538394615141366418 4197505592323353483134880806189237938698783163149883082215671882679354149958441029611089042556262950987714737591372046284980729424330249429587924605218400710128722750515948245081445145513639431492614143742419006729828521456541216042932216355712607614919425744561660433479064405813274810286494041613248569536618838446821048027327137936709591175296147042716122726298605939928198291932306117190369222237075972300695827321989418618145826387644733437642552336186021771476701434385505626250420418720671545298309988982009875850853409664797876034295118236148839074834404525563201092214305995406316435610199818882738894459172708473270975150779056166220130090694718107929448980545672717183551196909617657426364565171114056497532825479203875621326540711819131089861875562755834104458391561169137039080806597777672383002156667774624148537756411263016292949171043477133554137241478489486421841254844260104682512811845840933528132602800866586474663369687017321908765339288888746505776284025605772971807648586251054680418355653504150985695211276020653501628042977553578617254824374533996644906555797511335888069973952105308892786856038462965817361349500556646732645193220401639351573668128233491684002291945773358861466570053118141967363535709316421684741052966149073420289896504462247118761404316687794827558774153973340801100626723576995048517216002012703244969811575466419310690167386243905357843299281424216596777233433314639884500602885800473768823948150056435629785718878570324846242549919001134933344110371707883596916713104854884100494683836163260432183399897769196159944789502632696948617620261342843706978227760238322861645346331108798303524687929925303330751128659587477575359349735617751898607138527812739461925332732525539987921789973200719094956408741595402304548969343955959052807396524396009076496010611576216107160672019262203437041899387360552365177956549125271288970724091317132718433554004071638475793719892870416162712998833233249736814061779024458713633596559597692080450842391220549615481518405825163282051584740186895508513445067638361194923954873543307608399130816895052338972533334675577226980970746087632793363334685754551996615163986939091970009424618093579214901947543768271103617135197311533509136837346968547445028285830269334359830125216995522192733816283977956798176413877992532438150386233861311742287027192385429073169795359919012118199377493376816800237054004697557543112791578657556480268389921057513584561305132588164519521570254390197799031629355476609897321396767678271087128940314351219467801811718172422228797644486744858306985645313833940337512425138966519190483967675031226565608168988961149389898519794291728504618143074511998516729822121220161530075048163257863389500708686109729520325230088773885984018744057955391131241700416816520090824624052585453122482560070256921479276403909799422040634734847987431448947177461255598819218689669293285104850954400217571261736818351274202295443480049970046914886774592546089474911096169706862231880930342117397790922463946150827059390635895825301908883124064275447437542551037543085590255222128278478250194667868266613788237698155737158361457028788959880455171930410633322967908837533311687641770252849736944121623647700880272802470269773988064470477149880958739395270333326989 6791706716346945640843647441194227387564107787736007722775634483214445976547507433120713764361880653225661137341479096694021572836689040590041476451545327809099923881846623880464795712397685847027900942691731352717652890628283423722724862339948175362872077954092467081377882566435250731517071491169481636085581448656194039498815069156238797261836699586673974165546789772085715713487720451357689225687091013757505075592856236302682536407332996803239280298093795760701634700682223697493749475261861711063589466561096547017896286632930660870215266064895913456466414984563838847306802853645651977521934275271048171229517454829258881577495397738731271510829239976688355718691923431616406004553458935135111513773928918390510972734422037392939591086753579376518538814804384486054429215534375478108814397872306034886382255560964248662956345514243867890018936473166615070647592626038311179002426030411814029310716068682275532226234467575882154689496360015344776084712311708018505422186043597594516474613384940663654617253835500087027016543060947605081386432241099874765892307746207436003739201311351113130383908264061498697811159903415154678176068012182813861044522632350289312275964978967324470215957123265456611689035781963218125411504437659456658348294147323200940360337630323259029729955443110457643146410255272267686510423719872810562810828158429905564948927075657848422494619665472511045368966718452092608400825357299212117050886055939480077578842717956334837363583960365740149884104241307107498797947805813510515248787899944787346622052303423572983795987933815907822322924841186894521369102891111140810646627394196219173136188841437728626221567257609676203082508438038353855935762336898990810854272833641519062963490704891612487172464472583189927063836663137652867707128612577124005297555109389315449503229521684462263370229181094282584054198211975176706732618103890682590080338547696878645849487779687814749202415556420620542603203974616840643304904985375712921710475250570407519251931000574095124398390755843762587497518482859488513307839029797560054921090430558209181939437891023563768025440803258446507327695571491732619662580040962719561752610671006674104750996497230405469180620890607546280893465521801484288858571794446523306729037321425812790503737851266963705858369355847382484620814295449373557097969213959796887627586648462197915007910925132757327168068918805392860417102684487318799900466237690848068113468356542529471798054905754510471156835406147499432304675558753172857623905729580231922223133147429185886656264416576317478679369556993727537428302872923104445585811769582374290812841531923161448487062336601747159132836602557519565052968997888880561910203694985501193009019018132987126560298123276001759456478688022212164642331776324779356547684843722933105424256259554763795786963827740900658156442059243125907716467064447157657581208688066091860510616656552962274421017467205855074460300992471788221638100189828690175202349684117517859108104429842777036494608198370999995988547818506366645477278892743448773966611620843346568701136520480459578339090231713974830316713440559245082689290058353786238026868787855449307407318631095881997639112727978394702683486839898987872873721001466045769991197907732573840251501885277789885474693407 10989212308670299123978528247383465326262890950885890804991306365893800126505948462731802806918143604213375874932851142979002302261019290019629401056763728519228646632362572125546240857911325278520515086434150359447481412084824639765657078695660782977791503698654127514856946972248525541803565532782730205622200287103015087526142207092948388437132846629390096891845395712013914005420026568548058447924166986058200902914845654920828362794977730240881832634279817532178336135067729323744169893982533256361899455543106422868749696297728536904510384301044752531300819510127039939521108849051968413132134094153787065688690163302529856728274453904951401601523958084617804699237596148799957201463076592561476078945042974888043798213625913014266131798572710466380414377560218590512820776703512517189620995649978417888538923335588397200712756777260160839189979950300169207889071115524733020257270290516496542122561909615803664829035334162356818059183377337253541424001200454524281706211649370566324123199635995344072972907339651072722227819081601106709429409794678492020716682280204080910294998822687001200357860369370391484667198366380972039525568568829546506237743033989640885944093212459008472507902896624318078259088900105185488947213754081141399401260296396621230256842092570377791134272130905285201920564228613068787137147296867859080026830171133150534760502542077159112662005909377868888668248142668689385634258671939096617653771856413248901526992774391964623082462530690586392434023242442040842908319513697107431961892754828887841305888466684005167195885703012067767112427473883843138989364233954847788874387632519080818482519950236032150909497182913006954211168025515929215285497954650889417992800646380980988296223230431600408962437673302284883472578258539957416676472568536176812694079505398391945513841097900569424042248443297719625953585572527541884689167229161971560804429864829597079403491851326290542922308426836783255602037207866577457366684009834426555307034848262487970094322221123710605916796581007044639082258669754997026752906668158754978875963973865817581070254786075902740558775478835673488298441659124525982997265795514716176916597610098644114175614590809620371128164658878649898028662833334993425695918762993968335014867590760172620628954846789156439674653333804180661034692287981811707484203075271539174654779033891271084803270844144875526545562295622193097471107382044861912692044895247328336503389414056114033103187493919029992727089796345298463934031035363070179020673407851319051163447498648653688467982588998546276323856301852034523073616706863441958010950736101564774780516563149727056656051297751137057652630894286024183196043509887397291732324915147031268057182275996376627268984233005522084686567461908196183386389731715910598248101660243023930048308845007886278347034084662379934560351858665166542451315051878606604758669943664911079200285949838067125375417684777116811278652266674083665118150159875605061976942230206992770204274136705008917424950315768790918452493969333426036113174718045357657090675896290784111252174063566049833561218510192225024984581707173033320387445795512147695055657747735904479337729264418849906476646039666036472936336576843109496521421881738848240260971895797044317401382844017185155808020396 17780919025017244764822175688577692713826998738621898527766940849108246103053455895852516571280024257439037012274330239673023875097708330609670877508309056328328570514209196006011036570309011125548416029125881712165134302713108063488381941035608958340663581652746594596234829538683776273320637023952211841707781735759209127024957276249187185698969546216064071057392185484099629718907747019905747673611257999815705978507701891223510899202310727044121112932373613292879970835749953021237919369244394967425488922104202969886645982930659197774725650365940665987767234494690878786827911702697620390654068369424835236918207618131788738305769851643682673112353198061306160417929519580416363206016535527696587592718971893278554770948047950407205722885326289842898953192364603076567249992237887995298435393522284452774921178896552645863669102291504028729208916423466784278536663741563044199259696320928310571433277978298079197055269801738238972748679737352598317508713512162542787128397692968160840597813020936007727590161175151159749244362142548711790815842035778366786608990026411516914034200134038114330741768633431890182478358269796126717701636581012360367282265666339930198220058191426332942723860019889774689948124682068403614358718191740598057749554443719822170617179722893636820864227574015742845066974483885336473647571016740669642837658329563056099709429617735007535156625574850379934037214861120781994035084029238308734704657912352728979105835492348299460446046491056326542318127483749148341706267319510617947210680654773675187927940770107578150991873636827975589435352315070737660358467125065988599521015026715299991618708791673760777131064440522683157293676463554283071221260291549880228847073480022500051259713935323212896134902145885474810536414921677610284383601181113300817991634614787707395017070619585031687412477624392002210007783784502718591421785333052654150884768412526475725252979631014105292124723983257403798205241182483418100671588995210139477017510098832895489346253221697805730315187336850807226579777152614485540060745697956315033797054404424026763009692677099466508584216282094119995626137230616258602659845836477435738669208281105318218926611088040025840308785549486196178922128355136477714554490557440491641743904912185985411132692698056120145533022689651563145655506583431185264582172289231336062282365682353468999811181769277632853713631214427585957888210066532180712592511132938176404616857770598643504901242399673540463883925202492797896238706594116243036644579137431550973386580646077839575124247005574863755003225858845762060501919579786546403596762505683939065593358095072888505143113634352884216785467496843543748249012507776277853642528610132532461066201294129363753829282356281523844143046149930408348028721508040689954795786503965957035472565104562650074133997912403280592716793917908292450167782116325764262339878631731002939710902606391029399796435151982971885738953259145871886756250349704295237179291914324510629312378566547785953919558514139790914441041787839792681590453610788806431057287517134130679953310584046509411900308741906199855301295147732278403076735853865933933082526535591353786745047895514731904115758767644431175619823416742097369395142883204894010252169803529618157652884729294975041282713803 28770131333687543888800703935961158040089889689507789332758247215002046229559404358584319378198167861652412887207181382652026177358727620629300278565072784847557217146571768131557277428220336404068931115560032071612615714797932703254039019731269741318455085351400722111091776510932301815124202556734942047329982022862224214551099483342135574136102392845454167949237581196113543724327773588453806121535424985873906881422547546144339261997288457285002945566653430825058306970817682344982089263226928223787388377647309392755395679228387734679236034666985418519068054004817918726349020551749588803786202463578622302606897781434318595034044305548634074713877156145923965117167115729216320407479612120258063671664014868166598569161673863421471854683899000309279367569924821667080070768941400512488056389172262870663460102232141043064381859068764189568398896373766953486425734857087777219516966611444807113555839887913882861884305135900595790807863114689851858932714712617067068834609342338727164721012656931351800563068514802232471472181224149818500245251830456858807325672306615597824329198956725115531099629002802281667145556636177098757227205149841906873520008700329571084164151403885341415231762916514092768207213582173589103305931945821739457150814740116443400874021815464014611998499704921028046987538712498405260784718313608528722864488500696206634469932159812166647818631484228248822705463003789471379669342701177405352358429768765977880632828266740264083528509021746912934752150726191189184614586833207725379172573409602563029233829236791583318187759339840043356547779788954580799347831359020836388395402659234380810101228741909792928040561623435690111504844489070212286506758246200769646839874126403481039555937165754813305097339819187759694008993180217567701060073749649477630685714120186099340530911717485601111454726067689721835961369357030260476110952562214625711689198277356072804656471482340395835047032410094187053807278390349995558038273005044566032324544947095383459440575442821516336231983917857851865662035822369482566813652366115070012673018378289844344079947463175369249142991760929793483924578889740784585657111631992151915585805891203962333102225678849646211436950208364846076950791188471471140250409320434459976758772502946158031761647544845276585207676023455743806690198871412996972066375364502875236937144716244740084614452613422508380259193510049779055359317448577042625284556028185504741120247184654757538004429893592570456611014998838096360172737629479313215665252545282870024550028144726493263592229594573410031327082160697796583575536286649988361607713241785503840373874658222615561799164932104021274438098391129567931445056017663675145374853525279563729123383570125740381098266589287045928829613611838604531415111239756600553043888164208980965520873949570536352481031997065660527277145776573458992619097168204370867098548575395914018911188556229096525171852836760088697017605525819955551874400509579900299156234144531503399516652703252794871344508829908581832893535757173218717703628328834164088147963413424914791205484647612559245461527252098424880285876854905311723464181649378081628138184283327258266082777159933581810592404807310467648556159993585206865916564764943742250513141699326662475054267573312160197090734199 46551050358704788653622879624538850753916888428129687860525188064110292332612860254436835949478192119091449899481511622325050052456435951238971156073381841175885787660780964137568313998529347529617347144685913783777750017511040766742420960766878699659118667004147316707326606049616078088444839580687153889037763758621433341576056759591322759835071939061518239006629766680213173443235520608359553795146682985689612859930249437367850161199599184329124058499027044117938277806567635366220008632471323191212877299751512362642041662159046932453961685032926084506835288499508797513176932254447209194440270833003457539525105399566107333339814157192316747826230354207230125535096635309632683613496147647954651264382986761445153340109721813828677577569225290152178320762289424743647320761179288507786491782694547323438381281128693688928050961360268218297607812797233737764962398598650821418776662932373117684989117866211962058939574937638834763556542852042450176441428224779609855963007035306888005318825677867359528153229689953392220716543366698530291061093866235225593934662333027114738363399090763229861841397636234171849623914905973225474928841730854267240802274366669501282384209595311674357955622936403867458155338264241992717664650137562337514900369183836265571491201538357651432862727278936770892054513196383741734432289330349198365702146830259262734179361777547174182975257059078628756742677864910253373704426730415714087063087681118706859738663759088563543974555512803239477070278209940337526320854152718343326383254064376238217161770006899161469179632976668018945983132104025318459706298484086824987916417685949680801719937533583553705171626063958373268798520952624495357728018537750649875686947606425981090815651101078026201232241965073234504545408101895177985443674930762778448677348734973806735547982337070632798867203692081724045969153141532979067532737895267279862573966689882548529909451113354501127171756393351590852012519572833413658709862000254705509342055045928278948786828664519322066547171254708659092241812974983968106874398064071385046470072782713871107089640140274835757727208043023913479550716120357043188316957468469587654255014172309280552028836766889672051745735757851042255872919543607948854804899877874951618502677415132143442894340242901396730740698713107306952345705454844182236648547653734211299219510398598209084425634382700141233972824724477365013247527515109223337877067161123681145737104955253401042905672293266110920494940201330894256411444223595556252309831682714420997936608790804332838716476600148273786330308019543558644077455866436534765204475747469442905967232753295504066942278566456905491223565887973111679694068525439952999017382135412096190189584864255104134927548945568569772972659761769012879443832747797290507839674668174938000993439054133186426615029909468941119993939694481751442786879284530135129438427207126916958622091162620125924968287988743060582756558784965827438630650859284195536335526058856014028829031269800580825264067344048372747334577545013011399294081939622970519205250930559045471158795231659068657361835994004624735587172002637590126540917503244015561220710818918612052827825055448313714708163574954898824175983410327304235311707648148636260765311502856280632707152302607135238373448002 75321181692392332542423583560500008794006778117637477193283435279112338562172264613021155327676359980743862786688693004977076229815163571868271434638454626023443004807352732269125591426749683933686278260245945855390365732308973469996459980498148440977573752355548038818418382560548379903569042137422095936367745781483657556127156242933458333971174331906972406955867347876326717167563294196813359916682107971563519741352796983512189423196887641614127004065680474942996584777385317711202097895698251415000265677398821755397437341387434667133197719699911503025903342504326716239525952806196797998226473296582079842132003181000425928373858462740950822540107510353154090652263751038849004020975759768212714936047001629611751909271395677250149432253124290461457688332214246410727391530120689020274548171866810194101841383360834731992432820429032407866006709171000691251388133455738598638293629543817924798544957754125844920823880073539430554364405966732302035374142937396676924797616377645615170039838334798711328716298204755624692188724590848348791306345696692084401260334639642712562692598047488345392941026639036453516769471542150324232156046880696174114322283066999072366548360999197015773187385852917960226362551846415581820970582083384076972051183923952708972365223353821666044861226983857798939042051908882146995217007643957727088566635330955469368649293937359340830793888543306877579448140868699724753373769431593119439421517449884684740371492025828827627503064534550152411822428936131526710935440985926068705555827473978801246395599243690744787367392316508062302530911892979899259054129843107661376311820345184061611821166275493346633212187687394063380303365441694707644234776783951419522526821732829462130371588266832839506329581784260994198554401282112745686503748680412256079363062855159906076078894054556233910321929759771445881930522498563239543643690457481905574263164967238621334565922595694896962218788803445777905819797963183409216748135005299271541666599993023662408227404107340838402779155172566510957903848797353450673688050430186455059143091161003715451169587603450205006870199803953706963475295010097827773974069100461739569840820063513242885131062445739318263182685966215888332823710732079419995055309198309411595261449918078301474655987787746673315948374736563050759035904326257179208714923018237086536156655114842949169040086996122649614232018234527144068606844963686265963161623189309185886857352139908158580910102186858681377105955200168990616584181853074869467975084227997291022486636935530826102308706194721683817657390180241355227652992153086523126812188989254946746341107411518119628741443498560926765661664279102679611139124543103628144392235660691659919312968434380844516025815534855615701802273373607617410858943987553891060883562832383918966514313003703722779096061906534601647271085471055210435405976452734505996536975782522830977533279718849222450140140825503149279774164310785782990505051368864095835491760203387517428345683973053375696608576173956954580228113302186230116997710268457134607353214343983960262364279879271627902823363246103049615873048857542901850005099152622097189358895102245870318910602215381895525300568382265366472732143403912511101228272413092378511278453202182943107761419875919295435464182201 121872232051097121196046463185038859547923666545767165053808623343222630894785124867457991277154552099835312686170204627302126282271599523107242590711836467199328792468133696406693905425279031463303625404931859639168115749820014236738880941265027140636692419359695355525744988610164457992013881718109249825405509540105090897703213002524781093806246270968490645962497114556539890610798814805172913711828790957253132601283046420880039584396486825943251062564707519060934862583952953077422106528169574606213142977150334118039479003546481599587159404732837587532738631003835513752702885060644007192666744129585537381657108580566533261713672619933267570366337864560384216187360386348481687634471907416167366200429988391056905249381117491078827009822349580613636009094503671154374712291299977528061039954561357517540222664489528420920483781789300626163614521968234429016350532054389420057070292476191042483534075620337806979763455011178265317920948818774752211815571162176286780760623412952503175358664012666070856869527894709016912905267957546879082367439562927309995194996972669827301055997138251575254782424275270625366393386448123549707084888611550441355124557433668573648932570594508690131143008789321827684517890110657574538635232220946414486951553107788974543856424892179317477723954262794569831096565105265888729649296974306925454268782161214732102828655714906515013769145602385506336190818733609978127078196162008833526484605131003391600110155784917391171477620047353391888892707146071864237256295138644412031939081538355039463557369250589906256547025293176081248514043997005217718760428327194486364228238031133742413541103809076900338383813751352436649101886394319203001962795321702069398213769339255443221187239367910865707561823749334228703099809384007923671947423611175034528040411590133712811626876391626866709189133451853169927899675640096218611176428352749185436837131657121169864475373709049398089390545196797368757832317536016822875457997005553977051008655038951941357014232771860160469326326427275170050145661772337418780562448494257840105613163943717586558259227743725040764597407846977620443026011130454870962291026568931327224095834235822523437159899212628990314928421724066930588696630275687368849860209076184363213764127333210444917550328030648070046689073449670357711381609781101361445363470671971297835376165513441158253465721378822790848204842959004509081854372478795489301038690350432867032594457095161559623815774480124792297600895401499884872995626076670425720284915910711712020423245726335158941025182794869957603987698199784913871730448019523057892016664736724389652308340164813623695683722065017832256885230167075791290833193068543581143409617796103756109502553298635948650953364480424185474774933135376630290302776735351181568723237500558856967507752057836909205711091816003542767265025165536961878192855737264641125975402989649747936155370881469348375108428814246209862530723095751610429135702228148291371827286262243531457174715242853956521872643518005327327562690847199241516291792208080105126558465274543005733523075110930696560185199240107674351460220860180491976546016655866112750579605921164482371738427270830209240008731957220265296908126814239815336539980061241014772043764705039223740468572178526430673837630203 197193413743489453738470046745538868341930444663404642247092058622334969456957389480479146604830912080579175472858897632279202512086763094975514025350291093222771797275486428675819496852028715396989903665177805494558481482128987706735340921763175581614266171715243394344163371170712837895582923855531345761773255321588748453830369245458239427777420602875463052918364462432866607778362109001986273628510898928816652342635843404392229007593374467557378066630387994003931447361338270788624204423867826021213408654549155873436916344933916266720357124432749090558641973508162229992228837866840805190893217426167617223789111761566959190087531082674218392906445374913538306839624137387330691655447667184380081136476990020668657158652513168328976442075473871075093697426717917565102103821420666548335588126428167711642064047850363152912916602218333034029621231139235120267738665510128018695363922020008967282079033374463651900587335084717695872285354785507054247189714099572963705558239790598118345398502347464782185585826099464641605093992548395227873673785259619394396455331612312539863748595185739920647723450914307078883162857990273873939240935492246615469446840500667646015480931593705705904330394642239787910880441957073156359605814304330491459002737031741683516221648246000983522585181246652368770138617014148035724866304618264652542835417492170201471477949652265855844563034145692383915638959602309702880451965593601952965906122580888076340481647810746218798980684581903544300715136082203390948191736124570480737494909012333840709952968494280651043914417609684143551044955889985116977814558170302147740540058376317804025362270084570246971596001438746500029405251836013910646197572105653488920740591072084905351558827634743705213891405533595222901654210666120669358451172291587290607403474445293618887705770446183100619511063211624615809830198138659458154820118810231091011100296624359791199041296304744295051609334000243146663652115499200232092206132010853248592675255031975603765241636879200998872105481599841681008049510569690869454250498924444295164756255104721302009428815347175245771467607650931327406501306140552698736265095669393066793936654299335766322290961658368308578111107690282818921520341007766788844915518274493774809025577251288746392206315818394743362637448186233408470417514107358540654078393690208384371532820628284107422505808374945440462436861193531653150461217442481755264200313539742052919451809235069718204725876666983473674706850601668875489579807929745295188260000138709003042909882661865985043333888989591641421645088380026269099383440172609581018828853725979336398649447576331743324425165563578759022546894446178470901972317611647209287801853456795416028815521733016793166979180015279801176577206508984247701161720722905072629606800332942775934022065061540631984807153722538144414536110636592172313598832189999147122512378772172578913688650600318570825248569639749359142304887406537393419640753597012387207319046465631048885520399215907332218481219691962281907790804149385471633289502476537239733911679618526965995887354990202324463008562486210723967333269717723393826551115808488209939938501023410352690649029486212104765309300339485631769640270218152326437768252474333393283322217907222166848229992054445726109301812404 319065645794586574934516509930577727889854111209171807300900681965557600351742514347937137881985464180414488159029102259581328794358362618082756616062127560422100589743620125082513402277307746860293529070109665133726597231949001943474221863028202722250958591074938749869908359780877295887596805573640595587178764861693839351533582247983020521583666873843953698880861576989406498389160923807159187340339689886069784943918889825272268591989861293500629129195095513064866309945291223866046310952037400627426551631699489991476395348480397866307516529165586678091380604511997743744931722927484812383559961555753154605446220342133492451801203702607485963272783239473922523026984523735812379289919574600547447336906978411725562408033630659407803451897823451688729706521221588719476816112720644076396628080989525229182286712339891573833400384007633660193235753107469549284089197564517438752434214496200009765613108994801458880350790095895961190206303604281806459005285261749250486318863203550621520757166360130853042455353994173658517999260505942106956041224822546704391650328584982367164804592323991495902505875189577704249556244438397423646325824103797056824571397934336219664413502188214396035473403431561615595398332067730730898241046525276905945954290139530658060078073138180301000309135509446938601235182119413924454515601592571577997104199653384933574306605367172370858332179748077890251829778335919681007530161755610786492390727711891467940591803595663609970458304629256936189607843228275255185448031263214892769433990550688880173510337744870557300461442902860224799558999886990334696574986497496634104768296407451546438903373893647147309979815190098936678507138230333113648160367427355558318954360411340348572746067002654570921453229282929451604754020050128593030398595902762325135443886035427331699332646837809967328700196663477785737729873778755676765996547162980276447937428281480961063516670013793693140999879197040515421484433035217054967664129016407225643683910070927545122255869651061159341431808027116851058195172342028288234812947418702135270369419048438888567688043090900286536065015497908947849527317271007569698556122238324394018032488535158289759450860870997298893039529414349749510216971283454157694775727350678138022789704584499191309756643849042813409326521635903766181799123888459902099441864362179682206908986141725265675971529753768231310641704152536162232315589921277244565239003890174919952046266330231277828541651147108265972307746003168760362575434006415720908544916049420715063333128388201143984359071784461599025632786579811182971113888192132638910845518462703726050957787741145367020108887628596591279432124613254262192805510680190790431211471252899172138318075031652741817932544495703986651352139644360877991464497458256254198330037833501632901529817119377541190518245538541687181801135802129134191791687927263788248487781761822326849844021481787919200356998453995569004835610502289003848776455825160678579146332727874580342695114458761288740353863209967609235353494996584713149581294684617344860470144893069971729410430101133021023193761726318398318793490577903885803097132464354322690518106944574835062387456757042314005318032296705897066548397032392141774308232535574408055365982612261390588698564232972156783139442607 516259059538076028672986556676116596231784555872576449547992740587892569808699903828416284486816376260993663631887999891860531306445125713058270641412418653644872387019106553758332899129336462257283432735287470628285078714077989650209562784791378303865224762790182144214071730951590133783179729429171941348952020183282587805363951493441259949361087476719416751799226039422273106167523032809145460968850588814886437286554733229664497599583235761058007195825483507068797757306629494654670515375905226648639960286248645864913311693414314133027873653598335768650022578020159973737160560794325617574453178981920771829235332103700451641888734785281704356179228614387460829866608661123143070945367241784927528473383968432394219566686143827736779893973297322763823403947939506284578919934141310624732216207417692940824350760190254726746316986225966694222856984246704669551827863074645457447798136516208977047692142369265110780938125180613657062491658389788860706194999361322214191877102994148739866155668707595635228041180093638300123093253054337334829715010082166098788105660197294907028553187509731416550229326103884783132719102428671297585566759596043672294018238435003865679894433781920101939803798073801403506278774024803887257846860829607397404957027171272341576299721384181284522894316756099307371373799133561960179381906210836230539939617145555135045784555019438226702895213893770274167468737938229383887982127349212739458296850292779544281073451406409828769438989211160480490322979310478646133639767387785373506928899563022720883463306239151208344375860512544368350603955776975451674389544667798781845308354783769350464265643978217394281575816628845436707912390066347024294357939533009047239694951483425253924304894637398276135344634816524674506408230716249262388849768194349615742847360480720950587038417283993067948211259875102401547560071917415134920816665973211367459037724905840752262557966318537988192609213197283662085136548534417287059870261027260474236359165102903148887497506530262158213537289626958532066244682911719157689063446343146430435125674153160190577116858438075532307532623148840275256028623411560268434821217907717460811969142834494056081741822529365607471150637104632568431737312291220946539691245625171912831815281835787937701962959667437556771963969822137174652216637995818442753520258052388066578441806770009373098477338128713671773078565346067815382776807363758999829439317429916972871498075565300996033267527814091739647014596604837635852155241936161016096804916188129718106243011050067129027692960774053240447277874959837452070497328364742219929674372188683062449607235317477110344534053192175350301979019059432733094777828291837999719013324709694588167133596764669534984911724510983787827929346153345125692626218181161326827936838166444408835551882180918173175325399261079831596337246438721306505390520117262935371000160533994905763532672082106490025605568093744928147140497908826397268417209422173065786465379193505629228215513674668620958835082901929891143144299145970184782870797161154584594381824511596937725297785091335345486202324212529122286126760295627279629648248272842532630456607967985187753036486243254418770627332636191528836188667250544468212076485009907801338688200519483557436928556287417882892441255011 835324705332662603607503066606694324121638667081748256848893422553450170160442418176353422368801840441408151790917102151441860100803488331141027257474546214066972976762726678840846301406644209117576961805397135762011675946026991593683784647819581026116183353865120894083980090732467429670776535002812536936130785044976427156897533741424280470944754350563370450680087616411679604556683956616304648309190278700956222230473623054936766191573097054558636325020579020133664067251920718520716826327942627276066511917948135856389707041894711999335390182763922446741403182532157717482092283721810429958013140537673926434681552445833944093689938487889190319452011853861383352893593184858955450235286816385474975810290946844119781974719774487144583345871120774452553110469161095004055736046861954701128844288407218170006637472530146300579717370233600354416092737354174218835917060639162896200232351012408986813305251364066569661288915276509618252697961994070667165200284623071464678195966197699361386912835067726488270496534087811958641092513560279441785756234904712803179755988782277274193357779833722912452735201293462487382275346867068721231892583699840729118589636369340085344307935970134497975277201505363019101677106092534618156087907354884303350911317310802999636377794522361585523203452265546245972608981252975884633897507803407808537043816798940068620091160386610597561227393641848164419298516274149064895512289104823525950687578004671012221665255002073438739897293840417416679930822538753901319087798651000266276362890113711601056973643984021765644837303415404593150162955663965786370964531165295415950076651191220896903169017871864541591555631818944373386419528296680137942518306960364605558649311894765602497050961640052847056797864099454126111162250766377855419248364097111940878291246516148282286371064121803035276911456538580187285289945696170811686813213136191643906975153187321713326074636332331681333609092394324177506620981569634342027534390043667699880043075173830694009753376181323317554969097654075383124439855253747445923876393761848565705495093201599079144804901528975818843597638646749223105555940682567838133377340146041854830001631369652345841192683400362906364190166518982317941954283574675104234466972975850050854604986420287129011719603516480370181290491458040940834015761884278344852962122414567748785350792911734638774448867882481903083720269498603977615092397285036244394678321320091892823544341895532273861809178961200005619322342608006396214730675942576737005349832237550433169576139438268273012052032558514839472910661539648635041611216556874858840519890651386788500565023058622477364642940820771941581411143672686995287583338972028790150224795962593760305451671796322276802844269006687774479281485797706003684090715639417581026266875999946041737081699300295714365843644799621518778138382240850440697182208044526723619487942295817232613376693563894409225962566547740497151976108411115401117193665247333744365611711921380209570910628133429909699188946111897500378497794142554897932452091845771929454851969404666909454708215192468366509396085938847520604920250873531165432745380737196855320974714912560022815423943000296732775945364932897425902737064282936609986384717545482209394054183131744948025627120520390039675580697618 1351583764870738632280489623282810920353423222954324706396886163141342739969142322004769706855618216702401815422805102043302391407248614044199297898886964867711845363781833232599179200535980671374860394540684606390296754660104981243893347432610959329981408116655303038298051821684057563453956264431984478285082805228259014962261485234865540420305841827282787202479313655833952710724206989425450109278040867515842659517028356284601263791156332815616643520846062527202461824558550213175387341703847853924706472204196781721303018735309026132363263836362258215391425760552317691219252844516136047532466319519594698263916884549534395735578673273170894675631240468248844182760201845982098521180654058170402504283674915276514001541405918314881363239844418097216376514417100601288634655981003265325861060495824911110830988232720401027326034356459567048638949721600878888387744923713808353648030487528617963860997393733331680442227040457123275315189620383859527871395283984393678870073069191848101253068503775322123498537714181450258764185766614616776615471244986878901967861648979572181221910967343454329002964527397347270514994449295740018817459343295884401412607874804343951024202369752054599915080999579164422607955880117338505413934768184491700755868344482075341212677515906542870046097769021645553343982780386537844813279414014244039076983433944495203665875715406048824264122607535618438586767254212378448783494416454036265408984428297450556502738706408483267509336283051577897170253801849232547452727566038785639783291789676734321940436950223172973989213163927948961500766911440941238045354075833094197795385005974990247367434661850081935873131448447789810094331918363027162236876246493373652798344263378190856421355856277451123192142498915978800617570481482627117808098132291461556621138606996869232873409481405796103225122716413682588832850017613585946607629879109403011366012878093162465588632602650869669526218305591607839591757530104051629087404651070928174116402240276733842897250882711585475768506387281033915190684538165466603612939840104994996140620767354759269721921759967051351151130261795589498361584564094128106568198558053759315641970774204146401922934505929728513835340803623614886373691595865896050774158218601021963686420268256075066713682563183917926953254461280178115486232399880096787606482380466955815363792599681744011872926206011195574856798834844671792997869204648795244224117638750008865695042417460833269895076706775291745266336939212844032066885917878737753102154748425680151275819150488335402039744993332568079920188536499486087112108544921617078770194262840069850950172258376099587709176994012947291883390162732119728382361167263866789869238120672288348472585268560991811787755993517671562307210831951051129376716933820578907854203714166390450572633581481213887541169044060701350374475628679571747202572728161789658990488102829812138376909365646000899251568134641485425299116606319941798385610874669506810152077091114885838799126141808098530658024029013827391521642093288525082715322889006926514049233793916263847180006000283803711995598410151376642891047011169158445062393629010039387951431322880545210568460429243551151546572697569088954738925731533481078198461202555390010732742383651228505462555676807807922568021952629 2186908470203401235887992689889505244475061890036072963245779585694792910129584740181123129224420057143809967213722204194744251508052102375340325156361511081778818340544559911440025501942624880492437356346081742152308430606131972837577132080430540356097591470520423932382031912416524993124732799434797015221213590273235442119159018976289820891250596177846157653159401272245632315280890946041754757587231146216798881747501979339538029982729429870175279845866641547336125891810470931696104168031790481200772984122144917577692725777203738131698654019126180662132828943084475408701345128237946477490479460057268624698598436995368339829268611761060084995083252322110227535653795030841053971415940874555877480093965862120633783516125692802025946585715538871668929624886261696292690392027865220026989904784232129280837625705250547327905751726693167403055042458955053107223661984352971249848262838541026950674302645097398250103515955733632893567887582377930195036595568607465143548269035389547462639981338843048611769034248269262217405278280174896218401227479891591705147617637761849455415268747177177241455699728690809757897269796162808740049351926995725130531197511173684036368510305722189097890358201084527441709632986209873123570022675539376004106779661792878340849055310428904455569301221287191799316591761639513729447176921817651847614027250743435272285966875792659421825350001177466603006065770486527513679006705558859791359672006302121568724403961410556706249233576891995313850184624387986448771815364689785906059654679790445922997410594207194739634050467343353554650929867104907024416318606998389613745461657166211144270603679721946477464687080266734183480751446659707300179394553453738258356993575272956458918406817917503970248940363015432926728732732249004973227346496388573497499429853513017515159780545527599138502034172952262776118139963309756758294443092245594655272988031280484178914707238983201350859827397985932017098378511673685971114939041114595873996445315450564536907004258892908793323475484935109298315124393419214049536816233866843561846115860556358348866726661496027169994727900442338721467140504776695944701575898199801170471972405573798747764127189330091420199530970142597204315645879440571155008625191576872014541025254676362195725402166700398297134544952738219056320248161764375132459444502881523564149143392593478650647375073893677477940519104343275770612961601933831488618795960070100758518586759356365543756885885736491750885659281820850428281616593821314490107504580663230584445395289926603675051797025891082919393099198039134722153719761478491937610714153491456639450737281434722065073819934833719233464801306404806723669944506235895580019462916634882108778036940357314088590600262524359336786492317748757133060807649459996488880470590166336492309715280781509601907012688860322869152614010920422187899754936206316382609976045125629370990286059209895308477530701189225922451092714731057199502804539916840554517688803036266048370036769941528440357212975125724891900139887431079980647774980852698443504085763320930756634714215476272078504994496090224163495967262042689610495139009747236243272406037793105233383884372243847884322518062501986380641662795816417688184845920100872220126796566782973453488182797328197962243602650247 3538492235074139868168482313172316164828485112990397669642665748836135650098727062185892836080038273846211782636527306238046642915300716419539623055248475949490663704326393144039204702478605551867297750886766348542605185266236954081470479513041499686078999587175726970680083734100582556578689063866781493506296395501494457081420504211155361311556438005128944855638714928079585026005097935467204866865272013732641541264530335624139293773885762685791923366712704074538587716369021144871491509735638335125479456326341699298995744512512764264061917855488438877524254703636793099920597972754082525022945779576863322962515321544902735564847285034230979670714492790359071718413996876823152492596594932726279984377640777397147785057531611116907309825559956968885306139303362297581325048008868485352850965280057040391668613937970948355231786083152734451693992180555931995611406908066779603496293326069644914535300038830729930545742996190756168883077202761789722907990852591858822418342104581395563893049842618370735267571962450712476169464046789512995016698724878470607115479286741421636637179714520631570458664256088157028412264245458548758866811270291609531943805385978027987392712675474243697805439200663691864317588866327211628983957443723867704862648006274953682061732826335447325615398990308837352660574542026051574260456335831895886691010684687930475951842591198708246089472608713085041592833024698905962462501122012896056768656434599572125227142667819039973758569859943573211020438426237218996224542930728571545842946469467180244937847544430367713623263631271302516151696778545848262461672682831483811540846663141201391638038341572028413337818528714523993575083365022734462416270799947111911155337838651147315339762674194955093441082861931411727346303213731632091035444628680035054120568460509886748033190026933395241727156889365945364950989980923342704902072971354997666639000909373646644503339841634071020386045703577539856690136041777737600202343692185524048112847555727298379804255141604494269091981872216143213505808931584680653149756073971838557986736627911117618588648421463078521145858162237928219828725068870824051269774456253560486113943179777945149687061695259819934034871773766212090689337475306467205782783410177893978227445522932437262439084729884316224087799414018397171806480561644471920065926883348479379512935992275222662520301279904873052797317939187947563610830806582626732842913598820109624213629176817198813651962592511783496151996221033694460348502511700052243209659329088910735721214440414939077091542019223650999313287734538620809265828306400109016380908416331526490400909539810821652782996928846666525348191469136926452052305673499762369888701037307170457250622208918305900378356256042030899093703149699808262437524583280575396734674304332726942882348862262723489448181732921024219527089639599993935102327664368106041600464147955441509367195424855896207729098835830711347750209321050998997888415414586347364669765894151151887169162911749626971015237004139552283421781980719605063363097869859624957553319557237194603814720215760075790500592906241600806387014273211848055557532638757275631223837360673650443952344801487399035869090760071075335380588527349898766383307122656262230859538950434201958950738474136005884811624602876 5725400705277541104056475003061821409303547003026470632888445334530928560228311802367015965304458330990021749850249510432790894423352818794879948211609987031269482044870953055479230204421230432359735107232848090694913615872368926919047611593472040042176591057696150903062115646517107549703421863301578508727509985774729899200579523187445182202807034182975102508798116200325217341285988881508959624452503159949440423012032314963677323756615192555967203212579345621874713608179492076567595677767428816326252440448486616876688470289716502395760571874614619539657083646721268508621943100992029002513425239634131947661113758540271075394115896795291064665797745112469299254067791907664206464012535807282157464471606639517781568573657303918933256411275495840554235764189623993874015440036733705379840870064289169672506239643221495683137537809845901854749034639510985102835068892419750853344556164610671865209602683928128180649258951924389062450964785139719917944586421199323965966611139970943026533031181461419347036606210719974693574742326964409213417926204770062312263096924503271092052448461697808811914363984778966786309534041621357498916163197287334662475002897151712023761222981196432795695797401748219306027221852537084752553980119263243708969427668067832022910788136764351781184700211596029151977166303665565303707633257649547734305037935431365748237809466991367667914822609890551644598898795185433476141507827571755848128328440901693693951546629229596680007803436835568524870623050625205444996358295418357451902601149257626167935258138637562453257314098614656070802626645650755286877991289829873425286308320307412535908642021293974890802505608981258177055834811682441762595665353400850169512331413924103774258169492112459063690023224946844654075035945980637064262791125068608551619998314022904263192970572460994380229191062318208141069129944233099463196516063600592321911988940654130823418047080617272371245873101563471873788514553451423571317282733300119922109292871177862916711259400497403062415457357151252511820933325003894702686572307838682119832852488467475967455375082959105691140586062680266941295865573647519995971350354453361656585915585351743897451188884589911354234402743908809295004983354747038360791408601754765992768470777608799458164486896584714521222344366756616228126728723408847052525371386230002943662079384868701313167676353798550530737837043531223334223792408516458221461709558890210382732215936173564357408848478248275247037655502854544888630119105521366733317163909752141320166609730341542752143339045114733918706386932577755531419548067878600953991622569822983129851646821245543717856816863680385758812992775541733175722250179735657949908163953942052566028659149275619988968956518566390235880195467448565395498332232740571885615144894499063435192064143044233091355194421781347088679703650520416123002082600574422424210440193081070880357481484065791516206629537019937270201302035782056197391219954503187919187454697187417935539199681691155411372449979265277175321921868150685044010872850712323401057405320558125360449434431236347869005587402331824969882981535254537666052671648504511874496243398466755677336229173731246920191608822573061716022251323166316454568153042757134450986335517217175412438921271464203847055227253123 9263892940351680972224957316234137574132032116016868302531111083367064210327038864552908801384496604836233532486776816670837537338653535214419571266858462980760145749197346199518434906899835984227032858119614439237518801138605881000518091106513539728255590644871877873742199380617690106282110927168360002233806381276224356282000027398600543514363472188104047364436831128404802367291086816976164491317775173682081964276562650587816617530500955241759126579292049696413301324548513221439087187503067151451731896774828316175684214802229266659822489730103058417181338350358061608542541073746111527536371019210995270623629080085173810958963181829522044336512237902828370972481788784487358956609130740008437448849247416914929353631188915035840566236835452809439541903492986291455340488045602190732691835344346210064174853581192444038369323892998636306443026820066917098446475800486530456840849490680316779744902722758858111195001948115145231334041987901509640852577273791182788384953244552338590426081024079790082304178173170687169744206373753922208434624929648532919378576211244692728689628176218440382373028240867123814721798287079906257782974467578944194418808283129740011153935656670676493501236602411911170344810718864296381537937562987111413832075674342785704972520963099799106800099201904866504637740845691616877968089593481443620996048620119296224189652058190075914004295218603636686191731819884339438604008949584651904896984875501265819178689297048636653766373296779141735891061476862424441220901226146928997745547618724806412873105683067930166880577729885958586954323424196603549339663972661357236827154983448613927546680362866003304140324137695782170630918176705176225011936153347962080667669252575251089597932166307414157131106086878256381421339159712269155298235753748643605740566774532791011226160599394389621956347951684153506020119925156442168098589034955589988550989850027777467921386922251343391631918805141011730478650595229161171519626425485643970222140426905161296515514542101897331507439229367395725326742256588575355836328381810520677819589116378593586044023504422184212286444224918195161124590642518344047241124810706922142699858765129689047138250579849731288269274517675021385694320830053505566574192011932659970995916300541236720603571626469030745310143780775013399933209285053318972591298269578482323175015377143923975687977633703423583535154982719170897834623215099084954304623157710320006945845112990763171060811070760058743189651723888239348978621617221418976526823238841052055887824170756481829234881064338384918019674667116376340685376374278709970372530986154509620252556361056365370639813792527052284161184244678659627774555853235420319796864991249223023279281358193925889347312774608421134973898617148373657935856816021147282349819198831790378074413005306956580803376154702371308206793290120410058104410264942528465810904341036512389724676908921687723935728372850648617951511356833055195279635369089535283857220591338569822708362593440782382387686983404829458743703848870290107373970720571948358610724877795319964264154646996423659506180308573425776269995808466385721610204287261787505720080759140406121288573975218645956060699582644137051402839850516215220951460165413396681845874467651377371389659745600209731866851855999 14989293645629222076281432319295958983435579119043338935419556417897992770555350666919924766688954935826255282337026327103628431762006354009299519478468450012029627794068299254997665111321066416586767965352462529932432417010974807919565702699985579770432181702568028776804315027134797655985532790469938510961316367050954255482579550586045725717170506371079149873234947328730019708577075698485124115770278333631522387288594965551493941287116147797726329791871395318288014932728005298006682865270495967777984337223314933052372685091945769055583061604717677956838421997079330117164484174738140530049796258845127218284742838625444886353079078624813109002309983015297670226549580692151565420621666547290594913320854056432710922204846218954773822648110948649993777667682610285329355928082335896112532705408635379736681093224413939721506861702844538161192061459577902201281544692906281310185405655290988644954505406686986291844260900039534293785006773041229558797163694990506754351564384523281616959112205541209429340784383890661863318948700718331421852551134418595231641673135747963820742076637916249194287392225646090601031332328701263756699137664866278856893811180281452034915158637867109289197034004160130476372032571401381134091917682250355122801503342410617727883309099864150887984799413500895656614907149357182181675722851130991355301086555550661972427461525181443581919117828494188330790630615069772914745516777156407753025313316402959513130235926278233333774176733614710260761684527487629886217259521565286449648148767982432580808363821705492620137891828500614657756950069847358836217655262491230662113463303756026463455322384159978194942829746677040347686752988387617987607601506748812250180000666499354863856101658419873220821129311825101035496375105692906219561026878817252157360565088555695274419131171855384002185539014002361647089249869389541631295105098556182310462978790681908291339434002868615762877791906704483604267165148680584742836909158785763892331433298083024213226773942599300393922896586518648237147675581592470058522900689649202797652441604846069553499398587381289903427030287598462102420456216165864043212475165160283799285774350481432944589439464439642642503677261583830680699304184800543927365600613687425963764387078150036178768058523053745266532488147531629628059938008462166025116669655808485266837094762012625288855653987501974114272992026250394232058415623615543175766332716600530389678061049164327528469659549008333990227307226742784237608740722742785709843987148593193376054433901098024581378220109453118836726061599694131872104924442157310924364153555977492750104203182301909088496630656207438042974177020220392803496806032971078269705028945191275589307940507469545878316269293174811370854094084596939053434189048761719167964964093330853813266477148351189672158570576483718396886496940640826181106492865516950890021344534117583270082158392987479240142357909870585888152813392615111392670855323592723203044675288525987758247562275131937793760136962670106634065625717020975151384843571284271759668130198353445324713589078232771528511767710905250746152977343720923387662875935766299380216324157607161798624803148949892876252308405217198767425091173682531675519613208170531132832209984868552783828581017064413578922079109122 24253186585980903048506389635530096557567611235060207237950667501265056980882389531472833568073451540662488814823803143774465969100659889223719090745326912992789773543265645454516100018220902400813800823472076969169951218149580688920083793806499119498687772347439906650546514407752487762267643717638298513195122748327178611764579577984646269231533978559183197237671778457134822075868162515461288607088053507313604351565157616139310558817617103039485456371163445014701316257276518519445770052773563119229716233998143249228056899894175035715405551334820736374019760347437391725707025248484252057586167278056122488908371918710618697312042260454335153338822220918126041199031369476638924377230797287299032362170101473347640275836035133990614388884946401459433319571175596576784696416127938086845224540752981589800855946805606383759876185595843174467635088279644819299728020493392811767026255145971305424699408129445844403039262848154679525119048760942739199649740968781689542736517629075620207385193229620999511644962557061349033063155074472253630287176064067128151020249346992656549431704814134689576660420466513214415753130615781170014482112132445223051312619463411192046069094294537785782698270606572041646716843290265677515629855245237466536633579016753403432855830062963949994784898615405762161252647995048799059643812444612434976297135175669958196617113583371519495923413047097825016982362434954112353349525726741059657922298191904225332308925223326869987540550030393851996652746004350054327438160747712215447393696386707238993681469504773422787018469558386573244711273494043962385557319235152587898940618287204640391002002747025981499083153884372822518317671165092794212619537660096774330847669919074605953454033824727287377952235398703357416917714265405175374859262632565895763101131863088486285645291771249773624141886965686515153109369794545983799393694133511772299013968640709685759260820925119959154509710711845495334745815743909745914356535584271407862553573724988185509742288484701197725430335815886043962474417838181045414359229071459723475472030721224663139543422091803474115713474512516657263545046858684208090453599975867205941985633115611121991727690044289373930772951779258852066393625014854049493939792625620085934760303378691272899371630149522776011842631928306643027993147293515484997707967925386967590012110139156549264543631621205397697808147008969565129893038838714628130070955874310850396623906162155090699530470619768392733416958950631023586587362339964204686370810387434245431942258071854506410613101173791503754745736266810508212790300816436020894736684542132002370356759543358274459136444448734490327135361264899052431271361886206498589501893936440498612587221865663471767663582067783232505827992701745312711370045864782866450314783292162644191340890153658146252961946731186089705093290230761236239210903130459479355832248875154095659806835301909166964078086282721234506104324749448166587950490692682258486901895879864557580955924868572720176147823946074936092809329565891265258758814291856220118278855076148765288977743725229195188017948019478676522422973152187309109273080223028086885936404916747567919913377124168538832313007987861335818827931024198746896471073373583927814678084452519930155218240762664623310788930965121 39242480231610125124787821954826055541003190354103546173370223919163049751437740198392758334762406476488744097160829470878094400862666243233018610223795363004819401337333944709513765129541968817400568788824539499102383635160555496839649496506484699269119954050007935427350829434887285418253176508108237024156439115378132867247159128570691994948704484930262347110906725785864841784445238213946412722858331840945126738853752581690804500104733250837211786163034840332989331190004523817452452918044059087007700571221458182280429584986120804770988612939538414330858182344516721842871509423222392587635963536901249707193114757336063583665121339079148262341132203933423711425580950168790489797852463834589627275490955529780351198040881352945388211533057350109427097238858206862114052344210273982957757246161616969537537040030020323481383047298687712628827149739222721501009565186299093077211660801262294069653913536132830694883523748194213818904055533983968758446904663772196297088082013598901824344305435162208940985746940952010896382103775190585052139727198485723382661922482740620370173781452050938770947812692159305016784462944482433771181249797311501908206430643692644080984252932404895071895304610732172123088875861667058649721772927487821659435082359164021160739139162828100882769698028906657817867555144405981241319535295743426331598221731220620169044575108552963077842530875592013347772993050023885268095042503897467410947611508307184845439161149605103321314726764008562257414430531837684213655420269277501897041845154689671574489833326478915407156361386887187902468223563891321221774974497643818561054081590960666854457325131185959694025983631049862866004424153480412200227139166845586581027670585573960817310135483147160598773364710528458452414089371098081594420289511383147920461696951644181560064422943105157626327425979688876800198619663935525430688799232067954609476947431391594050600254927988574917387502618549978939012980892590330657193444743057171754885007023071209722969062427300498119353232402404692199622093419773515472882129761108926273124472326070732693042820679184764019140504800115119365965503074850072133666075141027489741271407466092554936317129508729016573276629040842682747092929199654593421305393239307511898524690456841309078139688672576521278375120075838272656053085301977651022824637581195452856849204901169174553399285608707371812081139035219959361951454462330171305837288590911380786301967211319418228000130168776726723644266177373807824196103062706990396214797536027438807996691972952530991991321283244622591471797866504640084895225258593331819100838098109495120460962725660183547633075104941928370109538285119445234768167919177576859206922881631774201895162373133017645979851360958043876682086786342251764804234913544585618279747385493498004607367302009335925120517307669808101979787171402062420317395995976430245853593409271678929888993694896646204220444192591820394257138142063277980621346016274981689946571168390545339203487143704657969907960908745042726874955282912240410143657863140491877946985274502210613691332803461966716529715730383927268575950495908232496935956158794386266152729074354729718538180273118431708565316393078534586253022197881278571990686581754458947510294437388482939046821779729036889711010074243 63495666817591028173294211590356152098570801589163753411320891420428106732320129729865591902835858017151232911984632614652560369963326132456737700969122275997609174880599590164029865147762871218214369612296616468272334853310136185759733290312983818767807726397447842077897343842639773180520820225746535537351561863705311479011738706555338264180238463489445544348578504242999663860313400729407701329946385348258731090418910197830115058922350353876697242534198285347690647447281042336898222970817622206237416805219601431508486484880295840486394164274359150704877942691954113568578534671706644645222130814957372196101486676046682280977163599533483415679954424851549752624612319645429414175083261121888659637661057003127991473876916486936002600418003751568860416810033803438898748760338212069802981786914598559338392986835626707241259232894530887096462238018867540800737585679691904844237915947233599494353321665578675097922786596348893344023104294926707958096645632553885839824599642674522031729498664783208452630709498013359929445258849662838682426903262552851533682171829733276919605486266185628347608233158672519432537593560263603785663361929756724959519050107103836127053347226942680854593575217304213769805719151932736165351628172725288196068661375917424593594969225792050877554596644312419979120203139454780300963347740355861307895356906890578365661688691924482573765943922689838364755355484977997621444568230638527068869909700211410177748086372931973308855276794402414254067176536187738541093581016989717344435541541396910568171302831252338194174830945273761147179497057935283607332293732796406459994699878165307245459327878211941193109137515422685384322095318573206412846676826942360911875340504648566770764169307874447976725600109231815869331803636503256969279552143949043683562828814732667845709714714354931250469312945375391953307989458481509230082493365579726908490916072101279809861075853108534071897213330395474273758796636500076571549980327328579617438580748059395232711350912001695844783568218290736162096511257954560887241358832568649748596503047295395832586242770988238134853979312631776629510549933534280224119675116894695683257040581703676928044819553018390504049580820101534813486554214508642915245185864927597833284993835532581977511318822099297290217752004144915684046232595493136020532605506582420446861315040325723817942917229912769509889286044189524491844493301044799435908244465222231182925873373474508927530600788545119457061225128004831410783465402671195082585607923461684239938950044807037402604422457036126346217534133315148297685526075029352713837522640241497490817722269018458006769519553676418697244899550018497666039529805384075448708816818072272814482384238796489413643433428741276382510079488087564476174280778327452068594530677656142195948257455667482178082464038855897807073077402163298659528299126435909601685842284425774589695828996805813168298530475313054900361462891511444568571836708957240176848467048255102920159412012277378146055784854819978819684284848803505668902472154996711996225840350650975902669076528691161904547663749862603790998923648095541606209036381822473152089133991102297638451557397286970540878324380939870405080953222080025468461759955338386762188378889908413094265062542393660200499941039364 102738147049201153298082033545182207639573991943267299584691115339591156483757869928258350237598264493639977009145462085530654770825992375689756311192917639002428576217933534873543630277304840035614938401121155967374718488470691682599382786819468518036927680447455777505248173277527058598773996733854772561508000979083444346258897835126030259128942948419707891459485230028864505644758638943354114052804717189203857829272662779520919559027083604713909028697233125680679978637285566154350675888861681293245117376441059613788916069866416645257382777213897565035736125036470835411450044094929037232858094351858621903294601433382745864642284938612631678021086628784973464050193269814219903972935724956478286913152012532908342671917797839881390811951061101678287514048892010301012801104548486052760739033076215528875930026865647030722642280193218599725289387758090262301747150865990997921449576748495893564007235201711505792806310344543107162927159828910676716543550296326082136912681656273423856073804099945417393616456438965370825827362624853423734566630461038574916344094312473897289779267718236567118556045850831824449322056504746037556844611727068226867725480750796480208037600159347575926488879828036385892894595013599794815073401100213109855503743735081445754334108388620151760324294673219077796987758283860761542282883036099287639493578638111198534706263800477445651608474798281851712528348535001882889539610734535994479817521208518595023187247522537076630170003558410976511481607068025422754749001286267219241477386696086582142661136157731253601331192332160949049647720621826604829107268230440225021048781469125974099916653009397900887135121146472548250326519472053618613073815993787947492903011090222527588074304791021608575498964819760274321745893007601338563699841655332191604024525766376849405774137657460088876796738925064268753506609122417034660771292597647681517967863503492873860461330781097108989284715948945453212771777529090407228743425070385751372323587771130604955680413339302193964136800620695428361718604677728076360123488593677576021720975373366128525629063450173002153994484112746895995476053008384352357785750257922185424528448047796231864361949061747407077326209860944217560579483414163236336550579104235109731809684292373891055651007494675818568592872079983188340099317897470787043357243087777873303710519941494898371342202838620141321970425079409483853795947763374970741745533056133611969227840584793927155530730957321846180705491305378639234979568465378185478800405459489123047935642017759568394595743740280748937689331999819788382580751333622684532938360738350992611278684994678641554402594658618347067354437835137942900807697724561652307915739699704047016377546611929507059623284789699320259192166274429816240978515691872037686874278063149640200555624757676818103202981346525705909052864573565361079845695122412339847539435693697453519584822691702459372518974667904875294618601033574722549193182725232221866795038216645648259362899155982036115963745763565021546559240131715746079046130018137203874172825625153186516360409332153128621077379480246531059574874144003774103144992540616859418241863065457027356989737670405402249443640774018404991333975419961304040452446537092845709698673327296896033311884322122697090210951113607 166233813866792181471376245135538359738144793532431052996012006760019263216077999658123942140434122510791209921130094700183215140789318508146494012162039915000037751098533125037573495425067711253829308013417772435647053341780827868359116077132452336804735406844903619583145517120166831779294816959601308098859562842788755825270636541681368523309181411909153435808063734271864169505072039672761815382751102537462588919691572977351034617949433958590606271231431411028370626084566608491248898859679303499482534181660661045297402554746712485743776941488256715740614067728424948980028578766635681878080225166815994099396088109429428145619448538146115093701041053636523216674805589459649318148018986078366946550813069536036334145794714326817393412369064853247147930858925813739911549864886698122563720819990814088214323013701273737963901513087749486821751625776957803102484736545682902765687492695729493058360556867290180890729096940892000506950264123837384674640195928879967976737281298947945887803302764728625846247165936978730755272621474516262416993533723591426450026266142207174209384753984422195466164279009504343881859650065009641342507973656824951827244530857900316335090947386290256781082455045340599662700314165532530980425029272938398051572405110998870347929077614412202637878891317531497776107961423315541843246230776455148947388935545001776900367952492401928225374418720971690077283704019979880510984178965174521548687430908730005200935333895469049939025280352813390765548783604213161295842582303256936585912928237483492710832438988983591795506023277434710196827217679761888436439561963236631481043481347291281345375980887609842080244258661895233634648614790626825025920492820730308404778351594871094358838474098896056552224564928992090191077696644104595532979393799281235287587354581109517251483852371815020127266051870439660706814598580898543890853785963227408426458779575594153670322406634205643061181929279340927486530574165590483800293405397714330989762168519190000188391764251303889808920368838986164523815115935682637247364847426246225770317478420661524358215306221161240288848463425378672624986602941918632581905425374816881107785488629499908792406768614765797581375790681045752374066037628671879251795764969162707565094678127906473033162326316775115858810624084128104024145550492963923063889848594360293750571834981820622189285120068532910831859711123599008345640441064419770177653777521355843152153713958268436083061331745866965637766716433383470645763033868049380561386013382950807287874592062566605797200166197316875283906866133134936680266277408652037246775883378592490102096407263697099561172114212294765764599337385156440566847227529945727756624556517776319830859930850725996473266718218440596641702245762517380717152796470199489755468808740805782396503882213344300281285445385381603716125941975728659739373994248848249449225277978123228109280651688508272540817505143217930194980063925086167117765019434189462043643505264900751179522311168259414262019530618385000366243524980519251747948602173133915870398665975804162419029485860844290525625043230109134850573797792099315709354028922439332570330997056559324995441295067692372790321965154958275396414928642041329508914206492431232471887052217205309127576946864516357290710892152971 268971960915993334769458278680720567377718785475698352580703122099610419699835869586382292378032387004431186930275556785713869911615310883836250323354957554002466327316466659911117125702372551289444246414538928403021771830251519550958498863951920854841663087292359397088393690397693890378068813693456080660367563821872200171529534376807398782438124360328861327267548964300728675149830678616115929435555819726666446748964235756871954176976517563304515299928664536709050604721852174645599574748540984792727651558101720659086318624613129131001159718702154280776350192764895784391478622861564719110938319518674616002690689542812174010261733476758746771722127682421496680724998859273869222120954711034845233463965082068944676817712512166698784224320125954925435444907817824040924350969435184175324459853067029617090253040566920768686543793280968086547041013535048065404231887411673900687137069444225386622367792069001686683535407285435107669877423952748061391183746225206050113649962955221369743877106864674043239863622375944101581099984099369686151560164184630001366370360454681071499164021702658762584720324860336168331181706569755678899352585383893178694970011608696796543128547545637832707571334873376985555594909179132325795498430373151507907076148846080316102263186003032354398203185990750575573095719707176303385529113812554436586882514183112975435074216292879373876982893519253541789812052554981763400523789699710516028504952117248600224122581418006126569195283911224367277030390672238584050591583589524155827390314933570074853493575146714845396837215609595659246474938301588493265546830193676856502092262816417255445292633897007742967379379808367781884975134262680443638994308814518255897681362685093621946912778889917665127723529748752364512823589651705934096679235454613426891611880347486366657257990029275109004062790795503929460321207703315578551625078560875089944426643079087027530783737415302752050466645228286380699302351694680891029036830468100082362085756290320605144072177590606083773057169459681592885533720613410713607488336019923801792038453794027652883844369671334242442842947538125568620462655950302984939691175632739066532313936677296140656768717676513204658702000541989969934645521042835115588346344073397817296904362420280364088813333811450934427403496164111292364244868390434710107247091682138167054282354923315520560627322907153052153830136203008492199436388827794740919399310577489455121381554543062363238592062703188811818472207738762109880742602333427566040186418842439930335810234080326174191795909937597624221596198132954725062847028742274721779714244116943482713375092258375741115574708870913112831953775220294383467654925254507380064540296217480366847237477462655503532890003008139916900894412036947196958131312162071527442343086803955422597059506971021118384488426731907309625178806549294020819219689371260589296764713671820681628865474380210731913336479811122805489598664958660889666958202159421683910438543481546399438885210324241450377983276381950021912802765112234997826994732191271119744571491600957348935389895192997419146702422710355665910148671936103089812499021463056191988572860122016352352431032738097775039765605928976680387748904062002633549366653029524078181585725544502205160888831186639054380921843266578 435205774782785516240834523816258927115863579008129405576715128859629682915913869244506234518466509515222396851405651485897085052404629391982744335516997469002504078414999784948690621127440262543273554427956700838668825172032347419317614941084373191646398494137263016671539207517860722157363630653057388759227126664660955996800170918488767305747305772238014763075612698572592844654902718288877744818306922264129035668655808734222988794925951521895121571160095947737421230806418783136848473608220288292210185739762381704383721179359841616744936660190410996516964260493320733371507201628200400989018544685490610102086777652241602155881182014904861865423168736058019897399804448733518540268973697113212180014778151604981010963507226493516177636689190808172583375766743637780835900834321882297888180673057843705304576054268194506650445306368717573368792639312005868506716623957356803452824562139954879680728348936291867574264504226327108176827688076585446065823942154086018090387244254169315631680409629402669086110788312922832336372605573885948568553697908221427816396626596888245708548775687080958050884603869840512213041356634765320241860559040718130522214542466597112878219494931928089488653789918717585218295223344664856775923459646089905958648553957079186450192263617444557036082077308282073349203681130491845228775344589009585534271449728114752335442168785281302102357312240225231867095756574961643911507968664885037577192383025978605425057915313475176508220564264037758042579174276451745346434165892781092413303243171053567564326014135698437192343238887030369443302155981350381701986392156913487983135744163708536790668614784617585047623638470263015519623749053307268664914801635248564302459714279964716305751252988813721679948094677744454703901286295810529629658629253894662179199234928595883908741842401090129131328842665943590167135806284214122442478864524102498370885422654681181201106144049508395111648574507627308185832925860271374829330235865814413351847924809510605332463941841909973581977538298667757409348836549093350854853183446170027562355932214689177242059675892495482731691410963504241245449258892221617521596601007555947640099425306796049449175486291279002240077791223035722308711558671506994840142109042560524861999040548186837121975660128226050286214120248239396388390418883398633171136940276498460804854189905136142749912442975685962985689847326607500545076829892214511097053088098845298273535268501330799321653394449055777456238924172145580526505636201476946601572432225390737623684826142892779988996076134914499505503064266089661743113306150926759026490127495535972815471499522072840676746823083207878596553112605450824034502152784453107821164852735256686678097408313381500006156721226580513542596657799464577675284108632271017197811895544761204993563389184365418665773872117288913341304748525022680558593683620108838745989991649943909738146126068719004454153984954340735684578728883747056784723221593611145954082048746447150618407521492500864640002807000335022279046290092754249574943334364405035614970157576761511354419381053841709672327465940464800760722469728202405521853050385495524558903857178575677347872327805790147830087571083934955784163832704043963058280859521955310653472777761707514288465778051155411671632735419549 704177735698778851010292802496979494493582364483827758157418250959240102615749738830888526896498896519653583781681208271610954964019940275818994658871955023004970405731466444859807746829812813832717800842495629241690597002283866970276113805036294046488061581429622413759932897915554612535432444346513469419594690486533156168329705295296166088185430132566876090343161662873321519804733396904993674253862741990795482417620044491094942971902469085199636871088760484446471835528270957782448048356761273084937837297864102363470039803972970747746096378892565277293314453258216517762985824489765120099956864204165226104777467195053776166142915491663608637145296418479516578124803308007387762389928408148057413478743233673925687781219738660214961861009316763098018820674561461821760251803757066473212640526124873322394829094835115275336989099649685659915833652847053933910948511369030704139961631584180266303096141005293554257799911511762215846705112029333507457007688379292068204037207209390685375557516494076712325974410688866933917472589673255634720113862092851429182766987051569317207712797389739720635604928730176680544223063204520999141213144424611309217184554075293909421348042477565922196225124792094570773890132523797182571421890019241413865724702803159502552455449620476911434285263299032648922299400837668148614304458401564022121153963911227727770516385078160675979340205759478773656907809129943407312031758364595553605697335143227205649180496731481303077415848175262125319609564948690329397025749482305248240693558104623642417819589282413282589180454496626028689777094282938874967533222350590344485228006980125792235961248681625328015003018278630797404598883315987712303909110449766820200141076965058338252664031878731386807671624426496819216724875947516463726337864708508089070811115276082250565999832430365238135391633461447519627457013987529700994103943084977588315312065733768208731889881464811147162115219735913688885135277554952265858367066333914495713933681099831210476536119432516057355034707758349350294882557162504064462341519466093829354394386008716830125904045563829725174534358501629809865911914842524602461287776640295014172413361984092190105944203967792206898779791765025692243357079714342110428488453115958342158903402968467201210788993939676984713617616412350688752635287273833343278384031958636627859136544828451663310539765882839015139519983529615992744513218720009252016452398676334753394916823044393162560245457152244589274711131910907690407248238534904512641758851067830667959495060223218954180791986072512123727099262399044386805960334893201480806204371612479455528846591780448581792321531954120991428506887825745207502157078038960487885705148952737053525334885776037003539046724234720430443491069836411774633415420794342544640154982348716627590622896155386537050262298849196222966483555074316701377813372991369428042754705321764591367011600448929736367490464765463541174177393842407946451681423753032829864520592227993550057292731816742315017986083382285044191849055204989247401938066555676155359541649177718860289809276246839128819029888650820466670871141664305495334352071848551716547476717300592029700303360543887922869853177012911636171912736766046596607647512551479388835058503306209719449354609237794466052554578686127 1139383510481564367251127326313238421609445943491957163734133379818869785531663608075394761414965406034875980633086859757508040016424569667801738994388952492007474484146466229808498367957253076375991355270452330080359422174316214389593728746120667238134460075566885430431472105433415334692796074999570858178821817151194112165129876213784933393932735904804890853418774361445914364459636115193871419072169664254924518086275853225317931766828420607094758442248856432183893066334689740919296521964981561377148023037626484067853760983332812364491033039082976273810278713751537251134493026117965521088975408889655836206864244847295378322024097506568470502568465154537536475524607756740906302658902105261269593493521385278906698744726965153731139497698507571270602196441305099602596152638078948771100821199182717027699405149103309781987434406018403233284626292159059802417665135326387507592786193724135145983824489941585421832064415738089324023532800105918953522831630533378086294424451463560001007237926123479381412085199001789766253845195247141583288667560001072856999163613648457562916261573076820678686489532600017192757264419839286319383073703465329439739399096541891022299567537409494011684878914710812155992185355868462039347345349665331319824373256760238689002647713237921468470367340607314722271503081968159993843079802990573607655425413639342480105958553863441978081697517999704005524003565704905051223539727029480591182889718169205811074238412044956479585636412439299883362188739225142074743459915375086340653996801275677209982145603418111719781523693383656398133079250264289256669519614507503832468363751143834329026629863466242913062626656748893812924222632369294980968823912085015384502600791245023054558415284867545108487619719104241273920626162243326993355996493962402751250010350204678134474741674831455367266720476127391109794592820271743823436582807609080086686197488388449389932996025514319542273763794243540997070968203415223640687697302199728909065781605909341815809000061274426030937012246057017107704231393711597415317194702912263856916750318223406007367963721456325207906225769465134051111361173734746219982884377647850961812512787290888239555119690259071209138857582988061414552068638385849105268630562158518867020902443516654038332764654067903034999831736660590085141025706157231976449520972235135088663990734733587806060452208858524978125209830856223493289590048612223763113505486775180051668452091545723961881898851601300366730950056083053270933753874736381459243331283293221405583179886366111734169788062207426623232602326665134048549073641044128239832694499108015428344318091302521422469068355037328870025060000431196031536659230823413595706870001687993740203432294089418503545203445461300943986087727635876352308699529426613561837966877893477832584186285339751955716036170966485136307788303599339381936407056611478266788744696971708501105157726517648740821644449719804276858756122726155003236404645346643975818602640974440700675700253309243179657988890382620066470895345297743496976881400920081190974511806754480371644228657300680838491357354591285267431593611392507900856205122234047241106380574479167707048175688349678070699940748096846591956076569470090559665928372073434699488531281067917233737820387288949877724187314105676 1843561246180343218261420128810217916103028307975784921891551630778109888147413346906283288311464302554529564414768068029118994980444509943620733653260907515012444889877932674668306114787065890208709156112947959322050019176600081359869842551156961284622521656996507844191405003348969947228228519346084327598416507637727268333459581509081099482118166037371766943761936024319235884264369512098865093326032406245720000503895897716412874738730889692294395313337616916630364901862960698701744570321742834462085860335490586431323800787305783112237129417975541551103593167009753768897478850607730641188932273093821062311641712042349154488167012998232079139713761573017053053649411064748294065048830513409327006972264618952832386525946703813946101358707824334368621017115866561424356404441836015244313461725307590350094234243938425057324423505668088893200459945006113736328613646695418211732747825308315412286920630946878976089864327249851539870237912135252460979839318912670154498461658672950686382795442617556093738059609690656700171317784920397218008781422093924286181930600700026880123974370466560399322094461330193873301487483043807318524286847889940748956583650617184931720915579887059933881104039502906726766075488392259221918767239684572733690097959563398191555103162858398379904652603906347371193802482805828142457384261392137629776579377550570207876474938941602654061037723759182779180911374834848458535571485394076144788587053312433016723418908776437782663052260614562008681798304173832404140485664857391588894690359380300852399965192700525002370704147880282426822856344547228131637052836858094176953591758123960121262591112147868241077629675027524610328821515685282693272733022534782204702741868210081392811079316746276495295291343530738093137351038190843457082334358670910840320821465480760385040741507261820605402112109588838629422049834259273524430686750694057675001509554122217598664885906979130689435879013979454685956103480970175906546064368533643404779715287009173026285536180706942088292046953815366457999113950874101479779536222378357686271144704232122837493867767020154933080760127966763860977273088577270822444172154288145975984926149274980429661063894226863416037637374753087106795425718100191215697119015274477209179805846485121239543553648007580019713449353072940773893660993431065319727905004193771716523127279562039469370991974741363993264729814385839486034103267332233015129957885451514805063368914590117124442144308753544956005661187993960961341002113271285971885090134361052073542674946589330688350580048279938746959701589064178435355033975937329720638898870720494883873164683082970004261389886991449861453566888256941239038816308862374083592575150640730793728767179865455507084250169696021374429578797472288126942114950220956106478121860242194460174809181495138492766298469815681359274271858673656083314220429602847694831499402293473092472169326966578477189134914485267818032933516568562949688086069099676805683123233202434250732992985125985494675974973764905110662744400502732744378819467475757346334053455932199231934037933547519967310387243242105734102464753056813396190557194082598957653857291779759736748479048893565993569793925109758228127989306236137156273575884624914088323589784374126953187174996526744343776741892791803 2982944756661907585512547455123456337712474251467742085625685010596979673679076954981678049726429708589405545047854927786627034996869079611422472647649860007019919374024398904476804482744318966584700511383400289402409441350916295749463571297277628522756981732563393274622877108782385281921024594345655185777238324788921380498589457722866032876050901942176657797180710385765150248724005627292736512398202070500644518590171750941730806505559310299389153755586473348814257968197650439621041092286724395839233883373117070499177561770638595476728162457058517824913871880761291020031971876725696162277907681983476898518505956889644532810191110504800549642282226727554589529174018821489200367707732618670596600465786004231739085270673668967677240856406331905639223213557171661026952557079914964015414282924490307377793639393041734839311857911686492126485086237165173538746278782021805719325534019032450558270745120888464397921928742987940863893770712241171414502670949446048240792886110136510687390033368741035475150144808692446466425162980167538801297448982094997143181094214348484443040235943543381078008583993930211066058751902883093637907360551355270188695982747159075954020483117296553945565982954213718882758260844260721261266112589349904053514471216323636880557750876096319848375019944513662093465305564773988136300464064382711237432004791189912687982433492805044632142735241758886784704914940539753509759111212423556735971476771481638827797657320821394262248688673053861892043987043398974478883945580232477929548687160655978062382110796118636722152227841263938824955935594811517388306572451365598009421955509267794450289220975614111154140256331776418423253044148054577674241556934619797589205342659455104447369494601613821603782911062634979367057977200434170450438330852633313591570831815685438519515483182093275972668832585716229739216642654531017347867269558303137761687707042510666988597881932493450231709642808222995683027071684385399547233761670733372313845496892918514842094536241981368119229059199872383565703345344585698895096730925290621543187895022455528844861831488476480140986985897431897912088634262312017042427056531935996937797438936565868669216183584485934625176494957741148521347494356486040320965749577432996076200708290001775277876318302075483054713281089733530859034686699588297296177425976428906805187118014295627275431444183599888971389939645242062979323693315944456778243463372226694856731821006135841086324043160354845322736611244077014232274755988007667431128421417654273479125854832955442422520368110487365370192303915729312483904107616981457960471593369828510312217482774385491426730458242028778731478626888688137270575475539685787679299445152328724533932199473954874010629453615157322318415666525108164479250814479647569668316088738135672292758995466834890448482334640782166495582060162272995465250627486214325961620244099265181593577327053484227218010779364205072094891689639294717952924490714446320781501725874176874951408693238435228674333963864147525177133639745800476241355700868395838537308565262686679603578266590848200805801744597833391001534058364449321297046762316316646198760237866258927443796654737243244064269734673206604820084065875706227715939504256698348787812121065442044186924995383815694221500929206897479 4826506002842250803773967583933674253815502559443527007517236641375089561826490301887961338037894011143935109462622995815746029977313589555043206300910767522032364263902331579145110597531384856793409667496348248724459460527516377109333413848434589807379503389559901118814282112131355229149253113691739513375654832426648648832049039231947132358169067979548424740942646410084386132988375139391601605724234476746364519094067648658143681244290199991683549068924090265444622870060611138322785662608467230301319743708607656930501362557944378588965291875034059376017465047771044788929450727333426803466839955077297960830147668931993687298358123503032628781995988300571642582823429886237494432756563132079923607438050623184571471796620372781623342215114156240007844230673038222451308961521750979259727744649797897727887873636980159896636281417354581019685546182171287275074892428717223931058281844340765970557665751835343374011793070237792403764008624376423875482510268358718395291347768809461373772828811358591568888204418383103166596480765087936019306230404188921429363024815048511323164210314009941477330678455260404939360239385926900956431647399245210937652566397776260885741398697183613879447086993716625609524336332652980483184879829034476787204569175887035072112854038954718228279672548420009464659108047579816278757848325774848867208584168740482895858908431746647286203772965518069563885826315374601968294682697817632880760063824794071844521076229597832044911740933668423900725785347572806883024431245089869518443377520036278914782075988819161724522931989144221251778791939358745519943625288223692186375547267391754571551812087761979395217886006803943033581865663739860367514289957154579793908084527665185840180573918360098099078202406165717460195328238625013907520665211304224431891653281166198904556224689355096578070944695305068368638692488790290872297956308997195436689216596632884587262767839472580921145521822202450368983175165355575453779826039267015718625212179927687868380072422688310207521106153687750023702459295459800374876267147668979229459039726687651682355699255496635074067746025398661773065907350889287864871228686224142913782365085840849098877247478712798041214132332494235628142920074586231536662868592707473285380514136486896517419871950083063074426730442806471632928347693019362615905330980622678521710245293857666744802436158341252964654669459627902465357796583276689793373421257678209661795189920725958210766187469108390278742272432070975193615758101278953403013511552015325552668529779544773110870948158767304117152005504793490919259141592918787681110492240549005196090647457468461430991848129020228592932193776945078509614291848548161762892020302969455327660966653820329517713703784853343692845245322580452606192929429868525774794210598377866752933804648330028941248633110597847854856332020946651548564847915817173656451743501558654686049496380450805695199914278690339912924623155863280902612576783545997587184849107379309202141686223561214169009938837912430287796384146303208985734520335871595883642618718618878835512304524395720773112131841075496735636523117506134693237319510399245156414095158038687180545133786136810057839528598316363048212055181942364872213080141323262876135710849816171140112170380342438565277671099689282 7809450759504158389286515039057130591527976810911269093142921651972069235505567256869639387764323719733340654510477923602373064974182669166465678948560627529052283637926730483621915080275703823378110178879748538126868901878432672858796985145712218330136485122123294393437159220913740511070277708037394699152893157215570029330638496954813165234219969921725082538123356795849536381712380766684338118122436547247009037684239399599874487749849510291072702824510563614258880838258261577943826754895191626140553627081724727429678924328582974065693454332092577200931336928532335808961422604059122965744747637060774859348653625821638220108549234007833178424278215028126232111997448707726694800464295750750520207903836627416310557067294041749300583071520488145647067444230209883478261518601665943275142027574288205105681513030021894735948139329041073146170632419336460813821171210739029650383815863373216528828410872723807771933721813225733267657779336617595289985181217804766636084233878945972061162862180099627044038349227075549633021643745255474820603679386283918572544119029396995766204446257553322555339262449190616005418991288809994594339007950600481126348549144935336839761881814480167825013069947930344492282597176913701744450992418384380840719040392210671952670604915051038076654692492933671558124413612353804415058312390157560104640588959930395583841341924551691918346508207276956348590741255914355478053793910241189616731540596275710672318733550419226307160429606722285792769772390971781361908376825322347447992064680692256977164186784937798446675159830408160076734727534170262908250197739589290195797502776659549021841033063376090549358142338580361456834909811794438041755846891774377383113427187120290287550068519973919702861113468800696827253305439059184357958996063937538023462485096851637424071707871448372550739777281021298107855335143321308220165225867300333198376923639143551575860649771966031152855164630425446052010246849740975001013587710000388032470709072846202710474608664669678326750165353560133589405804640045499269972998072959600772646934749143180527217530743973115215054731922830559685154541613201304907298285218160139851579804022406717768093431063198732666390627290235384149490414431072271857628618170140469361581222426488671795296190252158546129140011532540002491963034392607659912082756957051585326897363308153294020233880341941141936044609104869965444681489899221146571616884629904904518527010926861799297090230629463235601478883676147989425890514089286620834141932969669599031794384612500215533391316269254669487344309420522803403163249209900245641582085610377515508308130231853952857722306371049007324410820665633215780189767388233949442191465455298179861593166127775203528343157400010666011260911847688617085443743909516095443110299336513539045692800115164919389730967751380014350438392183219647013815475402031499618071987600823836279626823433935032913210693642895412007816312795157998855537067497992318368686574981556184153550379461996442843343902702059955464930023892103685227090221204267434420951183981305558439090571115243921578913876438908887737170581481955455990284081826715891355174333024297614624341788523380054122109263271522967868296121057648592588152584398021611663947831915258215327037165764158132786778600306586761 12635956762346409193060482622990804845343479370354796100660158293347158797332057558757600725802217730877275763973100919418119094951496258721508885249471395051084647901829062062767025677807088680171519846376096786851328362405949049968130398994146808137515988511683195512251441333045095740219530821729134212528547989642218678162687536186760297592389037901273507279066003205933922514700755906075939723846671023993373556778307048258018168994139710282756251893434653879703503708318872716266612417503658856441873370790332384360180286886527352654658746207126636576948801976303380597890873331392549769211587592138072820178801294753631907406907357510865807206274203328697874694820878593964189233220858882830443815341887250600882028863914414530923925286634644385654911674903248105929570480123416922534869772224086102833569386667002054632584420746395654165856178601507748088896063639456253581442097707713982499386076624559151145945514883463525671421787960994019165467691486163485031375581647755433434935690991458218612926553645458652799618124510343410839909909790472840001907143844445507089368656571563264032669940904451020944779230674736895550770655349845692064001115542711597725503280511663781704460156941646970101806933509566682227635872247418857627923609568097707024783458954005756304934365041353681022783521659933620693816160715932408971849173128670878479700250356298339204550281172795025912476567571288957446348476608058822497491604421069782516839809780017058352072170540390709693495557738544588244932808070412216966435442200728535891946262773756960171198091819552381328513519473529008428193823027812982382173050044051303593392845151138069944576028345384304490416775475534298409270136848928957177021511714785476127730642438334017801939315874966414287448633677684198265479661275241762455354138378017836328627932560803469128810721976326366476494027632111599092463182176297528635066140235776436163123417611438612074000686452627896420993422015096550454793413749267403751095921252773890578854681087357988534271271507247883613108263935505299644849265220628580002105974475830832209573229999469750289122477948229221458220448964090592772169513904384282765362169108247566866970678541911530707604759622729619777633334505658503394291486762847942646961736562975568312716062202241609203566741975346474124891382085627022527988087937674263848607608602010960765036316500282394900699278564497867910039286482497836364990305887583114180322200847587757507856418098571625880221156108218964619506272190565574237155444521684924584462914392044988644262264428021973604496314925316294322422390802819033322692577850926520704398777689322414288714154500069235917343014442578294289804059236782111205083485758267635189254132781595533046056861184864009704106157170269069691636673339384621217904509934891405798626604763494948330979600861977862205294724204166298562380323317848673274523731102382490965676319814385838608410607921585751920740935951021279758149644281538315955871424088935493355692065685557657012353841539972385752726408038406894212824741540139030304593802699924437274602875639639642352026008279984384472807104599461590683521401337115136511588428182336301804886922309516864179948791869839330916508176239590957460365664539344874540083542765074386467149336144500571352056271406276043 20445407521850567582346997662047935436871456181266065193803079945319228032837624815627240113566541450610616418483578843020492159925678927887974564198032022580136931539755792546388940758082792503549630025255845324978197264284381722826927384139859026467652473633806489905688600553958836251289808529766528911681441146857788707493326033141573462826609007822998589817189360001783458896413136672760277841969107571240382594462546447857892656743989220573828954717945217493962384546577134294210439172398850482582426997872057111789859211215110326720352200539219213777880138904835716406852295935451672734956335229198847679527454920575270127515456591518698985630552418356824106806818327301690884033685154633580964023245723878017192585931208456280224508358155132531301979119133457989407831998725082865810011799798374307939250899697023949368532560075436727312026811020844208902717234850195283231825913571087199028214487497282958917879236696689258939079567297611614455452872703968251667459815526701405496098553171557845656964902872534202432639768255598885660513589176756758574451262873842502855573102829116586588009203353641636950198221963546890145109663300446173190349664687646934565265162326143949529473226889577314594089530686480383972086864665803238468642649960308378977454063869056794381589057534287352580907935272287425108874473106089969076489762088601274063541592280850031122896789380071982261067308827203312924402270518300012114223145017345493189158543330436284659232600147112995486265330129516369606841184895734564414427506881420792869110449558694758617873251649960541405248247007699271336444020767402272577970552820710852615233878214514160493934170683964665947251685287328736451025983740703334560134938901905766415280710958307937504800429343767111114701939116743382623438657339179300478816623474869473752699640432251841679550499257347664584349362775432907312628408043597861833443063874919987738984067383404643226855851083053342473003668864837525455807001459267791783566630325620093289329289752027666861021436860808017202514068575550798914822263293588180774752909224974012736790760743442865504177209871059781143374990577291897679467799122544422616941973130654284635064109605110263373995386912965003927123748936730775251920104932988412008542958989464240108012252454400155332706753507886476616854416478234682440070844894725849175504971910164254785270196842223536836743887669367833354720776381718982936607190517488018698849211774449556804946648728034861481700039784366954045396786279852195071297377491354523616257299004545204177653580697276643091840624345839097725585640012719278964274663461304036212706907921176367146436460871118243241753835108211510069993826625016060647274951213565815050847298909370736574400018584874675715367069017957686777080417248900716661014809271404944844319404878659867720710568613357876555733116387385945576195798719880172892595718703206327245303143248320871521621301564481163928557248746179278613686711779530634324557999070491677509242445147554099855697744242032341217656431930510579439914962744406464725544986681229995713693446754883563930939884718893272209977686081417046673805483163831027866762761206633916429228710832896918302058055141362298784804297297239550048518248937366486204031374680332601794186501908658704138834871712862804 33081364284196976775407480285038740282214935551620861294463238238666386830169682374384840839368759181487892182456679762438611254877175186609483449447503417631221579441584854609155966435889881183721149871631942111829525626690330772795057783134005834605168462145489685417940041887003931991509339351495663124209989136500007385656013569328333760418998045724272097096255363207717381411113892578836217565815778595233756151240853496115910825738128930856585206611379871373665888254896007010477051589902509339024300368662389496150039498101637679375010946746345850354828940881139097004743169266844222504167922821336920499706256215328902034922363949029564792836826621685521981501639205895655073266906013516411407838587611128618074614795122870811148433644789776916956890794036706095337402478848499788344881572022460410772820286364026004001116980821832381477882989622351956991613298489651536813268011278801181527600564121842110063824751580152784610501355258605633620920564190131736698835397174456838931034244163016064269891456517992855232257892765942296500423498967229598576358406718288009944941759400679850620679144258092657894977452638283785695880318650291865254350780230358532290768442837807731233933383831224284695896464196047066199722736913222096096566259528406086002237522823062550686523422575641033603691456932221045802690633822022378048338935217272152543241842637148370327447070552867008173543876398492270370750747126358834611714749438415275705998353110453343011304770687503705179760887868060957851773992966146781380862949082149328761056712332451718789071343469512922733761766481228279764637843795215254960143602864762156208626723365652230438510199029348970437668460762863034860296120589632291737156450616691242543011353396641955306739745218733525402150572794427580888918318614421062934170761852887310081327572993055310808361221233674031060843390407544506405091590219895390468509204110696423902107484994843255300856537535681238893997090879934075910600415208535195534662551578393983868183970839385655395292708368055900815622332511056098559671528514216760776858883700804844946363990742912615793299687819289002601595439541382490451637313026928705382304142238901851502034788147021794081600146535694623704757083442389278646211591695836354655504695552439808420728314656641764536273495483232950741745798563861704968058932832400113024112580512175215550306513342505931737443166233865701264760062864216819301597496405071132879171412622037314312803066826606487361921195892585918664903058470417769308452822013039448200720213396590192821915845125298616696336939271155392048008030815538312286967241312230556917105685610498781435150615371187479159096849550789804359797885861798171852358436971833450240101431690966269620456879769738685419473226188226756468717090588285337878919319206296350642946009642154816051690169475335738761027840591552244138576122037728846167119449805588818210979463062706710130031909486066915849298184697200558371836356061068950280429423159427170864934510833111756868051585782004726970382839968917473652739704284545495030138789381154432988296322394523206282965892998877656682784790680878637357326884500946164378351189388970218234115633142413782482006847011201629701312473536830507508883913476711360744114917445406988261335838053159275490891143119138847 53526771806047544357754477947086675719086391732886926488266318183985614863007307190012080952935300632098508600940258605459103414802854114497458013645535440211358510981340647155544907193972673687270779896887787436807722890974712495621985167273864861072820935779296175323628642440962768242799147881262192035891430283357796093149339602469907223245607053547270686913444723209500840307527029251596495407784886166474138745703399943973803482482118151430414161329325088867628272801473141304687490762301359821606727366534446607939898709316748006095363147285565064132709079785974813411595465202295895239124258050535768179233711135904172162437820540548263778467379040042346088308457533197345957300591168149992371861833335006635267200726331327091372942002944909448258869913170164084745234477573582654154893371820834718712071186061049953369649540897269108789909800643196165894330533339846820045093924849888380555815051619125068981703988276842043549580922556217248076373436894099988366295212701158244427132797334573909926856359390527057664897661021541182160937088143986357150809669592130512800514862229796437208688347611734294845175674601830675840989981950738038444700444918005466856033605163951680763406610720801599289985994882527450171809601579025334565208909488714464979691586692119345068112480109928386184599392204508470911565106928112347124828697305873426606783434917998401450343859932938990434611185225695583295153017644658846725937894455760768895156896440889627670537370834616700666026217997577327458615177861881345795290455963570121630167161891146477406944595119473464139010013488927551101081864562617527538114155685473008823860601580166390932444369713313636384920146050191771311322104330335626297291389518597008958292064354949892811540174562500636516852511911170963512356975953600363412987385327756783834027213425307152487911720491021695645192753182977413717719998263493252301952267985616411641091552378247898527712388618734581367000759744771601366407416667802987318229181904014077157513260591413322256314145228863918018136401086606897474493791807804941551611792925778857683154751486355481297476897690348783744970430118674388131105112149473127999246115369556136137098897752132057455595533448659627631880832379120053898131696628824766664047654541904048528740567111041919868980248991119427358600215042096387408129777727125962199617552422339470335576710184729468574187053903233534619480839245935802238204686922559151578020624396486871117749715554641348843621235676952872710299844750269964379750199504393971816977512401135396999569425822575259788177563616994489773593670828257591251241904773534593129812593531675148581587076242305722400850684659001314429791712486814232499633388185399265290948730600337006194856898354613361134840295206184443245797507837186054539934128477701295487265414520814683772400738088693615316760956978938189714771920757609019059715168508795145456282606311027581651653211050548079777855433443379836985523067840599584604987422229918848374176955980665856723749330024037068188039271899428053092654667028951959755683776062384428701989769149406770213905777717770928892762476762295684031132367664777192245113950595604134663344343975310700784064902152563928486116770834070057557402162414077846948146292125739590055522339961817979629726014832001651 86608136090244521133161958232125416001301327284507787782729556422652001693176989564396921792304059813586400783396938367897714669680029301106941463093038857842580090422925501764700873629862554870991929768519729548637248517665043268417042950407870695677989397924785860741568684327966700234308487232757855160101419419857803478805353171798240983664605099271542784009700086417218221718640921830432712973600664761707894896944253440089714308220247082286999367940704960241294161056369148315164542352203869160631027735196836104089938207418385685470374094031910914487538020667113910416338634469140117743292180871872688678939967351233074197360184489577828571304205661727868069810096739093001030567497181666403779700420946135253341815521454197902521375647734686365215760707206870180082636956422082442499774943843295129484891472425075957370766521719101490267792790265548122885943831829498356858361936128689562083415615740967179045528739856994828160082277814822881697294001084231725065130609875615083358167041497589974196747815908519912897155553787483478661360587111215955727168076310418522745456621630476287829367491869826952740153127240114461536870300601029903699051225148363999146802048001759411997339994552025883985882459078574516371532338492247430661775169017120550981929109515181895754635902685569419788290849136729516714255740750134725173167632523145579150025277555146771777790930485805998608155061624187853665903764771017681337652643894176044601155249551342970681842141522120405845787105865638285310389170828028127176153405045719450391223874223598196196015938588986386872771779970155830865719708357832782498257758550235165032487324945818621370954568742662606822588606813054806171618224919967918034447840135288251501303417751591848118279919781234161919003084705598544401275294568021426347158147180644093915354786418362463296272941724695726706036143590521920122811588483388642770461472096312835543199037373091153828568926154415820260997850624705677277007831876338182852891733482408061025697231430798977651606853596919818833758733597662996034165320322021702328470676626583702629518742229268097090776585509637786346565869660056878582742425176401833381550257608457987639133685899153851537195679984354251336637915821509332544343288324661121319552350094343856949468881767683684405253744474352378100346013605958092376188710559526075223730132934514685885883223527235400311630220137099235884240902110152621539802183327630284457192037018524185430552782381247836205542431569538791375202903220687733688203021517433420017697725797725589821485270947873876484514502888149881821601701643795903538209146085765150046918279142173930016737691613493201559947534209791118789589598348612404351991825157232715531050162291303275815313778124352046554313521394411199714514598425471392418853447683997646130211424162969499824090907564029354077788797570490433853348042795337865226834618314383963667262069373734291781685120536614995627153618140580395357359423901668534885416845389346019239111466813777613591800915806041795158422111868345526745394371313497454785822565443538861690286091543929976496871670716648585575547267443174321388459252165723356623465139984574352897459977117724483266071749163765558187429244370900565066286075890789207692261209571146578316858178014977255120617157951140498 140134907896292065490916436179212091720387719017394714270995874606637616556184296754409002745239360445684909384337196973356818084482883415604399476738574298053938601404266148920245780823835228558262709665407516985444971408639755764039028117681735556750810333704082036065197326768929468477107635114020047195992849703215599571954692774268148206910212152818813470923144809626719062026167951082029208381385550928182033642647653384063517790702365233717413529270030049108922433857842289619852033114505228982237755101731282712029836916735133691565737241317475978620247100453088723827934099671436012982416438922408456858173678487137246359798005030126092349771584701770214158118554272290346987868088349816396151562254281141888609016247785524993894317650679595813474630620377034264827871433995665096654668315664129848196962658486125910740416062616370599057702590908744288780274365169345176903455860978577942639230667360092248027232728133836871709663200371040129773667437978331713431425822576773327785299838832163884123604175299046970562053214809024660822297675255202312877977745902549035545971483860272725038055839481561247585328801841945137377860282551767942143751670066369466002835653165711092760746605272827483275868453961101966543341940071272765226984078505835015961620696207301240822748382795497805972890241341237987625820847678247072297996329829019005756808712473145173228134790418744989042766246849883436961056782415676528063590538349936813496312145992232598352379512356737106511813323863215612769004348689909472971443861009289572021391036114744673602960533708459851011781793459083381966801572920450310036371914235708173856347926525985012303398938455976243207508752863246577482940329250303544331739229653885260459595482106541740929820094343734798435855596616769507913632270521621789760145532508400877749381999843669615784184662215717422351228896773499333840531586746881895072413740081929247184290589751339052356281314773150401627998610369477278643415248544141170171120915386422138183210492022212299907920998825783736851895134684269893508659112129826643880082469552362560312673493715623578388253483199986570091536299778731266713847537325874961380796372978014123776232583651285908992791213433013878968518748200629386442474984953485887983600004636247905478209448878725604274233993465471805458946228648054479784318488286652037423347685356854156221459933711964868885817274040332770503721741356088423778006870250189436035212661415011056548302497935889185049163667246491664085502747970957698067953221021827391834675238198860986821054696770449136272692066505144371595195372472053494789451050859299743176730872673849078598324767855798923960798218868792433219381310835426636851625213342631980821998892891640282010170676478965407689153816600595642960312106262657446958787576161698941617476838683784183596491645652722969394549754549428623568119963552946884286549786823179109123544675684761873433338331587163075405009051583960232342882491742268119490404267619264867613288422794443470315550245830078863346461383767773579838049038342449414541506341505923290392275860693336746710777448434419514468309744205470005419591619830500548868579090580178487560804321093035184050136651316329486673546015204970622623688238304867054640407501696886168372380517976795234750343172783142149 226743043986536586624078394411337507721689046301902502053725431029289618249361286318805924537543420259271310167734135341254532754162912716711340939831613155896518691827191650684946654453697783429254639433927246534082219926304799032456071068089606252428799731628867896806766011096896168711416122346777902356094269123073403050760045946066389190574817252090356254932844896043937283744808872912461921354986215689889928539591906824153232098922612316004412897210735009350216594914211437935016575466709098142868782836928118816119775124153519377036111335349386893107785121120202634244272734140576130725708619794281145537113645838370320557158189519703920921075790363498082227928651011383348018435585531482799931262675227277141950831769239722896415693298414282178690391327583904444910508390417747539154443259507424977681854130911201868111182584335472089325495381174292411666218196998843533761817797107267504722646283101059427072761467990831699869745478185863011470961439062563438496556432452388411143466880329753858320351991207566883459208768596508139483658262366418268605145822212967558291428105490749012867423331351388200325481929082059598914730583152797845842802895214733465149637701167470504758086599824853367261750913039676482914874278563520195888759247522955566943549805722483136577384285481067225761181090477967504340076588428381797471163962352164584906833990028291945005925720904550987650921308474071290626960547186694209401243182244112858097467395543575569034221653878857512357600429728853898079393519517937600147597266055009022412614910338342869798976472297446237884553573429239212832521281278283092534629672785943338888835251471803633674353507198638850030097359676301383654558554170271462366187069789173511960898899858133589048100014124968960354858681322368052314907565089643216107303679689044971664736786262032079080457603940413149057265040364021253963343175230270537842875212178242082727489627124430206184850240927566221888996460994182955920423080420479353024012648868830199208907723453011277559527852422703555685653868281932889542824432451848346208553146178946262942192235944891675479030068709624356438102169438788145296589962502276794762346630586472111415366269550439760529986893417368130305156664022138718986818273278147009303152354730591762427678330646409288679487737939824183559292242254012572160507198846178112647077818291368842107343157239200269197447494177432006387962643466241045317809053577819720492404698433535241978855280317137021254706098816030455460705651191645431756156242539260811852372963996586576642539967718323012757206569393294253416797074115849398327660196945064893223649151816023008615062459469292125520745753078583552008970909184039041203617038499864696353049055182943557825484454603317454243467337995006842674826704688128839377641023845696587747688262846753683420582553216752323472338552119919057421468006348284749513384405137563072790806745058496165215023452123778071032162669724540627700241915643936654375821113008610886852399889608221083907351161636120658504883495636119106583443409655946869327328906949462152082561952237266723207649119151068100043857011648644326808050871996223905492044230564752840458264298210759667316208400480095044860975259575871187689974314195656262332668711268032746689238695991772489870960330734282647 366877951882828652114994830590549599442076765319297216324721305635927234805545583073214927282782780704956219552071332314611350838645796132315740416570187453950457293231457799605192435277533011987517349099334763519527191334944554796495099185771341809179610065332949932871963337865825637188523757460797949552087118826289002622714738720334537397485029404909169725855989705670656345770976823994491129736371766618071962182239560208216749889624977549721826426480765058459139028772053727554868608581214327125106537938659401528149612040888653068601848576666862871728032221573291358072206833812012143708125058716689602395287324325507566916956194549830013270847375065268296386047205283673695006303673881299196082824929508419030559848017025247890310010949093877992165021947960938709738379824413412635809111575171554825878816789397327778851598646951842688383197972083036700446492562168188710665273658085845447361876950461151675099994196124668571579408678556903141244628877040895151927982255029161738928766719161917742443956166506613854021261983405532800305955937621620581483123568115516593837399589351021737905479170832949447910810730924004736292590865704565787986554565281102931152473354333181597518833205097680850537619367000778449458216218634792961115743326028790582905170501929784377400132668276565031734071331819205491965897436106628869769160292181183590663642702501437118234060511323295976693687555323954727588017329602370737464833720594049671593779541535808167386601166235594618869413753592069510848397868207847073119041127064298594434005946453087543401937006005906088896335366888322594799322854198733402571001587021651512745183177997788645977752445654615093237606112539547961137498883420575006697926299443058772420494381964675329977920108468703758790714277939137560228539835611265005867449212197445849414118786105701694864642266156130571408493937137520587803874761977152432915288952260171329911780216875769258541131555700716623516995071363660234563838328964620523195133564255252337392118215475223577467448851248487292537549002966202783051483544581674990088635615731308823254865729660515253867283551909610926529638469217519412010437499828151756143143003564486235191598853201725669522778106850382009273675412222768105429293258231632897286752359366839667905887779525134892953721731405295989018238470902067051944825687132830150070425503648222998328803090951165138083264768217764776891684384822329469095815923828009156527617359848546298527157778253026206303869766062522119546208399162603129824109463561088203687048202195447563463594664488772149029898635898438625011992446587902893117111247804364636400380024489872087213387227325091049481543971947375985228352220019465678055242251842496677175047948074583839835655131082282861932621154595602485635138810950786286336428600007395529365165101530537867017074198869475292866888306669347680989587969901231633799934191960742181914351420743258038648361783710941146437171721308500860043124407386204773866225380627875754465688312402664554222901407466199521851344879403892686421492447998396283868835248455385442474837812930603469918426567585487614512166755854114332227642491826724454360623321144931328019068619303794851366345051796424531534521274780841810313662552500523316973076212964918915061619213968567724621303503517424796 593620995869365238739073225001887107163765811621199718378446736665216853054906869392020851820326200964227529719805467655865883592808708849027081356401800609846975985058649450290139089731230795416771988533262010053609411261249353828951170253860948061608409796961817829678729348962721805899939879807575851908181387949362405673474784666400926588059846656999525980788834601714593629515785696906953051091357982307961890721831467032369981988547589865726239323691500067809355623686265165489885184047923425267975320775587520344269387165042172445637959912016249764835817342693493992316479567952588274433833678510970747932400970163877887474114384069533934191923165428766378613975856295057043024739259412781996014087604735696172510679786264970786725704247508160170855413275544843154648888214831160174963554834678979803560670920308529646962781231287314777708693353257329112112710759167032244427091455193112952084523233562211102172755664115500271449154156742766152715590316103458590424538687481550150072233599491671600764308157714180737480470752002040939789614199988038850088269390328484152128827694841770750772902502184337648236292660006064335207321448857363633829357460495836396302111055500652102276919804922534217799370280040454932373090497198313157004502573551746149848720307652267513977516953757632257495252422297172996305974024535010667240324254533348175570476692529729063239986232227846964344608863798026018214977876789064946866076902838162529691246937079383736420822820114452131227014183320923408927791387725784673266638393119307616846620856791430413200913478303352326780888940317561807631844135477016495105631259807594851634018429469592279652105952853253943267703472215849344792057437590846469064113369232232284381393281822808919026020122593672719145572959261505612543447400700908221974752891886490821078855572367733773945099870096543720465758977501541841767217937207422970758164164438413412639269844000199464725981796628282845405991532357843190484261409385099876219146213124082536601025938928234855026976703671190848223202871248135672594307977033523336297188761910255086197057965605406929346313620619235282967740638656307557307027462330428550905489634150958346606965122752165430052765000267750139578832076244906824416111531509779906589904714097431430333566110171544181633209469345120172577530713156079624105332885979008262717503321939591840436146248190365407280712262395196783279647028288570514413624977405828877020022058282081540506013058570163227558575864878552575006914050354248561580265706100349015539421166192034140106134632207095161787105205291732878428789520703752291444771444749429529624029176305895095828449686794383175002289725025959537237323129203504719258859290342361373528097003257527397661139585685600316176088492590609328309965515638915125714069623853092117112853364377291550437656752086227616339226858789266738411055976249516383313318597098305254705158165801754203863385235834719217469334391033041487743366323030141428242046493636486641318088202010885638130252569102320180356228375040011793004935857654343153196164155404847594557399765167870193126075686736555714556023767502758659035693363822948359852667551709684168477332917514554518682553452276519576395496534356712998003636866696179579305744924232951661750857909960340214492263834251707443 960498947752193890854068055592436706605842576940496934703168042301144087860452452465235779103108981669183749271876799970477234431454504981342821772971988063797433278290107249895331525008763807404289337632596773573136602596193908625446269439632289870788019862294767762550692686828547443088463637268373801460268506775651408296189523386735463985544876061908695706644824307385249975286762520901444180827729748926033852904071027240586731878172567415448065750172265126268494652458318893044753792629137752393081858714246921872418999205930825514239808488683112636563849564266785350388686401764600418141958737227660350327688294489385454391070578619363947462770540494034675000023061578730738031042933294081192096912534244115203070527803290218677035715196602038163020435223505781864387268039244572810772666409850534629439487709705857425814379878239157466091891325340365812559203321335220955092365113278958399446400184023362777272749860240168843028562835299669293960219193144353742352520942510711889001000318653589343208264324220794591501732735407573740095570137609659431571392958444000745966227284192792488678381673017287096147103390930069071499912314561929421815912025776939327454584409833833699795753010020215068336989647041233381831306715833106118120245899580536732753890809582051891377649622034197289229323754116378488271871460641639537009484546714531766234119395031166181474046743551142941038296419121980745802995206391435684330910623432212201285026478615191903807423986350046750096427936912992919776189255933631746385679520183606211280626803244517956602850484309258415677224307205884402431166989675749897676632846829246364379201607467380925629858398507869036505309584755397305929556321011421475762039668675291056801887663787484249003940231062376477936287237200643172771987236312173227842202104083936670492974358473435468809742136252674291874252914639062429571092699184575403673453116698584742551050060875968723267113352328999468922986603721503425048099738349720399414279777379334873993144154403458432494425554919678140760751874214338455645791521615198326385824377641563909451923695265922183213597172528846209497379107873826969317464962158580307048632637715444581798563975953891099575543107118132148852507488467674929845404789741412803876657073464271098239453889696679074586931200750416161595769184058146676050158573111838412787928825587814838764949339141530545363977030612961560171331413110899983509440901233838033547639418130627839033170836823189433862445630941074694553122449516851691404375169661437219226469368387481703569729296695867310817003841190171503440781967291655184561882692553794166024409200795767183041836914119474224483833696973335522465675349222970397314101542184858050703144951332111237496794716767883178108709647186211813945104326589701412050498223860487646478018465907829417454730950955702909206115165458614419400643946150748017113252789059047436619509586545012242511747019545660363906506112341542347786490730416346202108271874264362395783776514413550192353153976568519702207573254443904479426428305652739437064999403860233037032237578098473663044502254322043329068190523356872991263335855649672814213290872854615496496401536818349370048898504072944107930017809137554808317299419196702896278821137197870576812477123928907939113567337769132239 1554119943621559129593141280594323813769608388561696653081614778966360940915359321857256630923435182633411278991682267626343118024263213830369903129373788673644409263348756700185470614739994602821061326165858783626746013857443262454397439693493237932396429659256585592229422035791269248988403517075949653368449894725013813969664308053136390573604722718908221687433658909099843604802548217808397231919087731233995743625902494272956713866720157281174305073863765194077850276144584058534638976677061177661057179489834442216688386370972997959877768400699362401399666906960279342705165969717188692575792415738631098260089264653263341865184962688897881654693705922801053613998917873787781055782192706863188111000138979811375581207589555189463761419444110198333875848499050625019036156254075732985736221244529514433000158630014387072777161109526472243800584678597694924671914080502253199519456568472071351530923417585573879445505524355669114477716992042435446675809509247812332777059629992262039073233918145260943972572481934975328982203487409614679885184337597698281659662348772484898095054979034563239451284175201624744383396050936133406707233763419293055645269486272775723756695465334485802072672814942749286136359927081688314204397213031419275124748473132282882602611117234319405355166575791829546724576176413551484577845485176650204249808801247879941804596087560895244714032975778989905382905282920006764017973083180500631196987526270374730976273415694575640228246806464498881323442120233916328703980643659416419652317913302913828127247660035948369803763962612610742458113247523446210063011125152766392782264106636841216013220036936973205281964351361122979773013056971246650721613758602267944826153037907523341183280945610293168029960353656049197081860196462148785315434637013081449816954995970427491571829930841169242754842006349218012340011892140604271338310636391998374431617281136998155190319904876168187993095148957282314328978136079346615532361147734820275633425990503417410594170093331693287521402258590868988983954745462474128240099498648721662683013139551818995648981660871329112559910793148081492465119746530134526624492424489008857954122271866402928405529098706056529628308107385882288431339564712581754261516321251192710466561787561702528573019999868223256220140670095536334173299897214226300155491459090846675505432147527406679201095587331895952644689293008158343450978441399470497923065878639666910567661476412709379539183895393352661421021495819627269560036499871100252984640875761786234765890534579515843675863928902962472604109046481904381869571487995407476006654137303223695648438377101662278870286600913857399486123421999295059702998478426475116572960832527219424231241954589638635157934302453483494284798139776821142255069842228616537764567847713579763590871830285120967892387703041930525545342024247881157811699922400264400426571386157352691324667752346766446375132255380379581375840503374583835529857053446487630350318367900849037101864716424435830483406545670839882563801629483916272431364163307082590261163559265080631589637343266343856170577941058599043624214290859631650299029219472621174065958424564299664973734454332903888731451956349463684325514343494267806320936285892882475584566061430822238563335033889248153605831172020839682 2514618891373753020447209336186760520375450965502193587784782821267505028775811774322492410026544164302595028263559067596820352455717718811712724902345776737441842541638863950080802139748758410225350663798455557199882616453637171079843709133125527803184449521551353354780114722619816692076867154344323454828718401500665222265853831439871854559149598780816917394078483216485093580089310738709841412746817480160029596529973521513543445744892724696622370824036030320346344928602902951579392769306198930054139038204081364089107385576903823474117576889382475037963516471227064693093852371481789110717751152966291448587777559142648796256255541308261829117464246416835728614021979452518519086825126000944380207912673223926578651735392845408140797134640712236496896283722556406883423424293320305796508887654380049062439646339720244498591540987765629709892476003938060737231117401837474154611821681751029750977323601608936656718255384595837957506279827342104740636028702392166075129580572502973928074234236798850287180836806155769920483936222817188419980754475207357713231055307216485644061282263227355728129665848218911840530499441866202478207146077981222477461181512049715051211279875168319501868425824962964354473349574122921696035703928864525393244994372712819615356501926816371296732816197826026835953899930529929972849716945818289741259293347962411708038715482592061426188079719330132846421201702041987509820968289571936315527898149702586932261299894309767544035670792814545631419870057146909248480169899593048166037997433486520039407874463280466326406614446921869158135337554729330612494178114828516290458896953466087580392421644404354130911822749868992016278322641726643956651170079613689420588192706582814397985168609397777417033900584718425675018147433662791958087421873325254677659157100054364162064804289314604711564584142601892304214264806779666700909403335576573778105070397835582897741369965752136911260208501286281783251964739800850040580460886084540675047705767882752284587314247735151720015827813510547129744706619676812583885891020263919989068837517193382905100905356137251295773507965676927701962498854403961495941957386647589165002754909581847510204093074659947629203851214504014437283847053180256684106921110992605514343218861025973626812473889564902330807071870845952495769069081272372976205650032202685088293360973115221517966044926473426498008666323621119903622309854510370481432506779873504944115300894543337218572354732216542095283467126760701964113158949387951944389016045423223453992359902966997547245593225598829783421112887672075885310353455287062660568536829857017861672847577897429461912123515033331623969957118972630582168673827649445513887062374712077474934386905921749872654729019221366672393507786963032956200174168818317949815066071574067410068890296192950385347118653997633434751457189706495577212343868551012417539824175216400127944177338891778688886879274926039945282346615716126183316347783862833832458590242165211432885641230837986022836560522239359584771374883927820751857792468959822027326162963125313668621874921364817519215080195380642372692404814216504641562365075122293988279249297418915161470135991151253258780350460422407792255532152631822614638235705089585371863387198628692815375812157818156092719398509789971921 4068738834995312150040350616781084334145059354063890240866397600233865969691171096179749040949979346936006307255241335223163470479980932642082628031719565411086251804987620650266272754488753013046411989964314340826628630311080433534241148826618765735580879180807938947009536758411085941065270671420273108197168296225679036235518139493008245132754321499725139081512142125584937184891858956518238644665905211394025340155876015786500159611612881977796675897899795514424195204747487010114031745983260107715196217693915806305795771947876821433995345290081837439363183378187344035799018341198977803293543568704922546847866823795912138121440503997159710772157952339636782228020897326306300142607318707807568318912812203737954232942982400597604558554084822434830772132221607031902459580547396038782245108898909563495439804969734631571368702097292101953693060682535755661903031482339727354131278250223101102508247019194510536163760908951507071983996819384540187311838211639978407906640202495235967147468154944111231153409288090745249466139710226803099865938812805055994890717655988970542156337242261918967580950023420536584913895492802335884914379841400515533106450998322490774967975340502805303941098639905713640609709501204610010240101141895944668369742845845102497959113044050690702087982773617856382678476106943481457427562430994939945509102149210291649843311570152956670902112695109122751804106984961994273838941372752436946724885675972961663237573310004343184263917599279044512743312177380825577184150543252464585690315346789433867535122123316414696210378409534479900593450802252776822557189239981282683241161060102928796405641681341327336193787101230114996051335698697890607372783838215957365414345744490337739168449555008070585063860938374474872100007630124940743402856510338336127476112096024791653636634220155773954319426148951110316554276698920270972247713971968572152536687678972581052931689870628305099253303650243564097580942875880196656112822033819360950681131758386169695181484341066845007537230072101416118728661365139286712125990518912641651751850656745201900749887017008580408333418758825009194427618600934096022566449811136598022956877181448250438609622173366004158832159321889896725715186617892838438368437432243798224809780648587676155385493889433125587027212540941488829942368978486599276361141491293531763798793120642628197167140513805322450653355616629278247073288295909840979355572658513171854682962370956046598111538627609894756704488622580329233673195449259052197373656921185009688758250437546513390921457154501792256025221934153980267179924943282470136575190967160241557321285954999091740782410115947189023456080540971925641871672306075920630460023207239296899165628860511388507812663321674850166678305926739854098455244011046934487579633919287647173659762126478071353239506357039563960296799213954376735024043790951276817966395561373752819268845091238545135262011530306419526658187119090710018846204837309321462808908610066060469987505947262421853319967067910199467335176513411737024289156632266904617587326522390394300211512264631161375385658136439241416316619105076136291861394294594915162345207721983214826443870445484157147511802416771871476581046496126090420959171990982467847447953260059515053939147191707404246325229681810811603 6583357726369065170487559952967844854520510319566083828651180421501370998466982870502241450976523511238601335518800402819983822935698651453795352934065342148528094346626484600347074894237511423271762653762769898026511246764717604614084857959744293538765328702359292301789651481030902633142137825764596563025886697726344258501371970932880099691903920280542056475590625342070030764981169695228080057412722691554054936685849537300043605356505606674419046721935825834770540133350389961693424515289459037769335255897997170394903157524780644908112922179464312477326699849414408728892870712680766914011294721671213995435644382938560934377696045305421539889622198756472510842042876778824819229432444708751948526825485427664532884678375246005745355688725534671327668415944163438785883004840716344578753996553289612557879451309454876069960243085057731663585536686473816399134148884177201508743099931974130853485570620803447192882016293547345029490276646726644927947866914032144483036220774998209895221702391742961518334246094246515169950075933043991519846693288012413708121772963205456186217619505489274695710615871639448425444394934668538363121525919381738010567632510372205826179255215671124805809524464868677995083059075327531706275805070760470061614737218557922113315614970867061998820798971443883218632376037473411430277279376813229686768395497172703357882027052745018097090192414439255598225308687003981783659909662324373262252783825675548595498873204314110728299588392093590144163182234527734825664320442845512751728312780275953906942996586596881022616992856456349058728788356982107435051367354809798973700058013569016376798063325745681467105609851099107012329658340424534564023953917829646786002538451073152137153618164405848002097761523092900547118155063787732701490278383663590805135269196079155815701438509470378665884010291553002620768541505699937673157117307545145930641758076808163950673059836380442010513512151529845880832907615681046696693282919903901625728837526268921979768798588801996727553057885611963248473367984816099296011881539176561640820688173938584805850792373145831704106926724501936896390117455338057518508407197784187187959632091030097948813715248025951788036010536393911162999033671073095122475358543236403739152999509613649782197967778998027917834284411787441325711438059758972252566791523496216852092154093757849715133185440278748948662021940250398150695598150420211460788079438386676798798263265499383816683893359826436851987955749341031197786354398647004141762672966608233142750610340513510938167050380100622039446334821826056152490278398569532797143727797017259418994133532896521202694533630980520647426037659944556224040346133725366144347085581951374374100015766433138380467392340896216839071813713702887054655418179865252437394699990861714583728652422671021738586625011037197395048256403660872312236387659502289235506219736590152947213022430130323824148890805232459471940533734806836202162552621172155295267498852231271902873147178100407876156527590149559052106551397339557776146949101226726644913489485515707968833387185995978894600738331819883789009023919292640933423759369717209150624457019402129987914006436635410406292152877194279268836578648757913035597407696072053219311340458688207869314959349525560339044628191600783524 10652096561364377320527910569748929188665569673629974069517578021735236968158153966681990491926502858174607642774041738043147293415679584095877980965784907559614346151614105250613347648726264436318174643727084238853139877075798038148326006786363059274346207883167231248799188239441988574207408497184869671223054993952023294736890110425888344824658241780267195557102767467654967949873028651746318702078627902948080276841725553086543764968118488652215722619835621349194735338097876971807456261272719145484531473591912976700698929472657466342108267469546149916689883227601752764691889053879744717304838290376136542283511206734473072499136549302581250661780151096109293070063774105131119372039763416559516845738297631402487117621357646603349914242810357106158440548165770470688342585388112383360999105452199176053319256279189507641328945182349833617278597369009572061037180366516928862874378182197231955993817639997957729045777202498852101474273466111185115259705125672122890942860977493445862369170546687072749487655382337260419416215643270794619712632100817469703012490619194426728373956747751193663291565895059985010358290427470874248035905760782253543674083508694696601147230556173930109750623104774391635692768576532141716515906212656414729984480064403024611274728014917752700908781745061739601310852144416892887704841807808169632277497646382995007725338622897974767992305109548378350029415671965976057498851035076810208977669501648510258736446514318453912563505991372634656906494411908560402848470986097977337418628127065387774478118709913295718827371265990828959322239159234884257608556594791081656941219073671945173203705007087008803299396952329222008380994039122425171396737756045604151416884195563489876322067719413918587161622461467375419218162693912673444893134894001926932611381292103947469338072729626152620203436440504112937322818204620208645404831279513718083178445755780745003604749707008747109766815801773409978413850491561243352806104953723262576409969284655091674950282929868841735090287957713379367202029349955386008137872058089203292572538830683786706600679390154412112440345483326946090817736056272153541074857008920785210916509272478348387423337421391955946868169858283807888714220288965933560843795975480201963962780158201325937583461668431153504861496952728930155653807038245571528927933014789748615890947214400477912300325954084071399315377556879676397768886446330052440143652096899848653481225636455430414795431987436331608692444371921360431459549847906056339136329887793242831508860778060024329088507534602414295471556755980036419670203341852002933718918764177500976315419487895612943476943746927709670882118200916481865912018439801286774807108789190671273265644626944526888280055662571067005750119640442741153110662190912186924974333910149361757388414549149093091826131368076761355345055617615249047260431450453566053472615297963905766481867521368868959410902335538878998598720853897546221008757458481476758076407462297332372860653125362829729476494658059758519441727910751294800436105733493631262500816007906102269044899450627140269986396468259125205325643024368777225285153664312124312969664741385344814357876882119567553803955293966150745417625144884003456556579687054521066759293718747722923254106541232964585369857873411595127 17235454287733442491015470522716774043186079993196057898168758443236607966625136837184231942903026369413208978292842140863131116351378235549673333899850249708142440498240589850960422542963775859589937297489854136879651123840515642762410864746107352813111536585526523550588839720472891207349546322949466234248941691678367553238262081358768444516562162060809252032693392809724998714854198346974398759491350594502135213527575090386587370324624095326634769341771447183965275471448266933500880776562178183253866729489910147095602086997438111250221189649010462394016583077016161493584759766560511631316133012047350537719155589673034006876832594608002790551402349852581803912106650883955938601472208125311465372563783059067020002299732892609095269931535891777486108964109933909474225590228828727939753102005488788611198707588644383711289188267407565280864134055483388460171329250694130371617478114171362809479388260801404921927793496046197130964550112837830043207572039704267373979081752491655757590872938430034267821901476583775589366291576314786139559325388829883411134263582399882914591576253240468359002181766699433435802685362139412611157431680163991554241716019066902427326485771845054915560147569643069630775827651859673422791711283416884791599217282960946724590342985784814699729580716505622819943228181890304317982121184621399319045893143555698365607365675642992865082497523987633948254724358969957841158760697401183471230453327324058854235319718632564640863094383466224801069676646436295228512791428943490089146940907341341681421115296510176741444364122447178018051027516216991692659923949600880630641277087240961550001768332832690270405006803428329020710652379546959735420691673875250937419422646636642013475685883819766589259383984560275966336317757700406146383413277665517737746650488183103285039511239096531286087446732057115558091359710320146318561948587058864013820203832588908954277809543389189120280327953303255859246758107242290049499387873627164202138806810924013654719081518670838462643345843325342615675397334771485304149753597265764933393227004622371512451471763300243816547272207828882987207853511610211059583264206704972398876141363508446336237052669417907734904180394677719051713253960039028683319154518716605703115779667814975719781429447429181422695781364516371481365245098004543781494724538285965467983101308158327627433511394362820347977399497130074548464484596750263900931731535286525452279488901954814231479325347262768460680400121262391629245904246553060480899002854401475974259471118573535267255557914703036334917891577806092572160481740421535730862646561194760395309553020792134146171477377908230318308155860861038089952364573526652919154194371142045647365660393377665268747448003467283844821933354145628207766080370777439362369033901011076341117066971820114830412756379113958750393312021276121359496819109955855288978835034554058713694889951499192783559793140771338470539254588704382423171310079653632053343906314528604275733800303463237605633022248209317571548279308090852576583054834720357907414305493421810237878286636623119164587134800079008994334666943661418158708913034029333463594121760787474802271883318754977960096108171160430014254203793641916492153987383126574286070634177435930792569065890758524924414486065012378651 27887550849097819811543381092465703231851649666826031967686336464971844934783290803866222434829529227587816621066883878906278409767057819645551314865635157267756786649854695101573770191690040295908111941216938375732791000916313680910736871532470412087457744468693754799388027959914879781556954820134335905471996685630390847975152191784656789341220403841076447589796160277379966664727226998720717461569978497450215490369300643473131135292742583978850491961607068533160010809546143905308337037834897328738398203081823123796301016470095577592329457118556612310706466304617914258276648820440256348620971302423487080002666796407507079375969143910584041213182500948691096982170424989087057973511971541870982218302080690469507119921090539212445184174346248883644549512275704380162568175616941111300752207457687964664517963867833891352618133449757398898142731424492960521208509617211059234491856296368594765473205900799362650973570698545049232438823578949015158467277165376390264921942729985101619960043485117107017309556858921036008782507219585580759271957489647353114146754201594309642965533000991662022293747661759418446160975789610286859193337440946245097915799527761599028473716328018985025310770674417461266468596228391815139307617496073299521583697347363971335865071000702567400638362461567362421254080326307197205686962992429568951323390789938693373332704298540967633074802633536012298284140030935933898657611732477993680208122828972569112971766232951018553426600374838859457976171058344855631361262415041467426565569034406729455899234006423472460271735388438006977373266675451875950268480544391962287582496160912906723205473339919699073704403755757551029091646418669384906817429429920855088836306842200131889797753603233685176421006446027651385554480451613079591276548171667444670358031780287050754377583968722683906290883172561228495414177914940354963966779866572582096998649588369653957882559250397936230047143755076665837660608598803533402305492827350426778548776095579105329669364448539680197733633801038721982877426684726871312287625655354968225965765835306158219052151153454655928987617691155829078025589567882364600658121215625757609792650635986794723660390090809863681772350252961526940427474249004962244162950494196807667078559826016301657364891115860334927557278317245301637019052136250115310422657553075714083874048522558805539733837348446891747292777054009750946233371043080316341075383632186374105760714538410244646274757334699100069372844493183752060705454094459116820035332742194718805768331896633559596344065449305450630389448333786128991830685082273538664581565325372261371624972508687747089648421124835939989190274061777519955864383013327939693961303160332716920631305020322192157027503666038350850572052994588369360876742561689626287343367811160438098505481520969207922238887747190720105738367638891370406757250560409421342451450332517964480176757472868061742970695476310217469137975442601928644180067538135108811420313776825936648594453428826067335109516906269076090990007218842147377019160568213989169915121501327912506923186087250259434573531268338134199660309968030195383994066698341457776563786502172819616629760200874545513900063465126580759671828938525919948710567070181095352829927896183653715823172431991489509784343938423973778 45123005136831262302558851615182477275037729660022089865855094908208452901408427641050454377732555597001025599359726019769409526118436055195224648765485406975899227148095284952534192734653816155498049238706792512612442124756829323673147736278577764900569281054220278349976867680387770988906501143083802139720938377308758401213414273143425233857782565901885699622489553087104965379581425345695116221061329091952350703896875733859718505617366679305485261303378515717125286280994410838809217814397075511992264932571733270891903103467533688842550646767567074704723049381634075751861408587000767979937104314470837617721822386080541086252801738518586831764584850801272900894277075873042996574984179667182447590865863749536527122220823431821540454105882140661130658476385638289636793765845769839240505309463176753275716671456478275063907321717164964179006865479976348981379838867905189606109334410539957574952594161600767572901364194591246363403373691786845201674849205080657638901024482476757377550916423547141285131458335504811598148798795900366898831282878477236525281017783994192557557109254232130381295929428458851881963661151749699470350769121110236652157515546828501455800202099864039940870918244060530897244423880251488562099328779490184313182914630324918060455413986487382100367943178072985241197308508197501523669084177050968270369283933494391738940069974183960498157300157523646246538864389905891739816372429879177151438576156296627967207085951583583194289694758305084259045847704781150859874053843984957515712509941748071137320349302933649201716099510885184995424294191668867642928404493992842918223773248153868273207241672752389344109410559185880049802298798216344642238121103796106026255729488836773903273439487053451765680390430587927351890798209313485737659961449332962408104682268470154039417095207819215192378329904618344053505537625260501282528728453631446110818853420958562912160368793787125350327471708379921696907366706045823451804880700977590980687582906503118984388445967210518660376979644364064598552824019498356616437379252620733159358992839928529731503622916754899745534889898984712065233443079492575660241385422330730008668791999495241059897442760227771416676530647639245992140728209043990927482105012913413370194339493831277377146320563289516350253059681761673118384297234254659091917382091361679551857149830717133167167348742809712095270176551139825494697855639830580242007115167472899558040203440365058877754082681961868530053244614446143689951358341012177300934335596596194780027803015207094863599623364008486965307339911592221563991166822695074395444211886567021766934525529479881235819898502744170307498429922638558045816747586854592613115497531474762567996965413699857425774951669505634695393986348733997568642822932467065649712401712171514439622548492789322752651644126304678856131679660167491766254069670365276631430285367072023193871647424367254526530488617081555939677230031306311067351377617788740864764220091354540924328253732289304940742539154478393662538286526932999953602215402934347077329426994749722744801472723873378599160666068417143193994976911691613542702979732370791240157908262960294418901643519629523473996171636287010773926032732167836440864554453307669638900562073619584508392238322750014434198830003436352429 73010555985929082114102232707648180506889379326848121833541431373180297836191718444916676812562084824588842220426609898675687935885493874840775963631120564243656013797949980054107962926343856451406161179923730888345233125673143004583884607811048176988027025522914033149364895640302650770463455963218138045192935062939149249188566464928082023199002969742962147212285713364484932044308652344415833682631307589402566194266176377332849640910109263284335753264985584250285297090540554744117554852231972840730663135653556394688204119937629266434880103886123687015429515686251990010138057407441024328558075616894324697724489182488048165628770882429170872977767351749963997876447500862130054548496151209053429809167944440006034242141913971033985638280228389544775207988661342669799361941462710950541257516920864717940234635324312166416525455166922363077149596904469309502588348485116248840601190706908552340425800062400130223874934893136295595842197270735860360142126370457047903822967212461858997510959908664248302441015194425847606931306015485947658103240368124589639427771985588502200522642255223792403589677090218270328124636941359986329544106562056481750073315074590100484273918427883024966181688918477992163713020108643303701406946275563483834766611977688889396320484987189949501006305639640347662451388834504698729356047169480537221692674723433085112272774272724928131232102791059658544823004420841825638473984162357170831646698985269197080178852184534601747716295133143943717022018763126006491235316259026424942278078976154800593219583309357121661987834899323191972797560867120743593196885038384805205806269409066774996412715012672088417813814314943431078893945216885729549055550533716961115092036331036905793071193090287136942101396876615578737445278660926565328936509621000407078462714048757204793794679176541899098669213077179572548919715540200856246495508320204028207817503009328216870042928044185061580374615463456587534567975304849356854110373528328017759236359002082224314057810415750198858110613445402786581430250704225227928725004907975701385324758675234687950555774070209555674522507590140541143259032647374940260899506637956487618461442635482035783557832851037635098448880900600772932568202458048953171645055507110221037272899319847579034511211679149851277810337999006974755403349370504774402340039644437393635731198353275938706901186091256603842562953605149576440931226682910896583082498799659273663800917978775303524028840016660968599426089107629895750656812435471294120969668338790913585796134911840654459943688813313937595696788245378350555821851904968613060025777211939283138559498038167628325468319627580110296688703984416078001681130600182532307076800691807479488628270434022049582802455335543985545966039343322366929519565494156691937055769523331952538128030013758530674890531873495398961870047299058862173011320230774697973881735699589987674048404897235316269501184093391773408815205473908239711531445155923849676184533868180477572922707161115372275852056060747469753528293745775147330621375971148336247244548496077635251724658811123638033734197336755277393655286879721808926697046430712249016721694765133114035531403720504068987896235101413591533597861670693756389575121523488764991730489969803238224215410754741503943983173941860326207 118133561122760344416661084322830657781927108986870211699396526281388750737600146085967131190294640421589867819786335918445097462003929930036000612396605971219555240946045265006642155660997672606904210418630523400957675250429972328257032344089625941888596306577134311499341763320690421759369957106301940184913873440247907650401980738071507257056785535644847846834775266451589897423890077690110949903692636681354916898163052111192568146527475942589821014568364099967410583371534965582926772666629048352722928068225289665580107223405162955277430750653690761720152565067886065761999465994441792308495179931365162315446311568568589251881572620947757704742352202551236898770724576735173051123480330876235877400033808189542561364362737402855526092386110530205905866465046980959436155707308480789781762826384041471215951306780790441480432776884087327256156462384445658483968187353021438446710525117448509915378394224000897796776299087727541959245570962522705561816975575537705542723991694938616375061876332211389587572473529930659205080104811386314556934523246601826164708789769582694758079751509455922784885606518677122210088298093109685799894875683166718402230830621418601940074120527747064907052607162538523060957443988894792263506275055053668147949526608013807456775898973677331601374248817713332903648697342702200253025131346531505492061958656927476851212844246908888629389402948583304791361868810747717378290356592236347983085275141565825047385938136118184942005989891449027976067866467907157351109370103011382457990588917902871730539932612290770863703934410208376968221855058789611236125289532377648124030042657220643269619956685424477761923224874129311128696244015102074191293671637513067141347765819873679696344632577340588707781787307203506089336076870240051066596471070333369486567396317227358833211774384361114291047542981797916602425253165461357529024236773835474318636356430286779782203296837972186930702087171836509231475342010895180305915254229305608739923941908585343298446256382960717518487593089766851179983074723723584545162384160596434544683751515163217682059396986964455420057397489125253208492475726867515921140892060287217627130234634977276843455275611265406515125411548240018924708930667092944099127160520023634407467238813678856411657532242439367628063397680768647873787646604759433494257421735799073187588348183993071874068534834066315937833130156289401935629082322741476825089613967132173221841121419140362401782922698622837129479333722076039440608170776483471421904003935387108365823937927047749323543312177322424561004128156970572119813018727663687455469989098506304905494023567647509561288218130324280604187133907054636047497878187037124920192298223282242056625235847721907008577407005049620241360025692056364498162388426623757586768171235503466977750578506547853427542175999800077818001726959226353939265389901139974605312021066662010867920052321602570796031672710473329348492435505214550778882822773712590540948753959535018497250960893404677216594595215225863416066580272708147284223591374082683324573975490827357996526131534997016632894863405172420587650263791413422469400026163083040256879603028093408454433047240133592461892406737700602307523894402861592830439675976796434630631052043422822732607649077491518378182003945296678636 191144117108689426530763317030478838288816488313718333532937957654569048573791864530883808002856725246178710040212945817120785397889423804876776576027726535463211254743995245060750118587341529058310371598554254289302908376103115332840916951900674118876623332100048344648706658960993072529833413069520078230106808503187056899590547202999589280255788505387809994047060979816074829468198730034526783586323944270757483092429228488525417787437585205874156767833349684217695880462075520327044327518861021193453591203878846060268311343342792221712310854539814448735582080754138055772137523401882816637053255548259487013170800751056637417510343503376928577720119554301200896647172077597303105671976482085289307209201752629548595606504651373889511730666338919750681074453708323629235517648771191740323020343304906189156185942105102607896958232051009690333306059288914967986556535838137687287311715824357062255804194286401028020651233980863837555087768233258565921959101945994753446546958907400475372572836240875637890013488724356506812011410826872262215037763614726415804136561755171196958602393764679715188475283608895392538212935034469672129438982245223200152304145696008702424348038955630089873234296081016515224670464097538095964913221330617151982716138585702696853096383960867281102380554457353680566100086177206898982381178516012042713754633380360561963485618519633816760621505739642963336184873231589543016764340754593518814731974126835022127564790320652786689722285024592971693089885231033163842344686362037807400268667894057672323759515921647892525691769309531568941019415925910354829322174570762453329836312066287418266032671698096566179737039189072742207590189231987803740349222171230028256439802150910585489415825667627725649883184183819084826781355531166616395532980691333776565030110365984563627006453560903013389716756058977489151344968705662213775519745094039502526453859439614996652246224882157248511076702635293096766043317315744537160025627757633626499160300910667567612504066798710916376598206535169637761413325427948812473887389068572135930008510190397905632615171057174011094579905079265794351751508374242456182040398698243705245591677270459312627013108462303041613574292448840791857277133125141897270772216027133855444740138133526435446168743921589218905873735679775622629190995975264207896597461380236466823319546537269010580969720925322919780396083761438978376560309005652373408172112766791446885642039397915665925811762715283805728905422829705935191264983211954765542873672274178021951620072838888403783487000990636362156700916402348922675634870632632300515495766310445588044053521605815137886756537757904390900875837891470714049179008787219657227269098915089721545253506281743956591379862340593605787326065035378731427681953920780449523823940758835419515878608520306384102432707873295476779871774258285216112276710131914672579193756766251998541968457218837887065532856803865102757307640979122790490414267929636440217133287827715496070173668054520049492446651275973333169594874018483294614844967345231019571818523986904993248250790346120654666629060741927697981305550671135231396097072593795289273601297793226522489964450960637661449788641839114193841121756073555349220014797500285199622361542013226060956823059832233022322165177887157004843 309277678231449770947424401353309496070743597300588545232334483935957799311392010616850939193151365667768577859999281735565882859893353734912777188424332506682766495690040510067392274248339201665214582017184777690260583626533087661097949295990300060765219638677182656148048422281683494289203370175822018415020681943434964549992527941071096537312574041032657840881836246267664726892088807724637733490016580952112399990592280599717985933965061148463977782401713784185106463833610485909971100185490069546176519272104135725848418566747955176989741605193505210455734645822024121534136989396324608945548435479624649328617112319625226669391916124324686282462471756852437795417896654332476156795456812961525184609235560819091156970867388776745037823052449449956586940918755304588671673356079672530104783169688947660372137248885893049377391008935097017589462521673360626470524723191159125734022240941805572171182588510401925817427533068591379514333339195781271483776077521532458989270950602339091747634712573087027477585962254287166017091515638258576771972286861328241968845351524753891716682145274135637973360890127572514748301233127579357929333857928389918554534976317427304364422159483377154780286903243555038285627908086432888228419496385670820130665665193716504309872282934544612703754803275067013469748783519909099235406309862543548205816592037288038814698462766542705390010908688226268127546742042337260395054697346829866797817249268400847174950728456770971631728274916041999669157751698940321193454056465049189858259256811960544054299448533938663389395703719739945909241270984699966065447464103140101453866354723508061535652628383521043941660264063202053336286433247089877931642893808743095397787567970784265185760458244968314357664971491022590916117432401406667462129451761667146051597506683211922460218227945264127680764299040775405753770221871123571304543981867874976845090215869901776434449521720129435441778789807129605997518659326639717465940881986939235239084242819252910910950323181671633895085799624936488941396400151672397019049773229168570474692261705561123314674568044138466514637302568391047560243984101109972103181290758530922872721911905436589470468384073568448128699703997080810781986063792234841369899376547157489852207376947205291857826276164028586533937133360544270502978642580023641390854883116035540010907894721262082455038255759389235718229213917728380312189391328393850233261726733923620107483160817056028327594685413906642858384756551781974631873153988438236964777676209565130317444010765936153107030313167958786717705044559319494795447889360295987970965755408951892949547545173462647448044755888228671505062971798525350096676886974256782147461397138371963601878742129465863599957269345643226028686090727435095925844342347404207110592111994338886493629187026854237529974883873095554597873501217511570051542100033054647184505777832914009409888509540440457861564529514338432105800076484337341269297090703349030758082041787250514567424628947924726709041246491199196585661454291191441899068558719313702896392499477732351244776921881117671299523924147100118568955814462548653865497098756878329530480900821319930944397498200771253911681048576814796148645650476416942050454473477081634252992594056648883689430708909724540700347181832453683479 500421795340139197478187718383788334359560085614306878765272441590526847885183875147734747196008090913947287900212227552686668257782777539789553764452059042145977750434035755128142392835680730723524953615739031979563492002636202993938866247890974179641842970777231000796755081242676566819036783245342096645127490446622021449583075144070685817568362546420467834928897226083739556360287537759164517076340525222869883083021509088243403721402646354338134550235063468402802344295686006237015427704351090739630110475982981786116729910090747398702052459733319659191316726576162177306274512798207425582601691027884136341787913070681864086902259627701614860182591311153638692065068731929779262467433295046814491818437313448639752577372040150634549553718788369707268015372463628217907191004850864270427803512993853849528323190990995657274349240986106707922768580962275594457081259029296813021333956766162634426986782796802953838078767049455217069421107429039837405735179467527212435817909509739567120207548813962665367599450978643672829102926465130838987010050476054657772981913279925088675284539038815353161836173736467907286514168162049030058772840173613118706839122013436006788770198439007244653521199324571553510298372183970984193332717716287972113381803779419201162968666895411893806135357732420694035848869697115998217787488378555590919571225417648600778184081286176522150632414427869231463731615273926803411819038101423385612549223395235869302515518777423758321450559940634971362247636929973485035798742827086997258527924706018216378058964455586555915087473029271514850260686910610320894769638673902554783702666789795479801685300081617610121397303252274795543876622479077681671992115979973123654227370121694850675176283912596040007548155674841675742898787932573283857662432453000922616627617049196486087224681506167141070481055099752894905115190576785785080063726961914479371544075309516773086695746602286683952855492442422702763561976642384254625966509744572861738244543729920478523454389980382550271684006160106126702809725579621209492937162297740706404700771895959028947289739101312477609217207647656841911995492475352428285221689456774628118313589175895902097481492535871489742273996445921602639263196917376738640671592574291345296947515080731727303995020085617805439810869040319893132169638555287849287452344496272006834227441258531093036007976684712155498625297679167358688749700334046223641433839500715066993125200214971694253406448129190448587290179381487909823138137200393002507651348483743152269064083604824556890517314158595148874405960961668417471082759992928288486461521719397480993601066779277785334801293646133062405938809689996064145855895761476439374730496053461685147132248411209820191337131686236831816012155762813827353526296268184656634416052753174306009507795547160621632407591746391031377745275475796786163818810164969319763699534599166007951856966759278344927097386318203534863107717463460131759711358632985470975215329614966010637598297002444776201487897767172529755256328309674736513913526064544722468211023464637344493027712227238325966152984889027816550261365133683885261594171350673618804082198614546453434361949161408915361469690415928989989767406549972291270469270977366833875354136069874944646253768741957563022512359719610688322 809699473571588968425612119737097830430303682914895423997606925526484647196575885764585686389159456581715865760211509288252551117676131274702330952876391548828744246124076265195534667084019932388739535632923809669824075629169290655036815543881274240407062609454413656944803503524360061108240153421164115060148172390056985999575603085141782354880936587453125675810733472351404283252376345483802250566357106174982283073613789687961389655367707502802112332636777252587908808129296492146986527889841160285806629748087117511965148476838702575691794064926824869647051372398186298840411502194532034528150126507508785670405025390307090756294175752026301142645063068006076487482965386262255419262890108008339676427672874267730909548239428927379587376771237819663854956291218932806578864360930536800532586682682801509900460439876888706651740249921203725512231102635636220927605982220455938755356197707968206598169371307204879655506300118046596583754446624821108889511256989059671425088860112078658867842261387049692845185413232930838846194442103389415758982337337382899741827264804678980391966684312950991135197063864040422034815401289628387988106698102003037261374098330863311153192357922384399433808102568126591795926280270403872421752214101958792244047468973135705472840949829956506509890161007487707505597653217025097453193798241099139125387817454936639592882544052719227540643323116095499591278357316264063806873735448253252410366472663636716477466247234194729953178834856676971031405388628913806229252799292136187116787181517978760432358412989525219304483176749011460759501957895310286960217102777042656237569021513303541337337928465138654063057567315476848880163055726167559603635009788716219052014938092479115860936742157564354365213127165864266659016220333979951319791884214668068668225123732408408547442909451431268751245354140528300658885412447909356384607708829789456216634291179418549521145268322416119394634282249552308761080635969023972091907391731512096977328786549173389434404713162054184166769805785042615644206125731293606511986935526909276879393033601520152261964307145450944123854510216047889472239476576462400388402980215305550991035501081332491567949876609439937870973700443002413421249260709611580010570969121448835149154892027937019161821296249646391973748002400864163635148281135311490678307227612307546845135335979793175491046232444101391216854511596895739000939091662440073874695566234638687100608361032027722581001133543097091445674935933269884455011291188831239472429024693308282586508094370760709997547627326553935592111005520987912266530649353224276457427277128349373943148611952740432782846049534361733911001781488521414242532782735733221522191893191833648749010990540675683791294401031880057844698246490248923279370638615588863745008164747513192503136982574014859162382475619486585975618776693308356215360910198023966948205312432080017361745476299718802788661915832541966968907793947797473029008449336334501733297371402216525205022925950369502910529144258371726340917782600866178412982084783858425364603522942369695737804634108355997265676909036127935119217179596232539127091270107551948334563099435866384378759447362180169273150738992743786138413057026389233320923744454448468128346730126523828335684477651682103722859541552064371801 1310121268911728165903799838120886164789863768529202302762879367117011495081759760912320433585167547495663153660423736840939219375458908814491884717328450590974721996558112020323677059919700663112264489248662841649387567631805493648975681791772248420048905580231644657741558584767036627927276936666506211705275662836679007449158678229212468172449299133873593510739630698435143839612663883242966767642697631397852166156635298776204793376770353857140246882871840720990711152424982498384001955594192251025436740224070099298081878386929449974393846524660144528838368098974348476146686014992739460110751817535392922012192938460988954843196435379727916002827654379159715179548034118192034681730323403055154168246110187716370662125611469078014136930490026189371122971663682561024486055365781401070960390195676655359428783630867884363926089490907310433434999683597911815384687241249752751776690154474130841025156154104007833493585067167501813653175554053860946295246436456586883860906769621818225988049810201012358212784864211574511675297368568520254745992387813437557514809178084604069067251223351766344297033237600508329321329569451677418046879538275616155968213220344299317941962556361391644087329301892698145306224652454374856615084931818246764357429272752554906635809616725368400316025518739908401541446522914141095670981286619654730044959042872585240371066625338895749691275737543964731055009972590190867218692773549676638022915696058872585779981766011618488274629394797311942393653025558887291265051542119223184375315106223996976810417377445111775219570649778282975609762644805920607854986741450945211021271688303099021139023228546756264184454870567751644424039678205245241275627125768689342706242308214173966536113026070160394372761282840705942401915008266553235177454316667668991284852740781604894634667590957598409821726409240281195564000603024695141464671435791703935588178366488935322607841014924702803347489774691975011524642612611408226717873901476084958715573330279093867957859103142436734438453811945148742347015851310914816004924097824649983284093805497479181209254046246763421733071717863704731384234969051814828673624669672080179109349090257228393665431369145311427613247696888924016060512457626988318651242561695740180446102407108668746465816316335264197413558871441184056767317919690599339965759572108579553679362777238324268527054209128813546715479809276063097689688791996486297516129405735353754093733561246999416834407581672287540032965115314757794278149428389224241980080373177051434855572177975585266888064941485149084466516966482656329737613409346152564943888798847746854936749678732018218117647343180494796316940591178517478388388678497209660896922389245295333896143238951885503982631532718116889660710402253062750632896934883773520379424217500687498512644778121175480794790067365877617353364052169105142379179720362993286711904847031246025313602443058997147715759302150745501832015511411257604788719807969319972708512701017182535842621222952814279112017042025544256096174110910540914926895610848403147832814546407007040230832346335594323231829893925155751669478544729916424388685441458225567138645298050412837813121396523589084634620429408672776128180463576361524591393015431815302003700866196398772981938246393639666745371901271675060123 2119820742483317134329411957857983995220167451444097726760486292643496142278335646676906119974327004077379019420635246129191770493135040089194215670204842139803466242682188285519211727003720595501004024881586651319211643260974784304012497335653522660455968189686058314686362088291396689035517090087670326765423835226735993448734281314354250527330235721326719186550364170786548122865040228726769018209054737572834449230249088464166183032138061359942359215508617973578619960554278990530988483484033411311243369972157216810047026863768152550085640589586969398485419471372534774987097517187271494638901944042901707682597963851296045599490611131754217145472717447165791667030999504454290100993213511063493844673783061984101571673850898005393724307261264009034977927954901493831064919726711937871492976878359456869329244070744773070577829740828514158947230786233548036312293223470208690532046352182099047623325525411212713149091367285548410236930000678682055184757693445646555285995629733896884855892071588062051057970277444505350521491810671909670504974725150820457256636442889283049459217907664717335432230301464548751356144970741305806034986236377619193229587318675162629095154914283776043521137404460824737102150932724778729036837145920205556601476741725690612108650566555324906825915679747396109047044176131166193124175084860753869170346860327521879963949169391614977231919060660060230646288329906454931025566508997929890433282168722509302257448013245813218227808229653988913425058414187801097494304341411359371492102287741975737242775790434636994524053826527294436369264602701230894815203844227987867258840709816402562476361157011894918247512437883228493304202733931412800879262135557405561758257246306653082397049768227724748737974410006570209060931228600533186497246200882337059953077864514013303182110500409029678572971763380809496222886015472604497849279144621493391804812657668353872128986283247118922742124056941527320285723248580432198809781293207597055692902116828267257392263816304490918605223617730191357991221977042208422516911033351559260163486839098999333471218353392214365856926228079752620856474445628277229062027649887385730100384591338560885233381245754751365484221397331926429481761718336599898661813530817189015595257299136605765627637612584910589387306873842048220402466200825910830644066799720887100524498113218117444018100441572914937932334320872958836690627883658926371390824971969992441194341922279027139415408715215384631478640051248027678733160719578055481452509397870359717442080272346345976885612568811703020058627972003644242004144058699376841401316075976096228879898290684758650900493392714856530227942372667038892630921461232942882419114282437128982645154229492561187773925933749996947505408648743311673912267573499362384124432382248200691015781760695190339957172542985364203328982828862413498594540630561017253660110159463326042675347919358715950504421217983287468800923305359055077817728257305654474441810072419399061047644148903183782022546186283915982437091893511407093339877695632261573197418069349376735968636980443950320497506802961283686788695724326148963515776711565777515473208397486279222191880843885769253907771168401416562266593520602750757912316759886263770132047596322922601317622724045321770468231442823739431924 3429942011395045300233211795978870160010031219973300029523365659760507637360095407589226553559494551573042173081058982970130989868593948903686100387533292730778188239240300305842888786923421258613268514130249492968599210892780277952988179127425771080504873769917702972427920673058433316962794026754176538470699498063415000897892959543566718699779534855200312697289994869221691962477704111969735785851752368970686615386884387240370976408908415217082606098380458694569331112979261488914990439078225662336680110196227316108128905250697602524479487114247113927323787570346883251133783532180010954749653761578294629694790902312285000442687046511482133148300371826325506846579033622646324782723536914118648012919893249700472233799462367083407861237751290198406100899618584054855550975092493338942453367074036112228758027701612657434503919231735824592382230469831459851696980464719961442308736506656229888648481679515220546642676434453050223890105554732543001480004129902233439146902399355715110843941881789074409270755141656079862196789179240429925250967112964258014771445620973887118526469131016483679729263539065057080677474540192983224081865774653235349197800539019461947037117470645167687608466706353522882408375585179153585651922077738452320958906014478245518744460183280693307141941198487304510588490699045307288795156371480408599215305903200107120335015794730510726923194798204024961701298302496645798244259282547606528456197864781381888037429779257431706502437624451300855818711439746688388759355883530582555867417393965972714053193167879748769743624476305577411979027247507151502670190585678933078280112398119501583615384385558651182431967308450980137728242412136658042154889261326094904464499554520827048933162794297885143110735692847276151462846236867086421674700517550006051237930605295618197816778091366628088394698172621090691786886618497299639313950580413197327392991024157289194736827298171821726089613831633502331810365861191840425527655194683682014408475447107361125350122919446927653043677429675340100338237828353123238521835131176209243447580644596478514680472399638977787589997945943457352240709414680092057735652319559465909209733681595789278898812614900062793097469094220850445542274175963588217313056092512929196041359706245274512093453928920174786800865745283232277169784120516510170609826371829466654203860890456441712545154650701728484647814130149021934380316675655412668906954377705346195288075483526026556249816296887672171511605166562785473011310147967279723432589771047411152297652450321931243773677510296852104525144938486300571741757468045529406345204874823843083816647969416776869018140735895351326544882963845556371019310139730152543316036671682424316541297468444446691756557466468113837166119050996374424545164508383135904503856599748888189528426538816365820751962610351241820682346881031518640973720350924010540372015006494572067988950362417713098220180520134032970632938816770312682606448065274974447150322773436581596890265371855998061134563228309460238533266004421948008266773306480664721030232615756383776199469326779544643729336696886439438458174269056065387904462153024003082611853695536692060005002240409358338542391597810089338394773984179112282503709775318079072135748462519321374299560970438961437213603344095414492047 5549762753878362434562623753836854155230198671417397756283851952404003779638431054266132673533821555650421192501694229099322760361728988992880316057738134870581654481922488591362100513927141854114272539011836144287810854153755062257000676463079293740960841959603761287114282761349830005998311116841846865236123333290150994346627240857920969227109770576527031883840359040008240085342744340696504804060807106543521064617133475704537159441046476577024965313889076668147951073533540479445978922562259073647923480168384532918175932114465755074565127703834083325809207041719418026120881049367282449388555705621196337377388866163581046042177657643236350293773089273491298513610033127100614883716750425182141857593676311684573805473313265088801585545012554207441078827573485548686615894819205276813946343952395569098087271772357430505081748972564338751329461256065007888009273688190170132840782858838328936271807204926433259791767801738598634127035555411225056664761823347879994432898029089611995699833953377136460328725419100585212718280989912339595755941838115078472028082063863170167985687038681201015161493840529605832033619510934289030116852011030854542427387857694624576132272384928943731129604110814347619510526517903932314688759223658657877560382756203936130853110749836018213967856878234700619635534875176473481919331456341162468385652763527629000298964964122125704155113858864085192347586632403100729269825791545536418889480033503891190294877792503244924730245854105289769243769853934489486253660224941941927359519681707948451295968958314385764267678302832871848348291850208382397485394429906920945538953107935904146091745542570546100679479746334208631032445146068070843034151396883500466222756800827480131330212562525609891848710102853846360523777465467619608171946718432343111191008469809631500998888591775657766967669936001900188009772633969904137163229725034690719197803681825643066865813581418940648831737888575029652096089109772272624337436487891279070101377563935628382742386735751418571648901047405531458329459805395331661038746164527768503611067483695477848151690753031192153446924174023209973097183860308369286797679969446851639310118272934350164132193860654814158581690491552776875024035894300188115974869623330118211636617005381880277721091541505085376188172619125280497572250321342421001253893171550353754728359003674559156563255092274643422580148451021980771070944559314339040297779349675338636482417405805053695665225012103056802990245217810813151744470867545335204885099168917770869739732722668277220659290079108555124583772910489944813745901526744906247746520950799939312696546260101535519918634128610207856772825336512595263650231600963095425735150954119553299186451697937007879530483400218110784671527699739686098457432081882498288628288981997088880544208299511556160709135153336606024011329709893932139568260981485027794032125165957898110664298281776429048724601738117320439433862122129367760424176322580628921592132845855980657937909520759181843157109414593376220970357897933355101606651002112926294227650685105760512168106307223494964226843499847723125246869993382214351420238864589780598085062093022971282196883084295127592450162766211505900661367504781863040416026535204342842267796058842243975617183694484283207681834786919153923971 8979704765273407734795835549815724315240229891390697785807217612164511416998526461855359227093316107223463365582753212069453750230322937896566416445271427601359842721162788897204989300850563112727541053142085637256410065046535340209988855590505064821465715729521464259542203434408263322961105143596023403706822831353565995244520200401487687926889305431727344581130353909229932047820448452666240589912559475514207680004017862944908135849954891794107571412269535362717282186512801968360969361640484735984603590364611849026304837365163357599044614818081197253132994612066301277254664581547293404138209467199490967072179768475866046484864704154718483442073461099816805360189066749746939666440287339300789870513569561385046039272775632172209446782763844405847179727192069603542166869911698615756399711026431681326845299473970087939585668204300163343711691725896467739706254152910131575149519365494558824920288884441653806434444236191648858017141110143768058144765953250113433579800428445327106543775835166210869599480560756665074915070169152769521006908951079336486799527684837057286512156169697684694890757379594662912711094051127272254198717785684089891625188396714086523169389855574111418738070817167870501918902103083085900340681301397110198519288770682181649597570933116711521109798076722005130224025574221780770714487827821571067600958666727736120633980758852636431078308657068110154048884934899746527514085074093142947345677898285273078332307571760676631232683478556590625062481293681177875013016108472524483226937075673921165349162126194134534011302779138449260327319097715533900155585015585854023819065506055405729707129928129197283111447054785188768760687558204728885189040658209595370687256355348307180263375356823495034959445795701122511986623702334706029846647235982349162428939075105249698815666683142285855362368108622990879796659252467203776477180305447888046590794705982932261602640879590762374921351720208531983906454970964113049865091682574961084509853011042989508092509655198346224692578477080871558667697633748454899560581295703977747058648128291956362832163152670169941036922119966667325337893274988461344533332289006317548519851954530139443031006475554876951679159585773627320566310070263776333287925715843047407677976711627154789814545470425260162989038364408512774742034441858931171863719543379820408932219894131000869108409742976371907227962581171002705451261234969751709204733727380684831770492889331080251915041308990728974501850384373598624755781015512614928317688939965182022037385172990208464432967589405407229108917848976245385487658994790435654091725825623782396513194229518312388936774864505559183317708300358151634669541740693247969051187625801977615727749166381454571287040866686224621837646750736060523002596590265634193132145581745977070072634838327921981461097763687847844693676590925450780541981332409038334404140172452470178653248644194142146944782258251353410066800938899680443030624387855603368742455619292562254828174892615179904291672642902836459503623902355303109873424308593591015257883300862144288367575634003039607956180196734162563705044262438279739324701017613783680696915788559663342201885324704485930992554364021595239056141488960975322919736310522421914403544521361565349916744664923244644895438131014568416018 14529467519151770169358459303652578470470428562808095542091069564568515196636957516121491900627137662873884558084447441168776510592051926889446732503009562471941497203085277488567089814777704966841813592153921781544220919200290402466989532053584358562426557689125225546656486195758093328959416260437870268942946164643716989591147441259408657153999076008254376464970712949238172133163192793362745393973366582057728744621151338649445295291001368371132536726158612030865233260046342447806948284202743809632527070532996381944480769479629112673609742521915280578942201653785719303375545630914575853526765172820687304449568634639447092527042361797954833735846550373308103873799099876847554550157037764482931728107245873069619844746088897261011032327776398613288258554765555152228782764730903892570346054978827250424932571246327518444667417176864502095041152981961475627715527841100301707990302224332887761192096089368087066226212037930247492144176665554993114809527776597993428012698457534939102243609788543347329928205979857250287633351159065109116762850789194414958827609748700227454497843208378885710052251220124268744744713562061561284315569796714944434052576254408711099301662240503055149867674927982218121429428620987018215029440525055768076079671526886117780450681682952729735077654954956705749859560449398254252633819284162733535986611430255365120932945722974762135233422515932195346396471567302847256783910865638679366235157931789164268627185364263921555962929332661880394306251147615667361266676333414466410586456757381869616645131084508520298278981081971321108675610947923916297640979445492774969358018613991309875798875470699743383790926801119397399793132704272799728223192055093095836910013156175787311593587919349104926808155898554968872510401167802325638018593954414692273619947544914881199814555274917943622330038044624891067806431886437107913640410030482578765788598387808575328468454461009703023753089608783561636002544080736385674202528170466240154611230574978617890834896390949764796341479524486403016997157439143786560599327460231746250669715611987434210983853905701362094483846293989877298435077135296830631331012258453169187829970227464489607163200336209691110260850077326404195590345964563964449262795339173165619314593717009035067535637011930345539177210983533793272314284763201352173117612714930174163660578897805560025671664835251015329808111032192983476522205794284090749502513077056023468252910295136133947580266321093785777492095602184411776500251883057950133202788108882952891777117895658485685092257668513962353692690759466190199233560521535341901838246776423721709209740489619847908855408993115767040090533636870746898319773341656343394786338579921530914914200864318462450817524266904335406509174450475746621460028672148132481760434563743065950616843137839478142170232917024453868705006300819382920110242313894066128436265338410368289317546925970571195669383996368673849500663061029048203454800710436232290334588465148542912766084413374361747448782057496212680473981800288658211480075310706517309485533985967904800535681941226534572183023696581885688951914255820494090744939882203564278781977881582634624398768408999613523442717130233101139717508993742838363335762845726764756671340580203809325533928359407527852577272917933722339989 23509172284425177904154294853468302785710658454198793327898287176733026613635483977976851127720453770097347923667200653238230260822374864786013148948280990073301339924248066385772079115628268079569354645296007418800630984246825742676978387644089423383892273418646689806198689630166356651920521404033893672649768995997282984835667641660896345080888381439981721046101066858468104180983641246028985983885926057571936424625169201594353431140956260165240108138428147393582515446559144416167917645843228545617130660897608230970785606844792470272654357339996477832075196265852020580630210212461869257664974640020178271521748403115313139011907065952673317177920011473124909233988166626594494216597325103783721598620815434454665884018864529433220479110540243019135438281957624755770949634642602508326745766005258931751777870720297606384253085381164665438752844707857943367421781994010433283139821589827446586112384973809740872660656274121896350161317775698761172954293729848106861592498885980266208787385623709558199527686540613915362548421328217878637769759740273751445627137433537284741009999378076570404943008599718931657455807613188833538514287582399034325677764651122797622471052096077166568605745745150088623348330724070104115370121826452878274598960297568299430048252616069441256187453031678710880083586023620035023348307111984304603587570096983101241566926481827398566311731173000305500445356502202593784297995939731822313580835830074437346959492936024598187195612811218471019368732441296845236279692441886990893813393833055790781994293210702654832290283861109770369002930045639450197796564461078628993177084120046715605506005398828940666902373855904586168553820262477528613412232713302691207597269511524094491856963276172599961767601694256091384497024870137031667865241190397041436048886620020130898630221958060229477692406153247881947603091138904311690117590335930466812379393093791507590071095340600465398674441328992093619908999051700498724067619853041201239121083586021607398927406046148111021034058001567274575664855072892241460159908755935723997728363740279390573816017058371532035520768413956544623772970410285291975864344547459486736349822181994629050194206811764568061940009663100031516156656034827740782550721055016213026992570428636189857350182482355605702166249347942306047056319205060283344981332258309994572592798791936560894780074578227387237036073613363986181973467029253842458707246804436708300023403184467214199495307630084514751993945986558010401256032898570565061520477048848134913814503068648694149525225257919369582801608608442435584721219516325777555929972602047504105722934719138160297792183857621326223408241937228898532989315082349591363837526205723508530641950030699917022104565133590560028346821201211807144462625262413766674892580145489043020689477976167400123631330680712301713398682891744833700652223646303104462840405510862838467970795570164713342614166254620027259567463999928728646485425098291835659077044084441105167594259305989541651740454700399049139977605702643961321353499619300108324743417286830049088903257575229574180139203893316048252656958518258773830069640899817347959478893670142297966600653733704099454435271494254696378773650482703813686255499156249186671074885101565374675450673024330772497472711048948290756007 38038639803576948073512754157120881256181087017006888869989356741301541810272441494098343028347591432971232481751648094407006771414426791675459881451290552545242837127333343874339168930405973046411168237449929200344851903447116145143967919697673781946318831107771915352855175825924449980879937664471763941592715160640999974426815082920305002234887457448236097511071779807706276314146834039391731377859292639629665169246320540243798726431957628536372644864586759424447748706605486863974865930045972355249657731430604612915266376324421582946264099861911758411017397919637739884005755843376445111191739812840865575971317037754760231538949427750628150913766561846433013107787266503442048766754362868266653326728061307524285728764953426694231511438316641632423696836723179907999732399373506400897091820984086182176710441966625124828920502558029167533793997689819418995137309835110734991130123814160334347304481063177827938886868312052143842305494441253754287763821506446100289605197343515205311030995412252905529455892520471165650181772487282987754532610529468166404454747182237512195507842586455456114995259819843200402200521175250394822829857379113978759730340905531508721772714336580221718473420673132306744777759345057122330399562351508646350678631824454417210498934299022170991265107986635416629943146473018289275982126396147038139574181527238466362499872204802160701545153688932500846841828069505441041081906805370501679815993761863601615586678300288519743158542143880351413674983588912512597546368775301457304399850590437660398639424295211175130569264943081091477678540993563366495437543906571403962535102734038025481304880869528684050693300657023983568346952966750328341635424768395787044507282667699881803450551195521704888575757592811060257007426037939357305883835144811733709668834164935012098444777232978173100022444197872773015409523025341419603758000366413045578167991481600082918539549801610168422427530937775655255911543132436884398270148023507441393732314161000225289762302437097875817375537526053677592662012512036028020759236216167470248398079352266824784799870964072894130004614707946421922208047545582122607195356805912655924179792409459118657357407147974259172200859740426435711747001999391705231813516394189378646307164145645224924885819494285951241343460331476099319370603968261635518098944973240168736253377689742120920451739413478402566844184645556969658495672823537933208209759881492731768276313479603348147075573951178300529486041588742422177756284781628515194723265157731087805591620964307179834617482926433331936494299367908625783954780037861119457768219378471225814932675208758008206647592850737093263498775574099645431309088424005934758623864785645039445556150895018379472922089400494895434855995651687553765922653934561899156653014709232108971306321114006878265801563597736755582103689192564216620762465960197170591276670849273206757288342496135284538283550250988701109068127060957776849940225808728067949411632549589648080360343719363903399189236757895261820451587502932619532833574930006625634228951272797953889438939516456108752322227589897933941608872774079267920814580782020912238260871551724932590999422142703712977877988624487797518491159476446652049591262001975951427746225681769184000984601383738300350049983966882013095996 61547812088002125977667049010589184041891745471205682197887643918034568423907925472075194156068045203068580405418848747645237032236801656461473030399571542618544177051581410260111248046034241125980522882745936619145482887693941887820946307341763205330211104526418605159053865456090806632800459068505657614242484156638282959262482724581201347315775838888217818557172846666174380495130475285420717361745218697201601593871489741838152157572913888701612753003014906818030264153164631280142783575889200900866788392328212843886051983169214053218918457201908236243092594185489760464635966055838314368856714452861043847493065440870073370550856493703301468091686573319557922341775433130036542983351687972050374925348876741978951612783817956127451990548856884651559135118680804663770682034016108909223837586989345113928488312686922731213173587939193832972546842397677362362559091829121168274269945403987780933416866036987568811547524586174040192466812216952515460718115236294207151197696229495471519818381035962463728983579061085081012730193815500866392302370269741917850081884615774796936517841964532026519938268419562132059656328788439228361344144961513013085408105556654306344243766432657388287079166418282395368126090069127226445769684177961524625277592122022716640547186915091612247452561018314127510026732496638324299330433508131342743161751624221567604066798686629559267856884861932806347287184571708034825379902745102323993396829591938038962546171236313117930354154955098822433043716030209357833826061217188448198213244423493451180633717505913829962859548804190861846681471039202816693234108367650032955712186854084741086810886268357624717595674512928569736900773229227856955047657481698478252104552179223976295307514471694304850343359287067151641504450908076388973749076335208775145717720784955142997074999191038402577714850351120654963012614164245731293875590702343512390547384575391590508610645142210633821101972266767748875820542184137383122337767876548642632853397747021832688689708483245986838409595527620952168326867584928269480919144972103194246126443092546215358615888022444426165525383121902966545981017955867414583059701353372142660529614591453747707551613959738827234140869403526467227903658034219446014364237449205591673299734574281414782236001976641556943509709679418405366426923173321918863080277231550163308846176481678681815231813991705789803880258258920955840469139852791775666917006685929440068299716664070562346570881581262815281479987575300432579012317680199080256243742206579222719406124032955873984142708184352701519295907976351061368675999554186897013698191980518729920655609927896168504439776708358419486907017511328543964298403506355526122461390991368547976198100925718296495026654534085455463202816852899360910385279196975665831545594854721151991995799090174278389432894278449057295502372084309050321414689606500275054117076360136045225259138066299997880897716505608728368635591060886505496425650907019903608488676634030753247954603025353445050929691458294310960429193205576580854187074549306733958972368559628002978342197091685682932461431483213982194265831292338041750884221681838260197739765221867230557600075876407812432313260118742493897264809959150465735846761158225138098821110783334558676435274408069072847522695015830303852003 99586451891579074051179803167710065298072832488212571067877000659336110234180366966173537184415636636039812887170496842052243803651228448136932911850862095163787014178914754134450416976440214172391691120195865819490334791141058032964914227039436987276529935634190520511909041282015256613680396732977421555835199317279282933689297807501506349550663296336453916068244626473880656809277309324812448739604511336831266763117810282081950884004871517237985397867601666242478012859770118144117649505935173256116446123758817456801318359493635636165182557063819994654109992105127500348641721899214759480048454265701909423464382478624833602089805921453929619005453135165990935449562699633478591750106050840317028252076938049503237341548771382821683501987173526283982831955403984571770414433389615310120929407973431296105198754653547856042094090497223000506340840087496781357696401664231903265400069218148115280721347100165396750434392898226184034772306658206269748481936742740307440802893573010676830849376448215369258439471581556246662911966302783854146834980799210084254536631798012309132025684550987482634933528239405332461856849963689623184174002340626991845138446462185815066016480769237610005552587091414702112903849414184348776169246529470170975956223946477133851046121214113783238717669004949544139969878969656613575312559904278380882735933151460033966566670891431719969402038550865307194129012641213475866461809550472825673212823353801640578132849536601637673512697098979173846718699619121870431372429992489905502613095013931111579273141801125005093428813747271953324360012032766183188671652274221436918247289588122766568115767137886308768288975169952553305247726195978185296683082250094265296611834846923858098758065667216009738919116879878211898511876946015746279632911480020508855386554949890155095519776424016575677737294548993427978422137189587150897633591068756557968715376056991673427150194943820802243529503204543404131732085316574267520607915900056084026585711908022057978452010920343862655785133053674629760988880096964297501678381188270664494524522444813040143415758986517320295529997829849388468189065501449537190255058159284798584709407000912866364909021107713086406341729143952902939650660033611151246177753843394970319606898719926639707121821470927508184853170010894504685797527141583554381179222204790332045099554171420802735683553405184192370724442904477925498964812676329708875126766567422171836576030143673910493646455532441115810966029164042854756768602461827595450967007364310310524997744997263053818760191110786033455790207344259687152630779592048016471466411358989955735588285136654176711087369559095512750405793085428189395607491930361460881085255777013587421754251820736675967948743934580350898058812504586914676307933131537564988198609563953260963302120204181156655234457876185812877606061276873266942177155566697445645393747209409251982547480562435282419181266756597429477703718121844282346365876715747971557900309183620401328314946744717348450118928216189572780880780708509200387020649479313359593201319832425956867781136608141791684783659073111916135874704066417309671698802463859172436000636773592163148599498019111525410191248743230291415755969435597117785438023160201089526567336465103742677419875791807373197572678982712316947999 161134263979581200028846852178299249339964577959418253265764644577370678658088292438248731340483681839108393292589345589697480835888030104598405942250433637782331191230496164394561665022474455298372214002941802438635817678834999920785860534381200192606741040160609125670962906738106063246480855801483079170077683473917565892951780532082707696866439135224671734625417473140055037304407784610233166101349730034032868356989300023920103041577785405939598150870616573060508277012934749424260433081824374156983234516087030300687370342662849689384101014265728230897202586290617260813277687955053073848905168718562953270957447919494906972640662415157231087097139708485548857791338132763515134733457738812367403177425814791482188954332589338949135492536030410935541967074084789235541096467405724219344766994962776410033687067340470587255267678436416833478887682485174143720255493493353071539670014622135896214138213137152965561981917484400224227239118875158785209200051979034514592000589802506148350667757484177832987423050642641327675642160118284720539137351068952002104618516413787106068543526515519509154871796658967464521513178752128851545518147302140004930546552018840121410260247201894998292631753509697097481029939483311575221938930707431695601233816068499850491593308129205395486170230023263671649996611466294937874642993412409723625897684775681601570633469578061279237258923412798113541416197212921510691841712295575149666609652945739679540679020772914755603866852054077996279762415649331228265198491209678353700826339437424562759906859307038835056288362551462815171041483071968999881905760641871469873959476442207507654926653406243933485884649682881123042148499425206042251730739731792743548716387026147834394065580138910314589262476166945363540016327854092135253381987815229284001104275734845298092594775615054978255452144900114082941434751353832882191509181771100070359262760632383263935760840086031436064631475471311153007552627500711650642945683776604726659439109655043890667141719403589849494194728581295581929315747681892566982597526160373858740650965537359255502031647008961746461055380951752355014170083457316951773314759512656941245239021592366614072460635067451913640482598547479370167554318067830597260541991292600561992906633294208054489357823447569065128362879690312910052224450314905473244259499436340495353945730653099484550915367396889982174604701163398881339433952529121484542043773253351611904875746807744472840217337113703931092446016739343287335780920142026675707210749570889533244403869030218927802902899295138734975086115320610748521306779146234913485164603339508685656243895064550345215527146267453932237312810596756733359905895436716987003546646768382135397952352746454972462975398468665806361261629357486275586693212328513230819744204418674412955297919294355435044667352154634870173108433361182317263591845173197720699510823569545297207806618628735280300078983262206157846339309182730787842791527622767875166388985817651154576269549770070793501048619674483883741309973914085781241207724028620093552173688392053959846123333699827474617245090556325898330140535358755351422583024145697432633740401995459393706199573895519337842504508861972785313020779394747583521284784318426227625388447248438301353855150199876446045095373998542620800002 260720715871160274080026655346009314638037410447630824333641645236706788892268659404422268524899318475148206179759842431749724639539258552735338854101295732946118205409410918529012081998914669470763905123137668258126152469976057953750774761420637179883270975794799646182871948020121319860161252534460500725912882791196848826641078339584214046417102431561125650693662099613935694113685093935045614840954241370864135120107110306002053925582656923177583548738218239302986289872704867568378082587759547413099680639845847757488688702156485325549283571329548225551312578395744761161919409854267833328953622984264862694421830398119740574730468336611160706102592843651539793240900832396993726483563789652684431429502752840985426295881360721770818994523203937219524799029488773807311510900795339529465696402936207706138885821994018443297361768933639833985228522572670925077951895157584974805070083840284011494859560237318362312416310382626408262011425533365054957681988721774822032803483375516825181517133932393202245862522224197574338554126421068574685972331868162086359155148211799415200569211066506991789805324898372796983370028715818474729692149642766996775684998481025936476276727971132608298184340601111799593933788897495923998108177236901866577190040014976984342639429343319178724887899028213215789966490435951551449955553316688104508633617927141635537200140469492999206660961963663420735545209854134986558303521846047975339822476299541320118811870309516393277379549153057170126481115268453098696570921202168259203439434451355674339180001108163840149717176298734768495401495104735183070577412916092906792206766030330274223042420544130242254173624852833676347396225621184227548413821981887008845328221873071692492823645806126324328181593046823575438528204800107881533014899295249792856490830684735453188114552039071553933189439449107510919856888543420033089142772839856628327978136689374937362911035029852238308160978675854557139284712817285918163553599676660810686024821563065948645593730323933712149979861634970211690304627778856864484275907348644523235175487982172295645447405995479066756585378781601743482359148958766488963569817671941739829948428593279480437369656175165000046824327691432273107204978101441748506719745135995532312513532014134694196479644918496573313216049701207414738021977456489027625438721641130827399045284824520287286598920802074174545329144067876806838398765205451193417170539820773783741451776951418383333863792646145046903412045903386142092549522603854271158177756935199843769401614027481981621663090405924768430876322664870435673937558738282929956631014698498641391832180201204521926614515826549444987718603682184922755513387367078447884631902545395722819706604567191648430924142403246157259320441862073190263001145460050795807942813982627673918600039498536591699901810030820683050714494638055584205769000739895166344904570778954549190354099191170562719260250018803587324043027304575070189157404338515846724289295001271555904584496514788141951167547890673456522190754622594981628228373507933453145375008224479916713904470307969266302028749629437814466015239425172661094281826609556605069741038769051556854799071914630863252695757605203076728776748830344701306722807478627317151955783713542044031275025991683819242668052981254937748001 421854979850741474108873507524308563978001988407049077599406289814077467550356951842670999865383000314256599472349188021447205475427288657333744796351729370728449396639907082923573747021389124769136119126079470696761970148811057874536635295801837372490012015955408771853834854758227383106642108335943579895990566265114414719592858871666921743283541566785797385319079572753990731418092878545278780942303971404897003477096410329922156967160442329117181699608834812363494566885639616992638515669583921570082915155932878058176059044819335014933384585595276456448515164686362021975197097809320907177858791702827815965379278317614647547371130751768391793199732552137088651032238965160508861217021528465051834606928567632467615250213950060719954487059234348155066766103573563042852607368201063748810463397898984116172572889334489030552629447370056667464116205057845068798207388650938046344740098462419907708997773374471327874398227867026632489250544408523840166882040700809336624804073178022973532184891416571035233285572866838902014196286539353295225109682937114088463773664625586521269112737582026500944677121557340261504883207467947326275210296944907001706231550499866057886536975173027606590816094110808897074963728380807499220047107944333562178423856083476834834232737472524574211058129051476887439963101902246489324598546729097828134531302702823237107833610047554278443919885376461534276961407067056497250145234141623125006432129245280999659490891082431148881246401207135166406243530917784326961769412411846612904265773888780237099086860415202675206005538850197583666442978176704182952483173557964376666166242472537781877969073950374175740058274535714799389544725046390269800144561713679752394044608899219526886889225945036638917444069213768938978544532654200016786396887110479076857595106419580751280709327654126532188641584349221593861291639897252915280651954610956698687240897321758201298671875115883674372792454147165710146837340317997568806499283453265537345463931218109839312735449727523561644174590216265793619620375460749431466873433509018381975826453519531551147479053004440813217640759733354098496529232416083440736884577184598681075187450185646094509830291242616913687306926238911643274759296169272345767261736428596094305420165308342748685837468366065638441578929391520324790246427771394500869698221077471322752991015477619771837514288198964156719933845231275688177832717734572677959214313074125395646327523759162856174081129759848977995858062642729429428330442745880946865388506506089377013805483057700909424565989701063503405962437985481184195244337884517843441795618038007327048076075265754867142141662094003377225031414278941656115419282803795434888178549313777858217658957313646620893899540871911963620582071219559465849694357788564026627687018401302086873897958792892026744569162185455553223822927999237901469360845913092887044415394348499846398160717819905843019339233281009745170382336487305858031948931961283721890678280818922710480854046284858935452216167565157340263500728536680762869436097536553546697548696616533876560027804007796740919273840185763712796155774783928012516864850755254037703481440764510950560998645810150201095200266467175862041797528225092284828007591797053544777344230961980345385130176191560265287763426979797558548003 682575695721901748188900162870317878616039398854679901933047935050784256442625611247093268390282318789404805652109030453196930114966547210069083650453025103674567602049318001452585829020303794239900024249217138954888122618787115828287410057222474552373282991750208418036706802778348702966803360870404080621903449056311263546233937211251135789700643998346923036012741672367926425531777972480324395783258212775761138597203520635924210892743099252294765248347053051666480856758344484561016598257343468983182595795778725815664747746975820340482668156924824681999827743082106783137116507663588740506812414687092678659801108715734388122101599088379552499302325395788628444273139797557502587700585318117736266036431320473453041546095310782490773481582438285374591565133062336850164118268996403278276159800835191822311458711328507473849991216303696501449344727630515993876159283808523021149810182302703919203857333611789690186814538249653040751261969941888895124564029422584158657607556553539798713702025348964237479148095091036476352750412960421869911082014805276174822928812837385936469681948648533492734482446455713058488253236183765801004902446587673998481916548980891994362813703144160214889000434711920696668897517278303423218155285181235428755613896098453819176872166815843752935946028079690103229929592338198040774554100045785932643164920629964872645033750517047277650580847340124955012506616921191483808448755987671100346254605544822319778302761391947542158625950360192336532724646186237425658340333614014872107705208340135911438266861523366515355722715148932352161844473281439366023060586474057283458373008502868056101011494494504417994231899388548475736940950667574497348558383695566761239372830772291219379712871751162963245625662260592514417072737454307898319411786405728869714085937104316204468823879693198086121831023798329104781148528440672948369794727450813327015219034011133138661582910145735912680953432823020267286122053135283486970052883129926348031488752781175787958329180051457273794154451851236005309925003239606295951149340857662905211001941501703846792926458999919879974226138514955841978888381374849929700454394856540420905135878778925574947199947417781913734131253930343916381964274270714094273981481564591626617933697322477442882317113284562211754794979092727739528268405227883528495136942718602150152036300302140059124113209001038331265262989299152495016231482940023871376384852894899179387779300710581239507944922405994024899270108546115571520879965349735218023566263441289220783207097085182891046229080106988271836838760650351619869181896622800773398426632736505968439908255466959389068756177920552822212750017961126578870932670170873882772810451859173581037365561880838269324823683275158120879902513081632656112695503248614822435629832383929760792497998291428618444470972216276236274537422637293485675129846652988053389319965127454395588514817011076405738599483299813332494425363791880928221106336299799568614967575820194266385438542799647077403383715455830796785691483159275744497664471044486999842923704841013793273932274315766007221302589815201527262171014209100673611146677364810642773222479533562507415797717724781064347896024072378938770574277055436986134730399275680861929300014675522389416405202183244084530431479961052496296004 1104430675572643222297773670394626442594041387261728979532454224864861723992982563089764268255665319103661405124458218474644135590393835867402828446804754474403016998689225084376159576041692919009036143375296609651650092767598173702824045353024311924863295007705617189890541657536576086073445469206347660517894015321425678265826796082918057532984185565132720421331821245121917156949870851025603176725562184180658142074299930965846367859903541581411946947955887864029975423643984101553655113926927390553265510951711603873840806791795155355416052742520101138448342907768468805112313605472909647684671206389920494625180387033349035669472729840147944292502057947925717095305378762718011448917606846582788100643359888105920656796309260843210727968641672633529658331236635899893016725637197467027086623198734175938484031600662996504402620663673753168913460932688361062674366672459461067494550280765123826912855106986261018061212766116679673240512514350412735291446070123393495282411629731562772245886916765535272712433667957875378366946699499775165136191697742390263286702477462972457738794686230559993679159568013053319993136443651713127280112743532581000188148099480758052249350678317187821479816528822729593743861245659110922438202393125568990934037752181930654011104904288368327147004157131166990669892694240444530099152646774883760777696223332788109752867360564601556094500732716586489289468023988247981058593990129294225352686734790103319437793652474378691039872351567327502938968177104021752620109746025861485011970982228916148537353721938569190561728253999129935828287451458143548975543760032021660124539250975405837978980568444878593734290173924263275126485675713964767148702945409246513633417439671510746266602097696199602163069731474361453395617270108507915105808673516207946571681043523896955749533207347324618310472608147550698642440168337925863650446682061770025702459931332891339960254785261619587053745886970185977432959393453281055776552166583191885376952683999285627271064629778980835438329042067501798929545378700355727418022774366681287186828395021235397940405512004360693191866898248309940475417613790933370437338972041139101980323328964571669457030238660398827421438180169255559656723570439986440041243217993187720923353862630820191568154581650627850196373908484248064318514832999278029364835163796073472905027315779759830961627497200002487985196834530428183194064200674596549335599165969024575034106824469744095682026052165843002895128171188845000949210408095616164888954769947378597797012580142883800470795069808051775242801198635832804064426234507318616840222250774513295487984330732714256210897840014556199437781432240068234986351952974669317660989001172951439255024519194484890218723224147070084500484584301192121962389861037178849063316850785231847666395957084320645189040134401731789498360350636531387144490692566080940433735359475954241986675534830982248757938716580823077664807700279186786253055268261083290505645856639116976866292589084506012855599883020988137049192211695956507367100568581040546540472401457547669833960078323562748140576430000965240058326788993028686128011528120064680476703920298073457976796363534931265443096290539554800812371805280529270962737991072734406706644245637502734801535378374804349818194906940850054844007 1787006371294544970486673833264944321210080786116408881465502159915645980435608174336857536645947637893066210776567248927841065705360383077471912097257779578077584600738543085828745405061996713248936167624513748606538215386385289531111455410246786477236577999455825607927248460314924789040248830076751741139797464377736941812060733294169193322684829563479643457344562917489843582481648823505927572508820396956419280671503451601770578752646640833706712196302940915696456280402328586114671712184270859536448106747490329689505554538770975695898720899444925820448170650850575588249430113136498388191483621077013173284981495749083423791574328928527496791804383343714345539578518560275514036618192164700524366679791208579373698342404571625701501450224110918904249896369698236743180843906193870305362782999569367760795490311991503978252611879977449670362805660318877056550525956267984088644360463067827746116712440598050708248027304366332713991774484292301630416010099545977653940019186285102570959588942114499510191581763048911854719697112460197035047273712547666438109631290300358394208476634879093486413642014468766378481389679835478928285015190120254998670064648461650046612164381461348036368816963534650290412758762937414345656357678306804419689651648280384473187977071104212080082950185210857093899822286578642570873706746820669693420861143962752982397901111081648833745081580056711444301974640909439464867042746116965325698941340334925639216096413866326233198498301927519839471692823290259178278450079639876357119676190569052059975620583461935705917450969148062287990131924739582914998604346506078943582912259478273894079992062939383011728522073312811750863426626381539264497261329104813274872790270443801965646314969447362565408695393734953967812690007562815813425220459921936816285766980628213160218357087040522704432303631945879803423588696778598812020241409512583352717678965344024478621837695407355499734699319793206244719081446588564542746605049713118233408441436780461415229393809830438109232483493918737804239470381939962023369172115224344192397830336522939244733331971004280573166093036763265782454305995165783300137793366897679522885459207743497244404230186078180741155569434099599476038687844710700534315224699557779347541287559953297634450471694935190061951168887576975803846783238227161557859972106514675623057063616081899890085740706201040819250459823829580678210295683614620420711984018863923754421886125180325335189970974571837027794398279734960572470090373445351382912521033388667818580219677228066691517024149915040047079639959286184423933608131130119390238648883511019263927892586199673645279654017935109021650531450201194813857284623145543200433799453032125020292390081075323159543546907422228205380387097382824778075085364285793671498946683169161608458893955375749263633511106618008025772897773273824872819620539219068993823055324603408637575190351842058654496538199880636410159233064071067714474161604560882859120613432459311243251731131884153090258983598476818933834883694855232251864765039625527546383396106298561463107892352639328755361879019816166767320497803202129359739158205484875323249926399831635965392594081259712329790992314611933739582946082335966257097468390348415268635944260313025124217940580558048434348626386901902551140011 2891437046867188192784447503659570763804122173378137860997956384780507704428590737426621804901612956996727615901025467402485201295754218944874740544062534052480601599427768170204904981103689632257972310999810358258188308153983463233935500763271098402099873007161442797817790117851500875113694299283099401657691479699162620077887529377087250855669015128612363878676384162611760739431519674531530749234382581137077422745803382567616946612550182415118659144258828779726431704046312687668326826111198250089713617699201933563346361330566131051314773641965026958896513558619044393361743718609408035876154827466933667910161882782432459461047058768675441084306441291640062634883897322993525485535799011283312467323151096685294355138713832468912229418865783552433908227606334136636197569543391337332449406198303543699279521912654500482655232543651202839276266593007238119224892628727445156138910743832951573029567547584311726309240070483012387232286998642714365707456169669371149222430816016665343205475858880034782904015431006787233086643811959972200183465410290056701396333767763330851947271321109653480092801582481819698474526123487192055565127933652835998858212747942408098861515059778535857848633492357379884156620008596525268094560071432373410623689400462315127199081975392580407229954342342024084569714980819087100972859393595553454198557367295541092150768471646250389839582312773297933591442664897687445925636736246259551051628075125028958653890066340704924238370653494847342410661000394280930898559825665737842131647172797968208512974305400504896479179223147192223818419376197726463974148106538100603707451510453679732058972631384261605462812247237075025989912302095504031645964274514059788506207710115312711912917067143562167571765125209315421208307277671323728531029133438144762857448024152110115967890294387847322742776240093430502066028865116524675670688091574353378420138896676915818582092480668975086788445206763392222152040840041845598523157216296310118785394120779747042500458439609418944670812535986239603169015760640317750787194889591025479584658731544174642673737483008641266357959935011575722929723608956716670575132338938818624865782536708068913861260424738579568577007614268855035695411415150686974356467917550967068464641422584117826018626276585817912147542796061223868165298071226439587224807270310749095962090931861659721047368203401043307235656658360008861404359884289216970047583184832948329455992949650069430871997026737680030689526450923805573419300781540967547801475803336046416377232257370950491987819219723091822322441157922017227998034365637438007078871134285532559415876916932387901490551857949665221088312882441263048843636576120212518094788454205076459547414600269808049762270131569298289880871681684016900037475225322972520562263533954393456125289912460069908822551241019739815271258123910356259964111231785149934256790684079362879561865886673040903254476916461459487824040764350254500727216872821966149626259289098428220118023720968659103114583481497807070884075906551188759231865608206568092923868507756109132941852430962891503502455449817132007378824592195158045867169733604940003726630320129709423369390444794643595234088605151488540395317887616495528060206381421149675342588505950527859019475958932852784166821293842752605984018 4678443418161733163271121336924515085014202959494546742463458544696153684864198911763479341547560594889793826677592716330326267001114602022346652641320313630558186200166311256033650386165686345506908478624324106864726523540368752765046956173517884879336451006617268405745038578166425664153943129359851142797488944076899561889948262671256444178353844692092007336020947080101604321913168498037458321743202978093496703417306834169387525365196823248825371340561769695422887984448641273782998538295469109626161724446692263252851915869337106747213494541409952779344684209469619981611173831745906424067638448543946841195143378531515883252621387697202937876110824635354408174462415883269039522153991175983836834002942305264668053481118404094613730869089894471338158123976032373379378413449585207637812189197872911460075012224646004460907844423628652509639072253326115175775418584995429244783271206900779319146279988182362434557267374849345101224061482935015996123466269215348803162450002301767914165064800994534293095597194055699087806340924420169235230739122837723139505965058063689246155747955988746966506443596950586076955915803322670983850143123773090997528277396404058145473679441239883894217450455892030174569378771533939613750917749739177830313341048742699600387059046496792487312904527552881178469537267397729671846566140416223147619418511258294074548669582727899223584663892830009377893417305807126910792679482363224876750569415459954597869986480207031157436868955422367181882353823684540109177009905305614199251323363367020268488594888862440602396630192295254511808551300937309378972752453044179547290363769931953626138964694323644617191334320549886776853338928477043296143225603618873063378997980559114677559232036590924732980460518944269389020997285234139541956249593360081579143215004780323276186247381428370027175079872039310305489617561895123487690929501086936731137817862020940297203930176076330586523144526556598466871122286630410141269762266009428352193835557560208457729852249439857053903296029904977407408486142580279774156367004815369671982489068067113887407069454012921839524052971774841505384029604122499970712925705836498147751241744451566158265490610816760309732577048368454511734099259861387508671692617108746416005928982537415460469097971521007974098711683638199672012081309453601145084779376825424719019154547943559611133108909602084126486116482189589539614655567903837390759567203696872083877879074830394766061968001309517058483924730658766145889391154986318930713996836724714234957451934599017183504843369638131869402081117208201651931642496767557397317520017796551823343769503132061546770205875884774242738844332642457862700921199265755718528587907237201479839804681345131209305817038991526495261258779066841678112560589608766192061210217123555064584183867835819172456062347637747841044155897184181132783731771004218928079846008682771517137056238515099557751015116342095897983273828421322215201378477382849008746872721557739463369754852852812193373567079974626004718959601406421011096630647832095639307264614054670596049744783602220258864334469633298774699322395397287405606327939089815326976556719961345388761984526054355925025080919763422279978263969952461785157674771769564943978532766263552983237416539490901218515447680744655157124029 7569880465028921356055568840584085848818325132872684603461414929476661389292789649190101146449173551886521442578618183732811468296868820967221393185382847683038787799594079426238555367269375977764880789624134465122914831694352215998982456936788983281436324013778711203562828696017926539267637428642950544455180423776062181967835792048343695034022859820704371214697331242713365061344688172568989070977585559230574126163110216737004471977747005663944030484820598475149319688494953961451325364406667359715875342145894196816198277199903237798528268183374979738241197768088664374972917550355314459943793276010880509105305261313948342713668446465878378960417265926994470809346313206262565007689790187267149301326093401949962408619832236563525960287955678023772066351582366510015575982992976544970261595396176455159354534137300504943563076967279855348915338846333353295000311213722874400922181950733730892175847535766674160866507445332357488456348481577730361830922438884719952384880818318433257370540659874569075999612625062486320892984736380141435414204533127779840902298825827020098103019277098400446599245179432405775430441926809863039415271057425926996386490144346466244335194501018419752066083948249410058725998780130464881845477821171551240937030449205014727586141021889372894542858869894905263039252248216816772819425534011776601817975878553835166699438054374149613424246205603307311484859970704814356718316218609484427802197490584983556523876546547736081675239608917214524293014824078821040075569730971352041382970536164988477001569194262945498875809415442446735626970677135035842946900559582280150997815280385633358197937325707906222654146567786961802843251230572547327789189878132932851885205690674427389472149103734486900552225644153584810229304562905463270487278726798226342000663028932433392154137675816217349917856112132740807555646427011648163361617592661290109557956758697856115786022656745305673311589733319990689023163126672255739792919482305738470979229678339955500230310689049275998574108565891217010577501903220597524943561894406395151567147799611288530080806937021563105882012906786417228313753213079216641288058044775316772617024281159635072126751035555339878309584662637309547429510675012074483028160534659713484470570405121533286487724248106825886246254479699423540177379380680040732309586647136173814981245479805219332180477113003127433721773140549598401019015452193054360807150388529820413333872024480464196933965028047197089173451181582571719308691936527286478515472640060760651334684191969967675492662589361223691724522275130218879929676862404995404396391152082084382759646420064449448260757733834439463827157215083720911544557775385968236623376361442277939387219281614939259068087170560824785142130460750858578150035814931738712623473751077948520709473780295889081278613588657487656315414021094537392747843002789368862336636692762134396698922125188140461005492032803555385807314592771576715928595350204815158373132010656167683487778573821471296488150561472433075603035507957609770328496256038663732231133121810779728991597214565111762366789919450430782078146987592445451473497672694755330703187040091054812131374970848999520259169524914910820373581857568957313217881153190714619321121272214080842256892498423754002682268974587407763108047 12248323883190654519326690177508600933832528092367231345924873474172815074156988560953580487996734146776315269256210900063137735297983422989568045826703161313596973999760390682272205753435062323271789268248458571987641355234720968764029413110306868160772775020395979609307867274184352203421580558002801687252669367852961743857784054719600139212376704512796378550718278322814969383257856670606447392720788537324070829580417050906391997342943828912769401825382368170572207672943595235234323902702136469342037066592586460069050193069240344545741762724784932517585881977558284356584091382101220884011431724554827350300448639845464225966289834163081316836528090562348878983808729089531604529843781363250986135329035707214630462100950640658139691157045572495110224475558398883394954396442561752608073784594049366619429546361946509404470921390908507858554411099659468470775729798718303645705453157634510211322127523949036595423774820181702589680409964512746357954388708100068755547330820620201171535605460869103369095209819118185408699325660800310670644943655965502980408263883890709344258767233087147413105688776382991852386357730132534023265414181199017993914767540750524389808873942258303646283534404141440233295377551664404495596395570910729071250371497947714327973200068386165381855763397447786441508789515614546444665991674427999749437394389812129241248107637102048837008910098433316689378277276511941267510995700972709304552766906044938154393863026754767239112108564339581706175368647763361149252579636276966240634293899532008745490164083125386101272439607737701247435521978072345221919653012626459698288179050317586984336902020031550839845480888336848579696590159049590623932415481751805915264203671233542067031381140325411633532686163097854199250301848139602812443528320158307921143878033712756668340385057244587377092935984172051113045263988906771651052547093748226840695774620718796412989952832821636259834734259876589155894285413302665881062681748315166823173065235900163957960162938489133052477404595796194417985988045800877299099928899221764823549636867678402417487876391034484945406065878561258733697782817201716612000983750611814920368266025611201230392241646372100188042161711005764059163609934873461991699853151768459900476499387658948746956822219627833860344966163337623212189460690133641877394366023961598534000400027748778943313586022605211560207889622739187940633671020096891751566717592226692497211751099310858962995933029356714147657375912241337865198083091513605409229469476785474886292136126568984858997505958999355561126603392338420531861319359172552801713911169878636206103415923196510995030963609719213706566001547726178774245478974651723955151964268679479419227023962960070468373904209552351280403389239817700256262596404540504904684683968201503585293657648131708253734675936295235497359569918278718525531574773793587790416482701444905913835978363703240018756507149145651283790588421192898931129973827587664167120004732213907146857533426674283489861717641447059080321995109364030781425126903870759371538397735865450325041341998167332021231124389083729556777469382989732857079825611784570657679743760052400200893359496903355445284250444678333100351845827521419098375555924960279563299654038477633825494309037914655221197716655332062920232076 19818204348219575875382259018092686782650853225239915949386288403649476463449778210143681634445907698662836711834829083795949203594852243956789439012086008996635761799354470108510761120704438301036670057872593037110556186929073184763011870047095851442209099034174690812870695970202278742689217986645752231707849791629023925825619846767943834246399564333500749765415609565528334444602544843175436463698374096554644955743527267643396469320690834576713432310202966645721527361438549196685649267108803829057912408738480656885248470269143582344270030908159912255827079745646948731557008932456535343955225000565707859405753901159412568679958280628959695796945356489343349793155042295794169537533571550518135436655129109164592870720782877221665651445001250518882290827140765393410530379435538297578335379990225821778784080499247014348033998358188363207469749945992821765776041012441178046627635108368241103497975059715710756290282265514060078136758446090476719785311146984788707932211638938634428906146120743672445094822444180671729592310397180452106059148189093282821310562709717729442361786510185547859704933955815397627816799656942397062680685238624944990301257685096990634144068443276723398349618352390850292021376331794869377441873392082280312187401947152729055559341090275538276398622267342691704548041763831363217485417208439776351255370268365964407947545691476198450433156304036624000863137247216755624229311919582193732354964396629921710917739573302503320787348173256796230468383471842182189328149367248318282017264435696997222491733277388331600148249023180147983062492655207381064866553572208739849285994330703220342534839345739457062499627456123810382539841389622137951721605359884738767149409361907969456503530244059898534084911807251439009479606411045066082930807046956534263144541062645190060494522733060804727010792096304791920600910415918419814414164686409516950253731379416652528775975489566941933146323993196579844917448539974921620855601230620905294152294914240119458190473627538409051051513161687411428563489949021474824043490793628159975116784667289690947568683328056048051288078785347675962011536030280933253289041795387131692985290306770836302518992681927440066351746373643073606593120609885536474728013686428173384947069792780482033444546467734659746591220643037046752366840070813682609703952671097772348981645507553998275494063135608338993929662763288786341652686472289946112373867980756512910545623123791323159929898057403911236830827093823909584506775028040891887744942116846235537626820318538952534490168548360579252851125667468639411790996221577548206110302321960720588863062343260960443291721343553653170393158762809899685790036750037692191775340630121757358614243244575009727441991380113176065545519700568558834412632219472243617308157719279452106003131428427597335013289524952723153674983939373255918279417776582956652753119394207040310534900488891380479761999181949206669597903013964475647058569177792479325493136742870074830345312000495754786349868202919492155925030617321640551753623159909423103769530857676230054032939212732443783597914308534160338855616370582178308553323284479325988382930800143455013024734467752354965543419969593243920725427685090376411593437078150994182620775310691714667751201536338409223879985629919470683340123 32066528231410230394708949195601287716483381317607147295311161877822291537606766771097262122442641845439151981091039983859086938892835666946357484838789170310232735799114860790782966874139500624308459326121051609098197542163794153527041283157402719602981874054570670422178563244386630946110798544648553918960519159481985669683403901487543973458776268846297128316133887888343303827860401513781883856419162633878715785323944318549788466663634663489482834135585334816293735034382144431919973169810940298399949475331067116954298663338383926890011793632944844773412961723205233088141100314557756227966656725120535209706202541004876794646248114792041012633473447051692228776963771385325774067377352913769121571984164816379223332821733517879805342602046823013992515302699164276805484775878100050186409164584275188398213626861193523752504919749096871066024161045652290236551770811159481692333088266002751314820102583664747351714057085695762667817168410603223077739699855084857463479542459558835600441751581612775814190032263298857138291636057980762776704091845058785801718826593608438786620553743272695272810622732198389480203157387074931085946099419823962984216025225847515023952942385535027044633152756532290525316753883459273873038268962993009383437773445100443383532541158661703658254385664790478146056831279445909662151408882867776100692764658178093649195653328578247287442066402469940690241414523728696891740307620554903036907731302674859865311602600057270559899456737596377936643752119605543338580729003525284522651558335229005967981897360513717701420688630917849230498014633279726286786206584835199547574173381020807326871741365771007902345108344460658962236431548671728575654020841636544682413613033141511523534911384385310167617597970349293208729908259184668895374335367114842184288419096357946728834907790305392104103728080476843033646174404825191465466711780157743790949506000135448941765928322388578192981058253073169000811733953277587501918282978936072117325360150140283416150636566027542103528917757483605846549477994822352123143419692849924798666421534968093365056559719090532996694144663908934695709318847482649865290025545998946613353556332382037532911234328299540254393908084648837665756730544758998466427866838196633285423569180439430780401368687362493606936186806374669964556300760947324487098318695059370882982045535302777218807649158213550554137552386027974282286357492386837863940585572983205407757374223102182122925831086760625384488203006065247449704858119554497296974411593631710423918956445107937393487674507359934813977729059807059943652315580750101007824213491839356794966478266457471438322684953272866876959160310536078460035515724689416146927304898801236777841267207535080195815895589665527345948908940386259090675228624012748521992841687480955691296789076559305588747965461247958651034553857651974443810992550376544443169602095651946224370878852594620498518506331094857953388491435157374578188543005380143492613141475083981977202845427170038276211585844366551236247025726685671333178750063780182475307928593541680379074281210899775804829038697617889895633085753571911165633148896263896646062674560195855213918093964655710410827670414271577021077273512611795509968993003111273745920429349169348493245510574253064445077702285251533603572199 51884732579629806270091208213693974499134234542847063244697450281471768001056544981240943756888549544101988692925869067655036142487687910903146923850875179306868497598469330899293727994843938925345129383993644646208753729092867338290053153204498571045190973088745361235049259214588909688800016531294306150668368951111009595509023748255487807705175833179797878081549497453871638272462946356957320320117536730433360741067471586193184935984325498066196266445788301462015262395820693628605622436919744127457861884069547773839547133607527509234281824541104757029240041468852181819698109247014291571921881725686243069111956442164289363326206395421000708430418803541035578570118813681119943604910924464287257008639293925543816203542516395101470994047048073532874806129839929670216015155313638347764744544574501010176997707360440538100538918107285234273493910991645112002327811823600659738960723374370992418318077643380458108004339351209822745953926856693699797525011002069646171411754098497470029347897702356448259284854707479528867883946455161214882763240034152068623029389303326168228982340253458243132515556688013787108019957044017328148626784658448907974517282910944505658097010828811750442982771108923140817338130215254143250480142355075289695625175392253172439091882248937241934653007932133169850604873043277272879636826091307552451948134926544058057143199020054445737875222706506564691104551770945452515969619540137096769262695699304781576229342173359773880686804910853174167112135591447725527908878370773602804668822770926003190473630637902049301568937654097997213560507288487107351652760157043939396860167711724027669406580711510464964844735800584469344776272938293866527375626201521283449563022395049480980038441628445208701702509777600732218209514670229734978305142414071376447432960159003136789329430523366196831114520176781634954247084820743611279880876466567260741203237379552101470541903811955520126127382246269748845729182493252509122773884209556977411477655064380402874341110193565951154580430919171017275112967943843826947186910486478084773783206202257784312625243047146581047982223449256610657720854877763583118579067341386078306338846639152873835430227010226980320745654458291911272349851154644534941155880524624806670370638973219912813845915155097153353527407449411716716923140831761007096802271366157143231963691042856775494301712293821889548067215149316760623939043964676783976314453553739718318302997346893505282855729144164536621319030099889157034211633147595389184719353710477945961545776763646889927977843055720514066828854727275699355443311802327649213934515813800077383829540609718431881614406296826520047352319073345978145825552474727108338702645528922994136455510452110089923257886969778703411494428640954817925087860843484992139300999406760407797299920504986902923761254986200681804709537797025230362090410326959501095922721489858986534905779341486000978280505513044064622986394449121850225247112183172622818106278217954056807548157427665793062561454047286043392172056344007311884932373223689605579077459451217910433107220423632219588426953006152050234488702124154089474186472180743222634445605360339310226942828432408065376371090383864820941802701197702171921562430081262267928541204659861063160996712110591473668957687915171004286912322 83951260811040036664800157409295262215617615860454210540008612159294059538663311752338205879331191389541140674016909051514123081380523577849504408689664349617101233397584191690076694868983439549653588710114696255306951271256661491817094436361901290648172847143316031657227822458975540634910815075942860069628888110592995265192427649743031781163952102026095006397683385342214942100323347870739204176536699364312076526391415904742973402647960161555679100581373636278308997430202838060525595606730684425857811359400614890793845796945911436124293618174049601802653003192057414907839209561572047799888538450806778278818158983169166157972454510213041721063892250592727807347082585066445717672288277378056378580623458741923039536364249912981276336649094896546867321432539093947021499931191738397951153709158776198575211334221634061853043837856382105339518072037297402238879582634760141431293811640373743733138180227045205459718396436905585413771095267296922875264710857154503634891296558056305629789649283969224073474886970778386006175582513141977659467331879210854424748215896934607015602893996730938405326179420212176588223114431092259234572884078272870958733308136792020682049953214346777487615923865455431342654884098713417123518411318068299079062948837353615822624423407598945592907393596923647996661704322723182541788234974175328552640899584722151706338852348632693025317289108976505381345966294674149407709927160691999806170427001979641441540944773417044440586261648449552103755887711053268866489607374298887327320381106155009158455527998415767002989626285015846444058521921766833638438966741879138944434341092744834996278322077281472867189844145045128307012704486965595103029647043157828131976635428190992503573353012830518869320107747950025426939422929414403873679477781186218631721379255361083518164338313671588935218248257258477987893259225568802745347588246725004532152743379687550412307832134344098319108440499342917846540916446530096624692167188493049528803015214520686290491746759593493258109348676654623121662445938666179070330330179328009572449627737225877677681802766237114044676368113165545353430173725246232983869092887385024919692402971534911368341461338526520575139562542940748938106581699403533407583747362821439955794208153659343594247283842459646960463594255786386681479441592708331583900590061216514114945736578159552713109361452035440102204767535344734906225401457063621840255039126722923726060371569995687405781560230925162005807233105954404483916491267149886481693765304109656385464733208754827321465517563080448880806583787082759299095627383077750221758729305639434178796018876175903319937091250099386924311479383882056605861068199416524485629950427724230914296777659645170119073782559444230757443337581341077015763089467497740661293841094241363488596709581546208512509220447448640455744091654677204805901402877336045539092323585510932759276658194080621476799011844138922576374885884279224803435655188552766310719419693038038784751002854835831338773039891652594628419082070692983218111123287469788054385388044759590812181501634531995393255991703769940130121787877726000639819621077007119280508279920535165440860922397063775787198760798136397962879974710313967431531423084373541674461634009030411654242222684844538114035390200422537890484521 135835993390669842934891365622989236714751850403301273784706062440765827539719856733579149636219740933643129366942778119169159223868211488752651332540539528923969730996053522589370422863827378474998718094108340901515705000349528830107147589566399861693363820232061392892277081673564450323710831607237166220297257061704004860701451397998519588869127935205892884479232882796086580372786294227696524496654236094745437267458887490936158338632285659621875367027161937740324259826023531689131218043650428553315673243470162664633392930553438945358575442715154358831893044660909596727537318808586339371810420176493021347930115425333455521298660905634042429494311054133763385917201398747565661277199201842343635589262752667466855739906766308082747330696142970079742127562379023617237515086505376745715898253733277208752209041582074599953582755963667339613011983028942514241207394458360801170254535014744736151456257870425663567722735788115408159725022123990622672789721859224149806303050656553775659137546986325672332759741678257914874059528968303192542230571913362923047777605200260775244585234250189181537841736108225963696243071475109587383199668736721778933250591047736526340146964043158527930598694974378572159993014313967560373998553673143588774688124229606788261716305656536187527560401529056817847266577366000455421425061065482881004589034511266209763482051368687138763192511815483070072450518065619601923679546700829096575433122701284423017770286946776818321273066559302726270868023302500994394398485745072490131989203877081012348929158636317816304558563939113843657619029210253940990091726898923078341294508804468862665684902788791937832034579945629597651788977425259461630405273244679111581539657823240473483611794641275727571022617525550757645148937599644138851984620195257595079154339414364220307493768837037785766332768434040112942140344046312414025228464713292265273355980759239651882849735946299618445235822745612666692270098939782605747466051398050026940280670278901089164832856953159444412689779595825640396775413882510006017517240665806094346232833939483661990307045813383695092658591562422156011151028603009816102448160228771103226031249610687785203771688348753500895885217001232660210456432854048068348739627887446246626164847126879256408093198997556800313991001705198103398402582424469338680702861427373657346909427621016328207411073745857329650271982684661495530164445421740405816569492680462642044363368916889192688637289375089698627126263205843561518128124414745275666413119014587602347010509972401717249443360618800962947635438514358458654538939185405399435693245119439511562625559485894335201551497546925906971663798457228034751686620674143632824332595956647225050752288111755260042331669529222934168937766222295894940850950310982732800594840501001771285896630086533111436270475433649322260453629451702435167991813204295546635015045075369919294182437535566622455079517357182987199361280333401075028682767371725389128825697910992095592299160282501624401334493938938638020591138414700295103043496511159393633462847495977501245288722058164214981682944709921990364610490001880090114006093257750341914953885280874475667803750829471841163569851182001218904682675908016139353093853165635809603002838668891474815238934795436011782993078115593542177396843 219787254201709879599691523032284498930369466263755484324714674600059887078383168485917355515550932323184270040959687170683282305248735066602155741230203878541070964393637714279447117732810818024652306804223037156822656271606190321924242025928301152341536667375377424549504904132539990958621646683180026289926145172297000125893879047741551370033080037231987890876916268138301522473109642098435728673190935459057513793850303395679131741280245821177554467608535574018633257256226369749656813650381112979173484602870777555427238727499350381482869060889203960634546047852967011635376528370158387171698958627299799626748274408502621679271115415847084150558203304726491193264283983814011378949487479220400014169886211409389895276271016221064023667345237866626609448994918117564259015017697115143667051962892053407327420375803708661806626593820049444952530055066239916480086977093120942601548346655118479884594438097470869027441132225020993573496117391287545548054432716378653441194347214610081288927196270294896406234628649036300880235111481445170201697903792573777472525821097195382260188128246920119943167915528438140284466185906201846617772552814994649891983899184528547022196917257505305418214618839834003502647898412680977497516964991211887853751073066960404084340729064135133120467795125980465843928281688723637963213296039658209557229934095988361469820903717319831788509800924459575453796484360293751331389473861521096381603549703264064459311231720193862761859328207752278374623911013554263260888093119371377459309584983236021507384686634733583307548190224129690101677551132020774628530693640802217285728849897213697661963224866073410699224424090674725958801681912225056733434920287836939713516293251431465987185147654106246440342725273500783072088360529058542725664097976443813710875718669725303825658107150709374701551016691298590930033603271881216770576052960017269805508724138927202295157568080643716764344263244955584538811015386312702372158218586543076469083685493421775455324603712752937670799128272480263518437859821176185087847570845134103918682461676709539667988848579620809137334959675587701364581202328256049086317253116156128145723652582222696572113149687280021471024779544173409148563014553451601756323375250267686581959055280538600002340482840016447274454595960984490079882024017177670264603451488590171461855164199175880920520435197892769752476750220006230436389846878804027656824531807185565770423740486884880094418849606014860632933496311797966002044615681895162148106884318697258732475243181156544570908878181881411828442022301441217953634566568483149657451974425078945741421578362070238521488588797025293895975277841110091357547688873560157309962546384371455965049065771400430161405452088667164926381103803636971956614039778480473461888681595243134774493339668079319948779695881097962716197721106379639973893216081631592174107368660880852053459095729647243931878529201321909775736166217680299832118422560278155439545117604030134377050163137337455740107533830591232649010220485393278321154619798629181687848235540737092057470223692696210374938936413691930494732277879606090753825714334757461195462165201409641108664673226535616950768611980137616867562650618330106784625276250009351277464472677921886469481157480280549897028468316016080067881364 355623247592379722534582888655273735645121316667056758109420737040825714618103025219496505151770673256827399407902465289852441529116946555354807073770743407465040695389691236868817540596638196499651024898331378058338361271955719152031389615494701014034900487607438817441781985806104441282332478290417192510223402234001004986595330445740070958902207972437880775356149150934388102845895936326132253169845171553802951061309190886615290079912531480799429834635697511758957517082249901438788031694031541532489157846340940220060631658052789326841444503604358319466439092513876608362913847178744726543509378803792820974678389833836077200569776321481126580052514358860254579181485382561577040226686681062743649759148964076856751016177782529146770998041380836706351576557297141181496530104202491889382950216625330616079629417385783261760209349783716784565542038095182430721294371551481743771802881669863216036050695967896532595163868013136401733221139515278168220844154575602803247497397871163856948064743256620568738994370327294215754294640449748362743928475705936700520303426297456157504773362497109301481009651636664103980709257381311434000972221551716428825234490232265073362343881300663833348813313814212575662640912726648537871515518664355476628439197296567192346057034720671320648028196655037283691194859054724093384638357105141090561818968607254571233302955086006970551702312739942645526247002425913353255069020562350192957036672404548487477081518666970681083132394767055004645491934316055257655286578864443867591298788860317033856313845271051399612106754163243533759296580342274715618622420539725295627023358701682560327648127654865348531259004036304323610590659337484518363840193532516051295055951074671939470796942295381974011365342799051540717237298128702681577648718171701408790030058084089524133151875987747160467883785125338703872173947318193630795804517673309535078864704898166854178007304026943335209580085990568251231081114326095308119624269984593103409364355772322864620157460665912382083488907868305903915213273703686191105364811510940198264915295616193201658295894393004504229993551238009857375732230931265865188765413344927231371754902192910481775884838036033522366909996545406069359019447407499670105063003137713933208123902407417856410433681837573247588445597666182593478284606441647008945306312915963828808764591820192209127931508943750099402748732904667725966554292300544433473394024487648207814787109403774072783056138981104559260059759517641527520172740096640437814520003333284861079485753153558261820352238800682374776077460815799676608173505753888549093145219544518457304047137847964573723040086343951200867639076298338126109234309547703790134295142341018681015801353883155690203737121617890099095318870025932866897464990089463206262483522096244906060389969754612431385050171314747284976651350558082075141885029285927138809122413736250771347641533265213866386958046558504896975097446551081374860801189932003544568370815515022229969349323419839080141442027769529870669601358900093573424198116309788575321311083036714593302758945750860425356621881123613920859342767881486180867831807592507803110416050482284116776468424056007458114338463162138835772245326526346246137719129415645160880467311346813361284720092275716561680021546431609622245278207 575410501794089602134274411687558234575490782930812242434135411640885601696486193705413860667321605580011669448862152460535723834365681621956962815000947286006111659783328951148264658329449014524303331702554415215161017543561909473955631641423002166376437154982816241991286889938644432240954124973597218800149547406298005112489209493481622328935288009669868666233065419072689625319005578424567981843036107012860464855159494282294421821192777301976984302244233085777590774338476271188444845344412654511662642449211717775487870385552139708324313564493562280100985140366843619998290375548903113715208337431092620601426664242338698879840891737328210730610717663586745772445769366375588419176174160283143663929035175486246646292448798750210794665386618703332961025552215258745755545121899607033050002179517384023407049793189491923566835943603766229518072093161422347201381348644602686373351228324981695920645134065367401622605000238157395306717256906565713768898587291981456688691745085773938236991939526915465145228998976330516634529751931193532945626379498510477992829247394651539764961490744029421424177567165102244265175443287513280618744774366711078717218389416793620384540798558169138767027932654046579165288811139329515369032483655567364482190270363527596430397763784806453768495991781017749535123140743447731347851653144799300119048902703242932703123858803326802340212113664402220980043486786207104586458494423871289338640222107812551936392750387164543844991722974807283020115845329609520916174671983815245050608373843553055363698531905784982919654944387373223860974131474295490247153114180527512912752208598896257989611352520938759230483428126979049569392341249709575097275113820352991008572244326103405457982089949488220451708068072552323789325658657761224303312816148145222500905776753814827958809983138456535169434801816637294802207550590074847566380570633326804884373429037094056473164872107587051973924349235523835769892129712408010491782488571136179878448041265744640075482064378665319754288036140786167433651133524862376193212382356074302183597757292902741326284742972625313367328510913597558740313433259521914275082666461083359517478554775133178347997987723313543837934776089579478507582461960951271861386378387981619790082957687956456412774164677589694862900193627167083558166630458824679209909764404554000270619756019368090048451944141642869155225483124673956402944139179348461130218556294833773585210849890658952877474988587119419892993255829439493522217355778535599962626887651982119811960996334714806391261116982563786604519483117240894561808072322371698750597193969597403045468716210034812244528675140976494763614354139448217466781998421263947444257688725390136980850419654556120365142573706557264021699973829569838854079029867943679724372203691488040834883309422691751333829867195845247692849071664461715115778245367558730983229782397131623401100628994861110318836575759826806750833612768761674692919612492281700007915933119052364346399486557176535881549561600121103318611579385486851745352736108417757009159318577451685360229169443556635731560817537305851354075045761092271621657521927265264305878215683693757885133097282543075065107075142276452639807977144676352922344405665654512157931784024735247754201249755997111577050014747625702313159571 931033749386469324668857300342831970220612099597869000543556148681711316314589218924910365819092278836839068856764617750388165363482628177311769888771690693471152355173020188017082198926087211023954356600885793273499378815517628625987021256917703180411337642590255059433068875744748873523286603264014411310372949640299010099084539939221693287837495982107749441589214570007077728164901514750700235012881278566663415916468685168909711901105308782776414136879930597536548291420726172627232877038444196044151800295552657995548502043604929035165758068097920599567424232880720228361204222727647840258717716234885441576105054076174776080410668058809337310663232022447000351627254748937165459402860841345887313688184139563103397308626581279357565663427999540039312602109512399927252075226102098922432952396142714639486679210575275185327045293387483014083614131256604777922675720196084430145154109994844911956695830033263934217768868251293797039938396421843881989742741867584259936189142956937795185056682783536033884223369303624732388824392380941895689554855204447178513132673692107697269734853241138722905187218801766348245884700668824714619716995918427507542452879649058693746884679858832972115841246468259154827929723865978053240548002319922841110629467660094788776454798505477774416524188436055033226317999798171824732490010249940390680867871310497503936426813889333772891914426404344866506290489212120457841527514986221482295676894512361039413474269054135224928124117741862287665607779645664778571461250848259112641907162703870089220012377176836382531761698550616757620270711816570205865775534720252808539775567300578818317259480175804107761742432163283373179983000587194093461115307352869042303628195400775344928779032244870194463073410871603864506562956786463905880961534319846631290935834837904352091961859126203695637318586941975998674381497908268478362185088306636339963238133935260910651172176134530387183504435226092087000973244038503318611406758555729283287812397038067504695639525044577701837776944009092071348864407228548567298577193867014500448513052909095942984580637365629817597322062151607416116045664190787779463848079806010590889233456968043660123882825759347066204844772634985547866601909368450941966449381525695552998206860095374312823207846515162942451345791293349677036451236900471688155216077320517829079384347839560299176383453085392968557974216029341682369498431479892894603612580782481981399997959294433025660531127568223979153053015347081021042390095875176037777146890985266980891446749488273068211613355783246161380596943933040571169981578076260247843742413514115860349515854057999385967568761484927695631253430437786343576016307968967737578552831066408817996651773537711810568879695324447363117018843855502705751544019957406885986855725787732946895273279177304182718880038510592532669500422222543790257663274653485869792352196133382394748742162260074976705794622318331703725931059319843049553720802424285244576286748634074594315748809977015616022991589369650973988212938285580425169550852418206332330470401614166278662988115194417061088182698660919772213417813642578452489489329519773067416294266165977874661601521338550533179445538304415288412053303671022599060063535081299673038399095371548609038921342031713673257071561179235324558437778 1506444251180558926803131712030390204796102882528681242977691560322596918011075412630324226486413884416850738305626770210923889197848309799268732703772637979477264014956349139165346857255536225548257688303440208488660396359079538099942652898340705346787774797573071301424355765683393305764240728237611630110522497046597015211573749432703315616772783991777618107822279989079767353483907093175268216855917385579523880771628179451204133722298086084753398439124163683314139065759202443815677722382856850555814442744764375771036372429157068743490071632591482879668409373247563848359494598276550953973926053665978062177531718318513474960251559796137548041273949686033746124073024115312753878579035001629030977617219315049350043601075380029568360328814618243372273627661727658673007620348001705955482954575660098662893729003764767108893881236991249243601686224418027125124057068840687116518505338319826607877340964098631335840373868489451192346655653328409595758641329159565716624880888042711733422048622310451499029452368279955249023354144312135428635181234702957656505961921086759237034696343985168144329364785966868592511060143956337995238461770285138586259671269065852314131425478417002110882869179122305733993218535005307568609580485975490205592819738023622385206852562290284228185020180217072782761441140541619556080341663394739690799916774013740436639550672692660575232126540068747087486333975998327562427986009410092771634317116620173591349867019441299768773115840716669570685723624975274299487635922832074357692515536547423144583710909082621365451416642937989981481244843290865696112928648900780321452527775899475076306870832696742866992225860290262422749375341836903668558390421173222033312200439726878750386761122194358414914781478944156188295888615444225130184274350467991853791841611591719180050771842264660230806753388758613293476589048498343325928565658939963144847611562972354967124337048242117439157428784461615922770865373750911329103189247126865463166260438303812144771121589423243021592064980149878238782515540753410943491789576223088802632110810201998684310865380338255130964650573065204974856359097450309693738930746267093950406712011743176838471880813482660610042779548724565026374184371329402213827835759913677172788289817783330769235982011192752637314245984920516760594617867359296367365125841725071829350004103858928389224835397227035837713199699154015638772442570659241355733831137077315754985208809185091978538006116155343399046046271176520514564607451653711637739773778637249100703407745822987874602874472765809947985116427050281465731789650398631946594339607483713263394984570268034198212097436625904190394867784577234561042798306390231685022810519791798954977502193192267930934022269031004627138718817685072544605623049825350565711227929479220987730156588599995934052709905706437780362349493887005505373441520021044600775581978530514018149842791254936087024631198078158510476764672088604724246640414916566944584202681753126958662148296534192151904541150969772077306824517671067276914903588526624089339629720191617964023217284637973696819743516198225623567492859403670724111146851447038331722172481849671632546734618621093608244552613446691741051861280815698951982407940746954185196330879396283856793122591787710784834121575926861026871597349 2437478000567028251471989012373222175016714982126550243521247709004308234325664631555234592305506163253689807162391387961312054561330937976580502592544328672948416370129369327182429056181623436572212044904326001762159775174597166725929674155258408527199112440163326360857424641428142179287527331501626041420895446686896025310658289371925008904610279973885367549411494559086845081648808607925968451868798664146187296688096864620113845623403394867529812576004094280850687357179928616442910599421301046599966243040317033766584874472761997778655829700689403479235833606128284076720698821004198794232643769900863503753636772394688251040662227854946885351937181708480746475700278864249919337981895842974918291305403454612453440909701961308925925992242617783411586229771240058600259695574103804877915906971802813302380408214340042294220926530378732257685300355674631903046732789036771546663659448314671519834036794131895270058142736740744989386594049750253477748384071027149976561070030999649528607105305093987532913675737583579981412178536693077324324736089907404835019094594778866934304431197226306867234552004768634940756944844625162709858178766203566093802124148714911007878310158275835082998710425590564888821148258871285621850128488295413046703449205683717173983307360795762002601544368653127815987759140339791380812831673644680081480784645324237940575977486581994348124040966473091953992624465210448020269513524396314253929994011132534630763341288495434993701239958458531858351331404620939078059097173680333470334422699251293233803723286259457747983178341488606739101515555107435901978704183621033129992303343200053894624130312872546974753968292453545795929358342424097762019505728526091075615828635127654095315540154439228609377854889815760052802451572230689036065235884787838485082777446429623532142733701390863926444071975700589292150970546406611804290750747246599484810849696907615877775509224376647826340933219687708009771838617789414647714596005682594746454072835341879649466761114467820723429841924158970310131379947981959510790366770090103303080623863111094627295446017703884948561972635216812390972404761641097473202778826073104541295945468711220498595763639242007676247624321359550574240786280697853155794285141439372725786496677878705082059189857707915579765591776213866437631069104259768055520341919045589658429388451698488688401218850312428806271173915183357321141941002139134250337443717859797736385206768479525004198537243723567378199099286523601535606997547528887675516920669622516081594854495311260942814487828549056109365713370983322036901771228474892194438082020997829123744500424326033584179666198110831886026121215015020904618814614359199422601363350858207772974153966729979741502901964355451990255737661540575250357167069782757451698083655266953934625429867777300116771589944217030313031849916109549295631104794674530470567934174663896412898584953515011063730425820396490214202695731408447773800361217340852189160489430387201552977897106511207767927532740339423051295037455956647702084454440944830421670100121805784242686205399832390757907926214859145395780910673046249176600636180966811399138466748015649507208336139959644141423998151751107029463914584486721551042471475828253858234729974767832465832043933819424458091193137106096351430035127 3943922251747587178275120724403612379812817864655231486498939269326905152336740044185558818791920047670540545468018158172235943759179247775849235296316966652425680385085718466347775913437159662120469733207766210250820171533676704825872327053599113873986887237736397662281780407111535485051768059739237671531417943733493040522232038804628324521383063965662985657233774548166612435132715701101236668724716049725711177459725044071317979345701480952283211015128257964164826422939131060258588321804157897155780685785081409537621246901919066522145901333280886358904242979375847925080193419280749748206569823566841565931168490713201726000913787651084433393211131394514492599773302979562673216560930844603949268922622769661803484510777341338494286321057236026783859857432967717273267315922105510833398861547462911965274137218104809403114807767369981501286986580092659028170789857877458663182164786634498127711377758230526605898516605230196181733249703078663073507025400186715693185950919042361262029153927404439031943128105863535230435532681005212752959917324610362491525056515865626171339127541211475011563916790735503533268004988581500705096640536488704680061795417780763322009735636692837193881579604712870622814366793876593190459708974270903252296268943707339559190159923086046230786564548870200598749200280881410936893173337039419772280701419337978377215528159274654923356167506541839041478958441208775582697499533806407025564311127752708222113208307936734762474355799175201429037055029596213377546733096512407828026938235798716378387434195342079113434594984426596720582760398398301598091632832521813451444831119099528970931001145569289841746194152743808218678733684261001430577896149699313108928029074854532845702301276633587024292636368759916241098340187674914166249510235255830338874619058021342712193505543655524157250825364459202585627559594904955130219316406186562629658461259879970844899846272618765265498362004149323932542703991540325976817785252809460209620333273645691794237882703891063745021906904308848548913895488735370454282156346313192105712734673313093311606311398042140079526623208282017365828763859091407166941709572340198491702657480454397337067644452724668286290403870084115600614970652027255369622120901353049898574786495662035851295171868900668217079837761134383198225686971619064422885467760770661487779392555557417077626054247539464643984373614337372959914383572798375606071274854937113491370415577664616982736543359878910777245145557700122050171604999182599313256694448259765182298262241134248817417362301314866057350829798033603502633560878873524141032421628481542387139484994594067782391763634736736076420988999592255465661612920749431107624173870650006727951656159922247672436924233386456617394456479225647794962790119608108017409311584746174922355586456377296050824299849923468093394199409996554801004546314695575071343516153194410431048427744769947150755057018474648724679460403497052498047001632257419133744692112140328511640045403045399919832073891309195128601861973627714978999358029471454511009729841997402206709422684470364454727669731057371019348403532449919900711783032413849730860639229865321139755070758580737749668550765197798770515775865302420503024879416575208043431060854164116322625166525607135242925314713032957378301632476 6381400252314615429747109736776834554829532846781781730020186978331213386662404675740793411097426210924230352630409546133547998320510185752429737888861295325374096755215087793530204969618783098692681778112092212012979946708273871551802001208857522401185999677899724023139205048539677664339295391240863712952313390420389065832890328176553333425993343939548353206645269107253457516781524309027205120593514713871898474147821908691431824969104875819813023591132352245015513780119059676701498921225458943755746928825398443304206121374681064300801731033970289838140076585504132001800892240284948542439213593467705069684805263107889977041576015506031318745148313102995239075473581843812592554542826687578867560228026224274256925420479302647420212313299853810195446087204207775873527011496209315711314768519265725267654545432444851697335734297748713758972286935767290931217522646914230209845824234949169647545414552362421875956659341970941171119843752828916551255409471213865669747020950042010790636259232498426564856803843447115211847711217698290077284653414517767326544151110644493105643558738437781878798468795504138474024949833206663414954819302692270773863919566495674329888045794968672276880290030303435511635515052747878812309837462566316298999718149391056733173467283881808233388108917523328414736959421221202317706005010684099853761486064662216317791505645856649271480208473014930995471582906419223602967013058202721279494305138885242852876549596432169756175595757633733287388386434217152455605830270192741298361360935050009612191157481601536861417773325915203459684275953505737500070337016142846581437134462299582865555131458441836816500162445197354014608092026685099192597401878225404184543857709982186941017841431072815633670491258575676293900791759905603202314746120043668823957396504450966244336239245046388083694897340159791877778530141311566934510067153433162114469310956787586722675355496995413091839295223837031942314542609329740624532381258492054956074406108987571443704643818358884468451748828467818859045275436717329965072523116403295408793358536424187938901757415746025028088595843498829756801168620732504640144488398413303032998602949165617835663408091966675962538028191443666174855756932725108525416406042792422624361283173540740933354361726608583796845429537348249635856756075878832478405809679816251146208781007255905766027273097851893450255547529520730281056324574937509856408718572796911227755622346144141986935080603602478155444244844223723585778602546711486988773615117882281263893116736445509760231850129863922166716543169016925539535332107348416335470503649479371510883985418920101366571429832847567962447110214607276370280427535108630530225537221508214500925810126652227413939826197741908607650194140766223045319957189390865469107395240013128856981016324154596167595889794140498406426049326106104096635651109370105541911450327858306843947012698284958214485482838871138938882156134905500271847362849598271322905181542527530064617942509556607687759606631648618179896899429584362681083812470416284932679829963803186449395628084302755212635595945916516415129314205496169077312419213380661129999105977880970646963406898540381891092548916948905799979690449789142054067350892403461901665790828931948788457210459426559701016507850139053729731667603 10325322504062202608022230461180446934642350711437013216519126247658118538999144719926352229889346258594770898098427704305783942079689433528278973185178261977799777140300806259877980883055942760813151511319858422263800118241950576377674328262456636275172886915636121685420985455651213149391063450980101384483731334153882106355122366981181657947376407905211338863879043655420069951914240010128441789318230763597609651607546952762749804314806356772096234606260610209180340203058190736960087243029616840911527614610479852841827368276600130822947632367251176197044319564879979926881085659565698290645783417034546635615973753821091703042489803157115752138359444497509731675246884823375265771103757532182816829150648993936060409931256643985914498634357089836979305944637175493146794327418314826544713630066728637232928682650549661100450542065118695260259273515859949959388312504791688873027989021583667775256792310592948481855175947201137352853093455907579624762434871400581362932971869084372052665413159902865596799931949310650442283243898703502830244570739128129818069207626510119276982686279649256890362385586239642007292954821788164120051459839180975453925714984276437651897781431661509470761869635016306134449881846624472002769546436837219551295987093098396292363627206967854464174673466393529013486159702102613254599178347723519626042187484000194695007033805131304194836375979556770036950541347627999185664512592009128305058616266637951074989757904368904518649951556808934716425441463813365833152563366705149126388299170848725990578591676943615974852368310341800180267036351904039098161969848664660032881965581399111836486132604011126658246356597941162233286825710946100623175298027924717293471886784836719786720142707706402657963127627335592534999131947580517368564256355299499162832015562472308956529744788701912240945722704618994463406089736216522064729383559619724744127772216667557567575201769614178357337657227986355874857246600870066601350166511301515165694739382633263237942526522249948213473655732776667407959170925452700419354679462716487514506093209737281250508068813788165107615219051780847122629932479823911807086197970753501524701260429620015172731052544691344248828432061527781775470727584752363895038526944145472522936069669202776784649533595509252013925267298482632834082443047497896901291277440586912633988173562813322843653327345391358094239921143858103240970708147735885462479993427734024719126037923808758969671623963481388932689390401923845635950207545894086302030309566142046446191378977579758577649212431178788224067372967050529042168892986221940476502925277960913898023470413514169148963193467584304038868099214199531835942040455858061637849711092158221228877466286574475086376750431128365225044650619991870840282747308998973486516706824759303779336602780531892218420189644063966499820248736102658897640197424065680613254966481052717274995440443054905365240539857345787663561616538402552769894364481855690456649873654667858576257987912602007607591680522957813308498761403212077660083170499887739443689559805800588656105050768773119667363265676973887434477717737946088978024202245794510860859745207746291786718477657121119640761099682146704570495466315091562557092230308978669945096851683096065111082376985033694943941822563172011108033300079 16706722756376818037769340197957281489471883558218794946539313225989331925661549395667145640986772469519001250728837250439331940400199619280708711074039557303173873895515894053408185852674725859505833289431950634276780064950224447929476329471314158676358886593535845708560190504190890813730358842220965097436044724574271172188012695157734991373369751844759692070524312762673527468695764319155646909911745477469508125755368861454181629283911232591909258197392962454195853983177250413661586164255075784667274543435878296146033489651281195123749363401221466035184396150384111928681977899850646833084997010502251705300779016928981680084065818663147070883507757600504970750720466667187858325646584219761684389378675218210317335351735946633334710947656943647174752031841383269020321338914524142256028398585994362500583228082994512797786276362867409019231560451627240890605835151705919082873813256532837422802206862955370357811835289172078523972937208736496176017844342614447032679992819126382843301672392401292161656735792757765654130955116401792907529224153645897144613358737154612382626245018087038769160854381743780481317904654994827535006279141873246227789634550772111981785827226630181747642159665319741646085396899372350815079383899403535850295705242489453025537094490849662697562782383916857428223119123323815572305183358407619479803673548662411012798539450987953466316584452571701032422124254047222788631525650211849584552921405523193927866307500801074274825547314442668003813827898030518288758393636897890424749660105898735602769749158545152836270141636257003639951312305409776598232306864807506614319100043698694702041264062452963474746519043138516247894917737631199815772699906150121478015744494818906727737984138779218291633618885911268828899923707486120570879002475343167986789412066923275200865984033748300324640620044778786341184619877528088999239450713052886858597083173455144290250557266609591449176952451823387817171789210199807225882547769793570121769145491620834681647170340608832681925404561244486267004446362170030384427202579119782923299451746161469189409826229534190135703814895279676879431101100556416447230686369166804557699863378785633008394460636658020211366460252971447950326484517477472420454932986937895147297352842743517718003895322117835810770696835830882469939199123376729379697087120403163780196954570069228609680600443243251544495468673378833522027032722673395318888712000530935946881660269952900956606704567083867088133635246147569221728810092605573290803924684024327710084495714025268337881062561042710390783916136067454581704225093570356811973428927440285408907455832434270515534623300431872001315209428806808206222467990966692168075248313666435729803276413226702500316576628870273832694844760758093885602704498389838955624102064772432636317619104686488386016079438204464906246298062208762994275848533435786155166416808911024118942453141339863579726022696216926602443772673308053041741727331453961779555055197195388640875930422158615295351287154606431488395660832796440341166982970304024376369389769603775105500678853075874879998861622890403849607031943442258055336621459175171990858851185627262433681884555661501531853648599095610370475156764880704611159581201382131846762642512028013899539587444460254644958330413311064837764967682 27032045260439020645791570659137728424114234269655808163058439473647450464660694115593497870876118728113772148827264954745115882479889052808987684259217819280973651035816700313286166735730668620318984800751809056540580183192175024307150657733770794951531773509171967393981175959842103963121422293201066481919776058728153278543135062138916649320746159749971030934403356418093597420610004329284088699229976241067117777362915814216931433598717589364005492803653572663376194186235441150621673407284692625578802158046358148987860857927881325946696995768472642232228715715264091855563063559416345123730780427536798340916752770750073383126555621820262823021867202098014702425967351490563124096750341751944501218529324212146377745282992590619249209582014033484154057976478558762167115666332838968800742028652722999733511910733544173898236818427986104279490833967487190849994147656497607955901802278116505198058999173548318839667011236373215876826030664644075800780279214015028395612964688210754895967085552304157758456667742068416096414199015105295737773794892774026962682566363664731659608931297736295659523239967983422488610859476782991655057738981054221681715349535048549633683608658291691218404029300336047780535278745996822817848930336240755401591692335587849317900721697817517161737455850310386441709278825426428826904361706131139105845861032662605707805573256119257661152960432128471069372665601675221974296038242220977889611537672161145002856065405169978793475498871251602720239269361843884121910957003603039551137959276747461593348340835488768811122509946598803820218348657313815696394276713472166647201065625097806538527396666464090132992875641079678481181743448577300438947997934074838771487631279655626514458126846485620949596746513246861363899055655066637939443258830642667149621427629395584157395728822450212565586342749397780804590709613744611063968834272672611602724855390122701857825759036223769806514609679809743692029035811069873827232714281095085287463884874254097919589696862858780895399060294021153674963617287622730803781882041836270437805544955898750439917895043322355243319033947060524002061033580380328254316884339920306082401123808405648181125513181349364460194892314499229725797212102229836315493459931083367670233422511946294502653428917627087824695964134313515304021642170874626280988364560990076414185128132882551453333927788634609638735389817236936762997740870409280781368705428264960666007698193761659926278328530565256020823025648071414857679017638499659592834234250166374156275874691605026915530274992221498614851289103117983623873118079792297288476354205401199306930926245948439664497816768016176040183308643006340042164508446824753805924959405824656958680742699801177586693327059998639057739495380749964725885451807388812442140808889531736415654221885218380604436269082268431406066546798311421891916045957501466768421383289963741393937893584394768944966562553562714266005389211710605811636091813309652236204928851863247217133918334760622902942967677564244796894422236008518001250153470191763820058949575404363761605729621848994547362127299864291284084749681388347033360823704969682851718596393373554220400362212782621172614748281242314940970623079972267168251811510360801791859494195124079010621964429493949588900152976483075945798267761 43738768016815838683560910857095009913586117827874603109597752699636782390322243511260643511862891197632773399556102205184447822880088672089696395333257376584147524931332594366694352588405394479824818090183759690817360248142399472236626987205084953627890660102707813102541366464032994776851781135422031579355820783302424450731147757296651640694115911594730723004927669180767124889305768648439735609141721718536625903118284675671113062882628821955914751001046535117572048169412691564283259571539768410246076701482236445133894347579162521070446359169694108267413111865648203784245041459266991956815777438039050046217531787679055063210621440483409893905374959698519673176687818157750982422396925971706185607907999430356695080634728537252583920529670977131328810008319942031187437005247363111056770427238717362234095138816538686696023094790853513298722394419114431740599982808203527038775615534649342620861206036503689197478846525545294400798967873380571976798123556629475428292957507337137739268757944705449920113403534826181750545154131507088645303019046419924107295925100819344042235176315823334428684094349727202969928764131777819190064018122927467909504984085820661615469435884921872966046188965655789426620675645369173632928314235644291251887397578077302343437816188667179859300238234227243869932397948750244399209545064538758585649534581325016720604112707107211127469544884700172101794789855722444762927563892432827474164459077684338930722372905971053068301046185694270724053097259874402410669350640500929975887619382646197196118089994033921647392651582855807460169660962723592294626583578279673261520165668796501240568660728917053607739394684218194729076661186208500254720697840224960249503375774474533242196110985264839241230365399158130192798979362552758510322261305985835136410839696318859358261712856198512890226962794176567145775329491272700063208284985725498461321938563577846148076316302833361255691562131633131509200825021269681053115262050888655409233030365874932601236867203467613577324464855265639941968063649792761188209084620956053361104996702060219629327721272856545379022848842340200881492134680936744701547570709087110640100987187191281189519973818007384671561352567470677676123696619707308735948392918021262817530775354689812220657324239744923635466660970144397773960841294251355660685451681393240194382082702951780063014528231877861183230858490615770285024773593082676100257417428795896612889358463714560882885033097649123108956660894218984079407827731105232883638158934190701866360370405630295253411337553264209005635205239185438205577343173362654100449783132841484715838382078382710180032440068448048041498518071813148248386976437791445974000207719491092688484019113027880087009903688868912890434340141508058611488156305778651397764910954304169051971840989904868990452348520472896312312844860520184886191894490937252923587800098874765512880346725734632524692585249779640868449161885018658853377819144763614015759984049058635858009848756919238198294254832170676285290083068804958342417136440495788196428339345008138867106408474924869427360988922754695133691781624830605088697445164144854842577447579000816654082246768444122704468396880337925311445779844852971779411392711742933638622136707152092910161551873954204233858483389794140783563235443 70770813277254859329352481516232738337700352097530411272656192173284232854982937626854141382739009925746545548383367159929563705359977724898684079592475195865121175967149294679980519324136063100143802890935568747357940431334574496543777644938855748579422433611879780496522542423875098739973203428623098061275596842030577729274282819435568290014862071344701753939331025598860722309915772977723824308371697959603743680481200489888044496481346411319920243804700107780948242355648132714904932978824461035824878859528594594121755205507043847017143354938166750499641827580912295639808105018683337080546557865575848387134284558429128446337177062303672716927242161796534375602655169648314106519147267723650686826437323642503072825917721127871833130111685010615482867984798500793354552671580202079857512455891440361967607049550082860594259913218839617578213228386601622590594130464701134994677417812765847818920205210052008037145857761918510277624998538024647777578402770644503823905922195547892635235843497009607678570071276894597846959353146612384383076813939193951069978491464484075701844107613559630088207334317710625458539623608560810845121757103981689591220333620869211249153044543213564184450218265991837207155954391365996450777244571885046653479089913665151661338537886484697021037694084537630311641676774176673226113906770669897691495395613987622428409685963226468788622505316828643171167455457397666737223602134653805363775996749845483933578438311141031861776545056945873444292366621718286532580307644103969527025578659393658789466430829522690458515161529454611280388009620037407991020860291751839908721231293894307779096057395381143740732270325297873210258404634785800693668695774299799020991007054130159756654237831750460190827111912404991556698035017619396449765520136628502286032267325714443515657441678648725455813305543574347950366039105017311127177119258398110064046793953700548005902075339057131062206171811442875201229860832339554880347976331983740696696915240129030520826564066326394472723525149286793616931680937415491991990966662792323798910541657958970069245616316178900622341882789400724883553168261317072955864455049007416722502110995596929370645486999356749131756244881969907401920908721937145051441852849104630487764197866636106723310753157372011460162625104457913077982483465125981941673816242383316608567210835834331516348456020512470821966248307852707048022514463491956881626122857060857278897056657476220809163361628214379129779686542290398937086845369604892476472393184357076022636245097235322168941612545485707620486494342303421829450461253154951388926137338242684022769308324331149844530256836464224081681826714819488290551484884616199779925167125315749647164761812829057673703230748867551948173835522258023337373608113167463839905719843835905467626062875123249594888617602741327718379391658831606778107940448438719692009183388838506906818240310129401469659147803342355134454551096729264665013910958073266251964912900921883075143767091679861101237222509734921082184505304813476343667289910687552016487288920412502628712138096773863974723116222618986417776531306218952122058268869114537694296043972374370874482608981226743877083145161580240252416402924825238947663204222103735430481630902276171920783516303448153822758636366277216729361503204 114509581294070698012913392373327748251286469925405014382253944872921015245305181138114784894601901123379318947939469365114011528240066396988380474925732572449268700898481889046674871912541457579968620981119328438175300679476973968780404632143940702207313093714587593599063908887908093516824984564045129640631417625333002180005430576732219930708977982939432476944258694779627847199221541626163559917513419678140369583599485165559157559363975233275834994805746642898520290525060824279188192550364229446070955561010831039255649553086206368087589714107860858767054939446560499424053146477950329037362335303614898433351816346108183509547798502787082610832617121495054048779342987806065088941544193695356872434345323072859767906552449665124417050641355987746811677993118442824541989676827565190914282883130157724201702188366621547290283008009693130876935622805716054331194113272904662033453033347415190439781411246555697234624704287463804678423966411405219754376526327273979252198879702885030374504601441715057598683474811720779597504507278119473028379832985613875177274416565303419744079283929382964516891428667437828428468387740338630035185775226909157500725317706689872864622480428135437150496407231647626633776630036735170083705558807529337905366487491742454004776354075151876880337932318764874181574074722926917625323451835208656277144930195312639149013798670333679916092050201528815272962245313120111500151166027086632837940455827529822864300811217112084930077591242640144168345463881592688943249658284604899502913198042039855985584520823556612105907813112310418740557670582761000285647443870031513170241396962690809019664718124298197348471665009516067939335065820994300948389393614524759270494382828604692998850348817015299432057477311563121749497014380172154960087781442614337422443107022033302873919154534847238346040268337750915096141368596290011190385404244123608525368732517278394153978391641890492317897733943076006710430685853609235933463238382872396105929945606003963122063431269794008050047990004552433558899744587208253180200051283748377160015538360019189698573337589035446001364731631740925765045302942253817657412025758094527362603098182788210560165460817364133803317597449440585078044605341644453787390245767125893305294973221325918943968077397116935095629286074602310851943324759377337602359267923776556802949293538786111579362984252390332005197106798468477333047288056574632981883540285856753891786415121190781692048394725863502238736347436509383016494673100710125360110552118547777888996615502865617422352950098749916626121699581488860035027804426517605489375920471084168738607690402713860024562696904912272123180344786632636538938461322407645753925374844806842335648780925856937760713134437736464838608175663766081948861764418946115237670630798140074519597903865028118585340966123214224030692236519351791664299834939375972615596983487713272419698587035864033994351733053121996002903712981747923518391730102836880267724896949980518933153615848599099299531477341905597367474588373618434686084426351183340212915628265420641495818546571698733402084105145373681551468312931049557210755714033259392536873491551375187528564855749670866581551542041918165563862182769678210727074596933846669069103767609428264830945068177402358056617119756071357512924738647 185280394571325557342265873889560486588986822022935425654910137046205248100288118764968926277340911049125864496322836525043575233600044121887064554518207768314389876865631183726655391236677520680112423872054897185533241110811548465324182277082796450786735527326467374095586451311783192256798187992668227701907014467363579909279713396167788220723840054284134230883589720378488569509137314603887384225885117637744113264080685655447202055845321644595755238610446750679468532880708956994093125529188690481895834420539425633377404758593250215104733069046027609266696767027472795063861251496633666117908893169190746820486100904537311955884975565090755327759859283291588424381998157454379195460691461419007559260782646715362840732470170792996250180753040998362294545977916943617896542348407767270771795339021598086169309237916704407884542921228532748455148851192317676921788243737605797028130451160181038258701616456607705271770562049382314956048964949429867531954929097918483076104801898432923009740444938724665277253546088615377444463860424731857411456646924807826247252908029787495445923391542942594605098762985148453887008011348899440880307532330890847091945651327559084113775524971349001334946625497639463840932584428101166534482803379414384558845577405407605666114891961636573901375626403302504493215751497103590851437358605878553968640325809300261577423484633560148704714555518357458444129700770517778237374768161740438201716452577375306797879249528253116791854136299586017612637830503310975475829965928708869029938776701433514775050951653079302564422974641765030020945680202798408276668304161783353078962628256585116798760775519679341089203935334813941149593470455780101642058089388824558291485389882734852755504586648765759622884589223968113306195049397791551409853301579242839708475374347747746389576596213495963801853573881325263046507407701307322317562523502521718589415526470978942159880466980947623380103905754518881911660546685948790813811214714856136802626860846132993642889995336120402522771515153839227175831425524623745172191017946540700958926080017978159767818953905214346623706614421141650648598471203570890613276480807101944085105209178385139930810947816720882935073842331410492479965514063581598838832098616230523793059171087962025667278830554488946555791911179060223929925808224503319544033084166159873411516504374620443095711440272902802827163355106321184381069802520066589863509663142917611170683471778667002501211756354077881368516033978799781953581518470315017836582945302904853911632860600100939591294562644235624246608193923792281864478265679672556878302057809326852761376998727045009869092953741376496204862171501452124829489946207023845533850541970122591982813542738685995434416365186604016786782011186024105286235372532113579077576350641975979987223966740151368180229583725955551749071628178183398442407775387814692307606166876551779326516827345993435464010880856464351137358264078477188183405641060910146519689809850902402008297382940278960400768699851640518449659093678431911029751716261870892229402917185833144124530684668472597376807221367992667969244844237268509332813982902373930231169535523749558403047464730897610458634687203498405816278585694503449674737801155950404499585398511704436751728584480850511879375756122348574242286241851 299789975865396255355179266262888234840273291948340440037164081919126263345593299903083711171942812172505183444262305890157586761840110518875445029443940340763658577764113072773330263149218978260081044853174225623708541790288522434104586909226737152994048621041054967694650360199691285773623172556713357342538432092696582089285143972900008151432818037223566707827848415158116416708358856230050944143398537315884482847680170821006359615209296877871590233416193393577988823405769781273281318079552919927966789981550256672633054311679456583192322783153888468033751706474033294487914397974583995155271228472805645253837917250645495465432774067877837938592476404786642473161341145260444284402235655114364431695127969788222608639022620458120667231394396986109106223971035386442438532025235332461686078222151755810371011426283325955174825929238225879332084473998033731252982357010510459061583484507596228698483027703163402506395266336846119634472931360835087286331455425192462328303681601317953384245046380439722875937020900336157041968367702851330439836479910421701424527324595090915190002675472325559121990191652586282315476399089238070915493307557800004592670969034248956978398005399484438485443032729287090474709214464836336618188362186943722464212064897150059670891246036788450781713558722067378674789826220030508476760810441087210245785256004612900726437283303893828620806605719886273717091946083637889737525934188827071039656908404905129662180060745365201721931727542226161780983294384903664419079624213313768532851974743473370760635472476635914670330787754075448761503350785559408562315748031814866249204025219275925818425493643977538437675600344330009088928536276774402590447483003349317561979772711339545754354935465781059054942066535531235055692063777963706369941083021857177130918481369781049263495750748343202147893842219076178142648776297597333507947927746645327114784258988257336313858858622838115698001639697594888622091232539558026747274453097728532908556806452136956764953426605914410572819505158391660734731170111831998352391069230289078118941618377997349466392291494249792625071346052882576413643774145824708270688506565196471447708307361173350490976408634085016738391439780851077558010119405226052626222344383356417098354144309287944611246907951605881651421197253662534781869132983880657146392352089936430214465797913406554675074424525293134832360461904789661714117090576641222845393203428774365062469886899857784193260151079941383607252381415309164970076191571025143196693497421452631800629476102966557013647512742985540872729893505281141899506070106190162367677978280411021499984689129758869893655650646288768328042516288084761368428407529431491287775916814929434318462323664542933195129499624340481625390186849790187235097136951059694315246981440116054506821870605179486765570549849169775779763864697535190106707610327190664923203150364265051746215414381857469458362613909586347140261977060225111701797371163747026787414706800882920941450998788878059700300177193546115817133682052050345715836142613054232442318545451253785620349231240171330778891326513366349520713157168318066543569696935633322768043027075124745931612320480568477040186229245416571380140768464181660401812398089797073568689166121132701582673652658252869935992875878419931755210980498 485070370436721812697445140152448721429260113971275865692074218965331511445881418668052637449283723221631047940585142415201161995440154640762509583962148109078048454629744256499985654385896498940193468725229122809241782901100070899428769186309533603780784148367522341790236811511474478030421360549381585044445446560060161998564857369067796372156658091507700938711438135536604986217496170833938328369283654953628596111760856476453561671054618522467345472026640144257457356286478738267374443608741610409862624402089682306010459070272706798297055852199916077300448473501506089551775649471217661273180121641996392074324018155182807421317749632968593266352335688078230897543339302714823479862927116533371990955910616503585449371492791251116917412147437984471400769948952330060335074373643099732457873561173353896540320664200030363059368850466758627787233325190351408174770600748116256089713935667777266957184644159771107778165828386228434590521896310264954818286384523110945404408483499750876393985491319164388153190566988951534486432228127583187851293126835229527671780232624878410635926067015268153727088954637734736202484410438137511795800839888690851684616620361808041092173530370833439820389658226926554315641798892937503152671165566358107023057642302557665337006137998425024683089185125369883168005577717134099328198169046965764214425581813913162303860767937453977325521161238243732161221646854155667974900702350567509241373360982280436460059310273618318513785863841812179393621124888214639894909590142022637562790751444906885535686424129715217234753762395840478782449030988357816838984052193598219328166653475861042617186269163656879526879535679143950238522006732554504232505572392173875853465162594074398509859522114546818677826655759499348361887113175755257779794384601100016839393855717528795653072346961839165949747416100401441189156183998904655825510451249167045704199785459236278473739325603785739078105545452113770533751779225506817561085667812584669711183667298269950407843421942034813095591020312230887910562595636455743524582087176829779077867698395975509234211245399464139248777960474024227062242245349395598883964987372298415532813516539558490421787356450805899673465282112261570037975633468807651465054442999586940891413315397249970278525738506094828207213108432722758711794941208383976690425436256096303625982302288026997770785864798195937659523817011110846095186893096707812708902866571691976233153358678524786694471907434019264975768415394108946923657710041340161033276442724357485712262336703067496604942075387221165119338087429073423763984335785862719245980036089737874261361687856803879762748604387665264532904687789536886197918353736455336821626458785052026301275866403228928629545864810944498412172198035814292521332509483173273392823332082092034494045837345330854945800133575125327528835492875718588549115385715005357230809317240816831072732241727850904922373494766050698277620241138702299885203012224657173307104516651785322949748381729157020101068877045186634266792775730482256745587858874925124671721462637086929744879915908643928155698547881359017489958001405586575876383679838007252999212562598874304334659785211466087498820916448914977196419354158685110076550199245747478068274564632837138334402237139103381815368632000768505997497222349 784860346302118068052624406415336956269533405919616305729238300884457774791474718571136348621226535394136231384847448305358748757280265159637954613406088449841707032393857329273315917535115477200274513578403348432950324691388593333533356095536270756774832769408577309484887171711165763804044533106094942386983878652756744087850001341967804523589476128731267646539286550694721402925855027063989272512682192269513078959441027297459921286263915400338935705442833537835446179692248519540655761688294530337829414383639938978643513381952163381489378635353804545334200179975539384039690047445801656428451350114802037328161935405828302886750523700846431204944812092864873370704680447975267764265162771647736422651038586291808058010515411709237584643541834970580506993919987716502773606398878432194143951783325109706911332090483356318234194779704984507119317799188385139427752957758626715151297420175373495655667671862934510284561094723074554224994827671100042104617839948303407732712165101068829778230537699604111029127587889287691528400595830434518291129606745651229096307557219969325825928742487593712849079146290321018517960809527375582711294147446490856277287589396056998070571535770317878305832690956213644790351013357773839770859527753301829487269707199707725007897384035213475464802743847437261842795403937164607804958979488052974460210837818526063030298051241347805946327766958130005878313592937793557712426636539394580281030269387185566122239371018983520235717591384038341174604419273118304313989214355336406095642726188380256296321896606351131905084550149915927543952381773917225401299800225413085577370678695136968435611762807634417964555136023473959327450543009328906822953055395523193415444935305413944264214457580327877732768722295030583417579176953718964149735467622957193970312337087309844916568097710182368097641258319477619331804960296501989333458378995812372818984044447493614787598184226623854776107185149708659155843011765064844308360120910313202619740473750406907172796848547949223668410525470622548645293765748287741876973156407118857196809316773972858700603536893713931873849306526906803475886019495220307154653493937494886980521823900731840912763765084890916411856721893112647595985752874033704091276787382943357989767459706537914889772646457700709858634305686385293493664074192264633836817788346032733840448100201433552445860289323489072491884278915900507809303983673349035554296070000466341295623245578382570887732058513960648583020796809418111893733901612365304229969940145810117512891812806034053618589588130206705992067980934354565663490405892052881613658014370148895761346376986562749656404255033954032860947204077621647566346761265886828109402375599981460619738190067771861824675364435284980037562384885604479756429646434232967708070313522208089000867707950510341711370683424295103308599357573253778655822996042196022154012467605081882818947656109708374380736108675637045417882218198927411587000383388404200094519223452668243891199380518035079801369054238732750083926457782532602461424001487979357114040008088340715365229147148815258934589874394725367010671158573904642419953376773640575767255589673999050266272105692034564539007145694331548576560122622866770478362597335544551636963730753969839917075889797356251751361507879188437752708202847 1269930716738839880750069546567785677698793519890892171421312519849789286237356137239188986070510258615767279325432590720559910752720419800400464197368236558919755487023601585773301571921011976140467982303632471242192107592488664232962125281845804360555616917776099651275123983222640241834465893655476527431429325212816906086414858711035600895746134220238968585250724686231326389143351197897927600881965847223141675071201883773913482957318533922806281177469473682092903535978727257808030205297036140747692038785729621284653972452224870179786434487553720622634648653477045473591465696917019317701631471756798429402485953561011110308068273333815024471297147780943104268248019750690091244128089888181108413606949202795393507382008202960354502055689272955051907763868940046563108680772521531926601825344498463603451652754683386681293563630171743134906551124378736547602523558506742971241011355843150762612852316022705618062726923109302988815516723981364996922904224471414353137120648600819706172216029018768499182318154878239226014832823958017706142422733580880756768087789844847736461854809502861866576168100928055754720445219965513094507094987335181707961904209757865039162745066141151318126222349183140199105992812250711342923530693319659936510327349502265390344903522033638500147891928972807145010800981654298707133157148535018738674636419632439225334158819178801783271848928196373738039535239791949225687327338889962089522403630369466002582298681292601838749503455225850520568225544161332944208898804497359043658433477633287141832008320736066349139838312545756406326401412762275042240283852419011304905537332170998011052798031971291297491434671702617909565972549741883411055458627787697069268910097899488342774073979694874696410595378054529931779466290129474221929529852224057210809706192804838640569640444672021534047388674419879060520961144295406645158968830244979418523183829906729893261337509830409593854212730601822429689594790990571661869445788722897872330924141048676857580640270489984036764001545782853436555856361384743485401555243583948636274677015169948367934814782293178071122627267000931030538128264844615906038618481309793302513335340440290331334551121535696816085322004005374217633961386342841355556331230382530298881180775103787885168298384963795538065847414119108052205459015400648610527243224602129037466430402489460550216646154121685010151408095927011353904490876770056848263198936572158317528776604256907357582203965947979913558789212203527058817391611653705465263246382870167603225154149509101550223531663517427871111406068363427989427474741677915600859638050459886770022708064843366629419152859421619297393851891867158533764265115002342164931028834385033486921014056471000790454221229246229478449734582921418772277762155917406241100893645604300123494913545295841196657170816999420430837434850448972367204938381757201379384821784845898713891679897837559279303109603441687743695502459337629711472203395613061373401623740104453566840947762247192099902437931283919384350719233513014859207011860362904481785761470725427645110109063057459187090288422276084384500629159979491218296337056611647828766468152272873354600931890903500652037828062143246525772979476781551880554912796581292029705238295386806978251478126936459633566730139879956943750205425196 2054791063040957948802693952983122633968326925810508477150550820734247061028830855810325334691736794009903510710280039025918659510000684960038418810774325008761462519417458915046617489456127453340742495882035819675142432283877257566495481377382075117330449687184676960760011154933806005638510426761571469818413203865573650174264860053003405419335610348970236231790011236926047792069206224961916873394648039492654754030642911071373404243582449323145216882912307219928349715670975777348685966985330671085521453169369560263297485834177033561275813122907525167968848833452584857631155744362820974130082821871600466730647888966839413194818797034661455676241959873807977638952700198665359008393252659828844836257987789087201565392523614669592086699231107925632414757788927763065882287171399964120745777127823573310362984845166742999527758409876727642025868923567121687030276516265369686392308776018524258268519987885640128347288017832377543040511551652465039027522064419717760869832813701888535950446566718372610211445742767526917543233419788452224433552340326531985864395347064817062287783551990455579425247247218376773238406029492888677218389134781672564239191799153922037233316601911469196432055040139353843896343825608485182694390221072961765997597056701973115352800906068851975612694672820244406853596385591463314938116128023071713134847257450965288364456870420149589218176695154503743917848832729742783399753975429356669803433899756651568704538052311585358985221046609888861742829963434451248522888018852695449754076203821667398128330217342417481044922862695672333870353794536192267641583652644424390482908010866134979488409794778925715455989807726091868893423092751212317878411683183220262684355033204902287038288437275202574143364100349560515197045467083193186079265319847014404780018529892148485486208542382203902145029932739356679852766104591908634492427209240791791342167874354223508048935694057033448630319915751531088845437802755636506177805909633211074950664614799083764753437119037933260432412071253475985201150127133031227278528399991067493471486331943921226635418319186892002996476573527837834014014284339836213193271975247288189493857164341022172247314886620587732497178725898486865229947139216875059647608017765473656870948234810325800058071031421496247924481719805493345699123089592913244364061012948161771306878502690894102662506443445174082643292374842911861713794860443405883817495006572624658824399849835289928469936024461940562141810009012945170711125513266070769493216323015977720738045962315135603842121251647634577103474049297782555090965147569968482473296064830035665784054441829929379075557114455573330254799095944780181330611876268228993040431209985014947540752246538772652278896593681514458487296967807023252034191802351639208808963959126508212495781253246351538368541500423715534146034208022226145860761377799397401538834252450980596710627553947267653683845712117324789113384677536557123059203779001465573496142963557121810732147142765227179703806985522652134434645691295547461668435861850883838899801478813768360475338210206274446024878296670809751511300318553395860716290433385288404533723741946872404867203996595535216576835207837578074349539599404418651033275393916836581342202026140776818168554016733815885318091647759145381502913628043 3324721779779797829552763499550908311667120445701400648571863340584036347266186993049514320762247052625670790035712629746478570262721104760438883008142561567681218006441060500819919061377139429481210478185668290917334539876365921799457606659227879477886066604960776612035135138156446247472976320417047997249842529078390556260679718764039006315081744569209204817040735923157374181212557422859844474276613886715796429101844794845286887200900983245951498060381780902021253251649703035156716172282366811833213491955099181547951458286401903741062247610461245790603497486929630331222621441279840291831714293628398896133133842527850523502887070368476480147539107654751081907200719949355450252521342548009953249864936991882595072774531817629946588754920380880684322521657867809628990967943921496047347602472322036913814637599850129680821322040048470776932420047945858234632800074772112657633320131861675020881372303908345746410014940941680531856028275633830035950426288891132114006953462302708242122662595737141109393763897645766143558066243746469930575975073907412742632483136909664798749638361493317446001415348146432527958851249458401771725484122116854272201096008911787076396061668052620514558277389322494043002336637859196525617920914392621702507924406204238505697704428102490475760586601793051551864397367245762022071273276558090451809483677083404513698615689598951372490025623350877481957384072521692009087081314319318759325837530126117571286836733604187197734724501835739382311055507595784192731786823350054493412509681454954539960338538078483830184761175241428740196755207298467309881867505063435695388445343037132990541207826750217012947424479428709778459395642493095728933870310970917331953265131104390629812362416970077270553959478404090446976511757212667408008795172071071615589724722696987126055848987054225436192418607159235740373727248887315279651396039485771209865351704260953401310273203887443042484532646353353518535032593746208168047251698356108947281588755847760622334077389527917297196413617036329421757006488517774712680083643575016129746163347113869594570233101480070074119103840528768864552142549184452119231890456557081492007192504781312503581866008156284548582500729903861082863908525559716415203939248148003955752129009914113685226369416385291785990329133924601397904582104993561854891304237550290808773308905180354652879152597566859092794700470769923215618285737213462732080693943144782976353176454092197286052139990409920475700599221216472229528517124919776234756462705886145323963200111824237154065652915165062448214880117661210544518439889247884083332934115289922435806762506673296008494709973877192627648650987811938715094876991270571157971460044370048434461766303009773442733117822927743936937031550728442024311953958269045449909857604730808335990694798542192735025712317423135964983469058471198513065699759556598780923656037296879310602307451784826932986955315559012532808887136874186834531407174614526946897766703661575377573094905012419279606244916806571518785364924808562320875447722213788320685562949539196005585447273263733633115166718946894136011929478532887079012627489996936233300191894219745759468135887499035868614663269980824600122519076185970531588188190498128611047440321527583796420032143670275518884821787639102325253119053239 5379512842820755778355457452534030945635447371511909125722414161318283408295017848859839655453983846635574300745992668772397229772721789720477301818916886576442680525858519415866536550833266882821952974067704110592476972160243179365953088036609954595216516292145453572795146293090252253111486747178619467068255732943964206434944578817042411734417354918179441048830747160083421973281763647821761347671261926208451183132487705916660291444483432569096714943294088121949602967320678812505402139267697482918734945124468741811248944120578937302338060733368770958572346320382215188853777185642661265961797115499999362863781731494689936697705867403137935823781067528559059546153420148020809260914595207838798086122924780969796638167055432299538675454151488806316737279446795572694873255115321460168093379600145610224177622445016872680349080449925198418958288971512979921663076591037482344025628907880199279149892291793985874757302958774058074896539827286295074977948353310849874876786276004596778073109162455513719605209640413293061101299663534922155009527414233944728496878483974481861037421913483773025426662595364809301197257278951290448943873256898526836440287808065709113629378269964089710990332429461847886898680463467681708312311135465583468505521462906211621050505334171342451373281274613295958717993752837225337009389404581162164944330934534369802063072560019100961708202318505381225875232905251434792486835289748675429129271429882769139991374785915772556719945548445628244053885471030235441254674842202749943166585885276621938088668755420901311229684037937101074067109001834659577523451157707860085871353353903267970029617621529142728403414287154801647352818735244308046812281994154137594637620164309292916850650854245279844697323578753650962173557224295860594088060491918086020369743252589135611542057529436429338337448539898592420226493353479223914143823248726563001207519578615176909359208897944476491114852562104884607380470396501844674225057607989320022232253370646844387087514508565850557628825688289805406958156615650805939958612043566083623217649679057790821205651420666962077115580414056606698566156833524288332425162431804369681501049669122334675829180894776872281079679455802347948093855664776591474851547265913477612623077244724439485284440447806788033914810853730094743603705194586475099255365250498452580080187407871248755541659041012033175437992845612835077332080597656868615898188949717407635177576303927487214522076014871861037842409230229417400239642638185847004249679028902123044701246074139372757907774166812697025318354166958993099609405036817852565806230180119958101590816948503225387570267088332765957903450083756718896425488867538800151011891254355063382002518549548546095012014416609258395424328518535465276346145760620684658718821563857316548486476051788544273394253817846851499129503266493424658926461137355996182462490289747859907312935005732094586670801027676337321922271814410743957590610953615992520393909667218697188305242047777646459310051902329223653220010616104109782543883584064672159585364428352964366060785483470008079140045015617703887523229797086282939728917923382224637833915636166618164335339884094571085191498477818402674472058675590389182621463584414965192389642347668360614588586160404091404202913435398247706756032681282 8704234622600553607908220952084939257302567817213309774294277501902319755561204841909353976216230899261245090781705298518875800035442894480916184827059448144123898532299579916686455612210406312303163452253372401509811512036609101165410694695837834073102582897106230184830281431246698500584463067595667464318098262022354762695624297581081418049499099487388645865871483083240796154494321070681605821947875812924247612234332500761947178645384415815048213003675869023970856218970381847662118311550064294751948437079567923359200402406980841043400308343830016749175843807311845520076398626922501557793511409128398258996915574022540460200592937771614415971320175183310141453354140097376259513435937755848751335987861772852391710941587249929485264209071869687001059801104663382323864223059242956215440982072467647137992260044867002361170402489973669195890709019458838156295876665809595001658949039741874300031264595702331621167317899715738606752568102920125110928374642201981988883739738307305020195771758192654828998973538059059204659365907281392085585502488141357471129361620884146659787060274977090471428077943511241829156108528409692220669357379015381108641383816977496190025439938016710225548609818784341929901017101326878233930232049858205171013445869110450126748209762273832927133867876406347510582391120082987359080662681139252616753814611617774315761688249618052334198227941856258707832616977773126801573916604067994188455108960008886711278211519519959754454670050281367626364940978626019633986461665552804436579095566731576478049007293499385141414445213178529814263864209133126887405318662771295781259798696940400960570825448279359741350838766583511425812214377737403775746152305125054926590885295413683546663013271215357115251283057157741409150068981508528002096855663989157635959467975286122737597906516490654774529867147057828160600220602366539193795219288212334211072871282876130310669482101831919533599385208458238125915502990248052842272309306345428969513842126494605009421591898093767854825239305326134828715163104168580652638695687141099752963813026171660415775884522147032151234684254585375563118299382708740451657052888361451173508242173903647179411046902933156829662180185706209030957764190336307890055486514061481568375206254638553170510809864192079819905139987654696141508287299580036954146669488048743388853496313051603408420811638578892268232693316382758292950366334870331347978882892862190611530752758019684500574216005281781513543008451445889629768159763105623239006141734788268368664446185963609911973427081977759473533234284620203644127844926065736649139164295409880537397579455176521396064977062209958585552101071568657611520365858809371308983351298725111816464284852558319537745132239537002332361360069263907300658099718889730108628679168588124884477170850330737008419966135269987464112972324964623171992160896912594963386146327044739217915242457516921519657756343235349854731158951284930792122018128230519467291676370880272565878336952790065738916296819135795172005375540912672103419331306278460480270927377892160371646232756733741712255211734564598023535159275619170018741545413379160871134107530386363923803475771593606953806161747799227274594577751776359714209651774913093803437082669195944411008618304074366923087735223037350032009151734521 14083747465421309386263678404618970202938015188725218900016691663220603163856222690769193631670214745896819391527697967291273029808164684201393486645976334720566579058158099332552992163043673195125116426321076512102288484196852280531363782732447788668319099189251683757625427724336950753695949814774286931386353994966318969130568876398123829783916454405568086914702230243324218127776084718503367169619137739132698795366820206678607470089867848384144927946969957145920459186291060660167520450817761777670683382204036665170449346527559778345738369077198787707748190127694060708930175812565162823755308524628397621860697305517230396898298805174752351795101242711869200999507560245397068774350532963687549422110786553822188349108642682229023939663223358493317797080551458955018737478174564416383534361672613257362169882489883875041519482939898867614848997990971818077958953256847077345684577947622073579181156887496317495924620858489796681649107930206420185906322995512831863760526014311901798268880920648168548604183178472352265760665570816314240595029902375302199626240104858628520824482188460863496854740538876051130353365807360982669613230635913907945081671625043205303654818207980799936538942248246189816799697564794559942242543185323788639518967332016661747798715096445175378507149151019643469300384872920212696090052085720414781698145546152144117824760809637153295906430260361639933707849883024561594060751893816669617584380389891655851269586305435732311174615598726995870418826449656255075241136507755554379745681452008198416137676048920286452644129251115630888330973210967786464928769820479155867131152050843668930600443069808502469754253053738313073165033112981711822558434299279192521228505459722976463513664125460636959948606635911392371323626205804388596184916155907243656329211227875258349139964045927084112867315686956420580826713955845763107939042536938897212280390861491307220028690999776396024714237770563122733295973386749897516497366914334748991746095497141449396509106406659618412454064993615940235673319719819386592597307730707183376181462705229451236981535942813994228350264668641982261684456216233028784082215320165820855009291843025981855240227797710029110741859641508556979051619855112899364907033779974959180998283499362992655795250311998867853819950841384790885111992494166512053402034738547195968933683720922852163962470679590925443670686161995593370282446932527199963877071842579598246708329061947171715096292020153642551385417681675307030007802401291470243255820763690391413365692260102982669881201248790456498851588451579196743737249962883589214945394475529838638988396403679746783635244150542724543455551155325376507945854726348171459995242553080175198466803402106865632757146656146260727785688587799372577004245479510414767347500732445441432963646902119281281814219953116838963242475591458047830918622034268591145848636616792599125228177463249016106328557370911687176653430765695674749712629081846511987685586038098969754183579000567712198226348721465018825225386157016781885963214890343132639856291806245124737707018240203749791395256750182301911058389072705452958470463336761385508968023166552982088138815655688178038997660225617629949066636427366748896831115359328058995826725016864305025597204464478458327290648658435597738765184415803 22787982088021862994171899356703909460240583005938528674310969165122922919417427532678547607886445645158064482309403265810148829843607578682309671473035782864690477590457679249239447775254079507428279878574448913612099996233461381696774477428285622741421682086357913942455709155583649254280412882369954395704452256988673731826193173979205247833415553892956732780573713326565014282270405789184972991567013552056946407601152707440554648735252264199193140950645826169891315405261442507829638762367826072422631819283604588529649748934540619389138677421028804456924033935005906229006574439487664381548819933756795880857612879539770857098891742946366767766421417895179342452861700342773328287786470719536300758098648326674580060050229932158509203872295228180318856881656122337342601701233807372598975343745080904500162142534750877402689885429872536810739707010430656234254829922656672347343526987363947879212421483198649117091938758205535288401676033126545296834697637714813852644265752619206818464652678840823377603156716531411470420031478097706326180532390516659670755601725742775180611542463437953968282818482387292959509474335770674890282588014929289053723055442020701493680258145997510162087552067030531746700714666121438176172775235181993810532413201127111874546924858719008305641017027425990979882775993003200055170714766859667398451960157769918433586449059255205630104658202217898641540466860797688395634668497884663806039489349900542562547797824955692065629285649008363496783767428282274709227598173308358816324777018739774894186683342419671594058574464294160702594837420100913352334088483250451648390950747784069891171268518087862211105091820321824498977247490719115598304586604404247447819390755136660010176677396675994075199889693069133780473695187312916598281771819896401292288679203161381086737870562417738887397182834014248741426934558212302301734261825151231423353262144367437530698173101608315558313622979021360859211476376997950358769676220680177961259937623636054405930698304753386267279304298942075064388482823987967245236003417848283129145275731401111652757420464961026379584948923227357824802755598941769235739268208527272028517534016929629034651274700643185940404039827214766010009384045449207254962520294036440749373489754001545826306060176190947673725090829039487026620279793746549007548704226595939357787180033974455572383282318169817711903379478378351663232813267397531311855954735441788858239081819966856215670508025435424064928426133121196659775962164397093482261962498478659782030138446066592581854628330768215972384822736199400387865094888949325864084558770939719176385975858856268179700221212752683129007652226894034119466220585157542768978593851805287014931088254665185170502278895683263060147048657063279877662345198400144875976179901033566317440817752450018290234186088386826427355447916422671002910782931181186109234782943837338343143419920765937625986313714147037031384589716980605541834647210077031454977262408979242320061915953357777937142645540600813997230761697929453989382546196621593120127219184137285109353250996937491503650468484746899934593548348324622977212008750140546380102130696939346011942291427281784992803821973416857223661214179143108611040767134241152799263807686060249436605822768552825250378383881472947770774336150324 36871729553443172380435577761322879663178598194663747574327660828343526083273650223447741239556660391054883873837101233101421859651772262883703158119012117585257056648615778581792439938297752702553396304895525425714388480430313662228138260160733411409740781275609597700081136879920600007976362697144241327090806251954992700956762050377329077617332008298524819695275943569889232410046490507688340161186151291189645202967972914119162118825120112583338068897615783315811774591552503167997159213185587850093315201487641253700099095462100397734877046498227592164672224062699966937936750252052827205304128458385193502718310185057001253997190548121119119561522660607048543452369260588170397062137003683223850180209434880496768409158872614387533143535518586673636653962207581292361339179408371788982509705417694161862332025024634752444209368369771404425588705001402474312213783179503749693028104934986021458393578370694966613016559616695331970050783963332965482741020633227645716404791766931108616733533599488991926207339895003763736180697048914020566775562292891961870381841830601403701436024651898817465137559021263344089862840143131657559895818650843196998804727067063906797335076353978310098626494315276721563500412230915998118415318420505782450051380533143773622345639955164183684148166178445634449183160865923412751260766852580082180150105703922062551411209868892358926011088462579538575248316743822249989695420391701333423623869739792198413817384130391424376803901247735359367202593877938529784468734681063913196070458470747973310324359391339958046702703715409791590925810631068699817262858303729607515522102798627738821771711587896364680859344874060137572142280603700827420863020903683439969047896214859636473690341522136631035148496328980526151797321393117305194466687975803644948617890431036639435877834608344823000264498520970669322253648514058065409673304362090128635633653005858744750726864101384711583027860749584483592507449763747847875267043135014926953006033120777503802439804711413004679733369292558015300061802543807353837833311148555466505326738436630562889738956407775020607935213591869340086487211815174798019821483528693092883526825859955610889891502498353215051145899468723322989061003900562106619869554074011399930371773253364538482101310488189815527545041670424277911732272287913061060950738965143135326720863754897307736345752997760743155574065640373945033515260199924731275733026578021387104947410881914027930766800045589066616313843814796503689783764565688563725517783262169051195395830706169575251735829579558672471236411187778597131602344851832915079029953246469557815374372262536014963335465363295407672463203382219410627412075311505714228973836404885462213397891656772050803259425551829523787932737244862652454666590677910559643323680633479007750404464654569299572048406041503665390597923507880718833829404965449777255083419560629937468371597384014953732314871085058724208038020482676280291547276291923543442662848447078212074245494953925490135368994262065832822456147854946235875345761086964725759983510990382409847060269237141241295045725234929201845651937421030075935682472086901931889070153863492328100081107082969963031801482199034487172727850606509857507871882493569211795090532702924554462203027233031283577669032539908545509539520566127 59659711641465035374607477118026789123419181200602276248638629993466449002691077756126288847443106036212948356146504498911570689495379841566012829592047900449947534239073457831031887713551832209981676183469974339326488476663775043924912737589019034151162463361967511642536846035504249262256775579514195722795258508943666432782955224356534325450747562191481552475849656896454246692316896296873313152753164843246591610569125621559716767560372376782531209848261609485703089996813945675826797975553413922515947020771245842229748844396641017124015723919256396621596257997705873166943324691540491586852948392141989383575923064596772111096082291067485887327944078502227885905230960930943725349923474402760150938308083207171348469209102546546042347407813814853955510843863703629703940880642179161581485049162775066362494167559385629846899253799643941236328412011833130546468613102160422040371631922349969337605999853893615730108498374900867258452459996459510779575718270942459569049057519550315435198186278329815303810496611535175206600728527011726892956094683408621541137443556344178882047567115336771433420377503650637049372314478902332450178406665772486052527782509084608291015334499975820260714046382307253310201126897037436294588093655687776260583793734270885496892564813883191989789183205871625429065936858926612806431481619439749578602065861691980984997658928147564556115746664797437216788783604619938385330088889585997229663359089692740976365181955347116442433186896743722863986361306220804493696332854372272012395235489487748204511042733759629640761278179703952293520648051169613169596946786980059163913053546411808712942980105984226891964436694381962071119528094419943019167607508087687416867286969996296483867018918812625110348386022049659932271016580430221792748459795700046240906569634198020522615705170762561887661681354984918063680583072270367711407566187241360058986915150226182281425037202993027141341483728605844451718926140745798234036719355695104914265970744413558208370503016166390947012673591500090364450285367795321083069314566403749634472014168031674542496376872736046987520162515096697911289967414116567255560751737220364912044359876885239924542777198996400991549939295938088999070387946011313874832074368047840679745263007366084308407370664380763201270132499463764938352552081659610068499443191739074684508043788871763308729035315930560867477445118752296696748073467322262587588981313463175963186492701880884146437308071024490681242269947917700349559726730085657207779745760647710977425969152236167833590457910326888443621233923977997519467439740782240943114512017409276991760348121392283143035686576048090801470855609113444746878295896663256997952430256690749228328979911437235973761704447512786848079785901925932332328935876310704519299860534512574067845282407019317862282592129890491817953371424303389836740187896630963364318202504467275811515017304780891358301184799205761239422610199656885833381923502000574897640110856057454394307410907283268072511639802666646819686909552875689864728307283586318880110730174519694956413520234078732798696193719676101780245485769354698912894480837042478269172284560431674112023398510251748024605304172451344396389064785652966118912649627810364594354340388984803898808850001584108828047416421381493280313856716451 96531441194908207755043054879349668786597779395266023822966290821809975085964727979574030086999766427267832229983605732012992549147152104449715987711060018035204590887689236412824327651849584912535072488365499765040876957094088706153050997749752445560903244637577109342617982915424849270233138276658437049886064760898659133739717274733863403068079570490006372171125600466343479102363386804561653313939316134436236813537098535678878886385492489365869278745877392801514864588366448843823957188739001772609262222258887095929847939858741414858892770417483988786268482060405840104880074943593318792157076850527182886294233249653773365093272839188605006889466739109276429357600221519114122412060478085984001118517518087668116878367975160933575490943332401527592164806071284922065280060050550950563994754580469228224826192584020382291108622169415345661917117013235604858682396281664171733399736857335990795999578224588582343125057991596199228503243959792476262316738904170105285453849286481424051931719877818807230017836506538938942781425575925747459731656976300583411519285386945582583483591767235588898557936524913981139235154622033990010074225316615683051332509576148515088350410853954130359340540697583974873701539127953434413003412076193558710635174267414659119238204769047375673937349384317259878249097724850025557692248472019831758752171565614043536408868797039923482126835127376975792037100348442188375025509281287330653287228829484939390182566085738540819237088144479082231188955184159334278165067535436185208465693960235721514835402125099587687463981895113743884446458682238312986859805090709666679435156345039547534714691693880591572823781568442099643261808698120770440030628411771127385915183184855932957557360440949256145496882351030186084068337973547526987215147771503691189524460065234659958493539779107384887926179875955587385934231586328433121080870549331488694620568156084927032151901304377738724369344478190328044226375904493646109303762490710031867272003865191062010810307727579395626746042884058105664512087911602674920902625714959216139798752604662237432235333280511067595455376106966037997777179229291365275382235265913457795571185736840850814434279697349616042695838764661411988131391846573420494701628442059240610117036260730622790508681152570578728815174169888042850084824369572671129450182156882210011228907543769071045074788313691304023051510759126241730263333667246993863322007891484563068133903583794912077204108116613557297556113762714204039343491295774220933297529022816762172821799858405743085326287489885560914857645111756594651069784592615156022144465263878834807134720383928298106371151939343498473934058991332855374290371208168971226926266661576211441726871568209286777021129999342310636012523146788584786995526554221264162623541167991581818249747061588617434330998171394157208551294932184108670569592862080740619401622065097213279886614688795845090616055884264485447460630682333166124929199793924118340302959303135666468552905861208758207880634064732479642143057407821925740074068370551044640094241164902104803473789471219974093741918954605303625897423190384774848576952923944410158242438423924002212104505593221711056406786371485831569116915392162823626784532121379576389444873091909358361011877234615392405716448961290038789853377282578 156191152836373243129650531997376457910016960595868300071604920815276424088655805735700318934442872463480780586130110230924563238642531946015728817303107918485152125126762694243856215365401417122516748671835474104367365433757863750077963735338771479712065707999544620985154828950929098532489913856172632772681323269842325566522672499090397728518827132681487924646975257362797725794680283101434966466692480977682828424106224157238595653945864866148400488594139002287217954585180394519650755164292415695125209243030132938159596784255382431982908494336740385407864740058111713271823399635133810379010025242669172269870156314250545476189355130256090894217410817611504315262831182450057847761983952488744152056825601294839465347577077707479617838351146216381547675649934988551769220940692730112145479803743244294587320360143406012138007875969059286898245529025068735405151009383824593773771368779685960133605578078482198073233556366497066486955703956251987041892457175112564854502906806031739487129906156148622533828333118074114149382154102937474352687751659709204952656728943289761465531158882572360331978314028564618188607469100936322460252631982388169103860292085233123379365745353929950620054587079891228183902666024990870707591505731881334971218968001685544616130769582930567663726532590188885307315034583776638364123730091459581337354237427306024521406527725187488038242581792174413008825883953062126760355598170873327882950587919177680366547748041085657261670275041222805095175316490380138771861400389808457220860929449723469719346444858859217328225260074817696177967106733407926156456751877689725843348209891451356247657671799864818464788218262824061714381336792540713459198235919858814802782470154852229441424379359761881255845268373079846016339354553977748779963607567203737430431029699432680481109244949869946775587861230940505449614814658598800832488436736572848753607483306311109313576938507370765865710828206796172495945302045239444343340481846405136781537974609604620219180810743745786573758716475558196028962373279397996003971940281362965774270766772693911974731710153247114582975538622062735909067146643407932530942987003133822707615545613726090738977056896346017034245778060599500987201779792584734369533702810107081289862299268096707098916051816951341930085306669351807788437376451232281197949625348621284695736951332640834353803823629621864890528955877878538427011407134569256450910989204947739031320396285675796223641416187638047978798383710631904388903218025859878141077274783464473150247769010641910918916745400212449358478879035734592170537224333397396965258977281288111798895068505320581249406838515391589275404914600446300121168667104832228224878696918266960670055851479646522750782834446855097484092309048714517119324462430531968681923401702504155886095029468607935296613590301284649026504666356487498507309780758711703983719824569564489091401631993576736448917240683470246686883240881990051958311123295924693237943070159193120862860316768492026280392273867399126461829966960697615604802375654137363520204971339421799759887309705298706892438112674281405406142908959739473761471433760986888427414722984355676324127904103473459081012090543937175965505980177815789745697181749189940983799213480894162259820727236199501233763865382671532070167233999029 252722594031281450884693586876726126696614739991134323894571211637086399174620533715274349021442638890748612816113715962937555787789684050465444805014167936520356716014451930656680543017251002035051821160200973869408242390851952456231014733088523925272968952637121730327772811866353947802723052132831069822567388030740984700262389773824261131586906703171494296818100857829141204897043669905996619780631797112119065237643322692917474540331357355514269767340016395088732819173546843363474712353031417467734471465289020034089444724114123846841801264754224374194133222118517553376703474578727129171167102093196355156164389563904318841282627969444695901106877556720780744620431403969171970174044430574728153175343119382507582225945052868413193329294478617909139840456006273473834501000743281062709474558323713522812146552727426394429116498138474632560162646038304340263833405665488765507171105637021950929605156303070780416358614358093265715458947916044463304209196079282670139956756092513163539061626033967429763846169624613053092163579678863221812419408636009788364176014330235344049014750649807949230536250553478599327842623722970312470326857299003852155192801661381638467716156207884080979395127777475203057604205152944305120594917808074893681854142269100203735368974351977943337663881974506145185564132308626663921815978563479413096106408992920068057815396522227411520369416919551388800862984301504315135381107452160658536237816748662619756730314126824198080907363185701887326364271674539473050026467925244642429326623409959191234181846983958805015689241969931440062413565415646239143316556968399392522783366236490903782372363493745410037611999831266161357643145490661483899228864331629942188697653339708162398981739800711137401342150724110032100407692527525275767178755338707428619955489764667340439602784728977331663514041106896092835549046244927233953569307285904337448228051462396036345728839811748504590080172684986500540171677949733090452644244337115168648809978474795682229991118471325182200504759359616301693474461191000670924874565996322181914069519377356149406967043433758182178430914729028773906844325872699297806325222269047280503186731350566941553411336593695633076941616825260912975333171639158154864235331252166321899979335528827329889424732969521920658900480839239850638522200820804952327399807505503494706965858876409905398878611943313168913580466637004780157274740801816250314232997096432302099454299869470708300845524304251605276354497473346108428246709321634099074374803806281235323069568869047654004243032890098010273336524147491186821607008926012552987403442545166946606029788889248879355777990454735087749338973591779155495459038313001199451804963579843172111782723047855809527803964446197408120104832195503101906319988984753232844546942870495737704344776530196552730944588472678806235055961288671607177879373620792444603121446634661702371288246682372581539533296567734732134343871564323218083240323089848811578246029462328787331413222629700784488272907932131606103973024368519541344876444024688408160299212504323904563361099176518680986180031628886709032040332150124248610048386684931298585657161408279678536232409696695170137418876915423007534622895569978613372481713870569517373244086572803520620832604470814893639480314343961570860020611281607 408913746867654694014344118874102584606631700587002623966176132452362823263276339450974667955885511354229393402243826193862119026432215996481173622317275855005508841141214624900536758382652419157568569832036447973775607824609816206308978468427295404985034660636666351312927640817283046335212965989003702595248711300583310266785062272914658860105733835852982221465076115191938930691723953007431586247324278089801893661749546850156070194277222221662670255934155397375950773758727237883125467517323833162859680708319152972249041508369506278824709759090964759601997962176629266648526874213860939550177127335865527426034545878154864317471983099700786795324288374332285059883262586419229817936028383063472305232168720677347047573522130575892811167645624834290687516105941262025603721941436011174854954362066957817399466912870832406567124374107533919458408175063373075668984415049313359280942474416707911063210734381552978489592170724590332202414651872296450346101653254395234994459662898544903026191532190116052297674502742687167241545733781800696165107160295718993316832743273525105514545909532380309562514564582043217516450092823906634930579489281392021259053093746614761847081901561814031599449714857366431241506871177935175828186423539956228653073110270785748351499743934908511001390414564695030492879166892403302285939708654938994433460646420226092579221924247414899558611998711725801809688868254566441895736705623033986419188404667840300123278062167909855342577638226924692421539588164919611821887868315053099650187552859682660953528291842818022343914502044749136240380672149054165299773308846089118366131576127942260030030035293610228502400218094090223072024482283202197358427100251488756991480123494560391840406119160473018657187419097189878116747047081503024547142362905911166050386519464100020920712029678847278439101902337836598285163860903526034786057744022477186201835534768707145659305778319119270455791000891782673036116979994972534795984726183520305430347953084400302449171929215070968774263475835174497722436834470398666928846506277685147688340286150050061381698753587005296761406453351091509815911472516107230337268209272181103210802276964293032292388393490041650111187394885860413962534951431742889233769034062273403189841634796924036988340784786473262588985787508591658426959577272037233525349432854124779402702810209050739752682435572935033804109422514883318584286147936385506765143986301380041130774696155146504524486940491889653255152881183978012817149927347493977215452078589745708473317337879689564923159778290310459631815403183225778992144233259409949952662419826455058404924857394569460605184828970126677024743888192225455616627705417833427676683660498110132781838574527502332278586798893052505604197141244217619025644451415285201526470344572999893590439805998804488027558178773963455261560627645159105685189154379504148586841271204226191462689878675949317988450537251204978821227112446313270041551446385773504816189099621521908194273539398192810768665181799530732565802991329217156949678819678825771680504183843745704323248408881817387878618144303168114438183241109863722371519820445918187013071884392635354860360313800168629218430967459360183500128875747794403118178895619759458357043300053697682880653331707014394873244179726633102930187845280636 661636340898936144899037705750828711303246440578136947860747344089449222437896873166249016977328150244978006218357542156799674814221900046946618427331443791525865557155666555557217301399903421192620390992237421843183850215461768662539993201515819330258003613273788081640700452683636994137936018121834772417816099331324294967047452046738919991692640539024476518283176973021080135588767622913428206027956075201920958899392869543073544734608579577176940023274171792464683592932274081246600179870355250630594152173608173006338486232483630125666511023845189133796131184295146820025230348792588068721344229429061882582198935442059183158754611069145482696431165931053065804503693990388401788110072813638200458407511840059854629799467183444306004496940103452199827356561947535499438222942179292237564428920390671340211613465598258800996240872246008552018570821101677415932817820714802124788113580053729861992815890684623758905950785082683597917873599788340913650310849333677905134416418991058066565253158224083482061520672367300220333709313460663917977526568931728781681008757603760449563560660182188258793050815135521816844292716546876947400906346580395873414245895407996400314798057769698112578844842634841634299111076330879480948781341348031122334927252539885952086868718286886454339054296539201175678443299201029966207755687218418407529567055413146160637037320769642311078981415631277190610551852556070757031117813075194644955426221416502919880008376294734053423485001412626579747903859839459084871914336240297742079514176269641852187710138826776827359603744014680576302794237564700404443089865814488510888914942364433163812402398787355638540012217925356384429667627773863681257655964583118699180177776834268554239387858961184156058529569821299910217154739609028300314321118244618594670342009228767361360314814407824610102615943444732691120712907148453268739627051308381523650063586231103182005034618130867775045871173576769173576288657944705625248628970520635474079157931559195984679163047686396150974768235194790799415911295661399337853721072274007329602409805527406210788665797020763478939837368080120283722755798388806528143593431541228383713989008314859973845799730083737283188129011711121326937868123070901044098004365314439725089820970325751366877765517755995183247886268347831509065481778092842185852749240359628274109668669085460645151561047516248202717689889151888098741560888738201757079376983397812343230228996024617212825332464796141258531507378657324121245396636669128076289826882396026943796386906748737218927402811180408469905151927330716965813751242185422502940065862371622005010954646283818339960962819424861764774082861784004611112086743730834627128488624077953304893621297575358141806390763339249913724301973439720720931964440400038434371017287443495631294784582529001040758502767246642261496616588933830712863068528000296593189962717838887893833978125358321899527983833818939710955570984010636488124791769475622316394435129083850695525686762027893595256938089731662338669776015697736698294555263703514179840803396348069608886609508058336068864798175932054823470223573259987970981568207130849485598729045800915033396592723496863799355849844374783191034751771317773016490660609490328975730287386626501203501485936177829288512724494070594673790208456562243 1070550087766590838913381824624931295909878141165139571826923476541812045701173212617223684933213661599207399620601368350661793840654116043427792049648719646531374398296881180457754059782555840350188960824273869816959458040071584868848971669943114735243038273910454432953628093500920040473148984110838475013064810631907605233832514319653578851798374374877458739748253088213019066280491575920859792275280353291722852561142416393229614928885801798839610279208327189840634366691001319129725647387679083793453832881927325978587527740853136404491220782936153893398129146471776086673757223006449008271521356764927410008233481320214047476226594168846269491755454305385350864386956576807631606046101196701672763639680560737201677372989314020198815664585728286490514872667888797525041944883615303412419383282457629157611080378469091207563365246353542471476978996165050491601802235764115484069056054470437773056026625066176737395542955807273930120288251660637363996412502588073140128876081889602969591444690414199534359195175109987387575255047242464614142633729227447774997841500877285555078106569714568568355565379717565034360742809370783582331485835861787894673298989154611162161879959331512144178294557492208065540617947508814656776967764887987350988000362810671700438368462221794965340444711103896206171322466093433268493695395873357401963027701833372253216259245017057210637593414343002992420240720810637198926854518698228631374614626084343220003286438462643908766062639639551272169443448004378696693802204555350841729701729129324513141238430669594849703518246059429712543174909713754569742863174660577629255046518492375423842432434080965867042412436019446607501692110057065878616083064834607456171657900328828946079793978121657174715716988918489788333901786690531324861463481150529760720728528692867382281026844086671888541717845782569289405876768051979303525684795330858709851899120999810327664340396449987045501662174468551846612405637939678160044613696704155779509505884643596287128334976901467119749031711029965297138348130131798004782567578551692477290750091677456272170364550607768775701243821431211793538667270904913758480861640813409486924791285279153006138188123573778933299316406596981740900403074502643933331773399376713128279662605122675403866106302542468445836872055856423167492441355364879419378098673213753053512371479294511384904243483089183236521799311666771417325847036674587263844520969699192384361003692179763717349819405288030911786660259841302134062546564016622053505278960985772652269704244628426783850562589470718929536967330513942744805895475444832452892728282198077063415879503678387800566147648394988441798826749976230066728714449148668054805172284576063437675459872102860474084977562232302419328499114683938339957608891815323635897487632016495524885224388527805528786060946020605716758177216578989818548257682379800741776803989043114085296668004034271217516434371070144689776798096456949758166343215861395821210624228705372603719960301426086406025603271531193071235579007026953855244234083382339951521307580191815313209857916940153456743416320235222937908406814369851693353088027576767672611800930193550388256953037297032428574280811834143374534880647065567419608839505110088434087330686680198886382139267884843683385968673797227776720396301842879 1732186428665526983812419530375760007213124581743276519687670820631261268139070085783472701910541811844185405838958910507461468654876016090374410476980163438057239955452547736014971361182459261542809351816511291660143308255533353531388964871458934065501041887184242514594328546184557034611085002232673247430880909963231900200879966366392498843491014913901935258031430061234099201869259198834287998303236428493643811460535285936303159663494381376016550302482498982305317959623275400376325827258034334424047985055535498984926013973336766530157731806781343027194260330766922906698987571799037076992865586193989292590432416762273230634981205237991752188186620236438416668890650567196033394156174010339873222047192400797056307172456497464504820161525831738690342229229836333024480167825794595649983812202848300497822693844067350008559606118599551023495549817266727907534620056478917608857169634524167635048842515750800496301493740889957528038161851448978277646723351921751045263292500880661036156697848638283016420715847477287607908964360703128532120160298159176556678850258481046004641667229896756827148616194853086851205035525917660529732392182442183768087544884562607562476678017101210256757139400127049699839729023839694137725749106236018473322927615350557652525237180508681419679499007643097381849765765294463234701451083091775809492594757246518413853296565786699521716574829974280183030792573366707955957972331773423276330040847500846139883294814757377962189547641052177851917347307843837781565716540795648583809215905398966365328948569496371677063121990074110288845969147278454974185953040475066140143961460856808587654834832868321505582424653944802991931359737830929559873739029417726155351835677163097500319181837082841330774246558739789698551056526299559625175784599395148355391070537921634743641341658494496498644333789227301980526589675200432572265311846639240233501962707230913509669375014580854820547533348045321020188694295884383785293242667224791253588663816202792271807498024587863270723799946224756096554259425793197342636288650825699806893159897204862482959030347628532254641081189511332077261423069293720286624455072354637870638780293594012979983987853657516216487445418308103067838271197573544977429777764691152853369483575448426770743871820298463629084758324204254676557923133457721605230847913573381327622040148379972030055804530605431439239489200818659516067407925412789020923897953097004727591232688204380930175151870084172170318167638498626255307943200685750129795105843381799596066091151377164002777965400651127399442119257844659710619646717630254955832794144569699068426834149962206140527110467819850206572909611760234677840801192879502681933660908654016742569081169678218615891368325571552333052801088123659060889573332215362070268504919459991156180008971056806569544563713267247978254793805512820531411326210380097334966766706882001979130646129392593117044418204889084400732369080467586246291134985337018137605059357789223299245647063453980001282541361262855409905355022724690553538789347085854131362110976539884922096467424998489525608214496167277761378630387629839664334656234707617158210529975994465421653545760793896227930130656208926565569632418383340436099500114600417409817618073306700089883625204062672971898693167867822450510604758405122 2802736516432117822725801355000691303123002722908416091514594297173073313840243298400696386843755473443392805459560278858123262495530132133802202526628883084588614353749428916472725420965015101892998312640785161477102766295604938400237936541402048800744080161094696947547956639685477075084233986343511722443945720595139505434712480686046077695289389288779393997779683149447118268149750774755147790578516781785366664021677702329532774592380183174856160581690826172145952326314276719506051474645713418217501817937462824963513541714189902934648952589717496920592389477238698993372744794805486085264386942958916702598665898082487278111207799406838021679942074541823767533277607144003665000202275207041545985686872961534257984545445811484703635826111560025180857101897725130549522112709409899062403195485305929655433774222536441216122971364953093494972528813431778399136422292243033092926225688994605408104869140816977233697036696697231458158450103109615641643135854509824185392168582770264005748142539052482550779911022587274995484219407945593146262794027386624331676691759358331559719773799611325395504181574570651885565778335288444112063878018303971662760843873717218724638557976432722400935433957619257765380346971348508794502716871124005824310927978161229352963605642730476385019943718746993588021088231387896503195146478965133211455622459079890667069555810803756732354168244317283175451033294177345154884826850471651907704655473585189359886581253220021870955610280691729124086790755848216478259518745350999425538917634528290878470187000165966526766640236133540001389144056992209543928816215135643769399007979349184011497267266949287372624837089964249599433051847887995438489822094252333611523493577491926446398975815204498505489963547658279486884958312990090950037248080545678116111799066614502125922368502581168387186051635009871269932466443252411875790996641970098943353861828230723837333715411030841866049195522513872866801099933824061945337856363928947033098169700846388558935833001489330390472831657254721393692607555924995347418856229377392284183909988882318755129394898236301030342325010942543870800090340198634045105316713168047357563571578873165986122175977231295149786761824905084808738674272076188910761551164067865981649146180571102174609978122840932074921630380060677844050364488822601024608946586787134381134411627674483414960048013694614675761288512485430933393254962087376284768418922796197111952236380384144647524971275372203082104827898339928389370489764702372183300384804367572248335795396005590786628527990121846328979086588358602455425542193075087408725522426767776131842713653640593941093258116214838648371736361736464744569515642028170736738833193230080180244541041781079089976345887803854752381300202807597400847182224030685706165992551476486681065233359584612098330624659287853695012971022091810349959583892759898076743570695925116064427314133426864334560852575959229090509167176924536004457478201198413958815683586494595902965607364880066407308144632794048481140934029751644408783023430468194082883418556731700235306325341938642982351630816402500699287037201999691357687744262284384830822330906188015809910498798090928656504411468043069940104513065448907855708339619710505843904948759986898976265764471947516655284661841665050227231001060248001 4534922945097644806538220885376451310336127304651692611202265117804334581979313384184169088754297285287578211298519189365584731150406148224176613003609046522645854309201976652487696782147474363435807664457296453137246074551138291931626901412860982866245122048278939462142285185870034109695318988576184969874826630558371405635592447052438576538780404202681329255811113210681217470019009973589435788881753210279010475482212988265835934255874564550872710884173325154451270285937552119882377301903747752641549802992998323948439555687526669464806684396498839947786649808005621900071732366604523162257252529152905995189098314844760508746189004644829773868128694778262184202168257711199698394358449217381419207734065362331314291717902308949208455987637391763871199331127561463574002280535204494712387007688154230153256468066603791224682577483552644518468078630698506306671042348721950701783395323518773043153711656567777729998530437587188986196611954558593919289859206431575230655461083650925041904840387690765567200626870064562603393183768648721678382954325545800888355542017839377564361441029508082222652797769423738736770813861206104641796270200746155430848388758279826287115235993533932657692573357746307465220075995188202932228465977360024297633855593511787005488842823239157804699442726390090969870853996682359737896597562056909020948217216326409080922852376590456254070743074291563358481825867544053110842799182245075184034696321086035499769876067977399833145157921743906976004138063692054259825235286146648009348133539927257243799135569662338203829762226207650290235113204270664518114769255610709909542969440205992599152102099817608878207261743909052591364411585718924998363561123670059766875329254655023946718157652287339836264210106398069185436014839289650575213032679940826471502869604536136869563710161075664885830385424237173250459056118452844448056308488609339176855824535461637347003090425611696686596728870559193886989794229708445730631099031153738286686833517049180830743331026077193661196631603479477490246866981718192690055144880203092091077069886087181238088425245864833284983406200453875948061513409492354331729771785522685228202351872467178966106163830888811366274207243213187876576945469649733888191328928759018835018629756019528945353849943139395704006388704264932520608287622280322629839794500360515708756451776054455445015852544300046115000777713304090449460662887500165305692316875893201839543469068588525577700123145456375252422995536838554644678432965388122313095490647749371844401886547382754789406493390772973728421205846203262166045188910705342364558316571337475200269547803602800081620368584034688854944645973496699422410316834907673418672494101884096922813622211459297705867714213375407085434101290931256461736755556246047776434497470936477837245242330641418667875188372555101673267764827604630881370910103139995411710337402807118043557960262819457451605270780848313491241536257392122250748613186535432096420742944283819202211254428334046408590685994056903891046289052476334962321812777554048214245529533271585157402792766937132507959845312569778460665667589629531022022400496992001989032860882182481231564044558884824884434542124251996505674145483832248291807839734310923253722566833293599066149389676010189627183355009532872677741605818653123 7337659461529762629264022240377142613459130027560108702716859414977407895819556682584865475598052758730971016758079468223707993645936280357978815530237929607234468662951405568960422203112489465328805977098081614614348840846743230331864837954263031666989202209373636409690241825555511184779552974919696692318772351153510911070304927738484654234069793491460723253590796360128335738168760748344583579460269992064377139503890690595368708848254747725728871465864151326597222612251828839388428776549461170859051620930461148911953097401716572399455636986216336868379039285244320893444477161410009247521639472111822697787764212927247786857396804051667795548070769320085951735445864855203363394560724424422965193420938323865572276263348120433912091813748951789052056433025286594123524393244614393774790203173460159808690242289140232440805548848505738013440607444130284705807464640964983794709621012513378451258580797384754963695567134284420444355062057668209560932995060941399416047629666421189047652982926743248117980537892651837598877403176594314824645748352932425220032233777197709124081214829119407618156979343994390622336592196494548753860148219050127093609232631997045011753793969966655058628007315365565230600422966536711726731182848484030121944783571673016358452448465969634189719386445137084557891942228070256241091744041022042232403839675406299747992408187394212986424911318608846533932859161721398265727626032716727091739351794671224859656457321197421704100768202435636100090928819540270738084754031497647434887051174455548122269322569828304730596402462341190291624257261262874062043585470746353678941977419555176610649369366766896250832098833873302190797463433606920436853383217922393378398822832146950393117133467491838341754173654056348672320973152279741525250280760486504587614668671150638995486078663656833273016437059247044520391522561705256323847305130579438120209686363692361184336805836642538552645924393073066753790894163532507675968955395082685319785003217895569389679164027566524051669463260734198883939474537643188037474001109580484375260979874969499993217820144101134315325731211396419818861603749690988376835088498690732585765923451340344952228339808120106516060969068118272685315619741725922798952880092826884816667775936590631119963828065980327778928019084325610364658652111102923654448741087147650089890863403728938859975900557994660790762066225789521382853917849587541590460735798689398951495705448972670225225094420828578334527823435178483034048922730090494496395875452116944092737681943388345576035021380894820057400292434561864621470731103780429773283838998105251332112261457243394022713626700249527503316382335233164166979832476935844155411327295114177103058163253240376795844060101179261837815401493738853862583937780276733482600490022412964518310475690226030766205813031842955368280735849696441231330493995899893488453908098732234107985274396246321786166123356807542581750703434316658255206091387733846055236426530778415105176861793214112815898830626850952372187223082227979371104836208022242297128948090003285392709118108875775490311476128972279159952704791629222379710144759276386819855191788370497041474543356975753540938953592295066445778658549281156147516179354021429097627515593280498042415154147957706282468016851197922904972606878901124 11872582406627407435802243125753593923795257332211801313919124532781742477798870066769034564352350044018549228056598657589292724796342428582155428533846976129880322972153382221448118985259963828764613641555378067751594915397881522263491739367124014533234324257652575871832527011425545294474871963495881662193598981711882316705897374790923230772850197694142052509401909570809553208187770721934019368342023202343387614986103678861204643104129312276601582350037476481048492898189380959270806078453208923500601423923459472860392653089243241864262321382715176816165689093249942793516209528014532409778892001264728692976862527772008295603585808696497569416199464098348135937614122566403061788919173641804384401155003686196886567981250429383120547801386343552923255764152848057697526673779818888487177210861614389961946710355744023665488126332058382531908686074828791012478506989686934496493016336032151494412292453952532693694097571871609430551674012226803480222854267372974646703090750072114089557823314434013685181164762716400202270586945243036503028702678478226108387775795037086688442655858627489840809777113418129359107406057700653395656418419796282524457621390276871298869029963500587716320580673111872695820498961724914658959648825844054419578639165184803363941291289208791994418829171527175527762796224752615978988341603078951253352056891732708828915260563984669240495654392900409892414685029265451376570425214961802275774048115757260359426333389174821537245926124179543076095066883232324997909989317644295444235184714382805366068458139490642934426164688548840581859370465533538580158354726357063588484946859761169209801471466584505129039360577782354782161875019325845435216944341592453145274152086801974339835291119779178178018383760454417857756987991569392100463313440427331059117538275686775865049788824732498158846822483484217770850578680158100771903613619188777297065510899153998531339896262254235239242653263632260640780688393240953406600054426236423606471836734944750220422495053643717712866094864213676374186341519361380727529145989783576466338049761056681231306245389965967600309137411850295766923117159183342708564860284213417813968275323807523918334503639008917882335176311331460561892565211375656687144209021585903651686405692610160065317678009119723482934407788590542885266939733383246284288535587508165798647315179783394304991753102294706905762843939093611832314580737087706896153052674582600791039174517561195802925217566284953586950818972017037678727355695478616809491366099866315937139568490771100365441514771667793785821498280765126787515920014485772137842155569442726532381809260846194104333995284284216358261028308729863589390149311843517574083821396998274025871785464699674501711774314554668923249502784670110324320693336522781259034987493349442355555718020867449434081001404398057041548500677301072112701404099039888900164245501539352151543234659065779237771394137655856072992239691708780505954704574269278151657169475062234307388116221548159224489516620907856263233512134704314333426648985576290511374477623274870550111910875812907998271321441542057620618372381258753401732545256268388808888052670552978273038587915860578425373495716547062951452804033113404439324019088332352351350082426574097108564543823967895909651371860730795582714212697554247 19210241868157170065066265366130736537254387359771910016635983947759150373618426749353900039950402802749520244814678125813000718442278708940134244064084905737114791635104787790408541188372453294093419618653459682365943756244624752595356577321387046200223526467026212281522768836981056479254424938415578354512371332865393227776202302529407885006919991185602775762992705930937888946356531470278602947802293194407764754489994369456573351952384060002330453815901627807645715510441209798659234855002670094359653044853920621772345750490959814263717958368931513684544728378494263686960686689424541657300531473376551390764626740699256082460982612748165364964270233418434087673059987421606425183479898066227349594575942010062458844244598549817032639615135295341975312197178134651821051067024433282261967414035074549770636952644884256106293675180564120545349293518959075718285971630651918291202637348545529945670873251337287657389664706156029874906736069895013041155849328314374062750720416493303137210806241177261803161702655368237801147990121837351327674451031410651328420009572234795812523870687746897458966756457412519981443998254195202149516566638846409618066854022273916310622823933467242774948587988477437926420921928261626385690831674328084541523422736857819722393739755178426184138215616664260085654738452822872220080085644100993485755896567139008576907668751378882226920565711509256426347544190986849642298051247678529367513399910428485219082790710372243241346694326615179176185995702772595735994743349141942879122235888838353488337780709318947665022567150890030873483627726796412642201940197103417267426924279316345820450840833351401379871459411655656972959338452932765872070327559514846523672974918948924732952424587271016519772557414510766530077961143849133625713594200913835646732206946837414860535867488389331431863259542731262291242101241863357095750918749768215417275197262846359715676702098896773791888577656705327394571582556773461082569009821319108926256839952840319610101659081210241764535558124947875258125816057004568765003147099364060841599029636026181224524065534067101915634868623246715585784720908874331085399948782904150399734198775147868870562843447129024398396145379449733247208184953101579486097089114412788468354181629200791185281506075100051261862426872916153249925591844486169938737276674655815888538178583512333164967653660289367696524910164883133215168498586675248486613788473271999742534879966533866028150311987113531921478642407195520712776278425569111305887241551983260029877250434159445941476536152562613843221790715326991408986651118266201911125994567547977864494070718089588127047621984533743861577410643963027756369981788779361729495148692112451128929948717940051297555834415733930761064904278408964186904631116799514741635477515762406873866193711093480200286814436241012409829236526997513344031898094939782388618153600271586259528509055312101023937517494463398654742943126025438761160795962003124206893596005840649412564978014762272040388347247758808635420735216932293704531485193598532808503425713278155942821028984688683488582797570514336780571077172887975781442690015544775628743244458923475314513131272836331966312449308842129397231462582394560586840198442353781448977598019854595150979697971925602192119388711928718487686819576455371 31082824274784577500868508491884330461049644691983711330555108480540892851417296816122934604302752846768069472871276783402293443238621137522289672597931881866995114607258170011856660173632417122858033260208837750117538671642506274858848316688511060733457850724678788153355295848406601773729296901911460016705970314577275544482099677320331115779770188879744828272394615501747442154544302192212622316144316396751152369476098048317777995056513372278932036165939104288694208408630590757930040933455879017860254468777380094632738403580203056127980279751646690500710417471744206480476896217439074067079423474641280083741489268471264378064568421444662934380469697516782223610674109988009486972399071708031733995730945696259345412225848979200153187416521638894898567961330982709518577740804252170749144624896688939732583663000628279771781801512622503077257979593787866730764478620338852787695653684577681440083165705289820351083762278027639305458410082121816521378703595687348709453811166565417226768629555611275488342867418084638003418577067080387830703153709888877436807785367271882500966526546374387299776533570830649340551404311895855545172985058642692142524475412550787609491853896967830491269168661589310622241420889986541044650480500172138961102061902042623086335031044387218178557044788191435613417534677575488199068427247179944739107953458871717405822929315363551467416220104409666318762229220252301018868476462640331643287448026185745578509124099547064778592620450794722252281062586004920733904732666786238323357420603221158854406238848809590599448731839438871455342998192329951222360294923460480855911871139077515030252312299935906508910819989438011755121213472258611307287271901107299668947127005750899072787715707050194697790941174965184387834949135418525726176907641341166705849745222524190725585656313121829590710082026215480062092679922021457867654532368956992714340708162000358247016598361151009031131230920337588035352270950014414489169064247555532532728676687785069830524154134853959477401652989161551632312157576365949492532293089147637307937079397082862455830310924033069515944006035097011352707838068057673793964809067117568213702474098955392788897347086137942280731321690781193809100750164477236173241298135998692120040587321810951250599184084219774744796834661506696135192531577869416223025812262163981687185493763295727469959406762584074602287754103976745047483079323762955382766841147854600533574054484095061831075529553398485508429461379212558391503634121047728115378607651849575967016818924930546306918050924230407629043288996092118196502571132751974048968150136990704396875879978935782231381617268817960219838438952692891345760131100622879303578970089110725154801734182639725799267608730288599684314407063079074511225324453322296000670465009111849229421911731960929634367815840639069451377737204298585456733302193979671288782399101810938411071743714377880261708911632119254727735182817734219267115500536272402358550765480902883719953094236310431264877863868666664898654247351636608037958134179174823319877903336553026492932939860501591486854119012056394401189449554146729183175235271813164437631297129476453587551719188696910391685945025389192348684266615507965026164217530686133800327680446428692259544241795893498101770760572659514070401032274009618 50293066142941747565934773858015066998304032051755621347191092428300043225035723565476834644253155649517589717685954909215294161680899846462423916662016787604109906242362957802265201362004870416951452878862297432483482427887131027454204894009898106933681377191705000434878064685387658252983721840327038371218341647442668772258301979849739000786690180065347604035387321432685331100900833662491225263946609591158917123966092417774351347008897432281262489981840732096339923919071800556589275788458549112219907513631300716405084154071162870391698238120578204185255145850238470167437582906863615724379954948017831474506116009170520460525551034192828299344739930935216311283734097409615912155878969774259083590306887706321804256470447529017185827031656934236873880158509117361339628807828685453011112038931763489503220615645512535878075476693186623622607273112746942449050450250990771078898291033123211385754038956627108008473426984183669180365146152016829562534552924001722772204531583058720363979435796788537291504570073452875804566567188917739158377604741299528765227794939506678313490397234121284758743290028243169321995402566091057694689551697489101760591329434824703920114677830435073266217756650066748548662342818248167430341312174500223502625484638900442808728770799565644362695260404855695699072273130398360419148512891280938224863850026010725982730598066742433694336785815918922745109773411239150661166527710318861010800847936614230797591914809919308019939314777409901428467058288777516469899476015928181202479656492059512342744019558128538264471298990328902328826625919126363864562235120563898123338795418393860850703153133287307888782279401093668728080551925191377179357599460622146192620101924699823805740140294321211217563498589475950917912910279267659351890501842255002352581952169361605586121523801511161022573341568946742353334781163884814963405451118725208131615905424846717962693300460047782823019808577042915429923853506787875571738074068874641458985516640625389440625813216064201241937211114109426890437973633370518257535440188511698149536109033109043680354376458100171431578874658343726938492558976932004879364757850021718613436672874103261659460190533266966679127467070230927056308935117578815659338387250411480588394768951011742435880690159319826006659261534422849385118123422355586161763088936819797575723672346808060634927060422873442298812664268859878262651577910438203869380629621126600276108934450628927859225841540512017429908103786408079104279912546616839421265849203832835996894069359089992248394587076793021472265079711419109605489222251018175960094144704538682261369950697025370358429239253351704081415849596655919102130112889402241033074118781223176283731682900579777096823443146022530445379311341488038698129955570121810742305942524874256103288105443054409834654630276880081861206973731296098800765200288919453677400552702082524670600252769689981285646429126582653382478125943759658028276296498275526565444361486743533132518072251072703305266211116425473534074982568568901742489619372773356128381329049831182435753968845190274975436916582570731181760526727034704964617925287357940066374541588399928902064850461533242357998394334231321745915729197902525613004415973039915249305278466283287410523939767819100293890149284588232558087851850464989 81375890417726325066803282349899397459353676743739332677746200908840936076453020381599769248555908496285659190557231692617587604919520983984713589259948669471105020849621127814121861535637287539809486139071135182601021099529637302313053210698409167667139227916383788588233360533794260026713018742238498387924311962019944316740401657170070116566460368945092432307781936934432773255445135854703847580090925987910069493442190466092129342065410804560194526147779836385034132327702391314519316721914428130080161982408680811037822557651365926519678517872224894685965563321982676647914479124302689791459378422659111558247605277641784838590119455637491233725209628451998534894408207397625399128278041482290817586037833402581149668696296508217339014448178573131772448119840100070858206548632937623760256663828452429235804278646140815649857278205809126699865252706534809179814928871329623866593944717700892825837204661916928359557189262211308485823556234138646083913256519689071481658342749624137590748065352399812779847437491537513807985144255998126989080758451188406202035580306778560814456923780495672058519823599073818662546806877986913239862536756131793903115804847375491529606531727402903757486925311656059170903763708234708474991792674672362463727546540943065895063801843952862541252305193047131312489807807973848618216940138460882963971803484882443388553527382105985161753005920328589063872002631491451680035004172959192654088295962799976376101038909466372798531935228204623680748120874782437203804208682714419525837077095280671197150258406938128863920030829767773784169624111456315086922530044024378979250666557471375880955465433223214397693099390531680483201765397449988486644871361729445861567228930450722878527856001371405915354439764441135305747859414686185078067409483596169058431697391885796311707180114632990613283423595162222415427461085906272831059983487682200845956613586847076209709898821198791854151039497380503465276124456802290060907138316430173991714193328410459271149967350918160719338864103270978522750131209736467750067733277659335457473188430191906136184687382133240947522880693440738291200397044989678673329566917139286827139146973058654448357537619404908959858788761012120865409685282056051832579685386410172708435356272822693686479874243539600751456096195929545520310655000225002384788901198983779262909166110103788104886467185457516901100418372836623310134657234201159252147470768981200809682988934723989690301371093910502938337565165620637495783546667664567536644456855682411963910888284020538555312638001023429101308368707511227801991793383770150009062294841529386658245830675961152589810856522169664301254288549348810447890243990025120336653088870333901438533417083219502896091051876311130129693718404567113209355280023444106742976407533986105332710017175015339469022446117519151312584710935594684257498502482899124966182951803893463081671996484067861547355340758701908110213308761493877295391797034547928923995126967646416852471166487383134570144074985092138432729229920205509780447753551948179448259232386384208928686908705691866462291035594627125582949976281181434147793160559171104504005838717876382489616569650230152749684339359620514094599995813410490639168633503726049049632958912711979670068181563712598395660909857247746628488884124474607 131668956560668072632738056207914464457657708795494954024937293337140979301488743947076603892809064145803248908243186601832881766600420830447137505921965457075214927091984085616387062897642157956760939017933432615084503527416768329767258104708307274600820605108088789023111425219181918279696740582565536759142653609462613088998703637019809117353150549010440036343169258367118104356345969517195072844037535579068986617408282883866480689074308236841457016129620568481374056246774191871108592510372977242300069496039981527442906711722528796911376755992803098871220709172221146815352062031166305515839333370676943032753721286812305299115670489830319533069949559387214846178142304807241311284157011256549901176344721108902953925166744037234524841479835507368646328278349217432197835356461623076771368702760215918739024894291653351527932754898995750322472525819281751628865379122320394945492235750824104211591243618544036368030616246394977666188702386155475646447809443690794253862874332682857954727501149188350071352007564990389612551711444915866147458363192487934967263375246285239127947321014616956817263113627316987984542209444077970934552088453620895663707134282200195449721209557837977023704681961722807719566106526482875905333104849172585966353031179843508703792572643518506903947565597902827011562080938372209037365453029741821188835653510893169371284125448848418856089791736247511808981776042730602341201531883278053664889143899414207173692953719385680818471250005614525109215179163559953673703684698642600728316733587340183539894277965066667128391329820096676112996250030582678951484765164588277102589461975865236731658618566510522286475378791625349211282317322641365666002470822351592054187330855150546684267996295692617132917938353917086223660769693953844429957911325851171411013649561247401897828703916144151635856765164108964768762242249791087794465434606407408977572519011693794172403199281246574677170848074423418895199977963590165632645212385304815450699709969035848711775780566982361961276075217380405413188104843106986007603173466171033607009297463300949816539063840233412379101755351784465229692956021921683552694324767161005440575819847161916107817728152671875638986255831243047921718620399634867491918072636821653296830125223834436122360564402859426758115357730352394905428778422580588546551990135803576838632838456911848739813527608330959199913082641696501572786235144639363121528100390107801085791923385352917549527212634422520368245668952028716600063459214281406957910306059515247960804957643110530803707225077816450573573448418930337407481015634788325969156439546068068919615781372986522948240095775521368382670138146004729550020356879427361369727207651557077722265099983799279992914495022333660575073029746055151907485235593565917485282350058860361435998122618069749303677076394399233173791684666890783058263702771818578643583504505975987752272249253757842833001769885284561492691434705253535323668093532823455489439488454389949984989238738455837875410286101517611966804212488774411522937372924721535576640561436215391364440877550882141437727952177197856764710503008216139112411085846529044570380380306276311391681420111763395107682733693851835840515725011313016252173049476765964298938237378995267080592121331531698689551059141835979186576735974939596 213044846978394397699541338557813861917011385539234286702683494245981915377941764328676373141364972642088908098800418294450469371519941814431851095181914126546319947941605213430508924433279445496570425157004567797685524626946405632080311315406716442267959833024472577611344785752976178306409759324804035147066965571482557405739105294189879233919610917955532468650951195301550877611791105371898920424128461566979056110850473349958610031139719041401651542277400404866408188574476583185627909232287405372380231478448662338480729269373894723431055273865027993557186272494203823463266541155468995307298711793336054591001326564454090137705789945467810766795159187839213381072550512204866710412435052738840718762382554511484103593863040545451863855928014080500418776398189317503056041905094560700531625366588668347974829172937794167177790033104804877022337778525816560808680307993650018812086180468524997037428448280460964727587805508606286152012258620294121730361065963379865735521217082306995545475566501588162851199445056527903420536855700913993136539121643676341169298955553063799942404244795112628875782937226390806647089016322064884174414625209752689566822939129575686979327741285240880781191607273378866890469870234717584380324897523844948430080577720786574598856374487471369445199870790949958324051888746346057655582393168202704152807456995775612759837652830954404017842797656576100872853778674222054021236536056237246318977439862214183549793992628852053617003185233819148789963300038342390877507893381357020254153810682620854737044536372004795992311360649864449897165874142038994038407295208612656081840128533336612612614083999733736684168478182157029694484082720091354152647342184081037915754559785601269562795852297064023048272378118358221529408629108640029508025320809447340469445346953133198209535884030777142249140188759271187184189703335697360625525418094089609823529132598540870382113098102445366531321887571803922360476102420392455693552350701734989442413903297446307982925747917900522680614939320651383935938236052843453757670906743830369064482485893492855952723751222366653326624636045225203520893353066911362226023891684300292267714966820220570556175265772076784598845044592255168787128305681690919324497758023231826005265481496657129808840438646399027509571453926281940425739433422805590931340891334787356101542004567015636844699994793788476101013501014533124882920892378840522373675571159089001895474912320076907239828583728333023306583234117649354095847005881945974494554762915197659924715845927131069359019863078839879674881817126441565209472809018558475978218734387597455577861612048947675538050952297691032683924426695353539997910600869452481706380296521890979160798517067018782889005546898644790704766748150622265116840515617010024228258757592846466768708139793085088772699522511918384486376395602485467315762205254717703609766456309869450833944245737825704380357110643986469602904743466747412619059890567371384413434615422036366837460405225838972445554361086609750399533442408979921303385126476669715024899793822599600293127786256574007900018987771824982347660479289397573260204246405700149074386219024152693881297989761993547857367073053472349935115720824723506891341682980492013348571196291707246750660302895244297085211968999083725815065620099414203 344713803539062470332279394765728326374669094334729240727620787583122894679430508275752977034174036787892157007043604896283351138120362644878988601103879583621534875033589299046895987330921603453331364174938000412770028154363173961847569420115023716868780438132561366634456210972158096586106499907369571906209619180945170494737808931209688351272761466965972504994120453668668981968137074889093993268165997146048042728258756233825090720214027278243108558407020973347782244821250775056736501742660382614680300974488643865923635981096423520342432029857831092428406981666424970278618603186635300823138045164012997623755047851266395436821460435298130299865108747226428227250692817012108021696592063995390619938727275620387057519029784582686388697407849587869065104676538534935253877261556183777302994069348884266713854067229447518705722788003800627344810304345098312437545687115970413757578416219349101249019691899005001095618421755001263818200961006449597376808875407070659989384091414989853500203067650776512922551452621518293033088567145829859283997484836164276136562330799349039070351565809729585693046050853707794631631225766142855108966713663373585230530073411775882429048950843078857804896289235101674610035976761200460285658002373017534396433608900630083302648947130989876349147436388852785335613969684718266692947846197944525341643110506668782131121778279802822873932589392823612681835554716952656362438067939515299983866583761628390723486946348237734435474435239433673899178479201902344551211578079999620982470544269961038276938814337071463120702690469961126010162124172621672989892060373200933184429590509201849344272702566244258970643856973782378905766400042732719818649813006432629969941890640751816247063848592756640181190316472275307753069398802593873937983232135298511880458996514380600107364587946921293884996953923380151952951945585488448419990852700497018801101651610234664554516297383691941208492735646227341255676080383982621326197563087039804893113613266482156694701528484882884641891014538031789349126340895950439765274080210001402671491783356793805769262815062600065705726391397009668750586309088833045778718216451461297708290786667382486663992993924748660237831300423498216708846926081325786816415830660053479302095606720491565931201003049258454267686811656634335331168211845386179477892881470590932940174843023927485584513522402119435300926583656229626455707127523479885495203671549196802981266835705429824789355796362755543674828903069678070695910465096227381452465068974712907885520803570241600162727088156656330248455265545371902616953824653346801947375173933665524497477393421934198486291048073212401066594564841358269547930957748879843076107504173448056883063617050818062881920041920978451279839777896677417024325751210575941713541107651706828204706262411154838076376598906317617660168080269376250374025908026536282253349960815845438586216494991583547213358880529271031095596178172000947942727984100194839902874103876426316822449643964294810320964647188127362366337654897754332826322499401391250601540355258814991657568663807456149337746939949022839112370982297613712372615332252229193644766599330429005272979409873756942965049806747324185775631445836036523143514732457257977647509433670702513831252424226775995774763028140919705001642356074353799 557758650517456868031820733323542188291680479873963527430304281829104810057372272604429350175539009429981065105844023190733820509640304459310839696285793710167854822975194512477404911764201048949901789331942568210455552781309579593927880735521740159136740271157033944245800996725134274892516259232173607053276584752427727900476914225399567585192372384921504973645071648970219859579928180260992913692294458713027098839109229583783700751353746319644760100684421378214190433395727358242364410974947787987060532452937306204404365250470318243773487303722859085985593254160628793741885144342104296130436756957349052214756374415720485574527250380765941066660267935065641608323243329216974732109027116734231338701109830131871161112892825128138252553335863668369483881074727852438309919166650744477834619435937552614688683240167241685883512821108605504367148082870914873246225995109620432569664596687874098286448140179465965823206227263607549970213219626743719107169941370450525724905308497296849045678634152364675773750897678046196453625422846743852420536606479840617305861286352412839012755810604842214568828988080098601278720242088207739283381338873126274797353012541351569408376692128319738586087896508480541500505846995918044665982899896862482826514186621416657901505321618461245794347307179802743659665858431064324348530239366147229494450567502444394890959431110757226891775387049399713554689333391174710383674603995752546302844023623842574273280938977089788052477620473252822689141779240244735428719471461356641236624354952581893013983350709076259113014051119825575907327998314660667028299355581813589266269719042538461956886786565977995654812335155939408600250482762824073971297155190513667885696450426353085809859700889820663229462694590633529282478027911233903446008552944745852349904343467513798316900471977698436134137142682651339137141648921185809045516270794586628624630784208775534936629395486137307739814623218031263616152182804375077019749913788774794335527516563928464677627276402783407322505953858683173285064576948793893522944986953831771735974269250286661721986566284966719032351027442234872271479662155744408004742108135761589976005753487603057220168259696825444836676345015753385495975231763016706140913588683285305307361088217148695740041441695657481777258265582916275756907645268191770409233772805378289041716847590943122429213517195907911401940084670762751338628019902320407868879242708285804876741748025506732029184380091088566981412137187327424791757470978173355947019831889910567810236649497372669521746951235496209923337082671813467826426633671905277925593908321262980075339005470881874024342000370903433750518991536711809545841558618332324782487800695339036043862134117836845770925588819623241984606526047299682141166266827585965941799865244553294973414402204239926849076121418236002146544475871861717689788113281253985863116417125714889420160740729409251593715991173257500698500921638748360561787874667566224316308719298462683659910049190133782766519008274737112765871097306734254129707625878060965626440149081414591950696450064030157237765927720847821460031461587011285632819578657929342719152818354581699154277399635750490822416879800796535710747166660760030034856415437749990996080629962409760581912727122020292859974997140003430816707976173768002 902472454056519338364100128089270514666349574208692768157925069412227704736802780880182327209713046217873222112887628087017171647760667104189828297389673293789389698008783811524300899095122652403233153506880568623225580935672753555775450155636763876005520709289595310880257207697292371478622759139543178959486203933372898395214723156609255936465133851887477478639192102638888841548065255150086906960460455859075141567367985817608791471567773597887868659091442351561972678216978133299100912717608170601740833427425950070328001231566741764115919333580690178414000235827053764020503747528739596953574802121362049838511422266986881011348710816064071366525376682292069835573936146229082753805619180729621958639837105752258218631922609710824641250743713256238548985751266387373563796428206928255137613505286436881402537307396689204589235609112406131711958387216013185683771682225590846327243012907223199535467832078470966918824649018608813788414180633193316483978816777521185714289399912286702545881701803141188696302350299564489486713989992573711704534091316004893442423617151761878083107376414571800261875038933806395910351467854350594392348052536499860027883085953127451837425642971398596390984185743582216110541823757118504951640902269880017222947795522046741204154268749451122143494743568655528995279828115782591041478085564091754836093678009113177022081209390560049765707976442223326236524888108127366746112671935267846286710607385470964996767885325327522487952055712686496588320258442147079979931049541356262219094899222542931290922165046147722233716741589786701917490122487282340018191415955014522450699309551740311301159489132222254625456192129721787506016882805556793789946968196946297855638341067104902056923549482577303410653011062908837035547426713827777383991785080044364230363339981894398424265059924619730019134096606031491090093594506674257465507123495083647425732435819010199491145692869829248948307358864258604871828263188357698345947476875814599228641129830410621372328804887666291964396968396714962634190917844744333288219067163833174407466052607080467491249381347566784738077418839244541022065971244577453783460324587222887684296540154985543884161253621574105074507645439251602204822157844342492957329419343338784609456694937640261671242444744915936044945077239550611088075857113577949887126654275969221981891690614870608013727039598027346702866668326992377794335147425800293364082914257482607858008583730936556818540176453844110656241040257005495487667936074400737399484900864623475695757453067614269684474039392152540171792348217185370443380458325252079872969082254928504572816398892816072510633048444115834817113556378070079093772516367212167858595304868787092926925751168654908652845630740601693264446303943977099165492018038161907655340972896260123178120664615394764925452720324553619806712556141237968063814021307790268116466377941560328006377235720992798807074871702528531794097099810749308504515858767761064219182823174889000482359693154428593087483655462864475132208752204488586956030125279452216227980504340229583608265113871486306575512867669870660572402443884624998005434910910158536363919417685010704427256809509507433787466686548120721486378612496796553178371147895007968643590063633112274413165151348796288634738025280923135818350332248121801 1460231104573976206395920861412812702958030054082656295588229351241332514794175053484611677385252055647854287218731651277750992157400971563500667993675467003957244520983978324001705810859323701353134942838823136833681133716982333149703330891158504035142260980446629255126058204422426646371139018371716786012762788685800626295691637382008823521657506236808982452284263751609108701127993435411079820652754914572102240406477215401392492222921519917532628759775863729776163111612705491541465323692555958588801365880363256274732366482037060007889406637303549264399593489987682557762388891870843893084011559078711102053267796682707366585875961196830012433185644617357711443897179475446057485914646297463853297340946935884129379744815434838962893804079576924608032866825994239811873715594857672732972232941223989496091220547563930890472748430221011636079106470086928058929997677335211278896907609595097297821915972257936932742030876282216363758627400259937035591148758147971711439194708409583551591560335955505864470053247977610685940339412839317564125070697795845510748284903504174717095863187019414014830704027013904997189071709942558333675729391409626134825236098494479021245802335099718334977072082252062757611047670753036549617623802166742500049461982143463399105659590367912367937842050748458272654945686546846915390008324930238984330544245511557571913040640501317276657483363491623039791214221499302077129787275931020392589554631009313539270048824302417310540429676185939319277462037682391815408650521002712903455719254175124824304905515755223981346730792709612277824818120801943007046490771536828111716969028594278773258046275698200250280268527285661196106267365568380867761244123387459965741334791493457987866783250372397966640115705653542366318025454625061680830000338024790216580267683449408196741165531902318166153271239288682830227235243427860066511023394289670276050363220027785734427775088355966556688121982082289868487980445992732775365697390664589393564168646394339086049956081290449699286902922255398135919255494793538226811164054117664946143440321857367129213235947632533503770428446281479413293545633400321861788202432722984477660302293642588601104329513318399549911183990455004987700797389607359199098243008026624089916817783154788957411283886440573417822203342822466886844983502381769720296360427081347511023608538205813730442940556793935258104806752997755129132963167328120701232962156965768412734750331756443288847724556544932677637653177444332920279425407052574093346504732754534043505994102564986939206220990627648750095129430888998838269807091997157357798562990576191484648155404363697946534975048815019268567632547914781888639614074985544492641083105564126128970787885286491754423771219560224935249052829991276781306658284865747873597140838140813418151535066819634691774528841742789621953257032013099685753602134589044253979582795067275217426537976450402050400790862875786032492598021449497669066303733435327288535491542473351684142269742344562375854002663737601587898079849511222841085737751157513181854420653421644175558961563935516463813278795390718482032433905471636283638254489568087879083072236039592403581534209145257924609883566348917257197125779157556583213227563332757959639670693595522034995077878470816581494713022420926566635058308421889803 2362703558630495544760020989502083217624379628291349063746154420653560219530977834364794004594965101865727509331619279364768163805161638667690496291065140297746634218992762135526006709954446353756368096345703705456906714652655086705478781046795267911147781689736224566006315412119719017849761777511259964972248992619173524690906360538618079458122640088696459930923455854247997542676058690561166727613215370431177381973845201219001283694489293515420497418867306081338135789829683624840566236410164129190542199307789206345060367713603801772005325970884239442813593725814736321782892639399583490037586361200073151891779218949694247597224672012894083799711021299649781279471115621675140239720265478193475255980784041636387598376738044549787535054823290180846581852577260627185437512023064600988109846446510426377493757854960620095061984039333417767791064857302941244613769359560802125224150622502320497357383804336407899660855525300825177547041580893130352075127574925492897153484108321870254137442037758647053166355598277175175427053402831891275829604789111850404190708520655936595178970563433985815092579065947711393099423177796908928068077443946125994853119184447606473083227978071116931368056267995644973721589494510155054569264704436622517272409777665510140309813859117363490081336794317113801650225514662629506431486410494330739166637923520670748935121849891877326423191339933846366027739109607429443875899947866288238876265238394784504266816709627744833028381731898625815865782296124538895388581570544069165674814153397667755595827680801371703580447534299398979742308243289225347064682187491842634167668338146019084559205764830422504905724719415382983612284248373937661551191091584406263596973132560562889923706799854975270050768716716451203353572881338889458213992123104834580810631023431302595165430591826937896172405335894714321317328837934534323976530517784753923476095655846795933918920781225795805636429340946548473359808709181090473711644867540403992792809776224749707422284886178115991251299890652113098553446412638282560099383121281498120550906374464447596704485328980100288508505865120723954315611604644899315571662757310207365344598833797574144988490766939973654985691635894256589905619547451701692055572427369962874526274478092429219082526331185489353867148420062017497933059359495347670183487081357316733005500228820684338456667596391962604807673421324747506927298314753920994597045071223251020592758915487379845666264732998776788293894217701338415767093343126974830745989633619157519201751555632601208890695030019801290266921779106184208713187550322409437671532072831119989220971803256514019045608097259135103384746104292851967733386591352756660499678410432913221897713636455146663076616850300826628513499133935253880472150302903909781252481811037073541329655731435029456699981562067343241759969588154337653817416155896834522096049173008835545432915212171394849207865734578314564286695121260246977570819592203088352754674365648240684624629435498990968941486319200466063030288601715711428041767876436965398082401157761873759167226677807002770388791663060589142604836349356261281643689400478246415446991653724603108008791018654765358397350252897037978683504391654353136391598711227765928283260757228634309408243029819612870129451047701849702453408640670011604 3822934663204471751155941850914895920582409682374005359334383771894892734325152887849405681980217157513581796550350930642519155962562610231191164284740607301703878739976740459527712520813770055109503039184526842290587848369637419855182111937953771946290042670182853821132373616542145664220900795882976750985011781304974150986597997920626902979780146325505442383207719605857106243804052125972246548265970285003279622380322416620393775917410813432953126178643169811114298901442389116382031560102720087779343565188152462619792734195640861779894732608187788707213187215802418879545281531270427383121597920278784253945047015632401614183100633209724096232896665917007492723368295097121197725634911775657328553321730977520516978121553479388750428858902867105454614719403254866997311227617922273721082079387734415873584978402524550985534732469554429403870171327389869303543767036896013404121058232097417795179299776594344832402886401583041541305668981153067387666276333073464608592678816731453805729002373714152917636408846254785861367392815671208839954675486907695914938993424160111312274833750453399829923283092961616390288494887739467261743806835355752129678355282942085494329030313170835266345128350247707731332637165263191604186888506603365017321871759808973539415473449485275858019178845065572074305171201209476421821494735424569723497182169032228320848162490393194603080674703425469405818953331106731521005687223797308631465819869404098043536865533930162143568811408084565135143244333806930710797232091546782069130533407572792579900733196556595684927178327009011257567126364091168354111172959028670745884637366740297857817252040528622755185993246701044179718551613942318529312435214971866229338307924054020877790490050227373236690884422369993569671598335963951139043992461129624797390898706880710791906596123729256062325676575183397151544564081362394390487553912074424199526458875874581668346695869581762362324551323028838341847789155173823249077342258204993386356978422619088793472240967468565690538202812907511234472701907431820786910547175399163066694346696321814725917721276612633792278934311402203367609157238045221177359865190033191843004901127440162746092820280258373204896875626349261577606416937059060891153815435396586964443092261247218176493810217626062771689351762884484384778042861877117390479847508438664244029108767026498068899608153185897862912480174322502636060261482082041695830007228189019433327509247243823134513989289543709465931547395145671336046518750179548924092494366373691562707745658197588148096916020647450040362051209995183046982994642319566795470095063407311473869127207620211965580583146074154371952378652207633856373000666338301153140761515997039350868501521741638417500388069861051563762551963926530661778808587769657654849622649177886959481190798254664148474510403810132863713226620167437339571018290485878776075631968076110762859453188621796899608656597454100596779293142709744646637123325638415641290165908121592368766899177843553344795488982938067650928368451226934269127505627594478579936821811183517934726188241742519234202070458451307624637270254827897565281943890046334294530063889764195511590325227800023283007233819245955235880630170811909719604826274560523887922931450824156344403320908290429451624164070122776269088466949091901407 6185638221834967295915962840416979138206789310665354423080538192548452953856130722214199686575182259379309305881970210007287319767724248898881660575805747599450512958969502595053719230768216408865871135530230547747494563022292506560660892984749039857437824359919078387138689028661864682070662573394236715957260773924147675677504358459244982437902786414201902314131175460105103786480110816533413275879185655434457004354167617839395059611900106948373623597510475892452434691272072741222597796512884216969885764495941668964853101909244663551900058579072028150026780941617155201328174170670010873159184281478857405836826234582095861780325305222618180032607687216657274002839410718796337965355177253850803809302515019156904576498291523938537963913726157286301196571980515494182748739640986874709191925834244842251078736257485171080596716508887847171661236184692810548157536396456815529345208854599738292536683580930752732063741926883866718852710562046197739741403907998957505746162925053324059866444411472799970802764444531961036794446218503100115784280276019546319129701944816047907453804313887385645015862158909327783387918065536376189811884279301878124531474467389691967412258291241952197713184618243352705054226659773346658756153211039987534594281537474483679725287308602639348100515639382685875955396715872105928252981145918900462663820092552899069783284340285071929503866043359315771846692440714160964881587171663596870342085107798882547803682243557906976597193139983190951009026629931469606185813662090851234805347560970460335496560877357967388507625861308410237309434607380393701175855146520513380052305704886316942376457805359045260091717966116427163330835862316256190863626306556272492935281056614583767714196850082348506741653139086444773025171217302840597257984584234459378201529730312013387072026715556193958498081911078111472861892919296928714464084429859178123002554531721377602265616650807558167960980663975386815207597864354913722788987125745397379149788198843838500894525853646681681789502703559624333026148320070103347009930296680661187245253070786262322622206605592734080787440176522927321924768842690120492931527947343399208349499961237736891081311047198346859882567262243518167512036484510762583209387862766549838969366739339647395576336548811552125556500182946501882711102221372465060663334589795980977034608995847182407356275749577860467720153595647250142987559796835962690427052299412270453920268162731202980180254022542486254225441612847009751813612093306523754838483999992849081909497213830189356987611050667251330628972989101367255696182192641976233141627136238431463090099010876725984626191243333289475337124756500485824106387257691057813640439926429952572766215158196785080577004920161878192276051097861784542250958890673567436102104460214960500810846529689693605174491965877476105473196208321774993388434446382713298171681141084946308292368400793191748816522332032415161065988263969991624207942917841503994044840273769833053391528613342544313736975302138533713958657052942645697169273504031443978019222968945391693893414919549522004590862121511896767242106604184158846925633290524580709977055543488798619599116246454788641404584072142993214564134562466262855996424985788289816206192208052790653811563938110042321753615117824625971541875589761913011 10008572885039439047071904691331875058789198993039359782414921964443345688181283610063605368555399416892891102432321140649806475730286859130072824860546354901154391698946243054581431751581986463975374174714757390038082411391929926415843004922702811803727867030101932208271062645204010346291563369277213466942272555229121826664102356379871885417682932739707344697338895065962210030284162942505659824145155940437736626734490034459788835529310920381326749776153645703566733592714461857604629356615604304749229329684094131584645836104885525331794791187259816857239968157419574080873455701940438256280782201757641659781873250214497475963425938432342276265504353133664766726207705815917535690990089029508132362624245996677421554619845003327288392772629024391755811291383770361180059967258909148430274005221979258124663714660009722066131448978442276575531407512082679851701303433352828933466267086697156087715983357525097564466628328466908260158379543199265127407680241072422114338841741784777865595446785186952888439173290786746898161839034174308955738955762927242234068695368976159219728638064340785474939145251870944173676412953275843451555691114657630254209829750331777461741288604412787464058312968491060436386863825036538262943041717643352551916153297283457219140760758087915206119694484448257950260567917081582350074475881343470186161002261585127390631446830678266532584540746784785177665645771820892485887274395460905501807904977202980591340547777488069120166004548067756086152270963738400316983045753637633303935880968543252915397294073914563073434804188317421494876560971471562055287028105549184125936943071626614800193709845887668015277711212817471343049387476258574720176061521528138722273588980668604645504686900309721743432537561456438342696769553266791736301977045364084175592428437192724178978622839285450020823758486261508624406457000659323104951638341933602322529013407595959270612312520389320530285531987004225157055387019528736971866329383950390765506766621462927294366766821115247372327705516467135567498850227501924133920477472079824253939599767108077048539927882205367873066374487925130689533926080735341670291393137376591051354401088677899637174131327456720064779442888592779745118453421569823474363203298163136803412459000586865572070146766437614897245851945830986267489145083249582451143182098234645221063717762873680476255883902763758330632633769969752779047821278918004386257059527601289887247777409975026114694243312086195720156989007992681087860130843486072678930978366366540644617242872027777505084527071314701370991024199096550302679176834961543028611722199645742936959226218496937950206774389407443847289503408708119680479387924029358966781201442426991923634716679938423498077392990022929756038603061788315204029767478443225090951727109392847460292037327944357753649002369687608969186422828489212332959452736868592074247313109161057071151821589414988648425178929486515757845281406679736270845066243479919635335006181891425422158427791186097658532464285076601364887025504169579966296779131625922557956044780128909628619603161292041238792932579963204391879376859012056412207577180570915004507119433252994131189441474254811924411817891388948450444764733278172575601251260348813704129123658876946998214884846400471773377779187947402240630342538853814418 16194211106874406342987867531748854196995988303704714205495460156991798642037414332277805055130581676272200408314291350657093795498011108028954485436352102500604904657915745649635150982350202872841245310244987937785576974414222432976503897907451851661165691390021010595409751673865875028362225942671450182899533329153269502341606714839116867855585719153909247011470070526067313816764273759039073100024341595872193631088657652299183895141211027329700373373664121596019168283986534598827227153128488521719115094180035800549498938014130188883694849766331845007266749099036729282201629872610449129439966483236499065618699484796593337743751243654960456298112040350322040729047116534713873656345266283358936171926761015834326131118136527265826356686355181678057007863364285855362808706899896023139465931056224100375742450917494893146728165487330123747192643696775490399858839829809644462811475941296894380252666938455850296530370255350774979011090105245462867149084149071379620085004666838101925461891196659752859241937735318707934956285252677409071523236038946788553198397313792207127182442378228171119955007410780271957064331018812219641367575393959508378741304217721469429153546895654739661771497586734413141441090484809884921699194928683340086510434834757940898866048066690554554220210123830943826215964632953688278327457027262370648824822354138026460414731170963338462088406790144100949512338212535053450768861567124502372149990085001863139144230021045976096763197688050947037161297593669869923168859415728484538741228529513713250893854951272530461942430049625831732185995578851955756462883252069697505989248776512931742570167651246713275369429178933898506380223338574830911039687828084411215208870037283188413218883750392070250174190700542883115721940770569632333559961629598543553793958167504737566050649554841643979321840397339620097268349919956251819415722771792780445531567939317336872877929171196878698246512650979611972262984883883650694655316509695788144656554820306765795261292674761929054117208220026759900524998547572027480930407768760485441184852837894339371162134487798101953853814664448058011458694923425462163222921084719990259703901049915636528255442374655066924662010150836297912630489906080586057572591160929686642381825739926512967646483315249167022802352128777488150200247304622047511806516688030626198098326758720862883612159652341618798352787365617002922035381075753967076684111827013560341168045572706229094874497334628681974382430620839690839673742936792596433769462366359389726526740085857966862072138121981952701619997188197917558375359027603519261753349335884174400049325229373663934832965632740733322626628165208605504585775181720416780421641368856944496400931838135208578654397910184807948314654159650099746280726369116792527053831569607807961102883857634051358823494335565085074659619036810987326347887183251305372418994250246003379444189990208180397241701261518930918911269670649727895053009161321423629379846455661258475549956404528641972269439587215135078845682557112225663466052635657366535975267749074301322513018080841563243383794701475101159121483463196215259133210471095495714484174976741792750788557720709600565816401963531941665008899295744435431597676246137103520335315866929737652026448784510514095131394305772028212172218128615727429 26202783991913845390059772223080729255785187296744073987910382121435144330218697942341410423685981093165091510746612491306900271228297967159027310296898457401759296356861988704216582733932189336816619484959745327823659385806152359392346902830154663464893558420122942803680814319069885374653789311948663649841805884382391329005709071218988753273268651893616591708808965592029523847048436701544732924169497536309930257823147686758972730670521947711027123149817767299585901876700996456431856509744092826468344423864129932134144774119015714215489640953591661864506717256456303363075085574550887385720748684994140725400572735011090813707177182087302732563616393483986807455254822350631409347335355312867068534551007012511747685737981530593114749458984206069812819154748056216542868674158805171569739936278203358500406165577504615212859614465772400322724051208858170251560143263162473396277743027994050467968650295980947860996998583817683239169469648444727994556764390143801734423846408622879791057337981846705747681111026105454833118124286851718027262191801874030787267092682768366346911080442568956594894152662651216130740743972088063092923266508617138632951133968053246890894835500067527125829810555225473577827954309846423184642236646326692638426588132041398118006808824778469760339904608279201776476532550035270628401932908605840834985824615723153851046178001641604994672947536928886127177983984355945936656135962585407873957895062204843730484777798534045216929202236118703123313568557408270240151905169366117842677109498056966166291149025187093535377234237943253227062556550323517811749911357618881631926191848139546542763877497134381290647140391751369849429610814833405631215749349612549937482459017951793058723570650701791993606728261999321458418710323836424069861938674962627729386386604697461745029272394127094000145598883601128721674806920615574924367361113726382768060581346913296143490241691586199228532044637983837129318371903412387666521645893646178910163321441769693089628059495877176426444913736493895468023848775073951614850885240840309695124452605002416419702062370003469826920189152373188700992621004160803833514314222096581311058302138593536165429573702111786989441453039429077657748943327650409531935794459092823445794284740513378539716630081686781920048204074608474417689392387871629962949698786265271419162044521594543359868043555105377128985421135586755701083202354671971462941171354614850228415822982681255209568740646714877694539419628832371927533873780278669112700440732725930371143982957885744367156665193296654072611021387294467861054535862565062290365071535529917337008551447870601885039740022148177169916131573916725185065163105749775747202842811283936420035648518073632076731790900207737704353257221438414950310493847560017618005558679000655421394921185578409112472496705252694043846041865300199659307339920119897446666307359407060450596011579623169045666880191005446676756551077329464165898075404801343264714852637552683897708384195714739630801903872291736443732708061281805629762831767283289093931312529203210951132621242133604482176727281438305551000860322208271671340787651666410718991294409994786881977999194964412490228219854920890115453664029022608007198927506485917224464439525806684650241333630910985868509173493719430452802560667469541847 42396995098788251733047639754829583452781175600448788193405842278426942972256112274619215478816562769437291919060903841963994066726309075187981795733250559902364201014777734353851733716282392209657864795204733265609236360220374792368850800737606515126059249810143953399090565992935760403016015254620113832741339213535660831347315786058105621128854371047525838720279036118096837663812710460583806024193839132182123888911805339058156625811732975040727496523481888895605070160687531055259083662872581348187459518044165732683643712133145903099184490719923506871773466355493032645276715447161336515160715168230639791019272219807684151450928425742263188861728433834308848184301938885345283003680621596226004706477768028346073816856118057858941106145339387747869827018112342071905677381058701194709205867334427458876148616494999508359587779953102524069916694905633660651418983092972117859089218969290944848221317234436798157527368839168458218180559753690190861705848539215181354508851075460981716519229178506458606923048761424162768074409539529127098785427840820819340465489996560573474093522820797127714849160073431488087805074990900282734290841902576647011692438185774716320048382395722266787601308141959886719269044794656308106341431575010032724937022966799339016872856891469024314560114732110145602692497182988958906729389935868211483810646969861180311460909172604943456761354327072987076690322196890999387424997529709910246107885147206706869629007819580021313692399924169650160474866151078140163320764585094602381418338027570679417185003976459623997319664287569084959248552129175473568212794609688579137915440624652478285334045148381094566016569570685268355809834153408236542255437177696961152691329055234981471942454401093862243780918962542204574140651094406056403421900304561171283180344772202199311079921948968737979467439280940748818943156840571826743783083885519163213592149286230633016368170862783077926778557288963449101581356787296038361176962403341967054819876262076458884889352170639105480562121956520655368548847322645979095781293009600795136309305442896755790864196857801571780774003816821246712451315927586265996737235306816571570762203188509172693685016076766853914103463190265375570379433233730995589508385620022510088176110480439891507363113396935948942850556203385962567889639692493677474756215474295897617260371280315406243480203207446995927338208501203758623118583430425938539625283181628410569583868555387484304443237981343559668921850249672062767207616717071265546469903099085320097670723043743711229228803315278606774231018575492385419429894890168581552118420871414091737057876677244265819872705654888910492542759739125330689650938287470192527624484180140880916436580356208840655386188810392545652667911381088514696591220216676810145059390248608463382497805043212460471295991040817779118505660902111186985655227103371202819085301609653063830040201569831349442908581452524377595667820747979192060951084566122766894094699093213942373258340600243381603071343459506871522578390618394031293228884402940655629906580278277512273645639322975167725560521982913406710122343785404486930473998122761906433475469386736579632766556915674013056044621818452831780462563324767043438796603752623020744799755392736422302267782415421499963640567799491458664974778796085269276 68599779090702097123107411977910312708566362897192862181316224399862087302474810216960625902502543862602383429807516333270894337954607042347009106030149017304123497371639723058068316450214581546474484280164478593432895746026527151761197703567761178590952808230266896202771380312005645777669804566568777482583145097918052160353024857277094374402123022941142430429088001710126361510861147162128538948363336668492054146734953025817129356482254922751754619673299656195190972037388527511690940172616674174655803941908295664817788486252161617314674131673515168736280183611949336008351801021712223900881463853224780516419844954818774965158105607829565921425344827318295655639556761235976692351015976909093073241028775040857821502594099588452055855604323593817682646172860398288448546055217506366278945803612630817376554782072504123572447394418874924392640746114491830902979126356134591255366961997284995316189967530417746018524367422986141457350029402134918856262612929358983088932697484083861507576567160353164354604159787529617601192533826380845126047619642694850127732582679328939821004603263366084309743312736082704218545818962988345827214108411193785644643572153827963210943217895789793913431118697185360297096999104502731290983668221336725363363611098840737134879665716247494074900019340389347379169029733024229535131322844474052318796471585584334162507087174246548451434301864001873203868306181246945324081133492295318120065780209411550600113785618114066530621602160288353283788434708486410403472669754460720224095447525627645583476153001646717532696898525512338186311108679498991379962705967307460769841632472792024828097922645515475856663709962436638205239444968241642173471186527309511090173788073186774530666025051795654237387647224541526032559361418242480473283838979523799012566731376899661056109194343095831979613038164541877540617963761187401668150444999245545981652730633143929159858412554369277155310601926947286230899728690708426027698608296988145964983197703846151974517411666516281907007035693014550836572696097719930710632178250441104831433758047899172210566259227805041607694192969194435413443936931747069830251549528913152881820505327102708859114589778878640903544916229694453228128376561381405121444180079115333533970395220953270047079743478622730862898760277994436985579032080365307437705914260561169036422415801909949603348246762552373056323629636790514324201785785097910002566454536243260797999691538068739514011978628058437363461269878504434694741490497349934659170343831811250468814706001629455596385468508575260846842039962786853280484430752733643842483492406944009074066428125114867704912445677037087662458891313042055874716101393219968274827326991424817336472228874282472732117979710600283357021168602526929646901714064236827763064948927609118803892726228790869583768487746070473162351702767411386644962567023491100265751608969060124280636213149454518488575461643529824272424371825308656226849159970924110158809551730766626270966724795958121233873247331798607966311098679675836922991716170223944723837892807480723224778260565108772207737249264351712261123204107612758601814785774428317152466763796731366514744556110638425546272841673373721895916227353789651445995531259108937969264194918543106952509116046332485832149741293210889117777339463554811123 110996774189490348856155051732739896161347538497641650374722066678289030274730922491579841381319106632039675348868420175234888404680916117534990901763399577206487698386417457411920050166496973756132349075369211859042132106246901944130048504305367693717012058040410849601861946304941406180685819821188891315324484311453712991700340643335199995530977393988668269149367037828223199174673857622712344972557175800674178035646758364875285982293987897792482116196781545090796042198076058566950023835489255522843263459952461397501432198385307520413858622393438675608053649967442368653628516468873560416042179021455420307439117174626459116609034033571829110287073261152604503823858700121321975354696598505319077947506543069203895319450217646310996961749662981565552473190972740360354223436276207560988151670947058276252703398567503631932035174371977448462557441020125491554398109449106709114456180966575940164411284764854544176051736262154599675530589155825109717968461468574164443441548559544843224095796338859622961527208548953780369266943365909972224833047483515669468198072675889513295098126084163212024592472809514192306350893953888628561504950313770432656336010339602679530991600291512060701032426839145247016366043899159039397325099796346758088300634065640076151752522607716518389460134072499492981861526916013188441860712780342263802607118555445514473967996346851491908195656191074860280558628378137944711506131022005228366173665356618257469742793437694087844314002084458003444263300859564550566793434339555322605513785553198325000661156978106341530016562813081423145559660808674464948175500576996039907757073097444503113431967793896570422680279533121906561049279121649878715726623705006472242865117128421756002608479452889516481168566187083730606700012512648536876705739284084970295747076149101860367189116292064569959080477445482626359561120601759228411933528884764709195244879919374562176226583417152355082089159215910735332481085478004464388875570700330113019803073965922610859406763837155387387569157649535206205121543420365909806413471260041899967743063490795928001430456085606613388468196786015682125895252859333335826988784835729724452582708515611881552799605855645494817648379419959828798507809795112400710952565699137843622146505701393161554442856875558679805749316481380399553468671772858984912462129734857066653682787082225355846828449969999368983661838137994272947320369215523848542191737717871671367583560093456223818455216609401997032383120128176497461949107214421200205640246930896570566485429045373166825614271823853867621073058538279238699914325642902225394601913278358100811124304802359133524785151331925998155001651052167386564367039680690160802451811171565698252908809230491313387504168520992829009689079983615444343492934280913637908124339176217582186390531272003330055064478786888252280857363669522573630617794126862303084836910578713188110676414719285867931484043096054201868092192573287848287800244537046877052904250823980568644225065396201502836944590791305479488889489298069868216220600573164600353744473085758235498423899888083939933297771247265118971245547893017245532288783897190223585942233183467946147511113026312438602317463491826553676378790678556694884792135011731958714063950311279529254776898461753985795790309092702347782752118259640080399 179596553280192445979262463710650208869913901394834512556038291078151117577205732708540467283821650494642058778675936508505782742635523159882000007793548594510611195758057180469988366616711555302606833355533690452475027852273429095891246207873128872307964866270677745804633326616947051958355624387757668797907629409371765152053365500612294369933100416929810699578455039538349560685535004784840883920920512469166232182381711390692415338776242820544236735870081201285987014235464586078640964008105929697499067401860757062319220684637469137728532754066953844344333833579391704661980317490585784316923642874680200823858962129445234081767139641401395031712418088470900159463415461357298667705712575414412151188535318110061716822044317234763052817353986575383235119363833138648802769491493713927267097474559689093629258180640007755504482568790852372855198187134617322457377235805241300369823142963860935480601252295272290194576103685140741132880618557960028574231074397933147532374246043628704731672363499212787316131368336483397970459477192290817350880667126210519595930655355218453116102729347529296334335785545596896524896712916876974388719058724964218300979582493430642741934818187301854614463545536330607313463043003661770688308768017683483451664245164480813286632188323964012464360153412888840361030556649037417976992035624816316121403590141029848636475083521098040359629958055076733484426934559384890035587264514300546486239445566029808069856579055808154374935604244746356728051735568050960970266104094016042829609233078825970584137309979753059062713461338593761331870769488173456328138206544303500677598705570236527941529890439412046279343989495558544766288724089891520889197810232315983333038905201608530533274504504685170718556213411625256639259373930891017349989578263608769308313807526001521423298310635160401938693515610024503900179084362946630080083973884010255176897610552518491336084995971521632237399761142858021563380814168712890416574178997318258984786271669768762833924175503671669294576193342549757041694239518085840517045649510483004799176821538695100211996715313411654996162389755210117539339189791080405657240334364642877334403213842714590411914195634524135721193295649654282026636186356493805832396745778253177156116900922346431601522600354181410668648076759374836539047703853224292350168043995418235690105202884135305450176696732551742039985467774784787271522155000621758544758192254114932165583251631524963332467195237460434395844390006680932156690597711771134864810590762707821035300135047002622421999740332429128467915098501066091980398756395635869237085405685302109885190732927474001229697597008963085817460542365209442439083141073910129077279138162990515589381038104773786119622148231593112366710248586142373990394648345150465671189288103826700990283257500794199638832966532958725443209066436933960275580361150353403350588519547773312391312627868740386420059504739584026140516564398596504514649404507970987211713802554747194915191790192159624070817838123104087455200587977745705139212316743388545077582365893238958723202160453192712141035020511616831232368752000630004134103569671618540738408996980199312662255669136950864148590305165200275572295018032346346330787666270840896683328145229822636207286014508086471627940050385913236900529457723194891522 290593327469682794835417515443390105031261439892476162930760357756440147851936655200120308665140757126681734127544356683740671147316439277416990909556948171717098894144474637881908416783208529058739182430902902311517159958520331040021294712178496566024976924311088595406495272921888458139041444208946560113232113720825478143753706143947494365464077810918478968727822077366572759860208862407553228893477688269840410218028469755567701321070230718336718852066862746376783056433540644645590987843595185220342330861813218459820652883022776658142391376460392519952387483546834073315608833959459344732965821896135621131298079304071693198376173674973224141999491349623504663287274161478620643060409173919731229136041861179265612141494534881074049779103649556948787592554805879009156992927769921488255249145506747369881961579207511387436517743162829821317755628154742814011775345254348009484279323930436875645012537060126834370627839947295340808411207713785138292199535866507311975815794603173547955768159838072410277658576885437178339726420558200789575713714609726189064128728031107966411200855431692508358928258355111088831247606870765602950224009038734650957315592833033322272926418478813915315495972375475854329829086902820810085633867814030241539964879230120889438384710931680530853820287485388333342892083565050606418852748405158579924010708696475363110443079867949532267825614246151593764985562937522834747093395536305774852413110922648065539599372493502242219249606329204360172315036427615511537059538433571365435123018632024295584798466957859400592730024151675184477430430296847921276313707121299540585355778667681031054961858233308616702024269028680451327338003211541399604924433937322455575904022330030286535882983957574687199724779598708987245959386443539554226695317547693739604060883675103381790487426927224971897773993055507130259740204964705858492017502768774964372142490471893053512311579388673987319488920358768756895861899646717354805449749697648372004589345635691373693330939340827056682145350992084963246815782938451750323459120770524904766919885029491028213427171399018268384630586541225799665234442650413741484229119200372601786985922358326471964713801490169630538841675069614110825143996151606206543349311477391020778263406623739593155965457229740090474397393240755236092516375626083277262630173730275302343787989966360661297005146702551111023647305912779060218842524216145607086949929971986603533166811724981187150922411846862431428227510134857429618639704926192335070450837693604391601785564092375789247614012156282996088988157039345330680313082038538094631687318963660210696315037729833134754482748340889083972462193417376829003450180754600289879730949334556213842289847335265099507126316752585941376399328569757818333887582626064103579313627280044283176673788772797529693897445319846977724066430106456533906198155277215706435425430126486500501989042588026254351543547835638228008608756971884352802449649045017864264618053378727763559416855588361126907762428914409566944090077275815573355432917316553145431326838978997194221626060341276652074332791758881950203614299893647249666392353568808764324351230163667258809766782163263302750907768657026829248673808710903041215579801282572855397392095541102165462062912969840457423730359478615584683281575982834971921 470189880749875240814679979154040313901175341287310675486798648834591265429142387908660775948962407621323792906220293192246453889951962437298990917350496766227710089902531818351896783399920084361346015786436592763992187810793760135912540920051625438332941790581766341211128599538835510097397068596704228911139743130197243295807071644559788735397178227848289668306277116904922320545743867192394112814398200739006642400410181146260116659846473538880955587936943947662770070669005230724231951851701114917841398263673975522139873567660245795870924130527346364296721317126225777977589151450045129049889464770815821955157041433516927280143313316374619173711909438094404822750689622835919310766121749334143380324577179289327328963538852115837102596457636132332022711918639017657959762419263635415522346620066436463511219759847519142941000311953682194172953815289360136469152581059589309854102466894297811125613789355399124565203943632436081941291826271745166866430610264440459508190040646802252687440523337285197593789945221920576310185897750491606926594381735936708660059383386326419527303584779221804693264043900707985356144319787642577338943067763698869258295175326463965014861236666115769929959517911806461643292129906482580773942635831713724991629124394601702725016899255644543318180440898277173703922640214088024395844784029974896045414298837505211746918163389047572627455572301228327249412497496907724782680660050606321338652556488677873609455951549310396594185210573950716900366771995666472507325642527587408264732251710850266168935776937612459655443485490268945809301199785021377604451913665603041262954484237917558996491748672720662981368258524238996093626727301432920494122244169638438908942927531638817069157488462259857918280993010334243885218760374430571576684895811302508912374691201104903213785737562385373836467508665531634159919289327652488572101476652785219549040101024411544848396575360195619556888681501626778459242713815430245222023928694966630989375617305460136527255114844498725976721544334634720288510022456537590840504770281007909566096706568186128425423886712429923380792976296435917204573632441494147141469453565015479121389136201041062376627997124693766260034970719268392851780182508100012375746057255644197934380307546086024757488057583921501143045470000130072631564079479307569612798217725693538033893192850495966747181843435102853063632773687563847490364679216767365631708122226101535698750063356506150483389607084322865824071900141538361775330302637963469935261428456312212637085699139378411669613752488712124556903255540411422660711838434173963868772724648962320581505770657307135984180345349852169789922735782586271442533321828510418957010087497546729431670885440038885626748464984179053743109577155900192324282230971214569250502915383870984166957046273591729332730411852805703167275496543390494181778516427569109786013949674259812893301670456766640771603052575222254149125321370480857317099053552988851476331855933474958474608645780520750978580267037513654399290665253561278494645234059941690508909204872236152944828220794469364215367812270498781435983051894277253800495923240427305062760227143866571472022451300214166899498073822227104820968826743249387546367467553413752080720240770924801669348927477926929051670409864528821583811033706029863443 760783208219558035650097494597430418932436781179786838417559006591031413281079043108781084614103164748005527033764649875987125037268401714715981826907444937944808984047006456233805200183128613420085198217339495075509347769314091175933835632230122004357918714892854936617623872460723968236438512805650789024371856851022721439560777788507283100861256038766768637034099194271495080405952729599947341707875889008847052618438650901827817980916704257217674440003806694039553127102545875369822939695296300138183729125487193981960526450683022454013315506987738884249108800673059851293197985409504473782855286666951443086455120737588620478519486991347843315711400787717909486037963784314539953826530923253874609460619040468592941105033386996911152375561285689280810304473444896667116755347033556903777595765573183833393181339055030530377518055116512015490709443444102950480927926313937319338381790824734686770626326415525958935831783579731422749703033985530305158630146130947771484005835249975800643208683175357607871448522107357754649912318308692396502308096345662897724188111417434385938504440210914313052192302255819074187391926658408180289167076802433520215610768159497287287787655144929685245455490287282315973121216809303390859576503645743966531594003624722592163401610187325074172000728383665507046814723779138630814697532435133475969425007533980574857361243256997104895281186547379921014398060434430559529774055586912096191065667411325939149055324042812638813434816903155077072681808423281984044385180961158773699855270342874561753734243895471860248173509641944130286731630081869298880765620786902581848310262905598590051453606906029279683392527552919447420964730512974320099046678106960894484846949861669103605040472419834545118005772609043231131178146817970125803380213358996248516435574876208285004273164489610345734241501721038764419659494292358347064118979421560183921182591496304598360708154748869606876377601860395535355104613462147600027473678392615002993964962941151510220586054185325782658866895326719683535325805394989341163963891051532814333016591597677156638851058111448191765423562837661716869808075091907888625698572765388080908375058559367534341341798614863396798876645788882503676924178659706218919095368733035218712643714169825617913453514813661591617442863240885308724080455105390846875428391455968840377681182816856628044186990137653964087280079600342907709207203432912972718658052198088139231916875081487337634312018931185297252299410276395791393970007564155805005712266149916604238871263231754200917227764644995120645891412579756753341024920472712058500460043612622531277820808387140270738663093690741253762384929199963100445983502583110708836741036832102943273960732775303985133874781736764995119508905725658010658169813597278672829816542663915267343630835046389259026627857172652680891341926649847028087976671704784816221439379800746313395290713044792895123146600410860482157734078342365210119548702598006715740949909312202722034025501368881877886342695951923221343380742529376851850078151376494835940236043851233347166454281135746016289700604029380731639597351787924503466888276809236069387111457307533830281789233463477469650405842479253934069642635454152428761947268835986607478112336312026967131411840447767386475400769343144406267092609688864835364 1230973088969433276464777473751470732833612122467097513904357655425622678710221431017441860563065572369329319939984943068233578927220364152014972744257941704172519073949538274585701983583048697781431214003776087839501535580107851311846376552281747442690860505474621277828752471999559478333835581402355017935511599981219964735367849433067071836258434266615058305340376311176417400951696596792341454522274089747853695018848832048087934640763177796098630027940750641702323197771551106094054891546997415056025127389161169504100400018343268249884239637515085248545830117799285629270787136859549602832744751437767265041612162171105547758662800307722462489423310225812314308788653407150459264592652672588017989785196219757920270068572239112748254972018921821612833016392083914325076517766297192319299942385639620296904401098902549673318518367070194209663663258733463086950080507373526629192484257719032497896240115770925083501035727212167504690994860257275472025060756395388230992195875896778053330649206512642805465238467329278330960098216059184003428902478081599606384247494803760805465808024990136117745456346156527059543536246446050757628110144566132389473905943485961252302648891811045455175415008199088777616413346715785971633519139477457691523223128019324294888418509442969617490181169281942680750737363993226655210542316465108372014839306371485786604279406646044677522736758848608248263810557931338284312454715637518417529718223900003812758511275592123035407620027477105793973048580418948456551710823488746181964587522053724827922670020833084319903616995132213076096032829866890676485217534452505623111264747143516149047945355578749942664760786077158443514591457814407240593168922276599333393789877393307920674197960882094403036286765619377475016396907192400697380065109170298757428810266077313188218058902051995719570709010386570398579578783620010835636220456074345403470222692520716143209104730109065226433266283362022313814347327277577845249497607087581633983340580246611646747841169029824508635588439661354403823835827851526932004468661332540723899113298165863285064274944823878115146216539134097634074381707533402035767168026330403560029764194760408596717969795739557163058911616508150896528704361167806231294841425988679416647024021715911642670941572397583092760488333241015381355644534584698416488226609181662378411574375667352594791368833572756817150912853287906755199571882649680338350366174424189674930666938437993488117701626015508163076371310417934153169300310202119274940973694606228816875956962371132612586841517133707245202794668120168176001736758906886022369232768261584851859326579044447406722843439040593423552307664982549371888516824411621127793751124329649672705631618215342870760623246720944048862618482881558202982452044568493242080319458047786251510587881319980988359358269025458384058617423193237522269755188132353926007453329475006126288592383501559535894749652986082736306859399712846067436647756150995567217281765245677680508634147149402628864922962989436875742671407782938130344723385436436526449145248723469500111282501930215380505068416299879513075580403682201757267384200049663374449871684451400401753811684763691636549903916301481038890611462197401816308314736389400359558832577082951768800760767925694315527071179207673227850903643394894698807 1991756297188991312114874968348901151766048903646884352321916662016654091991300474126222945177168737117334846973749592944220703964488765866730954571165386642117328057996544730819507183766177311201516412221115582915010883349421942487780212184511869447048779220367476214446376344460283446570274094208005806959883456832242686174928627221574354937119690305381826942374475505447912481357649326392288796230149978756700747637287482949915752621679882053316304467944557335741876324874096981463877831242293715194208856514648363486060926469026290703897555144502824132794938918472345480563985122269054076615600038104718708128067282908694168237182287299070305805134711013530223794826617191464999218419183595841892599245815260226513211173605626109659407347580207510893643320865528810992193273113330749223077538151212804130297582437957580203696036422186706225154372702177566037431008433687463948530866048543767184666866442186451042436867510791898927440697894242805777183690902526336002476201711146753853973857889688000413336686989436636085610010534367876399931210574427262504108435606221195191404312465201050430797648648412346133730928173104458937917277221368565909689516711645458539590436546955975140420870498486371093589534563525089362493095643123201658054817131644046887051820119630294691662181897665608187797552087772365286025239848900241847984264313905466361461640649903041782418017945395988169278208618365768843842228771224430513720783891311329751907566599634935674221054844380260871045730388842230440596096004449904955664442792396599389676404264728556180151790504774157206382764459948759975365983155239408204959575010049114739099398962484779222348153313630077890935556188327381560692215600383560227878636827254977024279238433301928948154292538228420706147575054010370823183445322529295005945245840953521473222332066541606065304950512107609162999238277912369182700339435495905587391405284017020741569812884857934833309643885222417849169451940739725445276971285480196636977305543187763156968427223215150291294455334988074087359161633246516273168432552384073538232129889763540441703126002935326306911640101971759350944189782625309924392866599095791640938139253319776131059311594354420559857788262297033400205628539827512450213936794721714635359667735885737260584395087211244684377931196481900690079724989690089263363655000637631218789255558484209222835555823710410781238192932888249662908779086082593311069024226622277814162583813519480825752013644946693460328670720694329944563270317766275079946685960756145421114828225602886813504069281778702365848686080699924929342761679379598080869692811874207383137147387431587677461506532731334677314692594182512472334500326994731836630492161161752615979592350990646855894498028457709043982127388607216213640621858165771914910136000711701518854218716366370247385986126198111064949959349843084550357731859837138742228892709275752439683883096546352431017896253396943218464593478055211277556196458749002282958231674557880402542659648518284506751265658941360097086052150312314982194801536812931362389381292574702847277736783065961396794769020329260244715177755470126260734272476858899443836983141758934232035600918227169106200309758780734972960254097651554245070262005225386967036944913394978735932172608373461702002471948550817634117996253083759534171 3222729386158424588579652442100371884599661026113981866226274317442276770701521905143664805740234309486664166913734536012454282891709130018745927315423328346289847131946083005405209167349226008982947626224891670754512418929529793799626588736793616889739639725842097492275128816459842924904109675610360824895395056813462650910296476654641426773378124571996885247714851816624329882309345923184630250752424068504554442656136314998003687262443059849414934495885307977444199522645648087557932722789291130250233983903809532990161326487369558953781794782017909381340769036271631109834772259128603679448344789542485973169679445079799715995845087606792768294558021239342538103615270598615458483011836268429910589031011479984433481242177865222407662319599129332506476337257612725317269790879627941542377480536852424427201983536860129877014554789256900434818035960911029124381088941060990577723350306262799682563106557957376125937903238004066432131692754500081249208751658921724233468397587043531907304507096200643218801925456765914416570108750427060403360113052508862110492683101024955996870120490191186548543104994568873193274464419550509695545387365934698299163422655131419791893085438767020595596285506685459871205947910240875334126614782600659349578040259663371181940238629073264309152363066947550868548289451765591941235782165365350219999103620276952148065920056549086459940754704244596417542019176297107128154683486861948931250502115211333564666077875227058709628674871857366665018778969261178897147806827938651137629030314450324217599074285561640500055407499906370282478797289815650651851200689691913828070839757192630888147344318063529165012914099707236334450147646141788801285384522660159561272426704648284944953436394184023351190579303847798181163971961202771520563510431699593763374056107030834661440390968593601784875659522494179561578817061532380018336559891570250990861627976537736884778917614967000059742910168584440162983799268017303290526468892567778270960646123434374803716268392244974799930043774649428491182997461098043205172901213716614262131243187929403726767400947759204422057856641105856985018571490158711960160034625426195200967903448080184727777281390093977722916699878805184296734332900995318681508778220710394052006691757601648903255336659608827777138419529722916071435369524274787679851881609819293597200829934151561817626924657283167598389105786176156418108350968732273649419390401046467489093250751957474313869715270962201623405042031112264097732570627968394354887659655362374237990785187974019426090910798912409611051480748820093105344498438286484103238925580135792234996473966476035084184349971771928100867000259165061844223017151406352964424243285491402288685223969205989726655121275178653092844745871488774416623073902734265156990455458759487770364806597686351235745344395223569449008576773036322072627487047969492668236346038750758565972475480047911966912645906383025954771452877768057344992844214899997850175513439803558083051293795667687135616188621930796972828723558095253112539524922249367888838526541298172347389019284996176777299837436629139757790758159152328018001656676908562818286854826210334633789412602990860742750213675082216011850865559848956061378576741614787326595777490477930504732933376299156017529543127758490861968899896478654232978 5214485683347415900694527410449273036365709929760866218548190979458930862692822379269887750917403046603999013887484128956674986856197895885476881886588714988407175189942627736224716351115403320184464038446007253669523302278951736287406800921305486336788418946209573706721505160920126371474383769818366631855278513645705337085225103876215781710497814877378712190089327322072242363666995249576919046982574047261255190293423797947919439884122941902731238963829865313186075847519745069021810554031584845444442840418457896476222252956395849657679349926520733514135707954743976590398757381397657756063944827647204681297746727988493884233027374905863074099692732252872761898441887790080457701431019864271803188276826740210946692415783491332067069667179336843400119658123141536309463063992958690765455018688065228557499565974817710080710591211443606659972408663088595161812097374748454526254216354806566867229973000143827168374770748795965359572390648742887026392442561448060235944599298190285761278364985888643632138612446202550502180119284794936803291323626936124614601118707246151188274432955392236979340753642981219327005392592654968633462664587303264208852939366776878331483521985722995736017156005171830964795482473765964696619710425723861007632857391307418068992058748703559000814544964613159056345841539537957227261022014265592067983367934182418509527560706452128242358772649640584586820227794662875971996912258086379444971286006522663316573644474861994383849729716237627536064509358103409337743902832388556093293473106846923607275478550290196680207198004680527488861561749764410627217183844931322033030414767241745627246743280548308387361067413337314225385703834469170361977600123043719789151063531903261969232674827485952299344871842076218887311547015213142343746955754228888769319301947984356134662723035135207850180610034601788724578055339444749201036899327066156578253033260554757626348730499824934893052554053806858012153251208757028735803440178047974907937951666622137960684695615460125091224499109637502578542159094344559478341333766100687800363373077692944168470526950694530728969496743077616335962761272784021884552901224521986841906042701399960858836592984448398282774488141102217696939961440822831131722715015432108687366359493487386163839731746820072461516350726204816761515094513964876943215536610456924815990085492635771040462480480993578379627298719064406081017130054814866960488414627668745303255834565476955139621728915908895083733712751806594042295840945734669434834345616118519659105613413576906239594980080691111976900166829520018034687260117666082184108618392009999618133621353907622761645856504503262778181692853347574316557517478401084801054735446653154904664816320196636582549619303636362136826873260095990630263695760900037071900591459471189289219025314052721483131330521421680513958536122879406622985218907806631410465238748026511005656358576594264397930542159779969173236046355823268622549040673649000133133745114361438485593953444185971642367454280872157069914775708407568094734326459062299251227907833872875194666756068062138174094606456958400002505935914622454278735929153767462262123837967969268865825013521218029848950523433862950984811119657500510306448838746840174293632722403872909240665105984672617719532015076309308496086896149562413767149 8437215069505840489274179852549644920965370955874848084774465296901207633394344284413552556657637356090663180801218664969129269747907025904222809202012043334697022321888710741629925518464629329167411664670898924424035721208481530087033389658099103226528058672051671198996633977379969296378493445428727456750673570459167987995521580530857208483875939449375597437804179138696572245976341172761549297734998115765809632949560112945923127146566001752146173459715173290630275370165393156579743276820875975694676824322267429466383579443765408611461144708538642895476476991015607700233529640526261435512289617189690654467426173068293600228872462512655842394250753492215300002057158388695916184442856132701713777307838220195380173657961356554474731986778466175906595995380754261626732854872586632307832499224917652984701549511677839957725146000700507094790444623999624286193186315809445103977566661069366549793079558101203294312673986800031791704083403242968275601194220369784469412996885233817668582872082089286850940537902968464918750228035221997206651436679444986725093801808271107185144553445583423527883858637550092520279857012205478329008051953237962508016362021908298123376607424490016331613441511857290836001430384006840030746325208324520357210897650970789250932297377776823309966908031560709924894130991303549168496804179630942287982471554459370657593480763001214702299527353885181004362246970959983100151595744948328376221788121733996881239722350089053093478404588094994201083288327364588234891709660327207230922503421297247824874552835851837180262605504586897771340359039580061279068384534623235861101254524434376515394087598611837552373981513044550559835851480610959163262984645703879350423490236551546914186111221669975650535451145924017068475518976415913864310466185928482532693358055015190796103114003728809635056269557095968286156872400977129219373459218636407569114661237092494511127648114791934952795464222391298175137050476774332026329909070615753178898597790056512764400964007705099891154542884286931069725156555442602683514234979817302062494616265622347895237927898453735151027353384183473320981332762942733844712935849948182042873946149480145586613874374542376005691188019907401993674294341818149813231493236142502739373051251089035067095068406428900238654770255927732832950464038239664623067418220276218413190915426787332858089405138276745978016404505240562499125481023547140609907805028715212792349085317434429453491444186871096707138754782918858140028411573703063789722005271480893897096398601550925665685890879603521587951647578340111140031758555952566287347543972145791853130095320383657845830206476275190879048693112512636160780534629807437765478978732144557193350040289402626309204740578815015229671619131584765046886769663634302228891046918230677059583831911739072718876674916645249962967112895915728695612705955776124078701584786777269571628834056642176364843188066162995128007499233591325967541884888548997983309258554164996568645247239853658777983642902802954042743499266502821207273851381311667140066434375171047542055775353058314951394443893587539760296694073774782296737585830676025080410692794179603499614426124208890591700737108945166996661985217349466367827415488454961620228499894350839745398039360971773737061558204067799358055796046041068000127 13651700752853256389968707262998917957331080885635714303322656276360138496087166663683440307575040402694662194688702793925804256604104921789699691088600758323104197511831338477854641869580032649351875703116906178093559023487433266374440190579404589563316477618261244905718139138300095667852877215247094088605952084104873325080746684407072990194373754326754309627893506460768814609643336422338468344717572163027064823242983910893842567030688943654877412423545038603816351217685138225601553830852460821139119664740725325942605832400161258269140494635059376409612184945759584290632287021923919191576234444836895335765172901056787484461899837418518916493943485745088061900499046178776373885873875996973516965584664960406326866073744847886541801653957803019306715653503895797936195918865545323073287517912982881542201115486495550038435737212144113754762853287088219448005283690557899630231783015875933417023052558245030462687444735595997151276474051985855301993636781817844705357596183424103429861237067977930483079150349171015420930347320016934009942760306381111339694920515517258373418986400975660507224612280531311847285249604860446962470716540541226716869301388685176454860129410213012067630597517029121800796912857772804727366035634048381364843755042278207319924356126480382310781452996173868981239972530841506395757826193896534355965839488641789167121041469453342944658300003525765591182474765622859072148508003034707821193074128256660197813366824951047477328134304332621737147797685467997572635612492715763324215976528144171432150031386142033860469803509267425260201920789344471906285568379554557894131669291676122142640830879160145939735048926381864785221555315080129525240584768747599139574553768454808883418786049155927949880322988000235955787065991629056208057421940157371302012660002999546930765837038864017485236879591697757010734927740421878420410358545702564147367694497647252137476378614616869845848018276198156187290301685531360762133349248663728086836549456678650725085659623165224982379041993924433648267315649787162161855568745917989862857989343315292063708454849148265879996850127261089656944094035726755729265837074470168884779988850880106445450467358990774288465676161009619690614255782640980944954208251574611426739410744576421230934800153248972700171120982132549594465558552204541566282954830733143229181000919423103898551885619270324357643703224304968580142611078362007570396219656383958095604919882911384593113173102779991790872467534725452182324252519437733224556350887599413556202012015127831905280870960294633564851814407860129174719018673618648471456162364155791471263716674291280607476062980778453657230385965860210477338052108208522566533714178797712098014856609599262891754359882451377366498492391680755677150465424534339300791638377701866348802857225791794202008005438066930476925649018795135318597924863582755489166823534803780577285192633236440762773730225942964301243545589414594590090925562197998116443003668526435054239200684039630420351097183675111112658274974910389302008177840373966391294342209043922736722531421120453125489050350545939762802629988397236575473514984443487342534530762148872365439439645426920440651260542808117981473104874849976674276254235295135913861222298223748986063145345644391456593573280377107854142692195603481767276 22088915822359096879242887115548562878296451841510562388097121573261346129481510948096992864232677758785325375489921458894933526352011947693922500290612801657801219833720049219484567388044661978519287367787805102517594744695914796461473580237503692789844536290312916104714773115680064964231370660675821545356625654564041313076268264937930198678249693776129907065697685599465386855619677595100017642452570278792874456192544023839765694177254945407023585883260211894446626587850531382181297107673336796833796489062992755408989411843926666880601639343598019305088661936775191990865816662450180627088524062026585990232599074125081084690772299931174758888194239237303361902556204567472290070316732129675230742892503180601707039731706204441016533640736269195213311648884650059562928773738131955381120017137900534526902664998173389996160883212844620849553297911087843734198470006367344734209349676945299966816132116346233757000118722396028942980557455228823577594831002187629174770593068657921098444109150067217334019688252139480339680575355238931216594196985826098064788722323788365558563539846559084035108470918081404367565106617065925291478768493779189224885663410593474578236736834703028399244039028886412636798343241779644758112360842372901722054652693248996570856653504257205620748361027734578906134103522145055564254630373527476643948311043101159824714522232454557646957827357410946595544721736582842172300103747983036197414862249990657079053089175040100570806538892427615938231086012832585807527322153042970555138479949441419257024584221993871040732409013854323031542279828924533185353952914177793755232923816110498658034918477771983492109030439426415345057406795691088688503569414451478489998044005006355797604897270825903600415774133924253024262584968044970072367888126085853834706018058014737726868951042592827120293149148793725296891800141399007639783817764338971716482355734739746648604026729408804798643482498589454362427352162305692788463258319279481265735147246735163489486623630870324873533584878211364717992472205229764845369803725735291925352605608937639958946382747602001031024203511444562977925426798669489573978772924418350927653935000360252032064341733533150294156864180917021684288550124459130758185701487717114166112461995665456298029868559677872938825891238060282427416022590444206189350373051009361642371916346210436756641290757547070335660107729545531079268092101909148180304024685099170887954005200345814046604617289651088498011222317644310322352664093140797014278356159080307453298410616678757570966761839898155152803461986200240314750777229571214758803706336301583324393811994674938453306269457053644536279079078372846638118586738015960332012692910942269291364896899001889200959100461266392596170111523265520724037235088168641529682685295932543408386689137530866920884680354712180439892761914710864014210630819358879567868408321581050148914026689878617127616918292105959429251044823005920557632810450746996099752262222691431622884447923893289198334740086478065155401774241413210509282029221685633531360776584214970278778306774178768076883494244133479523099324062172018872211100815119512422945223556328475865053865769635811032351997651753284978135090092199443042103669723750097534089722192574588731461184706616165193655131484444907212198488241644549767403 35740616575212353269211594378547480835627532727146276691419777849621484625568677611780433171807718161479987570178624252820737782956116869483622191379213559980905417345551387697339209257624694627871163070904711280611153768183348062835913770816908282353161013908574161010432912253980160632084247875922915633962577738668914638157014949345003188872623448102884216693591192060234201465263014017438485987170142441819939279435527934733608261207943889061900998306805250498262977805535669607782850938525797617972916153803718081351595244244087925149742133978657395714700846882534776281498103684374099818664758506863481325997771975181868569152672137349693675382137724982391423803055250746248663956190608126648747708477168141008033905805451052327558335294694072214520027302388545857499124692603677278454407535050883416069103780484668940034596620424988734604316151198176063182203753696925244364441132692821233383839184674591264219687563457992026094257031507214678879588467784005473880128189252082024528305346218045147817098838601310495760610922675255865226536957292207209404483642839305623931982526247534744542333083198612716214850356221926372253949485034320415941754964799278651033096866244916040466874636545915534437595256099552449485478396476421283086898407735527203890781009630737587931529814023908447887374076052986561960012456567424010999914150531742948991835563701907900591616127360936712186727196502205701244448611751017744018607936378247317276866455999991148048134673196760237675378883698300583380162934645758733879354456477585590689174615608135904901202212523121748291744200618269005091639521293732351649364593107786620800675749356932129431844079365808280130278962110771218213744154183199077629572597773461164681023683319981831550296097121924488980049650959674026280425310066243225136718678061014284657634788081456844605530028740491482307626727881820886060194176310041535863850050232386998786080405344025674644491500774787610549717653847837053550596607567943209352571696703413814214572283254035549855912626872135798366259787855016927007225372471653281788210594952252932022654837596750266911021053638705652634869520834396245303244609998888519812433923851240358477514809092523924582622540341926641374902805907100111703139909739291725592851872740241877528964668712926845638997012220192832021881581142648747755633327881742504871552917265633540655193176376817394693303810953850499659410703180271155750700244341483128983558925083257198639717790392431080288883689852369762504676916612578530238834707046679721009500422631806589476247632800192788717655276394060369489469795903189863230259868700457374795657528668966219060782332437832098193509465044233057115456638846224482898546407089739981389379753508601152092713460343717769962668603914946276401187700512702980830474323673634409757189546363322661122892685792779110916818410933505999332808555682941635057035231856384830726199219323115057890390648518048923730494590412420515147723736012944994216195265891217866677123648607932919618685837270153176268060049216323599811290207062059599922655118793258893015500838195299221202372544594679419285901954050569255447684615799562999765479754318477348230493305415062731473003258194561402959608194967049419716379923959045233447950944490798337717524330052260556650248704764822015066341180437248031534679 57829532397571450148454481494096043713923984568656839079516899422882830755050188559877426036040395920265312945668545711715671309308128817177544691669826361638706637179271436916823776645669356606390450438692516383128748512879262859297387351054411975143005550198887077115147685369660225596315618536598737179319203393232955951233283214282933387550873141879014123759288877659699588320882691612538503629622712720612813735628071958573373955385198834468924584190065462392709604393386200989964148046199134414806712642866710836760584656088014592030343773322255415019789508819309968272363920346824280445753282568890067316230371049306949653843444437280868434270331964219694785705611455313720954026507340256323978451369671321609740945537157256768574868935430341409733338951273195917062053466341809233835527552188783950596006445482842330030757503637833355453869449109263906916402223703292589098650482369766533350655316790937497976687682180388055037237588962443502457183298786193103054898782320739945626749455368112365151118526853449976100291498030494796443131154278033307469272365163093989490546066094093828577441554116694120582415462838992297545428253528099605166640628209872125611333603079619068866118675574801947074393599341332094243590757318794184808953060428776200461637663134994793552278175051643026793508179575131617524267086940951487643862461574844108816550085934362458238573954718347658782271918238788543416748715499000780216022798628237974355919545175031248618941212089187853613609969711133169187690256798801704434492936427027009946199199830129775941934621536976071323286480447193538276993474207910145404597516923897119458710667834704112923953109805234695475336368906462306902247723597650556119570641778467520478628580590807735150711871255848742004312235927718996352793198192329078971424696119029022384503739124049671725823177889285207604518528023219893699977994074380507580332405967126745434684432073434479443134983273377064912145006010142746339059865887222690618306843950148977704058906884905874729446211750347163084252260060246691852595176197388573713563200561190571981601220344352267942045257150150215612794947633065734877223382923306870740087858851600610509579150826057074876779404522843663059191356031559242461325611227008839758964334735907333826994537272604718577822903458253114449297603733092953944983700932751866513924833611843977411834467134364465028963918683396030738678795282180303931004269026582299871512930283603012686322407682082168786894912170014072827029580705719327253113063205760028462798833248485347047214394640090943870458738380260609804220573132761077989063575036758958120051340663641157514088601894885742729788544122605903753575225584240443230559100000682250680744650407603041293672560804984162558838715438211797125224935600871622360157008969566953165576235500853528043777366147491291356711172848216863347019186502300514624903640177965880875113246012993675018007566810154883159745635235426435705356546463691990315947528113909298300008096531826208817020577356631241423461823457736810320572236283745233454015895377473863294279144969477989279256038838812898809001278112741274319895716614682512188424977874805824095547171184698542505355255846314687937743285059248862758483593682795330982040666683372926448985514758876721843903836249266922278539668678892581302082 93570148972783803417666075872643524549551517295803115770936677272504315380618866171657859207848114081745300515847169964536409092264245686661166883049039921619612054524822824614162985903294051234261613509597227663739902281062610922133301121871320257496166564107461238125580597623640386228399866412521652813281781131901870589390298163627936576423496589981898340452880069719933789786145705629976989616792855162432753015063599893306982216593142723530825582496870712890972582198921870597746998984724932032779628796670428918112179900332102517180085907300912810734490355701844744553862024031198380264418041075753548642228143024488818222996116574630562109652469689202086209508666706059969617982697948382972726159846839462617774851342608309096133204230124413624253366253661741774561178158945486512289935087239667366665110225967511270065354124062822090058185600307439970098605977400217833463091615062587766734494501465528762196375245638380081131494620469658181336771766570198576935026971572821970155054801586157512968217365454760471860902420705750661669668111570240516873756008002399613422528592341628573119774637315306836797265819060918669799377738562420021108395593009150776644430469324535109332993312120717481511988855440884543729069153795215467895851468164303404352418672765732381483807989075551474680882255628118179484279543508375498643776612106587057808385649636270358830190082079284370968999114740994244661197327250018524234630735006485291632786001175022396667075885285948091288988853409433752567853191444560438313847392904612600635373815438265680843136834060097819615030681065462543368632995501642497053962110031683740259386417191636242355797189171042975605615331017233525115991877780849633749143239551928685159652263910789566701007968377773230984361886887393022633218508258572304108143374180043307042138527205506516331353206629776689912145255905040779760172170384422043444182456199513744220764837417460154087626484048164675461862659857979799889656473455165899970878540653562791918631190138941424585358838622482961450512047915263618859820548669041855501773795513443504004256057941102534853066310788855868247664468467461980180467992922195390552521782702840968987093959918580999459401944864770304434094161938659354164465520966300565351816207476149211355959205985531564216819915678445946471179184875741701700617028814494371385477750877477518067027643511181859722267729637246530398089498462451459681704513368065428855071855366860211326040198074513249075778602022383835331706497318297857491947770252439749472299255880291936523462027440283732588114014774320979293690369035950941219323443737216332915708869332607376574870934332717840923298009166838960869031864430464926129105507090422232070124403916204193386386021148701932521507319353158073526412636113574603190631332643201362922765781864176189166670051940270402273529583781722862679827742185242149681938872034350711601312465336108732908398215328203806890240225647846950853080282476636984532142794005127164977131745139759128435706414626784417691521872674060410131862443345804833376671014170732756309779983164777210481628583433492318094903232163310529767580332414245511953904732193283172326040476599761273978358514040876090897351480026298282474863517641840564429991611174171264166509844811137278494152541014088937344880849116140612836761 151399681370355253566120557366739568263475501864459954850453576695387146135669054731535285243888510002010613461515715676252080401572374503838711574718866283258318691704094261530986762548963407840652063948289744046868650793941873781430688472925732232639172114306348315240728282993300611824715484949120389992600984525134826540623581377910869963974369731860912464212168947379633378107028397242515493246415567883045566750691671851880356171978341557999750166686936175283682186592308071587711147030924066447586341439537139754872764556420117109210429680623168225754279864521154712826225944378022660710171323644643615958458514073795767876839561011911430543922801653421780995214278161373690572009205288639296704611216510784227515796879765565864708073165554755033986705204934937691623231625287295746125462639428451317261116671450353600096111627700655445512055049416703877015008201103510422561742097432354300085149818256466260173062927818768136168732209432101683793955065356391679989925753893561915781804256954269878119335892308210447961193918736245458112799265848273824343028373165493602913074658435722401697216191432000957379681281899910967344805992090519626275036221219022902255764072404154178199111987695519428586382454782216637972659911114009652704804528593079604814056335900727175036086164127194501474390435203249797008546630449326986287639073681431166624935735570632817068764036797632029751271032979782788077946042749019304450653533634723265988705546350053645286017097375135944902598823120566921755543448243362142748340329331639610581573015268395456785071455597073890938317161512656081645626469709552642458559626955580859718097085026340355279750298976277671080951699923695832018239601378500189868713881330396205638280844501597301851719839633621972988674122815112018986011706450901383079568070299072329426642266329556188057176384519061897516663783928260673460150164458802551024514862166640489655449269490894633530761467321541740374007665868122546228716339342388590589185384603711769622690097023847299314805050372830124534764307975510310712415724866430429215336996074634075985857278285454802795111567939006083860459416100527715057691375845502261292609641554441579496673110744638074336181349387613967493285517970218596625791132193309405110780542212056545182953743258136282794642819136699060920476788608834655645600729747246237899402584489321495478862110645546324751231648320642561136768293744631763612708782394647728726584785650463224012362605756595417862673514192397908158736078024017184745060833458199777935098089128777283570676422080374676458572753154581589097910942168712019208387018773975291035760209996248534088959536227603583653086553289444864622607090014705369359664607091104482750869054323807234680058581953686095080346034791369870651637571714446225550788341612768316088342017365029717210447418087761693630240756629939726026846928687542664306842512212316592476425711349102407926405782138358690049985860883273386558436828940328974848090322119036463277139841671585337252726991983415659114983696131797220452434679629550066830686909548206619604059128134255199760884622272305216903904510276051804087476049028928024142329710068088996421587647784459816483713769887190778835094765085547145233347111324635895412032277857544190615495359570014000338056377263355859623420517795033194138843 244969830343139056983786633239383092813027019160263070621390253967891461516287920903193144451736624083755913977362885640788489493836620190499878457767906204877930746228917086145149748452257459074913677457886971710608553075004484703563989594797052490135338678413809553366308880616940998053115351361642042805882765657036697130013879541538806540397866321842810804665049017099567167893174102872492482863208423045478319765755271745187338388571484281530575749183806888174654768791229942185458146015648998480365970236207568672984944456752219626390515587924081036488770220222999457380087968409221040974589364720397164600686657098284586099835677586541992653575271342623867204722944867433660189991903237022269430771063350246845290648222373874960841277395679168658240071458596679466184409784232782258415397726668118683926226897417864870161465751763477535570240649724143847113614178503728256024833712494942066819644319721995022369438173457148217300226829901759865130726831926590256924952725466383885936859058540427391087553257762970919822096339441996119782467377418514341216784381167893216335603250777350974816990828747307794176947100960829637144183730652939647383431814228173678900194541728689287532105299816236910098371310223101181701729064909225120600655996757383009166475008666459556519894153202745976155272690831367976492826173957702484931415685788018224433321385206903175898954118876916400720270147720777032739143369999037828685284268641208557621491547525076041953092982661084036191587676530000674323396639687922581062187722236252211216946830706661137628208289657171710553347842578118625014259465211195139512521736987264599977483502217976597635547488147320646686567030940929357134231479159349823617857120882324890797933108412386868552727808011395203973036009702505041619230214709473687187711444479115636468780793535062704388529591148838587428809039833301453220322334843224594468697318366154233876214106908354787618387951369706415835870325726102346118372812797554490560063925257274561541321287162788723900163888995313085985276355890773929572236273535472284717110791588077579990113336226557337648177878727861952108123884567989695238159368767697651845131424257282548483767070663219073795583294252384271927379679908877950790256653159609970462596749688205756538912949243667847011462734815145007391655973484576357346217758561740609284880335366799013545889754156728184473499377957889091534857792207083223294413295762713157581656641017323435338402803831108666938452116214781743490442575342315042237008603710639527407397345009069220094138449520658409046686767928902568391601311204662960427710462511191623951469079328855910663830470560321424576384562456283825491638954445170295488770114181526714820993458240011428066444603102388027601853354144527944178050207828020828741419674255969679011107799229205906377117470028032095903770340411662588706674670872784813988781384246667304077738176685211140834803997466562496940226086531120337411517111416965959380233116124163628254271586811344465688433406610200076806505568805857630584297122975354900207357923718939375913839111299032410242513205705797534998807742439362333855056381443173536096234442261372168747628124384221090462072283928066869732446245111845427708210628966476459842023889031715454782005204381151278832208918277444796968301366911173806975604 396369511713494310549907190606122661076502521024723025471843830663278607651956975634728429695625134085766527438878601317040569895408994694338590032486772488136249437933011347676136511001220866915565741406176715757477203868946358484994678067722784722774510792720157868607037163610241609877830836310762432798483750182171523670637460919449676504372236053703723268877217964479200546000202500115007976109623990928523886516446943597067694560549825839530325915870743063458336955383538013773169293046573064927952311675744708427857709013172336735600945268547249262243050084744154170206313912787243701684760688365040780559145171172080353976675238598453423197498072996045648199937223028807350762001108525661566135382279861031072806445102139440825549350561233923692226776663531617157807641409520078004540860366096570001187343568868218470257577379464132981082295699140847724128622379607238678586575809927296366904794137978461282542501101275916353468959039333861548924681897282981936914878479359945801718663315494697269206889150071181367783290258178241577895266643266788165559812754333386819248677909213073376514207020179308751556628382860740604488989722743459273658468035447196581155958614132843465731217287511756338684753765005317819674388976023234773305460525350462613980531344567186731555980317329940477629663126034617773501372804407029471219054759469449391058257120777535992967718155674548430471541180700559820817089412748057133135937802275931823610197093875129687239110080036219981094186499650567596078940087931284723810528051567891821798519845975056594413279745254245601491665004090774706659885934920747781971081363942845459695580587244316952915297787123598317767518730864625189152471080537850013486571002212721096436213952913984170404447647645017176961710132517617060605241921160375070267279514778187965895423059864618892445705975667900484945472823761562126680472499302027145493212180532794723531663376399249421149149418691248156209877991594224892347089152139943081149249309860986331164011384186636023214968939368143210520040663866284240284651998401902713932447787662711655975970614512012140443289446666868035968583300668517410295850744613199913137741065811724127980440181407857148131764643639998239420665197879096547416047785352919375573377291900262301721866692501804129806105553951844068312132762093411012991818488308986847184282919856120509024751864802274509224731026278531652671626085951714986907122078157360886308241426667786659350765409587704084801125630407179651649178653366332226982069437168839305342495434137846503664814871601033085505259521083484157489512253373374979636097481285166914987229289325104444752790006787925008229471115745728690114246044459875664848434721272631197571862512563818662746503185056074122682199388935897814829687779542467054292208015868737995099449816594235623587564888115793789534011097041602314733521599560327478295623896458983896554163888034313548761209779604921186990211947414393723969953940357294934228323438243200091531411428482929802941160398593615735921489264937654851036731802604904967038044833267145995517898239433287610003397827978102751902712252715414137942532430472101560238564152329461165169215772168680906945786053815257648567541010197392572941557740291112355254056166889259645397500563951165279170265295540800656591721884706207001114447 641339342056633367533693823845505753889529540184986096093234084631170069168244896537921574147361758169522441416241486957829059389245614884838468490254678693014180184161928433821286259453478325990479418864063687468085756943950843188558667662519837212909849471133967421973346044227182607930946187672404475604366515839208220800651340460988483044770102375546534073542266981578767713893376602987500458972832413974002206282202215342255032949121310121060901665054549951632991724174767955958627439062222063408318281911952277100842653469924556361991460856471330298731820304967153627586401881196464742659350053085437945159831828270364940076510916184995415851073344338669515404660167896241010951993011762683835566153343211277918097093324513315786390627956913092350466848122128296623992051193752860262956258092764688685113570466286083340419043131227610516652536348864991571242236558110966934611409522422238433724438457700456304911939274733064570769185869235621414055408729209572193839831204826329687655522374035124660294442407834152287605386597620237697677734020685302506776597135501280035584281159990424351331197848926616545733575483821570241633173453396398921041899849675370260056153155861532753263322587327993248783125075228419001376118040932459893906116522107845623147006353233646288075874470532686453784935816865985749994198978364731956150470445257467615491578505984439168866672274551464831191811328421336853556232782747094961821222070917140381231688641400205729192203062697304017285774176180568270402336727619207304872715773804144033015466676681717732041488034911417312045012846668893331674145400131942921483603100930110059673064089462293550550845275270918964454085761805554546286702559697199837104428123095045987234147061326371038957175455656412380934746142220122102224472135869848757454990959257303602364203853399681596834235566816739072374281863594863579900794834145251739961909498898948957407877483307604208767537370060954572045748317320327238465461964937497571709313235118260892705332671349424747115132828363456296505317019757058169856888271937374998649558579250789235966083950738569478091467325394729988076707185236507105534010113380897564982872490069006676464207252071076221927347937892382511348044877787974498206304438512529346035974041588468058260779641745471976817568288766989075703788735577987370338036246870727456469163255222919522570641618959002693698230404236420744206483878158798210201535373920074043889898067685110094689168213418812751739577746621961395139621228708647269219078040879478832749892779146915723758953321121691494551946289012386725881113564578037940063807943796358538938698368653960355416620477348246432805855678202012515605884998905045960337204835454157912392855970803830090812947788158462150284052743080425759007737987370487883033627690124707674110557615823441529964682358143825885437781437453264903440196270433112292284405280705651200631902064719524689596013777071483683930438033945514061381471051774260893608556554367363719785683015294274268629593805203815812727994833743512481621028925580259867245402756986085371431737350732320020245911033683900286901519995154776471797588811915275096334798594590833333916843896552901997407858337743324518299987255309238000649768369257588815096080055920975100179505768332316558002474213818245453560023251617380808090051 1037708853770127678083601014451628414966032061209709121565077915294448676820201872172650003842986892255288968855120088274869629284654609579177058522741451181150429622094939781497422770454699192906045160270240403225562960812897201673553345730242621935684360263854125290580383207837424217808777023983166908402850266021379744471288801380438159549142338429250257342419484946057968259893579103102508435082456404902526092798649158939322727509671135960591227580925293015091328679558305969731796732108795128336270593587696985528700362483096893097592406125018579560974870389711307797792715793983708444344110741450478725718976999442445294053186154783448839048571417334715163604597390925048361713994120288345401701535623072308990903538426652756611939978518147016042693624785659913781799692603272938267497118458861258686300914035154301810676620510691743497734832048005839295370858937718205613197985332349534800629232595678917587454440376008980924238144908569482962980090626492554130754709684186275489374185689529821929501331557905333655388676855798479275573000663952090672336409889834666854832959069203497727845404869105925297290203866682310846122163176139858194700367885122566841212111769994376218994539874839749587467878840233736821050507016955694667211577047458308237127537697800833019631854787862626931414598942900603523495571782771761427369525204726917006549835626761975161834390430226013261663352509121896674373322195495152094957159873193072204841885735275335416431313142733523998379960675831135866481276815550492028683243825372035854813986522656774326454767780165662913536677850759668038334031335052690703454684464872955519368644676706610503466143062394517282221604492670179735439173640235049850590999125307767083670361014240355209361623103301429557896456274737739162829714057030223827722270474035491568259626913264300489279941542484639557319754687356425706581267333447278885455121679431743680939540859706853629916686788752202728255626308914552130812551117077440652858562544979247223869344055536060770330101767731599507025357683623342410141540270339277712582006366913500891942054565250581618534756772061598024045290485905024515829860857994097478120613555880730804444647433478933370059112581532380750768710075667071045622352223865448721609351333488730359982646334247276106623673842718833144015921497671398383329854735179714303653446175079040031595393483761277202922961430514952396878109964110513197108657452077434930198139494352896754039933623006516836540703377029141046788799882074979496201147478048318138092388213284762227423768192722724580057205810095870883370625817951412919699905425081525453925927657979064800169410484136171441035326793947741205720131043364921625185639556726789109964718483367648753559450973214536272966252132016323573837425766912954937325835705993445669210007432417677153552247246259619674971792534494867218173717869993439770580029177164635097186065952753838238357223556676404870920649981359907785351424992131555827836879992610563811317094443777204071570754203797431548649484098681167332657760728185164834283447590253231366949635590165607630249308861662003038804232247870190609740121242387376656573362746920294499086059668721582904353644391558582166867528265506630573591326109548701170350136222810234745577006332283481837172739509359046110151745136323587809204498 1679048195826761045617294838297134168855561601394695217658311999925618745988446768710571577990348650424811410271361575232698688673900224464015527012996129874164609806256868215318709029908177518896524579134304090693648717756848044862112013392762459148594209734988092712553729252064606825739723211655571384007216781860587965271940141841426642593912440804796791415961751927636735973786955706090008894055288818876528299080851374281577760458792446081652129245979842966724320403733073925690424171171017191744588875499649262629543015953021449459583866981489909859706690694678461425379117675180173187003460794535916670878808827712810234129697070968444254899644761673384679009257558821289372665987132051029237267688966283586909000631751166072398330606475060108393160472907788210405791743797025798530453376551625947371414484501440385151095663641919354014387368396870830866613095495829172547809394854771773234353671053379373892366379650742045495007330777805104377035499355702126324594540889012605177029708063564946589795773965739485942994063453418716973250734684637393179113007025335946890417240229193922079176602718032541843023779350503881087755336629536257115742267734797937101268264925855908972257862462167742836251003915462155822426625057888154561117693569566153860274544051034479307707729258395313385199534759766589273489770761136493383519995649984384622041414132746414330701062704777478092855163837543233527929554978242247056778381944110212586073574376675541145623516205430828015665734852011704136883613543169699333555959599176179887829453199338492058496255815077080225581690697428561370008176735184633624938287565803065579041708766168904054016988337665436246675690254475734281725876199932249687695427248402813070904508075566726248318798558957841938831202416957861265054186192900072585177261433292795170623830766663982086114177109301378629694036550951289286482062167592530625417031178330692638347418343014457838684224158813157300301374626234879369278013082014938224567875780097508116574676726885485517445234596095055803530674703380400579998428542276652711231564946164290127908138515989151096626224097456328012121997671141531621363870971374995043103486045949737480908854685550009591986460519424763262116754953455045543828656662377978067645325375077198418243425975992748083441242131485822219719710233249385753667890982050441760122609430301959554166035102720279896621191834751373141084593842269311407310192825997508974088037562038006848729101836425329588280281123651102441928421110783626765420225518927796970842280992431677951182721513844416074609152099108257609251739382529450859763713368877883992864626026633025155586030961484417873841182472149753721326016042269967585522844392180947022357574454171478844372398761372998423250304875096749332845163754283442820359463396118153343320565048241118683516929604403445560409573971948132121613914140426552062864434457870286297817968017473362927953237333747888554851088015305421846732896043905816721445436546977927531102777459071478340200348009001247361377478932424679814278789653765424701528850347239316738381372940897927650495219895345903325705752243024967081537710054302651752908161341511127833002903565274484901761502729301906685167515520815868574241094478806289985446216278731209845756512100615798395175213723177291563711768387940968617294549 2716757049596888723700895852748762583821593662604404339223389915220067422808648640883221581833335542680100379126481663507568317958554834043192585535737581055315039428351807996816131800362876711802569739404544493919211678569745246535665359123005081084278569998842218003134112459902031043548500235638738292410067047881967709743228943221864802143054779234047048758381236873694704233680534809192517329137745223779054391879500533220900487968463582042243356826905135981815649083291379895422220903279812320080859469087346248158243378436118342557176273106508489420681561084389769223171833469163881631347571535986395396597785827155255528182883225751893093948216179008099842613854949746337734379981252339374638969224589355895899904170177818829010270584993207124435854097693448124187591436400298736797950495010487206057715398536594686961772284152611097512122200444876670161983954433547378161007380187121308034982903649058291479820820026751026419245475686374587340015589982194680455349250573198880666403893753094768519297105523644819598382740309217196248823735348589483851449416915170613745250199298397419807022007587138467140313983217186191933877499805676115310442635619920503942480376695850285191252402337007492423718882755695892643477132074843849228329270617024462097402081748835312327339584046257940316614133702667192796985342543908254810889520854711301628591249759508389492535453135003491354518516346665130202302877173737399151735541817303284790915460111950876562054829348164352014045695527842840003364890358720191362239203424548215742643439721995266384951023595242743139118368548188229408342208070237324328392972030676021098410353442875514557483131400059953528897294747145914017165049840167299538286426373710580154574869089807081457680421662259271496727658691695600427883900249930296412899531907328286738883457679928282575394118651786018187013791238307714993063329501039809510872152857762436319286959202721311468600910947565360028557000935149431500090564199092378877426438325076755340444020782421546287775336363826655310556032387003742990139968812615930423813571313077791019850193081239732715160980869517926036167288157046556137193731829369092521224099601830468285353502119028942962045573100957144012885465029122116589451008886243426789254676708565928778226072310240024190064915974204655363735631730920784136997745717230156063776055605380999585761428586481557099544153265266325537962703806379824604418850278074943904286177056390903602769035459431846424820984500680243488717220992858606261621372996976115108934669205716440178606489706567140654666357909204128492622365200480863779463618793959409446790553684612089955755441445620589314876509266097494927046147085634889210708483948907736132322292937539127597931849734587534696216557007113072906682589521196397757685299102111599012530572480658795837069176850663065235381366506442999339787632010419991833444463635034921395004033970227201166310460890424293425771737996665329632084321036037372549282316539588491342419871902848682411771102212798678910026963031105847146936550381950589535812297937492548105331008531063535280744528757007906364509984490895157691277831296690028409481524088431422332088963233996067806115147120860488852035043786322499147832420588354991155796352501541444591333518432899280232347953232536337673863513524264556426499047 4395805245423649769318190691045896752677155263999099556881701915145686168797095409593793159823684193104911789397843238740267006632455058507208112548733710929479649234608676212134840830271054230699094318538848584612860396326593291397777372515767540232872779733830310715687841711966637869288223447294309676417283829742555675015169085063291444736967220038843840174342988801331440207467490515282526223193034042655582690960351907502478248427256028123895486072884978948539969487024453821112645074450829511825448344586995510787786394389139792016760140087998399280388251779068230648550951144344054818351032330522312067476594654868065762312580296720337348847860940681484521623112508567627107045968384390403876236913555639482808904801928984901408601191468267232829014570601236334593383180197324535328403871562113153429129883038035072112867947794530451526509568841747501028597049929376550708816775041893081269336574702437665372187199677493071914252806464179691717051089337896806779943791462211485843433601816659715109092879489384305541376803762635913222074470033226877030562423940506560635667439527591341886198610305171008983337762567690073021632836435212372426184903354718441043748641621706194163510264799175235259969886671158048465903757132732003789446964186590615957676625799869791635047313304653253701813668462433782070475113305044748194409516504695686250632663892254803823236515839780969447373680184208363730232432151979646208513923761413497376989034488626417707678345553595180029711430379854544140248503901889890695795163023724395630472892921333758443447279410319823364700059245616790778350384805421957953331259596479086677452062209044418611500119737725389775572985001621648298890926040099549225981853622113393225479377165373807705999220221217113435558861108653461692938086442830368998076793340621081909507288446592264661508295761087396816707827789259004279545391668632340136289184036093128957634377545735769307285135106378517328858375561384310869368577281107317101994314105174263457018697509307031805220570959921711114086707090384143570138397354892583135045136259242081147758331597228883811787204966974254048289285828188087758557602800744087564327585647780205766262356804578952554032033620381907275002219982577162133279665548621404856900002083643127196469498286232772273506158105690477583455341964170169890665636699280597823898665035682959139927463689201836996165345100017698679047297648649136011729043104072452878374214618428910451498137295857176013101265624331345930645642103642233027041598515903912079776950198148118129789211220411556729275510008312386101874104583010314639227332162837293439655179711245115111341472407105007188717691738247248648372163127904856796231328341088683154679867391710606442304248495960533119466861882209822239527753275479840578044762498229752355851137528899914520586106455066510795790940478391131461401546150846543896308898092905207692822001987700564094263698224172181980622826011970751478817217079943189270727753086566418873522649361920160751971450221799926271404441963530526961215340035716014237341148284731864843712381471961462931239748652353809690215736733920124772815541350992680162389685429942550165091866799270552707876649850162395537202559307138367722073515067161281141242568780272654437090030533515078627523166955713629237575281912205525043793596 7112562295020538493019086543794659336498748926603503896105091830365753591605744050477014741657019735785012168524324902247835324591009892550400698084471291984794688662960484208950972630633930942501664057943393078532072074896338537933442731638772621317151349732672528718821954171868668912836723682933047968827350877624523384758398028285156246880021999272890888932724225675026144441148025324475043552330779266434637082839852440723378736395719610166138842899790114930355618570315833716534865977730641831906307813674341758946029772825258134573936413194506888701069812863457999871722784613507936449698603866508707464074380482023321290495463522472230442796077119689584364236967458313964841425949636729778515206138144995378708808972106803730418871776461474357264868668294684458780974616597623272126354366572600359486845281574629759074640231947141549038631769286624171190581004362923928869824155229014389304319478351495956852008019704244098333498282150554279057066679320091487235293042035410366509837495569754483628389985013029125139759544071853109470898205381816360882011840855677174380917638825988761693220617892309476123651745784876264955510336240888487736627538974638944986229018317556479354762667136182727683688769426853941109380889207575853017776234803615078055078707548705103962386897350911194018427802165100974867460455848953003005299037359406987879223913651763193315771968974784460801892196530873493932535309325717045360249465578716782167904494600577294269733174901759532043757125907697384143613394260610082058034366448272611373116332643329024828398303005562566503818427793805020186692592875659282281724231627155107775862415651919933168983251137785343304470279748767562316055975880266848764268279995823973380054246255180889163679641883476384932286519800349062120821986692760665410976325247949368648390746126520547236902414412873415003721619027566719272608721169672149647161336893855565276921336748457080775886046053943877357415376496533742369459141480199695979420752430251018797462718291728578092995907323748366424642739477387886560278366167508513558858707572319872167608524678468616526948185836492180084456573985234643895751334630113180085551685249610674051615858923607895516077606721339051287887685011699278722730674434864831646154678792209055974695570596472796463571074079895132947190973695090954027663382416510753887674720641063958725688892275683394095709498365284024217010001455028960616147893382147396782660391674819814054267172755289022437922250125011589419362863096500839288662971512880027188711619403864558308395700926978697383941867917516514594496469783491178418690950956796702886445733395857205067096913852725596503594201004344743575418310213539746006939812289996419287002160329249734040236098230548067815683418889322895146210342796676238335730061600341351368381710009558710357655283305729576031172306984834130801189178161266535729753361727940129087826035957927765260574159114596475406394564008636081110901538115980561820010069626154910215942521264768843163742552434598605181431404994636374108151890417666603773153446222224412949043390003024998211984277409361716054725721224815282464093372647682708571871209518373972497180830033266620513991796971022884389237603093460866869905935655516272297038921281814099028423548966414358859871120188249966911438795436470081470292643 11508367540444188262337277234840556089175904190602603452986793745511439760402839460070807901480703928889923957922168140988102331223464951057608810633205002914274337897569160421085813460904985173200758376482241663144932471222931829331220104154540161550024129466502839434509795883835306782124947130227357645244634707367079059773567113348447691616989219311734729107067214476357584648615515839757569775523813309090219773800204348225856984822975638290034328972675093878895588057340287537647511052181471343731756158261337269733816167214397926590696553282505287981458064642526230520273735757851991268049636197031019531550975136891387052808043819192567791643938060371068885860079966881591948471918021120182391443051700634861517713774035788631827472967929741590093883238895920793374357796794947807454758238134713512915975164612664831187508179741672000565141338128371672219178054292300479578640930270907470573656053053933622224195219381737170247751088614733970774117768657988294015236833497621852353271097386414198737482864502413430681136347834489022692972675415043237912574264796183735016585078353580103579419228197480485106989508352566337977143172676100860162812442329357386029977659939262673518272931935357962943658656098011989575284646340307856807223198990205694012755333348574895597434210655564447720241470627534756937935569153997751199708553864102674129856577544017997139008484814565430249265876715081857662767741477696691568763389340130279544893529089203711977411520455354712073468556287551928283861898162499972753829529471997007003589225564662783271845582415882389868518487039421810965042977681081240235055491223634194453314477860964351780483370875510733080043264750389210614946901920366397990250133617937366605533623420554696869678862104693498367845380909002523813760073135591034409053118588570450557898034573112811898410710173960811820429446816825723552154112838304489783450520929948694234555714294192850083171181160322394686273752057918053238827718761307013081415066535425282254481415801035609898216478283670077538729446567772030130416763522401096693903843831561953315366856275697500338735390803466434132745859813422731654308937430857267649879270897390879817878215728186848070109640341720958562889904994276440856010339983486236503054680875852183171165068882705568737077232185585610530646315659261123918329019115791351711573385676746917865616355964885231091874843465301722896057299103678096627876936486219849661034606293248724505765310051146198451023515749342935350008505200143072315704570028783939268488569602012676438184912147390254113217377925828900696370574366501493057918283119633996326100913107102320178438386259830603692311892742591992223790473341444602803171140631085102441682027720960340482540346726508600935150280771532717385738096072156078913774824098571103724232847538458624878241389760796086826963247463225262262590724312113079626062259820845336780648037945628329354837857338768657387017390020606832589718755195923751090737822712721329089465170626689003915714002656398531452835846958166901069367230453382618010494594506956277792755771474986461143224026061715525744941457958735407236908913998675388734260894948316522662272696832537173221868446821185279926440162400599234591979450722677553438281490062086753465513579499929437487394287143963596149014077348675606514086239 18620929835464726755356363778635215425674653117206107349091885575877193352008583510547822643137723664674936126446493043235937655814474843608009508717676294899069026560529644630036786091538916115702422434425634741677004546119270367264662835793312782867175479199175368153331750055703975694961670813160405614071985584991602444531965141633603938497011218584625618039791440151383729089763541164232613327854592575524856856640056788949235721218695248456173171872465208809251206627656121254182377029912113175638063971935679028679845940039656061164632966477012176682527877505984230391996520371359927717748240063539726995625355618914708343303507341664798234440015180060653250097047425195556789897867657849960906649189845630240226522746142592362246344744391215947358751907190605252155332413392571079581112604707313872402820446187294590262148411688813549603773107414995843409759058655224408448465085499921859877975531405429579076203239085981268581249370765288249831184447978079781250529875533032218863108592956168682365872849515442555820895891906342132163870880796859598794586105651860909397502717179568865272639846089789961230641254137442602932653508916989347899439981303996331016206678256819152873035599071540690627347425524865930684665535547883709824999433793820772067834040897279999559821108006475641738669272792635731805396025002950754205007591223509662009080491195781190454780453789349891051158073245955351595303050803413736929012854918847061712798023689781006247144695357114244117225682195249312427475292423110054811863895920269618376705558207991808100243885421444956372336914833226831151735570556740522516779722850789302229176893512884284949466622013296076384513544499156772931002877800633246754518413613761339985587869675735586033358503988169883300131900709351585934582059828351699820029443836519819206288780699633359135313124586834226824151065844392442824762834007976639430611857823804259511477051042649930859057227214266272043689128554451795608286860241506709060835818965676301051944134092764187991212385607418443963372186045159916690695129689909610252762551403881825482975380954166116865683576639958614217202433798657375550060272060970447735430956147001553869494074651794743586187247063060009850777590005975719578741014418351068149209359668061239145860639479178365200648306265480743477837289354352077945992401532302105599248106317810876591305248240568625187584341830585747113067300558707057244024829868367246443694997968068538560032482806435220888945765874354524769371368296643911604367541541663966457200189005877234746580613074368951497159245843345415290867044149992671476609234076430699212546646502959525245535300112556200195906093746936735799208783554984348810110952921081521728684188050210074522776444957056668750833699660855612531948438868832317249504885698912455092614557548017335235896673066525662858135554448059393063779902473379615355815621548785465868474073903556094615412016453365132793411954029242913700620293311904312910747892338876239305407691891457847079456555090997136634267251952803275177519120871049221783648040729180690741799161478011459355208303471077241799667179183550689701002286646358097306132104466690495159453526865803793735860243792208164315677765494060101461885386378193825735320411343900852493937128466343796347265407332213563060452872785145687984378882 30129297375908915017693641013475771514850557307808710802078679321388633112411422970618630544618427593564860084368661184224039987037939794665618319350881297813343364458098805051122599552443901288903180810907876404821937017342202196595882939947852944417199608665678207587841545939539282477086617943387763259316620292358681504305532254982051630114000437896360347146858654627741313738379057003990183103378405884615076630440261137175092706041670886746207500845140302688146794684996408791829888082093584519369820130197016298413662107254053987755329519759517464663985942148510460912270256129211918985797876260570746527176330755806095396111551160857366026083953240431722135957127392077148738369785678970143298092241546265101744236520178380994073817712320957537452635146086526045529690210187518887035870842842027385318795610799959421449656591430485550168914445543367515628937112947524888027106015770829330451631584459363201300398458467718438829000459380022220605302216636068075265766709030654071216379690342582881103355714017855986502032239740831154856843556211902836707160370448044644414087795533148968852059074287270446337630762490008940909796681593090208062252423633353717046184338196081826391308531006898653571006081622877920259950181888191566632222632784026466080589374245854895157255318662040089458910743420170488743331594156948505404716145087612336138937068739799187593788938603915321300423949961037209258070792281110428497776244258977341257691552778984718224556215812468956190694238482801240711337190585610027565693425392266625380294783772654591372089467837327346240855401872648642116778548237821762751835214074423496682491371373848636729949992888806809464556809249545983545949779720999644744768547231698706591121493096290282903037366092863381667977281618354109748342132963942734229082562425090269764186815272746171033723834760795038644580512661218166376916946846281129214062378753752953746032765336842780942228408374588666729962880612369848847114579002813722142250885501101583306425549893799797889428863891088521502101632612931946821111893212310706946666395235443778798342237229863617204418967443425048349948293612080107204369209491827715385310227044392433687372290379981591656296887404780968413667495000252160434751354401837304652264040543913422317025708361883933937725538451066354008483605013613201864321420648093457310821491994557794456921604205453856279459185295887470009124599662385153871901766354587096104729604261317263065797792857581419339969281623697460119379873496786983920072111570447905725688758607889911184765525221759205610376623769174315987237618516494164534527517196064695538647559610061845423973686372386803888217986489528728022999256896428951613282093552166624170366215771170415005316791683565269685983980432388329917686534940988396163279709797483558816847405086475960114138062827321749685098801911284655326370626785492694981877881369630802649122111849184423970249873792133790180429344049849746290339048507828064001485715051597568394872862518146850995170557747395668087103098910970176246886351324431839794142635236136968534554932952997920498432329532792767544608637142286096937911200645033486040392999415007017821726223698340966957728690613393444242117927894659336053864837100871379173601901405987605959450707966273233834659694476177159209466950133821294498465121 48750227211373641773050004792110986940525210425014818151170564897265826464420006481166453187756151258239796210815154227459977642852414638273627828068557592712412391018628449681159385643982817404605603245333511146498941563461472563860545775741165727284375087864853575741173295995243258172048288756548168873388605877350283948837497396615655568611011656480985965186650094779125042828142598168222796431232998460139933487080317926124328427260366135202380672717605511497398001312652530046012265112005697695007884102132695327093508047293710048919962486236529641346513819654494691304266776500571846703546116324110473522801686374720803739415058502522164260523968420492375386054174817272705528267653336820104204741431391895341970759266320973356320162456712173484811387053277131297685022623580089966616983447549341257721616056987254011711805003119299099772687552958363359038696171602749296475571101270751190329607115864792780376601697553699707410249830145310470436486664614147856516296584563686290079488283298751563469228563533298542322928131647173287020714437008762435501746476099905553811590512712717834124698920377060407568272016627451543842450190510079555961692404937350048062391016452900979264344130078439344198353507147743850944615717436075276457222066577847238148423415143134894717076426668515731197580016212806220548727619159899259609723736311121998148017559935580378048569392393265212351582023206992560853373843084524165426789099177824402970489576468765724471700911169583200307919920678050553138812483008720082377557321312536243757000341980646399472333353258772302613192316705875473268514118794562285268614936925212798911668264886732921679416614902102885849070353748702756476952657521632891499286960845460046576709362772025868936395870081033264968109182327705695682924192792294434049112006261610088970475595972379530169036959347629265468731578505610609201679780854257768644674236577557213257509816379492711801285635588854938773652009166821644455401439244320431203086704466777884358369683986563985880641249498506965465473818658091863511807022902220317199428946639325604281317618184029734070102544083383662567150727410737482754429481552798163120741183191393987556866365031776335242484134467840978264445085006227880013492368820188372801473400211974661462886347841062299138373844716547097486320894367965279810313822180395562910069598312368671048226852446022481467043527126473217122191900221092211115926596222954342548424602229385801625830275664016640228915047498051984888751241793430895524439653112111872182888947613767145931346138296128157107535869612519731278104662666486836011136751272495394751194206113021370669508986484943004084124080236465463822208040451413300423393046473248145899050403821380489528093236640621938436817680093243942449634973809820713412784595496396013909461962634493295350034735893847412543234356359344048390150529258872310337693502918416268517596185752740518585661890245498922973841298079092659990959341819732376912233607390473807700280554409604698074627112838392804721370350863773451424405472195481061577790675965317659276354094431009379853640633003870009344275816325836786638913487291391583346525103881697512981179750564144760693588934405601608557795693388719437515750223479065204908922312749888458453387836432617030181925101808390722269919822918966982482844003 78879524587282556790743645805586758455375767732823528953249244218654459576831429451785083732374578851804656295183815411684017629890354432939246147419438890525755755476727254732281985196426718693508784056241387551320878580803674760456428715689018671701574696530531783329014841934782540649134906699935932132705226169708965453143029651597707198725012094377346312333508749406866356566521655172212979534611404344755010117520579063299421133302037021948588173562745814185544795997648938837842153194099282214377704232329711625507170154547764036675292005996047106010499761803005152216537032629783765689343992584681220049978017130526899135526609663379530286607921660924097522011302209349854266637439015790247502833672938160443714995786499354350393980169033131022264022199363657343214712833767608853652854290391368643040411667787213433161461594549784649941601998501730874667633284550274184502677117041580520781238700324155981677000156021418146239250289525332691041788881250215931782063293594340361295867973641334444572584277551154528824960371388004441877557993220665272208906846547950198225678308245866802976757994664330853905902779117460484752246872103169764023944828570703765108575354648982805655652661085337997769359588770621771204565899324266843089444699361873704229012789388989789874331745330555820656490759632976709292059213316847765014439881398734334286954628675379565642358330997180533652005973168029770111444635365634593924565343436801744228181129247750442696257126982052156498614159160851793850149673594330109943250746704802869137295125753300990844422821096099648854047718578524115385292667032384048020450150999636295594159636260581558409366607790909695313627162998248740022902437242632536244055508077158753167830855868316151839433236173896646636086463946059805431266325756237168278194568686700358734662411245125701202760794108424304113312091166828775578596727700538897858736615331310167003542581716335492743514043963443605503614889779191493302516018247134153345337589967879467664795233880363783770070113389595486967575451271023810332918916114531024146095341874769383079659855413893351274521511526808710917099021022817589958798691044625878506051410235786421244238655411757926898781021872621946678112580006480040448243723222025677453737440755888083779912056202946233076099383167613451494804499381578481674635242828489020220891090306926465505148456651476337746502712422360687131316499883477364987828362577541438653154206490703064691628068521598059568884329121749445008131115290217879444511764682559777908577706221657057116111663517887362717912493381694047265342281182981000545664268468560090289841765723083216093482672857329807972342066725994191845207297347842252036675140025414770069416619592550904533410028324187208122801660525632272367321508750809109576064305293879572726309367720969255464172798721169162228333158270628703716521156044365005319571384288047071166718297601924942555911764037632713154270642128942406281298390327560440913719322442071376095153416927751549069797670585788472808473449774743627671291823519912901371933311201454627810909027384007300352072962536662776888884453468122883576824687936425069386918103296704530802905974262485727651317625018995052799913621283378773569615060579936584082524214155876064412838544398890264016584796284567881479386773052788276981309124 127629751798656198563793650597697745395900978157838347104419809115920286041251435932951536920130730110044452505998969639143995272742769071212873975487996483238168146495355704413441370840409536098114387301574898697819820144265147324316974491430184398985949784395385359070188137930025798821183195456484101006093832047059249401980527048213362767336023750858332277520158844185991399394664253340435775965844402804894943604600896989423749560562403157150968846280351325682942797310301468883854418306104979909385588334462406952600678201841474085595254492232576747357013581457499843520803809130355612392890108908791693572779703505247702874941668165901694547131890081416472908065477026622559794905092352610351707575104330055785685755052820327706714142625745304507075409252640788640899735457347698820269837737940709900762027724774467444873266597669083749714289551460094233706329456153023480978248218312331711110845816188948762053601853575117853649500119670643161478275545864363788298359878158026651375356256940086008041812841084453071147888503035177728898272430229427707710653322647855752037268820958584637101456915041391261474174795744912028594697062613249319985637233508053813170966371101883784919996791163777341967713095918365622149181616760342119546666765939720942377436204532124684591408171999071551854070775845782929840786832476747024624163617709856332434972188610959943690927723390445746003587996375022330964818478450158759351354442614626147198670705716516167167958038151635356806534079838902346988962156603050192320808068017339112894295467733947390316756174354871951467240035284399588653806785826946333289065087924849094505827901147314480088783222693012581162697516746951496499855094764265427743342468922618799744540218640342020775829106254929911604195646273765501114190518548531602327306574948310447705138007217505231371797753456053569582043669672439384780276508554796666503410851908867380261052398095828204544799679552298544277266898946013137757917457491454584548424294434657352023164917866927769650711362888102452433049269929115673844725939016751341345524288514094987360977473597923085344624055610192373484249748433555072713228172597424041626792593427180408801105020443534262141265156340462924942557665012707920461736092042214050255210840967862745242798404044008532214473227884160548981125393749543761484949065008884583130960688619295136553375309097498819213546239548833904253508400104569576103754958800495781201578808720088866317458344185614699797799376619801429896882357083648774968951417794671650091466653835424203047457801814015519825448362994213778543446943849467836556801019741055485041035971836104586762991659342272812056466146962459655667415337799255552460068186498662915968467023413931394061503264964809146559619340618876214816956482560629822988848900790275586635771330355462550814207534615016574771567514629972752106671685303237315657264887206463339684314483354665461141573654283131636128111940208035066272257732147292817825952929832545183795433971337356247144424783424181277529843800638517079095697295715393962949723987166772287087263121815016680205713595540532786233160269793959670215738175227816652733443207178402043784085724826630488344906559424596661357709314672098211085365284059001788991446526905764522866226380831507294198509898092958603749306595971755259464153127 206509276385938755354537296403284503851276745890661876057669053334574745618082865384736620652505308961849108801182785050828012902633123504152120122907435373763923901972082959145723356036836254791623171357816286249140698725068822084773403207119203070687524480925917142399202979864808339470318102156420033138799058216768214855123556699811069966061035845235678589853667593592857755961185908512648755500455807149649953722121476052723170693864440179099557019843097139868487593307950407721696571500204262123763292566792118578107848356389238122270546498228623853367513343260504995737340841760139378082234101493472913622757720635774602010468277829281224833739811742340570430076779235972414061542531368400599210408777268216229400750839319682057108122794778435529339431452004445984114448291115307673922692028332078543802439392561680878034728192218868399655891549961825108373962740703297665480925335353912231892084516513104743730602009596535999888750409195975852520064427114579720080423171752367012671224230581420452614397118635607599972848874423182170775830423450092979919560169195805950262947129204451440078214909705722115380077574862372513346943934716419084009582062078757578279541725750866590575649452249115339737072684688987393353747516084608962636111465301594646606448993921114474465739917329627372510561535478759639132846045793594789638603499108590666721926817286339509333286054387626279655593969543052101076263113815793353275919786051427891426851834964266609864215165133687513305148238999754140839111830197380302264058814722141982031590593487248381161178995450971600321287753862923704039099452859330381309515238924485390099987537407896038498149830483922276476324679745200236522757532006897963987397976999777552912371074508658172615262342428826558240282110219825306545456844304768770605501143635010806439800418462630932574558547564477873695355760839268160358873236255335564362147467240177547264594979812163697288313723515742149780881788725204631060433475738588737893761884402536819687960151747291553420781476277697939400624721200139484177644855131282365491619630388864370440637329011816436619145567137001084401348769456372662672026863642049920132844003662966830045343675855292189040046178213084871620670245019187960909979815264239727708948281723750829022710460246954765290572611051774000475929893131122243159584307837373603351851778926221602058523765748975156960048951971194591384824899988046941091583321378037219854733015210791931009086412707212759366683705741550874905013472373866654413463182477231428000044360057081260163569465331902882543360856375907825808789225032448837102465288209615575330877737559187802856474332199602620028808213688453847512622635147097804496743326524077686037883643006482298594913293288996354682421001144508487184277991311438932564913206084155159362080698076431806278380333336185736999900672900601455823192841347602320976836271494510410851032780956590403697485418320764349282382582336977472553556122474853258739672252274616559890587388265107796214222454009969750338317250413260706766989119235306864321657298368226914898172149199023980557786558077195563122044723262082553792562863164241722120361310475106574586991699089116215996224184443591714157622935955476984654980344638938373073970741061640587279064925230397558215094694377526485228693369024543536445462251 334139028184594953918330947000982249247177724048500223162088862450495031659334301317688157572636039071893561307181754689972008175375892575364994098395431857002092048467438663559164726877245790889737558659391184946960518869333969409090377698549387469673474265321302501469391117794834138291501297612904134144892890263827464257104083748024432733397059596094010867373826437778849155355850161853084531466300209954544897326722373042146920254426843336250525866123448465551430390618251876605550989806309242033148880901254525530708526558230712207865800990461200600724526924718004839258144650890494990475124210402264607195537424141022304885409945995182919380871701823757043338142256262594973856447623721010950917983881598272015086505892140009763822265420523740036414840704645234625014183748463006494192529766272788444564467117336148322907994789887952149370181101421919342080292196856321146459173553666243943002930332702053505784203863171653853538250528866619013998339972978943508378783049910393664046580487521506460656209959720060671120737377458359899674102853679520687630213491843661702300215950163036077179671824747113376854252370607284541941640997329668403995219295586811391450508096852750375495646243412892681704785780607353015502929132844951082182778231241315588983885198453239159057148089328698924364632311324542568973632878270341814262767116818446999156899005897299453024213777778072025659181965918074432041081592265952112627274228666054038625522540680782777032173203285322870111682318838656487828073986800430494584866882739481094925886061221195771477935169805843551788527789147323292692906238686276714598580326849334484605815438555210518586933053176934857639022196492151733022612626771163391730740445922396352656911293149000193391091448683756469844477756493590807659647362853300372932807718583321254144938425680136163946356301020531443277399430511707545139149744810132230865558319149044927525647377907991901833113403068040694058148687671217768818350933230043322442186178837194171711125069614219323071492839165800391833673991129255158022370794148033706837143918902959357801614802609739521963769622747193457885598517889927735385255036239473961759636597090147238846448696298826451181311334553547796563227910031895881371715907306453777964159122691613574265508864290963297505045838935934549457055286880666004644533372846258186482812467545516738611899074846473976173595191520028495638333300092616517195338280178533001056311823930880797326544756892827459164483082361352304801895829457515429382414600271903078091511013892505463211027267145918402368809219370121604352236168881916673659266307950671060371913709395292389619465991541875432085274360650913503180037972946353356956811513022740602006350666420413692656416558253805501242040341763384702001234473872068755553762106874430745997852028431894357092587867951202311771468187530574207929864526650839636634101158700973750535347264311255864839059072603895985410494522545012538825813854622146076565625182107161743686021359602464043358647237434151027868161051051777785862686414950700827271381285534999201985435271014040660763500153617728349355204993056042224008301038392058374853804517653508618371077423915746704341130743868188375515332250627575195740345628697940162065417267967405110145291306061904852413604592470485088977999964996298795909615378 540648304570533709272868243404266753098454469939162099219757915785069777277417166702424778225141348033742670108364539740800021078009016079517114221302867230766015950439521622704888082914082045681360730017207471196101217594402791493863780905668590540360998746247219643868594097659642477761819399769324167283691948480595679112227640447835502699458095441329689457227494031371706911317036070365733286966756017104194851048843849094870090948291283515350082885966545605419917983926202284327247561306513504156912173468046644108816374914619950330136347488689824454092040267978509834995485492650634368557358311895737520818295144776796906895878223824464144214611513566097613768219035498567387917990155089411550128392658866488244487256731459691820930388215302175565754272156649680609128632039578314168115221794604866988366906509897829200942722982106820549026072651383744450454254937559618811940098889020156174895014849215158249514805872768189853427000938062594866518404400093523228459206221662760676717804718102926913270607078355668271093586251881542070449933277129613667549773661039467652563163079367487517257886734452835492234329945469657055288584932046087488004801357665568969730049822603616966071295695662008021441858465296340408856676648929560044818889696542910235590334192374353633522888006658326296875193846803302208106478924063936603901370615927037665878825823183638962357499832165698305314775935461126533117344706081745465903194014717481930052374375645049386896388368419010383416830557838410628667185816997810796848925697461623076957476654708444152639114165256815152109815543010246996732005691545607095908095565773819874705802975963106557085082883660857134115346876237351969545370158778061355718138422922173905569282367657658366006353791112583028084759866713416114205104207158069143538308862218332060584738844142767096520914848585009316972755191350975705498022981065467795227705786389222474790242357720155599121427126583782843839030476396422399878784408968632060335948063239730991399085221361510876492274315443498331234298712329394642200015649279316072328763549291823728242252131621555958582915189884194542286947287346300398057281899881523881892480600753114068891792372154118640221357512766632668183898155051083842281695722570693505673107404415364403288219324537918062795618449987708549932985180011788247804117680683631789834664246471738340670422840595449133133644143491223087023158200080663458286921601556570220911044839141672728335631169600040218531166788102903179706909301831382083795877782749134506091555373949586723374596732477821284912170075746029430161025393914365510761731596160286635702791446954480192475940323741478052114082574339367350692660608093451161453554839546818288044234309426895991251329851542801855924461342907893189185512465183507688118675312958585905359932726508326163370968201287388048771368860431175663753057367998441957610937430195484161386380045267846268536544490924660334692877104881990011379369977096999335305297434381778303576608747867571839572869691444120778206478301465038492629675534186007691593038583903226116883607420213064641321286711694923912477249716318124777800863901556300096974165828128615192958069123004862920337354928311780089672955186583052180395325973336878535139388009029045697424356231292302410628699286848011574206693334020842332355077629 874787332755128663191199190405249002345632193987662322381846778235564808936751468020112935797777387105636231415546294430772029253384908654882108319698299087768107998906960286264052809791327836571098288676598656143061736463736760902954158604217978010034473011568522145337985215454476616053320697382228301428584838744423143369331724195859935432855155037423700324601320469150556066672886232218817818433056227058739748375566222137017011202718126851600608752089994070971348374544454160932798551112822746190061054369301169639524901472850662538002148479151025054816567192696514674253630143541129359032482522298002128013832568917819211781288169819647063595483215389854657106361291761162361774437778810422501046376540464760259573762623599701584752653635825915602169112861294915234142815788041320662307751560877655432931373627233977523850717771994772698396253752805663792534547134415939958399272442686400117897945181917211755299009735939843706965251466929213880516744373072466736837989271573154340764385205624433373926817038075728942214323629339901970124036130809134355179987152883129354863379029530523594437558559199948869088582316076941597230225929375755892000020653252380361180557919456367341566941939074900703146644245903693424359605781774511127001667927784225824574219390827592792580036095987025221239826158127844777080111802334278418164137732745484665035724829080938415381713609943770330973957901379200965158426298347697578530468243383535968677896916325832163928561571704333253528512876677067116495259803798241291433792580201104171883362715929639924117049335062658703898343332157570289424911930231883810506675892623154359311618414518317075672015936837791991754369072729503702567982785549224747448878868844570258226193660806658559397445239796339497929237623207006921864751570011369516471116580801653314729677269822903260467271149605540760250154621862683250637172725875600026093264105538267402315889735628147500954540529651823537897179164067640168697135342198675382778134242076925163110210290975730199563767154609298723067972703458649800222386443427349779165907468194783086043866934231295480546684812631388000172545805236228133442536936120997843652117197843261307738241068452945091402668847320180464747126065082979723653411629877147283637266527106977977553728188828881360300664288923643099390040466892454252448651053529889976317476714017255079282321915441923109307239335011251582661491500173279975482259881735103221967356663072553525662175926492867677695649870464255484508805131288897513178292383021037584183066387842092186585623999623739687280979295116151034513261562796282184420997904110957696074705156349772582095406315283353484199356934990280853872698581039804518410366352569558890050584975847309683907746409796607357166501684671277891186746939055576443672437419833016651357784754940220520463556069238590360542837047961749871682921894649281594245038588896457911921727309579102133375603563528556320103371627427002550205183831719145411870922616488940047262630107470035882931516928878271806074639352516816278492361949136708518864419869438225318869042691227105302084786865312652261832454709374167001809164939948358471827970345782123811329146546920609624678485672179968465188287437210627376135671602034818697204805276996450807569647537354207263042303879318496663184693299017141128264693007 1415435637325662372464067433809515755444086663926824421601604694020634586214168634722537714022918735139378901523910834171572050331393924734399222541001166318534123949346481908968940892705409882252459018693806127339162954058139552396817939509886568550395471757815741789206579313114119093815140097151552468712276787225018822481559364643695438132313250478753389781828814500522262977989922302584551105399812244162934599424410071231887102151009410366950691638056539676391266358470656445260046112419336250346973227837347813748341276387470612868138495967840849508908607460675024509249115636191763727589840834193739648832127713694616118677166393644111207810094728955952270874580327259729749692427933899834051174769199331248504061019355059393405683041851128091167923385017944595843271447827619634830422973355482522421298280137131806724793440754101593247422326404189408242988802071975558770339371331706556292792960031132370004813815608708033560392252404991808747035148773165989965297195493235915017482189923727360287197424116431397213307909881221444040573969407938748022729760813922597007426542108898011111695445293652784361322912261546598652518810861421843380004822010917949330910607742059984307638237634736908724588502711200033833216282430704071171820557624327136060164553583201946426102924102645351518115020004931146985186590726398215022065508348672522330914550652264577377739213442109468636288733836840327498275771004429443044433662258101017898730271291970881550824949940123343636945343434515477745162445620796052088282718277662727248840839370638084076756163500319473856008158875167817286156917621777490906414771458396974234017421390481423632757098820498649125869715948966855672113352944327286103167017291766744163795476028464316925403799030908922526013997489920423036069855777169438660009425443019985375314416113965670356988185998190550077222909813213658956135195706941067821320969891927489877106132093348303100075967656235606381736209640464062568575919751167307443114082305316656154509295512337241076056041470052797054302271415788044442422402092706665851494671017486606814286119065852851439129600002515582542459493092582528531499818836002521725544597798596375376630033440607063731624026360086813132931024220134063565935107352447840789310373931522342380841947513366799423096282738911351649323025646904242500252768734213521766152140960488993419952744756037372242440883478502474669684649700253943433769181483291673442878401502214226253997807096092907896226816658567158664215714433120279596974170165770172090274621761791678909960220732101560972193149370862180464674286956710647695182729500271244331777496603304252774571346639024831536313439509329648204565359189133255679863921192116377178094819285274205675159076261339409213090963027579171080372259404239084131791112732791602556717717481448546683834524270525978409314205908392925535435979262647723551855976019091942073308107354846948401912148054453216654796248732308992561584553808816144747176220050870718350839238855337607722504386620322392584281117653981854771122037483322716210457458453341451435752650111440169943406073577007576174309704425692291779610028841504658568802136173910739004287215669925472545015840600491748554861242623793679556530997575371697232344193286025496504994003768646509673671003166166508237391386633037983460619770636 2290222970080791035655266624214764757789718857914486743983451472256199395150920102742650649820696122245015132939457128602344079584778833389281330860699465406302231948253442195232993702496737718823557307370404783482224690521876313299772098114104546560429944769384263934544564528568595709868460794533780770140861625969441965850891088839555373565168405516177090106430134969672819044662808534803368923832868471221674347799976293368904113353727537218551300390146533747362614733015110606192844663532158996537034282206648983387866177860321275406140644446991874563725174653371539183502745779732893086622323356491741776845960282612435330458454563463758271405577944345806927980941619020892111466865712710256552221145739796008763634781978659094990435695486954006770092497879239511077414263615660955492730724916360177854229653764365784248644158526096365945818580156995072035523349206391498728738643774392956410690905213049581760112825344647877267357503871921022627551893146238456702135184764809069358246575129351793661124241154507126155522233510561346010698005538747882377909747966805726362289921138428534706133003852852733230411494577623540249749036790797599272004842664170329692091165661516351649205179573811809427735146957103727257575888212478582298822225552111361884738772974029539218682960198632376739354846163058991762266702528732493440229646081418006995950275481345515793120927052053238967262691738219528463434197302777140622964130501484553867408168208296713714753511511827676890473856311192544861657705424594293379716510857863831420724202086567724000873212835382132559906502207325387575581829552009374716921447351020128593329039804999740708429114757336441117624085021696359374681335729876510850615896160611314422021669689270975484801244270705262023943235113127429957934607347180808176480542023821638690044093383788573617455457147796090837473064435076342206772368432816667847414233997465757279422021828976450601030508185887429919633388804531702737273055093365982825892216547393581317619505803312971275619808624662095777370244119246694242644788536134015630660578485681389900329986000084146919676284815146970542632038897818756664942355772123519569196714996439636684368274509060008823026695207406993597678150285217043289588518982324988072947640458629320358395675702195680783396947027834994748713066113796696752701419787743411742469617674506248499235066671479295351748122813513726252346141200427223409251441365026776664845758165286779779659983022585775573922466529031414148724519564409177110152462548791209674457688149633771096545844731725300659474128665978331499187548519506929879603727404382202027852201759654025356666752954308185020512796444319929058438057770173060198274287544685936068145404261121515359066822671136016570257464712250448971559006343294660575463550152624619208075502236388767204298080339764568769857042956354675407118901157297005146101014607988399985229834664426050535287751617981772974899620359735995111789737640535290159047142667359658398101868962807643605435903549200664390355757006498671049614399432459424729321878322779676754621692802667275245490860442320228436142159135066458781419193781453017040630106519692862815616362216846082169694326272671717020049530061004306932666669177406515929548998563021947312563651306000716936713307045485004900576079932055124588884463643 3705658607406453408119334058024280513233805521841311165585056166276833981365088737465188363843614857384394034463367962773916129916172758123680553401700631724836355897599924104201934595202147601076016326064210910821387644580015865696590037623991115110825416527200005723751143841682714803683600891685333238853138413194460788332450453483250811697481655994930479888258949470195082022652730837387920029232680715384608947224386364600791215504736947585501992028203073423753881091485767051452890775951495246884007510043996797136207454247791888274279140414832724072633782114046563692751861415924656814212164190685481425678087996307051449135620957107869479215672673301759198855521946280621861159293646610090603395914939127257267695801333718488396118737338082097938015882897184106920685711443280590323153698271842700275527933901497590973437599280197959193240906561184480278512151278367057499078015106099512703483865244181951764926640953355910827749756276912831374587041919404446667432380258044984375728765053079153948321665270938523368830143391782790051271974946686630400639508780728323369716463247326545817828449146505517591734406839170138902267847652219442652009664675088279023001773403576335956843417208548718152323649668303761090792170643182653470642783176438497944903326557231485644785884301277728257469866167990138747453293255130708462295154430090529326864826133610093170860140494162707603551425575059855961709968307206583667397792759585571766138439500267595265578461451951020527419199745708022606820151045390345467999229135526558669565041457205808077629376335701606415914661082493204861738747173786865623336218809417102827346461195481164341186213577835090243493800970663215046794688674203796953782913452378058585817145717735292410205043301614184549957232603047852994004463124350246836489967466841624065358509497754243974443643145986640914695974248290001162907564139757735668735203889393247156528153922324753701106475842123036301369598444995765305848974844533290269006298852710237472128801315650212351675850094714892831672515535034738685067190628840681482155249503167996714616105065936998358805884817662553085091531990401285196442174608126041294741312795036012060998307949667072554650721567493806730609174505351106855523626334772828862258014390151662739237623215562480206493229766746346398036091760700939252954188521956933508621758634995241919187811427516667594189006292016200922030790900681166843020622848318450107724159667501006033657790118678683470149283187598572812940233997529456707126632714561381764732309911425450006506065463826861631667278036840511963861835476217577574786456904653446359629698362958278131238099593333016556826235953649577263003416959306315878138208736802313246240223546395721034225898932475425783348427739829620051931265747533744707254662885416221764793219717837313888132604610290547179171248864747600942554880419944728697956990627080342058537942019272998937199899672434989629695869092044987673374291449351434906223362718230376748941107818145251327940290169523056974636874660480525820736436915782140939779336776121128190374342914107445188896934019327804610451863560758750561029222622957675609432242693603601819903577886771554714710166873163465574910772684797986489197666752778213161893191849047443817557655074647226610384310211651513137967466565093108049504234279 5995881577487244443774600682239045271023524379755797909568507638533033376516008840207839013664310979629409167402825091376260209500951591512961884262400097131138587845853366299434928297698885319899573633434615694303612335101892178996362135738095661671255361296584269658295708370251310513552061686219114008994000039163902754183341542322806185262650061511107569994689084439867901067315539372191288953065549186606283295024362657969695328858464484804053292418349607171116495824500877657645735439483654243421041792250645780524073632108113163680419784861824598636358956767418102876254607195657549900834487547177223202524048278919486779594075520571627750621250617647566126836463565301513972626159359320347155617060678923266031330583312377583386554432825036104708108380776423617998099975058941545815884423188202878129757587665863375222081757806294325139059486718179552314035500484758556227816658880492469114174770457231533525039466298003788095107260148833854002138935065642903369567565022854053733975340182430947609445906425445649524352376902344136061969980485434512778549256747534049732006384385755080523961452999358250822145901416793679152016884443017041924014507339258608715092939065092687606048596782360527580058796625407488348368058855661235769465008728549859829642099531261024863468844499910104996824712331049130509719995783863201902524800511508536322815101614955608963981067546215946570814117313279384425144165609983724290361923261070125633546607708564308980331972963778697417893056056900567468477856469984638847715739993390390090289243543773532078502589171083738975821163289818592437320576725796240340257666160437231420675501000480905049615328335171531361117885992359574421476024404080307804398809612989373007838815407006267895006287572319446573900467716175282951939070471531055012970509490663262755402602881542817591899100293782731752169038683366343369679932572574403516149437886859004435950175751301204302136984028010466221002987249527468043122029937899273094898515400103818789748307118963183627295658719376988609042759654281432927711979164974697112815827988849386614946091066021145278482169632809523627723570888220041861384530380249560863938027791475648745366582458727081377677416774900800328287324790568150145112145317097816935205654848780983097633298917758160989890176794581341146749157874497636005655608309700345251091376309501490418422878098995962945937129105529927174376932101108390252272064213345226772569917832787785813317773141264459044071749716629986961664753561938633817279095263352591439189998061059221103051910195552162291141406702818843463049383995724507454390184309035648387481900122612303487904852547641201577339032397969506321441474729479376076412496281488249314385627807517236393292721603611442353605892452080069023490272090828405282718213038040840972868721954226081092430684950055115949028291821102276349673781577241733844058005235068742043767776683699049472487651290416762604595489451780982785164029089886725065270505385590035147042976780952894933376193718723721364992631666979196870350836348241565669101215098900804944996035716774720434387794461648033046594022695825209342448416404410692650062349213296464635519940103617636884404493145835182594960302745802293421864335930184729091442190412069391130121306380647943547097617257136518038543546497148232638388697922 9701540184893697851893934740263325784257329901597109075153563804809867357881097577673027377507925837013803201866193054150176339417124349636642437664100728855974943743453290403636862892901032920975589959498826605124999979681908044692952173362086776782080777823784275382046852211934025317235662577904447247847138452358363542515791995806056996960131717506038049882948033910062983089968270209579208982298229901990892242248749022570486544363201432389555284446552680594870376915986644709098626215435149490305049302294642577660281086355905051954698925276657322708992738881464666569006468611582206715046651737862704628202136275226538228729696477679497229836923290949325325691985511582135833785453005930437759012975618050523299026384646096071782673170163118202646124263673607724918785686502222136139038121460045578405285521567360966195519357086492284332300393279364032592547651763125613726894673986591981817658635701413485289966107251359698922857016425746685376725976985047350036999945280899038109704105235510101557767571696384172893182520294126926113241955432121143179188765528262373101722847633081626341789902145863768413880308255963818054284732095236484576024172014346887738094712468669023562892013990909245732382446293711249439160229498843889240107791904988357774545426088492510508254728801187833254294578499039269257173289038993910364819954941599065649679927748565702134841208040378654174365542888339240386854133917190307957759716020655697399685047208831904245910434415729717945312255802608590075298007515374984315714969128916948759854285000979340156131965506785345391735824372311797299059323899583105963593884969854334248021962195962069390801541913006621604611686963022789468270713078284104758181723065367431593655961124741560305211330873933631123857700319223135945943533595881301849460476957504886820761112379297061566342743439769372666865012931656344532587496712332139184884641776252251592478329673625958003243459870133502522372585694523233348971004782432563363904814252814056261877108434613395978971508814091881440715275189316171612779169793815378594971077492017383329562196131958143637288054450472076712815102878621327057826704988375602158679340586511660806364890408394153932328138342394607058896499295919257000635771651870645797463669238932645836870922133320641196383406561327687544785249635198575258609796831657278759713134944496732337610689526512630540126135397546128096407723001789557095292687061663676880294077500288791846975563259943142514221032904228559774604987559468090524405727977913973203922307972484671109557975659379023922808684739659355426911219471942085029176641213689094747111598485570581619142952140974218134165268351619083584444891688785691954550705018290562560625851353912957427518620536086868136954320191909689075421537838362149989972875923457062737661941672063394980563289560345663128199540685849877292228661997186462542014995862149084102305718702972048409687550962851752234291358543825970458538320539238159971493868103820411895984084599098146261316483888246778339629506327459722691087273264023706608880551875021933135370378630882165623284728480975837657045886256583959903477639027368368259494591906900066455423517990389191599114660018998648169871075430600279911062002682962942253335382261116834947678961455295170157481927468788031176511013062241340687892932201 15697421762380942295668535422502371055280854281352906984722071443342900734397106417880866391172236816643212369269018145526436548918075941149604321926500825987113531589306656703071791190599918240875163592933442299428612314783800223689314309100182438453336139120368545040342560582185335830787724264123561256841138491522266296699133538128863182222781779017145619877637118349930884157283809581770497935363779088597175537273111680540181873221665917193608576864902287765986872740487522366744361654918803733726091094545288358184354718464018215635118710138481921345351695648882769445261075807239756615881139285039927830726184554146025008323771998251124980458173908596891452528449076883649806411612365250784914630036296973789330356967958473655169227602988154307354232644450031342916885661561163681954922544648248456535043109233224341417601114892786609471359879997543584906583152247884169954711332867084450931833406158645018815005573549363487017964276574580539378864912050690253406567510303753091843679445417941049167213478121829822417534897196471062175211935917555655957738022275796422833729232018836706865751355145222019236026209672757497206301616538253526500038679353605496453187651533761711168940610773269773312441242919118737787528288354505125009572800633538217604187525619753535371723573301097938251119290830088399766893284822857112267344755453107601972495029363521311098822275586594600745179660201618624811998299527174032248121639281725823033231654917396213226242407379508415363205311859509157543775863985359623163430709122307338850143528544752872234634554677869084367556987662130389736379900625379346303851551130291565668697463196442974440416870248178152965729572955382363889746737482364412562580532678356804601494776531747828200217618446253077697758168035398418897882604067412356862430986448168149576163715260839879158241843733552104419034051615022687902267429284906542701034079663111256028428505424927162305380443898143968743375572944050701392093034720331836458803329652917875051625415553576579606267167533468870049758034843597604540491148958790075707786905480866769944508287197979288915770224083281600340538673766841368919211235368625163022617368377987309551731472867121235310005555117295407387183824086487407145747916968968462732669324087713628934504221051078802186273583355909028691534407509696211264265405141357624010804511253998222756033567625508593486063264503076055270784655102897947347564751275008903652863995333076577660293336401207601558292782620858546736269741121406724341684823241266564643112306033543892212609885854931186213950091442478198889960603467666592483566825522724743134593498608182885107047804688615419711504300749588589905886366418265068030963201299778811875011479161430193820811342139698310490560212643989758098911809929190555272691088961497903710530663626289476072993974510400779077227832506952153641902443574428196386073001097217826146073495386671097882175202253268514838886847995606953243702349629124885036764373489410447043027061380051041194692677606970499704622137994438919561438109612265272277981766973922738080366414347656886057672522942623870703639908952409169245926055431779060909556941120196531090943458094006828483519153164833830764831378176402573332926338613147671344777572673186226077800267835943113704579544725924549215054559559389573326281630123 25398961947274640147562470162765696839538184182950016059875635248152768092278203995553893768680162653657015571135211199676612888335200290786246759590601554843088475332759947106708654083500951161850753552432268904553612294465708268382266482462269215235416916944152820422389412794119361148023386842028008504688276943880629839214925533934920179182913496523183669760585152259993867247252079791349706917662008990588067779521860703110668417584867349583163861311454968360857249656474167075842987870353953224031140396839930935844635804819923267589817635415139244054344434530347436014267544418821963330927791022902632458928320829372563237053468475930622210295097199546216778220434588465785640197065371181222673643011915024312629383352604569726951900773151272510000356908123639067835671348063385818093960666108294034940328630800585307613120471979278893803660273276907617499130804011009783681606006853676432749492041860058504104971680800723185940821293000327224755590889035737603443567455584652129953383550653451150724981049818213995310717417490597988288453891349676799136926787804058795935452079651918333207541257291085787649906517928721315260586348633490011076062851367952384191282364002430734731832624764179019044823689212829987226688517853349014249680592538526575378732951708246045879978302102285771505413869329127669024066573861851022632164710394706667622174957112087013233663483626973254919545203089957865198852433444364340205881355302381520432916702126228117472152841795238133308517567662117747619073871500734607479145678251224287609997813545732212390766520184654429759292812034442187035439224524962452267445436100145899916719425392405043831218412161184774570341259918405153358017450560648517320762255743724236195150737656489388505428949320186708821615868354621554843826137663293658711891463405673036396924827640136940724584587173321477085899064546679032434854925997238681885918721439363507620906835098553120308623903768277471265748158638573934741064039502764399822708143905731931313502523988189975585238676347560751490473310032913776153270318752605454302757982972884153274070483329937432553058278533753677053353776645462695977037940357000765181296708964498970358096363275515389242333693459690014446080323382406664146383688620839108530132993326646274771375143184399443382656989917236716236319657144894786522875201973014902770517646198494955093644257152021224026189399900622183367192378104687504442857438336672580533158072833365369507268899661150744072513815525087106510874728680874814866090551219180537847034614006028563322167861514310210136758776182137554316871822939608677512743466736413837881705097093753466726190756829589637845669569101207673490331258107050759985513906318069374435637330515343151248329962675785178627514532835899447174333347767552705262663964884954966448192605298352871053557264070746442205427373192802030934131105571614658928087996959366910248379214089643146291862753216120267073178206539432923702240670168363045008258241593230858939011145979149187456009161495217278044251644321898642252525382876288978886862318848944671215736792978539051680957251423599708360685795208993129149403694459147429169051533027096597546366976084396020082633813183832478934702453607002853243988341296110613598112954934303061025479229291238283862061472194712580391565572621630914014174562324 41096383709655582443231005585268067894819038464302923044597706691495668826675310413434760159852399470300227940404229345203049437253276231935851081517102380830202006922066603809780445274100869402725917145365711203982224609249508492071580791562451653688753056064521365462731973376304696978811111106151569761529415435402896135914059072063783361405695275540329289638222270609924751404535889373120204853025788079185243316794972383650850290806533266776772438176357256126844122396961689442587349525272756957757231491385219294028990523283941483224936345553621165399696130179230205459528620226061719946808930307942560289654505383518588245377240474181747190753271108143108230748883665349435446608677736432007588273048211998101959740320563043382121128376139426817354589552573670410752557009624549500048883210756542491475371740033809649030721586872065503275020153274451202405713956258893953636317339720760883681325448018703522919977254350086672958785569574907764134455801086427856850134965888405221797062996071392199892194527940043817728252314687069050463665827267232455094664810079855218769181311670755040073292612436307806885932727601478812466887965171743537576101530721557880644470015536192445900773235537448792357264932131948725014216806207854139259253393172064792982920477327999581251701875403383709756533160159216068790959858684708134899509465847814269594669986475608324332485759213567855664724863291576490010850732971538372454002994584107343466148357043624330698395249174746548671722879521626905162849735486094230642576387373531626460141342090485084625401074862523514126849799696572576771819125150341798571296987230437465585416888588848018271635282409362927536070832873787517247764188043012929883342788422081040796645514188237216705646567766439786519374036390019973741708741730706015574322449853841185973088542900976819882826430906873581504933116161701720337122355282145224586952801102474763649335340523480282614004347666421440009123731582624636133157074223096236281511473558649806365127939541766555191505843881029621540231344876511380693761467711395530010544888453750923218578770527916721468828502617035277393892450412304064896249175725625928203914077342486279909827836142636624552339248576985421833264147468894071292131605589807571262802317414359903705879364235478245568930573273145744927854064654590997787140607114372526781322157452493177849677824777529817512252664403698238637977033207585451790422189611681484186022068166441947167562236062358345630806598145945653247144469802281539207775374460447102490146920039572455534777747369241396350708867624615753206832426407275269996310292259138581016298595701936351833238561518205057557173869850796263396217624525315828016477107617848186310648809676773345069141304815483489118074745479889205273245157696743260535355053846452870158723268924642347126551238581147221282655205699754184576033549146042855314160998056584736394452709476314244174037955469388781912065054535039876945943019797487930045022615082641305982038207359200228650701839102187777748873782316337561813963492488554251164844085822867409296103207326195937738629774366223579064325704161402298395329749890926490078608474147293128637310434178402848566152966348666309699533831783405426576914679909258284942890527607489287103279497127181397566641016920637129606620132181020487340456192447 66495345656930222590793475748033764734357222647252939104473341939648436918953514408988653928532562123957243511539440544879662325588476522722097841107703935673290482254826550916489099357601820564576670697797980108535836903715216760453847274024720868924169973008674185885121386170424058126834497948179578266217692379283525975128984605998703540588608772063512959398807422869918618651787969164469911770687797069773311096316833086761518708391400616359936299487812224487701372053435856518430337395626710181788371888225150229873626328103864750814753980968760409454040564709577641473796164644883683277736721330845192748582826212891151482430708950112369401048368307689325008969318253815221086805743107613230261916060127022414589123673167613109073029149290699327354946460697309478588228357687935318142843876864836526415700370834394956643842058851344397078680426551358819904844760269903737317923346574437316430817489878762027024948935150809858899606862575234988890046690122165460293702421473057351750446546724843350617175577758257813038969732177667038752119718616909254231591597883914014704633391322673373280833869727393594535839245530200127727474313805233548652164382089510264835752379538623180632605860301627811402088621344778712240905324061203153508933985710591368361653429036245627131680177505669481261947029488343737815026432546559157531674176242520937216844943587695337566149242840541110584270066381534355209703166415902712659884349886488863899065059169852448170548090969984681980240447183744652781923606986828838121722065624755914070139155636217297016167595047177943886142611731014763807258349675304250838742423330583365502136313981253062102853694570547702106412092792192670605781638603661447204105044165805276991796251844726605211075517086626495340989904744641528585534879393999674286213913259514222370013370541113760607411018080195058590832180708380752771977281279383906472871522541838271270242175622033402922628251434698911274871890221198570874221113725860636104219617464381737678630463529956530776744520228590373030704654909425156847031786464000984313302871426635076492649253857854154021886781150788954447246227057766760873287116082626693385210786306985250267924199418152013794672942036675436279344470851300735438515294210646679792935310741006178477254507419877688951587563190382461164173721799485784310015809087387429551839803650988132943322081929551041538442064304320422005169411312272956233279627948354064719180140999807316674831135723509089703320413671032759758019198483156354073865925679627640337181534045601018856945608883551606487467643806753307523704249346883947509053758995552418898003692795689818559429318347794695402843438952003936886548882632366588001991013935917560746286140192116496317471267491268667745589278315788652447578505464295965798019018731407836606915874222995218180108502651893663488082578892556215510164654717657514242248995015951646642831923565957390465900708685509048985243261074472800648183689965850975053280856675872164921049353338349416106711000597405055793125426638236204066488875364843230051706404671812080511840000304734989419587025789823287425011499370395427544733444350073919247660007174389726183677410262798868648786779532498788634236285390408279820903021205368898541003482541792348128758726418419681428702489115349709998185704802651401354630754771 107591729366585805034024481333301832629176261111555862149071048631144105745628824822423414088384961594257471451943669890082711762841752754657948922624806316503492489176893154726269544631702689967302587843163691312518061512964725252525428065587172522612923029073195551347853359546728755105645609054331148027747107814686422111043043678062486901994304047603842249037029693479843370056323858537590116623713585148958554413111805470412368999197933883136708737664169480614545494450397545961017686920899467139545603379610369523902616851387806234039690326522381574853736694888807846933324784870945403224545651638787753038237331596409739727807949424294116591801639415832433239718201919164656533414420844045237850189108339020516548863993730656491194157525430126144709536013270979889340785367312484818191727087621379017891072110868204605674563645723409900353700579825810022310558716528797690954240686295198200112142937897465549944926189500896531858392432150142753024502491208593317143837387361462573547509542796235550509370105698301630767222046864736089215785545884141709326256407963769233473814702993428413354126482163701401421771973131678940194362278976977086228265912811068145480222395074815626533379095839076603759353553476727437255122130269057292768187378882656161344573906364245208383382052909053191018480189647559806605986291231267292431183642090335206811514930063303661898635002054108966248994929673110845220553899387441085113887344470596207365213416213476778868943340144731230651963326705371557944773342472923068764298452998287540530280497726702381641568669909701458012992411427587340579077474825646049410039410561020831087553202570101080374488976979910629642482925665980187853545826646674377087447832587886317788441766032963821916722084853066281860363941134661502327243621124705689860536363113355408343101913442090580490237448987068640095765296870082473109099636561529131059824323644313034919577516145513685536632599101120351283995621803823207007378187948956872385731091023031544043758403071723085968250364109619994570935999785936537540793254175396514323847759880385999711228024385770875490715283767824231841138677470070825769536291808252621589124863649471530177752035560788638347012190613660858112608618320194806730646899800454251055737628155366082183133871655355934520518136463528206092027786454076782097156416201759956333161961103481310792999906707080859050694728708018660643146444519858408023701817560035548905202209166249263842393371785867435334127011816978413005163668285437893281641300140074742827328454085173474391723356252793002838176511431369060730536675754159217505364051254690999914302288497626170392667879865999752960017308802800200282766507157682416018468121553765747056934949868889841386612572306752156863664023795677857720823663161039226333374072577860706765639143147637565306659741233040884770737784592310400086198203863700369556409993072536383037284633042271634639938664154897830897308315609512677594126709763338905098303471758513470903087560697549644757412839699592833541999208954573765880452367853397481216550490494679489807943207630930927158216800156046866489337203531797725940063194241000409326268481321682854820987844441201717214939745881165098333770117173813706397817701114627183483894010149281635232038223545601078995343506035986839604805836983671888695086947218 174087075023516027624817957081335597363533483758808801253544390570792542664582339231412068016917523718214714963483110434962374088430229277380046763732510252176782971431719705642758643989304510531879258540961671421053898416679942012979275339611893391537093002081869737232974745717152813232480107002510726293964800193969948086172028284061190442582912819667355208435837116349761988708111827702060028394401382218731865509428638557173887707589334499496645037151981705102246866503833402479448024316526177321333975267835519753776243179491670984854444307491141984307777259598385488407120949515829086502282372969632945786820157809300891210238658374406485992850007723521758248687520172979877620220163951658468112105168466042931137987666898269600267186674720825472064482473968289367929013725000420136334570964486215544306772481702599562318405704574754297432381006377168842215403476798701428272164032869635516542960427776227576969875124651706390757999294725377741914549181330758777437539808834519925297956089521078901126545683456559443806191779042403127967905264501050963557848005847683248178448094316101786634960351891094995957611218661879067921836592782210634880430294900578410315974774613438807165984956140704415161442174821506149496027454330260446277121364593247529706227335400490835515062230414722672280427219135903544421012723777826449962857818332856144028359873650998999464784244894650076833264996054645200430257065803343797773771694357085071264278475383329227039491431114715912632203773889116210726696949459751906886020518623043454600419653362919678657736264956879401899135023158602104386335824500950300248781833891604196589689516551354142477342671550458331748895018458172858459327465250335824291552876753691594780238017877690427127797601939692777201353845879303030912778500518705364146750276372869630713115283983204341097648467067263698686597477578463225881076917840913037532695846186151306189819691767547088459260850535819262558867512025021777881599301674817508489950708487413281722388866601679616744994884338210367601640654695361694387825040639397498637150631307021076203877278243625029512602064918613186288384904527837586642823407890879314974335649956456780445676234978940652141685132650336294391953089171495542169162194011100930848672938896372260660388379075233623472105699653910667256201508253562566407172225289147385885001764754469443736321988636631900589136793012339082648315855832131364256981445508389613624382350166056580517224507509376525037447425488011172763182866768594247355507225819702383164509988130774493248668965136344609325644155238122368254240925101043165014417810250243418812305981293315988952097198213794448362860747754804137169315389790049004020459135489683307803221090061006337704083839798020824609253302111466510168402168625335192131393091309268543372555017370632783486768243884934548258820363484866615596362858581357883798658988088488029680116556608229025105839372840406879882551576683985478242310399729189880151584328434385635824136914035899060864123840296997889335124635592809969946941243218240711268256895166491570319783207935665916577803825945870153914348702902193153484796638591074328573928488496072581004665254704000585863726525413663886968006402564221986218720722319996082024897492691073983360796949964020760424045995151336549602991541786323290049717701989 281678804390101832658842438414637429992709744870364663402615439201936648410211164053835482105302485312472186415426780325045085851271982032037995686357316568680275460608612860369028188621007200499181846384125362733571959929644667265504703405199065914150016031155065288580828105263881568338125716056841874321711908008656370197215071962123677344577216867271197457472866809829605358764435686239650145018114967367690419922540444027586256706787268382633353774816151185716792360954230948440465711237425644460879578647445889277678860030879477218894134634013523559161513954487193335340445734386774489726828024608420698825057489405710630938046607798700602584651647139354191488405722092144534153634584795703705962294276805063447686851660628926091461344200150951616774018487239269257269799092312904954526298052107594562197844592570804167992969350298164197786081586202978864525962193327499119226404719164833716655103365673693126914801314152602922616391726875520494939051672539352094581377196195982498845465632317314451635915789154861074573413825907139217183690810385192672884104413811452481652262797309530199989086834054796397379383191793558008116198871759187721108696207711646555796197169688254433699364051979781018920795728298233586751149584599317739045308743475903691050801241764736043898444283323775863298907408783463351026999015009093742394041460423191350839874803714302661363419246948759043082259925727756045650810965190784882887659038827681278629491891596806005908434771259447143284167100594487768671470291932674975650318971621330995130700151089622060299304934866580859912127434586189444965413299326596349658821244452625027677242719121455222851831648530368961391377944124153046312873291897010201379000709341577912568679783910654249044519686792759059061717787013964533240022121643411054007286639486225039056217197425294921587885916054332338782362774448545698990176554402442168592520169830464341109397207913060773995893449636939613842863133828844984888977489623774380875681799510444825766147269673402702713245248447830362172576654481298231928618294814794012960998391187407075915105302629395905003317348686437418129523581997908412412359699699131936563460513605928310623428270539729290488697323263997152504561707491690348899809093811555181904410567051738342843522250730589557992623836117438873348229294707639348504328641490907342218163725857950754529321895343712759639831521720357743291462300351989772280683263068425162529584559332305844359617879295243960371574437304989585768346535054032140637148525959777125991838442215947967640392321389137612163820666669491428984777600855202382519781861504934418726608269790942159344765078079794201322878056557604337452081896947731420038927257043449054860156039929896179090696412104772981472917325907144367889225831786374418464767163887129250138194160518270348793427985117975433029558148077177015682561062445058253355068981161024412717401189650500659745778036995304710779859892293498155836437109492528785249887800192899106727224474733448705621536679996590722877123844547383735827393611071638192484807385661171060127726415566596843736020626101917020403685906433990879424859832832074737900196969817755435825653099145202303078666271294828985301776519738035692616538423434623265508791502840355618592835173509621839419389501187323389207797378769995178744804649207 455765879413617860283660395495973027356243228629173464656159829772729191074793503285247550122220009030686901378909890760007459939702211309418042450089826820857058432040332566011786832610311711031061104925087034154625858346324609278483978744810959305687109033236935025813802850981034381570605823059352600615676708202626318283387100246184867787160129686938552665908703926179367347472547513941710173412516349586422285431969082584760144414376602882129998811968132890819039227458064350919913735553951821782213553915281409031455103210371148203748578941504665543469291214085578823747566683902603576229110397578053644611877647215011522148285266173107088577501654862875949737093242265124411773854748747362174074399445271106378824839327527195691728530874871777088838500961207558625198812817313325090860869016593810106504617074273403730311375054872918495218462592580147706741365670126200547498568752034469233198063793449920703884676438804309313374391021600898236853600853870110872018917005030502424143421721838393352762461472611420518379605604949542345151596074886243636441952419659135729830710891625631986624047185945891393336994410455437076038035464541398355989126502612224966112171944301693240865349008120485434082237903119739736247177038929578185322430108069151220757028577165226879413506513738498535579334627919366895448011738786920192356899278756047494868234677365301660828203491843409119915524921782401246081068030994128680661430733184766349893770366980135232947926202374163055916370874483603979398167241392426882536339490244374449731119804452541738957041199823460261811262457744791549351749123827546649907603078344229224266932235672809365329174320080827293140272962582325904772200757147346025670553586095269507348917801788344676172317288732451836263071632893267564152800622162116418154036915859094669769332481408499262685534383121596037468960252027008924871253472243355206125216016016615647299216899680607862455154300172758876401730645853866762770576791298591889365632507997858107488536136275082319458240132786040729774217309176659926316443335454191511598149022494428152118982580873020934515919413605050604417908486525745999055183107590011251537796163562385091069104505518669942630382455914333446896514796663185891068971287822656112753083505948110603503910629805823181464729535771349540604430802961201914911500866780054728103165490612420198265643883980344660228968314732696825939778156184121136537664708576814776153966909498362424876842386804620485409021862793000758531529401822626387992655751779479509156348430346722460889061286525482221489464821907613797239018525956245547534199671755177837538914251084258148296862276293588649685738804312408474621397286737780424059386392533132362663377129990902516794780251902793806082170628018610878057628000411709610596160255196397793510749177888903132280196229002909981288378511562043631278923921026416137153727969249512442397517746258729684851617409835711590662411468977483634078747509221718665401472128627284742551361388769347766485660520293588612212248480140193705774334854289878903753064280827662630447509623502262760313824452047787174318034609336184032909656471423149066474125458313828016830318353849202888942392796708492872269782922302257678835259145754619347533688995531429601953632123473642599843435496338659938810788920556318468794522351196 737444683803719692942502833910610457348952973499538128058775268974665839485004667339083032227522494343159087794336671085052545790974193341456038136447143389537333892648945426380815021231318911530242951309212396888197818275969276543988682150010025219837125064392000314394630956244915949908731539116194474937388616211282688480602172208308545131737346554209750123381570736008972706236983200181360318430631316954112705354509526612346401121163871264763352586784284076535831588412295299360379446791377466243093132562727298309133963241250625422642713575518189102630805168572772159088012418289378065955938422186474343436935136620722153086331873971807691162153302002230141225498964357268945927489333543065880036693722076169826511690988156121783189875075022728705612519448446827882468611909626230045387167068701404668702461666844207898304344405171082693004544178783126571267327863453699666724973471199302949853167159123613830799477752956912235990782748476418731792652526409462966600294201226484922988887354155707804398377261766281592953019430856681562335286885271436309326056833470588211482973688935162186613134020000687790716377602248995084154234336300586077097822710323871521908369113989947674564713060100266453003033631417973322998326623528895924367738851545054911807829818929962923311950797062274398878242036702830246475010753796013934750940739179238845708109481079604322191622738792168162997784847510157291731878996184913563549089772012447628523262258576941238856360973633610199200537975078091748069637533325101858186658461865705444861819955542163799256346134690041121723389892330980994317162423154142999566424322796854251944174954794264588181005968611196254531650906706478951085074049044356227049554295436847419917597585698998925216836975525210895324789419907232097392822743805527472161323555345319708825549678833794184273420299175928376251323026475554623861430026645797374717736185847079988408614107593668636451047749809698490244593779682711747659554280922366270241314307508302933254683405948485022171485381233871091946793963657958158245061630268985524559147413681835228034087883502416839519236762291488022547432068523654411467542807289143188101256677168313401692532776058399233119079779178330599401076504154876239968780381634211294657494072999848946347432880536412739457353371888788413952660097668841263415829508270962070321329216470370952794965779324057419868799836453054569231240456536110908818347971645239938683551468830668269236460266099864445780596300097990344299875936876658528629804277739256635148186872562670428529453607914619833653285488577105226223796126811447930053981533260112256265522520875200307641627354373382851008616860870012812073479183685511844098313649576581417523533169920798695885476664007566787555087953925755245946853832198084029060927419083527043648943338407173481073624214120885414317936659639220646961484983471474390508796950410536855114918935909230344597395446831016301442271361270981789915184618714247450651359928820183849278585863502796472107197200290179335089372324687577441601728465361517096237871666488833690575236039068859604049845078149704194721720515770174912334516304255223804374322428131583452655971452994405192021059068003321857571559442040293371451797569189242613042480498371785220546467296983264439262824997525983328018586299326313647539327000403 1193210563217337553226163229406583484705196202128711592714935098747395030559798170624330582349742503373845989173246561845060005730676404650874080586536970210394392324689277992392601853841630622561304056234299431042823676622293885822472660894820984525524234097628935340208433807225950331479337362175547075553065324413909006763989272454493412918897476241148302789290274662188340053709530714123070491843147666540534990786478609197106545535540474146893351398752416967354870815870359650280293182345329288025306686478008707340589066451621773626391292517022854646100096382658350982835579102191981642185048819764527988048812783835733675234617140144914779739654956865106090962592206622393357701344082290428054111093167347276205336530315683317474918405949894505794451020409654386507667424726939555136248036085295214775207078741117611628615719460044001188223006771363274278008693533579900214223542223233772183051230952573534534684154191761221549365173770077316968646253380279573838619211206256987347132309075994101157160838734377702111332625035806223907486882960157679945768009253129723941313684580560794173237181205946579184053372012704432160192269800841984433086949212936096488020541058291640915430062068220751887085271534537713059245503662458474109690168959614206132564858396095189802725457310800772934457576664622197141923022492582934127107840017935286340576344158444905983019826230635577282913309769292558537812947027179042244210520505197213978417032625557076471804287176007773255116908849561695727467804774717528740722997952110079894592939759994705538213387334513501383534652350075772543668911546981689649474027401141083476211107190467073953510180288692023547671923869288804855857274806191702252720107881532116927266515387487343601389154264257662731587861052800499661545623365967643890315360471204414378594882160242293446958954682297524413720283278502563548732683498889152580842952201863695635707831007274276498906202049982457366646324425536578510430131072220958159606946815506161040743219542223567341629725514019911821721011272834618084561504965723177036157296436176263380153070464375437774035156175896538626965340555049400410522725914879154439639052840730698492761637281577069175749462235092664046297591300818062131037751669456867407410577578947959549851343510342235920922082907660137954557090900630043178327330375051016798424494707082791151060609663304402080097768151185751395171018612720232045356012680222054714837518378329030694113302652904484931189618162890991102831405338699284916622460029518736144304535302909392889418514894440102055142750310484719023462814652767693477588181205015290093804436771959458455938489630666971500694355665182421286694876470423292268157700042109713780186910299911701212680256915910360593637258581944366124004481832609793639657087674279924837159692516296076613353820443123795395606315171201264278240408904497890527662524919660049297512436682167960029449012856666727892104682830248465423993932127935966116052832057447468591829947252272144238592857720583767947301620804827771147376063319651395999990935947316496321022745662571122364363669530197491369039755125106358945244172775678372870848447886445411469486289806843608080963451864711814729841342364342551050287056714943861960576169493903214822500099420456907039106260493864643266829375219882632116333849351599 1930655247021057246168666063317193942054149175628249720773710367722060870044802837963413614577264997717005076967583232930112551521650597992330118722984113599931726217338223418773416875072949534091547007543511827931021494898263162366461343044831009745361359162020935654603064763470866281388068901291741550490453940625191695244591444662801958050634822795358052912671845398197312759946513914304430810273778983494647696140988135809452946656704345411656703985536701043890702404282654949640672629136706754268399819040736005649723029692872399049034006092541043748730901551231123141923591520481359708140987241951002331485747920456455828320949014116722470901808258867336232188091170979662303628833415833493934147786889423446031848221303839439258108281024917234500063539858101214390136036636565785181635203153996619443909540407961819526920063865215083881227550950146400849276021397033599880948515694433075132904398111697148365483631944718133785355956518553735700438905906689036805219505407483472270121196430149808961559215996143983704285644466662905469822169845429116255094066086600312152796658269495956359850315225947266974769749614953427244346504137142570510184771923259968009928910172281588589994775128321018340088305165955686382243830285987370034057907811159261044372688215025152726037408107863047333335818701325027388398033246378948061858780757114525186284453639524510305211448969427745445911094616802715829544826023363955807759610277209661606940294884134017710660648149641383454317446824639787475537442308042630598909656413975785339454759715536869337469733469203542505258042242406753537986073970135832649040451723937937728155282145261338541691186257303219802203574775995283806942348855236058479769662176968964347184112973186342526605991239782873626912650472707731758938446109773171362476684026549734087420431839076087631232374981473452789971606304978118172594113525534949955560688387710775624116445114867945135357249799792155856890918205219290258089685353143324429848261123014463973997902948172052363801210895253782913667805236492576242806566595992162560716443849858098608187158347877854613554392938188026649512772623573054821990268722168297627740309517899011894454170057635468408868542014270994645698667804972938371006532051091078702068071651947808496198776390878648660379436279548926368509750998298884441743159883321978868745823923553162103855575442628459499966567987638805964402259069256342954174360651867294653521069847159698963349762919004349376970214462988981447131281275575943445252264307257992779452722175472063317947968502354721888796035799061824249686610779579141407642162738275402350069959292834658763580116985040354351702972526052434098768355654108804112256013691686295197710443469832499908565733579917927381192346535870121369951335664807877668718015093363451880808635854703250094427444657244680809924251830840484925201893887969364918171321870070586152627355618077190374046408303497744193546954191519447213909116746650213566704191986267652441108533115774940710700054920873947282390993129515348588977791785012913096228807613805330011597981701639981968413514608347195563761475640876533857578689079933596675222770314576994922142261259838013272984510932715136587412901806382844421738854284133104573618649992275000043046566717440171478369085491390626594847961519208945763873176352002 3123865810238394799394829292723777426759345377756961313488645466469455900604601008587744196927007501090851066140829794775172557252327002643204199309521083810326118542027501411166018728914580156652851063777811258973845171520557048188934003939651994270885593259649870994811498570696816612867406263467288626043519265039100702008580717117295370969532299036506355701962120060385652813656044628427501302116926650035182686927466745006559492192244819558550055384289118011245573220153014599920965811482036042293706505518744712990312096144494172675425298609563898394830997933889474124759170622673341350326036061715530319534560704292189503555566154261637250641463215732442323150683377602055661330177498123921988258880056770722237184751619522756733026686974811740294514560267755600897803461363505340317883239239291834219116619149079431155535783325259085069450557721509675127284714930613500095172057917666847315955629064270682900167786136479355334721130288631052669085159286968610643838716613740459617253505506143910118720054730521685815618269502469129377309052805586796200862075339730036094110342850056750533087496431893846158823121627657859404538773937984554943271721136196064497949451230573229505424837196541770227173576700493399441489333948445844143748076770773467176937546611120342528762865418663820267793395365947224530321055738961882188966620775049811526860797797969416288231275200063322728824404386095274367357773050542998051970130782406875585357327509691094182464935325649156709434355674201483203005247082760159339632654366085865234047699475531574875683120803717043888792694592482526081654985517117522298514479125079021204366389335728412495201366545995243349875498645284088662799623661427760732489770058501081274450628360673686127995145504040536358500511525508231420484069475740815252792044497754148466015313999318381078191329663770977203691889583480681721326797024424102536403640589574471259824276122142221634263451849774613223537242630755868768519816425364282589455207938520625014741122490395619705430936409273694735388816509327194327368071561715339596873740286034361988340228812253292387589549114084565276478113178622455232512994637047452067379362358629710387215807339212537584618004249363658691996259105791000502044283720547946109478649230895768046050119901220884581301519187209064323066841898928927620070490258372995667170318630635953254916185105932861580064336138824557359573277681976574999530373332089349368358588225488729657463065571908834308159832625879972549962686614275228361874724336776728923757257478381456207366483396794823943938786109546543273149425432346834885230343943290692443874396064794117219518606615707325852397328191234855385463232124532096380413713733796008977897353769744201121245990495828287974829605117814487493955817497417671308375102767643376717968328370999326707781265100368476205530567002041749203442302792467255445833846789730635450139792300245150403495421160164472085651637021767912637903048874586179682757024043715121032938480368047084949292912641457715229692613934343119736353855104664309096219743561121826332620727364211104332777184138544686932801230765982892802822861855611969546071218201022406391628551066681621353947962797426951317254244170725395472025910999076966534194819486178214865546666137897078517475345985255269861677336739091577880207025703601 5054521057259452045563495356040971368813494553385211034262355834191516770649403846551157811504272498807856143108413027705285108773977600635534318032505197410257844759365724829939435603987529690744398071321323086904866666418820210555395346984483004016246952421670806649414563334167682894255475164759030176533973205664292397253172161780097329020167121831864408614633965458582965573602558542731932112390705633529830383068454880816012438848949164970206759369825819055136275624435669549561638440618742796562106324559480718640035125837366571724459304702104942143561899485120597266682762143154701058467023303666532651020308624748645331876515168378359721543271474599778555338774548581717964959010913957415922406666946194168269032972923362195991134967999728974794578100125856815287939498000071125499518442393288453663026159557041250682455847190474168950678108671656075976560736327647099976120573612099922448860027175967831265651418081197489120077086807184788369524065193657647449058222021223931887374701936293719080279270726665669519903913969132034847131222651015912455956141426330348246907001119552706892937811657841113133592871242611286648885278075127125453456493059456032507878361402854818095419612324862788567261881866449085823733164234433214177805984581932728221310234826145495254800273526526867601129214067272251918719088985340830250825401532164336713145251437493926593442724169491068174735499002897990196902599073906953859729741059616537192297622393825111893125583475290540163751802498841270678542689390802789938542310780061650573502459191068444213152854272920586394050736834889279619641059487253354947554930849016958932521671480989751036892552803298463152079073421279372469741972516663819212259432235470045621634741333860028654601136743823409985413161998215963179422515585513986615268728524303882553435745838394468709423704645244429993663495888458799893920910549959052491964328977285246883940721237010166769620701649566769080428160835975159026609501778507607019303469061535088988739025438567672069232147304527477649056621745819770570174638157707502157590184135892460596527387160131147001143942052272591925990885802195510054503263359215749695119671876528722281669977396848005993486546263634653337694926910763938873050815771639024811546720882843576542248896292099533241680955466757990691576592897227812061813650141694974535916142554189115358771760548561321080030904126463363323975536751232917953704733983956644021879658072648428620812828490913183685130047088868953997093967889851171807126988644034721703209979653853519525314451899149545832734821908608367522836036211925976292872506681566094793944355357628775983098723600747680204100300717287289484231587778640900492669727425482304175607797239576701029811724075746215356021951653684608863907153162225548977093117861006828598776964225702576802208709757613157015454818832882234128644196680436620364005168659801221602767147918322340777541829463662216279198591213287359851812165621236393249461216029982773474047013483822025659992967562331662512083607063858468325331646889677222192448551174927156344218709065851086301190698746891882496562706406859426660401550935545566221293988515599401313770812326519634626932473730142087904667145977108239893764765283210071107813469478453214908593232855337249995844431476645896456525298258300523644080202055603 8178386867497846844958324648764748795572839931142172347751001300660972671254004855138902008431279999898707209249242822480457666026304603278738517342026281220583963301393226241105454332902109847397249135099134345878711837939377258744329350924134998287132545681320677644226061904864499507122881428226318802577492470703393099261752878897392699989699420868370764316596085518968618387258603171159433414507632283565013069995921625822571931041193984528756814754114937066381848844588684149482604252100778838855812830078225431630347221981860744399884603311668840538392897419010071391441932765828042408793059365382062970554869329040834835432081322639996972184734690332220878489457926183773626289188412081337910665547002964890506217724542884952724161654974540715089092660393612416185742959363576465817401681632580287882142778706120681837991630515733254020128666393165751103845451258260600071292631529766769764815656240238514165819204217676844454798217095815841038609224480626258092896938634964391504628207442437629198999325457187355335522183471601164224440275456602708656818216766060384341017343969609457426025308089734959292415992870269146053424052013111680396728214195652097005827812633428047600844449521404558794435458566942485265222498182879058321554061352706195398247781437265837783563138945190687868922609433219476449040144724302712439792022307214148240006049235463342881673999369554390903559903388993264564260372124449951911699871842023412777654949903516206075590518800939696873186158173042753881547936473562949278174965146147515807550158666600019088835975076637630282843431427371805701296045004370877246069409974095980136888060816718163532093919349293706501954572066563461132541596178091579944749202293971126896085369694533714782596282247863946343913673523724194599906585061254801868060773022058031019451059837712849787615034309015407197355385471939481615247707574383155028367969566859718143764997359152388403884153499341382303965403466731027795129318203871889608758677000055714003480147928963291774663083713801172384445438255146964897542709719422841754463924421926822584867615972384439388733491166357157202468998980817965287016257996263201762499034235158432668885784736060543578104550512998312029691186016554939375095099492186970921025370113739344588299016193320417822982474653967055014643434796156739681884140400067970203086461184825068613687945654494182660095240265287920683548814433209492953235107316045993390238246298137158278275894062822017993289879714748926547056654504126400169001712980811450626967237132234975732680935295944369776673608018154910795985461644272811178102850624856787237818751422422893202617330216455006056497628908522144869694819903172996873083441159278313153505151009320902151057714571574503330851556771499096357862970659643220285468220628650205316745292596701903509989974857981633220985385834923983332086499472903875809839015449531857052906940218567491181037250623826688364850228235055272489715214495822572932218240073697894506985493851869110609285880203789377741776220998201588061685501994341531288668294736048982676839436430062190633967882885436569429363937172842319463224412791157535767365206716621807705399363393201255980880436527569039221921390147833635365790676282287037642008288964631429774139898993234328513319777461901166318202634997392101524287227759204 13232907924757298890521820004805720164386334484527383382013357134852489441903408701690059819935552498706563352357655850185742774800282203914272835374531478630841808060758951071044889936889639538141647206420457432783578504358197469299724697908618002303379498102991484293640625239032182401378356592985348979111465676367685496514925040677490029009866542700235172931230050977551583960861161713891365526898337917094843453064376506638584369890143149498963574123940756121518124469024353699044242692719521635417919154637706150270382347819227316124343908013773782681954796904130668658124694908982743467260082669048595621575177953789480167308596491018356693728006164931999433828232474765491591248199326038753833072213949159058775250697466247148715296622974269689883670760519469231473682457363647591316920124025868741545168938263161932520447477706207422970806775064821827080406187585907700047413205141866692213675683416206345431470622298874333574875303903000629408133289674283905541955160656188323392002909378731348279278596183853024855426097440733199071571498107618621112774358192390732587924345089162164318963119747576072426008864112880432702309330088238805850184707255108129513706174036282865696264061846267347361697340433391571088955662417312272499360045934638923619558016263411333038363412471717555470051823500491728367759233709643542690617423839378484953151300672957269475116723539045459078295402391891254761162971198356905771429612901639949969952572297341317968716102276230237036937960671884024560090625864365739216717275926209166381052617857668463301988829349558216676894168262261085320937104491624232193624340823112939069409732297707914568986472152592169654033645487842833602283568694755399157008634529441172517720111028393743437197418991687356329326835521940157779329100646768788483329501546361913572886805676107318497038738954259837191018881360398281509168618124342207520332298544144965027705718596162555173504855148908151384393564302706186821738819982379496628062146061590802992219173367530963843895231018328650033502060000966735467717347877130343912054108557819283181395003132515586389877433218629749128459884783013475341519521355478951457618706111687154950555762132908549571591096776632965367386112927318878248145915263825995732572090996582921130547912485419951064663430120725045706220027693384551743697790541762944739002603739014183972459706203055503740126144391751284007524351184442410906939841300002637412117904370785586899088722553735201678419926803617880544150622393977571976128701624846172330177216786088495257995387195093915609408429926763278318821497856198787470975357306422882031763106780051669185716053817202686260597929625809434353926407681813897365753168584760617329112948248897603180869438647320718686873508425183705221770123821868769262561338489657033915522256822404480312198684615594790236440204667806217460730696153340496173844184109333078655674088136889831958579080087488904644048819448342632341527380117058966181679456103680667981032507335691136269278847766121040253859828062060056387017148884018753481116845910976139021058145495913276935158581632328451925926643579701746123625963726703101988659195232221209019170175719720890607812910257711127126588536124941875259555441565497108749821758443084644682733131848571578509164208938547062774727933255692625168367429814807 21411294792255145735480144653570468959959174415669555729764358435513462113157413556828961828366832498605270561606898672666200440826586807193011352716557759851425771362152177312150344269791749385538896341519591778662290342297574728044054048832753000590512043784312161937866687143896681908501238021211667781688958147071078595776677919574882728999565963568605937247826136496520202348119764885050798941405970200659856523060298132461156300931337134027720388878055693187899973313613037848526846944820300474273731984715931581900729569801088060524228511325442623220347694323140740049566627674810785876053142034430658592130047282830315002740677813658353665912740855264220312317690400949265217537387738120091743737760952123949281468422009132101439458277948810404972763420913081647659425416727224057134321805658449029427311716969282614358439108221940676990935441457987578184251638844168300118705836671633461978491339656444859597289826516551178029673520998816470446742514154910163634852099291152714896631116821168977478277921641040380190948280912334363296011773564221329769592574958451116928941689058771621744988427837311031718424856983149578755733382101350486246912921450760226519533986669710913297108511367671906156132799000334056354178160600191330820914107287345119017805797700677170821926551416908243338974432933711204816799378433946255130409446146592633193157349908420612356790722908599849981855305780884519325423343322806857683129484743663362747607522200857524044306621077169933910124118844926778441638562337928688494892241072356682188602776524268482390824804426195846959737599689632891022233149495995109439693750797208919206297793114426078101080391501885876155988217554406294734825164872846979101757836823412299413805480722927458219793701239551302673240509045664352379235685708023590351390274568419944592337865513820168284653773263275244388374266832337763124416325698725362548700268111004683171470715955314943577389008648249533688358967769437214616868138186251386236820823061646516995699321296494255618558314732129822417947498256113700365260057596553185666518032979746105766262619104900025778610924384986906330928883763831440628535779351742153220117740346845587619441546868969093149695647289631277397077298943873817623241014756012966653597461110322265718846928678740368887645904774692100720863462489541291425581930941830914942089064923839252586147651857549686400221384657039204691073165617651903860174948616048630802356150668922745177364616616557219671709806518366807091207276898103972145130414605657622957144453918323470990676322491038285386082037944918189114806959500471598649078207931279669269581858202474562388333384033657692317095558534331579223621227584986894238836609744038930482618099258218505331927153218895222017725065196682801579633094481511989548029559118307239232267549419106383822188659473576423457425590502730200792817195626244371983683199558864935708581028355457323139616330711315593008899047683397904831242594612881539113897696177378562488018001187560246878564727969910417995636049060261644448702650878360284769785140647025121697897581925975467569126464517765021355290580752544065586850376517860637756024401948843016724569539112922146588693346785280166348509926272775510625346117847784146391830047407716074456873030841805907022483986400448229092930568253084726692654657574011 34644202717012444626001964658376189124345508900196939111777715570365951555060822258519021648302384997311833913964554522851943215626869011107284188091089238482267579422911128383195234206681388923680543547940049211445868846655772197343778746741371002893891541887303646231507312382928864309879594614197016760800423823438764092291602960252372758009432506268841110179056187474071786308980926598942164468304308117754699976124674639099740670821480283526683963001996449309418097782637391547571089637539822109691651139353637732171111917620315376648572419339216405902302491227271408707691322583793529343313224703479254213705225236619795170049274304676710359640747020196219746145922875714756808785587064158845576809974901283008056719119475379250154754900923080094856434181432550879133107874090871648451241929684317770972480655232444546878886585928148099961742216522809405264657826430076000166119041813500154192167023072651205028760448815425511604548824901817099854875803829194069176807259947341038288634026199900325757556517824893405046374378353067562367583271671839950882366933150841849516866034147933786063951547584887104144433721096030011458042712189589292097097628705868356033240160705993778993372573213939253517830139433725627443133823017503603320274153221984042637363813964088503860289963888625798809026256434202933184558612143589797821026869985971118146308650581377881831907446447645309060150708172775774086586314521163763454559097645303312717560094498198842013022723353400170947062079516810803001729188202294427711609516998565848569655394381936945692813633775754063636631767951893976343170253987619341633318091620321858275707525412133992670066863654478045810021863042249128337108733567602378258766471352853471931525591751321201656991120231238659002567344567604510158564786354792378834719776114781858165224671189927486781692512217535081579393148192736044633584943823067570069032566655149648199176434551477498750893863797157685072752532072143401438606958168630882864882969123237319987918494664025219462453545750458472451449558257080435832977405473683529578572141537565388947657622237415612168488357603616655459388768546844915970055300707221104677736446458532742569997309001877642721286744066264242764463411871192695871386930019838962386169552106905186849394841164160319952309334895417146427083490182925843169279721483593859681091668662853436558607358060605190140347529048790488698597516802094314767114789916051268214474055039708332076453339170292421350129733321984687635357899292081544121259116230503795287321670704411966248671709686132200995490467871681467433628457356670386120053565237702551301344964982526231574049437850860378577693488160141013577547635266800791604589778328799547811731047507116108512796591866215940704598573621866506801403218303380758810590897607964273147789806241510864134387344089171213693865795170536418253547891779584868157527383668198014364255116492347155098195410798804497652947867131740537172769974729940505295577152281059230469050508523251383147843575736031458249495877122321700835719799762379038250901986558001260718955727421888744504285046150093473281217224332245811710476340244563739744683597181064225743739714832643037196506257042991293475098462397717385884901559413281255141651805850800719139606162690377485531648195338995291867658501508777351861022087388818 56055497509267590361482109311946658084304683315866494841542074005879413668218235815347983476669217495917104475571453195518143656453455818300295540807646998333693350785063305695345578476473138309219439889459640990108159188953346925387832795574124003484403585671615808169373999526825546218380832635408684542489381970509842688068280879827255487008998469837447047426882323970591988657100691483992963409710278318414556499184972771560896971752817417554404351880052142497318071096250429396097936582360122583965383124069569314071841487421403437172800930664659029122650185550412148757257950258604315219366366737909912805835272519450110172789952118335064025553487875460440058463613276664022026322974802278937320547735853406957338187541484511351594213178871890499829197602345632526792533290818095705585563735342766800399792372201727161237325694150088776952677657980796983448909465274244300284824878485133616170658362729096064626050275331976689634222345900633570301618317984104232811659359238493753185265143021069303235834439465933785237322659265401925663595045236061280651959508109292966445807723206705407808939975422198135862858578079179590213776094290939778344010550156628582552774147375704692290481084581611159673962938434059683797311983617694934141188260509329161655169611664765674682216515305534042148000689367914138001357990577536052951436316132563751339466000489798494188698169356245159042006013953660293412009657843970621137688582388966675465167616699056366057329344430570104857186198361737581443367750540223116206501758070922530758258170906205428083638438201949910596369367641526867365403403483614451073011842417530777482005318526560070771147255156363921966010080596655423071933898440449357360524308176265771345331072474248659876784821470789961675807853613268862537800472062815969186110050683201802757562536703747655066346285480810325967767415025073807758001269521792932617732834766154331370647150506792442328282872445407218761111499841580616055475096354882269101703792184883836983617815960519475081011860482588294869397056513194136198237463070236715245090174517311494713920241342315637947099281988603561790317652310676356598591080058963257897854186805378330189438855870846735870982391355895520161540710815066513494627944775851929039767013217227452568241769842900688839955239670109247147946952672467134594861652425424774623180733586692689144755009918154876540568913705829693389670682419746218627289738532099899016830205708631077253817955786849641021839539840351494726565176190185516266389530836161418244466124622735437239348032177170486381572505816599656548435416857141984769131773168982220570926823185000793962382821884518070894789046694472592801168862851787685843426388072838478294349146765334613844723745085111162722323638818549308381036312784892748358620456726271512380057355660617247956576003562747637151291385673266619046365087405829240141210583227062950072836144847804478237811741510120090661846914815138442004012569342822044409474848458437792957068509710811630026408303705941876245131926182583345284422450640739323020687127205026382416853309347864212073411510667858494636507805084789877297326716762424377500707999129907242468309253945565183785199603828271459823608388670492896510247677261065401533481853258516793596479193532183392554132181739443520960589069761862078553676744962829 90699700226280034987484073970322847208650192216063433953319789576245365223279058073867005124971602493228938389536007718370086872080324829407579728898736236815960930207974434078540812683154527232899983437399690201554028035609119122731611542315495006378295127558919454400881311909754410528260427249605701303289805793948606780359883840079628245018430976106288157605938511444663774966081618082935127878014586436169256475309647410660637642574297701081088314882048591806736168878887820943669026219899944693657034263423207046242953405041718813821373350003875435024952676777683557464949272842397844562679591441389167019540497756069905342839226423011774385194234895656659804609536152378778835108561866437782897357710754689965394906660959890601748968079794970594685631783778183405925641164908967354036805665027084571372273027434171708116212280078236876914419874503606388713567291704320300450943920298633770362825385801747269654810724147402201238771170802450670156494121813298301988466619185834791473899169220969628993390957290827190283697037618469488031178316907901231534326441260134815962673757354639193872891523007085240007292299175209601671818806480529070441108178862496938586014308081698471283853657795550413191793077867785311240445806635198537461462413731313204292533425628854178542506479194159840957026945802117071185916602721125850772463186118534869485774651071176376020605615803890468102156722126436067498595972365134384592247680034269988182727711197255208070352067783970275804248277878548384445096938742517543918111275069488379327913565288142373776452071977703974233001135593420843708573657471233792706329934037852635757712843938694063441214118810841967776031943638904551409042632008051735619290779529119243276856664225569861533775941702028620678375198180873372696365258417608348020829826797983660922787207893675141848038797698345407547160563217809852391586213344860502686765401421303979569823585058269941079176736242564903833864031913724017494082054523513151966586761308121156971536310624544694543465406233046767320846614770274572031214868543920244823662316054876883661577863579731250115587639592220217249706420857521272568646380766184362575590633263911072759436164872724378592269135422159762926004122686259209366014874795690891425936565324132639417636611007061008792264574565526393575030442855392977764141373909018634304272402249546125703362367978760066680916442754620182088268199221840533394404528448151167231304260748339409330271294957142062371969273162336182361923075482267060387648647066665213531787795327147403488019741863302687377062973688281123982063874213812370889185338406684771872271788167527025536432259735378449472482534854613606378716498118588477448016166401638026106080194272450722357520336951327103426922212440415815182439531088273507169211354334235785527847161902128112090963347651918850845157180843803037299912979185414108298737966895260964437091261340151633336007152308924588314794781946878979176782544072762549705052000739497023426119018234063013174251879441973334494627803304905046120142250403118361271589113763027643135809036769752956577696556817951967917725029417035689007803057006988117245391596310971468212048968778208220981705860871262753298706851068210282395149236674346656675133659109317512736085356222560878085780377078438812828247571270639430414698832351647 146755197735547625348966183282269505292954875531929928794861863582124778891497293889214988601640819989146042865107460913888230528533780647707875269706383235149654280993037739773886391159627665542119423326859331191662187224562466048119444337889619009862698713230535262570255311436579956746641259885014385845779187764458449468428164719906883732027429445943735205032820835415255763623182309566928091287724864754583812974494620182221534614327115118635492666762100734304054239975138250339766962802260067277622417387492776360314794892463122250994174280668534464147602862328095706222207223101002159782045958179299079825375770275520015515629178541346838410747722771117099863073149429042800861431536668716720217905446608096922733094202444401953343181258666861094514829386123815932718174455727063059622369400369851371772065399635898869353537974228325653867097532484403372162476756978564600735768798783767386533483748530843334280860999479378890872993516703084240458112439797402534800125978424328544659164312242038932229225396756760975521019696883871413694773362143962512186285949369427782408481480561344601681831498429283375870150877254389191885594900771468848785118729019125521138788455457403163574334742377161572865756016301844995037757790252893471602650674240642365947703037293619853224722994499693883105027635170031209187274593298661903723899502251098620825240651560974870209303785160135627144162736080096360910605630209105005729936262423236663647895327896311574127681412214540380661434476240285965888464689282740660124613033140410910086171736194347801860090510179653884829370503234947711073977060954848243779341776455383413239718162465254134212361373967205889742042024235559974480976530448501092979815087705385014622187736699818521410560763172818582354183051794142235234165730480424317206939877481185463680349744597422796914385083179155733514927978242883660149587482866653435304498236187458310940470735565062383407459608687972122594975531755304633549557150878395421068290553493004993955154126585064169624477266715635062190243671283468708229452331614156960068752490572188378375498104922046888062686921580823779040024073168197629167237460825147620473444820069289402948875020743571114463251526778055283087544833501325722860642819571542820465703578541360091985878380849961697632219814235635640722977395527860112359003026334443408927453135836238814848117377896914943221485356460449875477938881641586752021694266980251066248134466456970486584089250743991703393808813002687677088488251672452576654038177902826631776253919949882840727367774040473173758635479504880780530499291070954355658317111575666992443198611352527819498815081619896520367271581549086199179885360970376163291442554474476504400429341037785336202244082036438266149245851258965123563475843873166255527831811060507297907904517562745360047539351214666487996448566517069656346278066591243348439948550122323914509927406187956111573818893819044678976641696762017421180795113415584594114526849197934816383187527944874643200660183147915210739759729487488391404564701043857684292276240968054025552662346117617168651108067485810462554232834501825566305129773769412494746099595440878710680358222723773404766905464699534213122315239738703178905396913935412058208615512367834306332564549754744270639912558817882333788836641032501508968375577314476 237454897961827660336450257252592352501605067747993362748181653158370144114776351963081993726612422482374981254643468632258317400614105477115454998605119471965615211201012173852427203842782192775019406764259021393216215260171585170851055880205114016240993840789454716971136623346334367274901687134620087149068993558407056248788048559986511977045860422050023362638759346859919538589263927649863219165739451190753069449804267592882172256901412819716580981644149326110790408854026071283435989022160011971279451650915983406557748297504841064815547630672409899172555539105779263687156495943400004344725549620688246844916268031589920858468404964358612795941957666773759667682685581421579696540098535154503115263157362786888128000863404292555092149338461831689200461169901999338643815620636030413659175065396935943144338427070070577469750254306562530781517406988009760876044048682884901186712719082401156896309134332590603935671723626781092111764687505534910614606561610700836788592597610163336133063481463008561222616354047588165804716734502340901725951679051863743720612390629562598371155237915983795554723021436368615877443176429598793557413707251997919226226907881622459724802763539101634858188400172711986057549094169630306278203596888092009064113087971955570240236462922474031767229473693853724062054580972148280373191196019787754496362688369633490311015302632151246229909400964026095246319458206532428409201602574239390322183942457506651830623039093566782198033479998510656465682754118834350333561628025258204042724308209899289414085301482490175636542582157357859062371638828368554782550718426082036485671710493236048997431006403948197653575492778047857518073967874464525890019162456552828599105867234504257899044400925388382944336704874847203032558249975015607930530988898032665227769704279169124603136952491097938762423880877501141062088541460693512541173696211513937991263637608762290510294320623332324486636344930537026428839563669028651043639205401908573034877314801126150926690437209608864167942672948681829511090286053743280260667200158077204892414806627065262037075968501778138178274561173043996289730494025718901735883841591331983049035453333200475708311185616295493055520662200215046013548956187584932226657694367233711891640143865492731403514991857022706424484388801162034298007838383253090123144400243462043231725538085784940551479745875675009902401799215070057566207080863427285416098795428402233479438727205309895914360545701133765765778086165023859450411327154719637041686824969491845308041715277030244215387515903775861135698453193161904512563165284766726547502449982351764315470399520054845035247341355274969839754116403699805558601859088964640739458720876114530506509535310236058559764418987765369576168063699380938745915374961439762697043165394743083435751679464873472138502698866585338841605747360872693646191045776657456738686517017584878947018667528107744909826046127969267291436478708896400357577657488347143819578849937431839809306546178937656374912062589888545234387532792393437524706951446976045563865354731081668688471382887370125228804624303762430471957863918861255312932830776400611991491191751850178892407191501981625748611325570796966421022090806913461300546150609758714883749171477151819068649905977305148725692935896321146617084212303140939383074409666123 384210095697375285685416440534861857794559943279923291543043516740494923006273645852296982328253242471521024119750929546146547929147886124823330268311502707115269492194049913626313595002409858317138830091118352584878402484734051218970500218094733026103692554019989979541391934782914324021542947019634472994848181322865505717216213279893395709073289867993758567671580182275175302212446237216791310453464315945336882424298887775103706871228527938352073648406250060414844648829164321623202951824420079248901869038408759766872543189967963315809721911340944363320158401433874969909363719044402164126771507799987326670292038307109936374097583505705451206689680437890859530755835010464380557971635203871223333168603970883810861095065848694508435330597128692783715290556025815271361990076363093473281544465766787314916403826705969446823288228534888184648614939472413133038520805661449501922481517866168543429792882863433938216532723106159982984758204208619151072719001408103371588718576034491880792227793705047493451841750804349141325736431386212315420725041195826255906898339998990380779636718477328397236554519865651991747594053683987985443008608023466768011345636900747980863591218996504798432523142549873558923305110471475301315961387140985480666763762212597936187939500216093884991952468193547607167082216142179489560465789318449658220262190620732111136255954193126116439213186124161722390482194286628789319807232783344396052120204880743315478518366989878356325714892213051037127117230359120316222026317307998864167337341350310199500257037676837977496633092337011743891742142063316265856527779380930280265013486948619462237149168869202331865936866745253747260115992110024500370995692905053921578920954939889272521232137625206904354897468047665785386741301769157843164696719378456982434709581760354588283486697088520735676808964056656874577016519703577172690761179078167373295761873796220601450765056188394707894095953618509149023815095424333284593196356280303994103167868294131144881844563794673033792419939664316891701333957337211988490119531772234164961167297199253640412574073423825026240961482753867775329754567193916530903121302416479603522480273402489878657186206359866607518772188978270329101093789688910655087300513938776532357343722406852823389393372706984404056704203036797675020985233911113202482147426577905452159178673922023755399597123772589953123887155675519933044145962505014037437793062408653299727573193662280382498449796445125469159586899167711536538899578827172213695725002872318477084295635226913084942755289944249034894333932698042685043062456355721082205819561558018756758669010872582664534062422975171490207025697952786004738487220059340804030901275350591034906938876348021394762008501024203635725413914958346062309391218834606018224874976455250381343656197027618832186042050081251826838054313877942349992469112367900805178635067139908793456946073716063856483644939947013946268078175470913821538372770903931737934105699135366656192494074123812299575572245737803755974147262279881828929271652490833729856141595699135694241133729004987293879912691789572893026190698420686821618062604545813106737590787192728889572765414225755030515516790270331179543337330545616640205943064545170773092364683844986125401214455732049419365605494714203480405920853335642448351449986980599 621664993659202946021866697787454210296165011027916654291225169898865067121049997815378976054865664953896005374394398178404865329761991601938785266916622179080884703395062087478740798845192051092158236855377373978094617744905636389821556098299847042344686394809444696512528558129248691296444634154254560143917174881272561966004261839879907686119150290043781930310339529135094840801710164866654529619203767136089951874103155367985879128129940758068654630050399386525635057683190392906638940846580091220181320689324743173430291487472804380625269542013354262492713940539654233596520214987802168471497057420675573515208306338699857232565988470064064002631638104664619198438520591885960254511733739025726448431761333670698989095929252987063527479935590524472915751725927814610005805696999123886940719531163723258060742253776040024293038482841450715430132346460422893914564854344334403109194236948569700326102017196024542152204446732941075096522891714154061687325563018804208377311173644655216925291275168056054674458104851937307130453165888553217146676720247689999627510730628552979150791956393312192791277541302020607625037230113586779000422315275464687237572544782370440588393982535606433290711542722585544980854204641105607594164984029077489730876850184553506428175963138567916759181941887401331229136797114327769933656985338237412716624878990365601447271256825277362669122587088187817636801652493161217729008835357583786374304147338249967309141406083445138523748372211561693592799984477954666555587945333257068210061649560209488914342339159328153133175674494369602954113780891684820639078497807012316750685197441855511234580175273150529519512359523301604778189959984489026261014855361606750178026822174393530420276538550595287299234172922512988419299551744173451095227708276489647662479286039523712886623649579618674439232844934158015639105061164270685231934875289681311287025511404982891961059376811727032380732298549046175452654659093361935636835561682212567138045183095257295808535001004281897960362612612998721212424243390955268750786731930311369853582103826318902449650041925603164419236043926911771619485061219635432639005144007811586571515726735690354365497391976162100574292851178485375114642745876495587313958208306010244248983866272345554792908364564007110481188591837959709318993072294366292605291826821367495390904212007808695951076869648264963026288954890589990610353043368441322853891857837055533207011920867590278412810342146259234925364985332735395989310905981891850737411827841810322392337350503943329158142805848024896030032385891204589555625621640487808753322011540370521074139410392637509569309764330446460046779814356485810297089079148305444770359996226705565413448411658257453321772920011969005301581978657727001055306593796045780921918141849993464779407876492492304324544748947837165679660061238815043638660158144558261917321584157493672403964741244171601393470986074983213559514654179810221895950428392278881753684549072798496001800620302749955950484308327692301208534795072275266453978603937809775420006950430217362929605111892357419108717316093335323498148562339548076930995435322213718729081978944579068465172605727736656264128115841128145964359421352530101506489215154929487976113855322137944469864361709354568091298430610524627023005065638783387734524396646722 1005875089356578231707283138322316068090724954307839945834268686639359990127323643667675958383118907425417029494145327724551413258909877726762115535228124886196154195589112001105054393847601909409297066946495726562973020229639687608792056316394580068448378948829434676053920492912163015317987581173889033138765356204138067683220475119773303395192440158037540497981919711410270143014156402083445840072668083081426834298402043143089585999358468696420728278456649446940479706512354714529841892671000170469083189727733502940302834677440767696434991453354298625812872341973529203505883934032204332598268565220662900185500344645809793606663571975769515209321318542555478729194355602350340812483368942896949781600365304554509850190995101681571962810532719217256631042281953629881367795773362217360222263996930510572977146080482009471116326711376338900078747285932836026953085660005783905031675754814738243755894900059458480368737169839101058081281095922773212760044564426907579966029749679147097717519068873103548126299855656286448456189597274765532567401761443516255534409070627543359930428674870640590027832061167672599372631283797574764443430923298931455248918181683118421451985201532111231723234685272459103904159315112580908910126371170062970397640612397151442616115463354661801751134410080948938396219013256507259494122774656687070936887069611097712583527211018403479108335773212349540027283846779790007048816068140928182426424352218993282787659773073323494849463264424612730719917214837074982777614262641255932377398990910519688414599376836166130629808766831381346845855922955001086495606277187942597015698684390474973471729344142352861385449226268555352038305952094513526632010548266660671756947777114282802941508676175802191654131640970178773806040853513331294259924427654946630097188867799878301170110346668139410116041808990814890216121580867847857922696054367848684582787385201203493411824433000121740274828252167555324476469754517695220230031917962516561241213051389388440690379564798954931752782552277315612913758200728167257240906263702545534814749401025572542862224115349428190660197526680779546949239628413551963542126446424291190093996000138180233022683598336028708093065040156755704215736535565406242401258722244786776606327588679198378182301737270991514537892794874757384339978306205479495087439253399272947550082885929832451350673993420854916150176110566109923654499005873455360291684920245708832934585114529870660911260138591384704084951884500446932528210484809064064433136830714128799476632985730856414100898095792273930924366318589247274598688077996208890959141573098389277832808421265220174103372187305617950253805512309271815035576299207646248801261271577296600320387288006278848083781421036172641026995893616073063364697812630651799146793118305243846123064073520111136510586799029088992517714375116757393631129270512459067095956651297402465860910814960235457877115926021997159827592829650724043434323199296210619687790248208165152194294694426562255526056554065496057182682057352157095383250256428643505276148546129353057170738840897344712988630007882908216524339260760234898549058039868026825466672766137307958037938019953491686779644906111459325507696751898146741712432279700100261068478539167124069871078817441403987456903925324728107428925918974425836085974383627321 1627540083015781177729149836109770278386889965335756600125493856538225057248373641483054934437984572379313034868539725902956278588671869328700900802144747065277038898984174088583795192692793960501455303801873100541067637974545323998613612414694427110793065343638879372566449051041411706614432215328143593282682531085410629649224736959653211081311590448081322428292259240545364983815866566950100369691871850217516786172505198511075465127488409454489382908507048833466114764195545107436480833517580261689264510417058246113733126164913572077060260995367652888305586282513183437102404149020006501069765622641338473700708650984509650839229560445833579211952956647220097927632876194236301066995102681922676230032126638225208839286924354668635490290468309741729546794007881444491373601470361341247162983528094233831037888334258049495409365194217789615508879632393258920867650514350118308140869991763307944081996917255483022520941616572042133177803987636927274447370127445711788343340923323802314642810344041159602800757960508223755586642763163318749714078481691206255161919801256096339081220631263952782819109602469693206997668513911161543443853238574396142486490726465488862040379184067717665013946227995044648885013519753686516504291355199140460128517462581704949044291426493229718510316351968350269625355810370835029427779759994924483653511948601463314030798467843680841777458360300537357664085499272951224777824903498511968800728499557243250096801179156768633373211636636174424312717199315029649333202207974513000587460640470729177328941715995494283762984441325750949799969703846685907134684774994954913766383881832330484706309519415503390904961585791856956816495912079002552893025403628267421934974599288676333361785214726397478953365813892691762225340405257504745355152135931436277759668153839402014056733996247758084555274653924972905855226642032118543154630929657529995869812896606186385372883809811848772655560550716601499929124413611057155866867479644729128379258234484645736498914565803236829713145164890314334126182444119122525991692995632856904668331504851891445311874157275031355079433570607691318568724689633187396181131590432102776665511726873870587388180990312190808667357891335241079330379281441901829715216930550797020855311454951543932975210101834998625019081386712717093658971378499845787692731080220640442940987097937641147301750863069119879176465065456699914264852049241896683145576778082764366141597035397460939324070480737643939010316869833182328517521390790955915170548658555939121868970336234799743259040901640298826954398704480451864154313699636696699712463584638759798906947831657857683672681951636064410300585326665757625332665378355951693571621267804002165733835699664536301405554341048141646328577872273800064420004406426697580068711260155237310902471950012603440835131547976926158197374436355572437269789428657017329013278235454896138264875556204407059270586912096980373387107483830534265330273627688489501441474797280963648196095314729312211476540862393188358391216852424432361837228860366453280696155496559570420100343952789702132097347323976243540022487823099782975480053475190240544195754745081887026503110625681228343043773021952587471472056173250676843218921494855029749044592394489262014340943179150758555548202355935252734451930984613209223820498780274043 2633415172372359409436432974432086346477614919643596545959762543177585047375697285150730892821103479804730064362685053627507691847581747055463016337372871951473193094573286089688849586540395869910752370748368827104040658204185011607405668731089007179241444292468314048620369543953574721932419796502032626421447887289548697332445212079426514476504030606118862926274178951955635126830022969033546209764539933298943620470907241654165051126846878150910111186963698280406594470707899821966322726188580432158347700144791749054035960842354339773495252448721951514118458624486712640608288083052210833668034187862001373886208995630319444445893132421603094421274275189775576656827231796586641879478471624819626011632491942779718689477919456350207453101001028958986177836289835074372741397243723558607385247525024744404015034414740058966525691905594128515587626918326094947820736174355902213172545746578046187837891817314941502889678786411143191259085083559700487207414691872619368309370673002949412360329412914263150927057816164510204042832360438084282281480243134722510696328871883639699011649306134593372846941663637365806370299797708736307887284161873327597735408908148607283492364385599828896737180913267503752789172834866267425414417726369203430526158074978856391660406889847891520261450762049299208021574823627342288921902534651611554590399018212561026614325678862084320885794133512886897691369346052741231826640971639440151227152851776236532884460952230092128222674901060787155032634414152104632110816470615768932964859631381248865743541092831660414392793208157132296645825626801686993630291052182897510782082566222805458178038863557856252290410812060412308854801864173516079525035951894928093691922376402959136303293890902199670607497454862870536031381258770836039615076563586382907856857021639280315226844342915897494671316462915787796071348222899966401077326984025378680452600281807389878784708242811970512930388802884156824405594168128752376096899397607245689620471285874034177189294130602191761465927717167629947039940644847289783232599259335402439483080905877463988174098272624459545739631097288470865517964318046739359723258036856393966759507727012050820410864588648219516760422931491996783546115817007308072116475652795583797461639043630742311157511839105990139556974181587474477998949684705325282780170333619913390491069983867473598652424856489974795326641176022809837919351055115352043437261698328473199076182149927331600235330619329028643095268754333629261045731875600019979603685489270067921345603321965656157359938997432572757878765023069699138753001777632905590671605157737149076739756252923077857776054138941682360554390838975029440368241677563597942372882539381298766054222987670815149489335762084314287355573765889873127784702219057349379215504378460481157025536023532714577345718347006015150715088811472329830900918699169476396109234886752298604125786371164642517147702838118977533214700313481258308764596826984700121129265045489128800390390009155874467002597416458684415573898909776589457220479116795096785972304042688923477271082793687046845085977331859151756546827083860017874029111515058267369662427511219194984541048645634720029823417928064046796979752925148823584931353774555130010113070933656386084212021996592162543005106281259980841880856903587635059906473163901364 4260955255388140587165582810541856624864504884979353146085256399715810104624070926633785827259088052184043099231224779530463970436253616384163917139517619016750231993557460178272644779233189830412207674550241927645108296178730335606019281145783434290034509636107193421186818594994986428546852011830176219704130418374959326981669949039079725557815621054200185354566438192501000110645889535983646579456411783516460406643412440165240516254335287605399494095470747113872709234903444929402803559706160693847612210561849995167769087007267911850555513444089604402424044906999896077710692232072217334737799810503339847586917646614829095285122692867436673633227231836995674584460107990822942946473574306742302241664618581004927528764843811018842943391469338700715724630297716518864114998714084899854548231053118978235052922748998108461935057099811918131096506550719353868688386688706020521313415738341354131919888734570424525410620402983185324436889071196627761654784819318331156652711596326751727003139756955422753727815776672733959629475123601403031995558724825928765858248673139736038092869937398546155666051266107059013367968311619897851331137400447723740221899634614096145532743569667546561751127141262548401674186354619953941918709081568343890654675537560561340704698316341121238771767114017649477646930633998177318349682294646536038243910966814024340645124146705765162663252493813424255355454845325692456604465875137952120027881351333479782981262131386860761595886537696961579345351613467134281444018678590281933552320271851978043072482808827154698155777649482883246445795330648372900764975827177852424548466448055135942884348382973359643195372397852269265671297776252518632418061355523195515626896975691635469665079105628597149560863268755562298256721664028340784970228699517819185616525175478682329283578339163655579226591116840760701926574864932084944231957913682908676322413178413576264157592052623819285585949353600758324334718581739809531963766877251974817999729520358679913688208696405428591179072882057944281166123088966412309224292254968259344151412410729355433485972429899490900819064667896162184086689007679926755904389627288496743425019453885921407799045578960410325427780822827237862876495098449209901831692583346380818316950498582286244132721940940988764576055568300191571657921063205171070472901413840553833432057081805114745954175719559094674503106241479509752184203104357248726582838476411237565217779185324792539559401100066672582105585624166811589563253266390975894774234147826007043214573658200455900618979899072871584833163727550151002907315477269602290384068742375908875646704084580935541448736090577746770854976165640787065700907055919549635944503807185300931788058687335351450894890103132455933684151638163673192204706625484046959284215638615718467928007973545318018180849894982941308912463247827902268170708127826493725122513122207194742390661927369049576418289750215957906601807797311792574094870454673189622570739842770092448586485323885186678479138278851872773965115762201021819057707977161550066668459539248493897371426746476748977183324655835395296569314906959800849509164990248507913858182256301082011044159271315948372867190950016634268451809098399500428150275269410159759157663328145648098552965175742921098553308637195233576332787888200844283726971944175407 6894370427760499996602015784973942971342119804622949692045018942893395151999768211784516720080191531988773163593909833157971662283835363439626933476890490968223425088130746267961494365773585700322960045298610754749148954382915347213424949876872441469275953928575507469807188138948561150479271808332208846125578305664508024314115161118506240034319651660319048280840617144456635237475912505017192789220951716815404027114319681819405567381182165756309605282434445394279303705611344751369126285894741126005959910706641744221805047849622251624050765892811555916542503531486608718318980315124428168405833998365341221473126642245148539731015825289039768054501507026771251241287339787409584825952045931561928253297110523784646218242763267369050396492470367659701902466587551593236856395957808458461933478578143722639067957163738167428460749005406046646684133469045448816509122863061922734485961484919400319757780551885366028300299189394328515695974154756328248862199511190950524962082269329701139363469169869685904654873592837244163672307484039487314277038967960651276554577545023375737104519243533139528512992929744424819738268109328634159218421562321051337957308542762703429025107955267375458488308054530052154463359189486221367333126807937547321180833612539417732365105206189012759033217876066948685668505457625519607271584829298147592834309985026585367259449825567849483549046627326311153046824191378433688431106846777392271255034203109716315865723083616952889818561438757748734377986027619238913554835149206050866517179903233226908816023901658815112548570857640015543091620957450059894395266879360749935330549014277941401062387246531215895485783209912681574526099640426034711943097307418123609318819352094594605968372996530796820168360723618432834288102922799176824585305263104202093473382197117962644510422682079553073897907579756548497997923087832051345309284897708287356775013460220966142942300295435789798516338156484915148740312749868561908060666274859220507620200806232714090877502827007620352645000599225574228206063733813702092456891514303661783634493316606819421660070702523950446558695765184633049604653325726666115627647664144890710184527180897972228209910167608629842188203754319234646422610915456517973948168236141964615778589542213028555290233780046978904133029749887666049656870747910496353253071747460467223923127065672588344606600576049069469829747417502319590103554159472600770020100174739710764293961335252124139794731719395701225200854378500440850608985141990995874377919637096074964560176980166112057978918896505444342711928750619850141660317254902507881055673900113057952386460337504013399224790229519429131409367004615816506069148733483147578317386346566599697842281675006166600384225865216770221039725404053546319989408844541396338499720017076199624953543997078032595526568241988956459627552059300232099071626826995970121231748008959493346516448298533692093565992588334935439816508110793050882859467281657889743700004888259221248976875333041061145481735695310557189539014671977611276278187093956646852640763581937417374642509540163795822269301987694547053116141990819818723538276505306775283520609767520276995585207916950668402690608878080681065431562023548324013081629043965289769270734261802034182764987172335083641558414918455214418213644791788479343633445108076771 11155325683148640583767598595515799596206624689602302838130275342609205256623839138418302547339279584172816262825134612688435632720088979823790850616408109984973657081688206446234139145006775530735167719848852682394257250561645682819444231022655875759310463564682700890994006733943547579026123820162385065829708724039467351295785110157585965592135272714519233635407055336957635348121802041000839368677363500331864433757732121984646083635517453361709099377905192508152012940514789680771929845600901819853572121268491739389574134856890163474606279336901160318966548438486504796029672547196645503143633808868681069060044288859977635016138518156476441687728738863766925825747447778232527772425620238304230494961729104789573747007607078387893339883939706360417627096885268112100971394671893358316481709631262700874120879912736275890395806105217964777780640019764802685197509551767943255799377223260754451677669286455790553710919592377513840132863225952956010516984330509281681614793865656452866366608926825108658382689369509978123301782607640890346272597692786580042412826218163111775197389180931685684179044195851483833106236420948532010549558962768775078179208177376799574557851524934922020239435195792600556137545544106175309251835889505891211835509150099979073069803522530133997804984990084598163315436091623696925621267123944683631078220951840609707904573972273614646212299121139735408402279036704126145035572721915344391282915554443196098846985215003813651414447976454710313723337641086373194998853827796332800069500175085204951888506710485969810704348507122898789537416288098432795160242706538602359879015462333077343946735629504575538681155607764950840197397416678553344361158662941319124945716327786230075633452102159393969729223992373995132544824586827517609555533962622021279089907372596644973794001021243208653124498696597309199924497952764136289541242811391196033097426638634542407099892348059609084102287510085673473075031331608371440024433152111195325619930326591394004565711523413048943824073481283518509372186822780114401681183769271921127785905727336174855146043132423441347377760433080795233691342333406592871532037291433387453609546634783893636008955746569040167615984577146472509299106013905727875779860819488345434095540040795314799422955720987967668709085318187857621314791811115667423725973161301021057355184147477703090560776295608164144332853658981829342287757263829849496602938651150948329511740520576916679354132819462373807306440002667252440172238408381971769152153784922082007774750638366567958597898795578315927545092478170001144567632732172110171439742642488966828033164422084948940673526320097175902264343170256603571770055789402697214261890153751900629630340362341518051279115968349226154723877042217219512194115470025443297783935655691918092881551970623350613707418136971897768540015307128134367242334954822463846354261131166688088907110225902741669984282338550893346418315908104843456954337736331079366270744731029313697563360656926247823960873974162429963504130434178633095335895071118196919309223121185911272013936286640544799452626643529942349685456897779619573047441495555283197378792023821359006629367188266616775557799828097315333883371121947824441231904313375449528428397589947682281317952348078004740111723555650447994546432679989323627360417052252178 18049696110909140580369614380489742567548744494225252530175294285502600408623607350202819267419471116161589426419044445846407295003924343263417784093298600953197082169818952714195633510780361231058127765147463437143406204944561030032869180899528317228586417493258208360801194872892108729505395628494593911955287029703975375609900271276092205626454924374838281916247672481414270585597714546018032157898315217147268460872051803804051651016699619118018704660339637902431316646126134432141056131495642945859532031975133483611379182706512415098657045229712716235509051969973113514348652862321073671549467807234022290533170931105126174747154343445516209742230245890538177067034787565642112598377666169866158748258839628574219965250370345756943736376410074020119529563472819705337827790629701816778415188209406423513188837076474443318856555110624011424464773488810251501706632414829865990285338708180154771435449838341156582011218781771842355828837380709284259379183841700232206576876134986154005730078096694794563037562962347222286974090091680377660549636660747231318967403763186487512301908424464825212692037125595908652844504530277166169767980525089826416136516720139503003582959480202297478727743250322652710600904733592396676584962697443438533016342762639396805434908728719146756838202866151546848983941549249216532892851953242831223912530936867195075164023797841464129761345748466046561449103228082559833466679568692736662537949757552912414712708298620766541233009415212459048101323668705612108553688977002383666586680078318431860704530612144784923252919364762914332629037245548492689555509585899352295209564476611018745009122876035791434166938817677632414723497057104588056304255970359442734264535679880824681601825098690190789897584715992427966832927509626694434140839225726223372563289569714607618304423703322761727022406276353857697922421040596187634850527709099483389872440098855508550042192643495398882618625666570588621815344081476933348085099426970415833240131132824108095443214350420669296469074080509092737578250556593816494138075283575582911420399043942994276806113834947391793936456198265428283295995659133258987159684955578278163794073815681865864218865914177670009804188331465707155721716929362245849728029055630310049874129583008343354713189501034946572842115068075523670971662559026163776979044908761488281278311213150291435167376871657233614162601076484148932391311423302450266623038825890659093805701855829040819148864538858075032507294381167693290781223550372967643530073422018156972334927618532680016576817692083760270257021228789851286227949987074618052495416542602024780419624759588962339898316549616605033673710174872420077839204522885844792579276500318500327472622037347684651663341833565996375763602446270765832183524314566839636283655672768117717835095967701383209233986378960854228167567366428366466313961781818433967586009140126181435423558524436433763550274926885828786234824018897894339813805017988969109970749619288534946540235989967308969442609669472987153043145106156244371614082165074843771949986703123328646656445826804340621721928631224489402801598888599438296585718000862058480899401791341636002214575105217285178248408706177996399314933145496148454313533357340739297699131851749716464082939520413088381670138474105662412760077471777802970993862160328949 29205021794057781164137212976005542163755369183827555368305569628111805665247446488621121814758750700334405689244179058534842927724013323087208634709706710938170739251507159160429772655787136761793295484996316119537663455506206712852313411922184192987896881057940909251795201606835656308531519448656978977784995753743442726905685381433678171218590197089357515551654727818371905933719516587018871526575678717479132894629783925788697734652217072479727804038244830410583329586640924112912985977096544765713104153243625223000953317563402578573263324566613876554475600408459618310378325409517719174693101616102703359593215219965103809763292861601992651429958984754305102892782235343874640370803286408170389243220568733363793712257977424144837076260349780380537156660358087817438799185301595175094896897840669124387309716989210719209252361215841976202245413508575054186904141966597809246084715931440909223113119124796947135722138374149356195961700606662240269896168172209513888191670000642606872096687023519903221420252331857200410275872699321268006822234353533811361380229981349599287499297605396510896871081321447392485950740951225698180317539487858601494315724897516302578140811005137219498967178446115253266738450277698571985836798586949329744851851912739375878504712251249280754643187856236145012299377640872913458514119077187514854990751888707804783068597770115078775973644869605781969851382264786685978502252290608081053820865311996108513559693513624580192647457391667169361824661309791985303552542804798716466656180253403636812593037322630754733957267871885813122166453533646925484715752292437954655088579938944096088955858505540366972848094425442583254920894473783141400665414633300761859210252007667054757235277200849584759626808708366423099377752096454212043696373188348244651653196942311252592098424724565970380146904972951166897846918993360323924391770520490679422969866737490050957142084991555007966720913176656262094890375413085304788109532579081611158860061459415502100008925873833718240293147561792611246950437379373930895819259052847504039206304771279169131952156967370833141314216631346223516987337992539851858691722247011665617403620450465759500227821660746710177420172908612179665020822943267973725507889875118655483969669623803658154136145222022914241551200386263381292286454370141831200705018070062509338633495360627994525728153167265397758495454735465978274679068687132299763225977477041607423317442376405957498502997358320448839813734383834945730953461958754939412682227206940238980109678256899247975174716487662076197802113706959852430795582719246728223935159185090991608452789181673911280571842869713780935938053345129023649609260312288542006841166654070400957102962399689202702942457801915222530487479488487985344377639784592282934067591328460035810716647938324733822941404515932751996707582673556500833556296736640897813940270271292869524330668750339175433534557265436722132653139927002737796768142754320048476241494350317848644103596646893556793403483643635417116547275540334877466949977236193040691259209824309239918670382113444885421174555274754431752487055786379057869633159496417341678278193815162995008843942293483901953806208534275311733198304267443972895545437670716188826127529441697398745400891868491093121781862029756110407306510151767126598354279212581127 47254717904966921744506827356495284731304113678052807898480863913614406073871053838823941082178221816495995115663223504381250222727937666350626418803005311891367821421326111874625406166567497992851423250143779556681069660450767742885182592821712510216483298551199117612596396479727765038036915077151572889740282783447418102515585652709770376845045121464195797467902400299786176519317231133036903684473993934626401355501835729592749385668916691597746508698584468313014646232767058545054042108592187711572636185218758706612332500269914993671920369796326592789984652378432731824726978271838792846242569423336725650126386151070229984510447205047508861172189230644843279959817022909516752969180952578036547991479408361938013677508347769901780812636759854400656686223830907522776626975931296991873312086050075547900498554065685162528108916326465987626710186997385305688610774381427675236370054639621063994548568963138103717733357155921198551790537987371524529275352013909746094768546135628760877826765120214697784457815294204422697249962791001645667371871014281042680347633744536086799801206029861336109563118447043301138795245481502864350085520012948427910452241617655805581723770485339516977694921696437905977339355011290968662421761284392768277868194675378772683939620979968427511481390722387691861283319190122129991406971030430346078903282825574999858232621567956542905734990618071828531300485492869245811968931859300817716358815069549020928272401812245346733880466806879628409925984978497597412106231781801100133242860331722068673297567934775539657210187236648727454795490779195418174271261878337306950298144415555114833964981381576158407015033243120215669644391530887729456969670603660204593474787687547879438837102299539775549524393424358851066210679606080906477837212414074468024216486512025860210402848427888732107169311249305024595769340033956511559242298229590162812842306836345559507184277635050406849339538843226850716705719494562238136194632006052026992100192592239610195452140224254387536762221642301703984528687935967747389957334336423086950626703815222163408758270802318224935250672829611651800283333651673110845851407202589943781197694266147625364446687574924380187224361240077886820742539872630219575235918930748965533843799206812001508849334723057860814393315454338904963258116929167994977684062978823997619911806573778285960895530038922631372658055811950127207070380110434750029849016302932266517123144232234998317651861897178523872321028765002639021734685509127907056212300628958395952444605875431927991751534179745836468059134935749703717023532706321346276430575727693016388872413941262873620470159419330385969611763520001443727448464835174386799420443154388901284575584437036887354605799635481218906251081934758751176561164099159122570351247001228153528551743906026117032175390894893606224875150039984867299870258518459331781526279411419050959754227274775609197084832192322550918887963945900632136581947772309017586212243969606383590643832636860865762846093313108404269590420646491121838564059401267884463209196527432568565326827940249226042896483905978921155288654674978496166218877497279400159177595606504631011058517398701187132054617240453308132513237412940121349858971028056928123826661293447115209483831388904181503452000503861772820066587623544929569348141372910076 76459739699024702908644040332500826895059482861880363266786433541726211739118500327445062896936972516830400804907402562916093150451950989437835053512712022829538560672833271035055178822354634754644718735140095676218733115956974455737496004743896703204380179609140026864391598086563421346568434525808551867525278537190860829421271034143448548063635318553553313019557128118158082453036747720055775211049672652105534250131619655381447120321133764077474312736829298723597975819407982657967028085688732477285740338462383929613285817833317572245183694362940469344460252786892350135105303681356512020935671039439429009719601371035333794273740066649501512602148215399148382852599258253391393339984238986206937234699977095301807389766325194046617888897109634781193842884188995340215426161232892166968208983890744672287808271054895881737361277542307963828955600505960359875514916348025484482454770571061973217661688087935050853455495530070554747752238594033764799171520186119259982960216136271367749923452143734601005878067626061623107525835490322913674194105367814854041727863725885686087300503635257847006434199768490693624745986432728562530403059500807029404767966515172108159864581490476736476662100142553159244077805288989540648258559871342098022720046588118148562444333231217708266124578578623836873582696830995043449921090107617860933894034714282804641301219338071621681708635487677610501151867757655931790471184149908898770179680381545129441832095325869926926527924198546797771750646288289582715658774586599816599899040585125705485890605257406294391167455108534540576961944312842343658987014170775261605386724354499210922920839887116525379863127668562798924565286004670870857635085236960966452685039695214934196072379500389360309151202132725274165588431702535118521533585602422712675869683454337112802501273152454702487316216222256191493616259027316835483634068750080842235812173573835610464326362626605414816060452019883112811596094907647542924304164585133638150960254051655112295461066098088105777055369204094315231479125315341678285776593389270590989833008586501332540710427769689058076564889460957875317270671644212962704543129449601609398601314716613384864674509235671090364644534148690066485763362815898193300743808805867621017813468830615659662985479945080775055944515840602286255544571299309826178389081048886506958545301934406280486623683206188029131153510547416105481749448797567049793074993779973873940440586608640955816154859255498972712134763148837584752688147467882846468894527835898634932554284132331175966926250667407912665861248642709556147819115425568074500365734912784007997325203122936784901042002289044166905549816865130467377057725147462928806261609808459302241678546836726090057548257437396441436738561423246736520938803883751405504418838329688189339268391844350850855116795410826358221582732713541368133426555255100229595466549682711920484084896025114784630619389457759273051541103872903369933350090526629066062453738319924232234747429283754422556249576956743821386137696186825999305514036637460925154468406351741808483997210053694111464071039180733352907775710461357554035852036993696741837455789421667626019902459692185089085860825774728619865711541680384094245404408698773116949954190735144513954884723257395274625233862533617883227373097775312056167702420585491203 123714457603991624653150867688996111626363596539933171165267297455340617812989554166269003979115194333326395920570626067297343373179888655788461472315717334720906382094159382909680584988922132747496141985283875232899802776407742198622678597565609213420863478160339144476987994566291186384605349602960124757265561320638278931936856686853218924908680440017749110487459528417944258972353978853092678895523666586731935605633455384974196505990050455675220821435413767036612622052175041203021070194280920188858376523681142636225618318103232565917104064159267062134444905165325081959832281953195304867178240462776154659845987522105563778784187271697010373774337446043991662812416281162908146309165191564243485226179385457239821067274672963948398701533869489181850529108019902862992053137164189158841521069940820220188306825120581044265470193868773951455665787503345665564125690729453159718824825210683037212210257051073154571188852685991753299542776581405289328446872200029006077728762271900128627750217263949298790335882920266045804775798281324559341565976382095896722075497470421772887101709665119183115997318215533994763541231914231426880488579513755457315220208132827913741588351975816253454357021838991065221417160300280509310680321155734866300588241263496921246383954211186135777605969301011528734866016021117173441328061138048207012797317539857804499533840906028164587443626105749439032452353250525177602440116009209716486538495451094150370104497138115273660408391005426426181676631266787180127765006368400916733141900916847774159188173192181834048377642345183268031757435092037761833258276049112568555684868770054325756885821268692683786878160911683014594209677535558600314604755840621171046159827382762813634909481799929135858675595557084125231799111308616024999370798016497180700086169966362973012904121580343434594485527471561216089385599061273347042876366979671005048654480410181169971510640261655821665399990863109963528301814402209781060498796591185665143060446643894722490913206322342493313817590846396019216007813251309425675733927725693677940459712401723495949468698572007283011815562290569527117554005295886073550394536652191553179799008982761010229121196810595470551868895388767953306505902688528412875979727736616586551657268037427661171834814668138635870337831294941191218802688228477821156073144027710504578457108508184566447519213245110660503811566359366232688819828908001799822924010082906140457563730840875954133806721152677496584455791913840223774422832977010753525106828464857030884998890007763103958677784847153749133920383578459259864842648131889420776796310640477024386197617064199658521512161708374552875161580385131911104506189982637315605682052962848203526254131273762977412154057072877660342989643358005487697499967982910528074770085330916342867820135750376967887292186305719964446457882753526235433296813773559561376992829094130971443839123299890393827704221650081823970429067818804002069932038298938083648665982289530615825391261920615288319095670269852225655728116833317121144078096038728809617677602879174377049324037993943337506967523086712274063064365136336050202070914490976141996633385028172257030960977090886276217915443015181927998224779093324215595263379726830045073780852028591629164368554646299456128685863037479656047439685398856985737050561958401279 200174197303016327561794908021496938521423079401813534432053730997066829552108054493714066876052166850156796725478028630213436523631839645226296525828429357550444942766992653944735763811276767502140860720423970909118535892364716654360174602309505916625243657769479171341379592652854607731173784128768676624790839857829139761358127720996667472972315758571302423507016656536102341425390726573148454106573339238837469855765075040355643626311184219752695134172243065760210597871583023860988098279969652666144116862143526565838904135936550138162287758522207531478905157952217432094937585634551816888113911502215583669565588893140897573057927338346511886376485661443140045665015539416299539649149430550450422460879362552541628457040998157995016590430979123963044371992208898203207479298397081325809730053831564892476115096175476926002831471411081915284621388009306025439640607077478644201279595781745010429871945139008205424644348216062308047295015175439054127618392386148266060688978408171496377673669407683899796213950546327668912301633771647473015760081749910750763803361196307458974402213300377030122431517984024688388287218346959989410891639014562486719988174648000021901452933466292989931019121981544224465494965589270049958938881027076964323308287851615069808828287442403844043730547879635365608448712852112216891249151245666067946691352254140609140835060244099786269152261593427049533604221008181109392911300159118615256718175832639279811936592463985200586936315203973223953427277555076762843423780955000733333040941501973479645078778449588128439545097453717808608719379404880105492245290219887830161071593124553536679806661155809209166741288580245813518774963540229471172239841077582137498844867077977747830981861300318496167826797689809399397387543011151143520904383618919893375955853420700085815405394732798137081801743693817407583001858088590182526510435729751847284466653984016780435837002888261236481460442882993076339897909309857323984802961176319303294020700695549834786374272420430599090872960050490334447486938566651103961510521114964268930292720988224828490179126341696341088380451751527402434824676940099036254937666101793162578400323699374395093795706046266560916513429537458019792269265504426606176723536542484207569470736868043320834820294613219410926282347135543477474347259527787647334462225076597011537002410442590846934142896451298689634965076906782338170569277705568849615999003862880014398004317449516909949961580408176469296590555062677808527110980444893599994001356300755665817553174140094279925604035514561661799781632221168816012661763557457495277162045553261032383522820187136443422554163997418719780711397250262378481563915130100244411943662771307505767932678110489067469702314510274101779728204781252224218438771866661933579188923660604532207088527594727818742408981716546322668040615467067603566723369028659790972459378776842891927924019325005178458323611107841097021970171691707372003282128825567149711119720609454848060138691204369710875345247226596047041865813020143120449592132676189734772146009230916185533321248047637448971038562267445626970840075597693604237922951484672883834089174449839883050863436783071365303776268789910547863936320773708309840667788425603162023735042763736143119253277903694730753919725571097539274812783174169041904752982543892482 323888654907007952214945775710493050147786675941746705597321028452407447365097608659983070855167361183483192646048654697510779896811728301014757998144146692271351324861152036854416348800198900249637002705707846142018338668772458852982853199875115130046107135929818315818367587219145794115779133731728801382056401178467418693294984407849886397880996198589051533994476184954046600397744705426241133002097005825569405461398530425329840132301234675427915955607656832796823219923758065064009168474250572855002493385824669202064522454039782704079391822681474593613350063117542514054769867587747121755292151964991738329411576415246461351842114610043522260150823107487131708477431820579207685958314622114693907687058748009781449524315671121943415291964848613144894901100228801066199532435561270484651251123772385112664421921296057970268301665279855866740287175512651691003766297806931803920104420992428047642082202190081359995833200902054061346837791756844343456065264586177272138417740680071625005423886671633198586549833466593714717077432052972032357326058132006647485878858666729231861503922965496213238428836199558683151828450261191416291380218528317944035208382780827935643041285442109243385376143820535289686912125889550559269619202182811830623896529115111991055212241653589979821336517180646894343314728873229390332577212383714274959488669793998413640368901150127950856595887699176488566056574258706286995351416168328331743256671283733430182041089602100474247344706209399650135103908821863942971188787323401650066182842418821253804266951641769962487922739798901076640476814496917867325503566269000398716756461894607862436692482424501892953619449491928828112984641075788071486844596918203308545004694460740561465891343100247632026502393246893524629186654319767168520275181635417074076042023387063058828309516313141571676287271165378623672387457149863529569386802709422852333121134394197950407347643149917058146860433746103039868199723712067105045301757767504968437081147339444557277287478742773092404690550896886353663494751817960529637244448840657946870752433389948324439647824913703624100196014042096929552378682235985109805332202753984715758199332682135405322916902856862031468382324926225973098775168192955019052703264279100794121128004905470982006655109281358046796620178430484668693149947756265468490535369104307516115459518950775413381662109696409350138776643266148570859389106613570649438923013945786154855568048290392864083768301560853965881046346976518032301533813421904353519108184765612696702552064147857383884281820361715410933702015799628075877504411689346916053958356193738056769720437251336101944066325705793272655872977635394289586070105112737560017625715734155709294186809384252044881856371583151762122717848139257711915938739849572461653959008991520875074908663345104786629701168022266287114498498220593839000020182802219352349452207870973863371763142624895572286027832757922920992399239510511374073214167124505233359785702898985463885529953124984999194440917496448272697593929853460241593670228714918544389823612110090562582645286041580786478006085354157901033904440734029654439993865975649025830722559478012140081824413873957641521691711805092475862161099867032525435931168152433207097515894792327772283621832549994186882605588608577195322252468573026027641803544502293761 524062852210024279776740683731989988669209755343560240029374759449474276917205663153697137731219528033639989371526683327724216420443567946241054523972576049821796267628144690799152112611475667751777863426131817051136874561137175507343027802184621046671350793699297487159747179872000401846952917860497478006847241036296558454653112128846553870853311957160353957501492841490148941823135431999389587108670345064406875317163605465685483758612418895180611089779899898557033817795341088924997266754220225521146610247968195767903426589976332842241679581203682125092255221069759946149707453222298938643406063467207321998977165308387358924900041948390034146527308768930271754142447359995507225607464052665144330147938110562323077981356669279938431882395827737107939273092437699269407011733958351810460981177603950005140537017471534896271133136690937782024908563521957716443406904884410448121384016774173058071954147329089565420477549118116369394132806932283397583683656972325538199106719088243121383097556079317098382763784012921383629379065824619505373086139881917398249682219863036690835906136265873243360860354183583371540115668608151405702271857542880430755196557428827957544494218908402233316395265802079514152407091478820609228558083209888794947204816966727060864040529095993823865067065060282259951763441725341607223826363629380342906180022048139022781203961394227737125748149292603538099660795266887396388262716327446946999974847116372709993977682066085674834281021413372874088531186376940705814612568278402383399223783920794733449345730091358090927467837252618885249196193901797972817748856488888228877828055019161399116499143580311102120360738072174641631759604616017542659084437995785446043849561538718309296873204400566128194329190936702924026574197330918312041179565254336967451997876807763144643714911045939708758089014859196031255389315238453712095897238439174699617587788378214730843184646038178294628320876629096116208097633021924429030104718943824271731101848034994392063661751163203691495563510947376688110981690384611633598754969955622215801045154378173152929826951255399965188576465793624331987203359176084146060269868855777878336599656381509800416712608903128592384895754463683992891044433697381625229426800821585001690598741773514302841475403894577457722902525566028146167497207284053115824997594180904527652461929393366260315805006147708039773741720172930909029958384319139499054922017808666169253572365739909774033729881969030435177636902039195840828644793866797953513109541066368362520105238287951663809885855876277072733483648020796891890166175246804411331120401746999089153243257438472545366620489703211992436584374885656668067634020242837804429569378505463215062119487494741112351558686093425863902446052920509936134377511716234395233147932652125407281997190939832605372110149738812609782539113687661442566743551830879143321911586647816755299687161949900750744351443865764018014369411202218746076496295950072383070905423508440311945668644329354710069786164723044319739459742873603362043262361391108279161969621341006748115966534089218235449044647621603528004744516331723258677916817460321909664811733927852023132687850657029006825467980595003023726097420640740835276598956578036369121250937556063915402875110453688917636525314179674734597065251747195069546556527046186243 847951507117032231991686459442483038816996431285306945626695787901881724282303271813680208586386889217123182017575338025234996317255296247255812522116722742093147592489296727653568461411674568001414866131839663193155213229909634360325881002059736176717457929629115802978114767091146195962732051592226279388903642214763977147948096536696440268734308155749405491495969026444195542220880137425630720110767350889976280778562135891015323890913653570608527045387556731353857037719099153989006435228470798376149103633792864969967949044016115546321071403885156718705605284187302460204477320810046060398698215432199060328388741723633820276742156558433556406678131876417403462619879180574714911565778674779838237834996858572104527505672340401881847174360676350252834174192666500335606544169519622295112232301376335117804958938767592866539434801970793648765195739034609407447173202691342252041488437766601105714036349519170925416310750020170430740970598689127741039748921558502810337524459768314746388521442750950296969313617479515098346456497877591537730412198013924045735561078529765922697410059231369456599289190383142054691944118869342821993652076071198374790404940209655893187535504350511476701771409622614803839319217368371168498177285392700625571101346081839051919252770749583803686403582240929154295078170598570997556403576013094617865668691842137436421572862544355687982344036991780026665717369525593683383614132495775278743231518400106140176018771668186149081625727622772524223635095198804648785801355601804033465406626339615987253612681733128053415390577051519961889673008398715840143252422757888627594584516913769261553191626004812995073980187564103469744744245691805614145929034913988754588854255999458870762764547500813760220831584183596448655760851650685480561454746889754041528039900194826203472024427359081280434376286024574654927776772388317241665284041148597551950708922772412681250532289188095352775181310375199156076297356733991534075406476711329240168182995374438949340949229905976783900254061844263041774476442202572163235999418796280162671797587768121477369474776169103589288772479835721261539582041412069255865602071609762594094798989063645205739629511759990623853278079389909965989819601890336644282130065100685795811726746678985284848130513175935504519522703996512814860647155040318584315532963285212043767921448344141673697467115844117389912518363439079479889347490932710148493845031754452324109140414030302638117498183529884401058683249015713873130178607288702307032217725831981059222657302435809047694167676237992483667185663820424967767670586936151327385078757940737145922963694689808647310686815409005265092457352521050957653704125355575364447195094239618924356306296878993157233415057676577626025163901059767648050316251565806856887106941643646282356905854284937392001811317761078896897037611908255281566763734633098495671363794518790618671450304574796323030379276623686939006768650712730120149710463074577616430691126407425775831198597454339709264227082219492592437053672727063603636932590106026823551793233451097310698611820130799021927050732975761429038648957065752913117910683435970935495534293405864163214512264530986648347159692400095499588258520507773360712530124730469576218766832348391687686496943003683104519130902788251929919317720320221097188360071548480004 1372014359327056511768427143174473027486206186628867185656070547351356001199508934967377346317606417250763171389102021352959212737698864193496867046089298791914943860117441418452720574023150235753192729557971480244292087791046809867668908804244357223388808723328413290137861946963146597809684969452723757395750883251060535602601208665542994139587620112909759448997461867934344484044015569425020307219437695954383156095725741356700807649526072465789138135167456629910890855514440242914003701982691023897295713881761060737871375633992448388562750985088838843797860505257062406354184774032344999042104278899406382327365907032021179201642198506823590553205440645347675216762326540570222137173242727444982567982934969134427605487029009681820279056756504087360773447285104199605013555903477974105573213478980285122945495956239127762810567938661731430790104302556567123890580107575752700162872454540774163785990496848260490836788299138286800135103405621411138623432578530828348536631178856557867771618998830267395352077401492436481975835563702211043103498337895841443985243298392802613533316195497242699960149544566725426232059787477494227695923933614078805545601497638483850732029723258913710018166675424694317991726308847191777726735368602589420518306163048566112783293299845577627551470647301211414246841612323912604780229939642474960771848713890276459202776823938583425108092186284383564765378164792481079771876848823222225743206365516478850169996453734271823915906749036145398312166281575745354600413923880206416864630410260410720702958411824486144342858414304138847138869202300513812961001279246776856472412571932930660669690769585124097194340925636278111376503850307823156805013472909774200632703817538177180059637751901379888415160775120299372682335048981603792602634312144091008980037777002589348115739338405020989192465300883770686183166087626770953761181279587772251568296711150627412093716935226273647403502187004295272284394989755915963105511195655153511899284843409433341404610981069180475395817572791639729885458132587183796834754388751902378472842742146294630299301727424503554477348945629345593526785400588153401925871940465540472431398645445155006156342120663119216238173833853593958880864035587718269511556865922270797502325488452499587689605917070512962242425229562540961028144362324371700140530557466116571420383377737507934013272121991825429686260083612010388919305875251849647548767049563118493362712779770212412151228065498914836236320151054909713958823401155500260545327266898349421742762540723760711504053532114269556400669311841221859657836762182955738716199159687736235076206952128281192677307305112217257529041727406707625721338145598413168876764472745082139418425784373734269584973743770003489927609953980277584184693763282041252120254874295771689638903045224769997373921467499891506679576725595916724133507286463977638993275381166607373971137466524697073774730720489450957021138061914948866226206759024649999501596549915866087776867241783694419334013246942536912176513415600666965680194951497135102713762854792104058814578354220017257376095380597364957043393473397476171795827500896292845160346027333716186347200115188015655172627672995098523314355941148514195989129081308505945340017769904455603089372053457372022155656216967926664516382972067416166734916598594666247 2219965866444088743760113602616956066303202617914174131282766335253237725481812206781057554903993306467886353406677359378194209054954160440752679568206021534008091452606738146106289035434824803754607595689811143437447301020956444227994789806304093400106266652957529093115976714054292793772417021044950036784654525465824512750549305202239434408321928268659164940493430894378540026264895706850651027330205046844359436874287877247716131540439726036397665180555013361264747893233539396903010137211161822273444817515553925707839324678008563934883822388973995562503465789444364866558662094842391059440802494331605442655754648755654999478384355065257146959883572521765078679382205721144937048739021402224820805817931827706532132992701350083702126231117180437613607621477770699940620100072997596400685445780356620240750454895006720629350002740632525079555300041591176531337753310267094952204360892307375269500026846367431416253099049158457230876074004310538879663181500089331158874155638624872614160140441581217692321391018971951580322292061579802580833910535909765489720804376922568536230726254728612156559438734949867480924003906346837049689576009685277180336006437848139743919565227609425186719938085047309121831045526215562946224912653995290046089407509130405164702546070595161431237874229542140568541919782922483602336633515655569578637517405732413895624349686482939113090436223276163591431095534318074763155490981318997504486437883916584990346015225402457972997532476658917922535801376774550003386215279482010450330037036600026707956571093557614197758248991355658809028542210699229653104253702004665484066997088846699922222882395589937092268321113200381581121248095999628770950942507823762955221558073537636050822402299402193648635992359303895821338095900632289273164089059033845050508077677197415551587763765764102269626841586908345341110942860015088195426465320736369803519005633923040093344249224414369000178683497379494428360692346489907497180917672366482752067467838783872290745560210975157259296071634635902771659934574789755960070753807548182541144640329914416107668776503593607143766121425465066855066367442000222657791474012075303066526197634508800211895971632423109840091451913243503924870683637478054913793686931022956593314052235131484872537736430246448466761947933559053775888791517364690284456063520751328615188304826081649607710739237835942819598778447051089868808653366184559796042612081317570817471853193800515050268726249028799237295003400070623587089002008444202567577544992730330480965419843159569759198221208352262040067854975661646827425507349119107066101277917628473380999170646818089839987994120521222522621499079927758583375042270953988533323959566984701063774732081252727426818388801446581115952773855040045232235010014847848109007361815939417971995808899509707389375732785260970403576614337504172005700271021097076134664639175685397992642587771099493396805109997113137896027906712627678986375917222099227615932287676323291863608065839238034128598240329162029504613567088327730569317127541603161926265556088243201369513190174350816279303146113573126386082042430463229084913738184332263780655880320739580349561712379719002303519787365395194022902614461656287556701659206038975521558784602252847290775868996461055126674787119756178594435700692387637263923276670143146251 3591980225771145255528540745791429093789408804543041316938836882604593726681321141748434901221599723718649524795779380731153421792653024634249546614295320325923035312724179564559009609457975039507800325247782623681739388812003254095663698610548450623495075376285942383253838661017439391582101990497673794180405408716885048353150513867782428547909548381568924389490892762312884510308911276275671334549642742798742592970013618604416939189965798502186803315722469991175638748747979639817013839193852846170740531397314986445710700312001012323446573374062834406301326294701427272912846868874736058482906773231011824983120555787676178680026553572080737513089013167112753896144532261715159185912264129669803373800866796840959738479730359765522405287873684524974381068762874899545633655976475570506258659259336905363695950851245848392160570679294256510345404344147743655228333417842847652367233346848149433286017343215691907089887348296744031011177409931950018286614078620159507410786817481430481931759440411485087673468420464388062298127625282013623937408873805606933706047675315371149764042450225854856519588279516592907156063693824331277385499943299355985881607935486623594651594950868338896738104760472003439822771835062754723951648022597879466607713672178971277485839370440739058789344876843351982788761395246396207116863455298044539409366119622690354827126510421522538198528409560547156196473699110555842927367830142219730229644249433063840516011679136729796913439225695063320847967658350295357986629203362216867194667446860437428659529505382100342101107405659797656167411412999743466065254981251442340539409660779630582892573165175061189462662038836659692497751946307451927755955980733537155854261891075813230882040051303573537051153134424195194020430949613893065766723371177936059488115454200004899703503104169123258819306887792116027294108947641859149187646600324142055087302345073667505437966159640642647582185684383789700645087336245823460286428868021636263966752682193305632150171192044337734691889207427542501545392707376939756905508196300084919617483072060710737968078231018110698243470371094412448593152842588376059717345952540843538957596279953955218052313753086229056329625747097097883751547673065773183305243796945227390816377723583984460227342347316961429004373163121594736916935879689061984596594078217445186608688203819157541724011359827768249285038530663100257727959241436409443591379130880689310834565973570727462419954314527714073531323551125533301047825409599702828122872259628679902708182383883330470702274740466531596468524287502868687083344111302062804817477077316209616075377598946371032665301425633439780150540807334466209096380416552401702200724039729783203193157865626461696403362545216584605880383809020322816419703778129889361127616690235189661634711944734477386749654252760861910256191063100088729833778307561053773657914556852005366613725237624190470579840717602588853049044774542627852602123981123877615433884226239157951384933081021728547932253576104566416790080503928397534997322493100297028979318943035305428327768528570833536679241494170491343125435903860705256709565685228556625816226348073296535908912494907017958692415038390292546216970402804801752690788287347481466898802372157302893865241049918427148830443336724105258952083664455053430658193268737812498 5811946092215233999288654348408385160092611422457215448221603217857831452163133348529492456125593030186535878202456740109347630847607185075002226182501341859931126765330917710665298644892799843262407920937593767119186689832959698323658488416852544023601342029243471476369815375071732185354519011542623830965059934182709561103699819070021862956231476650228089329984323656691424536573806983126322361879847789643102029844301495852133070730405524538584468496277483352440386641981519036720023976405014668444185348912868912153550024990009576258330395763036829968804792084145792139471508963717127117923709267562617267638875204543331178158410908637337884472972585688877832575526737982860096234651285531894624179618798624547491871472431709849224531518990864962587988690240645599486253756049473166906944105039693525604446405746252569021510573419926781589900704385738920186566086728109942604571594239155524702786044189583123323342986397455201261887251414242488897949795578709490666284942456106303096091899881992702779994859439436339642620419686861816204771319409715372423426852052237939685994768704954467013079027014466460388080067600171168327075075952984633166217614373334763338571160178477764083458042845519312561653817361278317670176560676593169512697121181309376442188385441035900490027219106385492551330681178168879809453496970953614118046883525355104250451476196904461651288964632836710747627569233428630606082858811461217234716082133349648830862026904539187769910971702353981243383769035124845361372844482844227317524704483460464136616100598939714539859356397015456465195953623698973119169508683256107824606406749626330505115455560764998281730983152037041273619000042307080698706898488557300111075819964613449281704442350705767185687145493728091015358526850246182338930812430211781109996193131397420451291266869933225528446148474700461368405051807656947344614111921060511858606307978996707598782215384055011647760869181763284129005779682735730957467346540388119016034220520977177922895731403019494993987960842063445273205327282166695716976262003848267460762123401975126845636854734611717842009591796559479303659520284588598717508819964616146605483793914462755429948285385509338896421077660340601808622231310543828097098930727968183984130429958715469332765078777563409895766321096680648512805727397053752269052657598968773801796993029900807149434750597663711068883816977714190126536612607620969239633991212198260128306419167371242512688680563556513310826326951196156888136827418043905395700417252359010383673602227042900229900495948818793636536379263164515514508851460421169870918754994944682997074548245764460872653295546154662302772039887262224792471422687506390235524683606714484266967889946879189123221751346663165721833157664060368048654713792977737470134978506174607633630520844244184776125387038021832313832805400604260735534049328658129908322553732537403359256313008723683867384950714715726749076951487170306838978041203223105231366171902562449814992998920259762676530493905266595921403647592256128104314450034703458955244875031278506797840958702921649815982387607743617729207478334323934341623303869560820406472106668812876885470624874626020262212202403785486569119584864461089309392447493386456988457586974410150184641110046379482275505230456480283853387784356842690694581469938880958749 9403926317986379254817195094199814253882020227000256765160440100462425178844454490277927357347192753905185402998236120840501052640260209709251772796796662185854162078055097275224308254350774882770208246185376390800926078644962952419322187027400994647096417405529413859623654036089171576936621002040297625145465342899594609456850332937804291504141025031797013719475216419004309046882718259401993696429490532441844622814315114456550009920371323040771271811999953343616025390729498676537037815598867514614925880310183898599260725302010588581776969137099664375106118378847219412384355832591863176406616040793629092621995760331007356838437462209418621986061598855990586471671270244575255420563549661564427553419665421388451609952162069614746936806864549487562369759003520499031887412025948737413202764299030430968142356597498417413671144099221038100246108729886663841794420145952790256938827586003674136072061532798815230432873745751945292898428824174438916236409657329650173695729273587733578023659322404187867668327859900727704918547312143829828708728283520979357132899727553310835758811155180321869598615293983053295236131293995499604460575896283989152099222308821386933222755129346102980196147605991316001476589196341072394128208699191048979304834853488347719674224811476639548816563983228844534119442573415276016570360426251658657456249644977794605278602707325984189487493042397257903824042932539186449010226641603436964945726382782712671378038583675917566824410928049044564231736693475140719359473686206444184719371930320901565275630104321814881960463802675254121363365036698716585234763664507550165145816410405961088008028725940059471193645190873700966116751988614532626462854469290837266930081855689262512586482402009340722738298628152286209378957799860075404697535801389717169484308585597425350994769974102348787265455362492577395699160755298806493801758521384653913693610324070375104220181543695654295343054866147073829650867018981554417753775408409755280000973203170483555045902595063832728679850049490987774750719989543635473881770200148352380379606474035837583604932965629828540253062167653891752252673127176974777226165917156990144441390194416710648000599138595567952750703407437699692373778983609601280404174524913411374946807682299453792992421124880371324770694259802243249722663276742814253649251677186218988405681233719964691158761957491479318168855508377290384264571849057378683225370343078949439140985140941969975108634878084227384357650502321690189184652827643608223823289511987690286381784610926230700602770689285325233004903550667384201592195571723232675736232072260892613149925844710831905318596971788102082922580694596691001567803104058791937725407646444267470161047812505650819625113891879750327713541473080690865074417571107626831262595196409797295265232788978662162875041290782694224088996463704349465367827636219183681980468289389408725870038246347874337964791432318315602125996261712934691580165184346982846800056128801607766377932001281491224462747481371162338193728096184525639311772527803755984224193974313812226168727231492483352661629101914109072332914238184639598332869554789377032288333016886173421379537369533038220904617442175779115336555267265891062083235780733938455356389346567453078506351096297909424335673793204389112339868021297744125239663207618771247 15215872410201613254105849442608199413974631649457472213382043318320256631007587838807419813472785784091721281200692860949848683487867394784253998979298004045785288843386014985889606899243574726032616167122970157920112768477922650742980675444253538670697759434772885335993469411160903762291140013582921456110525277082304170560550152007826154460372501682025103049459540075695733583456525242528316058309338322084946652658616610308683080650776847579355740308277436696056412032711017713257061792003882183059111229223052810752810750292020164840107364900136494343910910462993011551855864796308990294330325308356246360260870964874338534996848370846756506459034184544868419047198008227435351655214835193459051733038464045935943481424593779463971468325855414450150358449244166098518141168075421904320146869338723956572588762343750986435181717519147819690146813115625584028360506874062732861510421825159198838858105722381938553775860143207146554785680238416927814186205236039140839980671729694036674115559204396890647663187299337067347538966999005646033480047693236351780559751779791250521753579860134788882677642308449513683316198894166667931535651849268622318316836682156150271793915307823867063654190451510628563130406557619390064304769375784218492001956034797724161862610252512540038843783089614337085450123751584155826023857397205272775503133170332898855730078904230445840776457675233968651451612165967817055093085453064654199661808516132361502240065488215105336735382630403025807615505728599986080732318169050671502244076413781365701891730703261529421819820199690710586559318660397689704404272347763657989752223160032291593123484286705057752924628342910742239735752030921613325169752957848137378005901820302711794290924752715107908425444121880377224737484650106257743628348231601498279480501716994845802286036844035574315711603837193038764104212562955753838415870442445165772299918303067082703002396927750665943103924047910357958656646701717285375221121948797874296035193724147661477941633998083327722667810891554433047956047271710331190858032203996619841141729876010964429241787700241546382262653964213371055912193411765573494734985881773136749925184108879466077948884524104906849171781067778301500996010294153429377503105252881595359077237641014923125757499902443781220537015356482891762528390673796566522701909276154992790202674263620771840593512555155190387052672486091480510801184456678347922859361555277209567447404308313212487797315441640740695183977453517847077321480245687513619523706764346700670055386837969130930503266638104118869541282813831899716101047032144402546654987067205575610224474090475292777971892517942764385694620581858915794039225791565182173250091253158751737128937759384839942846865238542916049546699137141058913729131364085364301397573702584404928895753633222846939000428328804526537921801864308610200901876964877313590303022021926812085126351255071558205349742147034042351202947748883241530558206387570088078166228031364057581370930921541253900993241386637758259597375688440653743626222562507214939469069005592319024009685934414133168644016709657726801540392572508573939956173424350197438760439685699050306850162244159058483116819845961265684456140131726980371475683274120395443813976320977603263147461142677391699840904249684672965727652378140434819821133146499729996 24619798728187992508923044536808013667856651876457728978542483418782681809852042329085347170819978537996906684198928981790349736128127604493505771776094666231639450921441112261113915153594349608802824413308346548721038847122885603162302862471654533317794176840302299195617123447250075339227761015623219081255990619981898780017400484945630445964513526713822116768934756494700042630339243501930309754738828854526791275472931724765233090571148170620127012120277390039672437423440516389794099607602749697674037109533236709352071475594030753421884334037236158719017028841840230964240220628900853470736941349149875452882866725205345891835285833056175128445095783400859005518869278472010607075778384855023479286458129467324395091376755849078718405132719963937712728208247686597550028580101370641733349633637754387540731118941249403848852861618368857790392921845512247870154927020015523118449249411162872974930167255180753784208733888959091847684109062591366730422614893368791013676401003281770252139218526801078515331515159237795052457514311149475862188775976757331137692651507344561357512391015315110752276257602432566978552330188162167535996227745552611470416058990977537205016670437169970043850338057501944564606995753960462458432978074975267471306790888286071881536835063989179587660347072843181619569566324999431842594217823456931432959382815310693461008681611556430030263950717631226555275655098507003504103312094668091164607534898915074173618104071891022903559793558452070371847242422075126800091791855257115686963448344102267267167360807583344303780284002365964707922683697096406289639036012271208154898039570438252681131513012645117224118273533784443205852504019536145951632607427138974644935983675991974306877407154724448631163742750032663434116442449966333148325884032991215448964810302592271153280806818137923102977059199685616159803373318254560332217628963829819685993528627137457807222578471446320238446978914057431788307513720698839792974897357207629576036166927318145032987536593147160451347660941045420822706767261253966664739802404144972221521336350046802012846720665871374922515716131867262808164866538942548271961151798930126894366574303296176725949483662700474801922484475216001193369789277763030657907279777795006734024045323314376918749921027324152545307709616285135012251053950539380776351160953341211778608355497340736531752274512646669705221527994468770895065756305735726606084731898356159006588389449255182462905950319724968079541627955839537266506133073331121843346996276334390956437171448895361631106037327389444102546186364499283917693242603867635222391219139466468223374399935186124683290489489730866468617201276455606795607028895623974110975498899603019207289985571890490762471979130422666377260240610221749778803548935192991132660168898994202224160986422201509101875469619587220762010798328012959666269704601096497272283490311316220810996389501419432543314533579352357953328944010596176222138371571917070924966284160165665347748862922822745125455988868008920597791103784625179382937995090310970923693262979906131250178413165906616521305645811571835873873306810693213538289042979139574471048772702585223728229699613692096704021437288137044799792695398992871433558919054854333899170365667545056341653812238975301124176578042889062078067520399438178945060796354118501243 39835671138389605763028893979416213081831283525915201191924526737102938440859630167892766984292764322088627965399621842740198419615994999277759770755392670277424739764827127247003522052837924334835440580431316706641151615600808253905283537915908071988491936275075184531610592858410979101518901029206140537366515897064202950577950636953456600424886028395847219818394296570395776213795768744458625813048167176611737928131548335073916171221925018199482752428554826735728849456151534103051161399606631880733148338756289520104882225886050918261991698937372653062927939304833242516096085425209843765067266657506121813143737690079684426832134203902931634904129967945727424566067286699445958730993220048482531019496593513260338572801349628542689873458575378387863086657491852696068169748176792546053496502976478344113319881285000390284034579137516677480539734961137831898515433894078255979959671236322071813788272977562692337984594032166238402469789301008294544608820129407931853657072732975806926254777731197969162994702458574862399996481310155121895668823669993682918252403287135811879265970875449899634953899910882080661868529082328835467531879594821233788732895673133687476810585744993837107504528509012573127737402311579852522737747450759485963308746923083796043399445316501719626504130162457518705019690076583587668618075220662204208462515985643592316738760515786875871040408392865195206727267264474820559196397547732745364269343415047435675858169560106128240295176188855096179462748150675112880824110024307787189207524757883632969059091510844873725600104202056675294482002357494095994043308360034866144650262730470544274254997299350174977042901876695185445588256050457759276802360384987112022941885496294686101168331907439556539589186871913040658853927100072590891954232264592713728445312019587116955566843662173497418688663036878654923907585881210314170633499406274985458293446930204540510224975399196986181550902961967789746964160422416125168196019306005503872071360651465806510929170591230488174015471832599853870662814532964297855597834608141592062663066226057766442088508366112921304778370096080633864077059950708121766696137680703263644291758412175642803898368186805381651094265542994302694365799571916460035410385030676602093101282964329300044507420929767933765844724972768026774779444624335947299053070229496204568811029760961508372345787067801860092274200480560251405866940762414074528944093453633368574035793757568394950703265761365708774725605409357384343827613319018635462870703040681091626492558286864492561609303965493562972087469178331183633794289636012037769046206206672043833598874025661417461262382007673630854311821858314522589646254687189156284225590152761770944418923331275330705318844368965582426806939747362808692532680299278355434057742601578607153056740055424356040875897948391747299932600192321569867171581565973810862586512333243032896122740756490990748664275726386400304531891759479417752696577959487159003132512191529722929119793844363999026449230254646678857388479473065833126564217652818185863162331985498450274188099100320749689949662521229562675413699383201787478245216403489771909809212388284274035079861857851155187138257134098310484248835530719851805034602328974729342984341988522659604801273381652692824017482292573735043795172777578613764881929500618231239 64455469866577598271951938516224226749687935402372930170467010155885620250711672496978114155112742860085534649598550824530548155744122603771265542531487336509064190686268239508117437206432273943638264993739663255362190462723693857067586400387562605306286113115377483727227716305661054440746662044829359618622506517046101730595351121899087046389399555109669336587329053065095818844135012246388935567786996031138529203604480059839149261793073188819609764548832216775401286879592050492845261007209381578407185448289526229456953701480081671683876032974608811781944968146673473480336306054110697235804208006655997266026604415285030318667420036959106763349225751346586430084936565171456565806771604903506010305954722980584733664178105477621408278591295342325575814865739539293618198328278163187786846136614232731654051000226249794132887440755885535270932656806650079768670360914093779098408920647484944788718440232743446122193327921125330250153898363599661275031435022776722867333473736257577178393996257999047678326217617812657452453995621304597757857599646751014055945054794480373236778361890765010387230157513314647640420859270491003003528107340373845259148954664111224681827256182163807151354866566514517692344398065540314981170725525734753434615537811369867924936280380490899214164477235300700324589256401583019511212293044119135641421898800954285777747442127343305901304359110496421762002922362981824063299709642400836528876878313962509849476273631997151143854969747307166551309990572750239680915901879564902876170973101985900236226452318428218029380388204422640002404686054590502283682344372306074299548302300908796955386510311995292201161175410479628651440760069993905228434967812126086667877869172286660408045739062164005170752929621945704092970369550038924040280116297583929177410122322179388108847650480311420521665722236564271083710959199464874502851128370104805144286975557341998317447553870643306419997881876025221535271674143114964961170916663213133448107527578783951543916707184377648625363132773645274693369581794218264520337637012286564284184402576104568454935229031984296227294086227947896672241926489650670038657289479633390538658332715471819529847851849505856453016750018210303887735588849679490693317664808471608827125328287643676963257341957092086311152434589053161787030498574875328075404231182837416347419385258302244904098061580448529797495728475029022300932697068149801135028825351989527580624183206823577413609216081090676854267233365196921610333746392349757306217699317015482582929729735759854192715341292883007074633655542830467551487532239879672991437425346138512056973273960847542144552871497404497322929023134770129385253283582813130395201089052364790151708908903165821467790823499388248804067180357584558471336229234471346566717911500572809377217726477625865142751367567978968061943398520334529533441286167070308134870002644559253707119130257910423291978809305738758257860835770075593974834949531404229928098796351695388276868656767186744151905219122655599455179583257691012509502212743129156786855594965404581524366512266227366211255308332801398549287006193895001016534259382629346380857985090869497763309561471543251891159694422235355284041530929712723238593521383829063242154707656067715946455085620627993948194060335462797121862693177016792709942725854736732482 104291141004967204034980832495640439831519218928288131362391536892988558691571302664870881139405507182174162614998172667270746575360117603049025313286880006786488930451095366755120959259270198278473705574170979962003342078324502110972869938303470677294778049390452668258838309164072033542265563074035500155989022414110304681173301758852543646814285583505516556405723349635491595057930780990847561380835163207750267131736028394913065433014998207019092516977387043511130136335743584595896422406816013459140333787045815749561835927366132589945867731911981464844872907451506715996432391479320541000871474664162119079170342105364714745499554240862038398253355719292313854651003851870902524537764824951988541325451316493845072236979455106164098152049870720713438901523231391989686368076454955733840342639590711075767370881511250184416922019893402212751472391767787911667185794808172035078368591883807016602506713210306138460177921953291568652623687664607955819640255152184654720990546469233384104648773989197016841320920076387519852450476931459719653526423316744696974197458081616185116044332766214910022184057424196728302289388352819838471059986935195079047881850337244912158637841927157644258859395075527090820081800377120167503908472976494239397924284734453663968335725696992618840668607397758219029608946478166607179830368264781339849884414786597878094486202643130181772344767503361616968730189627456644622496107190133581893146221729009945525334443192103279384150145936162262730772738723425352561740011903872690065378497859869533205285543829273091754980492406479315296886688412084598277725652732340940444198565031379341229641507611345467178204077287174814097029016120451664505237328197113198690819754668581346509214070969603561710342116493858744751824296650111514932234348562176642905855434341766505064414494142484917940354385273442926007618545080675188673484627776379790602580422487546538827672529269840292601548784837993011282235834565531090129366935969218637320178888230249758054845877775608136799378604606245128564032396327182562375935471620428156346847468802162334897023737398097217532072456324028530536318986440358791805353427160336654182950091127647462333746220036311238104111015561204606582101388421595950728728049839148210920226611251972977007764762886860020076997159561821188561809943199211275374457301412333620916230415019263753276443848648250389889769928955589273706799637830563875663972918805622896154659976964391972364312481842456385628992838774554305954161359711368392769088402357696574209422288022624346754324645258376570046721124721161651185281821875891710760483631552810555890572147986508959605815253505078128177240844993084651974899538270002286679426679205126561096127832234441152173109667868353831230874120104947367163868909533749702000775654102151416530274466533050221183627265516370715361875998712656099400612867733044118997456514977802286603241871014401414040643085032125158562392727529555011727531527490891388931231308543225111205988450611550743178354449377302278312568062730756845636066430395947342650017926950903031798554611366548115901204970854030961224700705577096788494779475786119118290667197479153771798389423329394407078297951556333665768290366460432575043628123712803792585139049644590375551256359002280686772211542628036532165657865954595406474824655355354963721 168746610871544802306932771011864666581207154330661061532858547048874178942282975161848995294518250042259697264596723491801294731104240206820290855818367343295553121137363606263238396465702472222111970567910643217365532541048195968040456338691033282601064162505830151986066025469733087983012225118864859774611528931156406411768652880751630693203685138615185892993052402700587413902065793237236496948622159238888796335340508454752214694808071395838702281526219260286531423215335635088741683414025395037547519235335341979018789628846214261629743764886590276626817875598180189476768697533431238236675682670818116345196946520649745064166974277821145161602581470638900284735940417042359090344536429855494551631406039474429805901157560583785506430641166063039014716388970931283304566404733118921627188776204943807421421881737499978549809460649287748022405048574437991435856155722265814176777512531291961391225153443049584582371249874416898902777586028207617094671690174961377588324020205490961283042770247196064519647137694200177304904472552764317411384022963495711030142512876096558352822694656979920409414214937511375942710247623310841474588094275568924307030805001356136840465098109321451410214261642041608512426198442660482485079198502228992832539822545823531893272006077483518054833084633058919354198202879749626691042661308900475491306313587552163872233644770473487673649126613858038730733111990438468685795816832534418422023100042972455374810716824100430528005115683469429282082729296175592242655913783437592941549470961855433441511996147701309784360880610901955299291374466675100561407997104647014743746867332288138185028017923340759379365252697654442748469776190445569733672296009239285358697623840868006917259810031767566881095046115804448844794666200150438972514464859760572083265556663945893173262144622796338462020107510007197091329504280140063176335756146484595746867398044888537145120083140483599021546666714018232817507508708646055090537852632431770768286415809033709598762584959985785424741737379890403257401978121400826896273108632714720631031871378266903351958966430081513759366542551976427208560912930009461844010716639970044721608423843119281863594071885817094557127765579414910469836977271275441422045714647619819747351939539616653971022104843952106388149594150874350348840441774086603449861532595171037263649800277565998180541910228698919687265657430618296007732334898713676799001744157612423735284160171215549777921697923547062483260072139751227564495106103718150075306101674712056792352017758384200947039986551259577121354780263992118736769354115771383751921056898949067947545421947356501750368125002482625500169868127854781360152821852815417074627768257491351247836741137606973640900491367742080034941300462531925635205138768221048567493565602724225907492193010676086326378633084349683423819397232990628934054153900114427132326517622361540310361001272311837332621894337863916820253563299630605702366477022295618859330104894920499482857107378737487330259668499957877767747645988447858145568643139076499436873521916307613322921123632775482112460279186832359773987711770991789511313735168748464671525182570023269561698984800937658969457645978569021052331897390145298282221645096632855827293757300658091497711444622908680720405602963499329287520559131612199184767381210091696203 273037751876512006341913603507505106412726373258949192895250083941862737633854277826719876433923757224433859879594896159072041306464357809869316169105247350082042051588458973018359355724972670500585676142081623179368874619372698079013326276994503959895842211896282820244904334633805121525277788192900359930600551345266711092941954639604174340017970722120702449398775752336079008959996574228084058329457322446639063467076536849665280127823069602857794798503606303797661559551079219684638105820841408496687853022381157728580625556212346851575611496798571741471690783049686905473201089012751779237547157334980235424367288626014459809666528518683183559855937189931214139386944268913261614882301254807483092956857355968274878138137015689949604582691036783752453617912202323272990934481188074655467531415795654883188792763248750162966731480542689960773877440342225903103041950530437849255146104415098977993731866653355723042549171827708467555401273692815572914311945327146032309314566674724345387691544236393081360968057770587697157354949484224037064910446280240408004339970957712743468867027423194830431598272361708104244999635976130679945648081210764003354912655338601048999102940036479095669073656717568699332507998819780649988987671478723232230464107280277195861607731774476136895501692030817138383807149357916233870873029573681815341190728374150041966719847413603669445993894117219655699463301617895113308291924022668000315169321771982400900145160016203709912155261619631692012855468019600944804395925687310283006927968821724966646797539976974401539341373017381270596178062878759698839133649836987955187945432363667479414669525534686226557569329984829256845498792310897234238909624206352484049517378509449353426473881001371128591437162609663193596618962850261953904748813421937214989120991005712398237676638765281256402374492783450123098948049360815251849820383922864386349447820532435075972792612410323891623095451552011244099743343274177145219904788601650408088465304039283467653608462735593922224120341986135531821434374448583389272208580253142876977879340180429238248982703828178731291438998876004957744879899370368253649364143800306698904558514970766744197340291922128332661238781140619517051938365692871392150773764486768030667578550791589630978786867730812126465146753712695538910650384973297878824318834007504658179880215296829751456985758876949309577035586386207569714531972729277552462974662963235319889944137135607522142234179766003448112252910914305533518656465815086542844394504032408631001774305781008547701364631809636147168075904985153769922051175991663094512404688451759623838117569933865461356183378507560753677410713120939433335052360122817703754054447462617912343964573372048125814010159236095911265815420567479292799074048301970750568269219704875642437766659543726307510005898600720398785695395945646728334667021633158546129783032600163826913602872286713251373264979369989075382646290829185617429898004513187007790561413438145610688845557990288230508614117877260156080315708719204703781635073535023842086891448867210645121475734999323598013665250040863320998688417348088578006093210954867582962192380049177041360088408130332066047755597534902686820622263850577873325849768809436648412432806945248467048967803625189367492617145591535861453178425086207605659592036565446659924 441784362748056808648846374519369772993933527589610254428108630990736916576137252988568871728442007266693557144191619650873336037568598016689607024923614693377595172725822579281597752190675142722697646709992266396734407160420894047053782615685537242496906374402112972230970360103538209508290013311765219705212080276423117504710607520355805033221655860735888342391828155036666422862062367465320555278079481685527859802417045304417494822631140998696497080029825564084192982766414854773379789234866803534235372257716499707599415185058561113205355261685162018098508658647867094949969786546183017474222840005798351769564235146664204873833502796504328721458518660570114424122884685955620705226837684662977644588263395442704684039294576273735111013332202846791468334301173254556295500885921193577094720192000598690610214644986250141516540941191977708796282488916663894538898106252703663431923616946390939384957020096405307624920421702125366458178859721023190008983635502107409897638586880215306670734314483589145880615195464787874462259422036988354476294469243736119034482483833809301821689722080174750841012487299219480187709883599441521420236175486332927661943460339957185839568038145800547079287918359610307844934197262441132474066869980952225063003929826100727754879737851959654950334776663876057738005352237665860561915690882582290832497041961702205838953492184077157119643020731077694430196413608333581994087740855202418737192421814954856274955876840304140440160377303101121294938197315776537047051839470747875948477439783580400088309536124675711323702253628283225895469437345434799400541646941634969931692299695955617599697543458026985936934582682483699593968568501342803972581920215591769408215002350317360343733691033138695472532208725467642441413629050412392877263278281697787072386547669658291410938783388077594864394600293457320190277553640955315026156140069348982096315218577323613117912695550807490644642118266029476917250851982823200310442641234082178856751719848317177252371047695579707648862079366025935078836352569984216168481688885857597608911211558696141600941670258260245050805541427981384953440812300377715493374860440276743626166938813886026060934363807945427218366546720034427521775342964146833572819479134387850414930490331206284949808972574764232853296347863569889259490826747384482274180366602675695443530015574395749637527669105648229264301243816825865722264307627991229261976407120847743625228297306823071920155877689550510595512983054056761083151571918804692919700605707120687794126323539392748648404618360895724289430685249145888658820530107434478264325745350708691785662991881221963106551503510043379177580581248794214695205181975633120828682215720109263591801314509655099454910650603837991300756721030011218434279187070191799135762785307599868345258852554402393836384531685070082209514793178637357268721175533272973262109550222525367223963873559025088705886873707852992202899854128816223132264481535482626649891518333066110171702665369025717838873786377218033848063354707652561927203716674100341523764970783518258444396858632099080126125529227695680772676129119080367517406946123616047633717562619200310921787392931269725017213243513471707872954161240723171608071413906069504239726564245906558546679248248098048213022748555035190740698984217819804844359417775538356127 714822114624568814990759978026874879406659900848559447323358714932599654209991530815288748162365764491127417023786515809945377344032955826558923194028862043459637224314281552299957107915647813223283322852073889576103281779793592126067108892680041202392748586298395792475874694737343331033567801504665579635812631621689828597652562159959979373239626582856590791790603907372745431822058941693404613607536804132166923269493582154082774950454210601554291878533431867881854542317494074458017895055708212030923225280097657436180040741270907964780966758483733759570199441697554000423170875558934796711769997340778587193931523772678664683500031315187512281314455850501328563509828954868882320109138939470460737545120751410979562177431591963684715596023239630543921952213375577829286435367109268232562251607796253573799007408235000304483272421734667669570159929258889797641940056783141512687069721361489917378688886749761030667469593529833834013580133413838762923295580829253442206953153554939652058425858719982227241583253235375571619614371521212391541204915523976527038822454791522045290556749503369581272610759660927584432709519575572201365884256697096931016856115678558234838670978182279642748361575077179007177442196082221782463054541459675457293468037106377923616487469626435791845836468694693196121812501595582094432788720456264106173687770335852247805673339597680826565636914848297350129659715226228695302379664877870419052361743586937257175101036856507850352315638922732813307793665335377481851447765158058158955405408605305366735107076101650112863043626645664496491647500224194498239675296778622925119637732059623097014367068992713212494503912667312956439467360812240038211491544421944253457732380859766713770207572034509824063969371335130836038032591900674346782012091703635002061507538675370689648615422153358851266769093076907443289225603001770566875976523992213368445763039109758689090705307961131382267737569818040721016994195257000345530347429835732586945217023887600644905979510431173629872982421352161466900270727018567605440690269139000474586790551739125379849924374086438976342244540303986342698320711670745969142739004240583442530725453784652770258274655730073759879605327860653944573713708657018225723593243621155881082509041122795915928595840305576359318443101576265428170141211720682361098499200610180353623410230871225501094513427982597538841336830203033435436796280357268781724951070084083063515172434442430594062390057455553958707765893968362294601808037733891235764095109739529318795900629320401296349769250170531871457506590234299658580871706099097572776730433802468315623780561815087424462734882017604132854991294369733648030257542098450824582736663182727175935765887881703225268920809839933902566572141597490511233353235372162549704032005012475510783025512098128701346390430285790480995210189124284085603388197166431519391892582822689194137566745845738340079151853077842067585546144958001840562162486048669634440452931771211720860548223359313948347487904254478189928379063426857265708838790209124183610656419650728903565872593631422678139790779268559001771364546467168945523500157078483630595909942668377352281875801061601791064968841048374394693576425091301044933921182715506152652159371191155025595647051873287415705639894146571052193877409304027410503951454340985016051 1156606477372625623639606352546244652400593428438169701751467345923336570786128783803857619890807771757820974167978135460818713381601553843248530218952476736837232397040104131581554860106322955945980969562066155972837688940214486173120891508365578444889654960700508764706845054840881540541857814816430799341024711898112946102363169680315784406461282443592479134182432062409411854684121309158725168885616285817694783071910627458500269773085351600250788958563257431966047525083908929231397684290575015565158597537814157143779455926329469077986322020168895777668708100345421095373140662105117814185992837346576938963495758919342869557333534111691841002772974511071442987632713640824503025335976624133438382133384146853684246216726168237419826609355442477335390286514548832385581936253030461809656971799796852264409222053221250445999813362926645378366442418175553692180838163035845176118993338307880856763645906846166338292390015231959200471758993134861952932279216331360852104591740435154958729160173203571373122198448700163446081873793558200746017499384767712646073304938625331347112246471583544332113623246960147064620419403175013722786120432183429858678799576018515420678239016328080189827649493436789315022376393344662914937121411440627682356471966932478651371367207478395446796171245358569253859817853833247954994704411338846397006184812297554453644626831781757983685279935579375044559856128834562277296467405733072837789554165401892113450056913696811990792476016225833934602731862651154018898499604628806034903882848388885766823416612226325824186745880273947722387116937569629297640216943720257895051330031755578714614064612450740198431438495349796656033435929313582842184073464637536022865947383210084074113941263067648519536501580060598478479446220951086739659275369985332789133894086345028981059554205541436446131163693370364763479503156642725881902132664061562350542078257687082302208618003511938872912379688084070197934245047239823545840790071069814765801968743735917822158350558126753337521844500718187401979107079588551821609171958024858072195701763297821521450866044344699221393050081731967727651761523971123684636113864680860186156892392598538796319209019538019187097971874580688372095489051621165059296412722755543731497439531454002200878404812880340592171739449439835317429632038468066843372679567212856049066940246445621250732041097088245768105638074019859301159060587985260010986927477204930807140400731749253665982545935145104469303278877022419055684959609652695928683795715446650006590026952859794044998173868531427595746937275483445547239692236206532051041056179153177007409443553696309387569286385527647512032571875618527862725462724074083945411418878902836439527567202391358324723831460443771893867328862627501729667632422442354348839794790320075379128284364652531095182774961970860563204724982302921442872109372699704492654002133045214561361530619404763428785038726785695059788445999086818063694426967584152261090344450104277831032250888728339666186361690631696223776442418134509827636042506883224525134421390434247162010269452263521758265916308496254682544040675586249313040907103202099678229627505287577663203663193992871516082182084561846102566530586332024216541992596621575656891885935437061584142326300121385463918662642701606242934576393521847215348310872116523372178 1871428591997194438630366330573119531807253329286729149074826060855936224996120314619146368053173536248948391191764651270764090725634509669807453412981338780296869621354385683881511968021970769169264292414140045548940970720008078299188000401045619647282403546998904557182719749578224871575425616321096378976837343519802774700015731840275763779700909026449069925973035969782157286506180250852129782493153089949861706341404209612583044723539562201805080837096689299847902067401403003689415579346283227596081822817911814579959496667600377042767288778652629537238907542042975095796311537664052610897762834687355526157427282692021534240833565426879353284087430361572771551142542595693385345445115563603899119678504898264663808394157760201104542205378682107879312238727924410214868371620139730042219223407593105838208229461456250750483085784661313047936602347434443489822778219818986688806063059669370774142334793595927368959859608761793034485339126548700715855574797160614294311544893990094610787586031923553600363781701935539017701488165079413137558704300291689173112127393416853392402803221086913913386234006621074649053128922750585924152004688880526789695655691697073655516909994510359832576011068513968322199818589426884697400175952900303139649940004038856574987854677104831238642007714053262449981630355428830049427493131795110503179872582633406701450300171379438810250916850427672394689515844060790972598847070610943256841915908988829370625157950553319841144791655148566747910525527986531500749947369786864193859288256994191133558523688327975937049789506919612218878764437793823795879892240498880820170967763815201811628431681443453410925942408017109612472903290125822880395565009059480276323679764069850787884148835102158343600470951395729314517478812851761086441287461688967791195401625020399670708169627694795297397932786447272206768728759644496448778109188053775718987841296796840991299323311473070255180117257902110918951239242496823891371137500905547352747185767623518467064330068557926967394826922070348868879377806607119427049862227163858546782492315036946901300790418431138197735294622035954070350082235641869653778852868921443628687617846383191566577483675268092946977577202441342316669202760278183285020005966376699612579948572576798116807000653185916951490182551016100745599773250188749204471178767823036402690350477316846751826554525070843306946974904222892736595856868342528792711878547289013870655573166191684260044935992600658428011044770990781350286767647386587164447890825186179325385927582180195341347943118701959467204443865717745205820563942305629623817786612955645323033224115511396812032021267545251644887563169988261510755720266172534769994155542085563615463333090273061549992752270283705796433901004224992240900985657814516898543826795332550889911309876750659796529165392256651044199935171427205528475497569866136012045894715867903755499097365250501768864190579863537127373992144044819904256589453632821895530797381875489551892799112087653614533849594886174413704821481561367093344881297092348708745077810084976065576142045894944436405707087764813684315405222053418258564407260280583308825537447955955015485538995054473307147150925610220497260107011423325261475913779337081809544045306628216609737973351994672879624302536848177295128453802825874625852262326457508388229 3028035069369820062269972683119364184207846757724898850826293406779272795782249098423003987943981308006769365359742786731582804107236063513055983631933815517134102018394489815463066828128293725115245261976206201521778659660222564472308891909411198092172058507699413321889564804419106412117283431137527178317862055417915720802378901520591548186162191470041549060155468032191569141190301560010854951378769375767556489413314837071083314496624913802055869795659946731813949592485311932920813263636858243161240420355725971723738952593929846120753610798821525314907615642388396191169452199769170425083755672033932465120923041611364403798167099538571194286860404872644214538775256236517888370781092187737337501811889045118348054610883928438524368814734124585214702525242473242600450307873170191851876195207389958102617451514677501196482899147587958426303044765609997182003616382854831864925056397977251630905980700442093707252249623993752234957098119683562668787854013491975146416136634425249569516746205127124973485980150635702463783361958637613883576203685059401819185432332042184739515049692670458245499857253581221713673548325925599646938125121063956648374455267715589076195149010838440022403660561950757637222194982771547612337297364340930822006411970971335226359221884583226685438178959411831703841448209262078004422197543133956900186057394930961155094927003161196793936196786007047439249371972895353249895314476344016094631470074390721484075214864250131831937267671374400682513257390637685519648446974415670228763171105383076900381940300554301761236535387193559941265881375363453093520109184219138715222297795570780526242496293894193609357380903366906268506339219439405722579638473697016299189627147279934861998090098169806863136972531456327792996925033802847826100562831674300580329295711365428651767723833236231743529096479817636970248231916287222330680241852115338069529919554483923293507941314985009128092496945986181116885484289736647437211927571975362118549154511359436289222680626684680304916671422788536270858484886195671248659034185188716618978194078334768422751656462775837419128344703767921798001843759612993338414966733602303814844510238981730362896692694806112134075549077022030688764691811899348344316418689132243344077388104030800317685405466066257543661922000455936063029405288656816047843858335035892451757290723762468002558595622159089075052612978242752037754917456327788803698806024493944677795973897940937926027481927745762897314323648013200405971727257039283093131686540632829331975954535039989386346116987233387062951381141201190753060256178512161674858842792108822330442667669207706199601307653072899156920135045606789373481182990246618715405574420988400054990900292664419874716583730727477690301229866852493970568618080256871247383621585652626269039594241403190891711940354227511607404660153730126971347606942565840504699896848913118316860627984655265197649229306649232187162438143131637967951016421216974156621141831979767382925050000815993280720211285517870637481263899695876920980923803975573233879499200519223227586411498158466194671623396261068366859445897639667571605314363482682987055164953243532678689202189047344823229333010172066599826637597755349478017906375958657466435931242065278193880299652116058343542965179549783538063030196347721841200573198574031760407 4899463661367014500900339013692483716015100087011627999901119467635209020778369413042150355997154844255717756551507438002346894832870573182863437044915154297430971639748875499344578796150264494284509554390346247070719630380230642771496892310456817739454462054698317879072284553997331283692709047458623557294699398937718495502394633360867311965863100496490618986128504001973726427696481810862984733871922465717418195754719046683666359220164476003860950632756636031661851659886714936610228842983141470757322243173637786303698449261530223163520899577474154852146523184431371286965763737433223035981518506721287991278350324303385938039000664965450547570947835234216986089917798832211273716226207751341236621490393943383011863005041688639628911020112806693094014763970397652815318679493309921894095418614983063940825680976133751946965984932249271474239647113044440671826394602673818553731119457646622405048315494038021076212109232755545269442437246232263384643428810652589440727681528415344180304332237050678573849761852571241481484850123717027021134907985351090992297559725459038131917852913757372158886091260202296362726677248676185571090129809944483438070110959412662731712059005348799854979671630464725959422013572198432309737473317241233961656351975010191801347076561688057924080186673465094153823078564690908053849690674929067403365929977564367856545227174540635604187113636434719833938887816956144222494161546954959351473385983379550854700372814803451673082059326522967430423782918624217020398394344202534422622459362377268033940463988882277698286324894113172160144645813157276889400001424718019535393265559385982337870927975337647020283323311384015880979242509565228602975203482756496575513306911349785649882238933271965206737443482852057107514403846654608912541850293363268371524697336385828322475893460931027040927029266264909177016960675931718779458351040169113788517760851280764284807264626458079383272614203888292035836723532233471328583065072880909471296340278982954756287010695242607272311498344858885139737862692802790675708896412352575165760686393371715324052446881206975616863639325803875868351925995254862992193819602523747443532128085364921929474176370074205081053126279463373005433894572177531629336424655508942956657336676607598434492406119252174495152104551472036808629178538845565252315037102858928854447641201079314754385150147229932381999587882465644774350774324670317596410684571782958548451547064132622186072417920346421325325368419003981756258494904425870257579577365819008657361882117220184727694060105935346530155825006918935958880820120817791298676629405064467653475891784719103011633328920618150801807698215595050884236903256419153485399729963073963670454233382937481424709336001011183486735130871077486211469603738071388145927448380985177158950904118153850688241105746484162651604595325157332499823104512431976516745791564781022072359725349905766966513419886512769314536430287176457872207605874849796052151939213855256934817849112903646895254060880404045051186085381257244014325805101067921942624577010604199293162553544053410631077330484025882051174851119693085830169721623763266295880702401199487694174741184101818130376483935782287097086744609178674739493820155295739275979976548693494803618273004110731223167267716397960833191483999173596467052835525031540148636 7927498730736834563170311696811847900222946844736526850727412874414481816560618511465154343941136152262487121911250224733929698940106636695919420676848969814565073658143365314807645624278558219399754816366552448592498290040453207243805784219868015831626520562397731200961849358416437695809992478596150735612561454355634216304773534881458860152025291966532168046283972034165295568886783370873839685250691841484974685168033883754749673716789389805916820428416582763475801252372026869531042106619999713918562663529363758027437401855460069284274510376295680167054138826819767478135215937202393461065274178755220456399273365914750341837167764504021741857808240106861200628693055068729162087007299939078574123302282988501359917615925617078153279834846931278308717289212870895415768987366480113745971613822373022043443132490811253143448884079837229900542691878654437853830010985528650418656175855623874035954296194480114783464358856749297504399535365915826053431282824144564587143818162840593749821078442177803547335742003206943945268212082354640904711111670410492811482992057501222871432902606427830404385948513783518076400225574601785218028254931008440086444566227128251807907208016187239877383332192415483596644208554969979922074770681582164783662763945981527027706298446271284609518365632876925857664526773952986058271888218063024303551987372495329011640154177701832398123310422441767273188259789851497472389476023298975446104856057770272338775587679053583505019326997897368112937040309261902540046841318618204651385630467760344934322404289436579459522860281306732101410527188520729982920110608937158250615563354956762864113424269231840629640704214750922149485581729004634325554841956453512874702934058629720511880329031441772069874416014308384900511328880457456738642413125037568951853993047751256974243617294167258784456125746082546147265192592218941110138592892284451858047680405764687578315205941443088511365111149874473152722207821970118765794992644856271589845494790342391045509691321927287577228169767647421410596347578998461924367930597541291784738880471706483746804103343982813035991984029571797666353769754867856330608786336126051258376638324346652292370869064880317215128675356485403694198586384076879973652843344641186300734724780638398752177811585318432038814026551927972871658583827502381300158895437894821306204931924841782756943745769389021457052200860708396812105691780998106400109490596276903226247520962073560112099899848092184222639692067017182162230222161465153350711263906451837989337836652260174114040177093168733593107206148120126711941076299329952973535472197173289983918559453926809211234636573691049958727833261201840257718086246665772200805304384062363725445133675601901299425919731738661177036360737929980182038221818328259393311069966637803427990498359557041579953046100711674259009255478887459471170711454997817021445688413694140389220353334561032164162649193162001501698868430308095840158622296066770208773081045835024317742899113719640175974272165921915688667349280953120935306728905043495176504076211123422520748965042211876825748953880286950418034297017332753401775035987245949282935867354443020372863943373149162953605816945954353696913382206934024217511726531254396742415907790758772997498572656226789566710232895947744371254514195521318308253408723605571909043 12826962392103849064070650710504331616238046931748154850628532342049690837338987924507304699938290996518204878462757662736276593772977209878782857721764124111996045297892240814152224420428822713684264370756898695663217920420683850015302676530324833571080982617096049080034133912413768979502701526054774292907260853293352711807168168242326172117888392463022787032412476036139021996583265181736824419122614307202392880922752930438416032936953865809777771061173218795137652912258741806141270949603141184675884906703001544331135851116990292447795409953769835019200662011251138765100979674635616497046792685476508447677623690218136279876168429469472289428756075341078186718610853900940435803233507690419810744792676931884371780620967305717782190854959737971402732053183268548231087666859790035640067032437356085984268813466945005090414869012086501374782338991698878525656405588202468972387295313270496441002611688518135859676468089504842773841972612148089438074711634797154027871499691255937930125410679228482121185503855778185426753062206071667925846019655761583803780551782960261003350755520185202563272039773985814439126902823277970789118384740952923524514677186540914539619267021536039732363003822880209556066222127168412231812243998823398745319115920991718829053375007959342533598552306342020011487605338643894112121578892992091706917917350059696868185381352242468002310424058876487107127147606807641694883637570253934797578242041149823193475960493857035178101386324420335543360823227886119560445235662820739074008089830137612968262868278318857157809185175419904261555173001678006872320112033655177786008828914342745201984352244569487649924027526134938030464824238569862928530045439210009450216240969979506161762567964713737276611859497160442008025732727112065651184263418400837323378690384137085296719510755098285825383155012347455324282153268150659889596943932453565646565441257045451863122470567901167894637725353762765188558931354203590094378057717737181061141835069325345801796702017169894849539668112506306550334210271801252600076827009893866950499566865078199070856550225189788652855623355375673534705695750122719322802605938649798701908766409711574221845045434954522296181801635948776699632480956254411602989268000150129257392061457245997186670217704570606533966131103400009680287762366347946552473932540753750160652573125921097511328895916618953839051788743174041586456466105668423996520175168059861774699068026206182298172317768438605547965060486021163918488717065891023608290841272270846646699718769480358841734237199104080123263031155039062670821896420147744272212101602237757637394451238645912222867965494309200760535531476796891141954989503084925686205034347136327395899367058539382724135255732749844663771491609007466393507825556399647539238518347622980586941402477710892268194151847195836910613850804044791970993815967429793538191479978475162461580078684466799130676069079674770816235298717484553712366228170916566260925020259690281252560748226623287071228333046325960739853434662210364949632534006111417119128653221727621813911518586265287456826284364312832469209148137025839231944757611009215578816569755642508067038684557250981083982300881736640794000126816112698957005546686550136018395884339452267801116845660337520789877500612345705204445998194694914775306244248637112057679 20754461122840683627240962407316179516460993776484681701355945216464172653899606435972459043879427148780692000374007887470206292713083846574702278398613093926561118956035606128959870044707380933084019187123451144255716210461137057259108460750192849402707503179493780280995983270830206675312694004650925028519822307648986928111941703123785032269913684429554955078696448070304317565470048552610664104373306148687367566090786814193165706653743255615694591489589801558613454164630768675672313056223140898594447570232365302358573252972450361732069920330065515186254800838070906243236195611838009958112066864231728904076897056132886621713336193973494031286564315447939387347303908969669597890240807629498384868094959920385731698236892922795935470689806669249711449342396139443646856654226270149386038646259729108027711945957756258233863753091923731275325030870353316379486416573731119391043471168894370476956907882998250643140826946254140278241507978063915491505994458941718615015317854096531679946489121406285668521245858985129372021274288426308830557131326172076615263543840461483874783658126613032967657988287769332515527128397879756007146639671961363610959243413669166347526475037723279609746336015295693152710430682138392153887014680405563528981879866973245856759673454230627143116917939218945869152132112596880170393467111055116010469904722555025879825535529944300400433734481318254380315407396659139167273113593552910243683098098920095532251548172910618683120713322317703656297863537148022100492076981438943725393720297897957902585272567755436617332045456726636362965700190198736855240222642592336036624392269299508066097776513801328279564731740885860179950405967574497254084887395663522324919175028609226673642896996155509346486275511468826908537061607569522389826676543438406275232683431888342270963128049265544609839280758430001471547345860369600999735536824738017504613121662810139441437676509344256406002836503637238341281139176173708860173050362593452650987329859667736847306393339097182426767837880153727960930557850799714524444757607435158735238447336784682817660653569172601688847607384947471201059465504990575653411392274775849960285404734058226514215914499834839511310476992434180393831067340331291576642111344791315558126786237884395938848029289889038572780157655327982551946346193850327852632827978648571466857505050762880268272641686007975296103989603882438398562157886666530396629665764336765000946588988279742410272217616530789770604752553038346080718939227356176959002105178722684636037555421740532955774414292272813716370237303159189382762972719477697245747573799411047621313010692572721434102602068000250719263364737998731399673075749750697887010338731198691121344500734141284023561175464488505840807852346937446575546047374727906932549588314260784014931900837267933848147197947907511169623106282932251442164527422427610559637168392169302850800432019027831294838718272836772317934167147792649552524850466983336469698101305525305570303647340342927247202605212247876428520783943163485884939262911154912295632729432851044334660483628477164282575238244599782887243445154358592633719793598255164861752437110085528439902627930400144037588117827690994490913509023046723174517273217804532760811792130211040798615418316564310356587733508293449575700512390216233083559652972242683966722 33581423514944532691311613117820511132699040708232836551984477558513863491238594360479763743817718145298896878836765550206482886486061056453485136120377218038557164253927846943112094465136203646768283557880349839918934130881820907274411137280517682973788485796589829361030117183243975654815395530705699321427083160942339639919109871366111204387802076892577742111108924106443339562053313734347488523495920455889760447013539744631581739590697121425472362550763020353751107076889510481813584005826282083270332476935366846689709104089440654179865330283835350205455462849322045008337175286473626455158859549708237351754520746351022901589504623442966320715320390789017574065914762870610033693474315319918195612887636852270103478857860228513717661544766407221114181395579407991877944321086060185026105678697085194011980759424701263324278622104010232650107369862052194905142822161933588363430766482164866917959519571516386502817295035758983052083480590212004929580706093738872642886817545352469610071899800634767789706749714763314798774336494497976756403150981933660419044095623421744878134413646798235530930028061755146954654031221157726796265024412914287135473920600210080887145742059259319342109339838175902708776652809306804385699258679228962274300995787964964685813048462189969676715470245560965880639737451240774282515046004047207717387822072614722748010916882186768402744158540194741487442555003466780862156751163806845041261340140069918725727508666767653861222099646738039199658686765034141660937312644259682799401810128035570870848140846074293775141230632146540624520873191876743727560334676247513822633221183642253268082128758370815929488759267020798210415230206144360182614932834873531775135415998588732835405464960869246623098135008629268916562794334681588041010939961839243598611373816025427567682638804363830435222435770777456795829499128520260889332480757191583151178562919855591304560147077245424300640561857400003529840070530377298954551108080330633712129164928993082649103095356267077276307505992660034511264768122600967124521584617329025685738014201862881888517203794362390341703230740323144735765161255113294976213998213425648662194171143769800736060959934789361807492278628382957093463548296585703179631379344941444815518847695130393125518246994459645106746288758727992232234108560198274405106760519402321627510078176683977779601537602626929135155778347056479985018623992334954393149840932396626775645657014485924708444535384969395318569813039059509999207656293247200567292946450993531282737274191220891797508651491376893839633268458198252053584869139625441517959675401648805258707461931218633656970567562309451479798896214795622541628065252835623573215373078335018517243867792680666747696431197238350504579343955944912969053872931127554471788106661883764601873303314978826116341349795103348080236957086977043413158343389857404097828648370644465312380510703494630425514787352511543134169465865277203264891078637899902730623121565215586822864395566966214318430938258573837168374218605373850834571796917266329414761382654578666148572002214742451739401522608912615356452593291384431865664551209264380440569006865728036506941312487651125121570418709427635284913635839159422131522819904354668779207676469663308599732263976901831146465234120639154780146510584911147858865897220879796024401 54335884637785216318552575525136690649160034484717518253340422774978036145138200796452222787697145294079588879210773437676689179199144903028187414518990311965118283209963453072071964509843584579852302745003800984174650341342957964533519598030710532376495988976083609642026100454074182330128089535356624349946905468591326568031051574489896236657715761322132697189805372176747657127523362286958152627869226604577128013104326558824747446244440377041166954040352821912364561241520279157485897062049422981864780047167732149048282357061891015911935250613900865391710263687392951251573370898311636413270926413939966255831417802483909523302840817416460352001884706236956961413218671840279631583715122949416580480982596772655835177094753151309653132234573076470825630737975547435524800975312330334412144324956814302039692705382457521558142375195933963925432400732405511284629238735664707754474237651059237394916427454514637145958121982013123330324988568275920421086700552680591257902135399449001290018388922041053458227995573748444170795610782924285586960282308105737034307639463883228752918071773411268498588016349524479470181159619037482803411664084875650746433164013879247234672217096982598951855675853471595861487083491445196539586273359634525803282875654938210542572721916420596819832388184779911749791869563837654452908513115102323727857726795169748627836452412131068803177893021512995867757962400125920029429864757359755284944438238990014257979056839678272544342812969055742855956550302182163761429389625698626524795530425933528773433413413829730392473276088873176987486573382075480582800557318839849859257613452941761334179905272172144209053491007906658390365636173718857436699820230537054100054591027197959509048361957024755969584410520098095825099855942251110430837616505277649873844057247913769838645766853629375045061716529207458267376844988889861889068017581929600655791684582665730745997823586589680706643398361037241871121209706551007814724158442924086363116494788660819496409488695364259703075343872813762472195325973400681648966342224764184420976461538647564706177857363534992030550838125270615936824626760103870629625390488201498622479575877828027250276874434624201318802755620817137487294615636916994756273490689732760373645633933014789064366276284348683679526446414055974784180454754048602257739588498050893094367583227446858047874179288634904431259767950938918383580781879001484789779506696733391776592246002765667118716753001500185089174565592097856079926595520603377526295051629716215918774829612961424753283065783649707556003505761357441436347841859103138763707249201059852880020472623791355091073169630309702199062260952794353941301141002586321460225711809533709638588368526821950771257606661726856345387196302882359544599920305855461404337694976144548616805204152246759964488547743010859249860063369909294855322870812285014657465816762813768163180942722522461720353505625348315452103633013069852817415929104883239200321222870740892393168042907309141565633543470821713596895002548537336719511059828421241710394112087429710483232485843219616021976760853512398243696038445743024499384344807519545302321443975813564946843940418051269159158536537118629775827144862206145306040093122159201540019468599874349398347682293466141503052967628932604355847022975127380942425550193122479991123 87917308152729749009864188642957201781859075192950354805324900333491899636376795156931986531514863439378485758047538987883172065685205959481672550639367530003675447463891300015184058974979788226620586302884150824093584472224778871807930735311228215350284474772673439003056217637318157984943485066062323671373988629533666207950161445856007441045517838214710439300914296283190996689576676021305641151365147060466888460117866303456329185835137498466639316591115842266115668318409789639299481067875705065135112524103098995737991461151331670091800580897736215597165726536714996259910546184785262868429785963648203607585938548834932424892345440859426672717205097025974535479133434710889665277189438269334776093870233624925938655952613379823370793779339483691939812133554955427402745296398390519438250003653899496051673464807158784882420997299944196575539770594457706189772060897598296117905004133224104312875947026031023648775417017772106382408469158487925350667406646419463900788952944801470900090288722675821247934745288511758969569947277422262343363433290039397453351735087304973631052485420209504029518044411279626424835190840195209599676688497789937881907084614089328121817959156241918293965015691647498570263736300752000925285532038863488077583871442903175228385770378610566496547858430340877630431607015078428735423559119149531445245548867784471375847369294317837205922051561707737355200517403592700891586615921166600326205778379059932983706565506445926405564912615793782055615237067216305422366702269958309324197340553969099644281554259904024167614506721019717612007446573952224310360891995087363681890834636584014602262034030542960138542250274927456600780866379863217619314753065410585875190007025786692344453826917894002592682545528727364741662650276932698471848556467116893472455431063939197406328405657993205480284152299984915063206344117410122778400498339121183806970247502521322050557970663835105007283960218437245400961280236928306769275266523254720075245659717653902145512584051631336979382849865473796983460094096001648773487926842093210106714475740510446594695061157897382372254068865593760672589788015217165605839388701627147284673747021597827986337834369413563126295034249200094580758163933502697935904870034674205189164481628145182189884523278808328786272735172783967016414563314246876662846349017453214721877661404130835827475716891261833566415546297995398368599405871336439182929347629130018552237903017251591827161288386469580407744378631157366079134251813850578093587998080709747201512103804182316550791717275026601395636774219555693489932710998728580281666924602708658138727934555009988748043737192619153678861157167589976482929206255421945033441084887868728155832236319502617518954037858965206849966540258827272513653793236983015876125801638028313218678507467225586080829897538114207330097020456886338268481214202142418755294465133458233475561453426017092145868292977859858586273098878347056082307007742783141930944344435956479216032438474275355884064481729395550765269221153911187554082856745687571125155494742008376631804488057962067761378283462425013600148631737127456365048896016783925742890450841541601453785252905702394280728955246546265060740780701365567437562913026513870319227145069537657998079946270367972649518201749571759135993533560038528801291447414002276015524 142253192790514965328416764168093892431019109677667873058665323108469935781514995953384209319212008733458074637258312425559861244884350862509859965158357841968793730673854753087256023484823372806472889047887951808268234813567736836341450333341938747726780463748757048645082318091392340315071574601418948021320894098124992775981213020345903677703233599536843136490719668459938653817100038308263793779234373665044016473222192862281076632079577875507806270631468664178480229559930068796785378129925128046999892571270831144786273818213222686003735831511637080988875990224107947511483917083096899281700712377588169863417356351318841948195186258275887024719089803262931496892352106551169296860904561218751356574852830397581773833047366531133023926013912560162765442871530502862927546271710720853850394328610713798091366170189616306440563372495878160500972171326863217474401299633263003872379241784283341707792374480545660794733538999785229712733457726763845771754107199100055158691088344250472190108677644716874706162740862260203140365558060346547930323715598145134487659374551188202383970557193620772528106060760804105895016350459232692403088352582665588628340248627968575356490176253224517245820691545119094431750819792197197464871805398498013880866747097841385770958492295031163316380246615120789380223476578916083188332072234251855173103275662954220003683821706448906009099944583220733222958479803718620921016480678526355611150216618049947241685622346124198949907725584849524911571787369398469183796091895656935848992870979902628417714967673733754560087782809892894599494019956027704893161449313927213541148448089525775936441939302715104347595741282834114991146502553582075056014573295947639975244598052984651853502188874918758562266956048825460566762506219183808902686172972394543346299488311852967244974172511622580525345868829192373330583189106299984667468515921050784462761932085187052796555794250424785713927358579474487272082489943479314583999424966178806438362154506314721641922072746995596682458193738287559455655420069402330422454269066857394527690937279158011300872918521432374402804906990864376609414414775321036235464779189828645907153322899425855236614708804037764445097789870017232068052779570419692692178360724406965562810115561159971254250799563157012465799181586839941800595018068295478920585937515504107816245244631577693875349896179896737997675314248934316752180187750337923972708854325863410328830149020017258945878041387969765496918944223255222159060847334453955619883049710425963120286933417143741304074783058676308951640279980913134926280552857831719045374173803768511018748407178801343839116906822928855877923418120384330424230347258008266493666796697402437794420604846324568290211644520692063195353736561709632058253713542838477280463496614172861835483711619472346045318445281125066579957083826795633123804085014427433412760281896272001638742396148539553866221798603208174038376731891416908899722936847666381131265567306697371609200481381584497449698025200217264362164223702448524273593916574108812835549606829438087115036973901181683783355044315937411843844670182870480864433240824303471045211894817355166400629193323753663439887491783664894836567925563571712743603006148673071859246613669412007396427628563834114152571169378504363491840556535165909743716997607124756006647 230170500943244714338280952811051094212878184870618227863990223441961835417891791110316195850726872172836560395305851413443033310569556821991532515797725371972469178137746053102440082459803161033093475350772102632361819285792515708149381068653166963077064938521430487648138535728710498300015059667481271692694882727658658983931374466201911118748751437751553575791633964743129650506676714329569434930599520725510904933340059165737405817914715373974445587222584506444595897878339858436084859197800833112135005095373930140524265279364554356095536412409373296586041716760822943771394463267882162150130498341236373471003294900153774373087531699135313697436294900288906032371485541262058962138093999488086132668723064022507712488999979910956394719793252043854705255005085458290330291568109111373288644332264613294143039634996775091322984369795822357076511941921320923664173360530861299990284245917507446020668321506576684443508956017557336095141926885251771122421513845519519059480041289051943090198966367392695954097486150771962109935505337768810273687148888184531941011109638493176015023042613830276557624105172083732319851541299427902002765041080455526510247333242057903478308135409466435539785707236766593002014556092949198390157337437361501958450618540744560999344262673641729812928105045461667010655083593994511923755631353401386618348824530738691379531191000766743215021996144928470578158997207311321812603096599692955937355994997109880225392187852570125355472638200643306967187024436614774606162794165615245173190211533871728061996521933637778727702289530912612211501466529979929203522341309014577223039282726109790538703973333258064486137991557761571591927368933445292675329326361358225850434605078771344197956015792812761154949501577552825308425156496116507374534729439511436818754919375792164651302578169615786005630021129177288393789533223710107445869014260171968269732179587708374847113764914259890721211318797911732673043770180407621353274691489433526513607814223968623787434656798626933661841043603761356439115514165403979195942195908950604634405413019668457895567979679329756775058975856458137282004202790538201841304167891455793191827069921023683222952543173451327571392824119217326648810943503922390628083230759081170751974597189305153444135322841965341252071916759623908817009581382542355583432286532957322538122906035708529702825613071158571564090860546929715120779593621674363155638201954993428881068052037268850773039329774439345904663322854412588238195099148304533713471047791135710321799037221326057854866500333702910347277054200468828416213263856560299327041098406477169157476341733811332587160644015548009556784575287974306907159553513430211527107881585271165950252841165827185809165682379657270045320276820536904571907506779821493156589298252201175054162219086697932126148342819239273910054104283681971392285299216569852168054747029730235114303849574556646012090091581068032624649830769763964982029944590449523062209911742653850825232919855859853333762506929612815127433444856359711827676773319796383960705101571446463746841461959143751544733327778362425443993301919997937229482136841087396788102345658896767854414446229456057720616447030211159897308706264937280181165919175186942178473758738949665394507574834202086802089371128076122627834090095204438545008445021127032022171 372423693733759679666697716979144986643897294548286100922655546550431771199406787063700405169938880906294635032564163839002894555453907684501392480956083213941262908811600806189696105944626533839566364398660054440630054099360252544490831401995105710803845402270187536293220853820102838615086634268900219714015776825783651759912587486547814796451985037288396712282353633203068304323776752637833228709833894390554921406562252028018482449994293249482251857854053170623076127438269927232870237327725961159134897666644761285310539097577777042099272243921010377574917706984930891282878380350979061431831210718824543334420651251472616321282717957411200722155384703551837529263837647813228258998998560706837489243575894420089486322047346442089418645807164604017470697876615961153257837839819832227139038660875327092234405805186391397763547742291700517577484113248184141138574660164124303862663487701790787728460695987122345238242495017342565807875384612015616894175621044619574218171129633302415280307644012109570660260227013032165250301063398115358204010864486329666428670484189681378398993599807451049085730165932887838214867891758660594405853393663121115138587581870026478834798311662690952785606398781885687433765375885146395855029142835859515839317365638585946770302754968672893129308351660582456390878560172910595112087703587653241791452100193692911383215012707215649224121940728149203801117477011029942733619577278219311548506211615159827467077810198694324305380363785492831878758811806013243789958886061272181022183082513774356479711489607371533287790072340805506810995486486007634096683790622941790764187730815635566475145912635973168833733732840595686583073871487027367731343899657305865825679203131755996051458204667731519717216457626378285875187662715300316277220902411905980165054407687645131896276750681238366530975889958369661724372722330010092113337530181222752732494111672895427643669559164684676435138677377386219945126260123886935937274116455612332951969968730283345429356729545622530344299237342048915894770934234806309618396464975807999162096350298826469196440898200762131177863882847322513891418617565859238076768947081284439098980392820449538459567251977489092016490613989234558716863723074342083320261591483488136314784712750465124698386122405122353717871098346463850617604599450837834504018224048461430354368150667286223578175509251055309561766174795864031872959781372012287128347056280856839209898201057286109718917371162409111401582267077667810397255946482758489333354097501561673442085970638469799158941283392379219298917334181381963342493816714392018372415272210245680176224748912612676426277550838476865434707993408358637331389900771438478020774678282673603744673446012151754099377326900349333240674013382246536630161220322659970437052794866374036889645930706170278171466788100364340490011188110477604516089384230997285580815028926002236753046245723096199878311890184276206663026562661180873881752881438115904193475479049351222434433401237444350783460532129830079489597668558808236101270689893905196796254708400884550861878435860325435328088372094299837287837972102868418093915377665390867833314240476251934255043639553209721160503938813876054733876631828508992924768925323860014037720372408361672790935203398036200954660540506580486119674646630370348288725442628251788028818 602594194677004394004978669790196080856775479418904328786645769992393606617298578174016601020665753079131195427870015252445927866023464506492924996753808585913732086949346859292136188404429694872659839749432157072991873385152768252640212470648272673880910340791618023941359389548813336915101693936381491406710659553442310743843961952749725915200736475039950288073987597946197954830453466967402663640433415116065826339902311193755888267909008623456697445076637677067672025316609785668955096525526794271269902762018691425834804376942331398194808656330383674160959423745753835054272843618861223581961709060060916805423946151626390694370249656546514419591679603840743561635323189075287221137092560194923621912298958442597198811047326353045813365600416647872175952881701419443588129407928943600427682993139940386377445440183166489086532112087522874653996055169505064802748020694985603852947733619298233749129017493699029681751451034899901903017311497267388016597134890139093277651170922354358370506610379502266614357713163804127360236568735884168477698013374514198369681593828174554414016642421281325643354271104971570534719433058088496408618434743576641648834915112084382313106447072157388325392106018652280435779931978095594245186480273221017797767984179330507769647017642314622942236456706044123401533643766905107035843334941054628409800924724431602762746203707982392439143936873077674379276474218341264546222673877912267485862206612269707692469998051264449660853001986136138845945836242628018396121680226887426195373294047646084541708011541009312015492361871718119022496953015987563300206131931956367987227013541745357013849885969231233319871724398357258175001240420472660406673226018664091676113808210527340249414220460544280872165959203931111183612819211416823651755631851417416983809327063437296547579328850854152536605911087546950118162255553720199559206544441394721002226291260603802490783324078944567156349996175297952618170030304294557290548807945045859465577782954251969216791386344249464006140280945810272333886448400210288814338660884758603796501763318494927092008877880091887952922858703780651173422820356397439918073114972740232290807462741473221682519795150940419587883438108451885365674666578264473948344822242569307066759309939770278142521445247087694969943015106087759434614180833380190087450510581418752892491056702994753281001122322213881125857035342793746993739374993686650283985258235850268090966253094554960491956700936848457306245589932080398635451045631063023046825145292697383763885007859795857013807783726082129646194388381850791758707080570952317699456370616722849333701090646424009013438194854024874991492568696332944238549454284868689547882559867944769694926287177978939908543009280006603285994290202783441202068727102481463593642093118575211943808149792868210297615130919603614400065292394159575908374683447567137748869775955732471867350095297652845890401981765344239287676393430944838863782826028565427255685390792005073259666321093304204117223039059442894617031113415167947928947463213701580756959809972331014608719897819469186872821699872662262731831274022866355323397514506478264621416586135148702109458085782665778881120385844087214631185338093446273105934844499046956216194131147311338185442778232238287756749911634656608747508736725574786833733887649378820050989 975017888410764073671676386769341067500672773967190429709301316542825377816705365237717006190604633985425830460434179091448822421477372190994317477709891799854994995760947665481832294349056228712226204148092211513621927484513020797131043872643378384684755743061805560234580243368916175530188328205281711120726436379225962503756549439297540711652721512328347000356341231149266259154230219605235892350267309506620747746464563221774370717903301872938949302930690847690748152754879712901825333853252755430404800428663452711145343474520108440294080900251394051735877130730684726337151223969840285013792919778885460139844597403099007015652967613957715141747064307392581090899160836888515480136091120901761111155874852862686685133094672795135232011407581251889646650758317380596845967247748775827566721654015267478611851245369557886850079854379223392231480168417689205941322680859109907715611221321089021477589713480821374919993946052242467710892696109283004910772755934758667495822300555656773650814254391611837274617940176836292610537632133999526681708877860843864798352078017855932813010242228732374729084437037859408749587324816749090814471828406697756787422496982110861147904758734848341110998504800537967869545307863241990100215623109080533637085349817916454539949772610987516071544808366626579792412203939815702147931038528707870201253024918124514145961216415198041663265877601226878180393951229371207279842251156131579034368418227429535159547808249958773966233365771628970724704648048641262186080566288159607217556376561420441021419501148380845303282434212523625833492439501995197396889922554898158751414744357380923488995798605204402153605457238952944758075111907500028138017125675969957501793011342283336300872425128275800589382416830309397058800481926717139928976534263323397148863734751082428443856079532092519067581801045916611842534977883730291672544074622617473734720402933499230134452883243629243591488673552684172563296290428181493227822924400658192417547751684535314646148115889871994350439518287859188228657382635016598432735125860566602958598113617321396288449776080854019130786741551103165064841437922256677994842062054024671389787855561922760142087047128429511604374052097686444082538389652606557268606413726057443381544022690235402840907567652210048687814113452551610052218780284218024591468734629880183246859207370280976859176631573269190687623210138657778866699156365698937412332314516707107300864454151841070210874072099257568707827857009748209032706992113821512380179242794259057205970978498265656172749067118461348945111722563232755101200897285344336071871642826968529509925839559036685439715745692501740426200562104691581569939355056307167568657238150618373439599733190130694007920336180355936526668303585029977832229947425141434030694887984949248833454080499038488469081919019967954890076480504637180424464067678564423329684804881734708620396341020749045768713871949620445950702956092125712745535707466681331449160869841356295694099722330748554900683571189272974106628781973976184030218153107606777553214518373215565470598333679794622200910071966962100019669246125734773417312892171869132454730826611400636364501725335875500041624324657963269365061969921955266030703769822906970253914503555673010976377981630274488711410452141237094867183383355945135122459330277630608079807 1577612083087768467676655056559537148357448253386094758495947086535218984434003943411733607211270387064557025888304194343894750287500836697487242474463700385768727082710294524773968482753485923584886043897524368586613800869665789049771256343291651058565666083853423584175939632917729512445290022141663202527437095932668273247600511392047266626853457987368297288430328829095464213984683686572638555990700724622686574086366874415530258985812310496395646748007328524758420178071489498570780430378779549701674703190682144136980147851462439838488889556581777725896836554476438561391424067588701508595754628838946376945268543554725397710023217270504229561338743911233324652534484025963802701273183681096684733068173811305283883944141999148181045377007997899761822603640018800040434096655677719427994404647155207864989296685552724375936611966466746266885476223587194270744070701554095511568558954940387255226718730974520404601745397087142369613910007606550392927369890824897760773473471478011132021320864771114103888975653340640419970774200869883695159406891235358063168033671846030487227026884650013700372438708142830979284306757874837587223090263150274398436257412094195243461011205807005729436390610819190248305325239841337584345402103382301551434853333997246962309596790253302139013781265072670703193945847706720809183774373469762498611053949642556116908707420123180434102409814474304552559670425447712471826064925034043846520230624839699242852017806301223223627086367757765109570650484291269280582202246515047033412929670609066525563127512689390157318774796084241744855989392517982760697096054486854526738641757899126280502845684574435635473477181637310202933076352327972688544690351694634049177906819552810676550286645588820081461548376034240508242413301138133963580732166114740814132673061814519724991435408382946671604187712133463561960697233437450491231750619064012194736946694194103032625236207322573810747838669727982125181466320732476050518371732345704051883125534638787283862939502234121458356579799233669460562543831035226887247073786745325206755099876935816323380458653960945907083709600254883816238264258278654117912915177026764903680595318303395981824606842279369931192257490206138329448213056230871031216951235968626750448303332630005680983429012899297743657757128558639369486832961117598214678919245211298936139350264073275730140177753895483071813480245481451525860438531359385587696317572752557375391830707246396030702830773036106026014073446941828607668158037744884535427004388086956440969855986358061513186556850844543478591306110945083546859907977856296653771328013443691378843626930205460694453153940546526615417693130801024525808488809341175857116539798018563143134526020368109633916463345460362539812662593787813419034298674527622897624336981103524460777262230291906698766697049939571569290141772898796756332838751126131561078554580837467180487746436318401891659115853714964685238379349523070551609318533495246758704846260633361368953766043424052759017906610248715868723659895389144131959165616321308358310174328345546580079318231499263809073731771839624362751500520148601128740710406678347397076147412746549338473959811118541278922744710502050483996247308015401539136638614321953926470108634702984349161820759862512776468160363775893703614692120081519921956193217927009428130796 2552629971498532541348331443328878215858121027353285188205248403078044362250709308649450613401875021049982856348738373435343572708978208888481559952173592185623722078471242190255800777102542152297112248045616580100235728354178809846902300215935029443250421826915229144410519876286645687975478350346944913648163532311894235751357060831344807338506179499696644288786670060244730473138913906177874448340968034129307321832831437637304629703715612369334596050938019372449168330826369211472605764232032305132079503619345596848125491325982548278782970456833171777632713685207123287728575291558541793609547548617831837085113140957824404725676184884461944703085808218625905743433644862852318181409274801998445844224048664167970569077236671943316277388415579151651469254398336180637280063903426495255561126301170475343601147930922282262786691820845969659116956392004883476685393382413205419284170176261476276704308444455341779521739343139384837324802703715833397838142646759656428269295772033667905672135119162725941163593593517476712581311833003883221841115769096201927966385749863886420040037126878746075101523145180690388033894082691586678037562091556972155223679909076306104608915964541854070547389115619728216174870547704579574445617726491382085071938683815163416849546562864289655085326073439297282986358051646536511331705411998470368812306974560680631054668636538378475765675692075531430740064376677083679105907176190175425554599043067128778011565614551181997593319733529394080295355132339910542768282812803206640630486047170486966584547013837771002622057230296765370689481832019977958093985977041752685490056502256507203991841483179640037627082638876263147691151464235472716682707477370604006679699830895094012851159070717095882050930792864549905301213783064851103509708700378064211281536796565602153435291487915039190671769513179380173803232211321180782904294693686629668471667097127602262759689090566203054339327343280666297744762611160657543746194656746362244300673286323322598509087618123993452707019317521528648791201213670243485679808912605891809713697990553137719668908430041799926214496341805986981303105696200910795907757239080789575070383173865318741966693889407799442796631542303824773530751445883477588485557649694684193829847355320241083824336580551507792345571242011190979539051741401816239270387979841179119386209471443556706999354385468752262501103455620109304727137687725084525108649887269264482692695161398237100913704845135363594721901303951576816700865029858706047807183630881215498175826964856327169359305917963004827536417833508316301961108875141640989843199656270659908353552769764497379892869686239028355843893692905716107378428164397483024685197036169181516574125753558240327924383681640718476339330897372843396866528621952764331655031869088473709610716310790945187235778968959539524180218253403433936757302818804695984408239385719201889108142777339150937427829725664585131189082305615196264354854240961928090154007130474717664647865765754801313918590181437988842830288677363120315989383769428915135863388846718762145549916565179058431274641843806586462771169766274335902158023298850216529530878239357949974838461536454416778964369035160013753361309277937356805167342384144860896724023138258657360138198741492787265179570815917130798481875503437465057078652548204640036210603 4130242054586301009024986499888415364215569280739379946701195489613263346684713252061184220613145408114539882237042567779238322996479045585968802426637292571392449161181536715029769259856028075881998291943140948686849529223844598896673556559226680501816087910768652728586459509204375200420768372488608116175600628244562508998957572223392073965359637487064941577216998889340194687123597592750513004331668758751993895919198312052834888689527922865730242798945347897207588508897858710043386194610811854833754206810027740985105639177444988117271860013414949503529550239683561849119999359147243302205302177456778214030381684512549802435699402154966174264424552129859230395968128888816120882682458483095130577292222475473254453021378671091497322765423577051413291858038354980677714160559104214683555530948325683208590444616475006638723303787312715926002432615592077747429464083967300930852729131201863531931027175429862184123484740226527206938712711322383790765512537584554189042769243511679037693455983933840045052569246858117132552086033873766917000522660331559991134419421709916907267064011528759775473961853323521367318200840566424265260652354707246553659937321170501348069927170348859799983779726438918464480195787545917158791019829873683636506792017812410379159143353117591794099107338511967986180303899353257320515479785468232867423360924203236747963376056661558909868085506549835983299734802124796150931972101224219272074829667906828020863583420852405221220406101287159189866005616631179823350485059318253674043415717779553492147674526527161159940832026381007115545471224537960718791082031528607212228698260155633484494687167754075673100559820513573350624227816563445405227397829065238055857606650447904689401445716305915963512479168898790413543627084202985067090440866492805025414209858380121878426726896297985862275957225312843735763929444758631274136045312750641863208613791321705295384925297888776865087166013008648422926228931893133594264566389092066296183798820962109882372027120358114911063599116755198109353745044705470372926882699351217016468797867488954043049367084002745833298205942060870797541369954479564913820672416107554478750978492168714723791300731687169373988889032509963102978964502114348619702508885663310944278150687950246764807765593450805536003328370569830349025884702519414453949307225052478055525559735516832437139532139364235334314583701101560830587576219084470112804967460021821858084525868644633131616535618171469620735974750893405424369023067603590583234188018968171939145682951214388682545862768807548306127723944453399848821016852997937643614527669714351287197179699969958074346023626785554971261586823706740633186916973738658881801736834187744659708651773926349961840847027101081016151993491160656815900827296480387229279368850191998170387978541082851886002476018899111093470360026302230693090141569930827545486793966556669069595889213657552829086945579379549816427461655138266815964172774457174848858853391108079033601631809178854072936496791686704711553948572752264447948549385750223494173563175064308725629234796678322240348373615646210825522670286422937030898733705528563926607025652104499313312421347572958057887113745662064237357556585952758344303980998466814823194131772961641709300019501355300041647731179693024502096567623518984979034845766131649464341399 6682872026084833550373317943217293580073690308092665134906443892691307708935422560710634834015020429164522738585780941214581895705457254474450362378810884757016171239652778905285570036958570228179110539988757528787085257578023408743575856775161709945066509737683881872996979385491020888396246722835553029823764160556456744750314633054736881303865816986761585866003668949584925160262511498928387452672636792881301217752029749690139518393243535235064838849883367269656756839724227921515991958842844159965833710429373337833231130503427536396054830470248121281162263924890685136848574650705785095814849726074610051115494825470374207161375587039428118967510360348485136139401773751668439064091733285093576421516271139641225022098615343034813600153839156203064761112436691161314994224462530709939116657249496158552191592547397288901509995608158685585119389007596961224114857466380506350136899307463339808635335619885203963645224083365912044263515415038217188603655184344210617312065015545346943365591103096565986216162840375593845133397866877650138841638429427761919100805171573803327307101138407505850575484998504211755352094923258010943298214446264218708883617230246807452678843134890713870531168842058646680655066335250496733236637556365065721578730701627573796008689915981881449184433411951265269166661950999793831847185197466703236235667898763917379018044693199937385633761198625367414039799178801879830037879277414394697629428710973956798875149035403587218813725834816553270161360748971090366118767872121460314673901764950040458732221540364932162562889256677772486234953056557938676885068008570359897718754762412140688486528650933715710727642459389836498315379280798918121910105306435842062537306481342998702252604787023011845563409961763340318844840867267836170600149566870869236695746654945724031862018384213025052947726738492223909567161656079812057040340006437271531680280888449307558144614388454979919426493356289314720670991543053791138010761045838428540484472107285432480881114738482108363770618434276726758144946258375713858606691611957108826182495858042091762718275514044545759512702283866857778844475650680475709728429655188344053821361666034033465757994621094968816785520574813787876509715947997826208188066535357995138107998043270487848632102174002313328348899612581021328564936443921230693219695204893657174911769206960389144138886524832987596815687156721670135314713906809554637913617347291086340777221030042870232530240463306833215457876054844982241069888097462296631041371649849387437321509916070715851905168686770553133664141777961716150782125728139578633457727325985011195550732469734455454238893313024583327105480516612456740565345138136141906486933870356926176282777527484590289765230708741799492491324388533500212767355918433151560934400719280471879998694851873797073238254987858650617650578279705664629847444388735523529895033352275870958704031990996703766514775305044134947616543960753463080319027015419102939012860521582796698249497574933655386855086973124693554384237250115384763937933155179138630036952021783070871179151361857380671623015459452797288293840052697272933056757004378780456137903891462449288150882884027374836851482780822077990718865863890115149471323382611675719918154911220299069438218242848087306827301995610155300578443126956450036113498314336289500552002 10813114080671134559398304443105708944289259588832045081607639382304571055620135812771819054628165837279062620822823508993820218701936300060419164805448177328408620400834315620315339296814598304061108831931898477473934786801868007640249413334388390446882597648452534601583438894695396088817015095324161145999364788801019253749272205278128955269225454473826527443220667838925119847386109091678900457004305551633295113671228061742974407082771458100795081648828715166864345348622086631559378153453656014799587917239401078818336769680872524513326690483663070784691814164574246985968574009853028398020151903531388265145876509982924009597074989194394293231934912478344366535369902640484559946774191768188706998808493615114479475119994014126310922919262733254478052970475046141992708385021634924622672188197821841760782037163872295540233299395471401511121821623189038971544321550347807280989628438665203340566362795315066147768708823592439251202228126360600979369167721928764806354834259057025981059047087030406031268732087233710977685483900751417055842161089759321910235224593283720234574165149936265626049446851827733122670295763824435208558866800971465262543554551417308800748770305239573670514948568497565145135262122796413892027657386238749358085522719439984175167833269099473243283540750463233255346965850353051152362664982934936103659028822967154126981420749861496295501846705175203397339533980926675980969851378638613969704258378880784819738732456255992440034131936103712460027366365602270189469252931439713988717317482729593950879896066892093322503721283058779601780424281095899395676150040098967109947453022567774172981215818687791383828202279903409848939607097362363527137503135501080118394913131790903391654050503328927809075889130662130732388467951470821237690590433363674262109956513325845910288745280511010915223683963805067645331091100838443331176385319187913394888894679771012853529539686343756784513659369297963143597220474946924732275327434930494836668270928247542363253141858840223274834217551031924867498691303081184231533574311308325842651293725531045805767642598047291592810908225927728576385845605160040623549102071295898532572340158202748189549295352782138190774409607323750979488680450112174827890575421021306082386148731220734613439867767453118864352227983150851677590821146440645147169002429946135230437328942477221581278418664197222931130270857823230965902290125894024750718584807312908198861746898687503364146776081478302836193850805738387665438911165065887214275559668817559376467192867285104534451031455578101439791865722415115999603142581137516277072254995699362482747912169704413528584916939810138298367067340319197373752262111874800788288670704544670835991429301410940251606077735842880508643317879694157028668183214913538790213769569472470050386673392956648959240731006757761711120938306007895322937585958666351075381827318832540028299921204654256595601720884423684764044005615891729896283199789876277787871713912690875731851129384112509459791583764811398265938185822867649211886482540929362124210515196847379596808386158535702911971389075099008113816510339120209963955490709907344382744929543566948601463304231600332894738596526484142228076422449842873493775304381078490543112286684181940778738237744203387348475033175303179802675010750475435015148344080467938964893401 17495986106755968109771622386323002524362949896924710216514083274995878764555558373482453888643186266443585359408604450208402114407393554534869527184259062085424791640487094525600909333773168532240219371920656006261020044379891416383825270109550100391949107386136416474580418280186416977213261818159714175823128949357475998499586838332865836573091271460588113309224336788510045007648620590607287909676942344514596331423257811433113925476014993335859920498712082436521102188346314553075370112296500174765421627668774416651567900184300060909381520953911192065854078089464932122817148660558813493835001629605998316261371335453298216758450576233822412199445272826829502674771676392152999010865925053282283420324764754755704497218609357161124523073101889457542814082911737303307702609484165634561788845447318000312973629711269584441743295003630087096241210630786000195659179016728313631126527746128543149201698415200270111413932906958351295465743541398818167972822906272975423666899274602372924424638190126972017484894927609304822818881767629067194683799519187083829336029764857523561881266288343771476624931850331944878022390687082446151857081247235683971427171781664116253427613440130287541046117410556211825790328458046910625264294942603815079664253421067557971176523185081354692467974162414498524513627801352844984209850180401639339894696721731071505999465443061433681135607903800570811379333159728555811007730656053008667333687089854741618613881491659579658847857770920265730188727114573360555588020803561174303391219247679634409612117607257025485066610539736552088015377337653838072561218048669327007666207784979914861467744469621507094555844739293246347254986378161281649047608441936922180932219613133902093906655290351939654639299092425471051233308818738657408290740000234543498805703168271569942150763664724035968171410702297291554898252756918255388216725325625184926569175568220320411674154074798736703940152725587277864268212018000715870286088480768923377152743035532974844134256597322331638604835985308651625643637561456898090140265923265434668833789583573137568485918112091837352323610509794586355230321255840516333277531726484242586393701824236781655307289973877107007559930182137538855998396398110001036078641956379301220494146774491222462071969941455432192701127595731873006155757590361875840388697634839792405349098149437610725417305189030210527945958014544901101217004032703579388632202154603994539638967928730373596677016544785136051651726860583369906508799262528183845316931318666946813788702783355820386356200142348654573456007500376832150385268309277094910529982321684373678298644639438868982823810252834721625472547856931654114317607250010942694775604574901597012274206828895530541371308444584680001134642268227657241435539133346690351148170288752941930385368244830446032478985994616412328771516585713559952785030347401874605276860671108410987003953195650960362116496189467819711660549576645192976602226805295380726884574434273672430100626959046164846646670737936091820322423072983033975824415696108500754247467218630450467987537520393083583594404534551805402110350391817482897012247714286124838882833435029397889614187115627707731590079307306220218795288313732988643246627763690166263030441595402239848176455987051474655302335170913335103253453877431885051261842394804228465445403 28309100187427102669169926829428711468652209485756755298121722657300449820175694186254272943271352103722647980231427959202222333109329854595288691989707239413833412041321410145916248630587766836301328203852554483734954831181759424024074683443938490838831705034588951076163857174881813066030276913483875321822493738158495252248859043610994791842316725934414640752445004627435164855034729682286188366681247896147891445094485873176088332558786451436655002147540797603385447536968401184634748265750156189565009544908175495469904669865172585422708211437574262850545892254039179108785722670411841891855153533137386581407247845436222226355525565428216705431380185305173869210141579032637558957640116821470990419133258369870183972338603371287435445992364622712020867053386783445300410994505800559184461033645139842073755666875141879981976594399101488607363032253975039167203500567076120912116156184793746489768061210515336259182641730550790546667971667759419147341990628201740230021733533659398905483685277157378048753627014843015800504365668380484250525960608946405739571254358141243796455431438280037102674378702159678000692686450906881360415948048207149233970726333081425054176383745369861211561065979053776970925590580843324517291952328842564437749776140507542146344356454180827935751514912877731779860593651705896136572515163336575443553725544698225632980886192922929976637454608975774208718867140655231791977582034691622637037945468735526438352613947915572098881989707023978190216093480175630745057273735000888292108536730409228360492013674149118807570331822795331689795801618749737468237368088768294117613660807547689034448960288309298478384047019196656196194593475523645176185111577438002299327132744924805485560705793680867463715188223087601783621776770209478645981330433598217760915659681597415852439508945235046883395094666102359200229343857756698719393110644813098321458070247991333265203693761142493488453812094885241007865432492947640602561415915699418213821013963780517207387398456162554913439053536340576493142328864538082321673840234573760511485083309104183374253560710139128945134518735722314931616166861000556956826633797780141118966041982439529844856585326659245198334339789461289835487076848222175863969217377400607302880295505711957075511837708908551057053355578882724683746578736802520987557700064785927635786427091914832306695723853227433459076228872368132067119294158597604139350786961916902738500714827417876960823792626263438887845577666321757571947710427594071059592490987484506190255895650640924920807231597926756013247873222791948149988410890414611187602237317383736161046556809143282511408727192644859923839615197250851488069869361885743483064275279446267848265636130306470792977386180427560509777960147921814270103722348260229141361939858225411980772041637787094991719717001374174039892454891721455275722616306068225680658687989940951015303874400305216957718217073891504475704555192536922872885426595171658514756288346964548161951756343158674306438254502747490086260608895850683187710898237037862878457982415477830064795923678928786495565793609650813515926860730937692860967738424193469221627762978596346491077491347228040626328675833790362446871710763575862137021932144768656806142728279584180626914693731254862003777368346216514905928464627907320066410186475272167430338804 45805086294183070778941549215751713993015159382681465514635805932296328584731252559736726831914538370166233339640032409410624447516723409130158219173966301499258203681808504671517157964360935368541547575773210489995974875561650840407899953553488591230780812420725367550744275455068230043243538731643589497645622687515971250748445881943860628415407997395002754061669341415945209862683350272893476276358190240662487776517743684609202258034801444772514922646252880039906549725314715737710118378046656364330431172576949912121472570049472646332089732391485454916399970343504111231602871330970655385690155162743384897668619180889520443113976141662039117630825458132003371884913255424790557968506041874753273839458023124625888469557212728448559969065466512169563681136298520748608113603989966193746249879092457842386729296586411464423719889402731575703604242884761039362862679583804434543242683930922289638969759625715606370596574637509141842133715209158237315314813534474715653688632808261771829908323467284350066238521942452320623323247436009551445209760128133489568907284122998767358336697726623808579299310552491622878715077137989327512273029295442833205397898114745541307603997185500148752607183389609988796715919038890235142556247271446379517414029561575100117520879639262182628219489075292230304374221453058741120782365343738214783448422266429297138980351635984363657773062512776345020098200300383787602985312690744631304371632558590268056966495439575151757729847477944243920404820594748991300645294538562062595499755978088862770104131281406144292636942362531883777811178956403575540798586137437621125279868592527603895916704757930805572939891758489902543449579853684926825232720019374924480259352358058707579467361084032807118354487315513072834855085588948136054272070433832761259721362849868985794590272609959082851566505368399650755127596614674954107609835970438283248027245816211653676877847835941230192393964820472518872133644510948356472847504396468341590973756999313492051521655053484886552043889521649228118785966425994980411814106157839195180318872892677320942739478822230966297458129245516901286846488116841073290104165524264383705359743806676311500163875300536352205894269971598828691485473246332176900047859333779908523374442280203179537583807650363983249754483174614597689902336327164396827946397699625720041135525241352443032113029042257643987022186886913033168336298191301183527982989116520897278139682756148250557500809171048574939497304526905127478456509690122254904909422306151453004044598433996745307163431740275410586703880723168780300373679199691706098132219639068109839345201448582151494232537445479581549312163054182505602387476611896686177839879854347864860539842959202001334348694625012240510912602416149471511539261481606919492510110146978353911157409882617541024198702995990586368663971477435015228507646653470100285935548661049362002307827595956177319834713263359324187365104769182115849487653400467039241640862781238220592052383302204839153084925240683581906583031968833717163535313933146363632705449634108280532783461199321870079160198144202618918037211122755175757979986138479594060510596413625744380691678462855748357918755141096582665666999077308850780268559908458823069173169874986420475091149718306336659079703517129850009181918505339205117672028870076395895784207 74114186481610173448111476045180425461667368868438220812757528589596778404906946745990999775185890473888881319871460368612846780626053263725446911163673540913091615723129914817433406594948702204842875779625764973730929706743410264431974636997427082069612517455314318626908132629950043109273815645127464819468116425674466502997304925554855420257724723329417394814114346043380374717718079955179664643039438136810379221612229557785290590593587896209169924793793677643291997262283116922344866643796812553895440717485125407591377239914645231754797943829059717766945862597543290340388594001382497277545308695880771479075867026325742669469501707090255823062205643437177241095054834457428116926146158696224264258591281494496072441895816099735995415057831134881584548189685304193908524598495766752930710912737597684460484963461553344405696483801833064310967275138736078530066180150880555455358840115716036128737820836230942629779216368059932388801686876917656462656804162676455883710366341921170735392008744441728114992148957295336423827613104390035695735720737079895308478538481140011154792129164903845681973689254651300879407763588896208872688977343649982439368624447826966361780380930870009964168249368663765767641509619733559659848199600288943955163805702082642263865236093443010563971003988169962084234815104764637257354880507074790227002147811127522771961237828907293634410517121752119228817067441039019394962894725436253941409578027325794495319109387490723856611837184968222110620914074924622045702568273562950887608292708498091130596144955555263100207274185327215467606980575153313009035954226205915242893529400075292930365665046240104051323938777686558739644173329208572001417831596812926779586485102983513065028066877713674582069675538600674618476862359157614700253400867430979020637022531466401647029781555194129734961600034502009955356940472431652827002946615251381569485316064202986942081541597083723680847776915357759879999077003895997075408920312167759804794770963094009258909053509647441465482943057989804611928295290533062733487946392412955691803956201781504316993039532370095242592647981239216218462654977841630246930799322044524824325785789115841345020460627195597404228609761060118526972550094554352764017076711180515826254737785915136613095645359272534306807838753497322373648915063966917815504097764411647676921952333267275338808752895485077446098415759281165235455592349898787667333776078437800016640397583566127518324601797312013827342882193226885050404220117716325964501913293635959194300494084637670227970663338202166599951753945960728450362090090106317285734456956451846000391758257725434005641264638124441473151778251433357090457345973782429660904155133794132708805479089508472127326080805439801020690562564071285781642983829867148633872050005203765891929451520404636015918419997364760408556426369156470504230262959538325966594236650990313017611701996261394277552930337250828663069659961719038722373079995638697756397151128202768754004139645363513459523179743431071992843640864684400351246212170184226511163432049586110597579384878250656574725991753853432433964071853692868618947724562673063282138359392222090871769169810083788984247430974886945112538709840884712917290492053227479875315898154570601102005843449561198662857071863346364915110383133246525184082215345348563326123011 119919272775793244227053025260932139454682528251119686327393334521893106989638199305727726607100428844055114659511492778023471228142776672855605130337639842412349819404938419488950564559309637573384423355398975463726904582305061104839874590550915673300393329876039686177652408085018273152517354376771054317113739113190437753745750807498716048673132720724420148875783687459325584580401430228073140919397628377472866998129973242394492848628389340981684847440046557683198546987597832660054985021843468918225871890062075319712849809964117878086887676220545172683345832941047401571991465332353152663235463858624156376744486207215263112583477848752294940693031101569180612979968089882218674894652200570977538098049304619121960911453028828184555384123297647051148229325983824942516638202485732946676960791830055526847214260047964808829416373204564640014571518023497117892928859734684989998601524046638325767707580461946549000375791005569074230935402086075893777971617697151171537398999150182942565300332211726078181230670899747657047150860540399587140945480865213384877385822604138778513128826891527654261272999807142923758122840726885536384962006639092815644766522562572507669384378116370158716775432758273754564357428658623794802404446871735323472577835263657742381386115732705193192190493063462192388609036557823378378137245850813005010450570077556819910941589464891657292183579634528464248915267741422806997948207416180885245781210585916062552285604827065875614341684662912466031025734669673613346347862812125013483108048686586953900700276236961407392844216547859099245418159531556888549834540363643536368173397992602896826282369804170909624263830536176461283093753182893498826650551616187851259845837461042220644495427961746481700424162854113747453331947948105750754525471301263740280358385381335387441620054165153212586528105402901660710484537087106606934612782585689664817512561880414640618959389433024953873241741735830278752132721514844353548256424708636101395768527962407501310430708563132328017526832579639032730714261716528043145302052550252150872122829094458825259732518354601061540050777226756117505309143094682703537034964846308908529685529595792152845184335927731949610122879732658947218458023340886529664064936044960424349629180066118316150679453009636517556562321928111920063551251391131314643450495464037367718057477574619718370921781937742721433120602646194198403791890541199971195316765194958697294780080339714378075825410968360588766840186720132012528860729807838580869411335599787412198345092518634415535134095078477577186655634669129508750735769289798023383866676595519955839736959706307585499873802083604023022463941305615862692844822585679115838744034988141997569345322048710473461674775430452041531603164980220757293182245311474068126382160152182119803086861403022177040117122993355346777220397846591485732737909613008426252529785312039675019919529592217571597387643600610152850434764730901154571860733396105736998038013909440989346056522947568352612608104984114653899426672833518117514781526103330590143868881683694391130362846077572526653886189898056051352001282976448044376927710701152657342648955805847835252460848272939537342166186115983527778205708918193563697559051961686302944489068029557021577096993167867535321936775380476214924292301638585730301754244215424959221907218 194033459257403417675164501306112564916349897119557907140150863111489885394545146051718726382286319317943995979382953146636318008768829936581052041501313383325441435128068334306383971154258339778227299135024740437457834289048471369271849227548342755370005847331354004804560540714968316261791170021898519136581855538864904256743055733053571468930857444053837543689898033502705959298119510183252805562437066514283246219742202800179783439221977237190854772233840235326490544249880949582399851665640281472121312607547200727304227049878763109841685620049604890450291695538590691912380059333735649940780772554504927855820353233541005782052979555842550763755236745006357854075022924339646791820798359267201802356640586113618033353348844927920550799181128781932732777515669129136425162800981499699607671704567653211307699223509518153235112857006397704325538793162233196422995039885565545453960364162354361896445401298177491630155007373629006619737088962993550240628421859827627421109365492104113300692340956167806296222819857042993470978473644789622836681201602293280185864361085278789667920956056431499943246689061794224637530604315781745257650983982742798084135147010399474031164759047240168680943682126937520331998938278357354462252646472024267427741640965740384645251351826148203756161497051632154472843851662588015635492126357887795237452717888684342682902827293798950926594096756280583477732335182461826392911102141617139187190788613241857047604714214556599470953521847880688141646648744598235392050431085687964370716341395085045031296421192516670493051490733186314713025140106710201558870494589849451611066927392678189756648034850411013675587769313863020022737926512102070828068383213000778039432322564025733709523494839460156282493838392714422071808810307263365454778872168694719300995407912801789088649835720347342321489705437403670665841477559538259761615729200941046386997877944617627561040931030108677554089518651188038632131798518740350623665345020803861200563298925501510569339762072779769483009775637628837342642557007061105878789998942665106563926785296240329576725557886971156782643425207995333723771798072524333783965764168353433354011315384907994190204796554927547014351489493719065745430573435440882428082012756140940175883917852033452763775098368909051863370160681609242437200166455098232458954593228449015394979429907886993709730534833227798879219018405475363639247482891098758862650541273396497311420477923280505594150012765672602594183068913358897579264949925554906833913248893423371392645586603272085763104758416679743786607388615090237201097859379904340669601133551971801840128717964033019505515066721728464495615719557049219783302168559461545499648190121936130278150801138218945589000856235891842552293727544292043074825229141341216760254210157385885695016312923426813056035542990720107185776824215747956236968172572546752219124021963029988037531231588478965874940573937860981513504424692620193294233813391744434754435165037643758100060662592931866072131284727545725892270313698202517866027738273514816655032313733280501727942230955823183228612181651909483785965354830140912995875435263825720624787315198069926124230018083023326326413617090870472890744418759078276614849544014913782819804966184127622679102836617428733984793847243822579839402684771832255485836459560773522548030229 313952732033196661902217526567044704371032425370677593467544197633382992384183345357446452989386748161999110638894445924659789236911606609436657171838953225737791254533006753795334535713567977351611722490423715901184738871353532474111723818099258428670399177207393690982212948799986589414308524398669573453695594652055342010488806540552287517603990164778257692565681720962031543878520940411325946481834694891756113217872176042574276287850366578172539619673886793009689091237478782242454836687483750390347184497609276047017076859842880987928573296270150063133637528479638093484371524666088802604016236413129084232564839440756268894636457404594845704448267846575538467054991014221865466715450559838179340454689890732739994264801873756105106183304426428983881006841652954078941801003467232646284632496397708738154913483557482962064529230210962344340110311185730314315923899620250535452561888208992687664152981760124040630530798379198080850672491049069444018600039556978798958508364642287055865992673167893884477453490756790650518129334185189209977626682467506665063250183689417568181049782947959154204519688868937148395653445042667281642612990621835613728901669572971981700549137163610327397719114885211274896356366936981149264657093343759590900319476229398127026637467558853396948351990115094346861452888220411394013629372208700800247903287966241162593844416758690608218777676390809047726647602923884633390859309557798024432971999199157919599890319041622475085295206510793154172672383414271848738398293897812977853824390081671998931996697429478077885895707281045413958443299638267090108705034953492987979240325385281086582930404654581923299851599850039481305831679694995569654718934829188629299278160025067954354018922801206637982918001246828169525140758255369116209304343469958459581353793294137176530269889885500554908017810840305331376326014646644866696228511786630711204510439825032268180000320463133631427331260387018317384264520033584704171921769729439962596331826887909011879770470635912097500536608217267870073356818723589149024092051492917257436049614390699154836458076241572218322694202434751451229080941167207037321000729014662341883696844980700147035389132482659496624474369226378012963888596776327412092146948801101364525513097918151768914454551378545569419932482609721162500751417846229547102405088692486383113036907482506712080652316770970520312339621051669562043039373432298730057967306468355194606200558262994883669975423734033191361023255633490910108125679733393487703324584493210783590990679121906501298238853495157320973263023284219745951833628669702364053467810147491757679865677670340605005388868805332487518079660862665082476146991145140661338392225110078127847496123186929419050675631666343884083896892524512800368007474452815284886636370309568005498103174326448990096152665984075453962997222062339441969706082185555178471653807275069663057450761180696537472328217538471134363939189423521347866094546787850171752473178947084747446117185540500218684739389711660379791696986531720635380809264376845406798901195416974892858305077033395709882498371549965535137966637806588957372803145964978377967436271003917761376690866355962863668579803206854000668950127677271840312408595976600085764294034213684644256199829785296269306730622624298794763694986410417985787590703776198481769937447 507986191290600079577382027873157269287382322490235500607695060744872877778728491409165179371673067479943106618277399071296107245680436546017709213340266609063232689661075088101718506867826317129839021625448456338642573160402003843383573045647601184040405024538747695786773489514954905676099694420568092590277450190920246267231862273605858986534847608832095236255579754464737503176640450594578752044271761406039359437614378842754059727072343815363394391907727028336179635487359731824854688353124031862468497105156476774321303909721644097770258916319754953583929224018228785396751583999824452544797008967634012088385192674297274676689436960437396468203504591581896321130013938561512258536248919105381142811330476846358027618150718684025656982485555210916613784357322083215366963804448732345892304200965361949462612707067001115299642087217360048665649104347963510738918939505816080906522252371347049560598383058301532260685805752827087470409580012062994259228461416806426379617730134391169166685014124061690773676310613833643989107807829978832814307884069799945249114544774696357848970739004390654147766377930731373033184049358449026900263974604578411813036816583371455731713896210850496078662797012148795228355305215338503726909739815783858328061117195138511671888819385001600704513487166726501334296739882999409649121498566588595485356005854925505276747244052489559145371773147089631204379938106346459783770411699415163620162787812399776647495033256179074556248728358673842314319032158870084130448724983500942224540731476757043963293118621994748378947198014231728671468439744977291667575529543342439590307252777959276339578439504992936975439369163902501328569606207097640482787318042189407338710482589093688063542417640666794265411839639542591596949568562632481664083215638653178882349201206938965618919725605847897229507516277709002042167492206183126457844240987571757591508317769649895741041251493242308981420779038206356016396318552325054795587114750243823796895125813410522449110232708691866983546383854896707415999375730650254902882050435582363999976399686939484413183634128543375105337627642746784952852739239731371104966493183015775237708160365608141225593929037587043638825858720097078709319170211768294520228961557242304701397015770185221678229649747454621283302643291330404937951584301327779561359681920935398508016337390393705790382851604198319191558639457144925682286856323397488920617847741751691917621036186275389264125436499705793955206324546849807687390629658948394537237833386634154983636265725178587061343611911837064759870411899309983152931488049606704723068943699463559519994395634373624510903935527060952013695380419714302259449159704602206838040415232014258125646924325148364639676487902235726636190620068804843442832703594156501646890580466953891193119487249875803152188208974795561148774046278087398206674254758101930690777829238099651094981992769175503347268791476332115877443614116141541160328360179594606506908343984728505546177848133432084756870674439206105683967300229923153246837002650360223453933509150255394586247307989218893111110553201875018923931992636729870368678581228804098592223586201987687500920884438986189994993420297724473559694546436350116927258139991513868584099000397812266935302666402725003291524469868121374603097671182250241273427163336972004317967676 821938923323796741479599554440201973658414747860913094075239258378255870162911836766611632361059815641942217257171844995955896482592043155454366385179219834801023944194081841897053042581394294481450744115872172239827312031755536317495296863746859612710804201746141386768986438314941495090408218819237666043973044842975588277720668814158146504138837773610352928821261475426769047055161391005904698526106456297795472655486554885328336014922710393535934011581613821345868726724838514067309525040607782252815681602765752821338380769564525085698832212589905016717566752497866878881123108665913255148813245380763096320950032115053543571325894365032242172651772438157434788185004952783377725251699478943560483266020367579098021882952592440130763165789981639900494791198975037294308764807915964992176936697363070687617526190624484077364171317428322393005759415533693825054842839126066616359084140580339737224751364818425572891216604132025168321082071061132438277828500973785225338126094776678225032677687291955575251129801370624294507237142015168042791934566537306610312364728464113926030020521952349808352286066799668521428837494401116308542876965226414025541938486156343437432263033374460823476381911897360070124711672152319652991566833159543449228380593424536638698526286943854997652865477281820848195749628103410803662750870775289395733259293821166667870591660811180167364149449537898678931027541030231093174629721257213188053134787011557696247385352297801549641543934869466996486991415573141932868847018881313920078365121558429042895289816051472826264842905295277142629911739383244381776280564496835427569547578163240362922508844159574860275290969013941982634401285902093210137506252871378036637988642614161642417561340441873432248329840886370761122090326818001597873387559108611638463702994501076142149189615491348452137525327118014333418493506852827993154072752774202468796018757594682163921041571956375940408752039425224673400660838585909758967508884479683786393226952701319534328880703344603964484082992072164577489356194454239403926974101928499621436026014077638639249641710370115593428031830077498236181933680406938408425967222197678117121405005346308288260983061520246540263300227946475091673207766988095706612375910358343669226910113688336990592684201126000190703235125901051567438703002147557326663764770613421781621053244872900417871035168375168839503898260508814487725326229755696218978585154210106886523821594449270272934100860233738985316229580180340717795516309392341882240562417879844938574626944847085088359582465406994385733133435183529729104765116719309068776536753846955317199860073304714229516292804332393439531775041282379384735596150849742868176432640342092385973143047512077783690352119568579610720087512593317643810840178046971786533526950776521896691222661576324793248340874958871015111771268340426840176380336943657109162431636513169314152432753949872040819597009014803250241382803539662889026422906967444778259381522931813252992295033673932303441610064150866485475664286761643788627646267027205630252834704567230287444552385022614602993608924751840554061898630443318827741481727193782476559659857205905448877611750794949053663573223504578474228644674113621957239666735968113954348393034611496911191502496188021272598255092492420169366792657592668227061017867113170486087905123 1329925114614396821056981582313359242945797070351148594682934319123128747941640328175776811732732883121885323875449244067252003728272479701472075598519486443864256633855156929998771549449220611611289765741320628578469885192157540160878869909394460796751209226284889082555759927829896400766507913239805758634250495033895834544952531087764005490673685382442448165076841229891506550231801841600483450570378217703834832093100933728082395741995054208899328403489340849682048362212198245892164213393731814115284178707922229595659684679286169183469091128909659970301495976516095664277874692665737707693610254348397108409335224789350818248015331325469638640855277029739331109315018891344889983787948398048941626077350844425456049501103311124156420148275536850817108575556297120509675728612364697338069240898328432637080138897691485192663813404645682441671408519881657335793761778631882697265606392951686786785349747876727105151902409884852255791491651073195432537056962390591651717743824911069394199362701416017266024806111984457938496344949845146875606242450607106555561479273238810283878991260956740462500052444730399894462021543759565335443140939830992437354975302739714893163976929585311319555044708909508865353066977367658156718476572975327307556441710619675150370415106328856598357378964448547349530046367986410213311872369341877991218615299676092173147338904863669726509521222684988310135407479136577552958400132956628351673297574823957472894880385553980624197792663228140838801310447732012016999295743864814862302905853035186086858582934673467574643790103309508871301380179128221673443856094040177867159854830941199639262087283664567797250730338177844483962970892109190850620293570913567443976699125203255330481103758082540226513741680525913352719039895380634079537470774747264817346052195708015107768109341097196349367032843395723335460660999059011119611916993761774226387527075364332059662082823449618249390172818463431029417057157138234813763095999229927610190122078514730056777990936053295831467629375927061284905355570184889658829856152364081985436002413764578123662825344498658968533369457720245021134786419646669779530933715380693892359113165711916429486576990557833583902126086666572170382526937199864001132604871915585973928307129458522212270913850873454811986537769192381972376654586448885106225124452534357180129069582263294123661418019979367158695456899965959413407613086079093707899203001951858578441442630635545662198226296733444779271435904727190525482906939051290276777800251266479093558263210572263675420926077318831450493003847082839712257696604768915773499605697546418876719854468939087854027196739859454391545470421702093686995045310554345075014473055574106644098789971837226148330028607470815337356278132662122487253672881641128288180417531243475787884342148826200596400529083933666576260545314618514238383054591701759039853209465751268965247414746719047544166865800491135366118826417655804430186751267147039384766289866916541758538472881807364388198480738590072591159631586991566941874483269677565853706768213717485682030799693011833496104719477953715572985830623080048698110160308422586575151883443407893136378532635233935243658566643802302947788339220549972074166924875959627822932492035009309178126805162590746275889779562360541543969890328774918468334445030450142490405872799 2151864037938193562536581136753561216604211818212061688758173577501384618104552164942388444093792698763827541132621089063207900210864522856926441983698706278665280578049238771895824592030614906092740509857192800818297197223913076478374166773141320409462013428031030469324746366144837895856916132059043424678223539876871422822673199901922151994812523156052801093898102705318275597286963232606388149096484674001630304748587488613410731756917764602435262415070954671027917088937036759959473738434339596368099860310687982416998065448850694269167923341499564987019062729013962543158997801331650962842423499729160204730285256904404361819341225690501880813507049467896765897500023844128267709039647876992502109343371212004554071384055903564287183314065518490717603366755272157803984493420280662330246177595691503324697665088315969270027984722074004834677167935415351160848604617757949313624690533532026524010101112695152678043119014016877424112573722134327870814885463364376877055869919687747619232040388707972841275935913355082233003582091860314918398177017144413165873844001702924209909011782909090270852338511530068415890859038160681643986017905057406462896913788896058330596239962959772143031426620806868935477778649519977809710043406134870756784822304044211789068941393272711596010244441730368197725795996089821016974623240117167386951874593497258841017930565674849893873670672222886989066435020166808646133029854213841539726432361835515169142265737851782173839336598097607835288301863305153949868142762746128782381270974593615129753872750724940400908633008604786013931291918511466055220136658537013294729402409104440002184596127824142657526021307191786466597372178011284060757799823784945480614687767817416972898665098524413658762071521412284113841130222198635677410858333855876455809755190209091249917298956588544801504558170513737668879154505911839112765989746535976695183545832959014223583124395405994189798924857888655702817717995724144572730604883709611396583349031216049591106871639397899795951712367999225862394711764639129062756830254292581606872028427842216762912467054868774561961401287797743257316720100053608187956900937578372009480518171058224717747560052078080124165426314613047262055734704187959707744980782273929643155217243146859202863598051999455002689772895093433539815357588596442432888889223147778961750122827136194541532453188354535998199355160474773901132939315834789926877788156161965464965264225084815935132327156967183764587665484907531243278423248443632159018362669146324032132890155419348763780508542725825836226137282266369441362461721488224842276142451393374193919714542243802083543489544191847831077245462984473071730641461404087943190905695916199030071933019349303932020380727039394948076365645255440131064513059688100074713944482019997684575564810402525389648869958892537591372316582958941078559434928645416149015641102264438279399847500668919584986462809505938616360209221195467319213174174114484163025671389848355011530767915481296691640090802740939076635295873753210730502129536704771483959602918284715969475352078034448099098328402705556127047729253523367525851642035616369051711543300613798585256144386028884297322139867306881422016983894663594031406591611927741777280885069620806089318307658778767548488034654852961713336682986367586695395462897563312976493777922 3481789152552590383593562719066920459550008888563210283441107896624513366046192493118165255826525581885712865008070333130459903939137002558398517582218192722529537211904395701894596141479835517704030275598513429396767082416070616639253036682535781206213222654315919551880506293974734296623424045298849183312474034910767257367625730989686157485486208538495249258974943935209782147518765074206871599666862891705465136841688422341493127498912818811334590818560295520709965451149235005851637951828071410483384039018610212012657750128136863452637014470409224957320558705530058207436872493997388670536033754077557313139620481693755180067356557015971519454362326497636097006815042735473157692827596275041443735420722056430010120885159214688443603462341055341534711942311569278313660222032645359668315418494019935961777803986007454462691798126719687276348576455297008496642366396389832010890296926483713310795450860571879783195021423901729679904065373207523303351942425754968528773613744598817013431403090123990107300742025339540171499927041705461794004419467751519721435323274941734493788003043865830733352390956260468310352880581920246979429158844888398900251889091635773223760216892545083462586471329716377800830845626887635966428519979110198064341264014663886939439356499601568194367623406178915547255842364076231230286495609459045378170489893173351014165269470538519620383191894907875299201842499303386199091429987170469891399729936659472642037146123405762798037129261325748674089612311037165966867438506610943644684176827628801216612455685398407975552423111914294885232672097639687728663992752577191161889257240045639641446683411488710454776751645369630950560343070120474911378093394698512924591386893020672303379768856606953885275813201938197466560170117579269756948329108603141273155807385917106357685408297685741150871591013909461004339815504970850232377906740297750921571072908323346283245207218855612439189097676352086732234775152862379386493700882939539006773471109730779647884862575451195627419341743926287147300067334824018721586686406656663592308030841606794886575292399367433530494770745517988278451506519700277967487834652959065901839631336770141147234137042635913708067552401279619432438261641387823708877585654189515617083524372605381415134511902872909814676310664285815512192012175045327539114013675682136141879192409399488665193871208333903156894812060440733314540552401913883634776991158113824043406706855720361597330553453700628543859101389634721768761330187494922435796162920412803125691153365991612439201434620044657286719141129349209153620158326257140615775748148939793070639569011182889937570686284051302222622715884686566758725686771958433018205378751490305674170722991186530080350409334510210285432643777917562618318185941329228362894362013263473472459906959228725986049399042826204167632861897577455316942489520347175188868850568015707244647262247387967129153328609997073982479035638851271749399925441261523547791961256764896770069240797288661079838571541331011667794927460744777672376612806382337337666371132002201651506151771046281595203047880659271700033559876603416223961802344038955626863426744021691721634677021262819540980706511109184369805323115213566105573516487887369600213377104630115267445112821369513824377814217213503257306573315142505163729907928013455466899650721 5633653190490783946130143855820481676154220706775271972199281474125897984150744658060553699920318280649540406140691422193667804150001525415324959565916899001194817789953634473790420733510450423796770785455706230215064279639983693117627203455677101615675236082346950021205252660119572192480340177357892607990697574787638680190298930891608309480298731694548050352873046640528057744805728306813259748763347565707095441590275910954903859255830583413769853233631250191737882540086271765811111690262411006851483899329298194429655815576987557721804937811908789944339621434544020750595870295329039633378457253806717517869905738598159541886697782706473400267869375965532862904315066579601425401867244152033945844764093268434564192269215118252730786776406573832252315309066841436117644715452926021998561596089711439286475469074323423732719782848793692111025744390712359657490971014147781324514987460015739834805551973267032461238140437918607104016639095341851174166827889119345405829483664286564632663443478831962948576677938694622404503509133565776712402596484895932887309167276644658703697014826774921004204729467790536726243739620080928623415176749945805363148802880531831554356456855504855605617897950523246736308624276407613776138563385245068821126086318708098728508297892874279790377867847909283744981638360166052247261118849576212765122364486670609855183200036213369514256862567130762288268277519470194845224459841384311431126162298494987811179411861257544971876465859423356509377914174342319916735581269357072427065447802222416346366328436123348376461056120519080899163964016151153783884129411114204456618659649150079643631279539312853112302772952561417417157715248131758972135893218483458405206074660838089276278433955131367544037884723350481580401300339777905434359187442459017728965562576126197607602707254274285952376149184423198673218970010882689345143896486833727616754618741282360506828331614261606628988022534240742435052493148586523959224305766649150403356820140946829238991734214849095423371054111925513009694779099463147784343516660949245199180059269449011649487759454236208092456172033315731535768226619753886155444735590537437911320149507828365864981697094713993832232978715892666694493996345575783416622566436463445260238741615752240617998109954872364817366083559379249052007369763641769972002902898829915103629315236535683206726324396688439155094167220915507215673491717748673561654779314275789508371971080805177532462880610667812308446766874542253012039753435938554594814525589559127157824043521410961202981943162770483122945278411615578594982620047745365458051890600333167264559283553426692021114175828243150053699961347671039830456328233362520961396284447406504704242656010535834012370790061549605233509009423173002749382699001017328437608306495283471157035471769631251375698269001718741759005178480536396395501924448992591337884491670280145524047109748056886714139791419503012598839244860046739068613099615376007710817632646613251781600008712769957771478662344071950744430223334497988402878742343087108821625974050286917620981503849080729694301376283364827827081289130126783749813444379655324678574970044635490306890821407291703838302846378416065791822307009877160136980108099815111377494262174250921356763420480148281372865848872066464970643256301510091859125370825576768443393428643 9115442343043374329723706574887402135704229595338482255640389370750411350196937151178718955746843862535253271148761755324127708089138527973723477148135091723724355001858030175685016874990285941500801061054219659611831362056054309756880240138212882821888458736662869573085758954094306489103764222656741791303171609698405937557924661881294466965784940233043299611847990575737839892324493381020131348430210457412560578431964333296396986754743402225104444052191545712447847991235506771662749642090482417334867938347908406442313565705124421174441952282318014901660180140074078958032742789326428303914491007884274831009526220291914721954054339722444919722231702463168959911130109315074583094694840427075389580184815324864574313154374332941174390238747629173787027251378410714431304937485571381666877014583731375248253273060330878195411580975513379387374320846009368154133337410537613335405284386499453145601002833838912244433161861820336783920704468549374477518770314874313934603097408885381646094846568955953055877419964034162576003436175271238506407015952647452608744490551586393197485017870640751737557120424051005036596620202001175602844335594834204263400691972167604778116673748049939068204369280239624537139469903295249742567083364355266885467350333371985667947654392475847984745491254088199292237480724242283477547614459035258143292854379843960869348469506751889134640054462038637587470120018773581044315889828554781322525892235154460453216557984663307769913595120749105183467526485379485883603019775968016071749624629851217562978784121521756352013479232433375784396636113790841512548122163691395618507916889195719285077962950801563567079524597931048367718058318252233883513986613181971329797461553858761579658202811738321429313697925288679046961470457357175191307516551062159002121369962043303965288115551960027103247740198332659677558785515853539577521803227131478538325691649605706790073538833117219068177120210592829167287268301448903345718006649588689410130291250677608886876596790300291050790395855851800156994846434287166505930203067605908791488090111055806536063051853603641622950942778833719814219733139454164122932570243496503813159780844598507012215834137349907540300531117172286126932257986963607125500152090652960877322265988357622033132621857745274632042394223665064564199381938687097511116916574512051245508507645935171871920195605022342311988979281356240530214044119662557196431770472389613551778677936525539129793434064368440852305868264176974780801083623433477030610688509971930283515196887402573642183377782815140409664419540964787748602778374002506073827638749272960335198852564609581958684862112294452276322677232357606589182015005320953979601663198896810378413379001722364092721199396059815518941653201090565367700884942346556800502668508546944629495378728859977361747668044544945926638040378113851712444413969339766526753342238295852768694371995444853843293120029500086581318280498898010818013025056637531258609593903378148551669249510058618851317233885402962412225150795242766075255355149469446159292345182289119272487655620127011289504424164024099527114849006730199973775246723694280305438396788657182028525498428554523379283552889525250161627630125090726242553624587702480977707639278881036624208533301517795197243663089279968227949829616652597022855278753590223910293079364 14749095533534158275853850430707883811858450302113754227839670844876309334347681809239272655667162143184793677289453177517795512239140053389048436714051990724919172791811664649475437608500736365297571846509925889826895641696038002874507443593889984437563694819009819594291011614213878681584104400014634399293869184486044617748223592772902776446083671927591349964721037216265897637130221687833391097193558023119656020022240244251300846010573985638874297285822795904185730531321778537473861332352893424186351837677206600871969381282111978896246890094226804845999801574618099708628613084655467937292948261690992348879431958890074263840752122428918319990101078428701822815445175894676008496562084579109335424948908593299138505423589451193905177015154203006039342560445252150548949652938497403665438610673442814534728742134654301928131363824307071498400065236721727811624308424685394659920271846515192980406554807105944705671302299738943887937343563891225651685598203993659340432581073171946278758290047787916004454097902728784980506945308837015218809612437543385496053657828231051901182032697415672741761849891841541762840359822082104226259512344780009626549494852699436332473130603554794673822267230762871273448094179702863518705646749600335706593436652080084396455952285350127775123359101997483037219119084408335724808733308611470908415218866514570724531669542965258648896917029169399875738397538243775889540349669939092753652054533649448264395969845920852741790060980172461692845440659721805800338601045325088498815072432073633909345112557645104728474535352952456683560600129941995296432251574805600075126576538345798928709242490114416679382297550492465784875773566383992855649879831665429735003536214696850855936636766869688973351582648639160627362770797135080625666703993521176731086932538169501572890822806234313055623889382755858350777755526736228922665699713965206155080310390888067296901870447378825697165142744833571602339761450035427304942312416237839813487111391624438125868331005149386474161449967777313166689625533750314290273719728555153990668149380504818185550811307839849715407114812149451349987959759208050278377305834033941724479930352426872877197531232063901372533509833064952821426254332539390542122718527116406137561007604109862651130731812617639449408477783044313616206751702328867483119819473341966349137822882470855078646520001710781467083146502271747745887535837411230758086549786665403060150649017330716662256314675036253160752635138719227792840837059372031625425214099531057441339240408813534845165320945585623532609697952580366343585398421747871531879529349606127599758136118036273979799037940537602330022638580028646419638343238683474940997947646303315082656035012258198105091989457609420752450662624263568117083583943363885238110975003830415786530850498491228737445937046263687685643218858650248107946338418332357864637833908575998292741481743501740557432911449003099180157525358944749886626124672013538969427226549991400333269258222828576622795896229474913156655374129740754478134097492556554980918319232576036893469159469207740983805800447388927354196138136856983723588691103349604984013366833292672335416319835846227217586399267941315953449937134967886379533732687517592355201901453131957980971953781666076570109511961346433198593085918162688881980649579166992353686508007 23864537876577532605577557005595285947562679897452236483480060215626720684544618960417991611414006005720046948438214932841923220328278581362771913862187082448643527793669694825160454483491022306798372907564145549438727003752092312631387683732102867259452153555672689167376770568308185170687868622671376190597040794184450555306148254654197243411868612160634649576569027792003737529454715068853522445623768480532216598454204577547697832765317387863978741338014341616633578522557285309136610974443375841521219776025115007314282946987236400070688842376544819747659981714692178666661355873981896241207439269575267179888958179181988985794806462151363239712332780891870782726575285209750591591256925006184725005133723918163712818577963784135079567253901832179826369811823662864980254590424068785332315625257174189782982015194985180123542944799820450885774386082731095965757645835223007995325556233014646126007557640944856950104464161559280671858048032440600129204368518867973275035678482057327924853136616743869060331517866762947556510381484108253725216628390190838104798148379817445098667050568056424479318970315892546799436980024083279829103847939614213889950186824867041110589804351604733742026636511002495810587564082998113261272730113955602592060786985452070064403606677825975759868850356085682329456599808650619202356347767646729051708073246358531593880139049717147783536971491208037463208517557017356933856239498493874076177946768803908717612527830584160511703656100921566876312967145101291683941620821293104570564697061924851472323896679166861080488014585385832467957236243732836808980373738496995693634493427541518213787205440915980246461822148423514152593831884636226739163866444847401064800997768555612435594839578608010402665280573927839674324241254492255816974220544583335733208302500212805538178938358194340158871629581088518028336541042589768500187502941096684693406002040493774086975409280496044765342262955426400769627029751484330650660319065826529223617402642302047012744927795449677524951845823629113323684471968037480796203922796161062782156239491560624721613863161443491338358057590983171164207692898662214401309876077530445537639711197025379889413365369413808912834040950237238948358512319502997667622870617769367014883273592467484684263353670362914081450872006709378180406133641015964994236736047854017594646330528406026950566715606733123779072125783627988276101579957073787954518320259055016611929326953856255792049748739404694013058503402896202573641920682805508656035902609502987724854437296216108487348698728400763942274117493545154092188176795750377605707168098879087934956988682645855938483900052832054606345315812386253008820358244004428920599610845200125461069414013980562197813188853669236271392315825354133484784468885710442038613643512377360416026229227351206099193605090808633612281259236764099820390752387672124391391176146871851061435853738946594400726031478503185761475805857842760704639149728651070228036820453369548884938507732887195474113130114877875568880524924983520553389452642026001140210664414865156165956815089334752273310224611413026881310987143587183697363937827043885289451763621949854363941818264400750596869952157466566115077567260058612622087357275220073332909540732012994605180487083183871767353175050626401426542915534815285904835928332757216263979587371 38613633410111690881431407436303169759421130199565990711319731060503030018892300769657264267081168148904840625727668110359718732567418634751820350576239073173562700585481359474635892091991758672095944754074071439265622645448130315505895127325992851697015848374682508761667782182522063852271973022686010589890909978670495173054371847427100019857952284088225999541290065008269635166584936756686913542817326503651872618476444821798998678775891373502853038623837137520819309053879063846610472306796269265707571613702321608186252328269348378966935732470771624593659783289310278375289968958637364178500387531266259528768390138072063249635558584580281559702433859320572605542020461104426600087819009585294060430082632511462851324001553235328984744269056035185865712372268915015529204243362566188997754235930617004317710757329639482051674308624127522384174451319452823777381954259908402655245828079529839106414112448050801655775766461298224559795391596331825780889966722861632615468259555229274203611426664531785064785615769491732537017326792945268944026240827734223600851806208048496999849083265472097221080820207734088562277339846165384055363360284394223516499681677566477443062934955159528415848903741765367084035658262700976779978376863555938298654223637532154460859558963176103534992209458083165366675718893058954927165081076258199960123292112873102318411808592682406432433888520377437338946915095261132823396589168432966829830001302453356982008497676505013253493717081094028569158407804823097484280221866618193069379769493998485381669009236811965808962549938338289151517836373674832105412625313302595768761069965887317142496447931030396925844119698915979937469605451020219594813746276512830799804533983252463291531476345477699376016863222567000301687012051627336442640924538104512464295235038382307111069761164428653214495518963844376379114296569325997422853202655061890848486312431381841383877279727874870462507405700259972371966791201519757955602631482064369037104514033926485138613258800599063999113295791406426490374097501787795086477642524716216772824388872065442907164674469283341053765172403132622514195652657870264679687181911564387262119641549452252766610896601477710285367550783302191769784766652042388209745589144885773152444281196577347335394085482980553530859349789753691796612885343344832477356555521195983943784153410876882029213235608443905246155272285899736021989115794485018712604870045720419672079975971186972454306063414440947173811138541615430366482757742177540281461116709034045166193677705029643332514019673986387474883815446125520435773575217498249137586697448485215534715124800682129918282937993369656936367954392414899428458701482687903861597558491503440543725449026238760302905178311278657023842978449617701601868052829074327276724618516207776202557079725842434836639542137072321297924478095414347928337090806004482256029010055447849354177335482448334958158942927506284941633331216787510591265274400664609197464047003360949218207765955715772096909026344352788725535899054724275031523550134582556121128983647441193059425974558542493257116025058801954235507125280444167420952628930393490273465130455242526699358138100246977814456351425407882068527504395026499001621089962737665688111442185144952586152440864849948337462687011972834625136001452977974786816577911924208617666095378 62478171286689223487008964441898455706983810097018227194799791276129750703436919730075255878495174154624887574165883043201641952895697216114592264438426155622206228379151054299796346575482780978894317661638216988704349649200222628137282811058095718956468001930355197929044552750830249022959841645357386780487950772854945728360520102081297263269820896248860649117859092800273372696039651825540435988441094984184089216930649399346696511541208761366831779961851479137452887576436349155747083281239645107228791389727436615500535275256584779037624574847316444341319765004002457041951324832619260419707826800841526708657348317254052235430365046731644799414766640212443388268595746314177191679075934591478785435216356429626564142579517019464064311522957867365692082184092577880509458833786634974330069861187791194100692772524624662175217253423947973269948837402183919743139600095131410650571384312544485232421670088995658605880230622857505231653439628772425910094335241729605890503938037286602128464563281275654125117133636254680093527708277053522669242869217925061705649954587865942098516133833528521700399790523626635361714319870248663884467208224008437406449868502433518553652739306764262157875540252767862894623222345699090041251106977511540890715010622984224525263165641002079294861059814168847696132318701709574129521428843904929011831365359231633912291947642399554215970860011585474802155432652278489757252828666926840906007948071257265699621025507089173765197373182015595445471374949924389168221842687911297639944466555923336853992905915978826889450564523724121619475072617407668914392999051799591462395563393428835356283653371946377172305941847339494090063437335656446333977612721360231864605531751808075727126315924085709778682143796494839976011253306119592259615145082687848197503537538595112649248699522622993373367148544932894407450837611915765923040705596158575541892314471875615470852689008370915227849668655686373141593820953004088606262950547890898260721916676228532151358186596048741524065141615035539814058569469825275882681565320877279554980628363626067628778537630726832392123229994115793678403345556532479080997057989094832799759352746477632656024261970891519198201591733539430718143278971545385877368459762655140167327554789044832019657439153343467612310221796463069977019018984360797471593291569050001538430483939282908979779951215177029025227398069527724298090695751558806667123190304775436284009302925043228246355812153845641186869641944511632940124678424983048937497019318537032891048115001245751819862718402387151417157932939670674527961752013248626743293865547364303469672113483327985856766838046201711542713270204801152437279059726692332782197169336703566004794863040219322500718367164947893295235294274971835086652521714784769315338262028585136618583308953193640935833147227880954910205737332178447748727843193676606647420186202319700415613189221394929358884974406009470703109137074630271295904424129315679425500867456730498103146273688602967571022156459230664294416423979707795584913002776608557261339648062306349225382789647877245530426249670214981116818112424031351118316566757437375562916894077192381063299956364647728411326303582874448183605071655085111623708447237957739021020982917157947191332927948033820104815862062599236051678916987793260691652506244681424881645682749 101091804696800914368440371878201625466404940296584217906119522336632780722329220499732520145576342303529728199893551153561360685463115850866412615014665228795768928964632413774432238667474539650990262415712288427969972294648352943643177938384088570653483850305037706690712334933352312875231814668043397370378860751525440901414891949508397283127773180337086648659149157808543007862624588582227349531258421487835961835407094221145695190317100134869684818585688616658272196630315413002357555588035914372936363003429758223686787603525933158004560307318088068934979548293312735417241293791256624598208214332107786237425738455326115485065923631311926359117200499533015993810616207418603791766894944176772845865298988941089415466581070254793049055792013902551557794556361492896038663077149201163327824097118408198418403529854264144226891562048075495654123288721636743520521554355039813305817212392074324338835782537046460261655997084155729791448831225104251690984301964591238505972197592515876332075989945807439189902749405746412630545035069998791613269110045659285306501760795914439098365217099000618921480610731360723923991659716414047939830568508402660922949550179999995996715674261923790573724443994533229978658880608400066821229483841067479189369234260516378986122724604178182829853269272252013062808037594768529056686509920163128971954657472104736230703756235081960648404748531962912141102347747539622580649417835359807735837949373710622681629523183594187018691090263109624014629782754747486652502064554529490709324236049921822235661915152790792698413114462062410770992908991082501019805624365102187231156633359316152498780101302976774098150061546255474027533042786676665928791358997873062664410065735060539018657792269563409154699007019061840277698265357746928702256069620792360661798772576977419760318460687051646587862667508777270786565134181241763345893908251220466390378626903257456854729968736245785690357074355946345513560612154523846561865582029955267297826430710155017289971445396647805523178437406441966304432666971613070969159207845593496327805017235691510535943212100010173445888402397248416192598998214402743760684239900659220061878994295929885422635158572369229483569142516841622487928045623587774087114048907540913319771835985622179355051524636324021143169571586216761773631904327705629948949847090245985482214637350159791008993186823620934271382670355427460320079811546043825379728060350495855956089278896230200700661875568286588360680780486127063306607436167160589218958136027571078057241792706275395152376738076373538892041748385796194963735327230746875880880562995849519004387238284010115775049776039571368479081224597216051865737761209380236643794727828207006548520312066458082803623545476226550319078272724589536688520574543859096592062880544792912821140388679036075772472689364953276208130215427592795677064933999681088903449196257767549769790524703843264317043917333515755644742468291417781887169698529980288622964914460091447321354039644318739667931182803583453019952323034432070616436552911191113382468631709747542284808764206419738787542274729016935352325237704475518539269195687830865836382024532434907762658094464894706225782655008282330252132576050111610625329537200695404709132425102302899777485368812883768442278549074572070676814918440771235478469084156605633499311778127 163569975983490137855449336320100081173388750393602445100919313612762531425766140229807776024071516458154615774059434196763002638358813066981004879453091384417975157343783468074228585242957320629884580077350505416674321943848575571780460749442184289609951852235392904619756887684182561898191656313400784150866811524380386629775412051589694546397594076585947297777008250608816380558664240407767785519699516472020051052337743620492391701858308896236516598547540095795725084206751762158104638869275559480165154393157194839187322878782517937042184882165404513276299313297315192459192618623875885017916041132949312946083086772580167720496288678043571158531967139745459382079211953732780983445970878768251631300515345370715979609160587274257113367314971769917249876740454070776548121910935836137657893958306199392519096302378888806402108815472023468924072126123820663263661154450171223956388596704618809571257452626042118867536227707013235023102270853876677601078637206320844396476135629802478460540553227083093315019883042001092724072743347052314282511979263584347012151715383780381196881350932529140621880401254987359285705979586662711824297776732411098329399418682433514550368413568688052731599984247301092873282102954099156862480590818579020080084244883500603511385890245180262124714329086420860758940356296478103186207938764068057983786022831336370142995703877481514864375608543548386943257780399818112337902246502286648641845897444967888381250548690683360783888463445125219460101157704671875820723907242440788349268702605845159089654821068769619587863678985786532390467981608490169934198623416901778693552196752744987855063754674923151270456003393594968117596480122333112262768971719233294529015597486868614745784108193649118933381150815556680253709518663866520961871214703480208859302310115572532409567160209674639961229816053710165194015971793157529268934613847379041932270941375133072325582657744616700918206743011632718655154433107527935168128532577846165558548347386383549441329631992696547047243579021477506118491236441438346851840773166470775882785645599317578164721749730737005838011632391364209871002343770935222841681297889754052861638347042407518078659420543260748681770734250381053206071324595133159964482508670196053487099390774667011374708963789667488755479793382679831750650923312066427420543138659295987020645121289442699988773138038797963296610068424955184618170507297602632046851250655271292240098581821273428947017687722132229547550422430638696246732114592143638156455155346108110948289907707521146972239456478760690309199681325466869491697079243995502624174428543213822474059351767338101631816614085773080021794494802017204303016820936072569425991897164910572553315175106677405304341912641174443614313566999561371775173096258643865907401142573378049439723697632229716708305836592834231118335952759771243425792777193357695550869382460087250185403713925238193675928891739525226347851605366048053183074122659295968048465781916821945424500313332921707238953339262814117314368747014139866201349555687799670643808279772053891510191553854296984317968524399231916469143350128506869657585762445268241399298918609627288825958050829542434637108958591156778435737647705196722249037984438653143730153408019460846968818296760917588547094411137171306728493835428564496170121590401287058380957460876 264661780680291052223889708198301706639793690690186663007038835949395312148095360729540296169647858761684343973952985350324363323821928917847417494467756613213744086308415881848660823910431860280874842493062793844644294238496928515423638687826272860263435702540430611310469222617534874773423470981444181521245672275905827531190304001098091829525367256923033946436157408417359388421288828989995135050957937959856012887744837841638086892175409031106201417133228712453997280837067175160462194457311473853101517396586953062874110482308451095046745189483492582211278861590627927876433912415132509616124255465057099183508825227906283205562212309355497517649167639278475375889828161151384775212865822945024477165814334311805395075741657529050162423106985672468807671296815563672586784988085037300985718055424607590937499832233152950629000377520098964578195414845457406784182708805211037262205809096693133910093235163088579129192224791168964814551102078980929292062939170912082902448333222318354792616543172890532504922632447747505354617778417051105895781089309243632318653476179694820295246568031529759543361011986348083209697639303076759764128345240813759252348968862433510547084087830611843305324428241834322851940983562499223683710074659646499269453479144016982497508614849358444954567598358672873821748393891246632242894448684231186955740680303441106373699460112563475512780357075511299084360128147357734918551664337646456377683846818678511062880071874277547802579553708234843474730940459419362473225971796970279058592938655766981325316736221560412286276793447848943161460890599572670954004247782003965924708830112061140353843855977899925368606064939850442145129522909009778191560330717106357193425663221929153764441900463212528088080157834618520531407784021613449664127284324272569521101082692549952169885620896726286549092483562487435980581105974399292614828522098599508322649568278390529180312626480862486608563817367579064168715045262051781729994114607801432856374778096538566731301077389344352570422016427919472422923903413051417820999981012064272210590662835009088700664961830747179283900034788612626063601341985337966602365537790413272923517341338337403501294579115629978165339876767222675693999370218720934051596557577736966806871226760289190729760488425991509898649364968896593524282827639772057369492985749541972502859758639602490997766324862418897567992738780382644938250318843646457426579311005767148196187860717503629647679563290418817908231202916765759553339550759304227375413291373679189005531700413796542124616194555134229201241429711263064455432406474742378505054991539063341478446590051348217406866390125344448500875719399233256168754582145452806069786624993117579101835487173135488107965458117400993933391839724150908463693670802502962499464023118170962260864086311265792480778525957787507326466168187364039102857711193038784454318578717854799955194238629081457992972809073040981992594073657465835070243821189276256671430696376913392745854352977240446906884522066397570334321070048571936817786108598990784026276911481801433795000318060716723105510799128248851821468587832982388196854958133099107235680943142062196588616145294437140862891613599439108687870223755308332874367521639348548439285833121763746746303665573801356989372960211743377405308753869335731648590674557892691880269239003 428231756663781190079339044518401787813182441083789108107958149562157843573861500959348072193719375219838959748012419547087365962180741984828422373920847997631719243652199349922889409153389180910759422570413299261318616182345504087204099437268457149873387554775823515930226110301717436671615127294844965672112483800286214160965716052687786375922961333508981244213165659026175768979953069397762920570657454431876063940082581462130478594033717927342718015680768808249722365043818937318566833326587033333266671789744147902061433361090969032088930071648897095487578174887943120335626531039008394634040296598006412129591912000486450926058500987399068676181134779023934757969040114884165758658836701713276108466329679682521374684902244803307275790421957442386057548037269634449134906899020873438643612013730806983456596134612041757031109192992122433502267540969278070047843863255382261218594405801311943481350687789130697996728452498182199837653372932857606893141576377232927298924468852120833253157096399973625819942515489748598078690521764103420178293068572827979330805191563475201492127918964058900165241413241335442495403618889739471588426121973224857581748387544867025097452501399299896036924412489135415725223086516598380546190665478225519349537724027517586008894505094538707079281927445093734580688750187724735429102387448299244939526703134777476516695163990044990377155965619059686027617908547175847256453910839933105019529744263646399444130620564960908586468017153360062934832098164091238293949879039411067407861641261612140414971557290330031874140472433635475551928872208062840888202871198905744618261026864806128208907610652823076639062068333445410262726003031342890454329302436339651722441260708797768510226008656861647021461308650175200785117302685479970625998499027752778380403392808122484579452781106400926510322299616197601174597077767556821883763135945978550254920509653523601505895284225479187526770560379211782823869478369579716898122647185647598414923125482922116172630709382040899617665595449396978541415139854489764672840754178535048093376308434326666865386711561484185121911667179976835934603685756273189444046835680167325785155688380744921579953999658890726847110611017603728900070694813854094016079066247933020293970617534956202104469452215658998654129158351576425274933750951838484790036124408837959523504879929045190986539462901216860864602807205337829556420826141249089473430561661038440436286442538777058594697251012551047455781625347404455800071665351447865531868446719787299953821608121317689096855651033894919510441111036729933947129485718737881129229420082277163952505941818686319038683004211117528522670214201250460471771403081525375495778522158028151655150662279812893412307370758575437547705406723712280238866767061146828406865165691549011700587783943495509189084362550621738444802120947135282528650488386396480005187961177942050140597952554319651668901700812566208340445679023513888253317943848572224719896478293735338170354666310162154145837861329211687648689817062711803019135664286790454670085191253855325305191871915013707423479323527480768290611937961489257854440720578367348634979861751689485414574196123979575500000572190595887123607871460505055123405506078001692169439241141224593715121962334718945536467371348914684133802589297900227818712264959179750261226699879 692893537344072242303228752716703494452976131773975771114996985511553155721956861688888368363367233981523303721965404897411729286002670902675839868388604610845463329960615231771550233063821041191634265063476093105962910420842432602627738125094730010136823257316254127240695332919252311445038598276289147193358156076192041692156020053785878205448328590432015190649323067443535157401241898387758055621615392391732076827827419303768565486209126958448919432813997520703719645880886112479029027783898507186368189186331100964935543843399420127135675261132389677698857036478571048212060443454140904250164552063063511313100737228392734131620713296754566193830302418302410133858868276035550533871702524658300585632144013994326769760643902332357438213528943114854865219334085198121721691887105910739629330069155414574394095966845194707660109570512221398080462955814735476832026572060593298480800214898005077391443922952219277125920677289351164652204475011838536185204515548145010201372802074439188045773639572864158324865147937496103433308300181154526074074157882071611649458667743170021787374486995588659708602425227683525705101258192816231352554467214038616834097356407300535644536589229911739342248840730969738577164070079097604229900740137872018618991203171534568506403119943897152033849525803766608402437144078971367671996836132530431895267383438218582890394624102608465889936322694570985111978036694533582175005575177579561397213591082324910507010692439238456389047570861594906409563038623510600767175850836381346466454579917379121740288293511890444160417265881484418713389762807635511842207118980909710542969856976867268562751466630723002007668133273295852407855525940352668645889633153446008915866923930726922274667909120074175109541466484793721316525086707093420290125783352025347901504475500672436749338402003127213059414783178685037155178183741956114498591658044578058577570077931914130686207910706341674135334377746790846992584523631631498628116761793449031271297903579460682903931786771385252188087611877316450964339043267541182493840735190599320303966971269335755566051673392231364405811701968589461998205027741611156046412373470580598708673029719082325081248578774520705012450487784826404594070065032575028067675623825669987100841844295245392834229940641650508552778523320473018799216578591610542159529110158379932026364638568647681984305787763635758432595545985720474494671144984895546900009872666805588632474303256280688242376814302969865364012828264170215353411216110752092907281738093466488959353308535114231221471845589029148711682540747992998402561892193480259634284411621340505430952531870034536445549394336461977023545933600483716640525985226978181565565147151145730756986149452948381520272828875976431481097246447863188702560437863649790906329188809719973961451870254761301669862888508409245771268289134499321631508199579435264459506539895796850095792191183401109661874509885607190333039752680979723323561765037848481391327174670648730916209019287402601052722383395609257983010887111283739836921772885781238696362102735656759100192189975730430528990122655729620112080525794471646051295678711466455870660804893751682003190341418416716362892185790034995811478095215813387997773027717350240608725074262988340461425627908520302525840331560658061539111343167235959467302939517072442141495938882 1121125294007853432382567797235105282266158572857764879222955135073710999295818362648236440557086609201362263469977824444499095248183412887504262242309452608477182573612814581694439642217210222102393687633889392367281526603187936689831837562363187160010210812092077643170921443220969748116653725571134112865470639876478255853121736106473664581371289923940996434862488726469710926381194967785520976192272846823608140767910000765899044080242844885791637448494766328953442010924705049797595861110485540519634860976075248866996977204490389159224605332781286773186435211366514168547686974493149298884204848661069923442692649228879185057679214284153634870011437197326344891827908390919716292530539226371576694098473693676848144445546147135664714003950900557240922767371354832570856598786126784178272942082886221557850692101457236464691218763504343831582730496784013546879870435315975559699394620699317020872794610741349975122649129787533364489857847944696143078346091925377937500297270926560021298930735972837784144807663427244701511998821945257946252367226454899590980263859306645223279502405959647559873843838469018968200504877082555702940980589187263474415845743952167560741989090629211635379173253220105154302387156595695984776091405616097537968528927199052154515297625038435859113131453248860342983125894266696103101099223580829676834794086572996059407089788092653456267092288313630671139595945241709429431459486017512666416743335345971309951141313004199364975515588014954969344395136787601839061125729875792413874316221178991262155259850802220476034557738315119894265318635015698352730409990179815455161230883841673396771659077283546078646730201606741262670581528971695559100218935589785660638308184639524690784893917776935822131002775134968922101642389392573390916124282379778126281907868308794921328791183109528139569737082794882638329775261509512936382354793990556608832490587585437732192103194931820861662104938126002629816454002001211215526239408979096629686221029062382799076562496153426151805753207326713429505754183122030947166681489369134368397343279703662422431438384953715549527723369148566297932808713497884345490459209150747924493828718099827246661202578433411431859561098802430133494140759846429122083754690073603007394812461830201594938699392857309507206907681672049444074150329543449026949565234567217891549869518497692872970845250664852619297198353191058304051091971126144636373440434327844029068760745795057746837074065315520912819794453611574671153482881462199958439150184813253788913174916656431920318327496622924068222123651784722932349691377912218140763513831703617669383458473688720855484232398547579505546216147801734177112297388308503557061343669309173882412136811732761274932580199634551869028802653171575468941427204924796619313194354501268985662039654198256810858947251059030984216070410081634604160158687965831744464694501073738900236390143737720761330776210698173398673485431704493611576879708886420706111223652964384069086563685597564755198560244724820945631700704173995542856057437172571693366447293989512084405384061890744137952469446183210388402692463755960903905736399289833804505640666645441167417764537542396291862892757980630882935085966676318443121178533795351932778164315404212934176547590243239248062307702909572745672913932465136187286015204476252192402722638761 1814018831351925674685796549951808776719134704631740650337952120585264155017775224337124808920453843182885567191943229341910824534186083790180102110698057219322645903573429813465989875281031263294027952697365485473244437024030369292459575687457917170147034069408331770411616776140222059561692323847423260058828795952670297545277756160259542786819618514373011625511811793913246083782436866173279031813888239215340217595737420069667609566451971844240556881308763849657161656805591162276624888894384047706003050162406349831932521047889809286360280593913676450885292247845085216759747417947290203134369400724133434755793386457271919189299927580908201063841739615628755025686776666955266826402241751029877279730617707671174914206190049468022152217479843672095787986705440030692578290673232694917902272152041636132244788068302431172351328334016565229663193452598749023711897007376568858180194835597322098264238533693569252248569807076884529142062322956534679263550607473522947701670073000999209344704375545701942469672811364740804945307122126412472326441384336971202629722527049815245066876892955236219582446263696702493905606135275371934293535056401302091249943100359468096386525679859123374721422093951074892879551226674793589005992145753969556587520130370586723021700744982333011146980979052626951385563038345667470773096059713360108730061470011214642297484412195261922157028611008201656251573981936243011606465061195092227813956926428296220458152005443437821364563158876549875753958175411112439828301580712173760340770801096370383895548144314110920194975004196604312978708397823333864572617109160725165704200740818540665334410543914269080654398334880037115078437054912048227746108568743231669554175108570251613059561826897009997240544241619762643418167476099666811206250065731803474183412343809467358078129585112655352629151865973567675484953445251469050880946452035134667410060665517351862878311105638162535797439315872793476809038525632842714154356170772545660957518932641843481980494282924811403993840819204029880470093226389572129660522224559733688701310250972998177997490058345946913933535071117155759931013741239495501536871582621328523202501747818909571742451157207932136872011586587256538088210824879004150151430313899272994495654306125446987772929333498960015759686204992522462873366908135059569109094344725597823576234157066340554955151038428488377729793899176778778545763116111040183273450306994649617701235049051338435079450879618490778183807281875744886506894097572952051346431922906720277872528225191546151539799342211953216933806192532715930752253270105698400397798243324958174814411005558755391929781792884041482569762081402217893752823373535481738626908816460319613169122961185709656452853028510528300509899899619438657643987642788446410219523543310988959623491524453018112528810139567440229987338699216133925791666887545267008924201040969535750332182334921121870992650720583780589006525184385473334900441473924269187502550827635032800002772704884967356251282628120430203614711591285279282692979210058352932062809396725168843505576251866474568481459568838940008514772989550432549957032078001300260376301471539192849420954878960813008225784943770665878746564061892131831118951561512702173386889389667201274637973218151759550588148034470230807212025275632372146753318143993324634544218577643 2935144125359779107068364347186914058985293277489505529560907255658975154313593586985361249477540452384247830661921053786409919782369496677684364353007509827799828477186244395160429517498241485396421640331254877840525963627218305982291413249821104330157244881500409413582538219361191807678346049418557372924299435829148553398399492266733207368190908438314008060374300520382957010163631833958800008006161086038948358363647420835566653646694816730032194329803530178610603667730296212074220750004869588225637911138481598698929498252380198445584885926694963224071727459211599385307434392440439502018574249385203358198486035686151104246979141865061835933853176812955099917514685057874983118932780977401453973829091401348023058651736196603686866221430744229336710754076794863263434889459359479096175214234927857690095480169759667637042547097520909061245923949382762570591767442692544417879589456296639119137033144434919227371218936864417893631920170901230822341896699398900885201967343927559230643635111518539726614480474791985506457305944071670418578808610791870793609986386356460468346379298914883779456290102165721462106111012357927637234515645588565565665788844311635657128514770488335010100595347171180047181938383270489573782083551370067094556049057569638877536998370020768870260112432301487294368688932612363573874195283294189785564855556584210701704574200287915378424120899321832327391169927177952441037924547212604894230700261774267530409293318447637186340078746891504845098353312198714278889427310587966174215087022275361646050807995116331396229532742511724207244027032839032217303027099340540620865431624660214062106069621197815159301128536486778377749018583883743786846327504333017330192483293209776303844455744673945819371547016754731565519809865492240202122374348111581600465320212118262279406920768222183492198888948768450313814728706760981987263301246025691276242551253102789595070414300569983397459544253998796106625492527634053929680595579751642290643739961704226281057056779078237555799594026530743309975847409511603076827203713928868057098653530676660600428928443299662463461258440265722057863822454737379847027330791772076447696330465918736818403653735641343568731572685389686671582351584725433272235185003972876001890466767955648582711628726356269522966593886664571906947517237678508596058659579292815715126103675564033427925996289093340997026992252367837082596855087237184819646890741322493646769995794846396181916524944934011691003601735487319557660376979035152009785582107719974066785703141847978071858126838834877285155929844317438863101944648017916541161312075028575844197869479247476247414014191431620988115978229203952070865120761843985295688252485769493495581259772918470931385433228145080169538702552791014126585414847713243029532717897812257945285531178651274923387757390626471214203409109297768529951825575511098753388895542043274650568572478658842632323426931281953987680010616089966946477321182810689893613774480599416869089336390482532111449842872845251149246412295459274825549036647230924625429256690714680927910960313757218706433929015022150396917465453306393453862768477291134064881942138184634016838719416503209300088677701751296761681650028568450274240130095308054106165053705071414208814520808394998798650455737379803552884939208097508334039333348469576826946941216404 4749162956711704781754160897138722835704427982121246179898859376244239309331368811322486058397994295567133397853864283128320744316555580467864466463705567047122474380759674208626419392779272748690449593028620363313770400651248675274750988937279021500304278950908741183994154995501413867240038373265980632983128231781818850943677248426992750155010526952687019685886112314296203093946068700132079039820049325254288575959384840905234263213146788574272751211112294028267765324535887374350845638899253635931640961300887948530862019300270007731945166520608639674957019707056684602067181810387729705152943650109336792954279422143423023436279069445970036997694916428583854943201461724830249945335022728431331253559709109019197972857926246071709018438910587901432498740782234893956013180132592174014077486386969493822340268238062098809393875431537474290909117401981511594303664450069113276059784291893961217401271678128488479619788743941302422773982493857765501605447306872423832903637416928558439988339487064241669084153286156726311402613066198082890905249995128841996239708913406275713413256191870119999038736365862423956011717147633299571528050701989867656915731944671103753515040450347458384822017441122254940061489609945283162788075697124036651143569187940225600558699115003101881407093411354114245754251970958031044647291343007549894294917026595425344002058612483177300581149510330033983642743909114195452644389608407697122044657188202563750867445323891075007704641905768054720852311487609826718717728891300139934555857823371732029946356139430442316424507746708328520222735430662366081875644208501265786569632365478754727440480165112084239955526871366815492827455638795792014592436073076248999746658401780027916904017571570955816612091258374494208937977341591907013328624413843385074648732555927729637485050353334838844828040814742017989299682152012451038144247698060825943652611918620141457948725406208145933256983569871589583434531053266896643834951750524187951601258894346069763037551062003048959793434845734773190445940635901175206487725938488601745799963781649658778426418501645609377394793511382877817794836195976875348564202374393404970898832213737646390146104892849275705603584271976943209670562409604437422386615317872148996386121074081095570484558059855229538726280091657094369820884145813568165167753924018413538702337832630373982881147327521829374756786151544615861142618203348225002920341048317143264471230843897734616995975824552502469187409017363064444167271076608104061132014030626694344658231367039524223397926181046830502089736036850154793854197918123614941559110318353534019012280484806231639343795984315662470685740310606169964617944135379467034315161302229813108750382734104180587838286256655608470048602452410452784229402490501689439752241441123246904909022703104293035916567530193911444190747808513902455743492463056365762313096583012810400900754813579964503316077651865734576686535800475440281377762656734959081116325308234449669092109095367499467701125500965681352861123886744554108242015857289277557492066087439849771416536565623693274915388583861090405432238442856826003819800555292434325258243609723826866259674295464022308314462645521962640428214090460582105359081656820756279551943094738615483452494026546758349238603771850034360096964483729880480792651492462901461491159794047 7684307082071483888822525244325636894689721259610751709459766631903214463644962398307847307875534747951381228515785336914730664098925077145548830816713076874922302857945918603786848910277514234086871233359875241154296364278466981257042402187100125830461523832409150597576693214862605674918384422684538005907427667610967404342076740693725957523201435391001027746260412834679160104109700534090879047826210411293236934323032261740800916859841605304304945540915824206878368992266183586425066388904123224157278872439369547229791517552650206177530052447303602899028747166268283987374616202828169207171517899494540151152765457829574127683258211311031872931548093241538954860716146782705233064267803705832785227388800510367221031509662442675395884660341332130769209494859029757219448069591951653110252700621897351512435748407821766446436422529058383352155041351364274164895431892761657693939373748190600336538304822563407706991007680805720316405902664758996323947344006271324718105604760856117670631974598582781395698633760948711817859919010269753309484058605920712789849695299762736181759635490785003778495026468028145418117828159991227208762566347578433222581520788982739410643555220835793394922612788293434987243427993215772736570159248494103745699618245509864478095697485023870751667205843655601540122940903570394618521486626301739679859772583179636045706632812771092679005270409651866311033913836292147893682314155620302016275357449976831281276738642338712194044720652659559565950664799808540997607156201888106108770944845647093675997164134546773712654040489220052727466762463501398299178671307841806407435063990138968789546549786309899399256655407853593870576474222679535801438763577409266329939141694989804220748473316244901635983638275129225774457787207084147215450998761954966675114052768045991916891971121557022337026929763510468303114410858773433025407548944086517219895163171722931053019139706778129330716527823870385690060023580900950573515547330275830242244998856050296044094607841081286515593028872265516500421788045412778283314929652417469802898617312326319378855346944945271840856051951648599875658658650714255195591533166165481418595162679656383208549758628490619274335156957366629881252913994329870694621800321845024998276587842036744153196186786211499061692873978321666276768401383492076761226413503311229253828441508194407410807143616615170371783778403912452943739473290585409822567231789639636911241226638744130798912500769486514160191010752850384001827648055643256070917596138346668411443934508887502295256053019881707787245665881167593656956142566141531482720422393382109863210149964053707886757810175747283458801718539810122035483064897223452330003413787999306604331642507022651519223719484800688639587305005201466910814817338214932469284959338935504850194553881755567959304324920820382658394156917811670985695318038567464515701992125056085051469327292238807135639504583147688564366546416565407227855083839545648974730099788833866538181445485850031579150968373810932502107536182203828933791052504520202182921322778154530699327496879380911981349317598883240802349703896163219457682569032583568390140185747908460883098393711967231608403140347273259402109864119029032379599211752128810385716996799810029692267014834941757147889059509229837912981903691827388814831984840932478288438101010451 12433470038783188670576686141464359730394149241731997889358626008147453772976331209630333366273529043518514626369649620043051408415480657613413297280418643922044777238705592812413268303056786982777320826388495604468066764929715656531793391124379147330765802783317891781570848210364019542158422795950518638890555899392786255285753989120718707678211962343688047432146525148975363198055769234222958087646259736547525510282417102646035180072988393878577696752028118235146134316802070960775912027803376860088919833740257495760653536852920213909475218967912242573985766873324968589441798013215898912324461549603876944107044879972997151119537280757001909929243009670122809803917608507535483009602826434264116480948509619386419004367588688747104903099251920032201708235641264651175461249724543827124330187008866845334776016645883865255830297960595857643064158753345785759199096342830770969999158040084561553939576500691896186610796424747022739179885158616761825552791313143748551009242177784676110620314085647023064782787047105438129262532076467836200389308601049554786089404213169011895172891682655123777533762833890569374129545307624526780290617049568300879497252733653843164158595671183251779744630229415689927304917603161055899358234945618140396843187433450090078654396600026972633074299255009715785877192874528425663168777969309289574154689609775061389708691425254269979586419919981900294676657745406343346326703764027999138320014638179395032144183966229787201749362558427614286802976287418367716324885093188246043326802669018825705943520273977216029078548235928381247689497894163764381054315516343072194004696355617723516987029951421983639212182279220409363403929861475327816031199650485515329685800096769832137652490887815857452595729533503719983395764548676054228779623175798351749762785323973721554377021474891861181854970578252486292414093010785884063551796642147343163547775090343072510967865112986275263973511393741975273494554634167847217350499080800018193846257750396365807132158903084335475386463718000289690867728681313953489802655590906071548698581093975978157281765446590881218250845463031477693453494846691130544155735540558886389493994893394029598695863521339894979938741229343573090923476403934308117008415639717173994662708916117839723680744846066728600419154069978760646589285529305644926394167427329642792530779340824781393688290944136999746540564555457068804882091493933634825487572837956780175712457482641865415908476594039016629378419770213448445994919132251360132049610168973362756102165875927026518653979200928538289335401918017748450810340484265146424279532711735643882222430448859939526101606160062945929487458850416292000101009032602919364318575090229119713082025241126832107062005741456297109635907457611919695044219828716621909037200780058751755103576584859860995220892451014294102584904726325573441438810501623830278015088708068895452370082105818771638955582235013423141053082217040847509232846496280608055846425097068316207273554581217531046852093874776613854968660068948383042033068361809479740413388865594380470744033445004605256264706182744331207781942339020045461502369587876002715398429357632287749358068007431253916717602992795222042538078209489614484958293408949566665268939894548645175719508861488515497127663281079872273078868175557269295624636333395379749929260804498 20117777120854672559399211385789996625083870501342749598818392640050668236621293607938180674149063791469895854885434956957782072514405734758962128097131720796967080096651511416200117213334301216864192059748370845622363129208182637788835793311479273161227326615727042379147541425226625217076807218635056644797983567003753659627830729814444665201413397734689075178406937983654523302165469768313837135472470147840762444605449364386836096932829999182882642292943942442024503309068254547200978416707500084246198706179627042990445054405570420087005271415215845473014514039593252576816414216044068119495979449098417095259810337802571278802795492068033782860791102911661764664633755290240716073870630140096901708337310129753640035877251131422500787759593252162970917730500294408394909319316495480234582887630764196847211765053705631702266720489654240995219200104710059924094528235592428663938531788275161890477881323255303893601804105552743055585787823375758149500135319415073269114846938640793781252288684229804460481420808054149947122451086737589509873367206970267575939099512931748076932527173440127556028789301918714792247373467615753989053183397146734102078773522636582574802150892019045174667243017709124914548345596376828635928394194112244142542805678959954556750094085050843384741505098665317326000133778098820281690264595611029254014462192954697435415324238025362658591690329633766605710571581698491240009017919648301154595372088156226313420922608568499395794083211087173852753641087226908713932041295076352152097747514665919381940684408523989741732588725148433975156260357665162680232986824184878601439760345756692306533579737731883038468837687074003233980404084154863617469963227894781659624941791759636358400964204060759088579367808632945757853551755760201444230621937753318424876838092019713471268992596448883518881900341762954595528503869559317088959345586233860383442938262066003563987004819764404594690039217612360963554578215068797790866046411075848436091256606446661851226766744165621990979492590265806191289516726726731773117585243323541351597198406302297536137112391536153059106897414680077569112153497405385739747268706724367808089157573050412807245622149830514254273898186710202972176390398264178811630215961562198992939296758154583876876931632278227662112028048300426923357686912797721687620580930640872046359220849019188804495434560752170118324342959369521748621564784519044648054804627596417086953684121385996214820977363525530789569430523063832447822567187894616202967206307320031167546100384814528813910032220810246076581067799185342107766483050406677906999955105117753745432580412913647412859416335810229388289177390226414035584073929826371694321988878228426317413667748149483626285725226256985749223212462813386605859037166931554378322160118994256605298130466615428954525217371834676760979061644137244427134128540191294793717080833124980503839409398057578774595086818161111705419628633606254737087930335826257030576524885902182745455000067067562626003062248587546357076196251152211975824120866329681923334711643748911170071530324385517237614023781627572010131646235183264919184938620459571105538615105540748632456461719398485525120743340068481444647942328518646864557505161078377050985936694358674867986523696430272645016722790309710186060771867384658110456621174327858038367361814949 32551247159637861229975897527254356355478019743074747488177018648198122009597624817568514040422592834988410481255084577000833480929886392372375425377550364719011857335357104228613385516391088199641512886136866450090429894137898294320629184435858420491993129399044934160718389635590644759235230014585575283688539466396539914913584718935163372879625360078377122610553463132629886500221239002536795223118729884388287954887866467032871277005818393061460339044972060677170637625870325507976890444510876944335118539919884538751098591258490633996480490383128088047000280912918221166258212229259967031820440998702294039366855217775568429922332772825035692790034112581784574468551363797776199083473456574361018189285819749140059040244839820169605690858845172195172625966141559059570370569041039307358913074639631042181987781699589496958097018450250098638283358858055845683293624578423199633937689828359723444417457823947200080212600530299765794765672981992519975052926632558821820124089116425469891872602769876827525264207855159588076384983163205425710262675808019822362028503726100759972105418856095251333562552135809284166376918775240280769343800446715034981576026256290425738960746563202296954411873247124814841853263199537884535286629139730384539385993112410044635404490685077816017815804353675033111877326652627245944859042564920318828169151802729758825124015663279632638178110249615666900387229327104834586335721683676300292915386726335621345565106574798286597543445769514788139556617374645276430256926388264598195424550183684745087884204682501205770811136961076815222845758251828927061287302340527950795444456701374415823520609689153866677681019966294412597384333945630191433501162878380296989310741888529468496053455091876616541175097342136665741249316304436255673010245113551670174639623415993435025646014071340744700736870920015440887942596880345201152511142228381203546990713352409076074954869932750679858663550611354336237049132849236645008216545491875866629937514356843027658358925647249957466365956308266095882157245408040685262920240834229612900295779500278275693418877838127034277357742877711555262565648344096516283903004247283254197583152466444442405941485671170409234212639416053776063099866802198486928638631601279372987602005674272423600557676478344956262531182118279187569946972442103366614014748357970514838890000189843970198183725504889169864864907514826590553503656278452679473542377465553197262666141604027861630729453957564547418947850293277280893817486320145976335016816476293393923648266260741555332564011421738784365916469717203090558576823534671824331279487816853397627655010861773586938961022495873175317776636240642706035685082962429291058640563968457546030495692989276315733347730967713282858859119920425306300903256995648176287359360899053008360401707051475289949746109822848970863563966370462817868572939041815125071732169541193875956209491503876350413550669053174534846472710850647102246320776832106865086422949982970498952728554648285093672855156123364160212044856320100595017857189228139161663748100509343291640815563769390122493878729964371903217913588574203310380687308208335573820937044463173036381814529726829739441838346332863703487186020538008261349515798570027943716254876588907320043706032557918788142144386071389582459139640042941927406081257507723237788296622619447 52669024280492533789375108913044352980561890244417497086995411288248790246218918425506694714571656626458306336140519533958615553444292127131337553474682085515978937432008615644813502729725389416505704945885237295712793023346080932109464977747337693653220456014771976539865931060817269976312037233220631928486523033400293574541415448749608038081038757813066197788960401116284409802386708770850632358591200032229050399493315831419707373938648392244342981337916003119195140934938580055177868861218377028581317246099511581741543645664061054083485761798343933520014794952511473743074626445304035151316420447800711134626665555578139708725128264893069475650825215493446339133185119088016915157344086714457919897623129878893699076122090951592106478618438424358143543696641853467965279888357534787593495962270395239029199546753295128660363738939904339633502558962765905607388152814015628297876221616634885334895339147202503973814404635852508850351460805368278124553061951973895089238936055066263673124891454106631985745628663213738023507434249943015220136043014990089937967603239032508049037946029535378889591341437727998958624292242856034758396983843861769083654799778927008313762897455221342129079116264833939756401608795914713171215023333842628681928798791369999192154584770128659402557309452340350437877460430726066226549307160531348082183613995684456260539339901304995296769800579249433506097800908803325826344739603324601447510758814491847658986029183366785993337528980601961992310258461872185144188967683340950347522297698350664469824889091025195512543725686225249198002018609494089741520289164712829396884217047131108130054189426885749716149857653368415831364738029785055050971126106275078648935683680289104854454419295937375629754465150769611499102868060196457117240867051304988599516461508013148496915006667789628219618771261778395483471100749904518241470487814615063930433651614475079638941874752515084453353589828966697200603711064305442799082591902951715066028770963289689509585692391415579457345448898531902073446762134767417036037826077553154251892977906580573229555990229663187336464640292391632831677801841501902023650272954007622005672310039494855213187107821000923488486537602763979035276257200462665740268847562841571980541302432427007477434608110623183924643210166579614493304659354901088301635329288611386885249221038863159002679160065641339983189250474196112302125221062971724121597182093149614349619825725413857845550431321090078208517280816341113341640053508040592537984022783613425091194366645556084146474043642549030442497537516388432666343306585078502238279442921971151373087591274687234351820438831683404706065813630869120071269156892255662752962552846685972347909360737425799359633456193970268608082332383238692906762294162579730665681521018047264965699837518090718904271327194683647624543028014600062295707067582006419865449250374318856460048900901933929188145755871335646551892339484253356983408707167933122116999474868872681698183554715352656298858218371951706569121052571252806993681310094468843587082812153092202810887094093775639731492753745999475228045234809386575299872246828795144926475659568713785014270991446228224966959089672932184931833962866526908214073303731106320767240813283265994911692556254349060787161108861699292645200411910326585516537878682051095826663984434396 85220271440130395019351006440298709336039909987492244575172429936446912255816543243075208754994249461446716817395604110959449034374178519503712978852232450234990794767365719873426888246116477616147217832022103745803222917483979226430094162183196114145213585413816910700584320696407914735547267247806207212175062499796833489455000167684771410960664117891443320399513864248914296302607947773387427581709929916617338354381182298452578650944466785305803320382888063796365778560808905563154759305729253972916435786019396120492642236922551688079966252181472021567015075865429694909332838674564002183136861446503005173993520773353708138647461037718105168440859328075230913601736482885793114240817543288818938086908949628033758116366930771761712169477283596553316169662783412527535650457398574094952409036910026281211187328452884625618460757390154438271785917820821751290681777392438827931813911444994608779312796971149704054027005166152274645117133787360798099605988584532716909363025171491733564997494223983459511009836518373326099892417413148440930398718823009912299996106965133268021143364885630630223153893573537283125001211018096315527740784290576804065230826035217434052723644018423639083490989511958754598254871995452597706501652473573013221314791903780043827559075455206475420373113806015383549754787083353312171408349725451666910352765798414215085663355564584627934947910828865100406485030235908160412680461287000901740426145540827469004551135758165072590880974750116750131866875836517461574445894071605548542946847882035409557709093773526401283354862647302064420847776861323016802807591505240780192328673748505523953574799116039616393830877619662828428749071975415246484472288984655375638246425568818573350507874387813992170929562492906277240352184364632712790251112164856658774156084924006583522561020739130372920355642181793836371413697630249719393981630042996267477424364966884155713896744685265764312017140440321033437652843913542087807299137394827581695966285320132717167944618038665536923711405206797997955604007542808102298958066911782767152188757406858848922974868067790221613822383170103188094243450185598418307553277201290876203255462505939297619128593492171332722699177018817755098376124002661152668907479164120944968143308106699431077992284588968140187174392284858802063251631797004454915650077646581901724139221228707129200862885570530509848054157989022702855628877341424403595139559558702811612285967329441719476279885278654625627465131109618394235457539828186568873000839259906819014842632906297639479038055064287814808414007233591523224920130119750326569558930738824549000742602136460821290781461327556580023842449871511826106954239854684953811603116815143518378405053726702115092981187161683551466941452303663999207665551158227906953040881917100273326101544569566008854017437017532618488106994385062880164280006623821544937181419915512732416258392405810279601696424924510181398365050334900459229729484000039987203422424851843180650912109363637749971713374495315866781165908891353402011538499322608005250830912662435494451702657863165762225371483710371378445958823383589885680559555037130718747412704031886821396085521173057964408797436005795888419019983404535169563589102301134264483495689872173314955398588812267848929305494933088875104340051953268512922619136189774333614960607053843 137889295720622928808726115353343062316601800231909741662167841224695702502035461668581903469565906087905023153536123644918064587818470646635050532326914535750969732199374335518240390975841867032652922777907341041516015940830060158539559139930533807798434041428588887240450251757225184711859304481026839140661585533197127063996415616434379449041702875704509518188474265365198706104994656544238059940301129948846388753874498129872286024883115177550146301720804066915560919495747485618332628166947631001497753032118907702234185882586612742163452013979815955087029870817941168652407465119868037334453281894303716308620186328931847847372589302611174644091684543568677252734921601973810029398161630003276857984532079506927457192489021723353818648095722020911459713359425265995500930345756108882545904999180421520240386875206179754278824496330058777905288476783587656898069930206454456229690133061629494114208136118352208027841409802004783495468594592729076224159050536506611998601961226557997238122385678090091496755465181587064123399851663091456150534761838000002237963710204165776070181310915166009112745235011265282083625503260952350286137768134438573148885625814144442366486541473644981212570105776792694354656480791367310877716675807415641903243590695150043019713660225335134822930423258355733987632247514079378397957656885983014992536379794098671346202695465889623231717711408114533912582831144711486239025200890325503187936904355319316663537164941531858584218503730718712124177134298389646718634861754946498890469145580386074027533982864551596795898588333527313618849795470817106544327880669953609589212890795636632083628988542925366109980735273031244260113810005200301535443415090930454287182109249107678204962293683751367800684027643675888739455052424829169907491979216161647373672546432019732019476027406920001139974413443572231854884798380154237635452117857611331407858016581359235352838619437780848765370730269287730638256554977847530606381729297779296761995056283422406677530310430081116381056854105329900029050769677575519334995892989335921404081735313439422152530858297453408950287023462494820925921252027100320331203550155298498208927772545434152832315701313172256211185714621581734133652381203123818409176326726962516948684610539126438555426892699591324111817602451438416556556291151905543217285406935193288609388442267570288203542045636171849831243408463218815157754098404396127716736741651852425961905793054855577321830316599744703835982411925959507577097593336227161410984862043520244106036999551853723625512098706836845250911544749979955891263436704828828807838373660795700373830193411148055642601900159239984729908263502380946178223396746940616564565669661829490726314414464127914452614643355653820075023784686902692114427845320807637618722402935147538291801382087656727758288764212216266112650022399662942459987074205827964802630670289831588876307293307744208789842180795845827950257389819153816213138191167973109320421899720715862349095664078990406270571592867267573350286961462606209005219809417076848837913724815527697262589751956941401956864237456370853674004058192976460980431801865925863673888363600600606410356512619286189375756525678728073350853946271062077777662406032240585250736503155439309867091145066616909716466603794788167749540463863595098439157014871825429441624591488239 223109567160753323828077121793641771652641710219401986237340271161142614757852004911657112224560155549351739970931727755877513622192649166138763511179146985985960526966740055391667279221958344648800140609929444787319238858314039384969653302113729921943647626842405797941034572453633099447406571728833046352836648032993960553451415784119150860002366993595952838587988129614113002407602604317625487522011059865463727108255680428324864675827581962855949622103692130711926698056556391181487387472676884974414188818138303822726828119509164430243418266161287976654044946683370863561740303794432039517590143340806721482613707102285555986020050340329279812532543871643908166336658084859603143638979173292095796071441029134961215308855952495115530817573005617464775883022208678523036580803154682977498314036090447801451574203659064379897285253720213216177074394604409408188751707598893284161504044506624102893520933089501912081868414968157058140585728380089874323765039121039328907964986398049730803119879902073551007765301699960390223292269076239897080933480661009914537959817169299044091324675800796639335899128584802565208626714279048665813878552425015377214116451849361876419210185492068620296061095288751448952911352786819908584218328280988655124558382598930086847272735680541610243303537064371117537387034597432690569366006611434681902889145592512886431866051030474251166665622236979634319067861380619646651705662177326404928363049896146785668088300699696931175099478480835462256044010134907108293080755826552047433415993462421483585243076638077998079253450980829378039697572332140123347135472175194389781541564544142156037203787658964982503811612892694072688862881980615548019915704075585829925428534817926251555470168071565359971613590136582165979807236789461882697743091381018306147828631356026315542037048146050374060330055625366068226298496010403957029433747900607598885282381548243391066735364123046613077387870709608764075909398891389618413680866692606878457961341603555123845474928468746653304768259312127897984654777220383621633953959901118688556270492720298271075505726365243630564109406632598009020164702212698738638756827356589374412183235051373450451444294805343588933884891640399489232028505205784971078083805891083461916827918645825869633419177288559464298991994736297218619807922948909998132935484581775190333527663496277417404404931206702359679297566452241518013382975745820531311876301210555237574191760384297296798110201878399329463447543035577901812555133164413730283985701303427063120879632458151363104550153771124660059325551983571479116183566824579155377397304399620249374572795547608876933383361486796564753750713373892772285177636601625570376168786476973009104719468190830029545595830517337371541965236990566691322093396479035544571763284852247811617902926657222736612306201229748884600757016784725822624267080829649509739812090205344321292565685713554488391538605720356009348622440154054275442867675168013096523844324572559043000007773442628156242284967362583440131452870353959611016758308739684854088744637477963191714292409820107164182235721166742232119962881576566346660991356903056582421301067632487427806442033792344153784553961684523961769873929675597247341251508333374849734232193027612624822489733878884758645772098727877042853880515816863611361776151061599763056585198542082 360998862881376252636803237146984833969243510451311727899508112385838317259887466580239015694126061637256763124467851400795578210011119812773814043506061521736930259166114390909907670197800211681453063387836785828835254799144099543509212442044263729742081668270994685181484824210858284159265876209859885493498233566191087617447831400553530309044069869300462356776462394979311708512597260861863547462312189814310115862130178558197150700710697140406095923824496197627487617552303876799820015639624515975911941850257211524961014002095777172406870280141103931741074817501312032214147768914300076852043425235110437791233893431217403833392639642940454456624228415212585419071579686833413173037140803295372654055973108641888672501344974218469349465668727638376235596381633944518537511148910791860044219035270869321691961078865244134176109750050271994082362871387997065086821637805347740391194177568253597007729069207854120109709824770161841636054322972818950547924089657545940906566947624607728041242265580163642504520766881547454346692120739331353231468242499009916775923527373464820161505986715962648448644363596067847292252217540001016100016320559453950363002077663506318785696726965713601508631201065544143307567833578187219461935004088404297027801973294080129866986395905876745066233960322726851525019282111512068967323663497417696895425525386611557778068746496363874398383333645094168231650692525331132890730863067651908116299954251466102331625465641228789759317982211554174380221144433296755011715617581498546323885139042807557612777059502629594875152039314356691658547367802957229891463352845147999370754455339778788120832776201890348613792348165725316948976691985815849555359119166516284212610644067033929760432461755316727772297617780258054719262289214291052605235070597179953521501177788046047561513075552970375200304469068938300081183294390558194664885865758218930293140398129602626419573983560827461842758600978896494714165953869237149020062595990386175219956397886977530523005238898827769685825113417457798013705546897959140968949852890454609960352228033737693228036584662697039514396430095092829946085954239799058969960377511887872621111007596807603283759996118515845145070606261981223365680886408908789487260132618045978865512529184952308188846069988150788410809597187735635176364214100815541350220891516968478942916105763847705607946976842874209510540974915460333171137074150216659028613042862407663536097553439152874119940518478144033299429954961537409389652726500640891694970563346947307226916632010005086730062252477961505310237096733551435007447003529407984185235678060415949748402988958756932575985261646036549483658976876273718463401033348566186940734456138802499831033882654957943998210473872991191616989021677469383436521241799843182190485687787395349909704308744879464370594965441965150713407039184388765084254155035477474542442760495175910168872979021298697181380786516201837298879829973208091656005866335986205844266224293274905349103437521618562512856560229851013481739831816565820021978118156761702926658362293490888976882161777048566139099958623113085793966939769542807641423158768982446095189431233088034216798546411630343160310487363252035120727875946659325118913914365615434984968696183051934689580878945501668362238702522665210603420979680458709800933165933425192498209790030321 584108430042129576464880358940626605621885220670713714136848383546980932017739471491896127918686217186608503095399579156673091832203768978912577554685208507722890786132854446301574949419758556330253203997766230616154493657458138928478865744157993651685729295113400483122519396664491383606672447938692931846334881599185048170899247184672681169046436862896415195364450524593424710920199865179489034984323249679773842970385858986522015376538279103262045545928188328339414315608860267981307403112301400950326130668395515347687842121604941602650288546302391908395119764184682895775888072708732116369633568575917159273847600533502959819412689983269734269156772286856493585408237771693016316676119976587468450127414137776849887810200926713584880283241733255841011479403842623041574091952065474837542533071361317123143535282524308514073395003770485210259437265992406473275573345404241024552698222074877699901250002297356032191578239738318899776640051352908824871689128778585269814531934022657458844362145482237193512286068581507844569984389815571250312401723160019831313883344542763864252830662516759287784543492180870412500878931819049681913894872984469327577118529512868195204906912457782221804692296354295592260479186365007128046153332369392952152360355893010216714259131586418355309537497387097969062406316708944759536689670108852378798314670979124444209934797526838125565048955882073802550718553905950779542436525244978313044663004147612887999713766340925720934417460692389636636265154568203863304796373408050593757301132505229041198020136140707592954405490295186069698244940135097353238598825020342389152296019883920944158036563860855331117603961058419389637839573966431397575274823242102114138039178884960181315902629826882087743911207916840220699069526003752935302978161978198259669329809144072363103550123699020749260634524694304368307481790400962151694319613658826529178422779677846017486309347683874074920146471688505258790075352760626767433743462682993053677917739490532654368480167367574422990593372729585695998360324118342762602903812791573298516622720754035964303542311027940670078505836727690838966250656452497797608717204868477247033294242648181053735204290923859434078955497902380712597709391614693760565343938509129440782340447830778177822265247276710252709801591924032853796172137049725539483156376098743669276443769260125123012351908049576569189838541367701851184520049896037190340489344072962901110289313823450170918050720356543362762877497997115311202207859665054621978956264650374370347796264468156449834612406249086165369562648717122914123630570353987139562632982460036199122975784506365809509368623132833114237409690250166490748578669950191757316903242615775508935753350845787973543806304390328563158954258668036074758614638278878726762248972639643161527607235402102200982901166671714035314164055969114587708521235865126984282254850700520231461438664734853185572919392236557846647502270127262367098873541503999302368110548865833948349111210964246718755141527592434453613192702170525431038736426896446557015402999771454080691174571597155730321335679789855317913929821346109154302414515672039028516490498865575462023240580203974496944864449047775996890601805622256572460165422698990284719200889210664559512070612824386427008010801250542253457301495497322321162709316995024955554794988572403 945107292923505829101683596087611439591128731122025442036356495932819249277626938072135143612812278823865266219867430557468670042214888791686391598191270029459821045298968837211482619617558768011706267385603016444989748456602238471988078186202257381427810963384395168304004220875349667765938324148552817339833115165376135788347078585226211478090506732196877552140912919572736419432797126041352582446635439494083958832516037544719166077248976243668141469752684525966901933161164144781127418751925916926238072518652726872648856123700718775057158826443495840136194581685994927990035841623032193221676993811027597065081493964720363652805329626210188725781000702069079004479817458526429489713260779882841104183387246418738560311545900932054229748910460894217247075785476567560111603100976266697586752106632186444835496361389552648249504753820757204341800137380403538362394983209588764943892399643131296908979071505210152301288064508480741412694374325727775419613218436131210721098881647265186885604411062400836016806835463055298916676510554902603543869965659029748089806871916228684414336649232721936233187855776938259793131149359050698013911193543923277940120607176374513990603639423495823313323497419839735568047019943194347508088336457797249180162329187090346581245527492295100375771457709824820587425598820456828504013333606270075693740196365736001988003544023201999963432289527167970782369246431281912433167388312630221160962958399078990331339231982154510693735442903943811016486299001500618316511990989549140081186271548036598810797195643337187829557529609542761356792307938054583130062177865490388523050475223699732278869340062745679731396309224144706586816265952247247130633942408618398350649822951994111076335091582198815516208825697098275418331815218043987908213232575378213190830986932118410665063199251991124460938993763242668388665084791520346359205479417045459471563177807448643905883331244701536762905072667401753504241306629863916453806058673379228897874137377510184891485406266402192676418486147043494012065871016301903571853665682027908476974948787773657531578895690637709592902266822783668912336610692296856578677582380365119654405250244988657018964287042375279224026104164361935963390278023602550052604071127175419647852977015730486011111317264861041120611189111768488972536351150541080833377267615712148219359875023972828620298884892450778700379516283162184355657124046253849369102386935370564646386867262603045037991238834687396062307452958652720591860586165695513673926827997321677574712896478161536564674658727047670679799745450674349131077573883395123747868660520452148871378773465122742085353884778869663721068667126440209211979703298757944257637698754578008766787233500745917542016778263319754775943280345505458195135880078721908952734660427038511437311544146981665353496132113679186027571095153503352792775390900604458824697611195696141630311643756151882754300178752759683946382100100470458754879407839985508212376773159108853698214648485865281267998087822285467094932533987091251060714545053208259942061362064944969668056733374204296460435638412968403707896761115651961943837674441021474611679930098663496240039126615604840105174936411028032011329681568915897579079337064605719704169585393716494201651491769888095370249503773207464060722475177781030963642482928450148053004778602724 1529215722965635405566563955028238045213013951792739156173204879479800181295366409564031271531498496010473769315267009714141761874418657770598969152876478537182711831431823283513057569037317324341959471383369247061144242114060377400466943930360251033113540258497795651426523617539841051372610772087245749186167996764561183959246325769898892647136943595093292747505363444166161130352996991220841617430958689173857801802901896531241181453787255346930187015680872854306316248770024412762434821864227317876564203187048242220336698245305660377707447372745887748531314345870677823765923914331764309591310562386944756338929094498223323472218019609479922994937772988925572589888055230219445806389380756470309554310801384195588448121746827645639110032152194150058258555189319190601685695053041741535129285177993503567979031643913861162322899757591242414601237403372810011637968328613829789496590621718008996810229073802566184492866304246799641189334425678636600291302347214716480535630815669922645729966556544638029529092904044563143486660900370473853856271688819049579403690216458992548667167311749481224017731347957808672294010081178100379927806066528392605517239136689242709195510551881278045118015793774135327828526206308201475554241668827190201332522685080100563295504659078713455685308955096922789649831915529401588040703003715122454492054867344860446197938341550040125528481245409241773333087800337232691975603913557608534205625962546691878331052998323080231628152903596333447652751453569704481621308364397599733838487404053265640008817331784044780783963019904728831055037248073151936368661002885832777675346495107620676436905903923601010849000270282564096224655839918678644705908765650720512488689001836954292392237721409080903260120033613938496117401341221796923211191394553576472860160796076190773768613322951011873721573518457547036696146875192482498053525093075871988649985957485294661392192678928575611683051544355907012294316659390490683887549521356372282575791876868042839259965573633976615667011858876629190010426195134644666174757478473601206993597669541809621835121206718578379671408103550474507878587267144794654187394787248842366687699492893169710754168577966234713302981602066742648561099669638296310617948009636304860430193424846508663833376564541571293830412781035801342768708488200266620316533643714455817495803644284097951632650792942027347890218057650864035540177173942291039709591731008333465756676181086053215956041959191230758825184950955768031794068445830750135652883092647696047922509160946317986399287064976133836049362394167797263254708144237382263310501642980488347994354557971488551594722507911702777958478357376606699960558373248949701574540941370353517702540584346533891085823082653648317934897539013541532953750518357600635714983633066681672964918779549083866336397298785393221341735151122617940501296626765731443106952461896216373091750308491005068327219570989317530593884370227732825853752949343984810580487322024942802047325859450112000023139615414719920708125236157616682099450971949654816957464361836399050359231304971360026781771318202823721621826582461761116246252190113060503128170428964238958263279706819579337050039385458804028901931487191172470039244759763596004423370474604381053713722104594274522378260305023749717518023970675103352126351799923475103607799767175127 2474323015889141234668247551115849484804142682914764598209561375412619430572993347636166415144310774834339035535134440271610431916633546562285360751067748566642532876730792120724540188654876092353665738768972263506133990570662615872455022116562508414541351221882190819730527838415190719138549096235798566526001111929937319747593404355125104125227450327290170299646276363738897549785794117262194199877594128667941760635417934075960347531036231590598328485433557380273218181931188557543562240616153234802802275705700969092985554369006379152764606199189383588667508927556672751755959755954796502812987556197972353404010588462943687125023349235690111720718773690994651594367872688745875296102641536353150658494188630614327008433292728577693339781062655044275505630974795758161797298154018008232716037284625690012814528005303413810572404511411999618943037540753213550000363311823418554440483021361140293719208145307776336794154368755280382602028800004364375710915565650847691256729697317187832615570967607038865545899739507618442403337410925376457400141654478079327493497088375221233081503960982203160250919203734746932087141230537151077941717260072315883457359743865617223186114191304773868431339291193975063396573226251395823062330005284987450512685014267190909876750186571008556061080412806747610237257514349858416544716337321392530185795063710596448185941885573242125491913534936409744115457046768514604408771301870238755366588920945770868662392230305234742321888346500277258669237752571205099937820355387148873919673675601302238819614527427381968613520549514271592411829556011206519498723180751323166198396970331320408715775243986346690580396579506708802811472105870925891836542708059338910839338824788948403468572812991279718776328859311036771535733156439840911119404627128954686050991783008309184433676522203002998182512512220789705084811959984002844412730572492917448121549135292743305298076010173277148445956617023308765798557966020354600341355580029751511473666014245553024151450979900378808343430345023672684022492066150946569746611144155629115470572618329583279366700102409216089264310370373258176790923877837091510766072369629207486342104743138158367773132865008609992527007706231104584524489947661898860670552080763480280078046401862239149844487881806432334951023970147569831741244839350807701149910911330167965715163519308070780252949677834478126590597573934026219895834297988544889078694117943704030403063048348656260994033198025918154887492403914420752385929031996445649326809920645017725497222057424479522963961723703181506729162139618471612385785718120777387058370303500940496865733331436611293680076392690572441679547024503046909172538076547707645832178640124931526469327817847279808627839860916968072710840819359046991148886398436322544667718293493720184402230323696065531689893430899072407369306246276121293294072017666335901931650073091912514722061952247156951081519749742077214540266470328203284608632357183970318792864095184051655745540507935977281291137703237005387803057770144707933160165517002863076899525723901344020027288038345564323242206956615792125329723343577413078190089864554081977739850359062902454503318833435184177155214321869832060913261168760088367618324096828201724127540059998097547915373596364162617748509808796957181578746445852884383089994282851925251660804545777851 4003538738854776640234811506144087530017156634707503754382766254892419611868359757200197686675809270844812804850401449985752193791052204332884329903944227103825244708162615404237597757692193416695625210152341510567278232684722993272921966046922759447654891480379986471157051455955031770511159868323044315712169108694498503706839730125023996772364393922383463047151639807905058680138791108483035817308552817841799562438319830607201528984823486937528515501114430234579534430701212970305997062480380552679366478892749211313322252614312039530472053571935271337198823273427350575521883670286560812404298118584917109742939682961167010597241368845170034715656546679920224184255927918965321102492022292823460212804990014809915456555039556223332449813214849194333764186164114948763482993207059749767845322462619193580793559649217274972895304269003242033544274944126023561638331640437248343937073643079149290529437219110342521287020673002080023791363225683000976002217912865564171792360512987110478345537524151676895074992643552181585889998311295850311256413343297128906897187304834213781748671272731684384268650551692555604381151311715251457869523326600708488974598880554859932381624743186051913549355084968110391225099432559597298616571674112177651845207699347291473172254845649722011746389367903670399887089429879260004585419341036514984677849931055456894383880227123282251020394780345651517448544847105747296384375215427847289572214883492462746993445228628314973950041250096610706321989206140909581559128719784748607758161079654567878828431859211426749397483569419000423466866804084358455867384183637155943873743465438941085152681147909947701429396849789272899036127945789604536542451473710059423328027826625902695860810534400360622036448892924975267653134497661637834330596021682531158911152579084499958202289845154014871904086030678336741780958835176485342466255665568789436771535092778037966690268689101852760129008161379215778092874625410845284228905101386123794049457891113595863411416553534355424010442203900301874032918261285591235921368622629230322464170287871392901201821309127794468935718473923732684669511144981886164953467156878049853029804236031328078527301442974844705829989308297847233085589617300195171288500090399785140508239826708747813677864446348003628781436751183371174509953327551074321466444555044623783210967163592168731885600470776505474480815631584890255436011471930835928788285848952037496159739229434709476950075157217148913712677354870188784179997477827195784979693013292713773419731218370797509363248788679315342778524533786268875640493862358159650368871946481428844860087889408099845274798900602275219638025381879653609133096449796657347406719581495285044171868402193813699713662943570616390645738358372588524102636916793923180382701926560401857367149103245149398026290729684465628711041397398739233795368644432067345038602534988128887813812260738162019408739320731394745134150840555936110462385306527955129373351417208994457792866367386089281314277318651725308511183006302324615259616488952517893856990085737743070386519343316924350023978274818615846951549926039174194436342054667142480868020788027141412766598540254763514205253707328636089815192655951260837657568856591797728550910534602478601629095700958437140126770113820706899096770416527987735216346082775400355268604312952978 6477861754743917874903059057259937014821299317622268352592327630305039042441353104836364101820120045679151840385535890257362625707685750895169690655011975670467777584893407524962137946347069509049290948921313774073412223255385609145376988163485267862196242702262177290887579294370222489649708964558842882238170220624435823454433134480149100897591844249673633346797916171643956229924585225745230017186146946509741323073737764683161876515859718528126843986547987614852752612632401527849559303096533787482168754598450180406307806983318418683236659771124654925866332200984023327277843426241357315217285674782889463146950271424110697722264718080860146436375320370914875778623800607711196398594663829176610871299178645424242464988332284801025789594277504238609269817138910706925280291361077758000561359747244883593608087654520688783467708780415241652487312484879237111638694952260666898377556664440289584248645364418118858081175041757360406393392025687365351713133478516411863049090210304298310961108491758715760620892383059800028293335722221226768656554997775208234390684393209435014830175233713887544519569755427302536468292542252402535811240586673024372431958624420477155567738934490825781980694376162085454621672658810993121678901679397165102357892713614482383049005032220730567807469780710418010124346944229118421130135678357907514863644994766053342569822112696524376512308315282061261564001893874261900793146517298086044938803804438233615655837458933549716271929596596887964991226958712114681496949075171897481677834755255870117648046386638808718011004118933272015878696360095564975366107364388479110072140435770261493868456391896294392009793429295981701847600051660530428378994181769398334167366651414851099329383347391640340812777752236012039188867654101478745450000648811485844962144362092809142635966367357017870086598542899126446865770795160488186878986238061706884893084228070781271988344699275129908574964778402524543891432591431199884570260681415875305523123905359148887562867533434734232353872548923974558055410327436537805667979766784859437934742906200976180568521411537010558200028844296990861460435022818977675719539526507257339371908979169486446300434307983454698356997014528951817610079564962094031959052171163265420586286228570986963522352328154435963732460721330941006251198166901882022616355466374791748926130682900239512138550148610983601071413205518916475331845769919380817866979966895741526562802277783365737944108355243067068600169758784609536565926509823641434306502933937731498916953275795277032327210512382496849507686673404740488026279580478937037427242249982369341725821220844711138954875293292847661317572406382700518305634526344364993238898221620216570641196220041093508341502804487584463356579177731635515251523315230245725050420220054122041769379426941214929716184160583538036080347643674860527089440662098403246970252608080041402535874212985318970490259070473471959674417310884139395071017663711925448166215512393046113538406875322066562605415021888730696314240776447032548419782005955380970756515809639087090413807381662488673266185231434407972281273269616587272626431919221224458607871147090043867269917373689947691360468029198468150728453824711349205275892953419999452678450594600576149544469297322599757875279922617664080675516862380872118306340365627325606929408858730829 10481400493598694515137870563404024544838455952329772106975093885197458654309712862036561788495929316523964645235937340243114819498737955228054020558956202774293022293056022929199735704039262925744916159073655284640690455940108602418298954210408027309851134182642163762044630750325254260160868832881887197950339329318934327161272864605173097669956238172057096393949555979549014910063376334228265834494699764351540885512057595290363405500683205465655359487662417849432287043333614498155556365576914340161535233491199391719630059597630458213708713343059926263065155474411373902799727096527918127621583793367806572889889954385277708319506086926030181152031867050835099962879728526676517501086686122000071084104168660234157921543371841024358239407492353432943034003303025655688763284568137507768406682209864077174401647303737963756363013049418483686031587429005260673277026592697915242314630307519438874778082583528461379368195714759440430184755251370366327715351391381976034841450723291408789306646015910392655695885026611981614183334033517077079912968341072337141287871698043648796578846506445571928788220307119858140849443853967653993680763913273732861406557504975337087949363677676877695530049461130195845846772091370590420295473353509342754203100412961773856221259877870452579553859148614088410011436374108378425715555019394422499541494925821510236953702339819806627532703095627712779012546740980009197177521732725933334511018687930696362649282687561864690221970846693498671313216164853024263056077794956646089435995834910437996476478245850235467408487688352272439345563164179923431233491548025635053945883901209202579021137539806242093439190279085254600883727997450134964921445655479457757495394478040753795190193881792000962849226645160987306842002151763116579780596670494017003873296941177309100838256212511032741990684573577463188646729630336973529345241903630496321664619320848819238678613388376982668703972939781740321984307216842045168799165782801999099572581796472744750974284086969089656364314752824276432088328588722129041589348389414089760398913194072369081770342720664805027135747318220723546129946167800863840673006683385307192401713215200814524827735750958299404186986322826799050695669182262289203247552261563050561094526055279734777200216774502439592513897472514312180761151494452956344082800021419415532137097846492408244024150619387489075552228837103806730767857241850216746655265815847779022722541507218075214894183512460215982312847113654798320745923987650837219286195947230445272336684494166074541690459301061812192286211207191009363666773442837096687796114196463798186585909110252810984229674193895122880955597788262354127438730976141022340645617803115501614813064622234907208055165748058200854002317536104224039354160232024168905433122146614523899136528530186364327742474890268003664791389041073599760884809306530470592008855143068170290349686473723480989898998391204866704808568151440075505533402970239880577539566929602040571331273242708155843919692340540456004825423782749357163679398494907898864613505895376830160800326724979413023290163506253023819232823195655761467062773973888366939475891935117185280036515913944711205565721736527104240543646480662610042933461810011797181229361129203054751173564998281036898002050036438370979772287278908859853522686448402725962198013171683807 16959262248342612390040929620663961559659755269952040459567421515502497696751065966872925890316049362203116485621473230500477445206423706123223711213968178444760799877949430454161873650386332434794207107994969058714102679195494211563675942373893295172047376884904341052932210044695476749810577797440730080188509549943370150615705999085322198567548082421730729740747472151192971139987961559973495851680846710861282208585795359973525282016542923993782203474210405464285039655966016026005115668673448127643703988089649572125937866580948876896945373114184581188931487675395397230077570522769275442838869468150696036036840225809388406041770805006890327588407187421749975741503529134387713899681349951176681955403347305658400386531704125825384029001769857671552303820441936362614043575929215265768968041957108960768009734958258652539830721829833725338518899913884497784915721544958582140692186971959728459026727947946580237449370756516800836578147277057731679428484869898387897890540933595707100267754507669108416316777409671781642476669755738303848569523338847545375678556091253083811409021740159459473307790062547160677317736396220056529492004499946757233838516129395814243517102612167703477510743837292281300468444750181583541974375032906507856560993126576256239270264910091183147361328929324506420135783318337496846845690697752330014405139920587563579523524452516331004045011410909774040576548634854271097970668250024019379449822492368929978305120146495414406493900443290386636304443123565138944553026870128543571113830590166308114124524632489044185419491807285544455224259524275488406599598912414114164018024336979464072889593931702536485448983708381236302731328049110665393300439837248856091662761129455604894519577229183641303662004397396999346030869805864595325230597319305502848835441303270118243474222579868050612077283116476589635512500425497461716224228141692203206557703548919600510666958087652112577278937718184264865875739808273245053369426464217874405095705701831893638537151620403823888718187301748250990143738916158666847257328156198949198333656100273345262338864132201815585335776162517714407590381190619841516392546209892564531773622194370300971128170058941754102543983337355750868305748747224383235206604432726315981680812283850721740722569102656875556246358193845253187012349661354838366699155487794207281063228529392647756162700767998472676623642042622723206099703011769597564522245782743520549285343785001440952838291867703283050913016872439407857311850497474478653592698881168176771253637769961351574017669813444309041793897880595749851693053023316033725223356446446167528311730331097522123184549487187970542273170194645054645744365502485387333884516024735718185454260842276000716396668552545785317358896713835859554605683547254414630483542366668645940905907957127579257458659050851541700871736684748460287974249968628873838979107751148211692885560686708799960389257461678338664482985462324214900604420633951806025705782441995086684869680118030222406525107362429186701139664559196389712099180500863279835370021705015917251214134106641901696556348737687431791514096465272348739689205893109591398083763082207229147306433287634658896926189765725572391272100305373959248209354763431796633907811723803630900718034295603636655877329959056035060447804141289731971829026814030051569127422030414636 27440662741941306905178800184067986104498211222281812566542515400699956351060778828909487678811978678727081130857410570743592264705161661351277731772924381219053822171005453383361609354425595360539123267068624343354793135135602813981974896584301322481898511067546504814976840795020731009971446630322617278138848879262304477776978863690495296237504320593787826134697028130741986050051337894201761686175546475212823094097852955263888687517226129459437562961872823313717326699299630524160672034250362467805239221580848963845567926178579335110654086457244507451996643149806771132877297619297193570460453261518502608926730180194666114361276891932920508740439054472585075704383257661064231400768036073176753039507515965892558308075075966849742268409262211104495337823744962018302806860497352773537374724166973037942411382261996616296193734879252209024550487342889758458192748137656497383006817279479167333804810531475041616817566471276241266762902528428098007143836261280363932731991656887115889574400523579501072012662436283763256660003789255380928482491679919882516966427789296732607987868246605031402096010369667018818167180250187710523172768413220490095245073634371151331466466289844581173040793298422477146315216841552173962269848386415850610764093539538030095491524787961635726915188077938594830147219692445875272561245717146752513946634846409073816477226792336137631577714506537486819589095375834280295148189982749952713960841180299626340954402834057279096715871289983885307617659288418163207609104665085189660549826425076746110601002878339279652827979495637816894569822688455411837833090460439749217963908238188666651910731471508778578888173987466490903615056046560800358221885492728313849158155607496358689709771110975642266511231042557986652872871957627711905011193989799519852708738244447427344312478792379083354067967690054052824159230055834435245569470045322699528222322869768419749345571476029095245982910657966005187860047025115290222168592247019873504668287498304638389511435707372913545082502054572527422232067504880795888846676545613038958732569294345714344109206852866620612471523480738437953720327358420705357065552893277871724175335409571115495955905809900053506730969660182549919001417929486672438454156694289366542775338339130456517922785877159315148760255666359565367773501155807794710781955509213622813200326375885056000186851387385961752175870879726529936867560253619814311177511598591299572007885292219516167732475380163499033225863986094206178057774485125315872878894828398622043590322264127426115708129114506121234080109087786759215359826466153130413019470642909965714897639441350333107414223681083093423228767982907408773183096478626409674530133827851219800267325464510907924451834300603986171361214249940083593959843779278583535916664513283169840042436487313943585201133941119545365663125725822060048859059275159344430987962894216381983235247160432280950288255852883205369291553613764290406137823604191686603245349371597127256200953360738378250444799702969642705965088341945746875778578995771178699983527600392747412014460831621314719846512243940455610746919660928110206751979866997958337559655017324414427342949201579370102491911502252676631815746786036569291142816573443593815137172853006685651891599293884673553879379995494406040220091420198591825351713262432777531325435202098443 44399924990283919295219729804731947664157966492233853026109936916202454047811844795782413569128028040930197616478883801244069709911585367474501442986892559663814622048954883837523483004811927795333330375063593402068895814331097025545650838958194617653945887952450845867909050839716207759782024427763347358327358429205674628392684862775817494805052403015518555875444500281934957190039299454175257537856393186074105302683648315237413969533769053453219766436083228778002366355265646550165787702923810595448943209670498535971505792759528212007599459571429088640928130825202168362954868142066469013299322729669198644963570406004054520403047696939810836328846241894335051445886786795451945300449386024353434994910863271550958694606780092675126297411032068776047641644186898380916850436426568039306342766124081998710421117220255268836024456709085934363069387256774256243108469682615079523699004251438895792831538479421621854266937227793042103341049805485829686572321131178751830622532590482822989842155031248609488329439845955544899136673544993684777052015018767427892644983880549816419396889986764490875403800432214179495484916646407767052664772913167247329083589763766965574983568902012284650551537135714758446783661591733757504244223419322358467325086666114286334761789698052818874276517007263101250283003010783372119406936414899082528351774766996637396000751244852468635622725917447260860165644010688551393118858232773972093410663672668556319259522980552693503209771733274271943922102411983302152162131535213733231663657015243054224725527510828323838247471302923361349794082212730900244432689372853863381981932575168130724800325403211315064337157695847727206346384095671465751522325329977169940820916736951963584229348340159283570173235439954985998903741763492307230241791309105022701544179547717545587786701372247133966145250806530642459671730481331896961793698187014902734780026418688020260012529563681207823261848376150270053735786833388535275538018711237747909763993200136532028048587327776737433800689356320778412375806421039462736104004701811988157066225394619059606448070985068436197807299643256152361310708549040546873458099103170436255948957603941416467084075868841807609274952997538300787307166676711055673660761127015682524456150622981178258645354979816190705006613860204818554785850817162633077481110997007830094263554905277703756349552155384434428799512922349253142967263265389411875699757381334820121293229077220957120570767247866782084138880858533614035369624982599794526471593709566798814843960034088777689725798927950430275874006968382509067052879489469164138242827089356133243209369772447855230598773168271063965501938177552463418927461981111797008414649852586937985721586306786908640848502853149771488720110963775943148565527326532998166400206879951815780948344444441522842659792991971087066534862410570520336833309243788218269967070645364593676120807847141080910677513314561544033774539076088505306742244238143492628951131813592213941070633478768600656969907065398829407104752901142136587877759496634458535353549305408664663228594938263216416402860981627887402261016126200458946441185760107549735643418099531643574649382489214028999418101267978249023087847091410528539352171336875390449044984576810316552609633589488310209756709954550441100667895561488323797180740076462829100452857232513079 71840587732225226200398529988799933768656177714515665592652452316902410398872623624691901247940006719657278747336294371987661974616747028825779174759816940882868444219960337220885092359237523155872453642132217745423688949466699839527625735542495940135844399019997350682885891634736938769753471058085964636466207308467979106169663726466312791042556723609306382010141528412676943240090637348377019224031939661286928396781501270501302657050995182912657329397956052091719693054565277074326459737174173063254182431251347499817073718938107547118253546028673596092924773975008939495832165761363662583759775991187701253890300586198720634764324588872731345069285296366920127150270044456516176701217422097530188034418379237443517002681856059524868565820294279880542979467931860399219657296923920812843717490291055036652832499482251885132218191588338143387619874599664014701301217820271576906705821530918063126636349010896663471084503699069283370103952333913927693716157392459115763354524247369938879416555554828110560342102282239308155796677334249065705534506698687310409611411669846549027384758233369522277499810801881198313652096896595477575837541326387737424328663398138116906450035191856865823592330434137235593098878433285931466514071805738209078089180205652316430253314486014454601191705085201696080430222703229247391968182132045835042298409613405711212477978037188606267200440423984747679754739386522831688267048215523924807371504852968182660213925814609972599925643023258157251539761700401465359771236200298922892213483440319800335326530389167603491075450798561178244363904901186312082265779833293612599945840813356797376711056874720093643225331683314218109961440142232266109744210822705483789979072344448322273939119451134925836684466482512972651776613721120019135252985298904542554252917792164972932099180164626217320213218496584695283830960537166332207363168232337602263002349288456440009358101039710303069244759034116275241595833858503825497706610958257621414432280698441170417560023035149650978883191410893305834607873925920258624950681247425027115798794688964773950557277837935056810278823123994590315031035907461252230523651996448307980124293013512531963039981678741861116005922657720850706308584606197728112114917821305049067231488962111634776568140856975505853766869526564383922559351972970427788263066506221452907463881281162759756536403542770396180975383802075783079834823519009226186877268979926119693301114369440473288303242628030281117364744844627820213427399467725110399350488537965420858434282298216203805433928042456551509954116056169268282412705955622294551262297732266098958107009213798188338012996849354157388730706160459872192110558459738206682944783680438157785988911771297816565300337153753757660081325213716026742525371105811581702316871393234985620990780931755466427860926933090632432197988136392580385692368518947562700955033539580975659356055007573361860965769167444749403066092689852795712880067842335179232196481185189341197271586839506978907414706768368472113069841243087883463656338492405637235337076905801412075243055769884531136249373225568343013007935787128569153193165627105508073203073116856058001992331690793399101910012770230925654903593877447097830494987910318984264182157429817002204501232883372983763636089950044847140887986981686915622532453338895606631778292434611522 116240512722509145495618259793531881432814144206749518618762389233104864446684468420474314817068034760587476363815178173231731684528332396300280617746709500546683066268915221058408575364049450951205784017195811147492584763797796865073276574500690557789790286972448196550794942474453146529535495485849311994793565737673653734562348589242130285847609126624824937885586028694611900430129936802552276761888332847361033699465149585738716626584764236365877095834039280869722059409830923624492247440097983658703125640921846035788579511697635759125853005600102684733852904800211107858787033903430131597059098720856899898853870992202775155167372285812542181398131538261255178596156831251968122001666808121883623029329242508994475697288636152199994863231326348656590621112118758780136507733350488852150060256415137035363253616702507153968242648297424077750689261856438270944409687502886656430404825782356958919467887490318285325351440926862325473445002139399757380288478523637867593977056837852761869258710586076720048671542128194853054933350879242750482586521717454738302256395550396365446781648220134013152903611234095377809137013543003244628502314239554984753412253161905082481433604093869150474143867569851994039882540025019688970758295225060567545414266871766602765015104184067273475468222092464797330713225714012619511375118546944917570650184380402348608478729282041074902823166341432008539920383397211383081385906448297896900782168525636738979473448795162666103135414756532429195461864112384767511933367735512656123877140455562854560052057899995927329322922101484539594157987113917212326698469206147475981927773388524928101511382277931408707562489379161945316307824237903731861266536152682653730799989081400285858168467791294209406857701922467958650680355484612326365494776608009565255797097339882518519885881536873351286358469303115337743502691018498229169156866419352504997782375707144460269370630603391510892506607410266545295331620691892360773244629669495369324196273898577702445608610362926388412683880767214084246983680346959721361054685949237015272865020083583833557005348823003493008086122767250742676341744456501799103981751099618744236073250617453948430124057547583668725280875655259151493615751282908783785775678948320731591687639585092813035213495836791696558773483386769202477345202790133060865744177503229283001727436186440463512885955698154830609774896724425036222802086784398638062577026361260939814594343446661430408874009875897063201503625703161434248797024450324904925822082247532219673278242332304981495159726970406981785828123024551777349465585445091458689505124821622232201316378986246043568611770017625221354232644338012335611038020440850003691359433533025095771710498078084725206148840006903529148801436177491969891090898432344579868717078273186801401939125376196989270520719925061719498732850546963100722525677762735780970922104184945569335476862854714442771643282482006293436840631765941301019622312080478671861147612998781555138342220318275579564384613833767301520174594144230020051534097989040095770690626211210076738471650708147747552652234207196230415268951913329028099634351387213057808846491216387701576641714180007428101328114038209174677991440968857626369847159247194374713227142006627318757110866472861293973392799904595288241555882543175239419713193415358435732231149667124601 188081100454734371696016789782331815201470321921265184211414841550007274845557092045166216065008041480244755111151472545219393659145079425126059792506526441429551510488875558279293667723286974107078237659328028892916273713264496704600902310043186497925634685992445547233680834109190085299288966543935276631259773046141632840732012315708443076890165850234131319895727557107288843670220574150929295985920272508647962096246650856240019283635759419278534425231995332961441752464396200698818707177272156721957308072173193535605653230635743306244106551628776280826777678775220047354619199664793794180818874712044601152744171578401495789931696874685273526467416834628175305746426875708484298702884230219413811063747621746437992699970492211724863429051620628537133600580050619179356165030274409664993777746706192072016086116184759039100460839885762221138309136456102285645710905323158233337110647313275022046104236501214948796435944625931608843548954473313685074004635916096983357331581085222700748675266140904830609013644410434161210730028213491816188121028416142048711867807220242914474166406453503535430403422035976576122789110439598722204339855565942722177740916560043199387883639285726016297736198003989229632981418458305620437272367030798776623503447077418919195268418670081728076659927177666493411143448417241866903343300678990752612948593993808059820956707319229681170023606765416756219675122783734214769652954663821821708153673378604921639687374609772638703061057779790586447001625812786232871704603935811579016090623895882654895378588289163530820398372900045717838521892015103524408964249039441088581873614201881725478222439152651502350787821062476163426269264380135997971010746975388137520779061425848608132107587242429135243542168404980931302456969205732345500747761906914107810050015132047491451985061701499568606571687799700033027333651555664561376520034651690107260784724995600900278728731643101813961751366444382820536927454550396186270951240627752990738628554597018872863168633398076039391567072178107390081591554272879979986005367196662042388663814772548607507562626660938549818364945891245332991372780363963051334505403096067052216197543630966480393164039226325529841286798312980002199924335889106511897890596769625780658919128547204447811781636693767202412540352913333586399904554763103488654007244009450735909191317467603223269422359240925226790750280526500819302636910303407864249454295341187059507895457816101903697177252503927344318868370547789254462224423918050015325172570785497640531712524630521185300593655012863533295782239080721045631878291400713753240767422553888331159423388200044231906624766866979378742963350498472207803148578900588210374304217213463253557699409849382541771449177160657286808882761391207996633616269538156161571033949666421787022929906307952455698381646858152351930930838683355681108218046281683343671877137724526544994832917862287804632609051649451042839906724455794096732502379922813851093344094183970896335613807157782558471799320602135773633244435387317903515190436481445733006027703117011488813714706478032278688901607432764573428276887700457597252827517014318565882049564333243759578634045870800827203238126808440100332895034846304724200342147157513358977409299436444320961612099356234277737028889854640135382443869524862155042245646754254042364009442101736123 304321613177243517191635049575863696634284466128014702830177230783112139292241560465640530882076076240832231474966650718451125343673411821426340410253235941976234576757790779337702243087336425058284021676523840040408858477062293569674178884543877055715424972964893743784475776583643231828824462029784588626053338783815286575294360904950573362737774976858956257781313585801900744100350510953481572747808605356008995795711800441978735910220523655644411521066034613831163811874227124323310954617370140380660433713095039571394232742333379065369959557228878965560630583575431155213406233568223925777877973432901501051598042570604270945099069160497815707865548372889430484342583706960452420704551038341297434093076864255432468397259128363924858292282946977193724221692169377959492672763624898517143838003121329107379339732887266193068703488183186298888998398312540556590120592826044889767515473095631980965572123991533234121787385552793934316993956612713442454293114439734850951308637923075462617933976726981550657685186538629014265663379092734566670707550133596787014124202770639279920948054673637548583307033270071953931926123982601966832842169805497706931153169721948281869317243379595166771880065573841223672863958483325309408030662255859344168917713949185521960283522854149001552128149270131290741856674131254486414718419225935670183598778374210408429435436601270756072846773106848764759595506180945597851038861112119718608935841904241660619160823404935304806196472536323015642463489925171000383637971671324235139967764351445509455430646189159458149721295001530257432679879129020736735662718245588564563801387590406653579733821430582911058350310441638108742577088618039729832277283128070791251579050507248893990276055033723344650399870327448889953137324690344671866242538514923673065847112471930009971870943238372919892930157102815370770836342574162790545676901071042612258567100702745360548099362246493324854257973854649365832259075242288547044195870297248360062824828495596575308777243761002427804250952945321474328575234619839701347060053145899057661528834856132441064567975483942042826451068658496075667714524820464850438487154195685796452270794248420428823288096773909198566567673968239153693540087172015295683666275717946512250606768132297260846995132530558898971313836300102788877249757553236549519751421512680018910918753654043686782308314939080057400525177250925855525438997087806502312031321702447999322489801262763334106051262379824407520371996250950688711021448368374920250994653033029860204990766962826166795753381983270515081610362105272822981343876845805211930272547375510563360739767186290275475236536884604600097195994836484543414186599341438214065663650746488349329409907927467266977598017167560815957684197568699966524707167970500741439751027939608588424869031684149444968902366783214071429663689230318781830743724044419124642799241909472114330309780717002247404252334131457336276747356221735397752124692003292522954491707182752451473956027476058138036183934435903075153419029531547923566724534470485828776718329328221565552186357186180026241553841639960803843545839613786625352461868401531623690896055549631461155275760050808255304566240846649275010886475815162350570189306404707733690636441443071639718722965829095571710421689759235423623999752068037394461958840169612478096240591768860724 492402713631977888887651839358195511835754788049279887041592072333119414137798652510806746947084117721076986586118123263670519002818491246552400202759762383405786087246666337616995910810623399165362259335851868933325132190326790274275081194587063553641059658957339291018156610692833317128113428573719865257313111829956919416026373220659016439627940827093087577677041142909189587770571085104410868733728877864656957891958451298218755193856283074922945946298029946792605564338623325022129661794642297102617741785268233106999885972969122371614066108857655246387408262350651202568025433233017719958696848144946102204342214149005766735030766035183089234332965207517605790089010582668936719407435268560711245156824486001870461097229620575649721721334567605730857822272219997138848837793899308182137615749827521179395425849072025232169164328068948520027307534768642842235831498149203123104626120408907003011676360492748182918223330178725543160542911086027127528297750355831834308640219008298163366609242867886381266698830949063175476393407306226382858828578549738835725992009990882194395114461127141084013710455306048530054715234422200689037182025371440429108894086281991481257200882665321183069616263577830453305845376941630929845303029286658120792421161026604441155551941524230729628788076447797784153000122548496353318061719904926422796547372368018468250392143920500437242870379872265520979270628964679812620691815775941540317089515282846582258848198014707943509257530316113602089465115737957233255342575607135814156058388247328164350809234478322988970119667901575975271201771144124261144626967285029653145675001792288379057956260583234413409138131504114272168846352998175727803288030103458928772358111933097502122383642276152479893942038732429821255594293896077017366990300421837780875897127603977501423856004939872488499501844902515403798169994129827351922196935722732719519351825698346260826828093889595138816009340299032186369186529792684733315147110925001350801453383092615448171945877159078467195818025123428864410166788892719681333065420342561100050192649628681048572130602144880592644816014549741408659087305184427901772992557291752848668468337879386909216452136000234728407854472281219155893464423061121807581556872487572292909525896679501708658776769224326101383854189213436375277154312316340038173758665522130754820110071121646910051730674180005284191275457777426674828075907391214366561485617043635058830385259078865237803228514883751751839240366798739943173245872286424935576167223818527500736703291593347352096347036996134048377392601185993868613222168246518965171039969929398894520163155386334507381861303751583978840159345334956751217335178242026424439967867959951602887109317776849808749047194328218102766566958959907963158323437508656903010784977606030375447798937992101900667284013641366423360594527913674462938961770326102468314676379633998659325142698579290052036861385780908379116654080677529494484627071926106374047835801366723347809569834633840696507983255038038848786663464918865827081914970951931561782746032445233054365901063664212304930455449072725377271822727314244222605289385415850189572945619882875220733909805921609082507804367655089375343781510661467074770531453562221092668045740879515960680335065185329849447450579613875559006443621592899549504204486923866520460250033870596847 796724326809221406079286888934059208470039254177294589871769303116231553430040212976447277829160193961909218061084773982121644346491903067978740613012998325382020664004457116954698153897959824223646281012375708973733990667389083843949260079130940609356484631922233034802632387276476548956937890603504453883366450613772205991320734125609589802365715803952043835458354728711090331870921596057892441481537483220665953687670251740197491104076806730567357467364064560623769376212850449345440616412012437483278175498363272678394118715302501436984025666086534211948038845926082357781431666801241645736574821577847603255940256719610037680129835195680904942198513580407036274431594289629389140111986306902008679249901350257302929494488748939574580013617514582924582043964389375098341510557524206699281453752948850286774765581959291425237867816252134818916305933081183398825952090975248012872141593504538983977248484484281417040010715731519477477536867698740569982590864795566685259948856931373625984543219594867931924384017487692189742056786398960949529536128683335622740116212761521474316062515800778632597017488576120483986641358404802655870024195176938136040047256003939763126518126044916349841496329151671676978709335424956239253333691542517464961338874975789963115835464378379731180916225717929074894856796679750839732780139130862092980146150742228876679827580521771193315717152979114285738866135145625410471730676888061258926025357187088242878009021419643248315454002852436617731928605663128233638980547278460049296026152598773673806239880667482447119840962903106232703881650273144997880289685530618217709476389382695032637690082013817324467488441945752380911423441616215457635565313231529720023937162440346396112659697309875824544341909059878711208731618586421689233232838936761453941744240075907511395726948178245408392432002005330774569006336703990142467873836793775331777918926401091621374927456136088463670267314153681552201445605034973280359342981222249710864278211588212023480723120920080895000068978068750338738742023512559382680125473488460157711721484484813489636698577628822635471267083208237484326801830004892752211479711487438645120739132127807338039740232774143926974422146249458309587004510233137103265223148205518805160132664811798969505771901754885000355168025513539164154404069869576587693510087034810773731028824775690596834038989119085341591800635028352530353514904479020868873516938746083058152875060341628571909279777263576159359612363049690631884267320654799855827161876851557360941694058556173518892100418979404563459002963291266691594566045092324177101312517304909457880902922572624782857097840636188578937355340171441294631521777583464638505631518706439952216519225704317075726645211495778918724251156528607929683030605479157644450536005545638963872667969676251345636186380424580494790258217143993244769705494370521592957475621543470773655452479296292299441113719912365715393401436899264892236751763929398897002327508549475799283525862109898834544167189473941923940082494450413750648639505422417390559464361773454619918087420850392331172009290712686181115368566928030847957751253817381813263841675432506681889185565972417337812370608501738650354667986476629425340720759966928826358682182322587600399058031014425421157872269373110982630443373660936943966163327093478998556490625639457571 1289127040441199294966938728292254720305794042226574476913361375449350967567838865487254024776244311682986204647202897245792163349310394314531140815772760708787806751251123454571694064708583223389008540348227577907059122857715874118224341273718004162997544290879572325820788997969309866085051319177224319140679562443729125407347107346268606241993656631045131413135395871620279919641492681162303310215266361085322911579628703038416246297933089805490303413662094507416374940551473774367570278206654734585895917283631505785394004688271623808598091774944189458335447108276733560349457100034259365695271669722793705460282470868615804415160601230863994176531478787924642064520604872298325859519421575462719924406725836259173390591718369515224301734952082188655439866236609372237190348351423514881419069502776371466170191431031316657407032144321083338943613467849826241061783589124451135976767713913445986988924844977029599958234045910245020638079778784767697510888615151398519568589075939671789351152462462754313191082848436755365218450193705187332388364707233074458466108222752403668711176976927919716610727943882169014041356592827003344907206220548378565148941342285931244383719008710237532911112592729502130284554712366587169098636720829175585753760036002394404271387405902610460809704302165726859047856919228247193050841859035788515776693523110247344930219724442271630558587532851379806718136764110305223092422492664002799243114872469934825136857219434351191824711533168550219821393721401085466894323122885595863452084540846101838157049115145805436089960630804682207975083421417269259024916652815647870855151391174983411695646342597051737876626573449866653080269794614391185438853343334988648796295274373443898235043339586028304438283947792308532464325912482498706600223139358599234817641367679885012819582953118117896891933846907846178367176330833817494390070772516508051297270752099437882201755550025683602486276654452713738570632134827658013674490092147251061665731594680827471652668998079159362195887003192179203148908812405279064013190893831021257761914134113494538208829179773703228116083097757978892985889135189320653984472268779191493789207470007194247256192368774378655382276618530677465480468933294258910846780020693091098069658561491300678164548670979211101739022214726975539431558382185916625867268752556941528551138895897337506885769663299090625783076092805779205181590811870235235435002555789718116983260319420493809712508292147327911198852729848430575057513192941224791403329100670084861678397350149520870988447455975538611836395564477260560207788213338843142272352487234308352401066077958959290238959144387772557777514685506398045848856955825491062945599386666391555103628543481166884475692405823997021490818115488515892841354042987814547461320983151669339320466907668353246303470394065946918150852745057667707708667264696624061272152001177469432980595177875582351477975105693274094510055517576794386721378835855505271050163309916199147093095696743739531052150444511980772726745959369279577730554476374348952342210394218687674283988484514604636102464739785411558387191294242275070563040639233232002836787295315381902623095371894026420320174976156828025698449497138096500111252213529149919026727923202103561079393096199755270605322848986986541636886995253836493470367814017345519016740659510054418 2085851367250420701046225617226313928775833296403869066785130678565582520997879078463701302605404505644895422708287671227913807695802297382509881428785759034169827415255580571526392218606543047612654821360603286880793113525104957962173601352848944772354028922801805360623421385245786415041989209780728773024046013057501331398667841471878196044359372434997175248593750600331370251512414277220195751696803844305988865267298954778613737402009896536057660881026159068040144316764324223713010894618667172069174092781994778463788123403574125245582117441030723670283485954202815918130888766835501011431846491300641308716222727588225842095290436426544899118729992368331678338952199161927714999631407882364728603656627186516476320086207118454798881748569596771580021910200998747335531858908947721580700523255725221752944957012990608082644899960573218157859919400931009639887735680099699148848909307417984970966173329461311016998244761641764498115616646483508267493479479946965204828537932871045415335695682057622245115466865924447554960506980104148281917900835916410081206224435513925143027239492728698349207745432458289498027997951231806000777230415725316701188988598289871007510237134755153882752608921881173807263264047791543408351970412371693050715098910978184367387222870280990191990620527883655933942713715907998032783621998166650608756839673852476221610047304964042823874304685830494092457002899255930633564153169552064058169140229657023068014866240853994440140165536020986837553322327064213700533303670164055912748110693444875511963288995813287883209801593707788440678965071690414256905206338346266088564627780557678444333336424610869062344115015395619033991693236230606643074418656566518368820232436813790294347703036895904128982625856852187243673057531068920395833455978295360688759385607755792524215309901296363305284365848913176952936182667537807636857944609310283383075189678500529503576683006161772066156543968606395290772077739862631294033833073369500772530009806269039495133392118999240257195955981260929541887650835917838446693316367319481415473635618598308027845527757402525863587350180966216377312690965194213406195951980266630138909946602135001585295932601548522582356698764780135775067473443527396014112003168898609903229791226303099647670320572734096102094190240240514703585962452055493213560778839591752302282167720673028103719808652418175967374876727834131735535105716349256104308519494535801175136135379762122381621788069410904070558465092898121206941780513596024647230490977521642222620091408705694389880547874954943175295398527768527251802354258431167319373665004539217810281969000531584073096056985023961136714870025677839340480378733408955701451230905372831507320147769185483960202337617319775940215069272017123822524384648466972191911856988697308303193134877344604591939656774490527412941110962201660952478372759067145654229627622720940206636047657171874650919088825605639809903456954476059278958130599784904168052490818465674946376621558853638365596317633985922696666828453819693328379193981796766342901674755992142294202075905364996967274474030498097739502559861170305918520791893050613816100628970747888584512280937866443758132545584658566676053117483614725925451972973496078745385410105524691161478451127214180691763195118360097524267330368914773437436531141110824517573231285149511989 3374978407691619996013164345518568649081627338630443543698492054014933488565717943950955327381648817327881627355490568473705971045112691697041022244558519742957634166506704026098086283315126271001663361708830864787852236382820832080397942626566948935351573213681377686444210383215096281127040528957953092164725575501230456806014948818146802286353029066042306661729146471951650171153906958382499061912070205391311776846927657817029983699942986341547964294688253575456519257315797998080581172825321906655070010065626284249182128091845749054180209215974913128618933062479549478480345866869760377127118161023435014176505198456841646510451037657408893295261471156256320403472804034226040859150829457827448528063353022775649710677925487970023183483521678960235461776437608119572722207260371236462119592758501593219115148444021924740051932104894301496803532868780835880949519269224150284825677021331430957955098174438340616956478807552009518753696425268275965004368095098363724397127008810717204686848144520376558306549714361202920178957173809335614306265543149484539672332658266328811738416469656618065818473376340458512069354544058809345684436636273695266337929940575802251893956143465391415663721514610675937547818760158130577450607133200868636468858946980578771658610276183600652800324830049382792990570635136245225834463857202439124533533196962723566540267029406314454432892218681873899175139663366235856656575662216066857412255102126957893151723460288345631964877069189537057374716048465299167427626793049651776200195234290977350120338110959093319299762224512470648654048493107683515930122991161913959419779171732661856028982767207920800220741588845485687071963030844997828513271999901507017616527711187234192582746376481932433420909804644495776137383443551419102433679117653959923577026975435677537034892854414481202176299695821023131303358998371625131248015381826791434372460430599967385778438556187455668642820623059109029342709874690289307708323165516751834195741400949866966786061117078399619391842984453108745036559648323117510706507261150502673235549752711802566054356937176229091703433278724195270298580100383534060180424249045821632699154072142195832552124970322901237738975383310813240547942376821654924958783189591701001299449787794400325834869243713307203833212454967490243017520834241409839428047592148693830833306616570365610605578315717266593157952820639910940716696528219491339743522050325519292119395699182616191334296361558231981757317822746551781999293706537249438633820078191727084298488758855215260868995330930481787131794092245787812010142471770010461646017491773526162683035078490543363335016129411733694492384711184237386329235689234446764396830292039223062423776312666650844678030023143772961705887387505639715365738691454786739373177971848977642513601785012957838243127168556474331091963707259328660187040023763769715501779623898409639616642835047457002397063931298913904413512472052853665679509435640409439102654128381874093469717255597377896648468078497903469393574413188972906109748458171115295243885150210829968486064389879601603376938770283509297889751155412580989083832532283845818937416266063270487135376309760470178452720560815394701751566980752822425563225187025228664412138028726794722557844223413935962368517967347084065904217364168609930906898955128170036589971944659566407 5460829774942040697059389962744882577857460635034312610483622732580516009563597022414656629987053322972777050063778239701619778740914989079550903673344278777127461581762284597624478501921669318614318183069434151668645349907925790042571543979415893707705602136483183047067631768460882696169029738738681865188771588558731788204682790290024998330712401501039481910322897072283020422666321235602694813608874049697300642114226612595643721101952882877605625175714412643496663574080122221793592067443989078724244102847621062712970251495419874299762326657005636798902419016682365396611234633705261388558964652324076322892727926045067488605741474083953792413991463524587998742425003196153755858782237340192177131719980209292126030764132606424822065232091275731815483686638606866908254066169318958042820116014226814972060105457012532822696832065467519654663452269711845520837254949323849433674586328749415928921271503899651633954723569193774016869313071751784232497847575045328929225664941681762620022543826577998803422016580285650475139464153913483896224166379065894620878557093780253954765655962385316415026218808798748010097352495290615346461667051999011967526918538865673259404193278220545298416330436491849744811082807949673985802577545572561687183957857958763139045833146464590844790945357933038726933284351044243258618085855369089733290372870815199788150314334370357278307196904512367991632142562622166490220728831768130915581395331783980961166589701142340072105042605210523894928038375529512867960930463213707688948305927735852862083627106772381202509563818220259089333013564798097772835329329508180047984406952290340300362319191818789862564856604241104721063656267075604471587690656468025386436760148001024486930449413377836562403535661496683019810440974620339498267135095949320612336412583191470061250202755710844507460665544734200084239541665909432768105959991137074817447650109100496889355121562349227734799364591665504320114787614552920601742156238886252606725751207218906461919453236077639876587798965714038286924210484240955957399823628469984088709185371310110593899884694578754955290783459690411647611271065577747466376376229312451771609100674277197417848057571871423820095674148090949015615415820349050939070786358490310904529241014097499973505189816447403305927402695208004946603483286296903052988826431740446133115474337243393714325386968135442560532829548474042676251802244568747444052041544861320467255531078944738572956084430969136052315782915644672988941074220133274085864311055713369306918580167560909650749543205885424962427192620014315063812496730201177781019682496312743972965004079022127436431073114435694831207254736862076726809614422643402465848061197412054569743924081852134804880367640463548901920956659522763537890123339921758931285034960546285945706736662357562430182783943047001744033074669460989612665412782830915369731407246619349846252690492219331653316152756904553714316969426528912944637640035425313607155144946847549039846338814451016262244785712483826166060402867008666234488942439967881638145559906202972262688140295244598570651412800781607037392311016582886907604624425334459635038045236811159071647657247626913936585266145473961377804684464367548351015198160521307409797548134251485884036295350628116654131713085707181590171547733083383368343430096238994554163203229809078396 8835808182633660693072554308263451226939087973664756154182114786595449498129314966365611957368702140300658677419268808175325749786027680776591925917902798520085095748268988623722564785236795589615981544778265016456497586290746622122969486605982842643057175350164560733511842151675978977296070267696634957353497164059962245010697739108171800617065430567081788572052043544234670593820228193985193875520944255088612418961154270412673704801895869219153589470402666218953182831395920219874173240269310985379314112913247346962152379587265623353942535872980549927521352079161914875091580500575021765686082813347511337069233124501909135116192511741362685709252934680844319145897807230379796717933066798019625659783333232067775741442058094394845248715612954692050945463076214986480976273429690194504939708772728408191175253901034457562748764170361821151466985138492681401786774218547999718500263350080846886876369678337992250911202376745783535623009497020060197502215670143692653622791950492479824709391971098375361728566294646853395318421327722819510530431922215379160550889752046582766504072432041934480844692185139206522166707039349424692146103688272707233864848479441475511298149421685936714080051951102525682358901568107804563253184678773430323652816804939341910704443422648191497591270187982421519923854986180488484452549712571528857823906067777923354690581363776671732740089123194241890807282225988402346877304493984197772993650433910938854318313161430685704069919674400060952302754423994812035388557256263359465148501162026830212203965217731474521809326042732729737987062057905781288765452320670094007404186124023002156391301959026710662785598193086590408135619297920602300100962656369532404053287859188258679513195789859768995824445466141178795947824418171758600700814213603280535913439558627147598285095610125325709636965240555223215542900664281057899353975372963866251820110539700464275133560118536683403442185214724613349457497489243209909450479404403004440921492608168773428705514353156039495979641950167147031960770132564073468106330889620486761944735124021913159954241631754984046994216738414606917909851165961281526556800478358273404308254746419393250400182542194325057834649531401762256163358197170705864029569548082011905828690801891900299340059060160710509760615150175495189621004120538312892416874023889139963948780953813759324930965283852709153690782369113953616968498772788238783795563595186839759374926778127354764290380792527368034073100738391224770940367926670523524498131133905096391217068926416124911618538536815906749558986712260102875822639201971188242665699988086270135648039157512670799766089243847428525699639448046314113138850111877849230244891489451277632167700394518785649558397663607321863626844047028403253255862031376545670658212932395263588220338447370520268425911111603476075125038376720318272852452806594685085233186870517759485869333327266788655713216688203467618730481898581766610317149471065723046257799075229423133316056070048394158893253790981729635453977280197639140598690898138996933389445056413802231174204685124200174028351571065116335282062171995467896688456957618305453975461502874429558783033557387384115037986706289356079556251445120370776578423347546536074209686162978280606594139574042052616500231053054265656075765097251993299250329051367164590753175174468644803 14296637957575701390131944271008333804796548608699068764665737519175965507692911988780268587355755463273435727483047047876945528526942669856142829591247077297212557330031273221347043287158464908230299727847699168125142936198672412165541030585398736350762777486647743780579473920136861673465100006435316822542268752618694033215380529398196798947777832068121270482374940616517691016486549429587888689129818304785913061075380883008317425903848752096759214646117078862449846405476042441667765307713300064103558215760868409675122631082685497653704862529986186726423771095844280271702815134280283154245047465671587659961961050546976623721933985825316478123244398205432317888322810426533552576715304138211802791503313441359901772206190700819667313947704230423866429149714821853389230339599009152547759824786955223163235359358046990385445596235829340806130437408204526922624029167871849152174849678830262815797641182237643884865925945939557552492322568771844430000063245189021582848456892174242444731935797676374165150582874932503870457885481636303406754598301281273781429446845826836721269728394427250895870910993937954532264059534640040038607770740271719201391767018307148770702342699906482012496382387594375427169984376057478549055762224345992010836774662898105049750276569112782342382215545915460246857139337224731743070635567940618591114278938593123142840895698147029011047286027706609882439424788610568837098033325752328688575045765694919815484902862573025776174962279610584847230792799524324903349487719477067154096807089762683074287592324503855724318889860952988827320075622703879061600781650178274055388593076313342456753621150845500525350454797327695129199275564996206771688653312837557790490048007189283166443645203237605558227981127637861815758265392792098098967949309552601148249852141818617659535298365836170217097630785289423299782442330190490667459935364100941069267760648800961164488681680885911138241549806390117669572285103796130511192635643289257047647243815387679890624967589233679372567440915881185318884980616805029425506154518090470850653920495332023753854126326333739002285000198105018565521122231539028992933176707670725175917355420696590668248240114065748877930323679492711271778774017519756803100355906572322810357931815989400272845248876608113815688017845383500136224487406835215945405700455629586097064255291057153039256352251988151714223611917587996293220301017356986227847605140048160226630457857072093337246465223496504086388883654035897759881442146803797610362442189618465698135649093977034562368081742701331711986179332274417939635135932172366023685382484399014108613043236534798236197162358283123356906894184908390839948464534521251696092952686863332201911624476370920454438765304070870765547800706551166791145985371298304601943247892941549533927075109728082698608695054650477819158113046181307885517865589425600454964594117137109332122023819486120309029369445108021333047451325110679554954789506491036653412944022076972173162394884499410421138039503465555801514380147206305375087633338106878571535004962616774493862344980368798744679764371846723372674373188578354804293081382952765089013506739685588630430690805014298051623252851763317457360935909487919127593621508067843484007234297229766490630434924670169270631944138761447246247312830335376667593759147606159144916378404277723199 23132446140209362083204498579271785031735636582363824918847852305771415005822226955145880544724457603574094404902315856052271278312970350632734755509149875817297653078300261845069608072395260497846281272625964184581640522489419034288510517191381578993819952836812304514091316071812840650761170274131951779895765916678656278226078268506368599564843262635203059054426984160752361610306777623573082564650762559874525480036535153420991130705744621315912804116519745081403029236871962661541938547982611049482872328674115756637275010669951121007647398402966736653945123175006195146794395634855304919931130279019098997031194175048885758838126497566679163832497332886276637034220617656913349294648370936231428451286646673427677513648248795214512562663317185115917374612791036839870206613028699347052699533559683631354410613259081447948194360406191161957597422546697208324410803386419848870675113028911109702674010860575636135777128322685341088115332065791904627502278915332714236471248842666722269441327768774749526879149169579357265776306809359122917285030223496652941980336597873419487773800826469185376715603179077161054430766573989464730753874428544426435256615497748624282000492121592418726576434338696901109528885944165283112308946903119422334489591467837446960454719991760973839973485733897881766780994323405220227523185280512147448938185006371046497531477061923700743787375150900851773246707014598971183975337819736526461568696199605858669803216024003711480244881954010645799533547223519136938738044975740426619245308251789513286491557542235330246128215903685718565307137680609660350366233970848368062792779200336344613144923109872211188136052990414285537334894862916809071789615969207090194543335866377541845956840993097374554052426593779040611706089810963856699668763523155881684163291700445765257820393975961495926734596025844646515325342994471548566813910737064807321087871188501425439622241799422594541683735021114731019029782593039340420643115047692261488568736423556453319330481942389718868547082866048332350845750749369102893612485407710957612598655619353936913808367958088723049279216936519625483430973397500310519489977186028998580225610167115983918648422656260073935764973210894473527942132214690462667129925454654334716186622617881300572185307936768824325448632995558995325845491527373528837822574479518726061013036244870912364187317535840860867914394286701949910188799790145225011643168735234999986005384635199448101536846016023872120461984392427122530821810073474321134860573323523562089352718020393159473986620279517238461545166044534520815457775134143554266351082472485284244261082394047469035963251602130551882606533632954704953087314646399100926337844176314609834079324870889706103997162967678192629174644753579570044401847402674850272601460825336813122147413557098602967034606166253953894283151422901626158370318396020285540197780987654868817991357146752908964742586133311488951777933223692446165271938977556759699670743097306395306478450954547804580031293294447285436968357427403944515686324236245875504924450019030576725036549665492998918708115942911839707956435360573822700981538340571070542988968242560018189213724362401682166661239558052673536917187354608289904172044855614379558216920460208047097224574498712221887132175191815712902323077927587369966844088198973323735669553578746368002 37429084097785063473336442850280118836532185191062893683513589824947380513515138943926149132080213066847530132385362903929216806839913020488877585100396953114510210408331535066416651359553725406076581000473663352706783458688091446454051547776780315344582730323460048294670789991949702324226270280567268602438034669297350311441458797904565398512621094703324329536801924777270052626793327053160971253780580864660438541111916036429308556609593373412672018762636823943852875642348005103209703855695911113586430544434984166312397641752636618661352260932952923380368894270850475418497210769135588074176177744690686656993155225595862382560060483391995641955741731091708954922543428083446901871363675074443231242789960114787579285854439496034179876611021415539783803762505858693259436952627708499600459358346638854517645972617128438333639956642020502763727859954901735247034832554291698022849962707741372518471652042813280020643054268624898640607654634563749057502342160521735819319705734840964714173263566451123692029732044511861136234192290995426324039628524777926723409783443700256209043529220896436272586514173015115586694826108629504769361645168816145636648382516055773052702834821498900739072816726291276536698870320222761661364709127465414345326366130735552010204996560873756182355701279813342013638133660629951970593820848452766040052463944964169640372372760070729754834661178607461655686131803209540021073371145488855150143741965300778485288118886576737256419844233621230646764340023043461842087532695217493773342115341552196360779149866739185970447105764638707392627213303313539411967015621026642118181372276649687069898544260717711713486507787741980666534170427913015843478269282044647985033383873566825012400486196334980112280407721416902427464355203755954798636712832708482832413143842264382917355692341797666143832226811134069815107785324662039234273846101165748390355631837302386604110923480308505679925284827504848688602067696835470931835750690981518536215980238944133209955449531623398241114523781929517669730731366174132319118639925801428463252576114685960667662494284422462051564217134624644048952095629039339512423153893699723756142965587812574586896662770325822813695296890387184799720906232210219470230281361226657526544554433870700845030556813376938141136650840942495462069978934208744783228274935148312158077291535928065403443669787829012582138006204289946203409100807502211239490773875283160212635842492271541438783311239520376206850868046463020290703252220278118745223015513142027787488367114370194036354702022218570173531345376808938755092911066315920290036464956884298352874125630582267272160413960413675239513427817863095793035779180920352622430796863177942035990949347260626558435928271749063394722445460130736835547832773973154874544708718278362656074488666826685665643301220904431713441264469082934043888183985445885995162375104791978150113380966239029273771955578419510284825384548803125720226728484047796353083687119383367479640845839047215001169332797912841238482737574610249890773957574352754076459454981647351218898894645861797663387880314758563080630808549152177505274619723523835632002474982245606819644415167415980218284492409815990994278123264096209031765666363682223042224154757437813587855009423382391157764119330577160148570390757922746634437847346579482880585931983024091201 60561530237994425556540941429551903868267821773426718602361442130718795519337365899072029676804670670421624537287678759981488085152883371121612340609546828931807863486631796911486259431948985903922862273099627537288423981177510480742562064968161894338402683160272352808762106063762542974987440554699220382333800585976006589667537066410933998077464357338527388591228908938022414237100104676734053818431343424534964021148451189850299687315337994728584822879156569025255904879219967764751642403678522163069302873109099922949672652422587739668999659335919660034314017445856670565291606403990892994107308023709785654024349400644748141398186980958674805788239063977985591956764045740360251166012046010674659694076606788215256799502688291248692439274338600655701178375296895533129643565656407846653158891906322485872056585876209886281834317048211664721325282501598943571445635940711546893525075736652482221145662903388916156420182591310239728722986700355653685004621075854450055790954577507686983614591335225873218908881214091218402010499100354549241324658748274579665390120041573675696817330047365621649302117352092276641125592682618969500115519597360572071904998013804397334703326943091319465649251064988177646227756264388044773673656030584836679815957598572998970659716552634730022329187013711223780419127984035172198117006128964913488990648951335216137903849821994430498622036329508313428932838817808511205048708965225381611712438164906637155091334910580448736664726187631876446297887246562598780825577670957920392587423593341709647270707408974516216575321668324425957934350983923199762333249591875010180974151476986031683043467370589922901622560778156266203869065290829824915267885251251738179576719739944366858357327189432354666332834315195943039170445014719811498305476355864364516576435542710148175176086317759162070566822836978716330433128319133587801087756838230555711443503025803812043733165279731100221609019848619579707631850289874811352478865738673780024784716662500586529285931474013117109661606647977850020576482115543235212731125333512386075851231734039897581470862242511185100843434071144269532383069026539650031913131079728722336368575754928558505545085426585896749460270101281658327663038446900682137360206815880992242731177051752001417215864750145762466585283836501490787915470461582273621050849414667038219090327780798977767630987323669873450052400490991896113597900597647436251133942610518160198641227127470989540320157255544248327312852438890142821525062293752439880083588836665589876841085134763353510341322301735808635076511421343459570550686200459474556387547429369582597135208024629736308123665562544227122119961450817800746123093827319453548768641039492551870070274218150332662433091239427256023897090213710306879949680176648005147146169543615175778221902223925288632677907387158385607724415891984560202258502381466171535360156092446846968104738112991938238514541711730999236603317772495571885498667461604556052754430216689762786119296793595019581200626092360126675451095002014194406460281810598629581383905000677927943935444311354796582095996257670402788587243909726000206256158064094906174991443224805625008858139529817662384945731967868664531195310618704498935937711219296602600441075217645860685079583922094613044896294522392873050893468685510116601281935545552806616255485561770459203 97990614335779489029877384279832022704800006964489612285875031955666176032852504842998178808884883737269154669673041663910704891992796391610489925709943782046318073894963331977902910791502711309999443273573290889995207439865601927196613612744942209682985413483732401103432896055712245299213710835266488984771835255273356901108995864315499396590085452041851718128030833715292466863893431729895025072211924289195402562260367226279608243924931368141256841641793392969108780521567972867961346259374433276655733417544084089262070294175224358330351920268872583414682911716707145983788817173126481068283485768400472311017504626240610523958247464350670447743980795069694546879307473823807153037375721085117890936866566903002836085357127787282872315885360016195484982137802754226389080518284116346253618250252961340389702558493338324615474273690232167485053142456500678818480468495003244916375038444393854739617314946202196177063236859935138369330641334919402742506963236376185875110660312348651697787854901676996910938613258603079538244691391349975565364287273052506388799903485273931905860859268262057921888631525107392227820418791248474269477164766176717708553380529860170387406161764590220204722067791279454182926626584610806435038365158050251025142323729308550980864713113508486204684888293524565794057261644665124168710826977417679529043112896299385778276222582065160253456697508115775084618970621018051226122080110714236761856180130207415640379453797157185993084570421253107093062227269606060622913110366175414165929538934893906008049857275713702187022427432963133350561564287236739174300265212901652299155523753635718752942011631307634615109068565898246870403235718742840758746154533296386164610103613511191870757813385767334778613242036612845466634800218475766296942189188572847348989579384974531092531778659556828214399049648112786145540913643795627035361602939396304101799134863106198647844088760039605901534304676124428396233917986710282284314616429655298561000696901444719739241381005636515350776130429907367690307213481717367531849765259313814539103807848725858249133356526933647152407651205768913581335164655578989544336284973428446092511541342741133092441748196911719563155566991668843127383944679110901607590488177107649769275731485622702262246421563522700607721934677443986249985449395791018404279124349815350377167619316727043171074657111498886032190406695281842317007001405149647490624716485801320411277069619742530979103468495064624534163720485353163112228314514030558625306604349807617664329452249133547546696024323954378808607856798152398325643597266775394846424012386253880950009333655212003580284079522957902361633389268680896539158873008239806171199437902670493906061223565410959220869019511176319418619535673841043715497512950621160021690878261893538434296390890751974298321208608062817321165680361067494246146686366912057530522531197238825118218119079230967512286497290150509521428702321298697605725395945652352405838117336073130265760142632642234582369958890272967913933832576624444297234239384951383657843359982325279162834338957216594245483876572428965869218052458878177711530777787618741806993918207051231828502554697233642603230224377684655525473433882800707967703377582978825642665229975083674272934593345477004202660413852970033199463859443432863235719782892132289496841417544794550404 158552144573773914586418325709383926573067828737916330888236474086384971552189870742070208485689554407690779206960720423892192977145679762732102266319490610978125937381595128889389170223451697213922305546672918427283631421043112407939175677713104104021388096644004753912195002119474788274201151389965709367105635841249363490776532930726433394667549809380379106719259742653314881100993536406629078890643267713730366583408818416129907931240269362869841664520949961994364685400787940632712988663052955439725036290653184012211742946597812097999351579604792243448996929162563816549080423577117374062390793792110257965041854026885358665356434445309345253532219859047680138836071519564167404203387767095792550630943173691218092884859816078531564755159698616851186160513099649759518724083940524192906777142159283826261759144369548210897308590738443832206378424958099622389926104435714791809900114181046336960762977849591112333483419451245378098053628035275056427511584312230635930901614889856338681402446236902870129847494472694297940255190491704524806688946021327086054190023526847607602678189315627679571190748877199668868946011473867443769592684363537289780458378543664567722109488707681539670371318856267631829154382848998851208712021188635087704958281327881549951524429666143216227014075307235789574476389628700296366827833106382593018033761847634601916180072404059590752078733837624088513551809438826562431170789075939618373568618295114052795470788707737634729749296608884983539360114516168659403738688037133334558516962528235615655320564684688218403597749101287559308495915271159938936633514804776662480129675230621750435985479001897557516731629344054513074272301009572665674014039784548124344186823353455558729115140575199689444946076351808788505805245233195577795247665544437211865566014927684679267707864977315990284965872485091502475974041962929214836449359777626859813242637888910010691577254039770706123143324524744008103865768276585093636793482168329078585785413563945306268527312479649632460437737077885217710883695597260602744580890592826200614955039582765755830604218769444832253251085276913183113718233682118639576249416053157168428880117097669691597986833623497616312615837092950501455046983126011583744950694992988642012006908537374703679462286313668463074307218513945477037900919857373292025329973764482388596257947097526020938705644435168759482242807186273738430604902002797083741758659096319480609918296747213520519423625750608872861476572924243305933753376807782998505390193186473207541170537383896901057037346625690187443684368219495857896194283467234869402811559815623463547144541679841739888407745085502129483753350719498697285281966835559259719968078942163045776131497783561291883302110750603575442516625887551350595447193127269165168837047805508714212518293114677262930999115995221202928890096253052054448405188748378229065882687289685672086322857192222905750801039001881508758032020093794269491224063407256908458592547552762893051879439426237254163570584982633094589384927578638638703694521195550013239227264983003207106769783268571390827579872830099368657805296368604177917786935851713647981985361431856856837360694227051304988175956345553320056668744501505206903641088802275428243106305192729534958014177267571617247556708375362906250357328128942979837001718437685096113096903106565009607 256542758909553403616295709989215949277867835702405943174111506042051147585042375585068387294574438144959933876633762087802897869138476154342592192029434393024444011276558460867292081014954408523921748820246209317278838860908714335135789290458046313704373510127737155015627898175187033573414862225232198351877471096522720391885528795041932791257635261422230824847290576368607347964886968136524103962855192002925769145669185642409516175165200731011098506162743354963473465922355913500674334922427388716380769708197268101473813240773036456329703499873664826863679840879270962532869240750243855130674279560510730276059358653125969189314681909660015701276200654117374685715378993387974557240763488180910441567809740594220928970216943865814437071045058633046671142650902403985907804602224640539160395392412245166651461702862886535512782864428675999691431567414600301208406572930718036726275152625440191700380292795793308510546656311180516467384269370194459170018547548606821806012275202204990379190301138579867040786107731297377478499881883054500372053233294379592442989927012121539508539048583889737493079380402307061096766430265115918039069849129714007489011759073524738109515650472271759875093386647547086012081009433609657643750386346685338730100605057190100932389142779651702431698963600760355368533651273365420535538660083800272547076874743933987694456294986124751005535431345739863598170780059844613657292869186653855135424798425321468435850242504894820722833867030138090632422341785774720026651798403308748724446501463129521663370421960401920590620176534250692659057479558396678110933780017678314779285198984257469188927490633205192131840697909952759944675536728315506432760194317844510508796926966966750599872953960967024223559318388421633972440045451671344092189854733010059214555594312659210360239643636872818499364922133204288621514955606724841871810962717023163915041772752016209339421342799810312024677629200868436500099686263295375921108098597984377146786110465390026007768693485286147811213867507792585401190909078977970276430655852140015154058847431491614079737575296378479405658736482682096695053398337697629120585701026585614521391658440410824690428581820409335875771404084619344582430927805122485352541183170096291781282640022997405941708707877191163682029153191389463287886369253164310429609098114297738973425566414253064109780301546667645514433213881555580747611903407946731232383375582120801021195366366956051498527094245673497395640293409596469045981691321813557130696797536280825205499989633030448603733370949644566252292225017648256221837880734010264249235572201877344497153875335053743468691824608460031845386739988179593824440839843799065891167516844833539682192721348972251104171130261779894861136161561392394310944706077890325190527926067402252646814684005429237229320324603284020250055776614119548694551875115290286596405218486924497204540976271453873263087536292032018279460722415092967096949459352909260864430664888836023317639582058879488745940543872906062503318760155263083000928760580501396897070624965328486269604122225787985073063749402528334527023348827482355629317713639332389788979279638908088665863248924284947591406180723237975582142178384305914871344466385254253885771535167813209230948770613048621450217122228332939449821187572375843072721501329817385609938320651359560011 415094903483327318202714035698599875850935664440322274062347980128436119137232246327138595780263992552650713083594482511695090846284155917074694458348925004002569948658153589756681251238406105737844054366919127744562470281951826743074964968171150417725761606771741908927822900294661821847616013615197907718983106937772083882662061725768366185925185070802609931566550319021922229065880504543153182853498459716656135729078004058539424106405470093880940170683693316957838151323143854133387323585480344156105805998850452113685556187370848554329055079478457070312676770041834779081949664327361229193065073352620988241101212680011327854671116354969360954808420513165054824551450512952141961444151255276702992198752914285439021855076759944346001826204757249897857303164002053745426528686165164732067172534571528992913220847232434746410091455167119831897809992372699923598332677366432828536175266806486528661143270645384420844030075762425894565437897405469515597530131860837457736913890092061329060592747375482737170633602203991675418755072374759025178742179315706678497179950538969147111217237899517417064270129279506729965712441738983361808662533493251297269470137617189305831625139179953299545464705503814717841235392282608508852462407535320426435058886385071650883913572445794918658713038907996144943010040902065716902366493190182865565110636591568589610636367390184341757614165183363952111722589498671176088463658262593473508993416720435521231321031212632455452583163639023074171782456301943379430390486440442083282963463991365137318690986645090138994217925635538251967553394829556617047567294822454977259414874214879219624912969635102749648572327254007273018947837737888172106774234102392634852983750320422309328988094536166713668505394740230422478245290684866921887437520277447271080121609240343889627947508614188808784330794618295791097488997569654056708260322494650023728284410640926220030998596839581018147820953725612444603965454539880469557901580766313455732571524029335332276296005964935780271651604585677803112074604676238573021011546444966215769013887014257369910341794065823311658909821759595279808771632019816268696835117079742782950271775538080516288415415443906952188387241177569846037477910931134069097491878163084933793289548560372109621170994190859626756336371705334940325787289110537602454939071878780127569683513511779085048485945981836404996676021067829319178216805410743814974142034678440281631113663114169572017950719996282370257116866333839774979735068129596555636086990722754032746670527016927349660770717575334753695976593237144114118032164201245133652047132017500808044298417014895483357099569693962161329140090707678291109722806679358325611135595786996585458324219132533542987473241012383470303652787448943744906391899205159490359364973872910966859332977120106500160319440598505223178945872867171603142957063863668515662287905776610169290863833463676779013888575293913527037492742508887236588173522760166169323023212441598916369519021485116742909511128855539157092703687733901721704623281776051410136297889948331693376373905494359375900643622232627703184828645196086533547104649491046037770964641070764945503223943151336252579582137068791295638810922885811121774985555187529682128877840360542744188962947880620238697773830603695845700178515701318822909723219767502481723035223757924569618 671637662392880721819009745687815825128803500142728217236459486170487266722274621912206983074838430697610646960228244599497988715422632071417286650378359397027013959934712050623973332253360514261765803187165337061841309142860541078210754258629196731430135116899479063943450798469848855421030875840430106070860578034294804274547590520810298977182820332224840756413840895390529577030767472679677286816353651719581904874747189700948940281570670824892038676846436671921311617245499767634061658507907732872486575707047720215159369428143885010658758579352121897176356610921105741614818905077605084323739352913131718517160571333137297043985798264629376656084621167282429510266829506340116518684914743457613433766562654879659950825293703810160438897249815882944528445814904457731334333288389805271227567926983774159564682550095321281922874319595795831589241559787300224806739250297150865262450419431926720361523563441177729354576732073606411032822166775663974767548679409444279542926165294266319439783048514062604211419709935289052897254954257813525550795412610086270940169877551090686619756286483407154557349509681813791062478872004099279847732382622965304758481896690714043941140789652225059420558092151361803853316401716218166496212793882005765165159491442261751816302715225446621090412002508756500311543692175431137437905153273983138112187511335502577305092662376309092763149596529103815709893369558515789745756527449247328644418215145756989667171273717527276175417030669161164804204798087718099457042284843750832007409965454494658982061408605492059584838102169788944626610874387953295158501074840133292038700073199136688813840460268307941780413025163960032963623374466203678539534428420237145361780677287389059928861048497133737892064713128652056450685336136538265979627375010457330294677203553003099988187152251061627283695716751500079719003953176378898580071285211673187643326183392942429370419939639391330172498582926480881104065140803175845479009679364297832879357634494725358284064699450221928082865472093470388513265513755216543297442202297106230923072734445748983990079369362201791064568558242277376503825030357513897817420818106328397471663433978491340978843997264316288064158645262189190619908838736256554450033061333181225574572188583369515562879702068050790438365524896724403613673658363701912884548169993077866543109079926032149158266247528504050511109234949384899925828708818690546206525410260561082652309029481125623516477814241955867652757159743436244025716759451410112766783788259034857952170516649957798264504088524979319948268818254792370339870044935255397901282704219378152541452292349949226825791394302422193174526830695857884934163646523157391502303112631830125140516940481505794091644371274163365164788949010336139217336605283049815549892899940313219506147661125535737389639765201789243429001649481291151837508938978958802258693124263534666495404809735130652276976111585945545316953464923980203685122982113075430187453877330434939687158603543996231655451672728445219596022447889164804705552042356552807033368514913660179645978027720147360973707371635156037711851994023568889176422363130378427559943920709673034169087192075621200170988317792029271220953101270117036646330021572783936014649375528355953419911718493668860147990952832028785149999703273694665982444721097319867332973544409284129629 1086732565876208040021723781386415700979739164583050491298807466298923385859506868239345578855102423250261360043822727111193079561706787988491981108727284401029583908592865640380654583491766619999609857554084464806403779424812367821285719226800347149155896723671220972871273698764510677268646889455628013789843684972066888157209652246578665163108005403027450687980391214412451806096647977222830469669852111436238040603825193759488364387976140918772978847530129988879149768568643621767448982093388077028592381705898172328844925615514733564987813658830578967489033380962940520696768569404966313516804426265752706758261784013148624898656914619598737610893041680447484334818280019292258480129065998734316425965315569165098972680370463754506440723454573132842385748978906511476760861974554970003294740461555303152477903397327756028332965774762915663487051552160000148405071927663583693798625686238413249022666834086562150198606807836032305598260064181133490365078811270281737279840055386327648500375795889545341382053312139280728316010026632572550729537591925792949437349828090059833730973524382924571621619638961320521028191313743082641656394916116216602027952034307903349772765928832178358966022797655176521694551793998826675348675201417326191600218377827333402700216287671241539749125041416752645254553733077496854340271646464166003677298147927071166915729029766493434520763761712467767821615959057186965834220185711840802153411631866192510898492304930159731628000194308184238975987254389661478887432771284192915290373429445859796300752395250582198579056027805327196594164269217509912206068369662588269298114947414015908438753429903410691428985352417967305982571212204091850646308662522629780214764427607811369257849143033300451560570107868882478928930626821405187867064895287904601374798812793346989616134660865250436068026511369795870816492950746032955288331607706323211371610594033868649401418536478972348320319536652093325708030595343056315036911260130611288611929158524060690560360705415157708354517076679148191625340118431455116318453748742072446692086621460006353900421163428025102723478380001872656312596662377330166514255935186071180421935209516571857267259412708223240252545886439759036657386749667390623547524939496266159367861737143741625184050696258910417194701896602059343939460947474239515339487241871857994112792593437811234206752193510340455507785256017214219104045514229434361180667444939001364283422692595295195534428534238238237909874026077276019005451827581006668402870778981788890698841043666885147925274806100314073644245411491936484457902209136500531553329836236878960585750709364844710182890963996384354503666921403536176043886453202515717113438708418826710598841159614039337079117612286546835468441736459279884123728504488209305909257873813224186365480638245642237549959205800294466607947522348462754980466002842627317920981030040144835786268643198807431290864686879859072354446207432867440273296504873241599510477089772033856056677625029112974564962801583984376688726135623066526410175324132604217169666404861991873022351933214506736874350993867783740896680639219655422723527012621424465330908561780437979672311135226957452750570454860820566859764024155928158421315576760313618143527215888898697608874666374289098845764783435724630850178218975013488892167940864822349056008768167208699247 1758370228269088761840733527074231526108542664725778708535266952469410652581781490151552561929940853947872007004050971710691068277129420059909267759105643798056597868527577691004627915745127134261375660741249801868245088567672908899496473485429543880586031840570700036814724497234359532689677765296058119860704263006361692431757242767388964140290825735252291444394232109802981383127415449902507756486205763155819945478572383460437304669546811743665017524376566660800461385814143389401510640601295809901078957412945892544004295043658618575646572238182700864665389991884046262311587474482571397840543779178884425275422355346285921942642712884228114266977662847729913845085109525632374998813980742191929859731878224044758923505664167564666879620704389015786914194793810969208095195262944775274522308388539077312042585947423077310255840094358711495076293111947300373211811177960734559061076105670339969384190397527739879553183539909638716631082230956797465132627490679726016822766220680593967940158844403607945593473022074569781213264980890386076280333004535879220377519705641150520350729810866331726178969148643134312090670185747181921504127298739181906786433930998617393713906718484403418386580889806538325547868195715044841844887995299331956765377869269595154516519002896688160839537043925509145566097425252927991778176799738149141789485659262573744220821692142802527283913358241571583531509328615702755579976713161088130797829847011949500565663578647687007803417224977345403780192052477379578344475056127943747297783394900354455282813803856074258163894129975116141220775143605463207364569444502721561336815020613152597252593890171718633209398377581927338946194586670295529185843090942866925576545104895200429186710191530434189452634820997534535379615962957943453846692270298361931669476016346350089604321813116312063351722228121295950535496903922411853868402892917996399014936777426811078771838476118363678492818119578574206812095736146232160515920939494909121491286793018786048844425404865379636437382548772618580138605632186671659615895951039178677615159355905755337890500532790226893788046938244150032816421692734844064331676753292399577893598643495063198246103409972539528316704531701948227277295588403647177997558000829447384942433925727111140746930398326961207633067421498783747553134605837941428224035411864935860655901673363843383365018441038844506018894490966599119029874223048124907387192855199562446935731722076420819050906348480194105562631185820712263031168587032416781169654567240823748651011560316842946189778894625293393592514229746728854797772254071755929454612540456257113127203001714793937008682358298806547678193752099394060978050099725673108615741821050656835739358100095545131170761983560710200633230685469616023341065109771259121459150773753537405871628299371177974939598971002083710036949171829753906817974941821586120179674154303679502281673452933938083567840798465804617671399672356847643958419486986317029697930967102468795743836228573109206220414474312429596284748583512231331115727366489157024203034919775652052668329960934654097848058365502939778608532633243224311899949375751802892890852482490111013841398327302578652921558772652849838080717125426045195067645598333097554158176591417254651028786384867957958993755736267753416000177922248708154874612661962142216388982312576492828876 2845102794145296801862457308460647227088281829308829199834074418768334038441288358390898140785043277198133367047873698821884147838836208048401248867832928199086181777120443331385282499236893754260985518295334266674648867992485276720782192712229891029741928564241921009685998195998870209958324654751686133650547947978428580588966895013967629303398831138279742132374623324215433189224063427125338226156057874592057986082397577219925669057522952662437996371906696649679611154382787011168959622694683886929671339118844064872849220659173352140634385897013279832154423372846986783008356043887537711357348205444637132033684139359434546841299627503826851877870704528177398179903389544924633478943046740926246285697193793209857896186034631319173320344158962148629299943772717480684856057237499745277817048850094380464520489344750833338588805869121627158563344664107300521616883105624318252859701791908753218406857231614302029751790347745671022229342295137930955497706301950007754102606276066921616440534640293153286975526334213850509529275007522958627009870596461672169814869533731210354081703335249256297800588787604454833118861499490264563160522214855398508814385965306520743486672647316581777352603687461714847242419989713871517193563196716658148365596247096928557216735290567929700588662085342261790820651158330424846118448446202315145466783807189644911136550721909295961804677119954039351353125287672889721414196898872928932951241478878142011464155883577846739431417419285529642756179306867041057231907827412136662588156824346214251583566199106656456742950157780443337814939412822973119570637814165309830634929968027168505691347320075129324638383729999894644928765798874387379832151753465496705791309532503011798444559334563734641013204928866417014308546589779348641713757165586266533044274829139697079220456473981562499419748739491091821351989854668444809156734500624319610386547371460679728173257012597336026813137656230667532520126331489288475552832199625520410103215951542846739404786110280537344791899625451766771763945750618126775934349699781251124307245977365761691790921696218251996511525318246022689129018355112174230845932688478470758315533853011635055513362822680762768569250418141707263934682338071037801545082940325713544310295662870852765930981094585871624827769318100843091492595553312180943563522653736793854768694266801654617571770634549184961526679746983813338133919737277559268567860300138563811219154414671716014585334882718432343472505211897988282036620414613423449572525346222612639349852603983728094115053700725607467236759641238665339255674463208256461007942376693136073712953711079638647191573322295190902181860673502930237021936552928188825729180529469483546338199259709584468249879595847257036101672421928895907464793614259468427368408647566761592237108937616820212489558176802378176644896694178216661798440944664213438100655184343824338067942096132745514858705485345663690025845879789715084231715991859558629208408056874502651800513853602222180785377275896413972973474719135297857525902690621761241372701324637643925690681894149160834722409359370723519505213272462879734623476388373227358221761044270548993513709462529536105672129227513670404940481149581973353488961175093411172301703807306153348637661051242247057839520519703478046850356141223721643766780602826964565444991080743701528123 4603473022414385563703190835534878753196824494034607908369341371237744691023069848542450702714984131146005374051924670532575216115965628108310516626938571997142779645648021022389910414982020888522361179036584068542893956560158185620278666197659434910327960404812621046500722693233229742648002420047744253511252210984790273020724137781356593443689656873532033576768855434018414572351478877027845982642263637747877931560969960680362973727069764406103013896283263310480072540196930400570470263295979696830750296531789957416853515702831970716280958135195980696819813364731033045319943518370109109197891984623521557309106494705720468783942340388054966144848367375907312024988499070557008477757027483118176145429072017254616819691698798883840199964863351164416214138566528449892951252500444520552339357238633457776563075292173910648844645963480338653639637776054600894828694283585052811920777897579093187791047629142041909304973887655309738860424526094728420630333792629733770925372496747515584380693484696761232568999356288420290742539988413344703290203600997551390192389239372360874432433146115588023979557936247589145209531685237446484664649513594580415600819896305138137200579365800985195739184577268253172790288185428916359038451192015990105130974116366523711733254293464617861428199129267770936386748583583352837896625245940464287256269466452218655357372414052098489088590478195610934884634616288592476994173612034017063749071325890091512029819462225533747234834644262875046536371359344420635576382883540080409885940219246568706866380002962730714906844287755559479035714556428436326935207258668031391971744988640321102943941210246847957847782107581821983874960385544682909017994844408363631367854637398212227631269526094168830465839749863951549688162552737292095560449435884628464713750845486047168824778287097874562771470967612387771887486758590856663025137393542316009401484148887490806945095488715699705305955775809241739332222067635520636068753139120429531594502744561632788249211515145916981229282174224385351902551382804798435550245650820429801922405333271517029681422229008478890299572256490172721945440047847018295177609441770870336209132496506698253759466232653302296885954949843655491211977926474684979542640941155160929252729588597963906677911492912832832460836739599626839045730159150122371787558065601729715424595940165498000936789075588029467545574237950412457163793960325684175955053155338126258154886136748136833636241231198626449035136397718700545067789001645840230742179913463436388000864164300571040304832595350900860829273870985394194053446717280012390462554917149393186840156712794432584200255680593997449860054425602324297999986652653861934344922350520140382077557359805129599420641579407967236734903107398511930805858724030727548827559421320298998108737236987998187429157147804461886681845866007970568616415886485799558280329338647503840349615549066683598426546283811468307697245552146562728190135478845875658906339023976971447544350082175331387005791750208843569258223302647529188641630057110918265575736244413295978359011855083814932570467724873663298113745905706104046523425764125030251112613526760660007355107789832114758593688000166520243021198275008018548556606773426508726459880398723407999666447436110205016833276255971231462850534063472429798641393264789106781833973393320194356999 7448575816559682365565648143995525980285106323343437108203415790006078729464358206933348843500027408344138741099798369354459363954801836156711765494771500196228961422768464353775192914218914642783346697331918335217542824552643462341060858909889325940069888969054542056186720889232099952606327074799430387161800158963218853609691032795324222747088488011811775709143478758233847761575542304153184208798321512339935917643367537900288642784592717068541010268189959960159683694579717411739429885990663583760421635650634022289702736362005322856915344032209260528974236737578019828328299562257646820555240190068158689342790634065155015625241967891881818022719071904084710204891888615481641956700074224044422431126265810464474715877733430203013520309022313313045514082339245930577807309737944265830156406088727838241083564636924743987433451832601965812202982440161901416445577389209371064780479689487846406197904860756343939056764235400980761089766821232659376128040094579741525027978772814437200821228124989914519544525690502270800271814995936303330300074197459223560007258773103571228514136481364844321780146723852043978328393184727711047825171728449978924415205861611658880687252013117566973091788264729968020032708175142787876232014388732648253496570363463452268949989584032547562016861214610032727207399741913777684015073692142779432723053273641863566493923135961394450893267598149650286237759903961482198408370510906945996700312804768233523493975345803380486666252063548404689292550666211461692808290710952217072474097043592782958449946202069387171649794445536002816850653969251409446505845072833341222606674956667489608635288530321977282486165837581716628803726184419070288850146597873860337159164169901224026075828860657903471479044678730368563996709142516640737274206601470894997758025674625744248045234761079437062191219707103479593239476613259301472181871894166635619788031520348170535118352501313035732119093432039909271852348399124809111621585338745949941697718696104479527653997625426454326021181799676152123666497133422925211484595350601680926229651310637278721472343925226730886811097574736195411074458402959192526023542130249341094524666349518333309272829055334065065455205367985362755146660264545722781087723881480874473563025251468816672608892587498704457288606057700469930538325712462303315351080719338523570193290206967152618508559710137214429072253984934225795297713697603243444522913455476690069374040551419852848221576113917058792507641609616688827104409416259263680314705259686049027350716768284299134419886296076508328066033512224059533309121180488268851470497293842529260553110423874071231391829002889188352041915099105254535021923205582050760074102879989623928415756619514714067670521175255224272836575529327407838270652338290195976195968068887060590345846174604818399918715324606840063326742560186187230414856831150012996380984522991328178417557645199429113285251769157131997723091431936277812421851470705434288114747080851474099344863935777553567791169026105257542231698021782827046167532747732679506948437569050939904049693749232975767292877084244386817618959178168983781146902152498257609334374571031209000868817252361650864265817227680190647961679424589991902045567948519919898761584206029561348304108487352452074672796775674709509700890204696151442408173867616071347278964474063895885122 12052048838974067929268838979530404733481930817378045016572757161243823420487428055475799546215011539490144115151723039887034580070767464265022282121710072193371741068416485376165103329200935531305707876368502403760436781112801647961339525107548760850397849373867163102687443582465329695254329494847174640673052369948009126630415170576680816190778144885343809285912334192252262333927021181181030191440585150087813849204337498580651616511662481474644024164473223270639756234776647812309900149286643280591171932182423979706556252064837293573196302167405241225794050102309052873648243080627755929753132174691680246651897128770875484409184308279936784167567439279992022229880387686038650434457101707162598576555337827719091535569432229086853720273885664477461728220905774380470758562238388786382495763327361296017646639929098654636278097796082304465842620216216502311274271672794423876701257587066939593988952489898385848361738123056290499950191347327387796758373887209475295953351269561952785201921609686675752113525046790691091014354984349648033590277798456774950199648012475932102946569627480432345759704660099633123537924869965157532489821242044559340016025757916797017887831378918552168830972841998221192822996360571704235270465580748638358627544479829975980683243877497165423445060343877803663594148325497130521911698938083243719979322740094082221851295550013492939981858076345261221122394520250074675402544122940963060449384130658325035523794808028914233901086707811279735828922025555882328384673594492297482360037262839351665316326205032117886556638733291562295886368525679845773441052331501372614578419945307810711579229740568825240333947945163538612678686569963753197868141442282223968527018807299436253707098386752072301944884428594320113684871695253932832834656037355523462471776520111791416870013048177311624962690674715867365126963371850158135207009287708951629189515669235661342063447990028735437425049207849151011184570466760329747690338477866379473292221440666112315903209140572371307250463973900537475569048516227723647034841001422110728152056643908795751153766154235209777110669831226368133019898450806210821201151572020211430733798846025031563032295287987367362341160317829018246358638191020407760630364822636035402815754840066780579286804080411537289749442797300096769584055871612425687138638784940253285617886147132650619445348785725243896617828222884638252461507657928927620477966610814816327528926688167989681857817345115685241542778007335389372172198417905103911056885173149485415351580932584870174724718891427409188895307383209453727362567897768281241933052210991922447393267136668503815592084683483185801901969524707578833021909858235912694419025230509764310493313979319843667091162754663191509571478636725919769076511062320923525023527490207359588454583411592816587347872472411301950008588426194157799031272717635812554661313861638832018767173194266112711711798052968600305420336984082840540611986949551309947021086104828445546889214017952884954796960776314101111489921324430356234809162804843597772524173813464235882408705604316790699863344809118050115732705083875087827670327916623287860446988097791869008223925042193765622859505227846710890982877699598010450602174721946428625221464604752969347970555923462657091506073031645940972551424268168581241049567132405178129112937867384090242121 19500624655533750294834487123525930713767037140721482124776172951249902149951786262409148389715038947834282856251521409241493944025569300421734047616481572389600702491184949729940296243419850174089054573700420738977979605665445110302400384017438086790467738342921705158874164471697429647860656569646605027834852528911227980240106203372005038937866632897155584995055812950486110095502563485334214400238906662427749766847705036480940259296255198543185034432663183230799439929356365224049330035277306864351593567833058001996258988426842616430111646199614501754768286839887072701976542642885402750308372364759838935994687762836030500034426276171818602190286511184076732434772276301520292391157175931207021007681603638183566251447165659289867240582907977790507242303245020311048565871976333052212652169416089134258730204566023398623711549628684270278045602656378403727719849062003794941481737276554786000186857350654729787418502358457271261039958168560047172886413981789216820981330042376389986023149734676590271658050737292961891286169980285951363890351995915998510206906785579503331460706108845276667539851383951677101866318054692868580314992970494538264431231619528455898575083392036119141922761106728189212855704535714492111502479969481286612124114843293428249633233461529712985461921558487836390801548067410908205926772630226023152702376013735945788345218685974887390875125674494911507360154424211556873810914633847909057149696935426558559017770153832294720567338771359684425121472691767344021192964305444514554834134306432134623766272407101505058206433178827565112737022494931255219946897404334713837185094901975300320214518270890802522820113782745255241482412754382823486718288040156084305686182977200660279782927247409975773423929107324688677681580837770573570108862638826418460229802194737535664915247809256748687153910381819346958366439985109459607388881181875587248977547189583831877181800491341771169544142639889060283036918865885138859311923816612329414989940136770591843557206765998825633271645773576689599235545649650648858519436352023791654381707954546074472626110079461940663921767405962563544094356853765403347224693702269552525258465195543364872305124343321432427796365685814381001505298455566130541718088704116909876378780091535597251895696667910241747038048855000566700122381584074729002489719504278776855811176354099803237953908495862458325690082207818864047759221355532171065000880066291506396902967239587842530079393459032744034050419616952078199276607834164367591371590432835534442702297700869169309144605187503917516961340895433513260671689078256550093403549504834451707946377560542575046983913686372374153943884623812833368043833063817963454493128110499388238909070598834557734761683929918415782408054166053327607347163400611119501219495559094420178800429586197634987266587797018142013335330986380345029446129548785825551042298384630160197184730839465541824997049822125732303143428416019118353033838420256744235135833185679919646234077953730438522588129802419358653721619346213183280976695552576277279472611382515175786458399353549766467156221893362436933351664262044071608817230069121545469781362668823078009092742294555416487125322455526901538944557124188002352647742670466348523983048810782530696274664410815109166178869807320650482252314472864732683457741000021249476391902341447986127243 31552673494507818224103326103056335447248967958099527141348930112493725570439214317884947935930050487324426971403244449128528524096336764686756329738191644582972443559601435106105399572620785705394762450068923142738416386778246758263739909124986847640865587716788868261561608054162759343114986064493779668507904898859237106870521373948685855128644777782499394280968147142738372429429584666515244591679491812515563616052042535061591875807917680017829058597136406501439196164133013036359230184563950144942765500015481981702815240491679910003307948367019742980562336942196125575624785723513158680061504539451519182646584891606905984443610584451755386357853950464068754664652663987558942825614277638369619584236941465902657787016597888376720960856793642267968970524150794691519324434214721838595147932743450430276376844495122053259989647424766574743888222872594906038994120734798218818182994863621725594175809840553115635780240481513561760990149515887434969644787868998692116934681311938342771225071344363266023771575784083652982300524964635599397480629794372773460406554798055435434407275736325709013299556044051310225404242924658026112804814212539097604447257377445252916462914770954671310753733948726410405678700896286196346772945550229924970751659323123404230316477339026878408906981902365640054395696392908038727838471568309266872681698753830028010196514235988380330856983750840172728482548944461631549213458756788872117599081066084883594541564961861208954468425479170964160950394717323226349577637899936812037194171569271486289082598612133622944763071912119127408623391020611100993387949735836086451763514847283111031793748011459627763154061727908793854161099324346576684586429482438308274213201784500096533490025634162048075368813535919008791366452533024506402943518676181941922701578714849327081785260857434060312116601056535214323493403356959617742595890469584538878167062858819493219245248481370506606969191847738211294221489332645468607002262294478708888282161577436704159460415906571196940522109747477227074804594165878372505554277353445902382533764598454870223779876233697150441032437237188931677114255304571614168425845274289763955992264041568396435337419631308799790137526003643399247863936646586538302348453526752945279194534931602377831182500748321779036787491652300663469706437455687154689628358289219030141429062501232453857399257281587702222307910430703502300220729013461098685478846677106322724431893927755832211937210804148429275593197624287467571448806252069471502428475605985019858053878633454039483869324078931326705856648278642966988034256976024831335336601715826374155339644697211078862575998369855559955845854148520412201065742922053876148912153341009152549402384578154401401852846684581607291979532802779247376423674462932043026243023049301779767255012997790451574614460269429443963343919412574502828477402266421638105703612246268992215951904033731654536708847875094332608563765400101958893645825369808054182156919290508365193123291971683323477385090578733459765211540670643539515785858357419875051996785195979411668867104957866557167019566702480487049084369345919159436487557985744833330228350766614947017316667336749182109984827683373612429927434823786012803249917392412777149204513415535500044245220334277766257684942838966591454803738741033313924507308132426427605504840208832076369364 51053298150041568518937813226582266161016005098821009266125103063743627720391000580294096325645089435158709827654765858370022468121906065108490377354673216972573146050786384836045695816040635879483817023769343881716395992443691868566140293142424934431333326059710573420435772525860188990975642634140384696342757427770465087110627577320690894066511410679654979276023960093224482524932148151849458991918398474943313382899747571542532135104172878561014093029799589732238636093489378260408560219841257009294359067848539983699074228918522526433419594566634244735330623782083198277601328366398561430369876904211358118641272654442936484478036860623573988548140461648145487099424940289079235216771453569576640591918545104086224038463763547666588201439701620058476212827395815002567890306191054890807800102159539564535107049061145451883701197053450845021933825528973309766713969796802013759664732140176511594362667191207845423198742839970833022030107684447482142531201850787908937916011354314732757248221079039856295429626521376614873586694944921550761370981790288771970613461583634938765867981845170985680839407428002987327270560979350894693119807183033635868878488996973708815037998162990790452676495055454599618534405432000688458275425519711211582875774166416832479949710800556591394368903460853476445197244460318946933765244198535290025384074767565973798541732921963267721732109425335084235842703368673188423024373390636781174748778001511442153559335115693503675035764250530648586071867409090570370770602205381326592028305875703620912848871019235128002969505090946692521360413515542356213334847140170800288948609749258411352008266282350430285974175510654049095643512078729400171304717522594392579899384761700756813272952881572023848792742643243697469048033370795079973052381315008360382931380909586862746700508666690808999270511438354561281859843342069077349984771651460126127144610048403325096427048972712277776513334487627271577258408198530607466314186111091038303272101714207296003017622672570022573793755521053916674040139815529021364073713705469694036915472553000944696405986313159091104954204643151495221208612158337017515650538976559316481250729237111761307642543974630232217933891689457780249369235102152668844066542230869855155573315023137975083078197416232020783825540507301230169828819039761883692118077793497806997240238855332257095353165777450160547997992638522366347979950368993269750479726743397829121334861167343674742016604263181173309643617241239545770725414086233839093800066038820554300756176334323208793013929266435244222817989174076480248705946054281381428740151220660825863286022257753653909559912056227934109789738772333245569109575985871839603405281451508540788311455176988959136614530614500023074387586968832574983770837863543162527462518608396199946055442583988086561881048066447585976679250398954847857923531815207463656745910630899152413136634873197196361705897697220064911707193816121077246679663790064798417292752476188284839357369925413761999973220381152818418933160016856722796762553909996152331469396578494587455325504311416323634175788595842923982436033607963231045304788054866378800009713435438025026409409631304598597110150138900513968871991947974015155897660062879125673187562226318030740519884745092875423863812646287241937056053213898046607965049132447677081896742550280062496607 82605971644549386743041139329638601608264973056920536407474033176237353290830214898179044261575139922483136799058010307498550992218242829795246707092864861555545589610387819942151095388661421584878579473838267024454812379221938626829880202267411782072198913776499441681997380580022948334090628698634164364850662326629702193981148951269376749195156188462154373556992107235962854954361732818364703583597890287458876998951790106604124010912090558578843151626935996233677832257622391296767790404405207154237124567864021965401889469410202436436727542933653987715892960724279323853226114089911720110431381443662877301287857546049842468921647445075329374905994412112214241764077604276638178042385731207946260176155486569988881825480361436043309162296495262326445183351546609694087214740405776729402948034902989994811483893556267505143690844478217419765822048401568215805708090531600232577847727003798237188538477031760961058978983321484394783020257200334917112175989719786601054850692666253075528473292423403122319201202305460267855887219909557150158851611584661545431020016381690374200275257581496694694138963472054297552674803904008920805924621395572733473325746374418961731500912933945461763430229004181010024213106328286884805048371069941136553627433489540236710266188139583469803275885363219116499592940853226985661603715766844556898065773521396001808738247157951648052589093176175256964325252313134819972237832147425653292347859067596325748100900077554712629504189729701612747022262126413796720348240105318138629222477444975107201931469631368750947732577003065819929983804536153457206722796876006886740712124596541522383802014293810058049128237238562842949804611403075976855891147005032700854112586546200853346762978515734071924161556179162706260414485903819586375995899991190302305632959624436189828485769524124869311387112494889775605353246699028695092580662121044665005311672907222818315672297454082784383482526335365482871479897531176076073316448405569747191554263291644000162478038579141219514315865268531143748844733981407393869627991058915596419449237151455814920185862546856241545986641880340426898322867462908631684076384250849080437242993278680157742979963605939032008071417693101179497233171748739207146414995757622800434767849954740352914260698164553799820613032159601893639535256495449038381746436082716837138669301356564710952752423059037862770305903069225868648200679382454368435958573420504151845766755095099506953953815067329602585236814865527013342174220338303310596228541644805574158810054967777248276883253345366570928674637452719447236740203030306212764076752936487200018625666954964732772135910426083494065635592920853657770175318907925715752317434792517693337713839755143360538467377299081630366367119771611822360194512326475205553705541657697979713310455581778538136495508335877029940023169811529350686400934081629101762449522877168144629088538906928850898414745572314397520270959216223036140325489159872852599449671766696650032480661897097085477358310959886278184144700687500262312548412267416027383466181774473999124192609269282880801195355298323411031520402953882390481792346040611212130238064202052972043726076968053780707094977822274126398799426771760027959147577455291902822392075641853530784765105079370641681548755485253833391859791954931360532472357264874104687401582759112138865971 133659269794590955261978952556220867769280978155741545673599136239980981011221215478473140587220229357641846626712776165868573460340148894903737084447538078528118735661174204778196791204702057464362396497607610906171208371665630495396020495409836716503532239836210015102433153105883137325066271332774549061193419754400167281091776528590067643261667599141809352833016067329187337479293880970214162575516288762402190381851537678146656146016263437139857244656735585965916468351111769557176350624246464163531483635712561949100963698328724962870147137500288232451223584506362522130827442456310281540801258347874235419929130200492778953399684305698903363454134873760359728863502544565717413259157184777522900768074031674075105863944124983709897363736196882384921396178942424696655105046596831620210748137062529559346590942617412957027392041531668264787755873930541525572422060328402246337512459143974748782901144222968806482177726161455227805050364884782399254707191570574509992766704020567808285721513502442978614630828826836882729473914854478700920222593374950317401633477965325312966143239426667680374978370900057284879945364883359815499044428578606369342204235371392670546538911096936252216106724059635609642747511760287573263323796589652348136503207655957069190215898940140061197644788824072592944790185313545932595368959965379846923449848288961975607279980079914915774321202601510341200167955681808008395262205538062434467096637069107767901660235193248216304539953980232261333094129535504367091118842310699465221250783320678728114780340650603878950702082094012512451344218051695813420057644016177687029660734345799933735810280576160488335102412749216892045448123481805377027195864527627093434011971307901610160035931397306095772954298822406403729462519274614666349048281306198662688564340534023052575186278190815678310657623933244336887213090041097772442565433772504791132456282955626143412099346426795062159995860822992754448738305729706683539630634516660785494826365005851296165495661251711242088109620789585060422884873796936415233701704764385290456364709704456759616591848860015332650940846523491922119531479621245649199726923227408396918493722515791919050622507580569264226005309382558959746602406850891875990481537988492655590341164977878327997338895580785820604438572666903123809364075535210922073864513876214644135909540211896968048105588836488023318303895707748234996180629751447638186438300163901980967101616262443181695970419330510775894880432106766559112899634424537149690028607683626128459566231302100457069897182611801815151492626626795927485446149084587594192816904157148025881911689212718386681695822482311428175425331693186903339284894893797555355722716244026234126025294932132319675081907913581653440754706740444397343965350190018368081168060266094179659365898165766624698376556402324615916702420210484198544324465896836565419195433508067297042225173780126047260120643269534462431978153032344113387005152949937651016742424242884934871838031822510847477331531341039096603077860704356985109310966177412179714935578352968586579518113580699204435371143894166335013956436561845621527097134095477590930247777637490997070135486599358379304205127961174640367671418719734043115045237518171028495579637868171561525284989824463517105412568131541075328915845168829407140437406397321781769298325309392201362578 216265241439140342005020091885859469377545951212662082081073169416218334302051430376652184848795369280124983425770786473367124452558391724698983791540402940083664325271562024720347886593363479049240975971445877930626020750887569122225900697677248498575731153612709456784430533685906085659156900031408713426044082081029869475072925479859444392456823787603963726390008174565150192433655613788578866159114179049861067380803327784750780156928353995718700396283671582199594300608734160853944141028651671317768608203576583914502853167738927399306874680433942220167116545230641845984053556546222001651232639791537112721216987746542621422321331750774232738360129285872573970627580148842355591301542915985469160944229518244063987689424486419753206526032692144711366579530489034390742319787002608349613696171965519554158074836173680462171082886009885684553577922332109741378130150860002478915360186147772985971439621254729767541156709482939622588070622085117316366883181290361111047617396686820883814194805925846100933832031132297150585361134764035851079074204959611862832653494347015687166418497008164375069117334372111582432620168787368736304969049974179102815529981745811632278039824030881713979536953063816619666960618088574458068372167659593484690130641145497305900482087079723531000920674187291709444383126166772918256972675732224403821515621810357977416018227237866563826910295777685598164493207994942828367500037685488087759444496136704093649761135270802928934044143709933874080116391661918163811467082416017603850473260765653835316711810281972629898434659097078332381328022587849270626780440892184573770372858942341456119612294869970546384230649987779734995252734884881353883087011532659794288124557854102463506798909913040167697115855001569109989877005178434252725044181297388964994197300158459242403672047714940547622044736428134112492566336740126467535146095893549456137767955862848961727771643880877846543478387158358237320218203260882759612947082922230532686380628297495296327973699830852461602425486058116204171729607778343809103329695823300886875813946855912574536777711406871574196927488403832349017854347084154280883803307478257477355736715794472076793602471186508296234076727075660139243835578599631083136896533746115456025109014932618680911599593745339620425051604826505017448899332030659960455610949958931481274578841568461679000858011895525886088609798776974103644381309133902006622396873584406132812868371357542688649924234397840378480117246972293572455073854762840460286257149328431702618376286269877705346780435957168386080167264079515374722186352114893806956893657093635225900537356167683119453831732908394922241060924614040561109460213801723271108040151036543927463739134687275680213549285212663283807121826512056219704159862516493573634873601923792159372676353747545162834872064738201645856725590022013549230725399978465667181644956385235441671313712687054898158535388841848859952249112248567149527330642109810503616192096009581584904318693719607932954689842300925374787222561391857247421859378444828207098401760127442585703710722849982085236566499192489746045476839515728012008889480136088803060485841839543969113861563567412160011300105783448766766470845491494071074192814973462931317971713510025092310050094903834158786961323616794908720775637123760767672909763662195886456699908068504340228549 349924511233731297266999044442080337146826929368403627754672305656199315313272645855125325436015598637766830052483562639235697912898540619602720875987941018611783060932736229498544677798065536513603372469053488836797229122553199617621921193087085215079263393448919471886863686791789222984223171364183262487237501835430036756164702008449512035718491386745773079223024241894337529912949494758793028734630467812263257762654865462897436302944617432858557640940407168165510768959845930411120491652898135481300091839289145863603816866067652362177021817934230452618340129737004368114880999002532283192033898139411348141146117947035400375721016056473136101814264159632933699491082693408073004560700100762992061712303549918139093553368611403463103889768889027096287975709431459087397424833599439969824444309028049113504665778791093419198474927541553949341333796262651266950552211188404725252872645291747734754340765477698574023334435644394850393120986969899715621590372860935621040384100707388692099916319428289079548462859959134033314835049618514551999296798334562180234286972312341000132561736434832055444095705272168867312565533670728551804013478552785472157734217117204302824578735127817966195643677123452229309708129848862031331695964249245832826633848801454375090697986019863592198565463011364302389173311480318850852341635697604250744965470099319953023298207317781479601231498379195939364661163676750836762762243223550522226541133205811861551421370464051145238584097690166135413210521197422530902585924726717069071724044086332563431492150932576508849136741191090844832672240639545084046838084908362260800033593288141389855422575446131034719333062736996627040700858366686730910282876060286887722136529162004073666834841310346263470070153823975513719339524453048919074092462603587627682761640692482294978858325905756225932702360361378449379779426781224239977711529666054247270224238818475105139870990307672908703474247981350991768956508990589443152577717438891318181206993303346592493469361082563703690535106847701264594614481575280224337031400587686177332178656560369334153369560266886906847868334927324271137385826705399930083530230705665874274230438310263995844224978767077560460082036458219098990437985450522959127378071734608111615450179910497008908938489326125441029490177493408141258263407565870882529475463835146125410488381780358647048963600732013909406913694484722338640561938885349644808835173748308113779969987619985870345894653728351154374997679079060131567973489187377609976285757012057831077942517571978162416677618568970201231659890706311302207632501199481401149710561250783251782449045380401506135527555390706350416486256307227464448745108695520826463762867280570161589764429619407999888631193126244937247876533252500617048125212706511941716041662189886339032042251913311787533248621140526261773428010232497747775049865875302232600840389893302738713538886467180945418656032111383322384227265280911262914335795059748154632934520252466519776156725542118780432021373641964471390300422096214232531170344622240386813337338480411172283228836430681289671937643086656081059433276077573633535986614231566393990733619477034966183997050166770539315505233744623407134142264211228114189238052491633959813551351378196653835335084728297675892373891748335984049691482292590174813347170059517668225998233377896541591127 566189752672871639272019136327939806524372880581065709835745475072417649615324076231777510284810967917891813478254349112602822365456932344301704667528343958695447386204298254218892564391429015562844348440499366767423249873440768739847821890764333713654994547061628928671294220477695308643380071395591975913281583916459906231237627488308956428175315174349736805613032416459487722346605108547371894893744646862124325143458193247648216459872971428577258037224078750365105069568580091265064632681549806799068700042865729778106670033806579761483896498368172672785456674967646214098934555548754284843266537930948460862363105693578021798042347807247368840174393445505507670118662842250428595862243016748461222656533068162203081242793097823216310415801581171807654555239920493478139744620602048319438140480993568667662740614964773881369557813551439633894911718594761008328682362048407204168232831439520720725780386732428341564491145127334472981191609055017031988473554151296732088001497394209575914111125354135180482294891091431183900196184382550403078371003294174043066940466659356687298980233442996430513213039644280449745185702458097288108982528526964574973264198863015935102618559158699680175180630187268848976668747937436489400068131908839317516764489946951680991180073099587123199486137198656011833556437647091769109314311429828654566481091909677930439316434555648043428141794156881537529154371671693665130262280909038609985985629342515955201182505734854074172628241400100009493326912859340694714053007142734672922197304851986398748203961214549138747571400288169177214000263227394354673618525800546834570406452230482845975034870316101581103563712724776362035953593251568084793369887592946682010261087016106537173633751223386431167186008825544623709216529631483171799136643900976592676958940850941537382530373620696773554747096789512561872345763521350707512857625559603703407992194681324066867642634188550755246952635139709229089174712251472202765524800361121850867587621600841888821443060913416165292960592905817468766344089353624033440361096410987064207992603416281908690147271673758481044795823331156620155240173789554210967333538183923351629967154104736072637827449953585856694158763533879238234273564050154042264274605480723567640559194843115689820538083071465061454541782319913158707162739596530842985086413794077606685067223348820326049821612627539795495523493261696442284943248019251651431232047332714246592838358977528558995818888126191532855114926051353704023047343950218070262542906340489533696318803841855867763458054526138587311827154785826676929818853314375208106604218344418477682986401548084625589359288299101272657547180921268025558205322497244097571803018317114089053503564306683680102180478338908221054998359764556836752285075223005515350915264113678498404718605660856950368120685878727907630153600254511297005775265853767899782485346278538180384852599154235843577191420953232182336476377529478412441666437169558658249126616262048104680475419261726713386711215942889846177522983488071479953029723067068593911739098607853757986939559280663374908504142279145827104910115593301645544876094367655197051219461316578935297858613734182699326805339528072173900613109702722185263430867465096891131523064888221746145385179632131834679335215365130892770467119416350942486256933721713554682698141446400881819676 916114263906602936539018180770020143671199809949469337590417780728616964928596722086902835720826566555658643530737911751838520278355472963904425543516284977307230447137034483717437242189494552076447720909552855604220478995993968357469743083851418928734257940510548400558157907269484531627603242759775238400519085751889942987402329496758468463893806561095509884836056658353825252259554603306164923628375114674387582906113058710545652762817588861435815678164485918530615838528426021676185124334447942280368791882154875641710486899874232123660918316302403125403796804704650582213815554551286568035300436070359809003509223640613422173763363863720504941988657605138441369609745535658501600422943117511453284368836618080342174796161709226679414305570470198903942530949351952565537169454201488289262584790021617781167406393755867300568032741092993583236245514857412275279234573236811929421105476731268455480121152210126915587825580771729323374312596024916747610063927012232353128385598101598268014027444782424260030757751050565217215031234001064955077667801628736223301227438971697687431541969877828485957308744916449317057751236128825839912996007079750047130998415980220237927197294286517646370824307310721078286376877786298520731764096158085150343398338748406056081878059119450715398051600210020314222729749127410619961655947127432905311446562008997883462614641873429523029373292536077476893815535348444501893024524132589132212526762548327816752603876198905219411212339090266144906537434056763225616638931869451741993921348938318962179696112147125647596708141479260022046672503866939438720456610708909095370440045518624235830457445762232615822896775461772989076654451618254815703652763653233569732397616178110610840468592533732694637256162649520137428556054084532090873229106504564220359720581543423832361388699526452999487449457150891011252125190302574947490569155225657950678216433499799172007513624496223663950426883121060220858131221242061645918102517800013169048794614904188481314912421995979868983495699753518733360958570928904257777392496998673241540171259976651242843516831940645387892664158258480891292626000494954141050863768889589225904197592415000068482052428720663417154240799992098337224711549500677001391652677215331679256009374753612698729476572397590502484031959813321299965426147162401725514561877629223732095555605129178973098785213359553704902437187746418780925505186904601296240067221081022360372808346597514429341713541854542687230112605130413835591020833137595680238828663352547364774261321413834030180135673095108788543487045492137979137451354513856609256314779595201729465435446928486131724886843689807623074033437228495490006950431192764924035565885597684250643267993926091679990811671465153158302874893017057453800410287929517457066956926303564837436760857574168737901369307019254169403581610487009044780825131729070132383325736171840919098391485621416788995847453064615504720703642810389675356002232229306812882061136514514624456632144803845493818732589584854317567823405584285712484200067689308980725076437088264930270168395711344664580441785365801908164343391670875279080862708599221591041953080793613901481855663900953238642310573272695581034755373913950299452668919956730850945074416266418399980720264360429510571709107113466876820158601708941117299604103781231222908696374824297423410803 1482304016579474575811037317097959950195572690530535047426163255801034614543920798318680346005637534473550457008992260864441342643812405308206130211044628936002677833341332737936329806580923567639292069350052222371643728869434737097317564974615752642389252487572177329229452127747179840270983314155367214313800669668349849218639956985067424892069121735445246690449089074813312974606159711853536818522119761536511908049571251958193869222690560290013073715388564668895720908097006112941249757015997749079437491925020605419817156933680811885144814814670575798189253479672296796312750110100040852878566974001308269865872329334191443971805711670967873782163051050643949039728408377908930196285186134259914507025369686242545256038954807049895724721372051370711597086189272446043676914074803536608700725271015186448830147008720641181937590554644433217131157233452173283607916935285219133589338308170789176205901538942555257152316725899063796355504205079933779598537481163529085216387095495807843928138570136559440513052642141996401115227418383615358156038804922910266368167905631054374730522203320824916470521784560729766802936938586923128021978535606714622104262614843236173029815853445217326546004937497989927263045625723735010131832228066924467860162828695357737073058132219037838597537737408676326056286186774502389070970258557261559877927653918675813901931076429077566457515086692959014422969907020138167023286805041627742198512391890843771953786381933759293583840580490366154399864346916103920330691939012186414916118653790305360927900073361674786344279541767429199260672767094333793394075136509455929940846497749107081805492316078334196926460488186549351112608044869822900497022651246180251742658703194217148014102343757119125804442171475064761137772583716015262672365750405540813036679522394365369743919073147149773042196553940403573124470953823925655003426780785261654086208628181123238875156258684774419197379518260769449947305933493533848683627318161135019916382236505030370136355482909396034276456292659336202127302660282528291217753593409660305748163863392933151533664103614403868937459981589637511447866174284508352018197307073512577534164746519736141119879878674249273848399563525977575458985113550831043655927282696055246896568569596728388550014655469055563938573742133234458672588886758932568499648291423301338780622828477999299148606825987093500397960681008115223210448434923852947671299268413736606965646705575042988337532429980734220085227531181767539614068177087813750501371569693036898470580125255689897943593727621247375855314200277964656067270207828231817362918997939620207148421848476570757314246131988908895731580618149763515565155753690009021607368903914798339696771558232775360092992149804061379357873252781614290552695363152522972417872190417243335841479463235025688269489992897982077033735210741520341786600397582838032165811082450379099483244084775652632573038874017847687057180020339868087797668669398865471131187752776562729137107564065572207205443805527744163745346389072357192437229790756377574636815535696118688257107954992008039488945927644947735269253507264176924625738802966876788093172542110192836779714277635135937969115912800767754935368483616672484716099787421827742076597481154640146126105443992561345251044322478597769590625721125292059785861037502944777591394516270698305230479 2398418280486077512350055497867980093866772500480004385016581036529651579472517520405583181726464101029209100539730172616279862922167878272110555754560913913309908280478367221653767048770418119715739790259605077975864207865428705454787308058467171571123510428082725729787610035016664371898586556915142452714319755420239792206042286481825893355962928296540756575285145733167138226865714315159701742150494876210899490955684310668739521985508149151448889393553050587426336746625432134617434881350445691359806283807175481061527643833555044008805733130972978923593050284376947378526565664651327420913867410071668078869381552974804866145569075534688378724151708655782390409338153913567431796708129251771367791394206304322887430835116516276575139026942521569615539617138624398609214083529005024897963310061036804229997553402476508482505623295737426800367402748309585558887151508522031063010443784902057631686022691152682172740142306670793119729816801104850527208601408175761438344772693597406111942166014918983700543810393192561618330258652384680313233706606551646489669395344602752062162064173198653402427830529477179083860688174715748967934974542686464669235261030823456410957013147731734972916829244808711005549422503510033530863596324225009618203561167443763793154936191338488553995589337618696640279015935901913009032626205684694465189374215927673697364545718302507089486888379229036491316785442368582668916311329174216874411039154439171588706390258132664512995052919580632299306401780972867145947330870881638156910040002728624323107596185508800433940987683246689221307345270961273232114531747218365025311286543267731317635949761840566812749357263648322340189262496488077716200675414899413821475056319372327758854570936290851820441698334124584898566328637800547353545594856910105033396400103937789202105307772673602772529646011091294584376596144126500602493995936010919604764425061680922410882669883180998083147806401381829670805437154735595494601729835961148188965176851409218851451267904905375903259951992412854935488261231211432548995146090408333547288335123369584394377180935555049256830124139848118402740492174779462493069061075963101803438362338934736209601932307394912691002640363518075912683696663051508045047579959911386926152577944350341087279491227866646066422605701946555758638015033921334294014210169052525070876178433607178272247392039346647205300397868754534004135953621828454243911366489494758967338455052172557417679245971835276907315340136312181375205089010225409430740200233045584263244841446669523928123729400716356164398801245770102635204721562342088426619233777534821936613857295405056889039132975678716518805614055378259005572106184882773945642934789512482590340039552158867040083803821269214537660748145798671744353105651082040429484829116720808173278240320809194426170859299917236246437316821228529386567425529311908164549136818622220018581635570397069421568886327082463191777883663150257763153670901628172284013248889291077353593739708869417701024176395112598481313169794656642904921429858445686555361891972784383618527276350703352704069387713010749643433596898935052203706601511566098379135125622903806738261569941536089176611426486073463335970123857530622784168768707378558593021671897421058546106825708352990855822753429592064646410784322834233177085465141284176000500090891094995728641282 3880722297065552088161092814965940044062345191010539432442744292330686194016438318724263527732101635502759557548722433480721205565980283580316685965605542849312586113819699959590096855351341687355031859609657300347507936734863442552104873033082924213512762915654903059017062162763844212169569871070509667028120425088589641424682243466893318248032050031986003265734234807980451201471874027013238560672614637747411399005255562626933391208198709441461963108941615256322057654722438247558684638366443440439243775732196086481344800767235855893950547945643554721782303764049244174839315774751368273792434384072976348735253882308996310117374787205656252506314759706426339449066562291476361992993315386031282298419575990565432686874071323326470863748314572940327136703327896844652890997603808561506664035332051990678827700411197149664443213850381860017498559981761758842495068443807250196599782093072846807891924230095237429892459032569856916085321006184784306807138889339290523561159789093213955870304585055543141056863035334558019445486070768295671389745411474556756037563250233806436892586376519478318898352314037908850663625113302672095956953078293179291339523645666692583986829001176952299462834182306700932812468129233768540995428552291934086063723996139121530227994323557526392593127075027372966335302122676415398103596464241956025067301869846349511266476794731584655944403465921995505739755349388720835939598134215844616609551546330015360660176640066423806578893500070998453706266127888971066278022809893824571826158656518929684035496258870475220285267225014118420568018038055607025508606883727820955252133041016838399441442077918901009675817751834871691301870541357900616697698066145594073217715022566544906868673280047970946246140505599649659704101221516562616217960607315645846433079626332154571849226845820752545571842565031698157501067097950426257497422716796181258850633689862045649757826141865772502345185919642599120752743088229129343285357154122283208881559087914249221587623387814771937536408285072191137615563891493960840212899683817993853036498986762517545910845039169453125767584121437755914188358349063970845087258383036614380972527085454472350721812186069161964851039927044053488142681776602339088703507242607442173049146513947069475829505883335701630361179444079790217310603920680266862513858460475826409656801262085177571395998865333740705698358549762649227346402056752307191582665757908495574304101757747600406016778401816011127400567667493948914819157187313223181241571802738621161715421571925213826067323128337603540254115446048067291271991770170320243982152775474442143762279143881627646353379107667625414537194673528022521137261938572782967250303693427280930036811110391642400176795971073275917018621398580286034905801014234563401902701307138051509119719784044220114440349292815218323471052031970049728354025926894746196714947901072599118064879655172722054141925201100310878835063683490125850951339571027037755144436642067640082730847272934989908229620200640342645058516183729000097358659649202064129998707508480502306784384305695360743558333640655697378702850406199229128332340314532975167228298165013999575041284219171225114580542398874231090905492341147295268884868494800386335098269378575698692232931152345552201073797752070662416001410043959525236871326178787120778091485407365694033871761 6279140577551629600511148312833920137929117691490543817459325328860337773488955839129846709458565736531968658088452606097001068488148161852427241720166456762622494394298067181243863904121759807070771649869262378323372144600292148006892181091550095784636273343737628788804672197780508584068156427985652119742440180508829433630724529948719211603994978328526759841019380541147589428337588342172940302823109513958310889960939873295672913193706858592910852502494665843748394401347870382176119519716889131799050059539371567542872444600790899902756281076616533645375354048426191553365881439402695694706301794144644427604635435283801176262943862740344631230466468362208729858404716205043793789701444637802650089813782294888320117709187839603046002775257094509942676320466521243262105081132813586404627345393088794908825253813673658146948837146119286817865962730071344401382219952329281259610225877974904439577946921247919602632601339240650035815137807289634834015740297515051961905932482690620067812470599974526841600673428527119637775744723152975984623452018026203245706958594836558499054650549718131721326182843515087934524313288018421063891927620979643960574784676490148994943842148908687272379663427115411938361890632743802071859024876516943704267285163582885323382930514896014946588716412646069606614318058578328407136222669926650490256676085774023208631022513034091745431291845151031997056540791757303504855909463390061491020590700769186949366566898199088319573946419651630753012667908861838212225353680775462728736198659247554007143092444379275654226254908260807641875363309016880257623138630946185980563419584284569717077391839759467822425175015483194031491133037845978332898373481045007894692771341938872665723244216338822766687838839724234558270429859317109969763555464225750879829479730269943773954534618494355318101488576122992741877663242076926859991418652807100863615058751542968060640496025046770585492992321024428791558180242964724837887086990083431397846735939323468073038891292720147840796360277485046073103825122705393389208045774226327400324834110132101940288025974724502382597708261285874316928850523843433338156319458999716184410889424389208560323744493464074655853680290562129400826378439653847133751087202518829099201724458297410563108997111202347696783785146026345975948618954601601156528068629528351480532979695692355843643390904680387910998756418517183231482355678580761435494032247403254541642556809920157823696024373651288034715907803806130290024246197538632611981772035784205424960263018594737754191052529053959704652916691818169926476713332512408670601386553009264080376136439286684535392512083346341933342808728906281526709368123455556912893238482939763520376850662550509440260599792342490454679369544378957779258906665316603831387530423858859682397960104853414540611208592732454569908368853198579114921451456206654361264084719694819136646515225569791475710811528182774070612947346640383614105010472655210039157685531358717436324586981804407609253796595752941126371685978385643002280089507647750685360599481264885925311660656398713447627721353666447022136447305134281332038941826099073546363423787917806313302854160707314291191968884947694426875616198677918053053637202178944928119941275996757238339756860698543056896551181662727062412194366793758413956791320071296778591576298460689762513043 10159862874617181688672241127799860181991462882501083249902069621191023967505394157854110237190667372034728215637175039577722274054128445432743927685771999611935080508117767140833960759473101494425803509478919678670880081335155590558997054124633019998149036259392531847821734360544352796237726299056161786770560605597419075055406773415612529852027028360512763106753615349128040629809462369186178863495724151705722288966195435922606304401905568034372815611436281100070452056070308629734804158083332572238293835271567654024217245368026755796706829022260088367157657812475435728205197214154063968498736178217620776339889317592797486380318649946000883736781228068635069307471278496520155782694760023833932388233358285453752804583259162929516866523571667450269813023794418087914996078736622147911291380725140785587652954224870807811392050996501146835364522711833103243877288396136531456210007971047751247469871151343157032525060371810506951900458813474419140822879186854342485467092271783834023682775185030069982657536463861677657221230793921271656013197429500760001744521845070364935947236926237610040224535157552996785187938401321093159848880699272823251914308322156841578930671150085639571842497609422112871174358761977570612854453428808877790331009159722006853610924838453541339181843487673442572949620181254743805239819134168606515323977955620372719897499307765676401375695311073027502796296141146024340795507597605906107630142247099202310026743538265512126152839919722629206718934036750809278503376490669287300562357315766483691178588703249750874511522133274926062443381347072487283131745514674006935815552625301408116518833917678368832100992767318065722793003579203878949596071547190601967910486364505417572591917496386793712933979345323884217974531080833672585981516071541396726262559356602098345803761464315107863673331141154690899378730340027353117488841369603282122465692441405013710398322166912543087838178240667027912310923331193854181172444144205714606728295027237717294626514680534919778332768562557237210719389014199354229420945458044321253361333096894619486198871013893955508365292382723630231117208872907404183243577842036330565383416509843680911045556679533236620704720217606182888969060216256186222454594445126271272250870972244480038938502994538049327144964590106136193259222875281868019041927090004177890189780957777533415039389770014128616697114968279832458828757735333068627076698005311750115946658567667758229712802775467299162116475471300079204843403384851855793223343838522826586675684590519951580258375657391563244907032137866237217748705102682728914583539328483706224138415583168312181745891191013967347880003402434304047846630062028339880143542176367044450413661772942151840437395763415766371697990942959243814164707679551167233290231730996911191517679888897634655051557885547672893379420885168628843275477383101400557979032620767418254711394880742513529852736729283084949448011030130509465056350043682247794302122173426357519055434254739397517483416796393283771430202162114643099638749156849814815359306989745388232096044962094074191186054994322144400839297711333510460371282140632048713591721952931805888344138379878539405772511283821925517781108539825213321938505696979331263218210654572455930572688013044095257970348933733389478413604410753283650828117498858417556683061705826383796384804 16439003452168811289183389440633780319920580573991627067361394950051361740994349996983956946649233108566696873725627645674723342542276607285171169405938456374557574902415834322077824663594861301496575159348182056994252225935447738565889235216183115782785309603130160636626406558324861380305882727041813906513000786106248508686131303364331741456022006689039522947772995890275630058147050711359119166318833665664033178927135309218279217595612426627283668113930946943818846457418179011910923677800221704037343894810939221567089689968817655699463110098876622012533011860901627281571078653556759663205037972362265203944524752876598662643262512686345514967247696430843799165875994701563949572396204661636582478047140580342072922292447002532562869298828761960212489344260939331177101159869435734315918726118229580496478208038544465958340888142620433653230485441904447645259508348465812715820233849022655687047818072591076635157661711051156987715596620764053974838619484369394447373024754474454091495245785004596824258209892388797294996975517074247640636649447526963247451480439906923435001887475955741761550718001068084719712251689339514223740808320252467212489092998646990573874513298994326844222161036537524809536249394721372684713478305325821494598294323304892176993855353349556285770559900319512179563938239833072212376041804095257005580654041394395928528521820799768146806987156224059499852836932903327845651417060995967598650732947868389259393310436464600445726786339374259959731601945612647490728730171444750029298555975014037698321681147629026528737777041535733704318744656089367540754884145620192916378972209585977833596225757437836654526167782801259754284136617049857282494445028235609862603257706444290238315161712725616479621818185048118776244960940150782555745071535767147606092039086872042119758296082809463181774819717277683641256393582104279977480260022410382986080751192947981771038818191959313673331170561691456703869103574158579019059531134289146004575030966561185367665405973255067619129128840042283283823214136904747618628991232270648653686167207026721426486896988618457890963000644009504548046059396750837521399897301036046749794305934232889471369301172997311276558400508168312289795438655910033356205681647645100371452595430541890602047500105740397023928749736132482169207841829883469175569995719532529370722760653469889258682780674694516527695871386797015690311113413913830062570730252715004657589215377587916053408827149118587196832383275106209494867649582390488405205115874307032011635947609114689334449428186445522949559948829684407144225418435195137585184925881492970304514552022454996717138403274360309281222812131340585574555998185483896793036780659306807970790512435492661280697995555758256826377360487338201593423614344867771064677762154855770873915639993751049195662766478280127463287789738367207958196928839308054919243117340462237391357910106312305005563548257465859020060958376770893079161360516337457833459807704785074955380021236543805126737213392146224897801888140500286101918838664497565500719906471010274157407705618492787638813776347988591422975745016467791792410223966731122259955145740849612201646992540585853696964480168769619944656724738503131374992142899158276191338151930569213168912444873742638314866900115396116540825798777547042064784908818929714335274638004287073558897847 26598866326785992977855630568433640501912043456492710317263464571242385708499744154838067183839900480601425089362802685252445616596405052717915097091710455986492655410533601462911785423067962795922378668827101735665132307270603329124886289340816135780934345862522692484448140918869214176543609026097975693283561391703667583741538076779944271308049035049552286054526611239403670687956513080545298029814557817369755467893330745140885521997517994661656483725367228043889298513488487641645727835883554276275637730082506875591306935336844411496169939121136710379690669673377063009776275867710823631703774150579885980284414070469396149023581162632346398704028924499478868473347273198084105355090964685470514866280498865795825726875706165462079735822400429410482302368055357419092097238606057882227210106843370366084131162263415273769732939139121580488595008153737550889136796744602344172030241820070406934517689223934233667682722082861663939616055434238473115661498671223736932840117026258288115178020970034666806915746356250474952218206310995519296649846877027723249196002284977288370949124402193351801775253158621081504900190090660607383589689019525290464403401320803832152805184449079966416064658645959637680710608156698943297567931734134699284929303483026899030604780191803097624952403387992954752513558421087816017615860938263863520904631997014768648426021128565444548182682467297087002649133074049352186446924658601873706280875194967591569420053974730112571879626259096889166450535982363456769232106662114037329860913290780521389500269850878777403249299174810659766762126003161854823886629660294199852194524834887385950115059675116205486627160550119325477077140196253736232090516575426211830513744070949707810907079209112410192555797530372002994219492020984455141726587607308544332354598443474140465562057547124571045448150858432374540635123922131633094969101392013665108546443634352995481437140358871856761169348802358484616180026905352433200231975278494860611303325993798902662291920653789987397461897402599520494542603151104101848049936690314969907047500303921340912685768002512413399328293026733134779163268269658241704643475143072377315177722444076570382414857852530547897263120725774495178764498872166219578660276092771371643703466402786370640986003100278446351073714326238618362467064705165337194611922809536707260912541611247422673722170444708645144392986355076848149139871149246898689647428258026754773535873945255674283121629924585886358948858746406288699711052967242344198428459712829858598311632199634640914707803843837086194466980967550644361974123537877866499768465209976676528652967605623308898884294465374276629102815533774889622402628247512236673180322835673852421204174208434813121135391319174023198075351430297445407588322024418938297967993885852682065433319882648683850714324363827800356667210623535836801472406222409455477222149961229655646069304987054818535416284986748943969508969406901402544217710560019705627761929878211432474435455491283202644220630188539508669232090302614929201557587821347380316079213460755662389503750580586861829999831342310735823815042727801302252781506107363170973546867693781418089991130920464393102736991452591545462437833278328344696930648596137607454556362585141669099485132886786733572837249049129506019239403188300325715613026317788131891957699710113457355282651 43037869778954804267039020009067420821832624030484337384624859521293747449494094151822024130489133589168121963088430330927168959138681660003086266497648912361050230312949435784989610086662824097418953828175283792659384533206051067690775524556999251563719655465652853121074547477194075556849491753139789599796562177809916092427669380144276012764071041738591809002299607129679300746103563791904417196133391483033788646820466054359164739593130421288940151839298174987708144970906666653556651513683775980312981624893446097158396625305662067195633049220013332392223681534278690291347354521267583294908812122942151184228938823345994811666843675318691913671276620930322667639223267899648054927487169347107097344327639446137898649168153167994642605121229191370694791712316296750269198398475493616543128832961599946580609370301959739728073827281742014141825493595641998534396305093068156887850475669093062621565507296525310302840383793912820927331652055002527090500118155593131380213141780732742206673266755039263631173956248639272247215181828069766937286496324554686496647482724884211805951011878149093563325971159689166224612441780000121607330497339777757676892494319450822726679697748074293260286819682497162490246857551420315982281410039460520779527597806331791207598635545152653910722963288312466932077496660920888229991902742359120526485286038409164576954542949365212694989669623521146502501970006952680032098341719597841304931608142835980828813364411194713017606412598471149126182137927976104259960836833558787359159469265794559087821950998507803931987076216346393471080870659251222364641513805914392768573497044473363783711285432554042141153328332920585231361276813303593514584961603661821693117001777393998049222240921838026672177615715420121770464452961135237697471659143075691938446637530346182585320353629934034227222970575710058181891517504235913072449361414424048094627194827300977252475958550831170434500519364049941320049130479511012219291506412784006615878356960360088029957326627045055016591026242641803778365817288008849466678927922585618560733667510948062339172664991130871290291293670742639327209327666409079226043372444108424064972028378309459853784159025527859173821521233942807468559937528076252934865957740416472015156061833328261243033503206018843375002464062371100531674906535048806370181918529069236631635302264717311932404951119403161672088857741873863839450984563160728752218158510741759431125089322843590336530457073704473555781242021512498194578702549632832603633575587136890609947579808749330249157232030282609144026929797235051506199541973073004084953391091469646833167519628078305616022697739734585910325627665115475196958626432996133466217103494980660391994686643927474401833386874932280024452711917635647001011936369286709362645756040708452939348959876399733046377090842107927819955000361903044759669335061717510396465267301691893037427215093367123540979833244214802989569927783672295623379071076357163461221737582996507429815476727827007770957843580685733567033978443115215303476426485844945816799119931765936546911456199079649468813607690299327246790787744269094045191730074094293233502013434631030291638123461050246799701471621361165407094558016831476071922791495295883645894514515710882268397577760529371887704149164525622560065201965847367780397935136717846227232337714400530914180498 69636736105740797244894650577501061323744667486977047701888324092536133157993838306660091314329034069769547052451233016179614575735086712721001363589359368347542885723483037247901395509730786893341332497002385528324516840476654396815661813897815387344654001328175545605522688396063289733393100779237765293080123569513583676169207456924220284072120076788144095056826218369082971434060076872449715225947949300403544114713796799500050261590648415950596635564665403031597443484395154295202379349567330256588619354975952972749703560642506478691802988341150042771914351207655753301123630388978406926612586273522037164513352893815390960690424837951038312375305545429801536112570541097732160282578134032577612210608138311933724376043859333456722340943629620781177094080371654169361295637081551498770338939804970312664740532565375013497806766420863594630420501749379549423533101837670501059880717489163469556083196520459543970523105876774484866947707489241000206161616826816868313053258806991030321851287725073930438089702604889747199433388139065286233936343201582409745843485009861500176900136280342445365101224318310247729512631870660728990920186359303048141295895640254654879484882197154259676351478328456800170957465708119259279849341773595220064456901289358690238203415736955751535675366676305421684591055082008704247607763680622984047389918035423933225380564077930657243172352090818233505151103081002032218545266378199715011212483337803572398233418385924825589486038857568038292632673910339561029192943495672824689020382556575080477322220849386581335236375391157053237842996662413077188528143466208592620768021879360749733826345107670247627780488883039910708438417009557329746675478179088033523630745848343705860129320130950436864733413245792124764683944982119692839198246750384236270801235973820323050882411177058605272671121434142432722526641426367546167418462806437713203173638461653972733913098909703027195669868166408425936229157384863445419523481691278867227181682954158990692249247280835042414052923645241324272908420439112951314728864612900588467781167814869403251858432993643284689619586697475774106372595936067320930686847587180801380149750822386030236199016878058407071084641959717302647324436400242472513526233833187843658859528236114631884019506306297289726076178388609718894141971240214143564793841338605943892547843875964734606127121564111806816481844096950711988590855712407627441865586768768514204660963268099264619652086998290359914730100767918786894289755516875176802062035299966749208259212008383971163865035874119695338493910764785695868173665510950870584721856301446323361820487233701614514906992205108862539428443198890364819361254680508370139397426330654512813198860852362287522968778194106303222528063347933092408600258393705647660613749926561135004782279759048416897091415205935728176622210985438881561141741284126965873687417262921548683496520080421942076396118230963746959078897190573698167596781636376869088983667461207939904250932219110210415178473769225242236266068745730144505034014307192326132878333392521598936415206779666511298813439032610063070605830472070396297973236181457464207048881128412448381629254381514639902438463073952710869532391295159820768853440091433491100450877100852551367882710647316105460541398213655128579304605154147693496010961454505978119190037424513988269463149 112674605884695601511933670586568482145577291517461385086513183613829880607487932458482115444818167658937669015539663347106783534873768372724087630087008280708593116036432473032891005596393610990760286325177669320983901373682705464506437338454814638908373656793828398726597235873257365290242592532377554892876685747323499768596876837068496296836191118526735904059125825498762272180163640664354132422081340783437332761534262853859215001183778837239536787403963578019305588455301820948759030863251106236901600979869399069908100185948168545887436037561163375164138032741934443592470984910245990221521398396464188348742291717161385772357268513269730226046582166360124203751793808997380215210065303379684709554935777758071623025212012501451364946064858812151871885792687950919630494035557045115313467772766570259245349902867334753225880593702605608772245995345021547957929406930738657947731193158256532177648703816984854273363489670687305794279359544243527296661734982409999693266400587723772528524554480113194069263658853529019446648569967135053171222839526137096242490967734745711982851148158491538928427195477999413954125073650660850598250683699080805818188389959705477606164579945228552936638298010953962661204323259539575262130751813055740843984499095690481445802051282108405446398329964617888616668551742929592477599666422982104573875204073833097802335107027295869938162021714339380007653073087954712250643608097797556316144091480639553227046782797119538607092451456039187418814811838315665289153780329231612048179851822369639565144171847894385267223451607503446708923867321664299553169657272122985389341518923834113517537630540224289768933817215960495939799693822860923261260439782749855216747747625737703909351561052788463536911028961212246535148397943254930536669905893459928209247873504166505636202764806992639499894092009852490904418158930603459239867824220861761297800833288954949986389057460534197630170387530458367256278287864374457638814988104062873843060039914519078722206573907880097430643949887883128051274237727121800781407792535486207028514835325817465591031097984774155979910880368218413433581923602476400156730220031289225445121779200695490089983175903586266244906163193660110115884373928318725448392191573604315674015590069442893127053009512316133101078642450980819425816877775262949934975759867675180524183146140682046538532072683514968488570701838824575828041840275568356194083745279510273635786052590942854956182544071994833470511342789431285088868458066508009405695610887103639818206791817133301413022267904402304482520840562020747374373207484023874669675247392915970194988006861779920130929689944843448449754070864005840016319881113504503605614529825635173205193547496289761924802165069038583246980775265568739409612194762992357023259505967269587944131239635448149943468506048043655996577211347341926320811076345844476270152684564613441720923735173789065617375951475178549948648824974245993790975852712734032550205405044204447334066408946937218186136317349910975803300047188845359808510440793037271949677453324287535483326662978746160767627046722909390317396618216339490343164966255551757440550894563043478673267377842564886702139934695313876276626949311991296840776231586729374746345391616563433636280288407845477348245547378180751139369807119995061276408896591223824346422375138914519183643647 182311341990436398756828321164069543469321959004438432788401507706366013765481770765142206759147201728707216067990896363286398110608855085445088993676367649056136001759915510280792401106124397884101618822180054849308418214159359861322099152352630026253027658122003944332119924269320655023635693311615320185956809316837083444766084293992716580908311195314879999115952043867845243614223717536803847648029290083840876876248059653359265262774427253190133422968628981050903031939696975243961410212818436493490220334845352042657803746590675024579239025902313417936052383949590196893594615299224397148133984669986225513255644610976776733047693351220768538421887711789925739864364350095112375492643437412262321765543916070005347401255871834908087287008488432933048979873059605088991789672638596614083806712571540571910090435432709766723687360123469203402666497094401097381462508768409159007611910647420001733731900337444398243886595547461790661227067033484527502823351809226868006319659394714802850375842205187124507353361458418766646081958106200339405159182727719505988334452744607212159751284438833984293528419796309661683637705521321579589170870058383853959484285599960132485649462142382812612989776339410762832161788967658834541980093586650960908441400385049171684005467019064156982073696640923310301259606824938296725207430103605088621265122109257031027715671105226527181334373805157613512804176168956744469188874475997271327356574818443125625280201183044364196578490313607225711447485748655226318346723824904436737200234378944720042466392697280966602459826998660499946766863984077376741697800738331578010109540803194863251363975647894537396714306099000406648238110832418253007935917961837888740378493474081409769480881183738900401644442207004371299832342925374623375868152643844164480049109477986828687085175984051244772565213443994923626944800356971005407286287027299474500974471750608922720302156370237224825840255696866793192507445249237903058338469795341741070241722868678069414455821188715139844696873533124452324182658166234752096136657148386795496296003140686868842889530978417440669530467065694187539954519538543721087417067618470026825271530023081520326182192781644673315990805153377412763208810328561197961918425406792159332875118305557525011072515818613422827154820839590538319958849015477093499769601206281124416730990016646781144659194247626775305052545935775287816632695987975983635949332048278787840447015859042119575834631070285193385241443557350071983158213583383186207757646187070389026466003825517272576887303778521999821014751326806443242546872994974745254397103694362293556808494095481534645836682149952310989182514062896204835681135794012873745011956156289686018392408348652049447770943263144886469508838613501831818212453156698004683873255893830722948913519394496566840559921253979384173199422332780807881952817629971442143840101827534990404420255254211007693772069706142296907727722164819691958572634349110901639189072505412387238317341166047428601314791119136218039566115934575504313544455100229598082555786716809134419741869758412672066440485755519453388002448688409886641138202437009221647599775691455927054896632224079526604578397769266587146159340607151117609629671678162865846796268717415985004162999055161582808786945591835879718674412274142754772419858045729802465612412563428507453106796 294985947875132000268761991750638025614899250521899817874914691320195894372969703223624322203965369387644885083530559710393181645482623458169176623763375929764729117796347983313683406702518008874861905147357724170292319587842065325828536490807444665161401314915832343058717160142578020313878285843992875078833495064160583213362961131061212877744502313841615903175077869366607515794387358201157980070110630867278209637782322507218480263958206090429670210372592559070208620394998796192720441076069542730391821314714751112565903932538843570466675063463476793100190416691524640486065600209470387369655383066450413861997936328138162505404961864490498764468469878150049943616158159092492590702708740791947031320479693828076970426467884336359452233073347245084920865665747556008622283708195641729397274485338110831155440338300044519949567953826074812174912492439422645339391915699147816955343103805676533911380604154429252517250085218149096455506426577728054799485086791636867699586059982438575378900396685300318576617020311947786092730528073335392576382022253856602230825420479352924142602432597325523221955615274309075637762779171982430187421553757464659777672675559665610091814042087611365549628074350364725493366112227198409804110845399706701752425899480739653129807518301172562428472026605541198917928158567867889202807096526587193195140326183090128830050778132522397119496395519496993520457249256911456719832482573794827643500666299082678852326983980163902803670941769646413130262297586970891607500504154136048785380086201314359607610564545175351869683278606163946655690731305741676294867458010454563399451059727028976768901606188118827165648123314960902588037804655279176269196357744587743957126241099819113678832442236527363938555471168216617834980740868629553912538058537304092689296982982153334323287940791043884272459305453847414531362959287574464647154111248161235798775305039563872706691213830771422456010643227325160448785733113612360697153457899404614913301762783197148136662395096595237275340823421007580375456895893356552877544449683873002524810838466504334433920628963191596649441347433912600973536443141020121244147287649759252270393309223777010416165368685230939560896968347037522879093184256879923410310616980396475006890708375000418138125525330929555928233463290571357745775726790740043434745361073956304940914136157328827683191266931141743793623247774599863644674536263544339830033077327789061476233068449984974532017175142280026855752786346781357072026671649891195613453257074174028844672795642650573989909571682924304303535591888827190616920080478998619924072351087278263751796500957261454776766372094795759438936584926902044852001016907517377350626485981924859223585955844941811372573108332183469716489613879070571227824647919690361707132761861100310893044759029944716784028427302023040169776633680122734202763893975815918413992786392148432125343990428000073311148021181320846856376547139065685749548487061844934189394477549616834572383750112984646787451108469047193842866163123420864122054895893266870032233240041096669903068532737158832834067532478428843705399066904749376984303168692560979088150670254499405728164010066644413306718332464580463422786289919142414450405903264892240593141660333979418640443287463007060157032492970016630858044219394137816048828754636953626812034787702343026636750443 477297289865568399025590312914707569084221209526338250663316199026561908138451473988766528963112571116352101151521456073679579756091478543614265617439743578820865119556263493594475807808642406758963523969537779019600737802001425187150635643160074691414428973037836287390837084411898675337513979155608195264790304380997666658129045425053929458652813509156495902291029913234452759408611075737961827718139920951119086514030382160577745526732633343619803633341221540121111652334695771436681851288887979223882041649560103155223707679129518595045914089365790211036242800641114837379660215508694784517789367736436639375253580939114939238452655215711267302890357589939975683480522509187604966195352178204209353086023609898082317827723756171267539520081835678017969845538807161097614073380834238343481081197909651403065530773732754286673255313949544015577578989533823742720854424467556975962955014453096535645112504491873650761136680765610887116733493611212582302308438600863735705905719377153378229276238890487443083970381770366552738812486179535731981541204981576108219159873223960136302353717036159507515484035070618737321400484693304009776592423815848513737156961159625742577463504229994178162617850689775488325527901194857244346090938986357662660867299865788824813812985320236719410545723246464509219187765392806185928014526630192281816405448292347159857766449237748924300830769324654607033261425425868201189021357049792098970857241117525804477607185163208267000249432083253638841709783335626117925847227979040485522580320580259079650076957242456318472143105604824446602457595289819053036565258748786141409560600530223840020265581836013364562362429413961309236275915487697429277132275706425632697504734573900523448313323420266264340199913375220989134813083794004177288406211181148257169346092460140163010373116775095129045024518897842338158307759644545470054440398275460710299749776790172795426993370201008647281850898924191953641293178362850263755491927694746355983543485651875217551118216285310377120037696954132032699639554059591304973681106832259798021106841607191203276810159941609037318971814499606788513490962679563842331564355268229279095664839246858530742347561466875612876887773500414935642301994585441121372229042387188634339765826680557943149198041149542978755388284130161896065734575806217136934514962280237429357645126173975608827850461178768519098675793710375151461307232251520323465982409376067849316680084309027094107851806212565220240994229904131429055184885233274381821210903261244417871138799468167846566796875461446304124550343215633633859466953473973365178469454781640557308604995052742989422603054244748070428119098989798249687682152701530251095638442138214545241978364193593860820344051595328356185998452492572403046037101076388366391006017754931033841958278424441283624588348556002424342976056012903542084716711605787360557832888219683422529764245682211081004920090887463143764104269303885377708121121410955835828583550055029221810701091279032075388765899588183411882432279057996368435599350993496468114789026757905804322810402495571504900508018233948297093401515593159263625441371129570200735750445945955332783060642290723939911296730233847050568945630526293532060035574943055106439937929051395403644606286518168642965819438561852510576718631668280570821248612682683429277647200265771534089857239 772283237740700399294352304665345594699120460048238068538230890346757802511421177212390851167077940503996986235052015784072761401574102001783442241203119508585594237352611476908159214511160415633825429116895503189893057389843490512979172133967519356575830287953668630449554244554476695651392264999601070343623799445158249871492006556115142336397315822998111805466107782601060275202998433939119807788250551818397296151812704667796225790690839434049473843713814099191320272729694567629402292364957521954273862964274854267789611611668362165512589152829267004136433217332639477865725815718165171887444750802887053237251517267253101743857617080201766067358827468090025627096680668280097556898060918996156384406503303726159288254191640507626991753155182923102890711204554717106236357089029880072878355683247762234220971112032798806622823267775618827752491481973246388060246340166704792918298118258773069556493108646302903278386765983759983572239920188940637101793525392500603405491779359591953608176635575787761660587402082314338831543014252871124557923227235432710449985293703313060444956149633485030737439650344927812959163263865286439964013977573313173514829636719291352669277546317605543712245925040140213818894013422055654150201784386064364413293199346528477943620503621409281839017749852005708137115923960674075130821623156779475011545774475437288687817227370271321420327164844151600553718674682779657908853839623586926614357907416608483329934169143372169803920373852900051971972080922597009533347732133176534307960406781573439257687521787631670341826384210988393258148326595560729331432716759240704809011660257252816789167188024132191728010552728922211824313720142976605546328633451013376654630975673719637127145765656793628278755384543437606969793824662633731200944269718452349858643075442293497333661057566139013317483824351689752689670718932119934701594509523621946098525081829736668133684584031780069737861542151517114090078911476462624452645385594150970896845248435072365687780611381905614395378520375139613075096449952947857851225556516132800545917680073695537710730788904800633968413161933519389487027405820583963575711642917988531366058148470635541158512930152106552437784741847452458521395178842321044782539659367585109346656535055558361287323566480472534683621747420733253811510302596957180369260323354193734298559262331304436511041728109910262892299041484975015105981768515064663296015486703856910792913152759012068639868981354845247096747016250912786127211556883165577434664160335418446715811595110818420556706447144370608428085935104460824476387033952971985102541805868918821060401496010004444199369426339543829867055683916700294539683169609047628446264928120139404465564320038535672192917159927511825902488066371642974273861748996078728098138779616031344735003037454386000408616775858025464512752689693026276287480605581603278971825674611831854655108236110211154316068112068783990620480816442951063457669608472800770017978027604646056383084841392016722176217008057230605725298442181417232557654246886763338147022266799002474225878935232730337734575550712377140798800582497908640609744539822131179823901116200454738511224652357368353218015062698427513991731920445435946510441478207947347033079589385374822285049573981175703122851931531869141434762851062418386870077367319637056089681987968114560726607682 1249580527606268798319942617580053163783341669574576319201547089373319710649872651201157380130190511620349087386573471857752341157665580545397707858642863087406459356908874970502635022319802822392788953086433282209493795191844915700129807777127594047990259260991504917840391328966375370988906244155209265608414103826155916529621051981169071795050129332154607707757137695835513034611609509677081635506390472769516382665843086828373971317423472777669277477055035639312431925064390339066084143653845501178155904613834957423013319290797880760558503242195057215172676017973754315245386031226859956405234118539323692612505098206368040982310272295913033370249185058030001310577203177467702523093413097200365737492526913624241606081915396678894531273237018601120860556743361878203850430469864118416359436881157413637286501885765553093296078581725162843330070471507070130781100764634261768881253132711869605201605613138176554039523446749370870688973413800153219404101963993364339111397498736745331837452874466275204744557783852680891570355500432406856539464432217008818669145166927273196747309866669644538252923685415546550280563748558590449740606401389161687251986597878917095246741050547599721874863775729915702144421914616912898496292723372422027074160499212317302757433488941646001249563473098470217356303689353480261058836149786971756827951222767784448545583676608020245721157934168806207586980100108647859097875196673379025585215148534134287807541354306580436804169805936153690813681864258223127459194960112217019830540727361832518907764479030087988813969489815812839860605921885379782367997975508026846218572260787476656809432769860145556290372982142883521060589635630674034823460909157439009352135710247620160575459089077059892618955297918658596104606908456637908489350480899600607027989167902433660344034174341234142362508343249532090847978478576665404756034907799082656398274858619909463560677954232788717019712441075709067731372089839312888208137313288897326880388734086947583238898827667215991515416217329271645774736004012539162824906663348392598567024521680886740987540948846409671287384976433126178000518368500147805907275998186217810461722987717494071900860491618982165314672515347867394163697173427762166154768701754773743686422361736116304436521607630015513439010031550895149877244878403174317303775285634431163656204388505280045338892189288678781990974835195350166567289000766584986761997896079924760109593237068039162747720787567410467337741246155044215182396442116439959255875063596662864586950394578986267123503322605816912552636278320094458335853987426945350281011260650559378369006491062747433621972480584291900295174782906498544227365322310577879541903370258353949707542684232129533013261211522840182088486518864215377319898850072467094489144797370962378576961315878827284033205124414027888855728745705929818372197317187390639529658562831515277184872481792422235320988202956247134384585085746836441165790729883756605846561577659675278193785932671048797564982907645414017607730721239413600993253597880259806261811293556908278548689337728301842635083568946325437892202098091067904235185910951701380559651562146410071294285294648092293129311792932274564560677550971729478570477053151002453473017518436770225929655860499344346088671370093721652011481482730698957691325980002320485367329188233886094816464921 2021863765346969197614294922245398758482462129622814387739777979720077513161293828413548231297268452124346073621625487641825102559239682547181150099845982595992053594261486447410794236830963238026614382203328785399386852581688406213108979911095113404566089548945173548289945573520852066640298509154810335952037903271314166401113058537284214131447445155152719513223245478436573309814607943616201443294641024587913678817655791496170197108114312211718751320768849738503752197794084906695486436018803023132429767578109811690802930902466242926071092395024324219309109235306393793111111846945025128292678869342210745849756615473621142726167889376114799437608012526120026937673883845747800079991474016196522121899030217350400894336107037186521523026392201524223751267947916595310086787558893998489237792564405175871507472997798351899918901849500781671082561953480316518841347104800966561799551250970642674758098721784479457317910212733130854261213333989093856505895489385864942516889278096337285445629510042062966405145185934995230401898514685277981097387659452441529119130460630586257192266016303129568990363335760474363239727012423876889704620378962474860766816234598208447916018596865205265587109700770055915963315928038968552646494507758486391487453698558845780701053992563055283088581222950475925493419613314154336189657772943751231839496997243221737233400903978291567141485099012957808140698774791427517006729036296965952199573055950742771137475523449952606608090179789053742785653945180820136992542692245393554138501134143405958165452000817719659155795874026801233118754248480940511699430692267267551027583921044729473598599957884277748018383534871805732884903355773650640369789542608452386006766685921339797702604854733853520897710682462096203074400733119271639690294750618052956886632243344727157677695231907373155679992167601221843537649197508785339457629417322704602496799940449646131694362538264568786757573983227226181821451001315775512660782698883048297777233982522019948926679439049121605910794737704411258849832453965487020676132219864525399112942201754582278698271737751210305255798138366645567487545774320731769482987641104206341827781136188129613059373421771088717752457257195319852685092352270083210937308361122358853033078896791674665723845174110488048122631778971628403688755181000131497673035608988624897954763650836584481849933917398589044883273876680325181673270769281649650058013382783781670902506389827051231387589768922255714434488262405957001309607998999605536690539223932081311302761989689804687680209769750187520980722213424555282812241021379917335383553066519478199429407987072751877821341906923835730162230466823198838767048491919625507988168298378493354173107004270665205206178371450352007990974585235858351593760599068545822587283576986993723311964353333213284441821900272053353368481435398956094659677922768993918501484237443347131839980717902633389637056315025031125005065902189787504623460338356557375864539605264321334576870774063065519741199915702644623333029163420830833550907844767023144408833560355910752774568272961032180369659119658702578691002680588976544844930450773832560383552678346864809805509947005460646347326855630702078552409471417165425080918531358949800506097107822145048214705434480520049211523301625590793446244333793117344561403347321957541457011176202000655543072603 3271444292953237995934237539825451922265803799197390706941325069093397223811166479614705611427458963744695161008198959499577443716905263092578857958488845683398512951170361417913429259150766060419403335289762067608880647773533321913238787688222707452556348809936678466130336902487227437629204753310019601560452007097470082930734110518453285926497574487307327220980383174272086344426217453293283078801031497357430061483498878324544168425537784989388028797823885377816184122858475245761570579672648524310585672191944769113816250193264123686629595637219381434481785253280148108356497878171885084697912987881534438462261713679989183708478161672027832807857197584150028248251087023215502603084887113396887859391557130974642500418022433865416054299629220125344611824691278473513937218028758116905597229445562589508793974883563904993214980431225944514412632424987386649622447869435228330680804383682512279959704334922656011357433659482501724950186747789247075909997453379229281628286776833082617283082384508338171149702969787676121972254015117684837636852091669450347788275627557859453939575882972774107243287021176020913520290760982467339445226780351636548018802832477125543162759647412804987461973476499971618107737842655881451142787231130908418561614197771163083458487481504701284338144696048946142849723302667634597248493922730722988667448220011006185778984580586311812862643033181764015727678874900075376104604232970344977784788204484877058945016877756533043412259985725207433599335809439043264451737652357610573969041861505238477073216479847807647969765363842614072979360170366320294067428667775294397246156181832206130408032727744423304308756517014689253945492991404324675193250451765891395358902396168959958278063943810913413516665980380754799179007641575909548179645231517653563914621411247160818021729406248607298042500510850753934385627676085450744213664325121787258895074799069555595255040492497357503777286424302935249552823091155088400868920012171945624657622716608967532165578266716337597426210955033682904624568457978026183501038883212917997679966723435469019685812686597619976543183114799771745488064142820879575390263639290424152289504123905623684960233913390070883067129772543187246848789525697845377092077062877132596719501258527790970160366781740503561561641810522523553566000059403305814976810894623056061610968039341864527188826106687267826874248711875675348240559770048234636820011278863706431012099626895090394135310556489666181772229508561001216492004441116045495946414287528744175889712384268790954803713092356004433533358491744649741148095008806862685664564327170037577798414478135499311443314387508127630457405249729697382994413814230203387530071668636847303880649688502794738219439582973192190079461104100073728913659449141012917076428374357956101888925669212040568475027024686081242224210181104885913031875239956384558031142800274862409024853199695055624958044517981278259389650987936623945789251068240313981711101182923996612770656706734114317306182823348058640940759884660244434544161442647282950670644853912819031323257610689334023004742688605028016583204778680044449080116361725533940943204240493274881099795241653552939476638648562976643113087022388894903651395584509952253979114626258915274144361294979864395300194671719312445457725816523816302252729327324278026824340364435886750359537524 5293308058300207193548532462070850680748265928820205094681103048813474736972460308028253842724727415869041234629824447141402546276144945639760008058334828279390566545431847865324223495981729298446017717493090853008267500355221728126347767599317820857122438358881852014420282476008079504269503262464829937512489910368784249331847169055737500057945019642460046734203628652708659654240825396909484522095672521945343740301154669820714365533652097201106780118592735116319936320652560152457057015691451547443015439770054580804619181095730366612700688032243705653790894488586541901467609725116910212990591857223745184312018329153610326434646051048142632245465210110270055185924970868963302683076361129593409981290587348325043394754129471051937577326021421649568363092639195068824024005587652115394835022009967765380301447881362256893133882280726726185495194378467703168463794974236194892480355634653154954717803056707135468675343872215632579211400081778340932415892942765094224145176054929419902728711894550401137554848155722671352374152529802962818734239751121891876907406088188445711131841899275903676233650356936495276760017773406344229149847159314111408785619067075333991078778244278010253049083177270027534071053770694850003789281738889394810049067896330008864159541474067756567426725918999422068343142915981788933438151695674474220506945217254227923012385484564603380004128132194721823868377649691502893111333269267310929984361260435619830082492401206485650020350165514261176384989754619863401444280344603004128107542995648644435238668480665527307125561237869415306098114418847260805766859360042561948273740102876935604006632685628701052327140051886494986830396347177975315563039994374343781365669082090299755980668798544766934414376662842851002253408374695181187869939982135706520801253654591887975699424638155980453722492678451975777923276873594236083671293742444491861391874739519201726949403030761926290534860407530161431374274092470863913529702711054993922434856699130987481092257705765459203337005692738094163474400911943513204177171103077443396792908925190051298384084424348830281798981253166417312975609917141611344873251280394630494117285260093753298019607335161159600819587029738507099533881877967928588029385423999491449752580155319465635884211955850991609684273589494151957254755240403437312649846503611680959565731690178449009038760024085856871757522588556000529913830539329884286878024661647488101914606016722141625522900325411921896206717770966958217801612440115651032636953511460825487192474373958595642483922862106191954514080705169205023960336030186780021048117393689515777227822465208251189264656294431963360619635716552896221761462306149828895518239967015340658053756692773459943425617954423544198070435689335932080507420048209558739663711951344949825200890022545253852916848924958134595592691616503842007691553162725378476532627037718209540864833917597689014595100833006309384394716890126411450412711406596871357575640788188317947347527480797179837047382739050703264273789048081075268095069287414306095079478414268729784097825883650366203374401808263730595274207459269020993925046812499366501326756918840139690905305188659013585823965504193678721665496493806060328732314115868902054485211734081060322359066729460384444511717973344903238903970150316933646814132674646235568281351540637887405902610127 8564752351253445189482770001896302603014069728017595801622428117906871960783626787642959454152186379613736395638023406640979989993050208732338866016823673962789079496602209283237652755132495358865421052782852920617148148128755050039586555287540528309678787168818530480550619378495306941898708015774849539072941917466254332262581279574190785984442594129767373955184011826980745998667042850202767600896704019302773801784653548145258533959189882190494808916416620494136120443511035398218627595364100071753601111961999349918435431288994490299330283669463087088272679741866690009824107603288795297688504845105279622774280042833599510143124212720170465053322407694420083434176057892178805286161248242990297840682144479299685895172151904917353631625650641774912974917330473542337961223616410232300432251455530354889095422764926161886348862711952670699907826803455089818086242843671423223161160018335667234677507391629791480032777531698134304161586829567588008325890396144323505773462831762502520011794279058739308704551125510347474346406544920647656371091842791342224695681715746305165071417782248677783476937378112516190280308534388811568595073939665747956804421899552459534241537891690815240511056653769999152178791613350731454932068970020303228610682094101171947618028955572457851764870615048368211192866218649423530686645618405197209174393437265234108791370065150915192866771165376485839596056524591578269215937502237655907769149464920496889027509278963018693432610151239468609984325564058906665896017996960614702076584857153882912311884960513334955095326601712029379077474589213581099834288027817856345519896284709141734414665413373124356635896568901184240775889338582299990756290446140235176724571478259259714258732742355680347931042643223605801432416016271090736049585213653360084715875065839048793721154044404587751764993189302729712308904549679686827884958067566279120286949538588757322204443523259283794312146831833096680927097183625952314398622723226939547092479415739955013257835972481796800763216647771777068098969369921539387678209986290361394472875648625520318069897110946450258342164367966189058463674059962490920263514919685054646406789383999376982979841248551230483886716802281694346382671403665773965121462486876624046472081413847256606044578737591495171245915400016675510820755299806743127626657398234737021176699729520313536227586130773124698631771300431675878154390309378118923698035940511194532926705643617232019658210881901588077978947279527959434293616881231696528583367798989569663082186758227386597287635954462196388047439196913854765108431038993642706712681720859553355026236943343750500707970681940090991077040966282593604755876120380032283048311635652187961934406381276254681645057537396736388149896793436005809421079497350571656740140325702905927089815691757294421391875949644215837816901797608727920723428402681763034563769837993071949889687117292744639553145350987587643784367878063035396201962474837185339286741971112314560118184187531294154353565562398761905214548932741319702639230730061589045750123268181548815421083494339700226379144496868758611857412237949065443005163174224900442269961159333414572005100430312566525300604152756655364778583516194955232383709700378854308464326360339975596503428024440248839811912645064215684361695966840749949066862001970513595105691905073774156262147651 13858060409553652383031302463967153283762335656837800896303531166720346697756087095671213296876913795482777630267847853782382536269195154372098874075158502242179646042034057148561876251114224657311438770275943773625415648483976778165934322886858349166801225527700382494970901854503386446168211278239679476585431827835038581594428448629928286042387613772227420689387640479689405652907868247112252122992376541248117542085808217965972899492841979391601589035009355610456056764163595550675684611055551619196616551732053930723054612384724856912030971701706792742063574230453231911291717328405705510679096702329024807086298371987209836577770263768313097298787617804690138620101028761142107969237609372583707821972731827624729289926281375969291208951672063424481338009969668611161985229204062347695267273465498120269396870646288418779482744992679396885403021181922792986550037817907618115641515652988822189395310448336926948708121403913766883372986911345928940741783338909417729918638886691922422740506173609140446259399281233018826720559074723610475105331593913234101603087803934750876203259681524581459710587735049011467040326307795155797744921098979859365590040966627793525320316135968825493560139831040026686249845384045581458721350708909698038659749990431180811777570429640214419191596534047790279536009134631212464124797314079671429681338654519462031803755549715518572870899297571207663464434174283081162327270771504966837753510725356116719110001680169504343452960316753729786369315318678770067340298341563618830184127852802527347550553441178862262220887839581444685175589008060841905601147387860418293793636387586077338421298099001825408963036620787679227606285685760275306319330440514578958090240560349559470239401540900447282345419306066456803685824390966271923919525195789066605517128720430936769420578682560568205487485867754705490232181423273922911556251810010770981678824278107959049153846554021210084847007239363258112301371276096816227928325434281933469527336114870942494350093678247256004100222340509871231573370281865052591855381089367804791265784573815571616453981535295280540141145621132606371439283977104102265136766200079685140524074644093130280999448583712390084706303832020201445916553281633702553150847910876115496224661569166722241928790693442486780930188989510827468075510540210180440276503901846417980742431419698762545266346154858981570389293888987676408068220848708003210576060602158682634841311660339373645181111207313509974185665050494917652095229321347347561220321310450395150274661132185982239771558816568388342561519902083059789068767069180422727760799114549069132254059408552001689972626976372054351696676682835489826517338426529861178566551602667528619988163074049714625070675491820280586220332482771937889928499545560130396403852277047855752290705714302548274308724874602350433409593414112569928414981565407141511096396875711281490754521034890433654148246183993897028179084768189446846614673881434056696862382759300632507465711668328473991400948301449465169488337980822394970734300017475895140829601682450278599518909377990066429753546305132489207131619697218086436930209986724266943596718078173554262910405618971580111124569656950334086444080010001015561116023816247756362949538094421035918862494753900633284323630618409118923265666117157683595880994676616749163387043445711661562164757778 22422812760807097572514072465863455886776405384855396697925959284627218658539713883314172751029100175096514025905871260423362526262245363104437740091982176204968725538636266431799529006246720016176859823058796694242563796612731828205520878174398877476480012696518912975521521232998693388066919294014529015658373745301292913857009728204119072026830207901994794644571652306670151651574911097315019723889080560550891343870461766111231433452031861582096397951425976104592177207674630948894312206419651690950217663694053280641490043673719347211361255371169879830336253972319921921115824931694500808367601547434304429860578414820809346720894476488483562352110025499110222054277086653320913255398857615574005662654876306924415185098433280886644840577322705199394312927300142153499946452820472579995699524921028475158492293411214580665831607704632067585310847985377882804636280661579041338802675671324489424072817839966718428740898935611901187534573740913516949067673735053741235692101718454424942752300452667879754963950406743366301066965619644258131476423436704576326298769519681056041274677463773259243187525113161527657320634842183967366339995038645607322394462866180253059561854027659640734071196484810025838428636997396312913653419678930001267270432084532352759395599385212672270956467149096158490728875353280635994811442932484868638855732091784696140595125614866433765737670462947693503060490698874659431543208273742622745522660190276613608137510959132523036885570467993198396353640882737676733236316338524233532260712709956410259862438401692197217316214441293474064253063597274423005435435415678274639313532672295219072835963512374949765598933189688863468382175024342575297075620886654814134814812038608819184498134283256127630276461949290062605118240407237362659969110409442426690233003786269985563141732726965155957252479057057435202541085972953609739441209877577050101965773816696716371358290077280493879159154071196354793228468459722768542326948157508873016619815530610897507607929650729052804863438988281648299672339651786591979533591075658166185738660222441091934523878646241730798483309989098795429902958037066593185400281119764739786930864028092507263979289832263620568593020634301895792299224685299476518272310397752739542696742983013978847973369431033981952176104389527502978896265840016923567903161300081155001919131149219076081493932285632106269021065189419352286222611158086122134274096542669877167768017303956605664839322089215098052164612330022877086388846202579044089803689109439964813356847890413368837059194771030584730608959098996914554177198108174065434473480835408622487280296351895752190680597658312145342773717649118083431273214546909893461614863238319716581922569455325969306715733029217016974370229276207943699349579042910702053143992602750761679380521406059842695700600824246566271226495211721297849138409968088904545660166713704353440644208152183178293701391534981484671963452646252482242816636356271242036149124730412947067583895855859768145754513863848227074702886913563714673373530747537484186579724950631827414939992872329766656132690802001247818989031935167151879935373160949167385866679237506968834915506049284146636425173809706989451222663526195970793499733516626610671413864454761011515365922778340882124135543263473334607627362083998433544947856678587262758492735350785435718426905429 36280873170360749955545374929830609170538741041693197594229490451347565356295800978985386047906013970579291656173719114205745062531440517476536614167140678447148371580670323580361405257360944673488298593334740467867979445096708606371455201061257226643281238224219295470492423087502079834235130572254208492243805573136331495451438176834047358069217821674222215333959292786359557304482779344427271846881457101799008885956269984077204332944873840973697986986435331715048233971838226499569996817475203310146834215426107211364544656058444204123392227072876672572399828202773153832407542260100206319046698249763329236946876786808019183298664740256796659650897643303800360674378115414463021224636466988157713484627608134549144475024714656855936049528994768623875650937269810764661931682024534927690966798386526595427889164057502999445314352697311464470713869167300675791186318479486659454444191324313311613468128288303645377449020339525668070907560652259445889809457073963158965610740605146347365492806626277020201223349687976385127787524694367868606581755030617810427901857323615806917477937145297840702898112848210539124360961149979123164084916137625466687984503832808046584882170163628466227631336315850052524678482381441894372374770387839699305930182074963533571173169814852886690148063683143948770264884487911848458936240246564540068537070746304158172398881164581952338608569760518901166524924873157740593870479045247589583276170915632730327247512639302027380338530784746928182722956201416446800576614680087852362444840562758937607412991842871059479537102280874918749428652605335264911036582803538692933107169059881296411257261611376775174561969810476542695988460710102850603394951327169393092905052598958378654737535824156574912621881255356519408804064798203634583888635605231493295750132506700922332562311409525724162739964924812140692773267396227532650997461687587821083644598094804675420512136631301703964006161310559612905529839735819584770255273591790806486147151645481840001958023328976308808963661328791519531245709933651644571388972165025970977004444796256663550977860181537011338624455610231401801342242014170695450537047319844424927454938672185637544978738415976010653299324466322097238215777966933179071423158308628855038921404552180701089902160124476468733106293379038330446971776380227104008179665201927572982661562568917838626760278440491087839410359078407028694290832006794125344850157144828559802609328964295979310020433296528608026350277380517794738484075523926391651024010419890359963631509022599351076830753587598973073170479001079974343245965177354488162234279949957691619534355760447753880653224634684199694470394331953573257790552973439754640181414840987245201910732529375683931786408521037297560590561758979881589278078588470832449547844879798617431671227120362390970009325698848916704636088625833867777553391533496046056756563589415634931398729187073611947849637718975381700142537414441929089431310237705298733011507489713579575049607524188242137155462165297692244191224894386109644107830765013379327409326633082106014458902250319833085886237107133737026120651632385238316865583147673434329463397315680523097825911668255726747549743466657323537666743536196986354615757332874367034363402549182047434228417532241515408459173881882453530893028201156117140828851355204011921879778796497097280591663207 58703685931167847528059447395694065057315146426548594292155449735974784014835514862299558798935114145675805682079590374629107588793685880580974354259122854652117097119306590012160934263607664689665158416393537162110543241709440434576976079235656104119761250920738208446013944320500773222302049866268737507902179318437624409308447905038166430096048029576217009978530945093029708956057690441742291570770537662349900229826731750188435766396905702555794384937861307819640411179512857448464309023894855001097051879120160492006034699732163551334753482444046552402736082175093075753523367191794707127414299797197633666807455201628828530019559216745280222003007668802910582728655202067783934480035324603731719147282484441473559660123147937742580890106317473823269963864569952918161878134845007507686666323307555070586381457468717580111145960401943532056024717152678558595822599141065700793246866995637801037540946128270363806189919275137569258442134393172962838877130809016900201302842323600772308245107078944899956187300094719751428854490314012126738058178467322386754200626843296862958752614609071099946085637961372066781681595992163090530424911176271074010378966698988299644444024191288106961702532800660078363107119378838207286028190066769700573200614159495886330568769200065558961104530832240107260993759841192484453747683179049408707392802838088854312994006779448386104346240223466594669585415572032400025413687318990212328798831105909343935385023598434550417224101252740126579076597084154123533812931018612085894705553272715347867275430244563256696853316722168392813681716202609687916472018219216967572420701732176515484093225123751724940160903000165406164370635734445425900470572213824207227719864637567197839235670107412702542898343204646582013922305205440997243857746014673919985983136292970907895704044136490880119992443981869575895314353369181142390438671565164871185610371911501391791870426708582197843165315381755967698758308195542353312582221749299679502766967176092737509565952979705361613827100317073167830918049585438236550922563240684137162743105018697755485501738827778742137107765599330197231245200051237288635937328439609164714385802700278144808958028248239631221892345100623993030515002652232655589695468706381594581618147535194679937875529555510450685282397768565833425868042220244027576082826502008727984580693718136914708254210726123194108431424267826380980513443164880247479124253687498436970377346268252584974859755385743706078514889710540671824872921726505435740827699529330324776988356913012719913889948358629557803779438100076888897423163285528553596707760785366314106814652112343506071333822292996345037244111981071656689063767520349648101796278079306961783833301984701653238502141550254314534960791035187825288627657631381534502691837482549379111051748526422233665709926523095482975862583837555165626691801501584950602416730303119988372042937339256790241551029253956866372105990060694411332247946593976540769160632220126526642633503380048010282909976029145919318894111807949824317481361512550863513989051583713933429398895122649599742018927909134984845109683567552390196800956308622601715330076553187491932741417717539873383974917276364312988889407062392957148115490849500977705777267003943058949594340310582397532594717145355788138520390285154550685776708033791274680372514147282532999018568636 94984559101528597483604822325524674227853887468241791886384940187322349371131315841284944846841128116255097338253309488834852651325126398057510968426263533099265468699976913592522339520968609363153457009728277629978522686806149040948431280296913330763042489144957503916506367408002853056537180438522946000145984891573955904759886081872213788165265851250439225312490237879389266260540469786169563417651994764148909115783001734265640099341779543529492371924296639534688645151351083948034305841370058311243886094546267703370579355790607755458145709516923224975135910377866229585930909451894913446460998046960962903754331988436847713318223957002076881653905312106710943403033317482246955704671791591889432631910092576022704135147862594598516939635312242447145614801839763682823809816869542435377633121694081666014270621526220579556460313099254996526738586319979234387008917620552360247691058319951112651009074416574009183638939614663237329349695045432408728686587882980059166913582928747119673737913705221920157410649782696136556642015008379995344639933497940197182102484166912669876230551754368940648983750809582605906042557142142213694509827313896540698363470531796346229326194354916573189333869116510130887785601760280101658402960454609399879130796234459419901741939014918445651252594515384056031258644329104332912683923425613948775929873584393012485392887944030338442954809983985495836110340445190140619284166364237801912075002021542074262632536237736577797562632037487054761799553285570570334389545698699938257150393835474285474688422087434316176390419003043311563110368807944952827508601022755660505527870792057811895350486735128500114722872810641948860359096444548276503865523540993600320624917236525576493973205931569277455520224460003101422726370003644631827746381619905413281733268799671830228266355546016604282732408906681716588087620765408675041436133252752692269254970006306067212382563339883901807171476692315580604288147931361938082837495341090485988914118821574577511523976308681670422790761645864687362163759519089881122311535405710108139747549814954419036479599009315753475732221209561599032587442065407984086474375759453589641840741372463782353936766664215641875191669566946090268730780619165834661118627015010449620539552087375381027777689679986919418388691147604163872839818600471131584262491703936300967242256287054753335014489166614281947841783346233409674804275171674372823974410832326996772986675232548564284880188682272314104865167091058466563356997250431827391851709949220684740619865935612070990720701946228530876949917101156863240669128462883041758942040735324005726349007872791259951987046927680544731714506313025229946854320493789402741977692920294206985744034514077337170288550071291612095551352794167706877905736219852366952239682362347996542722975646784624635719252221944399680498672463389033404245193035080996659173293892535623303441666526330402189400666972932248072248527475136340421679256831681839502172139709840106217683110904236252420065438194443611563085336702335933961589192277564242841398378216796039443857797372969432827905165016268721871230335199937628513666539456296036044793473868868015030567329385795600131524660743021636526556150598589943502731248182375344740140669553125106383822757842823912941053891027238241669413418486310667826605559388995286602252292943779630279610231843 153688245032696445011664269721218739285169033894790386178540389923297133385966830703584503645776242261930903020332899863463960240118812278638485322685386387751382565819283503604683273784576274052818615426121814792089065928515589475525407359532569434882803740065695712362520311728503626278839230304791683508048164210011580314068333986910380218261313880826656235291021182972418975216598160227911854988422532426498809345609733484454075865738685246085286756862157947354329056330863941396498614865264913312340937973666428195376614055522771306792899191960969777377871992552959305339454276643689620573875297844158596570561787190065676243337783173747357103656912980909621526131688519550030890184707116195621151779192577017496263795271010532341097829741629716270415578666409716600985687951714549943064299445001636736600652078994938159667606273501198528582763303472657792982831516761618061040937925315588913688550020544844372989828858889800806587791829438605371567563718691996959368216425252347891981983020784166820113597949877415887985496505322392122082698111965262583936303111010209532834983166363440040595069388770954672687724153134305304224934738490167614708742437230784645873770218546204680151036401917170209250892721139118308944431150521379100452331410393955306232310708214984004612357125347624163292252404170296817366431606604663357483322676422481866798386894723478724547301050207452090505695756017222540644697853683228014240873833127451418198017559836171128214786733290227181340876150369724693868202476717312024151855947108189633341963852331997572873243735725211704376792085010554640743980619241972628077948572524234327379443711858880225054883775810807355024729732178993702404336095754817807548344781874092774333208876038981979998418567664649683436648675209085629071604127634579333267716405092642738123970399682507484402724852888551292483401974134589817431874804817917563454865341917807459004252990048466099650336792074071548303046456126904291395419717090390165491681085997667315021089929288387032036617861962937855193081809104528117673234098646394245302490654833652174521981337837094495612839986808891796263832642116645272722411704199062754356226544072741927162894794912455273097084014667570083299245783271398490250814095721392044202157699622570060965653219235497370103671088916169997298707860820715159160345318205945028951822950005191668043268699892737476056273207614059790655317718336554620303098664519825433743364021500801149259739944068016020183380056801599138388229918976937263132679409478551009517608222848624790904610650304858088680729355201233752138092291748411595355649801520690319833163659985134766023320869220676889768958618294096886635918088014139050843773970999601168769577336498778990408790691621545926630512143829355532166533393851233901454931519844897375653774724173206858301429178745039882656361256300944199030936994536665947261590024195655611675484603865587192430951696226889114444354517535830751753927203425658380271332771929966632860316614284284262702975414223589530881979448510285758279070553790115106355387429800509972873256692495619032569924092925403706716340018767490018710467495764918637760123550422055506963308747103335473515499578019385949515445557660982900650846739031876322445917936557068165333417098153406310473648608172594029807933808771465218512382267422786561282624807091062163278628800479 248672804134225042495269092046743413513022921363032178064925330110619482757098146544869448492617370378186000358586209352298812891443938676695996291111649920850648034519260417197205613305544883415972072435850092422067588615321738516473838639829482765645846229210653216279026679136506479335376410743314629508194149101585536218828220068782594006426579732077095460603511420851808241477138630014081418406074527190647718461392735218719715965080464789614779128786454586889017701482215025344532920706634971623584824068212695898747193411313379062251044901477893002353007902930825534925385186095584534020336295891119559474316119178502523956656007130749433985310818293016332469534721837032277845889378907787510584411102669593518967930418873126939614769376941958717561193468249480283809497768584092378441932566695718402614922700521158739224066586600453525109501889792637027369840434382170421288628983635540026339559094961418382173467798504464043917141524484037780296250306574977018535130008181095011655720934489388740271008599660112024542138520330772117427338045463202781118405595177122202711213718117808981244053139580537278593766710276447517919444565804064155407105907762580992103096412901121253340370271033680340138678322899398410602834110975988500331462206628414726134052647229902450263609719863008219323511048499401150279115530030277306259252550006874879283779782667509062990255860191437586341806096462412681263982020047465816152948835148993492460650096073907706012349365327714236102675703655295264202592022416011962409006340943663918816652274419431889049634154728255015939902453818499593571489220264728288583476443316292139274794198594008725169606648621449303885088828623541978908201619295811407868969699110618350827182081970551257453938792124652784859375045212730260899350509254484746549449673892314568352236755228524088685457261795233009071489594899998492473310938070670255724120311924113526216635553388350001457508268766387128907334604058266229478257212431480651480595204819241892532613905597068702459408623608802542555245568623617998795545634052104353442238204648606593558460936846410249088572208018453395296420084182053256808886079958516343998067285445205709516831561576670914972275684234516173567976563890564324911932722736402493822697251709945441993430908915484289522059780063774161171547679421186290744607809909881329919065206292246421378283189059351758004114990960293200330121993508228993127073075352152430516350696733349713544620132750288334288245223892657604951586916227369090524531119427771694258228088784236861895331352251086619557679272302390615378761420211294637114591842256014325559512667857926025975307916148357434500673124607122116582772408507928453585751663919895375755321371012856327579079241692837538726063496623523239044439130071086268407171202207245372196497699819991482937148430966984282336859928764333232435182187571746943920763318088191234978926270391917594620352363199821362516603045010967092175606460257340219773504911639806739077999725188520515123040852418033142445064785212621692240659746067679349196785808017306012317114489868588465397829257941672428587570353967427647224134035221214673804917024290923521993876076489131073647024238762407586042001708259572844153577987214251667186058606110193271717239855996230223414702499199832271477347227257775886338987826811781847884877100034841793558239032322 402361049166921487506933361767962152798191955257822564243465720033916616143064977248453952138393612640116903378919109215762773131562750955334481613797036308602030600338543920801888887090121157468790687861971907214156654543837327991999245999362052200528649969276348928641546990865010105614215641048106313016242313311597116532896554055692974224687893612903751695894532603824227216693736790241993273394497059617146527807002468703173791830819150035700065885648612534243346757813078966741031535571899884935925762041879124094123807466836150369043944093438862779730879895483784840264839462739274154594211593735278156044877906368568200199993790304496791088967731273925953995666410356582308736074086023983131736190295246611015231725689883659280712599118571674987976772134659196884795185720298642321506232011697355139215574779516096898891672860101652053692265193265294820352671951143788482329566908951128940028109115506262755163296657394264850504933353922643151863814025266973977903346433433442903637703955273555560384606549537527912527635025653164239510036157428465365054708706187331735546196884481249021839122528351491951281490863410752822144379304294231770115848344993365637976866631447325933491406672950850549389571044038516719547265261497367600783793617022370032366363355444886454875966845210632382615763452669697967645547136634940663742575226429356746082166677390987787537556910398889676847501852479635221908679873730693830393822668276444910658667655910078834227136098617941417443551854025019958070794499133323986560862288051853552158616126751429461922877890453466720316694538829054234315469839506700916661425015840526466654237910452888950224490424432256658909818560802535681312537715050629215417314480984711125160390958009533237452357359789302468296023720421815889970954636889064079817166078984957306476207154911031573088182114683784301554891569034588309905185742888587819178985653841920985220888543436816101107845060840458677210381060185170520873676929521870816972276290816909207553703834885455734496026485571740397748327377728146116468779732698498598744728859482258768080442274683504744701412194827345191560252726298698529531297784157579098354293829517947636679726356489126188069359698902086256867222347161962815162746818457794538024854951332515502959084128150981659625730868979944158470255540241901449904953128115826358870888156297438089421551888952089234060388198574352990985439711844783613430171739871977864259714718234150862804360076818304354471625280694256743339816835204306353657210528906322703775836311632861652799942002555944708238408627503624367516853711959706232470241643776704645392676327843060791998628785369034324269631742901219003218690496522067504429525634919496544524898707511635317987869933314383465356575640452878771210972523922320169862102722052142747850272423993198341238577609712024164993221185065277431466119182108412891182353342283846846654410874257504787051304059426710476960957562546797843929533663682998600044837683569773371938316339472804777826016266641622673327044233722907450519730299857794455552173237817815985190371182364207497967753350867076135303910372734917665934601530986133311565040574712979028957184823592466547162523816781793535557447265920555744804424726246127989631976542667261437050656954149636533888351107372426301285281036029241104851370094234568409167501907125903956836867832801 651033853301146530002202453814705566311214876620854742308391050144536098900163123793323400631010983018302903737505318568061586023006689632030477904908686229452678634857804337999094500395666040884762760297821999636224243159159066508473084639191534966174496198487002144920573670001516584949592051791420942524436462413182652751724774124475568231114473344980847156498044024676035458170875420256074691800571586807794246268395203921893507795899614825314845014435067121132364459295293992085564456278534856559510586110091819992871000878149529431294988994916755782083887798414610375190224648834858688614547889626397715519194025547070724156649797435246225074278549566942286465201132193614586581963464931770642320601397916204534199656108756786220327368495513633705537965602908677168604683488882734699948164578393073541830497480037255638115739446702105578801767083057931847722512385525958903618195892586668966367668210467681137336764455898728894422074878406680932160064331841950996438476441614537915293424889762944300655615149197639937069773545983936356937374202891668146173114301364453938257410602599058003083175667932029229875257573687200340063823870098295925522954252755946630079963044348447186831776943984530889528249366937915130150099372473356101115255823650784758500416002674788905139576565073640601939274501169099117924662666665217970001827776436231625365946460058496850527812770590327263189307948942047903172661893778159646546771503425438403119317751983986540239485463945655653546227557680315222273386521549335948969868628995517470975268401170861350972512045181721736256596992647553827886959059771429205244901459156818605929032109046897675394097073053705962794907389426077660220739334346440623286284180095329475987573039980084494906296151913955253155398765634546150870305146143548826366615752877271874828443910139555661773639376479017310626381163934586802378496680959258074903105965766034511437524096825166102565353329606845806117715664243436750351934141953351468452871495636151100086317740482524436955435109180542940303572946351764115264325366750602952186967064130865361638903211529914993789984402845798586856672810480751786340183864116095442352361114963153346196557918065797103041635383136602430435198911052527140074679541194197031847552203042460944952515037066465949147790649043718319641803219663087740649560938025707688789953362589684510799835078011440992064503189534646191315561705353012606557244815224130294776065414967500576348980209568592688759870504586914348291403751431675444181741648334094398034064400417098514695273354807031327796087899806014982895615132171000869584833486032718970952188995700986817973936701517391758770304867508341119801462905029995958015277298839391920280220078524491645566949175007221004082639137076402010255411653993406438269273924259388120046770123813189824175726040679008447330081113829610663901301369680159835103116660372038081633337144649422381671656422626531839477560607557764936105140123940338819818342595209580111016316064661325292949057119059655815772109018935529142760390045925473804748959045835121997507485672232795963365582608808748563891480726702345313158735566207347985369957599003902550951060900081597620809548055544201121599448974180128588958002713460379656818035148777454708767896810145866757303053606572258572762628263287016991190357921046350257052379007160745750395106865123 1053394902468068017509135815582667719109406831878677306551856770178452715043228101041777352769404595658419807116424427783824359154569440587364959518705722538054709235196348258800983387485787198353553448159793906850380897702996394500472330638553587166703146167763351073562120660866526690563807692839527255540678775724779769284621328180168542455802366957884598852392576628500262674864612210498067965195068646424940774075397672625067299626718764861014910900083679655375711217108372958826595991850434741495436348151970944086994808344985679800338933088355618561814767693898395215455064111574132843208759483361675871564071931915638924356643587739743016163246280840868240460867542550196895318037550955753774056791693162815549431381798640445501039967614085308693514737737567874053399869209181377021454396590090428681046072259553352537007412306803757632494032276323226668075184336669747385947762801537797906395777325973943892500061113292993744927008232329324084023878357108924974341822875047980818931128845036499861040221698735167849597408571637100596447410360320133511227823007551785673803607487080307024922298196283521181156748437097953162208203174392527695638802597749312268056829675795773120323183616935381438917820410976431849697364633970723701899049440673154790866779358119675360015543410284272984555037953838797085570209803300158633744403002865588371448113137449484638065369680989216940036809801421683125081341767508853476940594171701883313777985407894065374466621562563597070989779411705335180344181020682659935530730917047371023133884527922290812895389935635188456573291531476608062202428899278130121906326474997345072583270019499786625618587497485962621704725950228613341533277049397069838703598661080040601147963997989617732358653511703257721451422486056362040841259783032612906183781831862229181304651065050587234861821491162801612181272732969175112283682423847845894082091619607955496658412640261982203673198390447304483328096724428607271225611071475222285425147786453060307640021575367980171451461594752283338051900324079910231733105099449101550931695923613124129719345486213419738491396597673143778416925536779450315871481648273674540706654944481100982876284274554923291110995082038688687302421258214489955237426359651991569872407154374976447911599165217447608773521518023662478112058759904989190554514066141534047660841518887122600221386966963530226124891388108999182301001417197796219987416555096108159035780133201651439153340286386897043231495785281171091631220586635981797838952177240417101809900712049960167495215357362976036034496527309639350412468844130707102055075129809423616344865323544047609972565486886426083039936610409560123020153401552063462444802933758888464805118786036126963554819108321604469439214777529280781466384177915726608131376646311530867897042547806388165414303650391032612323302298894888095367420551788572726285470002655884928287748018906927168722960482053242316438518170104562780034673787623337419863180278779353482954632404134130070775073385701278489099153252658436593280120345783268260301132283652937982697856854597003461333335959675824699195391099437262979093337097193481296934998173716881579908245723674064167972071872325994657156896240100684333762427439706507646450011691444716145818553764295503291191404713944684874047909299316258096041728015280918666219880914286649707231974697924 1704428755769214547511338269397373285420621708499532048860247820322988813943391224835100753400415578676722710853929746351885945177576130219395437423614408767507387870054152596800077887881453239238316208457615906486605140862155461008945415277745122132877642366250353218482694330868043275513399744630948198065115238137962422036346102304644110686916840302865446008890620653176298133035487630754142656995640233232735020343792876546960807422618379686329755914518746776508075676403666950912160448128969598054946934262062764079865809223135209231633922083272374343898655492313005590645288760408991531823307372988073587083265957462709648513293385174989241237524830407810526926068674743811481900001015887524416377393091079020083631037907397231721367336109598942399052703340476551222004552698064111721402561168483502222876569739590608175123151753505863211295799359381158515797696722195706289565958694124466872763445536441625029836825569191722639349083110736005016183942688950875970780299316662518734224553734799444161695836847932807786667182117621036953384784563211801657400937308916239612061018089679365028005473864215550411032006010785153502272027044490823621161756850505258898136792720144220307154960560919912328446069777914346979847464006444079803014305264323939549367195360794464265155119975357913586494312455007896203494872469965376603746230779301819996814059597507981488593182451579544203226117750363731028254003661287013123487365675127321716897303159878051914706107026509252724536006969385650402617567542231995884500599546042888494109152929093152163867901980816910192829888524124161890089387959049559327151227934154163678512302128546684301012684570539668584499633339654691001754016383743510461989882841175370077135537037969702227264949663617212974606821251690908191711564929176161732550397584739501056133094975190142896635460867641818922807653896903761914662179104807103968985197585373990008095936737087148306238551720054150289445812388672044021577545213428573753878019282089211407726339315850504608406896703932826278355473270431674346997430466199704503118662987743989491358248697743334732281381000518942365273598347260202102211665512389769983059016059444254329072842192620720394152630465175291117737620169267017095312105900846188601719959357417437392864114202283913557921312167067380797753861979568076931204075004167241736450794881476807111021222044974971218189394577643645373616563122550808826544661370320238453811845548169152015502320495955489731991366289868085439922624338067657242020693825574511499843965112467058682190488712170007363830584427115654333308083976301707971639908615842142587297054319245034427946502188403817841810241477917901242821616306582059420460080232598280385085338864560618609121768283328825473521853914605682791721795831909133046400650570570918987943812671619577989590029691070041059653383412724498759268721921468732561388586663027923009921085163556349550394616904679774155916078777662327716139813911563676239681522873988933593970948468795455363724130504760934304871262271593965736040510391708742065050091329488059980205342526829799424698918568484573263086871826139608292252072663400829282304955772720784130859306623755661788781619927870195778756345214280812922720430153166887303268046840222170854586450574441370048494458320516943446810537562603275087232085936327268923272259921447395457627081563047 2757823658237282565020474084980041004530028540378209355412104590501441528986619325876878106169820174335142517970354174135710304332145570806760396942320131305562097105250500855601061275367240437591869656617409813336986038565151855509417745916298709299580788534013704292044814991734569966077207437470475453605794013862742191320967430484812653142719207260750044861283197281676560807900099841252210622190708879657675794419190549172028107049337144547344666814602426431883786893512039909738756439979404339550383282414033708166860617568120889031972855171627992905713423186211400806100352871983124375032066856349749458647337889378348572869936972914732257400771111248678767386936217294008377218038566843278190434184784241835633062419706037677222407303723684251092567441078044425275404421907245488742856957758573930903922641999143960712130564060309620843789831635704385183872881058865453675513721495662264779159222862415568922336886682484716384276091343065329100207821046059800945122122191710499553155682579835944022736058546667975636264590689258137549832194923531935168628760316468025285864625576759672052927772060499071592188754447883106664480230218883351316800559448254571166193622395939993427478144177855293767363890188890778829544828640414803504913354704997094340233974718914139625170663385642186571049350408846693289065082273265535237490633782167408368262172734957466126658552132568761143262927551785414153335345428795866600427959846829205030675288567772117289172728589072849795525786381090985582961748562914655820031330463090259517243037457015442976763291916452098649403180055600769952291816858327689449057554409151508751095572148046470926631272068025631206204359289883304343287293433140580300693481502255410678283501035959319959623603175320470696058243737747270232552824712208774638734179416601730237437746040240730131497282358804620534988926629872937026945861528654949863067289204981945504754349377349130509911750110501454772773909113100651292803156284903796039303167068542271715366360891218484779858358298685109616407373594511584578730535565648806054050358911357113621077594183956754470772777598192086143690523884039652418083147160663444523765671003925355311949126467175643685263625547213979805040041427481507050549532260498180171592366511792413840775713367501361166694833685091043275865920739473066121758589070308775784111636400363929711242609011938501444314285965752644555917564539748605046532077925416346612847625681370803454655660782342386775222862075149256531553844924703639039859646002814928601653865824517018849685704069532983399865080954425293683720552820432415073694983745651566203641919642789082037919067675290243924850178088327461365841769708134122882904883166357168849890457650596745572676587391650429942961068692134963573188180009824859654532027216882449855840855219425966155004333341461073671976685711619386854636142473257305287674056665683807938208833182463276719117577386733016472354596947766890496174487699187013659544703152768287076925580872929585434499203890462212793970415524252402329320630737492010325351223613140997962903199381426802886032254528160397962282262925576871271345409760594310579239953946437665710767552347429725956753691800196190435913241454381497256482857592873394949718058531666887000405004338736873339685863034461628320858446861919533183273813951608187589492140835734045164859056260971 4462252414006497112531812354377414289950650248877741404272352410824430342930010550711978859570235753011865228824283920487596249509721701026155834365934540073069484975304653452401139163248693676830185865075025719823591179427307316518363161194043831432458430900264057510527509322602613241590607182101423651670909252000704613357313532789456763829636047563615490870173817934852858940935587472006353279186349112890410814762983425718988914471955524233674422729121173208391862569915706860650916888108373937605330216676096472246726426791256098263606777254900367249612078678524406396745641632392115906855374229337823045730603846841058221383230358089721498638295941656489294313004892037819859118039582730802606811577875320855716693457613434908943774639833283193491620144418520976497408974605309600464259518927057433126799211738734568887253715813815484055085630995085543699670577781061159965079680189786731651922668398857193952173712251676439023625174453801334116391763735010676915902421508373018287380236314635388184431895394600783422931772806879174503216979486743736826029697625384264897925643666439037080933245924714622003220760458668260166752257263374174937962316298759830064330415116084213734633104738775206095809959966805125809392292646858883307927659969321033889601170079708603890325783361000100157543662863854589492559954743230911841236864561469228365076232332465447615251734584148305346489045302149145181589349090082879723915325521956526747572591727650169203878835615582102520061793350476635985579316105146651704531930009133148011352190386108595140631193897269008842233068579724931842381204817377248776208782343305672429607874276593155227643956638565299790703992629537995345041309816884090762683364343430780755419038073929022186888552838937683670665064989438178424264389641384936371284577001341231293570841015430873028132743226446439457796580526776698941608040633462053832052486790355935512850286114436278816150301830555605062219721501772695314380701498332369793181186350631483123092700207068989388265255002617935894762846864943258925727966031848510557169021899101103112435842881700089203054158598711028508964122231299854520294812673053214506824687063369609641021968659796364079416256012389270922777661596748524145861638161344368773312325869209851233639827569785274724616145852158424073619782719041143052962664074476017520562431281840736822263831056913472662503680543396289929534127662299413873076739295736585066659471229539955470157981278297876507214228365017341971476469262771296281880339828389440101497830936984077531876192781702990763695665381540948017028636796734123045334892361493708790938973962034116465865569863694061766660419566245362608663386014716182303364963398955449234975796515157364181798355674979255416482922606740646364909975841733992700932677787453368843784667891045544144594363032531114731630069124343885613904864394726037849062643328711730948129918346019626269512194291412790628270675725429218212314301610750689899226226026757220670896529341725040798223334395223147098841677795846368065361141129200752390401314942629057943108541908256602310731173096644971225369134751716479563597482423995139861544909719158449841626858971185387745535311728066386214669586668662310179203287746040282252986105371889057854991454913178243388180321354978571767668984424522808270505899887935456512764400757181440622486137824018 7220076072243779677552286439357455294480678789255950759684457001325871871916629876588856965740055927347007746794638094623306553841867271832916231308254671378631582080555154308002200438615934114422055521692435533160577217992459172027780907110342540732039219434277761802572324314337183207667814619571899105276703265863446804678280963274269416972355254824365535731457015216529419748835687313258563901377057992548086609182173974891017021521292668781019089543723599640275649463427746770389673328087778277155713499090130180413587044359376987295579632426528360155325501864735807202845994504375240281887441085687572504377941736219406794253167331004453756039067052905168061699941109331828236336078149574080797245762659562691349755877319472586166181943556967444584187585496565401772813396512555089207116476685631364030721853737878529599384279874125104898875462630789928883543458839926613640593401685448996431081891261272762874510598934161155407901265796866663216599584781070477861024543700083517840535918894471332207167953941268759059196363496137312053049174410275671994658457941852290183790269243198709133861017985213693595409514906551366831232487482257526254762875747014401230524037512024207162111248916630499863173850155695904638937121287273686812841014674318128229835144798622743515496446746642286728593013272701282781625037016496447078727498343636636733338405067422913741910286716717066489751972853934559334924694518878746324343285368785731778247880295422286493051564204654952315587579731567621568541064668061307524563260472223407528595227843124038117394485813721107491636248635325701794673021675704938225266336752457181180703446424639626154275228706590930996908351919421299688328603250024671063376845845686191433702539109888342146512156014258154366723308727185448656817214353593711010018756417942961531008587055671603159630025585251059992785507156649635968553902162117003695119775995337881017604635491785409326062051941057059834993630614873346607183857783236165832484353419173754838459061098287474168123613301303045511170220459454843504458501597497316611219380810458216733513437065656843673826936196903114652654646115339506938377959833716659030590358067294964952971095126972007764679881559603250727817703024230031196411170421842548944904692381002265074415540937286635891310979537249467349485703458514209174721253144784793304674067682204666533506440068851974106817966509148934485451692202048018919608817221152931679507096910910758924813642060640263282437090440166598503030314187474935321739985831204368703151696761501096381561896851235974163560746335966241700749189617166538119029876107145274994580893604823198503784637538984305691510597654572823974505155722850305186269846565312618084866254165754109754474943066629685359443991298875609938098155851558852355464705004335818699625523110471510299598696373992188403606754835963272468541006867983343136736699994395538886338751528482902988629771678145807100625272673196108708488789309937703558770929179525507747822110214654626232722538285685359892812093320098770394681771866692762715752538555770055906011741289683405196763427624805369187651397677293350834942892184589450440784863665596115552394411318615113702289003528262576650582828123043807435686145338913677202704163903555944855396459251915116727866184389440200088527431286442341453779713839543644102256541592915485787345194084989 11682328486250276790084098793734869584431329038133692163956809412150302214846640427300835825310291680358872975618922015110902803351588972859072065674189211451701067055859807760403339601864627791252241386767461252984168397419766488546144068304386372164497650334541819313099833636939796449258421801673322756947612517864151418035594496063726180801991302387981026601630833151382278689771274785264917180563407105438497423945157400610005935993248193014693512272844772848667512033343453631040590216196152214761043715766226652660313471150633085559186409681428727404937580543260213599591636136767356188742815315025395550108545583060465015636397689094175254677362994561657356012946001369648095454117732304883404057340534883547066449334932907495109956583390250638075807729915086378270222371117864689671375995612688797157521065476613098486637995687940588953961093625875472583214036620987773605673081875235728083004559660129956826684311185837594431526440250667997332991348516081154776926965208456536127916155209106720391599849335869542482128136303016486556266153897019408820688155567236555081715912909637746214794263909928315598630275365219626997984744745631701192725192045774231294854452628108420896744353655405705958983810122501030448329413934132570120768674643639162119436314878331347405822230107642386886136676136555872274184991759727358919964362905105865098414637399888361357162021300865371836241018156083704516514043608961626048258610890742258525820472023072455696930399820237054835649373082044257554120380773207959229095190481356555539947418229232633258025679710990116333869317215050633637054226493082187001475119095762853610311320701232781381919185345156230787612344548959295033369913066908761826060210189116972189121577183817364333400708853195838037388373716623627081081603994978647381303333419284192824579428071102476187762768811697499450582087683426334910161942795579057527172262785693816530454921606221688142212353771612664897213352116646041921564559281568535625665539769805237961551761305356463556388868303920981405933067324398102430186467629345827168388402709559319845949279947356932876881094795614143161618768346639361458672772506769873537415045130664574593993063786768371844096137571992521650595364620978555342272808583186917718217018250212116308055368507071910615927125389407891423105486177555352227683917219260810825236498964045403355770271125765446769321647052545224414985819864347432792685556516889516746166568140450714394971623338938139789651318805183940474506783450246231603620325659593808804649527698485173913438089632938964927256411717507189717777826413900661164364768468638983785519867566857314969650207402678367458171017220818186583168541737566487489634809964268067319842050680911473936273298741608940775926913905616256303008131693292845056397382791789187543410191001517054444193059406523303135236823960307158082445871262709380985799343323107269834468669874502529258141965969558597728895948398625326920803090920688393457997155206282728418718639556379667030945872680908506991653771115945138460042912995893515106153853498399113849120283197940007507494600721450340413020532429009830398540374608584590302329773384754565394021270289800501447824315256328962865252414791706117614889433084953959455690269275445002710387914165093360116046505744418771856196415710965149724285613727479100615020942350096926409831331909007 18902404558494056467636385233092324878912007827389642923641266413476174086763270303889692791050347607705880722413560109734209357193456244691988296982443882830332649136414962068405540040480561905674296908459896786144745615412225660573924975414728912896536869768819581115672157951276979656926236421245221862224315783727598222713875459337995597774346557212346562333087848367911698438606962098523481081940465097986584033127331375501022957514540861795712601816568372488943161496771200401430263544283930491916757214856356833073900515510010072854766042107957087560263082407996020802437630641142596470630256400712968054486487319279871809889565020098629010716430047466825417712887110701476331790195881878964201303103194446238416205212252380081276138526947218082659995315411651780043035767630419778878492472298320161188242919214491628086022275562065693852836556256665401466757495460914387246266483560684724514086450921402719701194910119998749839427706047534660549590933297151632637951508908540053968452074103578052598767803277138301541324499799153798609315328307295080815346613509088845265506182152836455348655281895142009194039790271770993829217232227889227447488067792788632525378490140132628058855602572036205822157660278196935087266535221406256933609689317957290349271459676954090921318676854284673614729689409257155055810028776223805998691861248742501831753042467311275099072308017582438325992991010018263851438738127840372372601896259527990304068352318494742189981964024892007151236952813611879122661445441269266753658450953579963068542646072356671375420165524711223825505565850376335431727248168787125226741455848220034791014767125872407536194414051747161784520696468380594721698516316933432889437056034803163622824116293705706479912864867453992404111682443809075737898818348572358391322089837227154355588015126774079347392794396948559443367594840075970878715844957696061222292038781031697548059557098007097468274405712669724732206982731519388528748417064804701458149893188978992800010822403643937724512481605224026917103287783852945934644969226843143779607783520017536579462717013013776550708030992517257814273414461978868397050732340486532568005403197959539546964158913740379608776019131595772378413067645208586538683979005029466663121710631214381382470909444358546507238104926657358772591189636069561402405170364045604129910566646250069889276711194617420876139613561694158900437512066395451712294373738042448425673665051361473319785265399578403072088409245350538977537097637721166925360311490798177507801224459986270294999986484174939090817158053473431418527016031067199283394644575784258780100761171680513473434844941662673149681614875391010557673697460416792675904656529580685404708304846665583690748241808238626135370905204491866241106287544851697411862087796125006243035714111988564743791755780515491538843578796270430550986878130692724122536043317502808720807421402985432246771737647704404829521221071821435629291880230626097016768084385808236166540749771034293263668410966593866884465864436043908854724684862586277821906392054169169755132024487623412704258028346255709600671930106303181233483266793174040743114637050350680946415681608415615150113318784591539515835242914749925050575578423867636658394433179000947565784373417008476843912690133858971944723846997407491178065327567022744717277483943012412197176525993996 30584733044744333257720484026827194463343336865523335087598075825626476301609910731190528616360639288064753698032482124845112160545045217551060362656633094282033716192274769828808879642345189696926538295227358039128914012831992149120069043719115285061034520103361400428771991588216776106184658222918544619171928301591749640749469955401721778576337859600327588934718681519293977128378236883788398262503872203425081457072488776111028893507789054810406114089413145337610673530114654032470853760480082706677800930622583485734213986660643158413952451789385814965200662951256234402029266777909952659373071715738363604595032902340336825525962709192804265393793042028482773725833112071124427244313614183847605360443729329785482654547185287576386095110337468720735803045326738158313258138748284468549868467911008958345763984691104726572660271250006282806797649882540874049971532081902160851939565435920452597091010581532676527879221305836344270954146298202657882582281813232787414878474116996590096368229312684772990367652613007844023452636102170285165581482204314489636034769076325400347222095062474201563449545805070324792670065636990620827201976973520928640213259838562863820232942768241048955599956227441911781141470400697965535595949155538827054378363961596452468707774555285438327140906961927060500866365545813027329995020535951164918656224153848366930167679867199636456234329318447810162234009166101968367952781736801998420860507150270248829888824341567197886912363845129061986886325895656136676781826214477225982753641434936518608490064301589304633445845235701340159374883065426969068781474661869312228216574943982888401326087827105188918113599396903392572133041017339889755068429383842194715497266223920135811945693477523070813313573720649830441500056160432702818980422343551005772625423256511347180167443197876555535155563208646058893949682523502305788877787753275118749464301566725514078514478704228785610486759484282389629420334848165430450312976346373237083815432958784230761562583709000401280901349909145008323036355108251048364831436856188970947996186229576856425411996960370709427589125788131400975892182808618229855723504847256406105420448328624114140957222700508751452872156703588294029008432266187141880956787588216384381338728881426497690526277951430457123165230316065250195696675813624913630089087583306414955147065610295473245046982320382867645461260614239383315423331930742884504979930254931965171840233191812187714756888738516542861739728050534479452043881087967398528980637150391986312450752158471444208438076117113904018073569770980621136304842444967860447759413044423242565620628738537828443085052344341040607852632096209197140842239197983280165539466493848752724550355527577057627021540549847566911297819110108122544114419238144542468259470587914193786445905113505619187984815187038794674080402756577588633432749393402105108335386640610078555276091277487961504913703617263002558417169470446762550094971151314490474765239592090964585259389327413960294614283647502373876119635551989047314767597858479792928060245552568283604252307685563420211752629067706050013692462535313011632023641401758631045444410435105246340436951898216116597937634040920502381087657706456042665465011508821596114084702454445950276172287582101836959959195878277743800920262708372640902350941294501845332298426293109338607007857903003 49487137603238389725356869259919519342255344692912978011239342239102650388373181035080221407410986895770634420446042234579321517738501462243048659639076977112366365328689731897214419682825751602600835203687254825273659628244217809693994019133844197957571389872180981544444149539493755763110894644163766481396244085319347863463345414739717376350684416812674151267806529887205675566985198982311879344444337301411665490199820151612051851022329916606118715905981517826553835026885854433901117304764013198594558145478940318808114502170653231268718493897342902525463745359252255204466897419052549130003328116451331659081520221620208635415527729291433276110223089495308191438720222772600759034509496062811806663546923776023898859759437667657662233637284686803395798360738389938356293906378704247428360940209329119534006903905596354658682546812071976659634206139206275516729027542816548098206048996605177111177461502935396229074131425835094110381852345737318432173215110384420052829983025536644064820303416262825589135455890146145564777135901324083774896810511609570451381382585414245612728277215310656912104827700212333986709855908761614656419209201410156087701327631351496345611432908373677014455558799478117603299130678894900622862484376945083987988053279553742817979234232239529248459583816211734115596054955070182385805049312174970917348085402590868761920722334510911555306637336030248488227000176120232219391519864642370793462403409798239133957176660061940076894327870021069138123278709268015799443271655746492736412092388516481677032710373945976008866010760412563984880448915803304500508722830656437454958030792202923192340854952977596454308013448650554356653737485720484476766945700775627604934322258723299434769809771228777293226438588103822845611738604241778556879240692123364163947513093738501535755458324650634882548357605594618337317277363578276667593632710971179971756340347757211626574035802235883078761165196952114361627317579684818979061393411177938541965326147763223561573406112644339005413831514369035240139642892103994299476406083032114727603969749594393004874713973384485978297156780648658790165597270597098252774237187742938673425851526583653687921381614249131061648175835184066407421499911395728419640766593245851044460439512640879072997187395789003630403335242722608968287865449694475032494257947352019085057632256545543134323693515000288521600874175933542215860843997138336217274303992974413597513898243173661034542154138094945933828137295885018429580978725688565454340948641190163820251976618457714503438062601288843108890727824454052554831858476035059731154057620207501345721389910218341916519897286003713757534246971600207698515936658400072841444123023429438129258660374242641317769782358086193046668724314599988785220706782996239880121558384039200029481619225494183931776570967554286212923981552848019184419627524094829230871429958112887276083512680473393751685441264967407387938390542268198179386851381940587491533323977899200751800139098448253558282694614096240760585499988032956169492282721066070749966637606737453359384332173186832916010657413961759614364392641616192865506908194932671788559047485455927286852633506631731748050952825512041896922900621205967716040589932689232772479135633446897841956660999110313803871886012136715745644109705780132080416268861524590049575910236121750804184383896999 80071870647982722983077353286746713805598681558436313098837418064729126689983091766270750023771626183835388118478524359424433678283546679794109022295710071394400081520964501726023299325170941299527373498914612864402573641076209958814063062852959483018605909975542381973216141127710531869295552867082311100568172386911097504212815370141439154927022276413001740202525211406499652695363435866100277606948209504836746947272308927723080744530118971416524829995394663164164508557000508466371971065244095905272359076101523804542328488831296389682670945686728717490664408310508489606496164196962501789376399832189695263676553123960545460941490438484237541504016131523790965164553334843725186278823110246659412023990653105809381514306622955234048328747622155524131601406065128096669552045126988715978229408120338077879770888596701081231342818062078259466431856021747149566700559624718708950145614432525629708268472084468072756953352731671438381335998643939976314755496923617207467708457142533234161188532728947598579503108503153989588229772003494368940478292715924060087416151661739645959950372277784858475554373505282658779379921545752235483621186174931084727914587469914360165844375676614725970055515026920029384440601079592866158458433532483911042366417241150195286687008787524967575600490778138794616462420500883209715800069848126135836004309556439235692088402201710548011540966654478058650461009342222200587344301601444369214322910560068487963846001001629137963806691715150131125009604604924152476225097870223718719165733823453000285522774675535280642311855996113904144255331981230273569290197492525749683174605736185811593666942780082785372421612845553946928786778503060374231835375084617822320431588482643435246715503248751848106540012308753653287111794764674481375859663035674369936572936350249848715922901522527190417703920814240677231266959887080582456471420464246298721220641914482725705088514506464668689247924681234503991047652427850249429374369757551175625780759106547454323135989821644740286315181423514043563175998000355042664307842939221085675600155979171249430286710933755195405886282568780059766057780079215328108497742034999344778846299855207767828878604314757882514520332538772360436429932177582870300597554181462235425799168394067376763523465347219460753568565558787859163984541263319388662583345530658434040204697866841016379370675835383156167062134790172925531284175927881220722254234247906378769354131434985848749299042876611488795567865346419497881624859813655963983321585791582150132702728776929158711876138718402747126964297595434673691136700921002920178913470664630743911342018648756170359604949630344754365386879067809404839358175856383353006983589517278190853809015901819698944791322907933759957966543424708111329335126021140782348381028971953393815927524338999803119761386154593080887004384309425607817852376917496934339206816598722965831359603957961355256599144882230409946355560012714960729481822533255077966298563569990165337059528425862213852896978261598614636705135540022003484259880579545863678026883159305736963636639858750253127763286481667809628056855176929204497530549596691302834003457920561173627289585404847848345988586866432544278010558327662010381505601441510828886563838087892848118128948581212150763831081890414459546564372414152772982767210156026435381874336529231089411192241800002 129559008251221112708434222546666233147854026251349291110076760303831777078356272801350971431182613079606022538924566594003755196022048142037157681934787048506766446849654233623237719007996692902128208702601867689676233269320427768508057081986803680976177299847723363517660290667204287632406447511246077581964416472230445367676160784881156531277706693225675891470331741293705328262348634848412156951392546806248412437472129079335132595552448888022643545901376180990718343583886362900273088370008109103866917221580464123350442991001949620951389439584071620016128153669760744810963061616015050919379727948641026922758073345580754096357018167775670817614239221019099156603273557616325945313332606309471218687537576881833280374066060622891710562384906842327527399766803518035025845951505692963406590348329667197413777792502297435890025364874150236126066062160953425083429587167535257048351663429130806819445933587403468986027484157506532491717850989677294746928712034001627520538440168069878226008836145210424168638564393300135153006907904818452715375103227533630538797534247153891572678649493095515387659201205494992766089777454513850140040395376341240815615915101265856511455808584988402984511073826398146987739731758487766781320917909428995030354470520703938104666243019764496824060074594350528732058475455953392101605119160301106753352394959030104454009124536221459566847603990508307138688009518342432806735821466086740007785313969866727097803177661691078040701019585171200263132883314192168275668369525970211455577826211969481962555485049481256651177866756526468129135780897033578069798920323182187138132636528388734786007797733060381826729626294204501285440515988780858708602320785393449925365910741366734681485313019980625399766450896857476132723533368916259932738903727797734100520449443988350251678359847177825300252278419835295568584237250658859124065053175217478692976982262239937331662550308700551768009089878186618352674970007535068408435763168729114167746085254310677884709395934289079291729012937883078803315640892459036963784249022253200403204125728765642435161424907139681384183439349428718556223377349812426361271979222742283452272151381791421516799985929007013576168508373956426843851432088978598720238320774708086470259607906708255836520652743008464383971900801510468132272406713013863695077603478010453125262330123386559513694369350383444688663008966106467747145019925019556939528538240880792366868029678159509783841197014706434729396002642304516311205838539344529437662534432772313952954705395386873215314201319691590235855025419888726245968559397037979910067528284838245257063408558974512276124846916348468122921126039409612537874112514783425848427712540707628983067676276062340262561105266019953004635267739308100114555832804137022228502587355992593845409143564493987051537957122147367099928365862273627002272004441591763570078246556835853107443116638434749008284586147197817334293950554983158908868673915195665457831887547889366088859667524310467411179672875694855397290635528054959653752163300611934427993520766043190323020972031937086043773943895629569242421247818545397363037457791623974622562505406017100914142218911479580094039539691944586174933458948867978097546191374200061659042973721339745960085609580322464567702967902551175292208482119932905063183479017551025431450246765352840215376625697001 209630878899203835691511575833412946953452707809785604208914178368560903768339364567621721454954239263441410657403090953428188874305594821831266704230497119901166528370618735349261018333167634201655582201516480554078806910396637727322120144839763163994783209823265745490876431794914819501702000378328388682532588859141542871888976155022595686204728969638677631672856952700204980957712070714512434558340756311085159384744438007058213340082567859439168375896770844154882852140886871366645059435252205009139276297681987927892771479833246010634060385270800337506792561980269234417459225812977552708756127780830722186434626469541299557298508606259908359118255352542890121767826892460051131592155716556130630711528229987642661888372683578125758891132528997851659001172868646131695397996632681679384819756450005275293548681098998517121368182936228495592497918182700574650130146792253965998497277861656436527714405671871541742980836889177970873053849633617271061684208957618834988246897310603112387197368874158022748141672896454124741236679908312821655853395943457690626213685908893537532629021770880373863213574710777651545469699000266085623661581551272325543530502571180216677300184261603128954566588853318176372180332838080632939779351441912906072720887761854133391353251807289464399660565372489323348520895956836601817405189008427242589356704515469340146097526737932007578388570644986365789149018860564633394080123067531109222108224529935215061649178663320216004507711300321331388142487919116320751893467396193930174743560035422482248078259725016537293489722752640372273391112878263851639089117815707936821307242264574546379674740513143167199151239139758448214227294491841232940437695870011272245797499224010169928200816268732473506306463205611129419835328133590741308598566763472104037093385794238198967601261369705015717956199234075972799851197137739441580536473639463777414197624176722663036751064815165220457257014559421122343722622435385317837810132926280289793526844360858132207845385755933819578044194361397122366491638892814079628092091961474286078804281707936891865448135840894876790069721918208778322281157429027754469769721257741628231118451236999189345678590243764896090688840912728787280281364266561469020835874956170321896058776300775632600044118090227925137540466360298327296256947976333252357660949008668887165467027990227575893065045185766600855725143756279393278429195852900777661782772488787171136222161113145358533140239891317923524963867988724014192830698353000493420984120224354464085657434172316031927190340038094337362819323015323399937105260318040900088980998949468989168405427207730682635729796546693222488308005107219017377232288371166778855411302057985819836876692177882039207352428173953712962601811164016211443890958825277804576883616327945987661336667903493790171299343276740447986932750171699234820124381359088697909285063155558818938802720596396104264883731029428227280649510567698119638350496448450743424130451117879531425919195950172681264076651137293470033995771068076963138012043880157798106020403925348927286657611890687339171537230377297378870478102995474601860568007388315277456565963326578274541431804316327428440028126558377130452944017276529988479051792815710890545606811809232594078214558161534615331534049792965634838772854534085678045950689173577460813324583294583929626568867497003 339189887150424948399945798380079180101306734061134895318990938672392680846695637368972692886136852343047433196327657547431944070327642963868424386165284168407932975220272968972498737341164327103783790904118348243755040179717065495830177226826566844970960509670989109008536722462119107134108447889574466264497005331371988239565136939903752217482435662864353523143188693993910309220060705562924591509733303117333571822216567086393345935635016747461811921798147025145601195724773234266918147805260314113006193519262452051243214470835195631585449824854871957522920715650029979228422287428992603628135855729471749109192699815122053653655526774035579176732494573561989278371100450076377076905488322865601849399065806869475942262438744201017469453517435840179186400939672164166721243948138374642791410104779672472707326473601295953011393547810378731718563980343653999733559733959789223046848941290787243347160339259275010729008321046684503364771700623294565808612920991620462508785337478672990613206205019368446916780237289754259894243587813131274371228499170991321165011220156047429105307671263975889250872775916272644311559476454779935763701976927613566359146417672446073188755992846591531939077662679716323359920064596568399721100269351341901103075358282558071496019494827053961223720639966839852080579371412789993919010308168728349342709099474499444600106651274153467145236174635494672927837028378907066200815944533617849229893538499801942159452356325011294045208730885492531651275371233308489027561836922164141630321386247391964210633744774497793944667589509166840402526893775297429708888038138890123959439878792963281165682538246203549025880865433962949499667810480622091649040016655404722171163409965376904609686129288713098906072914102468605552558861502507001241337470491269838137613835238226549219279621216882841018208477653911268368435434388398300704601526814681256107174606438962600368413615123865772225266104437607740696397592442920386246245896095009403961272929615168810092554781690222898869773207299280201169807279785273116591876340983727486482008407436702534300609560748034558174253161267637496878504534778840180831041700480483911683390602618790610862478576172771909666857349286685214124132796355540067741074195730878408366318384207483888436564770833236389521512367161808795428529354689347116052738552486679340290729358113614135406759414536150045544388152722385861025574215777920334601311310729667963503090190791304868316981436906024358254359870631028530504036536892345022858646654657126778038612139567702905142504541357785927598674348435212126183073819715078879999048527234307234425468835766705194911854643463041690611229131146628629915106400885950204703839014598693448819944368453944379469913533439973665967237078903324311558446791629414826805386203683938581506745811467987777222837300398887815086861116033972861822396385800680461479363309712394672046245837234830853273168317176626044614943461122681278547219170363646408881962338665768897514778863474483148675256324012988325431286406596131922791764207180769732534013924691392117609678583922624425215311174272926948112899350814019999223605465179939252079128468732595375455574023227807008534067666250321716627877476225397966576597984189910952204649785530572340038300167741857079899237017695516810130981336654018583109134168191128486244774830059936769841945493194004 548820766049628784091457374213492127054759441870920499527905117040953584615035001936594414341091091606488843853730748500860132944633237785699691090395781288309099503590891704321759755674331961305439373105634828797833847090113703223152297371666330008965743719494254854499413154257033926635810448267902854947029594190513531111454113094926347903687164632503031154816045646694115290177772776277437026068074059428418731206961005093451559275717584606900980297694917869300484047865660105633563207240512519122145469816944439979135985950668441642219510210125672295029713277630299213645881513241970156336891983510302471295627326284663353210954035380295487535850749926104879400138927342536428208497644039421732480110594036857118604150811427779143228344649964838030845402112540810298416641944771056322176229861229677748000875154700294470132761730746607227311061898526354574383689880752043189045346219152443679874874744931146552471989157935862474237825550256911836870297129949239297497032234789276103000403573893526469664921910186208384635480267721444096027081895114449011791224906064940966637936693034856263114086350627050295857029175455046021387363558478885891902676920243626289866056177108194660893644251533034499732100397434649032660879620793254807175796246044412204887372746634343425623381205339329175429100267369626595736415497177155591932065803989968784746204178012085474723624745280481038716986047239471699594896067601148958452001763029737157221101534988331510049716442185813863039417859152424809779455304318358071805064946282814446458712004499514331238157312261807212675918006653561281347977155954598060780747121057537827545357278759346716225032104573721397713895104972463324589477712525415994416960909189387074537886945557445572412379377308079734972394189636097742549936037254741942174707221032464748186880882586587856736164676887987241168286631526137742285138000454145033521372230615685263405164679939030992682523118997028863040120214878305704084056029021289693754799773976026942300400167446156718447817401660677323536298918678087196219968432945201772560812689144639426166057696588929434964322883185846275200785692207867935300811421738225539914509053855789800208157166416536805757546190199414001404414160622101536761910070687048730262377160508259521036608888923464314659052833522107122724786302665680368410399501495348227456196386103841711299824459721916646400113296478665254304003411630821112263094083218455134639312351904450226850121676797342281779323738619752544696867235245345516279630774881481242124269573740018937069694881395880264961493671450535526120179080033119780088029526183776223593874262974435877547584440009734913099537136253847647292338689257116983559250316656679268656821060631826418677265961613927378929838890067340523002337750454692631382269820011884569168082479371481567394136643675628263073793866205672096642520767159769159388648372867953490985048557831226957538052048206054271895592971690379398185569666812097152306092789783648428940698059424655829939332975150281795465282177664208885929776251060927530640034328616741044896336195813311764386848404650224326983377453809494601084173472568254529535694432059173649997005827544134436974095792808698847080821493501927955055649777005621842750256597339804934116514725903391695230771067488482444969754191188104261155084857364705947058099413354520699468514360691007 888010653200053732491403172593571307156066175932055394846896055713346265461730639305567107227227943949536277050058406048292077014960880749568115476561065456717032478811164673294258493015496288409223164009753177041588887269830768718982474598492896853936704229165243963507949876719153033769918896157477321211526599521885519351019250034830100121169600295367384677959234340688025599397833481840361617577807362545752303029177572179844905211352601354362792219493064894446085243590433339900481355045772833235151663336206892030379200421503637273804960034980544252552633993280329192874303800670962759965027839239774220404820026099785406864609562154331066712583244499666868678510027792612805285403132362287334329509659843726594546413250171980160697798167400678210031803052212974465137885892909430964967639966009350220708201628301590423144155278556985959029625878870008574117249614711832412092195160443230923222035084190421563200997478982546977602597250880206402678910050940859760005817572267949093613609778912894916581702147475962644529723855534575370398310394285440332956236126220988395743244364298832152364959126543322940168588651909825957151065535406499458261823337916072363054812169954786192832721914212750823092020462031217432381979890144596708278871604326970276383392241461397386847101845306169027509679638782416589655425805345883941274774903464468229346310829286238941868860919915975711644823075618378765795712012134766807681895301529539099380553891313342804094925173071306394690693230385733298807017141240522213435386332530206410669345749274012125182824901770974053078444900428858711056865194093488184740186999850501108711039817005550265250912970007684347213562915453085416238517729180820716588124319154763979147573074846158671318452291410548340524953051138604743791273507746011780312321056270691297406160503803470697754373154541898509536722065914536042989739527268826289628546837054647863773578295062896764907789223434636603736517807321226090330301925116299097716072703591195752392954949136379617317590608959957524706106198463360312811844773928929259042821096581341960466667257336963993138576044453483772079290226986708116131853122218709451597899656474580411070635742589308715424403539486099215528546956977641604502984266417927138628695544715743409473173659756700704180565200683915918153315657355027484463138053982027567746925744217455846706583874258066691944501449201051115329577627408741446864405393948123098142402542695755095167103113703366640033683609250781075200903772137690539138277429538608020162881713307721842212199422753666192560168019885747652303252899748198660087078053418083458019343098741141072459439083472776603710766267400476277207445090143067188263089331255372717476765429085770798147179495053901044897075968970664834560784542084107458187656023695823150674828290839469344616973944074516078160654982239644958464917152960449620868011682580348163031294395066057810811220365382680316510536432813060676732788837175743561188055128449417326455476922899138978614589299163270120896568584260340808721540458241697263174048253308133162506014779735936189602159578923151275096276804623514600307778937748193781614822900791769025452579850771941445508163459059020563708698969727325921632247761195532794954906382870377274154814893645248775130008085183999255100735527842122844264219025555834433302874243414457469310459853885011 1436831419249682516582860546807063434210825617802975894374801172754299850076765641242161521568319035556025120903789154549152209959594118535267806566956846745026131982402056377616018248689828249714662537115388005839422734359944471942134771970159226862902447948659498818007363030976186960405729344425380176158556193712399050462473363129756448024856764927870415832775279987382140889575606258117798643645881421974171034236138577273296464487070185961263772517187982763746569291456093445534044562286285352357297133153151332009515186372172078916024470245106216547582347270910628406520185313912932916301919822750076691700447352384448760075563597534626554248433994425771748078648955135149233493900776401709066809620253880583713150564061599759303926142817365516240877205164753784763554527837680487287143869827239027968709076783001884893276917009303593186340687777396363148500939495463875601137541379595674603096909829121568115672986636918409451840422801137118239549207180890099057502849807057225196614013352806421386246624057662171029165204123256019466425392289399889344747461032285929362381181057333688415479045477170373236025617827364871978538429093885385350164500258159698652920868347062980853726366165745785322824120859465866465042859510937851515454667850371382481270764988095740812470483050645498202938779906152043185391841302523039533206840707454437014092515007298324416592485665196456750361809122857850465390608079735915766133897064559276256601655426301674314144641615257120257730111089538158108586472445558880285240451278813020857128057753773526456420982214032781265754362907082419992404842350048086245520934120908038936256397095764896981475945074581405744927458020425548740827995441706236711005085228344151053685460020403604243730831668718628075497347240774702486341209545000753722487028277303156045593041386390058554490537831429885750705008697440673785274877527722971323149919067670333127178742975001927757590312342431665466776638022199531794414357954137588791470872477567222694693355116582536335765408010620634848242405117141447509031813206874131031603633785725981386632724953925893428102898927639330047280075919194576051432664543956934991512408710330370211278792909005845521181949729685513216932961117599743141264894337104975868891072705224002930509782548680165018839618034206023040878101960020707852873537555477375795203122130321297558006408333979983338344614745679716369633581039039562559127499477166578232781714894600205322017224790500708921813007347870533619897771007383036055417908204420089262287151287047740779281894304149546457521661691336283178423431979781318440175107579601859681613217361715576950007023523482511516810303403654323924499783779400184171822339647912051986133586489717597216824445456667828423826914859038005357563122292538800089569925843707707719842910770210950912011110587750144341234448848445317055107437920120218780256660055448301654016342952897284768349272413588734588406129404503440074918358503987840713494147918233065755396174982323794808553922274313551916361850761924549694651316709302624793814082581924874207402350975549247953989007983573375602079654258433009201391952410316448311150517332850942675449585678316075882482259251867719410789520463229253876687897538201154637705162980210182208271329619548640470360779152672481700070489719030227105419303882920540380360973656768978168778974214576018 2324842072449736249074263719400634741366891793735031289221697228467646115538496280547728628795546979505561397953847560597444286974554999284835922043517912201743164461213221050910276741705324538123885701125141182881011621629775240661117246568652123716839152177824742781515312907695339994175648240582857497370082793234284569813492613164586548146026365223237800510734514328070166488973439739958160261223688784519923337265316149453141369698422787315626564736681047658192654535046526785434525917332058185592448796489358224039894386793675716189829430280086760800134981264190957599394489114583895676266947661989850912105267378484234166940173159688957620961017238925438616757158982927762038779303908763996401139129913724310307696977311771739464623940984766194450909008216966759228692413730589918252111509793248378189417278411303475316421072287860579145370313656266371722618189110175708013229736540038905526318944913311989678873984115900956429443020052017324642228117231830958817508667379325174290227623131719316302828326205138133673694927978790594836823702683685329677703697158506917758124425421632520567844004603713696176194206479274697935689494629291884808426323596075771015975680517017767046559088079958536145916141321497083897424839401082448223733539454698352757654157229557138199317584895951667230448459544934459775047267107868923474481615610918905243438825836584563358461346585112432462006632198476229231186320091870682573815792366088815355982209317615017118239566788328426652420804319923891407393489586799402498675837611343227267797403503047538581603807115803755318832807807511278703461707544141574430261121120758540044967436912770447246726858044589090092141020935878634157066513170887057427593209547498915032833033095249762915049283960129176416022300291913307230132483052746765502799349333573847342999201890193529252244910985971784260241730763355209828264617054991797612778465904724980990952321270064824522498101565866302070513155829520757884744659879253887889186945181158418447086310065718915953082998619580592372948511315604807821843657980803060290646454882307323347099392211262857421241474972092813819359366146181284167564517666175644443110308366804950622349428651595154236606353269171612432461508074577384745767878603522903007519768249939746339982956208436865723020183234889938959031417617375735337336675609459403362950047874538753404712992208238050030289116194880767484963158666448304005991904871114701330924117437295960417184327904204075561846690957121314695098674779520726594556185633958697282450033000355462621494093726903212650081829711222030830726684879529517100262185633019943139632560460456718022466462606955288120521069671054800201707228869543251360085428979167424703610351918803368014971624951721729468723990828008670192123906834622907547757581867403530870517739061050420256628084531824660419395103830684962013572355073080668401124671738028649817047637347963342579160492778971414904916665837316500751651147341163584274682203046682483081851651905222933787168511573476822037258419346184890503372857167544322056988130835233007369908365755285184143591167562496526877175931063056523801699731348064642092765340233642711700902165529088017327990422710926739974498219432956579798320145299396687432660069363080559482426144513193889245490787237856480955171225246872349949683522908476374813663847900183435638089434068461029 3761673491699418765657124266207698175577717411538007183596498401221945965615261921789890150363866015061586518857636715146596496934149117820103728610474758946769296443615277428526294990395152787838548238240529188720434355989719712603252018538811350579741600126484241599522675938671526954581377585008237673528638986946683620275965976294342996170883130151108216343509794315452307378549045998075958904869570206494094371501454726726437834185492973276890337253869030421939223826502620230968570479618343537949745929642509556049409573165847795105853900525192977347717328535101586005914674428496828592568867484739927603805714730868682927015736757223584175209451233351210364835807938062911272273204685165705467948750167604894020847541373371498768550083802131710691786213381720543992246941568270405539255379620487406158126355194305360209697989297164172331711001433662734871119128605639583614367277919634580129415854742433557794546970752819365881283442853154442881777324412721057875011517186382399486841636484525737689074950262800304702860132102046614303249094973085219022451158190792847120505606478966208983323050080884069412219824306639569914227923723177270158590823854235469668896548864080747900285454245704321468740262180962950362467698912020299739188207305069735238924922217652879011788067946597165433387239451086502960439108410391963007688456318373342257531340843882887775053832250308889212368441321334079696576928171606598339949689430648091612583864743916691432384208403585546910150915409462049515979962032358282783916288890156248124925461256821065038024789329836536584587170714593698695866549894189660675782055241666578981223834008535344228202803119170495837068478956304182897894508612593294138598294775843066086518493115653367158780115628847804491519647532688009716473692597747519225286377610877003388592243276583587806735448817401670010946739460795883613539494582714768935928384972395314118131064245066752280088413908297967537289793851720289679159017833391476680657817658725641141779665182301452288848406630201227221190916432746255330875471187677191322250088668033304733732117165188750849344373899732143866639442065375860218997182210132579434622717077135320833628221560600999757788302998857125649394469192177127887032772940627878876410840955163749270492738757117030741859801269095961999909519577396443190210213164936779158153170004860050962719400542218033368633730940560483854596739705487866565119404348281279563705832331896165739201552694704784483659698304991848314996445786903762649974093838378786544737184287403203400775988031052759107603491402558314009150116859310835540437293212621802821245777822172294972473486130437799637331373074709124126207012648943435531907768627079476689743938408520965231796070408389557892550905687046675549687029127161707637327507711111238590360649831261371168639195119574804760629552679130279068679792993200887181381331793476951471063980300860627347509765192560149493322795241819940826569505845151424988176350964915548837247826887546728595722433847790373953620270108109440198024173876846946850802213417157881577310716730834432097580175546069902479255585321489533003091683758381090403915857566493654376351751207404093210472681962794459385287739896185833675008042837597842070365232343290741690697474132742529715851566390528962655241714965902577055102826791396915194024821556952413806868408283037047 6086515564149155014731387985608332916944609205273038472818195629689592081153758202337618779159412994567147916811484275744040783908704117104939650653992671148512460904828498479436571732100477325962433939365670371601445977619494953264369265107463474296580752304308984381037988846366866948757025825591095170898721780180968190089458589458929544316909495374346016854244308643522473867522485738034119166093258991014017708766770876179579203883915760592516901990550078080131878361549147016403096396950401723542194726131867780089303959959523511295683330805279738147852309799292543605309163543080724268835815146729778515910982109352917093955909916912541796170468472276648981592966920990673311052508593929701869087880081329204328544518685143238233174024786897905142695221598687303220939355298860323791366889413735784347543633605608835526119061585024751477081315089929106593737317715815291627597014459673485655734799655745547473420954868720322310726462905171767524005441644552016692520184565707573777069259616245053991903276467938438376555060080837209140072797656770548700154855349299764878630031900598729551167054684597765588414030785914267849917418352469154967017147450311240684872229381098514946844542325662857614656403502460034259892538313102747962921746759768087996579079447210017211105652842548832663835698996020962735486375518260886482170071929292247500970166680467451133515178835421321674375073519810308927763248263477280913765481796736906968566074061531708550623775191913973562571719729385940923373451619157685282592126501499475392722864759868603619628596445640291903419978522104977399328257438331235106043176362425119026191270921305791474929661163759585929209499892182817054961021783480351566191504323341981119351526210903130073829399588976980907541947824601316946606175650494284728085726944450850731591445166777117058980359803373454271188470224151093441804111637706566548706850877120295109083385515131576802586515474164269607802949681241047563903677712645364569844762839884059588865975248020368241931405249781819594139427748351063152719129168480251612896543550340628080831509376451608270585848871824957685998808211557144386561699876308223877733025443940271455977650212196153994394656268028738081855977266754512632800651544150781883930609205103495610475694965553896464879984503985900958940937194772178527546888774396182521103217879398804367432392750456083398922847135441251339559898371936170571111309219395980894629949769192126156385880598908860045506389262113163010095120566424489244530279472337483827187217287758666022270081757955971757685321113780344839876801738840352640699478845641745960878338282629012994939948737393087757852442745763924327914241518486686891993197606246901393354290327324333246767695360111287361274896515055345741810935961784615185085089578514769460878388892311791425267279651399465180024656509815241082252148066281555582506003531505601288111617648823969926670257971531564398239461079136441578220653186315009262858554011598031919099478792769662382890945421267195990878689454294330701397031044391268907790344252390888947219082486119616241171343108566429356431516384546056804791415106445732496681197800136366077253916736492110538463104673721199359785959329142413473328188136994529503025301706371301173123618645936418961342353628385443610412940212774927004786349699873290007688669457135849444957842351498076 9848189055848573780388512251816031092522326616811045656414694030911538046769020124127508929523279009628734435669120990890637280842853234925043379264467430095281757348443775907962866722495630113800982177606199560321880333609214665867621283646274824876322352430793225980560664785038393903338403410599332844427360767127651810365424565753272540487792625525454233197754102958974781246071531736110078070962829197508112080268225602906017038069408733869407239244419108502071102188051767247371666876568745261491940655774377336138713533125371306401537231330472715495569638334394129611223837971577552861404682631469706119716696840221600020971646674136125971379919705627859346428774859053584583325713279095407337036630248934098349392060058514737001724108589029615834481434980407847213186296867130729330622269034223190505669988799914195735817050882188923808792316523591841464856446321454875241964292379308065785150654398179105267967925621539688192009905758326210405782766057273074567531701752089973263910896100770791680978226730738743079415192182883823443321892629855767722606013540092611999135638379564938534490104765481835000633855092553837764145342075646425125607971304546710353768778245179262847129996571367179083396665683422984622360237225123047702109954064837823235504001664862896222893720789145998097222938447107465695925483928652849489858528247665589758501507524350338908569011085730210886743514841144388624340176435083879253715171227384998581149938805448399983007983595499520472722635138847990439353413651515968066508415391655723517648326016689668657653385775476828488007149236698676095194807332520895781825231604091698007415104929841135703132464282930081766277978848486999952855530396073645704789799099185047205870019326556497232609515217824785399061595357289326663079868248241803953372104555327854120183688443360704865715808620775124282135209684946977055343606220421335484635235849515609227214449760198329082674929382462237145092743532961337243062695546036841250502580498609700730645640430321820530779811879983046815330344181097318483594600356157442935146632218373932814563626541640359119930222771557101552638250276933004605558882086440803312355742521075592289605871772797153752182959266885863731250446458931640519833424484778660760341450160267244880968433722670927206739785773081862958850456772168621717757101939332961679256387884258855330151793292674116767556578076001735194156638077424037136230713567677260458335782101088291895587433293613644529166087567105011325091566353328251894504373310716270371924401575161869423046069789008730865288812516338658849026918598151188181136772058263548782124116104801307967413434867830887395183815820473048454121254167430122423900966233326378083098228735845298478563765768500845253825802202102021291497965088946322822412597289626008051239038723573162593906474770974269940654209188945520150931941059482442763887335324982552759175597949684597274180023164091713891562256320956382404790159031466434251034904976513580756347305680316390978613379269057569944498959562403770899421204921238215758592557669548770524529799216954048338751518654636331835687101706035589807883098864826822900597055366630020453605667943896203748935786636515658745073699225328247148336230974592371573390534049662042863821092778678948677193920018914406265654655178677504059889176491270205201713491014088263251826250634535123 15934704619997728795119900237424364009466935822084084129232889660601130127922778326465127708682692004195882352480605266634678064751557352029983029918460101243794218253272274387399438454596107439763416116971869931923326311228709619131990548753738299172903104735102210361598653631405260852095429236190428015326082547308620000454883155212202084804702120899800250051998411602497255113594017474144197237056088188522129789034996479085596241953324494461924141234969186582202980549600914263774763273519146985034135381906245116228017493084894817697220562135752453643421948133686673216533001514658277130240497778199484635627678949574517114927556591048667767550388177904508328021741780044257894378221873025109206124510330263302677936578743657975234898133375927520977176656579095150434125652165991053121989158447958974853213622405523031261936112467213675285873631613520948058593764037270166869561306838981551440885454053924652741388880490260010502736368663497977929788207701825091260051886317797547040980155717015845672881503198677181455970252263721032583394690286626316422760868889392376877765670280163668085657159450079600589047885878468105614062760428115580092625118754857951038641007626277777793974538897030036698053069185883018882252775538225795665031700824605911232083081112072913433999373631694830761058637443128428431411859446913735972028600176957837259471674204817790042084189921151532561118588360954697552103424698561160167480653024121905549716012866980108533631758787413494035294354868233931362726865270673653349100541893155198910371190776558272277281982221117120391427127758803653494523064770852130887868407966516817033606375851146927178062125446689667695487478740669817007816552179553997270981303422527028325221545537459627306438914806801766306603543181890643609686043898736088681457831499778704851775133610137821924696168424148578553323679909098070497147717858127902033342086726635904336297835275329905885261444856626506752895693214202384806966373258682205820347343338493760319511615678342188772711217129764866409469771929448381636313729524637694548043175768714560895395135918091967390516071643382059238637058488490148992120581962749027190088767965015863745583521984993307746577615534914601813106423725686153152634076028929442644272059365370740491444128688224823671619770277067763917791393966940800245303990713729144200359605763657659697584186043130200166479425211442986533716536449360207707342022787073241352965731870280418051973313892522504574672476829218174335186686919752741139034652783053754199111618862920535445316151546964702622974133630119003688903720336991540821836250903905294743002454387430320962353383605223975153036258566236972782035495685916809315894163839573279476452519063169631725331461128612132615100698717157367033308901050730938007497686868140777512117427615884954019173754422373735120678865698760761233184089125763998346393338856488154047287215598508567200850281135623278289801717400092823983010812217781443513893458988111612675446784473086053361504324690324765935377649016698101600818235965629484666382901921939659471748881703073664579922861763202761192118618090581646612674513971272555397278253166766386530859584680388314287398891310236858104859658554470660621664419111586901076415835756033344036944711424615367638536273647299849876067595391452431064675526191143495209402160471224112696784092986033199 25782893675846302575508412489240395101989262438895129785647583691512668174691798450592636638205971013824616788149726257525315345594410586955026409182927531339075975601716050295362305177091737553564398294578069492245206644837924284999611832400013124049225457165895436342159318416443654755433832646789760859753443314436271810820307720965474625292494746425254483249752514561472036359665549210254275308018917386030241869303222081991613280022733228331331380479388295084274082737652681511146430150087892246526076037680622452366731026210266124098757793466225169138991586468080802827756839486235829991645180409669190755344375789796117135899203265184793738930307883532367674450516639097842477703935152120516543161140579197401027328638802172712236622241964957136811658091559502997647311949033121782452611427482182165358883611205437226997753163349402599094665948137112789523450210358725042111525599218289617226036108452103758009356806111799698694746274421824188335570973759098165827583588069887520304891051817786637353859729929415924535385444446604856026716582916482084145366882429484988876901308659728606620147264215561435589681740971021943378208102503762005218233090059404661392409785871457040641104535468397215781449734869306003504613012763348843367141654889443734467587082776935809656893094420840828858281575890235894127337343375566585461887128424623427017973181729168128950653201006881743447862103202099086176443601133645039421195824251506904130865951672428508516639742382913014508016990007081921802080278922189621415608957284810922428019516793247940934935367996593948879434276995502329589717872103373026669693639570608515041021480780988062881194589729619749461765457589156816960672082575627642975771102521712075531091564864016124539048430024626551705665138539179970272765912146977892634829936055106558971958822053498526790411977044923702835458889594045047552491324078549237517977322576151513563512285035528234967936374239088743897988436747163722050029068804719047070849923837103461050157256108664009303491029009747913224800116110545700119908329880795137483189807987088493709958762459732326510446294414939160791275308765423153597679464049189830502444510486091456035189393757790461498760574801800465544356870184617793672467500513708103404613509525637985372412562410895750878359556050149626876641850739109421963061092653062105879615993647916515027735979335804316934036003287444721727873174526784244843572736354750501811301513971368709947560747186136149103838564396323185660278253273080993033539026093770024571036020438082404868362221335973433488262946146457662537930638935142729002973022962168843525126570492231628929766818473054862548220074386710021236156749853346931739795130072899657559550747799014930203895226897112977868926500919259388324806866139677260829910284157766785563356466339458116613080229193348005061333074887706281384116030185246441110280674181470706806462813548193164475030304299714992181363973721049206387800971249247877764928363964625193431794090153402444340117703959382335879876608579101872500239440886867700424975459591488429996278680920027712918674380417839093027805719796617236420557612836099378297875308533396406984465252624284518036334677946752516849933357779798907770000650086179272649806369805695386900765804203294316315730193666214256141722250570129935124564702682413700411115651485312375948610343620568322 41717598295844031370628312726664759111456198260979213914880473352113798302614576777057764346888663018020499140630331524159993410345967938985009439101387632582870193854988324682761743631687844993327814411549939424168532956066633904131602381153751423222128561900997646703757972047848915607529261882980188875079525861744891811275190876177676710097196867325054733301750926163969291473259566684398472545075005574552371658338218561077209521976057722793255521714357481666477063287253595774921193423607039231560211419586867568594748519295160941795978355601977622782413534601767476044289841000894107121885678187868675390972054739370634250826759856233461506480696061436876002472258419142100372082157025145625749285650909460703705265217545830687471520375340884657788834748138598148081437601199112835574600585930141140212097233610960258259689275816616274380539579750633737582043974395995208981086906057271168666921562506028410750745686602059709197482643085322166265359181460923257087635474387685067345871207534802483026741233128093105991355696710325888610111273203108400568127751318877365754666978939892274705804423665641036178729626849490048992270862931877585310858208814262612431050793497734818435079074365427252479502804055189022386865788301574639032173355714049645699670163889008723090892468052535659619340213333364322558749202822480321433915728601581264277444855933985918992737390928033276008980691563053783728547025832206199588676477275628809680581964539408617050271501170326508543311344875315853164807144192863274764709499177966121338390707569806213212217350217711069270861404754305983084240936874225157557562047537125332074627856632134990059256715176309417157252936329826633968488634755181640246752405944239103856313110401475751845487344831428318012268681721070613882451956045713981316287767554885263823733955663636348715108145469072281388782569503143118049639041936677139551319409302787417899810120310858140853197819095715250650884129961366106856995442063401252891197267175597221369668871787006198076202246139512779634269888039994081756222059405432832031232983755803054605353898377824293900962366058321220029912367253913302589800046011938857692533278451107319780772915742783769245338190336715067357463293910303946825101576542637546048885568891008725863856691099120574549979326327217390794433244706050222208365083366791250079975599411574174725320165378934517100515428498887708261589710976144452550914759141823743164267245841649127999534061078658653678511041225541359995464940192833734172573678876823778770147639301002940313678372882938136111237079776576666226834359272134269824809273866074138268129024879661949892120202078278837701256332952946994018192245539263741055689293912472937036003266862184561929226688025725110484027199636416755358115767190408198837407971025907563075473893955343070632253983615721740182011940586467042617300119311010439456674013037958860853750029146701731675880585435338270471165691121142030370811783467029321278821822952736806107240874626488497701622028649707101815254257595799974101057676852497185091358361513428089468027562623101377498597242181041854219924337887198883033232126807371933695153561700162793515324837304672832323733569256989374954793016334269568391665069197766173726222205561728730937710515627909683954266467313514106017789845961582366189240228873557195620517811956536488645394436606601521 67500491971690333946136725215905154213445460699874343700528057043626466477306375227650400985094634031845115928780057781685308755940378525940035848284315163921946169456704374978124048808779582546892212706128008916413739600904558189131214213553764547271354019066893083045917290464292570362963094529769949734832969176181163622095498597143151335389691613750309216551503440725441327832925115894652747853093922960582613527641440643068822801998790951124586902193745776750751146024906277286067623573694931478086287457267490020961479545505427065894736149068202791921405121069848278872046680487129937113530858597537866146316430529166751386725963121418255245411003944969243676922775058239942849786092177266142292446791488658104732593856348003399708142617305841794600492839698101145728749550232234618027212013412323305570980844816397485257442439166018873475205527887746527105494184754720251092612505275560785892957670958132168760102492713859407892228917507146354600930155220021422915219062457572587650762259352589120380600963057509030526741141156930744636827856119590484713494633748362354631568287599620881325951687881202471768411367820511992370478965435639590529091298873667273823460579369191859076183609833824468260952538924495025891478801064923482399315010603493380167257246665944532747785562473376488477621789223600216686086546198046906895802857026204691295418037663154047943390591934915019456842794765152869904990626965851239009872301527135713811447916211837125566911243553239523051328334882397774966887423115052896180318456462777043766410224363054154147152718214305018150295681749808312673958808977598184227255687107733847115649337413123052940451304905929166619018393918983450929160717330809283222523508465951179387404675265491876384535774856054869717933820260250584155217868192691873951117703609991822795692777717134875505520122513995984224241459097188165602130366015226377069296731878938931463322405346386375821134193334803994548872566708529828907024510868120299962047191012700682419826127895670207379693275149260692859070004150539781876130389286227969514422791742891548315312660837556620411408660473260380821187676019336456187479510061128688194977788937198775815962309500574230744098765138515532901820164094921740497569077056345649453499078416646711236269253510016325428338882377367017671075095445159644171426176019853355959591593059490689753056144714738834034551431786332429989462885502928697394487495496574244975568759813017837947094808264794802782349605621864545655743193465914727206112704970593803341183659739085345182040594218911569599500025923034328764764998207276998827782296828242981793255595371893578821887020551333700249476407339657015254348995392610672795484423985372594595554014661199492133121914922838088352953700555676143682922633330085459667318255183674348638830360294801187245334212809069745243345015474173324001416149496256880566954687219429567660212842694894896150910889735053262652529664842191236758612754716277199043750186917361999539034964779890942041739732609089437695130866174901846601297117739364885516333821104916519464306243543129090417271622598880947247730057683816119453789739643471311993028870233559200499790089928957350360068247203741891804726374114068476161665719283945446376028575367424117838476319831204000269996660979728362159512096531712301313804931555970896031633463441848864594004780227169843 109218090267534365316765037942569913324901658960853557615408530395740264779920952004708165331983297049865615069410389305845302166286346464925045287385702796504816363311692699660885792440467427540220027117677948340582272556971192093262816594707515970493482580967890729749675262512141485970492356412750138609912495037926055433370689473320828045486888481075363949853254366889410619306184682579051220398168928535134985185979659204146032323974848673917842423908103258417228209312159873060988816997301970709646498876854357589556228064800588007690714504670180414703818655671615754916336521488024044235416536785406541537288485268537385637552722977651716751891700006406119679395033477382043221868249202411768041732442398118808437859073893834087179662992646726452389327587836699293810187151431347453601812599342464445783078078427357743517131714982635147855745107638380264687538159150715460073699411332831954559879233464160579510848179315919117089711560592468520866289336680944680002854536845257654996633466887391603407342196185602136518096837867256633246939129322698885281622385067239720386235266539513156031756111546843507947140994670002041362749828367517175839949507687929886254511372866926677511262684199251720740455342979684048278344589366498121431488366317543025866927410554953255838678030525912148096962002556964539244835749020527228329718585627785955572862893597139966936127982862948295465823486328206653633537652798057438598548778802764523492029880751245742617182744723566031594639679757713628131694567307916170945027955640743165104800931932860367359370068432016087421157086504114295758199745851823341784817734644859179190277194045258042999708020082238583776271330248810084897649352085990923469275914410190283243717785666967628230023119687483187730202501981321198037669824238405855267405471164877086619426733380771224220628267983068265613024028600331283651769407951903516620616141181726349363132525657244516674332012430519245199756696669895935764019952931521552853244458188297903789494999682676405455895521288773472493339892190533863632352448691660801545655775498694602920666559215380914312371026531581600851100043273249758777279556073067545887511067388306095596735225243357999989436955475230600259283458005225687322670653598983195502384647307655437100125944609136899978318208704584408465508340151209866379791259386644606039567192471064864478376310093673351135066860285220138251052596479073149945402254638397988139836005654666965946628869343453456460860646847405905651208133658748461378686383847417582111331299040088285495718967101849705710737105699610994991599357479411268652591570694317120061384620251555528714007222629612537950732740292604009272541240931874413851173717897845531631557281523384054062348602948563198836980900192092899041038400520493658504726226209581911714304254250144257877588196424791485425356956060640366618716268807267320023628700257388428513962871841596627826791475170391533123695355963333267129424538183306520322572009870098805646275839406379439743361761258796539510385123770701820702354794591862070607692182618344608932333806166230467915868864779922801467654395571015002487021866450843245688182431933721994015114927233630182683801816460731266759519390448338044553330788481711620102250780929152848776186835459113684224263128293242468177301942493294667503045160429528091652151275398385353239399216833771364 176718582239224699262901763158475067538347119660727901315936587439366731257227327232358566317077931081710730998190447087530610922226724990865081135670017960426762532768397074639009841249247010087112239823805957256996012157875750282394030808261280517764836600034783812795592552976434056333455450942520088344745464214107219055466188070463979380876580094825673166404757807614851947139109798473703968251262851495717598713621099847214855125973639625042429326101849035167979355337066150347056440570996902187732786334121847610517707610306015073585450653738383206625223776741464033788383201975153981348947395382944407683604915797704137024278686099069971997302703951375363356317808535621986071654341379677910334179233886776913170452930241837486887805609952568246989820427534800439538936701663582071629024612754787751354058923243755228774574154148654021330950635526126791793032343905435711166311916608392740452836904422292748270950672029778524981940478099614875467219491900966102918073599302830242647395726239980723787943159243111167044837979024187377883766985442289369995117018815602075017803554139134037357707799428045979715552362490514033733228793803156766369040806561597160077971952236118536587446294033076189001407881904179074169823390431421603830803376921036406034184657220897788586463592999288636574583791780564755930922295218574135225521442653990646868280931260294014879518574797863314922666281093359523538528279763908677608421080329900237303477796963082868184093988276805554645968014640111403098581990422969067125346412103520208871211156295914521506522786646321105571452768253922608432158554829421526012073421752593026305926531458381095940159324988167750395289724167793535826810069416800206691799422876141462631122460932459504614558894543538057448136322241571782192887692431097729218523174774868909415119511097906099726148390497064249837265487697519449253899773967129893689912873060665280826454931003630892495466205765323239748629263378425764671044463799641852815291649200998586209321127578346612835588796438034165352409896341073645508482837977888771060078567241586151235979220052937534723779687004841981672287719292586214964759066134196234082488856325504871412697534743932230733535720613746133161103622100147427820239730655328844955883725724302148336395198119153225406657091081951426136583435596369510551217435406497961999158785530555554231432454808412185169618292071552568240515481982001847339889750134972233115404765467684803893723677608248259243210252469270451306951327124663188584799088818011385452514958779173630677759561320761275310237131622645323756364355686688267480373867522560101854640215623449107535894243180946238200209147632261024526890236324485086646658141883218126227111296184583546195470517871401287189934600747769042723961033850579118172044481393256260353134614544945445122922409233861230668701971534813690620132418303524200590583387476817996174175714536491523977702364905444795776225020805524503888037292899583719366322196787460805185310804186270381785101493867885977205515989945603667303651912331226956124026003723261128396640049709359558333140487378803748715384453254831121940811606094314557681211302167281194514905017162587533043870063664473158564245764562406520714996507765657066478279356296576966614663155290317684494259789272970830336814039025006968816850091985498987683784738840234217833403997060941207 285936672506759064579666801101044980863248778621581458931345117835106996037148279237066731649061228131576346067600836393375913088513071455790126423055720756931578896080089774299895633689714437627332266941483905597578284714846942375656847402968796488258319181002674542545267815488575542303947807355270226954657959252033274488836877543784807426363468575901037116258012174504262566445294481052755188649431780030852583899600759051360887449948488298960271750009952293585207564649226023408045257568298872897379285210976205200073935675106603081276165158408563621329042432413079788704719723463178025584363932168350949220893401066241522661831409076721688749194403957781483035712842013004029293522590582089678375911676284895721608312004135671574067468602599294699379148015371499733349123853094929525230837212097252197137137001671112972291705869131289169186695743164507056480570503056151171240011327941224695012716137886453327781798851345697642071652038692083396333508828581910782920928136148087897644029193127372327195285355428713303562934816891444011130706114764988255276739403882841795404038820678647193389463910974889487662693357160516075095978622170673942208990314249527046332483325103045214098708978232327909741863224883863122448167979797919725262291743238579431901112067775851044425141623525200784671545794337529295175758044239101363555240028281776602441143824857433981815646557660811610388489767421566177172065932561966116206969859132664760795507677714328610801276733000371586240607694397825031230276557730885238070374367744263373976012088228774888865892855078337192992609854758036904190358300681244867796891156397452205496203725503639138939867345070406334171561054416603620724459421502791130161075337286331745874840246599427132844582014231021245178338824222892980230557516669503584485928645939745996034546244478677323946776658480132515450289516297850732905669181919033410310529014242391630189587456660875409169798218195842484948385960048321700435064416731163405668536107389296489998816127261023018291484317726807637845749788531607509140835286669549572605734342740280754156645779268318449036150713536423582523387762565835973742038622207263779969999923713810967009432759987290230722972676088976733420387080105373115142910384254312040458268373031957585436521142728290125384975299786535834602091775747579376931008694793142568038725978001620418709808764902085536304685152356772706491568078461074997285292004773370221255240771122351769840352546951701715704070899316676356958159460783411649963485472665428967563846257819261916173478528422610981020974237322256318747963713166099536132965438216877221916024835875004636249901465810558776150941887924865033799431477256359500497831859781063657858668577707967600257819120819964486026915500939861941764999434371072776676770707602838172067438868795089703000510605658652716094058927595454057238848687110791520614212087734206424688138586378088151804493840075836328899920376768857771017461831082890239688894206657559610831586643592649821528463255126682516715901113716305488006006706923089026731718186341605737328973855875590026249009352158726550183038848825846124427833472545157803369393734101003188530019944396217715727671880125204425323765155010744565268327296247368686580530137225729815390849990749431368718522917566213298514115981518301636319895252415027079335936014238619571072803213894712571 462655254745983763842568564259520048401595898282309360247281705274473727294375606469425297966139159213287077065791283480906524010739796446655207558725738717358341428848486848938905474938961447714444506765289862854574296872722692658050878211230077006023155781037458355340860368465009598637403258297790315299403423466140493544303065614248786807240048670726710282662769982119114513584404279526459156900694631526570182613221858898575742575922127924002701076111801328753186919986292173755101698139295775085112071545098052810591643285412618154861615812146946827954266209154543822493102925438332006933311327551295356904498316863945659686110095175791660746497107909156846392030650548626015365176931961767588710090910171672634778764934377509060955274212551862946368968442906300172888060554758511596859861824852039948491195924914868201066280023279943190517646378690633848273602846961586882406323244549617435465553042308746076052749523375476167053592516791698271800728320482876885839001735450918140291424919367353050983228514671824470607772795915631389014473100207277625271856422698443870421842374817781230747171710402935467378245719651030108829207415973830708578031120811124206410455277339163750686155272265404098743271106788042196617991370229341329093095120159615837935296724996748833011605216524489421246129586118094051106680339457675498780761470935767249309424756117727996695165132458674925311156048514925700710594212325874793815390939462564998098985474677411478985370721277177140886575709037936434328858548153854305195720779847783582847223244524689410372415641724658298564062623011959512622516855510666393808964578150045231802130256962020234880026670058574084566850778584397156551269490919591336852874760162473208505962707531886637459140908774559302626475146464464762423445209100601313704451820714614905449665755576583423672925048977196765287555003995370182159568955886163304000441887303056911016042387664506301665264423961165724697015223426747465106108880530805258483827756590295076208137254839369631127073114164841803198159684872681154649318124647438343665812909981866905392624999321255983759930400541265564195675481858422188706797688341460014052488780039315838422130294731222461456508396702722866581490702205520542963150114909640885414152098756259733772916340847443350791632390868487260738675211343948887482226130199640530037884763532175972941241219710497721474303444428325274732083560443076844625181754908342454370645536590036573734076224559949974947281151785946808265110787908074838548284561483440353016361216598435546851238089743372256331211368944901642504328068852787803613339305739437323770665051498453743785795708991505014351151035557126058326321713580844587144490001664281784085779873892551146453289638691365773216850101687630984488960468221651894848815188996094432420573483340035148123433014892513946762760899130267747858981105414315721204795475211024420862314300914579675782196204981281124676145397574382274905499123982473959055216403445020416016897447778920203313564748994568493921417103661909155309658619254315982855744190064866865725613905584949584582149839537530298898423302080677246368645078639472361050605036268284383044924961558805248771541943789677583888010919573151085983323804013025753058809493522306782005513146039749053212782706839184128850930020543308605136745344400526067019720753078853788906207210955653778 748591927252742828422235365360565029264844676903890819178626823109580723331523885706492029615200387344863423133392119874282437099252867902445333981781459474289920324928576623238801108628675885341776773706773768452152581587569635033707725614198873494281474962040132897886128183953585140941351065653060542254061382718173768033139943158033594233603517246627747398920782156623377080029698760579214345550126411557422766512822617949936630025870616222962972826121753622338394484635518197163146955707594647982491356756074258010665578960519221236137780970555510449283308641567623611197822648901510032517675259719646306125391717930187182347941504252513349495691511866938329427743492561630044658699522543857267086002586456568356387076938513180635022742815151157645748116458277799906237184407853441122090699036949292145628332926585981173357985892411232359704342121855140904754173350017738053646334572490842130478269180195199403834548374721173809125244555483781668134237149064787668759929871599006037935454112494725378178513870100537774170707612807075400145179214972265880548595826581285665825881195496428424136635621377824955040939076811546183925186038144504650787021435060651252742938602442208964784864250497732008485134331671905319066159350027261054355386863398195269836408792772599877436746840049690205917675380455623346282438383696776862336001499217543851750568580975161978510811690119486535699645815936491877882660144887840910022360798595229758894493152391740089786647454277548727127183403435761465559135105884739543266095147592046956823235332753464299238308496802995491556672477769996416812875156191911261605855734547497437298333982465659373819894015128980418738411833001000777275728912422382467013950097448804954380802954131313770303722923005580547804813970687357742654002725770104898190380466654360901484212000055260747619701707457329280737844520293220915065238137805196714310970901545448541205629844325381710835062642157008209645401183475069165541173297261968664152363863979591566206953382100392649418557431891649441043909473404288663790153411316987916271547252722147659549270778589574432796081114077689146719063244424258162448836310548723794022488703753126805431563054718512692179481072791699600001877782310893658106060499163952925872420471788217319209437483575733476176607690655023095340766987091528264413234824992783098076610741533796391651049984612583257778988596785097981223651638904151841910473759681712675625886307712388343574428771511651690651352051102623165223270248691486488511770034148869320580207474417697463024716618165983237352185606267157961252291782018887339746304743956314545686689887373458380035697174802063790502092923481991092125753190837204087642321861445345441944448451600518746711108759511330259243765602627492926253959902592724671525585896598932604488012352135124851123943620551166662856819826725721805097829792525107241819007562945230845550452887292667827586690045057117453576065774343240045922960955065364198744110610102580026848484091371570024842028004121251010637318217378214643315665326177405009587462376406472603054587761460539610831159191696256849081462150906523370796478551184630164419998770369287571574944905955022964499213823914882009211776074583895651251651100260394439639339630748036597396363136789180421931305624405397427365046002061610241456640596815553146355656767317473359979010424850366349 1211247181998726592264803929620085077666440575186200179425908528384054450625899492175917327581339546558150500199183403355188961109992664349100541540507198191648261753777063472177706583567637333056221280472063631306726878460292327691758603825428950500304630743077591253226988552418594739578754323950850857553464806184314261577443008772282381040843565917354457681583552138742491593614103040105673502450821043083992949126044476848512372601792744146965673902233554951091581404621810370918248653846890423067603428301172310821257222245931839390999396782702457277237574850722167433690925574339842039450986587270941663029890034794132842034051599428305010242188619776095175819774143110256060023876454505624855796093496628240991165841872890689695978017027703020592117084901184100079125244962611952718950560861801332094119528851500849374424265915691175550221988500545774753027776196979324936052657817040459565943822222503945479887297898096649976178837072275479939934965469547664554598931607049924178226879031862078429161742384772362244778480408722706789159652315179543505820452249279729536247723570314209654883807331780760422419184796462576292754393454118335359365052555871775459153393879781372715471019522763136107228405438459947515684150720256602383448481983557811107771705517769348710448352056574179627163804966573717397389118723154452361116762970153311101059993337092889975205976822578161461010801864451417578593254357213715703837751738057794756993478627069151568772018175554725868013759112473697899887993654038593848461815927439830539670458577278153709610724138527653790120735100781955929435392011702577655414820312697542669100464239427679608699920685187554503305262611585397933826998403341973803866824857611278162886765661663200407762863831780139850431289117151822505077447934870706211894832287368975806933877755631844171292626756434526046025399524288591097224807093691360018311412788848505452221672231989888012500327066118173934342416406901816630647282177792773922636191620569886642415090636939762280545630546056491244242069158276969818439471535964426259937360162704014564941895777910830416556011514618954710914738726282680351155633998890183808074977483792442643853693349449735153635989469494422466583368484516414201069210614073593811286572570544477052982353824423176826968240081523510356079442198435477151895460955192423628114495505065972364592291204323080979253292041213423255955735199347228686535655514590055129996531844302424917308504996071601665598633202888569973488381036599561327060054595632309673596568691016133009875954707909355493683396975212059603756619850871675143359644049695751869457354938871912123821492883793568804853243959039117150452074904418048674786811863109627226030228325493069893164398398202696032460615704315123910742920370814376566374401085595027036908585835475159999247376635443680609619580725855989552956810897939422963023803038156255266412767188207247503368886250038398578252211171917622320828460079047838157799327013547600442865381539150490228155592753115819504558735321040123798625323945431720992443206566471339468780201667045489195413309031233787147979885452987200617165123629824102525470603806637571954619869867513828213270755767704559593099786994157046737234974904273420192698149124270343379401876282828929475144088331244581556215976022604918846593385941216079213375377520396327148885217635806020127 1959839109251469420687039294980650106931285252090090998604535351493635173957423377882409357196539933903013923332575523229471398209245532251545875522288657665938182078705640095416507692196313218397998054178837399758879460047861962725466329439627823994586105705117724151113116736372179880520105389603911399807526188902488029610582951930315975274447083163982205080504334295365868673643801800684887848000947454641415715638867094798449002627663360369928646728355308573429975889257328568081395609554485071050094785057246568831922801206451060627137177753257967726520883492289791044888748223241352071968661846990587969155281752724320024381993103680818359737880131643033505247517635671886104682575977049482122882096083084809347552918811403870331000759842854178237865201359461899985362429370465393841041259898750624239747861778086830547782251808102407909926330622400915657781949546997062989698992389531301696422091402699144883721846272817823785304081627759261608069202618612452223358861478648930216162333144356803807340256254872900018949188021529782189304831530151809386369048075861015202073604765810638079020442953158585377460123873274122476679579492262840010152073990932426711896332482223581680255883773260868115713539770131852834750310070283863437803868846956006377608114310541948587885098896623869833081480347029340743671557106851229223452764469370854952810561918068051953716788512697647996710447680387909456475914502101556613860112536653024515887971779460891658558665629832274595140942515909459365447128759923333391727911075031877496493693910031618008849032635330649281677407578551952346248267167894488917020676047245040106398798221893338982519814700316534922043674444586398711102727315764356270880774955060083117267568615794514178066586754785720398236103087839180247731450660640811110085212754023336708418089755687104918912328463891855326763244044581812012290045231496556732622383690393953993427302076315269723335389708275182143987817590376885796188455475054742586788555484549478208622044019040154929964187977948140685285978631681258482229624947281414176208907415426162224491166556500404849352092628696643857633801970706938513604470309438907602097466187545569449285256404168247845815470542286122066585246266827307859175271113237546737158993042332694372191791307998910303144847772178533451420209185527005416308695780185206726191106246599768756243341188935664237032280637998521237179386838251380528446129274271767805622418152014813260882933767583253356249985253991193138711651285291047815571824629781178994176776165433830472900671326075338731035582581479217565008911632890562483105948793652066415144044826245370503857190058595632595355336882521108242577828095255252762429133724554972667974676777093588639875507157714026291704381306942616836996880273407101237899986982193959641396598187610284850371320255994847272476400552581711358054640690464530204842810601101486111963220075499915330955576295095516031828276946260862366751421034113202356543437623650180469713865630522060252997620757237070515196053538418338441940989271609126002030668942877812071834789428506028806244468222930043997061347603893723987961602181008732689890602577006859526194814773468851177769969591619441602311563068740942388486626004533814632337488755018379976798239419618109897075393955649978983581022024666529088050026538031632359731034287713800508864228060656386476 3171086291250196012951843224600735184597725827276291178030443879877689624583322870058326684777879480461164423531758926584660359319238196600646417062795855857586443832482703567594214275763950551454219334650901031065606338508154290417224933265056774494890736448195315404340105288790774620098859713554762257360990995086802291188025960702598356315290649081336662762087886434108360267257904840790561350451768497725408664764911571646961375229456104516894320630588863524521557293879138938999644263401375494117698213358418879653180023452382900018136574535960425003758458343011958478579673797581194111419648434261529632185171787518452866416044703109123369980068751419128681067291778782142164706452431555106978678189579713050338718760684294560026978776870557198829982286260646000064487674333077346559991820760551956333867390629587679922206517723793583460148319122946690410809725743976387925751650206571761262365913625203090363609144170914473761482918700034741548004168088160116777957793085698854394389212176218882236501998639645262263727668430252488978464483845331352892189500325140744738321328336124847733904250284939345799879308669736698769433972946381175369517126546804202171049726362004954395726903296024004222941945208591800350434460790540465821252350830513817485379819828311297298333450953198049460245285313603058141060675830005681584569527439524166053870555255160941928922765335275809457721249544839327035069168859315272317697864274710819272881450406530043227330683805387000463154701628383157265335122413961927240189727002471708036164152487309771718459756773858303071798142679333908275683659179597066572435496359942582775499262461321018591219735385504089425348937056171796644929725719106330074747599812671361280154334277457714585829450586565860248667392204991002752808898595511517321980045041392312515351967511318949090204955220326381372788643568870403109514852325187916750933796479242459445648974308305157735835716774393356078330233997278702426835737652847516509424747105119364851037134655979917210509818524004631929528047789958228300669096483245840436146267578130176789433062334411235265908104143315598568548540696989618864760104308329091410172443671338012093138949753617982999451460011780544533168614751343722060244481727311140548445565612877171425174145132422087130113087853702043807499651383962482568204156735377630354305601751665741120835632393258745216285572679211944493135122037598609214981784788861822935618949996317238178191438763654855021848618456879763112200032321890609142631879225413488667773344856449963482776626033984694224718979556691277168765531483762237626465592843347818284601399765117282627678682942389201400208580841560225393029902999673301437215945587664599894004905102586658533039905555916722324164997011257740747739800644221477804274388067788986678305184023085444849618696891438527882095981278437700911011451588403953167866613639257741378375987263707162834324462545133914610080488118178484687579881113161040514342764637197780912579247169672550481153213510352890019754788859458462240566313217040846994473875509349151540614991095551518001657777254163831145041233056880924605126725810832835215361206383644431480814684640982679391040725359324001195411350062897989125721600908807234825035637879288723356200115702447039372219482286894560539796998047271447934643412479247711573106411808110127657749445696462406603 5130925400501665433638882519581385291529011079366382176634979231371324798540746247940736041974419414364178346864334449814131757528483728852192292585084513523524625911188343663010721967960263769852217388829738430824485798556016253142691262704684598489476842153313039555453222025162954500618965103158673657168517183989290320798608912632914331589737732245318867842592220729474228940901706641475449198452715952366824380403778666445410377857119464886822967358944172097951533183136467507081039872955860565167792998415665448485102824658833960645273752289218392730279341835301749523468422020822546183388310281252117601340453540242772890798037806789941729717948883062162186314809414454028269389028408604589101560285662797859686271679495698430357979536713411377067847487620107900049850103703542740401033080659302580573615252407674510469988769531895991370074649745347606068591675290973450915450642596103062958788005027902235247330990443732297546787000327794003156073370706772569001316654564347784610551545320575686043842254894518162282676856451782271167769315375483162278558548401001759940394933101935485812924693238097931177339432543010821246113552438644015379669200537736628882946058844228536075982787069284872338655484978723653185184770860824329259056219677469823862987934138853245886218549849821919293326765660632398884732232936856910808022291908895021006681117173228993882639553847973457454431697225227236491545083361416828931557976811363843788769422185990934885889349435219275058295644144292616630782251173885260631917638077503585532657846397341389727308789409188952353475550257885860621931926347491555489456172407187622881898060683214357573739550085820624347392611500758195356032453034870686345628374767731444397421902893252228763896037341351580646903495292830183000540349256152328432065257795415649223770057267006054009117283684218236699551887613452215121804897556684473483556180169636413439076276384620427459171106482668538222318051587655588223024193127902259096213302589668843059659178675020072140474006501952772614814026421639486782898721430527254612355174993556339013924228890911640115260196772012242426182342667696557378364574617767999012269909858883581542424206157786230845266930554066666599753861018171029919419752840548687285604558655209865797365936440420997433257935625880577258919860569489487984512852515562837080496707998265509877078973582194409453317853317210465730314508875849989743427914063133590741241368148332051439074372531238108378098603710870956250911683607181656958203703855194667661950121021883793955677297360060032955754562138170494733774443116652800109571541636999884699745444591362653131535873000984833995563917724081333635607731094928554199645079312219572561979581879680247172915412713630748615869378318200357584736680917628579042174375049982946319701782210695729699990017147433375154572381831019412269066092278868483372709424240359227490339207339207078165280038840229430641908765064439347054331302147274242870886202260847961382293112800194610734150834267589960534950842397876800682507302488649972996504544452226963612449780524057546807902245477093875142102580660774648593088327991841567905251808960651291007009499414451530568810694950943442797722913131638931514208226913341049457373126634307103332998355122065149269294876242544539523378020071937977022693439017279343932837446095823928166613673757118793079 8302011691751861446590725744182120476126736906642673354665423111249014423124069117999062726752298894825342770396093376398792116847721925452838709647880369381111069743671047230604936243724214321306436723480639461890092137064170543559916195969741372984367578601508354959793327313953729120717824816713435914529508179076092611986634873335512687905028381326655530604680107163582589208159611482266010548904484450092233045168690238092371753086575569403717287989533035622473090477015606446080684136357236059285491211774084328138282848111216860663410326825178817734037800178313708002048095818403740294807958715513647233525625327761225757214082509899065099698017634481290867382101193236170434095480840159696080238475242510910024990440179992990384958313583968575897829773880753900114337778036620086961024901419854536907482643037262190392195287255689574830222968868294296479401401034949838841202292802674824221153918653105325610940134614646771308269919027828744704077538794932685779274447650046639004940757496794568280344253534163424546404524882034760146233799220814515170748048726142504678716261438060333546828943523037276977218741212747520015547525385025190749186327084540831053995785206233490471709690365308876561597430187315453535619231651364795080308570507983641348367753967164543184552000803019968753572050974235457025792908766862592392591819348419187060551672428389935811562319183249266912152946770066563526614252220732101249255841086074663061650872592520978113220033240606275521450345772675773896117373587847187872107365079975293568821998884651161445768546183047255425273692937219768897615585527088622061891668767130205657397323144535376164959285471324713772741548556929992000962178753977016420375974580402805677576237170709943349725487927917440895570887497821185753349247851663845754045302836807961739122024778325003099322238904544618072340531182322618231319749881872390234489976648878872884725250692925585195006823257061894300648285584934290649859930780749775605638049694788207910696313330999989350983825025957404544342074211597715083567817913773095048501442571686515803357291225322875381168300915327840994730883364686176243124678926097090422442353530221593635563155911404213844718390565847211132922475769514751979664234567859827834050124268087037222540081572843084563371023479582621066419511953451970552717009250940467434802309749931250997914605975453154669603425996422410223449630913448598958409698851995413676860318144649289617265811294892963399947222167750719363111715929072266100835583080608156329723465878333757438453923394044727180473541694861771902539974600415037736037134480347702984346844356479935759214555943374035395772498565641559028637634094601855636861024899884172455984486982266905705955318269547470940034375329458098332476481561850056846448763117771932998006966233781174549608714038871903036668363109457113180077543867272436540576037879616968868715194602914240999604501385363345251989253182617831741911183260435283385228966898045742294872359969867161215304047777942850554705631257335262923073615705690819990978419961576115153064771619609064809560022731257706287143813717655573198215053802674403120613015344295722487824184055434209959851420310267443993134263194536920639929827822148284282408764513595826689198470824512188641514358529439100063175018119209424957336851496527055505943857903934055824363119453581199682 13432937092253526880229608263763505767655747986009055531300402342620339221664815365939798768726718309189521117260427826212923874376205654305031002232964882904635695654859390893615658211684478091158654112310377892714577935620186796702607458674425971473844420754821394515246549339116683621336789919872109571698025363065382932785243785968427019494766113571974398447272327893056818149061318123741459747357200402459057425572468904537782130943695034290540255348477207720424623660152073953161724009313096624453284210189749776623385672770050821308684079114397210464317142013615457525516517839226286478196268996765764834866078868003998648012120316689006829415966517543453053696910607690198703484509248764285181798760905308769711262119675691420742937850297379952965677261500861800164187881740162827362057982079157117481097895444936700862184056787585566200297618613641902547993076325923289756652935398777887179941923681007560858271125058379068855056919355622747860150909501705254780591102214394423615492302817370254324186508428681586829081381333817031314003114596297677449306597127144264619111194539995819359753636761135208154558173755758341261661077823669206128855527622277459936941844050462026547692477434593748900252915166039106720804002512189124339364790185453465211355688106017789070770550652841888046898816634867855910525141703719503200614111257314208067232789601618929694201873031222724366584643995293800018159335582148930180813817897438506850420294778511912999109382675825550579745989916968390526899624761732448504025003157478879101479845281992551173077335592236207778749243195105629519547511874580177551347841174317828539295383827749733738698835557145338120134160057688187356994631788847702766004349348134250074998140063962172113621525269269021542474382790651368753889597107816174186110560632223610962892082045331057108439522588762854771892418795774833353124647438556863718046156818515286323801527077546012654177929739730432522966337172589878872884123908652034701851352284457050970355492006020061491457831527910177159156100633237201866466539344300349660856617565242854817281520116234515496428497687340083420913226032382733621489253543865089434712263389105175177987362069190444689985321119913877732676336787685781899083987408408515119654682923296903019906018013264081996628959105463198325339372522941458537229861766503304515299017748196760874993579557647564122921279313632875953764139789298588701837612915129004418101686292981341056340183826131071778045825878621675614023399536253923059039286935802823991673586900217551394131220754104760136228103833032266636314417717067837845608676117347587684092288947842588890750428944358869391336416289722892664245365189530409836506104212103745017964068861947152878870730983178219555903753647658455917213162479478635888623138167754879317708748444476904249598731186305278191240744940476525449143636146140919913285462119976196359054401942121319164884540225592775893898018247057178796242485407709526256115169158893703677165472770061771949454882045532811089656473655212063605580918194340792987482964413803078765514552143666611617462268208351581429246394378430221791303381794515971025864824304947013494833683469885740528662115261210886790857176326175852154138054735489333739781891147902930022196825946577337910809234771983639586553038191147401980030290513806399438781303999757983990976793210699992761 21734948784005388326820334007945626243782484892651728885965825453869353644788884483938861495479017204014863887656521202611715991223927579757869711880845252285746765398530438124220594455408692412465090835791017354604670072684357340262523654644167344458211999356329749475039876653070412742054614736585545486227533542141475544771878659303939707399794494898629929051952435056639407357220929606007470296261684852551290470741159142630153884030270603694257543338010243342897714137167680399242408145670332683738775421963834104761668520881267681972094405939576028198354942191929165527564613657630026773004227712279412068391704195765224405226202826588071929113984152024743921079011800926369137579990088923981262037236147819679736252559855684411127896163881348528863507035381615700278525659776782914323082883499011654388580538482198891254379344043275141030520587481936199027394477360873128597855228201452711401095842334112886469211259673025840163326838383451492564228448296637940559865549864441062620433060314164822604530761962845011375485906215851791460236913817112192620054645853286769297827455978056152906582580284172485131776914968505861277208603208694396878041854706818290990937629256695517019402167799902625461850345353354560256423234163553919419673360693437106559723442073182332255322551455861856800470867609103312936318050470582095593205930605733395127784462030008865505764192214471991278737590765360363544773587802881031430069658983513169912071167371032891112329415916431826101196335689644164423016998349579636376132368237454172670301844166643712618845881775283463204022936132325398417163097401668799613239509941448034196692706972285109903658121028470051892875708614618179357956810542824719186380323928537055752574377234672115463347013197186462438045270288472554507238844959480019940155863469031572702014106823656060207761761493307472844232949978097451584444397320429253952536133467394159208526777770471597849184752996792326823614622757524169522744054689401810307489401979245258881051805337020050842441656553867581703498174844834916950034357258073444709358060136929370620638811341557390877596798602667924415644109397068909864613932469962179857154616919326768813550517980594658534703711685761088865598812557200533878748221976268342953704807191383940242446099586107166559999982585045819391758884476393429089946871017443771950101327498128011872908185533100718792524705310055286177213770702747187660247311767124418094962004437630630673605995121024035177993048046372394977135115465326189159874870016410980321397052778551308832585144148149487316701645527894038538854392317482875581645810597695290668439133304322524649964984887732904787108914855364451692882999284132265473367129111987917473948555844214058584826049252725690495938128977116554249689644041328692735071901285526812315715714678258078799207445225177181227909108049933638629221180013413356453861499999593165227769596545035560164489041610956121145887271429675010538153668668144809641344136056939445972037832739928933164758929823475661644362104912547326528654533900031612978461384375379193918579323763275676427022290939609287716390208096085794989518435597190374146477839649242735982657867525319950488513535571478330783991439520712772794067882557637618022190655661498756711395296771089526552323593301422739649728056310356826937367142010333454944725161903692039815339912664281192443 35167885876258915207049942271709132011438232878660784417266227796489692866453699849878660264205735513204385004916949028824639865600133234062900714113810135190382461053389829017836252667093170503623744948101395247319248008304544136965131113318593315932056420111151143990286425992187096363391404656457655057925558905206858477557122445272366726894560608470604327499224762949696225506282247729748930043618885255010347896313628047167936014973965637984797798686487451063322337797319754352404132154983429308192059632153583881385054193651318503280778485053973238662672084205544623053081131496856313251200496709045176903257783063769223053238323143277078758529950669568196974775922408616567841064499337688266443835997053128449447514679531375831870834014178728481829184296882477500442713541516945741685140865578168771869678433927135592116563400830860707230818206095578101575387553686796418354508163600230598581037766015120447327482384731404909018383757739074240424379357798343195340456652078835486235925363131535076928717270391526598204567287549668822774240028413409870069361242980431033916938650518051972266336217045307693286335088724264202538869681032363603006897382329095750927879473307157543567094645234496374362103260519393666977227236675743043759038150878890571771079130179200121326093102108703744847369684243971168846843192174301598793820041863047603195017251631627795199966065245694715645322234760654163562932923385029961610883476880951676762491462149544804111438798592257376680942325606612554949916623111312084880157371394933051771781689448636263791923217367519670982772179327431027936710609276248977164587351115765862735988090800034843642356956585615390013009868672306366714951442331672421952384673276671305827572517298634287576968538466455483980519653079123923261128442067296194126266424101255183664906188868987117316201284082070327616125368773872284937569044758986117670582290285909445532328304848017610503362682736522759346580959930114048395628178598053845009340754263702309851407297343040112333899488081777758862654275478072118816500896602373794370214677702172225437920331457791906374025296290008007836557335429451643486103186013827269291866880308431943991537880049785103224689032805674966598275149344886315777832209384676858073359490114680843262352117599371248556628941690509017717098256999334887627176732783947076465400345246324772747901765090748282915445984623688162130977910492045776362084924682253422513063690730611971729946178947155106956038873924994070591158515001580112218914156952213804313070639678768860226716364902254247452929749360926305175168810034550713427254486715042878352531422252165113540715413832091774178445331145087344357128364473662675309873233324091662491912624706161211463696780235903910051841882624775010166902806520807328623695039453281691633424463122734983048806176411482459419149852990410164078364816159554276367146962119569361586823998487156879329373581836548897039785289676732189334396154075854335897459305215833149649203305509990705114213811869008472734018578567759390134235452094372405965944348789182272684093875906942288044484559147960869145636602474516016780821817391706345172342663954189749477491550995205691017175650832689217574848615846888624948205937293126951761972546809401686733592122717666864463132828073406379236281094501504228917397432524139854383506465903450023806316705874981185204 56902834660264303533870276279654758255220717771312513303232053250359046511242584333817521759684752717219248892573470231436355856824060813820770425994655387476129226451920267142056847122501862916088835783892412601923918080988901477227654767962760660390268419467480893465326302645257509105446019393043200544153092447348334022329001104576306434294355103369234256551177198006335632863503177335756400339880570107561638367054787189798089899004236241679055342024497694406220051934487434751646540300653761991930835054117417986146722714532586185252872890993549266861027026397473788580645745154486340024204724421324588971649487259534447458464525969865150687643934821592940895854934209542936978644489426612247705873233200948129183767239387060242998730178060077010692691332264093200721239201293728656008223749077180426258258972409334483370942744874135848261338793577514300602782031047669546952363391801683309982133608349233333796693644404430749181710596122525732988607806094981135900322201943276548856358423445699899533248032354371609580053193765520614234476942230522062689415888833717803214766106496108125172918797329480178418112003692770063816078284241057999884939237035914041918817102563853060586496813034398999823953605872748227233650470839296963178711511572327678330802572252382453581415653564565601647840551853074481783161242644883694387025972468780998322801713661636660705730257460166706924059825526014527107706511187910993040953135864464846674562629520577695223768214508689202782138661296256719372933621460891721256289739632387224442083533615279976410769099142803134186795115459756426353873706677917776777826861057213896932680797772319953546015077614085441905885577286924546072908252874497141138764997205208361580146894533306403040315551663641946418564923367596477768367287026776214066422287570286756366920295692643177523963045575377800460358318751969736522013442079415371623118423753303604740855082618489208352547435733315086170195582687638217918372233287455655316830156242947568732459102680060163176341144635645340566152450322907035766535253860447239079572737839101596058559142799349297251622094892675932252201444826520553350717118483789449149021497227758712805088398030379761759392744491436055463873961902086849656580431360945201027064297306064783504798217185478415116628924275554837108857141475728316717123603801390848415501672744452784620809950623849001707970689933743448308191681194792964022332236449377840608025695168242602403552174068179142134031921971366465568293630466906301378789026968624784634467692457320169059301509050403734769631394888820343714023202352033589008900297312738169020970555556487638190680398719824678965554246000451796050011363757794940783240362436079579965861180550375270048522829488629600547780011601891564416592450562136021358766940738808503949140177800993061848013621636659640647058961040343802707585996172967632821008462119162526814593595032192439493862623447505018185672561106407199872549822743999145538803441272772595621241138249919638278972741692484134378380683480306716662889985994404018944405733164561466602673199670217964471506850087570156862026810570601811770340252988896719318820503603432485460149418520525641505689186404167548358840055367601397742273819850764569784163202470900443444987419488756391015456421374829118886009150811861055854764574534473309328231627807142063621656618539262377647 92070720536523218740920218551363890266658950649973297720498281046848739377696284183696182023890488230423633897490419260260995722424194047883671140108465522666511687505310096159893099789595033419712580731993807849243166089293445614192785881281353976322324839578632037455612728637444605468837424049500855602078651352555192499886123549848673161188915711839838584050401960956031858369785425065505330383499455362571986263368415236966025913978201879663853140710985145469542389731807189104050672455637191300122894686271001867531776908183904688533651376047522505523699110603018411633726876651342653275405221130369765874907270323303670511702849113142229446173885491161137870630856618159504819708988764300514149709230254076578631281918918436074869564192238805492521875629146570701163952742810674397693364614655349198127937406336470075487506145704996555492156999673092402178169584734465965306871555401913908563171374364353781124176029135835658200094353861599973412987163893324331240778854022112035092283786577234976461965302745898207784620481315189437008716970643931932758777131814148837131704757014160097439255014374787871704447092417034266354947965273421602891836619365009792846696575871010604153591458268895374186056866392141894210877707515040006937749662451218250101881702431582574907508755673269346495210236097045650630004434819185293180846014331828601517818965293264455905696322705861422569382060286668690670639434572940954651836612745416523437054091670122499335207013100946579463080986902869274322850244572203806136447111027320276213865223063916240202692316510322805169567294787187454290584315954166753942414212172979759668668888572354797188372034199700831918895445959230912787859695206169563091149670481879667407719411831940690617284090130097430399084576446720401029495729094072408192688711671541940031826484561630294840164329657448128076483687525842021459582486838401489293700714039213050273183387466506818855910118469837845516776542617752266314000411885509500326170910506649878583866400023100275510240632717423099428806725800979154583036150462821033449787415541273821496479474257141203625647391182683940088758780255972196836820304497616718440888377536190656796626278080164864984081777297111022062149111246973165434412640745622059100423787420745626767150334784849663673257865966063854825955398475063204344300336585337924880902017990777557368711715714597284623416674557431610439169591686838740384417161131631263121089385898854574133498353015334249090070795896360536159452145468486413597703183920838588947538332136089029286017873952657982222561144249746648889192012386584302436154784027781047373501977808652751731395812551916453143999577145539140407139728231457616093113595760171242457773805256536481512219609724533510599621894226666574583495257082943349982461980192090195582564640923728044896819798048142100066208814030753966785950812332521909188155424238731888401417593519349318823236205284053915225457850783139389206945976819853481436262746488605745270444443759910343393186553561492607112399262048066106797125438088776424910350081953743739286767075577160252515991409235531026007663413045117828551162070380603064491163167557622234937640969515731332522864837236856765933688671214490022690479757143891521546135749280302130178579542206423255478589249448235498122290245313365284772162007058613163711738093710592087427973324414243562851 148973555196787522274790494831018648521879668421285811023730334297207785888938868517513703783575240947642882790063889491697351579248254861704441566103120910142640913957230363301949946912096896335801416515886220451167084170282347091420440649244114636712593259046112930920939031282702114574283443442544056146231743799903526522215124654424979595483270815209072840601579158962367491233288602401261730723380025470133624630423202426764115812982438121342908482735482839875762441666294623855697212756290953292053729740388419853678499622716490873786524267041071772384726137000492200214372621805828993299609945551694354846556757582838117970167375083007380133817820312754078766485790827702441798353478190912761855582463455024707815049158305496317868294370298882503214566961410663901885191944104403053701588363732529624386196378745804558858448890579132403753495793250606702780951615782135512259234947203597218545304982713587114920869673540266407381804949984125706401594969988305467141101055965388583948642210022934875995213335100269817364673675080710051243193912874453995448193020647866640346470863510268222612173811704268050122559096109804330171026249514479602776775856400923834765513678434863664740088271303294374010010472264890121444528178354336970116461174023545928432684274683965028488924409237834948143050787950120132413165677464068987567871986800609599840620678954901116611426580166028129493441885812683217778345945760851947692789748609881370111616721190700194558975227609635782245219648199125993695783866033095527392736850659707500655948756679196216613461415653125939356362410246943880644458022632084530720241073230193656601349686344674750734387111813786273824781023246155458860767948080666704229914667687088028987866306365247093657599641793739376817649499814316878797863016120848622259110999241828696398746780254273472364127375232825928536842006277811757981595928917816860916819137792516655014038470084996027208457554203152931686972125305390484232372645172965155643001066749597447316325502703160438686581777353068439994959176123886190349571404323268272529360153380375417555038617056490500877269486075359872340960225082492750187537422981406167589909874763949369601714676110544626743474521788547077526023073149060015090993072106567260127488084726810410271948551970328078789886790241618691934812539950791521061423940386728773296403690735230341989521666338446286331387364491175058747361272881631704406749397581009103729115081067097176537050527083513391224102717867727001727745775935392714976492210889463373582006024593409198345319383003061716992192539138566992603215214738617891445055081340519216394472533365140389922076211271741132109553823145990936457151091989252556876353958196250822423634985806911751560742439213163111147401905828558139000087707645079371341228920930898699531704818724721106744833419684801740713267775071097769493536808505489542009163886357894415216011188551541758317098828731558933411130411889546589079495799563852626975066187761378340891685582009829981672159295253976741490779945528372823460015424083180443854755815118305205889440275247378216987498259323101182869690223615719640321502323369499783809983671161054720397790388036256974028554023641024314292528726582091420432753576994656091330298951751202573623566961695179646494045670823064617008299396125226340626926581593086473039969721517734151049629942953505940498 241044275733310741015710713382382538788538619071259108744228615344056525266635152701209885807465729178066516687554308751958347301672448909588112706211586432809152601462540459461843046701691929755513997247880028300410250259575792705613226530525468613034918098624744968376551759920146720043120867492044911748310395152458719022101248204273652756672186527048911424651981119918399349603074027466767061106879480832705610893791617663730141726960640001006761623446467985345304831398101812959747885211928144592176624426659421721210276530900395562320175643088594277908425247603510611848099498457171646575015166682064120721464027906141788481870224196149609579991705803915216637116647445861946618062466955213276005291693709101286446331077223932392737858562537687995736442590557234603049144686915077451394952978387878822514133785082274634345955036284128959245652792923699104959121200516601477566106502605511127108476357077940896045045702676102065581899303845725679814582133881629798381879909987500619040925996600169852457178637846168025149294156395899488251910883518385928206970152462015477478175620524428320051428826079055921827006188526838596525974214787901205668612475765933627612210254305874268893679729572189748196067338657032015655405885869376977054210836474764178534565977115547603396433164911104294638261024047165783043170112283254280748718001132438201358439644248165572517122902871889552062823946099351908448985380333792902344626361355297893548670812860822693894182240710582361708300635101995268018634110605299333529183961687027776869813979743112456816153732163448744525929705034131334935042338586251284662655285403173416270018574917029547922759146013487105743676469205386371648627643286836267321064338168967696395585718197187784274883731923836807216734076261037279827358745214921030451799710913370636430573264815903767204291704890274056613325693803653779441178415756218350210519851831729705287221857551502846064367672672990777203748667923142750546373057058474655969171977256247325900191902726260714196822410070491539423765901924865344932607554786089305979147568921649239051518091313631704502916877258043812429719005338464947024357727479022886030798252300140026398340954190709491727556299085658099588172184396033180525405712852189319227911872147556037039098886755177742463144656207682546760767938425854725405724276972066698177305708726007899358233382053043570954804039048606669186530864568470444791166558712640366850204466965951750670548880098847640314173513764087537887197921403879128574195394810301962529544356729498227631337256955719699214753683388313641492407227125202193881209865368300263767974511173793141653472023823657585253553400291530076864290820220710172969467553956422064881408791063448233072962048937696621747023800055224713583582964728022721323690901122988895114269459648449151641653217732943840779476589101851736279487620838011451197319310596626303617428782070891077140335034015612848636588262672685978286441776383706108411328934249984086162130025769740325065345848815469348603179207576438930257140862171956868765105897072048945176207350824538469503489668558632208877353636660837468872664393750102848301146838718676955335431357551988306551418860877881080226217397796581443123233334138547612876434701031504703802146503901602901972634920271300115130589641438591625399088588651699636751707815228326238477603267367749503349 390017830930098263290501208213401187310418287492544919767958949641264311155574021218723589591040970125709399477618198243655698880920703771292554272314707342951793515419770822763792993613788826091315413763766248751577334429858139797033667179769583249747511357670857899297490791202848834617404310934588967894542138952362245544316372858698632352155457342257984265253560278880766840836362629868028791830259506302839235524214820090494257539943078122349670106181950825221067273064396436815445097968219097884230354167047841574888776153616886436106699910129666050293151384604002812062472120263000639874625112233758475568020785488979906452037599279156989713809526116669295403602438273564388416415945146126037860874157164125994261380235529428710606152932836570498951009551967898504934336631019480505096541342120408446900330163828079193204403926863261362999148586174305807740072816298736989825341449809108345653781339791528010965915376216368472963704253829851386216177103869935265522980965952889202989568206623104728452391972946437842513967831476609539495104796392839923655163173109882117824646484034696542663602637783323971949565284636642926697000464302380808445388332166857462377723932740737933633768000875484122206077810921922137099934064223713947170672010498310106967250251799512631885357574148939242781311811997285915456335789747323268316589987933047801199060323203066689128549483037917681556265831912035126227331326094644850037416109965179263660287534051522888453157468320218143953520283301121261714417976638394860921920812346735277525762736422308673429615147816574683882292115281075215579500361218335815382896358633367072871368261261704298657146257827273379568457492451541830509395591367502971550979005856055725383452024562434877932483373717576184034383576075354158625221761335769652710910710155199332829320045070177239568419080123099985150167700081465537422774344674035211127338989624246360301260327636498873272825226876143708890720793228533234778745702231439811612173044005844773216517405429421152883404187423559979418725078048751535282178959109357578508507722302024656606556708370122205380186363333403684770679230420957697211895150460429053620708127064089396000055630301254118471030820874205177114195257545093195616398784958756579355399956874366447311047438725505821253031446449301238695580478376646246467148217358795471473709399461238241347755048391489857286191403539781727933892137450102149197915956293649470579319548033048927207599407182361031538276231631814539614943697339271843550687605699765336111550381322907425976656639958781416206946222526880634095622441863820085326264946708819480162447044538933531575548235095398717363107223437521013321441912209962729845821512152672887305043776870359984633704488150859732894425705883782852583670672373102092664919822053887594645974278373170258386486637417745581492744364172949505773024429343500993206483196954520718833439970622432835457433862747171782047718674562232567365937575947558735386395122011362427053815607779570306737505144069446090093959153104811753717156286255137312619861712190354151065647626071916686490987927881733391747043860276557109194166717119602632111130509879731675733221745588245280579972884518905394518746124378672863555986911133203704206733652782707277425713465596782548466680591094364732138889037563817966026015170244786109791677536746060389527233210321255443847 631062106663409004306211921595783726098956906563804028512187564985320836422209173919933475398506699303775916165172506995614046182593152680880666978526293775760946116882311282225636040315480755846829411011646277051987584689433932502646893710295051862782429456295602867674042551122995554660525178426633879642852534104820964566417621062972285108827643869306895689905541398799166190439436657334795852937138987135544846418006437754224399266903718123356431729628418810566372104462498249775192983180147242476406978593707263296099052684517281998426875553218260328201576632207513423910571618720172286449640278915822596289484813395121694933907823475306599293801231920584512040719085719426335034478412101339313866165850873227280707711312753361103344011495374258494687452142525133107983481317934557956491494320508287269414463948910353827550358963147390322244801379098004912699194016815338467391447952414619472762257696869468907010961078892470538545603557675577066030759237751565063904860875940389822030494203223274580909570610792605867663261987872509027747015679911225851862133325571897595302822104559124862715031463862379893776571473163481523222974679090282014114000807932791089989934187046612202527447730447673870402145149578954152755339950093090924224882846973074285501816228915060235281790739060043537419572836044451698499505902030577549065307989065486002557499967451232261645672385909807233619089778011387034676316706428437752382042471320477157208958346912345582347339709030800505661820918403116529733052087243694194451104774033763054395576716165421130245768879980023428408221820315206550514542699804587100045551644036540489141386836178733846579905403840760485312133961656928202158023234654339238872043344025023421779037742759622662207367105641412991251117652336391438452580506550690683162710421068569969259893309886081006772710785013374041763493393885119316863952760430253561337858841455976065588482185188001719337192899549134486094469461151675985325118759289914467581345021262092099116709308155681867080226597494051518842490979973616880214786513895446884487655291223673895658074799683753909883103240591447497200398235759422644236252877939451939651506379364229422398396584491963610198587119959863276702367441941126376141804497810945898583311829021922484350146325480683563716176102656983785456348416802500971872872494330862169651015108187246140705988430444533428240995442588388397120423002018572593989082515006289837429524014999000677878148287281208671852449745395902077502141618743150972124883000510067298641094738052405653607993896914501115421699905915194275588029668989022279207474812077119743930421555712726673229020258919056302616660623729051090185732732430672902815289066109094952186452567933808217706666537088556354641449505939007566167253637101124813988610723176876489760243738021619410028139855150689422272220953274801242052512050181512444403802507551147022450868752693323912597768896762784630684306937234918545652379352331264843797724056261346513215945633549310631802850992884915438697138360681250683974297148427094181384967609262403096241854976896455155994477596440365600624397496937394578066831110869705480412277348598408631068653103140233587131391745396786474744963522175254306679220245271751317083168353814211981227859969498385450439315511365664847269478679002409591425103758896485746543385351974386628004836477689004947196 1021079937593507267596713129809184913409375194056348948280146514626585147577783195138657064989547669429485315642790705239269745063513856452173221250841001118712739632302082104989429033929269581938144824775412525803564919119292072299680560890064635112529940813966460766971533342325844389277929489361222847537394673057183210110733993921670917460983101211564879955159101677679933031275799287202824644767398493438384081942221257844718656806846796245706101835810369635787439377526894686590638081148366340360637332760755104870987828838134168434533575463347926378494728016811516235973043738983172926324265391149581071857505598884101601385945422754463589007610758037253807444321523992990723450894357247465351727040008037353274969091548282789813950164428210828993638461694493031612917817948954038461588035662628695716314794112738433020754762890010651685243949965272310720439266833114075457216789402223727818416039036660996917976876455108839011509307811505428452246936341621500329427841841893279025020062409846379309361962583739043710177229819349118567242120476304065775517296498681779713127468588593821405378634101645703865726136757800124449919975143392662822559389140099648552367658119787350136161215731323157992608222960500876289855274014316804871395554857471384392469066480714572867167148313208982780200884648041737613955841691777900817381897976998533803756560290654298950774221868947724915175355609923422160903648032523082602419458581285656420869245880963868470800497177351018649615341201704237791447470063882089055373025586380498331921339452587729803675384027796598112290513935596281766094043061022922915428448002669907562012755097440438145237051661668033864880591454108470032667418826021842210423022349881079147162489767322057540139850479358989175285501228411745597077802267886460335873621131223769302089213354956258246341129865136474026913661093966584854286727105104288772465197831080222425889742512824500592610018126425278194985190254380209220103864461521354279193518065267936872333226713585103019963630784917611498261216058022368415496965473004804462996163013525698552264631508053876115263289603924851181971077466180380341448148028399880993272214506428318818398452214793217728669617940834068453816562699486219571758203282769702477938711785896288931661193764206189384969207549106285024151928895179147218340020711689657641124724507648484382053743478836023285527186846128170125054315139468674743186998471299939308008843563032049605085747694463569703390725977027716617117085316082422815675570606209832634752645119375313079584650536873282531628646128442074909683652110852842364533739758785939224092868600251660204804568494014455019979767847166572103507174644640635632661110578261767839491496344804168202340371025239416087535875211822790418750924309474226906653530545230764084406218016394789668414626492568435003764965317447750747825536479525013437610285704505667741284308723315756748055202759509956412732025611797151113018316928278823579184119178272708940269761241328880938540356136954361528791097513786062437691453434682231494004829321452757247307502602968371842485465524322098992371441357213951687260997827989308112523407858478140306801874848728478867711364629915691869263709646553927170235207156404955021289902006596919258653573435095167998905996102460029579408367716566227557451118929141271856335062888720447017532069688010260391043 1652142044256916271902925051404968639508332100620152976792334079611905983999992369058590540388054368733261231807963212234883791246107009133053888229367294894473685749184393387215065074244750337784974235787058802855552503808726004802327454600359686975312370270262063634645575893448839943938454667787856727180247207162004174677151614984643202569810745080871775645064643076479099221715235944537620497704537480573928928360227695598943056073750514369062533565438788446353811481989392936365831064328513582837044311354462368167086881522651450432960451016566186706696304649019029659883615357703345212773905670065403668146990412279223296319853246229770188301411989957838319485040609712417058485372769348804665593205858910580555676802861036150917294175923585087488325913837018164720901299266888596418079529983136982985729258061648786848305121853158042007488751344370315633138460849929413924608237354638347291178296733530465824987837534001309550054911369181005518277695579373065393332702717833668847050556613069653890271533194531649577840491807221627594989136156215291627379429824253677308430290693152946268093665565508083759502708230963605973142949822482944836673389948032439642357592306833962338688663461770831863010368110079830442610613964409895795620437704444458677970882709629633102448939052269026317620457484086189312455347593808478366447205966064019806314060258105531212419894254857532148794445387934809195579964738951520354801501052606133578078204227876214053147836886381819155277162120107354321180522151125783249824130360414261386316916168753150933921152907776621540698735755911488316608585760827510015473999646706448051154141933619171991816957065508794350192725415765398234825442060676181449295065693906102568941527510081680202347217585000402166536618880748137035530382774437151019036331552292339271349106664842339253113840650149848068677154487851704171150679865534542333803056672536198491478224698012502311947211025974412681079659715531885205428983220811268746774863086530028971449936021740784887043857382411663017103707037995985295711751986900251347483818304749372447922706307737630025146392844516298679171475701939802985684400906339332932923720885792548240796848799285181338868205060793931730518930141427345947900007780580648376522023614918211416011340089686872948685383651763268809608277311981648190212893206020519810775739615835730522759731909280556713768182288716558522174738141487247337176080986306229145438367578031050282963895981744778375243175722423618694619226934825573787800453606719899933393739857427718733192644433787783647050346034357269185271681779841864643741214570863058968023290155964386878033588752933511322596428470895623193692907377071308535476399644370862791677948912737976420047037562327972442177324717761797984918177946575351720642141268407640574166461754416409078442766347719124426037186270722551989878048529706525882014088212056814763735177476009080660652971656272741043416332549032069658670696280610088422981843234534055453485706874878191570343207129839276967488235874467313121665750583109325675389796930715160343549357579864826998479943120762464592995838854151346265327828938859013592935685207076548937870527951868712454842756375312478344008673168729181476914427401676706338373070360411131239881433404593553449345311613825694426677846395568637148876222688037757602878448240694833645536906165699265338239 2673221981850423539499638181214153552917707294676501925072480594238491131577775564197247605377602038162746547450753917474153536309620865585227109480208296013186425381486475492204494108174019919723119060562471328659117422928018077102008015490424322087842311084228524401617109235774684333216384157149079574717641880219187384787885608906314120030793846292436655600223744754159032252991035231740445142471935974012313010302448953443661712880597310614768635401249158082141250859516287622956469145476879923197681644115217473038074710360785618867494026479914113085191032665830545895856659096686518139098171061214984740004496011163324897705798668984233777309022747995092126929362133705407781936267126596270017320245866947933830645894409318940731244340351795916481964375531511196333819117215842634879667565645765678702044052174387219869059884743168693692732701309642626353577727683043489381825026756862075109594335770191462742964713989110148561564219180686433970524631920994565722760544559726947872070619022916033199633495778270693288017721626570746162231256632519357402896726322935457021557759281746767673472299667153787625228844988763730423062924965875607659232779088132088194725250426621312474849879193093989855618591070580706732465887978726700667015992561915843070439949190344205969616087365478009097821342132127926926411189285586379183829103943062553610070620548759830163194116123805257063969800997858231356483612771474602957220959633891789998947450108840082523948334063732837804892503321811592112627992215007872305197155946794759718238255621340880737596536935573219652989249691507770082702628821850432930902447649376355613166897031059610137054008727176828215073316869873868267492860886698023659718088043787181716104017277403737742487068064359391341822120109159882632608185042323611354909952683516108573438320019798597499454970515286322095590815581818289025437406970638831106268254503616420917367967210837002904557229152399690876064849969912094425532847682332623025968381151797965843783162735325887907007488167329274515364923096018353711208717459905055810479981318275071000187337815791506140409682448441149861142553168120183327132548934739213926195935392220867059195301014078399067537823001628000184335492840913565519658211063350350854460735400814500347672533853893062333654591200869553833760206207160795408552913917710177451900464123484214904813475388116579999295369134844728647229053280955922080363079457606168453447211141063099888049643676208348078633901699451335311736312250907996603476024212929732568146384976803031812777294970661066178678992162799344094955333890694707008274954329648998192116158756216047082838157246947966342576196318062195297200082021711944168137510222632630631169445257542144622387408587567388529713199929584588403669102256049578627295671813638404658572679770811198746857392840287559429802151588170302737703585009231539319624373916562482505019486199324837408708174415782697456148358160829220771689013208888912002165962412806764393755468116207072508883563266793638496279333388253375559357204017791557169394626252167917590856860182833198840965408645084563585367280211365297952588826766848321705459093065554689244672402800597191322554121005228170213272382815283108647149634558081661359662972367008050498535006839688721448251307716285724006086214112134864706327341617179029459213511129415280663068975853709525729282 4325364026107339811402563232619122192426039395296654901864814673850397115577767933255838145765656406896007779258717129709037327555727874718280997709575590907660111130670868879419559182418770257508093296349530131514669926736744081904335470090784009063154681354490588036262685129223524277154838824936936301897889087381191559465037223890957322600604591373308431245288387830638131474706271176278065640176473454586241938662676649042604768954347824983831168966687946528495062341505680559322300209805393506034725955469679841205161591883437069300454477496480299791887337314849575555740274454389863351872076731280388408151486423442548194025651915214003965610434737952930446414402743417824840421639895945074682913451725858514386322697270355091648538516275381003970290289368529361054720416482731231297747095628902661687773310236036006717365006596326735700221452654012941986716188532972903306433264111500422400772632503721928567952551523111458111619130549867439488802327500367631116093247277560616719121175635985687089905028972802342865858213433792373757220392788734649030276156147189134329988049974899713941565965232661871384731553219727336396205874788358552495906169036164527837082842733455274813538542654864821718628959180660537175076501943136596462636430266360301748410831899973839072065026417747035415441799616214116238866536879394857550276309909126573416384680806865361375614010378662789212764246385793040552063577510426123312022460686497923577025654336716296577096170950114656960169665441918946433808514366133655555021286307209021104555171790094031671517689843349841193687985447419258399311214582677942946376447296082803664321038964678782128870965792685622565266042285639266502318302947374205109013153737693284285045544787485417944834285649359793508358738989908019668138567816760762373946284235808447844787426684640936752568811165436170164267970069669993196588086836173373440071311176152619408846191908849505216504440178374103557144509685443979630961830903143891772743244238327994815233098757066672794051345549740937532468630134014339006920469446805307157963799623024443448110044123529136165556075292957448540314028870059986312816949841078546859119656278013415299992149813363580406406028062421931914854422982340911467558218843930999230982759015732711763683873943579935282339974852632822643368483519142443598765807123730697262676203739319945427573207297397136713063551423561287169403791422443169417539160443912397598885578719094150171013539657953126453877077421874954006355539185733570391276477819649632501540124834230750545969939404448849825729338197156613280227015670536571652016168900512057160139448912180433960871745999881477665172624788957818490892989398783252703613909867003493422847394170280121042434446149895360971890524647346386388587280202624930347937813082046045232739141525227607825300159188006683855839337858892854727581633538938065201638462128619297268754663675333918069361146072055438499564690709861290430359709489499000425147805647340819847241174991085264079226770396632915463767569262720688681022954600900882844784423182883077934406217762698025839445351765847028178363119065516644217916655705707335298394778272631238182542930752465903777396877380540648557281055984012290124064061959758367698036042727419181738416440244282274897596619330111418432764060507703501855203564305216787062091959370110114308605882019408791067521 6998586007957763350902201413833275745343746689973156826937295268088888247155543497453085751143258445058754326709471047183190863865348740303508107189783886920846536512157344371624053290592790177231212356912001460173787349664762159006343485581208331150996992438719112437879794364998208610371222982086015876615530967600378944252922832797271442631398437665745086845512132584797163727697306408018510782648409428598554948965125602486266481834945135598599804367937104610636313201021968182278769355282273429232407599584897314243236302244222688167948503976394412877078369980680121451596933551076381490970247792495373148155982434605873091731450584198237742919457485948022573343764877123232622357907022541344700233697592806448216968591679674032379782856627176920452254664900040557388539533698573866177414661274668340389817362410423226586424891339495429392954153963655568340293916216016392688258290868362497510366968273913391310917265512221606673183349730553873459326959421362196838853791837287564591191794658901720289538524751073036153875935060363119919451649421254006433172882470124591351545809256646481615038264899815659009960398208491066819268799754234160155138948124296616031808093160076587288388421847958811574247550251241243907542389921863297129652422828276144818850781090318045041681113783225044513263141748342043165277726164981236734105413852189127026455301355625191538808126502468046276734047383651271908547190281900726269243420320389713575973104445556379101044505013847494765062168763730538546436506581141527860218442254003780822793427411434912409114226778923060846677235138927028482013843404528375877278894945459159277487935995738392265924974519862450780339359155513134769811163834072228768731241781480466001149562064889155687321353713719184850180859099067902300746752859084373728856236919324556418225746704439534252023781680722492259858785651488282222025493806812204546339565679769040326214159119686508121061669330773794433209359655356074056494678585476514798711625390125960659016261492392560701058833717070212047833553230032692718129186906710362968443780941299514448297381939320642305965757741398598401456582038180169639949498775817760785315591670234282359187450827441979473943851064049932099189915823254476987216429907281350085443494416547212111356407797472997615994566053502376477128689726303239007318721041440874714576667862804160332386682685513716712358920558406015816632844703399091497902239901518566052332789860157250059063183334161474532510979121326289318091851436641566994752502032579365069686509811033782358747234375109916004408330359955957375182349561231278660291123230161055352255607668396481043709903246829444007748821107020013788093071420495196871751420089636124054016839427822265664821854737462749501603724576930974792256382458674508975233484895684449891311821296038806572157552028294243285641489447063157465285218548169604521262836045181779773774149874658755478069320487838135955713048870690511202048722698387912427313768060147584240996643107292336588110333663426553960046902650974064240380158618692440014179049435050995525263077945531224680410760410931591763730399276881942170505482472555657003853871338185927427215333553063095099950998385768818770553438799295398771213696517840029057699015094427232236951447083970996345847927046397142438850274619838366561530905922395816521305470499525394971674857873118316796803 11323950034065103162304764646452397937769786085269811728802109941939285362733311430708923896908914851954762105968188176892228191421076615021789104899359477828506647642828213251043612473011560434739305653261531591688457276401506240910678955671992340214151673793209700474142479494221732887526061807022952178513420054981570503717960056688228765232003029039053518090800520415435295202403577584296576422824882883184796887627802251528871250789292960582430973334625051139131375542527648741601069565087666935267133555054577155448397894127659757468402981472874712668965707295529697007337208005466244842842324523775761556307468858048421285757102499412241708529892223900953019758167620541057462779546918486419383147149318664962603291288950029124028321372902557924422544954268569918443259950181305097475161756903571002077590672646459233303789897935822165093175606617668510327010104748989295994691554979862919911139600777635319878869817035333064784802480280421312948129286921729827954947039114848181310312970294887407379443553723875379019734148494155493676672042209988655463449038617313725681533859231546195556604230132477530394691951428218403215474674542592712651045117160461143868890935893531862101926964502823633292876509431901781082618891864999893592288853094636446567261612990291884113746140200972079928704941364556159404144263044376094284381723761315700442839982162490552914422136881130835489498293769444312460610767792326849581265881006887637152998758782272675678140675963962151725231834205649484980245020947275183415239728561212801927348599201528944080631916622272902040365220586346286881325057987206318823655342241541962941808974960417174394795940312548073345605401441152401272129466781446433877744395519173750286195106852374573632155639363078978358539598088975921968885320675845136102802521155133004263013173389080471004592592846158662424126755721158275418613580642985577986410876855921659735060351028536013337566109509147897990353869340800053687456509488620406571454869628453955474249360249459233495110179266811149580302183364047031725049656353515670126407580564323957896407426062849778471521833034356046941770610908240155952766448616896307644435247948247697659179600640805559880349879126471864014044338805595388454774648751212349316426253432279923875040281741052932898334540906135199120497173245445682606084528165171571977252871602124105759959889982910853425422471981967302986036636125842260915441400345430963651218368579251400230076722992114600986388056543201243324447390622375137386028979852228997571226634645264532904717173779558765830137668557112570655409365231767850312307292130673112512395056580576915004581649246710921672921445895977832278986060819278449575365329956639617476864233598102386707256300887358110473494249224277361180843662661299439323171297977730495124050962821266414397457711216300927141480827305956012192866852087107669722901298173801077042528813549992673547430466559893574455277739580551801632408432187886912852461573707488404088237818098377600667337104060059469423814471913694752921403113219593322858963472617934073459669295708229250519856112176778619942093518342398586388422138178262992302248649610817165609758264305528998877347875766309467327834494783307688895277758477598396755735057821846413975367887328253271243444546376508560871614335127541868416734470227612603583397429869635509280280739892527107864324 18322536042022866513206966060285673683113532775242968555739405210028173609888854928162009648052173297013516432677659224075419055286425355325297212089143364749353184154985557622667665763604350611970518010173533051862244626066268399917022441253200671365148666231928812912022273859219941497897284789108968055128951022581949447970882889485500207863401466704798604936312653000232458930100883992315087205473292311783351836592927854015137732624238096181030777702562155749767688743549616923879838920369940364499541154639474469691634196371882445636351485449269125546044077276209818458934141556542626333812572316271134704463451292654294377488553083610479451449349709848975593101932497664290085137453941027764083380846911471410820259880629703156408104229529734844874799619168610475831799483879878963652576418178239342467408035056882459890214789275317594486129760581324078667304020965005688682949845848225417421506569051548711189787082547554671457985830010975186407456246343092024793800830952135745901504764953789127668982078474948415173610083554518613596123691631242661896621921087438317033079668488192677171642495032293189404652349636709470034743474296826872806184065284757759900699029053608449390315386350782444867124059683143024990161281786863190721941275922912591386112394080609929155427253984197124441968083112898202569421989209357331018487137613504827469295283518115744453230263383598881766232341153095584369157958074227575850509301327277350728971863227829054779185180977809646490294002969380023526681527528416711275458170815216582750142026612963856489746143401195962887042455725273315363338901391734694700934237187001122219296910956155566660720914832410524125944760596665536041940630615518662646475637300654216287344668917263729319476993076798163208720457188043824269632073534929509831658758074457560681238920093520005256616374526881154683985541372646557640639074449797782532750442535690700061274510148222521458627778839921692423563228996156127743951188074096921370166495018579916133265621741851794196169012983881361628135736594079724443178843260226033094851361505623472344704808002170420777487590775754645343227192946420325592715947392714068429750839618481980018367051468247539354293730190521796113234254628849865441991078658493699401869747848827135986396689538525930514329106959637575597625862971748921613403249206612446691829539464928266092346572668424570137781392540373318802669480829241352413343640246949529703551158439408650289139906326276075518899035664527532642539242059016704380781481884808362640913144456298315263464408154668681834545998917068528030591714792999128972598415360834167864650664248973396048291552493540365680670267002997846067079132239773646447116750046275741530881073025924652372078155624820859975097973801208335973100045119973948298404782873414945015362784117305220969615263244595170427122316753019169658152070635277274244164134218982856816302963424651429025499787047731710410990788451242312834457154886274825279775341767635988329234461205669937255447437723486023383861374564668817161783271838285762873142522052985068984932373653760475200266872587710211705823917619280528558927620650818649306102520949003093036973597858592093977298874152078286098387933582603087666491454995438425813434072916273646212319334412224267589292473422905703310464609747380234978265376150008420104702900369160904251955597765645424661127 29646486076087969675511730706738071620883318860512780284541515151967458972622166358870933544961088148968278538645847400967647246707501970347086316988502842577859831797813770873711278236615911046709823663435064643550701902467774640827701396925193011579300340025138513386164753353441674385423346596131920233642371077563519951688842946173728973095404495743852123027113173415667754132504461576611663628298175194968148724220730105544008983413531056763461751037187206888899064286077265665480908485457607299766674709694051625140032090499542203104754466922143838215009784571739515466271349562008871176654896840046896260770920150702715663245655583022721159979241933749928612860100118205347547917000859514183466527996230136373423551169579732280436425602432292769297344573437180394275059434061184061127738175081810344544998707703341693194004687211139759579305367198992588994314125713994984677641400828088337332646169829184031068656899582887736242788310291396499355585533264821852748747870066983927211817735248676535048425632198823794193344232048674107272795733841231317360070959704752042714613527719738872728246725164770719799344301064927873250218148839419585457229182445218903769589964947140311492242350853606078160000569115044806072780173651863084314230129017549037953374007070901813269173394185169204370673024477454361973566252253733425302868861374820527912135265680606297367652400264729717255730634922539896829768725866554425431775182334164987881970622010101730457325856941771798215525837175029508506926548475691894690697899376429384677490625814492800570378060023468864927407676311619602244663959378941013524589579428543085161105885916572741055516855144958597471550162037817937314070097396965096524220032819827966573539775769638302951632632439877141567260055277019746238517394210774645934461279229590564944252093482600476261208967373039817108112297093804833059252655092783360519161319391612359796334861176758534796193888349069590413917098336956181431407697562717327941621364647033871607514981991311027691279192250692511208437919958126756168228499613741703221258942069947430241112234065020199249009423810110692284997803854660481545482396009610376074186087566729677677546652109053099234643609316993660127278593434445253896765727409706048718296001281107059861436971279578863412663647865772774718123036217194604219487777371784018669082411067052371852306462651335423563203864522340621788706116955083613328785040592380493354769527018660050519216629318390676505287092207728775966986632681391841766810461737037360212139779101562848168181581934227447664683667474181098686001080024766979284905707491507280377045720829550311052873201740251287353591712898975678346065193059052096022482080002915359007745306624027039079334456512178970448592223025485697153943707781273387621576080851145440139413746938571635367072974460896097568603144058975181851018922722384943967065432392783933858831776974644102572930253607625284866268528031794114466865587074161738132236915475124392417472279304047537922784541783545492807675846478363570083186385057879085732105994670919142444601669361989725720122984764488831647917435961679114947349758829081641608351170559820258646731862164121092854646749918387753426222428365910776561769213473036822569169130738120060187687221740477538832737019799414264182078944874922103394999846377621023688100330238796413532236337658172532525451 47969022118110836188718696767023745303996851635755748840280920361995632582511021287032943193013261445981794971323506625043066301993927325672383529077646207327213015952799328496378944000220261658680341673608597695412946528534043040744723838178393682944449006257067326298187027212661615883320631385240888288771322100145469399659725835659229180958805962448650727963425826415900213062605345568926750833771467506751500560813657959559146716037769152944492528739749362638666753029626882589360747405827547664266215864333526094831666286871424648741105952371412963761053861847949333925205491118551497510467469156318030965234371443357010040734208666633200611428591643598904205962032615869637633054454800541947549908843141607784243811050209435436844529831962027614172144192605790870106858917941063024780314593260049687012406742760224153084219476486457354065435127780316667661618146679000673360591246676313754754152738880732742258443982130442407700774140302371685763041779607913877542548701019119673113322500202465662717407710673772209366954315603192720868919425472473979256692880792190359747693196207931549899889220197063909203996650701637343284961623136246458263413247729976663670288994000748760882557737204388523027124628798187831062941455438726275036171404940461629339486401151511742424600648169366328812641107590352564542988241463090756321355998988325355381430549198722041820882663648328599021962976075635481198926683940782001282284483661442338610942485237930785236511037919581444705819840144409532033608076004108605966156070191645967427632652427456657060124203424664827814450132036892917608002860770675708225523816615544207380402796872728307716237769977369121597494922634483473356010728012483759170695670120482182860884444686902032271109625516675304775980512465063570508149467745704155766120037304048125625491013576120481517825341899920971792097838466451390699891729542581143051911761927303059857609371324981056254821667188991282837480327333112309175358885636814249311787859665613787740780603733162821887448205234573872836573656552206480611407342873967736316110303575570902585817042067190620026497014585865337628224996801080807138198343402324444503936927185211657695913703577300638588937339507515456240512848063295119338756806068199748120165749129934195847833660818104793926992754825410350315748899188943525832891026578396465360911950531980637944653035319759993700985257062713940591375597784324965742128680839330023058320685458068700808356535644666752024186127872256308609525874740408546147591943621845722853052923557861163431645990088896129499229666391249626716592794817766108257504122852341448241696385078523707101164754233791653034261979901973524413144325298825742469598830049191100538626379649951691451412612136999830423690196826694033127043752901247335919980863724560385154776531055876856336688237705491267995725460811994351509170993357662218211229566611766790675134740399295531598430040655356995277259316483036427301322741960436563412012257242760380746706740509717475178231979507031516191537221043032387244969656896164848605248516723904211429534043015750200920389857352199043353741353580959643506277379479900290914453691508823351683705460022713186831945624070466039524610361948513864228260668468475248382603203654393706400006556152701806422029493222319967492543554622302338373265222527629443792803230607957317784191935423817957186578 77615508194198805864230427473761816924880170496268529124822435513963091555133187645903876737974349594950073509969354026010713548701429296019469846066149049905072847750613099370090222236836172705390165337043662338963648431001817681572425235103586694523749346282205839684351780566103290268743977981372808522413693177708989351348568781832958154054210458192502850990538999831567967195109807145538414462069642701719649285034388065103155699451300209707954279776936569527565817315704148254841655891285154964032890574027577719971698377370966851845860419293556801976063646419688849391476840680560368687122365996364927226005291594059725703979864249655921771407833577348832818822132734074985180971455660056131016436839371744157667362219789167717280955434394320383469488766042971264381918352002247085908052768341860031557405450463565846278224163697597113644740494979309256655932272392995658038232647504402092086798908709916773327100881713330143943562450593768185118627312872735730291296571086103600325140235451142197765833342872596003560298547651866828141715159313705296616763840496942402462306723927670422628135945361834629003340951766565216535179771975666043720642430175195567439878958947889072374800088057994601187125197913232637135721629090589359350401533958010667292860408222413555693774042354535533183314132067806926516554493716824181624224860363145883293565814879328339188535063913058316277693610998175378028695409807336426714059665995607326492913107248032515693836894861353242921345677319439040540534624479800500656853969568075352105123278241949457630502263448133692741857808348512519852666820149616721750113396044087292541508682789301048771754625122327719069045084672301410670080825409448855694915702940310149434424220456540335222742257956552446343240567742083316746666861956478801700581316533638690569743107058720957779034309272960788900210135560256223759144384635364503571073081318915419653944232501739591051015555538060873251397425670068490606766583199531577253409224312647659348295585724473849578727397485266384045011576510333236779635842487709439537369245645518332826929276132210819275506438395976029913222800655741288683680739411934820578123014751941335373460355686353737823580948824509116367791441497740373235522533477905796838461750411041255709270632097683657339656402691183125033871935406138130052378803950180484029994361599033009796959497971095417264189121585054562380081714739408579070913721431710516413090212476728751327573164963057428529473220079985084576512507421800387914402405358883083065192702659424011599827572023123577163913333865430725402593874842533087542409830343848728618742105908074018154037955974042940387853692800949202759209518357877838492080910052106459546371686273978730530747068649178800872282419852179730280987460682520723541556944575705825294190277994448491703761212166387365564328604870969533360189916080047162178294999004550724533966517373939634171360294262982280143527844514830541768188329034598301544249172717884773164179019813765013101016521290577008999213067521395957328156041954043934337354511394823353874135712377739926640512842116687875001658789542638758453627138308981932522804862068643610330437322186834279686592373988853792950832790314424640790029881941512070951772334392513766587693777893179345254766513021734231674622499497224441768265068905250467480903560846753731316428273081990489712029 125584530312309642052949124240785562228877022132024277965103355875958724137644208932936819930987611040931868481292860651053779850695356621691853375143795257232285863703412427866469166237056434364070507010652260034376594959535860722317149073281980377468198352539273165982538807778764906152064609366613696811185015277854458751008294617492187335013016420641153578953964826247468180257715152714465165295841110208471149845848046024662302415489069362652446808516685932166232570345331030844202403297112702628299106438361103814803364664242391500586966371664969765737117508267638183316682331799111866197589835152682958191239663037416735744714072916289122382836425220947737024784165349944622814025910460598078566345682513351941911173269998603154125485266356347997641632958648762134488777269943310110688367361601909718569812193223789999362443640184054467710175622759625924317550419071996331398823894180715846840951647590649515585544863843772551644336590896139870881669092480649607833845272105223273438462735653607860483241053546368212927252863255059549010634584786179275873456721289132762209999920135601972528025165558898538207337602468202559820141395111912501984055677905172231110167952948637833257357825262383124214249826711420468198663084529315634386572938898472296632346809373925298118374690523901861995955239658159491059542735179914937945580859351471238674996364078050381009417727561386915299656587073810859227622093748118427996344149657049665103855592485963300930347932780934687627165517463848572574142700483909106623010039759721319532755930669406114690626466872798520556307940385405437460669680920292429975637212659631499921911479662029356487992395099696840666540007306784884026091553421932614865611373060792332295308665143442367493851883473227751119221080207146887254816329702182957466701353837686816195234120634841439296859651172881760692307974026707614459036114177945646622984843246218479511553603826720647305837222727052156088877753003180799782125468836345826565197083978261447089076189457636671466175602719840256881585233062539717391043185361677175853479549221089235412746318199401439302003452981841367541447797456822095821879082814259265082059941937152993069374059263654376412518288332024572608304289561035492574279339546105544958627499540975451557104292915788451266649157516593475349620834595081655885269830528576949390906312131013647741612533290855410965174378647768502971457312523733544813042402271040539471410897934797452135929700607724180553659347952241393186038382162208934061994348980728805918245626217285175031473562112019706663143000256680352119186669660299195799913953196190176860438490986597725255202710207834593422115672702922727172353843656703580961679740101297560084998065923930421982159680786178631295972616678873763408031213583768059461537808300266210448966809050325348040449449871878633560054065682963884869360909437709380389524565616317515209101257773235165769790334918339275420787160997866969069511070995034864956261429960645153910885760323482488279248500797608525190750288564428344573125698850208782942603028118727565303669755393490127560902699468886918355400143123598401959904517788882223437258553577466962014142782209547466518537998059319832475443152262938505018290550409987319334375538046907472987700334045881151676796006244054199167166054119526780141530291432879911273706791454711049100620208505808446898607 203200038506508447917179551714547379153757192628292807089925791389921815692777396578840696668961960635881941991262214677064493399396785917711323221209944307137358711454025527236559388473892607069460672347695922373340243390537678403889574308385567071991947698821479005666890588344868196420808587347986505333598708455563448102356863399325145489067226878833656429944503826079036147452824959860003579757910752910190799130882434089765458114940369572360401088293622501693798387661035179099044059188397857592331997012388681534775063041613358352432826790958526567713181154687327032708159172479672234884712201149047885417244954631476461448693937165945044154244258798296569843606298084019607994997366120654209582782521885096099578535489787770871406440700750668381111121724691733398870695621945557196596420129943769750127217643687355845640667803881651581354916117738935180973482691464991989437056541685117938927750556300566288912645745557102695587899041489908056000296405353385338125141843191326873763602971104750058249074396418964216487551410906926377152349744099884572490220561786075164672306644063272395156161110920733167210678554234767776355321167087578545704698108080367798550046911896526905632157913320377725401375024624653105334384713619904993736974472856482963925207217596338853812148732878437395179269371725966417576097228896739119569805719714617121968562178957378720197952791474445231577350198071986237256317503555454854710403815652656991596768699733995816624184827642287930548511194783287613114677324963709607279864009327796671637879208911355572321128730320932213298165748733917957313336501069909151725750608703718792463420162451330405259747020222024559735585091979086294696172378831381470560527076001102481729732885599982702716594141429780197462461647949230204001483191658661759167282670371325506764977227693562397075893960445842549592518109586963838218180498813310150194057924565133899165497836328460238356852778265113029340275178673249290388892052035877403818606308290909106437371775182110521044903000205106640926596809572872954170679027849386615390848794866607568239675594331612258577509891377817397454670598112563384505559822226194085660182956689094328442834414950008114236099237156533688976095731058775865809801873024011341797089249952016707266374925013472108606305560207776600383492770001219785937648634478757433420900673730046657538572031261950828229363500232823065351539027263142123883956123702751055884501110411526203463502865570781609083132568032226477762550889584009321976396754339611888983438328876709186631301134135143283827056334122111077521780544502832283342323783540038905479180596894671743409240666181877533809969365503871929931563362014581419453760650153404019631369752197909152512906749435357432168255036531053493689018674266288783003094752875972035743157087044773839744210662038265999124382670553933418229550825517756542567819564620868239743067775147174799941150629181321555564315005512697510837699400029633166500510602678529927075064780137247501380265022088185534189963356085824301901281740804252717279957539513550919177805467771230054201415541585574793357058932666237160413531656097864155960063415646110572344580104396381746205130372048173625426275942577363145808320432351499390286147872439421239575394111939060496931562519265788430841788553616751221909795360338130378754610352301464780417048481587798936610636 328784568818818089970128675955332941382634214760317085055029147265880539830421605511777516599949571676813810472555075328118273250092142539403176596353739564369644575157437955103028554710949041433531179358348182407716838350073539126206723381667547449460146051360752171649429396123633102572873196714600202144783723733417906853365158016817332824080243299474810008898468652326504327710540112574468745053751863118661948976730480114427760530429438935012847896810308433860030958006366209943246462485510560220631103450749785349578427705855749853019793162623496333450298662954965216024841504278784101082302036301730843608484617668893197193408010082234166537080684019244306868390463433964230809023276581252288149128204398448041489708759786374025531925967107016378752754683340495533359472891888867307284787491545679468697029836911145845003111444065706049065091740498561105291033110536988320835880435865833785768702203891215804498190609400875247232235632386047926881965497834034945958987115296550147202065706758357918732315449965332429414804274161985926162984328886063848363677283075207926882306564198874367684186276479631705418016156702970336175462562199491047688753785985540029660214864845164738889515738582760849615624851336073573533047798149220628123547411754955260557554026970264151930523423402339257175224611384125908635639964076654057515386579066088360643558543035429101207370519035832146877006785145797096483939597303573282706747965309706656700624292219959117554532760423222618175676712247136185688820025447618713902874049087517991170635139580761687011755197193730733854473689119323394774006181990201581701387821363350292385331642113359761747739415321721400402125099285871178722263932253314085426138449061894814025041550743425070210446024903007948581682728156377091256299521360844716633984024209012322960211348328403836372753611618724310284826083613671452677216612991255796817042767811352378677051440155180885662690000992165185429152931676430090171017520872223230383803392269170553526447964639747192511078602924946897808182042635412671561722213211063791244328344087696803652421912531013697879513344359658764996118395569385480327438905040453350742242898626247321512208474213662490648617525488558261584400020619811358384081212570116886755716749492992158823479217929260559872954717724370075733113604596301441822918465007334382811806985861060305280184564552806239194537878880591568322996339786875668696998525973791595355912008346323655599432566178505789636791915984467870948589271746218256038391103320340694901683955093994361662774696247162990490199334378791429640967214163131479142237736736229082339619087881269468664443376389712127232085038206794657103917205671285000415440390254701579716367818121839574495066430221536063464227653209927257097049887850056842464632561176238246192123896095099187784660111910144632684436736236897303098911734955465922957344130237185754952169032920409965710940964099660830985102166510564479907210471024668031456772032639175080985950540460729989659513522885794059380713644650252646474407439654461500222560567632278484481475223164720181762318241054461711712459075789835562373436173886746379397321969223577534358722886605929212723668370107493457901719094840301650826610982761486709620523410486328712563094445984941648608358525509842630008954607736278002051325651771010290028317143756175829517668690093607383509243 531984607325326537887308227669880320536391407388609892144954938655802355523199002090618213268911532312695752463817290005182766649488928457114499817563683871507003286611463482339587943184841648502991851706044104781057081740611217530096297690053114521452093750182231177316319984468501298993681784062586707478382432188981354955722021416142478313147470178308466438842972478405540475163365072434472324811662616028852748107612914204193218645369808507373248985103930935553829345667401389042290521673908417812963100463138466884353490747469108205452619953582022901163479817642292248733000676758456335967014237450778729025729572300369658642101947248179210691324942817540876711996761517983838804020642701906497731910726283544141068244249574144896938366667857684759863876408032228932230168513834424503881207621489449218824247480598501690643779247947357630420007858237496286264515802001980310272936977550951724696452760191782093410836354957977942820134673875955982882261903187420284084128958487877020965668677863107976981389846384296645902355685068912303315334072985948420853897844861283091554613208262146762840347387400364872628694710937738112530783729287069593393451894065907828210261776741691644521673651903138575016999875960726678867432511769125621860521884611438224482761244566603005742672156280776652354493983110092326211737192973393177085192298780705482612120721992807821405323310510277378454356983217783333740257100859028137417151780962363648297392991953954934178717588065510548724187907030423798803497350411328321182738058415314662808514348492117259332883927514662947152639437853241352087342683060110733427138430067069084848751804564690167007486435543745960137710191264957473418436311084695555986665525062997295754774436343407772927040166332788146044144376105607295257782713019506475801266694580337829725188576021966233448647572064566859877344193200635290895397111804565947011100692376486277842549276483641124019542779257278214769428110349679380559909572908100634202409700560079659963819739821857713555981603130053538734778852208285625732401241060450406635177138954304371892097506862625956457023235737476162450788993681948864832998727266647436402425855315341649955042889163670604884716762645091950560495751678587224193883085594128228552805999445008866089854142942732668479260277932146676116606374597521227760567099486091816232707659591106962818756595814757067423901379113414633674535367050017792580954649676542651240413118757849859062935431749287398719924484016694348711140161330227578014787857659952583885122283970703548294075830382306274317255668500902507162747758665963762484561520276267987818799684775941212073684042571589661042054403710666587035480567685866419869201040408105599347737570319748727007973179656893495632482689740980750786068562116345625467727314052210281935280983139873027528870773948410631808819406790830721328462560473222465525163694858053994695236808067584765652091593280982386549417172023261990744909871054301197957282635317705008061015320597977491039778544973979593570677000736076948375689180458714217502518107145829403659280690935950235963733782640036505069518008456072722786967829984610535357385384869688106703302991002310958928798742155667083327995037417664796634931415112986099906671282925749952138488557924002145539921044775631060850743161353029223961121012109140668782927496057640609934717171681406320119879 860769176144144627857436903625213261919025622148926977199984085921682895353620607602395729868861103989509562936372365333301039899581070996517676413917423435876647861768901437442616497895790689936523031064392287188773920090684756656303021071720661970912239801542983348965749380592134401566554980777186909623166155922399261809087179432959811137227713477783276447741441130732044802873905185008941069865414479147514697084343394318620979175799247442386096881914239369413860303673767598985536984159418978033594203913888252233931918453324858058472413116205519234613778480597257464757842181037240437049316273752509572634214189969262855835509957330413377228405626836785183580387224951948069613043919283158785881038930681992182557953009360518922470292634964701138616631091372724465589641405723291811165995113035128687521277317509647535646890692013063679485099598736057391555548912538968631108817413416785510465154964082997897909026964358853190052370306262003909764227401021455230043116073784427168167734384621465895713705296349629075317159959230898229478318401872012269217575127936491018436919772461021130524533663879996578046710867640708448706246291486560641082205680051447857870476641586856383411189390485899424632624727296800252400480309918346249984069296366393485040315271536867157673195579683115909529718594494218234847377157050047234600578877846793843255679265028236922612693829546109525331363768363580430224196698162601420123899746272070304998017284173914051733250348488733166899864619277559984492317375858947035085612107502832653979149488072878946344639124708393681007113126972564746861348865050312315128526251430419377234083446678049928755225850865467360539835290550828652140700243338009641412803974124892109779815987086832843137486191235796094625827104261984386514082234380351192435250718789350152685399924350370069821401183683291170162170276814306743572613724795821743828143460187838656519600716638822009682232780249443400198581042026109470730927093780323864586213092829250213490267704461604906067060206055000436542960894843698297294123454271514197879505483042001175544519419393639654336536580097134927446907389251334345160437632307100787144668753941588971467251363377333095533334288133650212144895772298398582577964298164245115308522748938001024913333360871993228352214995656516751849719979193822669583485564493426199044514645452167268098941160367563306618439257994006201997531706836893461277953175650334246596325127104173514662367997927793188356716400001162219659729433076445834053178960980293278786806239064697909956850526629469264807455002879693936803714972829095241626799257012497070158418772657210680738127418961301788274139441917461244139397773357151420284641430662807179064105388441588301503039609878429559096710342950908007883118449966402467932359875228448528127404879234972215313530885858555264493256143027728024427374295428688388482507825095239749647405840987994731363032557380643217534519338533826470652120342078969229414054667956880089046965861058707480699292067859773652951390645386329594850096620113175717725078674778107888140755914100670417726052023694498216781977084245908285160404003871356914754707354093265641062025877608240171652467112263160541229714132257966447461542397874472809527194693412078664701583003908943794148279570285473690859697769089307226012446663880150958811244639813816439452385861775013703629122 1392753783469471165744745131295093582455417029537536869344939024577485250876819609693013943137772636302205315400189655338483806549069999453632176231481107307383651148380364919782204441080632338439514882770436391969831001831295974186399318761773776492364333551725214526282069365060635700560236764839773617101548588111380616764809200849102289450375183656091742886584413609137585278037270257443413394677077095176367445191956308522814197821169055949759345867018170304967689649341168988027827505833327395846557304377026719118285409200793966263925033069787542135777258298239549713490842857795696773016330511203288301659943762269632514477611904578592587919730569654326060292383986469931908417064561985065283612949656965536323626197258934663819408659302822385898480507499404953397819809919557716315047202734524577906345524798108149226290669939960421309905107456973553677820064714540948941381754390967737235161607724274779991319863319316831132872504980137959892646489304208875514127245032272304189133403062484573872695095142733925721219515644299810532793652474857960690071472972797774109991532980723167893364881051280361450675405578578446561237030020773630234475657574117355686080738418328548027932863042389037999649624603257526931267912821687471871844591180977831709523076516103470163415867735963892561884212577604310561059114350023440411685771176627499325867799987021044744018017140056386903785720751581363763964453799021629557541051527234433953295410276127868985911967936554243715624052526307983783295814726270275356268350165918147316787663836564996205677523052223056628159752564825806098948691548110423048555664681497488462082835251242740095762712286409213320677545481815786125559136554422705197399469499187889405534590423430240616064526357568584240669971480367591681771864947399857668236517413369687982410588500372336303270048755747858030039514470014942034468010836600387690839244152564324934362149993122463133701775559506721614968009152375788851290836666688424498788622793389329873454087444283462619623041809185053975277739747051983923026524695331964604514682621996305547436616926256265610793559815834611089897696382933283209993436359573748223547094609256930621422294252541003700418051050778742162705391523976985806771847383758373343861328748383009891003187503814725896831475273588663427966326353791343897344052663979518015277222305043274230917697756182320374042340637107420835672067073886911253858907825326876897836738245862023373725303429677080587076640884017856568370869594406673412067966818640245862671928523035401458250926357011775539124710671380596443966462731495059004111360777288765057977218457433151892811811461532891449316193845628127831174878341043017840153842471070912778411842958761337028511012789535323054729193032691888758669187012082748093400087189280658810062685862374845242842401659806965896302075549818558745755836855901910854007671519953293744342642649055579497015124150661625604083936510557088461397030213133270427371337303274585097107981181656684971739070612833753246522067646122406543225785800571889935227596781923937291800036605036620653689785806334534721851495092701981007947371833855967450112092738962953747765328868610551130581265854418827624557709169675631244096473812987458909433865976337828616840071561832945939688200615061104751710440930442336449973567675989291627594172135871457049387103033456420023749001 2253522959613615793602182034920306844374442651686463846544923110499168146230440217295409673006633740291714878336562020671784846448651070450149852645398530743260299010149266357224820938976423028376037913834828679158604921921980730842702339833494438463276573353268197875247818745652770102126791745616960526724714744033779878573896380282062100587602897133875019334325854739869630080911175442452354464542491574323882142276299702841435176996968303392145442748932409674381549953014936587013364489992746373880151508290914971352217327654118824322397446185993061370391036778836807178248685038832937210065646784955797874294157952238895370313121861909005965148136196491111243872771211421879978030108481268224069493988587647528506184150268295182741878951937787087037097138590777677863409451325281008126213197847559706593866802115617796761937560631973484989390207055709611069375613627079917572490571804384522745626762688357777889228890283675684322924875286399963802410716705230330744170361106056731357301137447106039768408800439083554796536675603530708762271970876729972959289048100734265128428452753184189023889414715160358028722116446219155009943276312260190875557863254168803543951215059915404411344052432874937424282249330554327183668393131605818121828660477344225194563391787640337321089063315647008471413931172098528795906491507073487646286350054474293169123479252049281666630710969602496429117084519944944194188650497184230977664951273506504258293427560301783037645218285042976882523917145585543767788132102129222391353962273420979970766813324637875152022162176931450309166865691798370845810040413160735363684190932927907839316918697920790024517938137274680681217380772366614777699836797760714838812273473312781515314406410517073459202012548804380335295798584629576068285947181780208860671768132159038135095988424722706373091449939431149200201684746829248778040624561396209434667387612752163590881750709761285143384008339756165015166590194401898322021763760468748363374835886218580086944355148745067525690102015240054411820700641895682220320648149603478802394188105038306722981136345649905265130096395931746017344603772184617555153873991880849010691763363198519592889545615918336795951385338912392374850287296275384389349811681922618459169851497321010915916520864686719125183690269245180179816046332985166566927538228472944214321736950495441499016638916549883680660779895101427037669598780723804715136861000977211144433063372966196888387671427604873775433357284019018788030599027483119246121145779620539141458734762100099368207776883641244803932165674260290380770177704324154245738160034301262128135637230090362573549938880494193237590333287545589075314276114400169260438483901733719957475948347202925330014052399413752613825903375642796766552305462049150561332447064509107338190090741609817458155932545665521160795331692846286770183211151330599242490179345048533493990048490043574228378156708042268821618455849090914932049150555212239656785391971231465186154947042715392452438362680693526899473458291508736138075882420685065652952675456702045179940792519137291071415837830029032938633472176947889293107775837727324364866800093056219388827354746218791302233732966681988165787423301933597691558016210861931718961060669749907281541654565741889733836480185346578442570138699531643675986014339869442586405416775685273488839488895231433727378123 3646276743083086959346927166215400426829859681224000715889862135076653397107259826988423616144406376593920193736751676010268652997721069903782028876879638050643950158529631277007025380057055366815552796605265071128435923753276705029101658595268214955640906904993412401529888110713405802687028510456734143826263332145160495338705581131164390037978080789966762220910268349007215358948445699895767859219568669500249587468256011364249374818137359341904788615950579979349239602356105575041191995826073769726708812667941690470502736854912790586322479255780603506168295077076356891739527896628633983081977296159086175954101714508527884790733766487598553067866766145437304165155197891811886447173043253289353106938244613064829810347527229846561287611240609472935577646090182631261229261244838724441260400582084284500212326913725945988228230571933906299295314512683164747195678341620866513872326195352259980788370412632557880548753602992515455797380266537923695057206009439206258297606138329035546434540509590613641103895581817480517756191247830519295065623351587933649360521073532039238419985733907356917254295766440719479397522024797601571180306333033821110033520828286159230031953478243952439276915475263975423931873933811854114936305953293289993673251658322056904086468303743807484504931051610901033298143749702839356965605857096928057972121231101792494991279239070326410648728109658883332902805271526307958153104296205860535206002800740938211588837836429652023557186221597220598147969671893527551083946828399497747622312439339127287554477161202871357699685229154506937326618256624176944758731961271158412239855614425396301399753949163530120280650423683894001894926254182400903258973352183420036211742972500670920848996833947314075266538906372964575965770064997167750057812129180066528908285545528726117506576925095042676361498695179007230241199216844190812508635397996597125506631765316488525243900702883748277085783899262886630134599346777687173312600427157172862163458679607909960398442593028530145313143824425108387098440388947666143347172844935443406908870727034612270417753271906170875923656211766357107242300155117900765147310351454597234238857972455450214311839868459340496369436389691134537555678820252370196121659065680991803031180245704020806919708368501445022015165542833843607782372686776510464271590892452462229598959255538715729934336672732204054703120532208847873341665854610715968995768826304088042269801618828220262112974857281954362509998168036875356401468621889792658189112598260785004130663285135500826458703240653020343056876345640886824736640435819213249849520811590027186112855687523514466361750342027084686906527133173716906489154455443187100592326372804632735887791305964262358525065188949075668555096408334685525221492474131898654732534253789766148252776603984662700998334205472487057097407242664845515939048007232510096497850865001827238332691139099153725393280858703894425702392359648003393446180768345510084156729274506050283262928224372077424177433293527280145995525937631142681301668221256955588180272238625982471740829124173911725105623636363567660484967269649870301055147671583291814978892832019173136592683614829342432814998821100815790345132471609228935654490023849390628394926646087735898381726127574835673524680800407683194280579629973980125959582015858734213999588911556730538226591928687853751127124 5899799702696702752949109201135707271204302332910464562434785245575821543337700044283833289151040116885635072073313696682053499446372140353931881522278168793904249168678897634231846319033478395191590710440093750287040845675257435871803998428762653418917480258261610276777706856366175904813820256073694670550978076178940373912601961413226490625580977923841781555236123088876845439859621142348122323762060243824131729744555714205684551815105662734050231364882989653730789555371042162054556485818820143606860320958856661822720064509031614908719925441773664876559331855913164069988212935461571193147624081114884050248259666747423255103855628396604518216002962636548548037926409313691864477281524521513422600926832260593335994497795525029303166563178396559972674784680960309124638712570119732567473598429643991094079129029343742750165791203907391288685521568392775816571291968700784086362897999736782726415133100990335769777643886668199778722255552937887497467922714669537002467967244385766903735677956696653409512696020901035314292866851361228057337594228317906608649569174266304366848438487091545941143710481601077508119638471016756581123582645294011985591384082454962773983168538159356850620967908138912848214123264366181298604699084899108115501912135666282098649860091384144805593994367257909504712074921801368152872097364170415704258471285576085664114758491119608077279439079261379762019889791471252152341754793390091512870954074247442469882265396731435061202404506640197480671886817479071318872078930528720138976274712760107258321290485840746509721847406085957246493483948422547790568772374431893775924046547353304140716672647084320144798588560958574683112307026549015680958810149944134875024016445813452436163403244464387534468551455177344911261568649626743818343759310960275389580053677687764252602565349817749049452948634610156430442883963673439590549259959392806560174019378068652116125651412645033420469792239019051645301189541179585495334364187625921225538294565826490047342797741773597671003245839665162798919141030843348363667820994538922209303058832072918993398889617556076141053752607698103124586903927302518320301184343335446244930621335653969807201385484377677292320821728603526912405966116527754585471470747603610262201031743025031722836229233188164147198855812079023787598419019761677031199129120925406443920696206034157228950975589282087735363900427310274911011264635334520684132629827281299186702864991794417150500646284886828137943355452055894144432067649372911904310258377881324145589398047235600194666480124294265146989042019901177205506818140143367495587680845891289314248492917613877039911689222521277924496860420719305981803430569843356361030810274538352693363739653167187688539117588362828282380999783977482291773797936181049216064981318298873486442867345594480159154266751138008217892738935511132286122259158563109338988030210050360732322739629142727953771437566746163247320848208738918325495331323557749740942121245737515469417875267087469876615795974220807045468984229139878819377550641942021241132947695328027651681621643311202796521461466392600599118439446597759594162923509310616179845692925075392525420038361048133735048731787782803956132555773542826627212506234711322347355987315837643179923380693316725407361160985754261636850718329505623801945596355728176800405005687242004027066080823919287478505247 9546076445779789712296036367351107698034162014134465278324647380652474940444959871272256905295446493479555265810065372692322152444093210257713910399157806844548199327208528911238871699090533762007143507045358821415476769428534140900905657024030868374558387163255022678307594967079581707500848766530428814377241408324100869251307542544390880663559058713808543776146391437884060798808066842243890182981628913324381317212811725569933926633243022075955019980833569633080029157727147737095748481644893913333569133626798352293222801363944405495042404697554268382727626932989520961727740832090205176229601377273970226202361381255951139894589394884203071283869728781985852203081607205503750924454567774802775707865076873658165804845322754875864454174419006032908252430771142940385867973814958457008733999011728275594291455943069688738394021775841297587980836081075940563766970310321650600235224195089042707203503513622893650326397489660715234519635819475811192525128724108743260765573382714802450170218466287267050616591602718515832049058099191747352403217579905840258010090247798343605268424220998902858398006248041796987517160495814358152303888978327833095624904910741122004015122016403309289897883383402888272145997198178035413541005038192398109175163793988339002736328395127952290098925418868810538010218671504207509837703221267343762230592516677878159106037730189934487928167188920263094922695062997560110494859089595952048076956874988380681471103233161087084759590728237418078819856489372598869956025758928217886598587152099234545875767647043617867421532635240464183820102205046724735327504335703052188163902161778700442116426596247850265079238984642468685007233280731416584217783502127554911235759418314123357012400078411701609735090361550309487227338714623911568401571440140341918488339223216490370109142274912791725814447329789163660684083180517630403057895357389403685680651143385140641369552115528781697555576138281938275435788887957272668646964614783094087701753245434400007741240334802127816316389664090271186017581419791014507014993839474365616211929559107531263816642889462247016977408819464460231829204082420419085448494694790043479169479308109420021513225352837017788690258118294661449961644936780124781593129813284602065232211988729052529755937601689609169214021354912867395380791706538187495470720013377868673519655461572872958885312262014291790067020959519122784352930489945236653128398653585387228972666610622637412613621142168782500453353620092769500833536271262704562499370976142109149720061332371101021125183364947285490045918365542064030243458575962580745437201657481316500361348605137391506273439564548362611403387553893022888292585025286543461623136647342985429251530959131450047064182777311903950936096192312167816995290410312947870797515572088639634695643949579142860152600956610495274990146178175977802061307165795619435485881075052187970655430768241881679164718425450057673023240568386921718941512091903259825098850520243565752680803491459547300793229267748087191464510166771021500679218863198976829313219933954010123422450767485114521627085102756168259603406716247629895218071180893907994824585757094565662012721975877476167863730608883619746477688245152055562866996258560712975750913961925379078305106820891561080885841786161944831131297959479603927905178371586911014404594598798734565292672752607141229632371 15445876148476492465245145568486814969238464347044929840759432626228296483782659915556090194446486610365190337883379069374375651890465350611645791921435975638452448495887426545470718018124012157198734217485452571702517615103791576772709655452793521793475867421516632955085301823445757612314669022604123484928219484503041243163909503957617371289140036637650325331382514526760906238667687984592012506743689157148513046957367439775618478448348684810005251345716559286810818713098189899150304967463714056940429454585655014115942865872976020403762330139327933259286958788902685031715953767551776369377225458388854276450621048003374394998445023280807589499872691418534400241008016519195615401736092296316198308791909134251501799343118279905167620737597402592880927215452103249510506686385078189576207597441372266688370584972413431488559812979748688876666357649468716380338262279022434686598122194825825433618636614613229420104041376328915013241891372413698689993051438778280263233540627100569353905896422983920460129287623619551146341924950552975409740811808223746866659659422064647972116862708090448799541716729642874495636798966831114733427471623621845081216288993196084777998290554562666140518851291541801120360120462544216712145704123091506224677075929654621101386188486512097095692919786126720042722293593305575662709800585437759466489063802253963823220796221309542565207606268181642856942584854468812262836613882986043560947910949235823151353368629892522145961995234877615559491743306851670188828104689456938025574861864859341804197058132884364377143380041326421430313586153469272525896276710134945964087948709132004582833099243332170409877827545601043368119540307280432265176593652071689786259775864127575793175803322876089144203641816727654398488907364250655386745330751100617308068392900904254622711707624730540775267395964399320091126967144191069993607155316782210245854670521453792757495203528173815118025368377300989920736978429136858163981328802409015313240047811260890055084038076575725487319635503755433984936722450634362870682814834013287825514988391180450257215532507018323158031161427162563356416108009722937405749679038125489724100100643763389828714610837214695081011079846898188362367611053307879367064600560888212327433243731754084252592166834877773316412877166991891182979210726299864526669849134303275117440351667607030187836287851296379525430921386829397695364195125279757337261028480866686415675531602417054563114267427055610638396709072148663645265603920635616466809629354023433295309459379606701215791663489241550637034960385443241235750276716105948241024882503372605814609841522751268546185128787069640535900247974612328870096015595129899822653946921881338122615270612298637735603300365674732233317095976289650108769088346493997086862496890387513121138511295173623019306867707748503492882885113687110088183566324358728774473911285102548702978170397384609632936155992196220920344088777125840044436843415461009566040971765981081222098678758547017177409025241968894236933494395910900320056769505140998070446167629282037775104072410796317318148546569148768858721846162845389489380994690204524174670278682169958187432760336925609902912462396666423702610244018694882190079502493272035323106901277763022258228487514208286488247002771916206467982016288985227729850774727315087814809600286040738592358753576526428708137618 24991952594256282177541181935837922667272626361179395119084080006880771424227619786828347099741933103844745603693444442066697804334558560869359702320593782483000647823095955456709589717214545919205877724530811393117994384532325717673615312476824390168034254584771655633392896790525339319815517789134552299305460892827142112415217046502008251952699095351458869107528905964644967037475754826835902689725318070472894364170179165345552405081591706885960271326550128919890847870825337636246053449108607970273998588212453366409165667236920425898804734836882201642014585721892205993443694599641981545606826835662824502652982429259325534893034418165010660783742420200520252444089623724699366326190660071118974016656986007909667604188441034781032074912016408625789179646223246189896374660200036646584941596453100542282662040915483120226953834755589986464647193730544656944105232589344085286833346389914868140822140128236123070430438865989630247761527191889509882518180162887023523999114009815371804076114889271187510745879226338066978390983049744722762144029388129587124669749669862991577385286929089351657939722977684671483153959462645472885731360601949678176841193903937206782013412570965975430416734674944689392506117660722252125686709161283904333852239723642960104122516881640049385791845204995530580732512264809783172547503806705103228719656318931841982326833951499477053135773457101905951865279917466372373331472972581995609024867824224203832824471863053609230721585963115033638311599796224269058784130448385155912173449016958576350072825779927982244564912676566885614133688358515997261223781045837998152251850870910705024949525839580020674957066530243512053126773588011848849394377154199244697495535282441699150188203401287790753938732178277963885716246078874566955146902191240959226556732124120744992820849899643332501081843294188483751811050324708700396665050674171613931535321664838933398864755643702596815580944515582928196172767317094130832628293417192109400941801056695290062825278411377853303636025167845705170954303870425377377697808673487653441726917950287981521032175396480570175008570246627023588245312092143356491198173732915533203269579951872809850227836190051712869701337965192849812329255990088004148657730374172814392665455720483136782348104436567382485626898521904758578360002432838052022140569147681143790960007129179903146721600113310671315497942346348520479717125615224993990389427134452073644648198213039691975727888569224393138850062692241433146099140191898321029309000330165542445029520711977802236916846854188836127080878750985305265993735292068528986462084160853922314971190127888660052458568351618003147303635528505351758388600620416443284277083569224323551866801571430087782667483142986636184253192168601817925764378756806944957660012462476152755834155244752765879459468664358998767873031291863087890244873490154348209959792360154736673633601165626491312100874417646278593367329345512761763378355507364269391139822286224646974779482250006564478202254509716981428398004562681921820735988368339974899759387563236047898526523178281431839775631671904937118325252879093019384599065871098432169494864439264523849445482312803086070776193005550043449087932263846937752946498751832748298857815239688401336533594335099847569132844558078151299113314248464831657755953098901998829214194884839473157651426329133569937769989 40437828742732774642786327504324737636511090708224324959843512633109067908010279702384437294188419714209935941576823511441073456225023911481005494242029758121453096318983382002180307735338558076404611942016263964820511999636117294446324967929617911961510122006288288588478198613971096932130186811738675784233680377330183355579126550459625623241839131989109194438911420491405873276143442811427915196469007227621407411127546605121170883529940391695965522672266688206701666583923527535396358416572322027214428042798108380525108533109896446302567064976210134901301544510794891025159648367193757914984052294051678779103603477262699929891479441445818250283615111619054652685097640243894981727926752367435172325448895142161169403531559314686199695649613811218670106861675349439406881346585114836161149193894472808971032625887896551715513647735338675341313551380013373324443494868366519973431468584740693574440776742849352490534480242318545261003418564303208572511231601665303787232654636915941157982011312255107970875166849957618124732908000297698171884841196353333991329409091927639549502149637179800457481439707327545978790758429476587619158832225571523258057482897133291560011703125528641570935585966486490512866238123266468837832413284375410558529315653297581205508705368152146481484764991122250623454805858115358835257304392142862695208720121185805805547630172809019618343379725283548808807864771935184636168086855568039169972778773460026984177840492946131376683581197992649197803343103075939247612235137842093937748310881817918154269883912812346621708292717893307044447274511985269787120057755972944116339799580042709607782625082912191084834894075844555421246313895292281114570970806270934483755311146569274943364006724163879898142373995005618284205153443125222341892232942341576534625125025024999615532557524373873276349239258587803842938017468899770390272205990953824177389992186292726156359959171876411933606312892883918116909745746230988996609622219601124714181848867956180117909316487953578790955660671601139155891026321059740248380623507500941267241906341468431778247707903498893333039731673789586944661420101866293896947852771041022927369680595636199678942447027266407950712417812091038174696867043395883515722330935061026720098699452237221034940271271445155802039775688896649761339213159137916548810418281984418908400358796786933334557887964607050840928863733177918175081320740504751327650455615318760060323729815456746538842155996280003777246771764390096791364744112533937496118629684188975740338980091584503452708510343430386764115839136428546501744012008174477227486966664226528129581031650639928598643697138687643683203883503117680628484616215546343106931030491105661674482072183728725518270783508661368417570288144891468034533467103300942044522509352863665876972666539926388898766336372107502260755916405550197978428439814513076984433703645257285376611771563011100945037030409842499513711418122638601807815198922825278957180794052205728196878161008553581655611279751685875665331498958592822140792757873480972970205555192518085673630595589077749157924178241053705977047099041938408873980060561302956344165143121434482036878242649728695973688655402216467151698176282541819943026001245104783621964716517451423594762081849308134057379847329994357767095330537450059387606727826217086644023795170880211750010179905659998645907607 65429781336989056820327509440162660303783717069403720078927592639989839332237899489212784393930352818054681545270267953507771260559582472350365196562623540604453744142079337458889897452553103995610489666547075357938506384168443012119940280406442302129544376591059944221871095404496436251945704600873228083539141270157325467994343596961633875194538227340568063546440326456050840313619197638263817886194325298094301775297725770466723288611532098581925793998816817126592514454748865171642411865680929997488426631010561746934274200346816872201371799813092336543316130232687097018603342966835739460590879129714503281756585906522025464784513859610828911067357531819574905129187263968594348054117412438554146342105881150070837007720000349467231770561630219844459286507898595629303256006785151482746090790347573351253694666803379671942467482490928661805960745110558030268548727457710605260264814974655561715262916871085475560964919108308175508764945756192718455029411764552327311231768646731312962058126201526295481621046076295685103123891050042420934028870584482921115999158761790631126887436566269152115421162685012217461944717892122060504890192827521201434898676801070498342025115696494617001352320641431179905372355783988720963519122445659314892381555376940541309631222249792195867276610196117781204187318122925142007804808198847965923928376440117647787874464124308496671479153182385454760673144689401557009499559828150034778997646597684230817002312355999740607405167161107682836114942899300208306396365586227249849921759898776494504342709692740328866273205394460192658580962870501267048343838801810942268591650450953414632732150922492211759791960606088067474373087483304129963965347960470179181250846429010974093552210125451670652081106173283582169921399521999789297039135133582535761181857149145744608353407424017205777431082552776287594749067793608470786937256665125438108925313851131659555224714815579008749187257408466846313082513063325119829237915636793234115123649924651470180734594899331432094591685839446844326845330191485117626078432180988594708968824291756413299279883299979463508048301920416610532906732194009650388146026503956556130639260547509009529170283217318120820413755777283887987026123033483887664380061309233841112764155172720357817288375708012538287666674210801408339699215591975968570950987429665562699360365925966836481279488077917722156426806079526438654798446355729745318039882749770833704971928028496438514570044565504396916096834456631529937463884304432258525427630014354518185368500803562305689625357197619222891196717887413851767737747300243006213949050825080450444552221778528588651102265490305646830507519031623032386873216835962786391208114060329985226348873755158813300938266651648004601823480313493285960297845860107887002182521815339818632806821784679154778225805036466501028628947697413285868673313304667425194393496005412022050245372728637592257137904827488778107078747468151363571193554430189548348320616338430375171657643258560146133813534261402857093729503521274743961528746241820947869964942755754133572157118767359180997699809912958643095372351921031428258579126432401388513660007560699005886323724962531782044464848407766510600786108546388757695972499996937531920822531757139824931295676184407981626512691888072509066208644785914891045362680925119085473237990055719684907661606234793568583677596 105867610079721831463113836944487397940294807777628045038771105273098907240248179191597221688118772532264617486847091464948844716784606383831370690804653298725906840461062719461070205187891662072015101608563339322759018383804560306566265248336060214091054498597348232810349294018467533184075891412611903867772821647487508823573470147421259498436377359329677257985351746947456713589762640449691733082663332525715709186425272375587894172141472490277891316671083505333294181038672392707038770282253252024702854673808670127459382733456713318503938864789302471444617674743481988043762991334029497375574931423766182060860189383784725394675993301056647161350972643438629557814284904212489329782044164805989318667554776292232006411251559664153431466211244031063129393369573945068710137353370266318907239984242046160224727292691276223657981130226267337147274296490571403592992222326077125233696283559396255289703693613934828051499399350626720769768364320495927027540643366217631098464423283647254120040137513781403452496212926253303227856799050340119105913711780836255107328567853718270676389586203448952572902602392339763440735476321598648124049025053092724692956159698203789902036818822023258572287906607917670418238593907255189801351535730034725450910871030238122515139927617944342348761375187240031827642123981040500843062112590990828619137096561303453593422094297117516289822532907669003569481009461336741645667646683718073948970425371144257801180152848945871984088748359100332033918286002376147554008600724069343787670070780594412658612593605552675487981498112353499703028237382486536835463896557783886384931450030996124240514776005404402844626854681932622895619401378596411078536318766741113665006157575580249036916216849615550550223480168289200454126552965125011638931368075924112295806982174170744223885964948391079053780321811364091437687085262508241177209462656079262286315306037424385711584673987455420682793570301350764429992258809556108825847537856394358829305498792607650298643911387285010885547346511047983482736356512544857874459055688489535976210730633224845077527591203478356841088033594206197477568152295875944285093879274997579058008941143145209208112730244584528771126173589374926161722990076879771180102392244294867832862854624957578852228646979457694089706449899698058101038428751113885119761405711649981607760724722753769815837376042524772997355669812704356829879767096234496645690338365089593765295657843953185053412200561784400693343606221021626728828628416966196021546259698543493925707480895146809142333867541049609655312557023842398269481759308417483441436017489306978574133253429168517249745962628993290513711402534740713015357833051509129498139144551435646900830945938887538819209050160309373019393768458384753994831312963408829046705031168203484509779488324605543676992141408574003289384864102963483847101753119180502178827199650669307426857144291648693202174935237331277620790165590789965379008753353014827305501410390636103368535804267113727789424814013088732759061002479867566102321504115301920840170497948272219245787714356436930155623988154012349072419450962969837132559186993704344857825150682133487923201967612260478018153503809982977752484284828930577638998501242042315542787248274591248526057758033716115683892539218066866833303975323364950432969408751336172117261785226599896657671786140453567229585203 171297391416710888283441346384650058244078524847031765117698697913088746572486078680810006082049125350319299032117359418456615977344188856181735887367276839330360584603142056919960102640444766067625591275110414680697524767973003318686205528742502516220598875188408177032220389422963969436021596013485131951311962917644834291567813744382893373630915586670245321531792073403507553903381838087955550968857657823810010961722998146054617460753004588859817110669900322459886695493421257878681182147934182022191281304819231874393656933803530190705310664602394807987933804976169085062366334300865236836165810553480685342616775290306750859460507160667476072418330175258204462943472168181083677836161577244543465009660657442302843418971560013620663236772874250907588679877472540698013393360155417801653330774589619511478421959494655895600448612717195998953235041601129433861540949783787730493961098534051817004966610485020303612464318458934896278533310076688645482570055130769958409696191930378567082098263715307698934117259002548988330980690100382540039942582365319176223327726615508901803277022769718104688323765077351980902680194213720708628939217880613926127854836499274288244061934518517875573640227249348850323610949691243910764870658175694040343292426407178663824771149867736538216037985383357813031829442103965642850866920789838794543065473001421101381296558421426012961301686090054458330154154150738298655167206511868108727968071968828488618182465204945612591493915520208014870033228901676355860404966310296593637591830679370907162955303298293004354254703506813692361609200252987803883807735359594828653523100481949538873246926927896614604418815288020690369992488861900541042501666727211292846257004004591223130468426975067221202304586341572782624047952487124800935970503209506648056988839323316488832239372372408284831211404364140379032436153056116711964146719321204700395240619888556045266809388803034429431980827709817610743074771872881228655085453493187592944429148717259120479378506286616442980139032350494827809581686704029975500537487869478130685179554924981258376807474503457820349136335514622808010474884489885594673239905778954135188648201690654218737283013461902649591539929366658814148749113110363658844482453553528708945627009797677936669517022687470232377373124110499466440737644343089853690712393141315544307121090648720606297116864120442495153782475892230795484678213451964241963730221114860427470267585872449623567982245127288797609440440677653156666292512721398454546973889712898012111075981698709114831959224738668832546509274911256250037219506608660489655385068314387429018685475207697105900848228119298937344218921566363745402231049887471915889347258611765632127179819694046352120147316811957377621217248771878039955129158823516716048887552983543303142586310109284698455217946445040504318013811800376769715775066423847927373220695656081329477102517020286285459312840064820055727868913058941328950202307783204375653822026729066478540193447525673873923238348274491589852790506001142310063850250357122868710135440704026352817944833123796111153323798066970992167791802884001265391138313426105733371485158242832493809525692574792260062618352217749488353270393375319335334971001238979847463609780031731073457353434218124097310405231106139375899512620109279841478332089676455257590499775282319581565333392375247135813262799 277165001496432719746555183329137456184373332624659810156469803186187653812734257872407227770167897882583916518964450883405460694128795240013106578171930138056267425064204776381030307828336428139640692883673754003456543151777563625252470777078562730311653373785756409842569683441431502620097487426097035819084784565132343115141283891804152872067292945999922579517143820350964267493144478537647284051520990349525720148148270521642511632894477079137708427340983827793180876532093650585719952430187434046894135978627902001853039667260243509209249529391697279432551479719651073106129325634894734211740741977246867403476964674091476254136500461724123233769302818696834020757757072393573007618205742050532783677215433734534849830223119677774094702984118281970718073247046485766723530713525684120560570758831665671703149252185932119258429742943463336100509338091700837454533172109864855727657382093448072294670304098955131663963717809561617048301674397184572510110698496987589508160615214025821202138401229089102386613471928802291558837489150722659145856294146155431330656294469227172479666608973167057261226367469691744343415670535319356752988242933706650820810996197478078146098753340541134145928133857266520741849543598499100566222193905728765794203297437416786339911077485680880564799360570597844859471566085006143693929033380829623162202569562724554974718652718543529251124218997723461899635163612075040300834853195586182676938497339972746419362618053891484575582663879308346903951514904052503414413567034365937425261901459965319821567896903845679842236201619167192064637437635474340719271631917378715038454550512945663113761702933301017449045669969953313265611890240496952121037985493952406511263161580171472167384643824682771752528066509861983078174505452249812574901871285430760352795821497487233056125337320799363884991726175504470470123238318624953141356181977283962681555925925980430978394062790489850114774398011168375173067030682437337480932991349581951773734647509866770778022417673901453865686378861542811292318043216574833374996543557967666661390285558206103454335065706936177190224369108829005488043036785761538958333785053951714246657142833799427945395743706487178362666102956033740310472103187243430024584845797823576778489864422635515521745669666927926467079574010197524541776073094203738810473798852965525914881815371474376112954240162967268151138145704935152314557980548198738609420559479950021235563243716402808621394445689073198302784046898674783395121141138364650568520149411441506036783462593855923974293092279718442201821831935098648306701265917077973096821085803694407592818728636865623150594190748292227857930324101104458417588882938981045387486403163201279028010765632933890939356366972266750640611017230262793949960471786925545095592584151746787652365798433890242132210087853614507607398675903340253562876819543028429552047895306750636903959661311934978661487775302151333348659078649731294329211061136219202959323437119702581908729251792787601712663162287580322611851508481009876166171754472424789550305938652298572063732547480233041308947786220983341240211253846971102523697500419810078229310308924965981732727660187052738080771856027732466105754678204249912973969502481022163006397028306322321983411192251840212994297770324206242732816595432644791911301498427791429707761560508919478223005178515700703042848002 448462392913143608029996529713787514428451857471691575274168501099276400385220336553217233852217023232903215551081810301862076671472984096194842465539206977386628009667346833300990410468781194207266284158784168684154067919750566943938676305821065246532252248974164586874790072864395472056119083439582167770396747482777177406709097636187046245698208532670167901048935893754471821396526316625602835020378648173335731109871268667697129093647481667997525538010884150253067572025514908464401134578121616069085417283447133876246696601063773699914560193994092087420485284695820158168495659935759971047906552530727552746093739964398227113597007622391599306187632993955038483701229240574656685454367319295076248686876091176837693249194679691394757939756992532878306753124519026464736924073681101922213901533421285183181571211680588014858878355660659335053744379692830271316074121893652586221618480627499889299636914583975435276428036268496513326834984473873217992680753627757547917856807144404388284236664944396801320730730931351279889818179251105199185798876511474607553984021084736074282943631742885161949550132547043725246095864749040065381927460814320576948665832696752366390160687859059009719568361106615371065460493289743011331092852081422806137495723844595450164682227353417418780837345953955657891301008188971786544795954170668417705268042564145656356015211139969542212425905087777920229789317762813338956002059707454291404906569308801235037545083258837097167076579399516361773984743805728859274818533344662531062853732139336226984523200202138684196490905125980884426246637888462144603079367276973543691977650994895201987008629861197632053464485257974003635604379102397493163539652221163699357520165584762695297853070799749992954832652851434765702222457939374613510872374494937408409784660820803721888364709693207648716203130539644849502559391374741665105502901298488663076796545814536476245203451593524279546755225720985985916141802555318566136018444842769544718163796227125891257400923960517896845825411212037639101899729920604808875534031427445797346569840483187361831142540210393997539360704623451813498517921275647133631573690832905849435305344524453646682678757168389827954206032322692554459221216297607088869067299351352285724116874220313452191262692354398158844452698120696990982513717437293592501186191994281070222002906020194982410071104283409763304920621597165947799236194000162980573150780594810448705830829588852432189376690816361995912224487576327940061413653859763105115494039124339518147859444292565038806252317018387274748331106846354898343920772525738462752206154118081836611504203844562729051442418867591165202149245667468203819819932826452961276833661774966911155190585326980243059503683784224128261828266002140833905089630610442261144480137135290090794952108543174940587428034298655011925412487703717023278651885966876356925268590962831966381062178332221264120800615366971389076527991708672623279413368919423578613145463848769060448922699318461475635901510562071912464642014482152186230022004829547658260441379356324924881677380604029152462271584287954333408003056730972367914835813845915811600795467167798475542253352761844998143390208245481954459025071579569248308940503720002010470006808338053395440764626469964310304703001430345618632329215541924633389633588104246687298261335791239059788338570890947838856110801 725627394409576327776551713042924970612825190096351385430638304285464054197954594425624461622384921115487132070046261185267537365601779336207949043711137115442895434731551609682020718297117622346906977042457922687610611071528130569191147082899627976843905622759920996717359756305826974676216570865679203589481532047909520521850381527991199117765501478670090480566079714105436088889670795163250119071899638522861451258019539189339640726541958747135233965351867978046248448557608559050121087008309050115979553262075035878099736268324017209123809723385789366853036764415471231274624985570654705259647294507974420149570704638489703367733508084115722539956935812651872504458986312968229693072573061345609032364091524911372543079417799369168852642741110814849024826371565512231460454787206786042774472292252950854884720463866520134117308098604122671154253717784531108770607294003517441949275862720947961594307218682930566940391754078058130375136658871057790502791452124745137426017422358430209486375066173485903707344202860153571448655668401827858331655170657630038884640315553963246762610240716052219210776500016735469589511535284359422134915703748027227769476828894230444536259441199600143865496494963881891807310036888242111897315045987151571931699021282012236504593304839098299345636706524553502750772574273977930238724987551498040867470612126870211330733863858513071463550124085501382129424481374888379256836912903040474081845066648773981456907701312728581742659243278824708677936258709781362689232100379028468488115633599301546806091097105984364038727106745148076490884075523936485322350999194352258730432201507840865100770332794498649502510155227927316901216269342894445284577637715116105868783327164934167465237714624432764707360719361296748780396963391624426085774245780368168762580482318290954944490047014007012601194856715149319972682629693366618246859083275772625758352471740516907223597514384014129661529623732154361089208833237755903616951436192351496491898443736992662035423341634419350711511790073580450394217773137179642250530574985413464007960126041393465285477605917330174729585073732280818986560958061408672589907475886857563681962487358253074628074500874877006316872135278726294769693319484850518893652145149175862502606738642948967713008362021326085311532272130894515524289790531497331311659990847246596136884721391669358523025344446377031456058767302101100113794174548361719182571340074760469941394073305255240810771136505435194215008534475002723456534794998127755684014188535781024184642906886420962780545409298105716950152938781453546650622038442816435849027239921776244204322932481428352202036609615883393060079569768572662237408815765434006664320064938168190183201350959914133998860050756490878902439283232403627855050102397367806240072721287036878447317906977065182719638122152269519532811163607057276841528705509904786477316486269582603285021839644156242782288390669122722425187070358403917608624430055642781572468900968471642357651951111249077348564672849652235076493522963162062396193759301972447810747318008623496945409928084262193771219370508937674648214310577943470438533314265725889830105776092764457274981012948897736224162064273214420564779749783819161282910006201024173476403836644375717424175818721804523299000771754551861365145810974569425300935086532038117006022896300158538011343749406648541898958803 1174089787322719935806548242756712485041277047568042960704806805384740454583174930978841695474601944348390347621128071487129614037074763432402791509250344092829523444398898442983011128765898816554173261201242091371764678991278697513129823388720693223376157871734085583592149829170222446732335654305261371359878279530686697928559479164178245363463710011340258381615015607859907910286197111788852954092278286696197182367890807857036769820189440415132759503362752128299316020583123467514522221586430666185064970545522169754346432869387790909038369917379881454273522049111291389443120645506414676307553847038701972895664444602887930481330515706507321846144568806606910988160215553542886378526940380640685281050967616088210236328612479060563610582498103347727331579496084538696197378860887887964988373825674236038066291675547108148976186454264782006207998097477361380086681415897170028170894343348447850893944133266906002216819790346554643701971643344931008495472205752502685343874229502834597770611731117882705028074933791504851338473847652933057517454047169104646438624336638699321045553872458937381160326632563779194835607400033399487516843164562347804718142661590982810926420129058659153585064856070497262872770530177985123228407898068574378069194745126607686669275532192515718126474052478509160642073582462949716783520941722166458572738654691015867686749074998482613675976029173279302359213799137701718212838972610494765486751635957575216494452784571565678909735822678341070451921002515510221964050633723690999550969365738637773790614297308123048235218011871128960917130713412398629925430366471325802422409852502736067087778962655696281555974640485901320536820648445291938448117289936279805226303492749696862763090785424182757662193372212731514482619421330999039596646620275305577172365143139094676832854756707214661317397987254794169475242021068108283352361984574261288835149017555053383468800965977538409208284849453140347005350635793074469752969881035121041210062239964118553292824265594937247557337201285618089496117503057784451126064606412859261354529966524580827116620146127724172268945778355732632485078879337055806221481166719763413117267831882706721310753258043266834271078167601418849228914535782457607762719444500528148226723612863262419904271054375724244155984970251591506506803507968790923812846182841527666358887627411864340933096448729786794760979388899267047913030368548524699755722120669570918647224902894107673000147827321797190127233022051330663517948448857890860799508227660120542332502351178986001586797726316492991698484045627808444994542810968554898601233394039858080815827136325991081253479028483474558262228815436040866057228748591886967941153726713135101338391936286894377058363734540715007164267549234544461760139733007810067384552858422326969242270015520240123307066156450924531458223651310774300120180591476781143402585077232414569666084017976377506903089006036094111501715062067076540888037798975066360185614364817240702806574650429710552984466183411724147541135537445314248626215764131520106071188697364948421827087308688291346233490954796892008056217367308915838353369128111641701430901243260562932817234365710742734367552272518696375023804821363388409591850509921026183946410644982429112864940445191768833603703773184897479997475026516494058690568674636284804304284232091397597799682320297596380755069604 1899717181732296263583099955799637455654102237664394346135445109670204508781129525404466157096986865463877479691174332672397151402676542768610740552961481208272418879130450052665031847063016438901080238243700014059375290062806828082320970471620321200220063494494006580309509585476049421408552225170940574949359811578596218450409860692169444481229211490010348862181095321965343999175867906952103073164177925219058633625910347046376410546731399162267993468714620106345564469140732026564643308594739716301044523807597205632446169137711808118162179640765670821126558813526762620717745631077069381567201141546676393045235149241377633849064023790623044386101504619258783492619201866511116071599513441986294313415059140999582779408030278429732463225239214162576356405867650050927657833648094674007762846117927186892951012139413628283093494552868904677362251815261892488857288709900687470120170206069395812488251351949836569157211544424612774077108302215988798998263657877247822769891651861264807256986797291368608735419136651658422787129516054760915849109217826734685323264652192662567808164113174989600371103132580514664425118935317758909651758868310375032487619490485213255462679570258259297450561351034379154680080567066227235125722944055725950000893766408619923173868837031614017472110759003062663392846156736927647022245929273664499440209266817886079017482938856995685139526153258780684488638280512590097469675885513535239568596702606349197951360485884294260652395065957165779129857261225291584653282734102719468039084999337939320596705394414107412273945118616277037408014788936335115247781365665678061152842054010576932188549295450194931058484795713828637438036917788186383732694927651395911095086819914631030228328500048615522369554091574028263263016384722623465682420866055673745934945625457385631777344803721221673918592843969943489447924650761474901599221067850033914593501489295570290692398480361552538869814473185294708094559469030830373369921317227472537701960683701111215328247607229356598268848991359198539890335276194964093376595181398272725362490092565974292402097752045054346998530852088013451471639837398464478811388642606620976799230319240959795938827758918143840587950302880145143998607855267308126656371589649704010729330351506211387617279416397050329467517242382486022031093298500288255124506173688774262495772348803533699456121793176163826217038156201368148026824543096886418938293460744331388588618976199362913810918963827232384342241556526333386974483243856018616483522416195901566517145258065406964367343135614598708648636984409261991645164849411371334450260633961634325020150068807419433455515638099357951322308385204613528294637564357320974605473791651303291521593287246808511057223785297205886066706832466948089615189835405177873624625579709363847689587922497305306026704278603194050991034814917831576961709296986685929879901563501997172951105857620533749685377396705216833926902132425480458496662229030709141758083265785712345164226601540959630333030856261376382617629060408476311022409523433492553881936015373571918772497236772553540004710325305829682704431677886859308791902442377367591261007019353327390092215378659640470591714336791910795588584571147207570874760516122050357422814481626804830289116263913573356902704544939449341362620837491063483991503761168322921310307128391556135811026069704244922654028407 3073806969055016199389648198556349940695379285232437306840251915054944963364304456383307852571588809812267827312302404159526765439751306201013532062211825301101942323529348495648042975828915255455253499444942105431139969054085525595450793860341014423596221366228092163901659414646271868140887879476201946309238091109282916378969339856347689844692921501350607243796110929825251909462065018740956027256456211915255815993801154903413180366920839577400752972077372234644880489723855494079165530181170382486109494353119375386792602007099599027200549558145552275400080862638054010160866276583484057874754988585378365940899593844265564330394539497130366232246073425865694480779417420054002450126453822626979594466026757087793015736642757490296073807737317510303687985363734589623855212508982561972751219943601422931017303814960736432069681007133686683570249912739253868943970125797857498291064549417843663382195485216742571374031334771167417779079945560919807493735863629750508113765881364099405027598528409251313763494070443163274125603363707693973366563264995839331761888988831361888853717985633926981531429765144293859260726335351158397168602032872722837205762152076196066389099699316918451035626207104876417552851097244212358354130842124300328070088511535227609843144369224129735598584811481571824034919739199877363805766870995830958012947921508901946704232013855478298815502182432059986847852079650291815682514858124030005055348338563924414445813270455859939562130888635506849581778263740801806617333367826410467590054365076577094387319691722230460509163130487405998325145502348733745173211732137003863575251906513312999276328258105891212614459436199729957974857566233478322180812217587675716321390312664327892991419285472798280031747463786759777745635806053622505279067486330979323107310768596480308610199560428436335235990831224737658923166671829583184951583052424295203428650506850623674161199446339090948078099322638435055099910104823904843122891198262593578912022923665229768621071872824293845826186192644816629386452779252748544502659787811131986717020059090555119518717898172778519267476630443746083956718716735520285032869809326384389916498151123666517249581016961410674859028470481563993227522391049765734419091034150232158956053964369473807521550470772774573623502212634077528537896806469079178937352356530301928854659976215398040389218241905950620978017545100635195939854911645411118694015581413902307235843879093470586811066791149029574469474578577664050492431692713909477283030643856022108849647609244392965954140861931091700347121030037070436639707660379926233051494028001492405835977205133410514708994666582832509584537200640654394351866312949207942546627518364438392859985223533702888115587519837920893230974381701492551375329568412987941009178438131690816931857938017545429333770435054118582449258466228605877081889888463467073282486640734411742617189875596911256588466402741310945428617194492556999384700028005775501943697630602953047970801251970670183317497039673100530158764597853790559648625287565012659953124712738520340599584545460844886238201280102721690760649045195775147145271570489009292691908262613890322909449744370383204959266609310607170612389392510595980466611026043076541369225126609233943154056709105342190506408318124346821360095864007557542682072435804607725614591360482953733610708390001841303409098011 4973524150787312462972748154355987396349481522896831652975697024725149472145433981787774009668575675276145307003476736831923916842427848969624272615173306509374361202659798548313074822891931694356333737688642119490515259116892353677771764331961335623816284860722098744211169000122321289549440104647142521258597902687879134829379200548517134325922132991360956105977206251790595908637932925693059100420634137134314449619711501949789590913652238739668746440791992340990444958864587520643808838775910098787154018160716581019238771144811407145362729198911223096526639676164816630878611907660553439441956130132054758986134743085643198179458563287753410618347578045124477973398619286565118521725967264613273907881085898087375795144673035920028537032976531672880044391231384640551513046157077235980514066061528609823968315954374364715163175560002591360932501728001146357801258835698544968411234755487239475870446837166579140531242879195780191856188247776908606491999521506998330883657533225364212284585325700619922498913207094821696912732879762454889215672482822574017085153641024024456661882098808916581902532897724808523685845270668917306820360901183097869693381642561409321851779269575177748486187558139255572232931664310439593479853786180026278070982277943847533017013206255743753070695570484634487427765895936805010828012800269495457453157188326788025721714952712473983955028335690840671336490360162881913152190743637565244623945041170273612397173756340154200214525954592672628711635524966093391270616101929129935629139364414516414984025086136337872783108249103683035733160291285068860420993097802681924728093960523889931464877553556086143672944231913558595412894484021664705913507145239071627416477132578958923219747785521413802401301555360788041008652190776245970961488352386653069042256394053865940387544364149658009154583675194681148371091322591058086550804120274329118022151996146193964853597926700643486947913795823729763194469573854735216492812515490066116613983607366340983949319480053650444095035184004015169276788055447712637879254969209404712079510151656529411920815650217832866266007482531759535428358554133984763844258451933005366715728470364626313188408775879554515446978773361709137226130246317073861075462623799936169685384315875685195138829887169824903091019455016563550568990104969367434061858530219076191350432325018931739845340035082114447195055701302003343966679454742297537632309042158233695824462855292833500621985754976261958811716135103997437466914936569928093766553060051923675366792867309799930321483997545690408995758014446332428284872509791297567501754661963126730856127273940829948164510304682190460906845585845267922646503877306528917152101310015741684381578510780511399172811305135126779297681214168440640990519403818165814633804017841054664621445860514850735360474713657312633440293281146437454043599185450153003162388204236408915568295733217445006273843799446527779355519326918037457881362257036484643701780896388665393135027853511629813650527895934476912776393658262266870671034810998505213835060728112092259372081782233398426242911605408551373465080723082634455937174012866376883952915281967217713001665123030023675550980946102517966200973963657803551341371542165126898792039608236038773443172973018915547409112863063796162722716701498621026673576196972930646924898488874509869421734459706086226063126418 8047331119842328662362396352912337337044860808129268959815948939780094435509738438171081862240164485088413134315779140991450682282179155170637804677385131810476303526189147043961117798720846949811587237133584224921655228170977879273222558192302350047412506226950190908112828414768593157690327984123344467567835993797162051208348540404864824170615054492711563349773317181615847818099997944434015127677090349049570265613512656853202771280573078317069499412869364575635325448588443014722974368957080481273263512513835956406031373151911006172563278757056775371926720538802870641039478184244037497316711118717433124927034336929908762509853102784883776850593651470990172454178036706619120971852421087240253502347112655175168810881315793410324610840713849183183732376595119230175368258666059797953265286005130032754985619769335101147232856567136278044502751640740400226745228961496402466702299304905083139252642322383321711905274213966947609635268193337828413985735385136748838997423414589463617312183854109871236262407277537984971038336243470148862582235747818413348847042629855386345515600084442843563433962662869102382946571606020075703988962934055820706899143794637605388240878968892096199521813765244131989785782761554651951833984628304326606141070789479075142860157575479873488669280381966206311462685635136682374633779671265326415466105109835689972425946966567952282770530518122900658184342439813173728834705601761595249679293379734198026842987026796014139776656843228179478293413788706895197887949469755540403219193729491093509371344777858568333292271379591089034058305793633802605594204829939685788303345867037202930741205811661977356287403668113288553387752050255143028094319362826747343737867445243286816211167070994212082433049019147547818754287996829868476240555838717632392149567162650346248997743924578094344390574506419418807294257994420641271502387172698624321450802502996817639014797373039734435026013118462164818294379678678640059615703713752659695526006531031570752570391352877944289921221376648831798663240834700461182381914757020536698796530210747084531439533548390611385533484112975505619385077270869505048877128261259389756632226621488292830437989792840965190306007243843273130453652637366839595494553657950168328641438280245159002660380357942599476714521667650641079106886911438446612999210886749378120205092301234329780234558276988065068173073246402638539906534366387708656326324623572136003060306734386304087433052546125291533281190713681661487959346629283837571049583703907945784216440476554192896275624859476782109342879044483402864924580170171223800553248689964619136692104479074240462873504971265022970491382786485922316998370190255736859698728828380180077241563734314214287288398824973047672528655595869933192365848972231153755642982455972745481553303798532396164694245148711431215889551747375043331125489073913620076444874844970820658185485608814356262862310202187838724784136521410594457266062285042260145645478526991618441105829105482299996968024935607577442935158256116057430319660098563517873788185440850612599971666327694243312481112885511273064225729768278409603082445583355386176644823544581108035911114867400406880510247555413125136813363356168399531807982568208203440161264734845272716597229682124257737915521181188142984082812565506178569355648632777538372539489849357463603032442849707927529472224429 13020855270629641125335144507268324733394342331026100612791645964505243907655172419958855871908740160364558441319255877823374599124607004140262077292558438319850664728848945592274192621612778644167920974822226344412170487287870232950994322524263685671228791087672289652323997414890914447239768088770486988826433896485041186037727740953381958496537187484072519455750523433406443726737930870127074228097724486183884715233224158802992362194225317056738245853661356916625770407453030535366783207732990580060417530674552537425270144296722413317926007955967998468453360214967687271918090091904590936758667248849487883913169080015551960689311666072637187468941229516114650427576655993184239493578388351853527410228198553262544606025988829330353147873690380856063776767826503870726881304823137033933779352066658642578953935723709465862396032127138869405435253368741546584546487797194947435113534060392322615123089159549900852436517093162727801491456441114737020477734906643747169881080947814827829596769179810491158761320484632806667951069123232603751797908230640987365932196270879410802177482183251760145336495560593910906632416876688993010809323835238918576592525437199014710092658238467273948008001323383387562018714425865091545313838414484352884212053067422922675877170781735617241739975952450840798890451531073487385461792471534821872919262298162477998147661919280426266725558853813741329520832799976055641986896345399160494303238420904471639240160783136168339991182797820852107005049313672988589158565571684670338848333093905609924355369863994906206075379628694772069791466084918871466015197927742367713031439827561092862206083365218063499960347900026847148800646534276807734007826508065818971154344577822245739430914856515625884834350574508335859762940187606114447202044191104285461191823556704212189385288288727752353545158181614099955665349317011699358053191292972953439472954499143011603868395299740377921973926914285894581488849252533375276108516229242725812139990138397911736519710832931594734016256560652846967940028890148173820261169726229941410876040362403613943360349198608444251799491595507265154813435825003489812721386713192395123347955091852919143626398568720519705752986017204982267679782883683913456570016281750104498326822596120844197799210245112424379805541122667204629675877016407814047061069416968454311555524626253261520079898312070179515368128947704641883873213821130006193958633665730369698884769589679137588055038301101553492092906848785658925426261565853765664816136763959869459583233343863992826597108857022472518338637058929735293209452679962521368055003351927745867548231753015070411038015275947213431398228372331190239644874067562265776850830138395921761623142245094725686461210130108174451826336810038373833356368376049319570276786473813800146174749659047246900054719862368743849329845028521480785169088259363773079607263049207229573753781342031801269136154001634366504139655848328631915147424542078744789347259423380283834240856958993929810618552831542054355711551914378324300990694909562023087623246168962704859343748109927641738724024490919824437690810491361044059019619596221763060597738826548325748912779990430430556061228501515643103014337319826203083149354110373330338953304343081311490040402655143173285324634044251939146805529267004799596029224829750469019464388338231973472454177309414013755535350847 21068186390471969787697540860180662070439203139155369572607594904285338343164910858129937734148904645452971575635035018814825281406786159310899881969943570130326968255038092636235310420333625593979508211955810569333825715458848112224216880716566035718641297314622480560436825829659507604930096072893831456394269890282203237246076281358246782667152241976784082805523840615022291544837928814561089355774814835233454980846736815656195133474798395373807745266530721492261095856041473550089757576690071061333681043188388493831301517448633419490489286713024773840380080753770557912957568276148628434075378367566921008840203416945460723199164768857520964319534880987104822881754692699803360465430809439093780912575311208437713416907304622740677758714404230039247509144421623100902249563489196831887044638071788675333939555493044567009628888694275147449938005009481946811291716758691349901815833365297405754375731481933222564341791307129675411126724634452565434463470291780496008878504362404291446908953033920362395023727762170791638989405366702752614380143978459400714779238900734797147693082267694603708770458223463013289578988482709068714798286769294739283491669231836620098333537207359370147529815088627519551804497187419743497147823042788679490353123856901997818737328357215490730409256334417047110353137166210169760095572142800148288385367407998167970573608885848378549496089371936641987705175239789229370821601947160755743982531800638669666083147809932182479767839641049031585298463102379883787046515041440210742067526823396703433726714641853474539367651008285861103849771878552674071609402757682053501334785694598295792947289176880040856247751568140135702188398584531950762102145870892566314892212023065532555642081927509837967267399593655883678517228184435982923442600029821917853341390719354558438383032213305846697935732688033518762959607311432340629555578465671577760923757002139829242883192672780112356999940032748059399783228931212015335724219942995385507665996669429482489090102185809539023937477937301678766603269724848635002643084483250478109672570573150698474799882746999055637332975708482770774198513095872994861598514974451784879980181713341211974064388361561484896058993261048255398133435521050753052064569939700272826968260876366003200459590603055023856520062790317845708782763927846260660060280303717832431760616927487591300314456589058244583541202194107280423779748187517714850284958289302505701945076324065441675488090847226845025374097562467320413385608195137603235865720467867815243799673820418185722872733716499254627681516103413138158134032850133745168608252041892365004240336232089310873911520247212236401889611158817112556643244257818002636549558966776101838864705979408939973749608955081222124354992405908307025722217348280473325919768929786545627728053457579643064748965011080175065219396775896524116294577333277393156052137894178050231939266950846157531998464203822205228923792369739226372413486827121004934992737950371902275346686064476229807586577767149631798646710170494381731310355008125540961411431609813317459315414437621885051205137376431097501916540259639453662102065179577149237242562371129433784823894857830837436571476056928768239827700675994602614957336678581533779114569077926584206637632337267431023240155225440082130888341832510978165384873462528007392003878187589437075486620159121941285007575276 34089041661101610913032685367448986803833545470181470185399240868790582250820083278088793606057644805817530016954290896638199880531393163451161959262502008450177632983887038228509503041946404238147429186778036913745996202746718345175211203240829721389870088402294770212760823244550422052169864161664318445220703786767244423283804022311628741163689429460856602261274364048428735271575859684688163583872539321417339696079960974459187495669023712430545991120192078408886866263494504085456540784423061641394098573862941031256571661745355832808415294668992772308833440968738245184875658368053219370834045616416408892753372496961012683888476434930158151788476110503219473309331348692987599959009197790947308322803509761700258022933293452071030906588094610895311285912248126971629130868312333865820823990138447317912893491216754032872024920821414016855373258378223493395838204555886297336929367425689728369498820641483123416778308400292403212618181075567302454941205198424243178759585310219119276505722213730853553785048246803598306940474489935356366178052209100388080711435171614207949870564450946363854106953784056924196211405359398061725607610604533657860084194669035634808426195445826644095537816412010907113823211613284835042461661457273032374565176924324920494614499138951107972149232286867887909243588697283657145557364614334970161304629706160645968721270805128804816221648225750383317226008039765285012808498292559916238285770221543141305323308593068350819759022438869883692303512416052872376205080613124881080915859917302313358082084505848380745443030636980633173641237963471545537624600685424421214366225522159388655153372542098104356208099468166982850989045118808758496109972378958385286046556600887778295072996784025463852101750168164219538280168372042097370644644220926203314533214276058770627768320502033599051480890869647618718624956628444039987608769758644531200396711501282840846751587972520490278973866947033953981272078183745390611832736172238111319805986807827394225609813018741133757953734497954525734543298614996808822904254209480419520548610935554312418160231945607499889132467303990035929011948920876484674319901687644180003328136805194131117690786930282004601811979278253237665813218404734666508634586221450377325295083472486847398258800848167448236325603912985050338458640944254074707121349720686286743316141553740852820394354901128424098909331141811922307652962008647721044243591955032875400829845913744579263543129148328398517467004411252979338811869760991368900681857231827684703382907164282178549469842573521727146020153162342873451343485530096266536663255393820110871788567985104381284949535523159449833287839531148302796288118325380268413400389105172023600487848224503665660210819085189396576181329215946680859078585724329792896196555403600345773902803116626889964803684873448918914549241804418004901463665592641166235659400943385279805693048292877958801134618205456571733063448218067858287560911369199749724339997373752186109587543023470159618205130598691686154358262084872706032301049917687564049034677778776022318659162547549526789929161867350921939607350751000497721121684775798912297840301197677759533736674848261267992632704558444411342842037995820805698106690788954864118067873421007895696678034992410604308564789269692021277693871099515777761414098292278476411468266525821410547940797468535955040542926123 55157228051573580700730226227629648874272748609336839758006835773075920593984994136218731340206549451270501592589325915453025161938179322762061841232445578580504601238925130864744813462280029832126937398733847483079821918205566457399428083957395757108511385716917250773197649074209929657099960234558149901614973677049447660529880303669875523830841671437640685066798204663451026816413788499249252939647354156650794676926697790115382629143822107804353736386722799901147962119535977635546298361113132702727779617051329525087873179193989252298904581382017546149213521722508803097833226644201847804909423983983329901593575913906473407087641203787679116108010991490324296191086041392790960424440007230041089235378820970137971439840598074811708665302498840934558795056669750072531380431801530697707868628210235993246833046709798599881653809515689164305311263387705440207129921314577647238745200790987134123874552123416345981120099707422078623744905710019867889404675490204739187638089672623410723414675247651215948808776008974389945929879856638108980558196187559788795490674072349005097563646718640967562877412007519937485790393842107130440405897373828397143575863900872254906759732653186014243067631500638426665627708800704578539609484500061711864918300781226918313351827496166598702558488621284935019596725863493826905652936757135118449689997114158813939294879690977183365717737597687025304931183279554514383630100239720671982268302022181810971406456403000533299526862079918915277601975518432756163251595654565091822983386740699016791808799147701855284810681645266494277491009842024219609234003443106474715701011216757684448100661718978145212455851036307118553177443703340709258212118249850951600938768623953310850715078711535301819369149761820103216797396556478080294087244250748121167874604995413329066151352715339445749416623557681137481584563939876380617164348224316108961320468503422670089634780645300602635973806979782013381055307114957405947556956115233496827471983477256876714699915204550672781891212435256204501146568339845443825547338692730897630221181508705010892960114692606555526465443012472806703210462016749479535918416662095964883308318518535343091755175291843489497870972539301493063946653925785419560699156161150650152263344348852850598718391451222472092845666703302896047241404872100335367181630024404119175076758481228444120708811490186668682450533335919202731432710196165435894528550244335381102774922237810020939031219995555243542841101973720299752197477956128972136547577699695499947182580984700364272342576290020981773701669265756011609477518380230011705271507435712475876028904217193692158861055770371686235177450689965415352931362583198271049949948071948125439352554203912605633960428040270618700536321621854987884800803072610266222116324333386891401630856574206533029552649884529093979768638580314529017758242925918559391711538837563330037632315243724116333133082409278776961987240587807084659974398196320754659332735324124088384934229087946389425791708365841317953004972255367087763611404925813105010446109388589339777974576985171411841134299243782019441523891010639951383223749955376061535082863568807193318560569706092105429204180615373179582669738671815408313064027467536397897182442498934479903315667329678035331804944495132103408582212932026755926798971754806483803472144713410847623427417627657896325550501399 89246269712675191613762911595078635678106294079518309943406076641866502844805077414307524946264194257088031609543616812091225042469572486213223800494947587030682234222812169093254316504226434070274366585511884396825818120952284802574639287198225478498381474119212020985958472318760351709269824396222468346835677463816692083813684325981504264994531100898497287328072568711879762087989648183937416523519893478068134373006658764574570124812845820234899727506914878310034828383030481721002839145536194344121878190914270556344444840939345085107319876051010318458046962691247048282708885012255067175743469600399738794346948410867486090976117638717837267896487101993543769500417390085778560383449205020988397558182330731838229462773891526882739571890593451829870080968917877044160511300113864563528692618348683311159726537926552632753678730337103181160684521765928933602968125870463944575674568216676862493373372764899469397898408107714481836363086785587170344345880688628982366397674982842529999920397461382069502593824255777988252870354346573465346736248396660176876202109243963213047434211169587331416984365791576861682001799201505192166013507978362055003660058569907889715185928099012658338605447912649333779450920413989413582071145957334744239483477705551838807966326635117706674707720908152822928840314560777484051210301371470088610994626820319459908016150496105988181939385823437408622157191319319799396438598532280588220554072243724952276729764996068884119285884518788798969905487934485628539456676267689972903899246658001330149890883653550236030253712282247127451132247805495765146858604128530895930067236738917073103254034261076249568663950504474101404166488822149467754322090628809336886985325224841089145788075495560765671470899929984322755077564928520177664731888471674324482407819271472099693919673217373044800897514427328756200209520568320420604773117982960640161717180004705510936386368617821092914947673926815967362327385298702796559389692287471608147277970285084270940309728223291806539844946933210730235689866954842252648451592902211317150769792444259323311120346638214055415597910316462842632222410937625964210238318349740144886636455323729474209445962222125494099682951817554730729759872330520086069333742382601027477558427821339697996977192299389920329171270616287946385700045816354410074302979745090405918392900034969296941103166391315092781359864477731125039085672204813156938772142199368256503604768151554600202574349143883642060308106384973279091009347717120341037229434931523184650565488148982542821812418863542708919721822428098885060821003910326278241934762829532586747817472202298073443810591293531136068465290221113718149219480908578539463350337177120149039840402428416271294171247125460015276717650837801668743879388796940059118312879736987237175533659690833422994356334757978012894317880384732533919221908518559725627370939780948609843325363536602075134267700614735348695050688805874942947535309565520504383672732697876274494521772111416549043996838964533004107363234340239793795912454843500669059480787167365362096633739532720938631063461111132941381131241761640449104345434731174973832923164766484952852297244554353373421836885173817590925511776667636214011170718256491262015250315919942375599993702322088639640369733764824124686276084031542533688213070047084960214940411239232258171368215096193851366093427522 144403497764248772314493137822708284552379042688855149701412912414942423438790071550526256286470743708358533202132942727544250204407751808975285641727393165611186835461737299957999129966506463902401303984245731879905640039157851259974067371155621235606892859836129271759156121392970281366369784630780618248450651140866139744343564629651379788825372772336137972394870773375330788904403436683186669463167247634718929049933356554689952753956667928039253463893637678211182790502566459356549137506649327046849657807965600081432318020133334337406224457433027864607260484413755851380542111656456914980652893584383068695940524324773959498063758842505516384004498093483868065691503431478569520807889212251029486793561151701976200902614489601694448237193092292764428876025587627116691891731915395261236561246558919304406559584636351232635332539852792345465995785153634373810098047185041591814419769007663996617247924888315815379018507815136560460107992495607038233750556178833721554035764655465940723335072709033285451402600264752378198800234203211574327294444584219965671692783316312218144997857888228298979861777799096799167792193043612322606419405352190452147235922470780144621945660752198672581673079413287760445078629214693992121680630457396456104401778486778757121318154131284305377266209529437757948437040424271310956863238128605207060684623934478273847311030187083171547657123421124433927088374598874313780068698772001260202822374265906763248136221399069417418812746598707714247507463452918384702708271922255064726882633398700346941699682801252091315064393927513621728623257647519984756092607571637370645768247955674757551354695980054394781119801540781219957343932525490177012534208878660288487924093848794399996503154207096067490840049691804425971874961484998257958819132722422445650282424266885428760071025932712490550314137985009893681794084508196801221937466207276749123037648508128181026021149263121695550921480906597980743382692413660202506946648402705104974749953762341147655009643427842479321736159368466934736836435294687696473998931594942214780990973952964334204080461330820610942063353328935649335432872954375443746156735011836109769944773842264817301201137513968983597553924356856223793706526256305505630032898543751677629821772170192548595695583750612392422016937319590842432941450688454745441484609769494525093469658516197741061811977881501761463810397813650327770518382400978592833300692443703637606379690389364621141605569139438885603149208358693578843206825673249313173777012631218684597748069133682907094154995153563690693423491693854896670298522290556289947206270265245062623846376419491765602671647063902822303642740911079133502150843491776810513300285249068274479192956632328876928131675165730633977253972459656656628680191869550325340429204070374128577164516265039956023908984642507106874086518965047062936980151444478285019082478618511939880957678780326191467400783024014125657037929393682027607509707761841259043005468022000362879456001199362938469788547330374322060368206595606881559523859769313774069926896555954701874608316517892350472197760354914960822655132772280400487569184686551035368006028335292146170857814260445478851041065789190770508181515339451622324234745724027659912432758418876855503309369651766674972174678259956228094858296963569289615012041801891444018412555952643105794795632723851747691643928921 233649767476923963928256049417786920230485336768373459644818989056808926283595148964833781232734937965446564811676559539635475246877324295188509442222340752641869069684549469051253446470732897972675670569757616276731458160110136062548706658353846714105274333955341292745114593711730633075639609027003086595286328604682831828157248955632884053819903873234635259722943342087210550992393084867124085986687141112787063422940015319264522878769513748274153191400552556521217618885596941077551976652185521390971535998879870637776762861072679422513544333484038183065307447105002899663250996668711982156396363184782807490287472735641445589039876481223353651900985195477411835191920821564348081191338417272017884351743482433814430365388381128577187809083685744594298956994505504160852403032029259824765253864907602615566286122562903865389011270189895526626680306919563307413066173055505536390094337224340859110621297653215284776916915922851042296471079281194208578096436867462703920433439638308470723255470170415354953996424520530366451670588549785039674030692980880142547894892560275431192432069057815630396846143590673660849793992245117514772432913330552507150895981040688034337131588851211330920278527325937094224529549628683405703751776414731200343885256192330595929284480766402012051973930437590580877277354985048795008073539500075295671679250754797733755327180683189159729596509244561842549245565918194113176507297304281848423376446509631715524865986395138301538098631117496513217412951387404013242164948189945037630781880056701677091590566454802327345318106209760749179755505453015749902951211700168266575835484694591830654608730241130644349783752045255321361510421347639644766856299507469625374909419073635489142291229702656833162310949621788748726952526413518435623551021194096770132690243538357528453990699150085535351211652412338649882003605076517221826710584190237389284754828512833691962407517880942788465869154833413948105710077712362999066336340690176713122027924047425418595319371651134285861581106301677664972526302249529949122450524497153531931760766397223657515200807969034666357661263645398491967655283892001407956395053361576254656581229165994291510647099736094477697236876174410954523466398586825591699366640926352705107380199991532246592672776050002312751188207935878788818641496504809155515787589514584931011862558551167038002915144272816854245170262291381452809604054605791749772072834643071894109984458540919221344179918283322527663457314743666857934216173390369654211006447562741869248313557282665449915967414017106399613145314121953781731119526200882568189141033094777649371663848621789839046482238357433958372108031132192851651370324400355349976650622426188423519033359060745148222302922291190649253971623297458325372559580666490384458742083807361365752698175955873379018265319400485119768404399349779596856202059963038010646453418399460549724283042316928266601668483638749474352088618199556970555045017327361763426678200719876637373977773310779487513785386294907326167731440935846675355436314612814443129407683723320063971242056050613289103261221466047902203786374533920849591914619417726009200929193101777099023155058814798852272877950963008361433693292007087836335405463980518921927683074338819231103303071973855314612544412024780352781134380995111823303225111848976404233352967191875363966163847820045599057737356443 378053265241172736242749187240495204782864379457228609346231901471751349722385220515360037519205681673805098013809502267179725451285076104163795083949733918253055905146286769009252576437239361875076974554003348156637098199267987322522774029509467949712167193791470564504270715104700914442009393657783704843736979745548971572500813585284263842645276645570773232117814115462541339896796521550310755449854388747505992472873371873954475632726181676313406655294190234732400409388163400434101114158834848437821193806845470719209080881206013759919768790917066047672567931518758751043793108325168897137049256769165876186227997060415405087103635323728870035905483288961279900883424253042917601999227629523047371145304634135790631268002870730271636046276778037358727833020093131277544294763944655086001815111466521919972845707199255098024343810042687872092676092073197681223164220240547128204514106232004855727869222541531100155935423737987602756579071776801246811846993046296425474469204293774411446590542879448640405399024785282744650470822752996614001325137565100108219587675876587649337429926946043929376707921389770460017586185288729837378852318682742959298131903511468178959077249603410003501951606739224854669608178843377397825432406872127656448287034679109353050602634897686317429240139967028338825714395409320105964936777628680502732363874689276007602638210870272331277253632665686276476333940517068426956575996076283108626198820775538478773002207794207718956911377716204227464920414840322397944873220112200102357664513455402024033290249256054418660382500137274370908378763100535734659043819271805637221603732650266588205963426221185039130903553586036541318854353873129821779390508386129913862833512922429889138794383909752900653150999313593174698827487898516693582370153916519215782972667805242957214061725082798025901525790397348543563797689584714023048648050397514138407792477020961872988428667144064484016790635740011928849092770126023201573282989092881818096777877809766566250329015078976765183317265670144599709362737544217645596449456092095746712751740350187991719281269299855277299724616974334141303088156846376851702551788373412364426526003008259108811848237250063461294790800531267178317172924843131097329399539470104382737201972161724795188368359800614705173205145255469631251582947193263900957272199284079456105332217067364779064727122154318615708980660105031780580122437006770342605373527086775531716364148930283842485785487422761413266606523102360436777422999063618967384783460193960553846061626416348357010122409170670090306568805815808678401418048491438858136347303360022711995510225041281604649153885421336780675750772043271985153521167892132160489950907675256697998226315693074025150434597456921283231225595757114982001239772536040709799171287877735494329862692220913335042174304042992226642490918314826659793182211407516295665535897017972489605240721097254458069069266662763600009126547593238998162554725089203022469683668741877000253433774510142425983573933625281648228099647531453556914960174382128217199334580279274765845850372568505639575458981820962863026441507306201250079483804104277044568935221437069245194012873075244331123919016752199131941874807346539458659640209704546581840115832757696086606612441625621989584719090284736580875992677958681112918237153650867848251765523144518469760959480543897346749381285364 611703032718096700171005236658282125013349716225602068991050890528560276005980369480193818751940619639251662825486061806815200698162400399352304526172074670894924974830836238060506022907972259847752645123760964433368556359378123385071480687863314663817441527746811857249385308816431547517649002684786791439023308350231803400658062540917147896465180518805408491840757457549751890889189606417434841436541529860293055895813387193218998511495695424587559846694742791253618028273760341511653090811020369828792729805725341356985843742278693182433313124401104230737875378623761650707044104993880879293445619953948683676515469796056850676143511804952223687806468484438691736075345074607265683190566046795065255497048116569605061633391251858848823855360463781953026790014598635438396697795973914910767068976374124535539131829762158963413355080232583398719356398992760988636230393296052664594608443456345714838490520194746384932852339660838645053050151057995455389943429913759129394902643932082882169846013049863995359395449305813111102141411302781653675355830545980250767482568436863080529861996003859559773554064980444120867380177533847352151285232013295466449027884552156213296208838454621334422230134065161948894137728472060803529184183286858856792172290871439948979887115664088329481214070404618919702991750394368900973010317128755798404043125444073741357965391553461491006850141910248119025579506435262540133083293380564957049575267285170194297868194189346020495010008833700740682333366227726411187038168302145139988446393512103701124880815710856746005700606347035120088134268553551484561995030971973903797439217344858418860572156462315683480687305631291862680364775220769466546246807893599539237742931996065378281085613612409733815461948935381923425780014312035129205921175110615985915662911343600485668052424232883561252737442809687193445801294661231244875358634587751527692547305533795564950836185025007272482659790573425876954802847838386200639619329783058531218805801857191984845648386730111051044898371971822264681889039793747594718899980589249278644512506747411649234482077268889943657385880619732633270743440738378259658946841734988619083107232174253400322495336986157938992027676705678132840639323429956689028766180396457087844582172153257041781041135850617017924393353191348420070224443698073056473059788798664387117194775618531817067642266427135469954150922396413233389726491612562092377446361729847425826348607471203063829965405706083940930063837846027294711639172453988621595789907756702423094375183699013806926089823187776489919714119937762460132537574692321426325488336454800361367174073663071443695636123778770739047858803175464836804891492292487510466601530101445121517259674753819173372737519748111932485197219054573307373799353202531094257913371685096860082560868176786714060439623443477346410895317664606256649384271370554306311989315417433039329523763414182724670737750301513074361215165792795968717599742416564785896361869461753637627411547820921913497359319920188974395831088467300232270396488994942660328742264002594829817092428619118928678720203287010765230227881840122099671398423522003053769864414538846344217167931890043183396796967715207493375568099353627294995045673685065503767798907096515317709915513599477304197263502309516933657127058953792936221462265499844252485118490336393833727123328363942945807118641807 989756297959269436413754423898777329796214095682830678337282792000311625728365589995553856271146301313056760839295564073994926149447476503516099610121808589147980879977123007069758599345211621722829619677764312590005654558646110707594254717372782613529608721538282421753656023921132461959658396342570496282760288095780774973158876126201411739110457164376181723958571573012293230785986127967745596886395918607799048368686759067173474144221877100900966501988933025986018437661923741945754204969855218266613923612570812076194924623484706942353081915318170278410443310142520401750837213319049776430494876723114559862743466856472255763247147128681093723711951773399971636958769327650183285189793676318112626642352750705395692901394122589120459901637241819311754623034691766715940992559918569996768884087840646455511977536961414061437698890275271270812032491065958669859394613536599792799122549688350570566359742736277485088787763398826247809629222834796702201790422960055554869371848225857293616436555929312635764794474091095855752612234055778267676680968111080358987070244313450729867291922949903489150261986370214580884966362822577189530137550696038425747159788063624392255286088058031337924181740804386803563745907315438201354616590158986513240459325550549302030489750561774646910454210371647258528706145803689006937947094757436301136407000133349748960603602423733822284103774575934395501913446952330967089659289456848065675774088060708673070870401983553739451921386549904968147253781068048809131911388414345242346110906967505725158171064966911164666083106484309490996513031654087219221038850243779541019042949995125007066535582683500722611590859217328403999219129093899288325637316279729453100576444918495267419879997522162634468612948248975098124607502210551822788291329027135201698635579148843442882114149315681587154263233207035737009598984245945267924006684985265666100339782554757437939264852169071756499450426313437805803895617964409402212902318875940349315583679666958551095977401809087816228215637641966864391251777337965240315349436681345025357264247097599640953763346568745220957110497594066774573831597584755111361498630108400983509633235182512509134343574236221400286818477236945311157812248273087786358165719866561470581784144314981836969409495651231723097598498446818051321807390891336957430331988082743843222526992685896596132369388581454085663131582501445013969848928619332434982819888816622957542712756401486906315750893128845354196670360948387731489062171517607588980573367950662976940436810115362163936212232358446580226282925753571138533955623183760284461835639814823073362684298704353048344790009200107519723609575218736821958412660184619670956552437776701819515485990446893198523172117205033215716422814811688289375039125738571804057084659562832354412423560397700049102613927486469573053386235979432916442566482778070601977525212435405528934764484511437182739807016964276674370341713386034966880154467505767808366045538203630637880845322331064339480933253545470622623930735998753789185356663377070877528076844281869595662942801187624568254179185107973628256669389146323349750882227626280098338799635975915589411180804965287514520715984467406625317442906700166753654685883389612085607914739854211404316527955225099293781982592594253514533119736912474049139699419150712100736884013480912303488082808907840292556499927171 1601459330677366136584759660557059454809563811908432747328333682528871901734345959475747675023086920952308423664781625880810126847609876902868404136293883260042905854807959245130264622253183881570582264801525277023374210918024234092665735405236097277347050249285094279003041332737564009477307399027357287721783596446012578373816938667118559635575637683181590215799329030562045121675175734385180438322937448468092104264500146260392472655717572525488526348683675817239636465935684083457407295780875588095406653418296153433180768365763400124786395039719274509148318688766282052457881318312930655723940496677063243539258936652529106439390658933633317411518420257838663373034114402257448968380359723113177882139400867275000754534785374447969283756997705601264781413049290402154337690355892484907535953064214770991051109366723573024851053970507854669531388890058719658495625006832652457393730993144696285404850262931023870021640103059664892862679373892792157591733852873814684264274492157940175786282568979176631124189923396908966854753645358559921352036798657060609754552812750313810397153918953763048923816051350658701752346540356424541681422782709333892196187672615780605551494926512652672346411874869548752457883635787499004883800773445845370032631616421989251010376866225862976391668280776266178231697896198057907910957411886192099540450125577423490318568993977195313290953916486182514527492953387593507222742582837413022725349355345878867368738596172899759946931395383605708829587147295775220318949556716490382334557300479609426283051880677767910671783712831344611084647300207638703783033881215753444816482167339983425927107739145816406092278164848620266679583904314668754871884124173328992338319376914560645700965611134572368284074897184357021550387516522586951994212504137751187614298490492443928550166573548565148407000676016722930455400278907176512799365319573017193792887088088553002890101037194079028982110216886863682758698465802795602852521648658998880534389481524150535941625788539198867273114009613789129073140817131712835034249417270594304001776753845011290188245423837635164614496378213799407844575038323133371020445471843389602592740467356765909456838911222379339278846153942623443998451571703044475386931900263018558426366316468238878750450631501848741021991851638166471392031834589410013903391776881408230339721768304428413200011655008589555617282504897858247359575420231894527360266250546470383369061363872689970145716298834929295126734198794415026200701343971596210576363275707365400034811993814375970862302055546223070145997045691333598666493197876081710787323976269623434729858372367424492040426132978878258771468378394201658763304152477107181423153967878146941032745665200712371895909636953145148201620033866261596748838478941102898314998031247929214494984428574486763163053550929946919464281553644039173091950754148624908289514527852838568264288247925619907410544767265789748731556879178830935597754209922332594262407407665384275508256870151986252978292573465659597019761824466054021455753152372013537856819108284464425480035229806743496932899388394984393486897270986445449422280651148283152108664050514761933628348736855330697917512952182614118693011006053794048649731557074677589375713646950726722026443468824576597979246094903770448190246795866266985361161684650556353222002503817306137215206137271783238363618568978 2591215628636635572998514084455836784605777907591263425665616474529183527462711549471301531294233222265365184504077189954805052997057353406384503746415691849190886734785082252200023221598395503293411884479289589613379865476670344800259990122608879890876658970823376700756697356658696471436965795369927784004543884541793353346975814793319971374686094847557771939757900603574338352461161862352926035209333367075891152633186905327565946799939449626389492850672608843225654903597607825403161500750730806362020577030866965509375692989248107067139476955037444787558761998908802454208718531631980432154435373400177803402002403509001362202637806062314411135230372031238635009992883729907632253570153399431290508781753617980396447436179497037089743658634947420576536036083982168870278682915811054904304837152055417446563086903684987086288752860783125940343421381124678328355019620369252250192853542833046855971210005667301355110427866458491140672308596727588859793524275833870239133646340383797469402719124908489266888984397488004822607365879414338189028717766768140968741623057063764540264445841903666538074078037720873282637312903179001731211560333405372317943347460679404997806781014570684010270593615673935556021629543102937206238417363604831883273090941972538553040866616787637623302122491147913436760404042001746914848904506643628400676857125710773239279172596400929135575057691062116910029406400339924474312401872294261088401123443406587540439608998156453499398852781933510676976840928363824029450860945130835624680668207447115151441222945644679075337866819315654102081160331861725923004072731459532985835525117335108432993643321829317128703869024065948670678803033408568043197521440453058445438895821833055913120845608656735002752687845433332119674995018733138774782503833164886389312934069641287371432280722864246735561263909223758667464999263153121780723372004558282859893226870643310440829365889363150785481560643200301488562594083767205005065423967534939229849973161191109087037603190348286683501329647255755993464392594469678075349598853951939329359041000942610931142008770406380385571606875807866182418406635907888482381944101951790586102373702539278418591182485458600739565664631179568755156263819976132261745097620129580029008150460783220715719860127153080464119590350084984522713839225480746971333723764964152073562248760990325009332381043590043641280414087399303261329424348851226962343086139363093340911774120274176876461467191963774649323404559742802757689763515489203799556936643658028376975248803929738134798514287904669650372279971444904737200448821059841995249159616084446508092542671071777540385216142178985778495077953612938480721716812661726852379706405654848760548231655647605570419081754158178363918042848677949886123877604679674702372082690810761568907407988972186812265667478416416492517667789623472089534517236926695510267039740288244097199052732437057090150351784230066423101898592564865902477908677428100402628452945869014913389102192483050592459225827011130219643692560464807810641109815749084415384895952566334021142978030994368065187078573502958021743566660132768799173162878774563250447463686490677523039529541820618212438228936650020744010453912753960802304417440464289674983628386804938126342971424049675891761228687498023962723366532778741034500861103801268453958886517298218440703288946179623530920118496149 4192674959314001709583273745012896239415341719499696172993950157058055429197057508947049206317320143217673608168858815835615179844667230309252907882709575109233792589593041497330287843851579384863994149280814866636754076394694578892925725527844977168223709220108470979759738689396260480914273194397285071726327480987805931720792753460438531010261732530739362155557229634136383474136337596738106473532270815543983256897687051587958419455657022151878019199356284660465291369533291908860568796531606394457427230449163118942556461355011507191925871994756719296707080687675084506666599849944911087878375870077241046941261340161530468642028464995947728546748792289077298383026998132165081221950513122544468390921154485255397201970964871485059027415632653021841317449133272571024616373271703539811840790216270188437614196270408560111139806831290980609874810271183397986850644627201904707586584535977743141376060268598325225132067969518156033534987970620381017385258128707684923397920832541737645189001693887665898013174320884913789462119524772898110380754565425201578496175869814078350661599760857429586997894089071531984389659443535426272892983116114706210139535133295185603358275941083336682617005490543484308479513178890436211122218137050677253305722558394527804051243483013500599693790771924179614992101938199804822759861918529820500217307251288196729597741590378124448866011607548299424556899353727517981535144455131674111126472798752466407808347594329353259345784177317116385806428075659599249769810501847326007015225507926724577724274826322446986009650532146998713165807632069364626787106612675286430652007284675091858920751060975133534796147188914568937358386937723236798069405564626387437777215198747616558821811219791307371036762742617689141225382535255725726776716337302637576927232560133731299982447296412811883968264585240481597920399542060298293522737324131300053686113958731863443719466926557229814463670860087165171321292549570000607917945616193938110384362642715259622979228978887485550774443656869545122537533411601390910383848271222533633360817754787622221330254194244015550186103254021665590262981674231021853402389573795180188695114169896044328048021396680980078844510785122192199154715391679176737132029520392598587434516777251459594470310758654929205141582201723150994105871060070156985237115541845560303901970529294753422532392698598633196897696592297161508688999769083121489703352389909563724280835484146866846607183490798703944450138758537217783890464859460800010133299919365393777010060797744114105660816343450892720518277017136238335866942018935923706036483592354069942822401043439202032425642275157864037266546332007140139485020965138834033802860373532995701580977320848317942314991391111323512119662882544211482872716083620777600687080722058690783402392417546673575428721029346363411981949343267511262626467991075320418556554268141082665463340980362676997560896551495856171833455471743696838075662887350432996890860353534399188897359062635036845437518400476789816663454384930861832096862968121097953241715060850798446623013260801111562119977961897942415230463931119214248595443529922846402556127737005439456667878278675948910355741888832634862703464918807754850954148997538967264359342033755664848369414892874252489740474782401794410913613328645008019862022788451824807180889021115524577918495083451406769283737065127 6783890587950637282581787829468733024021119627090959598659566631587238956659769058418350737611553365483038792672936005790420232841724583715637411629125266958424679324378123749530311065449974888157406033760104456250133941871364923693185715650453857059100368190931847680516436046054956952351238989767212855730871365529599285067768568253758502384947827378297134095315130237710721826597499459091032508741604182619874409530873956915524366255596471778267512050028893503690946273130899734263730297282337200819447807480030084451932154344259614259065348949794164084265842686583886960875318381576891520032811243477418850343263743670531830844666271058262139681979164320315933393019881862072713475520666521975758899702908103235793649407144368522148771074267600442417853485217254739894895056187514594716145627368325605884177283174093547197428559692074106550218231652308076315205664247571156957779438078810789997347270274265626580242495835976647174207296567347969877178782404541555162531567172925535114591720818796155164902158718372918612069485404187236299409472332193342547237798926877842890926045602761096125071972126792405267026972346714428004104543449520078528082882593974590601165056955654020692887599106217419864501142721993373417360635500655509136578813500367066357092110099801138222995913263072093051752505980201551737608766425173448900894164376998969968876914186779053584441069298610416334586305754067442455847546327425935199527596242159053948247956592485806758744636959250627062783269004023423279220671446978161631695893715373839729165497771967126061347517351462652815246967963931090549791179344134819416487532402010200291914394382804450663500016212980517608037189971131804841266927005079445883216111020580672471942656828448042373789450588051021260900377553988864501559220170467523966240166629775018671414728019277058619529528494464240265385398805213420074246109328689582913579340829375173884548832815920380599945231503287466659883886633337205612983369583728877340234335803906368710016832169235772234275773304125301116001926006071068985733447125174472962719858755730233152472262964650395935757710129829531772681388310138910335784333675746970774797487872435322746639203882139580818410175416301760954310979211655308998877127140522178616442667238034680310190170885808009669261172551808135516819710285550903956570839306809712377464219290285078431864773742188676838178110679696464770018424117934348452046438529272657065192609604421043723068650682762478593773543318280020541580228374950003809690236563023422153985309601673852240459330631355562370890556988581143073067390839995765701285643208438516450914943714510979572810858417336849815761624285620078620206737777800560886182566779187844462129208976495923512734073145269501876037705731222161368996593688300452303059163412869452352309800406518860387694388507762779904499617132890983352160985228002015928823594008429326762662393712799734087711248335725922594935354064308562740553571564778533399519313299403414102286461255118087437896744227487920036307146945395669642737972783870182368626611013417132467765991291795479627307056535400900436974030591251983047768606408697409653003591423496116979707407820496567122793970825482655606713918831561715653258566438003256939342970420560602974712386316923928381501703469899818373636979861423749054362883892253093261139775538413743018621784029631030300203855561276 10976565547264638992165061574481629263436461346590655771653516788645294385856826567365399943928873508700712400841794821626035412686391814024890319511834842067658471913971165246860598909301554273021400183040919322886888018266059502586111441178298834227324077411040318660276174735451217433265512184164497927457198846517405216788561321714197033395209559909036496250872359871847105300733837055829138982273874998163857666428561008503482785711253493930145531249385178164156237642664191643124299093813943595276875037929193203394488615699271121450991220944550883380972923374258971467541918231521802607911187113554659897284525083832062299486694736054209868228727956609393231776046879994237794697471179644520227290624062588491190851378109240007207798489900253464259170934350527310919511429459218134527986417584595794321791479444502107308568366523365087160093041923491474302056308874773061665366022614788533138723330542863951805374563805494803207742284537968350894564040533249240085929488005467272759780722512683821062915333039257832401531604928960134409790226897618544125733974796691921241587645363618525712069866215863937251416631790249854276997526565634784738222417727269776204523332896737357375504604596760904172980655900883809628482853637706186389884536058761594161143353582814638822689704034996272666744607918401356560368628343703269401111471628287166698474655777157178033307080906158715759143205107794960437382690782557609310654069040911520356056304186815160018090421136567743448589697079683022528990481948825487638711119223300564306889772598289573047357167883609651528412775596000455176578285956810105847139539686685292150835145443779584198296163401895086545395576908855041639336332569705833320993326219328289030764468048239349744826213330668710402125760089244590228335936507770161543167399189908749971397175315689870503497793079704721863305798347273718367768846652820882967265454788107037328268299742477610414408902363374631831205179182907206220901315199922815450618698446621628332996061148123257785050216960994846238539459417672459896117295396397006596080676510517855373802517158894411485943813383851197362944369984369932189186723249542150963492602042331367074687225278820560897254686201423953153465694603334485736009156660914777203877184015286139904660481644462938874402754753531286510925581345621060941807954848655272681366189819579831854397166440787310035075807271993626278707423887017469941749790919182220789473445088567910569675834173561182538223682076817238325470693234410803819823536482388815930995370399417966346120146974806455091408834005717381408934332858931689407322126800792586393737344757950181605236500692494713853028170617627218759691758742939394919985427152720840163710186297344241455049064536380825388157368613766372851869309771921229903746244134928143135712192824065533963123109537109143316481566476158494614787453219077336347380148276570409428125734693162411085272144887221778766768809536052259578629234452128966396410173652937813291183820317753124283334262627964709852970601330326531474834835751991280321868326074267930914389004552596591189427034497298842852204494522371197296364049938620256055559719160501556436375286099172516033149712714315290469417383750369470504212715435542224203702312454316267823081801209798180871242178252301612784550593190068757074224906680704918068320664559529267596540279113082437069487592626403 17760456135215276274746849403950362287457580973681615370313083420232533342516595625783750681540426874183751193514730827416455645528116397740527731140960109026083151238349288996390909974751529161178806216801023779137021960137424426279297156828752691286424445601972166340792610781506174385616751173931710783188070212047004501856329889967955535780157387287333630346187490109557827127331336514920171491015479180783732075959434965419007151966849965708413043299414071667847183915795091377388029391096280796096322845409223287846420770043530735710056569894345047465238766060842858428417236613098694127943998357032078747627788827502594130331361007112472007910707120929709165169066761856310508172991846166495986190326970691726984500785253608529356569564167853906677024419567782050814406485646732729244132044952921400205968762618595654505996926215439193710311273575799550617261973122344218623145460693599323136070600817129578385617059641471450381949581105316320771742822937790795248461055178392807874372443331479976227817491757630751013601090333147370709199699229811886672971773723569764132513690966379621837141838342656342518443604136964282281102070015154863266305300321244366805688389852391378068392203702978324037481798622877183045843489138361695526463349559128660518235463682615777045685617298068365718497113898602908297977394768876718302005636005286136667351569963936231617748150204769132093729510861862402893230237109983544510181665283070574304304260779300966776835058095818370511372966083706445808211153395803649270407012938674404036055270370256699108704685235072304343659743559931545726369465300944925263627072088695492442749539826584034861796179614875604153432766879986846480603259574785279204209437239908961502707124876687392118615663918719731663026137643233454729895156678237685509407565819683768642811903334966929123027321574168962128691197152487138442014955981510465880844795617482211212817132558397991014354133866662098491089065816244411833884684783651692790853034250527997043012893317359030019325990265120147354541385423743528881850742521571479558800535266248088526274780123544807421701523513680729135625758294508842524971056925289121738290089914766689821326429160960141715664861617725714107776673814989794734886283801436955820319851253320820214850652530270948543663927305339422027745291631171964898378794155464985058830409109864910286261940182975986873253917951690091048725848004951818393796229448454877854666054692988954292744484856323661131997225395097258867050921609360807629513773045412238084980680001091818586579477606162017462299390994298524482001723698927455108607770009231102844652288472461161178047359109831563668789794903247297379898496520739955806167993931908684625839395273840164967783137681650327264195074344988534220865903460221682206805407547797595488021993230584394350817498044871923220981183609049477966948438447079352276203742284999736190788128405962145172983393222947701361704163600360822319182806016907499795929486952341227393470281572871211721231006855452629889277748275722201117572808535861462690494937087685063382154995844392070816734091032699743289178525113623180344132656347317665708563310583997673416082693919669083155943683539797946076131302581931186157471281873545481143045282874876870797794187526722109252743881722201431158187573051492506128587790572958011329460440097943010615162063142713467369691448187679 28737021682479915266911910978431991550894042320272271141966600208877827728373422193149150625469300382884463594356525649042491058214508211765418050652794951093741623152320454243251508884053083434200206399841943102023909978403483928865408598007051525513748523013012485001068785516957391818882263358096208710645269058564409718644891211682152569175366947196370126597059849981404932428065173570749310473289354178947589742387995973922489937678103459638558574548799249832003421558459283020512328484910224391373197883338416491240909385742801857161047790838895930846211689435101829895959154844620496735855185470586738644912313911334656429818055743166681876139435077539102396945113641850548302870463025811016213480951033280218175352163362848536564368054068107370936195353918309361733917915105950863772118462537517194527760242063097761814565292738804280870404315499291024919318281997117280288511483308387856274793931359993530190991623446966253589691865643284671666306863471040035334390543183860080634153165844163797290732824796888583415132695262107505118989926127430430798705748520261685374101336329998147549211704558520279769860235927214136558099596580789648004527718048514143010211722749128735443896808299739228210462454523760992674326342776067881916347885617890254679378817265430415868375321333064638385241721817004264858346023112579987703117107633573303365826225741093409651055231110927847852872715969657363330612927892541153820835734323982094660360564966116126794925479232386113959962663163389468337201635344629136909118132161974968342945042968546272156061853118681955872072519155932000902947751257755031110766611775380784593584685270363619060092343016770690698828343788841888119939592144491112525202763459237250533471592924926741863441877249388442065151897732478044958231093186007847052574965009592518614209078650656799626525114653873683991996995499760856809783802634331348848110250405589248541085432300875601428763036230036730322294244999151618054785999983574508241471732697149625376008954465482287804376207226114993593080844841415988777968037917968486154881211776765943900077297282439218907645336897531926498570128278878774714157780174831272701782691957098056896013654439780702612919547819149667261242368418324280470895440462351733024197035268606960119511134174733887418066682058870708538670872976793025840186749004120257740196598929444742140659106623763296908329725223683717327433271891969288335546020367637098644139499781556864862420319029884843670220907471914497192521614843771611449337309527801054015976050400509784932699624580968472553708225000015905890936056557859144515929896810023689238389633230411342783283859802326277521817965520874516139590255263679350726153421084629524789549581571184406422832202218031152652352442958754907072735213232142912110551651682725738623734186054649928313940607581981066537462750085207972581735891666156688623583890561570145618913863099124556258255538110169480128472973136413081897812040469036466192339660605279040684654101890624336004565269483417339742248349606048732592407644287852743012363263161952994296544000396988662006161125529998586141383019635994377640496706285937921764123029744499229852457980018841599189093396254113236545548686332300656661683997309087705346747595329193138620875988736520290123986059974503043942738166241561263202812697253662929397781104657472278211702342255795904439179040814082 46497477817695191541658760382382353838351623293953886512279683629110361070890017818932901307009727257068214787871256476458946703742624609505945781793755060119824774390669743239642418858804612595379012616642966881160931938540908355144705754835804216800172968614984651341861396298463566204499014532027919493833339270611414220501221101650108104955524334483703756943247340090962759555396510085669481964304833359731321818347430939341497089644953425346971617848213321499850605474254374397900357876006505187469520728747639779087330155786332592871104360733240978311450455495944688324376391457719190863799183827618817392540102738837250560149416750279153884050142198468811562114180403706858811043454871977512199671278003971945159852948616457065920937618235961277613219773486091412548324400752683593016250507490438594733729004681693416320562218954243474580715589075090575536580255119461498911656944001987179410864532177123108576608683088437703971641446748600992438049686408830830582851598362252888508525609175643773518550316554519334428733785595254875828189625357242317471677522243831449506615027296377769386353542901176622288303840064178418839201666595944511270833018369758509815900112601520113512289012002717552247944253146638175720169831914429577442811235177018915197614280948046192914060938631133004103738835715607173156323417881456706005122743638859440033177795705029641268803381315696979946602226831519766223843165002524698331017399607052668964664825745417093571760537328204484471335629247095914145412788740432786179525145100649372379000313338802971264766538353754260215732262715863546629317216558699956374393683864076277036334225096947653921888522631646294852261110668828734600542851719276391729412200699146212036178717801614133982057541168108173728178035375711499688126249864245532561982530829276287257020981985623728749552436228042646120688192652247995251798758615841814728955046023071459753902564859273592443117170096698828813383310815396029888670684767226201032324766947677622419021847782841317823702197491235140947622230265159517659818780439539965713681747043014032426352077405984026329346860411212655634195886573387617239128837100120394440072781871864746717340083600740844328584409436875381369019042233314075205781724263788688844516886521927780334361786705004835961730609364210130566416164607964990738565543159585242799027008039309652426921046806739283781583643175373808376159119896921106729342249816091976498805554474545819155164803886208504802218132867011756059572536453132419078851082573213292100956730401601603519279102187130490016007615994314430372937780256786599624537666819254792083041921702872503961331218912157841190607760424121813519488751784419306532321415016538209415388976845024571390615339899681479916547517303743441293601116692364594317357059230523334111756179285234322664758105626852989758443933694257450548684330113236040899787632846569881809701991505086701431238931333117181490177136736773904216994846485943965988269147557620268078124383463495547725796276338869969631526097881770933709980452823714205702858200249638057678698996241380732822895216562698329430561544749617557984629362633255587472686340328496903268540673938510682345037079793911182621679988914231842819155279182633186489792878204070009418670176263242399376729941696704475100925739293053769331400487826620940727241544755415288826864405398509371808870489001761 75234499500175106808570671360814345389245665614226157654246283837988188799263440012082051932479027639952678382227782125501437761957132821271363832446550011213566397542990197482893927742857696029579219016484909983184841916944392284010114352842855742313921491627997136342930181815420958023381277890124128204478608329175823939146112313332260674130891281680073883540307190072367691983461683656418792437594187538678911560735426913263987027323056884985530192397012571331854027032713657418412686360916729578842718612086056270328239541529134450032152151572136909157662144931046518220335546302339687599654369298205556037452416650171906989967472493445835760189577276007913959059294045557407113913917897788528413152229037252163335205111979305602485305672304068648549415127404400774282242315858634456788368970027955789261489246744791178135127511693047755451119904574381600455898537116578779200168427310375035685658463537116638767600306535403957561333312391885664104356549879870865917242141546112969142678775019807570809283141351407917843866480857362380947179551484672748270383270764093134880716363626375916935565247459696902058164075991392555397301263176734159275360736418272652826111835350648848956185820302456780458406707670399168394496174690497459359159120794909169876993098213476608782436259964197642488980557532611438014669440994036693708239851272432743399004021446123050919858612426624827799474942801177129554456092895065852151853133931034763625025390711533220366686016560590598431298292410485382482614424085061923088643277262624340721945356307349243420828391472436216087804781871795547532264967816454987485160295639457061629918910367311272981980865648416985551089454457670622720482443863767504254614964158383462569650310726540875845499418417496615793329933108189544646357343050253379614557495838868805871230060636280528376077550881916330112685188152008852061582561250173163577065296428660708294987997160149193871880206326735559135677555814547647943456684750800709273796499644827247795030802248323605628078404717350134540703075106575506437786818357508451868562958819779976326429374688423245236992197308744582132766014852266391953286617274951667141855473828962803613353738040521546941503957256025048630261410651638355676677164726140421868713921790534740453872920879738723379797291423080839105087037584758016578752292163705500539223606968754394567580153430502580689913368399057525703592391788890395064888270183729075142945054256102684017585122916093348472439040338926253252094151296904030528188392101014346116932780802111388451978726768098962569715840994330336263873836814645744140467563629278481321431554933283846744615078714484118712425725944996329659079007048098657258474836101167734204938558416208977813447542117712632568899960262498348366336329924507506427908710913249072735490365339884250978698713208834056295906683779465423130420221779392729523371523408140027428615854604211257689494469443286661618650109873186986114806886954980432180608808162899308762778485354119883730361545822287309373774447487819666302388097111566948715221463411591051975242996638369394829056342092696915571944564385611935625126068919193509236809370072996133120998653957352281534130476048024419167228675246532499480839276491720891836540473533263148039546164999762689500716001671207519043663905534615032534213185080283870125022649412887567038566747654305276248049529815843 121731977317870298350229431743196699227597288908180044166525967467098549870153457831014953239488754897020893170099038601960384465699757430777309614240305071333391171933659940722536346601662308624958231633127876864345773855485300639154820107678659959114094460242981787684791578113884524227880292422152047698311947599787238159647333414982368779086415616163777640483554530163330451538858193742088274401899020898410233379082857852605484116968010310332501810245225892831704632506968031816313044236923234766312239340833696049415569697315467042903256512305377887469112600426991206544711937760058878463453553125824373429992519389009157550116889243724989644239719474476725521173474449264265924957372769766040612823507041224108495058060595762668406243290540029926162634900890492186830566716611318049804619477518394383995218251426484594455689730647291230031835493649472175992478792236040278111825371312362215096522995714239747344208989623841661532974759140486656542406236288701696500093739908365857651204384195451344327833457905927252272600266452617256775369176841915065742060793007924584387331390922753686321918790360873524346467916055570974236502929772678670546193754788031162642011947952168962468474832305174332706350960817037344114666006604927036801970355971928085074607379161522801696497198595330646592719393248218611170992858875493399713362594911292183432181817151152692188661993742321807746077169632696895778299257897590550482870533538087432589690216456950313938446553888795082902633921657581296628027212825494709268168422363273713100945669646152214685594929826190476303537044587659094161582184375154943859553979503533338666253135464258926903869388280063280403350565126499357321025295583043895984027164857529674605829028528155009827556959585604789521507968483901044334483592914498912176540026668145093128251042621904257125629987109958976233373380804256847313381319866014978306020342451732168048890562019422786314997376423434387949060866629943677832127369518026910306121266592504870214052650031164923451780602208585275488325305371735024097605598797048417582244705862794008752781452094407271566339057719957237766961901425654009192415454375072061581928255700827550330693821641262391270088366692900429999280452884952430882458888989929110713230808312462520788234707584743559341527900787290969671503202192723007317317835323290743338250615008064046994501200237241864471497011574431334079751511685811501794230519999821051641750608730648503172749926802301853274657173205938009311666687750036449607039474674227638217889511203712991971257828955229452585723456988644766636811617071432343765005230448533273404473476636156350705946297626641959903033486369118143178567758832517963790796251117705943620327535261233549204062882017394112485447477566241789659937446616872100745265770143772406847246544625118573643456818835687046054350617473722873679104551892628770423159156254709909238317846109297959120733400776403843108827246609960890331801733440924398168877955720519576840902868817615431456157822161157279005300545369590600012368549935281154418079663661229109653941992879750127651951558655395245002506109135229493609755431552449096709495710401493036389539327895862963879167555841935601788908664160764342299994555674354078326333351737333157458216341263005088877445943367911994144589644827668801865613672906904810852264194168302855865431153052814648056920018817604 196966476818045405158800103104011044616842954522406201820772251305086738669416897843097005171967782536973571552326820727461822227656890252048673446686855082546957569476650138205430274344520004654537450649612786847530615772429692923164934460521515701428015951870978924027721759929305482251261570312276175902790555928963062098793445728314629453217306897843851524023861720235698143522319877398507066839493208437089144939818284765869471144291067195318032002642238464163558659539681689234725730597839964345154957952919752319743809238844601492935408663877514796626774745358037724765047484062398566063107922424029929467444936039181064540084361737170825404429296750484639480232768494821673038871290667554569025975736078476271830263172575068270891548962844098574712050028294892961112809032469952506592988447546350173256707498171275772590817242340338985482955398223853776448377329352619057311993798622737250782181459251356386111809296159245619094308071532372320646762786168572562417335881454478826793883159215258915137116599257335170116466747309979637722548728326587814012444063772017719268047754549129603257484037820570426404631992046963529633804192949412829821554491206303815468123783302817811424660652607631113164757668487436512509162181295424496161129476766837254951600477374999410478933458559528289081699950780830049185662299869530093421602446183724926831185838597275743108520606168946635545552112433874025332755350792656402634723667469122196214715607168483534305132570449385681333932214068066679110641636910556632356811699625898053822891025953501458106423321298626692391341826459454641693847152191609931344714275142990400296172045831570199885850253928480265954440019584169980041507739446811400238642129015913137175479339254695885673056378003101405314837901592090588980840935964752291791097522507013898999481103258184785501707537991875306346058568956265699374963881116188141883085638880392876343878559179571980186877582750169947084738422444491325775584054268827619579917766237332118009083452279488529079859006925935410029028380478310530535392417154556869450807664682573985079210826782830516803331255028701819899727916277920401145702071650023728723783729529790353944047559681783938211592323948925478629541863536590786559136053716069532581944730102997261242107628464482282721325192210371808776590239777481023896070127486996243877474221976818441562081353667744445161410379973488859783343903474701896859118790183550126784695662986751187190335049718395201747096213544864262563760839046940480135227866775241984334822292005824380423236555723328415155439297982975102900685453886078087905472794077811754725905031569440197450561376341126078615459212314114472837646765880616621049271087218873677825266093677442527017510424135106745054347437828740138026273776541379607173174481057021479582736909965002824622155532044521102350257301253188296809524773672021499946530679662849936666933700713509216810227870219690504727477356483147876446608620395904830349486763883418885603681354171735315186519367983444588379074992857410266314756647046848103133301127072820161629184989518119522481007900748092160574450673520841429234881500471642605946305080474489169510537981853215245413298031889960020956137339407296841780833832166074970162873825270596305497762506262767778378161945039119513188253550362283834399826857987188680977286843581190422903997900707119924304969548633447 318698454135915703509029534847207743844440243430586245987298218772185288539570355674111958411456537433994464722425859329422206693356647682825983060927160153880348741410310078927966620946182313279495682282740663711876389627914993562319754568200175660542110412113960711712513338043190006479141862734428223601102503528750300258440779143296998232303722514007629164507416250399028595061178071140595341241392229335499378318901142618474955261259077505650533812887464356995263292046649721051038774834763199111467197293753448369159378936160068535838665176182892684095887345785028931309759421822457444526561475549854302897437455428190222090201250980895815048669016224961365001406242944085938963828663437320609638799243119700380325321233170830939297792253384128500874684929185385147943375749081270556397607925064744557251925749597760367046506972987630215514790891873325952440856121588659335423819169935099465878704454965596133456018285783087280627282830672858977189169022457274258917429621362844684445087543410710259464950057163262422389067013762596894497917905168502879754504856779942303655379145471883289579402828181443950751099908102534503870307122722091500367748245994334978110135731254986773893135484912805445871108629304473856623828187900351532963099832738765340026207856536522212175430657154858935674419344029048660356655158745023493134965041095017110263367655748428435297182599911268443291629282066570921111054608690246953117594201007209628804405823625433848243579124338180764236566135725647975738668849736051341624980121989171766923836695599653672792018251124817168694878871047113735855429336566764875204268254646523738962425181295829126789719642208543546357790584710669337362533035029855296222669293873442811781308367782850895500613337588706194836345870075991633315324528879251203967637549175158992127732145880089042627337525101834282579431949760522546688345200982203120189105981332125044392769121198994766501874959173604335033799289074435003607711423786854529886039032829836988223136102310653452531639609134520685517353685850045554632998015951605287033052370545367993831992278877237788369670312748659057666689817703574410338117526025095790305711985230617904274741381323046329481680690641825908628822316421543217441594942705998643295175538415459782030342336049225842062853092997662778448093441970204031213387962810286987215724836984882488556582553904986309632907391547920193863095415160513398653349310183371178426446271717399690363084976520697055021753386750802271875427526796976929742267341449469622552711803209537372394494384678557867741162754971619869537497070957510431670478024526345028130378508205596548156507673967768038518492698683232616016214524713134584840067338336579621445593628938676076221573306152500857539794915394981927686211223158251707918440251200793886429983454590121398265612350880208148404607918726911170488629325564650270369689835917559845905251546822807175930961270996094347836304603093108766778410353836829228518364719603938462444584222989350746642677190144601867384375538227000866327125196982129257551380790734049271283126982397869650132959459403487405576956782656070922844636932024091702655800790875982205900077309749078209292465587731895622745046003568061184080828387840429048489207177007929462955978847525772867255607888407031507332843195189952636265440530894093491829551037749493278769429053759934572361889567451051 515664930953961108667829637951218788461283197952992447808070470077272027208987253517208963583424319970968036274752680056884028921013537934874656507614015236427306310886960217133396895290702317934033132932353450559407005400344686485484689028721691361970126363984939635740235097972495488730403433046704399503893059457713362357234224871611627685521029411851480688531277970634726738583497948539102408080885437772588523258719427384344426405550144700968565815529702821158821951586331410285764505432603163456622155246673200688903188175004670028774073840060407480722662091143066656074806905884856010589669397973884232364882391467371286630285612718066640453098312975446004481639011438907612002699954104875178664774979198176652155584405745899210189341216228227075586734957480278109056184781551223062990596372611094730508633247769036139637324215327969200997746290097179728889233450941278392735812968557836716660885914216952519567827581942332899721590902205231297835931808625846821334765502817323511238970702625969174602066656420597592505533761072576532220466633495090693766948920551960022923426900021012892836886866002014377155731900149498033504111315671504330189302737200638793578259514557804585317796137520436559035866297791910369132990369195776029124229309505602594977808333911521622654364115714387224756119294809878709542317458614553586556567487278742037094553494345704178405703206080215078837181394500444946443809959482903355752317868476331825019121430793917382548711694787566445570498349793714654849310486646607973981791821615069820746727721553155130898441572423443861086220697506568377549276488758374806548982529789514139258597227127399326675569896137023812312230604294839317404040774476666696461311422889355948956787707037546781173669715591807600151183771668082222296165464844003495758735071682172891127213249138273828129045063093709588925490518716788246063309082098391262072191620212517920736647680378566746688752541923774282118537711518926329383295478055682149465956799067169106232219554590141981611498616060456095546382066328356085168390433106162156483860035227941978911203105660068305173001567777360877566417733981494811483819597675119519029495714760408258218788941004830267693273014590751387258364179958134004000730996422068175877120268518457043272449964513708124784178285208034587224683681747685055109458090297283231093199058961700930118663907572730754794317771521409053646439318635215295512468100366921305211141934704150877553420026239092256768849600295666534439188365843917409877495208224711606887534095215361752817730940401886282896602052954594972438182524843588519575950818604156782856283539775036745607069050308894117133951910997347088853861290593751205889338425555453299270859722616118603239083730287607602594142353223722065712484999699631315091614732257815366012720364555124222887767882924729250754865219980099467298154099236671770316220515580409782572185247536316392741189141215784852563781959576256643225018974232734058867851483487357348048265577161086061829196558128046455763450531084411132641881844028977360684681917806869432912311971915989172613967360151579566151407456176912352079518432495734308602105871350471375410615291602293454705763619621855643701183342975358025861662220006504018652081002278525768453741353788540645633769833446151020521096745552236470665267388881282172806837881330683701673426954467054496666859116084498 834363385089876812176859172798426532305723441383578693795368688849457315748557609191320921994880857404962500997178539386306235614370185617700639568541175390307655052297270296061363516236884631213528815215094114271283395028259680047804443596921867022512236776098900347452748436015685495209545295781132623104995562986463662615675004014908625917824751925859109853038694221033755333644676019679697749322277667108087901577620570002819381666809222206619099628417167178154085243632981131336803280267366362568089352540426649058062567111164738564612739016243300164818549436928095587384566327707313455116230873523738535262319846895561508720486863698962455501767329200407369483045254382993550966528617542195788303574222317877032480905638916730149487133469612355576461419886665663256999560530632493619388204297675839287760558997366796506683831188315599416512537181970505681330089572529937728159632138492936182539590369182548653023845867725420180348873732878090275025100831083121080252195124180168195684058246036679434067016713583860014894600774835173426718384538663593573521453777331902326578806045492896182416289694183458327906831808252032537374418438393595830557050983194973771688395245812791359210931622433242004906974927096384225756818557096127562087329142244367935004016190448043834829794772869246160430538638838927369898972617359577079691532528373759147357921150094132613702885805991483522128810676567015867554864568173150308869912069483541453823527254419351230792290819125747209807064485519362630587979336382659315606771943604241587670564417152808803690459823548261029781099568553682113404705825325139681753250784436037878221022408423228453465289538345567358670021189005508654766573809506521992683980716762798760738096074820397676674283053180513794987529641744073855611489993723254699726372620857331883254945395018362870756382588195543871504922468477310792751654283080594382261297601544642965129416801577561513190627501097378617152337000593361332991006901842536679351995831897006094455355656900795434143138225194976781063735752178401639801388449057767443516912405773309972743195384537306093542671880526019935233107551685069221821937123700215309335207699991026162493530322327876597174953705232577295887186496379677221442325939128066819172295806933916825302792300562933966847031378205697365672777123717889086322846053107570218308923895946583418675246461477717064427225163069329247509534733795728694165817410550292483637588206421550567916505002759789311790602987046468806314615892640894339619762549674181229440245898424899125212225325080444150637764807926214841975679595801098951246428843130501810986662047980633293763576724276662155652444609680579704870075815306885790729405763892032920716453351554794679460657036440108460133937268618703993398696222857883023010054983458609252442703819145245621153380233804937399159473138707010637786783424801322040685910351497969628477436794359123568672150412211879200400086562669365410003429328069563287386216203091295810492849800150436808471873748272648323147826069311411998969007041011106618236062708540918704195438954313858822746926819555066971728364238832983274924155364519826011257906662226453581310692601351371663998229207353751266446229346543419209942490607846933067141288179286455231409720201314313512889377721853182527853939940742189106930707919775375664636388919080176980442856008226989069028748683535549 1350028316043837920844688810749645320767006639336571141603439158926729342957544862708529885578305177375930537271931219443190264535383723552575296076155190626734961363184230513194760411527586949147561948147447564830690400428604366533289132625643558384482363140083839983192983533988180983939948728827837022608888622444177024972909228886520253603345781337710590541569972191668482072228173968218800157403163104880676424836339997387163808072359366907587665443946869999312907195219312541622567785699969526024711507787099849746965755286169408593386812856303707645541211528071162243459373233592169465705900271497622767627202238362932795350772476417029095954865642175853373964684265821901162969228571647070966968349201516053684636490044662629359676474685840582652048154844145941366055745312183716682378800670286934018269192245135832646321155403643568617510283472067685410219323023471216120895445107050772899200476283399501172591673449667753080070464635083321572861032639708967901586960626997491706923028948662648608669083370004457607400134535907749958938851172158684267288402697883862349502232945513909075253176560185472705062563708401530570878529754065100160746353720395612565266654760370595944528727759953678563942841224888294594889808926291903591211558451749970529981824524359565457484158888583633385186657933648806079441290075974130666248100015652501184452474644439836792108589012071698600965992071067460813998674527656053664622229937959873278842648685213268613341002513913313655377562835313077285437289823029267289588563765219311408417292138705963934588901395971704890867320266060250490953982314083514488302233314225552017479619635550627780140859434482591170982251793300347972170614583983188689145292139652154709694883781857944457847952768772321395138713413412156077907655458567258195485107692539504774382158644156636698885427651289253460430412987194099038814963365178985644333489221757160885866064481956128259879380043021152899270874712112287662374302379898218828817952630964175200687575211490937415754636841255432876610117818506757724969778882163929600000772441001251951654398490197374398715673448303380812799525285666564033305756721375334828364703414751434420712319263332706864868226719823328683145550676337811225443056935550134995049416075452373868575242265076642091631209663413731952897460805465574141432304143404853449402122954908284348793910369050447819221542934590738301155974052430943989678285510917213788848730141125701445469925028998881568559452587342135340753804258484811749497257757898892836327779993640260878029956265482330433534366860880809814413862120644687470822379661734658593842945587755670039370645774585556272786396520677926793723937105900636996618744189447486219987313074170913282699740766727716062728079621842426059111181222557514338101669715716424618455424183700369844041148116729666649914338358687110105084937524037993811002130867078379411049622041895439961413339553427664052963868522245622053228448302302297346254067686578653158541115377311522870301070306400694778911276600395823131610888885040083978920744626347788137107750926229847995360894179706646537879771695009895627003673797015560319860012533576924956721307892953665118703992826975606910147412689518777235804152827853437085793369181564980999863461555102854158523147555299333548375036686294425577595975308656657837443226800410860682116282962694043565695607799620047 2184391701133714733021547983548071853072730080720149835398807847776186658706102471899850807573186034780893038269109758829496500149753909170275935644696366017042616415481500809256123927764471580361090763362541679101973795456864046581093576222565425406994599916182740330645731970003866479149494024608969645713884185430640687588584232901428879521170533263569700394608666412702237405872849987898497906725440771988764326413960567389983189739168589114206765072364037177466992438852293672959371065967335888592800860327526498805028322397334147157999551872547007810359760964999257830843939561299482920822131145021361302889522085258494304071259340115991551456632971376260743447729520204894713935757189189266755271923423833930717117395683579359509163608155452938228509574730811604623055305842816210301767004967962773306029751242502629153004986591959168034022820654038191091549412596001153849055077245543709081740066652582049825615519317393173260419338367961411847886133470792088981839155751177659902607087194699328042736100083588317622294735310742923385657235710822277840809856475215764676081038991006805257669466254368931032969395516653563108252948192458695991303404703590586336955050006183387303739659382386920568849816151984678820646627483388031153298887593994338464985840714807609292313953661452879545617196572487733449340262693333707745939632544026260331810395794533969405811474818063182123094802747634476681553539095829203973492142007443414732666175939632619844133293333039060865184627320832439916025269159411926605195335708823552996087856555858772738279361219519965920648419834613932604358688139408654170055484098661589895700642043973856233606148972828158529652272982305856626937188393489710681829272856414953470432979856678342134522235821952835190126243055156229933519145452290512895211480313396836657637104039174999569641810239484797331935335455671409831566617648259580026594786823301803850995481283533689773070007544118531516423211712705648995365309281740755508169948462861181295142930868391732849897775066450409657673853570685159364771167331221697043517684846774561924397593874734680492258345328829400748032632837351633255127693845075550137699911114742460583205849585660583462043180425055905979032737172717488446885382874678201814221711882386290693878034565639576058478241041619429318570237929183463227755150196512423667711046850854867767469156830528164883648768097660067548665508786226672683844102921467506272486318347547252013386430031758670880350055574388604147068420151125706089117020307573074065768025892065160003242181590562774584172131668807024656389541716445786422068808504865160404829607635736303333134222498862218428438841130358506498594012921207522787348149953339519140703766425725707962160397803167824522862016890461130052509877445415397361111724699175033870898128002845615465194528350534604049073811497394120742871720948839315851688041218576349039527058836254563530085489965639543253363955084914987463231877630371860633640283889669948969033965177461959678772944054673343102059102669707235130579895926051190597156807334888706841303189880543706818107820999261713509608135933842878901927829161535386331117919195803378538032000494305036782702222034329358176593642036062196445746643435700370152934657360851436231273181756417167671412525277152516076228976627036614684526683228432033502079615719491037662559138970921032634724356483155596 3534420017177552653866236794297717173839736720056720977002247006702916001663647334608380693151491212156823575541040978272686764685137632722851231720851556643777577778665731322450884339292058529508652711509989243932664195885468413114382708848208983791476963056266580313838715503992047463089442753436806668322772807874817712561493461787949133124516314601280290936178638604370719478101023956117298064128603876869440751250300564777146997811527956021794430516310907176779899634071606214581938851667305414617512368114626348551994077683503555751386364728850715455900972493070420074303312794891652386528031416518984070516724323621427099422031816533020647411498613552114117412413786026795876904985760836337722240272625349984401753885728241988868840082841293520880557729574957545989111051154999926984145805638249707324298943487638461799326141995602736651533104126105876501768735619472369969950522352594481980940542935981550998207192767060926340489803003044733420747166110501056883426116378175151609530116143361976651405183453592775229694869846650673344596086882980962108098259173099627025583271936520714332922642814554403738031959225055093679131477946523796152049758423986198902221704766553983248268387142340599132792657376872973415536436409679934744510446045744308994967665239167174749798112550036512930803854506136539528781552769307838412187732559678761516262870438973806197920063830134880724060794818701937495552213623485257638114371945403288011508824624845888457474295846952374520562190156145517201462558982441193894783899474042864404505148694564736672868262615491670811515740100674183095312670453492168658357717412887141913180261679524484013747008407310749700634524775606204599107802977472899370974564996067108180127863638536286592370188590725156585264956468568386011426800910857771090696588005936341432019262683331636268527237890774050792365748442865508870381581013438565670928276045058964736861545765489818032949387587139684415694086424817936657739611661638974336987901093825356495830506079882670265652411907705842534283971389191917089740946213385626643518457287775813876051992364932054890974018777132781560832158123018197288433450566450884966064614529493895003918168848993290326911407144879234662178287849055299672328439810228336809271127957838664562453276830716218150109450705033161271467698734649037369187454339917277117113169805763152116263067199578612702870311032250805849821482838657616673522388432384720061335048488672953458856355060757552448909508161730739487822224409610517838614278065471966902095805885705420881272137856045105017706498529687834470803403837090473892891188166599818998672553223491973372504868273447774701225237651036433292317950027108159783966894142787005360691079499896621244860138569895540585590096512303556111621058667972911699213394414891458489353552186545985309235676467264270698988149856081230847956658472877309662690172085654728450576680878150003491498829519067207306327823607160609516460325932674157979894351576248602127575080554773482549074014361074037880970379270103058262190784811091274576077551961236494978410940806773554813468715178968360047487907628852774528931502958550946650977931729380303494753308387258701901406214861304965086741054725580973681550796263553807238728026542416417231136643311520021829935672832451849624604013313331040262122658537088691339522842519901898344675421933615076200419964282775643 5718811718311267386887784777845789026912466800776870812401054854479102660369749806508231500724677246937716613810150737102183264834891541893127167365547922660820194194147232131707008267056530109869743474872530923034637991342332459695476285070774409198471562972449320644484447473995913942238936778045776314036656993305458400150077694689378012645686847864849991330787305017072956883973873944015795970854044648858205077664261132167130187550696545136001195588674944354246892072923899887541309917634641303210313228442152847357022400080837702909385916601397723266260733458069677905147252356191135307350162561540345373406246408879921403493291156649012198868131584928374860860143306231690590840742950025604477512196049183915118871281411821348378003690996746459109067304305769150612166356997816137285912810606212480630328694730141090952331128587561904685555924780144067593318148215473523819005599598138191062680609588563600823822712084454099600909141371006145268633299581293145865265272129352811512137203338061304694141283537181092851989605157393596730253322593803239948908115648315391701664310927527519590592109068923334771001354741708656787384426138982492143353163127576785239176754772737370552008046524727519701642473528857652236183063893067965897809333639738647459953505953974784042112066211489392476421051078624272978121815462641546158127365103705021848073266233507775603731538648198062847155597566336414177105752719314461611606513952846702744175000564478508301607589179991435385746817476977957117487828141853120499979235182866417400593005250423509411147623835011636732164159935288115699671358592900822828413201511548731808880903723498340247353157380138908230286797757912061226044991370962610052803837852482061650560843495214628726892424412677991775391199523724615944945946363148283985908068319333178089656366722506635838169048130258848124301083898536918701948198661698145697523062868360768587857027049023507806019395131258215932117298137523585653104920943379729845157849556686537790973436948274403115550186974156252191957824959877076454512113544607323687036142134550375800449586239666735383232364105962182308864790960369830543561144411526435103764525644236355587124018434653873788954587569935140641211025021772788119213822684906538623492839840224955256331311396355794208587691746652590590037936663832500596942604536429700784824216656618019883732224030106777586519079129910873398486991624884289357366491353852226333821366836220205472242785092516223329259563736119343634890644560736223927731298373045040967863831777770580884514319446607879601878630198494859127192945553536260314959996671464979403502160859228276705639090772309993129664078781394939790911962948315682571315044096126524501394845925622329207020536373063365108452113402764686164130936113388309060325119114066492360251680189391600774430204817798874748061961353475351590828379421716625514378213304231077490103739714404567021584319484706750559691778692075596979692203563046018613534635465918551096609045732235442227846958415747380983029481939810293392770680737142465173234359296125201819714130687317261631576536178230073557096043562695653430859332120086332982095850925183682032785308881563738684108436895634323263334696761643170127297439699254177391662683903267853462409825067937189501348198109604365700832989940367654946649341765520724841602458239392936007234560904536108835144320765931239 9253231735488820040754021572143506200752203520833591789403301861182018662033397141116612193876168459094540189351191715374870029520029174615978399086399479304597771972812963454157892606348588639378396186382520166967302187227800872809858993918983392989948526028715900958323162977987961405328379531482582982359429801180276112711571156477327145770203162466130282266965943621443676362074897900133094034982648525727645828914561696944277185362224501157795626104985851531026791706995506102123248769301946717827825596556779195909016477764341258660772281330248438722161705951140097979450565151082787693878193978059329443922970732501348502915322973182032846279630198480488978272557092258486467745728710861942199752468674533899520625167140063337246843773838039979989625033880726696601277408152816064270058616244462187954627638217779552751657270583164641337089028906249944095086883834945893788956121950732673043621152524545151822029904851515025941398944374050878689380465691794202748691388507527963121667319481423281345546466990773868081684475004044270074849409476784202057006374821415018727247582864048233923514751883477738509033313966763750466515904085506288295402921551562984141398459539291353800276433667068118834435130905730625651719500302747900642319779685482956454921171193141958791910178761525905407224905584760812506903368231949384570315097663383783364336136672481581801651602478332943571216392385038351672657966342799719249720885898249990755683825189324396759081885026943809906309007633123474318950387124294314394763134656909281805098153944988246084015886450503307543679900035962298794984029046392991486770918924435873722061165403022824261100165787449657930921322533518265825152794348435509423778402848549169830688707133750915319262613003403148360656155992293001956372747274006055076604656325269519521675629405838272106696286021032898916666832341402427572329779675136711368451338913419733324718572814513325838968782718397900347811384562341522310844532605018704182145750650511894286803943028157073381202598881862094726241796349068993544253059757992950330554599422326189676501578604598790274206382883094963869696949083388027831994594977977320069829140173730250591042187283647164115865994714814375303389312870828087791542262495134875432763967798063619818784588227072012358697142451685751861505635398481537966130058876346977901937386462381171999995291229685390289389390162161679248308474463541906030888879786236946395156415324893158931099140153273775778169071897850083122712868970346741766345576438517007869959637663476001765786457302652984619585128728182693597996349390626734207851184838064798402174714082720250078143959045757767830889316432431373083229912975423842355281938238913529862085925425518950451880674942958905694042209915068242275751994781361220759538513528957950849605232375937586083665881285063145447050111209556582438785037894593935177068385389885805940680420592554570513083149003773957866019602299236206496152529495720176593428987042167153224184126287008924776920972776821418863999861209913351654961465548233739749311911257361696798125071494090816445045251357198433604583951191548427959790835078637279633073782654563985527538617268822440585514651756939288350075751487224143808848235962807984630390710445684270693546468379457211331283870942056215325437003253698695208772000302609416181125300759294834351909982838151185035564285048706882 14972043453800087427641806349989295227664670321610462601804356715661121322403146947624843694600845706032256803161342452477053294354920716509105566451947401965417966166960195585864900873405118749248139661255051090001940178570133332505335278989757802188420089001165221602807610451983875347567316309528359296396086794485734512861648851166705158415890010330980273597753248638516633246048771844148890005836693174585850906578822829111407372912921046293796821693660795885273683779919405989664558686936588021038138824998932043266038877845178961570158197931646161988422439409209775884597817507273923001228356539599674817329217141381269906408614129831045045147761783408863839132700398490177058586471660887546677264664723717814639496448551884685624847464834786439098692338186495847213443765150632201555971426850674668584956332947920643703988399170726546022644953686394011688405032050419417607961721548870864106301762113108752645852616935969125542308085745057023958013765273087348613956660636880774633804522819484586039687750527954960933674080161437866805102732070587442005914490469730410428911893791575753514106860952401073280034668708472407253900330224488780438756084679139769380575214312028724352284480191795638536077604434588277887902564195815866540129113325221603914874677147116742834022244973015297883645956663385085485025183694590930728442462767088805212409402905989357405383141126531006418371989951374765849763719062114180861327399851096693499858825753802905060689474206935245292055825110101431436438215266147434894742369839775699205691159195411755495163510285514944275844059971250414494655387639293814315184120435984605530942069126521164508453323167588566161208120291430327051197785719398119476582240701031231481249550628965544046155037416081140136047355516017617901318693637154339062512724644602697611331996128344907944865334151291747040967916239939346274277978336834857065974401781780501912575599863536833644988177849656116279928682699865107963949453548398434027303600207198432077777379976431476496752785856018346918199621308946069998765173302600274017590741556876565476951164844265525657438746989057146178561740043757858375555739389503755173593665817966606178166205718301037904820582284749515944600337892600875910756085180041414056256807638288575075115899623427806567284834198338342451543572062314038563072663412776678686761603118999191883727515259792167875908469292072552646795466088426195388255371140089172728977782161113364403341925245789999107428635633969426757603513531082965694076874811562048837823469441246582650300776749260864221463758926677552725189294944162994522811181509529777805676874941948526783783049818067760960553395213826312874141875923739524926596982335040054363480771351141279658901211316022270802494323317832928439882930894749529819863632643024443209856912565329186858096086102862020195112072563031934029613417316310560691446598694116883430784160306959137534667468488480708425711380991311803475844733058766195206963622508085704320793172019244367004767931192568799847029343149723645047732146285376204922546270553486898617839202181408078076621787535428507161679994754244081390650167198723612615169633579747667560323926150386179269623088652573611613410448248867313936145675662062162022053394348952124155956293447394400832632069051660581026269993194066350155421342068130141022727758998687770359144543742687293870708605814638121 24225275189288907468395827922132801428416873842444054391207658576843139984436544088741455888477014165126796992512534167851923323874949891125083965538346881270015738139773159040022793479753707388626535847637571256969242365797934205315194272908741195178368615029881122561130773429971836752895695841010942278755516595666010625573220007644032304186093172797110555864719192259960309608123669744281984040819341700313496735493384526055684558275145547451592447798646647416300475486914912091787807456238534738865964421555711239175055355609520220230930479261894600710584145360349873864048382658356710695106550517659004261252187873882618409323937103013077891427391981889352817405257490748663526332200371749488877017133398251714160121615691948022871691238672826419088317372067222543814721173303448265826030043095136856539583971165700196455645669753891187359733982592643955783491915885365311396917843499603537149922914637653904467882521787484151483707030119107902647394230964881551362648049144408737755471842300907867385234217518728829015358555165482136879952141547371644062920865291145429156159476655623987437621612835878811789067982675236157720416234309995068734159006230702753521973673851320078152560913858863757370512735340318903539622064498563767182448893010704560369795848340258701625932423734541203290870862248145897991928551926540315298757560430472588576745539578470939207034743604863949989588382336413117522421685404913900111048285749346684255542650943127301819771359233879055198364832743224905755388602390441749289505504496684981010789313140400001579179396736018251819523960007212713289639416685686805801955039360420479253003234529543988769553488955038224092129442824948592876350580067833628900360643549580401311938257762716459365417650419484288496703511508310619857691440911160394139117380969872217133007625534183180051561620172324645957634748581341773846607758011971568434425740695200235237294172678050159483956960568054016627740067262206630274793986153417138209449350857710326364581323004588549877955384737880441644441417658015063543018233060593224348145340979202755153452743448864315931645129872152110048258689127145886207550334367481075243422805991696856769208393001948202020686576999563891247989650763428963702298347675176289489020775436352194893900487850499818925981976650024094313049207460795576529202722289123656588698989581380363883722806489477558165297859454234231895103940551968101419144250926326119124134197486006523334441065399063774885597707531819509880316382501429707460422451250079056707783107104722584416087234051913848841048887654860246323185644334789728730662366347594576207851589024668776861927008863825528791442711646257685957371788899163367281878920573953584225566696776660230110781886258981176496536533232901170715634925676110750579402146171982394059462144941266772941761967387925165642162183772588516468398455210904495868514984084002689371464580899513708047750617492254666291730983290548009971997262554486371800392609550252857544977298306253291781688903969390218711029204359636996702693611833609944671858181810848595415964273675498894521667038892626940766263945945792509350441002277360892248243416234311653087862543419208619855137740409512899963486199736091457744993911624870146652444104794636394849502761826851612163915939993716796351706996447765045364193342370739557203853059757982604711054526580838478906272890863345003 39197318643088994896037634272122096656081544164054516993012015292504261306839691036366299583077859871159053795673876620328976618229870607634189531990294283235433704306733354625887694353158826137874675508892622346971182544368067537820529551898498997366788704031046344163938383881955712100463012150539301575151603390151745138434868858810737462601983183128090829462472440898476942854172441588430874046656034874899347642072207355167091931188066593745389269492307443301574159266834318081452366143175122759904103246554643282441094233454699181801088677193540762699006584769559649748646200165630633696334907057258679078581405015263888315732551232844122936575153765298216656537957889238840584918672032637035554281798121969528799618064243832708496538703507612858187009710253718391028164938454080467382001469945811525124540304113620840159634068924617733382378936279037967471896947935784729004879565048474401256224676750762657113735138723453277026015115864164926605407996237968899976604709781289512389276365120392453424921968046683789949032635326920003685054873617959086068835355760875839585071370447199740951728473788279885069102651383708564974316564534483849172915090909842522902548888163348802504845394050659395906590339774907181427524628694379633722578006335926164284670525487375444459954668707556501174516818911530983476953735621131246027200023197561393789154942484460296612417884731394956407960372287787883372185404467028080972375685600443377755401476696930206880460833440814300490420657853326337191826817656589184184247874336460680216480472335811757074342907021533196095368019978463127784294804324980620117139159796405084783945303656065153278006812122626790253337563116378919927548365787231748376942884250611632793187808391682003411572687835565428632750867024328237759010134548314733201630105614474914744339621662528087996426954323616392998602664821281120120885736348806425500400142476980737149869772541586993128945138417710132907668749962071738238743439701815572236752951064908758442358702981020026374708170593898788562641038966961133541783406363193498365736082536079320630403908293129841589083876861209256226820429170903744583106073756984830417016471809663462947374598720249239925507159284313407192589988656029839613054432855217703545277583074640769969016387473927625493266810848362436764592779523109615092275385701900335275460592700379555767450321749269726041206328746306784541899406640394296807399622066415291853111979647119887737782990644853773993026343165788936637919896032512673154499326061641105545606576545969167066388010801174713062512646581537799048374939278952723253473547857124354013528463966617303645710058681893289751996106860083998831513664822902892208475902908993638589047468127801509769683097575003447299030856550734099155517856570860280399265778815006837269319057506595959799858053490787185837274256335620450498011872527215056559961582778119572802248741206472845582418085980735374717442364281859813447841995613252567007356232058338561865770470325497658786456835161959018558058547509360641750425758118986149594404452364335494033803475856906972598288826428055447927943940700036590741091169476084504863413049814059320648186469569594799124760829062086511576896647984958771681139587286932308674497499143588519005459055274246012996548009045377377377976989641831395519614684438869698226580818756670375070199070323525772776981496677983124 63422593832377902364433462194254898084498418006498571384219673869347401291276235125107755471554874036285850788186410788180899942104820498759273497528641164505449442446506513665910487832912533526501211356530193603940424910166001743135723824807240192545157319060927466725069157311927548853358707991550243853907119985817755764008088866454769766788076355925201385327191633158437252462296111332712858087475376575212844377565591881222776489463212141196981717290954090717874634753749230173240173599413657498770067668110354521616149589064219402032019156455435363409590730129909523612694582823987344391441457574917683339833592889146506725056488335857200828002545747187569473943215379987504111250872404386524431298931520221242959739679935780731368229942180439277275327082320940934842886111757528733208031513040948381664124275279321036615279738678508920742112918871681923255388863821150040401797408548077938406147591388416561581617660510937428509722145983272829252802227202850451339252758925698250144748207421300320810156185565412618964391190492402140565007015165330730131756221052021268741230847102823728389350086624158696858170634058944722694732798844478917907074097140545276424522562014668880657406307909523153277103075115226084967146693192943400905026899346630724654466373827634146085887092442097704465387681159676881468882287547671561325957583628033982365900482062931235819452628336258906397548754624201000894607089871941981083423971349790062010944127640057508700232192674693355688785490596551242947215420047030933473753378833145661227269785476211758653522303757551447914891979985675841073934221010667425919094199156825564036948538185609142047560301077665014345467005941327512803898945855065377277303527800192034105126066154398462776990338255049717129454378532638857616701575459475127340747486584347131877347247196711268047988574495941038956237413402622893967493494360777993934825883172180972387163945219637152612902098985764149535408817224278368513537425855232710446202301922619084806940025985608576252663555331779230207082456624976197084801639423786722713881423515282075783856651741994157520729006733361366275079118298049630790656408124465905660439277801360319716582991722197441946193736283877298440579639419458803315352780530393993034298358510992964862916875324427444419248787498386531077641986983905191621478107991023991864159582281759919651173128238747284206504188200541016437003347192362398226543872992741410977246177133126411072224056043917548878624050697608446518236278533942380614921777311720162253389683650691751482475244853088561903561534236398045371560583613742451984135914204718930221380052991286080507637067545718818543438818506341684788885453722066259490354823482947222814614164904461739880464983833984623795567389783635269871152782246971030978667924986989231328781202447862732741620020878712351479436440108208966966410327738119552428476566862122262173713322105986553630168703472990041009173347572407823419839258167738938807748841608591419410747768631750950568145739131349237269087751868997638453119369952596094266262634175184089449767749532405867119955865320682388694207886645829100091532171753445397111656466048370973736049012988803418979898569471599411540382847721050229426133498911802455326941603938224913854961817101097625160463949039094173729683986089596440883808026809609255430433878514652979781253596904364251683254387541328127 102619912475466897260471096466376994740579962170553088377231689161851662598115926161474055054632733907444904583860287408509876560334691106393463029518935447740883146753239868291798182186071359664375886865422815950911607454534069280956253376705739189911946023091973810889007541193883260953821720142089545429058723375969500902442957725265507229390059539053292214789664074056914195316468552921143732134131411450112192019637799236389868420651278734942370986783261534019448794020583548254692539742588780258674170914664997804057243822518918583833107833648976126108597314899469173361340782989617978087776364632176362418414997904410395040789039568701323764577699512485786130481173269226344696169544437023559985580729642190771759357744179613439864768645688052135462336792574659325871051050211609200590032982986759906788664579392941876774913807603126654124491855150719890727285811756934769406676973596552339662372268139179218695352799234390705535737261847437755858210223440819351315857468706987762534024572541692774235078153612096408913423825819322144250061888783289816200591576812897108326302217550023469341078560412438581927273285442653287669049363378962767079989188050387799327071450178017683162251701960182549183693414890133266394671321887323034627604905682556888939136899315009590545841761149654205639904500071207864945836023168802807353157606825595376155055424547391532431870513067653862805509126911988884266792494338970062055799656950233439766345604336987715580693026115507656179206148449877580139042237703620117658001253169606341443750257812023515727865210779084644010259999964138968858229025335648046036233358953230648820893841841674295325567113200291804598804569057706432731447311642297125654246412050803666898313874546080466188563026090615145762205245556967095375711710007789860542377592198822046621686868859239356044415528819557431954840078223904014088379230709584419435226025649161709537033717761224145741847237403474282443077567186350106752280865557048282682955252987527843249298728966628602627371725925678018769723495591937330626585045786980221079617506051361396414260560035123999109812883594570622501899547468953375373762481881450736077455749611023782663957590442446681871700895568190705633169628075488642928407213385611696579575941585633734831933262798355069912515598346748967842234766507014806713753493692924327139620174982139475418623449988017010247710516946847800978902753832756695033943495059156702830358156780246298810007046688771322871650393863397383156156174566455053769421103373361267798996260196660918548863255654263274966074180817935844419935522892695175237609462061843284234908516957903384153347126227612108295434925366425683620399118544969151698830726391940861403661633032263249650148081408988071094598246334369369026670638817831311377933703801996068598100259954458692541478074369499537316710696443829417464422200265334608988438149640241834975962063312459399212586789453725415726615711854267636867681253780991505815105073666929981276518238957248609354602574293308255827146299378358280203545128071582243860667086539519583483571225389312839718244691748737836622151827345865690832623341229529901975069515862430294384235482558398218104659398533685923117279495706009001107273086198734764001439103081813432860420872375343638157011958084471551107660975731427836403422711248478953657014697271323354851452667227890024460235884219311251 166042506307844799624904558660631892825078380177051659761451363031199063889392161286581810526187607943730755372046698196690776502439511605152736527047576612246332589199746381957708670018983893190877098221953009554852032364700071024091977201512979382457103342152901277614076698505810809807180428133639789282965843361787256666451046591720276996178135894978493600116855707215351447778764664253856590221606788025325036397203391117612644910114490876139352704074215624737323428774332778427932713342002437757444238582775352325673393411583137985865126990104411489518188045029378696974035365813605322479217822207094045758248590793556901765845527904558524592580245259673355604424388649213848807420416841410084416879661162412014719097424115394171232998587868491412737663874895600260713937161969137933798064496027708288452788854672262913390193546281635574866604774022401813982674675578084809808474382144630278068519859527595780276970459745328134045459407830710585111012450643669802655110227632686012678772779962993095045234339177509027877815016311724284815068903948620546332347797864918377067533064652847197730428647036597278785443919501598010363782162223441684987063285190933075751594012192686563819658009869705702460796490005359351361818015080266435532631805029187613593603273142643736631728853591751910105292181230884746414718310716474368679115190453629358520955906610322768251323141403912769203057881536189885161399584210912043139223628300023501777289731977045224280925218790201011867991639046428823086257657750651051131754632002752002671020043288235274381387514536636091925151979949814809932163246346315471955327558110056212857842380027283437373127414277956818944271574999033945535346257497362502931549939850995701003439940700478928965553364345664862891659624089605952992413285467264987883125078783169178499034116055950624092404103315498470911077491626526908055872725070362413370051908821342681924197662980861298354749336389238431978486384410628475265818291412280993129157554910146928056238754952237178880035281257457248976805952216913527711386685210766943793498929566643472198117211777118156630541890327931988776978665767003006164418890005916641737895027412384102380540582164644123817894631852068004073749267494947446243759993916005689613874300096626699694850138122782514331764385845135498919876753490919998335231601683948319003779757263899395069796578226764294454214705147388817415906101025119093260487368051898113807604333913372709882231102732688871750274444561005829674392453100397434384342880685081430052385943847352670031338500507351836869635715054333889791496106506437627221745376266562214456288569949189464660984193773330926838873743872767368409284572267035411189185549874888084218275797936724989530613065242972694890165636118004638897823421064802342356601628788985299926881462402321425283098095248211888796147136552038384430832528003454161416914716502364097149675385418445952842755492926715456735789059426675460287520511948730444622853915275521400687266007588999559922748313424657493096234051247355918656664498024178338126929720714703672933338974921718706838200557069420225316359713991694790924155512982975299086725981910801268120284495547201637084557968005285334657662343427059230533406585110537219328380707020038346715382689476441263317475907123565724837344961821024277287230738058088209087448575785976334632706264132254276143490271760639378 268662418783311696885375655127008887565658342347604748138683052193050726487508087448055865580820341851175659955906985605200653062774202711546199556566512059987215735952986250249506852205055252855252985087375825505763639819234140305048230578218718572369049365244875088503084239699694070761002148275729334712024566737756757568894004316985784225568195434031785814906519781272265643095233217175000322355738199475437228416841190354002513330765769611081723690857477158756772222794916326682625253084591218016118409497440350129730637234102056569698234823753387615626785359928847870335376148803223300566994186839270408176663588697967296806634567473259848357157944772159141734905561918440193503589961278433644402460390804602786478455168295007611097767233556543548200000667470259586584988212180747134388097479014468195241453434065204790165107353884762228991096629173121704709960487335019579215151355741182617730892127666774998972323258979718839581196669678148340969222674084489153970967696339673775212797352504685869280312492789605436791238842131046429065130792731910362532939374677815485393835282202870667071507207449035860712717204944251298032831525602404452067052473241320875078665462370704246981909711829888251644489904895492617756489336967589470160236710711744502532740172457653327177570614741406115745196681302092611360554333885277176032272797279224734676011331157714300683193654471566632008567008448178769428192078549882105195023285250256941543635336314032939861618244905708668047197787496306403225299895454271168789755885172358344114770301100258790109252725315720735935411979913953778790392271681963517991560917063286861678736221868957732698694527478248623543076144056740378266793569139659628585796351901799367901753815246559395154116390436280008653864869646573048368124995475054848425502670981991225120720984915189980136819632135055902865917569850430922144251955779946832805277934470504391461231380742085444096596573792712714421563951596978582018099156969329275812112807897674771305537483918865781507407007183135267746529447808850858337971730997747164873116435618004868612377771812242155740354773922502611278878213235956381538181371887367377815350777023407885044498172607090805689595527420258709706918895570436089172167207301617386193450241682260434526783400921137584244279984191884466762111519997934805048985095376872646143399932246038870488420028214781304701925222094236618394808854857875788294430863111054816637962490693619008692238149421460194621924838424403212830548627666852488153763984058442697851382204044013588580201756161615111835709895872269734211431629399132802459354838328405498691197086907092848814331320000943035134308669239193052029683690812004562888016276266828945621937430968988239180761146651960765984763882452374007924494059882633653734535332590981368524981722356780117824576169617711426112857832995867801895254728268788770405352866142605932125637448730905352055342282380440872462404771280943097155201765729721950437958988942451381963784246546248169277350887717965748923380350625714198860209626095760581987596807254223256416910200311031546556445248818158061938511541337560481756778854212505201061795497773231562504519978105599855189217366538971257774941839133068231640679671309271983329819810101851779575803561851784901474487865208037275945005937552452113690653449306567162744463273057299689484158931360144300603726155979950629 434704925091156496510280213787640780390736722524656407900134415224249790376900248734637676107007949794906415327953683801891429565213714316698936083614088672233548325152732632207215522224039146046130083309328835060615672183934211329140207779731697954826152707397776366117160938205504880568182576409369123994990410099544014235345050908706061221746331329010279415023375488487617090873997881428856912577344987500762264814044581471615158240880260487221076394931692783494095651569249105110557966426593655773562648080215702455404030645685194555563361813857799105144973404958226567309411514616828623046212009046364453934912179491524198572480095377818372949738190031832497339329950567654042311010378119843728819340051967014801197552592410401782330765821425034960937664542365859847298925374149885068186161975042176483694242288737467703555300900166397803857701403195523518692635162913104389023625737885812895799411987194370779249293718725046973626656077508858926080235124728158956626077923972359787891570132467678964325546831967114464669053858442770713880199696680530908865287172542733862461368346855717864801935854485633139498161124445849308396613687825846137054115758432253950830259474563390810801567721699593954105286394900851969118307352047855905692868515740932116126343445600297063809299468333158025850488862532977357775272644601751544711387987732854093196967237768037068934516795875479401211624889984368654589591662760794148334246913550280443320925068291078164142543463695909679915189426542735226311557553204922219921510517175110346785790344388494064490640239852356827860563959863768588722555518028278989946888475173343074536578601896241170071821941756205442487347719055774323802139826637022131517346291752795068905193755947038324119669754781944871545524493736179001360538280942319836308627749765160403619755100971140604229223735450554373776995061476957830200124680850309246175329843291847073385429043722946742451345910181951146400050336007607057283917448381610268941270362807821699361776238871102960387442288440592516723335400025764386049358416208514108666615365184648340810494983589360312370896664250434600055856879002959387702600261893284019553245804435791987425038754771734929507490159272326713780668163065383535415927201217623075807324541778887134221633539043920098576044370037019965681988273488854803384216697060820965147179689509938265558216606441545599156139927241625435810714955882994881554918231162952930445566824606991718574469252154149066372199282985409042504941080767249922538106864743524127903768147891366258611540256668966948705345610926603624002927735905570429681100214594967713147485656856282313475315513774273961973182413111960420438968263079039974077201826141717029840213228905713228711374211894933460874929518570378646822317480947435996091136961379966668451863184759101543107674264865923314909004969547906186326087256272242931822267582644970029275312834149351304898097775307156329198193830707618557442722277678452395060812904217972782651050254135247729200099201142623242019614401873070117516874124119938920114526527968926929350249175232750253394645805887578287254871255329255272680934367195480500148521479684032830624804473652801492273775334544256592432604182560127462174086256419809202658200517121890126291186251328226164791963772331603000782350899373476390977884187364655371831911848843276024116865195492398576747216427740590007 703367343874468193395655868914649667956395064872261156038817467417300516864408336182693541687828291646082075283860669407092082627987917028245135640180600732220764061105718882456722374429094398901383068396704660566379312003168351634188438357950416527195202072642651454620245177905198951329184724685098458707014976837300771804239055225691845447314526763042065229929895269759882733969231098603857234933083186976199493230885771825617671571646030098302800085789169942250867874364165431793183219511184873789681057577656052585134667879787251125261596637611186720771758764887074437644787663420051923613206195885634862111575768189491495379114662851078221306896134803991639074235512486094235814600339398277373221800442771617587676007760705409393428533054981578509137665209836119433883913586330632202574259454056644678935695722802672493720408254051160032848798032368645223402595650248123968238777093626995513530304114861145778221616977704765813207852747187007267049457798812648110597045620312033563104367484972364833605859324756719901460292700573817142945330489412441271398226547220549347855203629058588531873443061934669000210878329390100606429445213428250589121168231673574825908924936934095057783477433529482205749776299796344586874796689015445375853105226452676618659083618057950390986870083074564141595685543835069969135826978487028720743660785012078827872978568925751369617710450347046033220191898432547424017783741310676253529270198800537384864560404605111104004161708601618347962387214039041629536857448659193388711266402347468690900560645488752854599892965168077563795975939777722367512947789710242507938449392236629936215314823765198902770516469234454066030423863112514702068933395776681760103142643654594436806947571193597719273786145218224880199389363382752049728663276417374684734130420747151628740476085886330584366043367585610276642912631327388752344376636630256078980607777762351464846660424465032186547942483974663860821614287604585639302016605350939544753383170705496470667313722789968741894849295623727784469864847834615244387330147206261273539731800802653209422872755401602468111251438172937211334735092238915769240781633780651397368596581459199872469536927378825735197085686692585423487587058635819624588094408519240462000774783461147568748416939965057682820324354228904432444099793486789608433201792437693611290579621755977136046636634656326903858065149335862054205523810740870669849349094274007747083529315300610727266707401575609260994124121409812255335489708434102410691870848801966825755150351935379847191742012830582060541055506798873358214359365304703232140455052923373211838682743763375162289646833775216997107491082351153472468651953891044536965218102408545975462150659874701467892135358546894226859693401022752654746811540830069649825672293970948036976844907115881660932250434483634741021862802543773988221341984541031702227620448787575961400950282880256656953440057687597201660598601988561654597924043408174345498771893160424164614834500681495898477450088860588990942994752498784316377083750215699502102123335223150185767159375543781799951091054705736349193382796666815754437713221407985701210316977457264393129324451758401347462992701083227850207546021693195693814765927729081185988020327223741905866989813180011066266451637539640276727356836925928504668537636671222534576375121900575713601024126852542877350942583720540636 1138072268965624689905936082702290448347131787396917563938951882641550307241308584917331217794836241440988490611814353208983512193201631344944071723794689404454312386258451514663937896653133544947513151706033495626994984187102562963328646137682114482021354780040427820737406116110703831897367301094467582702005386936844786039584106134397906669060858092052344644953270758247499824843228980032714147510428174476961758044930353297232829812526290585523876480720862725744963525933414536903741185937778529563243705657871755040538698525472445680824958451468985825916732169845301004954199178036880546659418204931999316046487947681015693951594758228896594256634324835824136413565463053748278125610717518121102041140494738632388873560353115811175759298876406613470075329752201979281182838960480517270760421429098821162629938011540140197275709154217557836706499435564168742095230813161228357262402831512808409329716102055516557470910696429812786834508824695866193129692923540807067223123544284393350995937617440043797931406156723834366129346559016587856825530186092972180263513719763283210316571975914306396675378916420302139709039453835949914826058901254096726175283990105828776739184411497485868585045155229076159855062694697196555993104041063301281545973742193608734785427063658247454796169551407722167446174406368047326911099623088780265455048772744932921069945806693788438552227246222525434431816788416916078607375404071470401863517112350817828185485472896189268146705172297528027877576640581776855848415001864115608632776919522579037686350989877246919090533205020434391656539899641490956235503307738521497885337867409973010751893425661440072842338410990659508517771582168289025871073222413703891620488935407389505712141327140636043393455900000169751744913857118931051089201557359694521042758170512312032360231186857471188595267103036164650419907692804346582544501317480565325155937621054198538232089468187978928999288394156615007221664623612192696585934053732549813694653533513318170029089961661071702282291584064320301193200247860379630436688563414775382206347165987301550233367738990962780482148102423371811390591971241875156943381895673935416921842385894991859894575682150560664704575845964912137268255221701203160004021609736863537808099325240034702970050479008977781396368724265924398126088066975644411817418489498514576437759311265915401604853241097872503014205076577487490016238766623865551404267325436960677529096139907602445841176653729758327366323404395221297840430789201352333229977713545490953658918499826746105803282269499549009246401117725476982217287101210273661821555267518340924986168400619657475764962347549490959080673495463113892907620216970084511042419928550263005302363888780414696603509570441827687734622919593131301569129021777505645916809255350914705428708091874983204039924699349558055930867772091680174547429240813274634049888031432545990676263117029607961851537832994753530858792432696180212040646321086626740559584797378396947265884754816743627677549290003212232962609154371854433893957874335638422216649863192077115117408550776532053345736860593314636448254051996071027118647588603466201358838457141297223754128925411202839736768035627484442640150204253323155988852184148890388646220844345632032158176064508237231058415409871243277509707736299404895646421824035877906408286970743851737717889322344941454098159011461130643 1841439612840092883301591951616940116303526852269178719977769350058850824105716921100024759482664533087070565895675022616075594821189548373189207363975290136675076447364170397120660271082227943848896220102738156193374296190270914597517084495632531009216556852683079275357651294015902783226552025779566041409020363774145557843823161360089752116375384855094409874883166028007382558812460078636571382443511361453161251275816125122850501384172320683826676566510032667995831400297579968696924405448963403352924763235527807625673366405259696806086555089080172546688490934732375442598986841456932470272624400817634178158063715870507189330709421079974815563530459639815775487800975539842513940211056916398475262940937510249976549568113821220569187831931388191979212994962038098715066752546811149473334680883155465841565633734342812690996117408268717869555297467932813965497826463409352325501179925139803922860020216916662335692527674134578600042361571882873460179150722353455177820169164596426914100305102412408631537265481480554267589639259590404999770860675505413451661740266983832558171775604972894928548821978354971139919917783226050521255504114682347315296452221779403602648109348431580926368522588758558365604838994493541142867900730078746657399078968646285353444510681716197845783039634482286309041859950203117296046926601575808986198709557757011748942924375619539808169937696569571467652008686849463502625159145382146655392787311151355213050045877501300372150866880899146375839963854620818485385272450523308997344043321870047728586911635365999773690426170188511955452515839419213323748451097448764005823787259646602946967208249426638975612854880225113574548195445280803727940006618190385651723631579061983942519088898334233762667242045218394631944303220501683100817864833777069205776888591259463661100707272743801772961310470621774927062820324131735334888877954110821404136545398816550003078749892653011115547230878131278868043278911216778335887950659083489358448036704218814640696403684451040444177140879688048085663065095694994874824018710621036655746078966789954759656240494392565248593399540596309022725327063480790926184163529454586814290438967354191732364112609529386399901661532657497560755842280337022784592116018256103999808874108701182271718467418974035464216693078494828830570187860462434020250620281936208187728338933021892537651489875754199406872270225913349544221762577364736221253616419710968424612625455208213173107884055305367588360447525805033553175920497635454743921848562347457779414068851762125952995024282330131069787456624524350340431646466514976893962010320441714136824851144383032638054609181324707956188164577814267365376272170861129048007638030958808980764514548655116164495644928988721914594316320615883956315940562607575295742481549321862742405552998990864864972175133833192796952730574635454162768771225354306336277508480220121952077213399909864618804977890682350732519391034684741866638570364494801086058356690538821111880719255498239526154999378863801223905603906870638750271041624551337924318773198415227300884567926320313853296827915299050985641636848662886781556360810011451902569155434598561616883453377169604187199760736710712292847696225946518849803618111877971574634241171569373938025165877688248297324867047410883554237064573225333400314959460707100440984662092644427451318913449197484331449101595181671279 2979511881805717573207528034319230564650658639666096283916721232700401131347025506017355977277500774528059056507489375825059107014391179718133279087769979541129388833622621911784598167735361488796409371808771651820369280377373477560845730633314645491237911632723507096095057410126606615123919326874033624111025750710990343883407267494487658785436242947146754519836436786254882383655689058669285529953939535930123009320746478420083331196698611269350553047230895393740794926230994505600665591386741932916168468893399562666212064930732142486911513540549158372605223104577676447553186019493813016932042605749633494204551663551522883282304179308871409820164784475639911901366438593590792065821774434519577304081432248882365423128466937031744947130807794805449288324714240077996249591507291666744095102312254287004195571745882952888271826562486275706261796903496982707593057276570580682763582756652612332189736318972178893163438370564391386876870396578739653308843645894262245043292708880820265096242719852452429468671638204388633718985818606992856596390861598385631925253986747115768488347580887201325224200894775273279628957237062000436081563015936444041471736211885232379387293759929066794953567743987634525459901689190737698861004771142047938945052710839894088229937745374445300579209185890008476488034356571164622958026224664589251653758330501944670012870182313328246722164942792096902083825475266379581232534549453617057256304423502173041235531350397489640297572053196674403717540495202595341233687452387424605976820241392626766273262625243246692780959375208946347109055739060704279983954405187285503709125127056575957719101675088079048455193291215773083065967027449092753811079840604089543344120514469373448231230225474869806060697945218564383689217077620614151907066391136763726819646761771775693460938459601272961556577573657939577482728016936081917433379271591386729292483019870748541310839360840990044546519272287893875264943534828971032473884712816039172142690237732132810725493646112112146459432463752368386856265343555374505260707274035812037952426132777256309889608233383528029075547643019680834115919034722666083127545425128522231212281353249183592258688291679947064606237378622409698024097502038225944596137627992967537616973433941216974688517897983013245613061802760753228696275927438078432068038771434722764166098244287807939256343116852071909886475302490837034238001343988601772657883745147929102141721595115815618949060709035125915726770930200254851016351286836807077151826275892948733072987351588872058798306551829680079033857742249827322648933567725250555783565587960055061811019545002690113819571528874198915268838073277381258283892387831213559050057959509071986066878437435530861099154499430549602328939240209015257885069584385080941659290804672777447834261090865848069012099833182750852883598346727134337316200466167580970327396511652667942753476516939472580656515723677104263378183467380922078679216685581427826617941487917218059146604010314983153832548668867013456868213061242493184164999498886976346535423061607304416001976477096845906642564775892365622089890900658957808675008398614918103927993891739858840637582302580807026936528772338196735487846430199842005792470296026861963280462015915005970183341942196485528383282457282126831746772309524738295961381284742978347392949063388279189036802771542425785547260606642801922 4820951494645810456509119985936170680954185491935275003894490582759251955452742427117380736760165307615129622403164398441134701835580728091322486451745269677804465280986792308905258438817589432645305591911509808013743576567644392158362815128947176500454468485406586371452708704142509398350471352653599665520046114485135901727230428854577410901811627802241164394719602814262264942468149137305856912397450897383284260596562603542933832580870931953177229613740928061736626326528574474297589996835705336269093232128927370291885431335991839292998068629629330919293714039310051890152172860950745487204667006567267672362615379422030072613013600388846225383695244115455687389167414133433306006032831350918052567022369759132341972696580758252314134962739182997428501319676278176711316344054102816217429783195409752845761205480225765579267943970754993575817094371429796673090883739979933008264762681792416255049756535888841228855966044698969986919231968461613113487994368247717422863461873477247179196547822264861061005937119684942901308625078197397856367251537103799083586994253730948326660123185860096253773022873130244419548875020288050957337067130618791356768188433664635982035403108360647721322090332746192891064740683684278841728905501220794596344131679486179441674448427090643146362248820372294785529894306774281919004952826240398237852467888258956418955794557932868054892102639361668369735834162115843083857693694835763712649091734653528254285577227898790012448438934095820779557504349823413826618959902910733603320863563262674494860174260609246466471385545397458302561571578479917603732405502636049509532912386703178904686309924514718024068048171440886657614162472729896481751086458794475195067752093531357390750319123809103568727939990436959015633520298122297252724931224913832932596535353031239354561645732345074734517888044279714504545548341067817252322257225702208133429028418687298544389589253494001160093750150419172743308222446045749368361835371899528530590726941950947451421897330563152590636573343440416472519330439250369380084725984656848693698505099567211069545848727776093277668947183615989856841246098203457009311708954583109045502720320603375324622800901209333464507898911279907258779939782375248729188253646249071537425847542642399246406985316957048709829754881255582059266463787900512452318659053370930951894437177309700476907832992606271316758745528404186578459763921353337993911500164858897526754347050324028792056944764340493504087218456005288404192271784472261821073674838240406512487056203350998011793330834159811148821314366774177663080580034240227449745575908401769198635870689385722751874180710198906871457002651091648623660164558692342607057695990467880966831392986090647025594799428419271516923255560824899214201010146992656237401772353994640190239814089856712933984274967015943649836328921362588500084971691521887306604904991872789894830689916849337199461493614359454995897574502065663945317787050076228912676298178456039171027323265813222679987548047730814680773816968113131934436041123438314270854196260022531716886544403417159759939392691191416607731527749321844590231369208626370006497149326338420457521035679750411214136289509048909028335542656146360855596088407904833537914703187484379908208507819884733825708149504693010385983836882750071696276340745450078788377611156032706640355716220739910116996362201824473201 7800463376451528029716648020255401245604844131601371287811211815459653086799767933134736714037666082143188678910653774266193808849971907809455765539515249218933854114609414220689856606552950921441714963720281459834112856945017869719208545762261821991692380118130093467547766114269116013474390679527633289631071865196126245610637696349065069687247870749387918914556039600517147326123838195975142442351390433313407269917309081963017163777569543222527782660971823455477421252759568979898255588222447269185261701022326932958097496266723981779909582170178489291898937143887728337705358880444558504136709612316901166567167042973552955895317779697717635203860028591095599290533852727024098071854605785437629871103802008014707395825047695284059082093546977802877789644390518254707565935561394482961524885507664039849956777226108718467539770533241269282078891274926779380683941016550513691028345438445028587239492854861020122019404415263361373796102365040352766796838014141979667906754582358067444292790542117313490474608757889331535027610896804390712963642398702184715512248240478064095148470766747297578997223767905517699177832257350051393418630146555235398239924645549868361422696868289714516275658076733827416524642372875016540589910272362842535289184390326073529904386172465088446941458006262303262017928663345446541962979050904987489506226218760901088968664740246196301614267582153765271819659637382222665090228244289380769905396158155701295521108578296279652746010987292495183275044845026009167852647355298158209297683804655301261133436885852493159252344920606404649670627317540621883716359907823335013242037513759754862405411599602797072523241462656659740680129500178989235562166299398564738411872608000730838981549349283973374788637935655523399322737375742911404631997616050596659416182114803015048022584191946347696074465617937654082028276358003899169755636497293594862721511438558047085700428614334991204640269422707066618573165980874720400835720084715567702733417179683080262147390976675264737096005807192784859375595782805743885345433258692660731650931232344467379435456961159621306744494826635670690957165132926123092439254379711631276715001673852558916881489192889280529114136289902316956804037284413474673784391274242039075042820976583616221095503214940061955442816684016335287962739715338590884386697824805653716060535421597508416164176109458343226645220830895023612697765265341939766569383910006826628896068645439844411006005473375619419813989386205543255208623071309068898225501114133355245560043554939870070591637385989491227855172109024004985729513601965478005529141496361824260446890234388412865693752239073105786725840724369029881944056946523556166107753949976952952898271423526177886693953927849821119252194801033914472086079731377737179061063158667417638074075180722561002996374800198694502719927268089722837401172157689468276932301503525457837584166433788809780118009338036559259275757969446586023997003735657656739294239666373257230173927276128205833820096716597828137642030029355625118601040622325290617389619321629836132888520880514005666581957467083782229821418649980802398906377607241288110425143218078279298158617982331218241072818281387105763823389086346202861388558703931695501195165203399385878391849762081219354091431961975137217730609192274809992237722030193057135770560219420985829392518992282335902543622808467275123 12621414871097338486225768006191571926559029623536646291705702398218905042252510360252117450797831389758318301313818172707328510685552635900778251991260518896738319395596206529595115045370540354087020555631791267847856433512662261877571360891208998492146848603536679839000474818411625411824862032181232955151117979681262147337868125203642480589059498551629083309275642414779412268591987333280999354748841330696691530513871685505950996358440475175705012274712751517214047579288143454195845585058152605454354933151254303249982927602715821072907650799807820211192651183197780227857531741395303991341376618884168838929782422395583028508331380086563860587555272706551286679701266860457404077887437136355682438126171767147049368521628453536373217056286160800306290964066796431418882279615497299178954668703073792695717982706334484046807714503996262857895985646356576053774824756530446699293108120237444842289249390749861350875370459962331360715334333501965880284832382389697090770216455835314623489338364382174551480545877574274436336235975001788569330893935805983799099242494209012421808593952607393832770246641035762118726707277638102350755697277174026755008113079214504343458099976650362237597748409480020307589383056559295382318815773583637131633316069812252971578834599555731593303706826634598047547822970119728460967931877145385727358694107019857507924459298179064356506370221515433641555493799498065748947921939125144482554487892809229549806685806195069665194449921388315962832549194849422994471607258208891812618547367917975755993611146461739625723730466003862952232198896020539487448765410459384522774949900462933767091721524117515096591289634097546398294291972908885717313252758193039933479624701532088229731868473093076943516577926092482414956257673865208657356928840964429592012717467834254402584229924291422430592353662217368586573824699071716422077893722995802996150539857245345630090017867828992364734019573126239361881388426920469769197555456615096233324144121634027713569288307238417327732579150633201331894926222056113265430159243349509425349436331911678448981305688935714584413442010251660547798411231129580101750963334294740322217721994455934241504290094098613993622035201182224215583977066788723402972644920491110612468668519226015467502488531897110665272571565271917347229203503239103336705356878176584667954972598907208893072009102064614543403966359299210191157529186695277760480884074865724155650415695763873203062950237716112923901207842210831659400894855781330719299175952373761758047099758290868082384968220149302376676486475798182648810093636205705455274717404763593459082760923774135617567932949272012658182843375460678505604221505215898773165449940444833919729664409616824912288753356269092636175450361858813686287089878370393416462835512662057828313889270579273936980649767214638152556256189452311337486143849211355583537206495398247732414856350638146979579502952396014255173332471512249969314790785733885651970537844829296401201250541941428513807644764328642818415846997468757053037081745763604888243815581652367849775065283931165426521350158275198837552946399302646989137746815867658116922292544416699755679653662081629455209107790436014792158931742492563716984647111836529039109868390883765786600357581965953179799581466668147603714446075024881688514062775643135924148171375453692469748235213022246019539985010291748324 20421878247548866515942416026446973172163873755138017579516914213678558129052278293386854164835497471901506980224471946973522319535524543710234017530775768115672173510205620750284971651923491275528735519352072727681969290457680131596779906653470820483839228721666773306548240932680741425299252711708866244782189844877388392948505821552707550276307369301017002223831682015296559594715825529256141797100231764010098800431180767468968160136010018398232794935684574972691468832047712434094101173280599874639616634173581236208080423869439802852817232969986309503091588327085508565562890621839862495478086231201070005496949465369135984403649159784281495791415301297646885970235119587481502149742042921793312309229973775161756764346676148820432299149833138603184080608457314686126448215176891782140479554210737832545674759932443202514347485037237532139974876921283355434458765773080960390321453558682473429528742245610881472894774875225692734511436698542318647081670396531676758676971038193382067782128906499488041955154635463605971363846871806179282294536334508168514611490734687076516957064719354691411767470408941279817904539534988153744174327423729262153248037724764372704880796844940076753873406486213847724114025429434311922908726045946479666922500460138326501483220772020820040245164832896901309565751633465175002930910928050373216864920325780758596893124038425260658120637803669198913375153436880288414038150183414525252459884050964930845327794384491349317940460908680811146107594039875432162324254613507050021916231172573277017127048032314232784976075386610267601902826213561161371165125318282719536016987414222688629497133123720312169114531096754206138974421473087874952875419057591604671891497309532819068713417822377050318305215861748005814278995049608120061988926457015026251428899582637269450606814116237770126666819280155022668602101057075615591833530220289397858872051295803392715790446482163983569374288995833305980454554407795190170033275541330663936057561301317107975716679283913682064828584957825986191270522004861857150775592502042170157000367564256145828416762650095335891157936836887331238755576364055703194190217714006371598932723668308493158385779286987894522736171491084541172388014351202198076757036194733149687511489495809631688597991746837172620715388249288252635191943218577694221092054702982238384015508020504717309236185211522957770049187190194233803855294452037217527050267984872550784546484341203717614068955711091732343715197228416374914609517927090399617524677066507117003607143313230738152976605606138793604531658584822187634539607238171183460803858901125417719529651158162548483261685188345118444908684099829708387548278451739454939273203890421786872627935833143002798982707284118913755427645162892728158373169609748130595523898671329475466387964451301834939977024567413332655276183457542034174887316006900823860469507998923705569999022784426956759697512290432573514449090440958835993311794521391542391264777511202553631375177818069634347627741480926470956057877026824382171638122368088895505633434903282203982663586164445171093103307625358981067374365049283449388044124423108946227347435762494979053838271644412847696281926071823120555982320828838766578373205815768224540305033594283151664992207344047172533891013428643284821445055267299691680751784805836193059918731594874678299140754205304581922083607818759023447 33043293118646205002168184032638545098722903378674663871222616611897463171304788653638971615633328861659825281538290119680850830221077179611012269522036287012410492905801827279880086697294031629615756074983863995529825723970342393474351267544679818975986077325203453145548715751092366837124114743890099199933307824558650540286373946756350030865366867852646085533107324430075971863307812862537141151849073094706790330945052452974919156494450493573937807210397326489905516411335855888289946758338752480093971567324835539458063351472155623925724883769794129714284239510283288793420422363235166486819462850085238844426731887764719012911980539870845356378970574004198172649936386447938906227629480058148994747356145542308806132868304602356805516206119299403490371572524111117545330494792389081319434222913811625241392742638777686561155199541233794997870862567639931488233590529611407089614561678919918271817991636360742823770145335188024095226771032044284527366502778921373849447187494028696691271467270881662593435700513037880407700082846807967851625430270314152313710733228896088938765658671962085244537717049977041936631246812626256094930024700903288908256150803978877048338896821590438991471154895693868031703408485993607305227541819530116798555816529950579473062055371576551633548871659531499357113574603584903463898842805195758944223614432800616104817583336604325014627008025184632554930647236378354162986072122539669735014371943774160395134480190686418983134910830069127108940143234724855156795861871715941834534778540491252773120659178775972410699805852614130554135025109581700858613890728742104058791937314685622396588854647837827265705820730851752537268713445996760670188671815784644605371122011064907298445286295470127261821793787840488229235252723473328719345855297979455843441617050471523853191044040529192557259172942372391255175925756147332013911423943285200855022591153048738345880464349992975934108308568959545342335942834715659939230830997945760169381705422951135689285967591152099392561164108459187523165448226917970416205751745391679582349803896167824277398068339031050475571378847138991786553987595185283295941181048301111921150445662764427399890069381086508516358206692266765387971991417990921479729681115224260299980158015035647156100480278734283285987959814560169982421146721816797557797411581158823051970480619411926202308194313587572313453153549493443995012823638732495287531152059738274940196900036967590817131905948807845267616405070627206574010412782871730336823853018880878761654243071521606235361573826288095981208145060620370283349700874376888916078576305889011178612412081936684100829618137617131103091527475290386893152499956955353712438653830866620792357600242759827711271460640388006391603095524751541844660259488118524011986734183991533294701853721881108876957674334627970807832439646994345512373459856112179444006714494321953302413879135065103739277015242828587769622422912471085962626585307125428043235315356031850032576428360011062861435386245255113774473724024293139224675204113852500393877250484934571832438651448376336519624657783634179904927311448586096377181871238976604344269728306911678809517925306494477151491033862259135348141252571331330295357852927604753579414901985166917451592564926013125713690594895311432425159501342324573369265847581479328984066902970328370768888989418326827941623592829050771771 53465171366195071518110600059085518270886777133812681450739530825576021300357066947025825780468826333561332261762762066654373149756601723321246287052812055128082666416007448030165058349217522905144491594335936723211795014428022525071131174198150639459825306046870226452096956683773108262423367455598965444715497669436038933234879768309057581141674237153663087756939006445372531458023638391793282948949304858716889131376233220443887316630460511972170602146081901462596985243383568322384047931619352354733588201498416775666143775341595426778542116739780439217375827837368797358983312985075028982297549081286308849923681353133854997315629699655126852170385875301845058620171506035420408377371522979942307056586119317470562897214980751177237815355952438006674452180981425803671778709969280863459913777124549457787067502571220889075502684578471327137845739488923286922692356302692367479936015237602391701346733881971624296664920210413716829738207730586603174448173175453050608124158532222078759053596177381150635390855148501486379063929718614147133919966604822320828322223963583165455722723391316776656305187458918321754535786347614409839104352124632551061504188528743249753219693666530515745344561381907715755817433915427919228136267865476596465478316990088905974545276143597371673794036492428400666679326237050078466829753733246132161088534758581374701710707375029585672747645828853831468305800673258642577024222305954194987474255994739091240462274575177768301075371738749938255047737274600287319120116485222991856451009713064529790247707211090205195675881239224398156037851323142862229779016047024823594808924728908311026085987771558139434820351827605958676243134919084635623064090873376249277262619320597726367158704117847177580127009649588494043514247773081448781334781754994482094870516633108793303797858156766962683925992222527413923778026813222947605744954163574598713894642448852131061670910832156959503482597564792851322790497242510850109264106539276424105439266724268243665002646875065781457389749066285173714435970231779827566981344247433849739350171460423970105814830989126386366729315684026323025309563959240986490131398762307483520083169331072920558275848668074403039094378183351306560360005769193119556486717309957409987491647510845278844698472025571455906703348063848422617613089940394491778889466284141061435985988639916643511544379525110530083502340739687677798868118090769712814581420044610825724743384378171308431200861659899577611331602299043581488619930709962129954348530085387995765261386384752344388338179432426889585739803645442557917889308112548072376882435207014428898142063240099232584091303325962249548000211575120095280700778408694808651711857721288407664985536075902830510254167924506920147030740687644270003033429097866654607510632855321008761089818173182943816934698902041303463108623104536379687260775863013003304476222493245658872412901919492060498974527533261161284071513353429921955938379828516970434500092867234403663951606178080697209063127726181584730531601051117521396313326481941395899510685388216775815102237612821507612727965408993160972301676497869545765225995662085550571617164069406657863356196950907324847772959934082255904123573400170096873731058743372978119719935579450069116584772270060298247581608323954717246604556609624265050017632387315522043985634565203049068029743623631409863707200647809795218 86508464484841276520278784091724063369609680512487345321962147437473484471661855600664797396102155195221157543301052186335223979977678902932258556574848342140493159321809275310045145046511554534760247669319800718741620738398364918545482441742830458435811383372073679597645672434865475099547482199489064644648805493994689473521253715065407612007041105006309173290046330875448503321331451254330424100798377953423679462321285673418806473124911005546108409356479227952502501654719424210673994689958104834827559768823252315124207126813751050704267000509574568931660067347652086152403735348310195469117011931371547694350413240898574010227610239525972208549356449306043231270107892483359314605001003038091301803942264859779369030083285353534043331562071737410164823753505536921217109204761669944779348000038361083028460245209998575636657884119705122135716602056563218410925946832303774569550576916522309973164725518332367120435065545601740924964978762630887701814675954374424457571346026250775450325063448262813228826555661539366786764012565422114985545396875136473142032957192479254394488382063278861900842904508895363691167033160240665934034376825535839969760339332722126801558590488120954736815716277601583787520842401421526533363809685006713264034133520039485447607331515173923307342908151959900023792900840634981930728596538441891105312149191381990806528290711633910687374653854038464023236447909636996740010294428493864722488627938513251635596754765864187284210282568819065363987880509325142475915978356938933690985788253555782563368366389866177606375687091838528710172876432724563088392906775766927653600862043593933422674842419395966700526172558457711213511848365081396293252762689160893882633741331662633665603990413317304841948803437428982272749500496554777500680637052973937938312133683580317156988902197296155241185165164899805178953952569370279619656378106859799568917233601900869407551375182149935437590906133752396665126440077226510048494937537222184274820972147219379354288614466217880849950913174744361237601418458697797983187095992825529321699975356591794383212899328157436842300694531165314811863551554426269786072579810608595441233614993837347958165918049160911555452584875618071948331997187184041036216398425181670287471805525880926000798952304305739192691307878408592600034236662211289336686877865299884487956469259328569713852573838698102396955494289181121793880941729502208102112572104349100664940284415138899248332767608707422878948007369670788062630343492833860291172383104268874526915629456273950623699753258714985566947948706062928201239008986924961292961011512903440076754475322035916684920921463579380651091739050410482173853278365650162364150511552155028457343136318662658221525628564894926538633836212395811847693688585985178619497367039312542055791671895064052693892373236669274270941062751530725199634235719125182748482936987567612174826781054557164238251542776089749053693936265901007918564965135642398477735408223266253696528034538091760070498513971436698505005325075410660620988530595793896293387935873151347647540889061197844132352623192627340877228987946455642142407866901062154915886892376318336672874122257401801999263993796341391252264825971501427169088911670977731699134837564616986568177337196073423961272203219266149671764057951948838419283479968794851028052537535531419836918733041958237805330793476860566989 139973635851036348038389384150809581640496457646300026772701678263049505772018922547690623176570981528782489805063814252989597129734280626253504843627660397268575825737816723340210203395729077439904739263655737441953415752826387443616613615940981097895636689418943906049742629118638583361970849655088030089364303163430728406756133483374465193148715342159972261046985337320821034779355089646123707049747682812140568593697518893862693789755371517518279011502561129415099486898102992533058042621577457189561147970321669090790350902155346477482809117249355008149035895185020883511387048333385224451414561012657856544274094594032429007543239939181099060719742324607888289890279398518779722982372526018033608860528384177249931927298266104711281146918024175416839275934486962724888887914730950808239261777162910540815527747781219464712160568698176449273562341545486505333618303134996142049486592154124701674511459400303991417099985756015457754703186493217490876262849129827475065695504558472854209378659625643963864217410810040853165827942284036262119465363479958793970355181156062419850211105454595638557148091967813685445702819507855075773138728950168391031264527861465376554778284154651470482160277659509299543338276316849445761500077550483309729512450510128391422152607658771294981136944644388300690472227077685060397558350271688023266400683949963365508238998086663496360122299682892295491542248582895639317034516734448059709962883933252342876059029341041955585285654307569003619035617783925429795036094842161925547436797966620312353616073600956382802051568331062926866210727755867425318171922822791751248409786772502244448760830190954106135346524386063669889754983284166031916316853562537143159896360652260360032762694531164482422075813087017476316263748269636226282015418807968420033182650316689110460786760354063117925111157387427219102731979382593227225401332270434398282811876050753000469222286014306894941073503698545247987916937319737360157759044076498608380260238871487623019291261341283662307340662241029534952037388690477625550168440240259379061050146817015764489027730317283823209030010215191637837173115513667256276203978572916078961316784324910268516441766717235314594546963058969378508692002956377160592703115735139080274963453036726204845497424329877195099394655942257015217647326602605781115576344149440945923942457899245213225396953363808632480457835028868799592749059820271920916693992148959926389683668793310207679533629268607000490279609668714369551250274202795990245520913189656870292177015841026295012037932691141875152687752351505486119128317099473033669843446719917868974896538562135149269012224789541630199091950625530577454554056774344971015862369273443436122328672394565488731779796489401846685664576900040081850727117683851833227007999894633550816881490068246996510827072138710577734049685856067104886895011582138186052959159480813271047239682974049224737226070309350910337765449619330929874503344964159368912235501090500657360479640716172457279561641697618283235536926126528182017301857077735292192898621261368123462643126674019351745080588601620501849530664444325187907633862563147705487504056445724994536230319208309126847036953730423647156388399371671524042819970414350709818854773144067055684762109466133722208853811543220866918368614561573103469301112356110373072038172100734468904948476665589647669037994124670362207 226482100335877624558668168242533645010106138158787372094663825700522990243680778148355420572673136724003647348364866439324821109711959529185763400202508739409068985059625998650255348442240631974664986932975538160695036491224752362162096057683811556331448072791017585647388301553504058461518331854577094734013108657425417880277387198439872805155756447166281434337031668196269538100686540900454131150546060765564248056018804567281500262880282523064387420859040357367601988552822416743732037311535562024388707739144921405914558028969097528187076117758929577080695962532672969663790783681695419920531572944029404238624507834931003017770850178707071269269098773913931521160387291002139037587373529056124910664470649037029300957381551458245324478480095912827004099687992499646105997119492620753018609777201271623843987992991218040348818452817881571409278943602049723744544249967299916619037169070647011647676184918636358537535051301617198679668165255848378578077525084201899523266850584723629659703723073906777093043966471580219952591954849458377105010760355095267112388138348541674244699487517874500457990996476709049136869852668095741707173105775704231001024867194187503356336874642772425218975993937110883330859118718270972294863887235490022993546584030167876869759939173945218288479852796348200714265127918320042328286946810129914371712833141345356314767288798297407047496953536930759514778696492532636057044811162941924432451511871765594511655784106906142869495936876388068983023498293250572270952073199100859238422586220176094916984439990822560408427255422901455576383604188591988406564829598558678902010648816096177871435672610350072835872696944521381103266831649247428209569616251698037042530101983922993698366684944481787264024616524446458589013248766191003782696055860942357971494784000269427617775662551359273166296322552327024281685931951963506845057710377294197851729109652653869876773661196456830378664409832297644653043377396963870206253981613720792655081211018707002373579875807501543157291575415773896189638807149175423533355536233084908382750122173607558872240629645441260051330704746356952649036667068093526062276558383524674402550399318747616474607684766396226149999547934587450457024000143561201628919514160320750562435258562607130846296376634182934292085963820665607817681563264817070452263222014740830411898927158573782939249527202506734877413329318049921386630001549774129018806564253309027054623953208449106927866396877314423369227617038385157613880617695629850536693296293925744819092645297300245635737685949856860719635701057568414320367326086397994962804458232821309051651013884171065953933146253121010850183689675941059628407335139995133380012880825598464579671808713228146953305425054296773224298413112435893698420806269837011846505366933946092872673161963311049204719445375379852004990748607597830086529247301263368801442096468380883222066464028606388975477613085440659391459385885231937793068310099801767389970909313766911057007675254264217350060155669054981740542251201938842638290387673529188486286557134519471110184015735217195877433211794247842726759652390780830050041729464209860403390948822043331209104441465710928846300947526765038408653225343172951211908882085328441517989610708684042252939446662207146170126014762487016590132672513521941888584592324905224100090709636265888741867209707547885474368787601530929196 366455736186913972597057552393343226650602595805087398867365503963572496015699700696046043749244118252786137153428680692314418239446240155439268243830169136677644810797442721990465551837969709414569726196631275602648452244051139805778709673624792654227084762209961491697130930672142641823489181509665124823377411820856146287033520681814337998304471789326253695384017005517090572880041630546577838200293743577704816649716323461144194052635654040582666432361601486782701475450925409276790079933113019213949855709466590496704908931124444005669885235008284585229731857717693853175177832015080644371946133956687260782898602428963432025314090117888170329988841098521819811050666689520918760569746055074158519524999033214279232884679817562956605625398120088243843375622479462370994885034223571561257871554364182164659515740772437505060979021516058020682841285147536229078162553102296058668523761224771713322187644318940349954635037057632656434371351749065869454340374214029374588962355143196483869082382699550740957261377281621073118419897133494639224476123835054061082743319504604094094910592972470139015139088444522734582572672175950817480311834725872622032289395055652879911115158797423895701136271596620182874197395035120418056363964785973332723059034540296268291912546832716513269616797440736501404737354996005102725845297081817937638113517091308721823006286884960903407619253219823055006320945075428275374079327897389984142414395805017937387714813447948098454781591183957072602059116077176002065988168041262784785859384186796407270600513591778943210478823753964382442594331944459413724736752421350430150420435588598422320196502801304178971219221330585050993021814933413460125886469814235180202426462636183353731129379475646269686100429611463934905276997035827230064711474668910778004677434316958538078562422905422391091407479939754243384417911334556734070459042647728596134540985703406870345995947210763725319737913530842892640960314716701230364013025690219401035341449890194625392871137148785205464632237656803431141676195839653049083523976473344287443800268990623323361268359962725083260360714961548590486209782581760782338480536956440753363867183643657884991049451483631540744546510993556828965716003099938362221622629895459830837398711599333335691793800964060129391480619762922623035328889867422851567839566164181776335841385057818996164646480566315367357871164346918720979379061370046049935500556402268953444307622001759314607400026145921423859507226707099527165130891898425840782214209483582615111269661138326540647775618640998735872323453409073900439495643185871028632647904952739178026547552446306215222945371042662641049275640301471637082961391914340104395875250099041900702000481107793635685085221543698619909962990012475975549147923953688845073513366828579643689554652031558045715546517514090429739040434463664934973424258883401554854401255949194154269306147002655613712703683394791569729224835504562867667571655063961136302206410404267568417487315970436674629621797366673264976079177328467024655592244751264480679185178395887594572827142409236547622513800395868344576290316835106017957675592027357565890895005267768325745334760674020055693337901257188685565041624714844475254728852499679151336844383852751097937701556128340868378979826305707883508501287075095045357885704681015597172128881737000357646815686373137533143406781726201291403 592937836522791597155725720635876871660708733963874770962029329664095486259380478844401464321917254976789784501793547131639239349158199684625031644032677876086713795857068720640720900280210341389234713129606813763343488735275892167940805731308604210558532835000979077344519232225646700285007513364242219557390520478281564167310907880254210803460228236492535129721048673713360110980728171447031969350839804343269064705735128028425694315515936563647053853220641844150303464003747826020522117244648581238338563448611511902619466960093541533856961352767214162310427820250366822838968615696776064292477706900716665021523110263894435043084940296595241599257939872435751332211053980523057798157119584130283430189469682251308533842061369021201930103878216001070847475310471962017100882153716192314276481331565453788503503733763655545409797474333939592092120228749585952822706803069595975287560930295418724969863829237576708492170088359249855114039517004914248032417899298231274112229205727920113528786105773457518050305343753201293071011851982953016329486884190149328195131457853145768339610080490344639473130084921231783719442524844046559187484940501576853033314262249840383267452033440196320920112265533731066205056513753391390351227852021463355716605618570464145161672486006661731558096650237084702119002482914325145054132243891947852009826350232654078137773575683258310455116206756753814521099641567960911431124139060331908574865907676783531899370597554854241324277528060345141585082614370426574336940241240363644024281970406972502187584953582601503618906079176865838018977936133051402131301582019909109052431084404694600191632175411654251807091918275106432096288646582660888335456086065933217244956564620106347429496064420128056950125046135910393494290245802018233847407530529853135976172218317227965696338085456781664257703802492081267666103843286520240915516753025022793986270095356060740222769608407220555698402323363140537294003692113665100570267007303940193690422660908901627766451012956286748621923813072577327331315002988828472616879512706429195826550391164230882233508989608166343311691419707905543135246449649854308400757095339965427766417582962405501465657136250027766894546058928144279422740003243499563850542144055780581399833970161940466538090177598243063683566583583588230853010453132239922020102788178922606747740312216392779103896007768822102235284493664968642366009062919820178954307120655577980498931575210208421535266423023235847228734843745484684779011509594055691318907505777508359930362306435626786283513304590855596591959154466642314759862969272269023595452363185560487078198566330477281176878517295783651899459329977412696711368727054335237775888130924640365281672289821021782638390646597995393134261403124911869247568730223525856920018733762525736562227813994869094920265962889470281744031183071262765059953506184664923655843352417575037491372611031262002688181296480232229120684221389794805460639965163762903692177319718034479474494991224700891979681953035728246716621428530405867293882632424793669165471735530407065683011158144453743499947012190116187303049969225886848007717321491567426294285954089811656954439202139730984539638848783953723973694850058017426466637734585007592854833994561435140190641002790548014549105841068194900098633959588616987246470297005920821272219591373266246388682896080685418617775569327732220599 959393572709705569752783273029220098311311329768962169829394833627667982275080179540447508071161373229575921655222227823953657588604439840064299887862847012764358606654511442631186452118180050803804439326238089365991940979327031973719515404933396864785617597210940569041650162897789342108496694873907344380767932299137710454344428562068548801764700025818788825105065679230450683860769801993609807551133547920973881355451451489569888368151590604229720285582243330933004939454673235297312197177761600452288419158078102399324375891217985539526846587775498747540159677968060676014146447711856708664423840857403925804421712692857867068399030414483411929246780970957571143261720670043976558726865639204441949714468715465587766726741186584158535729276336089314690850932951424388095767187939763875534352885929635953163019474536093050470776495849997612774961513897122181900869356171892033956084691520190438292051473556517058446805125416882511548410868753980117486758273512260648701191560871116597397868488473008259007566721034822366189431749116447655553963008025203389277874777357749862434520673462814778488269173365754518302015197019997376667796775227449475065603657305493263178567192237620216621248537130351249079253908788511808407591816807436688439664653110760413453585032839378244827713447677821203523739837910330247779977540973765789647939867323962799960779862568219213862735459976576869527420586643389186805203466957721892717280303481801469287085411002802339779059119244302214187141730447602576402928409281626428810141354593768909458185467174380446829384902930830220461572268077510815856038334441259539202851519993293022511828678212958430778311139605691483089310461516074348461342555880168397447383027256289701160625443895774326636225475747374328399567242837845463912119005198763913980849652634186503774900508362204055349111282431835511050521754621076974985975795672751390120811081059467610568765555617984281018140236893983429934964006830366330934280032994159594725764110799096253159322150105071954086556050729380758472991198828481521700403489179773483270350660154854205594777349570891426572052134669454133621456232231615090739237632296406181130284766606063386456706587733659307639092569921701108388456006343437926072164773951240412237232681761273802229883978562303193075047203346510853888339342999662773587942354343104383083581697274211775268542488335137469593155658011887363345388124289866228889807677057846933943239197211967736142666449169157271088242070452584211944142401492481532101121715261090975041631967573953326931288923231854332464282607875716215199358612458140052228100268138299665104746118776783496399823888338446292948734970278884333794330118968675342171763381023682265983672770928815418323475868141694013044224393137387844796716654177214701993532100591105380251782466026427140635812480403560711483071617534927700033377765068066478510244608366769191760678758033917616400884979875023798849909056894357673128211620227724039994383730122302047891982307195137566609303750402401511692700605858872891949474877176058149844656913926294660255838300553690291122460812585984531879340286060992865965392913518924992185180959357579982699773962813751040232976750041142409538736474772861901721366587084686744191678378414186238128342558918888882928085667373902783607135246663712032604356001686936418444348473110266604035498582453822951761182351053933512002 1552331409232497166908508993665096969972020063732836940791424163291763468534460658384848972393078628206365706157015774955592896937762639524689331531895524888851072402511580163271907352398390392193039152455844903129335429714602924141660321136242001075344150432211919646386169395123436042393504208238149563938158452777419274621655336442322759605224928262311323954826114352943810794841497973440641776901973352264242946061186579517995582683667527167876774138802885175083308403458421061317834314422410181690626982606689614301943842851311527073383807940542712909850587498218427498853115063408632772956901547758120590825944822956752302111483970711078653528504720843393322475472774650567034356883985223334725379903938397716896300568802555605360465833154552090385538326243423386405196649341655956189810834217495089741666523208299748595880573970183937204867081742646708134723576159241488009243645621815609163261915302794093766938975213776132366662450385758894365519176172810491922813420766599036710926654594246465777057872064788023659260443601099400671883449892215352717473006235210895630774130753953159417961399258286986302021457721864043935855281715729026328098917919555333646446019225677816537541360802664082315284310422541903198758819668828900044156270271681224558615257518846039976385810097914905905642742320824655392834109784865713641657766217556616878098553438251477524317851666733330684048520228211350098236327606018053801292146211158585001186456008557656581103336647304647355772224344818029150739868650521990072834423325000741411645770420756981950448290982107696058480550204210562217987339916461168648255282604397987622703460853624612682585403057880797915185599108098735236796798641946101614692339591876396048590121508315902383586350521883284721893857488639863697759526535728617049957021870951414469471238593818985719606815084923916778716625597907597215901492548697774184107081176415528350791535164025204836716542560257123967228967698944031431504547040298099788416186771707997880925773163061358702708479863801958085804306201817309994317283001886202679096901051319085087828286339179057769883743554377359676756702681881469399139994727636371608896702349568468887922363723983687074533638628849845387811196009586937489922706918007020993637066651923214268767974156160546256758613786930099084741349796131902695608045142522026989831322009490604554372438496103959571828440151676856005711397187209686407844114797713424914442170772422176157677932872192393118316976914198068896723153911086537223420029221038599334971994274009580113214802227822709929056241762342358529959221581730409075823552631323860152182944685107260777576702405634229944848194300256297030505698846023010579947651511948322631265345060749837200961866514739689406178485796262299714044285384400740558913550834353631116814010280021296235556078443293030993227102800606190465093331271252731402166087960784344229252051369065179619089066276355256027970593278284152478588851585391486943686561049840336527366477298419838458588985703438129758409322034389278759243357509600851819010128649456701725938849458698144034622407824776100719182390255286879713973110235010492418479466913447391639654213164953482024772615598825096133512431324830879328188004321669694337046512372975621378318983561709436897477191508442097683705769206252329019850826298692857239716568064483532850424181478534508370378957920381665732601 2511724981942202736661292266694317068283331393501799110620818996919431450809540837925296480464240001435941627812238002779546554526367079364753631419758371901615431009166091605903093804516570442996843591782082992495327370693929956115379836541175397940129768029422860215427819558021225384502000903112056908318926385076556985075999765004391308406989628288130112779931180032174261478702267775434251584453106900185216827416638031007565471051819117772106494424385128506016313342913094296615146511600171782142915401764767716701268218742529512612910654528318211657390747176186488174867261511120489481621325388615524516630366535649610169179883001125562065457751501814350893618734495320611010915610850862539167329618407113182484067295543742189519001562430888179700229177176374810793292416529595720065345187103424725694829542682835841646351350466033934817642043256543830316624445515413380043199730313335799601553966776350610825385780339193014878210861254512874483005934446322752571514612327470153308324523082719474036065438785822846025449875350215848327437412900240556106750881012568645493208651427415974196449668431652740820323472918884041312523078490956475803164521576860826909624586417915436754162609339794433564363564331330415007166411485636336732595934924791984972068842551685418221213523545592727109166482158734985640614087325839479431305706084880579678059333300819696738180587126709907553575940814854739285041531072975775694009426514640386470473541419560458920882395766548949569959366075265631727142797059803616501644564679594510321103955887931362397277675885038526278942122472288073033843378250902428187458134124391280645215289531837571113363714197486489398274909569614809585258141197826270012139722619132685749750746952211676710222575997630659050293424731477709161671645540927380963937871523585600973246139102181189774955926367355752289767147352528674190887468344370525574227892257474995961360300719643189117734682797151107397163931705774397762438827073292259383141950882507094134085095313166430656795035914531338844277297400645791516017686491065976162367251711473939293423063688749949196455795689046813810378158914113084489879232359932777790026987116174532274379070311717346382172731198771546496199652015930375415994871691958261405874299333684488070997858134722849449833660990276609938629689139131565469195987496865131372914903706764816329640980984439097041421595809688743369056785311499552636733922474771271848385409969634143893820599321361550389405218984650653108667296312579018755521150936299690310013626241583533440146091151054564261520524370218074745158580194188549128051652899462159817287690803884044273976526293972676237796929270535181364300028964991685922119414892972004897249017831678652619285342382881383419222710189399687558841002038577955260907082934944736497065792746047723376191890923696591704710174418141118165126709036320797880676332569151113421012730127099097235489951256230279826820502335178510151717063205619210983680944779962638575258459605614976025198289453840531270102022640248151651192832386776909968854785563382996386194687759251834325744868637362085251061730541347872579938503148529417410664647872804971622353987127767233065005592348866238543051167799603741229909370908754381081238190751389807616447326120628325780405277175816000467312904452916041052455182300379793658160916537593799454459680060988331322140140271435599244603 4064056391174699903569801260359414038255351457234636051412243160211194919344001496310145452857318629642307333969253777735139451464129718889442962951653896790466503411677671769175001156914960835189882744237927895624662800408532880257040157677417399015473918461634779861813988953144661426895505111350206472257084837853976259697655101446714068012214556550441436734757294385118072273543765748874893361355080252449459773477824610525561053735486644939983268563188013681099621746371515357932980826022581963833542384371457331003212061593841039686294462468860924567241334674404915673720376574529122254578226936373645107456311358606362471291366971836640718986256222657744216094207269971178045272494836085873892709522345510899380367864346297794879467395585440270085767503419798197198489065871251676255156021320919815436496065891135590242231924436217872022509124999190538451348021674654868052443375935151408764815882079144704592324755552969147244873311640271768848525110619133244494328033094069190019251177676965939813123310850610869684710318951315248999320862792455908824223887247779541123982782181369133614411067689939727122344930640748085248378360206685502131263439496416160556070605643593253291703970142458515879647874753872318205925231154465236776752205196473209530684100070531458197599333643507633014809224479559641033448197110705193072963472302437196556157886739071174262498438793443238237624461043066089383277858678993829495301572725798971471659997428118115501985732413853596925731590420083660877882665710325606574478988004595251732749726308688344347725966867146222337422672676498635251830718167363596835713416728789268267918750385462183795949117255367287313460508677713544822054939839772371626832062211009081798340868460527579093808926519513943772187282220117572859431172076655998013894893394537015442717377696000175494562741452279669068483772950436271406788960893068299758334973433890524312151835883668393954451225357408231364392899404718429193943374113590359171558137654215092015010868476227789359503515778333296930081603602463101510334969492952178841464152762793024381251350027929006966339539243424173487134861595994553889019227087569149398923689465743001162301434035701033456706369827621391884010848025517312905917578609965282399511365985607702339765832290883395706592274777206709023371038935263468164804032639387158362746225716255420884013419480543056613250035961365599374768182498709239044578037272484696762827580742056320051498532193553943507722195898848722005390450223665555978941180157338289644985620515593113553360893378877274190576766132560433275117801775918958203875205530786019969470635488991305051553228699606906182645123570791478394805727811014696502067066404920327528514362892428489820247208897621072825401195985661987272885287422978695819820633769298367613879803026069019611747969366989622697937277218747308630220040307573529282842420529935457650264781496164276854579017532585535854791095613462662630305914791010697927367505829802975102624936904034814483787275157278661028511344674637430410436189896377761787864914212839698112133537217949978360367276462138185970244120796634752293911613383539909829144114786252363262008200292720715089778207947691334676563599124434620558097375230424075418284703124365428994766309682337762677882468684258098151018673659168370072306008599072650897877484602077332304883861539522839692519098191817264977204 6575781373116902640231093527053731106538682850736435162033062157130626370153542334235441933321558631078248961781491780514686005990496798254196594371412268692081934420843763375078094961431531278186726336020010888119990171102462836372419994218592796955603686491057640077241808511165886811397506014462263380576011222930533244773654866451105376419204184838571549514688474417292333752246033524309144945808187152634676600894462641533126524787305762712089762987573142187115935089284609654548127337622753745976457786136225047704480280336370552299205116997179136224632081850591403848587638085649611736199552324989169624086677894255972640471249972962202784444007724472095109712941765291789056188105686948413060039140752624081864435159890039984398468958016328449785996680596173007991781482400847396320501208424344541131325608573971431888583274902251806840151168255734368767972467190068248095643106248487208366369848855495315417710535892162162123084172894784643331531045065455997065842645421539343327575700759685413849188749636433715710160194301531097326758275692696464930974768260348186617191433608785107810860736121592467942668403559632126560901438697641977934427961073276987465695192061508690045866579482252949444011439085202733213091642640101573509348140121265194502752942622216876418812857189100360123975706638294626674062284436544672504269178387317776234217220039890871000679025920153145791200401857920828668319389751969605189310999240439357942133538847678574422868128180402546495690956495349292605025462770129223076123552684189762053853682196619706745003642752184748616364795148786708285674096418266025023171550853180548913134039917299754909312831452853776711735418247328354407313081037598641638971784830141767548091615412739255804031502517144602822480706951595282021102817617583378977832764918122616415963516798181365269518667819635421358250920302964945597676429237438825332562865691365520273512136603311583072185908154559338761556831110492826956382201186882618554700088536722186149095963789394220016298551692864635774358901003108893026352655984018155003831404474266963674674413716678956162795334932470987297513020510107638378898459447501927188950676581917533436680504347418379838879101026392938380210500041447688321912450301923543805385665319292190410763690425606245156425935767483318962000728074395033634000020136252289735661129423020237213654400464982153654671631771054342743824967810208791681311959747255968611212990711690463945319131514915493897127414883499375114057746536244574734462331093637979954999246757176646993506984529931838452097290502778508020276381970107507331926858430248179786758326292875349325529754993579582420442052841326659759105756776006382424186481297892332425763380724107142439532551280502456244623906175061674831726289461556651080727716704243104110945595772116742987939860290686214402647451636888426795346749343894327163518753099086571071277511623263374090068968788815815681611597948641172782022977996629908911048450609765613677883396509649790508985564611119192298613367314885582061629022283154671756719699776222694498328224977201812686112145099500271221305851337982624873850116532069327239808762659057334884362187420487948154783800296557573219614766924038361788006746139178456499522893875755236611213635802966088458287745860074098618331578112084411124761190899452444556038401139671131759343541600511171014659238463252864221807 10639837764291602543800894787413145144794034307971071213445305317341821289497543830545587386178877260720556295750745558249825457454626517143639557323066165482548437832521435144253096118346492113376609080257938783744652971510995716629460151896010195971077604952692419939055797464310548238293011125812469852833096060784509504471309967897819444431418741389012986249445768802410406025789799273184038307163267405084136374372287252058687578522792407652073031550761155868215556835656125012481108163645335709810000170507682378707692341930211591985499579466040060791873416524996319522308014660178733990777779261362814731542989252862335111762616944798843503430263947129839325807149035262967101460600523034286952748663098134981244803024236337779277936353601768719871764184015971205190270548272099072575657229745264356567821674465107022130815199338469678862660293254924907219320488864723116148086482183638617131185730934640020010035291445131309367957484535056412180056155684589241560170678515608533346826878436651353662312060487044585394870513252846346326079138485152373755198655508127727741174215790154241425271803811532195065013334200380211809279798904327480065691400569693148021765797705101943337570549624711465323659313839075051419016873794566810286100345317738404033437042692748334616412190832607993138784931117854267707510481547249865577232650689754972790375106778962045263177464713596384028824862900986918051597248430963434684612571966238329413793536275796689924853860594256143421422546915432953482908128480454829650602540688785013786603408505308051092729609619330970953787467825285343537504814585629621858884967581969817181052790302761938705261948708221064025195926925041899229368020877371013265803847041150849346432483873266834897840429036658546594667989171712854880533989694239376991727658312659631858680894494181540764081409271915090426734693253401217004465390130507125090897839125256044585663972486979977026637133511967570125949730515211256150325575300472977726258226190937278164106832265622009375802067471197932704440504605571994536687625476970333845295557237059988055925763744607963129134874175895160784647882106102192267917686535071076587874366047660534598981938383119413295585470854014330264221348066965001227830028911888826204897031304899892750529522716489640863018210544690027985371767009658501798804052775639448098407355139275658097667819945525210267921667732419942118593150308918030725889997019740665374040571453746783996817663708469437404849610782348097119448196759910130713403511250976269599984867272769760546867877908809112642674056635338941295394183746026465535802063961034199756228961781866654377082983693186488603087176412118138153911484587021078926253547702812659954277743616535632259779760178123529070025102160723662104611576884535346900548350473541471724825398798185762599687829657675837100584728855635735425566789651467856446361173629022028721542293119427650944647986321401351536402693562103835412328892787640606838415956439568588780508333413684604992772839768397853327124711989523012472065212179532433544584613989062392610461762195151791046479421561638457191549972134617377167761729915609237068952877445309698146370387713208663244562008244248907896178366048472982346104121369602531917807597000120665605979945485303851136170214544332196769350251771252781197067199498525095453915885741748464064227403140034010707178336655070129199011 17215619137408505184031988314466876251332717158707506375478367474472447659651086164781029319500435891798805257532237338764511463445123315397836151694478434174630372253365198519331191079778023391563335416277949671864643142613458553001880146114602992926681291443750060016297605975476435049690517140274733233409107283715042749244964834348924820850622926227584535764134243219702739778035832797493183252971454557718812975266749893591814103310098170364162794538334298055331491924940734667029235501268089455786457956643907426412172622266582144284704696463219197016505498375587723370895652745828345726977331586351984355629667147118307752233866917761046287874271671601934435520090800554756157648706209982700012787803850759063109238184126377763676405311618097169657760864612144213182052030672946468896158438169608897699147283039078454019398474240721485702811461510659275987292956054791364243729588432125825497555579790135335427745827337293471491041657429841055511587200750045238626013323937147876674402579196336767511500810123478301105030707554377443652837414177848838686173423768475914358365649398939349236132539933124663007681737760012338370181237601969458000119361642970135487460989766610633383437129106964414767670752924277784632108516434668383795448485439003598536189985314965211035225048021708353262760637756148894381572765983794538081501829077072749024592326818852916263856490633749529820025264758907746719916638182933039873923571206677687355927075123475264347721988774658689917113503410782246087933591250584052726726093372974775840457090701927757837733252371515719570152262974072051823178911003895646882056518435150366094186830220061693614574780161074840736931345172370253636681101914969654904775631871292616894524099286006090701871931553803149417148696123308136901636807311822755969560423230782248274644411292362906033600077091550511784985613556366162602141819367945950423460704816621564859176109090291560098823041666526908887506561625704083106707776487355596280958314727659464313202796055016229392100619164062568478799405608680887563040281460988488849126961711326951730600177461286919291930209108366148082160902616209830646816145982573003776825042629578068035662442730537793134464571880407268644431848108412689549742479213812370010282696624192083161293213142095886019444146312173346947372495084053535432804072911891737834068484562295895311322220410507363922593299503474284862418118119126822407201956766996633985253562165437247942136795223384931301977025665847472233505943296154705447865842344614249554984114029946407540374862438740951094771347138117449315670565716133972867728922391282379542987288074742003702612738686766071023529229253444797913017241363027461350440029000704992380041124340642774699312311458625985314649008335785336936337866346091997981276067177784575835770994570302505587627689948362051503232180492524162220913538995362183609879926728108599792819804742691025034716955110217167218014291510745008194351870784270515749464407049334202458391729923334395501758404379517045625738079304408594533694234462687105301304313765285087108789987172353603732591566661138728412855823472600002041611846447678564308761640104367033030732575133696611399345808540806481115793132972511344134110867508780988417330490875875902217193581288269939594457960404406295387681829883337192321828390397977540009954286881419595823570944740545181721837575118322993420818 27855456901700107727832883101880021396126751466678577588923672791814268949148629995326616705679313152519361553282982897014336920899749832541475709017544599657178810085886633663584287198124515504939944496535888455609296114124454269631340298010613188897758896396442479955353403439786983287983528266087203086242203344499552253716274802246744265282041667616597522013580012022113145803825632070677221560134721962802949349639037145650501681832890578016235826089095453923547048760596859679510343664913425165596458127151589805119864964196793736270204275929259257808378914900584042893203667406007079717755110847714799087172656399980642863996483862559889791304535618731773761327239835817723259109306733016986965536466948894044354041208362715542954341665219865889529525048628115418372322578945045541471815667914873254266968957504185476150213673579191164565471754765584183206613444919514480391816070615764442628741310724775355437781118782424780858999141964897467691643356434634480186184002452756410021229457632988121173812870610522886499901220807223789978916552663001212441372079276603642099539865189093590661404343744656858072695071960392550179461036506296938065810762212663283509226787471712576721007678731675880091330066763352836051125390229235194081548830756742002569627028007713545651637238854316346401545568874003162089083247531044403658734479766827721814967433597814961527033955347345913848850127659894664771513886613896474558536143172916016769720611399271954272575849368914833338536050326215199570841719731038882377328634061759789627060499207235808930462861990846690523939730799357395360683725589525268740941486017120183275239620522823632319836728869295904762127272097412152866049122792340668170579478912443466240956583159272925599712360590461696011816685295020991782170797006062132961288081543441880133325305786544446797681486363465602211720306809767379606607209498453075514358543941877609444840081577271537125460175178494479013456292140915339257033351787828574007216540918596742477309628320638238767902686635260501183239910214252882099727906937958822694422518948386939786525941205894882421065083284261308866808784722312022914733832517644080364699408677238602634644381113657206430050042734421598908653196175377690777572508125701196215179727929091975911822735858585526882462356856863374932744262093712037231608125687531185932475839701571553408990040356032574190514967235894226981011268428044853133091953786737299359294133619184031938954458931854368706826636448195569352954140056064836161269353595590519154968981302716168087242740347550063737445403773456390611064749462160438403530986352316579299216249856608658079695722379952559626616405665562936066928725950048540276693576703517652334318867957178406959092071636749514384674110496508999040949443230627344881824417651326047560596393368488268187315519606037888603816909348159897646480328646830040056241100357130628514362097862118675979364941431618518754416985072848843606680763571911122587880363488902791238900063337019000494531244147914898952862791293931607005759446642219538845888927754347479719251749367505394779070988222777185604405795607217379209373576363287801377714517549676731177102962846905274643907816785055389011971499020984326480214988878383520335138087875996567823173526773573790730628174948738492157032081654589973518895589896502635463870172623168059887798347880579192429015911773393122619829 45071076039108612911864871416346897647459468625386083964402040266286716608799716160107646025179749044318166810815220235778848384344873147939311860712023033831809182339251832182915478277902538896503279912813838127473939256737912822633220444125216181824440187840192539971651009415263418337674045406361936319651310628214595002961239636595669086132664593844182057777714255241815885581861464868170404813106176520521762324905787039242315785142988748380398620627429751978878540685537594346539579166181514621382916083795497231532037586463375880554908972392478454824884413276171766264099320151835425444732442434066783442802323547098950616230350780320936079178807290333708196847330636372479416758012942999686978324270799653107463279392489093306630746976837963059187285913240259631554374609617992010367974106084482151966116240543263930169612147819912650268283216276243459193906400974305844635545659047890268126296890514910690865526946119718252350040799394738523203230557184679718812197326389904286695632036829324888685313680734001187604931928361601233631753966840850051127545503045079556457905514588032939897536883677781521080376809720404888549642274108266396065930123855633418996687777238323210104444807838640294859000819687630620683233906663903577876997316195745601105817013322678756686862286876024699664306206630152056470656013514838941740236308843900470839559760416667877790890445981095443668875392418802411491430524796829514432459714379593704125647686522747218620297838143573523255649553736997445658775310981622935104054727434734565467517589909163566768196114362362410094091993773429447183862636593420915622998004452270549369426450742885325934411509030370745499058617269782406502730224707310323075355110783736083135480682445279016301584292144264845428965381418329128683807604317884888930848504774224128407969717078907352831281563455016113996705920366133542208749028866399025937819248758499174304016190667563097224283216845021387900962853766619422363741128275184170288174855646256206790512424375654468160003305799323069662039315822933769662768188398947311543549480659713891517126118667181801712995292392627456948969687338521853561549978500217084141524451306816670670306823844194999564514614614828867553085044283790380327314987339513566225462424553284059073115949000681412901906503169036721880116757177765572664412198599422923766544324263867448720312260766539938113108266739368511843429386547171675540293910553733933344547695784621279881091254155239300008803662114043041586460083352219541609135195940204768709953095332662575627617602786291014832216750911573839926735315178294411271259908743598958842203537931350661782308461066718630650145634919007733979945967313076001627133605704222644714359992297821181658404383095375499699323118832294335977287309576719342863100484829110623396367387938790773774943209554399940107049089840684059867393867642192223666121027085239228307181902604809701014081896541835685972431276583593851801032634356181638337344770538236993697291793260353395996289648527431944578600870598340201539453681104906644147193241519632566828041736539858998511662554883915914017261619079817381250985422810966365686476157654043764207835537980601886043253625325861870127764631993495670614325856387164508752468578751872470040367108061843730325086135353144787544713911537927165840723980294480175473824459504587655711369292621124374150853486891716116040647 72926532940808720639697754518226919043586220092064661553325713058100985557948346155434262730859062196837528364098203132793185305244622980480787569729567633488987992425138465846499765476027054401443224409349726583083235370862367092264560742135829370722199084236635019927004412855050401625657573672449139405893513972714147256677514438842413351414706261460779579791294267263929031385687096938847626373240898483324711674544824184892817466975879326396634446716525205902425589446134454026049922831094939786979374210947087036651902550660169616825113248321737712633263328176755809157302987557842505162487553281781582529974979947079593480226834642880825870483342909065481958174570472190202675867319676016673943860737748547151817320600851808849585088642057828948716810961868375049926697188563037551839789773999355406233085198047449406319825821399103814833754971041827642400519845893820325027361729663654710755038201239686046303308064902143033209039941359635990894873913619314198998381328842660696716861494462313009859126551344524074104833149168825023610670519503851263568917582321683198557445379777126530558941227422438379153071881680797438729103310614563334131740886068296702505914564710035786825452486570316174950330886450983456734359296893138771958546146952487603675444041330392302338499525730341046065851775504155218559739261045883345398970788610728192654527194014482839317924401328441357517725520078697076262944411410725988990995857552509720895368297922019172892873687512488356594185604063212645229617030712661817481383361496494355094578089116399375698658976353209100618031724572786842544546362182946184363939490469390732644666071265708958254248237899666650261185889367194559368779347499650991245934589696179549376437265604551941901296652734726541440782066713350120465978401323947021892136586317666008541295022865451799628963049818481716208426227175900921815356238364852101452177792700376783748856272244834634349743392023515866914419145907534761620774480063012744295391396564852949267822052696292706927905992434583570845279226037186651762496095336906134237971999608100831303652059873076684134060375676888765815778472060833876476283811017861164506223859984055273304951204957852205994564657349250466461738240459168071104887495465214762440642152482376034984938684859266939784368860025900096812861019271477609896020324286954109699020163965439002129302301122572512303623233975262738824440654975216528673385864340471232703841829403805311820045713087093668715630298562238610939414223408284377770404549535795287864922076635378743714860343133841078569662154685030230537800064640454849674790895095915538141419787787959319862004183446671190276762040584570670046874693263124541903827182407740297048678860254999588617496454732125014083997229328803335018236752807346687744924902480436670956963781307279041962258729160437828710865999188843957513874196289022263722362127442369856821544000466928376993446837973454204726848261656442695407713397928092760925225134027139784936191856597372396490820892675346843531463661892271808545213127747126182993082169273980046547293485907364393290733543106693099621667414687034760460358999174254167064190675203720495384938500827507160687161442110917259139736131014479997094540845265548029087606666627869037863540634835417521055714310301883279701745993192517139359619570190982810937694632127755715599167640501703566579869398665109238660476 117997608979917333551562625934573816691045688717450745517727753324387702166748062315541908756038811241155695174913423368572033689589496128420099430441590667320797174764390298029415243753929593297946504322163564710557174627600279914897781186261045552546639272076827559898655422270313819963331619078811075725544824600928742259638754075438082437547370855304961637569008522505744916967548561807018031186347075003846473999450611224135133252118868074777033067343954957881304130131672048372589501997276454408362290294742584268183940137123545497380022220714216167458147741452927575421402307709677930607219995715848365972777303494178544096457185423201761949662150199399190155021901108562682092625332619016360922185008548200259280599993340902156215835618895792007904096875108634681481071798181029562207763880083837558199201438590713336489437969219016465102038187318071101594426246868126169662907388711544978881335091754596737168835011021861285559080740754374514098104470803993917810578655232564983412493531291637898544440232078525261709765077530426257242424486344701314696463085366762755015350894365159470456478111100219900233448691401202327278745584722829730197671009923930121502602341948358996929897294408956469809331706138614077417593203557042349835543463148233204781261054653071059025361812606365745730157982134307275030395274560722287139207097454628663494086954431150717108814847309536801186600912497499487754374936207555503423455571932103425021015984444766391513171525656061879849835157800210090888392341694284752585438088931228920562095679025562942466855090715571510712123718346216289728408998776367099986937494921661282014092522008594284188659746930037395760244506636976965871509572206961314321289700479915632511917948049830958202880944878991386869747448131679249149786005641831910822985091091890136949264739944359152460244613273497830205132147542034464024105267231251127389997041458875958052872462912397731574026608868537254815381999674154183984515608338196914583566252211109156058334477071947175087909298233906640507318541860120421425264283735853445781521480267814722820778178540258485847055668069516222764748159399355730037833789518078248647748311290871943975258028802047205559079271964079334014823284742958451432202482804728328666104577035660094058054633859948352686275363194936818692977776449243182560432522886377033465564488229306450849614561889112450416731500714631250667870041522388204213679774894205166048389525188426591701136967242332968724433960676281652525874306760503919379539745476000056574875171968041319342477945920132093401878905596604070464535379818749260946050803839514496983623325719309981644312644513389820926907675503578404026820660576200543530960788111962941763038852552820770275900837827500513783320348161097670995524062384066030608025387309547294353331169246069815737201938714837768817915089029528017381268063931214487388483154527609085128725903071738078007528734515289890699279538240036547208746032284274399262569904565376778633483649857725792487110541202778788110064532490612010084666808852032827140275410793612613375335222447223391802396097990609013638929033766852141711344421985220532750666832857764259592774038808109046730415067436779129267500763007975667708866701652712537840075245379741507903907742897261251380800445655028067246459904730444305200343550485462986411519091632343371310536933122827940730722885556825354701123 190924141920726054191260380452800735734631908809515407071053466382488687724696408470976171486897873437993223539011626501365218994834119108900887000171158300809785167189528763875915009229956647699389728731513291293640409998462647007162341928396874923268838356313462579825659835125364221588989192751260215131438338573642889516316268514280495788962077116765741217360302789769673948353235658745865657559587973487171185673995435409027950719094747401173667514060480163783729719577806502398639424828371394195341664505689671304835842687783715114205135469035953880091411069629683384578705295267520435769707548997629948502752283441258137576684020066082587820145493108464672113196471580752884768492652295033034866045746296747411097920594192711005800924260953620956620907836977009731407768986744067114047553654083192964432286636638162742809263790618120279935793158359898743994946092761946494690269118375199689636373292994282783472143075924004318768120682114010504992978384423308116808959984075225680129355025753950908403566783423049335814598226699251280853095005848552578265380667688445953572796274142286001015419338522658279386520573081999766007848895337393064329411895992226824008516906658394783755349780979272644759662592589597534151952500450181121794089610100720808456705095983463361363861338336706791796009757638462493590134535606605632538177886065356856148614148445633556426739248637978158704326432576196564017319347618281492414451429484613145916384282366785564406045213168550236444020761863422736118009372406946570066821450427723275656673768141962318165514067068780611330155442919003132272955360959313284350876985391052014658758593274303242442907984829704046021430396004171525240288919706612305567224290176095181888355213654382900104177597613717928310529514845029369615764406965778932715121677409556145490559762809810952089207663091979546413558374717935385839461505596103228842174834159252741801728735157232365923770000892053121729801145581688945605290088401209658878957648775962105326156529768239882015815290668490211352597767897307073187760379072759580019493479875915554124430238413335169981116043746404988580526631460189606514117600535939413153972171274927217280209233759899411553643929313329800476561525202126522537089978269943091106746729518036129042993318719215292470644223220836915505838795720720792456452847173331143164584652194745452978916863011684962720354734689893989492310696497604732887065639234676398752231354592231903521182680329426637440064259238520263465288530168788297149944295011795344439797248603420063057338289053973171971541060281634301002335444459204110620841698935430035125043113507269301506316827960061011203669716088149074073695353839325085434787970519703238811717712807820358893397292559625527867317577489901006013760815191412718352950289789983965310294950553348857699460667875275597528781088218371974895142260220236751110845281969978941950269903538666455000975572488744095426127799896479242616459430212367160187795038592516563569675506455098188977931433878125631641528194382883818629879936599159010133357580067592659922628708354587785093129641097302113260596448453886902171703421159474699814857508061484754977712539635616207417576509547696388407236894022455664803407546918260566927681912007610545767448377732678772436514755956911346948205897922961444559963120676445797349213723760099086909704573624531507310592284221934593361599 308921750900643387742823006387374552425677597526966152588781219706876389891444470786518080242936684679148918713925049869937252684423615237320986430612748968130582341953919061905330252983886240997336233053676856004197584626062926922060123114657920475815477628390290139724315257395678041552320811830071290856983163174571631775955022589718578226509447972070702854929311312275418865320784220552883688745935048491017659673446046633163083971213615475950700581404435121665033849709478550771228926825647848603703954800432255573019782824907260611585157689750170047549558811082610960000107602977198366376927544713478314475529586935436681673141205489284349769807643307863862268218372689315566861117984914049395788230754844947670378520587533613162016759879849412964525004712085644412888840784925096676255317534167030522631488075228876079298701759837136745037831345677969845589372339630072664353176507086744668517708384748879520640978086945865604327201422868385019091082855227302034619538639307790663541848557045588806948007015501574597524363304229677538095519492193253892961843753055208708588147168507445471471897449622878179619969264483202093286594480060222794527082905916156945511119248606753780685247075388229114568994298728211611569545704007223471629633073248954013237966150636534420389223150943072537526167739772769768620529810167327919677384983519985519642701102876784273535554095947514959890927345073696051771694283825836995837907001416716570937400266811551955919216738824612116293855919663632827006401714101231322652259539358952196218769447167525260632369157784352122042279161265219422001364359735680384337814480312713296672851115282897526631567731759741441781674902641148491111798491913573619888513990656010814400273161704213858307058542492709315180276962976708618765550412607610843538106768501446282439824502754170104549452276365477376618690522259969849863566772827354356232171875618128699854601198069630097497796609760590376545183145255843129589805696739406573462523900987071261384491006840187057103724588902396851859916309757427494613024662808613025801014960143730276945208416953593655828171711815921211345274790859545336551951390054017661801720482565799161255467262561946617112723201277409134491384809945084973969292461074671419772851306553696223101047952579163645156919586415773734198816572169963975016885370059708176630149140424051903828531424900797413137086235404525240160180738019992937100745414128881564800620879780658495222319647571759606164498219914801915991162836929292216529484040487795401014672420571461382399816234974105265373419965878238371466870824277953371566892502774944532108666439226579283150629472473450832130577391591727478100516014415525628965748758631666180574756565360641129169298130387126041650637925650998677009284877575478748960975677099531259663626119799418673436662606590113366346696177247899992276410324151451238499328436497588027078995806610404533008504307004033986125407338136515789825205462496641559450364943157893342203159156312823981465041975080904419751592726873495828714546745451191837273632990861205273297963930801811176895525739087911126899525482220739043883047843144695232565524340919249014570486578443725254147991576984475517674737657030431332512274248570973104767757157387352053671356120629940023817315201611939414194665802653405749760306671161908783760732815392442458220241506747359448041315169778759948062722 499845892821369441934083386840175288160309506336481559659834686089365077616140879257494251729834558117142142252936676371302471679257734346221873430783907268940367509143447825781245262213842888696725961785190147297837994624525573929222465043054795399084315984703752719549975092521042263141310004581331505988421501748214521292271291103999074015471525088836444072289614102045092813674019879298749346305523021978188845347441482042191034690308362877124368095464915285448763569287285053169868351654019242799045619306121926877855625512690975725790293158786123927640969880712294344578812898244718802146635093711108262978281870376694819249825225555366937589953136416328534381414844270068451629610637209082430654276501141695081476441181726324167817684140803033921145912549062654144296609771669163790302871188250223487063774711867038822107965550455257024973624504037868589584318432392019159043445625461944358154081677743162304113121162869869923095322104982395524084061239650610151428498623383016343671203582799539715351573798924623933338961530928928818948614498041806471227224420743654662160943442649731472487316788145536459006489837565201859294443375397615858856494801908383769519636155265148564440596856367501759328656891317809145721498204457404593423722683349674821694671246619997781753084489279779329322177497411232262210664345773933552215562869585342375791315251322417829962293344585493118595253777649892615789013631444118488252358430901329716853784549178337520325261951993162352737876681527055563124411086508177892719080989786675471875443215309487578797883224853132733372434604184222554274319720694993668688691465703765311331609708557200769074475716589445487803105298645320016352087411620185925455738280832105996288628375358596758411236140106427243490806477821737988381314819573389776253228445911002427930384265563981056638659939457456923032248896977905235703028278423457585074346709777381441656329933226862463421566610652643498274984290837532075195095785140616232341481549763033366710647536608426939119539879570887063212514077654734567800785041881372605820508440019645831069638655366928825809287755562326199925801422319734943066068990589957074955692653840726378535676496321846028666367130590738934967946335147211496506382439344614510879598036071732352144041271298378937627563809636610649704655367890684767473338217233039319794733792618797356807448287912482375857440970094419229652491434517597669987811053363557963552852234372890398743502327901186243604562479153322179456451367098080513679428335499590745454469669174881445457154524028078437344961026159872672469206268737157482187734201710374567233709552733848584656946300433511843334247107679876552174211368254850714400536729151369419386474278168461488062695422946751569517955503140899683023045692766891467313925966889515224973921070352767531136123274465388963875477265466271967171552584371687989610173718467566969029265710149070988009479879492778081551535138032995032441664892709008719638159981750409905772834662767922170442973408959030051393120921256379647344426682050350847406990570928797933220592639156398961988655380185213240160121930674625946054751264304169932380381848980733769548199118079341461565568086532171906081974551052886997315681795489233671695439069394962599438804498362618796253829957568850761142871700576367194320269791838354581109946539152541545129946080371890955351907454000694541424321 808767643722012829676906393227549840585987103863447712248615905796241467507585350044012331972771242796291060966861726241239724363681349583542859861396656237070949851097366887686575515197729129694062194838867003302035579250588500851282588157712715874899793613094042859274290349916720304693630816411402796845404664922786153068226313693717652241980973060907146927218925414320511678994804099851633035051458070469206505020887528675354118661521978353075068676869350407113797418996763603941097278479667091402749574106554182450875408337598236337375450848536293975190528691794905304578920501221917168523562638424586577453811457312131500922966431044651287359760779724192396649633216959384018490728622123131826442507255986642751854961769259937329834444020652446885670917261148298557185450556594260466558188722417254009695262787095914901406667310292393770011455849715838435173690772022091823396622132548689026671790062492041824754099249815735527422523527850780543175144094877912186048037262690807007213052139845128522299580814426198530863324835158606357044133990235060364189068173798863370749090611157176943959214237768414638626459102048403952581037855457838653383577707824540715030755403871902345125843931755730873897651190046020757291043908464628065053355756598628834932637397256532202142307640222851866848345237184002030831194155941261471892947853105327895434016354199202103497847440533008078486181122723588667560707915269955484090265432318046287791184815989889476244478690817774469031732601190688390130812800609409215371340529145627668094212662477012839430252382637484855414713765449441976275684080430674053026505946016478608004460823840098295706043448349186929584780201286468507463885903533759545344252271488116810688901537062810616718294682599136558671083440798446607146865232181000619791335214412448710370208768318151161188112215822934299650939419237875085566595051250811941306518585395510141510931131296492560919363220413233874820167436093375204784901481880022805804005450750104628095138543448613996223264468473283915072430387412162062413809704689985631621523400163376108014847072320522481637459467378247411271076213179280279618020380643974736757413136406525539791143758883792645779090331868148069459331145092296470475674900419285930652449342625428575245089223877542582784483396052384383903471940060648742490223587292747496424882933042849260635979712813279788994527205498944469812672172537590607088556467492439528353473114153548893965821975472945849769060699068124095447614204027372730208912375987386146469142089746342827856970759002183702718380992038111043936077093015110853754626704485319099342375991960427867807575772906962675464824499271604030274727382670376343366285487783035599961230843529102617231993553333877611168593428791898360032330570342370216274901643989046484637547190152186204572785881055502330222173442714171959447962908523139228109502154965154996108261516759475521017984186496812067676942476169510822266870355205650279088524924908303247975993819080746151908015384039934471144713648129875476058973427501542684680623561790003206518556569958210138884181119273124367059647412895364989937799107448865164945906189899982784118685696523066715713559663516647423756712208083318329827956044060206776463196226782314653110160618992558820071145159180790175337537503229772944080576463000263364870679354544984003350187587119250403393222623779454489487043 1308613536543382271610989780067725128746296610199929271908450591885606545123726229301506583702605800913433203219798402612542196042939083929764733292180563506011317360240814713467820777411572018390788156624057150599873573875114074780505053200767511273984109597797795578824265442437762567834940820992734302833826166671000674360497604797716726257452498149743590999508539516365604492668823979150382381356981092447395350368329010717545153351830341230199436772334265692562560988284048657110965630133686334201795193412676109328731033850289212063165744007322417902831498572507199649157733399466635970670197732135694840432093327688826320172791656600018224949713916140520931031048061229452470120339259332214257096783757128337833331402950986261497652128161455480806816829810210952701482060328263424256861059910667477496759037498962953723514632860747650794985080353753707024758009204414110982440067758010633384825871740235204128867220412685605450517845632833176067259205334528522337476535886073823350884255722644668237651154613350822464202286366087535175992748488276866835416292594542518032910034053806908416446531025913951097632948939613605811875481230855454512240072509732924484550391559137050909566440788123232633226308081363829903012542112922032658477078439948303656627308643876529983895392129502631196170522734595234293041858501715195024108510722690670271225331605521619933460140785118501197081434900373481283349721546714073972342623863219376004644969365168226996569740642810936821769609282717743953255223887117587108090421518932303139969655877786500418228135607490617588787148369633664530550003801125667721715197411720243919336070532397299064780519164938632417387885499931788523815973315153945470799990552320222806977529912421407375129530822705563802161889918620184595528180051754390396044563660323451138300593033882132217826772155280391222683188316215780321269623329674269526380865295172891583167261064523355024340929831065877373095151726930907279979997267020639038145487000513137994805786080057040935342804348044170978284944465066896630214594746571358237442031840183021939084485727687451307446747222940573611196877635499015222684089371233931811713105790247251918326820255205638674445457462458887004427277480239507966982057339763900441532047378697160927389130495175921520412047205688995033608127307951333509963561804525786816219616725661646617443428000725762164851968175593363699465163607055188277076367520855997491906325348526439292709324303374132093373623178221446274904065571125453243888340711486976891923611758921224273314125283030262140063342018197983716405283361752268335942360906195693666576085544694276452464522073340474518799071606951480582448938750925227057766822216934405019347705121697564105294688976280629180686548931932798043055376263109261683588827610878561709611468260504953735708909155520891294097650708180443926619515492894827217719675873432721965137527226908546509027464065989590149228477614202505854708535247914658998726684906658713153748828481848668322350988792998964522537834569386255123403400109551893532087614132718801139739149209114609100872836499458337607219769343569990935992550371753035097326288038880716553666884814602408177279127750048819329838686759136205327143637839549440448158635296177277252548965117355177616324975116749640936480409203806140138400846254838617945980625893697525548480133667491141358745130077780149030911364 2117381180265395101287896173295274969332283714063376984157066497681848012631311579345518915675377043709724264186660128853781920406620433513307593153577219743082267211338181601154396292609301148084850351462924153901909153125702575631787641358480227148883903210891838438098555792354482872528571637404137099679230831593786827428723918491434378499433471210650737926727464930686116171663628079002015416408439162916601855389216539392899272013352319583274505449203616099676358407280812261052062908613353425604544767519230291779606442187887448400541194855858711878022027264302104953736653900688553139193760370560281417885904785000957821095758087644669512309474695864713327680681278188836488611067881455346083539291013114980585186364720246198827486572182107927692487747071359251258667510884857684723419248633084731506454300286058868624921300171040044564996536203469545459931699976436202805836689890559322411497661802727245953621319662501340977940369160683956610434349429406434523524573148764630358097307862489796759950735427777020995065611201246141533036882478511927199605360768341381403659124664964085360405745263682365736259408041662009764456519086313293165623650217557465199581146963008953254692284719878963507123959271409850660303586021386660723530434196546932491559946041133062186037699769725483063018867971779236323873052657656456496001458575795998166659347959720822036957988225651509275567616023097069950910429461984029456432889295537422292436154181158116472814219333628711290801341883908432343386036687726996323461762048077930808063868540263513257658387990128102444201862135083106506825687881556341774741703357736722527340531356237397360486562613287819346972665701218257031279859218687705016144242823808339617666431449484217991847825505304700360832973359418631202675045283935391015835898874735899848670801802200283379014884371103325522334127735453655406836218380925081467687383880568401724678192195819847585260293051479111247915319163024282484764898748900661843949492451263242622900924623505654931566068816517454893357374852479058692628404451261343869063555240346398047099332800007973789084206690318821022467953848678295502302109751877906548470518926653777458117964014089431320224547794327035073886608625331804437457732240183186372184496721322589502634219719053464103196530601741379417511599248011982252453785391818534312644499658704495878079407713539041953846495381092308169277835779592778884164923988348437020259798462679988186675146278847077943142683877289570370351679775152825974097253087474363038392753848667567101171096042032445842781723010236094760341360454767379189696987610681012765918461536654704320272097846247437194263896106223084612723666133595603401133107704717440619308935965226666722526682529614506791855142360724696403087706833451631899863729254867608194249015450657139940281695036576393624319824150894615886067478401417966445829178028397876961245788743668022030045448252486402216905420090372016676975405603120309277815209831567016401724822300929414474259004177038898993682548217516130599462373537053436216768237694508804346257705779072819239757017618731461974279416756465355925930349479201900262272194228780699337785570511125474892992687413565466753595398967219523656971593883609647224621831522959591905659125736347736436396120275930431111817946707035913082481422717838881310851305248242509551830321254610391762138352701559603520398407 3425994716808777372898885953363000098078580324263306256065517089567454557755037808647025499377982844623157467406458531466324116449559517443072326445757783249093584571578996314622217070020873166475638508086981304501782727000816650412292694559247738422868012808689634016922821234792245440363512458396871402513056998264787501789221523289151104756885969360394328926236004447051720664332452058152397797765420255363997205757545550110444425365182660813473942221537881792238919395564860918163028538747039759806339960931906401108337476038176660463706938863181129780853525836809304602894387300155189109863958102695976258317998112689784141268549744244687737259188612005234258711729339418288958731407140787560340636074770243318418517767671232460325138700343563408499304576881570203960149571213121108980280308543752209003213337785021822348435933031787695359981616557223252484689709180850313788276757648569955796323533542962450082488540075186946428458214793517132677693554763934956861001109034838453708981563585134464997601890041127843459267897567333676709029630966788794035021653362883899436569158718770993776852276289596316833892356981275615576332000317168747677863722727290389684131538522146004164258725508002196140350267352773680563316128134308693382007512636495236148187254685009592169933091899228114259189390706374470616914911159371651520109969298486668437884679565242441970418129010770010472649050923470551234260151008698103428775513158756798297081123546326343469383959976439648112570951166626176296641260574844583431552183567010233948033524418050013675886523597618720032989010504716771037375691682682009496456900769456966446676601888634696425267081778226451764360551201150045555095832533841650486944233376128562424643961361905625366977356328010264162994863278038815798203225335689781411880462535059350986971394836082415596841656526383716745017316051669435728105841710599350994068249175741293307845453260343202609601222882544988621010470889955189764744896015921300882094979451776380617706710703562695866908873164561625871642319317545955322842999197832702106505587080529419986183818527695425096530953913259394633664831484177310724986199123111838360183624716901029376444784269295069994670005256785922078313886105571312404439789579947086813716544100019750430023350214229385623608577807430374451119726555963315762417347196344321128864116384366142495522835714264804118698463556685671868742999386647967161241291509204434512166123811206427479384470582221210036516307055511016645255745346278279217985593798961339930316365607588791374485221325062707982845065028434078476746643816519647525639348516876706432494547081348980772736619919587911713062967713174565195172604884520830458899929921651845638656641086924230827821371505895135972541691292657494446143083096560893583452556865746169903860483711162093675990604192097284918417474859075059812686993894312793663548853901830598926383315970576568539072912318475992366133897704574522531683940851034968276541894738225729555473650782778082796609992970037863516220382786902385722865773646605329748855851827227605485996854988187428340629854118189799581499186100035346861922899850954935359598482267661415891452455325727883070271815163614286083434085726355728984115231723159087672780466819136869158208090853702914052721095392680072048298355910842053220882268972677499256831931141940035100310454922101533120883482779339752551309771 5543375897074172474186782126658275067410864038326683240222583587249302570386349387992544415053359888332881731593118660320106036856179950956379919599335002992175851782917177915776613362630174314560488859549905458403691880126519226044080335917727965571751916019581472455021377027146728312892084095801008502192287829858574329217945441780585483256319440571045066852963469377737836835996080137154413214173859418280599061146762089503343697378534980396748447670741497891915277802845673179215091447360393185410884728451136692887943918226064108864248133719039841658875553101111409556631041200843742249057718473256257676203902897690741962364307831889357249568663307869947586392410617607125447342475022242906424175365783358299003704132391478659152625272525671336191792323952929455218817082097978793703699557176836940509667638071080690973357233202827739924978152760692797944621409157286516594113447539129278207821195345689696036109859737688287406398583954201089288127904193341391384525682183603084067078871447624261757552625468904864454333508768579818242066513445300721234627014131225280840228283383735079137258021553278682570151765022937625340788519403482040843487372944847854883712685485154957418951010227881159647474226624183531223619714155695354105537946833042168639747200726142654355970791668953597322208258678153706940787963817028108016111427874282666604544027524963264007376117236421519748216666946567621185170580470682132885208402454294220589517277727484459942198179310068359403372293050534608640027297262571579755013945615088164756097392958313526933544911587746822477190872639799877544201379564238351271198604127193688974017133244872093785753644391514271111333216902368302586375691752529355503088476199936902042310392811389843358825181833314964523827836637457447000878270619625172427716361409795250835642196638282698975856540897487042267351443787123091134942060091524432461755633056309695032523645456163050194861515934024099868925790052979472249509794764821962726044471903039623240607635327068350798474941981079080764999694170025014015471403649094045975569142320875818033283151327703398885615160603578215656132785332855606227288308874989744908654143643554806834562748283384501314894553051112957152200494730903116841897521820130273185901040821342339932657569933282849726805108409171753868631325803975298014871132588162855441508616043070638373602243427803846072544958937777980038020835166240746045406215497552871532425922273886415666059616861068287979658990932800587015607425121431105192082846886435702968709119456256358475656317367095153825626788038670173237088004271287026715336336127557719198413008618003685093008717765835348907326863819397649807896271018116433860033037626369286257965577052150897550348054035509642764396833653382190849230789930012525483316286120613778098109499161819233616272299228673678542737299009969675698754472295730760109378031930228475887629104714244590569118360570962394583039317794946539208659346454155277554357104569792745957198473083707497270868997147076762509902931004418516322328147183658765965624089521736409832254560767260247580386871736921261555778602856500702787853249330156835621870676496442115229238025836853357963264502577179752837029484693575252641086825606768734897402298342096461063867216590050650489117215668610503160116302617877966303363691690516380567683236390182544652140776176711924883021835480899356071708178 8969370613882949847085668080021275165489444362589989496288100676816757128141387196639569914431342732956039198999577191786430153305739468399452246045092786241269436354496174230398830432651047481036127367636886762905474607127335876456373030476975703994619928828271106471944198261938973753255596554197879904705344828123361831007166965069736588013205409931439395779199473824789557500328532195306811011939279673644596266904307639613788122743717641210222389892279379684154197198410534097378119986107432945217224689383043093996281394264240769327955072582220971439729078937920714159525428500998931358921676575952233934521901010380526103632857576134044986827851919875181845104139957025414406073882163030466764811440553601617422221900062711119477763972869234744691096900834499659178966653311099902683979865720589149512880975856102513321793166234615435284959769317916050429311118338136830382390205187699234004144728888652146118598399812875233834856798747718221965821458957276348245526791218441537776060435032758726755154515510032707913601406335913494951096144412089515269648667494109180276797442102506072914110297842874999404044122004213240917120519720650788521351095672138244567844224007300961583209735735883355787824493976957211786935842290004047487545459469537404787934455411152246525903883568181711581397649384528177557702874976399759536221397172769335042428707090205705977794246247191530220865717870038172419430731479380236313983915613051018886598401273810803411582139286508007515943244217160784936668557837416163186566129182098398704130917376363540609431435185365542510179883144516648581577071246920360767655504896650655420693735133506790211020726169740722875693768103518348141471524286371005990032709576065464466954354173295468725802538161325228686822699915496262799081495955314953839596823944854601822613591474365114572698197423870759012368759838792526863047901802123783455823882232050988340369098716506252804462738816569088489936260942934662014254690780743263608139451354816003858314346030631046665383815145640706636642013487570969338314402846926748082074729401405238019466969855398823982146114516837610289797616817032916952274507998101583268837768360455836211007532552679571309564558307898879230514380836474429246337311400077359999617584921362090362680920147512235350413686216602128319751052359938613777288479784507176570372732427436780869125079142068650191243422494463651906763834552888713206647507006757306044592046085092843145444087443289498016175297988311603660863170467709384410068440685397042899025485063845149850141538692157861808471853067104251713834648087806674240975684644434425630907555699352665865745337685423260620389831532572215003068875902637264318932967548021131896622218139075128378169425541404778736938524946039685295373873026573419066768842986359948001969982872981327292262903420770963461154773869044735511441466190043553772926885832059074814012420684821159108191272889438386949173215499521061740343287305190245830898999308018475512672123866485580067478990117114626026123313791320902045193920830264095714479941348964015318251415755447675921016725855111061137277788956536049649776149181111770981469158764103531120690481162581241033536317740794038920463570419930981625202057329927822570182765161233330222075307443753564541838311061290575208414658528720019524245960663193879824515167532122579752451231098813458003905318260239108623017949 14512746510957122321272450206679550232900308400916672736510684264066059698527736584632114329484702621288920930592695852106536190161919419355832165644427789233445288137413352146175443795281221795596616227186792221309166487253855102500453366394703669566371844847852578926965575289085702066147680649998888406897632657981936160225112406850322071269524850502484462632162943202527394336324612332461224226113139091925195328051069729117131820122252621606970837563020877576069475001256207276593211433467826130628109417834179786884225312490304878192203206301260813098604632039032123716156469701842673607979395049208491610725803908071268065997165408023402236396515227745129431496550574632539853416357185273373188986806336959916425926032454189778630389245394906080882889224787429114397783735409078696387679422897426090022548613927183204295150399437443175209937922078608848373932527495423346976503652726828512211965924234341842154708259550563521241255382701919311253949363150617739630052473402044621843139306480382988512707140978937572367934915104493313193162657857390236504275681625334461117025725486241152051368319396153681974195887027150866257909039124132829364838468616986099451556909492455919002160745963764515435298720601140743010555556445699401593083406302579573427681656137294900881874675237135308903605908062681884498490838793427867552332825047052001646972734615168969985170363483613049969082384816605793604601311950062369199192318067345239476115679001295263353780318596576366919315537267695393576695855099987742941580074797186563460228310334677067542976346773112364987370755784316526125778450811158712038854109023844344394710868378378883996774370561254993987026985005886650727847216038900361493121185776002366509264746984685312084627719994640193210650536552953709799959766574940126267313185354649852658255788112647813548554738321357801279720203625915617997989961893648215917579515288360683372892744172669302999324254750593188358862050995914134263764485545565226334183923257855627098921981357699397463858757126719787401641707657595983353785806496020794057643871722281056052750121183102222867761275120415825945930402149888523179562816873091328177491912004010643045570280836064072624459111359011836382714875567377546088234833220207633185518625742704430295338490080795085077218794625773882188382378163913911792159612372670032011881348470507419242727322569872496263788381432241631944784669719129459252053722504310177577017968358979258811503704304357785995834288921112190676470595589140489602151287571832745867734604520101508325797856059253015634098641105774424950922652359093700956312020771992144829320564317356350958754055451258609527716695351969864810965146920753698178966005174390418154587795191226025928517479576914421501335358599421876144604662956585944550085129106973726100079482034800560908535202649444642003892072879014411210195938485774313882304917762287550701641525399065749677309633460400781532212533294467600949002633759345523385256103877811221469870596950193077338347987264191388536026244795739418367522068013922861680104030870700425150505976522707923501403597592032322693056391813036752437629398511268606603339835260545646349928506999434598996800820317973791757493055113506234266288882936696557467585063503329791285942524033804215030955526729901078368530961146597985827609652353710260392198403922305124404592007275525382886927153741138464694726127 23482117124840072168358118286700825398389752763506662232798784940882816826669123781271684243916045354244960129592273043892966343467658887755284411689520575474714724491909526376574274227932269276632743594823678984214641094381190978956826396871679373560991773676123685398909773551024675819403277204196768311602977486105297991232279371920058659282730260433923858411362417027316951836653144527768035238052418765569791594955377368730919942865970262817193227455300257260223672199666741373971331419575259075845334107217222880880506706754545647520158278883481784538333710976952837875681898202841604966901071625160725545247704918451794169630022984157447223224367147620311276600690531657954259490239348303839953798246890561533848147932516900898108153218264140825573986125621928773576750388720178599071659288618015239535429589783285717616943565672058610494897691396524898803243645833560177358893857914527746216110653122993988273306659363438755076112181449637533219770822107894087875579264620486159619199741513141715267861656488970280281536321440406808144258802269479751773924349119443641393823167588747224965478617239028681378240009031364107175029558844783617886189564289124344019401133499756880585370481699647871223123214578097954797491398735703449080628865772116978215616111548447147407778558805317020485003557447210062056193713769827627088554222219821336689401441705374675962964609730804580189948102686643966024032043429442605513176233680396258362714080275106066765362457883084374435258781484856178513364412937403906128146203979284962164359227711040608152407781958477907497550638928833174707355522058079072806509613920494999815404603511885674207795096730995716862720753109404998869318740325271367483153895352067830976219101157980780810430258155965421897473236468449972599041262530255080106910009299504454480869379587012928121252935745228560292088963464708144861037863695771999373403397520411671713261842889175555803786993567162276848798311938848796278019176326308489942323374612671630957236327388330444129242572272360494038283721145166952692100209342947542139718601123686294072217091038501046849907389637253436235728018966921440131837324871192911446329680364466479256577813388743643934023669666910715613229256403851975334572144620284993185136210664066520658019410228307320427632480842376010508133430523852525569448092157177208582254080897944200111852401711941146455031803926705283851548504272018172458701229511067483621610014444072101956947791747647284012009586909423794337333766056849874012219728257229788766760089583946658175939394751410877442570494172878676664757300446900375197287705416426570460228120016709016824499393136681870148106526884542079814034022823390962497898972722411550051210013330301154306686905118319200238273883545461561439978535983159363616853972093333674102049464907781888200798106070215605465046846748059146721637404675817867655231803594346625515653946083886908785500906349839168481385748793988662689345921064535769216155103185829696982542720816678657405826977381306014562149558587060320412715988844186957394583972219664440468757392278155599422420323447143383830334180769572802087405547692380377584808994024649177470618988162015840030337138058767830677956625533437215891490940266624380037767828664563121508017831477557779572793837791191653576945619675318005351855613016904140216713571454427704157043238374338840890832472001377573317744076 37994863635797194489630568493380375631290061164423334969309469204948876525196860365903798573400747975533881060184968895999502533629578307111116577333948364708160012629322878522749718023213491072229359822010471205523807581635046081457279763266383043127363618523976264325875348840110377885550957854195656718500610144087234151457391778770380730552255110936408321043525360229844346172977756860229259464165557857494986923006447097848051762988222884424164065018321134836293147200922948650564542853043085206473443525051402667764732019244850525712361485184742597636938343015984961591838367904684278574880466674369217155973508826523062235627188392180849459620882375365440708097241106290494112906596533577213142785053227521450274073964971090676738542463659046906456875350409357887974534124129257295459338711515441329557978203710468921912093965109501785704835613475133747177176173328983524335397510641356258428076577357335830428014918914002276317367564151556844473720185258511827505631738022530781462339047993524703780568797467907852649471236544900121337421460126869988278200030744778102510848893074988377016846936635182363352435896058514973432938597968916447251028032906110443470958042992212799587531227663412386658421935179238697808046955181402850673712272074696551643297767685742048289653234042452329388609465509891946554684552563255494640887047266873338336374176320543645948134973214417630159030487503249759628633355379504974712368551747741497838829759276401330119142776479660741354574318752551572090060268037391649069726278776471525624587538045717675695384128731590272484921394713149700833133972869237784845363722944339344210115471890264558204569467292250710849747738115291649597165956364171728976275081128070197485483848142666092895057978150605615108123773021403682399001029105195206374223194654154307139125167699660741669807674066586361571809167090623762859027825589420215290982912808772355086154587061844858803111248317755465207660362934762930541783661871873716276507297870527258056158308746029841593101329399080281439925428802762936045886015838968336197362472845967350124967212221603269717668664757669262181658421116809963311400141744284239623821592368477122302148094224807716558482781025922551995944131971229521422806977840492626370654836406770950953357900309102405504851275468149892696515808687766437361607704529847240594135429368451619354579724281813642718820185358946915796333173991147631710754952015377661198627982803051360768451496052005070007843875830535985013804361645990363614371015829062534634494694104048166501737250810663893076669135278653101615679952805994076153599726188418715289548684334065367783253448587940479675823222236511944624999169744144660676864977896801968205797808521527180235204384695233621739609242144883437584583198939745308166939101200307400202128946942582449109333308719660247468938919627073557931833343161592181537536721356634176217295471482952658462810539810239950013598282088456263638348554823881292601411207063640918452413317766871734744174964645497403098175803382799738780238056858109819074688003090364865619263368800863522923823921039175706523390572582609554525034946203648984188148829285194823820547495161450439027137958376741622435449680646943450157779823203320937505352892167892912793960355511361994603749364521092731945476580821915991179465265370614400608911975376732828561635245649864223777759625742516038012470203 61476980760637266657988686780081201029679813927929997202108254145831693351865984147175482817316793329778841189777241939892468877097237194866400989023468940182874737121232404899323992251145760348862103416834150189738448676016237060414106160138062416688355392200099949724785122391135053704954235058392425030103587630192532142689671150690439389834985371370332179454887777257161298009630901387997294702217976623064778517961824466578971705854193147241357292473621392096516819400589690024535874272618344282318777632268625548645238725999396173232519764068224382175272053992937799467520266107525883541781538299529942701221213744974856405257211376338296682845249522985751984697931637948448372396835881881053096583300118082984122221897487991574846695681923187732030861476031286661551284512849435894530998000133456569093407793493754639529037530781560396199733304871658645980419819162543701694291368555884004644187230480329818701321578277441031393479745601194377693491007366405915381211002643016941081538789506666419048430453956878132931007557985306929481680262396349740052124379864221743904672060663735601982325553874211044730675905089879080607968156813700065137217597195234787490359176491969680172901709363060257881545149757336652605538353917106299754341137846813529858913879234189195697431792847769349873613022957102008610878266333083121729441269486694675025775618025918321911099582945222210348978590189893725652665398808947580225544785428137756201543839551507396884505234362745115789833100237407750603424680974795555197872482755756487788946765756758283847791910690068179982472033641982875540489494927316857651873336864834344025520075402150232412364564023246427712468491224696648466484696689443096459428976480138028461702949300646873705488236306571037005597009489853654998042291635450286481133203953658761619994547286673669791060609811814921863898130555331907720065689285192214664386310329184026799416429951020414606898241884917742056458674873611726819802838198182206218830672483198889013394636134360285722343901671440775478209149947929888737986225181915878337081073969653644197184303260104316567576054394922698417386440083731403443237466615477151070151272732943601558725907613551360492506450692833267609173388375081496757379122460777619555791047070837471611377310537409725932483756310525903204649239211618962931055796687024449176389510266395819466432125993754789173851989285652199647881678263165804169456181526445144820237997247123462725399287799652354019853462739959779351138127702840237626590744086292323401254783687994824677676645562074770519239629451531778280437253252894451350887431604845285749776804350774384607752841724622349823929749121054024439033192567535623174763950619213518257007821851828334541891289813552821977883125690344999024561734922904671783793073293641074304178411850364337310131414789875852933985766375132704653470747837410049192768524950980801732949417566839567248311446160079118494984030882444926327694475888417061817566310249470615434956038583550392150001942026803417660325361969860059192954045702296776469271975310029306088020761079019122346244244486319090353724753352182356612440493896029361772957823309844001291166483323466279057475096435509453113406306180380666049270763469945317543120720832456034301978186988919774176543202312284385522422200497233996531320878387518540825625546831160532718678484024203064668592097743893611330214279 99471844396434461147619255273461576660969875092353332171417723350780569877062844513079281390717541305312722249962210835891971410726815501977517566357417304891034749750555283422073710274359251421091463238844621395262256257651283141871385923404445459815719010724076214050660471231245431590505192912588081748604197774279766294147062929460820120387240482306740500498413137487005644182608658248226554166383534480559765440968271564427023468842416031665521357491942526932809966601512638675100417125661429488792221157320028216409970745244246698944881249252966979812210397008922761059358634012210162116662004973899159857194722571497918640884399768519146142466131898351192692795172744238942485303432415458266239368353345604434396295862459082251585238145582234638487736826440644549525818636978693189990336711648897898651385997204223561441131495891062181904568918346792393157595992491527226029688879197240263072263807837665649129336497191443307710847309752751222167211192624917742886842740665547722543877837500191122828999251424785985580478794530207050819101722523219728330324410608999846415520953738723978999172490509393408083111801148394054040906754782616512388245630101345230961317219484182479760432937026472644539967084936575350413585309098509150428053409921510081502211646919931243987085026890221679262222488466993955165562818896338616370328316753568013362149794346461967859234556159639840508009077693143485281298754188452554937913337175879254040373598827908727003648010842405857144407418989959322693484949012187204267598761532228013413534303802475959543176039421658452467393428355132576373623467796554642497237059809173688235635547292414790616934031315497138562216229339988298063650653053614825435704057608208225947186797443312966600546214457176652113720782511257337397043320740645492855356398607813068759119714986334411460868283878401283435707297645955670579093514874612429955369223137956381885571017012865273410009490202673207264119037808374657361586500070055922495337970353726147069552944880390127315445231070521056918134578750692824783872241020884214534443546815620994322151515481707586285244719152591960599044861200541366754637608359761390693972865101420723860874001838359077050989231718755819605117520346311018180186100301270245926445883477608422564735210846512131437335031778675795901165047899385400292663501216871689770524939634847438821011850275568431892672174644599115444214852254313435880211133541822806018865980050174823493850783851657424027697338570495764364942489348830601240961759915354858035749477792042991179413896372738663595908764730184879896117206058888527504487157793264001039325488684839752391006290312562829499752971357565969064032362311680283851628928516015486462805630373355514777095674508786443717492367835228436609144933862649979950732174493948474506307358792946786419464723509536100402924686002206262585304090999002230730305246307614977950244889049792225711121985970319068508582312970901189966043030712298354418977517313111533887369356350422126894176906672300820758501165352659797973192102560406595543959978400394171707284129879882645270068165525494796877115325934791911137475440099678345961106652595038825111713978484916718084613054812251075548855986827324116207050586673266255048473613000348947095938542500281768780292566833377117467898781319149987710786143758132941434537522207893361280313729674067288446351723486409649342684482 160948825157071727805607942053542777690649689020283329373525977496612263228928828660254764208034334635091563439739452775784440287824052696843918555380886245073909486871787688321397702525505011769953566655678771585000704933667520202285492083542507876504074402924176163775445593622380485295459427970980506778707785404472298436836734080151259510222225853677072679953300914744166942192239559636223848868601511103624543958930096031005995174696609178906878649965563919029326786002102328699636291398279773771110998789588653765055209471243642872177401013321191361987482451001860560526878900119736045658443543273429102558415936316472775046141611144857442825311381421336944677493104382187390857700268297339319335951653463687418518517759947073826431933827505422370518598302471931211077103149828129084521334711782354467744793790697978200970169026672622578104302223218451039138015811654070927723980247753124267716451038317995467830658075468884339104327055353945599860702199991323658268053743308564663625416627006857541877429705381664118511486352515513980300781984919569468382448790473221590320193014402459580981498044383604452813787706238273134648874911596316577525463227296580018451676395976152159933334646389532902421512234693912003019123663015615450182394547768323611361125526154120439684516819737991029135835511424095963776441085229421738099769586240262688387925412372380289770334139104862050856987667883037210933964152997400135163458122604017010241917438379416123888153245205150972934240519227367073296909629986982759465471244287984501202481069559234243390967950111726632449865461997115451914112962723871500149110396674008032261155622694565023029298595338743566274684720564684946530135349743057921895133034088346254408889746743959840306034450763747689119317792001110992395085612376095779336489602561471830379114262273008081251928893690216205299605428201287578299159204159804644619755533467140408684987446963885688016907732087590949320577712681986384181389338268238128714168642836925036082947581014750413037789132741961832396343728698622713521858466202800092871524620785274638519335818741811902852820773547514659016431301284272770197875074975238541764124137834364325419599909451910437543495682411589087214290908721392514937565222762047865482236930548445894176112521383921857369818788089201699105814287111004363223719297903896138946914449901243258287443976269323221066524163930251315092096530517479240049667315068267950839103977297298286219250071651309778047550801310455543716080617051670838867552504001647181437004261480037815857090541934813434115148394181716658176554459311782978855374589398109286789102293035614136998759132037185179323682720478619993503065554879215907026392879135229004719813452225183849318986964322339265695375493525573435633706668785554651734525247787589548810485770643311123729596138299411953336910452377338967238774838836412279923073771258595779683194306616631792959433432130398187003566343853346116293737506600715416236543827562582149322325394933972519044178848699104238418826527322519857166146148262703372013231953710423477795304890958901767616312410011813887230840079286974267749915933995707707734064475904882826402880461808382997142088151247760528662262293007704782256321350143211572591594333832804981397916729489201542956835769145661502990320981816383984242107022145651482260163069039053893998992213698270353114943821230303260672898761 260420669553506188953227197327004354351619564112636661544943700847392833105991673173334045598751875940404285689701663611676411698550868198821436121738303549964944236622342971743471412799864263191045029894523392980262961191318803344156878006946953336319793413648252377826106064853625916885964620883568588527311983178752064730983797009612079630609466335983813180451714052231172586374848217884450403034985045584184309399898367595433018643539025210572400007457506445962136752603614967374736708523941203259903219946908681981465180216487889571122282262574158341799692848010783321586237534131946207775105548247328262415610658887970693687026010913376588967777513319688137370288277126426333343003700712797585575320006809291852914813622406156078017171973087657009006335128912575760602921786806822274511671423431252366396179787902201762411300522563684760008871141565243432295611804145598153753669126950364530788714846155661116959994572660327646815174365106696822027913392616241401154896483974112386169294464507048664706428956806450104091965147045721031119883707442789196712773201082221436735713968141183559980670534892997860896899507386667188689781666378933089913708857397925249412993615460334639693767583416005546961479319630487353432708972114124600610447957689833692863337173074051683671601846628212708398057999891089918942003904125760354470097902993830701750075206718842257629568695264501891364996745576180696215262907185852690101371459779896264282291037207324850891801256047556830078647938217326395990394578999169963733070005820212514616015373361710202934143989533385084917258890352248028287736430520426142646347456483181720496791169986979813646232626654240704836900949904673244593786002796672747330837091696554480356076544187272806906580665220924341233038574512368329792128933116741272191846001169284899138233977259342492712797177568617488735312725847243248878252719034417074575124756605096790570558463976750961426917222290264156584696750490361041542975838338294051209506613190651183152500525895140540353234363812482889314478307449315538305730707223684307405968167600895632841487334223519489138065492700106619615476162484814136952512683334999932458097002935785049280473911290269514594484914130344906819408429067703533117751323063318111408682814026054316740847732230433988807153819867877495006979335010389763516382799120767828717439389536090697108455826544891652959196338574850430536311382771792675929878448610090756857969957347473109713100855502967202075248139880951308081023106400501440108514263917002039472753739272080807036504438307552097711057158911901538072671665370671506359861747191373287828427781720453889389765422349748008823435691836185962567097917190896190878021807651244491182619082598539364096082638831125709412867861360801872242851602648204631685257422281538023316793129436257910149060861808948053739835138379545229824078929835414510653379017566210757633439195666424018670555418100717255512148656824247306259780537313013770655521344875693683209694751284394645938355755371405059177327692675179655139338250823109967557191932110817649502589020838784412886380575537308684107955405221766178887391374095386053695171128499921651514594440293299715226701206060011604211118279835028898463371936816477827640067946833153928493855271989483311737128335979038620458219763135533971952893165903784423694700591246947255279305943372337641561295544716712910015583243 421369494710577916758835139380547132042269253132919990918469678344005096334920501833588809806786210575495849129441116387460851986374920895665354677119189795038853723494130660064869115325369274960998596550202164565263666124986323546442370090489461212823867816572428541601551658476006402181424048854549095306019768583224363167820531089763339140831692189660885860405014966975339528567087777520674251903586556687808853358828463626439013818235634389479278657423070364991463538605717296074372999922220977031014218736497335746520389687731532443299683275895349703787175299012643882113116434251682253433549091520757364974026595204443468733167622058234031793088894741025082047781381508613724200703969010136904911271660272979271433331382353229904449105800593079379524933431384506971680024936634951359033006135213606834140973578600179963381469549236307338113173364783694471433627615799669081477649374703488798505165884473656584790652648129211985919501420460642421888615592607565059422950227282677049794711091513906206583858662188114222603451499561235011420665692362358665095221991555443027055906982543643140962168579276602313710687213624940323338656577975249667439172084694505267864670011436486799627102229805538449382991554324399356451832635129740050792842505458157304224462699228172123356118666366203737533893511315185882718444989355182092569867489234093390138000619091222547399902834369363942221984413459217907149227060183252825264829582383913274524208475586740974779954501252707803012888457444693469287304208986152723198541250108197015818496442920944446325111939645111717367124352349363480201849393244297642795457853157189752757946792681544836675531221992984271111585670469358191123921352539730669225970125784900734764966290931232647212615115984672030352356366513479322187214545492837051528335603730756729517348239532350573964726071258833694034918154048530827177411923194221719194880290072237199255545910940636649443824954377855105905274463172347425724365176606532179923675256027576219235448106909890953391023496554444721710822036147938251827589173426484400277492788386170271360823152965331391990886266247621278631907463769086907150387758310238474222221140770149374700073820742179952137980596541933994033699337789096048055316545825365976890919744574500210916960253614355846176972607957079194112793622121394126740102097024663967664353839437333955395899802814214874025720502505101745628407913289271915979545763678358707697073934644771395932350927154276980122798941191406851797103723452172278976066767918649220909758000752118622893594980242365531826205553093618196249226124682454485215236336589482574617530074756068026388524554386933188147118412314805956070163472070112097904414686786473495902432534823723213415069603153464975108243354886375307876558271433759283419782670069127572127278900079569033878657000108360007076745590756884197062853768671826790576452788824806537316633502283055811629988850231115442515715000677593422553518043913729186892065172438275832532020146218367164982534604070509297596154219997699512305484399085813339570423885821241127297893911797686180502692985549122571338795484508740446637307308091093761429235604404804477917474902101682712368789357307772132873380572842733680719693286959689400231662280665958909891772001478684854693964105124700123448540744951917956195000188049435905954863660286001149278298157070607994676239365947016170688482004 681790164264084105712062336707551486393888817245556652463413379191397929440912175006922855405538086515900134819142779999137263684925789094486790798857493345003797960116473631808340528125233538152043626444725557545526627316305126890599248097436414549143661230220680919427657723329632319067388669738117683833331751761976427898804328099375418771441158525644699040856729019206512114941935995405124654938571602271993162758726831221872032461774659600051678664880576810953600291209332263449109708446162180290917438683406017727985569904219422014421965538469508045586868147023427203699353968383628461208654639768085627389637254092414162420193632971610620760866408060713219418069658635040057543707669722934490486591667082271124348145004759385982466277773680736388531268560297082732282946723441773633544677558644859200537153366502381725792770071799992098122044506348937903729239419945267235231318501653853329293880730629317701750647220789539632734675785567339243916528985223806460577846711256789435964005556020954871290287618994564326695416646606956042540549399805147861807995192637664463791620950684826700942839114169600174607586721011607512028438244354182757352880942092430517277663626896821439320869813221543996344470873954886709884541607243864651403290463147990997087799872302223807027720512994416445931951511206275801660448893480942447039965392227924091888075825810064805029471529633865833586981159035398603364489967369105515366201042163809538806499512794065825671755757300264633091536395662019865277698787985322686931611255928409530434511816282654649259255929178496802284383242701611508489585823764723785441805309640371473254737962668524650321763848647224975948486620374031435717707355336403416556807217481455215121042835118505454119195781205596371585394941025847651979343478609578323720181604900041628655582216791693066677523248827451182770230879895774076055664642228638793770005046677333989826104374917387610870742176668119262489971213662708467267341014944826231133181869218227402387948632805031493744257860366927611025300343597253790133319880650168707683460955987065904202310487188850881128951758947727898247383626253901044102900441645238406680318143705934423980547732032449466732465510672278900853107766856799581173067868888684088299602558600554527657807985844789834984126427824956689119772957131783890256484896145431796381793228973424652504355629359106526984916841079952176164719296061064591909424212288449464555043891992244505645451782657244182198047081072358159878126829852673719084581031835651260382511740024199429930099418549917629537262712005519734321897790053125991575098083780855862445957856476521915778289976736681196970554104150991918637261389261008288782436494437717987085051617422262577511152241984590684521111216247177180119409874081963915105040092350665595444072029515826944027717861917308060816580729136429426886932698507241301229831806391017294950072697949479830300544268331832698027863657501840728813298581226742957547586517313969515741714897502761810920890359441914356773481912672879167444822649908923307127615817932058776800482932636470593389073561086431255446750889730506625524698682186479815124406732904726129432069342394982427595490563367783737084498852677762579183065223776167227871730227499112838385627273468168166431092441103738743906760508087451928147893353953220329649564251532948404557604100442945636237534910663729080704065247 1103159658974662022470897476088098618436158070378476643381883057535403025775832676840511665212324297091395983948583896386598115671300709990152145475976683140042651683610604291873209643450602813113042222994927722110790293441291450437041618187925875761967529046793109461029209381805638721248812718592666779139351520345200791066624859189138757912272850715305584901261743986181851643509023772925798906842158158959802016117555294848311046280010293989530957322303647175945063829815049559523482708368383157321931657419903353474505959591950954457721648814364857749374043446036071085812470402635310714642203731288842992363663849296857631153361255029844652553955302801738301465851040143653781744411638733071395397863327355250395781476387112615886915383574273815768056201991681589703962971660076724992577683693858466034678126945102561689174239621036299436235217871132632375162867035744936316708967876357342127799046615102974286541299868918751618654177206027981665805144577831371520000796938539466485758716647534861077874146281182678549298868146168191053961215092167506526903217184193107490847527933228469841905007693446202488318273934636547835367094822329432424792053026786935785142333638333308238947972043027082445727462428279286066336374242373604702196132968606148301312262571530395930383839179360620183465845022521461684378893882836124539609832881462017482026076444901287352429374364003229775808965572494616510513717027552358340631030624547722813330707988380806800451710258552972436104424853106713334565002996971475410130152506036606546253008259203599095584367868823608519651507595050974988691435217009021428237263162797561226012684755350069486997295070640209247060072290843389626841628707876134085782777343266355949886009126049738101331810897190268401937751307539326974166558024102415375248517208630798358172930456324043640642249320086284876805149033944304903233076565422860512964885336749571189081650285858024260314567131045974368395245676835055892991706191551358411056857125245803621623396739714922447135281356921372332736122379745192041960909054076653107960953744373236175563133640154182273119838025195349176879291090022987951253288199955476880902539284476083798680621552774629418870446107214212894886807104645895629228384414714050065190522303175054738574768239459145681161099035782035883232566579253178016996586993170095764046147068410758607900255432173321401010637343585053921793127209350336507888969975966808172252117826637015901577802709811521162320846022263765011675230553304845998060647799754300481292269740776318052823694398792283161363468265099137930571123914735580476790334420370338437063487931232589942166814531123614385117672516465797874707424861331120386686851181224191482987484152245985790926221845138055659629354571133552487995968145515723198524822762419793167571350929595395977906374862025668067893326319893313623949786467179068091806284595215823832266706200232535641930533118562948140543578658179434151366816625140472144439651689752245348273735043721128975903424963512423654369636132670578679750307048994736646698039703753299904098376844434156773891766546635553826785546374239247072162005990277573576553642337309530607349544244496665139964279920675555869957879425520496259902758510735856628103392508165071748277399274946853021125056546228438867355301253039369884342893542002656235604427911818949553835902257513553630913774276610745251392547251 1784949823238746128182959812795650104830046887624033295845296436726800955216744851847434520617862383607296118767726676385735379356226499084638936274834176485046449643727077923681550171575836351265085849439653279656316920757596577327640866285362290311111190277013790380456867105135271040316201388330784462972683272107177218965429187288514176683714009240950283942118473005388363758450959768330923561780729761231795178876282126070183078741784953589582635987184223986898664121024381822972592416814545337612849096103309371202491529496170376472143614352834365794960911593059498289511824371018939175850858371056928619753301103389271793573554888001455273314821710862451520883920698778693839288119308456005885884454994437521520129621391872001869381661347954552156587470551978672436245918383518498626122361252503325235215280311604943414967009692836291534357262377481570278892106455690203551940286378011195457092927345732291988291947089708291251388852991595320909721673563055177980578643649796255921722722203555815949164433900177242875994284792775147096501764491972654388711212376830771954639148883913296542847846807615802662925860655648155347395533066683615182144933968879366302419997265230129678268841856248626442071933302234172776220915849617469353599423431754139298400062443832619737411559692355036629397796533727737486039342776317066986649798273689941573914152270711352157458845893637095609395946731530015113878206994921463855997231666711532352137207501174872626123466015853237069195961248768733199842701784956798097061763761965016076687520075486253744843623798002105321935890837752586497181021040773745213679068472437932699267422718018594137319058919287434223008558911217421062559336063212537502339584560747811165007051961168243555451006678395864773523146248565174626145901502711993698968698813530839986828512673115736707319772568913736059575379913840078979288741207651499306734890383426905178907754660775411871185309307714093630885216890497764360259047206496184642190038994464031024011345372519953940879539217288299943761422723342445832094228934726821815644414700360302079765444127343033154248789784143077075126674716276888995356188641600715287582857428182018222661169284807078885602911617886491795739914871502695210401452283602734153490124861775609266232576225303935516145225463606992572352339536384961907253071889315527560427940297384183260404611061532427927995554184665006097957846505411401099798394188255257636807161718629260407223254492468765344518893103336123171553357383157519717145228831589951741674781480800517482753793817342200790900730977104657664893021704788706468365432504151194299509445787709111857945104507860295582088226620616789793344686250592128675469287675661909470072535769668248368437374087122646344150465787380729668115378019597687113629862854770458763015422959111222921934092723942976128709907049029743050836719165686309393036116401606841127216778898182015472231077386894780838571442315681274880180115206367215101987238207066214864015449941223890786824315322954338011143118045343457847195129698903659953825655521685358680898859777070627367280840107721985082232297263969753697686704672464053391678049070214256736781613586891647567559770484043339607042378278198258839085823734512023855975122735664184586663026548415021187556148987332177611262061761126821812490786895955876565253992163351897958393506357956499267151309187274474332096612498 2888109482213408150653857288883748723266204958002509939227179494262203980992577528687946185830186680698692102716310572772333495027527209074791081750810859625089101327337682215554759815026439164378128072434581001767107214198888027764682484473288166073078719323806899841486076486940909761565014106923451242112034792452378010032054046477652934595986859956255868843380216991570215401959983541256722468622887920191597194993837420918494125021795247579113593309487871162843727950839431382496075125182928494934780753523212724676997489088121330929865263167199223544334955039095569375324294773654249890493062102345771612116964952686129424726916143031299925868777013664189822349771738922347621032530947189077281282318321792771915911097778984617756297044922228367924643672543660262140208890043595223618700044946361791269893407256707505104141249313872590970592480248614202654054973491435139868649254254368537584891973960835266274833246958627042870043030197623302575526818140886549500579440588335722407481438851090677027038580181359921425293152938943338150462979584140160915614429561023879445486676817141766384752854501062005151244134590284703182762627889013047606936986995666302087562330903563437917216813899275708887799395730513458842557290091991074055795556400360287599712325015363015667795398871715656812863641556249199170418236659153191526259631155151959055940228715612639509888220257640325385204912304024631624391924022473822196628262291259255165467915489555679426575176274406209505300386101875446534407704781928273507191916268001622622940528334689852840427991666825713841587398432803561485872456257782766641916331635235493925280107473368663624316353989927643470068631202060810689400964771088671588122361904014167114893061087217981656782817575586133175460897556104501600312459526814409074217216022161638345001443129439780347962021889000020936380528947784383882521817773074359819699775720176476367989404946633436131499876438760067999280462567332820253250753398047543053246896119709834645634742112234876388014820574209672276497545103087637874055137988803474923605368444733538255328577767497215427368627809338426252005965806299876946609476841556192168485396712658102021341790837581708304473357725100704690626721976148590839629836698316784218680647164950664004807344464763081197306324499389028455584906115638139924249658882485623324474087365794941868304866493705749329006191528250060019750973714761737607687364164222065809059279545266276308801057202280286506839739125599888183228587936462365715205876631344252222967051221576835535577488216134483952264199242203795595464145619524286945155766924521532736572933718941701800111919038983909967205899137082587668052111111923249062156138856886100953060019921914234159363595932260702003779820358514282156111346165113410312154685617190251930586773888706618899840467585968644196603233368923056674786505632865377484842400996822664959483485098414551114161610505457728979115020973860709031546931831507687246426889896818460212289184984945019762727740286466761665512754178014036526945436747898396600523695225438658584997236621504784141172606654357538909017843638209000769848710662741626968231691407523787344131157831388312707524050404718895477000257703718755098988582245247880484078515243829256334940425823361874208681205533560616478617363014166191696833680437958532800858420075170847512229408615470052898065083463885219583489159749 4673059305452154278836817101679398828096251845626543235072475930989004936209322380535380706448049064305988221484037249158068874383753708159430018025645036110135550971064760139236309986602275515643213921874234281423424134956484605092323350758650456384189909600820690221942943592076180801881215495254235705084718064559555228997483233766167111279700869197206152785498689996958579160410943309587646030403617681423392373870119546988677203763580201168696229296672095149742392071863813205468667541997473832547629849626522095879489018584291707402008877520033589339295866632155067664836119144673189066343920473402700231870266056075401218300471031032755199183598724526641343233692437701041460320650255645083167166773316230293436040719170856619625678706270182920081231143095638934576454808427113722244822406198865116505108687568312448519108259006708882504949742626095772932947079947125343420589540632379733041984901306567558263125194048335334121431883189218623485248491703941727481158084238131978329204161054646492976203014081537164301287437731718485246964744076112815304325641937854651400125825701055062927600701308677807814169995245932858530158160955696662789081920964545668389982328168793567595485655755524335329871329032747631618778205941608543409394979832114426898112387459195635405206958564070693442261438089976936656457579435470258512909429428841900629854380986323991667347066151277420994600859035554646738270131017395286052625493957970787517605122990730552052698642290259446574496347350644179734250406566885071604253680029966638699628048410176106585271615464827819163523289270556147983053477298556511855595400107673426624547530191387257761635412909215077693077190113278231751960300834301209090461946464761978279900113048386225212233824253981997948984043804669676226458361029526402773185914835692478331829955802555517055281794457913756995955908861624462861810558980725859126434666103603381546897159607408848002685185746474161630165679457830584613509800604543727695436935114173865669646087484754830328894359791497972220258967826430083706149366923530296739249783145093840335094021894840248581617417593481503327132640522576765941965665483156907456068254140840120244002960122388787190076269342987196486366636847651286050031288981919518372170772026726273271039920690067016713451549962996021027937245652023101831502730771801150884902027663179125128709477555238177257001745712915066117708820220173138707485758352477323445866441263895536716024311694749051851358632228936011354781945319619885432351105462934203964641832702377353018331282033476684743164930219308453260357167324312993413521199428672727036082379506650813658057023546844205549294125757699377461396797362515377737625426532548010423132555691582482527800970019383348347930286145895011824226724184711097425784548471960710693602196847817841821774560309911620325313140417952799725623224798551686877878517398429506086700263996596566586392687892352509817686463289541983911727047037874902348414128103884675076304634926168910549552055609421099676655872223357494374140566446802056554349350747124017265896096398575411508453446762079523991250140902178754467535415335205680359909740477738044080912771418279960275083820888762235084042635981917013938074405979759904340053637979493440921603452371776895396237354520892794089879424775293013509324467333914409366112412238522745470622914973426552165216392651159693915585772247 7561168787665562429490674390563147551362456803629053174299655425251208917201899909223326892278235745004680324200347821930402369411280917234221099776455895735224652298402442354791069801628714680021341994308815283190531349155372632857005835231938622457268628924627590063429020079017090563446229602177686947196752857011933239029537280243820045875687729153462021628878906988528794562370926850844368499026505601614989568863956967907171328785375448747809822606159966312586120022703244587964742667180402327482410603149734820556486507672413038331874140687232812883630821671250637040160413918327438956836982575748471843987231008761530643027387174064055125052375738190831165583464176623389081353181202834160448449091638023065351951816949841237381975751192411288005874815639299196716663698470708945863522451145226907775002094825019953623249508320581473475542222874709975587002053438560483289238794886748270626876875267402824537958441006962376991474913386841926060775309844828276981737524826467700736685599905737170003241594262897085726580590670661823397427723660252976219940071498878530845612502518196829312353555809739812965414129836217561712920788844709710396018907960211970477544659072357005512702469654800044217670724763261090461335496033599617465190536232474714497824712474558651073002357435786350255125079646226135826875816094623450039169060583993859685794609701936631177235286408917746379805771339579278362662055039869108249253756249230042683073038480286231479273818564665656079796733452519626268658111348813345111445596297968261322568576744865959425699607131653533005110687703359709468925933556339278497511731742908920549827637664755921385951766899142721163145821315339042441361265605389880678584308368776145394793174135604206869016641829568131124444941360774177826770820556340811847403130857854116676831398931995297403243816346913777932336437809408846744332376753800218946134441823779857914886564554042284134185062185234229629446142025163404866760554002591270748683831233883700315280829596989706716909180365707644496756512929517721580204504912333771662855151589827378590422599662337464008986045402819929579138606328876642888575142324713099624553650853498222265344750959970495494549627068087901176993358823799876889661125680236302590851419191676937275847265154830097910757874462385049483522151767661241755752389654286774209376115028974066997014344048943926586007937241165126137459793934934876315173122516699389254925720809161813024825368897029338358198371354535899538010533256082251147556982094278456187608883923954188553908770249611168695429129461512248855821312943837280358676966353194259772655313225592515458168942585828115516500024894781965129448908474438626799781565389434111376192575613496716687164565951644050351710106504409293980338070349824507737939234089150962624188970736524460721615027895880264521916373786875856400409730431417064362720918395252171046183749095011117700554298397810238796801484263402692943273978869382589594841018000703135288593819911113930312279795895887861342168626401371530901086003194700453154873045972562675850893333020080195649626053416437062900267984540387755237384125997947307328141431885261831425043929249668272982607871293481130561042893685635769037062988225007784824132153223322697256543878195138769604918560054453410568496787789459205206158147771872942166970832313693592982852323588896605063281476115044913499074931996 12234228093117716708327491492242546379458708649255596409372131356240213853411222289758707598726284809310668545684385071088471243795034625393651117802100931845360203269467202494027379788230990195664555916183049564613955484111857237949329185990589078841458538525448280285371963671093271365327445097431922652281470921571488468027020514009987157155388598350668174414377596985487373722781870160432014529430123283038381942734076514895848532548955649916506051902832061462328512094567057793433410209177876160030040452776256916435975526256704745733883018207266402222926688303405704704996533063000628023180903049151172075857497064836931861327858205096810324235974462717472508817156614324430541673831458479243615615864954253358787992536120697857007654457462594208087105958734938131293118506897822668108344857344092024280110782393332402142357767327290355980491965500805748519949133385685826709828335519128003668861776573970382801083635055297711112906796576060549546023801548770004462895609064599679065889760960383662979444608344434250027868028402380308644392467736365791524265713436733182245738328219251892239954257118417620779584125082150420243078949800406373185100828924757638867526987241150573108188125410324379547542053796008722080113701975208160874585516064589141395937099933754286478209315999857043697386517736203072483333395530093708552078490012835760315648990688260622844582352560195167374406630375133925100932186057264394301879250207200830200678161471016783531972460854925102654293080803163806002908517915698416715699276327934900022196625155042066010971222596481352168633976973915857451979410854895790353107131850582347174375167856143179147587179808357798856223011428617274193321566439691089769046254833538123674693287183990432081250466083550129073428985165443854053229181585867214620589045693546595008661354734550814458525610804827534928292346671033309606142935734526078072569107927383239461783724161451132136870247931708391259611821482993989480270354607134998444120766348057565984926917081744537045803540157205616717015480755947805286353871835864068402104934734921218925516621557177712590603462996301432906271246851453408830540807807870007080621904994338342509347711082359282684625896411075097663359995671451162939692414662155820963022191218403210546887185844897114624209424425381070511459397419684343587255120426087925094278142692153192125723821604182103843009682954080192255168614155108015022658880869176712700792162073057349740849680591778390209557003583471910892792478575702136579908087557212660152250716626331541572240052283087853438594059680820702116178480268150273772198165781866986808737692732243329116225966132672321065794150652481342590845705836954004537406991921982121799325131305079199214965535971027398699640392650304305804564794534535605163723782561111673317791167584342302543389588205791884847229514204828656126032955229968751240599435793681677132884013091607684286946986290162748614487947552944676855001025907257491943255146104587810364898454837282840861831851505308961018824498624729025275226569641502509709222396719686693116789429418655607158079500178516586891518125442566509704919541333152987688051172362999875505956700667948233257691692182243365645085529667552782975137394204767689164185791202816138178147330566915665001155914575346204658376212564752218715482615105787351533083244552216338453475238562323157228497868766204607414660704243 19795396880783279137818165882805693930821165452884649583671786781491422770613122198982034491004520554315348869884732893018873613206315542627872217578556827580584855567869644848818449589859704875685897910491864847804486833267229870806335021222527701298727167450075870348800983750110361928773674699609609599478223778583421707056557794253807203031076327504130196043256503974016168285152797011276383028456628884653371511598033482803019861334331098664315874508992027774914632117270302381398152876358278487512451055925991736992462033929117784065757158894499215106557509974656341745156946981328066980017885624899643919844728073598462504355245379160865449288350200908303674400620790947819623027012661313404064064956592276424139944353070539094389630208655005496092980774374237328009782205368531613971867308489318932055112877218352355765607275647871829456034188375515724106951186824246309999067130405876274295738651841373207339042076062260088104381709962902475606799111393598281444633133891067379802575360866120832982686202607331335754448619073042132041820191396618767744205784935611713091350830737448721552307812928157433744998254918367981955999738645116083581119736884969609345071646313507578620890595065124423765212778559269812541449198008807778339776052297063855893761812408312937551211673435643393952511597382429208310209211624717158591247550596829620001443600390197254021817638969112913754212401714713203463594241097133502551133006456430872883751199951303015011246279419590758734089814255683432271566629264511761827144872625903161344765201899908025436670829728134885173744664677275566920905344411235068850618863593491267724202805520899100533538946707500520019368832743956316634682832045080970447630563202314269069486461319594638950267107913118260197873926526218031880000002142208026467992176551400711685492753666546111861769427151741312860628784480442156350475312488326297018703549751163097376670288715493416271055310116942620889057963508157394347030908609726269192804597581941266300207746678734243762712720522913261213771993685465526866558376748197840064960086324748597515939221219515176599589508399121362485409853180330051719115950132583106705175555847836564774692462042329778179175523479162998840353354495251039829353540342392123553873610410080147822734450999727212534967298887766119994981549187345585343007510080374699303654257721127259122738165653126030429017620195245318392628408090042891337832003385876101955717882882219162765675049488807728567755374938007810430803011831784387727465069651491116339859600550285730126148822532699022134023189142332950971999793211987554130875132135061246581393005957835844574394908718500436582294175547263307720294614311392631337188557311416233175517706918575915902130101922671449051350499154713599784902864884360112901663016650262635941980138320866763265004616101672149369145887991704512526442685661385815603320354188933848179067762186618801987501284687972987411289431816347369798275004776640081538096164105290945653492274748396771174111647401196822360993125026100556176312572836202962864095442692249368967682762438735802807705553594953649791786109982954264942303667331100295016192604248261706931000629917616506240299563475724496206128423353188552012200382429775473988317944426138835434691208762054434606074474629799615226873000354211423921640762877660293700054076865909931436327562151219762291779344881249520913735636239 32029624973900995846145657375048240310279874102140245993043918137731636624024344488740742089730805363626017415569117964107344857001350168021523335380657759425945058837336847342845829378090695071350453826674914412418442317379087108755664207213116780140185705975524150634172947421203633294101119797041532251759694700154910175083578308263794360186464925854798370457634100959503542007934667171708397557886752167691753454332109997698868393883286748580821926411824089237243144211837360174831563085536154647542491508702248653428437560185822529799640177101765617329484198278062046450153480044328695003198788674050815995702225138435394365683103584257675773524324663625776183217777405272250164700844119792647679680821546529782927936889191236951397284666117599704180086733109175459302900712266354282080212165833410956335223659611684757907965042975162185436526153876321472626900320209932136708895465925004277964600428415343590140125711117557799217288506538963025152822912942368285907528742955667058868465121826504495962130810951765585782316647475422440686212659132984559268471498372344895337089158956700613792262070046575054524582380000518402199078688445522456766220565809727248212598633554658151729078720475448803312754832355278534621562899984015939214361568361652997289698912342067224029420989435500437649898115118632280793542607154810867143326040609665380317092591078457876866399991529308081128619032089847128564526427154397896853012256663631703084429361422319798543218740274515861388382895058847238274475147180210178542844148953838061366961827054950091447642052324616237342378641651191424372884755266130859203725995444073614898577973377042279681126126515858318875591844172573590828004398484772060216676818035852392744179748503585071031517573996668389271302911691661885933229183728075241088581222244947306694154108401096926320295037956568847788921131151475465956618248222852375091272657678546336838454012876944548407925558048651012148669784991151383827301263216861267636925363929998832285134663760478780808516260680118877930787474441413332152912248584061908467065021059669816441455842776692889190192971395422795391681100031783460549656757940453113785797460842174907284040173124689060863801419890238096503713350166702202769045955004547944516895801628483358369621636844624327159176723313147190506440946607029928930262630506462624397932400413280451248461987257308134272027303149325510647797022245150906360490884255052814656510044955276512506524730080586118777312378521479721323595490407486524307373157208703776492110317176617271698388874815786875572617248823153653088178273480137827903073297916928233390130698690079173690620874851172757648088326199744650311140320148346635874595549233398354974842838223655115117095637893698847750990891805017905589467659418895718065386799211374309259771305905209065808394204307464034216375402196533168652475640891354566843919789982615525311951775278226486274448270978135736025777379369292046653276030683897573481351310209878756018390729585679612035943498906505783379817623650829581451539142477705472573317839411936062084472191857391409965785053773470236683304235425520774647223208664253282704243776611261582436957330585564739497991255657967861851213953020741334987337776634543163152503735628954973612838539328970099607230389205145819885249212918963642637123377983447645233137321418126269889802800713542919520277213647454128328396340482 51825021854684274983963823257853934241101039555024895576715704919223059394637466687722776580735325917941366285453850857126218470207665710649395552959214587006529914405206492191664278967950399947036351737166779260222929150646316979561999228435644481438912873425600020982973931171313995222874794496651141851237918478738331882140136102517601563217541253358928566500890604933519710293087464182984780586343381052345124965930143480501888255217617847245137800920816117012157776329107662556229715961894433135054942564628240390420899594114940313865397335996264832436041708252718388195310427025656761983216674298950459915546953212033856870038348963418541222812674864534079857618398196220069787727856781106051743745778138806207067881242261776045786914874772605200273067507483412787312682917634885896052079474322729888390336536830037113673572318623034014892560342251837196733851507034178446707962596330880552260339080256716797479167787179817887321670216501865500759622024335966567352161876846734438671040482692625328944817013559096921536765266548464572728032850529603327012677283307956608428439989694149335344569882974732488269580634918886384155078427090638540347340302694696857557670279868165730349969315540573227077967610914548347163012097992823717554137620658716853183460724750380161580632662871143831602409712501061489103751818779528025734573591206495000318536191468655130888217630498420994882831433804560332028120668251531399404145263120062575968180561373622813554465019694106620122472709314530670546041776444721940369989021579741222711727028954858116884312882052751122516123306328466991293790099677365928054344859037564882622780778897941380214665073223358838894960676916529907462687230529853030664307381238166661813666209823179709981784681909786649469176838217879917813229185870283267556573398796348018379646862067643038182064465108310160649549915631917622307093560711178672109976207429709434215124301592437964678980868165593633037727748499308778174332171826587536829729961511940098585342410439213024571228981203032139144559468126878859019470625332259748532025107384418413957395063996208065789782479794544157877090953212113512268772708073036220490973016690011472058732635167018839042976943369401095344066704661953242598399495346940068070769412038563506192356087844351539694144022200913310501422495794375514273270140586837323701586658134407710371200152910434164701044923344570829040425430335193797698322887640928916612227927837495675272199779569393847345067753459487531754398502239270912034838226860194892831969917726903001824537697348485897706640437965486604060178066692125382033948430051989479971523704647915018265015783569673194230382501747007958031434934459739267211784106544814588150360545142231031019225739816370296802341390959731505374370524303255830967049815861636945201751444226075829073398820409136183585521290188237681178918326552740382447240144171549373491019537464845288261949555666108723437066811185639416451551035460537655019447474315169701671883004334076383210055146307702605740810748676930137627851715313908435437413282104185431052154954296127212773490607368423886475090345408475039589526875995353577720436380859523289367957960503181245738290819133692358057342376373929886999538159064318637140821680055093809047529748091024534213304863834945435112122213273175066558764140861107938933191398284036201326130362864762681812056558528703649242131976721 83854646828585270830109480632902174551380913657165141569759623056954696018661811176463518670466131281567383701022968821233563327209015878670918888339872346432474973242543339534510108346041095018386805563841693672641371468025404088317663435648761261579098579401124171617146878592517628516975914293692674102997613178893242057223714410781395923404006179213726936958524705893023252301022131354693178144230133220036878420262253478200756649100904595825959727332640206249400920540945022731061279047430587782597434073330489043849337154300762843665037513098030449765525906530780434645463907069985456986415462973001275911249178350469251235721452547676216996336999528159856040836175601492319952428700900898699423426599685335989995818131453012997184199540890204904453154240592588246615583629901240178132291640156140844725560196441721871581537361598196200329086496128158669360751827244110583416858062255884830224939508672060387619293498297375686538958723040828525912444937278334853259690619802401497539505604519129824906947824510862507319081914023887013414245509662587886281148781680301503765529148650849949136831953021307542794163014919404786354157115536160997113560868504424105770268913422823882079048036016022030390722443269826881784574997976839656768499189020369850473159637092447385610053652306644269252307827619693769897294425934338892877899631816160380635628782547113007754617622027729076011450465894407460592647095405929296257157519783694279052609922795942612097683759968622481510855604373377908820516923624932118912833170533579284078688856009808208331954934377367359858501947979658415666674854943496787258070854481638497521358752274983659895791199739217157770552521089103498290691629014625090880984199274019054557845958326764781013302255906455038740479749909541803746458369598358508645154621041295325073800970468739964502359503064879008438471046783393088263711808934031047201248865108255771053578314469382513086906426214244645186397533490460162001633435043448804466655325441938930870477074199691805379745241883151017075346942568292191172382873916321656999090128444088230398850906772900954979975451189966953268772053243896972818429466013489334276770477532186379342772808291707899906778363259639191847780054828655445367445450351488012587665213667046864561977724688975866853320745514060501007863442401405443203532771093299948099519058547688161619662140167742298973072226493896339688222452580344704058813771895981731268737972792772187778724509649979966122380131980967253077993992646757436342211384068898669324080234903520273522926572164272773279257686788640257148356340172263209937021727968917713361654403337994191955636658420845951878470827946752608342575254608085903086379655778212943125203383365886146136321377710069144553332282764749410963838183722151549032436615073011254461522750131284894881793024716600217801896692384770849831393967444094949291159934154164898802971312743071774536397826644244459462844190554931463104827066144435228500798784525048457690273733919755995245998645214208389120628372327759719079390857791613908010731121516121493136627146153518622739275661141894123158394580833995814236750084659606860424680157470784871804915291088745985236282074791660219908556329394671221986875935698861800293325415684048782660368287419994633820535253040091254997371426192138709195887518844555584166328719702162471215933163578305601332333772176157777570528317203 135679668683269545814073303890756108792481953212190037146475327976177755413299277864186295251201457199508749986476819678359781797416681589320314441299086933439004887647749831726174387313991494965423157301008472932864300618671721067879662664084405743018011452826724192600120809763831623739850708790343815954235531657631573939363850513298997486621547432572655503459415310826542962594109595537677958730573514272382003386192396958702644904318522443071097528253456323261558696870052685287290995009325020917652376637958729434270236748415703157530434849094295282201567614783498822840774334095642218969632137271951735826796131562503108105759801511094758219149674392693935898454573797712389740156557682004751167172377824142197063699373714789042971114415662810104726221748076001033928266547536126074184371114478870733115896733271758985255109680221230215221646838379995866094603334278289030124820658586765382485278588928777185098461285477193573860628939542694026672066961614301420611852496649135936210546087211755153851764838069959428855847180572351586142278360192191213293826064988258112193969138344999284481401835996040031063743649838291170509235542626799537460901171199120963327939193290989612429017351556595257468690054184375228947587095969663374322636809679086703656620361842827547190686315177788100854717540120755259001046244713866918612473223022655380954164974015768138642835252526150070894281899698967792620767763657460695661302782903756855020790484169565425652148779662729101633328313687908579366558700069654059282822192113320506790415884964666325216267816430118482374625254308125406960464954620862715312415713519203380144139531172925040110456272962575996665513198005633405753378859544478121545291580512185716371512168149944490995086937816241688209656588127421721559687555468641776201728019837643343453447832536383002684423968173189169088020962415310710570805369645209719311225072537965205268702616061820477765887294379838278224125281989768940175965606870036341296385286953879029455819484638904829950974223086183156219906410695171050191853499248581405531115235828506644356245970769109020769757930984511111145863006456010485087202174086525554767743494222197851401505443458726738949755306629040287191846759490608687965844945698428080658434625705610370754333812533327406547464767714973811509285938195780957476802911680137271801105716682095871990862293078176463674117149838467168728647882915538501757136659536910647880965900630267863050924289219373813467447885440454784832392494886028348377049610929093562156050152630423275347464269512758670985898124754126861208534406864388591970970158020907193333178107985909210220652441990519146108853329693760566374010189067825170298163762323027531275563928508117177155547117526439441355673673724480916338208708025407379999486430934648199663274194357360723955191845125736401387417982573008531010312293996835331738400078325714272293990850207917062798347382310353182899911001740570879556378101604972883520246258840218159362156738253832378456053791521910994861439121004689856707242573105522343448144403620306924188782100449645835512766268510318009633484926242470853826276960654960438145116538330308161172873251591927230974572893925352577965898705768601108986414094763180437434147095739142591707898035511019168033840116875036690109493639465313775754651659705663523099520117986198672542063526443068283144390330704861426812660293924 219534315511854816644182784523658283343862866869355178716234951033132451431961089040649813921667588481076133687499788499593345124625697467991233329638959279871479860890293171260684495660032589983809962864850166605505672086697125156197326099733167004597110032227848364217267688356349252256826623084036490057233144836524815996587564924080393410025553611786382440417940016719566214895131726892371136874803647492418881806454650436903401553419427038897057255586096529510959617410997708018352274056755608700249810711289218478119573902716466001195472362192325731967093521314279257486238241165627675956047600244953011738045309912972359341481254058770975215486673920853791939290749399204709692585258582903450590598977509478187059517505167802040155313956553015009179375988668589280543850177437366252316662754635011577841456929713480856836647041819426415550733334508154535455355161522399613541678720842650212710218097600837572717754783774569260399587662583522552584511898892636273871543116451537433750051691730884978758712662580821936174929094596238599556523869854779099574974846668559615959498286995849233618233789017347573857906664757695956863392658162960534574462039703545069098208106713813494508065387572617287859412497454202110732162093946503031091135998699456554129779998935274932800739967484432370107025367740449028898340670648205811490372854838815761589793756562881146397452874553879146905732365593375253213414859063389991918460302687451134073400406965508037749832539631351583144183918061286488187075623694586178195655362646899790869104740974474533548222750807485842233127202287783822627139809564359502570486568000841877665498283447908700006247472701793154436065719094736904044070488559103212426275779786204770929358126476709272008389193722696726950136338036963525306145925067000284846882640878938668527248803005122967186783471238068177526492009198703798834517178579240766512473937646220976322280930531202990852793720594082923410522815480229102177599041913485145763040612395817960326296558838596635330719464969334173295253353263463241364236373164903062530205364272594874755096877542009975749733382174478064414635059699907457905631640100014889044513971754384230744278251750434638856533669888679479039626814319264133333290396049916093246099839372657235316311537222303273400785513229034312517149380597186400680335682773437219900624775229784033610524433245918762647189376332363508416870335495883205815950431432892379149703873423040050829648798869353779589828017421422037910386487532785784719260994997992231480130387533943548870390841677031444265155811542767118356890747036651801907991885989824906694832511323903402176289100411365097987324157640513174716585443675911073384543418101240474400767311874003323291868495236508585909005956489230327302046891747558929031923046007659454124796944488645618836984869842336619189314674957779380841706261440930281029560012479879171096962162950988837334745208954597642362755192295502342661205167749408112021045043365266617052430472173588373702052436736119383982067493332449575786633430897136251458875525136428417325409246603164458252041929652212132791879507076466668063027045314567298569796695801093032977788542680673216210854968717012797874455035163272330973290030462042237727472511423191374368266322931013801854375369915127945106865065657452484950539178550219107265848837688361143757996690021373884476724102881019204383188611127 355213984195124362458256088414414392136344820081545215862710279009310206845260366904836109172869045680584883673976608177953126922042379057311547770938046213310484748538043002986858882974024084949233120165858639538369972705368846224076988763817572747615121485054572556817388498120180875996677331874380306011468676494156389935951415437379390896647101044359037943877355327546109177489241322430049095605377161764800885192647047395606046457737949481968154783839552852772518314281050393305643269066080629617902187349247947912389810651132169158725907211286621014168661136097778080327012575261269894925679737516904747564841441475475467447241055569865733434636348313547727837745323196917099432741816264908201757771355333620384123216878882591083126428372215825113905597736744590314472116724973492326501033869113882310957353662985239842091756722040656630772380172888150401549958495800688643666499379429415595195496686529614757816216069251762834260216602126216579256578860506937694483395613100673369960597778942640132610477500650781365030776275168590185698802230046970312868800911656817728153467425340848518099635625013387604921650314595987127372628200789760072035363210902666032426147300004803106937082739129212545328102551638577339679749189916166405413772808378543257786400360778102479991426282662220470961742907861204287899386915362072730102846077861471142543958730578649285040288127080029217800014265292343045834182622720850687579763085591207989094190891135073463401981319294080684777512231749195067553634323764240237478477554760220297659520625939140858764490567237604324607752456595909229587604764185222217882902281520045257809637814620833740116703745664369151101578917100370309797449348103581333971567360298390487300870294626653763003476131538938415159792926164385246865833480535642061048610660716582011980696635541505969871207439411257346614512971614014509405322548224450485823699010184186181590983546593023468618681014973921201634648097469998042353564648783521487059425899349696989782116043477501465281693688055517329515159763958634291556089872413484468061320600101101519111342848311118996519491313158989175560498066155917942992833814186540443812257465976582082145783695209161377806288976517719766231473573809872821299135341748344173904534465078267606070645349755630679948250280944008124026435318792967358157138594453574491701730491911879905601386726324095226321306526170830677145518218411421707573087090969803027030669774053307913880573088088727593057275902861876822742778982418814133096310605927085793636180540164366824217855111189790115251053936296893979565425153901040393878962044010732100028010619309812612396941542401884244096177487334273741090595632743736243682707180424268005676331240382120500447415612762948027264679630213711243640255599772966309031409476942307653788071138846006342792176714968073020576732657530787911852018555437765612767960090805593443390953013158905900133092591264950825262666194036073222217583269354380995541291302205484776414587210427420752158106228258030378843506614337139432493876004002658594907019928756735341514191347052810293764808198162530142425364433318937521889304005969527736714913234131401194150661794272600447185427862642365375840353740931873439959704125225222675161619607162333966076164358442032969888215486790164635216358705122766260705190838255882630365368955674559816300060216464442167621114433585880631195848905051 574748299706979179102438872938072675480207686950900394578945230042442658277221455945485923094536634161661017361476396677546472046668076525302781100577005493181964609428336174247543378634056674933043083030708806143875644792065971380274314863550739752212231517282420921034656186476530128253503954958416796068701821330681205932538980361459784306672654656145420384295295344265675392384373049322420232480180809257219766999101697832509448011157376520865212039425649382283477931692048101323995543122836238318151998060537166390509384553848635159921379573478946746135754657412057337813250816426897570881727337761857759302886751388447826788722309628636708650123022234401519777036072596121809125327074847811652348370332843098571182734384050393123281742328768840123084973725413179595015966902410858578817696623748893888798810592698720698928403763860083046323113507396304937005313657323088257208178100272065807905714784130452330533970853026332094659804264709739131841090759399573968354938729552210803710649470673525111369190163231603301205705369764828785255326099901749412443775758325377344112965712336697751717869414030735178779556979353683084236020858952720606609825250606211101524355406718616601445148126701829833187515049092779450411911283862669436504908807077999811916180359713377412792166250146652841068768275601653316797727586010278541593218932700286904133752487141530431437741001633908364705746630885718299047597481784240679498223388278659123167591298100581501151813858925432267921696149810481555740709947458826415674132917407120088528625366913615392312713318045090166840879658883693052214744573749581720453388849520887135475136098068742440122951218366162305537644636195107213841519836662684546397843140084595258230228421103363035011865325261635142109929264201348772171979405602642345895493301595520680507945438546628937057990910649325524141004980812718308239839726803691252336172947830407157913264477124226459471474735568004125045170912950227144531163690697006632822466511745514950108412602316098100612413153024851502810413117222097532920326245578387530591525964373696393866439725853128972269224695333467239975133125855825400898465454286555332856771437730966312890061946959596016662822646406399245271100388129136954632425737798260267150634304450924841386956886977933953349035794173042436543584699390153758837474277227011711602355267141663939211911159570013988968495902503194185562388553907304913389037522402695406180373647476347964710221886958081372647103920283298860653165469951599917815571600925078025116310927698310373088245952866821559516209747839661097922315900937692195786953930000557006722843130633716014573230642813249342083501644974786915807181076419647317067250598525508480077098552256123823739284107999456613173685586702941570942302491520525238063332522949967107912868083334651961629161584810409639766047332488567292693724816878695893797520103285472614487915176109894737467837800219548467625421386331575564878788437103789107562336345570751393467017682601009125860158664994149762825574107669589008280509434899794846365895453893163758839600593655974752016850127814742275217243940395404189952331051284095035284709929932494227128450336953273663396282831359378173714808776095145770932994155687264912889092118585525340444430681373046771742590856705292580323223770780218745655730016806101737631217793362920960058056906485816052097838536466899835579037516178 929962283902103541560694961352487067616552507032445610441655509051752865122481822850322032267405679842245901035453004855499598968710455582614328871515051706492449357966379177234402261608080759882276203196567445682245617497434817604351303627368312499827353002336993477852044684596711004250181286832797102080170497824837595868490395798839175203319755700504458328172650671811784569873614371752469328085557971022020652191748745228115494468895326002833366823265202235055996245973098494629638812188916867936054185409785114302899195204980804318647286784765567760304415793509835418140263391688167465807407075278762506867728192863923294235963365198502442084759370547949247614781395793038908558068891112719854106141688176718955305951262932984206408170700984665236990571462157769909488083627384350905318730492862776199756164255683960541020160485900739677095493680284455338555272153123776900874677479701481403101211470660067088350186922278094928920020866835955711097669619906511662838334342652884173671247249616165243979667663882384666236481644933418970954128329948719725312576669982195072266433137677546269817505039044122783701207293949670211608649059742480678645188461508877133950502706723419708382230865831042378515617600731356790091660473778835841918681615456543069702580720491479892783592532808873312030511183462857604697114501372351271696065010561758046677711217720179716478029128713937582505760896178061344881780104505091367077986473869867112261782189235654964553795178219512952699208381559676623294344271223066653152610472167340386188145992852756251077203885282694491448632115479602281802349337934803938336291131040932393284773912689576180239654964030531456639223553295477523638969184766265880369410500382985745531098715730016798015341456800573557269722190365734019037812886138284406944103962312102692488642074088134906929198350060582870755517952426732817645162275028141738159871958014593339504248023717249928090155750541925326679819010420225186884728339480528119881892411095211939890528645793599565894106841080368832325572881180731824476416117991871998652846564474797912977782574164247968788716008492456415535631192011743343891299268473095776669028903707548395035845642168757394469111622924119011502573961939009775931561079546604441055168769529192447457602236733564633297286075117050560570020018183121116994612871680586203304085759053543844813297885894109215289802428674024862707906772318726620962124613372498433211043421529655878590794975046808965704379823145175683395944452370414050911882206852163818752491467862677197306101064056611674767263684136555077487741054838732589665915974011289106750853749943528626970172185215133586179679132309060656897776709163383560749957778949776485753429792638244324186699720762404640438365216916652814582558091293491547094741999892274761700939222180658304421338299778482660342779990019355204545743372316461506565480194091066057878868189268800637600930391484499292888087580367648787096371706458170103103627647776236169881604893028429878018264893252180141669080722006728440774385438902453441272915382649899100353791940708785045781658325977272417642608373714341711841635057253622771999623164063895421279112131225874110581710694001743549555162517027019210892698280912487588050711725747859306520595039815079741630806343495457215539582475902985006360920855061984367996586749037480776358117122950258219718952970052780466774886421229 1504710583609082720663133834290559743096760193983346005020600739094195523399703278795807955361942314003906918396929401533046071015378532107917109972092057199674413967394715351481945640242137434815319286227276251826121262289500788984625618490919052252039584519619414398886700871073241132503685241791213898148872319155518801801029376160298959509992410356649878712467946016077459962257987421074889560565738780279240419190850443060624942480052702523698578862690851617339474177665146595953634355311753106254206183470322280693408579758829439478568666358244514506440170450921892755953514208115065036689134413040620266170614944252371121024685674827139150734882392782350767391817468389160717683395965960531506454512021019817526488685646983377329689913029753505360075545187570949504504050529795209484136427116611670088554974848382681239948564249760822723418607187680760275560585810446865158082855579973547211006926254790519418884157775304427023579825131545694842938760379306085631193273072205094977381896720289690355348857827113987967442187014698247756209454429850469137756352428307572416379398850014244021535374453074857962480764273303353295844669918695201285255013712115088235474858113442036309827378992532872211703132649824136240503571757641505278423590422534542881618761080204857305575758782955526153099279459064510921494842087382629813289283943262044950811463704861710147915770130347845947211507527063779643929377586289332046576209862148526235429373487336236465705609037144945220620904531370158179035054218681893068826743389574460474716771359766371643389917203327784658289511774363295334017093911684385658789679980561819528759910010758318620362606182396693762176868189490584737480489021428950426767253640467581003761327136833379833027206782062208699379651454567082791209792291740926752839597263907623372996587512634763843987189260709908394896522933239451125885002001831832990496044905845000497417512500841476387561630486109929451724989923370452331415892030177534752704358922840726889998941248109697666506519994105220335135985998402829357396742363570259529244372528848494306844222300017376941057940703825923655510764317867568744789764722759651109525800341438514707925907589128353411131934269330518256773674350068146730563986817344864708205803073980117288844559123711498586646321869290092997113604717573274875832087148907597914906441026195207784025209045464123204258298331177219048270295326226031534351162135775193839391417069006003843301016862004890338351483743428474544049109922322013968727453807777241843868802395560987570394347016923433234283473431976216175410056955776424785452869904011846113473696880577244641543402828028382928263180777283847572704957785583030877817208377475284965830528344894368147925983828761861253612050803619594385524860582814016785158074522842241869613807305515310266050499884588892300108827322507922497239468189195157400363000297376538672366783365378695375068768191704047760513508966699224351975160143561959210665963993346987563348622575629439003878423558246329904494654829676317449054894873802248287638810836543062859193392534364759797798508453792014692859852314109745901793966108537717807284333093996389648407562468179147773977993525361121723269971293122164981825692436599752500939803844333384646965025721188126513373397200200749795862806246683203752016650871868086105627804542400401736416174029436074271816791506519680302353923937407 2434672867511186262223828795643046810713312701015791615462256248145948388522185101646129987629347993846152819432382406388545669984088987690531438843607108906166863325361094528716347901850218194697595489423843697508366879786935606588976922118287364751866937521956407876738745555669952136753866528624011000229042816980356397669519771959138134713312166057154337040640596687889244532131601792827358888651296751301261071382599188288740436948948028526531945685956053852395470423638245090583273167500669974190260368880107394996307774963810243797215953143010082266744586244431728174093777599803232502496541488319382773038343137116294415260649040025641592819641763330300015006598864182199626241464857073251360560653709196536481794636909916361536098083730738170597066116649728719413992134157179560389455157609474446288311139104066641780968724735661562400514100867965215614115857963570642058957533059675028614108137725450586507234344697582521952499845998381650554036429999212597294031607414857979151053143969905855599328525490996372633678668659631666727163582759799188863068929098289767488645831987691790291352879492118980746181971567253023507453318978437681963900202173623965369425360820165456018209609858363914590218750250555493030595232231420341120342272037991085951321341800696337198359351315764399465129790642527368526191956588754981084985348953823802997489174922581889864393799259061783529717268423241840988811157690794423413654196336018393347691155676571891430259404215364458173320112912929834802329398489904959721979353861741800860904917352619127894467121088610479149738143889842897615819443249619189597125971111602751922044683923447894800602261146427225218816091742786062261119458206195216307136664140850566749292425852563396631042548238862782256649373644932816810247605177879211159783701226219726065485229586722898750916387610770491265652040885666183943530164276859974728655916863859593836921760524558726315651786236651854778404808933790677518300620369658062872586251333935938829889469893903297232400626835185589167461558879583561181873158481562131527897219093323292219822004874181624909846656712318380071046395509879312088681063991232746886194829245146063102961753231297110805601045892254637268276248312007156506495547896891469149260971843509309736302161360445063219943607944407143557683624735756395992826700020588184118210526785248751628838506931358232419548100759851243910978202098544758155313286749147692272602460490535659721891811837051699304055863566573650227445054374692428019639336014629405662621293863423664767700448080980044909050737116112771252897798010615157375118785878023135220224550630520773268513575013243516514442859909592908229602734494746414438567166156425061451583958137532612472112683549524265894050416020536247200107418674107508332252816522734516631314746527695968570471838184367374960451607312527277701785211561511618906928480491467604730245651554647496012669698583188547053401596547066873139071531850020129313769591641123223733230227468657868881896688451498510046163735551683045889829280312704701728911726219192961959547184475073544843580166779769287110502460687824087613635601165791340579283956258060285069686674599405021884559704219362865272825133810149184192718390717512240088990515570081243953485620761003206255004203543696207011402388722586188758377571726930070473624391291437882512774291152386332491535744476572460769128810358636 3939383451120268982886962629933606553810072894999137620482856987240143911921888380441937942991290307850059737829311807921591740999467519798448548815699166105841277292755809880198293542092355629512914775651119949334488142076436395573602540609206417003906522041575822275625446426743193269257551770415224898377915136135875199470549148119437094223304576413804215753108542703966704494389589213902248449217035531580501490573449631349365379429000731050230524548646905469734944601303391686536907522812423080444466552350429675689716354722639683275784619501254596773184756695353620930047291807918297539185675901360003039208958081368665536285334714852780743554524156112650782398416332571360343924860823033782867015165730216354008283322556899738865787996760491675957141661837299668918496184686974769873591584726086116376866113952449323020917288985422385123932708055645975889676443774017507217040388639648575825115063980241105926118502472886948976079671129927345396975190378518682925224880487063074128435040690195545954677383318110360601120855674329914483373037189649658000825281526597339905025230837706034312888253945193838708662735840556376803297988897132883249155215885739053604900218933607492328036988850896786801921882900379629271098803989061846398765862460525628832940102880901194503935110098719925618229070101591879447686798676137610898274632897085847948300638627443600012309569389409629476928775950305620632740535277083755460230406198166919583120529163908127895965013252509403393941017444299992981364452708586852790806097251316261335621688712385499537857038291938263808027655664206192949836537161303575255915651092164571450804593934206213420964867328823918980992959932276646998599947227624166733903917781318147753053752989396776464069755020924990956029025099499899601457397469620137912623298490127349438481817099357662594903576871480399660548563818905635069415166278691807719151961769704594334339273025400202703213416722761784230129798857161129849716512399835597625290610256776665719888411142012994898907146829290809502597544877986390539269900845132391057141591622171786526666227174199001850904597416144303726557159827746880833470828713992397995720629586584577810887660820425464216732980161585155525049922662075303237059534714236333857466774917489427025146720484156561806589929813697236554797229453329670868658787169495782033116967811443959412863715976822355623806399091028462959248497424770789689664448884922886111993877559541663565192828699056589642407347310002124771494164297014441988366789822406647506490096258984652338094795097903478143334210548088987428307854966391582160571655782034981333698247511098017910056977841271899442706040686876755802307692280329445316384374533900346417414486482426980620038667378286127147662466824155841585632279256921525117410891045576758500928553833211278836522338068956267260560434635035200199024679750706776307291480788844143402612434920026191387738466774892594813915105513766097491046691993582088524435555634470211296578850044287307885775112009744839950658390381359363338884175186506950016550537055736024818740577009438304641378675233561301803362313001933833515429567274329058386568289352056674718094237067584169658537697744723986996095105103271349174544083154111992589930319414414628600450646482191332768377600743896956807265194969269392510394222598798156579252195833838284249190465181822406763352535983092141071482734296043 6374056318631455245110791425576653364523385596014929235945113235386092300444073482088067930620638301696212557261694214310137410983556507488979987659306275012008140618116904408914641443942573824210510265074963646842855021863372002162579462727493781755773459563532230152364191982413145406011418299039235898606957953116231597140068920078575228936616742470958552793749139391855949026521191006729607337868332282881762561956048819638105816377948759576762470234602959322130415024941636777120180690313093054634726921230537070686024129686449927073000572644264679039929342939785349104141069407721530041682217389679385812247301218484959951545983754878422336374165919442950797405015196753559970166325680107034227575819439412890490077959466816100401886080491229846554207778487028388332488318844154330263046742335560562665177253056515964801886013721083947524446808923611191503792301737588149275997921699323604439223201705691692433352847170469470928579517128308995951011620377731280219256487901921053279488184660101401554005908809106733234799524333961581210536619949448846863894210624887107393671062825397824604241133437312819454844707407809400310751307875570565213055418059363018974325579753772948346246598709260701392140633150935122301694036220482187519108134498516714784261444681597531702294461414484325083358860744119247973878755264892591983259981850909650945789813550025489876703368648471413006646044373547461621551692967878178873884602534185312930811684840480019326224417467873861567261130357229827783693851198491812512785451113058062196526606065004627432324159380548742957765799554049090565655980410922764853041622203767323372849277857654108221567128475251144199809051675062709259719405433819383041040581922168714502346178841960173095112303259787773212678398744432716411705002647499349072406999716347075503967046686080561345819964482250890926200604704571819012945330555551782447807878633564188171261033549958929018865202959413639008534607790951807368017132769493660497876861590712604549777881035916292131307773664476398670059103757569951721143059326694522585038810715495078746488232048380626760751254128462683797603555337626192922151892705225144881915458831730640913849414051722575022334026053839792793326170974082459743555082611127803006727746760998736761448881844601625026533537758104380112480854189086066861485487190083966151327494596692711041702222908180588043354499850879706870226699523315547844977735634070578384596338050077323287084640536108288946463210876575774998939218671706870008006125837036053169111390122408317105795243178883523052384947664201758681205652977006739535690441660058116553922798141618791178570552854515415957148900596469664031910426775075859754951540690325407868998444619959593092151350927810393041712882844692088785739697931029033449663707568311275132243300360907247406994176253323642221012041947562477900809891312218395214219961280311748132858086474673687400408165358081141867316702060832970630118223843602217838205147275593435029809077512945176767671800461243349996822125933042409228713455499211651745462263274928986778287761484511849484958842013330588913864773689757921129065168440120398965852245610116959787780911666989191543097401964086852268920238913420533367262473871624232678920834984495872553936267243194539023381804287593163818667583691855581268771794325728227052876587125276166761964756334208739254888280459664601840611544654679 10313439769751724227997754055510259918333458491014066856427970222626236212365961862530005873611928609546272295091006022231729151983024027287428536475005441117849417910872714289112934986034929453723425040726083596177343163939808397736182003336700198759679981605108052427989638409156338675268970069454460796984873089252106796610618068198012323159921318884762768546857682095822653520910780220631855787085367814462264052529498450987471195806949490626992994783249864791865359626245028463657088213125516135079193473580966746375740484409089610348785192145519275813114099635138970034188361215639827580867893291039388851456259299853625487831318469731203079928690075555601579803431529324920314091186503140817094590985169629244498361282023715839267674077251721522511349440324328057250984503531129100136638327061646679042043367008965287822803302706506332648379516979257167393468745511605656493038310338972180264338265685932798359471349643356419904659188258236341347986810756249963144481368388984127407923225350296947508683292127217093835920380008291495693909657139098504864719492151484447298696293663103858917129387382506658163507443248365777114049296772703448462210633945102072579225798687380440674283587560157488194062516051314751572792840209544033917873996959042343617201547562498726206229571513204250701587930845711127421565553941030202881534614747995498894090452177469089889012938037881042483574820323853082254292228244961934334115008732352232513932214004388147222189430720383264961202147801529820765058303907078665303591548364374323532148294777390126970181197672487006765793455218255283515492517572226340108957273295931894823653871791860321642531995804075063180802011607339356258319352661443549774944499703486862255399931831356949559182058280712764168707423843932616013162400117119486985030298206474424942448863785438223940723541353731290586749168523477454082360496834243590166959840403268782505600306575359131722078619682175423238664406648112937217733645169329258123167471847489270269666292177929287030214920493767208172656648635556342260412960171826913642180402337666865273154459222579628611655851544606987524160715165373073755622721419217542877636088418315218724737074872148039239067006215424948318376093636157762980614617325364136864194521678488163786595602328758186833123467571801616667278083642415737730144274359579748184444462408136670454565938885002943667160898941908169829475196948086337534642184518993464496590215609618986852277469235164878588870558186577899770433382968721311996372915659442700675601486381392969443890038276787001195719158212290746109513507943398321696262097442093097887621045652716809088627530695787315399854941283346419834218119055405305071335915224225754286412931102386573712190018306096520189375349668847930371371977187950558567074598613888033633171854194118526243516514322279909481572476582597678099834571062925171521511442069155891535470521394699878788146632132973736681231807574599068121164915837184306362640702910063646326387927557232484653446912470988189947480516314401772567597630685718601762012800330665011597028338493950154126337517246891890717227086691691754644494735714449457352420534962173634505875148734573361201635099708810839265015344016691882541806557025736225268851154398910501154386913725385871791759405031490120625932778661124973779166016924526383632128782959114451011155221516031146018240816442756742912094278950722 16687496088383179473108545481086913282856844087028996092373083458012328512810035344618073804232566911242484852352700236541866562966580534776408524134311716129857558528989618698027576429977503277933935305801047243020198185803180399898761466064193980515453441168640282580353830391569484081280388368493696695591831042368338393750686988276587552096538061355721321340606821487678602547431971227361463124953700097344026614485547270625577012184898250203755465017852824113995774651186665240777268903438609189713920394811503817061764614095539537421785764789783954853043442574924319138329430623361357622550110680718774663703560518338585439377302224609625416302855994998552377208446726078480284257512183247851322166804609042134988439241490531939669560157742951369065557218811356445583472822375283430399685069397207241707220620065481252624689316427590280172826325902868358897261047249193805769036232038295784703561467391624490792824196813825890833238705386545337298998431133981243363737856290905180687411410010398349062689200936323827070719904342253076904446277088547351728613702776371554692367356488501683521370520819819477618352150656175177424800604648274013675266052004465091553551378441153389020530186269418189586203149202249873874486876430026221436982131457559058401462992244096257908524032927688575784946791589830375395444309205922794864794596598905149839880265727494579765716306686352455490220864697400543875843921212840113207999611266537545444743898844868166548413848188257126528463278158759648548752155105570477816376999477432385728674900842394754402505357053035749723559254772304374081148497983149104961998895499699218196503149649514429864099124279326207380611063282402065518038758095262932815985081625655576757746110673317122654294361540500537381385822588365332424867402764618836057437297922821500446415910471518785286543505835982181512949773228049273095305827389795372614767719036832970676861340125318060740943822641589062247199014439064744585750777938822918621044333438201874819444173213845579161522694158243606842715752393126293981556019498521436227219213053161944019642691270960255372407105673069671321764270502999266677774614124442687759551547250045859638586488923870614261401032269264741111702264610240222724169699936491939870922268439486900548044484173359811859657005329905996779758937831501804591629761549663714335771957004829381496268161793183531710515398792787876699701896471401885379619920153064042881186553659696310139362109771273167535333769063153674769372601640428182004379041496478753844712876503801286549685281455670524248104105876492504790719160920405061231952539102151214441543843794335600267198083550302731357003841879816083866128545830481164826287455914551162155411375722346166804341369233906913231088232513540019157111675118979592016738306182199308765415154555025773650510690575603551702584518530160156000644462375143566735731403349467639668328607869373566188554797491054878548548509635432038751283139680786524200845850185657081356197005070177661421118712932231539944302642247444181796311086184930253507475063605593998375316099978462003611296359260222479631091860381449675773559904154569856318272780572290594293656060401562552744732501672897691533935582930112415909069030897360457947771989383406373708323180968580410815141209319083284444600362352980555047937811250254610685005370084390617773119977850239885273129096902421344752705823605401 27000935858134903701106299536597173201190302578043062948801053680638564725175997207148079677844495520788757147443706258773595714949604562063837060609317157247706976439862332987140511416012432731657360346527130839197541349742988797634943469400894179275133422773748335008343468800725822756549358437948157492576704131620445190361305056474599875256459380240484089887464503583501256068342751447993318912039067911806290667015045721613048207991847740830748459801102688905861134277431693704434357116564125324793113868392470563437505098504629147770570956935303230666157542210063289172517791839001185203418003971758163515159819818192210927208620694340828496231546070554153957011878255403400598348698686388668416757789778671379486800523514247778937234234994672891576906659135684502834457325906412530536323396458853920749263987074446540447492619134096612821205842882125526290729792760799462262074542377267964967899733077557289152295546457182310737897893644781678646985241890231206508219224679889308095334635360695296571372493063540920906640284350544572598355934227645856593333194927856001991063650151605542438499908202326135781859593904540954538849901420977462137476685949567164132777177128533829694813773829575677780265665253564625447279716639570255354856128416601402018664539806594984114753604440892826486534722435541502817009863146952997746329211346900648733970717904963669654729244724233497973795685021253626130136149457802047542114619998889777958676112849256313770603278908640391489665425960289469313810459012649143119968547841806709260823195619784881372686554725522756489352709990559657596641015555375445070956168795631113020157021441374751506631120083401270561413074889741421776358110756706482590929581329142439013146042504674072213476419821213301550093246432297948438029802881738323042467596129295925388864774256957009227267047189713472099698941751526727177666324224038962781727559440101753182461646700677192463022442323764485485863421087177681803484423108152176744211805285691145089110465391774866191737614652010815015372401028682636241968979670348349869399615390828809292797150493539883984062957217676658845924985668372340433397335543660230637187635668361078363323563796018653500468038484689689430078358246397985704784317261856076735116790117975064334640086502117998692780472901707613447037021473917542321774035909243462520216419412966051950834100678186475377676297734696046529177093419488222914262104672057507377776769269315296991639579006438046124204327249731574539805984609149494000751957155921454520314362885194255993575319732457525443823264088783250900232668863803382928214636544244312329164889447052409355825614246090046756858783163162503700346664885886469897623371138776916441824306824732740516531387540003433420463582182387949528483652306930150583812904796087342398587008749144299894027204897883461184156995112757834100479033438068738257242845418623531203799129264073444976701429624028615229780317210031106872448055517970830563486553095720727682584932627410146074565625403219729891783158561845954363908716870648855269487863936259009972344438472412157737633876507114370348318947073141430418054639869019313670693315534464228799531209136135913946367601381708530798950926946804298450875587923096683216623143782316874862710094693966282606900614350573405070533141014105528827103828174780994317134153043505068784275199366271031291369913345178087664800102556123 43688431946518083174214845017684086484047146665072059041174137138650893237986032551766153482077062432031241999796406495315462277916185096840245584743628873377564534968851951685168087845989936009591295652328178082217739535546169197533704935465088159790586863942388617588697299192295306837829746806441854188168535173988783584111992044751187427352997441596205411228071325071179858615774722675354782036992768009150317281500592992238625220176745991034503924818955513019856908928618358945211626020002734514507034263203974380499269712600168685192356721725087185519200984784987608310847222462362542825968114652476938178863380336530796366585922918950453912534402065552706334220324981481880882606210869636519738924594387713514475239765004779718606794392737624260642463877947040948417930148281695960936008465856061162456484607139927793072181935561686892994032168784993885187990840009993268031110774415563749671461200469181779945119743271008201571136599031327015945983673024212449871957080970794488782746045371093645634061693999864747977360188692797649502802211316193208321946897704227556683431006640107225959870429022145613400211744560716131963650506069251475812742737954032255686328555569687218715343960098993867366468814455814499321766593069596476791838259874160460420127532050691242023277637368581402271481514025371878212454172352875792611123807945805798573850983632458249420445551410585953464016549718654170005980070670642160750114231265427323403420011694124480319017127096897518018128704119049117862562614118219620936345547319239094989498096462179635775191911778558506212911964762864031677789513538524550032955064295330331216660171090889181370730244362727477942024138172143487294396868851969415406914662954798015770892153177991194867770781361713838931479069020663280862897205646357159099904894052117425835280684728475794513810553025695653612648714979576000272972151613834335396495278476934723859322986825995253203966264965353547733062435526242426389235201046975095365256138723893019908554638605620445353260308810254421858088153421808930223524999168869786096618828443990753312439841764500139356470062890746330167689256171371607111171949668102918396739182918406938001910052719889267761869070753954430541780622856638208428954017198348016606039058557461964882684570675477810552437478231613610226795959305419346913403797458907176855988376417795433447102262471370007088191696527483923228878989890890108293882024825121550258963322929011607131001688777711213659538096312885249309178586249577676005130998652400208365027239388995542543260601188128049691927369965275755690951829784208444160167175646395526770708733241388009623023697796392778113862625042978587566475210716367634723910827053328078597235682547078907320872756773910346651551814695927968685595327425909742600551210978286651164002163304170073544537895473487012886741513642917990101123495813212304992974248768091170872127737133447011165256227115083493778328826845463145623731195198757354764332403281377809038781937697587807495684338335451269836085800809290136160219803055579108776962927541853008347660538450874161348930235767336849979410807454591106191614544023589169988966096106754823093187269537698466691100103054606222332886509876916714359944618820457141164395133165723248571033275662546693422041823669656689515133503367086083875041639425035605002139523127895686557395177216510916564499010247599432417505926161524 70689367804652986875321144554281259685237449243115121989975190819289457963162029758914233159921557952819999147240112754089057992865789658904082645352946030625271511408714284672308599262002368741248655998855308921415280885289157995168648404865982339065720286716136952597040767993021129594379105244390011680745239305609228774473297101225787302609456821836689501115535828654681114684117474123348100949031835920956607948515638713851673428168593731865252384620058201925718043206050052649645983136566859839300148131596444943936774811104797832962927678660390416185358526995050897483365014301363728029386118624235101694023200154723007293794543613291282408765948136106860291232203236885281480954909556025188155682384166384893962040288519027497544028627732297152219370537082725451252387474188108491472331862314915083205748594214374333519674554695783505815238011667119411478720632770792730293185316792831714639360933546739069097415289728190512309034492676108694592968914914443656380176305650683796878080680731788942205434187063405668884000473043342222101158145543839064915280092632083558674494656791712768398370337224471749182071338465257086502500407490228937950219423903599419819105732698221048410157733928569545146734479709379124769046309709166732146694388290761862438792071857286226138031241809474228758016236460913381029464035499828790357453019292706447307821701537421919075174796134819451437812234739907796136116220128444208292228851264317101362096124543380794089620406005537909507794130079338587176373073130868764056314095161045804250321292081964517147878466504081262702264674753423689274430529093899995103911233090961444236817192532263932877361364446128748503437213061884909070754979608675897997844244283940454784038195682665267081247201182927140481572315452961229300927008528095482142372490181413351224145458985432803741077600215409125712347656731102727450638475837873298178222837917036477041784633526672445666988707289118033218925856613420108192719624155127272109467944009584164997665103997395311544997923462265236873460554450491566465493978839218135966018443834819562605236992258040023340533020108422989013614241839743947544569285211763149033926818586768016365233616515907921262337109238644119971858981103036194133738334460204093341155848675437029217324657177595809245217951133321223673832980779336889235177833368150639376204795830761485397936363149556482465867994262179969758056083310378331208144129497179057636740092198326904122641267784149259783742423562616823848984570858727170005882955808321662885341602274189798536835920920585575135750634054059006591184498648011827088381812190639839099873622688440418978849312042482824870721408206141091266821875602254104621534198192104995039059989371811647837404144313913780072015396878315918214078979732839893184364115774373993562589172053314373438565100371370474070898508755675824201602529251281043250217094186714702075926866397520456141957656739112109008109144055494252496179250716728185327818956377098536721366870324997953570249963738670999727868959371136090524128519926227964046450791478112018320004976923286319086564112274451220327729754527732536609669183892608483659659411641219051892718478673834380637467704436314753131837436823721012810820206743553824381018276948040123433743370356512976028942438020230094585666644381191612702145467599816599319273676171400755341670376582781947855868923592777520082306028717647 114377799751171070049535989571965346169284595908187181031149327957940351201148062310680386641998620384851241147036519249404520270781974755744328230096574904002836046377566236357476687107992304750839951651183487003633020420835327192702353340331070498856307150658525570185738067185316436432208852050831865868913774479598012358585289145976974729962454263432894912343607153725860973299892196798702882986024603930106925230016231706090298648345339722899756309439013714945574952134668411594857609156569594353807182394800419324436044523704966518155284400385477601704559511780038505794212236763726270855354233276712039872886580491253803660380466532241736321300350201659566625452528218367162363561120425661707894606978554098408437280053523807216150823020469921412861834415029766399670317622469804452408340328170976245662233201354302126591856490257470398809270180452113296666711472780785998324296091208395464310822134015920849042535032999198713880171091707435710538952587938656106252133386621478285660826726102882587839495881063270416861360661736139871603960356860032273237226990336311115357925663431819994358240766246617362582283083025973218466150913559480413762962161857631675505434288267908267125501694027563412513203294165193624090812902778763208938532648164922322858919603907977468161308879178055631029497750486285259241918207852704582968576827238512245881672685169880168495620347545405404901828784458561966142096290799086369042343082529744424765516136237505274408637533102435427525922834198387705038935687249088384992659642480284899239819388544144152923070378282639768915176639516287720952220042632424545136866297386291775453477363623153114248091608808856226445461351234028396365151848460645313404758907238738470554930348860656461949017982544640979413051384473624510163824214174452641242277384233530777059426143713908598254888153241104779324996371710678727723610627451707633574718116393971200901107620352667698870954972254471580951988292139662534581954825202102367474724082733477184906219742603015756898258232272519658731548707872300496689018978008087922062637272278810315917676834022540162697003082999169319181303498011115554655741234879866067430666001505174954367143669235797189024206179992598550513639603959674402562692351658552109947194907232898994100009227853073619797655429364934833900628940084756236148581630827057816232193172248556918845038625620926489554059690789663892986935073201268439502026154322300607895703415127338511253642956561860473443280519875502073158163157108304846011013954460721871250368841663185341080096522108713624827678004019334762282136328432220271248548987837035365870582355929828428601873009838875602984584033249119678833297086318621739345445025245433073636295671918890555158276901087824126723567211574243886899674307158749635784915326752660644726591335357484446983102995844857486957640022398593814302726025064493348243191342954805872948054603530967467307213883854195602786437970900957398119910445915485540092151359658476345760148808022585761065934302074122269563954760180426226684348322981807072823413719019965026667665515374160480435494348041788070307140561982323642801283727916197653648625507747973874985905748211532847328567807490920975464723946700637727170764825564010965545413410113763372004776646019059669450984261689886784100800147748277696577187107024852204321413199299296441899065553799292864420367933840376952499811954879171 185067167555824056924857134126246605854522045151302303021124518777229809164310092069594619801920178337671240294276632003493578263647764414648410875449520934628107557786280521029785286369994673492088607650038795925048301306124485187871001745197052837922027437374662522782778835178337566026587957295221877549659013785207241133058586247202762032571911085269584413459142982380542087984009670922050983935056439851063533178531870419941972076513933454765008694059071916871292995340718464244503592293136454193107330526396864268372819334809764351118212079045868017889918038775089403277577251065089998884740351900947141566909780645976810954175010145533018730066298337766426916684731455252443844516029981686896050289362720483302399320342042834713694851648202218565081204952112491850922705096657912943880672190485891328867981795568676460111531044953253904624508192119232708145432105551578728617481408001227178950183067562659918139950322727389226189205584383544405131921502853099762632309692272162082538907406834671530044930068126676085745361134779482093705118502403871338152507082968394674032420320223532762756611103471089111764354421491230304968651321049709351713181585761231095324540020966129315535659427956132957659937773874572748859859212487929941085227036455684185297711675765263694299340120987529859787513986947198640271382243352533373326029846531218693189494386707302087570795143680224856339641019198469762278212510927530577334571933794061526127612260780886068498257939107973337033716964277726292215308760379957149048973737641330703490140680626108670070948844786721031617441314269711410226650571726324540240777530477253219690294556155417047125452973254984974948898564295913305435906828069321211402603151522678925338968544543321729030265183727568119894623699926585739464751222702548123384649874414944128283571602699341401995965753456513905037344028441781455174249103289580931752940954311007677942892253879340144537943679543589614170914148753082642774674449357229639584192026743061349903884846600411068443256155734784895605009262322792063154512956847306058028655716113629878522913826280580186037536103107592308194917739850859502200310520091629216464592820091942970732377285751705110286543289231242670485498585062710596696430686118756203288350755908336023317333885030669429042873380498256057574461920864093125383759464195208455608397968079318404242974988770482972019927685051843862744991156511646770710170283819479665532443507325665415376284224346009733227022943438118897007147727967032016016896910269043534135710443937375139616932443029299199963428638073393768873320827080232098336930800027675204970455978618268847580722321881358427855305441455260770100118961920875843966979223437538068675355661290702202995681045401737906795582608452559805113753286891589528969279442527034638289180507410798820421668096216227961028538531154269638504328554315774391493408437141520575023981469928487923449171540593307711794547114956451650616089696632213725419970316035574882481515678347583714636184265812793269291823719551562317208476842908035036869864510498077044987670492297446799522058460316239290634870316510056179410952911808806137308284919389192926878624226885367227966035511927235728596561383524358739981585032307564789926431687061803495438520016375572645479926699710116878686466792129469309279332574624668803640686875470697197240735930382074812276236857433154472582117983596818 299444967306995126974393123698211952023806641059489484052273846735170160365458154380275006443918798722522481441313151252898098534429739170392739105546095838630943604163846757387261973477986978242928559301222282928681321726959812380573355085528123336778334588033188092968516902363654002458796809346053743418572788264805253491643875393179736762534365348702479325802750136106403061283901867720753866921081043781170458408548102126032270724859273177664765003498085631816867947475386875839361201449706048546914512921197283592808863858514730869273496479431345619594477550555127909071789487828816269740094585177659181439796361137230614614555476677774755051366648539425993542137259673619606208077150407348603944896341274581710836600395566641929845674668672139977943039367142258250593022719127717396289012518656867574530214996922978586703387535210724303433778372571346004812143578332364726941777499209622643261005201578580767182485355726587940069376676090980115670874090791755868884443078893640368199734132937554117884425949189946502606721796515621965309078859263903611389734073304705789390345983655352757114851869717706474346637504517203523434802234609189765476143747618862770829974309234037582661161121983696370173141068039766372950672115266693150023759684620606508156631279673241162460649000165585490817011737433483899513300451205237956294606673769730939071167071877182256066415491225630261241469803657031728420308801726616946376915016323805950893128397018391342906895472210408764559639798476113997254244447629045534041633380121615602729960069170252822994019223069360800532617953785999131178870614358749085377643827863544995143771919778570161373544582063841201394359915529941701801058676529966524807362058761417395893898893403978190979283166272209099307675084400210249628575436877000764626927258648474905342997746413250000250853906697618684362340400152460182897859730741288565327659070704978878843999874232007843408898651798061195122902440892745177356629274559332007058916109476538534810104589203426825341514388007304554336557970195092559843531934855393980091292988392440194440590660303120348734539186106761627376221237861975056856051754971495283895258821597117925099520954987502299310749469223841220999138189022384999259123037777308313235545663141235017417343112883743048840528809863190891475090860948849361532341095022266271840591140327875323088013614391409461573987375841507755731926229712915210212196438141780273428146922453003926629927180907870206670303463313620970165310885075336862027910864729765405386079285600560480697028965138012824791106642092728531155457155512452369585479787864710570841038334548097276182595331720234030839889474704380448933416048239497583312424248682971142311651333209592758153957946489562033519149820026803692013427594050339164754194769279695283015771842768283267404771092061085447986178553552863452807054579380267739736599780096326447972036073459455390756385424447503314580985085857409048736000142547699265512121675694051228241664486370169475702118567886915538855778479731988543892825165889842109693278229518042071655336007671607279957552808358027360942010878492379822212236639725003790956910427137166801864529975096900075294603319418156704061285330224996467152349857871575755471845097175566867443296662394632314930910961400003662787266939877747005856519681649521007962100074769993639139801484181367676696604791273531425081929938475989 484512134862819183899250257824458557878328686210791787073398365512399969529768246449869626245838977060193721735589783256391676798077503585041149980995616773259051161950127278417047259847981651735017166951261078853729623033084297568444356830725176174700362025407850615751295737541991568485384766641275620968231802050012494624702461640382498795106276433972063739261893118486945149267911538642804850856137483632233991587079972545974242801373206632429773697557157548688160942816105340083864793742842502740021843447594147861181683193324495220391708558477213637484395589330217312349366738893906268624834937078606323006706141783207425568730486823307773781432946877192420458821991128872050052593180389035499995185703995065013235920737609476643540526316874358543024244319254750101515727815785630340169684709142758903398196792491655046814918580163978208058286564690578712957575683883943455559258907210849822211188269141240685322435678453977166258582260474524520802795593644855631516752771165802450738641539772225647929356017316622588352082931295104059014197361667774949542241156273100463422766303878885519871462973188795586110991926008433828403453555658899117189325333380093866154514330200166898196820549939829327833078841914339121810531327754623091108986721076290693454342955438504856759989121153115350604525724380682539784682694557771329620636520300949632260661458584484343637210634905855117581110822855501490698521312654147523711486950117867477020740657799277411405153411318382101593356762753840289469553208009002683090607117762946306220100749796361493064968067856081832150059268055710541405521186085073625618421358340798214834066475933987208498997555318826176343258479825855007236965504599287736209965210284096321232867437947299920009548349999777219202298784326795989093326659579548888011577133063419033626569349112591402246819660154132589399684428594241638072108834030869497080600025015986556786892128111347987946842331341650809293816589645827820131303723916561646643108136219599884713989435803837893784770543742089449941567232517884622998044891702700038119948704506070072963504486583700534772075289214353935571138977712834559056362275063124500359851641689060895831898240739207409597292758455083891484636774085095595955553723896064516523896419049571040734676997914412477883402190361446949049552781812942486916100559217474727448989108407193727330988603161892433593915060893351618476917386224561980922366721961259938960590429778669342006211405253879939897326406751739867172458613042368878044807774998808939521789729537935620313961408167312024754535280166122300028777982592684467922410587892385775811494313166366123763317653601592458695194916159641219033535010160373427279403472120509210987006994500294961149638991891299940314732428479363497127180880941928693723474211806729921304952350179082087826439188277313409014717084707133091311383133696042131230008217237847022996017543387943314205556965040811026375532200813860699352089839179912990932091991729626110723180164717753190338302833699708808147602199283550861101302008797877146563142740016119116643006499969054079479611268674266651576881195002436001623189551533809928265195346526359728743154201982267303260638831345392432657846713749355207133934890179140545398276784237370362881816678770204960410837661110120541473733732007216315135852256274189811602786950240690836380537414563442488972841648706685897664047922072807 783957102169814310873643381522670509902135327270281271125672212247570129895226400830144632689757775782716203176902934509289775332507242755433889086541712611889994766113974035804309233325968629977945726252483361782410944760044109949017711916253299511478696613441038708719812639905645570944181575987329364386804590314817748116346337033562235557640641782674543065064643254593348210551813406363558717777218527413404449995628074672006513526232479810094538701055243180505028890291492215923225995192548551286936356368791431453990547051839226089665205037908559257078873139885345221421156226722722538364929522256265504446502502920438040183285963501082528832799595416618414000959250802491656260670330796384103940082045269646724072521133176118573386200985546498520967283686397008352108750534913347736458697227799626477928411789414633633518306115374702511492064937261924717769719262216308182501036406420472465472193470719821452504921034180565106327958936565504636473669684436611500401195850059442818938375672709779765813781966506569090958804727810726024323276220931678560931975229577806252813112287534238276986314842906502060457629430525637351838255790268088882665469080998956636984488639434204480857981671923525698006219909954105494761203443021316241132746405696897201610974235111746019220638121318700841421537461814166439297983145763009285915243194070680571331828530461666599703626126131485378822580626512533219118830114380764470088401966441673427913869054817668754312048883528790866152996561229954286723797655638048217132240497884561908950060818966614316058987290925442632682677221841709672584391800443822710996065186204343209977838395712557369872542137382667377737618395355796709038024181129254261017327269045513717126766331351278110988831516271986318509973868727006238721902096456549652638504391711893938969567095525841402497673566851751273762024828746701820969968564772158062408259095720965435630892002343355831355740983139712004416719030538572997487932998475893653702024245696138419524094025007264719126284931749394004278125202712977182841576826558094018211241692898510267404095146886820883506614475321115562947360215574809615912414030034619784255110463286178820931419195726709708908042227678925112483774963107480595214676761673372829759442082190806058152020110798155526723931000224637840524643642761791848448441654239740999289580248735069050419002217553301895167902436734859374208843615937477191134563160103040212388737352231673268636138586161750146567629870065360837337769498117705740072718639728574344907869015138496101010990373305324849545641922258850831184235138105136837507890375757096346652532647714463399945912985321826489535084390864021667966951058399871010591827720803480353298658327709887719303596938380861973833882248506167189140608474992267858477668981086425204320724192947365355231210280338398857000895638259996544118437713076309870966607997334173470968053616847398704961942389488314340956517286671269748088089981727612256444213667423677338964844651087922666040421401586624347003380679015539404994127174687719256256420969534161188298342507640661359437164077032294012518892073494815823835426191258813719222105773663526530607684177079167378555242150763549136719132043974351674286284748050716300870121881412937230325113341164837275341748622510124204261000671884963320992371937923710819564887025010684475520338898744810165669446439980217322745977860548796 1268469237032633494772893639347129067780464013481073058199070577759970099424994647280014258935596752842909924912492717765681452130584746340475039067537329385149045928064101314221356493173950281712962893203744440636140567793128407517462068746978475686179058638848889324471108377447637139429566342628604985355036392364830242741048798673944734352746918216646606804326536373080293359819724945006363568633356011045638441582708047217980756327605686442524312398612400729193189833107597556007090788935391054026958199816385579315172230245163721310056913596385772894563268729215562533770522965616628806989764459334871827453208644703645465752016450324390302614232542293810834459781241931363706313263511185419603935267749264711737308441870785595216926727302420857063991528005651758453624478350698978076628381936942385381326608581906288680333224695538680719550351501952503430727294946100251638060295313631322287683381739861062137827356712634542272586541197040029157276465278081467131917948621225245269677017212482005413743137983823191679310887659105830083337473582599453510474216385850906716235878591413123796857777816095297646568621356534071180241709345926987999854794414379050503139002969634371379054802221863355025839298751868444616571734770775939332241733126773187895065317190550250875980627242471816192026063186194848979082665840320780615535879714371630203592489989046150943340836761037340496403691449368034709817351427034911993799888916559540904934609712616946165717202294847172967746353323983794576193350863647050900222847615647508215170161568762975809123955358781524464832736489897420213989912986528896336614486544545141424811904871646544578371539692701493554080876875181651716274989685728541997227292479329610038359633769298578030998379866271763537712272653053802227815228756036098540650081524775312972596136444638432804744493227005883863161709257340943459042077398803027559488859120736951992417784130454703819302583314481362813710535620184400817619236722392455300345132381915738304238083460811102612911055475491483454219692435230861805839621718260794056331190397404580340367599633470521418278689764535469498518499193287644174968776305097744284614962104975239716763317436465917118505334986134009003968411737192576191170230485569437346283338501240377098886697108712568004607333190586084789574196424574734335364542213457215726738569357142262777749990820715194328761817497628210992685761002162039172056929882064300151349327782010342610642349991415630086464956276817100704510228111160074618117526414727383284429658744676431721324951781472636874300177202424973131213013120697821305430300963649482122464026960880829523709230638923418948230279307023662887000486068560244437871231192923989564285665322210182680453235930272161914148614676985530686267789355934196552201143192893155125625676543126447443057649468615712266015612722967129635429820846772352002196616214572020493964071160235342019167499354529125367332049487485130447440179820907525247376305659153303449688024815805675856378724235286333155150982878299090266095429183485596402819563709550280304941349007609715438916775345706560664095773268497251825458615742792623647487301120189886259350838379061434681815880982108941569376978757723706881420219638229856846268398665650307593206930019935042235752586283620244745734734403892179636128224194197900631167673975251375311900876313308252654642288088686903220410025782621603 2052426339202447805646537020869799577682599340751354329324742790007540229320221048110158891625354528625626128089395652274971227463091989095908928154079041997039040694178075350025665726499918911690908619456227802418551512553172517466479780663231775197657755252289928033190921017353282710373747918615934349741840982679647990857395135707506969910387559999321149869391179627673641570371538351369922286410574538459042891578336121889987269853838166252618851099667643909698218723399089771930316784127939605313894556185177010769162777297002947399722118634294332151642141869100907755191679192339351345354693981591137331899711147624083505935302413825472831447032137710429248460740492733855362573933841981803707875349794534358461380963003961713790312928287967355584958811692048766805733228885612325813087079164742011859255020371320922313851530810913383231042416439214428148497014208316559820561331720051794753155575210580883590332277746815107378914500133605533793750134962518078632319144471284688088615392885191785179556919950329760770269692386916556107660749803531132071406191615428712969048990878947362073844092659001799707026250787059708532079965136195076882520263495378007140123491609068575859912783893786880723845518661822550111332938213797255573374479532470085096676291425661996895201265363790517033447600648009015418380648986083789901451122908442310774924318519507817543044462887168825875226272075880567928936181541415676463888290883001214332848478767434614920029251178375963833899349885213748862917148519285099117355088113532070124120222387729590125182942649706967097515413711739129886574304786972719047610551730749484634789743267359101948244081830084160931818495270537448425313013866857796258244619748375123755486400100649856141987211382543749856222246521780808466537130852492648193288585916487206911565703540164274207242166793857635136923734086087645280012045963575185621897118216457917428048676132798059650658324297621074818127254650722973815107169720868348954047156627611876723762177485818367332037340407240877458497817637943838988681198544818888074542432090303090607771694780357342301785304239856585061465859408862453790881190335132364068870072568261418537694736632192626827413377213812934116452186700300056786384907247242810176042780583431183157038717219510723531331264190810722630098840067336526183812983867696956726028149605877331828168993038268496223929719934363070366894604618099516363191493042167340363738065134242015879278488577577380233032586146882461541847997609277780358190245054455957629337527759814927822335942154777961723845819124683823962397248258802958142938191339406578469116559608595292923655143624245245437765363697887684554967437126960115448463058913727469917584323649920070399756832868653023887982496925491697875408397830926464410678812173979580329946400736073812798288859748954111123016508361227126179548258559848661873163224211906193964932124777082740724129441744017439708288566774156400195528269802635137503820519326576980788652869466893598522419145636872957502154363557314629671089556358173315659075984679084441493239691515250376798353939422738854676614665341992067649294041934051437366709406893853412789958522556140602060371123132872490706096110801698058555706504386280573147138520547063244823532043361099879511094334906130368949995735075777142957120596132121611450732561000262059787421215212053062820311734528667120543156003643170399 3320895576235081300419430660216928645463063354232427387523813367767510328745215695390173150560951281468536053001888370040652679593676735436383967221616371382188086622242176664247022219673869193403871512659972243054692080346300924983941849410210250883836813891138817357662029394800919849803314261244539335096877375044478233598443934381451704263134478215967756673717716000753934930191263296376285855043930549504681333161044169107968026181443852695143163498280044638891408556506687327937407573063330659340852756001562590084335007542166668709779032230680105046205410598316470288962202157955980152344458440926009159352919792327728971687318864149863134061264680004240082920521734665219068887197353167223311810617543799070198689404874747309007239655590388212648950339697700525259357707236311303889715461101684397240581628953227210994184755506452063950592767941166931579224309154416811458621627033683117040838956950441945728159634459449649651501041330645562951026600240599545764237093092509933358292410097673790593300057934152952449580580046022386190998223386130585581880408001279619685284869470360485870701870475097097353594872143593779712321674482122064882375057909757057643262494578702947238967586115650235749684817413690994727904672984573194905616212659243272991741608616212247771181892606262333225473663834203864397463314826404570516987002622813940978516808508553968486385299648206166371629963525248602638753532968450588457688179799560755237783088480051561085746453473223136801645703209197543439110499382932150017577935729179578339290383956492565934306898008488491562348150201636550100564217773501615384225038275294626059601648139005646526615621522785654485899372145719100141588003552586338255471912227704733793846033869948434172985591248815513393934519174834610694352359608528746733938667441262519884161839984802707011986660020863519000085443343428588739054123362378213181385977337194869420466460263252763469960907612102437631837790270907374632726406443260804254392289009527615028000260946629469944948395882732360912717510073174700794520820263079682130873622487707670948139294413827863720063994004392054559984358602150097965849966640230108353485034673236658254458054068658543945918712199946943120420598437492632977555137732812247522326119084671560255925414328223291535938597381396807419673036491911260519177526081154172452766718963019594605918983858983690552691537431991281359580365620261555535248422924231640515087392916252358489920838568993010319497542423699562246358225720437854976307771469183340913767186504491359543660893936250598598145996327108797093610261379500779448368492303056060591580586569476122447364374263168664385995643004911347441967923195520359886334290106651459481869988972130253080210068798925185802131111602477228561676187186860660962879955366872735455572077279200260241346509217569823389032121084194255814978079406621013875359840426478214458896195937318082743296941098546565075620616261641530642968449623542662751196824985730284238340894282699274378797869872159290657305346435613719937184985541658912061895548388634721798181040522860092237270714768445415340710438610489319474752657676844061014196708014043299049309360935202036742187004114981432275473089559421765437126724024510429993406919212713552416738973381034921746846921189750613695730469479669322593248820326319512081900234975513435099322091525361315474954022617354023763566029425792002 5373321915437529106065967681086728223145662694983781716848556157775050558065436743500332042186305810094162181091284022315623907056768724532292895375695413379227127316420252014272687946173788105094780132116200045473243592899473442450421630073442026081494569143428745390852950412154202560177062179860473684838718357724126224455839070088958674173522038215288906543108895628427576500562801647746208141454505087963724224739380290997955296035282018947762014597947688548589627279905777099867724357191270264654747312186739600853497784839169616109501150864974437197847552467417378044153881350295331497699152422517146491252630939951812477622621277975335965508296817714669331381262227399074431461131195149027019685967338333428660070367878709022797552583878355568233909151389749292065090936121923629702802540266426409099836649324548133308036286317365447181635184380381359727721323362733371279182958753734911793994532161022829318491912206264757030415541464251096744776735203117624396556237563794621446907802982865575772856977884482713219850272432938942298658973189661717653286599616708332654333860349307847944545963134098897060621122930653488244401639618317141764895321405135064783385986187771523098880370009437116473530336075513544839237611198370450478990692191713358088417900041874244666383157970052850258921264482212879815843963812488360418438125531256251753441127028061786029429762535374992246856235601129170567689714509866264921576470682561969570631567247486176005775704651599100635545053094411292302027647902217249134933023842711648463410606344222156059489840658195458659863563913375679987138522560474334431835590006044110694391391406364748474859703352869815417717867416256548566901017419444134513716531976079857549332433970598290314972802631359263250156765696615419160889490461021394927227253357749726795727543524966981219228826814721154137009177429516234019066169325953398803283095553652786848515136396050823120619231909723512449965044921630348447833576164129153208439445637139491751762438432447837276985736289973238371215327711118539783202018807898570205416054578010761555910989194185206021849298244248639621450218011012551756731156975362472422355107241498076792152790700851170773332089413759877236872785137792689763940044980055057698368899668102743412964131547734015067269861572207530049771876559247786702990509948851129178794868568896926434087976897252186776621257366354351726474970238361071898439915966398980878825458050494374369199327146570390552530128570582023788206223329715635334498016523639298543104714264306287365996836091028560321991815451792621056007509638303737591306683642462639060697146178071415371019517887413909823761006702799031996935360322480475334797349020378929399454312622050323479966901667578209690113608527968926437084585017787125373558767540852315785518478015274073039635368966523934512048629445421381994526337966469675748523064638384408423828320714400823467426382842564004783909183035797930838496719426177800255017344312307265026993763749592872901217015509032248159459709992928349608274541899832227720971533067719163291420732038110469035624654191184270017325103952481387124046699610895498380906114907896711839267883491342638802558127247853922981569200361119823992833228410791003140545439759776797240271016742134801257941256095880982645726204555446465550369416458441123532632795975775494886743306737414378295265757146021144306722033068962401 8694217491672610406485398341303656868608726049216209104372369525542560886810652438890505192747257091562698234093172392356276586650445459968676862597311784761415213938662428678519710165847657298498651644776172288527935673245774367434363479483652276965331383034567562748514979806955122409980376441105013019935595732768604458054283004470410378436656516431256663216826611629181511430754064944122493996498435637468405557900424460105923322216725871642905178096227733187481035836412464427805131930254600923995600068188302190937832792381336284819280183095654542244052963065733848333116083508251311650043610863443155650605550732279541449309940142125199099569561497718909414301783962064293500348328548316250331496584882132498858759772753456331804792239468743780882859491087449817324448643358234933592518001368110806340418278277775344302221041823817511132227952321548291306945632517150182737804585787418028834833489111464775046651546665714406681916582794896659695803335443717170160793330656304554805200213080539366366157035818635665669430852478961328489657196575792303235167007617987952339618729819668333815247833609195994414215995074247267956723314100439206647270379314892122426648480766474470337847956125087352223215153489204539567142284182943645384606904850956631080159508658086492437565050576315183484394928316416744213307278638892930935425128154070192731957935536615754515815062183581158618486199126377773206443247478316853379264650482122724808414655727537737091522158124822237437190756303608835741138147285149399152510959571891226802700990300714721993796738666683950222211714115012230087702740333975949816060628281338736753993039545370395001475324875655469903617239561975648708489020972030472769188444203784591343178467840546724487958393880174776644091284871450029855241850069550141661165920799012246679889383509769688231215486835584673137094620772944822758120292688331611984669072890847656268981596659303586590580139521825950081802835192537723080559982607389957462831734646667106779762699379077307221934132172705599283932837784293240577722839070978252336289677065718432504050283608013069741913292248640694181434576613162649722581123615592580775840141914734735046610844769509714719250801613706820357293383575285322741495182712867305220695018752774303668889545875957306603208458953604337469444913051159047222168036030005301631561587531916521040006960756235877329312794798345633086055335858622627433688338890630621393912850966746732859120165715563400872027670994281586034564449050153490310805787992822639456871900768797646909657730027279158920137811778901418149617771017804517039675175945518699652277732747547537818383892150582574209756649707710379438903283518000835221131639127030388881324301594180576560176970466503395492244720130446154998760772204647786336438722907725051241090555294474333280981878184093757901080750529615637809504417373090689623882905064862622882724516651718906210723323941110569859529799297439461481465169049720463006214169298037549265334658032292147280014885381191538816765056428542069545459527441491139782867081456353885089601772560970561272895368959629685358035542562970706598799357287739559395102822921940010888577244426544675544745131362835355257042289920541589429959952435301433133952358972490349657009990123169723004788177285631596341456674035115788143618236784760635614533030951288929986065398262775693770219779763375168070288062494754403 14067539407110139512551366022390385091754388744199990821220925683317611444876089182390837234933562901656860415184456414671900493707214184500969757973007198140642341255082680692792398112021445403593431776892372334001179266145247809884785109557094303046825952177996308139367930219109324970157438620965486704774314090492730682510122074559369052610178554646545569759935507257609087931316866591868702137952940725432129782639804751103878618252007890590667192694175421736070663116318241527672856287445871188650347380375041791791330577220505900928781333960628979441900515533151226377269964858546643147742763285960302141858181672231353926932561420100535065077858315433578745683046189463367931809459743465277351182552220465927518830140632165354602344823347099349116768642477199109389539579480158563295320541634537215440254927602323477610257328141182958313863136701929651034666955879883554016987544541152940628828021272487604365143458871979163712332124259147756440580070646834794557349568220099176252108016063404942139014013703118378889281124911900270788316169765454020888453607234696284993952590168976181759793796743294891474837118004900756201124953718756348412165700720027187210034466954245993436728326134524468696745489564718084406379895381314095863597597042669989168577408699960737103948208546368033743316192798629624029151242451381291353863253685326444485399062564677540545244824718956150865342434727506943774132961988183118300841121164684694379046222975023913097297862776421338072735809398020128043165795187366648287443983414602875266111596644936878053286579324879408882075278028387910074841262894450284247896218287382847448384430951735143476335028228525285321335106978232197275390038391474607282904976179864448892510901811145014802931196511534039894248050568065449016131340530571536588393174156761973475616927034736669450444313650305827274103798202461056777186462014285010787952168444500443117496733055354409711199371431549462531767880114168071528393558771519110671271180283806598531525137811525144498919868462678837655148165495411780360924857878876822541705731643729194059961272802198275763762590492889333802884794624175201479312280590955053198195249156232811838763635470360885492582891027466697594166168713078012505435227692922362919063918420877047081853677423691321670478320525811867519216789610406833925158545978856430810356456100813447474094937653488064105934052164699984812530306096983699332128254857029602272738309017241107228319492862133791424557799564863609822770672379869125645303804516461937999976615033103934275654566118307719242129627230694039205625280656108254630981859587981338712974878925618953189403410037996484033517656410509411435838643840481310555928988147409318280778614216230900040143872134081605182358328658415081435845357222434911709997490448577367026609033309748406320617247150617692413129379975037019804030755339560365372405969703247031306552837366119729678149706783674574643438982333237392319961888475898263261231513610344814292328421781885020181231900890223786976224766421470419153734069341323367503838614524073048381022504599081030308520023150813955375360646515452093722846056898635057776008937829836722727845127917887314347303258610689278238611490281661413422793180846092436274497798732267146897281006865304524262729433381512578987182878590562253693987653243201759147165826927064424872808705000190072065485536909396312377010095563716804 22761756898782749919036764363694041960363114793416199925593295208860172331686741621281342427680819993219558649277628807028177080357659644469646620570318982902057555193745109371312108277869102702092083421668544622529114939391022177319148589040746580012157335212563870887882910026064447380137815062070499724709909823261335140564405079029779431046835071077802232976762118886790599362070931535991196134451376362900535340540229211209801940468733762233572370790403154923551698952730705955477988217700472112645947448563343982729163369601842185748061517056283521685953478598885074710386048366797954797786374149403457792463732404510895376242501562225734164647419813152488159984830151527661432157788291781527682679137102598426377589913385621686407137062815843129999628133564648926713988222838393496887838543002648021780673205880098821912478369965000469446091089023477942341612588397033736754792130328570969463661510383952379411795005537693570394248707054044416136383406090551964718142898876403731057308229143944308505171049521754044558711977390861599277973366341246324123620614852684237333571319988644515575041630352490885889053113079148024157848267819195555059436080034919309636682947720720463774576282259611820919960643053922623973522179564257741248204501893626620248736917358047229541513259122683217227711121115046368242458521090274222289288381839396637217356998101293295061059886902537309483828633853884716980576209466499971680105771646807419187460878702561650188820020901243575509926565701628963784303942472516047439954942986494102068812586945651600047083317991563359104286992143400140162544003228426234063956846568721584202377470497105538477810353104180755224952346540207845983879059363505080052093420383649040235689369651691739290889590391708816538339335439515478871373190600121678249559094955774220155506310544506357681659800485890500411198418975405879535306754702616622772621241335348099386478329714657996301779510953375412613570715306705794608953541378909068134102914930473705311287837190602451720854000635384436939081003279705020938647696949855074877995408709447626564011556410211345505675882741530027984319371237337851201893404206547633974035391070967546885374480239870600211833692641173517951459552288363335246930410405789668139758937173651350750743223299648628273686779479416204988661702661565881147326582008861732441918043632729968514101898409723941435246846963045617898585641955606326765816593747660223666651159983987840087439658577697192296585470559145195857335121430022615956109592509284577456848515801901581185312296145586878162267439009595457355243051673912771670657035533500038365252611673166491007787302188579058243274306118219790874741927358482145777060627274439707162102915810411476600320842600585000674603048788861236434606129427082698046436213356302418267699588604222739601599125334711450314210130504652657613535172712651054996288874768109654189277354017838635888873030724785144502968781630676853801427057525618726267445682908382363557663079814177167461246786271415325792989822850012488699193596782814507286705695980426933470624277160051591581415392110443640733396189078422800321645414186374617171111760751776733616422372344431989892048389973524633495653780202203002852753133281393869408450157704757496554290996988474247267517610667144175328639552625678041837605890027962394761698857878353354858874103262965765835705316672771480447298158058471207 36829296305892889431588130386084427052117503537616190746814220892177783776562830803672179662614382894876419064462085221700077574064873828970616378543326181042699896448827790064104506389890548105685515198560916956530294205536269987203933698597840883058983287390560179027250840245173772350295253683035986429484223913754065823074527153589148483657013625724347802736697626144399687293387798127859898272404317088332665123180033962313680558720741652824239563484578576659622362069048947483150844505146343301296294828938385774520493946822348086676842851016912501127853994132036301087656013225344597945529137435363759934321914076742249303175062982326269229725278128586066905667876340991029363967248035246805033861689323064353896420054017787041009481886162942479116396776041848036103527802318552060183159084637185237220928133482422299522735698106183427759954225725407593376279544276917290771779674869723910092489531656439983776938464409672734106580831313192172576963476737386759275492467096502907309416245207349250644185063224872423447993102302761870066289536106700345012074222087380522327523910157620697334835427095785777363890231084048780358973221537951903471601780754946496846717414674966457211304608394136289616706132618640708379902074945571837111802098936296609417314326058007966645461467669051250971027313913675992271609763541655513643151635524723081702756060665970835606304711621493460349171068581391660754709171454683089980946892811492113566507101677585563286117883677664913582662375099649091827469737659882695727398926401096977334924183590588478100369897316442767986362270171788050237385266122876518311853064856104431650761901448840681954145381332706040546287453518440043259269097754979687334998396563513489128200271462836754093820786903242856432587386007580927887504531130693214837952269112536193631123237579243027132104114136196327685302217177866936312493216716901633560573409779848542503975062770012406012978882384924875145338595420873866137347100150428178805374095214280303842812975002127596219773869098063274594229168775116801299572554828731897419701140353176820623972829212409621269438473234419361787204165861513052681205684797502687172230640227200358724138115710231485704416583668640215545625721001441347752365638098712031058822855594528397832596900723339949944165100005228072507878492271972715072485127987718163252274499733543415988196836063212005541180899127745602711115948052590026097944848604689825939389469001228947315759151439830983721143270124008805680105793809891741601413397025746515456825130835005515460966862263894597404397066240289496560868332330021026301638895121481377078227490598785444197190712226575542276791962528729202310580571198963456332989615421849025442881530026642376640464714734666605856961377447276317870451486649517609756433703804879785294308621913971145922216372485329142727339510479689677417565928052211420368694844471356685495830191383958365567022737508459719146407763963914246121388946001516989528677196518727177849991501596062187642478687161639112769214589271482907852927666124137874790544310504499981851646781759132621889935415261257596108756835593874894044491471085009674947120698581613456344267500262319304239351648584213911734265270483864416275546314127486305682947956437024643451572003853778771530247044048656754315822431216240295531593543271164153908864684805417779731682808263155837901190853582167792824308253622188011 59591053204675639350624894749778469012480618331032390672407516101037956108249572424953522090295202888095977713739714028728254654422533473440262999113645163944757451642572899435416614667759650807777598620229461579059409144927292164523082287638587463071140622603124049915133750271238219730433068745106486154194133737015400963638932232618927914703848696802150035713459745031190286655458729663851094406855693451233200463720263173523482499189475415057811934274981731583174061021779653438628832722846815413942242277501729757249657316424190272424904368073196022813807472730921375798042061592142552743315511584767217726785646481253144679417564544552003394372697941738555065652706492518690796125036327028332716540826425662780274009967403408727416618948978785609116024909606496962817516025156945557070997627639833259001601339362521121435214068071183897206045314748885535717892132673951027526571805198294879556151042040392363188733469947366304500829538367236588713346882827938723993635365972906638366724474351293559149356112746626468006705079693623469344262902447946669135694836940064759661095230146265212909877057448276663252943344163196804516821489357147458531037860789865806483400362395686920985880890653748110536666775672563332353424254509829578360006600829923229666051243416055196186974726791734468198738435028722360514068284631929735932440017364119718920113058767264130667364598524030769832999702435276377735285380921183061661052664458299532753967980380147213474937904578908489092588940801278055611773680132398743167353869387591079403736770536240078147453215308006127090649262315188190399929269351302752375809911424826015853139371945946220431955734436886795771239800058647889243148157118484767387091816947162529363889641114528493384710377294951672970926721447096406758877721730814893087511364068310413786629548123749384813763914622086828096500636153272815847799971419518256333194651115196641890453392484670402314758393338300287758909310727579660746300641529337246939477010144754009154100812192730047940627869733447711533310172054821822238220251778586972297696549062624447187984385622620966775114355975949389771523537098850903883099089004050321146266031298167905609512595950102085916250276309813733497085273289804682999296048504501699198581792768179748583340124022988578217851879484644277496540194933538596219811709996579895694192543366273384502298734472935946976427746090791220609701590008196352863761442352350049606040628985216787403198810017528176017728740683154001537440915239914357557522989535031092913673646636907096646279158409481475566664505249884953916111384003933797972295930654981415443480102271951935204978014415154600520066268646948993185322498557445602110050242696288732604984445837053853240785557335251606531564426236137554305057616076600307802869917161182203562008210518193885523815497820040593041549640984342335031101100764862475364983719239466339685107545401797001455895768233244863649376545594591099922816003527135715796122879427109541407654581410239355103725473433054438562204412121495396552121262906952382077250006484926915322271058919184213471350807371701236842153024672297694366136885271384292118232459333390189960689872606751294131400038557738545229919050686067419128299447408880175091398114141782140005863000842253018797764654715800929644461983841918337369199433299126548670563542683771134590556911526121603736896170254939273271606411680659218 96420349510568528782213025135862896064598121868648581419221736993215739884812403228625701752909585782972396778201799250428332228487407302410879377656971344987457348091400689499521121057650198913463113818790378535589703350463562151727015986236428346130123909993684228942384590516411992080728322428142472583678357650769466786713459386208076398360862322526497838450157371175589973948846527791710992679260010539565865586900297135837163057910217067882051497759560308242796423090828600921779677227993158715238537106440115531770151263246538359101747219090108523941661466862957676885698074817487150688844649020130977661107560557995393982592627526878272624097976070324621971320582833509720160092284362275137750402515748727134170430021421195768426100835141728088232421685648344998921043827475497617254156712277018496222529472844943420957949766177367324965999540474293129094171676950868318298351480068018789648640573696832346965671934357039038607410369680428761290310359565325483269127833069409545676140719558642809793541175971498891454698181996385339410552438554647014147769059027445281988619140303885910244712484544062440616833575247245584875794710895099362002639641544812303330117777070653378197185499047884400153372908291204040733326329455401415471808699766219839083365569474063162832436194460785719169765748942398352785678048173585249575591652888842800622869119433234966273669310145524230182170771016668038489994552375866151641999557269791646320475082057732776761055788256573402675251315900927147439243417792281438894752795788688056738660954126828556247823112624448895077011532486976240637314535474179270687662976280930447503901273394786902386101115769592836317527253577087932502417254873464454722090213510676018492089912577365247478531164198194529403514107454677334646382252861508107925463633180846607417752785702992411945868028758283155781802853331139752160293188136419889893768060895045184394428455254682808327737275723225162904247906148453526883647741679765425744851105359034312996913787194857644160401738831510986127539340829938623537792806607318869717397689415801267811957214835030588044552829210368751558727702960363956564304773801553008318496671525368264333650711660333571620666859978453949042710994291246030751661686603213730257404648362708146415937024746328528162016979489872350004418687205511311292296837984298058946467043099816800490495570536147952517608645218536823320817538060786378961706290957039875545430097986445734718957961457359159738872010807162807217546709049806099158936386560777608370498777471912612107246020673376072971061571490174450476979716333954824273934825776462792521707592870737379402168726641730142796858231175678195495903069756409058443039858118137758047865975863696229881250272069918212388525803683413872175509102726117917559303620966061988856316832432165031446031870305369735768889151464032012448667028817073895733678563710823025180937736785755367022918505741704582795784309558505346044204949528652705324800075945836719257646083006301542746204160594693551331419001392978304405048929031090256867794316989426897173917840678316835361286222632958832950909860266172588410628356356393967065353157915003646304957372869070598370751687141952456964184321169931835403845761536366480774346070578806783457435004696031790328011698764457683960284415058158632900792976570290702579428227489188914322239719789277441638087023837107066095914665302847229 156011402715244168132837919885641365077078740199680972091629253094253695993061975653579223843204788671068374491941513279156586882909940775851142376770616508932214799733973588934937735725409849721240712439019840114649112495390854316250098273875015809201264532596808278857518340787650211811161391173248958737872491387784867750352391618827004313064711019328647874163617116206780260604305257455562087086115703990799066050620560309360645557099692482939863432034542039825970484112608254360408509950839974129180779383941845289019808579670728631526651587163304546755468939593879052683740136409629703432160160604898195387893207039248538662010192071430276018470674012063177036973289326028410956217320689303470466943342174389914444439988824604495842719784120513697348446595254841961738559852632443174325154339916851755224130812207464542393163834248551222172044855223178664812063809624819345824923285266313669204791615737224710154405404304405343108239908047665350003657242393264207262763199042316184042865193909936368942897288718125359461403261690008808754815341002593683283463895967510041649714370450151123154589541992339103869776919410442389392616200252246820533677502334678109813518139466340299183066389701632510690039683963767373086750583965230993831815300596143068749416812890118359019410921252520187368504183971120713299746332805514985508031670252962519542982178200499096941033908669555000015170473451944416225279933297049213303052221728091179074443062437879990235993692835481891767840256702205203051017097924680182062106665176279136142397724663068634395276327932455022167660794802164431037243804825482023063472887705756463357040645340733122818056850206479632088767053635735821745565411991949222109182030457838547855979553691893740863241541493146202374440828901773741405259974592323001012974997249157021204382333826741796759631943380369983878303489484412568008093159555938146226962712010241826284881847739353210642495669061525450663157216876033187629948383209102672684328115503788322151014599387587692101029608564958697660849512884760445776013058385905842015094238478425714999941600457651554819667185186318141330251240059214860447403862805603329464762702823536169943163307610435657536917136288267682539796267581050713750957735107715429455986441130887894999277148769317106379868858974516627500958882139049907512108547980877954640659586466090184992794305009083899494036391309328043930519128068982731825467733309389925151470726971662522122156771474887335756600751490316808754987624289720456716459376095808701284172424108819708753525179082857548537726076740059404393091100337888622246230756431444207965187695142689314607146741056884743316924499822627188681225568313854660553090100814426490652850421700750083122035829405169818920090229919551426480566718802718225362173538127244192418325042950358916969847368125410328810438792448374347479768129581936371098662282950289364866045282187552368478814273974949446445160855153096445967020953055788421120922955372946260665300664416540897849929634027747989893623413514473700957170191938042638945044323474353812496188899597501048832637030004660069793062884938470282776765241627778259183585617248393836265647245475821892502151725699691002194103371855999254532145208945246655865744184720588923463298005538284809125776353480258613604746398900076970269992409869417251249991770172960048912796631315399045374983194092046339367521076983506447 252431752225812696915050945021504261141676862068329553510850990087469435877874378882204925596114374454040771270143312529584919111397348078262021754427587853919672147825374278434458856783060048634703826257810218650238815845854416467977114260111444155331388442590492507799902931304062203891889713601391431321550849038554334537065851005035080711425573341855145712613774487382370234553151785247273079765375714530364931637520857445197808615009909550821914929794102348068766907203436855282188187178833132844419316490381960820789959842917266990628398806253413070697130406456836729569438211227116854121004809625029173049000767597243932644602819598308548642568650082387799008293872159538131116309605051578608217345857923117048614870010245800264268820619262241785580868280903186960659603680107940791579311052193870251446660285052407963351113600425918547138044395697471793906235486575687664123274765334332458853432189434057057120077338661444381715650277728094111293967601958589690531891032111725729719005913468579178736438464689624250916101443686394148165367779557240697431232954994955323638333510754037033399302026536401544486610494657687974268410911147346182536317143879490413143635916536993677380251888749516910843412592254971413820076913420632409303624000362362907832782382364181521851847115713305906538269932913519066085424380979100235083623323141805320165851297633734063214703218815079230197341244468612454715274485672915364945051778997882825394918144495612766997049481092055294443091572603132350490260515716961620956859460964967192881058678789897190643099440556903917244672327289140671674558340299661293751135863986686910860941918735520025204157965976072468406294307212823754247982666865413676831272243968514566348069466269258988341772705691340731777954936356451076051642227453831108938438630430003628622135119529734208705499972138653139660106342815552320168386347692358036120730772905287010679310302994036018970232944784750613567405123024486714513596124888868098429179220862822635147928386582445336261431347396469683788388853714699069313805864993224711732491927894226982811898815292682142864220014396686892888978943019578817011708636607156337783259374348904434276814019270769229157583996266721631582507261872296744502619421710929159713391089493596041415214173515645634541885838464388977505377569344561218804405385965176013587126629565906985483289875545231852011645036527864867251336666129769110787174024266429800696900824958108256841114732932246495495472762297479615972534333339526555875395762656586309654671201580732320860771199756233621508787648230233854870070816671843446520165582207907000486895288013426694009315467698614886113782730998305384177128638070263718996129958932564248700716397564446313003286101475088031308616033602965298656075821528836142921477159093306181274641875382523948415879238430780064579327943912406359928435158399010266832340846661112390046983018973307735501732779716654029240945164711601792011225902584441126445723031318782979922946747422842440596133794622441541225042414907452005362219120969132895812838640463780709670106740275817884193923252637618902743972745204642871187393597984172226248938775163397482570604618344892490872903412841643459158287693025931089935990970481613136640090255299395706920733010234316599453788052244716297565030813958235603170785386439707953829419997662148963235036351104676487013070217929153405463435742286353676 408443154941056865047888864907145626218755602268010525602480243181723131870936354535784149439319163125109145762084825808741505994307288854113164131198204362851886947559347867369396592508469898355944538696830058764887928341245270784227212533986459964532652975187300786657421272091712415703051104774640390059423340426339202287418242623862085024490284361183793586777391603589150495157457042702835166851491418521163997688141417754558454172109602033761778361828644387894737391316045109642596697129673106973600095874323806109809768422587995622155050393416717617452599346050715782253178347636746557553164970229927368436893974636492471306613011669738824661039324094450976045267161485566542072526925740882078684289200097506963059309999070404760111540403382755482929314876158028922398163532740383965904465392110722006670791097259872505744277434674469769310089250920650458718299296200507009948198050600646128058223805171281767274482742965849724823890185775759461297624844351853897794654231154041913761871107378515547679335753407749610377504705376402956920183120559834380714696850962465365288047881204188156553891568528740648356387414068130363661027111399593003069994646214168522957154056003333976563318278451149421533452276218738786906827497385863403135439300958505976582199195254299880871258036965826093906774116884639779385170713784615220591654993394767839708833475834233160155737127484634230212511717920556870940554418969964578248104000725974004469361206933492757233043173927537186210931829305337553541277613641641803018966126141246329023456403452965825038375768489358939412333122091305102711802145125143316814608751692443374217982564076253148022214816182552100495061360848559575993548078857362898940454274426353114204049019961152729205014247184486934152395765258224817456902202046154109951413627679160649826517453356476005465131915519023123538409832299964888176479507248296182347693484915528836964192150733389229612728613846276064230562339900519902143544508097970771113507336366610957298942985970033028362460955961428381449238366599459515089818923379130553747586166372652697811840415750333697683887199583005034219230183078793677459112499412759667248022077172440604219977326881204886694501132554989314122303529453347458253577156818644589169377530624483936414491322284962740921754697438905605006336451483611126316513933946053968227786216031997170476084180554315751505681427837192911181855794198751842612641757575819725848371551929770778963271504407133831252073513787796424727521957629247012591855138752395010938843625689552029614296378839091170046513724970293259263161917009732068766396338639351208452082983156116008616462208755499629430707230820932572858354206384118379549220059746990739353566819265196396125321930880257850228706263522516725136642540331554368283650697220550373692966918332882865385726606556190393389766736360780707408203287980946637931003129611401754913028301160860103980547053691603475686106019864698237978246855640229547566645986691729240588247411839383338446063428650189531118665828421925706319389312907175534757882963938134522166295639873318933026560282642278972537035630143113153964158839611950485432524392411791318836251863820714383375055138541334461352391064881930344468136179426859792505834440019984630384031015772601408579564405724974911169777212858312573440777796309125205079411767835109012147832982420075532388053412021199744830956819269860123 660874907166869561962939809928649887360432464336340079113331233269192567748810733417989075035433537579149917032228138338326425105704636932375185885625792216771559095384722145803855449291529946990648364954640277415126744187099687252204326794097904119864041417777793294457324203395774619594940818376031821380974189464893536824484093628897165735915857703038939299391166090971520729710608827950108246616867133051528929325662275199756262787119511584583693291622746735963504298519481964924784884308506239818019412364705766930599728265505262612783449199670130688149729752507552511822616558863863411674169779854956541485894742233736403951215831268047373303607974176838775053561033645104673188836530792460686901635058020624011674180009316205024380361022644997268510183157061215883057767212848324757483776444304592258117451382312280469095391035100388316448133646618122252624534782776194674071472815934978586911655994605338824394560081627294106539540463503853572591592446310443588326545263265767643480877020847094726415774218097373861293606149062797105085550900117075078145929805957420688926381391958225189953193595065142192842997908725818337929438022546939185606311790093658936100789972540327653943570167200666332376864868473710200726904410806495812439063301320868884414981577618481402723105152679132000445044049798158845470595094763715455675278316536573159874684773467967223370440346299713460409852962389169325655828904642879943193155779723856829864279351429105524230092655019592480654023401908469904031538129358603423975825587106213521904515082242863015681475209046262856657005449380445774386360485424804610565744615679130285078924482811773173226372782158624568901355668061383330241530745722776575771726518394867680552118486230411717546786952875827665930350701614675893508544429499985218889852258109164278448652572886210214170631887657676263198516175115517208344865854940654218468424257820815847643502453727425248582961558631026677797967462925006616657140632986838869542686557229433592446871372552478364623892303357898065237627220314158584403624788372355265480078094266879680623739231043015840548107213979691927108209126098372494470821136019916005031281451521345038496791346151974115852085128821710945704810791325644202756196578529573748882768620118079977829705495800608375463640535903294582511714020828172345120919319911229981814912845597904155959374056099547603517326464365057778433192460328520953399815781842249526545272376887879035804386237339380326747546276085276040700056290968773568467250901408981320593514827270284350475067578595324791555301373200527114133232733681575515286561920847258208938978271169542702625777676454114515544489961819237957035482844454382098545350018679554988054283216829642709128608032355345881537322297125482023792718361860390511205127856313856554967608793715406813801605844986970457969094680273187067336638446379956904763343976272514144960011320134167839482279833408257504927051184576300029989472758224670674012369018010512220511194159262225779042197223272631072343708243329377711681608433876308430570721604401915231836402380149136817220483535279897875281008375347756025151552437596122711681463167575188801406856482165606874247958551382977920510678757907861434404127149908472929145924695319380337304764026006918008033352457969691208734808026816548176611563182748833158908831765497257975382869333524752019401123629950353150294392561556213799 1069318062107926427010828674835795513579188066604350604715811476450915699619747087953773224474752700704259062794312964147067931100011925786488350016823996579623446042944070013173252041799999845346592903651470336180014672528344958036431539328084364084396694392965094081114745475487487035297991923150672211440397529891232739111902336252759250760406142064222732886168557694560671224868065870652943413468358551572692927013803692954314716959229113618345471653451391123858241689835527074567381581438179346791619508239029573040409496688093258234938499593086848305602329098558268294075794906500609969227334750084883909922788716870228875257828842937786197964647298271289751098828195130671215261363456533342765585924258118130974733490008386609784491901426027752751439498033219244805455930745588708723388241836415314264788242479572152974839668469774858085758222897538772711342834078976701684019670866535624714969879799776620591669042824593143831363430649279613033889217290662297486121199494419809557242748128225610274095109971505123471671110854439200062005734020676909458860626656919886054214429273162413346507085163593882841199385322793948701590465133946532188676306436307827459057944028543661630506888445651815753910317144692448987633731908192359215574502602279374860997180772872781283594363189644958094351818166682798624855765808548330676266933309931340999583518249302200383526177473784347690622364680309726196596383323612844521441259780449830834333640558362598281463135828947129666864955231213807457572815743000245226994791713247459850927971485695828840719850977535621796069338571471750877098162630549947927380353367371573659296907046888026321248587598341176669396417028909942906235078824580139474712180792821220794756167506191564446751801200060314600082746466872900710965446631546139328841265885788324928275170026242686219635763803176699386736926007415482096521345362188950400816117742736344684607694604460814478195690172477302742028529802825526518800685141084809640656193893596044549745814358522511392986353259319326446686865586913618099493443711751485819227664260639532378435579646793349538231994413562696961327439309177166171929933635432675672279303528693785642716768673033179002546586261376700259827114320778991661009773735348218338052146150742563914244196818085571116385395233342200187518050472311783471437433253857283950042699061629901326435458236653863355023007892202250689615048254527272796012457539418069252393643928817649814767657741746514157999619789873072465427578248598020581059106040161376331532358452959836380089363957434415961601815098170820373396394650691307584052958259486609417391061254325658711242239885209614144975197192640170529893837050838500478094570078426545727407850036094839105253929963235603731766028560647998748929360902191944879488778553534406928660575712048289679187332451543160851358861416633967774744841734360903542694347105883915899873039621295027943462826887099860980613157204440998267967719613864900221579015004702241461099441571101609117488260651922820603462374071751303418000997746783483965328604568340049754002698020022455750247043817922176847818044005490869179115711277208073197113987559986980120243108345986321257623013689924312381863069822789791778872263329335332721651759135339364967688795041779519416612916863694666119904585239674860750052340979057958363988243533332366987530702315944827551789177041971552895125349380826073922 1730192969274795988973768484764445400939620530940690683829142709720108267368557821371762299510186238283408979826541102485394356205716562718863535902449788796395005138328792158977107491091529792337241268606110613595141416715444645288635866122182268204260735810742887375572069678883261654892932741526704032821371719356126275936386429881656416496321999767261672185559723785532191954578674698603051660085225684624221856339465968154070979746348625202929164945074137859821745988355009039492166465746685586609638920603735339971009224953598520847721948792756978993752058851065820805898411465364473380901504529939840451408683459103965279209044674205833571268255272448128526152389228775775888450199987325803452487559316138754986407670017702814808872262448672750019949681190280460688513697958437033480872018280719906522905693861884433443935059504875246402206356544156894963967368861752896358091143682470603301881535794381959416063602906220437937902971112783466606480809736972741074447744757685577200723625149072705000510884189602497332964717003501997167091284920793984537006556462877306743140810665120638536460278758659025034042383231519767039519903156493471374282618226401486395158734001083989284450458612852482086287182013166159188360636318998855028013565903600243745412162350491262686317468342324090094796862216480957470326360903312046131942211626467914159458203022770167606896617820084061151032217642698895522252212228255724464634415560173687664197919909791703805693228483966722147518978633122277361604353872358848650970617300353673372832486567938691856401326186581884652726344020852196651484523115974752537946097983050703944375831529699799494474960380499801238297772696971326236476609570302916050483907311216088475308285992421976164298588152936142266013097168487576604473991061046124547731118143897489206723822599128896433806395690834375649935442182530999304866211217129604619284542000557160532251197058188239726778651731108329419826497265750533135457825774071648510198880450825478142192685731074989757610245562677224511924492807227776683897068500123841084707742354906412059059318877836365378780101627542388888435648435275538666400754771452591677310584980215130681213560019185153118398671390198411205531925112104635863765970313877792086934914770860643892073902313886179491849035769245494770029764493139955816558352573768513931857611907227805482394832292753410958540334356567308468048240714855793749412273321260318778938916305705528850572043979085894484747166065958348506127634539566794149526356941570357652125873280230120730564431536029740753157116471371347487529627384372883099339520180333867626330039525495201413868017561663728660519687154459408486929319895292882576639920097106100715462133252924481814382537995590949613303350857773480772722079264052335390693906409848263483628184505763696492988938296530131309327956096907154842081480180740860447457691082156430044833050941429195782945106720508118485540208389017298297957192372089570895591384022712753681610635730363834896530457875195451675806082315080681129682606180659792395899326172741964985839100400171592567467527353202074723099052380838625204267263714804195908795450727562168921649964828151928131870972241307290302373748580697653213276390479243805650797683830658745304993559067786437424646269321664357328639393266491408926663904161806791522897075298829624962913571649469579571190300671921906045419741942382287721 2799511031382722415984597159600240914518808597545041288544954186171023966988304909325535523984938938987668042620854066632462287305728488505351885919273785376018451181272862172150359532891529637683834172257580949775156089243789603325067405450266632288657430203707981456686815154370748690190924664677376244261769249247359015048288766134415667256728141831484405071728281480092863179446740569255995073553584236196914783353269661108385696705577738821274636598525528983679987678190536114059548047184864933401258428842764913011418721641691779082660448385843827299354387949624089099974206371865083350128839280024724361331472175974194154466873517143619769232902570719418277251217423906447103711563443859146218073483574256885961141160026089424593364163874700502771389179223499705493969628704025742204260260117135220787693936341456586418774727974650104487964579441695667675310202940729598042110814549006228016851415594158580007732645730813581769266401762063079640370027027635038560568944252105386757966373277298315274605994161107620804635827857941197229097018941470893995867183119797192797355239938283051882967363922252907875241768554313715741110368290440003562958924662709313854216678029627650914957347058504297840197499157858608175994368227191214243588068505879618606409343123364043969911831531969048189148680383163756095182126711860376808209144936399255159041721272072367990422795293868408841654582323008621718848595551868568986075675340623518498531560468154302087156364312913851814383933864336084819177169615359093877965409013601133223760458053634520697121177164117506448795682592323947528582685746524700465326451350422277603672738576587825815723547978840977907694189725881269142711688394883055525196088104037309270064453498613540611050389352996456866095843635360477315439437692592263876572384029685814134998992625371582653442159494011075036672368189946481401387556579318555020100659743293505216858891662649054204974341903585632161855027068576059654258510915156458150855074344421522691938500089597501150596598821996550958611358394141394783390512211875326903935406615545944437494898524629714917012096041105085849763087744452704838330688406885267349589888508908916323930328692218332120945257651575111465359039432883627524775744049226010424987060921603207806318099131971750608234431002587694957547814965451739287995785827625797881900310968857706808830290529407274313563342248769559157663288969383066545424730860678388031332560234523178665339701720832408642746785855831420971555212788164814730585462981731733983658231733189957110653795493464156714758931569542167860926022035064190683392478439820477043721100779820860125110257446873342805494884347099579016823156946131383054734490175532646442869983289019320919636467958826553345069379418421479521651440166244280270182684963382670412288760217811986172176270748073292160686817513541122616826321915101763990152038188040345944706090562724223726407933607607979466153365593458296565924911985954471117170399027414995142710077301465444014018718527118272279268456386831984547683603927443276361227930741082014739841798420194048317714571171124251570917096386329494383382974992012269105909438287549149041893073174138249389493985931231602684236818403487444992148653808579138372449442965998110272682354109565956841259186185359023448543978506166269676716245140864749886885318832161991950444273965414407122979477713893458940545091323208361643 4529704000657518404958365644364686315458429128485731972374096895891132234356862730697297823495125177271077022447395169117856643511445051224215421821723574172413456319601654331127467023983059430021075440863691563370297505959234248613703271572448900492918166014450868832258884833254010345083857406204080277083140968603485290984675196016072083753050141598746077257288005265625055134025415267859046733638809920821136639692735629262456676451926364024203801543599666843501733666545545153551714512931550520010897349446500252982427946595290299930382397178600806293106446800689909905872617837229556731030343809964564812740155635078159433675918191349453340501157843167546803403606652682222992161763431184949670561042890395640947548830043792239402236426323373252791338860413780166182483326662462775685132278397855127310599630203341019862709787479525350890170935985852562639277571802482494400201958231476831318732951388540539423796248637034019707169372874846546246850836764607779635016689009790963958689998426371020275116878350710118137600544861443194396188303862264878532873739582674499540496050603403690419427642680911932909284151785833482780630271446933474937241542889110800249375412030711640199407805671356779926484681171024767364355004546190069271601634409479862351821505473855306656229299874293138283945542599644713565508487615172422940151356562867169318499924294842535597319413113952469992686799965707517241100807780124293450710090900797206162729480377946005892849592796880573961902912497458362180781523487717942528936026313954806596592944621573212553522503350699391101522026613176144180067208862499453003272549333472981548048570106287625310198508359340779145991962422852595379188297965185971575679995415253397745372739491035516775348977505932599132108940803848053919913428753638388424303502173583303341722815224500479087248555184845450686607810372477480706253767796448159639385201743850665749110088720837293931752993634693961581681524334326592789716336689228106661053954795247000834131185820672490908206844384673775470535851201369171467287580711999167988643148970452356496554217402466080295792197668647474738198736179728243504731443178337859026900473489124047005143888711403485239343929041773522670890964544988263388541714363103802511921975692463851698392001445857930100083466771833189727577579458591695104554138401394311813757922876085512291225122822160685272103676605336867625711529684238860294837004181938706810271476540228707515911745699918303127493951921789769477682847327731608880111819923302091635784105013420077841218227029493897467916048040913515348455649419437073782731998620154344670051140305316061538978275008537071466014571501558987503752476841424265631374410272638747158332116541943802734019005954417502958372730276194960294373519430296615660876591373230933895916944723575682665165209044603423470014773610448277458907802095842624437609729270196775989539141504153419509353040328116097951693573982475594863882104358044042012761783050127748824320713031829278910549176402313723955074538701912665677366210108103068757127256913823979725680898820365640885182098524326326294016148767168119587650238706816465014704889015111317963543038002290177521364958172538892986610566984185098205425044287822944023247126796656855577675913177352394265905455507023380777183371772657678603380149302671541409782394130991616913357845614883986694169778385815364985964833265590649364 7329215032040240820942962803964927229977237726030773260919051082062156201345167640022833347480064116258745065068249235750318930817173539729567307740997359548431907500874516503277826556874589067704909613121272513145453595203023851938770677022715532781575596218158850288945699987624759035274782070881456521344910217850844306032963962150487751009778283430230482329016286745717918313472155837115041807192394157018051423046005290370842373157504102845478438142125195827181721344736081267611262560116415453412155778289265165993846668236982079013042845564444633592460834750313999005846824209094640081159183089989289174071627811052353588142791708493073109734060413886965080654824076588670095873326875044095888634526464652526908689990069881663995600590198073755562728039637279871676452955366488517889392538514990348098293566544797606281484515454175455378135515427548230314587774743212092442312772780483059335584366982699119431528894367847601476435774636909625887220863792242818195585633261896350716656371703669335549722872511817738942236372719384391625285322803735772528740922702471692337851290541686742302395006603164840784525920340147198521740639737373478500200467551820114103592090060339291114365152729861077766682180328883375540349372773381283515189702915359480958230848597219350626141131406262186473094222982808469660690614327032799748360501499266424477541645566914903587742208407820878834341382288716138959949403331992862436785766241420724661261040846100307980005957109794425776286846361794446999958693103077036406901435327555939820353402675207733250643680514816897550317709205500091708649894609024153468599000683895259151721308682875451125922056338181757053686152148733864521899986360069027100876083519290707015437192989649057386399366858929055998204784439208531235352866446230652300875886203269117476721807849872061740690714678856525723280178562423962107641324375766714659485861487144170965968980383486348136727335538279593743536551402902652443974847604384564811909029139668523526069685910269992058803443206670326429147209595510566250678092923874494892578555585998300934049115927095795212804293709752560587961823924180948343062131585223126376490361998032963329074217403621817360289186693348634136250003977871890913317458412329812936909036614067059504710100577829680708317897774420884685125394424043434392549924229020109695658233844943219100055413351567959585667018854106426783374818653621926840261735042617094841604036774751886181251447420750711770240737777621190449238060115896423610697282905033825619442336746610034951872022522958054182674979610455683209381671454501264466124477059974821713772241085136921664088532455410414271509455848658566520575633787555648686108900448171393601202099830963123653655473913244056303442109694616439816024959596540895931059276336613604308205704941387668837341479792676715630701591123989400075734124010944388427761767458237121934245232066877643235760973935724077417846939575933891429807016343998513129932182077542743967030790333294722924567894929431996234342995088744650225049814035546345118355187654905994465522697240559689202896669695450577864933245153497613971033213698828734120614327302660467005436111176428426910858944103770495670847385387672543197573698096402082395696569762654965850358267286918351107164641692382404225727350278823948280096394443536291296667712963153608863802119580298393817149256099708823926509924588799011007 11858919032697759225901328448329613545435666854516505233293147977953288435702030370720131170975189293529822087515644404868175574328618590953782729562720933720845363820476170834405293580857648497725985053984964076515751101162258100552473948595164433274493762232609719121204584820878769380358639477085536798428051186454329597017639158166559834762828425028976559586304292011342973447497571104974088540831204077839188062738740919633299049609430466869682239685724862670683455011281626421162977073047965973423053127735765418976274614832272378943425242743045439885567281551003908911719442046324196812189526899953853986811783446130513021818709899842526450235218257054511884058430729270893088035090306229045559195569355048167856238820113673903397837016521447008354066900051060037858936282028951293574524816912845475408893196748138626144194302933700806268306451413400792953865346545694586842514731011959890654317318371239658855325143004881621183605147511756172134071700556850597830602322271687314675346370130040355824839750862527857079836917580827586021473626666000651061614662285146191878347341145090432721822649284076773693810072125980681302370911184306953437442010440930914352967502091050931313772958401217857693166861499908142904704377319571352786791337324839343310052354071074657282370431280555324757039765582453183226199101942205222688511858062133593796041569861757439185061621521773348827028182254423656201050211112117155887495857142217930823990521224046313872855549906674999738189758859252809180740216590794978935837461641510746416946347296780945804166183865516288651839735818676235888717103471523606471871550017368240699769878789163076436120564697522536199678114571586459901088284325254998676556078934544104760809932480684574161748344364861655130313725243056585155266295199869040725179388376852420818444623074372540827939269863701976409887988934901442813895092172214874298871063230994836715079069104323642068480329172973555325218075737229245233691184293612671472962983934915524360200871730942482967010287591344101899683060796879737717965673635873662881221704556450657430603333329561875508596491378400035326160560103909191847793574763560985403390835487157010334218106115025302599633115735122156807140968522860154301859172775433615448831012306530911203102102023687610808401364546254074412702973882635129497104062630414421509416156721028731391280536173728644857770695459443294409086348337860787135098739224555801651875513314980593697163193120669014897734689699410959926920907443628032490809102828335917255226441760030112793090249552451951650591027651369198557837320873938338248856475680129166383823381390452983203066807463947485737524027350217554024328110628979914317483310720810140759534216372906926387674479867661559261814839970811400110398479026837511591935867709844538204122649664963351502506688837280139100716364734437677534641926106787012865371496728433897923784373571031062745114014263840175369540513558409486293689120702042555142693965127670492791351503365124001835117071331745720189417533790657315902416024143649413875482444568729974191203596060925330088078768219776904158949393920665733558683452405645199135319216317771784968979149178718604432223902276309388657457952371857641402998742384225026418943696559311821428034180464270745373070097199405785002910722051481626883476543746207832706450107094145225777159965195182380511319034485524188912474757854389660371 19188134064738000046844291252294540775412904580547278494212199060015444637047198010742964518455253409788567152583893640618494505145792130683350037303718293269277271321350687337683120137732237565430894667106236589661204696365281952491244625617879966056069358450768569410150284808503528415633421547966993319772961404305173903050603120317047585772606708459207041915320578757060891760969726942089130348023598234857239485784746210004141422766934569715160677827850058497865176356017707688774239633164381426835208906025030584970121283069254457956468088307490073478028116301317907917566266255418836893348709989943143160883411257182866609961501608335599559969278670941476964713254805859563183908417181273141447830095819700694764928810183555567393437606719520763916794939688339909535389237395439811463917355427835823507186763292936232425678818387876261646441966840949023268453121288906679284827503792442949989901685353938778286854037372729222660040922148665798021292564349093416026187955533583665392002741833709691374562623374345596022073290300211977646758949469736423590355584987617884216198631686777175024217655887241614478335992466127879824111550921680431937642477992751028456559592151390222428138111131078935459849041828791518445053750092952636301981040240198824268283202668294007908511562686817511230133988565261652886889716269238022436872359561400018273583215428672342772803829929594227661369564543139795160999614444110018324281623383638655485251562070146621852861507016469425514476605221047256180698909693872015342738896969066686237299749971988679054809864380333186202157445024176327597366998080547759940470550701263499851491187472038527562042621035704293253364266720320324422988270685324025777432162453834811776247125470333631548147711223790711128518509682265116390619161646099693026055274580121538295166430924244602568629984542558502133168167497325404921536416547981588958356924718139007681048049487809990205207664711253149068754627140131897677666031897997236284872013074584047886270557641212475025813730798014428328830270392390303968643766559748157773800260142448958364652449256657670721400785088152595914122384028090140190855706348784111779881197485189973663292323518647119959922302428470790943390972500732045215176631187763428385740048920597970707812202601517291516719262320674959097828368306678563889653986859434531205074390565971950491335949525296604443437714313549721192461166991482713975360474267172896493479550089732479878414640541419726667975427477032150376158967559524456101506385733369742874668778506640147744962272075410005833266007261824881767218992328439602714980952740103988097595622475589904867155339919357900009033483198876120544903744416535563003592211168981534360736316203870050041329953780905615565256949665427839926423438623378407522995144046458142512328354606351020339848168629956854731417955858427077610376050117731401293133264186671019858029605637908705980874988199564252787387453134343377723496137046041068272626147205213236758382293698418724759684966261177716423760528879401966127465838179195758993837632223635968656726293301485019290975437915227482023882639074163347529716666104473933255933543620432251974415260355147031343082846380079884328305337759530184600572440480627108814640266321966787278392447751189096480234738891788189228638072330305575163572938189744124003117820057298834640962084775480774328468290585233012838984682443188671378 31047053097435759272745619700624154320848571435063783727505347037968733072749228381463095689430442703318389240099538045486670079474410721637132766866439226990122635141826858172088413718589886063156879721091200666176955797527540053043718574213044399330563120683378288531354869629382297795992061025052530118201012590759503500068242278483607420535435133488183601501624870768403865208467298047063218888854802312696427548523487129637440472376365036584842917513574921168548631367299334109937216706212347400258262033760796003946395897901526836899893331050535513363595397852321816829285708301743033705538236889896997147695194703313379631780211508178126010204496927995988848771685535130456271943507487502187007025665174748862621167630297229470791274623240967772270861839739399947394325519424391105038442172340681298916079960041074858569873121321577067914748418254349816222318467834601266127342234804402840644219003725178437142179180377610843843646069660421970155364264905944013856790277805270980067349111963750047199402374236873453101910207881039563668232576135737074651970247272764076094545972831867607746040305171318388172146064592108561126482462105987385375084488433681942809527094242441153741911069532296793153015903328699661349758127412523989088772377565038167578335556739368665190881993967372835987173754147714836113088818211443245125384217623533612069624785290429781957865451451367576488397746797563451362049825556227174211777480525856586309242083294192935725717056923144425252666364080300065361439126284666994278576358610577432654246097268769624858976048245849474853997180842852563486084101552071366412342100718631740551261066261201603998163185733226829453042381291906784324076555010579024453988241388378916537057057951018205709896055588652366258832234925321701545885456845968733751234662956973959113611053998617143396569254406260478543056156432226847735431508720196463257227987949133844396127118592133632273687993884226704393972702877361142911357216191609907757834997009499572246471429372154957992824018389358530228513331189270041686609440195621820655021964698899615795255782586219546229997276466552631240282944131999332038649281112345097183272032972346983997510429633672422559555418163592947750531941023592199517035803963197043834571061227128881910914304625204902325120626866929033510531342189313693386758049489848952714490547287000681882616485699025249301208409772993015601547515329343501110459213491728698145355063404713073575577833662088741565710117176443110303079875003152488592315488561705660129895220266670260538052521627861957483857034913194080325056313202377940963837428420233154481419003866042888070222147383305385746557510549093674569231855045515477321075521889791675120270532576776976429004433648567174827071789636239240036821917650215919114931011756302680716451004271314371842354857467236993832134320592864755145017976224518414158504760915104917781813979208939768725989002463404428156927966692752864017185257748083623415320112332883729549733797063542726594802037592923436613178062670059282029881862322845172869320076792365942847929889362410349379054206135004386182832032994829081088400118510119132391252759938204036943394409533865635775306748656389272985763290131387826003571182864852135233583962881278608706426628215459841853304836091193974231548794381787202047049481935951956709567927151444060418122049970663154839787325070757201751459440297578331749 50235187162173759319589910952918695096261476015611062221717546097984177709796426392206060207885696113106956392683431686105164584620202852320482804170157520259399906463177545509771533856322123628587774388197437255838160493892822005534963199830924365386632479134146857941505154437885826211625482573019523437973973995064677403118845398800655006308041841947390643416945449525464756969437024989152349236878400547553667034308233339641581895143299606300003595341424979666413807723317041798711456339376728827093470939785826588916517180970781294856361419358025586841623514153639724746851974557161870598886946879840140308578605960496246241741713116513725570173775598937465813484940340990019455851924668775328454855760994449557386096440480785038184712229960488536187656779427739856929714756819830916502359527768517122423266723334011090995551939709453329561190385095298839490771589123507945412169738596845790634120689079117215429033217750340066503686991809087768176656829255037429882978233338854645459351853797459738573964997611219049123983498181251541314991525605473498242325832260381960310744604518644782770257961058560002650482057058236440950594013027667817312726966426432971266086686393831376170049180663375728612864945157491179794811877505476625390753417805236991846618759407662673099393556654190347217307742712976488999978534480681267562256577184933630343208000719102124730669281380961804149767311340703246523049440000337192536059103909495241794493645364339557578578563939613850767142969301347321542138035978539009621315255579644118891545847240758303913785912626182661056154625867028891083451099632619126352812651419895240402752253733240131560205806768931122706406648012227108747064825695903050231420403842213728313304183421351837258043766812443077387350744607586817936504618492068426777289937537095497408777484922861745965199238948818980676224323929552252656967925268178052215584912667272852077175168079943622478895658595479853462727330017493040589023248089607144042707010084083620132741987013367433018637749187372958557343601581660345655253206755369978428822224841348574159908231842877216951398061554705227154405328160089472229504987461129208963153230457536957660802753152319542519477720592063738693922913524324244732212435150960472220311110147726852618726507226722193841839889187603992608359710495992257276412036349283483919564937852972632373952435224321853744646124086542736794008682320826215085819687758901594638834613494445553453992474203508468233685544653475260679238842562676944693821874295075403004563998773310408283014793703271963317123042175018962092275305530817543678818381160337142579014626341632792937377487302663285755590993747969795114135599462051040324667733058773209481006848780647026470334387429472790392328739301667079963245356273594326637926155802760823228779358877665392182203026097193848563552276451291832755394026342249815451638025101775937639843584846848474706863990662968680944315419827096241740681394794124691687946259538096966308116090761961451354487003854101153036938591549461248157347700502040931863157709016001911504656182663895368670029644050231868206714672068992428618116784614593065647186303558636288917809669889012667118389595036469157314068627890918010604143623345479244048224229203245395984819075966648938333539574982982163460186866712092777210622420125696080712685747208742895059084134746143929168255615655990214590444122740767003127 81282240259609518592335530653542849417110047450674845949222893135952910782545654773669155897316138816425345632782969731591834664094613573957615571036596747249522541605004403681859947574912009691744654109288637922015116291420362058578681774043968764717195599817525146472860024067268124007617543598072053556174986585824180903187087677284262426843476975435574244918570320293868622177904323036215568125733202860250094582831720469279022367519664642884846512854999900834962439090616375908648673045589076227351732973546622592862913078872308131756254750408561100205218912005961541576137682858904904304425183769737137456273800663809625873521924624691851580378272526933454662256625876120475727795432156277515461881426169198420007264070778014508975986853201456308458518619167139804324040276244222021540801700109198421339346683375085949565425061031030397475938803349648655713090056958109211539511973401248631278339692804295652571212398127950910347333061469509738332021094160981443739768511144125625526700965761209785773367371848092502225893706062291104983224101741210572894296079533146036405290577350512390516298266229878390822628121650345002077076475133655202687811454860114914075613780636272529911960250195672521765880848486190841144570004918000614479525795370275159424954316147031338290275550621563183204481496860691325113067352692124512687640794808467242412832786009531906688534732832329380638165058138266697885099265556564366747836584435351828103735728658532493304295620862758276019809333381647386903577162263206003899891614190221551545791944509527928772761960872032135910151806709881454569535201184690492765154752138526980954013319994441735558368992502157952159449029304133893071141380706482074685408645230592644850361241372370042967939822401095443646182979532908519482390075338037160528524600494069456522388538921478889361768493355079459219280480361779100392399433988374515472812900616406696473302286672077254752583652479706557856700032894854183500380464281217051800542007093583192379213416385522391011461767576731488785856932770930387341862646950991799083844189540248189955164014429096763181395338021257858394688272292088804268154268573474306146425263429883941658313182785991965079033138755656686444454854547916444249248239114157516054882171374855734529640811851927096166960516054533026118891052685305950663170085839132436634055485139973314256568920923347103045854533859535752395556197650169716196278901250630292784189676899158627029570307865597209799395661829918370982318717565829433286137362856781063134459219039980668821067315331133920800980077088213042417331618733195484642655809580570297060433630207675681007599634685968671502148504297063469683367454507566517645743254948564884601277381357424002899338821078039965219400528937906320000067273923810245752857167559063503945230363148979764024557883564430842395686597044156587900412002566768229610142786016880855421657564055788243432852993126373109101243386519849105757866652542208315103266371870980695857849887825504177949289041447024589650116654219520530187229562824886104732477785808367854352586072026305718049083850185236254389546705063821509706516903124712198038439063496840325861204079422878302893696343692858430299831918022305836607714806210331379281808192084524004691245704182108780186844411074176137691735661093879979257671902061648037422253674360186955477206184716807084008042940726747416341903563038345334876 131517427421783277911925441606461544513371523466285908170940439233937088492342081165875216105201834929532302025466401417696999248714816426278098375206754267508922448068181949191631481431234133320332428497486075177853276785313184064113644973874893130103828078951672004414365178505153950219243026171091576994148960580888858306305933076084917433151518817382964888335515769819333379147341348025367917362611603407803761617139953808920604262662964249184850108196424880501376246813933417707360129384965805054445203913332449181779430259843089426612616169766586687046842426159601266322989657416066774903312130649577277764852406624305872115263637741205577150552048125870920475741566217110495183647356825052843916737187163647977393360511258799547160699083161944844646175398594879661253755033064052938043161227877715543762613406709097040560977000740483727037129188444947495203861646081617156951681711998094421912460381883412868000245615878290976851020053278597506508677923416018873622746744482980270986052819558669524347332369459311551349877204243542646298215627346684071136621911793527996716035181869157173286556227288438393473110178708581443027670488161323020000538421286547885341700467030103906082009430859048250378745793643682020939381882423477239870279213175512151271573075554694011389669107275753530421789239573667814113045887172805780249897371993400872756040786728634031419204014213291184787932369478969944408148705556901559283895688344847069898229374022872050882874184802372126786952302682994708445715198241745013521206869769865670437337791750286232686547873498214796966306432576910345652986300817309619117967403558422221356765573727681867118574799271089074865855677316361001818206206402385124916829049072806373163665424793721880225983589213538521033533724140495337418894693830105587305814538031164953931166023844340635326967732303898439895504804291331353049367359256552567688397813283679548550477454752020877231479311075186411319427362912347224089403712370824195843249017177666812511955403398889824030099516764104447343200534352590732997115853706361777512666414381596764115072246271973980132793399575963085549093600452178276497659256034603515109578493887420899319115935938311507598510859347720425138377768072240688981460674265117988275193281522582587148367319078649290008800405242137018727250763181298207939582122188415920553620422992945946630521356147668956790500657946078489189564879970995931282098589009531887423024290393604180483562782069105678033081206483393631661557560128506377979959237151856466139023217813291077104082109034405884118103119263232004509606924264013028321474190740907439639448256549308473944977121988631957257739498045033264797503053969617557970410988007338094082284230138071029369673208507512755611729268239573399963312630197404572390783323361824327174009722026645156206760909661624690959238873495448420655806028909018045061780811118656793061501148902636718139716983789341790045558806346945347498548047336333006791212631409077662165965978587465629303776045301125742687055245768981778344577263326927036595635494824369765857242254690201086719113494235468122596261377132813938324633687739305263685625367055476614779013749311890970012085938729327587613900545913223847211858429555810623330032421287769400676064780148757718520383986057158301151922527805972756468294322187344118134939421568929850536290319462951013176298556382737630932347685779112338003 212799667681392796504260972260004393930481570916960754120163332369889999274887735939544372002517973745957647658249371149288833912809430000235713946243351014758444989673186352873491429006146143012077082606774713099868393076733546122692326747918861894821023678769197150887225202572422074226860569769163630550323947166713039209493020753369179859994995792818539133254086090113202001325245671061583485488344806268053856199971674278199626630182628892069696621051424781336338685904549793616008802430554881281796936886879071774642343338715397558368870920175147787252061338165562807899127340274971679207737314419314415221126207288115497988785562365897428730930320652804375137998192093230970911442788981330359378618613332846397400624582036814056136685936363401153104694017762019465577795309308274959583962927986913965101960090084182990126402061771514124513067991794596150916951703039726368491193685399343053190800074687708520571458014006241887198353114748107244840699017577000317362515255627105896512753785319879310120699741307404053575770910305833751281439729087894644030917991326674033121325759219669563802854493518316784295738300358926445104746963294978222688349876146662799417314247666376435993969681054720772144626642129872862083951887341477854349805008545787310696527391701725349679944657897316713626270736434359139226113239864930292937538166801868115168873572738165938107738747045620565426097427617236642293247971113465926031732272780198898001965102681404544187169805665130402806761636064642095349292360504951017421098483960087221983129736259814161459309834370246932876458239286791800222521502002000111883122155696949202310778893722123602676943791773247027025304706620494894889347587108867199602237694303399018014026666166091923193923411614633964679716703673403856901284769168142747834339138525234410453554562765819524688736225658977899114785284653110453441766793244927083161210713900086245023779741424098131984062963554892969176127395807201407589784176652041247643791024271250004891168819784412215041561284340835936129057467123521120338978500657353576596510603921844954070236260701070743314188737597220943943781872744267080765813524608077821256003757317304840977429118724303472677543998103377111582832622620157133230708913379275504330075452897438321678008130930576386175760921296670044846141815866604158602752208027548357187675908132919260887090277071016059836355191805614241585121077621165647478377490260162180207213967292762807513133089934702887832476868313312002643876277694335811266096600008637529273482436853271745925149424365539804919083196351445046926938542997208512964130000321477736699881886756984154952576756674600628759888002342096734480870508477184075616154242955902978683561611495495032269012029585552720831129797177479719963379904121214818143640490920887831119240085175624920231318793226055533354925470539605008556218031475786274671923597135537648483158712958424961572569976915714899146802192866794453256414699878541321894479003280058358023815866412969807253065086748150332337171899988502308531806826151813141328113280632737620209828326716506804768197344420704376985808082196635448031150590864017461724064430552316940640217828734769272905782282422186017913732463935529683819573235766142002611840613372293405367310484330866498707228397131334438843658188899852735725966224248992155557193095929116806013496504179758097184341497109485047274251248817457672879 344317095103176074416186413866465938443853094383246662291103771603827087767229817105419588107719808675489949683715772566985833161524246426513812321450105282267367437741368302065122910437380276332409511104260788277721669862046730186805971721793755024924851757720869155301590381077576024446103595940255207544472907747601897515798953829454097293146514610201504021589601859932535380472587019086951402850956409675857617817111628087120230892845593141254546729247849661837714932718483211323368931815520686336242140800211520956421773598558486984981487089941734474298903764325164074222116997691038454111049445068891692985978613912421370104049200107103005881482368778675295613739758310341466095090145806383203295355800496494374793985093295613603297385019525345997750869416356899126831550342372327897627124155864629508864573496793280030687379062511997851550197180239543646120813349121343525442875397397437475103260456571121388571703629884532864049373168026704751349376940993019190985262000110086167498806604878548834468032110766715604925648114549376397579655356434578715167539903120202029837360941088826737089410720806755177768848479067507888132417451456301242688888297433210684759014714696480342075979111913769022523372435773554883023333769764955094220084221721299461968100467256419361069613765173070244048059976008026953339159127037736073187435538795268987924914359466799969526942761258911750214029797096206586701396676670367485315627961125045967900194476704276595070043990467502529593713938747636803795007558746696030942305353729952892420467528010100394145857707868461729842764671863702145875507802819309731001089559255371423667544467449805469795518591044336101891160383936855896707553793511252324519066743376205391177692090959813803419907000828172485713250427813899194320179462998248335140153676556399364384720586610160160015703957962876339010290088944441806491134152501479650849608527183765793574257196176119009215542274630079380495554758719548631679187889022865443487040041448916817403124223183302039071660801104940383472258001476111853336094354363715354109177018303441718185308506973044723446982137173184029492875473196445357263472780642681336365582251204725740296545054662614980276054857451097536721210390692397822212169587644393492605268734420020908826375450009225676184561326538807063573392579047902366542334330215964277741296331125865207517611633218685016626855849751692730774685957592161578760476079269694067630238257686366987996695872003808565865558074796705634305433837822842189246055837160493995412505654666562823029231533399945689037186315614677051436545467261221541285604191062385176339330143306292628897553878663232586017627500387129999278373562446801633586565230963241072765845841633566061638685238093065476442859065417053119926692534318619390534423814282712158293249807202270076438079702887680224314164344035053429212024060384804319733704408254194441544659861861061679712286960705056689192360999213739800754962747214874328685691634689136020189781845000435436556841132049276075024227145757484086876384089478740177923748775457107386067070581406707891487310838656172499582069459329449386355784278603322725409689797607793555419231578046660242917868221151513605527633009848753531031431665321952625941873034660062806043375264479624217227612383188492739995580716705825492194260546436336273692132517498046656549786823642709110360640053492222678206598934596570010882 557116762784568870920447386126470332374334665300207416411267103973717087042117553044963960110237782421447597341965143716274667074333676426749526267693456297025812427414554654938614339443526419344486593711035501377590062938780276309498298469712616919745875436490066306188815583649998098672964165709418838094796854914314936725291974582823277153141510403020043154843687950045737381797832690148534888339301215943911474017083302365319857523028222033324243350299274443174053618623033004939377734246075567618039077687090592731064116937273884543350358010116882261550965102490726882121244337966010133318786759488206108207104821200536868092834762473000434612412689431479670751737950403572437006532934787713562673974413829340772194609675332427659434070955888747150855563434118918592409345651680602857211087083851543473966533586877463020813781124283511976063265172034139797037765052161069893934069082796780528294060531258829909143161643890774751247726282774811996190075958570019508347777255737192064011560390198428144588731852074119658501419024855210148861095085522473359198457894446876062958686700308496300892265214325071962064586779426434333237164414751279465377238173579873484176328962362856778069948792968489794667999077903427745107285657106432948569889230267086772664627858958144710749558423070386957674330712442386092565272366902666366124973705597137103093787932204965907634681508304532315640127224713443228994644647783833411347360233905244865902159579385681139257213796132632932400475574812278899144299919251647048363403837690040114403597264269914555605167542238708662719222911150493946098029304821309842884211714952320625978323361171929072472462382817583128916465090557350791596901380620119524121304437679604409191718757125905726613830412442806450392967131487303051221464232166391082974492815081633774838275149375979684704440183621854238125075373597552259932900945746406734010819241083852038598036937600217141199605238184972349671682154526750039268972065674906691130831065720166822294293042967714254113222085445776319601315468599632973675072855021068930705687622225286672255544767674115466761170874770404973436657345940712438029286305250759157621586008522030581273974173386918452953598855554474648304043013312554955442878501023668996935344187317459230504383580939802062360322247835477108419534394914506525145086538243512634928972239258784468404701910289701076463211041557306972359807035213327226238853569529856247837452224979129795509828961938511453698034943110017636949310115517178000512152437169131524685988091519834568954380957765485493956269511966122098363484010258430054249734191383862913039212030063276783850130635337833214777515502729226733759244070923985709202719473919144051449407453129061093907697267678618197273988862594532839890072438439834208678064305203599989412489892377894996669398496113735757669089814574658437768242091860590594405628005389732090027818574819486641284856937620771588339163192080534254011377447093415650580170637969194378213597711413405243809906218797426407361399045745986395408190915630553319251862056089845006276898908123214696255508183076876876567877541526084834386934869467340187133754228160110496059449406781429515823650503573699623441365473784283214851004901088094628553713648032356211410685748810490715934840780319827178839238905605678227920226770685328429249325613427163462563283327822467207544981550601707725480850183414027683761 901433857887744945336633799992936270818187759683454078702370875577544174809347370150383548217957591096937547025680916283260500235857922853263338589143561579293179865155922957003737249880906695676896104815296289655311732800827006496304270191506371944670727194210935461490405964727574123119067761649674045639269762661916834241090928412277374446288025013221547176433289809978272762270419709235486291190257625619769091834194930452440088415873815174578790079547124105011768551341516216262746666061596253954281218487302113687485890535832371528331845100058616735849868866815890956343361335657048587429836204557097801193083435112958238196883962580103440493895058210154966365477708713913903101623080594096765969330214325835146988594768628041262731455975414093148606432850475817719240895994052930754838211239716172982831107083670743051501160186795509827613462352273683443158578401282413419376944480194218003397320987829951297714865273775307615297099450801516747539452899563038699333039255847278231510366995076976979056763962840835263427067139404586546440750441957052074365997797567078092796047641397323037981675935131827139833435258493942221369581866207580708066126471013084168935343677059337120145927904882258817191371513676982628130619426871388042789973451988386234632728326214564071819172188243457201722390688450413045904431493940402439312409244392406091018702291671765877161624269563444065854157021809649815696041324454200896662988195030290833802354056089957734327257786600135461994189513559915702939307477998343079305709191419993006824064792280014949751025250107170392561987583014196091973537107640619573885301274207692049645867828621734542267980973861919230807625474494206688304455174131371848640371181055809800369410848085719530033737413270978936106217559301202245541643695164639418114646491638033139222995735986139844720144141584730577135365462541994066424035098247886384860427768267617832172294133776336150415147512815051730167236913246298670948159954697772134617871107169083639697417266151016293184882886550716703073573470075744827011167209384784284814864640528728390440853274647160190208153011943589002929532819137157795292759085893440493987168259726756321570519228049533433229653713005572185025253404004952777655048088668062489540612921737480139330759030949027738544883574374284171992926973962408891687420868459476912670268570384649675922313543508386093090066891308999703134492992805488804999329648799550315467690482665496783506524833942320019563593017906723271254743953340020189758208274329625520098493746186397391983612491165431182993455827580799149800029477519651595535338382446248089378542173369569412747684514001065800795143003116356733037617633370787342789284704882385124215253294762627155546382505771683673716847928011585959816764972758453599212488119486312147705739699580165073107478199001415981983254158609711866980266152245394914139332413643926531572478436680548320997143898325828277531524191294274054766340194308289979265862272658330398403379556413840680366747350846702482385626191503470482284575005109293497175610831546952392343969489529922587742819021733049376149947000855534220742719148070662912543444025767904051478680984828089758741518724725213228968998483633036745882436566410047254495586682692419017454061013290114933162453163508319918834819622311503720114487317121664702941458130925210119113070151465176317905621604093930403687449118010597694643 1458550620672313816257081186119406603192522424983661495113637979551261261851464923195347508328195373518385144367646059999535167310191599280012864856837017876318992292570477611942351589324433115021382698526331791032901795739607282805802568661218988864416602630701001767679221548377572221792031927359092883734066617576231770966382902995100651599429535416241590331276977760024010144068252399384021179529558841563680565851278232817759945938902037207903033429846398548185822169964549221202124400307671821572320296174392706418550007473106256071682203110175498997400833969306617838464605673623058720748622964045303909400188256313495106289718725053103875106307747641634637117215659117486340108156015381810328643304628155175919183204443960468922165526931302840299461996284594736311650241645733533612049298323567716456797640670548206072314941311079021803676727524307823240196343453443483313311013562990998531691381519088781206858026917666082366544825733576328743729528858133058207680816511584470295521927385275405123645495814914954921928486164259796695301845527479525433564455692013954155754734341705819338873941149456899101898022037920376554606746280958860173443364644592957653111672639422193898215876697850748611859370591580410373237905083977820991359862682255473007297356185172708782568730611313844159396721400892799138469703860843068805437382949989543194112490223876731784796305777867976381494284246523093044690685972238034308010348428935535699704513635475638873584471582732768394394665088372194602083607397249990127669113029110033121227662056549929505356192792345879055281210494164690038071566412461929416769512989160012675624191189793663614740443356679502359724090565051557479901356554751491372761675618735414209561129605211625256647567825713785386499184690788505296763107927331030501089139306719666914061270885362119529424584325206584815260440836139546326356936043994293118871247009351469870770331071376553291614752751000024079838919067773048710217132020372678825748702172889250461991710309118730547298104971996493022674888938675377800686240064405853215520552262754015062696398042321275656969323886713993976366190165077870233322045391144199651608754268248786902844493401436451886183252568560046833329296417317507733097926589691731486475957109054939369835142611888829800905205822209761280412461368876915416832507406702989547599240809643434144327015453798087169553277932866306675494300028018816031238183218329406563305142707644626579016353795880831473261627961016740908204054068857198190270360711498757044784481837706231960937993448930916676949725339546921248163513487778081649785072573830111002417754203432846196597815149338899015572658505845583466796861704294773051992004178801529175664660747891688249454079773450301870990836790606118799706837411198287807890552424689912137118229591958060069776876695115151739652343973184370304748508244105985508544960419033658621600297011500034962282000835946599865870687383374808308777717641401705629846032910627524776616977267827245924176653569644128889747025237249456877692765920739846816427472887636797398620868397653137283998327204809926252717824542381619055129654017538003099677198253928014547538130391609519274565169228298912852410363957417319960733441467498141883049300330724775228864746762100605649097293943828147097674058527917181948034714087806993132190783744352373581676353479287643525450603154695638129168299301424625378404 2359984478560058761593714986112342874010710184667115573816008855128805436660812293345731056546152964615322691393326976282795667546049522133276203445980579455612172157726400568946088839205339810698278803341628080688213528540434289302106838852725360809087329824911937229169627513105146344911099689008766929373336380238148605207473831407378026045717560429463137507710267570002282906338672108619507470719816467183449657685473163270200034354775852382481823509393522653197590721306065437464871066369268075526601514661694820106035898008938627600014048210234115733250702836122508794807967009280107308178459168602401710593271691426453344486602687633207315600202805851789603482693367831400243209779095975907094612634842481011066171799212588510184896982906716933448068429135070554030891137639786464366887509563283889439628747754218949123816101497874531631290189876581506683354921854725896732687958043185216535088702506918732504572892191441389981841925184377845491268981757696096907013855767431748527032294380352382102702259777755790185355553303664383241742595969436577507930453489581032248550781983103142376855617084588726241731457296414318775976328147166440881509491115606041822047016316481531018361804602733007429050742105257393001368524510849209034149836134243859241930084511387272854387902799557301361119112089343212184374135354783471244749792194381949285131192515548497661957930047431420447348441268332742860386727296692235204673336623965826533506867691565596607911729369332903856388854601932110305022914875248333206974822220530026128051726848829944455107218042453049447843198077178886130045103520102548990654814263367704725270059018415398157008424330541421590531716039545764168205811728882863221402046799791224009930540453297344786681305238984764322605402250089707542304751622495669919203785798357700053284266621348259374144728466791315392395806298681540392780971142242179503731674777619087702942625205152889442029900263815075810006155981019347381165291975070450960366573280058334101689127575269746840482987858547209725748462408751122627697407273790637500335416903282743453137251316968435847177476898657582979295722984215028028614804477037640145595922527975543224415012629485985319412906281565619018354549821322460510752974678359793976016570030792419509165901642837857539450089396584045452405388342839324308519928275162466460269509380028083820249328997306473262643344824175306378628793020824304836237512867128956878772833190310123362522878629823151492825220978923464179458798022197218380028568985828382564882975583892629352921605940096347859943181167127720397963542965297733245320410956276359091796296376802415609345499663339964816367801508961940199834479337665560394781288883683914299879914042654315405000462279221985544707684718617704759523602383956741407103040544176224284823969291538225142884354894116567721635598131794082171728774396351380422684292832677585153172775448180583283279144734272428143402211574669082363544057835709995609111895183285855175020356824241086604543400920490831372132651428752927359977340925849140313603083719183749790964837887183059871741146226542975628867771543237153275872373165608666012220642279695918599016811376437609033306687953024126081379362441050356706615878033908189137544887013417194246318807775390720582259747107336467016508878150228685668149201404928657835132241875277583700789423630752819843356224758789568532855748419435223073047 3818535099232372577850796172231749477203232609650777068929646834680066698512277216541078564874348338133707835760973036282330834856241121413289068302817597331931164450296878180888440428529772925719661501867959871721115324280041572107909407513944349673503932455612938996848849061482718566703131616367859813107402997814380376173856734402478677645147095845704727838987245330026293050406924508003528650249375308747130223536751396087959980293677889590384856939239921201383412891270614658666995466676939897098921810836087526524585905482044883671696251320409614730651536805429126633272572682903166028927082132647705619993459947739948450776321412686311190706510553493424240599909026948886583317935111357717423255939470636186985355003656548979107062509838019773747530425419665290342541379285519997978936807886851605896426388424767155196131042808953553434966917400889329923551265308169380045998971606176215066780084026007513711430919109107472348386750917954174234998510615829155114694672279016218822554221765627787226347755592670745107284039467924179937044441496916102941494909181594986404305516324808961715729558234045625343629479334334695330583074428125301054952855760198999475158688955903724916577681300583756040910112696837803374606429594827030025509698816499332249227440696559981636956633410871145520515833490236011322843839215626540050187175144371492479243682739425229446754235825299396828842725514855835905077413268930269512683685052901362233211381327041235481496200952065672250783519690304304907106522272498323334643935249640059249279388905379873960463410834798928503124408571343576168116669932564478407424327252527717400894250208209061771748867687220923950255806604597321648107168283634354594163722418526638219491670058508970043328873064698549709104586940878212839067859549826700420292925105077366967345537506710378903569312791997900207656247134821086719137907186236472622602921786970557573712956276529442733644653014815099889845075048792396091382423995443129786115275452947584563680837884388477387781092830543702748423351347426500428383647338196490715855969166036758515833649359289711504146800785371576955661913149292898261936849868181839797204676796224330127259506030922437205596158850125665851683846238639968243850901268051525462492527139847358879001044254726687340355295218793806732817849711716239725352435681865456007868750189671517964576344451104560432196622757041613054123093048843120867475696085458363442077975897954749941539232425703982966086848939940205087662852091054416570298929697327139609667457421598861313859599389027264536892906506674641646127056453075814895105483530106470094214050580235261805943314812678863831940460014807523666631341041960333446773293062485443475544574790546003654454542052672287415698521509223823559230439795155029214993592968866136421942198883496285212661231589231719461287942104978452476477282640457365931229253251711243774773072459680618245561145570219028009272898958043890672321775477111701238957928093913379951637334092068332528720054490134960261879676666002384237670106846588987130030556606820547189585706284836197155739473431352901881585596085618772331002027183146669111897840533623933146554941768047128307871857181323038933789726398467676667349319501406331020594187344141969475183554537491326231357041051164614114182936678145867616183915492735650967323025619629957282465777110040463368806827913485206662024047720859848451451 6178519577792431339444511158344092351213942794317892642745655689808872135173089509886809621420501302749030527154300012565126502402290643546565271748798176787543336608023278749834529267735112736417940305209587952409328852820475861410016246366669710482591262280524876226018476574587864911614231305376626742480739378052528981381330565809856703690864656275167865346697512900028575956745596616623036120969191775930579881222224559358160014648453741972866680448633443854581003612576680096131866533046207972625523325497782346630621803490983511271710299530643730463902239641551635428080539692183273337105541301250107330586731639166401795262924100319518506306713359345213844082602394780286826527714207333624517868574313117198051526802869137489291959492744736707195598854554735844373432516925306462345824317450135495336055136178986104319947144306828085066257107277470836606906187162895276778686929649361431601868786532926246216003811300548862330228676102332019726267492373525252021708528046447967349586516145980169329050015370426535292639592771588563178787037466352680449425362671176018652856298307912104092585175318634351585360936630749014106559402575291741936462346875805041297205705272385255934939485903316763469960854802095196375974954105676239059659534950743191491157525207947254491344536210428446881634945579579223507217974570410011294936967338753441764374875254973727108712165872730817276191166783188578765464140565622504717357021676867188766718249018606832089407930321398576107172374292236415212129437147746656541618757470170085377331115754209818415570628877251977950967606648522462298161773452667027398079141515895422126164309226624459928757292017762345540787522644143085816312980012517217815565769218317862229422210511806314830010178303683314031709989190967920381372611172322370339496710903435067020629804128058638277714041258789215600052053433502627111918878328478652126334596564589645276655581481682332175674553278630175699851231029811743472547715970513580746481848733005918665369965459658224228264080689090912474171813756177623056081054611987128216191386069319501968970900676258147351324277684029159934957636133507926290551654345219479942800599324199873351674518660408422525009065131691284870038396059962428754603875946411319438509097170639778388166945897564544879805384615377852185223238054555564033872363957027922468138259569699601784825673448411033694839967581216919432751886069667425703713208952587320320850809088264873304062111055527134458912069918863669267121650113251634950327498683155522174550433005491490666781205329123612396836087673802362044090599418373548140425894486382829186010346957037677415288814476018828648308261523769463866465820379625893841554581946169357775424488833200319059455004331894272960406206227841528318754042179111770622096633513042360706766168175034510355545586483348287182923540236772534648206057036808746353913546084388828927945847907861201528840290304491456152675110532712973035865833312821696848069823277199235126657690916309419133263455410625791634012328094755311597647447772438127443633640326004296980550544172019257027480619657895877510453367628855925606874400348755335124118482813319851745571753144484737341178545134347165015169088839518033373965197535314520158139074357559163721502362312882046813616788158501081130691814828374553284333116897664308802455267494907540983255200740793283212163052672274775194879796140295071524498 9997054677024803917295307330575841828417175403968669711675302524488938833685366726427888186294849640882738362915273048847457337258531764959854340051615774119474501058320156930722969696264885662137601807077547824130444177100517433517925653880614060156095194736137815222867325636070583478317362921744486555588142375866909357555187300212335381336011752120872593185684758230054869007152521124626564771218567084677710104758975955446119994942131631563251537387873365055964416503847294754798861999723147869724445136333869873155207708973028394943406550851053345194553776446980762061353112375086439366032623433897812950580191586906350246039245513005829697013223912838638084682511421729173409845649318691341941124513783753385036881806525686468399022002582756480943129279974401134715973896210826460324761125336987101232481524603753259516078187115781638501224024678360166530457452471064656824685901255537646668648870558933759927434730409656334678615427020286193961266002989354407136403200325464186172140737911607956555397770963097280399923632239512743115831478963268783390920271852771005057161814632721065808314733552679976928990415965083709437142477003417042991415202636004040772364394228288980851517167203900519510870967498932999750581383700503269085169233767242523740384965904507236128301169621299592402150779069815234830061813786036551345124142483124934243618557994398956555466401698030214105033892298044414670541553834552774230040706729768550999929630345648067570904131273464248357955893982540720119235959420244979876262692719810144626610504659589692376034039712050906454092015219866038466278443385231505805503468768423139527058559434833521700506159704983269491043329248740407464420148296151572409729491636844500448913880570315284873339051368381863740814576131846133220440470722149070759789636008512433987975341634769017181283354050787115807708300568323713831056785514715124748937518351560202850368537758211774909319206293445275589696306078604139563930139965956710532597124185953503229050803344046701616045173519634615222595165103604123484464701950183618932047355235356260484804550035547858855471078469400736890619549282800824552488504213401319740005276120424203478934024691330859730605223981816950721722242298602396998454777214462844901001624310487137267167990152291232220160679834171658918041087766271803759224799638893378476007009759371119749402017899515594127036590338258532486874979118510546571188905038045683762928784986219623245601343481231117424998918858803874354784502204306051520626428380482661784217890427090351980640804718150876933728994180477003690217655871449363035531378016489299280224397537272939221232129288697692480248721538576987533097161421586227288327875008654801250969063623746322713909546384566560376104727737065351877984481974266799837090226481908497128708367058530795568206818072580006644211482341750987124683339677266112285142799336100072702718920367541819774401435874710484161948009490756863708187608789933398087027751371112615078295025008377751661983509900760751895892004760757695835317554619027114573664196932824844170136250456855454183220093089248779392038963714474697937876427531902004236016323346943784892126694912531865649050402315670203948958815237985710041314517036720851178733261701701133196685916850373373044973829209665695244874751506520420900517032390399959769778293114537498265720977850833746580969880585759981856903843861154919975949 16175574254817235256739818488919934179631118198286562354420958214297810968858456236314697807715350943631768890069573061412583839660822408506419611800413950907017837666343435680557498963999998398555542112287135776539773029920993294927941900247283770638686457016662691448885802210658448389931594227121113298068881753919438338936517866022192085026876408396040458532382271130083444963898117741249600892187758860608289985981200514804280009590585373536118217836506808910545420116423974850930728532769355842349968461831652219785829512464011906215116850381697075658456016088532397489433652067269712703138164735147920281166923226072752041302169613325348203319937272183851928765113816509460236373363526024966458993088096870583088408609394823957690981495327493188138728134529136979089406413136132922670585442787122596568536660782739363836025331422609723567481131955831003137363639633959933603372830904899078270517657091860006143438541710205197008844103122618213687533495362879659158111728371912153521727254057588125884447786333523815692563225011101306294618516429621463840345634523947023710018112940633169900899908871314328514351352595832723543701879578708784927877549511809082069570099500674236786456653107217282980831822301028196126556337806179508144828768717985715231542491112454490619645705831728039283785724649394458337279788356446562640061109821878376007993433249372683664178567570761031381225059081232993436005694400175278947397728406635739766647879364254899660312061594862824465128268274777135331365396567991636417881450189980230003941620413799510791604668589302884405059621868388500764440216837898533203582610284318561653222868661457981629263451722745615031830851892883493280733128308668790225295260855162362678336091082121599703349229672065177772524565322814053601813081894471441099286346911947501008605145762827655458997395309576331407760354001826340942975663843193776875272114916149848127024119239894107084993759572075451289547537108415883036477855936470291279078972918959421894420768803704925844309254208725527696766978859781746540545756562170747148238741304675762453775450711806006206795356153429896825577185416308750843040158558620799682805875444624076830608543351739282255614289113508235591760638358564825753058653160874164339510721481126915655334936049855777099966064449549511103264325820827367793097163595921300944145269329070721534227691347926627821876557919475451919626865188177972274902113990633004083779594074484496549663454536758251883910988777667543621906152317557686470953927063638183958768323432581842647422010047274489330565081854279365734308255289822911175957272502872128466234744494310616636520943764716521128556983062346451399562981801212121129882456954824159026393552456946641773364550716460833336510933964906880196738524153378570459186859994950857835474535233565305923752404555928293827135022578523521772889396714074858639056345420488901630664768275403021303241726179201940314623120023469836744053442102755094935097574648311850204952715924687170795246965311386543529904332855513007432965002391465242017297837258829141150686794628874711210700712747144656902492331343330623544750827880657339360134806160263636637698448057016602990228947450017368964127904077503743415279714572035371336872336059260296918188279163255419858590617368166776375566566334894974184850149288064268572233560609445039248976178591627029793132933258034757051783640001449991500447 26172628931842039174035125819495776008048293602255232066096260738786749802543822962742585994010200584514507252984846110260041176919354173466273951852029725026492338724663592611280468660264884060693143919364683600670217207021510728445867554127897830794781651752800506671753127846729031868248957148865599853657024129786347696491705166234527466362888160516913051718067029360138313971050638865876165663406325945286000090740176470250400004532717005099369755224380173966509836620271269605729590532492503712074413598165522092941037221437040301158523401232750420853009792535513159550786764442356152069170788169045733231747114812979102287341415126331177900333161185022490013447625238238633646219012844716308400117601880623968125290415920510426090003497910249669081857414503538113805380309346959382995346568124109697801018185386492623352103518538391362068705156634191169667821092105024590428058732160436724939166527650793766070873272119861531687459530142904407648799498352234066294514928697376339693867991969196082439845557296621096092486857250614049410449995392890247231265906376718028767179927573354235709214642423994305443341768560916432980844356582125827919292752147813122841934493728963217637973820311117802491702789799961195877137721506682777229998002485228238971927457016961726747946875453027631685936503719209693167341602142483113985185252305003310251611991243771640219644969268791245486258951379277408106547248234728053177438435136404290766577509709902967231216192868327072823084162257317855450601355988236616294144142909790374630552125073389203167638708301353790859151637088254539230718660223130039009086079052741701180281428096291503329769611427728884522874181141623900745153276604820362635024752492006863127249971652436884576688281040447041513339141454660186822253552616620511859075982920459934996580487397596672640280749360363447215468654570150054774032449357908901624209633267710050977392656998105881994312965865520726879243843187020022600407995902427001811676097104912925123471572147751627460354427728360142919362143963385870025010458512354366080286096540032022938580000747353865062266434622830633716196734699109575395528662772022119422811151565048280309542568043070141986219513095325186313482880657167222751513430375337009240512345791614052922502926202147009320126744283721170021305413587099171552321963234814679420152279088441841283629709247442221948913148257733984406501844306688518846091019028678687846708379060704119795264798017989369308909907636471417976690654521863737991580355444120845742986213859672194628062814765425366264294076034756369424525911161272274211488650519361427746459142031583555857753073053414213608805704600923438932660143222798348418210331963478960277362616080692964487274097101027393712615661701972232074723006127645370296277086476859354964182902292096101491959222628508300471346504920274508897572736391340970924199144756588974333383688642944841077643162053912424476571129514226700452241050892688493022125326019424465283247740933064922457230475212147295425796337616270703268282557010492356590962034191653985320823045085730165393920805836393436294531295057805321482627255412559343596151129507207421529825142969548468639279349765687572913086719315489453456594231608756222515605597760961430114874196013628792903564446577832471620441317841415395085367181678464228342011853723982537514697156442460776374102813843794738908687483862604911476396 42348203186659274430774944308415710187679411800541794420517218953084560771402279199057283801725551528146276143054419171672625016580176581972693563652443675933510176391007028291837967624264882459248686031651819377209990236942504023373809454375181601433468108769463198120638930057387480258180551375986713151725905883705786035428223032256719551389764568912953510250449300490221758934948756607125766555594084805894290076721376985054680014123302378635487973060886982877055256736695244456660319065261859554424382059997174312726866733901052207373640251614447496511465808624045557040220416509625864772308952904193653512914038039051854328643584739656526103653098457206341942212739054748093882592376370741274859110689977494551213699025315334383780984993237742857220585549032675092894786722483092305665932010911232294369554846169231987188128849961001085636186288590022172805184731738984524031431563065335803209684184742653772214311813830066728696303633265522621336332993715113725452626657069288493215595246026784208324293343630144911785050082261715355705068511822511711071611540900665052477198040513987405610114551295308633957693121156749156524546236160834612847170301659622204911504593229637454424430473418335085472534612100989392003694059312862285374826771203213954203469948129416217367592581284755670969722228368604151504621390498929676625246362126881686259605424493144323883823536839552276867484010460510401542552942634903332124836163543040030533225389074157866891528254463189897288212430532094990781966752556228252712025593099770604634493745487188713959243376890656675264211258956643039995158877061028572212668689337060262833504296757749484959033063150474499554705033034507394025886404913489152860320013347169225805586062734558484280037510712512219285863706777474240424066634511091952958362329832407436005185633160424328099278144669939778623229008571976395717008113201102678499481748183859899104416776237999989079306725437596178168791380295435905636885851838897293090755070023872347017892340951456553304663681937085670616129122823167616565556215074525113228524837844707785392355451459159871269061790776260530541773920115418326238568821330642919105617027009672357140151111394809424241833802208833421905243519015732048504572083536211173580023067272740968577837862252002786420092808733270681124569739407926539345419126830735980364297548417512562817857400595368849770789706177209436326128709494866491120993133019311691930487973135188616344928252554747621192820896414138961598596806839421424462534282507759029701754537292254037275484824812699855594859157889035735158834166451095185387445923022233556212693886525894172494274016818130734737362687663269890332223125024010469548092788918303119303756168537639606260638647817488227049126595666879112271461530281023940755463946471810212799657437525661407415711627184436594298481527498798030670462133105415829563255490177077875964048456918347862380884888233114364791194249537696537196294492995443587957222900667736315488200456857752093252477440523533838955700670471783710701247559401957598608259871450483126471509839714604876604621518583538093197023626401135945027378083293216682956285935667471058167523591026565071629508297215704941877214623392993196871873946180791593852477933820221727033062475176884212762155063945999247996007884176310369270217330966528496914245414333427576763673335034087806167235747101829495960471123864054902976843 68520832118501313604810070127911486195727705402797026486613479691871310573946102161799869795735752112660783396039265281932666193499530755438967515504473400960002515115670620903118436284529766519941829951016502977880207443964014751819677008503079432228249760522263704792392057904116512126429508524852313005382930013492133731919928198491247017752652729429866561968516329850360072905999395473001932219000410751180290167461553455305080018656019383734857728285267156843565093356966514062389909597754363266498795658162696405667903955338092508532163652847197917364475601159558716591007180951982016841479741073239386744661152852030956615984999865987704003986259642228831955660364292986727528811389215457583259228291858118519338989441235844809870988491147992526302442963536213206700167031830051688661278579035341992170573031555724610540232368499392447704891445224213342473005823844009114459490295225772528148850712393447538285185085949928260383763163408427028985132492067347791747141585766664832909463237995980290764138900926766007877536939512329405115518507215401958302877447277383081244377968087341641319329193719302939401034889717665589505390592742960440766463053807435327753439086958600672062404293729452887964237401900950587880831780819545062604824773688442193175397405146377944115539456737783302655658732087813844671962992641412790610431614431884996511217415736915964103468506108343522353742961839787809649100190869631385302274598679444321299802898784060834122744447331516970111296592789412846232568108544464869006169736009560979265045870560577917126882085192010466123362896044897579225877537284158611221754768389801964013785724854040988288802674578203384077579214176131294771039681518309515495344765839176088932836034386995368856725791752959260799202848232134427246320187127712464817438312752867371001766120558021000739558894030303225838697663142126450491040562559011580123691381451569950081809433236105871073619691303116905048035223482455928237293847741324294902431167128785272141363913099208180765018109665445813535491266786553486590566673586879479308810934384739808330935452206513736331328225399091164257970654814527901634097484102665038528428178574720637449693679437879566228053315304158608218726399672899271256085513911548182820535413064355021500340788454149795740219553016991851145875152995025710897741090065550659784449827505954404101487109842811071719702854434943420732630553801555009967084152047990379777196352195892736140193050572736990501730804050610379575287461361285162454114637951879875444740751151926231903547639578125221859153233923792104583360077612367459598934573541594983959153028557477728352027089871544948346168392264193329264883268246808817966303120881782079581118784618332570747912744918515620761742257368851344346184536408669311051741032948669567763840339817757508907670849812944894769828032419072539568034869496756800487454634933666850297432145561292703458528050287026789267765379051923237648535543888132080979348226687160780771448197790817015709707915735681134381497008088054413969530116412449955199221905642137111792332884800335041998542324419931529491554921458941266510005338705776026552437065174678479697348733996113540268787646981392514790301342708482650328468177789547816368083531581183157147936671190513005665719510523831719616449202017725764355584512644992725256257268057410114278370491476548582541338560945624234869158607726659814453239 110869035305160588035585014436327196383407117203338820907130698644955871345348381360857153597461303640807059539093684453605291210079707337411661079156917076893512691506677649194956403908794648979190515982668322355090197680906518775193486462878261033661717869291726902913030987961503992384610059900839026157108835897197919767348151230747966569142417298342820072218965630340581831840948152080127698774594495557074580244182930440359760032779321762370345701346154139720620350093661758519050228663016222820923177718159870718394770689239144715905803904461645413875941409783604273631227597461607881613788693977433040257575190891082810944628584605644230107639358099435173897873103347734821411403765586198858118338981835613070552688466551179193651973484385735383523028512568888299594953754313143994327210589946574286540127877724956597728361218460393533341077733814235515278190555582993638490921858291108331358534897136101310499496899779994989080066796673949650321465485782461517199768242835953326125058484022764499088432244556910919662587021774044760820587019037913669374488988178048133721576008601329046929443745014611573358728010874414746029936828903795053613633355467057532664943680188238126486834767147787973436772014001939979884525840132407347979651544891656147378867353275794161483132038022538973625380960456417996176584383140342467235677976558766682770822840230060287987292042947895799221226972300298211191653133504534717427110762222484351833028287858218701014272701794706867399509023321507837014534861100693121718195329109331583899539616047766631086125462082667141387574155001540619221036414345187183434423457726862226847290021611790473247835737728677883632284247210638688796926086431798668355664779186345314738422097121553853136763302465471480085066555009608667670386821638804417775800642585274807006951753718445328838837038700243004461926671714102846208048675760114258623173129635429849186226209474105860152926416740713083216826603777891833874179699580221587993186237152657619159256254050664734069681791602531484151620389609721103156122888661404592537335772229447593723290903665673607600390016175351694799744574929946227872666305433307957634045205584392994589844790832688990469887117512992030123969918688631319760657597447759356400558480337095990078178650706152582160312361750262532270444892402952250243160216896286640148747375923466966919344510438179921490492560612152857058759263296421501088077285067302071707684325331081352485121303127484611694551700464749341173884268200706586916648920459638905146495288444180269179032464390825077454012391812827839742194244063462644986380496563828540171846915083371900846301106689675683083531079927463219597106393270819287514395909800085198884874953155972177008551392736003847810868853035730456617646066689693251807204979420479780563497777343418916323382476997381489068309559917870570238497002602172630050710125110744726261480602479640565839412938520141154058959628589619774844830036883575668936571127354897096259648654648569108962185356259214973337197678559838124670777675814407553807481777092620238263842724514939918603163843003469622688578547860077211537383421998992709508723000842149537864872325022678611898295944197097456667515966101475847200342123970339410220561465401404884180999146367397218427874574469830967612457086194036133625801843611521222170502682390837691042043826510636388708574308047453730829629731590714717430082 179389867423661901640395084564238682579134822606135847393744178336827181919294483522657023393197055753467842935132949735537957403579238092850628594661390477853515206622348270098074840193324415499132345933684825332970405124870533527013163471381340465889967629813990607705423045865620504511039568425691339162491765910690053499268079429239213586895070027772686634187481960190941904746947547553129630993594906308254870411644483895664840051435341146105203429631421296564185443450628272581440138260770586087421973376322567124062674644577237224437967557308843331240417010943162990222234778413589898455268435050672427002236343743113767560613584471631934111625617741664005853533467640721548940215154801656441377567273693731589891677907787024003522961975533727909825471476105101506295120786143195682988489168981916278710700909280681208268593586959785981045969179038448857751196379427002752950412153516880859507385609529548848784681985729923249463829960082376679306597977849809308946909828602618159034521722018744789852571145483676927540123961286374165936105526253315627677366435455431214965953976688670688248772938733914512759762900592080335535327421646755494380096409274492860418382767146838798549239060877240861401009415902890567765357620951952410584476318580098340554264758422172105598671494760322276281039692544231840848547375781755257846109590990651679282040255966976252090760549056239321574969934140086020840753324374166102729385360901928673132831186642279535137017149126223837510805616110920683247102969645157990724365065118892563164585486608344548213007547274677607510937051046438198446913951629345794656178226116664190861075746465831461536638412306881267709863461386769983567965767950108183851009545025521403671258131508549221993489094218430740884269403241743094916707008766516882593238955338142178008717874276466329578395932730546230300624334856229296699089238319125838746864511086999799268035642710211731226546108043829988264861827260347762111473547321545882895617404281442891300620167149872914834699901267977297687111656396274589746689562248284071846146706614187402054226355872187343931718241574442859057715229744474129506763789535972996162473384159113632039538470270568556697940432817150638342696318361530591016743111359307539221093893401451011578519439160302377900531914767254383416320045397977961140901306961837299933197203429421371020831620280990993210195415047096277791389817097976511055161437115292451484880677526974088625314353700221602196282504515359720749171729561991749370763558411518780591236039596106501082580103968950299313165625736619944325554321675830104585315070105423524130999943640849629198328196561220631429699472191656548861989661517628105480699030681867278465993737774304747756464137654519468572611110404581800963830603098362562858946012369149348327338117161176425231053326810326383838137592336943109806531872098929430538164760044411576558912748040933269297940988807167943326725007641543012493365580771707749915919354042057877031096852439386124671893271994896107718694686647892538640307792226857509006703682734757350056175609315274960601706167423401152180133469319018478047388760704768736061160066016828017562221059018792152167083591178489971457817308809958497528810301759887226588644996982588041328935817557910224093594084993662687228906288211761897981386356256513947426759950448247805320414317987184971249912868993077965698788339317374531883321 290258902728822489675980099000565878962541939809474668300874876981783053264642864883514176990658359394274902474226634189143248613658945430262289673818307554747027898129025919293031244102119064478322861916353147688060602805777052302206649934259601499551685499105717510618454033827124496895649628326530365319600601807887973266616230659987180156037487326115506706406447590531523736587895699633257329768189401865329450655827414336024600084214662908475549130977575436284805793544290031100490366923786808908345151094482437842457445333816381940343771461770488745116358420726767263853462375875197780069057129028105467259811534634196578505242169077276164219264975841099179751406570988456370351618920387855299495906255529344660444366374338203197174935459919463293348499988673989805890074540456339677315699758928490565250828787005637805996954805420179514387046912852684373029386935009996391441334011807989190865920506665650159284178885509918238543896756756326329628063463632270826146678071438571485159580206041509288941003390040587847202710983060418926756692545291229297051855423633479348687529985289999735178216683748526086118490911466495081565264250550550547993729764741550393083326447335076925036073828025028834837781429904830547649883461084359758564127863471754487933132111697966267081803532782861249906420653000649837025131758922097725081787567549418362052863096197036540078052592004135120796196906440384232032406457878700820156496123124413024965859474500498236151289850920930704910314639432428520261637830745851112442560394228224147064125102656111179299133009357344748898511206047978817667950365974532978090601683843526417708365768077621934784474150035559151342147708597408672364891854381906852206674324211866718409680228630103075130252396683902220969335958251351762587093830405321300369039597923416985015669627994911658417232971430789234762551006570332142907137914079240097370037640722429648454261852184317591379472524784543071481688431038239595985653246901767470888803641434100510459876421200537648904381692870508781838732046005995692902812450909688664383482478843634995777517259537860951532108257749794553857459804674420357379430094969280953796518589743506626629383261103257547167827550330142668466666237050161910777400708807066895621652373738547001656698089866454960060844276517516915686764937800930211384061523858123940081944579352888337940176130719170914700687975659249134850149080394398012143238722182594523192565002858055441110435656827706213890834204980109061923055997762698336287412478871157685737731328040286770261612568359775376767178017549447784067748565739292749571695566669252064302846858724221530044629303250896314513230552119119768459096054788447392995094940481952477350868690930276924765015530390523316383479963440312257581476669788055814666150991789629128890835894504595341554435803807707872906447152254813680045028874701102060588874885155156302820393350520573835137353927327309097385684636231162787338195617655283418852490481396954973290745507087955233634078628254111081055892365207730663311085468041265062814185459827377588320018333830214879204870010426870774868712017179095689584772182703761445569883066858977555427093384041470764065379535375587428125333274911434344729152425730226636809206462383992925509934963925307442521468659463493654841363374405798031607188199868035169597262632839085496362458144497821359958487177040531696528418070908089249313403 469648770152484391316375183564804561541676762415610515694619055318610235183937348406171200383855415147742745409359583924681206017238183523112918268479698032600543104751374189391106084295443479977455207850037973021031007930647585829219813405640941965441653128919708118323877079692745001406689196752221704482092367718578026765884310089226393742932557353888193340593929550722465641334843247186386960761784308173584321067471898231689440135650004054580752560608996732848991236994918303681930505184557394995767124470805004966520119978393619164781739019079332076356775431669930254075697154288787678524325564078777894262047878377310346065855753548908098330890593582763185604940038629177919291834075189511740873473529223076250336044282125227200697897435453191203173971464779091312185195326599535360304188927910406843961529696286319014265548392379965495433016091891133230780583314436999144391746165324870050373306116195199008068860871239841488007726716838703008934661441482080135093587900041189644194101928060254078793574535524264774742834944346793092692798071544544924729221859088910563653483961978670423426989622482440598878253812058575417100591672197306042373826174016043253501709214481915723585312888902269696238790845807721115415241082036312169148604182051852828487396870120138372680475027543183526187460345544881677873679134703852982927897158540070041334903352164012792168813141060374442371166840580470252873159782252866922885881484026341698098690661142777771288307000047154542421120255543349203508740800391009103166925459347116710228710589264455727512140556632022356409448257094417016114864317603878772746779909960190608569441514543453396321112562342440419052011169984178655932857622332015036057683869237388122080938360138652297123741490902332961853605361493094857503800839171838182962278553261559163024387502271377987995628904161335465063175341426561439606227152398365936116902151809429447722297494894529322606018632828373059746550258298587358097126794223313353784421045715543401760496588350410563739081594138486079525843702402270282649502013157972736229629185457822397831743615410048295463826499324237412915175034418894486886193884505253949958991973902620258668921731373826103865767983147293306809362555411692501794143820166374434842746267139998013235217529026757337961376191284771299103084983198908172524962830819961240015141782782309708961007751000161907910883390706345412641538897492374523198400159297886974677445680385029529735750010527927816087116709495468782672227727324690085658176037282676466328967367636393271344192672328725676080343643286067728393302887415122854157010636774675588433846802365071159242957499812116945942930024310776317321085716306075498475793971163819755816862428704581672521479668045042784956091073844894058545307272886418377525097004158778477218174011665771766785489130618034256744584744591756789851560746800031491127039645199567879379306098561507104435294916134477040712409643872705799831561198426991168768409835439012850321842359527341358305971900249007188774587051855623201951393260268122571820889142562134938376193943145489839806576177850271927048845486498114167632160943408530181631043132875805572989314443060262916232463126554077399583150583721392842257962727490113863397851459366580966838870781483217666615062744457156342070269662617559929588574556124549117024022583287333301682872462485006331208400046033609662227206410225463781196724 759907672881306880992355282565370440504218702225085183995493932300393288448580213289685377374513774542017647883586218113824454630897128953375207942298005587347571002880400108684137328397562544455778069766391120709091610736424638131426463339900543464993338628025425628942331113519869498302338825078752069801692969526466000032500540749213573898970044680003700047000377141253989377922738946819644290529973710038913771723299312567714040219864666963056301691586572169133797030539208334782420872108344203904112275565287442808977565312210001105125510480849820821473133852396697517929159530163985458593382693106883361521859413011506924571097922626184262550155569423862365356346609617634289643452995577367040369379784752420910780410656463430397872832895372654496522471453453081118075269867055875037619888686838897409212358483291956820262503197800145009820063004743817603809970249446995535833080177132859241239226622860849167353039756749759726551623473595029338562724905114350961240265971479761129353682134101763367734577925564852621945545927407212019449490616835774221781077282722389912341013947268670158605206306230966684996744723525070498665855922747856590367555938757593646585035661816992648621386716927298531076572275712551663065124543120671927712732045523607316420528981818104639762278560326044776093880998545531514898810893625950708009684726089488403387766448361049332246865733064509563167363747020854484905566240131567743042377607150754723064550135643276007439596850968085247331434894975777723770378631136860215609485853575340857292835691920566906811273565989367105307959463142395833782814683578411750837381593803717026277807282621075331105586712377999570394158878581587328297749476713921888264358193449254840490618588768755372253993887586235182822941319744446620090894669577159483331318151184976148040057130266289646412861875592124699825726347996893582513365066477606033486939792531859096176559347078846913985491157612916131228238689336826954082780041125080824673224687149643912220373009550948212643463287008994861364575748408265975552314464067661400613111664301457393609260874947909246995934757074031966772634839093314844265623979474534903755510563646126885298304992477083651033595533477435975276028792461854412571544528973441330464398640878545014891915618893212298022220467802288214789849920999838383909024354678085180097086362135198046901183881719332822611571366365594547491687977886772535341638881480481497870010683243084970846185667355634029977950914475577844595283725087388421945588516153834152066698695676680041605805240688501052847521660835515512461051453154415603728706203443927652736693661089292689287586803063013260456160576429896085780181771094522891470888911645772233167731119634858597286495198435566101339571037285206316126783942674474192191247995948407606109009906170367108339924934425742129651031896846570469896589621501133551715914530354724182199699449082080939572648843461786138098094280103868587169756816082274587620900316835967823612587866615296591940050528503118269830479417063353865262478728309387634635074602389512526696212276975704719011446188277142701917557503677209857216933126112291627200926199734783128416407827101733680297842661929664827708483858632827186987115153220340500207057921750573892348805745408525109136531403920649996911633037023357961195762755992584286621285216126418798045330606982827691166887223074141358755624481133553030510127 1229556443033791272308730466130175002045895464640695699690112987619003523632517561695856577758369189689760393292945802038505660648135312476488126210777703619948114107631774298075243412693006024433233277616429093730122618667072223960646276745541485430434991756945133747266208193212614499709028021830973774283785337245044026798384850838439967641902602033891893387594306691976455019257582194006031251291758018212498092790771210799403480355514671017637054252195568901982788267534126638464351377292901598899879400036092447775497685290603620269907249499929152897829909284066627772004856684452773137117708257185661255783907291388817270636953676175092360881046163006625550961286648246812208935287070766878781242853313975497161116454938588657598570730330825845699696442918232172430260465193655410397924077614749304253173888179578275834528051590180110505253079096634950834590553563883994680224826342457729291612532739056048175421900627989601214559350190433732347497386346596431096333853871520950773547784062162017446528152461089117396688380871754005112142288688380319146510299141811300475994497909247340582032195928713407283874998535583645915766447594945162632741382112773636900086744876298908372206699605829568227315363121520272778480365625156984096861336227575460144907925851938243012442753587869228302281341344090413192772490028329803690937581884629558444722669800525062124415678874124884005538530587601324737778726022384434665928259091177096421163240796786053778727903851015239789752555150519126927279119431527869318776411312922457567521546281185022634323414122621389461717407720236812849897679001182290523584161503763907634847248797164528727426699274720439989446170048565765984230607099045936924322042062686642962571556948907407669377735378488568144676546681237541477594695508748997666293596704446535311064444632537667634408490779753460164888901689423455022119592218875971969603841944341288543898856841973376236591509790441289190974788947635414312179906835348394178457645732865187313980869597901358776382544881147480940890419450810536258201816477225634136842740849759279791441004490357957542459761256398269379687809873512209331151817863979788853714502537548747143967226723850909754899363516624729282085391347873546914365688349139815765307144908018543028127133147919969635983596659087059513892934904198746556433987185498046420112228144917507755862191632719494730522454757071939960133226875379147058540039040778368472547456363628114500581935677883561846065067623971046627267511452412078507603764553436510618395666063313073312949997913017226728927865304121583240854354340569538457885716840218603241170540463454363848530544302875130206399090600740672403101267487400598389946682882809591988984593548339440269807974866480608886295662111130100374672091215560892569716345000107186083327183917836138875125414065043776386395616641438327259748150368301165042842954175554292061579005547643588044007943759596263178810503923976574387001318014509265756389310152274980673934430226142637950246022428752125458605066468918977067213871988577510206455963744951647465072406220121194558818022366127414628966402990175324024849094069520821808831969332610588701405722270161996596530305788483742227291634442354220029245077880710454363604909381117154859187676526891742775751594148377806338981902699640917890784337312117133403645307799413752099728203069467834022375287269107751020982830891359016811706851 1989464115915098153301085748695545442550114166865780883685606919919396812081097774985541955132882964231778041176532020152330115279032441429863334153075709207295685110512174406759380741090568568889011347382820214439214229403496862092072740085442028895428330384970559376208539306732483998011366846909725844085478306771510026830885391587653541540872646713895593434594683833230444397180321140825675541821731728251411864514070523367117520575379337980693355943782141071116585298073334973246772249401245802803991675601379890584475250602813621375032759980778973719303043136463325289934016214616758595711090950292544617305766704400324195208051598801276623431201732430487916317633257864446498578740066344245821612233098727918071896865595052087996443563226198500196218914371685253548335735060711285435543966301588201662386246662870232654790554787980255515073142101378768438400523813330990216057906519590588532851759361916897342774940384739360941110973664028761686060111251710782057574119843000711902901466196263780814262730386653970018633926799161217131591779305216093368291376424533690388335511856516010740637402234944373968871743259108716414432303517693019223108938051531230546671780538115901020828086322756866758391935397232824441545490168277656024574068273099067461328454833756347652205032148195273078375222342635944707671300921955754398947266610719046848110436248886111456662544607189393568705894334622179222684292262516002408970636698327851144227790932429329786167500701983325037083990045494904651049498062664729534385897166497798424814381973105589541134687688610756567025367183379208683680493684760702274421543097567624661125056079785604058532285987098439559840328927147353312528356575759858812586400256135897803062175537676163041631729266074803327499488000981988097685590178326157149624914855631511459104501762803957280821352655345584864714628037420348604632957285353578003090781736873147640075416189052223150577000948054205322203027636972241266262686876473475003130870420014831226201242607452306989026008168156475802254995199218802233754130941293295537455852514060737185050265365305866789455696013472301346460444712605524175417441843454323757470013101194874029265531716327993405932959050102165257361420140335401326937232878113257095771543548897088043019048766813181934005817126889347728682784825198584940343011540176131600209314507052705802763375514438827553134026123437534507624914853265919593881677922258849970417467046871199471428121345239195876043018538446624471862795177499466929549353069590344770462364758989753354555803153705727781775386964957098753315405793723954061614423043662530893907234124543656537818131105938143466855251177170568488881449258495121281417571794455364222152324667974298867094470064916174987635233148415306690798875158235366761907592996055593689436193824006505983465338999469518516046648538284897729644739989802298594558868705909016243778704996725668983580592603058049316908598204080442974171074830591540344010210469110948497547018092757934542186072957255243728435545885982330932476350716886897841091038347341159991768618497096899277829468554404557330883960493852533882066027195633113436032895532345371829822130097263730276828148450413407055000118300987047216232193033930794863811967302867728751536482272300267884888125552298456335893535736664275851980100068109717690266593015540170897773533676450661713542174492181892379738455372492569842216978 3219020558948889425609816214825720444596009631506476583375719907538400335713615336681398532891252153921538434469477822190835775927167753906351460363853412827243799218143948704834624153783574593322244624999249308169336848070569086052719016830983514325863322141915693123474747499945098497720394868740699618369263644016554053629270242426093509182775248747787486822188990525206899416437903334831706793113489746463909957304841734166521000930894008998330410195977709973099373565607461611711123626694147401703871075637472338359972935893417241644940009480708126617132952420529953061938872899069531732828799207478205873089673995789141465845005274976368984312247895437113467278919906111258707514027137111124602855086412703415233013320533640745595014293557024345895915357289917425978596200254366695833468043916337505915560134842448508489318606378160366020326221198013719272991077377214984896282732862048317824464292100972945518196841012728962155670323854462494033557497598307213153907973714521662676449250258425798260790882847743087415322307670915222243734067993596412514801675566344990864330009765763351322669598163657781252746741794692362330198751112638181855850320164304867446758525414414809393034785928586434985707298518753097220025855793434640121435404500674527606236380685694590664647785736064501380656563686726357900443790950285558089884848495348605292833106049411173581078223481314277574244424922223503960463018284900437074898895789504947565391031729215383564895404552998564826836545196014031578328617494192598853162308479420255992335928254290612175458101811232146028742774903616021533578172685942992798005704601331532295972304876950132785958985261818879549286498975713119296758963674805795736908442318822540765633732486583570711009464644563371472176034682219529575280285687075154815918511560078046770168946395341624915229843435099045029603529726843803626752549504229549972694623681214436183974273031025599387168510738495494513177816584607655578442593711821869181588516152880018540182112205353665765408553049303956743145414650029338491955947418518929674298593363820016976491269855663824331915457269870570726148254586117733506569259707434112611184515638743621173232758440178903160832322566726894539446811488208948241302921227253072861078688456915631071146181914733151569989413785976407242575719729397331496776998725674178020321542651970213558625567147158322283656480880509474467758141728645066652421716963037218442964923410499313972010057023122757722108086162417671099130306629911545437153117623026855388858030822302826667505801066722954510703252269078681994169760134293492519500139883881134135077774587998020386348675408813273673254341777911240891982716745895719671364254677264956211136918216313739136902444931396783873930895259545407065470966373796259331623937996162779772763377741842644858590753064513294902442265179723224989392890358103463637401822881463308305357710544369257027588536362654312495719102128057017361172392845100806100399520621385929171481448318900572492432095386007369187040612354901307999690222705464408047547002092292807456841024717218093836647490920531971959850363484027857906915121265153935244864864864955960531227852367425726873358454238897149282291752743341267245477270914641249227416876683984883610724158799192010660639719700676262674875438436305193742764437380226851093911900814953922997501736745918495735917461761289643400721286263851586653923829 5208484674863987578910901963521265887146123798372257467061326827457797147794713111666940488024135118153316475646009842343165891206200195336214794516929122034539484328656123111594004894874143162211255972382069522608551077474065948144791756916425543221291652526886252499683286806677582495731761715650425462454741950788064080460155634013747050723647895461683080256783674358437343813618224475657382334935221474715321821818912257533638521506273346979023766139759851044215958863680796584957895876095393204507862751238852228944448186496230863019972769461487100336435995556993278351872889113686290328539890157770750490395440700189465661053056873777645607743449627867601383596553163975705206092767203455370424467319511431333304910186128692833591457856783222846092134271661602679526931935315077981269012010217925707577946381505318741144109161166140621535399363299392487711391601190545975112340639381638906357316051462889842860971781397468323096781297518491255719617608850017995211482093557522374579350716454689579075053613234397057433956234470076439375325847298812505883093051990878681252665521622279362063307000398602155221618485053801078744631054630331201078959258215836097993430305952530710413862872251343301744099233915985921661571345961712296146009472773773595067564835519450938316852817884259774459031786029362302608115091872241312488832115106067652140943542298297285037740768088503671142950319256845683183147310547416439483869532487832798709618822661644713351062905254981889863920535241508936229378115556857328387548205645918054417150310227396201716592789499842902595768142086995230217258666370703695072427247698899156957097360956735736844491271248917319109126827902860472609287320250565654549494842574958438568695908024259733752641193910638174799675522683201517672965875865401311965543426415709558229273448158145582196051196090444629894318157764264152231385506789583127975785405418087583824049689220077822537745511686549699835380844221579896844705280588295344184719386572894849766383354812805972754434561217460432545400409849248140725710078359812225211754445877880754161541535220969691121371153283342872072608699298723257681986701550888436368654528739938495202498290156506896566765281616829059796808231628544349568240154105366329956850232005812719114165230681546333503995230912865754971258504554595916437120010265850309620530857159022919361388942661597149836790507003947008975383056581910986246303394885296068413382390457370513443438178368361953598151104700864295570993101807411012366702470692617200159320395581292580022061604220428682292478639234035780747485165928017446581114562927543665028985008712541676924166806514751417140109592955081809380864166004390840952781826471720320433289242884288038003996914996312958861566128407960713756269841532031626093531530992218373462199571565849150842056092063982813418488913718008122719037630347905762231960691587372324549136415541094926011169128965712361812627700332137460335343467675692346444409731090496877669028466411658507034618168343262612915476158240883638932166573422351305888638040439633967448609643214314993114476959474936529290734323977880391788981148460787048680897760397301332361049982464689457150186602689310556337291871044328314461709463948572044091228843986852612362260641071492278545527845252974719010768974172969469594744537448336568784178493830494093895275270422369157449459636253471535780459741636344156496140807 8427505233812877004520718178346986331742133429878734050437046734996197483508328448348339020915387272074854910115487664534001667133367949242566254880782534861783283546800071816428629048657717755533500597381318830777887925544635034197510773747409057547154974668801945623158034306622680993452156584391125080824005594804618134089425876439840559906423144209470567078972664883644243230056127810489089128048711221179231779123753991700159522437167355977354176335737561017315332429288258196669019502789540606211733826876324567304421122389648104664912778942195226953568947977523231413811762012755822061368689365248956363485114695978607126898062148754014592055697523304714850875473070086963913606794340566495027322405924134748537923506662333579186472150340247191988049628951520105505528135569444677102480054134263213493506516347767249633427767544300987555725584497406206984382678567760960008623372243687224181780343563862788379168622410197285252451621372953749753175106448325208365390067272044037255799966713115377335844496082140144849278542140991661619059915292408918397894727557223672116995531388042713385976598562259936474365226848493441074829805742969382934809578380140965440188831366945519806897658179929736729806532434739018881597201755146936267444877274448122673801216205145528981500603620324275839688349716088660508558882822526870578716963601416257433776648347708458618818991569817948717194744179069187143610328832316876558768428277337746275009854390860096915958309807980454690757080437522967807706733051049927240710514125338310409486238481686813892050891311075048624510916990611251750836839056646687870432952300230689253069665833685869630450256510736198658413326878573591906046283925371450286403284893780979334329640510843304463650658555201546271851557365421047248246161552476466781461937975787604999442394553487207111281039525543674923921687491107955858138056293812677948480029099302020008023962251103421924914022425045194348558660806187552423147874300117213366307902725774868306565467018159638519843114266764389288545824499277479217666025778331154886053039241700771138032805076633515453286610553213442798756953884840991188555961258322548979839044378682116375731048596685799727597604183555954336255043116753297809543075332619402817928920462728350185311412596279485073984644698842162213834224283993247933897008991524487640852399810993132920014509808755472120446987884456483443141198310556052898725111848333286856347313867869827415448235391484711320259190863281966670123408437322557803855588315644055548178426403595406689567405287151636803181891503114462741654926062310939100614702811424799164062783300539697310515481923564690813363934732993050272846882750286560624146081148985276644426161100601777140899359927709742735497023667506120821740807905827885425155468988381153234962949307691795700646845128496108320931178897731347708430520706009225869362514468835632854494126085464183038757665328366674308346802460194477696515860520793152544809251711882806840509914730559079527050263729269982102516770595784946931856796127815713936185042531926774905450667931533086951124450395468501250584687461908249695896269725940983925762625262257292892277834832115184023545056928207705619583623787669581707186734863213293318645720670837495972984799870684289206167564953650981685644412609274663337508974828563419878090394645448016892777007168287653185377098014761179181181027900195743150064636 13635989908676864583431620141868252218888257228250991517498373562453994631303041560015279508939522390228171385761497506877167558339568144578781049397711656896322767875456194928022633943531860917744756569763388353386439003018700982342302530663834600768446627195688198122841321113300263489183918300041550543278747545592682214549581510453587610630071039671153647335756339242081587043674352286146471462983932695894553600942666249233798043943440702956377942475497412061531291292969054781626915378884933810719596578115176796248869308885878967684885548403682327290004943534516509765684651126442112389908579523019706853880555396168072787951119022531660199799147151172316234472026234062669119699561544021865451789725435566081842833692791026412777930007123470038080183900613122785032460070884522658371492064352188921071452897853085990777536928710441609091124947796798694695774279758306935120964011625326130539096395026752631240140403807665608349232918891445005472792715298343203576872160829566411835150683167804956410898109316537202283234776611068100994385762591221424280987779548102353369661053010322075449283598960862091695983711902294519819460860373300584013768836595977063433619137319476230220760530431273038473905766350724940543168547716859232413454350048221717741366051724596467298353421504584050298720135745450963116673974694768183067549078707483909574720190646005743656559759658321619860145063435914870326757639379733316042637960765170544984628677052504810267021215062962344554677615679031904037084848607907255628258719771256364826636548709083015608643680810917951220279059077606481968095505427350382942860199999129846210167026790421606474941527759653517767540154781434064515333604175937104835898127468739417903025548535103038216291852465839721071527080048622564921212037417877778747005364391497163228715842711632789307332235615988304818239845255372108089523563083395805924265434517389603832073651471181244462659534111594894183939505027767449267853154888412557551027289298669718072948821830965611274277675484224821833946234348525619943376104138143380097807485119581525299574340297603206574657763836556314871365653183564248870542662809210985348493573118620611578229338753192696294362885800385014133063274745297647377783229437985732774779152468541069299476643277825818577979875611707917185092728838589164371017019257374797261383256970016052281403452470352621957237494888403492418524254892467039145028506733629355269729704325240340858886413759846664918410295564146262241116510244733570170558059008261255707498821984887986711629009507580319095660530737150243489140091990328385681729265738968464193047792013081374234682288438316107953473527688074859653711048754677401576927907620705597077715403984889815144896274924022701597063152075466834578010649437859511518686999980599526697162520873540946542702937192478921739420092615739470427468151053914988101323206056207957403630541626559109049926794294079036120974502792331938031859328196485498989218982802379684509538381142217586561668432072532595017992928836668585864023369550167019824823082971560742354060311145848080065601409870405030541319011439788641484877418186728032606660385659558625253327817296804641173731659617518261956875494831997896168896198811785337409874564657690108335245440942176567751695410206625700696413386782244132932253512276899988662268888475942110788052277590656810634836734268232714961640769536539899646205443 22063495142489741587952338320215238550630390658129725567935420297450192114811370008363618529854909662303026295876985171411169225472936093821347304278494191758106051422256266744451262992189578673278257167144707184164326928563336016539813304411243658315601601864490143745999355419922944482636074884432675624102753140397300348639007386893428170536494183880624214414729004125725830273730480096635560591032643917073785380066420240933957566380608058933732118811234973078846623722257312978295934881674474416931330404991501363553290431275527072349798327345877554243573891512039741179496413139197934451277268888268663217365670092146679914849181171285674791854844674477031085347499304149633033306355884588360479112131359700830380757199453359991964402157463717230068233529564642890537988206453967335473972118486452134564959414200853240410964696254742596646850532294204901680156958326067895129587383869013354720876738590615419619309026217862893601684540264398755225967821746668411942262228101610449090950649880920333746742605398677347132513318752059762613445677883630342678882507105326025486656584398364788835260197523122028170348938750787960894290666116269966948578414976118028873807968686421750027658188611202775203712298785463959424765749472006168680899227322669840415167267929741996279854025124908326138408485461539623625232857517295053646266042308900167008496838993714202275378751228139568577339807614984057470367968212050192601406389042508291259638531443364907182979524870942799245434696116554871844791581658957182868969233896594675236122787190769829500694572121992999844789976068217733718932344483997070813293152299360535463236692624107476105391784270389716425953481660007656421379888101308555122301412362520397237355189045946342679942511021041267343378637414043612169458198970354245528467302367284768228158237265119996418613275141531979742161532746480063947661619377208483872745463616691623840097613722284666387573556536640088532498165833955001691001029188529770917335192024444586379514288849125249794120789750989211122492058847803099161042129916474534983860524361282296437607145374236722027944374389769757670122607068405240059098624067533534328332617497302727953960387349878496021960489983940968469318317862050945187326304770605135592708072931269419484788055874105303651964520310550079398926953122582412304914028248899284902235656781009185201417962279108094077684482772859975861665453203023092043753618581962642126077018193110168274334649151331376238669486427428228911239918682056127974413647323905311255677248388483393401196414794731955898842422240264706230795018052639324782343968550393263357110575313621071545197770361880798766837462421067909926557931504963962201073988769690873722141565085491592285795634851732444332560175742972955399751457343687396943842468968980679932125470181232742243349782320975030060351271513470818135898671759924213970685720525043590258124667712023292088684459622445710429321305252526415728375188717278651534028234514262491350048295872776666088718695801802577120509699432453532795880165677982733761008125503487517259510979077381167016725860265873531791903698901696891180773687912669016532423010921815918145605652128919825197276716545725967576459118619667477876082933674998630728520285328527604308230240812860856957862975160276682382057799391518796269762487105463408540359283121390127680829284758944463820213832282993894142821797436735642796270079 35699485051166606171383958462083490769518647886380717085433793859904186746114411568378898038794432052531197681638482678288336783812504238400128353676205848654428819297712461672473896935721439591023013736908095537550765931582036998882115835075078259084048229060178341868840676533223207971819993184474226167381500685989982563188588897347015781166565223551777861750485343367807417317404832382782032054016576612968338981009086490167755610324048761890110061286732385140377915015226367759922850260559408227650926983106678159802159740161406040034683875749559881533578835046556250945181064265640046841185848411288370071246225488314752702800300193817334991653991825649347319819525538212302153005917428610225930901856795266912223590892244386404742332164587187268148417430177765675570448277338489993845464182838641055636412312053939231188501624965184205737975480091003596375931238084374830250551395494339485259973133617368050859449430025528501950917459155843760698760537045011615519134388931176860926101333048725290157640714715214549415748095363127863607831440474851766959870286653428378856317637408686864284543796483984119866332650653082480713751526489570550962347251572095092307427106005897980248418719042475813677618065136188899967934297188865401094353577370891558156533319654338463578207446629492376437128621206990586741906832212063236713815121016384076583217029639719945931938510886461188437484871050898927797125607591783508644044349807678836244267208495869717450000739933905143800112311795586775881876430266864438497227953667851040062759335899852845109338252932910951065069035145824215687027849911347453756153352298490381673403719414529082580333312030043234193493636441441720936713492277245659958199539831259815140380737581049380896234363486880988414905717462666177090670236388232024275472666758781931456874079976752785725945510757520284560401378001852172037185182460604289797010898134081227672171265193465910850233090648234982716437670861722450958854184076942328468362481323114304452463110680090861068398465235214032956438293196328719104418234054617915081668009480863821737181485671839928602602138226326072541488260251969488929641286876744519676826190615923339532189726103071192316323375784325982602381592607348592565109534208590868367487225399810488784264699151931122229944395922257996584019681961171576675931047506274082163618913751025237482821414749460716034921977661263468280189708095490131188782125315591997395806722518350509133221062911178041157079781991574491152356428926789698144971706332166566963176070373371380112825424302312274994502952977414949719935110042967710464073234289361727550158367326702445779880058800196906720310990109142769580268980259641363778001896390396470799856969070381407430691909775755145929623327818439789977762106781546908462529468949580206629287991054773688786052719513453951799771364129210288563366822813839202072008926581251547661755209338582401138611253916524746550295808044858353760234516913764150523247217316642175859586677014994252650387127874335172138502628269122118659903535228149753585831208475048259613571290223229247082327270136278562333222710341485532665651106099397049139083396581374543398933469425724466371008376163244229533334613451665374044979132486783968138394849986217712643475681755037424709558385366902383078471186173762929202015999382363397202628171597332238468881562349601274455050566551226609104462566973275542442475522 57762980193656347759336296782298729320149038544510442653369214157354378860925781576742516568649341714834223977515467849699506009285440332221475657954700040412534870719968728416925159927911018264301270904052802721715092860145373015421929139486321917399649830924668485614840031953146152454456068068906901791484253826387282911827596284240443951703059407432402076165214347493533247591135312479417592645049220530042124361075506731101713176704656820823842180097967358219224538737483680738218785142233882644582257388098179523355450171436933112384482203095437435777152726558595992124677477404837981292463117299557033288611895580461432617649481365103009783508836500126378405167024842361935186312273313198586410013988154967742604348091697746396706734322050904498216650959742408566108436483792457329319436301325093190201371726254792471599466321219926802384826012385208498056088196410442725380138779363352839980849872207983470478758456243391395552601999420242515924728358791680027461396617032787310017051982929645623904383320113891896548261414115187626221277118358482109638752793758754404342974221807051653119803994007106148036681589403870441608042192605840517910925666548213121181235074692319730276076907653678588881330363921652859392700046660871569775252804693561398571700587584080459858061471754400702575537106668530210367139689729358290360081163325284243591713868633434148207317262114600757014824678665882985267493575803833701245450738850187127503905739939234624632980264804847943045547007912141647726668011925821621366197187564445715298882123090622674610032825054903950909859011214041949405960194395344524569446504597850917136640412038636558685725096300432950619447118101449377358093380378554215080500952193780212377735926626995723576176874507922255758284354876709789260128435358586269803939969126066699685032317241872782144558785899052264302562910748332235984846801837812773669756361750772851512268878915750577237806647184875071248935836695677452649855213265472099385697673347558890831977399529216110862519254986203244078930352044131818265460363971092450065528533842146118174788631046076650630546512616095830211610867320374728988739910944278054005158808113226067486150113452949688338283865768266951071699910469399537752435838979196003960195298331079908269052755026036425881908916232808075982946635083753988980845075755173367065854570532034422684239377028568810112606460434123444141855161298513223232535743897554639521883740711460677407555712062509417395749268419002720063596347608845826119385353656071878218853318761854773514021839097044230893345375217679655950730128095607035246417202839754990907268942640323517325077829162077705487148452530210679506826911764605325979075885160087344521998534155872999716487544627487590262183503561412745377513564125234305406371937918560886561413461236006431029402501834428981860122635642681106699265494573763416042694647106295137919879877050605693227295713538970456979617113297384769488609705631042802057275451830904667209634972887770918739105823676137749259012327701575651455783700906132487346839333978535776873082269300610414099053130402152094125126409243182423846424794012066065671506407503190461544539121554644291568285092708970197109793732071332851921062066161782598866915135314745316951705922567898281667421360527179065460528985565281725471778486487826805742987454718722366149710847108545738275264398834220503247284364410011185238745601 93462465244822953930720255244382220089667686430891159738803008017258565607040193145121414607443773767365421659153950527987842793097944570621604011630905889066963690017681190089399056863632457855324284640960898259265858791727410014304044974561400176483698059984846827483680708486369360426276061253381127958865754512377265475016185181587459732869624630984179937915699690861340664908540144862199624699065797143010463342084593221269468787028705582713952241384699743359602453752710048498141635402793290872233184371204857683157609911598339152419166078844997317310731561605152243069858541670478028133648965710845403359858121068776185320449781558920344775162828325775725724986550380574237339318190741808812340915844950234654827938983942132801449066486638091766365068389920174241678884761130947323164900484163734245837784038308731702787967946185111008122801492476212094432019434494817555630690174857692325240823005825351521338207886268919897503519458576086276623488895836691642980531005963964170943153315978370914062024034829106445964009509478315489829108558833333876598623080412182783199291859215738517404347790491090267903014240056952922321793719095411068873272918120308213488662180698217710524495626696154402558948429057841759360634343849736970869606382064452956728233907238418923436268918383893079012665727875520797109046521941421527073896284341668320174930898273154094139255773001061945452309549716781913064619183395617209889495088657865963748172948435104342082981004738753086845659319707728423608544442192686059863425141232296755361641458990475519719371077987814901974928046359866165092988044306691978325599856896341298810044131453165641266058408330476184812940754542891098294806872655799875038700492025040027518116664208045104472411237994803244173190072339375966350798671746818294079412635884848631141906397218625567870504296656572548862964288750184408022031984298417063466767259884854079184440144109216488088039737833110053965373507557399903608709397342414427854060154670673195284440510209306971930917720221417277035368645240460537369878598025710365147196543323009939911970116717916579233148650842421902753099127572344217918381197821022573681984998729149407018339839556020880654607241552592933674081503076748130317545373187786872327682523730890397053317454177967548111853312155066072566966317044925565656776123261447449229473484283059660167060791778029526147528438095386912422044869394003354421317869213146636917690463229811186540776774973687458552829050410577211215952776535635524264357059988238445182029389135226153626847263399356505887848328195094605670665238138574745710490437129116718457427309967025963104957887962274612207459442639353449087095892024246689757077781550483815321855503226254407147179454403242736191806831379852535355275670906781213868901406868141093190701452290780119815455221347882933659893999771891395262632317387602618114703573687546685581635086389188094365906967455495203529912921342243123248844222544806952580522669147546843069221649902765171389492951550472921397514955970697770115687236134282240932670542453584036486653559523839661181380400538430656458349119584667956512075900111463114810589804084565004943472590980368757939293468872214426643128345522998225966041198648566567005309985300963029595181604322935706376979745894081448539000171739044654673794485870190202945615626316054604618592409458147012730314965385447112351746931383286727681221123 151225445438479301690056552026680949409816724975401602392172222174612944467965974721863931176093115482199645636669418377687348802383384902843079669585605929479498560737649918506324216791543476119625555545013700980980951651872783029725974114047722093883347890909515313098520740439515512880732129322288029750350008338764548386843781465827903684572684038416582014080914038354873912499675457341617217344115017673052587703160099952371181963733362403537794421482667101578826992490193729236360420545027173516815441759303037206513060083035272264803648281940434753087884288163748235194536019075316009426112083010402436648470016649237617938099262924023354558671664825902104130153575222936172525630464055007398750929833105202397432287075639879198155800808688996264581719349662582807787321244923404652484336785488827436039155764563524174387434267405037810507627504861420592488107630905260281010828954221045165221672878033334991816966342512311293056121457996328792548217254628371670441927622996751480960205298908016537966407354942998342512270923593503116050385677191815986237375874170937187542266081022790170524151784498196415939695829460823363929835911701251586784198584668521334669897255390537440800572534349832991440278792979494618753334390510608540644859186758014355299934494822499383294330390138293781588202834544051007476186211670779817433977447666952563766644766906588242346573035115662702467134228382664898332112759199450911134945827508053091252078688374338966715961269543601029891206327619870071335212454118507681229622328796742470660523582081098194329403903042718852884787057573908114498948238702036502895046361494192215946684543491802199951783504630909135432387872644340475652900253034354090119201444218820239895852590835040828048588112502725499931474427216085755610927107105404563883352605010915330826938714460498350015063082555624813165527199498516644006878786136229837136523621635626930696709023024967065325846385017985125214309344253077356258564610607886527239757828018232086116417909738523082793436975207620521114298997284592355635338961996802815212725077165156058086758747763993229863695163458517732964709994892718946907121108765300627687143806842375474504489953008970568992891107320859884745781413546147668069981212166982876287877822061970305322370209204003973993762228387874148549912952128679554637621199016620816295328054815094082851300168806598336260134898529510356563900030692516577653853613110701276439574203941271863948332487036196875948578318829579931279549124144481350383742413644310323400882707897080927140869102496400736781193703412774261621395366234181780956907639968871709364696252607349480430035717124352317694607895169564128593922803788852015736153666710571159843854037382127406863666999030730326453990334941265280732789235032015519275273344786701979752114913526786550844857723182311915520016635414572501961897811961366034157398220793841823501514963439793787593202680994465660509530034639627892737453928175849754637798120978451510278856622790536090128598775226610670656527283672273421571470937040414728279509876432119813359735828824450075280433530940582750583475528827850380358500694123529180482096211587755466488011712535013049507578561581184623752922077594331077887103264810349165872225120615708346546887526890833988044401106421260513999529157304326380145572972358017008688603081034776970768303256566692751005579364219667615599031295793297912919966724 244687910683302255620776807271063169499484411406292762130975230191871510075006167866985345783536889249565067295823368905675191595481329473464683681216511818546462250755331108595723273655175933974949840185974599240246810443600193044030019088609122270367045950894362140582201448925884873307008190575669157709215762851141813861859966647415363417442308669400761951996613729216214577408215602203816842043180814816063051045244693173640650750762067986251746662867366844938429446242903777734502055947820464389048626130507894889670669994633611417222814360785432070398615849768900478264394560745794037559761048721247840008328137718013803258549044482943699333834493151677829855140125603510409864948654796816211091845678055437052260226059582011999604867295327088030946787739582757049466206006054351975649237269652561681876939802872255877175402213590148818630428997337632686920127065400077836641519129078737490462495883858686513155174228781231190559640916572415069171706150465063313422458628960715651903358614886387452028431389772104788476280433071818605879494236025149862835998954583119970741557940238528687928499574989286683842710069517776286251629630796662655657471502788829548158559436088755151325068161045987393999227222037336378113968734360345511514465568822467312028168402060918306730599308522186860600868562419571804585232733612201344507873732008620883941575665179742336485828808116724647919443778099446811396731942595068121024440916165919055000251636809443308798942274282354116736865647327598494943756896311193741093047470029039226022165041071573714048774981030533754859715103933774279591936283008728481220646218390533514756728674944967841217841912961385320245328627187231573947707125690153965157901936243860267413969255043085932520999350497528744104664499555461721961725778852222857962765240895763961968845111679123917885567379212197362028491488248701052028910770434646900603290881520481009881149167134183553413886122851095179179682851810477259867274007950300955093817982688905281400858419947830054724354695429037798149667642525052893005217560022513180359921620488165997998728864481909809096843814300939635717809122465063164825502306586323201369128805571524881522829792564991449647498348873452818419862916622895798387526585354769748615560345792860702375687663381971522105615540542940221116879269173605120294397322278068265524801539098153743018360960584627862407663336624897268985944900086519932075171482323847913357264667171083050489109262009884334501407369240157142495501900680116874648099473632548768582912097032307080767716365895757242669042031607868867292060604372756526667398077097988427822123562574375443534993605086626929902067337808917577681018695813098705493231448261054975165709540608381814010846453433973062645797166321117816088064905938796733144174751654843072942816365817566670660312944530194849179910635186463897224530129348968652272101794481388509083150049828981881959109648449960864039442955981871015986298150720656707218320790125998353348078272693301261518091726777083592054042239642971191687158173174696969212180418885703849846389388348289736461813931479013407041824648412518336870576594234992295292686015672320471431484303515381807446872030453399050396050423117329303853144463458915732877535105916671376142069131213769694421380852315341962538529329043371034819367458228207211634218707350831575386895666024839763735894329605114727950778227176584640601187847 395913356121781557310833359297744118909301136381694364523147452366484454542972142588849276959630004731764712932492787283362540397864714376307763350802117748025960811492981027102047490446719410094575395730988300221227762095472976073755993202656844364250393841803877453680722189365400386187740319897957187459565771189906362248703748113243267102014992707817343966077527767571088489907891059545434059387295832489115638748404793126011832714495430389789541084350033946517256438733097506970862476492847637905864067889810932096183730077668883682026462642725866823486500137932648713458930579821110046985873131731650276656798154367251421196648307406967053892506157977579933985293700826446582390579118851823609842775511160639449692513135221891197760668104016084295528507089245339857253527250977756628133574055141389117916095567435780051562836480995186629138056502199053279408234696305338117652348083299782655684168761892021504972140571293542483615762374568743861719923405093434983864386251957467132863563913794403989994838744715103130988551356665321721929879913216965849073374828754057158283824021261318858452651359487483099782405898978599650181465542497914242441670087457350882828456691479292592125640695395820385439506015016830996867303124870954052159324755580481667328102896883417690024929698660480642189071396963622812061418945282981161941851179675573447708220432086330578832401843232387350386578006482111709728844701794519032159386743673972146252330325183782275514903543825955146628071974947468566278969350429701422322669798825781696682688623152671908378178884073252607744502161507682394090884521710764984115692579884725730703413218436770041169625417592294455677716499831572049600607378724508055277103380462680507309821845878126760569587463000254244036138926771547477572652885957627421846117845906679292795783826139622267900630461767822175194018687747217696035789556570876737739814503156107940577858190159150618739732507869080304393992196063554616125838618558187482333575810707137367517276329686353137517791670636658319263966639809645248640556522019315995572646697653322056085487612245903038960538977759457368682519117357782111732623415351623829056272612413900356027319745573962018640389456194312703165644330169043466457507797521752624903438167854831007698057872585975496099377768930814369666792221302284674932018521294689081820129593913247825869661129391226198667798235154407625549844930779036509729025095434549189796838871112354914437441749046081210449985688069737073775051024824598225031841887276859091983794804929388007908585468392157979450235735020643128913455970606938307624305717066860137186819815181724923965029322210979247596675232978481706274941499601950721229385114971626135009563577990509220874513452464703389099787501262383096820854140970812252419448096441545052694931279344353221505170667712506764699927270601036399186427941310334686429500015275230332584665013268775669552312329444426524548972990621498908723752078896506461856118911104449863626934895483837351646690502003694262710569523315244613258629110215111697491690295317823663206125217172739811742247462419596157625300177240368717229077288358521475774782227260075937919496016050394856954450592034583674148972500711660381740247728269264898749760226532379722688956658104603682465781958736602476538058486347697414964940430586224220322821788385608546155198922591532514741473693824782343549809522969882553521154571 640601266805083812931610166568807288408785547787987126654122682558355964617978310455834622743166893981329780228316156189037731993346043849772447032018629566572423062248312135697770764101895344069525235916962899461474572539073169117786012291265966634617439792698239594262923638291285259494748510473626345168781534041048176110563714760658630519457301377218105918074141496787303067316106661749250901430476647305178689793649486299652483465257498376041287747217400791455685884976001284705364532440668102294912694020318826985854400072302495099249277003511298893885115987701549191723325140566904084545634180452898116665126292085265224455197351889910753226340651129257763840433826429956992255527773648639820934621189216076501952739194803903197365535399343172326475294828828096906719733257032108603782811324793950799793035370308035928738238694585335447768485499536685966328361761705415954293867212378520146146664645750708018127314800074773674175403291141158930891629555558498297286844880918182784766922528680791442023270134487207919464831789737140327809374149242115711909373783337177129025381961499847546381150934476769783625115968496375936433095173294576898099141590246180430987016127568047743450708856441807779438733237054167374981271859231299563673790324402948979356271298944335996755529007182667502789939959383194616646651678895182506449724911684194331649796097266072915318230651349111998306021784581558521125576644389587153183827659839891201252581961993225584313845818108309263364937622275067061222726246740895163415717268854820922704853664224245622426953865103786362604217265441456673682820804719493465336338798275259245460141893381737882387467330553679775923045127018803623548314504414662020435005316706540774723791100921212693090586813497782988140803426327009199534378664809850279808883086802443254764628937818746185786197840980019537222510175995918748064700327005523638343105384676588950459007357293334172153618630720175483573675047874031875993112626508488437427393793396042648918134749634183192242146366065696117413634282334698141645774082041829175932568318141488054084216476727812848057382792060397004400328239822845276558125721937947030425401417985425237550149538138953468287887805067765521585507246791939264845034382876522373518998513647691710073745535967947018204993309473754590783671490475889795226415843572757347344931133011401568888022089975854061075461571779304894535789830865556441804196577758397103154103538283437964926551011055965544951393057309894216270552925504715099679941360909407860566706901961695088676301834287915222119277766628511996205516574979694834291703794164848565008943377756100367500022927297606177498742570787399283955960195415049426722616563232681110175273118598891034885359905898676451745584667583500912908919046909608985563622848096388125637747645161919892165483612242701613879837905787500296410958070659303338701601809756618841667815063097757551511421977894387388588415946603369924710050229617163169074439701230448216975013168177138613164782228780777854764611762958215804945787283389808666703870714203527513052514605521029548204061393898609564667124825652887054099653882593513771067468242932396409350980319565776664401322622487982724545022923828989685593392191728180631627295332449051098831025789318373376887162811051944439076587815391068449784307888814431431957040495736440121542094588616372278477368023429897071500587750146467194122342418 1036514622926865370242443525866551407318086684169681491177270134924840419160950453044683899702796898713094493160808943472400272391210758226080210382820747314598383873741293162799818254548614754164100631647951199682702334634546145191542005493922810998867833634502117047943645827656685645682488830371583532628347305230954538359267462873901897621472294085035449884151669264358391557223997721294684960817772479794294328542054279425664316179752928765830828831567434737972942323709098791676227008933515740200776761910129759082038130149971378781275739646237165717371616125634197905182255720388014131531507312184548393321924446452516645651845659296877807118846809106837697825727527256403574646106892500463430777396700376715951645252330025794395126203503359256622003801918073436763973260508009865231916385379935339917709130937743815980301075175580522076906542001735739245736596458010754071946215295678302801830833407642729523099455371368316157791165665709902792611552960651933281151231132875649917630486442475195432018108879202311050453383146402462049739254062459081560982748612091234287309205982761166404833802293964252883407521867474975586614560715792491140540811677703531313815472819047340335576349551837628164878239252070998371848574984102253615833115079983430646684374195827753686780458705843148144979011356346817428708070624178163668391576091359767779358016529352403494150632494581499348692599791063670230854421346184106185343214403513863347504912287177007859828749361934264409993009597222535627501695597170596585738387067680602619387542287376917530805132749177038970348719426949139067773705326430258449452031378159984976163555111818507923557092748145974231600761626850375673148921883139170075712108697169221282033612946799339453660174276498037232176942353098556677107031550767477701655000932709122547560412763958368453686828302747841712416528863743136444100489883576400376082919887832696891036865547452484790893351138589255787967667243937586492118951245066675919760969604103180016435411079320536329759938036702354436677600922144343390286330604061145171505215015794810110169704088973715887017921769819854373082847357180627388290749137289570859481674030399325593577469283712915486928277261262078224751151576960982731302542180398274998422436681502522717771803408553922514304371078404568960450463711778174470158434364867446429165060726924649394757683219367080259743259806933712520085634761644592951533221673192946292950942409395792879363992760102046755401378745379631290045603950329313324711783248186266952550501706891083096584887302680073201569513501649155125118972545586633141916009511231708702195763192937825291465052249508585425095417803765880990230901695017000147952001678204307245184836696589400255759873358363379840845372168845884009729773187880421237983070944537933178332678924506273113670654279955208378579765176388536695597386011969638025131101825031849174252480076366533221063734307338813913137388937224868833433802308513669630930558612334898080601948063660975964811472730784472117475181286273460418204416393604920364195561009521351176258639822693769359946308856318205722292425002893255771328731170952035246842250470192472347270476335616171521355773214522566398693995424540650067333639919997445530377055558981430821519982447422977059352944769788546915614646301738765864749248319400655652279862284122048667697293511207904793218841717254679415050397273116349747643496989 1677115889731949183174053692435358695726872231957668617831392817483196383778928763500518522445963792694424273389125099661438004384556802075852657414839376881170806935989605298497589018650510098233625867564914099144176907173619314309328017785188777633485273427200356642206569465947970905177237340845209877797128839272002714469831177634560528140929595462253555802225810761145694624540104383043935862248249127099473018335703765725316799645010427141872116578784835529428628208685100076381591541374183842495689455930448586067892530222273873880525016649748464611256732113335747096905580860954918216077141492637446509987050738537781870107043011186788560345187460236095461666161353686360566901634666149103251712017889592792453597991524829697592491738902702428948479096746901533670692993765041973835699196704729290717502166308051851909039313870165857524675027501272425212064958219716170026240082508056822947977498053393437541226770171443089831966568956851061723503182516210431578438076013793832702397408971155986874041379013689518969918214936139602377548628211701197272892122395428411416334587944261013951214953228441022667032637835971351523047655889087068038639953267949711744802488946615388079027058408279435944316972489125165746829846843333553179506905404386379626040645494772089683535987713025815647768951315730012045354722303073346174841301003043962111007812626618476409468863145930611346998621575645228751979997990573693338527042063353754548757494249170233444142595180042573673357947219497602688724421843911491749154104336535423542092395951601163153232086614280825332952936692390595741456526131149751914788370176435244221623697005200245805944560078699654007523806753869179296697236387553832096147114013875762056757404047720552146750761089995820220317745779425565876641410215577327981463884019511565802325041701777114639473026143727861249639039039739055192165190210581924014426025272509285841495872904745818963046969769309431271541342291811618368112063871575164357188363397499222665353545828954719522002084402768050554091235204479041531932104686102974347437783333936298164253920565701528735075304561880251377483175597003472664848874859227517889907075448384750831127618821851868955216165066329843746336658823752921996147576563274797371941435195150214427845548944521869532509364387878323551234135202254064265384850208440203776509991859936050963645705309342934320818721378713017414621424592510149393337418250951343396105045947679230844290543771158012300352771802689525506316156875834028424391724609095674813117208608852778185261189136967988423688791268277667121324489120566327976207713305396557267204706570693925658965075176806191602594160374553280274186861890432049574674618241436988355360109815188291290645233264262056292590956836429384922638692234790030223546693792634321303970426569668193005836137892197909992459603082176036992008344082628941363832703634788468015920295139464290772575156285233201301725804883828238758143852538130832800004998313565346297576961231838114577976254959565249972239793049231676223150203676994729030899431723724878689311154428214798908150370250216815286959549828546142825428385053545549017909718713124868756621456655181948185757095837010549123239018348369639752927032111725626162004350891430481920351008236741350436240107580840491354691234117129834314533556208215087084236902779858488789239388099824277071696209740684576486550985023262816941765839407 2713630512658814553416497218301910103044958916127350109008662952408036802939879216545202422148760691407518766549934043133838276775767560301932867797660124195769190809730898461297407273199124852397726499212865298826879241808165459500870023279111588632353107061702473690150215293604656550859726171216793410425476144502957252829098640508462425762401889547289005686377480025504086181764102104338620823066021606893767346877758045150981115824763355907702945410352270267401570532394198868057818550307699582696466217840578345149930660372245252661800756295985630328628348238969945002087836581342932347608648804821994903308975184990298515758888670483666367464034269342933159491888880942764141547741558649566682489414589969508405243243854855491987617942406061685570482898664974970434666254273051839067615582084664630635211297245795667889340389045746379601581569503008164457801554677726924098186297803735125749808331461036167064326225542811405989757734622560964516114735476862364859589307146669482620027895413631182306059487892891830020371598082542064427287882274160278833874871007519645703643793927022180356048755522405275550440159703446327109662216604879559179180764945653243058617961765662728414603407960117064109195211741196164118678421827435806795340020484369810272725019690599843370316446418868963792747962672076829474062792927251509843232877094403729890365829155970879903619495640512110695691221366708898982834419336757799523870256466867617896262406536347241303971344541976838083350956816720138316226117441082088334892491404216026161479938238978080684037219363457864303301656119339734809230231457580010364240401554595229197787252117018753729501652826845628239124568380719554969846158270693002171859222711044983338791016994519891600410935366493857452494688132524122553748441766344805683118884952220688349885454465735483093159854446475702962055567903482191636265680094158324390508945160341982732532738452198303753940320907898687059509009535749204860231015116641840276949333001602402681788956908275255851762022439470404990768836126623384922218435290164119518942998349731108274423624654675244622093226331700105750566022954184100053139623996517088749388749478784076424705088105564784442144442327591921971087810400713904727450118743673072370363871876652737145617352353075792046813735466282892511684598914032238735543284573307650205675052586860700358403388528710014580561981185646729934707059354154742344870639924144289689055988357075023723654536531260059055754150548069156796361760826163341749103507857281941765667710315743861281846076439648061625258304769926822246443461666152961118123722816628265969400469763631750950430127426314777027689578178319161264417763585449049722626619919641295600544946511777691546405106622625436133436329005275268932368465422670451461529764737172254482303105494174466119506792172153118371039368258564573687605730094598579388963805459820317190172775215830823993638890592572015214863193821053107591577654846644502430935556925900244378178909295499090542787727690349722089714974335505136641354620070599649395094992733246229865569794250908568268096679106535021009251974831439398596757116224497584264751969183317341103891932990798119707112869051533115521933013772910289820260672031723071692381406450411912741870990684164327495593052350629038270305880418868600179282804527615742736516765063980537456936681611032181864915051457939255901601382296379166689409336396 4390746402390763736590550910737268798771831148085018726840055769891233186718807980045720944594724484101943039939059142795276281160324362377785525212499501076939997745720503759794996291849634950631352366777779397971056148981784773810198041064300366265838380488902830332356784759552627456036963512062003288222604983774959967298929818143022953903331485009542561488603290786649780806304206487382556685314270733993240365213461810876297915469773783049575061989137105796830198741079298944439410091681883425192155673771026931217823190594519126542325772945734094939885080352305692098993417442297850563685790297459441413296025923528080385865931681670454927809221729579028621158050234629124708449376224798669934201432479562300858841235379685189580109681308764114518961995411876504105359248038093812903314778789393921352713463553847519798379702915912237126256597004280589669866512897443094124426380311791948697785829514429604605552995714254495821724303579412026239617917993072796438027383160463315322425304384787169180100866906581348990289813018681666804836510485861476106766993402948057119978381871283194307263708750846298217472797539417678632709872493966627217820718213602954803420450712278116493630466368396500053512184230321329865508268670769359974846925888756189898765665185371933053852434131894779440516913987806841519417515230324856018074178097447692001373641782589356313088358786442722042689842942354127734814417327331492862397298530221372445019900785517474748113939722019411756708904036217741004950539284993580084046595740751449703572334190579243837269305977738689636254592811730330550686757588729762279028771731030473419410949122218999535446212905545282246648375134588734266543394658246834268006336724920745395548421042240443747161696456489677672812433911949688430389851981922133664582768971732254152210496167512597732632880590203564211694606943221246828430870304740248404934970432851268574028611356944122716987290677208118331050351827560823228343078988217004634137696399101625347142502737229975373764106842238455544860071331102426454150539976267093866380781683667406438677545220376773357168530893580357128049198551187572717988498855744606639295824927168827255832706927416653397360607393921765717424469224466826723597695306947869742305307071802951573462901297597661579323099854161216062918734116286303000928134781747853982185044446796751322049093838052948901380702564359747349328483946664891738208058175095633085161034304754254567945080302418071356106922350758682302677917701997370173495232466377616578784918924596639467107265576616050048947096038204489367767950786719289094331436122024823236605176334325676609395202603120968630283738552872441538604625475881099297301238161078283955905056326965982837050339886887492426027285841704653855007157657460481685076458529806575786273532063842659125342930064351028363498971340740610679614074177227520752796509094608785206093070355295114766214046877805216516588998704881346349721507384775335230940555239465590675755870527337205120763982649914972061954767384736812864504823747594378425994424456971108554880948679123367176247049356751836296211524659985541422185501278043133282661687896442209860513389645980067892869964888543664645172032121279929573187704143448697854385757341842394662221998920905677931833159931469529624997114535998434493816360735830829820753667843839026246176069710856458936611261198623832388152367319641983631175175803 7104376915049578290007048129039178901816790064212368835848718722299269989658687196590923366743485175509461806488993185929114557936091922679718393010159625272709188555451402221092403565048759803029078865990644696797935390789950233311068064343411954898191487550605304022507000053157284006896689683278796698648081128277917220128028458651485379665733374556831567174980770812153866988068308591721177508380292340887007712091219856027279031294537138957278007399489376064231769273473497812497228641989583007888621891611605276367753850966764379204126529241719725268513428591275637101081254023640782911294439102281436316605001108518378901624820352154121295273255998921961780649939115571888849997117783448236616690847069531809264084479234540681567727623714825800089444894076851474540025502311145651970930360874058551987924760799643187687720091961658616727838166507288754127668067575170018222612678115527074447594160975465771669879221257065901811482038201972990755732653469935161297616690307132797942453199798418351486160354799473179010661411101223731232124392760021754940641864410467702823622175798305374663312464273251573767912957242864005742372089098846186397001483159256197862038412477940844908233874328513564162707395971517493984186690498205166770186946373126000171490684875971776424168880550763743233264876659883670993480308157576365861307055191851421891739470938560236216707854426954832738381064309063026717648836664089292386267554997088990341282307321864716052085284263996249840059860852937879321176656726075668418939087144967475865052272429557324521306525341196553939556248931070065359916989046309772643269173285625702617198201239237753264947865732390910485772943515308289236389552928939836439865559435965728734339438036760335347572631822983535125307122044473810984138293748266939347701653923952942502095950633248080825792735036679267173750174846703438464696550398898572795443915593193251306561349809142426470927611585106805390559361363310028088574094104858844911087029400704028028931459645505231225526129281708860535628907457725811376368975266431213385323780033398514713101169875052017979261757225280462878615221505371672771128122852261695388684574405952903680537795032981437839505049721513687688512279625180731451047814050620942112669178948455688719080253650673453626136835320444108574603333030318541736471419355055504187860097033657451680452482366762963481942683750006477284035543300819634083078698099239922774217022661829278291599616833678130411861072898827839099039678528160711922598740323659558344452629240340500748953342016264111674205400808131311614211412452872250212455158938653089206005646097957427559825330029435745657973316731191602803022389061330149019927858080719579556450002838743674383455446509512928559463614846979922787375623080130933146606223266978830268576637558017125244849722236504146734538339599305184367219804271826100141760314554429102396265845571125938759852937470377231731452192525934453941299162231419837661876112165365835053934779822836295663551710340264694151669741720241949505859443818194027821089417190217338420450742930031935444343728463286857305463499491424940018942617502540717547413657079759550964405322636778187599982833940076780167105045894190219393448376175171769546767163792254307404092989605070005427426212282098567895302994954867034673099165263446572557270432907819563703112751321888640801526312656563088289753749616021150320584512199 11495123317440342026597599039776447700588621212297387562688774492190503176377495176636644311338209659611404846428052328724390839096416285057503918222659126349649186301171905980887399856898394753660431232768424094768991539771735007121266105407712321164029868039508134354863784812709911462933653195340799986870686112052877187426958276794508333569064859566374128663584061598803647794372515079103734193694563074880248077304681666903576946764310922006853069388626481861061968014552796756936638733671466433080777565382632207585577041561283505746452302187453820208398508943581329200074671465938633474980229399740877729901027032046459287490752033824576223082477728500990401807989350201013558446494008246906550892279549094110122925714614225871147837305023589914608406889488727978645384750349239464874245139663452473340638224353490707486099794877570853854094763511569343797534580472613112347039058427319023145379990489895376275432216971320397633206341781385016995350571463007957735644073467596113264878504183205520666261221706054528000951224119905398036960903245883231047408857813415759943600557669588568970576173024097871985385754782281684375081961592812813614822201372859152665458863190218961401864340696910064216219580201838823849694959168974526745033872261882190070256350061343709478021314682658522673781790647690512512897823387901221879381233289299113893113112721149592529796213213397554781070907251417154452463253991420785248664853527310362786302208107382190800199223986015661596768764889155620326127196011069248502985682885718925568624606620136568358575831318935243575810841742800395910603746635039534922297945016656176036609150361456752800394078637936192732421318649897023502932947587186670707871896160886474129887859079000779094734328279473212798119555956423499414528145730189073012284422895685196654306446800760678558425615626882831385444781789924685293127420703638821200378886026044519880589961166086549187914902262314923721609713190870851316917173093075849545224725799805653376073962382735206599290236123947316080488978788828237830519515242698307251704561717065921151778715095428791336430288118860820006664420056559245489116621708006302027980399333121730936370501960398091236865657115435453405936748849647558174645509357568811854974486020258640292543154948271115205459935174605324637522067146604844737399554136803358170045141480454203002501576204815912383323386314366224633364027247484525821286756274335555859378056966583532859544697136096201767967995249586521401717596230158082096093972790037174923237548164937140216060607592880161723152496846335800981979363239591539306786595060677912442610822432283104169220532632556714288257055284064044341627014537211248317229096241797863512355059165709657220505786396400420985490900688684576642382780737591414831682681796785406054850169621859784370192652300855175098037310940045795046833878449053620894556823649037887602358915926421053526066984348182448248041191230815800291020669616195172892816667404831425729690650350173500784315692990179666213624509104978762370364267565788406247083841647188446975331691609155302620590777820038693601675024151410481441128118780583850830075344976201760824918712282758255492852798828620444812277078015470148966636080318620467401152921134096702066314988525975683359259372213568097520300109490865469166915525999277402378024100751658589949288821032745099738137573855186920677906116935663133951759688002 18599500232489920316604647168815626602405411276509756398537493214489773166036182373227567678081694835120866652917045514653505397032508207737222311232818751622358374856623308201979803421947154556689510098759068791566926930561685240432334169751124276062221355590113438377370784865867195469830342878619596685518767240330794407554986735445993713234798234123205695838564832410957514782440823670824911702074855415767255789395901522930855978058848060964131076788115857925293737288026294569433867375661049440969399456994237483953330892528047884950578831429173545476911937534856966301155925489579416386274668502022314046506028140564838189115572385978697518355733727422952182457928465772902408443611791695143167583126618625919387010193848766552715564928738415714697851783565579453185410252660385116845175500537511025328562985153133895173819886839229470581932930018858097925202648047783130569651736542846097592974151465361147945311438228386299444688379983358007751083224932943119033260763774728911207331703981623872152421576505527707011612635221129129269085296005904985988050722223883462767222733467893943633888637297349445753298712025145690117454050691659000011823684532115350527497275668159806310098215025423628378926976173356317833881649667179693515220818635008190241747034937315485902190195233422265907046667307574183506378131545477587740688288481150535784852583659709828746504067640352387519451971560480181170112090655510077634932408524399353127584515429246906852284508250011911436828625742093499647303852737144916921924770030686401433676879049693892879882356660131797515367090673870461270520735681349307565567118302281878653807351600694506065341944370327103218194262165205312739322500516126507147737455596852202864227297115761114442306960102456747923426678000897310398666439478456012359986076819638139156402397434008759384218350663562098559194956636628123757823971102537393995822801619237771187151310975228975658842513847421729112169074554180879405491267197934694456311755200509681405005422028240437824816365405656176616117886246554049206888490509129520637028341750464435864879884970480809315692045344141282885279641561930918260244744560267997416664973739074634616908296993379529076370706836949141094449028474828289625693323408189753967643664968714329011623408598944568831596770495049433212125400176923386473870973491858862357905238514111654682954058571578875865266070064372701917399570548304159904365454373575478633595079628412811151144313969774332179829068148414360500757274758318794018692713113696733267690177405277640965013949609144273397357897654467112596190775692463789519241753999331001648616468530240531729045862661992459946230372015255647144649403598541397337156954322517443068805062004453331603961232905913349544954515535664499429758403817722347978288905063764236323426807179876909615042374537359321832575650539350979414053682720879721036317138203466989998624761497546992285919921818559679979493383756750254232319831847615010554692779570197260783625430173009796447867403330444360365294250825220711876223711383982434068173258837405785395782434539187238064934506283325550907138523642835421460070736283124568377489002055961311789324034919536443092835632768697224979382123909660368360084456493792236947920084926351009470407978131045688786685584495666665415603104445732503840014691262723974935294533659478153652401572354633740539663886511750008967659866551684284272344200201 30094623549930262343202246208592074302994032488807143961226267706680276342413677549864211989419904494732271499345097843377896236128924492794726229455477877972007561157795214182867203278845549310349941331527492886335918470333420247553600275158836597226251223629621572732234569678577106932763996073960396672389453352383671594981945012240502046803863093689579824502148894009761162576813338749928645895769418490647503866700583189834432924823158982970984146176742339786355705302579091326370506109332515874050177022376869691538907934089331390697031133616627365685310446478438295501230596955518049861254897901763191776407055172611297476606324419803273741438211455923942584265917815973915966890105799942049718475406167720029509935908462992423863402233762005629306258673054307431830795003009624581719420640200963498669201209506624602659919681716800324436027693530427441722737228520396242916690794970165120738354141955256524220743655199706697077894721764743024746433796395951076768904837242325024472210208164829392818682798211582235012563859341034527306046199251788217035459580037299222710823291137482512604464810321447317738684466807427374492536012284471813626645885904974503192956138858378767711962555722333692595146556375195141683576608836154220260254690896890380312003384998659195380211509916080788580828457955264696019275954933378809620069521770449649677965696380859421276300280853749942300522878811897335622575344646930862883597262051709715913886723536629097652483732236027573033597390631249119973431048748214165424910452916405327002301485669830461238458187979067041091177932416670857181124482316388842487865063318938054690416501962151258865736023008263295950615580815102336242255448103313177855609351757738676994115156194761893537041288381929960721546233957320809813194585208645085372270499715323335810708844234769437942643966290444929944639738426552809050951391806176215196201687645282291067741272141315524846757416109736652833778787745051730722408440291010544001536481000315334781079384410975644424106601529603492696606865035382287037408005751827827888732903467530357016658600065909600652122333463002102891944061618490163749361366268274299444645373072196365553278798953777620313236363952384594500385777324475847800338832765758565822618150988972969304166563547215684037056705669654757849647467323528231211270527628662220527950379994565857685455634776394788248589456378738926550763597795788685725652210647911034492973136594996344010689011105870533947797063398000881902474870988476876114786685903733908190927725570214781181074557202024435120510394500802913578170138932055328826028349060008914091227290962523635898266395294549174234487427299319691486276418135752645654386050564315306581160121170162988824467019302313770530445416224349076072141184555313762809971586860549642378276976801736693985235026838214496930612961479396774460887561169933341930873961852504877600983677423968045811986906166742128227534574987566054523340501463810183447509446975028686513316080523183297232183096320624026578918759930199474246587978949770840315257100484594232371114126148342540685525284103364244508813547794245902901198855063708419207564347032163072614242747202294698585688431597317669791659201925130517326720536812412704349073006060447711536722966657021372145944956709234762935903213936597973006930217262001377313318634411136743601690393387378840277801460366936929645565983487347418224103888203 48694123782420182659806893377407700905399443765316900359763760921170049508449859923091779667501599329853138152262143358031401633161432700531948540688296629594365936014418522384847006700792703867039451430286561677902845400895105487985934444909960873288472579219735011109605354544444302402594338952579993357908220592714466002536931747686495760038661327812785520340713726420718677359254162420753557597844273906414759656096484712765288902882007043935115222964858197711649442590605385895804373484993565315019576479371107175492238826617379275647609965045800911162222384013295261802386522445097466247529566403785505822913083313176135665721896805781971259793945183346894766723846281746818375333717591637192886058532786345948896946102311758976578967162500421344004110456619886885016205255670009698564596140738474523997764194659758497833739568556029795017960623549285539647939876568179373486342531513011218331328293420617672166055093428092996522583101748101032497517021328894195802165601017053935679541912146453264971104374717109942024176494562163656575131495257693203023510302261182685478046024605376456238353447618796763491983178832573064609990062976130813638469570437089853720453414526538574022060770747757320974073532548551459517458258503333913775475509531898570553750419935974681282401705149503054487875125262838879525654086478856397360757810251600185462818280040569250022804348494102329819974850372377516792687435302440940518529670576109069041471238965876004504768240486039484470426016373342619620734901485359082346835222947091728435978364719524354118340544639198838606545023090541318451645217997738150053432181621219933344223853562845764931077967378590399168809842980307648981577948619439685003346807354590879858342453310523007979348248484386708644972911958218120211861024687101097732256576534961474967111241668778197326862316954007028503834695063180932808775362908713609192024489264520062254892583116544500505599929957158381945947862299232610127899707488945238457848236200825016186084806439216082248922966935259669312724751281936336244296496260957348525761245217994792881538485036390409967814378807143385777223703180421082009606110828542296861310346811271000170187095947157149389607070789333735594834805799304137426032156173948319790261815957687298315789972146160252868653476164704191061772867500451617685141501120521082885855618508677512368409693347973664113855526443111628468163168344092845630017665021486513126568216223409155161833325075644866127626131546415242403232145746795670133479399017430641458617902975492422146088506811168708517868292155270026174360914624519118345270103059339915739843759492764167627312257956541634180717799314575338630925821734294042991543004886832749649965183174616320428428252208227120075399931760013575501899588373036110788260491924313878701703783981613603600277401375573818763188612018747753874941243890813062967191100055971867599608438921515038097906827985301808207027958744316308755660333311425194002202226545225947296941510696193093680050499651068386944213010755420186122811690333753274383430359322000017766896560687529778750459790386689795415952071437081324361269591346832987585053349088124384403566782121831141678524064366014894771041325834790885686804993306204941296993090986798721007130944788067060932630541204901428351506318382330476846944908524725352248613168070614897254091965742012580817465346878686938613225850039031702496448088404 78788747332350445003009139585999775208393476254124044320990028627850325850863537472955991656921503824585409651607241201409297869290357193326674770143774507566373497172213736567714209979638253177389392761814054564238763871228525735539534720068797470514723802849356583841839924223021409335358335026540390030297673945098137597518876759926997806842524421502365344842862620430479839936067501170682203493613692397062263522797067902599721827705166026906099369141600537498005147893184477222174879594326081189069753501747976867031146760706710666344641098662428276847532830491733557303617119400615516108784464305548697599320138485787433142328221225585245001232156639270837350989764097720734342223823391579242604533938954065978406882010774751400442369396262426973310369129674194316847000258679634280284016780939438022666965404166383100493659250272830119453988317079712981370677105088575616403033326483176339069682435375874196386798748627799693600477823512844057243950817724845272571070438259378960151752120311282657789787172928692177036740353903198183881177694509481420058969882298481908188869315742858968842818257940244081230667645640000439102526075260602627265115456342064356913409553384917341734023326470091013569220088923746601201034867339488134035730200428788950865753804934633876662613215065583843068703583218103575544930041412235206980827332022049835140783976421428671299104629347852272120497729184274852415262779949371803402126932627818784955357962502505102157251972722067057504023407004591739594165950233573247771745675863497055438279850389354815356798732618265879697722955507212175632769700314126992541297244940157988034640355524997023796813990386853695119425423795409985223833396722752862858956159112329556852457609505284901516389536866316669366519145915538930025055609895746183104527076250284810777820085903547635269506283244451958448474433489733741859726754714889824388226176909802353322633855257860025352357346066895034779726650044284340850308147779955782459384717201140350967164190850191726673029568464863162009331616317318623281704502012785176414494148685525149898197085102300010619936712270145488669167764798911245758967477096816596305955719883467365723465894900934769702843434741718330095220583123779985226370988939706885612879966946660267619956535693375936905710181834358948911420334823979848896412028749183303413805998503243370053865328124368452362444982821850555018926766139881531355669875669397547619541352818405499172522336181515400075423194944416124305707016735272546248266084921164549649545628545707203327163064013193143638378686656072939752531053556574447171298452119348829831071050455287803525578653251090808415205226613895030117202239870046688645929055451148056231125304344779309252895271510540890605845347984362651574040772928349873598232078784863521079980760783350297585512428213788315693801573498144528335828805060746404898065061908476745200592116345483083909893734152043936434562533731882363279000834775235377449711673520254633810257591219376390912233595971692413523131770685619660369399669283524114698687459806594250138010686835872319435985074490054039924765619231327227262468446410541406792617696120287457017809529324125840264212495963332564562700527759921403013525530118617645646066097047246432543853911445088433078575497914136191287409532318928449853875125786726729561931802481751640855782359129391421095266807245623868258791833526379120720551976607 127482871114770627662816032963407476113792920019440944680753789549020375359313397396047771324423103154438547803869384559440699502451789893858623310832071137160739433186632258952561216680430957044428844192100616242141609272123631223525469164978758343803196382069091594951445278767465711737952673979120383388205894537812603600055808507613493566881185749315150865183576346851198517295321663591435761091457966303477023178893552615365010730587173070841214592106458735209654590483789863117979253079319646504089329981119084042523385587324089941992251063708229188009755214505028819106003641845712982356314030709334203422233221798963568808050118031367216261026101822617732117713610379467552717557540983216435490592471740411927303828113086510377021336558762848317314479586294081201863205514349643978848612921677912546664729598826141598327398818828859914471948940628998521018616981656754989889375857996187557401010728796491868552853842055892690123060925260945089741467839053739468373236039276432895831294032457735922760891547645802119060916848465361840456309189767174623082480184559664593666915340348235425081171705559040844722650824472573503712516138236733440903585026779154210633862967911455915756084097217848334543293621472298060718493125842822047811205709960687521419504224870608557945014920215086897556578708480942455070584127891091604341585142273650020603602256461997921321908977841954601940472579556652369207950215251812743920656603203927853996829201468381106662020213208106541974449423377934359214900851718932330118580898810588783874258215108879169475139277257464718304267978597753494084414918311865142594729426561377921378864209087842788727891957765444094288235266775717634205411345342192547862302966466920436710800062815807909495737785350703378011492057873757050236916634582847280836783652785246285744931327572325832596368600198458986952309128552914674668502117623603433580250666174322415577526438374404525857957276024053416725674512343516950978207855268901020917232953401965367153248997289407808921952535400122831322056367599254959526000998273742524940255393903519942779735570138690420587751091077288874446391467979332327768573587925358893167266066694738365893652990848091919092450505531052065690055388923084122652403145113655205403141782904347565935746507839536189774363657999063139973193202324431466581553529869704386299661617011920882422275021472342116476300509264962183487089934483974376985687540690884060746109569041814654334355661257160266203049326490831366708939162482068216381745483938595191108163531521199625473251570824361852156246978811342965926891968181093565516568555178688745570914809948051971152890911207632442595923025928470368748128061604340731637472060337980805881090487519395629681323523718768010681245279744376227075940361301385984386492570709177399781684544764963901185789829589362134456990185516892282210770048951559467865256161964448612800200555266998122007800562137345744641590492476198672034661168086660571451913900065480581107199101915569484592284095622760800467344781441039846492211359617277389082117819128594267904907247523402098186444864876743835340717690668408551623738037757374394377671045208411841421376311445956981942736560329347459333741853594712288700330523424822586943059188034045153550984856233155494011206039119037619638915850701258926700820034311452081810544970552366538109874324871404001912732154124310806872017683565410823217000065011 206271618447121072665825172549407251322186396273564989001743818176870701210176934869003762981344606979023957455476625760849997371742147087185298080975845644727112930358845995520275426660069210221818236953914670806380373143352156959065003885047555814317920184918448178793285202990487121073311009005660773418503568482910741197574685267540491373723710170817516210026438967281678357231389164762117964585071658700539286701690620517964732558292339097747313961248059272707659738376974340340154132673645727693159083482867060909554532348030800608336892162370657464857288044996762376409620761246328498465098495014882901021553360284751001950378339256952461262258258461888569468703374477188287059781364374795678095126410694477905710710123861261777463705955025275290624848715968275518710205773029278259132629702617350569331695002992524698821058069101690033925937257708711502389294086745330606292409184479363896470693164172366064939652590683692383723538748773789146985418656778584740944306477535811855983046152769018580550678720574494296097657202368560024337486884276656043141450066858146501855784656091094393923989963499284925953318470112573942815042213497336068168700483121218567547272521296373257490107423687939348112513710396044661919527993182310181846935910389476472285258029805242434607628135280670740625282291699046030615514169303326811322412474295699855744386232883426592621013607189806874060970308740927221623212995201184547322783535831746638952187163970886208819272185930173599478472830382526098809066801952505577890326574674085839312538065498233984831938009875730598001990934104965669717184618625992135136026671501535909413504564612839812524705948152297789407660690571127619429244742064945410721259125579249993563257672321092811012127322217020047378011203789295980261972244478593463941310729035531096522751413475873467865874883442910945400783562042648416528228872338493257968476843084124768900160293632264551210314622090948451505401162387801291828516003048856803376617670603105718120413188139599535594982103864985993331387983916573582807705500286527701354749542589045092677932655240990431207687803347434363115559232778243573527541065022175489473221786578205731617118885749026688795293940272770395785275972046864107878774134053362091016021749851007833555703043532912126680073839833422088884613537148411315477965558618887689713467615515164252476140349596710568838745492086812738506016700623855908341357416360281608365650921860220153506877997438675666278472521435247491014646179217340762630011568859759740757709160066906828800414634837554995794625665467415905679423021737668012687867007298037575401985860403339774678469564458723251011128252542365398865330301474387420283401115789128862112215791864174938934218795229308901287090627728738878649981134229735857984724649494040920861665305548314198771302257803150450150791759015036810546598854012305872763321223872925358000792671612481205917694296289389681076153026208081035313662002861895948901625573585735214917456693134945875504517691594453213990476552126659506861611028900801503780805278935188518042917934359274417622429939366797875265483309899735778886206484167915801170288741328699298439185840770082822206949056292680023896442381354633691713856053543440232589125285081291586094838767678243927089781537033173810926325383020187376554695160098178811372476773034118178965656684000795423007998961369934675130809517091789943937552041618 333754489561891700328641205512814727435979316293005933682497607725891076569490332265051534305767710133462505259346010320290696874193936981043921391807916781887852363545478254472836643340500167266247081146015287048521982415475788182590473050026314158121116566987539773744730481757952832811263682984781156806709463020723344797630493775153984940604895920132667075210015314132876874526710828353553725676529625004016309880584173133329743288879512168588528553354518007917314328860764203458133385752965374197248413463986144952077917935354890550329143226078886652867043259501791195515624403092041480821412525724217104443786582083714570758428457288319677523284360284506301586416984856655839777338905358012113585718882434889833014538236947772154485042513788123607939328302262356720573411287378922237981242624295263115996424601818666297148456887930549948397886198337710023407911068402085596181785042475551453871703892968857933492506432739585073846599674034734236726886495832324209317542516812244751814340185226754503311570268220296415158574050833921864793796074043830666223930251417811095522699996439329819005161669058325770675969294585147446527558351734069509072285509900372778181135489207829173246191520905787682655807331868342722638021119025132229658141620350163993704762254675850992552643055495757638181861000179988485686098297194418415663997616569349876347988489345424513942922585031761476001442888297579590831163210452997291243440139035674492949016365439267315481292399138280141452922253760460458023967653671437908008907473484674623186796280607113154307077287133195316306258912702719163801599536937857277730756098062913830792368773700682601252597905917741883695895957346845253634656087407137958583562092046170430274057735136900720507865107567723425389503261663053030498888879061440744778094381820777382267682741048199300462243483641369932353092690595563091196730989962096691548727509258447184477686732006669077068271898115001868231075674731318242806723858317757824293850624005071085273662185429007344516934639265108824653444351515828542333706498560270226295004936492565035457668225379680851795438894424723237561950700757575901296114652947534382640487853272944097510771876597118607887744445803822461475331360969948230531177279167017296419163532755355399491449551372448316454437497832485228857806739472842782059519088488592076013129232527085134898415371069052685315046001351774921993106635107830285327044957051165669111760490902034807841233658695835932481521847926078857723585341699408979011757052798354931865872691588106454273666205661916847950872644278758871606314989918761578204435562476726320972900670351391745831360475666355693607051278470835767613458363078728151920873176127109667993306279383570568615542318948076911968335907473115105725921495531121842371217220203218320643349850313278099957092087392512584607781944531929092757368902963865340628577385837373970800993226879479327925494858426735425717743518684279707348323170948556520353539473651215796024655795050515360096801787217214014457821333567699353353822388518078892862923098063782785947825181882676515808874804243541710606201000568144330509944521925290195547959786537111139860562152216039804149685616622027483230184234949345980414186576968262819532184473115336739645823623911399421100987576152211430565241233721446303255515194409630893183021743586484717075531008872199424920731115494245482002827200657200767154552106629 540026108009012772994466378062221978758165712566570922684241425902761777779667267134055297287112317112486462714822636081140694245936084068229219472783762426614965293904324249993112070000569377488065318099929957854902355558827945141655476935073869972439036751905987952538015684748439953884574691990441930225213031503634085995205179042694476314328606090950183285236454281414555231758099993115671690261601283704555596582274793651294475847171851266335842514602577280624974067237738543798287518426611101890407496946853205861632450283385691158666035388449544117724331304498553571925245164338369979286511020739100005465339942368465572708806796545272138785542618746394871055120359333844126837120269732807791680845293129367738725248360809033931948748468813398898564177018230632239283617060408200497113872326912613685328119604811190995969514957032239982323823456046421525797205155147416202474194226954915350342397057141223998432159023423277457570138422808523383712305152610908950261848994348056607797386337995773083862248988794790711256231253202481889131282958320486709365380318275957597378484652530424212929151632557610696629287764697721389342600565231405577240985993021591345728408010504202430736298944593727030768321042264387384557549112207442411505077530739640465990020284481093427160271190776428378807143291879034516301612466497745226986410090865049732092374722228851106563936192221568350062413197038506812454376205654181838566223674867421131901203529410153524300564585068453740931395084142986556833034455623943485899234048158760462499334346105347139139015297008925914308249846807684833518784155563849412866782769564449740205873338313522413777303854070039673103556647917972873063900829472083369304821217625420423837315407457993531519992429784743472767514465452349010760861123540034208719405110856308478790434154524072768328118367084280877753876252638211507724959862300589949517204352342571953377847025638933628278586520205950319736476837119119534635239861366614627670468294608176803394075373568606880111916743130094817984832335432402125141411998846797927649754479081610128135600880620671283003126697772157600677509933535819474823655717969709872113709639851149829127890762346145296683038386076592857260607333016812338409951413220379387435185282606363233047152594905360443134511337665907317742420276621254097537484647107479765726596848042249387374555720665763254153791493438587660499123335731686193668402373411447277477411412762254961348111656134511598759994369361326348738231520916749741641768621658114672623581851655013283074080840499471843745498309746174777285738011656429590892302569774763896374886530754731520509830040125078944618179531013201166478788664553115572204274291916238530105522071247745507549761114177385813255426535201853984375902629760857700355941869697259241505015155861592298728394345195663034758573703546965903303967756976171213391898609710299328801785898491960533843189154716125106793896544892360742661985173810452469255165047236951010942112488185461235601319478811667228448297885694358860215433417418880396643728376998971303990743116241950933431304743610339585871684310467880109396151006093205996718248527865810438299747992986122626356634672914707507126626616303979672128042630511703052121309758196628325740662391589643348190769113185385241491566616741633679810210354507809704555498516620602896041187692872994847928730076864180157133636717748990711092104148247 873780597570904473323107583575036706194145028859576856366739033628652854349157599399106831592880027245948967974168646401431391120130021049273140864591679208502817657449802504465948713341069544754312399245945244903424337974303733324245949985100184130560153318893527726282746166506392786695838374975223087031922494524357430792835672817848461254933502011082850360446469595547432106284810821469225415938130908708571906462858966784624219136051363434924371067957095288542288396098502747256420904179576476087655910410839350813710368218740581708995178614528430770591374564000344767440869567430411460107923546463317109909126524452180143467235253833591816308826979030901172641537344190499966614459175090819905266564175564257571739786597756806086433790982601522506503505320492988959857028347787122735095114951207876801324544206629857293117971844962789930721709654384131549205116223549501798655979269430466804214100950110081931924665456162862531416738096843257620439191648443233159579391511160301359611726523222527587173819257015087126414805304036403753925079032364317375589310569693768692901184648969754031934313301615936467305257059282868835870158916965475086313271502921964123909543499712031603982490465499514713424128374132730107195570231232574641163219151089804459694782539156944419712914246272186016989004292059023001987710763692163642650407707434399608440363211574275620506858777253329826063856085336086403285539416107179129809663813903095624850219894849420839781856984206733882384317337903447014857002109295381393908141521643435085686130626712460293446092584142121230614508759510403997320383692501706690597538867627363570998242112014205015029901759987781556799452605264818126698556916879221327888383309671590854111373142594894252027857537352466898157017727115402041259750002601474953497499492677085861058116895572272068790361850725650810106968943233774598921690852262686641065931861601019137855533757645602705346858418320952187967552511850437777441963719684372451964318918613247888667737558997614224628851382395203642638276686948230667475118497407068153944759415574175163593269106000352134798565592196880838239460634293395376119770370917244254754197493124093926638662638943263904570782831880415318735938693986760568941128692387396683854348815361718632538602146277808759588948835498392546600227016094096879597003735596071841739726080569334522272971091734815939468837494790362582492229970839516478995447330462612946589171903664289769189345314830347531241516217287405206461816862616158720653525674456469604489454543243119737347747046161388691696370954024933648892053001575191169096738132251490217347787201106123266341190515791434638225230809484036934092247027631843724125147468043348198098828350631316076165303433125462725223762442674969090101824125291979542727159089900477562148365006174870398685486432588175619366355648078894996061336659940036554020475995547673299602779125371439861768684013142860532511640063576640450010308344759008989608704520888166806966768283235976595698121266028881242906119219262058213569255805936959289506651475062754089938568298124627449240179547853881296477885311036024439906095528018496192266208314402921578160310145202162430506320289536734990356810851253325652542229207479965871653494231311965065386486015501042769291756689337596672056807850463079983065725548917440597738520260207087613116718701745194272849461192358425639136463918406191478246656254876 1413806705579917246317573961637258684952310741426147779050980459531414632128824866533162128879992344358435430688991282482572085366066105117502360337375441635117782951354126754459060783341638922242377717345875202758326693533131678465901426920174054102999190070799515678820761851254832740580413066965665017257135526027991516788040851860542937569262108102033033645682923876961987338042910814584897106199732192413127503045133760435918694983223214701260213582559672569167262463336241291054708422606187577978063407357692556675342818502126272867661214002977974888315705868498898339366114731768781439394434567202417115374466466820645716176042050378863955094369597777296043696657703524344093451579444823627696947409468693625310465034958565840018382539451414921405067682338723621199140645408195323232208987278120490486652663811441048289087486801995029913045533110430553075002321378696918001130173496385382154556498007251305930356824479586139988986876519651781004151496801054142109841240505508357967409112861218300671036068245809877837671036557238885643056361990684804084954690887969726290279669301500178244863464934173547163934544823980590225212759482196880663554257495943555469637951510216234034718789410093241744192449416397117491753119343440017052668296681829444925684802823638037846873185437048614395796147583938057518289323230189908869636817798299449340532737933803126727070794969474898176126269282374593215739915621761360968375887488770516756751423424259574364082421569275187623315712422046433571690036564919324879807375569802195548185464972817807432585107881151047144922758606318088830839167848065556103464321637191813311204115450327727428807205614057821229903009253182790999762457746351304697193204527297011277948688550052887783547849967137210370924532192567751052020611126141509162216904603533394339848551050096344837118480217809931687860845195871986106646650714563276590583136213943591091233380783284536333625444938526902507704029348969557312077203581050987079634787213221424692061812932566221104740768125525298460623109022380632792616530496253866081594513894655785291728869986621023417801692289969038438916970567829214850943426088886954126867907132975243755766553401289409201253821217957008175996546027003572907351080105607776071289534097968081865585754741183169202723460173164299864342647292715350977134488382703551607466322928611583909647526812400579193622628988228950242991353306571202672663849703874060224066583316426544730537456970964859130001510586648731555200048383532908462295294296114584277113036394898133020421827886660860535441869263771108426177791013231620759989040702026254113722673731860854786851020555916513582843410340497238100571035692184959296329421759959586728204350421879061583715064547302848538479188977876823074477726755052837243083100959597736803653380162036462697413880777783838654124929351625860899365304416916207767412374605257972628404565023863400395611873167858985639305536608469001192672293518569461458863869568125117817908880771421437831299440744840548471354417104956417073784689223355839686150379852061725393929311414366578382671484291464220882349569621503904549302246534111702188984456842268732016460058138188285056862954962451442497483437467557305324670271837991668923774803989508593391127148407090686117482525802522981913548374467204713662875935903425250302294018776827690509157906394618189120778191269222605796270100636155182189338760403123 2287587303150821719640681545212295391146455770285724635417719493160067486477982465932268960472872371604384398663159928884003476486196126166775501201967120843620600608803929258925009496682708466996690116591820447661751031507435411790147376905274238233559343389693043405103508017761225527276251441940888104289058020552348947580876524678391398824195610113115884006129393472509419444327721636054122522137863101121699409507992727220542914119274578136184584650516767857709550859434744038311129326785764054065719317768531907489053186720866854576656392617506405658907080432499243106806984299199192899502358113665734225283592991272825859643277304212455771403196576808197216338195047714844060066038619914447602213973644257882882204821556322646104816330434016443911571187659216610158997673755982445967304102229328367287977208018070905582205458646957819843767242764814684624207437602246419799786152765815848958770598957361387862281489935749002520403614616495038624590688449497375269420632016668659327020839384440828258209887502824964964085841861275289396981441023049121460544001457663494983180853950469932276797778235789483631239801883263459061082918399162355749867528998865519593547495009928265638701279875592756457616577790529847598948689574672591693831515832919249385379585362794982266586099683320800412785151875997080520277033993882072512287225505733848948973101145377402347577653746728228002190125367710679619025455037868540098185551302673612381601643319108995203864278553481921505700029759949880586547038674214706273715517091445630633871595599530267726031200465293168375537267365828492828159551540567262794061860504819176882202357562341932443837107374045602786702461858447609126461014663230526025081587836968602132060061692647782035575707504489677269081549919683153093280361128742984115714404096210480200906667945668616905908842068535582497967814139105760705568341566825963231649068075544610229088914540930139038972303356847854695671581860819995089519167300735359531599106131834672580729550491563835329369619507920502103261385709328863460091648993660934235539273310229960455322139092621375552600257882165919277156431202122610227063196459804198381622104626099337682405216040232673105824604049837423494732484720990333476292208797995172755143882913329800498124356887460977962312409008662692410942874308809447856731492118299623449206049009180918431920497904135395133091466483019312825483583277410719151659297034336673170655755220090834499726802285795206661243026803936136761661865246149067182948819970571053881602490938141252757769574932822249227138240217796042075069844014806811929085778834277744331070460932966978053192211071707948221068641149981275034663282719816803020454569228002934926303178772510377659880367980428311263702951420551792164579550880344816785810260049498214365801745168211333096099367210372014273491284999704755895426641076856244321432850600805645928007344149234840257380557181001846171817176672045641642682601863328470448472574089013284624875649054657414426997562010869429714260536324218475287353945029292798975657031327124479483867879712491205831911663839318102178827454932539928989208342062130198381250665156671653594620368283390447487369275251988177487840248318810630977212501045471634795428298220820558456513634422591728886774282491860578585605182317667793645941661452342690900032539037034778122274625096363383393627652461581031435406564554561373667585416657999 3701394008730738965958255506849554076098766511711872414468699952691482118606807332465431089352864715962819829352151211366575561852262231284277861539342562478738383560158056013384070280024347389239067833937695650420077725040567090256048803825448292336558533460492559083924269869016058267856664508906553121546193546580340464368917376538934336393457718215148917651812317349471406782370632450639019628337595293534826912553126487656461609102497792837444798233076440426876813322770985329365837749391951632043782725126224464164396005222993127444317606620484380547222786300998141446173099030967974338896792680868151340658059458093471575819319354591319726497566174585493260034852751239188153517618064738075299161383112951508192669856514888486123198869885431365316638869997940231358138319164177769199513089507448857774629871829511953871292945448952849756812775875245237699209758980943337800916326262201231113327096964612693792638314415335142509390491136146819628742185250551517379261872522177017294429952245659128929245955748634842801756878418514175040037803013733925545498692345633221273460523251970110521661243169963030795174346707244049286295677881359236413421786494809075063185446520144499673420069285685998201809027206926965090701808918112608746499812514748694311064388186433020113459285120369414808581299459935138038566357224071981381924043304033298289505839079180529074648448716203126178316394650085272834765370659629901066561438791444129138353066743368569567946700122757109129015742181996314158237075239134031153522892661247826182057060572348075158616308346444215520460025972146581658998719388632818897526182142010990193406473012669659872644312988103424016605471111630400126223472409581830722274792364265613410008750242700669819123557471626887640006082112250904145300972254884493277931308699743874540755218995764961743027322286345514185828659334977746812214992281389239822232204289488201320322295324214675372597748295374757203375611209789552401596370881786346611233893345056097272791363424130056434110387633445800563884494731709496252708179489914800317133787204885745747051009079242398970401950172134957716073401769951825078006622548691152508490011759074581438171769441522082307078425267794431670729030747993906383643288903602948826433417011297882363710111628644147165035869181826992275285521601524798833865980501003175056672371937792502341568024716535974326714095471248263068474936583981921824323146738210733394722338536517379230264259256760065791244537390584868316861913629681975645244114266685638158715527333039385778191402819483109762580109481567150501247635028038432689074819536303998444793134664827832840043231627624461803912051490478513135234318412001762316783990987962521654507529194389439243595432527731159802182140398428615239057277635397654028893361009095951169455125330247795793513247988155852927616214351330616794791945493772452088845225206063618556411909173098240652992430348860831811122713280514642835354895381897931907336443657138402442784529826078852258297002755709978185614953429174892361138634252648638661807411179186204877797191126857784214583148130782323061177024554043833538510588596241900570235121998940385611080426421578732544232230214439619985323685786367936301882772883463303719203102210329151847640782829682415004256808294383560499153556784872507308817597355767941202326557813862468631432531490981572514405843730803637231676665190716555856924177061122 5988981311881560685598937052061849467245222281997597049886419445851549605084789798397700049825737087567204228015311140250579038338458357451053362741309683322358984168961985272309079776707055856235757950529516098081828756548002502046196180730722530570117876850185602489027777886777283795132915950847441225835251567132689411949793901217325735217653328328264801657941710821980826226698354086693142150475458394656526322061119214877004523221772370973629382883593208284586364182205729367676967076177715686109502042894756371653449191943859982020973999237990786206129866733497384552980083330167167238399150794533885565941652449366297435462596658803775497900762751393690476373047798954032213583656684652522901375356757209391074874678071211132228015200319447809228210057657156841517135992920160215166817191736777225062607079847582859453498404095910669600580018640059922323417196583189757600702479028017080072097695921974081654919804351084145029794105752641858253332873700048892648682504538845676621450791630099957187455843251459807765842720279789464437019244036783047006042693803296716256641377202440042798459021405752514426414148590507508347378596280521592163289315493674594656732941530072765312121349161278754659425604997456812689650498492785200440331328347667943696443973549228002380045384803690215221366451335932218558843391217954053894211268809767147238478940224557931422226102462931354180506520017795952453790825697498441164746990094117741519954710062477564771810978676239030634715771941946194744784113913348737427238409752693456815928656171878342884647508811737383895997293337975074487158270929200081691588042646830167075608830575011592316481420362149026803307932970078009252684487072812356747356380201234215542068811935348451854699264976116564909087632031934057238581333383627477393645712795954354741661886941433578648936164354881096683796473474083507517783333848215203053881272365032811549411209865144814411570051652222611899047193070609547491115538182521706142832999476890769853520913915693891763480007141366302667145880441038359712799828483575734552673060515115706202373148171863774523002208054300876993229832972074435305069819008495350890112116385173919120576985481754755412903029317631855165461515468984239859935497701598121581577299924627682861834468516105125127348278190489684686228395910334246690597472619302798505878420946973420773488522620671369459805561954267575893958519861392640975982443772547406565378093756608213729991061542555272452487564194521005078523778875831042828192934237256692040318018271180638535960977752305358989718349699363192576317479042845244618160598370581742775863595597794810893235442699332410024980692640459788169897601131818565337238560215965456580810707966899816903475800508159471065885091818980407403636828515742470814703621058594165535256870498459128889612615198527867201107499351035372690218586570628696410278075806869264484419253322333080910372987529862677982939889952560284478037497245226402355809017746151687067660178880736266685294564766579407899875489753393367648492579281941437637464442506310684361665070839348990046494811970100425240004479486583762527718930658372098951485787155612039205700794704969180031601505466427797473163934105178567279095273928934938514631400431149710304154417252274143891031090786244139084758739102540300954759258808110632102359096850897246753707156587344955908033496192384668667083229745277929524509593719121 9690375320612299651557192558911403543343988793709469464355119398543031723691597130863131139178601803530024057367462351617154600190720588735331224280652245801097367729120041285693150056731403245474825784467211748501906481588569592302244984556170822906676410310678161572952047755793342062989580459753994347381445113713029876318711277756260071611111046543413719309754028171452233009068986537332161778813053688191353234614245702533466132324270163811074181116669648711463177504976714697042804825569667318153284768020980835817845197166853109465291605858475166753352653034495525999153182361135141577295943475402036906599711907459769011281916013395095224398328925979183736407900550193220367101274749390598200536739870160899267544534586099618351214070204879174544848927655097072875274312084337984366330281244226082837236951677094813324791349544863519357392794515305160022626955564133095401618805290218311185424792886586775447558118766419287539184596888788677882075058950600410027944377061022693915880743875759086116701799000094650567599598698303639477057047050516972551541386148929937530101900454410153320120264575715545221588495297751557633674274161880828576711101988483669719918388050217264985541418446964752861234632204383777780352307410897809186831140862416638007508361735661022493504669924059630029947750795867356597409748442026035276135312113800445527984779303738460496874551179134480358822914667881225288556196357128342231308428885561870658307776805846134339757678798996139763731514123942508903021189152482768580761302413941282997985716744226418043263817158181599416457319310121656146156990317832900589114224788841157269015303587681252189125733350252450819913404081708409378907959482394187469631172565499828952077562178049121673822822447743452549093714144184961383882305638511970671577021495698229282417105937198540391963486641226610869625132809061254329998326129604442876113476654521012869733505189359489784167799947597369102422804280399099892711909064308052754066892821946867126312277339823948197590394774812103231030375172747855965508007973490534869806847720001451949424157251106173493404158226435834709303234742026260383076441557186503398602128144248500558748754923276837719981454585426286836190546216978146243578786605201070408010716935925565225544580144749272292384147372316676961513917511859045524463453120305973562550792884765923115056547337207343786519657425515838962433456445374562800305590510758139960100432293125592960255320799315338243732101585105873395385692505513018473437048503942330199033545604220024314152380571788468752298459180930343077565114070883677307235417906885741220656730262622643733278674326956871828892744130938301305131919543820327654022551203927978235318237161289256147071233035890630868067232217409022642694106151140124843596982067690116704711995828706924683125863186683720128723713702365989485010532064401148499123301012932883040831162495431321563365417878723509794062603233074927313392392627124334263145461403290089510444708706815118943591567522289386085490443182568260009631213534590076299271853685496889239462261966206774261077960100882748301181504040627596066229519254613999521720909154552424816781221126547912575833735680867417458487619891546503580978046812398242233834502641478862151795200081956558895287899080627699583912295887412808263576856163878573304685654664759715385139688078326528422439339923188305898759894935994485381433770780243 15679356632493860337156129610973253010589211075707066514241538844394581328776386929260831189004338891097228285382773491867733638529178946186384587021961929123456351898082026558002229833438459101710583734996727846583735238136572094348441165286893353476794287160863764061979825642570625858122496410601435573216696680845719288268505178973585806828764374871678520967695738993433059235767340624025303929288512082847879556675364917410470655546042534784703564000262856996049541687182444064719771901747383004262786810915737207471294389110713091486265605096465952959482519767992910552133265691302308815695094269935922472541364356826066446744512672198870722299091677372874212780948349147252580684931434043121101912096627370290342419212657310750579229270524326983773058985312253914392410305004498199533147472981003307899844031524677672778289753640774188957972813155365082346044152147322853002321284318235391257522488808560857102477923117503432568978702641430536135407932650649302676626881599868370537331535505859043304157642251554458333442318978093103914076291087300019557584079952226653786743277656850196118579285981468059648002643888259065981052870442402420740000417482158264376651329580290030297662767608243507520660237201840590470002805903683009627162469210084581703952335284889024873550054727749845251314202131799575156253139659980089170346580923567592766463719528296391919100653642065834539329434685677177742347022054626783396055418979679612178262486868323699111568657475235170398447286065888703647805303065831506007999712166634739813914372916104760927911325969918983312454612648096730633315261247032982280702267435671324344624134162692844505607153712401477623221337051786418631592446555206544216987552766734044494146374113397573528522087423860017458181346176119018622463639022139448065222734291652584024078992878632119040899650996107707553421606283144761847781659977819645929994749019553824419144715054504304195737851599819981001469997351008647383827447246829758896899892298837636979833191255517839961070401916178405898176255613786215678307836457066269422479908235117158151797305422969948016406366280736711702533067714100695688146260565681854288714244529422419679325740405031593132884483903058142001652061685962386103514284306799191989588016860553248087379048660854397419732425562806361647742313422193292215060925739608772068429213831739343888545069957878713246325219379783414856391976306767203776288034283305546525478526049733806690246382341870610696219665779626878473909471381344061301629982741199022239351563875400662850113358324093827742016808880293535653882593113728921925396016277467483996520325860417454626514117026289281853873436771398089475029520675638892991261111419893434816128945128189073050547033544050101933952324036389430046330934666882595658300603126284282239968866327166053572738478385211587329831213053401362175229118635029844909401376819802147525250415817764402473738405408586187777002493185635211791429889872350736618954479149441776578104887587551385628886132288868793985365932935961627658123792816531513936736296191807573601127332805555764307572772070983173541185983527211358593948449912986098473206696310164464022482015831517092607435241147295214931651553996725070860073320741333180748465903072628572455949617334230702786318989866871838668671034989953109218336114971989205407044751515656962138846844665671484330472836115572974565843124681272414905943364499364 25369731953106159988713322169884656553933199869416535978596658242937613052467984060123962328182940694627252342750235843484888238719899534921715811302614174924553719627202067843695379890169862347185409519463939595085641719725141686650686149843064176383470697471541925634931873398363967921112076870355429920598141794558749164587216456729845878439875421415092240277449767164885292244836327161357465708101565771039232791289610619943936787870312698595777745116932505707512719192159158761762576727317050322416071578936718043289139586277566200951557210954941119712835172802488436551286448052437450392991037745337959379141076264285835458026428685593965946697420603352057949188848899340472947786206183433719302448836497531189609963747243410368930443340729206158317907912967350987267684617088836183899477754225229390737080983201772486103081103185637708315365607670670242368671107711455948403940089608453702442947281695147632550036041883922720108163299530219214017482991601249712704571258660891064453212279381618129420859441251649108901041917676396743391133338137816992109125466101156591316845178111260349438699550557183604869591139186010623614727144604283249316711519470641934096569717630507295283204186055208260381894869406224368250355113314580818813993610072501219711460697020550047367054724651809475281261952927666931753662888102006124446481893037368038294448498832034852415975204821200314898152349353558403030903218411755125627363847865241482836570263674169833451326336274231310162178800189831212550826492218314274588761014580576022811900089660331178971175143128100582728911931958218386779472251564865882869816492224512481613639437750374096694732887062653928443134741133494828010500406037600731686618725332233873446223936291446695202344909871603470007275060320303980006345944660651418736799755787350813306496098815830659432863137637334318423046739092206016177779986107424088806108225674074837288878220243863793979905651547417350103892801631407747276539356311137811650966785120784504106145468595341788158660796690990509129206630786534071643815844430556804292286755955118610101221462674076121509810524507172546411836302456126956071222702122868357687316372673670920238074495328308430852865938488484428837842607902940532347093070912000262397598733796478813312923628805603669712116572935123038609256230934052337739524378859914745630980006716505267003601617295086057032844876805299253818825432752141766576593624794063686485578958342859399650501703141185948939951767364732751869295163886857079775067031245141352438385109479620687164265738895882296494315268061223878731447707184612599232631434184353225217177056123040098359792791353246153682766180902336390780161440219459220645283662623821413051447182289478329197618266579940732802019556253798452689025040818022720501897585193974398944680862155872978255864341571895307458554926755767351660239650699430993408524677832735030566081578313195724037103823287309697571065096418710139104822282499475070882099940552731866088549596294366504572477699811158180070856376118529887667755006351121590236008149877304462840589594771762538568650732171865921842367487567838954660177969167600097994927605464716888839263236958065005183268976828162632390139173888271574441051367553731422982300405714107434607744817416187261681606888947499538252583330877365917481912971135867778711730406180416677523986532743998012752912176038761280464603019617266900287377135279607 41049088585600020325869451780857909564522410945123602492838197087332194381244370989384793517187279585724480628133009335352621877249078481108100398324576104048010071525284094401697609723608321448895993254460667441669376957861713780999127315129957529860264984632405689696911699040934593779234573280956865493814838475404468452855721635703431685268639796286770761245145506158318351480603667785382769637390077853887112347964975537354407443416355233380481309117195362703562260879341602826482348629064433326678858389852455250760433975388279292437822816051407072672317692570481347103419713743739759208686132015273881851682440621111901904770941357792836668996512280724932161969797248487725528471137617476840404360933124901479952382959900721119509672611253533142090966898279604901660094922093334383432625227206232698636925014726450158881370856826411897273338420826035324714715259858778801406261373926689093700469770503708489652513965001426152677142002171649750152890924251899015381198140260759434990543814887477172725017083503203567234484236654489847305209629225117011666709546053383245103588455768110545557278836538651664517593783074269689595780015046685670056711936952800198473221047210797325580866953663451767902555106608064958720357919218263828441156079282585801415413032305439072240604779379559320532576155059466506909916027761986213616828473960935631060912218360331244335075858463266149437481784039235580773250240466381909023419266844921095014832750542493532562894993749466480560626086255719916198631795284145780596760726747210762625814462576435939899086469098019566041366544606315117412787512811898865150518759660183805958263571913066941200340040775055406066356078185281246642092852592807275903606278098967917940370310404844268730866997295463487465456406496422998628809583682790866802022490079003397330575091694462778473762788633442025976468345375350778025561646085243734736102974693628661708022935298368098175643503147237331105362798982416394660366803557967570547866677419622141085978659850859628119731198607168915027382886400320287322123680887623073714766664190235768253018768097046069526216890787909258114369370170227651759368962688550211976030617203093339917400235733340023985750422391542570839494669588902918450607355218799454387186750657032061400302677466458067131848998497929400256998544356245629954585304599523517699409220548244610892146687252964770279170096185082668675217409058908970352881659077369233011057484392593206340748085483056559636171433144359630343204635268201141076697013986340374677736673355021350014379097219976124236332076941517414385330300298341521158027450461820709213697381983457552986306908379535435536639617673734480255190960895098113636544774043714847867576127417667402248165300123990834735971880290187882735355975484905316160198188320258681184649728483039031828602819957106894788386139809168713835468769334460838317926054652537178091331994130960126510842228695895885348067589604345350896252172371825807501054419702173642666654483881917890201363832100026974056222309054491515325878799167653104172744446069112036441716927577318302876223504242849095383553471095050313254126419080586196468134301774881352861745252789582097790704217975457847321790727884996645301124688295064603730766308786736007063694434750417964467925878814371376921254365867319026700249086107856984118775157696073639662833377409669497083385012154334255030446144298539315193320499778971 66418820538706180314582773950742566118455610814540138471434855330269807433712355049508755845370220280351732970883245178837510115968978016029816209627190278972563791152486162245392989613778183796081402773924607036755018677586855467649813464973021706243735682103947615331843572439298561700346650151312295414412980269963217617442938092433277563708515217701863001522595273323203643725439994946740235345491643624926345139254586157298344231286667931976259054234127868411074980071500761588244925356381483649094929968789173294049573561665845493389380027006348192385152865372969783654706161796177209601677169760611841230823516885397737362797370043386802615693932884076990111158646147828198476257343800910559706809769622432669562346707144131488440115951982739300408874811246955888927779539182170567332102981431462089374005997928222644984451960012049605588704028496705567083386367570234749810201463535142796143417052198856122202550006885348872785305301701868964170373915853148728085769398921650499443756094269095302145876524754852676135526154330886590696342967362934003775835012154539836420433633879370894995978387095835269387184922260280313210507159650968919373423456423442132569790764841304620864071139718660028284449976014289326970713032532844647255149689355087021126873729325989119607659504031368795813838107987133438663578915863992338063310366998303669355360717192366096751051063284466464335634133392793983804153458878137034650783114710162577851403014216663366014221330023697790722804886445551128749458287502460055185521741327786785437714552236767118870261612226120148770278476564533504192259764376764748020335251884696287571903009663441037895072927837709334509490819318776074652593258630408007590225003431201791386594246696290963933211907167066957472731466816726978635155528343442285538822245866354210637071190510293437906625926270776344399515084467556794203341632192667823542211200367703498996901155542231892155549154694654681209255600613824141936906159869105382198833462540406645192124128446201416278391995298159424156589517186854358965939525318179878007053420145354378354240230771122191036027415295081804526205672626354607830591664811418569663346989876764260155474731061648454838616360880026999677337277491843450797700426130799716784785484453510874713226306272061736843965571433052438866254775290297967694109683459438263330389227264749877895748304548050827312014972990381922494042841811050736929475283871432919496636442735452605991249788624242508576123200509092382212499799155058220851764045231481727116121782834642037178644836115858420730647345002741293116778007482954120390658884646173934430874438106497651346099699732781589219405798576070871035352401114557334281828436667536260919023309707145731445783566703931567537991436543986335424381016302928036662095773514233080129330590638912010084467161529002202246941066564936065495708420033891831726450732485272208657413572444155850547946051983205582919132686023055490001074454871300878383154360254905508755204080176284394773841531911185154127078685173021402993633805518774694408752595946416499282306522349080841444874236414715017225920958662889267914304388248186294463061907239598241701008489747647102973973194803620479711929901773268219742176055848796026713066714500843441671439252166605226149532767761870915173837696744684944182162057243724762830505563876490317186819910153667509836297188193095535495049163915806215480697635058578 107467909124306200640452225731600475682978021759663740964273052417602001814956726038893549362557499866076213599016254514190131993218056497137916607951766383020573862677770256647090599337386505244977396028385274478424395635448569248648940780102979236104000666736353305028755271480233155479581223432269160908227818745367686070298659728136709248977155013988633762767740779481521995206043662732123004982881721478813457487219561694652751674703023165356740363351323231114637240950842364414727273985445916975773788358641628544810007537054124785827202843057755265057470557943451130758125875539916968810363301775885723082505957506509639267568311401179639284690445164801922273128443396315924004728481418387400111170702747334149514729667044852607949788563236272442499841709526560790587874461275504950764728208637694788010931012654672803865822816838461502862042449322740891798101627429013551216462837461831889843886822702564611855063971886775025462447303873518714323264840105047743466967539182409934434299909156572474870893608258056243370010390985376438001552596588051015442544558207923081524022089647481440553257223634486933904778705334550002806287174697654589430135393376242331043011812052101946444938093382111796187005082622354285691070951751108475696305768637672822542286761631428191848264283410928116346414263046599945573494943625978551680138840959239300416272935552697341086126921747732613773115917432029564577403699344518943674202381555083672866235764759156898577116323773164271283430972701271044948090082786605835782282468074997548063529014813203058769348081324139714811645021170848621605047277188663613170854011544880093530166581576507979095412968612764740575846897504057321294686111223215283493831281530169709326964557101135232664078904462530444938187873313149977263965112026233152340844735945357607967646282204756216380388714904218370375983429842907572228903278277911558278314175061332160704924090840599990331192657841892012314618399596240536597272963427072952746700139960028786278102788297061044398123193905328339183972403587174646288063206205802951721820084335590146607258998868168260562244306082991062640575042796582259589960627499968781639377607079857600072874966794988478824366783271569570516831947080746369248307781349599171171972235110542936113528983738519803975814569930981839123253319646543597648694988058961781029798447812994488787894991801015597591185069175464591169260250869959707282356942948802152507693927128045812331997874107299068212294633653452012555704434423259361928461059217822101793858456189663387193023933335834544966979421944258707502108307781295641548686335107994643644571820089955204332406608112317024756045416249805351290543362009655447918373210711251108786599437124813133693948866827922402273963316834174218159736991787833352822293961834491761313980319121951041913069981486109097035327206374104779331177189368352670044376787137809386748745566575115977058788280679101468267200275627400840897326627243126685884208779957079151421858564058202284975205364011212128183300994227512918319512604686427798581497042015528535724023449926399144321097740657564112609474429757939581168430807328772490931196209014479594562753742537229200764677412779078327033720629658264865043300744143860630443833023287579448735133686917023190617458646576242292095092062612003970882411143351581746949280721572563956849653287563337006919682200347429790525495308214345530674018134837549 173886729663012380955034999682343041801433632574203879435707907747871809248669081088402305207927720146427946569899499693027642109187034513167732817578956661993137653830256418892483588951164689041058798802309881515179414313035424716298754245076000942347736348840300920360598843919531717179927873583581456322640799015330903687741597820569986812685670231690496764290336052804725638931483657678863240328373365103739802626474147851951095905989691097332999417585451099525712221022343126002972199341827400624868718327430801838859581098719970279216582870064103457442623423316420914412832037336094178412040471536497564313329474391907376630365681444566441900384378048878912384287089544144122480985825219297959817980472369766819077076374188984096389904515219011742908716520773516679515654000457675518096831190069156877384937010582895448850274776850511108450746477819446458881487994999248301026664300996974685987303874901420734057613978772123898247752605575387678493638755958196471552736938104060433878056003425667777016770133012908919505536545316263028697895563950985019218379570362462917944455723526852335549235610730322203291963627594830316016794334348623508803558849799684463612802576893406567309009233100771824471455058636643612661783984283953122951455457992759843669160490957417311455923787442296912160252371033733384237073859489970889743449207957542969771633652745063437837177985032199078108750050824823548381557158222655978324985496265246250717638778975820264591337653796862062006235859146822173697548370289065890967804209402784333501243567049970177639609693550259863581923497735382125797307041565428361191189263429576381102069591239949016990485896450474075085337716822833395947279369853623291084056284961371500713558803797426196597290811629597402410919340129876955899120640369675437879666981811711818604717472715049654287014641174994714775498514310464366432244910470579381820525375429035659701825246382831882486741812536546693523874000210064678534179123296178334945533602500435431470226916743262460676515189203487763340561920774029005254002731523982829728873504480944524961499229639290451598271721378072867166780715422936867420552292311387351302724596956621860228349697856636933662983144151596570194169224572589820046008207480398887956757719564053810826755290010581540819780141364034277989508094936841565342804671518400044360187675077744366683643296349066424903200042165846513663303092681010444211832226820235072004330369863498418323247662731541576788417834162544394768204233578317582780225104449303828909980239024305424371668769451692965697626766947000000618886315264249761939345219754168578075446258196452855678506307845098613975451214825876222325895763124212782200201647378787369705622746831958865139732433531853969811954753378160553584118008090761389484389735348724841443310909760863051997537143015111299282268272939040844826885609402244501770827519623081595406159139019271827606734332662307051186332961650456330898401082114427564267363140211984660177062644234486679749046895922397282310379679400534321313146410205202492990249637961945035006329972275479985765971977072279129835395388420828849082735195576958785394258116254077836263762232284876303738650607582698806745650531431533084785476799992656657156899737788422890406572939083628416766991414338113207268929759356688915064573200595306509779786285449054274036473197717004516755979388540525326020544472130151746154715769896127 281354638787318581595487225413943517484411654333867620399980960165473811063625807127295854570485220012504160168915754207217774102405091010305649425530723045013711516508026675539574188288551194286036194830695155993603809948483993964947695025178980178451737015576654225389354115399764872659509097015850617230868617760698589758040257548706696061662825245679130527058076832286247634137527320410986245311255086582553260113693709546603847580692714262689739780936774330640349461973185490417699473327273317600642506686072430383669588635774095065043785713121858722500093981259872045170957912876011147222403773312383287395835431898417015897933992845746081185074823213680834657415532940460046485714306637685359929151175117100968591806041233836704339693078455284185408558230300077470103528461733180468861559398706851665395868023237568252716097593688972611312788927142187350679589622428261852243127138458806575831190697603985345912677950658898923710199909448906392816903596063244215019704477286470368312355912582240251887663741270965162875546936301639466699448160539036034660924128570385999468477813174333776102492834364809137196742332929380318823081509046278098233694243175926794655814388945508513753947326482883620658460141258997898352854936035061598647761226630432666211447252588845503304188070853225028506666634080333329810568803115949441423588048916782270187906588297760778923304906779931691881865968256853112958960857567174921999187877820329923583874543734977163168453977570026333289666831848093218645638453075671726750086677477781881564772581863173236408957774874399578393568518906230747402354318754091974362043274974456474632236172816456996085898865063238815661184614326890717241965481076838574577887566491541210040523360898561429261369716092127847349107213443026933163085752395908590220511717757069426572363754919805870667403356079213085151481944153371938661148188748490940098839550490367820406749337223431872817934470378438705838492399806305215131452086723251287692233742460464217748329705040323505074638383108816102524534324361203651542065937729785781450693588816534671568758228507458712160516027461063929807355758219519127010512919811356132942102204036479460301224664651625412487349927423166140711001171653336189294315988829998059128729954674596746940284273749101344795594711295016117112761414583385162991499659577361825389986122890738855471538288150082022494385111341311104832563343550970151494189169769037224512024296991544230655245536838840645000712467815996407323908668001576944708686163667125930703838695213968811564692702787527510664606188891258708120994623045545403488031554862163221720018078286408060010912915957415638731496631075681573616439125133868230118574858090038478492222183956771998833681300359776372085918070212334771743854999878594742306683697183216602757291228882814093910607124501220396317595479313145624158062798770597171815204306760890982154904705594387804665522613341408519453533237277857171795727709357554250151571920169063811598921208292688964724252259933609410493680673628047239632659014891630291571746679977473570730353422201879130087069717729843242444869818178768430251166002905731276325454325268557430826515974822105504503328020361777133779371161089797949828777544136517287600732761076002339141706626000651607384450060914355499364021821968692885946984343946888256729067007021618230886126485280341523675661588887955116546039780344497276828733904733676 455241368450330962550522225096286559285845286908071499835688867913345620312294888215698159778412940158932106738815253900245416211592125523473382243109679707006849170338283094432057777239715883327094993633005037508783224261519418681246449270254981120799473364416955145749952959319296589839436970599432073553509416776029493445781855369276682874348495477369627291348412885090973273069010978089849485639628451686293062740167857398554943486682405360022739198522225430166061682995528616420671672669100718225511225013503232222529169734494065344260368583185962179942717404576292959583789950212105325634444244848880851709164906290324392528299674290312523085459201262559747041702622484604168966700131856983319747131647486867787668882415422820800729597593674295928317274751073594149619182462190855986958390588776008542780805033820463701566372370539483719763535404961633809561077617427510153269791439455781261818494572505406079970291929431022821957952515024294071310542352021440686572441415390530802190411916007908028904433874283874082381083481617902495397343724490021053879303698932848917412933536701186111651728445095131340488705960524210634839875843394901607037253092975611258268616965838915081062956559583655445129915199895641511014638920319014721599216684623192509880607743546262814760111858295521940666919005114066714047642662605920331167037256874325239959540241042824216760482891812130769990616019081676661340518015789830900324173374085576174301513322710797427759791631366888395295902690994915392343186823364737617717890886880566215066016148913143414048567468424659441975492016641612873199661360319520335553232538404032855734305764056406013076384761513712890746522331149724113189244850930461865661943851452912710754082164695987625858660527721725249760026553572903889062206392765584028100178699568781245177081227634855524954417997254207799926980458463836305093393099219070321919364925919403480108574583606263755304676282914985399362366400016369893665631210019429622637767344960899649218556621783585965751153572312303865865096245135232656796068669253768611179567093297479196530257458146749163758787748839136796974136473642455994431065212122743484244826800993101320529574362508262346150333071574762710905170396225926009340324196310396947085487674238650557767039563759682885615374852659050395102269509520226728334304331095761869750173797968483222155181584499148447397585153507157618495866436231980595706021396589272296516354666855042648978493199570382221789130301978540802092112901579894527488911268116429759613818934238274235936361472239220476362232955838258708739880938309795165427376774616331799795464336482860915689419223802514252706947845901557795942334888258081012318776505468825848197844930788730863973413733891630341897872823590495325327973007969356131791073432531941444200602138643677145908144267516331695599863752252186468984948408172841673586031826383972577561063844613659632272256946003715570639866198928313502694128791471981814418935060381048471775983852527175644473299155856006692804060353028581560945805425096832784561996317939418605736683394477359115853041694802122372280265206599597279333901198482690061719712441522635267090278207106981808241978627944475940525021692521331034614254344129173944757632498864425229548279565084280024151441475252468706632951581325381801011557544542194766508853292470672504922599682997346040431640977428480442566584252474649022983449674629803 736596007237649544146009450510230076770256941241939120235669828078819431375920695342994014348898160171436266907731008107463190313997216533779031668640402752020560686846309769971631965528267077613131188463700193502387034210003412646194144295433961299251210379993609371139307074719061462498946067615282690784378034536728083203822112917983378936011320723048757818406489717377220907206538298500835730950883538268846322853861566945158791067375119622712478979458999760806411144968714106838371145996374035826153731699575662606198758370268160409304154296307820902442811385836165004754747863088116472856848018161264139105000338188741408426233667136058604270534024476240581699118155425064215452414438494668679676282822603968756260688456656657505069290672129580113725832981373671619722710923924036455819949987482860208176673057058031954282469964228456331076324332103821160240667239855772005512918577914587837649685270109391425882969880089921745668152424473200464127445948084684901592145892677001170502767828590148280792097615554839245256630417919541962096791885029057088540227827503234916881411349875519887754221279459940477685448293453590953662957352441179705270947336151538052924431354784423594816903886066539065788375341154639409367493856354076320246977911253625176092054996135108318064299929148746969173585639194400043858211465721869772590625305791107510147446829340584995683787798592062461872481987338529774299478873357005822323361251905906097885387866445774590928245608936914728585569522843008610988825276440409344467977564358348096630788730776316650457525243299059020369060535547843620602015679073612309915275813378489330366541936872863009162283626576951706407706945476614830431210332007300440239831417944453920794605525594549055120030243813853097109133767015930822225292145161492618320690417325850671749444982554661395621821353333420885078462402617208243754541287967561262018204476409771300515323920829695628122610753293424105200858799822675108797083296742680910330001087421363866966886326823909470825791955421119968389630569496436308338134606983554392630260682114013868099015686654207875919303776300200726781492231861975121441578131934099617186929005029580780830799027159887758637682998997928851616171567879262198634640185140395006214217628913247304707323837508784230410969563954066512215030924103611891325803990673123695140159920859222077626719872649230469891970264848468723328429779782950747200210566358309521028378963846586879633738736409222866789842769794537209416021569581471472197597431783555690317657629452243047501054175026747987026839144729517416860875561355340568915408329478495021515482414769268975700332139759929891438444476977239369558774013391949242437351363558864326690067114745502862807095034251406713983790893802830097071828007847950874097757129715158046957893367526491239818751392017552091917459231565332093143011206943438845401236133144863559715968550208047436937779559345124090093399436206170674489856500829536064570506980550112283374905060819864609197551415789616103297741026656628800578464439988463076133742997916892176467036816679238245940111412531965614725135024778365709585067201388421338045166766791192697916794181929087312745306648306253074304392853611128984443031888265691232358365259940427568689986191084931631535891536166824205996973403294074686958541888489083023237920299492290735808726168277687564107302566316435559112624032819146299812183579363479 1191837375687980506696531675606516636056102228150010620071358695992165051688215583558692174127311100330368373646546262007708606525589342057252413911750082459027409857184592864403689742767982960940226182096705231011170258471522831327440593565688942420050683744410564516889260034038358052338383038214714764337887451312757576649603968287260061810359816200418385109754902602468194180275549276590685216590511989955139385594029424343713734554057524982735218177981225190972472827964242723259042818665474754051664956713078894828727928104762225753564522879493783082385528790412457964338537813300221798491292263010144990814165244479065800954533341426371127355993225738800328740820777909668384419114570351651999423414470090836543929570872079478305798888265803876042043107732447265769341893386114892442778340576258868750957478090878495655848842334767940050839859737065454969801744857283282158782710017370369099468179842614797505853261809520944567626104939497494535437988300106125588164587308067531972693179744598056309696531489838713327637713899537444457494135609519078142419531526436083834294344886576705999405949724555071818174154253977801588502833195836081312308200429127149311193048320623338675879860445650194510918290541050280920382132776673091041846194595876817685972662739681371132824411787444268909840504644308466757905854128327790103757662562665432750106987070383409212444270690404193231863098006420206435639996889146836722647534625991482272186901189156572018688037240303803123881472213837924003332012099805146962185868451238914311696804879689460064506092711723718462344552552189456493801677039393132645468508351782522186100847700929269022238668388090664597154229276626338943620455182937762305901775269397366631548687690290536680978690771535578346869160320588834711287498537927076646420869116894631916926526210189516920576239350587628685005442861081044548847934387186631583937569402329174780623898504435959383427287036208409504563225199839045002462714506762110532967768432382263516185442948607495436576945527733423834254726814631668965134203276237323003809827775411493064629273144800957039678091525139337523755628705504431115872643344056843101431755806022682101360373389668150104788016070572691562521341964105188207974964381450791953299705303151897862474363401268467116026344416613116907317300433623838619660108321768885564890333718827705299781901457148378917289555418355626341824296216014931342906231962947581817544733630701629528612231935979605088578973071773078011508134471161365999686508699899985449931476563690517283437415647265968463389072100567776125600756499665135734342785104094826821310946751252129891389751363562444144145392322878797165501108901650030254756127869027690174887912045534233726780508768143037055881663717393325422399801015817307005888830562247099491158495506170168385726895659533883787517322983817518562127959615116280518987267959528836137277032394821707069210036505348839660733265635134484177183985292301517878989442040931160755150888913347040253670850571645622796101801379685210361524269865085295860695739315856310782203720211156597361793153107334087987005400231377962988918968399871111399764879208313827965007072389036069120987285276250729014829414546132460019057286232394865177115997758804852798238265756169211655687333011419292912629924984619456487970099433031277789746773591962963240731325851275033604538943543744916001679208285293795322795633253993282 1928433382925630050842541126116746712826359169391949740307028524070984483064136278901686188476209260501804640554277270115171796839586558591031445580390485211047970544030902634375321708296250038553357370560405424513557292681526243973634737861122903719301894124404173888028567108757419514837329105829997455122265485849485659853426081205243440746371136923467142928161392319845415087482087575091520947541395528223985708447890991288872525621432644605447697157440224951778883972932956830097413964661848789877818688412654557434926686475030386162868677175801603984828340176248622969093285676388338271348140281171409129919165582667807209380767008562429731626527250215040910439938933334732599871529008846320679099697292694805300190259328736135810868178937933456155768940713820937389064604310038928898598290563741728959134151147936527610131312298996396381916184069169276130042412097139054164295628595284956937117865112724188931736231689610866313294257363970694999565434248190810489756733200744533143195947573188204590488629105393552572894344317456986419590927494548135230959759353939318751175756236452225887160171004015012295859602547431392542165790548277261017579147765278687364117479675407762270696764331716733576706665882204920329749626633027167362093172507130442862064717735816479450888711716593015879014090283502866801764065594049659876348287868456540260254433899723994208128058488996255693735579993758736209939475762503842544970895877897388370072289055602346609616282849240717852467041736680932614320837376245556306653846015597262408327593610465776714963617955022777482713613087737300114403692718466744955383784165161011516467389637802132031400952014667616303561936222102953774051665514945062746141606687341820552343293215885085736098721015349431443978294087604765533512790683088569264741559534220482588675971192744178316198060703921049570083905263698252792602475675154192845955773878738946081139222425265655011549897789501833609764083999661720111259797803504791443297769519803627383152329275431404907402737483154543802644357384128105273472337883220877396440088457525506932728288831455164915597395301439538250537120937366406237314221475990942718618684811052262882191172416828037863425699069570620414137513531984450406609604566591186959513922932065145167181687238777251346437313980567183419532331357727450510985912312442009260030493639686927377408621329797609387181525683204095065152725995797882090106442529305891338573112594548216408245970672388827955368815841567615220924156040742837471884106131683541140249134193142760330938469822292716450415911245297293542461632061020476303258193433573321842826429166021398867090083503322374035583836799856036535059882915041979497193479232586554501577979160279736589587603802394443769865454611196155519471629023665257879986587691962257538116388873696659625545647051551435879434782215382850655270970822059719364388504092673699696993000945029754506147816064693963750826665071340654851673841793131053943559949021481273038525793974166904862868401987435238899399542406341839162102734305073758936829482313773202958670757027835835607733264519866053601730535256156328698504035601259532737810045975105020662923866570965156433732591924556982089133807399743589003500318120660556409474363018745280366928251947254143287223224547586117118626898387913531174928641321520360812984693891455253976540052019552721168646246110061351560791832318112941622607816833356761 3120270758613610557539072801723263348882461397541960360378387220063149534752351862460378362603520360832173014200823532122880403365175900648283859492140567670075380401215495498779011451064232999493583552657110655524727551153049075301075331426811846139352577868814738404917827142795777567175712144044712219460152937162243236503030049492503502556730953123885528037916294922313609267757636851682206164131907518179125094041920415632586260175490169588182915335421450142751356800897199553356456783327323543929483645125733452263654614579792611916433200055295387067213868966661080933431823489688560069839432544181554120733330827146873010335300349988800858982520475953841239180759711244400984290643579197972678523111762785641844119830200815614116667067203737332197812048446268203158406497696153821341376631140000597710091629238815023265980154633764336432756043806234731099844156954422336323078338612655326036586044955338986437589493499131810880920362303468189535003422548296936077921320508812065115889127317786260900185160595232265900532058216994430877085063104067213373379290880375402585470101123028931886566120728570084114033756801409194130668623744113342329887348194405836675310527996031100946576624777366928087624956423255201250131759409700258403939367103007260548037380475497850583713123504037284788854594927811333559669919722377449980105950431121973010361420970107403420572329179400448925598678000178942645579472651650679267618430503888870642259190244758918628304320089544520976348513950518856617652849476050703268839714466836176720024398490155236779469710666746495945058165639926756608205369757859877600852292516943533702568237338731401053639620402758280900716165498729292717672120697882825052043381956739187183891980906175622417077411786885009790847454408193600244800289221015645911162428651115114505602497402933695236774300054508678255089348124779297341450410062340824429893343281068120861763120929701614394977184825710243114327309199500765113722512310266901976265537952185890899337772224038900343979683010887967636899084198759774238606541159458200400249916232936999997357561976256121955275486826578875774292749642870837353186864820047785820050440617074944983551545806496187968213715140143311976658855496089638614584568948041978912813628235217043029656050640045718462463658397180300326849631791351289130646020634210894824920827358514632677190522786945988304471081101559721406977022211812813433012674492253473156117846225249845936858202608368433043947788913340693232432290511904203471570614831583526590180610756833277614375885469558684913804983345865069668062388560685612037600978537668148664137375917273528758479834866884818179729229122734833700560991816692009751949607101614244676465891205813970316368112570537480825747118328589480941871430039482564885875418254209357029274884379866828011272542711085319666952105199200369217398930437175999883375772052202535834270033339851461575357852570042803411559930706475139028857827085432571822549391062412433793676682887513945116539252559080861695501343786027049523627004170159054797525221629629513740874477238992432969526417627200141588735935487534291687423004001130644137574925183418848627930938960001225554719877200807711103963221945876049022557604353055421586590360777550133165166517703423354942910557559005410031256823372532987662898740754551638602731467483418217217271377870827754773185189653806267562471040603406736945403450087350043 5048704141539240608381613927840010061708820566933910100685415744134134017816488141362064551079729621333977654755100802238052200204762459239315305072531052881123350945246398133154333159360483038046940923217516080038284843834575319274710069287934749858654471993218912292946394251553197082013041249874709674582418423011728896356456130697746943303102090047352670966077687242159024355239724426773727111673303046403110802489811406921458785796922814193630612492861675094530240773830156383453870747989172333807302333538388009698581301054822998079301877231096991052042209142909703902525109166076898341187572825352963250652496409814680219716067358551230590609047726168882149620698644579133584162172588044293357622809055480447144310089529551749927535246141670788353580989160089140547471102006192750239974921703742326669225780386751550876111466932760732814672227875404007229886569051561390487373967207940282973703910068063175369325725188742677194214619667438884534568856796487746567678053709556598259085074890974465490673789700625818473426402534451417296675990598615348604339050234314721336645857359481157773726291732585096409893359348840586672834414292390603347466495959684524039428007671438863217273389109083661664331622305460121579881386042727425766032539610137703410102098211314330034601835220630300667868685211314200361433985316427109856454238299578513270615854869831397628700387668396704619334257993937678855518948414154521812589326381786259012331479300361265237920602938785238828815555687199789231973686852296259575493560482433439128351992100621013494433328621769273427771778727664056722609062476326622556236076682104545219035626976533533085040572417425897204278101720832246491723786212827887798184988644081007736235274122060708153176132802234441234825748495798365778313079904104215175903988185335597094278468595677873552972360758429727825173253388477550134052885737495017275849117159807066942902343354967269406527082615212076724091393199162485224982310113771693419563307471989518282490101499470305251382420494042511439543441582887879512078879042679077796690004690462506930085850807711286870872882128018414024829870580237243590501086296038728538669125428127207865742718223324225831639414209713932390796369028074089021194173514633165872327551167282188196837737878822969808900972377747483746381963149078739641631932946652904084951320998201560054599144116743597691652606784763816472129748207610695523119117021559364494690958819798062345104173280757260999316604754908308453356446552647040943454720963267067730429744949976037945314355291851401364220894591162363210524020621706088340859171971241470506963805083294927625569918370207192215313065922590870235620874731733989249143086334200799178043870366093706905955716372931924595612572939785636461343059063147822765862005946171614567391273253563487636818189762636755546386887414583219872669901259235719247764276144876235531263034284881216081505668634736767162386595777815793880531668878563625766109340083893706832202476861680849979407654546516100594900886192368888685729738475232813734354703943402716699545234266828268577259682147066195190466470743690620385927039602390176875384971158523869290854805530966381988452469125364693193097029345619638026057922473715977996064723796295413532094769650677498230133782106591527149883721760446518837827382076071999415716161374873471193811429890380475941831435763867619123262872921519678568011266920706804 8168974900152851165920686729563273410591281964475870461063802964197283552568840003822442913683249982166150668955924334360932603569938359887599164564671620551198731346461893631933344610424716037540524475874626735563012394987624394575785400714746595998007049862033650697864221394348974649188753393919421894042571360173972132859486180190250445859833043171238199003993982164472633622997361278455933275805210564582235896531731822554045045972412983781813527828283125237281597574727355936810327531316495877736785978664121461962235915634615609995735077286392378119256078109570784835956932655765458411027005369534517371385827236961553230051367708540031449591568202122723388801458355823534568452816167242266036145920818266088988429919730367364044202313345408120551393037606357343705877599702346571581351552843742924379317409625566574142091621566525069247428271681638738329730726005983726810452305820595609010289955023402161806915218687874488075134981970907074069572279344784682645599374218368663374974202208760726390858950295858084373958460751445848173761053702682561977718341114690123922115958482510089660292412461155180523927116150249780803503038036503945677353844154090360714738535667469964163850013886450589751956578728715322830013145452427684169971906713144963958139478686812180618314958724667585456723280139125533921103905038804559836560188730700486280977275839938801049272716847797153544932935994116621501098421065805201080207756885675129654590669545120183866224923028329759805164069637718645849626536328346962844333274949269615848376390590776250273903039288515769372829944367590813330814432234186500157088369199048078921603864315264934138680192820184178104994267219561539209395906910710712850228370600820194920127255028236330570253544589119451025673202903991966023113369125119861087066416836450711599880965998611568789746660812938406080262601513256847475503295799835841705742460440875187804665464284668883801504267440922319838418702398663250338704822424038595395828845424175409181827873723509205595362103504930479076442525781647653750685420202137278196939920923399506927443412783967408826148368954597289799122620223108080943687951116086514358719566045202152849294264029820413799853129349857244367455224524163727635778742462675144785141179402499231226493788518868688271364630774927784073231594940430028772277953580863798909872148356716192731789666903689585996123687886323537879106770419423508956131791513812837650808805045047908281962375889125694043264393668249001685788737064551244415025335794850594320610355706809315559690240761410086278025877937027432878586409182391700378460150508909619171101181000568456384049753237092010395042295045325703936181866548425999001092693435815043854509761571907677222323828943469405421359691268375117403214489102630387651737424200380971596666157633430315648090732473722075213338992613783589090068831696411719131140048197078771365533067624732677656863521204779570573946526484290932909389495963996197588658731146306140625879159749194795095946907105596962290402229978395938209356742645391868531879925573032230440419711505820701546786099774266336779202406231224912073350043603520821012959896341942717918785744490967607543172346326172404297060251291495687048615526826771399582655084573845546697261287354100853173044339665596937181140545132979506500726122830623638018447628858291688411082807761208230715016625417673886685733913524926415513414717008056847 13217679041692091774302300657403283472300102531409780561749218708331417570385328145184507464762979603500128323711025136598984803774700819126914469637202673432322082291708291765087677769785199075587465399092142815601297238822199713850495470002681345856661521855252562990810615645902171731201794643794131568624989783185701029215942310887997389162935133218590869970071669406631657978237085705229660387478513610985346699021543229475503831769335797975444140321144800331811838348557512320264198279305668211544088312202509471660817216689438608075036954517489369171298287252480488738482041821842356752214578194887480622038323646776233449767435067091262040200615928291605538422157000402668152614988755286559393768729873746536132740009259919113971737559487078908904974026766446484253348701708539321821326474547485251048543190012318125018203088499285802062100499557042745559617295057545117297826273028535891983993865091465337176240943876617165269349601638345958604141136141272429213277427927925261634059277099735191881532739996483902847384863285897265470437044301297910582057391349004845258761815841991247434018704193740276933820475499090367476337452328894549024820340113774884754166543338908827381123402995534251416288201034175444409894531495155109936004446323282667368241576898126510652916793945297886124591965350439734282537890355231669693014427030278999551593130709770198677973104516193858164267193988054300356617369479959722892797083267461388666922148845481449104145525967114998633979625324918435081600223180643222419826835431703054976728382691397263768336367910285042800601723095254870053423494710513122713324445881152624140639491291798467223720765237610075309272368940393785701119693123538600648413359244901202656362529150297038723429677391353892260498951399790331801426449029224076262970405021786308694159434594289442342719021571368133905435854901734397609556181537330858981591577600682254747567807639636153208031350056134396562510095597825735563687132537810288815392152896164927464317975222979510846744523998972990515985967364535533262764299244816355993629925613862013857529263591678695697021251082615703823952490803345324534189037412125242897388691473329360715036982253144639631492543559571176758251593552237816656972915977308310657468730569781419423331526397691658080265603152675267819613558089508768413909886527516702994823469354917752786388811020433183687776294671087354351236518627034204479250908535372202145499763864845970627066549169882955042580998423157310139145183617198285358480056758117662051040100656785353505004596053261487642246772528189796089110429804097788719319322480151089678064986083863384009619671607299202610355360967916574171802741280159988250235779770015843032553631938001384128279545316401330016972264208160753864557548165778210417599430146552586164057430886993803284908922236358830759725880028366808962738732955647438378904324341955006896796101909613893738369189839516337736333122262106726789921164842559823354768071230199847458081636610875645075354561652113062885303116170764826895086481120624682266234629516434947139964945772648970124045781921332531969668876974915532459277083205910997888344867500466587209640550021933989531624815451537097490157280637115325074673449300487377578719808370140960229356057004778351403178121772188464331024266893426025338553504906695637434163790233165159604894237651588706656848061181541505808996786446446094081425983928763651 21386653941844942940222987386966556882891384495885651022813021672528701122954168149006950378446229585666278992666949470959917407344639179014513634201874293983520813638170185397021022380209915113127989874966769551164309633809824108426280870717427941854668571717286213688674837040251146380390548037713553462667561143359673162075428491078247835022768176389829068974065651571104291601234446983685593663283724175567582595553275052029548877741748781757257668149427925569093435923284868257074525810622164089280874290866630933623053132324054218070772031803881747290554365362051273574438974477607815163241583564421997993424150883737786679818802775631293489792184130414328927223615356226202721067804922528825429914650692012625121169928990286478015939872832487029456367064372803827959226301410885893402678027391228175427860599637884699160294710065810871309528771238681483889348021063528844108278578849131500994283820114867498983156162564491653344484583609253032673713415486057111858876802146293925009033479308495918272391690292341987221343324037343113644198098003980472559775732463694969180877774324501337094311116654895457457747591649340148279840490365398494702174184267865245468905079006378791544973416881984841168244779762890767239907676947582794105976353036427631326381055584938691271231752669965471581315245489565268203641795394036229529574615760979485832570406549708999727245821363991011709200129982170921857715790545764923973004840153136518321512818390601632970370448995444758439143694962637080931226759508990185264160110380972670825104773282173514042239407198800812173431667462845683384237926944699622870412815080200703062243355607063401362400958057794253414266636159955324910515600034249313498641729845721397576489784178533369293683221980473343286172154303782297824539818154343937350036821858237020294040400592901011132465682384306539985698456414991245085059477337166700687334038041557442552233271924305037009535617497056716400928797996488985902391954961848884211220998320340336646145848946488716442106627503903469592428493146183187013449719446953634190569846537261520784972676375646104523169620037212993623075111026453405477876988528211757256108257518531513564331246282965053431345672909428421125706818076401544292751658439983455442609909972280650649825314916560346351630233927603051892845153029938797186187840108380501904695617711633945518178477924122769683899982557410892230343289046457713435382700049185039796308568909893878909028925059008649085845392091406311824933920681749529773505392552968256371650456363594669064694836814671573920272650465217228967696838986489489097779472989060708849166167084431840393669424844391213005397656013242278107984607828585987251328473205830886887063393509909061350603374259870735438331955476535871267772037268408598069336854346933557760723588520424118932999654710080905973064872642150398052807564652059157510044372539033778262329169534346571395232711044295908310279648746397659699310660806556020943426802376505988083960796360070440171301468757710025175705346149160765104443223766016550798114555089467177580384657278469671670831881695598868748871283206140444532627126809431818901304763842409305128426294512901597074797161777709501787217531928611012123288976127258777161374892943986506926617344358879204576222461437785401512164812026405531839279627737319275452611419091456848015977045412796937371864686599215392494730699971372509594840700936820498 34604332983537034714525288044369840355191487027295431584562240380860118693339496294191457843209209189166407316377974607558902211119339998141428103839076967415842895929878477162108700149995114188715455274058912366765606872632023822276776340720109287711330093572538776679485452686153318111592342681507685031292550926545374191291370801966245224185703309608419938944137320977735949579471532688915254050762237786552929294574818281505052709511084579732701808470572725900905274271842380577338724089927832300824962603069140405283870349013492826145808986321371116461852652614531762312921016299450171915456161759309478615462474530514020129586237842722555529992800058705934465645772356628870873682793677815384823683380565759161253909938250205591987677432319565938361341091139250312212575003119425215224004501938713426476403789650202824178497798565096673371629270795724229448965316121073961406104851877667392978277685206332836159397106441108818613834185247598991277854551627329541072154230074219186643092756408231110153924430288825890068728187323240379114635142305278383141833123812699814439639590166492584528329820848635734391568067148430515756177942694293043726994524381640130223071622345287618926096819877519092584532980797066211649802208442737904041980799359710298694622632483065201924148546615263357705907210840005002486179685749267899222589042791258485384163537259479198405218925880184869873467323970225222214333160025724646865801923420597906988434967236083082074515974962559757073123320287555516012826982689633407683986945812675725801833155973570777810575775109085854974033390558100553437661421655212745583737260961353327202882846898861868586121723295404328723539005100349110611635293157787914147055089090622600232852313328830408017112899371827235546671105703572629625966267183568013613007226880023328988199835187190453475184703955674673891134311316725642694615658874497559668925615642239697299801079563941190217566967553191112963438893594314721466079087499659173026613151216505264110463824169468227288851151502876460108414460510718720276214018691769990184199772151123534642501939967324800220190871119828697447027601829798730012066025940337000153496948991860874279368228536109693062838216468999597883958411628639360949724574417291766100078640542062070073156841314252004431895837080278319712458711119447565600097726635897204899519087066551698304567288944555953371676277228498246581579807673491917914633608584557241941808332774739849536095474228891604128426390514563621964079104298947815131985449311085918422690557020380022569699432867933061562519422993407025056807268790587277817098795469211798527231153168295224403289096451690415615753016981158852279787349108745975501564252975846729919617025447910445478882919576272065455304219684696625132329585434186808486936284493486143924781019407417922217908576946439736732790752670517207015546297607706595888948696880988785159125271443960465133601900883812246046612771008504386489231825649115844298194873606705835542042432970946085246656030409823088061008462319925591999529704886641233064349184605902124720349603051118641794877663616931400718540160181055976991904210015342816789649631342875892338066844534835586606421977229246599277374812565726337197962425427746154740094701314127467155973401363657555979400583209973865843189078919831557177833132644014912886775209324622007620871283064385644028712747780756898303727486417818603676266684865584149 55990986925381977654748275431336397238082871523181082607375262053388819816293664443198408221655438774832686309044924078518819618463979177155941738040951261399363709568048662559129722530205029301843445149025681917929916506441847930703057211437537229565998665289824990368160289726404464491982890719221238493960112069905047353366799293044493059208471485998249007918202972548840241180705979672600847714045961962120511890128093333534601587252833361489959476620000651469998710195127248834413249900549996390105836893935771338906923481337547044216581018125252863752407017976583035887359990777057987078697745323731476608886625414251806809405040618353849019784984189120263392869387712855073594750598600344210253598031257771786375079867240492070003617305152052967817708155512054140171801304530311108626682529329941601904264389288087523338792508630907544681158042034405713338313337184602805514383430726798893972561505321200335142553269005600471958318768856852023951567967113386652931031032220513111652126235716727028426316120581167877290071511360583492758833240309258855701608856276394783620517364490993921622640937503531191849315658797770664036018433059691538429168708649505375691976701351666410471070236759503933752777760559956978889709885390320698147957152396137930021003688068003893195380299285228829287222456329570270689821481143304128752163658552237971216733943809188198132464747244175881582667453952396144072048950571489570838806763573734425309947785626684715044886423958004515512267015250192596944053742198623592948147056193648396626937929255744291852815182307886667147465058020946236821899348599912368454150076041554030265126202505925269948522681353198582137805641260304435522150893192037227645696818936343997809342097507363777310796121352300578832843260007354927450506085337911950963044048738260349282240235780091464607650386339981213876832767731716887779675136211664260356259653683797139852034351488246227227102585050247829364367691590803707368471042461508057237834149536845600756609673115956943730957779006779929700842953656901907289663738138723624374769618688385055427474616342970904743360491157041691070102712856252135489943014468548757409605206510392387843699474819074746494183889378428019009665229705040905242476232857275221542688550514342720722982156230812350783526071007881371605303864149386362786285566744277706804214704778185643822745766868678723055576259785909138811923096719949631350016308633742281738116901684633728445124399287900253214271782605969933789013024980697344905490841864054174794341013383974691634394269682604635482792073458624254024504107777076766914878268458272507376397320252727064796958521296081628621150672994401130387771956937331962752892726181677616806680418957819506829486293836142800893636175161232496400101622702595406556273138840419701685504607927842041150908231656520642705855625312667605068353862259765753398993069420022563421454440978307036528834611928108154356892419754902046188542486455671865241621675983211823626003229331016525417957499167533113236713808469086357103972928652657783862463739695369302300734260329588313465709545312530269467411443387196421524531336824774635690954395185285197466493139047737183681219139006956101064592344494337349321251401555004931901469594258113974082590745722536760555623044647759267355353890946237089017112760381334188339386628416078855636848328477182581400577434379972290798458186389191113271107385802404647 90595319908919012369273563475706237593274358550476514191937502434248938509633160737389866064864647963999093625422898686077721829583319175297369841880028228815206605497927139721238422680200143490558900423084594284695523379073871752979833552157646517277328758862363767047645742412557782603575233400728923525252662996450421544658170095010738283394174795606668946862340293526576190760177512361516101764808199748673441184702911615039654296763917941222661285090573377370903984466969629411751973990477828690930799497004911744190793830351039870362390004446623980214259670591114798200281007076508158994153907083040955224349099944765826938991278461076404549777784247826197858515160069483944468433392278159595077281411823530947628989805490697661991294737471618906179049246651304452384376307649736323850687031268655028380668178938290347517290307196004218052787312830129942787278653305676766920488282604466286950839190527533171301950375446709290572152954104451015229422518740716194003185262294732298295218992124958138580240550869993767358799698683823871873468382614537238843441980089094598060156954657486506150970758352166926240883725946201179792196375753984582156163233031145505915048323696954029397167056637023026337310741357023190539512093833058602189937951755848228715626320551069095119528845900492186993129667169575273176001166892572027974752701343496456600897481068667396537683673124360751456134777922621366286382110597214217704608686994332332298382752862767797119402398920564272585390335537748112956880724888257000632134002006324122428771085229315069663390957416972522121498448579046790259560770255125114037887337002907357468009049404787138534644404648602910861344646360653546133786186349825141792751908026966598042194410836194185327909020724127814379514365710927557076472352521479964576051275618283678270440070967281918082835090295655887767967079048442530474290795086161820025185269326036837151835431052187417444669552603438942327806585185118428834550129961167230264447300753350864867073497285425171019808930509656389809257414167620627565877756830493614558969390839508590069976556310295704963551362276870388517130314686050865502009040408885757563102155502253262123067703355184439557022105847427616893623641333680266192200807274566987642767191056404790796138997545064355215421908088159691317762575268833928386383293380174911703733791844737342127313055813234676427252537014407385393502904393441549264649917218299523679925234459373577981219873516791857342698173120533555753092129279645160037476291175140093217031570404354714204093702550537697045311496452031279081311376567664044731977063927484305903628473421022289200247617747772044236903689975559982667559306046077938254456979157524346726297444405729952308369213412414866348940394845929121532431208136782215043209423333905845610285627335259963368816808602960379438646377983184812083900159867472349287941766301011348580579712422267501662436512811920400403505190763406432677774312104787709539816549589917659168045662301962610664613529577356201297722270789011949103502633539299016926812924301271427021083863380706955260587208929461670185951603568252398516435546840117452480604026528161089804559983582572770287641116236202700341967157060063686519213826982751086641564295572241441238564147086194316535023627857733133198542969866068646194945893025349101226161837740700863257719611541568225429290182160729189102185672807009716947374070667988796 146586306834300990024021838907042634831357230073657596799312764487637758325926825180588274286520086738831779934467822764596541448047298352453311579920979490214570315065975802280368145210405172792402345572110276202625439885515719683682890763595183746843327424152188757415806032138962247095558124119950162019212775066355468898024969388055231342602646281604917954780543266075416431940883492034116949478854161710793953074831004948574255884016751302712620761710574028840902694662096878246165223891027825081036636390940683083097717311688586914578971022571876843966666688567697834087640997853566146072851652406772431833235725359017633748396319079430253569562768436946461251384547782339018063183990878503805330879443081302734004069672731189731994912042623671873996757402163358592556177612180047432477369560598596630284932568226377870856082815826911762733945354864535656125591990490279572434871713331265180923400695848733506444503644452309762530471722961303039180990485854102846934216294515245409947345227841685167006556671451161644648871210044407364632301622923796094545050836365489381680674319148480427773611695855698118090199384743971843828214808813676120585331941680650881607025025048620439868237293396526960090088501916980169429221979223379300337895104151986158736630008619072988314909145185721016280352123499145543865822648035876156726916359895734427817631424877855594670148420368536633038802231875017510358431061168703788543415450568066757608330538489452512164288822878568788097657350787940709900934467086880593580281058199972519055709014485059361516206139724859189268963506599993027081460118855037482492037413044461387733135251910712408483167086001801492999150287620957981655937079541862369438448726963310595851536508343557962638705142076428393212357625718282484526978437859391915539095324356544027552680306747373382690485476635637101644799846780159418253965931297826080381444923009833977003869782540433644671772137653686771692174276775922136203021172422675287502281450290196465623683170401382114750766709516436319510100367824522534855541494969217238933739009527893645497451172653266609706911853433912079587233027542303000991952054877434514972707362012645649966767178174259186051205995225855635903288871038721171434677040131842209185455741570747511519121153775876705998947979096041062923066439418220291172668860124452618507948496622922985950058822681913399482828796800316524205426001113391180614666225852041805418042136144007306426344272804692110556969955726503489542105154260342504942967133039194268011372583788329405838487972233142332528103569910655533105815484344740811646855332385756813280025793673749353997206139043853672858054362969961113055331262983409901007349705339201963532977863363549459137855507248557667242576570007161617932532830839377621599482562174325547295790235263102004519725040259481022144502003295852417152254022127238102686934835721033912002034153400574538191271124740028554760397610518308478866316798560459574781438225573129482794048891632979136082571028744889314534436079258098306207475562191956800789276663996640729321818123710295268726296754241991939653363046955448820040966883664892088171558421713446287271053122630309953968860255243158801406559501554401035840465228537756018543033889830355415321154892808731077090646672505492400553896860812305735212058653406683289565548466156779718894567940018750806829867616540701479900643859196200830218481456470393443 237181626743220002393295402382748872424631588624134110991250266921886696835559985917978140351384734702830873559890721450674263277630617527750681421801007719029776920563902942001606567890605316282961245995194870487320963264589591436662724315752830264120656183014552524463451774551520029699133357520679085544465438062805890442683139483065969625996821077211586901642883559601992622701061004395633051243662361459467394259533916563613910180780669243935282046801147406211806679129066507657917197881505653771967435887945594827288511142039626784941361027018500824180926359158812632287922004930074305067005559489813387057584825303783460687387597540506658119340552684772659109899707851822962531617383156663400408160854904833681633059478221887393986206780095290780175806648814663044940553919829783756328056591867251658665600747164668218373373123022915980786732667694665598912870643795956339355359995935731467874239886376266677746454019899019053102624677065754054410413004594819040937401556809977708242564219966643305586797222321155412007670908728231236505770005538333333388492816454583979740831273805966933924582454207865044331083110690173023620411184567660702741495174711796387522073348745574469265404350033549986427399243274003359968734073056437902527833055907834387452256329170142083434437991086213203273481790668720817041823814928448184701669061239230884418528905946522991207832093492897384494937009797638876644813171765918006248024137562399089906713291352220309283691221799133060683047686325688822857815191975137594212415060206296641484480099714374431179597097141831711390461955179039817341020889110162596529924750047368745201144301315499547017811490650404403860494933981611527789723265891687511231200634990277193893730919179752147966614162800556207591871991429210041603450790380871880115146599974827705823120377714655300773320566931292989412766925828601948728256726383987900406630192335870814155705213592621062116441690257125714019980861961040565037571302383842517766728751043547330490756667686807285770575640026092709319357781992143162421419251799710853492708400367402235567427728963562314670463215710782468104363342228353866493961095286320272535809517514898912089834881529443625608228101073283252796912512372401437626877847406409196828222932627152302315260151320941061214369887184200754240829014687054219559052153504627530211682288467660328077371878495148075910081333814723909598928905506832729879316143070341329097967370603380884407564146321483967899668128847037045295197283539987664980443424214334361228404154192684120042581674783680029573415066362686812187126860912404856378832396313241119183654267094771643197453756791625717094958052945521095722890569029487839261806684496726310259275307769279411446224720660972533591516964853090739464964038976159836642691985508231392906075862598361967888541848862441401583148381279037229236154181994710451974876602022045260582613865822842039853707637551948955163902801281714911544091110665247284321254775163047141962094553934941746747184558322245515832158350047110255310978195731255817716089588297912156342901987091002223986883963171453609839314650523701218557402430505009540652162448241607377075613106212882724256501371479361501748526658614464722359679055520507105184598185402596856559719039894925393625670300363225533752439830678374381407004546432032390791710303897480582152287551560319032259157798701430669002829532003210547165855527138382239 383767933577520992417317241289791507255988818697791707790563031409524455161486811098566414637904821441662653494358544215270804725677915880203993001721987209244347235629878744281974713101010489075363591567305146689946403150105311120345615079348014010963983607166741281879257806690482276794691481640629247563678213129161359340708108871121200968599467358816504856423426825677409054641944496429750000722516523170261347334364921512188166064797420546647902808511721435052709373791163385904082421772533478853004072278886277910386228453728213699520332049590377668147593047726510466375563002783640451139857211896585818890820550662801094435783916619936911688903321121719120361284255634161980594801374035167205739040297986136415637129150953077125981118822718962654172564050978021637496731532009831188805426152465848288950533315391046089229455938849827743520678022559201255038462634286235911790231709266996648797640582225000184190957664351328815633096400027057093591403490448921887871617851325223118189909447808328472593353893772317056656542118772638601138071628462129427933543652820073361421505592954447361698194150063563162421282495434144867448625993381336823326827116392447269129098373794194909133641643430076946517487745190983529397956052279817202865728160059820546188886337789215071749347136271934219553833914167866360907646462964324341428585421134965312236160330824378585877980513861434017533739241672656387003244232934621794791439588130465847515043829841672821447980044677701848780705037113629532758749659062018187792696118406269160540189114199433792695803236866690900659425461779032844422481007965200079021962163091830132934279553226211955500978576652205896859645221602569509445660345433549880669649361953587789745267427523310110605319304876984600804229617147492526130429228240263795654241924331371733375800684462028683463806043566930091057566772608761366982222657681813980788075115345704791159574996133054706788213827910812485712155138736962701240592474806517805269010201333743796114439838088189400521342349542529028829458149816665697276960746768928092426447409895295881064878901616828924377375069144694547691596369770656867485913150163754787508516879527544562056602059703702811659434096299138888700201383411122609061554887538251406013678674197899813834381305096817767213317866280241817163895454105274510731721013629080148719630785090583314027430701177061475392910130615040433804354906620223910493982368922383134516009506747388190833908419126176078456638084573540534837302437800330169923410557253528629239776737981013525881069647016822362101518636273342345292942345257145668025687728698997932463680060768520997194659895835479389953012415915482208778221832012897740269156389835928273792253171132828870584080227909530200834093534860252357397496869815537458242174547682556940201866097861463972408266889121922423727650384574889646388408204121948554661811437743079172584648019223416578044978762291977509924300411800023390410407909225706859102693000736176624756143445567920882829755587067134830366594429305208561518453757923212618505366252294552885664720110801297492713180717413445549492677697479150038598369314169901628823720869955053664346666228843192678225361626722520303155086160168865758200144284058263123727632075232952271880873932703656470716316972868717934306336691490680116619063199838715680357258770054260301046855491579069839089025415242132148903473391199411377384336983608775682 620949560320740994810612643672540379680620407321925818781813298331411151997046797016544554989289556144493527054249265665945068003308533407954674423522994928274124156193781686283581280991615805358324837562500017177267366414694902557008339395100844275084639790181293806342709581242002306493824839161308333108143651191967249783391248354187170594596288436028091758066310385279401677343005500825383051966178884629728741593898838075802076245578089790583184855312868841264516052920229893561999619654039132624971508166831872737674739595767840484461693076608878492328519406885323098663485007713714756206862771386399205948405375966584555123171514160443569808243873806491779471183963485984943126418757191830606147201152890970097270188629174964519967325602814253434348370699792684682437285451839614945133482744333099947616134062555714307602829061872743724307410690253866853951333278082192251145591705202728116671880468601266861937411684250347868735721077092811148001816495043740928809019408135200826432473667774971778180151116093472468664213027500869837643841634000462761322036469274657341162336866760414295622776604271428206752365606124317891069037177948997526068322291104243656651171722539769378399045993463626932944886988464986889366690125336255105393561215967654933641142666959357155183785127358147422827315704836587177949470277892772526130254482374196196654689236770901577085812607354331402028676251470295263648057404700539801039463725692864937421757121193893130731671266476834909463752723439318355616564851037155782005111178612565802024669213913808223875400334008522612049887416958072661763501897075362675551886913139198878135423854541711502518790067302610300720140155584181037235383611325237391900849996943864983638998346703062258571933467677540808396101608576702567733880018621135675769388524306199439198921062176683984237126610498223080470333698437363315710479384065801881194705307681575605315280209725675768904655518167938199732136000698003266278163777190360323035738952377291126605196505774996686291917989568621738148815931808808859698379998568638945919155810262698116632306630580391239047838284855477015795959711999010733979874245450075060044326397042443474146436941233146437267662197372422141497113895783524046688432734944660602841901606825052116149641456417758828427687753464442571404724468792328730290773167133707678931313073558243642104802579672209551302991464429764343403283812127056640373298511992724463613976877350769075241472565447660046356306213420577580132499721340317834903853981467862990468180892173697645923651321800502391674933702636029157480069206169550524404520125012239051647334327863292640392113652627105107047970468861003304501112401042385579530963074332654584051528478902108282030304948570502734425610499713343096862460908791697294884866533190788333107941960459825940296808737984363825310798765853926875624562386116659006636688039765124433167261885046258617898686399843926465088203213081738301954499019890954143423947775899223766718237999502862629576940145389380346198752779352318816829431953654468436221455840592465042007622097892299716700064680584899159331992348002851257155771744674911169475883318196661041422279335056075402481862998201881804903612818783330480559823339578770228912230260635549128440592972598581864341987273231943468058776522169054498026067746270748071148969073951740883199143043139388871348183213943562817906302923202621924550192510747157921 1004717493898261987227929884962331886936609226019717526572376329740935607158533608115110969627194377586156180548607809881215872728986449288158667425244982137518471391823660430565555994092626294433688429129805163867213769564800213677353954474448858286048623397348035088221967387932484583288516320801937580671821864321128609124099357225308371563195755794844596614489737210956810731984949997255133052688695407799990088928263759587990242310375510337231087663824590276317225426711393279466082041426572611477975580445718150648060968049496054183982025126199256160476112454611833565039048010497355207346719983282985024839225926629385649558955430780380481497147194928210899832468219120146923721220131226997811886241450877106512907317780128041645948444425533216088520934750770706319934016983849446133938908896798948236566667377946760396832285000722571467828088712813068108989795912368428162935823414469724765469521050826267046128369348601676684368817477119868241593219985492662816680637259460423944622383115583300250773505009865789525320755146273508438781913262462592189255580122094730702583842459714861657320970754334991369173648101558462758517663171330334349395149407496690925780270096333964287532687636893703879462374733655970418764646177616072308259289376027475479830029004748572226933132263630081642381149619004453538857116740857096867558839903509161508890849567595280162963793121215765419562415493142951650651301637635161595830903313823330784936800951035565952179651311154536758244457760552947888375314510099173969797807297018834962564858328113242016571203570875213512709312878737105506185982905040562754573849076231029011069703407767923458019768643954816197579785377186750546681043956758787272570499358897452773384265774226372369177252772554525409200331225724195093864309246861399471423630448637571172574721746638712667700932654065153171527900471046124682692702041747615861982780423027280396474855205858730475692869346078750685444291139434965967518756251996878128304749153711034922719636343863186086813260339111150766978274081625474556975340745337567038345603220157993997697185532197220163425213354000171563487556081769667601465787395613829847552843276569988036203039000936849248927096293671561030197315279194646655749987622482912008855580281022951929984022761514576595641005619744684388568619922897603241022494180762787827650943858648826956132233280849271026695901595044804777207638718747280550867280880915107598129986384098157266075380984573836124812944297994118114969802159140648004827264538721391619707957630154711171804720968817324753776452338909371502773011551426696192430207853711236984111014388631813637586773548462584497000982884776485513279334233055283319800119464168582857843781650034937152614385176480032935259704034573595454259957778607234753127041080873345273309808058321289912705075627106286249038449150428816522012970590238607561298499477508203605751909904269675195943665162135903975012503624881761692364906929116661002526640776635400391474381445070783512406695732456515176565347208657527378347885711577681054726822092887017927672342208693597209413245397998344708824670045482001295754141058844812798299604188151714705768945563899268080707224624924402108058698978952196238759967623637033352639862335868501400321466905302238335058304246100661402365113213659734614645130946109463751506227844006001184245998534718458710437208629185694966809776314402033301934529494355933603 1625667054219002982038542528634872266617229633341643345354189628072346759155580405131655524616483933730649707602857075547160940732294982696113341848767977065792595548017442116849137275084242099792013266692305181044481135979495116234362293869549702561133263187529328894564676969174486889782341159963245913779965515513095858907490605579495542157792044230872688372556047596236212409327955498080516104654874292429718830522162597663792318555953600127814272519137459117581741479631623173028081661080611744102947088612550023385735707645263894668443718202808134652804631861497156663702533018211069963553582754669384230787631302595970204682126944940824051305391068734702679303652182606131866847638888418828418033442603768076610177506409303006165915770028347469522869305450563391002371302435689061079072391641132048184182801440502474704435114062595315192135499403066934962941129190450620414081415119672452882141401519427533908065781032852024553104538554212679389595036480536403745489656667595624771054856783358272028953656125959261993984968173774378276425754896463054950577616591369388043746179326475275952943747358606419575926013707682780649586700349279331875463471698600934582431441818873733665931733630357330812407261722120957308131336302952327413652850591995130413471171671707929382116917390988229065208465323841040716806587018749869393689094385883357705545538804366181740049605728570096821591091744613246914299359042335701396870367039516195722358558072229459082911322577631371667708210483992266243991879361136329751802918475631400764589527542027050240446603904883736124759200295695178167949484802115925430125735989370227889205127262309634960538558711257426498299925532770931583916427568084024664471349355841317757023264120929434627749186240232066217596432834300897661598189265482535147193018972943770611773642808815396651938059264563376251998234169483487998403181425813417743177485730708856001790135415584406244597524864246688885176427140132969233796920029187238451340488106088326049324832849638182773105178328679772505127090013434283416673720743906205984264759030420692114329492162777611402473051638855648579283515793768678335445661641063904907597169673612431510349475942169995686194758491043983171694429174978170702438420357427572611697481887848004046133664217932335424068693373209126959973344391689931971313267347896495506582256932207070598237035860521480577998893059474569120610922530874337191240579392907832061743963261448926341316853550021496171169250511414695695102301880480965839731118520189254610176138522328408817728372290617827145451386041545400660253080757596246716834727978723476035758348716495106277978887201089689604048953353637488817780446634097668899331082538501237441895310128937045434644690125050535669685314534286938551122418687398932048011907614064133606417750018781115853001884365090650074349247916282743397637532976355266567935187517273328038919171789315933813842351561979830440100706837963499994319405949007615145950588552534624158192619444573646141983635877845895522764099988009846195177317665232149490948277933479482969679964306585896926113310078583243868156662393484852552909912803519723967775487506348375747191224898955343483189087623126283912962311797735526719319790963215803581552092596504050528762059877900820199400291519332604870423889735828789112671198692380211822655196917957742067445141577857847581785391843129257784716079237604655226484722005103091524 2630384548117264969266472413597204153553838859361360871926565957813282366314114013246766494243678311316805888151464885428376813461281431984272009274012959203311066939841102547414693269176868394225701695822110344911694905544295329911716248343998560847181886584877363982786644357106971473070857480765183494451787379834224468031589962804803913720987800025717284987045784807193023141312905495335649157343569700229708919450426357251782560866329110465045360182962049393898966906343016452494163702507184355580922669058268174033796675694759948852425743329007390813280744316108990228741581028708425170900302737952369255626857229225355854241082375721204532802538263662913579136120401726278790568859019645826229919684054645183123084824189431047811864214453880685611390240201334097322305319419538507213011300537930996420749468818449235101267399063317886659963588115880003071930925102819048577017238534142177647610922570253800954194150381453701237473356031332547631188256466029066562170293927056048715677239898941572279727161135825051519305723320047886715207668158925647139833196713464118746330021786190137610264718112941410945099661809241243408104363520609666224858621106097625508211711915207697953464421267251034691869636455776927726895982480568399721912139968022605893301200676456501609050049654618310707589614942845494255663703759606966261247934289392519214436388371961461903013398849785862241153507237756198564950660679970862992701270353339526507295359023265025035090973888785908425952668244545214132367193871235503721600725772650235727154385870140292257017807475758949637468513174432283674135467707156488184699585065601256900274830670077558418558327355212242695879710909957682130597471524842811937041848714738770530407529895155806996926439012786591626796764060025092755462498512343934618616649421581341784348364555454109319638991918628529423526134640529612681095883467561033605160266153736136398264990621443136720290394210325439570620718279567935201315676281184116579645237259799360972044469193501368859918438667790923272105364095059757973649061489243773022610362250578686112026677694974831565898264992855820142771071875538345936911449036677734755150012950182419546552514943106844935121854784715544201891744454172817358188407979910484620553062168870955976117686979446912019709698992953811348541964314587535212335761528659283334233200790855897554369269141370751604694794654519373897818561249621617742107860273822939659873949645547083607392234534595332295982194809408813810072104039621613844558383058910646229884096152483119989533093259435151899227838380454772163026092309022942909264935832434713019869363105126919915565660749552274101049936238413974331059780867152952219131202002669820299739091778971982587259075301530568604945018568860534005382376466006166801138948694937478879727558077102405765706959992196936323387697066711559919650503566593874129233686994781531644671081693585609009786016724115734415113210462845261686684312878124276148477229329170024549667000889644429654390331610302410699329447196667373573525203376809830545675100026366500897352306515279494135526555476581588576981332438966853848664053862364536766075091694500090452960170462854611563896312248050686021021010776687722958079758586852836934191954932372551929083526783203058534458595765433266272789002949488523727316329638489675574161424761963743251691140112576306292222600472314952751525855552006688528419251499459025127 4256051602336267951305014942232076420171068492703004217280755585885629125469694418378422018860162245047455595754321960975537754193576414680385351122780936269103662487858544664263830544261110494017714962514415525956176041523790446146078542213548263408315149772406692877351321326281458362853198640728429408231752895347320326939080568384299455878779844256589973359601832403429235550640860993416165261998443992659427749972588954915574879422282710592859632702099508511480708385974639625522245363587796099683869757670818197419532383340023843520869461531815525466085376177606146892444114046919495134453885492621753486414488531821326058923209320662028584107929332397616258439772584332410657416497908064654647953126658413259733262330598734053977779984482228155134259545651897488324676621855227568292083692179063044604932270258951709805702513125913201852099087518946938034872054293269668991098653653814630529752324089681334862259931414305725790577894585545227020783292946565470307659950594651673486732096682299844308680817261784313513290691493822264991633423055388702090410813304833506790076201112665413563208465471547830521025675516924024057691063869888998100322092804698560090643153734081431619396154897608365504276898177897885035027318783520727135564990560017736306772372348164430991166967045606539772798080266686534972470290778356835654937028675275876919981927176327643643063004578355959062744598982369445479250019722306564389571637392855722229653917095494484118002296466417280093660878728537480376359073232371833473403644248281636491743913412167342497464411380642685762227713470127461842084952509272413614825321054971484789479957932387193379096886066469669194179636442728613714513899092926836601513198070580088287430794016085241624675625253018657844393196894325990417060687777826469765809668394525112396122007364269505971577051183191905675524368810013100679499064893374451348337751884444992400055126037027542964887919074572128455797145419700904435112596310371355030985725365887687021369302043139551633023616996470695777232454108494041390322782233149979006875121280999378226356169857752442968371316631711468722054587669307024272357110677741639662747182623794851056901990885276840621316613275759527373586173629150988060626828337338057232250544056718960022251351197379247443778392366162938308515308706277467183649028876555778840815457723062968152606305001892232182693687713993943018429483780495954933348439666730771721617912906996009948709088084616828467151445320823509505174405920102579684289501579099900840060234674811528807261465550052979044679224422000172823279173066619189626099663811158189055627711821622026193544547950641963705098889592051463148840227501250621118462284541171057741634401907909028021903765426581104274630333103147472556504795153405098849150856309001612486145308095883521618708844357287586397736944982994303317288036542949140697168874512054859683590253482901542823628368286095564855213917300808761681003718827131891294427817881704648707859620334218075796373967488148306222093547184677219768702521042041980036623377959845983867032270821865391061639865555164832445137994832451706401573966665884260733850579200848466200151395361809955047085399871176969933983322574423249677399549550068640515744047528876602457845586661103878733858887284765871143212892685317312839987528330869887396816621679921485319136281690434153874007992315444210536241934789611343754903973504562116651 6886436150453532920571487355829280573724907352064365089207321543698911491783808431625188513103840556364261483905786846403914567654857846664657360396793895472414729427699647211678523813437978888243416658336525870867870947068085776057794790557546824255497036357284056860137965683388429835924056121493612902683540275181544794970670531189103369599767644282307258346647617210622258691953766488751814419342013692889136669423015312167357440288611821057904992885061557905379675292317656078016409066094980455264792426729086371453329059034783792373295204860822916279366120493715137121185695075627920305354188230574122742041345761046681913164291696383233116910467596060529837575892986058689447985356927710480877872810713058442856347154788165101789644198936108840745649785853231585646981941274766075505094992716994041025681739077400944906969912189231088512062675634826941106802979396088717568115892187956808177363246659935135816454081795759427028051250616877774651971549412594536869830244521707722202409336581241416588407978397609365032596414813870151706841091214314349230244010018297625536406222898855551173473183584489241466125337326165267465795427390498664325180713910796185598854865649289129572860576164859400196146534633674812761923301264089126857477130528040342200073573024620932600217016700224850480387695209532029228133994537963801916184962964668396134418315548289105546076403428141821303898106220125644044200680402277427382272907746195248736949276118759509153093270355203188519613546973082694508726267103607337195004370020931872218898299282307634754482218856401635399696226644559745516220420216428901799524906120572741689754788602464751797655213421681911890059347352686295845111370617769648538555046785318858817838323911241048621602064265805249471189960954351083172523186290170404384426317816106454180470371919723615291216043101820435099050503450542713360594948360935484953498018038181128798320116658470679685178313284897568026417863699268839636428272591555471610630962625687047993413771236640920492942055664261619049337818203553799363971843722393752029485483531578064338382847552727274534269581624567288864825659544845370209268559714419374417897195573977270603454505828383685556438468060475071575477918083323805418815236317248541852803606225589915998369038176826159463488091359116749657057273020865002395984790405215062175048658513918865706975574143262983787388482368513316916248045030117572675456299940553711381491862552543093556101322619212160763133640130232323315246509959724193528847884638010547069944330827294648796794558809488130943907062802454944986305265375642132535364599643592902075497074926748946109110208700194237806148825830465437479900008368403573337593486543840878041373493686881010609162840728111672879575351672008006561887171619411265650289805003939091365872866172985927384415804349484522721124642049705863236938540109543014826402561506836391328261335176487151833414385010211299270327127763654023367688031705256167442905047210874673257526621223862505450764299098450716921422994381344593342227724418851810582298477986212484764384577337144885197166421031746421022119327271418560250238020528248797499925670895348556653111565824664566610981712119227655955004333351110972635479308136921477449936002461249154386929113444306937268317483050199137416001895634805836567303857969359562970978046441885228570827421803010460166230592787759163287767790341618032283323225004021141778 11142487752789800871876502298061356993895975844767369306488077129584540617253502850003610531964002801411717079660108807379452321848434261345042711519574831741518391915558191875942354357699089382261131620850941396824046988591876222203873332771095087663812186129690749737489287009669888198777254762222042310915293170528865121909751099573402825478547488538897231706249449614051494242594627482167979681340457685548564419395604267082932319710894531650764625587161066416860383678292295703538654429682776554948662184399904568872861442374807635894164666392638441745451496671321284013629809122547415439808073723195876228455834292868007972087501017045261701018396928458146096015665570391100105401854835775135525825937371471702589609485386899155767424183418336995879909331505129073971658563129993643797178684896057085630614009336352654712672425315144290364161763153773879141675033689358386559214545841771438707115570749616470678714013210065152818629145202423001672754842359160007177490195116359395689141433263541260897088795659393678545887106307692416698474514269703051320654823323131132326482424011520964736681649056037071987151012843089291523486491260387662425502806715494745689498019383370561192256731062467765700423432811572697796950620047609853993042121088058078506845945372785363591383983745831390253185775476218564200604285316320637571121991639944273054400242724616749189139408006497780366642705202495089523450700124583991771844545139050970966603193214253993271095566821620468613274425701620174885085340335979170668408014269213508710642212694474977251946630237044321161923940114687207358305372725701315414350227175544226479234746534851945176752099488151581084238983795414909559625269710696485140068244855898947105269117927326290246277689518823907315583157848677073589583874067996874150235986210631566576592379283993121262793094285012340774574872260555814040094013254309936301835769922626121198375242695498222650066232359469696482215009118969744071540868901926826641616687991574735014783073279780472125965672660732314826570272312047840754294625955543731036360604812577442564739017410479717502640898256278757586880247214152394481625670392161014080644378197772121660356496713660526177755081336234598949064091712474793479442064654586599085054150282308876020620389374205406907266483725279687965572581727142469579633819281770841015864116236981833859581879145155215970082170082507259934677528810613527608804739607284483103109775459539103504810410703828989230285085451055832820420915879826773213137386217110447910004565502106177604056024359541109988586287224455117809584438442261322161464263454751091131124786748370972302654756650836201511247715422516900628740235869654194456055771085011935783007895594790038631066606154692777154205684775155479118391966772816364499440661312940703852018174268869449003124648706772109118861587032700166554226576652492155523571436018891251011851588659388694657042753296306864125541045064462785048691750532388058737332865092579321965386241558080581247138266586599023143516541566021813110930245460893790618921855946058468631416848159010276258806286586911253467257322103870266651811987194133058233776250096197022853262961186474521658067111990404625888987655925534222312878857686990117965680049990125756844774700105410816002176370334965008559214788320123149407291386300229450367794668121806713889963703493444614040238585103203373824009725131229376038227198508583258429 18028923903243333792447989653890637567620883196831734395695398673283452109037311281628799045067843357775978563565895653783366889503292108009700071916368727213933121343257839087620878171137068270504548279187467267691917935659961998261668123328641911919309222486974806597627252693058318034701310883715655213598833445710409916880421630762506195078315132821204490052897066824673752934548393970919794100682471378437701088818619579250289759999506352708669618472222624322240058970609951781555063495777757010213454611128990940326190501409591428267459871253461358024817617165036421134815504198175335745162261953769998970497180053914689885251792713428494817928864524518675933591558556449789553387211763485616403698748084530145445956640175064257557068382354445836625559117358360659618640504404759719302273677613051126656295748413753599619642337504375378876224438788600820248478013085447104127330438029728246884478817409551606495168095005824579846680395819300776324726391771754544047320439638067117891550769844782677485496774057003043578483521121562568405315605484017400550898833341428757862888646910376515910154832640526313453276350169254558989281918650886326750683520626290931288352885032659690765117307227327165896569967445247510558873921311698980850519251616098420706919518397406296191601000446056240733573470685750593428738279854284439487306954604612669188818558272905854735215811434639601670540811422620733567651380526861419154117452885246219703552469333013502424188837176823657132887972674702869393811607439586507863412384290145380929540511976782612006428849093445956561620166759246952874525792942130217213875133296116968168989535137316696974407312909833492974298331148101205404736640328466133678623291641217805923107441838567338867879753784629156786773118803028156762107060358167278534662304026738020757062751203716736554009137386832775873625375711098527400688961615245421255333787960807249996695359353968902335244545644367264508632872818238583707969141493482298252247650617261783008196844516421392618907728324993933875908090515601640118266469677937483065846088344155506903121864963206992036910479880846046451705906758997764690894230106580388498541573771749392263811002542044211734193549396709670524542009795798598898257300971835140937857756507898792018989427551031566370754575084396437622629854748007471975618609686985903190912774750900699566557453288418199757470652451020576850925573840731100284261039547838194484601638012082197060911733323041149993418725581288156135667425839550966741985270855120994979948896329400826400850583169029240932493350026910062795889703817903454696828863098343993206621861675119918411764965351030439317396541252982338108640244238057767793649257628852813824381389281671049240229446882804450033781036447163485680279138392227630149730466316879795217891040441855376387540453056256631839986229082406029791165116762035170349973997525727642340112923835875846490457138306518163395868172828116808416379782237644226180237912303453995222912862781943086697902565685049740064939535947366406453157969879745601201220333932270953395801425496155161455972707618657674489376649375288826902050007722381855733701920991545579506374527011139088269048824109632281843991989276645194948358165823911595415616052451374911231703813549717753270493853385164145975216683954928985974595244269589013338772714563691942460791125296455074206469177890962537111777515472847408321550423512604400207 29171411656033134664324491951951994561516859041599103702183475802867992726290814131632409577031846159187695643226004461162819211351726369354742783435943558955451513258816030963563232528836157652765679900038408664515964924251838220465541456099736999583121408616665556335116539702728206233478565645937697524514126616239275038790172730335909020556862621360101721759146516438725247177143021453087773782022929063986265508214223846333222079710400884359434244059383690739100442648902247485093717925460533565162116795528895509199051943784399064161624537646099799770269113836357705148445313320722751184970335676965875198953014346782697857339293730473756518947261452976822029607224126840889658789066599260751929524685456001848035566125561963413324492565772782832505468448863489733590299067534753363099452362509108212286909757750106254332314762819519669240386201942374699390153046774805490686544983871499685591594388159168077173882108215889732665309541021723777997481234130914551224810634754426513580692203108323938382585569716396722124370627429254985103790119753720451871553656664559890189371070921897480646836481696563385440427363012343850512768409911273989176186327341785676977850904416030251957374038289794931596993400256820208355824541359308834843561372704156499213765463770191659782984984191887630986759246161969157629342565170605077058428946244556942243218800997522603924355219441137382037183516625115823091102080651445410925961998024297190670155662547267495695284403998444125746162398376323044278896947775565678531820398559358889640182724671257589258375479330490277723544106873934160232831165667831532628225360471661194648224281672168642151159412397985074058537314943516114964361910039162618818691536497116753028376559765893629114157443303453064102356276651705230351690934426164152684898290237369587333655130487709857816802231671845116648200247971654341440782974869555357557169557883433371195070602049467124985310778003836960990847881937208327779510010395409124893864338608836518022979917796201864744873400985726248702478362827649480872561095633481214102206693156732949467860882373686709539551378137124804038586153973150159172519900498741402579185951969521513924167499255704737911948630732944269473606101508273392377699365626421740022911906790207668039609816925236973278021058809676125588202436475149941555252428968756744206776890987882533426139332433573415727552822533527836785603102651344627893065779155122677587711413471621300565722144026870139223703811032343988956088341719377739955122657072231442889953461831507004004906607528570350921079637251365180605474142260164776858293126553095084337746648423490890714419722001866640828644256675499238737380480107711962249705028713864749607389284876461087871296053037497227187986721222318964798671105165043994649171127629820499069909214710724825390665101763028740958847816115106196345391693414527325873545433544618893351964512495264541147499891602825027521409217892579593465071532770032284917570777396033317188299104340023667945040832271648763208456077513388219564088215340639391820142189878329422027218273655165437714778994205568927956633971479159093553861994916514913967478171087742602359637488197613609927115936100036907732979645202179417261237023510901713381296102441500668076478513655128569272670223720129154534431472275052135381886630569818463706567382685498656350754828789899688246707762994165910935787240604076784359777622021187658636 47200335559276468456772481605842632129137742238430838097878874476151444835328125413261208622099689516963674206791900114946186100855018477364442855352312286169384634602073870051184110699973225923270228179225875932207882859911800218727209579428378911502430631103640362932743792395786524268179876529653352738112960061949684955670594361098415215635177754181306211812043583263399000111691415424007567882705400442423966597032843425583511839709907237068103862531606315061340501619512199266648781421238290575375571406657886449525242445193990492429084408899561157795086731001394126283260817518898086930132597630735874169450194400697387742591086443902251336876125977495497963198782683290679212176278362746368333223433540531993481522765737027670881560948127228669131027566221850393208939571939513082401726040122159338943205506163859853951957100323895048116610640730975519638631059860252594813875421901227932476073205568719683669050203221714312511989936841024554322207625902669095272131074392493631472242972953106615868082343773399765702854148550817553509105725237737852422452490005988648052259717832273996556991314337089698893703713181598409502050328562160315926869847968076608266203789448689942722491345517122097493563367702067718914698462671007815694080624320254919920684982167597955974585984637943871720332716847719751058080845024889516545735900849169611432037359270428458659571030875776983707724328047736556658753461178306830080079450909543410373708131880280998119473241175267782879050371051025913672708555215152186395232782849504270569723236648040201264804328423936234285164273633181113107356958609961749842100493767778162817213816809485339125566725307818567032835646091617320369098550367628752497314828138334558951484001604460967982037197088082220889129395454733387113797994784331431219560594264107608090717881691426594370811369058677892521825623682752868841471936484800778812503345844240621191765961403436027320555323648204225499480754755446911487479151888891423146111989226098301031176762312623257363781129310720182578386453343251120990827565311418697168052781500888456370982747336893701576461858017970850490292060732147923863414130605321791077727525741270906187978501797748949646142180129653939998148111304071991275956666598256880960769663298106460058599244476268539648775633894072563210832291223157413530871038655742647397689665738783232992696785721991615485023474984548413636528676492075728177326818702960872072313051483703497626633877349911289217122536613632145091755767558928706697107927927352437869902358160907830405757190697599591853572987278275243401363846078068231555121989651439077544368510098610809126184687352897080146040797928481576846020724345769730043354286342717563431770674158132137111525499920301677221767757669482450478950243557271624798901593946700294287800255152580201778205554819285372798834045197512226136556810176562496223519431070346535692077436331140387637957029909343190917277390720696401881451315007676511097808689699487312411211967121966754642943397956698503273395613460754626017246185220384993021362523810600375423019699151320599170751701824226602446010620854447920455912002638896769701180092079288181866012015208752698196164760209669189576971634478824612209595189334813308796912154892875579308182327204846322543164077105293300509648156229981121356481874839407477045340097249190598811545954086354762453176940885128448047564756076924192681328045533792058843 76371747215309603121096973557794626690654601280029941800062350279019437561618939544893618199131535676151369850017904576109005312206744846719185638788255845124836147860889901014747343228809383576035908079264284596723847784163638439192751035528115911085552039720305919267860332098514730501658442175591050262627086678188959994460767091434324236192040375541407933571190099702124247288834436877095341664728329506410232105247067271916733919420308121427538106590990005800440944268414446751742499346698824140537688202186781958724294388978389556590708946545660957565355844837751831431706130839620838115102933307701749368403208747480085599930380174376007855823387430472319992806006810131568870965344962007120262748118996533841517088891298991084206053513900011501636496015085340126799238639474266445501178402631267551230115263913966108284271863143414717356996842673350219028784106635058085500420405772727618067667593727887760842932311437604045177299477862748332319688860033583646496941709146920145052935176061430554250667913489796487827224775980072538612895844991458304294006146670548538241630788754171477203827796033653084334131076193942260014818738473434305103056175309862285244054693864720194679865383806917029090556767958887927270523004030316650537641997024411419134450445937789615757570968829831502707091963009688908687423410195494593604164847093726553675256160267951062583926250316914365744907844672852379749855541829752241006041448933840601043863794427548493814757645173711908625212769427348957951605502990717864927053181408863160209905961319297790523179807754426512008708380507115273340188124277793282470325854239439357465438098481653981276726137705803641091372961035133435333460460406791371316006364635451311979860561370354597096194640391535284991485672106438617465488929210495583904458884501477195424373012179136452187613600730523009170025871654407210282254911354356136369672903727673992386836563452903152305866101652041186490328636692655239266989162284300548039976327834934819054156680108825122108654530296446431280864816170900601863388660944899911270259474657621405838843629710580411116013236155095654528878214705298083035934031104063193656913477710792420112146001053453687558090810862598209471754212812345383653656032224678620983681570088314128098209061401505512926796692703748688799034727698307355086123467624499391604466556726665766418836118155565031212576297518076250422131779143420356070392597858083549660024464955324798192356021376781428440826347645976134047844109278306446652230584999583880759855819992414834410663798226169942774652624529640424006837988338233008413415116204534161882115158522101699840604409354763720974685054603980815583401204453481692293059315056582313039159959034593224982821552957798904409754478891801415277621348722315619448072721576520793357709469863305027168870656582314113757681861312618422481948503591089822097064864614965429044041948826404928785456921512168218438686608613275995346522847777708796015379467095520629599511071461990422587984230228347266481851690974142845581334400561024384841504713688929797450237972806486036885530696029795530402644592333607014009773997555411683668658263167030784225649503406366308123280696309706097309951279681004029470832212845715022178208257334376247384660840859974891815834300825422455044079628505033256738368505409225940751907479934689255162300782876254450699884703879294358983351996681000977041105667554979717479 123572082774586071577869455163637258819792343518460779897941224755170882396947064958154826821231225193115044056809804691055191413061763324083628494140568131294220782462963771065931453928782609499306136258490160528931730644075438657919960614956494822587982670823946282200604124494301254769838318705244403000740046740138644950131361452532739451827218129722714145383233682965523247400525852301102909547433729948834198702279910697500245759130215358495641969122596320861781445887926646018391280767937114715913259608844668408249536834172380049019793355445222115360442575839145957714966948358518925045235530938437623537853403148177473342521466618278259192699513407967817956004789493422248083141623324753488595971552537065834998611657036018755087614462027240170767523581307190520008178211413779527902904442753426890173320770077825962236228963467309765473607483404325738667415166495310680314295827673955550543740799296607444511982514659318357689289414703772886641896485936252741769072783539413776525178149014537170118750257263196253530078924530890092122001570229196156716458636676537186293890506586445473760819110370742783227834789375540669516869067035594621029926023277938893510258483313410137402356729324039126584120135660955646185221466701324466231722621344666339055135428105387571732156953467775374427424679857408659745504255220384110149900747942896165107293519538379521243497281192691349452632172720588936408609003008059071086120899843384011417571926307829491934230886348979691504263140478374871624314058205870051322285964258367430779629197967337991787984136178362746293872654140296386447545082887755032312426348007217520282651915291139320402292863013622208124208607126750755702559010774420123813321192773785870931344562974815565078231837479617505880615067561172004579286923994827015124019478765584803515090893870563046558424969789200901691851495337160079123726847839156915182176249571914613578602524856339179626421425300245411989809391448102150754468314173191971186088317061033120085333442421448379472435659607166613859251269514151722854216226256318608438312256158509862209826377047474112692475094173066505019170275437446006899348161709384984734641003452063326300124502851202637204232990992252149469902324116417374929612698822935501944451233386420588156808305877774052575572326597821252009867018921464768616994506280242039002156222465448999411532903877556646697599772502624664058660455635496084247719416561044421732337516439028295818989898726692717657948884259608279139599876837235153349338512926936318629758178153322664816420988923769534628225611807915667408201834416301239968537105855973239426483668620712508966789096707660801120725852532462392429421928799251422336413601399299876470930633192725362094347052878100581631522236561283865756571592279587244246974315523221087645509725015885228947076211401599486556515906510130648618505313767652318320584295685311964736119385157545316423413951421511409355963999333972397227974162785385307113188156795007942010723038583957177230927628185045769755247304434897471598580585781409377862867237499530172873257671957806636056282397854022132848655213188054934465686000194308453369838355246318966091661518615119006319445456519375286886922914159828641680427402180528330975120412227251826692843168064821214358998377930715755553727784735014378094850380248633417797247577183879853973846736962609213153061644764422807030916752757925169722433713088771776322 199943829989895674698966428721431885510446944798490721698003575034190319958566004503048445020362760869266413906827709267164196725268508170802814132928823976419056930323853672080678797157591993075342044337754445125655578428239077097112711650484610733673534710544252201468464456592815985271496760880835453263367133418327604944592128543967063688019258505264122078954423782667647494689360289178198251212162059455244430807526977969416979678550523479923180075713586326662222390156341092770133780114635938856450947811031450366973831223150769605610502301990883072925798420676897789146673079198139763160338464246139372906256611895657558942451846792654267048522900838440137948810796303553816954106968286760608858719671533599676515700548335009839293667975927251672404019596392530646807416850888045973404082845384694441403436033991792070520500826610724482830604326077675957696199273130368765814716233446683168611408393024495205354914826096922402866588892566521218961585345969836388266014492686333921578113325075967724369418170752992741357303700510962630734897415220654461010464783347085724535521295340616950964646906404395867561965865569482929531687805509028926132982198587801178754313177178130332082222113130956155674676903619843573455744470731641116769364618369077758189585874043177187489727922297606877134516642867097568432927665415878703754065595036622718782549679806330583827423531509605715197540017393441316158464544837811312092162348777224612461435720735377985748988531522691600129475909905723829575919561196587916249339145667230590989535159286635782311163943932789258302581034647411659787733207165548314782752202246656877748090013772793301679019000719425849215581568161884191036019471181211495129327557409237182911205124345170162174426477871152790872100739667610622044775853205322599028478363267061998939463906049699498746038570519723910861877366991567289405981759193513051551849153299588605965439088309242331932287526952286598480138028140757390021457476457492519226064644895967939139490122530273501581090189903613045140116085685052324717604887201218519708571730816131268048670006758054523808488330328162159548048490142744089935282192813448178391554481162855746412270503904656324762323801854850358941656536928762758583268731047614122928132803474734716255017367279279565502369019301569940808901746619772123703117973904741430606622779192114765830369022033121677910176070020700914480792234778916440318112014419127971392361981394353094011345920103474146098775231905584413187443986115541600001569097926520199389613998145737499227084787149939477402878236337556091415039822754534248381952222060507401308598827142814208807393506062424522095410907136443208012823133252733114629472916455882189510090592227318587077168605835899486041276715453085281034192941001902863695047037099741881003219194879190256115946867983913600314197767822749071100453817358742140417649160300277393780161333983950245208870872933679627794650607947248392574497010563094103128567623890528571610234110045947599818911858413393036237098995409040317179914986342433762704371951188459970323495644764292672941813093883817663251299805521661948475459997749720137038496618413349750317311022021485314442726152829081384196874193840832671151259615026243353153328669561628074077504008924796106174832678756138210597807413240047634833218885657859358549155057118569109136147519838863663852946348643717166014268749438926146763539380643751493801 323515912764481746276835883885069144330239288316951501595944799789361202355513069461203271841593986062381457963637513958219388138330271494886442627069392107713277712786817443146610251086374602574648180596244605654587309072314515755032672265441105556261517381368198483669068581087117240041335079586079856264107180158466249894723489996499803139846476634986836224337657465633170742089886141479301160759595789404078629509806888666917225437680738838418822044836182647524003836044267738788525060882573053572364207419876118775223368057323149654630295657436105188286240996516043746861640027556658688205573995184576996444110015043835032284973313410932526241222414246407955904815585796976065037248591611514097454691224070665511514312205371028594381282437954491843171543177699721166815595062301825501306987288138121331576756804069618032756729790078034248304211809482001696363614439625679446129012061120638719155149192321102649866897340756240760555878307270294105603481831906089130035087276225747698103291474090504894488168428016188994887382625041852722856898985449850617726923420023622910829411801927062424725466016775138650789800654945023599048556872544623547162908221865740072264571660491540469484578842454995282258797039280799219640965937432965583001087239713744097244721302148564759221884875765382251561941322724506228178431920636262813903966342979518883889843199344710105070920812702297064650172190114030252567073547845870383178283248620608623879007647043207477683219417871671291633739050384098701200233619402457967571625109925598021769164357253973774099148080111152004596453688787708046235278290053303347095178550253874398030741929063932622081311863733048057339790175288634946738578481955631618942648750183023053842549687319985727252658315350770296752715807228782626624062777200149614152497842032646802454554799920262545304463540308924812553728862328727368529708607032669966734025402871503219544041613165581511558708952252532010469947419588859540775925790630684490412152961957001059224823564951721881053525849510779658999367355199204047571821113457537128146883986974641130258496383805528636500963424501228664567218765580190096834630354522833163126195484614919072712395006755858961966556792847102508411558861045180133512881429870549624872584036861155304411825673157053618077941345899391192818768765541236892320112480184983469608779001657563765241901925910678324607775842523325578539452690414412524565831430980172393124699497833381389830335818830166863756724116165192692327043862952776753350907610853456518019372176299060164043505776073709012031103848145471758823241657170835488350489327916480640735082495763526717774182602770085323216136759668905600442245062051984536965886517855182065981021225420043949171515658714000067672798952014369146790764533281490107942021352622962968648728919895075485063023079385513086870713674332879719718959131126394458738233455985589358516280719141495561632284824355191037150614607281220789802471173348479410241755780685536513620957148629904777049839486598438805992346299843937788778495572123843140567239188687990143196753316722099308998095491737839796099955018709716882941145997944028590408334973659668716408972540636604320762171609348456671083797108000661312831687017206771684128449081788879900770347176989617320533831056686853966151535197975062012928069265906492776346402634302448963109994256801472877006007993408139973045185502196851316485973093732523270123 523459742754377420975802312606501029840686233115442223293948374823551522314079073964251716861956746931647871870465223225383584863598779665689256759998216084132334643110671115227289048243966595649990224933999050780242887500553592852145383915925716289935052091912450685137533037679933225312831840466915309527474313576793854839315618540466866827865735140250958303292081248300818236779246430657499411971757848859323060317333866636334205116231262318342002120549768974186226226200608831558658840997208992428815155230907569142197199280473919260240797959426988261212039417192941536008313106754798451365912459430716369350366626939492591227425160203586793289745315084848093853626382100529881991355559898274706313410895604265188030012753706038433674950413881743515575562774092251813623011913189871474711070133522815772980192838061410103277230616688758731134816135559677654059813712756048211943728294567321887766557585345597855221812166853163163422467199836815324565067177875925518301101768912081619681404799166472618857586598769181736244686325552815353591796400670505078737388203370708635364933097267679375690112923179534518351766520514506528580244678053652473295890420453541251018884837669670801566800955585951437933473942900642793096710408164606699770451858082821855434307176191741946711612798062989128696457965591603796611359586052141517658031938016141602672392879151040688898344344211902779847712207507471568725538092683681695270445597397833236340443367778585463432207949394362891763214960289822530776153180599045883820964255592828612758699516540609556410312024043941262899034723435119706023011497218851661877930752500531275778831942836725923760330864452473906555371743450519137774597953136843114071976307592260236753754811665155889427084793221923087624816546896393248668838630405472213180976205299708801394018705969962044050502110828648723415606229320294657935690366226183018285874556171091825509480701474823843490996479204818608950085447729616930797383267088177009638217606852968998364313687481995382634616039414392704139483440884256372289426000658755647855455717790772398307166390563583160309451754829390824115267255722934186769912547336281341517749965777774819124665510660515286728880594701952867353215397973942892096150160918163747800716840335890020666843040436333183580310365200961133627670512161009016023230454089724900215401780849678531072270947943800002517951912544026493020244925193328964883943445399300364517061479227734483841681738933641009855499348070777105514487849068318353352476708779976717408986174444797663270590563223648489433982084483027850238281479925369736732441549976988042043681322906340926581576108832509845311547666805348808455068195304717651595359434311064255491111817647362536248684264549899553714075667467454427824957474283392971637068389722704849651948114774265741178969947369426687184911442155628790819412948485136599155882616285866752296442053125445806841155697288870664945265215228469182376968183911573513370323404576065085231191258675852376868751345011831842229445295252978105958410558466276903271611139876450113520248961486391981939908585621657459351254824231378831416605995693748727446831592073018466726283562658089635204897762177538055280671301841493983982946632233015037281777751350507974847851185914413426708663735442992176749342611215109647761288151564352134895557691421018072246141776640336540858954342051857139059454251635777463249512474376274763924 846975655518859167252638196491570174170925521432393724889893174612912724669592143425454988703550732994029329834102737183602973001929051160575699387067608191845612355897488558373899299330341198224638405530243656434830196572868108607178056181366821846196569473280649168806601618767050465354166920052995165791581493735260104734039108536966669967712211775237794527629738713933988978869132572136800572731353638263401689827140755303251430553912001156760824165385951621710230062244876570347183901879782046001179362650783687917420567337797068914871093616863093449498280413708985282869953134311457139571486454615293365794476641983327623512398473614519319530967729331256049758441967897505947028604151509788803768102119674930699544324959077067028056232851836235358747105951791972980438606975491696976018057421660937104556949642131028136033960406766792979439027945041679350423428152381727658072740355687960606921706777666700505088709507609403923978345507107109430168549009782014648336189045137829317784696273256977513345755026785370731132068950594668076448695386120355696464311623394331546194344899194741800415578939954673169141567175459530127628801550598276020458798642319281323283456498161211271051379798040946720192270982181442012737676345597572282771539097796565952679028478340306705933497673828371380258399288316110024789791506688404331561998280995660486562236078495750793969265156914199844497884397621501821292611640529552078448728846018441860219451014821792941115427367266034183396954010673921231976386800001503851392589365518426634527863873794583330509460104155093267495488412222827752258289787272155008973109302754405673809573871900658545841642728185521963895161918739154084513176435092474733014625057775283290596304498985141616679743108572693384377532354125175875292901407605621827333474047332355603848573505890224589354965651137573535969335091649022026465398973258852985019899959042595045053522314640405355049705431457350619420032867318476471573309057718861500050370568809970057589137252433717263688141888925172363138850796083460419861247114116292776002339704765413528565662774369111796810415179330619488682486021303124283604542901859114504643945450392693891837060517416374248695437387549055375764774259019123025609031590788713372673300877197045325078668713593386801658251711100352326446439277702245908343342934274708369824180782507242296314172873854478327125727755067352071559697615607741489449774876379472757641760977061115873672017557763807873612223464235969797841531712021095106703384319633433235428358350743857827314096339297357501465085932628499609061523137096205225082930877893468682778763818669867644355758711602595168527684426474254408897313257356702188561245952166246321472133043067406485420199923263899621386874619481823574615722007564883079579089742345667818300677034669341226241993026754939774055625116488508510538372079611531057894116072271456110812722772266941368473440521644061702095879822509689972179439357260052923612079185261601598852148407305757153918590831610270648221791595096915894736906130590120043838850328564440256717002278208491290938004077359497255451209842941095714357751993637777317855166565732687183135256103294693955967069371525994726364468409842155296814633649439786721410226833139387875618198362904030747242494792129846142900877809190171660689357417470844911241960325723467035356136033441809417864962335459997112104639753832628779735485568108798034047 1370435398273236588228440509098071204011611754547835948183841549436464246983671217389706705565507479925677201704567960408986557865527830826264956147065824275977946999008159673601188347574307793874628630464242707215073084073421701459323440097292538136131621565193099853944134656446983690666998760519910475319055807312053959573354727077433536795577946915488752830921819962234807215648379002794299984703111487122724750144474621939585635670143263475102826285935720595896456288445485401905842742876991038429994517881691257059617766618270988175111891576290081710710319830901926818878266241066255590937398914046009735144843268922820214739823633818106112820713044416104143612068349998035829019959711408063510081513015279195887574337712783105461731183265717978874322668725884224794061618888681568450729127555183752877537142480192438239311191023455551710573844080601357004483241865137775870016468650255282494688264363012298360310521674462567087400812706943924754733616187657940166637290814049910937466101072423450132203341625554552467376755276147483430040491786790860775201699826765040181559277996462421176105691863134207687493333695974036656209046228651928493754689062772822574302341335830882072618180753626898158125744925082084805834386753762178982541990955879387808113335654532048652645110471891360508954857253907713821401151092740545849220030219011802089234628957646791482867609501126102624345596605128973390018149733213233773719174443416275096559894382600378404547635316660397075160168970963743762752539980600549735213553621111255247286563390335192886919772128199034530394523135657947458281301284491006670851040055254936949588405814737384469601973592637995870450533662189673222287774388229317847086601365367543527350059310650297506106827901794616472002348901021569123961740038011094040514450252632064405242592211860186633405467761966222259384941320969316684401089339485036003305774515213686870563003016115229198540701910662169228370118315048093402370692324807038509688588175662939055953450939915712646322757928339565067278334236967716792150673114775048423857795422556185926872829164932694957119866934160010312797753277026058470374455449195395846161695416170468710961726028076889535424317982251008243117989656993065917705181751706877120474017717532935345745511754029719985238562076301313460074109789863254924366573388364433270039582563356920827386443821798278329643679667611378564579942540801070454333718321778773122158822456288850357513699296697448883467722812306746903356019561089413460055861028413409952837344525188655490584686902521005990899068017111527459299804617021574961815372427870456724822445141576208570937334820435105013839232093279603217352381452661419840156605386477310576963244860714769021668884187813799175100950286949278002440679481848276051216158132068372667952625149443606967420962974124366461240536558644137301357785028096667657049998688557322863109164825392387175314596218932932367041145037738159154556407541171626436982402589837666684083339665981609530787342176622102490451236890349894000695316689056396947110461468440890370237251239694883272877912662981154714802464667172474545774357989331526045301998157805705649861539665952783591171967133703532781645139711683649280797580281672801758692004584489895850466049548818444173951158527572838319650220420405281308450645569035197046137518017144485107602277810082145958723916677511854251164094005468406242984998042485072797971 2217411053792095755481078705589641378182537275980229673073734724049376971653263360815161694269058212919706531538670697592589530867456881986840655534133432467823559354905648231975087646904648992099267035994486363649903280646289810066501496278659359982328191038473749022750736275214034156021165680572905641110637301047314064307393835614400206763290158690726547358551558676168796194517511574931100557434465125386126439971615377242837066224055264631863650451321672217606686350690361972253026644756773084431173880532474944977038333956068057089982985193153175160208600244610912101748219375377712730508885368661303100939319910906147838252222107432625432351680773747360193370510317895541776048563862917852313849615134954126587118662671860172489787416117554214233069774677676197774500225864173265426747184976844689982094092122323466375345151430222344690012872025643036354906670017519503528089209005943243101609971140678998865399231182071971011379158214051034184902165197439954814973479859187740255250797345680427645549096652339923198508824226742151506489187172911216471666011450159371727753622895657162976521270803088880856634900871433566783837847779250204514213487705092103897585797833992093343669560551667844878318015907263526818572063099359751265313530053675953760792364132872355358578608145719731889213256542223823846190942599428950180782028500007462575796865036142542276836874658040302468843481002750475211310761373742785852167903289434716956779345397422171345663062683926431258557122981637664994728926780602053586606142986629681881814427264129776217429232232354127797890011547880775210539591071763161679824149358009342623397979686638043015443616320823517834345695580928827306800950823321792580101226423142826817946363809635439122786571010367309856379881255146744999254641445616715867847924299964420009091165717750411222760433413103795795354276412618338710866488312743888988325674474256281915616525330755634553590407342119519847790151182366569873944001382525900009738958744472909113542588192349429910010899817264737430417185033051177212011920228891341199860135127321599455438491939301806753930282113490629801480239298329182753978998351054510350805640866563162602798786545493263784119755369800063618882763916012188943314213342495590493147318594729980670824180467623106786896813787401665786520549067565500832709916322639141639863763345864163123700616695652756656769407422678730636139640156408811943783493198158245879800583433349966231185716854461256757079946276542716701197551273110508566759245348046843188265702875932513317898783241818363492364153949740027068361327754117780186898303305763925407601208960246076215293093532037700182366916519753857626249694710018122028717851338643556898435377903782175507089084111077698796487824906431101577056401489413159130795247874414040486253302184112948193662956000879306235296161675132645811896157107708198714944114760828778973921887597659328543788036740576994069137024860247849126735846898431679360594481775099268282935488073287366684705933008232373138673028485446809895432222819646516990949311797005330626954253517903374563815916740340651970253674510113570260132109982969303363157164723538392832996795769247477547139036505229527508009608121525804577612213931112588480102231417629283726084247911722474921193653319702684462551098229595452969140002986506041957379478342867952142958413843523955376588879012971851363268733759301035022720483610593870832018 3587846452065332343709519214687712582194149030528065621257576273485841218636934578204868399834565692845383733243238658001576088732984712813105611681199256743801506353913807905576275994478956785973895666458729070864976364719711511525824936375951898118459812603666848876694870931661017846688164441092816116429693108359368023880748562691833743558868105606215300189473378638403603410165890577725400542137576612508851190116089999182422701894198528106966476737257392813503142639135847374158869387633764122861168398414166202036656100574339045265094876769443256870918920075512838920626485616443968321446284282707312836084163179828968052992045741250731545172393818163464336982578667893577605068523574325915823931128150233322474693000384643277951518599383272193107392443403560422568561844752854833877476312532028442859631234602515904614656342453677896400586716106244393359389911882657279398105677656198525596298235503691297225709752856534538098779970920994958939635781385097894981610770673237651192716898418103877777752438277894475665885579502889634936529678959702077246867711276924411909312900892119584152626962666223088544128234567407603440046894007902133007968176767864926471888139169822975416287741305294743036443760832345611624406449853121930247855521009555341568905699787404404011223718617611092398168113796131537667592093692169496030002058719019264665031493993789333759704484159166405093189077607879448601328911106956019625887077732850992053339239780022549750210698000586828333717291952601408757481466761202603321819696607740937129100990654464969104349004360553162328284534683538722668820892356254168350675189413264279572986385501375427485045589913461513704796229243118500529088725211551110427187827788510370345296423120285736628893398912161926328382230156168314123216381483627809908362374552596484414333757929610597856165901175070018054739217733587655395267577652228924991631448989469968786179528346870863752131109252781689076160269497414663276314693707332938519427546920135848169496039132265142556333657745604302497695519270018894004162593343666389623717930549877785382311321104234501711050149047650640114277992575355241224353453800249906196967336282733631313760512573570153319544073352051071862000753573005254861019395094202467613621336312262916016569692221652826772135375863702979246594658857428755757076489711003574909903345909221083951087060517451034986413087090290109200719582697209882398117211519937019001959405889638816588699416151158705640547669088849463604553570834199922026815106376460253141103047401121168808483470144339369483263221966851554527661132371139355148713675733634382132423654101822284786230428352472805196206148613033460843602076162679541868874456725120867475398622764496944528757968298891497971588775193380379579497080971261435182011406006482413154205927333556555161083918975003672696536698233776783113253942135804866371994113449386101837031052423051715719102632959509926436178169897986008281292254439603305797576884364936934967018827739268976215493275184854475629124265375796703896127539508702913938059773265446220997191504757598257836693829403321806685056139177286044805906467972300829408459162881344098482858335435200261138311003638933060289654747833209453858409794212785390238794236002119179576550297460540919095144811847275522782201318650000734277590648555541239003516996360012437250560691653606101335312795690483705614432827764769441265705481653078943629989 5805257505857428099190597920277353960376686306508295294331310997535218190290197939020030094103623905765090264781909355594165619600441594799946267215332689211625065708819456137551363641383605778073162702453215434514879645366001321592326432654611258100788003642140597899445607206875052002709330121665721757540330409406682088188142398306233950322158264296941847548024937314572399604683402152656501099572041737894977630087705376425259768118253792738830127188579065031109828989826209346411896032390537207292342278946641147013694434530407102355077861962596432031127520320123751022374704991821681051955169651368615937023483090735115891244267848683356977524074591910824530353088985789119381117087437243768137780743285187449061811663056503450441306015500826407340462218081236620343062070617028099304223497508873132841725326724839370990001493883900241090599588131887429714296581900176782926194886662141768697908206644370296091108984038606509110159129135045993124537946582537849796584250532425391447967695763784305423301534930234398864394403729631786443018866132613293718533722727083783637066523787776747129148233469311969400763135438841170223884741787152337522181664472957030369473937003815068759957301856962587914761776739609138442978512952481681513169051063231295329698063920276759369802326763330824287381370338355361513783036291598446210784087219026727240828359029931876036541358817206707562032558610629923812639672480698805478054981022285709010118585177444721095873760684513259592274414934239073752210393541804656908425839594370619010915417918594745321778236592907290126174546231419497879360483428017330030499338771273622196384365188013470500489206234285031539141924824047327835889676034872903007289054211653197163242786929921175751679969922529236184762111411315059122471022929244525776210298852560904423424923647361009078926334588173813850093494146205994106134065964972813979957123463726250701796053677626498305721516594901208923950420679781233150258695089858838529166505664608757283038627324614572466344557562869039928112704303070071216174513572557730823578065677199384837749813043536308464980431161141269915758231873684423978332452151304416547772977149296793916559299119063417103663828721851135480883517489017443804333608436698058106768654906992896687393872689275933559032189651104645033115207924994256589786406033642716549767109255085247074787677213103791643182494512968839836859222853618694341900704718095264881759989322988782819885133005619962397627615365392180305751122107310430593574351724507096329368750277053682126382253386157732975627375916591581596022460125257135335611979039398307540024863062068361001523521884510505378573065132787318469851770872697663897592308063764424373834000668279120035847052409969196768076600099811481156553482460674594312806653880896453640459229517669503354746874975882978931832859908909428925150099243513065086938228210214880810952940020711044262890669700086920505315194758233857408028101338034985158171366140036203249954315812556342900199208193086848767797293861243513791559762328349430929009085062451551624145758275501632400509746143662458655309813687399615066038577955270132771616327604882491315855131204447738685450040144162587797664355954735258436022008143897978718896467419748463302634545372263394016338465166978207244752416879596187246730651542047280960896474702880389393519105497130056711901674703455556977701561524070476288425965263672814462007 9393103957922760442900117134965066542570835337036360915588887271021059408927132517224898493938189598610473998025148013595741708333426307613051878896531945955426572062733264043127639635862562564047058368911944505379856010085712833118151369030563156219247816245807446776140478138536069849397494562758537873970023517766050112068890960998067693881026369903157147737498315952976003014849292730381901641709618350403828820203795375607682470012452320845796603925836457844612971628962056720570765420024301330153510677360807349050350535104746147620172738732039688902046440395636589943001190608265649373401453934075928773107646270564083944236313589934088522696468410074288867335667653682696986185611011569683961711871435420771536504663441146728392824614884098600447854661484797042911623915369882933181699810040901575701356561327355275604657836337578137491186304238131823073686493782834062324300564318340294294206442148061593316818736895141047208939100056040952064173727967635744778195021205663042640684594181888183201053973208128874530279983232521421379548545092315370965401434004008195546379424679896331281775196135535057944891370006248773663931635795054470530149841240821956841362076173638044176245043162257330951205537571954750067384962805603611761024572072786636898603763707681163381026045380941916685549484134486899181375129983767942240786145938045991905859853023721209796245842976373112655221636218509372413968583587654825103942058755136701063457824957467270846084458685100087925991706886840482509691860303007260230245536202111556140016408573059714426127240953460452454459080914958220548181375784271498381174528184537901769370750689388897985534796147746545243938154067165828364978401246424013434476882000163567508539210050206912380573368834691162513144341567483373245687404412872335684572673405157388837758681576971606935092235763243831904832711879793649501401643617201738971588572453196219487975582024497362057852625847682898000110690177195896426573388797191777048594052584744605452534666456879715022678215308473342425808223573088965220337106916224120447295996227077170220061134147770810176030580208791910030036224449039665202685905951554322744740313432030425230319811692633570423207902073902207342884271062022698665353003530900525720389991219255812703963564910928760331167565514807624279709866782423012346862895744646291459670455164306331025874737730554826629595581603258949037578805550828576740017916238032283883719395212627599408584549156778668038175284454241643910304692941510352620389458100967349470471797678174850934865723530497102458890597883443136123683592496396490484325654773032689672448517163890645787753950236983310574779213745820779313453847035377205766466764788885291849232623432776064564605020708860694739665375293191860736050563431936029494818059887378866794665156851226058515830793950886651628369558142686212038404041379317931458932341659600982647983992443762759981993302659596846941493364656219865689320355777638290955748250504973138216973143551825319115692483377941324396921559237040217687687301837052344867068858327897772621337263033099890237203575546984265340365952864685659871945045927570962180075490486226589798713466639647999823761043783095648087319103787944712294431802356683368957690703421867642879184842832804313111483277014253730026953735529596921524321300097588519964413471062892826644079797150736158047214470393939262592134389288839917554131446916751758091996 15198361463780188542090715055242420502947521643544656209920198268556277599217330456244928588041813504375564262807057369189907327933867902412998146111864635167051637771552720180679003277246168342120221071365159939894735655451714154710477801685174414320035819887948044675586085345411121852106824684424259631510353927172732200257033359304301644203184634200098995285523253267548402619532694883038402741281660088298806450291500752032942238130706113584626731114415522875722800618788266066982661452414838537445852956307448496064044969635153249975250600694636120933173960715760340965375895600087330425356623585444544710131129361299199835480581438617445500220543001985113397688756639471816367302698448813452099492614720608220598316326497650178834130630384925007788316879566033663254685985986911032485923307549774708543081888052194646594659330221478378581785892370019252787983075683010845250495450980482062992114648792431889407927720933747556319098229191086945188711674550173594574779271738088434088652289945672488624355508138363273394674386962153207822567411224928664683935156731091979183445948467673078410923429604847027345654505445089943887816377582206808052331505713778987210836013177453112936202345019219918865967314311563888510363475758085293274193623136017932228301827627957922750828372144272740972930854472842260695158166275366388451570233157072719146688212053653085832787201793579820217254194829139296226608256068353630581997039777422410073576410134911991941958219369613347518266121821079556261902253844811917138671375796482175150931826491654459747905477546367742580633627146377718427541859212288828411673866955811523965755115877402368486024002382031576783080078891213156200868077281296916441765936211816764671781996980128088132253338757220398697906452978798432368158427342116861460782972257718293261183605224332616014018570351417645754926206025999643607535709582174552951545695916922470189771635702123860363574142442584106924061110856977129576832083887050615577760558249353362735573293781494287489022772871342382353920927876159036436511620488781851270874061904276555057810947191307118641011011369933179945794456322724089181018358102858739292513290581327219146879110811696987526871730795753342823767788551040142469686611967598583827158646126248709391357437600204693890199755165912269312825074707417268936649301778289008009437564419391578100662414943658618272778076116227788874438028404447271081918620956127548765479384535616382228469682162398630435802899819633824216055815048820783213963809825474445799840547955228533061247976916654835434517973800034717719706052621653625819937633812430997212473380225959006789277472121493815953352278878608097783305617908074869664059072852649716223066624101055184600452073118829891507741975393003341892604045892610623807624713768275320435124386368895561870577668926769630560202418051595640963554140622830996545870569869815863458936932464473804244883972359683767446808559414453723097348457115673276113919616645009341466927459364381662015891691571028173164718853098283731479247064165401775796077943390349324245483021308601522637713321690646723995675766552085274937983623882841094951691818091109081114568597844095738509211083927258235884983459742679970730453810500581347676587170841616106181819388205067707127821742181231937271706152409193108771051951639635800925309945765773216037598902647866214759116145097394819569835950812910393842557412180424572554003 24591465421702948984990832190207487045518356980581017125509085539577337008144462973469827081980003102986038260832205382785649036267294210026050025008396581122478209834285984223806642913108730906167279440277104445274591665537426987828629170715737570539283636133755491451726563483947191701504319247182797505480377444938782312325924320302369338084211004103256143023021569220524405634381987613420304382991278438702635270495296127640624708143158434430423335040251980720335772247750322787553426872439139867599363633668255845114395504739899397595423339426675809835220401111396930908377086208352979798758077519520473483238775631863283779716895028551534022917011412059402265024424293154513353488309460383136061204486156028992134820989938796907226955245269023608236171541050830706166309901356793965667623117590676284244438449379549922199317166559056516072972196608151075861669569465844907574796015298822357286321090940493482724746457828888603528037329247127897252885402517809339352974292943751476729336884127560671825409481346492147924954370194674629202115956317244035649336590735100174729825373147569409692698625740382085290545875451338717551748013377261278582481346954600944052198089351091157112447388181477249817172851883518638577748438563688905035218195208804569126905591335639086131854417525214657658480338607329159876533296259134330692356379095118711052548065077374295629033044769952932872475831047648668640576839656008455685939098532559111137034235092379262788042678054713435444257828707920038771594114147819177368916911998593731290948235064714174174032718499828195035092708061335938975723234996560326792848395140349425735125866566791266471558798529778122027018232958378984565846478527720929876242818211980332180321207030335000512826707591911561211050794546281805613845831754989197145355645662875682098942286801304222949110806114661477659758917905793293108937353199376291923134268370118689677747217726621222421426768290267004924171801034173026003405472684242392626354610834097968188107960238374002511700988179815724779729151449248001656848727405005971718170058131353725277872081339077928817041591578725089975830680771763754383704264054413062037253604013357644377198922504330557950079632869655550166652059613062841135039615498499109547548637345504522095321002511133454221367320680719893592534941489840281283512197522935299469108019583697909126537152674213444902373657719486737912016833955275847821936537194159832649198779748243981637054231319177298473978184273875468126360507990331135834353267926441795270312345633403383996113700447151937893408571683477853843389645118050116304263288585463686884921897389849652577031422358477126528131492624428877096759464943452075430525837641535008072299247533831249165057093827690586247407350686195202628654609324546653302442773655654187229789543220121620386408462877656282188571976194281853001958182002148928004802911529416846106920924908236564226877275019280614388301924070673588786668812893311567069667867149982479683900602916206981131584174948969497561640412335323949166934366002454120663146801718247096866820284341701412874916897237630989336041719416770934809928669810412057131767308577335670913282064483743738332972127710353883972302563530624683024885612857264716634277874263483749061004231037872020239305019195485667298659887938790030295373251737224320889723416828666042681678699798602372806330615491334082161970340101750311396688859097176330645999 39789826885483137527081547245449907548465878624125673335429283808133614607361793429714755670021816607361602523639262751975556364201162112439048171120261216289529847605838704404485646190354899248287500511642264385169327320989141142539106972400911984859319456021703536127312648829358313553611143931607057136990731372111514512582957679606670982287395638303355138308544822488072808253914682496458707124272938527001441720786796879673566946273864548015050066154667503596058572866538588854536088324853978405045216589975704341178440474375052647570673940121311930768394361827157271873752981808440310224114701104965018193369904993162483615197476467168979523137554414044515662713180932626329720791007909196588160697100876637212733137316436447086061085875653948616024488420616864369420995887343704998153546425140450992787520337431744568793976496780534894654758088978170328649652645148855752825291466279304420278435739732925372132674178762636159847135558438214842441597077067982933927753564681839910817989174073233160449764989484855421319628757156827837024683367542172700333271747466192153913271321615242488103622055345229112636200380896428661439564390959468086634812852668379931263034102528544270048649733200697168683140166195082527088111914321774198309411818344822501355207418963597008882682789669487398631411193080171420571691462534500719143926612252191430199236277131027381461820246563532753089730025876787964867185095724362086267936138309981521210610645227291254730000897424326782962523950528999595033496367992631094507588287795075906441880061556368633921938196046195937615726335207713657403265094208849155204522262096160949700880982444193634957582800911809698810098311849592140766714555809017846318008754423797096852103204010463088645080046349131959908957247525080237982004259097106058606138617920593975360125892025636838963129376466079123414685123931792936716473062781550844874679964287041159867518853428745082785000910732851111848232911891150155580237556571293008204115169083451330923681254019868290000723761051158107133650079325407038093360347893787822989044120035630280335683028530385047458052602948658269921625137094487843564722622157271801329766894594684863524078033316027545476951363665408892990419848164102983604726227466097693374707283471753231486678440111338148111567075846632162905360016197257550220161499301224307478545584003089487227199567617872063175151733835714526786454862359723118903855158150287381414678164283860363865523913481575928909781084093509292342416323039151919048317077751916241070152893588631917057361677363806773327926545483512571563095697739703742124200922397894684097395277615808659366308894479970942481483771503036974880065082851526945094584910494184724295365871634886433765509166946520477755149326079198544521258655217157277110067487423929507664913929589017182256986131804425912748774394245877493965512322624979924550673481399232709565857857372710368471761247378964381835110483485127311884017270008984843183587483794991821150828062280588643147475866519997670726359265433607680646181430167855896459224745108596421112303305650302935512630218928277713331717485968856209747912293693253152083459126668444752027850662327839476842183211637612119857286023273304653755339423357846064310865045105099855242823619242939727367126761376717604570366040347983139066425203376860121815033362594439258719277602446468587565446760588728901731806290914660705239246271277600903200002 64381292307186086512072379435657394593984235604706690460938369347710951615506256403184582752001819710347640784471468134761205400468456322465098196128657797412008057440124688628292289103463630154454779951919368830443918986526568130367736143116649555398603092155459027579039212313305505255115463178789854642471108817050296824908881999909040320371606642406611281331566391708597213888296670109879011507264216965704076991282093007314191654417022982445473401194919484316394345114288911642089515197293118272644580223643960186292835979114952045166097279547987740603614762938554202782130068016793290022872778624485491676608680625025767394914371495720513546054565826103917927737605225780843074279317369579724221901587032666204867958306375243993288041120922972224260659961667695075587305788700498963821169542731127277031958786811294490993293663339591410727730285586321404511322214614700660400087481578126777564756830673418854857420636591524763375172887685342739694482479585792273280727857625591387547326058200793832275174470831347569244583127351502466226799323859416735982608338201292328643096694762811897796320681085611197926746256347767378991312404336729365217294199622980875315232191879635427161097121382174418500313018078601165665860352885463103344630013553627070482113010299236095014537207194702056289891531687500580448224758793635049836282991347310141251784342208401677090853291333485685962205856924436633507761935380370541953875236842540632347644880319670517518043575479040218406781779236919633805090482140450271876505199793669637732828296621082808095970914546024132650819043269049596378988329205409481997370657236510375436006849010984901429141599441587820837116544807971125332561034336738776194251572635777429032424411040798089157906753941043521120008042071362043595850090852095255751494263583469657459068178826941061912240182580740601074444041837586229825410415980927136797814232657159849545266071155366305206427679023118116772404712925323181583643029255535400830469779917549299111789214258242292512424749230973831913379230774655039750209075298793794707214178166984005613555109869462976275094194527383359897455817866251597948426886211684863367020498608042507901276955820358103427030996535064443157071907777165824739765842964596802922255920817257753581999442622471602332934396527352056497894957687097831503673696824159606947653603586787396353736720292085508077525391555201264698471696314998966725791695344447214063876944032104345502578144800753227383759268367384760468776831029483054882670345678358036340465239222035301053475377810958711221335117166990425406485342857753858428464210983358370982317175005658311943340316838448069009615264127465851976824547794979020525110748135719732367665119168717682930566260774211064002556676765393747149913264541703930412510261079583694894703472809138802643394594682082194937346370440159346967470504627128852555476392928649555672778782280946932698638522398244996223412407555800900670686082902296410253255350944974300834728665196795624279060041468967168287999677768931629813115796170310017122371546826843517979123589992004348387547116165908702667759205385627144557840963503665209215226435245780422941132726811583215175155339347966003829588586803929336780225036215110780945142919368583604303827850280811747606431780572203271869025928286773169361798455114084442704756779423105301400956302245070960371777376080062983893776631016411016635935130374777233846001 104171119192669224039153926681107302142450114228832363796367653155844566222868049832899338422023636317709243308110730886736761764669618434904146367248919013701537905045963393032777935293818529402742280463561633215613246307515709272906843115517561540257922548177162563706351861142663818808726607110396911779461840189161811337491839679515711302659002280709966419640111214196670022142211352606337718631537155492705518712068889886987758600690887530460523467349586987912452917980827500496625603522147096677689796813619664527471276453490004692736771219669299671372009124765711474655883049825233600246987479729450509869978585618188251010111847962889493069192120240148433590450786158407172795070325278776312382598687909303417601095622811691079349126996576920840285148382284559445008301676044203961974715967871578269819479124243039059787270160120126305382488374564491733160974859763556413225378947857431197843192570406344226990094815354160923222308446123557582136079556653775207208481422307431298365315232274026992724939460316202990564211884508330303251482691401589436315880085667484482556368016378054385899942736430840310562946637244196040430876795296197451852107052291360806578266294408179697209746854582871587183453184273683692753972267207237301654041831898449571837320429262833103897219996864189454921302724767672001019916221328135768980209603599501571451020619339429058552673537897018439051935882801224598374947031104732628221811375152522153558255525546961772248044472903367001369305729765919228838586850133081366384093487588745544174708358177451442017909110592220070266545378476763253782253423414258637201892919332671325136887831455178536386724400353397519647214856657563266099275590145756622512260327059574525884527615051261177802986800290175481028965289596442281577854349949201314357632881504063632819194070852577900875369559046819724489129165769379166541883478762477981672494196944201009412784924584111387991428589755969228620637624816473337163880585826828409034584949001000630035470468278110582513148510282131939047029310100062077843569423192581617696258298202614285949238138399848023733146797476041629819080954960739441513149508368956664696787393202727371425354989136385648903982360200473336147491755941268808344492070430694496296963204289010985068677882733809750444501472373984219403254973884355381723835196125383914426199187589876883580936287909957571252677125390915791484926558674722085629646853494734595478555108315964709368102058282329156293540352460894052811193154068634973930987423430274277410618132810667218110837055174765484549261662650502996969581040597457600552665133381253055079712452621466971309649211318419011491099035630502826856889630646505965619695658629904456663030990803604116696075427720731541757706002844592291671171919758861207522577748503513202559617402398155984900380726486508107686120764686036840932982827252108777106149874327882265238636639653657301170399769777209378058522891040928212554703352911281253436842834739966121985556727477384267426535907988964839014358943202539310459297226338165913581596291935439939091426895642307283900177335094186415999476691354483354305753257196918361298685561914225174968983389139422692017338550985578123686874610077233990535564459572956845256007964473683459546651469523751474973558541948920876439391968634756308428223658490944564519790142017544560120233904691539547937224136668791885625582921931071721875181401652378137046003 168552411499855310551226306116764696736434349833539054257306022503555517838374306236083921174025456028056884092582199021497967165138074757369244563377576811113545962486088081661070224397282159557197060415481002046057165294042277403274579258634211095656525640332621591285391073455969324063842070289186766421932949006212108162400721679424751623030608923116577700971677605905267236030508022716216730138801372458409595703350982894301950255107910512905996868544506472228847263095116412138715118719440214950334377037263624713764112432604956737902868499217287411975623887704265677438013117842026890269860258353936001546587266243214018405026219458610006615246686066252351518188391384188015869349642648356036604500274941969622469053929186935072637168117499893064545808343952254520595607464744702925795885510602705546851437911054333550780563823459717716110218660150813137672297074378257073625466429435557975407949401079763081847515451945685686597481333808900321830562036239567480489209279933022685912641290474820825000113931147550559808795011859832769478282015261006172298488423868776811199464711140866283696263417516451508489692893591963419422189199632926817069401251914341681893498486287815124370843975965046005683766202352284858419832620092700404998671845452076642319433439562069198911757204058891511211194256455172581468140980121770818816492594946811712702804961547830735643526829230504125014141739725661231882708966485103170175686611995062785905900405866632289766088048382407219776087509002838862643677332273531638260598687382415181907536654798534250113880025138244202917364421745812850161241752619668119199263576569181700572894680466163437815865999794985340484331401465534391431836624482495398706511899695351954916952026092059266960893554231219002148973331667804325173704440801296570109127145087533290278262249679518962787609741627560325563573207606965396367293894743405118470308429601360858958050995739477693197856268779087345393042337741796518747523615082363809865054728918549929147259682536352875025573259513105770960408540874717117593778498491375412403472476369598291562793248269311000008240992003424989716536772826991039461576394580641528063807891810769879326631944956743752331013356735537779304563663718434633084257913395291299219219125106268738650677325356281352777435868901336275901149931571453213227508892949543521373852791176664279934673008202043079330202516946117056183398254989721052355438548839181809542432052348069054870680203083082383677299620828278813279969985098118028813657769108632313751083372032702519164312432985724195770596779817493422376066383455211458981129344364611426062029627627125283252989528156867080500714299757968678833714178441484986144806406765624189030696109972321799626641688494942605760262679609986038821085184300565137935088009583096897454320875207294787543775321168590302623467135126196187900453331879237629661626267256531820911415421934604233869038292175454374281935298596729113225389435813577663690098185684940422820285392674179891705595949457932007302358620971470940272413022508475930703967838762283457070550485634311632287724451260095118667235896740110498863594220700583570513911997160005597910116115951005907192493890333544127516463196881163327315789495788067626201150883842267063850479319804563222579990322521124148308417896921529477790022113605029007224546921440649861521190206936610508309001512748854869519359552947482738511116532027155370892004 272723530692524534590380232797871998878884464062371418053673675659400084061242356068983259596049092345766127400692929908234728929807693192273390930626495824815083867532051474693848159691100688959939340879042635261670411601557986676181422374151772635914448188509784154991742934598633142872568677399583678201394789195373919499892561358940462925689611203826544120611788820101937258172719375322554448770338527951115114415419872781289708855798798043366520335894093460141300181075943912635340722241587311628024173850883289241235388886094961430639639718886587083347633012469977152093896167667260490516847738083386511416565851861402269415138067421499499684438806306400785108639177542595188664419967927132348987098962851273040070149551998626151986295114076813904830956726236813965603909140788906887770601478474283816670917035297372610567833983579844021492707034715304870833271934141813486850845377292989173251141971486107308837610267299846609819789779932457903966641592893342687697690702240453984277956522748847817725053391463753550373006896368163072729764706662595608614368509536261293755832727518920669596206153947291819052639530836159459853065994929124268921508304205702488471764780695994821580590830547917592867219386625968551173804887299937706652713677350526214156753868824902302808977200923080966132496981222844582488057201449906587796702198546313284153825580887259794196200367127522564066077622526885830257655997589835798397497987147584939464155931413594062014132521285774221145393238768758091482264182406613004644692174971160726082245012975985692131789135730464273183909800222576103943495176033926756401156495901853025709782511921341974202590400148382860131546258123097657531112214628252021218772226754926480801479641143320444763880354521394483177938621264246606751558790750497884466760026591596923097456320532096863662979300674380050052702373376344562909177373505883100142802626545561868370835920323589081189284858535056574013679962558269855911404200909192218899639677919550559182730150814463457538721769795237710007437850974779195437347921683957030099730774572212577512031386669159023741387789479466619535617727787730480974725902949598192760595285013497250751986934093129401234995716936011115452055419659703441428749983825985795516182329395279723719355208090091103221937341275320495304404905455808594951344089074927435800051978766541163515609296112000650582879642337032847668324813664443137985085402333916405020987160664033764238782261365411539970839973289172866091163139166753002744645192538906591161701504843369737275149488160489680319858442467996419345647424052669059533794477745864481141742080248592254562638739475286091991813335388471505690603809087990951764502065395528645693727100775925916322717116215674147517968682454578330492257104059426345457665758086610100013938277605450772444156047655098410309587899812233028833436159131346406767776141584414086150052061588261535039438061952663752340458189637657325780092788724858917126941020424906544805842120151564159132131857446896846316717564174010250731710248846641844285564130697723396161977381276618916187901786354281534666712588094593853169347477897501931812597559074230772879099505090428599209832441319122251203337806958397317851353955361024471457158848315950523397130789328314697553548864470045024747809865556285786218245772095973571744337063458194421641424111628150056246225649417646755144942474878554460386297933679533507938007 441275942192379845141606538914636695615318813895910472310979698162955601899616662305067180770074548373823011493275128929732696094945767949642635494004072635928629830018139556354918384088382848517136401294523637307727576895600264079456001632785983731570973828842405746277134008054602466936410747688770444623327738201586027662293283038365214548720220126943121821583466426007204494203227398038771178909139900409524710118770855675591659110906708556272517204438599932370147444171060324774055840961027526578358550888146913954999501318699918168542508218103874495323256900174242829531909285509287380786707996437322512963153118104616287820164286880109506299685492372653136626827568926783204533769610575488385591599237793242662539203481185561224623463231576706969376765070189068486199516605533609813566486989076989363522354946351706161348397807039561737602925694866118008505569008520070560476311806728547148659091372565870390685125719245532296417271113741358225797203629132910168186899982173476670190597813223668642725167322611304110181801908227995842208046721923601780912856933405038104955297438659786953292469571463743327542332424428122879275255194562051085990909556120044170365263266983809945951434806512963598550985588978253409593637507392638111651385522802602856476187308386971501720734404981972477343691237678017163956198181571677406613194793493124996856630542435090529839727196358026689080219362252547062140364964074938968573184599142647725370056337280226351780220569668181440921480747771596954125941514680144642905290862353575907989781667774519942245669160868708476101274221968388954104736928653594875600420072471034726282677192387505412018456399943368200615877659588632048962948839110747419925284126450278435718431667235379711724773908752613485326911952932050931925263231551794454575887171679130213375718570211615826450589042301940375616275580983309959276471268249288218613111056146922727328886916063066774387141127314143919406722300300066374658927815991556028764694406838100488329989833350816332564295029308343480967846391849496313031126420175332442503203250941810869074824634938470023749628781482891609252154500614721520436302297530239720824403176824267130078618879049873153566009073671548894756619083378138074513007897221277094735401454501548462370032533446372455999373210176656771205554837027261808178852982024470957173904769943205443450282304314043729913082159283149903851723068654164190340523951173098214563419213012102819109462464448493923648139594117451679371133124264871031558302961647538904912784876876072256439461921146213876090455222285489841721713807507880518514923822110475907203771707875717537815628267632153172492527635146440184524317987529475937909308472161152834724423210748247715949358804710616753278231362064564369313342288359991483392753767669706997468259152812745559987931368823688712933055034938429216733889491010584036429402408840945907061467483522865768908476354128118126622393488234386439005482224538436580817039206109846967626127512825744050837727806904828853619076185145481191004123271355117774989531969460006853232527866910930548475626237614376653333948484834704352032941698598085502326509556234236370789215621041434506402326331652666378719801003839560645167143451149092097658309732158217587247610109132877920133539186991169173056227762477815264008267885701002578968883984898844283162614318564760564555227162166501624664302027826037198897414465706688878830011 713999472884904379731986771712508694494203277958281890364653373822355685960859018374050440366123640719589138893968058837967425024753461141916026424630568460743713697550191031048766543779483537477075742173566272569397988497158250755637424006937756367485422017352189901268876942653235609808979425088354122824722527396959947162185844397305677474409831330769665942195255246109141752375946773361325627679478428360639824534190728456881367966705506599639037540332693392511447625247004237409396563202614838206382724739030203196234890204794879599182147936990461578670889912644219981625805453176547871303555734520709024379718969966018557235302354301609005984124298679053921735466746469378393198189578502620734578698200644515702609353033184187376609758345653520874207721796425882451803425746322516701337088467551273180193271981649078771916231790619405759095632729581422879338840942661884047327157184021536321910233344051977699522735986545378906237060893673816129763845222026252855884590684413930654468554335972516460450220714075057660554808804596158914937811428586197389527225442941299398711130166178707622888675725411035146594971955264282339128321189491175354912417860325746658837028047679804767532025637060881191418204975604221960767442394692575818304099200153129070632941177211873804529711605905053443476188218900861746444255383021583994409896992039438281010456123322350324035927563485549253146296984779432892398020961664774766970682586290232664834212268693820413794353090953955662066873986540355045608205697086757647549983037324736634072026680750505634377458296599172749285184022190965058048232104687521632001576568372887751992459704308847386221046800091751060747423917711729706494061053738999441144056353205204916519911308378700156488654263274007968504850574196297538676822022302292339042647198270727136473174890743712690113568342976320425668977954359654522185648641755171318755913682692484595699722836386655855576425985849200493420402262858336230570332016900748247664334084757651047512719984165279790103016799103581190975284242824275508468474341859289472602934025514023446586856021607629047491016570962358228787772228402452001411028200479837913584998461837764380830605813143002554801004790607560010208674503037841515941757881047262890251583783896828186089387741536463559221310551451977266509959742483070403130197071099398392973956748709746606965891600426044380495961801620182751520047882318607328325609353507014619584406373676136583348244725813905463618979567406624545462296263431624034302948154186445496074486381719441993714611409306703556410313664753486261067361231560549578048718299856340388345513788124309792378267007107439264484340970534911690214921796617466889673810537556681480418150311524173632272075920926290900796200044519142699805599392419417828850419525756317097482197430418196332432087416478787123242642934750662245567325650141930443197178550425359993211519545111127303947914416080781878962851677872043764785575013263295497943980226534753512431969632977308209969859664351725699935793749319491441735833520201759619275096100157730249394505248187549464663528023968658188000661072929298205202289176495587434139107115308467143668315126131863105612158772971788629923138810797957963018497406510116569115468580474168110644740898461192617687088051461214197804037628034101050226513657796976150713221048357038704804038430192910620801452811584148379809244502704591659283712399386222386768018 1155275415077284224873593310627145390109522091854192362675633071985311287860475680679117621136198189093412150387243187767700121119699229091558661918634641096672343527568330587403684927867866385994212143468089909877125565392758514835093425639723740099056395846194595647546010950707838076745390172777124567448050265598545974824479127435670892023130051457712787763778721672116346246579174171400096806588618328770164534652961584132473027077612215155911554744771293324881595069418064562183452404163642364784741275627177117151234391523494797767724656155094336073994146812818462811157714738685835252090263730958031537342872088070634845055466641181718512283809791051707058362294315396161597731959189078109120170297438437758365148556514369748601233221577230227843584486866614950938002942351856126514903575456628262543715626928000784933264629597658967496698558424447540887844409951181954607803468990750083470569324716617848090207861705790911202654332007415174355561048851159163024071490666587407324659152149196185103175388036686361770736610712824154757145858150509799170440082376346337503666427604838494576181145296874778474137304379692405218403576384053226440903327416445790829202291314663614713483460443573844789969190564582475370361079902085213929955484722955731927109128485598845306250446010887025920819879456578878910400453564593261401023091785532563277867086665757440853875654759843575942226516347031979954538385925739713735543867185432880390204268605974046765574573660622137102988354734311951999734147211766902290455273899678312542061808348525025576623127457467881225386458244159354012152969033341116507601996640843922478275136896696352798239503200035119261363301577300361755457009892849746861069340479655483352238342975614079868213428172026621453831762527128348470602085253854086793618534369949857349848893460955328516564157385278260801285253535342964481462119910004459537369024738839407323028609752449722629963567113163344412827124563158402605229259832892304276429028491595751535842709817516096122667311828411924671943130634673771821499600762034621915106137276455834315661680656546099071240645352445249838039926729017173521847330498010077634409401638662031510909224692192875708367013864279108904965293586415979590454765778268539984986985238398376648459420274982836015220683761628634037715514579510332211309050053123869350147861518652952050416173904740088110409043960903332655371770950972771518666133304680112834147825586688239402457707190262399387267119161524076224833429387696495065861251115833984400987271258595514250154073330452917432500768887038976102789075039068430096563642121966816295549285496000027330193895274739592436976868605681351874739239784146942827583119009717834315142573522272421348221434725636907654074431406583707069118941680779409312243173293426024094950456583230941892420018785302475836175697969689091462301215141152514479626580959266305900272987028633993072856390770208900005585245166106430203791057237801732078761019432644600480058097145803052260807587471256554553554869934464972632739956791556877394264628069617737102627033115098480013139154261583034841334609557764002557235230875093672936465616671542703514457530747173297612014485104624455008642939814637518608185640857659208666773778312632385697892351007594070537820627238452383370860265390511916314234781543497978729682105033255882987966652748757671185356679973750650004473546530530628858181126865092911265598029 1869274887962188604605580082339654084603725369812474253040286445807666973821334699053168061502321829813001289281211246605667546144452690233474688343265209557416057225118521618452451471647349923471287885641656182446523553889916765590730849646661496466541817863546785548814887893361073686554369597865478690272772792995505921986664971832976569497539882788482453705973976918225487998955120944761422434268096757130804359187152312589354395044317721755550592285103986717393042694665068799592848967366257202991124000366207320347469281728289677366906804092084797652665036725462682792783520191862383123393819465478740561722591058036653402290768995483327518267934089730760980097761061865539990930148767580729854748995639082274067757909547553935977842979922883748717792208663040833389806368098178643216240663924179535723908898909649863705180861388278373255794191154028963767183250893843838655130626174771619792479558060669825789730597692336290108891392901088990485324894073185415879956081351001337979127706485168701563625608750761419431291419517420313672083669579095996559967307819287636902377557771017202199069821022285813620732276334956687557531897573544401795815745276771537488039319362343419481015486080634725981387395540186697331128522296777789748259583923108860997742069662810719110780157616792079364296067675479740656844708947614845395432988777572001558877542789079791177911582323329125195372813331811412846936406887404488502514549771723113055038480874667867179368926751576092765055228720852307045342352908853659938005256937003049176133835029275531211000585754067053974671642266350319070201201138028638139603573209216810230267596601005200184460550000126870322110725495012091461951070946588746302213396832860688268758254283992780024702082435300629422336613101324646009278907276156379132661181568220584486322068351699041206677725728254581226954231489702619003647768551759630856124938421531891918728332588836378485539993099012544906247526826016738835799591849793052524093362576353402583355429801681375912770328627515505862918414877498047329968075103893911387709071301969857762248536678153728118731661923407608066827698957419625523258358698489915547994400100499795891739830505335878263168018654886668915173968089453821106396523659315802875238569022295204834548808016519299574441994313080611304225474321993402614439247124223267743121818267362698657382065505166132490905005762523515406891818833291378846991742658187127453732231960364375985805951916076304850886098728930700770295725651128119100164199270020429897061757640314956243868684739759620988911082551792462363856436270628979674612360421823156683894799284124337122572162281847031701461209576216263564954161580764409717256929547274515795560723833796594980493510646563198554870631451102849768924541073198827141093592819182341192432654013649138224852106201781262959418340904439753707868540791294444922823759509691665893484506573745120376804305186289681884548096843978473968576632251065027576704999659179353992490066778780360470777447135608280253490663683784464074475790311758637013539724169775467352021538363286029477802682285551693029335270630693300762437520051589260370604723786851170658125845873305160717626643877596243638566078625435476571204138264169325235889246893106553808537091906055263155507715289913597568664303018546017364461295201294954880395326081612921692770691178950581806158132785334798384282791033235220517464839264479133652366047 3024550303039472829479173392966799474713247461666666615715919517792978261681810379732285682638520018906413439668454434373367667264151919325033350261899850654088400752686852205856136399515216309465500029109746092323649119282675280425824275286385236565598213709741381196360898844068911763299759770642603257720823058594051896811144099268647461520669934246195241469752698590341834245534295116161519240856715085900968893840113896721827422121929936911462147029875280042274637764083133361776301371529899567775865275993384437498703673251784475134631460247179133726659183538281145603941234930548218375484083196436772099065463146107288247346235636665046030551743880782468038460055377261701588662107956658838974919293077520032432906466061923684579076201500113976561376695529655784327809310450034769731144239380807798267624525837650648638445490985937340752492749578476504655027660845025793262934095165521703263048882777287673879938459398127201311545724908504164840885942924344578904027572017588745303786858634364886666800996787447781202028030230244468429229527729605795730407390195633974406043985375855696775250966319160592094869580714649092775935473957597628236719072693217328317241610677007034194498946524208570771356586104769172701489602198863003678215068646064592924851198148409564417030603627679105285115947132058619567245162512208106796456080563104564836744629454837232031787237083172701137599329678843392801474792813144202238058416957155993445242749480641913944943500412198229868043583455164259045076500120620562228460530836681361718195643377800556787623713211534935200058100510509673082354170171369754647205569850060732708542733497701552982700053200161989583474027072312453217408080839438493163282737312516171620996597259606859892915510607327250876168375628452994479880992530010465926279715938170441836170961812654369723241883113532842028239485025045583485109888461764090393493963160371299241756942341286101115503560212175889319074651389175141441028851682685356800522391067949154119198139619197472035437640455927430534861545512171819151467675865928533302815208578425692077910217334699827189972307275852857904867625686436799045105689196499993182403801739161827402649055197528753971535032519165777820139261675869800696851289437584342860225554260693581483008228291502135589662678074709245341940988901503734825748297177347137093269679786015650707798239409906220601314049723426848062263589784264150365657875962867240287880057547052615388263659106338704238153217890454776995129155038824614166025450385854414298049028898910470494022758070212538421411851438831438466645511309697409771176002543789972979444084780124364452766057556586624138438078181897615439693401364911352544840048556992350110703297356069016328714945372200106208945062857686556838043482753978236453336766112608365287383110596880080117272124987083738795594038874128845170169755932446959402450340468957971793757493602379113449660695956498581890133342010084904172367689488866759655466019091823954472548163924583412731585034606864834807045533618249436707215747103315514407804352239393204454648571478384509490941836547134727870669880188457303319672750926682933307070340458393874172583376620478458329641128982220698647209018440072995179389779121828533902663025205738939506429442913649333693328342528365980939524568409057933678696076744792933610077431114868804680737343927708252991514812759085448388756337563765849375645966129572044917964076 4893825191001661434084753475306453559316972831479140868756205963600645235503145078785453744140841848719414728949665680979035213408604609558508038605165060211504457977805373824308587871162566232936787914751402274770172673172592046016555124933046733032140031573288166745175786737429985449854129368508081947993595851589557818797809071101624031018209817034677695175726675508567322244489416060922941675124811843031773253027266209311181817166247658667012739314979266759667680458748202161369150338896156770766989276359591757846172954980074152501538264339263931379324220263743828396724755122410601498877902661915512660788054204143941649637004632148373548819677970513229018557816439127241579592256724239568829668288716602306500664375609477620556919181422997725279168904192696617717615678548213412947384903304987333991533424747300512343626352374215714008286940732505468422210911738869631918064721340293323055528440837957499669669057090463491420437117809593155326210836997529994783983653368590083282914565119533588230426605538209200633319449747664782101313197308701792290374698014921611308421543146872898974320787341446405715601857049605780333467371531142030032534817969988865805280930039350453675514432604843296752743981644955870032618124495640793426474652569173453922593267811220283527810761244471184649412014807538360224089871459822952191889069340676566395622172243917023209698819406501826332972143010654805648411199700548690740572966728879106500281230355309781124312427163774322633098812176016566090418853029474222166465787773684410894329478407076087998624298965601989174729742776859992152555371309398392786809143059277542938810330098706753167160603200288859905584752567324544679359151786027239465496134145376859889754851543599639917617593042627880298504988729777640489159899806166845058940897506391026322493030164353410929919608841787423255193716514748202488757657013523721249618901581903191160485274930122479601043553311188434225322178215191880276828443532478409324615753644302556702553569420878847948207969083442936397779960389669866481435750969822444690524279880395549840158754012853555308703969199260465971695324643856424568364047894989908730398201839661623294388885702864632234703051174052446735313229765323621803247813096900145735464123282988786317557036308021435164104672387789856646166463223497137440187544301570404836391498053378349365180304915072353092219055485950363469155408617555529212649618621054367741612289507416991374069611022415009089039316619385477765424880689952733266189649655874844195110786539225426737891442809972159410322933990623900830501947580326389445788362965613129663338884064248701575338219838433655839899287758113879004647562945675762262096978104266865906264021189865611309208456018763304763815694308789406606968023827177063594430358931790706479815764610529218342124231188865001755012379778568598878038296723741404325274099978649637687242000176124233826465001142788263774681438854063378140944321739931787232171018751003308465038230703363773202362481742473115060536197302033900781691537415074151421344076409168671806670109841670538968744518832686420900005150819150604082110270978272193677675064245245044830709222493783619047267772859816942285775097065508471750593917385997859138552272098845493314966534819704596848836057818279578508188871427603951043157371946087888490472757196481726373508035106658834797672945544420246773039128597001069893110805394051178570330123 7918375494041134263563926868273253034030220293145807484472125481393623497184955458517739426779361867625828168618120115352402880672756528883541388867064910865592858730492226030164724270677782542402287943861148367093821792455267326442379400219431969597738245283029547941536685581498897213153889139150685205714418910183609715608953170370271492538879751280872936645479374098909156490023711177084460915981526928932742146867380106033009239288177595578474886344854546801942318222831335523145451710426056338542854552352976195344876628231858627636169724586443065105983403802024974000665990052958819874361985858352284759853517350251229896983240268813419579371421851295697057017871816388943168254364680898407804587581794122338933570841671401305135995382923111701840545599722352402045424988998248182678529142685795132259157950584951160982071843360153054760779690310981973077238572583895425180998816505815026318577323615245173549607516488590692731982842718097320167096779921874573688011225386178828586701423753898474897227602325656981835347479977909250530542725038307588020782088210555585714465528522728595749571753660606997810471437764254873109402845488739658269253890663206194122522540716357487870013379129051867524100567749725042734107726694503797104689721215238046847444465959629847944841364872150289934527961939596979791335033972031058988345149903781131232366801698754255241486056489674527470571472689498198449885992513692892978631383686035099945523979835951695069255927575972552501142395631180825135495353150094784394926318610365772612525121784876644786248012177136924374787843287369665234909541480768147434014712909338275647353063596408306149860656400450849489058779639636997896767232625465732628778871457893031510751448803206499810533103649955131174673364358230634969040892336177310985220613444561468158663991977007780653161491955320265283433201539793785973867545475287811643112864742274490402242217271408580716547113523364323544396829604367021717857295215163766125138144712251710821751709040076319983645609539370366932641505901841685632903426835750977993339488458821241918068971347553382498676276475113323876562950330293223613469737091489901912802003578823450697037940900393386206238083693218224555452491441193422500099102534484488595689677543682367800565264599523570753767350462499101988107452125000872265935841478917541929661177839394000072978544324978573693533105209377211531418998401819679578307494583921608029492347054469606762333270128753713327192534509840254760554035728777347432215100041729258493159815438135897231914200880184697831734785429455339297147458890023799216964365509403102642782968844373066028104277395020279978337365940011494444340964310587114806937026661259216016967318545934627637923401390963410972760757166475963445011506581155300047767125044399071767198875207409298459396356175948740550606418652697444048208052656188363727724440447607609480999493778503347276125697099286845664814780864148282313312011228798546887637037842827262937586394627947185933947516349337949867581730920283337488907284518389665829148428648561876261318681320055048459686355379821148770675031007607907401783021904955126984745404703638919003292599114262077376908901842037640932984115505581466929983696507826393041215297304584432821395977733353930542164400346645559447713439836661884721853448690880822100550188311350531054245379034367087789187758303505695161795466160766919268756771523623223488294199 12812200685042795697648680343579706593347193124624948353228331444994268732688100537303193170920203716345242897567785796331438094081361138442049427472229971077097316708297599854473312141840348775339075858612550641863994465627859372458934525152478702629878276856317714686712472318928882663008018507658767153708014761773167534406762241471895523557089568315550631821206049607476478734513127238007402591106338771964515399894646315344191056454425254245487625659833813561609998681579537684514602049322213109309843828712567953191049583211932780137707988925706996485307624065768802397390745175369421373239888520267797420641571554395171546620244900961793128191099821808926075575688255516184747846621405137976634255870510724645434235217280878925692914564346109427119714503915049019763040667546461595625914045990782466250691375332251673325698195734368768769066631043487441499449484322765057099063537846108349374105764453202673219276573579054184152419960527690475493307616919404568471994878754768911869615988873432063127654207863866182468666929725574032631855922347009380311156786225477197022887071669601494723892541002053403526073294813860653442870217019881688301788708633195059927803470755707941545527811733895164276844549394680912766725851190144590531164373784411500770037733770850131472652126116621474583939976747135340015424905431854011180234219244457697627988973942671278451184875896176353803543615700153004098297192214241583719204350414914206445805210191261476193568354739746875134241207807197391225914206179569006561392106384050183506854600191952732784872311142738913549517586064229657387464912790166540220823855968615818586163393695115059317021259600739709394643532206961542576126384411492972094275005603269891400506300346806139728150696692583011473178353088008275458200792142344156044161510950952494481157022141361191583081100797107688538626918054541988462625202488811532892731766324177681562727492201531060317590666834552757769719007819558901994685738747642175449753898356554267524305278460955167931853578622813303330421466291511552114339177805573422683863768339216791758227725360406937807380245674373789848258274974149648181833784986479810643200205418485073991426826603258018440941134867270671290765721206517044303346915631384634331153800826671154118122300907545005917872022850288958634273915348498009706123385780487946766052675892772349438158849240050926785752160695327575000574407019375208790957113204975975771104636561886598136402881151168722416231851129225732525978916418730080698404749697604102688270601977361323969805643690156857242057719420079240127649406470350188662752728475016232306121852908621767603442497233453935818236653698125373448988527256262877069034004765526081923231339735800238947131857409726715736576451475265370051979530408332363642197483976189778247014639817938516801520587364813742305618798431266042926246349379929768052998540426257247168241493954627581102590698242075109439496219718211660454256332968730334119808056593830571402624625331310959136309998091811064928117928222317238270598821933463817250492505057730548067988791161725587428430874212507569670680181826758511483893292883227320662420468948883963834001821608045696424176674701854583218759212571089938680577613893824252179767569403429926136362512553058527391000458164925137955902311264265835765010820636968710591022945507832257427753414141025922586860703847925941934834594757767989161867576917674402058624322 20730576179083929961212607211852959627377413417770755837700456926387892229873055995820932597699565583971071066185905911683840974754117667325590816339294881942690175438789825884638036412518131317741363802473699008957816258083126698901313925371910672227616522139347262628249157900427779876161907646809452359422433671956777250015715411842167016095969319596423568466685423706385635224536838415091863507087865700897257546762026421377200295742602849823962512004688360363552316904410873207660053759748269447852698381065544148535926211443791407773877713512150061591291027867793776398056735228328241247601874378620082180495088904646401443603485169775212707562521673104623132593560071905127916100986086036384438843452304846984367806058952280230828909947269221128960260103637401421808465656544709778304443188676577598509849325917202834307770039094521823529846321354469414576688056906660482280062354351923375692683088068447846768884090067644876884402803245787795660404396841279142160006104140947740456317412627330538024881810189523164304014409703483283162398647385316968331938874436032782737352600192330090473464294662660401336544732578115526552273062508621346571042599296401254050326011472065429415541190862947031800945117144405955500833577884648387635854094999649547617482199730479979417493490988771764518467938686732319806759939403885070168579369148238828860355775641425533692670932385850881274115088389651202548183184727934476697835734100949306391329190027213171262824282315719427635383603438378216361409559329663790956318424994415956119379721976829377571120323319875837924305429351599322622374454270934687654838568877954094233516457291523365466881916001190558883702311846598540472893617036958704723053877061162922911257749150012639538683800342538142647851717446238910427241684478521467029382124395513962639821014118368972236242592752427953822060119594335774436492747964099344535844631066452171964969709472939641034137780357917081314115837423925923712543033962805941574892043068805978346056987501031487915499188162183670263062972193353237747242604641324400677203256798038033676296696707960320306056522149487113724821225304442871795303522077969712556002208997308524688464767503651404647179218560488895846218212647710466803446018165869122926843478370353521918687565507068576671639373312788060622381367473498881972059227259405488695713853732166349511137393565029500479285265904704786531993405421194888369264607788897583800596983616356204898736151279922435743424385639065987286532952147507428130619849739333361181430417415497221201719844570341555073792504849534579424796865360373987879717093984419334948904821752994833631546774628474215796574019638136867893329491566849991875971031426785297940198658281734866585055258800690126709337208641741333496991036989487663689964609020588850014213515025347815260916943540762482856225217083963486974454402036118131780722980873864856649240987733130928378716395341361955104311000582359942767568344197528881007445094436657834340211019959258145070257514441149014795699659142600575759506106451853483079640933706292424329307472481780635888117229592328718441355212834366418885676314788182447647165873652522882837294420722307773801085576543892224151743328076671405610561310401650645220982866708014358957758490286412457933164858511570697403615751100927720486864269327849532691573133819182788481998793175393010376048462151431637096630060918534908430624348441297625546918521 33542776864126725658861287555432666220724606542395704190928788371382160962561156533124125768619769300316313963753691708015279068835478805767640243811524853019787492147087425739111348554358480093080439661086249650821810723710986071360248450524389374857494798995664977314961630219356662539169926154468219513130448433729944784422477653314062539653058887911974200287891473313862113959049965653099266098194204472861772946656672736721391352197028104069450137664522173925162315585990410892174655809070482557162542209778112101726975794655724187911585702437857058076598651933562578795447480403697662620841762898887879601136660459041572990223730070737005835753621494913549208169248327421312663947607491174361073099322815571629802041276233159156521824511615330556079974607552450441571506324091171373930357234667360064760540701249454507633468234828890592298912952397956856076137541229425539379125892198031725066788852521650519988160663646699061036822763773478271153712013760683710632000982895716652325933401500762601152536018053389346772681339429057315794254569732326348643095660661509979760239671861931585197356835664713804862618027391976179995143279528503034872831307929596313978129482227773370961069002596842196077789666539086868267559429074792978167018468784061048387519933501330110890145617105393239102407915433867659822184844835739081348813588392696526488344749584096812143855808282027235077658704089804206646480376942176060417040084515863512837134400218474647456392637055466302769624811245575607587323765509232797517710531378466139626234322168782110355992634462614751473823015415828980009839367061101227875662424846569912819679850986638424783903175601930268278345844053560083049020001448451676817328882664432814311764049496818779266834497035121154121030070534247185885442476620865623073543635346466457120978036259730163819323693549535642360687037648877762899117950452910877428576397390629853527697201674470701351728447192469839083834845243484825707228772710448117024645941425360245870362265961986655847352766784996973593484438484864789861581782446897823361067025137254825434524422068367258113436767823860903573079500278592519977137307064449523199202414415793598679891594106909423088120353427759567136983933854227511106792933797253757257997279197024676036809866414613582589511396163077019256655282821996891678182613039893435461766529624938698949296242805080427265037426600032361532567812440570097160221720993873559571701620178242803035139032431091158159656236768291719812511868566237508829024599436937463869701019392858545171525488260498412315850224269613819552446271830724176542469822459435567255026674661616601234989271861928151614810673336262241342318018823112868945005036192311379863429998017535105532187116210416842445913660117006703548970567397820027332162092996778628261228154843286332062437530905576225161844015515229529900700751416047899833721521300122103817482481687758509481307093583437064543807220300571603221824677166259215127253151030488405742835645290569104206567512532960079723817587364917814030104928385317300330133438764022972397296263643506223316548103804836288112035394661124930369569607671409768309586342601406846671296242330353470225262251245746807370502540647761344291138924295474897400750436111444285094121002839470985324165316676495835359518062365193556251875089964818243282596079327015045909752207316418932962909165999357579031464655676302897592491925358972027605542843 54273353043210655620073894767285625848102019960166460028629245297770053192434212528945058366319334884287385029939597619699120043589596473093231060150819734962477667585877251623749384966876611410821803463559948659779626981794112770261562375896300047085111321135012239943210788119784442415331833801277671872552882105686722034438193065156229555749028207508397768754576897020247749183586804068191129605282070173759030493418699158098591647939630953893412649669210534288714632490401284099834709568818752005015240590843656250262902006099515595685463415950007119667889679801356355193504215632025903868443637277507961781631749363687974433827215240512218543316143168018172340762808399326440580048593577210745511942775120418614169847335185439387350734458884551685040234711189851863379971980635881152234800423343937663270390027166657341941238273923412415828759273752426270652825598136086021659188246549955100759471940590098366757044753714343937921225567019266066814116410601962852792007087036664392782250814128093139177417828242912511076695749132540598956653217117643316975034535097542762497592272054261675670821130327374206199162759970091706547416342037124381443873907225997568028455493699838800376610193459789227878734783683492823768393006959441365802872563783710596005002133231810090307639108094165003620875854120599979628944784239624151517392957540935355348700525225522345836526740667878116351773792479455409194663561670110537114875818616812819228463590245687818719216919371185730405008414683953823948733324838896588474028956372882095745614044145611487927112957782490589398128444767428302632213821332035915530500993724524007053196308278161790250785091603120827162048155900158623521913618485410381540382759725595737223021798646831418805518297377659296768881787980486096312684161099387090102925759741980419760799050378099136055566286301963596182747157243213537335610698417010221964421028457082025492666911147410342385866227550386920397950682667410749419771806673254058599537984494166224216419253463018143762851954947180643856547410678218027608824387088222224038270281935292859110821118776327578419493289973348017297900725583035391772440829142419235755204623413102123368356361610560827735299571988248462983202146501937977910238951963122880184840757567378197955497431921682159261150769475865079879036650295495773650241840299298924157480383357105048460433636370109927744322692504737148064561217861764985529486328782771143372298603794599007933875183711013593903080622407357707099044820713744936959644449176270825051131436808355766373245332830839967389642729119148398977243137191098164422186916443854902203931496414611434866536046490402367411384692974399109235647510389962860820976067619096677803628656299269972117242375011106969155250868758748037045961604387307691022126702017367478275441669868634147323354474446338708018069232599193016875155153452166031614444502173986960466723469420889437860023488924799019648118220882931545989393021363788096134698245467146240083046665249827249276825026974109094519517246507518389789611034837170783409774372470315396726603736125286859204665333397165006553390607495491349255245922459592215956752216253929729508590663052661244026347827789639031522245868724432749901700234697125542621733302819458644051879493125883443257330175188066532763133813466121276738739359292667775974169213146197834391751000491811943338957628150789216128094716594837806023116273800269653152461364 87816129907337381278935182322718292068826626502562164219558033669152214154995369062069184134939104184603698993693289327714399112425075278860871303962344587982265159732964677362860733521235091503902243124646198310601437705505098841621810826420689421942606120130677217258172418339141104954501759955745891385683330539416666818860670718470292095402087095420371969042468370334109863142636769721290395703476274646620803440075371894819983000136659057962862787333732708213876948076391694992009365377889234562177782800621768351989877800755239783597049118387864177744488331734918933988951696035723566489285400176395841382768409822729547424050945311249224379069764662931721548932056726747753243996201068385106585042097935990243971888611418598543872558970499882241120209318742302304951478304727052526165157658011297728030930728416111849574706508752303008127672226150383126728963139365511561038314138747986825826260793111748886745205417361042998958048330792744337967828424362646563424008069932381045108184215628855740329953846296301857849377088561597914750907786849969665618130195759052742257831943916193260868177965992088011061780787362067886542559621565627416316705215155593882006584975927612171337679196056631423956524450222579692035952436034234343969891032567771644392522066733140201197784725199558242723283769554467639451129629075363232866206545933631881837045274809619157980382548949905351429432496569259615841143938612286597531915903132676332065597990464162466175609556426652033174633225929529431536057090348129385991739487751348235371848366314393598283105592245105340871951460183257282642053188393137143406163418571093919872876159264800215034688267205051095440393999953718706570933619933862058357711642390028551534785848143650198072352794412780450889911858514733282198126637720252713176469395088446876881777086637829299874889979851499238543434194892091300234728648869921099392997425847711879020364112821881043737594674742856759481785527910895575127000579383702175624183925919526470086781519425004799610204721732177617450031849163082817470406169535120047399337307072547684545345540844694836532930057797208920870980225861627911749578136206868758954407037828895722048247955717470250823419925416008030120186080356165489017031885760376637442838036764402873992307298336295741850662165638942099135691933117492665328424453339192359619246912982043747409729879175190355009360119104769509597129030302335082689708049776644702944000223972841810969014216142104752062736859175649426911556689279982445788669048613208288920832456201214311544770821091338379705492953388762218529689409021822340964656738903290469458958171076228036101525318352330519026195366310661350577965529213075729765981103811408057667058654316805077649429491221523811601164528875754740594932171785127718354288795014146106536669824711920479385792005351914933179913248114422546775855904868213931448166023474109064284205951108647947341330582508236084191925441183503149211217698530047311261951396497634645825882310540396353483392539507069174243334833872436203819715963222488083739907811234338369123899999768793082521213437202001294665426002156616279624815530131001984266338558855336576179886905383014714251610079035385838892748409372194094192839158992600440022483738930902929146000495965354428581495491864562368122651875831314832990614449257486019256765292473212880301503207808230876301866794150146795159559372271140703615608199159241680758004207 142089482950548036899009077090003917916928646462728624248187278966922267347429581591014242501258439068891084023632886947413519156014671751954102364113164322944742827318841928986610118488111702914724046588206146970381064687299211611883373202316989469027717441265689457201383206458925547369833593757023563258236212645103388853298863783626521651151115302928769737797045267354357612326223573789481525308758344820379833933494071052918574648076290011856275437002943242502591580566792979091844074946707986567193023391465424602252779806854755379282512534337871297412378011536275289182455911667749470357729037453903803164400159186417521857878160551761442922385907830949893889694865126074193824044794645595852096984873056408858141735946604037931223293429384433926160444029932154168331450285362933678399958081355235391301320755582769191515944782675715423956431499902809397381788737501597582697502385297941926585732733701847253502250171075386936879273897812010404781944834964609416216015156969045437890435029756948879507371674539214368926072837694138513707561003967612982593164730856595504755424215970454936538999096319462217260943547332159593089975963602751797760579122381591450035040469627450971714289389516420651835259233906072515804345442993675709772763596351482240397524199964950291505423833293723246344159623675067619080074413314987384383599503474567237185745800035141503816909289617783467781206289048715025035807500282397134646791721749489151294061580709850284894826475797837763579641640613483255484790415187025974465768444124230331117462410460005086210218550027595930270079904950685585274267009725173058936664412295617926926072467542962005285473358808171922602442155853877330092847238419272439898094402115624288757807646790481616877871091790439747658793646495219378510810798819639803279395154830427296642576137015928435930456266153462834726181352135304837570339347286931321357418454304793904513031023969291386123460902293243679879736210578306324546772386056956234223721910413692694303200772888022943373056676679358261306579259841300845079230556623342271437607589007840543656166659621022414952423347770556938168880951444663303522018965349287994709611661241997845416604317328031078558719497404256493103388226858103466927270837723499517627678794331781071947804730257977901111812935114807179014728583412988438978666293638491283776727296339148795870163515545300282753682811609506657661690248164100068219194378559415846316298827767440818902889399853118345965817481583007134010601509993727382748313497789479113971963893009570077918016153922178347095135682507910617506932546212920505386843655347145371662889667490839470968061364842732886437580059285060459813613039603038590586957171430504735470687310616075049766671866232630780756415397634502777640893776172435409376415497031513584812111494580554626709146479798253641197982480713615563651011058320379963062610525648096024750929420529537385201354071433035103840043662066434695200610719893835407396649641964780885908928975790223602760217566481178268762852080379954593609326998059658867149682183704653765850503735894079941725878770599166301218816609652107628880061452590594200223090775109266305688477568435675958277957906825024870414994278096626844094539393689725982644217041750361573197879989091237871838825667052628900885785689297436109729353808550153795230934505619410714693254208300042819640824422300936011287654088865978509638724472959511333910465571 229905612857885418177944259412722209985755272965290788467745312636074481502424950653083426636197543253494783017326176275127918268439747030814973668075508910927007987051806606349470852009346794418626289712852345280982502392804310453505184028737678890970323561396366674459555624798066652324335353712769454643919543184520055672159534502096813746553202398349141706839513637688467475468860343510771921012234619467000637373569442947738557648212949069819138224336675950716468528643184674083853440324597221129370806192087192954242657607609995162879561652725735475156866343271194223171407607703473036847014437630299644547168569009147069281929105863010667301455672493881615438626921852821947068040995713980958682026970992399102113624558022636475095852399884316167280653348674456473282928590089986204565115739366533119332251483998881041090651291428018432084103726053192524110751876867109143735816524045928752411993526813596140247455588436429935837322228604754742749773259327255979640023226901426482998619245385804619837325520835516226775449926255736428458468790817582648211294926615648247013256159886648197407177062311550228322724334694227479632535585168379214077284337537185332041625445555063143051968585573052075791783684128652207840297879027910053742654628919253884790046266698090492703208558493281489067443393229535258531204042390350617249806049408199119022791074844760661797291838567688819210638785617974640876951438894683732178707624882165483359659571174012751070436032224489796754274866543012687020847505535155360457507931875578566489310776774398684493324142272701271142031365133942867916320198118310202342827830866711846798948626807762220320161626013223018042836155807596036663780858353134498255806044505652840292593494934131814950223886203220198548705505009952660708937436539892516455864549918874173524353223653757735805346246004962073269615547027396137805067996156852420750415880152505783533395136791172429861055577036100439361521738489201899673772965440658409847905836333219164389982292313027742983261398411535878756611109004383662549636726158462318836944896080388228201512200465717251485353405567765859039861177306291215271597101556156753664018699070893567464852273045501329382139422820264523223574307214268955944302723483876155070516831096183945940112028594273642962475100753749278150420516530481104307090746977683643395974209321192543279893394720490637763042930714276167258819278466435150908902428336060549260299051740282629871903615995223098028554340758656560922158199273709828536982546402687402892796349210784389462786975013516726800628635896672836036621955234742846351500394250435841121847838567067507069586683195063405463775425595721810391578568816114320352938275241912793137745964932880127416101357454154592357579926510257518235825947957563127730704292045659691348781319292475106094938485150168574377895728828038110426866963188593894510776549122205089035135371638185332542684653941271188031969103249937844411828418423882718658601038462415531734811286330619956243610105988247443006186914252390797429042961282146950889589994938992134974403735662873024247092207801167595884242611808723908504876982721596184489429333964602881868364473818690672529567985860410709307742687468820938287378552682326422666700780681264502343880485056592300420321158917191269008437565128750942719968257807639814487699798092623594994757416108273695942691216451082806447213461137119213254332672118753014668469778 371995095808433455076953336502726127902683919428019412715932591602996748849854532244097669137455982322385867040959063222541437424454418782769076032188673233871750814370648535336080970497458497333350336301058492251363567080103522065388557231054668359998041002662056131660938831256992199694168947469793017902155755829623444525458398285723335397704317701277911444636558905042825087795083917300253446320992964287380471307063514000657132296289239081675413661339619193219060109209977653175697515271305207696563829583552617556495437414464750542162074187063606772569244354807469512353863519371222507204743475084203447711568728195564591139807266414772110223841580324831509328321786978896140892085790359576810779011844048807960255360504626674406319145829268750093441097378606610641614378875452919882965073820721768510633572239581650232606596074103733856040535225956001921492540614368706726433318909343870678997726260515443393749705759511816872716596126416765147531718094291865395856038383870471920889054275142753499344697195374730595701522763949874942166029794785195630804459657472243751768680375857103133946176158631012445583667882026387072722511548771131011837863459918776782076665915182514114766257975089472727627042918034724723644643322021585763515418225270736125187570466663040784208632391787004735411603016904602877611278455705338001633405552882766356208536874879902165614201128185472286991845074666689665912758939177080866825499346631654634653721151883863035965262508022327560333916507156495942505637920722181334923276375999808897606773187234403770703542692300297201412111270084628453190587207843483261279492243162329773725021094350724225605634984821394940645278311661473366756628096772406938153900446621277129050401141724613431828094977993659946207499151505172039219748235359532319735259704749301470166929360669686171735802512158424907995796899162700975375407343443783742107834334457299688046426160760463815984516479329344119241257949067508224220545351497614644071627746746911858693183065201050686356318075090894140063190368845684507628867282781804590274552485088228771857678860086739666437776753338322797208742128750954518793616066905444748373630360312891412881456590373532407940858920224521016326962534072372422871573561207375672698195625427965017887916758852251544074288035868556457165149099943469543285757040616174927172701505660341339150056910265790920516725742323782824920509526630535219128096806895476395576597879507723448774793015848341443994371822341663694932759709267437211285296044192166516864760242220354467380803128935695073895764318404583453543554501447663351738344049597581212784737506057906978037648048037796291901355484880782270205191608419152910939895446672417528608433275548955177182773223686785373113995324144760295876719724129998537107119789077173276160892813873029732804084964948422215575878209541653674077878021508973857573387074770301113786064792167722717744038725374306291872012765316372539612439138317718126055250680427196417643740262120843559003827672469425711769038994632345391038369959341805818039272178643645900824907471556952965972970978400333897103059221460831537384938435312190384712520109073869187556842042254366630807525892685435579722736965565447782381917946372052405310917822431626075541760474147830172259146825969820169894223254426187052449322066357793609718634303712034309688011624408316515583515638752018817734867550003097722893057145078264348578935349 601900708666318873254897595915448337888439192393310201183677904239071230352279482897181095773653525575880650058285239497669355692894165813584049700264182144798758801422455141685551822506805291751976626013910837532346069472907832518893741259792347250968364564058422806120494456055058852018504301182562472546075299014143500197617932787820149144257520099627053151476072542731292563263944260811025367333227583754381108680632956948395689944502188151494551885676295143935528637853162327259550955595902428825934635775639810510738095022074745705041635839789342247726110698078663735525271127074695544051757912714503092258737297204711660421736372277782777525297252818713124766948708831718087960126786073557769461038815041207062368985062649310881414998229153066260721750727281067114897307465542906087530189560088301629965823723580531273697247365531752288124638952009194445603292491235815870169135433389799431409719787329039533997161347948246808553918355021519890281491353619121375496061610771898403887673520528558119182022716210246822476972690205611370624498585602778279015754584087891998781936535743751331353353220942562673906392216720614552355047133939510225915147797455962114118291360737577257818226560662524803418826602163376931484941201049495817258072854189990009977616733361131276911840950280286224479046410134138136142482498095688618883211602290965475231327949724662827411492966753161106202483860284664306789710378071764599004206971513820118013380723057875787035698540246817357088191373699508629526485426257336695380784307875387464096083964008802455196866834572998472554142635218571321106907405961793463622320074029041620523969721158486445925796610834617958688114467469069403420408955125541436409706491126929969342994636658745246778318864196880144756204656515124699928685671899424836191124254668175643691282584323443907541148758163386981265412446190097113180475339600636162858250214609805471579821297551636245845572056365444558602779687556710123894318316938273053919533583080131023083165357514078429339579473502430018819801477850068170178504008940266909111497381168617000059191060552456917923130158906088656248603306057245734065213168461601502037649059383784980346308863419033737322998343044785539550536841286641378815876284691251827768712456524148963828028787446525187036763136622305735315569616473950647592847787593858570568675714981533882429950304986281558279768673038058992179328805096970370036999235231536944836896931248006078646696631843564542022926163100320255854917908541147039822278590594853919757556591431138856843590103949211800696392954301256289580176456682406198089844443848017053906585344624974485107234731232859697365130910476504080596770177235267231292833721914330321746179240481835304598874581140939965471575250655017814112545672087561664837824081122832967509674133165504838899023450098590789953773938369691784504744984697567752084163623892506202821200163805908050286723379315577479903981868566310384024267556741600844713851718889611949378551548451463515247437778457673154775225908884736188467412920623952768928862173582638035799311207219825990220063186201501492987301833269555445889815418033786569201949443038472069425206516073057303337093878545846289030479653034268720669296499054378827977618603112890577885640959204422472679467984887011438902660819554937995169290324165433424206334101804657904682769040516590211526206855203101624182081011140216936147389817197017363247405127 973895804474752328331850932418174465791123111821329613899610495842067979202134015141278764911109507898266517099244302720210793117348584596353125732452855378670509615793103677021632793004263789085326962314969329783709636553011354584282298490847015610966405566720478937781433287312051051712673248652355490448231054843766944723076331073543484541961837800904964596112631447774117651059028178111278813654220548041761579987696470949052822240791427233169965547015914337154588747063139980435248470867207636522498465359192428067233532436539496247203710026852949020295355052886133247879134646445918051256501387798706539970306025400276251561543638692554887749138833143544634095270495810614228852212576433134580240050659090015022624345567275985287734144058421816354162848105887677756511686340995825970495263380810070140599395963162181506303843439635486144165174177965196367095833105604522596602454342733670110407446047844482927746867107460063681270514481438285037813209447910986771352099994642370324776727795671311618526719911584977418178495454155486312790528380387973909820214241560135750550616911600854465299529379573575119490060098747001625077558682710641237753011257374738896194957275920091372584484535751997531045869520198101655129584523071081580773491079460726135165187200024172061120473342067290959890649427038741013753760953801026620516617155173731831439864824604564993025694094938633393194328934951353972702469317248845465829706318145474752667101874941738823000961048269144917422107880856004572032123346979518030304060683875196361702857151243206225900409526873295673966253905303199774297494613805276724901812317191371394248990815509210671531431595656012899333392779130542770177037051897948374563606937748207098393395778383358678606413842190540090963703808020296739148433907258957155926383959417477113858211944993130079276951270321811889261209345352798088555882683044419904966084549067105159626247458312100061830088535694788677844037636624218348114863668435887697991161329827042881776348422715129115695897548593324158882991846695752677807371291722071499386049866256845771916869920639196584360906912244411453457345434808200252858829235367046250411279419696676393227765453792566145263857263269306555877499375359013801687449845898627500466908081952113981715945546298776731111051172490862192480718716417420190878604828210033497741377220641875221580007215252072478796494415361841817099838331727505589165096042127013340413494810755729527421489647691905986017297985441983950787677617808584251107574634787020436622316833651493324224393232884906874592157272705839743123730958130069549828188493445598266691322850682881463144882779270655989266486395357286350801961785654420142232729168586747850354612516030790481781647804827725338585570574799778109989265396217560201944943870200006243670566947038534571703108415047013005529652147911345458582623006206541609657550698662807316607264955973630768030762104689883771775994633882682923636706695059318970769102399316808367022291810572307074251265450927098866544264903517081579505782879965758586968134352226283936624218678776778956193034164601835390090361054730386983274753853345976953914469552112341256982048558327423934144619771231281868753216618599716503051214445426431233288536425544516653427401433352252644938614810856831608796884073981125047618612390523227033924968405516692214370780664924906727109722493955120441916948561143314659040446962275281711826340476 1575796513141071201586748528333622803679562304214639815083288400081139209554413498038459860684763033474147167157529542217880148810242750409937175432717037523469268417215558818707184615511069080837303588328880167316055706025919187103176039750639362861934770130778901743901927743367109903731177549834917962994306353857910444920694263861363633686219357900532017747588703990505410214322972438922304180987448131796142688668329427897448512185293615384664517432692209481090117384916302307694799426463110065348433101134832238577971627458614241952245345866642291268021465750964796983404405773520613595308259300513209632229043322604987911983280010970337665274436085962257758862219204642332316812339362506692349701089474131222084993330629925296169149142287574882614884598833168744871408993806538732058025452940898371770565219686742712780001090805167238432289813129974390812699125596840338466771589776123469541817165835173522461744028455408310489824432836459804928094700801530108146848161605414268728664401316199869737708742627795224240655468144361097683415026965990752188835968825648027749332553447344605796652882600516137793396452315467616177432605816650151463668159054830701010313248636657668630402711096414522334464696122361478586614525724120577398031563933650716145142803933385303338032314292347577184369695837172879149896243451896715239399828757464697306671192774329227820437187061691794499396812795236018279492179695320610064833913289659294870680482597999614610036659588515962274510299254555513201558608773236854725684844991750583825798941115252008681097276361446294146520396540521771095404402019767070188524132391220413014772960536667697117457228206490630858021507246599612173597446007023489810973313428875137067736390415042103925384732706387420235719908464535421439077119579158381992117508214085652757549494529316573986818100028485198870526621791542895201736358022645056067824334763676910631206068755863736307675660592060233236446817324180928472009181985374160751910694912907173904859513780229207545035477022095754177702793324545820847985875300662338408497547247425462771976060981191653502284037071150500109705948740865445986924042403828647752448928479080461373574074317211599882586855606314092095428036216645655180503326130589879328235620538476262945543974333745301918147814309113167927796288332891370838471452615803892068310052935623409104009957520238354037076263088399900809279167136824475959202095277358550285250391742003735606068186279535470528040224148542304206642595526349731290929853225381874356379873425082632181067983336834118675288550227007096032703907414812475747918032937293615320597908195307855948252117510503515686631617305833790431398731962889687373525562890501078172100791756512625786380522385968665304057145825454795924101811068305121866782767951322839211180241080204039410602131865145603795483426086281037243087367990904109361741714322555313519428465119779538818317485484005461251679976502448993307660974251800919815482954118206420316400843359023770589498703229384772021319490812401817767973195800589711355896996525808921972423529885996604946413097350803336883077662887999942429164569271379763523116418995150813326407255074400481237481713649777128157783696271633985223720510944480810061266155028657407231313042392556675117618082795743843047699544893536063042787902714688660458131302507321350119053549705441496938635929349158222066099029572283531595187836779472299075073745603 2549692317615823529918599460751797269470685416035969428982898895923207188756547513179738625595872541372413684256773844938090941927591335006290301165169892902139778033008662495728817408515332869922630550643849497099765342578930541687458338241486378472901175697499380681683361030679160955443850798487273453442537408701677389643770594934907118228181195701436982343701335438279527865382000617033582994641668679837904268656025898846501334426085042617834482979708123818244706131979442288130047897330317701870931566494024666645205159895153738199449055893495240288316820803850930231283540419966531646564760688311916172199349348005264163544823649662892553023574919105802392957489700452946545664551938939826929941140133221237107617676197201281456883286345996698969047446939056422627920680147534558028520716321708441911164615649904894286304934244802724576454987307939587179794958702444861063374044118857139652224611883018005389490895562868374171094947317898089965907910249441094918200261600056639053441129111871181356235462539380201658833963598516583996205555346378726098656183067208163499883170358945460261952411980089712912886512414214617802510164499360792701421170312205439906508205912577760002987195632166519865510565642559580241744110247191658978805055013111442280307991133409475399152787634414868144260345264211620163650004405697741859916445912638429138111057598933792813462881156630427892591141730187372252194649012569455530663619607804769623347584472941353433037620636785107191932407135411517773590732120216372755988905675625780187501798266495214906997685888319589820486650445824970869701896633572346913425944708411784409021951352176907788988659802146643757354900025730154943774483058921438185536920366623344166129786193425462603991146548577960326683612272555718178225553486417339148043892173503129871407706474309704066095051298807010759787831136895693290292240705689475972790419312744015790832316214175836369505749127755021914290854960805146820124045653810048449901856242734216786635862202944336660731374570689078336585785171241573525793246592384409907883597113682308543892930901830850086644943983394911563163294175673646239782871639195694002860207898777137766801839771004166027850712869583398651305535592004668982190775976488506828702528620428376927259919880044078649258865481604030120277007049308791029350057444013925566051430156265284325589964735490426515872757503761742626379005468551981548367191319485563625663886552759465133489675927227376514057522133984288157430273144158315542037427860168894793002190258734125505292376569719025549880707499712935775827638372942545297746221430739213587289231045990737411397000289774171675898103701191076782200693748544107515758292059087826022455404272543416268162170190796390642642716400254574034091076464522682068727711821522845454850808027242573982305240280192616801013078234192382701669990997110650971399265021218120836035730075753169586348247588695345023455971136331676231297680946860238786252056517523228683423135169596077663749968680311870887863755715918899347478978680555469942865130878035205909047748564773383902606131515405172273168023942730329412439323124725740477030888547263154583389303632727905171626333421008410026536912890233701726771725389907241294554691454201923884740443825908927762556697606600674656496428967517188090406515105211887492056270912838042333424330370366403665745651843113342508015978133426846254228283741747580786900086079 4125488830756894731505347989085420073150247720250609244066187296004346398310961011218198486280635574846560851414303387155971090737834085416227476597886930425609046450224221314436002024026401950759934138972729664415821048604849728790634377992125741334835945828278282425585288774046270859175028348322191416436843762559587834564464858796270751914400553601969000091290039428784938079704973055955887175629116811634046957324355326743949846611378658002499000412400333299334823516895744595824847323793427767219364667628856905223176787353767980151694401760137531556338286554815727214687946193487145241873019988825125804428392670610252075528103660633230218298011005068060151819708905095278862476891301446519279642229607352459192611006827126577626032428633571581583932045772225167499329673954073290086546169262606813681729835336647607066306025049969963008744800437913977992494084299285199530145633894980609194041777718191527851234924018276684660919380154357894894002611050971203065048423205470907782105530428071051093944205167175425899489431742877681679620582312369478287492151892856191249215723806290066058605294580605850706282964729682233979942770316010944165089329367036140916821454549235428633389906728581042199975261764921058828358635971312236376836618946762158425450795066794778737185101926762445328630041101384499313546247857594457099316274670103126444782250373263020633900068218322222391987954525423390531686828707890065595497532897464064494028067070940968043074280225301069466442706389967030975149340893453227481673750667376364013300739381747223588094962249765883967007046986346741965106298653339417101950077099632197423794911888844604906445888008637274615376407272329767117371929065944927996510233795498481233866176608467566529375879254965380562403520737091139617302673065575721140161400387588782628957201003626278052913151327292209630314452928438588492028598728334532040614754076420926422038384970039572677181409719815255150737672284986075292133227639184209201812551155641390691495375983173544205766851592784832514288578495787394373779121893046748316381144361107771315868991883022503588928981054545411672869242916539092226706914043024341755309136377857599140375914088215765910437568475897490746733571808650324162694102107078386156938149158904639872803894213789380567406679790717198048073295382200161867821510059817817634361483091888693429599922255728780552949020592161643435658172605376457507569286596844113910914278294763200739557862206762847042097746282526592364072868670508046832967281085550769149382063683816757686360359906553144225169257726720031808531545787755021045664254368032828907887139241298593359649117800277687362529721007024867213599425711433794889283854949588904194556196029056042054542692576765055946699862225709369958192887532827803935510479772845684666031049107446613392907372145338220596496504320473419944757358988014760333140979343773434355464195195532708404665733072700806275135947638780669538958655198661158601735010635729648999823978528619848253248671909696642909183246528320717115452174481145181298762127403844127881471278450769988849019228866208509156245686830730271841603892396105504000147307542413967909796558707128386409108047070785538184320609161867686950492236334388051355820846482859331116053486218465602880174780402344517704195973861053251133194417819900547950187573420159392452477880075807900604381581192271564574115007705710377849416120521219879861973831682 6675181148372718261423947449837217342620933136286578673049086191927553587067508524397937111876508116218974535671077232094062032665425420422517777763056823327748824483232883810164819432541734820682564689616579161515586391183780270478092716233612119807737121525777663107268649804725431814618879146809464869879381171261265224208235453731177870142581749303405982434991374867064465945086973672989470170270785491471951225980381225590451181037463700620333483392108457117579529648875186883954895221123745469090296234122881571868381947248921718351143457653632771844655107358666657445971486613453676888437780677137041976627742018615516239072927310296122771321585924173862544777198605548225408141443240386346209583369740573696300228683024327859082915714979568280552979492711281590127250354101607848115066885584315255592894450986552501352610959294772687585199787745853565172289043001730060593519678013837748846266389601209533240725819581145058832014327472255984859910521300412297983248684805527546835546659539942232450179667706555627558323395341394265675826137658748204386148334960064354749098894165235526320557706560695563619169477143896851782452934815371736866510499679241580823329660461813188636377102360747562065485827407480639070102746218503895355641673959873600705758786200204254136337889561177313472890386365596119477196252263292198959232720582741555582893307972196813447362949374952650284579096255610762783881477720459521126161152505268834117375651543882321476111900862086176658375113525378548748740073013669600237662656343002144200802537648242438495092648138085473787493697432171712834808195286911764015376021808043981832816863241021512695434547810783918372731307298059922061146412124866366182047154162121825399995962801893029133367025803543340889087133009646857795528226551993060288205292561091912500364907477935982119008202626099220390102284065334281782320839434024008013405173389164942212870701184215409046687158847570277065028527245791222112257273292994257651714407398375607478131238186117880866498226163473910850874363667028967899572368485431158224264741474790079859761922784853353675573925037940323236032537092212738466489785682220035758169344276634736907177753859219931938288281345480889398039107400654993144884878083566892985640677779333016800063814093833459216665545272321228168350302431508952897171567503831743200412913248153977755189886991219207068821778095923386062037178073928439055936477916329677536578164847522665873047538133990223556155268416510880521503141814666362375004708945719663942384253942550883191652736476272169775049965226432967584359184160697566343410475798772042495176370287289330771046118090051859038427824708215943995800119459977902405042147008676730217011600301599458322704862767561446589342578625963943992283963997350486004238191594368530120881857134689187375212612425530837397509582554665802646427349985125411304540244364991555191499925271285877991013980661396151298591918775112345770256336145521397387987067153252877683247113698215925916998640590008513797047002244239616462931153161700651241627258281879333790519027015543372751625360381613681429413710773460601254043215520831244477178196089677122493185862339856291580734380491793948210857522052101388677263961724295292650375537937061255000793930044374530642731478008945192360692402828570439223600932925112435442243844332997434785902210446174304270127233035384907082130985839137224103644404262967460648873917761 10800669979129612992929295438922637415771180856537187917115273487931899985378469535616135598157143691065535387085380619250033123403259505838745254360943753753357870933457105124600821456568136771442498828589308825931407439788629999268727094225737861142573067354055945532853938578771702673793907495131656286316224933820853058772700312527448622056982302905374982526281414295849404024791946728945357345899902303105998183304736552334401027648842358622832483804508790416914353165770931479779742544917173236309660901751738477091558734602689698502837859413770303400993393913482384660659432806940822130310800665962167781056134689225768314601030970929352989619596929241922696596907510643504270618334541832865489225599347926155492839689851454436708948143613139862136911538483506757626580028055681138201613054846922069274624286323200108418916984344742650593944588183767543164783127301015260123665311908818358040308167319401061091960743599421743492933707626613879753913132351383501048297108010998454617652189968013283544123872873731053457812827084271947355446719971117682673640486852920545998314617971525592379163001141301414325452441873579085762395705131382681031599829046277721740151115011048617269767009089328604265461089172401697898461382189816131732478292906635759131209581266999032873522991487939758801520427466980618790742500120886656058548995252844682027675558345459834081263017593274872676567050781034153315568306428349586721658685402732898611403718614823289519186181087387246124817819915345579723889413907122827719336407010378508214103277029989662083187610387851357754500744418518454799914493940251181117326098907676179256611775129866117601880435819421192988107714570389689178518341190811294178557387957620306633862139410360595662742905058508721451490653746737997412830899617568781428366692948680695129322108481562260171921353953391430020416736993772870274349438162358540054019927465585868634909086154254981723868568567385532215766199530777297404390500932178466853526958554016998169626614169291425072265077756258743365162942162816362273351490378477906540645885835897851175630914667875857264502906092485734908901780008751830693196699725244377513478480654492336047553667947435697848725849821378380144772679209305317307578980190645279142578826938237656672867708307622839784072225063038426216423597813709114764993077563649560834774396340042671184789809246947987621770798688085029497695350679304896563505764513173791447492443142285866612605400340753070598253014699037472885576010485174409207971990031270433091766317626367640878013096382825314000219222953152999392890729948452587389074730166804871403063509528587924130695235890329546400957545715240811209399545171411697294326001958265634411567796330655500377247555344326502536042440851673313950476851530178289939748671367214214786912906242135800768119984570869057994006086875139222591184708973140171637681223708764989546964120466818586395679713734096957573727866413893015309214991344182555989722077788982526683071092226835774170247312499705156706230248772560333578383327642845832540389385685723461671990305466313361600644589247822190585659397604190873095647107916936748477325503632091090402982421046984677989842427562579486395178131213969075627756198058683344006196384419920586116847416262840133522906258411289710064888376689623690356795350745012983392431417753156827238380090521982204874508814227656471656245993544847601953060524784187340510847749443 17475851127502331254353242888759854758392113992823766590164359679859453572445978060014072710033651807284509922756457851344095156068684926261263032124000577081106695416689988934765640889109871592125063518205887987446993830972410269746819810459349980950310188879833608640122588383497134488412786641941121156195606105082118282980935766258626492199564052208780964961272789162913869969878920401934827516170687794577949409285117777924852208686306059243165967196617247534493882814646118363734637766040918705399957135874620048959940681851611416853981317067403075245648501272149042106630919420394499018748581343099209757683876707841284553673958281225475760941182853415785241374106116191729678759777782219211698808969088499851793068372875782295791863858592708142689891031194788347753830382157288986316679940431237324867518737309752609771527943639515338179144375929621108337072170302745320717184989922656106886574556920610594332686563180566802324948035098869864613823653651795799031545792816526001453198849507955515994303540580286681016136222425666213031272857629865887059788821812984900747413512136761118699720707701996977944621919017475937544848639946754417898110328725519302563480775472861805906144111450076166330946916579882336968564128408320027088119966866509359836968367467203287009860881049117072274410813832576738267938752384178855017781715835586237610568866317656647528625966968227522961146147036644916099449784148809107847819837908001732728779370158705610995298081949473422783192933440724128472629486920792427956999063353380652414905814678232100578280258525936831541994441850690167634722689227162945132702120715720161089428638370887630297314983630205111360839021868449611239664753315677660360604542119742132033858102212253624796109930862052062340577786756384855208359126169561841716571985509772607629687015959498242290929556579490650410519021059107152056670277596382548067425100854750810847779787338470390770555727414955809280794726776568519516647774225172724505241365952392605647757852355409305938763303919732654216037305829845330172923858863909064764910627310687931035392837452729210940076831130426058144934317100964569159686485407464413271647824931127072954731421806655629787014131166859269542811786609960310452463858274212172128219504717570673472931522401456299000737770335359654384773900245218067662164645067481304035187309588196648939979696238167194690592576784008415559732528753233335619442242429503468984070607989808532485652938474743294154408283115548353407079152299840771582976698976990097034150571568918524069665832859097483775269188179585966977249914109150153732485205965576913898239879815877254901741353980381405439385370423456755205199664631389599699368148966942364628579396632254958699952418111887949125385019477637257942760815527528775943986862961582744907794763376824988143332596996399895391515669429805025237612058958265582942221468073756544738464045738104464386693694395493108872319785189005361079471327489703953377709144942235404366318205925051700087245953089713670503277251016799950041314480804546483782016643967602795462509332481856734352269949629435872015073108377651474349690323437767992954503699721768212896168283386840969570576808054373434606035653266070464305020159782978636656571922356981841117641346307214664165637736420234902425580779518194129580396283670125418834675262086154262024282300968156509144636047263041378738376979383984826056704929047154801159721667204 28276521106631944247282538327682492174163294849360954507279633167791353557824447595630208308190795498350045309841838470594128279471944432100008286484944330834464566350147094059366462345678008363567562346795196813378401270761040269015546904685087842092883256233889554172976526962268837162206694137072777442511831038902971341753636078786075114256546355114155947487554203458763273994670867130880184862070590097683947592589854330259253236335148417865998451001126037951408235980417049843514380310958091941709618037626358526051499416454301115356819176481173378646641895185631426767290352227335321149059382009061377538740011397067052868274989252154828750560779782657707937971013626835233949378112324052077188034568436426007285908062727236732500812002205848004826802569678295105380410410212970124518292995278159394142143023632952718190444927984257988773088964113388651501855297603760580840850301831474464926882724240011655424647306779988545817881742725483744367736786003179300079842900827524456070851039475968799538427413454017734473949049509938160386719577600983569733429308665905446745728130108286711078883708843298392270074360891055023307244345078137098929710157771797024303631890483910423175911120539404770596408005752284034867025510598136158820598259773145118968177948734202319883383872537056831075931241299557357058681252505065511076330711088430919638244424663116481609888984561502395637713197817679069415018090577158694569478523310734631340183088773528900514484263036860668908010753356069708196518900827915255676335470363759160629009091708221762661467868913788189296495186269208622434637183167414126250028219623396340346040413500753747899195419449626304348946736438839300418183094506488954539161930077362438667720241622614220458852835920560783792068440503122852621190025787130623144938678458453302759009124441060502462850910532882080430935758052880022331019715758741088121445028320336679482688873492725372494424295982341341496560926307345816921038275157351191358768324506409603817384466524700731011028381675991397581200247992661692446275349242386971305556513146585782211023752120605068204579737222911793053836097109716399852883185132708790785126305585619409002285089754091327635739980988237649687584465819265627760042838464857451270798331655808330145799230709079138784809995398398080601197498058927182427157722631130864869961705928239320124769505485115182312363375472093445057427879432538232182948006942677260431563051132094399098258338815496364752661297814585826292655162785015180790948689008260530125916889195286164947678929241922797775488411132738966370140644057602741121559936132381785301303389344465179032436589870710951840342916138697566414599209802801296993694150925207999040147192962910459077199973456214451661427460329310571893237667057707065883735534328796959694707669618960788911452581567268953385521756304944247828796767931405754579902691782521534285428166204923050782373408129590066446047651602898376388686318833886509367431222731217931049389298151887474257493265589418827209507499789360283619697808447392316322406029653326257134499637948170095952914538877258062600732505981842347445337431354704741431829203353859303299150704433825647560419235616952921001213784480039539932776357841661980662768306776902427234488762570054797688543994831524612490469156207817819937191634415138402227106679839311089262662391490138714019144861490697850394622972928832428009765453831342141670569416647 45752372234134275501635781216442346932555408842184721097443992847650807130270425655644281018224447305634555232598296321938223435540629358361271318608944907915571261766837082994132103234787879955692625865001084800825395101733450538762366715144437823043193445113723162813099115345765971650619480779013898598707437143985089624734571845044701606456110407322936912448826992621677143964549787532815012378241277892261897001874972108184105445021454477109164418197743285485902118795063168207249018076999010647109575173500978575011440098305912532210800493548576453892290396457780468873921271647729820167807963352160587296423888104908337421948947533380304511501962636073493179345119743026963628137890106271288886843537524925859078976435603019028292675860798556147516693600873083453134240792370259110834972935709396719009661760942705327961972871623773326952233340043009759838927467906505901558035291754130571813457281160622249757333869960555348142829777824353608981560439654975099111388693644050457524049888983924315532730954034304415490085271935604373417992435230849456793218130478890347493141642245047829778604416545295370214696279908530960852092985024891516827820486497316326867112665956772229082055231989480936927354922332166371835589639006456185908718226639654478805146316201405606893244753586173903350342055132134095326620004889244366094112426924017157248813290980773129138514951529729918598859344854323985514467874725967802417298361218736364068962458932234511509782344986334091691203686796793836669148387748707683633334533717139813043914906386453863239748127439725020838489628119898790069359872394577071382730340339116501435469051871641378196510403079831415709785758307288911657847847822166614899766472197104570701578343834867845254962766782612846132646227259507707829549151956692464861510663968225910388696140400558744753780467112372730841454779111987174387689993355123636188870129175087490330468660831195763264980023397297150777355653083914336437686049382523915864009690458802209465142318880110036949791685595724051797237553822507022619199208106296036070467140457273713246416589573334279144656568353337851198770414210680969012569670540173204056774130516746481957016511560746957422754112155096919230396252429225938212506696739069623399017836373379003618730753110535437785547765733757734985971398304145250089322367698612168905149015516435969064749201723282377002955952256101860617160408185771567802390249372180729415633659121902931583911277290239658907069580930134179699734315084855952373925387985250627160067460764204689017344762101020281550757599312324933347390558166752894854045142097958699199543269160342433934177943851092357279728286562154321619798874434190896693062299892150363668726589595165417777152391568102400786812479806947829835998482585235841827722397290379704602502432995785777054785178563668848777037425734749273066408826889671337522124159856278079023892211943027515169067102525083175318367436791903737468157646323590462745140367673453335415707504076939174344739218679132497712784750806160233661012289251938800104422673620929052597008970430026830305184488506693934615805614359493821795027754792472734386332903075627516195318987820666617130996043671326355607249437746110004237796517624640617319340229133884268352130108877269461854181731251759514916049935726011949517587918085263821061781941925465351286944692458295223163780908753739229132999952312817254066470382878496942830291083851 74028893340766219748918319544124839106718703691545675604723626015442160688094873251274489326415242803984600542440134792532351715012573790461279605093889238750035828116984177053498565580465888319260188211796281614203796372494490807777913619829525665136076701347612716986075642308034808812826174916086676041219268182888060966488207923830776720712656762437092859936381196080440417959220654663695197240311867989945844594464826438443358681356602894975162869198869323437310354775480218050763398387957102588819193211127337101062939514760213647567619670029749832538932291643411895641211623875065141316867345361221964835163899501975390290223936785535133262062742418731201117316133369862197577516002430323366074878105961351866364884498330255760793487863004404152343496170551378558514651202583229235353265930987556113151804784575658046152417799608031315725322304156398411340782765510266482398885593585605036740340005400633905181981176740543893960711520549837353349297225658154399191231594471574913594900928459893115071158367488322149964034321445542533804712012831833026526647439144795794238869772353334540857488125388593762484770640799585984159337330103028615757530644269113351170744556440682652257966352528885707523762928084450406702615149604592344729316486412799597773324264935607926776628626123230734426273296431691452385301257394309877170443138012448076887057715643889610748403936091232314236572542672003054929485965303126496986776884529470995409145547705763412024266608023194760599214440152863544865667288576622939309670004080898973672923998094675625901215996353513210134984814389107412503997055561991197632758559962512841781509465372395126095705822529457720058732494746128212076030942328655569438928402274467009369298585457482065713815602703173629924714667762630560450739177743823088006449342426679213147705264841619247216631377645254811272390537164867196718709709113864724310315157495424169813157534323921135759404319379638492273916579391260153358724324539875107222778014965211813282526785404810767960820067271715449378437801815168715065474557348683007376023653603859495457440341693939347349236305576249644252606511320397368865452855672881994841900436102365890959301601314838285058494093143334568917980718248491565972549535203927074669816168029187333764529983819614576570357761132155815587168896363072432516480090329743033775110721444675289189518707208397559315319327728195305674588287618309799985338256314857989847196710253997330682169616105736023659730878744720005992389477869871133164874076993511157285984349959490853965023691342943079326246010445063899717531202224355635975605078230340484500846658504807612966614533721803309120071202700851888034398084236992193686756450817358362708873782558075876854352365024316852448239940136258401729236149642942907711457931619176664297210102614746565966237760130937802162559182039693520895205594821077092102026851638799613309320378147950565951440510654673241764415088394802113856843965157476972112571590404671266465096802228826648602232484268551324922292250595520517280710097699331116426828703274255309731508608378196926258099027383951997216538120341336169240365186147177475818162106429486819494469692254492264691415279288279276608463222226149544170572875466302597982108535910786695586618871447324259542725726083284127406519091933829769454779552500402223288888621764776440549607083948433937182925770244437079527622925241649682076235836709839084500860500498 119781265574900495250554100760567186039274112533730396702167618863092967818365298906918770344639690109619155775038431114470575150553203148822550923702834146665607089883821260047630668815253768274952814076797366415029191474227941346540280334973963488179270146461335879799174757653800780463445655695100574639926705326873150591222779768875478327168767169760029772385208188702117561923770442196510209618553145882207741596339798546627464126378057372084327287396612608923212473570543386258012416464956113235928768384628315676074379613066126179778420163578326286431222688101192364515132895522794961484675308713382552131587787606883727712172884318915437773564705054804694296661253112889161205653892536594654961721643486277725443860933933274789086163723802960299860189771424462011648891994953488346188238866696952832161466545518363374114390671231804642677555644199408171179710233416772383956920885339735608553797286561256154939315046701099242103541298374190962330857665313129498302620288115625371118950817443817430603889321522626565454119593381146907222704448062682483319865569623686141732011414598382370636092541933889132699466920708116945011430315127920132585351130766429678037857222397454881340021584518366644451117850416616778538204788611048530638034713052454076578470581137013533669873379709404637776615351563825547711921262283554243264555564936465234135871006624662739886918887620962232835431887526327040443953840029094299404075245748207359478108006637997923534048953009528852290418126949657381534815676325330622943004537798038786716838904481129489140964123793238230973474442509006202573356927956568269015488900301629343216978517244036504292216225609289135768518253053417123733878790150822184338694874471571580070876929292349910968778369485786476057360895022138268280288329700515552867960006394905123536401405242177991970411844757627542113845316276854371106399702468988360499185286670511660143626195155116899024384342776935643051272232475174489796410373922399023086787705424014022747669104284920804910611752867439501175675355637675737684673765454979043446490794061133208703856931267273626493892873929587495451376925531078337878022526213055198898674566619112372916318112875585242481248205298431488148376970677717504185056231942996698068834004402566337383260736930150014355905526865913550573140294667217682605802458028355202680259736961111258254267908931679936318275279984297166291748695804081367787728505687038719262830369375900262266080893395975682566800459674854185692123792954727085538799464978761784446051810723695542982368453443963360877003609757388833064921760391108530829650220328299183700389927665150046900792477572895666399799489263006209654196958671183090379818750709508726377600372153241294631504756592419253235052419943206231565234632228178749539180328909556368899712535610532343021022938694606650939596607774442793961614421710748429624151011495077692333212590090978081120507613179756417082782525186705851325001611481067434857711958078124601880804306305765822946971702947683822635077001401680750941722386951269916531251376895184362328517578808223756563283515890645931832343734700829991035392940939650210204495009505114335689788680075158881822411322959605632215712659972259548408369393090943215301448765044670963938748980324593721396907457335043642322569027659841718972367470585666044350670563690241791836551776406729160346706678998176308660622877554466936142706219588336027331151584349 193810158915666714999472420304692025145992816225276072306891244878535128506460172158193259671054932913603756317478565907002926865565776939283830528796723385415642918000805437101129234395719656594213002288593648029232987846722432154318193954803489153315346847808948596785250399961835589276271830611187250681145973509761211557710987692706255047881423932197122632321589384782557979882991096860205406858865013872153586190804624985070822807734660267059490156595481932360522828346023604308775814852913215824747961595755652777137319127826339827346039833608076118970154979744604260156344519397860102801542654074604516966751687108859118002396821104450571035627447473535895413977386482751358783169894966918021036599749447629591808745432263530549879651586807364452203685941975840570163543197536717581541504797684508945313271330094021420266808470839835958402877948355806582520492998927038866355806478925340645294137291961890060121296223441643136064252818924028315680154890971283897493851882587200284713851745903710545675047689010948715418153914826689441027416460894515509846513008768481935970881186951716911493580667322482895184237561507702929170767645230948748342881775035543029208601778838137533597987937047252351974880778501067185240819938215640875367351199465253674351794846072621460446502005832635372202888647995517000097222519677864120434998702948913311022928722268552350635322823712194547072004430198330095373439805332220796390852130277678354887253554343761335558315561032723612889632567102520926400482964901953562252674541878937760389762902575805115042180120146751441108459256898113615077353983518559466648247460264142184998487982616431630387922048138746855827250747799545335809909732479477753777623276746038589440175514749831976682593972188960105982075562784768828731027507444338640874409348821584336684106670083797239187043222402882353386235853441721567825109411582853084809500444165935829956783729479038034783788662156574135325188811866434643155134698462274130309565720389225836030195889689731572871431820139154950554113157452844452750148322803662050822514447664992704161297272961212973843129179505837139703983436851475706743475381885937193740575002721478263875619714190423527539742298441766057066357688926209070157605767146923772738650172431753671147790720749764590926263287998069366160309191030290115122282548358098236455370458405786547443786616140077495633594607712492471966336983422391167773066762001896709110027079629897592948250509501711706226531338419574191684513270824598218703673541972272941732036160683186396947392144786906440203249620202452732782452962615464166805255298558639668201236586169957659867407011294698975519870691963858097688595042908175284066575201526867089086474154711317171485857121616736105683292360079464633294470781871121657250638260528733033196922638225278908987260698825544453102155789814136314856820016531825521726177863133877305642532968238928647071948123834429658847197613581507965181845576638544406970283548482795868345901108534592471549204187216235147557369251997201268222432484650601032958080080169439672060026187186420682821382543274597929048881855042166160275758127086827686022657115934601155184258372329651146513826602247884908824175882198409092578942268557245813283557300955457659525367851771917980939633183418327769729088119593671488427147023086068267639559185455018232386158860355163097529632449242613388188245802796116618218942056298175111832012084847 313591424490567210250026521065259211185266928759006469009058863741628096324825471065112030015694623023222912092516997021473502016118980088106381452499557532081250007884626697148759903210973424869165816365391014444262179320950373500858474289777452641494616994270284476584425157615636369739717486306287825321072678836634362148933767461581733375050191101957152404706797573484675541806761539056715616477418159754361327787144423531698286934112717639143817443992094541283735301916566990566788231317869329060676729980383968453211698740892466007124459997186402405401377667845796624671477414920655064286217962787987069098339474715742845714569705423366008809192152528340589710638639595640519988823787503512675998321392933907317252606366196805338965815310610324752063875713400302581812435192490205927729743664381461777474737875612384794381199142071640601080433592555214753700203232343811250312727364265076253847934578523146215060611270142742378167794117298219278011012556284413395796472170702825655832802563347527976278937010533575280872273508207836348250120908957197993166378578392168077702892601550099282129673209256372027883704482215819874182197960358868880928232905801972707246459001235592414938009521565618996425998628917683963779024726826689406005385912517707750930265427209634994116375385542040009979503999559342547809143781961418363699554267885378545158799728893215090522241711333156779907436317724657135817393645361315095794927376025885714365361560981759259092364514042252465180050694052178307935298641227284185195679079676976547106601807056934604183144243939989672081933699407119817650710911475127735663736360565771528215466499860468134680138273748035991595769000852962459543788522630299938116318151217610169511052444042181887651372341674746582039436457806907097011315837144854193742369355216489460220508075325975231157455067160509895500081169718575938931509114051841445308685730836447490100409924634154933808173004933509778376461044341609132951545072384673153396353425813239858777864993974652377782043573006594451729788513090520190434822088258641094269005241726125912865154204228486600337022053435424635155360362382554044621497908098992392639249569340590636791937827066008770020990503740197545214734659603926574342661999089920470807484176834320008531051457679914605282168814863982916733449485697507797728085006386453439135630195366897805698054525071757431951869887696789638258085679226472535560795267688935428372857449005797855214331402897687388793331798094428377376637063779325304242473006951034726178087971406881939929760598230869801080253229959841565847374723006572697634905518886938851901626513835107706768199488867594641919670181226864307342792001579358374446393952236375815464074526864558466117361878209155358918344780022670864859705414099300406789818589438289402096635173835811252008283637520151104041752397588579108818434438242573951350328874628954997975745558329906728192455737014186075929980138768213816506847188119611841827995506560920470226705414840358294496175890163918970192446253398882019164154871601870949489331457064624034388543765994644439384666059165243860881225589742996151311151068026477896227152125439715490874047052404810028336237925207490541039888542170668640987311661648189028585006066000128623464116832096511702336540640753371412051657147253513207399514493671734311990229749145260024222710636761892257876339128240789696848868680350583554361648275886511139163163669196 507401583406233925249498941369951236331259744984282541315950108620163224831285643223305289686749555936826668409995562928476428881684757027390211981296280917496892925885432134249889137606693081463378818653984662473495167167672805655176668244580941794809963842079233073369675557577471959015989316917475076002218652346395573706644755154287988422931615034154275037028386958267233521689752635916921023336283173626514913977949048516769109741847377906203307600587576473644258130262590594875564046170782544885424691576139621230349017868718805834470499830794478524371532647590400884827821934318515167087760616862591586065091161824601963716966526527816579844819600001876485124616026078391878771993682470430697034921142381536909061351798460335888845466897417689204267561655376143151975978390026923509271248462065970722788009205706406214648007612911476559483311540911021336220696231270850116668533843190416899142071870485036275181907493584385514232046936222247593691167447255697293290324053290025940546654309251238521953984699544523996290427423034525789277537369851713503012891587160650013673773788501816193623253876578854923067942043723522803352965605589817629271114680837515736455060780073729948535997458612871348400879407418751149019844665042330281372737111982961425282060273282256454562877391374675382182392647554859547906366301639282484134552970834291856181728451161767441157564535045351326979440747922987231190833450693535892185779506303564069252615115325520594650680075074976078069683261154699234335781606129237747448353621555914307496364709632739719225324364086741113190392956305233432728064894993687202311983820829913713213954482476899765068060321886782847423019748652507795353698255109777691893941427963648758951227958792013864333966313863706688021512020591675925742343344589192834616778704038073796904614745409772470344498289563392248886317023160297506756618525634694530118186175002383320057193654113192968591961667090083913701649856208043776106679770846947283705919146202465694808060883664383950653475393145749402283901670543364643184970411062303145091519689391118617026451477189699574180151232941261774859343799234029751364973289984929586379824572062068900667557541256432297560732802181963602281092348530135644500267766236844243546134349266073679678842178429679196208432102862052282893758676727797912850367554744551675591000653772684353141841141211834927585464495409282110224422662648863703333862029690832137482884528635695448162581912399399095019863136514002569061150334603923522946146548923307667910124132090068336877152743017776241283502850162294298629827685622036864440160817445578520102863100005065366635606500162293617439540873190722405031387044487533658512969153763242904550548681575875637603218999825891464601637140102135498154176195970422064040456849967022435293557812061090160995544336345695557143908187402715423675254454774399473076506737762832303618278526568835375264403860848615734777177752349721781688692764758156248798279055043716338572606523374950766045380077380154117749815505396083287386587356252471982447411537234063706448569953181065122206048602439841789930107444785162311586909195113305582249809241374316646058305424734461174850064527455375449864064424369077733566253930205434841868563366955586282989484683868429683276173824171699181780745266847184695826661516757802579629788934600278256608869497117055355405971577483403085037114483146700172580590332184686250995175754043 820993007896801135499525462435210447516526673743289010325008972361791321156111114288417319702444178960049580502512559949949930897803737115496593433795838449578142933770058831398649040817666506332544635019375676917757346488623179156035142534358394436304580836349517549954100715193108328755706803223762901323291331183029935855578522615869721797981806136111427441735184531751909063496514174973636639813701333380876241765093472048467396675960095545347125044579671014927993432179157585442352277488651873946101421556523589683560716609611271841594959827980880929772910315436197509499299349239170231373978579650578655163430636540344809431536231951182588654011752530217074835254665674032398760817469973943373033242535315444226313958164657141227811282208028013956331437368776445733788413582517129437000992126447432500262747081318791009029206754983117160563745133466236089920899463614661366981261207455493152990006449008182490242518763727127892399841053520466871702180003540110689086796223992851596379456872598766498232921710078099277162700931242362137527658278808911496179270165552818091376666390051915475752927085835226950951646525939342677535163565948686510199347586639488443701519781309322363474006980178490344826878036336435112798869391869019687378123024500669176212325700491891448679252776916715392161896647114202095715510083600700847834107238719670401340528180054982531679806246378508106886877065647644367008227096054850987980706882329449783617976676307279853743044589117228543249733955206877542271080247356521932644032701232890854602966516689674323408468608026730785272326655712353250378775806468814937975720181395685241429420982337367899748198595634818839018788749505470254897486777740077630010259579181258928462280402834195751985338655538453270060948478398583022753659181734047028359148059254563257125122820735747701501953356723902144386398192878873445688127639686535975426871905838830810157603578747347902400134672023593692078110900549652909058224843231620437102272572015705553585925877639036328435518966152343854013690183633884833619792499320944239360524931117244529891605681418186174517173286376686410014704161616583795986471198083921979019074141402659537459495368322441067581723305922161147495827008134062218842929765326764714353618526100393688209893636109593801490600917726035199627208162425305710578452561131005114726630849139582158839895666283592359537334383106071748482508341875336238894657297379767565855741977641493303376913315297086483813194934608430946437787398383248827188619555874342394088212103496950276806913341248646042363756080122135864477202408628609562075066336332517372004489613840173073403805989029888259359211054417586712374179046066892032959363105999618720014623208440434103720580878035046823519981920124806363013881610069722470830275439405311837390192985896901413003827973865846661185660584991294532493688893016973424426835612391787301594024084898742103456859597862801810707157891117935598195539952877768090626274561604636808799311938215309060541555967544073087942261758794965306550742227854342931936742994298687740837113719175709561590714661605085650811333034528158462898060263139783478476961366814032136932352477139271203186302452662865990903952966539746374553565591853623870453569432955714906453601515964941385612714464925070593832402414100697903226176010429536891620018683745538280831580133878947613282310705724192781885983163497283726942238608071197390158339423239 1328394591303035060749024403805161683847786418727571551640959080981954545987396757511722609389193734896876248912508122878426359779488494142886805415092119367075035859655490965648538178424359587795923453673360339391252513656295984811211810778939336231114544678428750623323776272770580287771696120141237977325509983529425509562223277770157710220913421170265702478763571490019142585186266810890557663149984507007391155743042520565236506417807473451550432645167247488572251562441748180317916323659434418831526113132663210913909734478330077676065459658775359454144442963026598394327121283557685398461739196513170241228521798364946773148502758478999168498831352532093559959870691752424277532811152444374070068163677696981135375309963117477116656749105445703160598999024152588885764391972544052946272240588513403223050756287025197223677214367894593720047056674377257426141595694885511483649795050645910052132078319493218765424426257311513406631887989742714465393347450795807982377120277282877536926111181850005020186906409622623273453128354276887926805195648660624999192161752713468105050440178553731669376180962414081874019588569662865480888129171538504139470462267477004180156580561383052312010004438791361693227757443755186261818714056911349968750860136483630601494385973774147903242130168291390774344289294669061643621876385239983331968660209553962257522256631216749972837370781423859433866317813570631598199060546748386880166486388633013852870591791632800448393724664192204621319417216361576776606861853485759680092386322788805162099331226322414042633792972113471898462719612017586683106840701462502140287704002225598954643375464814267664816258917521601686441808498157978050251185032849855321904201007144907687413508361626209616319304969402159958082460498990258948496002526323239862975926763292637054029737566145520171846451646287294393272715216039170952444746165321230505545058080841214130214797232860540870992096339113677605779760756757696685164904614078567720808191718218171248393986761303420279088994359298093256297591854177249476804762910383247384452044620508363146918057158607885748697324519317948184874047960850613547351444488068851565398898713464728438127052909578873365142456108104124749776919356664197863343197531563608957899752875366467367888735814539272997699033020588087482520966839153103623428820115875556790317631502912266511981736807495427287122798878515353858706931004524199942228519327070599703338626506277188751539495227696485578833058071122433515498937732987172350134766104797650061998336235587018613684066084266422283647258930284430163107030094250646426515227153778095892107352713845238440039412489192181876798751927608309117405566090554425691472332259762861624565171890016309741323799877860938288121619060226941861168057806040144534870732289372334272683750797957991573999372310211542218329568772394009956168943347791372897503342350154619605212302611467577478721263458711417545484335643467657379884232717635924339424553616648353147371918461590259826586936044924227205692077264191048593937329584106814914384154531532751447285683672356774683796763264044927440741440479313320774484969458253089060726770608188348782990657901873732378036366980118241440768017390908824108119819522059058712322132799911301189443086199833371068888888289096769775613147680947882599052837527187339471249807618345816537440449630996002968688282283207595866923097646643983899522828940255883641153515177282 2149387599199836196248549866240372131364313092470860561965968053343745867143507871800139929091637913856925829415020682828376290677292231258383398848887957816653178793425549797047187219242026094128468088692736016309009860144919163967246953313297730667419125514778268173277876987963688616527402923365000878648801314712455445417801800386027432018895227306377129920498756021771051648682780985864194302963685840388267397508135992613703903093767568996897557689746918503500244994620905765760268601148086292777627534689186800597470451087941349517660419486756240383917353278462795903826420632796855629835717776163748896391952434905291582580038990430181757152843105062310634795125357426456676293628622418317443101406213012425361689268127774618344468031313473717116930436392929034619552805555061182383273232714960835723313503368343988232706421122877710880610801807843493516062495158500172850631056258101403205122084768501401255666945021038641299031729043263181337095527454335918671463916501275729133305568054448771518419828119700722550615829285519250064332853927469536495371431918266286196427106568605647145129108048249308824971235095602208158423292737487190649669809854116492623858100342692374675484011418969852038054635480091621374617583448780369656128983160984299777706711674266039351921382945208106166506185941783263739337386468840684179802767448273632658862784811271732504517177027802367540753194879218275965207287642803237868147193270962463636488568467940080302136769253309433164569151171568454318877942100842281612736419024021696016702297743012088366042261580140202683735046267729939933485616507931317078263424183621284196072796447151635564564457513156420525460597247663448305148671810589932951914460586326166615875788764460405368304643624940613228143408977388841971249661708057286891335074822547200311154860386881267873348405003011196537659113408918044398132873805007766480971929986680044940372400811607888773392231011137271297857871657307349594223129457310188157910464290233876801979912638942456607524513325450437110311282037811134310424555409704191623812569551625607676809662840026071923214497805694634594888752122467197343337915686152773544417972854867387975586548277901314432724179414026285897272746364798260082186127296890373672253371401466861056098629450648866799189633938314122682148175001578409334007272677006561905044262352051848670821632473779019646660133261621425607189439346399536181123176624450367269194368483918682054916408542993572062646253005730864461936725131370421177323385660671992456086548339083968890490979425515068326011015010406566027584232502879255988590293490110613264111842327685411513443218478222070136157962982025895829779745136621317724431695365762480344579795098456743845044380755895985111641600980351748224181939416109867005701007728777646110073943783854892987003200284077388879515229357385304488662632240808346321930177962546406906806326696366319582178123056574219356191493534585592978079772670513692430050828178252989956171230399805568887128492012468300293634339022986013900488071811961157846320897525831439188122797391532484245387477925650013091552773513841479237383029721392872539203731975002380919923010379013003581222669432781107431671970357448570482673385113912682582775702232867016095896687715798312454501602754021840369445550095048580502279013537616876362869826302091354818272029764874950581970592988931788648809080810141267626465067548327081031311854600521 3477782190502871256997574270045533815212099511198432113606927134325700413130904629311862538480831648753802078327528805706802650456780725401270204263980077183728214653081040762695725397666385681924391542366096355700262373801215148778458764092237066898533670193207018796601653260734268904299099043506238855974311298241880954980025078156185142239808648476642832399262327511790194233869047796754751966113670347395658553251178513178940409511575042448447990334914165992072496557062653946078184924807520711609153647821850011511380185566271427193725879145531599838061796241489394298153541916354541028297456972676919137620474233270238355728541748909180925651674457594404194754996049178880953826439774862691513169569890709406497064578090892095461124780418919420277529435417081623505317197527605235329545473303474238946364259655369185456383635490772304600657858482220750942204090853385684334280851308747313257254163087994620021091371278350154705663617033005895802488874905131726653841036778558606670231679236298776538606734529323345824068957639796137991138049576130161494563593670979754301477546747159378814505289010663390698990823665265073639311421909025694789140272121593496804014680904075426987494015857761213731282392923846807636436297505691719624879843297467930379201097648040187255163513113499496940850475236452325382959262854080667511771427657827594916385041442488482477354547809226226974619512692788907563406348189551624748313679659595477489359160259572880750530493917501637785888568387930031095484803954328041292828805346810501178801628969334502408676054552253674582197765879747526616592457209393819218551128185846883150716171911965903229380716430678022211902405745821426355399856843439788273818661593471074303289297126086614984623948594342773186225869476379100919745664234380526754311001585839837365184597953026788045194856649298490930931828624957215350577619970328996986516988067521259070587198044468429644384327350250948903637632414065046279388034071388755878718656008452048050373899400245876886613507684748530366608873891988383787229318320087439008264614172133970823727719998633957671911822325012582779762800083317810890689360174221625109816871568332116413713601187480187797866635522130410647049665721462457945529324828453982630153124276833328423987365265188139796888666958902210164669141840731512957436092792882118695361893854964115182803369281274446933782932140136779465896370350923736123351695951520966972532994990195870806455903770690057641479311076853297977435662864357593527458151765469642518084884574670987504175045509781490609658273940690996190691262597129902415105520643888709156219195041530649953482630967414252012956714909634204947185311227175743415904027625525341969144966988473053586368180633756923399763220040578690085349997222150011540571740018149980382757694581812884561002572594288931097844798129779314444831575588599719219433520312701026512018629307833897060899386515285636901675829178053250357964005388149616769475381794901343103543148861395828713715428057392527499326416287177062494425401396067972760705052057364190635408481063889258929184241189694940532294213993154800011867999179645961599930502583190729702913668280886735959259036412899348872439987748357394590793204635971741295097835032778317285339773915631683523390491043118610145058697775996463101331851064804215834119633920437171355712479395870953550658875272139384515732178456785251525987896488582964672465369777803 5627169789702707453246124136285905946576412603669292675572895187669446280274412501112002467572469562610727907742549488535178941134072956659653603112868035000381393446506590559742912616908411776052859631058832372009272233946134312745705717405534797565952795707985286969879530248697957520826501966871239734623112612954336400397826878542212574258703875783019962319761083533561245882551828782618946269077356187783925950759314505792644312605342611445345548024661084495572741551683559711838453525955607004386781182511036812108850636654212776711386298632287840221979149519952190201979962549151396658133174748840668034012426668175529938308580739339362682804517562656714829550121406605337630120068397281008956270976103721831858753846218666713805592811732393137394459871810010658124870003082666417712818706018435074669677763023713173689090056613650015481268660290064244458266586011885857184911907566848716462376247856496021276758316299388796004695346076269077139584402359467645325304953279834335803537247290747548057026562649024068374684786925315388055470903503599697989935025589246040497904653315765025959634397058912699523962058760867281797734714646512885438810081975709989427872781246767801662978027276731065769337028403938429011053880954472089281008826458452230156907809322306226607084896058707603107356661178235589122296649322921351691574195106101227575247826253760214981871724837028594515372707572007183528613635832354862616460872930557941125847728727512961052667263170811070950457719559498485414362746055170322905565224370832197195503926712346590774718316132393877265932812147477466550078073717325136296814552369468167346788968359117538793945173943834442737363002993484874660548528654029721225733122179797240919165085890547020352928592219283386414369278453767942890995325942437813645646076408387037676339458339908055918543261652309687468590942033875259748710493775336763467488918054201304010959598856076318417776558361388220201495504071372395873611163528698944036629120298685924852353812039188333494138021010198967476920155929799518097653873729791630632077183723759578500537382838660029595126320130707217374651552205785008234027275860374398654234844423199504389300149465381502230590814936156696544322412086260718027715452125344356302406495678300189480085994715837006596078300897216332846817316842309922291443365469888680600406156207015963853625001755053466580443065401758205073085809697323272304474872575971334241727363474114552861372312313683629704125564082584162439372387995728014704781537426141634974171432913754956394666024935296558935669288951097562218275495100009158403695814133999322420331037369216061466925849445636322149114677891660100776965056363797061140335722991287822313724762086929797431412561389652908511404821020930438309531936638259878546272747746927626492831638365667777548005772878366319977360027487164618933494207829408065541363698275247433418824956004200216643077509571859856257867322712638843336043778058663309199526209973154333059714379261201397600843920069860827792960755310163076394913473208029130607025949583195629823531278455421743174571719115344953623846987506996279249251028901038834139134234558193110622836678659899739540481705845680456304111958105805965073466589749884423877873537265645333381236461631429995977892093797140450514504247871045043603610864602421092196989460222528526173984509160745904132629468261071173164541259266926519152452964036910045703777224378324 9104951980205578710243698406331439761788512114867724789179822321995146693405317130423865006053301211364529986070078294241981591590853682060923807376848112184109608099587631322438638014574797457977251173424928727709534607747349461524164481497771864464486465901192305766481183509432226425125601010377478590597423911196217355377851956698397716498512524259662794719023411045351440116420876579373698235191026535179584504010493018971584722116917653893793538359575250487645238108746213657916638450763127715995934830332886823620230822220484203905112177777819440060040945761441584500133504465505937686430631721517587171632900901445768294037122488248543608456192020251119024305117455784218583946508172143700469440545994431238355818424309558809266717592151312557671989307227092281630187200610271653042364179321909313616042022679082359145473692104422320081926518772284995400470676865271541519192758875596029719630410944490641297849687577738950710358963109274972942073277264599371979145990058392942473768926527046324595633297178347414198753744565111526046608953079729859484498619260225794799382200062924404774139686069576090222952882426132355437046136555538580227950354097303486231887462150843228650472043134492279500619421327785236647490178460163808905888669755920160536108906970346413862248409172207100048207136414687914505255912177002019203345622763928822491632867696248697459226272646254821489992220264796091092019984021906487364774552590153418615206888987085841803197757088312708736346287947428516509847550009498364198394029717642698374305555681681093183394370684647551848130578027224993166670530926718955515365680555315050497505140271083442023325890374512464949265408739306301015948385497469509499551783773268315222454383016633635337552540813626159600595147930147043810740990176818340399957077994226875041524056292934843963738118301608178399522770658832475099288113745665760454005906121722563081546796900544748062160885711639169105133136485437442152999197600087699915347776307137972902727711439434210380751528694947497843529029821787901884883192049879069640341797895893549324265102837293987267038142455719800154414352289102819124716636034596023764051715991531620803013750652861690028457450458287107191372077807723175973244776953798338932559619955133517904073359981025146392966967856118543011486458683041435248879458262770799295768050061980079036428371036327913514225997541894984538982180048247008427826568527492301214260358464310423667828216084373687345604875159437460416808050860085608232239689191611277492256317488425943898841070445078049545327562891788558408966757697139060818801334777888031576550232410746711420408480413050574162071392801294305724150367590972804556239750616813164282869729075402851017780742023409831911168041061509128394881933860409890086844487765077606875589332947480662109008345472655251075204825616943933378325783418007784760797218587948459930843585312034113703976896087145493159543151890692093694007783446812925969001591768055676163257528122597226314559348127253355292287171597340138889338874604097103367731001640559820458939759519311002103755960305039894156141201500151079261119028080684795739064737141383840325750346940786475499740742258579805176551945854163359664259794385856165172971372298423650666576235547061679501282584840259060659562945647041506704942715667225308031109094142965697529696988556616857683288343533210557680273437723711770678440860525493010376242594156127 14732121769908286163489822542617345708364924718537017464752717509664592973679729631535867473625770773975257893812627782777160532724926638720577410489716147184491001546094221882181550631483209234030110804483761099718806841693483774269870198903306662030439261609177592736360713758130183945952102977248718325220536524150553755775678835240610290757216400042682757038784494578912685998972705361992644504268382722963510454769807524764229034722260265339139086384236334983217979660429773369755091976718734720382716012843923635729081458874696980616498476410107280282020095281393774702113467014657334344563806470358255205645327569621298232345703227587906291260709582907833853855238862389556214066576569424709425711522098153070214572270528225523072310403883705695066449179037102939755057203692938070755182885340344388285719785702795532834563748718072335563195179062349239858737262877157398704104666442444746182006658800986662574608003877127746715054309185544050081657679624067017304450943338227278277306173817793872652659859827371482573438531490426914102079856583329557474433644849471835297286853378689430733774083128488789746914941186999637234780851202051465666760436073013475659760243397611030313450070411223345269956449731723665658544059414635898186897496214372390693016716292652640469333305230914703155563797592923503627552561499923370894919817870030050066880693950008912441097997483283416005364927836803274620633619854261349981235425520711359741054617714598802855865020259123779686804007506927001924210296064668687103959254088474895569809482394027683958112686817041429114063390174702459716748604644044091812180232924783217844294108630200980817271064318346907686628411732791175676496914151499230725284905953065556141619468907180655690481133032909546014964426383914986701736316119256154045603154402613912717863514632842899882281379953917865868113712692707734847998607521002523921494824175923867092506395756621066479937444073027389306628640556809838026610361128786643951976896605823897755081523478622543874889549705146465320449185751587419982537065779670700272418981619653127824802485675954016862164462586427017529065904494887827358743911894970422418286560414731125192313900118243192259048265394443803735694489893983894000960229079142695234966115633433707384159354696862152989045268753334875858303775525351357540322823732659479896174206268996042890053372791381380094669062943653189612067989745570280732301441103463635455987721938424976529200528398057317049730439242021622856180438855813622937021226617752912466427750402180900293507095380374608480996851842886120627242252797148219222497148911887353996881269779962772887334329858686896311186070692954406501115423954769865696575473608100986596594491162332648449193303413062740422572862082439566704413870498669768633117235512005233368420971313148439657014118351021571052564853104108552311819991247415850302160916863195893349668541316234330347054405659005349417410474603330937030051561505476235168527801741210009222971907383798623915403268197114183085247926907503215284252347812126233974756951223755450282471037974732745278327679420384847779988189007147358510370056981723629878198971699576950948587025600686215040222448104260261480663903959969324737726384135740589050844909564068984047812697178491675479174678637399511174067193518086550308553580269646400228098554365494223703681497717362761815917811794281730844814696990638289830893824562403056080019818534451 23837073750113864873733520948948785470153436833404742253932539831659739667085046761959732479679071985339787879882706077019142124315780320781501217866564259368600609645681853204620188646058006692007361977908689827428341449440833235794034680401078526494925727510369898502841897267562410371077703987626196915817960435346771111153530791939008007255728924302345551757807905624264126115393581941366342739459409258143094958780300543735813756839177919232932624743811585470863217769175987027671730427481862436378650843176810459349312281095181184521610654187926720342061041042835359202246971480163272030994438191875842377278228471067066526382825715836449899716901603158952878160356318173774798013084741568409895152068092584308570390694837784332339027996035018252738438486264195221385244404303209723797547064662253701901761808381877891980037440822494655645121697834634235259207939742428940223297425318040775901637069745477303872457691454866697425413272294819023023730956888666389283596933396620220751075100344840197248293157005718896772192276055538440148688809663059416958932264109697630096669053441613835507913769198064879969867823613131992671826987757590045894710790170316961891647705548454258963922113545715624770575871059508902306034237874799707092786165970292551229125623262999054331581714403121803203770934007611418132808473676925390098265440633958872558513561646257609900324270129538237495357148101599365712653603876167837346009978110864778356261506701684644659062777347436488423150295454355518434057846074167051302353283806117593944115038075708777141507057501688980962193968201927452883419135570763047327545913480098268341799248901284422840596954692859372635893820472097476692445299648968740224836689726333871364073851923814291028033673846535705615559574314062030512477306296074494445560232396840787759387570925777743846019498255526044267636483351540209947286721266668284375500730297646430174053192657165814542098329784666558411761777042247280179609558728874343867324672912961870657809234918056754255641078400093963163978215573375321867420257829549769912760779515546677149067588513248004129202605042146817683480256783990646483460547929566446182338276406262745995327650771104882287505715852730910927066567701707069974205006032941034167525735588567225288232714677887299382012236609453418869790234208392792789202281995430279191942256330976121926481743827709293608895060485548174151050169793817289160128009630955936670248080402735400197028744482431004395335314401459083272988489715899231169260915809364189958684067890606844192348165825452658026324414734674679036209010494287280041298483689775385573431502190709484307742810271737470473257463494248712225265791545742670252815224224914150879464220237735499466974045436472572333740903143948695099295804359079658719961723277082840244010304260629101766022463823676822127769678721052485690145774665423635062958135451144353280512126628268444051031301746150842576953626494023030724059344952289161137529393509265685386229435506395850229962616324367538377535098504843354173591222416223337342487952864315270741410797494043747382083639725424741936129390507298437771489085062408425617263708840960791274337372541472690539963190362840066657215849814132684401986178521596754223816281862492634714388932725553354980457263477658571833630139165128057013496295936871708259207648508459921233378486273979619499206155327492288525088134714350060509334685087896066456262412690578 38569195520022151037223343491566131178518361551941759718685257341324332640764776393495599953304842759315045773695333859796302657040706959502078628356280406553091611191776075086801739277541215926037472782392450927147148291134317010063904879304385188525364989119547491239202611025692594317029806964874915241038496959497324866929209627179618298012945324345028308796592400203176812114366287303358987243727791981106605413550108068500042791561438184572071711128047920454081197429605760397426822404200597156761366856020734095078393739969878165138109130598034000624081136324229133904360438494820606375558244662234097582923556040688364758728528943424356190977611186066786732015595180563331012079661310993119320863590190737378784962965366009855411338399918723947804887665301298161140301607996147794552729950002598090187481594084673424814601189540566991208316876896983475117945202619586338927402091760485522083643728546463966447065695331994444140467581480363073105388636512733406588047876734847499028381274162634069900953016833090379345630807545965354250768666246388974433365908959169465393955906820303266241687852326553669716782764800131629906607838959641511561471226243330437551407948946065289277372183956938970040532320791232567964578297289435605279683662184664941922142339555651694800915019634036506359334731600534921760361035176848760993185258503988922625394255596266522341422267612821653500722075938402640333287223730429187327245403631576138097316124416283447514927797606560268109954302961282520358268142138835738406312537894592489513924520469736461099619744318730410076257358376629912600167740214807139139726146404881486186093357531485403657868019011206280322522232204888652368942213800467970950121595679399427505693320830994946718514806879445251630524000697977017214213622415330648491163386799454700477251085558620643728300878209443910135750196044247944795285328787670808296995554473570297266559588413786881022035773857693947718390417599057118206219919857660987819301569518785768412890758396679298130530628105240428484427401324962741849957323609220470185179761135199804973870074189202020991367067628573835212546161278878473842204459824536868600624836820993871187641550889348074546553981247174714662761057595690963975165235112083729402491851222000932672392069374749452371057505362788294728094009733744150329525105728089759088116462599972164816535116619090673703564123429201363763118159539387569892429450734419572126235802341160376726229272880488321445065753643480706129168928571712854106282142427117102425111818292787744485855261205827266507321266577560799663451263291435499263795632601662739570312771970672257195077140130424366784443534187203118726381215500512535949390697833015137476058711400068147916167348849535312756313765226388261803709674857749427353078958789088073612431275573777541423036582174698393180334531825161038001965765912839485365119052314340246630180667944502774398085707405156191994364101097353967754110906457765396306057195250475694609201342890194474145365884521481721462783025412346569457843570228349571317244904088070721023881835468776492660411319145809589716117579514445796281859142044132055495462680540537742222924398142158905580185638467100328137879753774102009139712562657337343274661191426561618762201629904045030459631942115058083007697332683214607322049876206518108487306202873954144937059983991342381315123967121774019369902831704988350340228509650299122536282231225029 62406269270136015910956864440514916648671798385346501972617797172984072307849823155455332432983914744654833653578039936815444781356487280283579846222844665921692220837457928291421927923599222618044834760301140754575489740575150245857939559705463715020290716629917389742044508293255004688107510952501112156856457394844095978082740419118626305268674248647373860554400305827440938229759869244725329983187201239249700372330408612235856548400616103805004335871859505924944415198781747425098552831682459593140017699197544554427706021065059349659719784785960720966142177367064493106607409974983878406552682854109939960201784511755431285111354659260806090694512789225739610175951498737105810092746052561529216015658283321687355353660203794187750366395953742200543326151565493382525546012299357518350277014664851792089243402466551316794638630363061646853438574731617710377153142362015279150699517078526297985280798291941270319523386786861141565880853775182096129119593401399795871644810131467719779456374507474267149246173838809276117823083601503794399457475909448391392298173068867095490624960261917101749601621524618549686650588413263622578434826717231557456182016413647399443055654494519548241294297502654594811108191850741470270612535164235312372469828154957493151267962818650749132496734037158309563105665608146339893169508853774151091450699137947795183907817242524132241746537742359890996079224040002006045940827606597024673255381742440916453577631117968092173990574953996756533104598415638038792325988213002789708665821700710083458039558545445238241126801820419391038451326578557365483586875785570186467272059884979754527892606432769826498464973704065652958416052676986129061387513449436711174958285405733298869767172754809237746548480725980957246083575012039047726690928711405142936723619196295488236638656484398387574320376464969954403386679395788154742572050054339092672496284771216727440612781070952695564134103642360506130152194641304398385829478586535331686626242431747639070699993314736052386171706505334391648405616898338063717377581438770240097940540650746482122937662702450025120569672670720652896026418062869120325665007754103314782963113227256617182969201660452956834059697099905625589827625297398033949370241145024763570017586810568157960624784052636751753069741972241713597884243942136943118727387723520038280058718930948286743016860446799967312459183914749537914168329333204859052557460365375508796483882743895776923258017362919325840401068044939789402157418287612085275543058236481292383795886183394588678203427031279924533645681312235478699660273785722779305094116291438125143744274161381741502819950402161837257700997681451830951647007046255206202205922057929288355522931637803647383141394286007885090054668370336956903005479216829086073040682066170913856441579834406643189059045998375215308104210546213523692111540578263120428077187765484599910692794572771218449117009151307034571317727591376998478170251410054557443586588759741379995430778396590324375328500845849259840318123917189923631434792644572908659732856952385991765292632962820240042494958871234331652246970021744234053348227106540481112726389381498533497261770683631596120148828829940394795095603588234693541698741178934097498477473289054253476590562629598385440089205592716654841327471848342664335546172143389816746513851382414066170438470265322000814330122449266307894990966419338410849563194738195188992544643915607 100975464790158166948180207932081047827190159937288261691303054514308404948614599548950932386288757503969879427273373796611747438397194239785658474579125072474783832029234003378223667201140438544082307542693591681722638031709467255921844439009848903545655705749464880981247119318947599005137317917376027397894954354341420845011950046298244603281619572992402169350992706030617750344126156548084317226914993220356305785880516680735899339962054288377076046999907426379025612628387507822525375235883056749901384555218278649506099761034937514797828915383994721590223313691293627010967848469804484782110927516344037543125340552443796043839883602685162281672123975292526342191546679300436822172407363554648536879248474059066140316625569804043161704795872466148348213816866791543665847620295505312903006964667449882276724996551224741609239819903628638061755451628601185495098344981601618078101608839011820068924526838405236766589082118855585706348435255545169234508229914133202459692686866315218807837648670108337050199190671899655463453891147469148650226142155837365825664082028036560884580867082220367991289473851172219403433353213395252485042665676873069017653242656977836994463603440584837518666481459593564851640512641974038235190832453670917652153490339622435073410302374302443933411753671194815922440397208681261653530544030622912084635957641936717809302072838790654583168805355181544496801299978404646379228051337026212000500785374017054550893755534251539688918372560557024643058901376920559150594130351838528114978359595302572971964079015181699340746546139149801114708684955187278083754616000377325606998206289861240713985963964255230156332992715271933280938284881874781430329727249904682125079881085132726375460493585804184465063287605426208876607575710016064940904551126735791427887005995750188713889742043019031302621254674413864539136875440036099537857378842009900969491839244787024707172369484739576586169877500054453848542612240361516592049398444196319505927811950533407483590751711415350516702334610574820132833018223300805567334905047990710283120301785946287096807736891652046111936740299294488108572579341747594167869467578640183383587950048250488370610752549801031380613678347080340252588682893088997924535476257108492972509438032569090633016853427386204124127247335030008325978253675881093448252493451609797368175181530920451559551977065890641016023307343950901677286488872592428944986911099795080922719685085056153649487290243407647285466821688420495531326346859324939381825200663598394808907704476182333164058688237107191040966947889796278363111537077158278568889748893100864714057046132053998697897090532586204042144531868654949678028222546767742151596619890944425831581643037871795299308743135543197846368433596725218706715154074578513426119640855258987468872855408184184612095628173073608488438742371374561694077306491102605793196240079824846540873462517273992847202716556463226565681828688730966232281157867819953749643784010217074604632121286784798520694385367330981303101149329536493089278362872922479976977761040456712789174468431596732702906278017043921368364549536190030335207369150672536608189069922036275720186168825790501700334467297040722932975357362336702681411303836271440773138664715615872238792192533643415899721147707774737849024804531557271657596048349907925233820054256368211107498454256664382129454089571040327264893798124326761189791704388494311528826875140636 163381734060294182859137072372595964475861958322634763663920851687292477256464422704406264819272672248624713080851413733427192219753681520069238320801969738396476052866691931669645595124739661162127142302994732436298127772284617501779783998715312618565946422379382270723291627612202603693244828869877139554751411749185516823094690465416870908550293821639776029905393011858058688573886025792809647210102194459606006158210925292971755888362670392182080382871766932303970027827169255247623928067565516343041402254415823203933805782099996864457548700169955442556365491058358120117575258444788363188663610370453977503327125064199227328951238261945968372366636764518265952367498178037542632265153416116177752894906757380753495670285773598230912071191826208348891539968432284926191393632594862831253283979332301674365968399017776058403878450266690284915194026360218895872251487343616897228801125917538118054205325130346507086112468905716727272229289030727265363627823315532998331337496997782938587294023177582604199445364510708931581276974748972943049683618065285757217962255096903656375205827344137469740891095375790769090083941626658875063477492394104626473835259070625236437519257935104385759960778962248159662748704492715508505803367617906230024623318494579928224678265192953193065908487708353125485546062816827601546700052884397063176086656779884512993209890081314786824915343097541435492880524018406652425168878943623236673756167116457971004471386652219631862908947514553781176163499792558597942920118564841317823644181296012656430003637560626937581873347959569192153160011533744643567341491785947512074270266174840995241878570397025056654797966419337586239354337558860910491717240699341393300038166490866025245227666340613422211611768331407166122691150722055112667595479838140934364610625192045676950528398527417418876941631139383818942523554835824254280429428896348993641988124016003752147785150555692272150303981142414959978694806881665914977878877030731651192554054382281046554290745026151402902874041115909211781238635121638869284712486486760950381060842436692769219745399594102071232506412970015141004598997404616714493534475332743498166551063275507105553579954210253988214673375446985965842416308190487031873905717402133256542527024843137248593641637480022955877196989307271721923862497618018036566979881175129835648233900461868738302568837512690608328482491258700439591454818205797287997544371465170589719203567828951930572745307606326973125867889733360284933483765146937024657368258900079687192703590659576921842262115268387115574612629202031757062771810862881057873983865184538989857801320293435740200717040934748041299845529550106780629675229593022948353802541948873714187104574675675442682450137421551082936423101967062175609720633291407599499160322921429901325314435242590827801154674171448823796542952917588085386188847069365726221273427845309446451566257090045211296319725707770261136999556280107964710451409277874511193230372769958454600062899683375122896022886213180241143419273246726416720713155517495388636710617992842704554467101394416972745401236888278253020611519557934264388555596257213017720915459303534809217447939509422097820483296126981117728070960950571396223110045015205538271616138004670125715382755163241801339810353300491392690352276379899935993142220493297741980333905638782277277936924521986382943784212020306635159884764543665172039354899126689500521371519056243 264357198850452349807317280304677012303052118259923025355223906201600882205079022253357197205561429752594592508124787530038939658150875759854896795381094810871259884895925935047869262325880099706209449845688324118020765803994084757701628437725161522111602128128847151704538746931150202698382146787253166952646366103526937668106640511715115511831913394632178199256385717888676438918012182340893964437017187679962311944091441973707655228324724680559156429871674358682995640455556763070149303303448573092942786809634101853439905543134934379255377615553950164146588804749651747128543106914592847970774537886798015046452465616643023372791121864631130654038760739810792294559044857337979454437560779670826289774155231439819635986911343402274073775987698674497239753785299076469857241252890368144156290943999751556642693395569000800013118270170318922976949477988820081367349832325218515306902734756549938123129851968751743852701551024572312978577724286272434598136053229666200791030183864098157395131671847690941249644555182608587044730865896442091699909760221123123043626337124940217259786694426357837732180569226962988493517294840054127548520158070977695491488501727603073431982861375689223278627260421841724514389217134689546740994200071577147676776808834202363298088567567255636999320241379547941407986460025508863200230596915019975260722614421821230802511962920105441408084148452722979989681823996811298804396930280649448674256952490475025555365142186471171551827320075110805819222401169479157093514248916679845938622540891315229401967716575808636922619894098718993267868696488931921651096107786324837681268472464702235955864534361280286811130959134609519520292622440735691922046967949246075425118047575998751620688159926417606676675055936833374999298726432071177608500030964876725792497631187795865664418140570436450179562885813797683481660430275860353818286807738358894611479963260790776854957520040431848736473858642469413827237419122027431569928275474927970698481866332814454037881496737566753419576375726484031914071653344939674852047391534751660664181144222639056316553136485754117344443153269309629113171576746364308661403942911383681550139013323757593924190706760055019595287053794066306095004991083576029798441193659241749515036462875706339226658490907409160001324236642301730249840751293899130015232374626739633016409081992789189862120814578581249344505798602651341268741307078389716942531282564965670641923252914008084222232597849734620411334711421780780464810112006261964039193459563678082001611295135759255006320803505494306615579577091828035425883347940039336442873614077639854571858366425489738898614131467334245341990061418761730307703452139790690505399161839818140018686217713547237981758880557094280782791535563787394316435787365986112925279963776688888794187290650775012413250302344522432284981695288962647080266153560468332014469667925134292992439719607319204143522442264233487702681384968838930942732567145694464942874156780175529204695020970159921416717271580511222446520422576262909809991518390417868613688379033299417343641569826013705448307514905322174388976069094124294723762965407885554329104529225571084937634108335212599520817763424021840661046318312908098904521348851476979044754802720285997954174947696885217239531501008266130539377080911457207650738268843205667214153959895150488385435378778650765073238301591346962424778562667991933229146603515183812050198394196879 427738932910746532666454352677272976778914076582557789019144757888893359461543444957763462024834102001219305588976201263466131877904557279924135116183064549267735937762617866717514857450619760868336592148683056554318893576278702259481412436440474140677548550508229422427830374543352806391626975657130306507397777852712454491201330977131986420382207216271954229161778729746735127491898208133703611647119382139568318102302367266679411116687395072741236812743441290986965668282726018317773231371014089435984189064049925057373711325234931243712926315723905606702954295808009867246118365359381211159438148257251992549779590680842250701742360126577099026405397504329058246926543035375522086702714195787004042669061988820573131657197117000504985847179524882846131293753731361396048634885485230975409574923332053231008661794586776858416996720437009207892143504349038977239601319668835412535703860674088056177335177099098250938814019930289040250807013316999699961763876545199199122367680861881095982425695025273545449089919693317518626007840645415034749593378286408880261588592221843873634992521770495307473071664602753757583601236466713002611997650465082321965323760798228309869502119310793609038588039384089884177137921627405055246797567689483377701400127328782291522766832760208830065228729087901066893532522842336464746930649799417038436809271201705743795721853001420228232999491550264415482562348015217951229565809224272685348013119606932996559836528838690803414736267589664586995385900962037755036434367481521163762266722187327885831971354136435574504493242058288185421028708022676565218437599572272349755538738639543231197743104758305343465928925553947105759646959999596602413764208648587468725156214066864776865915826267031028888286824268240541121989877154126290276095510803017660157108256379841542614946539097853869056504516953181502424183985111684608098716236634707888253468087276794529002742670596124120886777839784884373805932226003693346547807152505659621891035920715095500592172241763718156322450416842393243695310288466578544136759878021512611045241986659331825536298536079856188576949566239324770117770574150981023154938418244127179716690076599264699477770660970309007809960429241052271937421299274063061672346911061375006057563487718843587820300128387432115878521225949573452173703248911917166582212255801869468664642982454657928164689652091271857672988289861351780860196125284187004940075654030136260361126820742960014794977905456061593537202601155141065398293877153198988696561718463757769194314885795336176848582918773881422190192206293859792488655158802920394316857479262178844429659686718925479099331172402082286641835590968868510937378681732813638859201703788691854205790792389222680664209017978645363719214637530849569926156420657393712424440286698118790119501725893365840214404976515971256081524648206550732466455000629834058235743095770443739444005976697364415439842167972003748839680941248946895653183976423568976136104529550133983804757920653535044312740157793691463589939695822989326530704673907913257250398997026142121898108671220430678193708751793600427409587588652058559112318561665098572050019988529105894155082047844634697341301059551002958389117279263479495127631393866682517316370940724956123669557702860127018579341854308757523229729357291357143643880489336503409194487865533932765663372303300637148017022513611653597584663327211657105268501502641873312571569913253122 692096131761198882473771632981949989081966194842480814374368664090494241666622467211120659230395531753813898097100988793505071536055433039779031911564159360138995822658543801765384119776499860574546041994371380672339659380272787017183040874165635662789150678637076574132369121474503009090009122444383473460044143956239392159307971488847101932214120610904132428418164447635411566409910390474597576084136569819530630046393809240387066345012119753300393242615115649669961308738282781387922534674462662528926975873684026910813616868369865622968303931277855770849543100557661614374661472273974059130212686144050007596232056297485274074533481991208229680444158244139850541485587892713501541140274975457830332443217220260392767644108460402779059623167223557343371047539030437865905876138375599119565865867331804787651355190155777658430114990607328130869092982337859058606951151994053927842606595430637994300465029067849994791515570954861353229384737603272134559899929774865399913397864725979253377557366872964486698734474875926105670738706541857126449503138507532003305214929346784090894779216196853145205252233829716746077118531306767130160517808536060017456812262525831383301484980686482832317215299805931608691527138762094601987791767761060525378176936162984654820855400327464467064548970467449008301518982867845327947161246714437013697531885623526974598233815921525669641083640002987395472244172012029250033962739504922134022270072097408022115201671025161974966563587664775392814608302131516912129948616398201009700889263078643115233939070712244211427113136157007178688897404511608486869533707358597187436807211104245467153607639119585630277059884688556625279939582440332294335811176597833544150274261642863528486603986193448635564961880205073916121288603586197467884595541767894385949605887567637408279364679668290319236067402766979185905844415387544961917003044373066782864948050537585305857700190636555969623251698427353787633169645125720778117735427980587592589517787047909954630053738501284909742026792568877275609381941811518218988807269556264271709423130881970881852851672565610305921392719508634399230942150897345331816342361155510861266829089923022293401961367730364027405247483035118578032426290357639091470788104720616755572599950594549927046958619294841275879845462591875182423544000205816296597444630428609101681052064447447118026810466669853107017494088464003122128937432362576721882606936595101931003050073656968099017210503305796213948537312576921845863103989159460952735755178027435851195926180931095431854903722279375728805771783385687827914538506742959730759731093339818699001518053144415217997945303869416531983825652387630241245082133872604329364600865628509994224477010102769918645967898535739644502006173094636964242592208023379825349720250474807678913689016544140852627655278860493688366506343495513379546721154190302390250212763695578032436445696304683619583364610236237236542362326217785826595916543569263441078978686330309513009452941623694965729457429374202686036460118399252236340696192298331125864087376059441539241750241046444383642016266698922601798563657746182853836081527072984126379124517754676979092716156179847296862118822975024799050163597576387594032152742718159496361125743445242121623732650557012235818873355317023653769106438202814351294618758179709076408641825429083254048807682079287913090260815203000560009441889879649038497648106157057124621768307450001 1119835064671945415140225985659222965860880271425038603393513421979387601128165912168884121255229633755033203686077190056971203413959990319703167027747223909406731760421161668482898977227119621442882634143054437226658552956551489276664453310606109803466699229145305996560199496017855815481636098101513779967441921808951846650509302465979088352596327827176086657579943177382146693901808598608301187731255951959098948148696176507066477461699514826041630055358556940656926977021008799705695766045476751964911164937733951968187328193604796866681230247001761377552497396365671481620779837633355270289650834401302000146011646978327524776275842117785328706849555748468908788412130928089023627842989171244834375112279209080965899301305577403284045470346748440189502341292761799261954511023860830094975440790663858018660016984742554516847111711044337338761236486686898035846552471662889340378310456104726050477800206166948245730329590885150393480191750920271834521663806320064599035765545587860349359983061898238032147824394569243624296746547187272161199096516793940883566803521568627964529771737967348452678323898432470503660719767773480132772515459001142339422136023324059693170987099997276441355803339190021492868665060389499657234589335450543903079577063491766946343622233087673297129777699555350075195051505710181792694091896513854052134341156825232718393955668922945897874083131553251810954806520027247201263528548729194819370283191704341018675038199863852778381299855254439979809994203093554667166382983879722173463155985265971001065910424848679785931606378215295364109926112534285052087971306930869537192345949743788698351350743877890973742988810242503731039586542439928896749575385246421012875430475709728305352519812460479664453248704473314457243278480740323758160691052570912046106714143947478950894311218766144188292571919720160688330028400499229570015719281007774671118416137814379834860442861232680090510029538212238161439101871129414124665542580486247214480553707763005455222225980265003066064477209411270519304692230278096763125567147577776882754665117541302707389150208645466494498342285747959169348712725048326354971280779399638040983519166522286992879732028700673035215207912276170849969847589631702153143135015781991761630163438313393514867258747682273391758366688541448634597247249117733463179656886230478570345695046902105046191500118761124964690482378325354902989133557646763726822682590625238191364176894399928113812188408761857807485739913732062911261397866312659941432316896491193620390241066726431608703486641053257150995963989679547620403193665545880125076588572601997543431177739863340697097276476271498818625661243356498752182460815605417968223802569417201848430267802491992599310176916514385008221220810625486534168748628680773537774160537172926469033190742437506692842060255376464944448030991702064112013176154820136448485955859466021771880451673002048035023206778208240985382043267466732722249100519992832417215083215880443496814210862277230010042197587167894149626399814222241562871400866206244383114486373085583661139858912266875061835725018492523029208151246398241412948400088738082698429144506283782873247798204024481994203419882526027757439280876839867089159784136584842013677496684170198245293290353417139254398215209625781176998835795494171494938499247516212485603129690963016019712179985379925061107283328814654157594105217091306143766149608798930437193338220703123 1811931196433144297613997618641172954942846466267519417767882086069881842794788379380004780485625165508847101783178178850476274950015423359482198939311383269545727583079705470248283097003619482017428676137425817898998212336824276293847494184771745466255849907782382570692568617492358824571645220545897253427486065765191238809817273954826190284810448438080219085998107625017558260311718989082898763815392521778629578195089985747453543806711634579342023297973672590326888285759291581093618300719939414493838140811417978879000945061974662489649534178279617148402040496923333095995441309907329329419863520545352007742243703275812798850809324108993558387293713992608759329897718820802525168983264146702664707555496429341358666945414037806063105093513971997532873388831792237127860387162236429214541306657995662806311372174898332175277226701651665469630329469024757094453503623656943268220917051535364044778265235234798240521845161840011746709576488523543969081563736094929998949163410313839602737540428771202518846558869445169729967485253729129287648599655301472886872018450915412055424550954164201597883576132262187249737838299080247262933033267537202356878948285849891076472472080683759273673018638995953101560192199151594259222381103211604428457753999654751601164477633415137764194326670022799083496570488578027120641253143228291065831873042448759692992189484844471567515166771556239206427050692039276451297491288234116953392553263801749040790239870889014753347863442919215372624602505225071579296331600277923183164045248344614116299849495560923997358719514372302542798823517045893538957505014289466724629153160848034165504958382997476604020048694931060356319526124880261191085386561844254557025704737352591833839123798653928300018210584678388373364567084326521226045286594338806432056320031515116359173675898434434507528639322487139874235872815886774531932722325380841453983364188351965140718143051869236060133281236639591949072271516255134902783278008466834807070071494810915409852279718766287975806504001980147794914074172089614982114374417134041154464088248423273589242001881211076800419735005256593568579654875945671686787623140555148902250348256445309286281693396431037062620455395311289428002273879989341244613923120502608517202763388907943441914217366977114667638212151133323817020791249323549759777101516659087672026747111349552164218310585430978071707976466789358025118070990009340448705289527220340122367226968056896212829398912067654021434277226308984757124501855472120894168072074518629471586167247657527040558390363332632879801735773065235448317732172288839855836319665941816242432695793007755915095221780140915350609486895744128993427542949478022297588403435045711842654744812594762517956144815050124652723226983720123498411340836704153363123880787647734147946879758981647545469715534236958632814537335197577491559897309010438838736168623161599804316897369306731654606571388444478221924405593684518548845017063562095858294061902210753009823663803900924975771655016542096835662859932621493799212097058504575508978573749145025200381609153313319445477741285191445631006714904144424266784481615811066824808269024038459852340514360204329291065538705501052556489444474416254683191936879303001510038622427615440366917023003974151490217088564942804830767942233696985846233118005695921562011771516392099273760987667459212974197544144017654717603547106970955182263797714955987561815106528153124 2931766261105089712754223604300395920803726737692558021161395508049269443922954291548888901740854799263880305469255368907447478363975413679185365967058607178952459343500867138731182074230739103460311310280480255125656765293375765570511947495377855269722549136927688567252768113510214640053281318647411033394927987574143085460326576420805278637406776265256305743578050802399704954213527587691199951546648473737728526343786162254520021268411149405383653353332229530983815262780300380799314066765416166458749305749151930847188273255579459356330764425281378525954537893289004577616221147540684599709514354946654007888255350254140323627085166226778887094143269741077668118309849748891548796826253317947499082667775638422324566246719615209347150563860720437722375730124554036389814898186097259309516747448659520824971389159640886692124338412696002808391565955711655130300056095319832608599227507640090095256065441401746486252174752725162140189768239443815803603227542414994597984928955901699952097523490669440550994383264014413354264231800916401448847696172095413770438821972484040019954322692131550050561900030694657753398558066853727395705548726538344696301084309173950769643459180681035715028821978185974594428857259541093916456970438662148331537331063146518547508099866502811061324104369578149158691621994288208913335345039742145117966214199273992411386145153767417465389249903109491017381857212066523652561019836963311772762836455506090059465278070752867531729163298173655352434596708318626246462714584157645356627201233610585117365759920409603783290325892587597906908749629580178591045476321220336261821499110591822863856309126875367577763037505173564087359112667320190087834961947090675569901135213062320139191643611114407964471459289151702830607845565066844984205977646909718478163034175462595310067987117200578695821211242207300562565901216386004101948441606388616125101780326166344975578585913101916150643310774851830110511373387384549027448820588953082021550625202573920865074505699031291041870981211391418314218766402367711745239941564711818037218753365964576296631152089856543294918077291004552737928367600993998041758903919954786943233867422967596279161425425131710097835663307587460277972121469621043397757058136284600278832926827221336956781476114659388059396578839674772451618038498441283222956758402889566242372442158251657210409810704192103036398458845114712928107204547656104175527972117845578313731403862456824326641587320829511828920017140041047668385899721784780835600388971009823091976408314383958649261877004385890030797699762744783068720925837834719980912908238543813785863873532871096612192498256412414169235148139100627745610003765083440265812206004462913691085012615086755117266321731564509660944447794345610032580089465384926900898041324820660616980070501419154238311775789613423577262568326899641603573073463830575287222124482627621576197349042308779689629778166652719207306448861151251271094117583554928275509145118091196506637874666178154985813852603709990985289259746843735362083497924710819892093060122230608861521468065580194507313466303683968660214866150542665679732881704549149523237413530322242725588312564228811285268958588027080313928725351256121772351721015887843523716119111785638612210313357391290744615303774568586007766778029191157341171617253212134047614901207355115293473167652839138035304827472832308875197652324062261326029947323754917999008444748856247 4743697457538234010368221222941568875746573203960077438929277594119151286717742670928893682226479964772727407252433547757923753313990837038667564906369990448498186926580572608979465171234358585477739986417906073024654977630200041864359441680149600735978399044710071137945336731002573464624926539193308286822414053339334324270143850375631468922217224703336524829576158427417263214525246576774098715362040995516358104538876148001973565075122783984725676651305902121310703548539591961892932367485355580952587446560569909726189218317554121845980298603560995674356578390212337673611662457448013929129377875492006015630499053529953122477894490335772445481436983733686427448207568569694073965809517464650163790223272067763683233192133653015410255657374692435255249118956346273517675285348333688524058054106655183631282761334539218867401565114347668278021895424736412224753559718976775876820144559175454140034330676636544726774019914565173886899344727967359772684791278509924596934092366215539554835063919440643069840942133459583084231717054645530736496295827396886657310840423399452075378873646295751648445476162956845003136396365933974658638581994075547053180032595023841846115931261364794988701840617181927695989049458692688175679351541873752759995085062801270148672577499917948825518431039600948242188192482866236033976598182970436183798087241722752104378334638611889032904416674665730223808907904105800103858511125197428726155389719307839100255517941641882285077026741092870725059199213543697825759046184435568539791246481955199233665609415970527780649045406959900449707573146626072130002981335509802986450652271439857029361267509872844181783086200104624443678638792200451278920348508934930126926839950414911973030767409768336264489669873830091203972412649393366210251264241248524910219354206977711669241663015635013203349850564694440436801774032272778633881163931769457579085144514518310116296728964971152210776592011491422059583644903639683930232098597419916828620696697384836274926785417797579017677485213371566109132840574457326727354315981845859191682841614387849885873153971067620095337812296261146306508022476939669728546527060509935845484215679412905565443118821562747160456118702898749705974395349610384642370981256787208796035690216129280398695693481636502727034790990808096268638829747764832982733859919548653914399189269601209374628121289623081108106435311904070953225275537665444624233261645065918436098630830513720539470986232897165850354294366350032425510401577256901729768461045528452563562575562041485689820267367718522910599435535810018517038658010123559836749227904485630028296569325878852527287720036553329519844635034844756739037546714561462563400609439508625533739757427681517635222466546614634313667674778065733530991430302089080264021922112468394764926950260400801783781491323850382210077105662097219095132970772841014125958293105789221380514246411615511344236349555097197429230854454835769819939134647117024133803207020301949516461538470079079961585507620252087820952119679465229161295594983215395401071633871375634061903077218893513952791207588875414291221581054687089946517363320360216348045682554360702577928826924433140576334497293528132870418169825672376455543657895190845033754741539401078979127336361365442234832392339511390838534720262888143187404735258908055609626672723747214567234155320298351009502371616849963592801199431033216508293745038710905560823551277009371 7675463718643323723122444827241964796550299941652635460090673102168420730640696962477782583967334764036607712721688916665371231677966250717852930873428597627450646270081439747710647245465097688938051296698386328150311742923575807434871389175527456005700948181637759705198104844512788104678207857840719320217342040913477409730470426796436747559624000968592830573154209229816968168738774164465298666908689469254086630882662310256493586343533933390109330004638131652294518811319892342692246434250771747411336752309721840573377491573133581202311063028842374200311116283501342251227883604988698528838892230438660023518754403784093446104979656562551332575580253474764095566517418318585622762635770782597662872891047706186007799438853268224757406221235412872977624849080900309907490183534430947833574801555314704456254150494180105559525903527043671086413461380448067355053615814296608485419372066815544235290396118038291213026194667290336027089112967411175576288018820924919194919021322117239506932587410110083620835325397473996438495948855561932185343991999492300427749662395883492095333196338427301699007376193651502756534954432787702054344130720613891749481116904197792615759390442045830703730662595367902290417906718233782092136321980535901091532416125947788696180677366420759886842535409179097400879814477154444947311943222712581301764301440996744515764479792379306498293666577775221241190765116172323756419530962160740498918226174813929159720796012394749816806190039266526077493795921862324072221760768593213896418447715565784351031369336380131563939371299547498356616322776206250721048457656730139248272151382031679893217576636748211759546123705278188531037751459520641366755310456025605696827975163477232112222411020882744228961129162981794034580258214460211194457241888158243388382388382440306979309650132835591899171061806901740999367675248658782735829605538158073704186924840684655091875314878073068361419902786343252170095018291024232957680919186372998850171321899958757140001291116828870059548466424762984423351606976825038472594257546557677228901594980352426182504306060924163390255889587265699044436390077933667770305430980464722788718083102380501844604544246694457258291782010486209983946516819231428040128039393071809074868617043350617355477169596295890786431369830482868720256868246206116205690618322438220156771631427852866585037931993815184144504894157018783881332480085321548799761233762911496749830034692970544866112573553726677679274311506391080093896301299041682565368850016538275655538983876425444339082144372104412941397135298554801585759583847958279817662136143029443814160442858749949139480218292965743689079783173945384484647550479644902829212815443971539224824770042768272752488788278179143974612122572411343563571519767474007164919963437289055381907020761819956022093267113463805787339673988996860698706044236671589413180417588416842956711595453924291033866127721749916636537303315987021091033252230671952409312352138393146023099413136257234947399360223962078806241379426308964523379092907926215293164693993606242923424545284473708460104673892559382951436447205229755626250245024909365871283096084682945303517139488661951861603455881555213184346895176928498227895378911078688557470860651186717591337649718756732979447696114079976846301498292079300528576352512120189657241573931102329860707322973137489044807199089682272467998851755095477834323692362465823559831996025865618 12419161176181557733490666050183533672296873145612712899019950696287572017358439633406676266193814728809335119974122464423294984991957087756520495779798588075948833196662012356690112416699456274415791283116292401174966720553775849299230830855677056741679347226347830843143441575515361569303134397034027607039756094252811734000614277172068216481841225671929355402730367657234231383264020741239397382270730464770444735421538458258467151418656717374835006655944033773605222359859484304585178801736127328363924198870291750299566709890687703048291361632403369874667694673713679924839546062436712457968270105930666039149253457314046568582874146898323778057017237208450523014724986888279696728445288247247826663114319773949691032630986921240167661878610105308232873968037246583425165468882764636357632855661969888087536911828719324426927468641391339364435356805184479579807175533273384362239516625990998375324726794674835939800214581855509913988457695378535348972810099434843791853113688332779061767651329550726690676267530933579522727665910207462921840287826889187085060502819282944170712069984723053347452852356608347759671350798721676712982712714689438802661149499221634461875321703410625692432503212549829986406956176926470267815673522409653851527501188749058844853254866338708712360966448780045643068006960020680981288541405683017485562388682719496620142814430991195531198083252440951464999673020278123860278042087358169225073615894121768259976313954036632101883216780359396802552995135406021897980806953028782436209694197520983584696978752350659344588416706507398806323895922832322851051438992239942234722803653471536922578844146621055941329209905382812974716390251721092645675658964960535823754815113892144085253178430651080493450799036811885238552670863853577404708506129406768298601742589418018648551313148470605102520912371596181436169449280931561369710769469927531283272069355202965208172043843044220572196494797834674229678663194663916887913017783792915678792018597343593414928076534626449077225951638134550532484447551282365199948573528403536420584436594740276068377460031991783485593701883526845350944412554873337498851958040974658634202298781793407410047663068257204418747900713384959689920912168841812682499020649859017870904307259479897754172863077932393513466160821290964988895697993970949188424478241986874071170820697454075959666053283438265252611329468922854834557755622986993423994495407977415185928665523484265405583559786623843529628605872741112519406702876298584295137311062066728219101559438466930028902411739822935851996570834364820102798241858081839654411364047515073842457012184628801666767938329519073208924418208790141223685097194206365392613424883480164758564527470449790387711254824793778288279797350477077094562950069563087428941885549757450146833971022220757805874758437314187997416779651094079793839015009512603539138710694206064337225841865539802378102477276847114065768157770822790910972386877788976543115559158695095539560951606336314908984867844214166627193499105774193684674687891141610694236327864981876985327622503367222412895881481434797242658028259916845572767608345269582219328778639043647881445966413095092437937953175083346054765065002600874683439036806269533591225602190587796570464986080122175214280088453591367684836218554967443715981087771028245266868246654849544427941478293435840054309570706532236060800051186128694342617437401176729120655547302874989 20094624894824881456613110877425498468847173087265348359110623798455992747999136595884458850161149492845942832695811381088666216669923338474373426653227185703399479466743452104400759662164553963353842579814678729325278463477351656734102220031204512747380295407985590548341546420028149673981342254874746927257098135166289143731084703968504964041465226640522185975884576887051199552002794905704696049179419934024531366304200768514960737762190650764944336660582165425899741171179376647277425235986899075775260951180013590872944201463821284250602424661245744074978810957215022176067429667425410986807162336369326062668007861098140014687853803460875110632597490683214618581242405206865319491081059029845489536005367480135698832069840189464925068099845518181210498817118146893332655652417195584191207657217284592543791062322899429986453372168435010450848818185632546934860791347569992847658888692806542610615122912713127152826409249145845941077570662789710925260828920359762986772135010450018568700238739660810311511592928407575961223614765769395107184279826381487512810165215166436266045266323150355046460228550259850516206305231509378767326843435303330552142266403419427077634712145456456396163165807917732276824862895160252359951995502945554943059917314696847541033932232759468599203501857959143043947821437175125928600484628395598787326690123716241135907294223370502029491749830216172706190438136450447616697573049518909723991842068935697419697109966431381918689406819625922880046791057268345970202567721621996332628141913086767935728348088730790908527788006054897162940218699038573572099896648970081482994955035503216815796420783369267700875333610661001505754141711241734012430969420986141520582790277369376197475589451533824722411928199793679273132929078313788599165748017565011686984130971858325627860963281306197001691974178497922435537124529590344105540375008085604987458994195887620300047358721117288933616397584177926399773681485688149845593936970165914528963340497302350554929367651455319136774418062897534955836054528107403672542831074961213649486031575092702250881766092915946875849591470792544395380802632807005269157389021439381422920381884173909254652207314951661677039682723871169673867428988073240722627060042930826945772924302830515109650032674228284299897530651773833709152566240177065394115096564425094227942452125306942544703985277253449397116223625941638715890235708308542223755729170888911935758700216454810271696133340350521208902917379132192613303004175340266860506161078605003874640543314892374367984556111927348793393706132919621688557825706040119472073500190544517656617455043378750806248156622484816898004201382735525708332647673851268221826240327451703983389297513218063140200043102972922262891919922888420658134469837037094593861848987046505528740991784040713827968025550777993784756453640090940492545059246184192952319128282622907293937437319464093411968604998597030702305461086809812002005639108460928952427911297088241562660364742593549856384228068176245433434878532083158208053780799067825987401021858588119908752167787840930873000555373994180194094475465146601199017853370178948090611874723726593184963105901757044299541409056638559239111960179529372911334415717348222148696462841774514161802635798878908193727784567671344531137716847046744244557440283148434924109820585951874288648801266573329099116769796214508528798902941224172176941129763642552680487543328740607 32513786071006439190103776927609032141144046232878061258130574494743564765357576229291135116354964221655277952669933845511961201661880426230893922433025773779348312663405464461090872078864010237769633862930971130500245184031127506033333050886881569489059642634333421391484987995543511243284476651908774534296854229419100877731698981140573180523306452312451541378614944544285430935266815646944093431450150398794976101725739226773427889180847368139779343316526199199504963531038860951862604037723026404139185150050305341172510911354508987298893786293649113949646505630928702100906975729862123444775432442299992101817261318412186583270727950359198888689614727891665141595967392095145016219526347277093316199119687254085389864700827110705092729978455623489443372785155393476757821121299960220548840512879254480631327974151618754413380840809826349815284174990817026514667966880843377209898405318797540985939849707387963092626623831001355855066028358168246274233639019794606778625248698782797630467890069211537002187860459341155483951280675976858029024567653270674597870668034449380436757336307873408393913080906868198275877656030231055480309556149992769354803415902641061539510033848867082088595669020467562263231819072086722627767669025355208794587418503445906385887187099098177311564468306739188687015828397195806909889026034078616272889078806435737756050108654361697560689833082657124171190111156728571476975615136877078949065457963057465679673423920468014020572623599985319682599786192674367868183374674650778768837836110607751520425326841081450253116204712562295969264114621870896423151335641210023717717758688974753738375264929990323642204543516043814480470531962962826658106628385946677344337605391261520282728767882184905215862727236605564511685599942167366003874254146971779985585873561276344276412276429776802104212886550094103871706573810521905475251144478013136270731063551090585508219402564161509505812892382012600629452344680352066733506954753958830207755359094645943969857444186081768214000369701032085488320502079389768872491404603364750070070468169832978319259226124907730361443293354319389746325215187680342768009347062414040057122680665967316664699870383208866095787583437256129363788341156915053405126080692789844816677231562310412863822895752160677813363691473064798698048264234148014582539574806411968299113272822761018504370038560691714649727553094864493550447991331295535647750224578866327121687365739939075677279693126974364738531523251873305132709707051638851155643472140671732093742102753359304396886967851750284645390276967284441791356067564121959126484864238059591499074467228007552473016094952003890106928619591525666932017744868057633614439665210931868741953824983667853527911297927766700551171717273365497752697419906600182022803734536803955675574962806261471633842783988092181782173233291185020286384074255696796491457838976828971631163279185003895790071082275444144768073618857632602912978025986249905495543470455783337102221316348929864765369095912390412060628377637857351892728468690209436681637349723569996894079790291208153285896436855428977436752503725063446771785461715448530309940653362770241066409072314852136737479362231721905293877025182130247594773452523617755739922065032362310732267621879001083408007873021262712215973935402014187960538528054176680190978067240801418716590279560009169153426340502746744589598954127352866519558567164819281801143090631615596 52608410965831320646716887805034530609991219320143409617241198293199557513356712825175593966516113714501220785365745226600627418331803764705267349086252959482747792130148916565491631741028564201123476442745649859825523647508479162767435270918086082236439938042319011939826534415571660917265818906783521461553952364585390021462783685109078144564771678952973727354499521431336630487269610552648789480629570332819507468029939995288388626943038018904723679977108364625404704702218237599140029273709925479914446101230318932045455112818330271549496210954894858024625316588143724276974405397287534431582594778669318164485269179510326597958581753820073999322212218574879760177209797302010335710607406306938805735125054734221088696770667300170017798078301141670653871602273540370090476773717155804740048170096539073175119036474518184399834212978261360266132993176449573449528758228413370057557294011604083596554972620101090245453033080147201796143599020957957199494467940154369765397383709232816199168128808872347313699453387748731445174895441746253136208847479652162110680833249615816702802602631023763440373309457128048792083961261740434247636399585296099906945682306060488617144745994323538484758834828385294540056681967246974987719664528300763737647335818142753926921119331857645910767970164698331730963649834370932838489510662474215060215768930151978891957402877732199590181582912873296877380549293179019093673188186395988673057300031993163099370533886899395939262030419611242562646577249942713838385942396272775101465978023694519456153674929812241161643992718617193132204333320909469995251232290180105200712713724477970554171685713359591343079877126704815986224673674204560670537597806932818864920395668630896480204357333718729938274655436399243784818529020481154603040002164536791672570004533134669904273239711082999105904860728592026307243698340112249580791519486098741258190057746978205808266761285278798439429289966190527029226026166040216579100891724124744736718699591948294524786811837537087350774787763929620444156556607497172545034235678325963719556499744925680570140992217823677237292884825111934141706017820487348037166736083853421480043062550141225919352077698160527772827266161127299037655770144988294127753140735720671762450155865140927973472928426388962113261222124838632407200830474325079976654671370837062527055724948067961049074023837945164046843776720806132266338227039604077871505953749755239057446065956393885948975826467324885947434440631005497746012711226979118016149633219276735968382646068251678764871523963677633438783983100204063479913893270162078598558364428604109155691922271386303279264251574488707004932820974261192640350392541908901836265905538383572725343122496885916668111341030739622814063637196253918410831889743637276616665583523850461204315954590302185461810809538870175566929686931275960778929133501880989443776967259451878925100716504467989202039687274041175470379079944442414914983665094710834447971381752871578664881681091523414621753323980566657494063256169940510100782249489277262669038371582158116802831958079049084158896992229423157630846979190210047970803315085627478400552528086496834251372178216609181037020771288360464532988985361659620506107868240965977888618527874136824894070257677879991601735657588934056747111652249060932205095968337325115115087887826753293005239080826582498252543110298961253118397857068577038696499696928461834481630633960356203 85122197036837759836820664732643562751135265553021470875371772787943122278714289054466729082871077936156498738035679072112588619993684190936161271519278733262096104793554381026582503819892574438893110305676620990325768831539606668800768321804967651725499580676652433331311522411115172160550295558692295995850806594004490899194482666249651325088078131265425268733114465975622061422536426199592882912079720731614483569755679222061816516123885387044503023293634563824909668233257098551002633311432951884053631251280624273217966024172839258848389997248543971974271822219072426377881381127149657876358027220969310266302530497922513181229309704179272888011826946466544901773177189397155351930133753584032121934244741988306478561471494410875110528056756765160097244387428933846848297895017116025288888682975793553806447010626136938813215053788087710081417168167266599964196725109256747267455699330401624582494822327489053338079656911148557651209627379126203473728106959948976544022632408015613829636018878083884315887313847089886929126176117723111165233415132922836708551501284065197139559938938897171834286390363996247067961617291971489727945955735288869261749098208701550156654779843190620573354503848852856803288501039333697615487333553655972532234754321588660312808306430955823222332438471437520417979478231566739748378536696552831333104847736587716648007511532093897150871415995530421048570660449907590570648803323273067622122757995050628779043957807367409959834654019596562245246363442617081706569317070923553870303814134302270976579001770893691414760197431179489101468447942780366418402567931390128918430472413452724292546950643349914985284420642748630466695205637167387328644226192879496209258001059892416762933125215903635154137382673004808296504128962648520606914256311508571658155878094411014180685516140859801210117747278686130178950272150634155056042663964111877528921121298068791316486163849440307945242182348203127658678370846392283312607846478083574944474058686594238494644256023618855564775157464961705932477058686886941417525640281690713789626967914758658889400218342731407598736178179431323888031233008167690805176083146267461537165743216108542584051948081369393868614849598383428401444111301903347532879221428510516579127387427451340837295824178549639926624913597903431105249094708473094559194246177249030826168997770828979553444062398636878696571329815670625816786218370899613519256178328621566179133431696332961626255519594299250685965963882878802878722418278617969171793105359948468062124748821610983161758491815427918084174260067488505271269960834284037725043228666663700654766389499393855752280346526492597111861440565786859572368137409966535450705570749315441467296947480553770196022638958506323365235354469619416163529309650237458639469318060654416879890917396563657095653593526962357349102920222460981065313207757577785935234806236280850556263995689471884992110769549485320238452698802075017827961691080960739943514852208654915767102997440453279387122419892957069554691633807797861993510718179486699350675721305728113696911748370257237444793429084852135067599482915273494742588776801076008710493181449267075317781250531461317774500133520082369826866010543789868100881320764583733628540592906499135626337879556881075009743530610196768963085587651075120165634496391501795306065955067554711721829360386591667405969450801707997707996811195929905216058264093281116282773724591971799 137730608002669080483537552537678093361126484873164880492612971081142679792071001879642323049387191650657719523401424298713216038325487955641428620605531692744843896923703297592074135560921138640016586748422270850151292479048085831568203592723053733961939518718971445271138056826686833077816114465475817457404758958589880920657266351358729469652849810218398996087613987406958691909806036752241672392709291064433991037785619217350205143066923405949226703270742928450314372935475336150142662585142877363968077352510943205263421136991169530397886208203438829998897138807216150654855786524437192307940621999638628430787799677432839779187891457999346887334039165041424661950386986699165687640741159890970927669369796722527567258242161711045128326135057906830751115989702474216938774668734271830028936853072332626981566047100655123213049266766349070347550161343716173413725483337670117325012993342005708179049794947590143583532689991295759447353226400084160673222574900103346309420016117248430028804147686956231629586767234838618374301071559469364301442262612574998819232334533681013842362541569920935274659699821124295860045578553711923975582355320584969168694780514762038773799525837514159058113338677238151343345183006580672603206998081956736269882090139731414239729425762813469133100408636135852148943128065937672586868047359027046393320616666739695539964914409826096741052998908403717925951209743086609664321991509669056295180058027043791878414491694266805899096684439207804807892940692559795544955259467196328971769792157996790432732676700705932576404190149796682233672781263689836413653800221570234119143186137930694846718636356709506328364297769453446452919879311371947999181823999812315074178396728523313243137482549622365092412038109404052081322657983129675209954258476045363330725882627545684084958755851942800316022608007278156486193970490746404636834183450210618787111179045046997124752925134719106384671472314393654687904397012432499891708738202208319681192758278542533019431067861155942915549945228891326376633615294384113962559875960016677509183467659684339459541210560555084836029063004543258029737250828655038842342819230120883017208805766249768503404025779529921641442115759510727439099881446891641660632362164231188341577543292592268810768752604938602039886135722742063512449925182798174535848917548086093353224722718896940602518086236582042743415106536476758083124445410503691390762132078376805236579497652726847575231346061624136633400404513884300624735129505597087187942738579225204030507394889862661926630015779105551522958243167692568751183854104446116323601593095267809810458311770780159031544598100981304116794261540048052212718529951875437286971476287699014192640069977439686864133979989245946179298991665873334574361199393874735256134901584504878084206871986865842557464403065832532916032607153736941844242341259458775379011773495732729481364712193939874194150456823526495708831778746517432742945356175671574391486233961526494431984678531976694008875743873523727048754889977738372094292967668763962019714092887886230499743706449306321603690421314275292698446462105483542713392091886703487111045709535763909569153428748070498811520904808442834359854995905449488606989189005549711517159120780635960520408137234761066611479188199130825710197239900136052370730464728826910421153842894308004727068441213174165658512561100669250826394668264506943912557961021742950764404358552328002 222852805039506840320358217270321656112261750426186351367984743869085802070785290934109052132258269586814218261437103370825804658319172146577589892124810426006940001717257678618656639380813713078909697054098891840477061310587692500368971914528021385687439099395623878602449579237802005238366410024168113453255565552594371819851749017608380794740927941483824264820728453382580753332342462951834555304789011796048474607541298439412021659190808792993729726564377492275224041168732434701145295896575829248021708603791567478481387161164008789246276205451982801973168961026288577032737167651586850184298649220607938697090330175355352960417201162178619775345866111507969563723564176096321039570874913475003049603614538710834045819713656121920238854191814671990848360377131408063787072563751387855317825536048126180788013057726792062026264320554436780428967329510982773377922208446926864592468692672407332761544617275079196921612346902444317098562853779210364146950681860052322853442648525264043858440166565040115945474081081928505303427247677192475466675677745497835527783835817746210981922480508818107108946090185120542928007195845683413703528311055873838430443878723463588930454305680704779631467842526091008146633684045914370218694331635612708802116844461320074552537732193769292355432847107573372566922606297504412335246584055579877726425464403327412187972425941919993891924414903934138974521870192994200234970794832942123917302816022094420657458449501634215858931338458804367053139304135176877251524576538119882842073606292299061409311678471599623991164387580976171335141229206470202832056368152960363037573658551383419139265587000059421313648718412202076919615084948539335327826050192691811283436397788415730006070607765526000246549420782408860377826786945778195816868514787553934988881760721956698265644271992802601526140355285964286665144242641380559692876847414322496316032300343115788441239088984159414329913654662596782346582767858824783204316584680291894625666816965136771514075323884774798480325102693853032309110673981271055380085516241707391298810435574442998348941428903286492434765241183974581917768483836822729647518902376388344554374548982358311087455973860899315510056965357894155840543992748794989193511583592741704920704930720043609648064576783488241966511049320645494617699019891271269095043163725335124179393720489725920155962148635218921439986436352147383899910663781403304910018310406998371415712929349059809201486865655923387319366368396763103503457547784215056359735843939173672092632143711473645088388507594533469607132503235181074022453814938730154048644821761931510465224701270174014783824944627473901228655702105834911785086667361841972737677047037014455659937017457993457060156618947752269544534346135492750737890509044112193895604219645159294964097789383429499653117996592794890265135527376197922909555549017036561314246579732013580037628707883411759186261226373011815947284477548592450570907047256632314335001086170181410199087675972429973395998163766480796603446523785536234087803685848250661370389814193614344196655454819563559048483850399127427766045945020757037455980868687779495821538890985030984886934679279531816586021038328525204186721006449239356707870509770133445145699713687135096146746016791642141621222718809327594673282827551211172536364961120328705727219797961862716448897801599765833064482011902377248534391479460436849128616225115024067047178083144299801 360583413042175920803895769807999749473388235299351231860597714950228481862856292813751375181645461237471937784838527669539020696644660102219018512730342118751783898640960976210730774941734851718926283802521162690628353789635778331937175507251075119649378618114595323873587636064488838316182524489643930910660324511184252740509015368967110264393777751702223260908342440789539445242148499704076227697498302860482465645326917656762226802257732198942956429835120420725538414104207770851287958481718706611989785956302510683744808298155178319644162413655421631972066099833504727687592954176024042492239271220246567127878129852788192739605092620177966662679905276549394225673951162795486727211616073365973977272984335433361613077955817832965367180326872578821599476366833882280725847232485659685346762389120458807769579104827447185239313587320785850776517490854698946791647691784596981917481686014413040940594412222669340505145036893740076545916080179294524820173256760155669162862664642512473887244314251996347575060848316767123677728319236661839768117940358072834347016170351427224824285022078739042383605790006244838788052774399395337679110666376458807599138659238225627704253831518218938689581181203329159489978867052495042821901329717569445071998934601051488792267157956582761488533255743709224715865734363442084922114631414606924119746081070067107727937340351746090632977413812337856900473079936080809899292786342611180212482874049138212535872941195901021758028022898012171861032244827736672796479836005316211813843398450295851842044355172305556567568577730772853568814010470160039245710168374530597156716844689314113985984223356768927642013016181655523372534964259911283327007874192504126357614794516939043249208090315148365338961458891812912459149444928907871026822773263599298319607643349502382350603027844745401842162963293242443151338213132126964329711030864533115103143479388162785565992014118878520714585126976990437034487164871257283096025322882500214306859575243679304533506391745930741395875047922744358685744289275655169342645392201724068807993903234127337808482639463841577270794304188517839947505734665477768489861721606509227571583354748608079590859999640429237151499081117404883279643874195686630854143945756972893262282474012635878458833329388426844006397185043387558130148945074069443630892081273421217532618443208622860758480234871800964183401542888624141983035109191906996300780442485375176652292427001786656776718211717547523952766772910647404128192677289812143547678582518398876123139538601336307015018523373639021130090746402873642773637669043176270372246414857199320275683013040954173815369542728455205345449963645882963997805197313717410024648523324713469852577087435433143924290598936998215723833337801366085312251708437986929151739121229664173048304661370295342210582399658627423181168134529934864753797890276495336693258353227746309518993420077351633380411683196538311656116256295109883313852403432303888726487320131707904631072354504406667404873907640004523652201413763274606182096653517014623390103907081500574696399161268869880652174271713402720464492407126240580169372960574482982932584600520794894456088108027602315397541943136968038546576002354688845314859698775683156662858834467771056667154154026403208232701907008458420383480067451347224907095425849155616148373640856170721175966242812939998722994573003046499360786147724943793041174186136767017811582441696627803 583436218081682761124253987078321405585649985725537583228582458819314283933641583747860427313903730824286156046275631040364825354963832248796608404855152544758723900358218654829387414322548564797835980856620054531105415100223470832306147421779096505336817717510219202476037215302290843554548934513812044363915890063778624560360764386575491059134705693186047525729070894172120198574490962655910783002287314656530940252868216096174248461448540991936686156399497913000762455272940205552433254378294535860011494560094078162226195459319187108890438619107404433945235060859793304720330121827610892676537920440854505824968460028143545700022293782356586438025771388057363789397515338891807766782490986840977026876598874144195658897669473954885606034518687250812447836743965290344512919796237047540664587925168584988557592162554239247265577907875222631205484820365681720169569900231523846509950378686820373702139029497748537426757383796184393644478933958504888967123938620207992016305313167776517745684480817036463520534929398695628981155566913854315234793618103570669874800006169173435806207502587557149492551880191365381716059970245078751382638977432332646029582537961689216634708137198923718321049023729420167636612551098409413040595661353182153874115779062371563344804890150352053843966102851282597282788340660946497257361215470186801846171545473394519915909766293666084524901828716271995874994950129075010134263581175553304129785690071232633193331390697535237616959361356816538914171548962913550048004412543436094655917004742594913251356033643905180558732965311749024903955239676630242077766536527490960194290503240697533125249810356828348955661734593857600292150049208450618654833924385195937641051192305354773255278698080674365585510879674221772836976231874686066843691288051153233308489404071459080616247299837548003368303318579206729816482455773507524022587878278855611419175779731278574007231103103037935044498781639587219381069932730082066300341907562792108932526392208816076047581715630705539876200150616597390994854963256926224722730908443431460106804338808570336157424068367128069705559545372492421865274218502300498137380623982897572125957903730966390678315973501328552661556046475299039120187866944481620047655529349714598182987404732679488106897906171915085972908234364033052747847964965340712725935244998756341712012163698348780914442383507019885623387979240771525882945772973310301210798752892373548068005356350846465978205077373470911272133141307410507631650225074027199907414426457572548215771682312809952103407030968172490737223249638054716796091483981906424420891236619130830740907714311128188599194487355929106574105665751717875782891864675559382762325570361727925512514104893426600984447217884750485268367683936858836050142217482099123047343340874823468012402450753724841863700396251422313446303661906132787663353439293531898007504932959759889556622127960763392566672909569550127603400733843702333884759450688936203061488406301889314830160030476836640800872071406485320255647937548810840269900339365265284760493721275114918893054616088433439700658122112530148230538352146997617625353829262262478754123491505825879343022787307134131983562981465493242733297008803928202022730208545816601808558548154906152813900170818045349853924625817786015056762895002558397443460386969484321875593438818033437624864044412705831787476584905423747895177627185380642169790411251791084858760524840927604 944019631123858681928149756886321155059038221024888815089180173769542765796497876561611802495549192061758093831114158709903846051608492351015626917585494663510507798999179631040118189264283416516762264659141217221733768889859249164243322929030171624986196335624814526349624851366779681870731459003455975274576214574962877300869779755542601323528483444888270786637413334961659643816639462359987010699785617517013405898195133752936475263706273190879642586234618333726300869377147976403721212860013242472001280516396588845971003757474365428534601032762826065917301160693298032407923076003634935168777191661101072952846589880931738439627386402534553100705676664606758015071466501687294493994107060206951004149583209577557271975625291787850973214845559829634047313110799172625238767028722707226011350314289043796327171267381686432504891495196008481982002311220380666961217592016120828427432064701233414642733441720417877931902420689924470190395014137799413787297195380363661179167977810288991632928795069032811095595777715462752658883886150516155002911558461643504221816176520600660630492524666296191876157670197610220504112744644474089061749643808791453628721197199914844338961968717142657010630204932749327126591418150904455862496991070751598946114713663423052137072048106934815332499358594991821998654075024388582179475846884793725965917626543461627643847106645412175157879242528609852775468030065155820033556367518164484342268564120370845729204331893436259374987384254828710775203793790650222844484248548752306469760403192890765093400388816210737126301543042521878472769250146790281323476704902021557351007347930011647111234033713597276597674750775513123664685013468361901981841798577700063998665986822293816504486788395822730924472338566034685296125676803593937870514061314752531628097047420961462966850327682293405210466281872449172967820668905634488352298909143388726522319259119441359573223117221916455759083908616577656415557097601339349396367230445292323239385967452495380581088107376636281272075198539341749680599252532581394065376300645155528914798242042697673965906707830969646976353849561010261812779953167778266627242345589406799697541258479574470269175973141757789813055127592703922399831741140168250901799475106687491445269878745315366565731235560341929979305419407420610877996910039410156356827326272177559244630606906971641672922618378820849806789522129395667865980882165217297511579195377748724720297783352633122754923289091018435224899914218057911759842902363839343455093008975971424338911220914146259118425554341811511867313996040928359569729153025082694793137651476330151016590727352082362414564030084384311919555629397600839780697061989276792786974093686441395365091192328859744908737816821748700992201021738224921362393925920086052199082462104487641060707112124020184074282795910049736627471796436067652417151329570027234700763286187506199075615548038115025947084592766088439259516990138812217198611854121240091787975726433597219461232384981243308205745979046489843907849351312085446451996992882279908150597628356615493589453777357303320352832393825932868695030759273238197794726789836745461686708092026620773799110895334736447381104924602461281279873011158617047337589907321499758471417382622677209481054324844448558086626532826244435440242962453905622350555812818639938023967079674204158800830287225645830510471157908470247255963774910324435210964597388558102670342966537555407 1527455849205541443052403743964642560644688206750426398317762632588857049730139460309472229809452922886044249877389789750268671406572324599812235322440647208269231699357398285869505603586831981314598245515761271752839183990082719996549470350809268130323014053135033728825662066669070525425280393517268019638492104638741501861230544142118092382663189138074318312366484229133779842391130425015897793702072932173544346151063349849110723725154814182816328742634116246727063324650088181956154467238307778332012775076490667008197199216793552537425039651870230499862536221553091337128253197831245827845315112101955578777815049909075284139649680184891139538731448052664121804468981840579102260776598047047928031026182083721752930873294765742736579249364247080446495149854764462969751686824959754766675938239457628784884763429935925679770469403071231113187487131586062387130787492247644674937382443388053788344872471218166415358659804486108863834873948096304302754421134000571653195473290978065509378613275886069274616130707114158381640039453064370470237705176565214174096616182689774096436700027253853341368709550388975602220172714889552840444388621241124099658303735161604060973670105916066375331679228662169494763203969249313868903092652423933752820230492725794615481876938257286869176465461446274419281442415685335079436837062354980527812089172016856147559756872939078259682781071244881848650462980194230830167819948693717788472054254191603478922535722590971496991946745611645249689375342753563772892488661092188401125677407935485678344756422460115917685034508354270903376724489823420523401243241429512517545297851170709180236483844070425625553336485369370723956835062676812520636675722962896001639717179127648589759765486476497096509983218240256458133101908678280004714205349365905764936586451492420543583097627519841408578769600451655902784303124679142012374886787422244337941495038850719933580454220324954390803582690256164875796627030331421415696709138008084432171912359661311456628669823007341821148275349155939140675454215789507618788107209088586989021602580851268010123330776198097716681913394933502683678054171670078764764622969572304371823499162210540860947491946643086342474611174068002961520019608084649870949455004456402089628257283477994854672629141732257015952213653771453663625844875004750869082762571270933900956642770605320422587365001885840735430177501370167193748926655138527598722377948270122272788303139703479588733128366464489346497033055525468419391493127437866543362507435433543972554682903226956211221832585309984002604537245678983076365820637006989119214028888095460981757498441663210551013758517440313418493661295149318715563588926664836175549299664048169320877605297222286345893185034706499186260568705675083757412536143402185175246425802979311109073109562877745025937983192161472050073775458342200440080504768863559132708268219147266088632237675998878418513757502335638566862917723982514551083371304810176294849464132735486534291392415458079949006618050452975164163497288860896286721897332247545192911091349631730412482508393445736760053490515938463016925569111420235815420080619099007940440831583532446653142133682641870579364667906067954524013170019962545249360320115867316360279975930777583362294954495662493907940551158644030450497005857456464019794016199788124259899560518492237596425694331638351662297947742813893995151141402095705077380755008640349187529103491378483011 2471475480329400124980553500850963715703726427775315213406942806358399815526637336871084032305002114947802343708503948460172517458180816950827862240026141871779739498356577916909623792851115397831360510174902488974572952879941969160792793279839439755309210388759848255175286918035850207296011852520723994913068319213704379162100323897660693706191672582962589099003897564095439486207769887375884804401858549690557752049258483602047198988861087373695971328868734580453364194027236158359875680098321020804014055592887255854168202974267917965959640684633056565779837382246389369536176273834880763014092303763056651730661639790007022579277066587425692639437124717270879819540448342266396754770705107254879035175765293299310202848920057530587552464209806910080542462965563635594990453853682461992687288553746672581211934697317612112275360898267239595169489442806443054092005084263765503364814508089287202987605912938584293290562225176033334025268962234103716541718329380935314374641268788354501011542070955102085711726484829621134298923339214886625240616735026857678318432359210374757067192551920149533244867220586585822724285459534026929506138265049915553287024932361518905312632074633209032342309433594918821889795387400218324765589643494685351766345206389217667618948986364221684508964820041266241280096490709723661616312909239774253778006798560317775203603979584490434840660313773491701425931010259386650201376316211882272814322818311974324651740054484407756366934129866473960464579136544213995736972909640940707595437811128376443438156811276326654811336051396792781849493739970210804724719946331534074896305199100720827347717877784022902151011236144883847621520076145174422618517521540596065638383165949942406264252274872319827434455556806291143429227585481873942584719410680658296564683498913382006549947955202134813789235882324105075752123793584776500727185696565633064463814297970161293153677337546870846562666598872742532212184127932760765093076368453376755411298327113806837209757930383978102420350547695280890356053468322089012853483509733742517936400822893965684089237484029067363658267244494512945490834124837857031391865315161711171521040420690115331216667919784844132287666301660706883919851349224818121851254479563089581073527162223310221238360377292598945931519073178874274503841785044161025439589897543111460201273377512292064260287620264661585236967023499562861614907537303744896233957143647870997508600923056112711488051655555507781721932969743526331151336029801705886817600444409515396893594124141102470340258139651795514471851241719911435935549790032071814007166539571791132774089169015292913428322547524697730413216924546919555344285988654112968336273757734610716242696489551146090801922851528247887252769727413308678774930069322271227445508265083798750133816675001765210012265988071521786701247254778268092497656098433586367409031505334772287707853224036993444460842095101727006122434714121326768281983158931416386637439859169083753752624800439323257212364029499465008071346640172981733173894325129825101061688977988345906071962170803040080406322909764395885620599870693474013214807408935753402127539675559067426941244577976607026745772830670415805293043031121162296697910023188816118751393313400260571776008820506942466027177691470274885937248819910369642144572012606764197923527598166441755226524618863997492808418900722364242407105177006029512591719606028907290199446457916038418 3998931329534941568032957244815606276348414634525741611724705438947256865256776797180556262114455037833846593585893738210441188864753141550640097562466789080048971197713976202779129396437947379145958755690663760727412136870024689157342263630648707885632224441894881984000948984704920732721292246037992014551560423852445881023330868039778786088854861721036907411370381793229219328598900312391782598103931481864102098200321833451157922714015901556512300071502850827180427518677324340316030147336628799136026830669377922862365402191061470503384680336503287065642373603799480706664429471666126590859407415865012230508476689699082306718926746772316832178168572769935001624009430182845499015547303154302807066201947377021063133722214823273324131713574053990527037612820328098564742140678642216759363226793204301366096698127253537792045830301338470708356976574392505441222792576511410178302196951477340991332478384156750708649222029662142197860142910330408019296139463381506967570114559766420010390155346841171360327857191943779515938962792279257095478321911592071852415048541900148853503892579174002874613576770975561424944458174423579769950526886291039652945328667523122966286302180549275407673988662257088316652999356649532193668682295918619104586575699115012283100825924621508553685430281487540660561538906395058741053149971594754781590095970577173922763360852523568694523441385018373550076393990453617480369196264905600061286377072503577803574275777075379253358880875478119210153954479297777768629461570733129108721115219063862121782913233736442572496370559751063685226218229793631328125963187761046592441603050271430007584201721854448527704347721514254571578355138821986943255193244503492067278100345077590996024017761348816923944438775046547601562329494160153947298924760046564061501269950405802550133045582721976222368005482775760978536426918263918513102072483987877402405309336820881226734131557871825237366249289128907408008811158264182180789785506461461187583210686775118293838427753391319923568625896851220031031507684111596631641590718822329506958003403745233694212568260227165080340180639428015629168888296507935796156488284734015543344539582900656192164159866427930474762277475728709845439870957309467992800709484019491670701784445701305075910989519024855961883732726950327938129686660048911894522352468814045361157916148117612486847652622150502320667144524869730055363834192442272494956335091917993270296904062759592300221180022019997128218966025268994750542829157239572430180107879843059369448277027368058681562090724961779517076388487398894512301370427039060933221195427667252114531587610678503464442081064965011148906878219696238270907874915318949143885573421782780037120301786773432436695107886234747073513338433088392436187466212724456402691934068063109859206926237879510235950249180232993836775022713120468532578160867297145500117299724482038376340090900035871862974599597437365572985352438103841319365354463741592681486903991904570288044017215897403206218982079952440172234843929033878019895791657377370293972780327620076318554470564248776840459813425702858902546168982113709828634888028034761342568371259091514080083378260618477606110440736738370329306213051083707546058230139056132479031369244177843934070963316169436373967728850114305336434254677366833661938588212394888457823088116658679351652218950502349155106366643536258237558246579101734589972474614669256477728549949294521429 6470406809864341693013510745666569992052141062301056825131648245305656680783414134051640294419457152781648937294397686670613706322933958501467959802492930951828710696070554119688753189289062776977319265865566249701985089749966658318135056910488147640941434830654730239176235902740770940017304098558716009464628743066150260185431191937439479795046534303999496510374279357324658814806670199767667402505790031554659850249580317053205121702876988930208271400371585407633791712704560498675905827434949819940040886262265178716533605165329388469344321021136343631422210986045870076200605745501007353873499719628068882239138329489089329298203813359742524817605697487205881443549878525111895770318008261557686101377712670320373336571134880803911684177783860900607580075785891734159732594532324678752050515346950973947308632824571149904321191199605710303526466017198948495314797660775175681667011459566628194320084297095335001939784254838175531885411872564511735837857792762442281944755828554774511401697417796273446039583676773400650237886131494143720718938646618929530733480901110523610571085131094152407858443991562147247668743633957606699456665151340955206232353599884641871598934255182484440016298095852007138542794744049750518434271939413304456352920905504229950719774910985730238194395101528806901841635397104782402669462880834529035368102769137491697966964832108059129364101698791865251502325000713004130570572581117482334100699890815552128226015831559787009725815005344593170618533615841991764366434480374069816316553030192238565221070045012769227307706611147856467075711969763842132850683134092580667337908249372150834931919599638471429855358957659138419199875214967161365873710766044088132916483511027533402288270036221136751378894331852838744991557079642027889883644170727222358065953449319184556682993537924111036157241365099866054288550711848695013829258180553510466869123634791042519887808895418696083928915888001649940220995286196942945882861874914837942994509013888925131048185683775298025988976444546500921387561152433685644495074228556072024894404226639199378301805744256232443998447883922528574659722421345792827548353599895726714865580003590771523380827786212774607049943777389416729359722306534286114651963963582581251775311607924615297149349896317454907815251800129202212633528445093072919961942366357156821359189525629904551107940242415163905904111548369292916978741729746017391190292235565864267805504985815705011709231677575504909940898995012521081694165187041278316997708324252574766341871151509161151902348864613575031548239729118805948236920217071132747228361967239043247305676779693796377870403612489708879320095144243157826252160903973062112221847179517390753362998276324578527497030737762994960766108160501701114962396282046727630137442333146908609340742912881275445962515168304515623476269967898736625075816965730731867526331229816810664047944124072865307435441692539092579107787152225168087647337622673009068124343851073654041796642016336726463431346109451905180306190569206859753069685982507195395034469305608422224626432735051816920866136335467254788166768852807183841849695436970514744695910934650581507024622838595084632856213567408786134599256082204869842756140162244948597782762557578104505846972136676378839994906541584580222371503497277203304083160225001652655746615714825121106878743569366346647914785544258622479965351756107764102564194220698163767927996407210559847 10469338139399283261046467990482176268400555696826798436856353684252913546040190931232196556533912190615495530880291424881054895187687100052108057364959720031877681893784530322467882585727010156123278021556230010429397226619991347475477320541136855526573659272549612223177184887445691672738596344596708024016189166918596141208762059977218265883901396025036403921744661150553878143405570512159450000609721513418761948449902150504363044416892890486720571471874436234814219231381884838991935974771578619076067716931643101578899007356390858972729001357639630697064584589845350782865035217167133944732907135493081112747615019188171636017130560132059356995774270257140883067559308707957394785865311415860493167579660047341436470293349704077235815891357914891134617688606219832724474735210966895511413742140155275313405330951824687696367021500944181011883442591591453936537590237286585859969208411043969185652562681252085710589006284500317729745554782894919755133997256143949249514870388321194521791852764637444806367440868717180166176848923773400816197260558211001383148529443010672464074977710268155282472020762537708672613201808381186469407192037631994859177682267407764837885236435731759847690286758109095455195794100699282712102954235331923560939496604619242233820600835607238791879825383016347562403174303499841143722612852429283816958198739714665620730325684631627823887543083810238801578718991166621610939768846023082395387076963319129931800291608635166263084695880822712380772488095139769532995896051107198925037668249256100687003983278749211799804077170898920152301930199557473460976646321853627259779511299643580842516121321492919957559706679173392990778230353789148309128904010547580200194583856105124398312287797569953675323333106899386346553886573802181837182568930773786419567223399724987106816039120646087258525246847875627032824977630112613526931330664541387869274432971611923746621940453290521321295165177130557348229806444461125126672647381376299130577719700664043424886613437166617949557602341397720952419068836545282276136664947378401531852407630384433072514374004483397524338628523350544203828610717853728623704841884629742258210119586491427715544987652640705081812221253118126574799593263843754107452673447602072922477096053625920373060339415342310869698984527079530150763215105141984814484294835171202182517105673747517037955592864565666226571256073239022972342575922188289886146627327483857538102409048575297311930411699595502038159865020281515832236994344280850747177816204095634135790148178877219833464439589575354548624628216517700460538290644110193680449557394906295361837264390372299842312484677454720028226973363939396097160035819292011256107420601300170790483300063098010964192138623997742034279446593590093551149862494771184032829376401210018468547669150760785681912764348537509460251292681019205157653977833027877367643630954298849040388035024108737170410041289976458152093139590329009407012692086414601749611247842978224329840659232234129669650328189404345352541034498240737772965477639884565689007249633228498543180903299300593761325949761170113690712937834920893670484583465005276087264282193742095587108001099213562238966654304147156463905469133288577388814370301301081076814131801755948439917935452845815213962635391698885558805758174644036966021748437396541113569703831483800458530962519868695803021152187794880717523598335209498692536668835367420245656546356505081276 16939744949263624954059978736148746260452696759127855261988001929558570226823605065283836850953369343397144468174689111551668601510621058553576017167452650983706392589855084442156635775016072933100597287421796260131382316369958005793612377451625003167515094103204342462353420790186462612755900443155424033480817909984746401394193251914657745678947930329035900432118940507878536958212240711927117403115511544973421798699482467557568166119769879416928842872246021642448010944086445337667841802206528439016108603193908280295432612521720247442073322378775974328486795575891220859065640962668141298606406855121149994986753348677260965315334373491801881813379967744346764511109187233069290556183319677418179268957372717661809806864484584881147500069141775791742197764392111566884207329743291574263464257487106249260713963776395837600688212700549891315409908608790402431852387898061761541636219870610597379972646978347420712528790539338493261630966655459431490971855048906391531459626216875969033193550182433718252407024545490580816414735055267544536916199204829930913882010344121196074646062841362307690330464754099855920281945442338793168863857188972950065410035867292406709484170690914244287706584853961102593738588844749033230537226174745228017292417510123472184540375746592969030074220484545154464244809700604623546392075733263812852326301508852157318697290516739686953251644782602104053081043991879625741510341427140564729487776854134682060026307440194953272810510886167305551391021710981761297362330531481268741354221279448339252225053323761981027111783782046776619377642169321315593827329455946207927117419549015731677448040921131391387415065636832531409978105568756309675002614776591668333111067367132657800600557833791090426702227438752225091545443653444209727066213101501008777633176849044171663499032658570198294682488212975493087113528341961308540760588845094898336143556606402966266509749348709217405224081065132207288450801730658068072555509256291137073572228714552968555934799120941915975546578785944221873806629988978967920631739175934473556746811857023632450816179748739629968337076407273072778488333139199521451253195484525468973075699590082199238925815438853479688862165030507543304159315570378040222104637411184654174252407661550535670209689311659765777514236327208732363396743550235057734446237201528359003876295199377421589063533106980830132475367621608315889321317651934307277336919563049721805907914034391002323639643377171006948100764015294036913931159531322129064175524528348208902132019330386380985366788454188929580172867945636506408775210861181326427677919362145338609142941170066096220182888289944428907547068508182553923412196723265073368329267780817561543846298339422589491689169361760736995045554754091794666112258776817911662966818734356927077888412063642061127875279516842025083727562648917941782729794798758609235169962184115659704435979148181602477845482982515550731200926742554177494660029709087610817735591694051878371637301248570856133081674298856250532847225067447597526035163622391761084041718938836920767807336034352410682192086096637368478879706687728077512334278901975790831960193128392677094132623937808646871822867871555942598504725215493447231570510463546029674596894359334052945764907589522194053957541933283465781177261671921240270104908662398193769316319546308921565409706089235042450935937732053503197488950091317262795100863056065584013584542763715641123 27409083088662908215106446726630922528853252455954653698844355613811483772863795996516033407487281534012639999054980536432723496698308158605684074532412371015584074483639614764624518360743083089223875308978026270560779542989949353269089697992761858694088753375753954685530605677632154285494496787752132057497007076903342542602955311891876011562849326354072304353863601658432415101617811224086567403725233058392183747149384618061931210536662769903649414344120457877262230175468330176659777776978107058092176320125551381874331619878111106414802323736415605025551380165736571641930676179835275243339313990614231107734368367865432601332464933623861238809154238001487647578668495941026685342048631093278672436537032765003246277157834288958383315960499690682876815452998331399608682064954258469774877999627261524574119294728220525297055234201494072327293351200381856368389978135348347401605428281654566565625209659599506423117796823838810991376521438354351246105852305050340780974496605197163554985402947071163058774465414207760982591583979040945353113459763040932297030539787131868538721040551630462972802485516637564592895147250719979638271049226604944924587718134700171547369407126646004135396871612070198048934382945448315942640180410077151578231914114742714418360976582200207821954045867561502026647984004104464690114688585693096669284500248566822939427616201371314777139187866412342854659762983046247352450110273163647124874853817453811991826599048830119535895206766990017932163509806121530830358226582588467666391889528704439939229036602511192826915860952945696771679572368878789054803975777799835186896930848659312519964162242624311344974772316005924400756335922545457984131518787139248533305651223237782198912845631361044102025560545651611438099330227246391564248782032274795197200400248769158770315071779216285553207735060851120119938505972073922067691919509636286205417989578014890013131689801999738726519246242262764636680608175119193199228156637667436204149948415217011980821412558108533925104181127341942826225698825524250196768404123312875088599219487408065523330553753223027492675704930623616982316943857053250074958037369155211231285819176573626954470803091494184770674386283625669878958908834221794329557310858786727096729503715176456043270028727002076647213220854288262514159958655377042548930532036699561186393400873124938627019125971546496359046623694847338861663893574122597163483546890533579344010323082966299635570055076766508986260629035575552746168153875602979811353340732443843037922167509263600818831228043764284128797496162154206869313501505291520108127476757051633970980205560438396062495372967399148935774041872121950020572232542557084624436688382117732334329598402520600455881307985758479029325001347681888217262121271589095695796195135566945546436081214402846809788043865379534543978855329937146940383772631786486602813593138414508744824014172290339648255524272492008883294066332883186901672721795502212567346839537030102701477960480804985802732002488260595885388259565688335299000641262276326773048968572065419310988239333653004443518035857807482169592644522648971182818862366981066919224475322134772681240625037022209110789522175703099062410194348782024620384880764847110751411026161090001385682843042368009267920177324982351339983019846565277236126657099794734882886023377792722023940668609103738253957089919848383915012548426526761487637531891433004259241089120220722399 44348828037926533169166425462779668789305949215082508960832357543370053999687401061799870258440650877409784467229669647984392098208929217159260091699865021999290467073494699206781154135759156022324472596399822530692161859359907359062702075444386861861603847478958297147884026467818616898250397230907556090977824986888088943997148563806533757241797256683108204785982542166310952059830051936013684806840744603365605545848867085619499376656432649320578257216366479519710241119554775514327619579184635497108284923319459662169764232399831353856875646115191579354038175741627792500996317142503416541945720845735381102721121716542693566647799307115663120622534205745834412089777683174095975898231950770696851705494405482665056084022318873839530816029641466474619013217390442966492889394697550044038342257114367773834833258504616362897743446902043963642703259809172258800242366033410108943241648152265163945597856637946927135646587363177304253007488093813782737077707353956732312434122822073132588178953129504881311181489959698341799006319034308489890029658967870863210912550131253064613367103392992770663132950270737420513177092693058772807134906415577894989997754001992578256853577817560248423103456466031300642672971790197349173177406584822379595524331624866186602901352328793176852028266352106656490892793704709088236506764318956909521610801757418980258124906718111001730390832649014446907740806974925873093960451700304211854362630671588494051852906489025072808705717653157323483554531517103292127720557114069736407746110808152779191454089926273173854027644734992473391057214538200104648631305233746043114014350397675044197412203163755702732389837952838455810734441491301767659134133563730916866416718590370439999513403465152134528727787984403836529644773880690601291314995133775803974833577097813330433814104437786483847890223273826613207052034314035230608452508354731184541561546184417856279641439150708956131743327307394971925131409905777261271783665893958573277722177129769980536756211679050449900650759913286164700032328814503218117400143299247348645346031344431697974146733501962657461012781337896689760805276996252771526211232853680680204361518766655826193396618530347664459536551314133213183118224404599834551661948269971381270981911376726991713479718038661842424727457181496994877556702205612100283376769238227920190269696072502360216082659078527326491521991316455654750985211226056904440820466453583301149918237117357301959209698453937515934361393050869589660099313406925108875528865260792051940054186839649981804198016497953213708970364107790713278088712366472846535805396119196972580123146730504492282678261257343577843321110380304503943984429265822157992765956162935293878175896741943189947570477347519216024370556101773682883374380048407007358763013869923872624324493278044907937663323382221559627706417978855088723113567430545095837983555322530168449259993320471942126101007255007559614494993075437364396332751504589823385082431231081981073115261729375841935813676787116846418235484633135932825035804884668087857090687510902340078795575368005415125710121954444850648472351210377048695153141268956857751184668450527449775373248974830855982612390047259041660914919564275471851955391228393140426007920520424054331447750631890203321877719258265817121160281518486517506231565762192928652202342924101643589350374698338780704893027651901887112501498517844024282738394947498588272825631883936363522 71757911126589441384272872189410591318159201671037162659676713157181537772551197058315903665927932411422424466284650184417115594907237375764944166232277393014874541557134313971405672496502239111548347905377848801252941402349856712331791773437148720555692600854712251833414632145450771183744894018659688148474832063791431486600103875698409768804646583037180509139846143824743367161447863160100252210565977661757789292998251703681430587193095419224227671560486937396972471295023105690987397356162742555200461243445011044044095852277942460271677969851607184379589555907364364142926993322338691785285034836349612210455490084408126167980264240739524359431688443747322059668446179115122661240280581863975524142031438247668302361180153162797914131990141157157495828670388774366101571459651808513813220256741629298408952553232836888194798681103538035969996611009554115168632344168758456344847076433919730511223066297546433558764384187016115244384009532168133983183559659007073093408619427270296143164356076576044369955955373906102781597903013349435243143118730911795507943089918384933152088143944623233635935435787374985106072239943778752445405955642182839914585472136692749804222984944206252558500328078101498691607354735645665115817586994899531173756245739608901021262328910993384673982312219668158517540777708813552926621452904650006190895302005985803197552522919482316507530020515426789762400569957972120446410561973467858979237484489042306043679505537855192344600924420147341415718041323224822958078783696658204074138000336857219130683126528784366680943505687938170162736786907078893703435281011545878300911281246334356717376365406380014077364610268844380211490777413847225643265652350870165399722369813608222198426249096513178630753348530055447967744104107936992855563777166050599172033977346582489204129176217002769401097958334677733326990540286109152676144427864367470746979535762432746292773128952708694858262573549657736561812018080896454471011822531626009481872125544986992517577624237158983825754941040628107526258027640027468314168547422560223733945250831839763497477287255185684953688486268520306743122220853306021601169270222835891435647337943229453147867421621841849230210937597758883062077133238821628881219259128758108367711415091903447756749746765663919071940678035785257391716660860989142832307301274927481376663096945627298843101785050073822850568615011302993612649104800179501604304013344116880493928560200323601594779753530704024920622022086445142406267467282528088686882205993235894977976354348913582623029244541717497837767860269944920147402213871764366643932872876248606551103352290942888345173634224742726779095152252426453964556661808379242617202644545053026212505495144463790403451785333277695053695557449455571100636501319996103054559209005490818170760574492447754747451367247601094171685273308792235663497340062331582440797148460944677194084007492762281774356531527499568497789059408320551298005473300092035952429270768112083774593222210180827738545679275377442303623744198824268124036446146944414630139656082967759389783814701658419569228157812252332818064995733026019877972003635937924670409143772662222456613874011853065093401912222962140723325113913057496472340271993240251177418946681514055717130593674258212589797896583248168461143301365051794742358222861987663535088366301894365613291043307442518958850117571750271027514046944370785770375926838931592532066721004157085921 116106739164515974553439297652190260107465150886119671620509070700551591772238598120115773924368583288832208933514319832401507693116166592924204257932142415014165008630629013178186826632261395133872820501777671331945103261709764071394493848881535582417296448333670548981298658613269388081995291249567244239452657050679520430597252439504943526046443839720288713925828685991054319221277915096113937017406722265123394838847118789300929963849528068544805928776853416916682712414577881205315016935347378052308746166764470706213860084677773814128553615966798763733627731648992156643923310464842108327230755682084993313176611800950819734628063547855187480054222649493156471758223862289218637138512532634672375847525843730333358445202472036637444948019782623632114841887779217332594460854349358557851562513855997072243785811737453251092542128005581999612699870818726373968874710202168565288088724586184894456820922935493360694410971550193419497391497625981916720261267012963805405842742249343428731343309206080925681137445333604444580604222047657925133172777698782658718855640049637997765455247337616004299068386058112405619249332636837525252540862057760734904583226138685328061076562761766500981603784544132799334280326525843014288994993579721910769280577364475087624163681239786561526010578571774815008433571413522641163128217223606915712506103763404783455677429637593318237920853164441236670141376932897993540371013673772070833600115160630800095532412026880265153306642073304664899272572840328115085799340810727940481884111145009998322137216455057540534971150422930643553794001445278998352066586245291921414925631644009400914788568570135716809754448221682836022225218905148993302399785914601082266139088403978662197939652561665313159481136514459284497388877988627594146878772299826403146867554444395819637943280654789253248988181608504346534042574600144383284596936219098655288541081946850602572414568103417650990005900857052708486943427986673715742795488425584582759594302674756973054333835916209433726405700953914272226290356454530686431568690721807572379291282176271461471624020757148342414701267606416996503927497849558793127380503076516571640008856709885279341264040152189513689747488911892096245195357643421463432881207398729489638693326468630439470229464804325761496668135217282252269273363066601243115684070513155401566932793018129659059184444128601149342090606327758648363634316026236406045124479797700181643846797317680903553989451984641540854983415137314732066366780689453197562411071254027946918030541188563564427227261039670711546738224377735633425490926238237213179738268995445579131226499021447380627851895482086304622416262632730957908541091074201400609968600707988320090681391886406980351022262680796911078066113551229253984010881368403110413322222875414690795085067770492662685114690629822653799391691287647324386610907492876678278780703783474845643344000813234223900457538782507128112284052483757915694338224804681859337511701999194064847708483939556669674359356062494288721859228831960200949072251031612502487230343593870099468579390069663834694938279766697183466537346943403068573125144904894782421593812223189672231987122986683921076014302270221182384240033477332968324295663221633391603426867201938110048578344306148415911675615841513985582303582883538312248589788624180592187290709225996009202641418005781299663743145223652158140015545462214810053114321786430180804892352888093449443 187864650291105415937712169841600851425624352557156834280185783857733129544789795178431677590296515700254633399798970016818623288023403968689148424164419808029039550187763327149592499128763634245421168407155520133198044664059620783726285622318684302972989049188382800814713290758720159265740185268226932387927489114470951917197356315203353294851090422757469223065674829815797686382725778256214189227972699926881184131845370492982360551042623487769033600337340354313655183709600986896302414291510120607509207410209481750257955936955716274400231585818405948113217287556356520786850303787180800112515790518434605523632101885358945902608327788594711839485911093240478531426670041404341298378793114498647899989557281978001660806382625199435359080009923780789610670558167991698696032314001167071664782770597626370652738364970290139287340809109120035582696481828280489137507054370927021632935801020104624968043989233039794253175355737209534741775507158150050703444826671970878499251361676613724874507665282656970051093400707510547362202125061007360376315896429694454226798729968022930917543391282239237935003821845487390725321572580616277697946817699943574819168698275378077865299547705972753540104112622234298025887681261488679404812580574621441943036823104083988645426010150779946199992890791442973525974349122336194089749670128256921903401405769390586653229952557075634745450873679868026432541946890870113986781575647239929812837599649673106139211917564735457497907566493452006314990614163552938043878124507386144556022111481867217452820342983841907215914656110868813716530788352357892055501867256837799715836912890343757632164933976515730887119058490527216233715996318996218945665438265471247665861458217586884396365901658178491790234485044514732465132982096564587002442549465877002318901531790978308842072456871792022650086139943182079861033114886253535960741364083466126035520617709283348865187697056126345848268474406710445048755446067570170213807310957210592241466428219743965571911460153368417552160641994542379752548384094558154745737238144367796113236533008111224969101308012334027368389753874937303247049718702864814728549773299352463075656194653114732489131461774031362919958426509650979307272490882243092314100466527487598006404741560533887226979211569989680568608813253067509660990023927590385947991371788082882943595889963756957902286229178674972192659221339061641976283420826415907649428493141817062137775357518004505148769205515345565775605437223759874472634247971981286249293277247263841896006895537477147050256505581388209384506084647680553572893140110001579823671141871694185682329851312390268973025529706829031401511414885157411873097752882580643227171245253041346303186887030870770754474048014074606131761671000684825084647382688399213467881431880905508965845642262940417432566057877423747971076964596439560050108247555208260719577852244419522837428008305996505674814070310006696610073111892078466992343698104773895289940972767306148622301706149737497412905035337871731025482973030784469073108697178556917117369999676837858858363204771322254264166437578949516284602342676429088451097148540832707092002955995851894688600996998536986169416214493183323107565147390390464796635935214873642780845813883452165765708937980406628501473512424762154043446884248590106990948011486168255722379075527890374815932461313223818622593262795402429167529592406585595823490248625361773336959073892250535364 303971389455621390491151467493791111533089503443276505900694854558284721317028393298547451514665098989086842333313289849220130981139570561613352682096562223043204558818392340327779325761025029379293988908933191465143147925769384855120779471200219885390285497522053349796011949371989547347735476517794176627380146165150472347794608754708296820897534262477757936991503515806852005604003693352328126245379422192004578970692489282283290514892151556313839529114193771230337896124178868101617431226857498659817953576973952456471816021633490088528785201785204711846845019205348677430773614252022908439746546200519598836808713686309765637236391336449899319540133742733635003184893903693559935517305647133320275837083125708335019251585097236072804028029706404421725512445947209031290493168350525629516345284453623442896524176707743390379882937114702035195396352647006863106381764573095586921024525606289519424864912168533154947586327287402954239167004784131967423706093684934683905094103925957153605850974488737895732230846041114991942806347108665285509488674128477112945654370017660928682998638619855242234072207903599796344570905217453802950487679757704309723751924414063405926376110467739254521707897166367097360168007787331693693807574154343352712317400468559076269589691390566507726003469363217788534407920535858835252877887351863837615907509532795370108907382194668952983371726844309263102683323823768107527152589321012000646437714810303906234744329591615722651214208566756671214263187003881053129677465318114085037906222626877215774957559438899447750885806533799457270324789797636890407568453502129721130762544534353158546953502546651447696873506712210052255941215224145212248065224180072329932000546621565546594305554219843804949715621558974016962521860085192181149321321765703405465769086235374128480015737526581275899074321551686426395075689486397919245338300302564781324061699656133951437602265159543996838274375263763153535698874054243885956602799382795175001060730894500938626245296069577851278566342948456651978838740549088841177305928866175368492527815184382686440725328769482369783091021481354299750977216552423607855930276375869034715665051363000011830395501926220876609705915421543075552467848525664555746981673926217087645098068029164326697208676374315442065276948470349761930263386994191629063675442301238284510528682981886616961470673307276121534749827666820290339917736852652313694552972939517243781622154835685408702758657499987106630588852361074606539001028661434483811704348501291788814037436726040711477483766621058920931244309025416186998384066348238793003409410867139764813556350333837649600877425188915336023927677517888369781638843956782043837139845961029666393868278917277751105496310694871517209827784551914079068658264056802323881203654756320199760930710033433080117680748507246401770468655884086884436719155048084938998358556027894368480772009119230729575271609092513824722357164375836382686681922909455754627452674766500213470010190089294167087264391400366019747342201862744670022180948210169419604600343270707958326942594840986088959104717345646699751139689619832157024222293445727489513596768219041566920588119985220907245430516763404505491805180867723433120931598436507034384272681085390275814287282286555044413149128266276139625750467132128419239537800110348847909669784753886384018573879319005118286336408019054587307545137868800405876604570411791954141851426780343984807 491836039746726806428863637335391962958713856000433340180880638416017850861818188476979129104961614689341475733112259866038754269162974530302501106260982031072244109006155667477371824889788663624715157316088711598341192589829005638847065093518904188363274546710436150610725240130709706613475661786021109015307635279621424264991965069911650115748624685235227160057178345622649691986729471608542315473352122118885763102537859775265651065934775044082873129451534125543993079833779854997919845518367619267327160987183434206729771958589206362929016787603610659960062306761705198217623918039203708552262336718954204360440815571668711539844719125044611159026044835974113534611563945097901233896098761631968175826640407686336680057967722435508163108039630185211336183004115200729986525482351692701181128055051249813549262541678033529667223746223822070778092834475287352243888818944022608553960326626394144392908901401572949200761683024612488980942511942282018127150920356905562404345465602570878480358639771394865783324246748625539305008472169672645885804570558171567172453099985683859600542029902094480169076029749087187069892477798070080648434497457647884542920622689441483791675658173712008061812009788601395386055689048820373098620154728964794655354223572643064915015701541346453925996360154660762060382269658195029342627557480120759519308915302185956762137334751744587728822600524177289535225270714638221513934164968251930459275314459977012373956247156351180149121775060208677529253801167433991173555589825500229593928334108744433227777902422741354966800462644668270986855578149994782463070320758967520846599457424696916179118436523167178583992565202737268489657211543141431193730662445543577597862004839152430990671455878022296739950106603488749427654842181756768151763871231580407784670618026352437322088194398373298549160461494868506256108804372651455206079664386030907359582317365417300302789962215670342686542849670473598584454320121814056170410110340005767242527159114244904198156756222946268830726984942999031731387124643646995923043167010543164605764348192493911409826636781816397151480775356291602998026935255288422584480049675221497791321246016114744319526963700252239529664341931194054859740339407907648061082140453704685651502809589698213924187887944305122633885761723417271591253410921782015011666814089321167454124572945643574863756902485951093727409049005881932316201157679068221343981466081334305919397512353689913851527863015332672406194289584834481011635276633415770060997625748555630710044332263517858527740272202447130315750393673096740571277206458240372827080552738833950495886201646227918573902954895744367425439092403045781654736596839362687064311091214071012697055165948148521859970358708946123341589455552598904153305646745201537349085086637225708726776352296373497550246806384670149741545620480526444486827402603293199717936408272313891318200017425227235250085679402520521332430276267914849679025621014229649917393647533806362092311896239031664500169426738237750772825174893529139095289645388726336721970342947545817185305799612308343223271154924596216035742032296261245475319441986560196605599724214893461609189116983757893414846731256587828599370328258113897917567533651380677165118494968842441579996220266961672914622640691038293669197351380718526230485811596517103632048860281776758834506340632228936908929670814457016475074730275386001700094819037153727478810500672594520171 795807429202348196920015104829183074491803359443709846081575492974302572178846581775526580619626713678428318066425549715258885250302545091915853788357544254115448667824548007805151150650813693004009146225021903063484340515598390493967844564719124073753560044232489500406737189502699253961211138303815285642687781444771896612786573824619946936646158947712985097048681861429501697590733164960870441718731544310890342073230349057548941580826926600396712658565727896774330975957958723099537276745225117927145114564157386663201587980222696451457801989388815371806907325967053875648397532291226616992008882919473803197249529257978477177081110461494510478566178578707748537796457848791461169413404408765288451663723533394671699309552819671580967136069336589633061695450062409761277018650702218330697473339504873256445786718385776920047106683338524105973489187122294215350270583517118195474984852232683663817773813570106104148348010312015443220109516726413985550857014041840246309439569528528032086209614260132761515555092789740531247814819278337931395293244686648680118107470003344788283540668521949722403148237652686983414463383015523883598922177215352194266672547103504889718051768641451262583519906954968492746223696836152066792427728883308147367671624041202141184605392931912961651999829517878550594790190194053864595505444831984597135216424834981326871044716946413540712194327368486552637908594538406329041086754289263931105713029270280918608700576747966902800335983626965348743516988171315044303233055143614314631834556735621649002735461861640802717686269178467728257180367947631672870638774261097241977362001959050074726071939069818626280866071914947320745598426767286643441795886625615907529862551460717977584977010097866101689665728162462766390176702266948949301085192997283813250439704261726565802103931924954574448234783046554932651184493859049374451417964688595688683644017021551251740392227375214339524817224934236752120153194176057942127012909722800942243587890008745842824402052292524120109293327891455683710225865192735837100349095876718533098292163376876597850551965551298766934571796837645902749004151807712030440410326051090532506986297379114756149922465626473116139370257352737130412208187933572203808063814379921773296600877618862540621396564318620564699162710193767033521516797915973644075342256390559451964653255927530191825227575793227215262158876672702222656118894531720535038534439020851549701019667189375322554286520515319779036783141945909087550636305294850253872701974249847419524081768989558570005224038823506051246994702698512927569661272806479165830489963605973715309442551980065568174780380084659703449366769920934151436375440796144730901450937175100679090923444865426272965466669403817640551417240104512983221963910802003861230288741393545908487707062329806577667927554891916551512014276364613328923546557651378138716294964300208259798972026544457964825357288495034346054787440643751232365707543923685404544846322300306575562322086328325831587433818138603770520167376756273809117470593598895756326570686218253775512248394453294432182375872270242915786881721916093402499541735432287686119196492433935028529777236968978800660277248019992334091175509125837331038499132087887711549391176054232717394283502553516717327771768957314433294947818512846945470023611706865951541718645035663142853080219951234055195266078833511603782619868144186407576699389448945681620661927452938504978 1287643468949075003348878742164575037450517215444143186262456131390320423040664770252505709724588328367769793799537809581297639519465519622218354894618526285187692776830703675282522975540602356628724303541110614661825533105427396132814909658238028262116834590942925651017462429633408960574686800089836394657995416724393320877778538894531597052394783632948212257105860207052151389577462636569412757192083666429776105175768208832814592646761701644479585788017262022318324055791738578097457122263592737194472275551340820869931359938811902814386818776992426031766969632728759073866021450330430325544271219638428007557690344829647188716925829586539121637592223414681862072408021793889362403309503170397256627490363941081008379367520542107089130244108966774844397878454177610491263544133053911031878601394556123069995049260063810449714330429562346176751582021597581567594159402461140804028945178859077808210682714971679053349109693336627932201052028668696003678007934398745808713785035131098910566568254031527627298879339538366070552823291448010577281097815244820247290560569989028647884082698424044202572224267401774170484355860813593964247356674673000078809593169792946373509727426815163270645331916743569888132279385884972439891047883612272942023025847613845206099621094473259415577996189672539312655172459852248893938133002312105356654525340137167283633182051698158128441016927892663842173133865253044550555020919257515861564988343730257930982656823904318082949457758687174026272770789338749035476788644969114544225762890844366082230513364284382157684486731823135999244035946097626455333709095020064762823961459383746990905190375592985804864858637117684589235255638310428074635526549071159485127724556299870408575648465975888398429615834765951515817831544448705717452849064228864221035110322288079003124192126323327872997395244541423438907293298231700829657497629074626596043226334386968552043182189590884682211360074604710350704607514297871998297423020062806709486115049122990747022558808515470388940020312834454715441612989836382833023392262887261697704056511569370509260378602333115164086052572193937505747031087063000453024890375726312030298307543395229500469449429326725355669034599283931185271948527341479851869145954833626458948103687208560754545584452262925687333048471917184305112770208837755659087009070479880619418777828873173766688984478279178308989567925678584154972320052210788756382515905102185855620417179543065236405814383530652451442977431530743568562271581928266023933699599998403050234126101253076428532964311025953181562745096371609668140938479264719538657570516344807665805328753626293486748683334980404070874805862323979933091112037635507417965762028389171691787978610813574794825437028112763763893006695657111887375269557547205398579373828030771617214483414626180075218174361276586701253559896845139773410373960254671338434231372572522151117172043969685200075442967897554867387217716911666082044733164937915054462239969834112937654633982567357496087603244876841521292992551649802948212760238987622093048541029165799592697554194065602775405647027194839131822623754212354647974861177418847882724796216648828490138966353952736694075123979276580162690545837383951228956066665739268388714509671023075158974279722820478390242394409648352726964145169893565471700509423303383055173767505317439901687586560583462992104195749647968620257694598419572409276794208486099409099472428125533025149 2083450898151423200268893846993758111942320574887853032344031624364622995219511352028032290344215042046198111865963359296556524769768064714134208682976070539303141444655251683087674126191416049632733449766132517725309873621025786626782754222957152335870394635175415151424199619136108214535897938393651680300683198169165217490565112719151543989040942580661197354154542068481653087168195801530283198910815210740666447248998557890363534227588628244876298446582989919092655031749697301196994399008817855121617390115498207533132947919034599265844620766381241403573876958695812949514418982621656942536280102557901810754939874087625665894006940048033632116158401993389610610204479642680823572722907579162545079154087474475680078677073361778670097380178303364477459573904240020252540562783756129362576074734060996326440835978449587369761437112900870282725071208719875782944429985978258999503930031091761472028456528541785157497457703648643375421161545395109989228864948440586055023224604659626942652777868291660388814434432328106601800638110726348508676391059931468927408668039992373436167623366945993924975372505054461153898819243829117847846278851888352273076265716896451263227779195456614533228851823698538380878503082721124506683475612495581089390697471655047347284226487405172377229996019190417863249962650046302758533638447144089953789741764972148610504226768644571669153211255261150394811042459791450879596107673546779792670701373000538849591357400652284985749793742314139375016287777510064079780021700112728858857597447579987731233248826146022960402173001001603727501216314045258128204347869281162004801323461342797065631262314662804431145724709032631909980854065077714718077322435696775392657587107760588386160625476073754500119281562928414282208008246715654666753934257226148034285550026549805568926296058248282447445630027587978371558477792090750204108915593763222284726870351408519803783574416966099021736177299538947102824760708473929940424435929785607651729702939131736589846960860807994509049313640725910399151838855029118670123741358763980230802348674946247107110930567884413931020624369031583408496035238870712483465300701777402562805293840774344256619371894953198471808404856636668315684156715275052055677209769213548232244704564827423295166981016581546252032211182110951338634287006753729303162351326870440071383431084800703958514212054072405524251726802351286377628438946742509291421050344123037405321436846732440558960100904045972230479760573476652656112907887223116277806401574248250469758207870242634998538188349849459232809739799070122595710599752071198704488060479950781381114771305606359054923463715065063774324172632244914084527487478431652148867212965564272370878902055679001067790903697516581404444423935761624870597233468349209259809662569424317525702190476955986652886101916168503252765574173209753102333920517906049477150526336872730410916144070514143164900800256392589213442005157555417314410440708861600459007086292134419513216956068895683327675037063015445291813159928406076757330230832586517849375111715384053368209802588518897207588022899465082047609505476128448050474402912851135568843992709082763518668743590921715494735401227296572496781721346509788559994565797827156100263900847077307876368563225373995107570166178605667160259092988406412417170533035010249006715486150353103044540666780534697047299461828481480224040314466563758816853493597935045090720134355578471530127 3371094367100498203617772589158333149392837790331996218606487755754943418260176122280538000068803370413967905665501168877854164289233584336352563577594596824490834221485955358370197101732018406261457753307243132387135406726453182759597663881195180597987229226118340802441662048769517175110584738483488074958678614893558538368343651613683141041435726213609409611260402275533804476745658438099695956102898877170442552424766766723178126874350329889355884234600251941410979087541435879294451521272410592316089665666839028403064307857846502080231439543373667435340846591424572023380440432952087268080551322196329818312630218917272854610932769634572753753750625408071472682612501436570185976032410749559801706644451415556688458044593903885759227624287270139321857452358417630743804106916810040394454676128617119396435885238513397819475767542463216459476653230317457350538589388439399803532875209950839280239139243513464210846567396985271307622213574063805992906872882839331863737009639790725853219346122323188016113313771866472672353461402174359085957488875176289174699228609981402084051706065370038127547596772456235324383175104642711812093635526561352351885858886689397636737506622271777803874183740442108269010782468606096946574523496107854031413723319268892553383847581878431792807992208862957175905135109898551652471771449456195310444267105109315894137408820342729797594228183153814236984176325044495430151128592804295654235689716730796780574014224556603068699251501001313401289058566848813115256810345081843403083360338424353813463762190430405118086659732824739726745252260142884583538056964301226767625284920726544056536452690255790236010583346150316499216109703388142792712848984767934877785311664060458794736273942049642898548897397694365798025839791164360384206783321455012255320660348837884572050488184571610320443025272129401810465771090322451033766413222837848880770096685795488355826756606556983703947537374143657453529368222771801938721858949848414361215817988254727336869519669323464897989333953560365114593451844865501503147133621651241928506405186515617616371309170217529095106676941225520914243066325933712936490191077503714593103601384169573757088821324279923827477439455920599500956105242616531907546355724047174691192808252035984049712565468844471939365259654028135643747057215591484962249360397350320690802208913673877725203196532351583833241294728029870532600758998953298047803566249225223260941854026275505795365915287576624681922738005007396224675179469151382301740101174246653519992333971495711427071152660875412414372484895441732263851538231335918243145630996295589046920100059232652541672147050045467845198978494568894017618599516067159566832974993953444062666880666492575862616340725629345168337430631418736757972503025896414658389036397455089142916673891582166728104276277445089954019134070054892875744294478160720815584757709445252562033316114483828364976243224290144080829222874467083396455173873799515513469326261968532450871590051463040823762640307892286813106152480055879705542991071574139942423652744549852960907356782584499982993669926659921179432129230340802698449264090269983451568788925731592008807709944874452188810525206573152659472267183893739788950632463566424488978410518100383035342842948194473497812560588254019887223238158299977888871042458313632061889253655670542946228253341118160039403657578129448844298009064983331226130287806421144499819606783704004555276 5454545265251921403886666436152091261335158365219849250950519380119566413479687474308570290413018412460166017531464528174410689059001649050486772260570667363793975666141207041457871227923434455894191203073375650112445280347478969386380418104152332933857623861293755953865861667905625389646482676877139755259361813062723755858908764332834685030476668794270606965414944344015457563913854239629979155013714087911108999673765324613541661101938958134232182681183241860503634119291133180491445920281228447437707055782337235936197255776881101346076060309754908838914723550120384972894859415573744210616831424754231629067570093004898520504939709682606385869909027401461083292816981079251009548755318328722346785798538890032368536721667265664429325004465573503799317026262657650996344669700566169757030750862678115722876721216962985189237204655364086742201724439037333133483019374417658803036805241042600752267595772055249368344025100633914683043375119458915982135737831279917918760234244450352795872123990614848404927748204194579274154099512900707594633879935107758102107896649973775520219329432316032052522969277510696478281994348471829659939914378449704624962124603585848899965285817728392337103035564140646649889285551327221453257999108603435120804420790923939900668074069283604170037988228053375039155097759944854411005409896600285264234008870081464504641635588987301466747439438414964631795218784835946309747236266351075446906391089731335630165371625208888054449045243315452776305346344358877195036832045194572261940957786004341544697011016576428078488832733826343454246468574188142711742404833582388772426608382069341122167715004918594667156308055182948409196963768465857510790171420464710270442898771821047180896899418123397398668178960622780080233848037880015050960717578681160289606210375387690140976784242819892767888655299717380182024248882413201237875328816601071165496967037204008159610331023523082725683714673682604556354128931245731879146294879634022012945520927386463926716480530131459407038647594286275513745290699894620173270874980415222159308753861461864723482239738101943026127301310257104322739101564804425419955491779281117155908895224943918013708193219233122299285844312557267816640261957891583963223565493260722923437512816863407344879546485426018191397470836139086982381344222345214265411711724220760762185639998474581683717408586423989357493021530381156910229197945695807339224616593348260666263290873007946354326016191622596912402498578484048880788087356374498579546502748494903989750541841738346425609341010724871647182224694511854859562137983407116947633691476246370428034871364839011596595610765110531619523151126813808102146086994498811715700187959517716433545782722171576930407244423145926572781854567180361628569736494245623918198698966879406668618864368538153380990378193613593206784708243264645978078214996066770292735284046317982972949460184997971529877043480682733294271228032022500710865614582661115972476412554102951964088546120358724151437677370907732104919312408461956462873221904160657791798764459933906329117159371103397190581692826125003227041634706469250748923667003121119020412781634814355527476453535796167683545926433869725156253988530403528348945198261393580589242311365177690911711406173568468605382726766859687047482331146706390306041575493323881068604739806023645990768920121652857086703119406610929068338323531547090042983781404356189590539741139282476085403 8825639632352419607504439025310424410727996155551845469557007135874509831739863596589108290481821782874133923196965697052264853348235233386839335838165264188284809887627162399828068329655452862155648956380618782499580687073932152145978081985347513531844853087412096756307523716675142564757067415360627830218040427956282294227252415946517826071912395007880016576675346619549262040659512677729675111116612965081551552098532091336719787976289288023588066915783493801914613206832569059785897441553639039753796721449176264339261563634727603426307499853128576274255570141544956996275299848525831478697382746950561447380200311922171375115872479317179139623659652809532555975429482515821195524787729078282148492442990305589056994766261169550188552628752843643121174478621075281740148776617376210151485426991295235119312606455476383008712972197827303201678377669354790484021608762857058606569680450993440032506735015568713579190592497619185990665588693522721975042610714119249782497243884241078649091470112938036421041061976061051946507560915075066680591368810284047276807125259955177604271035497686070180070566049966931802665169453114541472033549905011056976847983490275246536702792440000170140977219304582754918900068019933318399832522604711289152218144110192832454051921651162035962845980436916332215060232869843406063477181346056480574678275975190780398779044409330031264341667621568778868779395109880441739898364859155371101142080806462132410739385849765491123148296744316766177594404911207690310293642390276415665024318124428695358160773207006833196575492466651083180991720834331027295280461797883615540051893302795885178704167695174384903166891401333264908413073471854000303503020405232645148228210435881505975633173360173040297217076358317145878259687829044375435167500900136172544926870724225574713027272427391503088331680571846781992490019972735652271641742039438920046267063722999496515437087630080066429631252047826262009883497154017533817868153829482436374161338915641191263586000199454924305027981547846640628338742544760121676418008602066464087815159047977482339853548908319472121233978251482625236982167890738138356445682856784831749012496609113491770797014543513046126763283768477867317596367200508115870769921217307897614630321068899391394592111954270490130762730490167222626128401437936699227661072121571081452987848912148459408920605118775573190734316258411027442829956944649105387028182842573483927205144899283452149691931479199221594325236583491445105463266825525880881286603922741557509742875813234057852680493671600284061554709589953587123413676214743035190779322472541959474954971424071664138267757815155999464722129621382702119764686510565971282533162953471160496212663388664152793023585148775271741119285198599098386542239520142038576587735364334495811535538260120320109094654471058683160803842313319538853822509474227491108320041755763235534982776299481799894853286704972877375100450906489584107320788456460631485945738816071484414960136171821764975200317678800018918025464888517836168416212975734797734222417204483759290024516153687897173575362752784924406473763936810053447372931093391102471981570560545947536284163480670619872356451640442877815726255714297268137895830724960005078220721883278073947054249121762942103195287355113706934705569305006368194912617951637513130493993461694188936997173462771017126106776984740377912636332596530421269114069210777334090359347922986480640679 14280184897604341011391105461462515672063154520771694720507526515994076245219551070897678580894840195334299940728430225226675542407236882437326108098735931552078785553768369441285939557578887318049840159453994432612025967421411121532358500089499846465702476948705852710173385384580767954403550092237767585477402241019006050086161180279352511102389063802150623542090290963564719604573366917359654266130327052992660551772297415950261449078228246157820249596966735662418247326123702240277343361834867487191503777231513500275458819411608704772383560162883485113170293691665341969170159264099575689314214171704793076447770404927069895620812188999785525493568680210993639268246463595072205073543047407004495278241529195621425531487928435214617877633218417146920491504883732932736493446317942379908516177853973350842189327672439368197950176853191389943880102108392123617504628137274717409606485692036040784774330787623962947534617598253100673708963812981637957178348545399167701257478128691431444963594103552884825968810180255631220661660427975774275225248745391805378915021909928953124490364930002102232593535327477628280947163801586371131973464283460761601810108093861095436668078257728562478080254868723401568789353571260539853090521713314724273022564901116772354719995720445640132883968664969707254215330629788260474482591242656765838912284845272244903420679998317332731089107059983743500574613894716388049645601125506446548048471896193468040904757474974379177597341987632218953899751255566567505330474435470987926965275910433036902857784223583261275064325200477426635238189408519170007022866631466004312478501684865226300871882700092979570323199456516213317610037240319857814293191825697355418671109207702553156530072778296437695885255318939925958493535866924390486128218478817332834533081099613264854004056670211395856220335871564162174514268855148853509517070856039991211764030760203504675047418653603149155314966721508866566237626085263265697014448709116458387106859843027655190302480729586383712066629142132916142084033244654741849688883582481686247123912909439347063335788646421415147361279561739729559721269455542563776401174636065948904921391834057409784505207762746168426049128081035135134236629158399699833993486710568620538067833885762798739471658439696508322160201326306309608509745660281913493072783845791842215173488910623041092638013705199562548227337788792184353059154890344912726252799435921744593468435772291398504017947670821818506727735161975493986251354181900379460833106671236461499493417654972404278289834682325155708736934284465441982975814198150152138413013948788329902989842788910675734863368580266531084245280748196510221910773505064782998233350912988876929758446110835729723430829571921198313901139765779460015111976014387662494786434331213902480154402628658473490085032664672276367588550556584184831900724470294261401055325802081218507932236484479771424730330185655610669371678938512084818186403039121747458422151370174436379048682292180489126637995049707751022944777296979792631289434879895455526021181664417665619141675524791294364157055578909927633515398643279304196296598096512221492394352195360303063760617016466787555902378074312602971980244244700796486841028986353585667463033248455764858765655295331410708578014121973393982187900451712758500954193444961394199098733267717834927766093584423874212809896391351306980974656128077511312097850615133523680899089062268956726082 23105824529956760618895544486772940082791150676323540190064533651868586076959414667486786871376661978208433863925395922278940395755472115824165443936901195740363595441395531841114007887234340180205489115834613215111606654495343273678336582074847359997547330036117949466480909101255910519160617507598395415695442668975288344313413596225870337174301458810030640118765637583113981645232879595089329377246940018074212103870829507286981237054517534181408316512750229464332860532956271300063240803388506526945300498680689764614720383046336308198691060016012061387425863833210298965445459112625407168011596918655354523827970716849241270736684668316964665117228333020526195243675946110893400598330776485286643770684519501210482526254189604764806430261971260790041665983504808214476642222935318590060001604845268585961501934127915751206663149051018693145558479777746914101526236900131776016176166143029480817281065803192676526725210095872286664374552506504359932220959259518417483754722012932510094055064216490921247009872156316683167169221343050840955816617555675852655722147169884130728761400427688172412664101377444560083612333254700912604007014188471818578658091584136341973370870697728732619057474173306156487689421591193858252923044318026013425240709011309604808771917371607676095729949101886039469275563499631666537959772588713246413590560820463025302199724407647363995430774681552522369354009004596829789543965984661817649190552702655600451644143324739870300745638731948985131494156166774257815624116825747403591989594034861732261018557430590094471639817667128509816229910242850197302303328429349619852530394987661111479576050395267364473490090857849478226023110712173858117796212230930000566899319643584059132163246138469477993102331677257071836753223695968765921295719378953505379459951823838839567031329097602898944552016443410944167004288827884505781158812895478911258031094483203001190484506283683215584946218769335128576121123239280799514882602538598894761268198758668846453888480929041308017094610689979556770422775789414863526106892184548150334939071957416829403189337554740887268595257813222354796703437346280702132846857492850780653933888443170901555302222306259214552812411849513002451832996358907815704763407927876518152698154954662190134063770393966998452922931816473532234638147098218612720733855967362923668161337822771500501558618823975135738961654047203211795889111834994018113280982278495228520673580671574850653709879150021040101052971745466939091714621007426260342119710593978019009236293468206462130970328353925439770291643874419029106389490412893187329192336421330289377944814212982339873131126395422530548967410369579212341675460015630754280766513866460037425971109499499882516454414720696470055020424964378558401654215534529701071374169695548398291689940888778793599179687135730959528392392869903723685723233944521752509375367557844454042915012783961571319583616890628488044472129845001668925507191495582378944367890186245920794008818464002254101838312728507769940970242185497628799705647855630253260243598868901424909166191678479191537732418331694852039989162580089357643669529189903323964375922755906250600044780497137407428258829714755480787706499958998064624736859711313590745683755131733838805819904417094352811773301477087100916893469756719126695866811396598907329592726729412023864763267047194891338916673376091684893610988724607932581211919825910857771258436985255437366761 37386009427561101630286649948235455754854305197095234910572060167862662322178965738384465452271502173542733804653826147505615938162708998261491552035637127292442380995163901282399947444813227498255329275288607647723632621916754395210695082164347206463249806984823802176654294485836678473564167599836163001172844909994294394399574776505222848276690522612181263660855928546678701249806246512448983643377267071066872655643126923237242686132745780339228566109716965126751107859079973540340584165223374014136804275912203264890179202457945012971074620178895546500596157524875640934615618376724982857325811090360147600275741121776311166357496857316750190610797013231519834511922409705965605671873823892291139048926048696831908057742118039979424307895189677936962157488388541147213135669253260969968517782699241936803691261800355119404613325904210083089438581886139037719030865037406493425782651835065521602055396590816639474259827694125387338083516319485997889399307804917585185012200141623941539018658320043806072978682336572314387830881771026615231041866301067658034637169079813083853251765357690274645257636704922188364559497056287283735980478471932580180468199677997437410038948955457295097137729042029558056478775162454398106013566031340737698263273912426377163491913092053316228613917766855746723490894129419927012442363831370012252502845665735270205620404405964696726519881741536265869928622899313217839189567110168264197239024598849068492548900799714249478342980719581204085393907422340825320954591261218391518954869945294769163876341654173355746704142867605936451468099651369367309326195060815624165008896672526337780447933095360344043813290314365691543633147952493715932089404056627355985570428851286612288693318916765915688987586996196997795246759562893156407423937857770838213993032923452104421035385767814294800772352314975106341518557683033359290675883751518902469795125243406505865531924937286364740261185490843995142358749324544065211897051247715353148375058601696501644190961658627691729161239832112472912506809034069605375795775767029836582062984866856176466525126201162302415956537374962084356424706801823265909248032128916729558855280277228311339807430069005382978861539930548137586069625517307515538756894638445138690765988840424988873535428833663506775083133142779841843147892758500526213806639813154765883334826733394541594196632529174698287188991835995396148948266725338930839533781714416973114142016443866249157727826820842858607780706907442433077965975189326639802952817265214480508729711123178866409260163036250595479028578158884471089365304611043339467605350370118619280934657001893015607994494975689061633212691117775722563586233520695537278999864779448914355729555610335612239885244292617668368921564730158018416766191548917363566160604026762300771844343517437267089264719800403235895980943426487908517623958414816013910430693359925672550847249268441342744313947076284098713843808783513753743693594534704126402790041556420357173057500756182743228476307778215520963915019482477421430995082735525708786264780533319090528307867203270485901889473910604779673504561223368661839966127286415545456770274951266553663805397513604194984161207789068083759686744203698861111577888697667176413146788380189603664585559712425763520351315599060494899081370208431885196821004841560301528691459997129858792529360631618765551726569767442991874585644852685443893309770441044381452157526047524394092843 60491833957517862249182194435008395837645455873418775100636593819731248399138380405871252323648164151751167668579222069784556333918181114085656995972538323032805976436559433123513955332047567678460818391123220862835239276412097668889031664239194566460797137020941751643135203587092588992724785107434558416868287578969582738712988372731093185450991981422211903779621566129792682895039126107538313020624207089141084759513956430524223923187263314520636882622467194591083968392036244840403824968611880541082104774592893029504899585504281321169765680194907607888022021358085939900061077489350390025337408009015502124103711838625552437094181525633714855728025346252046029755598355816859006270204600377577782819610568198042390583996307644744230738157160938727003823471893349361689777892188579560028519387544510522765193195928270870611276474955228776234997061663885951820557101937538269441958817978095002419336462394009316000985037789997674002458068825990357821620267064436002668766922154556451633073722536534727319988554492888997555000103114077456186858483856743510690359316249697214582013165785378447057921738082366748448171830310988196339987492660404398759126291262133779383409819653186027716195203215335714544168196753648256358936610349366751123503982923735981972263830463660992324343866868741786192766457629051593550402136420083258666093406486198295507820128813612060721950656423088788239282631903910047628733533094830081846429577301504668944193044124454119779088619451530189216888063589115083136578708086965795110944463980156501424894899084763450218343960534734446267698009894219564611629523490165244017539291660187449260023983490627708517303381172215169769656258664667574049885616287557356552469748494870671420856565055235393682089918673454069631999983258861922328719657236724343593452984747290943988066714865417193745324368758386050508522846510917865071834696646997813727826219726609507056016431220969580325207404260179123718479872563824864726779653786314247909643257360365348098079442587668999746255850522092029682929584823484468901902667951577986917002056824273005869714463755903189684551795188184439153128144148103968042094889621767510212789168720399212895109652375264597531673951780061140037902621876215331243520302566321656843464143795087179007599199227630505228006064959253374077786039856719138934540495780517689551496164556166042095755251353149834026150645883198607944837378560332948952814763992912201634815597115441099811437705970863898708833678652909372169680596196752900145072527859192499517966004591385328540230491390176035249320222033303500195754795023936526796797686791448908658879471214875355481125621371111592182180101487354934905261693536326291559766378645908951781700665109835494756339659013314138423941989694536576818420407083447064637534773722310699063534284406216060688444406936134195424373336296391632203347192359337766419806060917770126593762262052402914063897563966912586758315938628515422669200786030286505347157931742666277967066319220184997330314620506723290904885261667975050230700730591155962046508379402220515437474058881749677439621892242299631713493723803458019483635656476318869421146197707172804263850178010741602412420037503823564547393244162696925736314748408980767158830543511923442470405464129520116332124617076147595815974839965151011892687816238159208858284186726541882657292627678813656890643243143534676768196633577293376474521690266955239223415963032779831459604 97877843385078963879468844383243851592499761070514010011208653987593910721317346144255717775919666325293901473233048217290172272080890112347148548008175450325248357431723334405913902776860795176716147666411828510558871898328852064099726746403541772924046944005765553819789498072929267466288952707270721418041132488963877133112563149236316033727682504034393167440477494676471384144845372619987296664001474160207957415157083353761466609320009094859865448732184159717835076251116218380744409133835254555218909050505096294395078787962226334140840300373803154388618178882961580834676695866075372882663219099375649724379452960401863603451678382950465046338822359483565864267520765522824611942078424269868921868536616894874298641738425684723655046052350616663965980960281890508902913561441840529997037170243752459568884457728625990015889800859438859324435643550024989539587966974944762867741469813160524021391858984825955475244865484123061340541585145476355711019574869353587853779122296180393172092380856578533392967236829461311942830984885104071417900350157811168724996485329510298435264931143068721703179374787288936812731327367275480075967971132336978939594490940131216793448768608643322813332932257365272600646971916102654464950176380707488821767256836162359135755743555714308552957784635597532916257351758471520562844500251453270918596252151933565713440533219576757448470538164625054109211254803223265467923100204998346043668601900353737436741944924168369257431600171111393302281971011455908457533299348184186629899333925451270588771240738936805965048103402340382719166109545588931920955718550980868182548188332713787040471916585988052561116671486580861313289406617161289981975020344184712538040177346157283709549883972001309371077505669651067427246742821755078736143595094495181807446017670743048409102100633231488546096721073361156850041404193951224362510580398516716197621344970016012921548356158255945065468589751023118860838621888368929938676705034029601058018315962061849742270404246296691475417090354204502595436393857554074277698443718607823499065041691129182336239589957065492100508332563146523509552850949927233951342921750684239771644448997627524234917082444269980510535491710609277623972247393522846782277197204766795534230132635512167881134628061294012003089198102033215920933932615219665148347135593672455434830991289560583689951883882324532313339637719194004093785645285671879792348545707329174748957613559307348969165532791706757316614385560351805247646571386079539948025345124406980026695715714564194949490654426426630728348800192187971285120099634979866264403037161567527939814128216768371089120116346800653815392792605130657468847927057021828838766243425357866137430220720171106996224903305931806792863554424694595235186598632364428203695377749072999835378627923653327777709126736537431320354279722879540720971150774153780330236754277695799144609511320844256808211511043196685472159747412029176412894380564990631749947973299086635140123819976367740558790928284938811868800281150452471661695813326681670832773159935539605965781926085020163341511366152904411386998285026826681323601783762734414877916472658439357927655575524345797396581245292891648307079988366395786847892637106647943571977331892113046134991023841945879852475932675208090715056210173582897089508821079719510386975646723671741449821988310432422442369812910977668642782278429978820367831460707999620675573489080304225552447 158369677342596826128651038818252247430145216943932785111845247807325159120455726550126970099567830477045069141812270287074728605999071226432805543980713773358054333868282767529427858108908362855176966057535049373394111174740949732988758410642736339384844081026707305462924701660021856459013737814705279834909420067933459871825551521967409219178674485456605071220099060806264067039884498727525609684625681249349042174671039784285690532507272409380502331354651354308919044643152463221148234102447135096301013825097989323899978373466507655310605980568710762276640200241047520734737773355425762908000627108391151848483164799027416040545859908584179902066847705735611894023119121339683618212283024647446704688147185092916689225734733329467885784209511555390969804432175239870592691453630420090025556557788262982334077653656896860627166275814667635559432705213910941360145068912483032309700287791255526440728321378835271476229903274120735342999653971466713532639841933789590522546044450736844805166103393113260712955791322350309497831087999181527604758834014554679415355801579207513017278096928447168761101112869655685260903157678263676415955463792741377698720782202264996176858588261829350529528135472700987144815168669750910823886786730074239945271239759898341108019574019375300877301651504339319109023809387523114113246636671536529584689658638131861221260662033188818170421194587713842348493886707133313096656633299828427890098179201858406380934989048622489036520219622641582519170034600570991594112007435149981740843797905607772013666139823700256183392063937074828986864119439808496532585242041146112200087479992901236300495900076615761078420052658796031082945665281828864031860636631742069090509925841027955130406449027236703053167424343105137059246726080617001064863252331219525400899002418033992397168815498648682291421089831747207358564250704869089434345277045514529925447564696625519977564787379225525390675994011202242579318494452193794665456358820343848967661573322427197840349846833965691221672940876296532278365978681038543179601111670185810416067098515402188205954053712968681785060127751330962662680995098031201993437811372451749984433617718026737130026734819534578042209443490670417661874869269738178025797499771088452377694276430599346888733827288924517231095263061286589998719972471938804082887631374190144986327155845726625785707135235474366339490283602392612038623023846004828745163309700241376383773210674748448780603238762570656025448064213261177417327167582832440093097872983599479544661720305949523489721145816602665977669022225491471480874894658916393061200723953016436598693599431643726570245737717912245997572894092485592374109620593348120398532622071266817919130885830006601752564562319245945216805544119231172053607005715811492841230151471383698898912912329869388466153533672671626744727616019271172924318343133491546750042815195465925738371773373247170872109075010109272230475686040544599082095166595277137097105905041752913107190139196552737889105548791662102773685542818427521892396543917837632879281539337760121403255984966769840781133258395204043100492008830284700807237440239053284299062670365612162191505753535087399809001282796715212854473232529092712584207385515628710730807875404036488605396487971465996184600549751355686531031050138733908982196637317878719245259833450213624107114615989246079333013056054512345410978912007272196842353150974954859898989452113084057012051 256247520727675790008119883201496099022644978014446795123053901794919069841773072694382687875487496802338970615045318504364900878079961338779954091988889223683302691300006101935341760885769158031893113723946877883952983073069801797088485157046278112308891025032472859282714199732951123925302690521976001252950552556897337004938114671203725252906356989490998238660576555482735451184729871347512906348627155409556999589828123138047157141827281504240367780086835514026754120894268681601892643236282389651519922875603085618295057161428733989451446280942513916665258379124009101569414469221501135790663846207766801572862617759429279643997538291534644948405670065219177758290639886862508230154361448917315626556683801987790987867473159014191540830261862172054935785392457130379495605015072260620022593728032015441902962111385522850643056076674106494883868348763935930899733035887427795177441757604416050462120180363661226951474768758243796683541239116943069243659416803143178376325166746917237977258484249691794105923028151811621440662072884285599022659184172365848140352286908717811452543028071515890464280487656944622073634485045539156491923434925078356638315273142396212970307356870472673342861067730066259745462140585853565288836963110781728767038496596060700243775317575089609430259436139936852025281161145994634676091136922989800503285910790065426934701195252765575618891732752338896457705141510356578564579733504826773933766781102212143817676933972790858293951819793752975821452005612026900051645306783334168370743131831059042602437380562637062148440167339415211706030228985397428453540960592126980382635668325615023340967816662603813639536724145376892396235071898990154013835656975926781628550103187185238839956332999238012424244930012756204486493468902372079801006847425714707208345020088777040806270916131880170837517810905108364208605654898820313796855857444031246123068909666641532899113143537481470456144583762225361440157116340562724604133063854373450025679889284489047582620251080262382697090031230501034873802372538592617457299555388793633915132140206531370542193643670034173885568460314477486172233846047958435944780733123135989756078066715654261364943817263804558552744935201279695285847116663261024808074696975855247911924409066111514769868455350218529234184461163319805919653905087158469231234766967862600421158147135287209475659019117798898652829921321586616132408669131676708537511855407570551132730824234055797749768771554277413342062449773612982664973738968911980041123218108006459571357436020513718439211800243029296706017822417679442765994994293896259325603761114583964538507727648412097659365854064712899812965686697616249842957547650369949237298865496624684056561106550177708748789465625177752009669098543925767288793604348175921044925529220456698734291540253522716243862660409209058065081895742150713645289493907645327080279569473161724882981284694091427680320586053305957702635433452573775494989547160267768847053878340839548247313959172920478447896477076600914642485823968879993554092357244519303712054699273299727369037911051790004122644624548108454487490293857111382130839224001787699176979143024051520119161329059433197205582528089606861161553220895488499432100022622276654302785207296149534740387511813411876037076482426563777246087260312316806071705458397598229632235480173885365556936604299678501775382868965490014053761190437251017210184611682954480574562941193388282564498 414617198070272616136770922019748346452790194958379580234899149602244228962228799244509657975055327279384039756857588791439629484079032565212759635969602997041357025168288869464769618994677520887070079781481927257347094247810751530077243567689014451693735106059180164745638901392972980384316428336681281087859972624830796876763666193171134472085031474947603309880675616288999518224614370075038516033252836658906041764499162922332847674334553913620870111441486868335673165537421144823040877338729524747820936700701074942195035534895241644762052261511224678941898579365056622304152242576926898698664473316157953421345782558456695684543398200118824850472517770954789652313759008202191848366644473564762331244830987080707677093207892343659426614471373727445905589824632370250088296468702680710048150285820278424237039765042419711270222352488774130443301053977846872259878104799910827487142045395671576902848501742496498427704672032364532026540893088409782776299258736932768898871211197654082782424587642805054818878819474161930938493160883467126627418018186920527555708088487925324469821124999963059225381600526600307334537642723802832907878898717819734337036055344661209147165945132302023872389203202767246890277309255604476112723749840855968712309736355959041351794891594464910307561087644276171134304970533517748789337773594526330087975569428197288155961857285954393789312927340052738806199028217489891661236366804655201823864960304070550198611923021413347330472039416394558340622040212597891645757314218484150111586929736666814616103520386337318331832231276490040692894348425205924986126202633273092582723148318516259641463716739219574717956776804172923479180737180819018045696293607668850719060029028213193970362782026474715477412354355861341545740194982989080865870099756934232609244022506811033203439731630528853128938900736855571567169905603689403231201134489545776048516474363267052876677930916706995846820577773427604019475610792756519269589422674717298993341462606916245422970097914228073918762972106797567152168351219631160636900667058979444331199238721933558748147697383002855670628588065808448834914841145989637938218544495587739740511684433680998494970552083339136594954378691950112947721985932999202833872196746943700289618685496710861658602282639143046465279724224606395918373877559097273314122398342052745407485302981013835261366154353273264992320204923979228171031692977681537282675165107811927516504034908804246530372010316848069367510513986874160082300906551744420134221091091605939116019156326463241928932946059631962683686844643170914246869888952812652386804485067600401137201327080055824229611591782625145810538580790101842217067168243718069635831487567891501975691992380184310501354027944423697226474642663156939342400610063987413886155680691840397633204452583392104710016194081880684809809511761421886569607837041136873830322384668627650621353058067338598552429661063415229933111119493118374577084713755544905944159783382592461354504098369473216337002025868263017416171366787307515446488901162356936591336238611059848772293896018559844903777882943312497587982302687396082938076664240840983476041813389663682310667082594520597014583810886322074016026453424581212016307408137905365033593082700186023345783999784877872221677032177919463777118310451050715053902095715476948877495313624098989664051220288924581108395925020002359464740102444523214052537762657909340473552393306472339576549 670864718797948406144890805221244445475435172972826375357953051397163298804001871938892345850542824081723010371902907295804530362158993903992713727958492220724659716468294971400111379880446678918963193505428805141300077320880553327165728724735292564002626131091653024028353101125924104309619118858657282340810525181728133881701780864374859724991388464438601548541252171771734969409344241422551422381879992068463041354327286060380004816161835417861237891528322382362427286431689826424933520575011914399340859576304160560490092696323975634213498542453738595607156958489065723873566711798428034489328319523924754994208400317885975328540936491653469798878187836173967410604398895064700078521005922482077957801514789068498664960681051357850967444733235899500841375217089500629583901483774941330070744013852293866140001876427942561913278429162880625327169402741782803159611140687338622664583803000087627364968682106157725379179440790608328710082132205352852019958675540075947275196377944571320759683071892496848924801847625973552379155233767752725650077202359286375696060375396643135922364153071478949689662088183544929408172127769341989399802333642898090975351328487057422117473302002774697215250270932833506635739449841458041401560712951637697479348232952019741595570209169554519737820523784213023159586131679512383465428910517516130591261480218262715090663052538719969408204660092391635263904169727846470225816100309481975757631741406282694016288856994204205624423859210147534162074045824624791697402621001818318482330061567725857218540900948974380480272398615905252398924577410603353439667163225400072965358816644131282982431533401823388357493500949549815875415809079809172059531950583595632347610132215398432810319115025712727901657284368617546032233663885361160666876947182648939817589042595588074009710647762409023966456711641963935775775560502509717028056991933577022171585384029908585775791074454188466302965161535652965459632727133319243873722486529090749019021351891405293005590348994490456615853003337298602025970723758223778094200222447773078246331378928464929290341341053037029556197048380285935007148687193948073882999277618723729496589751149335259859914369347143695147699313893229808233569102596260227641946893722798948201543094562822376428470737989361575699464185387926201838027782646255742545357165309915345828643450116301044737025173471072163645150126245565844303440362109358245820187020515382478649234859142860044280140781871125482709572963760487142747274645520656400175344309199612398687376592346976960368144746302661259389704667060850357012864883246708911712408246182184365675709054728467921888977445847338045623504267487718092060024715894088018873130353064516186032253098930362019250143493569601449236143741207082706631194214412163334931081209912297096367495992836914820953878854491089742874891407503572600214897330948782200910601954141789375504334342761430026232750247116721187635746552945692150072074260915812674791213661723432009601818057542393694784898502944863932058657190756187509000581258406876240303390937884359576141331807070349849026422507491420952075472596544507465068915888242628682653020956413715202429828411653953794220166338975928935177579674320069711448407430760182019336378289996335558086171511598289748258753514604483241023205570763367521125607554113075178509730793797984355220987824588603082883778793985492373518501292881774231262722374340863821048115334499860622141047 1085481916868221022281661727240992791928225367931205955592852200999407527766230671183402003825598151361107050128760496087244159846238026469205473363928095217766016741636583840864880998875124199806033273286910732398647171568691304857242972292424307015696361237150833188773992002518897084693935547195338563428670497806558930758465447057545994197076419939386204858421927788060734487633958611497589938415132828727369083118826448982712852490496389331482108002969809250698100451969110971247974397913741439147161796277005235502685128231219217278975550803964963274549055537854122346177718954375354933187992792840082708415554182876342671013084334691772294649350705607128757062918157903266891926887650396046840289046345776149206342053888943701510394059204609626946746965041721870879672197952477622040118894299672572290377041641470362273183500781651654755770470456719629675419489245487249450151725848395759204267817183848654223806884112822972860736623025293762634796257934277008716174067589142225403542107659535301903743680667100135483317648394651219852277495220546206903251768463884568460392185278071442008915043688710145236742709770493144822307681232360717825312387383831718631264639247135076721087639474135600753526016759097062517514284462792493666191657969307978782947365100764019430045381611428489194293891102213030132254766684112042460679237049646460003246624909824674363197517587432444374070103197945336361887052467114137177581496701710353244214900780015617552954895898626542092502696086037222683343159935220302468593916991304392671834644421335311698812104629892395293091818925835809278425793365858673165548081964962647542623895250141042963075450277753722739354596546260628190105228244191264483066670161243611626780681897052187443379069638724478887577973858868350241532747046939583172426833065102399107213150379392937877095395612378819507342945466106199120259258126423122798220101858393175638652469005370895462149785739309080569479108337926075763143311909203808048012362814498321538428560446908718530534615975444096169178139074977854938731100889506752522577530617650398488038489038436039885226825636446094383842063528339937711821217822114311469237101435583016258354884921430482831742653692585179921181291088529259430475819090469742648491161780059533238087073020628504622164743909612532597756401660205353015859479563651968091236128753097314879998391327824345428637470331169545072474472055087039783102862185623194406165738894051664290810512792187973552077083477747361302829575552072400820309565400291218337803395748673440202297077692362293222073391511704021271259734772199521564099212731249784766812910381808523746118589037629963191434042848277819934277091884137806088508961840632407688007945091310546329751497521514025146462618383870239645973594824476150748817236890604137494000700445420306925663895048572970427684700919264994486784505167989919074740924338810417026125687400828768624785179908180136417568857672438810524649158974671357580735373445106024470956322155911866911121900528813126949474828557543495024447070159569233176894727176495419424913625703088909693930200390434733449663454899231903548006992552483469666129062769803378884740495494248474391234750149862251009193606127744650923464714838898087384369971372696521581431955511383167620480430546782402704800323881214418236179509649828552127387226107422083344885039044877527663992174719005494732983241395326297445315260136998773161521667727806332961717596 1756346635666169428426552532462237237403660540904032330950805252396570826570232543122294349676140975442830060500663403383048690208397020373198187091886587438490676458104878812264992378755570878724996466792339537539947248889571858184408701017159599579698987368242486212802345103644821189003554666053995845769481022988287064640167227921920853922067808403824806406963179959832469457043302852920141360797012820795832124473153735043092857306658224749343345894498131633060527738400800797672907918488753353546502655853309396063175220927543192913189049346418701870156212496343188070051285666173782967677321112364007463409762583194228646341625271183425764448228893443302724473522556798331592005408656318528918246847860565217705007014569995059361361503937845526447588340258811371509256099436252563370189638313524866156517043517898304835096779210814535381097639859461412478579100386174588072816309651395846831632785865954811949186063553613581189446705157499115486816216609817084663449263967086796724301790731427798752668482514726109035696803628418972577927572422905493278947828839281211596314549431142920958604705776893690166150881898262486811707483566003615916287738712318776053382112549137851418302889745068434260161756208938520558915845175744131363671006202259998524542935309933573949783202135212702217453477233892542515720195594629558591270498529864722718337287962363394332605722247524836009334007367673182832112868567423619153339128443116635938231189637009821758579319757836689626664770131861847475040562556222120787076247052872118529053185322284286079292377028508300545490743503246412631865460529084073238513440781606778825606326783542866351432943778703272555230012355340437362164760194774860115414280293459010059591001012077900171280726923093096433610207522753711402199623994122232112244422107697987181222861027155346901061852324020783443118721026608708837287315118356699820391687242423084224428260079825083928452750900844733534938741065059395007017034395732898797031384166389726831434150795903208987150468978781394771204109798736078716825301111954525600823861996578863417328830379489076914783022684826380318849212215533885785704217099733035198733691186732351518214799290777626526890353006478409729414860191125519658117765984192541596692704874622355614515543758617866197864208095000458799594429442851608758404836728961883437064772203213615924735416501295417592282620457415110916777912417196398028923049206138576884814973753194524335090653574059099034786656441507848445576850197593057220484909709490830736490772341020417162665222438664954481463096178764871628272599655446230475811620977431969132488619436536991668007566483477301237057547115765538026337116600031894107382092193696923874040198190240908349001641015083626595698762125077322352604789038888314083748318100516434590368196438257221746617773903064060170559592326768567086999402498938701275651526292952206401630021743590198651017930155296857605204604225384502674721233235587170255526587106829456480558140213454260605906799031757990881533485748299682533447651417976109417198118114379779001054957510159259542956622897926154401738927495776411013075908440726098348782083726217094087170323905902428185454916488838179944371185802064720634913122269658269403706349662692857139518127022981457368739184061386885945823529451977785757305117203941627305896956901220067700106026869466130746875953512990987106501742688208071676577982511339636982569783062306193583858643 2841828552534390450708214259703230029331885908835238286543657453395978354336463214305696353501739126803937110629423899470292850054635046842403660455814682656256693199741462653129873377630695078531029740079250269938594420458263163041651673309583906595395348605393319401576337106163718273697490213249334409198151520794845995398632674979466848119144228343211011265385107747893203944677261464417731299212145649523201207591980184025805709797154614080825453897467940883758628190369911768920882316402494792693664452130314631565860349158762410192164600150383665144705268034197310416229004620549137900865313905204090171825316766070571317354709605875198059097579599050431481536440714701598483932296306714575758535894206341366911349068458938760871755563142455153394335305300533242388928297388730185410308532613197438446894085159368667108280279992466190136868110316181042153998589631661837522968035499791606035900603049803466172992947666436554050183328182792878121612474544094093379623331556229022127843898390963100656412163181826244519014452023070192430205067643451700182199597303165780056706734709214362967519749465603835402893591668755631634015164798364333741600126096150494684646751796272928139390529219204035013687772968035583076430129638536625029862664171567977307490300410697593379828583746641191411747368336105572647974962278741601051949735579511182721583912872188068695803239834957280383404110565618519193999921034537756330920625144826989182446090417025439311534215656463231719167466217899070158383722491442423255670164044176511200887829743619597778104481658400695838582562429082221910291253894942746404061522746569426368230222033683909314508394056456995294584608901601065552269988438966124598480950454702621686371682909130087614659796561817575321188181381622061643732371041061815284671255172800386288436011406548284778157247936399602950461666492714907957546573244779822618611789100816259863080729085195979390602536640153814104417849402985470770160346304936706845043746980888048369862711242811927517685084954225490940382248873713933655556402001461278123401392614229261905367319417925116800009848321272474702691275743873823497525434921847346667970792622315367776569684212208109358633006699063589650596151279654779088593585074662284245183866654681888852602616779246370820028952004612991397350831103056961774264316292613851528300900956310930804733807829119763020920090788584655989252384472283437812025911391761771290980712647246188625901166366247072586863739919255209748406425749665458040794475109782049074294168089693857364962300131027247703536487690468892899532334427645752039910833708681753899301529818345515414126155521107264428491589964043357960614208484169700195891054034329331562048143281551454678753138536597651742161380508947561998578383863364464832565554991120572084368896883677528672281668951637030598244293246033561573783907666928620350392450631762623427755709144418967275803110063476994022773461897823313199370392210258527836261960551935480951514462369366127517028699560571117831008314305843177557894721577545342594092845290875198425968583213248169236886823288360887851402382395008314561082900993209568014911146496020472971910819400150902576689666638700430953564791929809371558377837108556356788076321035389378720950082534364624989219614608169288650623853333192203993484626853770179433284183008642151044991065914343658410868128231996481839484984083534369121893242648338410144091450790112526545576239 4598175188200559879134766792165467266735546449739270617494462705792549180906695757427990703177880102246767171130087302853341540263032067215601847547701270094747369657846341465394865756386265957256026206871589807478541669347835021226060374326743506175094335973635805614378682209808539462701044879303330254967632543783133060038799902901387702041212036747035817672348287707725673401720564317337872660009158470319033332065133919068898567103812838830168799791966072516819155928770712566593790234891248146240167107983624027629035570086305603105353649496802367014861480530540498486280290286722920868542635017568097635235079349264799963696334877058623823545808492493734206009963271499930075937704963033104676782742066906584616356083028933820233117067080300679841923645559344613898184396824982748780498170926722304603411128677266971943377059203280725517965750175642454632577690017836425595784345151187452867533388915758278122179011220050135239630033340291993608428691153911178043072595523315818852145689122390899409080645696552353554711255651489165008132640066357193461147426142446991653021284140357283926124455242497525569044473567018118445722648364367949657887864808469270738028864345410779557693418964272469273849529176974103635345974814280756393533670373827975832033235720631167329611785881853893629200845569998115163695157873371159643220234109375905439921200834551463028408962082482116392738117933291702026112789601961375484259753587943625120677280054035261070113535414299921345832236349760917633424285047664544042746411097048629729941015065903883857396858686908996384073305932328634542156714424026819642574963528176205193836548817226775665941337835160267849814621256941502914434748633740984713895230748161631745962683921207987785940523484910671754798388904375773045931995035184047396915677280498373469658872433703631679219100260420386393580387519323616794833888363136522439003476343239344087508989165021063319055287540998547639356590468044865777177380700669605642075131147277775201296862038715136504835553933006885711586358672450012372381703113415803724225254610808125322696149797414193714792871006098855021540487959407709283229652021580381866704483809047719294784483502985735885523359705541999380011011470780298746711351058854825841876571529304244467118160537864237017893160099613450196945260545908570532669153021575734965365673159524546729469224330415180613202711245999766906030296889479835840948960597900348175795686400440712960991819940306171621650396360763058193983275947258515261279384819272879810784940430714274527627522569692202184999583869233764527804934083091982515722454686113723031790149254882507082133722004584565665549137079808895986951325084201594303273146228026255436088341471792363027754779551681278337860142634024884351183172902252778916313873091637006674737093321934750418899442854701090768803885572802128660783310165867321626043976924714829829385730888009165926821040218773851627978066123207815874091625445845698091788547658764937432072602582820388122935498592329108712541800054142860091342372995521452011290963405254977427023540723407428779843446186287042253141309890784725574158809433935666363693230222237567059081143306053330762144583127538610897935977731874092193290959378214626191782670698082235860468209557346082357958798669556174596447382785169989750789744057711806739181139909862218745097092783809789157744081744987468945986726771742440798471225159678047126661233852418720129434882 7440003740734950329842981051868697296067432358574508904038120159188527535243158971733687056679619229050704281759511202323634390317667114058005508003515952751004062857587804118524739134016961035787055946950840077417136089806098184267712047636327412770489684579029125015955019315972257736398535092552664664165784064577979055437432577880854550160356265090246828937733395455618877346397825781755603959221304119842234539657114103094704276900967452910994253689434013400577784119140624335514672551293742938933831560113938659194895919245068013297518249647186032159566748564737808902509294907272058769407948922772187807060396115335371281051044482933821882643388091544165687546403986201528559870001269747680435318636273247951527705151487872581104872630222755833236258950859877856287112694213712934190806703539919743050305213836635639051657339195746915654833860491823496786576279649498263118752380650979058903433991965561744295171958886486689289813361523084871730041165698005271422695927079544840979989587513354000065492808878378598073725707674559357438337707709808893643347023445612771709728018849571646893644204708101360971938065235773750079737813162732283399487990904619765422675616141683707697083948183476504287537302145009686711776104452817381423396334545395953139523536131328760709440369628495085040948213906103687811670120152112760695169969688887088161505113706739531724212201917439396776142228498910221220112710636499131815180378732770614303123370471060700381647751070763153064999702567659987791808007539106967298416575141225140930828844809523481635501340345309692222655868361410856452447968318969566046636486274745631562066770850910684980449731891617263144399230158542568466704737072707109312376181202864253432334366830338075400600320046728247075986570285997834689664366076245862681586932453298759758094883840251916457376348196819989344042054012038524752380461607916345057615265444055603950589718250217042709657824181152361743774439871030336547337727005606312487118878128165823571159573281527064022520638887232376651968607546163946027938105114877081847626647225037387228063469215339310514802719327371329724231763703281532780755086943427728534675276431363087071354167715193845244156366404605589030607162750435077835304936133517110087060438183986133319720777317110607837922112104226441594296091648965532306933469314189586493666574115835477534203032159534943634122802034584422895282681361763273652974871989662119466776399047686901586892986306553244208514136280018267942389701696923973302073859929054928885079108520408131892589822700719449888536071559702657427337268510737734555633288394795476931091679073228022496259877525691830094040727043852253947565533568371294499164200262355586998136484753343817706507918088278930080021523142972446349761556765617243748879428082757578759105990205612279091181111806338121367048178818835690234567217832795941976436427556477453257141440032428133202624150282250845650751528021031129073462017656104225928050508210700418383587064952186515639964198152900226543550114359986037649237094573066794605383808696130175852992123936655598016730269474647930104543692285793040135241710427145234378604376718258040030991962706204233338834249766239041851500769661683463751668796486770982979858991733471614581418292091710707347178413277725463247071236118362193744274370911481986172465322918504369790088158698153447568612209976983950785471710855276809920364467808016457270752684642531246675011121 12038178928935510208977747844034164562802978808313779521532582864981076716149854729161677759857499331297471452889598505176975930580699181273607355551217222845751432515434145583919604890403226993043082153822429884895677759153933205493772421963070918945584020552664930630333701525780797199099579971855994919133416608361112115476232480782242252201568301837282646610081683163344550748118390099093476619230462590161267871722248022163602844004780291741163053481400085917396940047911336902108462786184991085173998668097562686823931489331373616402871899143988399174428229095278307388789585193994979637950583940340285442295475464600171244747379359992445706189196584037899893556367257701458635807706232780785112101378340154536144061234516806401337989697303056513078182596419222470185297091038695682971304874466642047653716342513902610995034398399027641172799610667465951419153969667334688714536725802166511770967380881320022417350970106536824529443394863376865338469856851916449465768522602860659832135276635744899474573454574930951628436963326048522446470347776166087104494449588059763362749302989928930819768659950598886540982538802791868525460461527100233057375855713089036160704480487094487254777367147748973561386831321983790347122079267098137816930004919223928971556771851959928039052155510348978670149059476101802975365278025483920338390203798262993601426314541290994752621163999921513168880346432201923246225500238460507299440132320714239423800650525095961451761286485063074410831938917420905425232292586771511341162986238273770660769859875427365492898199032218688606729174293739490994604682742996385689211449802921836755903319668137460646391069726777530994213851415484071381139485706448094026271411951025885178297050751546063186540843531638918830784959190373607735596361111429910078502609733797133227753756273955548136595448457240375737622441531362141547214349971052867496618741787294948038098707415238106028713111722150909383131030339075202324515107706275918129194009275443598772456435320242200527356192820239262363554966218613958400319808228292885571851901835845512550759619012753504229595590333470184745772251662689242063984738965008110401379760240410806366138651218179581129679726110147588410618174221215376582016287192371935928937009713290377786838937854974844855815272203839891791241352194874102839602622335765321459032247275360024263672256489950124247325513280584189801312978251243109493923832587562467642572085448127614547884806246859415830164532640781326136372977644182488563353244748327808695864048951122406420217345270411652073535655428936421955142202593829717071355743080909199962881828328110529578393599530276395759589864123661149934516858652572888802437346490381842434224826225136180734262697639960208417881665776997330700944729667870022665193301174394585433843083527547029510080554661039212135852064391637818895350527998663263602480404481192283086527170920437299129445190501024697278729594144238944947553643101949924019839055869465355815659667535006903762899696745229335256091914414128897740579467568588246616674772101385153280015664660063026796573715660934972357685002176577765709400519861080900742297606940495607090073106012257564100978832893777652749436747393557555944959755864985609171641662431553850441886501649056789705137211947281637843518618903532183495064114969193792911646462828366588535185251481963236726356291721971419731458437627019250718835692967694504397413918494949966804446003 19478182669670460538820728895902861858870411166888288425570703024169604251393013700895364816537118560348175734649109707500610320898366295331612863554733175596755495373021949702444344024420188028830138100773269962312813848960031389761484469599398331716073705131694055646288720841753054935498115064408659583299200672939091170913665058663096802361924566927529475547815078618963428094516215880849080578451766710003502411379362125258307120905747744652157307170834099317974724167051961237623135337478734024107830228211501346018827408576441629700390148791174431333994977660016116291298880101267038407358532863112473249355871579935542525798423842926267588832584675582065581102771243902987195677707502528465547420014613402487671766386004678982442862327525812346314441547279100326472409785252408617162111578006561790704021556350538250046691737594774556827633471159289448205730249316832951833289106453145570674401372846881766712522928993023513819256756386461737068511022549921720888464449682405500812124864149098899540066263453309549702162671000607879884808055485974980747841473033672535072477321839500577713412864658700247512920604038565618605198274689832516456863846617708801583380096628778194951861315331225477848924133466993477058898183719915519240326339464619882111080307983288688748492525138844063711097273382205490787035398177596681033560173487150081762931428248030526476833365917360909945022574931112144466338210874959639114620511053484853726924020996156661833409037555826227475831641485080893217040300125878478639579561379498911591598704684950847128399539377528380829385042655150347447052651061965951735847936077667468317970090519048145626840801618394794138613081574026639847844222779155203338647593153890138610631417581884138587141163578367165906771529476371442425260727187675772760089542187095892985848640114207464593971796654060365081664495543400666299594811578969212554234007231350551988688425665455148738370935903303271126905470210105538871852834711882230616312887403609422343616008601769264549876831707471639015523573764777904428257913343169967419478549060882899778823088228092814744398309660841514470004015365970774844739825908435838936055036671773893437492818933373426373836092514753177441225336971650454417321223325889046015997447897276511106559715172085452693737384308066333385537443843839635146536091649954907952698821391195501797875288649485067881448315315168612696595659613006383146898704577224587109348484495814516134777792553412660038678668920799594078762679341106461865427104677382737580943157471530538312807167971131101962071726988639079382479471104567451626989031475704676893973507401338552074653477055968225853630591167513403882082392220944183301601546752737429432361310978479998440770615728239138497903188919969777050706286433487266414072729257152164192949073733159308601261666467377333502900243210473509129917745831459205578916832037669736343668610952865432332069340783275542929481122165270074021015660758054149947889564080165774199246732487193419402863894898129561799642028774114935389816562141655041222058580797515329133007788596718624813303985135582902462228694462370805844642230288226135120901983658753647121065068718461797439813082660016694600937517055241019696628552351756592151500654165025465023304793740767497052315625225007101090589855021894377239338485880675779084111785746870958325273410180116684294968501698955370516930148482296060639200160775710961668166603137481213479457124 31516361598605970747798476739937026421673389975202067947103285889150680967542868430057042576394617891645647187538708212677586251479065476605220219105950398442506927888456095286363948914823415021873220254595699847208491608113964595255256891562469250661657725684358986276622422367533852134597695036264654502432617281300203286389897539445339054563492868764812122157896761782307978842634605979942557197682229300164770283101610147421909964910528036393320360652234185235371664214963298139731598123663725109281828896309064032842758897907815246103262047935162830508423206755294423680088465295262018045309116803452758691651347044535713770545803202918713295021781259619965474659138501604445831485413735309250659521392953557023815827620521485383780852024828868859392624143698322796657706876291104300133416452473203838357737898864440861041726135993802198000433081826755399624884218984167640547825832255312082445368753728201789129873899099560338348700151249838602406980879401838170354232972285266160644260140784843799014639718028240501330599634326656402331278403262141067852335922621732298435226624829429508533181524609299134053903142841357487130658736216932749514239702330797837744084577115872682206638682478974451410310964788977267406020262987013657057256344383843811082637079835248616787544680649193042381246332858307293762400676203080601371950377285413075364357742789321521229454529917282423113902921363314067712563711113420146414060643374199093150724671521252623285170324040889301886663580402501798642272592712649989980742547617772682252368564560378212621297738409747069436114216948889838441657333804962337425059385880589305073873410187185606273231871345172325132826932989510711228983708485603297364919005104916023788928468333430201773682007110006084737556488666745050160857088299105682838592151920893026213602396388163012730567245111300740819286937074762807846809161550022080050852749018645500026787133080693254767084047625454180510036500549180741196367942418158148745506896679053021116072443922011465077233024527710901379078539983391862828577721571462852991330450896728412329582707240846318973993899994311699215776267028660016908724564873443949337434796912184699803631470151553007503515818624900765851843511192865830999337510518260981944934457610566888893398653027060297549552656511906225176778796038713737986138713985720229411731068666555526061547545139435192128773828595752802497908637864249492640822537164787054751920569943942130682662598800272075868843201561580920215135656985288950428780349425710546276807206422652944733024513241542754035607382417575501337621673698397168698344774556613876856855335729449081653047076586244621613220455291174553816599250873517072104038893243119271866586137203616179175033313368199346915784854696967107751651016101357289079266030431546749626792157260706338111342221128416545638752307602111328025268273830122469181397236518862019430195781873302731461514531284300240208210716309509018968569303860004073967728619949631130014906400022200323165763591643358897055733943188243833130396029710243287838733352898900482413023453256781651609877700796517874819913696638948571554042750149307035863199590599249254211138174730719361540791915553794347350374264448798575641588308216742201323142316596579315465191295389824286757452837172288738934108473925426560734402600849869571995758248575237546860458661662079921021324793420926790248388586109315311358035853743405466065580521632431180283903127 50994544268276431286619205635839888280543801142090356372673988913320285218935882130952407392931736451993822922187817920178196572377431771936833082660683574039262423261478044988808292939243603050703358355368969809521305457073995985016741361161867582377731430816053041922911143209286907070095810100673314085731817954239294457303562598108435856925417435692341597705711840401271406937150821860791637776133996010168272694480972272680217085816275781045477667823068284553346388382015259377354733461142459133389659124520565378861586306484256875803652196726337261842418184415310539971387345396529056452667649666565231941007218624471256296344227045844980883854365935202031055761909745507433027163121237837716206941407566959511487594006526164366223714352354681205707065690977423123130116661543512917295528030479765629061759455214979111088417873588576754828066552986044847830614468301000592381114938708457653119770126575083555842396828092583852167956907636300339475491901951759891242697421967671661456385004933942698554705981481550051032762305327264282216086458748116048600177395655404833507703946668930086246594389267999381566823746879923105735857010906765265971103548948506639327464673744650877158499997810199929259235098255970744464918446706929176297582683848463693193717387818537305536037205788037106092343606240512784549436074380677282405510550772563157127289171037352047706287895834643333058925496294426212178901921988379785528681154427683946877648692517409285118579361596715529362495221887582691859312892838528468620322108997271593843967269245329059749697277787275450265499259604040185888709984866928289160907321958256773391843500706233751900072672963567119271440014563537351076827931264758500703566598258806162399559885915314340360823170688373250644328018143116492586117815486781455598681694107988919199451036502370477324539041765361105900951432618163474146403973128991292605086756249996052015475558746148403505454983528757451636941970759286280068220777130040379361819784082662443459688452523780729627109856235182540394602113748169767256835634914632820410808999957611312108405795468939133718392209655153213685780282394630791753464390781879788273489833583958593241124289084926433877351911139653943293068848164516285416658733844150027960931905507843399999958368199145750243290040819972558562316239882553373132674805635675137364429890057751027859422833788920260010222143910921415194504297477255875787721241742011641861269054439756646817440391353684735907521870482380514293898336326395412294207454103093283857750363894183483045831681212673855997679109406214580720101144802964620325333806032318553750828843130787633727700553642212847466851046458687957698681643094461255405640439995856701298947448182096177615803929096438485413688043616936884802357302534844555493338759688698913819741230993865646712603887595793879141652550812584837155186019661581674760314068556531755773864392826168163793583872067575783137691838474779092989584964618058223915618184029796904214153132509393742568627486541488458855375971962358768520212591851898329060791933696415811546031241853500276423181685932100777282142391101319377398684980437533170984101574258002901332203243449181158980604998213811041951311781504039595338216860568498793474642970761604780488496089130591783809768462397295840024698328947320937973741086730545351079870034322108505185732071842196605316293295119882160765318734591611371997236014519116427733747124769912393763360251 82510905866882402034417682375776914702217191117292424319777274802470966186478750561009449969326354343639470109726526132855782823856497248542053301766633972481769351149934140275172241854067018072576578609964669656729797065187960580271998252724336833039389156500412028199533565576820759204693505136937968588164435235539497743693460137553774911488910304457153719863608602183579385779785427840734194973816225310333042977582582420102127050726803817438798028475302469788718052596978557517086331584806184242671488020829629411704345204392072121906914244661500092350841391170604963651475810691791074497976766470017990632658565669006970066890030248763694178876147194821996530421048247111878858648534973146966866462800520516535303421627047649750004566377183550065099689834675745919787823537834617217428944482952969467419497354079419972130144009582378952828499634812800247455498687285168232928940770963769735565138880303285344972270727192144190516657058886138941882472781353598061596930394252937822100645145718786497569345699509790552363361939653920684547364862010257116452513318277137131942930571498359594779775913877298515620726889721280592866515747123698015485343251279304477071549250860523559365138680289174380669546063044948011870938709693942833354839028232307504276354467653785922323581886437230148473589939098820078311836750583757883777460928057976232491646913826673568935742425751925756172828417657740279891465633101799931942741797801883040028373364038661908403749685637604831249158802290084490501585485551178458601064656615044276096335833805707272370995016197022519701613476552930024330367318671890626585966707838846078465716910893419358173304544308739444404266947553048062305811639750361798068485603363722186188488354248744542134505177798379335381884506809861542746974903785887138437273846028881945413053432890533490055106286876661846720238369692926281993213134679013372655939505268641552042262691826841658272539031154211632146978471308467021264588719548198528107326680761715464575760896445792194704342880762893441773680653731561630085413356486095673402139450854339724437988502709785452692386109649464912901556549423290808662188955655323737610924630496143293044755759236479441380867729764554709144912359357382116415996244362411009905866363118410288893357021226206047792842697331878783739095035921267111118813519621395366776160958724306553920970378928355452138995972506674217692412935341505368428543778906798696613189624383698777500102990153956811776365072043961434509033993311684362722987803528803830134557570316836427778856194454216610033286491823790082057722818501361789023678580588932430607684178860236715380747630228457469080071501749862511515280893967978327509679333238975973165533585385712356790837242464637832329472898313903992554008318636201844572604790120245663446533388254571984823946108724210424780404858414696165180454293491704143941711305075393775204060174699470895255098403351876023345902554784288111958154268478062297883346803979428034229059532531594065734391078184847355911109915150602601650608621562141616899525286595316293959054695110281928033059386728618652102056087740267948952727730586840206847301164857252155543341418179900520521396913767605389301686045952838170979805168785240994797785287358184095953687384520416070567221299569584578958806802872747498708143687580414923075628282897346052046190733504276526337618088540808951013707320700926683355271868262521893799327646402343574047263378 133505450135158833321036888011616802982760992259382780692451263715791251405414632691961857362258090795633293031914344053033979396233929020478886384427317546521031774411412185263980534793310621123279936965333639466251102522261956565288739613886204415417120587316465070122444708786107666274789315237611282673896253189778792200997022735662210768414327740149495317569320442584850792716936249701525832749950221320501315672063554692782344136543079598484275696298370754342064440978993816894441065045948643376061147145350194790565931510876328997710566441387837354193259575585915503622863156088320130950644416136583222573665784293478226363234257294608675062730513130024027586182957992619311885811656210984683073404208087476046791015633573814116228280729538231270806755525653169042917940199378130134724472513432735096481256809294399083218561883170955707656566187798845095286113155586168825310055709672227388684909006878368900814667555284728042684613966522439281357964683305357952839627816220609483557030150652729196124051680991340603396124244981184966763451320758373165052690713932541965450634518167289681026370303145297897187550636601203698602372758030463281456446800227811116399013924605174436523638678099374309928781161300918756335857156400872009652421712080771197470071855472323227859619092225267254565933545339332862861272824964435166182971478830539389618936084864025616642030321586569089231753913952166492070367555090179717471422952229566986906022056556071193522329047234320360611654024177667182360898378389706927221386765612315869940303103051036332120692293984297969967112736156970210219077303538818915746874029797102851857560411599653110073377217272306563675706962116585413382639571015120298772052201622528348588048240164058882495328348486752586026212524952978035333092719272668594035955540136870864612504469392903967379645328642022952621189802311089756139617107808004665261026261518637604057738250572990061777994014682969083783920442067753301332809496678238907469146464844377908035449348969572924331452736998075982168282767479731397342248991400728493812948450811951036546394298178724586410778319304618126587336831817921600415653346437203525884414464080101886285880048321405875258219640904208652437981207521898401832654978206561037866798268626253688893315389425351798036132738151851342301411275803820484251488325257070504140590848782057581780393212717275712149218116417595632886917232818761244216265020648810338474458678823455424317543381507641547683886942526341948802932329638079775017195257631897113992307934211019910824687875666890466030965601230004662777823963304326409349012386621250984358513021991024349108448183870670316546922548208550469213962537062439582915319773234832674464481033567808534406641171561076317743160941930840877356365621171046400065943549808944577266274619248437631536549996320004303922057409227281002335640313153285818702025373631925530977924567525639059048682275419451806483594393259067204947739233096120521798964988009224938443212665040987808303018564726335814766485887112961370170821213414039945960317220291732105505085936963782204456241072660719429384198478841587326351412711024373377831402739115255056875544661629081679502001911981416431252997827456877766318022029353739788272428258119788876442183473651007854376989761966880418983505131820068436681884774310960274155498317219454557231922805346473131653911383660691111779026055292538055352507882781638321533074771172255967810623629 216016356002041235355454570387393717684978183376675205012228538518262217591893383252971307331584445139272763141640870185889762220090426269020939686193951519002801125561346325539152776647377639195856515575298309122980899587449917145560737866610541248456509743816877098321978274362928425479482820374549251262060688425318289944690482873215985679903238044606649037432929044768430178496721677542260027723766446630834358649646137112884471187269883415923073724773673224130782493575972374411527396630754827618732635166179824202270276715268401119617480686049337446544100966756520467274338966780111205448621182606601213206324349962485196430124287543372369241606660324846024116604006239731190744460191184131649939867008607992582094437260621463866232847106721781335906445360328914962705763737212747352153416996385704563900754163373819055348705892753334660485065822611645342741611842871337058238996480635997124250047887181654245786938282476872233201271025408578223240437464658956014436558210473547305657675296371515693693397380501131155759486184635105651310816182768630281505204032209679097393565089665649275806146217022596412808277526322484291468888505154161296941790051507115593470563175465697995888777358388548690598327224345866768206795866094814843007260740313078701746426323126109150183200978662497403039523484438152941173109575548193049960432406888515622110582998690699185577772747338494845404582331609906771961833188191979649414164750031450026934395420594733101926078732871925191860812826467751672862483863940885385822451422227360146036638936856743604491687310181320489668726212709900234549444622210709542332840737635948930323277322493072468246681761581046008079973909669633475688451210765482096840537804986250534776536594412803424629833526285131921408097031762839578080067623058555732473229386165752810025557902283437457434751615518684799341428172004016038132830242487018037916965766787279156100000942399831720050533045837180715930898913376220322597398216226437435576473145606093372611210245415365119035795617760969423941963421211293027427662347886824167215087901666290760984382800888510039103164428954083039488893381241212409077842302092527263495339094576245179330635807557885316639087370668763361582893566879280518248651222568972047772664631744663977786672410651557845828975435483730126040506311725087595370301844878465870916751807506364135701363591645631164288214088924269850579330168160266612644808799555609035087648303207154201817646371661598359460252014570303383311966322949764137740183061160700944126865504527856338603544070121107076064252093053794744835546781805688198372690967210183414966197200851261064489195814099127785626994049958412980729243431030417910424999106473808647630014618953520891197478414025714150072633840244744869910373939807248244638548339929190240712808007503009616360496105044214728702462267641977167516094606644989962643736678707319306181984742225109954303780678771327829829496948043355316905893501574182819682311791988652972672272197572581874037409642911183170677595802263563971821429834976181562859842506887048399464140632074064132489300459389338081486254566581855275304140441611213584678703903972507212418886079808982200023398825749021820554683873409715937297827198138980783070213545477972972395870858171423924944211061536464997942311934692815935390028461891375197231126600116800609278113538850749657991529472201500062792733375993464738707779751044160215332402417574599541857887007 349521806137200068676491458399010520667739175636057985704679802234053468997308015944933164693842535934906056173555214238923741616324355289499826070621269065523832899972758510803133311440688260319136452540631948589232002109711873710849477480496745663873630331133342168444422983149036091754272135612160533935956941615097082145687505608878196448317565784756144355002249487353280971213657927243785860473716667951335674321709691805666815323812963014407349421072043978472846934554966191305968461676703470994793782311530018992836208226144730117328047127437174800737360542342435970897202122868431336399265598743184435779990134255963422793358544837981044304337173454870051702786964232350502630271847395116333013271216695468628885452894195277982461127836260012606713200885982084005623703936590877486877889509818439660382010972668218138567267775924290368141632010410490438027724998457505883549052190308224512934956894060023146601605837761600275885884991931017504598402147964313967276186026694156789214705447024244889817449061492471759155610429616290618074267503527003446557894746142221062844199607832938956832516520167894309995828162923687990071261263184624578398236851734926709869577100070872432412416036487923000527108385646785524542653022495686852659682452393849899216498178598432378042820070887764657605457029777485804034382400512628216143403885719055011729519083554724802219803068925063934636336245562073264032200743282159366885587702261017013840417477150804295448407780106245552472466850645418855223382242330592313043838187839676015976942039907779936612379604165618459635838948866870444768521925749528458079714767433051782180837734092725578320058978853352571755680871786218889071090781780602395612590006608778883364584834576862307125161874771884507434309556715817613413160342331224326509184926302623674638062371676341424814396944160707751962617974315105794272447350295022703177992028305916760157739192972821781828527060520149799714819355443973623930207712904676343045619610450471280646659594384938043367248354759045406110246188691024424769911339287552661028036352478241797530777099067234625513942748258701166076230213059134009493495648529730789379753558656347065616515855879291191897307011572972014020874774401178920081306200775533085639462900370917666679987800076909643865108173635581468341917587528908079621790170135536375057342656288421717481756804362906876437432205341865483466247400979027856861073820204419373562106982030609626135189753169239907144138957096645332114898652587843912757378318792598058119173438738876249428231945787997542095217694283799407613370745110014607721703353831434399324710222842285413597643997969798102173916598166963449943205968092857493340318879708641322094495652521329425604119585586790467815794782175585747266739560978294644704491889738134817979082626751447247897046101364219032624519676869258169851734919798275781345762052339244837159909309750749013352462954190779636313091341302422521853632734670303341481276779997877911115484862613569682340428207637518985444081689376525341992251048390221508820159727178780504969226569037846336945541532050057510870453045423442601655553152635586962510106643087762269294430741438063879525400737730438251807681700866593703615849227492720571342641803597761848838054331822431779321200823503345416925817066512884372071913236202335471386624917336255166510036344197222789645440855862191174571759431286002794060287633825798536865477188746855509668510636 565538162139241304031946028786404238352717359012733190716908340752315686589201399197904472025426981074178819315196084424813503836414781558520765756815220584526634025534104836342286088088065899514992968115930257712212901697161790856410215347107286912330140074950219266766401257511964517233754955986709785198017630040415372090377988482094182128220803829362793392435178532121711149710379604786045888197483114582170032971355828918551286511082846430330423145845717202603629428130938565717495858307458298613526417477709843195106484941413131236945527813486512247281461509098956438171541089648542541847886781349785648986314484218448619223482832381353413545943833779716075819390970472081693374732038579247982953138225303461210979890154816741848693974942981793942619646246310998968329467673803624839031306506204144224282765136042037193915973668677625028626697833022135780769336841328842941788048670944221637185004781241677392388544120238472509087156017339595727838839612623269981712744237167704094872380743395760583510846441993602914915096614251396269385083686295633728063098778351900160237764697498588232638662737190490722804105689246172281540149768338785875340026903242042303340140275536570428301193394876471691125435609992652292749448888590501695666943192706928600962924501724541528226021049550262060644980514215638745207491976060821266103836292607570633840102082245423987797575816263558780040918577171980035994033931474139016299752452292467040774812897745537397374486512978170744333279677113170528085866106271477698866289610067036162013580976764523541104066914346938949304565161576770679317966547960238000412555505069000712504115056585798046566740740434398579835654781455852364759541992546084492453127811595029418141121428989665731754995401057016428842406588478657191493227965389780058982414312468376484663620273959778882249148559679392551304046146319121832405277592782040741094957795093195916257740135372653501879060106357330515645718268820193946527605929131113778622092756056564653257869839800303162403043972520014830052209609902317452197573687174376828243124254144532558515159899955744664617107177212784205565123594300346418571337950622258052875092653232592244947151663437176508536394382241735375603768341280459438329957423344505133412127532115581644466660210728467489694083609119311594382423899253995674992092015014002245974094463794785853183120396008538040725646294266135334045577569139294469505882619760028408649755285237763827952836124830838266604390971666948715426864975537608050497561379953299002246038943266732588031776015909104618159469787337594152448917526915702806094394321041617814290907423693546478086839812068925887800910648125376430672449399123275403765317986182449969724510271474850316801597999612504617888428622420330617177113500785542889343040229667325058691890634254456864257542206408433761326981944511235337367829526443265743989498731046564143341894051975858967656243632962107466142588289345777838759526236244486161163588571986530883787757060186151556377837850548702156121677491640089313813680883366403071680002234065828904433367201111910469434841991439395592356707612005297876959693594246800547188810547060269481713316821247046079548799563479460072362365574276309640913676425631701354412855349075734821233925189993855704265411885039810414868129001205700307461941698093710668617751517453055775788149883047972447636970328063691237364492807279467532768067384869958752197879606321455051526397643 915059968276441372708437487185414759020456534648791176421588142986369155586509415142837636719269517009084875488751298663737245452739136848020591827436489650050466925506863347145419399528754159834129420656562206301444903806873664567259692827604032576203770406083561435210824240661000608988027091598870319133974571655512454236065494090972378576538369614118937747437428019474992120924037532029831748671199782533505707293065520724218101834895809444737772566917761181076476362685904757023464319984161769608320199789239862187942693167557861354273574940923687048018822051441392409068743212516973878247152380092970084766304618474412042016841377219334457850281007234586127522177934704432196005003885974364315966409441998929839865343049012019831155102779241806549332847132293082973953171610394502325909196016022583884664776108710255332483241444601915396768329843432626218797061839786348825337100861252446150119961675301700538990149958000072784973041009270613232437241760587583948988930263861860884087086190420005473328295503486074674070707043867686887459351189822637174620993524494121223081964305331527189471179257358385032799933852169860271611411031523410453738263754976969013209717375607442860713609431364394691652543995639437817292101911086188548326625645100778500179422680322973906268841120438026718250437543993124549241874376573449482247240178326625645569621165800148790017378885188622714677254822734053300026234674756298383185340154553484054615230374896341692822894293084416296805746527758589383309248348602070011910127797906712177990523016672303477716446518512557408940404110443641124086488473709766458492270272502052494684952790678523624886799719287751151591335653242071253830632774326686888065717818203808301505706263566528038880157275828900936276716145194474804906388307721004385491599238771000159301682645636120307063545503840100303266664120634227626677724943077063444272949823399112676415479328345475283707587166877480315360537624264167570457813642035790121667712366507035933904529434185241205770292327279060236162455798593341876967485026461929489271160606622774356045936999022979290131049925471485371641353807359480428064833599151988842254846211888939310563667519316467700433701393814707389624643115681638358411263624120038219051590432486499311146648010805377133559191782754893062724341486782903754613882185149538621031437120083207570664877200371444917163078499608000817511824970118322326366956439964447782211862267268373454088025878000078173748529928763594047541763628125451963254939698745897060365212382005608837460007961697102160254687481621393560062288272025717413816097674873052213615617646535831891684483810038723989974827246292339880615655367216132897105636865891091291819005923996179742405717585199295085704223404595916364443853061763837534047532119405459876670973261005904112154588307772652793951501621380493507219564446241541525335260783385808980501803361726607981008706587152887102455679630648200360613158970914789502644865351984408794903241922799721238718266058186221141565759181016614655805931931756624580500161961244609409402593770149756806380383523489453103227160657428740478615246746882387509698917190148031751007747562685109959074200301209898324170047275142903344529525653124421925755497152673496670071979521816287483586612708543155831793946067718584679533854934296046140004376434789310942298186227245195237282411183925882411936252238565470326828355018695757289063356795068310561194908279 1480598130415682676740383515971818997373173893661524367138496483738684842175710814340742108744696498083263694803947383088550749289153918406541357584251710234577100951040968183487705487616820059349122388772492464013657805504035455423669908174711319488533910481033780701977225498172965126221782047585580104331992201695927826326443482573066560704759173443481731139872606551596703270634417136815877636868682897115675740264421349642769388345978655875068195712763478383680105790816843322740960178291620068221846617266949705383049178108970992591219102754410199295300283560540348847240284302165516420095039161442755733752619102692860661240324209600687871396224841014302203341568905176513889379735924553612298919547667302391050845233203828761679849077722223600491952493378604081942282639284198127164940502522226728108947541244752292526399215113279540425395027676454761999566398681115191767125149532196667787304966456543377931378694078238545294060197026610208960276081373210853930701674501029564978959466933815766056839141945479677588985803658119083156844434876118270902684092302846021383319729002830115422109841994548875755604039541416032553151560799862196329078290658219011316549857651144013289014802826240866382777979605632090110041550799676690243993568837807707101142347182047515434494862169988288778895418058208763294449366352634270748351076470934196279409723248045572777814954701452181494718173399906033336020268606230437399485092606845951095390043272641879090197380806062587041139026204871759911395114454873547710776417407973748340004103993436827018820513432859496358244969272020411803404455021670004458904825777571053207189067847264321671453540459722149731426990434697923618590174766872771380518845629798837719646827692556193770635152676885917365119122733673131996399616273110784444474013551239376643965302919595899189312694063519492854570710266953349459083002535859104185367907618492308592673219463718128785586647273234810831006255893084361516985419571166903900289805122563600587162399273985544368173336299799075066214665408495659329165058713636306317514284860767306914561096898978723954748157102684269577206477401659826846636171549774246895129938865121531555510819182753644208970095776056442765228411456962097796741221047464543352463717964602080955613308221533844623253275391874204657106765386036899429605974200163540867005531583877993423847997596379982957888724793874136151557402539257616795872839059724476190861617552506137282040862002830916440352920900430542762968628603663060013752501078699196062611251325272341425491783977606206778414157268958987712511205798941420219910491995914670027906525070229378369771323622107649877775737894417716311288104766339408300870954852073541261543516195471030059207315584811799703592652027016246981620966562549380423390572349072784935362863895260360976412130514181086555278483565891728844587393972684807269324759514432373123843697413702466948664950220114994568598267919993978199372685207159275663808453923970939678690998982985872795096103908734923297687436672656703969619612815123027652180164195310438313835960971261667275815225514928848695583868269434038355574940341129188056887727737208301232721064383932156038622999864689358396532412849419212985443202078756123280168352501749231491305904711810143187852024593582966246662075068924284986995796632389756808622127952242366718086336110293167684919381511989573649300745045844937859596422403565716041261236401389765612721305922 2395658098692124049448821003157233756393630428310315543560084626725053997762220229483579745463966015092348570292698681752287994741893055254561949411688199884627567876547831530633124887145574219183251809429054670315102709310909119990929601002315352064737680887117342137188049738833965735209809139184450423465966773351440280562508976664038939281297543057600668887310034571071695391558454668845709385539882679649181447557486870366987490180874465319805968279681239564756582153502748079764424498275781837830166817056189567570991871276528853945492677695333886343319105611981741256309027514682490298342191541535725818518923721167272703257165586820022329246505848248888330863746839880946085384739810527976614885957109301320890710576252840781511004180501465407041285340510897164916235810894592629490849698538249311993612317353462547858882456557881455822163357519887388218363460520901540592462250393449113937424928131845078470368844036238618079033238035880822192713323133798437879690604764891425863046553124235771530167437448965752263056510701986770044303786065940908077305085827340142606401693308161642611581021251907260788403973393585892824762971831385606782816554413195980329759575026751456149728412257605261074430523601271527927333652710762878792320194482908485601321769862370489340763703290426315497145855602201887843691240729207720230598316649260821924979344413845721567832333586640804209395428222640086636046503280986735782670432761399435150005273647538220783020275099147003337944772732630349294704362803475617722686545205880460517994627010109130496536959951372053767185373382464052927490943495379770917397096050073105701874020637942845296340340179009900883018326087939994872420807541199458268584563448002646021152533956122721809515309952714818301395838878867606801306004580831788829965612790010376803266985565232019496376239567359593157837374387587577085760727478936167629640857441891421269088698792063604069294234440112291146366793517348529087443233213202694021957517489070636521066928708170785573943628627078135302377121207089001206132543740098235806785445467390081270607033898001703244879207028155754948847831209019307274701005148926235737384785077010470866074486702070111909403797169871150154853054572643736155152484671584581571515308397088580266759956232339221756812467174629097719831106872819803184219856385313079488036968703961200994512874796751427875051803293482136969069227509375939122239795499688923973073479819774510736128887880830994614101450829194136810510392231788511977007440777445093122976463707277950262951791939303308938668844750580381272573494070967137633726589670787722241522142716765210261455807432146373867750565140710056191903760133555541197976591717964632553362522119467209801613033170011094789296875431612163346064819624313217957438104468478244812033837156266265088566718821953739349229985187272222351806958418926348794660020297818182104345500775429074929673656807267881671053947550642178559985844178074065166453319275955348473594240905785594033814369966921144439253195853673318625425544746879652232680326156555047723238554741411424082195609038418301798811028926862778834190187088011575566586644927356332983728811946617265997697200165899256720702460124562116329972727731880545205923849654422728161377884233626430671438637302126122078456021136642869666529651566685802948626504387031677660384522337538362922201792695915456061236997284410408186424777422261473330324593196458076173916214201 3876256229107806726189204519129052753766804321971839910698581110463738839937931043824321854208662513175612265096646064840838744031046973661103306995939910119204668827588799714120830374762394278532374198201547134328760514814944575414599509177026671553271591368151122839165275237006930861431591186770030527797958975047368106888952459237105499986056716501082400027182641122668398662192871805661587022408565576764857187821908220009756878526853121194874163992444717948436687944319591402505384676567401906052013434323139272954041049385499846536711780449744085638619389172522090103549311816848006718437230702978481552271542823860133364497489796420710200642730689263190534205315745057459974764475735081588913805504776603711941555809456669543190853258223689007533237833889501246858518450178790756655790201060476040102559858598214840385281671671160996247558385196342150217929859202016732359587399925645781724729894588388456401747538114477163373093435062491031152989404507009291810392279265920990842006020058051537587006579394445429852042314360105853201148220942059178979989178130186163989721422310991758033690863246456136544008012935001925377914532631247803111894845071414991646309432677895469438743215083846127457208503206903618037375203510439569036313763320716192702464117044418004775258565460414604276041273660410651138140607081841990978949393120195018204389067661891294345647288288092985704113601622546119972066771887217173182155525368245386245395316920180099873217655905209590379083798937502109206099477258349165433462962613854208857998731003545957515357473384231550125430342654484464730895398517049775376301921827644158909063088485207166967793880638732050614445316522637918491010982308072229649103409077801483740799361648678915580150462629600735666514961612540738797705620853942573274439626341249753447232288484827918685688933630879086012408084654540926544843730014795271815008765060383729861761918255781732854880881713347101977373049410432890604428652784369597922247322611634237108229327982156329942116964926877210368591786615584660535297602453734542124299730328157388185168130796980427199627364130840024526054308610679134121337176698700482632514723942132002421585305884823756118373892945927592920081466029605833951893705719049124923979026361690661222373264453873066380065742566503302376937872258856702613825830585476620355042500287839194418360872393131410832940528087356273120626630048633555918112634559413400163935097372280648018169749883661911054454371729624679573479020835451571990759941856144289185587715032550291688443575916909515717083002019539368985084699869908557853637081666702392269428667786994588631227131054254023745526303035127772503191864899894949498847546570038173814906038314938239860820348754822894492889527458628410327685786186862598380828676817551029747396701051526626064978849336134825904508468753163951196394352391611156063984779812250555228189198189131541878338607027382876239652215470636156759358529385233340830261773199926288152285239888771466828910473875656067736940632526330022595045157562002679884860490351865486037074515712673091358010834553347150494394897196296817189765127429140763623474372664564634216449876330549422036320200030588615117234872973981329315415929810636668486092202156171959652683788945436573859290661895709088325118096205567154653525448199075559757248632339274044378470858447831530607121174207905029710537742330255346046021199825827189371585829597847841786637520123 6271914327799930775638025522286286510160434750282155454258665737188792837700151273307901599672628528267960835389344746593126738772940028915665256407628110003832236704136631244753955261907968497715626007630601804643863224125853695405529110179342023618009272255268464976353324975840896596641400325954480951263925748398808387451461435901144439267354259558683068914492675693740094053751326474507296407948448256414038635379395090376744368707727586514680132272125957513193270097822339482269809174843183743882180251379328840525032920662028700482204458145077971981938494784503831359858339331530497016779422244514207370790466545027406067754655383240732529889236537512078865069062584938406060149215545609565528691461885905032832266385709510324701857438725154414574523174400398411774754261073383386146639899598725352096172175951677388244164128229042452069721742716229538436293319722918272952049650319094895662154822720233534872116382150715781452126673098371853345702727640807729690082884030812416705052573182287309117174016843411182115098825062092623245452007008000087057294263957526306596123115619153400645271884498363397332411986328587818202677504462633409894711399484610971976069007704646925588471627341451388531639026808175145964708856221202447828633957803624678303785886906788494116022268750840919773187129262612538981831847811049711209547709769455840129368412075737015913479621874733789913509029845186206608113275168203908964825958129644821395400590567718320656237931004356593717028571670132458500803840061824783156149507819734669375993358013655088011894433335603603892615716036948517658386342012429546293699017877717264610937109123150012264134220817741951497463642610577913363431789849271687917687972525804129761951895604801637389665772582315553967910800491408345599011625434774362104405239131260130250499274050059938182065173198238679170245459042128503630604457493731439444649622502275151130850617047845336924175116153459393123739842927781419691871885997572291944204840100704873629296256690327115516060593553955345670968907822673661741430146193832777931085175795547469455775164694982130444506571158995779474902139819698441396038181847626718369899509019142473287659792586893868027777690115798743074934520602249570107046190390633706495494334758779241489133220686212288136878209741132400096768979131676505798045686970789699843079468991800395412873747189882838707992331380838410089695857558009495040352430059102324137008577192055158754298637764492905668555822558818816383989413067240083967767382633589382308564178739828241951395367856212824655751846770119750257658193940875695487363671337490114510950810503759798892682938486400397613276868175837828695095625033450490696824138288002806368268560434405449662433381924833989282186402890240573673750605811175816338266781286029274559430538207792891153545568158088565253738453940436173548201310810537504858644800110068737332534698964560616808012263834650757910706163021278335319344373563307405996715092475881636625879480794557060862724843842577212176193828380003341220470702308882332117540816508420533760313070454084515440206443591765452293205926123159596023955314517152339190061017591920967200178688277166688034017400196487871837937333098543445645388657542517213692016051810594687814061673179063004530729299197835210403574117342210024320055099765761362705875136726305722038855380785369893529322966903820485771774739614665754232445977248088662701910422794305917960553734324 10148170556907737501827230041415339263927239072253995364957246847652531677638082317132223453881291041443573100485990811433965482803987002576768563403568020123036905531725430958874785636670362776248000205832148938972623738940798270820128619356368695171280863623419587815518600212847827458072991512724511479061884723446176494340413895138249939253410976059765468941675316816408492715944198280168883430357013833178895823201303310386501247234580707709554296264570675461629958042141930884775193851410585649934193685702468113479073970047528547018916238594822057620557883957025921463407651148378503735216652947492688923062009368887539432252145179661442730531967226775269399274378329995866034913691280691154442496966662508744773822195166179867892710696948843422107761008289899658633272711252174142802430100659201392198732034549892228629445799900203448317280127912571688654223178924935005311637050244740677386884717308621991273863920265192944825220108160862884498692132147817021500475163296733407547058593240338846704180596237856611967141139422198476446600227950059266037283442087712470585844537930145158678962747744819533876419999263589743580592037093881213006606244556025963622378440382542395027214842425297515988847530015078764002084059731642016864947721124340871006250003951206498891280834211255524049228402923023190119972454892891702188497102889650858333757479737628310259126910162826775617622631467732326580180047055421082146981483497890207640795907487898420529455586909566184096112370607634567706903317320173948589612470433588878233992089017201045527251906719835154018046058691432982389281740529479321670000939705361423520000197608357179231928101456474002111908959133215831854442772157343917566791381603605613502751257253480552969816235211916289634425762103949084396717246288716935378844865472509883697731562534887856867754106829117765182653543696669430175448187508526711259658387562658880992612535303627069779055997866806495101112892338214310296300538781941889866452162712339110737525584672483445458177558480832556039560694438258322276727748647567320055384906123704857640943295491962557644133935289835804000956448430377575517375358546327201002414232961274475709245098471717624146151583061726335995015986631855404058939896109682831419473361120469902711506485140085354516943952307635702473706851390533208411871517556266320198121969279639589831234619583014249540932859468194683210322487606643050958465064618515724300943674564335806772468387648154816723010194288443495957468433902691655958527324489733671494151893772378533639838943773122340372834848789659119242742893810784253341000753004192506780379478290754387523910069540654421358803171210965601198287489933345440195671684858040980183174598749343689523253730679656883775075930348868984001436391998038414719095458103580304306827239259319517218524417494223391158246922693600124744595663202148660922629579922319292560723897153692158686350870862033634150358378491914492078702902948540746826976865675807924778164720683328527691635317718233279913134460906333363815515859870885012002401306860286019797387586166757606798217278145112602787600823319456413213720441946293102813535390256485601416628564607716110070337600227076486955172206072524774960804587353153882178108253966766647466745462124499578390019961093544298728692213547777178973580547964836922463123769065579766417326239233201424136444141111725515482312481944921100278467177073915852073496252392153759747191254447 16420084884707668277465255563701625774087673822536150819215912584841324515338233590440125053553919569711533935875335558027092221576927031492433819811196130126869142235862062203628740898578331273963626213462750743616486963066651966225657729535710718789290135878688052791871925188688724054714391838678992430325810471844984881791875331039394378520765235618448537856167992510148586769695524754676179838305462089592934458580698400763245615942308294224234428536696632974823228139964270367045003026253769393816373937081796954004106890709557247501120696739900029602496378741529752823265990479909000751996075192006896293852475913914945500006800562902175260421203764287348264343440914934272095062906826300719971188428548413777606088580875690192594568135673997836682284182690298070408026972325557528949070000257926744294904210501569616873609928129245900387001870628801227090516498647853278263686700563835573049039540028855526145980302415908726277346781259234737844394859788624751190558047327545824252111166422626155821354613081267794082239964484291099692052234958059353094577706045238777181967653549298559324234632243182931208831985592177561783269541556514622901317644040636935598447448087189320615686469766748904520486556823253909966792915952844464693581678927965549310035890857994993007303102962096443822415532185635729101804302703941413398044812659106698463125891813365326172606532037560565531131661312918533188293322223624991111807441627535029036196498055616741185693517913922777813140942277767026207707157381998731745761978253323547609985447030856133539146340055438757910661774728381500047668082541908867963699957583078688130937306731507191496062322274215953609372601743793745217874562006615605484479354129409743264703152858282190359482007794231843602336562595357429995728871723491297483250104603770013948230836584947795049819280027356444352899002738797933806052645002258150704308010064934032123463152351472406703231114020265888224852735265995729988172424779514181810657002813043984366821841362810560974238152034787901710529602260931984018157894841400097986470081919252327096718460186944688088640506448831583475858588250076016913413540393953919372313741980416948996904891058611492173929273177525079069950507234104974165986086500316537914967695879249144200639705826297642653822162048768102570475830522209714209917204527056020041201438271439985244108366772897088248925190849033093300018345164652545998817494677618048437952251756390965526767025412647722391566016847262312341457846969931739926294707123323053802716072512206775591234311629335165028586695559778869500401087751659948828364424341682621291330288794514186416593008027054818972080039386803429893383114966795930892495823146043786551443159183749139185687112604490873057262333239109557675186997809214231057362239389609578866257777467112408372069985652311956411985376634036298292796974012686165781274380032388029893258596118252775494363134696684392061064541513192827398047276511848152823691958151689561404044201477885588554360161560810492089328289286336705035986562179767344119942123368706553557700656620842122238423721736878055080806749442616009237675756463445442003596407848406568616807252884882798104355000423564358793109539171068220606193244895671095870124305777361335280807135303562582920749260291379509132266330889987203293635647730598285168998905791885488456181620018571317665767108015546001254087221559586854510913154322004514775406675186459677707744988771 26568255441615405779292485605116965038014912894790146184173159432493856192976315907572348507435210611155107036361326369461057704380914034069202383214764150249906047767587493162503526535248694050211626419294899682589110702007450237045786348892079413960570999502107640607390525401536551512787383351403503909387695195291161376132289226177644317774176211678214006797843309326557079485639723034845063268662475922771830281782001711149746863176889001933788724801267308436453186182106201251820196877664355043750567622784265067483180860757085794520036935334722087223054262698555674286673641628287504487212728139499585216914485282802484932258945742563617990953170991062617663617819244930138129976598106991874413685395210922522379910776041870060487278832622841258790045190980197729041299683577731671751500100917128136493636245051461845503055728029449348704281998541372915744739677572788283575323750808576250435924257337477517419844222681101671102566889420097622343086991936441772691033210624279231799169759662965002525535209319124406049381103906489576138652462908118619131861148132951247767812191479443718003197379988002465085251984855767305363861578650395835907923888596662899220825888469731715642901312192046420509334086838332673968876975684486481558529400052306420316285894809201491898583937173351967871643935108658919221776757596833115586541915548757556796883371550993636431733442200387341148754292780650859768473369279046073258788925125425236676992405543515161715149104823488961909253312885401593914610474702172680335374448686912425843977536048057179066398246775273911928707833419814482436949823071388189633700897288440111650937504339864370727990423730689955721281560877009577072317334163959523051270735733015356767454410111762743329298243006148133236762324699306514392446118012208232862094970076279897645962399119835651917573386856474209535552546435467363981500832510784861963966397627592913116075687655099476482287111887072383325965627604210040284472963561456071677109165525383095104347426035294006432415710515620457750090296699190306294885643488967418041854988042957184737661755678907245732774441738667387476815036680453592430788898940281120374727974941691424706149989530329116320080856239251415064966493865960378224925982609999369334441056999719046912146190966382997170766114356403805044182681912742922621788722083322340239323407551079575075342986355911337789858050317227776510340832771295596957282559296133772738895926320726772299235413060802539114576211135705808298926280872623395884822031613056725296867966284585309231073255402457505401421544349437988743143981562444202169365177345875128071709767085268573940503077567709240330883210597769031091670604900141371088167508004084766734617757933092828708940843284147756832338263587978541676623389807252645776457697493189883173085016726431925590594403146535347570232299327636423037392637214834826703903959954707322453982493271944934180714005558718026211422920005107319476750179460388899650668823827497486182208922161214116245995479279043772002462750192670068851502422050652356122343430228992573355088242787599729036640999881990657868407572762072422451396198409738544817131798104892170033435817492598908174692600650640845748281745243592995566997832248824978048232559744127982747552597428062161310769221384923807860958544437764382267216195695435207632122674857465254873507859251772741802211249127271516736399703504507954789380331395920366848902927578613437454936243218 42988340326323074056757741168818590812102586717326297003389072017335180708314549498012473560989130180866640972236661927488149925957841065561636203025960280376775190003449555366132267433827025324175252632757650426205597665074102203271444078427790132749861135380795693399262450590225275567501775190082496339713505667136146257924164557217038696294941447296662544654011301836705666255335247789521243106967938012364764740362700111912992479119197296158023153337963941411276414322070471618865199903918124437566941559866062021487287751466643042021157632074622116825550641440085427109939632108196505239208803331506481510766961196717430432265746305465793251374374755349965927961260159864410225039504933292594384873823759336299985999356917560253081846968296839095472329373670495799449326655903289200700570101175054880788540455553031462376665656158695249091283869170174142835256176220641561839010451372411823484963797366333043565824525097010397379913670679332360187481851725066523881591257951825056051280926085591158346889822400392200131621068390780675830704697866177972226438854178190024949779845028742277327432012231185396294083970447944867147131120206910458809241532637299834819273336556921036258587781958795325029820643661586583935669891637330946252111078980271969626321785667196484905887040135448411694059467294294648323581060300774528984586728207864255260009263364358962604339974237947906679885954093569392956766691502671064370596366752960265713188903599131902900842622737411739722394255163168620122317632084171412081136426940235973453962983078913312605544586830712669839369608148195982484617905613297057597400854871518799781874811071371562224052746004905909330654162620803322290191896170575128535750089862425100032157562970044933688780250800379976839098887294663944388174989735699530345345074680049911594193235704783446967392666883830653888451549174265297787553477513043012668274407692526945239538840006571883185518225907338271550818362870205770272645388340970253487766168338427079471169267398104567406653862550408359460619898960122290313043538330367516028325069962209511834380215865851933821414948187498970952673624930529609344202439334235039747041716922108373703054880588940608494010129416776494134917001100065352390912069110315907249408752878968191112785896792680639824588276405171907614658512434952636831705926610378360280524845822519560319451353128808426038783241166260869810359177935948142956100053973751821176848178077117737826002438473450261506142227982968120640384127842555135811116738736379779099584038796792084822307567031792670430008239909216858243545069314104150997729601687557749363040055879782760357096085594764059302963249984572460985053719866937301980663331150128553286060917116841967894627955888638629889600596827088099351810387616466876833819936882799462039342794193544333962664388798847303982217675961672721330189611227520992485178339987095352347241089390197709675077140255402418272487461518300146874797455972237052474360781979187047586253123639099704800355640839854264091791039479006773887488984230419700242285553597699126912788899408441851275064721618868712949214322204688431689071954873183986820728205953298738650243070377481706279047601074205204541391284414661216173191077144496073918356865521489318028359732731624744231518481676303316993224875327751585560851843426033492801121580649350743329689479270344059467978357142817517990486925064094809300293485717924881624309602765073115162681231989 69556595767938479836050226773935555850117499612116443187562231449829036901290865405584822068424340792021748008597988296949207630338755099630838586240724430626681237771037048528635793969075719374386879052052550108794708367081552440317230427319869546710432134882903334006652975991761827080289158541486000249101200862427307634056453783394683014069117658974876551451854611163262745740974970824366306375630413935136595022144701823062739342296086298091811878139231249847729600504176672870685396781582479481317509182650327088970468612223728836541194567409344204048604904138641101396613273736484009726421531471006066727681446479519915364524692048029411242327545746412583591579079404794548355016103040284468798559218970258822365910132959430313569125800919680354262374564650693528490626339481020872452070202092183017282176700604493307879721384188144597795565867711547058579995853793429845414334202180988073920888054703810560985668747778112068482480560099429982530568843661508296572624468576104287850450685748556160872425031719516606181002172297270251969357160774296591358300002311141272717592036508185995330629392219187861379335955303712172510992698857306294717165421233962734040099225026652751901489094150841745539154730499919257904546867321817427810640479032578389942607680476397976804470977308800379565703402402953567545357817897607644571128643756621812056892634915352599036073416438335247828640246874220252725240060781717137629385291878385502390181309142647064615991727560900701631647568048570214036928106786344092416510875627148399297940519126970491671942833605986581768077441568010464921567728684685247231101752159958911432812315411235932952043169735595865051935723497812899362509230334534651587020825595440456799611973081807677018078493806528110075861211993970458780621107747907763207440044756329809240155634824619098884966053740304863424004095609732661769054310023827874632240805320119858355614527661671359667805337794410654876783990474415810557118351902426325164875333863810174575516693433398573839069573066028817210710195659312596607929181819334934070180058005166696572041971544759179554189389926166358429488661610983201774991338274516160121769691863799798409204870119269724814090985656027909199883494966025730615838051720315276583849809878687238024932087759063636995354390761575712658841194347695559453494648693700700519848253373599135394794339484719763828641291483488646320700010707243739913382613269885593915744104397844510125237851534252800620718439118673928939310408715178531695938770349436504396452005081377394053380822434250175831429784258654846986689050876548353167094779033432877434749822965051334297599163162473299633846460582341492076724324767078673068830839154213320020678675049934796603568799172786386721938860415066641028433777423719522610277634375989345212427810919976259553258791945382651552449975289309144367582248442355819189082299941802674801223582662142643855791145814120444483910381523407466351547635432625952125029605806684533768462045800313821046351120118898036094253789671676842738991406281072056364628983826691700267877142196041580311705721500859370817621894966760854140468153282922531637860004058190908683678887870080614453740201724846050289673029658254211740188909393321051966589425265617300775912330159686905542287703061227124854183419765515967828068039121468700433244255506815998203197338522116801270189606270089034726886628568602764089673817113845248473212530343686552617617475207 112544936094261553892807967942754146662220086329442740190951303467164217609605414903597295629413470972888388980834650224437357556296596165192474789266684711003456427774486603894768061402902744698562131684810200535000306032155654643588674505747659679460293270263699027405915426581987102647790933731568496588814706529563453891980618340611721710364059106271539096105865912999968411996310218613887549482598351947501359762507401934975731821415283594249835031477195191259006014826247144489550596685500603918884450742516389110457756363690371878562352199483966320874155545578726528506552905844680514965630334802512548238448407676237345796790438353495204493701920501762549519540339564658958580055607973577063183433042729595122351909489876990566650972769216519449734703938321189327939952995384310073152640303267237898070717156157524770256387040346839846886849736881721201415252030014071407253344653553399897405851852070143604551493272875122465862394230778762342718050695386574820454215726527929343901731611834147319219314854119908806312623240688050927800061858640474563584738856489331297667371881536928272658061404450373257673419925751657039658123819064216753526406953871262568859372561583573788160076876109637070568975374161505841840216758959148374062751558012850359568929466143594461710358017444248791259762869697248215868938878198382173555715371964486067316901898279711561640413390676283154508526200967789645682006752284388201999981658631345768103370212741778967516834350298312441354041823211738834159245738870515504497647302567384372751903502205883804277487420436699251607447049716206447406185634297982304828502607031477711214687126482607495176095915740501774382589886118616221652701126505109780122770915457865556831769536051852610706858744606908086914960099288634403168796097483607293552785119436379720834348870529402545852358720624135517312455644783997959556607787536870887300515213012646803595153367668243242853323563701748926427602353344621580829763740243396578652641502202237254046685960831503141245723435616437176671330094619434886920972720149702450098505127967376208406422187410611113375604338113665329382162286541512811119193777608751199868811408785908172112259750708210333308101115072804403334800496066091083006750120830631183833258562757655429137717984551744276819942667166747620273499706782648196285200575304079060800373099196118695714245692613528189867424532649749516131059188643191882869482667243637415092592282474962247951240290007703062126860667101642049579694536557733667507055509085816283496036043878169478875688389466042846261438024167871705230234120190652504164824380720990626797789878844834094654695248757237358936809710566913953061778044634015975049494170304341873306739592166776764498196755061425016611539457242154740380244165040186399444097571258788807251770605113520593515923180744229955534667651250981865697771859669876811674260639928898027148464672052340353530868286069522862756397843041707613226345091404863004599390387785871581354715169439413525846706760958752300186044829150683616626480390511491756606914537424390827180666041604483431586770443119728083766836217171449285829540108156106518458588210011489647333921958247562320732787802799051254831064314072915427913379986537817125884946290787106618804272062891311649773806184737530441847408295093267553388919882547502193234365836156166741532886817792460860738167963412906552717373553632697573389967302831770130097522133108759667780298707196 182101531862200033728858194716689702512337585941559183378513534916993254510896280309182117697837811764910136989432638521386565186635351264823313375507409141630137665545523652423403855371978464072949010736862750643795014399237207083905904933067529226170725405146602361412568402573748929728080092273054496837915907391990761526037072124006404724433176765246415647557720524163231157737285189438253855858228765882637954784652103758038471163711369892341646909616426441106735615330423817360235993467083083400201959925166716199428224975914100715103546766893310524922760449717367629903166179581164524692051866273518614966129854155757261161315130401524615736029466248175133111119418969453506935071711013861531981992261699853944717819622836420880220098570136199803997078502971882856430579334865330945604710505359420915352893856762018078136108424534984444682415604593268259995247883807501252667678855734387971326739906773954165537162020653234534344874790878192325248619539048083117026840195104033631752182297582703480091739885839425412493625412985321179769419019414771154943038858800472570384963918045114267988690796669561119052755881055369212169116517921523048243572375105225302899471786610226540061565970260478816108130104661425099744763626280965801873392037045428749511537146619992438514828994753049170825466272100201783414296696095989818126844015721107879373794533195064160676486807114618402337166447842009898407246813066105339629366950509731270493551521884426032132826077859213142985689391260309048196173845656859596914158178194532772049844021332854295949430254042685833375524491284216912327753362982667552059604359191436622647499441893843428128139085476097639434525609616429121015210356839644431709791741053306013631381509133660287724937238413436196990821311282604861949417205231515056760225164192709530074504505354021644737324774364440380736459740393730621325662097560698761932756018332766661950767895329914602521128901496159581304386343819037391386882092145822903817516836066047428622202654264901715084793008682465993882040290278747483528901901969037384168685185972542904978464158955370292929793728039831687811650948152496012894185115883267359990581100649707970521464620827480058122192100728832312534683991032116813622588172550946460417108372636342667162650072310807913815297057928323332932340901130343755738695223997779761320221352569717831109040032098247953696065824133238162451759199350435622782865280513523009008336386872806758076478141541955862747579106220315978519004945272912199202994279435252787892488048959546872929069211900293022092867808426526552216923171067200857331919159754423504232539701809885428952294411919710658570656171149255445138502369401094648118325009458555193327418267216711561101765554234211403333478317657221381408677942463905922054375205634778152464198416033496853069181972689612607087117626540291010065354108112232630863342939870700701949688254714482997386659431883643307240308224565115079577892726837488956724419993592556115123177215239727346893057881077650336280298618822360459365471796792563812971543521251082527448543183800525011898476164620587454584458112138210139970008261439029050096448214069680556017600846117642935186528004523897305120737343731169639653568895931138177851535716052723919580184393050998555316093887798757566701591714858783521216987921668970893667610091662982739736084156314577662008357569682995587444260182201300337479641119945615378570734663452446220397916182403 294646467956461587621666162659443849174557672271001923569464838384157472120501695212779413327251282737798525970267288745823922742931947430015788164774093852633594093320010256318171916774881208771511142421672951178795320431392861727494579438815188905631018675410301388818483829155736032375871026004622993426730613921554215418017690464618126434797235871517954743663586437163199569733595408052141405340827117830139314547159505693014202985126653486591481941093621632365741630156670961849786590152583687319086410667683105309885981339604472593665898966377276845796915995296094158409719085425845039657682201076031163204578261831994606958105568755019820229731386749937682630659758534112465515127318987438595165425304429449067069729112713411446871071339352719253731782441293072184370532330249641018757350808626658813423611012919542848392495464881824291569265341474989461410499913821572659921023509287787868732591758844097770088655293528357000207269021656954667966670234434657937481055921631962975653913909416850799311054739959334218806248653673372107569480878055245718527777715289803868052335799582042540646752201119934376726175806807026251827240336985739801769979328976487871758844348193800328221642846370115886677105478822930941584980385240114175936143595058279109080466612763586900225187012197297962085229141797449999283235574294371991682559387685593946690696431474775722316900197790901556845692648809799544089253565350493541629348609141077038596921734626204999649660428157525584339731214472047882355419584527375101411805480761917144801747523538738100226917674479385084982971541000423359733938997280649856888106966222914333862186568376450923304235001216599413817115495735045342667911483344754211832562656511171570463151045185512898431795983020344283905781410571239265118213302715122350313010283629089250908853375883424190589683494988575898048915385177728580882269885097569649233271231345413465545921262998157845374452465197908507731988697163658972216645832389219482470158338268284682668888615096404856330516444298903170553370384898182370449874622118739834267190313939919113384886346365981406305398066153497017193813234694008824013378893492018559859392509435616142633724371535690391430293215801636715869484487098207896629338293381577644250366935393998096300368056862552190635239725095070953205840607912991952023895799301858822120594451765836526823285724711776143563490356782987678582818387993627505652347947757160424100928669347769006027718431549658924874439773321958028098699481830645866710049788521069071388524092837716351804757601366335868354305832594398257447157291257853361496743540475414131030329580654719523606989660676948017507465881716169398200280414035110623167819179762897066634157859383488325599962309295636419945017774899376121788922107504092321498472776893566959715969021147017446585105153433842562621785277791272875763125967782109442537603579799598729098152926766823350917527717953166169996706067606822692804237818242351961323810381378427696477892384679140872739764642036402636466343447973044075991952187304055569578458058675473354629209225405008443485246607740315538351294329309659425799548369595135568555036424081170203351522804365205255919315807322948559951801657804085067566948882468955303736482006839830538384456455942310205089900072536288008549000009952051074605907804216473086901975927819149481268970974107038522746525533095902140161633735833997910869608422777385508668256796561205888178214889599 476747999818661621350524357376133551686895258212561106947978373301150726631397975521961531025089094502708662959699927267210487929567298694839101540281502994263731758865533908741575772146859672844460153158535701822590334830630068811400484371882718131801744080556903750231052231729484962103951118277677490264646521313544976944054762588624531159230412636764370391221306961326430727470880597490395261199055883712777269331811609451052674148838023378933128850710048073472477245487094779210022583619666770719288370592849821509314206315518573308769445733270587370719676445013461788312885265007009564349734067349549778170708115987751868119420699156544435965760852998112815741779177503565972450199030001300127147417566129303011787548735549832327091169909488919057728860944264955040801111665114971964362061313986079728776504869681560926528603889416808736251680946068257721405747797629073912588702365022175840059331665618051935625817314181591534552143812535146993215289773482741054507896116735996607406096206999554279402794625798759631299874066658693287338899897470016873470816574090276438437299717627156808635442997789495495778931687862395463996356854907262850013551704081713174658316134804026868283208816630594702785235583484356041329744011521079977809535632103707858592003759383579338740016006950347132910695413897651782697532270390361809809403403406701826064490964669839882993387004905519959182859096651809442496500378416598881258715559650808309090473256510631031782486506016738727325420605732356930551593430184234698325963658956449916851591544871592396176347928522070918358496032284640272061692360263317408947711325414350956509686010270294351432374086692697053251641105351474463683121840184398643542354397564477584094532554319173186156733221433780480896602721853844127067630507946637407073235447821798780983357881237445835327008269353016278785375125571459202207931982658268411166027249678180127496689158328072447895581366694068089036375040982696363603527924535042386287675174334332111291091269361306571415309452981369164435410675176929853978776524087777218435875499912462018363350505321351699235191794193328705005464182846504836907564009375285919849973610085324113155188992363170449552485316530469028404168478130324710251926465932524104667475308030340763463018129173360104450536783023394286138181509043335707762591023299638583440815804335554357932325756810024097259556180916225841034577587344063128435213228270683433109265056220575764104196573091614787622018879542274006617704427103558065913044067956321859281012141797263224733826813266628890447173641020924809664080462325054218828662700229837635262869282464604952559284072596658676078122052865424843338782783436205271286144189221452259961576126600199886701727863529847823278496092556597503197600049967998243552847982528345112180167437180514299654287126123455169708902904331563885828480075894342073400946519670299431047841181481306348304187149836809477237014292171937772382130545079840918048230374970983811601069599918868219632822523114052972746642066795404535357423984096619382550001579926555882077752409205533455383722772360902992935752441447869565769556631034164618651484638150850759369123650482848191105843811846845865072539001535254707220517778400093481588017722892554457964640848993308760405993960335045575250591724810834595822895725885443980569586019482132221005055130421616184754883102778897727605893918035298248349249542723000887238991460013652108576131072002 771394467775123208972190520035577400861452930483563030517443211685308198751899670734740944352340377240507188929967216013034410672499246124854889705055596846897325852185544165059747688921740881615971295580208653001385655262022930538895063810697907037432762755967205139049536060885220994479822144282300483691377135235099192362072453053242657594027648508282325134884893398489630297204476005542536666539883001542916583878971115144066877133964676865524610791803669705838218875643765741059809173772250458038374781260532926819200187655123045902435344699647864216516592440309555946722604350432854604007416268425580941375286377819746475077526267911564256195492239748050498372438936037678437965326348988738722312842870558752078857277848263243773962241248841638311460643385558027225171643995364612983119412122612738542200115882601103774921099354298633027820946287543247182816247711450646572509725874309963708791923424462149705714472607709948534759412834192101661181960007917398991988952038367959583060010116416405078713849365758093850106122720332065394908380775525262591998594289380080306489635517209199349282195198909429872505107494669421715823597191893002651783531033058201046417160482997827196504851663000710589462341062307286982914724396761194153745679227161986967672470372147166238965203019147645094995924555695101781980767844684733801491962791092295772755187396144615605310287202696421516028551745461608986585753943767092422888064168791885347687394991136836031432146934174264311665151820204404812907013014711609799737769139718367061653339068410330496403265603001456003341467573285063631795631357543967265835818291637265290371872578646745274736609087909296467068756601086519806351033323529152855374917054075649154557683599504686084588529204454124764802384132425083392185843810661759757386245731450888031892211257120870025916691764341592176834290510749187783090201867755838060399298481023593593042610421326230293270033831891976596768363738146355335820173756924261868757833512602616793959979884457711427745825897280272334988781060075112224428651146206517052703065813852381131748236851687333105540589860346825722199277417540513660920942902867304479709366119520940255788913363898860840982778532332105744273652965228532606881264759314101748917842243424338859763386186035912295085776508118465239344022116956327659786486822601497405561410256101390884755611481521800240823046537699213519617395975337690634087561176027843857210193725568344770131915004641273712496458652864232034716403908934203932623093856477390930669536234634979576538584414632964758801479473615323067111237753582907580325406240705251766293198863119324476166273733273606693585587934581594241539063197471315894453963368984349326595733985983688212301690172825484243223513867455973624986522157472090565051320759421912071896136458327531746239392279557297732330688182122836761591606043676451515938550099469898160145994108248129699221714867789975647233720359778760465186368363322192879372040756349411508078961984598009092372587165150455609212985514768448611349376171400674952128459638602029236706961634610541898868969380101218531287046770757528991569105000629300187206521062232020962720646454848053447025159619169794425024340659339339774787466660869048785324499729732384996349097304935618965495894032871333583799591734762885670428803530101917067471561947301281702274026104528654707501408635874799867767527653869296159218857965500386395907248256574857996754345961601 1248142467593784830322714877411710952548348188696124137465421584986458925383297646256702475377429471743215851889667143280244898602066544819693991245337099841161057611051078073801323461068600554460431448738744354823975990092652999350295548182580625169234506836524108889280588292614705956583773262559977973956023656548644169306127215641867188753258061145046695526106200359816061024675356603032931927738938885255693853210782724595119551282802700244457739642513717779310696121130860520269831757391917228757663151853382748328514393970641619211204790432918451587236268885323017735035489615439864168357150335775130719545994493807498343196946967068108692161253092746163314114218113541244410415525378990038849460260436688055090644826583813076101053411158330557369189504329822982265972755660479584947481473436598818270976620752282664701449703243715441764072627233611504904221995509079720485098428239332139548851255090080201641340289921891540069311556646727248654397249781400140046496848155103956190466106323415959358116643991556853481405996786990758682247280672995279465469410863470356744926935234836356157917638196698925368284039182531817179819954046800265501797082737139914221075476617801854064788060479631305292247576645791643024244468408282274131555214859265694826264474131530745577705219026097992227906619969592753564678300115075095611301366194498997598819678360814455488303674207601941475211410842113418429082254322183691304146779728442693656777868247647467063214633440191003038990572425936761743458606444895844498063732798674816978504930613281922892579613531523526921699963605569703903857323717807284674783529617051616246881558588917039626168983174601993520320397706437994270034155163713551498917271451640126738652216153823859270745262425887905245698986854278927519253474318608397164459481179272686812875569138358315861243700033694608455619665636320646985298133850414106471565325730701773720539299579654302741165615198586044685804738779129051699423701681459304255045508686936948905251071153819017999161135350261641499424191735252042078407427670294294271138941313764843150111587357008684804775781654540154427204741600387018497828506912242590399559339729606264368944102356262031290535263848862574772677821443358857317133191225246625853585317551454679623226404315209272399536313291141859525482203625999663367549077845901135989002226060436945242687937238331824338082602718615439360651973562681753762522774404298527290319458781788920534236111577732888500118477532406506041334108336037761998536137924433712789950548376432242801272411227899593649248653114636247876775318215907961799154068940935089401556068145583929428725557805870265369663709987447019084877845980907521165740107558205801586557310112583888099003418036355332066502009960012571128184122207440088808604168741950257184076303895508046045893679405680752902039591086454400647420086119570793589339496619140197591193835289729436047525902017626785124470734651950698237568498908402033797420271131320395319680031584516877312005409688264508581959627581563853146706800155497294334678461218528585118784714043816075354252692152462121524222799212205398557338661631663464805858005700382871722089770105330901638131003431016640290096879660874594482007984439269142266912517452624939454313738153928927725901887993206379159050183459573720266251699255987361048041147966783413923279081234950270892256291738653697595373421571904594407568107508223387283146239716588510105330477033603 2019536935368908039294905397447288353409801119179687167982864796671767124135197316991443419729769848983723040819634359293279309274565790944548880950392696688058383463236622238861071149990341436076402744318953007825361645354675929889190611993278532206667269592491314028330124353499926951063595406842278457647400791783743361668199668695109846347285709653329020660991093758305691321879832608575468594278821886798610437089753839739186428416767377109982350434317387485148914996774626261329640931164167686796037933113915675147714581625764665113640135132566315803752861325632573681758093965872718772364566604200711660921280871627244818274473234979672948356745332494213812486657049578922848380851727978777571773103307246807169502104432076319875015652407172195680650147715381009491144399655844197930600885559211556813176736634883768476370802598014074791893573521154752087038243220530367057608154113642103257643178514542351347054762529601488604070969480919350315579209789317539038485800193471915773526116439832364436830493357314947331512119507322824077155661448520542057468005152850437051416570752045555507199833395608355240789146677201238895643551238693268153580613770198115267492637100799681261292912142632015881709917708098930007159192805043468285300894086427681793936944503677911816670422045245637322902544525287855346659067959759829412793328985591293371574865756959071093613961410298362991239962587575027415668008265950783727034843897234579004465263238784303094646780374365267350655724246141166556365619459607454297801501938393184040158269681692253388982879134524982925041431178854767535652955075351251940619347908688881537253431167563784900905592262511289987389154307524514076385188487242704354292188505715775893209899753328545355333791630342030010501370986704010911439318129270156921845726910723574844767780395479185887160391798036200632453956147069834768388335718169944531964624211725367313581910000980533034435649030478021282573102517275407035243875438383566123803342199539565699211051038276729426906961247541913834412972795327154302836078816500811323842007127617224281859824208696017910316371514886980149404019017927532158749449815109894879268705849127204624733015720160892131518042381194680516951474408587389924014455984560727602503159794879018482989790501245184694622089799260324764826225742955991027335564668502633394563636316538336127443548719853624578905649256314652880269369538019444396610335580326371147529652507357265304368026582374162212614936185270738076050512244971965931159231780911103720620084611067222377810995642532558408050132588251570943886555969490869379479475181640341167849267008703253904891831539143872063249297922028613326416909178378837060194070927190150913153044098567576311305108209180816309725523827468544753170644364912179373655489501372169255972440353835577792133071685238050634370279268577237409011692163247245105278046718610095751339829397977565746747616885416760771704455011729458702754867271724226676792311887669806827758993569114886404377996853414964191172613096332301758056176326897969286806920857130614355491675678426617253121661532563340055509845982962927548907766632292764993064526762614892684810416560178955085156163050186434715121220320213934256795451100138191052237017182357324450662835458864546691397782026077712742849775194336605936680502786089278115512709914084695625553107339478925599757700374528497463140949225773890566786965473723773679053487973163368102084822995204 3267679402962692869617620274858999305958149307875811305448286381658226049518494963248145895107199320726938892709301502573524207876632335764242872195729796529219441074287700312662394611058941990536834193057697362649337635447328929239486160175859157375901776429015422917610712646114632907647368669402256431603424448332387530974326884336977035100543770798375716187097294118121752346555189211608400522017760772054304290300536564334305979699570077354440090076831105264459611117905486781599472688556084915553701084967298423476228975596406284324844925565484767390989130210955591416793583581312582940721716939975842380467275365434743161471420202047781640517998425240377126600875163120167258796377106968816421233363743934862260146931015889395976069063565502753049839652045203991757117155316323782878082358995810375084153357387166433177820505841729516555966200754766256991260238729610087542706582352974242806494433604622552988395052451493028673382526127646598969976459570717679084982648348575871963992222763248323794947137348871800812918116294313582759402942121515821522937416016320793796343505986881911665117471592307280609073185859733056075463505285493533655377696507338029488568113718601535326080972622263321173957494353890573031403661213325742416856108945693376620201418635208657394375641071343629550809164494880608911337368074834925024094695180090290970394544117773526581917635617900304466451373429688445844750262588134475031181623625677272661243131486431770157861413814556270389646296672077928299824225904503298795865234737068001018663200294974176281562492666048509846741394784424471439510278793158536615402877525740497784134989756480824527074575437113283507709552013962508346419343650956255853209459957355902631862115907152404626079054056229935256200357840982938430692792447878554086305208089996261657643349533837501748404091831730809088073621783390481753686469568584051003529949942427141034121209580634835775601264229064065968377841296404458734667577119842870378848850886476514604462122192095747426068096597803555333837164530579196381243506486795105594980948441382067431971411565704702715092153169427134576608760618314550656577956727352485278828045578733468993677118076422923422053306230057255289629295851946247241147647209807353456088477346333698106216194816454457094158403090402184290308429368955654394884642514403769383565862376975281370131485958185448916988251974930092240921343100701198159133109984624898437849111289146185838604138160107050712733413717677244117384620581009727929695369705344816510570632987499465179083406870432152057298785702887818820661874185398831178633544122575430569405335154287183333617389345014137432913007909475632411294755159286358225934178485395952499710354211151464410308526245536148376227533787481115881354766572352268182259658243322426440048744249343623838026751090918803536409870355031638056431778282818038694617543337750293342533664687707001794273518903043545896175189663680156940323366180126260474212583018990202147439025153631763716383406541679472773132240677896154904762976482395263621485382075659199474276389722242692607374353685025461579732645195168326106246428263956229798922532462997764406900186665509856723287166481203075005218099981088528738803435539407333319149534634982263904976573612793474417299670019284091901899958653910326202932202042076639163553857880868109548832188574429196492013992113182195058514370797678484974355072981947160962199727689751878207415300028807 5287216338331600908912525672306287659367950427055498473431151178329993173653692280239589314836969169710661933528935861866803517151198126708791753146122493217277824537524322551523465761049283426613236937376650370474699280802004859128676772169137689582569046021506736945940836999614559858710964076244534889250825240116130892642526553032086881447829480451704736848088387876427443668435021820183869116296582658852914727390290404073492408116337454464422440511148492749608526114680113042929113619720252602349739018081214098623943557222170949438485060698051083194741991536588165098551677547185301713086283544176554041388556237061987979745893437027454588874743757734590939087532212699090107177228834947593993006467051181669429649035447965715851084715972674948730489799760585001248261554972167980808683244555021931897330094022050201654191308439743591347859774275921009078298481950140454600314736466616346064137612119164904335449814981094517277453495608565949285555669360035218123468448542047787737518339203080688231777630706186748144430235801636406836558603570036363580405421169171230847760076738927467172317304987915635849862332536934294971107056524186801808958310277536144756060750819401216587373884764895337055667412061989503038562854018369210702157003032121058414138363138886569211046063116589266873711709020168464257996436034594754436888024165681584341969409874732597675531597028198667457691336017263473260418270854085258758216467522911851665708394725216073252508194188921537740302020918219094856189845364110753093666736675461185058821469976666429670545371800573492771782825963279238975163233868509788556022225434429379321388420924044609427980167699624573495098706321487022422804532138198960207501648463071678525072015660480949981412845686571965266701728827686949342132110577148711008150935000719836502411129929316687635564483629767009720527577930460316522074805286753995535494574154152508347703119581615368810036913259542087250950943813679865769911452558226436502652193086016080303673173230372476852975057845345469168250137325906350684079585303295916918822955568999291713831235774400720625408524684314114726012779636242082815327406542462380158096751427860673618410133796583815553571348611251935806580770260533637165162103194368081058591637141212716589205985317699641788780492889662509055134655111911645422220207182906402778129498693513617497575034678039073495893901231244745121190712638720642555743445564951269585378763796503451142972164742481212925348349902947982193435132825981693860854601486255920231190717598566687556894402512964710465348918291139389764548430154889700558113019304215771737254602162990437238509220884158009496162305831504245737711664337665195286128249412586103412863398309719040721613634454716964685953057614949660634525410937264447555915147744694595696021184603179201630159822776156854170780149623608875465443470446065283799895590056360389093873494085684567541021135788460306667879644675409615643078233451850487151004894906660008975198018722746650120761403395094436964304853774228456662819152809293232908292302932789813829768065400669309860496015217588801635242491178131253655154194896248994791987059225612657091710603225688811808443329531389509720339320301302462995598886639545524371386551817339588355639409071658021108697452045361804644749733848246932139612704828165917279066567794952805174385295913908122091771692487710692521655320023452375541142038455670934641253215662915246309500123024011 8554895741294293778530145947165286965326099734931309778879437559988219223172187243487735209944168490437600826238237364440327725027830462473034625341852289746497265611812022864185860372108225417150071130434347733124036916249333788368162932344996846958470822450522159863551549645729192766358332745646791320854249688448518423616853437369063916548373251250080453035185681994549196014990211031792269638314343430907219017690826968407798387815907531818862530587979598014068137232585599824528586308276337517903440103048512522100172532818577233763329986263535850585731121747543756515345261128497884653808000484152396421855831602496731141217313639075236229392742182974968065688407375819257365973605941916410414239830795116531689795966463855111827153779538177701780329451805788993005378710288491763686765603550832306981483451409216634832011814281473107903825975030687266069558720679750542143021318819590588870632045723787457323844867432587545950836021736212548255532128930752897208451096890623659701510561966329012026724768055058548957348352095949989595961545691552185103342837185492024644103582725809378837434776580222916458935518396667351046570561809680335464336006784874174244628864538002751913454857387158658229624906415880076069966515231694953119013111977814435034339781774095226605421704187932896424520873515049073169333804109429679460982719345771875312363953992506124257449232646098971924142709446951919105168533442219733789398091148589124326951526211647843410369608003477808129948317590297023156014071268614051889531971412529186077484670271640605952107864466622002618524220747703710414673512661668325171425102960169877105523410680525433955054743136737857002808258335449530769223875789155216060711108420427581156934131567633354607491899742801900522902086668669887772824903025027265094456143090716098160054479463154189383968575461497818808601199713850798275761274855338046539024524096579649381824329162250204585638177488606153219328785110084324504579029678069306881501043972492594908135295422468224279043154443149024502087301856485547065323091790091022513803904010381359145802647340105423340500677853741249302621540254556633471905363269814865436924797006594142612087251873006738975624654841309191096210066112479884406309750404175434514680114487546414695422180134154098882938895980064693345443084480867299817104849697310172161695361070488898867706520636224522412882153206174837362112055739421840714876555549576168023227875085649636981576302902588263638081763620625226310819753406991421790549971191600736741761350586066152735977809383396862522647703994027208585210304340288531736746563426791202306659937317277620572126610229172146929075313740979878149006419496951553512062427897982055912573752520870505131922160700253113062180591402430776515880177509616715738174805988017022136069928852522825468186573867075657707190019978640513521875248728883322494513133394110682436407158773391569335294654691503852564054834339089772583401599631976747625217477925650211122637043876378413837144809936773909737437094452124611567582129291688496529777685008449013304044455122912002467870368902614263214975136373299579761400623160205224590909591688610421498610789891198668531730496012592584725557420282390991734402322178952857690536086452321852260615982684451495525997122064645896546649692502157258342544906870242556442620425675820914723217484488337318583785684600892887580169690821130860515497111437618095603452943352667124516915423052818 13842112079625894687442671619471574624694050161986808252310588738318212396825879523727324524781137660148262759767173226307131242179028589181826378487974782963775090149336345415709326133157508843763308067810998103598736197051338647496839704514134536541039868472028896809492386645343752625069296821891326210105074928564649316259379990401150797996202731701785189883274069870976639683425232851976138754610926089760133745081117372481290795932244986283284971099128090763676663347265712867457699927996590120253179121129726620724116090040748183201815046961586933780473113284131921613896938675683186366894284028328950463244387839558719120963207076102690818267485940709559004775939588518347473150834776864004407246297846298201119445001911820827678238495510852650510819251566373994253640265260659744495448848105854238878813545431266836486203122721216699251685749306608275147857202629890996743336055286206934934769657842952361659294682413682063228289517344778497541087798290788115331919545432671447439028901169409700258502398761245297101778587897586396432520149261588548683748258354663255491863659464736846009752081568138552308797850933601646017677618333867137273294317062410319000689615357403968500828742152053995285292318477869579108529369250064163821170115009935493448478144912981795816467767304522163298232582535217537427330240144024433897870743511453459654333363867238721932980829674297639381834045464215392365586804296304992547614558671500975992659920936863916662877802192399345870250338508516118012203916632724804983198708087990371136306140248307035622653236267195495390307046710982949389836746530178113727447328394599256426911831604570043383034910836362430497906964656936553192028407927354176268212756883499259682006147228114304588904745429373865789603815496356837114957013602175976102607078091435934662465609392470877019533059091264828529128777644311114797836080142092042074519098250732157729527448743865573395675090748148240470279728923764190274490482236295743384153237058508675211808468652840701132018212288494493670337439182391897749402677093386939432626859579380650859633883114506143965909202538055364028634319890798716287232769812277245595021548434454816230497385669590554529196003452561126902790836373013521571471853598543515573271751628759131284628165451853740671719388869727202400577739592778945239325056880216574939824859764002516365281555314263595908776054437419582483302768378142483270620001114527437608606638882153088124548467645069476563430113523573208504254886232973115651404572677856656972952068184632840292872211896361572987996622285166598349758734495178232294859582731006974043914539480268057810635831113330156425237619572484123886718083834616748798190677310568159325437150830589545853535795154970077748133649017380437150405588446881163294089953732711617832091113455702027098346396643232511877970169602249388987318719174948606294408723450471071530280652859076136876315790479964159231934479014499388226479833083827234776222372832310220097835062599125063957906213331868346701741948226353068230401282100981729438069987941238827133812520523581312328366384120203064850217627551430833416554818056454219382896650914223078590321393116887480340173825543982094445896740583693454730001208818498382061922638269661440616255391756109516634694574110007701191399426350404190482157611698408473721686993470773719897602780402245440675557377088603580101825010844583236056639149893289030244706159015582370826415546076829 22397007820920188465972817566636861590020149896918118031190026298306431619998066767215059734725306150585863586005410590747458967206859051654861003829827072710272355761148368279895186505265734260913379198245345836722773113300672435865002636859131383499510690922551056673043936291072945391427629567538117530959324617013167739876233427770214714544575982951865642918459751865525835698415443883768408392925269520667352762771944340889089183748152518102147501687107688777744800579851312691986286236272927638156619224178239142824288622859325416965145033225122784366204235031675678129242199804181071020702284512481346885100219442055450262180520715177927047660228123684527070464346964337604839124440718780414821486128641414732809240968375675939505392275049030352291148703372162987259018975549151508182214451656686545860296996840483471318214937002689807155511724337295541217415923309641538886357374105797523805401703566739818983139549846269609179125539080991045796619927221541012540370642323295107140539463135738712285227166816303846059126939993536386028481694953140733787091095540155280135967242190546224847186858148361468767733369330268997064248180143547472737630323847284493245318479895406720414283599539212653514917224893749655178495884481759116940183226987749928482817926687077022421889471492455059722753456050266610596664044253454113358853462857225334966697317859744846190430062320396611305976754911167311470755337738524726337012649820090100319611447148511760073247410195877154000198656098813141168217987901338856872730679500519557213790810519947641574761100733817498008831267458686659804510259191846438898872431354769133532435242285095477338089653973100287500715222992386083961252283716509392328923865303926840838940278795747659196396645172175766312505902165026724887781916627203241197063221182152032822520088855625066403501634552762647337729977358161913073597354997430088613543622347311807111351777906115777981313268236754393689608514033848514779069511914365050265654281031001270119943764075308925411061366731643518172424741038877444814725768883477961946430763589762010005436530454611567306409880391796613331255860145355349759138133082092111031946345441048958842584637542597293504820658293870317999000902485493405977781604002718950087951866116305545980050345586007839554658284849791895746020824073646245056429906577526747101520220834491415232988075950488118321658207643594419845414824117564323985496556664103605631834513967802725106124770547657740201511877144198434815074639639964537441954543869457393714713418770698993028850021279758435510644326279193806934969038835466764031606146157798176350574476797545678382762441342502303354312933313464002035724503331568302310253105208550215238010903351460050985457955855223190810314240419811213666285765956497879032264759720728639968161042308224852566532970510308169585160189580889902509193967903831928788921856844581753966687811632467706211610445171468011795989313353589160809881432715803982401439850757960431220472106475503477795051023268642256439179042678477679797983411392670225967847672949687840437856975646493314796236753022817328065192763924730413177955441216659443973806242602833500088932183008086148871904321556574679171454160866084446464403530997451239752458724721983292876871374440561012160691696174653597738049118852561448824702518568651030164307419146594634620820264890582759259343061689496467681994701665714096572136261330907125848159102368249495343330969129647 36239119900546083153415489186108436214714200058904926283500615036624644016823946290942384259506443810734126345772583817054590209385887640836687382317801855674047445910484713695604512638423243104676687266056343940321509310352011083361842341373265920040550559394579953482536322936416698016496926389429443741064399545577817056135613418171365512540778714653650832801733821736502475381840676735744547147536195610427486507853061713370379979680397504385432472786235779541421463927117025559443986164269517758409798345307965763548404712900073600166960080186709718146677348315807599743139138479864257387596568540810297348344607281614169383143727791280617865927714064394086075240286552855952312275275495644419228732426487712933928685970287496767183630770559883002801967954938536981512659240809811252677663299762540784739110542271750307804418059723906506407197473643903816365273125939532535629693429392004458740171361409692180642434232259951672407415056425769543337707725512329127872290187755966554579568364305148412543729565577549143160905527891122782461001844214729282470839353894818535627830901655283070856938939716500021076531220263870643081925798477414610010924640909694812246008095252810688915112341691266648800209543371619234287025253731823280761353341997685421931296071600058818238357238796977223020986038585484148023994284397478547256724206368678794621030681726983568123410891994694250687810800375382703836342142034829718884627208491591076312271368085375676736125212388276499870448994607329259180421904534063661855929387588509928350096950768254677197414337001012993399138314169669609194347005722024552626319759749368389959347073889665520721124564809462717998622187649322637153280691643863568597136622187426100520946426023861963785301390601549632102109717661383562002738930229379217299670299273587967484985698248095943423034693644027475866858755002473027871433435139522130688062720598043964840879226649981351376988358984902634159888242957612705053559994150660793649807518089509945331752232728149626543079579020138011842762180221269342564128445976864901379057623169142660865070413569117711272319082929851977359890180036154066046370902894369356626967893875503775073082023212187848034016661746431444901791738858506927549253457601262465661223617745064677264678511037861580226377673719519098146598563666425190295754963457743322041345080598493931598269631264751714230434262081014002328717592495706807256116557778631043240441152849955813230673238192727216764941990667771643319329525872937653093359116547314050687665486955331833321722233176120008498640948564360405284727773330644996326465728888805150394489016277813736193398272455832459779550552885948125922442587166185051108443782519118374563448054182049596838993751010193268558447889437191650816691354403379042326354713453440257800252155763926879664879367153540681463130359183139291496512687078780535083330580295052825496968464491543843087926235651432171027923792368088549036361265799631217177662223590270651318307169074628541752957236600510603140920990904830748028384693493651955405917660890926667571669496170074627124603137143020392915410391476161246594510259273113663356702893517056578679253576124973629212078147100556773617350901449777901194404739815949621814381362991644733493126766196670528795386270284661298929448545202965639306860130267059503885994412617368354518423045292828199934900438778100047783819712510297332628775411224196156092865261383831866169746515206476 58636127721466271619388306752745297804734349955823044314690641334931075636822013058157443994231749961319989931777994407802049176592746692491548386147628928384319801671633081975499699143688977365590066464301689777044282423652683519226844978232397303540061250317131010155580259227489643407924555956967561272023724162590984796011846845941580227085354697605516475720193573602028311080256120619512955540461465131094839270625006054259469163428550022487579974473343468319166264506968338251430272400542445396566417569486204906372693335759399017132105113411832502512881583347483277872381338284045328408298853053291644233444826723669619645324248506458544913587942188078613145704633517193557151399716214424834050218555129127666737926938663172706689023045608913355093116658310699968771678216358962760859877751419227330599407539112233779122632996726596313562709197981199357582689049249174074516050803497801982545573064976431999625573782106221281586540595506760589134327652733870140412660830079261661720107827440887124828956732393852989220032467884659168489483539167870016257930449434973815763798143845829295704125797864861489844264589594139640146173978620962082748554964756979305491326575148217409329395941230479302315126768265368889465521138213582397701536568985435350414113998287135840660246710289432282743739494635750758620658328650932660615577669225904129587727999586728414313840954315090861993787555286550015307097479773354445221639858311681176631882815233887436809372622584153653870647650706142400348639892435402518728660067089029485563887761288202318772175437734830491407969581628356268998857264913870991525192191104137523491782316174760998059214218782563005499337410641708721114532975360372960926060487491352941359886704819609622981698035773725398414615619826410286890520846856582458496733520455740000307505787103721009826536328196790123204588732360634940945030790136952219301606342945355771952231004556097129358301627221657027849496756991461219832629506065025843915461799120511215451695996803458551954140945751781530015186921260146787378854214860342863325488386758904670870506944023729278578728963321648590691146040181509415805509035976461467658914239316552733915666660754785141538837320040301762900792641344000333527035061603981415749175483861370223244728856623869419781035958569310993892619387740071435352184870035270069142865301432985346831257707215239832552092469724608422174132416613271131241613114442734648872275666817758538336798008740384956966453867811970078134404165512902190535313660416771444402378905726030826350572254455878444009285274843554212219696812166111760358071875046603326745063493075359414576160713798334763133863486199412127958167090497753353418696887727668589801458957533509647824451706865416459368762129857002864482977120359876921358619473174168897768413198072151732231412337663848851048290548764029194005706654982612463872252437139634579463656276124011549299536680822900182823913105721677709846242698515435199579102074348231082538779275550132019548008259869152859580100033583308427826368104886322181373765333840614508009526471816567941920839890165837720980603155400891659772465700489773107330509136119890078768185759133059778083982468657131452788805062315862347658808270813400861566840087713628026369998140637231540956077966459314896667497664055527088131562648835710534050301831763962989139243310183410959194243500467596515465814414176011429200911672555103281941024363752081361513077484336123 94875247622012354772803795938853734019448550014727970598191256371555719653645959349099828253738193772054116277550578224856639385978634333328235768465430784058367247582117795671104211782112220470266753730358033717365791734004694602588687319605663223580611809711710963638116582163906341424421482346397005013088123708168801852147460264112945739626133412259167308521927395338530786462096797355257502687997660741522325778478067767629849143108947526873012447259579247860587728434085363810874258564811963154976215914794170669921098048659472617299065193598542220659558931663290877615520476763909585795895421594101941581789434005283789028467976297739162779515656252472699220944920070049509463674991710069253278950981616840600666612908950669473872653816168796357895084613249236950284337457168774013537541051181768115338518081383984086927051056450502819969906671625103173947962175188706610145744232889806441285744426386124180268008014366172953993955651932530132472035378246199268284951017835228216299676191746035537372686297971402132380937995775781950950485383382599298728769803329792351391629045501112366561064737581361510920795809858010283228099777098376692759479605666674117737334670401028098244508282921745951115336311636988123752546391945405678462889910983120772345410069887194658898603949086409505764725533221234906644652613048411207872301875594582924208758681313711982437251846309785112681598355661932719143439621808184164106267066803272252944154183319263113545497834972430153741096645313471659529061796969466180584589454677539413913984712056456995969589774735843484807107895798025878193204270635895544151511950853505913451129390064426518780338783592025723497959598291031358267813667004236529523197109678779041880833130843471586766999426375275030516725337487793848893259777085961675796403819729327967792491485351816953249571021840817599071447487363107968816464225276474349989669063543399736793110231206078480735289986206559662009384999949073924886189500215686637565269317210021160783448229531608178497220524771919541857949101481416129942982660837207764704546009928047331735577357592846989851048046251500568051036220217663481851879938870830824285882133192056508988748683966972989572853981786733207802584380202507261076288519205243881410399101606434900509407367661731000007413632288830092039217951406496625647939833493013391184210382031479278429527338479991546782526731805622424502850009108977938497729672221365692112716819667714351567471246933112173731395858479741721453733691385839843628672776964085495090044392681362659672294487631998452507926223407914617504424585496756756684537603935408477139552509353173150769558986254167222913414039085360253880609677663938404527140670246786964364907011715559244663445457875609727927210019294194515299668474763255963684974186627609155568665353836078611896291704817389532511420907947168485502219342061392998955583017434687404960624740615555392387462916474332353851836898089766258882603964315066416756764297938501733857086444624760561300965496469663462721021024488139175854752798379974136779682994731541175581195967986642569045443027308858113896013546877052906366975959762886770687212029636946657447439335258033407296060615757688226406155963765640248853213010629350483381221450705272759863124906833902069751464236743976195596946209258492727438422779102770037936296244381331343657666355476239159129143939245696563249634126686308761829687083779299438033889625135913227682823999542599 153511375343478626392192102691599031824182899970551014912881897706486795290467972407257272247969943733374106209328572632658688562571381025819784154613059712442687049253750877646603910925801197835856820194659723494410074157657378121815532297838060527120673060028841973793696841391395984832346038303364566285111847870759786648159307110054525966711488109864683784242120968940559097542352917974770458228459125872617165049103073821889318306537497549360592421732922716179753992941053702062304530965354408551542633484280375576293791384418871634431170307010374723172440515010774155487901815047954914204194274647393585815234260728953408673792224804197707693103598440551312366649553587243066615074707924494087329169536745968267404539847613842180561676861777709712988201271559936919056015673527736774397418802600995445937925620496217866049684053177099133532615869606302531530651224437880684661795036387608423831317491362556179893581796472394235580496247439290721606363030980069408697611847914489878019784019186922662201643030365255121600970463660441119439968922550469314986700252764766167155427189346941662265190535446223000765060399452149923374273755719338775508034570423653423228661245549245507573904224152225253430463079902357013218067530158988076164426479968556122759524068174330499558850659375841788508465027856985665265310941699343868487879544820487053796486680900440396751092800624875974675385910948482734450537101581538609327906925114953429576036998553150550354870457556583807611744296019614059877701689404868699313249521766568899477872473344659314741765212470673976215077477426382147192061535549766535676704141957643436942911706239187516839553002374588728997297008932740079382346642364609490449257597170131983240719835663081209748697462149000428931340957314204135783780623942544134293137340185067968099997272455537963076107350037607722276036219723742909761495015413426569291275406488755508745341235762175610093591613428216689858881756940535144718819006280712481480731116330532376235144226335066730451361470523701071873136022741562917321836875697550628030034396686952002606084301616576268429777009573149158742182260399172897657388974847292291944796372508609242904415344721758131111691301827034970703377021546507594603323580809225297159574585467805123754136224285600419788449590858141085931837339146568061000124703528283460327075683464464625260785045695231379334619201530230846676982425722249069739342786664100340984992486485472889904269255673497130697849726291711799588137856898742034163986437380856939492423298407393486022866742087876896517211498251468829724121397662868517042609478982011803884616002428532565345719700052501986047277525284772381838776768161691757945837557974455554166365969249068892487897164741026187295972149151197379782645595123132885043593659801778053337078551908230344127704042481238383559711456711197679507925997044005462827835454574321984424281016739566941686999597297232536675750003811443968728846662830501616335866372286732816395865720174892580848973756338816322301121058071447603681120903266296318153448328572155683590722439803210510966282917474695834876616702277944566139441660252659878017721165756836736215625094391093185380043084414819679194961026081502596512021281442751344948061538418900786233123047471133610707542203203291092264443873314019815569985427938480571986598076145294332796909665659650118323387439713293078715448540862320191030598756334402719974913988887994589195901483878722 248386622965490981164995898630452765843631449985278985511073154078042514944113931756357100501708137505428222486879150857515327948550015359148019923078490496501054296835868673317708122707913418306123573925017757211775865891662072724404219617443723750701284869740552937431813423555302326256767520649761571298199971578928588500306767374167471706337621522123851092764048364279089884004449715330027960916456786614139490827581141589519167449646445076233604868992501964040341721375139065873178789530166371706518849399074546246214889433078344251730235500608916943831999446674065033103422291811864500000089696241495527397023694734237197702260201101936870472619254693024011587594473657292576078749699634563340608120518362808868071152756564511654434330677946506070883285884809173869340353130696510787934959853782763561276443701880201952976735109627601953502522541231405705478613399626587294807539269277414865117061917748680360161589810838567189574451899371820854078398409226268676982562865749718094319460210932958199574329328336657253981908459436223070390454305933068613715470056094558518547056234848054028826255273027584511685856209310160206602373532817715468267514176090327540965995915950273605818412507073971204545799391539345136970613922104393754627316390951676895104934138061525158457454608462251294273190561078220571909963554747755076360181420415069978005245362214152379188344646934661087356984266610415453593976723389722773434173991918225682520191181872413663900368292529013961352840941333085719406763486374334879897838976444108313391857185401116310711354987206517461022185373224408025385265806185662079828216092811149350394041096303614035619891785966614452495256607223771437650160309368846019972454706848911025121552966506552796515696888524275459448066294801997984677040401028505810089541159914395935892488757807354916325678371878425321347483707086850878577959240689900919280944470032155245538451466968254090828881599634776351868266756889609069605008506496399119046000433540553537018592455866674908948581995295620613731085124222979047264819536534758392734580406614999334341661659209423258280825055824649726793218480616836379509268913718123116230678505700665751893164028688731120684545283613768178505961401749014855679612100014469178569973687074240024263543591947331419795863223146971177971055290553064686648064537021296851511286065495943903690312384175222926117145933335853271179832434831227008237072458885466033097709306153187241471740502606609304429245584771453521041871548284581877792659214344942434582467691088756145695161229719875349025137721659383447228545983159625273727147082917420281024168511781705716115278686306669208960691564370132635719386445825630162472978228221242518531272980964628137151342622616635915223182168445391895082314069886388848728567846429387208905743905744308956023995747298627916071132364658366165010145339105398461783418472009009389384905757355122334074462513771564890527586901901210227611450627145568033092630670225234550252952164799653142149939252808479785022142082559586779535873701646270454933131323303696859171918407789853080011725944783553948772630249154997472506417620015546648704933195393783393663064429649126592676103700172507905601116989847142845365234292072101828329282989124173546096247954305035680459006439947267287861390082572512543008408207041250609922894320526625676454576021135889277452531378958989641965082667548628952860285840113702158008803614023907816878725483421321 401897998308969607557188001322051797667814349955830000423955051784529310234581904163614372749678081238802328696207723490174016511121396384967804077691550208943741346089619550964312033633714616141980394119677480706185940049319450846219751915281784277821957929769394911225510264946698311089113558953126137583311819449688375148466074484221997673049109631988534877006169333219648981546802633304798419144915912486756655876684215411408485756183942625594197290725424680220095714316192767935483320495520780258061482883354921822508680817497215886161405807619291667004439961684839188591324106859819414204283970888889113212257955463190606376052425906134578165722853133575323954244027244535642693824407559057427937290055108777135475692604178353834996007539724215783871487156369110788396368804224247562332378656383759007214369322376419819026419162804701087035138410837708237009264624064467979469334305665023288948379409111236540055171607310961425154948146811111575684761440206338085680174713664207972339244230119880861775972358701912375582878923096664189830423228483537928702170308859324685702483424194995691091445808473807512450916608762310129976647288537054243775548746513980964194657161499519113392316731226196457976262471441702150188681452263381830791742870920233017864458206235855658016305267838093082781655588935206237175274496447098944848060965235557031801732043114592775939437447559537062032370177558898188044513824971261382762080917033179112096228180425564214255238750085597768964585237352699779284465175779203579211088498210677212869729658745775625453120199677191437237262850650790172577327341735428615504920234768792787336952802542801552459444788341203181492553616156511517032506951733455510421712304019043008362272802169634006264394350673275888379407252116202120460821024971049944382678500099463903992486030262892879401785721916033043623519926810593788339454256103327488572219876520910754283792702730429700922473213062993041727148513830144214323827512777111600526731549871085913253736682201741639399943465819321685604221146964541964586656412232309020764614803301951336947745960825999526710602065397798885535400741016009277166657888565415408175474878209274994797579373410489251796236585440803149209338423295522450282935680823694475729548272542045148017679816232931839584312814005112263902892629699632747648189240549580311838361748960408528951097429870454305451765134866084117856814860553476077976415245549566374082701792638660131376009758280106435127095311063165320630009405183323911956645651725799374074890989496149631718027971807752245542349219910852276952667380822493790769756561899432084908784514210238281460998386359171195007969089654905017558163213987321920418815786195698072697638950213697029639239787357662102519154317596589274864959665009521733772161506231165262242822457652539300151699789779866299630843821369563844518071336149403924611253926583331373809186774094689275761462111068797427203336905712654196340297289976069649428497042511967366648817884974545722998913009147296107323263140631034383216994604912566773086579651875852542762640847593063590978008862258249783649246951432942038645859280268206526722654361150620129878689524040219778056146784587327584796078015928645441877255573514853173277344527543074332329371001776169291166548643150558380125833955886532358578393634979731181909492396671920009251485686795539395775918818672282720680531208410949143890884596448104877983717602911902406074626967300043 650284621274460588722183899952504563511445799941108985935028205862571825178695835919971473251386218744230551183086874347689344459671411744115824000770040705444795642925488224282020156341628034448103968044695237917961805940981523570623971532725508028523242799509947848657323688502000637345881079602887708881511791028616963648772841858389469379386731154112385969770217697498738865551252348634826380061372699100896146704265357000927653205830387701827802159717926644260437435691331833808662110025687151964580332282429468068723570250575560137891641308228208610836439408358904221694746398671683914204373667130384640609281650197427804078312627008071448638342107826599335541838500901828218772574107193620768545410573471586003546845360742865489430338217670721854754773041178284657736721934920758350267338510166522568490813024256621772003154272432303040537660952069113942487878023691055274276873574942438154065441326859916900216761418149528614729400046182932429763159849432606762662737579413926066658704441052839061350301687038569629564787382532887260220877534416606542417640364953883204249539659043049719917701081501392024136772818072470336579020821354769712043062922604308505160653077449792719210729238300167662522061862981047287159295374367775585419059261871909912969392344297380816473759876300344377054846150013426809085238051194854021208242385650627009806977405328745155127782094494198149389354444169313641638490548360984156196254908951404794616419362297977878155607042614611730317426178685785498691228662153538459108927474654785526261586844146891936164475186883708898259448223875198197962593147921090695333136327579942137730993898846415588079336574307817633987810223380282954682667261102301530394167010867954033483825768676186802780091239197551347827473546918200105137861425999555754472219660013859839884974788070247795727464093794458364971003633897444666917413496793228407853164346553065999822244169698683791751354812697769393595415270719753283928836019273510719572731983411639450272329138068416548348525461114942299335306271187521011851475948767067413499195209916950671289407620035422784991427121222448612328619221632845656675926802283538524406153383909940746690743402099220372480781869054571327715299825044537305962547780838163654299521959616285172281223408180263259380176037152083441873947920252697434296253777570877163349647814456352432641409814045677231568911068201937389036647295384703086213487704435032407180411098791847372847750260886715739556340895834618841671880953467905789749304866070741808657358680584905777413189201527627594567486941570235724181213363982119064496903644816852365932953025991943997576277072665840403968660654025037653277549659812952082891794014416940591228911931178325166790582409974298017742336486041981169947273734895910582500729352660552471148566363396848256175695537078494215701976186027930009528216675254802386394672398592340763194092531449811609835924624840362317730923807613864423951747917121637682521127712737201916901770049774198865148852261955775892345405223190621162752868306558837228019710975179549401934559255382916670989734807041803732421877200587939511152276900283753175427587556544403523541753953689346370732250484759835490397195005775788287242489865586955001606627516667247878425618956081204971625555083097825667987224038459044901586801842020981791832386717198545685706061707931428673228450197631272362645613875959578096751170436561807035992521216935810222953352450721364 1052182619583430196279371901274556361179260149896938986358983257647101135413277740083585846001064299983032879879294597837863360970792808129083628078461590914388536989015107775246332189975342650590084362164372718624147745990300974416843723448007292306345200729279342759882833953448698948434994638556013846464823610478305338797238916342611467052435840786100920846776387030718387847098054981939624799206288611587652802580949572412336138962014330327421999450443351324480533150007524601744145430521207932222641815165784389891232251068072776024053047115847500277840879370043743410286070505531503328408657638019273753821539605660618410454365052914206026804064960960174659496082528146363861466398514752678196482700628580363139022537964921219324426345757394937638626260197547395446133090739145005912599717166550281575705182346633041591029573435237004127572799362906822179497142647755523253746207880607461443013820735971153440271933025460490039884348192994044005447921289638944848342912293078134038997948671172719923126274045740482005147666305629551450051300762900144471119810673813207889952023083238045411009146889975199536587689426834780466555668109891823955818611669118289469355310238949311832603045969526364120498324334422749437347976826631157416210802132792142930833850550533236474490065144138437459836501738948633046260512547641952966056303350886184041608709448443337931067219542053735211421724621728211829683004373332245538958335825984583906712647542723542092410845792700209499282011416038485277975693837932742038320015972865462739131316502892667561617595386560900335496711074525988370539920489656519310838056562348734925067946701389217140538781362649020815480363839536794471715174212835757040815879314886997041846098570845820809044485589870827236206880799034402225598682450970605698854898160113323743877460818333140675129249815710491408594523560708038455256867752896555896425384223073976754106036872429113492673828025760762435322563784549897498252663532050622320099463533282725363526065820270158187748468926934263984939527418152062976438132360999376434263810013218902008237153580861422311702029186620247497864019962648854933842584690848953932581628262119215741488322775509709624277018454495374476924638248340059756245483461661858130029070232158330320298903224413195098964488851157195705776840549952330181944443018120457475188009563416760961592507243916131537020676203068021506893462155938179164189902949984598781263112891430507504223760019166822174683436206897784162301890358651229701705950517796541182732249670081055409131217173335379840109836161481088001133880744804612855266660206716284450841737540202182279037275459025011598976629743679942670835712873800274003310609800612638663926550881392022196429822197331960120261490803638570444812233399905432316272890858891717733391388821049387556327395326858360515332820007397493854046288011404206311005926325175672137003279305544500885597386735909159744934260713326518620292045207097707331949624755249169283550587934748744588147765271103071999668668363821655545969862911471404001106290627055401944697200102975980261967743669300053516071124152020881549798136180551959702150241917695023653420443477729566148788397269347163075193273021704433729119745439101808174883972044210322210754989957857374262792103726248384048113057994345577260165195477000712973741879113870465694957547394726968069004369016303555083326145084370527240642055033009911913976238819847712629027979418021407 1702467240857890785001555801227060924690705949838047972294011463509672960591973576003557319252450518727263431062381472185552705430464219873199452079231631619833332631940595999528352346316970685038188330209067956542109551931282497987467694980732800334868443528789290608540157641950699585780875718158901555346335401506922302446011758201000936431822571940213306816546604728217126712649307330574451179267661310688548949285214929413263792167844718029249801610161277968740970585698856435552807540546895084187222147448213857959955821318648336161944688424075708888677318778402647631980816904203187242613031305149658394430821255858046214532677679922277475442407068786773995037921029048192080238972621946298965028111202051949142569383325664084813856683975065659493381033238725680103869812674065764262867055676716804144195995370889663363032727707669307168110460314975936121985020671446578528023081455549899597079262062831070340488694443610018654613748239176976435211081139071551611005649872492060105656653112225558984476575732779051634712453688162438710272178297316751013537451038767091094201562742281095130926847971476591560724462244907250803134688931246593667861674591722597974515963316399104551813775207826531783020386197403796724507272200998933001629861394664052843803242894830617290963825020438781836891347888962059855345750598836806987264545736536811051415686853772083086195001636547933360811079065897525471321494921693229695154590734935988701329066905021519970566452835314821229599437594724270776666922500086280497428943447520248265392903347039559497782070573444609233756159298401186568502513637577610006171192889928677062798940600235632728618117936956838449468174062917077426397841473938058571210046325754951075329924339522007611824576829068378584034354345952602330736543876970161453327117820127183583762435606403388470856713909504949773565527194605483122174281249689784304278548569627042753928281042127797284425182838458531828917979055269650782181499551324133039672195516694364813798394958338574736096994388049206284274833689339583988289608309766443847763005223135852679526561200896845096693456307842696110192639184281700590518511493132492456987781646029156488179066177608929996757800323549945804639938073384597062208031242500021784328592191774615492580126632593458358344664888309279147650788470205027616240696795691334638537657377873113394233917057961808768589587271269958895930109451322882250403390654419631188443523990222354877071510280053537914239777102732403003973771312119135491455255383867282991389608350665961186544406374863007434677323103051323725315094108786731919763563851533136816774690566194126276613552531690852002945290397704980324113262533613226086202403815029579255155462812570347363220404607306258138003827289680551614759507134801342898773620211552270204539955184446235812503090863936854731034796193425423863574504686659008697400598723768012900197371836994312495433311360749522062665184520940383044243793124219345014470752467986371200452357984522943453296617533058847892014073587012276708722731218030241229126001602234951346631759358358896932957478476341857248493001352608821060950413080835712877577829474239427176962197431418912519520647754106998565590468027480222016362235304688763176490599560877570089180608913938579234417658809346209716100282032804622161751997319021694765574265831069011380663609102658396742232819213934827445971758960330105337393225469571718949968760036783522851981331868742771 2754649860441320981280927702501617285869966099734986958652994721156774096005251316087143165253514818710296310941676070023416066401257028002283080157693222534221869620955703774774684536292313335628272692373440675166257297921583472404311418428740092641213644258068633368422991595399398534215870356714915401811159011985227641243250674543612403484258412726314227663322991758935514559747362312514075978473949922276201751866164501825599931129859048356671801060604629293221503735706381037296952971068103016409863962613998247851188072386721112185997735539923209166518198148446391042266887409734690571021688943168932148252360861518664624987042732836483502246472029746948654534003557194555941705371136698977161510811830632312281591921290585304138283029732460597132007293436273075550002903413210770175466772843267085719901177717522704954062301142906311295683259677882758301482163319202101781769289336157361040093082798802223780760627469070508694498096432171020440659002428710496459348562165570194144654601783398278907602849778519533639860119993791990160323479060216895484657261712580298984153585825519140541935994861451791097312151671742031269690357041138417623680286260840887443871273555348416384416821177352895903518710531826546161855249027630090417840663527456195774637093445363853765453890164577219296727849627910692901606263146478759953320849087422995093024396302215421017262221178601668572232803687625737301004499295025475234112926560920572608041714447745062062977298628015030728881449010762756054642616338019022535748959420385711004524219849932227059399665960005509569252870372927174939042434127234129317009249452277411987866887301624849869156899299605859264948537902453871898113015686773815612025925640641948117176022910367828420869062418939205820241235144987004556335226327940767152182015980240507327639896424736529145985963725215441182160050755313521577431149002586340200703932792701019508034317914556910777099010864219294264240542839819548280434163083374755359771659049977090177324460778608732923845463314983470269214361107491646964727740670765820282026815236354754687763714781758267408395485494462943608056659146930555524361096183981446389569409908148372229667388953118639621034818778045320281564576321724656818453514704161879914357662423932945812879029857006653457309153739466474853427629020157357798185139813811792113725666941289874355826424301877940305610263474337980402823571607261061414593293604404229969706636881652862381295270299220360088923213309630187166275661670770365193161205901663824174121858020747016595675623548198387274787159264532411726448974853591344775030224058249421267616428106396308555650827990715863601921920141384922994948975407413500089513013615642217919082013693962369559650226804638218258265318093319122059571740534706775215046511070443987937931344005495623368830486190795215246367616200822917717620792698063215008406525048943685037200651142538813381030698096658681807599445234266901664535838331317052346420377223235540484002945919271688041444382804161919891682741950833932254692594129501645230232292229290353291328959461334877194925222145641910764564125504629702610748549261387672579728071391934450830382640909148478668309045023454161640783741049184655745481980743790571351374571605087892299935598871795953497209762535594593764213340027150199421917192796022407739316144944939477075621156497385364811237188230238382529297904044700632578035280502581630863944998856631235481009311286764178 4457117101299211766282483503728678210560672049573034930947006184666447056597224892090700484505965337437559742004057542208968771831721247875482532236924854154055202252896299774303036882609284020666461022582508631708366849852865970391779113409472892976082087786857923976963149237350098119996746074873816957157494413492149943689262432744613339916080984666527534479869596487152641272396669643088527157741611232964750701151379431238863723297703766385921602670765907261962474321405237472849760511614998100597086110062212105811143893705369448347942423963998918055195516926849038674247704313937877813634720248318590542683182117376710839519720412758760977688879098533722649571924586242748021944343758645276126538923032684261424161304616249388952139713707526256625388326674998755653872716087276534438333828519983889864097173088412368317095028850575618463793719992858694423467183990648680309792370791707260637172344861633294121249321912680527349111844671347996875870083567782048070354212038062254250311254895623837892079425511298585274572573681954428870595657357533646498194712751347390078355148567800235672862842832928382658036613916649282072825045972385011291541960852563485418387236871747520936230596385179427686539096729230342886362521228629023419470524922120248618440336340194471056417715185016001133619197516872752756952013745315566940585394823959806144440083155987504103457222815149601933043882753523262772325994216718704929267517295856561309370781352766582033543751463329851958480886605487026831309538838105303033177902867905959269917123196971786557181736533450118803009029671328361507544947764811739323180442342206089050665827901860482597775017236562697714416711965370949324510857160711874183235971966396899192505947249889836032693639248007584404275589490939606887071770204910928605509133800367690911402332031139917616842677634720390955725577949919004699605430252276124504982481362328062261962598956684708061524193702677826093158521895089199062615662634698888399443854566671454991122855736947307659942457703032676553489194796831230953017348980532264129789820459490607367290275982655112505088941802305639718249298331212256114879607677113938846557191554177528717846455130727569617792619101595266086204514395109253880661545946661901698686254615707561305459156489600111815653818627775754001078417490362385414425836609503126752263324319162987750060341359839749074199850745607939298753681058583943664996684258823861158150160871875217258366780579273898003162990412362590170249432982889500684616461285531107165511466371412977782220029923061394709464482367583735451764068962378076694793787909782558084391118672590434832264380522406715604867210539089903319062237941026726175715417430671797174237476506532716922870631411944476396269145382999673674331247669508118113820131281996258142471299189941859181333577054732069977402412394248341581195297384722223705807123772711697937398022979533125876464009457408203870264629755207284708779631455536397360891129691221911684455303903794631494741000337220767783696815537846208963415325347531886459358293831525304637960718819693774127882700621983768013057126857238523671698962342223385457305900866173878007344838340567391187829692777561160206374209076664877761844216048479334527865171165965462389116207785734532731627421344940803480313622059954821583669190115044102504890410776008488456284765600043761553470007444173209975269663005030737915428505972153349813913758893414758332990643155506949 7211766961740532747563411206230295496430638149308021889600000905823221152602476208177843649759480156147856052945733612232384838232978275877765612394618076688277071873852003549077721418901597356294733714955949306874624147774449442796090531838212985617295732044926557345386140832749496654212616431588732358968653425477377584932513107288225743400339397392841762143192588246088155832144031955602603136215561155240952453017543933064463654427562814742593403731370536555183978057111618510146713482683101117006950072676210353662331966092090560533940159503922127221713715075295429716514591723672568384656409191487522690935542978895375464506763145595244479935351128280671304105928143437303963649714895344253288049734863316573705753225906834693090422743439986853757395620111271831203875619500487304613800601363250975583998350805935073271157329993481929759476979670741452724949347309850782091561660127864621677265427660435517902009949381751036043609941103519017316529085996492544529702774203632448394965856679022116799682275289818118914432693675746419030919136417750541982851974463927689062508734393319376214798837694380173755348765588391313342515403013523428915222247113404372862258510427095937320647417562532323590057807261056889048217770256259113837311188449576444393077429785558324821871605349593220430347047144783445658558276891794326893906243911382801237464479458202925120719443993751270505276686441149000073330493511744180163380443856777133917412495800511644096521050091344882687362335616249782885952155176124325568926862288291670274441343046904013616581402493455628372261900044255536446587381892045868640189691794483501038532715203485332466931916536168556979365249867824821222623872847485689795261897607038847309681970160257664453562701666946790224516824635926611443406996532851695757691149780608198239042228455876446762828641359935832137885628705232526277036579254862464705686414155029081769996916871241618838623204566897120357399064734908747343049825718073643759215513616648545168447316515556040583787921018016146822703555904322877917745089651298084411816635695845362055053990764413379913484427296768583326305957478142811639240703861095385236126601462325900947513844083846209238827437879640586367769090716833910699115060650823781613043917039640507118338186346606765272962972367242228854506046510519743212610976423314918865988991260452862105886765661717689379810114219945919701577252665845005079589977863228091127856797753528079639662050878494258092086203721992777336525094653659865877777667187194931339633324392159994377895653471259781984251641632116147178213043815969421469824011968031979352007546778986743387915208513122579206789130680474826314011213348440226265228431046314015093319490200495086482520858216582694654534463476318795733902988204214893328866642352440246080402643195437482550164063245527285223770028595071259298816090082785438714213648821655382974598674122071939257494707554066885677864074989474186373315469786853449707311506914457452168458249823066319536185383141382687675379557488680141218107919477033531689590586060815657929289678281028651322807922767625678777621252361868226282447511603611058037033972258108328837727479249715869856138737801015321847157950125849533507326196792269905879239742771053354689051806657530486228837183880535397244526962087105021005586382911066510244206555720947965531905922097429126364707195674411592504567567049731370493463786474734980677858757750045993813999954442271127 11668884063039744513845894709958973706991310198881056820547007090489668209199701100268544134265445493585415794949791154441353610064699523753248144631542930842332274126748303323380758301510881376961194737538457938582990997627315413187869645247685878593377819831784481322349290070099594774209362506462549316126147838969527528621775540032839083316420382059369296623062184733240797104540701598691130293957172388205703154168923364303327377725266581128515006402136443817146452378516855982996473994298099217604036182738422459473475859797460008881882583467921045276909232002144468390762296037610446198291129439806113233618725096272086304026483558354005457624230226814393953677852729680051985594058653989529414588657896000835129914530523084082042562457147513110382783946786270586857748335587763839052134429883234865448095523894347441588252358844057548223270699663600147148416531300499462401354030919571882314437772522068812023259271294431563392721785774867014192399169564274592600056986241694702645277111574645954691761700801116704189005267357700847901514793775284188481046687215275079140863882961119611887661680527308556413385379505040595415340448985908440206764207965967858280645747298843458256878013947711751276596903990287231934580291484888137256781713371696693011517766125752795878289320534609221563966244661656198415510290637109893834491638735342607381904562614190429224176666808900872438320569194672262845656487728462885092647961152633695226783277153278226130064801554674734645843222221736809717261694014229628602104765156197629544358466243875800173763139026905747175270929715583897954132329656857607963370134136689590089198543105345815064706933772731254693781961833195770547134730008197563978497869573435746502187917410147500486256340914954374628792414126866218330478766737762624363200283580975889150444560487016364379671318994656223093611206655151530976642009507138589210668895517357144031959515827926326900147398269574946450557586629997946405665488352772532158659368183320000159570172252503348243730378721048823376192750701154108870762438631830348541606456155335969422344266747068492418573369099074223044555255809355067754120311538209324082683793016503429665360299214573778856620056981235852453973605111943164579776606597485683311730171655348068423797342836206877088616790995017982855584464000882128627036813032818045618252315579615849855947107021557438454009964965553859000330933724428948744586662122051952286006958625403296898028831457768156095249194134355367506774527636549366562394128472726038505144790763572972160115683394321176693716123999699882629977112778347498164617799877814537436398665451577178220179589035529294811656341219564729633073451289466952440943848476985812267556966707027803405391489628527171050803608859318469408234235873723011442686773634436504222873942385379341731497640300259355201172440989319600880011387467507662420020772594367080911996697101605065133958717011475089548128704744681471082095101242389847068202636605679363852913553726860951030926383478603455459076373026526350181523244824565418148948879892340962567250397100722425450690623389609446790678379219106749954146473945834443494339873124282206845072317590283261043968430578576482053532159202514411269170412840749240407104913937018817078168014443265018960464605225476200724840584147059842589255573026110612749096966496956453988190687697472887918177203118584802479837230054762108408892292446888330491772516643460752146990597597778076 18880651024780277261409305916189269203421948348189078710147007996312889361802177308446387784024925649733271847895524766673738448297677799631013757026161007530609346000600306872458479720412478733255928452494407245457615145401764855983960177085898864210673551876711038667735430902849091428421978938051281675094801264446905113554288647321064826716759779452211058766254772979328952936684733554293733430172733543446655607186467297367791032152829395871108410133506980372330430435628474493143187476981200334610986255414632813135807825889550569415822742971843172498622947077439898107276887761283014582947538631293635924554268075167461768533246703949249937559581355095065257783780873117355949243773549333782702638392759317408835667756429918775132985200587499964140179566897542418061623955088251143665935031246485841032093874700282514859409688837539477982747679334341599873365878610350244492915691047436503991703200182504329925269220676182599436331726878386031508928255560767137129759760445327151040242968253668071491443976090934823103437961033447266932433930193034730463898661679202768203372617354438988102460518221688730168734145093431908757855851999431869121986455079372231142904257725939395577525431510244074866654711251344120982798061741147251094092901821273137404595195911311120700160925884202441994313291806439644074068567528904220728397882646725408619369042072393354344896110802652142943597255635821262918986981240207065256028405009410829144195772953789870226585851646019617333205557837986592603213849190353954171031627444489299818799809290779813790344541520361375547532829759839434400719711548903476603559825931173091127731258308831147531638850308899811673147211701020591769758602855683253773759767180474593811869887570405164939819042581901164853309238762792829773885763270614320120891433361584087389486788942892811142499960354592055231496835360384057253678588762001053916355309672386225801956432699167945738770602836472066807956651364906693748715314070846175917874881799968545328017488768059388827518299739064970198896306605476986788507528283128432953423091851181331477398257511481872332057796395842806370861213287497879393361015399304709318810394478829330612874143298419988095447494860876438821742695828777075278891667248309464924774088694988575542135529182813642361579763362260211710090510511401871839647789456132964484241306840068711961833872683275127833820079185499778701908186390273953824176639985280043413863756378931376537690882336262414187335397856348144843299622290209232440171795659920969844778115155732966538011336865580958677967765631816029808190156594316919634441811845846516788406212230563921608094797548651874018445471900039555947084664637907178706172279523299827360876456907522889887912347845109865705338072335637265142137224077937904771553415986876750303276585580816824281661703545786640424942469584390860178827477550293101134234421416022463886595371223677004391453424565541975225992779734155657455410571029243296775514143520136816021371803549927270567111766619986143134455930515206491399631164301598949838539465953156620496540075381751076773498546157235125568299631580974976236593985549445501531373845382390535682799796839999130900107168379591803900690109328363944776496609633019146286344656708072171767219821100795505189301789106011597969367546234164863594841955937177122993303522217904419520096609794902014282884398792996394984404797104493478902356078921623311169631274393506745960990552040049203 30549535087820021775255200626148242910413258547070135530694015086802557571001878408714931918290371143318687642845315921115092058362377323384261901657703938372941620127348610195839238021923360110217123190032865184040606143029080269171829822333584742804051371708495519990084720972948686202631341444513830991220949103416432642176064187353903910033180161511580355389316957712569750041225435152984863724129905931652358761355390661671118409878095976999623416535643424189476882814145330476139661471279299552215022438153055272609283685687010578297705326439764217775532179079584366498039183798893460781238668071099749158172993171439548072559730262303255395183811581909459211461633602797407934837832203323312117227050655318243965582286953002857175547657735013074522963513683813004919372290676014982718069461129720706480189398594629956447662047681597026206018378997941747021782409910849706894269721967008386306140972704573141948528491970614162829053512653253045701327425125041729729816746687021853685520079828314026183205676892051527292443228391148114833948723968318918944945348894477847344236500315558599990122198748997286582119524598472504173196300985340309328750663045340089423550005024782853834403445457955826143251615241631352917378353226035388350874615192969830416112962037063916578450246418811663558279536468095842489578858166014114562889521382068016001273604686583783569072777611553015381917824830493525764643468968669950348676366162044524370979050107068096356650653200694351979048780059723402320475543204583582773136392600686929363158275534655613964107680547267122722803759475423332354852041205761084566929960067862681216929801414176962596345784081631066366929173534216362316893332863880817752257636753910340314057804980552665426075383496855539482101652889659048104364530008376944484091716942559976539931349429909175522171279349248278325108042015535588230320598269139643127024205189743369833915948527094272638918001106047013258514237994904640154380802423618708076534249983288545487587661020562737071248678460113793575089057306631095659269966914958781495029548006517300899742524258550364750631165494917029415416469096852947147481326937514033401494187495332760278234442512993766952067551842112291275716300940720239858668273845795148236504260350336643965932872019020519450196554357278194565674974512284000466684602488951010102493622419684561817780979704832566287830044151053637702239120114702902568763302107331995699870715004334673435719713794030570282584591990703512350074149926758599002565924132647008349922905919305938698127020259902135371683889631515912438167269372664417799059611723661054224804877682141099828274386584181168830101813119604285580158115927374131147116128000285639628433423614550693293303837473637036756141681194955734550371459951660916214240189621313254526150527966196166013159343846045995626114910573710461058838865017800763554255194010389544798592068325282069525412141577017064774121484478837128537505672271633143843716780125816179874285357276788221598038150098589598593532303541732841581154409126164367987488345845497583063790472482473502224189169546844572358978010800081726190740459495279945025713718506672742527872114430282391944075598958168285954222268530878356045667022473768386693449570645090988845387835544060524149766394331487798694208130381224706184097528963287735742400488714860873508287297492374902201061601911581197464242027159255587311248371368511641661403791036967498107981149637827279 49430186112600299036664506542337512113835206895259214240841023083115446932804055717161319702315296793051959490740840687788830506660055123015275658683864945903550966127948917068297717742335838843473051642527272429498221288430845125155789999419483607014724923585206558657820151875797777631053320382565112666315750367863337755730352834674968736749939940963791414155571730691898702977910168707278597154302639475099014368541857959038909442030925372870731826669150404561807313249773804969282848948260499886826008693567688085745091511576561147713528069411607390274155126157024264605316071560176475364186206702393385082727261246607009841092976966252505332743392937004524469245414475914763884081605752657094819865443414635652801250043382921632308532858322513038663143080581355422980996245764266126384004492376206547512283273294912471307071736519136504188766058332283346895148288521199951387185413014444890297844172887077471873797712646796762265385239531639077210255680685808866859576507132349004725763048081982097674649652982986350395881189424595381766382654161353649408844010573680615547609117669997588092582716970686016750853669691904412931052152984772178450737118124712320566454262750722249411928876968199901009906326492975473900176414967182639444967517014242967820708157948375037278611172303014105552592828274535486563647425694918335291287404028793424620642646758977137913968888414205158325515080466314788683630450208877015604704771171455353515174823060857966583236504846713969312254337897709994923689392394937536944168020045176229181958084825435427754452222067628498270336589235262766755571752754664561170489785999035772344661059723008110127984634390530878040076385235236954086651935719564071526017403934384934125927692550957830365894426078756704335410891652451877878250293278991264604983150304144063929418138372801986664671239703840333556604877375919645483999187031140697043379514862129595635872381226262218377688603942519080066470889359811333903096116494464883994409131783257090815605149788622125898766978199178763773985363912108082447777495198087214448452639857698632377140781770032237082688961890759835786277682384350826540842342336818742720304581974162090891108585811413755047515046702988730097458996769497315137559941094104613161278349045325219508068401201834161811776317719538406275765485023685872306332391945083974586734929259753273779614852388107694121650123336553416404147306504976856392939942092612039113734471383266049973410596130292984469919989847051657193373772216967831442737719792567978194701021075038905236138357125483094049651655263331942246357425966981337433501423569507571013211089912705021436369184132833042848547285019643841527242780565281309853288407523585466989309880522073583181216185318746902461479753530592999692508684029598820985793605608190004829427113547012990294821047391832636051057380158101321237666342568093864688489615426412008685187439548959073916865566142559040000114264212992785992916243300876440619230923645952995895657160826715492165149916718575741727988234056939332980785573427763317826027811798654203560330547864224578997687715704079697927277642381056702427334445044725446557087563889063278210671911270281522844182767337760089854912377859242300822163632106787532979794227353163160612607656644856029339068183437499396663575676615389569778939484900464858735704010932765293028383907287276916483946000704577592448646824263749066213604450290134952831035065430474244068971701677876482 79979721200420320811919707168485755024248465442329349771535038169918004503805934125876251620605667936370647133586156608903922565022432446399537560341568884276492586255297527264136955764259198953690174832560137613538827431459925394327619821753068349818776295293702078647904872848746463833684661827078943657536699471279770397906417022028872646783120102475371769544888688404468453019135603860263460878432545406751373129897248620710027851909021349870355243204793828751284196063919135445422510419539799439041031131720743358354375197263571726011233395851371608049687305236608631103355255359069936145424874773493134240900254418046557913652707228555760727927204518913983680707048078712171818919437955980406937092494069953896766832330335924489484080516057526113186106594265168427900368536440281109102073953505927253992472671889542427754733784200733530394784437330225093916930698432049658281455134981453276603985145591650613822326204617410925094438752184892122911583105810850596589393253819370858411283127910296123857855329875037877688324417815743496600331378129672568353789359468158462891845617985556188082704915719683303332973194290376917104248453970112487779487781170052409990004267775505103246332322426155727153157941734606826817554768193218027795842132207212798236821119985438953857061418721825769110872364742631329053226283860932449854176925410861440621916251445560921483041666025758173707432905296808314448273919177546965953381137333499877886153873167926062939887158047408321291303117957433397244164935599521119717304412645863158545116360360091041718559902614895620993140348710686099110423793960425645737419746066898453561590861137185072724330418472161944407005558769453316403545268583444889278275040688295274439985497531510495791969809575612243817512544542110925982614823287368209089074867246704040469349487802711162186842519053088611881712919391455233714319785300280340170403720051872965469788329753356491016606605048566093324985127354715974057476918918083592070943381766545636303192810809184862970015656659292557349074421218739178107047462113045995943482187864215933276883306028582601833320127385676865201694151481203773688323669274332776121798769469494851169343028324407521999582598545101021373175297710217554996228214939899761397782609395661863474001273220854681261972872076816600841440459535969872773016994434034984689228551679437835597395832092940260409480167487607054106386426619679758961703244199944034813605186387600723409130309924323554752504581837755169543447922143726430445303643925214986544623926994344843934265377385385229421335544894847854684524695339645755232561035293168625238015967594846121264643570717014211678649098139248127107400896492655441000404535523871106617743304136624276474520022792383939217621434725548734242880143981259737200033795229503259355577641513209156307980391237878631677172290731811782296505207585894628242744809436801553483779507874241143442277707719576104774235748691829914530421915572509584462947703771769175769942518103503713763188066817165340321520537598672174561939982553927685813516157644151786624121020346698081221876885250924270286255653181138428618074904540005391582801282395736020738544025700563914788258366295928375809134646390120656867830654580555919673243797998254149457995492188916553488834577768987195357783806996614275963037013863752594478104499647626166536671204779651818685007602616158789912888851423004653524852821658646594492438856467441742176952851315703761 129409907313020619848584213710823267138083672337588564012376061253033451436609989843037571322920964729422606624326997296692753071682487569414813219025433830180043552383246444332434673506595037797163226475087410043037048719890770519483409821172551956833501218878908637305725024724544241464737982209644056323852449839143108153636769856703841383533060043439163183700460419096367155997045772567542058032735184881850387498439106579748937293939946722741087069873944233313091509313692940414705359367800299325867039825288431444099466708840132873724761465262978998323842431393632895708671326919246411509611081475886519323627515664653567754745684194808266060670597455918508149952462554626935703001043708637501756957937484589549568082373718846121792613374380039151849249674846523850881364782204547235486078445882133801504755945184454899061805520719870034583550495662508440812078986953249609668640547995898166901829318478728085696123917264207687359823991716531200121838786496659463448969760951719863137046175992278221532504982858024228084205607240338878366714032291026217762633370041839078439454735655553776175287632690369320083826863982281330035300606954884666230224899294764730556458530526227352658261199394355628163064268227582300717731183160400667240809649221455766057529277933813991135672591024839874663465193017166815616873709555850785145464329439654865242558898204538059397010554439963332032947985763123103131904369386423981558085908504955231401328696228784029523123662894122290603557455855143392167854327994458656661472432691039387727074445185526469473012124682524119263476937945948865865995546715090206907909532065934225906251920860193182852315052862692822447081944004690270490197204303008960804292444622680208565913190082468326157864235654368948152923436194562803860865116566359473694058017550848104398767626175513148851513758756928945438317796767374879198318972331421037213783234914002561105660710979618709394295208991085173391456016714527307960573035412548476065352513549802727118797960597806988868782634858471321123059785130847260554824957311133210391934827721914565654024087798614838916009089276436700987971833865554600229166011611151518842103351443656942060451614135821277047097645248089751470634294479714870133788156034004374559060958440987082982069674422688843073749189796355007117205944559655745079349386379118959275963480939191109377010684481047954531130290824160470510533733124656615354643186292556073927339657770866773382540906054616539222424571684806826736821694360694261888041363717782964739324948069383749170403734510868323470987200158179796930882121306627092666062458862676196251227057507551142701012754849847254527196383158891968634643677057936750853692943047456573607053184658697859655736208111130841679101188256141733935388828010858558185827400837693264185004755060222146602801438629711267728229670889913103534171550153988492931234424863213562168966947423200217359143273862135144774350012904822700523338158873386025082178627417722171665599678930219205928337983535741082049508771655611507542725555981691003639543969442805990184451568210922660219564600955003968213533295562195131045409349584730838139888846284799298949215936970845437632441133633688465664047024249362957689994286687343452653038025351417310070603148833772582827902761206486592021359483612003845741976498764217453213808510580391459565055112066928735168953603320736382361535675686753719738457271948781547323473921897915986245924552993580243 209389628513440940660503920879309022162332137779917913783911099422951455940415923968913822943526632665793253757913153905596675636704920015814350779367002714456536138638543971596571629270854236750853401307647547656575876151350695913811029642925620306652277514172610715953629897573290705298422644036722999981389149310422878551543186878732714030316180145914534953245349107500835609016181376427805518911167730288601760628336355200458965145848968072611442313078738062064375705377612075860127869787340098764908070957009174802453841906103704599735994861114350606373529736630241526812026582278316347655035956249379653564527770082700125668398391423364026788597801974832491830659510633339107521920481664617908694050431554543446334914704054770611276693890437565265035356269111692278781733318644828344588152399388061055497228617073997326816539304920603564978334932992733534729009685385299267950095682977351443505814464070378699518450121881618612454262743901423323033421892307510060038363014771090721548329303902574345390360312733062105772530025056082374967045410420698786116422729509997541331300353641109964257992548410052623416800058272658247139549060924997154009712680464817140546462798301732455904593521820511355316222209962189127535285951353618695036651781428668564294350397919252944992734009746665643774337557759798144670099993416783234999641254850516305864475149650098980880052220465721505740380891059931417580178288563970947511467045838455109287482569396710092463010820941530611894860573812576789412019263593979776378776845336902546272190805545617511191572027297419740256617286656634964976419340675515852645329278132832679467842781997378255576645471334854766854087502774143586893742472886453850082567485310975483005898687613978821949834045229981191970435980736673729843479939853727682783132884797552144868117113978224311038356277810017557320030716158830112912638757631701377384186954965875526575449040732975200410901814039651266716441144069243282018049954330632068136295895316348363421990771406991851838798291517763878472134206349586438661872419424179206335417015586130498930907393827197440749329216662113566189665985346758373917489680885484294963902120913151793229794642460228799046680243793190772843809592189932425130016370973904135956843567836648946456070947643543524335722061873171607958646404095625617852366380813153943965192032618628944974406516573988214940610458311767524616920159744336374316346430492500108740944844158467496791671215978940093974929153522561996280269616504420692333345007642997951283948875063728593104669111896253552892322745053027651615406816646272847898623494155844821489243025102397263965656325566861466205845481298140095742044573550592191854097478571327680224796488795322136130256230903514780896722622981690468178268971992118295385861196067196523540582396573431302910781829867589899405401961621724885830676757739883121173979234300015115652746455297441360801420981581711249548585761596652615053760074445895609545126331189491347435542197033722919691526050352906422371029309254283682104665538535618689453060127086957776808572588557620741441441486205928238499788948743333559663484254124736229722690128680535319687759962671409352420699499929616841473181670639483614557824941267899372326281823349671459528598641022689136316737338975473787379143290608618121705013512627970047691913010228017626101726316846580553853961205936895172274424527109758373263310093607428141815912778365357728422877404309284004 338799535826461560509088134590132289300415810117506477796287160675984907377025913811951394266447597395215860382240151202289428708387407585229163998392436544636579691021790415929006302777449274548016627782734957699612924871241466433294439464098172263485778733051519353259354922297834946763160626246367056305241599149565986705179956735436555413849240189353698136945809526597202765013227148995347576943902915170452148126775461780207902439788914795352529382952682295377467214691305016274833229155140398090775110782297606246553308614943837473460756326377329604697372168023874422520697909197562759164647037725266172888155285747353693423144075618172292849268399430750999980611973187966043224921525373255410451008369039132995902997077773616733069307264817604416884605943958216129663098100849375580074230845270194857001984562258452225878344825640473599561885428655241975541088672338548877618736230973249610407643782549106785214574039145826299814086735617954523155260678804169523487332775722810584685375479894852566922865295591086333856735632296421253333759442711725003879056099551836619770755089296663740433280181100421943500626922254939577174849667879881820239937579759581871102921328827959808562854721214866983479286478189771428253017134514019362277461430650124330351879675853066936128406600771505518437802750776964960286973702972634020145105584290171171107034047854637040277062774905684837773328876823054520712082657950394929069552954343410340688811265625494121986134483835652902498418029667720181579873591588438433040249278027941933999265250731143980664584151979943859520094224602583830842414887390606059553238810198766905374094702857571438428960524197547589301169446778833857383939677189462810886859929933655691571811877696447148107698280884350140123359416931236533704345056420087156477190902348400249266884740153737459889870036566946502758348512926204992110957729963122414597970189879878087681109751712593909805197023030736440107897160783770589978622989743180544201648408866151090540788732004798840707580926376235199595193991480433699216697376735312416727351843308045064584931481625812279665338305938550267177637819212312974146655692496635813806005472356808735290246256596050076093777889041280524314443886669647295263804527007908510515904526277636029438140622066232367409471251669526615075852348655281362931715767192272903241155513557820054351417201055036169471740749135927995127453892868992989670989616785056182668284501929334270174212122033556633197353725207368823017091310865114954221386371360780916023273823133112342275072846407121876363309945211207448546288937952899940564685953018521017740470082609948406666669080416708720733041864457032064376688250608528942707790421618784253831849673454019995785992439014645622575823811237832202113657800002976853571688596904889787725587151633653449513583268497301167133631632511637989364848307893871614105213659163228677821713402720641578160564255443846394322935774501475315577098233319281634627304958607213519101141875963942125619864033888647504420538080909895189647391094517309693092604096529763766993024156768543401661006087160932206713322244305528690708893603709467067862578974965334618636975899642254790053140633563305307137228694888846572247819227955242824979319848701088769599201789856461719144640100181960379400502774220621967446990011392187500905721520808409085666781428913509289022914809257631554635960202796512093001767365556209689139386700263273714668801957302864247 548189164339902501169592055469441311462747947897424391580198260098936363317441837780865217209974230061009114140153305107886104345092327601043514777759439259093115829660334387525577932048303511298870029090382505356188801022592162347105469107023792570138056247224130069212984819871125652061583270283090056286630748459988865256723143614169269444165420335268233090191158634098038374029408525423153095855070645459053908755111816980666867585637882867963971696031420357441842920068917092134961098942480496855683181739306781049007150521047542073196751187491680211070901904654115949332724491475879106819682993974645826452683055830053819091542467041536319637866201405583491811271483821305150746842007037873319145058800593676442237911781828387344346001155255169681919962213069908408444831419494203924662383244658255912499213179332449552694884130561077164540220361647975510270098357723848145568831913950601053913458246619485484733024161027444912268349479519377846188682571111679583525695790493901306233704783797426912313225608324148439629265657352503628300804853132423789995478829061834161102055442937773704691272729510474566917426980527597824314398728804878974249650260224399011649384127129692264467448243035378338795508688151960555788303085867638057314113212078792894646230073772319881121140610518171162212140308536763104957073696389417255144746839140687476971509197504736021157114995371406343513709767882985938292260946514365876581020000181865449976293835022204214449145304777183514393278603480296970991892855182418209419026123364844480271456056276761491856156179277363599776711511259218795818834228066121912198568088331599584841937484854949694005605995532402356155256949552977444277682150075916660969427415244631174577710565310425970057532326114331332093795397667910263547824996273814839260323787145952394135001854131961770928226314376964060078379229085035105023596487594823791982157144845753614256558792445569110216098837070387706824338304853013871996672944073812612337944304182499453962779503411790692546379217893999078067328197830020137878569796159491623062768858894175563515838875453009720414667522600663833367303804559071348064145373382120108769907593269960528520040899056278875140458132834471297158253478859579720393820897981812646472748094114284975894211569709775891745193313542698223034498752750906980784082148005426847206347546176448999325823717629024384412351207447695519744374052613329363987336047277556291409229346087801766965883338012496727172282878729930819297360927369535646554731379003778867307222698196840935379741958303375429255632690264235100161695754599172788463309447174365839229713107712345670632325405983570186938887345755172160118732824159121134561887900190111934056646162249342131916248669918160403472546434219522670291926771995095148957549792972086311266169548207084752424365098364891066539033594133362875195525065633754735279192893463243793474459858018082938961985237025557643871521536098127930630858307765177244172431289796704866536684072997665045311390084241553926791567390164178871752056633052928382545664223616721543801596745326164143102447573366860445213111193048862250372377857834203297585269103645869938324735862313664142473840133492922148610410365528330186805644169223142197305601672050760229127800430879150855461377439157434166779646064829240089152003524020157548597634531036426711768507745760089842876876015194526726910384729906270466265077459163637830955299478628631443091679361612148251 886988700166364061678680190059573600763163758014930869376485420774921270694467751592816611476421827456224974522393456310175533053479735186272678776151875803729695520682124803454584234825752785846886656873117463055801725893833628780399908571121964833623834980275649422472339742168960598824743896529457112591872347609554851961903100349605824858014660524621931227136968160695241139042635674418500672798973560629506056881887278760874770025426797663316501078984102652819310134760222108409794328097620894946458292521604387295560459135991379546657507513869009815768274072677990371853422400673441865984330031699911999340838341577407512514686542659708612487134600836334491791883457009271193971763532411128729596067169632809438140908859602004077415308420072774098804568157028124538107929520343579504736614089928450769501197741590901778573228956201550764102105790303217485811187030062397023187568144923850664321102029168592269947598200173271212082436215137332369343943249915849107013028566216711890919080263692279479236090903915234773486001289648924881634564295844148793874534928613670780872810532234437445124552910610896510418053902782537401489248396684760794489587839983980882752305455957652073030302964250245322274795166341731984041320220381657419591574642728917224998109749625386817249547211289676680649943059313728065244047399362051275289852423430858648078543245359373061434177770277091181287038644706040459004343604464760805650572954525275790665105100647698336435279788612836416891696633148017152571766446770856642459275401392786414270721307007905472520740331257307459296805735861802626661249115456727971751806898530366490216032187712521132434566519729949945456426396331811301661621827265379471856287345178286866149522443006873118165230606998681472217154814599146797252170052693901995737514689494352643401886594285699230818096350943910562836727742011240097134554217557946206580127334725631701937668544158163020021295860101124146932235465636784461975295933816993156539592713048650544503568235416589533253960144270234277662522189310453837095267172894804039790120702202220628100770357078822000080005828539214100544941623771384322210801065878755922575913065626769263810287155652328951234236021875751821472697365529227015657625424989721156988652620391921005332352191776008259154664565212224838110351101406188343715797915197699750447503059734269053677240918684060553884091956583623514871827945482322353658325664062612474077513848017136037140095460046053360369636603937299642314452238234650600776117750364559783330496521329953277654814804710497305618942635475442548707984692552072729027995400192886856970183190322294077298994486400278907671929210212204224495421074767650077269678321808896187888495835703362127702241108932806026048370245457354872405584571998072002529238389876976098991756699840738201937948366862192233672665226645000864560373373527626349384406552626472471296173260738724517122549492469404038194457310599603246207956541084458878799736248403918385637825948961607170931254118130201431212105471074074061399447727570238075638268320146485310794620902094707544763453660527792651926433437354390941081271461543670365447848078611204556961711761955918932526980767056227455747639060417176759053463397178385022284921520751848998727002220735612574606017539339394546180148839049862056598993535412345049503356051844835797435289174673599131899790824452158281546344932702782559266844824719847520094686178891905157760481318915012498 1435177864506266562848272245529014912225911705912355260956683680873857634011909589373681828686396057517234088662546761418061637398572062787316193553911315062822811350342459190980162166874056297145756685963499968411990526916425791127505377678145757403761891227499779491685324562040086250886327166812547168878503096069543717218626243963775094302180080859890164317328126794793279513072044199841653768654044206088559965636999095741541637611064680531280472775015523010261153054829139200544755427040101391802141474260911168344567609657038921619854258701360690026839175977332106321186146892149320972804013025674557825793521397407461331606229009701244932125000802241917983603154940830576344718605539449002048741125970226485880378820641430391421761309575327943780724530370098032946552760939837783429398997334586706682000410920923351331268113086762627928642326151951192996081285387786245168756400058874451718234560275788077754680622361200716124350785694656710215532625821027528690538724356710613197152785047489706391549316512239383213115266947001428509935369148976572583870013757675504941974865975172211149815825640121371077335480883310135225803647125489639768739238100208379894401689583087344337497751207285623661070303854493692539829623306249295476905687854807710119644339823397706698370687821807847842862083367850491170201121095751468530434599262571546125050052442864109082591292765648497524800748412589026397296604550979126682231592954707141240641398935669902550884425093390019931284975236628314123563659301953274851878301524757630894542177363284666964376896510534671059073517247121021422480083343522849883950374986861966075057969672567470826440172515262352301611683345884788745939303977341296132825714760422918040727233008317299088222762933113012804310950212267057060799995048967716834997838476640305037536888448417661001746322665320874622915106971096275202158150705152769998562284479571385316194227336603732130237394697171511853756573770489798333971968877890805768877537017231149998466347738828380225800339362164233355729850387140473974973836969054295662852889561096396191616609232531831720494673351139877933912245428330455670274946439260876031345820658896729792330328054708607826374694154710223118630950844388806736051446322971533803461400714506205981226563761485784150899857878754923061144849854157095324499880063203126597653850605910718053003064636313084938296443164031319034616201998095651717645661711340168765486743194104937804105978798058550087541919482667230461611813165604186247330849129368338650637719219526794213034556763013872734874575325739677648869680447151245517491304847367252696199896298034639747931319892383849094610816555967376384614153898926771211831566221999008121945141997952704259618489778850966429520916679676877542697511343993167151486788182849062410257926248047822954362313465227083300211698820778363739755898439161381084663599446089716264770633118756807456084534729494961682065978846697731176838814848849636122972167538200623252174510021959272216242644202371755358003672861238252933151504360623166458183932543763206854596217647420871687865901233894653097139544630403253191453649319377873663033117182257074495286447624269583075000820900549149604358049425945506945859107566401527219590523192802609227854802651614763430067394978496828712959794903879102145750997059432502598100990582881262509203796920433688974776666839646685008456729662609053025531922283883485351049985657520536600852160680527160749 2322166564672630624526952435588588512989075463927286130333169101648778904706377340966498440162817884973459063184940217728237170452051797973588872330063190866552506871024583994434746401699809082992643342836617431467792252810259419907905286249267722237385726207775428914157664304209046849711071063342004281470375443679098569180529344313380919160194741384512095544465094955488520652114679874260154441453017766718066022518886374502416407636491478194596973853999625663080463189589361308954549755137722286748599766782515555640128068793030301166511766215229699842607450050010096693039569292822762838788343057374469825134359738984868844120915552360953544612135403078252475395038397839847538690369071860130778337193139859295318519729501032395499176617995400717879529098527126157484660690460181362934135611424515157451501608662514253109841342042964178692744431942254410481892472417848642191943968203798302382555662304956670024628220561373987336433221909794042584876569070943377797551752922927325088071865311181985870785407416154617986601268236650353391569933444820721377744548686289175722847676507406648594940378550732267587753534786092672627292895522174400563228825940192360777153995039044996410528054171535868983345099020835424523870943526630952896497262497536627344642449573023093515620235033097524523512026427164219235445168495113519805724451686002404773128595688223482144025470535925588706087787057295066856300948155443887487882165909232417031306504036317600887319704882002856348176671869776331276135425748724131494337576926150417308812898670292572436897636841791978518370322982982824049141332458979577855702181885392332565274001860279991958874739034992302247068109742216600047600925804606675604682002105601204906876755451324172206387993540111694276528105026866203858052165101661618830735353166134657680938775042703360232564419016264785185751834713107515299292704922710716205142411814297017018131895880761895150258690557272636000688809236126582795947264811707798925417129730279800542969915974244969759054299506434467633392372576450927812069104141949099702643010263298616819717379589610653720574679179679092034457187052101839992485747505139631953921733724523499056140615210360936777608930176585974940103648209918033751709071747961254960450053334898126986558915953261792410054522443967147899255200955563283668215677978400826348101353665644987106680305554997145492180535120614942549488029943577974071303987375402781239564257042122073841246074258104603447911556086604530103926265403838836848106966879732898433968215740856747490689371567724370040493517961215120197577665139703318246519300247560139553170079488356933825230314378784128002282745766179580609109574973694421289101244543807904309833637833656066387320730887783772455569286925134232415103095915991239154016026572726038509249682947888561156300261832089275533884364047423364604316271812689007434048005998716188736066806379495531973207084221964365720260436157297334423046771389934095001771903786604541637812335970920879387173898320501956789215778332312326994550952088193404533822200863909692165390838549515579232629354894422445749065978067757644132534920780921544028480965260868279052248159386225502007527801667605377060105688486362683704912570963579912241875444713554458226581804872350376004673412517836223259139943742928964202349990594844847647604346634726098306639086095107288106676457664098843290003074595311835584798767108603332871144671836412441758612641999442173247 3757344429178897187375224681117603425214987169839641391289852782522636538718286930340180268849213942490693151847486979146298807850623860760905065883974505929375318221367043185414908568573865380138400028800117399879782779726685211035410663927413479641147617435275208405842988866249133100597398230154551450348878539748642286399155588277156013462374822244402259861793221750281800165186724074101808210107061972806625988155885470243958045247556158725877446629015148673341616244418500509499305182177823678550741241043426723984695678450069222786366024916590389869446626027342203014225716184972083811592356083049027650927881136392330175727144562062198476737136205320170458998193338670423883408974611309132827078319110085781198898550142462786920937927570728661660253628897224190431213451400019146363534608759101864133502019583437604441109455129726806621386758094205603477973757805634887360700368262672754100790222580744747779308842922574703460784007604450752800409194891970906488090477279637938285224650358671692262334723928394001199716535183651781901505302593797293961614562443964680664822542482578859744756204190853638665089015669402807853096542647664040331968064040400740671555684622132340748025805378821492644415402875329117063700566832880248373402950352344337464286789396420800213990922854905372366374109795014710405646289590864988336159050948573950898178648131087591226616763301574086230888535469884093253597552706423014170113758863939558271947902971987503438204129975392876279461647106404645399699085050677406346215878450908048203355076033577239401274533352326649577443840230103845471621415802502427739652556872254298640331971532847462785314911550254654548679793088101388793540229781947971737507716866024122947603988459641471294610756473224707080839055239133260918852160150629335665733191642774962718475663491121021234310741681585659808666941684203790501450855627863486203704696293868402334326123217365627280496085254444147854445383006616381129919233689598604694294666747510950541436263713073349984854638868598700989122222963591401787042941111003395365495899824395013011333988822142485441069352530818969968369432480432295662760693944400507985267554383420228848470943265069544603983624331296198058734599054306840487760518070932788763911454049404332967785479714747576560954380322722070960400050809720378992715558041603952945755204271555705159683370191310230430476978284646261584104231941673625788949649086742950005051000236227011645352053056163153535453475569271760565538078569443023095437816009101237084605934960383541703723928330738242775368093286954797846447345586854563764010605094927392249369975786391573573161634271167977096893562322146956993723728872621192500932810765806912431778779831608770646939220666634738885090203604811109957800607259984406305502814755575100919507609195936384110662575297316358834096062868201728344072170251850388518711605444805905000837439498252339429291618951459327402326415003995065599885586238783731124744071324805164889986845992880151603416542522873712147219451193550579927702456448816570992006133407672899019987056196936450920495256128317098846205522698160897323988570100299417691514082443125353547534607010495085082528622568154526664463737912308190650771678529981439461465967906357067454436607523965139434740807496333051972099738646808066348100987654277350245705337217607360815842883015540977081453124503745528298459804257920888610330689392486818222194657493932978359464802679969333996 6079510993851527811902177116706191938204062633766927521623021884171415443424664271306678709012031827464152215032427196874535978302675658734493938214037696795927825092391627179849654970273674463131043371636734831347575032536944630943315950176681201878533343643050637320000653170458179950308469293496555731819253983427740855579684932590536932622569563628914355406258316705770320817301403948361962651560079739524692010674771844746374452884047636920474420483014774336422079434007861818453854937315545965299341007825942279624823747243099523952877791131820089712054076077352299707265285477794846650380699140423497476062240875377199019848060114423152021349271608398422934393231736510271422099343683169263605415512249945076517418279643495182420114545566129379539782727424350347915874141860200509297670220183617021585003628245951857550950797172690985314131190036460013959866230223483529552644336466471056483345884885701417803937063483948690797217229514244795385285763962914284285642230202565263373296515669853678133120131344548619186317803420302135293075236038618015339359111130253856387670218989985508339696582741585906252842550455495480480389438169838440895196889980593101448709679661177337158553859550357361627760501896164541587571510359511201269900212849880964808929238969443893729611157888002896889886136222178929641091458085978508141883502634576355671307243819311073370642233837499674936976322527179160109898500861866901657995924773171975303254407008305104325523834857395732627638318976180976675834510799401537840553455377058465512167974703869811838172170194118628095814163213086669520762748261482005595354738757646631205605973393127454744189650585246956795747902830317988841141155586554647342189718971625327854480743910965643500998750013336401357367160265999464776904325252290954496468544808909620399414438533824381466875160697850444994418776397311305800743560550574202408847108108165419352458019098127522430754775811716783855134192242742963925866498501306403619711796477790751084406179687318319743908938375033168622514595540042329599112045252952495068138910087693629831051368411753139161644031710498062002826619532534135655246441449540139939189288107943727904611558475430481381592554507882172998838247264224874239469589818894043724361507384302459954344395668009368971008902766689218859655251765283662660931236020004779293856557937200692266363675746307375922657513405261204133592261885251599860253636462145731244615257278349085486598127314267756983365031655876290669464343973281859943544782888834135518574150701240289194413299898462612815861611248169918044025010726557882010529905342487531802540055274748507398391948649952105099176308088326537602833303846315613790034055309614816741612417665264837034259951554418511340659490529945342372903703175975645459518841328301139428757292143824945266962837129405634367980426915625092948388442064539395952759611443522093736904245877747871402498703173423693122586851161292400022932357628717826126515975111409706527799181963801030990590440843375668936435229525862906922253408537009975525828334271582591185377894746452030153124611022739544595271500765918541456523490881220961719995047703993632599782766396720587090056424235759903724569426398670874355684249493561351703341412619911525681018412396315515439414220014169275231239682389737030550450978249122197893309683852333459122481969110648265188129582167844371588462878853232724195129456501090151093339329330345420118077444679411507243 9836855423030424999277401797823795363419049803606568912912874666694051982142951201646858977861245769954845366879914176020834786153299519495399004098012202725303143313758670365264563538847539843269443400436852231227357812263629841978726614104094681519680961078325845725843642036707313050905867523651107182168132523176383141978840520867692946084944385873316615268051538456052120982488128022463770861667141712331317998830657314990332498131603795646351867112029923009763695678426362327953160119493369643850082248869369003609519425693168746739243816048410479581500702104694502721491001662766930461973055223472525126990122011769529195575204676485350498086407813718593393391425075180695305508318294478396432493831360030857716316829785957969341052473136858041200036356321574538347087593260219655661204828942718885718505647829389461992060252302417791935517948130665617437839988029118416913344704729143810584136107466446165583245906406523394258001237118695548185694958854885190773732707482203201658521166028525370395454855272942620386034338603953917194580538632415309300973673574218537052492761472564368084452786932439544917931566124898288333485980817502481227164954020993842120265364283309677906579664929178854272175904771493658651272077192391449643303163202225302273216028365864693943602080742908269256260246017193640046737747676843496478042553583150306569485891950398664597258997139073761167864857997063253363496053568289915828109683637111533575202309980292607763727964832788608907099966082585622075533595850078944186769333827966513715523050737447051239446703546445277673258003443190514992384164063984433335007295629900929845937944925974917529504562135501611344427695918419377634681385368502619079697435837649450802084732370607114795609506486561108438206215505132725695756485402920290162201736451684583117890102024945402701185902379436104803085718081515096302194416178437688612551804402033821686784142315493149711250861066160931709579575249359345055785732190905008314006463225301701625842443400391669728763577243631869611636818503633731386154986363955890433634809912088642842385357233895624602713384241317031971196052012966431318007135393940647924456842491363956753082501740500025985576178839178371057572846318531714727230107889826832488272961433706792922129875382756945531963283089411289820055302575004041653646794061608732239611762208756397426047045937617606353134491689907465717696493826925225649203285548888681249666257514576097131950180370430910518818507225148051235002422542724883038982598897935372603180085661623830898137228229200855591229704535124715890472356313412445774540510437414924051910031061140080971553582921120082196069870410473494596557032718936806290966866075421729173391197496873607681199172221053250225749694134756452330704310435960051765021656083876240348264901339761329377625412426721993202076489783826821292460612316389784471471216888327998737741685376000210831790322124883020524913266165287465622817943867501557251260046436214871417786027956681182594006983366249381083654680719413486849955864985826546517834467679255490205364950943388481073619867151056643441477023464079438780512060981520379411509130147118986147317373407215672172585046803914430389033164310979065006455928023542791164807380526268593135455019920280654874155027510502327203339421036545096898551965903399548139015021069940819938324852126189242269582706671589899886922683111153612805460145893576969315533986824278398477542247359380841239 15916366416881952811179578914529987301623112437373496434535896550865467425567615472953537686873277597418997581912341372895370764455975178229892942312049899521230968406150297545114218509121214306400486772073587062574932844800574472922042564280775883398214304721376483045844295207165493001214336817147662913987386506604123997558525453458229878707513949502230970674309855161822441799789531970825733513227221451856010009505429159736706951015651432566826287595044697346185775112434224146407015056808915609149423256695311283234343172936268270692121607180230569293554778182046802428756287140561777112353754363896022603052362887146728215423264790908502519435679422117016327784656811690966727607661977647660037909343609975934233735109429453151761167018702987420739819083745924886262961735120420164958875049126335907303509276075341319543011049475108777249649138167125631397706218252601946465989041195614867067481992352147583387182969890472085055218466632940343570980722817799475059374937684768465031817681698379048528574986617491239572352142024256052487655774671033324640332784704472393440162980462549876424149369674025451170774116580393768813875418987340922122361844001586943568975043944487015065133524479536215899936406667658200238843587551902650913203376052106267082145267335308587673213238630911166146146382239372569687829205762822004619926056217726662240793135769709737967901230976573436104841180524242413473394554430156817486105608410283508878456716988597712089251799690184341534738285058766598751368106649480482027322789205024979227691025441316863077618873740563905769072166656277184513146912325466438930362034387547561051543918319102372273694212720748568140175598748737366475822540955057266421887154809274778656565476281572758296608256499897509795573375771132190472660810655211244658670281260594203517304540558769784168061063077286549797504494478826402102937976729011891021398912510199241039242161413620672142005636877877715564713767492102308981652230692211411933718259703092452710248623087709989472672515618665038234151414043676060985267031616908385501773719999782272673436725645648763764357415951815093974022671545500566973253576843480787863646130599307684657694060215930507367168733347060544056411093582756588966699697708720876212634468818009252876474271050766314502972185856100508679710554340287704314578030081613511533468320145957089692410721683924982275792005095168669851288755712176825509456922011034412494281514792925182618548307684698667502183538881024341904466766516006742982527381786769508121754236362864120092550528127663468407091315783294633934497367039970327785070415779902455854450086335888588369945531571072187295246178498800032199390336565252420081000921385036545915003615162138444715459123775471761566409184664701794703608013611935697224540497412177379777022193483586274644588249556127627570056916699451914240849054380929180424230828331850092474645931253748082234289025298306713647500117326579865645750301496219383377776021547624577945585209920482213584597424209625050020089910245276393772209273522836522043662801950838081390742845689840511226744478173796188036748524229997980237035551862741341131504177851112618747100139803936259262641471039674334113602590709649939362140177517104142868148793146180118816473432316596170313569247524671602434579103426282127449002944152521746032324704922274279060806821236837507457712288839434271475385561964386337000589602394667120408873316154623818595619692038792348482 25753221839912377810456980712353782665042162240980065347448771217559519407710566674600396664734523367373842948792255548916205550609274697725291946410062102246534111719908967910378782047968754149669930172510439293802290657064204314900769178384870564917895265799702328771687937243872806052120204340798770096155519029780507139537365974325922824792458335375547585942361393617874562782277659993289504374894363164187328008336086474727039449147255228213178154707074620355949470790860586474360175176302285252999505505564680286843862598629437017431365423228641048875055480286741305150247288803328707574326809587368547730042484898916257410998469467393853017522087235835609721176081886871662033115980272126056470403174970006791950051939215411121102219491839845461939855440067499424610049328380639820620079878069054793022014923904730781535071301777526569185167086297791248835546206281720363379333745924758677651618099818593748970428876296995479313219703751635891756675681672684665833107645166971666690338847726904418924029841890433859958386480628209969682236313303448633941306458278690930492655741935114244508602156606464996088705682705292057147361399804843403349526798022580785689240408227796692971713189408715070172112311439151858890115664744294100556506539254331569355361295701173281616815319373819435402406628256566209734566953439665501097968609800876968810279027720108402565160228115647197272706038521305666836890607998446733314215292047395042453659026968890319852979764522972950441838251141352220826901702499559426214092123032991492943214076178763914317065577287009183442330170099467699505531076389450872265369330017448490897481863245077289803198774856250179484603294667156744110503926323559885501584590646924229458650208652179873092217762986458618233779591276264916168417296058131534820872017712278786635194642583715186869246965456722654600590212560341498405132392907449579633950716912233062726026303729113821853256497944038647274293342741461654037437962883116420247724722928394154336091066488101659201436092862296907845788232547309792371422017980864275935408529911870915515822082879544388367070800193132125945218723558466998291260712237421435788102973090671641410776561956430533352744912186238915113983939901288303693929805598547708700907430251716045798604146433523260034935468945511798499765856915291745968224824143222243773080082354713487118457767621542588628926496785076135568985249539102051158660207559923093743947772307501279750498488055129578021002046106172393139469189058731626021509980684704880724934322024487950990687756356864323998321020318419349824969723353382773559610926217317379906360117397028669341499114492192269491316048909273526795947369284189226371967787460458275088394812659012052396658295996525011792158878799458247034312324047895748989562153496053620125287094823347604022213661982849620772133406483278735533309666697318964895702045220178091212387616629748293066079347423189734172413383491867331268568245363720940629036067983839449363371237877163396178604407575874431103744590964689880622165138508663068561497269630093571596107796633228992300364345324852831478225547694077419017547612844261720543013307998231604894417513211151931435226517843588764502635755020629004368596105540646934032956173672448711951928452236876825187724275035173929637918524462827224347554910055921294171339725992215098999131673363026749727294995511024171362308245075539949806049748288244089724407302978902217073161939398173189721 41669588256794330621636559626883769966665274678353561781984667768424986833278182147553934351607800964792840530704596921811576315065249875955184888722112001767765080126059265455493000557089968456070416944584026356377223501864778787822811742665646448316109570521078811817532232451038299053334541157946433010142905536384631137095891427784152703499972284877778556616671248779697004582067191964115237888121584616043338017841515634463746400162906660780004442302119317702135245903294810620767190233111200862148928762259991570078205771565705288123487030408871618168610258468788107579003575943890484686680563951264570333094847786062985626421734258302355536957766657952626048960738698562628760723642249773716508312518579982726183787048644864272863386510542832882679674523813424310873011063501059985578954927195390700325524199980072101078082351252635346434816224464916880233252424534322309845322787120373544719100092170741332357611846187467564368438170384576235327656404490484140892482582851740131722156529425283467452604828507925099530738622652466022169892087974481958581639242983163323932818722397664120932751526280490447259479799285685825961236818792184325471888642024167729258215452172283708036846713888251286072048718106810059128959252296196751469709915306437836437506563036481869290028558004730601548553010495938779422396159202487505717894666018603631051072163489818140533061459092220633377547219045548080310285162428603550800320900457678551332115743957488031942231564213157291976576536200118819578269809149039908241414912238016472170905101620080777394684451027573089211402336755744884018677988714917311195731364404996051949025781564179662076892987576998747624778893415894110586326467278617151923471745456199008115215684933752631388826019486356128029352967047397106641078106713342779479542298972872990152499183142484971037308028534009204398094707039167900508070369636461470655349629422432303765268465142734493995262134821916362839007110233563963019090193575327832181442982631486607046339689575811648674108608480961946079939646590985853356689049597772661437182249911653188189258808525193152131428216144947219919241395103967565264514289080902223651749103689979326068470622172361040719913645533299459170395033484044892660629503307268584913541899069725298675078417484289574537907654801612307179476411255579450282802854224835755306548402500670576810868489305467570904718501880244805420274005251278876668117129570957506238229287100426462369046795739828245523185584987196735043935955574738369004037362471474388846688558387352071083238284484527792405412336101713983759467090393353101344681341997219835760810203732917257711444646063264456786562227408073558995337705849441646452968708845494821003398427821150497112117419771996773358568063464160041737920337659831446214102650908230999902309288306933878666801911538977248342190323182730649774158721078248145319932873552028183687033547883496375300368372721496447819913500818447196914318546859940324006812089531464027308956447797645609763201831785499481123834501209966274394374412031499590605160071580931652986850642323069503527108823498649019514974071924075399254583164707003061674517485849344223641517653015088190697867988883263098616238345730278943730736283057751076901104966818628830768401884553472995501293522559845532072497627889109351796557854208443040203664430914489378059938494599864257185007284350458442837693807039926286806639350682911210133280619133526035668781631436965538203 67422810096706708432093540339237552631707436919333627129433438985984506240988748822154331016342324332166683479496852470727781865674524573680476835132174104014299191845968233365871782605058722605740347117094465650179514158928983102723580921050517013234004836320781140589220169694911105105454745498745203106298424566165138276633257402110075528292430620253326142559032642397571567364344851957404742263015947780230666026177602109190785849310161888993182597009193938058084716694155397095127365409413486115148434267824671856922068370195142305554852453637512667043665738755529412729250864747219192261007373538633118063137332684979243037420203725696208554479853893788235770136820585434290793839622521899772978715693549989518133838987860275393965606002382678344619529963880923735483060391881699806199034805264445493347539123884802882613153653030161915619983310762708129068798630816042673224656533045132222370718191989335081328040722484463043681657874136212127084332086163168806725590228018711798412495377152187886376634670398358959489125103280675991852128401277930592522945701261854254425474464332778365441353682886955443348185481990977883108598218597027728821415440046748514947455860400080401008559903296966356244161029545961918019074917040490852026216454560769405792867858737655150906843877378550036950959638752504989156963112642153006815863275819480599861351191209926543098221687207867830650253257566853747147175770427050284114536192505073593785774770926378351795211328736130242418414787341471040405171511648599334455507035271007965114119177798844691711750028314582272653732506855212583524209065104368183461100694422444542846507644809256951880091762433248927109382188083050854696830393602177037425056336103123237573865893585932504481043782472814746263132558323662022809495402771474314300414316685151776787693825726200157906554993990731858998684919599509398913202762543911050289300346334665366491294768871848315848518632765955010113300452975025617056528156458444252429167705559880761382430756063913307875544701343258853925727879138295645728111067578636937372590779823524103705080891404737540498499016338079345864460118662434563555775001318323659439852076780650967479247184128791574072658557719538374284378973385333196354559308905816293614449329321441344473682563917812834572843123747124105679242268170871196251027678368057999079628484855384063929326256927010159533644998665320940989259254790380927826777337130880599982177059407927742119545283794957823544187631093369128183405144633469995025547343156179269571622880411840022073926040841392116403733356420133333584436813746735874904292268214537215667170321129945927052943760555456726277878276317347085791285075133630872824936496305953096091793240480162549508775715768521785150726942263618288772232661707727195203664804404284620027596383130281482689015573521826869114323729666009385307468387775567110215634918772206274899421164513244668366447720144686181992326884310314528182886792223661264635848157515303476672327685674809005941806239361373912227579092174656155016539550540162659166657341211025224582958438956298495827473168823501850993199619618152818272130777551264782217530793847575828535935166226240122133094506726851863118874100750907948099332388598398010934061140491077542720330336790349820689017797595019461710416152351936576144112764264364334375004156906704477059070167962891006912302279861482614200002052115466236612689098971155299857687922112428252741943570835138727924 109092398353501039053730099966121322598372711597687188911418106754409493074266930969708265367950125296959524010201449392539358180739774449635661723854286105782064271972027498821364783162148691061810764061678492006556737660793761890546392663716163461550114406841859952406752402145949404158789286656691636116441330102549769413729148829894228231792402905131104699175703891177268571946412043921519980151137532396274004044019117743654532249473068549773187039311313255760219962597450207715894555642524686977297363030084663427000274141760847593678339484046384285212275997224317520308254440691109676947687937489897688396232180471042228663841937983998564091437620551740861819097559283996919554563264771673489487028212129972244317626036505139666828992512925511227299204487694348046356071455382759791777989732459836193673063323864874983691236004282797262054799535227625009302051055350364983069979320165505767089818284160076413685652568671930608050096044520788362411988490653652947618072810870451930134651906577471353829239498906284059019863725933142014022020489252412551104584944245017578358293186730442486374105209167445890607665281276663709069835037389212054293304082070916244205671312572364109045406617185217642316209747652771977148034169336687603495926369867207242230374421774137020196872435383280638499512649248443768579359271844640512533757941838084230912423354699744683631283146300088464027800476612401827457460932855653834914857092962752145117890514883866383737442892949287534394991323541589859983441320797639242696921947509024437285024279418925469106434479342155361865134843610957467542887053819285494656832058827440594795533426373436613956984750010247674734161081498944965283156860880794189348528081559322245689081578519685135869869801959170874292485525371059129450573509484817093779956615658024766940193008868685128943863022524741063396779626638677299421273132180372520944649975757097670256563234014582809843780767587871372952307563208589580075618350033772084610610688191367368428770445639724956549653309824220800005667525729281499084800117176409598809773029735177291894339699929930692629927232483026565783701513766402128820289290399225883091601180470630293547717806301152614792572203252837833454774006869378089015188812213084878527991228391166643148760981402102409110750778548736412858718679426450646533830532592893754386176887356054640740194746232477730438363500545565746409533260041659804494894466701838106220406346508354204488592079534786069067373216080565863227341100208208364029584705627653658418311438799192093157164325325919908809145692521847317343903904140088976248973610211757051427980524862863184764388406618721183064440503725420644786622780983072519277905205151447917095191668301313046620893135540518558509295005727778330510152999367558641417767455312515619929905671437215361355817485060804117456514052848740035081627108853815255535567792324234458586454712396741043666816092866182629812240385128761725097205339083601588642660247046767503981284133472454615705008071146873393351413593384622429410913962571662249771817412791956877569809081279367999354581992322150870508173691542228217526713942258267843892048279696920052177452819241328312830962495610114961735112446481186891830068671656149087835166107309706373488732221343822816190311320154864993782913780241045927940670618472807374578668587821193855119008662562755264097309564211941057037695859155392523419328449654066509990968541245954288410725202272104266127 176515208450207747485823640305358875230080148517020816040851545740393999315255679791862596384292449629126207489698301863267140046414299023316138558986460209796363463817995732187236565767207413667551111178772957656736251819722744993269973584766680474784119243162641092995972571840860509264244032155436839222739754668714907690362406232004303760084833525384430841734736533574840139310756895878924722414153480176504670070196719852845318098783230438766369636320507193818304679291605604811021921051938173092445797297909335283922342511955989899233191937683896952255941735979846933037505305438328869208695311028530806459369513156021471701262141709694772645917474445529097589234379869431210348402887293573262465743905679961762451465024365415060794598515308189571918734451575271781839131847264459597977024537724281687020602447749677866304389657312959177674782845990333138370849686166407656294635853210637989460536476149411495013693291156393651731753918657000489496320576816821754343663038889163728547147283729659240205874169304643018508988829213818005874148890530343143627530645506871832783767651063220851815458892054401333955850763267641592178433255986239783114719522117664759153127172972444510053966520482183998560370777198733895167109086377178455522142824427976648023242280511792171103716312761830675450472288000948757736322384486793519349621217657564830773774545909671226729504833507956294678053734179255574604636703282704119029393285467825738903665285810244735532654221685417776813406110883060900388612832446238577152428982780032402399143457217770160818184507656737634518867350466170051067096118923653678117932753249885137642041071182693565837076512443496601843543269581995819979987254482971226773584417662445483262947472105617640350913584431985620555618083694721152260068912256291408080370932343176543727886834594885286850418016515472922395464546238186698334475894724283571233950322091763036747858002886431125692299400353826383065608016183615197132146506492216337039778393751248129811201201703638264425198011167479653931395404867577144812911184755046536182363809558701395599420591334668233128426248821105911648161632428836692376064291717549542531453257251281261026964990429944188865230760972376207739152980254711285369748121118901172142440557712607987622443545319915243683593902295860518537960947597321842784858210960951753465805372211438704669521003159487889972008499210886687398792514832040732321671803832718706202583405916281946608137363329743892611560847173934991410746244841678359055132048783832927989934319211032115231090366167312025212879048941980650928340717886824851153265878426294267095150845992809111817332167174177909342318780042767730577907856116703392102841701457401013186984908781475596129668851309040343660021947991396619282385661075285836621432259716800239957502054567496844044833058582630986570837782514749420389095496629382365751202711096440733485875876909985712033263813010868811804567269439076253280092131307262853278508404562070980653611819147263621646814310508247305578992685559278584427453513111824908938474754002982102152767520235666495182055161145652721501373311160381035798844719809532626109579073544495880713387985467568434964057002336966824853986547232094839929401060254547098769227247800783916209062558134172636879329117749884455493329932592982504084783382737171708953672744727898332178078830525646271009611844073423671237697911270858760032017548625221809848656463358382541152668773107242994051 285607606803708786539553740271480197828452860114708004952269652494803492389522610761570861752242574926085731499899751255806498227154073472951800282840746315578427735790023231008601348929356104729361875240451449663292989480516506883816366248482843936334233650004501045402724973986809913423033318812128475339181084771264677104091555061898531991877236430515535540910440424752108711257168939800444702565291012572778674114215837596499850348256298988539556675631820449578524641889055812526916476694462860069743160327993998710922616653716837492911531421730281237468217733204164453345759746129438546156383248518428494855601693627063700365104079693693336737355094997269959408331939153428129902966152065246751952772117809934006769091060870554727623591028233700799217938939269619828195203302647219389755014270184117880693665771614552849995625661595756439729582381217958147672900741516772639364615173376143756550354760309487908699345859828324259781849963177788851908309067470474701961735849759615658681799190307130594035113668210927077528852555146960019896169379782755694732115589751889411142060837793663338189564101221847224563516044544305301248268293375451837408023604188581003358798485544808619099373137667401640876580524851505872315143255713866059018069194295183890253616702285929191300588748145111313949984937249392526315681656331434031883379159495649061686197900609415910360787979808044758705854210791657402062097636138357953944250378430577884021555800694111119270097114634705311208397434424650760372054153243877819849350930289056839684167736636695629924618986998892996384002194077127518609983172742939172774764812077325732437574497556130179794061262453744276577704351080940785263144115363765416122112499221767728952029050625302776220783386391156494848103609065780281710642421741108501860327548001201310668079843463570415794281039040213985792244172876863997755749026904656092178600297848860707004421236901013935536080167941697756017915579392204777207764856525988421650389081942615498239971647343363220974851320991700453937062930596858643897711301931456134992136839293878687493760291264598925758353481304132477431863146195238821196353582116775425623054437721911554574682796731096803657802964225214041193926987124089374384936933331986050670431786103774630771204526722017652794344680844596931396679627023772489318688743553845507851982259567493345409715749391965620410371999756452433808325774873700536816566270534556812422989752424636151096729442864529961678934063254500854638087345049886723084716754411486586408245758010224208388254691493231934022024741463827968272244622026913827402239488638051318523131370855672296581720573792899092406759283768188375364530637099775911380746906608848930282176577082788642750561986849558902169316953719174949792538660442844478039199715029315859887407726004712205400650543643435104027351835363489455470722605483197621286770503420675192072330589306726755700079905877051441616807654567837978377297470390864441921168651608838484634895952619718237351822381655120698930406278943901013838367475683487158710292166794938979722576601515034494536637153467803592009547002702609253325558662067800470001627353241415932890840804708896747795019497947081786589098993713281731759469731910696186604393355110490289697794779477995453069640437904749449276243712834028432025454001209979083532341332549092187297087493088401535106921408285364728275393770426251283451345998279288319839625004604336829563393975379347260178 462122815253916534025377380576839073058533008631728820993121198235197491704778290553433458136535024555211938989598053119073638273568372496267938841827206525374791199608018963195837914696563518396912986419224407320029241300239251877086339833249524411118352893167142138398697545827670422687277350967565314561920839439979584794453961293902835751962069955899966382645176958326948850567925835679369424979444492749283344184412557449345168447039529427305926311952327643396829321180661417337938397746401033162188957625903333994844959165672827392144723359414178189724159469184011386383265051567767415365078559546959301314971206783085172066366221403388109383272569442799056997566319022859340251369039358820014418516023489895769220556085235969788418189543541890371136673390844891610034335149911678987732038807908399567714268219364230716300015318908715617404365227208291286043750427683180295659251026586781746010891236458899403713039150984717911513603881834789341404629644287296456305398888648779387228946474036789834240987837515570096037841384360778025770318270313098838359646235258761243925828488856884190005022993276248558519366807811946893426701549361691620522743126306245762511925658517253129153339658149585639436951302050239767482252342091044514540212018723160538276858982797721362404305060906941989400457225250341284052004040818227551233000377153213892459972446519087137090292813316001053383907944970912976666734339421062072973643663898403622925221086504355854802751336320123088021803545307711660760666985690116397001779913069089242083311193854465790742803494655630630902869544543297569677079291666592850892697565327210870079615568738823745631137774897240878421247620662936605243131369846736642895696916884213212214976522730920416571696970823142115403721692760501433970711333997399909940698480344377854395966678058455702644699055555686908187708719115050696090224921628939663412550619940623743752279239787445061228379568295524139083523595575819974339911363018204758690167475693863628051172849047001485400049332159180107868458335464435788710622486686502671174500648852580083093180882599267158886779730125238389080024778624075513572417873834324968154507694973192815601647787161040992523033725197590248933079967378800659754685054450887222812872343816382618393648072041932896477938583140457449934640574621094332103546954514797261317787631778932050079236752551453510382380498967339121207118289705741269138238074367275518625573158340918097704866806194273854290494910428435846048833589891565082139848803195319514398180077221256323619345057660543959234903790405808619200585339913738678555505367064345585618282216848481408399052740967077001749078063810956105942438493216479303483588608066249943469161485864264238880230838158599245829338901710571569074924321518130314660631974746116099844909780572209049445483602226066090598189617878238875859818102112579987037973214517115925558206466216712467733343718887920253421374924006914231657389601698127295199677056170909465288507771766981858998636692163368004509398964503179598265820988795312067648766920797921081875344121750700989718692314613456313510920313862990289124403381877333096111206426785911813604228790176465182759076500284048611443085540945376571688870792165243285373620602911274205906857337612168089948969555654633904769573645427010936110237383947150792486014077276990519475166323614047806116533252358788399513091681697110043483363546904510129688281467962719370716062748486590254229 747730422057625320564931120848319270886985868746436825945390850730000984094300901315004319888777599481297670489497804374880136500722445969219739124667952840953218935398042194204439263625919623126274861659675856983322230780755758760902706081732368347452586543171643183801422519814480336110310669779693789901101924211244261898545516355801367743839306386415501923555617383079057561825094775479814127544735505322062018298628395045845018795295828415845482987584148092975353963069717229864854874440863893231932117953897332705767575819389664885056254781144459427192377202388175839729024797697205961521461808065387796170572900410148872431470301097081446120627664440069016405898258176287470154335191424066766371288141299829775989647146106524516041780571775591170354612330114511438229538452558898377487053078092517448407933990978783566295640980504472057133947608426249433716651169199952935023866199962925502561245996768387312412385010813042171295453845012578193312938711757771158267134738408395045910745664343920428276101505726497173566693939507738045666487650095854533091761825010650655067889326650547528194587094498095783082882852356252194674969842737143457930766730494826765870724144062061748252712795816987280313531826901745639797395597804910573558281213018344428530475685083650553704893809052053303350442162499733810367685697149661583116379536648862954146170347128503047451080793124045812089762155762570378728831975559420026917894042328981506946776887198466974072848450954828399230200979732362421132721138933994216851130843358146081767478930491161420667422481654523627286871738620425088287062464409532023667462377404536602517190066294953925425199037350985154998951971743877390506275485210502059017809416105980941167005573356223192792480357214298610251825301826281715681353755738508411801026028345579165064046521522026118438980094595900893979952891991914693845973948533595755591150917789484450756700476688458996764459736237221895101439174968024751547676219544193180340556557636479126291144496390364706374900653150880561805521266061294432608333788617958806166637488146458770586941173863866084645133211429370866511887924819314334768771455951100393777562132695104370176330583892137796180836689422804290127006954502890034139621987782873273483304129920157249164852598763950549272283263985054381331320201644866821422235698068642769169769891346425395488952501943419130792752498723791555015444064579441805954804344901832331048562910765554248801596249058803815969428973682936700686920934941451805224565557606806100806425835231480532007599749153775893256928531869636587472829961940652505957744855702396904141413587704153704980773314759976094155837347579144481306969130316255214864335514675098873751338062947052881630792825008158147998655855429746518867462981960974792699831689775431959732317506576921254846134145869501194625541453241728331330540707595777608324743717937791117630537055523439223433423624764971695038182578574752210034687072088991737120845707779747949923403724386700096350459073818488703439805243447080612104188464478799226359059087592860061597920723265735484255329468081259905520467316565599542449962043945133566112833780027327746495069594885361930554095998231130398032184534658658303448340524075939471978013958021764495604652117090163543018609993559383354045817358261039368135691385157129876018355409826082706772253816702449341223454660644153127788485452123361326934709545183798449527906472567056200279456723865937514407 1209853237311541854590308501425158343945518877378165646938512048965198475799079191868437778025312624036509609479095857493953774774290818465487677966495159366328010135006061157400277178322483141523187848078900264303351472080995010637989045914981892758570939436338785322200120065642150758797588020747259104463022763651223846692999477649704203495801376342315468306200794341406006412393020611159183552524179998071345362483040952495190187242335357843151409299536475736372183284250378647202793272187264926394121075579800666700612534985062492277200978140558637616916536671572187226112289849264973376886540367612347097485544107193234044497836522500469555503900233882868073403464577199146810405704230782886780789804164789725545210203231342494304459970115317481541491285720959403048263873602470577365219091886000917016122202210343014282595656299413187674538312835634540719760401596883133230683117226549707248572137233227286716125424161797760082809057726847367534717568356045067614572533627057174433139692138380710262517089343242067269604535323868516071436805920408953371451408060269411898993717815507431718199610087774344341602249660168199088101671392098835078453509856801072528382649802579314877406052453966572919750483128951985407279647939895955088098493231741504966807334667881371916109198869958995292750899387750075094419689737967889134349379913802076846606142793647590184541373606440046865473670100733483355395566314980482099891537706227385129871997973702822828875599787274951487252004525040074081893388124624110613852910756427235323850790124345627211410225976310154258189741283163722657964141756076124874560159942731747472596805635033777671056336812248226033420199592406813995749406855057238701913506332990194153381982096087143609364177328037440725655546994586783149652065089735908321741724508689957019460013199580481821083679150151587802167661611106965389936198870162535419003701537730108194508979716475904057992839304532746034184962770543844725887587582562397939030724033330342754342317345437366191774949985310060669673979601525730221318956275304461477341138136999038853680122056463133243531912941554609255591912703443389848341189329785425361932069827668297185777978371053178788703870414620394539060086921881690693894307042233760496296176473736539867558500670805883445750221847125511831265960776265961153525782652583440030487557523125357445568189254494872641175132997691130676222562354285183075093042419269107849674136069106472346506463055253077670259923884111372546735754524833016887364414360802125615204605912452736855626944806814319852491832322275445206673415301854391184513250222766742489759695804552635113379826055727053095904915411390100587249407623532734518347924122741348817220499548811317120511023663166757393827994757140318087942387303479105107360463664521548059577227287149130304291617748095567285223731071119967207190358809708357595362716932454907043188743521740151691166767343652891948459557502581666441692076673787119032320522763950657415211911496153681955349095765981856707949204207950260210370009453274111294007826008390781143473264845016436473974021782694716219031387630428589831574365425822466662224040206813239560099298385061827113313172498515179009475270075604034875137211316241182757351634560933038701511509454702331632967579549214017258815391003688050304245928769104280668504369487103073226247420140316497147339987913002941527301577133820471370418073092088308579216187940529775570995519472352527768636 1957583659369167175155239622273477614832504746124602472883902899695199459893380093183442097914090223517807279968593661868833911275013264434707417091163112207281229070404103351604716441948402764649462709738576121286673702861750769398891751996714261106023525979510428506001542585456631094907898690526952894364124687862468108591544994005505571239640682728730970229756411724485063974218115386638997680068915503393407380781669347541035206037631186258996892287120623829347537247320095877067648146628128819626053193533697999406380110804452157162257232921703097044108913873960363065841314646962179338408002175677734893656117007603382916929306823597551001624527898322937089809362835375434280560039422206953547161092306089555321199850377449018820501750687093072711845898051073914486493412055029475742706144964093434464530136201321797848891297279917659731672260444060790153477052766083086165706983426512632751133383229995674028537809172610802254104511571859945728030507067802838772839668365465569479050437802724630690793190848968564443171229263376254117103293570504807904543169885280062554061607142157979246394197182272440124685132512524451282776641234835978536384276587295899294253373946641376625658765249783560200064014955853731047077043537700865661656774444759849395337810352965022469814092679011048596101341550249808904787375435117550717465759450450939800752313140776093231992454399564092677563432256496053734124398290539902126809431748556366636818774860901289802948448238229779886482205504772436503026109263558104830704041599785381405618269054836788632077648457964677885476613021784147746251204220485656898227622320136284075113995701328731596481535849599211188419151564150691386255682340267740760931315749096175094548987669443366802156657685251739335907372296413064865333418845474416733542750537035536184524059721102507939522659244747488696147614503098880083782172818696131174594852455519592645265680193164363054757299040769967929286401945511869477435263802106591119371280590966821880633461841827730898149850638460941231479500867587024653927290063922420283507775625145497624267063230326999328177046152983980122103800628262704183109960785736525755709631960363401555954308954945316584884707104043198829187093876384580728033929030016633769779480603656697116723353269569833995022505111110566212597280977910827974948018350652082799657327414471782841057141756438291771967885496414922231238006418864624881047846764170940180722698979872026595308059304311881486229352857794309247422675459774468692588979918408931716011031747684217387634544555968095745748760854145081794146245263795043690470995078469139393901109392256788818360599370487029190060752758969245068556376753848989733212259637416447690971837611758370002141816488174915541826650612570064606809850285440079900060295354296980019309544793726051559137751893965068479849272524361695538520899517304135203687460650392698160819280577263590914600190968417863643497740081156418651726763745876110769441368471730405365135315220540382051699554839800345411389009451397340822474197917752910520366885095983641205071185568282171958229351250775976124551854946994189374024327469767600228336873986840567306594367979947189043867268496746309407507454610262693178585551840317122229329648518954803197116161571792495175986189542773400612861208361949089672381620154261410544522724896929155933019673957018946488563442573647094655090062585943832697352782637272107028744094413096831771274976196218465283043 3167436896680709029745548123698635958778023623502768119822414948660397935692459285051879875939402847554316889447689519362787686049304082900195095057658271573609239205410164509004993620270885906172650557817476385590025174942745780036880797911696153864594465415849213828201662651098781853705486711274211998827147451513691955284544471655209774735442059071046438535957206065891070386611135997798181232593095501464752743264710300036225393279966544102148301586657099565719720531570474524270441418815393746020174269113498666106992645789514649439458211062261734661025450545532550291953604496227152715294542543290081991141661114796616961427143346098020557128428132205805163212827412574581090965743652989840327950896470879280866410053608791513124961720802410554253337183772033317534757285657500053107925236850094351480652338411664812131486953579330847406210573279695330873237454362966219396390100653062339999705520463222960744663233334408562336913569298707313262748075423847906387412201992522743912190129941105340953310280192210631712775764587244770188540099490913761275994577945549474453055324957665410964593807270046784466287382172692650370878312626934813614837786444096971822636023749220691503064817703750133119814498084805716454356691477596820749755267676501354362145145020846394385923291548970043888852240937999883999207065173085439851815139364253016647358455934423683416533828006004139543037102357229537089519964605520384226700969454783751766690772834604112631824048025504731373734210029812510584919497388182215444556952356212616729469059179182415843487874434274832143666354304947870404215345976561781772787782262868031547710801336362509267537872661847437221839351156557505382005089195324979462844822082086369247930969765530510411520835013289180061562919290999848014985483935210325055284475045725493203984072920682989760606338394899076498315276114205845473718371688858666593598553993249700839774659909640267112750138345302713963471364716055714203322851384668989058402004624297164634975779187265097089924800623771001901153480469112754875246246339226881760848913762144536477947185286790132571708959094538589377695713331706094031451150115521951117641701788031698741732287325998495373588577518663593368247180798266271421928236072250394266075657077393236984281853940375717440772726958236078043863241754176789128473801003235522830144884937597140286625331010933164413143018494106052907460568773149807956140889183440048030396835048978498941814522359564959156489276741905681794158429984607485579953394279211057331215637660136954243261489362782415598240593176420527000819660565649434874984245301235881883660805196809423931740425426214082285965668170359345655805784377381724251560183760157796508192337160569687122652840151341672935654645369710382694752237588919185007420759018818528078886772080875181863429369642060635765073003595481662745711258327012492799050177582847605204008024099003742605766958312070755591957297583738085093418840419663229801761891235681062780347226716694064007048650605782202119338213659347601032844207371027021814374711104374422348544450413298608432203373033470692343583242577422779205598692895590066890560914193653806866693666365009016157180440995261488416982724685866728053722763156558304986681283079887841898627671026494826808953769091987417871676599365637139976627548923365691213027094384032229159267094097335443635903430486650036182391639719764304067770855729360415607960282353626607342270495668570993051679 5125020556049876204900787745972113573610528369627370592706317848355597395585839378235321973853493071072124169416283181231621597324317347334902512148821383780890468275814267860609710062219288670822113267556052506876698877804496549435772549908410414970617991395359642334203205236555412948613385401801164893191272139376160063876089465660715345975082741799777408765713617790376134360829251384437178912662011004858160124046379647577260599317597730361145193873777723395067257778890570401338089565443522565646227462647196665513372756593966806601715443983964831705134364419492913357794919143189332053702544718967816884797778122399999878356450169695571558752956030528742253022190247950015371525783075196793875111988776968836187609903986240531945463471489503626965183081823107232021250697712529528850631381814187785945182474612986609980378250859248507137882833723756121026714507129049305562097084079574972750838903693218634773201042507019364591018080870567258990778582491650745160251870357988313391240567743829971644103471041179196155946993850621024305643393061418569180537747830829537007116932099823390210988004452319224590972514685217101653654953861770792151222063031392871116889397695862068128723582953533693319878513040659447501433735015297686411412042121261203757482955373811416855737384227981092484953582488249692903994440608202990569280898814703956448110769075199776648526282405568232220600534613725590823644362896060286353510401203340118403509547695505402434772496263734511260216415534584947087945606651740320275260993955997998135087328234019204475565522892239510029142967326732018150466550197047438671015404583004315622824797037691240864019408511446648410258502720708196768260771535592720223776137831182544342479957434973877213677492698540919397470291587412912880318902780684741788827225582761029388508132641785497700128997639646565194462890617304725557500544507554797768193406448769293485040340102804630167507437386072681892757766661567583680758115186775580177773285215263986515609241029092827988074651262231943132632981336699779529173536403149302044356689387290034102214248517117131899886005247522569499799513959968798214561110901258476873351333748395100297686596280943811958473284622706792197434274674650852149962165102267028035855137681049934101005207209945551435795232069346644256460522732087617103421819353887605629802212352068923127682472767371456185110903990520975138698575192014432837188735947610988211119534028850525537122581663876840642718629599699991041581105444381954272542374197619989047226669407821171630896033918750511343989354030565608794965905829444478565455240379705021277561914589066212750101024796701111476026420929328590724362161131230713984772443397574244199164174772328057124794656639516588477481295982280447301562087874359264907481054373115508098196316874601233422567121536025704244922276119843358284232157844316628002737638233240303364827304676267333520367149280488619235455037664894503745145604165539340571203259707411468145482541937234446058748205445582547530727223110744941855318405288779932334741596200358063553615635981580780390432724284246668468135097524416968579623020365357667118897788180494374173288034344956205201047709492007797824490179296129421232308314996875427216010931598842645095743832598287321984939958634760818484537807727586229649009169077627101757549819280961385092286768054354390124466873060297130837481702305708136765123638366632522636704376766723439113545471864789458334722 8292457452730585234646335869670749532388551993130138712528732797015995331278298663287201849792895918626441058863972700594409283373621430235097607206479655354499707481224432369614703682490174576994763825373528892466724052747242329472653347820106568835212456811208856162404867887654194802318872113075376892018419590889852019160633937315925120710524800870823847301670823856267204747440387382235360145255106506322912867311089947613485992597564274463293495460434822960786978310461044925608530984258916311666401731760695331620365402383481456041173655046226566366159814965025463649748523639416484768997087262257898875939439237196616839783593515793592115881384162734547416235017660524596462491526728186634203062885247848117054019957595032045070425192291914181218520265595140549556007983370029581958556618664282137425834813024651422111865204438579354544093407003451451899951961492015524958487184732637312750544424156441595517864275841427926927931650169274572253526657915498651547664072350511057303430697684935312597413751233389827868722758437865794494183492552332330456532325776379011460172257057488801175581811722366009057259896857909752024533266488705605766059849475489842939525421445082759631788400657283826439693011125465163955790426492894507161167309797762558119628100394657811241660675776951136373805823426249576903201505781288430421096038178956973095469225009623460065060110411572371763637636970955127913164327501580670580211370658123870170200320530109515066596544289239242633950625564397457672865104039922535719817946312210614864556387413201620319053397326514342172809321631679888554681896173609220443803186845872347170535598374053750131557281173294085632097853877265702150265860730917699686620959913268913590410927200504387625198327711830099459033210878412760895304386715895066844111700628486522592492205562468487460735336034545641692778166731510571031218916196413464361791960442018994324815000012444897280257575731375395856229131377623297884080966571444569236175289839561151150585020216357925077999451886002945033786461805812534404419782742376183805205603149434570580161433803907264471594964342061158877495227291674892246012261016780427990993035536426799039418883606942307332061862141370385565681455472917123571890401174517422301930794758443171085287061150321268876567959027582722300323764486264406231895620357123128459947097289666063414307803778304620598253922484627028046159143965164240793329625131051036241516369077829024478937104023441799799207906341605672835739535428989439852495768476831046378442307067958125874157523281532926942229947206986135795785566395093913440439485680940903161222719785875636681841450222915193761992089099687936380167945508612438236332627157732040707356511932897744247447496790858261413135941351990829996314325463278449914901813391934036177083088955476415285996491178086340009995279715325021029943416171329120801787815816087908568835328775271076126134107592559374827412335248632588838564444585202570372965150943092530925829768653928510065796856051364749650065436770092542888162612659806954149116307304732485902160086394879388822636097317717360811718340101839747785221713260947734009458702374148181039981700709965221358228150487269286241472903981996149286031078153433732202692214678730486994371503624782148793893727726748236356214407093223369625636718000992792970576913664993614251553862151689833760370303546947167019873342025472440832894494095992938244664659120350046455815967533360451386401 13417478008780461439547123615642863105999080362757509305235050645371592726864138041522523823646388989698565228280255881826030880697938777570000119355301039135390175757038700230224413744709463247816877092929581399343422930551738878908425897728516983805830448206568498496608073124209607750932257514876541785209691730266012083036723402976640466685607542670601256067384441646643339108269638766672539057917117511181072991357469595190746591915162004824438689334212546355854236089351615326946620549702438877312629194407891997133738158977448262642889099030191398071294179384518377007543442782605816822699631981225715760737217359596616718140043685489163674634340193263289669257207908474611834017309803383428078174874024816953241629861581272577015888663781417808183703347418247781577258681082559110809188000478469923371017287637638032092243455297827861681976240727207572926666468621064830520584268812212285501383327849660230291065318348447291518949731039841831244305240407149396707915942708499370694671265428765284241517222274569024024669752288486818799826885613750899637070073607208548467289189157312191386569816174685233648232411543126853678188220350476397917281912506882714056414819140944827760511983610817519759571524166124611457224161508192193572579351919023761877111055768469228097398060004932228858759405914499269807195946389491420990376936993660929543579994084823236713586392817140603984238171584680718736808690397640956933721771861463988573709868225614917501369040552973753894167041098982404760810710691662855995078940268208612999643715647220824794618920218753852201952288958411906705148446370656659114818591428876662793360395411744990995576689684740734042356356597973898918526632266510419910397097744451457932890884635478264838875820410371018856503502465825673775623289496579808632938926211247551981000338204253985160864333674192206887241057348815296588719460703968262129985366890788287809855340115249527447765013117448077748986898039190881564839081758220149413948575054825137666194261245450753066074103148234888166419443142512313933593319145525485849562292536724604682375682321024396371480969589583728377294741251643690460573371918038904864344369284821899337105479887886119290535146764077177763115730147567975721852566276784450337785932439493105186292268360266820312363191096929366556784287218352023335317439711010734089749309641734986541990276545676076783364826475148003184857719157178673630518361078662024452635903106679550016059685687318640441926535941305663877320640873371394125038142674451035425668976475779297505053557200283438286219301237551744590751472224538392005894726060645924438784634374941849431942475019616305238018510029016527104530106639843152221105070555306284906520686705225801372242153430374849890617237334271277297876413337637714822382867765049544275279405830077648708563612714112044254917555835168379314175574015645748804525454049328211933662633451538409646501256873047994062867372913527092583710048750741910944168410650503999071312310591162956124545061496947297180792659880837484743481017948586886483857903505090549455775722376460169213068821601964029279853437626256716364844733626305401128356490554642555213269735054921426559275859979277084065963083278125570518339393150309159418703146277573132090115336223069470778833686361509054840752214820809599274645887078619894728126732945954999343840630206044223884837176607244297857355044331180577598018132462625460881369035887073485569361439398149909721123 21709935461511046674193459485313612638387632355887648017763783442387588058142436704809725673439284908325006287144228582420440164071560207805097726561780694489889883238263132599839117427199637824811640918303110291810146983298981208381079245548623552641042905017777354659012941011863802553251129627951918677228111321155864102197357340292565587396132343541425103369055265502910543855710026148907899203172224017503985858668559542804232584512726279287732184794647369316641214399812660252555151533961355188979030926168587328754103561360929718684062754076417964437453994349543840657291966422022301591696719243483614636676656596793233557923637201282755790515724355997837085492225568999208296508836531570062281237759272665070295649819176304622086313856073331989402223613013388331133266664452588692767744619142752060796852100662289454204108659736407216226069647730659024826618430113080355479071453544849598251927752006101825808929594189875218446881381209116403497831898322648048255580015059010427998101963113700596838930973507958851893392510726352613294010378166083230093602399383587559927461446214800992562151627897051242705492308401036605702721486839182003683341761982372556995940240586027587392300384268101346199264535291589775413014588001086700733746661716786319996739156163127039339058735781883365232565229340748846710397452170779851411472975172617902639049219094446696778646503228712975747875808555635846649973017899221627513933142519587858743910188755724432567965584842212996528117666663379862433675814731585391714896886580419227864200103060422445113672317545268194374761610590091795259830342544265879558621778274749009963895993785798741127133970858034819674454210475239601068792492997428119597018057657720371523301811835982652464074148122201118315536713344238434670927676212474875477050626839734074573492543766722472621599669708737848580019224080325867619938376900381726491777327332807282134670340127694424728022588848823473605216029416814179448920048329664718650123864894386288816779281461808678144073555034237833200205904948324848338013101887901669654767895686159175262537116124931660843075933931644887254789968543318582706585632934819332855337404821248698376524363494828426622597008905447563328797185620485099293742967451301872639716727197936276271579329510588089188931150124512088857108051704616429567213060068133862549696406931401049956298080323980697381618748959775031231016863122342914423847986209713060694152272184508574494996789710760440241134442282911336713060176302360833977533911151282081804111283543737423379211080481816365228449248444537880386537038619632305446334211741586827600007354160817486113783925242531499000010599128704463484698052148455590457437697713038325613877198638123545619689650221233111303753178686262107294190738800916164737284681156983580452362494785554063994560103892198384264912835550493400344118990186974869606313269865416120502497962226809485772635364465607368890279708162159681422274493335944481317133561593596529997142079245091466190341917548312046830858096650930027631643630608393840632974210809823035357935808771339558035704918919681390091571777728096464150066446887253135137815192928790736253251435764886647917504010466546370307435987260121719804370471303742891621395360956303619084486839847851619572727414088257291196966621914032968900282605079612687698703646610948613595394492357734057645207480154191464877228386356653018430912626558618399126033695007423532025177406931510361107524 35127413470291508113740583100956475744386712718645157322998834087759180785006574746332249497085673898023571515424484464246471044769498985375097845917081733625280058995301832830063531171909101072628518011232691691153569913850720087289505143277140536446873353224345853155621014136073410304183387142828460462437803051421876185234080743269206054081739886212026359436439707149553882963979664915580438261089341528685058850026029137994979176427888284112170874128859915672495450489164275579501772083663794066291660120576479325887841720338377981326951853106609362508748173734062217664835409204628118414396351224709330397413873956389850276063680886771919465150064549261126754749433477473820130526146334953490359412633297482023537279680757577199102202519854749797585926960431636112710525345535147803576932619621221984167869388299927486296352115034235077908045888457866597753284898734145185999655722357061883753311079855762056099994912538322509965831112248958234742137138729797444963495957767509798692773228542465881080448195782527875918062263014839432093837263779834129730672472990796108394750635372113183948721444071736476353724719944163459380909707189658401600623674489255271052355059726972415152812367878918865958836059457714386870238749509278894306326013635810081873850211931596267436456795786815594091324635255248116517593398560271272401849912166278832182629213179269933492232896045853579732113980140316565386781708296862584447654914381051847317620056981339350069334625395186750422284707762362267194486525423248247709975826848627840863843818707643269908291237764022046576713899548503701964978788914922538673440369703625672757256389197543732122710660542775553716810567073213499987319125263938539507415155402171829456192696471460917302949968532572137172040215810064108446550965709054684109989553050981626554492881970976457782464003382930055467260281429141164208657837604349988621762694223595569944525680242943952175787601966271551354202927456005061013759130087884868064072439949211426482973542707259431210147658182472721366625348090837162271606421033427155504330188222883779944912798445956057214556903521228615632084709794962273167159004852858237719681774106070597713629843382714545913132155669524741091912915768053075015595533728086322977502659637429381457871597870854909501294341221441455413892338922968452902530499779144596639445716573136036498288356869656774164983575434923034415874582279521588054366347288375085146788175291188124511056475398079080683060978224217000590380817175732228102572053825733117229780260019516720884264637682099803514668549682089624977288510844170697452228937802232752038791988535759335545726400262147804238029109157720990589228158788298742678542768268344610520397885343349346991931803651607961194370416020533384592067152138553879559667548922033124727641900615631712703123716606310428519830391385661779658294564202620618410838723914744332436160595678347895419136621338655362953147081075686774005984542086686392261301972244100529068454389836254422314886979045259344011650756531767512375124648556980727116832114314913584813711531147799727248773740521645419371425215354353180514911180513558536266171683483433291466521170819808074476779870445823454373399070538247290322709864454052051040098507233876751174602176070921090351561100449766346037718836734842568174928492158232582426830379556903612939235122563778281530044656761435762734583430687833596028930759021243860007402730894497017594538846329660270828647 56837348931802554787934042586270088382774345074532805340762617530146768843149011451141975170524958806348577802568713046666911208841059193180195572478862428115169942233564965429902648599108738897440158929535801982963716897149701295670584388825764089087916258242123207814633955147937212857434516770780379139665914372577740287431438083561771641477872229753451462805494972652464426819689691064488337464261565546189044708694588680799211760940614563399903058923507284989136664888976935832056923617625149255270691046745066654641945281699307700011014607183027326946202168083606058322127375626650420006093070468192945034090530553183083833987318088054675255665788905258963840241659046473028427034982866523552640650392570147093832929499933881821188516375928081786988150573445024443843792009987736496344677238763974044964721488962216940500460774770642294134115536188525622579903328847225541478727175901911482005238831861863881908924506728197728412712493458074638239969037052445493219075972826520226690875191656166477919379169290486727811454773741192045387847641945917359824274872374383668322212081586914176510873071968787719059217028345200065083631194028840405283965436471627828048295300313000002545112752147020212158100594749304162283253337510365595040072675352596401870589368094723306775515531568698959323889864595996963227990850731051123813322887338896734821678432273716630270879399274566555479989788695952412036754726196084211961588056900639706061530245737063782637300210237399746950402374425742129628162340154833639424872713429047068728043921768065715021963555309290240951475510138595497224809131459188418232062147978374682721152382983342473249844631400810373391264777548453101056111618261366659104433213059892200979494508307443569767024116654773255487576929154302543117478641921529559587040179890715701127985425737698930404063673091667904047279505509467031828596214504731715113540021556402852079196020370638376903810190815095024959418956872819240462679178417549586714196304843597715299752824169068109354221213216710554566831253039162010609619522921328825159098083909042955207449914570887718057632837452873502886874678338280855873744637787677570575019178927319296090154206877542972535729164574972304420710101388538174309338501179388195617219386835365657729450927381442998690225491345953544271000390627584882469743559847278459189142123504537086454586437193637471546602324394698065646891445401864502478214333498088145840940447475696699006053265108839520924195420507128337303440993478093062080105964977015199033891543563254144263475718163916168743117798126627505363825549463803002898563149543819579638799342696576821659510325504679303238039708286425454073926210936754333135980465981382936134275083981472892611621453872841072498123594706795491886257890939470044296952230079016705180004395401185776697683820498508812784743226936155180002413554389595488017151993780160452938658557905157381191771985804262731843426789237846455428259035422630873578435533837697059065596469081345888505228896593571390842508853182697540006768279165374567749806325124736620171647339919139285284478659441326809462996993082449644664977627400811671403986876412224027719772606584694722394283880912369824680835057798369010127080335757794942661493868190180370259089015918772709924288514538023637234685458648875537075211097237845270125534026167852226534629614921512339175252136915627227611811817044486614459843385579862259133436425901920549619716253261170631936171 91964762402094062901674625687226564127161057793177962663761451617905949628155586197474224667610632704372149317993197510913382253610558178555293418395944161740450001228866798259966179771017839970068676940768493674117286811000421382960089532102904625534789611466469060970254969284010623161617903913608839602103717423999616472665518826830977695559612115965477822241934679802018309783669355980068775725350907074874103558720617818794190937368502847512073933052367200661632115378141211411558695701288943321562351167321545980529787002037685681337966460289636689454950341817668275986962784831278538420489421692902275431504404509572934110050998974826594720815853454520090594991092523946848557561129201477043000063025867629117370209180691459020290718895782831584574077533876660556554317355522884299921609858385196029132590877262144426796812889804877372042161424646392220333188227581370727478382898258973365758549911717625938008919419266520238378543605707032872982106175782242938182571930594030025383648420198632358999827365073014603729517036756031477481684905725751489554947345365179776716962716959027360459594516040524195412941748289363524464540901218498806884589110960883099100650360039972417697925120025939078116936654207018549153492087019644489346398688988406483744439580026319574211972327355514553415214499851245079745584249291322396215172799505175567004307645452986563763112295320420135212103768836268977423536434492946796409242971281691553379150302718403132706634835632586497372687082188104396822648865578081887134848540277674909591887740475708984930254793073312287528189409687099199189787920374110956905502517682000355478408772180886205372555291943585927108075344621666601043430743525305198611848368462064030435687204778904487069974085187345392659617144964366651564029607630584243697029732941697327682478307708675388186527676474597959514539786938608196037254052109081703735302715779998422023721700613582329079597792781366576313621884328824301476438308505434454778268744792809141782726366876327540564368871399183275933456601129999172881225943954755980663428272131926735152362713016843775272189740974102118518959388133243129040903642640535808294700953033389893803784050260257518448861320244497045512623017156591249324934034907474518594722046472795039187322525252297908191519832567394999684892729550553335372274059626423055828587840077673122952874794063294245711585899829621100062766027681386090532580680786463230987728622766884823517109740506918601607256398731345337893821810653825290182678018802748316263671803582770865147740355846015972257786347808717130341114060307973700350792087346052331677591331232336157205236725766827107476068817444146444663154369725053075814523234249727546654672969324822239603553257524449033692494010727328876478325043078023923856619779001049829907646296016817489400807537104819241304573618321816959660708118592216106427990717694904785374819153583505276610908607142918094796573870313533229434243577509317265839737506081797588134050858917600310820115875638830734854159609714465052381892927722355294866638439439650204985358871066939012533252399962972228834422208436802825179888807914370207670158559895657319186293777404502796871063751358193279054234128336616300449790200211846993701592375424057121433691191989693800275849614987789983272404295383718105250139589396077852552364405724755839473864737485290620705296793677062990346395247732320210488774144601106119140839156796417567214255099590830902764818 148802111333896617689608668273496652509935402867710768004524069148052718471304597648616199838135591510720727120561910557580293462451617371735488990874806589855619943462431763689868828370126578867508835870304295657081003708150122678630673920928668714622705869708592268784888924431947836019052420684389218741769631796577356760096956910392749337037484345718929285047429652454482736603359047044557113189612472621063148267415206499593402698309117410911976991975874485650768780267118147243615619318914092576833042214066612635171732283736993381348981067472664016401152509901274334309090160457928958426582492161095220465594935062756017944038317062881269976481642359779054435232751570419876984596112068000595640713418437776211203138680625340841479235271710913371562228107321685000398109365510620796266287097149170074097312366224361367297273664575519666176276960834917842913091556428596268957110074160884847763788743579489819917843925994717966791256099165107511222075212834688431401647903420550252074523611854798836919206534363501331540971810497223522869532547671668849379222217739563445039174798545941536970467588009311914472158776634563589548172095247339212168554547432510927148945660352972420243037872172959290275037248956322711436745424530010084386471364341002885615028948121042880987487858924213512739104364447242042973575100022373520028495686844072301825986077726703194033991694594986690692093557532221389460291160689031008370831028182331259440680548455466915343935045869986244323089456613846526450811205732915526559721253706721978319931662243774699952218348382602528479664919825694696414597051833299375137564665660375038199561155164228678622399923344396300499340122170119702099542361786671857716281581521956231415181713086348056836998201842118648147194074118669194681508249552113803284069912832413028810463733446374318590591349566265863561819292448075227865850266613813418848842737336401274102917720984220705983407983596461601273040841201643541939117486922984041492465049636406857082479191045395649918590084615893830500287854169161183490845466876084805822526356040969690359812627587731493329822578426975621405834066471523984914648280428213378869720131960709189893938257137800490984590484819469349933333118545129423634272536086862714211941433308160696916773452633740906881745323913348543955893120178138217842017619473701515017729963582210209407461231256931717258188224224319165709657473083250593010795014284551376828669070242581522523163005615758122531451819238473675197262804131918352262783983779763515297563347146025009411216074009932141000904145935344635704939609771776703249355236889871911316390673928912978864747051271506410714108525730571898737080580661807408950503700231110482788948053306295132215174711397290106190617605434124368364582934017493968153572009080066535087650691418003266098491357603328054089316845257972139663121672981811594445142711475065238313477711488662657802680592947180826640000659551379684862502612931948139418173039919494647199647327998946199325344772232402125696668462897162592388661206887729862616444764564386825157006210986078297817731059404299038297419201519252469844866435315181879074145436307881346906066383989197519265347632270563103735069186134985310576870535969641936363086243614237491692780207908466510200138129525813620507089754032593642325350686633923122677898431892608066008494352406802959880548930592690217958207064776806824948617530180968378274275582698338116833971352852001534700989 240766873735990680591283293960723216637096460660888730668285520765958668099460183846090424505746224215092876438555108068493675716062175550290782409270750751596069944691298561949835008141144418837577512811072789331198290519150544061590763453031573340157495481175061329755143893715958459180670324597998058343873349220576973232762475737223727032597096461684407107289364332256501046387028403024625888914963379695937251826135824318387593635677620258424050925028241686312400895645259358655174315020203035898395393381388158615701519285774679062686947527762300705856102851718942610296052945289207496847071913853997495897099339572328952054089316037707864697297495814299145030223844094366725542157241269477638640776444305405328573347861316799861769954167493744956136305641198345556952426721033505096187896955534366103229903243486505794094086554380397038218438385481310063246279784009966996435492972419858213522338655297115757926763345261238205169799704872140384204181388616931369584219834014580277458172032053431195919033899436515935270488847253255000351217453397420338934169563104743221756137515504968897430062104049836109885100524923927114012712996465838019053143658393394026249596020392944837940962992198898368391973903163341260590237511549654573732870053329409369359468528147362455199460186279728066154318864298487122719159349313695916243668486349247868830293723179689757797103989915406825904197326368490366883827595181977804780073999464022812819830851173870048050569881502572741695776538801950923273460071310997413694569793984396887911819402719483684882473141455914816007854329512793895604384972207410332043067183342375393677969927345114883994955215287982227607415466791786303142973105311977056328129949984020261850868917865252543906972287029464040806811219083035846245537857182698046981099645774110356492942041155049706777119026040863823076359079386683423903104318722895122584145453116399696126639421597803035063005776377828177586662725530467843415555795428418496270733794429215998865205557921723190482958956015077106433744455299160356372071410830840786485954628172896425512175340604575268602012319401077739924793454604767113955551923068749187164421084994099083697722307398058009433451805063966395445956135701720672959206570994337232806663479780955736104095977886038815073265156480743543640785849728691553214291679100124570846317803659883332360336025320225962969774124053940265772423500764636683543375695071014607816397693009466346040272746122676724138708217969819013091084614785743642445462002582511831561235150728795874558956429855948113258690493744061766046053670079750403600147324235924242993982005161249136069983777038333518190177343174718343400234950386860484765026934480838029443621022631117371818727968921739139883111616161453244842907977095517892010191788081116364995296987434820755499298894708147295393890463579789099323829791574027700873133429169970023688296865072167934413589200090098921436574529864912914296746190441265405257910546001292235333698186916546510145460647871232860550828072611627644770554134610085157483083204004037030142365082053017310350983459367271267131841409956055295024755243229552086744303996203538666092360161393700316136411383628756382789303314471601611026660736181488930064678619038294613126471399898160310475987744513603603779494049416311747575490276030000975230262837617363905482359089892093580585845724269753208304602312509127035437391674782074497415114739494755684048226452442832437465807 389568985069887298280891962234219869147031863528599498672809589914011386570764781494706624343881815725813603559117018626073969178513792922026271400145557341451689888153730325639703836511270997705086348681377084988279294227300666740221437373960242054780201350883653598540032818147906295199722745282387277085642981017154329992859432647616476369634580807403336392336793984710983782990387450069183002104575852317000400093551030817980996333986737669336027917004116171963169675912377505898789934339117128475228435595454771250873251569511672444035928595234964722257255361620216944605143105747136455273654406015092716362694274635084969998127633100589134673779138174078199465456595664786602526753353337478234281489862743181539776486541942140703249189439204658327698533748520030557350536086544125892454184052683536177327215609710867161391360218955916704394715346316227906159371340438563265392603046580743061286127398876605577844607271255956171961055804037247895426256601451619800985867737435130529532695643908230032838240433800017266811460657750478523220750001069089188313391780844306666795312314050910434400529692059148024357259301558490703560885091713177231221698205825904953398541680745917258184000864371857658667011152119663972026982936079664658119341417670412254974497476268405336186948045203941578893423228745729165692734449336069436272164173193320170656279800906392951831095684510393516596290883900711756344118755871008813150905027646354072260511399629336963394504927372558986018865995415797449724271277043912940254291047691118866231751064963258384834691489838517344487519249338488592018982024040709707180631849002750431877531082509343562617355138632378528106755588961906005242515467098648914044411531505976493266050630951600600743970488871582688954005293201705040927046106734811850265169558606523385303405774601424025367710375607129686638178371834758651768954585336708541432988190452800970229557142582023741046413759974289778859703566732111385354673282351402537763198844065622855947684748967118840401549040630970936934032309468321539862916877706925592308480984213866115871987968192306761931834897828053361330627521076291098870200203496962566034141216954808273591660564535858500418042289883435745379289254246850096593479107081199947018604913089116433020869430519779721955010480394092087596678969906829771056309298573826085864047767242093541767797256577157680227962348278259431482080973847887276554170709355565984645066763252047868563435751738434846670160037208292688288347418917661994708245986362275346858798497874820883970172503865880254259594639679406401750993279851527106849502561125796154310372679090162114934730828309839928904285868905290242137315531048667893715530634711948512232569075937412504033902680319029246073729221595577613207490911113011860163763797161182900082947678852824021597790252311475349483207308837761238986951464555839295318276140645035262001774576560830592216269793037279748076575189416292599159248803373213544676083585920786882533345514915492709470805420103634986247496535508790237159215341497815020099527968568423855299371293039095608168714518771570305429260611475307764869621678544733965818449432511420012998426545382897835401759015899319486524372500606586921603531272151130866427764862652532104819251607806626820676125874039417224286583803448905389900840962663924097908161269509971971490853442298896540466394654862443426262809377285933860386009204963042875689390322193093800882197805294833972166796 630335858805877978872175256194943085784128324189488229341095110679970054670224965340797048849628039940906479997672126694567644894575968472317053809416308093047759832845028887589538844652415416542663861492449874319477584746451210801812200826991815394937696832058714928295176711863864754380393069880385335429516330237731303225621908384840203402231677269087743499626158316967484829377415853093808891019539232012937651919686855136368589969664357927760078842032357858275570571557636864553964249359320164373623828976842929866574770855286351506722876122997265428113358213339159554901196051036343952120726319869090212259793614207413922052216949138296999371076633988377344495680439759153328068910594606955872922266307048586868349834403258940565019143606698403283834839389718376114302962807577630988642081008217902280557118853197372955485446773336313742613153731797537969405651124448530261828096019000601274808466054173721335771370616517194377130855508909388279630437990068551170570087571449710806990867675961661228757274333236533202081949505003733523571967454466509527247561343949049888551449829555879331830591796108984134242359826482417817573598088179015250274841864219298979648137701138862096124963856570756027058985055283005232617220447629319231852211470999821624333966004415767791386408231483669645047742093044216288411893798649765352515832659542568039486573524086082709628199674425800342500488210269202123227946351052986617930979027110376885080342250803207011445074808875131727714642534217748372997731348354910353948860841675515754143570467682742069717164631294432160495373578851282487623366996248120039223699032345125825555501009854458446612310353920360755714171055753692308385488572410625970372541481489996755116919548816853144650942775901046729760816512284740887172583963917509897246269204380633741796347815756473732144829401647993509714537451221442075672058904059603664017133643569200666356196564179826776109419536352117956446366292262579228770229077779821034033932638494838854812890306888842030884507996646048043367776764767481896234988288537766378794435612386762541384163308796882030533847217229131101255420975681058212825752126565711753198562301948907357289382871933916509851494094947402140825245389948570769552685678075537179825268392870072169124965408405818537028275636874835631237464819635521324270600977673950656710365570901976874128133281897383643197736472332199697254504474612523960097546404426580592461464456261514214603708497861111570808868255178111701379432033703405637153707988944787178420033648603616758529128933721828367518285133423468167797046949931277510449649885361720397304354684251411251004714605348173447094463212080008585537550481435528378480557569192786541676190098568529875852630649240768385956840837757030858050398888208529752173955585242299265078244666287644777097089147019622644877097772417550338310781256129866996191409569815005285690071441632998526629858993127378669513149719281205513455994993814478949933994131922079117867043701832039219616266067974867846798324608120417881929769476107900177582611172572460885441736375092112918519697978138841572561102021431363059894376921774286052562753428714958679090786706776598151538170399528075869313675815078188532630192008332619796492443481690826717945723007704787131152113618553020828066077852865217137476331238693925073138424107127335876973212532190990121052240379132196634567411689795060895823400879745117373104505061687849484930424257737666409632603 1019904843875765277153067218429162954931160187718087728013904700593981441240989746835503673193509855666720083556789145320641614073089761394343325209561865434499449720998759213229242681163686414247750210173826959307756878973751877542033638200952057449717898182942368526835209530011771049580115815162772612515159311254885633218481341032456679771866258076491079891962952301678468612367803303162991893124115084329938052013237885954349586303651095597096106759036474030238740247470014370452754183698437292848852264572297701117448022424798023950758804718232230150370613574959376499506339156783480407394380725884182928622487888842498892050344582238886134044855772162455543961137035423939930595663947944434107203756169791768408126320945201081268268333045903061611533373138238406671653498894121756881096265060901438457884334462908240116876806992292230447007869078113765875565022464887093527220699065581344336094593453050326913615977887773150549091911312946636175056694591520170971555955308884841336523563319869891261595514767036550468893410162754212046792717455535598715560953124793356555346762143606789766231121488168132158599619128040908521134483179892192481496540070045203933046679381884779354308964720942613685725996207402669204644203383708983889971552888670233879308463480684173127573356276687611223941165321789945454104628247985834788787996832735888210142853324992475661459295358936193859096779094169913879572065106923995431081884054756730957340853650432543974839579736247690713733508529633545822722002625398823294203151889366634620375321532646000454551856121132949504982892828189771079642349020288829746404330881347876257433032092363802009229665492552739283820926644715598313628004039509274884416953012995973248382970179768453745394913264772629418714821805486445928099630070652321747511438762987157127099753590357897757512539777255123196352715823056200727441013489396312205450121834022001636585753706761850517155833296326407735306069858994690614124902360131223571797131482560461710760575055855960871286057037277018980301809074235803436097905166244691971102916596600628657256151276989188792465682115057184462586048496757349311695952330062674319232703518903715630881043436469775010269536384830837886204534644195420866146164785156737126843873305959188602145834838925598258983286117268927718834143789542351095326910276247776742574413338144070415895930538474541323425698820610459128736585448460411236651717113782146577106531219513562083167144249599546417479028292386404389667779452621067631861953975307062525278832146478437642499301437587708621777879773102874569548040229782804617299152446487516551614727363341573365939445433658013375998749080985298827674866012484196272196088203904735053908759174505942379886533329559797632030570059352608471257889799321541612337719382403482165161192345140468798694879399331097994360305081255311577297732720685706291509685710460040547691846018193829118846128786164658417589724908697498112615243797187692494610077717842866000400389216747531929087071488078502833045821143629208119088984817605715197682139141140884740741107668131208526688412496910411877990362632906670824763998600319020018381202861226378692089213252159495986939929415427395355838048315684775454233723280483750662920208344343358822764974615511413951828239492592438052352661656314122527377172201357849171046585376637307848464065974489886661518635033994640060830221067080994756209410084708160248793895383880943285812622063032500381799399 1650240702681643256025242474624106040715288511907575957354999811273951495911214712176300722043137895607626563554461272015209258967665729866660379018978173527547209553843788100818781525816101830790414071666276833627234463720203088343845839027943872844655595015001083455130386241875635803960508885043157947944675641492616936444103249417296883174097935345578823391589110618645953441745219156256800784143654316342875703932924741090718176273315453524856185601068831888514310819027651235006718433057757457222476093549140630984022793280084375457481680841229495578483971788298536054407535207819824359515107045753273140882281503049912814102561531377183133415932406150832888456817475183093258664574542551389980126022476840355276476155348460021833287476652601464895368212527956782785956461701699387869738346069119340738441453316105613072362253765628544189621022809911303844970673589335623789048795084581945610903059507224048249387348504290344926222766821856024454687132581588722142126042880334552143514430995831552490352789100273083670975359667757945570364684910002108242808514468742406443898211973162669098061713284277116292841978954523326338708081268071207731771381934264502912694817083023641450433928577513369712784981262685674437261423831338303121823764359670055503642429485099940918959764508171280868988907414834161742516522046635600141303829492278456249629426849078558371087495033361994201597267304439116002800011457976982049012863081867107842421195901235750986284654545122822441448151063851294195719733973753733648152012731042150374518892000328742524269020752427381665478266407041053567265716016536949785628029913693002082988533102218260455841975846473100039535097700469290622013492611919900854789494494485970003499889728585306890045856040673676148475638317771186815272214034569831644757707967367790868896101406114371489657369178903116706067253274277642803113072393455915869467255477591202302941950270941677293265252832678525691752436151257269842895131437911044605831064121055300565573465362744802902170565033923067023669585839003285332332893454782458349897352208987391198640314585786070822999529332286315563841469472438407524521704456628386072431265820852622988170426308403691520121030479778240027029780034143991635698850463232274306669141698829260771270800247331416796011561754143763350071608609177872419597511253921727399284778909046047290024063820371924966623435292942658825991089923072935196749263518208727169567995675775076297770852747460657988287896547564516091047211486324473269015661964251849703698865795082054401028430371309536989296164906526342737345087179714082127748802331849236948919082047592984616944160039006186823093212293065307413212416493919724650676645773097521595584949273074472255739163978800566017987410897109639329308288687530071364511674967645781430239437011428113575791968546350720639237402853672861915608513976815573287701095280275045833381917459826827645475987779292037087102874627978703626071238791002171444544071849764945118267432918579571148703337556053370679844145751749626001018754293713615375264750313713345626182844043223321445208110475049253450551464654338033884658375522093306070943956289941337371179999958936094138478099814955471225151724130762963986863915288816370459412651826034185540710697623216201082980353111145458880418739509179339664853503440051774244185009483764643725437278506680876782570875413126836695397632756876055652032810964453277621898400445568792770743046320770166791432002 2670145546557408533178309693053268995646448699625663685368904511867932937152204459011804395236647751274346647111250417335850873040755491261003704228540038962046659274842547314048024206979788245038164281840103792934991342693954965885879477228895930294373493197943451981965595771887406853540624700205930560459834952747502569662584590449753562945964193422069903283552062920324422054113022459419792677267769400672813755946162627045067762576966549121952292360105305918753051066497665605459472616756194750071328358121438332101470815704882399408240485559461725728854585363257912553913874364603304766909487771637456069504769391892411706152906113616069267460788178313288432417954510607033189260238490495824087329778646632123684602476293661103101555809698504526506901585666195189457609960595821144750834611130020779196325787779013853189239060757920774636628891888025069720535696054222717316269494150163289946997652960274375163003326392063495475314678134802660629743827173108893113681998189219393480037994315701443751948303867309634139868769830512157617157402365537706958369467593535762999244974116769458864292834772445248451441598082564234859842564447963400213267922004309706845741496464908420804742893298455983398510977470088343641905627215047287011795317248340289382950892965784114046533120784858892092930072736624107196621150294621434930091826325014344459772280174071034032546790392298188060694046398609029882372076564900977480094747136623838799762049551668294961124234281370513155181659593484840018441736599152556942355164620408784994894213532974742978820876873560331170461159235230824646908065036825779532032360795040878340421565194582062465071641339025839323356024345184888935641496651429175739206447507481943251882859908353760635440769305446305567190460123257632743371844105222153392269146730354947995995854996472269247169908956158239902419969097333843530554085882852228074917377311613203939527703977703527810421086129004933427058506010251960457020033798042268177628195603615762276334040418600763773456622071200086003971394913239088768430798621027150321000268805588019855896465862775259615465211447343500026427517969195756836217656786691060391663969339756338619051469744873466530390566864609077913234314678339412501845015248389011433513015004788449373416635086257015054994847871412691068905752398720223514924421530169504141859192247190117705919994358846466290049134113553117954727675371533346433400980631990873746674526895288638380937996997060204405766924839950920480714990938945540900877615939558912228977697941560492043527731808897245611074044679629217306893127409496886745047954778336753500533809410934557982883605472664200199091961374050606240887282506403920922872733977002256649493708447580414635625697308360363650017980956462247800566178486851612976849394350049263595400629356568582374486847945681818633597707934928173492906246697501279579210780990735086381073763478020656764322116565456695504692599536676201738686482588189863939154149567607811118667822135327103077790409044131873512889966895378834120107739111319330572946889454854230366923951711354529971896522971959665328541827287244704709422374122412326089325159151167716063269213211095590125418029230382866580989772446447739441097638569300121122332860170377544363475672238727615034808592603737896932771401165493462192230675641409623415231594860401951573901344481170763444089510447121476756227853823957050408242221049161437870692295829449736056555668383802667173231401 4320386249239051789203552167677375036361737211533239642723904323141884433063419171188105117279785646881973210665711689351060132008421221127664083247518212489593868828686335414866805732795890075828578353506380626562225806414158054229725316256839803139029088212944535437095982013763042657501133585249088508404510594240119506106687839867050446120062128767648726675141173538970375495858241615676593461411423717015689459879087368135785938850282002646808477961174137807267361885525316840466191049813952207293804451670578963085493608984966774865722166400691221307338557151556448608321409572423129126424594817390729210387050894942324520255467644993252400876720584464121320874771985790126447924813033047214067455801123472478961078631642121124934843286351105991402269798194151972243566422297520532620572957199140119934767241095119466261601314523549318826249914697936373565506369643558341105318289234745235557900712467498423412390674896353840401537444956658685084430959754697615255808041069553945623552425311532996242301092967582717810844129498270103187522087275539815201177982062278169443143186089932127962354548056722364744283577037087561198550645716034607945039303938574209758436313547932062255176821875969353111295958732774018079167051046385590133619081608010344886593322450884054965492885293030172961918980151458268939137672341257035071395655817292800709401707023149592403634285425660182262291313703048145885172088022877959529107610218490946642183245452904045947408888826493335596629810657336134214161470572906290590507177351450935369413105533303485503089897625987712835939425642271878214173781053362729317660390708733880423410098296800322920913617185498939362891122045654179557654989263349076593995942001967913255382749636939067525486625346119981715666098441028819558644058139791985037026854697722738864891956402586640736827278135061356608487222371611486333667158276308143944384632789204406242469654248645205103686338961683459118810942161509230299915165235953312783459259724671062841907505781345566675627187105123153027640980752242374100763692075809608670897621014575411054536780448561330438464740779629815590268987441634164360739361243319446464095235160608961607221896053277158050511597344387317940264094712483404137543865711621285740182156703617710144687435333588431851006409625556454418977361007898095934521932784091231541143971156236164995944058179218391256672569406495776780718765294606281630150244150199600916242522571063714678708849744520862394054821387515436571762202425270014169893277903810761932676563736642546444556162180206782600370209586155560044238214589210968872796757110185990449452891458527542599827765511670387022185173667115913654099699000323645573549379750099778245078657720654886891364861287160929668005391853571887129874467174381684341361069317695045025640066367996695950278816492032539272835110788601035408514760674316852866911876271010132214455680937847484409798104344748732591795474164654905364757721379192035383698221417372756236935255053906674226493746600185244192734112647128460121126493405032945948211639768567575993106795754577851417104633447008918779093291941582738594080749644505632160269115441109053434449213170031684263896129045338337806141496577210703427961553858116491581745511996411729904186369861943816117788945714883355813190140674672801857084179081461397659416604344166595299338622987851640226660385860248313451625486580833106060275032013614715492590696275018528827298714704572833964663403 6990531795796460322381861860730644032008185911158903328092808835009817370215623630199909512516433398156319857776962106686911005049176712388667787476058251451640528103528882728914829939775678320866742635346484419497217149108113020115604793485735733433402581410887987419061577785650449511041758285455019068864345546987622075769272430316804009066026322189718629958693236459294797549971264075096386138679193117688503215825249995180853701427248551768760770321279443726020412952022982445925663666570146957365132809792017295186964424689849174273962651960152947036193142514814361162235283937026433893334082589028185279891820286834736226408373758609321668337508762777409753292726496397159637185051523543038154785579770104602645681107935782228036399096049610517909171383860347161701176382893341677371407568329160899131093028874133319450840375281470093462878806585961443286042065697781058421587783384908525504898365427772798575394001288417335876852123091461345714174786927806508369490039258773339103590419627234439994249396834892351950712899328782260804679489641077522159547449655813932442388160206701586826647382829167613195725175119651796058393210163998008158307225942883916604177810012840483059919715174425336509806936202862361721072678261432877145414398856350634269544215416668169012026006077889065054849052888082376135758822635878470001487482142307145169173987197220626436181075817958370322985360101657175767544164587778937009202357355114785441945295004572340908533123107863848751811470250820974232603207172058847532862341971859720364307319066278228481910774499548044006400584877502702861081846090188508849692751503774758763831663491382385385985258524524778686247146390839068493296485914778252333202389509449856507265609545292828160927394651566287282856558564286452302015902245014138429296001428077686860887811399058909983997187091219596510907191468945329864221244159160372019302010100817610181997358226348732914107425090688392545869448171761190756935199033995580961087455328286825118241546199946330449083809176323239031612375665481462869194490696836758991897889820163430910433246311336590053929952226973315616696505410829921196957018030010506855759204500365300226273365798150624580902164208996395853498409390822816639388880960010297173695171708406159518104070419845446906001257496969145487883113406618319449446354314260735683003163403426282701864052538064857546721703520048894735446440666139628063551224782190474662917049466352353059646846741581066799821746227466357052477193364215555070770893843369674161654261678203038488083893989104028211444254265784777351131341998707855617844711888522743949986700869462100582711370984334587221277135041166519894986981506727566496422113727102034894572366168235301526990558595521293318023372810034134930440645661233297318210463667744308621040695724565278324765664437714357906432818723529208901421007371818132446122657261745218595529444415868141174120220910205428096488073701331107103444203967381899322852370984980567355603077189233777304284155644317117705624079542507294241234232516352276521158529223421806360030747465932381389001156418968584107635119228827443303503123766917958249594274592276769497718426381127274389314158275721204387131269023658442869059192427416612704078372166789274267662042100671431152597538318621252745961541840166264049314854722871021074648199204568546873239967469022403670749896307369790207853340404790156468517253062776153363282992104468264883854383088375501137894804 11310918045035512111585414028408019068369923122692142970816713158151701803279042801388014629796219045038293068442673796037971137057597933516331870723576463941234396932215218143781635672571568396695320988852865046059442955522271074345330109742575536572431669623832522856157559799413492168542891870704107577268856141227741581875960270183854455186088450957367356633834409998265173045829505690772979600090616834704192675704337363316639640277530554415569248282453581533287774837548299286391854716384099164658937261462596258272458033674815949139684818360844168343531699666370809770556693509449563019758677406418914490278871181777060746663841403602574069214229347241531074167498482187286085109864556590252222241380893577081606759739577903352971242382400716509311441182054499133944742805190862209991980525528301019065860269969252785712441689805019412289128721283897816851548435341339399526906072619653761062799077895271221987784676184771176278389568048120030798605746682504123625298080328327284727142844938767436236550489802475069761557028827052363992201576916617337360725431718092101885531346296633714789001930885889977940008752156739357256943855880032616103346529881458126362614123560772545315096537050394689621102894935636379800239729307818467279033480464360979156137537867552223977518891370919238016768033039540645074896494977135505072883137959599945878575694220370218839815361243618552585276673804705321652716252610656896538309967573605732084128540457476386855942011934357184348441280908157108446764677744965138123369519323310655733720424599581713985000672125535756842340010519774581075255627143551238167353142212508639187241761788182708306898875710023718049138268436493248050951475178127328927198331511417769762648359182231895686414019997686268998522657005315271860659960384806123466322856125800425725779767801645550720824465226280953119394413840556816197888402435468515963686642890022016424467012474993938017793764052371851664680390333270421056850364269948893744546715052957887960149051981291897124710996281446392059253356417723836969958182772646367662795510834738841964970026759897920492394693006603131206965492852464085557696379273329953319854439660974261833495261851427782631413761553383713793762504103306220776932746671631582913877328412023869662791505753433878757007667122525599906860474414516415383968287098351967224147134559662447697808110717283248803394272926544671516165205960745909693701468932390075579159572037416067738355696486101929193876567614981793624239395789485569240664171747180436094330825414845584932640056169310810811814463851940337395369556587918824490641468998708734399439592327989643182539136496004974243462308708282433549086680507051212069971493477201813139651023888890188418355419882682222986028764663606022060315112835614981659571532985439353646680762092561974275044480929746897179267929512130244309935768046134985313034533532755350809985125353715625583918325254954160688283547865986012468201925346573934706550592402353323592538332243140451530777902244502361898358192189635754362360725921385222469370168991989382353137543220510232806105789865977502886728411170410181897583873411423590409863390033385822932167639551158958653210287321059542193272765600869146297020746285533104285823884163201004171848411962615247270386484033504608559151682514839065906399033804332418734064803548735142172578590456874043897410282167618103659478826985623262528792285076390868855873688379486793711153097792948335102558207 18301449840831972433967275889138663100378109033851046298909521993161519173494666431587924142312652443194612926219635902724882142106774645904999658199634715392874925035744100872696465612347246717562063624199349465556660104630384094460934903228311270005834251034720510275219137585063941679584650156159126646133201688215363657645232700500658464252114773147085986592527646457559970595800769765869365738769809952392695891529587358497493341704779106184330018603733025259308187789571281732317518382954246122024070071254613553459422458364665123413647470320997115379724842181185170932791977446475996913092759995447099770170691468611796973072215162211895737551738110018940827460224978584445722294916080133290377026960663681684252440847513685581007641478450327027220612565914846295645919188084203887363388093857461918196953298843386105163282065086489505752007527869859260137590501039120457948493856004562286567697443323044020563178677473188512155241691139581376512780533610310631994788119587100623830733264566001876230799886637367421712269928155834624796881066557694859520272881373906034327919506503335301615649313715057591135733927276391153315337066044030624261653755824342042966791933573613028375016252224820026130909831138498741521312407569251344424447879320711613425681753284220392989544897448808303071617085927623021210655317613013975074370620101907091047749681417590845275996437061576922908262033906362497420260417198435833547512324928720517526073835462048727764475135042221033100252751158978082679367884917023985656231861295170376098027743665859942466911446625083800848740595397277283936337473233739747017045893716283397951073425279565093692884134234548496735385414827332316544247961092905581260400721020867626269913968727524723847341414649252556281379215569601724162675862629820261895618857553878112586667579200704460704821652317500549630301605309502146062109646594628887982988652990839626606464370701342670931901189143060244210549838505031611813785563303944474705634170381244713078390598181238227573794805457769631090865732083205299839152673469483126654693400654902272875403273071234510546324645233576446823661998263294006754653397303340460175613644161339562059768627649578407212315925762380109647260913494129037416321627631641880087572500120430029180895576173279325663008924619494745394743587821134734833414641412612702907150297963088730399672163255348106350115976446593566251611646626885537757252693714580550242076621503768420798002543227682995993698313842448150676716589153701124311435065590550110255985087093048623420723950158414839023258718117725114746500898586626680108486180887231478349426293197451743765250507480339561464739443749448953444073662013778778566393607204303848034223390057125489945345978478203516304052137473640156990755758496848278977781996653183662267721457817127252599810145367461255085700748235659453211356775417953117759157190794500569405514569769583766758038546165159588784771621567317119571646129313955834029402963387333890948141409432374228835062057888819479603982271732143048603594958437737498990528698215411188713168290686442614195106946284946086994363530399237625201086997178341548659457664625662592429886065932286233042524445596780746580404034624527589166079938712949716989902256329990278439510454063286678422984022352125861305113224355005329955713888527203439808713002753303689045818557925896447568160178474987893867332167390413418997309538139167022219156680483955058595007480881323836240453011 29612367885867484545552689917546682168748032156543189269726235151313220976773709232975938772108871488232905994662309698762853279164372579421331528923211179334109321967959319016478101284918815114257384613052214511616103060152655168806265012970886806578265920658553033131376697384477433848127542026863234223402057829443105239521192970684512919438203224104453343226362056455825143641630275456642345338860426787096888567233924721814132981982309660599899266886186606792595962627119581018709373099338345286683007332717209811731880492039481072553332288681841283723256541847555980703348670955925559932851437401866014260449562650388857719736056565814469806765967457260471901627723460771731807404780636723542599268341557258765859200587091588933978883860851043536532053747969345429590661993275066097355368619385762937262813568812638890875723754891508918041136249153757076989138936380459857475399928624216047630496521218315242550963353657959688433631259187701407311386280292814755620086199915427908557876109504769312467350376439842491473826956982886988789082643474312196880998313091998136213450852799969016404651244600947569075742679433130510572280921924063240365000285705800169329406057134385573690112789275214715752012726074135121321552136877069811703481359785072592581819291151772616967063788819727541088385118967163666285551812590149480147253758061507036926325375637961064115811798305195475493538707711067819072976669809092730085822292502326249610202375919525114620417146976578217448694032067135191126132562661989123779601380618481031831748168265441656451912118750619557691080605917051865011593100377290985184399035928792037138315187067747801999783009944572214784523683263825564595199436271032910187599052532285396032562327909756619533755434646938825279901872574916996023335823014626385361941713679678538312447347002350011425646117543781502749696019150058962259998049030097403946675295880861643030931383176336608949694953195432095875230228838302032870635927573893368450180885434202601038539650162530124698505801739216023150119088500929136809110856242129494317488911489641114840373299831132431038719338240179578030627491115758092312349776576670413495468083822313823893263889501006189843729687315763823441023417597435258193254374303273463001449828532453898843687081926713204420016591742020345301604062235651150217382928510964670131297432522751178097480273972631355153510249373138237767776852587631447450954162646970625821236193541184488536358239713784925187574881457429944300955984943186693552099237337730546350315912507894208353364006327725649835073181969665452141870455174545504599127649885940212748865885525441386947789643976344535708201752457731386993160342520829990636365100681505661173874413946015678363701398360885739290080902137246179051070871332463260637353529638623015914402219909689226874854626297208152264968677747789697521292543464088103072191724327255920215499695123299392341956871420113749473055169433303132039848054660529768735953555789687214540679741675514680365839960133321841502340463921778802965955684359122721459898867207400571066305833906952847001212736150923589881091941569647807098670870589765139069321054659048415362053705483445191695734732917840288773676800225396735463100684998482821275726140493191282611358866025901925693370506385630469864264906869844395862112922331535858542777806302038831218397148382770491465570460642605997526810994376036681526101823215557891075030368863441852306160578674272171343011218 47913817726699456979519965806685345269126141190394235568635757144474740150268375664563862914421523931427518920881945601487735421271147225326331187122845894726984247003703419889174566897266061831819448237251563977172763164783039263267199916199198076584100171693273543406595834969541375527712192183022360869535259517658468897166425671185171383690317997251539329818889702913385114237431045222511711077630236739489584458763512080311626323687088766784229285489919632051904150416690862751026891482292591408707077403971823365191302950404146195966979759002838399102981384028741151636140648402401556845944197397313114030620254119000654692808271728026365544317705567279412729087948439356177529699696716856832976295302220940450111641434605274514986525339301370563752666313884191725236581181359269984718756713243224855459766867656024996039005819977998423793143777023616337126729437419580315423893784628778334198193964541359263114142031131148200588872950327282783824166813903125387614874319502528532388609374070771188698150263077209913186096885138721613585963710032007056401271194465904170541370359303304318020300558316005160211476606709521663887617987968093864626654041530142212296197990707998602065129041500034741882922557212633862842864544446321156127929239105784206007501044435993009956608686268535844160002204894786687496207130203163455221624378163414127974075057055551909391808235366772398401800741617430316493237087007528563633334617431046767136276211381573842384892282018799250548946783226113273805500447579013109435833241913651407929775911931301598918823565375703358539821201314329148947930573611030732201444929645075435089388612347312895692667144179120711519909098091157881139447397363938491447999773553153022302476296637281343381096849296191381561281088144518720186011685644446647257560571233556650899114926203054472130467769861282052379997624459561108322107695624726291929663948871701269637395753877679279881596142338492340085780067343333644684421490877837843155815055815447314116930248343768352272300607196985654240984820584134436648263529711612620972182312144543387715776572902366941585043983473756024854289489379052099067003173880010873671081727983653385953032517150584597056045613078143933088284331091564295609576001934915343089022328652883928024582658099992530083025516361515090696347650056785885050797569923577373038447730485839908497152437227979461503626225819731804019388499214516985208206856361551176063312815044952909334360782941467921181273195299878094977672574096887817863534302928280656606300999600942831774087956486140488858331900087390566888371353761172184707613830773171691098292178722893130713040151456684097172941196207180340437234004534608769202758707885809509208097804003141168309047376839089255594133039610886336041826629829311539615135526291806678182123677726816479474664771664669407350669425983449150732649318882041220831348915121756489621014264892883159099995417585273338257826791000620251611494183974485602765356519177021105488821151107888909200902018022141321106322735653921851569550642796860220450427565422811759779474124593395461196319682435869676875455471968885432299757867768106687728778719284711007791939771415731424738259178514621035354080834849924324629180623711432538265628396823181561050869320089188604116354528737756331169378131224849725817826810858739298351490809055342520264215706308666939033730639117593891394143161766450100523411361354724913294187049347396910901168059555596007583464229 77526185612566941525072655724232027437874173346937424838361992295787961127042084897539801686530395419660424915544255300250588700435519804747662716046057074061093568971662738905652668182184876946076832850303778488788866224935694432073464929170084883162366092351826576537972532354018809375839734209885595092937317347101574136687618641869684303128521221355992673045251759369210257879061320679154056416490663526586473025997436802125759305669398427384128552376106238844500113043810443769736264581630936695390084736689033176923183442443627268520312047684679682826237925876297132339489319358327116778795634799179128291069816769389512412544328293840835351083673024539884630715671900127909337104477353580375575563643778199215970842021696863448965409200152414100284720061853537154827243174634336082074125332628987792722580436468663886914729574869507341834280026177373414115868373800040172899293713252994381828690485759674505665105384789107889022504209514984191135553094195940143234960519417956440946485483575540501165500639517052404659923842121608602375046353506319253282269507557902306754821212103273334424951802916952729287219286142652174459898909892157104991654327235942381625604047842384175755241830775249457634935283286768984164416681323390967831410598890856798589320335587765626923672475088263385248387323861950353781758942793312935368878136224921164900400432693512973507620033671967873895339449328498135566213756816621293719156909933373016746478587301098957005309428995377467997640815293248464931633010241002233215434622532132439761524080196743255370735684126322916230901807231381013959523673988321717385843965573867472227703799415060697692450154123692926304432781354983445734646833634971401635598826085438418335038624547037962914852283943130206841182960719435716209347508659073032619502284913235189211562273205404483556113887405063555129693643609620070582105744654823695876339244752562912668327137054015888831291095533924435961010296181635677555057418451731211605995941249649915155469898506298476970806408936201677391103909085063573457374385953742115289671223634184502556149872733499372623763321713935602884916980494810191379352950456681287166549811805967209846296406651590786899775300393907756529307748688999553802830376238188806090472157185337826868269740026705734503042108103535435997951712292437035268180498434542043169745163008591086594632711200610816657136475192870041787165351802148432659161019008521801884549008586137397870719022655252846368848076757308039278628559040074511415633540266011202956616912108837040127451962813866138693405082057056019030241808935717689306741480659111903847158064248334517660829795433028632881142948664911727430394347055438759839123808567315170381972217949156846672748775199974994884213941748132515092897501161774800252489055930429694096525897636505706349519397961877559615638103731238848253941862346129323903540639449012409836513960016182551441952289005387087730881960433923383651342238635015371501310074966708320029500892783403589566741978155463162608663199575700654535506327155982941910326432630212330845779958500348308197532418586793266756547413538533239398428738357871826798099773943759423153993476899176616433993911432461324127757635075321060092281308709915359541354537316372843662228186115090529809725035123386801033643038094694121679939733190275156894268615357381351482612854691437430499301099760199888920954156142486782049513184570282804369217418210838763207328638229868178926475447 125440003339266398504592621530917372707000314537331660406997749440262701277310460562103664600951919351087943836426200901738324121706667030073993903168902968788077815975366158794827235079450938777896281087555342465961629389718733695340664845369282959746466264045100119944568367323560184903551926392907955962472576864760043033854044313054855686818839218607532002864141462282595372116492365901665767494120900266076057484760948882437385629356487194168357837866025870896404263460501306520763156063923528104097162140660856542114486392847773464487291806687518081929219309905038283975629967760728673624739832196492242321690070888390167105352600021867200895401378591819297359803620339484086866804174070437208551858945999139666082483456302137963951934539453784664037386375737728880063824355993606066792882045872212648182347304124688882953735394847505765627423803200989751242597811219620488323187497881772716026884450301033768779247415920256089611377159842266974959719908099065530849834838920484973335094857646311689863650902594262317846020727260330215961010063538326309683540702023806477296191571406577652445252361232957889498695892852173838347516897860250969618308368766084593921802038550382777820370872275284199517857840499402847007281225769712123959339837996641004596821380023758636880281161356799229408389528756737041277966072996476390590502514388335292874475489749064882899428269038740272297140190945928452059450843824149857352491527364419783882754798682672799390201711014176718546587598519361738737133457820015342651267864445783847691299992128044854289559249502026274770723008545710162907454247599352449587288895218942907317092411762373593385117298302813637824341879446141326874094230998909893083598599638591440637514921184319306295949133239321588402464048863954436395359194303519679877062856146791840110677199408458955686581657266345607509691268069181178904213440279549987806003193624264182305722890931695168712887237872416776046790363524969322239478909329569054761810997065097229272400146850066829243107016133187331632088729669198010105637915665354736261853535778727890271926445635866314208807305187691627739206469873862290446356124336692160837631539789620595799328923802175383955820913472051689617592079780563849412406378173104149179494485838221754892852398126698264586067624465050526694299362349222920318978068358119416208192893494430995091785148428590278160762701012601845806553851016665417867367875370072977947861823631090307205079805596720767550121272057186134256301133136962329279167843194291859562917911709779871901539919300006627551736982144446585918613162696889874014355311432283594945450242971227648373869946889712730054084144872092067867628351590047529041882516453124679590070021952298014981796152039064250478346981359018851134724130991086339867624582222236372278649575363322185824184169626546966966307529714687998986591181228170544734889554570768899457528224909065710541947706590660425988708751434543635262836422609500974266666594143729425518322043891292498767643996177604483714985935229622506105056969952843162360753998053024090625254083093743769393852101022662943632002885507418671698186606125978514526878493228470430945933248314908041172253089947082359481838469925245384721461932421347897806982934139554404713097506204279133926079563861143132203021169319543847497766544049014455245759424412723871746828561000104369533031738877793780315097317908936882572924545925007717663404467558235674108496697785464186509939676 202966188951833340029665277255149400144874487884269085245359741736050662404352545459643466287482314770748368751970456201988912822142186834821656619214960042849171384947028897700479903261635815723973113937859120954750495614654428127414129774539367842908832356396926696482540899677578994279391660602793551055409894211861617170541662954924539989947360439963524675909393221651805629995553686580819823910611563792662530510758385684563144935025885621552486390242132109740904376504311750290499420645554464799487246877349889719037669835291400733007603854372197764755457235781335416315119287119055790403535466995671370612759887657779679517896928315708036246485051616359181990519292239611996203908651424017584127422589777338882053325477999001412917343739606198764322106437591266034891067530627942148867007378501200440904927740593352769868464969717013107461703829378363165358466185019660661222481211134767097855574936060708274444352800709363978633881369357251166095273002295005674084795358338441414281580341221852191029151542111314722505944569381938818336056417044645562965810209581708784051012783509850986870204164149910618785915178994826012807415807752408074609962696002026975547406086392766953575612703050533657152793123786171831171697907093103091790750436887497803186141715611524263803953636445062614656776852618687395059725015789789325959380650613256457774875922442577856407048302710708146192479640274426587625664600640771151071648437297792800629233385983771756395511140009554186544228413812610203668766468061017575866702486977916287452824072324788109660294933628349191001624815777091176866977921587674166973132860792810379544796211177434291077567452426506564128774660801124772608741064633881294719197425724029858972553545731357269210801417182451795243647009583390152604706702962592712496565141060027029322239472613863439242695544671409162639384911678801249486319184934373683682342438376827094974050027985711057544178333406341212007800659706604999794536327781300266367806938314747144427870045356365306213913425069389009023192638754261583563012301619096851551524759412912392828076318369365686832570626901627230624123450368672481825709074793373448004181351595587805645625330453766170855596213865959446146899828469563403215236754411292955269966643023559581761122138153403999089109732568585962692251074641659955587158566792661459377938056503022081686417859629201094817899176205471887593719202818813850526528894378594779832410832217227705075798828251973613918969348814494173534929692177036840694801383460303062519534823818616912028991882113872766245142064201502604948854971632607563321096792091395498792608307219562166034699742322741362935227093537003795298022698645486288881006325020439849972042239901454861654544927239039245362560923107151366227621632152861140120113638152666066375175472999827892173703567588424526581945633445926847240533043574299868638430194019781309294042184925248261983899995596047513719590711868467018914178661244516345767976669110437745547822936674696088334385974333067646323649134805323160640563297108826104271080430683236421471034041594092077591384519609456210388550299045951911096615344483850341324978267172229854099926725214084657606247001379543683609596105000566444813743241131263257348337471455927248375325692319369663735804598984529933236664207414237969177706277239289612140028039770105223229441415691541800032332838637993669236051474051423664622437730495290522032621885769074437315825336015332365436415123 328406192291099738534257898786066772851874802421600745652357491176313363681663006021747130888434234121836312588396657103727236943848853864895650522383863011637249200922395056495307138341086754501869395025414463420712125004373161822754794619908650802655298620442026816427109267001139179182943586995701507017882471076621660204395707267979395676766199658571056678773534683934401002112046052482485591404732464058738587995519334567000530564382372815720844228108157980637308639964813056811262576709477992903584409018010746261152156228139174197494895661059715846684676545686373700290749254879784464028275299192163612934449958546169846623249528337575237141886430208178479350322912579096083070712825494454792679281535776478548135808934301139376869278279059983428359492813328994914954891886621548215659889424373413089087275044718041652822200364564518873089127632579352916601063996239281149545668709016539813882459386361742043223600216629620068245258529199518141054992910394071204934630197258926387616675198868163880892802444705577040351965296642269034297066480582971872649350911605515261347204354916428639315456525382868508284611071846999851154932705612659044228271064768111569469208124943149731395983575325817856670650964285574678178979132862815215750090274884138807782963095635282900684234797801861844065166381375424436337691088786265716549883165001591750649351412191642739306476571749448418489619831220355039685115444464921008424139964662212584511988184666444555785712851023730905090816012331971942405899925881032918517970351423700135144124064452832963949854183130375465772347824322801339774432169187026616560421756011753286861888622939807884462684750729320201953116540247266099482835295632791187802796025362621299610068466915676575506750550421773383646111058447344589000065897266112392373627997206818869432916672022322394929277201937754770149076179747982428390532625213923671488345632001091277279772918917406226257065571278757988054591023231574322034015237110869321129617935379844373700270192206432135457020441202576340655281368423459593668650217284451587813378295191640283100002764005232001041377932089318858363329920242534772272065199130065608841812891385208401444954254255941554811417127338011135764491908250127252627643132584397104449461128861781336653974536280102263675177357033636489386550436990882875906136635150780875586130949997453076778203008057791372978661877218073733400273053835479268393896769748667757780272655848318012280878633848694381469090620871680307791230825313999169973969226654594922082452735528396783930531801413879393796879046345949190867468134329497437335452103523679093738058550190789814408569689212454092989311238409095863165651050235533817922888841473564529562112261853752876636341079278103495840907904466170217362345763143947479987738220374902438653825048363150077997887737214971493548253163160614846227124224802470413373319748590550208751570409834313972525847702186707939708299463303010654177015083854017320034643263254167171066144980565988587102029970510672130038635070034945666745620267061669266631834428736260512096288124687835846985236620632119154020553184553370582794801950609828855851856760400700285045859973528992698778500091326626043091434574925811829535205173552611155155320405595481653088423198523648797661884162845673065439685376733781816675472821288304067385787464182829094976269976691646169565364577515787449551148791960360547195362276420298239696026353327310111424322033800796551946354799 531372381242933078563923176041216172996749290305869830897717232912364026086015551481390597175916548892584681340367113305716149765991040699717307141598823054486420585869423954195787041602722570225842508963273584375462620619027589950168924394448018645564130976838953512909650166678718173462335247598495058073292365288483277374937370222903935666713560098534581354682927905586206632107599739063305415315344027851401118506277720251563675499408258437273330618350290090378213016469124807101761997355032457703071655895360635980189826063430574930502499515431913611440133781467709116605868541998840254431810766187834983547209846203949526141146456653283273388371481824537661340842204818708079274621476918472376806704125553817430189134412300140789786622018666182192681599250920260949845959417249490364526896802874613529992202785311394422690665334281531980550831461957716081959530181258941810768149920151306911738034322422450317667953017338984046879139898556769307150265912689076879019425555597367801898255540090016071921953986816891762857909866024207852633122897627617435615161121187224045398217138426279626185660689532779127070526250841825863962348513365067118838233760770138545016614211335916684971596278376351513823444088071746509350677039955918307540840711771636610969104811246807164488188434246924458721943233994111831397416104576055042509263815614848208424227334634220595713524874460156564682099471494781627310780045105692159495788401960005385141221570650216312181223991033285091635044426144582146074666393942050494384672838401616422596948136777621073610149116758724656773972640099892516641410090774700783533554616804563666406684834117242175540252203155826766081891201048390872091576360266672482521993451086651158582622012647033844717551967604225178889758068030734741604772600228705104870193138266845898755156144636185834171972746609163932788461091426783677876851810148297355170688070377918372253822946903117283801243904685099200062391682938179321828551564892169587497424873694591518128140237562797441670933866271965349678474007177721177231662518903548439364903054604552675928079082374597687873948558990946088987453370611207254097774273923439056845994242980796207090579584709707725667013341203970581911391736719690655842879886995690059719427771885340918415096674433506262764287089602222452078801511632542831493295201943442334964069006500475158464620867686992467796561053423545620993992256654293118920425664127262537612683488065545717356677462100667995388059969686174481326160517491036010668770610114897984601987559347013695959523683527752160042021110547451795816323105962105000656548895615074592530666857410351980443269431535195455924538331946099658463673748881020106803895166494004379534154501755207738290886006517142741203468827573321583589967395296808620107851858527568505029000521362977970171591304803396020130198796606541693467657268376770282011749942610331518045612594759562234509747697782755453427890175171477673091193745098533665802619932364604916613967917240684675436415944843739776362284204840268827386183564170495370902914859419496933567322166281927924576621140241575364409103483599322493891417295093679197176835027572930139145786698743077356384747092706169726701030679926378274348948414683874412503657877051408901463748890843018461397688761830202998676349584148019785853179098527593679525815503952934318205711392383187969597697416153781118787200266011784211817800006915588761728648239096384548740147369816128917382769922 859778573534032817098181074827282945848624092727470576550074724088677389767678557503137728064350783014420993928763770409443386709839894564612957663982686066123669786791819010691094179943809324727711903988688047796174745623400751772923719014356669448219429597280980329336759433679857352645278834594196565091174836365104937579333077490883331343479759757105638033456462589520607634219645791545791006720076491910139706501797054818564206063790631252994174846458448071015521656433937863913024574064510450606656064913371382241341982291569749127997395176491629458124810327154082816896617796878624718460086065379998596481659804750119372764395984990858510530257912032716140691165117397804162345334302412927169485985661330295978324943346601280166655900297726165621041092064249255864800851303871038580186786227248026619079477830029436075512865698846050853639959094537068998560594177498222960313818629167846725620493708784192360891553233968604115124398427756287448205258823083148083954055752856294189514930738958179952814756431522468803209875162666476886930189378210589308264512032792739306745421493342708265501117214915647635355137322688825715117281218977726163066504825538250114485822336279066416367579853702169370494095052357321187529656172818733523290930986655775418752067906882090065172423232048786302787109615369536267735107193362320759059146980616439959073578746825863335020001446209604983171719302715136666995895489570613167919928366622217969653209755316660867966936842057015996725860438476554088480566319823083412902643189825316557741072201230454037560003299889100122546320464422693856415842259961727400093976372816316953268573457057050060002936953885146968035007741295656971574411655899463670324789476449272458192690479562710420224302518025998562535869126478079330604838497494817497243821135473664768188072816658508229101249948546918702937537271174766106267384435362221026659033702379009649533595865820523510058309475963857188116982706169753643862566802003038908627042809074435891828410429769229577127954307474541690333755375601180770900312736188000027178281349796192959028081846379829688915326491080264947350783290853742026369839473053504665687807134366004608535533838965649280478430468541981717675883644969817908470523019580087164168888900747122255069071210713608526439464446635858941465351948623425707399431837094223210550199956497928235242823875744783840775222930641619354394265310489772387314322433875930295392956143913863729637556095949362376857150590557854789117391342805035180642739836769492906684440294875410479890055484941631553838900156893400986683791240291602437992000999138753686268725407601141794851839120747649548913849570355195521629324799116553924726784007967568909096266763608960614927227085795246237044376732039491800952313158440756100095590078902470943682825569726128048169479042018367513678451959767156539694781493179240695385069691200881726797183004593876207035595399969463393136189638474488327268208828952550985837263195618772087680112897806673262538445915354411906400919274875214494131803831232164637534749288155757445663610290969763771561857760873694518429656668152693076686219245703508053028691787973630424191646672272070055163247184032795769792465254852190103884153588236485567658978282646890554552172089366667259059572924675876064116034960881801602528651919815897746911602968135763413181981369074834139163061993669568568338349057972144759013162283335887001424674592423694660164469403616925469329124721 1391150954776965895662104250868499118845373383033340407447791957001041415853694108984528325240267331907005675269130883715159536475830935264330264805581509120610090372661242964886881221546531894953554412951961632171637366242428341723092643408804688093783560574119933842246409600358575526107614082192691623164467201653588214954270447713787267010193319855640219388139390495106814266327245530609096422035420519761540825008074775070127881563198889690267505464808738161393734672903062671014786571419542908309727720808732018221531808355000324058499894691923543069564944108621791933502486338877464972891896831567833580028869650954068898905542441644141783918629393857253802032007322216512241619955779331399546292689786884113408514077758901420956442522316392347813722691315169516814646810721120528944713683030122640149071680615340830498203531033127582834190790556494785080520124358757164771081968549319153637358528031206642678559506251307588162003538326313056755355524735772224962973481308453661991413186279048196024736710418339360566067785028690684739563312275838206743879673153979963352143638631768987891686777904448426762425663573530651579079629732342793281904738586308388659502436547614983101339176132078520884317539140429067696880333212774651830831771698427412029721172718128897229660611666295710761509052849363648099132523297938375801568410796231288167497806081460083930733526320669761547853818774209918294306675534676305327415716768582223354794431325966877180148160833090301088360904864621136234555232713765133907287316028226932980338020338008075111170152416647824779320293104522586373057252350736428183627530989620880619675258291174292235543189157040973734116898942344047843665988016166136152846782927535923616775312492209744264941854485630223741425627194508814072209611097723522602114014273740510666943228961294694063273222695156082635725998362601549784144236245510518381829721772756928021787418812723640793859553380648956388179374389107932965691118366895208496124467682769027409956550667332027018798888173746507040012229382778901948131975255091548466543184404400745634956160928754427376789275050071211036338236661464949280467613746976943722533801377346800815626113423675357006145443809745952299587275381689508564313402906575777223888316672632463173484167885147114789203751536238081393544153460255968538892727039037665545514268962998403393707444743431776308571783984065164975388257567144065506234748098003192833005639631979409446994233558050030372245210560244029270443551860296071191311510446884390891286427854222424175849579168469383713880921267440852782500114346253707438648549894753828278799392265011493775295108552282845004838387902301295180092998547997574031530679174461573288630421265364168353218113092312388978247845559612813384542280553737564720203441937430039448711826091089106018341070346821763533808650756373698233162438761556010977396819633811213244842795599353438441545343097752218846564079813645966000359402574051084651639883127983377004294080815047357937974861860198151682763203479715483321517987395402660008437664147575254379230932457251691696138478901115269882838760151752015570577636540797187250205526815546560563337433371015147411547994276738965496493495934778568378233102002920359980162636159698299456015920980209685720457261686506079062792384545029821388381831018343491426437418472088697731387692761458022108760759409823349687125549323983928970830962290251475763153322831520079208904616773433054386711894643 2250929528310998712760285325695782064693997475760810983997866681089718805621372666487666053304618114921426669197894654124602923185670829828943222469564195186733760159453061975577975401490341219681266316940649679967812111865829093496016362423161357542002990171400914171583169034038432878752892916786888188255642038018693152533603525204670598353673079612745857421595853084627421900546891322154887428755497011671680531509871829888692087626989520943261680311267186232409256329337000534927811145484053358916383785722103400462873790646570073186497289868415172527689754435775874750399104135756089691351982896947832176510529455704188271669938426635000294448887305889969942723172439614316403965290081744326715778675448214409386839021105502701123098422614118513434763783379418772679447662024991567524900469257370666768151158445370266573716396731973633687830749651031854079080718536255387731395787178487000362979021739990835039451059485276192277127936754069344203560783558855373046927537061309956180928117018006375977551466849861829369277660191357161626493501654048796052144185186772702658889060125111696157187895119364074397780800896219477294196910951320519444971243411846638773988258883894049517706755985780690254811634192786388884409989385593385354122702685083187448473240625010987294833034898344497064296162464733184366867630491300696560627557776847728126571384828285947265753527766879366531025538076925054961302571024246918495335645135204441324447641081283538048115097675147317085086765303097690323035799033588217320189959218052249538079092539238529148730155716536924901866613568945280229473094610698155583721507362437197572943831748231342295546126110926120702151906683639704815240399672065599823171572403985196074968002971772454685166157003656222303961496320986893402814449595218340099357835409214175435131301777953202292374472643703001338663535633776315890411620680872739408488755475135937671321014678544164303917862856612813576296357095277686609553685168898247404751510491843463301784961097101256595926842481221048730345984758380082719032287991279548493721465754196938593984242775134257065704601541151475983689019952318691306837453220030448388221608511712805424161647262641006286623874278287934017263159026659326472783925926155864388057205573379585428553239095860723315643215982873940335009505408879394246292158876131888756064468919496331628950268619176560149347006914706784329782522877633837893549070531879123128398595775893273176631789653999392749102361150801884059560943203101106371954250283653883797970868149097834655739634653411015267719821424334253769183905586545309876640550893892581965068117672612635570146947673030494553752237472656490701722323347114127956257463182429142197726688028973128968145340178107635215292222291652305185494593712178320820299032016332510392394651660815234066510549388840131047487102716140854772857220254735251672781889325012094971639978603947314648580938497721682239700269452120454327627611403003635637477146323602149091974193712854031200513307775552563589164122754590697815649791226634824645972413435731011824894542748221455467700336661988964401268416819904708647263855786500695303234218603520190987529080043287217466711241460771761266285961189630758482117255591156845547821614442345190010568093069576352979516834611181955126908419505911622990910482938159389173349021440224461144569674130532856247923821403492918255463898381956073729844124573587362764577997423943773869069086177049979856041019364 3642080483087964608422389576564281183539370858794151391445658638090760221475066775472194378544885446828432344467025537839762459661501765093273487275145704307343850532114304940464856623036873114634820729892611312139449478108257435219109005831966045635786550745520848013829578634397008404860506998979579811420109239672281367487873972918457865363866399468386076809735243579734236166874136852763983850790917531433221356517946604958819969190188410633529185776075924393802991002240063205942597716903596267226111506530835418684405599001570397244997184560338715597254698544397666683901590474633554664243879728515665756539399106658257170575480868279142078367516699747223744755179761830828645585245861075726262071365235098522795353098864404122079540944930510861248486474694588289494094472746112096469614152287493306917222839060711097071919927765101216522021540207526639159600842895012552502477755727806154000337549771197477718010565736583780439131475080382400958916308294627598009901018369763618172341303297054572002288177268201189935345445220047846366056813929887002796023858340752666011032698756880684048874673023812501160206464469750128873276540683663312726875981998155027433490695431509032619045932117859211139129173333215456581290322598368037184954474383510599478194413343139884524493646564640207825805215314096832466000153789239072362195968573079016294069190909746031196487054087549128078879356851134973255609246558923223822751361903786664679242072407250415228263258508237618173447670167718826557591031747353351227477275246279182518417112877246604259900308133184749681186906673467866602530346961434583767349038352058078192619090039405634531089315267967094436268805625983752658906387688231735976018355331521119691743315463982198950108011489286446045387123515495707475024060692941862701471849682954686102074530739247896355647695338859083974389533996377865674555856926383257790318477247892865693108433491267805097777416237261769964475731484385619575244803535793455900875978174612490711741511764433283614725730654967555770358214141158984667164263246371096960264650158597684228940403703888684442493876591222687020027256613783640587305066967007392110755409889059606239787760686316363292769318088033886316850434408348835037097328832731641611945522246012048602037406981007838104846967519112021728553658869135362785184885915169554301578737882494735022657713362608336457918790898771949305170780444777903399783818629882315961404235407872682623626023212049423121347571711045913330004495063397177563265760730538274689257296003320258831589213821880398981600742691775106551684019932799017315289100788646410243867509937624129345442056225313339558590625374957785881815321895111701987788142356890715486357109294337297321363453270420024193540067851265118570036874265915885540502473953762549841106477751904340084851619735661894581295753472514553006019659016291262650178708958823308216482774203300753090126281595473901086264349265766420327987013977054720289117029451585526096268274527901389138488169635750715271927326234306181137167778622037484654410077583306266204125475205473147163838815563104234284107176971656724217841492327297882553439745419066751550866513414302364878259235737510726762779457124409326860350357594077205527984250602043489466584014049786038699974096297688034189700804050941444379292313956502880599786439912313158875957366891990878356684580813316267942589447705940002700675086863838838527731320255463853077973702950483034242752914007 5893010011398963321182674902260063248233368334554962375443525319180479027096439441959860431849503561749859013664920191964365382847172594922216709744709899494077610691567366916042832024527214334316087046833260992107261589974086528715125368255127403177789540916921762185412747668435441283613399915766467999675751277690974520021477498123128463717539479081131934231331096664361658067421028174918871279546414543104901888027818434847512056817177931576790866087343110626212247331577063740870408862387649626142495292252938819147279389648140470431494474428753888124944452980173541434300694610389644355595862625463497933049928562362445442245419294914142372816404005637193687478352201445145049550535942820052977850040683312932182192119969906823202639367544629374683250258074007062173542134771103663994514621544863973685373997506081363645636324497074850209852289858558493238681561431267940233873542906293154363316571511188312757461625221859972716259411834451745162477091853482971056828555431073574353269420315060947979839644118063019304623105411405007992550315583935798848168043527525368669921758881992380206062568143176575557987265365969606167473451634983832171847225410001666207478954315403082136752688103639901393940807526001845465700311983961422539077177068593786926667653968150871819326681462984704890101377778830016832867784280539768922823526349926744420640575738031978462240581854428494609904894928060028216911817583170142318087007038991106003689713488533953276378356183384935258534435470816516880626830780941568547667234464331432056496205416485133408630463849721674583053520242413146832003441572132739351070545714495275765562921787636976826635441378893215138420712309623457474146787360297335799189927735506315766711318435754653635274168492942668349348619836482600877838510288160202800829685092168861537205832517201098648022167982562085313053069630154181564967477607255997198807232723028803364429448169811969401695279093874583540772088579663306184798488704691703305627488666455954013526472861534540210652573136188604500704198899539067386196551237650645453986115912794622822924646479022941508198478132374163003716276566102331894142520187037840498977018400772411663949407948957369579393192366321820334113593435008161509881254758887506000002727819391634030590646076868561420490183501985962063563164278014757031477044791301443057643206801991066651607981981784896607265797813478733634953303322411741293332889161761439089802831183765955800257812866048815870449932861847797389565438266498283935220011014192158487228164152418093487328848475291414249320564116109360320867925519344327191929651682538992208935627610236764915589003898343834112342862847614276583537645242225829944045605539319857684083797323310426289508793448527659408832290142917423755531467978094206360801505970095060233501129412719574151362169124502025628782856188655407778876879271026514322960598283835403188122752807248067738707220093195583325964618717886874655614625380058355926594175775187675188242468240755420339001477411303278861091448988896878952817569848672309300382491019037278029020017953694602631539152225093198685375593791561432865105348113798577856673964022586942538395593457589582344970477198282488029065418314040085342467613185234051075805865044388679477152107119362391679490930908869989316609223556853067370202796894662269773135461352537620020527041022523734604608402216809186198053346087896076430519211437426201292309317679407626947042789127533014098793933371 9535090494486927929605064478824344431772739193349113766889183957271239248571506217432054810394389008578291358131945729804127842508674360015490197019855603801421461223681671856507688647564087448950907776725872304246711068082343963934234374087093448813576091662442610199242326302832449688473906914746047811095860517363255887509351471041586329081405878549518011041066340244095894234295165027682855130337332074538123244545765039806332026007366342210320051863419035020015238333817126946813006579291245893368606798783774237831684988649710867676491658989092603722199151524571208118202285085023199019839742353979163689589327669020702612820900163193284451183920705384417432233531963275973695135781803895779239921405918411454977545218834310945282180312475140235931736732768595351667636607517215760464128773832357280602596836566792460717556252262176066731873830066085132398282404326280492736351298634099308363654121282385790475472190958443753155390886914834146121393400148110569066729573800837192525610723612115519982127821386264209239968550631452854358607129513822801644191901868278034680954457638873064254937241166989076718193729835719735040749992318647144898723207408156693640969649746912114755798620221499112533069980859217302046990634582329459724031651452104386404862067311290756343820328027624912715906593092926849298867938069778841285019494923005760714709766647778009658727635941977622688784251779195001472521064142093366140838368942777770682931785895784368504641614691622553431982105638535343438217862528294919775144509710610614574913318293731737668530771982906424264240426915881013434533788533567323118419584066553353958182011827042611357724756646860309574689517935607210133053175048529071775208283067027435458454633899736852585382179982229114394735743351978308352862570981102065502301534775123547639280363256448995003669863321421169287442603626532047239523334533639254989125709970921669057537881661079774499472695331136353505247820064048925760043292240485159206503466841068444725267984625967823825378303791156160271062413040698052053360814484021742414250766071392307051865050182911625950692354723596850023743533179885972481447587154045232609732428289832017903737168635273732872162510454355706650964027843356996546978583591619147611948250065403682632628053057876399525337151021097983792116823147150119816661930706470997359221944684485801674265695344393233065184588712250682940124083767189644693116707791643755051207066591638638423883836078098238991797504572893710719569933329895461498485771744730433176485460155738352318918062297171813230921306807884466872551945452143344507218752471185402452803137547860894261031060123657173670933488222572062465352967137337531931833747896210573170440906617647723610872246718947683602372357994182542325568342244010091901303979923857610074607607164623914236213788860163920210078609661169960784896538287317776973139307242658711404605527010548820828833501688669484412228967983653294983601639357113076215711205226773201284510742768656809477489647047053994133018775223203060089985348470709793954792568602343544233145493159167749795377967788197432969482770763218157082946840441096460410113709441653694089262106871891947223229712935793214791844875438449412202817970779311256603790115646432168943736121169148430379465027206558023506310027607794511749495110851165150372921901264850778896484407914514612961292983030125454140642793793836079131194298301265039820040637934871480025016492078016048341546847378 15428100505885891250787739381084407680006107527904076142332709276451718275667945659391915242243892570328150371796865921768493225355846954937706906764565503295499071915249038772550520672091301783266994823559133296353972658056430492649359742342220851991365632579364372384655073971267890972087306830512515810771611795054230407530828969164714792798945357630649945272397436908457552301716193202601726409883746617643025132573583474653844082824544273787110917950762145646227485665394190687683415441678895519511102091036713056978964378297851338107986133417846491847143604504744749552502979695412843375435604979442661622639256231383148055066319458107426824000324711021611119711884164721118744686317746715832217771446601724387159737338804217768484819680019769610614986990842602413841178742288319424458643395377221254287970834072873824363192576759250916941726119924643625636963965757548432970224841540392462726970692793574103232933816180303725871650298749285891283870492001593540123558129231910766878880143927176467961967465504327228544591656042857862351157445097758600492359945395803403350876216520865444460999809310165652276180995201689341208223443953630977070570432818158359848448604062315196892551308325139013927010788385219147512690946566290882263108828520698173331529721279441628163147009490609617606007970871756866131735722350318610207843021272932505135350342385809988120968217796406117298689146707255029689432881725263508458925375981768876686621499384318321781019970875007488690516541109351860318844693309236488322811744174942046631409523710216871077161235832628098847293947158294160266537230105700062469490129781048629723744933614679588184360198025753524713110230245230667607199962408826407574398210802533751225165952335491506220656348475171782744084363188460909230701081269262268303131219867292409176486195773650093651692031303983254600495673256686228804490812140895252187932942693950472421967329830891743901167974425010937046019908643712231944841780945176862512130955507524398738794457487502364036030876927344764771766611940237119439557365721672387868236881984186929874789696661934567458890832855971013027459809745988304375590107341083073108709446690604429567686576584231102451555702820677526985077621278365158056859838350506653611950977884795316663218699134744960945827334523083945855679987425164876848138975497772440416865151486476868325873677326178129672450386525729416575077387089601385986449596953405194141009897775404594224141648944147054862247437434741508109135371596393745433705782758922591663713624308156445806246910772463227480241870923993827193419870971487671699148404153724394661738765158097659176620064022001007783276351070186339048890612379563361875879353435530430854524703940958149900381040167475343011204648137099966081099810222104298262105485893952670308108736577343488387575957984665945838861465849825368563773417558344291296099905526494114592728279817796888567540721781865067738193586701540169639216264737171432142305381001960876472753211009412229816491124458357272994110224212099939042802918319382103255175059621380822262165511112862352426917120013290631654858364554779589948052188554895038266787673464240636627657700329481529568200190134075702820910293752489497545285583964545307679595980690820848420888228288510822058955958115428012822919251164647579119697907745827420146057362617388398917011448937038347565901385246934640338696139881732155561713509738691241112349955614279106972059281205549062440340780749 24963191000372819180392803859908752111778846721253189909221893233722957524239451876823970052638281578906441729928811651572621067864521314953197103784421107096920533138930710629058209319655389232217902600285005600600683726138774456583594116429314300804941724241806982583897400274100340660561213745258563621867472312417486295040180440206301121880351236180167956313463777152553446536011358230284581540221078692181148377119348514460176108831910615997430969814181180666242723999211317634496422020970141412879708889820487294810649366947562205784477792406939095569342756029315957670705264780436042395275347333421825312228583900403850667887219621300711275184245416406028551945416127997092439822099550611611457692852520135842137282557638528713766999992494909846546723723611197765508815349805535184922772169209578534890567670639666285080748829021426983673599949990728758035246370083828925706576140174491771090624814075959893708406007138747479027041185664120037405263892149704109190287703032747959404490867539291987944095286890591437784560206674310716709764574611581402136551847264081438031830674159738508715937050477154728994374725037409076248973436272278121969293640226315053489418253809227311648349928546638126460080769244436449559681581148620341987140479972802559736391788590732384506967337518234530321914563964683715430603660420097451492862516195938265850060109033587997779695853738383739987473398486450031161953945867356874599763744924546647369553285280102690285661585566630042122498646747887203757062555837531408097956253885552661206322842003948608745692007815534523111534374074175173701071018639267385587909713847601983681926945441722199542084954672613834287799748180837877740253137457355479349606493869561186683620586235228358806038528457400897138820106540439217583563652250364333805432754642415956815766559030099088655361894625404423887938276883218276044014146674534507177058652664872141479505211491971518400640669756147290551267728707761157704885073185662021718634422348592843464062442113470187861409180718500925042829024980935171492918180205694130282487648055579236926654746844846193409583187579567863051203342925874276857037694495128305718441874980436447471423745219504835323718213275033233636041649121722154603838421942125801223899227950198999295846752192621360471164485544181929647796810572314996664800906204243437776087096170962670000139372670571362737634975237980099515201470856791030679566304745048949192216964367043232648025485022245293854044942007635218828705304926289206932191554503653024840199084463894798125164973069635040711163177731878294065971816423631016206367156624909797114541902705958553437651124145658181454209839292758401514243579516900893807713101331741004024965610558605873511253286886423026613577006131282508406668152466114390163409465817810280382716343741967402623789746844829866048940075510995329348669955845662068269239212769152825997333806828345709396374223470534552150422554685193464622817904094284508358016586228734077757263953778069039293980771505411267127128999435302999132788266790091897209967628223724366495311004272030102222295087801488064624341135317997747030999028995991498676901382905894330716919807201373476791429903069868917612755169190938909748103554743856564283386096337253017364624349457659252438420985321986036329229278772442090869193018596992570518979263882239177813495856851552960527194368277060094479338933675568234692907808039956280932390593549150586997075773283565110781887628127 40391291506258710431180543240993159791784954249157266051554602510174675799907397536215885294882174149234592101725677573341114293220368269890904010548986610392419605054179749401608729991746691015484897423844138896954656384195204949232953858771535152796307356821171354968552474245368231632648520575771079432639084107471716702571009409371015914679296593810817901585861214061010998837727551432886307950104825309824173509692931989114020191656454889784541887764943326312470209664605508322179837462649036932390810980857200351789613745245413543892463925824785587416486360534060707223208244475848885770710952312864486934867840131786998722953539079408138099184570127427639671657300292718211184508417297327443675464299121860229297019896442746482251819672514679457161710714453800179349994092093854609381415564586799789178538504712540109443941405780677900615326069915372383672210335841377358676800981714884233817595506869533996941339823319051204898691484413405928689134384151297649313845832264658726283371011466468455906062752394918666329151862717168579060922019709340002628911792659884841382706890680603953176936859787320381270555720239098417457196880225909099039864073044473413337866857871542508540901236871777140387091557629655597072372527714911224250249308493500733067921509870174012670114347008844147927922534836440581562339382770416061700705537468870770985410451419397985900664071534789857286162545193705060851386827592620383058689120906315524056174784664421012066681556441637530813015187857239064075907249146767896420767998060494707837732365714165479822853243648162621958828321232469333967608248744967448057399843628650613405671879056401787726445152698367359000909978426068545347453099866181886924004704672094937908786538570719865026694876932572679882904469728900126814264733519626602108563974509708365992252754803749182307053925929387678488433950139904504848504958815429759364991595358822613901472541322863262301808644181158227597287637351473389649726854130838884230765377856117242202856899600972551897440057645845689814595636921172290932475545927366518150724530039766166801444443506780760868474020435538876078663152671862581232627801836211378827151321671040877039110321803735937775273916095710760621119270400087312660698260292632454835850205834994315959065451327366321416991820067265875503476797997479873512939881702015878192952247657439538326013049996749492410085361763709516090278857946392416666015901698454143333226862142447826872167133966392348716292379442376726937840676522682952365897337262575616503912708772051243931411883842098268191405048655872121259391687395118687905515560778634191776280667864056212614271188167659189237486190362944740563134191896464255683592454767271434879490314499564023411634327053898369624781654268382474487767962688218688425514951711762950690825080319310891011365704829495811887801541360820697912443373404006359565339118295646940590062086646142597963914945252399619888616141386733634262034168831455940500321967230694954230017164787481269110471895963768540121239223647402938175591185109474000465142687845105188757476515384892454649212207814778696279199499872777336979051217550886536943689056370134967344577507530855006359630093203944620433665462943428407293389138708401871962982077028073865785512577746170074497376943437414049152148529937089669988890926342819990665036626499627576730507305788591308093095753523994734818035073557300390254621317778647522044740549163429693969135054489114173222228408876 65354482506631529611573347100901911903563800970410455960776495743897633324146849413039855347520455728141033831654489224913735361084889584844101114333407717489340138193110460030666939311402080247702800024129144497555340110333979405816547975200849453601249081062978337552449874519468572293209734321029643054506556419889202997611189849577317036559647829990985857899324991213564445373738909663170889490325904002005321886812280503574196300488365505781972857579124506978712933663816825956676259483619178345270519870677687646600263112192975749676941718231724682985829116563376664893913509256284928165986299646286312247096424032190849390840758700708849374368815543833668223602716420715303624330516847939055133157151641996071434302454081275196018819665009589303708434438064997944858809441899389794304187733796378324069106175352206394524690234802104884288926019906101141707456705925206284383377121889376004908220320945493890649745830457798683925732670077525966094398276301001758504133535297406685687861879005760443850158039285510104113712069391479295770686594320921404765463639923966279414537564840342461892873910264475110264930445276507493706170316498187221009157713270788466827285111680769820189251165418415266847172326874092046632054108863531566237389788466303292804313298460906397177081684527078678249837098801124296992943043190513513193568053664809036835470560452985983680359925273173597273635943680155092013340773459977257658452865830862171425728069944523702352343142008267572935513834605126267832969804984299304518724251946047369044055207718114088568545251463697145070362695306644507668679267384234833645309557476252597087598824498123987268530107370981193288709726606906423087706237323537366273611198541656124592407124805948223832733405389973577021724576269339344397828385769990935913996729152124322808019313833848270962415820554792102376372227023122780892519105489964266542050248023694755380977752814834780702449313937305518148555366059234547354611927316500905949399800204710085666919341714442739758849238364346614857424661902107462425393726133060648433212178095345403728099190351626954278057208015106739129866495597736858089665496331339684545593196651477324510534067023240773098992129370743994257160919521809467264536682234758256059749433785193315254912203519987681888156305611447805151273608569794870177740787906259315969039343828402208326152422667320855147720337001689615605480328803183447345582206443503092525443826509491059520192618988637642570337321450011945766545981448972159298088891766228641344111793235946042056576856911733308902568226387750415325363503818749704111882717403543988890822570570014766051922312313317370691696029655703142077377771413365149491305556099012438904455925058169896922887613940321396238358660399664982894436115154333078588924417529573231073541424061278293635155451674325677936741616871816027261113329249668427834578331064799766587395893474488307360289168722934172039038696071927098884852072925740448858338553459429031987281118565550308404452667469179807248368223082705937308379451899565897675110316068829555252787519656922556871507295616266760903540635190775084010050246546878035620590439276029298061497314732228483151059996273813538046420632134367317041492693452258436246368173365326883150136927203829326935797928759400085481377808709531760858083944939812561184015890381866754544003162640144268620290121801054829297374007232868624947529125818603802977131142712580280966210827772679284004116037003 105745774012890240042753890341895071695348755219567722012331098254072309124054246949255740642402629877375625933380166798254849654305257854735005124882394327881759743247290209432275669303148771263187697447973283394509996494529184355049501833972384606397556437884149692521002348764836803925858254896800722487145640527360919700182199258948332951238944423801803759485186205274575444211466461096057197440430729311829495396505212492688216492144820395566514745344067833291183143328422334278856096946268215277661330851534887998389876857438389293569405644056510270402315477097437372117121753732133813936697251959150799181964264163977848113794297780116987473553385671261307895260016713433514808838934145266498808621450763856300731322350524021678270639337524268760870145152518798124208803533993244403685603298383178113247644680064746503968631640582782784904252089821473525379667041766583643060178103604260238725815827815027887591085653776849888824424154490931894783532660452299407817979367562065411971232890472228899756220791680428770442863932108647874831608614030261407394375432583851120797244455520946415069810770051795491535486165515605911163367196724096320049021786315261880165151969552312328730152402290192407234263884503747643704426636578442790487639096959804025872234808331080409847196031535922826177759633637564878555282425960929574894273591133679807820881011872383969581023996807963454559798488873860152864727601052597640717141986737177695481902854608944714419024698449905103748529022462365331908877054131067200939492250006542076881787573432279568391398495111859767029191016539113841636287516129202281702709401104903210493270703554525774994975260069348552289619705032974968435159337189719253197615903213751062501193663376668088859428282322546256904629045998239471212093119289617538022560703661832688800272068637597453269469746484179780864806177163027285741024064305394025907041843382517369282450294137698043004257958118463745745843003410707937004338781447339790180165178060827327869776241315415291656289296010192304672020298823279753357869272060427166583936708135111570529543633858407715146531228450645615208529648269599439322293298167551063372744518322518201549644388826976710874266045466454754878280189921896779925234942527390710895599639620187631213977654847354003305148125678713680654750406567274743690680669608275194161991591485841746652165472664070347557805698765399131695759186749575864011598108141957235858670688651938886392359752955029991286629700892388672704386657971655111663986229028804257848024502007997285987988740753831577093973275043622536584755191213868392017398278182178180667103238434070978666193500480976559929182220018647882640511963309829405174898010866283873783946239557733920334521940994219765863140314668047457382204077842551767014439369241336181764366504380589184646521156503821489824543158232636725173556702653674787399917449360446707177457980120630905324204113975333791927654837458660733146886241757196389358660520690123986217298283353031577514924563432948347369607446730108875483970637009039898140253003913934744010264035041815011520719503431045457182740135063552420989101464097764572564279495646164265406074822263083489510690089477758158480086095077795724334881832160660308209350250393400748935649504949999401433174872196814134633526338646621430846974871282632551849052516881494331274510468428735576713385875325049564115409080790169015202150443597251325021871691876009974935345882261793457226344445879 171100256519521769654327237442796983598912556189978177973107593997969942448201096362295595989923085605516659765034656023168585015390147439579106239215802045371099881440400669462942608614550851510890497472102427892065336604863163760866049809173234059998805518947128030073452223284305376219067989217830365541652196947250122697793389108525649987798592253792789617384511196488139889585205370759228086930756633313834817283317492996262412792633185901348487602923192340269896076992239160235532356429887393622931850722212575644990139969631365043246347362288234953388144593660814037011035262988418742102683551605437111429060688196168697504635056480825836847922201215094976118862733134148818433169450993205553941778602405852372165624804605296874289459002533858064578579590583796069067612975892634197989791032179556437316750855416952898493321875384887669193178109727574667087123747691789927443555225493636243634036148760521778240831484234648572750156824568457860877930936753301166322112902859472097659094769477989343606378830965938874556576001500127170602295208351182812159839072507817400211782020361288876962684680316270601800416610792113404869537513222283541058179499586050346992437081233082148919403567708607674081436211377839690336480745441974356725028885426107318676548106791986807024277716063001504427596732438689175548225469151443088087841644798488844656351572325369953261383922081137051833434432554015244878068374512574898375594852568039866907630924553468416771367840458172676684042857067491599741846859115366505458216501952589445925842781150393656959943746575556912099553711845758349304966783513437115348018958581155807580869528052649762263505367440329745578329431639881391522865574513256619471227101755407187093600788182616312692161687712519833926353622267578815609921505059608473936557432813957011608291382471445724231885567038971883241178404186150066633543169795358292449092091406212124663428046952532823706707272055769263894398369469942484358950708763840696129564978265537413536695583029858031415138534374538919529444960725387215783262998193487815017148886230456974257642824210034669424588436465752354338396143867336297411958794498890747918337714973995526060178455850217483973258174837198749135441109443706247189771624762148966955349073405380946468889858367341685193304431290161485806024015137069613868421457514534510131030935314243954978317895331391202705526035767088747301239515552759311357180314585460328384114515161429945912552371943667633856967022342400618470932639420627270962075120795032899192136295243943328044565597665564885996541501431372951910118695032618096129280995585722169557925809004085744718115812794293930620878249674351024717889734723194554666203566965296312688402164615903817257409554934541162101498975067712440276640192996884845603363786770909412837907928441867478281676608178147167761284775104452752434670031903343215234495780425246473764853873595119212684493282698267963966693533530587832031738314682936838216999074149553018204579401918581885919377230902128154617975669812814812792350088908605795815363319982764299263051554698737568392226799047312218086280770254327504999151710644642608184869934922193563467572136995311972661750085751571696526506727212163041376374525612918744455718423758727632085786432153828728368972800956214220114904147356153191705058816222445113033068407263361085818513631068879845333675997126104393412783088023037640149679569415855127999002834588590255901556710034472741230460482882 276846030532412009697081127784692055294261311409545899985438692252042251572255343311551336632325715482892285698414822821423434669695405294314111364098196373252859624687690878895218277917699622774078194920075711286575333099392348115915551643145618666396361956831277722594454572049142180144926244114631088028797837474611042397975588367473982939037536677594593376869697401762715333796671831855285284371187362625664312679822705488950629284778006296915002348267260173561079220320661494514388453376155608900593181573747463643380016827069754336815753006344745223790460070758251409128157016720552556039380803564587910611024952360146545618429354260942824321475586886356284014122749847582333242008385138472052750400053169708672896947155129318552560098340058126825448724743102594193276416509885878601675394330562734550564395535481699402461953515967670454097430199549048192466790789458373570503733329097896482359851976575549665831917138011498461574580979059389755661463597205600574140092270421537509630327659950218243362599622646367644999439933608775045433903822381444219554214505091668521009026475882235292032495450368066093335902776307719316032904709946379861107201285901312227157589050785394477649555969998800081315700095881587334040907382020417147212667982385911344548782915123067216871473747598924330605356366076254054103507895112372662982115235932168652477232584197753922842407918889100506393232921427875397742795975565172539092736839305217562389533779162413131190392538908077780432571879529856931650723913246433706397708751959131522807630354582673225351342241687416679128744728384872190941254299642639397050728359686059018074140231607175537258480627509678297867949136672856359958024911702975872668843004969158249594794451559284401551589970035066090830982668265818286822014624349226011959118136475789700408563451109043177501355313523151664105984581349177352374567234100752318356133934788729493945878341090230866710965230174233009640241372880650421363289490211180486309730156326364741406471824345273323071427830384731224201465259548666969141132270253914981601085594365568544787186458068442384571119664916397969546925792136935736734252092666441811291082233296513727609822844677194194847524220303653504013721299365603027115006567289539677850948713025568577682867513214695688498452556968875166460774421704344357559102127122809704293022526800085701630483367995461550263331734532487878996998702302335175368778422727417564242785203813368832304912124898697625143596723234789291175319297392282382626061349823837157040160797251940614032554338419396463090514776474995488494873886246486488146679273767900350225029047438156723384309313275270490550060469692998907358401698033023959841101577831580186472348404173637737591931495928760927964639289735759897658844270839436612617803156012245594602274432822456662928197764681968657585827933337089477608226734557018002634413229785693180942311853715750118008697396673601755894348370989248565178624556440133227575659594839677004421877685271613463434301794335076501987583116542923688276320725917645693955616323896699043273315589740552579912946302478357675269020905317879925988253174742407180749149430568357828873646959258395462172440175229329855006592822289958765711256357773579052665068674152128381021435937103828129802147673153028354748430486002774622552033687505077664882120924144855417093024099497615422047061872451153957528192168813206655351830013013106453020874526464600230836902592296266198456804928761 447946287051933779351408365227489038893173867599524077958546286250012194020456439673846932622248801088408945463449478844592019685085552733893217603313998418623959506128091548358160886532250474284968692392178139178640669704255511876781601452318852726395167475778405752667906795333447556363994233332461453570450034421861165095768977475999632926836128931387382994254208598250855223381877202614513371301943995939499129963140198485213042077411192198263489951190452513830975297312900654749920809806043002523525032295960039288370156796701119380062100368632980177178604664419065446139192279708971298142064355170025022040085640556315243123064410741768661169397788101451260132985482981731151675177836131677606692178655575561045062571959734615426849557342591984890027304333686390262344029485778512799665185362742290987881146390898652300955275391352558123290608309276622859553914537150163497947288554591532725993888125336071444072748622246147034324737803627847616539394533958901740462205173281009607289422429428207586968978453612306519556015935108902216036199030732627031714053577599485921220808496243524168995180130684336695136319387099832720902442223168663402165380785487362574150026132018476626568959537707407755397136307259427024377388127462391503937696867812018663225331021915054023895751463661925835032953098514943229651733364263815751069956880730657497133584156523123876103791840970237558226667353981890642620864350077747437468331691873257429297164703715881547961760379366250457116614736597348531392570772361800211855925253911720968733473135733066882311285988262973591228298440230630540246221083156076512398747318267214825655009759659825299521985994950008043446278568312737751480890486216232492140070106724565436688395239741900714243751657747585924757336290533397102431936129408834485895675569289746712016854833580488901733240880562123547347162985535327419008110403896110610805226026194941618609306388042763690417672502230002273534639742350592905722240198975021182439295134591902154943167407375131354486566364759270143730910220274054184924395268447402796618234480596025519044829282278477053995708101382150323885321936004272034146210887165332559209419948270509253670001300527411678820782395140852253149162408809309274304778192051688644806297786430949524151757371582037373691756988259036652266798436841413971427523584637344214424053462114329656608801263326852752968857770299576626298238217855094486725958737312877892626899718974798778217464496842365259000563745577189909646251936812909653588136470618870056232297092495883942077119936084961349087056277906368440404992581279104584275960269353622519782954856442242468102425126069564421170938719367349932076291432756218514507305144796876499160750568789541554849341050863302090066138264803472337935484463836321458221166942783155007440182361264324141209874372860115825347112708441542230042896766460361217868909010210939654707165727310869330693190679371869719861041904519836397210362871123070065792658668989230022626457087190195349353679025237204656605558786355738501068670814826251489770979643879463342536367144439290148305173101525669893355301675572207430987404885387049788934019365490551392341219096253707434834190260980901551533099549502121807087630883386497797120787097910856013107222369257656858171120474109242574863334633358927814257092503727522777915189331408216502911537730566495267380737869577258350940975256836244295501509582428961581019877361053190486738459302330738939687265411643 724792317584345789048489493012181094187435179009069977943984978502054445592711782985398269254574516571301231161864301666015454354780958028207328967412194791876819130815782427253379164449950097059046887312253850465216002803647859992697153095464471392791529432609683475262361367382589736508920477447092541599247871896472207493744565843473615865873665608981976371123906000013570557178549034469798655673131358565163442642962903974163671362189198495178492299457712687392054517633562149264309263182198611424118213869707502931750173623770873716877853374977725400969064735177316855267349296429523854181445158734612932651110592916461788741493765002711485490873374987807544147108232829313484917186221270149659442578708745269717959519114863933979409655682650111715476029076788984455620445995664391401340579693305025538445541926380351703417228907320228577388038508825671052020705326608537068451021883689429208353740101911621109904665760257645495899318782687237372200858131164502314602297443702547116919750089378425830331578076258674164555455868717677261470102853114071251268268082691154442229834972125759461027675581052402788472222163407552036935346933115043263272582071388674801307615182803871104218515507706207836712836403141014358418295509482808651150364850197930007774113937038121240767225211260850165638309464591197283755241259376188414052072116662826149610816740720877798946199759859338064619900275409766040363660325642919976561068531178474991686698482878294679152152918274328237549186616127205463043294685608233918253634005870852491541103490315740107662628229950390270357043168615502731187475382798715909449475677953273843729149991267000836780466622459686341314227704985594111438915397919208364808913111693723686283189691301185115795341627782652015588318958799215389253950753758060497854793705765536412425418284689532079234596194085275211453147566884504771382677637996862929161359960983671112555184729132994557128637732404235283174881115231243327085529689186201668749025290918266896349639231720404677557994195144001367932375479822721154065527538701317778219320074961594063832015740346919438566827766298548293432247728141207770880462979831774370500502181567022981279824145204605873668306615444505757162883708174912301419784759341228322657246499456518101834624884796733062190209545227911818727572858545758328986625711760153918717075988914415358239284631322314303232189504832064505295236920157429662094737160040295456869684922788167610522376621741062884144160468811979200821571234205192036214197820442707213272457889747824556109674274504357812177571054381363928899866467525591072422639543121522870007983903880399191486734439344834911720999189060348839434693130789242474348406722628456685633098972963179292441272546792063018030777554539232235594328734675758070838970098795400602042456794086780804138072137542084482932940641778631707651123501017379220503322239996632835649477581026619448701888076045471475755390275509084962388987427563203293368318263828907027048334772461808812787980819572281158593141902898662189344991540743897183726595967776162385809682734179842728218119404004027568624322580890087356975658060129456969683168796058909221214866055512102897006630436210231406539692371792080572798887241160076849785855772062984394128658306361484987973268147262270929611765119361702436809126191232600442797310255553071920004561830064110689427799742028412308469167425649450950853339595442068034040751887517790717575361894627005138144070340404 1172738604636279568399897858239670133080609046608594055902531264752066639613168222659245201876823317659710176625313780510607474039866510762100546570726193210500778636943873975611540050982200571344015579704431989643856672507903371869478754547783324119186696908388089227930268162716037292872914710779553995169697906318333372589513543319473248792709794540369359365378114598264425780560426237084312026975075354504662572606103102459376713439600390693441982250648165201223029814946462804014230072988241613947643246165667542220120330420471993096939953743610705578147669399596382301406541576138495152323509513904637954691196233472777031864558175744480146660271163089258804280093715811044636592364057401827266134757364320830763022091074598549406259213025242096605503333410475374717964475481442904201005765056047316526326688317279004004372504298672786700678646818102293911574619863758700566398310438280961934347628227247692553977414382503792530224056586315084988740252665123404055064502616983556724209172518806633417300556529870980684111471803826579477506301883846698282982321660290640363450643468369283630022855711736739483608541550507384757837789156283706665437962856876037375457641314822347730787475045413615592109972710400441382795683636945200155088061718009948670999444958953175264662976674922776000671262563106140513406974623640004165122028997393483646744400897244001675049991600829575622846567629391656682984524675720667414029400223051732420983863186594176227113913297640578694665801352724553994435865457970034130109559259782573460274576626048806989973914218213363861585341608846133271433696465954792421848222996220488669384159750926826136302452617409694384760506273298331862919805884135440856948983218418289122971584931043085830039093285530237940345655249332612491685886883166894983750469275055283124442273118270020980967837074647398758800310552419832190390788041892973539966585987178612731164491117175758247546310234634237556709520857581836232807769888161222851188320425510169051292806639095536032044560559903271511663285700096775338989922807148720574837554555557619582876845022625396492562535867680698617317569664145479805026673866997106929709922129837532234949825445732017552489089010585358010312046116984221575724562951392916967463544285887467625986382256378770435881966533486948470994371295387172300414149296397498133141129451028745014848085894649167056201047275131641131593475138012524148820695897353173349496584641762966388739841118583428143144724214389169110467823171018101689802334291061577269504754982243708498186794210589319161264627332287732369304859048804695656698599812475145389790938760322641659589159565414399332891937908427698771510984563545460988855711867425333184793849541752720847290613597655365108096915819342704573529813198512079529060137041578555609482639155351104945347946510402200308280053350220173937694020267477740438372231250207572490356643308337488779395078755417341195616432180028921359599350298686273359160976932818137049674791859652004162141659844809485815198700689254400690413662355570148673497575611655625728346049878619132876523292505529697461979624256462294787963062945516506758617188161549460613556085151765810331840820697191132958072791921294202379886518124546574646906642869973840407235880675619141846144388621371513504475099752720630251066218694960123220712499586961288422916099560630605956808537611605670659410142682485695246354849177871029615060629248570981204313821196957744077831335752047 1897530922220625357448387351251851227268044225617664033846516243254121085205880005644643471131397834231011407787178082176622928394647468790307875538138388002377597767759656402864919215432150668403062467016685840109072675311551231862175907643247795511978226340997772703192629530098627029381835188226646536768945778214805580083258109162946864658583460149351335736502020598277996337738975271554110682648206713069826015249066006433540384801789589188620474550105877888615084332580024953278539336170440225371761460035375045151870504044242866813817807118588430979116734134773699156673890872568019006504954672639250887342306826389238820606051940747191632151144538077066348427201948640358121509550278671976925577336073066100480981610189462483385668868707892208320979362487264359173584921477107295602346344749352342064772230243659355707789733205993015278066685326927964963595325190367237634849332321970391142701368329159313663882080142761438026123375369002322360941110796287906369666800060686103841128922608185059247632134606129654848666927672544256738976404736960769534250589742981794805680478440495043091050531292789142272080763713914936794773136089398749928710544928264712176765256497626218835005990553119823428822809113541455741213979146428008806238426568207878678773558895991296505430201886183626166309572027697337797162215883016192579174101114056309796355217637964879473996191360688913687466467904801422723348185001363587390590468754230207412670561669472470906266066215914906932214987968851759457479160143578268048363193265653425951815680116364547097636542448163754131942384777461636002621171848753508331297698674173762513113309742193826973082919239869380726074733978283925974358721282054649221757896330112012809254774622344270945834434913312889955933974208131827880939837636924955481605262980820819536867691402959553060202433268732673970253458119304336961773465679889836469127945948162283843719675846308752804674947967038472839884401972813079559893299577347424519937345716428435947642445870815940709602554755047272879595661179919496493055450345850038353056874630519213646708860762972315931129363633979246910749817392286687575907136846828881300210424311404555216229649590936623426157395626029863767474929825159133877144347710734145290120790785343985727821007141175503498072176078714860289721944153932930629400775008157652051858205439943160373087370525971481359433236779963705636888712058169953810915433057393468806366269564551133999262217740324491027288884683201148311289394405223293726016532111504284482777212871991533054296468485093676973442198386669096298204725516330286729121239355596668259798922664203040851075894004759234244612937097488047610945677694334703463204118590053789870426948514715900139731886144447428126127693373881936809124141933187837599899107140373956211525095949437885749486018647944284791212993991998805645345143768495119658875553490204205326006120889364108228096966831462812671371822455538006321988337726249476652529295196647044076723126632113812974929640664381766973791842592153062879758653896314045857224171579431788114155732612798975604741411909533725030603946837352382144938721005645963728300356957608369834770951207277913228847451133401364364612484293086282952685405365706651496692498642036824801364538981980626834117656768633784434086864872082332687875344886192723663509809842514360342920661390694716646236337353634082967879310108135146197208188773313097649101381136088771921889183091584749215975406092451 3070269526856904925848285209491521360348653272226258089749047508006187724819048228303888673008221151890721584412491862687230402434513979552408422108864581212878376404703530378476459266414351239747078046721117829752929347819454603731654662191031119631164923249385861931122897692814664322254749899006200531938643684533138952672771652482420113451293254689720695101880135196542422118299401508638422709623282067574488587855169108892917098241389979882062456800754043089838114147526487757292769409158681839319404706201042587371990834464714859910757760862199136557264403534370081458080432448706514158828464186543888842033503059862015852470610116491671778811415701166325152707295664451402758101914336073804191712093437386931244003701264061032791928081733134304926482695897739733891549396958550199803352109805399658591098918560938359712162237504665801978745332145030258875169945054125938201247642760251353077048996556407006217859494525265230556347431955317407349681363461411310424731302677669660565338095126991692664932691136000635532778399476370836216482706620807467817232911403272435169131121908864326721073387004525881755689305264422321552610925245682456594148507785140749552222897812448566565793465598533439020932781823941897124009662783373208961326488286217827349773003854944471770093178561106402166980834590803478310569190506656196744296130111449793443099618535208881149046182961518489310313035534193079406332709677084254804619868977281939833654424856066647133379979513555485626880789321576313451915025601548302178472752525435999412090256742413354087610456666377117993527726386307769274054868314708300753145921670394251182497469493120653109385371857279075110835240251582257837278527166190090078706879548530301932226359553387356775873528198843127896279629457464440372625724520091850465355732255876102661309964521229574041170270343380072729053768671724169152164253721782810009094531935340896574884166963484511052221258201672710396593922830394915792701069465508647371125666141938604998935252509911476741647115314950544391258946880016271832045373152998758927894429186076833229585705785597712423691899501659945528067387056432167380933810713825988229920346441242087451179475036668640978646484636615221777786975942143355452868910662127062257584335071231453353807389397554273933954142612201808760716315449320102929814924304555150184999334890971905387935456420620648415634284055095346768482187196182477959736128954746642155862854206314100388002058858907919170433608897590317421757217576241395415818866402565861752281967854235241552483262695682996134706825718956828667509584565134982385819839168071813649589861424525682510665053570173633577504875005915746382456662257880164452059830457479123055220798056468620987022499742102793234224609193224641382653955131699917128959244181952511821007735104788990694833965158346485099493047342218979583039164035972860097247784740411777816362764197701597007492045586880153866988254635566927681587688024935750011690272129465181126397918491765817137071300509191252788990543281407463570172316251884194530721747191087413842501782491418108481264704415063422492583571093814676932901783951162470486917545119157830448327036359043723560688271830592497322685276214380485332571923490253226143599141512010665208600419657599768680262045390005297938561964624802962938941563581152846884222309429475648765836760951325322603044874965239753627289452790620841443563037951184127264162010384659753126203004288542493293806741844498 4967800449077530283296672560743372587616697497843922123595563751260308810024928233948532144139618986121732992199669944863853330829161448342716297647002969215255974172463186781341378481846501908150140513737803669862002023131005835593830569834278915143143149590383634634315527222913291351636585087232847068707589462747944532756029761645366978109876714839072030838382155794820418456038376780192533392271488780644314603104235115326457483043179569070682931350859920978453198480106512710571308745329122064691166166236417632523861338508957726724575567980787567536381137669143780614754323321274533165333418859183139729375809886251254673076662057238863410962560239243391501134497613091760879611464614745781117289429510453031724985311453523516177596950441026513247462058385004093065134318435657495405698454554752000655871148804597715419951970710658817256812017471958223838765270244493175836096975082221744219750364885566319881741574668026668582470807324319729710622474257699216794398102738355764406467017735176751912564825742130290381445327148915092955459111357768237351483501146254229974811600349359369812123918297315024027770068978337258347384061335081206522859052713405461728988154310074785400799456151653262449755590937483352865223641929801217767564914854425706028546562750935768275523380447290028333290406618500816107731406389672389323470231225506103239454836173173760623042374322207402997779503438994502129680894678447842195210337731512147246324986525539118039646045729470392559095777290428072909394185745126570226835945791089425363905936858777901185246999114540872125470111163769405276676040163461809084443620344568013695610779235314480082468291097148455836909974229866183811637248448244739300464775878642314741481134175731627721707963112156017852213603665596268253565562157016805946960995236696922198177655924189127101372703612112746699307226791028506113937719401672646478222477883503180418603842809793263856896206168711183236478324803207995352594369042856071891063011858367040946577698380727417451249670069997817270854608059935768325100823498848797280951303816596046876294566548570028354821263135639192438817204448718854956840947560654869530130770752646642667409124627605264404803880262645085545261905767302489330013258372861207547705125856575439081628396538729777432026318690916669050438259603253033559215699312712802236857540330915065761022826946592129775067520835059052405370899254352431770651562012140110962229123770865234387264276599232410197722493580791465733046611981464689141835398514070146235059180726226774606779731180776673108149024105625924965714310081465269114941078523668481909388784088728723361740947574932867822117812103403793993402339952214867915263949047532912925647746571184521126754385886550221360352302567106578191778097064887754728858351322326468032532831054226876444319983806290769890706041334217785228384307804467979756123338230615983142368885087065705235589012418342966538360077091104934003576025751185226664219567326112225203121045123879630112000941173573019762782385873560526449930970148198240387945918770519201956657515104217084086006116324597147523187517931167059077840504956808434215217902076766200283097987566321636789535722963993861687297760507466768285257328855959877640291640154047490009964958639580395514379702158639082372648829496885295626816908467345570547732119271990009108757422342020039249281212318873836595168762898755987640771226724497224913263391520748525048092187380127242509782147936949 8038069975934435209144957770234893947965350770070180213344611259266496534843976462252420817147840138012454576612161807551083733263675427895124719755867550428134350577166717159817837748260853147897218560458921499614931370950460439325485232025310034774308072839769496565438424915727955673891334986239047600646233147281083485428801414127787091561169969528792725940262290991362840574337778288830956101894770848218803190959404224219374581284569548952745388151613964068291312627633000467864078154487803904010570872437460219895852172973672586635333328842986704093645541203513862072834755769981047324161883045727028571409312946113270525547272173730535189773975940409716653841793277543163637713378950819585309001522947839962968989012717584548969525032174160818173944754282743826956683715394207695209050564360151659246970067365536075132114208215324619235557349616988482713935215298619114037344617842473097296799361441973326099601069193291899138818239279637137060303837719110527219129405416025424971805112862168444577497516878130925914223726625285929171941817978575705168716412549526665143942722258223696533197305301840905783459374242759579899994986580763663117007560498546211281211052122523351966592921750186701470688372761425249989233304713174426728891403140643533378319566605880240045616559008396430500271241209304294418300596896328586067766361336955896682554454708382641772088557283725892308092538973187581536013604355532096999830206708794087079979411381605765173026025243025878185976566612004386361309211346674872405308698316525424775996193601191255272857455780917990118997837550077174550730908478170109837589542014962264878108248728435133191853662954427530947745214481448441648915775614434829379171655427172616673707493729118984497581491310999145748493233123060708626191286677108656412316727492573024859487620445418701142542973955492819428360995462752675266101973123455456487317009818844076993488009773277774909117464370383893633072247633602911145295438508364719262188678000305645945512950890638894192896785384948361662113554939952040157146196651847556208845733002672880105880272334167740778513162637299137966884591505151022337774758274480857760051117193888730118588599664273905383450364899260307323048881709445844782882169034988269805289460927806892435435785936284051365980461303118477811154575052573136489030623617267952421856875221886971148958283367212778190701804890154399173853086450534909730387690966886753118091977977179334775266335458140329368156102478381783154803829557706084557654264916636007987341148580462016159262993876459669242855849824582753633223894646600251500760917691740295558978645513254405872406001145106501399622687109319540375859002210095032367323779505012035980868544627653142113776885628653014594576911760331219574432052196587671857817595504278979853540566159015867139153948964637254990199088676436764811423471840440839853371122971027760958731649284767302243081058005223120405348331726671861685163713776120976675909839455577406329518963615645447249072241682764272551772929154967990020103286400082434918667665961606615799159297595635192567270820739660570015771089024981736010742288907970904702135447195924030731425023925365360350223994794586359009983036721847253617829252346213103783890781666058155218565378297180164194641747548644380311210794121688258565758472048498417431954428701465657874594183293345361852326087284113590222458215689376829084334264675681352177425401905408278174295191668669735803588889781447 13005870425011965492441630330978266535582048267914102336940175010526805344868904696200952961287459124134187568811831752414937064092836876237841017402870519643390324749629903941159216230107355056047359074196725169476933394081466274919315801859588949917451222430153131199753952138641247025527920073471894669353822610029028018184831175773154069671046684367864756778644446786183259030376155069023489494166259628863117794063639339545832064327749118023428319502473885046744511107739513178435386899816925968701737038673877852419713511482630313359908896823774271630026678872657642687589079091255580489495301904910168300785122832364525198623934230969398600736536179653108154976290890634924517324843565565366426290952458292994693974324171108065147121982615187331421406812667747920021818033829865190614749018914903659902841216170133790552066178925983436492369367088946706552700485543112289873441592924694841516549726327539645981342643861318567721289046603956866770926311976809744013527508154381189378272130597345196490062342620261216295669053774201022127400929336343942520199913695780895118754322607583066345321223599155929811229443221096838247379047915844869639866613211951673010199206432598137367392377901839963920443963698908602854456946642975644496456317995069239406866129356816008321139939455686458833561647827805110526032003286000975391236592562461999922009290881556402395130931605933295305872042412182083665694499033979939195040544440306234326304397907144883212672070972496270745072343902432459270703397091801442632144644107614850139902130459969156458104454895458862244467948713846579827406948641631918922033162359530278573719027963749613274321954051575986784655188711314625460553024062679568679636431305814931415188627904850612219289454423155163600706836788656976879756848834125462359277722729269947057665276369607828243915677567605566127668222253781181380039692525128102965539487702347257412091852583071038766013670539095076869550572436810906497889807551220791153251689858672686892090649271366311644146455454946178932968162999887808482247020150696353489797036819268926982174838882737769133334425772938330405701795953869877294615705835135727290181887946535372785997724291879169788254245161905392868310787476748334112895427407849477352994586784382331517064182475013828798006779994035146861592834655826170048246322929980754658714415552802036909981110313804907965769325725213451579223985704887341501039252979026864080321101748044569162530612057372739565878596059173248887850441539170773699489663430706154222400329306688790766042725057236342351004873930208678598938204728065520615701996215408777468367429601983129234146948720039369221740499212723334369261342162309900282587728552544948906516291198837663240531271515203235954929214327437797766210149261475426586675946826605447886073397213242743583473932770928024880905130010654550039807779644908819609494461201643744101100534371833007478670070423566086943708408817776795688739739527306203340129406781689631532640008739525077361073182856337292314555315028528516470034256548280675306613584732125817755816812699852276653276937064257717538958606956148795088582793864779338917353349272690231014523011491686997139759717758580220697280797229314021903086581202172981424182421820105645228530336936760559709021449707283462683859623618573554192575380515843987979686547973455666983351605635365401101607299602987426817626978588132816725105491400178577090688793426156803222387379048796978313371037718396 21043940400946400701586588101213160483547399037984282550284786269793301879712881158453373778435299262146642145423993559966020797356512304132965737158738070071524675326796621100977053978368208203944577634655646669091864765031926714244801033884898984691759295269922627765192377054369202699419255059710942270000055757310111503613632589900941161232216653896657482718906737777546099604713933357854445596061030477081920985023043563765206645612318666976173707654087849115035823735372513646299465054304729872712307911111338072315565684456302899995242225666760975723672220076171504760423834861236627813657184950637196872194435778477795724171206404699933790510512120062824808818084168178088155038222516384951735292475406132957662963336888692614116647014789348149595351566950491746978501749224072885823799583275055319149811283535669865684180387141308055727926716705935189266635700841731403910786210767167938813349087769512972080943713054610466860107285883594003831230149695920271232656913570406614350077243459513641067559859498392142209892780399486951299342747314919647688916326245307560262697044865806762878518528900996835594688817463856418147374034496608532756874173710497884291410258555121489333985299652026665391132336460333852843690251356150071225347721135712772785185695962696248366756498464082889333832889037109404944332600182329561459002953899417896604563745589939044167219488889659187613964581385369665201708103389512036194870751149100321406283809288750648385698096215522148931048910514436845632012608438476315037453342424140274915898324061160411730961910676376852363465786263923754378137857119802028759622704374492543451827276692184746466175617006003517732400403192763067109468799677114398058808086732987548088896121633969596716870945734154309349200069911717685505948135511234118771594450221842971917152896815026529386458651523098385556029217716533856646141665648583559452856497521191334405579862356348813675131134909478970502622820070413817643185246059585510415440367858978332837603600162005205837043240839894540595081717939839848639393216802543909698642769821941807088055111216905509911847588410237468372586387459020899632390464109616585050233005140424102904586323956153075171704610061165700191359669186194178895777596442837747158284047712189223952499968411297880163987241297153624672747409708399306537276946547248707080571290774689008058939393681017686156471130615367850753077072155422251231426943945913617198413079725223903937796947515513068934034698537555032042654271096876858257143928347342162209741477887150806925305718933696011593860723754791432232162099374665772116462913907149073027346075115237535106552949865145870621363186322042874745120344372404932649911508057556984887384835826490805354308157143856250549506126087769017340642201458063098444493542330884427739613963372258610722627881735565279871104218687091314851231251485349659462865584172671505059832183656600309721751128428789207349056740544448657373903453303427180016039246237267037862158972355170524610145424539101564866328244183496506490137542948363110225281250693732433554976110295487469220547757803918287554729695981130531099325082772750243619488796468614261745948035417052357489983712553166579707263833951161275520915833548386085208073203486163800447095715233940723903663197255927842995070417740261812758333852564342405411640976674921324857945788928710762953933386887101017040085194277509645809439756075859929268114195331565081396682570717466714116959927499843 34049810825958366194028218432191427019129447305898384887224961280320107224581785854654326739722758386280829714235825312380957861449349180370806754561608589714915000076426525042136270208475563259991936708852371838568798159113392989164116835744487934609210517700075758964946329193010449724947175133182836939353878367339139521798463765674095230903263338264522239497551184563729358635090088426877935090227290105945038779086682903311038709940067784999602027156561734161780334843112026824734851954121655841414044949785215924735279195938933213355151122490535247353698898948829147448012913952492208303152486855547365172979558610842320922795140635669332391247048299715932963794375058813012672363066081950318161583427864425952356937661059800679263768997404535481016758379618239667000319783053938076438548602189958979052652499705803656236246566067291492220296083794881895819336186384843693784227803691862780329898814097052618062286356915929034581396332487550870602156461672730015246184421724787803728349374056858837557622202118653358505561834173687973426743676651263590209116239941088455381451367473389829223839752500152765405918260684953256394753082412453402396740786922449557301609464987719626701377677553866629311576300159242455698147197999125715721804039130782012192051825319512256687896437919769348167394536864914515470364603468330536850239546461879896526573036471495446562350420495592482919836623797551748867402602423491975389911295589406555732588207195895531598370167188018419676121254416869304902716005530277757669597986531755125055800454521129568189066365571835714607933734977770334205544805761433947681655866734022822025546304655934359740497571057579504517055591904077692570021823739793966738444518038802479504084749538820208936160400157309472949906906700374662385704984345359581130872172951112918974818173184634357630374329090703951683697439970315038026181358173711662418395985223538591817671714939419852441144805448574047372173392507224724141075053610806301568692057717651019729694249433371517481189696294840719528049880939727657121640236953240263188439806641210734070229950099643279045182014183175798778288183412890776927006169944752312340414893086959475690584048248032244959958855223071093059670456662942513008673023850687224511278634496571555469564150886311708961994021291188771534340244364225476585523269477229461739285706327491044968920503994822594122240456340581302332301057860309592732466196924940481278734181473268473100327559572885808499913294596728280930504712636047631956633591778048316432141807193839597691348443990932353944865597685000110831100304102731292732164910122557850495713504717220664340699898585185239843103685534766209114381686534714832932499236610101933793901127025328468594839428659059486504435340415206815106852350719538525031169489157489875625687360585501354306101814506493304752009348697745864891039031130258479072360045374315249160932718028433317200421198852355294292765149362225453062643192830733383356168653018956669394798981094695601971218607395438857180883559212025022960171799496643785531894835425858251310792922995339745873824694868176005093688302937279326187907876637529582536842145741304492760471046908739354629743430311746800404544631180475297424002414750559066632255625306269445675626052170701283612684646963211305678930041358835366950909233080186393391327524648376991841297394564076164055540686490088443857712172865642462534545247476038506358802988757721884619069949766263692430330965218239 55093751226904766895614806533404587502676846343882667437509747550113409104294667013107700518158057648427471859659818872346978658805861484503772491720346659786439675403223146143113324186843771463936514343508018507660662924145319703408917869629386919300969812969998386730138706247379652424366430192893779209353934124649251025412096355575036392135479992161179722216457922341275458239804021784732380686288320583026959764109726467076245355552386451975775734810649583276816158578484540471034317008426385714126352860896553997050844880395236113350393348157296223077371119025000652208436748813728836116809671806184562045173994389320116646966347040369266181757560419778757772612459226991100827401288598335269896875903270558910019900997948493293380416012193883630612109946568731413978821532278010962262348185465014298202463783241473521920426953208599547948222800500817085085971887226575097695014014459030719143247901866565590143230069970539501441503618371144874433386611368650286478841335295194418078426617516372478625182061617045500715454614573174924726086423966183237898032566186396015644148412339196592102358281401149601000607078148809674542127116909061935153614960632947441593019723542841116035362977205893294702708636619576308541837449355275786947151760266494784977237521282208505054652936383852237501227425902023920414697203650660098309242500361297793131136782061434490729569909385251670533801205182921414069110705813004011584782046738506877138872016484646179984068263403540568607170164931306150534728613968754072707051328955895399971698778582289979920028276248212566971399521241694088583682662881235976441278571108515365477373581348119106206673188063583022249455995096840759679490623416908364797252604771790027592980871172789805653031345891463782299106976612092347891653119856593699902466623172955890891971069999660887016832980613802337239726657686848894672323023822295221871252482744729926223251577295768666116275940358053017874796212577638541784260299670391811984132425576629352567297849595376723318232937134735260123131598879567505761033453755784172887082576463152541158285061316548788957029602593413267150874570871911676559396634054368897390647898227383578595170372204185320131663465284236793251030125849136691904450620293524971669562682208760779422064119297609589125981262588342396207087654072624783122800216024478168819856997102180053027859897675840280278711586955949153085378130015731843963893140870854098477147261198492377038124507088398877433947993134283312973158983732924490213777520125390478641883285080990404616654162924628365538726321439791543063262403477397064848627824029706923523059579832458199447252848450331110464466871856809083859502030907119765582410744667658918681285962851819273949147585802915737053941466502975832447494552177601623475663031488374303365301323957759965028729696242058584623113567384837179742270282615608138535225629546986754220764901685033626922172327281144501641821889906674110436546646134160563372207899256223707256957953449866126581364031934540422047211803395521529450309342445006895757176086119590684865769033290827215094372452672094292648417998918409857287232959410279826156330942209918754506419082325791712119727142864913380111808465131636572944918248298945151840328828792433246122721767404642007516347844219139148674000459099097179709243085644528798802968501323298316699243183492786927009474073377189460897797367143152108343985003551898435626917184089286966015752520483730406547290892718082 89143562052863133089643024965596014521806293649781052324734708830433516328876452867762027257880816034708301573895644184727936520255210664874579246281955249501354675479649671185249594395319334723928451052360390346229461083258712692573034705373874853910180330670074145695085035440390102149313605326076616148707812491988390547210560121249131623038743330425701961714009106905004816874894110211610315776515610688971998543196409370387284065492454236975377761967211317438596493421596567295769168962548041555540397810681769921786124076334169326705544470647831470431070017973829799656449662766221044419962158661731927218153553000162437569761487676038598573004608719494690736406834285804113499764354680285588058459331134984862376838659008293972644185009598419111628868326186971080979141315331949038700896787654973277255116282947277178156673519275891040168518884295698980905308073611418791479241818150893499473146715963618208205516426886468536022899950858695745035543073041380301725025757019982221806775991573231316182804263735698859221016448746862898152830100617446828107148806127484471025599779812586421326198033901302366406525338833762930936880199321515337550355747555396998894629188530560742736740654759759924014284936778818764239984647354401502668955799397276797169289346601720761742549374303621585668621962766938435885061807118990635159482046823177689657709818532929937291920329880844153453637828980473162936513308236495986974693342327913432871460223680541711582438430591558988283291419348175455437444619499031830376649315487650525027499233103419548109094641820048281579333256219464422789227468642669924122934437842538187502919886004053465947170759121162526766511587000918452249512447156702331535697122810592507097065620711610014589191746048773255249013883312467010277358104201953281033338796124068809866789243184295244647207309704506288923424097657163932698504381996006884289648467968268518040923292235188518557420745806627065246969605084863265925335353281198113552824483294280372296992099028748240799422633429575979651181479819295162882673690709024436075522383104363275228515011416192068002211616776589065929162754284802453486402803999121209731062791314343054285754420452217565091622320507307886310700582512079204913123644144212196180841316705332334891628270183921298087975283879531167741427898436850259708323485501707630559142703429671097996780401670662874400952043296530455417679187876041436696359337795794579755881442671760850138452066661284685933861287731011593903663696368972122170411111903438795074025092274830002308002606915560719483591919124791653894362707580128357580792734152264774018773084549678863787952747035516350307570557391575292973883717441834598514909981277760852475187089877147742543987014461975223558376806918182647554346902897140148506832520645864178990988684543261319334831510748551889375122916082583044633309313745866617607585674921302003381697619713466944122593526133499795934587039268899563499189838964893946728376552275180376651756934544561728552582639329979279228095362607546552410481141941650681289070921545448936176561956286166960968197147540270297742106301855689183475140836047809408693173087951223247266890129234531066749470573176660180516353096312111870368920663049504218472584454098702691798347819575343291129032491182350454352930500457932546660152318724715192194296025971675308540540578056863091065014759867277904755509540008794570878530251027936941985720172847008850634822470249994098977621857936321 144237313279767899985257831499000602024483139993663719762244456380546925433171119880869727776038873683135773433555463057074915179061072149378351738002301909287794350882872817328362918582163106187864965395868408853890124007404032395981952575003261773211150143640072532425223741687769754573680035518970395358061746616637641572622656476824168015174223322586881683930467029246280275114698131996342696462803931271998958307306135837463529421044840688951153496777860900715412652000081107766803485970974427269666750671578323918836968956729405440055937818805127693508441136998830451864886411579949880536771830467916489263327547389482554216727834716407864754762169139273448509019293512795214327165643278620857955335234405543772396739656956787266024601021792302742240978272755702494957962847609960000963244973119987575457580066188750700077100472484490588116741684796516065991279960837993889174255832609924218616394617830183798348746496857008037464403569229840619468929684410030588203867092315176639885202609089603794807986325352744359936471063320037822878916524583630066005181372313880486669748192151783013428556315302451967407132416982572605479007316230577272703970708188344440487648912073401858772103631965653218716993573398395072781822096709677289616107559663771582146526867883929266797202310687473823169849388668962356299759010769650733468724547184475482788846600594364428021490239266095823987439034163394577005624014049499998559475389066420310010332240165187891566506693995099556890461584279481605972173233467785903083700644443545924999198011685709528029122918068260848550732777461158511372910131523905900564213008951053552980293467352172572153843947184745549015967582097759211929003070573610696332949727582382534690046491884399820242223091940237037548120859924559358169011224058546980935805419297024700758760313183956131664040290318308626163150755344012827370827405818302106160900950712998444264174869530957184673696686164680083121765817662501807709595652951589925536956908870909724864289948624124964117655570564311239774313078698862668643707144464808608962604959567515816386800072732740856959241219370002333080037325156714130045799438053490107121710689541726632880924792656402885223285785791544679561730708361215896817574264437737167850403998914093114313692389481530887213956546467873563948515552509475042831123701526185799378999700531851151024640299346503154679663630252479608503057317891773280660252478666648678233028703870253227176576573749683563367809280865294906876822680101896612384188632028829273715908377355820406924656769840189085022318240564583196957625111057525422429420558181971697541832664382137063235205595485847460772037429248384376833385748348954364097320725945419771156473052728967016493134600264890960612318273421158480001841455074741771982495552134238482356290008501021284363561206990610473998236483467420224375579596361474756142811304468288757602462521398500571044765853414644297576408929175573673935736485099054510100584451531404083908714887994427855133946671264519701275307166003068081860790484386657577046247007665039621042330989576994176062569600212364590390524300774099040762373795458089234849504030161142001773309211560322778869197716041573560628161561443748443313838911348449370312913282891135937921069586979985298645380335401489603026930959557029726369395404369243990997264527294973625239783761549650018074488833244467365653306907151946679222515254579835377612637356936295816650574990733724505524912750654403 233380875332631033074900856464596616546289433643444772086979165210980441762047572748631755033919689717844075007451107241802851699316282814252930984284257158789149026362522488513612512977482440911793416448228799200119585090662745088554987280377136627121330474310146678120308777128159856722993640845047011506769559108626032119833216598073299638212966653012583645644476136151285091989592242207953012239319541960970956850502545207850813486537294925926531258745072218154009145421677675062572654933522468825207148482260093840623093033063574766761482289452959163939511154972660251521336074346170924956733989129648416481481100389644991786489322392446463327766777858768139245426127798599327826929997958906446013794565540528634773578315965081238668786031390721853869846598942673575937104162941909039664141760774960852712696349136027878233773991760381628285260569092215046896588034449412680653497650760817718089541333793802006554262923743476573487303520088536364504472757451410889928892849335158861691978600662835110990790589088443219157487512066900721031746625201076894112330178441364957695347971964369434754754349203754333813657755816335536415887515552092610254326455743741439382278100603962601508844286725413142731278510177213837021806744064078792285063359061048379315816214485650028539751684991095408838471351435900792184820817888641368628206594007653172446556419127294365313410569146939977441076863143867739942137322285995985534168731394333742881792463845729603148945124586658545173753003627657061409617852966817733460349959931196450026697244789129076138217559888309130130066033680622934162137600166575824687147446793591740483213353356226038101014706305908075782479169098677664178515517730313027868646850392975041787112112596009834831414837989010292797134743237026368446369328260500261969144215421093510625549556368251376311247600022814915086574853001176760069331787814308990450549418681266962305098161766145703231117431971307148368735422747365073634931006232788039089781392165190097161282047652873204917078203993887219425494558518157831526380835173833045038127342671879091615315084148932924961452836146591399009200079441516583532202242052611316852773480856069687166679213108620450314908106298852565872431290873295101730697908581949364031245315619425449205320659665452185301931830347404731689943450946325302539447187027893429938142403961522249021420701017166029080615673549010063920736505767814717356611816462443257988910146542014077315028640410968249301670568596306500780486376470868734554599743932268068789933469630650409232659376755749804505910159689374850851987818637653780010213292334236471560605748931815927023158342521363811079607986639959669807269465790788962612230707223180623631660142606114759037121614726866184170695080339341127556188357971881920489328072780102661347278693044282603698392717739162363373359399550003269008888910107341373750396979389590760984160141111967515167359379548144093510995968444473237434926324063948456828961003806584460560471822538989583686529310594498980503402528610614634271271626328308258335317929210488557218892945863161137030766747752634888132630602629788224237514631505898643542677118112365249040199340794853845618668289218233741144514657755860313682759574397953588785497736989838629719417406555328589774412826583840057379861460014962273029547723093959183191560553266648933780324339606513109139503593111745270408816447160741250101045505607772319598357529783304667285397460983718604502534608590724 377618188612398933060158687963597218570772573637108491849223621591527367195218692629501482809958563400979848441006570298877766878377354963631282722286559068076943377245395305841975431559645547099658381844097208054009709098066777484536939855380398400332480617950219210545532518815929611296673676364017406864831305725263673692455873074897467653387189975599465329574943165397565367104290374204295708702123473232969915157808681045314342907582135614877684755522933118869421797421758782829376140904496896094873899153838417759460061989792980206817420108258086857447952291971490703386222485926120805493505819597564905744808647779127546003217157108854328082528946998041587754445421311394542154095641237527303969129799946072407170317972921868504693387053183024596110824871698376070895067010551869040627386733894948428170276415324778578310874464244872216402002253888731112887867995287406569827753483370741936705935951623985804903009420600484610951707089318376983973402441861441478132759941650335501577181209752438905798776914441187579093958575386938543910663149784706960117511550755245444365096164116152448183310664506206301220790172798908141894894831782669882958297163932085879869927012677364460280947918691066361448272083575608909803628840773756081901170918724819961462343082369579295336953995678569232008320740104863148484579828658292102096931141192128655235403019721658793334900808413035801428515897307262316947761336335495984093644120460754052892124704010917494715451818581758102064214587907138667381791086434603636544050604374742375025895256474838604167340477956569978680798811141781445535047731690481725251360455744645293463506820708398610254858653490653624798446751196436876107518588303923724201596577975357576477158604480409655073637929929247330345255603161585726615380552319047242904949634718118211384309869552207507975287890341123541249725608345189587440159193632611096611450369394265406569273031297102887904814118135987231490501240409866881344526659184377964626738301036099822025571996276998169034733774558198459199807637217020500170087979638641654000732302239394908002115156881673781920694055516593732089237404598230713578001680106101423974484170397796320047604005765023335538193892090397245434161999234510998548272173019686531881649314533518563519013049146983072515888376815278295638459003455800345370570888554079229317142104493373400046061000363669183760279303801489672423793823659587998016864295129091936221938850412267304491605214160651812669479849461601407657309056572765346938788375961097342505841846986470816157316146595938889528228400253958047809612929695179202439633850516208169102438413313952990258363938007211271851645415888344046640655214139743326709551433168600394788133195335081775530256214991757144783013353760499607558029813046623692471823624914341143703568701545303888061953924729772837371595883017423493384468506468816129893208283857879518586622662510468086212125232962788391087404897620046911370662809163002966929545455337988544469186710533417438820475981859018681778709694613682716132062110714965835381564936875528178261223935440155313093336347964999478523154903403887264999888426963987878392181148273507250813508552355176624487866005259807301772676219199608756996598485746402959098411019880974567640486993535313888419793161985329660406792419571991999398943127463203174188825080561622559020108101156163127213992426356212636062123354312687929323560760187607697210994886719600483935972451717443110027447359245127 610999063945029966135059544428193835117062007280553263936202786802507808957266265378133237843878253118823923448457677540680618577693637777884213706570816226866092403607917794355587944537127988011451798292326007254129294188729522573091927135757535027453811092260365888665841295944089468019667317209064418371600864833889705812289089672970767291600156628612048975219419301548850459093882616412248720941443015193940872008311226253165156394119430540804216014268005337023430942843436457891948795838019364920081047636098511600083155022856554973578902397711046021387463446944150954907558560272291730450239808727213322226289748168772537789706479501300791410295724856809726999871549109993869981025639196433749982924365486601041943896288886949743362173084573746449980671470641049646832171173493778080291528494669909280882972764460806456544648456005253844687262822980946159784456029736819250481251134131559654795477285417787811457272344343961184439010609406913348477875199312852368061652790985494363269159810415274016789567503529630798251446087453839264942409774985783854229841729196610402060444136080521882938065013709960635034447928615243678310782347334762493212623619675827319252205113281327061789792205416479504179550593752822746825435584837834874186234277785868340778159296855229323876705680669664640846792091540763940669400646546933470725137735199781827681959438848953158648311377559975778869592760451130056889898658621491969627812851855087795773917167856647097864396943168416647237967591534795728791408939401421370004400564305938825052592501263967680305558037844879108810864844822404379697185331857057549938507902538237033946720174064624648355873359796561700580925920295114540286034106034236752070243428368332618264270717076419489905052767918257623142390346398612095061749880579547504874093850139211722009859425920458884286535490363938456336300461346366347509490981446920087061999788075532368874371193063248591135931550107294379859236663157231954979457665417166003716519693201289919186854043929871373951811978552085678625302195735178331696468814812474699038859644911273999617430241030606706882146891663185131098437484039747297110203922158712740827257651253866007214283218873643785853101998389249811306593290107806100278970081601635895912894630152944012724333708812435257817820207162683027328402454402125647910018075581972659255284508454895649067481701380835212840894977350499736344530329427402715373476111591535194210848996954281381806633854571620061971150418057907908437795433043634081493388119893365411295775316617121225389975523351688694034138559943332898661600748332832982449847142850444640663044162245768917281522280528575082931253402528303716447924679930532289321782140391781018419793337941196534567377829718623328953708434099840735114218171018505612961151697694443805050847394589586491760346642468935200744955282567426762393357416576157503643605263247470279570782803622435601379484612510932484598400866064520148805589133226951423758506459144573005029658533072407022507005292453517662282112223224297350403333737043274093716882866086016735480116881303316450124103095717634366655785506033675489237403058469886521934858266385872499853707893150030470106534294478041042917190876955469070679358060144356547883908756870813197359904400090642478194205988569169717786653879586954272428490850557162357380385633828271492800432440762676236353496019467957906470939801473429179424606265795380016809352416502905151221369912701161714529981967835851 988617252557428899195218232391791053687834580917661755785426408394035176152484958007634720653836816519803771889464247839558385456070992741515496428857375294943035780853313100197563376096773535111110180136423215308139003286796300057628866991137933427786291710210585099211373814760019079316340993573081825236432170559153379504744962747868234944987346604211514304794362466946415826198172990616544429643566488426910787166119907298479499301701566155681900769790938455892852740265195240721324936742516261014954946789936929359543217012649535180396322505969132878835415738915641658293781046198412535943745628324778227971098395947900083792923636610155119492824671854851314754316970421388412135121280433961053952054165432673449114214261808818248055560137756771046091496342339425717727238184045647120918915228564857709053249179785585034855522920250126061089265076869677272672324025024225820309004617502301591501413237041773616360281764944445795390717698725290332451277641174293846194412732635829864846341020167712922588344417970818377345404662840777808853072924770490814347353279951855846425540300196674331121375678216166936255238101414151820205677179117432376170920783607913199122132125958691522070740124107545865627822677328431656629064425611590956087405196510688302240502379224808619213659676348233872855112831645627089153980475205225572822068876391910482917362458570611951983212185973011580298108657758392373837659994956987953721456972315841848666041871867564592579848761750174749302182179441934396173200025836025006548451168680681200078487757738806284472898515801449087491663655964185825232233063547539275189868358282882327410226994773023258610732013287215325379372671491551416393552694338160476271840006343690194741429321556829144978690697847504953487645949560197821677130432898594747779043484857329933394169295472666392261823380705061997586026069691555934949650175079531183673450157469797775443644224360351479040745668243281611349737903567098836323984324601543968343257994237389741212426040206869542986545753110284137825109832952198831866556794451116353039591947150668907619545397912280488802840947179778863187674888637978010688205602264814164801741821651662327261887224638667121391295890479647056740755289342317098827242254621322427794543944686462576243346757959418330333708583977961322966861457857925993280588964136051888572426612948269049113542701744504396601174281151989408768324153086990713390340406720627130432787847366548686298239068732271874640630267519509316095104489616399428432176495854462753801617163603592041547291669947627583562366960197290946471213678028012184889480993366652809765482575559721907539886218535786354782898818416647763088579894070275616031333573560381413207926533276278310097634044710380473736721787860340342672247984065129305432975322608784948754416096134890379822300567198708038116551165584850255777825923044973633536813547105349798157405466132903687591609845473720875685805763684567060176251942389954390688051914482561549498845243605824461327481274312536344060821917837980066535395847758239929098447802961544913741340816743471763217439443682633845178940409437562754237291485433874400327039414659379750667216445505207094594400299737848344689867096155077827675956545890759506982319776751787765000391393625956366613999150554499378193446299158946271827433978020365531569210714389894051820540541918839363567488445824170542533063155786117108748167025982987714020347303222505635157342364418604824557429327080978 1599616316502458865330277776819984888804896588198215019721629195196542985109751223385767958497715069638627695337921925380239004033764630519399710135428191521809128184461230894553151320633901523122561978428749222562268297475525822630720794126895468455240102802470950987877215110704108547336008310782146243608033035393043085317034052420839002236587503232823563280013781768495266285292055607028793150585009503620851659174431133551644655695820996696486116784058943792916283683108631698613273732580535625935035994426035440959626372035506090153975224903680178900222879185859792613201339606470704266393985437051991550197388144116672621582630116111455910903120396711661041754188519531382282116146919630394803934978530919274491058110550695767991417733222330517496072167812980475364559409357539425201210443723234766989936221944246391491400171376255379905776527899850623432456780054761045070790255751633861246296890522459561427817554109288406979829728308132203680929152840487146214256065523621324228115500830582986939377911921500449175596850750294617073795482699756274668577195009148466248485984436277196214059440691926127571289686030029395498516459526452194869383544403283740518374337239240018583860532329524025369807373271081254403454500010449425830273639474296556643018661676080037943090365357017898513701904923186391029823381121752159043547206611591692310599321897419565110631523563532987359167701418209522430727558653578479923349269824170929644439959039724211690444245704918591396540149770976730124964608965237446376552851732986620025131080259002773964778456553646328196302528500786590204929418395404596825128376260821119361356947168837647906966605373083777025960298591786665956679586800372397228342083434712022813005700038633248634883743465765762576630036295958809916738880313478142252653137334996541655404028721393125276548358871069000453922326531037922282459141156526451270735449945545330144318015417423600070176677218350575991208974566724330791303441990018709972059777687438679660399280084136740916938357731662369816450412028687377163563025609263591052078451592061942907236975638942887195684987838842963994286112372677725307798409524423526905628999472905528334476170443512310907244397888868896868047348579450123199106212336222958323707438574839406588967680466771853588151528791140644350295263912260051641190607039718024547827711121403164698181024403125339609442069258502489145112854482514393428763816518312162324643636844320830068104872923303891936611780685577417224532899922660033509925564615747828165097392480220713266937267193299316277596505520140623845132814426360845167339328136217097450428526737805490824821408499064361437714152220944951479536504574000807905353115713952162431627719871217474844665011874429003802690430221960181077786466155083634918394127020303228753805263490724476871582647209667643238861506448152277018171183339621131137180418810352820077728188269755339288971094457984653360284206629749087208981841075616905814446558373627134554528503776678231483834486566766054006342934141062277416938729584801514022815330669047561649221457698046788213341542539400268211834725915471238243474694543903760922261897681045252250520924338655237564700934594215889387607057973110546898355314606035116054866228533622600962360295793716598844808205139123669095980100178745900544255924828577527888949596348218165544620972982681515599920984465292128449004002957259546288172773291778367730829699719725410786378712277119766539087411294916829 2588233569059887764525496009211775942492731169115876775507055603590578161262236181393402679151551886158431467227386173219797389489835623260915206564285566816752163965314543994750714696730675058233672158565172437870407300762322122688349661118033401883026394512681536087088588925464127626652349304355228068844465205952196464821779015168707237181574849837035077584808144235441682111490228597645337580228575992047762446340551040850124154997522562852168017553849882248809136423373826939334598669323051886949990941215972370319169589048155625334371547409649311779058294924775434271495120652669116802337731065376769778168486540064572705375553752721611030395945068566512356508505489952770694251268200064355857887032696351947940172324812504586239473293360087288542163664155319901082286647541585072322129358951799624698989471124031976526255694296505505966865792976720300705129104079785270891099260369136162837798303759501335044177835874232852775220446006857494013380430481661440060450478256257154092961841850750699861966256339471267552942255413135394882648555624526765482924548289100322094911524736473870545180816370142294507544924131443547318722136705569627245554465186891653717496469365198710105931272453631571235435195948409686060083564436061016786361044670807244945259164055304846562304025033366132386557017754832018118977361596957384616369275487983602793516684355990177062614735749505998939465810075967914804565218648535467877070726796486771493106000911591776283024094466668766145842331950418664521137808991073471383101302901667301225209568016741580249251355069447777283794192156750776030161651458952136100318244619104001688767174163610671165577337386370992351339671263278217373073139494710557704613923441055713007747129360190077779862434163613267530117682245519007738416010746376737000432180819853871588798198016865791668810182251774062451508352600729478217408791331605982454408900103015127919761659641783951549217422886593857602558712470291429627627426314620253940403035681676069401611706124343610459924903484772653954275521861639575995429582403714707405118043539212611814856521036855167684487828786022742857473787261315703318486615126688341070430741294557190661738057668150978028635693779348543924788103868792440297933454590844280751501982519525869165211027224731271918485237375118605673262125370117977634471196003854076436400137734351433747294567104869844006043243539654478553881178635601384142154156925032789455076424691687378754403111992036163811252410953096926540628004412276432938357741111602290918899009643824305308484558863246943861158872480337914791604028104388857352228809129583750260194009313365212732361294717600147792497051039361599242625084468071083521384449287512543844835646404493753154762645919139384276427152009820521420458714139148764223827102342912013702559679586859367251404947776866351276978057613737127273949009262666104770717232357458169875885593735888242976562704303458374235970012393433654269158093018006860205134610288109696104027349020284055945161967841078590350403756058900257483474125432559753951913778472009106562962798514790259976558981983082902057013666324908800997711986029337635322588937095704632001188140784160444659295334893953737732296925069265624726031271151925875561848548310374388727360687187342555211422204289678168474173546477904846816083358806597893420518807062608059596441513524600354963488472911116298991537066113045663396920940317761355444850047022947916421536054641538371363644840621997807 4187849885562346629855773786031760831297627757314091795228684798787121146371987404779170637649266955797059162565308098600036393523600253780314916699713758338561292149775774889303866017364576581356234136993921660432675598237847945319070455244928870338266497315152487074965804036168236173988357615137374312452498241345239550138813067589546239418162353069858640864821926003936948396782284204674130730813585495668614105514982174401768810693343559548654134337908826041725420106482458637947872401903587512885026935642007811278795961083661715488346772313329490679281174110635226884696460259139821068731716502428761328365874684181245326958183868833066941299065465278173398262694009484152976367415119694750661822011227271222431230435363200354230891026582417806038235831968300376446846056899124497523339802675034391688925693068278368017655865672760885872642320876570924137585884134546315961889516120770024084095194281960896471995389983521259755050174314989697694309583322148586274706543779878478321077342681333686801344168260971716728539106163430011956444038324283040151501743298248788343397509172751066759240257062068422078834610161472942817238596232021822114938009590175394235870806604438728689791804783155596605242569219490940463538064446510442616634684145103801588277825731384884505394390390384030900258922678018409148800742718709543659916482099575295104116006253409742173246259313038986298633511494177437235292777302113947800419996620657701137545959951315987973468340171587357542382481721395394646102417956310917759654154634653921250340648275744354214029811623094105480096720657537366235091069854356732925446620879925121050124121332448319072543942759454769377299969855064883329752726295082954932956006875767735820752829398823326414746177629379030106747718541477817655154891059854879253085318154850413244202226738258916945358541122843062905430679131767400499867932488132433725144350048560458064079675059207551619394100104944433593767687037015760418930868304638963912462813369114749062010986208480351376863261216435023770725933890326953158992608012978298457196495131274554722093496675798054880172816624865706851759899633993428626285024651111867976059740767462718996214228111663288935880091668217440792835452448242563497039666927067239075209421094365275754178707691503125506636766166259250023557389282378029275661803043572100984227848855754598445475591507995183615485312798156967698994033118115777570917973443344951779720061536008208822507984915340055747864191638674343765160904334936466448283305727350119083996402124045018575421826056546260138755378000478538636736842530749702519568137265800847710622536051170703557182703216664509230211203260306550722161589042071891426737565001464706276463366275711227999427657793568388079117582231780702498245180294232399142221229363215242456364943077583844122987594986533994515839564061889404292120192602287235907897651167810989953613782005643582265533798761443027596254219023182741478139934093623766019581168661736830658555852796962287428996454407844644356746690199962534900412855017361267974729109141056668212184256212837048189900524522483170268848392240380039241186680573241396244850834776749884251709065122815682223996269488169627119903983042376171624386585757960991616714776843996989689720982981059154056230409428801837570153646656650747360339283635175421309468403410826225141062486507281870563409457376408427440541069070305209685093713609539723175679746742673327207914766918658137902732251916914636 6776083454622234394381269795243536773790358926429968570735740402377699307634223586172573316800818841955490629792694271819833783013435877041230123263999325155313456115090318884054580714095251639589906295559094098303082899000170068007420116362962272221292891827834023162054392961632363800640706919492602381296963447297436014960592082758253476599737202906893718449630070239378630508272512802319468311042161487716376551855533215251892965690866122400822151891758708290534556529856285577282471071226639399835017876857980181597965550131817340822718319722978802458339469035410661156191580911808937871069447567805531106534361224245818032333737621554677971695010533844685754771199499436923670618683319759106519709043923623170371402760175704940470364319942505094580399496123620277529132704440709569845469161626834016387915164192310344543911559969266391839508113853291224842714988214331586852988776489906186921893498041462231516173225857754112530270620321847191707690013803810026335157022036135632414039184532084386663310424600442984281481361576565406839092593948809805634426291587349110438309033909224937304421073432210716586379534292916490135960732937591449360492474777067047953367275969637438795723077236787167840677765167900626523621628882571459402995728815911046533536989786689731067698415423750163286815940432850427267778104315666928276285757587558897897632690609399919235860995062544985238099321570145352039857995950649415677490723417144472630651960862907764256492434638256123688224813671814059167240226947384389142755457536321222475550216292485934463281166692541882763890912814288142265252721313308869025764865499029122738891295496058990238121280145825761728639641118343100702825865789793512637569930316823448828499958759013404194608611792992297636865400786996825393570901806231616253517498974704284833000424755124708614168723374617125356939031732496878717276723819738416179553250151575585983841334700991503168611522991538291196326399507307190046558294619259217852865849050790818463622692332823961836788164701207677725001455751966529154422190416693005862314538670487166536950017712653222564660645410888449709233686895309131944771639777800209046490482062019909657952285779814266964515785447565984717623556317035003794973121517911519826711403613891144919389734916234397425122003541377855696819514652496006910132999047426177420627986590106032192770158612865027621528556337811446252875211753717161713072130368377741234796486227695587576911096907376219559116602591771270305788908747212899386641046838952410002895411767869323883906384919793203999914250480816453428340870635138559871796946395384597970816545364535916289543997934264657022708254299668149964786673510142974948122014288977250121299012680204981154190303712707772355544734241601223918703894433381163366048331706127256158924622664443211374392542763400345792817621675626531566069201864953340678614883525269159829499375741531825242096503064901401832224231416616395747298027111630626224715778949846526762583201817246343374158422248923234707150446258862792383886980449921021926642887613065774775147054727627308166459506505566072325862058565288840238898666602579031567439771872454516252897205906976126883291604382123364852200908111641796350417856909886867178563325154371378417081670168401709267652613718480006044327193134555594176422642441773314729987210473434284737504000031882225526897930287524726432078135183350873082014653927301078620529793765621243629450821560196509266377092538912443 10963933340184581024237043581275297605087986683744060365964425201164820454006210990951743954450085797752549792358002370419870176537036130821545039963713083493874748264866093773358446731459828220946140432553015758735758497238018013326490571607891142559559389142986510237020196997800599974629064534629976693749461688642675565099405150347799716017899555976752359314451996243315578905054797006993599041855746983384990657370515389653661776384209681949476286229667534332259976636338744215230343473130226912720044812499987992876761511215479056311065092036308293137620643146045888040888041170948758939801164070234292434900235908427063359291921490387744912994075999122859153033893508921076646986098439453857181531055150894392802633195538905294701255346524922900618635328091920653975978761339834067368808964301868408076840857260588712561567425642027277712150434729862148980300872348877902814878292610676211005988692323423127988168615841275372285320794636836889401999597125958612609863565816014110735116527213418073464654592861414701010020467739995418795536632273092845785928034885597898781706543081976004063661330494279138665214144454389432953199329169613271475430484367242442189238082574076167485514882019942764445920334387391566987159693329081902019630412961014848121814815518074615573092805814134194187074863110868836416578847034376471936202239687134193001748696862809661409107254375583971536732833064322789275150773252763363477910720037802173768197920814223752229960774809843481230607295393209453813342644903695306902409612170975143725890864568230288677310978315635988243987633471825508500343791167665601951211486378954243789015416828507309310665222905280531105939610973407984032578592084876467570525937192591184649252788157836730609354789422371327743613119328474643048725792866086495506602817129554698077202651493383625559527264497460188262369710864264279217144656307870849904697600200136044047921009760199054788005623096482724790094086544322950465489162923898181765328662419905567525633678541304313213651425917642701495727389642293482313414798429671304319511033801761721259043514388451277444833462035754156560993586529302560571056664428912077022550222829482628654166513891477555900395877115783425510459008765277567292012788444978758901920824708256420673568442607737522931758769707637105720376903934874036185794802090998278404855835445860630638245750120860211237013869135968413951869244871832939283990103811722693014516547763703796399419081822716275306980794230445614070949813082149365834924352566302529086891813891914342459328210976339464138669628481294992065077713165888262391365083661185445681439081415706619846726701150929166252919457559974700686948262552214866374859579290441956397762378955916209153617961506276160434662316473381926416949074727613562508269561069342498615289565742027055497380137749934340308657185737515935858189394467240576586512534693080149783113157747175407507630301826344429428478450439799137225437961205254392244296947611583357421139054614208630803154876656767879063897136458825327284299835467282289901371996754122442987331310940464356356360031028049242594710450805668879480085347175820427812290606649204400504606271029791809107287873870292991972104891154017967974804442667847858795278101998368368106802653149460863323883023147281843614480839791206341536761926076948736039455613884260509878566486539164096090307387663933153872619204253656082767108367536840801796209540508294570837365588478854647169109344455827079 17740016794806815418618313376518834378878345610174028936700165603542519761640434577124317271250904639708040422150696642239703959550472007862775163227712408649188204379956412657413027445555079860536046728112109857038841396238188081333910687970853414780852280970820533399074589959432963775269771454122579075046425135940111580059997233106053192617636758883646077764082066482694209413327309809313067352897908471101367209226048604905554742075075804350298438121426242622794533166195029792512814544356866312555062689357968174474727061347296397133783411759287095595960112181456549197079622082757696810870611638039823541434597132672881391625659111942422884689086532967544907805093008358000317604781759212963701240099074517563174035955714610235171619666467427995199034824215540931505111465780543637214278125928702424464756021452899057105478985611293669551658548583153373823015860563209489667867069100582397927882190364885359504341841699029484815591414958684081109689610929768638945020587852149743149155711745502460127965017461857685291501829316560825634629226221902651420354326472947009220015576991200941368082403926489855251593678747305923089160062107204720835922959144309490142605358543713606281237959256729932286598099555292193510781322211653361422626141776925894655351805304764346640791221237884357473890803543719263684356951350043400212487997274693090899381387472209580644968249438128956774832154634468141315008769203412779155401443454946646398849881677131516486453209448099604918832109065023512980582871851079696045165069707296366201441080860716223140592145008177871007878546286113650765596512480974470976976351877983366527906712324566299548786503051106292834579252091751084735404457874669980208095867509414633477752746916850134803963401215363625380478520115471468442296694672318111760120316104258982910203076248508334173695987872077313619308742596761157934421380127609266084250850351711630031762344461190557956617146088021015986420486051630140512047457543157399618194511470696385989256370874128275050439590618850379220728845394260011467836988846364310181825572472248887795993532101104500009494107446642606270227273424611692515828304206712286069040704891502538312118799671291822864911662563349410228082565082312571086985909962890278728632228322147565592958177523971920356880773249014961417196418587370043095927801138424455825483822035966662831015908733725238858542425473779860204744456625550100997062234180100434249313033991399383976330178730092494866097396822216884376738721829362265221565399405254939089787225659783666343234595896132668138583878962111445493418583801026822263162030056570043652255626780242536136270699085193823275627711859642850651734936062357841322981593579419206519061391636121190307808265218983932790207050714983150335652969160994725874317892775469754774214188406470266871772680513334686101474807413142467424258596332193917265127418218349309612612533488707232749726804891245831260702681856415532972735988316885018469012726561429884183722256431454974177313298905691113771047582717688119668186815917203311828014884367188217762478365668091664522819537533615314920572509370957719718984013778399459379730378521658916757503476936767935990579478252416356824305799265659764325222299577734725973841427152739746523884323317862572591535636865761849658808032925761935713184568518722050769442824357694794616070486571046321617205317951457880304697339437006955849123021464141880416739334273915814466816410039051156435486436994739522 28703950134991396442855356957794131983966332293918089302664590804707340215646645568076061225700990437460590214508699012659574136087508138684320203191425492143062952644822506430771474177014908081482187160665125615774599893476206094660401259578744557340411670113807043636094786957233563749898835988752555768795886824582787145159402383453852908635536314860398437078534062726009788318382106816306666394753655454486357866596563994559216518459285486299774724351093776955054509802533774007743158017487093225275107501857956167351488572562775453444848503795595388733580755327502437237967663253706455750671775708274115976334833041099944750917580602330167797683162532090404060838986517279076964590880198666820882771154225411955976669151253515529872875012992350895817670152307461585481090227120377704583087090230570832541596878713487769667046411253320947263808983313015522803316732912087392482745361711258608933870882688308487492510457540304857100912209595520970511689208055727251554884153668163853884272238958920533592619610323272386301522297056556244430165858494995497206282361358544908001722120073176945431743734420768993916807823201695356042359391276817992311353443511551932331843441117789773766752841276672696732518433942683760497941015540735263442256554737940742777166620822838962213884027052018551660965666654588100100935798384419872148690236961827283901130084335019242054075503813712928311564987698790930590159542456176142633312163492748820167047802491355268716413984257943086149439404458232966793925516754775002947574681878271509927331945428946511817903123323813859251866179757939159265940303648640072928187838256937610316922129153073608859451725956386823940518863065159068767983049959546447778621804702005818127005535074686865413318190637734953124091639443946111491022487538404607266723133233813680987405727741891959733223252369537501881678453461025437151566036435480115988948450551847674079683354221389612744622769184503740776514572595953090977536620467055581383523173890601953514890049415432588264091016536493080716456235036553493781251787276035614501336606274010609055037046489555777454327569482396762831220859953914253086884968635624363091590927720985166966285313562769378765307539679132835738541573847590138378998698407869037630553053030403986266526620131709443288639542956652067137573322522244079281722603229422734230339657481827293469261658854585450095556294609748274156613701497383040281052337991823127263829581755103180375749260552808770173078191052662498447688534911511631056489751971557468176679039551698008802562806872472132277253507443406437558496296966915084654527113717755489333694708195949155982997400236122989528547169419617551338683198614572707697841172869861162916823770592037399461426226725260093224869367188365076752602043888608288382587453844812253389503754148497322369152818263269026410131993150658403282447990799434493851639952911429459395725691235882640257357106717590260689181132296214670198173949522139410713309674173013241604861311045663604980468175562458992834944719176513446952486651384485601729386881121310660749809676608556020879179568561664557515282960176626599199069360954219887192020985170863317262109747966559745097867352122709348796410690419677732300026742245582584769119529151108114630686976467323435915418660013043693273288872716968277249946494595670786808898438241955304494636973110210417707512705615391034177316543690663038616231389000982682212948874782210385304181998517905803604595781450566601 46443966929798211861473670334312966362844677904092118239364756408249859977287080145200378496951895077168630636659395654899278095637980146547095366419137900792251157024778919088184501622569987942018233888777235472813441289714394175994311947549597972121263951084627577035169376916666527525168607442875134843842311960522898725219399616559906101253173073744044514842616129208703997731709416625619733747651563925587725075822612599464771260534361290650073162472520019577849042968728803800255972561843959537830170191215924341826215633910071850578631915554882484329540867508958986435047285336464152561542387346313939517769430173772826142543239714272590682372249065057948968644079525637077282195661957879784584011253299929519150705106968125765044494679459778891016704976523002516986201692900921341797365216159273257006352900166386826772525396864614616815467531896168896626332593475296882150612430811841006861753073053193846996852299239334341916503624554205051621378818985495890499904741520313597033427950704422993720584627785130071593024126373117070064795084716898148626636687831491917221737697064377886799826138347258849168401501949001279131519453384022713147276402655861422474448799661503380047990800533402629019116533497975954008722337752388624864882696514866637432518426127603308854675248289902909134856470198307363785292749734463272361178234236520374800511471807228822699043753251841885086397142333259071905168311659588921788713606947695466565897684168486785202867193706042691068271513523256479774508388605854698992739751585567876128773026289662734958495268331991730259744726044052810031536816129614543905164190134920976844828841477639908408238229007493116775098115156910153503387507834216427986717672211420451604758281991537000217281591853098578504570159559417579933319182210722719026843449338072663897608803990400293906919240241614815500987196057786595085987416563089382073199300903559304111445698682580170701239915272524756762935058647583231489584078010212981001717685361298339504146420289560863314530607155343459937185080430813505249088776122399924683162178746259496851030578590660277463821676929039369101448133378525945602713272842336649160631632612487705278404113234061201630219202242482245966624138929902709465984608370759316359185281352551551859484797655681363645520316205667028554769741109614122377650404367847190055823479517793956300277567588310688954098720083528134361358158122933141278114572171923561513142615746502564352079439282901265039175587874879382824427256740873896278055151376812407266466265211481675145797402768604800415837386405517883051914880767941906917689143774325532985950334976191692119268099321316812804174881279260401990418134676930549020822766449280369435885162228158589769234491944244026015076417903348227088255013049603014256905346620282008163717942554967589240925498776603712511606800563800870706706587131628411116767371129778769008338224724589873007083911608836091949883814152630203170909937839024429182322400734443125788583567477118579157781474468150106605992301894201566620673467301688913557401765488498878512288042276647685401999106095279872435855469547584318918053374732619346571751363692522234019613224903327681088446830375125705620716489685337496625249041823317310742960956303847861154571299785186008506954296878805542932096905642730212963131063114392837578341262599650099110707459681256739324718023566848914482013883127669994465354410465124562629688209056126199770998408556956960040082218445306123 75147917064789608304329027292107098346811010198010207542029347212957200192933725713276439722652885514629220851168094667558852231725488285231415569610563392935314109669601425518955975799584896023500421049442361088588041183190600270654713207128342529461675621198434620671264163873900091275067443431627690612638198785105685870378802000013759009888709388604442951921150191934713786050091523441926400142405219380074082942419176594023987778993646776949847886823613796532903552771262577807999130579331052763105277693073880509177704206472847304023480419350477873063121622836461423673014948590170608312214163054588055494104263214872770893460820316602758480055411597148353029483066042916154246786542156546605466782407525341475127374258221641294917369692452129786834375128830464102467291920021299046380452306389844089547949778879874596439571808117935564079276515209184419429649326387384274633357792523099615795623955741502334489362756779639199017415834149726022133068027041223142054788895188477450917700189663343527313204238108402457894546423429673314494960943211893645832919049190036825223459817137554832231569872768027843085209325150696635173878844660840705458629846167413354806292240779293153814743641810075325751634967440659714506663353293123888307139251252807380209685046950442271068559275341921460795822136852895463886228548118883144509868471198347658701641556142248064753119257065554813397962130032050002495327854115765064422025770440444286732945486659842053919281177963985777217710917981489446568433905360629701940314433463839386056104971718609246776398391655805589511610905801991969297477119778254616833352028391858587161750970630713517267689954963879940715616978222069222271370557793762875765339476913426269731763817066223865630599782490833531628661799003363691424341669749127326293566582571886344885014531732292253640142492611152317382665649518812032237553452998569498062147751455406978191129052903969783445862684457028497539449631243536322467120698477268562385240859251900293019036469704993451578621623691836540653641315467366999030340563398435539184498785020270105906067625080216054918149246411436131932668993332440198689598241477961012252222560333472872244689426796830580395526741921615081705165712777492847844983306778628353989738334382955538126011417787390806934159859162319095692343063631858201659373007597269924286163136999621249769539226442896139049655014693276408517971859620316181559166910163746688776972197501605744727828699835710035212253778927541881272115791652385527334544903348369875443145304763179683948360209641076932693090893848924320610411177734856991572216257492081022319645043172140848102265499557439802332722050698877953329101333291503256718663939319141532352708932820195989230660718669504119239945785091713303840857056938211302639492800465094261553221696703464911610078317039872738921738793714459273989154577931062904968407324041208228404063915960472513264441018326426352639064946448844873369083887361163839895632074907456367393444878522782184138249650030609099440937021070715013573160118686174515286788646609809539262097718885203706281178674656944429951138429724210918117122735686839233763772348863385551281722972869887426186314182497835054417127180105015228925275784068899895512080485454955975785258276252509444422372956891849236205385778359698490213077557710063624387239700841605403605344432791467157032230729182239948659330426818333033081585799466107244842637083838336585075180407074862763644677999895872724 121591883994587820165802697626420064709655688102102325781394103621207060170220805858476818219604780591797851487827490322458130327363468431778510936029701293727565266694380344607140477422154883965518654938219596561401482472904994446649025154677940501582939572283062197706433540790566618800236050874502825456480510745628584595598201616573665111141882462348487466763766321143417783781800940067546133890056783305661808018241789193488759039528008067599921049296133816110752595739991381608255103141175012300935447884289804851003919840382919154602112334905360357392662490345420410108062233926634760873756550400901995011873693388645597036004060030875349162427660662206301998127145568553231528982204114426390050793660825270994278079365189767059961864371911908677851080105353466619453493612922220388177817522549117346554302679046261423212097204982550180894744047105353316055981919862681156783970223334940622657377028794696181486215056018973540933919458703931073754446846026719032554693636708791047951128140367766521033788865893532529487570549802790384559756027928791794459555737021528742445197514201932719031396011115286692253610827099697914305398298044863418605906248823274777280741040440796533862734442343477954770751500938635668515385691045512513172021947767674017642203473078045579923234523631824369930678607051202827671521297853346416871046705434868033502153027949476887452163010317396698484359272365309074400496165775353986210739377388139753298843170828328839122148371670028468285982431504745926342942293966484400933054185049407262184877998008271981734893659987797319771355631846044779329013935907869160738516218526779564006579812108353425675928183971373057490715093378979375774758065627979303752057149124846721336522099057760865847881374343932110133231958562781271357660851959850045320410031909959008782623335722692547547061732852767132883652845576598627323540869561658880135347052358966282302574751586549954147102599729553254302384689891119553956704776487481543386958544613198632523182889994554314893152230847180000590826395898180504279429339520835463867660963766529602757098203670876332381970923340475501034117126710966144292311514320297661412854192945960577523093540030891782025745944164097327671789851707395557310967915149387670348923615735507089985496215443072170579680175367986124247112804741472324037023411965117114341986616517415206069816794031206828003753734776804542879330017743249322837281482335670250290114813248108309079908139118611300251429366802421264096543048393259423612600054725182282709611569974661359094157612409681733108928280254442203662326058502798898489905401266406555305595378148332540221533598878756615136896931978138355319519467968433805739486705768421901788594095048354578999895210613748145255022202995061530929112069987814316896398147085376269716939639258432500851003815816476451433345594278260144695861165062691316085174695170986997412402140685062386271524929935262444588948760601475076539993825200188269077954475641899493182028445999900763296031124498759206046929322964916580193833585987863428844190412098308417774385761161851391683177780752224302386993899271795237035176110419458580335523712555907785301336197773215107274761012872960760037843669790352725550524825892217206255041441758803836939829576037695452929327253770654779137482684002428703176208620824456461965580963441255502716051892472723896356948752749088863141344309946003027546940209931231807472325292894462784846178815631819723684760218341178847 196739801059377428470131724918527163056466698300112533323423450834164260363154531571753257942257666106427072338995584990016982559088956717009926505640264686662879376363981770126096453221739779989019075987661957649989523656095594717303738361806283031044615193481496818377697704664466710075303494306130516069118709530734270465977003616587424121030591850952930418684916513078131569831892463509472534032462002685735890960660965787512746818521654844549768936119747612643656148511253959416254233720506065064040725577363685360181624046855766458625592754255838230455784113181881833781077182516805369185970713455490050505977956603518367929464880347478107642483072259354655027610211611469385775768746270972995517576068350612469405453623411408354879234064364038464685455234183930721920785532943519434558269828938961436102252457926136019651669013100485744974020562314537735485631246250065431417328015858040238453000984536198515975577812798612739951335292853657095887514873067942174609482531897268498868828330031110048346993104001934987382116973232463699054716971140685440292474786211565567668657331339487551262965883883314535338820152250394549479277142705704124064536094990688132087033281220089687677478084153553280522386468379295383022049044338636401479161199020481397851888520028487850991793798973745830726500743904098291557749845972229561380915176633215692203794584091724952205282267382951511882321402397359076895824019891119050632765147828584040031788657488170893041429549634014245503693349486235372911376199327114102873368618513246648240982969726881228511292051643602909282966537648036748626491055686123777571868246918638151168330782739066942943618138935252998206332071601048598046128623421742179517396626038272991068285916123984731478481156834765641761893757566144962782002521708977371613976614481845353667637867454984801187204225463919450266318495095410659561094322560228378197494803814373260493703804490519737592965284186581751841834321134655876423825474964750105772199403865098925542219359699547766471773854539016541244467711365547503309769902919271003052159748786799708663165828751092387300120169751911632966786120043406342981909755798258673665076753279433449767782966827722362421272686085712409376955564484888405155951221928016024338661950118462628111507633230462977513840034530305219939455868373330525696396419562387038628149753517036455839356020474102967053408749470080951397301877363565504396448392499416939067087010749714053807736838954321335463683145729963145368658840045644950947144958073552158152756874737841043042517822050758665802019174103366524272737236237655890062121658758487577625240421320473388323799098436196417469618982677016308648620801259937062458150645087563434141303027868550568230555929283252264494967988086774834769969126926025619535890947550470531270161335961897412461082132856349190355084387992719418685015742993754221053582019212195225816466056645534899535965948261688797228013707050319949909077712561352108973586550549355860575473324522682947434280774529368305487866344035631593766993704674037944130979058708117957036483480047055097964356455409168732338132328996006155152298846106297814099296061419293336583059170643102533461075195370795814454970849895367954475800609961117101767121927213759812725087852290204897351700210662504015342868462362127193389286178534520086352820664282860906321396325264191053389179481931328811800674736764336060628526009397339052314962376732799369921359222706682487329438218237051571 318331685053965248635934422544947227766122386402214859104817554455371320533375337430230076161862446698224923826823075312475112886452425148788437441669965980390444643058362114733236930643894663954537730925881554211391006129000589163952763516484223532627554765764559016084131245455033328875539545180633341525599220276362855061575205233161089232172474313301417885448682834221549353613693403577018667922518785991397698978902754981001505858049662912149689985415881428754408744251245341024509336861681077364976173461653490211185543887238685613227705089161198587848446603527302243889139416443440130059727263856392045517851649992163964965468940378353456804910732921560957025737357180022617304750950385399385568369729175883463683532988601175414841098436275947142536535339537397341374279145865739822736087351488078782656555136972397442863766218083035925868764609419891051541613166112746588201298239192980861110378013330894697461792868817586280885254751557588169641961719094661207164176168606059546819956470398876569380781969895467516869687523035254083614472999069477234752030523233094310113854845541420270294361894998601227592430979350092463784675440750567542670442343813962909367774321660886221540212526497031235293137969317931051537434735384148914651183146788155415494091993106533430915028322605570200657179350955301119229271143825575978251961882068083725705947612041201839657445277700348210366680674762668151296320185666473036843504525216723793330631828316499732163577921304042713789675780990981299254318493293598503806422803562653910425860967735153210246185711631400229054322169494081527955504991593992938310384465445417715174910594847420368619546322906626055697047164980027973820886689049721483269453775163119712404808015181745597326362531178697751895125716128926234139663373668827416934386646391804362450261203177677348734265958316686583149971340672009286884635192121887258332841856173339542796278556077069691740067883916135006144219011025775430380530251452231649159157948478297558065402249694102081364926085386196541835294107263728007589199242440106466919820712553329311420264032421968719682091093092387134000903246754372487274221270118556335077930946225394027290876506858614144447018630249809737048745416192283962466919137077403694687585565853969718097003848673535148093520209898291344186568673114802849733419831527504152970136370034451661909172814505309795057162484246885494276631895106814827233729874835087189357201823997822362887644978072932635715112512532384409465201888438904374559745012798734440862368444712502402136675434460440398910947454357808727935063294740454788552027060024894132930835799468805928545332697314953032606515914655154663968140269228370868197637350855985335929897122916905147230451139897000409749990191081836365699081196913839936432289094635846800987100975220329913312085948672825641788429982270979563380876908056445537138756714383182223228868197330597285807490878196951241816962467651795026449071537761540378051541026191255353757501770522583710730311899028127511534795667000548173960827290661901372975169470806426374810869241208906489647534236161393034725126228267801392187474956525756394434819773975201121884395368416317640735836208243756574492814519685720680026325435853334308022163368972563649664917428327900350281027464433158794480351146364555896565494799358976548318401627724116409037448217736914949746128234680417674942019046710339088175466219328570859787287669627262154767538038338502211014198436578230418 515071486113342677106066147463474390822589084702327392428241005289535580896529869001983334104120112804651996165818660302492095445541381865798363947310230667053324019422343884859333383865634443943556806913543511861380529785096183881256501878290506563672169959246055834461828950119500038950843039486763857594717929807097125527552208849748513353203066164254348304133599347299680923445585867086491201954980788677133589939563720768514252676571317756699458921535629041398064892762499300440763570582187142429016899039017175571367167934094452071853297843417036818304230716709184077670216598960245499245697977311882096023829606595682332894933820725831564447393805180915612053347568791492003080519696656372381085945797526495933088986612012583769720332500639985607221990573721328063295064678809259257294357180427040218758807594898533462515435231183521670842785171734428787027244412362812019618626255051021099563378997867093213437370681616199020836590044411245265529476592162603381773658700503328045688784800429986617727775073897402504251804496267717782669189970210162675044505309444659877782512176880907821557327778881915762931251131600487013263952583456271666734978438804651041454807602880975909217690610650584515815524437697226434559483779722785316130344345808636813345980513135021281906822121579316031383680094859399410787020989797805539632877058701299417909742196132926791862727545083299722249002077160027228192144205557592087476269673045307833362420485804670625205007470938056959293369130477216672165694692620712606679791422075900558666843937462034438757477763275003138337288707142118276581996047280116715882252712364055866343241377586487311563164461841879053903379236581076571867015312471463662786850401201392703473093931305730328804843688013463393657019473695071196921665895377804788548363260873649716117899070632662149921470183780606033416289835767419946445729514682115636530336659987712803289982360567589429333033168102716757986053332160431306804355726416981754931357352343396483607621609393649847836699939925213083079761818629275510898969145359377469971980461340129020083429861173061106982211262844298766967689366797778830256131025916815008743007699504827477058659473686336506868291316335522146425700980677172367622870359005419719026247515972432346208511481903998125607360244428596564126024541488133375429816251089891191598286123551488117748528834979412762110571233716966445673933772470380331630178267334504128424288834747536416695381817027253971178795658262347554833860728484549325506889970872286599015125319450343445179193256511199064712966628461175252207800530978110678614148718783381710556076220789279316869131795751149450076134897332170972616761070488307930655787995943548770071200150785455715461007069180252674244958179168611200469050323839865555968180042186317332257262311182227325773168081529174832143514370263698982065892651050199758192338733595377449045334253976132185343456826458640039044976174702114976358149250322892487025127576740611214332975095045266658164592673557495817022662011036179767727820995335939317106148529514544331847352721255961587611890691570561767063258557263807547339773802632054208534115835394494458467454539059420174196911403614552388947785369581088634502126045814451409789285296186323462390005280618105247632727675095662809823219608726683089954780977893496634671222292006977315358844543001106003135307716611746486742693783474675148803992228725909912102250046360061524688897261045184698343636654815281989 833403171167307925742000570008421618588711471104542251533058559744906901429905206432213410265982559502876919992641735614967208331993807014586801388980196647443768662480705999592570314509529107898094537839425066072771535914096773045209265394774730096299724725010614850545960195574533367826382584667397199120317150083459980589127414082909602585375540477555766189582282181521230277059279270663509869877499574668531288918466475749515758534620980668849148906951510470152473637013744641465272907443868219793993072500670665782552711821333137685081002932578235406152677320236486321559356015403685629305425241168274141541681256587846297860402761104185021252304538102476569079084925971514620385270647041771766654315526702379396772519600613759184561430936915932749758525913258725404669343824674999080030444531915119001415362731870930905379201449266557596711549781154319838568857578475558607819924494244001960673757011197987910899163550433785301721844795968833435171438311257264588937834869109387592508741270828863187108557043792870021121492019302971866283662969279639909796535832677754187896367022422328091851689673880516990523682110950579477048628024206839209405420782618613950822581924541862130757903137147615751108662407015157486096918515106934230781527492596792228840072506241554712821850444184886232040859445814700530016292133623381517884838940769383143615689808174128631520172822783647932615682751922695379488464391224065124319774198262031626693052314121170357368585392242099673083044911468197971420013185914311110486214225638554469092704905197187649003663474906403367391610876636199804537501038874109654192637177809473581518151972433907680182710784748505109600426401561104545687902001521185146056304176364512415877901946487475926131206219192161145552145189823997431061329269046632205482749907265454078568160273810339498655736142097292616566261176439429233330364706804002894863178516161052346086260916644659121073101052018851764130272343186206737184885977869213404090515300821694041673023859087751929201626025311409624915055925893003518488168387799483936891801173893458331503693893595029826664302355936685900968592613552151317530352296035371343820938645730221504349535980544950651315309946585331883474446396869456330089789496082823413713833081826402064305515330577533273700880454326887908312593214602936225163236082617395344568422493585939779657701649484722557167733717963851939950565667577195158863908142169591317781490658745358779583026795100186606893908170794731964299062616923453700066634983671021039877493764162845847315868690971639463623914082818983980142863825718565467166175778808275843486912020258085245414464493066102482682650811987325636584901339716678798853425346799534106001097273702360862691458209077253083994948370250447566168131520753705492400469136822164133244363286402557239085254030202000473931944352534678545446769559106645295331095447978559672274202451306729471150947704655591280861938642353910002807220788084432865076668602931866568090476865567850368894904572585623328557457678036727941688648285997840690081318000320970706658221962464868077259424927731954801788384785531608939527248759157810602968935609369695580351849907475737814932747611858308963440599889266809314528451481667785717811448665158887112054922708946005597913755139528821604303570755091238986520275777252473182989623919731093724396292760738020952881435951292164161684712830185014236979458448054480771889537715987323679456435299383686909357835091393512407 1348474657280650602848066717471896009411300555806869643961299565034442482326435075434196744370102672307528916158460395917459303777535188880385165336290427314497092681903049884451903698375163551841651344752968577934152065699192956926465767273065236659971894684256670685007789145694033406777225624154161056715035079890557106116679622932658115938578606641810114493715881528820911200504865137750001071832480363345664878858030196518030011211192298425548607828487139511550538529776243941906036478026055362223009971539687841353919879755427589756934300775995272224456908036945670399229572614363931128551123218480156237565510863183528630755336581830016585699698343283392181132432494763006623465790343698144147740261324228875329861506212626342954281763437555918356980516486980053467964408503484258337324801712342159220174170326769464367894636680450079267554334952888748625596101990838370627438550749295023060237136009065081124336534232049984322558434840380078700700914903419867970711493569612715638197526071258849804836332117690272525373296515570689648952852939489802584841041142122414065678879199303235913409017452762432753454933242551066490312580607663110876140399221423264992277389527422838039975593747798200266924186844712383920656402294829719546911871838405429042186053019376575994728672565764202263424539540674099940803313123421187057517715999470682561525432004307055423382900367866947654864684829082722607680608596781657211796043871307339460055472799925840982573592863180156632376414041945414643585707878535023717166005647714455027759548842659222087761141238181406505728899583778318081119497086154226370074889890173529447861393350020394991745875246590384163503805638142181117554917313992648808843154577565905119350995877793206254936049907205624539209164663519068627982995164424436994031113168139103794686059344443001648577206325877898649982551012206849179776094221486118531393515176148765149376243277212248550406134220121568522116325675346638043989241704286195159021872653165090525280645468481401777038325965236622707994817744522279029387137533158861406863781635233587351587123754768090933646513618780984667936281980349930147786483321952186352563946345235048981408195454231287158183601262920854029900147377546628697712659855088243132740080597798834410514026812481531399308240698755484472438617756091069600593052333707286536166708617137427897406230484464135319278304951680818385624499440047575490494086409504095446205779493492895196278408612127440578072703829057079519132923345408003025573524954543307638892619083613189292495061947482838528336880711280159232350664356696676145780324497591657554042988241047364562283596288817251932758785709319496609201662410204986729509213342743082876072297424487816578152465278257505758239906549419058766637181844593571048368649179008481465501625597584784564858422111731175306075458722798377527512662210156845053523434181573937121319536705282861656494404531114231319906914817056024979165370038407325352101796179672477782423451960613117027059497246143119145580119689072907709416469281333780007187466529835515038505574683720829664871315619302516568851643342795416486867022561789864811503051444764190038819304446535157989129659015472861352388385258847897949030577527482237127600733961345210574444927989564110845546482814624484414126790363817922076475056755145969817660846211738071039755137303739126956016743667903910648427406613659689385783450676780390683991787762347385204145332560428871607701471746208794396 2181877828447958528590067287480317628000012026911411895494358124779349383756340281866410154636085231810405836151102131532426512109528995894971966725270623961940861344383755884044474012884692659739745882592393644006923601613289729971675032667839966756271619409267285535553749341268566774603608208821558255835352229974017086705807037015567718523954147119365880683298163710342141477564144408413510941709979938014196167776496672267545769745813279094397756735438649981703012166789988583371309385469923582017003044040358507136472591576760727442015303708573507630609585357182156720788928629767616757856548459648430379107192119771374928615739342934201606952002881385868750211517420734521243851060990739915914394576850931254726634025813240102138843194374471851106739042400238778872633752328159257417355246244257278221589533058640395273273838129716636864265884734043068464164959569313929235258475243539025020910893020263069035235697782483769624280279636348912135872353214677132559649328438722103230706267342087712991944889161483142546494788534873661515236515908769442494637576974800168253575246221725564005260707126642949743978615353501645967361208631869950085545820004041878943099971451964700170733496884945816018032849251727541406753320809936653777693399331002221271026125525618130707550523009949088495465398986488800470819605257044568575402554940240065705141121812481184054903073190650595587480367581005417987169072988005722336115818069569371086748525114047011339942178255422256305459458953413612615005721064449334827652219873353009496852253747856409736764804713087809873120510460414517885656998125028336024267527067983003029379545322454302671928586031338889273104232039703285663242819315513833954899458753930417535228897824280682181067256126397785684761309853343066059044324433471069199513863075404557873254219618253341147232942467975191266548812188646278413106458928290121426256693692309817495462504193856907671479235272140420286246598018532844781174127682155408563112387953986784566953669327569153706239951990548032332909873670415282547875305920958345343755582809127045683090817648363120760310815974717670568904874593902081465316835617987557696384884990965270485757731434776237809498911209506185913374593774416085027802449351171066546453913679625236474819542143059064673009121153082372380751210970694005825756288416324681880735131110723367677063932133948857876446038669644670325575065107624770649357994551673686763987270152238253975861435407227627184966611999851811483431985962331456725640159938214328678770112847776035139810930638454477991960794794099143212493528182415241612946500276399933397529900261305449807698060781883354415441436521306822245786563749921665528362638689542616982073394698190177440843923487334758842234854919669506332805313365347276540769118315830645598745988883987341803943676141933175780007403075333056072959431769263490348854529629552496793593739156589591127645352235769822600768853459409934981972590826491758217178464782604344350513928826180967395954401818728742474137577367109635651105117567331620697268784530156485745163796646185697742130740547034471370640028128327025426394271320947675414471987054133885619171154354010895804062406627331170315828985148114707263559029009150022845412182626504097686499850698510116443460237954153306018430361118909161062995332532398443000650470131469164764151430064477147908898179619196074810112119443844703622762909124834871455881325478334708883601767859812558517059306837602306803 3530352485728609131438134004952213637411312582718281539455657689813791866082775357300606899006187904117934752309562527449885815887064184775357132061561051276437954026286805768496377711259856211581397227345362221941075667312482686898140799940905203416243514093523956220561538486962600181380833832975719312550387309864574192822486659948225834462532753761175995177014045239163052678069009546163512013542460301359861046634526868785575780957005577519946364563925789493253550696566232525277345863495978944240013015580046348490392471332188317198949604484568779855066493394127827120018501244131547886407671678128586616672702982954903559371075924764218192651701224669260931343949915497527867316851334438060062134838175160130056495532025866445093124957812027769463719558887218832340598160831643515754680047956599437441763703385409859641168474810166716131820219686931817089761061560152299862697025992834048081148029029328150159572232014533753946838714476728990836573268118097000530360822008334818868903793413346562796781221279173415071868085050444351164189368848259245079478618116922582319254125421028799918669724579405382497433548596052712457673789239533060961686219225465143935377360979387538210709090632744016284957036096439925327409723104766373324605271169407650313212178544994706702279195575713290758889938527162900411622918380465755632920270939710748266666553816788239478285973558517543242345052410088140594849681584787379547911861940876710546803997913972852322515771118602412937835872995359027258591428942984358544818225521067464524611802590515631824525945951269216378849410044192835966776495211182562394342416958156532477240938672474697663674461277929273436608037677845466780797736629506482763742613331496322654579893702073888436003306033603410223970474516862134687027319597895506193544976243543661667940278962696342795810148793853089916531363200853127592882553149776239957650208868458582644838747471069156221885369492261988808362923693879482825163369386441603722134260607151875092234314796050555483278277955784655040904691414937561577262443454117206750619364444360633034677941403131211693957329593498655236841156574252011613103318939939744048948831336200319467165926889007524967682512472427039943274741151962713725515109206259309679193994277424070885333568955540596072317361851837856853189828726785075426349340750031968416901839727860795574470162618412993195724343621325488711199564547672346139852080961177782210193049645731149172139844019355067763039315828908891002564909307739459751213684892757636317662731931389224432305992585937316520297675505379302444844192539111917758726824773991590951572888502352814369981657070700606348200222230626318854988226160126652257871852032285699858145692122677994018996388765592264600474761469088565099442495209940847589137767494839127064247614481572126368802098253664351086082861798131433600472093979420335402377963811126433914913275861872452784139756766884053920675768276465959961137960864899083569280260962276822132937380786794084423013899064871861619717697056182543360521586848665400704456251059992000783669371329906527407002056166336987939491671471122441913261293882737540225975038498898075657990458800546053793192065642804031668217370406962605212589606536632259973012916587849308260944778688074227289006720768777790432557151482727083139470389287544412818311316343207235803906567368216274864914923287099985458539526057504393008546359801615262139873113240682094087747100420241430124760778583811101199 5712230314176567660028201292432531265411324609629693434950015814593141249839115639167017053642273135928340588460664658982312327996593180670329098786831675238378815370670561652540851724144548871321143109937755865947999268925772416869815832608745170172515133502791241756115287828231166955984442041797277568385739539838591279528293696963793552986486900880541875860312208949505194155633153954577022955252440239374057214411023541053121550702818856614344121299364439474956562863356221108648655248965902526257016059620404855626865062908949044640964908193142287485676078751309983840807429873899164644264220137777016995779895102726278487986815267698419799603704106055129681555467336232049111167912325177975976529415026091384783129557839106547231968152186499620570458601287457611213231913159802773172035294200856715663353236444050254914442312939883352996086104420974885553926021129466229097955501236373073102058922049591219194807929797017523571118994113077902972445621332774133090010150447056922099610060755434275788726110440656557618362873585318012679425884757028687574116195091722750572829371642754363923930431706048332241412163949554358425034997871403011047232039229507022878477332431352238381442587517689832302989885348167466734163043914703027102298670500409871584238304070612837409829718585662379254355337513651700882442523637510324208322825879950813971807675629269423533189046749168138829825419991093558582018754572793101884027680010446081633552523028019863662457949374024669243295331948772639873597150007433693372470445394420474021464056338372041561290750664357026251969920504607353852433493336210898418609944026139535506620483994929000335603047309268162709712269717548752444040555945020316718642072085426740189808791526354570617070562160001195908731784370205200746071644031366575393058839318948219541194498580949683943043091261828281183080175389499406005989012078066361383906902560768400140301251664926063893364604764402409094609521712412327606337497068597012285246648561138659659187984123619709189518229946332687373814565085352844125137749375075552094374947253487678717768759051494332454268145568216325805746031168154093078420154557927301745333716327165589952923658323783762777181423681933225856649334926378798753317558557430376225647907957049307360153111098599660745326483004920229233941039697479081252105629166356650297636970838584163251534094752361851072170382290970159036774629655297116789210075512851468974180319797969403148001279426582694948005927828760702485996895270070916476853844830971964996432844779165259572116923224391794512258470299478445657337720721527159371673325050391524349102788763658264177679717852583960763641658751933141100774789910048317786234490721828316840219086820868171459840312252927023442709616388758071432247808575288124129906885810669772662993603365559468172745774395597526866090264873464489673431525748683825751232493440678930708507015018462043911785109002653876521444621735875894943110551691390841786458725744881166483451309612975051818968300883600604093855274423292179011626704415997021401725035590148486528833167976092225149132796713371459310131699599449467339655565203685215640447025553031961277161613154556949597254472270135201984046355555077312476148635545782282818425099214353405947444629386584343732466958722931096450987512601636244202465721819942855818961786474676400568057997432693422773813102906296060268651645501349096631309268926450133595754438719016802971348868280053988641820085421413408002 9242582799905176791466335297384744902822637192347974974405673504406933115921890996467623952648461040046275340770227186432198143883657365445686230848392726514816769396957367421037229435404405082902540337283118087889074936238255103767956632549650373588758647596315197976676826315193767137365275874772996880936126849703165472350780356912019387449019654641717871037326254188668246833702163500740534968794900540733918261045550409838697331659824434134290485863290228968210113559922453633926001112461881470497029075200451204117257534241137361839914512677711067340742572145437810960825931118030712530671891815905603612452598085681182047357891192462637992255405330724390612899417251729576978484763659616036038664253201251514839625089864972992325093109998527390034178160174676443553830073991446288926715342157456153105116939829460114555610787750050069127906324107906702643687082689618528960652527229207121183206951078919369354380161811551277517957708589806893809018889450871133620370972455391740968513854168780838585507331719829972690230958635762363843615253605287932653594813208645332892083497063783163842600156285453714738845712545607070882708787110936072008918258454972166813854693410739776592151678150433848587946921444607392061572767019469400426903941669817521897450482615607544112108914161375670013245276040814601294065442017976079841243096819661562238474229446057663011475020307685682072170472401181699176868436157580481431939541951322792180356520941992715984973720492627082181131204944131667132188578950418051917288670915487938546075858928887673385816696615626242630819330548800189819209988547393460812952360984296067983861422667403697999277508587197436146320307395394219224838292574526799482384685416923062844388685228428459053073868193604606132702258887067335433098963629262081586603815562491881209134777543646026738853240055681371099611538590352533598871565227842601341557111429226982785139999135995220115249974256664397902972445406291810431500866455038616007380909168290534751422298919670264672796507902117342414719256500290405702400192829192758844994311697848311752446700454625544148225475161714981042587187742406104691523473497867045794282547663365909420089585212791287744863936154360265799924076078341512478832667763689685904841902234473378245486680054140256817643844856758086087130868424264156678454969916388618714538810566444958826004257370774844267894725912295647747974194202969462929062156474029251184373369443700552320141123445937762711045243657669593488561804577810376228067529723729601314095576710554484004422915810329111032556145804857748102181913260639077130400149824383115300675677266011078547661374923284567111841880982559459955763016070174970044106342754114016698364778943546165478836701018519288043184377857846636531690303785228971719044653305508899727241217847131594541547872649261877952173126671595923273903619728104161153610457251805364623420290880334496695924865769537930442120390012341854904248512556289925355738986707157988616388690399769136241982199948472465713572971479474722372148291264662422106181286650140487312502539305998752556134852879708447249623371070571909252916859086422755866422064051930036935152071955103003390446537912939233652263725962039917688738242082414542791438015802202714208389408074658571021473679491708886883544664084363327341936111107487268637273102817883636371964564800909697638728026193396045727191171558853489639855628728065395735627551959698897059095968700295418766580864005224509201 14954813114081744451494536589817276168233961801977668409355689319000074365761006635634641006290734175974615929230891845414510471880250546116015329635224401753195584767627929073578081159548953954223683447220873953837074205164027520637772465158395543761273781099106439732792114143424934093349717916570274449321866389541756751879074053875812940435506555522259746897638463138173440989335317455317557924047340780107975475456573950891818882362643290748634607162654668443166676423278674742574656361427783996754045134820856059744122597150086406480879420870853354826418650896747794801633360991929877174936111953682620608232493188407460535344706460161057791859109436779520294454884587961626089652675984794012015193668227342899622754647704079539557061262185027010604636761462134054767061987151249062098750636358312868768470176273510369470053100689933422123992428528881588197613103819084758058608028465580194285265873128510588549188091608568801089076702702884796781464510783645266710381122902448663068123914924215114374233442160486530308593832221080376523041138362316620227711008300368083464912868706537527766530587991502046980257876495161429307743784982339083056150297684479189692332025842092014973594265668123680890936806792774858795735810934172427529202612170227393481688786686220381521938632747038049267600613554466302176507965655486404049565922699612376210281905075327086544664067056853820901995892392275257758887190730373583315967221961768873813909043970012579647431669866651751424426536892904307005785728957851745289759116309908412567539915267259714947107447279983268882789251053407543671643481883604359231562305010435603490481906662332698334880555896465598856032577112942971668878848519547116201026757502349803034197476754783029670144430353605802041434043257272536179170607660628656979662654881440100750329276124595710681896331317509652282691713979851939604860577305908962725464013989995382925441250800921284008614579021066806997581967118704138037838363523635628292627557729429194410610283043289973862314737848450029788533821585643249827537942204268310939369258951335990470215459506119876602493620729931306848333218910560197769943628055794347539616263990531499373013243536575050522045359836293491656573411004720311232150226321120062130489810191522685605639791152739917562970327861678315321071908121743237930560599082745269012175781405029122077538352123136695340065108203265806784748823858266579718272231986880720158553689241669955468142402872520457659051171486430295974558699847881292704921374554701566310528421489719743576539839034720905544814616104336193759519633982166236502073474874774639649778466029669342725341092775868527875483539734492601056537805980223287830340833475942333538583865764414336938677013271446311485893994246604707963938112360517095848951539116178672390234821212691062714293647044859404818263391545060412947335145476787986904842950692484295331927305898796540607709974772191806963565011748217749847359064247680767142197712452039155099840000012744188060950500832073069807428245902766901383774995680659443507906322240288973841335707282090977705267649593079906559755070670021376592572424290107971506869089604961998212313685109659952987701010183074435636310081517117230164886877628196825609863115016556120155834037461242914753940638214639983334532176685999571544401832927430124456234889292560036940022562233603120412541129099692105995842817060202586271164897654515529331381990678715700030444836980349407408400949426637917203 24197395913986921242960871887202021071056598994325643383761362823407007481682897632102264958939195216020891270001119031846708615763907911561701560483617128268012354164585296494615310594953359037126223784503992041726149141402282624405729097708045917350032428695421637709468940458618701230714993791343271330257993239244922224229854410787832327884526210163977617934964717326841687823037480956058092892842241320841893736502124360730516214022467724882925093025944897411376789983201128376500657473889665467251074210021307263861380131391223768320793933548564422167161223042185605762459292109960589705608003769588224220685091274088642582702597652623695784114514767503910907354301839691203068137439644410048053857921428594414462379737569052531882154372183554400638814921636810498320892061142695351025465978515769021873587116102970484025663888439983491251898752636788290841300186508703287019260555694787315468472824207429957903568253420120078607034411292691690590483400234516400330752095357840404036637769092995952959740773880316502998824790856842740366656391967604552881305821509013416356996365770320691609130744276955761719103589040768500190452572093275155065068556139451356506186719252831791565745943818557529478883728237382250857308577953641827956106553840044915379139269301827925634047546908413719280845889595280903470573407673462483890809019519273938448756134521384749556139087364539502974166364793456956935755626887954064747906763913091665994265564912005295632405390359278833605557741837035974137974307908269797207047787225396351113615774196147388332924143895609511513608581602207733490853470430997820044514665994731671474343329329736396334158064483663035002352884508337190893717141094073915683411442919272865878586161983211488723218298547210408174136302144339871612269571289890738566266470443931981959464053668241737420749571373191023382303252570204473203732142533751564067021125419222365710581249936916504123864553277731204900554412524995948469339229978674244300008466897719729162032581962960238535111245750567372203253078085933655529938135033461069784363570649184302222662159960745420750719095891646287890920406652966302461467101553661393333898811653897408793102828749366338266909295990653757456497487083061823710982894084809748035331712425996063851126471206880174380614172718436401408202776546007394609015568999133887726714591971474080903542609493911539607959834115561454532723018061236042647334388460909971342927058685370507788283526318458220370096415144099889463120504425691668932988904278431167624623998200274227580962754845050016577370761909193941861701547242805313632473624699157754950454143295680421273002467699153094987325420717052061012300822050398257874447176230056350236948644707960502417513714289965599529078372104451344495628416145746067567996192421687572117476039059822657255841519694121282770436518216656336221238765204892148058453407944289659955347596779131037303634840541729737405685401760559604751607576803970692497936699159197143716228690412513324302932700780545535521001217382241623755923286945321865614087608890429461153838246588089730261402502472788353809378441740593285845489283376530727373291153656892035147465757064762956378147548096013669288573807479157147853625119710611368401301130818758834364223445535901485775414317706348870218076840770362898886337944034917393093507992110443673311987127034512818051269155293088151723033988619056075911020526382580925067009542638414597089540805680644826174981813431862426404 39152209028068665694455408477019297239290560796303311793117052142407081847443904267736905965229929391995507199232010877261219087644158457677716890118841530021207938932213225568193391754502312991349907231724865995563223346566310145043501562866441461111306209794528077442261054602043635324064711707913545779579859628786678976108928464663645268320032765686237364832603180465015128812372798411375650816889582100949869211958698311622335096385111015631559700188599565854543466406479803119075313835317449464005119344842163323605502728541310174801673354419417776993579873938933400564092653101890466880544115723270844828917584462496103118047304112784753575973624204283431201809186427652829157790115629204060069051589655937314085134385273132071439215634368581411243451683098944553087954048293944413124216614874081890642057292376480853495716989129916913375891181165669879038913290327788045077868584160367509753738697335940546452756345028688879696111113995576487371947911018161667041133218260289067104761684017211067333974216040803033307418623077923116889697530329921173109016829809381499821909234476858219375661332268457808699361465535929929498196357075614238121218853823930546198518745094923806539340209486681210369820535030157109653044388887814255485309166010272308860828055988048307155986179655451768548446503149747205647081373328948887940374942218886314659038039596711836100803154421393323876162257185732214694642817618327648063873985874860539808174608882017875279837060225930585029984278729940281143760036866121542496806903535304763681155689463407103280031591175592780396397832655615277162496952314602179276076971005167274964825235992069094669038620380128633858385461621280162562595989613621031884438200421622668912783638737994518393362728900816210215570345401612407791440178950519395545929125325372082709793329792837448102645902690700675664994966550056412808592719839660526792485139409217748636022500737837788132479132298798011898136379643700086507177593502309872592636024627148923572642865006250212397425983599017401991786899671576905357476077237729380723732829600520292692877619466865297353212716621577594739253625563526500231410729609455740873515075644428908166116072285941388788954655826947249113070898087782134943133120405929810165821522617518749456766262359620091943584500580114716729274684667750632539576168081879156738890373376503202981080961617048234948024942318827261317471841919502622365606620447790691501480747927040463256425929190978678029147586630530185437679204273572961637910278833132733935152419689993971157502593879770922122185378013530135621221181224971550134547099573932394600232609325349763998343560475021622862808960451544662068838628030621545704788009705998683775532510472374839356190727561411911014972366351056052459566528506263163416947731537866244507710860272513719970135166738980687588699909761716749168573910681680134963296358636773955287274902677927577911344815313921544369250413508777354598966641051651459640134411611236298816068690425257512363883201612618605328429463285008525139698282625981309121993931130718434995173953870180707966670152065868260369133512410614662438061707666638698880160243261854033359779442174422909365848558279088104924883888996274378018511997338808194011164245835314954520057482997144400529354955920988853552609017456362470430739776962347517549742881403003710252009689268115938463810284392780257718876805679258662182185424037096454398391533317130297119985642660994233583382762858500343607 63349604942055586937416280364221318310347159790628955176878414965814089329126801899839170924169124608016398469233129909107927703408066369239418450602458658289220293096798522062808702349455672028476131016228858037289372487968592769449230660574487378461338638489949715151729995060662336554779705499256817109837852868031601200338782875451477596204558975850214982767567897791856816635410279367433743709731823421791762948460822672352851310407578740514484793214544463265920256389680931495575971309207114931256193554863470587466882859932533943122467287967982199160741096981119006326551945211851056586152119492859069049602675736584745700749901765408449360088138971787342109163488267344032225927555273614108122909511084531728547514122842184603321370006552135811882266604735755051408846109436639764149682593389850912515644408479451337521380877569900404627789933802458169880213476836491332097129139855154825222211521543370504356324598448808958303145525288268177962431311252678067371885313618129471141399453110207020293714989921119536306243413934765857256353922297525725990322651318394916178905600247178910984792076545413570418465054576698429688648929168889393186287409963381902704705464347755598105086153305238739848704263267539360510352966841456083441415719850317224239967325289876232790033726563865487829292392745028109117654781002411371831183961738160253107794174118096585656942241785932826850328621979189171630398444506281712811780749787952205802440173794023170912242450585209418635542020566976255281734344774391339703854690760701114794771463659554491612955735071202291910006414257823010653350422745599999320591636999898946439168565321805491003196684863791668860738346129617353456313130707694947567849643340895534791369800721206007116581027448026618389706647545952279403709750240410134112195595769304064669257383461079185523395474063891699047298219120260886012324862373412090859506264828440114346603750674754292256343685576529216798690792168696034976516823480984116892644491524868652734675446969210450932537229349584774195039977757510560887414212271190450508096400249704594915539779427610718103931812513223882630174032216492802692877831163117134207413887298326316959218901035307727055863951817601006569568385170843958654116014490739558201153235043514813307892733566500266324198673298551118137477461213758027148591737081013044465604965347977283884623571110959774555984776434388715850194859980738665012941008908700662844407806612410971044709455509436898399244001774630074900799708699264630570899183111563901559776417890268198738465348724820938699556139922724077482922728467776863767020724273090149550686752621030185271346028174174717850134381168596723081139450081019803579235185936055034012481155180335341773704441851377510544050738455507396955194944652009230984943923959553816625186899332336377225976686433101970359136427978373085389812675886572283021749766581063615242622499457058615214979655855651281774935815269336959350574217855622152138071110770433442532297380837770836666815902393164140849430680667250148895621569571303174736081540021147896149012200458270438228072654538656614178511954151207948283550991043169426253451396918746068507245199239185865743996106375101774213457696475431525872137117049419562412465376654073788884280928533045886304769273627337723770685858226725369317077720997264910643250873513447383563996816302628756515079439685868409441910794298314738093205950419677379465401075955544894209526448341639059758364576290362770011 102501813970124252631871688841240615549637720586932266969995467108221171176570706167576076889399054000011905668465140786369146791052224826917135340721300188310428232029011747631002094103957985019826038247953724032852595834534902914492732223440928839572644848284477792593991049662705971878844417207170362889417712496818280176447711340115122864524591741536452347600171078256871945447783077778809394526621405522741632160419520983975186406792689756146044493403144029120463722796160734614651285144524564395261312899705633911072385588473844117924140642387399976154320970920052406890644598313741523466696235216129913878520260199080848818797205878193202936061763176070773310972674694996861383717670902818168191961100740469042632648508115316674760585640920717223125718287834699604496800157730584177273899208263932803157701700855932191017097866699817318003681114968128048919126767164279377174997724015522334975950218879311050809080943477497837999256639283844665334379222270839734413018531878418538246161137127418087627689205961922569613662037012688974146051452627446899099339481127776416000814834724037130360453408813871379117826520112628359186845286244503631307506263787312448903224209442679404644426362791919950218524798297696470163397355729270338926724885860589533100795381277924539946019906219317256377738895894775314764736154331360259771558903957046567766832213714808421757745396207326150726490879164921386325041262124609360875654735662812745610614782676041046192079510811140003665526299296916536425494381640512882200661594296005878475927153122961594892987326246795072306404246913438287815847375060202178596668608005066221403993801313874585672235305243920302719123807750897516018909120321315979452287843762518203704153439459200525509943756348842828605276992947564687195149929190929529658124721094676147379050713253916633626041376754592374712293185670317298820917582213072617651991404237657862982626251412592080388822817875327228696827171812396121483694416983293989485280516152017576307318311975460663329963212948602176186826877429087466244890289508919831231829229850224887608417398894476015457144529134801477369427657780019302924288560772572875080928962942755225125334973321249115844818607644548255682639283258626093597249134896669368366974757661033562764658995926120358267783173878665834866752145881508659688167905162892201204495338724480486865704532728008009504009718753215977167666701900241287378547629356491354345888554539451434301135384700415576428391588405160260338478912972837592208809461944696635494928837580262169895967942604591860821741517936254213104143909692748413901567823847022544150919361946379949269689588649196340712943341620141385149978078111641349284023195642053717788013665652710181129895169412789421559023104806563449414761473158272394401891655497420061132897759604850097196111853172082657947836337740089834558386586568252417985046125217837570529897402134986193126324471169572826144186228778114313949540858907273611778205522381669741348366071263028349030699104005782746177860143952258674035319852197284483858075471151866331144186154328451146194742806604524874547645466561822610721612698709808125133611640180600101867024641413608775109844664654189879138341585471705903890649114388227756423629622489388743404338411530190286834124229548326577323294875683087839747817497959612428192993754916451093816006505570744694978889724078648667160787599977573400275391374456773833863792609272675191329512091002633293341747339148863113618 165851418912179839569287969205461933859984880377561222146873882074035260505697508067415247813568178608028304137698270695477074494460291196156553791323758846599648525125810269693810796453413657048302169264182582070141968322503495683941962884015416218033983486774427507745721044723368308433624122706427179999255565364849881376786494215566600460729150717386667330367738976048728762083193357146243138236353228944533395108880343656328037717200268496660529286617688492386383979185841666110227256453731679326517506454569104498539268448406378061046607930355382175315062067901171413217196543525592580052848354708988982928122935935665594519547107643601652296149902147858115420136162962340893609645226176432276314870611825000771180162630957501278081955647472853035007984892570454655905646267167223941423581801653783715673346109335383528538478744269717722631471048770586218799340244000770709272126863870677160198161740422681555165405541926306796302402164572112843296810533523517801784903845496548009387560590237625107921404195883042105919905450947454831402405374924972625089662132446171332179720434971216041345245485359284949536291574689326788875494215413393024493793673750694351607929673790435002749512516097158690067229061565235830673750322570726422368140605710906757340762706567800772736053632783182744207031288639803423882390935333771631602742865695206820874626387832905007414687637993258977576819501144110557955439706630891073687435485450764951413054956470064217104321961396349422301068319863892791707228726414904221904516285056706993270698616782516086505943061317997364216410661171261298469197797805802177917260245004965167843162366635680076675431990107711971579862153880514869475222251029010927020137487103413738495523240180406532626524783796869446994983640493516966598859679431339663770320316863980212048308096714995819149436850818484073759591404790578184833242444586484708511497669066097977329230002087346372645166503451856445495517963981092156460211240464278106377925007676886229041993758944671114262500442298186950381866855186598027132304501780110281739925630099929482523957178322086733561076341648025359999601689996512105617166391935690009288342850241081542084553874356556842900682559462149262252207668429470052251365149387408926568127992704548376072551729492620624591981847177216953004229607095266686836759642243905245670100304072457770750328103838967784059994495187604693017861561880979952391488638265192017190296361151862405345844840209852474827635590179790335239278621672102222779708645056260537054705255470530368634433291329412799521297657858978290587066638160525277668588548120112693701606114567410134541035616823371058563077722788738108231117528192661152863258381578108751800494820833045522903599611264166932103073843262070846369956417810281625386835579456973877758084658937186474422088539605184628306972765718462919948199262454824701006795891798901185772519901592044808341304127025224107919122044047451273300115076762895763916276633152103183880663452100799185697515006398946887027290824619508822930941421768587658594157011173014227293198354786721584422815461143181488726157420713030559005163689752977551387063037099346170374269840652794640853840771029291653351799281947137429762786231437647318836094999143462532288619340063236173138893503175664301093980733909813209064895218956877338836244628429898477380003321873373451493969163764517076602698394275888138368597324876451213329193685228220085539038539344272353100111915439225883629 268353232882304092201159658046702549409622600964493489116869349182256431682268214234991324702967232608040209806163411481846221285512516023073689132045059034910076757154822017324812890557371642068128207512136306102994564157038398598434695107456345057606628335058905300339712094386074280312468539913597542888673277861668161553234205555681723325253742458923119677967910054305600707530976434925052532762974634467275027269299864640303224123992958252806573780020832521506847701982002400724878541598256243721778819354274738409611654036880222178970748572742782151469383038821223820107841141839334103519544589925118896806643196134746443338344313521794855232211665323928888731108837657337754993362897079250444506831712565469813812811139072817952842541288393570258133703180405154260402446424897808118697481009917716518831047810191315719555576610969535040635152163738714267718467011165050086447124587886199495174111959301992605974486485403804634301658803855957508631189755794357536197922377374966547633721727365043195549093401844964675533567487960143805548456827552419524189001613573947748180535269695253171705698894173156328654118094801955148062339501657896655801299937538006800511153883233114407393938878889078640285753859862932300837147678299996761294865491571496290441558087845725312682073539002500000584770184534578738647127089665131891374301769652253388641458601547713429172433034200585128303310380309031944280480968755500434563090221113577697023669739146105263296401472207489425966594619160809328132723108055417104105177879352712871746625769905477681398930387564792436522814908084699586285045172866004356513928853010031389247156167949554662347667295351632274298985961631412385494131371350326906472425330865931942199676679639607058136468540145712275600260633441081653794009608622269193428445037958656359427358809968912452775478227573076448471884590460895483654160026799557326163489073303755840311856253499938453033989321327183674192345135793488277943905657447572095863205523828903805349312070920131777592463655246789126568693732615685493377194791289030112971754859950154370132374577216562749018220870782826837369029347776531408541454952708262884369271813183836767209888847677805958745501167106697517934846951688096145848614284284078294935102750365581938837210725418740982859765021055882787870981752976775346524927547406797446874595642796938257616032636566975793564004213940820670185528263781221239770036267621683371536184915691313839646980224910268051256027178584950595577757534644939814988518107000957172549634093050792538530401233934004660343039175795232503691210547853273691570156371967135237852525476513790083810725205472567399276021064408879493381095606304302502147281577220162469588508486485755704033494780676956353662096948068634295784717890968554019788727234954393938890982418542036571618200392777267286254809103458552754506585849023077118991842017016738756302417303727031001467628598194796934063308272825565587249655935670169375694482155533772925229029523363827534728214110404729633205150968571767496966261273965872142452232482324880558437384509115172730617558267747706363273802887274853169726776388462785676520674677279946272241294482066403415963685435683481532490140867418843333653435345825875075259724621632851275692957751593426459973017732723990878417275609592901048812712716916489767029238383346349571196009827444118146472858887843165743763485994253461538643988699333225047192986294500895276868550630346905646441859254588088997247 434204651794483931770447627252164483269607481342054711263743231256291692187965722302406572516535411216068513943861682177323295779972807219230242923368817881509725282280632287018623687010785299116430376776318888173136532479541894282376657991471761275640611821833332808085433139109442588746092662620024722887928843226518042930020699771248323785982893176309787008335649030354329469614169792071295670999327863411808422378180208296631261841193226749467103066638521013893231681167844066835105798051987923048296325808843842908150922485286600240017356503098164326784445106722395233325037685364926683572392944634107879734766132070412037857891421165396507528361567471787004151245000619678648603008123255682720821702324390470584992973770030319230924496935866423293141688072975608916308092692065032060121062811571500234504393919526699248094055355239252763266623212509300486517807255165820795719251451756876655372273699724674161139892027330111430604060968428070351928000289317875337982826222871514557021282317602668303470497597728006781453472938907598636950862202477392149278663746020119080360255704666469213050944379532441278190409669491281936937833717071289680295093611288701152119083557023549410143451394986237330352982921428168131510898000870723183663006097282403047782320794413526085418127171785682744791801473174382162529518024998903522977044635347460209516084989380618436587120672193844105880129881453142502235920675386391508250525706564342648436724695616169480400723433603838848267662939024702119839951834470321326009694164409419865017324386687993767904873448882789800739225569255960884754242970671806534431189098014996557090318534585234739023099285459344245878848115511927254969353622379337833492562817969345680695199919820013590762993323942581722595244273934598620392869288053608857198765354822636571475666906683908271924915078391560522231475995251473668487402471386042034674986742369853817641086255587284825679155824779040119687863099774580434404116897911850202241130531505790034391305829864802891854964097544976076950560587802283520509499293069140394711680490050083852656331755538649482579297212430852197368631037773043514158621344643952893657614663424918309294442722034362801646183726568846780187054620117566198099979433671487221503230743070130314909762454911361607451746868233099740875211360072042033361687189650702692544695946869396028366360740405943577623998709128425363203389825662201192161524905886875388726481276843176244992825065120120526083662768764740930817036156317042037768226752057217709604339348521322907164834525263417459864336833654210794278277186013798969238744920087247931554131591081200218351760822295938457839098787197617601612213134496963655010539958798271221389003307318801226937094391941123285765170791330705142154674308778835645175562814411367816649067077479223046040288932382451914561781869177015674454785111477901819998637908815639942074937205319075809808932725220021041982430316873016860549771012433065139610758788685876109109692975464626720425729116803676520232441793191276319897202695734459801046389493497894785730582863901894315040373728890887851999960307987883728731940078215763227907737714379292442615564322719198056817526206712773185841940149365980763416221577263522394095819620776313807981577091656662633111911235899655179511256343502714257877607935873367105865483011776248048576013149317491597966828051607682820366184388529349677012586024209676260522179979729115362407589169691177999541971170027314880876 702557884676788023971607285298867032679230082306548200380612580438548123870233936537397897219502643824108723750025093659169517065485323242303932055413876916419802039435454304343436577568156941184558584288455194276131096636580292880811353098928106333247240156892238108425145233495516869058561202533622265776602121088186204483254905326930047111236635635232906686303559084659930177145146226996348203762302497879083449647480072936934485965186185002273676846659353535400079383149846467559984339650244166770075145163118581317762576522166822418988105075840946478253828145543619053432878827204260787091937534559226776541409328205158481196235734687191362760573232795715892882353838277016403596371020334933165328534036955940398805784909103137183767038224259993551275391253380763176710539116962840178818543821489216753335441729718014967649631966208787803901775376248014754236274266330870882166376039643076150546385659026666767114378512733916064905719772284027860559190045112232874180748600246481104655004044967711499019590999572971456987040426867742442499319030029811673467665359594066828540790974361722384756643273705597606844527764293237085000173218729186336096393548826707952630237440256663817537390273875315970638736781291100432348045679170719944957871588853899338223878882259251398100200710788182745376571657708960901176645114664035414351346404999713598157543590928331865759553706394429234183440261762174446516401644141891942813615927677920345460394434762274743697124905811328274234257558185511447972674942525738430114872043762132736763950156593471449303803836447582237262040477340660471039288143537810890945117951025027946337474702534789401370766580810976520177834077143339640463484993729664739964988148835277622894876599459620648899461864088293998195504907375680274186878896675878050627210392781292930903025716652820724700393305964636970703360585712369152141562498185599360838475815673609657952942509087223278713145146106223793880208235568068712348022555359422298104336055334693839740617900784934669447427752791765203519254320417969013886694084358170507683435350000238222788706332755212231597518083213679034737660385549574922700076297352215778026886476608755076504331569712168760391684893675544298121901571805662343948593717955565516438333493435712253746973180330102590311511889288982528746193113048817379886614737057500139419291589666334285982393376972919371188002923069246033388918089443422431931561173508558760262666192534490084639805290030388577339689947349691526394793690961981852756744859058174882153973441572115445695235759197422120207376009449443297969487733867072660808901292054383169406657067594990302162486027768505857115119851606497094993308740801266157157821536018433690977511793804556930970589172618079639427267739399339437939392199747389664964290049365761755540049496021259617658489325159719200816590972635568428961370960500978938990479925832378698377354509046106811276561323414817976045738589698582447799426948103234515305240944219649034338722498828454255153943227208406153437592761763043816863463969700331943498621975822775344167967373017067045657931996638594215273763195262736898458716466678548904428412391659238714856858804785601472781211642396254718332081016784824097069656923089397469355544242409165083674534843250089093084928968623646057928531953095615306690320652789856872894721395122597619772022976761609744439686939450848564129670382782811215656574723542901307715166274230010639276139800038083645983830424615403878123 1136762536471271955742054912551031515948837563648602911644355811694839816058199658839804469736038055040177237693886775836492812845458130461534174978782694797929527321716086591362060264578942240300988961064774082449267629116122187163188011090399867608887851978725570916510578372604959457804653865153646988664530964314704247413275605098178370897219528811542693694639208115014259646759316019067643874761630361290891872025660281233565747806379411751740779913297874549293311064317690534395090137702232089818371470971962424225913499007453422659005461578939110805038273252266014286757916512569187470664330479193334656276175460275570519054127155852587870288934800267502897033598838896695052199379143590615886150236361346410983798758679133456414691535160126416844417079326356372093018631809027872238939606633060716987839835649244714215743687321448040567168398588757315240754081521496691677885627491399952805918659358751340928254270540064027495509780740712098212487190334430108212163574823117995661676286362570379802490088597300978238440513365775341079450181232507203822746329105614185908901046679028191597807587653238038885034937433784519021938006935800476016391487160115409104749320997280213227680841668861553300991719702719268563858943680041443128620877686136302386006199676672777483518327882573865490168373130883343063706163139662938937328391040347173807673628580308950302346674378588273340063570143215316948752322319528283451064141634242262993897119130378444224097848339415167122501920497210213567812626776996059756124566208171552601781274543281465217208677285330372038001266046596621355793531114209617425376307049040024503427793237120024140393865866270320766056682192655266895432838616109002573457550966804623303590076519279634239662455188030875720790749181310278894579748184729486907825975747603929502378692623336728996625308384356197492934836580963842820628964969571641395513462558043463475594028764674508104392300970885263913568071335342649146752139453271272500345466586840483874131923730649737561302391850336741280469814908220252534396193377427310902395115840050322075445038088293861714176815295644531232106291423322618436858697641996168671684501140033673385798774291746531562037868620244391078308956191923228542048573151627052737941564236505842568656735635241464197763258757522082269621404473120859413248301926708202831963987536535730314348754117378862948812001632197671396592307915105623624093086079395434148989147469377666329632630355150509103423352716114432457211829847279023890524971611115392591758312790093438352860070284460839580071712843103654092247764919880871630047646212141631100960788658676190520514246850064444314954218638804114696605521875298229812168361494816704912366515101123358157907683564559202925192438530730044580094066508526225310139852863777129572189116573500482663698778257542171115378372841812584103416156071978880758989117834648018640452291714365182621085494048634839018028168906571599308349197960536299654915999732905525143448415474293080975579672344012082673670034554954320136760666665434791744545011469320670129898550236918961360698305725529482067273723503250620627190656544894312132336150106038531157472423127504799529598737849109027904174021166150804860485878500352919863451363863185478891656111934906751726196840204523301237439788296598329564567928588663223978760204406898845668348036126079101342406514991058531384495854771312160892669160747752577568237346253959126001683728969729261645525801594642718758999 1839320421148059979713662197849898548628067645955151112024968392133387939928433595377202366955540698864285961443911869495662329910943453703838107034196571714349329361151540895705496842147099181485547545353229276725398725752702480043999364189327973942135092135617809024935723606100476326863215067687269254441133085402890451896530510425108418008456164446775600380942767199674189823904462246063992078523932859169975321673140354170500233771565596754014456759957228084693390447467537001955074477352476256588446616135081005543676075529620245077993566654780057283292101397809633340190795339773448257756268013752561432817584788480729000250362890539779233049508033063218789915952677173711455795750163925549051478770398302351382604543588236593598458573384386410395692470579737135269729170925990712417758150454549933741175277378962729183393319287656828371070173965005329994990355787827562560052003531043028956465045017778007695368649052797943560415500512996126073046380379542341086344323423364476766331290407538091301509679596873949695427553792643083521949500262537015496213994465208252737441837653389913982564230926943636491879465198077756106938180154529662352487880708942117057379558437536877045218231942736869271630456484010368996206989359212163073578749274990201724230078558932028881618528593362048235544944788592303964882808254326974351679737445346887405831172171237282168106228084982702574247010404977491395268723963670175393877757561920183339357513565140718967794973245226495396736178055395725015785301719521798186239438251933685338545224699874936666512481121777954275263306523937281826832819257747428316321425000065052449765267939654813541764632447081297286234516269798606535896323609838667313422539115639900926484953118739254888561917052119169718986254088685959168766627081405364958453186140385222433281718339989549721325701690320834463638197166676211972770527467757240756351938373717073133546971273761731383105446116991487707448279570910717859100162008630694798449802642175177713872541631434672230749819603128506483989069228638221548282887461785481410078551190050560298233744421049073945774333378858210266843951808872193359558773939348384449711387616642428462303105861458700322429553513919935376430857763728890885997166869582618254379897729941554822403708815571566788074770646811064798367597586169676793134916663765702971383279126202064600331147494351782320000004555266917429981226004549046056024647252903992909251813661912156414272435645180897680763042663464123983606623538241005743281716470173567473912286231665553798555306043658261700279088852553097390217252653747944290856547504196014270367445726271180822676732877832950172069338490410611791598830616099495969326183030835138603344026894927915088878272737177282564619706270129384018033458708273614975104142913142891327729166069521742281357267582701890316194963814448152532377527032479859697979597760480397338829646223411289432362055372049656994073907496270181756148624908639534170221240677125174177787137973121535230733615571220488827107627316717363953624130635135123688043633445143445474066517609936028406356237722168076282547486698513357525649373011572861036764562497697769872329281932290401002379949491505282622506102182935628957555535423442317332806908105594643975330646778156840819281769173146947295368320249693944871258249241453080851654925802021443288120059102840711086846201930509379948625525154094972108325735471295478875952512528189136640959868769767345291509632019258122637122 2976082957619331935455717110400930064576905209603754023669324203828227755986633254217006836691578753904463199137798645332155142756401584165372282012979266512278856682867627487067557106726041421786536506418003359174666354868824667207187375279727841551022944114343379941446301978705435784667868932840916243105664049717594699309806115523286788905675693258318294075581975314688449470663778265131635953285563220460867193698800635404065981577945008505755236673255102633986701511785227536350164615054708346406818087107043429769589574537073667736999028233719168088330374650075647626948711852342635728420598492945896089093760248756299519304490046392367103338442833330721686949551516070406507995129307516164937629006759648762366403302267370050013150108544512827240109549906093507362747802735018584656697757087610650729015113028207443399137006609104868938238572553762645235744437309324254237937631022442981762383704376529348623622919592861971055925281253708224285533570713972449298507898246482472428007576770108471103999768194174927933868067158418424601399681495044219318960323570822438646342884332418105580371818580181675376914402631862275128876187090330138368879367869057526162128879434817090272899073611598422572622176186729637560065933039253606202199626961126504110236278235604806365136856475935913725713317919475647028588971393989913289008128485694061213504800751546232470452902463570975914310580548192808344021046283198458844941899196162446333254632695519163191892821584641662519238098552605938583597928496517857942364004460105237940326499243156401883721158407108326313264572570533903182626350371957045741697732049105076953193061176774837682158498313351618052291198462453873431329162225947669886880090082444524230075029638018889128224372240150045439777003269996238063346375266134851866279161887989151935660410963326278717951010074677031956573033747640054793399492437328882151865400931760536609141000038436239487497747087876751621016350906253367005852301461901967298795269229015661588004465362084409792052211453465247764458884136858474082679080839212792312473667030100882373678782509342935659951148674502741498950243232194811796417471581344553121395888756676101848101880153205231884467422134164326454739813955652119428045740021209670992321461966447397391060444450813030985838029404333147067989002059290536206383218590473905803347266662737794914679901611730645268812006187464588826573533919654669680117733332299427058240961131289822743905066000331406784186395379578556440818453385520029633806688081288960065670599021758992151415376328119101280350801695656751482465017573628815920904193716337645371328234384947371343190979727897394487023557129214726488204352491397725781494544525651843515710541996051273246785956301736485489812144800859428598127525216799840285243995776920020899918282643022224945056045840244061431573336656260736635793683104458740456968715595128415979281937937776472053447549420684496012102076402841781064497822869175833825137240410030699321235553447414616206313287915232571500777661871671684090384797300569915432588644914464115603965067846854989767054543447697558349821210201763978152840029556467173169100712603736301029801705059795200531978687340614310526680123349086433818041413923795237196258271968780122866986758713063592545478609377670248532808108546292274435826177830116304830415130208920288956468095228919812429252716921567911333121379925407133000994896219048056444189858782148262642643597739496606937035433613900841396121 4815403378767391915169379308250828613204972855558905135694292595961615695915066849594209203647119452768749160581710514827817472667345037869210389047175838226628186044019168382773053948873140603272084051771232635900065080621527147251186739469055815493158036249961188966382025584805912111531084000528185497546797135120485151206336625948395206914131857705093894456524742514362639294568240511195628031809496079630842515371940989574566215349510605259769693433212330718680091959252764538305239092407184602995264703242124435313265650066693912814992594888499225371622476047885280967139507192116083986176866506698457521911345037237028519554852936932146336387950866393940476865504193244117963790879471441713989107777157951113749007845855606643611608681928899237635802020485830642632476973661009297074455907542160584470190390407170172582530325896761697309308746518767975230734793097151816797989634553486010718848749394307356318991568645659914616340781766704350358579951093514790384852221669846949194338867177646562405509447791048877629295620951061508123349181757581234815174318036030691383784721985808019562936049507125311868793867829940031235814367244859800721367248577999643219508437872353967318117305554335291844252632670740006556272922398465769275778376236116705834466356794536835246755385069297961961258262708067950993471779648316887640687865931040948619335972922783514638559130548553678488557590953170299739289770246868634238819656758082629672612146260659882159687794829868157915974276608001663599383230216039656128603442712038923278871723943031338550233639528886280588527879094471185009459169629704474058019157049170129402958329116429651223923130760432915338525714732252479967225485835786337200302629198084425156559982756758144016786289292269215158763257358682197232113002347540216824732348028374374368942129303315828439276711764997866420211230914316266766170019905086122908217339305477609742687971312197970870603193204868239328464630477164084864952463470532662097245071871190839301877006993519082022802031056593754248447953365496695630961968300998273722552218220151442671912526930392009605725482053360951765794195041067005155976245520692937571107276373318530310404986014663932206896975648084261831170671719381010314042906890792289246701359696388952213464153266384597773912800051144211866356599645460212999518135254239608774730545788939859515011049106082427588812010742731506256554759924203715736142380585203419967492774793201979158177501645512304464949438043042680424425076923761035377088404551462527539582885253424545949970682371777362980629890548209848872682270227376760211760741220533659641695680111218552165867712605730344659092895619625338279803183107497221750820727556486982119054568890979188335664229038913768054431851070988812616160983925073455260348138690062912227647448712543967226413313422945951747768300470708889168171210136938600154948313355608813318111584161187761485809604792734153006175983899111962820646447777815367995358481087155873499022691420536151437046903486453060327885289188389048044008927935705039120632278359607561078031585456791018173410781169865634632368696900277335678489402568040034205865275101434070902130986992085601534358636832119593149186225532022062775596949347237554529065180074374766842317405491220433364760378550817195828176428795986219307084427071569385682070056010941732244588154331760523516098918852077291281746905079502105109320631690343535320142371310337399283603466509263952228545065633158964033243 7791486336386723850625096418651758677781878065162659159363616799789843451901700103811216040338698206673212359719509160159972615423746622034582671060155104738907042726886795869840611055599182025058620558189235995074731435490351814458374114748783657044180980364304568907828327563511347896198952933369101740652461184838079850516142741471681995819807550963412188532106717829051088765232018776327263985095059300091709709070741624978632196927455613765524930106467433352666793471037992074655403707461892949402082790349167865082855224603767580551991623122218393459952850697960928594088219044458719714597464999644353611005105285993328038859342983324513439726393699724662163815055709314524471786008778957878926736783917599876115411148122976693624758790473412064875911570391924149995224776396027881731153664629771235199205503435377615981667332505866566247547319072530620466479230406476071035927265575928992481232453770836704942614488238521885672266063020412574644113521807487239683360119916329421622346443947755033509509215985223805563163688109479932724748863252625454134134641606853130030127606318226125143307868087306987245708270461802306364690554335189939090246616447057169381637317307171057591016379165933714416874808857469644116338855437719375477978003197243209944702635030141641611892241545233875686971580627543598022060751042306800929695994416735009832840773674329747109012033012124654402868171501363108083310816530067093083761555954245076005866778956179045351580616414509820435212375160607602182981158712557514070967447172144161219198223186187740433954797935994606901792451665005088192085520001661519799716889098275206356151390293204488906081629073784533390816913194706353398554648061734007087182719280528949386635012394777033145010661532419260598540260628678435295459377613675068691011509916363526304602540266642107157227721839674898376784264661956321559569512342415005060082740237238146351828971350634210358100940292744990949480981383417451870804764932434629396040341100206500889881472355603491814854242510059002012906837502355169713641049140211066035025885250252325045591309439734945265676630727863693264744438273261816952393717102037490692503165129994632158506866167869164091364397782248588285910485675033129742088646912001960239022821662836349604524597717197628759750829455477358934345601704750749205901353844713514578077812451677654429690950717813072857624016930196095083128293843858385416260113917502847025733735924491801902082567645843711249135833422621236865243530309281065010895092632751487605253484275183538101386058699896464260980692243866600355147287801005576132664934936871305013023914496165923509058692333627739146116452748840064768007535598894947532315272082138825634765110887030461582450185340650253544243995871848241214288509141873295545592134466982933127565731355566192171469359263190013179341637126969625803964893241397340611917028950737229297393522098964233539257154213418649018278060301953743885144270646991201820495721497186572820258244867950767643360191401685631828662951060060732134393725236274954553220923274071676681996653303646007940465324617563192982189907102041313831329432124507207374965987705170371931932692051880802066337324172733903675866348881108496593638363271032791725323452043154889709304164204284025910238987928487444360984537342278493742910604901685690512485186219862021201056249560680335945351635773645202614868285004909238110315527909391591764332230092485661926247064248760559165580499247059805429364 12606889715154115765794475726902587290986850920721564295057909395751459147816766953405425243985817659441961520301219674987790088091091659903793060107330942965535228770905964252613665004472322628330704609960468630974796516111878961709560854217839472537339016614265757874210353148317260007730036933897287238199258319958565001722479367420077202733939408668506082988631460343413728059800259287522892016904555379722552224442682614553198412276966219025294623539679764071346885430290756612960642799869077552397347493591292300396120874670461493366984218010717618831575326745846209561227726236574803700774331506342811132916450323230356558414195920256659776114344566118602640680559902558642435576888250399592915844561075550989864418993978583337236367472402311302511713590877754792627701750057037178805609572171931819669395893842547788564197658402628263556856065591298595697214023503627887833916900129415003200081203165144061261606056884181800288606844787116925002693472901002030068212341586176370816685311125401595915018663776272683192459309060541440848098045010206688949308959642883821413912328304034144706243917594432299114502138291742337600504921580049739811613865025056812601145755179525024909133684720269006261127441528209650672611777836185144753756379433359915779168991824678476858647626614531837648229843335611549015532530690623688570383860347775958452176746597113261747571163560678332891425762454533407822600586776935727322581212712327705678478925216838927511268411244377978351186651768609265782364388928597170199570889884183084498069947129219078984188437464880887490320330759476273201544689631365993857736046147445335759109719409634140130004759834217448729342627926958833365780133897520344287485348478613374543194995151535177161796950824688475757303517987360632527572379961215285515743857944737900673544669569957935596504433604672764796995495576272588325739532247501127968300079542715756094516942662832181228704133497613230277945611860581536735757228402967291493285412971397340191758479349122573837656273566652756261354790867851865344603017441209339757578103470403767717503836370126954871402112781224645030538633314328822108369962622730428263610441503313162468911852182533096298261373430332850117081157394414140056131553802794249485724181359225301817988750983582226533663629506621570800702201350210962205419489098953123352808358240617513944701999823895500446436027672927601339683053768062101152402494502706266993226510717693781060260069291356015714085271465663917289668607233042100387983497184214015144836369528608084051356741071673827241610582792076449227829558028382336344425676157404964654719594607384475674926404939358083805209348368465403047810718706392169283135999638625807753819679778009649918114414379564021598675846942837053830449493066946750805940273157045845355213180068110159397882672686135964927109937597678514972136103378335940766865342306346042615505106260151995025066759006152802024454044201065706705790718424806569815854202584342446319280936288486919080407094888138692156548240248449780178402653171979993673853201633679237760028238760437026113876105787428827614558604002318649509818834692547241580831262806604442834063679043966403600695961004853496825052574413130559369235312618270346254388632117529656551621569695504459274999366479304640189160966138264713049995031973255076194555242230803753445644403892440859461450554625722493896615190084411343219636159599735127084474601402823061209850530758024511394125564880218769462607 20398376051540839616419572145554345968768728985884223454421526195541302599718467057216641284324515866115173880020728835147762703514838281938375731167486047704442271497792760122454276060071504653389325168149704626049527951602230776167934968966623129581519996978570326782038680711828607903928989867266388978851719504796644852238622108891759198553746959631918271520738178172464816825032278063850156001999614679814261933513424239531830609204421832790819553646147197424013678901328748687616046507330970501799430283940460165478976099274229073918975841132936012291528177443807138155315945281033523415371796505987164743921555609223684597273538903581173215840738265843264804495615611873166907362897029357471842581344993150865979830142101560030861126262875723367387625161269678942622926526453065060536763236801703054868601397277925404545864990908494829804403384663829216163693253910103958869844165705343995681313656935980766204220545122703685960872907807529499646806994708489269751572461502505792439031755073156629424527879761496488755622997170021373572846908262832143083443601249736951444039934622260269849551785681739286360210408753544643965195475915239678901860481472113981982783072486696082500150063886202720678002250385679294788950633273904520231734382630603125723871626854820118470539868159765713335201423963155147037593281732930489500079854764510968285017520271443008856583196572802987294293933955896515905911403307002820406342768666572781684345704173017972862849027658887798786399026929216867965345547641154684270538337056327245717268170315406819418143235400875494392112782424481361393630209633027513657452935245720542115261109702838629036086388908001982120159541121665186764334781959254351374668067759142323929830007546312210306807612357107736355843778616039067823031757574890354206755367861101426978147209836600042753732155444347663173779760238228909885309044589916133028382819779953902446345914013466391586805073790358221227426593243998988606561993335401920889325754071603841081639951704726065652510516076711758274261628370207035058244066581420405792603988720656092763095145809861900137078743509088338295283071587590639060763679724767918956113606633307794627418718350402260389625771212581438402991643069447269798220200714796209724747003022061651422513348700779855293414458962098929735047803054961711411320842943666637930886170692295168374392950541708573304060044603123696422811347611920486568662608420209114018960246642185582962342636937199726963221104888285154154912137542323165398878589816965502750089853803791622152742799771570291502591275035943049582976845829387912477090611094276269667743509103550399183985097272985822951325801117305467815818254305287116815451271720764633388584790665040111500564599720214275142919842814685295044738002208820046351532407624028778482778911423676351569352031949325978106451574724648140776100996619733281378782371257083271912898628359116228564323913219571451042732104503019450590934989071797771636349924081529019139539181156437686723767286289824323985211191308510512312796378408254948227074124907750914442024892064083034054341430404992020596748511104359963341148266817054448955797250511774814765996371095847205667033285177587400500918923294239055962873675889303137979712084160684546260925733899788485185238354407792084550145503480543206792905636874940766707040428450665774646700653453121195406802190399367696511483475089320581329951687509126718848806831495308723136097595006785070559706064127278574891971 33005265766694955382214047872456933259755579906605787749479435591292761747535234010622066528310333525557135400321948510135552791605929941842168791274816990669977500268698724375067941064543827281720029778110173257024324467714109737877495823184462602118859013592836084656249033860145867911659026801163676217050977824755209853961101476311836401287686368300424354509369638515878544884832537351373048018904170059536814157956106854085029021481388051816114177185826961495360564331619505300576689307200048054196777777531752465875096973944690567285960059143653631123103504189653347716543671517608327116146128012329975876838005932454041155687734823837832991955082831961867445176175514431809342939785279757064758425906068701855844249136080143368097493735278034669899338752147433735250628276510102239342372808973634874537997291120473193110062649311123093361259450255127811860907277413731846703761065834758998881394860101124827465826602006885486249479752594646424649500467609491299819784803088682163255717066198558225339546543537769171948082306230562814420944953273038832032752560892620772857952262926294414555795703276171585474712547045286981565700397495289418713474346497170794583928827666221107409283748606471726939129691913888945461562411110089664985490762063963041503040618679498595329187494774297550983431267298766696053125812423554178070463715112286926737194266868556270604154360133481320185719696410429923728511990083938547728923981378900487362824629389856900374117438903265777137585678697826133747709936569751854470109226940510330215338117444625898402331672865756381882433113183957634595174899264393507515188981393165877874370829112472769166091148742219430849502169048624020130114915856774695662153416237755698473025002697847387468604563181796212113147296603399700350604137536105639722499225805839327651691879406557978350236589049020427970775255814501498211048576837417260996682899322669658540862856676298572815509207287971451505372205104580525342319221738369212382611167043001181273398431053848639490166789643364514535616419238058900402847084022629745550182092191059860480598982179988855008480856290312983325821704901919461169133642347498347219724048136620957096330570532935356687887144642914288520072800463861409854351754517590459210471184381286953240502099684362081827078088468720500535750004405172673616740332042619761283694528932912682319094950365604073750496072276051297762494401379982587721065102922915381012186757359879364022602706228555742677306376353949071444580744775365265786862087001179517894926223332399706204099540843244118744201857828019498810806403857770248821516287251681234322463103710934874858911502212343906756535149485770870863628973011679286098587271359390441142404470443049761418679014099778296741595689757522348875187495275766797157472680781074623837992091491786510967234704635461943033561512322326655748237099998069222145647713563429314528403734619268223589390672225724253067186148704085157296725707496604341452204126665871465458820117444924605804174381177963016141759431556960292491199031580234941900927326541430152202053130824520060168217536192420848211307115106678612850967101509601690536628513318379257600060050139813609267729246182440897325971497707369615332108988507573484234100716278214202812547303595292944460237720887096724739306469618807919842900668848195842901595670681469528092345057345562054868252745025090190408098665173731924549587847108861845933281432898131784345948125764809581953831629007497344354578 53403641818235794998633620018011279228524308892490011203900961786834064347253701067838707812634849391672309280342677345283315495120768223780544522442303038374419771766491484497522217124615331935109354946259877883073852419316340514045430792151085731700379010571406411438287714571974475815588016668430065195902697329551854706199723585203595599841433327932342626030107816688343361709864815415223204020903784739351076091469531093616859630685809884606933730831974158919374243232948253988192735814531018555996208061472212631354073073218919641204935900276589643414631681633460485871859616798641850531517924518317140620759561541677725752961273727419006207795821097805132249671791126304976250302682309114536601007251061852721824079278181703398958619998153758037286963913417112677873554802963167299879136045775337929406598688398398597655927640219617923165662834918957028024600531323835805573605231540102994562708517037105593670047147129589172210352660402175924296307462317980569571357264591187955694748821271714854764074423299265660703705303400584187993791861535870975116196162142357724301992197548554684405347488957910871834922955798831625530895873410529097615334827969284776566711900152917189909433812492674447617131942299568240250513044383994185217225144694566167226912245534318713799727362934063264318632691261921843090719094156484667570543569876797895022211787139999279460737556706284307480013630366326439634423393390941368135266750045473269047170333562874873236966466562153575923984705627043001713055484210906538740647563996837575932606287760032717820474908266631876274545895608438995988805108897421021172641916638886419989631938815311398202177537650221412969661710170289206894449697816029047036821483996898022402855010244159597775412175538903948468991075219438768173635895110995993929254593666940754629839089243158021103968744493368091144555016052730408096357621427333394025065719102623560987208770689764964402314281078329672732798798348579513948881215073771133271936921114605022355038382758574705142677305720076272809878047608265935461091150604050151342786080911715953243694127989850755145559599799401321621104776489510100229897322072266266175837654769928751723749288883337617077512915855495726923064443533308679652571955232386668935218187403348604663015448385141937120492547430819430270797807460134385028061174986286399214580699625207850693487900907312647054556116879174994185305748991903074289727711343124495031147004002064946984945343165755469640527481242234225599492882317688431185740676818145020645016077136191328356842340614814410246793132863962548393783249687158161298606898345957503990206612814485274042896599485329729707860950603076338679447227316966402914038543080155074530989261108089872919243613819992571884515532572207643919925497484586843509005088405103402320771002915462862536586736584787921140013087046974796524338096617802503524430084820512586441302362978384452153714585445295704109918253207104607887660696568402113088554050747400484598359298601362292527941667467787340126970622865470804803995409988489890128001451449181066644078022888603094222558966597412868808055626211038576192115368326656139492425763830154072366056421235660814934762531360028297826890421001608671294982664396876622213812800438898749073473037495081429645476075294888809289451973099351126635806305723136609608636099132135302739045710798683250275054935424457886919582140263052505879539534617988564782088264393440507482045720771594652513537693134775919246549 86408907584930750380847667890468212488279888799095798953380397378126826094788935078460774340945182917229444680664625855418868286726698165622713313717120029044397272035190208872590158189159159216829384724370051140098176887030450251922926615335548333819238024164242496094536748432120343727247043469593741412953675154307064560160825061515432001129119696232766980539477455204221906594697352766596252039807954798887890249425637947701888652167197936423047908017801120414734807564567759288769425121731066610192985839003965097229170047163610208490895959420243274537735185823113833588403288316250177647664052530647116497597567474131766908649008551256839199750903929766999694847966640736785593242467588871601359433157130554577668328414261846767056113733431792707186302665564546413124183079473269539221508854748972803944595979518871790765990289530741016526922285174084839885507808737567652277366297374861993444103377138230421135873749136474658459832412996822348945807929927471869391142067679870118950465887470273080103620966837034832651787609631147002414736814808909807148948723034978497159944460474849098961143192234082457309635502844118607096596270905818516328809174466455571150640727819138297318717561099146174556261634213457185712075455494083850202715906758529208729952864213817309128914857708360815302063958560688539143844906580038845641007284989084821759406054008555550064891916839765627665733326776756363362935383474879915864190731424373756409994962952731773611083905465419353061570384324869135460765420780658393210756790937347906147944405204658616222806581132388258156979008792396630583980008161814528687830898032052297864002767927784167368268686392440843819163879218913227024564613672803742698974900234653720875880012942006985244016738720700160582138371822838468524240032647101633651753819472780082281530968649715999454205333542388519115330271867231906307406198264750655021748618425293219528071627366063537217823488366301124238171003453160039291200436812140345654548088157606203628436813812423344632844095363440787345494466846324835863938234626679896892968173102775813724293110169839610154040456089714304946926481391429561399030964419764613395561702906549708820079859416272973765400060498410015443137243997170089506923709749977128145689371784635557903517548069504018947570635899539930806547811865307058644801507028906160498275228558120533012582851272916720805052189155226291947800150371885662010792814266039876043333761361944311007548049394311212317833857596183297044073627093053696972602763819324538539942300468591034560941881458058528990994990691982047204589653544928410120123185597638738312669716525420148901808101697673636464396100088847209543076200328645689012625814439545515673393731551139634337922627919770868626111222329729992795112992760353640666477769186178026158763094407249373503821441220249864173574599369301452272575196615871725670077798383941900969706097597652675743105257671019957177104401911189765184386404065006454540758177413271950057179416046286898332116048645750356268730054422431097295194441568724832028928777990611218846131153713123154390776502789833717019362741317717189043082469836257830029054277148533329966116471375474424202491777542469195152861918708978286627091652904450106447913516717112951886020341090374374105713796181985534028758442718159046478706974571332452510231769813604830831390768144245305143307680449548077327680805436784430429127381726850410715369697291572291827993846536404234467369322142273263601127 139812549403166545379481287908479491716804197691585810157281359164960890442042636146299482153580032308901753961007303200702183781847466389403257836159423067418817043801681693370112375313774491151938739670629929023172029306346790765968357407486634065519617034735648907532824463004094819542835060138023806608856372483858919266360548646719027600970553024165109606569585271892565268304562168181819456060711739538238966340895169041318748282853007821029981638849775279334109050797516013276962160936262085166189193900476177728583243120382529849695831859696832917952366867456574319460262905114892028179181977048964257118357129015809492661610282278675845407546725027572131944519757767041761843545149897986137960440408192407299492407692443550166014733731585550744473266578981659090997737882436436839100644900524310733351194667917270388421917929750358939692585120093041867910108340061403457850971528914964988006811894175336014805920896266063830670185073398998273242115392245452438962499332271058074645214708741987934867695390136300493355492913031731190408528676344780782265144885177336221461936658023403783366490681191993329144558458642950232627492144316347613944144002435740347717352627972055487228151373591820622173393576513025425962588499878078035419941051453095375956865109748136022928642220642424079620696649822610382234564000736523513211550854865882716781617841148554829525629473546049935145746957143082802997358776865821283999457481469847025457165296515606646848050372027572928985555089951912137173820904991564931951404354934185482080550692964691334043281489399020134431524904400835626572785117059235549860472814670938717853634706743095565570446224042662256788825589389202433919014311488832789735796384231551743278735023186166583019428914259604109051129447042277236697875927758097627581008413139720836911370057892874020558174078035756610259885287919962314403763819692084049046814337527916780515280398055828501620137769444630796970969801801739553240081651885911478926485009272211225983475196570998049775521401083517060155372514454590771325029385230730048235754254014491766967987238159690365299600055889115626568031257880939661628928286492030879571399357676478460543829148299610590842912976353905742366201687530478769159495664982363797080907559187984162566532996454645956068063183330359361077345619325441443672862682015192559712855928183328383706070752180229367859608306034401286133105899363788736300520525609164371074480765364009257992493392560066681958361338838417522643566509410742128158343440637469559184958377604782362917784222072872939237788123555944595598372903232086571418730083943596242302876329339905422944704701183003366172257050691923548222523427645612091926664357519700590204382992659229507257166241739763440510626754901937636715038490244940484175482857591281428479534097322712236040408177805037785313587686416276248796913293233674229194507883204454487411008460576037127896819843116315661287022655118294373072047100633408567629312228160672434655538714647649190860057716113537696395700677287901902099189851557214722156930229439792285490209176601726248613335469387246585827418367528755765235197838162913969521480040978687402332172892611135239137254308902497492979752339710586957922074317301326728661726317156011700959493378585455803751189871476874343318210415817510173114513280294469062118867868945740133570436478942928555418362615874005964247262945699836936308666916344838975497457961685012799310039567307998886980907015277049182847676 226221456988097295760328955798947704205084086490681609110661756543087716536831571224760256494525215226131198641671929056121052068574164555025971149876543096463214315836871902242702533502933650368768124394999980163270206193377241017891284022822182399338855058899891403627361211436215163270082103607617548021810047638165983826521373708234459602099672720397876587109062727096787174899259520948415708100519694337126856590320806989020636935020205757453029546867576399748843858362083772565731586057993151776382179739480142825812413167546140058186727819117076192490102053279688153048666193431142205826846029579611373615954696489941259570259290829932684607297628957339131639367724407778547436787617486857739319873565322961877160736106705396933070847465017343451659569244546205504121920961909706378322153755273283537295790647436142179187908219281099956219507405267126707795616148798971110128337826289826981450915271313566435941794645402538489130017486395820622187923322172924308353641399950928193595680596212261014971316356973335326007280522662878192823265491153690589414093608212314718621881118498252882327633873426075786454193961487068839724088415222166130272953176902195918867993355791193784546868934690966796729655210726482611674663955372161885622656958211624584686817973961953332057557078350784894922760608383298921378408907316562358852558139854967538541023895157110379590521390385815562811480283919839166360294160340701199863648212894220781867160259468338420459134277492992282047125474276781272634586325772223325162161145871533388228495098169349950266088070531408392588503913193232257156765125221050078548303712702991015717637474670879732938714910435103100607989468608115660943578925161636532434771284466205464154615036128173568263445652980304269633267818865115705222115960405199261232762232612500919192901026542590020012379411578145129375215559787194220711170017956834704068562955953210000043352025421892038837961257810931921209140805254899592531282088698051824581033097429817429611912010383421394408365496446957847500866981300915607188967619857409945128722427117267580692280348329529975453640511978829931514957739272369223027959250911795492966961060583028169363909007715883564608313036852315757809338931527648858666419374732340925226596930972619720470050544524149975015633819229899291883893431190748502317664189044098720211131156741448916718653603453146088664660495189627578080906049735674398311313339875204247117814526725953569000041441954377894276195196434600819687640136503795825130946204456794097724900678073373397478726103530931468228783114247926642802962556777014981538853269541234980615546045865325571846512802880677002636653150780770757765599627974257780939290171959246105877776724210369141595088869659534309136737977231667629510151483005294124841960626777459454638297191729961609544229619025287649487162285785577701069488489849545954864585681588396388380714558173689803639925100787335618464127057029484138256433504698415022170070405573944384712718130693936089192173764759288052664430731710332999394384293125939554185859007430403504336340330314849403004111972177080302846781108846472954278280307999171799550534318127220732298289363986609663339746086444966688132614258419565244549165970205776835109639833873124652845513719675830177856903667658859877346968858535669219593220254865801514629099638759344964401827247087173860561670296323554041574943751136621366737794298071689386212827658976585091138033413844403121448276337419322446448803 366034006391263841139810243707427195921888284182267419267943115708048606978874207371059738648105247535032952602679232256823235850421630944429228986035966163882031359638553595612814908816708141520706864065629909186442235499724031783859641430308816464858472093635540311160185674440309982812917163745641354630666420122024903092881922354953487203070225744562986193678647998989352443203821689130235164161231433875365822931215976030339385217873213578483011185717351679082952909159599785842693746994255236942571373639956320554395656287928669907882559678813909110442468920736262472508929098546034234006028006628575630734311825505750752231869573108608530014844353984911263583887482174820309280332767384843877280313973515369176653143799148947099085581196602894196132835823527864595119658844346143217422798655797594270646985315353412567609826149031458895912092525360168575705724488860374567979309355204791969457727165488902450747715541668602319800202559794818895430038714418376747316140732221986268240895304954248949839011747109635819362773435694609383231794167498471371679238493389650940083817776521656665694124554618069115598752420130019072351580559538513744217097179337936266585345983763249271775020308282787418903048787239508037637252455250239921042598009664719960643683083710089354986199298993208974543457258205909303612972908053085872064108994720850255322641736305665209116150863931865497957227241062921969357652937206522483863105694364067807324325555983945067307184649520565211032680564228693409808407230763788257113565500805718870309045791134041284309369559930428527020028817594067883729550242280285628408776527373929733571272181413975298509161134477765357396815057997318094862593236650469322170567668697757207433350059314340151282874567239908378684397265907392941919991888163296888813770645752221756104271084435464040570553489613901739635100847707156535114933837648918753115377293481126780558632423477720540458099027255562718180110607056639145771363740583963303507518106702028655595387206954419444183886897530474907656239495755506378513997005088139993364476681131759347660267586489220340753240567867945558082988997153308884656887537403826372538360418259506629907738156015494155451226013206221500175540619058127627825915039714704722307504490160603883036583540978795931083697002560258652961239050516189945990526871059291279923987084924777300424724355633375456524268801224028864214011949099463134611833865484368618192295292089962826992534834514444576234556535273018342331206645914537953289289645094263656909859055678155760396510325603804407466571237803871238401335460009101552957583353484831222918422375205230994791217504063680368808910201472694305988123055619869872865954529478946696082159716869598648852255111399297749647364732133605266225189973250234609017443484368740883117831289052673845584637796830325434800749972201853949866401783083220184059093564792850875791723018749726931536744943903651279751149712147778511328480605331823589799382633734616819368256845341585280052231480872825749060131408998234901493574144683154276342789236870195789826549506916575651617447441564326888674199476375228719513478146162085769072014359105908134630462256597744902477000395347464181112366598130152202471240287507103563771366151029136353805007098261285981608093539135734220665179274353179392707733535160270576747967507705085097972263726030102415980032912197560005822206696836458303046461214416528361710285620661597890448072981152402008429183352696371629296479 592255463379361136900139199506374900126972370672949028378604872251136323515705778595819995142630462761164151244351161312944287918995795499455200135912509260345245675475425497855517442319641791889474988460629889349712441693101272801750925453130998864197327152535431714787546885876525146082999267353258902652476467760190886919403296063187946805169898464960862780787710726086139618103081210078650872261751128212492679521536783019360022152893419335936040732584928078831796767521683558408425333052248388718953553379436463380208069455474809966069287497930985302932570974015950625557595291977176439832874036208187004350266521995692011802128863938541214622141982942250395223255206582598856717120384871701616600187538838331053813879905854344032156428661620237647792405068074070099241579806255849595744952411070877807942775962789554746797734368312558852131599930627295283501340637659345678107647181494618950908642436802468886689510187071140808930220046190639517617962036591301055669782132172914461836575901166509964810328104082971145370053958357487576055059658652161961093332101601965658705698895019909548021758428044144902052946381617087912075668974760679874490050356240132185453339339554443056321889242973754215632703997965990649311916410622401806665254967876344545330501057672042687043756377343993869466217866589208224991381815369648230916667134575817793863665631462775588706672254317681060768707524982761135717947097547223683726753907258288589191485815452283487766318927013557493079806038505474682442993556536011582275726646677252258537540889303391234575457630461836919608532730787300140886315367501335706957080240076920749288909656084855031447876044912868458004804526605433755806172161812105854605338953163962671587965095442513719546320220220212648317665084772508647142107848568496150046532878364722675297172110978054060582932901192046869010316407494350755826103855605753457183940249434336780601984448899612579296060285066494639389251412311538738302645829282015128088551204131846085207299217337840838592252393977432755157106477056421985702964624945549938493199108249026928352547934818750316206881079846775489597946736425678107684846788315621865505321478842534799271647163731377720059539050058537257984879550585776486492334414447045647534101421133223603506634085502945906099330821790157944845132481706938448308191060103390000135118241666226217143377959086521545188929296413656442294917998835137532923147205359572865310109818815916395992576276468822470510751731707619162018846782418333778420235849551057754634759733751529157875236429134735875695354352051797881204298016786116534496436623026066203533968421070556566637730306944357371445563352253465063753722683594127653805244701438192801959936441079967790447343981058832058784102709365272895735341456255528733859404111146200337756128480782635455128867415855613084287912257987431650935890272932766138923679246381247264172437576923416735176670044690986898215276769177262649584914110030238611969453039308561204080974976035521369244405245632113801724562140708567900887958437809093830528648244300599294162889837231425054621559413741407191520980585221701673791758454161257568622548677233128866928751620584354565816746481792430869244980856549717447020406257712880398881005984902261006650520817937116159464997206794594098012148132888848612300953790026072091377067146464430062374090973117276276541703208521114047397150447973079669784255512488217747923113279638182981586106394996805129877459690115694075745282 958289469770624978039949443213802096048860654855216447646547987959184930494579985966879733790735710296197103847030393569767523769417426443884429121948475424227277035113979093468332351136349933410181852526259798536154677192825304585610566883439815329055799246170972025947732560316835128895916431098900257283142887882215790012285218418141434008240124209523848974466358725075492061306902899208886036422982562087858502452752759049699407370766632914419051918302279757914749676681283344251119080046503625661524927019392783934603725743403479873951847176744894413375039894752213098066524390523210673838902042836762635084578347501442764033998437047149744636986336927161658807142688757419165997453152256545493880501512353700230467023705003291131242009858223131843925240891601934694361238650601992813167751066868472078589761278142967314407560517344017748043692455987463859207065126519720246086956536699410920366369602291371337437225728739743128730422605985458413048000751009677802985922864394900730077471206120758914649339851192606964732827394052096959286853826150633332772570594991616598789516671541566213715882982662214017651698801747106984427249534299193618707147535578068452038685323317692328096909551256541634535752785205498686949168865872641727707852977541064505974184141382132042029955676337202844009675124795117528604354723422734102980776129296668049186307367768440797822823118249546558725934766045683105075600034753746167589859601622356396515811371436228555073503576534122704112486602734168092251400787299799839389292147482971128846586680437432518884827190392265446628561548381368024615865609781621335365856767450850482860181837498830329957037179390633815401619584602751850668765398462575176775906621861719879021315154756853870829194787460121027002062350679901589062099736731793038860303524116944431401443195413518101153486390805948608645417255201507290941037693254672210299317542915463561160616872377333119754159312322057357569362019368177884074009569865978431596069310833874740802686424292260282776139291507907662813345972811928364216961630033689931857675789380786276012815521307970656960121647714721047680935733578986992341734325719448238043681897102041429179385319746871875510765063264758758160420169643904114318249454161750369841605911293827486543217626481741837183027824350416597806371532223128394298717931162681280059105326591003517568102314719897001713198097637685306508929947934600667534981070843941483502405110905879222985111110983267046745308266980637504350053428332871731709525494645321411544618789429684918271746754738540283161925589855669119605633476795218087454019976510897426452390796275787561428947811008037740254473553726159369741845739213997526671199230917139498042096157949566439299599092458129808431467441498878161960531429505763342876847595514941220873959769835309300713505212685938519088662230189285600802292056015986322982772811174098139964160595673143666713414988594638177966426481325041160913394715362062201768835673043178023449231821377106649296636726504939550784693549706802802381532582492248106871437481170795083989439344148000706239006855305734080195180061596930393305236600323343337694563036339037001559213877182099468293746877139895050357347454679869649491646545219983962652372135931397360455527916198402141073090745930328318677327407242028005008687325186342668125034654169515160346354699147378692521736120718674053219357144809537972830716726904746109633398900299780872034179376149207138306643042812065705041761 1550544933149986114940088642720176996175833025528165476025152860210321254010285764562699728933366173057361255091381554882711811688413221943339629257860984684572522710589404591323849793455991725299656840986889687885867118885926577387361492336570814193253126398706403740735279446193360274978915698452159159935619355642406676931688514481329380813410022674484711755254069451161631679409984109287536908684733690300351181974289542069059429523660052250355092650887207836746546444202966902659544413098752014380478480398829247314811795198878289840021134674675879716307610868768163723624119682500387113671776079044949639434844869497134775836127300985690959259128319869412054030397895340018022714573537128247110480689051192031284280903610857635163398438519843369491717645959676004793602818456857842408912703477939349886532537240932522061205294885656576600175292386614759142708405764179065924194603718194029871275012039093840224126735915810883937660642652176097930665962787600978858655704996567815191914047107287268879459667955275578110102881352409584535341913484802795293865902696593582257495215566561475761737641410706358919704645183364194896502918509059873493197197891818200637492024662872135384418798794230295850168456783171489336261085276495043534373107945417409051304685199054174729073712053681196713475892991384325753595736538792382333897443263872485843049972999231216386529495372567227619494642291028444240793547132300969851316613508880644985707297186888512042839822503547680197192292641239642774694394343835811421665018794160223387384127569740823753460284820854102366237094279168668165502180977282957042322937007527771232149091493583685361404913224303502273406424111208185606474937560274681031381245575025682550609280250199367590375515007680333675319727435452410236204207585300289188906836402481667106698615306391572161736419291997995477655733662695858046767141548860425667483257792349800341762601321276945699050219597388551996958613431679716622376655399147993559684620514965720826009985641630101121368391685485340417970452449868350349919926254979239870350874897629813204365363456126720973167002727561496537278882470004665100026581114035070103549003375944576228451032483478249595570304113323296016145299720229680600810583868608796017375707332427051090049851711984687743282358646140574542651504013930066842606908991266071280194223568257229734711480273806418546902127394051341748803847946769738200458128276203514348812514929721795618977687387452089517256059998688256666368900210751205510129761344196379166179378523181214076146983183873276158857279941907467000809931493581334621950456599536963629986359217346344128066678117952395111700036905979624433495568422808125180476443932355332300002032599029534229746943073516961867215570150864151057695872885761292076736251706661141558630088250617944755842372628541551603376574488176717251738182328948752461906452057555345404136598172596560401890085033285625076181703250502303810498308825392300813738288712351739227530206797412628018541041972137053352509255690415370703269491020301341937400085725471394378152329181379425760860566269047141271716160646818632067096995054484600906317111713572165868487965497766454034110493358932325919602328311229587096512052802932864361533378120833658367106048734135518300538087952724922416689475540130876617309641115212414759502101800633945222720445672264654969063439329239788100616507592782617642614972239392963857556512179937963853620285771146012268184102732927759780787043 2508834402920611092980038085933979092224693680383381923671700848169506184504865750529579462724101883353558358938411948452479335457830648387224058379809460108799799745703383684792182144592341658709838693513149486422021796078751881972972059220010629522308925644877375766683012006510195403874832129551059417218762243524622466943973732899470814821650146884008560729720428176237123740716887008496422945107716252388209684427042301118758836894426685164774144569189487594661296120884250246910663493145255640042003407418222031249415520942281769713972981851420774129682650763520376821690644073023597787510678121881712274519423216998577539870125738032840703896114656796573712837540584097437188712026689384792604361190563545731514747927315860926294640448378066501335642886851277939487964057107459835222080454544807821965122298519075489375612855403000594348218984842602223001915470890698786170281560254893440791641381641385211561563961644550627066391065258161556343713963538610656661641627860962715921991518313408027794109007806468185074835708746461681494628767310953428626638473291585198856284732238103041975453524393368572937356343985111301880930168043359067111904345427396269089530709986189827712515708345486837484704209568376988023210254142367685262080960922958473557278869340436306771103667730018399557485568116179443282200091262215116436878219393169153892236280366999657184352318490816774178220577057074127345869147167054716018906473110503001382223108558324740597913326080081802901304779243973810866945795131135611261054310941643194516230714250178256272345112011246367812865655827550036190118046587064578377688793774978621715009273331082515691361950403694136088808043695810937457143702958737256208157152196887402429630595404956221461204709795140454702321789786132311825266307322032082227767139926598611538100058501805090262889905682803944086301150917897365337708179242115097877782575335265263902923218193654278818804378909710609354527975451047894506450664969013971991280689825799595566812672065922361404144530976993248080783798422680278714136887885012929802208550687010599480378178977434691630127124375276217584959818203583652092368315439754518341592685273046617657630417803225121471081069176588054774305719889873584715128833322770546387217313243720878576593069338466429580465386470490991140457875546153195236905626922428752560253328894848233252279582588526315548615325491689027055312777894704338867993109347047455832314920040627674841962798498435356564001368265668894170718953639084077241839286838841700577723997312610898994418729938611816442019205531763136120415564970376552709404476576047861056438750013622131689495625928960432851954510459705783803237414162022122707147643163272471798044128756979100669046542165975091675647037592363029219656404315267055419613099302176082779504048020453254056555877841227490122465236718366002852540474384964738784889224868729443544100758768269704068603500021880263254148129731827344971411703540754363015507124385394917250979438618789734667837678698641992903293949240122173505651023602793590044271523206642189462141768525527426467099573124352875351911340708415562460402231654807944244011674749911202870047179374948553502404240236072220969959675765909456746003699348152848324185750256765055727561576650333920441611178698655250735366802947372904622318328440398757427627136454803460383066800371412033661585175449958462153835864737592155615445688966297709967189911080237744725654465147295219406490745775739825485828804 4059379336070597207920126728654156088400526705911547399696853708379827438515151515092279191657468056410919614029793503335191147146243870330563687637670444793372322456292788276116031938048333384009495534500039174307888914964678459360333551556581443715562052043583779507418291452703555678853747828003218577154381599167029143875662247380800195635060169558493272484974497627398755420126871117783959853792449942688560866401331843187818266418086737415129237220076695431407842565087217149570207906244007654422481887817051278564227316141160059553994116526096653845990261632288540545314763755523984901182454200926661913954268086495712315706253039018531663155242976665985766867938479437455211426600226513039714841879614737762799028830926718561458038886897909870827360532810953944281566875564317677630993158022747171851654835760008011436818150288657170948394277229216982144623876654877852094476163973087470662916393680479051785690697560361511004051707910337654274379926326211635520297332857530531113905565420695296673568675761743763184938590098871266029970680795756223920504375988178781113779947804664517737191165804074931857060989168475496777433086552418940605101543319214469727022734649061963096934507139717133334872666351548477359471339418862728796454068868375882608583554539490481500177379783699596270961461107563769035795827801007498770775662657041639735286253366230873570881813863384001797715219348102571586662694299355685870223086619383646367930405745213252640753148583629483098497071885213453641640189474971422682719329735803417903614841819919080025805396832100470179102750106718704355620227564347535420011730782506392947158364824666201052766863627997638362214467807019123063618640519011937239538397771913084980239875655155589051580224802820788377641517221584722061470514907332371416673976329080278644798673808196662424626324974801939563956884580593223384475320790975523545265833127615064244685819514931224517854598507099161351486588882727611128827320368161965550965310340765316392822657707552462525512922662478588498754250872548629064056814139992169672559425584640412684743542433561412603294127102837714122238700673588317192394896553789588445141688648991193886081450286703371066651373289911350790451019610103265315939417191379342404593020576147929666642921050451117323747745116631565683109379560083262079512535913694823840447552463105462986991062862332734095517452885740368804116625841474077068451237623250970181127434970349470460940485885887446081257428264357150837087853849835282751969048183038079743903375835792113070565713122485092600876485473670603121225496463957887331354933175584824686425109230968475817562304046912827963654547365685408236732982584830247887624087095627804098046161356008634898793485239492053542862607743227180277352277201028347496349351008837224338134136271071198812398250469769041725841811206542720104278656713913491246795676926284788948237356940866264470493585055165888330329832982329648781910012366146663829245413097746656478509645416202362686378720670779046255803204930537544208920514623094931981671608932113583840294097706906852227960139393400016623627501355234194527499226709292545150328786463483368738535144872715007536514733595004546889562004077139043842515752151085712685719128377598714094667625384469438742149266651380173152056278487503781239627969555611172187129238255437405605787246043676688630648614779198250254452372330374773258060661205690673824746423260175708579274750918441231674674848508667585266615847 6568213738991208300900164814588135180625220386294929323368554556549333623020017265621858654381569939764477972968205451787670482604074518717787746017479904902172122201996171960908214082640675042719334228013188660729910711043430341333305610776592073237870977688461155274101303459213751082728579957554277994373143842691651610819635980280271010456710316442501833214694925803635879160843758126280382798900166195076770550828374144306577103312513422579903381789266183026069138685971467396480871399389263294464485295235273309813642837083441829267967098377517427975672912395808917367005407828547582688693132322808374188473691303494289855576378777051372367051357633462559479705479063534892400138626915897832319203070178283494313776758242579487752679335275976372163003419662231883769530932671777512853073612567554993816777134279083500812431005691657765296613262071819205146539347545576638264757724227980911454557775321864263347254659204912138070442773168499210618093889864822292181938960718493247035897083734103324467677683568211948259774298845332947524599448106709652547142849279763979970064680042767559712644690197443504794417333153586798658363254595778007717005888746610738816553444635251790809450215485203970819576875919925465382681593561230414058535029791334356165862423879926788271281047513717995828447029223743212317995919063222615207653882050210793627522533733230530755234132354200775975935796405176698932531841466410401889129559729886647750153514303537993238666474663711285999801851129187264508585984606107033943773640677446612419845556070097336298150508843346837991968405934268740545738274151412113797700524557485014662167638155748716744128814031691774451022511502830060520762343477749193447695549968800487409870471060111810512784934597961243079963307007717033886736822229364453644441116255678890182898732310001752687516230657605883650258035498490588722183500033090621423048408462880328147609037708585503336658977416809770706014564333775505635277985337175937542246000166564911959635329773474823929657453639471836579538049295228907778193702025005099474767976271651012165121721410996104233421251478113931707198518877171969284763211993544106786734373922037811543711868089928492537732442466499405564756739499976850031068250514149888791810333819868808243235990388917546904213131587122556823567255106236457316418162836123576400700881357953696239270645450859049644132778377429395859429403736178415936444346970298426013442355010977145302903284384322802645258796530026045007806807488919359993808335021879780321627373148403012064984443061096909042895691005433739241641061434334440040759409751632685742863859244590607507057929975873260815609057825391192039970396746852370594771730258900275896090290112987735567840027405467145218509645335590209497008681516295402915962450311013307117638184291524452868954128310996531848307047924908722956819131098878230031684901795014232492338115709135968539097085077046151584477962714156993753321715906901026844752537483141573729489084034992097354216399369421039159097154170659717714571538225888522025943132138755773302435866232434278695059712517752891975538842063649756987901458364100489394340461213394571608582324247663561038918973831076767859521679843048500588519451499238561009904878634363769822229202034803359183760445350035423887423081434876685861946297996009929614756374710240865988854046415088722292233790229156712408288237067966928873506350171988383791936334340413453304929216065736451081165594284407410752444651 10627593075061805508820291543242291269025747092206476723065408264929161061535168780714137846039037996175397586997998955122861629750318389048351433655150349695544444658288960237024246020689008426728829762513227835037799626008108800693639162333173516953433029732044934781519594911917306761582327785557496571527525441858680754695298227661071206091770486000995105699669423431034634580970629244064342652692616137765331417229705987494395369730600159995032619009342878457476981251058684546051079305633270948886967183052324588377870153224601888821961214903614081821663174028097457912320171584071567589875586523735036102427959389990002171282631816069904030206600610128545246573417542972347611565227142410872034044949793021257112805589169298049210718222173886242990363952473185828051097808236095190484066770590302165668431970039091512249249155980314936245007539301036187291163224200454490359233888201068382117474169002343315132945356765273649074494481078836864892473816191033927702236293576023778149802649154798621141246359329955711444712888944204213554570128902465876467647225267942761083844627847432077449835856001518436651478322322062295435796341148196948322107432065825208543576179284313753906384722624921104154449542271473942742152932980093142854989098659710238774445978419417269771458427297417592099408490331306981353791746864230113978429544707252433362808787099461404326115946217584777773651015753279270519194535765766087759352646349270294118083920048751245879419623247340769098298923014400718150226174081078456626492970413250030323460397890016416323955905675447308171071156040987444901358501715759649217712255339991407609326002980414917796895677659689412813236979309849183584380983996761130687233947740713572390110346715267399564365159400782031457604824229301755948207337136696825061115092584759168827697406118198415112142555632407823214214920079083812106658820824066144968314241590495392392294857223516727854513575923908932057501153216503116764105305705337903093211310507330228352457987481027286455170376301950425078292300167777536842250516164997269147327401856291424849865263844557516836715378580951645829437219550760286477158108547333695231876062571029005429793318376631863604383815756410756355207759110080115347007667705529231196403354396016737909878911439368664227960876703754122506676634666319719395930698749818400241148433821059159226261708313191783739650231263169764663546029577652493004895584593549396194569789981326615763843770270210248726516224794383195844894661338754642745777383204917860065530748984195125135550156183582001643772176479104342362866557898292327372114342927217510429288968475559083324620234022786088779263605191076600276703379331682618482395817354528079994136451468996370466633512644959198761372253078817389774360958717323750412311801319850531455772320562595651681352378780765573574148859131451443061097787812791721278480578721299021440575472650002233009590670132212039914807795696486642535231728273047690673997950580888230207998729451194460040595120040200085414900359101197261923492052848983454007614741070869357142729963939341130923019851911152908599166343418883951515400685073393034544669247676877940347117469120378568575433707426081314749083683920187544431035203650324273695624007011962483916896827419272797925909712001415597039479359922380467101574267551621101801885612965678271594641292458765410922882405008354962662740609398341702131567011377679057616682757600589161884203966984177682755840442793074996019060498 17195806814053013809720456357830426449650967478501406046433962821478494684555186046335996500420607935939875559966204406910532112354392907766139179672630254597716566860285132197932460103329683469448163990526416495767710337051539142026944773109765590191304007420506090055620898371131057844310907743111774565900669284550332365514934207941342216548480802443496938914364349234670513741814387370344725451592782332842101968058080131800972473043113582574936000798609061483546119937030151942531950705022534243351452478287597898191512990308043718089928313281131509797336086423906375279325579412619150278568718846543410290901650693484292026859010593121276397257958243591104726278896606507240011703854058308704353248019971304751426582347411877536963397557449862615153367372135417711820628740907872703337140383157857159485209104318175013061680161671972701541620801372855392437702571746031128623991612429049293572031944324207578480200015970185787144937254247336075510567706055856219884175254294517025185699732888901945608924042898167659704487187789537161079169577009175529014790074547706741053909307890199637162480546198961941445895655475649094094159595743974956039113320812435947360129623919565544715834938110125074974026418191399408124834526541323556913524128451044594940308402299344058042739474811135587927855519555050193671787665927452729186083426757463226990331320832691935081350078571785553749586812158455969451726377232176489648482206079156941868237434352289239118086097911052055098100774143587982658812158687185490570266611090696642743305953960113752622106414518794146163039561975256185447096775867171763015412779897476422271493641136163634541024491691381187264259490812679244105143327474510324134929497709514059799980817775379210077150093998743274537568131237018789834944159366061278705556208840438059010596138428200167799658786290013706864472955577574400828842320857156766391362650053375720539903894932102231191172553340718702763515717550278622399383291042513840635457310673895140312093317254502110384827829941422261657830349463006444620444218190002368622095378127942437014986985255553621070136630059065577536635738427932255761921320540877802018610436493066816973505186466560356142116258222910161919964498610056965378075918219679119988213688215885546153114901828286211132174008290876679330243889772556176712348861585941976641849315179012855465532353764050833383783009640599160522975433313830908941339931563847822208012144992303761066747054654533051371775021324409240852701468827674002739585718226797640387158122132598137200534599244678910686667867484538081604507619332626767412873752678850196172152827720149690831678163998659349594872663016467792316673776078534989077167547613428355890226741581984106034473540050426343979881898414407599271369640233619153328274251630863838573410504854120104550306507091762105422455907056360166017916918911669951310165480516313253932913588359138201548687755209258191499285758410643636288553444179948717518750488064029803937487813486186557394811519409621124573997513271856979638063591074871976033557873209625130445165830171775409618079564428905800574705185482533708503302143437493523939009708890272511955699793368042129614352681257158082608605363763236045019554655149562834705528885646326253739126029454076157109670157351451020926902441357257152963520565547631031416641987675919137583495338873854133215116195237511675071028846466308631005073361549667441408619091941002615189133183049914133837006037077482406771505149 27823399889114819318540747901072717718676714570707882769499371086407655746090354827050134346459645932115273146964203362033393742104711296814490613327780604293261011518574092434956706124018691896176993753039644330805509963059647942720583935442939107144737037152551024837140493283048364605893235528669271137428194726409013120210232435602413422640251288444492044614033772665705148322785016614409068104285398470607433385287786119295367842773713742569968619807951939941023101188088836488583030010655805192238419661339922486569383143532645606911889528184745591618999260452003833191645750996690717868444305370278446393329610083474294198141642409191180427464558853719649972852314149479587623269081200719576387292969764326008539387936581175586174115779623748858143731324608603539871726549143967893821207153748159325153641074357266525310929317652287637786628340673891579728865795946485618983225500630117675689506113326550893613145372735459436219431735326172940403041522246890147586411547870540803335502382043700566750170402228123371149200076733741374633739705911641405482437299815649502137753935737631714612316402200480378097373977797711389529955936892171904361220752878261155903705803203879298622219660735046179128475960462873350866987459521416699768513227110754833714754380718761327814197902108553180027264009886357175025579412791682843164512971464715660353140107932153339407466024789370331523237827911735239970920912997942577407834852428427235986321354401040484997505721158392824196399697157988700809038332768263947196759581503946673066766351850130168946062320194241454334110718016243630348455277582931412233125035237467829880819644116578552337920169351070600077496470122528427689524311471271454822163445450227632190091164490646609641515253399525305995172955466320545783151496502758103766671301425197227838293544546398582911801341922421530078687875656658212935501141681222911359676891643871112932198752155618959045686129264627634821016870766781739163488596747851743728668621181225368664551304735529396839998206243372686736122649630783981462694734354999637769422779984233861864852249100111137906852008640017223366072957978692542239079429088211497250486499064095822403298504843192219746500073979320918275172257720137080725083585925208351184617042611902284062993813267654875360134884994630801836920524438875896108279560335760376882997749000072014691794062077242617123433240903768925186521462891483401946235516157397218402581934973630376830590824924743300098291246118792436697596130166428645485363101431715500452688871116793262336084755428260912330440043963642423967374177230919094784988095606067706601441796195708774156298398021445438374136268207544392593377155410217607559563364967956435884363193050980476501107052695385542741254151493224989045730598950942903740586052950714370029182825416715756231658885872527678996604766187811609079014706724461672588646059237612275373489061009140434558278425341470231414093554107130278823785172452996408192748438644918034145486542937381017435406639449821209988897872373054241561555643923855430041172614280494487587895794111116540541099416340058709173871528901417660018702828510886558483678956567150452302817262488420698189786388683239397357689047683423589450589858799887108401152892658288737656022856873348955035579869352866617966381801279637620065094833099252133218527600641597409178136631332619544137998600245866637733769455864650333136640372927346499025301849541591777073337150034091816592846479870557402790565647 45019206703167833128261204258903144168327682049209288815933333907886150430645540873386130846880253868055148706930407768943925854459104204580629793000410858890977578378859224632889166227348375365625157743566060826573220300111187084747528708552704697336041044573057114892761391654179422450204143271781045703328864010959345485725166643543755639188732090887988983528398121900375662064599403984753793555878180803449535353345866251096340315816827325144904620606561001424569221125118988431114980715678339435589872139627520384760896133840689325001817841465877101416335346875910208470971330409309868147013024216821856684231260776958586225000653002312456824722517097310754699131210755986827634972935259028280740540989735630759965970283993053123137513337073611473297098696744021251692355290051840597158347536906016484638850178675441538372609479324260339328249142046746972166568367692516747607217113059166969261538057650758472093345388705645223364368989573509015913609228302746367470586802165057828521202114932602512359094445126291030853687264523278535712909282920816934497227374363356243191663243627831351774796948399442319543269633273360483624115532636146860400334073690697103263835427123444843338054598845171254102502378654272758991821986062740256682037355561799428655062783018105385856937376919688767955119529441407368697367078719135572350596398222178887343471428764845274488816103361155885272824640070191209422647290230119067056317058507584177854558788753329724115591819069444879294500471301576683467850491455449437767026192594643315810072305810243921568168734713035600497150279991499815795552053450103175248537815134944252152313285252742186878944661042451787341755960935207671794667638945781778957092943159741691990071982266025819718665347398268580532741086703339335618095655868819382472227510265635286848889682974598750711460128212435236943160831234232613764343462538379677751039541697246833472102647087721190236858682605346337584532588317060361562871887790365584364125931855120508976644621990031507224826036184794948393952999093790426083138952545002006391518158112176298879839234355664758976988638699082800902708696406624798001000749629089299269096935557162639376803691309752575888616332202231080195136756330194046103159504144887471172830730827787830216108715095941086492308893285507481167164414211432072820628421921702353524847064179084870157326415841293450507216250544368085709496896205314310887575447721245040610594079965934137897337879579276351470066267443201677550297598994102648224948819658513140839846993249391399536619354672939823017107911448180505571881796563545862197861848284917902773594623915858464987976562020104787969008931224012184910050931488752596636730912581384791774589934632964582535580592745811886721136049907632588317100239184562057068860304581578208602593330270835860781965392964289784419060673244171775096931625636131623898811539753925529306402649368278636106966180550728422913379312517773915112338616632945125711498926708947838082974356423567574830218158859442334562895385644911221199619234998727406074730487490119618033061624282891950159178980768964509748576714383951368522004971948380082422688665457422964258517055856462827804139069940397479966294411446659634470144513949449943106681778304614991395148886327425112145250026704317638893284242636894773028615398646883164635169588317516546761631970206473677353114795483378312804798302330958964141713734477013940433920941482594392262470333084005950429852516948039809562070796 72842606592282652446801952159975861887004396619917171585432704994293806176735895700436265193339899800170421853894611130977319596563815501395120406328191463184238589897433317067845872351367067261802151496605705157378730263170835027468112643995643804480778081725608139729901884937227787056097378800450316840757058737368358605935399079146169061828983379332481028142431894566080810387384420599162861660163579274056968738633652370391708158590541067714873240414512941365592322313207824919698010726334144627828291800967442871330279277373334931913707369650622693035334607327914041662617081406000586015457329587100303077560870860432880423142295411503637252187075951030404671983524905466415258242016459747857127833959499956768505358220574228709311629116697360331440830021352624791564081839195808490979554690654175809792491253032708063683538796976547977114877482720638551895434163639002366590442613689284644951044170977309365706490761441104659583800724899681956316650750549636515056998350035598631856704496976303079109264847354414402002887341257019910346648988832458339979664674179005745329417179365463066387113350599922697640643611071071873154071469528318764761554826568958259167541230327324141960274259580217433230978339117146109858809445584156956450550582672554262369817163736866713671135279028241947982383539327764543722946491510818415515109369686894547696611536696998613896282128150526216796062467981926449393568203228061644464151910936011413840880143154370209113097540227837703490900168459565384276888824223713384963785774098589988876838657660374090514231054907277054831260998007743446144007331033034587481662850372412082033132929369320739216864830393522387419252431057736099484191950417053233779256388609969324180163146756672429360180600797793886527914042169659881401247152371577486238898811690832514687183227520997333623261470134856767021848706890890826699844604219602589110716433341117946404301399243340149282544811869973972405549459083842100726360484538217328092794553036345877641195926725560904064824242428167635130075648724574407545833686900001644160940938096410160744691483455775896883840647339100024268781654385317340240080178717300796519583434621258461780102196152944795635116406181551998470309014050331126828243090070095822357447773439690114279102528363595961852443778280138283004084938650307968928907982257462730407844813179156884849120477918536067630649491448137010896018359096797712833810963878642259013176014939564514727928704504019651568357513561994114247893729160531293710311921090228641292535864366184661872704110101200735347547955411822929539255973794464956982849943890985609375036420111567239144274960041550226343145199431556577503428086898970204196294277549341227658953127683945059036687645441197429462390201400857577362830838135504960809446357532292578631776155687551617013624278836817463415665439431983384175946332360593296487457598991537804679891710377419070665244605892198654327472866624904193936123789085941533904247365353865872228460899360948592265624798309263544551793258017965462761174878922582836115903101770614105620957418394008490700278397109023218922448243285369028540707800459266640906367622024573416561334318344883525993925458623636877323983459130083223920734372749337051507834670962903729051171743200774067180829896057184256859666043916532393093710231746135297853697188959113955939768601539093221491113395729244950538567758195609297278354107404360439459222791024186169335807483118097767022698996818597212352636443 117861813295450485575063156418879006055332078669126460401366038902179956607381436573822396040220153668225570560825018899921245451022919705975750199328602322075216168276292541700735038578715442627427309240171765983951950563282022112215641352548348501816819126298665254622663276591407209506301522072231362544085922748327704091660565722689924701017715470220470011670830016466456472451983824583916655216041760077506504091979518621488048474407368392859777861021073942790161543438326813350812991442012484063418163940594963256091175411214024256915525211116499794451669954203824250133588411815310454162470353803922159761792131637391466648142948413816094076909593048341159371114735661453242893214951718776137868374949235587528471328504567281832449142453770971804737928718096646043256437129247649088137902227560192294431341431708149602056148276300808316443126624767385524062002531331519114197659726748451614212582228628067837799836150146749882948169714473190972230259978852382882527585152200656460377906611908905591468359292480705432856574605780298446059558271753275274476892048542361988521080422993294418161910298999365017183913244344432356778187002164465625161888900259655362431376657450768985298328858425388687333480717771418868850631431646897213132587938234353691024879946754972099528072655947930715937503068769171912420313570229953987865705767909073435040082965461843888385098231511682102068887108052117658816215493458180711520468969443595591695438931907699933228689359297282582785400639761142067744739315679162822730811966693233304686910963470618012082399789620312655328411277999243261939559384483137762730200665507356334185446214622062926095809491435974174761008391992943771278859589362835012736349331769711016170235129022698249078845948196062467060655128872999217019342808240396868711126321956467801536072910495596084334721598347292003965009538125123440464188066757982266861755975038364779876404046331061339519403494475320309990082047400902462289232372328582912456920484891466386617840548715592411289650278612962583524028647818364833628972639445003650552459096208586459624530717811440655860829286038182825171490350791942138241080928346390095788680370178421101156905887462697371523732738383783078665445770380525172931402594214983293530278504267477944495211243459537048344752671565645764171249352861740041749536404179165083932691877358241755006446893759829518137865741992505096605515255302112023721386411599887299623770094905498652625266584083296003038423781005195791798191328154633941935260740748741782132382857615576061409323464774140558364655866860003435111137770358010819180711792175903512148631044027425704132251522061655014312154130655568762413479018387722800833025190130726019433543062316909641572268238187009316183526251308490165679931077320067017878306662113870787234369485958387477795589671801107247834726112676155159272877957996724920386269138745463333986294359745697706772210786442927077240852179142678109048462405718886659615746292062813710311435255784516167095842957168705879114688643662876683960794113921310242190633589260733723654019042676900440859457377877987728671024957669320397062712772407646723329056287481996380819851374201346353798064528564034357290277870576742858390878886698786994614516449267518720446320629528199179326079922761501895752950286553427166122325630393018462488866777276630502701400571745566898844228191212623263343366060526568261420067841881374379893143732506780561598277816202103717452551513766637021914707239 190704419887733138021865108578854867942336475289043631986798743896473762784117332274258661233560053468395992414719630030898565047586735207370870605656793785259454758173725858768580910930082509889229460736777471141330680826452857139683753996543992306297597208024273394352565161528634996562398900872681679384842981485696062697595964801836093762846698849552951039813261911032537282839368245183079516876205339351563472830613170991879756632997909460574651101435586884155753865751534638270511002168346628691246455741562406127421454688587359188829232580767122487487004561531738291796205493221311040177927683391022462839353002497824347071285243825319731329096668999371564043098260566919658151456968178523994996208908735544296976686725141510541760771570468332136178758739449270834820518968443457579117456918214368104223832684740857665739687073277356293558004107488024075957436694970521480788102340437736259163626399605377203506326911587854542531970439372872928546910729402019397584583502236255092234611108885208670577624139835119834859461947037318356406207260585733614456556722721367733850497602358757484549023649599287714824556855415504229932258471692784389923443726828613621598917887778093127258603118005606120564459056888564978709440877231054169583138520906907953394697110491838813199207934976172663919886608096936456143260061740772403380815137595967982736694502158842502281380359662208318864949576034044108209783696686242355984620880379607005536319075062070142341786899525120286276300808220707452021628139902876207694597740791823293563749621130992102596630844527589710159672276006986708083566715516172350211863515879768416218579143991383665312674321829496562180260823050679870763051539779888246515605720379680340350398275779370678439026548993856353588569171042659098420589960611974354950025133647300316223256138016593417957983068482148770986858245016014267164032670977584855972472408379482726280705445574401488801948306345294282395631506484744563015592856866800240549715037927812264259036475441153315354474521041130218654104296542939241174806326345005294713400034304996620369222201267216552744669933377282849440272005177259478481161107063690892308263804799679562937008083615642167158849144565335077135754784430856299759645684285079115887726277707168058774313771823133010197196449845784047175334291512048010678444386436627814340536690537398639855567371678365585768515233440642107501533614398909736555197375478529558636946109845063167353195288587315654606781294567189906046085057315165235645572661838970423424918721981760723282027574875341293712203822271826364650393744152475776163561736066889121523667464138992943276526482103205240655299330087125339916907105286693005029319467680067247092496190000854700608955883628206745645916452709347743042761915455571978687753019646163365866145641645939094809213950637924711250391552108138543448824290357318216873726737737001138666186070123116777437455392335125731568325045767582302984586194804828193519993657416679582539896155145464759361467755477969423666481901680842146721968992843893078306536691031347829274976461070908931559735774987010947593473200954689425603420572866913364235423909506569797381185692546229879791989987187671234614261329706826082311613259448124046122351120230422449497492372728973246506909818818686152612616330469959559216035862139153760342563966235744458641169173284660120335341586941868213881933818722177558698421949285734819352366523530966730934085299320201484475250510585234234267343682 308566233183183623596928264997733873997668553958170092388164782798653719391498768848081057273780207136621562975544648930819810498609654913346620804985396107334670926450018400469315949508797952516656769976949237125282631389734879251899395349092340808114416334322938648975228438120042206068700422944913041928928904234023766789256530524526018463864414319773421051484091927498993755291352069766996172092247099429069976922592689613367805107405277853434428962456660826945915409189861451621323993610359112754664619682157369383512630099801383445744757791883622281938674515735562541929793905036621494340398037194944622601145134135215813719428192239135825406006262047712723414212996228372901044671919897300132864583857971131825448015229708792374209914024239303940916687457545916878076956097691106667255359145774560398655174116449007267795835349578164610001130732255409600019439226302040594985762067186187873376208628233445041306163061734604425480140153846063900777170708254402280112168654436911552612517720794114262045983432315825267716036552817616802465765532339008888933448771263729722371578025352051902710933948598652732008470099759936586710445473857250015085332627088268984030294545228862112556931976430994807897939774659983847560072308877951382715726459141261644419577057246810912727280590924103379857389676866108368563573631970726391246520905505041417776777467620686390666478591173890420933836684086161767025999190144423067505089849823202597231758006969770075570476258822402869061701447981849519766367455582039030425409707485056598250660584601610114679030634147902365488083554006229970023126099999310112942064181387124750404025358613446591408483813265470736941269215043623642041911129142723259251955052149391356520633404802068927517872497189918820649224299915658315439932768852371223661151455603768117759329048512189502292704666829440774951867783141137707628220737735567122834228383417847506157109491905462828321351800820614592385713553885647025304825229195383153006635522819278650876877024156745726644124799654092802178132944361304074803778965790008945265859130513583079993752919078657208605499219415465674611762355969201616722242035410080988096944174978100664093913971078339538682581882949118155801200554811381472691048278500062409418004781974646003269525015282670058541949121411429811346583644373788052427980790615792898273228567895640394862014265438195103906380975433147204107048869701021760276583787078416858260716204750561819978461872670611657645205075572385697844276385469799177580833402587712205557301579597336784691351039649481852076859689131829799761531514510486595344273528242792633672298508166418647408778004164860254967453460742694102330386123674415805862344657810793266526039252317764342181224121815216061829442704017837908722692992775638996566059681760034153100515127604326572604803622439031959085117664784293702721702248354043137259995876482464472652480429868814484209666178778052808809177224910260412033048600523714853135739949479493292851331410929980926457310712646675302781170545343718830682763106765203320497170280292081552928995503747809372419193152864998676264498158624009822666133345274560087564480196988566178201037066747576233590054515751705591904539200283568940702492146146911040736867569497941169943813002257172425832989741580188048365566617023386725338361492532172222831430743512374961342569745030227019179569778154491477225299879248745820118489791167109199245510256037747292532363115522305201927802024351871256182050921 499270653070916761618793373576588741940005029247213724374963526695127482175616101122339718507340260605017555390264278961718375546196390120717491410642189892594125684623744259237896860438880462405886230713726708266613312216187736391583149345636333114412013542347212043327793599648677202631099323817594721313771885719719829486852495326362112226711113169326372091297353838531531038130720314950075688968452438780633449753205860605247561740403187314009080063892247711101669274941396089891834995778705741445911075423719775510934084788388742634573990372650744769425679077267300833725999398257932534518325720585967085440498136633040160790713436064455556735102931047084287457311256795292559196128888075824127860792766706676122424701954850302915970685594707636077095446196995187712897475066134564246372816063988928502879006801189864933535522422855520903559134839743433675976875921272562075773864407623924132539835027838822244812489973322458968012110593218936829324081437656421677696752156673166644847128829679322932623607572150945102575498499854935158871972792924742503390005493985097456222075627710809387259957598197940446833026955175440816642703945550034405008776353916882605629212433006955239815535094436600928462398831548548826269513186109005552298864980048169597814274167738649725926488525900276043777276284963044824706833693711498794627336043101009400513471969779528892947858950836098739798786260120205875235782886830665423489710730202809602768077082031840217912263158347523155338002256202556971787995595484915238120007448276879891814410205732602217275661478675492075647755830013216678106692815515482463153927697266893166622604502604830256721158135094967299121530038094303512804962668922611505767560772529071696871031680581439605956899046183775174237793470958317413860522729464345578611176589251068433982585186528782920250687735311589545938726028157151974792253408713151978806700791797330232437814937479864317123300107165908874781345060370391588320418086062183393556350560747090915135913499597899041998599320695223020832237240904243315978585292135014239979259164818579700362975120345873761350169152792748524052034361146461095203403142473771880405207979777780227030922054693981705841431027514453232936955339242237772450693962785141525305731059681814062043838787105803068739145571257213858521917935885836063106425177052420712613765258433039034717581637116560689674896208873789311608582484099931496831781162556946416897662314595624987331657161257927312251986370139575603890361442784964413226406064426682628982220301579097507973378614524823145789063511403656164411925258662962371507835264309681755195965972305411590685304486268065495622752790829819442247293228961108810891664125490860513618535442318619042790180005443422807475359156727185651765454908231210975253812701406197518966660769250265667414017573076956670335509216892432246170526538711361354133722614219465611318666499991931261647121571113178540377502270677842715017634795328543046655733606896172875391227566075445685818778468124644726447652447024560977404732099609096398803706971323429382203971964818718303978928927852009623857971359578699248269553918141473451799904106495135975582222759293806113382044502939376826518800529990395023014105405595035086859218689728363619441305374986145672339899560398874200978182947493346284554397354671325983173994709748119419983738918314887139514911365096359691107233697970923378816911740452844018597876779568714023466448414842506686403052534937105490449394603 807836886254100385215721638574322615937673583205383816763128309493781201567114869970420775781120467741639118365808927892538186044806045034064112215627585999928796611073762659707212809947678414922543000690675945391895943605922615643482544694728673922526429876670150692303022037768719408699799746762507763242700789953743596276109025850888130690575527489099793142781445766030524793422072384717071861060699538209703426675798550218615366847808465167443509026348908538047584684131257541513158989389064854200575695105877144894446714888190126080318748164534367051364353593002863375655793303294554028858723757780911708041643270768255974510141628303591382141109193094797010871524253023665460240800807973124260725376624677807947872717184559095290180599618946940018012133654541104590974431163825670913628175209763488901534180917638872201331357772433685513560265571998843275996315147574602670759626474810112005916043656072267286118653035057063393492250747065000730101252145910823957808920811110078197459646550473437194669591004466770370291535052672551961337738325263751392323454265248827178593653653062861289970891546796593178841497054935377403353149419407284420094108981005151589659506978235817352372467070867595736360338606208532673829585494986956935014591439189431242233851224985460638653769116824379423634665961829153193270407325682225185873856948606050818290249437400215283614337542009989160732622944206367642261782076975088490994800580026012199999835089001610293482739417169926024399703704184406491554363051066954268545417155761936490065070790334212331954692112823394441135839384019446648129818915514792576095991878654017917026629861218276848129641948360438036062799253137927154846873798065334765019515824678463053391665085383508533474771543373693994887017770873975729300455498316716802272328044854836551741914235040972422543392402141030320890593811298289682420474146448719101640929175215177738594924429385327145444651907986523467167058614256038613625243315257566546562986083566369566012790523754644768642724120349315823010370185265547390782364257925023185245118295332162780356728039424530969955668372208214198663796717115662711925645177883852868502152154755880891124836025772321244524012910463571388738155894053619245141742241285203934723735841656460065313363802388473127281094692668643669868501580259624115534405967668213610886993826328679429579595902554755793581277184306936515715631353800953257108364949635363275158378519346186807310119033928538969897191445711961301734637828254763590807239467014394834539521881176434292664729654174304997865923200535485964173456773173448966852108792552474388868264480471830238094082490432925750590206251572513544577679352635524616754008783301653780144574694636383384971404127258638869304801860745023560488147901006849971819872383166231672067175896854592240018821195515988629420626881676725948892228787065404491393718490701930083971146929860745745856787749891231349186679495588103127050683395852257899791473556375666168242558977005426612276089180771320029228822992368279808087495206374299719300877251615510935132967468566527676398122080717008300122469518202709070935687263416033539364384303483702153783259826041382346972099018691082418423339730273963963716597551741946127596086259226304789385118377243318098172889301979062249343749564516733009892758847203498206005425453260494381326308663345114158694481143250851168332533577219669198935401531619953217843387035606461315998811530364811888330854559288976746631445524 1307107539325017146834515012150911357877678612452597541138091836188908683742730971092760494288460728346656673756073206854256561591002435154781603626269775892522922295697506918945109670386558877328429231404402653658509255822110352035065694040365007036938443419017362735630815637417396611330899070580102484556472675673463425762961521177250242917286640658426165234078799604562055831552792699667147550029151976990336876429004410823862928588211652481452589090241156249149253959072653631404993985167770595646486770529596920405380799676578868714892738537185111820790032670270164209381792701552486563377049478366878793482141407401296135300855064368046938876212124141881298328835509818958019436929696048948388586169391384484070297419139409398206151285213654576095107579851536292303871906229960235160000991273752417404413187718828737134866880195289206417119400411742276951973191068847164746533490882434036138455878683911089530931143008379522361504361340283937559425333583567245635505672967783244842306775380152760127293198576617715472867033552527487120209711118188493895713459759233924634815729280773670677230849144994533625674524010110818219995853364957318825102885334922034195288719411242772592188002165304196664822737437757081500099098681095962487313456419237600840048125392724110364580257642724655467411942246792198017977241019393723980501192991707060218803721407179744176562196492846087900531409204326573517497564963805753914484511310228821802767912171033450511395002575517449179737705960386963463342358646551869506665424604038816381879480996066814549230353591498886516783595214032663326236511731030275039249919575920911083649234363823107104850800083455405335184329291232230667651836466987946270787076597207534750262696765964948139431670589557469169124811241832293143160978227781062380883504634105904985724499421569755342794080137452619866829319839455441657212727555161871080447629967012507971032739366865191462567952015152432341948403674626430201945661401319749940119336644313460481148704023352543810641323441044538843842607426169790706760949550060037425224377460150742480719703159770404731305837525000962722715831078262123807129048320357624748907360134533661118155758080466302950365443937978024621675111233295857017592436204070345460029466901338274127357202589494276196020240263925857528390419516145460178640831144720634323500759084761718464297177539671316483256173393180725827324213837900884753940146112192309692056040833941811794641776195186466282149177815851536905624999271039728004033645531441077463521742182755531800638108268699128143654986711939142128585382031836411338359944056862156144064230452777241828779386976700991246212959042402332986824972581596633427645672908792514293763110136955002427761584132702061676780161017472209212253602809238060947073685084572429191033836666104857907432838768592945299756136098569158195062755325776765845527441104921395695289813429852677007503909321004409889564181766265945842068318191180800946447207163271839043633786543080872298094867648895964755676475439392840785492227305983396118104584222938940317336939433385245980377051008569017923980440877781408319205241181557506991164288409978838129365482585335188460354143521630459244942140260264358986730702957336981214455304948954668408826423752229463770512788862377936450321932512010079294447156201874824189179420163008613801310047581660001298209392508347210859439767275190592577752313272072797236441263815175175339465259945207318574733907094226082237080840127 2114944425579117532050236650725233973815352195657981357901220145682689885309845841063181270069581196088295792121882134746794747635808480188845715841897361892451718906771269578652322480334237292250972232095078599050405199428032967678548238735093680959464873295687513427933837675186116020030698817342610247799173465627207022039070547028138373607862168147525958376860245370592580624974865084384219411089851515200040303104802961042478295436020117648896098116590064787196838643203911172918152974556835449847062465635474065299827514564768994795211486701719478872154386263273027585037586004847040592235773236147790501523784678169552109810996692671638321017321317236678309200359762842623479677730504022072649311546016062292018170136323968493496331884832601516113119713506077396894846337393785906073629166483515906305947368636467609336198237967722891930679665983741120227969506216421767417293117357244148144371922339983356817049796043436585754996612087348938289526585729478069593314593778893323039766421930626197321962789581084485843158568605200039081547449443452245288036914024482751813409382933836531967201740691791126804516021065046195623349002784364603245196994315927185784948226389478589944560469236171792401183076043965614173928684176082919422328047858427032082281976617709571003234026759549034891046608208621351211247648345075949166375049940313111037093970844579959460176534034856077061264032148532941159759347040780842405479311890254834002767747260035060804877741992687375204137409664571369954896721697618823775210841759800752871944551786401026881185045704322280957919434598052109974366330646545067615345911454574929000675864225041383952980442031815843371247128544370157822498710265053281035806592421885997803654361851348456672906442132931163164011829012706268872461433726097779183155832678960741537466413656610727765337472539593650187719913650753731339633201701610590182088559142227685709627663796250518608012603923138955809115462288882468815570904716577316486682322727879830047161494547107188579284047561393854666852977611435338097543313807985060610469495755482905261076431199194935701261505897209176921379627795377786519054693498241477617409512289289542009280594106238624194889456848441596010413267127349476262734178445355549394753202742994734192670566391882749323301334956594501198258921096405084294175237112388847934387752911090397893876773442226072276837450577487662343039845191701838011048511061827672967214419353287998601951895229115005252046369261563498207359637099294491594840884998455472298061264063931966093302837922873433141520909912474628092758838805009860305212052849414630532932494933249072066873469467133916996803165293974846531402651934232158044399681692094168073907684831591385812732988259960700546084962878217232772741750710244910918893557467738660863101012562959450147451659964108933929176762980245884143954984112842170336921159595623325779260960359713422753360697070895641238750861261854048969119001587033058846238680719647505211876345520086298910370956829667284784905298431761120593579722512357695837405461474554451252469906901951773656775173089286026224102910395984117390140928444973540530528672713462540283148742411376570807326242540321541663365479990538322950447300509078927342051391208180973198211542129472781868685678164356998699665682076526812304339915049078322395184845616269108182636356245005115456903873651598062027772300852410261776687714803692750454284650850781636655464071475572130463064761653515058983712285651 3422051964904134678884751662876145331693030808110578899039311981871598569052576812155941764358041924434952465877955341601051309226810915343627319468167137784974641202468776497597432150720796169579401463499481252708914455250143319713613932775458687996403316714704876163564653312603512631361597887922712732355646141300670447802032068205388616525148808805952123610939044975154636456527657784051366961119003492190377179533807371866341224024231770130348687206831221036346092602276564804323146959724606045493549236165070985705208314241347863510104225238904590692944418933543191794419378706399527155612822714514669295005926085570848245111851757039685259893533441378559607529195272661581499114660200071021037897715407446776088467555463377891702483170046256092208227293357613689198718243623746141233630157757268323710360556355296346471065118163012098347799066395483397179942697285268932163826608239678184282827801023894446347980939051816108116500973427632875848951919313045315228820266746676567882073197310778957449255988157702201316025602157727526201757160561640739183750373783716676448225112214610202644432589836785660430190545075157013843344856149321922070299879650849219980236945800721362536748471401475989066005813481722695674027782857178881909641504277664632922330102010433681367814284402273690358458550455413549229224889364469673146876242932020171255897692251759703636738730527702164961795441352859514677256912004586596319963823200483655805535659431068511316272744568204824383875115624958333418239080344170693281876266363839569253824032782467841430415399295821167474703029812084773300602842377575342654595831030495840084325098588864491057831242115271248706431457835602388490150546732041227306593669019093532553917058617313404812338112722488632333136640254538562015622411953878841564039337313066646523190913078180483108131552677046270054549233490209172996845929256772461262536189109240193680660403163115710070580555938291388151063865963508899017516566117897066426801659372193290528310198570459732389925371002438393510695585037605128804304263358045098035693873215633647741796134358965340432567343422210139644095458873639910326183741818599102366316872423823203127436352186704927145254900786419620632088378360645333280326614649425894854782669644333008320027768981377025519321575220520358726649340612550544472816068257109482257888511995852116358173950981897388760093623970668388170364059029602722764988657174019982659270460187229810396593671424301471534195547077415035112984636370334219598874530529896549761583006246687497893940946191572561285175896624413770221344220836846271643571996906276786676996725386026313895652856443834908243016124336377179518227624515828791472045354600886682367670794968546388240494572392662762222865123895689441984995353519482971865967242552311090054134849229064308054884498732701879228932899078815042339017739438618936182448600700544721474550773789566099760864606391900051128315043028119994811187319778213859792685887882919344255510132063167171208465824478563249540581773871153961379071949818341091955510045697493391569806846335337019637152224097855044148083351273765525709346169626531047521692961123441378412514224996711759267680386061952000908307620250802681937178003466415908556506696157135641607037965881702245639198467026734935149987614588536891598787071250953146584364265779277721983946403826665116755113266159945272887212068127600854354440028075765547690725914665956811994929331420779449037798668747741141220793125778 5536996390483252210934988313601379305508383003768560256940532127554288454362422653219123034427623120523248257999837476347846056862619395532473035310064499677426360109240046076249754631055033461830373695594559851759319654678176287392162171510552368955868190010392389591498490987789628651392296705265322980154819606927877469841102615233526990133010976953478081987799290345747217081502522868435586372208855007390417482638610332908819519460251887779244785323421285823542931245480475977241299934281441495340611701800545051005035828806116858305315711940624069565098805196816219379456964711246567747848595950662459796529710763740400354922848449711323580910854758615237916729555035504204978792390704093093687209261423509068106637691787346385198815054878857608321347006863691086093564581017532047307259324240784230016307924991763955807263356130734990278478732379224517407912203501690699581119725596922332427199723363877803165030735095252693871497585514981814138478505042523384822134860525569890921839619241405154771218777738786687159184170762927565283304610005092984471787287808199428261634495148446734611634330528576787234706566140203209466693858933686525315496873966776405765185172190199952481308940637647781467188889525688309847956467033261801331969552136091665004612078628143252371048311161822725249505158664034900440472537709545622313251292872333282292991663096339663096915264562558242023059473501392455837016259045367438725443135090738489808303406691103572121150486560892199588012525289529703373135802041789517057087108123640322125768584568868868311600445000143448432622464410136883274969173024120410269941742485070769085000962813905875010811684147087092077678586379972546312649256997094508342400261440979530357571420468661861485244554855419795497148469267244830888083845679976620747195169992027388060657326734791210873469025216639920242269147140962904336479130958383051444624748251467879390288066959366228678593159861430343960179328252391367833087470834474382913483982100073120575471693117566920969209418563832248177548562649040466901847577166030158646163368971116553002872565558160276133828849319419316565475086669017696845238435316840579983726384713112745136716946292943551340144357634861216642501645487994809543060793094781444249535872387327742512698335373259774842622910177114859924908261708955628766991305369498330192276264906942514252050724424123461036931074548156050513403904221304560776037168235847655626484879540517808998545566653416476786241916338978533320344273469628711193715415528352022059644270310619463987243784114445994426696806536888398314103059641856131948784049755691417209929220319275385962526325910968825239819289630352026049630276450060949516445036292980850441578479800137774053227560652623462768950086773906674757737104229727882784860800020049750917235861792023758202336158696810813158109662059060926482972723551461106519369760296168047253811734149279522514225303462795692367065904289974043780306321365246918638924568602566849467386477583253470118836781308230534325487072302915081972651672330698787792915507172047842822276753237288793293927397187141070372186261669749643099487098071504588052221633836903918695662967408088330075006628602273542571673100241341004887625303975494835898558087365316614805249508011175027507884145191091933849653296665063703903126986300031468979549111395546830166582760071670232212017139811543334914984368980011116131127742879458298145010565516738448650393402896351579500863430401256200204505411429 8959048355387386889819739976477524637201413811879139155979844109425887023414999465375064798785665044958200723877792817948897366089430310876100354778231637462401001311708822573847186781775829631409775159094041104468234109928319607105776104286011056952271506725097265755063144300393141282753894593188035712510465748228547917643134683438915606658159785759430205598738335320901853538030180652486953333327858499580794662172417704775160743484483657909593472530252506859889023847757040781564446894006047540834160937965616036710244143047464721815419937179528660258043224130359411173876343417646094903461418665177129091535636849311248600034700206751008840804388199993797524258750308165786477907050904164114725106976830955844195105247250724276901298224925113700529574300221304775292282824641278188540889481998052553726668481347060302278328474293747088626277798774707914587854900786959631744946333836600516710027524387772249513011674147068801987998558942614689987430424355568700050955127272246458803912816552184112220474765896488888475209772920655091485061770566733723655537661591916104709859607363056937256066920365362447664897111215360223310038715083008447385796753617625625745422117990921315018057412039123770533194703007411005521984249890440683241611056413756297926942180638576933738862595564096415607963709119448449669697427074015295460127535804353453548889355348099366733653995090260406984854914854251970514273171049954035045406958291222145613839066122172083437423231129097023971887640914488036791374882385960210338963374487479891379592617351336709742015844295964615907325494222221656575572015401695752924537573515566609169326061402770366068642926262358340784110044215574934802799803729135735648993930460073062911488479085975266297582667577908427830285109521783392903706257633855462311234507305094034583848239812971693981600577893686190296818380631172077333325060215155512707160937360708073070948470122481938749173715799721732111243194215900266850604036952371449340285641472266411103781891688026653359134789566270641688244147686645595706151840524075256681857242186750200744668699917125616566396192741629456209570545542657607171422177135439682350043257136935948264153298479648478485399258421280837274590023848640142823387407744207339104318542031660750832726104354636800361944485397635218651557602321506173239807373626607812450164776902794630610224675406020849797024698518824438683767963250907283541025825409867638285755339727747619395139238077717948320437463416393568433328909839962930792589946058248571821227276557306961881184730306018555711872703161302168535447280478702403592356046661968203886925945705301699858179182354803733482835413966729205567857900965889740988490390893867532809249274768684162293722133045286224991815210669596116742732457749210854650828042572360840971370711021088066257220657429512692387042561137875968821990462990080042701818360996712768728362507938845622275089909854695743495380947318094038591493641143460778431610456485486193722896609646420641327302605786793783866068846174069043351723622149039879748425552869541234392083599572625812931079621284996114520269612943515168808833267698035635573914594960345297108177192404800089342687014664225543479980720492143686824803307441910744455064783522452256412287473892877273147082612217826868999640911253600595501914057550984615563913377174824552150529163898335348967130405971488607802196437107611970485567770955223845835736480182695260645322734317131028538662099148997341425298537207 14496044745870639100754728290078903942709796815647699412920376236980175477777422118594187833213288165481448981877630294296743422952049706408573390088296137139827361420948868650096941412830863093240148854688600956227553764606495894497938275796563425908139696735489655346561635288182769934146191298453358692665285355156425387484237298672442596791170762712908287586537625666649070619532703520922539705536713506971212144811028037683980262944735545688838257853673792683431955093237516758805746828287489036174772639766161087715279971853581580120735649120152729823142029327175630553333308128892662651310014615839588888065347613051648954957548656462332421715242958609035440988305343669991456699441608257208412316238254464912301742939038070662100113279803971308850921307084995861385847405658810235848148806238836783742976406338824258085591830424482078904756531153932431995767104288650331326066059433522849137227247751650052678042409242321495859496144457596504125908929398092084873089987797816349725752435793589266991693543635275575634393943683582656768366380571826708127324949400115532971494102511503671867701250893939234899603677355563432776732574016694972701293627584402031510607290181121267499366352676771552000383592533099315369940716923702484573580608549847962931554259266720186109910906725919140857468867783483350110169964783560917773378828676686735841881018444439029830569259652818649007914388355644426351289430095321473770850093381960635422142472813275655558573717689989223559900166204017740164510684427749727396050482611120213505361201920205578053616289296108064339947958632358539850541188425816163194479316000637378254327024216676241079454610409445432861788630595547481115449060726230243991394191901052593269059899554637127782827222433328223327433578789028223791790103313832083058429677297121422644505566547762904855069603110326110539087527772134981669804191173538564151785685612175952461236537081848167427766875661152076071422522468291634683691507786845832253769623572339531679253584805593574328344208130102889865792710335686062607999417690105415328020611157866753747541265475285892700225042061048772775045632211675304016660612452280262333769641850048693400870244772592029825543616056142053917091669336634952366448200838988783353854414418988493345424439727896575204567395574750078576465864030461802006798678996106142642441041809737144862275399830144310833955773066980489197171867472211844317062993645715293912240219268265428393684804731134425106679379755372101753673183309591641986305361586600593880871546867926425868428514420464550138569509698190566849550340120558535541140096417659621096855166024577085820705508265772558722654703597081231617488177415950690504935427186848383250827754568821936346949693697909687760765297443502791500469561978938737435688842592410591888606572813111824459556816126323505545152223196936895304963186541541149221188121292880815982174242088125144789315213317491435862446851608068082371799962508707697070535025088053043190283087229674111446139387095024318191555918476984125324375294479738667541341060041589077214360352809914606225007018472137184892455874613264811908320365769540223626136228797249215803840159812888419417693643266499086051653820733484691712428611417405580353622870887768871217536981904052300654966757408918802849294207918664299405041043851016084543462488570371382317111923970005581179147545783031942717180806087623086616695513834682143980747045699433709295716137213482608039525529550253541629803948636 23455093101258025990574468266556428579911210627526838568900220346406062501192421583969252631998953210439649705755423112245640789041480017284673744866527774602228362732657691223944128194606692724649924013782642060695787874534815501603714380082574482860411203460586921101624779588575911216900085891641394405175751103384973305127371982111358203449330548472338493185275960987550924157562884173409493038864572006552006806983445742459141006429219203598431730383926299543320978940994557540370193722293536577008933577731777124425524114901046301936155586299681390081185253457535041727209651546538757554771433281016717979600984462362897554992248863213341262519631158602832965247055651835777934606492512421323137423215085420756496848186288794939001411504729085009380495607306300636678130230300088424389038288236889337469644887685884560363920304718229167531034329928640346583622005075609963071012393270123365847254772139422302191054083389390297847494703400211194113339353753660784924045115070062808529665252345773379212168309531764464109603716604237748253428151138560431782862610992031637681353709874560609123768171259301682564500788570923656086771289099703420087090381202027657256029408172042582517423764715895322533578295540510320891924966814143167815191664963604260858496439905297119848773502290015556465432576902931799779867391857576213233506364481040189390770373792538396564223254743079055992769303209896396865562601145275508816257051673182781035981538935447738995996948819086247531787807118505776955885566813709937735013857098600104884953819271542287795632133592072680247273452854580196426113203827511916119016889516203987423653085619446607148097536671803773645898674811122415918248864455365979640388122361125656180548378640612394080409890011236651157718688310811616695496360947687545369664184602215457228353806360734598836670181004012300835905908403307059003129251388694076858946622972884025532185007204330106176940591460873808182665716684191901534295544739217281594055265044605942783035476493620227687478997696373531554036858022331658314151258214180672009877853344616954492209965392411509266621234802678228984616177754332911188082789587719944683812898986984641665023543252240508310942874477422891191681693185275095189835608583196122458172956450649244178150544082533375566511880972385297228023466351967975246606052622713955092605818712531775472500075236165160630980471585804927880939830723119127858088819055582932197995558996013047788824042808852373427116843171765670187002093149554572778895307644849165702098823425233387749613244726483105850442212859492735384997620599260939133496143079627824983781111729878785678884690620576292205490117563810437185346078381840431493425818080715916060077029337506098640671826743195912752580508113098908243202019728149592086516885164771432859977283834199890716777473555836197932194784334812864126953649531621191923006482289593584710536750026970767064405123172187179357827798926162120963293603652168475502145481573539236913179696876094752773441992881818102057624764651053168676098916628778547289766612911130311606443952382540419156086639757133299412725487556779980717153633467575859200050823757594512912017352217688508760380657930724629531634541225628378537231918859316324808687654410221127629824455796929573802049369626745671848935119172264894906955101402000700107375865745195934467641087868340930146277951754520550519377243195235057102263284789905989816483525882128969941038871530613636578187628699250883055102485843 37951137847128665091329196556635332522621007443174537981820596583386237978969843702563440465212241375921098687633053406542384211993529723693247134954823911742055724153606559874041069607437555817890072868471243016923341639141311396101652655879137908768550900196076576448186414876758681151046277190094753097841036458541398692611609280783800800240501311185246780771813586654199994777095587694332032744401285513523218951794473780143121269373954749287269988237600092226752934034232074299175940550581025613183706217497938212140804086754627882056891235419834119904327282784710672280542959675431420206081447896856306867666332075414546509949797519675673684234874117211868406235360995505769391305934120678531549739453339885668798591125326865601101524784533056318231416914391296498063977635958898660237187094475726121212621294024708818449512135142711246435790861082572778579389109364260294397078452703646214984482019891072354869096492631711793706990847857807698239248283151752869797135102867879158255417688139362646203861853167040039743997660287820405021794531710387139910187560392147170652847812386064280991469422153240917464104465926487088863503863116398392788384008786429688766636698353163850016790117392666874533961888073609636261865683737845652388772273513452223790050699172017305958684409015934697322901444686415149890037356641137131006885193157726925232651392236977426394792514395897705000683691565540823216852031240596982587107145055143416458124011748723394554570666509075471091687973322523517120396251241459665131064339709720318390315021191747865849248422888180744587221411486938736276654392253328079313496205516841365677980109836122848227552147081249206507687305406669897033697925181596223631782314262178249449608278195249521863237112444564874485152267099839840487286464261519628428093861899336879872859372908497503691739784114338411374993436175442040672933442562232641010732308585059977993421544286178273604707467122025884254088239152483536217987052526063113847824888616945474462289061299213802015823205826476421419829568358017720922150675904286087337898464502483708239751230867697401966846276863727001759661809966008215204743402040000207017582540837033335065893788024832538136486490533564945108773362521910047556283809422184905812027370869637737523574983810429950771079276547135375804489330382429777253404731618820097735046860522268920334775475066309471464936244652785417078111698195330972175151812701298226110235778264278476182508847539986798533796222927137771940675276459146214765200669231449759582970370293159813618041759146947655989011722557683302234547960719819474674636239497287446080636277754455871499590198886348850928144821160891668802834255797791121998361245267564299310904783906328034987621520441105600513345805556601699743671581707088329522205727757182024748583856647311715176334289682159703477347007531749759431916836073162341144194603582474400692710992115095911853720336489678615220274650534230203335093566160876172572680506661592280103462784105768864219581379976842420249180683128037294000474211108517214831107672952719388820804305192455025381093658229270484305181362170044792625473999237116082826187052554843728715857512030576928178074301197223715583288361959113070249660530276721905162310525297989998847361437700981874457016127035664474698229327090929194311996145253016784650838354315567316784753011838346511325425497537552493236558049282858143718958798624588133797230571581562679236755008744096244617713158249504424684906434479 61406230948386691081903664823191761102532218070701376550720816929792300480162265286532693097211194586360748393388476518788025001035009740977920879821351686344284086886264251097985197802044248542539996882253885077619129513676126897705367035961712391628962103656663497549811194465334592367946363081736147503016787561926371997738981262895159003689831859657585273957089547641750918934658471867741525783265857520075225758777919522602262275803173952885701718621526391770073912975226631839546134272874562190192639795229715336566328201655674183993046821719515509985512536242245714007752611221970177760852881177873024847267316537777444064942046382889014946754505275814701371482416647341547325912426633099854687162668425306425295439311615660540102936289262141327611912521697597134742107866258987084626225382712615458682266181710593378813432439860940413966825191011213125163011114439870257468090845973769580831736792030494657060150576021102091554485551258018892352587636905413654721180217937941966785082940485136025416030162698804503853601376892058153275222682848947571693050171384178808334201522260624890115237593412542600028605254497410744950275152216101812875474389988457346022666106525206432534213882108562197067540183614119957153790650551988820203963938477056484648547139077314425807457911305950253788334021589346949669904748498713344240391557638767114623421766029515822959015769138976760993452994775437220082414632385872491403364196728326197494105550684171133550567615328161718623475780441029294076281818055169602866078196808320423275268840463290153644880556480253424834494864341518932702767596080839995432513095033045353101633195455569455375649683753052980153585980217792312951946789636962203272170436623303905630156656835861915943647002455801525642870955410651457182782825209207173797758046501552337101213179269232102528409965118350712210899344578749099676062693950926717869678931557944003525606551490508379781648058582899692436753955836675437752282597265280395441880153661551417245324537792834029703302203522849952973866426380349379236301934118466759347776317847100662731961196260108911233467511666405230744277987720341126392826191627720151701395439824017976730917331277073046447429365010987836300455055707185142746119418005381028270200327320286981701725527892963326337591157519520673032512796734397752500010784241534052827652679234800695807275550302474632095916716238590344959051528918450100033240631756881158308231337260291523971332890348839171960913066098903442127677369608700787544095976876298925285069193718393201367655003873430761839453935417176037619545581319080413808132382576915271064417389484334657178474889506925143133634938724702105988180334179631553491787063348280215370981813243834133628293347184301513265926313669700607986873601435237921608722612921953457608561140481511605893111763237995901409541791866562623558870485604783533067201085872067985403247742142066678918125459661865794578102449460392324298387169813044648074825988235131517016642480981863616993023372858660522306805447779090462676573127737295762120874285863849700427248257574995444537180297986403783717906849726824773342627632704691942026237876312438241627874864248265436938454959127948345114922903184741448786892449136038229970998179708211126477185893497911448259065496662410146547164446263194089218951246655017484758214220060763251252394099706687441471703449292073043755935292478093200821222083414494123613714097463691649177793880274709881195900786948755307740008920322 99357368795515356173232861379827093625153225513875914532541413513178538459132108989096133562423435962281847081021529925330409213028539464671168014776175598086339811039870810972026267409481804360430069750725128094542471152817438293807019691840850300397513003852740073997997609342093273518992640271830900600857824020467770690350590543678959803930333170842832054728903134295950913711754059562073558527667143033598444710572393302745383545177128702172971706859126483996826847009458706138722074823455587803376346012727653548707132288410302066049938057139349629889839819026956386288295570897401597966934329074729331714933648613191990574891843902564688630989379393026569777717777642847316717218360753778386236902121765192094094030436942526141204461073795197645843329436088893632806085502217885744863412477188341579894887475735302197262944575003651660402616052093785903742400223804130551865169298677415795816218811921567011929247068652813885261476399115826590591835920057166524518315320805821125040500628624498671619892015865844543597599037179878558297017214559334711603237731776325978987049334646689171106707015565783517492709720423897833813779015332500205663858398774887034789302804878370282551003999501229071601502071687729593415656334289834472592736211990508708438597838249331731766142320321884951111235466275762099559942105139850475247276750796494039856073158266493249353808283534874465994136686340978043299266663626469473990471341783469613952229562432894528105138281837237189715163753763552811196678069296629267997142536518040741665583861655038019494128979368434169421716275828457668979421988334168074746009300549886718779613305291692303603201830834302186661273285624462209985644714818558426903952750885482155079764935031111437806884114900366400128023222510491297670069289470726802225851908400889216974072552177729606220149749232689123585892780754191140348996136513159358880411240143003981519028095776686653386355525704925576690842194989158973970269649791343509289705042278496891707613599092047831719125409349326374393695994738367100158452610022752846685674782349584370971712427127806313200313788530132232503939797686349341597569593667720358718977980661051311796811119301905584583915855544552781409228418229095190302403227427565934082227698189924719225300511703393277108670434066656048837002127116827529753415515860354150562699539757069616142051025368784103560852960891375762037163227113781072208392444458179384418467115524570000153841737888825970494709289026041214068352646067847002309296646107748684868039564011553014985696763020378417828465657974859339854093542038899888482768622074202717145053667238790528678065088393273994061779759885593774791014589977422675490148308615844514681886597150162168615914867625407113779272119226302307730545183142326251130928340679135482357144997128823321069446052920155604886888799398312382990787321677945874211395689454542386095958734257162590771845796151544409798377099994622527633480735973920820647506494896723797120105265087632481212604752835502942555986130907127756677047338845812976951981958816569089248052562767450469918273956215674268023088211896869565968101631941808024852424928867281970343732376278842365116529260325172060698211265143854519036552979412760135133308705006201125324547331198893322716081623698074621245393773354123283530947391908034269409052574376330568037147111545033952797128946829625536992493341760951344540180882039082257410944669045254328414548889018806125813613945198259732424915354801 160763599743902047255136526203018854727685443584577291083262230442970838939294374275628826659634630548642595474410006444118434214063549205649088894597527284430623897926135062070011465211526052902970066632979013172161600666493565191512386727802562692026475107509403571547808803807427865886939003353567048103874611582394142688089571806574118807620165030500417328685992681937701832646412531429815084310933000553673670469350312825347645820980302655058673425480652875766900759984685337978268209096330149993568985807957368885273460490065976250042984878858865139875352355269202100296048182119371775727787210252602356562200965150969434639833890285453703577743884668841271149200194290188864043130787386878240924064790190498519389469748558186681307397363057338973455241957786490767548193368476872829489637859900957038577153657445895576076377014864592074369441243104999028905411338244000809333260144651185376647955603952061668989397644673915976815961950373845482944423556962580179239495538743763091825583569109634697035922178564649047451200414071936711572239897408282283296287903160504787321250856907314061221944608978326117521314974921308578764054167548602018539332788763344380811968911403576715085217881609791268669042255301849550569446984841823292796700150467565193087144977326646157573600231627835204899569487865109049229846853638563819487668308435261154479494924296009072312824052673851226987589681116415263381681296012341965393835538511795811446335113117065661655705897165398908338639534204582105272959887351798870863220733326361164940852702118328173139009535848687594256211140169976601682189584415008070178522395582932071881246500747261758978851514587355166814859265842254522937591504455520630176123187508786060709921591866973353750531117356167925770894177921142754852852114679933976023609954902441554075285731446961708748559714351039835796792125332940240025058830464086076750090171700947985044634647267195033168003584287825269127596150825834411722552247056623904731585195940048308952938136884881861422427612872176327367562421118716479394754544141219606033451100196685033703673623387915224433781300196537463248217785406690467990395785295440510420373420485069288527728450578978631031345220555540617709683473936280333048522645432946962352428025510211700927026039596356603446261591586176721869514923851225282253426300101888203390352218991870311949326575671258735656769677129966106996214756032231172241633076215060542726698452784861524125174628237665142455622355124944656196030015676547789853392622984047610153108757729946216353351766893809179667919593392035377473639123357980302290901004651117988209471056723125185856539977900199137195414698610295880779194924157054228981935371964124730052868410393996302244208214809708627045198432896002915717418784577564172739650953601088939965706137610334926962557816158151506296430591264875006549657807282729407278596775326610371499206476399229269689971255813410204376479549455014851931867905786965468722332483131855314136747746069496098205628125694163464862791578686218219353620466583108739072856244680418789675300820342445914455454254202078051740995061623694339310729264646499966878662805179720211971607240527107802054984219453120405813134168328595967823445428548798365104306884714412251801733224696804770975147120360484767792558219617317372749898638563051754167266794437093819289541211251721394268832396121698580748428634239044545361402965453576381024658766508945977592342769293516007009514732147015040164924275123 260120968539417403428369387582845948352838669098453205615803643956149377398426483264724960222058066510924442555431536369448843427092088670320256909373702882516963708966005873042037732621007857263400136383704141266704071819311003485319406419643412992423988111362143645545806413149521139405931643625397948704732435602861913378440162350253078611550498201343249383414895816233652746358166590991888642838600143587272115179922706128093029366157431357231645132339779359763727606994144044116990283919785737796945331820685022433980592778476278316092922935998214769765192174296158486584343753016773373694721539327331688277134613764161425214725734188018392208733264061867840926917971933036180760349148140656627160966911955690613483500185500712822511858436852536619298571393875384400354278870694758574353050337089298618472041133181197773339321589868243734772057295198784932647811562048131361198429443328601172464174415873628680918644713326729862077438349489672073536259477019746703757810859549584216866084197734133368655814194430493591048799451251815269869257111967616994899525634936830766308300191554003232328651624544109635014024695345206412577833182881102224203191187538231415601271716281946997636221881111020340270544326989579143985103319131657765389436362458073901525742815575977889339742551949720156010804954140871148789788958778414294734945059231755194335568082562502321666632336208725692981726367457393306680947959638811439384306880295265425398564675549960189760844179002636098053803287968134916469637956648428138860363269844401906606436563773366192633138515217121763677927415998434270661611572749176144924531696132818790660859806038954062582053345421657353476132551466716732923236219274079057080075938394268215789686526898084791557415232256534325898917400431634052522921404150660778249461863303330771049358283624691314968709463583728959382684906087131380374054966977245435630501411843951966563662743043881686554359109992750845818438345814993385692821896847967414021290238218545200660551735976929693141553022221502701761258415857083579553207154163972452719125882546269404675386050515721537634095088726669695752157583093039809587965378963160869139351401146120600324539569880884215615261076100093399118911892165375523350925872860512896434655723700136420152326551299749880554932025652832770706517050968052812006841815962242353953051758748939928091377601040042839217622638021341869033377983146012244450025520673239927145165568309431524279016366126491112950331644150985870264382661744394792162689269091796295021148321741499231339048529914187597496385251366894717327732665396880190773669626725320705354524723961915714534605066293473131257194458495889655570209514134476904472083680579969244734755007544158470860123082435115740824470552122305223447963967719890423870579294280224422322851134739158248032003869078307111183319390663187389540445128960675281489992464781152757595165210656391860461817051964954614174856649449637379565348641760886289369838978028579111256853011157128579418232878529666407418777709593345976030667805428921716024838203496987878923353383109896384373728210417752319764083273520563905278830896588307991731087734047002182315339616805950167171513479778292466511345433472450486859998407961558500237615589720613377126280555895698093691228744058559389037951992971440656280846030471086023576319368813424387326688322796755347065961342951324117740921975999995889901583847492658638435603435554200306006891658312322132823128677345274772589839629924 420884568283319450683505913785864803080524112683030496699065874399120216337720857540353786881692697059567038029841542813567277641155637875969345803971230166947587606892140935112049197832533910166370203016683154438865672485804568676831793147445975684450463218871547217093615216956949005292870646978964996808607047185256056066529734156827197419170663231843666712100888498171354579004579122421703727149533144140945785649273018953440675187137734012290318557820432235530628366978829382095258493016115887790514317628642391319254053268542254566135907814857079909640544529565360586880391935136145149422508749579934044839335578915130859854559624473472095786477148730709112076118166223225044803479935527534868085031702146189132872969934058899503819255799909875592753813351661875167902472239171631403842688196990255657049194790627093349415698604732835809141498538303783961553222900292132170531689587979786549112130019825690349908042358000645838893400299863517556480683033982326882997306398293347308691667766843768065691736372995142638499999865323751981441497009375899278195813538097335553629551048461317293550596233522435752535339670266514991341887350429704242742523976301575796413240627685523712721439762720811608939586582291428694554550303973481058186136512925639094612887792902624046913342783577555360910374442005980198019635812416978114222613367667016348815063006858511393979456388882576919969316048573808570062629255651153404778142418807061236844899788667025851416550076168035006392442822172717021742597844000227009723584003170763071547289265891694365772148051065809357934138556168410872343801157164184215103054091715750862542106306786215821560904860009012520290991817308971255860827723729599687256199125903054276499608118765058145307946349612702251669811578352776807375773518830594754273071818205772325124644015071653023717269177934768795179477031420071620399113797441331512380591583544899951608297390311076719722362694280576114946034496640827797415374143904591318752875434158593509613489872861811554563980635093679029128820836975800058947961698305192058752576982742954438379059673903636762067876388923207159000375368499730277578361164258601379559724821631189888852268020459862846646606296655634016828595366101655856399448518293459858787083749210348121079352590896106484001193617239009492576031974819278094260268116064130557343403977740810240040704176711301574874392315151307976029592739178243416691658596888300469871864021094293048404190994364156255405953999275930526460412677420942582016081892075843905174257079471445447692400296807996777164304844758930094801371788754860493064570631376438693563995780685040900391145044193672268452609157106185536349404438291531133454019052544093974787623417938154773104331297244824367869668985018308139165382752297454596610230247881313362288557272349493174994561685236458617479749981928062396090102936243404688768589240107763129094371687055621130151788307778364818551336198904652231497216547547851758092171461160434425393600757226624677623861004223829872281569288279564195384288272012030455097694448177406668598654203452342298829182464619830371505078335144258244589560161234807958609750539226722394286946857333057969226497699231412872324479601801046454683443836510356865341922474435025628928013780592502864666375864419044156830510212588758029030744669034137777743586163250518206616229534048476741334793739073022698489350610239040435262986812946235019460262202063146283599234427605838139832643409492289812754763905047 681005536822736854111875301368710751433362781781483702314869518355269593736147340805078747103750763570491480585273079183016121068247726546289602713344933049464551315858146808154086930453541767429770339400387295705569744305115572162151199567089388676874451330233690862639421630106470144698802290604362945513339482788117969444969896507080276030721161433186916095515784314405007325362745713413592369988133287728217900829195725081533704553295165369521963690160211595294355973972973426212248776935901625587459649449327413753234646047018532882228830750855294679405736703861519073464735688152918523117230288907265733116470192679292285069285358661490487995210412792576953003036138156261225563829083668191495245998614101879746356470119559612326331114236762412212052384745537259568256751109866389978195738534079554275521235923808291122755020194601079543913555833502568894201034462340263531730119031308387721576304435699319030826687071327375700970838649353189630016942511002073586755117257842931525557751964577901434347550567425636229548799316575567251310754121343516273095339173034166319937851240015320525879247858066545387549364365611721403919720533310806466945715163839807212014512343967470710357661643831831949210130909281007838539653623105138823575572875383712996138630608478601936253085335527275516921179396146851346809424771195392408957558426898771543150631089421013715646088725091302612951042416031201876743577215289964844162449299102326662243464464216986041177394255170671104446246110140851938212235800648655148583947273015164978153725829665060558405286566282931121612065972166845143005412729913360360027585787848569653202966112825169884142958205430669873767124368775687988784063943003678744336275064297322492289294645663142936865361581869236577568728978784410859898694922981255532522533681509103096174002298696344338685978641518497754562161937507203000773168764418576948011092995388851918171960133354958406276721804273326960764472842455821183108196040752558732774165672377138710274041608838741247705533657315181730890079252832883638501168852469164511471702865289223843054445724419358299701971477649876854752532951592770087166326543221762248699076222777310489176807590340747062261867372755727415947507258267031379750374391153972755221739472910484541231679142195856364556125642891842263282549025787330906267109932026372911296455736489750168132081777751344414092014953172649845062970722324255661141684117561540397017029589403724572683207360490647368356285643426916396724795339165337374178771161167640200195405401212944679031448826722184374660690096125824812129104454151740683838240258101759398918520504646956614925750110487145399709803615602075191919613952426008037926102733124063219522378425482313243964454379679940108694139537140613362613346720017345020480809542161537784611408407088651423026565554314765728663069372591249785630548065204079970258581704888915886689536897712012990613605359743319432726192848354289611062565189308738047462010439189013536650453768383753257042093882753496279700346997872910171414956077440952171122532651674394547522007586562238683202910675037582691269161608664822149868391057823115950340838273273724576602286474139008136398011179009705338835825035273496941543442244471915365579538064155639006054294336488200958357604608477603545868462205560198685311590699505223801319905532063942593942917856845232088400755082024346816230272586239036325164570660438893657895865637617346589606126085918160272655772086837564585344603534971 1101890105106056304795381215154575554513886894464514199013935392754389810073868198345432533985443460630058518615114621996583398709403364422258948517316163216412138922750287743266136128286075677596140542417070450144435416790920140838982992714535364361324914549105238079733036847063419149991672937583327942321946529973374025511499630663907473449891824665030582807616672812576361904367324835835296097137666431869163686478468744034974379740432899381812282247980643830824984340951802808307507269952017513377973967077969805072488699315560787448364738565712374589046281233426879660345127623289063672539739038487199777955805771594423144923844983134962583781687561523286065079154304379486270367309019195726363331030316248068879229440053618511830150370036672287804806198097199134736159223349038021382038426731069809932570430714435384472170718799333915353055054371806352855754257362632395702261808619288174270688434455525009380734729429328021539864238949216707186497625544984400469752423656136278834249419731421669500039286940420778868048799181899319232752251130719415551291152711131501873567402288476637819429844091588981140084704035878236395261607883740510709688239140141383008427752971652994423079101406552643558149717491572436533094203927078619881761709388309352090751518401381225983166428119104830877831553838152831544829060583612370523180171794565787891965694096279525109625545113973879532920358464605010446806206470941118248940591717909387899088364252884011892593944331338706110838688932313568959954833644648882158307531276185928049701015095556754924177434617348740479546204528335256015349213887077544575130639879564320515745072419611385705703863065439682394058116186084659244644891666733278431592474190200376768788902764428201082173307931481938829238540557137187667274468441811850286795605499714875421298646313767997362403247819453266549741638968927274621172282561859908460391684578933751869780257523666035125999084498553903075710507339096648980523570184657150051527041106535732219887531481700552802269514292408860760018900089808683697449130550774356570224279848032178281433505398322995061769847866573084013752908320092500364744687707480363628258801044408500378029075610800609908908473669411361432776102624368687236149822909447432614008823222120832662311031733091962848557319260130851755858581000606609000527378048090503468639859714230560408172785954462645988966407268323957821092563461502499077833342714449840866888893610498017621087398354854803623762239642702846923185208016586279956194853053243484105369662480684390126723849123530181151824994940884754906930476242906601176902810889478198092482516285331997515316895154680817668162412772708260728269018390717539171380121785668157194310001843420468017068785676924764476563808522158921501778729472314799617091039790042851146899965679438144598021127239551224346142819354519312181720651001447484659027170944996679015783908584767634120765393667521684251277529047258941842559781736856589805554181900349447962044054525610377934665954886977326151981916286152474366799244349452982626220227099851801216120661790014580982032093139657413062774239943809080394457951219057923908950588812500446970889233331472066105624508878241118211160304637074543396226886080982272230921460538590664634982308117080703823023980472896647702698972418148956714342335368539361579063491695314460800559147390893708829735548821097369514719623196478076760427557473385128677356127839680492873205360513523998412488415496329854398099367440018 1782895641928793158907256516523286305947249676245997901328804911109659403810015539150511281089194224200549999200387701179599519777651090968548551230661096265876690238608434551420223058739617445025910881817457745850005161096035713001134192281624753038199365879338928942372458477169889294690475228187690887835286012761491994956469527170987749480612986098217498903132457126981369229730070549248888467125799719597381587307664469116508084293728064751334245938140855426119340314924776234519756046887919138965433616527297218825723345362579320330593569316567669268452017937288398733809863311441982195656969327394465511072275964273715429993130341796453071776897974315863018082190442535747495931138102863917858577028930349948625585910173178124156481484273434700016858582842736394304415974458904411360234165265149364208091666638243675594925738993934994896968610205308921749955291824972659233991927650596561992264738891224328411561416500655397240835077598569896816514568055986474056507540913979210359807171695999570934386837507846415097597598498474886484063005252062931824386491884165668193505253528491958345309091949655526527634068401489957799181328417051317176633954303981190220442265315620465133436763050384475507359848400853444371633857550183758705337282263693065086890149009859827919419513454632106394752733234299682891638485354807762932137730221464559435116325185700538825271633839065182145871400880636212323549783686231083093103041017011714561331828717100997933771338586509377215284935042454420898167069445297537306891478549201093027854740925221815482582721183631671601158270500502101158354626616990904935158225667412890168948038532436555589846821270870352267825240554860347233428955609736957175928749254497699261078197410091344019038669513351175406807269535921598527173163364793105819318139181223978517472648612464341701089226460971764304303800906434477621945451326278485408402777574322603787952217657020993532275806302827230036474980181552470163631766225409708784301206778912870930161573090539294049975047949724042490908979342641567335950299403243521081695982713321402124487951122742353361471819344222960868505441271685270451911014250702125876957877267185810867205883201141356971170341042167088848723609882635718615900197300601405369230562695031317203542710875287819213113444903022694019141130026393939906794487980116876379936315450720310576304867732213990403058422221496607666155534183826754738975026832011381263905923199901742193770605715345450992118525286129763319910003355751617330373624214411124305565067881897334805755297950252365526485685037010579719059580697058341860741051147579957491401036789978954130242645265167963067872216388310335920188632343143547209306224518792220413832380268902781261033240056604704585257948059299534864392076192332144637571849332204388931511374086526796021047692793865990074805888727110561967351199066651564629285752649885594902473445482479647111378999027265003684003721895613231453622346926165327853016192339538461498694508293994131191708048769730822431682263284025384538214200426893934797342759751526195763642669376576819665235003814694995754043401552473902544326342276881039859291427085774171547491519805611074242022520057250823549996129672348040337770328325454187596500998602746303641036602453568904781381585081374251248567434623709155399653926068044585380383397227378403394502065247738940918136303903121716330949895782717113085592128133824022335251993477297839462811486599442158685144187583167418983443970974989 2884785747034849463702637731677861860461136570710512100342740303864049213883883737495943815074637684830608517815502323176182918487054455390807499747977259482288829161358722294686359187025693122622051424234528195994440577886955853840117184996160117399524280428444167022105495324233308444682148165771018830157232542734866020467969157834895222930504810763248081710749129939557731134097395385084184564263466151466545273786133213151482464034160964133146528186121499256944324655876579042827263316839936652343407583605267023898212044678140107778958307882280043857498299170715278394154990934731045868196708365881665289028081735868138574916975324931415655558585535839149083161344746915233766298447122059644221908059246598017504815350226796635986631854310106987821664780939935529040575197807942432742272591996219174140662097352679060067096457793268910250023664577115274605709549187605054936253736269884736262953173346749337792296145929983418780699316547786604003012193600970874526259964570115489194056591427421240434426124448267193965646397680374205716815256382782347375677644595297170067072655816968596164738936041244507667718772437368194194442936300791827886322193444122573228870018287273459556515864456937119065509565892425880904728061477262378587098991652002417177641667411241053902585941573736937272584287072452514436467545938420133455317902016030347327082019281980063934897178953039061678791759345241222770355990157172201342043632734921102460420192969985009826365282917848083326123623974767989858121903089946419465199009825387021077555756020778570406760155800980412080704475028837357173703840504068449510288865546977210684693110952047941295550684336310034661883356740945006478073847276470235607521223444698076029867100174519545101211977444833114236045810093058786194447631806604956106113744680938853938771294926232339063492474280425030854045439875361752243117733888138393868794462153256355657732475180687028658274890801381133112185487520649119144155336410066858835828247885448603150049104572239846852244562242132903250927879432450251033399429954017877651920262561353580405921456521065348423241667210796044882258349591777770816655701958182489505216678311594311245234958811941966880078814711578450281499712507004405852050020210048837983239385917152149865853742608379782061670764163153545774999711027000548907321866028207379848576175164950870984477653686676636392024829489820565487248097645329253816808369546461222130794816810399759814858004070200254615880764928832610243095211372337897286568477267654608410934730362581724932479147073782546678310679977895334625990056939964943037643862037058155583883553075310951645559540419848780736034629161018596648457650733861086380686346304460377608142382112323249278102025733529469061821756581458456366170805664646944254662889122247240078411339765964940619068820033417214420948708081629874149071850068099049288312923594882273918257354067247281232144392694786687935281250942872173296182128663021917658570374239887909460738562819604509126374003656708148583664179570177858905013444776346917423562986851377996979763331166591400647267096954352408816817641496282982938784293495938963768242015898274618518380753137083140347647028935491941761156434309422583733997214406436459827422459141336968276018910570649608604405565554270898951266407041858112113996261436583946959446888922692864195061212638632649747871852724219085845669518979195189846019685607209151012608121316978332336016847112966157097632603079497273381543338415007 4667681388963642622609894248201148166408386246956510001671545214973708617693899276646455096163831909031158517015890024355782438264705546359356050978638355748165519399967156846106582245765310567647962306051985941844445738982991566841251377277784870437723646307783095964477953801403197739372623393958709717992518555496358015424438685005882972411117796861465580613881587066539100363827465934333073031389265871063926861093797682267990548327889028884480774124262354683063664970801355277347019363727855791308841200132564242723935390040719428109551877198847713125950317108003677127964854246173028063853677693276130800100357700141854004910105666727868727335483510155012101243535189450981262229585224923562080485088176947966130401260399974760143113338583541687838523363782671923344991172266846844102506757261368538348753763990922735662022196787203905146992274782424196355664841012577714170245663920481298255217912237973666203857562430638816021534394146356500819526761656957348582767505484094699553863763123420811368812961956113609063243996178849092200878261634845279200064136479462838260577909345460554510048027990900034195352840838858151993624264717843145062956147748103763449312283602893924689952627507321594572869414293279325276361919027446137292436273915695482264531816421100881822005455028369043667337020306752197328106031293227896387455632237494906762198344467680602760168812792104243824663160225877435093905773843403284435146673751932817021752021687086007760136621504357460541408559017222410756288972535243956772090488374588114105410496946000385889342876984612083681862745529339458332058467121059354445447091214390100853641149484484496885397505607180386929708597295805353711502802886207192783449972699195775290945297584610889120250646958184289642853079628980384721620795171398061925431883862162832456243943538696680764581700741396795158349240781796229865063185214416879277197239727578959445684692837708022190550697104208363148660467702201589307787102635476567620129454664361474080210677662779140902219610191856945741836858775091818369349729357261398733616245274674982530409407643807701784713486555019005750763790863463041268566716208884615382174555578780122112440842013083323851249155753745539130223322389640124467950217510650243352469948612183467069396453483667601274784209066176239794140841053394488814116354008324256228512490615671181560782521418890626795083251711317173153403631829156008555783396378472603394700740010301502008628609785545705607999290214962373563005214728089514616942101482065732716499798244479059738234445024034912204796365014905914345049637637023284898384913184638113075284589865289905775802185685016743803906845549328932568646283077004633589992570823252598021974762381226030539135265790134173647079704640757991230562881856979088892234738454451629009922713852491736640116512827283204495754596808740436116423049134750613917598676244767868820730799549726928343523391722051691619284972838485404749804475589187245511586566579426370959433071113598640318082052426438971015346442854203243443227645203240852220905746602904192743406000543168220312502100769047404570861043048756885483110635772820003627533442984048790065872272942694214589669548992742765311152563981770624071767542731890647423923457744083271917055513024218513385787150635645150199833841665567267513650187504628532339830286150071267589563277886371590666008156627340802176619414761912302931611813741033173347860114794276171798828333712408315782776790662664692364987309389996 7552467135998492086312531979879010026869522817667022102014285518837757831577783014142398911238469593861767034831392347531965356751760001750163550726615615230454348561325879140792941432791003690270013730286514137838886316869947420681368562273944987837247926736227262986583449125636506184054771559729728548149751098231224035892407842840778195341622607624713662324630717006096831497924861319417257595652732022530472134879930895419473012362049993017627302310383853940007989626677934320174282680567792443652248783737831266622147434718859535888510185081127756983448616278718955522119845180904073932050386059157796089128439436009992579827080991659284382894069045994161184404879936366215028528032346983206302393147423545983635216610626771396129745192893648675660188144722607452385566370074789276844779349257587712489415861343601795729118654580472815397015939359539470961374390200182769106499400190366034518171085584723003996153708360622234802233710694143104822538955257928223109027470054210188747920354550842051803239086404380803028890393859223297917693518017627626575741781074760008327650565162429150674786964032144541863071613276226346188067201018634972949278341192226336678182301890167384246468491964258713638378980185705206181089980504708515879535265567697899442173483832341935724591396602105980939921307379204711764573577231648029842773534253525254089280363749660666695065991745143305503454919571118657864261764000575485777190306486853919482172214657071017586501904422205543867532182991990400614410875625190376237289498199975135182966252966778956296103032785592495762567220558176815505762307625127803955735956761367311538334260436532438180948189943490421591591954036750360189576650162677428390971196143893851320812397759130434221462624403017403878898889722039170916068426978003018031545628543101686395015238464929019828074175021821826012394680657157982108180919102555273145991701880835315103417168018395050848825587905589496260845955222850708451942439045543426455957702549810077230259782235018987754464172433989848992764738207542069402749159311279276385536507836028562936330864164873050207955153765815050633022140455240812085222418167067104887391233890374433357675800825025290731327970465323989411723034896644530320000237720699081335709334529335616935250196092047383336454973229329785569140552080395037721438220036531636077088665780622052545260175105567263187108081201137738640651729474485262372591765924933825525495556820701261823486613855745960223880055143794983806100426100427411903510578749720341127434528607060784670713592097817458883107044992801248971039694576988227936028775221696268659168142940600857421361726104865524539941474710347529217103933810865719970678917127712975630117144493549279817237291523663642708901461222216447596733687521626033146897627576698869088334053618456677259185332860700418916703304890370310265494899202849663205911599839650142738988153616974209575667784416838379554566223781357578045986604252209163170156940819314280420171633933203149444456056083147119599010622424381102348241089979587769644468733454282189723169331709759620959769197723399813387678684545039868421894929268758967395775458882323408584253026079777354937316577928234707072308998291193207805764757138327107251345916885420240193074423594868121990192716189916049151100248707425379627646448941212479299277175072764131784624490525004240413880009351559888022288933741107492777631499348242324360468236111254504134845180825374472880409393742161965746530647805003 12220148524962134708922426228080158193277909064623532103685830733811466449271682290788854007402301502892925551847282371887747795016465548109519601705253970978619867961293035986899523678556314257917976036338500079683332055852938987522619939551729858274971573044010358951061402927039703923427394953688438266142269653727582051316846527846661167752740404486179242938512304072635931861752327253750330627041997893594398995973728577687463560689939021902108076434646208623071654597479289597521302044295648234961089983870395509346082824759578963998062062279975470109398933386722632650084699427077101995904063752433926889228797136151846584737186658387153110229552556149173285648415125817196290757617571906768382878235600493949765617871026746156272858531477190363498711508505279375730557542341636120947286106518956250838169625334524531391140851367676720544008214141963667317039231212760483276745064110847332773388997822696670200011270791261050823768104840499605642065716914885571691794975538304888301784117674262863172052048360494412092134390038072390118571779652472905775805917554222846588228474507889705184834992023044576058424454115084498181691465736478118012234488940330100127494585493061308936421119471580308211248394478984531457451899532154653171971539483393381706705300253442817546596851630475024607258327685956909092679608524875926230229166491020160851478708217341269455234804537247549328118079796996092958167537843978770212336980238786736503924236344157025346638525926563004408940742009212811370699848160434333009379986574563249288376749912779342185445909770204579444429966087516273837820774746187158401183047975757412391975409921016935066345695550670808521300551332555713901079453048884621174421168843089626611757695343741323341713271361201693521751969351019555637689222149401079956977512405264518851259182003625700592655875763218621170743921438954211973244104316972152423188941608414274549101860856103073039376285009797859409506422925052297759729541681019994076087157214171551310470459897798128656683782625846794734601596982633887772098888668540675119152753110703545466740271808680751992668640320834056383785931318703853353789134375951720269565789469154555470116642838108614582577126219069528541946357286284654787950455231349324688179283141519084004646649575714984611239182295506025363281393133789526535554574044855892305601156396293234106042696524457889982191332912454911794055361303641270928375162303406428920196296831002763832115223641291665831879345358757357369105640828516926520452680231786073843934326851539844408948037121852371087903410007707163316089332214011512834413688406334381734452732805890763197163911789882268343848320259676461785750216887870353560671487950965573652091906874775310356372557313797816355981165862974438827296569378605122039132366031150498098256767470948413899301845687983623412457901699110746381917948337600277123510276084418011559718953166701137919191176138890071173851196619842982795791079841396408681743507398740651379604705046801789762538108509586090614357065278584345791468735182828621865374480057186382466575332252927841272271298492447217958539727593796753905005565041578971023308901866372198650125299022471569526986126920977472383461562272963831877532299870217754675269374629503512110129936619086635375979866825561199350934090372992647141296636445841011639107461222835399374187768411375831079888165978900690198908348503019795709243313089275497708328350905530675933673514537782788663186184404826658111517957194999 19772615660960626795234958207959168220147431882290554205700116252649224280849465304931252918640771096754692586678674719419713151768225549859683152431869586209074216522618915127692465111347317948187989766625014217522218372722886408203988501825674846112219499780237621937644852052676210107482166513418166814292020751958806087209254370687439363094363012110892905263143021078732763359677188573167588222694729916124871130853659473106936573051989014919735378745030062563079644224157223917695584724863440678613338767608226775968230259478438499886572247361103227092847549665441588172204544607981175927954449811591722978357236572161839164564267650046437493123621602143334470053295062183411319285649918889974685271383024039933400834481653517552402603724370839039158899653227886828116123912416425397792065455776543963327585486678126327120259505948149535941024153501503138278413621412943252383244464301213367291560083407419674196164979151883285626001815534642710464604672172813794800822445592515077049704472225104914975291134764875215121024783897295688036265297670100532351547698628982854915879039670318855859621956055189117921496067391310844369758666755113090961512830132556436805676887383228693182889611435839021849627374664689737638541880036863169051506805051091281148878784085784753271188248232581005547179635065161620857253185756523956073002700744545414940759071967001936150300796282390854831572999368114750822429301844554255989527286725640655986096451001228042933140430348768548276472925001203211985110723785624709246669484774538384471343002879558298481548942555797075206997186645693089343583082371314962356919004737124723930309670357549373247293885494161230112892505369306074090656103211562049565392364986983477932570093102871757563175895764219097400650859073058726553757649127404097988523140948366205246274420468554720420730050785040447183138602096112194081425023419527425569180643489249589652519028874498123888201872915387355670352378147903006211671980726563420532044859763981628540730242132817116411147955059836643727366335190175957174848047979819951504689260946732108403071135973553802200623794086649107016808071773944665439011552543018825156957023359528988827792443663133905313905096684393517953669392182929185107950692952048406023888617670854700939896845667762367947694155524835810932421945214184564256992794081387528382689822176915286651302871630025153169299414113592650434707090778126533300966928228340254445691853651704025655601837497037626055759400502552341175206066928944338423963258981506414971368855458600629079661629219669829971010455000508412287129026790999740770442463628030650393620875746491620618525637894747792883789794970023991002854150698736073531350405078678549282209051368324590173609848837461459064882627085190886424030256900231155186029993607849367186590821089405091158487178548684042329161206589481056647412847540449940329421875924068154298707106783675347494858960555728450728417420401200560841777684093605571851900448218054931799776338980004939206994164592733210213367687702965448139709825162416391509843213511468572189744663962687462232040496215847031346218412138836622326900494310337938419084360748695607234378325102248924464302704849212179455770560564157039683297057008544861926615291514923752303204360213954757366172583015477248502034339080418026768943085387053490938384636295599531158812258936380071493768175330460578221197282244127288486874812437517822068796587016785180068518695363157261543595578146988623858048605000002 31992764185922761504157384436039326413425340946914086309385946986460690730121147595720106926043072599647618138525957091307460946784691097969202754137123557187694084483911951114591988789903632206105965802963514297205550428575825395726608441377404704387191072824247980888706254979715914030909561467106605080434290405686388138526100898534100530847103416597072148201655325151368695221429515826917918849736727809719270126827388050794400133741928036821843455179676271186151298821636513515216886769159088913574428751478622285314313084238017463884634309641078697202246483052164220822289244035058277923858513564025649867586033708313685749301454308433590603353174158292507755701710188000607610043267490796743068149618624533883166452352680263708675462255848029402657611161733166203846681454758061518739351562295500214165755112012650858511400357315826256485032367643466805595452852625703735659989528412060700064949081230116344396176249943144336449769920375142316106670389087699366492617421130819965351488589899367778147343183125369627213159173935368078154837077322573438127353616183205701504107514178208561044456948078233693979920521506395342551450132491591208973747319072886536933171472876290002119310730907419330060875769143674269095993779569017822223478344534484662855584084339227570817785099863056030154437962751118529949932794281399882303231867235565575792237780184343205605535600819638404159691079165110843780596839688533026201864266964427392490020687345385068279778956275331552685413667010416023355810571946059042256049471349101633759719752792337640666994852326001654651427152733209363181403857117502120758102052712882136322285080278566308313639581044832038634193056701861787991735556260446670739813533830073104544327788446613080904889167125420790922402828424078282191446871276805177945500653353630724097533602472180421013385926548259068353882523535066406054669127736499577992369585097663864201620889730601196927578157925185215079858801072955303971401522407583414608132016978153179851200702030615245067831737685683438461967932172809844946946936648360626623842014057435653869811407782234554193292434407483163400594003092648518792800686918970545426522812828683544297909086501242519896482222903463046495615749469213839895901148183397730712067900812373784944543495243477352558933337820341836295703338347974090792547368126243420688290978573208520757345568154483043151490747026047562228762452081767804229342090531746683365888150482706789487717061138329291887638745861309698544311707757461264944415939213292488815303182310140473488609666341522201058913865008215575603218359005011253604856152034365032128073608552382383815689549684630061227638115229700452788604367586606427092021893029644122934300958243099900529982406151259275420863792948165325251326826278836277225162359638999865284847588560353505057789024236667665741619108288591803029330795878050217452932152008486165858426059950376485414050136694618521902268617021043543637568763935001980533643955616795583179381044026806728969532273102319300827724752981549793931178560345245013375217693568654954656319996215615303504311794708294249304758139732633376231906059351916909442393262615067805884503624124720493991288831770189651839232122837120871560829356878762616601884666144427264413334296833041392742152449841038447852968429453410673910239721832894502577492097518434930533000027347755902573656341309361268420105630747147084196118125526793319777124937922315856002192209900940050206781762551815281969566562195001 51765379846883388299392342643998494633572772829204640515086063239109915010970612900651359844683843696402310725204631810727174098552916647828885906568993143396768301006530866242284453901250950154293955569588528514727768801298711803930596943203079550499410572604485602826351107032392124138391727980524771894726311157645194225735355269221539893941466428707965053464798346230101458581106704400085507072431457725844141257681047523901336706793917051741578833924706333749230943045793737432912471494022529592187767519086849061282543343716455963771206557002181924295094032717605808994493788643039453851812963375617372845943270280475524913865721958480028096476795760435842225755005250184018929328917409686717753421001648573816567286834333781261078065980218868441816510814961053031962805367174486916531417018072044177493340598690777185631659863263975792426056521144969943873866474038646988043233992713274067356509164637536018592341229095027622075771735909785026571275061260513161293439866723335042401193062124472693122634317890244842334183957832663766191102374992673970478901314812188556419986553848527416904078904133422811901416588897706186921208799246704299935260149205442973738848360259518695302200342343258351910503143808364006734535659605880991274985149585575944004462868425012324088973348095637035701617597816280150807185980037923838376234567980110990732996852151345141755836397102029258991264078533225594603026141533087282191391553690068048476117138346613111212919386624100100961886592011619235340921295731683751502718956123640018231062755671895939148543794881798729858424339378902452524986939488817083115021057450006860252594750636115681560933466538993268747085562071167862082391659472008720305205898817056582476897881549484838468065062889639888323053687497137008745204520404209275934023794301996929343808022940735141434115977333299515537021125631178600136094151156027003561550228586913453854139918605099320815780030840572570750211179220858310183073503134146835140176876742134808391930944163432361478979692745520082189334267362985802121794984628180578128531275004167762272882543755788356393916228494132270417402074866593184231812239461989370583479836188212533125701530164376425210387319587856564449285141652143025003851841135446136735956518483228485884440340911239720506627493345177647228125283562158655049540162207630949070980800750123807408648439784508196320790161139640212663469542859894337530309018760086937811580004134410815143318898635366917943398146363862039719517774686405603368379198194798903786672037768741102568271295561192031029924320008723987890347385796010994375298615662395682521694484298874004434215187579377854111427910199724443791458518285342500623372298108322672216510009611424490703592254988720734485746420033356211675357083179067432411192353246849232471438409649758596216276202785351708070780314878072859676743643418500157782354027932554320157133166734051832908909097250346972630686037422244104479346448028607552385544403834850514979157383006811668176526437695052511041092440684515242070888385507661404885060907080123526846064660178302765736352290924141280650976551871469998558806553662254847861477623363763413118881949226969418455591536619401831295002683401277911244126413887307478528499957659351016716538657046996150108325032856515696355002768533828700679182807219947993515876733814034461691812286284135974067424516639821846641302912991274372682992937964311141845921524939101036070710905264097311750377340698803905827615167195003 83758144032806149803549727080037821046998113776118726824472010225570605741091760496371466770726916296049928863730588902034635045337607745798088660706116700584462385490442817356876442691154582360399921372552042811933319229874537199657205384580484254886601645428733583715057362012108038169301289447631376975160601563331582364261456167755640424788569845305037201666453671381470153802536220227003425922168185535563411384508435574695736840535845088563422289104382604935382241867430250948129358263181618505762196270565471346596856427954473427655840866643260621497340515769770029816783032678097731775671476939643022713529303988789210663167176266913618699829969918728349981456715438184626539372184900483460821570620273107699733739187014044969753528236066897844474121976694219235809486821932548435270768580367544391659095710703428044143060220579802048911088888788436749469319326664350723703223521125334767421458245867652362988517479038171958525541656284927342677945450348212527786057287854155007752681652023840471269977501015614469547343131768031844345939452315247408606254930995394257924094068026735977948535852211656505881337110404101529472658931738295508909007468278329510672019833135808697421511073250677681971378912952038275830529439174898813498463494120060606860046952764239894906758447958693065856055560567398680757118774319323720679466435215676566525234632335688347361371997921667663150955157698336438383622981221620308393255820654495440966137825691998179492698342899431653647300259022035258696731867677742793758768427472741651990782508464233579815538647207800384509851492112111815706390796606319203873123110162888996574879830914681989874573047583825307381278618773029650074127215732455391045019432647129687021225669996097919372954230015060679245456515921215290936651391681014453879524447655627653441341625412915562447501903881558583890903649166245006190763278892526581553919813684577318055760808335700517743358188765757785830069980293813614154475025541730249748308893720287988243131646194047606546811430431203520651302199535795647068741921276541204752373289061603416142693951538022910587208662901615433817996077959241703024612926380959916010002649016896077423610616665618945106869542491319610944900891121356864899752989318843867448024419295602270828983836154717073065560831165519483523828621910132745842087530333874369759271779323332328165994007938991239472280908165687774892231994941662141759651109291833621177468154617117604631035959773696209831036892225171738263829482443866868312795137408091392601975220078881576056880961902714232088838185016939563493565744801022247980154767696760714649768092851256388249904737264007915339066025429424896580062885871948927715394191137966795150810967854524391233574661139980009906610212981521536926683909457903709636354712885849097756285998210112101274065227022019373812399423166664662706074439296550375235286179941040486015559226684428318322959233944965494532954654443287648116915211963609532919188359451646098158538427033618397146058710797371811868817193666065036002066945852906418260278600648778481502384656393918069240664085632435529955734691604103374790712613014171757303870885978831219003385573351689912446880368389591483134234806238398782804955770766070095130384623803778281129872953880037542850477482697554144207971197987239374589422529052842496093368831332469392224812313631891876641080857949183115061408543738421456879111063491104461623046462861416892072903115165037361957159103250619187797181729390004 135523523879689538102942069724036315680570886605323367339558073464680520752062373397022826615410759992452239588935220712761809143890524393626974567275109843981230686496973683599160896592405532514693876942140571326661088031173249003587802327783563805386012218033219186541408469044500162307693017428156148869886912720976776589996811436977180318730036274013002255131252017611571612383642924627088932994599643261407552642189483098597073547329762140305001123029088938684613184913223988381041829757204148097949963789652320407879399771670929391427047423645442545792434548487375838811276821321137185627484440315260395559472574269264735577032898225393646796306765679164192207211720688368645468701102310170178574991621921681516301026021347826230831594216285766286290632791655272267772292189107035351802185598439588569152436309394205229774720083843777841337145409933406693343185800702997711746457513838608834777967410505188381580858708133199580601313392194712369249220511608725689079497154577490050153874714148313164392611818905859311881527089600695610537041827307921379085156245807582814344080621875263394852614756345079317782753699301807716393867730984999808844267617483772484410868193395327392723711415593936033881882056760402282565065098780779804773448643705636550864509821189252218995731796054330101557673158383678831564304754357247559055701003195787557258231484487033489117208395023696922142219236231562032986649122754707590584647374344563489442254964038611290705617729523531754609186851033654494037653163409426545261487383596381670221845264136129518964082442089599114368275831491014268231377736095136286988144167612895856827474581550797671435506514122818576128364180844197512156518875204464111350225331464186269498123551545582757841019292904700567568510203418352299681855912085223729813548241957624582785149648353650703881617881214858099427924774797423606326857430048553585115470042271490771909900726940799838559138219606330356580281159514671924337548528675877084888485770462422796635062590357479968025791123176723602840636466898781449190536905904721782880904564065771178415576495293811266981124891395747704235398152825834887256425165842949286593482485205108610549312146829995370317256862079176175394186032773499889903604830454290004183980937778830756713424177065956793572188324510697130751953905472291400891627692541505318830252580073456135574642447723499435793071069305327987555701537801556479289960128051920558989048158751528419774354858409063127774435038589033777983347257130272471681174335602890296388647257847622678625152257463906263118762505025663551383913130597033242355453383359156397171462577150130392684119924843385769450493935629149340371521404157291428338766489246289467367320977465948881937166916128700744392356633014877748602040992636971142047547066132698330227724407859870697490341429807371081883179738044737522382818082715050533017640207873594806172692393418480151231868331195312467163640691865531752596261659992217085304732763286496613137695810040430065322585148492424322909909634350580278072955331360567823145339507728902008348449316572220834977016376556576810606711243475573373349519166676426605165348509342594632122267522578659330902471905008993314429237489639676694049082184653377573658884581463129297846411610927033692958802515554069840562973966521068075268605336272790489609245565146503853916624599916027850708505374589004961702711456729695829562104001455415603468967987800517928143614020429134673707536443949423093624796896585007 219281667912495687906491796804074136727569000381442094164030083690251126493154133893394293386137676288502168452665809614796444189228132139425063227981226544565693071987416500956037339283560114875093798314692614138594407261047786203245007712364048060272613863461952770256465831056608200476994306875787525845047514284308358954258267604732820743518606119318039456797705688993041766186179144854092358916767828796970964026697918673292810387865607228868423412133471543619995426780654239329171188020385766603712160060217791754476256199625402819082888290288703167289775064257145868628059853999234917403155917254903418273001878258053946240200074492307265496136735597892542188668436126553272008073287210653639396562242194789216034765208361871200585122452352664130764754768349491503581779011039583787072954178807132960811532020097633273917780304423579890248234298721843442812505127367348435449681034963943602199425656372840744569376187171371539126855048479639711927165961956938216865554442431645057906556366172153635662589319921473781428870221368727454882981279623168787691411176802977072268174689901999372801150608556735823664090809705909245866526662723295317753275085762101995082888026531136090145222488844613715853260969712440558395594537955678618271912137825697157724556773953492113902490244013023167413728718951077512321423528676571279735167438411464123783466116822721836478580392945364585293174393929898471370272103976327898977903194999058930408392789730609470198316072422963408256487110055689752734385031087169339020255811069123322212627772600363098779621089297399498878127323603126083937768532701455490861267277775784853402354412465479661310079561706643883509642799617227162230646090936919502395244764111315956519349221541680677213973522919761246813966719339567590618507303766238183693072689613252236226491273766566266329119785096416683318828423963668612517620708941080166669389855956068089965661535276500356302496408372088142410351139808485538492023554217607334636794664182710784878194236551527574572602553607927123491938666434577096259278827181262987633277853127374594558270446831834177568333554297363138053394230785076590281038092223909202603485134222004687972922763495614315424126404570495786339086923894856754803357819773133871632005357074433027542408013220673866637749155676216614275782527382424146733715222875379688589524359396788463740636455662490675265351977471015762447933532743218621049611237343754180166516313368646024405390818182759337605471930814205516247176739574139339993969473010981688990622477926504254682033219366620495207600690042603114877478875398055490335608151055917111821230670001386780934024662107393684789559961058574236951584290029240356054160680384256262518131945320473273170741577268680754298966845996399285528724902094874851683901779018547427984010406069982798764406656829390455695579161211402185088892522011600908252926387814635292188251620102908469554827565140277961696595346308819400713176871955826618223921122738142711296234237074048462468643859289796134778726828016645314075022277213474241405618108377680489850833972966138904217680462189012340562445935079676748140231779690598362469219395321425851125653095930349243349352273398584797563472295878075476854037955419447668789269205266907578976284564807071235809279998251623984770945164508307449858027865325632985702614396478973246141436913547919727349586232538188076764120000468117286441215064946520065092014450661934820216517135594172035664695547200042281421978625975011 354805191792185226009433866528110452408139886986765461503588157154931647245216507290417120001548436280954408041601030327558253333118656533052037795256336388546923758484390184555198235875965647389787675256833185465255495292221035206832810040147611865658626081495171956797874300101108362784687324303943674714934427005285135544255079041710001062248642393331041711928957706604613378569822069481181291911367472058378516668887401771889883935195369369173424535162560482304608611693878227710213017777589914701662123849870112162355655971296332210509935713934145713082209612744521707439336675320372103030640357570163813832474452527318681817232972717700912292443501277056734395880156814921917476774389520823817971553864116470732335791229709697431416716668638430417055387560004763771354071200146619138875139777246721529963968329491838503692500388267357731585379708655250136155690928070346147196138548802552436977393066878029126150234895304571119728168440674352081176386473565663905945051597009135108060431080320466800055201138827333093310397310969423065420023106931090166776567422610559886612255311777262767653765364901815141446844509007716962260394393708295126597542703245874479493756219926463482868933904438549749735143026472842840960659636736458423045360781531333708589066595142744332898222040067353268971401877334756343885728283033818838790868441607251681041697601309755325595788787969061507435393630161460504356921226731035489562550569343622419850647753769220760903933801946495162865673961089344246772038194496595884281743194665504992434473036736492617743703531386998613246403155094140352169146268796591777849411445388680710229828994016277332745586075829462459638006980461424674387164966141383613745470095575502226017472773087263435054992815824461814382476922757919890300363215851461913506620931570876819011640922120216970210737666311274782746753198761092218844478138989633751784859898227558861875562262217300194861634627978418498990632299323157462829572082893484419525280434645133581513256826909007542598393676784650726332575133333358545449815733085984770514182417193145772973846942125645444549458445693110842288792383610911477537463258066858489196967619427113298522234910325609685741383266649671961733272956668356644706962650227423875815986294853263784255832190286630660209937480186913745027736432854715547625342915416885007419776939470244599315278903385990111058423046776343750003635070544775100339571365395674739155564472120174444179745676591822465379906969403239294230523996704411811675143808613871985379269735774126933307185476830526758326363195068266666261392005995088732691061534415073508992693247151517173618144586950779454240053896687723577323105694186531784392927169630545729885452922786422155107908493397381498691323479011277034130765894731845993731448845151245758211734813929853496254748086636761537578758899256139707471710604726651441270566595688230098360944013521388620786695896335590428860236038174351153309438531948043703528653886024639324433930047114478527791229007782220457688636462367225592147977608574042064550957616106582498199283289538359739194696838745589151169157178555250121489750946367024967634567904664020483247920618509008574251824178407578111992709785517752170903120140072825242448153786730036876822696175734104928768082513805693825333919131029375525126633201598423475311859961625477100058061513463947578058091607127193038466831457197813116003319066401935668560982438462452748360131156023306709372231991149465375046775522560018 574086859704680913915925663332184589135708887368207555667618240845182773738370641183811413387686112569456576494266839942354697522346788672477101023237562933112616830471806685511235575159525762264881473571525799603849902553268821410077817752511659925931239944957124727054340131157716563261681631179731200559981941289593494498513346646442821805767248512649081168726663395597655144756001214335273650828135300855349480695585320445182694323060976598041847947296032025924604038474532467039384205797975681305374283910087903916831912170921735029592824004222848880371984677001667576067396529319607020433796274825067232105476330785372628057433047210008177788580236874949276584548592941475189484847676731477457368116106311259948370556438071568632001839120991094547820142328354255274935850211186202925948093956053854490775500349589471777610280692690937621833614007377093578968196055437694582645819583766496039176818723250869870719611082475942658855023489153991793103552435522602122810606039440780165966987446492620435717790458748806874739267532338150520303004386554258954467978599413536958880430001679262140454915973458550965110935318713626208126921056431590444350817789007976474576644246457599573014156393283163465588403996185283399356254174692137041317272919357030866313623369096236446800712284080376436385130596285833856207151811710390118526035880018715804825163718132477162074369180914426092728568024091358975727193330707363388540453764342681350259040543499830231102249874369458571122161071145033999506423225583765223301999005734628314647100809336855716523324620684398112124530478697266436106914801498047268710678723164465563632183406481756994055665637536106343147649780078651836617811057078303116140714859686818182536821994628944112268966338744223061196443642097487480918870519617700097199693621184129055238132195886783236539857451407691466065581622724760831362098847930713918454249754183626951841223797493800551164131036350506641400983439131643001321595637111091754162075098827844366391451063460535117170996230392577849824513799767935641709094560267247758147460270320520367532117388957479622117791999990473980342186614395988067818501350290767691800452753649117986495157673821224001165509671220167748072359880563213399510320470000557747447991651927696811798240203507304526847686635863130359303518960237139694359058138292264696009301298867033063055915359048480786323775024247359512451568603287993721389182602739428919322080785488820468585136494774581802985378900217444810477700736278551151669113281624853674369892213700631187989218696197147253533963885110869781138870881393144223026669685470990620813923917152903954552169249058173139029613857746297814274689984215772140447087850014801992403584868106895428278650070666062252990290325007676319659490796826720845415350624169793186195745219999836295019154743466151993274338060467541892560603126738252349523492983502865390549195633624297090341523461475868390556831384483170554022615403903870321752575008762782035730164284188526990259872867072016592467363290383870906222999885787516305956575724484262988050117262504498643412377300934601491731603113634926869629982726057623330103787299985446334373573714439357817601176451806162909556182081395827647757158095492272911237422991996944455798980740541176164577362512057317810104864295537682974984661066924056461014474358104450346199498427011867305407677839665381115230951457665930402444534131348455733652996889124387568576648291617478745036927538349507656468754148535029 928892051496866139925359529860295041543848774354973017171206398000114420983587148474228533389234548850410984535867870269912950855465445205529138818493899321659540588956196870066433811035491409654669148828358985069105397845489856616910627792659271791589866026452296683852214431258824926046368955483674875274916368294878630042768425688152822868015890905980122880655621102202268523325823283816454942739502772913727997364472722217072578258256345967215272482458592508229212650168410694749597223575565596007036407759958016079187568142218067240102759718156994593454194289746189283506733204639979123464436632395231045937950783312691309874666019927709090081023738152006010980428749756397106961622066252301275339669970427730680706347667781266063418555789629524964875529888359019046289921411332822064823233733300576020739468679081310281302781080958295353418993716032343715123886983508040729841958132569048476154211790128898996869845977780513778583191929828343874279938909088266028755657636449915274027418526813087235772991597576139968049664843307573585723027493485349121244546022024096845492685313456524908108681338360366106557779827721343170387315450139885570948360492253850954070400466384063055883090297721713215323547022658126240316913811428595464362633700888364574902689964238980779698934324147729705356532473620590200092880094744208957316904321625967485866861319442232487670157968883487600163961654252819480084114557438398878103004333686303770109688297269050992006183676315953733987835032234378246278461420080361107583742200400133307081573846073348334267028152071396725370933633791406788276061070294639046560090168553146273862012400498034326801251713365568802785656760540076511004976023219686729886184955262320408554294767716207547323959154568684875578920564855407371219233735469162010706314552755005874249773118007000206750595117718966248812334821485853050206576986920347670239109652411185813716786059711100746025765664328925140391615738454800464151167720004576173687355533472977947904707890369542659769389907177228576157088933101294187158910293353232528661642687513666140505964331083125066667250445683584822630978998006899545355964608357626180997420373076231285017392584146833686906892937869839709805632837231570044217283120227981623263977946780960596054072393793935187057624116050044104331255393091855241984401053709149703429078238337277662371194262434470897382198071023703262455203673832768821728753968135103658477645257608994912764882171366404268365285869620684104708224732982962963344257090238725659749161949474758121296404173027674011860327080179136447400262887388232955717731219886064129806617164304421128170313836008952593269667754434021391597795678402303924840015019645347722289037790893317583386558564063443751681613804018953353790256691558566839146799469321038944407480033929689791273902830102913530853096959723681600032313731464903790794059579191095488910139647145685711128219357811458819417067422657521707332053935851914025281228894787421360164094331303005518051101874854237050155999752751096498370977494361558370507533340590845486249400552042858382607074139680190642900760292190176991119733672424648297738355204649466817621494332948366391853000630213741021548891866913579818660278235565098153685576778726981332621676916275281093345445025863011635438783426567058500111294268522479936326334319729927446257559940475814883465769446792574153697782914863743518447853197750391402213979327586840316936779447640785454409159529498973031515529671095047 1502978911201547053841285193192479630679557661723180572838824638845297194721957789658039946776920661419867561030134710212267648377812233878006239841731462254772157419428003555577669386195017171919550622399884784672955300398758678026988445545170931717521105971409421410906554562416541489308050586663406075834898309584472124541281772334595644673783139418629204049382284497799923668081824498151728593567638073769077478060058042662255272581317322565257120429754624534153816688642943161788981429373541277312410691670045919996019480313139802269695583722379843473826178966747856859574129733959586143898232907220298278043427114098063937932099067137717267869603975026955287564977342697872296446469742983778732707786076738990629076904105852834695420394910620619512695672216713274321225771622519024990771327689354430511514969028670782058913061773649232975252607723409437294092083038945735312487777716335544515331030513379768867589457060256456437438215418982335667383491344610868151566263675890695439994405973305707671490782056324946842788932375645724106026031880039608075712524621437633804373115315135787048563597311818917071668715146434969378514236506571476015299178281261827428647044712841662628897246691004876680911951018843409639673167986120732505679906620245395441216313333335217226499646608228106141741663069906424056300031906454599075842940201644683290692025037574709649744527149797913692892529678344178455811307888145762266643458098028985120368728840768881223108433550685412305109996103379412245784884645664126330885741206134761621728674655410204050790352772755794837495464112488673224382975871792686315270768891717611837494195806979791320856917350901675145933306540618728347622787080297989846026899814949138591091116762345151659592925493312907936775364206952894852138104255086862107906008173939134929487905313893783443290452569126657714877916444210613881568675834851061588693359406594812765558009857204901297189896700679431781792599177586443465472763357115667927849430632300822314296158953830077776940386137569806425981602732869229828868004853620480286809102957834186508038081720040604688785042445674058802973165612402887613174465958648393872797873126725349271512550257968057688072402609090007457877992717794783443727603590228539370711969598708657407852312597301239713905310751913174463634774353328994936343459192001414399438379537204310725427109621482951683705973095271062774906772277120762543117936570874532577799726043097815381350018666140986071350664769838128915185925469261514115013370371863579334119054163175389309285622869224821265394290965290006228539133768781377178744400905357054750620541081457325082722483085067125732299281612180319205872485662618076065287102869660149714692622659000213011665208634729506004671904129026629673449747488385287684562150093490832130603225253929526086293057573569065524127435020191223492592916858203156140317552562693960879459335280769982801469742819287327209973898807140692261354669339755784347033803903550203395894258615491532508310974741926253642623363043134967404593977380149074676464109065075108474299517814547357026019451440614792134632363405825103860749716398482271627842142504634913151995068047387724209454177082019903931105073948309407466417436331057371064922999770723925788420657656816457257922807537920329445543647722104741475095955335446536397340808677834377792457058367487682188873447286457955268928734372529673920892387329098847135866976216711227885513427739258264199446087067848480687984283819630076 2431870962698413193766644723052774672223406436078153590010031036845411615705544938132268480166155210270278545566002580482180599233277679083535378660225361576431698008384200425644103197230508581574219771228243769742060698244248534643899073337830203509110971997861718094758768993675366415354419542147080951109814677879350754584050198022748467541799030324609326930037905600002192191407647781968183536307140846682805475424530764879327850839573668532472392912213217042383029338811353856538578652949106873319447099430003936075207048455357869509798343440536838067280373256494046143080862938599565267362669539615529323981377897410755247806765087065426357950627713178961298545406092454269403408091809236080008047456047166721309783251773634100758838950700250144477571202105072293367515693033851847055594561422655006532254437707752092340215842854607528328671601439441781009215970022453776042329735848904592991485242303508667864459303038036970216021407348810679541663430253699134180321921312340610714021824500118794907263773653901086810838597218953297691749059373524957196957070643461730649865800628592311956672278650179283178226494974156312548901551956711361586247538773515678382717445179225725684780336988726589896235498041501535879990081797549327970042540321133760016119003297574198006198580932375835847098195543527014256392912001198808033159844523270650776558886357016942137414685118681401293056491332596997935895422445584161144746462431715288890478417138037932215114617227001366039097831135613790492063346065744487438469483406534894928810248501483552385057380924827191562866397746280080012659036942087325361830859060270758111356208207477825647658169064267243948718963301158804858627763103517676575913084770211458999645411530061359206916884647881592812354284771808302223357337990556024118612322726694140803737678431900783650041047686845623963690251265696466931775252821771409258932469059005998579274795916916002043215662365008356922184214916041243929623931077120244101536786165773800262200866844199620436709776044747035002138691665970524016026915146973712815470745645347852648544046051123729755452292891357643625604144610409787158530430567006020053795293499801580556529942842114891374979295546959847167683625555026353487944886710456520993975947545489618003906384991095174900962934867963218567966029746420850178327860245710564102867457775541588387798303883917422581088171166294766037361975950953531364846690539009636236277371300706810294114900837507390339715950639458813019894150202244477078357627462102304993868216112650147430582027042252495277254618045469142675939396656169610134462132125243118880427158245761746210892796921076078325568949366614340597470281341020379990127117889305497436981660449893530595051767198792949756353517933045583027240004179943854523708949562811871075010705287859215877566960403671979054980531979914905092625230589668059931111612141885056368369474927915668512597962177098786029390966229798213968686723275607698372315032798337624756058352946794538026362076616780490692779362795886063902964954874510633046971642405665953960548918366590215408626525580294982777533123698015280851869450070906919925580497709284379969616562380336090601307177712233644952653965815222987285077714566622469218608576549450907121042334573091738351268252563783341080982431148671799975207249603969016333667142997564305238714618307963497072339216733250529422626517287393417439340240526849238538080955544298068202450207186899049653855246597347453719499813490725123 3934849873899960247607929916245254302902964097801334162848855675690708810427502727790308426943075871690146106596137290694448247611089912961541618501956823831203855427812203981221772583425525753493770393628128554415015998643007212670887518883001135226632077969271139505665323556091907904662470128810487026944712987463822879125331970357344112215582169743238530979420190097802115859489472280119912129874778920451882953484588807541583123420890991097729513341967841576536846027454297018327560082322648150631857791100049856071226528768497671779493927162916681541106552223241903002654992672559151411260902446835827602024805011508819185738864154203143625820231688205916586110383435152141699854561552219858740755242123905711938860155879486935454259345610870763990266874321785567688741464656370872046365889112009437043769406736422874399128904628256761303924209162851218303308053061399511354817513565240137506816272816888436732048760098293426653459622767793015209046921598310002331888184988231306154016230473424502578754555710226033653627529594599021797775091253564565272669595264899364454238915943728099005235875961998200249895210120591281927415788463282837601546717054777505811364489892067388313677583679731466577147449060344945519663249783670060475722446941379155457335316630909415232698227540603941988839858613433438312692943907653407109002784724915334067250911394591651787159212268479314985949021010941176391706730333729923411389920529744274010847145978806813438223050777686778344207827238993202737848230711408613769355224612669656550538923156893756435847733697582986400361861858768753237042012813880011677101627951988369948850404014457616968515086415168919094652269841777533206250550183815666421939984585160597590736528292406510866509810141194500749129648978761197075495442245642886226518330900633275733225583745794567093331500255972281678568167709907080813343928656622470847625828465600811344832805774120903340405559065687788703976814093627687395096694434235912029386216798074622576497025798029698213650162182316841428120294398839753844894920000594193102279848603182039156582127771164334444237335337031702428577310222812674771704896525654413926593166626526929828042493100082949063051698156049854625561618272821136931672490300685060364687917144198275411758697588396414614868245619876393031600804099749845114671319437711978502305837312745899113225413505400374264794144261565828812268748228074293907964627109884168814077097343804625675464919503648376411066615409296941935080075671505991193370997833965884327987270275825536739867649911477316542648909010759148904478530424950987313206533030600173631047699327219071293615280006143204057868230978794659803342767003638456055414220758965647151674283108893743606716975833522455761025422062072212700689751668329142208271099656302703205613930541788741963860017977241044579107967000106128585218147447871216071429164704579017247828810208685651314067704996386113239364865036938906230041392615363482719348836701887828151952611562286070534673051358706744335402725839021031307558932254659707723435751470741062434848436181137572434645977020909774912165487103840384712619166469389191553422640213919293121611630427723814810761354794253548883759039763532394751495150897679840283531576320174832909462992229908195609191060101703670526526078870776541450303204939415552731007951675398683031171676675451179261212664019708484691555251659923091360232627855948085673947931761009296087963634926157313853301333665195934407484097310355199 6366720836598373441374574639298028975126370533879487752858886712536120426133047665922576907109231081960424652162139871176628846844367592045076997162182185407635553436196404406865875780656034335067990164856372324157076696887255747314786592220831338735743049967132857600424092549767274320016889670957567978054527665343173633709382168380092579757381200067847857909458095697804308050897120062088095666181919767134688428909119572420910974260464659630201906254181058618919875366265650874866138735271755023951304890530053792146433577223855541289292270603453519608386925479735949145735855611158716678623571986451356926006182908919574433545629241268569983770859401384877884655789527606411103262653361455938748802698171072433248643407653121036213098296311120908467838076426857861056257157690222719101960450534664443576023844444174966739344747482864289632595810602292999312524023083853287397147249414144730498301515120397104596508063136330396869481030116603694750710351852009136512210106300571916868038054973543297486018329364127120464466126813552319489524150627089522469626665908361095104104716572320410961908154612177483428121705094747594476317340419994199187794255828293184194081935071293113998457920668458056473382947101846481399653331581219388445764987262512915473454319928483613238896808472979777835938054156960452569085855908852215142162629248185984843809797751608593924573897387160716279005512343538174327602152779314084556136382961459562901325563116844745653337668004688144383305658374606993229911576777153101207824708019204551479349171658377308820905114622410177963228259605048833249701049755967337038932487012259128060206612221935442616173255479436163043371233142936338064878313287333342997853069355372056590381939822467870073426694789076093561483933750569499298852780236198910345130653627327416536963262177695350743372547942817905642258418975603547745119181478393880106558297524606809924107601691036905383621221430696145626161029009668931324720625511356156130923002963848422838697892642229318650359938227063876430258986064810277860921835147567905917750594248529891805126173822288064199689628228389346054181454833222461930235327092660433980388460126328510384572435942197840438030993703009701793245243827847490419617377011141581358663864689687893415665082579491589515831180487839611599566833846170695292999179683422542605173295088287487501023717389317796845882315427860594849630724179027825272811317648893805050354468644511435969579820341155766750782566048755754954974225873750468271728625296068189321855486388475684170449676953729811819903527056228291580417927081120597447668665155843292511474857572980817504508076927219282383437180345409000400813048344658836045541338648271144588655943558787274201768743032315405517378939995117795727929755848272996731980049219114574280624635829647957841426978380913023634088498980021033677843378037539276002540776846464073616198285136601319826665667173484899268755831266737120198728115890971181091663869500225452908010964509080608561035127975487235028182088634907095210523887129170340770407393876407016395397354547727787843272502601204757689698610801855665564488616540296111479003137923203673091228192808059905412068532506487193836413005578755382036572865464302309502140152869625740030505326802999933960459312665487011607508510019448341425510454543384569064675094672962988269886294983414676333551880752959014114181768947316508799572868382797324212028887305307364290413842113056363507156580262543388126983910801080322 10301570710498333688982504555543283278029334631680821915707742388226829236560550393712885334052306953650570758758277161871077094455457505006618615664139009238839408864008608388087648364081560088561760558484500878572092695530262959985674111103832473962375127936403997106089416105859182224679359799768055004999240652806996512834714138737436691972963369811086388888878285795606423910386592342208007796056698687586571382393708379962494097681355650727931419596148900195456721393719947893193698817594403174583162681630103648217660105992353213068786197766370201149493477702977852148390848283717868089884474433287184528030987920428393619284493395471713609591091089590794470766172962758552803117214913675797489557940294978145187503563532607971667357641921991672458104950748643428744998622346593591148326339646673880619793251180597841138473652111121050936520019765144217615832076145252798751964762979384868005117787937285541328556823234623823522940652884396709959757273450319138844098291288803223022054285446967800064772885074353154118093656408151341287299241880654087742296261173260459558343632516048509967144030574175683678016915215338876403733128883277036789340972883070690005446424963360502312135504348189523050530396162191426919316581364889448921487434203892070930789636559393028471595036013583719824777912770393890881778799816505622251165413973101318911060709146200245711733109655640031264954533354479350719308883113044007967526303491203836912172709095651559091560718782374922727513485613600195967759807488561714977179932631874208029888094815271065256752848319993164363590121463817586486743062569847348716034114964247498009057016236393059584688341894605082138023502984713871271128863471149009419793053940532654181118468114874380939936504930270594310613582729330696374348222481841796571648984527960692270188845923489917836704048198790187320826586685510628558463110135016350954184125990207621268940407465157808724026780496383934330137843103296618719817319945592068160309219761923045415194918440259016864010100409380717858379280463650031705816755148162099020030442851711930961708301593452398643926963565421048482758765056035136701940223618314847906981626752855440212614929042280789501082691859059556418806862100668627351289867311826641723351781833886168827423780167888004130699426107716004631167637945920540407670499121134521107479132401033386614249130894718171110676459689426423661899472407102119180775944758777973864431565988316061645044739844804143161849181458052696890054301545256459465099623130034073649842756664301220910317326865207128362552436066987440484896457506071584760875198186443466142522556900199888798123356933362486441305411324203660204155815348297292100955559407236791740330226667681017808485718865837861278404362057190008428619507516602138940251148875417277486238566371436699805286996358154068213196465980127162263061525485410492073969941551043090864027095345286971140733372169871012508120696303676026428769508506334663811012706202113281059963576071366679095708179334193979363584814473928126518082819383830048493843145347148078830245790728865360277918479622114532601864097905696050277107783009685303032425778137122966212839823235783720222829887300740742720172045342287776788068016361982149785671729189800572939968319032908129569650372767190682134034588890224882875813659482800121795683046348361671301057971658865855594764544772667498805737020607239600159805496238745409885976819066316660378377477039213677360457913927739322534468008111435521 16668291547096707130357079194841312253155705165560309668566629100762949662693598059635462241161538035610995410920417033047705941299825097051695612826321194646474962300205012794953524144737594423629750723340873202729169392417518707300460703324663812698118177903536854706513508655626456544696249470725622983053768318150170146544096307117529271730344569878934246798336381493410731961283712404296103462238618454721259811302827952383405071941820310358133325850329958814376596759985598768059837552866158198534467572160157440364093683216208754358078468369823720757880403182713801294126703894876584768508046419738541454037170829347968052830122636740283593361950490975672355421962490364963906379868275131736238360638466050578436146971185729007880455938233112580925943027175501289801255780036816310250286790181338324195817095624772807877818399593985340569115830367437216928356099229106086149112012393529598503419303057682645925064886370954220392421683001000404710467625302328275356308397589375139890092340420511097550791214438480274582559783221703660776823392507743610211922927081621554662448349088368920929052185186353167106138620310086470880050469303271235977135228711363874199528360034653616310593425016647579523913343264037908318969912946108837367252421466404986404243956487876641710491844486563497660715966927354343450864655725357837393328043221287303754870506897808839636307007042800747543960045698017525046911035892358092523662686452663399813498272212496304744898386787063067110819143988207189197671384265714816185004640651078759509237266473648374077657962942403342326818381068866419736444112325814685754966601976506626069263628458328502200861597374041245181394736127650209336007176758482352417646123295904710771500407937342251013363199719346687872097516479900195673201002718040706916779638155288108807152108101185268580076596141608092963085005661114176303582291613410231060742423514814431193048009156194714107648001927080079956298872112965550044537945456948224291232222725771468253892811082488335514370038636444594288638266528460309566738590295730004937781037100241822766834475415740462843616591793810394536940219889257598632175550710975281887370086879183950597187364984478629939113685562069258212052105928516117770907244322968223082015646523574062243088862747379593646530606595555616230734471792091235700669678804557063712652427489320874115272848284035967956558775117287018511530196586129944453587262407671778914786034632827497614624560185959909912631747506808451845028527419006927736828248426102262971698243052776905080767003818936940182455963123215732065314384587192182208543863342286758653997414473180706302631433860581768824742591669612660604968863692956128146496898055507936328986170226468292010254461898153266795783302052307804156549263364875135672231198094531851766863202201084657646713974739067091847284964960148195940904903522949768076510718397507164480225380481888290967399039343355911776876527570413146627497624397305844902676575702338733967974540580447287656743307309681214391766903108835221728606706513000389264250539223555095225643145276593148121190982223319290291562708707551715841596399549981414511428916060326639304068016043843625634898419807227936556585050921043158824640881826284459287811882059426312970473645835908063530109685432677693741543098909673224301324114026184690860358141021324659570944266642280531928316425525626512919918789554556108959378364621542734098005706371624024668791319152270040867614494190282710661451918912515843 26969862257595040819339583750384595531185039797241131584274371488989778899254148453348347575213844989261566169678694194918783035755282602058314228490460203885314371164213621183041172508819154512191511281825374081301262087947781667286134814428496286660493305839940851812602924761485638769375609270493677988053008970957166659378810445854965963703307939690020635687214667289017155871670304746504111258295317142307831193696536332345899169623175961086064745446478859009833318153705546661253536370460561373117630253790261088581753789208561967426864666136193921907373880885691653442517552178594452858392520853025725982068158749776361672114616032211997202953041580566466826188135453123516709497083188807533727918578761028723623650534718336979547813580155104253384047977924144718546254402383409901398613129828012204815610346805370649016292051705106391505635850132581434544188175374358884901076775372914466508537090994968187253621709605578043915362335885397114670224898752647414200406688878178362912146625867478897615564099512833428700653439629855002064122634388397697954219188254882014220791981604417430896196215760528850784155535525425347283783598186548272766476201594434564204974784998014118622728929364837102574443739426229335238286494310998286288739855670297057335033593047269670182086880500147217485493879697748234332643455541863459644493457194388622665931216044009085348040116698440778808914579052496875766219919005402100491188989943867236725670981308147863836459105569437989838332629601807385165431191754276531162184573282952967539125361288919439334410811262396506690408502532684006223187174895662034471000716940754124078320644694721561785549939268646327319418239112364080607136040229631361837439177236437364952618876052216631953299704649617282182711099209230892047549225199882503488428622683248801077340954024675186416780644340398280283911592346624804862045401748426582014926549505022052461988416621352522831674782423464014286436715216262168764355265402540292451541442487694513669087729522747352378380139045825312147017546992110341272555345443892103957811479951953753728542777009192861487543555359231443019698984945292735334115774329290129794351713632039390809802294026759419440196377421128814630858968029184745122197111634794864805367428357460231070512642915267597777230032703271620861902109738011776108340177925691584820131559890354260729521979178754139067235234806713442173429668993232063634363207166449752779217600621143559259669300030764053074480928964861148735082828964263387201927871556136336621540999717078125991084330684144068545008399190203172550210842093263766969419061528730224796519971373380595100754790793944255266048002993816320809124679041253420247452457462744728069316396894149309818740180763991128074187664109497812585168770881477274612482346969949129253101768572521357452000971097221160060481430940275358203966429008360260150480659948550255344252475827175262108132411513226924284997223874089173056267132903640508713689281904452015027938116651813966752451486643875193755351717582763348246689525896830437758093684570703174055888936005458508399109461845433822893426806613247766118704182559666717543854694197449605516907839279627345857728307107968679276757096263330935612708898188266609073483611249226885910441964868816193099760058199868375875577687799898107177137773508984812656041187369686330872002238301146387523080970298294011725655810161795709119183860860288143983982525437940685047168796191483718228072408118022033195919927023951364 43638153804691747949696662945225907784340744962801441252841000589752728561947746512983809816375383024872561580599111227966488977055107699110009841316781398531789333464418633977994696653556748935821262005166247284030431480365300374586595517753160099358611483743477706519116433417112095314071858741219300971106777289107336805922906752972495235433652509568954882485551048782427887832954017150800214720533935597029091004999364284729304241564996271444198071296808817824209914913691145429313373923326719571652097825950418528945847472424770721784943134506017642665254284068405454736644256073471037626900567272764267436105329579124329724944738668952280796314992071542139181610097943488480615876951463939269966279217227079302059797505904065987428269518388216834309991005099646008347510182420226211648899920009350529011427442430143456894110451299091732074751680500018651472544274603464971050188787766444065011956394052650833178686595976532264307784018886397519380692524054975689556715086467553502802238966287989995166355313951313703283213222851558662840946026896141308166142115336503568883240330692786351825248400946882017890294155835511818163834067489819508743611430305798438404503145032667734933322354381484682098357082690267243557256407257107123655992277136702043739277549535146311892578724986710715146209846625102577783508111267221297037821500415675926420801722941817924984347123741241526352874624750514400813130954897760193014851676396530636539169253520644168581357492356501056949151773590014574363102576019991347347189213934031727048362627762567813412068774204799849017226883601550425959631287221476720225967318917260750147584273153050063986411536642687572500812975240014289943143216988113714255085300532342075724119283989558882966662904368963970054808615689131087720750227917923210405208260838536909884493062125860454996857240482006373246996598007738981165627693361836813075668973019836483655036425777547236939322784350544094242735587329227718808893210859488516742773665213465981922980540605235687892750177682269906435655813520570650839293935739622108895592517052195576495377252424933324331160147153041837556639204834550333966291325040265411681721800511223341406989659011238049379310062983198072842911073957700862893104355957763087887383074881034293313601505662647191423760639298827237092636581530103011809009856730248648532783987379675134844794827462790107023794009924000460684959865579362008087950469574121531694003635253971056874293860216723962987112676471669600580111356383270314938756119982238599593239242769855031071851334503081008727464362313418904615525226680455949177962924871016983450517385846561301403386224654526024090790594663428981414093542734209548393949355518252664398302567120617601828994642662144394869970966161805616741718034246352410284713545064480981019964970773606015098714945836288251907766395900423554144871332531310028226991378346057419824477856309063553075531450856582836061873751444502319683764757300946353616365857606790748995912657232261254409194793953556408147118620691598569975296232409830827022344223794258269281532081282051656520300444068753113184989515320799481960300582109648132055283610257776244820975855323470971492626726915196615833342147184374094437349780014551068361295493308653198880915610704724256629869743632546069617120786709571331478461887535169503516399328391010990442946504943426919451397395823920524645574599716351818078562225481830878081988231809564709715960115343753759095686902308304743857371845936467207 70608016062286788769036246695610503315525784760042572837115372078742507461201894966332157391589228014134127750277805422885272012810390301168324069807241602417103704628632255161035869162375903448012773286991621365331693568313082041872730332181656386019104789583418558331719358178597734083447468011712978959159786260064503465301717198827461199136960449258975518172765716071445043704624321897304325978829252739336922198695900617075203411188172232530262816743287676834043233067396692090566910293787280944769728079740679617527601261633332689211807800642211564572628164954097108179161808252065490485293088125789993418173488328900691397059354701164277999268033652108606007798233396611997325374034652746803694197795988108025683448040622402966976083098543321087694038983023790726893764584803636113047513049837362733827037789235514105910402503004198123580387530632600086016732449977823855951265563139358531520493485047619020432308305582110308223146354771794634050917422807623103757121775345731865714385592155468892781919413464147131983866662481413664905068661284539006120361303591385583104032312297203782721444616707410868674449691360937165447617665676367781510087631900233002609477930030681853556051283746321784672800822116496578795542901568105409944732132806999101074311142582415982074665605486857932631703726322850812116151566809084756682314957610064549086732938985827010332387240439682305161789203803011276579350873903162293506040666340397873264840234828792032417816597925939046787484403191821959528533767774267878509373787216984694587487989051487252746479585467196355707635386134234432182818462117138754696968035858014874225904917847771625771961475911333899820231214352378370550279257217745076092524477768779440676738160041775514919962609018581252237519714898361979768299453117805713893636883521785710961834016150535641413637884822404653530908190354363786027673095110263395090595522524858536117024842398899759770997566774008108529172302545489887573248476262028809194315107701160495592068270127983040271130316728095218582673360512680992111849281183514212853403997004149330223920029434126185818703702512273280576338189779843069300407099369555541476073514143262732216791953037997468819506440404326887473770041986885608015301467592557952692750503238494524384114148577914789200990672002098857954538691268114787917350034655940233352915547270029395574316806641544246091029244730713902858389534572594071722313676740571284473221235875114616133963160247488016061593605436530749315194185347533702140683991538374936214780242486933157062935665187225077272472761503622077165736068773719716147381986399747208247037357219941896504141015448470279356838597657245302223218221775462968641401812980997392467618964014766911647734823426135522944158630271303429326886805127829684897195892034430110273066739346127372550715916933509411968247826840698912348837761539670288377472038294607675168730332136238815183663862369809760346870975318591492740031890204586862330055139511242764023850773884075221161646280597431601902470338274361918221985758306661264780437908364961443337421017287510164919409905914186936078416321934047248079004764669314849599138304455225850337883694603098317350355034023165295110099243447705030050058678202817677434779104557880084791357575573540449729629801832414445492698474509469438655599661044154316172440515760697321314948743244573306974478366122214536371230409878147527197746086342119022065970757247505394763128911535237477323759310426326777053291772960418571 114246169866978536718732909640836411099866529722844014089956372668495236023149641479315967207964611039006689330876916650851760989865498000278333911124023000948893038093050889139030565815932652383834035292157868649362125048678382416459325849934816485377716273326896264850835791595709829397519326752932279930266563549171840271224623951799956434570612958827930400658316764853872931537578339048104540699363188336366013203695264901804507652753168503974460888040096494658253147981087837519880284217114000516421825905691098146473448734058103410996750935148229207237882449022502562915806064325536528112193655398554260854278817908025021122004093370116558795583025723650745189408331340100477941250986116686073660477013215187327743245546526468954404352616931537922004029988123436735241274767223862324696412969846713262838465231665657562804512954303289855655139211132618737489276724581288827001454350905802596532449879100269853610994901558642572530930373658192153431609946862598793313836861813285368516624558443458887948274727415460835267079885332972327746014688180680314286503418927889151987272642989990134546693017654292886564743847196448983611451733166187290253699062206031441013981075063349588489373638127806466771157904806763822352799308825212533600724409943701144813588692117562293967244330473568647777913572947953389899659678076306053720136458025740475507534661927644935316734364180923831514663828553525677392481828800922486520892342736928509804009488349436200999174090282440103736636176781836533891636343794259225856563001151016421635850616814055066158548359671996204724862269735784858142449749338615474922935354775275624373489191000821689758373012554021472321044189592392660493422474205858790347609778301121516400857444031334397886625513387545222292328330587493067489049681035728924298845144360322620846327078276396096410495125304411026777904788362102767193300788472100208166264495544695019772061268176446996710320351124552202771907889874717606382141687121517325937088772914626477515048810733218728163880494410365125018329174033251642951143216923136321748996514056344906719297281859059510149863849665315118132977394614393403266698424409820953157795314654486073623781612049235518198816503387524960316681115944586470908405823550321040580133578119528817697715654240561980624751311300926095047175272798217799726359891386188881885699534649704530419111634104334353114823254654714363543349400151956079810264146314692816167224871129085673008257020464211979048706281908200349895305541730804017079440111520613535808019485256788188134786999690306085999937123817040981781261295454175665325344911270764191697554743066503197907527240102996303447629192320674283637311764509672517035351168499250056865921531135384513476729466088279917814129596433109046068604839374182095181909437098911091293031710119733387649430862769797663876014222741122466493709094070980316604463416640665094993208188445302368259195313226392596408744726763093812423796647505533215946420997118033513019763431116336475570841074550988010049588958965960488197281990716492091802782132159219712618953098569561821439710349982940049263405837254846730039305346778962981654421914713002095158859549926569288842981760938361910943441390632079124487408458217368745796074597866533283672273186278264706359499545464960515109819261219040770134061548579323819688839844151708311757895248188000226425875761946135061016805009594499345276308311823949900147958989057070104479089026878991236419446212734631520910663618896885778 184854185929265325487769156336446914415392314482886586927071744747237743484351536445648124599553839053140817081154722073737033002675888301446657980931264603365996742721683144300066434978308555831846808579149490014693818616991464458332056182116472871396821062910314823182555149774307563480966794764645258889426349809236343736526341150627417633707573408086905918831082480925317975242202660945408866678192441075702935402391165518879711063941340736504723704783384171492296381048484529610447194510901281461191553985431777764001049995691436100208558735790440771810510613976599671094967872577602018597486743524344254272452306236925712519063448071280836794851059375759351197206564736712475266625020769432877354674809203295353426693587148871921380435715474859009698068971147227462135039352027498437743926019684075996665503020901171668714915457307487979235526741765218823506009174559112682952719914045161128052943364147888874043303207140752880754076728429986787482527369670221897070958637159017234231010150598927780730194140879607967250946547814385992651083349465219320406864722519274735091304955287193917268137634361703755239193538557386149059069398842555071763786694106264443623459005094031442045424921874128251443958726923260401148342210393317943545456542750700245887899834699978276041909935960426580409617299270804202015811244885390810402451415635805024594267600913471945649121604620606136676453032356536953971832702704084780026933009077326383068849723178228233416990688208379150524120579973658493420170111568527104365936788368001116223338605865542318905027945139192560432497655870019290325268211455754229619903390633290498599394108848593315530334488465355372141275403944771031043701731423603866440134256069900957077595604073109912806588122406126474529848045485855047257349134153534638192482027882108331808161094426931737824133010126815680308812978716466553220973883582363603256860018069553555889086110575346756481317917898560311301080192420207493955390163383546135131403880615786973107117080861201768435010811138460343601002534545932635062992498106650534602400511060494236943217311293185695968567552177588398709315584394236472567105523779376494633868828797748805840573565087232987018322943791851847790451157931472078923707291142878993272884081358023342081829802818476769825741983303024953001713964066332587643709926042129115238615081919733925993428440745878599205852499385428266401738934724550151532577823055264100640446107004200289142220180711699995110299887344731099210499727078337719220124103058988472022799727743721345197722664877531163272409885320663058946997364227895381472726897670511399944592100286445094411668255551466582804467789977919585860529986285135485676752981480247449333540495150151425124464289514415440758288226704412475395491644502011780079105329133341201566098449465860760200146779703307075844262049581821378842546855610650604981935454935272770161938520581541183442859175596202356755615702081685305163828537710120078276476136629276277043614205000411696732487355148419611952059297240322406419267749023153356583220040524181155956374115857071986359120255897126985341822159188893978118310111448277831253560219168227945496743244529667606193336794961527206053540634079784154537467136420186423230853702424413368463630761851805156089129347297374960602517735728510208789661209623478135861280359912405633072843991432573533400354128068349597388035419472646872474054398166068922213929746304575499242217938414228713743205523160958297963955391857304349 299100355796243862206502065977283325515258844205730601017028117415732979507501177924964091807518450092147506412031638724588793992541386301724991892055287604314889780814734033439097000794241208215680843871307358664055943665669846874791382032051289356774537336237211088033390941370017392878486121517577538819692913358408184007750965102427374068278186366914836319489399245779190906779780999993513407377555629412068948606086430420684218716694509240479184592823480666150549529029572367130327478728015281977613379891122875910474498729749539511205309670938669979048393062999102234010773936903138546709680398922898515126731124144950733641067541441397395590434085099410096386614896076812953207876006886118951015151822418482681169939133675340875784788332406396931702098959270664197376314119251360762440338989530789259503968252566829231519428411610777834890665952897837560995285899140401509954174264950963724585393243248158727654298108699395453285007102088178940914137316532820690384795498972302602747634709042386668678468868295068802518026433147358320397098037645899634693368141447163887078577598277184051814830652015996641803937385753835132670521132008742362017485756312295884637440080157381030534798560001934718215116631730024223501141519218530477146180952694401390701488526817540570009154266433995228187530872218757591915470922961696864122587873661545500101802262841116880965855968801529968191116860910062631364314531505007266547825351814254892872859211527664434416164778490819254260756756755495027311806455362786330222499789519017537859189222679597385063576304811188765157359925605804148467717960794369704542838745408566122972883299849415005288707501019376844462319593537163691537124205629462656787744034371022473478453048104444310693213635793671696822176376073348114746398815189263562491327172242430952654488172703327834234628135431226707086717767078569320414274672054463811423124513614248575661147378751793753191638269023112514072988082294925100337531850505063461068492653530413450622165891594420496598891305548825468619331708579184278014135715029786856351397025116839143662514593152245206118431401842903516842292979008629875833803948189197447791664143452234879464355177136468505217139447179376808107132273876058549832113114693200033853017659477552159779545457059038750450493294603951048048889236864550387370069817428317997124314616569438456412540074850212952320675754040142629945088334876506231342841969369956916807670978133285962150477201175911974159006169252931449105805268809141736299564214579602007830819213000509533332509664567837249272347009137704040728258659682071046798071808941275591642146843352948292319195495654462886252096982298593869497841750794808002712104149979497506199462026285535938601193755602695358572417823137521521464096483876193875261014766232252292859130159585594147849577642473104739720276272322943845336255949681630921586398871575937865155146709026843551702054488822594953164360428844779117587625185215653294222897133747309790063377636116748172303328429699407622001648256206282894616549739739645448386002172683400868575327214426633807798830605880067034605227996443740708157615458227240812907982133881230040655602794456236895036318555899889116996982024711863279024875594637555169026928300290946652135903948130069862448628892762335475712336996947550978923722758202801955550120204064113944830739239620573759826229890014484658404840429067146217750362709990018822361888735361645603721306965293219950162651735895589818874619010754190127 483954541725509187694271222313730239930651158688617187944099862162970722991852714370612216407072289145288323493186360798325826995217274603171649872986552207680886523536417177739163435772549764047527652450456848678749762282661311333123438214167762228171358399147525911215946091144324956359452916282222797709119263167644527744277306253054791701985759775001742238320481726704508882021983660938922274055748070487771884008477595939563929780635849976983908297606864837642845910078056896740774673238916563438804933876554653674475548725440975611413868406729110750858903676975701905105741809480740565307167142447242769399183430381876446160130989512678232385285144475169447583821460813525428474501027655551828369826631621778034596632720824212797165224047881255941400167930417891659511353471278859200184265009214865256169471273468000900234343868918265814126192694663056384501295073699514192906894178996124852638336607396047601697601315840148334039083830518165728396664686203042587455754136131319836978644859641314449408663009174676769768972980961744313048181387111118955100232863966438622169882553564377969082968286377700397043130924311221281729590530851297433781272450418560328260899085251412472580223481876062969659075358653284624649483729611848420691637495445101636589388361517518846051064202394421808597148171489561793931282167847087674525039289297350524696069863754588826614977573422136104867569893266599585336147234209092046574758360891581275941708934705892667833155466699198404784877336729153520731976566931313434588436577887018654082527828545139703968604249950381325589857581475823438792986172250123934162742136041856621572277408698008320819041989484732216603594997481934722580825937053066523227878290440923430556048652177554223499801758199798171352024421559203162003747949342798200683809200124539284462649267130259572058761145558042387395530745795035873635248555636827414679984531683802131550233489327140509672956186921672825374068274715132594292922013888609596199896534146200423729282972455622265033902116687285812220334243125116913077128213136437390953797536177333380605731904445430902086998954020491915551608563402866348400909471968573942425532972249983685304928742223701492235462390971228655897583431807530628755820405836079027125901740835575501861375259877515520276235277906976001050603200930882975013779743470447112362929698489172382405968515596091551526528253425570896346827269601056382875419792425221017448117085137486251292697381887611969269306056597662548316304995887479455519688317638590479853618940744230878530232329445368412544756894458367099675256023909966428270798706611786991586738943639393386730863751205929469056564772276513455358371737079943488388857131459744955533002521435687363725658045117110799330706049841933996859588128378205655340120095365593494425228609051454908049724422176411815564538321904765224178802805292281526568334326511210635317085229608384735144913664418797309919976130926464422751453722925773372499373270376586067106991841117159869035815784847827233953707553446605301035817488762798804969222213207582024531701330283705794157950861777194019947050155632634686275925569675518644161542353049457986152346038985904501229655350861416323050522658791647433562342731057741592257782002715360020599534709981875018537758240059710436314854732676061187713383967826280091411400563976519577903583231053147293226584018082834255792875848539793090224417108156087744575818481666221102963524903707448663905857259056548116838574402611494476 783054897521753049900773288291013565445910002894347788961127979578703702499353892295576308214590739237435829905217999522914620987758660904896641765041839811995776304351151211178260436566790972263208496321764207342805705948331158207914820246219051584945895735384736999249337032514342349237939037799800336528812176526052711752028271355482165770263946141916578557809880972483699788801764660932435681433303699899840832614564026360248148497330359217463092890430345503793395439107629263871102151966931845416418313767677529584950047455190515122619178077667780729907296739974804139116515746383879112016847541370141284525914554526827179801198530954075627975719229574579543970436356890338381682377034541670779384978454040260715766571854499553672950012380287652873102266889688555856887667590530219962624603998745654515673439526034830131753772280529043649016858647560893945496580972839915702861068443947088577223729850644206329351899424539543787324090932606344669310802002735863277840549635103622439726279568683701118087131877469745572286999414109102633445279424757018589793601005413602509248460151841562020897798938393697038847068310065056414400111662860039795798758206730856212898339165408793503115022041877997687874191990383308848150625248830378897837818448139503027290876888335059416060218468828417036784679043708319385846753090808784538647627162958896024797872126595705707580833542223666073058686754176662216700461765714099313122583712705836168814568146233557102249320245190017659045634093484648548043783022294099764810936367406036191941717051224737089032180554761570090747217507081627587260704133044493638705580881450422744545160708547423326107749490504109061065914591019098414117950142682529180015622324811945904034501700281998534193015393993469868174200797632551276750146764532061763175136372366970237117137439833587406293389280989269094482248512873605194049523227691291226103109045298050707211380868078934262864594455944785339447056357010057694630453864393673057268389187676613874351448864050042761632793422236111280839665951704301191091263928166224247305194561294172524268246497597676108205430355863395432393901542411496224234713420157771390217197115702218564769283919360169997452601838150605464004715705683589178587933520529279060978919400313127661640920716936554270726728572510927049099492437795433362383849560898765109487244315058610838818508590446304503847204007465713526291915604477562614218261761795177934255788063270772213443174583063523943428312225850593997422110264696621191819252532218192487684438153744740411862741994013205661817103903596071140403514683592037475068870515553062583228885786992341679050059246860392355308661754575107324856213487874751491100961281439242461732464547721223302326851800719806157903123872979455518323684612254399530601134861597845787284358768637049055899302064649516555284814594227709069515058754973912448154733198087148500472231938635228286846968153241392263084336559771243540339078908141426666722270404123895857170369477233908041339144214547234855955355809652888195652367228502444253355224385890982893107028544710339601956781467657261054552278152076375394433541027902759457069524486930688026807948833442141396265973906761305440047504683503510712587218325695296761284710303006306672735438658111944880986387132822045912027191729623612166637106726029082046961520768040633522734322470673721053052813908097318914197716277606939307974779818146106566937707217027866706684831869000668614068508994952137935713193413365684603 1267009439247262237595044510604743805376561161582964976905227841741674425491206606666188524621663028382724153398404360321240447982975935508068291638028392019676662827887568388917423872339340736310736148772221056021555468230992469541038258460386813813117254134532262910465283123658667305597391954082023134237931439693697239496305577608536957472249705916918320796130362699188208670823748321871357955489051770387612716623041622299812078277966209194447001188037210341436241349185686160611876825205848408855223247644232183259425596180631490734033046484396891480766200416950506044222257555864619677324014683817384053925097984908703625961329520466753860361004374049748991554257817703863810156878062197222607754805085662038750363204575323766470115236428168908814502434820106447516399021061809079162808869007960519771842910799502831031988116149447309463143051342223950329997876046539429895767962622943213429862066458040253931049500740379692121363174763124510397707466688938905865296303771234942276704924428325015567495794886644422342055972395070846946493460811868137544893833869380041131418342705405939989980767224771397435890199234376277696129702193711337229580030657149416541159238250660205975695245523754060657533267349036593472800108978442227318529455943584604663880265249852578262111282671222838845381827215197881179778035258655872213172666452256246549493941990350294534195811115645802177926256647443261802036608999923191359697342073597417444756277080939449770082475711889216063830511430213802068775759589225413199399372945293054846024244879769876793000784804711951416337075088557451026053690305294617572868323017492279366117438117245431646926791479988841277669509588501033136698776079735595703243500615252869334590550352459552757692817152193268039526225219191754438753894713874859963858945572491509521579786706963846978352150426547311481877779258668641067684771783328118640783093576981852838761614357406074772537550642866458164821124631725190288923375878282282653468285721822814298080731836505665026666695538923397093060000194829418104168392141302661638258992097471505904873978402043107010292429309883887347945510105814362572635622892126345332642730087952202250074212661583871489688064229121834119902299137491119807343753926365358088104821141148703163502295976814069791002963850417903050150095638726316337397629304369212221850174013547783221224477106042396055373732260891284422638742874078618997093681554220398951703905148408258464735871964951135912697618282448256545738415260584100647338940849856782967538057094488971290392974323458574074361860798054438240078770707502003903339669222164849574815624730631735065780922998066321824365226526851620780214585224954694979489818412898987417265467069156910666052509845836916957233829922821389515183272740632605185941254956963439281709587377688503963949026486825928370849352916132474293693861560266193974723067524598359135789317168243613021991881817660189573004312690697707963090532631067200039221643674500481924277361318351067910374959999395062089909063363099493496688184717265243058324446599098564917638729874994045396114732329434455074499328307709010080709466597578278101231066839980146012960294872428045897495629257622721763098027342295158146149561056753038353542492305721666693334973368093819899524145372881756348342046462299673354350490693855362138372921332017153100637905701726868346279397926180153169990592126146732398199196926302194311513525698694087809648356772708117277974366254008686052551767815977179079 2050064336769015287495817798895757370822471164477312765866355821320378127990560498961764832836253767620159983303622359844155068970734596412964933403070231831672439132238719600095684308906131708573944645093985263364361174179323627748953078706605865398063149869916999909714620156173009654835330991881823470766743616219749951248333848964019123242513652058834899353940243671671908459625512982803793636922355470287453549237605648660060226775296568411910094078467555845229636788293315424482978977172780254271641561411909712844375643635822005856652224562064672210673497156925310183338773302248498789340862225187525338451012539435530805762528051420829488336723603624328535524694174594202191839255096738893387139783539702299466129776429823320143065248808456561687604701709795003373286688652339299125433473006706174287516350325537661163741888429976353112159909989784844275494457019379345598629031066890302007085796308684460260401400164919235908687265695730855067018268691674769143136853406338564716431203997008716685582926764114167914342971809179949579938740236625156134687434874793643640666802857247502010878566163165094474737267544441334110529813856571377025378788863880272754057577416068999478810267565632058345407459339419902320950734227272606216367274391724107691171142138187637678171501140051255882166506258906200565624788349464656751820293615215142574291814116946000241776644657869468250984943401619924018737070765637290672819925786303253613570845227173006872331795957079233722876145523698450616819542611519512964210309312699091037965961930994613882032965359473521507084292595639078613314394438339111211573903898942702110662598825792854973034540970492950338735424179520131550816726222418124883259122940064815238625052052741551291885832546186737907700426016824305715504041478406921727034081944858479758696924146797434384645539707536580576360027771542246261734295011019409866886202622279903545972995225485009035402145098811243504268180988735247983553829742675955710736674909499428172432180700555707788299488961159508373899666146533719295259656069468885885564186658765678429142224899640783118497859665747282780339411648225858796870336312284116722859927203654420814843496580944041487140666067272439583907014843174708985931687446894637149083740541461830825143216693750624061729692422928830099249588076521749699781478865267977331337418328606394060042985696488700559220936268356997948930658478556181611311943316015576885959693211679030678179046548014659856125930508298850543160525525280721839158193382074975455222495248233711702255716317471779736178964701650509380482285391094041378408539737717912158044510517624076744830982244926714179673888281426728105070798712829446470590779694338229878997931616878133968379361646556723115136953795800845033506957352887004716542389818561285068993946146325553019848328551475444926134167510360183363208920315240106422877800722685507636261549106878841308838849970901581836088649250468951503429611539208626705943914078624377781447730795584975951714104213942296945864419172752381692340551945767687311679670984989547810745758419704384998071513797091716129051606459785385475143007625481037558300591326910834039768243705870187293761603164384027203145532025798668858736779382448335114827202608727973366070412026205764780510532505703802260369238191923285520987597419884444185334442100057786623372228172400589399332211834277472084188308403753671706173976744448300878451232915721954516333188641708785892042875248960823988264961229342863682 3317073776016277525090862309500501176199032326060277742771583663062052553481767105627953357457916796002884136702026720165395516953710531921033225041098623851349101960126287989013108181245472444884680793866206319385916642410316097289991337166992679211180404004449262820179903279831676960432722945963846605004675055913447190744639426572556080714763357975753220150070606370860117130449261304675151592411407240675066265860647270959872305053262777606357095266504766186665878137479001585094855802378628663126864809056141896103801239816453496590685271046461563691439697573875816227561030858113118466664876909004909392376110524344234431723857571887583348697727977674077527078951992298066001996133158936115994894588625364338216492981005147086613180485236625470502107136529901450889685709714148378288242342014666694059359261125040492195730004579423662575302961332008794605492333065918775494396993689833515436947862766724714191450900905298928030050440458855365464725735380613675008433157177573506993136128425333732253078721650758590256398944204250796526432201048493293679581268744173684772085145562653442000859333387936491910627466778817611806659516050282714254958819521029689295216815666729205454505513089386119002940726688456495793750843205714833534896730335308712355051407388040215940282783811274094727548333474104081745402823608120528964992960067471389123785756107296294775972455773515270428911200049063185820773679765560482032517267859900671058327122308112456642414271668968449786706656953912252685595302200744926163609682257992145883990206810764490675033750164185472923421367684196529639368084743633728784442226916434981476780036943038286619961332450481791616404933768021164687515502302153720586502623555317684573215602405201104049578649698380005947226651236016060154257936192281781690893027517349989280276710853761281362997690134083892058237807030210887329419066794347528507669296199261756384734609582891083807939695741677701669089305620460438272477205620958238364204960631322242470512912537061372814966184500082905466959666341363137399428048210771547523823178756237184334016203301683890128790288975631170128284921754040221369505959204410462055502657291606623064917709242527912976828730296394273703809313980665828793275441373259995237188561682610533988645512670564693852732656273346733149399683715248066037179108169637189553187592342154177281267462802531096614594668529248282371569401352634800608405624870235975837663598360087289142914918512965795768823548790747107088898940785864822486497134231931758422760552342722682992648690640930353810540825499704947620561056098596045281748208959882761732860135248255811810611905242993036004039114808278348885285383937784141450080598107237217296263398686035044634431871492393640072370783718622234548690230093519609902483644775524724350703533524014056983797355038301373296983520426492657656902781875506300397600868247283866772050866275122454330830731788561771409092961941166659466520144170275826745165557753124859705725092113936043862089064213337359035773482535851875189028736663032930370004117584088112728384488294698430394186246126526171203550934767494395555852474223059315659531658166890980052728538578298233191257232422006748966243559368093827004886340439201373468369694914449640059405385394299584680034677878585558608711284654222958875338088113739806323707363432074939724010133874127457745611609760457625254178900529900404104373173670750495189964758614416042325981545414416903170017241502969510040816729045320042761 5367138112785292812586680108396258547021503490537590508637939484382430681472327604589718190294170563623044120005649080009550585924445128333998158444168855683021541092365007589108792490151604153458625438960191582750277816589639725038944415873598544609243553874366262729894523436004686615268053937845670075771418672133197141992973275536575203957277010034588119504010850042532025590074774287478945229333762710962519815098252919619932531828559346018267189344972322031895514925772317009577834779551408917398506370468051608948176883452275502447337495608526235902113194730801126410899804160361617256005739134192434730827123063779765237486385623308412837034451581298406062603646166892268193835388255675009382034372165066637682622757434970406756245734045082032189711838239696454262972398366487677413675815021372868346875611450578153359471893009400015687462871321793638880986790085298121093026024756723817444033659075409174451852301070218163938737706154586220531744004072288444151570010583912071709567332422342448938661648414872758170741916013430746106370941285118449814268703618967328412751948419900944011737899551101586385364734323258945917189329906854091280337608384909962049274393082798204933315780655018177348348186027876398114701577432987439751264004727032820046222549526227853618454284951325350609714839733010282311027611957585185716813253682686531698077570224242295017749100431384738679896143450683109839510750531197772705337193646203924671897967535285463514746067626047683509582802477610703302414844812264439127819991570691236921956168741759104557066715523658994430505660279835608252682479181972839996016130815377683587442635768831141592995873420974741955140357947541296238332228524571845469761746495382499811840654457942655341464482244566743854927077252840365869761977670688703417927109462208469038973635000558715747643229841620472634597834801753133591153361805366938374555498821541659930707604808376092843341840840488945173357486609195686256031035363634194074941635540821670642945093237617080603265673461242413840859332487896856694687704280240433409387365415002862763158428201324673247288148641378452908624333402266080166376295516694578778362584495261043879761205823471954463969396363666713287716328823840537779207128820154632386272302224072364813788729364315317914462348696275563248649271791769815736960587034905166884525010670760571341310448499019797173815604797605280320500059831190982219717568186251552723623291571766319821093965060980455624949479299045957632059466311145544325655327614006733877983047590956394694904406958402133546719790201355457001043341489690086660156748697600673890904645765879888555442887487919750183713003089705076990356182650613587920671377801575447175261330302913178602811233138950363187507737514423079582197187446406614619026034594086009419697479670339610003645683589776818223117687936852841020111702190746406820478668969969374408312415382001295639669581759463353245181611191635610969949755709484453451109471831749237487172822909521019813803168427279655981637901708604256881369288608800617681683788569077660539130246714402815392257759923617887332602541227279781030995481848540353217832249493801814092496782284168420485018835586390776169389091393892495863623119821649708583196897523177613425475797420505349460545210384289360869080522846146244396325685533624250509041805532132726347382362046528047144943821594735097338367208933654075810547150415198796068415991530137996842314734056125689062060116751930334029081690274662906443 8684211888801570337677542417896759723220535816597868251409523147444483234954094710217671547752087359625928256707675800174946102878155660255031383485267479534370643052491295578121900671397076598343306232826397902136194458999955822328935753040591223820423957878815525550074426715836363575700776883809516680776093728046644332737612702109131284672040368010341339654081456413392142720524035592154096821745169951637586080958900190579804836881822123624624284611477088218561393063251318594672690581930037580525371179524193505051978123268728999038022766654987799593552892304676942638460835018474735722670616043197344123203233588123999669210243195195996185732179558972483589682598159190334195831521414611125376928960790430975899115738440117493369426219281707502691818974769597905152658108080636055701918157036039562406234872575618645555201897588823678262765832653802433486479123151216896587423018446557332880981521842133888643303201975517091968788146613441585996469739452902119160003167761485578702703460847676181191740370065631348427140860217681542632803142333611743493849972363141013184837093982554386012597232939038078295992201102076557723848845957136805535296427905939651344491208749527410387821293744404296351288912716332893908452420638702273286160735062341532401273956914268069558737068762599445337263173207114364056430435565705714681806213750157920821863326331538589793721556204900009108807343499746295660284430296758254737854461506104595730225089843397920157160339295016133296289459431522955988010147013009365291429673828683382805946375552523595232100465687844467353927027964032137892050563925606568780458357731812665064222672711869428212957205871456533571545291715562460925847730826725566056264370050700184385056256863143759391043131942946749802153728488856426024019913862970485108820136979558458319250345854319997110640919975704364692835641831964020920572428599714466882224795020803416315442214391267176651281536582166646842446792229656124528508240984592432439146596172143913113458005774678453418231857961325319307818998829259994094115752491011980933210544171240047097174631503008563376078437617009623036909255156306301535882254721105040833865241786867666944678915065999867440798126660060986991525642804506366572482570193414627623460863906682898802434242034880011767195004969622296398048955507017881774139695204542356437712603012914748622577911301550893788410273326853562692069461183825782828123193056487528561286889931853608964008883573946251393773028089793064720958407097010366812152461845938492300743599933679077687553097599332487357260615701060404621604397588286131941904957657483435623764781014135700366054792730912786187752117897983425875641566588397729370751975908812664471524728988948223237243104631344003259878521233045314130887417539926224521509679369610733770401013194353666987443038628078191520101208363345498677014484066252707218079537217253241180363281657123749970500313548025124654274573132802270436469899879760280196275029584874097192897915023457063675892232640617015017411384244456132070398025271833548051687906153165773267514735009101245786444006050144058536153475994774176586847956071599668877363907660692794145225320862466653676276068008397525135632650761986322868509460260851082051566592437627253484881182814804934140579888262874919477791807500369203271663773647364056832749168964207666071392495920655504890555431355192722592546109463554479914920324085949291258380750144554039168296279470542592232077358254899844069898419319982949204 14051350001586863150264222526293018270242039307135458760047462631826913916426422314807389738046257923248972376713324880184496688802600788589029541929436335217392184144856303167230693161548680751801931671786589484886472275589595547367880168914189768429667511753181788279968950151841050190968830821655186756547512400179841474730585977645706488629317378044929459158092306455924168310598809879633042051078932662600105896057153110199737368710381469642891473956449410250456907989023635604250525361481446497923877549992245114000155006721004501485360262263514035495666087035478069049360639178836352978676355177389778854030356651903764906696628818504409022766631140270889652286244326082602389666909670286134758963332955497613581738495875087900125671953326789534881530813009294359415630506447123733115593972057412430753110484026196798914673790598223693950228703975596072367465913236515017680449043203281150325015180917543063095155503045735255907525852768027806528213743525190563311573178345397650412270793270018630130402018480504106597882776231112288739174083618730193308118675982108341597589042402455330024335132490139664681356935425335503641038175863990896815634036290849613393765601832325615321137074399422473699637098744209292023153998071689713037424739789374352447496506440495923177191353713924795946978012940124646367458047523290900398619467432844452519940896555780884811470656636284747788703486950429405499795180827956027443191655152308520402123057378683383671906406921063816805872261909133659290424991825273804419249665399374619727902544294282699789167181211503461784432688243867746144733043107579408776474488547190348651665308480700569805953079292431275526685649663103757164179959351297411526026116546082684196896911321086414732507614187513493657080805741696791893781891533659188526747246441766927358223980854878712858284149817324837327433476633717154511725790405081405256780293842345076246149819199643269494623377422655592015804278838851810784539276348226626514088231712965583756403099012295534021497531422567733148678331317156850788803456771252414342597909586242909860333059704333236623366586258388075945533588558572381702258550237799619612227826282128710824440120889471821904767523023727700279241971628346904351689699013569260009733166130755263616222971399195329681657353665897859646698227298787697511100282239447523322237613683675319963888359800570690962225878124458843012569521015016765047840761242739081284910181503619928785102848634926707018722507388839022353017873408155911137807789459945226178726647524635472382457504557734620903980405902415861622647739077976218602061706355084109514669426780015588921497680218832536371465120987688502865997749239011317291423353710388111646786059291861401840054337770294366447386258747468393713084604986332839140535713963696743190098492864693276991088722217855009743218896300198339697126186256999114038558206187222615588675697039125045610169895307488477899456184324437881406419655589244733647384501416623334680070737932978083489695401067896670999049285953060388951767313880634165733371694722243433806644981723504061178701765973761945868756017222053957617843437920140022095196157154494608237722103146635074161294903594788301305021742155878818732132580082500790634763489960804866910356980235310283601125098647164280346872330346515447667989459180988307341790974496340392418774857967183552035499252949927819930913318397208555725467474501148087326796741674692036010611013526668281294137475006830178098980109594645855647 22735561890388433487941764944189777993462575123733327011456985779271397151380517025025061285798345282874900633421000680359442791680756448844060925414703814751762827197347598745352593832945757350145237904612987387022666734589551369696815921954780992250091469631997313830043376867677413766669607705464703437323606128226485807468198679754837773301357746055270798812173762869316311031122845471787138872824102614237691977016053300779542205592203593267515758567926498469018301052274954198923215943411484078449248729516438619052133129989733500523383028918501835089218979340155011687821474197311088701346971220587122977233590240027764575906872013700405208498810699243373241968842485272936585498431084897260135892293745928589480854234315205393495098172608497037573349787778892264568288614527759788817512129093451993159345356601815444469875688187047372212994536629398505853945036387731914267872061649838483205996702759676951738458705021252347876313999381469392524683482978092682471576346106883229114974254117694811322142388546135455025023636448793831371977225952341936801968648345249354782426136385009716036932365429177742977349136527412061364887021821127702350930464196789264738256810581853025708958368143826770050926011460542185931606418710391986323585474851715884848770463354763992735928422476524241284241186147239010423888483088996615080425681183002373341804222887319474605192212841184756897510830450175701160079611124714282181046116658413116132348147222081303829066746216079950102161721340656615278435138838283169710679339228058002533848919846806295021267646899347929138359716207899884036783607033185977556932846279003013715887981192569998018910285163887809098230941378666218090027690178022977582290486596782868581953168184230174123550746130460243459234534230553217917801805396629673635567383421325385677474326709198709968925069793029202020269118465681175432298219004795872139005088863148492561592033590910446145904914004822238858251071068507935313047517332819058953234827885109496869861104786973987439729389383893052456497330146416844882919209262264395275808453757482956957507691207341799999445023875397698982442843714878683238140804958904660446093068068996377769119035955471689345565649683788687270767614432853270924172269206983887633194030037438162418657213434075341448852358635520156044747182805805579285239977443989879759950216696590068586466271102121584750636151451312405704638982198842547875963954299226609846197071435473537749111732208872958412495535478632087073976280505166277949960251305883718479470247458314550070010602157067108261241021603476266244252136666262350543966664012567545138434207794151289287552472949745322559217238885671928741639315827409046662175329619200776118310788280809625077297442401638369707264779980513707843972022526259063662045393333307476960499506059046943978531760845933201263320104663543838374140670323251821256637743404475856769038978696248795580670208855513602553730757457240151842889555469005013843659531001497431872968652956435147165587633708513686016460670197516521022165339152467713785059600875409207074159716732605306965145772023906004404909493216828134204691393991739690972560064815187402382947424009101727837570971603185826440654392917865141600642040343351872686330082398432120395238163050115217741704986910039199824664137846884650939653232828352364174540143460548058490167353887839056926054684305120542523459427860763035640387798587097378585177491819246075178907292997210873526214833261730022168878528914628804851 36786911891975296638205987470482796263704614430868785771504448411098311067806939339832451023844603206123873010134325560543939480483357237433090467344140149969155011342203901912583286994494438101947169576399576871909139010179146917064696090868970760679758981385179102110012327019518463957638438527119890193871118528406327282198784657400544261930675124100200257970266069325240479341721655351420180923903035276837797873073206410979279574302585062910407232524375908719475209041298589803173741304892930576373126279508683733052288136710738002008743291182015870584885066375633080737182113376147441680023326397976901831263946891931529482603500832204814231265441839514262894255086811355538975165340755183394894855626701426203062592730190293293620770125935286572454880600788186623983919120974883521933106101150864423912455840628012243384549478785271066163223240604994578221410949624246931948321104853119633531011883677220014833614208066987603783839852149497199052897226503283245783149524452280879527245047387713441452544407026639561622906412679906120111151309571072130110087324327357696380015178787465046061267497919317407658706071952747565005925197685118599166564500487638878132022412414178641030095442543249243750563110204751477954760416782081699361010214641090237296266969795259915913119776190449037231219199087363656791346530612287515479045148615846825861745119443100359416662869477469504686214317400605106659874791952670309624237771810721636534471204600764687500973153137143766908033983249790274568860130663556974129929004627432622261751464141088994810434828110851390922792404451767630181516650140765386333407334826193362367553289673270567824863364456319084624916591041769975254207649529320389108316603142865552778850079505316588856058360317973737116315339972250009811583696930288862162314629863092313035698307564077422827209219610354039347702595099398329944024009409877277395785382705493568807741852790553715640528291427477830874055349907359746097586793681045685467323059598075080626264203799269521461226920806460785605175661463573695671722666033516809618406363343725866817840750911675036622811610133785774927976432273451064940399355196704280058320894351125088593559156844943511250333172707516387550009586061200175275861968220553147642927196168193426034880184833270671130509712301418015691445410104593276796340259683437403082187830380265388550354630902692275712862029575771248717208503213859312923804715541965691131107252939093466534214580843799665431218042867471109426994153913322189087768040765828944658196894982950022452468106714801729165221427505892127866899875744238569146028370367651654653103634574166878209050153168577858930682359873360431607637065066420363953598683329588887765096847572671026917351780171932736154651038727982101557056627512591902802581107297004220150597998923740220969620483063788211006539000963742178071266856580250935295195949591698472357714675735373841190840104163002080453186941781678033249309211058249747491044032418120766553039390889413230655283034776410357015509956150576909973932653033101879518431295597652640880804698456109368143847537997667950273665510438882091822534831911879713067756221969682010620669527155736801998865875197974127745676135073743960332774620425852663321093572359236987305595143285425501342830085557203480171536468193400098607642692009340671516331117956888450908942211855022608961553937255048362454372746257971591365855273088245465911974233493938111189518306523879154820352308268560200267858638509274660498 59522473782363730126147752414672574257167189554602112782961434190369708219187456364857512309642948488998773643555326240903382272164113686277151392758843964720917838539551500657935880827440195452092407481012564258931805744768698286761512012823751752929850451017176415940055703887195877724308046232584593631194724656632813089666983337155382035232032870155471056782439832194556790372844500823207319796727137891075489850089259711758821779894788656177922991092302407188493510093573544002096957248304414654822375009025122352104421266700471502532126320100517705674104045715788092425003587573458530381370297618564024808497537131959294058510372845905219439764252538757636136223929296628475560663771840080655030747920447354792543446964505498687115868298543783610028230388567078888552207735502643310750618230244316417071801197229827687854425166972318438376217777234393084075355986011978846216193166502958116737008586436896966572072913088239951660153851530966591577580709481375928254725870559164108642219301505408252774686795572775016647930049128699951483128535523414066912055972672607051162441315172474762098199863348495150636055208480159626370812219506246301517494964684428142870279222996031666739053810687076013801489121665293663886366835492473685684595689492806122145037433150023908649048198666973278515460385234602667215235013701284130559470829798849199203549342330419834021855082318654261583725147850780807819954403077384591805283888469134752666819351822845991330039899353223717010195704590446889847295269501840143840608343855490624795600383987895289831702475010199320061152120659667514218300257173951363890340181105196376083441270865840565843773649620206893723147532420436193344235339707343366690607089739648421360803247689546762979609106448433980575549874202803227729385502326918535797882013284417698713172634273276132796134289403383241367971713565079505376322228414673149534790471568642061369333886381464161786433205432300069732306420975867681410634311013864744420557887483184577496125308586243508900956310190353838061672991609990540554641875295781204894214817101208823775348442119016836622256634009183473910419275988329748178540160155608940504413962420121466362678192800415200595898822391305074820777200494053446200034237427537035276121226205631588453537398267346012579362070936938171736192592910398856081580237127427282842138047076855457136820902004813860463498181027083654421847485412701860799768669841192300977304324374567004283326313052672623843713578346103196500970434418488467037728292071712663137667142441264572522478708871868837426462449109368394111152012410500919689995034380219199791537842368318167496602626118323181489899598759032360349276380893829410615774012948789663883407635853480651994649222573571105861915818708495809401028650038850966464626500630311697111097504982787164948152243909721412269859105627286016445407526903502756551833692996174329126753654431622636771510313018515683006917699238918185092198766527254761334703563419618198426008043845848377820870668484924043031970626348093430996097992185569593303490896473061847954964415188714675108993310021573954678575003655710226027226225903619404040316286784869413003616951164838529836436846801159954186330527991609101933416660769204536007423654757669107700833306335540719084535072467242679996200606040284749547295924837693035690871261417436509399109565742861665887608621560168904977832174118734627006243071675342844497151725313184186368425599521090028346567141530290222436737167423903465349 96309385674339026764353739885155370520871803985470898554465882601468019286994395704689963333487551695122646653689651801447321752647470923710241860102984114690072849881755402570519167821934633554039577057412141130840944754947845203826208103692722513609609432402355518050068030906714341681946484759704483825065843185039140371865767994555926297162707994255671314752705901519797269714566156174627500720630173167913287723162466122738101354197373719088330223616678315907968719134872133805270698553197345231195501288533806085156709403411209504540869611282533576258989112091421173162185700949605972061393624016540926639761484023890823541113873678110033671029694378271899030479016107984014535829112595264049925603547148780995606039694695791980736638424479070182483110989355265512536126856477526832683724331395180840984257037857839931238974645757589504539441017839387662296766935636225778164514271356077750268020470114116981405687121155227555443993703680463790630477935984659174037875395011444988169464348893121694227231202599414578270836461808606071594279845094486197022143296999964747542456493959939808159467361267812558294761280432907191376737417191364900684059465172067021002301635410210307769149253230325257552052231870045141841127252274555385045605904133896359441304402945283824562167974857422315746679584321966324006581544313571646038515978414696025065294461773520193438517951796123766269939465251385914479829195030054901429521660279856389201290556423610678831013052490367483918229687840237164416155400165397117970537348482923247057351848128984284642137303121050710983944525111435144399816907314716750223747515931389738450994560539111133668637014076525978348064123462206168598442989236663755798923692882513974139653327194863351835667466766407717691865214175053237540969199257207397960196643147510011748870941837353555623343509013737280715674308664477835320346237824550426930575854274135630177075739172017877426961496859777900606361770883227427508221104694910429887880947081259658122389512385513030362183230996814623666848653073564236226364541329298014512621180444934690593189193030691873245068244142969248838395708261780813118939515352313220562734856771246554956237349645358711846231995098821462370786786555253621475896205648090182919048422373825014488417583100616683709871783238356187427638003014992132877920496810864685924325877457120845687175532907506136176360210602854903139055988626561173723573385383157992108411577313660470817540893896472289274931621213574305927964588331810656125496332837541607795864037424214594974946815586670566591683876615260521978051888154739488836023404747870854444641476942485045705652779286901040420581958632392791956913445960249774569372696278378551648504483426151678912001002745503842016566857436477910958085277551442869267207607927315917261695503906527385917772726973509623276398106591028194516674383483753691847029642587872801484468330166996477962350417181517763460104641020596218341507977585504508825747595837738964979047434735261608476153703261334400047480582498670340970030645218671472821922192070714488835769113644824043252840848019241904952240514094592317849761057815499117108072508754551423624286478320575331835302721999134081932006663065353062266191281195057199328517227116906095006428449620966220427365158024446160167737074233684848154938616847033707207202379374324960308051777597884274849162558815217267432204920376706218372098344763588310409125958807122297557943906044969183166919449798850422704595805933178125847 155831859456702756890501492299827944778038993540073011337427316791837727506181852069547475643130500184121420297244978042350704024811584609987393252861828079410990688421306903228455048649374829006131984538424705389772750499716543490587720116516474266539459883419531933990123734793910219406254530992289077456260567841671953461532751331711308332394740864411142371535145733714354060087410656997834820517357311058988777573251725834496923134092162375266253214708980723096462229228445677807367655801501759886017876297558928437261130670111681007072995931383051281933093157807209265587189288523064502442763921635104951448259021155850117599624246524015253110793946917029535166702945404612490096492884435344704956351467596135788149486659201290667852506723022853792511341377922344401088334591980170143434342561639497258056058235087667619093399812729907942915658795073780746372122921648204624380707437859035867005029056551013947977760034243467507104147555211430382208058645466035102292601265570609096811683650398529947001917998172189594918766510937306023077408380617900263934199269672571798704897809132414570257667224616307708930816488913066817747549636697611202201554429856495163872580858406241974508203063917401271353541353535338805727494087767029070730201593626702481586341836095307733211216173524395594262139969556568991221816558014855776597986808213545224268843804103940027460373034114778027853664613102166722299783598107439493234805548748991141868109908246456670161052951843591200928425392430684054263450669667237261811145692338413871852952232116879574473839778131250031045096645771102658618117164488668114114087697036586114534435831404951699512410663696732872071211655882642361942678328944007122489530782622162395500456574884410114815276573214841698267415088377856465270354701584125933758078656431927710462043576110629688419477798417120522083646022229557340696668466239223576465366325842777691546409625553482039213394702292077970338668191859095108918855415708775174308438834564444235618514820971756539263139541187168461728521644683554776781006416625079219406835997546143514368537635149708709867324878152152722748814984250110561297479675507922161067148819191368021318915542445773912442130817490126537191563987049307067675930443075627218195169648579456602941954981367962696289233854175294359163830595925390988959500733938291968766463924533976302823996434912319996639858391629938557560903474039263034523342055224350293085715901688227475100867206949144913118645199559677502428935022750299123163224624909254270933531179865479167497425524458539404018146325724628916089203900565240408526018439128090054236179319310803213202255405405224221910481557391425152306189826854079185185146709227168215531912119279632330906650225319074947878482676144973720359113927590293835731834108557627614372793008889314550865924970883231035546257212218314210962081910387256448398863335584047130611221984598619114733860730200033446467022340259514403433706744112759270160451159257357163405055478581109986297024371746258443079451208846763771966128637404241066125413088543776336790733528833538718361834158040815859630815517750302543876987283719118521148388795539420836627903429485413861671739568800294036118337191056962164199607941964261735335940881874575202707261755956506939511900230491688840163937680273969597702234541684726742898073640791761469707161343340745940736771180375386172410037094495440845378341416438931154906277684120306483926369505566059211513486591329140645141332973357081591196 252141245131041783654855232184983315298910797525543909891893199393305746793176247774237438976618051879244066950934629843798025777459055533697635112964812194101063538303062305798974216471309462560171561595836846520613695254664388694413928220209196780149069315821887452040191765700624561088201015751993561281326411026711093833398519326267234629557448858666813686287851635234151329801976813172462321237987484226902065296414191957235024488289536094354583438325659039004430948363317811612638354354699105117213377586092734522417840073522890511613865542665584858192082269898630438749374989472670474504157545651645878088020505179740941140738120202125286781823641295301434197181961512596504632321997030608754881955014744916783755526353897082648589145147501923974994452367277609913624461448457696976118066893034678099040315272945507550332374458487497447455099812913168408668889857284430402545221709215113617273049526665130929383447155398695062548141258891894172838536581450694276330476660582054084981147999291651641229149200771604173189602972745912094671688225712386460956342566672536546247354303092354378417134585884120267225577769345974009124287053888976102885613895028562184874882493816452282277352317147726528905593585405383947568621340041584455775807497760598841027646239040591557773384148381817910008819553878535315228398102328427422636502786628241249334138265877460220898890985910901794123604078353552636779612793137494394664327209028847531069400464670067348992066004333958684846655080270921218679606069832634379781683040821337118910304080245863859115977081252300742029041170882537803017934071803384864337835212967975852985430391944062833181047677773258850419275779344848530541121318180670878288454475504676369640109902079273466650944039981249415959280302552909702811323900841333331718275299579437722210914517947983244042821307430857802799320330894035176017014704063774003395942180116913321723485364725499916640356199151855870945029962742322536427076520403685604196319781645703893740904333357269569625322772183983085395370297757119013007370957954377233919457177991078204961726828180400583112393122295121971587210692511891374416419190860235381629883675962614576275152892091132624288362812588947999562350773604560689151826648723717401114218070953281617430372564468579379999105637413650546591468598940383121837421230749156654690789801991097148511171967819826132816218602232793460699959462665824208246915440607508285194127479001887945918408100845617202393576820773251808356899611082109779288720957746795878729395217289693762472372340045209970609830202339889438067255788719979897362041843875960908680820796253288258907908184692125262331063516023817944263103272814328959754519405505546767180416602705784009818651228064578789895049533581451631317199205141736704999041716484943531634488512795841936783697697856740658822655318809342405478756293871010140245892978171919932095690314765615592696211147381551209927126981280110621775214721698263778986198755095096128384102913316371594773178075007592843126931791345434112936159282622912538947335280614490825626502642478362761614675006060057764583056031844894861726748341534617638256461304293972260252189907805989193507042290799428118050343854122315226465799223159318934664458108991481297713690205577473159939265388516135000331674754507654445857173158531760450105276020166086430015213120938630215585933739190603439842242014872147063750439761202519465315403642927428781484313411611028394680406041127991067845928779290259717043 407973104587744540545356724484811260076949791065616921229320516185143474299358099843784914619748552063365487248179607886148729802270640143685028365826640273512054226724369209027429265120684291566303546134261551910386445754380932185001648336725671046688529199241419386030315500494534780494455546744282638737586978868383047294931270657978542961952189723077956057822997368948505389889387470170297141755344795285890842869665917791731947622381698469620836653034639762100893177591763489420006010156200865003231253883651662959678970743634571518686861474048636140125175427705839704336564277995734976946921467286750829536279526335591058740362366726140539892617588212330969363884906917208994728814881465953459838306482341052571905013013098373316441651870524777767505793745199954314712796040437867119552409454674175357096373508033175169425774271217405390370758607986949155041012778932635026925929147074149484278078583216144877361207189642162569652288814103324555046595226916729378623077926152663181792831649690181588231067198943793768108369483683218117749096606330286724890541836345108344952252112224768948674801810500427976156394258259040826871836690586587305087168324885057348747463352222694256785555381065127800259134938940722753296115427808613526506009091387301322613988075135899290984600321906213504270959523435104306450214660343283199234489594841786473602982069981400248359264020025679821977268691455719359079396391244933887899132757777838672937510372916524019153118956177549885775080472701605272943056739499871641592828733159750990763256312362743433589816859383550773074137816653640461636051236292052978451922910004561967519866223349014532693458341469991722490487435227490892483799647124678000777985258126838765140566476963683581466220613196091114226695390930766168081678602425459265476353956011365432672958094058612932462299105847978324882966353123592516713683170302997579861308505959691013269894990278981955853750901443933841283698154601417645345931936112460778504758616210148129359419154329026108888462313371151547123891942440673789788377374579456453326293175537221719330264463330109292979718000447274694336025676762001935713898866368157542697032495153982597594068434536906536730493630079074536753914760653867756827757091799344619309387719532738220372327545836542076288339491588944905755299194865774110796921964687448623457253726525073451335168402732146129456076993862732018260862936705087242770257495831858578279843380690115421019275307794762115512222020332929310785834633832408902451945582656050149662926397155172929969797864503749374627976528064518354156459689285220305888060283004050962917000115564091472110163590097349484241545073415243096569293099668408144939666114732714982712328721985416340725301453383653737773532209726425351676313132732030540730875825042571146007281521685156487649622668739971694368912531027656616440838204258266588644756313755967062706912299364234707430071877581584656394149321539625025208921465811023049146649914352453291789158391897481581070202446753851286206383000192197884902287920027153605072748369158267162417236171311901479976509164100873624213871549595197405603735625253736159404850099833393096880093337291403055178781859599722154168681045179277390665407165123580670000398990866056500420951961533980099451165619007823840495612434781624043559407700216487193003349660957847899722374464279376156322704919565989612252279109367587909128781177641450620221681327047735265410682917177087606193892632457131712987261752647341308239 660114349718786324200211956669794575375860588591160831121213715578449221092534347618022353596366603942609554199114237729946755579729695677382663478791452467613117765027431514826403481591993754126475107730098398431000141009045320879415576556934867826837598515063306838070507266195159341582656562496276200018913389895094141128329789984245777591509638581744769744110849004182656719691364283342759462993332279512792908166080109748966972110671234563975420091360298801105324125955081301032644364510899970120444631469744397482096810817157462030300727016714220998317257697604470143085939267468405451451079012938396707624300031515331999881100486928265826674441229507632403561066868429805499361136878496562214720261497085969355660539366995455965030797018026701742500246112477564228337257488895564095670476347708853456136688780978682719758148729704902837825858420900117563709902636217065429471150856289263101551128109881275806744654345040857632200430072995218727885131808367423654953554586734717266773979648981833229460216399715397941297972456429130212420784832042673185846884403017644891199606415317123327091936396384548243381972027605014835996123744475563407972782219913619533622345846039146539062907698212854329164728524346106700864736767850197982281816589147900163641634314176490848757984470288031414279779077313639621678612762671710621870992381470027722937120335858860469258155005936581616100872769809271995859009184382428282563459966806686204006910837586591368145184960511508570621735552972526491622662809332506021374511773981088109673560392608607292705793940635851515103178987536178264653985308095437842789758122972537820505296615293077365874506019243250572909763214572339423024920965305348879066439733631515134780676379042957048117164653177340530185975693483675870893002503266792597194629255590803154883872612006596176505120413278836127682286684017627692730697874366771583257250686076604334993380355004481872494107100595789712228728117343740181773008456516146382701078397855852023100323487686295678513785085555134632519262240197792802795748332533833687245750353528299924291991291510509876092111122742396665923236369273893310130318057228392924326916171116597173869221326628039161018856442668022536316265534258428445979583740523062020423605790486019837802700110305121456287445129002595452346767793806157232634343195436605278148043528516170599846340370551972262272295596095525478960822399370911451017172936439366863473970859692003366937683408640379317905798841106181119142734244914518681740666540402846028392321614444866692442170204548959345237806730404407792223715478005200203250102126880011871597820911817379731018071774789474746572608589439061040832396372482737104694185520238261749892745324691200350543952681448232527668581743307876982993512337873767245729917541527514677641770034480998424433320366596712353191567849836999021919594498129276728890649291927886994802602614129850300126283024963135866321276302819735646984136187509286828132848669447549420173261305213853175843380521761444129333314791537631997838447202650066144020083649772757988043738813790264241591184170160931388796927581440092267330483966788353797661311404127365357132283245097392248685824150399150272219024899301592617131206388282899604664857099857537798134642167111453259390431007523958840827287189289278489416580858748247643108625681123934329737587585218006371908638658756593052094521124239734972879220938843970085537084969975164046894996328788116000874298673585122780833190531937601025282 1068087454306530864745568681154605835452810379656777752350534231763592695391892447461807268216115156005975041447293845616095485382000335821067691844618092741125171991751800723853832746712678045692778653864359950341386586763426253064417224893660538873526127714304726224100822766689694122077112109240558838756500368763477188423261060642224320553461828304822725801933846373131162109580751753513056604748677074798683751035746027540698919733052933033596256744394938563206217303546844790452650374667100835123675885353396060441775781560792033548987588490762857138442433125310309847422503545464140428398000480225147537160579557850923058621462853654406366567058817719963372924951775347014494089951759962515674558567979427021927565552380093829281472448888551479510006039857677518543050053529333431215222885802383028813233062289011857889183923000922308228196617028887066718750915415149700456397080003363412585829206693097420684105861534683020201852718887098543282931727035284153033576632512887380448566811298672014817691283598659191709406341940112348330169881438372959910737426239362753236151858527541892275766738206884976219538366285864055662867960435062150713059950544798676882369809198261840795848463079277982129423863463286829454160852195658811508787825680535201486255622389312390139742584792194244918550738600748743928128827423014993821105481976311814196540102405840260717617419025962261438078141461264991354938405575627362170462592724584524876944421210503115387298303916689058456396816025674131764565719548832377662967340507140839100436816704971350726295610800019402288177316804189818726290036544387490821241681032977099788025162838642091898567964360713242295400250649799830315508720612430026879844424991758353899921242856006640629583385266373431644412671084414442038974681105692251862670983211602168587556830706065209108967419519126814452565253037141220209444381044669769163118559192036295348263275345283463828347858002039723553512426271945157827118940392628607161205837014066000152459742642015321787402247398926286179643154182638466592584125707113290140572043529065521643622255754840619169071829123189671360259262046035895245844216923596550467023948666270579771463289761164945697749350072747097073070180294912296202807340832322406639732993510018758058175027656141663532575784620591540358102066988671931343431265160124053901605297255041244051181508773284118391728372589958257497221685336075998693787430432271225441753814240382118787956958716435141433418020861439110429928568878746927584192612123058896178055248011600039622411968069052708719865783258468926146380175167290420509138162409884062834514821027381471203128235364886824230814153662854304137401689472151145249633851634970976732605074046676616691269254134831886265442113953034302334669825470605797786460793366570085823649051556166154912082943035336684047560480380864655638360432702387543317535405605683854057509514913494085007556354902544720522715425624359360672193057653320309877279498583800002711962419697111334756913582968515295415539697791729829882740735122677219749092832018931025150460974985102165721567693334261805013010799131035289672934219592042089957066161503960758454012376582388795303864606009998872426387705944480870007796613553406480274665256090723594298555594128645433358841596626531782681322899624070902532975988558964734836111975342081782229459962049497382528231343578322582664346800233607322882008002116485420705758766297022899312305679245965203607068191306042254493820452284584942333521 1728201804025317188945780637824400410828670968247938583471747947342041916484426795079829621812481759948584595646408083346042240961730031498450355323409545208738289756779232238680236228304671799819253761594458348772386727772471573943832801450595406700363726229368033062171330032884853463659768671736835038775413758658571329551590850626470098144971466886567495546044695377313818829272116036855816067742009354311476659201826137289665891843724167597571676835755237364311541429501926091485294739178000805244120516823140457923872592377949495579288315507477078136759690822914779990508442812932545879849079493163544244784879589366255058502563340582672193241500047227595776486018643776819993451088638459077889278829476512991283226091747089285246503245906578181252506285970155082771387311018228995310893362150091882269369751069990540608942071730627211066022475449787184282460818051366765885868230859652675687380334802978696490850515879723877834053148960093762010816858843651576688530187099622097715340790947653848047151499998374589650704314396541478542590666270415633096584310642380398127351464942859015602858674603269524462920338313469070498864084179537714121032732764712296415992155044300987334911370777490836458588591987632936155025588963509009491069642269683101649897256703488880988500569262482276332830517678062383549807440185686704442976474357781841919477222741699121186875574031898843054179014231074263350797414760009790453026052691391211080951332048089706755443488877200567027018551578646658256188382358164883684341852281121927210110377097579958019001404740655253803280495791725996990944021852482928664031439155949637608530459453935169264442470379956492868310013864372169738533641577735375758910864725389869034701919235049597677700549919550772174598646777898117909867683608959044459865612467192971742440703318071805285472539932405650580247539721158847902175078919036540746375809878112899683256655700287945700841965102635513265741154389288898008891948849144753543906915411921852175560066129701617465916032484481420812162416422836259395379874039647123827817793882593821567914247046351129045163940245932068026182498415309788555974534980824943391350864837387176945332511087792984858768206515415119609386445829170724648786924572845468660156599300504777895977727766446784988863229749594135810448834782478088576065608355560659179753340783557414651027849143836090654000668186053782976182507735446910144804603368710592305227785100074122154894642125075520751323819702545291549071303123661446265933278663461742206447569626044906314854138273601668065103589988873333938603890645295620712388264536764074706112641939198850934146307139676298977386762252293365178234085844633882354328037155209238482497819371367817041813206816280118793110695696342179317663337808479565032190710908097600501290821590647153336516263401933396400752048230701654660280027200516820046426054897611741052312117527623935307682637927507856389036701927179096319177193840829596705412347253247552132135681002325187932756963490276739544873012583267461880579182325327285893112915668703783138504713798892429963158877504422736401807726712475381940264703558830443754727472908088123811144659827486187552550430160398022698606730843782462624927819941689379879330113190581132096690236295756886618232027634055741522150186813360181022392569417712982479220601023205716559197549634715388900139982237079175716441321357847057854887223055329390791295851266998063359200675574753319607942489979627377274653642816522543358803 2796289258331848053691349318979006246281481347904716335822282179105634611876319242541636890028596915954559637093701928962137726343730367319518047168027637949863461748531032962534068975017349845512032415458818299113773314535897827008250026344255945573889853943672759286272152799574547585736880780977393877531914127422048517974851911268694418698433295191390221347978541750444980938852867790368872672490686429110160410237572164830364811576777100631167933580150175927517758733048770881937945113845101640367796402176536518365648373938741529128275903998239935275202123948225089837930946358396686308247079973388691781945459147217178117124026194237078559808558864947559149410970419123834487541040398421593563837397455940013210791644127183114527975694795129660762512325827832601314437364547562426526116247952474911082602813359002398498125994731549519294219092478674251001211733466516466342265310863016088273209541496076117174956377414406898035905867847192305293748585878935729722106819612509478163907602246325862864842783597033781360110656336653826872760547708788593007321736881743151363503323470400907878625412810154500682458704599333126161732044614599864834092683309510973298361964242562828130759833856768818588012455450919765609186441159167820999857467950218303136152879092801271128243154054676521251381256278811127477936267608701698264081956334093656116017325147539381904492993057861104492257155692339254705735820335637152623488645415975735957895753258592822142741792793889625483415367604320790020754101906997261347309192788262766310547193802551308745297015540674656091457812595915815717234058396870419485273120188926737396555622292577261163010434740669735163710264514172000054042362190165402638755289717148222934623162091056238307283935185924203819011317862312559948842364714651296322536595678795140329997534024137014394439959451532465032812792758300068111619459963706309909494369070149195031519931045571409529189823104675236819253580661234055836010889241773360705112752425987852328019808771716939253318279883407706991805570605474725987963999746760413968389837411659343211536502801191748214235769369121739386441760461345683801818751904421493858374813503657756716795800848957930556517556588162216682456626124083020851594265405167875299889592810523535954152755422588448521439014370185676168550901771150019919496873515684713081358638038598658702209357917120209045729040776012040473404193071522908838592033800981817746981599340456240942851600841510662184741840563984401978999872002408373850125890786520638384502817637644945937266106342654376784969373247342260084984065812586041221526426946648137540627462966580322137274542504563123208200915915147669315635775316785027603961888790180215215102893418044433733082460951112005058552809649376481652333163279085362818651504274667686324939873146813308248599206437270080448312528611566310298640459902904363363961460503295595109821632441118020315238992830052576911752127551538456991370251494149906582691845837047554844098100699436522689670546458792034960412710374997291763319917448004505642205747687634808288965688783994595684726570838684541414818525843510671613198923150872533711793634412048882265157036409874982856415036170396895124994436788263332632724433495095860153995369281304726395245830424402319977073624260587524203473086437431083555368557976677717315332576365287498788657511684212771428371325815401758380788121591454380736895225171814811497054617564020962671506354820718523215010681285669631768474095101107485692324 4524491062357165242637129956803406657110152316152654919294030126447676528360746037621466511841078675903144232740110012308179967305460398817968402491437183158601751505310265201214305203322021645331286177053276647886160042308369400952082827794851352274253580173040792348443482832459401049396649452714228916307327886080619847526442761895164516843404762077957716894023237127758799768124983827224688740232695783421637069439398302120030703420501268228739610415905413291829300162550696973423239853023102445611916918999676976289520966316691024707564219505717013411961814771139869828439389171329232188096159466552236026730338736583433175626589534819750753050058912175154925896989062900654480992129036880671453116226932453004494017735874272399774478940701707842015018611797987684085824675565791421837009610102566793351972564428992939107068066462176730360241567928461435283672551517883232228133541722668763960589876299054813665806893294130775869959016807286067304565444722587306410637006712131575879248393193979710911994283595408371010814970733195305415351213979204226103906047524123549490854788413259923481484087413424025145379042912802196660596128794137578955125416074223269714354119286863815465671204634259655046601047438552701764212030122676830490927110219901404786050135796290152116743723317158797584211773956873511027743707794388402707058430691875498035494547889238503091368567089759947546436169923413518056533235095646943076514698107366947038847085306682528898185281671090192510433919182967448276942484265162145031651045069384693520657570900131266764298420281329909894738308387641812708178080249353348149304559344876375005086081746512430427452905120626228032020278378544169792576003767900778397666154442538091969325081326105835984984485105474975993609964640210677858710048323610340782402208145988112072438237342208819679912499383938115613060332479458916013794538882742850655870178948262094714776586745859355230031788207310750084994735050522953844902838090918114249019667837909704503579874901418556719234312367889127803967987028310985383343873786407537796207631294253164779450749847542877259399709615053807412624258876655472357793286885246437249725678341044933662128311936750915415285763103577336291843071953253745500381189978013343960046192111028313850130483189035233510302244119779811978999736553628108495562481871245372261111978822156073353237207060956299699729708962065823449586700806969818983396637169692410052209384440530363097746242966586182936065660266529693528071175126069820116059169449982380590950387263689852252120244616256044850072963236215594023587956457881661933914691483412212246740104905779173071420849644239422185587678167441034493869861161418909958289925945389453697600712789412250774895667767392123851663505345718660969996501087564927850842215182765286826230694737460461585115469839203476849064576842267964958920487103421183410387515400907336162133749968741955622921630757560433300788829478717553310547445334979503288104193090295106976233781701761710622427509949068774505285722958264753643899099773331791535318663356338591427470402582887025647885448343107277816626252555986053553463626709702977466521107320137006076301696237361170408965466330794917823601167632045795257652253436785240033325482471885858491936066720159206595305651894643265725623273250791264577761127394390699794553177388493215347855061318928160328511308052480934097229442949301438591782448227144202288350468831019026030707030395471842822953171265297009043127737917630029051127 7320780320689013296328479275782412903391633664057371255116312305553311140237065280163103401869675591857703869833811941270317693649190766137486449659464821108465213253841298163748374178339371490843318592512094946999933356844267227960332854139107297848143434116713551634715635632033948635133530233691622793839242013502668365501294673163858935541838057269347938242001778878203780706977851617593561412723382212531797479676970466950395514997278368859907543996055589219347058895599467855361184966868204085979713321176213494655169340255432553835840123503956948687163938719364959666370335529725918496343239439940927808675797883800611292750615729056829312858617777122714075307959482024488968533169435302265016953624388393017704809380001455514302454635496837502777530937625820285400262040113353848363125858055041704434575377787995337605194061193726249654460660407135686284884284984399698570398852585684852233799417795130930840763270708537673905864884654478372598314030601523036132743826324641054043155995440305573776837067192442152370925627069849132288111761687992819111227784405866700854358111883660831360109500223578525827837747512135322822328173408737443789218099383734243012716083529426643596431038491028473634613502889472467373398471281844651490784578170119707922203014889091423244986877371835318835593030235684638505679975403090100971140387025969154151511873036777884995861560147621052038693325615752772762269055431284095700003343523342682996742838565275351040927074464979817993849286787288238297696586172159406378960237857647459831204764702682575509595435822004565986196120983557628425412138646223767634577679533803112401641704039089691590463339861295963195730542892716169846618365958066181036421444159686314903948243417162074292268420291399179812621282502523237807552413038261637104938803824783252402435771366345834074352458835470580645873125237758984125413998846449160565364548018411289746296517791430764759221611311985986904248315711757009680913727332691474954132420263897556831599683673135495972552592251296834795773557633785711371307873533167951764597468705912507990987252648734625473635478984175546799066019338001156159612038789667931108100491844702690378924112785708845971803319691739552974299698077336766351975455383181219259935784921551849804283238611623682031741258489965488147550638324778128415059355386930085342470616860754732055446564978076508745458749738077863922990893878492727821988670970674227799190983780986604040597843808096845120807500830514095507071047128478193966185060236503018975453204901334798189386350958910421635042336483557854108572022270467703155441118430060349787367567872359495208695392148802545393788594082588703809505636478203937562251814735569668912703606207456684507978128718504128910216314995095142622329664366650290669493719457432973151170567884273769833714676276473557297377105453834275257560947006325546774348975904202931271955382409859975938160623587613010212540957030256010301917696829129409870796038927342661820331882401198233312098056407860809465698433333262045407219017221336297177524411043973399716436091366881621332612019181791819231444778399496725166662549860575511178314741732185888341458732647236153265380502501191812948595604420309127890376686931881100187320851753190584887181897144561526572379276155230789929096359688222348133129685371068417109885753753780714136512573003140931756882633867882692478017564540755819328677673398959013785405086395039988702213385216190366037963852550966640811601833018737514743451 11845271383046178538965609232585819560501785980210026174410342432000987668597811317784569913710754267760848102573921953578497660954651164955454852150902004267066964759151563364962679381661393136174604769565371594886093399152636628912415681933958650122397014289754343983159118464493349684530179686405851710146569899583288213027737435059023452385242819347305655136025016005962580475102835444818250152956077995953434549116368769070426218417779637088647154411961002511176359058150164828784424819891306531591630240175890470944690306572123578543404343009673962099125753490504829494809724701055150684439398906493163835406136620384044468377205263876580065908676689297869001204948544925143449525298472182936470069851320846022198827115875727914076933576198545344792549549423807969486086715679145270200135468157608497786547942216988276712262127655902980014702228335597121568556836502282930798532394308353616194389294094185744506570164002668449775823901461764439902879475324110342543380833036772629922404388634285284688831350787850523381740597803044437703462975667197045215133831929990250345212900296920754841593587637002550973216790424937519482924302202875022744343515457957512727070202816290459062102243125288128681214550328025169137610501404521481981711688390021112708253150685381575361730600688994116419804804192558149533423683197478503678198817717844652187006420926016388087230127237380999585129495539166290818802290526931038776518041630709630035589923871957879939112356136070010504283205970255686574639070437321551410611282927032153351862335602813842273893856103334475880934429371199441133590218895577115783882238878679487406727785785602122017916244981922191227750821271260339639194369725966959434087598602224406873273324743267910277252905396874155806231247142733915666262461361871977887341011970771364474874008708554653754264958219408696258933457717217900139208537729192011221234726966673384461073104537290119989253399519296736989243050762279963525816565423609589203152088101807261335179558574554052691786904619185962599741544662096696754651747319575489560805100000165672770438002496277502733035188599229354211690278214656628517405325674914368357826170185747624041052424722459761387089082795316889266142770030590511852356645361194563219981977032580163654413721800658915542043502609745300126550374878406236910621837258175457603582595682910805408683772039032808445188458700143687372577594685462546805385308140366637851400368221516967138344086774683028056873161097043789035142222254548014082244229686485399566403592165024650441506595575166466485115299719773448132159978728349365089355809913472562034107672778138668280116241793041967579376272250029738303375497639622847520541740680959122610304318996868935282873796485896252761879820340813803592326165454215218520335934640198259977401262621734231418830146115677034146441682296102240216481434109746730184736491305110267434089132378601931561082254345173443513329786508973563612465142164108913158900232017637768796565664102959943934525566356929583970984156291526799051118116994668088712843074400311991143906493949768646980497467524899097048071030955482778720126176570278488644835849052322894417760428884597323674345968831986730772196772052354923148028940368666340220646334225076443379117963864720733167684928049874055654719632939013612710890812765459116904438931142273929484367634322069092085393941920363626575247007490057257920460121626103216073755555226059014732920415611662208860917023816263649854729570936367543794578 19166051703735191835294088508368232463893419644267397429526654737554298808834876597947673315580429859618551972407733894848815354603841931092941301810366825375532178012992861528711053560000764627017923362077466541886026755996903856872748536073065947970540448406467895617874754096527298319663709920097474503985811913085956578529032108222882387927080876616653593378026794884166361182080687062411811565679460208485232028793339236020821733415058005948554698408016591730523417953749632684145609786759510617571343561352103965599859646827556132379244466513630910786289692209869789161180060230781069180782638346434091644081934504184655761127820992933409378767294466420583076512908026949632418058467907485201487023475709239039903636495877183428379388211695382847570080487049628254886348755792499118563261326212650202221123320004983614317456188849629229669162888742732807853441121486682629368931246894038468428188711889316675347333434711206123681688786116242812501193505925633378676124659361413683965560384074590858465668417980292675752666224872893569991574737355189864326361616335856951199571012180581586201703087860581076801054537937072842305252475611612466533561614841691755739786286345717102658533281616316602315828053217497636511008972686366133472496266560140820630456165574472998606717478060829435255397834428242788039103658600568604649339204743813806338518293962794273083091687385002051623822821154919063581071345958215134476521385154052313032332762437233230980039430601049828498132492757543924872335656609480957789571520784679613183067100305496417783489291925339041867130550354757069559002357541800883418459918412482599808369489824691813608379584843218154423481364163976509485812735684033140470509042761910721777221568160429984569521325688273335618852529645257153473814874400133614992279815795554616877309780074900487828617417054879276904806582954976884264622536575641171786599274985084674207369622328720884748475010831282723893491366474036973206730292756301064157284508365704818166779242247689548664339496870482797395515102295882408125959620852743441325402568706078180761425255145012128206670667583404901010756297552657784677017364464582299465926662030450314419976537508168607358892402487056442240442468107927278204332100744375782479917761954132013458696960412282597573784761099710788274101013203184365325681192645105542946053212543665537464130337017109317190647208438221551295568488563955274627373979111040865650591352002503571178941930582779873177680661927557884542213269383026208048429289922988418541856797066359448630892946534076888120157636203331302240732000998817068244796928343532911821475240650498163488811633941844512973164866332618442112881134117826785082793555416528791523007925204325619790851925204400381672096135335908946214655829820865509189829654097631233128571830506008001252544822392150591443818787749936515474042381116072276959085467209313198706044514788461907499242877932786453725870743539229573914382838993238323029696270944980430616897546504158177246623622764790393436682589624788844458337134216004385890367485444285390860342585316650268313109486706690916279515809354979503886788726430853999823150590784508782759219161531833476939726471333178543720792376472664051038405627300547440407967185978267028266299861009282259740064204205104845583815992627235960844020498136527534014324684896054643620880207325210023842276575788246319053264572030813077249137795025062229859160641621099003435133800827852574898880876367230290666331403955105058538029 31011323086781370374259697740954052024395205624477423603936997169555286477432687915732243229291184127379400074981655848427313015558493096048396153961268829642599142772144424893673732941662157763192528131642838136772120155149540485785164218007024598092937462696222239601033872561020648004193889606503326214132381812669244791556769543281905840312323695963959248514051810890128941657183522507230061718635538204438666577909708005091247951832837643037201852819977594241699777011899797512930034606650817149162973801527994436544549953399679710922648809523304872885415445700374618655989784931836219865222037252927255479488071124568700229505026256809989444675971155718452077717856571874775867583766379668137957093327030085062102463611752911342456321787893928192362630036473436224372435471471644388763396794370258700007671262221971891029718316505532209683865117078329929421997957988965560167463641202392084622578005983502419853903598713874573457512687578007252404072981249743721219505492398186313887964772708876143154499768768143199134406822675938007695037713022386909541495448265847201544783912477502341043296675497583627774271328362010361788176777814487489277905130299649268466856489162007561720635524741604730997042603545522805648619474090887615454207954950161933338709316259854573968448078749823551675202638620800937572527341798047108327538022461658458525524714888810661170321814622383051208952316694085354399873636485146173253039426784761943067922686309191110919151786737119839002415698727799611446974727046802509200182803711711766534929435908310260057383148028673517748064979725956510692592576437377999202342157291162087215097275610293935626295829825140345651232185435236849125007105410000099904596641364135128650494892903697894846774231085147491425083776787991069140077335762005592879620827766325981352183788783455141582882375274287973163740040672194784403831074304833183007834001951758058668442726866011004737728410350579460882734417236316936732546858179910653360436596467512079501958800822243601356126401489668759995256646957979104880611368172318930886207668706243853531863257641289630939705856182634255222446575767314413194422690139496667823752832216197938461028962230628368745981485282373331506585238138517790056688746105570345699899738986712177113110682212941513115828263709456088400651388081590602236303029903281000549635808226576342872814109056142125635835667138365238668146083249417821432759287251407503501991720224020538317286017357462901234553823024601673577355491637574222130673519609473818108260389231384099072399542109243354605272935923104750372891979727166433334152738257005473855582913428636831768927875734886480552541138582648180416256631757449632603335296097487914133312244201194555073725721690296634433975955676722749806981995275080727710165588737829493105973093127742232671374968507827625590260470046038755690523815225819007143821958514423466140133647167063839060325132277959897239200530048203137526847981157347236188596502962618199413463210607118121181149189121719977407666745916315643509455251210672474603210559844597382004249079266418915293606954231590013327586840310462282606914903001132488467986439836831677176979590416430800614072440165165274492989148525018974186434567669213780628613520203343471645417824874002992907749132254978901238535625566249573554911310901986650918763616038328573105247841647279115927670517708609945628511579520870335169597916651165445932916196847158018168054216439514783759797900183493940521060974891472602332607 50177374790516562209553786249322284488288625268744821033463651907109585286267564513679916544871613986997952047389389743276128370162335027141337455771635655018131320785137286422384786501662922390210451493720304678658146911146444342657912754080090546063477911102690135218908626657547946323857599526600800718118193725755201370085801651504788228239404572580612841892078605774295302839264209569641873284314998412923898606703047241112069685247895648985756551227994185972223194965649430197075644393410327766734317362880098402144409600227235843301893276036935783671705137910244407817169845162617289046004675599361347123570005628753355990632847249743398823443265622139035154230764598824408285642234287153339444116802739324102006100107630094770835709999589311039932710523523064479258784227264143507326658120582908902228794582226955505347174505355161439353028005821062737275439079475648189536394888096430553050766717872819095201237033425080697139201473694250064905266487175377099895630151759599997853525156783467001620168186748435874887073047548831577686612450377576773867857064601704152744354924658083927244999763358164704575325866299083204093429253426099955811466745141341024206642775507724664379168806357921333312870656763020442159628446777253748926704221510302753969165481834327572575165556810652986930600473049043725611631000398615712976877227205472264864043008851604934253413502007385102832775137849004417980944982443361307729560811938814256100255448746424341899191217338169667500548191485343536319310383656283466989754324496391379717996536213806677840872439954012559615195530080713580251594933979178882620802075703644687023466765434985749234675414668358500074713549599213358610819841094033240375105684126045850427716461064127879416295556773420827043936306433248222613892210162139207871900643561880598229493568858355629411499792329167250068546623627171668668453610880474354794433276936842732875812349194731889486203421181862184776225783710353909939277150936211717517721104833216897668738043069933150020465898360151557390771749253861513006570989025062372211610237412322034293288512786301759146376523766039156233202873319972197871440054604078967289679494246648252881005499738796976104873887769429773747027706246445068261020846849946128179817500940844190571807642625224110689613024809166876674752401284774967561984222548386543495689020770241880336944446073251442826482875576586789963714571813373096060133266362448369152583072226524109496227947940242774412234484952159558119568761020600430179102809532462236650117186297743547703292488643320242725430572126436052613623980725983501578949666600538385677058154079134995257739509676730993525706004915266622529137765875276417686128851514016705656320169405520174864577646894697016106072091012631696021637825095946236899995242835460726234544923633750233923919790899978217034079257795975271164566196341891284102907425723736664846178161955525746559568010210746350965071273587432711441230820150585559218292773907598630030360757111276298427772811886510370844349335541104487967792385426676860493578045288882772864591664583069183606716440938280929607102649665441786493703629431986488291137030621340459936198751948264277553798911498343818213781524997683025224840194969761221036580706181610499911717685883285252647813336460083746822351618193485534398931809038514184933088300934383216726128048972489139769947093496856264681776151551683412418735711676227675792076838468257021603188017267367358658678776550724231187392378846577660870636 81188697877297932583813483990276336512683830893222244637400649076664871763700252429412159774162798114377352122371045591703441385720828123189733609732904484660730463557281711316058519443325080153402979625363142815430267066295984828443076972087115144156415373798912374819942499218568594328051489133104126932250575538424446161642571194786694068551728268544572090406130416664424244496447732076871935002950536617362565184612755246203317637080733292022958404047971780213922971977549227710005679000061144915897291164408092838688959553626915554224542085560240656557120583610619026473159630094453508911226712852288602603058076753322056220137873506553388268119236777857487231948621170699184153226000666821477401210129769409164108563719383006113292031787483239232295340559996500703631219698735787896090054914953167602236465844448927396376892821860693649036893122899392666697437037464613749703858529298822637673344723856321515055140632138955270596714161272257317309339468425120821115135644157786311741489929492343144774667955516579074021479870224769585381650163399963683409352512867551354289138837135586268288296438855748332349597194661093565881606031240587445089371875440990292673499264669732226099804331099526064309913260308543247808247920868141364380912176460464687307874798094182146543613635560476538605803111669844663184158342196662821304415249667130723389567723740415595423735316629768154041727454543089772380818618928507480982600238723576199168178135055615452818343004075289506502963890213143147766285110703085976189937128208103146252925972122116937898255587982686077363260509806670090944187510416556881823144232994806774238564041045279684860971244493498845725945735034450207735826946504033340279702325490180979078211353967825774263069787858568318469020083221239291753969545924144800751521471328206579581677357641810770994382167603455223232286664299366453072284685185307537802267278888600791544255076060742894223931831532441645658960200946670846671824009116122370878157701300728977170696843892176751376592299849820317386028396211840617887182357197381303097817906118565887825151770427591390086082379948673411455649449087286611065862744743575635113432326462846191342034461969425344850855373051803105253612944384962858317709592955516473879717239927556367684918324838165623805441288518622965075403789366365569798287252451667544045324828996818223209758555129393568462318542714952028631860655062790917492892553613855872654574792450544647813513965297705675646788307976761231696924252658174652309776329141936054758377575529127646775692030752563597330703508049540802986515960453149934913102404857543859532641067507771827026667385411617474078247143497914802945394397632726050289464147611504619789632413606714729938303368584993650540048046689354445828619820371026964610160831573290219340518016761492466595294759407805842624339727842014026855090011567710291246729384238160130986311809122589585619893142488706248204271803635635848968078801307932795406889276870216829443823967718394419608922001008230348252016081457420131477247636637349335096788605133480154868840743849488098900323395169870942934689489975904069100618532433118976759123470458172137113178342364695078167871351663509092706770673522701999411274762638975001665194226384953971557135510757288245555562468715062648060887243759735107953843119940500835851851916972711789831375890619768255697617611205466210310287731072553747588333628327393121724993035315415039771242233706882142418476676734218171708453353738050263203243 131366072667814494793367270239598621000972456161967065670864300983774457049967816943092076319034412101375304169760435334979569755883163150331071065504540139678861784342418997738443305944988002543613431119083447494088413977442429171100989726167205690219893284901602510038851125876116540651909088659704927650368769264179647531728372846291482296791132841125184932298209022438719547335711941646513808287265535030286463791315802487315387322328628941008714955275965966186146166943198657907081323393471472682631608527288191240833369153854151397526435361597176440228825721520863434290329475257070797957231388451649949726628082382075412210770720756296787091562502399996522386179385769523592438868234953974816845326932508733266114663827013100884127741787072550272228051083519565182890003925999931403416713035536076504465260426675882901724067327215855088389921128720455403972876116940261939240253417395253190724111441729140610256377665564035967735915634966507382214605955600497921010765795917386309595015086275810146394836142265014948908552917773601163068262613777540457277209577469255507033493761793670195533296202213913036924923060960176769975035284666687400900838620582331316880142040177456890478973137457447397622783917071563689967876367645395113307616397970767441277040279928509719118779192371129525536403584718888388795789342595278534281292476872602988253610732592020529677148818637153256874502592392094190361763601371868788712161050662390455268433583802039794717534221413459174003512081698486684085595494359369443179691452704494525970922508335923615739128027936698636978456039887383671195782444395735764443946308698451461262030806480265434095646659161857345800659284633663566346646787598066580654808009616226829505927815031953653679365344631989145512956389654487514367861756086284008623422114890087177811170926500166400405881959932622473300833287926538121740738296065781892596700555825443524420067425255474783710135252714303830435185984657024756611101160052334088395878806133945874839434886962109901397058198209971874776800145465702130893753346222443675309428143530887922118440283213893149232458903714712567688852322407258808937302799347654602403111820709494444223039961708222320955729260821232879000640650631407926578730439805462602059534740868400558256725967463389734495054313327789841750156190651140537360271475000054087541013849767060103546703001202645011288801418291538818595575226876164013553025819976304241807157864677068757309741913237948450059022792928920789816493013678775082488879138674398291408494761826871194478984519395883840056134080175976855600139941179133436492052071458082245209699221586906822284406895088348467603953148413181425474532163508002467975592999125521325445952583012234904802881015479690666646120137701986141850257645466973201510156074408750945575062940395242700519214550307784059658418985637989298019656207909601575349636809961896795832489971078115332179461152699452599169343077223068560409309621458518354625182050777815459474184724829670718036694812894740719096365416998524619445040022064026195590366650422362927733432408432557282507039836108151872541792139641345855594322161865105465050260501079512597049377094312959355721670263161852910920552198520385024636114957608736222701774932566564471468853196640573498203375805175146394883238861953220642352774928979015020784940217907095006557503939592257395467564704702322474992063882624237160007069340003620797517069873783672061374430250974249501077155453284942402895845732584627924073879 212554770545112427377180754229874957513656287055189310308264950060439328813668069372504236093197210215752656292131480926683011141603991273520804675237444624339592247899700709054501825388313082697016410744446590309518681043738413999544066698254320834376308658700514884858793625094685134979960577792809054582619344802604093693370944041078176365342861109669757022704339439103143791832159673723385743290216071647649028975928557733518704959409362233031673359323937746400069138920747885617087002393532617598528899691696284079522328707481066951750977447157417096785946305131482460763489105351524306868458101303938552329686159135397468430908594262850175359681739177854009618128006940222776592094235620796294246537062278142430223227546396106997419773574555789504523391643516065886521223624735719299506767950489244106701726271124810298100960149076548737426814251619848070670313154404875688944111946694075828397456165585462125311518297702991238332629796238764699523945424025618742125901440075172621336505015768153291169504097781594022930032787998370748449912777177504140686562090336806861322632598929256463821592641069661369274520255621270335856641315907274845990210496023321609553641304847189116578777468556973461932697177380106937776124288513536477688528574431232128584915078022691865662392827931606064142206696388733051979947684791941355585707726539733711643178456332436125100884135266921410916230046935183962742582220300376269694761289385966654436611718857655247535877225488748680506475971911629831851880605062455419369628580912597672223848480458040553637383615919384714341716549694053762139969954812292646267090541693258235500594847525545118956617903655356191526605019668113774082473734102099920934510335106407808584139168999779427942435132490557463981976472875726806121831302010428809374943586218293757392848284141977171400264127536077696533119952225904574813022981251089430398967834714044315964322501316217677934067084246745476094146185603695603282925169168456459274036507434674852010131730854286652773650498059792192162828541677542748780935703419824978407246049649453809943592053641484539318541283663385979144501771494545420003165544091230237516544147172340635565074423677647665806584633873035984254253595016370784896440032760979075939251980795956925941644292301555358300495601846412806825559980017506107158558727451721631586338678763878326756461556332038579751119961006490847227435881938954931045918373590160114461732657127613405123255878535654125705811100905682021513417266336949734798655467816334346166872337355998841254676550148447437386837588225517658586655901632283371405154476315626104742340289094678649311074280499965941682200291911096228419926561140728518265057146737025945235584996618949634741184384064684317186168184391340587678877465838000166120316905982041164915580957156735167114509309715589902282758713480003324874746219477311866596366194200056926818801780200704917799354295188158847373614880858704409377388422766451150032071327648032288918008692548065137645616813902971067348381498455944750922287658701375530687155255555843082602273152282045381407363231278022815476481629617249924694940694298224441809383971537684734162555436677654433889541614825362003627322872043087024047389720247711224366969158951518443025988707397861743758938273890209042944126105712955750306618048919515856636792134879806796388879830212025651165182315907788685302351613696790907595402968331013919242062909099087101145672484681131643495632130019160574604299086322678187277122 343920843212926922170548024469473578514628743217156375979129251044213785863635886315596312412231622317127960461891916261662580897487154423851875740741984764018454032242119706792945131333301085240629841863530037803607095021180843170645056424421526524596201943602117394897644750970801675631869666452513982232988114066783741225099316887369658662133993950794941955002548461541863339167871615369899551577481606677935492767244360220834092281737991174040388314599903712586215305863946543524168325787004090281160508218984475320355697861335218349277412808754593537014772026652345895053818580608595104825689489755588502056314241517472880641679315019146962451244241577850532004307392709746369030962470574771111091863994786875696337891373409207881547515361628339776751442727035631069411227550735650702923480986025320611166986697800693199825027476292403825816735380340303474643189271345137628184365364089329019121567607314602735567895963267027206068545431205272081738551379626116663136667235992558930931520102043963437564340240046608971838585705771971911518175390955044597963771667806062368356126360722926659354888843283574406199443316581447105831676600573962246891049116605652926433783345024646007057750606014420859555481094451670627744000656158931590996144972401999569861955357951201584781172020302735589678610281107621440775737027387219889867000203412336699896789188924456654778032953904074667790732639327278153104345821672245058406922340048357109705045302659695042253411446902207854509988053610116515937476099421824862549320033617092198194770988793964169376511643856083351320172589581437433335752399208028410711036850391709696762625654005810553052264562817213537327264304301777340429120521700166501589318344722634638090066984031733081621800477122546609494932862530214320489693058096712817998365701108380935204019210642143571806146087468700169833953240152442696553761277316871322995668390539487840384389926571692461644202336961049306529332170260720359894026329220790547669915313568620726849566617816396554170708696269764066939628687143244879674689049642268653716674193180341732062032336855377688551000187378098546833354093901804228940468343438884839919655967881835079788114385385869986762313894694268863254894245647778711475170472566441677998786721664357484198370259764945092795549915174202648575716170668646644518830202451775719127352528530938430303164557534683591039921379298029665823011108815118944598944193566464356268890521804682162432997791773602575764833893834602811329910280015724817287534606490732637575367099182870035733661069544331277442971668401494514186795842811416807897206547773708349952039510681585471595481175588314409286153440324277653894458724648730986240650145862547270681537579631184539544065399544374983832288322093326729529135111304973367630472980390792110490643897551977867633723860023373961941177699117992622894402427386913441946003004161953722651291751278820249978815447887611446542957958081772969786698044224969504657253378425847748392193417377735855682311626797711786444746915454469370367327680765401726277521905978206010335705560714602663914403067386174688018273769258595780289262856163329906859644472617197331211932530990613789611211877987214914547875070563472048683504677856447447068744091518082914494841904038435241962314079065355437827364967666176392659392977898530877421732352786901802946383769804283046632747020610111160294415496321028067602472308334634716759132782882759162520102735655381144572787583304102977500144818907306111351001 556475613758039349547728778699348536028285030272345686287394201104653114677303955688100548505428832532880616754023397188345592039091145697372680415979429388358046280141820415847446956721614167937646252607976628113125776064919257170189123122675847358972510602302632279756438376065486810611830244245323036815607458869387834918470260928447835027476855060464698977706887900645007131000031289093285294867697678325584521743172917954352797241147353407072061673923841458986284444784694429141255328180536707879689407910680759399878026568816285301028390255912010633800718331783828355817307685960119411694147591059527054386000400652870349072587909281997137810925980755704541622435399649969145623056706195567405338401057065018126561118919805314878967288936184129281274834370551696955932451175471370002430248936514564717868712968925503497925987625368952563243549631960151545313502425750013317128477310783404847519023772900064860879414260970018444401175227444036781262496803651735405262568676067731552268025117812116728733844337828202994768618493770342659968088168132548738650333758142869229678758959652183123176481484353235775473963572202717441688317916481237092881259612628974535987424649871835123636528074571394321488178271831777565520124944672468068684673546833231698446870435973893450443564848234341653820816977496354492755684712179161245452707929952070411539967645256892779878917089170996078706962686262462115846928041972621328101683629434323764141657021517350289789288672390956535016464025521746347789356704484280281918948614529689870418619469252004723013895259775468065661889139275491195475722354020321056978127392084967932263220501531355672008882466472569728853869323969891114511594255802266422523828679829042446674206153031512509564235609613104073476909335405941126611524360107141627373309287326674692596867494784120743206410215004777866367073192378347271366784258567960753394636225253532156348712427887910139578269421207794782623478355864415963176951498389247006943951821003295578859698348670683206944359194329556259102457228820787628455624753062093632123920242829795542005624390496862227869541471041484525977855865396349648943633887530115077436200115054175715353188809063517652568898528567304847509147840664149496371610505327420753938038702460314410140014552066500451096045517020615455401276150686152751677388929903497350713691207294816757059626113866722170791041340304520513050446990754073875644862567156624470730623178932295567556253670309256701470644994740284832843327546352674552086190074307066983742239436538868876988337619692778714829809256627012172773451744443700179302361024089334454694379799776264120906555456088280350968353732235373882314385285789459504505707292599573215917122576250134174285249783609059301018456506484667317208012577142973533750789886372833275406224854708713034748233169738963864223936412597995947769148646864225308542369198362010649470093531479525167778169743075770293916572838940477379164086466991420654689324706073880037310202109925800993327928440700682853793128413910414121289615339466777256964677161534049092937978712996648045321766298664197503494755398875845704984203550461554348669028444154882065374487967668268223500753492812576918175197942606559072730894398104158671435713250469601357520830611436296985721252352955564480771491073379132142966011026818046734058524487666708599335263600016308697797929336517899845596767110017818975197875276665648636001195691981846263665775220336512788068419713323263552104443905229984298628123 900396456970966271718276803168822114542913773489502062266523452148866900540939842003696860917660454850008577215915313450008172936578300121224556156721414152376500312383940122640392088054915253178276094471506665916732871086100100340834179547097373883568712545904749674654083127036288486243699910697837019048595572936171576143569577815817493689610849011259640932709436362186870470167902904463184846445179285003520014510417278175186889522885344581112449988523745171572499750648640972665423653967540798160849916129665234720233724430151503650305803064666604170815490358436174250871126266568714516519837080815115556442314642170343229714267224301144100262170222333555073626742792359715514654019176770338516430265051851893822899010293214522760514804297812469058026277097587328025343678726207020705353729922539885329035699666726196697751015101661356389060285012300455019956691697095150945312842674872733866640591380214667596447310224237045650469720658649308863001048183277852068399235912060290483199545219856080166298184577874811966607204199542314571486263559087593336614105425948931598034885320375109782531370327636810181673406888784164547519994517055199339772308729234627462421207994896481130694278680585815181043659366283448193264125600831399659680818519235231268308825793925095035224736868537077243499427258603975933531421739566381135319708133364407111436756834181349434656950043075070746497695325589740268951273863644866386508605969482680873846702324177045332042700119293164389526452079131862863726832803906105144468268648146782068613390458045968892390406903631551416982061728856928628811474753228349467689164242476677629025846155537166225061147029289783266181133628271668454940714777502432924113147024551677084764273137063245591186036086735650682971842197936155447101217418203854445371674988435055627800886705426264315012556302473478036201026432530789967920545535884832076390304615793019996733102354459602601222471758168844089152810526125136323070977827610037554613867134571916305709264966487079761115067890599320326042085915964032508130313802704362285840594436010137274067656727352239916420541658419583072811209959298153877884102230968999917355856082936010795141303194449387639331212423261573710764042086311928207846780977893862431936825424124671894338384811831445543891595432194818103976992321354799396196219132355273069841043735825755187362790671401405761830962719602550178873458099569192820243806760723088826999513700736977729989251462082859277235478888574887644173237826368399369373724680797799621317606535721738912721998689237109992272780925028506686960247587255116987199567571863042804646419310457849592502036631676594760254507172559651536208844010438190490746357438462120486598660155881318713829315183153434284850744828577994046737147688447946901381262866763625385896868752260690902381957029762337826165114111715988570663551074251138750488372202523964372121385282758345417756985190963381740459530797022250348950784511216390159346578084499727785702395527303536849010240067498394640237875329364883491656943020232178983242199067512255103273684273711250709236169366050372191513029168134441485273466406624884255528672916772079396586420498658882013111965370799791832723073013170031121414399075960606118504457341987684272015672515474732227683566432020919918598856041045308535625404004716577611480256840453610402281647369820591744430676357128011005891182606338847042800347585000283352760328474864605426185877955991893932641207296627366529604588724137290409979124 1456872070729005621266005581868170650571198803761847748553917653253520015218243797691797409423089287382889193969938710638353764975669445818597236572700843540734546592525760538487839044776529421115922347079483294029858647151019357511023302669773221242541223148207381954410521503101775296855530154943160055864203031805559411062039838744265328717087704071724339910416324262831877601167934193556470141312876963329104536253590196129539686764032697988184511662447586630558784195433335401806678982148077506040539324040345994120111750998967788951334193320578614804616208690220002606688433952528833928213984671874642610828315042823213578786855133583141238073096203089259615249178192009684660277075882965905921768666108916911949460129213019837639482093233996598339301111468139024981276129901678390707783978859054450046904412635651700195677002727030308952303834644260606565270194122845164262441319985656138714159615153114732457326724485207064094870895886093345644263544986929587473661804588128022035467570337668196895032028915703014961375822693312657231454351727220142075264439184091800827713644280027292905707851811990045957147370460986881989208312433536436432653568341863601998408632644768316254330806755157209502531837638115225758784250545503867728365492066068462966755696229898988485668301716771418897320244236100330426287106451745542380772416063316477522976724479438242214535867132246066825204658011852202384798201905617487714610289598917004637988359345694395621831988791684120924542916104653609211516189508390385426387217262676471939032009927297973615404302163407019482643950868132419824287197107248670524667291634561645561289066657068521897070029495762352995035002952241559569452309033304699346636975704380719531438479290094758100750271696348754756448751533342096573712741778310996072744984275761730320397754200210385058218966517478255902568099624909137239287329794452792829784940841046552153081814782347512740800741179376638871776288881989552286247929325999284561557818955575211884568963315157762968059427084928876585144543144784820136585938555766455917964514678839932816073281117849102144290083129461067598789065824694503526827736118499114994792056197990186510494492003512905291900110951828878558273189926976077704218391483221283185874864126584986304478399363897945994987640949215433559378268472040952147873608062258770420554734943120571944422416785268127932622004059907070691923905090323266695888669327879713297730136879669273297545505132392115978706123883315172477016565372721073921459914755104866605059845972260607789710336308929888707102590181655518859733699331698817166501928595952377259340799110234113713408592087764875111222860904795025418523229296227649995252064731061693702515782732131452888114564966762493585869201335062661363945160265590920435132052753136458661303093606969403937130190199501301690389050524313984518432699721115364059030741400885975021591478814237870585535154934039152034376103635962727728114870978207810814035902790573607823012597637229337842338168508199077494031003743275297612946558359698956240206876229046304196211662986707898754557935664714569695007784567010287190257669957086438604197701360926961461960908466327150236612718863612368750898270955776590194145293474064764789940170592457285629536503126911029213404818784976484399370347114424440678591415031534624345538781328120319001616910969836900442228605693645910851487949716356666017998222861665931988761524166846451689851653176328406720709627009950630081709032629367274708607247 2357268527699971892984282385036992765114112577251349810820441105402386915759183639695494270340749742232897771185854024088361937912247745939821792729422257693111046904909700661128231132831444674294198441550989959946591518237119457851857482216870595126109935694112131629064604630138063783099230065640997074912798604741730987205609416560082822406698553082983980843125760625018748071335837098019654987758056248332624550764007474304726576286918042569296961650971331802131283946081976374472102636115618304201389240170011228840345475429119292601639996385245218975431699048656176857559560219097548444733821752689758167270629684993556808501122357884285338335266425422814688875920984369400174931095059736244438198931160768805772359139506234360399996897531809067397327388565726353006619808627885411413137708781594335375940112302377896893428017828691665341364119656561061585226885819940315207754162660528872580800206533329400053774034709444109745340616544742654507264593170207439542061040500188312518667115557524277061330213493577826927983026892854971802940615286307735411878544610040732425748529600402402688239222139626856138820777349771046536728306950591635772425877071098229460829840639664797385025085435743024683575497004398673952048376146335267388046310585303694235064522023824083520893038585308496140819671494704306359818528191311923516092124196680884634413481313619591649192817175321137571702353337441942653749475769262354101118895568399685511835061669871440953874688910977285314069368183785472075243022312296490570855485910823254007645400385343942507794709067038570899626012596989348453098671860477019992356455877038323190314912812605688122131176525052136261216136580513228024393023810807132270750122728932396616202752427158003691936307783084405439420593731278252020813959196514850518116659264196785948198640905636649373231522819951733938769126057439927207207875330337624906175245456839572149814917136807115342023212937545482960929099408114688609318907153609322116171686090147128190278228281644842729174494975528196911186629060748852644716252358470818203805109114850070090140937845201342060710624787880650671600275783992657404711838349468114912147912280926197305635795197962292931231323375090452269037232013288005912065172461115145617811689550709658198816784175729391538879236381410251663355260793395751544069827194614043490395778678946327131785207456669533694452966779509620870797363189892459516132476088602802124729650580406251027534756594474975255941602771890060121189803199089473290833639435902666226377452507982346702432334998166998699375371106684025546693946918953934153701496167815420063987218420691963305910628719441469871477368077354676954732073306665840485998422169523814189114442888012771601943880149915927870719946163640655410682307954038867336513315619900084047199962359230094839512147229263639516554164636029973089096250795366502809519113603409939393712864096996216003292140125002533774835634432984978077065655489424200973382480875073335608714993164532874691348408575697472134268879072640181104603501379931135223449075296558559299485347260419149463794105030764941886520813735144728675531136363711322859726374277699040858547328964986032249724684234412160583621343968946621315559692550025370908444627934444969901552175642385761441088385216997404317969203155469749214216819036251201957019038168573929403898558339657492186659282050773921857379132322695513060798570446666215341521852641711057116037531132320300653350834306577996611313621353504565118586371 3814140598428977514250287966905163415685311381013197559374358758655906930977427437387291679763839029615786965155792734726715702887917191758419029302123101233845593497435461199616070177607974095410120788630473253976450165388138815362880784886643816368651158842319513583475126133239839079954760220584157130777001636547290398267649255304348151123786257154708320753542084887850625672503771291576125129070933211661729087017597670434266263050950740557481473313418918432690068141515311776278781618263695810241928564210357222960457226428087081552974189705823833780047907738876179464247994171626382372947806424564400778098944727816770387287977491467426576408362628512074304125099176379084835208170942702150359967597269685717721819268719254198039478990765805665736628500033865377987895938529563802120921687640648785422844524938029597089105020555721974293667954300821668150497079942785479470195482646185011294959821686444132511100759194651173840211512430836000151528138157137027015722845088316334554134685895192473956362242409280841889358849586167629034394967013527877487142983794132533253462173880429695593947073951616902095968147810757928525936619384128072205079445412961831459238473284433113639355892190900234186107334642513899710832626691839135116411802651372157201820218253723072006561340302079915038139915730804636786105634643057465896864540259997362157390205793057833863728684307567204396907011349294145038547677674879841815729185167316690149823421015565836575706677702661406238612284288439081286759211820686875997242703173499725946677410312641916123199011230445590382269963465121768277385868967725690517023747511599968751603979469674210019201206020814489256251139532754787593845332844111831617387098433313116147641231717252761792686579479433160195869345264620348594526700974825846590861643539958516268596395105847034431450489337429989841337225682349064446495205124790417735960186297886124302896731919154628082823954116922121832705388290104240895566836479608606677729505045722340074847191596802605697233922060457073496331172205533672781302190914237274121769623793690002906214218963050444205000707917341718270389341608687160931539574467967229906939968478916383816130287201475198223131434326919330827310421940264083616283563944336428803686553677294644503295183539627337533866877330625685222733529265436703691943435256872813910950513622066899076207624241937661627074970839416691562721268280215726212021145416482515422459787460075524325080261726867091234647726655205232598206368571810547212293554191007532831437298480242954492142671307096887406477961288339544406427646250652751320203424763767797323328017530926077019319220807206344982700228982149702373255302602893490481250486900585507891630225620144224490058445116678421456589147498703316774627468219629787771645368373036542708503055966199498776642337428764941206943215160343957607528950516481866868549855004295914415304342911234086588827295059041685809211738068947705805180526467632011787418383665646943431727590801762212533686577083896549628299882815915478717550059739630091463655951525604863495697010247127048218352040695479511581528598302155015865788806320797761463924075638626002320508237431313182486337403098024529334519614924723211509704986024090135698384798526902255531088678769296790654493204001973888717339550269894189892808234067785826302557819496694248405515469309494392628887887744419832708867082039052179078796793308332147330283376808557508805889184308648707374060461316528626693022653982871839827193618 6171409126128949407234570351942156180799423958264547370194799864058293846736611077082785950104588771848684736341646758815077640800164937698240822031545358926956640402345161860744301310439418769704319230181463213923041683625258273214738267103514411494761094536431645212539730763377902863053990286225154205689800241289021385473258671864430973530484810237692301596667845512869373743839608389595780116828989459994353637781605144738992839337868783126778434964390250234821352087597288150750884254379314114443317804380368451800802701857206374154614186091069052755479606787532356321807554390723930817681628177254158945369574412810327195789099849351711914743629053934888993001020160748485010139266002438394798166528430454523494178408225488558439475888297614733133955888599591730994515747157449213534059396422243120798784637240407493982533038384413639635032073957382729735723965762725794677949645306713883875760028219773532564874793904095283585552128975578654658792731327344466557783885588504647072801801452716751017692455902858668817341876479022600837335582299835612899021528404173265679210703480832098282186296091243758234788925160528975062664926334719707977505322484060060920068313924097911024380977626643258869682831646912573662881002838174402504458113236675851436884740277547155527454378887388411178959587225508943145924162834369389412956664456678246791803687106677425512921501482888341968609364686736087692297153444142195916848080735716375661658482685437277529581366613638691552681652472224553362002234132983366568098189084322979954322810697985858630993720297484161281895976062111116730484540828202710509380203388638291941918892282279898141332382545866625517467276113268015618238356654918963888137221162245512763843984144410765484622887262517565635289938995898600615340660171340697108978302804155302216795036011483683804682012157381723780106351739788991653703080455128042642135431754725696452711649055961743424847167054467604793634487698218929504885743633217928793901191135869468265125419878447448426408417035985270407517801266282525426018443272708092325574732908540072996355156808251786265711332705222368941989617392679818336251412817435344819087880759842581121766082399437491154362757702009783096347653953552089528348736405451574421498243228004302702111967715356729072746113712035936886088790058832455236013262451486857401346292301013226207992831698607195321527937618926312433518631470108185728153621505085317547189438040481775352615018321342066490589329427095292719396171770900020503127193626910199057814750988225301194575006305263886105853332395023569953121593169606685473904920931583217387315235951618040325229849526647814854177597059504379327987375909559330967248909070109322080744668508156996092002325266594349327309093662343972185309776173668655108158683992936626755703018325429593616154484658028580723497379796373930696625201311848369678068968607705853809017207008230302592119435184044219584047372501932683882246181957056212760800864540720279040442583966295087225034985659594021762568761888555659822153561119561226687105026822163422795182357507546197682146145726244453468049412037299744541319942684509084323650449916325043179055566396299214736062087332436689918140958893669832825264678574115506606829426461347225432640854411682552095581589218971293035308753425363939107025053104037028259576857665268177809414027649151884815547169795193754566246214361747692139595363754998362671805229450268565921926715440969008027411295623106623304336275336376404945779989 9985549724557926921484858318847319596484735339277744929569158622714200777714038514470077629868427801464471701497439493541793343688082129456659851333668460160802233899780623060360371488047392865114440018811936467899491849013397088577619051990158227863412253378751158796014856896617741943008750506809311336466801877836311783740907927168779124654271067392400622350209930400719999416343379681171905245899922671656082724799202815173259102388819523684259908277809168667511420229112599927029665872643009924685246368590725674761259928285293455707588375796892886535527514526408535786055548562350313190629434601818559723468519140627097583077077340819138491151991682446963297126119337127569845347436945140545158134125700140241215997676944742756478954879063420398870584388633457108982411685687013015654981084062891906221629162178437091071638058940135613928700028258204397886221045705511274148145127952898895170719849906217665075975553098746457425763641406414654810320869484481493573506730676820981626936487347909224974054698312139510706700726065190229871730549313363490386164512198305798932672877361261793876133370042860660330757072971286903588601545718847780182584767897021892379306787208531024663736869817543493055790166289426473373713629530013537620869915888048008638704958531270227534015719189468326217099502956313579932029797477426855309821204716675608949193892899735259376650185790455546365516376036030232730844831119022037732577265903033065811481903701003114105288044316300097791293936760663634648761445953670242565340892257822705901000221010627774754192731527929751664165939527232885007870409795928401026403950900238260693522871751954108160533588566681114773718415646022803212083689499030795505524319595558628911485215861663527277309466741950725831159284260518949209867361146166543699839946344113818485391431117330718236132501494811713621443577422138056100198285579918460378095618052611820755608380975116371507671121171389726626339875988323170400452580112826535471630696181591808339972611475250054123642339096442343903848973471816198207320634186945366447344356702230075902569375771302230470712040622564087212378959001366979267790987285402574726027849238758964937896369600912689377494192028929113923658075893816173144632300349788003225184796905298947205407151254984066606612991042661622108822319324269158927956697708359671312296805923080125284200455940544856948602908458343003996239899750323911940174766921567832969649225500557299677695280048209157725237056082300525317602540342710567715420747817917731889252049468468255686717677612360773512331293683363114359549239420259436794108345695351014710643253482544117344549070333854159836877826041654081701242678512452821448499395970694829972374894128301220582060770383272770783898241161047288959937244393298442879804052365973169464206074291629092392796822086793521930440594956717888304154151828330236546618823612001768224321549919464389180946730243085905393259110570880389687426708424688224548219248206367222472170174768057299758721562743490571390868644704471138539703620859191318150760978347768286290879367754673245900498186421723965049578010339454760407108749005306845787574525554951045499563803827612397222399490430461219252660573818393044334969664598205642305214224988249480963729533180979342750074793220945181752648303695258128999833287171822854562134677161962426214929496958646277444435057539613587275113296400799871218392157063330510002088606258826074727815899749617715401471756939635249997358929319248244772973607 16156958850686876328719428670789475777284159297542292299763958486772494624450649591552863579973016573313156437839086252356870984488247067154900673365213819087758874302125784921104672798486811634818759248993399681822533532638655361792357319093672639358173347915182804008554587659995644806062740793034465542156602119125333169214166599033210098184755877630092923946877775913589373160182988070767685362728912131650436362580807959912251941726688306811038343242199418902332772316709888077780550127022324039128564172971094126562062630142499829862202561887961939291007121313940892107863102953074244008311062779072718668838093553437424778866177190170850405895620736381852290127139497876054855486702947578939956300654130594764710176085170231314918430767361035132004540277233048839976927432844462229189040480485135027020413799418844585054171097324549253563732102215587127621945011468237068826094773259612779046479878125991197640850347002841741011315770381993309469113600811825960131290616265325628699738288800625975991747154214998179524042602544212830709066131613199103285186040602479064611883580842093892158319666134104418565545998131815878651266472053567488160090090381081953299375101132628935688117847444186751925472997936339047036594632368187940125328029124723860075589698808817383061470098076856737396059090181822523077953960311796244722777869173353855740997580006412684889571687273343888334125740722766320423141984563164233649425346638749441473140386386440391634869410929938789343975589232888188010763680086653609133439081342145685855323031708613633385186451825413912946061915589344001738354950624131111535784154288876552635441764034234006301865971112547740291185691759290818830322046153949759393661540757804141675329200006074292761932354004468291466449223256417549825208021317507240808818249148269120702186467128814402040814513652193437401549929161927047753901366035046503020231049807337517208320030031078114932518288225857331419974363686542099905338323746044464265531887317461276605098031353697502550050756132427614311366774738098723633339077459653458772919089610770148898924532579554016736423373327786456154368576394046797604042400102837919545115729998601546059662452000350180531856949730938897020005729847368262672981036755239577646683040133303249907519118970340795679359104754697558994911109383101614163969960159846528713643098224093351492193287639152052270130846077269316429758531220432097668328388426653150516838663541039075030310298369551224215826385509395818036998712113610588218547941444827930947066800456693556881292683917624659618184626078386684312670832589866122268013266626934232097958489434162157669778919860501974691055423101158461029230054422012152415748305040804152053119562636458216674063095649867120111207334823391261145247020566967097987962736358909796219909092617058686008951306744822102653937974753091819000779353140178606224687792219707622033338756927694691773066165427130124977306483072813073569672890381744437309020112747087501512612758734352386983756548403084593153437406593026798361857181978752544837866005169931709086061725262219443582644332147968418517627422376754504948428691689815930111224975471276088678619370223911611958461577762897909170801532712062877160234343172321148912043651449596706396370387592661894845656382439916474787957057120622068106858340275859882821711534827230604024343524607798162259982227334807341841359510762547563357987520818328872673893835709094640649742615190586723428883052562741873301695204655624649718753596 26142508575244803250204286989636795373768894636820037229333117109486695402164688106022941209841444374777628139336525745898664328176329196611560524698882279248561108201906407981465044286534204499933199267805336149722025381652052450369976371083830867221585601293933962804569444556613386749071491299843776878623403996961644952955074526201989222839026945022493546297087706314309372576526367751939590608628834803306519087380010775085511044115507830495298251520008587569844192545822488004810215999665333963813810541561819801323322558427793285569790937684854825826534635840349427893918651515424557198940497380891278392306612694064522361943254530989988897047612418828815587253258835003624700834139892719485114434779830735005926173762114974071397385646424455530875124665866505948959339118531475244844021564548026933242042961597281676125809156264684867492432130473791525508166057173748342974239901212511674217199728032208862716825900101588198437079411788407964279434470296307453704797346942146610326674776148535200965801852527137690230743328609403060580796680926562593671350552800784863544556458203355686034453036176965078896303071103102782239868017772415268342674858278103845678681888341159960351854717261730244981263164225765520410308261898201477746197945012771868714294657340087610595485817266325063613158593138136103009983757789223100032599073890029464690191472906147944266221873063799434699642116758796553153986815682186271382002612541782507284622290087443505740157455246238887135269525993551822659525126040323851698779973599968391756323252719241408139379183353343664610227855116576886746225360420059512562188105189114813328964635786188114462399559679228855064904107405313622042405735652980554899185860353362770586814415867737820039241820746419017297608507516936499035075382463673784508658195492382939187577898246145120276947015147005151022993506584065103854099651614964963398326667859949337963928411006194486440189409397247058046314239674865270305790903858870999737162583499053084945070642828947556673693095228869958215215748209914921840659711646598825220263446313000224801493908350856247207135413950350543366747535395413776871833387388240494271143579237360510997558821601262869909351141759868010943663805741184435817613337105027580871867837038602197112926270225324862285972095797359181103733428707370773091926657868206200025939904147173476776393743579696909218733754535612320425998430970756009608503155348220983486487889041596374708005578417760381941063441591696343354601252456321155933968689262745662836318849925161812568010361529985433130515919761749798672220072010125559062121612322285246808601742916706275014327990194356134527933249142812542730472732934464973864247701011498982025494456764759437256123866033139890895105575984438550105184264960265540867766788724882965684115166908687778401748128831615624584378569709809707304933504968508842771306615831709390257660306847159080954012895670216030370565593643693463257099598806432661857239360953454723984782933502409686742478111146575164544306051297497936901560802837943862988626983517699995376941093016892689483142518569692383567205432716209265355537440695122775898799501026227134178183174051524009180861068193359128423462106530455921495204007770526791217257876437846187360099920773641237595731175660861656540605360815880197106691627447682737383846211989193030239273021566444439704417284874420929116472807163347434576379677881659382675982441967920715377558514940204438830354809502377123299054133974872894491727203 42299467425931679578923715660426271151053053934362329529097075596259190026615337697575804789814460948090784577175611998255535312664576263766461198064096098336319982504032192902569717085021016134751958516798735831544558914290707812162333690177503506579758949209116766813124032216609031555134232092878242420780006116086978122169241125235199321023782822652586470243965482227898745736709355822707275971357746934956955449960818734997762985842196137306336594762208006472176964862532376082590766126687658002942374714532913927885385188570293115431993499572816765117541757154290320001781754468498801207251560159963997061144706247501947140809431721160839302943233155210667877380398332879679556320842840298425070735433961329770636349847285205386315816413785490662879664943099554788936266551375937474033062045033161960262456761016126261179980253589234121056164232689378653130111068641985411800334674472124453263679606158200060357676247104429939448395182170401273748548071108133413836087963207472239026413064949161176957549006742135869754785931153615891289862812539761696956536593403263928156440039045449578192772702311069497461849069234918660891134489825982756502764948659185798978056989473788896039972564705916996906736162162104567446902894266389417871525974137495728789884356148904993656955915343181801009217683319958626087937718101019344755376943063383320431189052912560629155793560337143323033767857481562873577128800245350505031427959180531948757762676473883897375026866176177676479245115226440010670288806126977460832219054942114077611646284427855041524565635178757577556289770705920888484580311044190624097972259477991365964406399820422120764265530791776595356089799164604440872727781806930314292847401111166912262143615873812112801174174750887308764057730773354048860283403781181025317476444640652059889764365374959522317761528799198588424543435745992151608001017650011466418557717667286855172248441037272601372707697623104389466288603361407370211129227604915464002694470816514361550168674182645059223743851361297572526582522948013645473998789106252283993182535923770373700418440930410263943558787278136999521116111789460574475875787491078413816259309235962057057221273601613050441208091490806907963669535588552698490594373860267158518550877171905447020445389195665657965331200552056740098644538090472387255896618028052728739583002371266828268587031218848961488864600612881636855756962191188107276831543774874134003326552582635449738315876787311606156889827101092161391599964569931744152516630707573593783385650381855369449303045447610092748700545840136482984890904599991681330134878949219478906560232350868432684106910054858109218988672243971003759702787356477126279996006052303134078614019401217653930186961683007011006312910807829811250431285527232638855729525083792761904024259525746464410699435576437727238316544462901526305712858108687448995994408051417012290999063774853772727079061097346155347872076716506536826772489188177099166259473700542225497395692236762073726234659549659757697743457890524735263417984816696407826492988687631704463002818279112133065786850717660802084832855092963770303966132384938706010024476497503222856802544275435621139322645956257037594263639242518798655438350942847940129301527887442893756470308366303132441387558100778131328562417936502265213549967723542620205557746816423634263616546174242601964399512209228270957832317925894997934367198699988255349876277677015356027301130130791162259237862065118996600749338630497544210480799 68441976001176482829128002650063066524821948571182366758430192705745885428780025803598745999655905322868412716512137744154199640840905460378021722762978377584881090705938600884034761371555220634685157784604071981266584295942760262532310061261334373801344550503050729617693476773222418304205723392722019299403410113048623075124315651437188543862809767675080016541053188542208118313235723574646866579986581738263474537340829510083274029957703967801634846282216594042021157408354864087400982126352991966756185256094733729208707746998086401001784437257671590944076392994639747895700405983923358406192057540855275453451318941566469502752686252150828199990845574039483464633657167883304257154982733017910185170213792064776562523609400179457713202060209946193754789608966060737895605669907412718877083609581188893504499722613407937305789409853918988548596363163170178638277125815733754774574575684636127480879334190408923074502147206018137885474593958809238027982541404440867540885310149618849353087841097696377923350859269273559985529259763018951870659493466324290627887146204048791700996497248805264227225738488034576358152140338021443131002507598398024845439806937289644656738877814948856391827281967647241887999326387870087857211156164590895617723919150267597504179013488992604252441732609506864622376276458094729097921475890242444787976016953412785121380525818708573422015433400942757733409974240359426731115615927536776413430571722314456042384966561327403115184321422416563614514641219991833329813932167301312530999028542082469367969537147096449663944818532101242166517625822497775230805671464250136660160364667106179293371035606610235226665090471005450420993906569918062915133517459910869192033261464529682848958031741549932840415995497306326061666238290290547895358786244854809826134640133034999077342263621104642594708543946203739447536942330057255462100669264976429816884385527236193136176852043467087812897107020351447512602843036272640516920131463786463739857054315567446495239317011592615897436946590167530741798271157928567314658500752851109213445982236770598501912349281266511150694201228487542887863647184874351347709174879318908087402888473322568054780095202875920350559233250674918907333341329737134308207710965294739390418714210507644133371659420990520251303296349415921202377966797843160347823275896258928765522906518440305044980774798545870707598355148493957281755393161944116885334699123095117489814441624231824446321455205071988097953268692788504746201217026252900086485319970319256619704500307017182017313406977595525879216465601886281657110976610117240392256491271504725715161975267574707698434900249214243746921921386783546490175520290942100144243707063802116104108476165977091186310827716146901901418486792268361355615550487498179723496313808675727588139426434434242812447564408053351822695114172711233610646363077196291767301023883126402548659370622012853681091956767562185718437670360200000083872087994609761023498834653996949482178625739171760468712770696234922242049509188022672164978787654640270815119972205331699839943911296004822548929369287353185652038287809173035659503573080061481908823977523730357034985718326959630320183714149616166017725745772974720150642358713374731346559404325289081116570229139944370037118733761639787869167778752382462320241595171225357589403958805616664502889567740687041668816797083649200074305125089242432510746876581647638025858719644936071404859645070995601089592671567496119899803472605370438702208002 110741443427108162408051718310489337675875002505544696287527268302005075455395363501174550789470366270959197293687749742409734953505481724144482920827074475921201073209970793786604478456576236769437116301402807812811143210233468074694643751438837880381103499712167496430817508989831449859339955485600261720183416229135601197293556776672387864886592590327666486785018670770106864049945079397354142551344328673220429987301648245081037015799900105107971441044424600514198122270887240169991748253040649969698559970627647657094092935568379516433777936830488356061618150148930067897482160452422159613443617700819272514596025189068416643562117973311667502934078729250151342014055500762983813475825573316335255905647753394547198873456685384844029018473995436856634454552065615526831872221283350192910145654614350853766956483629534198485769663443153109604760595852548831768388194457719166574909250156760580744558940348608983432178394310448077333869776129210511776530612512574281376973273357091088379500906046857554880899866011409429740315190916634843160522306006085987584423739607312719857436536294254842419998440799104073820001209572940104022136997424380781348204755596475443634795867288737752431799846673564238794735488549974655304114050430980313489249893287763326294063369637897597909397647952688665631593959778053355185859193991261789543352960016796105552569578731269202577808993738086080767177831721922300308244416172887281444858530902846404800147643035211300490211187598594240093759756446431844000102738294278773363218083484196546979615821574951491188510453710858819722807396528418663715385982508440760758132624145097545257777435427032355990930621262782045777083705734522503787861299266841183484880662575696595111101647615362045641590170248193634825723969063644596755642190026035835143611084773687058967106628996064164912470072745402327872080378076049407070101686914987896235442103194523048308425293080739689185604804643455836978891446397680010728049359068701927742551525132081808045407991194237675121180797951465103268380794105942212788657289859103393206628518160540972202330790211676775094252988506624542408979758974334925823584962370397321903662197709284625112001368804488970791767324741481826871002876918289832798802084825561897908969591382413091153817048616656178216634496901472661301022504888315547603719893924311657505105908889707133313567806017394832196462955761375594137512355353132224162166242897969251493140994206867274184637331992383594254843095793880666137801181596184644239001950677892850403090150688872551466616452425205618627917011442022764642001881210108921722391370220724204621722207618443140382541810304072352965910593630754550249878307647419226424239713116105250182722495567194745116497789399153912907731397600098172606046836014730818579225838892468489492163685960180707223146999984491079061011658635612759916359221185883740763295431934543414839658434396866626408171017864908341066309747076706536910644577182786860189758308354539174979574317975933834194947430245894679939792967078547407428396772471336678641612960892963404302946729575116955614716220005013987736871142902136805963469705465000187918848454021233579891788262602395251459506360105873203611989385015493518806080709656222671475860932212731974873040537506247502478506291862417919197730196688884727533791562894767977794961705622040298766506113914929643633216309292877471032137443015137430445114075281635893375734997321951427432160775201786763348830533632615116500552811235867982912688801 179183419428284645237179720960552404200696951076727063045957461007750960884175389304773296789126271593827610010199887486563934594346387184522504643590052853506082163915909394670639239828131457404122274086006879794077727506176228337226953812700172254182448050215218226048510985763053868163545678878322281019586826342184224272417872428109576408749402358002746503326071859312314982363180802972001009131330910411483904524642477755164311045757604072909606287326641194556219279679242104257392730379393641936454745226722381386302800682566465917435562374088159947005694543143569815793182566436345518019635675241674547968047344130634886146314804225462495702924924303289634806647712668646288070630808306334245441075861545459323761397066085564301742220534205383050389244161031676264727477891190762911787229264195539747271456206242942135791559073297072098153356959015719010406665320273452921349483825841396708225438274539017906506680541516466215219344370088019749804513153917015148917858583506709937732588747144553932804250725280682989725844450679653795031181799472410278212310885811361511558433033543060106647224179287138650178153349910961547153139505022778806193644562533765088291534745103686608823627128641211480682734814937844743161325206595571209106973812438030923798242383126890202161839380562195530253970236236148084283780669881504234331328976970208890673950104549977775999824427139028838500587805962281727039360032100424057858289102625160860842532609596538703605395509021010803708274397666423677329916670461580085894217112026279016347585358722047940852455272242960061889325022350916438946191653972690897418292988812203724551148471033642591217595711733787496198077612304440566702994816726752052676913924040226277960059679356911978482006165745499960887390207353935144651000976270890644969745724906722058044448892617168807507178616691606067319617320406106662532202356179964326052326488721759241444602145124206776998501911663807284491494289433952651244969490532488391482408579447649254540647308205830291018617744541632634010179065263870780103315790611954502420074500397311570704243139492943286244947189735112085296843406159209277171294137249716229991065086182607193166781464007364891142326557992156745778336218248026967107009795790856637299388305592920735287188708037646698467937793250888582503400471686158707951543169820570586270628815408147438358548580815940702904061310909869551419267748515076341047500942021064368982955435831099098630958787197455582352796364486669170884002398622437544325487270648212107022794650995889733483929859402801144507133477043909046299112857820226162114647861492228930336884182886017848080976710553286596712832515017538096740053827938361326568483420179907366286830971733171836302808617115300814809149884392366533961662386502228998302722152701144217080303112394614950035594564392544430883706772808323993527005584263080032530596455817669817388317805018879480089262974632470526784747417436906536994516665177396621213257143008536124461752943715105594663660200942129602181842476266570079593375560125976949456732933098295104142890640871121778163645589292367173388909430711309841622973278545061669827672431544963936926773980929354881779690074255489369629715130788468238956723068369597402822420336538021055989610766646191872515625025624057707066897975441267189854033158065993335384365664427656963269395681655616685302033106376526671106442568104379862955860951863283531401593716966887498837020420272782364438423205200111236400356283841238421614896803 289924862855392807645231439271041741876571953582271759333484729309756036339570752805947847578596637864786807303887637228973669547851868908666987564417127329427283237125880188457243718284707694173559390387409687606888870716409696411921597564139010134563551549927385722479328494752885318022885634363922542739770242571319825469711429204781964273635994948330412990111090530082421846413125882369355151682675239084704334511944126000245348061557504178017577728371065795070417401950129344427384478632434291906153305197350029043396893618134845433869340310918648303067312693292499883690664726888767677633079292942493820482643369319703302789876922198774163205859003032539786148661768169409271884106633879650580696981509298853870960270522770949145771239008200819907023698713097291791559350112474113104697374918809890601038412689872476334277328736740225207758117554868267842175053514731172087924393075998157288969997214887626889938858935826914292553214146217230261581043766429589430294831856863801026112089653191411487685150591292092419466159641596288638191704105478496265796734625418674231415869569837314949067222620086242723998154559483901651175276502447159587541849318130240531926330612392424361255426975314775719477470303487819398465439257026551522596223705725794250092305752764787800071237028514884195885564196014201439469639863872766023874681936987004996226519683281246978577633420877114919267765637684204027347604448273311339303147633528007265642680252631750004095606696619605043802034154112855521330019408755858859257435195510475563327201180296999432040965725953818881612132418879335102661577636481131658176425612957301269808925906460674947208526332996569541975161318038963070490856115993593236161794586615922873071161326972274024123596335993693595713114176417579741406643166296926480113356809680409117011555521613232972419648689437008395191697698482156069602304043094952222287768591916282289753027438204946466184106716307263121470385735831632661973018849601190319224960104579731062586055299400067966139798542493097737278559859369812992891973080471057895626703018557852542906573929704620061339200178241736627705823165133544202994879099620113551894727283891891818278782832811853861934093882733638572649339095166316799905811880616418535208357896975333826441005756654302876684572290152361243804422976574474255555263063744882243775734724297854571672116386833335535100524266671245145556780103868208565209667184919033620476096430037966372815596119189839176607639460280549837021803580218622188564489221326104957425884801684762284950546311828006763135050488485931810941114739030335083837039231712953134958606390504460988463518520857358949678743108648292646989932135585780552992723133296012616469553467300366581419306406514454727716881281992464706567709222516959816881947991593612706572466798354795657258741564377035509944718431443936753443364805448963773293891887752213232227976239415746106497433992497378867851057164513613073905161242360183481403015451363075299441327261691039428858607631188024282121635443345117487021772332597313628098345893991258508445837370446238733778361809297381161125780573613446647586442984010061857746520885566197516818562243531750133239196434361362573241704515803961757762803778025820074298281268750753030862651304152439374994131317486475626264628172130151917387824720960761313179327370049697262035901795570546328935249415669404142138580011119517293400975027144919424777328714288838926269181195474569127787253738832726352900909095077106404527585604 469108282283677452882411160231594146077268904658998822379442190317506997223746142110721144367722909458614417314087524715537604142198256093189492208007180182933365401041789583127882958112839151577681664473416567400966598222585924749148551376839182388745999600142603948527839480515939186186431313242244823759357068913504049742129301632891540682385397306333159493437162389394736828776306685341356160814006149496188239036586603755409659107315108250927184015697706989626636681629371448684777209011827933842608050424072410429699694300701311351304902685006808250073007236436069699483847293325113195652714968184168368450690713450338188936191726424236658908783927335829420955309480838055559954737442185984826138057370844313194721667588856513447513459542406202957412942874128968056286828003664876016484604183005430348309868896115418470068887810037297305911474513883986852581718835004625009273876901839553997195435489426644796445539477343380507772558516305250011385556920346604579212690440370510963844678400335965420489401316572775409192004092275942433222885904950906544009045511230035742974302603380375055714446799373381374176307909394863198328416007469938393735493880664005620217865357496110970079054103955987200160205118425664141626764463622122731703197518163825173890548135891678002233076409077079726139534432250349523753420533754270258206010913957213886900469787831224754577457848016143757768353443646485754386964480373735397161436736153168126485212862228288707701002205640615847510308551779279198659936079217438945151652307536754579674786539019047372893420998196778943501457441230251541607769290453822555594718601769504994360074377494317538426122044730357038173238930343403637193850932720345288838708510656149151031221006329186002605602501739193556600504383771514886057644142567817125083102534587131175056004414230401779926827306128614462511315018888262732134506399274916548340095080638041531197629583329153243182608627971070405961880025265585313217988340133678710707368684027380317126702607605898257158416287034730371288738924633683772995288871083012398046777518955164113610817069197563347584147367976848713002666571292753480166173236869829781885792370074499011445564296819218753076420440725795318427675313414343767012821676407275172507746202568254561728194464691949575152510083403249826307823448260632963506806233565452830046363539706002010030664967649276238004585577581114696976047852383284906257168126940097989459051865869065471446554906387294758960435824767219007905805978841059732889976491974317064448679452680652018434476171230807907642183965529840857240227596850561245951687093205182065295490573390478836544495231410645546391575623665830743729985963524141879561206553475919982756384439033538417722115023629755542526031166384831240529371609019188815184670144294756923652769910749410607294336128769579940828425204252260746970370389712043805824488343569883049616294044434625586586696967129849394635804581950519610899677907537580102616272594371611423903080205406145023522267832130153884303477919611687566615147892723290577555078827089553612588728011317360511942007398589748334514690004324756489209416262555123527574193317111161453745336224461105015018886508616851942871419646592429996719526846395417477120701605288774086852262070798631247509756343110533333331526147571419107241857879026754648563693034477354225305297477226163014237282522045930813245022579223897156356835979008202956178922431255726425106201615747351492225676944032837589301265378918344826142482407 759033145139070260527642599502635887953840858241270581712926919627263033563316894916668991946319547323401224617975161944511273690050125001856479772424307512360648638167669771585126676397546845751241054860826255007855468938995621161070148940978192523309551150069989671007167975268824504209316947606167366499127311484823875211840730837673504956021392254663572483548252919477158675189432567710711312496681388580892573548530729755655007168872612428944761744068772784697054083579500793112161687644262225748761355621422439473096587918836156785174242995925456553140319929728569583174512020213880873285794261126662188933334082770041491726068648623010822114642930368369207103971249007464831838844076065635406835038880143167065681938111627462593284698550607022864436641587226259847846178116138989121181979101815320949348281585987894804346216546777522513669592068752254694756772349735797097198269977837711286165432704314271686384398413170294800325772662522480272966600686776194009507522297234311989956768053527376908174551907864867828658163733872231071414590010429402809805780136648709974390172173217690004781669419459624098174462468878764849503692509917097981277343198794246152144195969888535331334481079270762919637675421913483540092203720648674254299421223889619423982853888656465802304313437591963922025098628264550963223060397627036282080692850944218883126989471112471733155091268893258677036119081330689781734568928647046736464584369681175392127893114860038711796608902260220891312342705892134719989955487973297804409087503047230143001987719316046804934386724150597825113589860109586644269346926934954213771144214726806264169000283954992485634648377726926580148400248382366707684707048713938525000503097272072024102382333301460026729198837732887152313618560189094627464287308864743605196459344267540292067559935843634752346475995565622857703012717370418801736810442369868770627863672554323820950657021534099709366715344278333527432265761097217975191007189734869029932328788607111379712757907005966223298214829527828108567298784003496765887261951554070293673480537513016656517390998902183408923347546218585340708489736426297683161052336489943333780519653966390829724347129631072615010514323459433891077014408580660566918633557023693707716104099543588388169200221346252451837082373555611070112246424835107219062069297310335073822098264003856581702781354482611773105109844252359842532827956251493471466835311859131609935148295907031844262151025577133935568075285047768844927609559059681921454465713300422021874564254365414303385022483058814670777234454015772668181342335880896329788726324918135200254096963894939825008013752268004496070318732314123390719918099109922432553929686771932599225937906333904999141421430144210270242912448377295947097080831536148632066618135888369630225236709104206264553077693146615450773143635696197500413735195161007579118380231322096281844270283850371693084130959627228262486861746464132684804839149897763584019288045734686723344407467097184452380875463318178166425113362956805053636920225320604205653424721080812121034565381763599245720369207887129495640470577938203136795859246565185385320714202677358970563898467992855148258082942978214516113124162396391754482330624421237551418982874039527117714913374951070622503887660597008959596154319701571024629682599987515961743020404527051487341199272796709343172531937715334955383602590343414449757811006153122380956251145544565351375382811221920620012930682865563942202174473995451230670068011 1228141427422747713410053759734230034031109762900269404092369109944770030787063037027390136314042456782015641932062686660048877832248381095045971980431487695294014039209459354713009634510385997328922719334242822408822067161581545910218700317817374912055550750212593619535007455784763690395748260848412190258484380398327924953970032470565045638406789560996731976985415308871895503965739253052067473310687538077080812585117333511064666276187720679871945759766479774323690765208872241796938896656090159591369406045494849902796282219537468136479145680932264803213327166164639282658359313538994068938509229310830557384024796220379680662260375047247481023426857704198628059280729845520391793581518251620232973096250987480260403605700483976040798158093013225821849584461355227904133006119803865137666583284820751297658150482103313274415104356814819819581066582636241547338491184740422106472146879677265283360868193740916482829937890513675308098331178827730284352157607122798588720212737604822953801446453863342328663953224437643237850167826148173504637475915380309353814825647878745717364474776598065060496116218833005472350770378273628047832108517387036375012837079458251772362061327384646301413535183226750119797880540339147681718968184270796986002618742053444597873402024548143804537389846669043648164633060514900486976480931381306540286703764901432770027459258943696487732549116909402434804472524977175536121533409020782133626021105834343518613105977088327419497611107900836738822651257671413918649891567190736749560739810583984722676774258335094177827807722347376768615047301339838185877116217388776769365862816496311258529074661449310024060770422457283618321639178725770344878557981434283813839211607928221175133603339630646029334801339472080708914122943960609513521931451432560730279561878854671467123564350074036532273303301694237320214327736258681533871316841644785318967958753192365352148286604863252952549323972249403933394145786362803288408995529868547740639697472634491696839460514611864480456631116562558479856037708637180538882550822637082691720258056468180770128208068099746756507494914195434053711156307719051163327225573359773115666312024040889841169911426450291368086934764185229209504689721995004333931455233430968880223850302111842949897394686038202026989592456958860896420069873095740182568875530875787903868461803709858591733446322131888011109695421833474539508875808634778377724003438799229599394200161776097315708705931964428694528511109814987852833415537900741654344442205274739086323243707046066321819498654289622578419418419545613525421569932731457575740413418123317265549587537285418661552508983678650042461894355979954134449904062634064312115136240247852581982322345367443416863536453773965812768943614762127187626452440555337447251288280183126553878006619853616871847413821916195391601568839948458247384105584873051384942868574891979331460564328284997279670827926757077657122666328414652295704517057435343686635560640106298147247487672503329475903143295448332050728591282568492620252068118043894783208503548170365733623293393080959757662376606476877830155160582262959626005275509120308912894907519788520424309234692453960163276969451595066458984543808988821751201857470816655028539684479328301204567175445749701870013644003707542292927680467272990131871540479014270610306713439004405712646496750022872357409814459761265768628625169567311606114646985161325337135173576800291776481584426969272112238607626898401531503439852913796056812550418 1987174572561817973937696359236865921984950621141539985805296029572033064350379931944059128260362004105416866550037848604560151522298506096902451752855795207654662677377129126298136310907932843080163774195069077416677536100577167071288849258795567435365101900282583290542175431053588194605065208454579556757611691883151800165810763308238550594428181815660304460533668228349054179155171820762778785807368926657973386133648063266719673445060333108816707503835252559020744848788373034909100584300352385340130761666917289375892870138373624921653388676857721356353647095893208865832871333752874942224303490437492746317358878990421172388329023670258303138069788072567835163251978852985223632425594317255639808135131130647326085543812111438634082856643620248686286226048581487751979184235942854258848562386636072247006432068091208078761320903592342333250658651388496242095263534476219203670416857514976569526300898055188169214336303683970108424103841350210557318758293898992598227735034839134943758214507390719236838505132302511066508331560020404576052065925809712163620605784527455691754646949815755065277785638292629570525232847152392897335801027304134356290180278252497924506257297273181632748016262497513039435555962252631221811171904919471240302039965943064021856255913204609606841703284261007570189731688779451450199541329008342822367396615845651653154448730056168220887640385802661111840591606307865317856102337667828870090605475515518910740999091948366131294220010161057630134993963563548638639847055164034553969827313631214865678761977651140982762194446497974593728637161449424830146463144323730983137007031223117522698074945404302509695418800184210198470039427108137052563265030148222338839714705200293199235985672932106056064000177204967861227741504149704140986218760297304335476021223122211759191124285917671284619779297259860177917340453629100335608127284014654089595822425746689173098943626397352661916039316527737460826411547460021263600002719603416770572026261241603076552218421617830703754845946090386588423336492640677304769812774191152985393738593981197426645599067001930165430842460414019394419646044145348846488277909849716449446831678007280670894258556081363983097449087644663100581704130575664900850088790454662587939954401655431338066594907384454478826674830514471966532316297930847401630944828186122977690560067713715173436227676614499784214805266085834382041703764886271849190838750658361209329348457683129159970856957541562630096586394862756697761025096960423575798907918575161108197807961411480625204521137348437249196652873561386193602912268612353905529139743041452465803684501180358486560522735946654538532213088294077525169822161743986744669065927019785181208260251701348416004957883918176083011856063139423134723533272091486079317906416071496184103243328957823136400491515062810842374712475644655747797840780034058964061248806214075613304834612135368972754958886384305919609528074878784980509356207333107270654848685840984870591895139600513928284018758766510217153704645525297673888988343364498988861928269251177854657858774844559003382745814364007325795631160201162762801134755685494298215621722465879394873133160446815311535052394573280975097667971385213505684188095237892579958667353367828322282088820700772492517531664304551252523834786974561156501223079001786572049733843531457199987696022819581700582346397476600724012227759910726055872457991314447718091424722344857127856967238191192732251538309763965473705614326909247287482618429 3215315999984565687347750118971095956016060384041809389897665139516803095137442968971449264574404460887432508482100535264609029354546887191948423733287282902948676716586588481011145945418318840409086493529311899825499603262158712981507549576612942347420652650495176910077182886838351885000813469302991747016096072281479725119780795778803596232834971376657036437519083537220949683120911073814846259118056464735054198718765396777784339721248053788688653263601732333344435613997245276706039480956442544931500167712412139278689152357911093058132534357789986159566974262057848148491230647291869011162812719748323303701383675210800853050589398717505784161496645776766463222532708698505615426007112568875872781231382118127586489149512595414674881014736633474508135810509936715656112190355746719396515145671456823544664582550194521353176425260407162152831725234024737789433754719216641310142563737192241852887169091796104652044274194197645416522435020177940841670915901021791186947947772443957897559660961254061565502458356740154304358499386168578080689541841190021517435431432406201409119121726413820125773901857125635042876003225426020945167909544691170731303017357710749696868318624657827934161551445724263159233436502591778903530140089190268226304658707996508619729657937752753411379093130930051218354364749294351937176022260389649362654100380747084423181907988999864708620189502712063546645064131285040853977635746688611003716626581349862429354105069036693550791831118061894368957645221234962557289738622354771303530567124215199588355536235986235160590002168845351362343684462789263016023579361712507752502869847719428781227149606853612533756189222641493816791678605833907397441823011582506152678926313128514374369589012562752085398801516677048570141864448110313654508150211729865065755583101976883226314688635991707816893082598954097498131668189887781869479444125659439408563781178939054525247230231260605614465363288777141394220557333822824552008998249471964511211723733876094773391678936229695184211477062652945068279374201277857843652363596828235677113996650449378196773807135101676921938337374609453448130802351864400009815503483209489565113143702048170512064169982531655351184383851829892310086393852570669234781544023885631468163804703767274287963989593422656505816267287473332862952386171026587584199820359061910881559021871423573765169673998746387795324500687919308921550579573521050226914842189457590808723548619459226475679562889505991324625097504677744550594440634861165230143350123849900194521051668457546947024019791638059827616071293106999719024482201343811481269553161164769731353272038465777148113031719625304580994107444274031659619726224378051056784202167267637763190582597068791832868494337692141895780799677901550322349985712646823526569194696254622737981249948811440008247905336979006233976281315593113995181946364907110349004117381106054944765398940420366252425786813141383576732194403293437276213873264768450957290409325947283017839382812103843404187162054214842267882295928093790294141056461408393772070431817421543588281152167925518761045122420840885155950791742464122388806410264805803211110529242254399819182367852900775474812021846168347434082211780374035256886045566054547608498351832696129526849264266450474362531175668012093545451515254247551288372763558016057182356447282535862912634192772842454057992160857237866492640852929478037661987104976475773055226598299145148904338551665160464844490145936662367005209054179823043344295168847 5202490572546383661285446478207961878001011005183349375702961169088836159487822900915508392834766464992849375032138383869169180876845393288850875486143078110603339393963717607309282256326251683489250267724380977242177139362735880052796398835408509782785754550777760200619358317891940079605878677757571303773707764164631525285591559087042146827263153192317340898052751765570003862276082894577625044925425391393027584852413460044504013166308386897505360767436984892365180462785618311615140065256794930271630929379329428654582022496284717979785923034647707515920621357951057014324101981044743953387116210185816050018742554201222025438918422387764087299566433849334298385784687551490839058432706886131512589366513248774912574693324706853308963871380253723194422036558518203408091374591689573655363708058092895791671014618285729431937746163999504486082383885413234031529018253692860513812980594707218422413469989851292821258610497881615524946538861528151398989674194920783785175682807283092841317875468644780802340963489042665370866830946188982656741607766999733681056037216933657100873768676229575191051687495418264613401236072578413842503710571995305087593197635963247621374575921931009566909567708221776198668992464844410125341311994109739466606698673939572641585913850957363018220796415191058788544096438073803387375563589397992185021496996592736076336356719056032929507829888514724658485655737592906171833738084356439873807232056865381340095104160985059682086051128222951999092639184798511195929585677518805857500394437846414454034298213637376143352196615343325956072321624238687846170042506036238735639876878942546303925224552257915043451608022825704015261718032942044450005088041730728491518641018328807573605574685494858141462801693882016431369605952260017795494368972027169401231604325099094985505812921909379101512861896213957676049008643516882205087571409674093498159603604685743698346173857657958276381402605304878855046968881282845815609000969075381281783749995117697849943897357847525887966323008743331656702710693918535148422176371019388662507735244430575623419406202103607087369179835023472842550448396009748856303781393059206014559975380055451182958428538613019334281832939474555410668097983146334135631632814340294056103759105422705626030584500807110984642942117987804829484702468957434985830765187248033859249581939137288938605901675360887579539305954005143303592283338407322076105680940115952018052897077142355635650419847047553954721683899540501248355465731821588805942258042425061302718859629869027572228540928986497076812724166668385912627394469956165386798692904206222197156956539646135634673554455571959119526320532568109184789548386122037801453268094287422944398842848770140248873452221610317978792655741040973457073518984738309605887101112326118922084493277769263144648396852041817076350993791237769742979787144941169313065366187320130558070233552555735225180745699525689496341722478172222256723229472101558227945258011788267888431277951704357332471180812981352485036000573619087968030044804772892760932360086672721442939010942770077764427868235204892481746422902665285151607545020491297509326150964720279214055501013347590786347074240741628409179879751759248762570233661292440188457019186063957849131353087151246855048707332316644797975350041222112444873986637017843754406181126067320112621888795662035758574507254714467216653080689388763717859562967790220773318023021490006032195518903351657576741684246426332478914668506732290631777787276 8417806572530949348633196597179057834017071389225158765600626308605639254625265869886957657409170925880281883514238919133778210231392280480799299219430361013552016110550306088320428201744570523898336761253692877067676742624894593034303948412021452130206407201272937110696541204730291964606692147060563050789803836446111250405372354865845743060098124568974377335571835302790953545396993968392471304043481856128081783571178856822288352887556440686194014031038717225709616076782863588321179546213237475203131097091741567933271174854195811037918457392437693675487595620008905162815332628336612964549928929934139353720126229412022878489507821105269871461063079626100761608317396249996454484439819455007385370597895366902499063842837302267983844886116887197702557847068454919064203564947436293051878853729549719336335597168480250785114171424406666638914109119437971820962772972909501823955544331899460275300639081647397473302884692079260941468973881706092240660590095942574972123630579727050738877536429898842367843421845782819675225330332357560737431149608189755198491468649339858509992890402643395316825589352543899656277239298004434787671620116686475818896214993673997318242894546588837501071119153946039357902428967436189028871452083300007692911357381936081261315571788710116429599889546121110006898461187368155324551585849787641547675597377339820499518264708055897638128019391226788205130719868877947025811373831045050877523858638215243769449209230021753232877882246284846368050284406033473753219324299873577161030961562061614042389834449623611303942198784188677318416006087027950862193621867748746488142746726661975085152374159111527577207797245467197832053396638775951847446911053313234644197567331457321947975163698057610226861603210559065001511470400370331450002519183757034466987187427075978211820501557901086918405944495168055174180676833404664074567015535333532906723384783624798223593404088918563890846765894082020249267526215105670367617999218547345792995473728993792623335576294077221072177800071396276724982084895196392992074539967847624339621731894879953820193213337205284009307517209632926290681250747874148866119284876268695579673119082103621695022598521144674685466216791304447720754491835717003370413176838225925524267563809189979913994574094229767490459209405461137692437088639984022570030585546309944740808603810560862703775575674107275374863806641924452225142862911928372303020523129573542826776445696601582111329982736553545279346781404218245798949906366682754036085608166274961497239911298326574519252560720624556904428795459775385631651876671299976868068246065370991928510228578111912782786586175197263700520427976842140844409274610500088858237470261555060707589425445838932081741946559302459874573455418942523779423504697385133132456295808580741660065743226580703152896302189020823310327275106830883738161733509848279662069483568426185502835632492976101477606532512667073073073916881465659532937102736870009185235667337735550906270660763808200736658342867196194752918296501712878262171101266181286533002791904094265031220163110695596525472990656045777637697214645129407540413955285297100720436680206974679033237868866248366261159096086909975843262091532133284019456279227346987796955371018760087375980617353601721217579883000328738343426865295469663733246750195033900936762628408603183025256081568504489816566668111952333709293933618866801379846667944265993828544621320635154936534070568512122421231830183088699484123722686555333976072956123 13620297145077333009918643075387019712018082394408508141303587477694475414113088770802466050243937390873131258546377303002947391108237673769650174705573439124155355504514023695629710458070822207387587028978073854309853881987630473087100347247429961912992161752050697311315899522622232044212570824818134354563511600610742775690963913952887889887361277761291718233624587068360957407673076862970096348968907247521109368423592316866792366053864827583699374798475702118074796539568481899936319611470032405474762026471070996587853197350480529017704380427085401191408216977959962177139434609381356917937045140119955403738868783613244903928426243493033958760629513475435059994102083801487293542872526341138897959964408615677411638536162009121292808757497140920896979883626973122472294939539125866707242561787642615128006611786765980217051917588406171124996493004851205852491791226602362337768524926606678697714109071498690294561495189960876466415512743234243639650264290863358757299313387010143580195411898543623170184385334825485046092161278546543394172757375189488879547505866273515610866659078872970507877276847962164269678475370582848630175330688681780906489412629637244939617470468519847067980686862167815556571421432280599154212764077409747159518056055875653902901485639667479447820685961312168795442557625441958711927149439185633732697094373932556575854621427111930567635849279741512863616375606470853197645111915401490751331090695080625109544313391006812914963933374507798367142923590831984949148909977392383018531355999908028496424132663260987447294395399532003274488327711266638708363664373784985223782623605604521389077598711369442620659405268292901847315114671717996297451999095043963135716208349786129521580738383552468368324404904441081432881076352630349245496888155784203868218791752175073197326314479810466019918806391382012850229685476921546279654586945007626404882988388310541921939577946576522167228168499386899104314495096388516183227000187622727074779223724111490473279473651924746960144123080139608381684795589114928140496716338867013002129467139310529443612619539308891096676697044656399133231699143883897722423066269327901594233094462159072877981027059757694019748049730779003131422589818863337506044809652566219580371322914612685540025158595036878475102151523448942521921791108941457555861350733557978600058185749698151642381477349468162954403112595929595528735146250335694379126204069689494844829342773743937746980402583601099234068465303758747047305372098504342842027866208700022799958770928195602091481101649611053981241519626443771544279271141256142254866938969577214125667185117758048417460140630769222820046748509410250029198822996622126659690738355842483651988268294609072330615398780912777853366111159983497236497023682123442738343396920906860582150236504349966297544699041062640386678268898068653481141520654789448975134849755746316060905866045531836702787278212192762569415639359637881789660332208971567413180925349523818794701938715512558069129523680177547237954297075331966230201146070954179293935151990766986474159174053465674289900858891250670119443637547794692692021500305788398229762831171694958247293369879595957047506170327651604252441971283892532782026512888639427985412390204824045225111970440752968072628590332645383141402215336691776178120736832051744691168809534670503137877970364166525575141175366666800925947014308255565097706230912056214601862644342125160968729589471863779997973514429515031963038391193287624607850743399 22038103717608282358551839672566077546035153783633666906904213786300114668738354640689423707653108316753413142060616222136725601339629954250449473925003800137707371615064329783950138659815392731285923790231766731377530624612525066121404295659451414043198568953323634422012440727352524008819262971878697405353315437056854026096336268818733632947459402330266095569196422371151910953070070831362567653012389103649191151994771173689080718941421268269893388829514419343784412616351345488257499157683269880677893123562812564521124372204676340055622837819523094866895812597968867339954767237717969882486974070054094757458995013025267782417934064598303830221692593101535821602419480051483748027312345796146283330562303982579910702378999311389276653643614028118599537730695428041536498504486562159759121415517192334464342208955246231002166089012812837763910602124289177673454564199511864161724069258506138973014748153146087767864379882040137407884486624940335880310854386805933729422943966737194319072948328442465538027807180608304721317491610904104131603906983379244078038974515613374120859549481516365824702866200506063925955714668587283417846950805368256725385627623311242257860365015108684569051806016113854914473850399716788183084216160709754852429413437811735164217057428377595877420575507433278802341018812810114036478735288973275280372691751272377075372886135167828205763868670968301068747095475348800223456485746446541628854949333295868878993522621028566147841815620792644735193207996865458702368234277265960179562317561969642538813967112884598751236594183720680592904333798294589570557286241533731711925370332266496474229972870480970197867202513760099679368511310493948144898910148357197779913775681243451469555902081610078595186008115000146434392546753000680695499407339541238335205979179251051409146816037711552938324750886550068024410362310326210354221602480341159311606373171935340145532982035495086058074934393468919353582021311494186550844999406170072867774697453105283096615049946001968032321923151535885106666880484311321132571256306714637341751199034190483263805832876514175105984214254289325423912949891758046588542351145596597173906213544262694573003625580902368705214266522083450852177081654580340876457986490792145104638886723802665454019732689266645965561360928910080214358879748925480125891936279867923340866789560259014346157053023575438329266919237854047753878009162264066682146727199263037671605788470345519858310385320154644513415246707976992846255278465187096878113474374974984297198682226522176610733662370235610885670315086219157175931147812556119122935185034948206054177413695869961200246726805966486520567176486252390873608097607122215517928208617397544359577693740448004412357345340215237727939566578926021015920528379508575870799692729487602242215979730930669450441001230083463697005544004899537219303254164637728637204333324172501563741498538507938180393810724859835642489556241103541322597434945841576598416592687259369700972599479320758805787866547373741990872593577044844492372247337135465826937943894861251505379337164161270815373849547296447757140852192924100232435455591085498950199511378669637280531238745844323308665266414561580095704062816025816801482792115986415782367761223584132601092587794354689290208473332974121484829080632161439911367487027085645627931437943273686163134051932671015391707843478619134635240947927122366477552898856322208430407265662760315905263660040375902419205344612603731447162113879842958583923699522 35658400862685615368470482747953097258053236178042175048207801263994590082851443411491889757897045707626544400606993525139672992447867628020099648630577239261862727119578353479579849117886214938673510819209840585687384506600155539208504642906881375956190730705374331733328340249974756053031833796696831759916827037667596801787300182771621522834820680091557813802821009439512868360743147694332664001981296351170300520418363490555873084995286095853592763627990121461859209155919827388193818769153302286152655150033883561108977569555156869073327218246608496058304029575928829517094201847099326800424019210174050161197863796638512686346360308091337788982322106576970881596521563852971041570184872137285181290526712598257322340915161320510569462401111169039496517614322401164008793444025688026466363977304834949592348820742012211219218006601219008888907095129140383525946355426114226499492594185112817670728857224644778062425875072001013874299999368174579519961118677669292486722257353747337899268360226986088708212192515433789767409652889450647525776664358568732957586480381886889731726208560389336332580143048468228195634190039170132048022281494050037631875040252948487197477835483628531637032492878281670471045271831997387337296980238119502011947469493687389067118543068045075325241261468745447597783576438252072748405884728158909013069786125204933651227507562279758773399717950709813932363471081819653421101597661848032380186040028376493988537836012035379062805748995300443102336131587697443651517144254658343198093673561877671035238099776145586198530989583252683867392661509561228278920950615318716935707993937871017863307571581850412818526607782053001526683625982211944442350909243401160915629984031029580991136640465162546963510413019441227867273623105631029940996295495325442203424770931426124606473130517522018958243557277932080874640047787247756633876189425348785716489361560245882067472559982071608225303102892855818457896516407882702734071999593792799942553921177216773569894523597926714992466046231675493488351676073426249273067972645581650343880666173501012707418452415823066202660911298945724557144649035641944310965417414924498768139308006421767450984652640660062724962316252862453983599671473443678382502796143358364685010209638415350994044891284303524440663512452359022736280670857866937681753287013425901940924975309957165988538530373043601283670031833783643282613155412599761061272931268952532516435131244089457605290787903755743747483712011735739893560650563691439720141340583675007097157453154717778702214764019846664866911834712662928720210418953812261377802124004525420179844598813628009617706867436735709340613924995662640902806920603744342177618946973240028011565962035057076742972744121128015581305677738909518252417552061632018609143089650394462824366216235280635747985700271146104083683812902968190700444774819427177612339183079918817624647364584039774883181088937052598211905195600741423112257767154813144011597518036783188495674538194833316874917390227551289228826890652376810722573393408089645120873095885628237979538511217626945105274708438547117876584489740718792924456955896873897179962342550364595527824608625440280356171436742213184348146034099918349583509305004625843767780151428408177826204558235107657362837063665619504626231295968853216089488223859137390319100247477944189301012022296837540966849018845285935561187962235377931575259129768378423032269910004885476873993249512239682417178859042118763410200505073130583191774442921 57696504580293897727022322420519174804088389961675841955112015050294704751589798052181313465550154024379957542667609747276398593787497582270549122555581039399570098734642683263529987777701607669959434609441607317064915131212680605329908938566332789999389299658697966155340780977327280061851096768575529165270142474724450827883636451590355155782280082421823909372017431810664779313813218525695231654993685454819491672413134664244953803936707364123486152457504540805643621772271172876451317926836572166830548273596696125630101941759833209128950056066131590925199842173897696857048969084817296682910993280228144918656858809663780468764294372689641619204014699678506703198941043904454789597497217933431464621089016580837233043294160631899846116044725197158096055345017829205545291948512250186225485392822027284056691029697258442221384095614031846652817697253429561199400919625626090661216663443618956643743605377790865830290254954041151282184485993114915400271973064475226216145201320484532218341308555428554246239999696042094488727144500354751657380571341947977035625454897500263852585758041905702157283009248974292121589904707757415465869232299418294357260667876259729455338200498737216206084298894395525385519122231714175520381196398829256864376882931499124231335600496422671202661836976178726400124595251062186784884620017132184293442477876477310726600393697447586979163586621678115001110566557168453644558083408294574009040989361672362867531358633063945210647564616093087837529339584562902353885378531924303377655991123847313574052066889030184949767583766973364460296995307855817849478236856852448647633364270137514337537544452331383016393810295813101206052137292705892587249819391758358695543759712273032460692542546772625558696421134441374301666169858631710636495702834866680538630750110677176015619946555233571896568308164482148899050410097573966988097791905689945028095734732181222213005542017566694283378037286324737811478537719376889284916998999962872810328618630322056666509573543928683024787969383211378595018556557737570405639228952296287685631865207691495971224285292337241308645125553235049981057598927399990899507768560521095942045521550684462023988278221562431430176582774945904835776753128024019258960782634150509789649096362218016448064623973570170406224873381269102950639550606792417807645223293293825281791764870216180334695583396619039612936951071637691036491164574863827743419658468215570188040919714434977463601173223910388260898958719712732739815929028878536598254814958649991394356135381239955312948426390082275752582149798882085896141566766368380500737309039473626234022012509497970817953594242702195861181101481915031776415018210866557695547155590637572371143655775505081155330089461343253309245244317835539268338080441140594479942782379882065066582195966211305198426701501229567780689356907867727919748028984064906249543516404091319188388863122547713063574899661912433854394751841844964434855202100654720610014110724042558196647137674154075680705256774925031219699484229421655214945640745225110947811039780489489484917848381788215920648557985843565633725341933642893156892411487959396130161853929034232808355847371284603664836703156774764443850096915944166384992097120612259550147912651992310427297146029462346653045536998593626111060376601014656000855710886223035947031685421217875464146074229508556358556862323905070196428910162500298052812028624700631462677175667645792779256909552615584836384203654722494857362618952973541775698142443 93354905442979513095492805168472272062141626139718017003319816314289294834441241463673203223447199732006501943274603272416071586235365210290648771186158278661432825854221036743109836895587822608632945428651447902752299637812836144538413581473214165955580030364072297888669121227302036114882930565272360925186969512392047629670936634361976678617100762513381723174838441250177647674556366220027895656974981805989792192831498154800826888931993459977078916085494662267502830928191000264645136695989874452983203423630579686739079511314990078202277274312740086983503871749826526374143170931916623483335012490402195079854722606302293155110654680780979408186336806255477584795462607757425831167682090070716645911615729179094555384209321952410415578445836366197592572959340230369554085392537938212691849370126862233649039850439270653440602102215250855541724792382569944725347275051740317160709257628731774314472462602435643892716130026042165156484485361289494920233091742144518702867458674231870117609668782414642954452192211475884256136797389805399183157235700516709993211935279387153584311966602295038489863152297442520317224094746927547513891513793468331989135708129208216652816035982365747843116791772677195856564394063711562857678176636948758876324352425186513298454143564467746527903098444924173997908171689314259533290504745291093306512264001682244377827901259727345752563304572387928933474037638988107065659681070142606389227029390048856856069194645099324273453313611393530939865471172260346005402522786582646575749664685724984609290166665175771148298573350226048327689656817417046128399187472171165583341358208008532200845116034181795834920418077866102732735763274917837029600728635159519611173743743302613451829183011935172522206834153882602168939792964262740577491998330192122742055521042103300622093077072755590854811865442414229773690457884821723621973981331038730744585096292427104280478101999638302508681140179180556269375054127259592018988998593755672752882539807538830236404097141855398017254015614886872083370232631163819678707201597877938029512531381192508678642737708160307511306036852180774538202247963041935210473185975445594710184829557106229474972930862222494155138899027808358819376424601467697641463578777508874474659306000633367442109515257873694846888385833628125686920221464659355489398510306719727222716740180173346323234113769662640896606982905421334319104319987463588804692589737168102704476050958524435068891961127666132008382670731448472633376579592569976318396155542324998491513588535957734015163190409928940619493984511545014616351985720180641878539433043999046413866611323125980435660461679437905201795026477577672679221938814610899873166102563877600382709617810562157898302833582471268890550922056745057520755632502772613089085872030276527890948412201491940946412401772375671864373169810835918620192803803492083861882699484010136813036227706587487946755988598965032066299947442586387547112969255467864621611628760825746692321675868987392555622647002476320448526374881798465937519034153314756068684135666117727464456359599415161025923266424390683510309831674361686081349367384833293310124196479398828336180455996724884021008139898987948791996131015862515968501402125238103317928064080400488253501704264570004015882600664213130737291672569867872090343934745360426266131932899162064765158096526346097325405881169191005757616872397878229628071158393079054494947085672531269653250159064855267253563062696841258267563124026104124967472585364 151051410023273410822515127588991446866230016101393858958431831364583999586031039515854516688997353756386459485942213019692470180022862792561197893741739318061002924588863720006639824673289430278592380038093055219817214769025516749868322520039546955954969330022770264044009902204629316176734027333847890090457111987116498457554573085952331834399380844935205632546855873060842426988369584745723127311968667260809283865244632819045780692868700824100565068542999203073146452700462173141096454622826446619813751697227275812369181453074823287331227330378871677908703713923724223231192140016733920166246005770630339998511581415966073623874949053470621027390351505933984287994403651661880620765179308004148110532704745759931788427503482584310261694490561563355688628304358059575099377341050188398917334762948889517705730880136529095661986197829282702194542489635999505924748194677366407821925921072350730958216067980226509723006384980083316438668971354404410320505064806619744919012659994716402335950977337843197200692191907517978744863941890160150840537807042464687028837390176887417436897724644200740647146161546416812438813999454684962979760746092886626346396376005467946108154236481102964049201090667072721242083516295425738378059373035778015740701235356685637529789744060890417730564935421102900398032766940376446318175124762423277599954741878159555104428294957174932731726891194066043934584604196156560710217764478437180398268018751721219723600553278163269484100878227486618777394810756823248359287901318506949953405655809572298183342233554205956098066157117199412787986652125272863977877424329023614230974722478146046538382660486513178851314228373679203938787900567623729616850548026917878306717503455575645912521725558707798080903255288323976470605962822894451213987701165058803280686271152780476637713023627989162751380173606896378672740867982395690610071773236728675772680831024608326493483644017204996792059177465505294080853591846636481303905997593718545563211158437860886902913670685784081042041984998098250678388789188901390084346430550174225715144396588884004649867023000497548819951162405415824519259846890441926109980954535966690652230351107790691498961209083784925585315481802754263655153177729491716900424361411659384264308402362851383890174139231443865253113259214897228637559772071451773297043733600013552504508505050389526657929697166281680509543933977059025355595484562327416548112248205383672892516970672959412532493134351576520269281629451161205373192508621448512916650970500974989885869723917197689328111616800011216372076134310427100512493552486549022379276742083472672647888623832623951253614055922140101062976127959492704455636957025477457568713258154515172753853273586067239053632923043814522199796166374580596789093712943913207569028654410158592957530608167703246144839103273605239645062526718703646539940832787556990111426215888101456001425090829135201010330888260877465920694699284431351981968171356122585231625739484868304888968813543141468236327903777401351668225859111220121152464674898539867016495175446607216949374207981203376946571824410234249144035173608004579238241778872792689440286050408433061144536303368009487685844843055762713235846227931806682353493499245850362868075976732392798680798850294032350668928137662806756848352049170882528091199645631583462213163618320379940229304170755854653683962743493096075954045782560378527680883187017779685957624261340177062432507068617470852089947266351563753124925742979077666743170727807 244406315466252923918007932757463718928371642241111875961751647678873294420472280979527719912444553488392961429216816292108541766258228002851846664927897596722435750443084756749749661568877252887225325466744503122569514406838352894406736101512761121910549360386842561932679023431931352291616957899120251015644081499508546087225509720314308513016481607448587355721694314311020074662925950965751022968943649066799076058076130973846607581800694284077643984628493865340649283628653173405741591318816321072796955120857855499108260964389813365533504604691611764892207585673550749605335310948650543649581018261032535078366304022268366778985603734251600435576688312189461872789866259419306451932861398074864756444320474939026343811712804536720677272936397929553281201263698289944653462733588126611609184133075751751354770730575799749102588300044533557736267282018569450650095469729106724982635178701082505272688530582662153615722515006125481595153456715693905240738156548764263621880118668948272453560646120257840155144384118993863001000739279965550023695042742981397022049325456274571021209691246495779137009313843859332756038094201612510493652259886354958335532084134676162760970272463468711892317882439749917098647910359137301235737549672726774617025587781872150828243887625358164258468033866027074395940938629690705851465629507714370906467005879841799482256196216902278484290195766453972868058641835144667775877445548579786787495048141770076579669747923262593757554191838880149717260281929083594364690424105089596529155320495297282792632400219381727246364730467425461115676308942689910106276611801194779814316080686154578739227776520694974686234646451545306671523663842541566646451276662077397917891247198878259364350908570642970603110089442206578639545755787157191791479699495250926022741792194883777259806100700744753606192039049310608446431325867217414232045754567767406517265927317035430773961746016843299300740317644685850350228645973896073322894996187474218316093698245399717139317767827639479059296000612985122761759021820065209763053632148052163744656927970076513328509760708657856331257199257596599057462094853483861320454140511412285362415180664896920973934139946007419740454380830562622474529602330959414541887940189168258738967708363484751332283654489317560100001645048525354324479993536111128786442243906733279727225245230562872981163810935944321406150916882480359674699804549791005352804837942551775596993021631483847601385095479242652277664300182609678006569088214018489235047126043299988377383312453155423343274807209940156991570118821972115128845538206729664257816175127471719061755235155749931689274517601578006264771154437070377134858895840088357441879360718392773136562891396629396951935756626285791090347088431325654309849345446685820658114526440435120848479020369195187091251505045980911509435696529539565160133636591049073973308915372111592814461318535722688957086876859842497986994646727017739529081140611590449853237368245694051581290489412128860791950550779877672116752233993018587089983709051854623085179311112724944413830567580618537972495090834624932654345005282366265319591146257625982750410246887831889480716759364734371706852982954750662027842358947669198321994901371088466186004040812793286934300554558602354684810738327019887585643721740750400181543580376943888479295551219542004994462267282200751009368624662287081711662654958256757308954345410858740452571347012708332085757227682326119343510329048405011392488867005181791710643313171 395457725489526334740523060346455165794601658342505734920183479043457294006503320495382236601441907244779420915159029311801011946281090795413044558669636914783438675031948476756389486242166683165817705504837558342386729175863869644275058621552308077865518690409612825976688925636560668468350985232968141106101193486625044544780082806266640347415862452383792988268550187371862501651295535711474150280912316327608359923320763792892388274669395108178209053171493068413795736329115346546838045941642767692610706818085131311477442417464636652864731935070483442800911299597274972836527450965384463815827024031662875076877885438234440402860552787722221462967039818123446160784269911081187072698040706079012866977025220698958132239216287121030938967426959492908969829568056349519752840074638315010526518896024641269060501610712328844764574497873816259930809771654568956574843664406473132804561099773433236230904598562888663338728899986208798033822428070098315561243221355384008540892778663664674789511623458101037355836576026511841745864681170125700864232849785446084050886715633161988458107415890696519784155475390276145194852093656297473473413005979241584681928460140144108869124508944571675941518973106822638340731426654563039613796922708504790357726823138557788358033631686248581989032969287129974793973705570067152169640754270137648506421747758001354586684491174077211216017086960520016802643246031301228486095210027016967185763066893491296303270301201425863241655070066366768494655092685906842723978325423596546482560976304869580975974633773587683344430887584624873903662961067962774084154036130218394045290803164300625277610437007208153537548874825224510610311564410165296263301824688995276224608750654453905276872634129350768684013344730530555110151718610051643005467400660309729303428063347664253897519124328733916357572212656206987119172193849613104842117527804496082289946758341643757267445390034048296092799495110191144431082237820532554626800993781192763879304856683260604042231438513423560101337985611083373440147811008966599847400062698226389459801324558960517978376783709155405151208361663012423576721941743925787430435095047378976014645531772687612472895349029792345325769862633316886129682780060451131442312301600827643003276110726336135222457793720761425353114904263422582962039765607562902083485977506746832231733750280952399639093508102226001915694850859539385030295289112118421900917086147935448489509992304443260133878229830819172546945929633770883379761596835467002151698096544274978263253036370353112671386424009951373363646253132399215641339090693278686637092917210944391709643858988373882942888573523718107327747282396563081590495852865565815010592618872907945890416164982696636005568679670100313290143254805906251098943058390599028227143180850593713806009628536898433236090608319586151154498223248243211700074469378606064084735131260213048815886409364857889967417765120719963907689346011449091511049311967713035084863107730562356470259302955270329028278454557279023784978093104238708242448383950394490101674486559332161363204775561821914919066915244859181798380178890370844557832925130418672190696297296264950625253062732743859392697826010513375263688586879475880675488400616938829054080017545186085615099404852634705353738875989826644433995770911632928272743226008527350692459169539921945223766438038055404693331368155383157665708437518635284989837532428638426410195608352885394518264296299796971433457595399968764517414609984259458453814040978 639864040955779258658530993103918884722973300583617610881935126722330588426975601474909956513886460733172382344375845603909553712539318798264891223597534511505874425475033233506139147811043936053043030971582061464956243582702222538681794723065069199776068050796455387909367949068492020759967943132088392121745274986133590632005592526580948860432344059832380343990244501682882576314221486677225173249855965394407435981396894766738995856470089392255853037799986933754445019957768519952579637260459088765407661938942986810585703381854450018398236539762095207693118885270825722441862761914035007465408042292695410155244189460502807181846156521973821898543728130312908033574136170500493524630902104153877623421345695637984476050929091657751616240363357422462251030831754639464406302808226441622135703029100393020415272341288128593867162797918349817667077053673138407224939134135579857787196278474515741503593129145550816954451414992334279628975884785792220801981377904148272162772897332612947243072269578358877510980960145505704746865420450091250887927892528427481072936041089436559479317107137192298921164789234135477950890187857909983967065265865596543017460544274820271630094781408040387833836855546572555439379337013700340849534472381231564974752410920429939186277519311606746247501003153157049189914644199757858021106383777852019412888753637843154068940687390979489700307282726973989670701887866445896261972655575596753973258115035261372882940049124688456999209261905246918211915374614990437088668749528686143011716296800166863768607033992969410590795618052050335019339270010652684190430647931413173859606883850455204016838213527903128223783521276769817281835228252706862909753101351072674142499997853332164641223542699993739287123434172737133749697474397208834796947100155560655326169855542548031157325225029478669963764251705517595565603519716830519074163282372263488807212685658679188041407136050891595393539812754876994781310883794428627949695989968666982195398554928660321181549206341063039160633986224068496201906832829031809610453694846278553204458252529037031306886544417813261482465560920609022634184036597409648750889235558791261377060712437584533446829488975799765066224243463879508604212382391410545984200241789995901742243819089820886554741448210078985453116549311947937286519759143674030869928221413480111958958995511515272620257319038170323321845767742019744704995093661909427253721924090487224086503013935927107735263325310061824824610229816380561386330685049485491386745222587574966640636348823508536014661231219891530355216371954371330770184628900008350894909092338416110771399094144123814632163091125296113592518436833633458725354748705654172452471979591300719026979056379326032957504436296386104380490343237231905408792403837284848885257707291028834654488648906093620327342113365567062663933919777782776860208105969655138058044046632324641630347727900580578924504641980562461894683992738466831040130452579303484938100475976256408051549792367399189820229005337156695901730327097257295332432093002249113186853797672057105777035343142440452891562006079484114452725184172737109877424071388044654941106544184096840105969822097478231099550808965264037291530945827145078997483301988027295240084058357979372549399959411237060038549614316846532019639492652383328454286806385471239171754720759463950218228705320256155702699992817670239377371092476892042298791877839497166862766955365593726604021523982123090776967924448373775909903476989441250164457354149 1035321766445305593399054053450374050517574958926123345802118605765787882433478921970292193115328367977951803259534874915710565658820409593677935782267171426289313100506981710262528634053210619218860736476419619807342972758566092182956853344617377277641586741206068213886056874705052689228318928365056533227846468472758635176785675332847589207848206512216173332258794689054745077965517022388699323530768281722015795904717658559631384131139484500434062090971480002168240756286883866499417683202101856458018368757028118122063145799319086671262968474832578650494030184868100695278390212879419471281235066324358285232122074898737247584706709309696043361510767948436354194358406081581680597328942810232890490398370916336942608290145378778782555207790316915371220860399810988984159142882864756632662221925125034289475773952000457438631737295792166077597886825327707363799782798542052990591757378247948977734497727708439480293180314978543077662798312855890536363224599259532280703665675996277622032583893036459914866817536172017546492730101620216951752160742313873565123822756722598547937424523027888818705320264624411623145742281514207457440478271844838127699389004414964380499219290352612063775355828653395193780110763668263380463331395089736355332479234058987727544311150997855328236533972440287023983888349769825010190747138047989667919310501395844508655625178565056700916324369687494006473345133897747124748067865602613721159021181928752669186210350326114320240864331971613686706570467300897279812647074952282689494277273105036444744581667766557093935226505636675208923002231078615458274584684061631567904897687014755829294448650535111281761332396101994327892146792662872159173054926040067950367108748507786069918096176829344507971136778903267688859849193007260477802414500815870384629597918890212285054844349358212586321336464361724582684775713566443623916280810176759571097159444000322945308852526084939891486339307865068139212393121614961182576496983749859746074703411611920925223780644854486599261971971835151869642054643837998409457853757544504942664259577087997549285263328126968666633673922583621446210905978341335436181324330606170237391706244210272145919724838005592110391994106097196394733895162451861677426512543390823544745519929816157021777199241930840410806231453575370520248559524751236932953414198920226944190692745792467672259350827140396325237540618601559129735290382774027849154639010238422672576013006240370367869141555140880997371556159450151444766092281884952493538443319131849944903889385193861648686047655229842903718862625086770546411523719593287037532002009549360502481042953132497697575051664649014220920265719230196540315850601571219987463064598464208664917395221362022668963073115966486417670633598043138156507735462227883877112400888141622548460498277442992053563432721685153213818432143026025988560282575348261202142779177892537690446234137265438468891922407101282425802373338749915922551179764547016520022963583706818764521809095322669518848507459894435719686708420201496003574880476952643603288528284231389267140240118704262367810628921324343296251105363063107954435256996518463327131802841480361790731222884830222090492248634975777412555219532706620959672971702604966124294164075903165458164499364263871765392288490306673176453635263564016256727030032393998589864213890299385895441995143358311560396031360973053397043079529995527327288629410268135593272962563718479121122285820281920062210425519848342540427318086973700708618271395127 1675185807401084852057585046554292935240548259509740956684053732488118470860454523445202149629214828711124185603910720519620119371359728391942827005864705937795187525982014943768667781864254555271903767448001681272299216341268314721638648067682446477417654792002523601795424823773544709988286871497144925349591743458892225808791267859428538068280550572048553676249039190737627654279738509065924496780624247116423231886114553326370379987609573892689915128771466935922685776244652386451997320462560945223426030695971104932648849181173536689661205014594673858187149070138926417720252974793454478746643108617053695387366264359240054766552865831669865260054496078749262227932542252082174121959844914386768113819716611974927084341074470436534171448153674337833471891231565628448565445691091198254797924954225427309891046293288586032498900093710515895264963879000845771024721932677632848378953656722464719238090856853990297247631729970877357291774197641682757165205977163680552866438573328890569275656162614818792377798496317523251239595522070308202640088634842301046196758797812035107416741630165081117626485053858547101096632469372117441407543537710434670716849548689784652129314071760652451609192684199967749219490100681963721312865867470967920307231644979417666730588670309462074484034975593444073173802993969582868211853521825841687332199255033687662724565865956036190616631652414467996144047021764193021010040521178210475132279296964014042069150399450802777240073593876860604918485841915887716901315824480968832505993569905203308513188701759526504526022123688725543942341501089268142465015331993044741764504570865211033311286864063014409985115917378764145173982020915579022082808027391140624509608746361118234559319719529338247258260213076004822609546667404469312599361600971431039955767774432760316212169574387691256285100716067242178250379233283274142990444092549023059904372129659002133350259662135831486879879120619945133993704005409389810526192973718526728270101966540581246405329851195549638422605958059220365843961476667030219068307452390783495868717829617034580592149872544781928116139483504230468845090014938745084932213566164961498768766956647856679366554326981391875458218349561075903338107544843272223410712785180819446487763748905977908331940690140919396259348002887318457535079283894910963823342420333707056149651741303982944879608146178566648559386386343578874440285476435937276408360934328909896662516020176297475604404880450942822196166389266532006152422966934437984925188541719424911544525734017370184700708886449734434074078997041141877181708348493295388426911101887776613252442047276621512207214755774310334512784156063829999041205350276874159915536578055509383944374277741348701920577552262872522051123941280370061916527866065168725997658595432651383114986926349085673890774835050720276482366062803808765420490681317916340200823224524862332076581865166019047816427049081844887697057331488382753591310217126320004961064059683075172573358887690068708668736465231592415588438747298753298907312569954892716475382081903446372917275461846702820702190927403827410703830547235845064312681067906507982072909385664458630837192706927700321591799443941041449846750478533766038670455004592993419534248134261144830713899323675108825430838104623519708473274756216399585181316838779469829035968611058849845660223848678567716098731353790723636420450622472419369587421288107632760135729519084072847726307344264043152987393444296716316337221563963141958782728749276 2710507573846390445456639100004666985758123218435864302486172338253906353293933445415494342744543196689075988863445595435330685030180137985620762788131877364084500626488996654031196415917465174490764503924421301079642189099834406904595501412299823755059241533208591815681481698478597399216605799862201458577438211931650860985576943192276127276128757084264727008507833879792372732245255531454623820311392528838439027790832211886001764118749058393123977219742946938090926532531536252951415003664662801681444399452999223054711994980492623360924173489427252508681179255007027112998643187672873950027878174941411980619488339257977302351259575141365908621565264027185616422290948333663854719288787724619658604218087528311869692631219849215316726655943991253204692751631376617432724588573955954887460146879350461599366820245289043471130637389502681972862850704328553134824504731219685838970711034970413696972588584562429777540812044949420434954572510497573293528430576423212833570104249325168191308240055651278707244616032489540797732325623690525154392249377156174611320581554534633655354166153192969936331805318482958724242374750886324898848021809555272798416238553104749032628533362113264515384548512853362942999600864350227101776197262560704275639710879038405394274899821307317402720568948033731097157691343739407878402600659873831355251509756429532171380191044521092891532956022101962002617392155661940145758108386780824196291300478892766711255360749776917097480937925848474291625056309216784996713962899433251522000270843010239753257770369526083598461248629325400752865343732167883600739600016054676309669402257879966862605735514598125691746448313480758473066128813578451181255862953431208574876717494868904304477415896358682755229396991979272511469395860411729790401776101787301424585365693322972601267013923745903842606437180428966760935154946849717766906724902725782631001531573659325078659112188220771378366218428485013273206097127024350993102689957468386474344805378152502171629110496050036237684577929894372235486016120505028628526161209935288438532977406705032129877413200671750594749813406087851915055995993280080521113537896771131736160473200858128825286279164986983985850212455658272298072002707295133900837225328571642991233283678722134930109139932071759807065579456462688977783638808646147896776756619253934000340344487096450617138958973318962973796927004945138004175575859209965125562999944567332569238529026416667843473546435591823819567722548716683450918515248819390478463631860851274856448415119211231833386756541679577337792941622127912423593232068086582425958913111437137115733485000409119209782266420423324555433049875294026539357055951848094147378601176519718048861769499103371370883650668229358939721757539323508218424263328293052603110059483574273931575485203792077727454207556735873490300798205829834753980773256666177542343602402417400022522816002431457516708349456183127313499430670238298676142489981673336524984027643389893937095167983012738227517243925126028135275147167500249302482193046907536319763910366134835640057515580550965188512819848728170706954935910298953018747938064424971309204712227144820421568415591757922412084048078916818862401970011240386998343426707197959543828412210164310288878398687938980590823126594930192884926910019780415841908346871173468418900182501358235741102218992036879276494762714763777033463530152467946696876050698375768353408692082802551968848593164545963215197818964145058856764539650936842667401000144403 4385693381247475297514224146558959920998671477945605259170226070742024824154387968860696492373758025400200174467356315954950804401539866377563589793996583301879688152471011597799864197781719729762668271372422982351941405441102721626234149479982270232476896325211115417476906522252142109204892671359346383927029955390543086794368211051704665344409307656313280684756873070530000386524994040520548317092016775954862259676946765212372144106358632285813892348514413874013612308776188639403412324127223746904870430148970327987360844161666160050585378504021926366868328325145953530718896162466328428774521283558465676006854603617217357117812440973035773881619760105934878650223490585746028841248632639006426718037804140286796776972294319651850898104097665591038164642862942245881290034265047153142258071833575888909257866538577629503629537483213197868127814583329398905849226663897318687349664691692878416210679441416420074788443774920297792246346708139256050693636553586893386436542822654058760583896218266097499622414528807064048971921145760833357032338011998475657517340352346668762770907783358051053958290372341505825339007220258442340255565347265707469133088101794533684757847433873916966993741197053330692219090965032190823089063130031672195946942524017823061005488491616779477204603923627175170331494337708990746614454181699673042583709011463219834104756910477129082149587674516429998761439177426133166768148907959034671423579775856780753324511149227719874721011519725334896543542151132672713615278723914220354506264412915443061770959071285610102987270753014126296807685233257151743204615348047721051433906828745177895917022378661140101731564230859522618240110834494030203338670980822349199386326241230022539036735615888021002487657205055277334078942527816199103001137702758732464541133467755732917479183498133595098891537896496208939185534180132991909897168995274805690905903703318327212009371850356602865246097549104958407199801132433740803628882931186913202614907344693083418034440347245585876107183887953592601329977597172058847594468662326071934401695236322066710469563073216532522865952889592082383901086008218825606045751462936093234929240157505985504652833491968375861308430805219348201410110252138406124247938113752462437721047427628112838441080622212679203324927459350007435318718092541058860600099039587641056489996228400433562018567119497529622356313391288716878615861335645902401971360878896242465901045046592965319077951316042766641763888937983215457070938215753828463388820402570699767992940853228602018087465428129311771867020619169054300774940416579877814385824213324913728985927047685740721989481176197634889945834031357856538398261302124968307294137754575227432806143776844720072804228220492231461772881480603878280340791194358221329107718079006925314690472130141163401344982391786593766783164268633643519401263937984093882544425626942262354599397867597476564524776505264972201196488001726681429733800198799656529945091703072969109668526870702806936185980390357620550863585914799002601389505616862429036239292448038282012974791042397668009215010776131998117658766457534798083060619132331479291277621612809279052405608298685622733675847522857860312248720489774153037013881711790952963362660344425455119592298011614089416253964699553712593400184775996815427089663709952938247936151112417085586762442840715446992593494068554500669883980774940366066463471986483401113544421601886624816574900508810006368185212408441775173101761214899984626183728893679 7096200955093865742970863246563626906756794696381469561656398408995931177448321414276190835118301222089276163330801911390281489431720004363184352582128460665964188778960008251831060613699184904253432775296844283431583594540937128530829650892282093987536137858419707233158388220730739508421498471221547842504468167322193947779945154243980792620538064740578007693264706950322373118770249571975172137403409304793301287467778977098373908225107690678937869568257360812104538841307724892354827327791886548586314829601969551042072839142158783411509551993449178875549507580152980643717539350139202378802399458499877656626342942875194659469072016114401682503185024133120495072514438919409883560537420363626085322255891668598666469603514168867167624760041656844242857394494318863314014622839003108029718218712926350508624686783866672974760174872715879840990665287657952040673731395117004526320375726663292113183268025978849852329255819869718227200919218636829344222067130010106220006647071979226951892136273917376206867030561296604846704246769451358511424587389154650268837921906881302418125073936551020990290095690824464549581381971144767239103587156820980267549326654899282717386380795987181482378289709906693635218691829382417924865260392592376471586653403056228455280388312924096879925172871660906267489185681448398625017054841573504397835218767892752005484947954998221973682543696618392001378831333088073312526257294739858867714880254749547464579871899004636972201949445573809188168598460349457710329241623347471876506535255925682815028729440811693701448519382339527049673028965425035343944215364102397361103309086625144758522757893259265793478012544340281091306239648072481384594533934253557774263043736098926843514151512246703757717054197034549845548338388227928893402913804546033889126499161078705518746197421879498941497975076925175700120689126982709676803893898000588321907435276977652290668484038577374243612315977589971680405898259458091796731572888655299676959712722845585589663550843295622113791761817847964836815993717677087476120629872261360372934672643027098840346976273888283117615766295679934298957082001498906127159289359707224971089713358364114329939112656955359847158643260877620499482112959433540025085163442324105428954331106350247768550220554284439010390506915812696413102356901187206757376855658841575056830340715496884179157526092816492596153240396233854882791437194855867527534360823463575035139574073009633162551497751634590461331611486699898907989453464573218941852452263421974624441355972439833851474221969808889109659962241296966724368172484666460240344737324762050844719412048094859931771747596620959445378883906651883077755317253973062454672738931094945481667913275948091443687878888721590401494639019927386498765054522651273932217777562581199246265957333933241128799189948522467257083962474463478273382037194650271424888028029359662377122213870028934081233125961448099514695918671964980105876290180472993054929119346462863046763694853715545163703224315483648686138733082299251903871698663769965356003202814173117653032306622948633197727830624860168824613702367833751101808557196756450600482333839954099473974023890443545145759895601774679174650690501014540035357308418988912507191072554589765408470696699553070007077091294483905478327094795777231268998010581126406666836333613775321327864661832752326269088256783318277703347510927408312763339522684859169466953113684689176785423493673355969583383031372586834029866300865836827293584729038082 11481894336341341040485087393122586827755466174327074820826624479737956001602709383136887327492059247489476337798158227345232293833259870740747942376125043967843876931431019849630924811480904634016101046669267265783524999982039850157063800372264364220013034183630822650635294742982881617626391142580894226431498122712737034574313365295685457964947372396891288378021580020852373505295243612495720454495426080748163547144725742310746052331466322964751761916771774686118151150083913531758239651919110295491185259750939879029433683303824943462094930497471105242417835905298934174436435512605530807576920742058343332633197546492412016586884457087437456384804784239055373722737929505155912401786053002632512040293695808885463246575808488519018522864139322435281022037357261109195304657104050261171976290546502239417882553322444302478389712355929077709118479870987350946522958059014323213670040418356170529393947467395269927117699594790016019447265926776085394915703683596999606443189894633285712476032492183473706489445090103668895676167915212191868456925401153125926355262259227971180895981719909072044248386063165970374920389191403209579359152504086687736682414756693816402144228229861098449372030906960024327437782794414608747954323522624048667533595927074051516285876804540876357129776795288081437820680019157389371631509023273177440418927779355971839589704865475351055832131371134822000140270510514206479294406202698893539138460030606328217904383048232356846922960965299144084712140611482130423944520347261692231012799668841125876799688512097303804435790135353653346480714198682187087148830712150118412537215915370322654439780271920405895209576775199803709546350482566511587933204915075906973649369977328949382550887128134724760204711402089827179627280916044127996404051507304766353667632628834438436225380920013094040389512973421384639306223307115701586701062893275394012813338980295979502677855888933977108858413526694930087605699391891832600360455819842212879574620067538669007697991190541207989898945705801557438145971314849146323715098534587432307336367879349165550816539347104815640481719185272016682858168009717731733205040822643318206018953515870099834591946148923735708467074066096968700892223211571946149333101556076567866675378533978360606991301176497118213715434375162703848421074993728265617976954698429216113320336943897317741176093212314022218509553787522571761407298530501769929505721702359817501040619119602598481629449067677357103095500424683114365060391680327047405241272665992674392434296825668435869561687397938200881526982860466021025143112901246338054730561538086964573705339095780600653761228772818594335324717938009739616153578556098030761966876685670172914474057052792811516492107109213821863267520500531264779105845717009495261325495641588124560956429464074404530144172340309061023867126743097121792783301132634365307432453656301924731721611737626410645757902466713071715892406673691661535610090379272649584874211049535832156432221724418352099889204705841269237002318997098254505261204280632394392242495262211399666007097665346301206942841400992166942272468825368549184869176329087929891759955452763378526379632189129167879435743124632539486899410990788693072371190130779865470553732899015220528062994711167159423331055994037618071727279571774046696087674291079344914772484726192406914627104673467773261681750851872778373231491702348678829802994671342570580497535286575801601998394182165975951568243781028609202968062080736811919768457931761 18578095291435206783455950639686213734512260870708544382483022888733887179051030797413078162610360469578752501128960138735513783264979875103932294958253504633808065710391028101461985425180089538269533821966111549215108594522976978687893451264546458207549172042050529883793682963713621126047889613802442068935966290034930982354258519539666250585485437137469296071286286971174746624065493184470892591898835385541464834612504719409119960556574013643689631485029135498222689991391638424113066979710996844077500089352909430071506522445983726873604482490920284117967343485451914818153974862744733186379320200558220989259540489367606676055956473201839138887989808372175868795252368424565795962323473366258597362549587477484129716179322657386186147624180979279523879431851579972509319279943053369201694509259428589926507240106310975453149887228644957550109145158645302987196689454131327739990416145019462642577215493374119779446955414659734246648185145412914739137770813607105826449836966612512664368168766100849913356475651400273742380414684663550379881512790307776195193184166109273599021055656460093034538481753990434924501771162547976818462739660907668004231741411593099119530609025848279931750320616866717962656474623797026672819583915216425139120249330130279971566265117464973237054949666948987705309865700605787996648563864846681838254146547248723845074652820473573029514675067753214001519101843602279791820663497438752406853340285355875682484254947236993819124910410872953272880739071831588134273761970609164107519334924766808691828417952908997505884309517693180396153743164107222431093046076252515773640525001995467412962538165179671688687589319540084800852590130638992972527738849329464747912413713427876226065038640381428517921765599124377025175619304272056889806965311850800242794131789913143954971578341892592981887488050346560339426912434098411263504956791275982334720774257273631793346339927511351352470729504284901768011597651349924397092028708497512556534332790384254597361542033836830103690707523649522274961965032526233799835728406848792680271040522376264391163515620993098758097485480951950981815250011216637860364330182350543177108666874234214164531058805879095555625717326974589200374336171005486174418264998400673295629709640328608375541521730781557224105941290975400261523431894915472375353810357270791170150677659394201920333619305130514814662794183756426644198735725357637457040082525823392536180193192612231644180946819311947564427111911383013273049845144900266347093724929414649016875652798108269721035909367747089991186945101762987749511285385912798295075298862849015418424751143875460585532976369439553780703601844661622693908895810071093216639615616765118396141970328740902960179985997935412264762159520458651277870900239660769193543273204169323807222386798007645658943362288831528280951089217560600066165338327284636732320481685661587108843825607655344726991028428161171230588325345656641641486380559745642639803330395998695203195916578133897263592429021324917923141052079397506409132902944402359748245698076384517319039404288294934404670672025852335766886171193202300286677733525844380492242289292717478000353656079572713025195638726407218661550101491803233107728498549768777977744805453604985936533691410720229430408147288521523550054374367551277965085684872205751581608818339967728242491766506220099530770007635191056076579002629756991593142517356201740047450648971264978387421887855521945534951275153615443232834362946573639213353186969843 30059989627776547823941038032808800562267727045035619203309647368471843180653740180549965490102419717068228838927118366080746077098239745844680237334378548601651942641822047951092910236660994172285634868635378814998633594505016828844957251636810822427562206225681352534428977706696502743674280756383336295367464412747668016928571884835351708550432809534360584449307866992027120129360736796966613046394261466289628381757230461719866012888040336608441393401800910184340841141475551955871306631630107139568685349103849309100940205749808670335699412988391389360385179390750848992590410375350263993956240942616564321892738035860018692642840930289276595272794592611231242517990297929721708364109526368891109402843283286369592962755131145905204670488320301714804901469208841081704623937047103630373670799805930829344389793428755277931539599584574035259227625029632653933719647513145650953660456563375633171971162960769389706564655009449750266095451072189000134053474497204105432893026861245798376844201258284323619845920741503942638056582599875742248338438191460902121548446425337244779917037376369165078786867817156405299422160353951186397821892164994355740914156168286915521674837255709378381122351523826742290094257418211635420773907437840473806653845257204331487852141922005849594184726462237069143130545719763177368280072888119859278673074326604695684664357685948924085346806438888036001659372354116486271115069700137645945991800315962203900388637995469350666047871376172097357592879683313718558218282317870856338532134593607934568628106465006301310320099653046833742634457362789409518241876788402634186177740917365790067402318437100077583897166094739888510398940613205504560460943764405371721561783690756825608615925768516153278126477001214204204802900220316184886211016819155566596461764418747582391196959261905687022277001023767944978733135741214112850206019684551376347534113237569611296024195816445328461329143030979831855617297043241756997452484528339725436108952857922923605059533224378038093589653229451079713107936347375380123550826941436224987607408401725429941980054968097914398579204666223967664673418020934369593569371004993861383127620390104313999123004954802831264092791393071557901266559382577432323751366554477241162305088174306968982532822907278675437821375666138104109944506888643737993330765055700007283471014603291519661509712517444537033172347971278998405606034255859407386545804228183210037220812312214830125810395886989304667522612336066127638110236825227313752334997595407323409309949623776705590597596765685290872713927962229008774654398287159136349805860400935979992130090239656061239294205142258148116028319782671362310062474366169123978606492302435291310616027381533714476672093107149234128029680020989916056976745956670264454868768845757448368178816262082050189087534629140589304818215960657721858948639459919002039752935341963511840565437345281755372748930894874242946480732019348303177096470939018292224677541445534527359628138302552249363481633727166187160143371076495760914394107225034754140488193338595916985046501953641235611613513426844502709158640018570849471546909854932310384002244745480856526733288268701880904631381851039758148449512482591926180099688680548643448298538352620206464596686121887388853739203282559141621781653939325324661173359163285096496381303066160135157118871179687872792451758487063834449810494332105670422945512027544310627948184257840779989420282037687921486519518934644052435802425027310451133121644901604 48638084919211754607396988672495014296779987915744163585792670257205730359704770977963043652712780186646981340056078504816259860363219620948612532292632053235460008352213076052554895661841083710555168690601490364213742189027993807532850702901357280635111378267731882418222660670410123869722170370185778364303430702782598999282830404375017959135918246671829880520594153963201866753426229981437505638293096851831093216369735181128985973444614350252131024886830045682563531132867190379984373611341103983646185438456758739172446728195792397209303895479311673478352522876202763810744385238094997180335561143174785311152278525227625368698797403491115734160784400983407111313242666354287504326432999735149706765392870763853722678934453803291390818112501280994328780901060421054213943216990156999575365309065359419270897033535066253384689486813218992809336770188277956920916336967276978693650872708395095814548378454143509486011610424109484512743636217601914873191245310811211259342863827858311041212370024385173533202396392904216380436997284539292628219950981768678316741630591446518378938093032829258113325349571146840223923931516499163216284631825902023745145897579880014641205446281557658312872672140693460252750732042008662093593491353056898945774094587334611459418407039470822831239676129186056848440411420368965364928636752966541116927220873853419529739010506422497114861481506641250003178474197718766062935733197576398352845140601318079582872892942706344485172781787045050630473618755145306692492044288480020446051469518374743260456524417915298816204409170740014138788200526896631949334922864655149959818265919361257480364856602279749272584755414279973311251530743844497532988682613734836469474197404184701834680964408897581796048242600338581229978519524588241776017982131006366839255896208660726346168537603798280004164489074114505318160048175312524113710976475827358682254887494843243089370535743956679813799872535264733623628894694591681394544513236837237992643285648307178202421075258214868197280360753100601988069901379901613923386555348285017667878448924101694333143570589091013156676690147175918646488668032151007453933701187344404560236287264338528163654063760681926819718508720046147101640895553582918498169631552877914457934797814635577358074344638060232661927316957113504371467938783559210368684575412970798453621692262685721581843331822575051847835142155035425049804769981217044843585886754006602573401005504827061769991342706301252231949724247449140911160081970127580099428722524821972426185602421884975311633506133432380863900873063991996524165683673071934644881159263784995410554841383531521824827181511697701896731921627332985003971370176240217195246107919200409706757997710274617436852079105084646392791839541448567334847646196331033648412042049926772175401203060089695848030896917972117585769305178218321925113977787203638772073417027625098949409262952937100099739959323035414177069057365004944818582851498763934864480871841533222562824054880686146627074062748491105083284423155893267323527010169437113888733891414980434304085906241936170016284185452696838476044811211773149758224643380776690876244534038198334527086944348274593929827020577446976809999613974395159287828187230317421426043343806225192401130377532607618284147350571080665171836028306876602626259044035490848077990121406127863399610637685907972323221766122254890526389496961862662016088029383746050675398833229105758376842169893209867021470794088259495668636787973884090346474831871447 78698074546988302431338026705303814859047714960779782789102317625677573540358511158513009142815199903715210178983196870897005937461459366793292769627010601837111950994035124003647805898502077882840803559236869179212375783533010636377807954538168103062673584493413234952651638377106626613396451126569114659670895115530267016211402289210369667686351056206190464969902020955228986882786966778404118684687358318120721598126965642848851986332654686860572418288630955866904372274342742335855680242971211123214870787560608048273386933945601067545003308467703062838737702266953612803334795613445261174291802085791349633045016561087644061341638333780392329433578993594638353831232964284009212690542526104040816168236154050223315641689584949196595488600821582709133682370269262135918567154037260629949036108871290248615286826963821531316229086397793028068564395217910610854635984480422629647311329271770728986519541414912899192576265433559234778839087289790915007244719808015316692235890689104109418056571282669497153048317134408159018493579884415034876558389173229580438290077016783763158855130409198423192112217388303245523346091870450349614106523990896379486060053748166930162880283537267036693995023664520202542844989460220297514367398790897372752427939844538942947270548961476672425424402591423125991570957140132142733208709641086400395600295200458115214403368192371421200208287945529286004837846551835252334050802897714044298836940917280283483261530938175695151220653163217147988066498438459025250710326606350876784583604111982677829084630882921600126524508823786847881422657889686041467576799653057784145996006836727047547767175039379826856481921509019861821650471357050002093449626378140208191035981094941527443296890177413735074174719601552785434781419744904426662228998950161933435717660627408308737365496865703967026441490097882450296893183916526636963916996160378735029789000732412854385394731560402008275129015566244565479246191737833438391996997765176963428752238506230101807480608482592906290870013982551681701177837727276994046937382289721242655485857325827124275123625557188927555255894813399886311162086053085377047503072192338265943363907654442842162777068715484758083811300113117705002907454936160350821920998107355155620239885988942546340607167545338908099748692623251608481412445672202948362015340468670805737092706865977241243353044340019588881007490126314423455410804237076452230131690982189812610621817817041891895801738593290556899472336583515268549270318795354893851763720120229295835495552045661680902231102899117671736614801026221005298820081960231070994687019664720975402684931623187583064121386653955850012760241410004347314033844542409341173852600221635701017374025091808331913524172212233880520821519562438483391824392153001298103280810895684220543580019322171746037118431547112706890587521138876043784062617247122640811826352369588610789974700298218855472488890217909657123549789384353247995679322437782227089158413287067749922452193183238395990555696475657292243427794232389028237921117394471868029222084753576351289132408195577405627897698879541341185203451230343999229771553235709001260246778783679191053820232616976474834458402428486734958449126456987085467927875910866064874341882158845398865727063654495007137886553853639806793617682246201927287432403198775944574371424472287998556729508865595845115673524609318724976199991293968332439033541411290361303347017486946538366262451930897788507990313022903548104439213001194541479596476773051 127336159466200057038735015377798829155827702876523946374894987882883303900063282136476052795527980090362191519039275375713265797824678987741905301919642655072571959346248200056202701560343161593395972249838359543426117972561004443910658657439525383697784962761145117370874299047516750483118621496754893023974325818312866015494232693585387626822269302878020345490496174918430853636213196759841624322980455169951814814496700823977837959777269037112703443175461001549467903407209932715840053854312315106861056226017366787445833662141393464754307203947014736317090225143156376614079180851540258354627363228966134944197295086315269430040435737271508063594363394578045465144475630638296717016975525839190522933629024814077038320624038752487986306713322863703462463271329683190132510371027417629524401417936649667886183860498887784700918573211012020877901165406188567775552321447699608340962201980165824801067919869056408678587875857668719291582723507392829880435965118826527951578754516962420459268941307054670686250713527312375398930577168954327504778340154998258755031707608230281537793223442027681305437566959450085747270023386949512830391155816798403231205951328046944804085729818824695006867695805213662795595721502228959607960890143954271698202034431873554406688956000947495256664078720609182840011368560501108098137346394052941512527516074311534744142378698793918315069769452170536008016320749554018396986536095290442651682081518598363066134423880882039636393434950262198618540117193604331943202370894830897230635073630357421089541155300836898942728917994526862020210858416582673416911722517712934105814272756088305028132031641659576129066676923299835132902002100894499626438308991875044660510178499126229277977854586311316870222962201891366664759939269492668438246981081168300274973556836069035083534034469502247030605979171996955615053232091839161077627972636206093712043888227256097474765267304358688088928888101509299102875086432425119786541511002014201421395524154537280009901683740807774488150374735652283689247739107178607970323937638006260323364306249928818608267196146279940711932584960575804957650754085236384501436773379682670503600194918781370326431132476166684903529808833163852104548350489743269320090629660233070078174683803578123698681512183399140761676009580365112852880384455762158730699915881641604190714399128662962825196376162594640728842632281349848505215574218293497073717577736196415184022823321868953665793081299591809131422060830964409460430400765482473951192442645051268261681154467546656213864609032550052600515674090213001822985765633303005639568178928505970813239773006719104888948568165653551909492163037337332318005214718649558369098708140836110724132022802082949350376251317318526913613359103887050726672038349332331751692852945610992718981222382261441885149328465084824476356826317094365709176595034326279583899769397213709739383963251155955572228849540945071300618846749358192814262173936546161953639285128600972485276248063924542617629759224148397326712217388282295561448127563908981917955976168556785593218314437513575644181884332238179661248262442117148987996196616485692136491312821877525580907176965251068764285423005933711768448740431382244755756063141183486300385225965070591266857441187102625422033904424720471965453710553078529913691447234266792652361545878415861956340146551503817438895290731573615502589488255830994455121570795036411978745850716052296743104621824107655529461107111163043773076000975078631826071308644498 206034234013188359470073042083102644014875417837303729163997305508560877440421793294989061938343179994077401698022472246610271735286138354535198071546653256909683910340283324059850507458845239476236775809075228722638493756094015080288466611977693486760458547254558352323525937424623377096515072623324007683645220933843133031705634982795757294508620359084210810460398195873659840519000163538245743007667813488072536412623666466826689946109923723973275861464091957416372275681552675051695734097283526230075927013577974835719220596086994532299310512414717799155827927410109989417413976464985519528919165314757484577242311647402913491382074071051900393027942388172683818975708594922305929707518051943231339101865178864300353962313623701684581795314144446412596145641598945326051077525064678259473437526807939916501470687462709316017147659608805048946465560624099178630188305928122237988273531251936553787587461283969307871164141291227954070421810797183744887680684926841844643814645206066529877325512589724167839299030661720534417424157053369362381336729328227839193321784625014044696648353851226104497549784347753331270616115257399862444497679807694782717266005076213874966966013356091731700862719469733865338440710962449257122328288934851644450629974276412497353959504962424167682088481312032308831582325700633250831346056035139341908127811274769649958545746891165339515278057397699822012854167301389270731037338993004486950519022435878646549395954819057734787614088113479346606606615632063357193912697501181774015218677742340098918625786183758499069253426818313709901633516306268714884488522170770718251810279592815352575899206681039402985548598432319696954552473457944501719887935370015252851546159594067756721274744763725051944397681803444152099541359014397095100475980031330233710691217463477343820899531335206214057047469269879405911946416008365798041544968796584828741832888959668951860159998864760696364057903667753864582121278170258558178538508767191164850147762660767381817382292223400680779020388718203965390425576834455602017261319927727502978850163575755942883390821703468868267188479773975691268812840138321761548939845572020936446964102573224212489208201191651442987341108946281557107455805425903620142011627767588225698414569792520670039288679728738048861424702203616721334292830127965107092715256350312409927807105994640204068549420502614229609850122407664271960626378455369949303849268718386227794644641138910845561594819892882366030894397414479678009700719560837367802956162765280564097176706513208337116095711931667724337130475116434007121805847593534076634255198593226946215924704629906687953069954819609401922252404447341679632039059261058899542951308362471811741506047893891281263900423529552407434434878666325534118496430502333629854973663841295213262561241704433187922267760012197531366944347455970409493239212281448920395726121766802320529358663549374811044717739758854728424168636133711440809941496374328389042797698415668722407728441247162938608185455699805689570140011620671323799369244958380849947178060922133136882350722633090981272079583211779520846451713672461148217767749852194693396738091605556716634727409582227543598743825434420446726897866888369330223683939052049551174727108123915990132584504841597632559920458278360278759071392799280457201123850433042737226732970350703860513069655417099662554568815340892340478789479549799326894155112206326773282092868202998835109367073755005444037451420134066591877515213976273173305667785417549 333370393479388416508808057460901473170703120713827675538892293391444181340485075431465114733871160084439593217061747622323537533110817342277103373466295911982255869686531524116053209019188401069632748058913588266064611728655019524199125269417218870458243510015703469694400236472140127579633694120078900707619546752155999047199867676381144921330889661962231155950894370792090694155213360298087367330648268658024351227120367290804527905887192761085979304639552958965840179088762607767535787951595841336936983239595341623165054258228387997053617716361732535472918152553266366031493157316525777883546528543723619521439606733718182921422509808323408456622305782750729284120184225560602646724493577782421862035494203678377392282937662454172568102027467310116058608912928628516183587896092095888997838944744589584387654547961597100718066232819817069824366726030287746405740627375821846329235733232102378588655381153025716549752017148896673362004534304576574768116650045668372595393399723028950336594453896778838525549744189032909816354734222323689886115069483226097948353492233244326234441577293253785802987351307203417017886138644349375274888835624493185948471956404260819771051743174916426707730415274947528134036432464678216730289179078805916148832008708286051760648460963371662938752560032641491671593694261134358929483402429192283420655327349081184702688125589959257830347826849870358020870488050943289128023875088294929602201103954477009615530378699939774424007523063741545225146732825667689137115068396012671245853751372697520008166941484595398011982344812840571921844374722851388301400244688483652357624552348903657604031238322698979114615275355619532087454475558839001346326244361890297512056338093193985999252599350036368814620644005335518764301298283889763538722961112498533985664774299546378904433565804708461087653448441876361526999648100204959119172941432790922453876777186925049334925266169119384452986791769263163684996364602683677965080019769205366271543286815304661827283975964208455267170763453856249079673315941634209987585257565733763302214469825684761491658017849748808979121064734551496226463594223558146050376618951703606950564297492005582815639333667818127890870917779445409212004155915646889462102257427821295776589253596098793737970191912137189623100711783981834187173214583727265823415172231954014118521505123303166893745796665208870338692754689014120465841952673663446377566846454582642978667464460779799227387901192474175162316458245444087470131120326319841754148605410331832358857860980754993329960320964217776937646149206647008944791613226837082273823377521732917029164477636625792842018522985262953831744567484679011950044273979708457912050016503307922465638070695974230614276674846870934348048237770212584845168468851665961606666516786906205981542464086694629807417088477282355843301173773064775202415807315775199979625891164016030268742626800530766616946589299799799724787482883069633624203670310874550996436983544269694893004689311087481225815214923954086896852229008953619360817372522289831865134037090689922475569037070604556916261467544017700507699976114578297205763946468680385533229404427434242215634586547478612363029248440354158495346607319751574979440002193233037475112334088986581399441946028700257981954362703080750724525103352358987114815297667309529879094516229119722469409801968603479993464106072465955981378967805630321349276683001363185260838718919051131852471695579113099566912527245229635650591214951351805131739094062047 539404627492576775978881099544004117185578538551131404702889598900005058780906868726454176672214340078516994915084219868933809268396955696812301445012949168891939780026814848175903716478033640545869523867988816988703105484749034604487591881394912357218702057270261822017926173896763504676148766743402908391264767685999132078905502659176902215839510021046441966411292566665750534674213523836333110338316082146096887639744033757631217851997116485059255166103644916382212454770315282819231522048879367567012910253173316458884274854315382529352928228776450334628746079963376355448907133781511297412465693858481104098681918381121096412804583879375308849650248170923413103095892820482908576432011629725653201137359382542677746245251286155857149897341611756528654754554527573842234665421156774148471276471552529500889125235424306416735213892428622118770832286654386925035928933303944084317509264484038932376242842436995024420916158440124627432426345101760319655797334972510217239208044929095480213919966486503006364848774850753444233778891275693052267451798811453937141675276858258370931089931144479890300537135654956748288502253901749237719386515432187968665737961480474694738017756531008158408593134744681393472477143427127473852617468013657560599461982984698549114607965925795830620841041344673800503176019961767609760829458464331625328783138623850834661233872481124597345625884247570180033724655352332559859061214081299416552720126390355656164926333518997509211621611177220891831753348457731046331027765897194445261072429115037618926792727668353897081235771631154281823477891029120103185888766859254370609434831941719010179930445003738382100163873787939229042006949016783503066214179731905550363602497687261742720527344113761420759018325808779670863842657298286858639198941143828767696355991763023722725333097139914675144700917711755767438946064108570757160717910229375751195709666146594001195085265033880080817044695437017028267117642772942236143618528536396531121691049476072043644666268187609136046191152172060214470098892776089812004846577493461266281064633401440704375048839553217677246309544508527187495276434361879907599316464523724543397528400065229795304847534859469570878212026725726966319459961341550509604113885195409521475003823388619463777258871640875238484525413987598555521466044711692372916130428582266424046328611117943370962295217167823099948542877096678392426468331129033395681416115172968870773312105599690644788982721085356541193210855659923765479831839887157209557104768175612396456034567493963330446056032895885501274776624323081016066597460820371158908078576114959863245089182266532480795088477804872355753996971932020691582083333240767357455001324865779734207144118589865511878177098376423341782483116436538118963664899353999591461640180628201419244103705791127817729684848489479887210245521229035184695655019597224120375352012930818350798101290349905577661664329058654528148956119016781074434145166685202940039234681959938417300733130558250419834000670623759776466992240629624943160186617480670681812312098012823059357919759703695538188341050755797221354151689787039445423531696320875078929967496032990958850361996129706155961773073874774605222244474208120905203123941245282588649839442212902571532026450870297890541874820981441029483596496151639444315939148100352267105827486579823582982479457385703142548032921413358296460168447355429648243431795207689958542931587122049966961838769334118543604363947379296227528106428927624978437406879479596 872775020971965192487689157004905590356281659264959080241781892291449240121391944157919291406085500162956588132145967491257346801507773039089404818479245080874195649713346372291956925497222041615502271926902405254767717213404054128686717150812131227676945567285965291712326410368903632255782460863481809098884314438155131126105370335558047137170399683008673122362186937457841228829426884134420477668964350804121238866864401048435745757884309246145234470743197875348052633859077890586767310000475208903949893492768658082049329112543770526406545945138182870101664232516642721480400291098037075296012222402204723620121525114839279334227093687698717306272553953674142387216077046043511223156505207508075063172853586221055138528188948610029717999369079066644713363467456202358418253317248870037469115416297119085276779783385903517453280125248439188595199012684674671441669560679765930646744997716141310964898223590020740970668175589021300794430879406336894423913985018178589834601444652124430550514420383281844890398519039786354050133625498016742153566868294680035090028769091502697165531508437733676103524486962160165306388392546098612994275351056681154614209917884735514509069499705924585116323550019628921606513575891805690582906647092463476748293991692984600875256426889167493559593601377315292174769714222901968690312860893523908749438465972932019363921998071083855175973711097440538054595143403275848987085089169594346154921230344832665780456712218937283635629134240962437056900081283398735468142834293207116506926180487735138934959669152949295093218116443994853745322265751971491487289011547738022967059384290622667783961683326437361214779149143558761129461424575622504412540424093795847875658835780455728719779943463797789573638969814115189628143955582176622177921902256327301682020766062570101629766662944623136232354366153632128965945712208775716279890851662166673649586443333519050530010531202999465270031487206280191952114007375625914108698548305601897393234336291376705471950244151817591313361915625916463549772208717724021992431835059195029583279103227125465866706857402966486225430609243078683721740028585438053649693083475428150348092697557235378120486868527287698769082944505172375531464117257197399066216142623230817251593076984718257515229063553012428107626125771580389708639259295419638739545600814220438164850116241246537856041013833031970287235631785692512892310283802696842058982961627551513751979570060470444016370622277830716355527313905367852949962960213477051311253373585944228814892428474718323776016353860103278212422773529728025011389074047208241181901953636692780274253659903158273637107000790135309585741539416699703532127607220475815367051341369087656672782189285839742492453773223294276130531354206750703808833368205665553068306697415107625225646169877822447537101936966762243053546695002099959898070826912999320354977904094834381066843917150436344278610918358454327873743601899850708058348836996077491035671665504208112193737819869337901059815885547713863363844469638578562521003990002960513677446135103512981833488796774300095104602518299814921861851665901617742629295642789555464463196900460425201065996582677184768324802322315128763717591081527872480182563943438515626124951776301889152931468396898998148523829183684521780208121599503998431430754445767661796984922002808943305451889259354306622541497027485824252441547415161059969592708478209053143803770306041101098814310464913231643171276474624525863178697643878976783569145973541643 1412179648464541968466570256548909707541860197816090484944671491191454298902298812884373468078299840241473583047230187360191156069904728735901706263492194249766135429740161220467860641975255682161371795794891222243470822698153088733174309032207043584895647624556227113730252584265667136931931227606884717490149082124154263205010872994734949353009909704055115088773479504123591763503640407970753588007280432950218126506608434806066963609881425731204489636846842791730265088629393173405998832049354576470962803745941974540933603966859153055759474173914633204730410312480019076929307424879548372708477916260685827718803443495960375747031677567074026155922802124597555490311969866526419799588516837233728264310212968763732884773440234765886867896710690823173368118021983776200652918738405644185940391887849648586165905018810209934188494017677061307366031299339061596477598493983710014964254262200180243341141066027015765391584334029145928226857224508097214079711319990688807073809489581219910764434386869784851255247293890539798283912516773709794421018667106133972231704045949761068096621439582213566404061622617116913594890646447847850713661866488869123279947879365210209247087256236932743524916684764310315078990719318933164435524115106121037347755974677683149989864392814963324180434642721989092677945734184669578451142319357855534078221604596782854025155870552208452521599595345010718088319798755608408846146303250893762707641356735188321945383045737934792847250745418183328888653429741129781799170600190401561767998609602772757861752396821303192174453888075149135568800156781091594673177778406992393576494216232341677963892128330175743314943022931497990171468373592406007478754603825701398239261333467717471440307287577559210332657295622894860491986612880463480817120843400156069378376757825593824355099760084537811377055283865387896404891776317346473440608761891542424845296109480113051725095796236879546087076182643297220219231650148568150252317076841998428514925385767448749116616512339426727359553067797976678019871101493813833997278412552656295864343736628566170241755696956184163471740153751605871217016462947317961249009547999152693745621097622465173425334403386757269647294971230899341850924078598747908670330027818640338726596900373337721292487935193887666592151539759178945230105304007112011655676029396486862211178727359189908818336231000855070235778508882370905318778614931730237740399076800520384525291675660161088805353343363187257548738169565291618429794800100634260868358141761556625270926995968681654222072386755988779487199397852809041077986534867579400089980529751652643519342842169690754432195478595007665339738511348720395114210940461243172822052666234867390879926307875705254370630871599717617913014470643288822772498267559665144529946878043309044469749875668950265266786785456242130263792216231135144593725846510223440730329917025652731864945207500341921940275247417108856022699720916631782492494003681280431074906347464146529494470950427588320893816556171473639830836710268203505681190607483631195489758233116336041191408556477995633292943569055612143216003355688657188052827339110430543393164396493416159916358578806890924286575396189903368939835555735993385385687884683798214774791218514791724463494847769296039065704004665962809691718095655637875746693593868014064090749489388766888434368716740009765089529948899182548901715862516489617836140273416743102346701893163151065776149234247350186775640422003822090706804072806601762006552853021239 2284954669436507160954259413553815297898141857081049565186453383482903539023690757042292759484385340404430171179376154851448502871412501774991111081971439330640331079453507592759817567472477723776874067721793627498238539911557142861861026183019174812572593191842192405442578994634570769187713688470366526589033396562309394331116243330292996490180309387063788211135666441581432992333067292105174065676244783754339365373472835854502709367765734977349724107590040667078317722488471063992766142049829785374912697238710632622982933079402923582166020119052816074832074544996661798409707715977585448004490138662890551338924968610799655081258771254772743462195356078271697877528046912569931022745022044741803327483066554984788023301629183375916585896079769889818081481489439978559071172055654514223409507304146767671442684802196113451641774142925500495961230312023736267919268054663475945610999259916321554306039289617036506362252509618167229021288103914434108503625305008867396908410934233344341314948807253066696145645812930326152334046142271726536574585535400814007321732815041263765262152948019947242507586109579277078901279038993946463707937217545550277894157797249945723756156755942857328641240234783939236685504295210738855018430762198584514096049966370667750865120819704130817740028244099304384852715448407571547141455180251379442827660070569714873389077868623292307697573306442451256142914942158884257833231392420488108862562587080020987725839757956872076482879879659145765945553511024528517267313434483608678274924790090507896796712065974252487267672004519143989314122422533063086160466789954730416543553600522964345747853811656613104529722172075056751300929798168028511891295027919497246114920169248173200160087231041356999906296265437010050120130568462640102995042745656483371060397523888163925984866423029160947609409650019020025370837488526122189720499613553709098494882552813632102255106327439879011357107669849577412171345657524194064361015625147600325908159722058825454588566756491244318672914983423893141569643310211537855989710247611851325447622839855691636108462554359150649697170762994684554938756491532756014898702631474580844093713795179700551545821271914044968416377915736071717382388195855945307736546170441871155978189977358055978807716998746900094699777665530759334938744563302531650395221630210707300376028843600436446674377244833887040523014140668063418211088898734427079799382038428071898277271245720631532821723965641017973904265483470659471379757760314111312179611515347500854085819424443399977998088740616092057699622171382537066089375608914787641271882483388345423793596502072849028069302479385142974925480050765420098646338547681718988189104007603955047552708497161544996863084644823011894043545824850039526581331635765330697598253575458416669695396045546772712803888722423004373317338911233235104491796673423222761085307821120487112931789124650778266218886165775563183896443322816482490550842840677357922110578012968354641688208770296926221953632441719187503194681179906782068202194597486591709167204368219849023024897353252295728397546087355427065077855021590274930682122981899986007856361296953841360982355161484075692611377718505032132657426637263865865568251828122313840899742994816680877394963244668294187589533188350484589899839695159636307177448039635675861075671492197710193886257976094316387631026976385006801343263277677549587428848751625796246150472199204252164590459699160581829946916896628347953885501716685578545575698826562882 3697134317901049129420829670102725005440002054897140050131124874674357837925989569926666227562685180645903754226606342211639658941317230510892817345463633580406466509193668813227678209447733405938245863516684849741709362609710231595035335215226218397468240816398419519172831578900237906119644916077251244079182478686463657536127116325027945843190219091118903299909145945705024755836707700075927653683525216704557491880081270660569672977647160708554213744436883458808582811117864237398764974099184361845875500984652607163916537046262076637925494292967449279562484857476680875339015140857133820712968054923576379057728412106760030828290448821846769618118158202869253367840016779096350822333538881975531591793279523748520908075069418141803453792790460712991449599511423754759724090794060158409349899191996416257608589821006323385830268160602561803327261611362797864396866548647185960575253522116501797647180355644052271753836843647313157248145328422531322583336624999556203982220423814564252079383194122851547400893106820865950617958659045436330995604202506947979553436860991024833358774387602160808911647732196393992496169685441794314421599084034419401174105676615155933003244012179790072166156919548249551764495014529672019453954877304705551443805941048350900854985212519094141920462886821293477530661182592241125592597499609234976905881675166497727414233739175500760219172901787461974231234740914492666679377695671381871570203943815209309671222803694806869330130625077329094834206940765658299066484034674010240042923399693280654658464462795555679442125892594293124882922579314154680833644568361722810120047816755306023711745939986788847844665195006554741472398171760434519370049631745198644354181502715890671600394518618916210238953561059904910612117181343103583812163589056639440438774281713757750339966183113698758986464933884407921775729264843468663161108375445251523340178662293745153980202123676758557444183852492874632390577307672762214613332701989598754423085107826274203705183268830671046032468051221869819589514411705351689986988660164507621311966576484257806350218251315334813168910916746290426155772954480073976147712179473733537839334892802165724971155675300802238063672886966971059233312274454693216406876198260511494704786877731393700100204933940787761291929205289938280168849867309643662050897659607194162587207570959626355492713475834742110758792649550434323529867513666157317539781115228592282802562921380792621627077309004205231453003653035951089809552560414745573047969657109057479356746420412081632220161127372080837186821569235346107167362143782367041361863013139998067312939344242539782501497957980150640265218562114140493760549488142962161011156673838822438432634805037250251233715516422729511956560295493328349353829903324995842128200453501725714165145921215722978070675507879246503581131127464370249085522519933446201815637738146139844796734332151120188159161413192672039919143043733114273043336844358638353185484360432501171182679720724514542847448997890661143025517890174985573883385204970222904656962601336185064216305909730291361690489656411039208293858377278932118734950321010416551249525693447257520898713740290966616897953114694935501597262192999859250953939712806112055674534213331472601858458092437590226655237193016447399591557790815274182924141633503689925166420981586477082320626692834326152720556925284189350244979140194039205264989025042539348497174092367403230366608933407932016722557318632170044592305789492180307582251679584121 5982088987337556290375089083656540303338143911978189615317578258157261376949680326968958987047070521050333925405982497063088161812729732285883928427435072911046797588647176405987495776920211129715119931238478477239947902521267374456896361398245393210040834008240611924615410573534808675307358604547617770668215875248773051867243359655320942333370528478182691511044812387286457748169774992181101719359770000458896857253554106515072382345412895685903937852026924125886900533606335301391531116149014147220788198223363239786899470125665000220091514412020265354394559402473342673748722856834719268717458193586466930396653380717559685909549220076619513080313514281140951245368063691666281845078560926717334919276346078733308931376698601517720039688870230602809531081000863733318795262849714672632759406496143183929051274623202436837472042303528062299288491923386534132316134603310661906186252782032823351953219645261088778116089353265480386269433432336965431086961930008423600890631358047908593394332001375918243546538919751192102952004801317162867570189737907761986875169676032288598620927335622108051419233841775671071397448724435740778129536301579969679068263473865101656759400768122647400807397154332188788449999309740410874472385639503290065539855907419018651720106032223224959660491130920597862383376630999812672734052679860614419733541745736212600803311607798793067916746208229913230374149683073376924512609088091869980432766530895230297397062561651678945813010504736474860779760451790186816333797469157618918317848189783788551455176528769808166709797897113437114197045001847217766994111358316453226663601417278270369459599751643401952374387367081611492773327969928463031261344659664695890469101671964063871760481749660273210145249826496914960732247749805743686807206334713122811499171805601921676324832606142859706595874583903427947146566753369590852881607988998960621835061215107377256235308451116637568801291522342452044561922965196956278974348327137199080331244829885099658293750025321915364705383034645762961159157721916889545976698907776358946759589416339949442458680805674485462866081679740974981094529446012829991046414810948314381933048687981866276516976947214847206480050802703042776615700470310638524143422368702382650682976855089449678907921932687687855991706870820697615107594430612175312446119289817901462963236414560062802167090720668629151281806790218497741740956412400584397339163153656664181079834167101424154448801274645223205357269136506610561189310320728856885227581172456558333442565844855481610218249867988172894886443740617883173256737752697154682633745496528343491106535846315388810570800437365293615190698612879560592406888035824681149200260681442777485985343302198795248096800161245741406000106120343367875935161539090326539726454028960142383860541966762495690874564230302250876898470038697605353577319193356668962900945559266626957728523456801898454378047578968235223815586366549596763594179685035996275296062373400855812870888491021440764801081439609848646220199070081767642085579802456814613824166969556034087241203262982587090088035743766466273371713398869207049417073302910402559105886990401098881881068901775042309509330833199967634254688830263725116522191540928425896574277208148153479253421337105884414244770381366931989491397485974910490101589673139365786242092473784187276206884668928642540351583901669196151588242417871588792693837776668335594647646291571655394957068632568513846669474215260517998477807506177758853157950506147003 9679223305238605419795918753759265308778145966875329665448703132831619214875669896895625214609755701696237679632588839274727820754046962796776745772898706491453264097840845219215173986367944535653365794755163326981657265130977606051931696613471611607509074824639031443788242152435046581427003520624869014747398353935236709403370475980348888176560747569301594810953958332991482504006482692257029373043295217163454349133635377175642055323060056394458151596463807584695483344724199538790296090248198509066663699208015846950816007171927076858017008704987714633957044259950023549087737997691853089430426248510043309454381792824319716737839668898466282698431672484010204613208080470762632667412099808692866511069625602481829839451768019659523493481660691315800980680512287488078519353643774831042109305688139600186659864444208760223302310464130624102615753534749331996713001151957847866761506304149325149600400000905141049869926196912793543517578760759496753670298555007979804872851781862472845473715195498769790947432026572058053569963460362599198565793940414709966428606537023313431979701723224268860330881573972065063893618409877535092551135385614389080242369150480257589762644780302437472973554073880438340214494324270082893926340516807995616983661848467369552575091244742319101580954017741891339914037813592053798326650179469849396639423420902710328217545346974293828135919110017375204605384423987869591191986783763251852002970474710439607068285365346485815143141129813803955613967392555845115400281503831629158360771589477069206113640991565363846151923789707730239079967581161372447827755926678176036783649234033576393171345691630190800219052562088166234245726141688897550631394291409894534823283174679954543360876268279189420384203387556819871344364931148847270619369923769762251937946087315679426664798789256558465582339517787835868922296018213059516042716364444212145175239877401122410215510574793396126245475374835326676952500272869718493587681029126797834754329937711373861998933294152586410737851085867632780748672133622241235963687567940866568071555992824207248808899056989820276034992596487265407250302400492903967194126990422047919772383580784032001488132622515649444543723689670013835849012744765331740550298566962894145387763732820843379008126866628475617283636076110635895276444297921818974497016949425095625550443985519689157659804196503371262040599439768932065270823926066741714878944268885256463882397088482216776075878583649428436810272789542561650998862881143602458275550829565615812799312265267563242438410995360253732073265309853229280424099896479521723995608509668341558419475190557928593072298395345444255455917174993701086167437523967643310211417355281599924417978107236045499330515677668470917956666415836696225288991442415322381854654482461868098025687887978218668945239738181497380479601166161975602662841713290115164716583297412766802525257788953018642537208992160907263734729410282711036637516529394634628481546733833356984053568211745955307648530437500509789245716960256753215968965007427037518481129570892219151457509172712878451778525400177505481665571776148139168152023623920819110355412683848356402779782642066008926407283947894903135851951023263584367476131253734537952248811421479626081111879429543474640900007574383379389082955276790184673025731306643055711408513455370664358527511361762968693072140826953385501833221558065627997958826801710874943144820383939058625323677565976445863392031533892688043070113295669939160740202185731124 15661312292576161710171007837415805612116289878853519280766281390988880591825350223864584201656826222746571605038571336337815982566776695082660674200333779402500061686488021625202669763288155665368485725993641804221605167652244980508828058011717004817549908832879643368403652725969855256734362125172486785415614229184009761270613835635669830509931276047484286321998770720277940252176257684438131092403065217622351206387189483690714437668472952080362089448490731710582383878330534840181827206397212656287451897431379086737715477297592077078108523117007979988351603662423366222836460854526572358147884442096510239851035173541879402647388888975085795778745186765151155858576144162428914512490660735410201430345971681215138770828466621177243533170530921918610511761513151221397314616493489503674868712184282784115711139067411197060774352767658686401904245458135866129029135755268509772947759086182148501553619646166229827986015550178273929787012193096462184757260485016403405763483139910381438868047196874688034493970946323250156521968261679762066135983678322471953303776213055602030600629058846376911750115415747736135291067134313275870680671687194358759310632624345359246522045548425084873780951228212627128664493634010493768398726156311285682523517755886388204295197276965544061241445148662489202297414444591866471060702859330463816372965166638922929020856954773086896052665318247288434979534107061246515704595871855121832435737005605669904465347926998164760956151634550278816393727844346031931734078972989248076678619779260857757568817520335172012861721686821167353277012583008590214821867284994629263447250651311846762630945443273592752593439929169777727019054111617360581892738951074590425292384846644018415121358017939462630529453214053734832076612680954590957426576258482885063437117892917601102989631395399418172178214101691263816068862771582650368924324353443172767010301092508499666450819025910033695046766897177778721514423238066674772562029356263996915085574767596473520292683319474501775443234120513395741907829855539130781940386475717225514831145409164156691267579862664305738901074276228240388344831846505733958240541801370362301705432268765898278005109569730496651023774492373056612464713215075970264693720935665276796070740587910293057916048799316163473275342946931333510384038728533994286943136239242997088513680400079751959826894917172000413322406229987429807011780338467326112218107422541920644962231255583640930524679858294651642167541926049172212188173201872459343503132002022174146241878110123044852656660863348426626959709050471112453680837649176676406629354006196685049526011036873317403643098832710737870646615787873261678574325559792324459411678036724377410403321409434840747427315838914212323956772536180064101224152981505648921581108511422010481886229854740714359819803968483748257378071204859580956240160906646784127617528856679393760253781245754917096915256571129142487550315776832307800231696214430630903777609107234212796924456702767396072449611877110358435465916030338520858054544809883852132305296540448253238698712435695465541866561143943971755037285175017346217569096926831221669461299674249455284660851543841051235916614781094870770106639853527309483998322794662963848823088629627779560365300766649359055144777955750311378574352762765095163127320979782421497650605929154851634734396030691611233423724728622581653421463975937216790652664578379210537792466675510714020280746198544959710061505749153206041547920801847698013898152691878127 25340535597814767129966926591175070920894435845728848946214984523820499806701020120760209416266581924442809284671160175612543803320823657879437419973232485893953325784328866844417843749656100201021851520748805131203262432783222586560759754625188616425058983657518674812191894878404901838161365645797355800163012583119246470673984311616018718686492023616785881132952729053269422756182740376695160465446360434785805555520824860866356492991533008474820241044954539295277867223054734378972123296645411165354115596639394933688531484469519153936125531821995694622308647922373389771924198852218425447578310690606553549305416966366199119385228557873552078477176859249161360471784224633191547179902760544103067941415597283696968610280234640836767026652191613234411492442025438709475833970137264334716978017872422384302371003511619957284076663231789310504519998992885198125742136907226357639709265390331473651154019647071370877855941747091067473304590953855958938427559040024383210636334921772854284341762392373457825441402972895308210091931722042361264701777618737181919732382750078915462580330782070645772080996989719801199184685544190810963231807072808747839553001774825616836284690328727522346754505302093065468878987958280576662325066673119281299507179604353757756870288521707863162822399166404380542211452258183920269387353038800313213012388587541633257238402301747380724188584428264663639584918531049116106896582655618373684438707480316109511533633292344650576099292764364082772007695236901877047134360476820877235039391368737926963682458511900535859013645476528897592356980164169962662649623211672805300230899885345423155802291134903783552812492491257943961264780253306258132524133242484484960115668021323972958482234286218652050913656601610554703420977612103438228045946182252647315375063980233280529654430184655976637760553619479099684991158789795709884967040717887384912185540969909622076666329600703429821292242272013105398466923510936393266149710385390794749839904705307847382291616613627088186181085206381028522656501989161372017904074043658092082902701401988363940076478919654126014936066872715505795595134246998637925434668791792410221477815849549930279493242192246146095567498182043070448313725959841302005244019502628170941458504320731136436924175665944639090558979023041969405660483026455813261440153188668092714064124385599441117486699113675371675363005669756361872282604264534067827097051691427177108844628344065857706600558441944080078977814715591733863187036083016061801778682831587789959041190375390608095095071858708680359032974360324341734104937545656198130624962515865026607945486227431245996715397228056182126102532962866962764741763083759967769623095392005977334821299516670886246757831516582683241913438952016760326513144423920971303435762993883878579911917742718933028765043706665245637857672371021556558903002619936899292334112154092160562779039034707935739452465563290049751285045187115018836869212743825265532259155841067569780978024914513351380098142314610868224711632990595274074023509817310889650786426111340472390156221608408343993645086544121477236702856951165485385721120550752040779816712358097811687440634185907060162323898728989773905958590876790893851474454048397501801071900051107405641477180196192833696044785530133690767657308039555279836153052286425477209059119384525515993261907392454579926495865555575967155254685534002844788611491380090085480937287059449772645604423764521405573453537283045894084618034097517637174638354877609251 41001847890390928840137934428590876533010725724582368226981265914809380398526370344624793617923408147189380889709731511950359785887600352962098094173566265296453387470816888469620513512944255866390337246742446935424867600435467567069587812636905621242608892490398318180595547604374757094895727770969842585578626812303256231944598147251688549196423299664270167454951499773547363008358998061133291557849425652408156761908014344557070930660005960555182330493445271005860251101385269219153950503042623821641567494070774020426246961767111231014234054939003674610660251584796755994760659706744997805726195132703063789156452139908078522032617446848637874255922046014312516330360368795620461692393421279513269371761568964912107381108701262014010559822722535153022004203538589930873148586630753838391846730056705168418082142579031154344851015999447996906424244451021064254771272662494867412657024476513622152707639293237600705841957297269341403091603146952421123184819525040786616399818061683235723209809589248145859935373919218558366613899983722123330837761297059653873036158963134517493180959840917022683831112405467537334475752678504086833912478760003106598863634399170976082806735877152607220535456530305692597543481592291070430723792829430566982030697360240145961165485798673407224063844315066869744508866702775786740448055898130777029385353754180556186259259256520467620241249746511952074564452638110362622601178527473495516874444485921779415998981219342815337055444398914361588401423081247908978868439449810125311718011147998784721251276032235707871875367163350064945633992747178552877471490496667434563678150536657269918433236578177376305405932420427721688283834364923618714416872193559075385408052867967991373603592304158114681443109815664289535497590293058029185472522440735532378812181873150881632644061580055394809938767721170363501060021561378360253891365071330557679195842062418121743117148626613463516339009169190884119981346749003068038711739741654791664925479472904320902584299933101589961624319326894424264564331844700502799844460519375317597733846811152520631344058782318431753837141148943746183939966093504371883675210593162772523183248118315828557498351761976642746591272674416127060778439174917272269937740438293447737529244908641429494840224465260802563834321969973302916044521754989807548383289427911089802577804785679193077313594030847372088685411899743791679294384603001393939315159113969097753806859599649498637125238300238731721145356641640906075375209284888521145281814833609964105283068485513652947751732722057106985992683410795454187785775194832874537254316522061711657471497264304563400358496060766919996749148750740224443316088643552292229034773428730354745224620926105726994185147355496895565870211488196824427737297405426620225016871505305889061798147597459647388584847675148993895235743575881137515143163526583683419951641010771554323032820280462852836367722134419192238835360963947326637100908958255896436036764948301782577902481617280747452547754191721226660177549020933794932078054627194741783091722651788725628854934044103809535511647688065448991740142126182831603290217477583262449278012032347266972101485729748111398240513510084644676065230730318203335472776843060465649894988680735185201842480962842192751189563485884002146231660802320374999280373266207898706709725313680367627996303423146191159919590284198548808676149509940061579264155958469296018729753734960486665885169963066365283515043032199100126165954899365335188536507569487378 66342383488205695970104861019765947453905161570311217173196250438629880205227390465385003034189990071632190174380891687562903589208424010841535514146798751190406713255145755314038357262600356067412188767491252066628130033218690153630347567262094237667667876147916992992787442482779658933057093416767198385741639395422502702618582458867707267882915323281056048587904228826816785764541738437828452023295786087193962317428839205423427423651538969030002571538399810301138118324440003598126073799688034986995683090710168954114778446236630384950359586760999369232968899507170145766684858558963423253304505823309617338461869106274277641417846004722189952733098905263473876802144593428812008872296181823616337313177166248609075991388935902850777586474914148387433496645564028640348982556768018173108824747929127552720453146090651111628927679231237307410944243443906262380513409569721225052366289866845095803861658940308971583697899044360408876396194100808380061612378565065169827036152983456090007551571981621603685376776892113866576705831705764484595539538915796835792768541713213432955761290622987668455912109395187338533660438222694897797144285832811854438416636173996592919091426205880129567289961832398758066422469550571647093048859502549848281537876964593903718035774320381270386886243481471250286720318960959707009835408936931090242397742341722189443497661558267848344429834174776615714149371169159478729497761183091869201313151966237888927532614511687465913154737163278444360409118318149786026002799926631002546757402516736711684933734544136243730889012639878962537990972911348515540121113708340239863909050422002693074235527713081159858218424911685665649548614618229876846941005436043560345523720889291964332085826590376766732356766417274844238918567905161467413518468622988179694187245853384162162298491764711371447699321340649463186051180351174070138858405789217942591381383032327743819783478227316893337631251441203989518448270259939461304861450127045586414765384178212168284875916546728678147805404533275452787220833833861874817748534563033409680636548213140884571420537701972557768773208021659251979535100340503009809109879384955182744661063967865758836991593954222788842158770856459197509092165134758574275181759940921618678987749229372565931764400131205441654393300993015272321705004781445620809823442616579182516641929171278634194800293144522743764048417569500153551576988867535461766412210805396274862651487943715356343725796742182811800123171357232639938562245367904582947060497665197754064324258860904261042846804580765787345025657771119795921890712740489072667879279037926738265416983491735809397073893288823102122851681713607187208057851727312259998657868820736332080045920442776613240942978872079578807783650440213584754250441829347591528452634499189767641710065340178580417349891381814239533093415946902694074046166146520582712285753164863714885811859315170788575820187697709241990120406151062345473970121702081161968295920789369352358880506531794098832645896506332094884889182011529069006101564444505631433878148763129198019011155652512153529156734232186926228442999077348316989011338028335303229094724390445078659542119915655171560564412239074418582023821607109097186947230891457967450966888731842590843319661159035026447234349016017692913888968841875654835433425552633375915768844698205883621258210815600771086415455839774515963930835043942906367875647338559381499667040794410259311489593727587770856968580315244994210783988996882972363174862447096629 107344231378596624810242795448356823986915887294893585400177516353439260603753760810009796652113398218821571064090623199513263375096024363803633608320365016486860100725962643783658870775544611933802526014233699002052997633654157720699935379898999858910276768638315311173382990087154416027952821187737040971320266207725758934563180606119395817079338622945326216042855728600364148772900736498961743581145211739602119079336853549980498354311544929585184902031845081306998369425825272817280024302730658808637250584780942974541025408003741615964593641700003043843629151091966901761445518265708421059030700956012681127618321246182356163450463451570827826989020951277786393132504962224432470564689603103129606684938735213521183372497637164864788146297636683540455500849102618571222131143398772011500671477985832721138535288669682265973778695230685304317368487894927326635284682232216092465023314343358717956569298233546572289539856341629750279487797247760801184797198090105956443435971045139325730761381570869749545312150811332424943319731689486607926377300212856489665804700676347950448942250463904691139743221800654875868136190901198984631056764592814961037280270573167569001898162083032736787825418362704450663965951142862717523772652331980415263568574324834049679201260119054677610950087796538120031229185663735493750283464835061867271783096095902745629756920814788315964671083921288567788713823807269841352098939710565364718187596452159668343531595731030281250210181562192805948810541399397695004871239376441127858475413664735496406185010576371951602764379803229027483624965658527068417592604205007674427587200958659962992668764291258536163624357332113387337832448983153495561357877629602635730931773757259955705689418894534881413799876232939133774416158198219496598990991063723712072999427726535043794942553344766766257638089061819826687111201912552430392749770860548500270577225094745865562900626853930356853970260610394873638429617008942529343573189868700378079690863651116489187460216479830268109429723860169877051785165678562377617592995082408727278370395024293405202764596484290989522610349170602998163475066434007381692785089978117955267844312086181587394489945716199431588750043530875324569870604309675846545119500379215066416516994138013995426604624596466244218227622962988575237749526536435428358206732044490272319219733956957827272113887175370115852733829469243945230871373470536855705727369919365372616458347543364854980851035042421543521268527998873546013937454652793104092342312498807718169607327346417913990598537302822894331018341181915250109676487935321947205133595559988449922888480756040372797432389349590022119600830464347411651373940370864552227692642249466686825270541368882340235128126227576474373653861928410409181987739234774211753469506004495656703508212937638227805934739056963233428329159522783831589189329673104266132237394175635269208844679595633641412187909832128434228955767115009672111071030660337058404332685737671134936782988149074846285193650698053321545066731032462863938179619071700373216969871414917923647866089696615963064668381920252375220183141203531148592301555505918565678372736422792345631643605645403282958804925749159063258089052337427300522420007734518433100861877412577776045162142121877219198423912501901695060120629644196029834713798818841274622478570011886251249254514238746962246335046123973064772606984553882967947139803297028677518396794529370745977374763690654136140483623347444094336949943896248307551711370016584007 173686614866802320780347656468122771440821048865204802573373766792069140808981151275394799686303388290453761238471514887076166964304448374645169122467163767677266813981108399097697228038144968001214714781724951068681127666872847874330282947161094096577944644786232304166170432569934074961009914604504239357061905603148261637181763064987103084962253946226382264630759957427180934537442474936790195604440997826796081396765692755403925777963083898615187473570244891608136487750265276415406098102418693795632933675491111928655803854240372000914953228461002413076598050599137047528130376824671844312335206779322298466080190352456633804868309456293017779722119856541260269934649555653244479436985784926745943998115901462130259363886573067715565732772550831927888997494666647211571113700166790184609496225914960273858988434760333377602706374461922611728312731338833589015798091801937317517389604210203813760430957173855543873237755385990159155883991348569181246409576655171126270472124028595415738312953552491353230688927703446291520025563395251092521916839128653325458573242389561383404703541086892359595655331195842214401796629123893882428201050425626815475696906747164161920989588288912866355115380195103208730388420693434364616821511834530263545106451289427953397237034439435947997836331278009370317949504624695200760118873771992957514180838437624935073254582373056164309100918096065183502863194976429320081596700893657233919500748418397557271064210242717747163364918725471250309219659717547481030874039303072130405232816181472208091118745120508195333653392443107990021615938569875583957713717913347914291496251380662656066904292004339696021842782243799052987381063601383372408298883065646196076455494646551920037775245484911648146156642650213978013334726103380964012509459686711891767186673579919205957241045109478137705337410402469289873162382263726500531608176649766442861958608127073609382684105081247250191601512051598863156877887268881990648434639995745964494456247829328657472336133026558946257235128393445329839005999512424252435341529645442136959006943237434289774185134186263547291383557192262250143010166774510391501894969363073138012505376054047346231481539670422220430908814387334522078962769444434420820301260320136685095504743367386561358369024727671685872620923956003847559454531317881049168030174661069454835861663128236461466914180319892859616782247038744098782448362338072317472139580724761647479109835487080211324576831784604355321391699356106185952499700020697687039402810164005472233931586207322175033445341883588681676043998953035046031567200675811019873012874597915188188305464247776182194506282638413124242452512177954598859431792098176812226350511070203018905316461811658953476071105099656053181437512368623993936238181064121803281922140503685424345218278277816808223284630438777472961422575469686525663235495819624848844523147340498984094656538910804429988008097529837676219076173266072017585041152362418220372628606527040487295663494680868945117839547204385416429955913043991932944281183516206004650848020178047121666877245349128116593825116152439301448626140280879465581312893534253868907467460813237424291185725561058454519369337988233481840112873944536397709367238625976400551828766144420366888481803280912245645658261517919387974009598486071684670147224371474650538247414710092134870512725054347733332750501963747580736537819597825874315015450635588059018063835323781005288864357418241906997452203662689088547733932893131279914886232463680636 281030846245398945590590451916479595427736936160098387973551283145508401412734912085404596338416786509275332302562138086589430339400472738448802730787528784164126914707071042881356098813689579935017240795958650070734125300527005595030218327060093955488221413424547615339553422657088490988962735792241280328382171810874020571744943671106498902041592569171708480673615686027545083310343211435751939185586209566398200476102546305384424132274628828200372375602089972915134857176090549232686122405149352604270184260272054903196829262244113616879546870161005456920227201691103949289575895090380265371365907735334979593698511598638989968318772907863845606711140807819046663067154517877676950001675388029875550683054636675651442736384210232580353879070187515468344498343769265782793244843565562196110167703900792994997523723430015643576485069692607916045681219233760915651082774034153409982412918553562531717000255407402116162777611727619909435371788596329982431206774745277082713908095073734741469074335123361102776001078514778716463345295084737700448294139341509815124377943065909333853645791550797050735398552996497090269932820025092867059257815018441776512977177320331730922887750371945603142940798557807659394354371836297082140594164166510678808675025614262003076438294558490625608786419074547490349178690288430694510402338607054824785963934533527680703011503187844480273772002017353751291577018783699161433695640604222598637688344870557225614595805973748028413575100287664056258030201116945176035745278679513258263708229846207704497303755696880146936417772246337017505240904228402652375306322118355588719083452339322619059573056295598232185467139575912440325213512584536867969656760695248831807387268403811875743464664379446529559956518883153111787750884301600460611500450750435603840186101306454249752183598454244903962975499464289116560273584176278930924357947510314943132535833221819474945584731935177607045571772661993736795307504277824519992007829864446342574147111480445146659796349506389214366664852253615206890791165190986630052934524727850864237377338261727694976949730670554536813993906362865248306485233208517773194680059341191093280349688140228933625971485386621652019658857918209846648833373754110267365420760699351751512021737505400556784973649324137930090848546918992422797204057854316477526236906705559727155081397085194288739028067495262975469516076507988044013319735808609173177866950644127020095568183030445066305427866827025898842660227354979731966437154673490791131745122662813190403538913553740089024043879186411576007062340134950296141243688611132967078146470157903638111193945003816554991938671988003146362053342642302010510805732469041364454043153319669705730587003180541293711199231327232527555091374297034403118225920298896015035391646508181081048726491215455036029219369495740706389751734992470357252424825492729114976760541516134253303501218506438071400196007361966110448031940381081689696112183022755278776961292264711622232446482829943791403033197902438737975022644076454796882460802587906377867817891592965045314743335045744079658493498072691676668809281484410614173614449040172434585840197236029769922829331206461737478174263737392545098201926281963698231787246360494833652690643556998142933643945402789464844082174019821083034130228130267714504861023190315925160725984721978386119767239293094695579085548087720645509144804151708842262155253932616736536460629853151751266239121108896043137935827010133182884683876789379587466597602480264643 454717461112201266370938108384602366868557985025303190546925049937577542221716063360799396024720174799729093541033652973665597303704921113093971853254692551841393728688179441979053326851834547936231955577683601139415252967399853469360501274221188052066166058210779919505723855227022565949972650396745519685444077414022282208926706736093601987003846515398090745304375643454726017847785686372542134790027207393194281872868239060788349910237712726815559849172334864523271344926355825648092220507568046399903117935763166831852633116484485617794500098622007869996825252290240996817706271915052109683701114514657278059778701951095623773187082364156863386433260664360306933001804073530921429438661172956621494681170538137781702100270783300295919611842738347396233495838435912994364358543732352380719663929815753268856512158190349021179191444154530527773993950572594504666880865836090727499802522763766345477431212581257660036015367113610068591255779944899163677616351400448208984380219102330157207387288675852456006690006218225007983370858479988792970210978470163140582951185455470717258349332637689410331053884192339304671729449148986749487458865444068591988674084067495892843877338660858469498056178752910868124742792529731446757415676001040942353781476903689956473675328997926573606622750352556860667128194913125895270521212379047782300144772971152615776266085560900644582872920113418934794440213760128481515292341497879832557189093288954782885660016216465775576940019013135306567249860834492657066619317982585388668941046027679912588422500817388342270071164689445007526856842798278236333020040031703503010579703719985275126477348299937928207309921819711493312594576185920240377955643760895027883842763050363795781239909864358177706113161533367089801085610404981424624009910437147495607372774886373455709424643563723041668312909866758406433435966440005431455966124160081385994494441348893084328268837016424857237173284713592599952185391546706510640442469860192307068603359309773804132132482532948160623899980647060536729797164703410882488276054373293001196384281499161984751134864856818084105377463555127498449495399983028164696575028704264231292855064194276279857453025057043872450567672305544368727796143198544688185722021019488436607526480872787118143342674051809615963469470874996270356658589172197526694267081366629181990943060213430750205942247815155835086298323546732142795768098146681490650006531368888667574678018517525277630004698611630254164051926711085917918936854694188478171147932826818662637470499761062264057489221070000257683106339087985342172810889286943986951159344755818826299499409251592737186444954626416270604505854820256609370237524567218176680393664389872724635903464992200247187270336426888580736528886665658397054464101363017818317313787011866505393944769493271844252503999934518179351174310462156882915660321312353963821283688856633237398157757417242501388204104891803786667108113647153707281153335385173499149589898791752109528109977510812736520872745106824154404978557120446729826741986104112382518665911771012166981620580394872196252318614225130978117435421765290079754927342574426303493307658049267194214015056767520191997543601725626026938314800226500095941154484986471234204519409701418509822125748683701710489740435537740471008139826616339399175008247561790575698973399432070520990279964347442428911836050051468226245682623749534716577170704568204795554524465176932756555103478527137950135388030672822271432417809682510867381483834943945279 735748307357600211961528560301081962296294921185401578520476333083085943634450975446203992363136961309004425843595791060255027643105393851542774584042221336005520643395250484860409425665524127871249196373642251210149378267926859064390719601281282007554387471635327534845277277884111056938935386188986800013826249224896302780671650407200100889045439084569799225977991329482271101158128897808294073975613416959592482348970785366172774042512341555015932224774424837438406202102446374880778342912717399004173302196035221735049462378728599234674046968783013326917052453981344946107282167005432375055067022249992257653477213549734613741505855272020708993144401472179353596068958591408598379440336560986497045364225174813433144836654993532876273490912925862864577994182205178777157603387297914576829831633716546263854035881620364664755676513847138443819675169806355420317963639870244137482215441317328877194431467988659776198792978841229978026627568541229146108823126145725291698288314176064898676461623799213558782691084733003724446716153564726493418505117811672955707329128521380051111995124188486461066452437188836394941662269174079616546716680462510368501651261387827623766765089032804072640996977310718527519097164366028528898009840167551621162456502517951959550113623556417199215409169427104351016306885201556589780923550986102607086108707504680296479277588748745124856644922130772686086017232543827642948987982102102431194877438159512008500255822190213803990515119300799362825280061951437833102364596662098646932649275873887617085726256514268489206488936935782025032097747026680888708326362150059091729663156059307894186050404595536160392777061395623933637808088770457108347612404456143859691230031454175671524704574243804707266069680416520201588836494706581885235510361187583099447558876192827705461608242017967945631288409331047522993709550616284362380324071670396329127030274570712559273853568951602464282745057375586336747492895824531030632450299724638649642750470790218950791928832039337374990564832900675743620588329894397512541210579101143865433761619760889679728084595527372620919371369917992746755980633191545937891255088045455324573204752334505213483424510443665524470226530223754215376629516952654955551142781718840188119548218378187674928316323375947546054318017793988693153862647026514004220503988072188909146024457298625038944970315310418810555814400054720186809087833955290663827873482013015687670246201547970343935432565438656153006712154066065649885374009367679269302893055489631853041009413314802353081533100256411833690168679222935638314054577898076954029305814913722464410693354255409292178383626614419416966559197462558619881043257036259541134436817709542430366490468172741540898469567754121108291620260962692800172690021661913833352705433520047586442671260708726880281723369430258885740926045454627240168085146805083078798044230372767490701658975923680572788400112253769897115140054028235396977265518407928777926551191056463731760556460340756527923905943009262892380001201196901526709202788692018760386483803363977212296363915440616275910812112297822654786244703249700693928541791614598738079147855285296964136844387973981929475717865463018572036516726508463794172941731346966067857210053258416652755769694086491175333822609557561554042270054746607113679869270752106500859699384154048907110047203640537124490921598139188871754827427901243558839325958500821532090985095030084507821342599636033993273323857682955454317101686471890454848081437424209922 1190465768469801478332466668685684329164852906210704769067401383020663485856167038807003388387857136108733519384629444033920624946810314964636746437296913887846914372083429926839462752517358675807481151951325852349564631235326712533751220875502470059620553529846107454351001133111133622888908036585732319699270326638918584989598357143293702876049285599967889971282366972936997119005914584180836208765640624352786764221839024426961123952750054281831492073946759701961677547028802200528870563420285445404076420131798388566902095495213084852468547067405021196913877706271585942924988438920484484738768136764649535713255915500830237514692937636177572379577662136539660529070762664939519808878997733943118540045395712951214846936925776833172193102755664210260811490020641091771521961931030266957549495563532299532710548039810713685934867958001668971593669120378949924984844505706334864982017964081095222671862680569917436234808345954840046617883348486128309786439477546173500682668533278395055883848912475066014789381090951228732430087012044715286388716096281836096290280313976850768370344456826175871397506321381175699613391718323066366034175545906578960490325345455323516610642427693662542139053156063629395643839956895759975655425516168592563516237979421641916023788952554343772822031919779661211683435080114682485051444763365150389386253480475832912255543674309645769439517842244191620880457446303956124464280323599982263752066531448466791385915838406679579567455138313934669392529922785930490168983914644684035601590321901567529674148757331656831476560101625227032558954589824959125041346402181762594740242859779293169312527752895474088600086983215335426950402664956377348725568048217038887575072794504539467305944484108162884972182841949887291389922105111563309859520271624730595054931651079201161171032885581690987299601319197805929427145517056289793836290195830477715121524715919605643602122405968027321519918342089178936699678287371237541272892769584830956711353830099992754924061314572285535614464813547736280350385494597808395029486633474436866630145901260051664479219460384190705024748833473120245205476033174574102587830116749719555866059816528781493340877535500709396920794202529298584104425660151199643736864802738328624727074699250974793071658997427757162017787488668984963510521236198711530914771069438818091136967517512055789150912563125574645642112723601452329604855932101972154477880013381904355244924220065495621565437264050286407170764080777151567804310864061867747474040988316450515678479913075864617139022321326412091373275018310920980486865467185020940980465159669541290710192763507002029364828581240835687571065052282815229251280781603477717814830482099415155002393933164941788085739904181009689028149147628351197227154123024931651670019220531914091836616030201998724534227369364777065092100355916784123083745468117437042619327919229400728099816733340923074176604217145573683782248167675389104258418853793102277076141089848215841288666437851569264444778688116087046784979758317348256535944774796131142905149715134989379277984495835488472163130726522953632903680125014990773683469134189025041572455513334564158350859444741502121473261467188644598974831526734963890114096216333437302061729462959835162577895442770192885823563045095302025050409881362946512854877518313897076558672783586119428100327167987979553402757648190657098000510051650778275416496663069026327645509560207017264376446078163171943408711888355777725749519496154401322229565272368155201 1926214075827401690293995228986766291461147827396106347587877716103749429490618014253207380750994097417737945228225235094175652589915708816179521021339135223852435015478680411699872178182882803678730348324968103559714009503253571598141940476783752067174941001481434989196278410995244679827843422774719119713096575863814887770270007550493803765094724684537689197260358302419268220164043481989130282741254041312379246570809809793133897995262395836847424298721184539400083749131248575409648906333002844408249722327833610301951557873941684087142594036188034523830930160252930889032270605925916859793835159014641793366733129050564851256198792908198281372722063608719014125139721256348118188319334294929615585409620887764647991773580770366048466593668590073125389484202846270548679565318328181534379327197248845796564583921431078350690544471848807415413344290185305345302808145576579002464233405398424099866294148558577212433601324796070024644510917027357455895262603691898792380956847454459954560310536274279573572072175684232456876803165609441779807221214093509051997609442498230819482339581014662332463958758570012094555053987497145982580892226369089328991976606843151140377407516726466614780050133374347923162937121261788504553435356336144184678694481939593875573902576110760972037441089206765562699741965316239074832368314351252996472362187980513208734821263058390894296162764374964306966474678847783767413268305702084694946943969607978799886171660596893383557970257614734032217809984737368323271348511306782682534239597775455146759875013845925320683049038561009057591052336851640013749672764331821686469906015838601063498578157491010248992864044610959360588210753726834457073180452673182747266302825958715138830649058351967592238252522366407492978758599818145195095030632812313694502490527272028866632641127599658932930889728528853452420855067672574156216614267500874044248554990490318202875975974919629785802663399464765273447171183195768571905343069309469606354104300890211705715990146611622910605029646448412023970973824492205907570697212575580732063907521020941344207304055911563325944120203391112991961456666366120040479085204795174880439264568863286706824302045944374921391020732753052799481055177103854599288007584457168812846622917629162467999975320803704708072105506462973656664383883225225535135275057511007000282991974810680828095882878435993456197927123656172516413943766057262818305753495394920042915170421613465965500869829488942560177476234843217217689684873429547016776934043806082368719489326390666970220555421582823925063443697533856618800920045083097895009770974583263755120886117762411321543212207855255104537624249745373849132324038639737258949267299808957585368884401337683328984209471935130797319769408591043997399844144686845485022724654051961678279287290910725604815950738795035950833026401371411363251830614922520121417372149602168218801475709264603646965004329399343580897388221703624501235684372201031055002692280904679573049222898192325792368684631125349939164980959514249783245147563488149903291633518498966591574348411276104748073942838820776287689924828264691467612010925803623779651603368619861122487703832715484050948979332651663171011348253243427684287037947680403369918939516218251815333665136856684061157385654652863579092679936109553626534746789066003577418372167740168335210374371628516677893679246329845969755337479552021834255822621569847859736494655237101772197788677799205936682035746038733180066621182626291777077646709792365123 3116679844297203168626461897672450620626000733606811116655279099124412915346785053060210769138851233526471464612854679128096277536726023780816267458636049111699349387562110338539334930700241479486211500276293955909278640738580284131893161352286222126795494531327542443547279544106378302716751459360451439412366902502733472759868364693787506641144010284505579168542725275356265339169958066169966491506894665665166010792648834220095021948012450118678916372667944241361761296160050775938519469753288289812326142459631998868853653369154768939611141103593055720744807866524516831957259044846401344532603295779291329079989044551395088770891730544375853752299725745258674654210483921287637997198332028872734125455016600715862838710506547199220659696424254283386200974223487362320201527249358448491928822760781145329275131961241792036625412429850476387007013410564255270287652651282913867446251369479519322538156829128494648668409670750910071262394265513485765681702081238072293063625380732855010444159448749345588361453266635461189306890177654157066195937310375345148287889756475081587852684037840838203861465079951187794168445705820212348615067772275668289482301952298474656988049944420129156919103289437977318806777078157548480208860872504736748194932461361235791597691528665104744859473008986426774383177045430921559883813077716403385858615668456346120990364937368036663735680606619155927846932125151739891877548629302066958699010501056445591272087499003572963125425395928668701610339907523298813440332425951466718135829919677022676434023771177582152159609140186236090150006926676599138791019166513584281210148875617894232811105910386484337592951027826294787538613418683211805798748500890221634841375620463254606136593542460130477210435364316294784368680704929708504954550904437044289557422178351230027803674013181349920230491047726659381848000584728863950052904463331351759370079706409923846478098380887657107322581741553944210146849470567006113178235838894300563065458130990204460640051461183908446219494459996148304321359319090014302600183846050017598694053422280993008686523516295754030968869036864233237166932699540694143066915321544894436305324385392068200165179581445084318311814935282351383585480837255054243024872387195497437573697616880137261071634318231461870089892995131958620174905119423937066050046126949825091419959492322736617246795441561568101840039847257624846018799698159234972783633508776824398160094641678961587066307093539228967348240315620368785493995737491414764250975032122532884397969239466531587359577742909236016436718715844777599287785512268118835990236134252805045831078881269413350908040789096090792108689302028189078383604820243214976764097781908372740371278334502625117069949376116140486347918556219395194626998267711777136692743874583875770115903321112724329350178108159813015925126757288195486335576083039957164036700068831568946901292442605526721141608546544917264679636389379013605494103225994133332078833370752895414337889336043895056813463319241436985949960717831598039781092338284281046196783233633955970852332907111593220237073565343729920593604953279682241295480059992648821224058881954425280838563277456986172422240799840307769986179779978391574401134164013840671980668979178086977911560579626876946980948699748165604143089817472500139389624307379900653977044951326287763310701539616496231296436894520503067755847531202800109672319284638874187382004215444119036574234755962377880090747634394510905816140678780693099307211982160520324 5042893920124604858920457126659216912087148561002917464243156815228162344837403067313418149889845330944209409841079914222271930126641732596995788479975184335551784403040790750239207108883124283164941848601262059468992650241833855730035101829069974193970435532808977432743557955101622982544594882135170559125463478366548360530138372244281310406238734969043268365803083577775533559334001548159096774248148706977545257363458644013228919943274845955526340671389128780761845045291299351348168376086291134220575864787465609170805211243096453026753735139781090244575738026777447720989529650772318204326438454793933122446722173601959940027090523452574135125021789353977688779350205177635756185517666323802349710864637488480510830484087317565269126290092844356511590458426333632868881092567686630026308149958029991125839715882672870387315956901699283802420357700749560615590460796859492869910484774877943422404450977687071861102010995546980095906905182540843221576964684929971085444582228187314965004469985023625161933525442319693646183693343263598846003158524468854200285499198973312407335023618855500536325423838521199888723499693317358331195959998644757618474278559141625797365457461146595771699153422812325241969714199419336984762296228840880932873626943300829667171594104775865716896914098193192337082919010747160634716181392067656382330977856436859329725186200426427558031843370994120234813406803999523659290816935004151653645954470664424391158259159600466346683395653543402733828149892260667136711680937258249400670069517452477823193898785023507472842658178747245147741059263528239152540691930845405967680054891456495296309684067877494586585815072437254148126824172410046262871928953563404382107678446421969744967242600812098069448687886682702277347439304747853700049581537249357984059912705623258894436315140781008853161380776255512834268855652401438106269518730832225803618634696900242049354074355807286893125245141018709483594020653762774685083578908203770169419562431880416166356041607795531356824524106444560328292333143582220210170881058625598330757960943301934352893827572207317356912989240255346229128389365906814183546000526340069316744588954255354906989481627389459239702835668035404183066536014358908842312879971652666250420320534509299729071609639035166578161998501594932276839289002649162601185321184460832091702951467133417445342678319997561558037966970913797362432743464216497791089387004171744441075265063292427552567176923028171527525716550463586003183680610920961781027909075928615253117458565857198557580133164492059941500162413378634218088705557351216731000007108836068800951964999031824672451252996951345896646313551773562927515928858882952235713365081717330325740162735840308446054158848051271283667687964810439192026842412398622621715468528635837448395190612023449934166128846954848966758153158659606849587406697962477285454072218433737165702768151870130368106612875944260845577024611082638106729787598195164387081525651657574987387112234236220849182147950366786925114941677345847823026239901772430949488416752132922562426681318387697968311016404164506208283529781544373708907490985796272600875662250574286403326267110172470223371220132491970940997528033221819258688172111694244041899608495396338793245225716483561008138334354401029183235769753582053765924371096445904231395417119066456098521075911245012909190116140850349037511185010754821943928141906208722047118498870681220808772023433761583816772783380433244085882761861406984876384858691952885447 8159573764421808027546919024331667532713149294609728580898435914352575260184188120373628919028696564470680874453934593350368207663367756377812055938611233447251133790602901088778542039583365762651153348877556015378271290980414139861928263181356196320765930064136519876290837499208001285261346341495621998537830380869281833290006736938068817047382745253548847534345808853131798898503959614329063265755043372642711268156107478233323941891287296074205257044057073022123606341451350127286687845839579424032902007247097608039658864612251221966364876243374145965320545893301964552946788695618719548859041750573224451526711218153355028797982253996949988877321515099236363433560689098923394182715998352675083836319654089196373669194593864764489785986517098639897791432649820995189082619817045078518236972718811136455114847843914662423941369331549760189427371111313815885878113448142406737356736144357462744942607806815566509770420666297890167169299448054328987258666766168043378508207608920169975448629433772970750294978708955154835490583520917755912199095834844199348573388955448393995187707656696338740186888918472387682891945399137570679811027770920425907956580511440100454353507405566724928618256712250302560776491277576885464971157101345617681068559404662065458769285633440970461756387107179619111466096056178082194599994469784059768189593524893205450715551137794464221767523977613276162660338929151263551168365564306218612344964971720869982430346658604039309808821049472071435438489799783965950152013363209716118805899437129500499627922556201089625002267318933481237891066190204838291331711097358990248890203767074389529120789978263978924178766100263548935665437591093258068670677454453626016949054066885224351103836143272228546659123250998997061716120009677562205004132441686402273617334883974488922239989153962358773391871823982172216116856237130302056322423194163577562988714403310165895832172736694944000447826882572653693740870124329780798261814747098070732485020562870620626996093068979439803044018566440708632613692462672234512771064904675615929452014365582927361580351088503071387881858277119579466295322065447508326612915847884963753049913339647423107154661208834543558014650603317755566652016851613963085337752358848163687994018151389436990143243957266628448251891496726890897014194122073099667235367311410657183122910959456154062589473761559129659878006818171422208451543162375732763873020512948568839235359704971389139633484016567400494873956866083954788677676348412376545278884108051148137515427805323730144939710907401295957936881129223411817376491069619335566990243243088873846783043880301238023359293786047436688755002853801752005899533679126167212477462863625703066111441070342933563124108224167411770015606521029834386653840680110399758408212403219713218511093933136174263516306955114661982683279915947802335922982781002434449490772287265306112604060594475657089248221422489178110256661000461651712223890824189297719160359022410470401725001570280115905995611269608223911064902395177445862807332240056711995685199985766878533279014225499291188548089969508236128877134734824055950202971045788921422099721132528711684164830387629456395793460932332278710983707813200210833089306275708084713880277474574425771156786296110437955119283054149194787378859571054553905313995403825804885372462070392743861831777450861509140486553035370852105267032541957622053600461190847596234500503086125339845346258189723961696863531014827754991698902540187677975692070674113405771 13202467684546412886467376150990884444800297855612646045141592729580737605021591187687047068918541895414890284295014507572640137790009488974807844418586417782802918193643691839017749148466490045816095197478818074847263941222247995591963365010426170514736365596945497309034395454309624267805941223630792557663293859235830193820145109182350127453621480222592115900148892430907332457837961162488160040003192079620256525519566122246552861834562142029731597715446201802885451386742649478634856221925870558253477872034563217210464075855347674993118611383155236209896283920079412273936318346391037753185480205367157573973433391755314968825072777449524124002343304453214052212910894276559150368233664676477433547184291577676884499678681182329758912276609942996409381891076154628057963712384731708544545122676841127580954563726587532811257326233249043991847728812063376501468574245001899607267220919235406167347058784502638370872431661844870263076204630595172208835631451098014463952789837107484940453099418796595912228504151274848481674276864181354758202254359313053548858888154421706402522731275551839276512312756993587571615445092454929011006987769565183526430859070581726251718964866713320700317410135062627802746205476996222449733453330186498613942186347962895125940879738216836178653301205372811448549015066925242829316175861851716150520571381330064780440737338220891779799367348607396397473745733150787210459182499310370265990919442385294373588605818204505656492216703015474169266639692044633086863694300467965519475968954581978322821821341224597097844925497680726385632125453733077443872403028204396216570258658530884825430474046141473510764581172700803083792261763503304331542606408017030399056732513307194096071078744084326616107811137681699339063559314425415905053713978935760257677247589597747816676304294743367626553252600237685050385711889531740162591941924995803366607349100210407945186247092502230893573072023591363177334890778092555483345393655301840901904582994751036793352134676774971159868542672885268960906025606254454722941945963301214260209975308884861714474178660710388744794847517374925695423711431354322510158916374225033069794502293902778014144142836224002797717486271353159749718552865972871927650632330500829938414338685898736719214853596301795026413889998321823173853483124722262268420688495871489274825862426589571507932152081556691217915973789085219570884286626592230554962407517120313280310624768263816692200660939595572022399673416547540791861356959333338326306793183979763390632886371180928702519844071893355899437043542602046035465196626970552297990250351924942647735008879333062695810546782998782585401316405575314933415462538009119448190827945343033391851603806183242009178267072218683053683294485840273578680683092509022380123680931855550666906284545159624197682435802069510949441433074607409185510389478964911734944844505699043278306828746345787457354834298433438955833685611544289818953678422384462106241884674068045389112113804516336755177759219975010836179844072523293685833572141829142945173616737899801095705695543886989156859106373672742337160664516368429659110462031585194022975383383102998087491097497801926619164681064824249651981235846422030091777478387402328755779885969970764564402012012593998963257617408550223970614629324636607671238366500271709116767879189459199960352853362106522049676669176221201142778217552712443997528603097056318281619001956806560654118281623485545513636314395260999077581664401594662852076929366066291218 21362041448968220914014295175322551977513447150222374626040028643933312865205779308060675987947238459885571158748949100923008345453377245352619900357197651230054051984246592927796291188049855808467248546356374090225535232202662135453891628191782366835502295661082017185325232953517625553067287565126414556201124240105112027110151846120418944501004225476140963434494701284039131356341920776817223305758235452262967793675673600479876803725849438103936854759503274825009057728193999605921544067765449982286379879281660825250122940467598896959483487626529382175216829813381376826883107042009757302044521955940382025500144609908669997623055031446474112879664819552450415646471583375482544550949663029152517383503945666873258168873275047094248698263127041636307173323725975623247046332201776787062782095395652264036069411570502195235198695564798804181275099923377192387346687693144306344623957063592868912289666591318204880642852328142760430245504078649501196094298217266057842460997446027654915901728852569566662523482860230003317164860385099110670401350194157252897432277109870100397710438932248178016699201675465975254507390491592499690818015540485609434387439582021826706072472272280045628935666847312930363522696754573107914704610431532116295010745752624960584710165371657806640409688312552430560015111123103325023916170331635775918710164906223270231156288476015356001566891326220672560134084662302050761627548063616588878335884414106164356018952476808544966301037752487545604705129491828599037015707663677681638281868391711478822449743897425686722847192816614207623523191643937915735204114125563386465460462425605274354551264024405452434943347272964352019457699354596562400213283862470656416005786580192418447174914887356555162766934388680696400779679324102978110057846420622162531294582473572236738916293448705726399945124424219857266502568126662042218914365119159380929596063503520573841018419829197174894020898906164016871075760902422336281607208402399911634389603557621657420348227745754410962912561239325977593519718068926689235713010867976830189661989674467789076054529749213460132676705794494505161719033496801830836771832222109996822844415633550201121298804045058546355732136874670915316370569717586835012988384689348993626408356837288173709358097553568423474665781495048714070867677246795361935656055807282146457948773386045725570521625843115820877793980607256641779335829788967963318835428030068882119545984473235205831834144956162972517273630282631495580539033307745714871585677292030911528148314176504658847459554979294651857373924671825457852841687696589887864980493595013816494518052759634300719169840569046219274156319259377066939314996217135286660668290808968736457963044876526175572302375296386094823698901006870107965334523772619422138531893335075263885417378478295798461198742757184172932124712990555211521433372259967346184435616792964349390910889340821444546603055720922617066090346612005941531177569246573759825402243696478515790837115374796452661173370489583234747244746467700739548640904381885854940858816723666679628984709769386280345407196343180978466037799251192485609313433077374115445075104515631709771655927885431383014958141997156528362964943659622240924866784663110413469660163444545190335558798308704436918376900462699418757993488895691161576552361904097514002140341259851943822184630812968031190163222211592053248045250094670066051129064287903914516119505042931900499464539813209507210499845410088754069280566941782340827769000040179696989 34564509133514633800481671326313436422313745005835020671181621373514050470227370495747723056865780355300461443043963608495648483243386734327427744775784069012856970177890284766814040336516345854283343743835192165072799173424910131045854993202208537350238661258027514494359628407827249820873228788757207113864418099340942220930296955302769071954625705698733079334643593714946463814179881939305383345761427531883224319195239722726429665560411580133668452474949476627894509114936649084556400289691320540539857751316224042460587016322946571952602099009684618385113113733460789100819425388400795055230002161307539599473578001663984966448127808895998236882008124005664467859382477652041694919183327705629950930688237244550142668551956229424007610539736984632716555214802130251305010044586508495607327218072493391617023975297089728046456021798047848173122828735440568888815261938146205951891177982828275079636725375820843251515283989987630693321708709244673404929929668364072306413787283135139856354828271366162574751987011504851798839137249280465428603604553470306446291165264291806800233170207800017293211514432459562826122835584047428701825003310050792960818298652603552957791437138993366329253076982375558166268902231569330364438063761718614908952932100587855710651045109874642819062989517925242008564126190028567853232346193487492069230736287553335011597025814236247781366258674828068957607830395452837972086730562926959144326803856491458729607558295013050622793254455503019773971769183873232123879401964145647157757837346293457145271565238650283820692118314294934009155317097670993179076517153767782682030721084136159179981738070546925945707928445665155103249961118099866731755890270487686815062519093499612543245993631440881778874745526362395739843238638528394015111560399557922788971830063169984555592597743449094026498377024457542316888280016193782381506307044155184296203412603730981786204666921699405787593970929755380048410651680514891764952602057701752536294186552372694213700362422529382122781103912211246554425743675181143958654956831278044449871964983352650790528708409923848877471553311869430857142744928156153346930748596335029892638917927452979135442946881282549153449623146024075066089122583559706940639017019849823564822695523186910428572951149870218501079671493370537244721160371517624204076744303153635732774635812635297078453777924672512095709954396341861350220116415560193873797835547189195399856609241499022524034805895758544539673303699179036372400390267079053197892470476010674918781200547685587549979399051188007756810968214427503888306884323560440162970743946938759142253061638967363414980387352045001859557635664952381872730458755144406108859118754311769849814648682709417581480642368604777877382195492710381544015206865128444518655574266930814552323663023455422658881178559253683881566146065162620706943761738932257919380461298663392669217718087167232003957890019356056021924032223550231350131247668958221931644128370546561179949229179312789416351129709558245583424590540224033234474476523714997886032433461566480724690405313273269502266302716853720803198463767560915268423895108959309468050487898734707859147025383233309634122823061980778014946179506044271016644263050512742225440049414515954899960810321298435881634517871249642728608118220327769247790728404369223118908220449311143782537484175074553239839891387813254390823467647382510048657667384960232797738506999738461153582821436695052724136159805349753146862231343377003679845929406245988207 55926550582482854714495966501635988399827192156057395297221650017447363335433149803808399044813018815186032601792912709418656828696763979680047645132981720242911022162136877694610331524566201662750592290191566255298334405627572266499746621393990904185740956919109531679684861361344875373940516353883621670065542339446054248040448801423188016455629931174874042769138294998985595170521802716122606651519662984146192112870913323206306469286261018237605307234452751452903566843130648690477944357456770522826237630597884867710709956790545468912085586636214000560329943546842165927702532430410552357274524117247921624973722611572654964071182840342472349761672943558114883505854061027524239470132990734782468314192182911423400837425231276518256308802864026269023728538528105874552056376788285282670109313468145655653093386867591923281654717362846652354397928658817761276161949631290512296515135046421143991926391967139048132158136318130391123567212787894174601024227885630130148874784729162794772256557123935729237275469871734855116003997634379576099004954747627559343723442374161907197943609140048195309910716107925538080630226075639928392643018850536402395205738234625379663863909411273411958188743829688488529791598986142438279142674193250731203963677853212816295361210481532449459472677830477672568579237313131892877148516525123267987940901193776605242753314290251603782933150001048741517741915057754888733714278626543548022662688270597623085626510771821595589094292207990565378676898675701831160895109627823328796039705738004935967721309136075970543539311130909141632678508741608908914280631279331169147491183509741433534533002094952378380651275718629507122707660472696429131969174132958343231068305673692030990420908518797436941641679915043092140622917962631372125169406820180085320266412536742221294508891192154820426443501448677399583390848142855824600420672163314565225799476107251555627223086750896580681614869835919396919486412582937228046559810460101664170683790109994351634048590168283793085693665151537224147945461744107833194367967699254874639533954657820439866583238159137309010148259106363936018861778424957984183702580818445026715483333561003180256741750926341095509181760020694990382459692301146541953627401709198817191231052360475084137931048703438641975745452988419251315588837618312986139732800110435782190723409198681022648975403767788332973503935003598503129555946204528157192633263577258077519402593714734228355868950851921517056946933981810531952939423574824768069478147768041586446929514724190246397438954030482659614184892886252961741148572020150328027951237541952575636771114398601664134150227921091221133713954924329448812045454972279692769527409563280506307777693559235593153783017664990872701081096499580489509349730637747866657187467602006078437741041501751221120079921316437856813690859055717832228377133998899604103816078091627742060128607427988676550560945740278673088014378835556172881308816915531981757046372067025076970786344554109242077524500199141480330669337007924772783115380905600852826891250185233160353675115082659549847673499060034699269236263018753400877737328186333424913125592414366417630802953268664692649080965059137306377911123165666511941511047713623155695100212859061145235519608630002872800011418333949061486601607116018930824343090308466737121048561709163087604722114988042584430003113599405307638868717742052576099786731672864147313858012042670361653047361249904559934636005215438507216142798285159344507614929446425685196 90491059715997488514977637827949424822140937161892415968403271390961413805660520299556122101678799170486494044836876317914305311940150714007475389908765789255767992340027162461424371861082547517033936034026758420371133579052482397545601614596199441535979618177137046174044489769172125194813745142640828783929960438786996468970745756725957088410255636873607122103781888713932058984701684655427989997281090516029416432066153045932736134846672598371273759709402228080798075958067297775034344647148091063366095381914108910171296973113492040864687685645898618945443057280302955028521957818811347412504526278555461224447300613236639930519310649238470586643681067563779351365236538679565934389316318440412419244880420155973543505977187505942263919342601010901740283753330236125857066421374793778277436531540639047270117362164681651328110739160894500527520757394258330164977211569436718248406313029249419071563117342959891383673420308118021816888921497138848005954157553994202455288572012297934628611385395301891812027456883239706914843134883660041527608559301097865790014607638453713998176779347848212603122230540385100906753061659687357094468022160587195356024036887228932621655346550266778287441820812064046696060501217711768643580737954969346112916609953800672006012255591407092278535667348402914577143363503160460730380862718610760057171637481329940254350340104487851564299408675876810475349745453207726705801009189470507166989492127089081815234069066834646211887546663493585152648667859575063284774511591968975953797543084298393112992874374726254364231429445204075641833825839279902093357148433098951829521904593877592714514740165499304326359204164294662225957621590796295863725064403446030046130824767191643533666902150238318720516425441405487880466156601159766140280967219738008109238242599912205850101488935603914452941878473134941900279128159049606981926979207469749522002888710982537413427753672595986469208840765674776967897064263452119811512412517803416706977976662367045847748952590813175208474769063748470702371205419288977153022924530532919089405919641173090657111946569061157887619812418233366876004523353114137530633329414780056608122251488456159392184697807623644662631383166719065448548814884706248894266418729048640756053747883661994566503999853308860476825124481789788560309997989830610343809544413589417923498045011316319727429181692460845069213889399940364479776062620088351066431099124447272919259202956233250879903756747680061596620237680989568325339813841903821267370618244052261365710715271875833947418353081670667370995861100680465629455456343710768190921981488891334779024176037569027549130615273136222993271590589281830684775913727424098878386528317592276157592342241945010735263660033595650578463291992290871053364937502876311175843041868936892990064704525206643778961099875691540695257005120880452935320895737831862023196539390291134729346325515155908554518835759634729109938411059106404231440064584490203688690500437571638150735573733422031493875629908699725914093927548148806017589857429315850712923683646799641078365520395932819349939801776888420072434726786314316146161223295292734381176080313101125489949978651898002283203788121118084392857302671710782958155310764135897920540262273577100135480418951301308681645936205198704215209725336346700072133818712835960239956782158474231387259599163117137669843004987218562029692185389435086148444399057824380111596519042408822806630182686599612658772165020788260363005029628536348187460858852671673403 146417610298480343229473604329585413221968129317949811265624921408408777141093670103364521146491817985672526646629789027332962140636914693687523035041747509498679014502164040156034703385648749179784528324218324675669467984680054664045348235990190345721720575096246577853729351130517000568754261496524450453995502778233050717011194558149145104865885568048481164872920183712917654155223487371550596648800753500175608544937066369139042604132933616608879066943854979533701642801197946465512289004604861586192333012511993777882006929904037509776773272282112619505773000827145120956224490249221899769779050395803382849421023224809294894590493489580942936405354011121894234871090599707090173859449309175194887559072603067396944343402418782460520228145465037170764012291858342000409122798163079060947545845008784702923210749032273574609765456523741152881918686053076091441139161200727230544921448075670563063489509310098939515831556626248412940456134285033022606978385439624332604163356741460729400867942519237621049302926754974562030847132518039617626613514048725425133738050012615621196120388487896407913032946648310638987383287735327285487111041011123597751229775121854312285519255961540190245630564641752535225852100203854206922723412148220077316880287807013488301373466072939541738008345178880587145722600816292353607529379243734028045112538675106545497103654394739455347232558676925551993091660510962615439515287816014055189652180397686704900860579838656241800981838871484150531325566535276894445669621219792304749837248822303329080714183510802224907770740576113217274512334580888811007637779712430120977013088103619026249047742260451682707010479882924169348665282063492724995694238536404373277199130440883674524087810669035755662158105356448580021089074563791138265450374039918093429504655136654427144610380127758734879385379921812341483669976301905431582347651370784314747802364818234093040650840423492567150823710601594173887383476846389347858072222977905080877661766772361397481797542759096968294168434215285694850316667163396810347390892229787793728939874298993530523695184728198466897768071524597302894866301778072121714335910233225083323605585049459339648926448733964740171813143187414055831008507185852790847893820438247457947284800244137078704435048556747502452570577470209039875898835608143596483542344524025200114221454209997342376404585460249178042717824403538867609332008824616508259064362701705350438661796670967479235772707599601578653567171662800100278279237416728589336848766012093847812640229996066080344857307112153326985180753986933427370604028363861096218873219030843910415795290436170691683280843194227444126985545513611279496821368699703791647913937880872782465370035801180603889046677698586523279544388491871360562714668140624177833030509470942971427805746026957864899041021192129397508947864176598285163698029736731466127012617481918876789474932943144585105079781499913402197952789894662577112748881500022185445736872504596715121521918287531273571400130107841206244763264556073578800705238334916703539814933832032801432040635478592369197613300836923119341670989805067717023898551481626159294301672727467543120752931920562694932284753180255390770768425837377294899666358477759053615640475132638245371000027581304181481657354539147765701811332452365630896476909021302697361005343867637318991981714151159722099846118586623869668560903131487662248231130730688527425454531085079184459677543936504172593408170236226767579147827913695692695075788299097358599 236908670014477831744451242157534838044109066479842227234028192799370190946754190402920643248170617156159020691466665345247267452577065407694998424950513298754447006842191202617459075246731296696818464358245083096040601563732537061590949850586389787257700193273383624027773840899689125763568006639165279237925463217020047185981940314875102193276141204922088286976702072426849713139925172026978586646081844016205024977003219415071778738979606214980152826653257207614499718759265244240546633651752952649558428394426102688053303903017529550641460957928011238451216058107448075984746448068033247182283576674358844073868323838045934825109804138819413523049035078685673586236327138386656108248765627615607306803953023223370487849379606288402784147488066048072504296045188578126266189219537872839224982376549423750193328111196955225937876195684635653409439443447334421606116372770163948793327761104919982135052626653058830899504976934366434757345055782171870612932542993618535059451928753758664029479327914539512861330383638214268945690267401699659154222073349823290923752657651069335194297167835744620516155177188695739894136349395014642581579063171710793107253812009083244907174602511806968533072385453816581921912601421565975566304150103189423429796897760814160307385721664346634016544012527283501722865964319452814337910241962344788102284176156436485751453994499227306911531967352802362468441405964170342145316297005484562356641672524775786716094648905490888012869385534977735683974234394851957730444132811761280703634791906601722193707057885528479272002170021317292916346160420168713100994928145529072806534992697496618963562482425950987033369684047218831574622903654289020859419302939850403323329955208075318057754712819274074382674530797854067901555231164950904405731341259656101538742897736566632994711869063362649332327258394947283383949104460955038564274630578254064269805253529216630454078594096088553620032551367268950855280541109841467669584635495708497584639743434728443329546495349910143502643203279034165552687872582685787500413816760320712818345793940166621180807131297259624785387883942830669770870825131186259244969239648005139931727836537915499041111146541588384834444526354133121279557322070559039742160239167296098703338548127799073270939048410056362929395701951998828436208833597974206827351888937614618037719499221313662103833767152710023111931713803479232089108071444704859325495461826152623357920999627200730115676464347281640250187409343789668603619051258632410604219384256146109178350945267941914292275660193823994356176615087613893000059484707571864409795200519735245194819466473739719232411458467363667120257136102893110181597282427127890526300466198465058622962378043125614624310337732182173858007680484162231616079605643500489008873551339879864417870450552164508678002121067820938204204869297478738099018925474563328150209156872210011518821258458300493659598617259548131307891200953768981344188946084512389134427372942168353272257492020953305065275760016540932158857192104222384818295095764232554252738617478832442510406155874525188547553102613811539414105716591382033170059774776918893675477753040568668610702910572460697215488541301373475163625728509088077857821669241894951536180737406215345506480446532605490163303290744346469917021057788712330968610727734138657600962126026111550379241313314276859769689123573842431698253088520922748396675529788512907537051050127488007266307726623103785252180335257015027942152857542232040882536647151769032002 383326280312958174973924846487120251266077195797792038499653114207778968087847860506285164394662435141831547338096454372580229593213980101382521459992260808253126021344355242773493778632380045876602992682463407771710069548412591725636298086576580132979420768369630201881503192030206126332322268135689729691920965995253097902993134873024247298142026772970569451849622256139767367295148659398529183294882597516380633521940285784210821343112539831589031893597112187148201361560463190706058922656357814235750761406938096465935310832921567060418234230210123857956989058934593196940970938317255146952062627070162226923289347062855229719700297628400356459454389089807567821107417738093746282108214936790802194363025626290767432192782025070863304375633531085243268308337046920126675312017700951900172528221558208453116538860229228800547641652208376806291358129500410513047255533970891179338249209180590545198542135963157770415336533560614847697801190067204893219910928433242867663615285495219393430347270433777133910633310393188830976537399919739276780835587398548716057490707663684956390417556323641028429188123837006378881519637130341928068690104182834390858483587130937557192693858473347158778702950095569117147764701625420182489027562251409500746677185567827648608759187737286175754552357706164088868588565135745167945439621206078816147396714831543031248557648893966762258764526029727914461533066475132957584831584821498617546293852922462491616955228744147129813851224406461886215299800930128852176113754031553585453472040728905051274421241396330704179772910597430510190858495001057524108632707857959193783548080801115645212610224686402669740380163930143000923288185717781745855113541476254776600529085648958992581842523488309830044832636154302647922644305728742042671181715299574194968247552873221060139322249191121384211712638316759624867619080762860470146622281949038379017607618347450723494729434519581120770856261968863124742664017956230815527656858473613578462301510207089840811344038109007111796811637494319860403004539746082597847804708990108506547285668239160151704502316025458091683155955467427972665737126909258380959305149881230223255333421587374838690037595275553125006257669541547177110565829256411830590054059605543556650623348371936151975374096966803865381966279422207868312107669206117803310894233461639818151940953431311004480238352612959201154649538207018099698440080269321367584559824527857973796582796298168209351449171946883218903754581006589768881898288675360999941068150268239956990991175264007994637132967305977321341357369074547320370663513071432960628668419550579155610614756909910410915692301661591111247242681616504389678418651126831682174214404079337841088332413844306218513357015430768697137552068976033592178794273784124666841904060810822835845676196579122373577043142259950335713152733474077023262716955211294794277221774354128888308296191401445078764678398759461533505843990848431558456937827584534574580164245446765068393779410308484578636675890124382138403620456660295963619000334099149257792553551310865243942446791353117557745166403450734658755776706396449750193958326258545052969779425768036211731455842493023392147773294481628865934394154346465372757488027719654005151821212538853590877480474113909671644960645283494235618832390241077961865087636755441354961967469893748869371223027465436581869535242160466301366813991652410410644906660519201434962505581212567191725985270559607957845588505493241795521300685455927733577612435450866390601 620234950327436006718376088644655089310186262277634265733681307007149159034602050909205807642833052297990568029563119717827497045791045509077519884942774107007573028186546445390952853879111342573421457040708490867750671112145128787227247937162969920237120961643013825909277032929895252095890274774855008929846429212273145088975075187899349491418167977892657738826324328566617080435073831425507769940964441532585658498943505199282600082092146046569184720250369394762701080319728434946605556308110766885309189801364199153988614735939096611059695188138135096408205117042041272925717386385288394134346203744521070997157670900901164544810101767219769982503424168493241407343744876480402390356980564406409501166978649514137920042161631359266088523121597133315772604382235498252941501237238824739397510598107632203309866971426184026485517847893012459700797572947744934653371906741055128131576970285510527333594762616216601314841510494981282455146245849376763832843471426861402723067214248978057459826598348316646771963694031403099922227667321438935935057660748372006981243365314754291584714724159385648945343301025702118775655986525356570650269167354545183965737399140020802099868460985154127311775335549385699069677303046986158055331712354598924176474083328641808916144909401632809771096370233447590591454529455197982283349863168423604249680890987979517000011643393194069170296493382530276929974472439303299730147881826983179902935525447238278333049877649638017826720609941439621899274035324980809906557886843314866157106832635506773468128299281859183451775080618747803107204655421226237209627636003488266590083073498612264176172707112353656773749847977361832497911089372070766714532844416105179923859040857034310639597236307583904427507166952156715824199536893692947076913056559230296506990450609787693134034118254484033544039896711706908251568185223815508710896912527292443287412871876667353948808028615669674390888813336132075597944559066072283197241493969322076046941253641818284140890533458917255299454840773354025955692412328768385348218525750429219365631462179326772885309447322717716468543839410258642436607952040444640204274389529235363187061258125290337731148741817141509840702195895680298390123151326970870332214298772839655353961896499735225246313145376860228311361981374206696748316502804092010138246122399254436189660452652624666584072119765669224266581252010497331787548151714026226910055286354010597154503795925368939467125636294164859153941990350379437485517339933993410545287534524386066169342120531949908929408627499801315697533984162161213370722997779004825038463620070314400805434223383650130148103760128954778367499817719397499860015933553959572700514870277802899711294791887431833137667353162950870995559749460195823794873879427625155850777612150702700263546647131286882255045263327771273917357602771555761361735880685858122427430931226338899827117449859745572424277016019009664813735191802200539801126773669046963714591618388933421666036902329437883701951650140923070562477648764518348437295429863381812045292168789697686452852947227642746292719506064546198169882422987831783364018101035463946645257178808604880342158753065484089363261835783002341098019882855553450615309696961548956688001949945068936383960920646515161808263936027840705535853448029790292833698364489580012562929595919860419750464340779713441639224365734308733065067080173333159041582190307714342499556631340055198992292997182711743097768840750256823463453542998159774460149082602635422603 1003561230640394181692300935131775340576263458075426304233334421214928127122449911415490972037495487439822115367659574090407726639005025610460041344935034915260699049530901688164446632511491388450024449723171898639460740660557720512863546023739550053216541730012644027790780224960101378428212542910544738621767395207526242991968210060923596789560194750863227190675946584706384447730222490824036953235847039048966292020883790983493421425204685878158216613847481581910902441880191625652664478964468581121059951208302295619923925568860663671477929418348258954365194175976634469866688324702543541086408830814683297920447017963756394264510399395620126441957813258300809228451162614574148672465195501197211695530004275804905352234943656430129392898755128218559040912719282418379616813254939776639570038819665840656426405831655412827033159500101389265992155702448155447700627440711946307469826179466101072532136898579374371730178044055596130152947435916581657052754399860104270386682499744197450890173868782093780682597004424591930898765067241178212715893248146920723038734072978439247975132280483026677374531424862708497657175623655698498718959271537379574824220986270958359292562319458501286090478285644954816217442004672406340544359274606008424923151268896469457524904097138918985525648727939611679460043094590943150228789484374502420397077605819522548248569292287160831429061019412258191391507538914436257314979466648481797449229378369700769950005106393785147640571834347901508114573836255109662082671640874868451610578873364411824742549540678189887631547991216178313298063150422283761318260343861447460373631154299727909388782931798756326514130011907504833421199275089852512569646385892359956524388126505993303221439759795893734472339803106459363746843842622434989748094771858804491475238003483008753273356367445605417755752535028466533119187265986675978857519194476330822305020490224118077443537463135250795161745075304995200340608577022303098724898352442935654509242763848908124952234571567924367096266478267673886358696952074850983196023234740537725912917130418486924589811763348175808151699794877686615102345078949703021163579539410465586442394679712665176421186337092694634846959865437227475500688980583382700922268358378383212004585244871671377221687242343664093693328260796414565060424172010209813449140355860894254341601406083935671064310472378628425421230790217515431485988231983347594494615110881868570951086592223537148818574808241048078057696571356969206367415628609354410486355684792626023160333295795957903566541594805778637038891353236708533741386510850437785667132039620893556416048980293560541063796061790545889614742499335901889538434584680791254874729274357140740799627205731738051651024368593719568133111818436229415973668153211749822692681672961525536109222843710409255832088405587721609630510336245632784624452835897152916704652705580467788135413641261190651188955414778471198319579182650632098258064601253581538294755863835698490059816312637922462338627540265305208966098105424814312056295763962531069837845720100562930395299738580760304037885909515280856925659129384281533557976427294008999615036604576641092073614595558507481511035130264631207032414037202018823372797724681202961839823162483922527261441394760424833453224581311334941154685838270868254698786001245021367524897065813609289121687368245150023508759607894775034431881071825743569686488850826915777462062212552622390718278267742319700943357346243498618984754228454087508037761518053501813204 1623796180967830188410677023776430429886449720353060569967015728222077286157051962324696779680328539737812683397222693808235223684796071119537561229877809022268272077717448133555399486390602731023445906763880389507211411772702849300090793960902519973453662691655657853700057257889996630524102817685399747551613824419799388080943285248822946280978362728755884929502270913273001528165296322249544723176811480581551950519827296182776021507296831924727401334097850976673603522199920060599270035272579348006369141009666494773912540304799760282537624606486394050773399293018675742792405711087831935220755034559204368917604688864657558809320501162839896424461237426794050635794907491054551062822176065603621196696982925319043272277105287789395481421876725351874813517101517916632558314492178601378967549417773472859736272803081596853518677347994401725692953275395900382353999347453001435601403149751611599865731661195590973045019554550577412608093681765958420885597871286965673109749713993175508350000467130410427454560698455995030820992734562617148650950908895292730019977438293193539559847004642412326319874725888410616432831610181055069369228438891924758789958385410979161392430780443655413402253621194340515287119307719392498599690986960607349099625352225111266441049006540551795296745098173059270051497624046141132512139347542926024646758496807502065248580935680354900599357512794788468321482011353739557045127348475464977352164903816939048283054984043423165467292444289341130013847871580090471989229527718183317767685705999918598210677839960049071083323071834926116405267805843509998527887979864935726963714227798340173564955638911109983287879859884866665919110364461923279284179230308465136448247167363027613861036996103477638899846970058616079571043379516127936825007828418034787982228454092796446407390485700089451299792431740173441370755451210491487568416107003623265592433362100785431392345491750920469552633888641127275938553136088375381922139846412257730556184017490726409093125105026841622395721319041027912314389364403619368544241760490966945278548592597813697475121210670893524620243634287945257538953030990147661367853928939700949629455937837955514152335078909836144687662061332907773890812131910353571254482657151222867358547141371406602468000387720524322004690242170621261808740674814301823587386478260148690531261858736560337648382592144297649687812042228012763273536383697373821404670397235879168105590388148906088285700444535212937211638561707348643852932968543347821031643219317012089329675416327907812495950222305579952736425337398869747112109508629442610705595659691207957221483203677210671211899821919500667982242317055299389398450518234750827575244144634943640510921997619169884788691721756670439128671567896425239768542032639374978543459285112228236372769490841696138087133668915492883547867939017188545986188716583011039132083636806806687962531091120936223613232430797480863133314374452832638059191374922628502009347482224631911725853214967360346040579190406228279528575754189332660493591193825912881883137888890260616848152685808403050330605415579827055095541552372113316921994528329472946260293783385245972415773348623991570874296966047633548130433920057572273988107421642751918527825112428991463645402315406939995261488517339175646690539286300658547532484365734601380087826661733469708872151709024863465147983973629083767496948151999076728728071041134630119961618843892677589710571264925031444041126186993755442448207771452247282497910600656137235807 2627357411608224370102977958908205770462713178428486874200350149437005413279501873740187751717824027177634798764882267898642950323801096729997602574812843937528971127248349821719846118902094119473470356487052288146672152433260569812954339984642070026670204421668301881490837482850098008952315360595944486173381219627325631072911495309746543070538557479619112120178217497979385975895518813073581676412658519630518242540711087166269442932501517802885617947945332558584505964080111686251934514237047929127429092217968790393836465873660423954015554024834653005138593468995310212659094035790375476307163865373887666838051706828413953073830900558460022866419050685094859864246070105628699735287371566800832892226987201123948624512048944219524874320631853570433854429820800335012175127747118378018537588237439313516162678634737009680551836848095790991685108977844055830054626788164947743071229329217712672397868559774965344775197598606173542761041117682540077938352271147069943496432213737372959240174335912504208137157702880586961719757801803795361366844157042213453058711511271632787534979285125439003694406150751119114090007233836753568088187710429304333614179371681937520684993099902156699492731906839295331504561312391798839144050261566615774022776621121580723965953103679470780822393826112670949511540718637084282740928831917428445043836102627024613497150227967515732028418532207046659712989550268175814360106815123946774801394282186639818233060090437208313107864278637242638128421707835200134071901168593051769378264579364330422953227380638238958714871063051104429703330956265793759846148323726383187337345382098068082953738570709866309802009871792371499340309639551775791853825616200825092972635293869020917082476755899371373372186773165075443317887222138562926573102600276839279457466457575805199680746853145694869055544966768639974489942717197167466425935301479954087897453852324903508835882954886171264714378963946122476279161713110678480647038198855193385065426781339634534045359676594765989491987797308701798673086316478470351740264995231504671191465723016300622064932974019069332771943429165631872641298109939850682531433468350166536071850617550620690573521416002530779534621926770135249391501112493736272176751015529606079363132386243077979689687630064188415698018502967035826869164846824511637036526834121042944872863264820496008712693064522926075109042832445528194759524615680721415899285508117747739056676980372443237104275252776261015269335133064317850220348597152702231517998904109638112490008712123865716062491817111358589775316690635578280853496019479880396372727699312101513637532183970771212275695883710046557596984816391201278936885102915542082449973418992084381310549203350907936439716090350390007261783386332654655742210185851124801236140958073753772481992334552105393919222074503214493178378275262821330610641552480163955836736342387274476097944732382126874802187845575952061452893557103464736317255976176210040304103346060330401785669527605282808379206730671533488494673859614146972549886957788443951720983608990823547243452424389163354368491325095107912021200681756394850479970955623481945875330387961887064489387944182499052385332096312264755162847957259591097360905146323954880367648274912913990906843710167364828714713098650510587845225124571526802231270366979622747612723727547078997993839077270013488656743581523858801928829223824820298414559891961545897423681056445299980428849532667351144984483533237254061432961999906334790535672118709639049011 4251153592576054558513654982684636200349162898781547444167365877659082699436553836064884531398152566915447482162104961706878174008597167849535163804690652959797243204965797955275245605292696850496916263250932677653883564205963419113045133945544590000123867113323959735190894740740094639476418178281344233724995044047125019153854780558569489351516920208374997049680488411252387504060815135323126399589470000212070193060538383349045464439798349727613019282043183535258109486280031746851204549509627277133798233227635285167749006178460184236553178631321047055911992762013985955451499746878207411527918899933092035755656395693071511883151401721299919290880288111888910500040977596683250798109547632404454088923970126442991896789154232008920355742508578922308667946922318251644733442239296979397505137655212786375898951437818606534070514196090192717378062253239956212408626135617949178672632478969324272263600220970556317820217153156750955369134799448498498823950142434035616606181927730548467590174803042914635591718401336581992540750536366412510017795065937506183078688949564826327094826289767851330014280876639529730522838844017808637457416149321229092404137757092916682077423880345812112894985528033635846791680620111191337743741248527223123122401973346691990407002110220022576119138924285730219563038342683225415253068179460354469690594599434526678745731163647870632627776045001835128034471561621915371405234163599411752153559186003578866516115074480631478575156722926583768142269579415290606061130696311235087145950285364249021163905220598288029798194134886030546108598762109303758374036303591318914301059609896408256518694209620976293089889731677238165259420004013699071138004846509290229420882461232048530943513752002849012272033743223691522888930601654690863398110428694874067439694911668601646088137338845784320355337398508813415860698168407658953994351408483577353489887214425688940228228446637091734267012852587249752217714849199053862569178045267451115621610798830360943138484781621607611887709116349729710987475680882089720284506755722471616470014315614114319540054184689962857392187063453577130180251140929998343899287397289867485701306555388576204725856494912366924222283988103043023282313244404089843431233672680828946721679527614484582157688017784712737702708745137657088677905521638813460623913312381191635404125123557056346361075656667223724796854874673540958033060999378095237303955905353626907162267368521349325389975697311473952480973694771666494073281565696050052549642123426650201819684128451773528558442039416938542511742028034448027965605528109323007078323359003309470859015387647981883487595705629547225579227133446500668335335621150292910025217563627028021821471200970077821228407812107060446390454954229079895510752218490499779779600243185982008854761825393801532006355743418707376726246214280009876596830269063174994968819979194081164060475823503063098415420276373432924586207931556297374376447351098838542313450828284962313511522742572643154419785921077761768023249613803479633043478151614356833604121497881084164091605110197566404699096740674934967116742234128508167401965483952954892135624171347133036905161292806490623259629062359898303293281877317163371349012567966706798895473387341905454552246025574304823976201615989686234535764410872185349763754732714224127700550389280548706865990786294876953804727555152942569425777375823897027142630933096176017385299900337977570139420797592382589025609720231009503881169771358582073033582719365776284818 6878511004184278928616632941592841970811876077210034318367716027096088112716055709805072283115976594093082280926987229605521124332398264579532766379503496897326214332214147776995091724194790969970386619737984965800555716639223988925999473930186660026794071534992261616681732223590192648428733538877288719898376263674450650226766275868316032422055477687994109169858705909231773479956333948396708076002128519842588435601249470515314907372299867530498637229988516093842615450360143433103139063746675206261227325445604075561585472052120608190568732656155700061050586231009296168110593782668582887835082765306979702593708102521485464956982302279759942157299338796983770364287047702311950533396919199205286981150957327566940521301203176228445230063140432492742522376743118586656908569986415357416042725892652099892061630072555616214622351044185983709063171231084012042463252923782896921743861808187036944661468780745521662595414751762924498130175917131038576762302413581105560102614141467921426830349138955418843728876104217168954260508338170207871384639222979719636137400460836459114629805574893290333708687027390648844612846077854562205545603859750533426018317128774854202762416980247968812387717434872931178296241932502990176887791510093838897145178594468272714372955213899493356941532750398401169074579061320309697993997011377782914734430702061551292242881391615386364656194577208881787747461111890091185765340978723358526954953468190218684749175164917839791683021001563826406270691287250490740133031864904286856524214864728579444117132601236526988513065197937134975811929718375097518220184627317702101638404991994476339472432780330842602891899603469609664599729643565474862991830462710115322393517755101069448025990507902220385644220516388766966206817823793253789971213028971713346897161369244406845768884191991479189410882365277453390350640885604826420420286709963531441387341066750592449064111401523262998981391816533372228496876562309732343216216244122644500687037580169995477183844458216373601379696913658431509660561997360560072024771750953976287661480038630414941604987158709032190164130492619209002821549250869849026430720865640034021773157172939196895299377910914897703756905914873178272673814356897826115607984688210435026084811913857562561847375647848901153400727248104692915547070368463325097660440146502234580276988388377552355073768721190149799905897707119069152792585615058816653203241413471374646218944348893792562494250950087734967750308827835984344293630162848752284067641027536288314309692840575639244620933856528297132287058718670026308819101547589203403451051058315410984496547571618753095763291589339593783176211949837701947272220724065834992475190982619112403132020404320985757668123902457450453652238340561734551252962404341624581015741201259735781336754159945906925925577817921921869904624489542831207207471821543338950805556321581355640158420555885189973217608121949384986039101488659762110693703327275048582617554174345292715297192270177925962798992651749295256517923473417626605593365109402800785325105106871907711335057534586729759067588065770042879137942915884903017881936439576436838010954559309020101394549236988989675644961158672163058456129834576754468709917714290661679263121662254819445459089735741669652690914714640196822380989535443712151995025099693846875313274116827627704859829863564890442461471136676801371354606599648717325557190825057721914808980956783277550568270330259733734010093253468263565314131771264916863569254838075415333829 11129664596760333487130287924277478171161038975991581762535081904755170812152609545869956814514129161008529763089092191312399298340995432429067930184194149857123457537179945732270337329487487820467302882988917643454439280845187408039044607875731250026917938648316221351872626964330287287905151717158632953623371307721575669380621056426885521773572397896369106219539194320484160984017149083719834475591598520054658628661787853864360371812098217258111656512031699629100724936640175179954343613256302483395025558673239360729334478230580792427121911287476747116962578993023282123562093529546790299363001665240071738349364498214556976840133704001059861448179626908872680864328025298995201331506466831609741070074927454009932418090357408237365585805649011415051190323665436838301642012225712336813547863547864886267960581510374222748692865240276176426441233484323968254871879059400846100416494287156361216925069001716077980415631904919675453499310716579537075586252556015141176708796069198469894420523941998333479320594505553750946801258874536620381402434288917225819216089410401285441724631864661141663722967904030178575135684921872370843003020009071762518422454885867770884839840860593780925282702962906567025087922552614181514631532758621062020267580567814964704779957324119515933060671674684131388637617404003535113247065190838137384425025301496077970988612555263256997283970622210716915781932673512006557170575142322770279108512654193797551265290239398471270258177724490410174412960866665781346194162561215521943670165150092828465281037821834815018311259332823165521920528480484401276594220930909021015939464601890884595991126989951818895981789335146847829859149647579173934129835309219405551814400216333117978969504259905069397916254259612458489095748425447944653369323457666587414336856280913008491857021530837263509766219763786266806211339054012485374414638118447108794877228281176281389292339848160354733248404669120621980714591411508786205785394289390095616308648379000356420322329239837981213267406030008161220648037678242649792309278506676447904131494354244529261145041343398995047556317556072786133001800391799847370330008262929901507474463728327773100025234405827264627979189902976221295956127601301915959039218360891263972806491441472047144005063665633613891103435993242350004224975890102138558284353458883426215681113511934608701434844377857373524702752581792610110825646614436911890507197318825001553381211717415141887884226647399208920231282522607650838366911728544802336617283150962938516129376969027412773179375895945235674798800746704474336784707075698526410529374417318720455355562959266734979250887294969141008755439083284202615607556345216127902500408546246140424953491605291063578896531714564510900042693294790814446763714622832124360795341444445717790191515985339708457931933561340629246630870703822841083804302090606513945774376300775436804218896379388253071633028398322817910625309420216059485070150678373887124931005002630255028808715012750569117218778572827057024541173087221106238636843261017157618929226604752991875426662644784296163766684806444977846254685150013411185283901923529391730146578730656153138299710529795480298904590221032061361749411711893917840058930282257368478158595049596724900011335761315974476667116330629883056916753946315897501758779832408071003013824506108176411725820649859767396266198691829743940780383975472614352699821758153897932194280857121255120707691127852116323035702973699273069195301542623498936602837557441191618647 18008175600944612415746920865870320141972915053201616080902797931851258924868665255675029097630105755101612044016079420917920422673393697008600696563697646754449671869394093509265429053682278790437689502726902609254994997484411396965044081805917910053712010183308482968554359187920479936333885256035921673521747571396026319607387332295201554195627875584363215389397900229715934463973483032116542551593727039897247064263037324379675279184398084788610293742020215722943340387000318613057482677002977689656252884118843436290919950282701400617690643943632447178013165224032578291672687312215373187198084430547051440943072600736042441797116006280819803605478965705856451228615073001307151864903386030815028051225884781576872939391560584465810815868789443907793712700408555424958550582212127694229590589440516986160022211582929838963315216284462160135504404715407980297335131983183743022160356095343398161586537782461599643011046656682599951629486633710575652348554969596246736811410210666391321250873080953752323049470609770919901061767212706828252787073511896945455353489871237744556354437439554431997431654931420827419748530999726933048548623868822295944440772014642625087602257840841749737670420397779498203384164485117171691519324268714900917412759162283237419152912538019009290002204425082532557712196465323844811241062202215920299159456003557629263231493946878643361940165199419598703529393785402097742935916121046128806063466122384016236014465404316311061941198726054236580683652153916272086327194426119808800194380014821407909398170423071342006824324530760300497732458198859498794814405558226723117577869593885360935463559770282661498873688938616457494458879291144648797121665771929520874207917971434187426995494767807289783560474776001225455302566249241198443340536486638300761234017650157415337625905722828742699177102129063720196561979939617311794834924828410640236264569347926873838356451249683617732229796485653994209211467973818518549001610533512740116995685959170351897506173698054354814647102943666592730308599675603209864334050257630424191792974392874944202750028502108027237720448048691995135823349642669696396760729128569935529247620901266969995324612316742162331736095817849399568629941958199742074647203049101698998891303355329609705852439313482515044504163241347042919772046258565463655944793605385660795958101900312161056508613099047523324608650288911679263618232229495728543710438732296376199600156066308934450378477597486943887981591350443635182660541891393554620684924178499226830439069809603052017800309752473532807085859465374500645603808623287729813980425475634131439852110530885488075014178884308734791931651033121904562879777069281962894975599528865252828085512009612049336564655617021961353694931635352548998016677027173748941811082645705453571528270145285615383857511379262551116535495193365672291011773912149852896579932622356792444377316935273443044850636520272202896664410908875821595763854005648935707548559176975547744105907282928495080017771224576352281059096560638732844230208370419958404254331711624899586761720179371025922834272872215020725392628065898314203165838363105828568157533289965173239694259766784469974549551379704224420205541546470672308768847996548030157421716711851544345470425497057644129358031045270079879297743481759609653753804932101917878327098622935804116585650513424657838727669828506545312134990575121331678257012583211619847003261813904532671275961458111850057045796227167536634509433313888415800172092395516606952476 29137840197704945902877208790147798313133954029193197843437879836606429737021274801544985912144234916110141807105171612230319721014389129437668626747891796611573129406574039241535766383169766610904992385715820252709434278329598805004088689681649160080629948831624704320426986152250767224239036973194554627145118879117601988988008388722087075969200273480732321608937094550200095447990632115836377027185325559951905692924825178244035650996496302046721950254051915352044065323640493793011826290259280173051278442792082797020254428513282193044812555231109194294975744217055860415234780841762163486561086095787123179292437098950599418637249710281879665053658592614729132092943098300302353196409852862424769121300812235586805357481917992703176401674438455322844903024073992263260192594437840031043138452988381872427982793093304061712008081524738336561945638199731948552207011042584589122576850382499759378511606784177677623426678561602275405128797350290112727934807525611387913520206279864861215671397022952085802370065115324670847863026087243448634189507800814171274569579281639029998079069304215573661154622835451005994884215921599303891551643877894058462863226900510395972442098701435530662953123360686065228472087037731353206150857027335962937680339730098202123932869862138525223062876099766663946349813869327379924488127393054057683584481305053707234220106502141900359224135821630315619311326458914104300106491263368899085171978776577813787279755643714782332199376450544646755096613020582053432521356987335330743864545164914236374679208244906157025135583863583466019652986679343900071408626489135744133517334195776245531454686760234480394855478273763305324318028938723822731251501081148926426022318187767305405964999027712359181476729035613683944398314674689143096709859944304888175570873931070423829482927253666006208943321892849987002773318993629797169249562946857749031141797629103155227648791097843972465478201154774616189926059385327304754787004822902835733304334338170708317828502937892336027914508973674753950956637353845859656643328764306872095924468747119473463895069845507022285276765604764781268825150034469543767090737391499837036722084629594743095349846722569426959715285720825620864586069559501658033686421409992962971697794796801656849857502979116128935607599234589392923997022148667602214229147064269087011639215412246769757943457476904896849311402870704289374443878843932640434217636051121377752981367783724076338262704244886152808212873873051286021027453619938356957302207329462165346568446778630464790979685648418768481884660212078974982388515698986256224509799892952851895207673490152223054265066179277875800687090116406107178487333414498090797476008075111393253039003614903112915461187331586472253737624930143363444780391650005873302606424090151171361719786130625323841789444940603180363166365897188513374816076002756366842354308923132229248596213314661696116483664918595020807289720329091881080834004684022822832479564179605802772914622295679064197236549797403409305600269647859839082867051631437116023183558316377891462188382824155322086600957678659998571647313215911725388449740286635220298304112020621326377993970296579950273454141600736285781954953258364590148827778278805398635580311761448269245481761258373618606025147375899962936214497428075507155512584764509988881340923129043980528311471163284425234993868520336289252915374550593946030956834341365517779197542671025787791983652585963966380081499200866809703704734856511914736774929952957798571123 47146015798649558318624129656018118455106869082394813924340677768457688661889940057220015009774340671211753851121251033148240143687782826446269323311589443366022801275968132750801195436852045401342681888442722861964429275814010201969132771487567070134341959014933187288981345340171247160572922229230476300666866450513628308595395721017288630164828149065095536998334994779916029911964115147952919578779052599849152757187862502623710930180894386835332243996072131074987405710640812406069308967262257862707531326910926233311174378795983593662503199174741641472988909441088438706907468153977536673759170526334174620235509699686641860434365716562699468659137558320585583321558171301609505061313238893239797172526697017163678296873478577168987217543227899230638615724482547688218743176649967725272729042428898858588005004676233900675323297809200496697450042915139928849542143025768332144737206477843157540098144566639277266437725218284875356758283984000688380283362495207634650331616490531252536922270103905838125419535725095590748924793299950276886976581312711116729923069152876774554433506743770005658586277766871833414632746921326236940100267746716354407303998915153021060044356542277280400623543758465563431856251522848524897670181296050863855093098892381439543085782400157534513065080524849196504062010334651224735729189595269977982743937308611336497451600449020543721164301021049914322840720244316202043042407384415027891235444898961830023294221048031093394140575176598883335780265174498325518848551413455139544058925179735644284077378667977499031959908394343766517385444878203398866223032047362467251095203789661606466918246530517141893729167212379762818776908229868471528373166853078447300230236159201492832960493795519648965037203811614909399700880923930341540050396430943188936804891581227839167108832976494748908120424021913707199335298933247108964084487775268389267406366977030029066005242347527590197707997640428610399137527359145823303788615356415575850300020297341060215334676635946690842561611917341346681265237029449069520977379021937296287717443139994417666645098347615049522997213653456776404648499677139240163851466520069772565969705530861713090674459039311589291451381538675020433216011517701400108333624459094661970589098152131266555709942292598643980111762475936435843769068407233065870173940669654747807597317312558930814452070575952420173920053159615968638062111073428368977928074783417753952581523850033010788641181842373096696194465223494921203687995511331911577987131507961392177007516588233516808779995400892301288970519677453475627992324322273986038490225368586983335059784021037711129279245063586610592618741149528011741367110483780053692451607603976646081124515624515162252025842948608433607432556565495912442797068677179622244417506735856624933248056275910939225646956319865731479701861090554185665827849914906219738934241545489021692973530249935139161334301438867223703954131237967702676597858689671758540028123356581350517020529578607559277254321021979761586659366208498571927097260001857074427437890028002791048950103003526348009435230550875019297039941281810039591615578649741048866461645310586499617688230063364420248003692980440510202160494804835262457596626275353428793002028473299813590952186755431262735383178421170042815512240909835116809266389696611906759668021751979784644897121676709083073721538348842834565050365125715277709213846924577137626200804484930320463259614044075816437127295428034346338214168170400330536947022348474405523599 76283855996354504221501338446165916768240823111588011767778557605064118398911214858765000921918575587321895658226422645378559864702171955883937950059481239977595930682542171992336961820021812012247674274158543114673863554143609006973221461169216230214971907846557891609408331492422014384811959202425030927811985329631230297583404109739375706134028422545827858607272089330116125359954747263789296605964378159801058450112687680867746581177390688882054194250124046427031471034281306199081135257521538035758809769703009030331428807309265786707315754405850835767964653658144299122142248995739700160320256622121297799527946798637241279071615426844579133712796150935314715414501269601911858257723091755664566293827509252750483654355396569872163619217666354553483518748556539951478935771087807756315867495417280731015987797769537962387331379333938833259395681114871877401749154068352921267314056860342916918609751350816954889864403779887150761887081334290801108218170020819022563851822770396113752593667126857923927789600840420261596787819387193725521166089113525288004492648434515804552512576047985579319740900602322839409516962842925540831651911624610412870167225815663417032486455243712811063576667119151628660328338560579878103821038323386826792773438622479641667018652262296059736127956624615860450411824203978604660217316988324035666328418613665043731671706951162444080388436842680229942152046703230306343148898647783926976407423675539643810573976691745875726339951627143530090876878195080378951369908400790470287923470344649880658756586912883656057095492257927232537038431557547298937631658536498211384612537985437851998372933290751622288584645486143068143094937168592294259624667934227373726252554346968798238925492823232008146513932847228593344099195598619484636760256375248077112375765512298262996591760230160755117063745914763694202108617926876906133334050722126138298548164606133184293654033445371562663186198795203226589063586744473128058575620179318411583604354635511768533163179573839026870476120891016100632221874383294929177620707786244168383641911887113891130540168193122071808273979258221557673473649711608783930942203911569609602691790160456456186024305761881016251166667259500641297802081077203058142020045869087624942286892948932923405567445271714772915719361710525828767766090555900668084403087733923834819236532724805700572395528052857317023231456030320258012505989917361009412145710834539131705562891633757087126903886087259249504407339096546207224715449131270268535289338837423557523575963366863981599759681049311069770855179889532450610380840021260242263000025261539835230267457511189934183544311242864486393305831265934118919854443898278144489927615679088039334163519239418275167487030280194905861170181495639275887577460327185495547023930826007796294967842406536263067436401260468911842868226987742699040643925917662586581288550468621250941569743564596835277817966357462244511243851567059583757431863373694581372507687536187153289935151874286623474490870819383170892259635856358411009964311633294190450621448344380682511138485827681670096036188229535017868687254497721764980065318936376269164765757331207825995682200359944370521457834581176795984115448063199852606424404554158827428582340234748082836433948013804881341408325797070005751726738337910623964778974461121895641008944881023765173208592839993508308715406869179123817965739676309223740170681265942655405398347155956108255243266630039782817208794628901156041918903026912245273721952301432204094722 123429871795004062540125468102184035223347692193982825692119235373521807060801154915985015931692916258533649509347673678526800008389954782330207273371070683343618731958510304743138157256873857413590356162601265976638292829957619208942354232656783300349313866861491078898389676832593261545384881431655507228478851780144858606178799830756664336298856571610923395605607084110032155271918862411742216184743430759650211207300550183491457511358285075717386438246196177502018876744922118605150444224783795898466341096613935263642603186105249380369818953580592477240953563099232737829049717149717236834079427148455472419763456498323883139505981143407278602371933709255900298736059440903521363319036330648904363466354206269914161951228875147041150836760894253784122134473039087639697678947737775481588596537846179589603992802445771863062654677143139329956845724030011806251291297094121253412051263338186074458707895917456232156302128998172026118645365318291489488501532516026657214183439260927366289515937230763762053209136565515852345712612687144002408142670426236404734415717587392579106946082791755584978327178369194672824149709764251777771752179371326767277471224730816438092530811785990091464200210877617192092184590083428403001491219619437690647866537514861081210104434662453594249193037149465056954473834538629829395946506583594013649072355922276380229123307400182987801552737863730144264992766947546508386191306032198954867642868574501473833868197739776969120480526803742413426657143369578704470218459814245609831982395524385524942833965580861155089055400652270999054423876435750697803854690583860678635707741775099458465291179821268764182313812698522830961871845398460765787997834787305821026482790506170291071885986618751657111551136658843502743800076522549826176810652806191266049180657093526102163700593206655504025184169936677401401443916860124015097418538497394527565954531583163213359659275792899152860894196435631836988201114103618951362364235535733987433904374932852828748497856209785717713037732808357447313487111412743998698598086808181464671359355027108308797185266540737121331271192911678334078122149388748024094793670431639382168661495691318169276698764801192605542618048798175661731018092594904458250353670328182286912875991101064189961277387564313416895831124186462264611535158963133733954577028403578582626833850037364631386847598628809737197151509189936226650568100990789378390073785617956885658144415483790097915545067929632346200601804320041128428403444642602180113276470345384949700583479955097498408539676450203371059825699566985926238373164343534228301490250630126818565327241532227645312823556306451096985924572415462130661221554382058198182379223283064685415288034863933437419512873228803339468602738061135188330374529004365117791441437561864421228215898682447202293083357580334643322570088078296884706471775832568806320222792014110272634543273814531974439152267796329468215197982805027286434029722063366339912535810892768503806955681452894182751745191841362932478919002064856982937061571635151264878059338372383473560088588831208018105471418780410037165727195779531804571680897586117318031227402641794325613370430423308790769461527561617306186275942868035115064021030829512256221584368708047896427386134769236144076791504218240048567238979247745740774045364157733802400676966633003549818105714516702591382436945218021958383016104802024501449384528190519793031599151640886428718502880674115599254336090056935502380133071197312575810668974649906609618321 199713727791358566761626806548349951991588515305570837459897792978585925459712369774750016853611491845855545167574096323905359873092126738214145223430551923321214662641052476735475119076895669425838030436759809091312156384101228215915575693825999530564285774708048970507798008325015275930196840634080538156290837109776088903762203940496040042432884994156751254212879173440148280631873609675531512790707808919451269657413237864359204092535675764599440632496320223929050347779203424804231579482305333934225150866316944293974031993414515167077134707986443313008918216757377036951191966145456936994399683770576770219291403296961124418577596570251857736084729860191215014150560710505433221576759422404568929760181715522664645605584271716913314455978560608337605653221595627591176614718825583237904464033263460320619980600215309825449986056477078163216241405144883683653040451162474174679365320198528991377317647268273187046166532778059176880532446652582290596719702536845679778035262031323480042109604357621685980998737405936113942500432074337727929308759539761692738908366021908383659458658839741164298068078971517512233666672607177318603404090995937180147638450546479855125017267029702902527776877996768820752512928644008281105312257942824517440639976137340722877123086924749653985320993774080917404885658742608434056163823571918049315400774535941423960795014351345431881941174706410374207144813650776814729340204679982881844050292250041117644442174431522844846820478430885943517534021564659083421588368215036080119905865869035405601590552493744811146150892910198231591462307993297996741486349120358890020320279760537310463664113112020386470898458184665899104966782567053060047622502721533194752735344853139089310811479441983665258065069506072096087899272121169310813570909181439343161556422605824365160292353436816259142247915851441095603552534787000921230752589219520665864502696189296397653313309238270715524080395230835063577264700848092079420939855715052399017508729568364597281661035783624744583513853699373547945708985796038927876218794594425633055001266914222199927725434733859193139545172169899891751595799100356808025735874343208991771353285851774625462723070563073621793784716057676303028820173672107516392373716197269911855162884049997113366844832836028189811550485896988093379301249519034402038980116137502417446070382762170331959243126681667054220382965220256484663074090908150387802219496452496017363707307117547185042448954016891595705009143416587335653118893773872448648565809182808507224159443321961480008299357499514440830680879456518376848754004364794470564490275891666653795594699043417579496367867549315583379230403681396249581075998280336342672306838962152724749451554103351712586999903508998245329772919556774464217951989331550613338465368387872217523183741088983465360519758840803555165438315066039583747115701750231392901511342482731523576113017379128809716970234153791712726441834372086870191461585437060921285043498428955657096890833327180806226236062660746103371178637921215393947025883268445455328680786716764156071227074658889688201507607009945055034414450277253569551746216522493587195993159973002151609052630783253161290919362142794102170391390931234967670445435383671083650166708942795979263820082783041025418199830015310054318965717585656364738824338618855698041685911514027314991314307356696099691152352087201082200981844478333725189555209456462448436997498796842536973746147304155382071544884685836658422051974224224821084390926951338813713043 323143599586362629301752274650533987214936207499553663152017028352107732520513524690735032785304408104389194676921770002432159881482081520544352496801622606664833394599562781478613276333769526839428386599361075067950449214058847424857929926482782830913599641569540049406187685157608537475581722065736045384769688889920947509941003771252704378731741565767674649818486257550180435903792472087273728975451239679101480864713788047850661603893960840316827070742516401431069224524125543409382023707089129832691491962930879557616635179519764547446953661567035790249871779856609774780241683295174173828479110919032242639054859795285007558083577713659136338456663569447115312886620151408954584895795753053473293226535921792578807556813146863954465292739454862121727787694634715230874293666563358719493060571109639910223973402661081688512640733620217493173087129174895489904331748256595428091416583536715065836025543185729419202468661776231202999177811970873780085221235052872336992218701292250846331625541588385448034207873971451966288213044761481730337451429965998097473324083609300962766404741631496749276395257340712185057816382371429096375156270367263947425109675277296293217548078815692993991977088874386012844697518727436684106803477562262208088506513652201804087227521587203248234514030923545974359359493281238263452110330155512062964473130458217804189918321751528419683493912570140518472137580598323323115531510712181836711693160824542591478310372171299813967301005234628356944191164934237787891806828029281689951888261393420930544424518074605966235206293562469230645886184429048694545341039704219568656028021535636768928955292933289150653212270883188730066838627965513825835620337508839015779218135359309380382697466060735322369616206164915598831699348643719136990381561987630609210737079699350467323992946643471763167432085788118497004996451647124936328171127716915193430457227772459611012972585031169868384974591666466900565465814951711030783304091250786386451413104501217426030158891993410462296551586507730995259196097208782926574816881402607097726360621941330508724910701274596314470816365081578225829717948489104832120529544774848373940014781543092794739421835364266227336402764855851964759838266267011974642727386525452198768038875151061303328122220400341606707381610083450357990836408482168135993557144541081000072904232799534963346090725310476791417534474410192711313642191898939766192293282070452903021851722601337282957994021946523941905610947736628464081522338416474628761842279528193456924742923277058978416839033949717811890506579023504303087127168708328698865980526521793472360921940575645224809191423855766680365154976096858380242297552662394540854686062245217410164739588967285150006512776737801584798375657617909652548326518335915731129906805949736638751399639771430667653603116421138198488008403144336468453587477582800199221734134496841796210656291193660784156122501950121180941639817177114156625491307500427261197579309321724160903846514780074988977981254502109035850097639986072376884087454903596720206740125089147629631315663490097706306979025790355092200141646056785374123427114108610905227220562614796477222423061206561952060380889704411408356667333799270082734466466213183339871751077650843875691206217552277169494991334233550102886204696833402105512869702776589500442362878147030864809420021873398691073589297305223040583997949280358226638939737646982241468596650437728965692249027978270981325880974742772160802185045421537396895059901601245423331364 522857327377721196063379081198883939206524722805124500611914821330693657980225894465485049638915899950244739844495866326337519754574208258758497720232174529986048057240615258214088395410665196265266417036120884159262605598160075640773505620308782361477885416277589019913985693482623813405778562699816583541060525999697036413703207711748744421164626559924425904031365430990328716535666081762805241766159048598552750522127025912209865696429636604916267703238836625360119572303328968213613603189394463766916642829247823851590667172934279714524088369553479103258789996613986811731433649440631110822878794689609012858346263092246131976661174283910994074541393429638330327037180861914387806472555175458042222986717637315243453162397418580867779748718015470459333440916230342822050908385388941957397524604373100230843954002876391513962626790097295656389328534319779173557372199419069602770781903735244057213343190454002606248635194554290379879710258623456070681940937589718016770253963323574326373735145946007134015206611377388080230713476835819458266760189505759790212232449631209346425863400471237913574463336312229697291483054978606414978560361363201127572748125823776148342565345845395896519753966871154833597210447371444965212115735505086725529146489789542526964350608511952902219835024697626891764245152023846697508274153727430112279873904994159228150713336102873851565435087276550892679282394249100137844871715392164718555743453074583709122752546602822658814121483665514300461725186498896871313395196244317770071794127262456336146015070568350777381357186472667462237348492422346691286827388824578458676348301296174079392619406045309537124110729067854629171805410532566885883242840230372210531953480212448469693508945502718987627681275670987694919598620764888447803952471169069952372293502305174832484285300080288022309680001639559592608548986434125857558923716936435859294959923961756008666285894269440583909054986897301964142730515799803110204243946965838785468921834069582023311819927777035206880065440207104543204905083004821854451035675997032730781361888855552708652636136008455507610361537251478117581313747589461640146265419118057365711368067394867420202144905927339849130187480913528267788658439939119491035101102722722110623201759201058416694967053236369796518932095980438451370137658001202538032537260678583417518974615561705295305333851992143845637917439630449195976716282807090153994512778522948920385559029718884468000442975963415537610620091153215799734641232190347077410408088711001964148902366599020458425138391449232252721187458480022679935881173073123169430470802413460126156516639619062804305559291405082263744385379778254629823373550942730883526992901207370134914191143070636862593512680246799830128148577174684116766278507667466344468372174337608856274583380860414133014122875261941753653446718210376052200703179333031592123245476979573319786769308572789593873092736103912893668081651549201026816952892937488182482622807750679818000737348107255795204217317162855139221276277907287770831113338172042175535420911805911785702542738148987394508486632800300147234556096334038943675173330631104492423213722587798628831475691989815113351300251847205510527058724730505050404911901596854423521917786593639854955026300335318194913191164248860157205170414419058470251694041395445198484048789661058179800734329230094790764741649392424122784979793758691951828494947103444689905594149234571502665995175282426363397425859428608819224237019645762217979450828552584237044407 846000926964083825365131355849417926421460930304678163763931849682801390500739419156220082424220308054633934521417636328769679636056289779302850217033797136650881451840178039692701671744434723104694803635481959227213054812218923065631435546791565192391485057847129069320173378640232350881360284765552628925830214889617983923644211483001448799896368125692100553849851688540509152439458553850078970741610288277654231386840813960060527300323597445233094773981353026791188796827454511622995626896483593599608134792178703409207302352454044261971042031120514893508661776470596586511675332735805284651357905608641255497401122887531139534744751997570130412998056999085445639923801013323342391368350928511515516213253559107822260719210565444822245041457470332581061228610865058052925202051952300676890585175482740141067927405537473202475267523717513149562415663494674663461703947675665030862198487271959123049368733639732025451103856330521582878888070594329850767162172642590353762472664615825172705360687534392582049414485348840046518926521597301188604211619471757887685556533240510309192268142102734662850858593652941882349299437350035511353716631730465074997857801101072441560113424661088890511731055745540846441907966098881649318919213067348933617653003441744331051578130099156150454349055621172866123604645305084960960384483882942175244347035452377032340631657854402271248928999846691411151419974847423460960403226104346555267436613899126300601062918774122472781422488900142657405916351433134659205202024273599460023682388655877266690439588642956743616563480035136692883234676851395385832168428528798027332376322831810848321574698978598687777322999951043359238644038498080711718863177739211226311171615571757850076206411563454309997297481835903293751297969408607584794334033156700561583030582004525299808278246723759785477112087427678089613545438081250793887094844653351052725417151734215619679258479300610452294029578563768864708196330751514140987548038216625171920334938570799449341978819770445669176617026714835538464101180213604781025852557399639828507722510796883217377546837283051822081177902333056343411031696078566472266794963892905739651382848937960214941566741291606076466590245769380232548496706206131465677828489248174309391240634352119720023089273636711403226313706063888809360974066483370674026094405219664417591878848361240258651424577302620637055451914040641907290358474706029920186806060593401823407410752320221750958436997909939479516231038889844263816163570606821706172250368239195421073645289876079436841977425398950064611694037503526983023008341781451868296451328935253598517438580194708029114750715260848944109540355875113010065671103605125424381678963452587545078930732037922012600025456984601414926524234792593769314605026003382075598278980287345495025983020631844800667725991683079952141455121354712520654290656915831791344979611476415115997425599766450378029215238054034074609721468726315183442444200437915443680202117072403978904583862887330784182198571664964175071373917893360147715200793075638895742161036895059415333858401639085100815465658590655239434697742390824317798600444739715397650434285202595106053898753196377065411681141551616918883726058529775133139378367810037763393668864244483730646232517887595364408182498482410260091375111252460575764563744172034698926411667808089044610154351103493481838330946697647163368977743039050178467434684750426931374190799672300468358244203260697344723306834171380980026422065067299614874510730153829660375771 1368858254341805021428510437048301865627985653109802664375846671013495048480965313621705132063136208004878674365913502655107199390630498038061347937265971666636929509080793297906790067155099919369961220671602843386475660410378998706404941167100347553869370474124718089234159072122856164287138847465369212466890740889315020337347419194750193221060994685616526457881217119530837868975124635612884212507769336876206981908967839872270392996753234050149362477220189652151308369130783479836609230085878057366524777621426527260797969525388323976495130400673993996767451773084583398243108982176436395474236700298250268355747385979777271511405926281481124487539450428723775966960981875237730197840906103969557739199971196423065713881607984025690024790175485803040394669527095400874976110437341242634288109779855840371911881408413864716437894313814808805951744197814453837019076147094734633632980391007203180262711924093734631699739050884811962758598329217785921449103110232308370532726627939399499079095833480399716064621096726228126749639998433120646870971808977517677897788982871719655618131542573972576425321929965171579640782492328641926332276993093666202570605926924848589902678770506484787031485022616695680039118413470326614531034948572435659146799493231286858015928738611109052674184080318799757887849797328931658468658637610372287524220940446536260491344993957276122814364087123242303830702369096523598805274941496511273823180066973710009723815465376945131595543972565656957867641537932031530518597220517917230095476515918333602836454659211307520997920666507804155120583169273742077118995817353376486008724624127984927714194105023908224901433729018897988410449449030647597602106017969583436843125095784206319769715357066173297624978757506890988670896590173496032598286504325770513955324084309700132292563546804047807786792089067237682222094424515376651446018561589786912020377075695971628345544373570051036203084565461070828850926846551317251191791985182463957389256772640381472653798747547480876056682466921940081669006263218426635476888233396672559289084399652435926030182973291507329691539439584534460992345443668028112413060383010963105362750916332827635143711647218945925596777726682908500337155146145250956712929591970896420014442393553178136718056326873081199745245802044327260731111724484573212058631665898247835110853463922945553956758429294764482693369353671091103267074757513120074181318839116350743792969782039106218958879973873355017126851130043060063550804802797168783582658456950197385222547656475099895267115816848182317332881495983549662958889514854575037726922131348713724673955219813770833420310006665931207853925735653367639889044654547856307908671864659957679993121875108558875193538137231401245054672811967277886080883533670848420066651154624954351300566401492258933681848866945021705794901839565088572854993836248863383468225088455988435784194908339239971902307974157946968277803120275516210259397093375403626162824924823083796905321210994586579386415888827819314292650195800647918546314131247681071277581948700971201036401139788072495323952291390955386669253838724863261473773775370819890073648007790393734885374445186192178762981393398822429410784783260280183544290269406892186915586650838123585601258818222913559321373662731270417296545525671519046016257785567479897410460457469147224410888680333588272603072596090071286153957536797742130295929631853871621279784948906871971024239378543123708120732693599989799250659084713061832853961558706413897420178 2214859181305888846793641792897719792049446583414480828139778520696296438981704732777925214487356516059512608887331138983876879026686787817364198154299768803287810960920971337599491738899534642474656024307084802613688715222597921772036376713891912746260855531971847158554332450763088515168499132230921841392720955778933004260991630677751642020957362811308627011731068808071347021414583189462963183249379625153861213295808653832330920297076831495382457251201542678942497165958237991459604856982361650966132912413605230670005271877842368238466172431794508890276113549555179984754784314912241680125594605906891523853148508867308411046150678279051254900537507427809221606884782888561072589209257032481073255413224755530887974600818549470512269831632956135621455898137960458927901312489293543311178694955338580512979808813951337918913161837532321955514159861309128500480780094770399664495178878279162303312080657733466657150842907215333545637486399812115772216265282874898724295199292555224671784456521014792298114035582075068173268566520030421835475183428449275565583345516112229964810399684676707239276180523618113461990081929678677437685993624824131277568463728025921031462792195167573677543216078362236526481026379569208263849954161639784592764452496673031189067506868710265203128533135939972624011454442634016619429043121493314462768567975898913292831976651811678394063293086969933714982122343943947059765678167600857829090616680872836310324878384151067604376966461465799615273557889365166189723799244791516690119158904574210869526894247854264264614484146542940848003817846125137462951164245882174513341100946959795776035768804002506912678756728969941347649093487528728309320969195708794663154296711355964169845921768629627607622276239342794282422194559582103617392620537482471075538354666314225432100841793527807593263904176494915771835639862596627445333113406243137964745794227430187248024802852870661488497114144024839693559123177302831392179340023399089129309591711211180921995777567317926545233299493636775620133107443432031416502740790796312387796806910449319143407729810574559151772717341917590804403377139746594584679855346903868845014133765270787850085278388510552002063367972452288732885651852351382422390758081219070729405683027905297856741145600509792602971559508108216070092085790967943886084726071117912252702732312284185812608183006597385119748821267711733010557433232219149994368124899709752567200380534359327969917316971783294496643082168932904327366968373403990489754908825189392806296192946351179332109093242247132381944575533487076645981897856636026906023373460283967323191393800008478862535060721926780151963466091528480649954715758152981732290350828112545225072052607146480887793563594216002659981197046759871655395488559674230495664930134912299846326549422124103734349574858628101657936356960919801093509284493164695174813204699932403551781620508105690349931523212211981042887524589001831393701841293813319069843027041895487775809905073881917363568614460492783489364024113694008066261514924323319967019742985596030616370259541427157596139417949981610626103951581115687579272374220110535287724082292992988840939273198382569244174662534950439348294510841790055316683668637216929950309255515082607316247491336110508923729556161213680677387920636923979621780821529739514596336872125277236269021043031437081754441403542787718449522935279836792308763364316604298552653975748579172439382483581803821052844039527771370779277081149780361447728472288860243557795949 3583717435647693868222152229946021657677432236524283492515625191709791487462670046399630346550492724064391283253244641638984078417317285855425546091565740469924740470001764635506281806054634561844617244978687646000164375632976920478441317880992260300130226006096565247788491522885944679455637979696291053859611696668248024598339049872501835242018357496925153469612285927602184890389707825075847395757148962030068195204776493704601313293830065545531819728421732331093805535089021471296214087068239708332657690035031757930803241403230692214961302832468502887043565322639763382997893297088678075599831306205141792208895894847085682557556604560532379388076957856532997573845764763798802787050163136450630994613195951953953688482426533496202294621808441938661850567665055859802877422926634785945466804735194420884891690222365202635351056151347130761465904059123582337499856241865134298128159269286365483574792581827201288850581958100145508396084729029901693665368393107207094827925920494624170863552354495192014178656678801296300018206518463542482346155237426793243481134498983949620428531227250679815701502453583285041630864422007319364018270617917797480139069654950769621365470965674058464574701100978932206520144793039534878380989110212220251911251989904318047083435607321374255802717216258772381899304239962948277897701759103686750292788916345449553323321645768954516877657174093176018812824713040470658570953109097369102913796747846546320048693849528012735972510434031456573141199427297197720242396465309433920214635420492544472363348907065571785612404813050745003124401015398879540070160063235550999349825571087780703749962909026415137580190457988839336059542936559375906923075213678378099997421807140170489615637125695800905247254996849685271093091149755599649990907041808241589493678750623925564393405340331855401050696265562153454057734287112004096779131967832924876766171303126158876370347226440712524700198709485910522410050023854148643371132008581553086698848483851562394649576314865407421289981960558715701802113706650458051979629024192984947085891310101755069437912783866066481464256781502125265395722583414622697092915729914831950376884681603615485228990035729497927660145699135197233222806998496633379103687673189967149420125421458475993459201927382873802716805310152543330823197515452517098143357737016160087813585776207131366564941435892149602442190621382824113824507989732270068549443738826103310993350316398434188876196945656649513769933298975964390917773176201159273337567282139590191518740602826279227376209059095314699277457029470626308940787371490601943750295591632681047865349019822249695955370728592711359817391827181848289843760412700838040199022692772502905065174482255039762987101731447403905035869858727149541476372093345078915731581289537254197627115823616362668031423725573123363731258800484889666364278329413558558281429788388391987565815416444930321833831186369928011165327709277347603961238387188722696005851966718571572715226284876503942955030349320602803656674309494655984807829055571001038297324934297001817406660681215230091463370241372566012773205419840550840746147995481355177797730300783382575824647643568761422937643928349261777705295625050335500227958906623822137224842165920730901848750154333422483050929823944951094684466162595498667797079315306994493747332582746383493431931711770670027044476138877789735676892816634534439059293948458170173933760697486044410406722960346944760964772221371360578527740234493423280582433847566657455216127 5798576616953582715015794022843741449726878819938764320655403712406087926444374779177555561037849240123903892140575780622860957444004073672789744245865509273212551430922735973105773544954169204319273269285772448613853090855574842250477694594884173046391081538068412406342823973649033194624137111927212895252332652447181028859330680550253477262975720308233780481343354735673531911804291014538810579006528587183929408500585147536932233590906897040914276979623275010036302701047259462755818944050601359298790602448636988600808513281073060453427475264263011777319678872194943367752677612000919755725425912112033316062044403714394093603707282839583634288614465284342219180730547652359875376259420168931704250026420707484841663083245082966714564453441398074283306465803016318730778735415928329256645499690533001397871499036316540554264217988879452716980063920432710837980636336635533962623338147565527786886873239560667946001424865315479054033571128842017465881633675982105819123125213049848842648008875509984312292692260876364473286773038493964317821338665876068809064480015096179585238930911927387054977682977201398503620946351685996801704264242741928757707533382976690652828263160841632142117917179341168733001171172608743142230943271852004844675704486577349236150942476031639458931250352198745005910758682596964897326744880597001213061356892244362846155298297580632910940950261063109733794947056984417718336631276698226932004413428719382630373572233679080340349476895497256188414757316662363909966195710100950610333794325066755341890243154919836050226888959593685851128218861524017003021324309117725512690926518047576479785731713028922050258947186958780683708636424088104216244044409387172763151718518496134659461558894325428512869531236192479553515285709337703267383527579290712665032033416938150996494247133859662994314600442057069225893374149708631542112245374076062841511965530556346124395150079311374013197312853510750215969173201156980035550472031980642216008440195062743316645353882183333966523281454195491321935221150082489468482369814989297334882698220551074212845642594440625633236974123419716069799099723161217281772771076818700795391018446874403335314268424240049929723513671587485966108458850848015801494445754409037878825808449363773850200347527892666405688364818260759400915283306420460984228083808134072340516318088491317179173124442489534722191011889094557124381941221951420062917568638535855878193730850757762158793513917439944010413015467908868718284741549605149763092476107328982997814933549177458559485302301342447081222032562957702954922685228126628849773669051916648371056742819830728558490431450519491511780857918710328939798476170853819772489373520885048130137227089401520650780665325663406565017066905487021196871860653019309411396511424449554043953665245740466402380998584201225021667615761404690759873562822578253733094634488320795539347435924550620671765354398581909054052852298279178997663079681002041765848879008614059348525131358758421306523644809813386293020698423188664051069343979894321005317067919893032433776920222642387687602788191354176638877157000956238420018522215591890465521812593776371416763920841951330667112306463299701125999806466840390816911627543840752087534097681003338218096241490443931406780485985158631772072386799519478289577900845046509090084204708023619762452974743207751781485879681665508185199828096471326747822658265062468726587736446065216849789206542150765813808811749142731357804821384273784728310906136426901013012076 9382294052601276583237946252789763107404311056463047813171028904115879413907044825577185907588341964188295175393820422261845035861321359528215290337431249743137291900924500608612055351008803766163890514264460094614017466488551762728919012475876433346521307544164977654131315496534977874079775091623503949111944349115429053457669730422755312504994077805158933950955640663275716802193998839614657974763677549213997603705361641241533546884736962586446096708045007341130108236136280934052033031118841067631448292483668746531611754684303752668388778096731514664363244194834706750750570909089597831325257218317175108270940298561479776161263887400116013676691423140875216754576312416158678163309583305382335244639616659438795351565671616462916859075249840012945157033468072178533656158342563115202112304425727422282763189258681743189615274140226583478445967979556293175480492578500668260751497416851893270461665821387869234852006823415624562429655857871919159547002069089312913951051133544473013511561230005176326471348939677660773304979556957506800167493903302862052545614514080129205667462139178066870679185430784683545251810773693316165722534860659726237846603037927460274193734126515690606692618280320100939521315965648278020611932382064225096586956476481667283234378083353013714733967568457517387810062922559913175224446639700687963354145808589812399478619943349587427818607435156285752607771770024888376907584385795596034918210176565928950422266083207093076321987329528712761555956743959561630208592175410384530548429745559299814253592061985407835839293772644430854252619876922896543091484372353276512040752089135357183535694622055337187839137644947620019768179360647480123167119623065550863149140325636305149077196020021229418116786233042164824608376859093302917374434621098954254525712167562076560887652474191518395365296707619222679951108436820635638891377341908987718278136833682505000765497305752086537897511562996660738379223225011128678921604040562195302707288678914305711294930197048741387813263414754207023737334856732947520461998839182282281968589530652829282283555378306692114701230904921841335194822306575839978865686806733532745767903128478018820543258459969547857383659370722683199331265849344649180598133427599005028245933870822249843659549455275540208405170128413302731738480821872978082371441545150232428329903864698448545738065878381684324633202510477381238206449211683690131467012377361959189187081167156196347669710863096593524182948766884833109202514725806309036430043389468573189333674152003737786861511360437761780499489592428329263863472599617230793523964643549329418922091839652978254445802179112202871598249745892177229642236583554657812688396213657551035202401571656560413767767057110810470052936764214170738348232746364388327128092713986808241580781069356829070412422309774348385398874561889580426237841151991812291376064276709187526913251340995550993599185584951837065218180007556526601624318068190764461854730975332630921240357643634925249478675159133989096677372732683320035877173035465322043614392854190034251183580903857617779066158432726742651650362420796789260764670211073245643319542894559753992588568485520092090049950391648962903705102091890726317139586450464574224758939846924069119944991644777353889831415809103582866756852962114976957374980160353503583831537290770003255884906454978421808530355820543297920876720913105861186881952213520638900521497143551261260195929502497710574773583970514091936332561618767208008893339983993558468228203 15180870669554859298253740275633504557131189876401812133826432616521967340351419604754741468626191204312199067534396202884705993305325433201005034583296759016349843331847236581717828895962972970483163783550232543227870557344126604979396707070760606392912389082233390060474139470184011068703912203550716844364277001562610082317000410973008789767969798113392714432298995398949248713998289854153468553770206136397927012205946788778465780475643859627360373687668282351166410937183540396807851975169442426930238894932305735132420267965376813121816253360994526441682923067029650118503248521090517587050683130429208424332984702275873869764971170239699647965305888425217435935306860068518553539569003474314039494666037366923637014648916699429631423528691238087228463499271088497264434893758491444458757804116260423680634688294998283743879492129106036195426031899989004013461128915136202223374835564417421057348539060948537180853431688731103616463226986713936625428635745071418733074176346594321856159570105515160638764041200554025246591752595451471117988832569178930861610094529176308790906393051105453925656868407986082048872757125379312967426799103401654995554136420904150927021997287357322748810535459661269672522487138257021162842875653916229941262660963059016519385320559384653173665217920656262393720821605156878072551191520297689176415502700834175245633918240930220338759557696219395486402718827009306095244215662493822966922623605285311580795838316886173416671464225025968949970714060621925540174787885511335140882224070626055156143835216905243886066182732238116705380838738446913546112808681471002024731678607182933663321426335084259238098084831906400703476815784735584339411164032452723626300858844132439808538754914346657930986317469234644378123662568431006184757962200389666919557745584500227557381899608051181389679897149676291905844482586529267181003622715985050559790102364238851125160647385063460551094824416507410954348396426168108714472076072542837518715728873977049027940284079232075354336544868949698345672556006815436988944368654171579616851287751203903495129197972747317747938205028341557404993922029737057260638457883552233541158921575352422155857526884209597787107173042310169165439724700192664982092579182008042907071742320186023693859896983168206614093534946674062132653764128293439066599525353284304768846221953189765724911190320871219046824214399571938362588390433635110194384581015897815067380812017913958506463224780536537534595964234793701827487256275411458799522519496797556187148607701181196346346813661780208861721522155386032218786157827743859643297633695465977789978834659483706812936233629631694383379107664602506169440712754408477585177769734542599165339628661058081064548432382774217035070003669701191935220093399383697738524604138436362285534446315097295472793420893975573407066490323294271186111403974570066024470698765029983066260687265546171665364539983533746119271032305835705599287397749192806227703609983946690269765489002393346556002319968947375389698071155871984086946517015359643048931460774083066684960501126500005466668946624080919290527519421753027680783192426665136108841355488336125409352489327471422757162256854948664029704908558731117134051213994305326312293037527927407338041233135221285296611901794262214638829239761634455246952881005400012673915741998793623018337881198186173590016235502208806106076549009577187934704610478583107627109233589616478109985136044648476388582395719656823294137383003040992737204246120420459481240279 24563164722156135881491686528423267664535500932864859946997461520637846754258464430331927376214533168500494242928216625146551029166646792729220324920728008759487135232771737190329884246971776736647054297814692637841888023832678367708315719546637039739433696626398367714605454966718988942783687295174220793476221350678039135774670141395764102272963875918551648383254636062224965516192288693768126528533883685611924615911308430019999327360380822213806470395713289692296519173319821330859885006288283494561687187415974481664032022649680565790205031457726041106046167261864356869253819430180115418375940348746383532603925000837353645926235057639815661641997311566092652689883172484677231702878586779696374739305654026362432366214588315892548282603941078100173620532739160675798091052101054559660870108541987845963397877553680026933494766269332619673871999879545297188941621493636870484126332981269314327810204882336406415705438512146728178892882844585855784975637814160731647025227480138794869671131335520336965235390140231686019896732152408977918156326472481792914155709043256437996573855190283520796336053838770765594124567899072629133149333964061381233400739458831611201215731413873013355503153739981370612043803103905299183454808035980455037849617439540683802619698642737666888399185489113779781530884527716791247775638159998377139769648509423987645112538184279807766578165131375681239010490597034194472151800048289419001840833781851240531218104400093266492993451554554681711526670804581487170383380060921719671430653816185354970397427278890651721905476504882547559633458615369810089204293053824278536772430696318290846857120957139596425937222476854020723244995145383064462578283655518274489449999169768744957615950934367887349103103702276809202732039427524309102132396821488621174083457752062304118269552082242699785045193857295514585795591023349902819895000057894038278068239197921356125926144690815547088992335979504071692727619651179237393393680113105032821423017552891354739235214276280816742149808283703905369409890863548384509406367493353861898819877281856732777412753351054009862639435933263398740188744336312897239504144690285766286926824703830440976400785344179145644490832413032852364770990549537314162690712609607047935317676191008273537519446438443746822498705075087364864392244950166417148970966898434537197176125817888214270649256199252903371457416910049319600794839645318800325851593393259774256567893185070154854132935643633131058778913001678534936689771001217767835952562886266129376482281853184934133208325022217970642221011747814361482649630427361090436821598339015307208900926499136685067382035808743897254977357410494683399082949337963135397866165948200150200542030232714641478316199439885027505122940433915362673568326145748086065652696852423170527115227384454124543205843203749921792465364885183851612349245126561878315846763041739170593173938606541722658963725568485583184489212313392232200911715817383570689558340959279321191005846646028271805480995128081364486375443888555304122823690050824965092545853628273100936144082030357623245735105056807661942177881842549816941547862637738381752160898382895879401941057812991514847212207246597626933410010650621843451190800444769900537051977374851476457986224779998639186443317603365797505586092723749432204327861165753516257747279289563626274222787653164595398546591322752104026953269922683049121586562692103746527630730733167739370181065547146186963355979690170915230469944621808200746097586104414017949468482 39744035391710995179745426804056772221666690809266672080823894137159814094609884035086668844840724372812693310462612828031257022471972225930225359504024767775836978564618973772047713142934749707130218081364925181069758581176804972687712426617397646132346085708631757775079594436903000011487599498724937637840498352240649218091670552368772892040933674031944362815553631461174214230190578547921595082304089822009851628117255218798465107836024681841166844083381572043462930110503361727667736981457725921491926082348280216796452290615057378912021284818720567547729090328894006987757067951270633005426623479175591956936909703113227515691206227879515309607303199991310088625190032553195785242447590254010414233971691393286069380863505015322179706132632316187402084032010249173062525945859546004119627912658248269644032565848678310677374258398438655869298031779534301202402750408773072707501168545686735385158743943284943596558870200877831795356109831299792410404273559232150380099403826733116725830701441035497603999431340785711266488484747860449036145159041660723775765803572432746787480248241388974721992922246756847642997325024451942100576133067463036228954875879735762128237728701230336104313689199642640284566290242162320346297683689896684979112278402599700322005019202122320062064403409770042175251706132873669320326829680296066316185151210258162890746456425210028105337722827595076725413209424043500567396015710783241968763457387136552112013942716979439909664915779580650661497384865203412710558167946433054812312877886811410126541262495795895607971659237120664265014297353816723635317101735295280561504109303501224510178547292223855664035307308760421426721810930118648801989447687970998115750858013901184766154705848714545280089421171511453580855701995955315286890359021878288093641203336562531675651451690293881174725091006971806491640073609879170000898622773879088837858341562160207251086792075879007640087160396011482647076016077347346107865756185647870340138746426868403767175498355512892096486353152653603715082446870363821498350736147525441515671165033060636272541951323801327610577640961604956145182666366049954500142602573837999828085746279182863132258312228388743431598005455343021530210715249729979144783291791615090842389418511194297231379343421611953436592240021761426997046009078459856215570492251718841966022347771077979995560446520124122418281631309621257963383230078953910520236174409157589323948705202984113360596160424169668593374877236472236764177027276629226635475082383063685563630889554366130479555138683998179503942533903200393701435788255104950080119232034481284998879761158620391880318269438375591638356465075097189568523662092371612983043935682742749365881658893772722542864631822659244540192944103616554608788419545131783804177300990859532812649673699551420015999264097725495199531855208478122798460649101131944340317461806769153659434625872087894324328265552019329303760244619227937800199113566576376917261950943226011460771335648421618361483315097028739876073515044427288209770207066184608141477314402356167621104583156857628712404051680888581232705401264302844622331055064403517861002253871232004811293547140462937604374464101546290963114919209352960585242014439075226849345014902778883796027457915219924483055219397628012144415332485383887451280742171153528931663021288357249292560668851350768988562826824960910133029818932260237056291173170686854154739964322784217480166201591794663351938375409827738524607327624849193483301832224834477430708761 64307200113867131061237113332480039886202191742131532027821355657797660848868348465418596221055257541313187553390829453177808051638619018659445684424752776535324113797390710962377597389906526443777272379179617818911646605009483340396028146164034685871779782335030125489685049403621988954271286793899158431316719702918688353866340693764536994313897549950496011198808267523399179746382867241689721610837973507621776244028563648818464435196405504054973314479094861735759449283823183058527621987746009416053613269764254698460484313264737944702226316276446608653775257590758363857010887381450748423802563827921975489540834703950581161617441285519330971249300511557402741315073205037873016945326177033706788973277345419648501747078093331214727988736573394287575704564749409848860616997960600563780498021200236115607430443402358337610869024667771275543170031659079598391344371902409943191627501526956049712968948825621350012264308713024559974248992675885648195379911373392882027124631306871911595501832776555834569234821481017397286385216900269426954301485514142516689921512615689184784054103431672495518328976085527613237121892923524571233725467031524417462355615338567373329453460115103349459816842939624010896610093346067619529752491725877140016961895842140384124624717844859986950463588898883821956782590660590460568102467840294443455954799719682150535858994609489835871915887958970757964423700021077695039547815759072660970604291168987792643232047117072706402658367334135332373024055669784899880941548007354774483743531702996765096938689774686547329877135742003211824647755969186533724521394789119559098276539999819515357035668249363452089972529785614442149966806075501713264567731343489272605200857183669929723770656783082432629192524873788262783587741423479624389022755843366909267724661088624835793921003772536580959770284864267321077435664633229072820793622831773127115926580760081563377012936766694554729079496375515554339803635728526583501259436298752903161561763979759758506410712631793708838636161436357509084492337733912206007757103640879303414491042314917369049954704674855337473217076894868354885371410702362851739646747264123766115012570983013304108659097572567889076088837868375873894981705799267293307474004401222138777707094702202570768898789860055700259090945096848791861438254028626273364541459150153379163198473588966194266209702719377025789739048219670577564178069724272710846087767802417363580516598388054268214729096067802799652153790238150771700866798277846994471427645269329814940113171407551064612763463706216150146163545651014755184085418682466040516940830373496592207780687657757076947700305247119488893333822485591872967606611430334748380910101630942899566423689126487364021180831262544272045315884537531917282356745690879869869829997843282703339764901084005544559205107301475416991997220093661974410809894227693822656164224848508324252608564478629616983291991120504912488249456932620170001110829383959947606820291902505332651777182294449890166964310225110104362448958932982592332593897117009573234023168030629268557248665187215251958139156737696243174883283106852661563878917702141899613163152254127884213234604953454452451586671348143917896524929859974804036432814883845127386396992277630360254013682695218563669498537000993809650001425209133319655608603336907045189410300577920875566783456504515364387109418147713014159983088854943286177877735862790600682370695055951956850347267138940850315294355099998653755077272246657394229399418329248495380177243 104051235505578126240982540136536812107868882551398204108645249794957474943478232500505265065895981914125880863853442281209065074110591244589671043928777544311161092362009684734425310532841276150907490460544542999981405186186288313083740572781432332004125868043661883264764643840524988965758886292624096069157218055159337571958011246133309886354831223982440374014361898984573393976573445789611316693142063329631627872145818867616929543032430185896140158562476433779222379394326544786195358969203735337545539352112534915256936603879795323614247601095167176201504347919652370844767955332721381429229187307097567446477744407063808677308647513398846280856603711548712829940263237591068802187773767287717203207249036812934571127941598346536907694869205710474977788596759659021923142943820146567900125933858484385251463009251036648288243283066209931412468063438613899593747122311183015899128670072642785098127692768906293608823178913902391769605102507185440605784184932625032407224035133605028321332534217591332173234252821803108552873701648129875990446644555803240465687316188121931571534351673061470240321898332284460880119217947976513334301600098987453691310491218303135457691188816333685564130532139266651181176383588229939876050175415773824996074174244740084446629737046982307012527992308653864132034296793464129888429297520590509772139950929940313426605451034699863977253610786565834689836909445121195606943831469855902939367748556124344755245989834052146312323283113715983034521440534988312591499715953787829296056409589808175223479952270482442937848794979123876089662053323003257359838496524414839659780649303320739867214215541587307754007837094374863576688617005620362066557179031460270720951715197571114489925362631796977909281946045299716364443443419434939675913114865245197361365864425187367469572455462830462134495375871239127569075738243108242821692245605652215953784922322241770628099728842573562369166656771527036986879651805873929609125192484400773501700510406628162273586210987306600935122514589011112799574784604276027506107839788404744930162207347978005322496655998656665083794717856473311030554077068412806239789349837961765943098317262196167240917409800956632507686843323718895425192421048997272452257296192837229620096513213396868000278133281667653695683185118610218858484263107086129580111951401872221129220821360044174261770149239501148208020679529291835527561299803226621366323942211574952904465303591038381575325256491972468245528667474623008465043825554476221106902727652393500503744060961917195092318602390214329650106079554215148885521206937570990597060062407977877206660448816377468828018574685495080531690287560689062536130273522706361363954037313685648932305348020260086564045463085203516585508828641148471891145165236011653674007298834142236152414574783556964575204371399200912191529075302140097209270543328825766996481686655277477912043190350717511307620256672524241792009701551848107801309942950536324524082242845731344112548517942871508528447625322138844238522473977409880542364104183194181375500482432985436178353248344072880670543208418584824407588684371155506186209972766545417474165406125359889024528152093917390055961135449690208859639849069327764621674829322920354235742007180409244050041140610438488152553756398621821794416757694517207106889345508060574121073321866278124859344125355866133375672244972673924293012907787203523234168909033477454837110659378736174330513468730735513667232730509826392279684599871506587712701250554082972810886004 168358435619445257302219653469016851994071074293529736136466605452755135792346580965923861286951239455439068417244271734386873125749210263249116728353530320846485206159400395696802907922747802594684762839724160818893051791195771653479768718945467017875905650378692008754449693244146977920030173086523254500473937758078025925824351939897846880668728773932936385213170166507972573722956313031301038303980036837253404116174382516435393978228835689951113473041571295514981828678149727844722980956949744753599152621876789613717420917144533268316473917371613784855279605510410734701778842714172129853031751135019542936018579111014389838926088798918177252105904223106115571255336442628941819133099944321423992180526382232583072875019691677751635683605779104762553493161509068870783759941780747131680623955058720500858893452653394985899112307733981206955638095097693497985091494213592959090756171599598834811096641594527643621087487626926951743854095183071088801164096306017914434348666440476939916834366994147166742469074302820505839258918548399302944748130069945757155608828803811116355588455104733965758650874417812074117241110871501084568027067130511871153666106556870508787144648931437035023947375078890662077786476934297559405802667141650965013036070086880468571254454891842293962991581207537686088816887454054590456531765360884953228094750649622463962464445644189699849169498745536592654260609466198890646491647228928563909972039725112137398478036951124852714981650447851315407545496204773212472441263961142603779799941292804940320418642045168990267725930721127087914309809292189791084359891313534398758057189303140255224249883790950759843980366879989305726655423081122075331124910374949543326152572381241044213696019414879410538474470919087979148031184842914564064935870708612106629090525513812203263493459235367043094265660735506448646511402876337315642485868437425343069711503082323334005112665609268117098246153147042591326683287534400513110384628783153676663262274386387920779996923619100309773758676025368621884067122338188233513864943429284048344653249662895374372451360673512002557011794751341665915925487770775657979436097102085532058110888245209471349576507373524521583775681192094769320174126848264565759731300594059368397803607915599438769176923141723353954774130215459010719922517135712402944653410552025600292419294949010368527979851958878173997759727748962413091739369527499332212411710013992316484981901979092649790054352559775267897682457712773780165910623832323215578330372921723315443857232369468259705082066096430479796269625205229904069606625620037031114000892781474469414441136474134545775718879932614569425024110046280935503736884953041109744864138944628548498729037146747450585226294347747788630824713178680389173501910926891523543837296677424939492179475867562509134409478700676329183526295395802071620080437556519589652645911503785802164651754829347128290912247793029154280259158484468277802420772334496272130902534748236676764325700237321398695411935547248948600971432910392472874958001300203754609523650463614704735601913531288132628682365156281067582471967478008167750088890468687317087328558379487773237762757047371842507547806797834126756164778929302568658107644206765481622138999458039604304054823305657051822052293399615631444418182903650526762497948844967619310483622444199000426127581860381497762781663120386938452995996642146809412046644896268055519481354434688131180860735869676363982527085609825046034761872118163981942100668883331468191063247 272409671125023383543202193605553664101939956844927940245111855247712610735824813466429126352847221369564949281097714015595938199859801507838787772282307865157646298521410080431228218455589078745592253300268703818874456977382059966563509291726899349880031518422353892019214337084671966885789059379147350569631155813237363497782363186031156767023559997915376759227532065492545967699529758820912354997122100166885031988320201384052323521261265875847253631604047729294204208072476272630918339926153480091144691973989324528974357521024328591930721518466780961056783953430063105546546798046893511282260938442117110382496323518078198516234736312317023532962507934654828401195599680220010621320873711609141195387775419045517644002961290024288543378474984815237531281758268727892706902885600893699580749888917204886110356461904431634187355590800191138368106158536307397578838616524775974989884841672241619909224334363433937229910666540829343513459197690256529406948281238642946841572701574081968238166901211738498915703327124623614392132620196529178935194774625748997621296144991933047927122806777795435998972772750096534997360328819477597902328667229499324844976597775173644244835837747770720588077907218157313258962860522527499281852842557424790009110244331620553017884191938824600975519573516191550220851184247518720344961062881475463000234701579562777389069896678889563826423109532102427344097518911320086253435478698784466849339788281236482153724026785176999027304933561567298442066936739761525063940979914930433075856350882613115543898594315651433205574725700250964003971862615193048444198387837949238417837838606460995091464099332538067597988203974364169303344040086742437397682089406409814047104287578812158703621382046676388447756416964387695512474628262349503740848985573857303990456389938999570733065914698197505228761036606745576215587141119445558464178114043077559023496425404565104633212394451841679467412809918569628313562939340274442719509821267554450164962784793016083053583134606406910708881190614379734683641906942464261019972783217688793274815457010873379694948016672168667640806512607814976946479564839188464219225446940047298001209205507405638590493917174481154091462524515813664745366547897261838211988596786896598017900121128996306769455056423391007650457315334069229578406780242798532524765361953897821421640116309054542789750001198379322205780407278254248619300669330725953578735652225567269389447205570131031365379609051747736143211125187396788630954449386799436685233100574116815947601293331385454797400668486644809446375704759445052955127832557608021711060955189452346621101585290512014603737454618109649956714397606969998039867158475747471108818176258314197431034385167007537149271757432951305216333541819828861064647076162903177217844595511567175644594050651119473709613850099877241375055370697942168829350980885345356649127598159063280076694945180064639598532504465553396072268860036316385603730715285032596654984777593968020876874218180192907223859560869387792839493906887802353417322105483397935985024132896600140913955161875361013299225573574865891990060651849163673936298863235232734561493964504847662262290909141289232563508942247524335615804627998630333279782473529685835857881006638448848354095963916095539974606049798237453238834940598167733869387294353028193431556944310477125285471707216247631138453908093060862746008904429350332646215553929745510356592013813424305511374204600411877649759816119651438314446471989670569654801919437414441001949251 440768106744468640845421847074570516096011031138457676381578460700467746528171394432352987639798460825004017698341985749982811325609011771087904500635838186004131504680810476128031126378336881340277016139992864637767508768577831620043278010672366367755937168801045900773664030328818944805819232465670605070105093571315389423606715125929003647692288771848313144440702232000518541422486071852213393301102137004138436104494583900487717499490101565798367104645619024809186036750626000475641320883103224844743844595866114142691778438168861860247195435838394745912063558940473840248325640761065641135292689577136653318514902629092588355160825111235200785068412157760943972450936122848952440453973655930565187568301801278100716877980981702040179062080763920000084774919777796763490662827381640831261373843975925386969249914557826620086467898534172345323744253634000895563930110738368934080641013271840454720320975957961580850998154167756295257313292873327618208112377544660861275921368014558908155001268205885665658172401427444120231391538744928481879942904695694754776904973795744164282711261882529401757623647167908609114601439690978682470355734360011195998642704332044153031980486679207755612025282297047975336749337456825058687655509699075755022146314418501021589138646830666894938511154723729236309668071701573310801492828242360416228329452229185241351534342323079263675592608277639019998358128377518976899927125927713030759311828006348619552202063736301851742286584009418613849612432944534737536382243876073036855656292175418055864317236360820423473300656421378051918281671907382839528558279151483637175895027909601250315713983123488827441968570854353475029999463167864512728806999781359357373256859960053202917317401461555798986230887883475674660505813105264067805784856282469410619546915452811773996559373933564548323026697342252024862098543995782874106663982480502902093207928486888438638325060061109796565658963065612219640246226874674955829894450050708126828225059179404003833580058225507220482639866639748356567709029280652494533837726646972841619468706673768754067399377345680670197818307359156642862405052609964122198661544042132830059320093752615109940070424548005675675238205707908434065540674745526403971719897380955966415703729044595745538631979565114361605231445549528240298329297378510935469418772505923421714059411258064911317729853157257496203540135027216661711040038858225285791147362239559585874429107549223681155433961611523004040893582900170568796865073219122652263563473495840131391458525700853714502482734583075289242645329964674957024734458177645052825061847970926816035542721764646560379456334550724219381738507653250933543604043428788580853682315202942745929763422313754987734498051780699093847158254998509250238148987089794700761681892188992115136773526518681982844023328800553570558581666093744240449431418441864946301773509662849082241346700009411767889444752258582550352528018520784663406151487619528868785887312342204697641199918417514305919271496416636741440465339798194826292280106783601690594547783360214845649557075406649145927907938731146959572532619327171841686387753703920051648822522884335435500053666188661075071056749045358462371969406927932901937890117736451317480020006096488452658150787221752591796658343197853084683253123501818260631885243197995812742040566754676125711599289076629128901235571213447801199004901071497142058262198826013565876073368248112436692234940470088241632286901729476484349208344107834551596902588320745909193012498 713177777869492024388624040680124180197950987983385616626690315948180357263996207898782113992645682194568966979439699765578749525468813278926692272918146051161777803202220556559259344833925960085869269440261568456641965745959891586606787302399265717635968687223399792792878367413490911691608291844817955639736249384552752921389078311960160414715848769763689903668234297493064509122015830673125748298224237171023468092814785284540041020751367441645620736249666754103390244823102273106559660809256704935888536569855438671666135959193190452177916954305175706968847512370536945794872438807959152417553628019253763701011226147170786871395561423552224318030920092415772373646535803068963061774847367539706382956077220323618360880942271726328722440555748735237616056678046524656197565712982534530842123732893130273079606376462258254273823489334363483691850412170308293142768727263144909070525854944082074629545310321395518080908820708585638770772490563584147615060658783303808117494069588640876393168169417624164573875728552067734623524158941457660815137679321443752398201118787677212209834068660324837756596419918005144111961768510456280372684401589510520843619302107217797276816324426978476200103189515205288595712197979352557969508352256500545031256558750121574607022838769491495914030728239920786530519255949092031146453891123835879228564153808748018740604239001968827502015717809741447342455647288839063153362604626497497608651616287585101705926090521478850769591517570985912291679369684296262600323223791003469931512643058031171408215830676471856678875382121629015922253534522575887972756666989432875593732866516062245407178082456026895039956774828717644333343503254606950126489089187769171420361147538865361620938783508232187433987304847863370172980441367613571546633841856326714610003305391811344729625288631762053551787733948997601077685685115228432570842096523580461116704353891453543271537454512951476033071772984181847953809166214949398549404271318262576993187843972420086887163192831914131191521057254128091251350936223116755553810509864661634894284163684642133762347394017849337838624819966971619808884617449152586417886990982180128060529299260020748530564341722486829766700730223722098810907222642788242183708494167852564433603850173592052308087035988505369255688760883597469876736077621309467994184134459821243135699527567119454107479854355636818409320542305470910330340708188951239369883014465126855263876313119354712520813570663270740184104708087567357427819522605922088948796574069956947339059819032239169299883403069720098689021034724120009979862290735253074536122803160379162656644307055158574983193789168833869338452905260220931583471201904536051962500491461256943360797807480762524883769809213650399063491796818338111302796063252697877979526487700559290781367577169801456553637178900430811933637036791686409278782399327210302950901107821912362318041645189476407487977256724135946424796878557101049009882202904561465440872089936172718518074136597707213143131057286024534279959246685997179709602212266999626579571916256814986563512237282010159227133512306012851562593271176335515622686616939152786210316487389183097762344575329950307634565691292882797987774034926563235217672591266137153337901012734937301012246751137848131771264392996090537922088064099985994501272537551024006173597511065153250997070996292876760039689479306508663945013805500847474704477752755759076232665382061536742203609145070500119282046717849127922663654816097505121251704507758160350194961749 1153945884613960665234045887754694696293962019121843293008268776648648103792167602331135101632444143019572984677781685515561560851077825050014596773553984237165909307883031032687290471212262841426146285580254433094409474514537723206650065313071632085391905856024445693566542397742309856497427524310488560709841342955868142344995793437889164062408137541612003048108936529493583050544501902525339141599326374175161904197309369185027758520241469007443987840895285778912576281573728273582200981692359929780632381165721552814357914397362052312425112390143570452880911071311010786043198079569024793552846317596390417019526128776263375226556386534787425103099332250176716346097471925917915502228821023470271570524379021601719077758923253428368901502636512655237700831597824321419688228540364175362103497576869055660048856291020084874360291387868535829015594665804309188706698838001513843151166868215922529349866286279357098931906974876341934028085783436911765823173036327964669393415437603199784548169437623509830232048129979511854854915697686386142695080584017138507175106092583421376492545330542854239514220067085913753226563208201434962843040135949521716842262006439261950308796811106186231812128471812253263932461535436177616657163861955576300053402873168622596196161485600158390852541882963650022840187327650665341947946719366196295456893606037933260092138581325048091177608326087380467340813775666358040053289730554210528367963444293933721258128154257780702511878101580404526141291802628831000136705467667076506787168935233449227272533067037292280152176038543007067840535206429958727501314946140916512769627894425663495722892065579515722481925345683071119363342966422471462855296088969128528793618007498918564538256184969787986420218192731339044833486254472877639352418698138796125229550220844623118726184662565326601874814431291249625939784229111011306677506079004083363209912282378341981909862514574061272598730736049794067594055393089624354379298721368970703821412903151824090720743251057421351674160923893876447819059965503769250087648236511634476513752870358410887829746771363530008036443127326128262671289670059116708616548535024312958119849393012635858470634766270492505441938935931630532876447897388314646155428391548808530849307579218187797846719015553619730860920206433125710175065374999820403463602906965744664849758938825184365425209707512894314612860677332687572041380747047176525161030376704686441138305420668578393676247532274793744224998290987737926224684595825044741212360047565797078730518344733092883802366137652795387931666364688794967004596748912898127361184651131305978692187028819805135362650123719558088720191412913471865127075245333324632816182806664199689290561229794517512618267860994349492910650051816847361540945050342492578741208379889551405918141103688483439397660507700984382492218702885430649728213817769075249252674617484761444559388345198888175377422008982718496777324897077885712416033690524090334226759402278377416159274055015221519062402553702661275720424586484192006001882319050601317174119699617029832213069312688659305155041451037159811135125890503507357309074370643072837859139010273518533262398241518611382705622440338241260359743441854496137155562709002588470817921018831425753670397538359600723567922736193943622605341187601804255133157780749019818915638077819829376708670285369505888940925050519956465144018706572344616762739951581772642108738750309649178895844085540588360914333619578604407012863160205339672848607096078906259387974247 1867123662483452689622669928434818876491913007105228909634959092596828461056163810229917215625089825214141951657221385281140310376546638328941289046472130288327687111085251589246549816046188801512015555020516001551051440260497614793256852615470897803027874543247845486359420765155800768189035816155306516349577592340420895266384871749849324477123986311375692951777170826986647559666517733198464889897550611346185372290124154469567799540992836449089608577144952533015966526396830546688760642501616634716520917735576991486024050356555242764603029344448746159849758583681547731838070518376983945970399945615644180720537354923434162097951947958339649421130252342592488719744007728986878564003668391009977953480456241925337438639865525154697623943192261390475316888275870846075885794253346709892945621309762185933128462667482343128634114877202899312707445077974617481849467565264658752221692723160004603979411596600752617012815795584927572798858274000495913438233695111268477510909507191840660941337607041133994805923858531579589478439856627843803510218263338582259573307211371098588702379399203179077270816487003918897338524976711891243215724537539032237685881308546479747585613135533164708012231661327458552528173733415530174626672214212076845084659431918744170803184324369649886766572611203570809370706583599757373094400610490032174685457759846681278832742820327016918679624043897121914683269422955197103206652335180708025976615060581518822964054244779259553281469619151390438432971172313127262737028691458079976718681578291480398680748897713764136831051420664636083762788740952534615474071613130349388363360760941725741130070148035542617521882120511788763696686469677078412981785178156897700213979155037783926159194968478020173854205497579202415006466695840491210899052539995122839839553526236434463455809951197088655426602165240247227017469914226239739248348175527663824326616636269795525181399969087012748631802509033975915547864559304573752928702992687233280814600747124244177607906443889335482865681981148004539070410901726886005641458746376296111408037034043053021592094165381379345875067947293099882480174287508269295034435526006493086180378692272656607001199107992979335208639666155352631687355120031102888339136885716661095282911429391779850154806051542125100116608967316723180051801452621129871457787041425565907985458466392303819532689561868531133022181219638158482371721455236127764530913391169813296402181733787933106197061102938064484409102999075305283652504118430966830161156621635754026069578163765332053102249540722515486620687399412914976984459039648151201897307454291685141348831335874963710345843912888391958058644318173692796710546447237860684778683298125456632651359037275280037502037670207999891974141848635185472843741113595190456720734867590110696699508680858284895951297686601415194425855739677117059006996217096285552203575725306673806877429990388364582865399265706854443202121775634986761425915893428651799667631492214550134677348191612928732205533610988685810000383833170189185711484531317600943753691615873844818776581549970669464382174963343172662697719161679842872931760987582225624069455497662701631024742816848561690340188131631124058347517476781059372373235300268725624155822031566363054682644289497448855339187129190034160527429251701790249634430318300043825089235588884982627705741281662382648980614529826465129089032512073192091467217704337531718341404132371185921099453230611088480196380337427732329676517976302844794100311603837066609582935996 3021069547097413354856715816189513572785875026227072202643227869245476564848331412561052317257533968233714936335003070796701871227624463378955885820026114525493596418968282621933840287258451642938161840600770434645460914775035337999906917928542529888419780399272291179925963162898110624686463340465795077059418935296289037611380665187738488539532123852987695999886107356480230610211019635723804031496876985521347276487433523654595558061234305456533596418040238311928542807970558820270961624193976564497153298901298544300381964753917295077028141734592316612730669654992558517881268597946008739523246263212034597740063483699697537324508334493127074524229584592769205065841479654904794066232489414480249524004835263527056516398788778583066525445828774045713017719873695167495574022793710885255049118886631241593177318958502428002994406265071435141723039743778926670556166403266172595372859591375927133329277882880109715944722770461269506826944057437407679261406731439233146904324944795040445489507044664643825037971988511091444333355554314229946205298847355720766748413303954519965194924729746033316785036554089832650565088184913326206058764673488553954528143314985741697894409946639350939824360133139711816460635268851707791283836076167653145138062305087366766999345809969808277619114494167220832210893911250422715042347329856228470142351365884614538924881401652065009857232369984502382024083198621555143259942065734918554344578504875452544222182399037040255793347720731794964574262974941958262873734159125156483505850513524929625953281964751056416983227459207643151603323947382493342975386559271265901132988655367389236852962213615058340003807466194859883060029436099549875837081267126026229007597162536702490697451153447808160274423690310541459839952950313368850251471238133918965069103747081057582181994613762415257301416596531496852957254143337251045925854254531747187536528918648137507091262483661074021230533245083769983141919952394198107308001714056203984636013650276068268328649694946756834539842905041880986889470867230655255729106982887930587921789904401463909421840936744909353911511074619228145151463957567386003650984061030806044300228085285292465471833874263471840650578602086983164563803017419417534494565277265469626132219008609967648001525067095744830977529173749848890226866827620950274921389948391310572835217405217488184957899269381425447635041896970846054413102202283304289691943767874499737540487154456511499873308635212858228634101290063043209877188714256011571373516669201551104800096508498424936904615678375310874552353764101709943989055788561049329258492105422991120041018364694768845708494036607950046778835731087164661837621692571185317594866104789656321941920267069797550120305531202349384884791900452032834384686163937683035461943247479662102617649784546768335348958194302399576918074442562547708735210034865360801456250342791435251436818335587252758242821274689572939979446672712872473841949583952742133894390894492927550836622246628150251267936164691347085720808419654381191713366850368202260927811315490874650989650862659328769537216414380332473832845052183350230240835358225298461928594507936220164287141058367173073045810571969365318707260918635555509528798009271314094973743050397788808353041827857049578907109865383977783132770439303594504767588099049063644004873666704812004414411567031888537921539580346421594233051218645536708229957655919304360450142882680835099995297316151676841110713957006336736689381136508184466948918699915972868970910243 4888193209580866044479385744624332449277788033332301112278186961842305025904495222790969532882623793447856887992224456077842181604171101707897174866498244813821283530053534211180390103304640444450177395621286436196512355035532952793163770544013427691447654942520136666285383928053911392875499156621101593408996527636709932877765536937587813016656110164363388951663278183466878169877537368922268921394427596867532648777557678124163357602227141905623204995185190844944509334367389366959722266695593199213674216636875535786406015110472537841631171079041062772580428238674106249719339116322992685493646208827678778460600838623131699422460282451466723945359836935361693785585487383891672630236157805490227477485291505452393955038654303737764149389021035436188334608149566013571459817047057595147994740196393427526305781625984771131628521142274334454430484821753544152405633968530831347594552314535931737308689479480862332957538566046197079625802331437903592699640426550501624415234451986881106430844651705777819843895847042671033811795410942073749715517110694303026321720515325618553897304128949212394055853041093751547903613161625217449274489211027586192214024623532221445480023082172515647836591794467170368988809002267237965910508290379729990222721737006110937802530134339458164385687105370791641581600494850180088136747940346260644827809125731295817757624221979081928536856413881624296707352621576752246466594400915626580321193565456971367186236643816299809074817339883185403007234147255085525610762850583236460224532091816410024634030862464820553814278879872279235366112688335027958449458172401615289496349416309114977983032361650600957525689586706648646756715905776628288818866445282923929221576317574486416856646121925828334128629187889743874846419646153860061150523778129041804908657273317492045637804564959503912728018761771744079974724057563490785174202430059411011863145554917933032272662452748086769862335754117745898689784511698771860236704706743437265450614397400312445936556138836092317405524886189885525959881768957541261370565729264226699329826938444516931013935102126288699786579021912328027631638245075655298685419587037299130480606777557949072473032982256451175859218268242335796251158137450520422833702162982130721415130438001747498156331118637869931094138141066572070278668280242080146379176989816876480820675871609792004490588831249956580657223116609004536784823657519432054222857159044313033942668888244444606070369738150922713043204289138348493529692832686978401534673290837305130869674672263756990006865219097826361173041163514624920973514828209200531155799559714676261389849700569732556054337949496342004837480049260857458548168139809046002373549402915112954593279304345077587622343201410349276858933749087218307228427277532873492182678115069772799317158465405053231300255880903814771343930182239664767742206251961646353659826068098109058314248325975617341108220540396427383181568448347859235267865477381393933562022386707477685513970438241078983473469775680032895721192252824570377424851381685803204681502931364719469766232412629998233919391377723505136530564213863193103172596345807524085998050005598921795311883875215734763385998703600489377054778395416614881902033309540039719129565081964151863035686117354498434246296994574011943660199691005384754402018417349107469094109255589794632120152848694271186902154110172886723322083730718728799697175360256836078791547015052021021094750546762765321307094294434069066365899112811029261049230303753039478553846239 7909262756678279399336101560813846022063663059559373314921414831087781590752826635352021850140157761681571824327227526874544052831795565086853060686524359339314879949021816833114230390563092087388339236222056870841973269810568290793070688472555957579867435341792427846211347090952022017561962497086896670468415462932998970489146202125326301556188234017351084951549385539947108780088557004646072952891304582388879925264991201778758915663461447362156801413225429156873052142337948187230683890889569763710827515538174080086787979864389832918659312813633379385311097893666664767600607714269001425016892472039713376200664322322829236746968616944593798469589421528130898851426967038796466696468647219970477001490126768979450471437443082320830674834849809481901352328023261181067033839840768480403043859083024669119483100584487199134622927407345769596153524565532470822961800371797003942967411905911858870637967362360972048902261336507466586452746388875311271961047157989734771319559396781921551920351696370421644881867835553762478145150965256303695920815958050023793070133819280138519092228858695245710840889595183584198468701346538543655333253884516140146742167938517963143374433028811866587660951927606882185449444271118945757194344366547383135360784042093477704801875944309266442004801599538012473792494406100602803179095270202489114970160491615910356682505623631146938394088783866126678731435820198307389726536466650545134665772070332423911408419042853340064868165060614980367581497122197043788484497009708392943730382605341339650587312827215876970797506339079922386969436635717521301424844731672881190629338071676504214835994575265659297529497052901508529816745341876178164655947712408950158229173480111188907554097275373636494403052878200285334686372596467228911401995016262960769977761020398549627819799178721919170029435358303240932931978200900741831100056684591158199399674473566070539363924936409160791092868999201515881831704464092969967544706420799641250086628047676380714265205833782849151945367791231766512849352636188196517099672712152157287251616842845980840435776038871198053698090096531556172783102202643041302336403648068105174780834862843241537944866856519923016509796870329318960814961154869937957328267440247600347547349446611715146157856185733614762071667314816420960505535107863030421300566938208187053655893276827280189448488100631382028292265013579850591197925859802736343914800926918812771483156042700956105943678373363780941677305579201391703406881546942989972908189960038856235669771180762181926911480897473137235725394927616334864962570616770249860414291665137667381430868065264501401762831986104292051616315780348022120385789832380231319968415507704769276535199571414875137742648732612698661743725649539251141613113441470556527644621362549434901934808249951821566649214075206214348262004624802212476477416286827007155116076410889544309751066661562870099351041815086000323161015121060731709109815061334136067456413281200405236350592684869229234741405940371379981442000672478951569138218232054005465609314246855594120755883275289327003456607792103837610363409266046543333413431704032822547926644513535141959599024933582907836431809275569854695762039314052170391430831318811353814103308132361940671388727945211548013153406859957989726792970130308979259169606516398171113098982922294606636534564415726159724823693690519308317555134949364265507927133016176140439241689897732856121090047862914442162417808251440405803055280249319213727998149003669012347524756482 12797455966259145443815487305438178471341451092891674427199601792930086616657321858142991383022781555129428712319451982952386234435966666794750235553022604153136163479075351044294620493867732531838516631843343307038485624846101243586234459016569385271315090284312564512496731019005933410437461653707998263877411990569708903366911739062914114572844344181714473903212663723413986949966094373568341874285732179256412574042548879902922273265688589267780006408410620001817561476705337554190406157585162962924501732175049615873193994974862370760290483892674442157891526132340771017319946830591994110510538680867392154661265160945960936169428899396060522414949258463492592637012454422688139326704805025460704478975418274431844426476097386058594824223870844918089686936172827194638493656887826075551038599279418096645788882210471970266251448549620104050584009387286014975367434340327835290561964220447790607946656841841834381859799902553663666078548720313214864660687584540236395734793848768802658351196348076199464725763682596433511956946376198377445636333068744326819391854334605757072989532987644458104896742636277335746372314508163761104607743095543726338956192562050184588854456110984382235497543722074052554438253273386183723104852656927113125583505779099588642604406078648724606390488704908804115374094900950782891315843210548749759797969617347206174440129845610228866930945197747750975438788441775059636193130867566171714986965635789395278594655686669639873942982400498165770588731269452129314095259860291629403954914697157749675221343689680697524611785218952201622335549324052549259874302904074496480125687487985619192819026936916260255055186639608157176573461247652806453474814157691874087450749797685675324410743397299464828531682066090029209532792242621088972552518794392002574886418293716041673457603743681423082757454120074985012906702258464232616274259114650569211262820028484003571636587389157247560955204753319261780521488975791741827781411127543078515537242445076693160201761972618941469350892677421652038809234405145737778470238441416383986581443781290497771449711140997486753484669118443884200414740447718696601021823235105404305261441640401190610417899838776374192369015138571654757066119292320458380161969603229731068962479884613462644314187304371484693165805455882993030784203388105110567679743928025063534476569148437072193939076931881338608949488130188855127982749517322168398137658085963125805425824930945400712014048111514703654720509868339740196936574379629968374442863250876161366539445853025938916918346116570963596898436091130959785936085444979450391570091224852343642820717765834233957817169935600634056453795829608879578933957972189277322341964910619882231128478875759952725364991934023047938602659398626469448841540719003430019827299477619207701251966715356874797949469956110029119605934807041877244219622538788653508775902478987653368065314987538487440459262355482427706342583569408590944377680538715530001018435667907882921864563123110308218214875716051412877163192925303521946563069613739808670290817178220313590522115687919325237375999169827342746893973479909736436586028049840346633924694519134063754910908808798642599817807979170344072816817709468785273332864628351393533232873214326092534424414062566046447399703854532001670453169821314364013571624933747278582193092177884401268654717264420430911725847800692195040877218680082994307624308376432976518033236912784877142184798409677207483724902545874474869421179362130242989047379307422051826078602721 20706718722937424843151588866252024493405114152451047742121016624017868207410148493495013233162939316811000536646679509826930287267762231881603296239546963492451043428097167877408850884430824619226855868065400177880458894656669534379305147489125342851182525626104992358708078109957955427999424150794894934345827453502707873856057941188240416129032578199065558854762049263361095730054651378214414827177036761645292499307540081681681188929150036629936807821636049158690613619043285741421090048474732726635329247713223695959981974839252203678949796706307821543202624026007435784920554544860995535527431152907105530861929483268790172916397516340654320884538679991623491488439421461484606023173452245431181480465545043411294897913540468379425499058720654399991039264196088375705527496728594555954082458362442765765271982794959169400874375956965873646737533952818485798329234712124839233529376126359649478584624204202806430762061239061130252531295109188526136621734742529971167054353245550724210271548044446621109607631518150195990102097341454681141557149026794350612461988153885895592081761846339703815737632231460919944841015854702304759940996980059866485698360500568147732228889139796248823158495649680934739887697544505129480299197023474496260944289821193066347406282022957991048395290304446816589166589307051385694494938480751238874768130108963116531122635469241375805325033981613877654170224261973367025919667334216716849652737706121819190003074729522979938811147461113146138170228391649173102579756870000022347685297302499089325808656516896574495409291558032124009304985959770070561299147635747377670755025559662123407655021512181919552584683692509665706390206589528984618130761870100824245679923277796864231964840672673101322934734944290314544219164839088317883954513810654963344864179314114591301277402922403342252786889478378225945838680459364974447374315799241727410662494502050074111000512325566408352048073752520777662353193439884711795326117548342719765623870492753073874466967806401790621296260468653418551658587041333934295569911153568541273833060624136478611885487179868684807182759214975440373197842650361737903358226883173509480042276503244432148362766695296297208878812008900973717881080447190396337490237043477331416509829331225177790472043490105099455237472770699413991289738495968140988980310866233250588132462425264352383387565032512720637241753143768705719180675377124904742052459012881938576908980973646356817957726484878484596397815447541131900343455926572958347351053210915017602209217033788120843829827014044100832623831018747294650898656061749700251984382889990011024251585831098735359580001921704926108070111609956901699319747804569508642310380418324651507663678447174827863107640666635746600346385048165720590454654160473986547471920840168642603186774965308696364598684031316243467867939431844089720697038825615660663891978889877197677816381649101357539810304170568428029503598690469322653487495600049666068474848949108288158215155807979537452956281656422792858605193597782473515701287845793814135900131425075907711277998963208652240832606961931180357257382745956279769999459753873169181851339032669205714509933742381550436249617254740198768578857023520955664763695947162747347336181346688033205813142007777594460553110714489991397246139951623343272741231450145449695292075100179007905189281680146590636549541491211503358432353629447259815551441392609116957274926810517733263274846272591649646142710797314880672476459611449456717045528311091064173603359203 33504174689196570286967076171690202964746565245342722169320618416947954824067470351638004616185720871940429248966131492779316521703728898676353531792569567645587206907172518921703471378298557151065372499908743484918944519502770777965539606505694728122497615910417556871204809128963888838436885804502893198223239444072416777222969680251154530701876922380780032757974712986775082680020745751782756701462768940901705073350088961584603462194838625897716814230046669160508175095748623295611496206059895689559830979888273311833175969814114574439240280598982263701094150158348206802240501375452989646037969833774497685523194644214751109085826415736714843299487938455116084125451875884172745349878257270891885959440963317843139324389637854438020323282591499318080726200368915570344021153616420631505121057641860862411060865005431139667125824506585977697321543340104500773696669052452674524091340346807440086531281046044640812621861141614793918609843829501741001282422327070207562789147094319526868622744392522820574333395200746629502059043717653058587193482095538677431853842488491652665071294833984161920634374867738255691213330362866065864548740075603592824654553062618332321083345250780631058656039371754987294325950817891313203404049680401609386527795600292654990010688101606715654785779009355620704540684208002168585810781691299988634566099726310322705562765314851604672255979179361628629609012703748426662112798201782888564639703341911214468597730416192619812754129861611311908758959661101302416675016730291651751640211999656839001030000206577272020021076776984325631640535283822619821173450539821874150880713047647742600474048449098179807639870332117822882963667837181791071605576027792698333130673075482539556375584069972566151466417010380343753751957081709406856507032605046965919750597607830632974735006666084765335544343598453210958745382717829207063648574913892296621925314530534077682637099714723655913003278505840039442874682415676453623107528675885798281161112937829767034668729779020732090647153146075070590467821446479672074040149594984925260414504405426976383335198320866171560667428333419324573612583098080434504380050118278913785303718143645622758780666534072671401247827147472628474947199739510854717652206646707062485472309215838640434786230794476584148403278226582407022073941884073251556660054794258314122609031573701424577326641964394059246191241273957560847163424894447073140190117098845064382334805904591757529971774596393188251118325315880872097280030306202926721793916461791178968748662886814059760748173130615064429522267109878254436834741506729150643554474114842354667072303596932969317397171857305560164523907439565781278253705776758785964652345328944533738792157322934780588472632600658794538949044446792190039296194879477416567299220317787850304438741680665571162548153987426272587473874238885966964916661364404314172667881368864851045881696636639844980269566526050855735846182259877913597865176138765196069493284617016171080079718931089845671171157372474205735768386523085995462264357459533622806190948603296221301800114651127977478208606131758523104151356225866016206585487803713515815776033551803269469420842551180193036067425233910542841395674732989740938096560575514140880569054561014125740237556070343640907952814569021993067699309772937707286312856383892728277485167278063409173843998944567021548275389291903698399309572309530254123175749769042093475308163723302610405459644682268857129867613343189355541897638973579699706092907618513115999681961924 54210893412133995130118665037942227458151679397793769911441635040965823031477618845133017849348660188751429785612811002606246808971491130557956828032116531138038250335269686799112322262729381770292228367974143662799403414159440312344844753994820070973680141536522549229912887238921844266436309955297788132569066897575124651079027621439394946830909500579845591612736762250136178410075397129997171528639805702546997572657629043266284651123988662527653622051682718319198788714791909037032586254534628416195160227601497007793157944653366778118190077305290085244296774184355642587161055920313985181565400986681603216385124127483541282002223932077369164184026618446739575613891297345657351373051709516323067439906508361254434222303178322817445822341312153718071765464565003946049548650345015187459203516004303628176332847800390309068000200463551851344059077292922986572025903764577513757620716473167089565115905250247447243383922380675924171141138938690267137904157069600178729843500339870251078894292436969441683941026718896825492161141059107739728750631122333028044315830642377548257153056680323865736372007099199175636054346217568370624489737055663459310352913563186480053312234390576879881814535021435922034213648362396442683703246703876105647472085421485721337416970124564706703181069313802437293707273515053554280305720172051227509334229835273439236685400784092980477581013160975506283779236965721793688032465535999605414292441048033033658600805145715599751565277322724458046929188052750475519254773600291674099325509302155928326838656723473846515430368335016449640945521243592690382472598175569251821635738607309866008129069961280099360224554024627488589353874426710775689736337897893522578810596353279403788340424742645667474401151954670658297971121920797724740461546415701929264614776921945224276012409588488107588331233076831436904584063177194181511022890713134024032587809032584151793637612040290064265051352258360817105227875855561165418433646224228518046784983430582840909135697585422522711943413614728489142126408487813606369610060748553466534247565029563454995220685500734856367850187548394764946810425748442172407738277001452423265345994646890054907143433229368968610126639156373602192828280186701251055142443690184393901982138547063818225258274284581683603640750997281821013363680380041392545640365660491564710741493998965776960714206996906779883432994417726266566344100271571977882242576111727002959243786878238114347929501081271672847516140763422003997623486232775885069144969672706196570957879920602180604578000144659165262146098128625549087733397568478850895538857004832365691323889428031704676977173779010486272594019049522682977573453581328294606962725747269185246455835770109608451580273267294541139295429494957910629750849039951403114771141157956492907625516645974267527146838018742516055341813670730056685613700190019974836559860258742048723698078285741202520079870696619283765349780950347236251352671738814862137968133566124459238294874739069383124127439028896998594373580120868468977965645305327436942091080028372129013078113614336629719041213093689703461408738971822295976584947557586684997627372584472475183930776293561743472317042488650741609974531756510696602860256522676888227905235907702158946050698078121235368505925283511984464945449724561050559054087834038177972777242378242417079033280624713612184824930783115201757741925938977513938727191161651210432583090533820343668734490954860506776010324140504236214374098585029156423138435929604180173285321127 87715068101330565417085741209632430422898244643136492080762253457913777855545089196771022465534381060691859034578942495385563330675220029234310359824686098783625457242442205720815793641027938921357600867882887147718347933662211090310384360500514799096177757446940106101117696367885733104873195759800681330792306341647541428301997301690549477532786422960625624370711475236911261090096142881779928230102574643448702646007718004850888113318827288425370436281729387479706963810540532332644082460594524105754991207489770319626333914467481352557430357904272348945390924342703849389401557295766974827603370820456100901908318771698292391088050347814084007483514556901855659739343173229830096722929966787214953399347471679097573546692816177255466145623903653036152491664933919516393569803961435818964324573646164490587393712805821448735126024970137829041380620633027487345722572817030188281712056819974529651647186296292088056005783522290718089750982768192008139186579396670386292632647434189777947517036829492262258274421919643454994220184776760798315944113217871705476169673130869200922224351514308027657006381966937431327267676580434436489038477131267052135007466625804812374395579641357510940470574393190909328539599180287755887107296384277715033999881021778376327427658226171422357966848323158057998247957723055722866116501863351216143900329561583761942248166098944585149836992340337134913388249669470220350145263737782493978932144389944248127198535561908219564319407184335769955688147713851777935929790330583325850965721301812767327868656930051118535451445112000775272586056527415310203646048715391125972516451654957608608603118410378279167864424356745311472317542263892566761341913925686220911941269428761943344716008812618233625867568965051002051723079002507131596968579020748895184365374529775857250747416254572872923875576675284647863329445895023388574671465627026320654513123563118229476274711755013720178054630764200856548102558271237619041541174900114316327946096368412607943804427364443254802590566760803559732594229934293278443650210343538391794662069434990431378555883821601027928517615881814089520423008846522606912118327119731337050649712790535677665924099763441640011374466303846230667775479926212105772794650336891456387454447762902458660044505079058267752044029223864228035437622264114644102300420454749878833350525572667201538040848961300839129624235691683827413507525166019051022432693210572067341578592782829871877901275677664861098634466079302876094903516538978811790938886134497375539706542807416240365326173275274229691668365238503803524568139075208001539093331119674720358396193024964673994374345636316046437117926489088464255827159358087080571615071076213718985247993093044389040052905867953335678244473941750100669047043919428819682070361475744343212064258326639838689694992006168788642815687909616023650530361554424289009227741627606899769579774922381047500349437222670139501195963210225149849217847877580058207461418183140630318374593670159228795298596401371204330141966643954464440230002764861059748282028631668350314878228265464607197249819225448226565560095197688312183170435361300200813403406136275744653351618844741936508384467722561284451370206489500437540956817098191029108474290468716284686288254148464876276458739852533977532644759497498757845366944217930906250262409656305826252877279569280633733100320075018900157051498248507768061902940930693303907891254257122954074194135637129363905877937483693591756271737558608856129231343548117296172967283051 141925961513464560547204406247574657881049924040930261992203888498879600887022708041904040314883041249443288820191753497991810139646711159792267187856802629921663707577711892519928115903757320691649829235857030810517751347821651402655229114495334870069857898983462655331030583606807577371309505715098469463361373239222666079381024923129944424363695923540471215983448237487047439500171540011777099758742380345995700218665347048117172764442815950953024058333412105798905752525332441369676668715129152521950151435091267327419491859120848130675620435209562434189687698527059491976562613216080960009168771807137704118293442899181833673090274279891453171667541175348595235353234470575487448095981676303538020839253980040352007768995994500072911967965215806754224257129498923462443118454306451006423528089650468118763726560606211757803126225433689680385439697925950473917748476581607702039332773293141619216763091546539535299389705902966642260892121706882275277090736466270565022476147774060029026411329266461703942215448638540280486381325835868538044694744340204733520485503773246749179377408194631893393378389066136606963322022798002807113528214186930511445360380188991292427707814031934390822285109414626831362753247542684198570810543088153820681471966443264097664844628350736129061147917636960495291955231238109277146422222035402443653234559396857201178933566883037565627418005501312641197167486635192014038177729273782099393224585437977281785799340707623819315884684507060228002617335766602253455184563930874999950291230603968695654707313653524965050881813447017224913531577771008000586118646890960377794152190262267474616732188371658378528088978381372800061671416690603342451078251823579743490751865782041347133056433555263901100268720919721660349694200923304856337430125436450824448980151451721081526759825843060980512206809752116084767913509072217570085694356340160344687100932595702381269912323795303784443105983022561673653330434126798784459974821124342834374731079798995448852940124949865777514533980375532048874720638422106884813260271092091858328909634464553886373776569322335884296367803430208854467233434594964779319856604121183760315995707437425732573067532992810608621501105460219832860603760112913356827937094027075850289436586309966276885302779363639951355684780221146049048801302644156036647940786115241443544092019571632978498755055958207619013057230109410093979851625437591028904675269322299070300822379661067986225830776758936533946150606842724880092527002771754696860083855807203572110664422728018420969904173419933394953814463367129352612301536643686852434632188124507086049720082452996378671351519415326532709711945538611147233400612939415375178577796823482904231703828863153997491633179135247876817539903436708011298797892959380222796841502633700836119689774972614106216841830024911304698157501580346080336144061744444263845787601886348948493277853208122250020429307919289423266545744160572386100570519616394920345429551749265089556669468409228611919426035430268202924515546764822933418195648070188496690373108660040479327956341879801236916291032319137930026968834169510608159755382918886885811030778720748219837282395138303679980701510211212026061344738246011134143817073620867917336379526376418443632338952226586111644964665136045961997590209222059808404421032051969084223039652034548243331910560193994245917925250858134101914793424187485282000630132092344514340474344790943297742928626591989870681888261624197827970645836143638012552369779477721476346252604178 229641029614795125964290147457207088303948168684066754072966141956793378742567797238675062780417422310135147854770695993377373470321931189026577547681488728705289164820154098240743909544785259613007430103739917958236099281483862492965613474995849669166035656430402761432148279974693310476182701474899150794153679580870207507683022224820493901896482346501096840354159712723958700590267682893557027988844954989444402864673065052968060877761643239378394494615141493278612716335872973702320751175723676627705142642581037647045825773588329483233050793113834783135078622869763341365964170511847934836772142627593805020201761670880126064178324627705537179151055732250450895092577643805317544818911643090752974238601451719449581315688810677328378113589119459790376748794432842978836688258267886825387852663296632609351120273412033206538252250403827509426820318558977961263471049398637890321044830113116148868410277842831623355395489425257360350643104475074283416277315862940951315108795208249806973928366095953966200489870558183735480601510612629336360638857558076438996655176904115950101601759708939921050384771033074038290589699378437243602566691318197563580367846814796104802103393673291901762755683807817740691292846722971954457917839472431535715471847465042473992272286576907551419114765960118553290203188961165000012538723898753659797134888958440963121181732981982150777254997841649776110555736304662234388322993011564593372156729827921529912997876269532038880204091691395997958305483480454031391114354261458325801256951905781462982575970583576083586333258559018000186117634298423310789764695606351503766668641917225083225335306782036657695953402738118111533988958954495909212420165749265964402693135210803290477772442367882134726136289884772662401417279925811987934398704457199719633345525981496938777507242097633853436082386427400732631242954967240958660365821967186665341614056158820610746187035550317504621160613786762530201432992398036403501515996024457150702677176167408056796744552314309032317124547136335608607314868356400163256910481435630250123571703899544317752332453143936912224885419312022943987656443441487386231974931240915097366645420227961410238991632756252248632875571764066063528379240039125462600731744363967306676891034072868735545347284442698219107728809445010277084238924908270680750241206569991322377442545144300180036795904919508458142681465801093921393359150603610079927107962532871137642400972443897858103732052436601395044785072922027756187430519310733508651022741941700947650370965535434661335230346695207624645482828605633156136869675718894853973725519244181806408116275477961052665725865051642579146829872027699611489227772297502455750192867899696623216951821956198386531686085003201212495784377378458111967844936878809042478911864109445179331754033299253944906536822031080093340973189489962103986674423298868552855015343513955848262857628130503297520778745141959562767741707370797535949788367493974978552890969932405719875044062079387840714724631831639407254657513408777397858425650835049556438655137291708829642834570145265844113540851544586156592528929367198920342925818280187086624434184857023964490634013983045616489085977933773310512714944735511571684773890719058946444853816845134728318627206375050987921423404988579939530234968719558566249787976269899990473302061690854069584787839763274879651025570933153002071844922435993050062533073023037818248365599048066251817122762229119234587766199107891419726917573702246868681601123025838772519219887229 371566991128259686511494553704781746184998092724997016065170030455672979629590505280579103095300463559578436674962449491369183609968642348818844735538291358626952872397865990760672025448542580304657259339596948768753850629305513895620842589491184539235893555413865416763178863581500887847492207189997620257515052820092873587064047147950438326260178270041568056337607950211006140090439222905334127747587335335440103083338412101085233642204459190331418552948553599077518468861205415071997419890852829149655294077672304974465317632709177613908671228323397217324766321396822833342526783727928894845940914434731509138495204570061959737268598907596990350818596907599046130445812114380804992914893319394290995077855431759801589084684805177401290081554335266544601005923931766441279806712574337831811380752947100728114846834018244964341378475837517189812260016484928435181219525980245592360377603406257768085173369389371158654785195328224002611535226181956558693368052329211516337584942982309836000339695362415670142705319196724015966982836448497874405333601898281172517140680677362699280979167903571814443763160099210645253911722176440050716094905505128075025728227003787397229811207705226292585040793222444572054046094265656153028728382560585356396943813908306571657116914927643680480262683597079048582158420199274277158960945934156103450369448355298164300115299865019716404673003342962417307723222939854248426500722285346692765381315265898811698797216977155858196088776198456225960922819247056284846298918192333325751548182509750158637283284237101048637215072006035225099649212069431311375883342497311881560820832179492557842067495153695036224042381119490911595660375645099251663498417572845707893445000992844637610828875923146035826405010804494322751111480849116844271828829893650544082325677433218020304267067940694833948289196179516817399156464039458528746060178307347010028714988754522992016099359345621289064266596809324203854763426524835187961490817148799985077408255966403505649684677264174809831658527511867657482035506778507048070170752527722108452481338364098204126109022466272796521253222742231798454889878036452165551831535362098857682641127665387142812059165749062857254376677224285896388983000152038819428668838391043156966327620382835012430650063806338170463413589666156326133040227552426717398181992685232765921534564715933158535550960877716077155738695910504015373210776041201108831783231855170207943223352104965844329562829195537928990935679764752636279957522082488205511106597748904519761035388263453082305134520115141019599297291972762508749171212362581706408357707368688892457836357930957431337077384466969111856541817566310758722628385236917830928770664723179527448655650819352384023319264138449089313324280815166123266642829838189265275753366743146015451443808271868051123378652055991398039130691070308184322818485043312816700802945400304796756135481338625547541208053061248986034287451531369922050358887110369898898320521681670809431713530488616452634150667261907610179173060173600331276621298905238053129028245951749308970790912025067081029831883863724086619497763536709528502681201199073972435464963577772184327916409121349296469787488144985336574059682981522705828590964339926863781233343221553171950966158601637099566388070124625901527825177941618374654209008321869074696341713725402312916698399957269125568950821791287103986638346623478332063163205115382332588839943839009549560051388821109105269654460732089247697563409845884881233970902503560248865472491407 601208020743054812475784701161988834488946261409063770138136172412466358372158302519254165875717885869713584529733145484746557080290573537845422283219780087332242037218020089001415934993327839917664689443336866726989949910789376388586456064487034208401929211844268178195327143556194198323674908664896771051668732400963081094747069372770932228156660616542664896691767662934964840680706905798891155736432290324884505948011477154053294519966102429709813047563695092356131185197078388774318171066576505777360436720253342621511143406297507097141722021437232000459844944266586174708490954239776829682713057062325314158696966240942085801446923535302527529969652639849497025538389758186122537733804962485043969316456883479251170400373615854729668195143454726334977754718364609420116494970842224657199233416243733337465967107430278170879630726241344699239080335043906396444690575378883482681422433519373916953583647232202782010180684753481362962178330657030842109645368192152467652693738190559642974268061458369636343195189754907751447584347061127210765972459456357611513795857581478649382580927612511735494147931132284683544501421554877294318661596823325638606096073818583502031914601378518194347796477030262312745338940988628107486646222033016892112415661373349045649389201504551231899377449557197601872361609160439277171499669832909763247504337313739127421297032847001867181928001184612193418278959244516482814823715296911286137538045093820341611795093246687897076292867889852223919228302727510316237413272453791651552805134415531621619859254820677132223548330565053225285766846367854622165648038103663385327489474096717641067402801935731693919995783857609023129649334599595160875918583322111672296138136203647928088601318291028170552541300689266985152528760774928832206227534350850263715671203414714959081774310038328687384371582606917550030399419006699487406426000274533675370329044913343602762286394895938793685427210596086734056196418922871591463006813173257135780085432133811562446429229578483842148783074648203266089350375134907211327081233963352358576053042263642521878441475610209708746138642054254742442546321477939551783806466603013955049286547893348553051050798505315105887252248988351959917362240191164282029400582755010463643218654455703747975997348249036389571142399111166603217279152460697398148423199255224088298977109860233338572346865797224535298420161711597936766569926644811188758891194388041345585624324548863702433294881632139324035720752686780392467388041393221714162129339690605467411406353798887743640364866810348644244780120578395664886040888081476560382083226612870698865952633408918484002803249518611691003371689594010370211856157534420286678963532622876150665607472775550770555005349141650301809108658193624235234487766716998307754665230852591194783197841571121996029915474087071491380103880560270288309492908342181369555818288914260645018993109469128845061986798203208548802029158902167458000147254604344877451211491614076529306757592568004293348875299093547017433830573582377729135046949740287609567683383243458138613625482170332925143372735408310243212026692903908448845607019479261059059899148434796148818550423104394912958873466078758647086774627717034277513364855058985810226087160066687900269593364976688087487811475113205841058060146661176940903996984591769065169643775416256382501486239720544005219976392724440106058483269059471382125696278138420150837205542887075801377174151050228339857420659839980667424480983548131749915572025529399021384692378636 972775011871314498987279254866770580673944354134060786203306202868139338001748807799833268971018349429292021204695594976115740690259215886664267018758071445959194909615886079762087960441870420222321948782933815495743800540094890284207298653978218747637822767258133594958506007137695086171167115854894391309183785221055954681811116520721370554416838886584232953029375613145970980771146128704225283484019625660324609031349889255138528162170561620041231600512248691433649654058283803846315590957429334927015730797925647595976461039006684711050393249760629217784611265663409008051017737967705724528653971497056823297192170811004045538715522442899517880788249547448543155984201872566927530648698281879334964394312315239052759485058421032130958276697789992879578760642296375861396301683416562489010614169190834065580813941448523135221009202078861889051340351528834831625910101359129075041800036925631685038757016621573940664965880081705365573713556838987400803013420521363983990278681172869478974607756820785306485900508951631767414567183509625085171306061354638784030936538258841348663560095516083549937911091231495328798413143731317345034756502328453713631824300822370899261725809083744486932837270252706884799385035254284260515374604593602248509359475281655617306506116432194912379640133154276650454520029359713554330460615767065866697873785669037291721412332712021583586601004527574610726002182184370731241324437582257978902919360359719153310592310223843755272381644088308449880151121974566601083712190646124977304353316925281780257142539057778180860763402571088450385416058437285933541531380600975266888310306276210198909470297089426730144038164977099934725309710244694412539417000894957380189583137196492565699430194214174206378946311493761307903640241624045676478056364244500807797996880847932979386041377979023521332660778786434367429555883046158016152486178581880685399044033667866594778385754241560082749693807405410937910959845447706779424497630322057120857493688100215068096113906842658651980441602160070923571385881913414259397251986491074467028534380627740726004550498076482505267391864796486540897436199514391717335638001965112812731927675558735695863109964254377963141628926212637856306345240343203101458069421146053620609546274838538760406647412055374560034555988777322929350319380013124115546605191940456854220511674576166497107897826674940612454158857622101952139780702686012297590674426243211553528847676653829546762857710827677253026656432451533028747345563475709919673235937439509987172441742062340825945499386925489663844077412551158173635212100444058266790440933981559591323788991339875915339880633985580802859913507160321128934484542771338117607734197346055678114263123594903154578324613280099391122432939008790358501130596555187573030418597595737210234641649842990047153294126143062889419234571630578472632311393385494186256621234314565441775128590807754392603194851264457534836316610433537380050506141714714776349532013295747338738471123056620745983025966355454627613003633755978060411668248645525662696711629195207447584416394195400006173204619272034329831524456440617977348288220678335031495364112012568333146466832225744209428660954223743983660834310698556983341955819398912674007320503288241072220559523578325187054199545237831742585885324602795315558205992913638139865985489141658695418184639677813130788927214515727210045121615682949714188859483253802483426045486726085350937225539871337445127075120572069915122044393394016631149542928032959270250164870043 1573983032614369311463063956028759415162890615543124556341442375280605696373907110319087434846736235299005605734428740460862297770549789424509689301977851533291436946833906168763503895435198260139986638226270682222733750450884266672793754718465252956039751979102401773153833150693889284494842024519791162360852517622019035776558185893492302782573499503126897849721143276080935821451853034503116439220451915985209114979361366409191822682136664049751044648075943783789780839255362192620633762024005840704376167518178990217487604445304191808192115271197861218244456209929995182759508692207482554211367028559382137455889137051946131340162445978202045410757902187298040181522591630753050068382503244364378933710769198718303929885432036886860626471841244719214556515360660985281512796654258787146209847585434567403046781048878801306100639928320206588290420686572741228070600676738012557723222470445005601992340663853776722675146564835186728535891887496018242912658788713516451642972419363429121948875818279154942829095698706539518862151530570752295937278520810996395544732395840319998046141023128595285432059022363780012342914565286194639353418099151779352237920374640954401293640410462262681280633747282969197544723976242912368002020826626619140621775136655004662955895317936746144279017582711474252326881638520152831501960285599975629945378122982776419142709365559023450768529005712186804144281141428887214056148152879169265040457405453539494922387403470531652348674511978160673799379424702076917321125463099916628857158451340813401877001793878455313084311733136141675671182904805140555707179418704638652215799780372927839976873099025158424064033948834708957854959044844289573415335584217069052485721273400140493788031512505202376931487612183028293056169002398974508684283898595351071513668084262647938467815688017352208717032361393351917459955302052857503558912178856414360769373078581210197540672149137498876435121018001497671967156264370578370887504443495314256637579120234026630542543136421142494129224676808274189660736257048321470724333220454426825604587422891383247882991973686692214013530506850741283339982520992331269119444468568126767781214223452084248914160762759693069028881175200989816223707480534367383487470003901064084252764929294242508382644760304410949605698387888489532567598532473821513695028391195680942519488784436399835680244692472165147752579019333699888906350629330823486349565620631252899114472001202693249196152592459816577062377185138313421214733604868931633835365277130115454583848095861228569585864253735838308088857533129553838521252988525534827172524160594430290189741624748794399342683883504192493863285196754331499146340700305758404286697729968931828779870596370453925133329962421749692931541597202414593735618363272185880785083828448328405017839491414112043183209600230134380799338452190848760941804301727675555812439523228826086794121700276883237665181649467666083638345769335704838050653396319059653800743504909823868045228715624625039331901265449001645046834207338355789546715198385813272264395012438665586198041876365732931316577354680344573043551149344526426193895240157596090555263260447364481965017255330139122387534420302502630747608938415591260855320674457898484233407663354928972490152888555013274542011020351037583643945471263972256462202977505407205035629264557915077919670879398357136008903607240167316103604884742421096314555761392222634263251029613161152314399690921565784984495780412050582546525376942148381065114953562358291634857248679 2546758044485683810450343210895529995836834969677185342544748578148745034375655918118920703817754584728297626939124335436978038460809005311173956320735922979250631856449792248525591855877068680362308587009204497718477550990979156957001053372443471703677574746360535368112339157831584370666009140374685553670036302843074990458369302414213673336990338389711130802750518889226906802222999163207341722704471541645533724010711255664330350844307225669792276248588192475223430493313645996466949352981435175631391898316104637813464065484310876519242508520958490436029067475593404190810526430175188278740021000056438960753081307862950176878877968421101563291546151734746583337506793503319977599031201526243713898105081513957356689370490457918991584748539034712094135276002957361142909098337675349635220461754625401468627594990327324441321649130399068477341761038101576059696510778097141632765022507370637287031097680475350663340112444916892094109605444335005643715672209234880435633251100536298600923483575099940249314996207658171286276718714080377381108584582165635179575668934099161346709701118644678835369970113595275341141327709017511984388174601480233065869744675463325300555366219546007168213471017535676082344109011497196628517395431220221389131134611936660280262401434368941056658657715865750902781401667879866385832420901367041496643251908651813710864121698271045034355130010239761414870283323613257945297472590461427243943376765813258648232979713694375407621056156066469123679530546676643518404837653746041606161511768266095182134144332936233493945075135707230126056598963242426489248710799305613919104110086649138038886343396114585154208072113811808892580268755088983985954752585112026432675304410596633059487461706719376583310433923676789600959809244023020185162340262839851879311664965110580917853857065996375730049693140179786284889511185099015519711398357438295046168417112249076792319057903379058959184814825406908609878116109818285150312002073817371377495072808334241698638657043263801146109666278968345113232122138961735730121585206945501292633121803519123973887542471763174719280922371647227824237418720506722986455082470533239580513141899010819944777270727014071032170510101413627672530052720877570484945539425047117704862311204132781268789292172359785509640254376665812461917917912486945629241633583136137796740000459012566332788142519147105760206737876955801841046131332016835783940240046874464452643319677856522795959010303287493830089033617589846449962079168344641553508601214569625441756289837923569395531363640661327971932934945680712012156465088969593093962965094575989881513530616088670314682564517489773296723198703914652628080825243077096521894431927314987506894133719965357079711654575701849084053974536211204952236748959827373453815502426044065615252481141257102090336503726373197270218573023821427233574115695113169742069060757543391528569250291084637630268376500732123618474662379769242218101159538033774430150275518205571206783699838681245785314927231804456272659837841094333849958383447031338934961106641633873033782458270561132937489781973952378902875075605785144403542183460835931122050627372459932815111484087555883331816195374526246614408443249114148244197276493856811158240728166643170044710712412133338461596210565588869326229830795866767572020408970419045344901614753699573773337855519076170266797830821755894526148726500425370810503415244646025117689296516339246503251625230792903230111570900984120497668569770336165012214657881595317561885022118722 4120741077100053121913407166924289410999725585220309898886190953429350730749563028438008138664490820027303232673553075897840336231358794735683645622713774512542068803283698417289095751312266940502295225235475179941211301441863423629794808090908724659717326725462937141266172308525473655160851164894476716030888820465094026234927488307705976119563837892838028652471662165307842623674852197710458161924923457630742838990072622073522173526443889719543320896664136259013211332569008189087583115005441016335768065834283628030951669929615068327434623792156351654273523685523399373570035122382670832951388028615821098208970444914896308219040414399303608702304053922044623519029385134073027667413704770608092831815850712675660619255922494805852211220380279431308691791363618346424421894991934136781430309340059968871674376039206125747422289058719275065632181724674317287767111454835154190488244977815642889023438344329127386015259009752078822645497331831023886628330997948396887276223519899727722872359393379095192144091906364710805138870244651129677045863102976631575120401329939481344755842141773274120802029135959055353484242274303706623741592700632012418107665050104279701849006630008269849494104764818645279888832987740108996519416257846840529752909748591664943218296752305687200937675298577225155108283306400019217334381186967017126588630031634590130006831063830068485123659015951948219014564465042145159353620743340596508983834171266798143155367117164907059969730668044629797478909971378720435725963116845958235018670219606908584011146126814688807029386868843371801727781868047567044955890218010252571319909867022065878863216495139743578272106062646517850435227799933273559370088169329095485161025683996773553275493219224578960241921535859817894015978246421994693846624161435202950825333049373228856321672754013727938766725501573138202349466487151873023270310536294709406937790190830286989859730052516557835619935843408406281845272374188863521199506517312685634132651928568268329181200179684943640238890955776619302892858396010057200845918427399928118237709226410507221770534445449866933294452878497969107577401241499054255574526939101366348294356122462904193691431489773764101199391276614617488753760201411937868433009428948181789115076133427023777171936932664196459245952764554301994485516444960767142936661974331818739259489243448966168468387211619270907959316896289501729952481961347659270289805667505717351757791679059216045155162895747310407151410802728159871176812773213573187343966491699740896340137933784797965117227894397166280021792478810265850677718077495127921135489255170420171703272240837464714025248400993965790586483900668984127227165943382854926181129657283919335674004316335811004844984538123598776985516133413619545972367323099559334600586254492394020270320632671214133519713326603331651017911476012275994515919996840845297881500280772217615363371991361520867933558150199789702113008149104947056151812934352834083951019023115395074828928554305870824646828497253457917706672048432689639505098645417152207225501654072538619980500146926865868806359328632723475918626755129670829736078700993527212605890632907297297076501342886022454203729794828749245156052187529739505052597168314709642474135829998099017200865300688351736138221585939906909873776267130739828482611947924452549937244018257488851257526398474527402806734428996061842252331385167791906817971006038247751952547545952407655566024921714469015096066681396171080215095147278313393279772835157675853519879367401 6667499121585736932363750377819819406836560554897495241430939531578095765125218946556928842482245404755600859612677411334818374692167800046857601943449697491792700659733490665814687607189335620864603812244679677659688852432842580586795861463352196363394901471823472509378511466357058025826860305269162269700925123308169016693296790721919649456554176282549159455222181054534749425897851360917799884629394999276276563000783877737852524370751115389335597145252328734236641825882654185554532467986876191967159964150388265844415735413925944846677132313114842090302591161116803564380561552557859111691409028672260058962051752777846485097918382820405171993850205656791206856536178637393005266444906296851806729920932226633017308626412952724843795968919314143402827067366575707567330993329609486416650771094685370340301971029533450188743938189118343542973942762775893347463622232932295823253267485186280176054536024804478049355371454668970916755102776166029530344003207183277322909474620436026323795842968479035441459088114022882091415588958731507058154447685142266754696070264038642691465543260417952956171999249554330694625569983321218608129767302112245483977409725567605002404372849554277017707575782354321362232941999237305625036811689067061918884044360528325223480698186674628257596333014442976057889684974279885603166802088334058623231881940286403840870952762101113519478789026191709633884847788655403104651093333802023752927210937080056791388346830859282467590786824111098921158440518055363954130800770591999841180181987873003766145290459750922300974462004550601927784380831289993534204601017315866490424019953671203917749559891254328732480178176458326743015496555022257545324840754441121917836330094593406612762954925943955543552355459536607494975787490445014879008964424275054830136998014483809774175529820010103668816418641752924487238977672250888542981708893733004453106207303079363782178787955895616794804750668815314891723388484007148671511508591130057011627724736902510027819857222948744786348557234744964416124980534971792930967503634345429410870831029929631195658076917213041652575375250145196931814819962005777242029609409634605928807498021473724138468702216787835133369901378028245161283812922289508353378548853995299493977387337559805045961229105023981968886207141220114456403434357447712772178295557467956535999489702461532501256529730766376668166054773245303570998613293364495054230045714380181804401111356915738841114173199034804237240444420318006321138891941558214740852567706269366338096427771708367360648591535058494251954727424490977862834183166464721015098454349746410053216802856926135028707812918483739087309682604583636755307991186459951448075561584598906842568138036301168084556639113825447861039490669624824498209116282926932788416088680536459635522801773928316223856217052976528921236484499833703228090035691954015039950561038315609143932622282446158498201934650931913320587670528874189274252972472386608514101294541320966281612628392987116609961755729057914190366509889527023489463482092448491142186608295706411653762958417487998806296141302585102378793702360914815233278262161829458334656518005367230112187985430441905786019925169354995859564495436643887749249873662171520800714863996641269061911577712821690197734432151528776236103607062997507400503020918343497894838858771957062624595381917550697669604565250751956368401057885593162717321386250684272869641844062291654158817650152507372245207637582380291577883664917614478405494430716752993415404901486123 10788240198685790054277157544744108817836286140117805140317130485007446495874781974994936981146736224782904092286230487232658710923526594782541247566163472004334769463017189083103783358501602561366899037480154857600900153874706004216590669554260921023112228197286409650644683774882531680987711470163638985731813943773263042928224279029625625576118014175387188107693843219842592049572703558628258046554318456907019401990856499811374697897195005108878918041916464993249853158451662374642115582992317208302928029984671893875367405343541013174111756105271193744576114846640202937950596674940529944642797057288081157171022197692742793316958797219708780696154259578835830375565563771466032933858611067459899561736782939308677927882335447530696007189299593574711518858730194053991752888321543623198081080434745339211976347068739575936166227247837618608606124487450210635230733687767450013741512463001923065077974369133605435370630464421049739400600107997053416972334205131674210185698140335754046668202361858130633603180020387592896554459203382636735200310788118898329816471593978124036221385402191227076974028385513386048109812257624925231871360002744257902085074775671884704253379479562546867201680547172966642121774986977414621556227946913902448636954109119990166698994938980315458534008313020201212997968280679904820501183275301075749820511971920993970877783825931182004602448042143657852899412253697548264004714077142620261911045108346854934543713948024189527560517492155728718637350489434084389856763887437958076198852207479912350156436586565611108003848873393973729512162699337560579160491235326119061743929820693269796612776386394072310752284239104844593450724354955531104694928923770217402997355778590180166038448145168534503794276995396425388991765736867009572855588585710257780962331063857038630497202574023831607583144143326062689588444159402761566252019430027713860043997493909650772038518008412174630424686512223721173568660858196012192711015108442742645760376665470778357001057402633688426587448190521583719017838930981850131813422061745357529108540256340138417428611362662908585869828128643166039392221203504831497604136348735972277101854143936628332160133706561599234569292654642862650037573123701446221811558282943481283092463470986828823133166037688178428132159905774416450888950802408479915114957531799775275258978945910498669724916942385647576125371669534805300951095254712154324519851381885899156158903035974954886269336094782114644391855223046166192315704714771787928196534197969107234436565705493165325765819429455660531976519903301243713511901243959848936233943604916830224920075097763599742733061319477704877896166505252620882535157129842806374256691241882826178242142352636979089401623651949046638025006803038444044181483606026492123016674935028853655793122406599530357375930379579860572254395975845979222605955688794860337832061319087826759295994273807679366135492801131703022700678677979136330404785406739442598052313564436361356441556947292987434608584226311372108073181937959713128968580737865643349412109949778950273743458564414864675102500631217825854712329116044486063014340862822985547262408638274527409264486773327928240223654964183745104720547624173627254302470830486230443188999826639368079112443013510041933872653737468683145977383330128247228985632866267950444776102790214551475852908316025225072411299679748018210653389270760954624139357256722520621594391608244061814383675074221841260303704263776462658098760064892791798774203551910669268924780853524 17455739320271526986640907922563928224672846695015300381748070016585542261000000921551865823628981629538504951898907898567477085615694394829398849509613169496127470122750679748918470965690938182231502849724834535260589006307548584803386531017613117386507129669109882160023195241239589706814571775432801255432739067081432059621521069751545275032672190457936347562916024274377341475470554919546057931183713456183295964991640377549227222267946120498214515187168793727486494984334316560196648050979193400270087994135060159719783140757466958020788888418386035834878706007757006502331158227498389056334206085960341216133073950470589278414877180040113952690004465235627037232101742408859038200303517364311706291657715165941695236508748400255539803158218907718114345926096769761559083881651153109614731851529430709552278318098273026124910165436955962151580067250226103982694355920699745836994779948188203241132510393938083484726001919090020656155702884163082947316337412314951533095172760771780370464045330337166075062268134410474987970048162114143793354758473261165084512541858016766727686928662609180033146027635067716742735382240946143840001127304856503386062484501239489706657752329116823884909256329527288004354716986214720246593039635980964367520998469648315390179693125654943716130341327463177270887653254959790423667985363635134373052393912207397811748736588032295524081237068335367486784260042352951368655807410944644014838256045426911725932060778883471995151304316266827639795791007489448343987564658029957917379034195352916116301727046316533408978310877944575657296543530627554113365092252641985552167949774364473714362336277648401043232462415563171336466220909977788650019769678211339320833685873183586778801403071112490047346632454933032883967553227312024451864553009985312611099329078340848404672732394033935276399562785078987176827421831653650109233728323760718313150204796989014554217305964307791425229437181039036065292049342203160864222523699572799657388101402373288384820914625582433212936005425266548135142819465953643062780925696090786939979371286269769613086688279875950238445203378788362971207041165510608739633745758370578205909352165410352470628835923349434367939194032671107811321386045990954575190107136938780777069850808546633869094395142712160397018367046994530907292385159856192687293253089267731811258468648372031170981446673152024244291426442780108871949708548076649378749897096266080960560014392890693727383509293816918881632299643364172513454596656330002669049101904238473572532993477201532686414410964514154783931247327792221576346084410424569951332397954663240278136877954689734771440874237961443965205849109836257637843148316302757822332252826481733020810280388938147173958262765774494499064497472663268542390599888953424911432763615565313291315924180527846581232147432556389493490880475679682450695991380748875377782622357403435903228616556253837864337427452063616343288349206853325604657757879126051112153608105757327638054185340280104044570339955369286298439691827486736618432062830314134491598718245485361927506416981902863481398641933802928233506031476959301296292603024652443881918926643641757521452472203769834026243580133538740964285043060817515003552344492657751243903863823280637141024020726331732131607085888997459382080990393125754629488653784611448339614961562171614100448290233575922742015864930499974579054447156354117341460743507406793491236235670535715973201325226729213505511341846156754235982424982507270204268634268663662684329682339647 28243979518957317040918065467308037042509132835133105522065200501592988756874782896546802804775717854321409044185138385800135796539220989611940097075776641500462239585767868832022254324192540743598401887204989392861489160182254589019977200571874038409619357866396291810667879016122121387802283245596440241164553010854695102549745348781170900608790204633323535670609867494219933525043258478174315977738031913090315366982496877360601920165141125607093433229085258720736348142785978934838763633971510608573016024119732053595150546101007971194900644523657229579454820854397209440281754902438919000977003143248422373304096148163332071731835977259822733386158724814462867607667306180325071134162128431771605853394498105250373164391083847786235810347518501292825864784826963815550836769972696732812812931964176048764254665167012602061076392684793580760186191737676314617925089608467195850736292411190126306210484763071688920096632383511070395556302992160136364288671617446625743280870901107534417132247692195296708665448154798067884524507365496780528555069261380063414329013451994890763908314064800407110120056020581102790845194498571069071872487307600761288147559276911374410911131808679370752110936876700254646476491973192134868149267582894866816157952578768305556878688064635259174664349640483378483885621535639695244169168638936210122872905884128391782626520413963477528683685110479025339683672296050499632660521488087264276749301153773766660475774726907661522711821808422556358433141496923532733844328545467915993577886402832828466458163632882144516982159751338549386808706229965114692525583487968104613911879595057743510975112664042473353984746654668015929916945264933319754714698601981556723831041651773766944839851216281024551140909450329458272959318964179034024720141595695570392061660142197887035169934968057766883982706928405049866415865991056411675485747753788432173194202290898665326255823972719966055654123693262757238860710200399173056933538808015542303148478067844066741821972028216121639523453615788131854160658396935493194594347757836144469087911542609908030515299642538858824315031507431529010599262369015440237237882107106550483011206309346980802788969629911033602508486687313970461358959169692400797001665419882262060162314279533462692227561180400338825150526952768947358181335962264672602408210621067507086517447594282529840706363615537671820416798112314914172900803802788803703269748478151980116718917428865648613652845388599033526024154866410338705770301371101790597245636102207580806969559182694698012180230393969815315907767231093465289857985654384418887566341559580070503056953052453334514173935557439148843102015615088878520378305446145564196588944068364559199052422741575126263359886417723541137089504275701712586572083494979917034449438550594166947109046587127376938608077812136250065745276451525661673301947069543735715614683676491262662524610830061517230472920253195319365989027884832461935062543285865493710205921670193688994495742287573091479178924181680658406512873765446449747400643568179777841010828195264312201249875546317728156501142565020754088218360593003787359306943887475429429181335281916284930716958977097762266467235097722486069005590684991142257854815323143981687092863649920005220136463739841774065479739626466142528058373723254001858474286650879398784391064352386165576301198549601147814427164610247992789707836427115071965600100764129314112830627278779777787585000300951054765815046109933216894081185047400062003042837820574331953254463193171 45699718839228844027558973389871965267181979530148405903813270518178531017874783818098668628404699483859913996084046284367612882154915384441338946585389810996589709708518548580940725289883478925829904736929823928122078166489803173823363731589487155796126487535506173970691074257361711094616855021029241496597292077936127162171266418532716175641462395091259883233525891768597275000513813397720373908921745369273611331974137254909829142433087246105307948416254052448222843127120295495035411684950704008843104018254792213314933686858474929215689532942043265414333526862154215942612913129937308057311209229208763589437170098633921350146713157299936686076163190050089904839769048589184109334465645796083312145052213271192068400899832248041775613505737409010940210710923733577109920651623849842427544783493606758316532983265285628185986558121749542911766258987902418600619445529166941687731072359378329547342995157009772404822634302601091051712005876323219311605009029761577276376043661879314787596293022532462783727716289208542872494555527610924321909827734641228498841555310011657491595242727409587143266083655648819533580576739517212911873614612457264674210043778150864117568884137796194637020193206227542650831208959406855114742307218875831183678951048416620947058381190290202890794690967946555754773274790599485667837154002571344495925299796335789594375257001995773052764922178814392826467932338403451001316328899031908291587557199200678386407835505791133517863126124689383998228932504412981077831893203497873910956920598185744582759890679198677925960470629283125044105249760592668805890675740610090166079829369422217225337448941690874397217209070231187266383166174911108404734468280192896044664727524957353723641254287393514598487541905262491156926872191491058476584694605680883003160989220538735439842667362091702160382269713484037043243287822710061784719476077549150486344407087887679880473129937027757480883560874301793304152759542602333921156062507588341960536579470217355126642886653798554852459459041054679989303477862889136257375273453926931409067282828879677643601987922414809062760234886219891981806303534526048976871627865477128688920558474757333273417805553260467970447680719985078272680345215683355372191772556821042837232165088080096561321956323112499222168893999763478265473721122120865289701463710335238897775916242654561011687810288689696064708224555095023044850512350865453082019645574418061077278931821756342341036354682415952407656454509774511219224898027431793266294738006446054379502552659896230698594641358483970099839014558885686866204070064808988838898739514243310781193831007143069285614809795400592808307864724925136158221453762448322018921196894846292219862703130513273437318149183498035636154001748364981128962683383933341945882202166159480238424970767655223519840225244692639559236156927205344123997938450292611093397306033894698565753227386315355094810347705258935709277377091685787539720301164991544822359529775951016632549927627853195523749264137049944704952565592933186365832706398493912332609546440749674128756292528220591637899784498823682321724392069963088655599546912127873311100261925558042452169431180867596292710815231261227033290633745808657261407159815801732930996727473200642361160484466173506197086825515463601910139364116379756487962940435490847124006025914557779676749488783177070556443029540747967368762283583469189307060844271536107604066862949315493760786325527680268271326387956089971130063610029907332207311472089237994637584145532818 73943698358186161068477038857180002309691112365281511425878471019771519774749566714645471433180417338181323040269184670167748678694136374053279043661166452497051949294286417412962979614076019669428306624134813320983567326672057762843340932161361194205745845401902465781358953273483832482419138266625681737761845088790822264721011767313887076250252599724583418904135759262817208525557071875894689886659777282363926698956634132270431062598228371712401381645339311168959191269906274429874175318922214617416120042374524266910084232959482900410590177465700494993788347716551425382894668032376227058288212372457185962741266246797253421878549134559759419462321914864552772447436354769509180468627774227854917998446711376442441565290916095828011423853255910303766075495750697392660757421596546575240357715457782807080787648432298230247062950806543123671952450725578733218544535137634137538467364770568455853553479920081461324919266686112161447268308868483355675893680647208203019656914562986849204728540714727759492393164444006610757019062893107704850464896996021291913170568762006548255503556792209994253386139676229922324425771238088281983746101920058025962357603055062238528480015946475565389131130082927797297307700932598989982891574801770697999836903627184926503937069254925462065459040608429934238658896326239180912006322641507554618798205680464181377001777415959250581448607289293418166151604634453950633976850387119172568336858352974445046883610232698795040574947933111940356662074001336513811676221748965789904534807001018573049218054312080822442942630380621674430913955990557783498416259228578194779991708964479960736312561605733347751201955724899203196300111439844428159449166882174452768495769176731120668481105503674539149628451355591949429886191155670092501304836201376453395222649362736622475012602330149469044364976641889086909659153813766473460205223831337582659538609378786345206728953909747723536537684567564550543013469743001506978089601315603884263685057538061421868464858682014676491982912656842811843464136259824629451969621211763075878155194371489585674117287564953667887075266393651420992405565903541489214109509972583679171931764784104314076206775183171501572956167407299048734039304385375756169193437976703304897394479367613559253549517503512838047319420952532425623655057084385537892109674331402745984293363836937090852394173904227367885125022667409937217751316153654256785289394052570041193997849250621990954689200071014985933680609376184849924995199398533583863540374108653635186472111842590928710774871752453785415746781789979152156062055719193407726465081073823381284250784059596403799788745352839741651409880340014014678599759208593886215510140963210851418915125872088399700678035601221576773243506024066693715534766878913258980331640716753647185534017354782600458448303056828889624981433378731005797299885519836346809011989710385961228277838216376872325283267958454255075266404976518249474782844450857038532565451446144705627045669915426287002928188318730603111465439358379636113233349966673690173620374636013986330006168074538319794400927063844436409942752662966876014906490799603302740281597207474327382886390157965358559178050328983713102296224430799799519261975138945714618089591123120647581296948206015280262566565141929744438197737839633758346437227086370245908397090266943945253050687332778218370870194150995960158470120010584261272660945035665421716897490228095271548371325828631323037141434066023188024144795077307394210354309909812326590838608725989 119643417197415005096036012247051967576873091895429917329691741537950050792624350532744140061585116822041237036353230954535361560849051758494617990246556263493641659002804965993903704903959498595258211361064637249105645493161860936666704663750848350001872332937408639752050027530845543577035993287654923234359137166726949426892278185846603251891714994815843302137661651031414483526070885273615063795581522651637538030930771387180260205031315617817709330061593363617182034397026569924909587003872918626259224060629316480225017919817957829626279710407743760408121874578705641325507581162313535115599421601665949552178436345431174772025262291859696105538485104914642677287205403358693289803093420023938230143498924647634509966190748343869787037358993319314706286206674430969770678073220396417667902498951389565397320631697583858433049508928292666583718709713481151819163980666801079226198437129946785400896475077091233729741900988713252498980314744806574987498689676969780296032958224866163992324833737260222276120880733215153629513618420718629172374724730662520412012124072018205747098799519619581396652223331878741858006347977605494895619716532515290636567646833213102646048900084271760026151323289155339948138909892005845097633882020646529183515854675601547450995450445215664956253731576376489993432171116838666579843476644078899114723505476799970971377034417955023634213529468107810992619536972857401635293179286151080859924415552175123433291445738489928558438074057801324354891006505749494889508114952463663815491727599204317631977944991279500368903101009904799475019205751150452304306934969188284946071538333902177961650010547424222148419164795130390462683277614755536564183635162367348813160496701688474392122359791068053748115993260854440586813063347161150977889530807057336398383638583275357914855269692241171204747246355373123952902441636476535244924699908886733145883016466674025087202083846775481017421245441866343847166229285603840899245663823192226224221637008278776995107745335813231344442371697897491832767614122713765709344894665690007287222477200369263317719275487368476949835501279871312974211869438067538190981137838060807860852323258861647349624580736431969543403848127284127006719649601059111541385210533524347734626644455693655814871473826625337269488314952295903889128778206506403181811138041737984882069280079591651864081984192917063949833247222504960262601828504519709867309039626988102271276781072378333295725554753430938341337063885959361144220097425965377129835112115099689565974664502487159409369513110937755515585796348864839022266125784002396565363820588066692065444615066739473085403555148240334459717745064939150836821212971042208234431337858057143638777829002601673137996184784719612409397507772431674844497450262846600926213842882913127423958988122437823978288528301521529184217590305936349921297823970128957902409295744280659794031065602692227420093615663713190784543782068204037014503145615848583354924981222095722259595597543279482526677452455780547816418004951312822479066056365167602506229921076763660458762460602758911432300711562668118731667144732929964670506037711731176051381859133032369835055821338832954851888865560244940135586858176608456780669134954747447549086318596321289942457432672188786459653390657393346348337101956013514834400167521861093032403116181501724929800176115955288927313223691743927527232403594053450579721789307201529320964353177410765309157651356311591308467822022113159154208405107214726417665781999050321228422754258807 193587115555601166164513051104231969886564204260711428755570212557721570567373917247389611494765534160222560076622415624703110239543188132547897033907722715990693608297091383406866684518035518264686517985199450570089212819833918699510045595912209544207618178339311105533408980804329376059455131554280604972120982255517771691613289953160490328141967594540426721041797410294231692051627957149509753682241299934001464729887405519450691267629543989530110711706932674786141225666932844354783762322795133243675344103003840747135102152777440730036869887873444255401910222295257066708402249194689762173887633974123135514919702592228428193903811426419455525000807019779195449734641758128202470271721194251793148141945636024076951531481664439697798461212249229618472361702425128362431435494816942992908260214409172372478108280129882088680112459734835790255671160439059885037708515804435216764665801900515241254449954997172695054661167674825413946248623613289930663392370324177983315689872787853013197053374451987981768514045177221764386532681313826334022839621726683812325182692834024754002602356311829575650038363008108664182432119215693776879365818452573316598925249888275341174528916030747325415282453372083137245446610824604835080525456822417227183352758302786473954932519700141127021712772184806424232091067443077847491849799285586453733521711157264152348378811833914274215662136757401229158771141607311352269270029673270253428261273905149568480175055971188723599013021990913264711553080507086008701184336701429453720026534600222890681195999303360322811845731390526473905933161741708235802723194197766479726063247298382138697962572153157569899621120520029593658983389054599964723632802044541801581656265878419595060603465294742592897744444616446390016699254502831243479194367008433789793606287946011980389867872022390640249112222997262210862561595450243008705129923740224315805421625845460370293931037756523204553958930009430894390179699028605347877335265138796110487906694546340198863572604017827907836425284354740303676231750382538395161314515877453083165377671571858848991836563052322144836910767673522733966617435341609027405090647810644487032784088042965961425831355919603471116360015534583175740758953986434867710578648510227652632021123823307215068420991330138175316807735904828329512783835290891941073920812373140730866362643916528742716476158097144431834958269889914897480353144658173966652598433679558143465274630323000324250414754824445924275017673262144211069215296824498960993375486223753324752446776345078088120144384863391540931332578138843991178328181503195804291828901661890073349695399126335876885192300501080076111127625404953165515420972179636094449941478821267995057692954874690072838674220385941189182641013796498368560032217141759859906545483599666774609493005477220424436736831358350418809199023684667355718597709489965304711421285454666621022308903819069099745376883622167445859810187044722286489285990066705621887490432668240427886641267458705769529605640774511150927883444309692458592299406331841292679850295712777646788768628677297231226701638626512555141609897395896840685412528511334478791663456340506697217942211496798313411066915889228653237883082607408256299931110093693162167175909719441937523754380878204066722219955799323090786534839795647273180837394608231338940800206448445670182850863448733507298183417842739887685702523604637711852382734342866951037861843405506036857528977184942914345609256088136347178353200184522120628020091908862647819261362984796 313230532753016171260549063351283937463437296156141346085261954095671621359998267780133751556350650982263797112975646579238471800392239891042515024154278979484335267299896349400770389421995016859944729346264087819194858312995779636176750259663057894209490511276719745285459008335174919636491124841935528206480119422244721118505568139007093580033682589356270023179459061325646175577698842423124817477822822585639002760818176906630951472660859607347820041768526038403323260063959414279693349326668051869934568163633157227360120072595398559663149598281188015810032096873962708033909830357003297289487055575789085067098138937659602965929073718279151630539292124693838127021847161486895760074814614275731378285444560671711461497672412783567585498571242548933178647909099559332202113568037339410576162713360561937875428911827465947113161968663128456839389870152541036856872496471236295990864239030462026655346430074263928784403068663538666445228938358096505650891060001147763611722831012719177189378208189248204044634925910436918016046299734544963195214346457346332737194816906042959749701155831449157046690586339987406040438467193299271774985534985088607235492896721488443820577816115019085441433776661238477193585520716610680178159338843063756366868612978388021405927970145356791977966503761182914225523238559916514071693275929665352848245216634064123319755846251869297849875666225509040151390678580168753904563208959421334288185689457324691913466501709678652157451096048714589066444087012835503590692451653893117535518262199427208313173944294639823180748832400431273380952367492858688107030129166954764672134785632284316659612582700581792048040285315159984121666666669355501287816437206909150394816762580108069452725825085810646645860437877300830603512317849992394457083897815491126191989926529287338304723141714631811453859469352635334815464037086719543950054623649111048951304642312134395381133121603298685571380175451297238237345928314209188776580928961988336712128331554618975858680349353641139180867656052637795508999364505252160870659410543143090452600148772228112309555838539690621786746268953394046940829304779676565596071785648705294893636411301827608775455936656035440659763863661867302747478603587493979251963859043752000366647768279000870883292465156763512586296050857124233401912613497398344255731950414878715748431923996120394580558142290061495784791517112419857742954973162693676519907473306546245736551411395378657546140309577876862616354737148103572213435394250464338123210598338853014318421440847565247529513897974329296446918374487708830200594307287198200857192722249956765415140014193075349970595855649320410570845370469892316352242185150678302684372816679325138696470783877291745976670405170660801592038521568930043404529667404606460832759326482579902033451993599658248415025359659871947993416613990603705639895533460094262613830581198947280816339969421761327165470499285880636644353969112926323503789135682554205242415413890336150146236865001985252056283093230291698744301449261005281071365462697008895186080216789541307247531089280056142659002350189180673873277042128826805355918566223065654843045315473539067052998032835631268262955781449473593373469940784016713080600245048440609716262228315763227466211813550392853181873346456716437134871941751660788015237562130092431973203322629947395112651039564688796225496641534483815212934927198691162432104523650068480358826196582916802166686628541254505654077078110249506332561605291736847045685873907912969047684117243603 506817648308617337425062114455515907350001500416852774840832166653393191927372185027523363051116185142486357189598062203941582039935428023590412058062001695475028875596987732807637073940030535124631247331463538389284071132829698335686795855575267438417108689616030850818867989139504295695946256396216133178601101677762492810118858092167583908175650183896696744221256471619877867629326799572634571160064122519640467490705582426081642740290403596877930753475458713189464485730892258634477111649463185113609912266636997974495222225372839289700019486154632271211942319169219774742312079551693059463374689549912220582017841529888031159832885144698607155540099144473033576756488919615098230346535808527524526427390196695788413029154077223265383959783491778551651009611524687694633549062854282403484422927769734310353537191957348035793274428397964247095061030591600921894581012275671512755530040930977267909796385071436623839064236338364080391477561971386436314283430325325746927412703800572190386431582641236185813148971087658682402578981048371297218053968184030145062377509740067713752303512143278732696728949348096070222870586408993048654351353437661923834418146609763784995106732145766410856716230033321614439032131541215515258684795665480983550221371281174495360860489845497918999679275945989338457614306002994361563543075215251806581766927791328275668134658085783572065537802982910269310161820187480106173833238632691587716446963362474260393641557680867375756464118039627853777997167519921512291876788355322571255544796799650098994369943598000145992594563790957747286885529234566923909753323364721244398198032930666455357575154853739361947661405835189577780650055723955466011449239251450951976473028458527664513329290380553239543604882493747220620211572352823637936278264823924915985596214475299318694591013737022451702971692349897545678025632536962552655184547389335364756726268157594765675064159359821890125339105460728132627525627342814536653916194100784447200035026100959174722252953371469047017292940407378099185231114887790556031973926420596173617977820344086961301392401592012766623657036626916780907446740121285593001162433459349781926420499344793570201287292575638911776123879196450478488237557573928846962542507553979652998668892102308085951713456486901687903103786761952562914696448788290285329652762788019446614794567912649137297034300387205927619749787002334755223308117820867643172505906986104389201826041718378981796555064402322786891372410410247783282650691074963299116586084562606339070868217192643335649658282837720837378250952626552821378922488790394005149021623911846838764835413319411226855788156150400486681972995874845481867663157330314397134314295500593133754163738751981818815344625556601990774679535365428411964561884546366320739304810082246676642944999076878672851762191018222366802615637675271061358493242950059567325251866653613901838648873240830426910847382908048082504164156157648609993075125749259827129905846558576578032878132460691021585888734004802849672184893570697739663664869028850187865930512502318954036299717957353373885703988815693229014886939524723646041331094734400133634708771814045764270940244332429581674022697338702246611353023391424969380531355142133771883438138035205164989966194428596919904093302256039527921406781547308061196074956738323770914003529078393065295501903013422303523680059377223702898637450803328874284487257992935431396688039988422839024215605726197419999686334198385853510914805476258967673705965816775616866945480228399 820048181061633508685611177806799844813438796572994120926094120749064813287370452807657114607466836124750154302573708783180053840327667914632927082216280674959364142896884082208407463362025551984575976677727626208478929445825477971863546115238325332626599200892750596104326997474679215332437381238151661385081221100007213928624426231174677488209332773252966767400715532945524043207025641995759388637886945105279470251523759332712594212951263204225750795243984751592787745794851672914170460976131236983544480430270155201855342297968237849363169084435820287021974416043182482776221909908696356752861745125701305649115980467547634125761958862977758786079391269166871703778336081101993990421350422803255904712834757367499874526826490006832969458354734327484829657520624247026835662630891621814060585641130296248228966103784813982906436397061092703934450900744141958751453508746907808746394279961439294565142815145700552623467305001902746836706500329482941965174490326473510539135534813291367575809790830484389857783896998095600418625280782916260413268314641376477799572326646110673502004667974727889743419535688083476263309053602292320429336888422750531069911043331252228815684548260785496298150006694560091632617652257826195436844134508544739917089984259562516766788459990854710977645779707172252683137544562910875635236351144917159430012144425392398987890504337652869915413469208419309461552498767648860078396447592112922004632652819798952307108059390546027913915214088342442844441254532757015882569240009215688791063058999077307307543887892639969173343396191389020667837896727425612016783452531676009070332818562950772017187737554321153995701691150349561902316722393310967299265676458360102371289791038635733966055115466363886189465320371048051223723890202816032393362162639416042177586141004586656999314155451654263156831161702532880493489669623682096605239171038446413708030910469729161056197280963120575696719280912025370864871555657023725430497123062772783912163357655578150580933302725110186198160596460015894694230479393042716902633336963739264070577969116315073610948240131703388410403305580310827848276044900962158597234219108055076820056910646621178976743229231674352435887742858317781235716161161422826214506366597731653365316660381308956835005921643665200489399837619076796316609062285688629585384713202898162363226491908769531877592442677267423404541304114754612966263090983561319692413380292650634938377453113757639342695373980199649507727147558351355496086085325427637239796682901459353389289658040208583179172180812050133825169327114261651579516796077592206006214346161803604179975427512486576826384011799720897252818366344737798219905342480992699818687112179918272450634522629273564792015030727262792366718056934358455369091551950972781572064136564826578676396992676536921266787550678094314796032251665874766998388776410153829939082447852561182654988842662591754076317882193928719148518125270574933496864261431814032372321260448912728179114997462676273642171827235094548416486342831703020735030331725859083052010729291860261283830807237409516544706339004873902888163981653550451397249660957465788477754087287584831323938277168060849936978478788175839984822964175441682461131600190574381599700366350968392456178007978989773085966648712755965056278723298968849211312518868416202887206851708340460408152942578111099749176700911707518111572378002020036716591781643003911755514236571339641190902234267451925653763412308635359843476410767995814719391839724688585914629597472002 1326865829370250846110673292262315752163440296989846895766926287402458005214742637835180477658583021267236511492171770987121635880263095938223339140278282370434393018493871815016044537302056087109207224009191164597763000578655176307550341970813592771043707890508781446923194986614183511028383637634367794563682322777769706738743284323342261396384982957149663511621972004565401910836352441568393959797951067624919937742229341758794236953241666801103681548719443464782252231525743931548647572625594422097154392696907153176350564523341077139063188570590452558233916735212402257518533989460389416216236434675613526231133821997435665285594844007676365941619490413639905280534825000717092220767886231330780431140224954063288287555980567230098353418138226106036480667132148934721469211693745904217545008568900030558582503295742162018699710825459056951029511931335742880646034521022579321501924320892416562474939200217137176462531541340266827228184062300869378279457920651799257466548238613863557962241373471720575670932868085754282821204261831287557631322282825406622861949836386178387254308180118006622440148485036179546486179640011285369083688241860412454904329189941016013810791280406551907154866236727881706071649783799041710695528930174025723467311355540737012127648949836352629977325055653161591140751850565905237198779426360168966011779072216720674656025162423436441980951272191329578771714318955128966252229686224804509721079616182273212700749617071413403670379332127970296622438422052678528174446028364538260046607855798727406301913831490640115165937959982346767954723425961992535926536775896397253468530851493617227374762892408060515943363096985539139682966778117266433310714915709811054347762819497163398479384405846917125733070202864795271843935462555639670329640427463340958163182355479885975693905169188676714859802854052430426171515302160644649260423718427781778464757178627323926731261440322942465822058386372753503492397182999838262084413317163557231112198383756537325303186256096579233215453536867393993879461594280833272934607263384335437688555789460402034912340641723716155034060342207227608755722785022247751598396652567404858746477409991414749178030521807313264212011622054768259723953718735351673177048874151711306363985552483617042786719378130566888392503624381029359231305511073978914915037475990917608978021059821418669174626743064473351024291091117089368189571208804428962864919287278755024140203494832136621139250438382522436399099557968599138778736776400390936356382767464065692460157875232851918828830463649770971203420279740814472958439284867986211155235970073650442944810840831897803682172167950121383934791362219583280087568499811307096953001407680511406204798261381255383607359656283864783141397592299786867333653436497339102311368946647073255319341991753415594118549741696316681598647889341145828356882019360213397264334314506175084493637715903422180987165265101976801652682281428223543489939387181073859502227107007489306211993129923367295228060561239897398088671236402400760398695200754709270917941241794179215320130525194762890430410327820567131903050921178274097438580755691865922112462859101630595594878521500490431611001176126878086596175987566866651841662955332708153483138504386173557446144202407586692990059950968795492977685504846276910407387475606739973801210380786733525703654845591533403272856760288931221010209828805348911001079039635939343152202276559762480215117839993649345653449746507021213354391216244254782393097805541464202781575077700401 2146914010431884354796284470069115596976879093562841016693020408151522818502113090642837592266049857391986665794745479770301689720590763852856266222494563045393757161390755897224452000664081639093783200686918790806241930024480654279413888086051918103670307091401532043027521984088862726360821018872519455948763543877776920667367710554516938884594315730402630279022687537510925954043378083564153348435838012730199407993753101091506831166192930005329432343963428216375039977320595604462818033601725659080698873127177308378205906821309314988426357655026272845255891151255584740294755899369085772969098179801314831880249802464983299411356802870654124727698881682806776984313161081819086211189236654134036335853059711430788162082807057236931322876492960433521310324652773181748304874324637526031605594210030326806811469399526976001606147222520149654963962832079884839397488029769487130248318600853855857040082015362837729085998846342169574064890562630352320244632410978272768005683773427154925538051164302204965528716765083849883239829542614203818044590597466783100661522163032289060756312848092734512183568020724263022749488693613577689513025130283162985974240233272268242626475828667337403453016243422441797704267436056867906132373064682570463384401339800299528894437409827207340954970835360333843823889395128816112834015777505086125441791216642113073643915666761089311896364741399748888233266817722777826330626133816917431725712269002072165007857676461959431584294546216312739466879676585435544057015268373753948837670914797804713609457719383280084339281356173735788622561322689418147943320228428073262538863670056567999391950629962381669939064788135888701585283500510577400609980592168171156719052610535799132445439521313281011922535523235843323067659352758455702723002590102757000340768496484472632693219324640330978016634015754963306665004971784326745865662889466228192172788089097053087787458721286063041518777667284778874357268738656861987514910440226330015024361741412115475884119558821689419413614133327409888573692073673875989837240600348074701759133758576717108523288881855419543444463647787538436603998829923209910195630871675459935566534320638035928154773751038987616647899364913086040959669879896774499391555240749442959729302212864925999621725299774232088881903462000106155547914573359667544500422189193815771341247551730188201052219185741740774428832395231843981155834299787990282557332667571405659078580947945894260481945812362722085906826705526950494274822861725818573596179450365525045849447533273060502008002644461821105028589606855076124537956080945578417161450316235454047124786268344384380508556179749842281187609728564321078307473842292299796771688519860429678655432784010528948399374687011127575508115649234145322702744988448311883883433083211899833995738984429952515385337292374410996394680141007020595355270795770367227203416762358736267148626558566013935063483147295905520801200406698798476986803648612887891874548367456402034391108127386043568870232388474991946505157579234103781133725532480568353969951971086039476603961332432172406975116666825441034791214902831824548835830416649331710590216946389215426918816798668551281547979654915053926580998951742308334302794555523282535082838870737141949902322210386576466076026599681551458033964228145245759618699994475156176688417232495073986111807788169644503022033461200638739121782206807368947717670821278943254907716513131102121406020074261101271307213158815656573197867627012250597112489645266152788696204675172403 3473779839802135200906957762331431349140319390552687912459946695553980823716855728478018069924632878659223177286917250757423325600853859791079605362772845415828150179884627712240496537966137726202990424696109955404004930603135830586964230056865510874714014981910313489950716970703046237389204656506887250512445866655546627406110994877859200280979298687552293790644659542076327864879730525132547308233789080355119345735982442850301068119434596806433113892682871681157292208846339536011465606227320081177853265824084461554556471344650392127489546225616725403489807886467986997813289888829475189185334614476928358111383624462418964696951646878330490669318372096446682264847986082536178431957122885464816766993284665494076449638787624467029676294631186539557790991784922116469774086018383430249150602778930357365393972695269138020305858047979206605993474763415627720043522550792066451750242921746272419515021215579974905548530387682436401293074624931221698524090331630072025472232012041018483500292537773925541199649633169604166061033804445491375675912880292189723523471999418467448010621028210741134623716505760442569235668333624863058596713372143575440878569423213284256437267109073889310607882480150323503775917219855909616827901994856596186851712695341036541022086359663559970932295891013495434964641245694721350032795203865255091453570288858833748299940829184525753877316013591078467004981136677906792582855820041721941446791885184345377708607293533372835254673878344283036089318098638114072231461296738292208884278770596532119911371550873920199505219316156082556577284748651410683869857004324470516007394521550185226766713522370442185882427885121427841268250278627843833920695507877982211066815430032962530924823927160198137655605726100638594911594815314095373052643017566097958503950851964358608387124493829007692876436869807393732836520273944971395126086607894009970637545267724377014518720161609005507340836053657532377849665921656700249599323757389887246136560125168652801187305814918268652629067670194803882453153667954709262771847863732410139447689548037119143435629523579135698478523989994766045359721614945457661794027524242864794313011730629450677332804272846300880859910986967854300683623598632126172568604114901154266093287765348543042408444677904798977274407086381135514779220084433646459415459665184733380319268611551606870226845928806214125453123486348933349345405508592419245422251954850160683218784442778030881621196250745244522305926263495549633053559638126209509952562217829590738309605408505912420836833108111592076232009886595890597496395365813564628316686286309104490069597109176282184190728347699963665122401090783904358395042342103606893724689927540941084860231045391784332006734343294992358649513241533932190036398424945650986194802029858973089315080976183368109503887034070727677993328030348166423712152815130580624467751076864911351642264274469436116050648412397882322453882688127022020476743035793961751376775474463891340603101257309410864098292949714889344593828815636504541532420733235277624887893212880218691924091857626935297405526994646008166694265824010098646274411172341197632702679805490846022513695320169041713158980831041932013177174939309174986144457510855990688565977375123315507348466412794163159066086550650346951011649732991522670026087470081896150489627613281807511815462633761177906294890221489569960131992035612717858718749860914882598059918789690864601621137914254750616960662905322677786552258843256505379505587450807616991477779752872804 5620693850234019555703242232400546946117198484115528929152967103705503642218968819120855662190682736051209843081662730527725015321444623643935871585267408461221907341275383609464948538630219365296773625383028746210246860627616484866378118142917428978384322073311845532978238954791908963750025675379406706461209410533323548073478705432376139165573614417954924069667347079587253818923108608696700656669627093085318753729735543941807899285627526811762546236646299897532332186166935140474283639829045740258552138951261769932762378165959707115915903880642998248745699037723571738108045788198560962154432794278243189991633426927402264108308449748984615397017253779253459249161147164355264643146359539598853102846344376924864611721594681703960999171124146973079101316437695298218078960343020956280756196988960684172205442094796114021912005270499356260957437595495512559441010580561553581998561522600128276555103230942812634634529234024605975357965187561574018768722742608344793477915785468173409038343702076130506728366398253454049300863347059695193720503477758972824184994162450756508766933876303475646807284526484705591985157027238440748109738502426738426852809656485552499063742937741226714060898723572765301480184655912777522960275059539166650236114035141336069916523769490767311887266726373829278788530640823537462866810981370341216895361505500946821943856495945615065773680754990827355238247954400684618913481953858639373172504154186417542716464969995332266838968424560595775556197775223549616288476565112046157721949685394336833520829270257200283844500672329818345199846071340828831813177232752543778546258191606753226158664152332823855821492673257316542853533779138421234530676100046153367785868040568761663370263448473479149578141249336481917979254168072551075775645607668854958844719348448831241080343818469338670893070885562357039501525245729298140991749497360238162810333356821430102306178882895068548859613720942311252206934660313562237114234197616217261160921866580768277071425373739958072042681803522213771026845741628585252609088464080484841206823306613836251958918405434555241922987637782304481963720444868667571989658395918324729879546051267486605487578023885288497507810351880940341643293478528900671960159355650597225822589978213469042030169977679031066156310548381241670327134657793314003915881854378549151660516163281795071279065114547954899881955881580777330501239808380409527979584622421566342297365390723925142103142063107966608212752969022500127328382499852028083548741668195115784159052941778972922844835752573413181260599493450966722034351446759143045478136602544558537194383377520666564699284527449805946310010819348225436702516184395906690496378447401370763515663829402313280406109030306119934157628890768077512739143413393962870078235113070872923310819960613320624889224326445138674388008171355187019067423610900947851671167839223647618790890833035450051114131559693787843255083094825820497463546684406849643251323841920293374994209384695454432968525338189881291098986394870608322666146265715845978857845183966258168528053190059107704380643661471449201485480726841923195110241588990529343292896751880061449432512118837592994706960485956985939758173891051483320447252066379273223648816245860457457250788623180739625142113150331898409045613961136768429644787464557052327178044845776881497927270421930822409316923682690208699253774242420086806436420682193825852967635302821966723027157988515851888267876064138334359750126470268755976618077096073769780173984428045207 9094473690036154756610199994731978295257517874668216841612913799259484465935824547598873732115315614710433020368579981285148340922298483435015476948040253877050057521160011321705445076596357091499764050079138701614251791230752315453342348199782939853098337055222159022928955925494955201139230331886293956973655277188870175479589700310235339446552913105507217860312006621663581683802839133829247964903416173440438099465717986792108967405062123618195660129329171578689624395013274676485749246056365821436405404775346231487318849510610099243405450106259723652235506924191558735921335677028036151339767408755171548103017051389821228805260096627315106066335625875700141514009133246891443075103482425063669869839629042418941061360382306170990675465755333512636892308222617414687853046361404386529906799767891041537599414790065252042217863318478562866950912358911140279484533131353620033748804444346400696070124446522787540183059621707042376651039812492795717292813074238416818950147797509191892538636239850056047928016031423058215361897151505186569396416358051162547708466161869223956777554904514216781431001032245148161220825360863303806706451874570313867731379079698836755501010046815116024668781203723088805256101875768687139788177054395762837087826730482372610938610129154327282819562617387324713753171886518258812899606185235596308348931794359780570243797325130140819650996768581905822243229091078591411496337773900361314619296039370762920425072263528705102093642302904878811645515873861663688519937861850338366606228455990868953432200821131120483349719988485900901777130819992239515683034237077014294553652713156938452925377674703266041703920558378744384121784057766265068451371607924135578852683470601724194295087375633677287233746975437120512890848983386646448828288625234952917348670200413189849467468312298346363769507755369750772338045519674269536117836105254248133447878624545807116824899044504074056200449774599843630056600581970262486713557955006104507297481991749421078258731188658226724671749473717017653479999409583294515380936327812894980654512854650955395394547929013690940401511627777070527323442059814125233783685920161189524192557781896937282820382296731589378367721338848794642326917077161026844528763470551751491915877743562012084438614655583830043430717634762377185106354742226960463331341519563282531979784774833401941505911043354169025335079367929710679846645316972828773401836577271727025516149833501956023724338313853211130518679232518049760381942137978237593501303886024706522468658350284885343681668860685005257492609380046857319530746812572707673794822888853663027263980486696948748890012875149769611432411910132129795097558526499513584221068374942311848375894874794097612412843373601112292807142132302009702775541838339613856273037142929846012625900936796688734393111360515866352381336201703353442779576426031528476138918916088558970433155107504886167164779972091670165708965782952842517940289720200811394628099316384184715597310642004865297066818287904770635692815210507112864198566998951123603745738396846476860452145047686043001786170656117457368179746550852021841384652761331726975995576557370907471946207439006634707865941316998917952935348830360658306591709577235263912214793620983772964599255035974902784208199700982245360057263694128291099670874934638948477667672459058689009742733055692000315611813904179778659385766278032804665155170543108708451027554092512831324648295902770602505228538969461012146302385313525261356123664546881386771651764180918011 14715167540270174312313442227132525241374716358783745770765880902964988108154793366719729394305998350761642863450242711812873356243743107078951348533307662338271964862435394931170393615226576456796537675462167447824498651858368800319720466342700368831482659128534004555907194880286864164889256007265700663434864687722193723553068405742611478612126527523462141929979353701250835502725947742525948621573043266525756853195453530733916866690689650429958206365975471476221956581180209816960032885885411561694957543726608001420081227676569806359321353986902721900981205961915130474029381465226597113494200203033414738094650478317223492913568546376299721463352879654953600763170280411246707718249841964662522972685973419343805673081976987874951674636879480485715993624660312712905932006704425342810662996756851725709804856884861366064129868588977919127908349954406652838925543711915173615747365966946528972625227677465600174817588855731648352009005000054369736061535816846761612428063582977365301576979941926186554656382429676512264662760498564881763116919835810135371893460324319980465544488780817692428238285558729853753205982388101744554816190376997052294584188736184389254564752984556342738729679927295854106736286531681464662748452113934929487323940765623708680855133898645094594706829343761153992541702527341796275766417166605937525244293299860727392187653821075755885424677523572733177481477045479276030409819727759000687791800193557180463141537233524037368932610727465474587201713649085213304808414426962384524328178141385205786953030091388320767194220660815719246976976891333068347496211469829558073099910904763691679084041827036089897525413231636060926975317836904686302982047707970288946638551511170485857665350824107156436811888224773602430870103151459197524603934232903807876193389548862021090547812130767685034662578640932107811839570765403567677109585602614486296258211981367237219131077927399142605060063495542154882263535242283824723827792152622321768458403858330189355330156562398184796714431277239231424506845151211879767990024791893379821861336161264791647353466334448246182324499265559375009287162504682792805773344316079514254072103833164423888307960320616877875875531690729734983970210555689927516488922826202348717738467721775481126468784633262861109587028183143618855433489400020274467247223373941831683640300938115197012784976157902123925217035249510488010347885125353238301381421199693293367813515224225881165827480376961177738731432201540549887710324637830265677050045554219822306627711292063858266526504613258418438753208873497824041565098259331850719272959491398221564458363864217615313589297402599575557742422729480355231800074710895420274717446822343682611891558704196410892818952403907232226964771023070087215514685251733576726351272256000718935936720897410009359282335686961005026769344373058540461847000036932476327810086755312206589224045940540336218278911531785458008964048877778663015403836404607661037879423158304478090591520026700319730035343626094651926791801605377721186864713264666969582603583580812735028980198237745150706166814317588906569665227277693945036494894350322256319288473309250968921378719557844227702572901802955903892693522721412141627038961643614537135863609866844230421850043659155642409350312851314143769102877655265059529315662399196000804845717304835570507670003477622822724928737586869987358639540520452891471591591225302534303995189395334798047675453891286454393496415033599346506052511783794017332741741642955156551825748608963218 23809641230306329068923642221864503536632234233451962612378794702224472574090617914318603126421313965472075883818822693098021697166041590513966825481347916215322022383595406252875838691822933548296301725541306149438750443089121115773062814542483308684580996183756163578836150805781819366028486339151994620408519964911063899032658106052846818058679440628969359790291360322914417186528786876355196586476459439966194952661171517526025834095751774048153866495304643054911580976193484493445782131941777383131362948501954232907400077187179905602726804093162445553216712886106689209950717142254633264833967611788586286197667529707044721718828643003614827529688505530653742277179413658138150793353324389726192842525602461762746734442359294045942350102634813998352885932882930127593785053065829729340569796524742767247404271674926618106347731907456481994859262313317793118410076843268793649496170411292929668695352123988387715000648477438690728660044812547165453354348891085178431378211380486557194115616181776242602584398461099570480024657650070068332513336193861297919601926486189204422322043685331909209669286590975001914426807748965048361522642251567366162315567815883226010065763031371458763398461131018942911992388407450151802536629168330692324411767496106081291793744027799421877526391961148478706294874413860055088666023351841533833593225094220507962431451146205896705075674292154638999724706136557867441906157501659362002411096232927943383566609497052742471026253030370353398847229522946876993328352288812722890934406597376074740385230912519441250543940649301620148754107711325307863179245706906572367653563617920630132009419501739355939229333790014805311097101894670951371433419315894424525491234981772210051960438199740833724045635200210722943760952134845843973432222858138760793542059749275210940015280443066031398432086396301858584177616285077837213227421707868734429706090605913044335955976971903216661260513270141998512320135824254087210541350107628426275755885850079610433588887751056411521386180750956249077986844560795174283370961119706274802515849015915747042748014263461937122726010893336445536610604564496918039557030236240703778264661615061361171128342617348467254243253029578529626297127632850954361017686296754100209654345465337493210907399288846691153017745817905996040539844142247234930578564893505114215620085712948598954290887201256292950552114617440198690194530442326067074783257776965020393329665057727837189551818690814388869250111434058599648092266775808503270551349440244528829096369642348743610208173473943423696245818253544681361095845071904558393067782380251884591722344350914564062479310277749345169174834639612485026897633237394933858938515197285994460267453578990508505231795777508344519771913155372096918290227090073190582624309398930564948562621834206698093675447047476871379150680574761893904626576462964004803949005671400765559657201048045222385443691503877128174673014660731505533344126124808472432507522474688662806188830668705185027102161913999422562484616815884834051063280263618093186349321977659211889432343285431193707952984973706363937844973828545966877879547111653983295284049866621876393324926996850862410438843119954821845628871551772799933630671220849801048078403487828003386449298695130545193558512552296389129160141349393350628986537333834949282513389763894259517412736533314823040540551491049766018025306798485696136746761768411242755022743487847629372323749794057056898724954003060358652354897097319278688865406189836543323477512789881229 38524808770576503381237084448997028778006950592235708383144675605189460682245411281038332520727312316233718747269065404910895053409784697592918174014655578553593987246030801184046232307049510005092839401003473597263249094947489916092783280885183677516063655312290168134743345686068683530917742346417695283843384652633257622585726511795458296670805968152431501720270714024165252689254734618881145208049502706491951805856625048259942700786441424478112072861280114531133537557373694310405815017827188944826320492228562234327481304863749711962048158080065167454197918848021819683980098607481230378328167814822001024292318008024268214632397189379914548993041385185607343040349694069384858511603166354388715815211575881106552407524336281920894024739514294484068879557543242840499717059770255072151232793281594492957209128559787984170477600496434401122767612267724445957335620555183967265243536378239458641320579801453987889818237333170339080669049812601535189415884707931940043806274963463922495692596123702429157240780890776082744687418148634950095630256029671433291495386810509184887866532466149601637907572149704855667632790137066792916338832628564418456899756552067615264630516015927801502128141058314797018728674939131616465285081282265621811735708261729789972648877926444516472233221304909632698836576941201851364432440518447471358837518394081235354619104967281652590500351815727372177206183182037143472315977229418362690202896426485123846708146730576779839958863757835827986048943172032090298136766715775107415262584738761280527338261003907762017738161310117339395731084602658376210675457176736130440753474522684321811093461328775445836754747021650866238072419731575637674415467023864713472129786492942695909625789023847990160857523424984325374631055286305041498036157091042568669735449298137232030563092573833716433094665037233966396017187050481404890337007310483220725964302587280281555087054899302359266320576765684153394583671066537911934369142260250748044214289708409799788919044313454596318100612028195480502493689712007054051360985911599654624377185177180538690101480597910183305050510158895820545897767069179710845330374552320218032336765448225785059436302937965345130118784720308264610267338188540881877506609122956448927392813187112974337376183922109552262604774001049614895973333542267509397825788267446945899260386651063795967075863359158416875769149866950686700542415567679305376164678976658313761143180281953718355379299067775566607981543635599149535802591413638768947601394994464351135724080934412601876734678087201842134999027127042505402660943331236409112340741871650106156180708215132179376068607680348920726917257369092840258697707948290354133655962019629677072159012283186919398050748181415576746736684178442184133804912341806767308975581654931283884499342731616707452957782734437876405920024947820434366473576499896481131759092426712972148881246988585558603722603035662586183637063538510168548747962529416133470386945632993140896780350695405504757137505540094074489276418421262555237927993528285062768952905558471946918412541523176344414119799291295270507510201106239911914374441461976239614572523175872845314703646554695090113011744922910725738322394273184941560669632864464338183942013354672233808299342354286187602908825403610532898263019004658410158302199733030950087359107068729830025082740010937645765469289077919753376664847318938587608338352993713777059017932883182427419999203685343511292221369036659705158407408881113296021607147832791699875303261398844447 62334450000882832450160726670861532314639184825687670995523470307413933256336029195356935647148626281705794631087888098008916750575826288106884999496003494768916009629626207436922070998872443553389141126544779746701999538036611031865846095427666986200644651496046331713579496491850502896946228685569689904251904617544321521618384617848305114729485408781400861510562074347079669875783521495236341794525962146458146758517796565785968534882193198526265939356584757586045118533567178803851597149768966327957683440730516467234881382050929617564774962173227613007414631734128508893930815749735863643162135426610587310489985537731312936351225832383529376522729890716261085317529107727523009304956490744114908657737178342869299141966695575966836374842149108482421765490426172968093502112836084801491802589806337260204613400234714602276825332403890883117626874581042239075745697398452760914739706789532388310015931925442375604818885810609029809329094625148700642770233599017118475184486343950479689808212305478671759825179351875653224712075798705018428143592223532731211097313296698389310188576151481510847576858740679857582059597886031841277861474880131784619215324367950841274696279047299260265526602189333739930721063346581768267821710450596314136147475757835871264442621954243938349759613266058111405131451355061906453098463870289005192430743488301743317050556113487549295576026107882011176930889318595010914222134731077724692613992659413067230274756227629522310985116788206181384896172694978967291465119004587830306196991336137355267723491916427203268282101959418959544485192313983684073854702883642702808407038140604951943102880830514801775984080811665671549169521626246589045848886339759137997621021474714905961586227223588823884903158625195048318392007421150885471468379949181329463277509047412442970578373016899747831526751433535824980194803335559242103564429018351955155670393193193325891043031871205575927581090035826151906903806890791999144910492367879174319970175558489410222507932064511007839486792779151729580480534272802228334731947031305929426893034193096285732849494861372120427776521052232266082508371633676628884887404788560921810601427063287146230564645555313812384362037749886794236564465821391836238524295419710549137047158652450467548283583210956243415622519818955610936513177684514744328404353160952060114880472364012394921366750560414709826321264484390885390736946010005372450947936753623334154472845339681555544931117758589955477231655069657749183894858189447272218152744434708879964820450576761345486942851561145265831244845380587186763756788403140967505408524251901990747903052566046743438547917958098265896092092008705325285595341185685287992594477216915671532426465862177427903282543958923921266508597333814281052095139431879957891599891053861848833061964565823405546633229781914747785070705522582328271100152962860485935708098098113737708538448036630780989166294539539714358310078199241674082092088654224605902894468107681803702969181364110689784239667454093497051761035237147389288991273791903155955302227536131158807844884808607538122072784265001634445355174934785878792253988573630222909856573042494721708028573551545952523450588042865547583951265824957741494300304085314139232020416842500237194748641049416732796467337955906922027423160354051760787288737066865899369872496832624089542495476544252468806009840568969519394690154117424283745085114762125019814040676371030056792322953479400568190946323039720063810762305978432574710472554022628243198780774188725676 100859258771459335831397811119858561092646135417923379378668145912603393938581440476395268167875938597939513378356953502919811803985610985699803173510659073322509996875657008620968303305921953558481980527548253343965248632984100947958629376312850663716708306808336499848322842177919186427863971031987385188095289270177579144204111129643763411400291376933832363230832788371244922565038256114117487002575464852950098564374421614045911235668634623004378012217864872117178656090940873114257412167596155272784003932959078701562362686914679329526823120253292780461612550582150328577910914357217094021490303241432588334782303545755581150983623021763443925515771275901868428357878801796907867816559657098503624472948754223975851549491031857887730399581663402966490645047969415808593219172606339873643035383087931753161822528794502586447302932900325284240394486848766685033081317953636728179983243167771846951336511726896363494637123143779368889998144437750235832186118306949058518990761307414402185500808429181100917065960242651735969399493947339968523773848253204164502592700107207574198055108617631112485484430890384713249692388023098634194200307508696203076115080920018456539326795063227061767654743247648536949449738285713384733106791732861935947883184019565661237091499880688454821992834570967744103968028296263757817530904388736476551268261882382978671669661080769201886076377923609383354137072500632154386538111960496087382816889085898191076982902958206302150943980546042009370945115867011057589601885720362937721459576074898635795061752920334965286020263269536298940216276916642060284530160060378833249160512663289273754196342159290247612738827833316537787241941357822226720264353363623851469750807967657601871212016247436814045760682050179373693023062707455926969504537040223898133012958345549675001141465590733464264621416470769791376211990386040646993901436328835175881634695780473607446130086770507935193901666801510305301487477957329911079279634628129922364184465266899210011426976377965604157587404807347210082974223984809282386092932942905584051270219370276824422950975459282303732827031211128086628406138702856339730217779340881139842938192511512931290000948493279157514480822470195058846831804009932718116030904542666998064439971839563441885659767133065795678227293820005225832486511226782253726230141428399006014140859015076190888442613919573126702090414351341572091279361577684677827112615730281647915616025621635273900310416826365522085213198705256898719697449603086041165754139429173231100544531511173947363677529648347107966243872507629692166417731734377376617749266123552096904083760781178922814616525638447186623009349377798165544293049133975642126250439236545348604585478145364347301333292140339498013245281512256465185900051773686725200575472708793132717561307297440112999591012516352624190990730470402762637573729462756967067467190524826709857419695025216339592888897575202300541947141737751842630840051183640739373281413740674944599749532059516194541377172994187571541037453658409944526919267320188218724255133094603105726257426331783882536192583556296904952865376041025790706628430035606462524429096218367567022732220106241042636462332965776273322273660098142683054969936949778477415962430197172471003047983403702920399376163359517454925686179358710170945590936799896849457231603901353919567578216555190114571479129646889272771355001436362871353423467755838796873058609254212484212322157164744079483167692076379768969169714859545870732079701855419943074084035587570123 163193708772342168281558537790720093407285320243611050374191616220017327194917469671752203815024564879645308009444841600928728554561437273806688173006662568091426006505283216057890374304794397111871121654093033090667248171020711979824475471740517649917352958304382831561902338669769689324810199717557075092347193887721900665822495747492068526129776785715233224741394862718324592440821777609353828797101426999408245322892218179831879770550827821530643951574449629703223774624508051918109009317365121600741687373689595168797244068965608947091598082426520393469027182316278837471841730106952957664652438668043175645272289083486894087334848854146973302038501166618129513675407909524430877121516147842618533130685932566845150691457727433854566774423812511448912410538395588776686721285442424675134837972894269013366435929029217188724128265304216167358021361429808924108827015352089489094722949957304235261352443652338739099456008954388398699327239062898936474956351905966176994175247651364881875309020734659772676891139594527389194111569746044986951917440476736895713690013403905963508243684769112623333061289631064570831751985909130475472061782388827987695330405287969297814023074110526322033181345436982276880170801632295153000928502183458250084030659777401532501534121834932393171752447837025855509099479651325664270629368259025481743699005370684721988720217194256751181652404031491394531067961819227165300760246691573812075430881745311258307257659185835824461929097334248190755841288561990024881067004724950768027656567411035991062785244836762168554302365228955258484701469230625744358384862944021536057567550803894225697299222989805049388722908644982209336411462984068815766113239703382989467371829442372507832798243471025637930663840675374422011415070128606812440972916989405227596290467392962117971719838607633212096148167904305616356406793721599889097465865347187131037305088973666933337173118641713511121482756837336457208391284848121910224190126996009096684154640825388620233934908442476611997074197586498939663454758257611510720824879974211513478163253563373110155800470320654424160603552263360352710914510336532968615105184129442061653539619574800077520565594048592969898842860220081853083396269831324554354555199962377547201487130492013909433943350344022039093849813638960836768999688911296998054634494589351066129021331379088585809809364479987836528411678835732457482016307587690050278060552483904982070088870961316829445241534584955477562444853774914647903592307792533313383906883863882111065364982087935292850620381209492373797488717888216878930174520137518344123157790375454087651986813347225666253164443596545452519101441386503490829888390319660930118844916453461020137011944007541775204615836099263419279753878846070746237995191205566683092175363762654981550623271863263518546224242298267371976061435992985090908673882425617453003175288622940447565958143061847120582055192114742014900257219936993516712932139837865345276175881848356748302718713423626884325616840448281068592798488895557333815910541112091374679557360630734264534102311140391420658265367821298539398220550975811669498882418609236685434285669260862288730760793657786995159912921008641820906224925923100424549270241035092616647982847039672708197796624453119653195843501315424376953109339712761931732879673866762748827104100733978009110073693099442583377488970215858792166045155553787155098508582517963816687099285625242541004645110644144647674114015116099832779932020837978445442552255878048186272864809776295799 264052967543801504112956348910578654499931455661534429752859762132620721133498910148147471982900503477584821387801795103848540358547048259506491346517321641413936003380940224678858677610716350670353102181641286434632496804004812927783104848053368313634061265112719331410225180847688875752674170749544460280442483157899479810026606877135831937530068162649065587972227651089569515005860033723471315799676891852358343887266639793877791006219462444535021963792314501820402430715448925032366421484961276873525691306648673870359606755880288276618421202679813173930639732898429166049752644464170051686142741909475763980054592629242475238318471875910417227554272442519997942033286711321338744938075804941122157603634686790821002240948759291742297174005475914415403055586365004585279940458048764548777873355982200766528258457823719775171431198204541451598415848278575609141908333305726217274706193125076082212688955379235102594093132098167767589325383500649172307142470212915235513166008958779284060809829163840873593957099837179125163511063693384955475691288729941060216282713511113537706298793386743735818545720521449284081444373932229109666262089897524190771445486207987754353349869173753383800836088684630813829620539918008537734035293916320186031913843796967193738625621715620847993745282407993599613067507947589422088160272647761958294967267253067700660389878275025953067728781955100777885205034319859319687298358652069899458247770831209449384240562144042126612873077880290200126786404429001082470668890445313705749116143485934626857846997757097133840322628498491557424917746147267804642915023004400369306728063467183499451495565149095297001461736478298747123653404341891042486377593067006840937122637410030109704010259718462451976424522725553795704438132836062739410477454029629125729303425738511792972861304198366676360769584375075407732618784107640536091367301676022306918939784754140540783303205412221446315384423638846762509878762805451821303469761624139019048339106092287830245361884820442216154661602393846149746428982242420793106917812917117097529433472933649934578751445779936727893430583474488439339320649039389308345322963470323201496477812086313008810566542541872127413323682690276911930228073841257272470586104505044545265927102331577351319603117477087834772077107458966062601486200138079251780864636017750072143162190394164776698251978399560963230502093187074029573295669165374728105173168214186629985704896582952103345551951411320999647658052480171546623289757395619354549661023293055342165909513599109240214297910857839481763732590395846571096592251871895720740907056499006184556070574128404589067780969234992639142110790764301656374181439453636572245095355690006368741597422152906122505949128239602917292999160358327211423895242979253408292750836471448114268184579160703631545815254814619996167052166463387853546247611888374420070642479147767157423377838087063460174944089689944315442204361674745359343772191021506084649457295589031692902468245483143078866994013442468640133835942553967278342829808432279593403812493725337370260359737472175303194457951377595444351085927016837460205510848644843147958714765479229855753493013764028037796375253974418094228498586021243107604240177984871094063945277236845179200844607856822573595219664674941831878795519071472102678470610666659598284335704635331928677651909654632697948968099862748064937400156990150026451932050273802613560157894879455025216967267808888727157281707192479601749101735697524316174631957733468129346948845363865922 427246676316143672394514886701298747907216775905145480127051378352638048328416379819899675797925068357230129397246636704777268913108485533313179519523984209505362009886223440736749051915510747782224223835734319525299744975025524907607580319793885963551414223417102162972127519517458565077484370467101535372789677045621380475849102624627900463659844948364298812713622513807894107446681811332825144596778318851766589210158857973709670776770290266065665915366764131523626205339956976950475430802326398474267378680338269039156850824845897223710019285106333567399666915214708003521594374571123009350795180577518939625326881712729369325653320730057390529592773609138127455708694620845769622059591952783740690734320619357666152932406486725596863948429288425864315466124760593361966661743491189223912711328876469779894694386852936963895559463508757618956437209708384533250735348657815706369429143082380317474041399031573841693549141052556166288652622563548108782098822118881412507341256610144165936118849898500646270848239431706514357622633439429942427608729206677955929972726915019501214542478155856359151607010152513854913196359841359585138323872286352178466775891495957052167372943284279705834017434121613090709791341550303690734963796099778436115944503574368726240159743550553241165497730245019455122166987598915086358789640906787440038666272623752422649110095469282704249381185986592172416272996139086484988058605343643711533678652576520707691498221329877951074802175214538390882627692990991107351735895170264473776772710896970617920632242593859302394624993727446815909619215377893549001299885948421905364295614271077725148794788138900346390184645123280956460064867325959858252490832770389830404494466852402617536808503189488089907088363400928217715853202964669551851450371019034353325593893131473910944581142805999888456917752279381024089025577829240425188833167023209437956244873727807474120476324053934957436867180476183219718270047653573731527659888620148115732493746917676450479296793262918828151735799980345089409883740500032303827742692891328611007596726497023044734551916100591152054034135737848792050235159375922276960428147599765263150017431661113086331132136590465097312166542910358765013624343672581826825141304467422092467414232823591260753546467821109873865926921097926899370485889049376249835499130607101138272183521773253362508061342879548799758913772022806487055311976753064778383233720698091612055793767544268932790793485996276477210102906255086194526882065188152667933567907156937453231274495687044533064918292067331855561221308284063450026766772009414064864064846874460272208057387475630255320945412831538091661212232150805147204069829773297502363940272143467388878609366160447897710564964338866336572753039204397957661890434184820091384926200234103095818807851023967150092039497112887368143113602456372944454921494313991873073817767770707604989335981148910580756999281804686330342461581611738876056704330859371429925633177437388441205186958906769963192610853890749708726634431449524612158740349544370968083369854356071634794462048612566723852723319198893983749306477992649129704393267254079833393000434740092144484253807421815032956288174983059915134723511944343532153510419019963710711928124276517887398641232309942226791063165990366208831904858784234034411350284533422347111439805369309937787725602754075281326457070078606857103445312543937181550440632791766430247257180504697566221612378453033374831395722308579434529033756535502761617184213611516315619813655140161721 691299643859945176507471235611877402407148231566679909879911140485258769461915289968047147780825571834814950785048431808625809271655533792819670866041305850919298013267163665415607729526227098452577326017375605959932241779030337835390685167847254277185475488529821494382352700365147440830158541216645995653232160203520860285875709501763732401189913111013364400685850164897463622452541845056296460396455210704124933097425497767587461782989752710600687879159078633344028636055405901982841852287287675347793069986986942909516457580726185500328440487786146741330306648113137169571347019035293061036937922486994703605381474341971844563971792605967807757147046051658125397741981332167108366997667757724862848337955306148487155173355246017339161122434764340279718521711125597947246602201539953772690584684858670546422952844676656739066990661713299070554853057986960142392643681963541923644135336207456399686730354410808944287642273150723933877978006064197281089241292331796648020507265568923449996928679062341519864805339268885639521133697132814897903300017936619016146255440426133038920841271542600094970152730673963138994640733773588694804585962183876369238221377703944806520722812458033089634853522806243904539411881468312228468999090016098622147858347371335919978785365266174089159243012653013054735234495546504508446949913554549398333633539876820123309499973744308657317109967941692950301478030458945804675356963995713610991926423407730157075738783473920077687675253094828591009414097419992189822404785615578179525888854382905244778479240350956436234947622225938373334536961525161353644214908952822274671023677738261224600290353287995643391646381601579703583718271667850900738868425837396671341617104262432727240818762907950541883512886126482013420291335800732291261927825048663479054897318869985703917442447004366564817687336654456431821644361936880961280200468699231744875184658481948014903779529466156403752251604115029982228148810459025552831129650244287134780832853009964280724658678083361044306397402374191239156312722742453096934660505808445708537030199430672979313303361880527879947464719212337231389555808415311585305751111070088464646495243747426095141698679132337224725490225600635676943852417513839099295727408972466637733341335155168612073149585298197708638004028556892961971972089187455501616363766624851210415345712167418139206313321279109762989415865209880516628607645918439506488406888912278242041498664127221036136345437407597476857760958735257741150171822583772022483228930449992795397184009286153773279216202925171337324953898679910021123359023881309785604971903373466456764127961604034844388726382066530730803323022915106803578251269226934074609035627833473757620206788313354020216514092578469253865752199562725169085785677164073499677677036705551210086992430184670781637854751927507364310165768919760798001169106202366293144460246918474762412713819235974040931943371494630645784665943286484235400476521880877514575090473026420134107655204389913042059604867333218348860470374003491890501570157976650561487182348081409005054821786084742027047181270576489428100392405009486589909904115898922981351715200219322000237746821185843070752663428957478009363222097965586639757750597004834804775873401513363066599485840166764800386282830665308040710700377855706137089820895200081945395775510004641866465377512408707979275425169941354922040845469534087208002372683065569043807415075384152591438579646261922101988677429501059036278135492233027077791816171344984444966762500504027643 1118546320176088848901986122313176150314365007471825390006962518837896817790331669787946823578750640192045080182295068513403078184764019326132850385565290060424660023153387106152356781441737846234801549853109925485231986754055862742998265487641140240736889711946923657354480219882606005907642911683747531026021837249142240761724812126391632864849758059377663213399472678705357729899223656389121604993233529555891522307584355741297132559760042976666353794525842764867654841395362878933317283089614073822060448667325211948673308405572082724038459772892480308729973563327845173092941393606416070387733103064513643230708356054701213889625113336025198286739819660796252853450675953012877989057259710508603539072275925506153308105761732742936025070864052766144033987835886191309213263945031142996603296013735140326317647231529593702962550125222056689511290267695344675643379030621357630013564479289836717160771753442382785981191414203280100166630628627745389871340114450678060527848522179067615933047528960842166135653578700592153878756330572244840330908747143296972076228167341152540135383749698456454121759740826476993907837093614948279942909834470228547704997269199901858688095755742312795468870956927856995249203223018615919203962886115877058263802850945704646218945108816727330324740742898032509857401483145419594805739554461336838372299812500572545958610069213591361566491153928285122717751026598032289663415569339357322525605075984250864767237004803798028762477428309366981892041790410983297174140680785842653302661565279875862699111482944815738629572615953385189244156176903054902645514794901244180035319292009338949749085141426895989781831026724860660043783138993810758991359258607786501746111571114835344777627266097438631790601249527410231136144538765401843113378196067697832380491212001459614862023589810366453274605088933837455910669939766121386469033635722441182831429532209755489024255853520091361189118784591213201946418858112599284358789538864435250513326599927640731203955471346279872458133202354536328566196463242485400762403198699774319544626925927696024047855277981119032001498854950186023439790967791233862266179258669853727796512675408539181472830815722802322037656768510994441957476761186420926120868713439888730200755567978759872826696053119307582503930949654819861342457978236831751451862897231952348687529233940671501714374664158658562748329637232687003683919622671504284871640609610369854097292431671489968927138923403873954067863864990343935677053887771924690416796837606930248628458504973198306344134494992503192886175206963973471150125795890723850469036750247926728972185349079665099709671794898068822464535255065911950782321099000231576972975899976941146498816154473801917927079056917335590438505238767123126747676111348893591062603236939654305905800281208637931729894249040394732453279371376133742456090600516358166218278014689182367402049800384884621688942653299316976127127524898223111457180852740248944500723650463808575312842163296683005252215721223968057587104805453016502660310507521021529570552202437480639849283834697308750899904589775383411849698883002135719614297383153002814744715634959414144722000628607658103708951603940537924497945609909930171911261016024798515487801525789880953998127072476707027177345996655674249542605236639940171501171179733504292507215315373951804253103115162783260601882240019961779144290782078024389552813315857335474054672255888850157660192024714955476820073151809638470807169248768529839409000384956500760586576155644189364 1809845964036034025409457357925053552721513239038505299886873659323155587252246959755993971359576212026860030967343500322028887456419553118952521251606595911343958036420550771567964510967964944687378875870485531445164228533086200578388950655488394517922365200476745151736832920247753446737801452900393526679253997452663101047600521628155365266039671170391027614085322843602821352351765501445418065389688740260016455405009853508884594342749795687267041673684921398211683477450768780916159135376901749169853518654312154858189765986298268224366900260678627050060280211440982342664288412641709131424671025551508346836089830396673058453596905941993006043886865712454378251192657285179986356054927468233466387410231231654640463279116978760275186193298817106423752509547011789256459866146571096769293880698593810872740600076206250442029540786935355760066143325682304818036022712584899553657699815497293116847502107853191730268833687354004034044608634691942670960581406782474708548355787747991065929976208023183686000458917969477793399890027705059738234208765079915988222483607767285579056225021241056549091912471500440132902477827388536974747495796654104916943218646903846665208818568200345885103724479734100899788615104486928147672961976131975680411661198317040566197730474082901419483983755551045564592635978691924103252689468015886236705933352377392669268110042957900018883601121869978073019229057056978094338772533335070933517531499391981021842975788277718106450152681404195572901455887830975486996545466401420832828550419662781107477590723295772174864520238179323562578693138428216256289729703854066454706342969747600174349375494714891633173477408326440363627501410661661659730227684445183173087728675377268072018446029005389173674114135653892244556435874566134134375306021116361311435388530871445318779466036814733018092292425588293887732314301703002347749234104421672927706614190691703503928035382986247764941370388706243184174567668571624837189919189108722385294159452937605011928614149429640916764530604728727567722509185984938497697063704508220028081657125358369003361158639861646911948963574162523254829346776206545447571930369739942192443007919155965276614529494855139546763146994111630118901329178700260025416596122412355367934096903133928484899845638417505291141934978211712823314430067424287253068226663856803559102874946108089640920687985437768325737745502442567520312527268589943791360047498522648096138791095798711005063484360811471430925624823725601676827225710355696712900025768056923044025642514259352079623350697917674530211129105643883492273484819772033636074008653621393185736313310683699944098398176964599553267858277981018754360572368227165651582011527810414904119022942787155938143593149495804844304257438329848295833461788512967090740280273645205515992792711393308713367749000967902096763445140295894540457259706718724459362738261607657129814763619620858662620886024793947621911793468184707346857657374621126459075814123490228709420497367686596047311820588557186406447575179456508393161880665497672091057734550518889644904105620782050777947085860351872839950091288011622309524201499051925796096430835178736144959747449793501174461615032898015933861167707875516811669011613029633320263674927303244020597612912643471827563628827320982290253305614495646308590992074933586237902990825378593670718480627571491239877307409961316701185136251612111597555185998922904517862087331273002749098771670976877578808750581310697507085304741001556917200816556301485205553338656148217007 2928392284212122874311443480238229703035878246510330689893836178161052405042578629543940794938326852218905111149638568835431965641183572445085371637171885971768618059573937877720321292409702790922180425723595456930396215287142063321387216143129534758659254912423668809091313140130359452645444364584141057705275834701805341809325333754546998130889429229768690827484795522308179082250989157834539670382922269815907977712594209250181726902509838663933395468210764163079338318846131659849476418466515822991913967321637366806863074391870350948405360033571107358790253774768827515757229806248125201812404128616021990066798186451374272343222019278018204330626685373250631104643333238192864345112187178742069926482507157160793771384878711503211211264162869872567786497382897980565673130091602239765897176712328951199058247307735844144992090912157412449577433593377649493679401743206257183671264294787129834008273861295574516250025101557284134211239263319688060831921521233152769076204309927058681863023736984025852136112496670069947278646358277304578565117512223212960298711775108438119191608770939513003213672212326917126810314921003485254690405631124333464648215916103748523896914323942658680572595436661957895037818327505544066876924862247852738675464049262745212416675582899628749808724498449078074450037461837343698058429022477223075078233164877965215226720112171491380450092275798263195736980083655010384002188102674428256043136575376231886610212793081516135212630109713562554793497678241958784170686147187263486131211984942656970176702206240587913494092854132708751822849315331271158935244498755310634741662261756939124098460636141787622955308435051301023671284549655472418721586943052969674833840246492103416796073295102827805464715385181302475692580413331535977488684217184059143815879742872904933641489626625099471366897514522131343642984241469123734218267740144114110538043722901458992952291236506339126130489173297456386120986526684224121548708727973157635807486052865245743132569620775920789222663807083263896288705649227423898459466903207994347626284051286065027409013917842765943950462429112709278269137743997779309838109628409795920239520594564504458087360310577941868800803762622624560858805939886680951537464835852244098134852471112688357726541691536812873645865927866532684656888045661119004520089561088755907790404180048761142635062649596426888486075139675254523996446891261448076231688108133017950236083527470200973990623284215345384993488688715945612504279598127621403316822605663853292654101019232550385967485192910177723097304312607856963423610615662757486543045403869319914708498659763365043808069971862668375732393533046930705142893467227397228554987427787356050617839097260957856070672206413140434742762677096971422581137899861860681802883510584859821898592992601946645097643250008296829216724511672028282913350307235082625581016276296839497216813420005743284309828678093264598038920993082930458314838227361375403576537773954037284733339530983279052564036309781154464034679984909524895822191173018693620628286752956370284753389455479359528846990450127256251799790171013758029138498882204928610841146470138150289681748078401159278170566636838553858359113317785446983580272629054431835751476453093124974595739985120178854740974823976656539795910851135586480092163254667090530410206140752545474971583742734274500479189649981278480329427033690135987107999314780239991916759587161852906758963695691833055628823733120335977892473989770086756609816941257985966139914811792406371 4738238248248156899720900838163283255757391485548835989780709837484207992294825589299934766297903064245765142116982069157460853097603125564037892888778481883112576095994488649288285803377667735609559301594080988375560443820228263899776166798617929276581620112900413960828146060378112899383245817484534584384529832154468442856925855382702363396929100400159718441570118365911000434602754659279957735772611010075924433117604062759066321245259634351200437141895685561291021796296900440765635553843417572161767485975949521665052840378168619172772260294249734408850533986209809858421518218889834333237075154167530336902888016848047330796818925220011210374513551085705009355835990523372850701167114646975536313892738388815434234663995690263486397457461686978991539006929909769822132996238173336535191057410922762071798847383942094587021631699092768209643576919059954311715424455791156737328964110284422950855775969148766246518858788911288168255847898011630731792502928015627477624560097675049747792999945007209538136571414639547740678536385982364316799326277303128948521195382875723698247833792180569552305584683827357259712792748392022229437901427778438381591434563007595189105732892143004565676319916396058794826433431992472214549886838379828419087125247579785778614406056982530169292708254000123639042673440529267801311118490493109311784166517255357884494830155129391399333693397668241268756209140711988478340960636009499189560668074768212908453188581359234241662782791117758127694953566072934271167231613588684318959762404605438077654292929536360088358613092312032314401542453759487415224974202609377089448005231504539298447836130856679256128785843377741387298785960317134078451814627498152847921568921869371488814519324108216979138829520835194720249016287897670111863990238300420455251268273744350252420955663439832489459189940110425231375298543172126081967501844565787038244657913593162496880326619492586891071859562003699570295554195255848958738627917081880021101645505802850755061183770205561705987194411811991464011214835212362396156530607716214375707941176644434030770172557704412855899426003275232533098484520204324757410039998149738112682528513720469734701889805433081415563950756734254679760135118586940976954060958264599466068949374246616842626387329954318164787800906078245507971318113085406257588316224945559466893279126156850783555750635034195214223820642117822044308974159851391867591735606655666046374874623268911979054107645026816815919113512441547289331505308483318116216848373720776336679743533491902465590835890827852253308433418251740455697095435434791122617054057490713100444811970447064987906468148827267929000251811027949459503465835454562880136998955597770954736862040048113794214265355908945279047020115426819718414599688374827772543163784230065337891385703995255358465392250976198925980169651967922823370610013953807084943754537904496627031577039626601946930714702887212219950714461267637805172495601982501862652351897444265994153836898669875099875856898338340870482255164366033288984071838516365711686021303475259929657495076261410306794076310479129091749881459025380338662700381256854406937577305316886434641495528194660452632181669736569792220281025660963795249284242084065156015151380396368995193352897763650682304603651297638830049216465631232788683155329600676768313196966131139145690064370305765740356497059942595181514563285302247584663185313703144509778846918434855655857735366668710634437574314431033484977778730771643673810633497559471171693253467940623378 7666630532460279774032344318401512958793269732059166679674546015645260397337404218843875561236229916464670253266620637992892818738786698009123264525950367854881194155568426527008607095787370526531739727317676445305956659107370327221163382941747464035240875025324082769919459200508472352028690182068675642089805666856273784666251189137249361527818529629928409269054913888219179516853743817114497406155533279891832410830198272009248048147769473015133832610106449724370360115143032100615111972309933395153681453297586888471915914770038970121177620327820841767640787760978637374178748025137959535049479282783552326969686203299421603140040944498029414705140236458955640460479323761565715046279301825717606240375245545976228006048874401766697608721624556851559325504312807750387806126329775576301088234123251713270857094691677938732013722611250180659221010512437603805394826198997413921000228405071552784864049830444340762768883890468572302467087161331318792624424449248780246700764407602108429656023681991235390272683911309617687957182744259668895364443789526341908819907157984161817439442563120082555519256896154274386523107669395507484128307058902771846239650479111343713002647216085663246248915353058016689864251759498016281426811700627681157762589296842530991031081639882158919101432752449201713492710902366611499369547512970332386862399682133323099721550267300882779783785673466504464493189224366998862343148738683927445603804650144444795063401374440750376875412900831320682488451244314893055337917760775947805090974389548095047830995135776948001852705946444741066224391769090758574160218701364687724189667493261478422546296766998466879084094278429042410970070509972606497173401570551122522755409168361474905610592619211044784603544906016497195941596701229206089352674455484479599067148016617255186062445290064931960826087454632556575018282784641249816185769584709901148782701636494621489832617855998926017202348735301155956416540721940073080287336645055037656909131558668096498193753390981482495209858218895255360299920484439786294615997510924208723334225227930499058179186475547178799849888432387941811367622264202104067248149626559534032922049108284974192789250116011023284364754519356879240618941058473621928491525794116843564203801845359305200352929021491131038433666833944778192628206158746525262108405786034315374683683306205611926190813284630622102709895781793076568305421051112839943823423714788683996610958150739112953044730929242162200912602201157492901835784906610939519533670979384629629333844552724452851558321083738029976405737730859597419120706051097548609160099461360033015153310630210430031714538120689936304732645344074880164646359302681960108691986383385127005354701137309071650284937562322085713789782792523791140995737588236688454346047294814925159789978696597202003563035500984495755196894163639951106283960321188889710524770814201336124248390459632345231240543380980476817989635454350568263487333829343877266228889671398303278887176429653154152439893208119495334516935149275558184806263011535059332314308056431630214410884531740769835641066760606385343549671630039138367801199263461783017778723775455036724323243606595819730802748306575123650579394343446410778829556871138496991766627833489493969789092882883829537045578475274295369845127316766819268775318584267767298723403106883684620661648113040040240835686709923873661843990318992383571771184628483384501695606505596708562616699062360543690066398047551369462870252720541730430420450438817457137833168279733029749 12404868780708436673753245156564796214550661217608002669455255853129468389632229808143810327534132980710435395383602707150353671836389823573161157414728849737993770251562915176296892899165038262141299028911757433681517102927598591120939549740365393311822495138224496730747605260886585251411935999553210226474335499010742227523177044519951724924747630030088127710625032254130179951456498476394455141928144289967756843947802334768314369393029107366334269752002135285661381911439932541380747526153350967315448939273536410136968755148207589293949880622070576176491321747188447232600266244027793868286554436951082663872574220147468933936859869718040625079653787544660649816315314284938565747446416472693142554267983934791662240712870092030184006179086243830550864511242717520209939122567948912836279291534174475342655942075620033319035354310342948868864587431497558117110250654788570658329192515355975735719825799593107009287742679379860470722935059342949524416927377264407724325324505277158177449023626998444928409255325949165428635719130242033212163770066829470857341102540859885515687276355300652107824841579981631646235900417787529713566208486681210227831085042118938902108380108228667811925235269454075484690685191490488495976698539007509576849714544422316769645487696864689088394141006449325352535384342895879300680666003463441698646566199388680984216380422430274179117479071134745733249398365078987340684109374693426635164472724912657703516589955799984618538195691949078810183404810387827326505149374364632124050736794153533125485288065313308090211319038756773380625934222850245989385192903974064813637672724766017720994132897855146135212880121806783798268856470289740575625216198049275370676978090230846394425111943319261763742374426851691916190612989126876201216664693784900054318416290361605438483400953504764450285277394742981806393581327813375898153271429275688187027359550087783986712944475491512908274208297304855526712094917195922039025964562136917678010777064470947253254937161187044201197052630707246824311135319652148690772528118640423099042166404574933088949359033251591655749314435663174344466106784406428824658189624709272145604577622005443927491139921444104699928705276091133920379076177060562905445586752381443030272751219605922042979316351445449203221467740023023700599524271831931519696722010979874841576962432362462709746563919664817316933716423910898612614395210964231811415159321444350042985832774008024932098838574268979016831715713599040191167290215094257635750519353105405966013588086216355317149156974565882229714171149111337874817801486532339731777153518850746115598122600657495019621006269517204233732897155102829624149825138136522988828985338982897960091563177357185444499202918231030992836802907950610859410337276611516226889211079044990497681364400592457362028427751960694681177063815607873929654570335142696795468525352105832751279967499258947178171258083867689037940349915618206068659829431326379128881241568842569273041013328323029252315750106457836204999190313641591473790334850051425044000329359906890144068379608002180142435143071085514435299553089064518706463899644718637424716301080771923158964739134790480183434929976311693442799675369107374574078841113222562147781779213885862964982445780647480219350182126571934199894343782398052057458473913868444067036600073014823766351712483345805981192183769866468843358553604294631156434369942186529011474453424031564218474434429029254324503972361982402947848031451313374104231083936376928309526421747673653127 20071499313168716447785589474966309173343930949667169349129801868774728786969634026987685888770362897175105648650223345143246490575176521582284421940679217592874964407131341703305499994952408788673038756229433878987473762034968918342102932682112857347063370163548579500667064461395057603440626181621885868564141165867016012189428233657201086452566159660016536979679946142349359468310242293508952548083677569859589254778000606777562417540798580381468102362108585010031742026582964641995859498463284362469130392571123298608884669918246559415127500949891417944132109508167084606779014269165753403336033719734634990842260423446890537076900814216070039784794024003616290276794638046504280793725718298410748794643229480767890246761744493796881614900710800682110190015555525270597745248897724489137367525657426188613513036767297972051049076921593129528085597943935161922505076853785984579329420920427528520583875630037447772056626569848432773190022220674268317041351826513187971026088912879266607105047308989680318681939237258783116592901874501702107528213856355812766161009698844047333126718918420734663344098476135906032759008087183037197694515545583982074070735521230282615111027324314331058174150622512092174554936950988504777403510239635190734612303841264847760676569336746848007495573758898527066028095245262490800050213516433774085508965881522004083937930689731156958901264744601250197742587589445986203027258113377354080768277375057102498579991330240734995413608592780399492671856054702720381843067135140579929141711183701628173316283201090256092064024985201514446850325991941004563545411605338752537827340218027496143540429664853613014296974400235826209238926980262347072798617768600397893432387258592321300035704562530306548345919332868189112132209690356082290569339149269379653385564306978860624545846243569696411111364849375538381411864112454625714339041013985589335810061186582405476545562331490438925476557032606011483128635639135995119313301207191955334919908623139043751448690552168526696406910849602502184611055804091934985388525629564631822376391632505432147128545508798770455599202868051116155833729048608532891906339251268806178526626730290418120280390037455127984293459795448013160998017235534184833937112546498286594476553064965227243332245372936580241655134573967801893227730430578456781805127797014190216260645738568074635937377204295439419643612205703975180919816262077071755238583036233034039596790924747137885143569503511141217744317914756533093003075121705197155284190332490035595347432638940808168707478058303912206119908879970935293938507537629888340937252980210779130751433230867925051335544390207140538465542499177709788796184440818483097520971722368024965446264314666257094784140480553116706626585700474402000406074864848204681235258373859915657471343097189659365591463252945190436373957979247825035938530656331586505993296166307168875528357958891292409411801464848165855929985369968774332147163260670256395110131240240872551928189757976183404755643314577331539516125462917149658596597861586484376314637416338520358479264139742949978076209831691899778849224719103657074265098908180420442495024856226959883287982741386299914237678282886817093379069712553785352908397984361059139548407047375356934771538663531309756395760601846229569739471099164871326233792498136211365760003179898508387013360596385846222027870479790342505202543923287014728205554570669913513170059929628272781091133491389798014570370409533772410718284171855104534651534375194385447359590027406682876 32476368093877153121538834631531105387894592167275172018585057721904197176601863835131496216304495877885541044033826052293600162411566345155445579355408067330868734658694256879602392894117447050814337785141191312668990864962567509463042482422478250658885865301773076231414669722281642854852562181175096095038476664877758239712605278177152811377313789690104664690304978396479539419766740769903407690011821859827346098725802941545876786933827687747802372114110720295693123938022897183376607024616635329784579331844659708745853425066454148709077381571961994120623431255355531839379280513193547271622588156685717654714834643594359471013760683934110664864447811548276940093109952331442846541172134771103891348911213415559552487474614585827065621079797044512661054526798242790807684371465673401973646817191600663956168978842918005370084431231936078396950185375432720039615327508574555237658613435783504256303701429630554781344369249228293243912957280017217841458279203777595695351413418156424784554070935988125247091194563207948545228621004743735319691983923185283623502112239703932848813995273721386771168940056117537678994908504970566911260724032265192301901820563349221517219407432542998870099385891966167659245622142478993273380208778642700311462018385687164530322057033611537095889714765347852418563479588158370100730879519897215784155532080910685068154311112161431138018743815735995930991985954524973543711367488070780715932750099969760202096581286040719613951804284729478302855260865090547708348216509505212053192447977855161298801571266403564182275344023958287827476260214791250552930604509312817351465012942793513864534562562708759149509854522042610007507783450552087648423833966649673264109365348823167694460816505849568312088293759719881028322822679482958491786003843054279707703980597340466063029247197074460861396642244118520187805445440268001612492312443261277522837420736670189463258506806981951833750765329910867009840730556331917158339265769328873012930685687609991004703627713355570897603963480309749008922191123744083676161053748205054921418558037080365236077904542050362111348517303714290500299835833014961716564528875978078324131204352295862047771529958899232684222165071539147081377093412594747739382699298879729624749304284571149286311561724382029444876602313990825593827254702410388301501849807994065057837608170930537345683941123960256736577328629614873793534211473041303566653742357677384082582623698755162817242408077780120234576033628355573284170365336799454791034709685595441561361020725157163485856635032869794435834080029082273168756309024162228072714406499061525246349555831525420070956550659724344772198439654280539412946009578955006086349957061350922925537827492023442539283343398784147699463388608425012859816412141459720908124469452904906155152707497782116727619891004905885117551021794855698965593100991474283301461821518413001626808325458150239587583059548715854893870335285586980400806992691996635523991372809083441824969203086299212657071393421035167744515315776558741132386932711637909420314966776245410502547643747745130120511352902777414214148777808168175780728998552899057867211325936998883042252721876176780097672608259198510536178745081661159926987239097583621287330186261261219899753984444178789975745942728418163769633814881562923383692266412004655432796603252913332153365073079731652203220054249656811348561097527581645884639924512856442524644513353659836999565567920419052339074342771516175358566315623168478638882618311571313756886011775080336003 52547867407045869569324424106497414561238523116942341367714859590678925963571497862119182105074858775060646692684049397436846652986742866737730001296087284923743699065825598582907892889069855839487376541370625191656464626997536427805145415104591108005949235465321655732081734183676700458293188362796981963602617830744774251902033511834353897829879949350121201669984924538828898888076983063412360238095499429686935353503803548323439204474626268129270474476219305305724865964605861825372466523079919692253709724415783007354738094984700708124204882521853412064755540763522616446158294782359300674958621876420352645557095067041250008090661498150180704649241835551893230369904590377947127334897853069514640143554442896327442734236359079623947235980507845194771244542353768061405429620363397891111014342849026852569682015610215977421133508153529207925035783319367881962120404362360539816988034356211032776887577059668002553400995819076726017102979500691486158499631030290783666377502331035691391659118244977805565773133800466731661821522879245437427220197779541096389663121938547980181940714192142121434513038532253443711753916592153604108955239577849174375972556084579504132330434756857329928273536514478259833800559093467498050783719018277891046074322226952012290998626370358385103385288524246379484591574833420860900781093036330989869664497962432689152092241801892588096920008560337246128734573543970959746738625601448134796701027475026862700676572616281454609365412877509877795527116919793268090191283644645791982334159161556789472117854467493820274339369009159802274326586206732255116476016114651569889292353160821010008074992227562372163806828922278436216746710430814434721222451735250071157541752607415488994496521068379874860434213092588070140455032369839040782355342992323659361089544904319326687575093440644157272508007093494058569217309552722627326831353457246866858647481923252594939804069138472390759227322362516878492969366195467912277652566976520828347850594310749034756152318265524097594010874329912251193533246927836018661549579377769686743794949669585797383206450050849132566947720171765406656133564881623494608470868127246884502657831082586280168051919996354360668515624866987160242375110648128932573319811845378016219225857349536376529643807097318609686531736887958627487054985132988845083306977605008255274098253909498611981621318328255696156220940835318848974454027735118375321892325393910418122179414623502300702385977581291261452320351543112106377173440458504651946318900018085477156708453364097971654564113091173706641953988909053208462694816561792116413651659479272304377100989062393345122292095049931485310663982153458249201742194019773489183870928783718947890984091806689699634067483879337264406089974308899414860222487006307925589359727826764821812624050594971776093211354257851075553924979774103524001531631647805869807455117684720170502336683417041531996994861013564020749800320655555754732954155952666891919101504049324314376897392844275396061827036735612499284031441239475890790983530573224393796629604192583930861026907887488080098587562734469313992998002527271832854994097461079478309706350793225842925540704617563080011910286542085327629557814794214945279895637081944680426878593308636576834525523107710099732141703330264393339373285980727794709926058910140866798556606432811840540378433676117498425247924729447153853763641450868660612845479083526356037814573283288109780656701411808850353644713181049947769284599795023583173534152686765699204245601802487018879 85024235500923022690863258738028519949133115284217513386299917312583123140173361697250678321379354652946187736717875449730446815398309211893175580651495352254612433724519855462510285783187302890301714326511816504325455491960103937268187897527069358664835100767094731963496403905958343313145750543972078058641094495622532491614638790011506709207193739040225866360289902935308438307843723833315767928107321289514281452229606489869315991408453955877072846590330025601417989902628759008749073547696555022038289056260442716100591520051154856833282264093815406185378972018878148285537575295552847946581210033106070300271929710635609479104422182084291369513689647100170170463014542709389973876069987840618531492465656311886995221710973665451012857060304889707432299069152010852213113991829071293084661160040627516525850994453133982791217939385465286321985968694800602001735731870935095054646647791994537033191278489298557334745365068305019261015936780708703999957910234068379361728915749192116176213189180965930812864328363674680207050143883989172746912181702726380013165234178251913030754709465863508205681978588370981390748825097124171020215963610114366677874376647928725649549842189400328798372922406444427493046181235946491324163927796920591357536340612639176821320683403969922199275003289594231903155054421579231001511972556228205653820030043343374220246552914054019234938752376073242059726559498495933290449993089518915512633777574996622902773153902322174223317217162239356098382377784883815798539500154151004035526607139411950770919425733897384456614713033118090101802846421523505669406620623964387240757366103614523872609554790271131313316683444321046224254493881366522369646285701899744421651117956238656688957337574229443172522506852307951168777855049321999274141346835377939068793525501659792750604340637718618133904649337612578757022754992990628939323665900508144381484902659922784403062575945454342592978087692427745502810096751799829435991832745849701360781279998359025760855945978879668491614837810222000202455438051580102337710633125974741665213507706666162619284354592899494678296237475479697156433400714638456325035397003224962826789035434882142215823449955253593352737789938526307323752204060723680312702511144257745843975161634107525815955368821700639131408339201949453080882239835399233384808827413002320331935862080429149327305259452215952892798269464933722767988239208159678888546067751587802204762038322257463519628385659071381686896385171467679661343805795304106737353609703680918718069474089255135140420748124043501077788068938135481631451125585954344486366065978333829623450544893918765193248645709655830082862421807738788614688203598728495270220885845069870816521919298713142173350827278121412105553362917324427720038899147767646497484197279669727967776758092753892820831245262756960671476001568959222967124732639280153108916939203133172129145008875191771584577920562279875643670655941142735133761148644663527443092876858407756201866595930574608718898430156647667028546757016034631923370463284862303216944570968829341363574551635233210219098915637246728207146780335440008635723096013978536176917676730224725967793426493739860109582894801283838165736559875876105206882876179528301714208779569897796734279507551888889707887646058682557109007100862290718093618325322145522231353209685725172693743506755849150628467978979103965202324738978450306497485403596382798562459086636947946780222269332227902692719055952566123127850915418192061812416770998337012961131613577567354882 137572102907968892260187682844525934510371638401159854754014776903262049103744859559369860426454213428006834429401924847167293468385052078630905581947582637178356132790345454045418178672257158729789090867882441695981920118957640365073333312631660466670784336232416387695578138089635043771438938906769060022243712326367306743516672301845860607037073688390347068030274827474137337195920706896728128166202820719201216805733410038192755195883080224006343321066549330907142855867234620834121540070776474714291998780676225723455329615035855564957487146615668818250134512782400764731695870077912148621539831909526422945829024777676859487195083680234472074162931482652063400832919133087337101210967840910133171636020099208214437955947332745074960093040812734902203543611505778913618543612192469184195675502889654369095533010063349960212351447538994494247021752014168483963856136233295634871634682148205569810078855548966559888146360887381745278118916281400190158457541264359163028106418080227807567872307425943736378637462164141411868871666763234610174132379482267476402828356116799893212695423658005629640195017120624425102502741689277775129171203187963541053846932732508229781880276946257658726646458920922687326846740329413989374947646815198482403610662839591189112319309774328307302660291813840611387746629255000091902293065592559195523484528005776063372338794715946607331858760936410488188461133042466893037188618690967050309334805050023485603449726518603628832682630039749233893909494704677083888730783798796796017860766300968740243037280201391204730954082042277892376129432628255760785882636738615957130049719264435533880684547017833503477123512366599482441001204312180957090868737437149815579192870563654145683453858642609318032956719944896021309232887419161040056496689827701598429883070405979119438179434078362775406412656431106637326240064545713256266155019357755011240132384583175379342866645083926733352205410054944623995779462947267741713644399722370529708631874309108060517008264244403766085625712140134251395988684979416120999260212503744428409008457376251960002490804643748627245243957647245103812566965596261950933506265130471847329446866517468422383875369951607954021253414805513467566127314708852612886022322989635762063201018983643902345599175919019248817940076089908080567937224968388078468115805018010575606034115989927761308926577780471649049019210300252571742442266943278054210438393145498220326941452945759764222014363240362643139216736714579786038517246253808758683672509721766395874777927453353106794984861215217207719742057847188690094145942147746460900017725457606134000551533956312110315540740759587315393526403961197037816430397618501984454091814628788818707506011105402841807418311157458676511643337226223842580261386154075572086843925106434549780400808687725668914042599520608036225400981343062746968656364287086022916372056887853342631481692292233303581572781575843896393470976596698489866715304597330419362194380907732070578763988774850004780725466892260166312578198255510522714353993858086697013574175161413272224601459522721290317686478371716042200144782862711841490717193475058014486624027523450568893334131111302940121493181343369165795294374670091050486778513261472982141087372878534373568805030659598989440029349388946950448380386843018512803544384232286389029909816118537013234121940431966649053715903708551119056088380429318967110330882679909154600273659920236056560878970744036753046363769133616070897135515213215644985950923685102712165377215380054373761 222596338408891914951050941582554454459504753685377368140314694215845172243918221256620538747833568080953022166119800296897740283783361290524081162599077989432968566514865309507928464455444461620090805194394258200307375610917744302341521210158729825335619436999511119659074541995593387084584689450741138080884806821989839235131311091857367316244267427430572934390564730409445775503764430730043896094310142008715498257963016528062071187291534179883416167656879356508560845769863379842870613618473029736330287836936668439555921135087010421790769410709484224435513484801278913017233445373464996568121041942632493246100954488312468966299505862318763443676621129752233571295933675796727075087037828750751703128485755520101433177658306410525972950101117624609635842680657789765831657604021540477280336662930281885621384004516483943003569386924459780569007720708969085965591868104230729926281329940200106843270134038265117222891725955686764539134853062108894158415451498427542389835333829419923744085496606909667191501790527816092075921810647223782921044561184993856415993590295051806243450133123869137845876995708995406493251566786401946149387166798077907731721309380436955431430119135657987525019381327367114819892921565360480699111574612119073761147003452230365933639993178298229501935295103434843290901683676579322903805038148787401177304558049119437592585347630000626566797513312483730248187692540962826327638611780485965821968582625020108506222880420925803055999847201988589992291872489560899687270283952947800053387373440380691013956705935288589187568795075395982477932279049779266455289257362580344370807085368050057753294101808104634790440195810920528665255698193547479460515023139049560000843988519892802372411196216838761205479226797203972478010742468483039330638036663079537498676595907638912188783774716081393540317305768719216083262819538703885205478685258263155621617287243098163745929221029381075945183497747372369498589559699067571149636232468220231069413154307467086277864210223283434577240549950356251598444123030996223336970845629719170074221965082918122621775159236648121923540195122724800969000366310900407258541662133696810156235901952350564599698819906861547373991204744039774889879518769576293198724834133893507907176180617751428161554544740719887949348415291857533648819464803787311852924632431012895937969978070356910636231837232687601941817479765186294510430506151437733098984460897086022531703491268017227741642748899434024826113121886047465699861052049112865421026119425447314592847401542608241935405609339260708797530126785324171725597067733700805386383791435939963624002078850230875508789386469243145476388825768935826431118601217230479724312700473858689524027930404115983980769138435580088617196700143548270300300285301843218584328122386104277748177566780479561734873844783364996896876982912021969935781096926366176025288996090986514760626701167425075166150702138123772037141632537841225000476453241993946805287257766139826780630584705424613499623897048907833341124955271545154637724457142949000230518746130242613588176011157954500536785394008962770407291563198151850126440289489036550663541704253675294861127557605042800231076076144653003961030934545967155693661389441001283855296152448432170303084538211487879147916995447629507557387487705309230897162709554431911261263025804262185927865447187815799682183882687655084258413119407769273607816286276291953162732746557184003341101240076264655739082825086182194024986430631407706798367694683439725126508828957621728643 360168441316860807211238624427080388969876392086537222894329471119107221347663080815990399174287781508959856595521725144065033752168413369154986744546660626611324699305210763553346643127701620349879896062276699896289295729875384667414854522790390292006403773231927507354652680085228430856023628357510198103128519148357145978647983393703227923281341115820920002420839557883583112699685137626772024260512962727916715063696426566254826383174614403889759488723428687415703701637098000676992153689249504450622286617612894163011250750122865986748256557325153042685647997583679677748929315451377145189660873852158916191929979265989328453494589542553235517839552612404296972128852808884064176298005669660884874764505854728315871133605639155600933043141930359511839386292163568679450201216214009661476012165819936254716917014579833903215920834463454274816029472723137569929448004337526364797916012088405676653348989587231677111038086843068509817253769343509084316872992762786705417941751909647731311957804032853403570139252691957503944793477410458393095176940667261332818821946411851699456145556781874767486072012829619831595754308475679721278558369986041448785568242112945185213310396081915646251665840248289802146739661894774470074059221427317556164757666291821555045959302952626536804595586917275454678648312931579414806098103741346596700789086054895500964924142345947233898656274248894218436648825583429719364827230471453016131303387675043594109672606939529431888682477241737823886201367194237983576001067751744596071248139741349431256993986136679793918522877117673874854061711678035027241171894101196301500856804632485591633978648825938138267563708177520011106256902505728436551383760576199375580036859083546948055865054859448079238435946742099993787243629887644079387134726490781135928559666313618031626963208794444168946729962199825853409502884084417141471633704616018166861749671826273543088795866113307809297388907802316993494369022646335312863280632190590760778045028616575146794872474467687200662866262090490502994432808010412344336231058133463598483230422459170082624265963880396749168784152769969904781567331907162358192047927264168657485682768469818986983574189858469501395244619549553242456006833478428906084747157123529269970377199601395330507153720659739136767288491381765614216756689772175390321040437449023471544004094060284671945158415013159250990836690065438866252872773094715787309422854042584242858644944213776991963657112139796667965329858600627251738378298302921624104698629147213710467625328995961348730390470554477916517272184632512861819743009881447266286401516893546097624553612806542985824330127228830460869915229730132864247548998835732464178404515102647508231533941509518825788187449593038765128840037369772112880561671455918790671172047492538827528578375468205230648916444303973033122277964255084716904437461213452198941661052978839857392108393459658378747723483713967668430612609134539714867191757839324366167481638673871897359394573480274618280349363941167999653703153527055677352078451001035697244092921291655885812777470680675790854471872380678812607436346060863691617157482964094565150165731777125863754461688716345740352569257488022169756325309216058206180439902702474265996383525326966543871889568871086868587946344836576458005767874548327743700707093786718300291172841922799199161987387619782448735899786396206203314501499837088240718147168956201107763006406477420059901980210820301408785446594219798264922121945844623351784318618368542437291886044337676102404 582764779725752722162289566009634843429381145771914591034644165334952393591581302072610937922121349589912878761641525440962774035951774659679067907145738616044293265820076073061275107583146081969970701256670958096596671340793128969756375732949120117342023210231438627013727222080821817940608317808251336184013325970346985213779294485560595239525608543251492936811404288293028888203449568356815920354823104736632213321659443094316897570466148583773175656380308043924264547406961380519862767307722534186952574454549562602567171885209876408539025968034637267121161482384958590766162760824842141757781915794791409438030933754301797419794095404871998961516173742156530543424786484680791251385043498411636577892991610248417304311263945566126905993243047984121475228972821358445281858820235550138756348828750218140338301019096317846219490221387914055385037193432106655895039872441757094724197342028605783496619123625496794333929812798755274356388622405617978475288444261214247807777085739067655056043300639763070761641043219773596020715288057682176016221501852255189234815536706903505699595689905743905331949008538615238089005875262081667427945536784119356517289551493382140644740515217573633776685221575656916966632583460134950773170796039436629925904669744051920979599296130924766306530882020710297969549996608158737709903141890133997878093644104014938557509489975947860465453787561377948684836518124392545692465842251938981953271970300063702615895487360455234944682324443726413878493239683798883263271351704692396124635513181730122270950692071968383106091672193069857331993990727814293696461151463776645871663890000535649387272750634042773058003903988440539771512600699275916011898783715248935580880847603439750428276251076286840443915173539303966265254372356127118717772763153860673427236262221256943815746983510525562487047267968545069492765703623121026677112389874281322483366959069371706834725087142688885242572405549689362992958582345402884012916864658810991847458182924042233072736684690970635240106812040846754592876931041408567673201903763182768557452387542088205246041123117044871092324347892694705750567698218062765450589589397865467641918670422169551583273009765331048769235824293593017345886352248005199283471991257422777877553380219146758668708265400459024716636906673623147865576154575962702173965069880036367481974072130641582581390252245846852932654169830625160763303279246153520408407314939670265390348435481794219705299861039230692791442980486674717438239350352034489525724748572661025060472730538569590665796079893738625314802311417837033545340077615148071672785308329486061248555691656773861333119513698073606346304055499068690678667600052962943902717215576506197755561871913634809768956588028618853746036737513320383180861956757762009255500169878643105276755942248684792383790289087338030019154947167106686840218558139818374966950049069826372152735094627083453913874185852091440467754241672380939867668211081318312972768896440011724140025158185699231779973260990075832994828108798600831989802908143984697474611667421898499400953481838630291391257266389641583014727909259015541743597772453131115813707436030801158615589246321388540583645333632675173717356243762025361874101292143475549851679677775398714174974107082574747735863340284205965563155362253636974597869803341150211552435867727061385089852834807598248418083669083861287572914619244857514325963455232493060925739153034604063243081450896566064524529419305980458947108376476031058582686313051982162418394873295297831047 942933221042613529373528190436715232399257537858451813928973636454059614939244382888601337096409131098872735357163250585027807788120188028834054651692399242655617965125286836614621750710847702319850597318947657992885967070668513637171230255739510409348426983463366134368379902166050248796631946165761534287141845118704131192427277879263823162806949659072412939232243846176612000903134705983587944615336067464548928385355869660571723953640762987662935145103736731339968249044059381196854920996972038637574861072162456765578422635332742395287282525359790309806809479968638268515092076276219286947442789646950325629960913020291125873288684947425234479355726354560827515553639293564855427683049168072521452657497464976733175444869584721727839036384978343633314615264984927124732060036449559800232360994570154395055218033676151749435411055851368330201066666155244225824487876779283459522113354117011460149968113212728471444967899641823784173642391749127062792161437024000953225718837648715386368001104672616474331780295911731099965508765468140569111398442519516522053637483118755205155741246687618672818021021368235069684760183737761388706503906770160805302857793606327325858050911299489280028351061823946719113372245354909420847230017466754186090662336035873476025558599083551303111126468937985752648198309539738152516001245631480594578882730158910439522433632321895094364110061810272167121485343707822265057293072723391998084575357975107296725568094299984666833364801685464237764694606878036866839272419456436992195883652923079553527944678208648177024614549310743732186055702405849320937633045564972947372520694633021241021251399459980911325567612165960550877769503205004352563282544291448311160917706686986698484141305935734919682351120281403960052498002243771198104907489644641809355795928534874975442710192304969731433777230168370922902268587707538168148746094490299489345116630895645249923520953255996694539961313352006356487327604991738196876197496849401752625503211540617379867609159158657835902973074131337257587309739051820912009432961896646367040682810001258287870307086997441620261108500662664610532135030125225123642637516662034125127601438891988538566847199623800550164480443843146259801893185726434105368219148380952047847930579820542089175861986060198161483925398055388762082332844348138092495005507329059839025978166190926254526548667259006103923490859896064027016176052340869307717830168982254508248993379695571211668956973179027360756772839087301969176617648654956113630423377719874735528098059534530939396186550448216541832074496050349895365083087496595337959186825223032158873109304463316847157449640926904067216219285229201554926216598888695408081121730679153705987095813423153635557144037621657618874876774883092496061423628213680799926672217371181932805334317716890023032706733391311063141432911422191403744656019353270573908611102048666229544843488086741832661597669566059108898366850806920654734859968920642679140250535113883621499419731665973850060322624931243832648531262325656509341881359145020394718704588713554385213730952519306082245729138770320395622164255319879233360755255417225680963873167807927022370050935037734280936214591120697343473681552978083568054541194845949815848063203102365258046863675953661616323809685120782423568923236801964718298576897127868511843608709649860584251840222427380697153983455480067490887416119081945755044110624188694168688745559512024123145061661716867473309976013525778723869230322320654410367004931420524599710280917632973933451 1525698000768366251535817756446350075828638683630366404963617801789012008530825684961212275018530480688785614118804776025990581824071962688513122558838137858699911230945362909675896858293993784289821298575618616089482638411461642606927605988688630526690450193694804761382107124246872066737240263974012870471155171089051116406206572364824418402332558202323905876043648134469640889106584274340403864970159172201181141707015312754888621524106911571436110801484044775264232796451020761716717688304694572824527435526712019368145594520542618803826308493394427576927970962353596859281254837101061428705224705441741735067991846774592923293082780352297233440871900096717358058978425778245646679068092666484158030550489075225150479756133530287854745029628026327754789844237806285570013918856685109938988709823320372535393519052772469595654901277239282385586103859587350881719527749221040554246310696145617243646587236838225265778897712440579058530031014154745041267449881285215201033495923387783041424044405312379545093421339131504695986224053525822745127619944371771711288453019825658710855336936593362578149970029906850307773766058999843056134449443554280161820147345099709466502791426517062913805036283399603636080004828815044371620400813506190816016567005779925397005157895214476069417657350958696050617748306147896890225904387521614592456976374262925378079943122297842954829563849371650115806321861832214810749758914975330980037847328275170999341463581660439901778047126129190651643187846561835750102543771161129388320519166104809675798895370280616560130706221503813589518049693133663614634094197028749593244184584633556890408524150094023684383571516154401090649282103904280268575181328006697246741798554290426448912417557012021760126266293820707926317752374599898316822680252798502482783032190756131919258457175815495293920824498136915992395034291330659194825858484364580811828483589965016956758246040398685579782533718901695719480286187337141080889114361508212744472961394464659612940345843849628471143079886172184012180186670093229479682634865659829135598135197543346493116348210114486491353432848555359316282702728343287889093227106059899592769520109314158090150120209389131598933716268136739277147779537974439304651691139638374825725483960039688847844570251460657186200562304729011909947908998924100794668970577209096206507952238321567837107938919504852956856145029726689187779479331587022828126237483921924773639341815177365431374256834218258053548215819573976686614856999006990603156148126292535760588570790073100530061982630341955167146876807468186928910423165111743409631972133552518220121664996120090708490569154624977673562523340728270245604884198941658351983838946255659903742657685336788445326100625650276472620913512396412879242285584971442809182172387249825038082090259965574815416497022478649093160587858589298090584874577493088948875561151118492601697578582713825286575471855418150549366121092479301594602528180001960992113019431553895345639444889851673081840295885921319665643359371124257341331684267289005092193316256135452884614684434357936373636986405159961978636892164578894775104353027870356796777580603838728180985640181359122821519859924753372517191037796740108929928642486989425365699742880877763972221837783036236364059673025404988389132078599055601692896446700469018723396044577376921969341693057234978945572067124563928778460330738326803269370074079421187229614484712546628186388143112613433537834505432831759182816338698796685468949691244472506762128675790928271764498 2468631221810979780909345946883065308227896221488818218892591438243071623470070067849813612114939611787658349475968026611018389612192150717347177210530537101355529196070649746290518609004841486609671895894566274082368605482130156244098836244428140936038877177158170895750487026412922315533872210139774404758297016207755247598633850244088241565139507861396318815275891980646252890009718980323991809585495239665730070092371182415460345477747674559099045946587781506604201045495080142913572609301666611462102296598874476133724017155875361199113591018754217886734780442322235127796346913377280715652667495088692060697952759794884049166371465299722467920227626451278185574532065071810502106751141834556679483207986540201883655201003115009582584066013004671388104459502791212694745978893134669739221070817890526930448737086448621345090312333090650715787170525742595107544015626000324013768424050262628703796555350050953737223865612082402842703673405903872104059611318309216154259214761036498427792045509984996019425201635043235795951732818993963314239018386891288233342090502944413916011078183280981250967991051275085377458526242737604444840953350324440967123005138706036792360842337816552193833387345223550355193377074169953792467630830972945002107229341815798873030716494298027372528783819896681803265946615687635042741905633153095187035859104421835817602376754619738049193673911181922282927807205540037075807051987698722978122422686250278296067031675960424568611411927814654889407882453439872616941816190617566380516402819027889229326840048489264737155320770814557321704105395539512935571727242593722540616705279266578131429775549554004595709139128320361641527051607109284621138463872298145557902716260977413147396558862947756679808617414102111886370250376843669514927587742443144292138828119291006894701167368120465025354601728305286915297302879038197362974604578854880301173600220860662206681766993654682274322495032253702075967613792328879277765311858357614497098464606005276992807955003008286307046052960303521269767496409145050391692067827556475502638818007544604780986655297111928111614541349218023926814837758468513012735864622721933717897121548206146628716967409012932149098196711979885536949672723700873410019910288019326873573414539860230937020432237520855347684487702784400672030241843272238887163976084538156045533930404512494091634487586763859060779635889622753214795655383927892135844067652904179281888335194872936643043213807397285414304988658661278655791474647661946716786571504012410496116668849607631469458169180790171708978951303518536824275506252608338747591158958775550378994774300583407555648018795551881740778742625957471800531100797830353760064960676934813609729753498759942080883244663271934091495790287279505375303709213185123609108844604621006970887424577682464838449203755869960156302020770011489494329530596846359522784172253167158831242422070800567119237069524984209658264487943286222249337388148922603671253269966667778967138864621517646931900618510852563498291890633449913850673565626434025486912020844849007269828415386877242455882715543930282374259056419898774008465108283287582477741453771646655203355691116396857102456074515874069860664719349718192497983183681835375181547806083980129230268701458989897980383482710525770812701001835857566411195023597596887235239653287026782553593533279662359642726050580043996269347746857408749024414184703609881398303230272058652309533204774330301011144481446357537906685569021117339879316696175893031361838956708561245697949 3994329222579346032445163703329415384056534905119184623856209240032083632000895752811025887133470092476443963594772802637008971436264113405860299769368674960055440427016012655966415467298835270899493194470184890171851243893591798851026442233116771462729327370852975657132594150659794382271112474113787275229452187296806364004840422608912659967472066063720224691319540115115893779116303254664395674555654411866911211799386495170348967001854586130535156748071826281868433841946100904630290297606361184286629732125586495501869611676417980002939899512148645463662751404675831987077601750478342144357892200530433795765944606569476972459454245652019701361099526547995543633510490850056148785819234501040837513758475615427034134957136645297437329095641030999142894303740597498264759897749819779678209780641210899465842256139221090940745213610329933101373274385329945989263543375221364568014734746408245947443142586889179003002763324522981901233704420058617145327061199594431355292710684424281469216089915297375564518622974174740491937956872519786059366638331263059944630543522770072626866415119874343829117961081181935685232292301737447500975402793878721128943152483805746258863633764333615107638423628623153991273381902984998164088031644479135818123796347595724270035874389512503441946441170855377853883694921835531932967810020674709779492835478684761195682319876917581004023237760553572398734129067372251886556810902674053958160270014525449295408495257620864470389459053943845541051070300001708367044359961778695768836921985132698905125735418769881297286026992318370911222155088673176550205821439622472133860889863900135021838299699648028280092710644474762732176333711013564889713645200304842804644514815267839596308976419959778439934883707922819812688002751443567831750267995241646774921860310047138813959624543935960319275426226442202907692337170368856557800463063219461113002083810825679163440013034053367854105028751155397795447899979666020358654426219865827241571426000469936605748300846857914778189132846475705281947683079238279871374702693216304638236953205087951274103003507226414602967974197773383243097540486811800901829091728781833310666641657520304718867087618402063748031912980116624814097452261675312714671601427657701699298898499899919784865002488981512533885050007513412581978150842196339681832946661747252252041882642834061928742426506268712017635780919349442402575134715514914963970305136826104055527677010050302074417470641615543467853204478235255342406331646668937319942719630304946256705239639680731999520151811132126876125828110986723753185929417720082157223131092328068599116439296703498264138587950176859414341265966685742046135984996772012112048799623190473513472411184096730526209345288922210564116703799675918254545994798156566418291016991870832008969514837648039653865700778348609249462608628600787584914405174339448471659733404285651432940000653514392405812541380402360207630609035765523843939916328924564663366289398221674312778309511369320013740914396773883163935250004574171192005249893723030579105337100984460154443099821235178829519701949090244352895948584477668783569461311157939274519034375485383384341331297755979923975934440627442377855757146458301427911826168824800547247548964857893202490539242026134344443155735930759201833080434913168104091470298065905958635697864403704522935226336897338588298117704607925047808077595735552293784258783031068627917714984605280495921347886943734548978986879189297089501907719914025348266387420365538123967632499489517462447 6462960444390325813354509650212480692284431126608002842748800678275155255470965820660839499248409704264102313070740829248027361048456264123207476979899212061410969623086662402256934076303676757509165090364751164254219849375721955095125278477544912398768204548011146552883081177072716697804984684253561679987749203504561611603474272853000901532611573925116543506595432095762146669126022234988387484141149651532641281891757677585809312479602260689634202694659607788472634887441181047543862906908027795748732028724460971635593628832293341202053490530902863350397531846998067114873948663855622860010559695619125856463897366364361021625825710951742169281327152999273729208042555921866650892570376335597516996966462155628917790158139760307019913161654035670530998763243388710959505876642954449417430851459101426396290993225669712285835525943420583817160444911072541096807559001221688581783158796670874651239697936940132740226628936605384743937377825962489249386672517903647509551925445460779897008135425282371583943824609217976287889689691513749373605656718154348177972634025714486542877493303155325080085952132457021062690818544475051945816356144203162096066157622511783051224476102150167301471810973846704346466758977154951956555662475452080820231025689411523143066590883810530814475224990752059657149641537523166975709715653827804966528694583106597013284696631537319053216911671735494681661936272912288962363862890372776936282692700775727591475526933581289039000870981758500430458952753441580983986176152396262149353324804160588134452575467259146034441347763132928232926260484212689485777548682216194674477595143166713153268075249202032875801849772795124373703385318122849510852109072602988362547231076245252743705535282907535119743501122024931699058253128287237346677855737684791067060688429338145708660791912056425344630027954747489822989640049407053920775067642074341414175684031686341370121780027708050128427523783409099871415513771994899636419738078223441738669890606475213598556255849866201085235185806779226551715179488383330263066770520772780140875771212632556055089658804338342714582515546991407169912378245280313914564956351503767028563763205726451347584055027414995897130109692096510351047124985376186124691511715677028572872313039760150721885434726502367881569537710297813254008392685468578568996922746285408297575813047346556020376914093032571078415416808972195617370790099442807099814372789730283337416012204923238717460684449012828882158193136896533998197806294330884036729291134317356752821908489288363468978320991922298585104779414505260577461435670328420904814290051103618978111213597286905819786606745728741155120008592643213846667085794602365872113760300125287123202164682856672607092589952194144655612494086955423629849704011341690027399861596491838979856939415330504492314904534218569405764629398612277079243935771185807994443905657452810264182422724314959525049610905386569865895096979051746093277304477847168334619559364889453279917174132886966945641532907626446662227140638024085042678815520157056066017357945833467424271515208112421285402417493020526727155005004376442792034569594445521752260488147132038587697022414152837026432008956501512238520476496176493925895009850660175728795355048838022432759240701016032324826638446456530014534082270770734515286493895662793193875351151430487076528759616559698231024168284651921317155824453144301318198443486640950026220945256663932805454552661274035560123468325546834996187476741031365227583083596258569485806589208050763160396 10457289666969671845799673353541896076340966031727187466605009918307238887471861573471865386381879796740546276665513631885036332484720377529067776749267887021466410050102675058223349543602512028408658284834936054426071093269313753946151720710661683861497531918864122210015675327732511080076097158367348955217201390801367975608314695461913561500083639988836768197914972210878040448242325489652783158696804063399552493691144172756158279481456846820169359442731434070341068729387281952174153204514388980035361760850047467137463240508711321204993390043051508814060283251673899101951550414333965004368451896149559652229841972933837994085279956603761870642426679547269272841553046771922799678389610836638354510724937771055951925115276405604457242257295066669673893066983986209224265774392774229095640632100312325862133249364890803226580739553750516918533719296402487086071102376443053149797893543079120598682840523829311743229392261128366645171082246021106394713733717498078864844636129885061366224225340579747148462447583392716779827646564033535432972295049417408122603177548484559169743908423029668909203913213638956747923110846212499446791758938081883225009310106317529310088109866483782409110234602469858337740140880139950120643694119931216638354822037007247413102465273323034256421666161607437511033336459358698908677525674502514746021530061791358208967016508454900057240149432289067080396065340284540848920673793046830894442962715301176886884022191202153509390330035702345971510023053443289351030536114174957918190246789293287039578310886029027331727374755451299144148415572885866035983370121838666808338485007066848175106374948850061155894560417269887105879719029136414400565754272907831167191745891513092340014511702867313559678384829947751511746255879730805178428123732926437841982548739385284522620416455992385663905454181189692730681977219775910478575530705293802527177767842512020533561793061761417982532552534564497666863413751660919995074164298089268980241316606945150204304556696724115863424318653254931833662862567621610134441473213989084779112724417720507329192662311564757317550489744764790413009918732092114816394048080285600339230404863246756066451142645817059645162022672213135165144577247051498839363113143334730272171211539660070506750437215483880415454587717811225835986543527664918250829869408032660549617695690180617949119340599301283096051197728321638019945924814957722063784677926556387392943689214973540791878155090628372350011397615131789340604137940999821356672010764622303009527148128969095468498472803054425461230607525491984330647365088048503062037421143431687577227652893990404083925194695905600569461274559328955892803070791374377984162559923315760636674575866953403133301935241116355219729197886631341884395698809498256445690878588362670988826454252978544146180605312567178655227238027213064664158340945525256466103639061738461697122423377829351930862152285788930073525706014817269937217220806771732997985848763111127592695483644256286959382447304400329826162390642598256234684065413880086645122695046817927578714615029347600114922119442110771080050953588854111575604030905603461026779522522617421972038353711908816950407943397128954616376233642634795353806836019484976276042904013695915635249779943042166669269794182387289216367162705683902619377964193728699152511049015834191599463985953457036819322285989259846364963902048879853611982702269672018654138660241269213301375900548217770109102455204736132085689384460945390575849471016624107609774221707540280622843 16920250111359997659154183003754376768625397158335190309353810596582394142942827394132704885630289501004648589736254461133063693533176641652275253729167099082877379673189337460480283619906188785917823375199687218680290942645035709041276999188206596260265736466875268762898756504805227777881081842620910635204950594305929587211788968314914463032695213913953311704510404306640187117368347724641170642837953714932193775582901850341967591961059107509803562137391041858813703616828462999718016111422416775784093789574508438773056869341004662407046880573954372164457815098671966216825499078189587864379011591768685508693739339298199015711105667555504039923753832546543002049595602693789450570959987172235871507691399926684869715273416165911477155418949102340204891830227374920183771651035728678513071483559413752258424242590560515512416265497171100735694164207475028182878661377664741731581052339749995249922538460769444483456021197733751389108460071983595644100406235401726374396561575345841263232360765862118732406272192610693067717336255547284806577951767571756300575811574199045712621401726184993989289865346095977810613929390687551392608115082285045321075467728829312361312585968633949710582045576316562684206899857294902077199356595383297458585847726418770556169056157133565070896891152359497168182977996881865884387241328330319712550224644897955222251713139992219110457061104024561762058001613196829811284536683419607830725655416076904478359549124783442548391201017460846401968975806884870335016712266571220067543571593453875174030886353288173366168722518584227377074676057098555521760918804054861482816080150233561328374450198052094031696410190065011479583104347259263911417863345510819529738976967758345083720046985774848679421885951972683210804509008018042525105979470611228909043237168723430231281208368048811008535482135937182553671617269182964399350598347368143941353451874198361903683573089469468110960076317973597538278927523655819631493902376312710718911207213420363802860812546590316948659504460034158385378042056004940397508243734761864919988495630353063384282321115903100032133005291756197582922296977372428730959004431789367367794168068973207414035197673232055542292132364309645516191702232427684964054624859011758845043524579420221228635871941986248297024125428109039089994936213133496819826792154318068847193508737527173969496254692333854174466614537293833637316714914400529163599050716286670730359701419896779509338839539641201232169590752028323338801944235330705393401301898939659762349056618257458937476793794976724046335386939997244908108800758376923966851711194535306555338866491277309903711801441634341724581283151972169739470156585976743856276320223441047759876740549810075740394525193310499875341691973586765514245402820839946473090740184854509968683393668309048638495509846785748060991867425825341743402276716711064460547544719191271961304846102144311455911763191175499939420802993869016030494525284618901332605408128000580872612657777143253905023980212026776488389531280622341277362880934037142711140052992651395002986130237460021400324536935131297807205958593230554367638600500048982779040010669749460559735376126061653976839952353630466854896710138811289279701845870145152004838259062533938068009020644058198994096432628843819230901244976454637134664458089391492346386400167264678675992745570016735050346454273911767682119726502024154930181145756312968680359605497933146106830453209491805669225923530282967081876861201976755803432554612882677095580810915591043783239 27377539778329669504953856357296272844966363190062377775958820514889633030414688967604570272012169297745194866401768093018100026017897019181343030478434986104343789723292012518703633163508700814326481660034623273106362035914349462987428719898868280121763268385739390972914431832537738857957179000988259590422151985107297562820103663776828024532778853902790079902425376517518227565610673214293953801534757778331746269274046023098125871442515954329972921580122475929154772346215744951892169315936805755819455550424555905910520109849715983612040270617005880978518098350345865318777049492523552868747463487918245160923581312232037009796385624159265910566180512093812274891148649465712250249349598008874226018416337697740821640388692571515934397676244169009878784897211361129408037425428502907608712115659726078120557491955451318738997005050921617654227883503877515268949763754107794881378945882829115848605378984598756226685413458862118034279542318004702038814139952899805239241197705230902629456586106441865880868719776003409847544982819580820239550246816989164423178989122683604882365310149214662898493778559734934558537040236900050839399874020366928546084777835146841671400695835117732119692280178786421021947040737434852197843050715314514096940669763426017969271521430456599327318557313966934679216314456240564793064767002832834458571754706689313431218729648447119167697210536313628842454066953481370660205210476466438725168618131378081365243571315985596057781531053163192373478998860328159686047248380746177985733818382747162213609197239317200697896097274035526521223091629984421557744288925893528291154565157300409503480825146902155187590970607334898585462823376395678311983617618418650696930722859271437423734558688642162239100270781920434722550764887748847703534103203537666751025785908108714753901624824041196672440936317126875284353594488958874877926129052661946468531219716710382437245366151230886093492628852538095205142341275316739626568066674401979699152523820365514007165369243314432812083823113289090219040904623626550531949716948750949699101220048073570713474983427467857349683495036520987995932215709464543547353052512074967707024572932219963480486340319049115187454155036522780681336279479479183803417738002346489117214736119080291735386309157470128712478713145920264925981479740798415070656661562350729396811204427707791918615595291635137270517812265615471657262639729358251227383728642843058123303390634870320301216994630269573582180988367160112679406082176330526750073312663561962771876204747226554405975266598031149507565994465489229238756165846425427028889132337966994132566519385267713987636996137539942294042557711301125632273227377351121840438880146756808396551316416763478873696460434426855095070889860218107398641101630338202918781618773217180957509847921287592784676115159352926716219105453038406407560617662236320926651183780929733658427269479973663386773915476964430012946509008686285967711746091390634330591256891111708465308141421399540864406427516427106314551921923220597512046946347917229356262748039469322581700745266807621515246656377242068887256912182084665943242631405652443805819533192366882531773729837970470927247895750759421471272943781446084633508681889630128280881163076229853703258800587100365663366226811231108447268407682138539754042422283120191498897449183098870275456731523473771869668740263171614047083628550904008542163848025984987334498265739202359408206353757709575778328378735019099167566245662922146379282025629506784705355032623131324406082 44297789889689667164108039361050649613591760348397568085312631111472027173357516361737275157642458798749843456138022554151163719551073660833618284207602085187221169396481349979183916783414889600244305035234310491786652978559385172028705719087074876382029004852614659735813188337342966635838260843609170225627102579413227150031892632091742487565474067816743391606935780824158414682979020938935124444372711493263940044856947873440093463403575061839776483717513517787968475963044207951610185427359222531603549339999064344683576979190720646019087151190960253142975913449017831535602548570713140733126475079686930669617320651530236025507491291714769950489934344640355276940744252159501700820309585181110097526107737624425691355662108737427411553095193271350083676727438736049591809076464231586121783599219139830378981734546011834251413270548092718389922047711352543451828425131772536612959998222579111098527917445368200710141434656595869423388002389988297682914546188301531613637759280576743892688946872303984613274991968614102915262319075128105046128198584560920723754800696882650594986711875399656887783643905830912369150969627587602232007989102651973867160245563976154032713281803751681830274325755102983706153940594729754275042407310697811555526517489844788525440577587590164398215448466326431847399292453122430677452008331163154171121979351587268653470442788439338278154271640338190604512068566678200471489747159886046555894273547454985843603120440769038606172732070624038775447974667213030021063960647317398053277389976201037387640083592605374064064819792619753898297767687082977079505207729948389773970645307533970831855275344954249219287380797399910065045927723654942223401480963929470226669699827029782507454605674417010918522156733893117933355273895766890228640082674148895660069023076832144985182833192090007680976418453064057838025211758141839277276727400030090409884671590908744340928939240700354204452705170511692743421268798972559258061969050714690418063731033785877810026181789904749760743327573323248604418946679631490929457960683512814619089715678426634097757304543370957381816500328277185578854512686836972278312056943864335074818741001193170894521537992281170729746287400832426197527981711906868767472362861358247962258260698500512964022181099456377009502838574029304015976415953931911890483453716668798244004713165234965888111849983968991444984426802909305294579354643758780390982779359129728853663092054767099810555834169910774814350579119188436018208026411661232143474614562501622534225261365484013343452060393007873553901381405486474146864966604802350995740843532502300687905385876545023891348797579174284018623840863273295371743383963327865696715200370197856156428056966573554614090985627737354970412581833804872912886504451178149391872358958071690926193241589596641423171625006138674777210972878863748150962894378947385387198728500121005619732115582117974842685678668139929952367312002555301998206271376009535663196665019112289337920799198542794769430407728453882802941453203842938789409827281954372067402801032120717584686875504267642915571193312373366694462870775315220310881231905701426584859543862116343091509105964032124904087848104389888326169653920257373913210527759775280285719422138763791771267821231158564657462659440074927678169652658593176888706880372511683845283849350363548951449477093490506920015194537083381729203355052928163472344993782297956014857871237135505515036806967201381447554302265302066249443106864898902182714580242389461800935843538722368189321 71675329668019336669061895718346922458558123538459945861271451626361660203772205329341845429654628096495038322539790647169263745568970680014961314686037071291564959119773362497887549946923590414570786695268933764893015014473734635016134438985943156503792273238354050708727620169880705493795439844597429816049254564520524712851996295868570512098252921719533471509361157341676642248589694153229078245907469271595686314130993896538219334846091016169749405297635993717123248309259952903502354743296028287423004890423620250594097089040436629631127421807966134121494011799363696854379598063236693601873938567605175830540901963762273035303876915874035861056114856734167551831892901625213951069659183189984323544524075322166512996050801308943345950771437440359962461624650097178999846501892734493730495714878865908499539226501463152990410275599014336044149931215230058720778188885880331494338944105408226947133296429966956936826848115457987457667544707992999721728686141201336852878956985807646522145532978745850494143711744617512762807301894708925285678445401550085146933789819566255477352022024614319786277422465565846927688009864487653071407863123018902413245023399122995704113977638869413949966605933889404728100981332164606472885458026012325652467187253270806494712099018046763725534005780293366526615606909362995470516775333995988629693734058276582084689172436886457445851482176651819446966135520159571131694957636352485281062891678833067208846691756754634663954263123787231148926973527541189707111209028063576039011208358948199601249280831922574761960917066655280419520859317067398637249496655841918065125210464834380335336100491856404406878351404734808650508751100050620535385098582348120923600422686301219931189164363059173157622427515813552655906038783515737932174185877686562411094808984940859739084458016131204353417354770190933122378806247100714155202856452692036878415891307619126778174305391931240297945334023049787948563610074289298884630035725116670117216254854151391817191551033219182572827150686612338823459851303258041461407677632263764318190935726500204811232287970838814731499995364798173574786728396301515825665109455939302781843313933413134375007878311330285917200442437355206878864261191386052570890100863704737079472996817580804699408490256926505721981551719949568941957895694730326961140115279019527640815917592942757806727445275604128715502239068524776951841994373117031618366508001972786976966482689637420111772828800180348396531567486348548697614108587991758893547927226063585306101466112710567749427326991039023061467375870975703385621132451227778024629975870469294820471905261812737878985793716714226312666398574574421004016611340678987537154080516954664552979373383337033487787446062164210065483471694022980311527606081516352310653977731288871883703089510884234207847740165491601493430078331902154558523512041183706313849912281050739278159385062091638229459594145104359965313821011241587965918017467400169993787921910223997803228940619942335633836835244880989117493375127063536301456773629871601423665549071590040166387620771075264430817849689615435581719782957399886254123863311353870390679077054483225623282835802002595831335743855149309797442597701703458546719209649405408566600585214993645474526621818258930320828886251306036125438060340731716642749302655631875344181298533462419226906208616964278789683934800254995776286983603832172014508841808282943349356136976337864923243160724910957225882681000321165417009352527821048561996605871896246506290876161853692595403 115973119557709003833169935079397572072149883886857513946584082737833687377129721691079120587297086895244881778677813201320427465120044340848579598893639156478786128516254712477071466730338480014815091730503244256679667993033119807044840158073018032885821278090968710444540808507223672129633700688206600041676357143933751862883888927960312999663726989536276863116296938165835056931568715092164202690280180764859626358987941769978312798249666078009525889015149511505091724272304160855112540170655250819026554230422684595277674068231157275650214572998926387264469925248381528389982146633949834335000413647292106500158222615292509060811368207588805811546049201374522828772637153784715651889968768371094421070631812946592204351712910046370757503866630711710046138352088833228591655578356966079852279314098005738878520961047474987241823546147107054434071978926582602172606614017652868107298942327987338045661213875335157646968282772053856881055547097981297404643232329502868466516716266384390414834479851049835107418703713231615678069620969837030331806643986111005870688590516448906072338733900013976674061066371396759296838979492075255303415852225670876280405268963099149736827259442621095780240931688992388434254921926894360747927865336710137207993704743115595020152676605636928123749454246619798374014899362485426147968783665159142800815713409863850738159615225325795724005753816990010051478204086837771603184704796238531836957165226288053052449812197523673270126995194411269924374948194754219728175169675380974092288598335149236988889364424527948826025736859275034317818627004150375716754704385790307839095855772368351167191375836810653626165732202134718715554678823705562758786579546277591150270122513331002438643770037476184076144584249706670589261312679282628160814268551835458071163832061773004724267291208221212034393773223254990960404018005242553432479583852722127288300562898527871119103244632631594502398039193561480691984878873261858142692004775831360535279985887937269627217732823123932333570478259935587427878797982889532390865638315776578937280651404926838908989592514209772113316495693075359153641241083138488103977166399803637856662054934606305269529416303611456646946729838187633076392242903292921338362463725062985041731257516081317663430671356382882731484390293978872957934311648662238851623568995688325884820630758177723694839295259573120160486665871434082246421349016875812009349287361102515830629574744404519922328662970091123210882146605536984715822134999652991037022541788565207840326727478194581092879387384046896615368757276462177532486099056030129020370819402971595508377291138357761770334591295888510331290239437847716375759995304006853233869280887152520709407430349910588101878431689901565035896053527827853224414110532694501702526336689360562809896331100480875631019365171630276270641051210765902709486406420131091701048640781171744897891500644209613072145272813244289917681133013796889964124288843409705656984586929336287141149739818485130403267242973334871920434828330906475090866600911825973491068350103710757751074496275342907346389043001988802276182653732715106565005095217055296975538620916599568714791941766034720735423591959539198123612251621960832459929737409180688852320007353757437245794443049417494978291545691380963803607712999324893531456183028143559189465147883825968178355685710454785709699129337338377505490338656760335486853835590580899364214008213473370438279967692112338673436983265623231666452459392719950744711186114285708307226719700576060784724 187648449225728340502231830797744494530708007425317459807855534364195347580901927020420966016951714991739920101217603848489691210689015020863540913579676227770351087636028074974959016677262070429385878425772178021572683007506854442060974597058961189389613551329322761153268428677104377623429140532804029857725611708454276575735885223828883511761979911255810334625658095507511699180158409245393280936187650036455312673118935666516532133095757094179275294312785505222214972581564113758614894913951279106449559120846304845871771157271593905281341994806892521385963937047745225244361744697186527936874352214897282330699124579054782096115245123462841672602164058108690380604530055409929602959627951561078744615155888268758717347763711355314103454638068152070008599976738930407591502080249700573582775028976871647378060187548938140232233821746121390478221910141812660893384802903533199601637886433395564992794510305302114583795130887511844338723091805974297126371918470704205319395673252192036936980012829795685601562415457849128440876922864545955617485089387661091017622380336015161549690755924628296460338488836962606224526989356562908374823715348689778693650292362222145440941237081490509730207537622881793162355903259058967220813323362722462860460891996386401514864775623683691849283460026913164900630506271848421618485558999155131430509447468140432822848787662212253169857235993641829498444339606997342734879662432591017118020056905121120261296503954278307934081258318198501073301921722295409435286378703444550131299806694097436590138645256450523587986653925930314737339486321217774354004201041632225904221066237202731502527476328667058033044083606869527366063429923756183294171678128625712073870545199632222369832934400535357233767011765520223245167351462798366092988454429522020482258641046713864463351749224352416387811127993445924082782824252343267587682440305414164166716454206146997897277550024562834800343373216611268640548488947551157027322040500948030652496240742088661444409283856343114906397628946547926251338649286147573852273315948040343255471587131427043720221880485048586844816491057873532728427969479440003929642275855742940638505368868019439644537294614941742564147172275542839955256504094678973909252564588767722121204254333662122362839161613309388453465942013928441899892207343392565812763684274707853525636548351120481501566740535177248875988904939958859198263343389992843627715795363075302807596057434041940034101491770271471607413714091885533413436243587644749930570469014628793146428193590905148842306714375085919676836133147437880918107231507257907045000795273440890328849196400170499649320385012602736643956638012422137379776606644685840771023361404107185262386803733247621589665877752065775101379525221850833535941716614210854013180314420649434693599420611365109838867105337121877764071129542668057268009918461314798014898553062222484176050885706301251301604866958348649882994954025038477930042306310809875650772508839560284944378680438427466037104078218215861037928203457970011392323374541697574914733899175300797917462117046418171777206892691604237857902436690114992819128958528409167366217697971082794338074777568037316566759335814688507921054849323664291006648947058586097418920592568751082720321064867676425299120431942686999929045773340056610174205485683775434533646446417288387405261894327419064499383064137593373281777322260592507501362677398863842713570145189811235361523128417023295899319664265944397083461811920540999306707791986181954813517595862429753380127 303621568783437344335401765877142066602857891312174973754439617102029034958031648711500086604248801886984801879895417049810118675809059361712120512473315384249137216152282787452030483407600550444200970156275422278252351000539974249105814755131979222275434829420291471597809237184328049753062841221010629899401968852388028438619774151789196511425706900792087197741955033673346756111727124337557483626467830801314939032106877436494844931345423172188801183327935016727306696853868274613727435084606529925476113351268989441149445225502751180931556567805818908650433862296126753634343891331136362271874765862189388830857347194347291156926613331051647484148213259483213209377167209194645254849596719932173165685787701215350921699476621401684860958504698863780054738328827763636183157658606666653435054343074877386256581148596413127474057367893228444912293889068395263065991416921186067708936828761382903038455724180637272230763413659565701219778638903955594531015150800207073785912389518576427351814492680845520708981119171080744118946543834382985949291733373772096888310970852464067622029489824642273134399555208359365521365968848638163678239567574360654974055561325321295177768496524111605510448469311874181596610825185953327968741188699432600068454596739501996535017452229320619973032914273532963274645405634333847766454342664314274231325160878004283561008402887538048893862989810631839549922543693835114338064367228829548954977222131409173313746316151801981204208253512609770997676869917049629163461548378825524223588405029246673579028009680978472414012390785205349055158113325368150070758905427422533743316922009571082669718852165477711659209815809004246081618108747461746052958257674903303224140667712963224808476704438011541309911596015226893834428664142080994253802722981357478553422473108486869187619040432573628422204901216700915043186842257585821020162024158136291455017017104674869016380794657194429302741412410172749332533367820813015170014045276779391187776226630025931071627016679467047239968107206483513679217447269037106243138954263816922192752238536353882629211472999258358958132986750948891882069210562578492033619442255546578495167423802625744914066710918553199211093902113730473031648746997971895247615028313830707162935511849743440026269832969692271184950332307907314857826518992054804664387253270396179410457179109298205196406035794750369036475570811392941444684692406868655637065082724177818638225632178446459956430154740362594818295860697422518129258378587297740967593010803194000986754921069099729935186101759132816292204890423900058450593330563288036065371614676412485837226487538528261419654976308491246975246877450269853755536601948692694004892642291259705971794234083158209691544309441967340137275578749678686760355827146905355715706651110009997503495751711845985469886470508752154034712180753433959977496324881445889715947193843394229073942386350510864373750139771592939800676087038835367894166595154219581307757095768896572085528420256912596440371321191550732958363031788876486483189975453523548405802249279011555668536613321761079123595935693593040134085090422830099384134053745464464341756318887682363052866719334072037302182927774227706044667100945625123466578684467766786271240599922508519966115507917093920277411977634067963732653486339381503705661668711918993723111594301114355583617580037873850209082193474931750787267660917352842988216512989444742077784153403284605799803096109135634572756647531567628749914271313260950051418978100467663120744315563005814164851 491270018009165684837633596674886561133565898737492433562295151466224382538933575731921052621200516878724721981113020898299809886498074382575661426052991612019488303788310862426989500084862620873586848582047600299825034008046828691166789352190940411665048380749614232751077665861432427376491981753814659757127580560842305014355659375618080023187686812047897532367613129180858455291885533582950764562655480837770251705225813103011377064441180266368076477640720521949521669435432388372342329998557809031925672472115294287021216382774345086212898562612711430036397799343871978878705636028322890208749118077086671161556471773402073253041858454514489156750377317591903589981697264604574857809224671493251910300943589484109639047240332756998964413142767015850063338305566694043774659738856367227017829372051749033634641336145351267706291189639349835390515799210207923959376219824719267310574715194778468031250234485939386814558544547077545558501730709929891657387069270911279105308062770768464288794505510641206310543534628929872559823466698928941566776822761433187905933351188479229171720245749270569594738044045321971745892958205201072053063282923050433667705853687543440618709733605602115240656006934755974758966728445012295189554512062155062928915488735888398049882227853004311822316374300446128175275911906182269384939901663469405661834608346144716383857190549750302063720225804273669048366883300832457072944029661420566072997279036530293575042820106080289138289511830808272070978791639345038598747927082270074354888211723344110169166654937428996001999044711135663792497599646585924424763106469054759647537988246773814172246328494144769692253899415873773447681538671217929347129935803529015298011212912595447178309638838546898543678607780747117079596015604879360346791177410879499035681114155200733650970789656926044810016029210146839125969666509929088607844464463550455621733471310821866913658344681757264103084785626784017973081856768364172197336085777727421840272467372114592516036300535810162146365736153031439930556096555184680095412270211857265448223825667780926349433353484306945802949477808822424610497180042018495963261718111289519133672792670645184558604005533494941775241074389273312986905251092650869156867592902598429284139766183405562389108994583001659638416274321835756757718726335447370477150937545104032936093727460418686697972776329927617912464475751351800642948035796861499264780878087253121445821689612488399990531646510634066425709574789308051542694622174942490898163479817822794133183114660004878777492816134218735969041023571337939368700562070545943110372409949853376166075683938698761068975361321093983619203515462691991135313208593378534775916003695366891234181037816405831281210187194033115238655103971529520296297543761116209728886965530659432197095172323211095308753575845874031798783310296102017245506243342760687730845746905616713249993272056812115675355006729941589683671041063873845824208901465029456958529604608456857029907100695340062477475399409766593996291235246846497875513349995221123320536148454312353585998730368179250900802828385197277991987527112945092203263012273873631707974016858765157390941496902109353868942263588916213965721950269289414473227631526352883690161192491259602686436572784770345576532409576754963661699259679438113879867154395694428256758040718402742988879474365292914708465257612525124069044983177945350489579190388308584791354298593095841161326224526158930472076311797512025833376083233801949358126770086649617934261911425435567544978 794891586792603029173035362552028627736423790049667407316734768568253417496965224443421139225449318765709523861008437948109928562307133744287781938526306996268625519940593649879019983492463171317787818738323022578077385008586802940272604107322919633940483210169905704348886903045760477129554822974825289656529549413230333452975433527407276534613393712839984730109568162854205211403612657920508248189123311639085190737332690539506221995786603438556877660968655538676828366289300662986069765083164338957401785823384283728170661608277096267144455130418530338686831661639998732513049527359459252480623883939276059992413818967749364409968471785566136640898590577075116799358864473799220112658821391425425075986731290699460560746716954158683825371647465879630118076634394457679957817397463033880452883715126626419891222484741764395180348557532578280302809688278603187025367636745905335019511543956161371069705958666576659045321958206643246778280369613885486188402220071118352891220452289344891640608998191486727019524653800010616678770010533311927516068556135205284794244322040943296793749735573912842729137599253681337267258927053839235731302850497411088641761415012864735796478230129713720751104476246630156355577553630965623158295700761587662997370085475390394584899680082324931795349288573979091449921317540516117151394244327783679893159769224148999944865593437288350957583215614905508598289426994667571411008396890250115027974501167939466888789136257882270342497765343418043068655661556394667762209475461095598578476616752590783748194664618407468416011435496341012847655712971954074495522011896477293390854910256344896841965180659622481351463715224878019529299647418679675400088193478432318522151880625558671986786343276558439853590203795974010914024679746960354600593900392236977589103587263687602838589830089499673232220930426847754169156508767514909628006488621686747076750488415496735930039139338951693405826198036956767305615224589177187367350131054506813028048694002140523587663317215277209386333843359514953609773543824221786338551224475674187640976064204134808978644826483565304761082464559771316492566390604596987996881160366836097628840216473270929472670716452048140986334976503003786018553998090622764404482621216429136447075278033149002415378827552693930823366606629743071615545245327502175141538190815500212346550906569716891894378812124677986948940046562744742087632728203730154901845960811430940084047321790934859946961801250996661244005435486730569671953000762240231865756490621016795119938035729104608712678917893351552261245913995237997819293892633833979175744024626265862003302171477227022488630337629585230594450392912961844890849810542071228780808645986626597205975271899564040972754496636000455375930682721208207056653370908021565444593616640669429700590924035057080778640046354626185833495491049535977223002568224206577446792940749010942323935658407322980049105146501534529484347128102709213718375496619249038266286700377353429115435520952252658917846720601317326954654267035722984358703325448744671726338397733323909254535343689940330024398764078790318126072617535775191587397066019338096049730335746447520443808216236181391171125191363143920010389051214914537939806315994119669961401792413768122652552080701864265853944387210822927394352746018819617585528823107613421979869635019517098572497054403166764917547451087456874856312644095298193477795703377753326869138451996380446961129320635294565044832959329079654583290354547062899409545748187117281055006226988441381709829 1286161604801768714010668959226915188869989688787159840879029920034477800035898800175342191846649835644434245842121458846409738448805208126863443364579298608288113823728904512306009483577325792191374667320370622877902419016633631631439393459513860045605531590919519937099964568907192904506046804728639949413657129974072638467331092903025356557801080524887882262477181292035063666695498191503459012751778792476855442442558503642517599060227783704924954138609376060626350035724733051358412095081722147989327458295499578015191877991051441353357353693031241768723229460983870711391755163387782142689373002016362731153970290741151437663010330240080625797648967894667020389340561738403794970468046062918676986287674880183570199793957286915682789784790232895480181414939961151723732477136319401107470713087178375453525863820887115662886639747171928115693325487488811110984743856570624602330086259150939839100956193152516045859880502753720792336782100323815377845789289342029631996528515060113355929403503702127933330068188428940489238593477232240869082845378896638472700177673229422525965469981323183412323875643299003309013151885259040307784366133420461522309467268700408176415187963735315835991760483181386131114544282075977918347850212823742725926285574211278792634781907935329243617665662874425219625197229446698386536334145991253085554994377570293716328722783987038653021303441419179177646656310295500028483952426551670681100971780204469760463831956363962559480787277174226315139634453195739706360957402543365672933364828475934893917361319555836464418010480207476676640153312618539998920285118365532053038392898503118711014211509153767251043717614640751792976981186089897604747218129281961333820163093538154119165095982115105338397268811576721127993620695351839714947385077803116476624784701418888336489560619746425718042236959636994593295126175277443998235850953085237202698483959726318602843697484020708957508910983663740785278697081357541359564686216832234234868321161374255116103699617751087371532699579512546393540329640379406466433963494687531453089199889871915735328078179967872250564031942368593741103063570646615483960142878478125616762513009143916114031274721985543082761576050892277099005459249183273633561350214119027565731215044216554564804487822135695590461782880951578828373263971662949545618689128360604245282644634030135578592351588454605604861404522314096542730580764000591654166626838898684061529869011403423259937493447761630727669715010276038621214647622937182722763919970438839589253121150389109487490171734027570288230286937566575937187994454704379922286116434576119238169377855415925783557605698950679214213653908375653836026163019135449763556724649681993488440156309715969872253964683830033570614585786692737727352950914669137775173480582171328861897686096358268176087393622200500217632278801345637994468508811566967265177638687654627655573928930464135095724460153231476119168018169166583059542584398084278495224816304985810286145342621647592721395322120011083920950945502282569482234216675443965795046874546187636262840534074058119580925201592463987596118060144648720283790660078293211727757704352605212677834749713138290745040067454952060133976111001484203952413033947520472553651562984905027725338988653486634611430476796787577891056052005698257731465395977503307850236627675737919841561376528768459679626012708699981998925357627273243543967374893766061911660492750589476288122455545161453495516909271126591680416666437780864848767672518273766898989268138413876949254807 2081053191594371743183704321778943816606413478836827248195764688602731217532864024618763331072099154410143769703129896794519667011112341871151225303105605604556739343669498162185029467069788963509162486058693645455979804025220434571711997566836779679546014801089425641448851471952953381635601627703465239070186679387302971920306526430432633092414474237727866992586749454889268878099110849423967260940902104115940633179891194182023821056014387143481831799578031599303178402014033714344481860164886486946729244118883861743362539599328537620501808823449772107410061122623869443904804690747241395169996885955638791146384109708900802072978802025646762438547558471742137188699426212203015083126867454344102062274406170883030760540674241074366615156437698775110299491574355609403690294533782434987923596802305001873417086305628880058066988304704506395996135175767414298010111493316529937349597803107101210170662151819092704905202460960364039115062469937700864034191509413147984887748967349458247570012501893614660349592842228951105917363487765552796598913935031843757494421995270365822759219716897096255053013242552684646280410812312879543515668983917872610951228683713272912211666193865029556742864959428016287470121835706943541506145913585330388923655659686669187219681588017654175413014951448404311075118546987214503687728390319036765448154146794442716273588377424327003978886657034084686244945737290167599894960823441920796128946281372409227352621092621844829823285042517644358208290114752134374123166878004461271511841445228525677665555984174243932834021915703817689487809025590494073415807130262009346429247808759463607856176689813389732395181329865629812506280833508577280147306322760393652342314974163712791151882325391663778250859015372695138907645375098800069547978978195353454213888288682575939328150449835925391274457890063842347464282684044958907863857441706923949775234448141815338773736623359660650914737181700697552584312305946718546932036347886741047896369855376395639691362934966364580919033422872061347150103184203628252772514719163205640730175954076050544306723006451437555325114406928365057595629961251212471957024038844961714391353225617187043503945438437591223747911027395280885024013247273896397965832835335456702178290322249703567219866649688389521285149487581321899988809216990451720760227319176104457629195540599852470486730400579283591810344568876841284818213492204321809068472799710115001613916333194358119884455249012627388913720445762769190886600623699422954629676461059856384373059186118214096202850651920921840491532851561813935007288347338213901461860459202385100172680026893152806046236036580264444808104301288615680917012829677520992337533295668620085646131581615533913226719180466034025990516469413945934409604285577159340618074198811998291598277020393325256866033668555126403465774292395173971691511379791173842624431628403638597897864588871458075773565299733010648652365297269292273260959894703527533491103005363163715260778142599845380313168840612401247905599769318292466592920000892710466773212943920960172095069417748059910949600356542777914244132762184495475378057144312549823807434688351660198278557929374472136211192646315204053986500052699118490352840263514592223612964777318795847991540734188498877284421183998400818450404751717077349050924800610921272216497310757436940133873583171626444543560159787438873781670271368541737445170597143815238529631202585856735083584865796748060561742230455671334999956792327927748177218266460884180044274365402318330964636 3367214796396140457194373281005859005476403167623987089074794608637209017568762824794105522918748990054578015545251355640929405459917549998014668667684904212844853167398402674491038950647114755700537153379064268333882223041854066203151391026350639725151546392008945578548816040860146286141648432432105188483843809361375610387637619333457989650215554762615749255063930746924332544794609040927426273692680896592796075622449697824541420116242170848406785938187407659929528437738766765702893955246608634936056702414383439758554417590379978973859162516481013876133290583607740155296559854135023537859369887972001522300354400450052239735989132265727388236196526366409157578039987950606810053594913517262779048562081051066600960334631527990049404941227931670590480906514316761127422771670101836095394309889483377326942950126515995720953628051876434511689460663256225408994855349887154539679684062258041049271618344971608750765082963714084831451844570261516241879980798755177616884277482409571603499416005595742593679661030657891595155956964997793665681759313928482230194599668499788348724689698220279667376888885851687955293562697571919851300035117338334133260695952413681088626854157600345392734625442609402418584666117782921459853996126409073114849941233897947979854463495952983419030680614322829530700315776433912890224062536310289851003148524364736432602311161411365657000190098453263863891602047585667628378913249993591477229918061576878987816453048985807389304072319691870673347924567947874080484124280547826944445206273704460571582917303730080397252032395911294366127962338209034072336092248627541399467640707262582318870388198967156983438898944506381605483262019598474884894524452042354986162478067701866910316978307506769116648127826949416266901266070450639784495364055998469930838672990101464275817711069582351109316694849700836940759408859322402906099708394792161152473718407868133941617434107380369608423648165364438337863009387304259906496722564718975282764691016750650755795062552717451952451733002384607740690432824583034719206478213850737093819375843947966279634801186419309805889146349296958798698693531897827955917166917323087331153866234761103157535220160423134306509487078287557984029472496457170031527183049454484267909505366466258132024354471824085111746932368532900728362073188653401266378916447536708702911840174629988049079081989033889196671749091190937827548794256204913463235099638608799063143785344597781379821948696774258116583435456038807812101248246636605677393596431498695973626180336507323583693022385948492128721819789128389872195282802042593823747976893778504338342057882309078589603841735530943659021758209664269516943175848812970755894257945350613574086287891331503785480683864296067596605102256106683661762555200246297115791554780983327153495963116751593432953427290755626621098053093740811966160020191358141107802070316058266253471793519335593171498025452964486767820383466435875332803544292787806028715919310348974001406120764247438101708490960623485168856545271600861948827136676336676261820087490108596434935603491806179491874801949006765510362192906833215759168717222605761551565139040956872876113307642512762881251260101267264187962611054183322442765874211035064777264527762223823573330529387675133488714897980785978709506456757415335080516320778114229122453124986495356781695250111940086124169572868487420872707027898641785281412545490909877150190123953175333023206040410958201556078651501582263015416623230108792596944890784734651079033542503816195280219443 5448267987990512200378077602784802822082816646460814337270559297239940235101626849412868853990848144464721785248381252435449072471029891869165893970790509817401592511067900836676068417716903719209699639437757913789862027067074500774863388593187419404697561193098371219997667512813099667777250060135570427554030488748678582307944145763890622742630029000343616247650680201813601422893719890351393534633583000708736708802340892006565241172256557991888617737765439259232706839752800480047375815411495121882785946533267301501916957189708516594360971339930785983543351706231609599201364544882264933029366773927640313446738510158953041808967934291374150674744084838151294766739414162809825136721780971606881110836487221949631720875305769064416020097665630445700780398088672370531113066203884271083317906691788379200360036432144875779020616356580940907685595839023639707004966843203684477029281865365142259442280496790701455670285424674448870566907040199217105914172308168325601772026449759029851069428507489357254029253872886842701073320452763346462280673248960325987689021663770154171483909415117375922429902128404372601573973509884799394815704101256206744211924636126954000838520351465374949477490402037418706054787953489865001360142039994403503773596893584617167074145083970637594443695565771233841775434323421127393911790926629326616451302671159179148875899538835692660979076755487348550136547784875835228273874073435512273358864342949288215169074141607652219127357362209515031556214682700008454607291158552288215957047718932986249248473287904324330086054311615112055615771363799528145751899378889550745896888516022045926726564888780546715834080274372011417989542853107052165041830774802748638504793041865579701468860632898432894898986842322111405808911445549439854043343034193823385052561278784040215145861519418276500591152739764679288223691543367361813963565836499085102248952856009949280391170730740030259338385347065135890447321693250978453428758912605716330661060872127046395486425487683816533370766425256669087840536008786662971978992933013942734549551798024016823941524192870747361214260756225323856294323493149040427874190956168049045545219460378290201039165598860725530257398105682838869053485743731066429493015884789940970087795688715961699244221121512474633032081856114222628350882405643852987139143766712813160541035715229840519565812389613172788482093660067779112367007748409235272303572438318914064757701677792139499706403945786885505497155901801577002987848870336028632023272892558552357999239522625537679895873037869413969213352640690203807202571149380807725209837352980889438514737909202231395650077772111208103829862510952885197860188678490491748231791241019233659732419472947037698707403044762101622595618725520629596172159485823456456409628979795325445094240137144918689819460959310753024563827386135985937851531571149314950426501944461904851369658108207051247271590752697497416472748763705167606064504187491333562207022315712137716666898906847283482021659801235886416762145040919154415420056677229386728593300434029556607030672909554239402824402305549543424606325669017711234546774366918311375372573729308533074391865571887235017462452747582468241949111106882440933118714474549657000877492539542619421322070121863632365999319164784379527956861509132412429567245578725150394669622297252793721829123695111712568713133028274859746488698170010327018857716088053692388719755155761189758289625276754949616640393732037934350416580022436720345122109051195535259077816869218513611184079 8815482784386652657572450883790661827559219814084801426345353905877149252670389674206974376909597134519299800793632608076378477930947441867180562638475414030246445678466303511167107368364018474910236792816822182123744250108928566978014779619538059129849107585107316798546483553673245953918898492567675616037874298110054192695581765097348612392845583762959365502714610948737933967688328931278819808326263897301532784424790589831106661288498728840295403675952846919162235277491567245750269770658103756818842648947650741260471374780088495568220133856411799859676642289839349754497924399017288470888736661899641835747092910609005281544957066557101538910940611204560452344779402113416635190316694488869660159398568273016232681209937297054465425038893562116291261304602989131658535837873986107178712216581271756527302986558660871499974244408457375419375056502279865115999822193090839016708965927623183308713898841762310206435368388388533702018751610460733347794153106923503218656303932168601454568844513085099847708914903544734296229277417761140127962432562888808217883621332269942520208599113337655589806791014256060556867536207456719246115739218594540877472620588540635089465374509065720342212115844646821124639454071272786461214138166403476618623538127482565146928608579923621013474376180094063372475750099855040284135853462939616467454451195523915581478210700247058317979266853940612414028149832461502856652787323429103750588782404526167202985527190593459608431429681901385704904139250647882535091415439100115160402253992637446820831390591634404727338086707526406421743733702008562218087991627517092145364529223284628245596953087747703699272979218878393023472804872705527049936355226845103624667271109567446611785838940405202011547114669271527672710177516000079638538707090192293315891234268885504490963572589000627609907847589465516228983100402689764720063274231291246254722671263878083222008604838120399867762033512429574228310331080555238359925481477324691613425751888877697151281488040401268485822499427641276828530968833369697691185471146864679828368927641971983103576325379290057167103407105522282654993017025046868383791357873491136376699085695139393358574385759283859836766885183970396853082958240188236461020198934244425237997301055182219831268575593336559744779014224647123356712955594297254253518060214249521863452875889859828568644894378647061985153842751258716939915802004614148735538672076927713127901487022389920879528352642561143622080591357840384815089097116972634309416869324057248331625419859132861263588895423817906097935172429818593679397853951423401548957814246759393776856795791511309985253919507642151762851620720617154714803364527303462504126049186369847233818707364278541484188086909058169219200720981627313257934714686069753572201183760778652598590203253896512122772888250066379645661880479876797904011551762507456058228572260520171104841451627542644418769616205661984184293132230141042938868048480279139590922941626061111718073019671094721583730150761859371585618690312520016364247193353566062990413387924138153041966276401360418894699204254556308934968518575850926993715491589524072926937712770265405950505173214399997898713712848849732429911722161065763375884588685584721778142020301766442994652599509538765854714217145570358237463318266547747510083566356839379517122747283748150503524373807051798692882705896762280619195726068652112300270261578963569538909879108936522781495665687713151172719045233620197365833203252545512942066999835930186338111359373034708891403522 14263750772377164857950528486575464649642036460545615763615913203117089487772016523619843230900445278984021586042013860511827550401977333736346456609265923847648038189534204347843175786080922194119936432254580095913606277176003067752878168212725478534546668778205688018544151066486345621696148552703246043591904786858732775003525910861239235135475612763302981750365291150551535390582048821630213342959846898010269493227131481837671902460755286832184021413718286178394942117244367725797645586069598878701628595480918042762388331969797012162581105196342585843219993996070959353699288943899553403918103435827282149193831420767958323353925000848475689585684696042711747111518816276226460327038475460476541270235055494965864402085243066118881445136559192561992041702691661502189648904077870378262030123273060135727663022990805747278994860765038316327060652341303504823004789036294523493738247792988325568156179338553011662105653813062982572585658650659950453708325415091828820428330381927631305638273020574457101738168776431576997302597870524486590243105811849134205572642996040096691692508528455031512236693142660433158441509717341518640931443319850747621684545224667589090303894860531095291689606246684239830694242024762651462574280206397880122397135021067182314002753663894258607918071745865297214251184423276167678047644389568943083905753866683094730354110239082750978958343609427960964164697617337338084926661396864616023947646747475455418154601332201111827558787044110900736460353933347890989698706597652403376359301711570433070079863879538729057424141019141518477359505065808090363839891006406642891261417739306674172323517976528250415107059493250404441462347725812579214978186001647852263172064151433026313254699573303634906446101511593639078519088961549519492582050124386116700943795547669544706109434108418904110499000329230195517206791946057126534026840067790331356971624119888032502399775568860430127100418859494710118757652773806216813354240389930407944086812761004743546767913528085085019193265852897945916371504842156360663164464079878622562918479439995999927517849572160804528317667861747606511287340518195908811665548829659185422244305155517683559613551358144585367024283289653235722136443983919302890513214819034366208085096743898181530512796714849034377811096080761345985063837999941107240657203980962335023993911605089669088210706768260234773635936411326496052282809753023384007842244515246627192659188700182060379234756588348029127577747259641961818076945987308662941440142216615800689624659381758398943484768461687320067148525070508797486600425100804209274167651599740283215371533700713541380903997279753359866681483231570039912663553205793954252357840427389080893551126837225579182895489953820270841796339707147942854106874171893210028610812740573978043684443391041430812592349209377132670225707866012783841863083333656771008655074204982075956211109735749695666041206958359481600765880993846210544932552667770473153129963941773249434739918577942005065751810563095258002380835353439170779667250030795449719006688358167709648996949310914658297523606560105852359574844244868638228262265956442384302310286499573939024897038786287232916176165596432200671860833267948204309003303160134378779019512841309062415974669631402398220713536310354737765420179775680159939650811935564529911792369581000944225353497502163511261595838925037140365684424238662439319127977667017261927629634264697712539785290964468100789359438965658131716249783274982233287189108887125721597189176242253222502587601 23079233556763817515522979370366126477201256274630417189961267108994238740442406197826817607810042413503321386835646468588206028332924775603527019247741337877894483868000507859010283154444940669030173225071402278037350527284931634730892947832263537664395776363313004817090634620159591575615047045270921659629779084968786967699107675958587847528321196526262347253079902099289469358270377752909033151286110795311802277651922071668778563749254015672479425089671133097557177394735934971547915356727702635520471244428568784022859706749885507730801239052754385702896636285910309108197213342916841874806840097726923984940924331376963604898882067405577228496625307247272199456298218389643095517355169949346201429633623767982097083295180363173346870175452754678283303007294650633848184741951856485440742339854331892254966009549466618778969105173495691746435708843583369939004611229385362510447213720611508876870078180315321868541022201451516274604410261120683801502478522015332039084634314096232760207117533659556949447083679976311293531875288285626718205538374737942423456264328310039211901107641792687102043484156916493715309045924798237887047182538445288499157165813208224179769269369596815633901722091331060955333696096035437923788418372801356741020673148549747460931362243817879621392447925959360586726934523131207962183497852508559551360205062207010311832320939329809296937610463368573378192847449798840941579448720293719774536429152001622621140128522794571435990216726012286441364493183995773524790122036752518536761555704207879890911254471173133784762227726667924899103238767816652581927882633923735036625946962591302417920471064275954114380038712128797464935152598518106264914541228492955887839335261000472925040538513708836917993216180865166751229266477549599131120757214578410016835029816555049197073006697419531720406847918695711746189892348746891254090114299081577611694295383766115724408380406980829994862452371924284347067983854361455173279721867255099557512564649882440698049401568486353505015765280539222744902473675526058354349935226743302391287407081967983031094174951450861695421074967269889166280357543242777195456906703150321798943390850657076918187937117428445203791168473623632575219402224107539351533413753278791446082397799080401361781372308185594122590110305408469341776793594238361494175264195211856887446787494949497656855601146907296758789779162585212992198611757637532743380916592174340320560675722571981258763109230909172749658338617482346633166043104281297250857011540673049021250079240891260207073663885505226165083697500327391165998279052227610823125465846499676992228329492224851366157916787395511629533103952187194627466917733097416756483889613758928127369834201504120667083576862878440060997060688775256112041588857962963600811996501352630642274646644937942935365237459443512315887588345889581745874635096164227066883646465502247061052561363292340084810823164021465785059013223987253483800601148049612744052905567834361152812938249036726649481961324954629587999525665959187143914443384361512709420076282305862690963225712275077192222810814662161294543362820719565221977757545966457229247999269839344975402212000687230814889878445281933101772555429013967684887891845719100557161533143075505410627269140941164075427753455925096002883498042227907449734378292403909428915116864749094728877871309215309954478544821799420984880150307314551619398239245980831466539513373634235321280956652181251962078484199278329082082986527527746229256108723055907935300535615287931393991123 37342984329140982373473507856941591126843292735176032953577180312111328228214422721446660838710487692487342972877660329100033578734902109339873475857007261725542522057534712206853458940525862863150109657325982373950956804460934702483771116044989016198942445141518692835634785686645937197311195597974167703221683871827519742702633586819827082663796809289565329003445193249841004748852426574539246494245957693322071770879053553506450466210009302504663446503389419275952119511980302697345560942797301514222099839909486826785248038719682519893382344249096971546116630281981268461896502286816395278724943533554206134134755752144921928252807068254052918082310003289983946567817034665869555844393645409822742699868679262947961485380423429292228315312011947240275344709986312136037833646029726863702772463127392027982629032540272366057963965938534008073496361184886874762009400265679886004185461513599834445026257518868333530646676014514498847190068911780634255210803937107160859512964696023864065845390554234014051185252456407888290834473158810113308448644186587076629028907324350135903593616170247718614280177299576926873750555642139756527978625858296036120841711037875813270073164230127910925591328338015300786027938120798089386362698579199236863417808169616929774934115907712138229310519671824657800978118946407375640231142242077502635265958928890105042186431178412560275895954072796534342357545067136179026506110117158335798484075899477078039294729854995683263549003770123187177824847117343664514488828634404921913120857415778312960991118350711862842186368745809443376462743833624742945767773640330377927887364701897976590243989040804204529487098205379201906397500324330685479892727230140808151011399412433499238295238087012471824439317692458805829748355439099118623702807338964526717778825364224593903182440805838435830905848247925907263396684294804017788116954366871908968665919503654148226808155975841260121962871231418994465825636628167671986633962257185507501599377410887184244817315096571438524209031133437168661273978517682419017514399306621924954205886521963982958612024523611666223738742829017495677567698061438686007122455532809507221187696006174760477801488475573030570815451763276868297355846208026842242046628572313157654167494542978582892294169023034628500401206386169815326840631594179468734832468176174191911440699100039166745066307915167531532425715573911709044481421510660916751223161107420967513219864422754041637997865819257201877236085877124308451242989091589960192297153757288849710874738622649659150558432347192546232232222570836188652598704153031820097293117446239960207599863192938392747061914067148871496214587183757234540130470938891371008841730041148009020920961038729699849979066816698710902793400395923198966148463029856173629422809241926608685959090035979373747957586668820644986113296211902365587737718429820998075538720670484323017263671099042035750852030122380947385824894217833464028733153815820085897182869509607610587552856826978731715233771888049887590380361019398357923581693415156962428426764640473572339960175023189735489746417374768013654118207065588203450240023502408841531558285769413284000299250786974463731066044041714133773633388696962171993891195005853479336181045984384567826601938772343562296141289766279833768303677817908067389385190227968439340707486445750038954231368811378821216074383746836561350564574545976990938526216912998093394169147638331947861066247616649352751437923164936460798332769802509979516445217610181629532489711857541153896578724 60422217885904799888996487227307717604044549009806450143538447421105566968656828919273478446520530105990664359713306797688239607067826884943400495104748599603437005925535220065863742094970803532180282882397384651988307331745866337214664063877252553863338221504831697652725420306805528772926242643245089362851462956796306710401741262778414930192118005815827676256525095349130474107122804327448279645532068488633874048530975625175229029959263318177142871593060552373509296906716237668893476299525004149742571084338055610808107745469568027624183583301851357249013266567891577570093715629733237153531783631281130119075680083521885533151689135659630146578935310537256146024115253055512651361748815359168944129502303030930058568675603792465575185487464701918558647717280962769886018387981583349143514802981723920237595042089738984836933071112029699819932070028470244701014011495065248514632675234211343321896335699183655399187698215966015121794479172901318056713282459122492898597599010120096826052508087893571000632336136384199584366348447095740026654182561325019052485171652660175115494723812040405716323661456493420589059601566937994415025808396741324619998876851084037449842433599724726559493050429346361741361634216833527310151116952000593604438481318166677235865478151530017850702967597784018387705053469538583602414640094586062186626163991097115354018752117742369572833564536165107720550392516935019968085558837452055573020505051478700660434858377790254699539220496135473619189340301339438039278950671157440449882413119986192851902372821884996626948596472477368275565982601441395527695656274254112964513311664489279008164460105080158643867136917507999371332652922848791744807268458633764038850734673433972163335776600721308742432533873323972580977621916648717754823564553542936734613855180779643100255447503257967551312696166621619009586576643550909042207068665953486580360214887420263951216536382822090116825323603343278812893620482529127159913684124440607059111942060769624942866716665057792029224796413976391406176452193208477371864334533365227345493293603931965989706199475062527919159817796287384843848055604681463202579362235959829020131086856831837395989425593001475774606620236900500872575248432134381593580042325591949100249892342058984254075541331220222622991316691578284668617425188417830229007732371386048798887486594988664401921909062074828291215494736496922036680033268298449494604077699595307833780540145326022896760975050166374626894424494606655084409032195871257443154165297961898732124817863540919357632096232697772397315920071163579818596983205259430920418583292739637199828192685163244113219830854544383125747691135944429167597388671988787765325619654906937148290795240233820517062643679577150963790461084698455078190051887819137230234805743279239328233736680917316683322824128264157302000884557791947333612353525985225142422367135986570078316232462334375835662853286402413170883907441820717512533754963869698641235775077441971740365795076015458364715733213004517178379886685357545067496136799518475137846840922779435030923400735464812681969228189430174948661569886307768672217781048375298760806285039252628975701462787661694545955922486996066875405944125976139678779086851572579893342579127460073237229207913284726371569043222204929771187175860135974839119568520372348769622603310499133683109240120594131170552928568635982335444724853291542557924456158978924860708661011966183182347204268830604713516407364214789880415756330037725745701326333237537467790247472829085290569847 97765202215045782262469995084249308730887841744982483097115627733216895196871251640720139285231017798478007332590967126788273185802728994283273970961755861328979527983069932272717201035496666395330392539723367025939264136206801039698435179922241570062280666646350390488360205993451465970237438241219257066073146828623826453104374849598242012855914815105393005259970288598971478855975230901987526139778026181955945819410029178681679496169272620681806318096449971649461416418696540366239037242322305663964670924247542437593355784189250547517565927550948328795129896849872846031990217916549632432256727164835336253210435835666807461404496203913683064661245313827240092591932287721382207206142460768991686829370982293878020054056027221757803500799476649158833992427267274905923852034011310212846287266109115948220224074630011350894897037050563707893428431213357119463023411760745134518818136747811177766922593218051988929834374230480513968984548084681952311924086396229653758110563706143960891897898642127585051817588592792087875200821605905853335102826747912095681514078977010311019088339982288124330603838756070347462810157209077750943004434255037360740840587888959850719915597829852637485084378767361662527389572337631616696513815531199830467856289487783607010799594059242156080013487269608676188683172415945959242645782336663564821892122919987220396205183296154929848729518608961642062907937584071198994591668954610391371504580950955778699729588232785937963088224266258660797014187418683102553767779305562362363003270535764505812893491172596859469134965218286811652028726435066138473463429914584490892400676366387255598408449145884363173354235122887201277730153247179477224699995688774572189862134085867471401631014687733780566871851565782778410725977355747836378526371892507463452392680545004237003437888309096403382218544414547526272983260938354926830324023032825395549026134391074412178024692358663350238788194834762273278719257110696799146547646381626114560711319471656809187684031761629230553433827547413560067450430710890896389378733839987152299699180125895948948318223998674194142898560625304880521415753666120149209701817768769336241318782863006597873790914068574506345422072000177369169931094640161223835626670897905106754417386885037567146369710354254851123392523077748099995458056782597298963840200547560240710328185695027831146988216977242359823641210310408631081161454778959366245827238807016275347000404568080064534758840869423576504130510371730963535652021287461217635451319055250748442999556486190578508190528579890318629548142641999768471195687358291251017711700738979597407428055878101636860281744921693254621962278319701663707727859610880158774167349696054946169211756278963520367041710496275861866583861480621654044338514917675310859657614985205848014192826716896690431280410797084802288114180769694312921350071955806223217961087806470893095579903561376411586514883408783360556708801659654181541266908779689784538418644587049582327918651902994190079949505101054404768760247704755902991077830214675437566273605563253007370883575758654548171715645564198188602779776951895972122457804550784140292364570808665912976000713574636158277021966528710200649039332822938311672670281857426059229523625111844641063831146685628288667710332988484763539490853678044042228504758748340788110330089756249172637340608931972952386627312315472543686009299399268533496450673071977018254877808650298131043413451885479957464954330529151250678748526132547705262146543943419167000279959330370239187148571 158187420100950582151466482311557026334932390754788933240654075154322462165528080559993617731751547904468671692304273924476512792870555879226674466066504460932416533908605152338580943130467469927510675422120751677927571467952667376913099243799494123925618888151182088141085626300256994743163680884464346428924609785420133163506116112376656943048032820921220681516495383948101952963098035229435805785310094670589819867941004803856908526128535938858949189689510524022970713325412778035132513541847309813707242008585598048401463529658818575141749510852799686044143163417764423602083933546282869585788510796116466372286115919188692994556185339573313211240180624364496238616047540776894858567891276128160630958873285324808078622731631014223378686286941351077392640144548237675809870421992893561989802069090839868457819116719750335731830108162593407713360501241827364164037423255810383033450811982022521088818928917235644329022072446446529090779027257583270368637368855352146656708162716264057717950406730021156052449924729176287459567170053001593361757009309237114733999250629670486134583063794328530046927500212563768051869758776015745358030242651778685360839464740043888169758031429577364044577429196708024268751206554465144006664932483200424072294770805950284246665072210772173930716454867392694576388225885484542845060422431249627008518286911084335750223935413897299421563083145126749783458330101006218962677227792062446944525086002434479360164446610576192662627444762394134416203527720022540593046729976719802812885683655750698664795863994481856096083561690764179927594709036507534001159086188838603856913988030876534606572909250964521817221372040395200649062806170028268969507264147408336228712868759301443564966791288455089309304385439106750991703599272396554133349936446050400187006535725783880103693335812354370933531240581169145282569837581905835872531091698778882129386349278494676129241228741485440355613518438105552091612877593225926306461330506066721619823261532426434130550748426687022582658623961389951473626882904099373761243068373352379645192473729827914938024423473736722062058378421592265365263809270801612412281180004729165261449869719838435269780339661575982120028692237077870042506343072295605429206713223497055854667279227096551400445251685475073746383839769326384664075481971015129192847932918946289509215672290016495548910126039317188114856705046905553117841488047257815740431316506611583180780944713406087431519815919589951131024934866337618620061053483332475078605484353212647175124374349731497865822624812588091026864062713163348289792670563550681938130284031719234607256248563264880973501575776237637747709969455646092875325248282868946539492969350961883317502551519197340884104354175853012830374322565320109122528566805494448089892420728485087342426563397814007114603234925348959590115065327486260254962425481791448360383454942457463173896136023710787422177736695185773727592709101474899053800663743559483179654419664491554068284446979009648444665238314058921947140134390113448058573967014193912704120446486032442401806976494119360853684873753628363551441346838203740794675585599159439053170855847918541951702176362297852822977889015706267524445276948914451351449368708998639122866204239304714301060354598913015039279376210689693310678029538180017067624327268713136879952693066748306320449849052567083557180240884108526021454024252560076054375129230955943115586469662264314225760656154310562178470737893366040559164282462585431007847870276656704468070206803199324477718418 255952622315996364413936477395806335065820232499771416337769702887539357362399332200713757016982565702946679024895241051264785978673284873509948437028260322261396061891675084611298144165964136322841067961844118703866835604159468416611534423721735693987899554797532478629445832293708460713401119125683603494997756614043959616610490961974898955903947636026613686776465672547073431819073266131423331925088120852545765687351033982538588022297808559540755507785960495672432129744109318401371550784169615477671912932833140485994819313848069122659315438403748014839273060267637269634074151462832502018045237960951802625496551754855500455960681543486996275901425938191736331207979828498277065774033736897152317788244267618686098676787658235981182187086418000236226632571815512581733722456004203774836089335199955816678043191349761686626727145213157115606788932455184483627060835016555517552268948729833698855741522135287633258856446676927043059763575342265222680561455251581800414818726422408018609848305372148741104267513321968375334767991658907446696859836057149210415513329606680797153671403776616654377531338968634115514679915985093496301034676906816046101680052629003738889673629259430001529661807964069686796140778892096760703178748014400254540151060293733891257464666270014330010729942137001370765071398301430502087706204767913191830410409831071556146429118710052229270292601754088391846366267685077417957268896746672838316029666953390258059894034843362130625715669028652795213217715138705643146814509282282165175888954191515204477689355167078715565218526909050991579623435471573672474622516103423094749314664397263790204981358396848884990575607163282401926792959417207746194207259836182908418575002845168914966597805976188869876176237004889529402429576628144390511876308338557863639399216270788117107131224121450774315749784995716671555553098520260762702855114731604277678412483669569088307265921100148790594401713272867825370332134703922725453008976887692836180534581004083243318234780188316253136092451508803511541077313614990270150621802213339531944891653855723863886342647472410916204956939046897145886679562936921761621982997773498501502768652582845033143571253730150488465450764237255239212437437712456829264833384121402162609084666112134118546814962039729924869776362847074484659533538753612428156688133466506530219543857985044326695898343016559547938497915357314184199002942826217181986258555313627858527781349281486151966278656789013527635155445238068582155713074770793692714056803408463395618123930835922076374013153392478409656412205355163116760988357921841932955841984770698832014684304441366517833783320697930892369672247775347756583053107893749105313660319047016829486714307798160861251146064672128874696958184045941763166867081723169758949550035713690935356619390114710697545883645722433761878229246097180573176312497437597671578344542748928356269476039585087199008692620103969134284301510761129080595067572523249267718073064251541136396203098882003838524614743415113326715900382094869351049651797228869350270394052049285449772690552252773909025400519317826552154221123790099712917133390149943579345535426656584454927702889936934011099999855544416468173484609771852763024119650566424698352389829351149355364891501284541303706989709199174456850168883216224059296129086017053924990282782822997478957790457984540035943807553199581069707463323651828609550825802302932961370464278312562445269174108039790519643425068422517291237912808595133136269994414220075871468350166133569563664866989 414140042416946946565402959707363361400752623254560349578423778041861819527927412760707374748734113607415350717199514975741298771543840752736622903094764783193812595800280236949879087296431606250351743383964870381794407072112135793524633667521229817913518442948714566770531458593965455456564800010147949923922366399464092780116607074351555898951980456947834368292961056495175384782171301360859137710398215523135585555292038786395496548426344498399704697475471019695402843069522096436504064326016925291379154941418738534396282843506887697801064949256547700883416223685401693236158085009115371603833748757068268997782667674044193450516866883060309487141606562556232569824027369275171924341925013025312948747117552943494177299519289250204560873373359351313619272716363750257543592877997097336825891404290795685135862308069512022358557253375750523320149433697011847791098258272365900585719760711856219944560451052523277587878519123373572150542602599848493049198824106933947071526889138672076327798712102169897156717438051144662794335161711909040058616845366386325149512580236351283288254467570945184424458839181197883566549674761109241659064919558594731462519517369047627059431660689007365574239237160777711064891985446561904709843680497600678612445831099684175504129738480786503941446397004394065341459624186915044932766627199162818838928696742155891896653054123949528691855684899215141629824597786083636919946124538735285260554752955824737420058481453938323288343113791046929629421242858728183739861239259001967988774637847265903142485219161560571661302088599815171507218144508081206475781602292261698606228652428140324811554267647813406807796979203677602575855765587236015163714523983591244647287871604470358531564597264643959185480622443996280394133175900540944645226244784608263826405751996571997210824559933805145249281025576885816838122936102166598575386206430383159807798832948063764436507149841634230950015231710973377461945012297148651759470307393759557800357842536509677448785528615003275718751075470193463014704196519089643911864870586691911590084127585551778824367070946147638267015317468489411251943372207723374034264177778227666764218522302683468413351593391726470585479456474333109254943780784752434694040097344899218463751945339230669947260213725204998616160202616400869323609020724627557349536066385452819728759530275060822244808469055876736053354620404219737316844430873474997726689871820239441708562293994892239397798472708603478766180380104406200775774128254126167792662287761676042793248305185653574239835778205066500683276268068326465050781028485392614893972268802418066621940553004631398807284896474168530117382217230993849458378356176618051853153288397978712804216859317358202135250418847981887527332506611261872289395648528664207039442456442176022699045953512524704660486880647782721468344311424666833431274922919389119938727997691385819443372175608797986430870356799154908011894219862603979648868236266808750897727483916032690464487545861013486969279981729172248663040516484982799108225764243063262974514498535317892174497528746893269879085393071454915705662470628303453711808975749103018398706282504502996879405066299231863922977744560122735697929886720767214375569019275423337475256033590454069665951855883454318746269085409864150160846912754404076363753413285767061870235475889745785278240307037107119500987794083689595728917347904388685605200931533888904486050747974826759494934764194101081821895806315883331797077091057718567277842284496732575936420372936768888142585407 670092664732943310979339437103169696466572855754331765916193480929401176890326744961421131765716679310362029742094756027006084750217125626246571340123025105455208657691955321561177231462395742573192811345808989085661242676271604210136168091242965511901417997746247045399977290887673916169965919135831553418920123013508052396727098036326454854855928092974448055069426729042248816601244567492282469635486336375681351242643072768934084570724153057940460205261431515367834972813631414837875615110186540769051067874251879020391102157354956820460380387660295715722689283953038962870232236471947873621878986718020071623279219428899693906477548426547305763043032500747968901032007197773448990115958749922465266535361820562180275976306947486185743060459777351549845905288179262839277315334001301111661980739490751501813905499419273708985284398588907638926938366152196331418159093288921418137988709441689918800301973187810910846734965800300615210306177942113715729760279358515747486345615561080094937647017474318638260984951373113038129103153370816486755476681423535535565025909843032080441925871347561838801990178149831999081229590746202737960099596465410777564199569998051365949105289948437367103901045124847397861032764338658665413022428512000933152596891393418066761594404750800833952176339141395436106531022488345547020472831967076010669339106573227448043082172834001757962148286653303533476190865471161054877215021285408123576584419909214995479952516297300453914058782819699724842638957997433826886675748541284133164663592038781107620174574328639287226520615508866163086841579979654878950404118395684793355543316825404115016535626044662291798372586366960004502648725004443761357921783819774153065862874449639273498162403240832829061656859448885809796562752528685335157102553123166127465804968267360114317955784055255919565030810572602488393676034622427361278241321161987437486211316617632852743773070941783021544416944983841202832277147001071377212479284281452393980892423540592920767020308803319528854843526978996974555781510134079914062486672800031443534975781441275642710709718418558554471972256515386557138622935144645135656247175551726168266987174885528501556922847121876959050930220711588348467381218497209263958873481466301381072836611451364788494075175764934923485936565463475353983142559478239985506224199851959349948303388260105148940706812072436283991852535761533921515847373699692179712948427133867300236343643276378391364077129497617006401335825342474782931487203024919860506719091170139438411372236021575650613848931597544910339688473423489581811769386407234547849814253573116898636624857445997916641068217172099422487054465006341606041431464070367157166813607444995542290931167115519063386396483520110762224290690657203635456262730251833965988992492155866958055665343627235402206370526370216483346573557521847406607587420356986791517072540440314175712848215193885185439562976903124042296195730623733060243935808790058018615800548167573826860690644743017325493894725144285575378940898579852150157877561471932613244908550584603341947188080999667178904485912389281467859883594418403166628942365899046597744241709161087451807107956236165875022977600104539203871414496492619977399688669841848035827645862941603425030843357167995622453258794609038607011015795970628135659882499302820986860518258712743264236030765021647155444795347283270665436380671556217295156026733836821865856515026287389204764108872233891601465320874738400623034989899652851703547836698716808447404770539070338451807452396 1084232707149890257544742396810533057867325479008892115494617258971262996418254157722128506514450792917777380459294271002747383521760966378983194243217789888649021253492235558511056318758827348823544554729773859467455649748383740003660801758764195329814936440694961612170508749481639371626530719145979503342842489412972145176843705110678010753807908549922282423362387785537424201383415868853141607345884551898816936797935111555329581119150497556340164902736902535063237815883153511274379679436203466060430222815670617554787385000861844518261445336916843416606105507638440656106390321481063245225712735475088340621061887102943887356994415309607615250184639063304201470856034567048620914457883762947778215282479373505674453275826236736390303933833136702863465178004543013096820908211998398448487872143781547186949767807488785731343841651964658162247087799849208179209257351561287318723708470153546138744862424240334188434613484923674187360848780541962208778959103465449694557872504699752171265445729576488535417702389424257700923438315082725526814093526789921860714538490079383363730180338918507023226449017331029882647779265507311979619164516024005509026719087367098993008536950637444732678140282285625108925924749785220570122866109009601611765042722493102242265724143231587337893622736145789501447990646675260591953239459166238829508267803315383339939735226957951286654003971552518675106015463257244691797161145824143408837139172865039732900010997751238777202401896610746654472060200856162010626536987800286101153438229886047010762659793490199858887822704108681334594059724487736085426185720687946491961771969253544439828089893692475698606169565570637607078504490591679776521636307803365397713150746054109632029727000505476788247137481892882090190695928429226279802328797907774391292210720263932111528780343989061064814311836149488305231798970724593959853627527592370597294010149565696617180280220783417252494432176694814580294222159298220028971949591675211951781250266077102598215805837418322804573594602449190437570485706653169557974351543386723355125059909026827421535076789364706192738987573983875968390566307352368509690511353329953835031205697188211969970274440513603429636409677185921457722324999281961698652913578811200599536588556790595458441335389490139922102096768079876223306751580202867542855760266237412169677062918535165971185515281128313020045207156165753658832691804573167177439638298954106741944905937271270630761875602206220485167516205446880983707261331279046028299381378931815481204620541207229224853684709802611411022964741491816046862550414892627162743786522375534965258565410450629315448353113646267952604436682237335455499809820246985209019966895842974255095148026432877265521646902368092649751623197268465507745658378780498173028434948598042980754711297139760106866857407017999204814917868946514240038862343276375911455800538131699995156220390802683171870433333702278950308089950486337039892804045056866769513528032083606517325178190604030812463174706873457824041981415064834949266103325714995876219423049119921234121685609746560448783571305460736383565546065046706620340751341648149616142947991665590448686513022535397738945955344664661939569344383213387191775257689117271373302901896532057494696795213051449941199527880018902757171862708725032212023635912588588048730753734602489049514271072058754274945783141366960261165298019460605980761227665370710770342565774262215964259043636427992683287216681054283954832066990710570270825678983213541023341190912007107339950037803 1754325371882833568524081833913702754333898334763223881410810739900664173308580902683549638280167472228139410201389027029753468271978092005229765583340814994104229911184190880072233550221223091396737366075582848553116892424655344213796969850007160841716354438441208657570486040369313287796496638281811056761762612426480197573570803147004465608663836642896730478431814514579673017984660436345424076981370888274498288040578184324263665689874650614280625107998334050431072788696784926112255294546390006829481290689922496575178487158216801338721825724577139132328794791591479618976622557953011118847591722193108412244341106531843581263471963736154921013227671564052170371888041764822069904573842512870243481817841194067854729252133184222576046994292914054413311083292722275936098223545999699560149852883272298688763673306908059440329126050553565801174026166001404510627416444850208736861697179595236057545164397428145099281348450723974802571154958484075924508719382823965442044218120260832266203092747050807173678687340797370739052541468453542013569570208213457396279564399922415444172106210266068862028439195480861881729008856253514717579264112489416286590918657365150358957642240585882099782041327410472506786957514123879235535888537521602544917639613886520309027318547982388171845799075287184937554521669163606138973712291133314840177606909888610787982817399791953044616152258205822208582206328728405746674376167109551532413723592774254728379963514048539231116460679430446379314699158853595837513212736341570234318101821924828118382834367818839146114343319617547497680901304467390964376589839083631285317315286078948554844625519737137990404542151937597611581153215596123537879558091623139550779013620503748905527889403746309617308794341341767899987258680957911614959431351030940518758015688531292225846736128044316984379342646722090793625475005347021321131868848754358034780221466183329469924053291725200274038849121678655783126499306299291406184428875956664345762142689617695518982826146221642333428438129428187412126267216787249472036838216186754798660035690468103064245786507783264747210959830499262525529189242497013645346758528881680003298192872073740471527197287635480388687339897897509806189706217779170962611787060277501980609425168241960246935410565255074845588033333543351577289894139681107528361984466089371519625366306795271120126222093200749304037059691927287580348539178272859357152586726087974042181249580547649022125952731703837491568852030789355766638748534303965888806100470101954919615992777228804875467533641400156321362653214915305628674319801299861710593600775948651863895190267896627232089421330818367375091491147243677061541241284317352366186780503287969797386079193548396328908043385888203411975913887925669143201921109032332139017427440753909938810376640766995509073227933388215688161491426468361646646449763633362702972873078572014170869068605996568357309996310605402992604285681110070100136739853846924788129328580251180344185868835347048137957069432017743399420922313644687099423980887186928489464331599704524576068873690746227627688057217850017851425429659465109786969693707547196213887189700826677900493620978771563613968932944769201143440758879706007169174946358959119409130547759473660919727638570219445563652786674627941364182878504695660347683518411891409035591271993315232313750301837080401430390578488650230926601678691016823275917254399207532636199080800549605169023152508661884284752537555792684577867056890363421974373515681930349470745961451077445791757490199 2838558079032723826068824230724235812201223813772115996905427998871927169726835060405678144794618265145916790660683298032500851793739058384212959826558604882753251164676426438583289868980050440220281920805356708020572542173039084217457771608771356171531290879136170269740994789850952659423027357427790560104605101839452342750414508257682476362471745192819012901794202300117097219368076305198565684327255440173315224838513295879593246809025148170620790010735236585494310604579938437386634973982593472889911513505593114129965872159078645856983271061493982548934900299229920275083012879434074364073304457668196752865402993634787468620466379045762536263412310627356371842744076331870690819031726275818021697100320567573529182527959420958966350928126050757276776261297265289032919131757998098008637725027053845875713441114396845171672967702518223963421113965850612689836673796411496055585405649748782196290026821668479287715961935647648989932003739026038133287678486289415136602090624960584437468538476627295709096389730221628439975979783536267540383663735003379256994102890001798807902286549184575885254888212811891764376788121760826697198428628513421795617637744732249351966179191223326832460181609696097615712882263909099805658754646531204156682682336379622551293042691213975509739421811432974439002512315838866730926951750299553669685874713203994127922552626749904331270156229758340883688221791985650438471537312933694941250862765639294461279974511799778008318862576041193033786759359709757848139749724141856335471540051810875129145494161309039005002166023726228832274961028955127049802775559771577777279087255332492994672715413429613689010711717508235218659657706187803314401194399426504948492164366557858537557616404251786405555931823234649990177954609387137894761760148938714910050226408795224337375516472033378049193654482871579098857273976071615280985496376346728632074231615749026087104333512508617526533281298373470363420721465597511435156378467631876297543392955694798117198631983639965138002032731877377849696752923440419030011189759573478153785095599494930485780863297147970939949947404483138493919755549849382155037269882211633838329398569261952441497471728149083818323749575083431263912031217061132661264700639088702580146013725032555705376745954745214767690130101623227800596645719883975071217744732326783689302429225330437091311737374329062324082266848093041239181230982846026534592225025042080784126155517818919652887828333910057976736368236236236750346009865583011917105481849033770400820613318436034100321218351202767732385617956407121675536870216192488873337387298324186829153755678347256547537774444464635327695927829481012517041051104564337575206747399130944052481227219981273594429690288256296061727537085194134650947579487812830312045862389351952919565087937906755615940085340406214892976409295414875886685312106909738614428673616703714166025288996799251529180429644307681942912375631596407140029543898903791557642856612334786861511047025951078950420244138891201223462903728709522048690084212901924365683754648824445810190559300492788076471628523310754234990975724511816407310445049195345830030137692492268349180134001306961352914888289433863083010103262919394360950204048076390782433449656005718414424433783270895504852314554646844121354741213420692559707154324479997084322025727917721363264572909139155705336361630017191187766976710477429256678482064578243406541646574811821133282196145089876968039754236846968532699123881073992245199194665143890494087152363084553131707528002 4592883450915557394592906064637938566535122148535339878316238738772591343035415963089227783074785737374056200862072325062254320065717150389442725409899419876857481075860617318655523419201273531617019286880939556573689434597694428431254741458778517013247645317577378927311480830220265947219523995709601616866367714265932540323985311404686941971135581835715743380226016814696770237352736741543989761308626328447813512879091480203856912498899798784901415118733570635925383393276723363498890268528983479719392804195515610705144359317295447195705096786071121681263695090821399894059635437387085482920896179861305165109744100166631049883938342781917457276639982191408542214632118096692760723605568788688265178918161761641383911780092605181542397922418964811690087344589987564969017355303997797568787577910326144564477114421304904612002093753071789764595140131852017200464090241261704792447102829344018253835191219096624386997310386371623792503158697510114057796397869113380578646308745221416703671631223678102882775077071018999179028521251989809553953233943216836653273667289924214252074392759450644747283327408292753646105796978014341414777692741002838082208556402097399710923821431809208932242222937106570122499839778032979041194643184052806701600321950266142860320361239196363681585220886720159376557033985002472869900664041432868509863481623092604915905370026541857375886308487964163092270428120714056185145913480043246473664586358413549189659938025848317239435323255471639413101458518563353685652962460483426569789641873735703247528328529127878151116509343343776329955862333422518014179365398855209062596402541411441549517340933166751679415253869445832830240810921783926852280752491049644499271177987061607443085505807998096022864726164576417890165213290345049509721191499969655428808242097326516563222252600077695033572997129593669892482748981418636602117365225101086666854453081932355557028386804233817800572130420052126146547220771896802841340807343588540643305535645312493636181458129861607471430470861305565261823020140227668502048027975760232952445131289963033550026649804931235687160907234982401019448944792346395800384028411093313841627591441335692913024669015784564207011089472980941070101737434840303623876487699366204560755438893274515952312156520000289613278163435166579377886539859565082599579729198416155208927795532125708211437959467529811628119326540020328819529770161118885891744811751130054826307405098366568675013781065613895468305220267025592516984758399886977805911582319135725320436606095664838975788751992602924053748271171322427304211190017492350583930988074272838693048945946243883779627195775283002702787418976724689578582292388881689941393527902418913849867306413529669923337733674144499473703450973119803794149500596845162451063289830105862858375464578673751125013313273794430581137900721883237533331761870543101317401546695275728336894357602795819886490425954913084935516661312706477240166283752750716345772185192585967205696915861298127088377313570908944622883826042354209148114065100088852855148086248528970386259432991239015704159685741160772086416405383976926194280138756742542043917327393318946249673754980078524966883821234203064226450862142625401530125150407035510191563997415479379334152072353490341068505101229274785485537619718116352907390672736371406119913297721232953677014874746219557135726940118667422114368655401494252532595736463785776042740727375361426302305348653751761252792291792639653110566180771437414219572710347074239964833113814161998923465018201 7431441529948281220661730295362174378736345962307455875221666737644518512762251023494905927869404002519972991522755623094755171859456208773655685236458024759610732240537043757238813288181323971837301207686296264594261976770733512648712513067549873184778936196713549197052475620071218606642551353137392176970972816105384883074399819662369418333607327028534756282020219114813867456720813046742555445635881768621128737717604776083450159307924946955522205129468807221419693997856661800885525242511576952609304317701108724835110231476374093052688367847565104230198595390051320169142648316821159846994200637529501917975147093801418518504404721827679993540052292818764914057376194428563451542637295064506286876018482329214913094308052026140508748850545015568966863605887252854001936487061995895577425302937379990440190555535701749783675061455590013728016254097702629890300764037673200848032508479092800450125218040765103674713272322019272782435162436536152191084076355402795715248399370182001141140169700305398591871466801240627619004501035526077094336897678220215910267770179926013059976679308635220632538215621104645410482585099775168111976121369516259877826194146829649062890000623032535764702404546802667738212722041942078846853397830584010858283004286645765411613403930410339191324642698153133815559546300841339600827615791732422179549356336296599043827922653291761707156464717722503975958649912699706623617450792976941414915449124052843650939912537648095247754185831512832446888217878273111533792712184625282905261181925546578376673822690436917156118675367070005162230823362377645063982140958626786839875489796743934544190056346596365368425965586954068048900468627971730166681946890476149447763342353619465980643122212249882428420657987811067880343167899732187404482951648908370338858468506121740900597769072111073082766651612465248991340022957490251883102861601447815298928684697681381644132720316742435327105411718425596509967942237494314276497185811220416940848928601007291753380090113501572609432503593182943111519773063668087532059217735333711106230226889457964035807513102079206627110854639465539513368700342195777955421298293304947679956990010597645354522140743933648025334839048064372334013768651901436285141188338454907140901452618307071657688902474745504380968293536789807178483185579449057670797473930742938898230224757456145302749696841858873952201593388113370058711001143964912426337036776172135610433560616185488327901609399523953445041588503261829267330768265469989723017064168169495721257219414100873076109970343805691786133889127729548979748060233684839457268375372597025522202701624591140327164970219747638030483346806205702095623343493446027516600275301549857902348533633510943517767423962400795535430988058313938445097080084657992763109152219457815777940552516580506740953398614200645474114310017298113420017073977452839931830220311979442502919646599595071415670855599220766878429036944302884380195827651654507903415041804920754067207962887249206038797557709800145846346729771063731196804149312990777220831840897353416196449992291731803780631314264471526321407381108488742601590583805937887873947465085811214598853888981385486319798709523636927309460965405544795891075354455111900973997447071485097748576506136761236573357415783921629606892360931537045467097827060851403204235323449150675040279447655358712841063301748684613302135632111971681789274218528364019449282373950173247435587544798841638220832046029486621643265304652511406464771905012218130458920266177246552055172546203 12024324980863838615254636360000112945271468110842795753537905476417109855797666986584133710944189739894029192384827948157009491925173359163098410646357444636468213316397661075894336707382597503454320494567235821167951411368427941079967254526328390198026581514290928124363956450291484553862075348846993793837340530371317423398385131067056360304742908864250499662246235929510637694073549788286545206944508097068942250596696256287307071806824745740423620248202377857345077391133385164384415511040560432328697121896624335540254590793669540248393464633636225911462290480872720063202283754208245329915096817390807083084891193968049568388343064609597450816692275010173456272008312525256212266242863853194552054936644090856297006088144631322051146772963980380656950950477240418970953842365993693146212880847706135004667669957006654395677155208661803492611394229554647090764854278934905640479611308436818703960409259861728061710582708390896574938321134046266248880474224516176293894708115403417844811800923983501474646543872259626798033022287515886648290131621437052563541437469850227312051072068085865379821543029397399056588382077789509526753814110519097960034750548927048773813822054841744696944627483909237860712561819975057888048041014636817559883326236911908271933765169606702872909863584873293192116580285843812470728279833165290689412837959389203959733292679833619083042773205686667068229078033413762808763364273020187888580035482466392840599850563496412487189509086984471859989676396836465219445674645108709475050823799282281624202151219564795307235184710413781492186685695800163078161506357481995902471892338155376093707397279763117047841219456399900879141279549755657018962699381525793947034520340681073423728628020247978451285384152387485770508381190077236914204143148878025767666710603448257463820021672188768116339648742058918883822771938908888485220226826548901965783137779613737201161107120976253127677542138477722656515163009391117117837993154808957584154464246319785389561548243363180080862974454488508373342793203895756034107245711093944058675358179420997585834162907010442314271761874447940532817645134542173755805326704398261521584581451933338267546809759718212232345928521045313404115506086741739909017676037821111701656891511581587610001058994745793994246456971956386556369725439014140270377203129159094107158020289581853514187656309388685580320919928133698878240771305083798318081848527302190436740965714552057002915390465137848913346808770287421784315526665356967528928646487305221041693825509765712051898722336408615839882160299051976283959250251177190041199363446869864215251647570835024106792165995030640733270765782930391674205635882327717457993803203968771752215840047040613441105157636545295009134439031433742239246580681503155214172442049563678636316017095254257865966711887995076055252210739181350953348835847995941249231767007255170839814004202390891302161281554133851813945698257009361620362111404405224249187226997506721272904878748547333127174871280709090469230555813417940344918214413079630075979927145882386582709425282970819484791000005632298407823786492465668795870722562680429917864792479130160848527643961464011286682530757839991535911827548170197421200504862147411165561444486964477082728578490251577641862517013196415092429980649653398374488499797222809324148621170383628717294322401578269976790241867352035416504287513465934321869954992149795492023101325534673737892893452593399473624337822126274753831485423948820684344615359292370423753379991408550978637564404 19455766510812119835916366655362287324007814073150251628759572214061628368559918010079039638813593742414002183907583571251764663784629567936754095882815469396078945556934704833133149995563921475291621702253532085762213388139161453728679767593878263382805517711004477321416432070362703160504626701984385970808313346476702306472784950729425778638350235892785255944266455044324505150794362835029100652580389865690070988314301032370757231114749692695945825377671185078764771388990046965269940753552137384938001439597733060375364822270043633301081832481201330141660885870924040232344932071029405176909297454920309001060038287769468086892747786437277444356744567828938370329384506953819663808880158917700838930955126420071210100396196657462559895623508995949623814556364493272972890329427989588723638183785086125444858225492708404179352216664251817220627648327257276981065618316608106488512119787529619154085627300626831736423855030410169357373483570582418439964550579918972009143107485585418985951970624288900066518010673500254417037523323041963742627029299657268473809207649776240372027751376721086012359758650502044467070967177564677638729935480035357837860944695756697836703822677874280461647032030711905598925283861917136734901438845220828418166330523557673683547169100017042064234506283026427007676126586685152071555895624897712868962194295685803003561215333125380790199237923409171044187727946113469432380815065997129303495484606519236491539763101144507734943694918497304306877894275109576753238386829733992380312005724828860000875973910001712463353860077483786654417509058177808142143647316108782742347382134899310637897453626359482416267185043353968928041748177727387185644646272001943394797862694300539404371750232497860879706042140198553650851549089809424318687094797786396106525179109569998364417790744299841199106300354524167875162794896399140368323088427996717264711822477295118845293827437718688454782953856903319166483105246885431394335178966029374525003392847327077142941638356864752690295478047671451484862566267563843566166463446427655164905585068878961621641676009089648941382616513913480046186345476737951711226624997703209201541571462530983622068950503651860257680767569109685738129274738643176194158864376276018842558344129888659267689961469491298375214750508746193734852911018463197941174677059902033005388245047037998816937353151247559532522513316247068936951772449048710744418885303474326047174526330737545330816999864661802358388397273549251051646294930826957251945710655474716762951044923866585128008692680214307626016049426781525263707310484862029498467738819466889737454349195426164433957136214778278763754112589136093769828979375773744974594078505518629654564373680551556958872581598946090544565427089747680684343660766161147977281594269021494414256569611834764606920110502195721529366520756479464373365909825448781181061987319234613342733650801985962717832137153354618692374735201312246000557939056059732152602268802427475340112841635796539165972428990509236315577285584481671541722363726070407296811768043235802779159417574702623265422314270103824729231167600954411397461306368618317791812257564941375447381532942849497606481240281476918845372792953714993312275859317259312139558891558449574831305084627012814215219932797118044699322341581190443841586326858074212528383944619534303757573770056936982817853543616036648718639919625437616111144173520513814941305475275707921173480438251435037694456383851612896397096790076460227149116520371510500882673646168655103033810110607 31480091491675958451171003015362400269279282183993047382297477690478738224357584996663173349757783482308031376292411519408774155709802927099852506529172914032547158873332365909027486702946518978745942196820767906930164799507589394808647022120206653580832099225295405445780388520654187714366702050831379764645653876848019729871170081796482138943093144757035755606512690973835142844867912623315645859524897962759013238910997288658064302921574438436369445625873562936109848780123432129654356264592697817266698561494357395915619413063713173549475297114837556053123176351796760295547215825237650506824394272311116084144929481737517655281090851046874895173436842839111826601392819479075876075123022770895390985891770510927507106484341288784611042396472976330280765506841733691943844171793983281869851064632792260449525895449715058575029371872913620713239042556811924071830472595543012128991731095966437858046036560488559798134437738801065932311804704628684688845024804435148303037815600988836830763771548272401541164554545759881215070545610557850390917160921094321037350645119626467684078823444806951392181301679899443523659349255354187165483749590554455797895695244683746610517644732716025158591659514621143459637845681892194622949479859857645978049656760469581955480934269623744937144369867899720199792706872528964542284175458063003558375032255075006963294508012958999873242011129095838112416805979527232241144179339017317192075520088985629332139613664640920222133204005481776166867570671946041972684061474842701855362829524111141625078125129566507770589044787897568146604194753977971220305153673590778644819274473054686731604850906122599464108404499753869807183027727483044204607345653527737341832383034981612828100378252745839330991426292586039421359930279886661232891237946664421874191889713018255828237812416488609315445949096583086758985566835308028853543315254545619230494960256908856046454934558694941582460495995381041822998268256276548512173172120838332109157857093646862532503186600227932771158452502159959858205359471459599600273709157521599223580943248299959207475838916100091255654378388361420579003990611280125467031951702101470723126152914464321889615760263370072490026696090154999142244780825384916103176540414097130544215235641470246877691020464237092369461207480702580291222636457477338211551880189061127112546265336619852331125009460636245112843433244380767815192543754132509062500733830776516483915492045289602333732390329799651271735206043836672835961821596183924780874357142779937804644870433632297179907415016622923465898209725833501547666560736039219539667102266336753952705996766261188540749302209808919497024878372066485444034615258101462432587881709487401406780213727592170399977739235491385553699866121181422923590241447664303191454036318585173050572586707089022472886822390190797584618731495660815326714745673444722430293754326489784182547655004376854019993418707488470506320433458321607620920050460464956401789495799934196613017720384343872293147300271218326784807841397899611886640578139150037372791695189118189361868842857673442750213314275736123137054954093420080193332028931298747709677050044071536295909176904313508893163771039316910381284620501885190733476364179406723305120336045414051914033663117264391857082449810314459791752322230843842216074826655297021852532565789917932474868092458515252794643785483388684135144207138903550433014128512663610433328576601242594911373331704028437168080721673739171150928275500409047833461135730802871306427026160063654012447675011 50935858002488078287087369670724687593287096257143299011057049904540366592917503006742212988571377224722033560199995090660538819494432495036606602411988383428626104430267070742160636698510440454037563899074299992692378187646750848537326789714084916963637616936299882767196820591016890874871328752815765735453967223324722036343955032525907917581443380649821011550779146018159647995662275458344746512105287828449084227225298321028821534036324131132315271003544748014874620169113479094924297018144835202204700001092090456290984235333756806850557129596038886194784062222720800527892147896267055683733691727231425085204967769506985742173838637484152339530181410668050196930777326432895539884003181688596229916846896930998717206880537946247170938019981972279904580063206226964916734501221972870593489248417878385894384120942423462754381588537165437933866690884069201052896090912151118617503850883496057012131663861115391534558292769211235289685288275211103128809575384354120312180923086574255816715742172561301607682565219260135632108068933599814133544190220751589511159852769402708056106574821528037404541060330401487990730316432918864804213685070589813635756639940440444447221467410590305620238691545333049058563129543809331357850918705078474396215987284027255639028103369640787001378876150926147207468833459214116613840071082960716427337226550760809966855723346084380663441249052505009156604533925640701673524994405014446495571004695504865823679376765785427957076898923979080473745464947055618725922448304576694235674835248940001625954099039568220233942904865381354801021703812155779362448800989699561387166656607953997369502304532482081880375589543107838735224775905210431390251991925529680736630245729282152232472128485243700210697468432784593072211479369696085551578332744450817980717068822588254192655603160788450514552249451107254634148361731707169221866403682542336495206782734203974891748761996413630037243449852284360989481373503161979906508351086867706634161249940973939675444824957092685461453930549831411343067925739023443166440172603949254388486528317178920829117514925189740197036994902274900625190336088018077178258576699804679924667724376995305511684710767021932747707463659264684880374055564028092297335404790373149386773579771358906145380981933728390744675957989448774026075547475940536152726557248963160117934510383657851148062362611883804645365946560627836752144316203181219806919619134250842531090018376027147664549390194461453630123603317385923887608116527010882032820067798254654567595915357498882307916107696837231091914259152615026811373871220901249038134841085803643690160345961687352974706438424587198260778990961202579213863594633875207407181960215006031061344587408143727358850320834437476098265293210929103607933902213825451168735630587606667464829156318923787079806932892386519113985252252140279700080655498893503611355741645724397525281305806362816737825555860843089198695168659633853621477989516524688554391764602361671953130562020140411459119729261727563100385126982381283428362941865220444669603463232353992141028260432376066015635628545839947866286121694374491590793335299917065501489307609012911743290709847163006499645011320793829226657413455600184045752223496666035444679227603863626745338747744277206072302382607432504491074663812034286057661153513371234380916510409452236232441862515452235612497329099425332853784126764341166544158302033177425374634051876950516084853769955463474862537105525352067548025065576869274982577656102313372189100672328718757046257785618 82415949494164036738258372686087087862566378441136346393354527595019104817275088003405386338329160707030064936492406610069312975204235422136459108941161297461173263303599436651188123401456959432783506095895067899622542987154340243345973811834291570544469716161595288212977209111671078589238030803647145500099621100172741766215125114322390056524536525406856767157291836991994790840530188081660392371630185791208097466136295609686885836957898569568684716629418310950984468949236911224578653282737533019471398562586447852206603648397469980400032426710876442247907238574517560823439363721504706190558085999542541169349897251244503397454929488531027234703618253507162023532170145911971415959126204459491620902738667441926224313364879235031781980416454948610185345570047960656860578673015956152463340313050670646343910016392138521329410960410079058647105733440881125124726563507694130746495581979462494870177700421603951332692730508012301221997092979839787817654600188789268615218738687563092647479513720833703148847119765020016847178614544157664524461351141845910548510497889029175740185398266334988796722362010300931514389665688273051969697434661144269433652335185124191057739112143306330778830351059954192518200975225701525980800398564936120374265644044496837594509037639264531938523246018825867407261540331743081156124246541023719985712258805835816930150231359043380536683260181600847269021339905167933914669173744031763687646524784490495155818990430426348179210102929460856640613035619001660698606509779419396091037664773051143251032224169134728004531949653278922947625898566133750582753954663290340031985931081008684101107155438604681344483994042861708542407803632693475594859337579057418078462628764263765060572506737989539541688894725370632493571409649582746784469570691115239854908958535606510020893415577277059829998198547690341393133928567015198075409718937087955725701742991112830938203696555108571619703945847665402812479641759438528418681523207706038743319107034620802207948011557320618232612383051991371201273285210483042766713881761470853612067471565478880036593353841289831452691373290636321204194326699298202645290528401906150647793877291459627401300471030392005237734159749419684022618836389413008400511945204470279930988815412829153023072002397965483114137165470151354317298183933417874364278437438024287230480775720277703479187372072520049758209379805008604567336859957313728869420352965027359015005510421316749998281780524261104901858809361222596723569938123194806813694424941034592372240785791131179487823522713460154557812468878448528359040431956940468577801943352140397642866342727948541515455740634396117757803869333269064657898209891976669839769841924493432468124801135735897758828060069928861651965159332110526531524143661489754360189666906191840515401743026012809552693755282577316698603983747801095026795401172338226041649495972214181707828960810739670757818974568331559705015602117955461242398039976989644956181260402295868566148282404484283752267029532945889885192968380280895315003520004370482042395158421472181502897103290049508765848942821576071003341075787794571784125364231215813211166357653084448039199886751476515392808782360110739607942033957485374779228587676072758749799563649277678659372410861541597929384832417746964282826986042878128273735980168668256233449076199370168707309954973967488407141114582814016988928333903244716977172430545841035807962628478193110996227101659491912030617827199091238698953341077278322816038791833116243495527698488782411058705460629 133351807496652115025345742356811775455853474698279645404411577499559471410192591010147599326900537931752098496692401700729851794698667917173065711353149680889799367733866507393348760099967399886821069994969367892314921174801091091883300601548376487508107333097895170980174029702687969464109359556462911235553588323497463802559080146848297974105979906056677778708070983010154438836192463540005138883735473619657181693361593930715707370994222700700999987632963058965859089118350390319502950300882368221676098563678538308497587883731226787250589556306915328442691300797238361351331511617771761874291777726773966254554865020751489139628768126015179574233799664175212220462947472344866955843129386148087850819585564372924941520245417181278952918436436920890089925633254187621777313174237929023056829561468549032238294137334561984083792548947244496580972424324950326177622654419845249363999432862958551882309364282719342867251023277223536511682381255050890946464175573143388927399661774137348464195255893395004756529684984280152479286683477757478658005541362597500059670350658431883796291973087863026201263422340702419505119982121191916773911119731734083069408975125564635504960579553896636399069042605287241576764104769510857338651317270014594770481631328524093233537141008905318939902122169752014614730373790957197769964317623984436413049485356596626897005954705127761200124509234105856425625873830808635588194168149046210183217529479995360979498367196211776136287001853439937114358500566057279424528958083996090326712500021991144876986323208702948238474854518660277748647602378289529945202755652989901419152587688962681470609459971086763224859583585969547277632579537903906985111329504587098815092874493545917293044635223233239752386363158155225565782889019278832336047903435566057835626027358194764213549018738065510344550447998797596027282290298722367297276122619630292220908525725316805829952458551522201656947395699949763801961015262600508325189874294573745377480356975594741883392836514413303694066313601822782544341210949506485933154054365420108000553999882657800865710868766479571649728368192911221829384662787316279823549105101710830572461601668454932912985181797413937985441623408684368902992891953441100697847349994843429317762395184188059168452984331693873858813123459600128343373731409358410517004994686987447348415286103935554627249734684403854403575326365636441319481176160494948676339972099278201546095528797343897662831170718722558531982412678608520611178054650205688846514492739289246939836701148630061795739630410297385649726728031063555170414303177841717615936784437944041333026688689635894490162179058983316018582860294471643871761804525851877246951802139499463529469388543879625117678380904366337750230452543039630139458045875315205528925297493798507980230899344936596632500688174963835812589235999941374726876056671231729653005237617938579233110266617102487495644530429174648903710770777589314863876029493514333510573025004657540519278844424624695211386758794673452985578095362662178743366461869590926711998621653826173643925363722425574781484571367416018869627197482169063374918699531132878712655665262097359782490596598639521892453793680904568834599447413085558824980811172738794194478791253141305404711158605818804001687215025179468773901649854912414331397133682039490614365586608822404939751817489419724019638443682239349842712460667585883521330732579018461182596680355143627081080871614955386893154932724443306246978406654147597798616447935429615684628370817501168104963246247 215767756990816151763604115042898863318419853139415991797766105094578576227467679013552985665229698638782163433184808310799164769902903339309524820294310978350972631037465944044536883501424359319604576090864435791937464161955431335229274413382668058052577049259490459193151238814359048053347390360110056735653209423670205568774205261170688030630516431463534545865362820002149229676722651621665531255365659410865279159497889540402593207952121270269684704262381369916843558067587301544081603583619901241147497126264986160704191532128696767650621983017791770690598539371755922174770875339276468064849863726316507423904762271995992537083697614546206808937417917682374243995117618256838371802255590607579471722324231814851165833610296416310734898852891869500275271203302148278637891847253885175520169874519219678582204153726700505413203509357323555228078157765831451302349217927539380110495014842421046752487064704323294199943753785235837733679474234890678764118775761932657542618400461700441111674769614228707905376804749300169326465298021915143182466892504443410608180848547461059536477371354198014997985784351003351019509647809464968743608554392878352503061310310688826562699691697202967177899393665241434094965079995212383319451715834950715144747275373020930828046178648169850878425368188577882021991914122700278926088564165008156398761744162432443827156186064171141736807769415706703694647213735976569502863341893077973870864054264485856135317357626638124315497104782900793754971536185058940123135467863415486417750164795042288128018547377837676243006804171939200696273500944423280527956710316280241451138518769971365571716615409691444569343577628831255820040383170597382579970667083644516893555503257809682353617141961222779294075257883525858059354298668861579120517474126681297690534985893801274234442434315342570174548646546487937420416218865737565372685841556718247946610268716429636768156155106630773276651341547615166614440657022039036743871397502279784120799464010215544091340848071733921926678696653814153745614496159989528699867936126890961612621471448136680902304222607769403102419741483547543033578989486614482468839633503616981220255478959914560314285652827805943223175783158104052925611728342854109098359295199313709248751210597017212191524986729659356972950288929751482660671915342776284881283432125011734578896061824213258106437106756923904161784706170645045886818036117808677545760325064305560561101039218660647661112951242983663433841222039831117334747992773400495660208917680323839312077486939761241283563153123757540207539196909512083529454735134782186193738727790084438975893031417584436005617919693379433776386729627740708529660014417828547086721644063992895997594189679615522876506440974295199402195611875150156670982189536804959889114964399990348495632642370949406185194443457541152511193219747742469753671457843569955694654733590152760940939227427842158253463504997506208608726372895544776106274069470503978466754285406953409085427126829108978963653788327619342870771063742943074058369981873961408754393780075298355146822467012475083547333514188992089872968273269963635159044063762348691923822022915181807821690483350116037285262576041015308442541481370570933604209398848811552944278354902418984064083569467360401931072047442926433056728635897790542605133113850707746847814662808192573647061772463387212426779558265053366831640794570830600498503163124859496990559308833336738077307973274447298923772759923534544945931747731425920614655239768545859180156069306283579163668706876 349119564487468266788949857399710638774273327837695637202177682594138047637660270023700584992130236570534261929877210011529016564601571256482590531647460659240771998771332451437885643601391759206425646085833803684252385336756522427112575014931044545560684382357385630173325268517047017517456749916572967971206797747167669371333285408018986004736496337520212324573433803012303668512915115161670670139101133030522460852859483471118300578946343970970684691895344428882702647185937691863584553884502269462823595689943524469201779415859923554901211539324707099133289840168994283526102386957048229939141641453090473678459627292747481676712465740561386383171217581857586464458065090601705327645384976755667322541909796187776107353855713597589687817289328790390365196836556335900415205021491814198576999435987768710820498291061262489496996058304568051809050582090781777479971872347384629474494447705379598634796428987042637067194777062459374245361855489941569710582951335076046470018062235837789575870025507623712661906489733580321805751981499672621840472433867040910667851199205892943332769344442061041199249206691705770524629629930656885517519674124612435572470285436253462067660271251099603576968436270528675671729184764723240658103033104965309915228906701545024061583319657075169818327490358329896636722287913657476696052881788992592811811229519029070724162140769298902936932278649812560120273087566785205091057510042124184054081583744481217114815724822849900451784106636340730869330036751116219547664425947411576744462664817033433005004870586540624481481658690599478444921103322712810473159465969270142870291106458934047042326075380778207794203161214800803097672962708501289565081996588231615708648377751355599646661777184456019046461621041681083625137187688140411456565377562247355526161013251996038447991453053408080519099094545285533447698509164459932669961964176348540167518794441746442598108613658152974933598737247564930416401672284639545069061271796853529498279820985810285974733684586147225620745010255636936289955707109496014633021990492311069613175471330794481768015091374248974752148109676458764862963652273930762292388738605327811792717080628369493227270834625219881208617406566788421828604620296295209796206645194157138566513605781205271359977971061353230831763412389351611004045646752134695398288426811999181927311347928148812733686841441327758565360032536281487206299212278303626222100297163583762107196568016004545323944121961706221965823634718439637945926047423606184506723410419613086251914188088391303079302783534054925857265924940575638699869038312623903809675512228028480308919720107220330495780098752362749794969589922212352401421818943680424333673446203492359527063578223495147994184821878661537152426064418189786810440235412120165418040261893788856475863541715886002817695131632504988323782455747683844480547514514801685347659971208091340174049494044944645749108035426680857512437143673134090970150098964018311977327310411610949604705971253733674175040547122292795856349159105605252801736443743552335466392401729124528790747830734900658328818085556408108742595470752132698533962763293481570636477688177279167604181079948755559177716369721919877277140928783656492429190210021550347138757146155560289468794728073179205932759262468105901830630285752702956936530247532747237462180249417014978586813589952806936446418001947292716674353255238416484019833895703877958173155989188480365158388844889402685816927692647977851192910154385573518413271687703975474864784440123784747268631953123 564887321478284418552553972442609502092693180977111628999943787688716623865127949037253570657359935209316425363062018322328181334504474595792115351941771637591744629808798395482422527102816118526030222176698239476189849498711953762341849428313712603613261431616876089366476507331406065570804140276683024706860007170837874940107490669189674035367012768983746870438796623014452898189637766783336201394466792441387740012357373011520893786898465241240369396157725798799546205253524993407666157468122170703971092816208510629905970947988620322551833522342498869823888379540750205700873262296324698003991505179406981102364389564743474213796163355107593192108635499539960708453182708858543699447640567363246794264234028002627273187466010013900422716142220659890640468039858484179053096868745699374097169310506988389402702444787962994910199567661891607037128739856613228782321090274924009584989462547800645387283493691365931267138530847695211979041329724832248474701727097008704012636462697538230687544795121852420567283294482880491132217279521587765022939326371484321276032047753354002869246715796259056197234991042709121544139277740121854261128228517490788075531595746942288630359962948302570754867829935770109766694264759935623977554748939916025059976182074565954889629498305245020696752858546907778658714202036357755622141445954000749210572973681461514551318326833470044673740048065519263814920301302761774593920851935202157924945638008967073250133082449488024767281211419241524624301572936175159670799893810827063162212829612075721133023417964378300724488462862538679141194604267136091001116176285550384321429625228905412614042690790469652363546738843632058917713345879098672145052663671876132602203881009165282000278919145678798340536878925206941684491486357001990577082851688928653216695999145797312682433887368750650693647741091773470868114728030197498042647805733066788114129063158176079366264768764783748210250078795180097030842329306678581812932669299133313619079284996025830066074532657881147547423706909451090035570203269485543332889926619202031225796942778931162670319313982018377854567851160006307896542641760545244761228372108944793012972559588284053541556487453025824431793189724892474754216348639149318894565940393470847815264816378222483551502957791012587804713701319103093664717562094910980279571858937010916506207409752362070840123948198251662727144738706926533093117248396112303767860622227889322668297607234665192985057073204689885399664856758270755280674040197006680166932328099936925563991675028152544362865936657812466064805121850087722229323773447406090003414240018112919284812751524804766501398018445742183571356319549953060931081833361508971420395090267485255524657767903110670870691262852956736554621676293339943481422424948925125307155226293779204971496184086835409002889575090046140834975675495426314234218972358371641042314704798244101114988721472786804002571540424187066121163516568678867076424168434522290444081595818564358690133098082842653138694335449912138727120222848548326860106425617513744220786181804422883937570297747375741876151599745400198615563744022096333693006827055830262560299711092460975425871563298871596462978945762935185719682410154227426033399608870361900083035501057979273532878297540539607863831309911032334887358921650493499541663361383454984309994912225207552233875362416194148873197560212346083505994049809247084518337058828737455163715298021817103235696818163849984740700452571512396138841902116999439027926927472521334044940509430068326432300659999 914006885965752685341503829842320140866966508814807266202121470282854671502788219060954155649490171779850687292939228333857197899106045852274705883589232296832516628580130846920308170704207877732455868262532043160442234835468476189454424443244757149173945813974261719539801775848453083088260890193255992678066804918005544311440776077208660040103509106503959195012230426026756566702552881945006871533567925471910200865216856482639194365844809212211054088053070227682248852439462685271250711352624440166794688506152035099107750363848543877453045061667205968957178219709744489226975649253372927943133146632497454780824016857490955890508629095668979575279853081397547172911247799460249027093025544118914116806143824190403380541321723611490110533431549450281005664876414820079468301890237513572674168746494757100223200735849225484407195625966459658846179321947395006262292962622308639059483910253180244022079922678408568334333307910154586224403185214773818185284678432084750482654524933376020263414820629476133229189784216460812937969261021260386863411760238525231943883246959246946202016060238320097396484197734414892068768907670778739778647902642103223648001881183195750698020234199402174331836266206298785438423449524658864635657782044881334975205088776110978951212817962320190515080348905237675295436489950015232318194327742993342022384203200490585275480467602768947610672326715331823935193388869546979684978361977326341979027221753448290364948807272337925219065318055582255493631609687291379218464319758238639906675494429109154138028288550918925205970121553138157586115707589848901474275642254820527191720731687839459656368766171247860157749900058432862015386308587599961710134660260107748310852258760520881646940696330134817386998499966888025309628674045142402033648229251176008742857012397793351130425340422158731212746835637059004315813237194657430712609769909415328281647857599922521964373382422936723143848816042745027447244001591318126881993941095986843117359105981836116040808217244028373168168717165088026325525910378981557965911917111513100838972414109725644438334405356267352606715960836465072759506294034476007053617110714272604805689640216653546768827322078245705640410596291680896582820968935444528690772585587627986381778422159427754911480928852365818636477113708454704668763208847045675677860285749010098433518757680510883573810789639579421292504771243208020299416460674415929989960919391473084775494175250669738309001195166396107365488491476710393226600087620612864673655738519550011815905863116543847442168720191867391922071046790663360929192811760029993813089752246141399593732471632025096997178117198104933366325909472165413332503652305189395754068536470977615051721346126605818864876084731618273707047740711529730291862660361045290725195488187568061447359725802721411820584706722551129158758131243110158714766486873173326389974676006335441289038215517731449751679575850867923633600660241812958046574267398540602421408906230175308294839069336576327313734882572204934583469381954153579661842869361066079687178583533547412728318128482276400204969685301808307358159214774229032226969590349311833196777399269740143030052643247627155640695315484855062996823338937883918462589818891912247221792647213539563001673025613718813796590572379138236717989207403196456478193608916202221772175161642222530820688952369001085319615562159638800180347305047663568538170954532615413336871287210297468394085663053252670557628145219490247331752056502572957441198615176496808909724949553853073700932613122 1478894207444037103894057802284929642959659689791918895202065257971571295367916168098207726306850106989167112656001246656185379233610520448066821235531003934424261258388929242402730697807023996258486090439230282636632084334180429951796273871558469752787207245591137808906278283179859148659065030469939017384926812088843419251548266746398334075470521875487706065451027049041209464892190648728343072928034717913297940877574229494160088152743274453451423484210796026481795057692987678678916868820746610870765781322360545729013721311837164200004878584009704838781066599250494694927848911549697625947124651811904435883188406422234430104304792450776572767388488580937507881364430508318792726540666111482160911070377852193030653728787733625390533249573770110171646132916273304258521398758983212946771338057001745489625903180637188479317395193628351265883308061804008235044614052897232648644473372800980889409363416369774499601471838757849798203444514939606066659986405529093454495290987630914250950959615751328553796473078699341304070186540542848151886351086610009553219915294712600949071262776034579153593719188777124013612908185410900594039776131159594011723533476930138039328380197147704745086704096142068895205117714284594488613212530984797360035181270850676933840842316267565211211833207452145453954150691986372987940335773696994091232957176881952099826798794436238992284412374780851087750113690172308754278899213912528499903972859762415363615081889721825949986346529474823780117933182623466538889264213569065703068888324041184875271051706515297225930458584415676836727310311856984992475391818540370911513150356916744872270411456961717512521296638902064920933099654466698633855187323931983880913056139769686163647219615475813615727535378892094966994120160402144392610731080940104661959553011543590663812859227790909381906394576728832475183927965224854928755257575642482116395776920758098601330638151187720471354098894837925124478086330897996708694926610395120156736438390977861946106882749901909520715592424074539116361096113648467101298801843730715132064769356888656807108653719338285730461283811996471380656048935795021251814845482823217397818662199804937600310383809531271530072203786016573371337037317574593847585338525981098834197043238537650238462983886643378406441190815027557798333480770941956655957432144686021014939726167432872954413934737837831084019649509950134553392533709070528233757821541619362407443791782485334931294058268371085992765153348234981148507274127817619544840588066619486937379897538144696391805034656849679857986876168640751083158516585207436083816503992264254318878545223156829863498576135643847116937682229022118474263585485666698367174463626738462870576379114029716489735567347584575010261669417004869673773285085309970416032350714481347266418855909889556820823474281812597269993733806738536472948985459231544967432289380804579542404026936990518253754251116275054989754764176810491825122998435833062892865490502048739666984972167419418980452429218022117073310589604802701906521949294978579823907964765337970296665888426229652142081121285047208505973722958796325365919976417405142095757077110362201118455924206546498752103674261247790248716505749092111344495989427762274147304828148271518836534551323154258421660421882290170571605348129053689956019856970299657206082170073867430083054564314785195234192813122371984883686341354856910653056508013361352868500586585232114571629782481217102655298328597791002643470593958619572396469125542649018142954665458983921400133233273121 2392901093409789789235561632127249783826626198606726161404186728254425966870704387159161881956340278769017799948940474990042577132716566300341527119120236231256777886969060089323038868511231873990941958701762325797074319169648906141250698314803226901961153059565399528446080059028312231747325920663195010062993617006848963562989042823606994115574030981991665260463257475067966031594743530673349944461602643385208141742791085976799282518588083665662477572263866254164043910132450363950167580173371051037560469828512580828121471675685708077457923645676910807738244818960239184154824560803070553890257798444401890664012423279725385994813421546445552342668341662335055054275678307779041753633691655601075027876521676383434034270109457236880643783005319560452651797792688124337989700649220726519445506803496502589849103916486413963724590819594810924729487383751403241306907015519541287703957283054161133431443339048183067935805146668004384427847700154379884845271083961178204977945512564290271214374436380804687025662862915802117008155801564108538749762846848534785163798541671847895273278836272899250990203386511538905681677093081679333818424033801697235371535358113333790026400431347106919418540362348367680643541163809253353248870313029678695010386359626787912792055134229885401726913556357383129249587181936388220258530101439987433255341380082442685102279262039007939895084701496182911685307079041855733963877575889854841883000081515863653980030696994163875205411847530406035611564792310757918107728533327304342975563818470294029409079995066216151136428705968814994313426019446833893949667460795191438704871088604584331926780223132965372679046538960497782948485963054298595565321984192091629223908398530207045294160311805948433114533878858982992303748834447286794644379310191280670702410023941384014943284568213068113119141412365891479499741202419512359467867345551897444677424778358021123295011533610657194497947710880670151925330332489314835576920551491106999853797496959698062147690967145937893883761141239627142686622024027448659264713760842228232903741770998382451546988124694553083067999772832936453415555229829497258868462593537490002624351840021591147079211131609517235712614382308254267919858286510038376276111111568726820578821660697077993374464815495744225077667928736012503002243979789002331635292430435031113373244925113383837987745527477410505312154281193342573691950169744944163747782461010835492219285957736004669603059463537482100130641839711691541733874215438232409514243805139036949195803401261240239247203377041547249908947215431414444087709396967466077629593744510395718472277694788854960495754252841952050304008138494283887596089137971887762928532163209440485628100460156322308600443432316193283968717157716399404065147745671015706757546202668915327866215635692278232644058988535148399152491937981646631663751946104718293822264056810914983693065152508249703505930692125922913388364837052304783169572703231603495286899408278914975279811236755995307766164100594322007894058986756855486183792164339645903595143348871517709394206554711928542286090970349016813331882173570554398146946007754453928953854509631941261485976849794125907744369576732645311713329088029995262958579246654186394526620795485058399536224348767977235457012454669308808323337336456886412498050579215859427854345235509652613875253267154196319512428684531623683866688659904574221594678967893968281837457872442412040023868144270355325855956743010492890802346015122145353910324157825514951864390408537774473834165886243 3871795300853826893129619434412179426786285888398645056606251986225997262238620555257369608263190385758184912604941721646227956366327086748408348354651240165681039145357989331725769566318255870249428049140992608433706403503829336093046972186361696654748360305156537337352358342208171380406390951133134027447920429095692382814537309570005328191044552857479371325914284524109175496486934179401693017389637361298506082620365315470959370671331358119113901056474662280645838967825438042629084448994117661908326251150873126557135192987522872277462802229686615646519311418210733879082673472352768179837382450256306326547200829701959816099118213997222125110056830243272562935640108816097834480174357767083235938946899528576464687998897190862271177032579089670624297930708961428596511099408203939466216844860498248079475007097123602443041986013223162190612795445555411476351521068416773936348430655855142022840806755417957567537276985425854182631292215093985951505257489490271659473236500195204522165334052132133240822135941615143421078342342106956690636113933458544338383713836384448844344541612307478404583922575288662919294585278492579927858200164961291247095068835043471829354780628494811664505244458490436575848658878093847841862082844014476055045567630477464846632897450497450612938746763809528583203737873922761208198865875136981524488298556964394784929078056475246932179497076277033999435420769214164488242776789802383341786972941278279017595112586715989825191758377005229815729497974934224456996992746896370046044452142511478904680131701581513377066887290384491831040736331303818886425059279335562350218021445521329204197191680094682885200343177862562703881585617520997229420509308124075510136964538299893208941379927281762048842069257751077959297868994849431187255110391131385332661963035484974678756143796003977495025535989094723954683669167644367288223124921194379561073201699116119724625649684798377665852046605718595276403416663387311544271847161886227156590235887937560008254573717047847414599353565314166259047718137675915760563515604572943364968511127887039258655641844032838813529283584829407834071604165624518510683308076360707400443014039826528747389594941140788765784818168324827639256895604084632223861449637549825654775864899234728231837448702139122631518858743763570301335724750730958987592724575121052128312971092546256792401680265315241589331803791143477127084483878815472397505604002630197899663077740221339600897117731908568092895795187946672690241148343255851954354831871758523886575700939405936631052238033891227107895823384072165527246225982174902161446097736774650037350822917945684823994330388485799167241690367516402361859674623638586130102995789947903356204479574186038798336010779900768294230386574721269077838432830980986122789896917150262594285071545581835053467533270347745669146225744720183104612737405336263261254553437615494526097092089498767957260181808400977903143129013862796608292571139064666388152389910327654642264783404175414288218593318616439081204648591559557392705741459318225727503108114209488006060094980941580684367212255396225319305605132366879764066922425159596024710931619994142379941901056340624659848043837980435560429834837122106607454568674416460541831448943756577236070775671922235657117434336959479379928685465510576368517907549515516633936515309377082696929817581939391553705241806903608567553030014761484874651186981255321150338044457674526611653650625487457981154285340801495534272939973741717750379449700474533094819055867521695873967399159364 6264696394263616682365181066539429210612912087005371218010438714480423229109324942416531490219530664527202712553882196636270533499043653048749875473771476396937817032327049421048808434829487744240370007842754934230780722673478242234297670501164923556709513364721936865798438401236483612153716871796329037510914046102541346377526352393612322306618583839471036586377541999177141528081677710075042961851240004683714224363156401447758653189919441784776378628738528534809882877957888406579252029167488712945886720979385707385256664663208580354920725875363526454257556237170973063237498033155838733727640248700708217211213252981685202093931635543667677452725171905607617989915787123876876233808049422684310966823421204959898722269006648099151820815584409231076949728501649552934500800057424665985662351663994750669324111013610016406766576832817973115342282829306814717658428083936315224052387938909303156272250094466140635473082132093858567059139915248365836350528573451449864451182012759494793379708488512937927847798804530945538086498143671065229385876780307079123547512378056296739617820448580377655574125961800201824976262371574259261676624198762988482466604193156805619381181059841918583923784820838804256492200041903101195110953157044154750055953990104252759424952584727336014665660320166911712453325055859149428457395976576968957743639937046837470031357318514254872074581777773216911120727848256020222206654365692238183669973022794142671575143283710153700397170224535635851341062767244982375104721280223674389020015960981772934089211696647729528203315996353306825354162350750652780374726740130753788922892534125913536123971903227648257879389716823060486830071580575295824985831292316167139360872936830100254235540239087710481956603136610060951601617829296717981899489701322666003364373059426358693699428364217045608144677401460615434183410370063879647690992266746277005750626477474140847920661218409034860349994316599265428328746995876626379848767713377334156444033384897258070402264684193785308483114706553793401734340161703364419828229365415171597872252898885421710202629968727391896597283357662344287487159395454015769551770669898197403067365879848119894468806072750306001497432550633081907176753890594670600137560749118552475354686559931806225211913517634866856596526672499582804337968730519961319228017005556083241686216017659640630389425792792652094643958072336819700776434048560416561253386463641033391882363697957344270500177195446050193026437027658364231975022558694084363869075676897560835771504340667176870299441410932774357804770599503579971333935379142368239075691481285045755823100612734539784490084641327751217545698506010686249455763761610473893031527953157343841832580034342361106936454212216961578199103732437668481903580576652001829547443119819177922151287181274113286111592258882894068298717682701829736276489351440981555076817494426409509790157242007017660766112500526900816531493850915101391462143842296269883439289318606569617544594640931409595984757419210761089098707578316412878889533623657871631098251463081005715454301535653509226653303225745242132637487305937434162213868432914049953664786129626083641427877906134750567592413414713080872143163925152101870413147921070646936358069739241635635607000020690212892574446791628788188252022801967462781015958128731376061790860544886735310805070849093587873217670491435232251419718674666059096245865949149289432175502330116938651677518769757813307010242083811988425075285988863863104289773858300048046683446276059470347801565045607 10136491695117443575494800500951608637399197975404016274616690700706420491347945497673901098482721050285387625158823918282498489865370739797158223828422716562618856177685038752774578001147743614489798056983747542664487126177307578327344642687526620211457873669878474203150796743444654992560107822929463064958834475198233729192063661963617650497663136696950407912291826523286317024568611889476735979240877365982220306983521716918718023861250799903890279685213190815455721845783326449208336478161606374854212972130258833942391857650731452632383528105050142100776867655381706942320171505508606913565022698957014543758414082683645018193049849540889802562782002148880180925555895939974710713982407189767546905770320733536363410267903838961422997848163498901701247659210610981531011899465628605451879196524492998748799118110733618849808562846041135305955078274862226194009949152353089160400818594764445179113056849884098203010359117519712749690432130342351787855786062941721523924418512954699315545042540645071168669934746146088959164840485778021920021990713765623461931226214440745583962362060887856060158048537088864744270847650066839189534824363724279729561673028200277448735961688336730248429029279329240832340858919996949036973036001058630805101521620581717606057850035224786627604407083976440295657062929781910636656261851713950482231938494011232254960435374989501804254078854050250910556148617470184710449431155494621525456945964072421689170255870426143525588928601540865667070560742179206832101714027120044435064468103493251838769343398229242905270203286737798656394898682054471666799786019466316139140913979647242740321163583322331143079732894685623190711657198096293054406340600440242649497837475129993463176920166369472530798672394361138910899486824146149169154600092454051336026336094911333372455572160221023103170213390555339388867079537708246935914117187940656566823828176590260572546310903207412526202040922317860704732163659263937924120614875263561313034269272834818078656838401241632723082468271867959660782058299379280180391744969988114962840764026772460968858271812760230710126566942491752121558763561078534280235078746258904803510379919674648641858401013891094767282250718957909546433649494679302823999010386668378130130551459166534457049362219773989488115385416263153105673693481250920306820741580677135369999187110205897422791106058107893683975761863480296827860917927375888958758990466271231291545441438178683871397294927354618285922232215605036922216170901949936318223907548656084722347205280073113501351679444824001465700593983575745498580161361317270400521789218059695793173923530680224608484415029813550384787388873527088611315438385249060023134523743105247198037059608528399905272464992117729872429490307158937559742013407632987952337340036969440516436358726855948339579125529230639737444943427422012840889226756777244816331370932041904035887249331505785618026294308927878719674622864777897999754714981360936271591679228934224259809378045106823884203350737827200170303356169875970271595275082976097358601359577290493721514396516595089911020515481141467451943092438304313926280790858073645978375717749620226021369778962475375227440457252693516432572998762274208477867716595487107478189518682998212871677775692612448549691881128588267568180708267478039149533865678246892695727375854263818007734888431032979426922912298338840818972748689427543970897052930404610582513546787791465263331169395245271288164527424613483959348225962605580854669223558774581141502502143581166221768964204971 16401188089381060257859981567491037848012110062409387492627129415186843720457270440090432588702251714812590337712706114918769023364414392845908099302194192959556673210012088173823386435977231358730168064826502476895267848850785820561642313188691543768167387034600411068949235144681138604713824694725792102469748521300775075569590014357229972804281720536421444498669368522463458552650289599551778941092117370665934531346678118366476677051170241688666658313951719350265604723741214855787588507329095087800099693109644541327648522313940032987304253980413668555034423892552680005557669538664445647292662947657722760969627335665330220286981485084557480015507174054487798915471683063851586947790456612451857872593741938496262132536910487060574818663747908132778197387712260534465512699523053271437541548188487749418123229124343635256575139678859108421297361104169040911668377236289404384453206533673748335385306944350238838483441249613571316749572045590717624206314636393171388375600525714194108924751029158009096517733550677034497251338629449087149407867494072702585478738592497042323580182509468233715732174498889066569247110021641098451211448562487268212028277221357083068117142748178648832352814100168045088833058961900050232083989158102785555157475610685970365482802619952122642270067404143352008110387985641060065113657828290919439975578431058069724991792693503756676328660631823467821676876465726204932656085521186859709126918986866564360745399154136297225986098826076501518411623509424189207206435307343718824084484064475024772858555094876972433473519283091105481749061032805124447174512759597069928063806513773156276445135486549979400959122611508683677541728778671588879392171892756409788858710411960093717412460405457183012755275530971199862501104653442867151054089793776717339390709154337692066155000524438068711314890792015954823050489907772126583605109454686933572574454654064401420466972121616447386552035238917126133060910655140564303969382588640895469478302657732076149059103085435418031565582978421753062516398461082644600219974335403286560713016925657882679060901781487622606723850300154096409045922956532550049786849416157102206577745799522768536327207086641400768779683269590991453610403385273973424136571135786930605485238019098340682261275737408856344711912088762735910011662211770881626048758586233218611685403127865538053180531850900545778619719935817116528637351975936305520012376929912264683427805136136028141897472122800668478948669243263401154191193460644020682092983225553645558118709620740290371651120855756775823505364583079325469914096740459638639597480699344741548997024143414764392974499671141301602333087379537774860771202146859533916166051696262591039869639642870761012208919204334691450628594039596606041645593984284989781884783156788618438587645908130061625690717788113533805743661110123842577165716108218226371408188426468313545677406573512803278792406809454779536206116715692999391216858823657206155030968547540793877353972686038233480188108157037961259402063748192383150484808706633968989699611040371499436968698052248599137673818706886709584580579744241748088494659290987695932040503879246309662797656868610125795032870667406597304716162687426310348280864516557754414547588422239848507284775713302661442266327920217055756432731069445501930549823806978268757518236399150553318539959280126567300140582789774073070392467364093603067142918879553900014689049117908403915008688165003084595174769508425472384423511951469443958958997417074629188185948419640636569570529250578 26537679784498503833354782068442646485411308037813403767243820115893264211805215937764333687184972765097977962871530033201267513229785132643066323130616909522175529387697126926597964437124974973219966121810250019559754975028093398888986955876218163979625260704478885272100031888125793597273932517655255167428582996499008804761653676320847623301944857233371852410961195045749775577218901489028514920332994736648154838330199835285194700912421041592556937999164910165721326569524541304995924985490701462654312665239903375270040379964671485619687782085463810655811291547934386947877841044173052560857685646614737304728041418348975238480031334625447282578289176203367979841027579003826297661772863802219404778364062672032625542804814326021997816511911407034479445046922871515996524598988681876889420744712980748166922347235077254106383702524900243727252439379031267105678326388642493544854025128438193514498363794234337041493800367133284066440004175933069412062100699334892912300019038668893424469793569803080265187668296823123456416179115227109069429858207838326047409964806937787907542544570356089775890223035977931313517957671707937640746272926211547941589950249557360516853104436515379080781843379497285921173917881896999269057025159161416360258997231267687971540652655176909269874474488119792303767450915422970701769919680004869922207516925069301979952228068493258480582739485873718732233025083196389643105516676681481234583864950938986049915655024562440751575027427617367185482184251603396039308149334463763259148952167968276611627898493106215338743722569828904138143959714859596113974298779063386067204720493420399016766299069872310544038855506194306868253385976767881933798512493196652438356547887090087180589380571826655543553947925332338773400591477589016320208689886230768675417045249249025438610572684659091814485104182571294211917569445480373519519226642627590139398282830654661993013283024823859912754076161234986837793074314404502228089997463904456782512571930566894227715941486677050754648051250289712723298456760461924780611719305391401523553780952430343647919173594247853316850417242645848530604686517611084330021928162416007010088125719197417178185608100532495536061933988548901000044052879953276248135581522455308735615789478264875139310637957182845832827297505025889015685355693021801932869500166910353981684590238071435475971637909008439462595481799297413356498269903312194478771367396183495974973246574314712013294767050155286764870901458868438076407364362593957000316890774209730280465914900813403873002800300580777289205958566655070968494258101776909040119269917404437342170947674094989001458914700954851987120476253064863472086640532108593939300575439367838237906699251399160917481384196452421323058084346755543601387607391917977734222123193758058955024004634986009965269843317344173543188604537545855418054942864995471187739559358510217581564655905018588896818701118382658255880739580470897390971573805018142426622647776475018137163350731145057364391458894865161429705419918068353422080083789610066348300970617661993158483094568843689048694334188028177036523672182546062014775450149061341910416221628866535684167435831085501022473327920100113737289161449700518826148581112044861892737107105238061378962551405915109991958209048805323324613439336923541080083689485225161453245612253414371326274847711159546727063495088112913889365216053521147038039971809958510597202595905699869178339857560248355883339296933038956343771737914075024813628220975849210329688450563221802791339493455549 42938867873879564091214763635933684333423418100222791259870949531080107932262486377854766275887224479910568300584236148120036536594199525488974422432811102481732202597709215100421350873102206331950134186636752496455022823878879219450629269064909707747792647739079296341049267032806932201987757212381047269898331517799783880331243690678077596106226577769793296909630563568213234129869191088580293861425112107314089369676877953651671377963591283281223596313116629515986931293265756160783513492819796550454412358349547916597688902278611518606992036065877479210845715440487066953435510582837498208150348594272460065697668754014305458767012819710004762593796350257855778756499262067677884609563320414671262650957804610528887675341724813082572635175659315167257642434635132050462037298511735148326962292901468497585045576359420889362958842203759352148549800483200308017346703624931897929307231662111941849883670738584575879977241616746855383189576221523787036268415335728064300675619564383087533394544598961089361705401847500157953667517744676196218837725701911028632888703399434830231122727079824323491622397534866997882765067693349036091957721488698816153618227470914443584970247184694027913134657479665331010006976843797049501141014317264201915416472841953658337023455275129031912144541892263144311877838901064030766883577508295789362183095356127371704944020761997015156911400117697186553909901548922594575761602197868340943710783937805550410661054178698737977561126253693868703893807761027585246514584641807482083233436232443301384486453587983187772217241852920009619893020747664720561148811538660455995268527007193555293211434556422289944997978117702990545795114755439470813190684385953062227215258299050180898001840977283838556309223456303538635901696131031883471262779680007486014807754403586717504765573209097160525799994974587249034968059353252500103124336097314523711972737484719063413480255146440307299306111400152112970853984969545066532059380052545352251990874588298970376775044572112468786213634228711465785814855221544569380831693640794688084266797878088226326980075375735475923574267542799944939650609474143634379808777578573109216665871518720185714512815187173896304841617258139892453654456265227249672272152658242239341101027497363215821571913694591702177539209593788624925697017904792683558918258753143572593369993365936973529152169759908985241215201735114529885135621879248499998783744326095760658401051710450740155192239172955955243819570702131839230598557823237977682409873999763375838584624521553694244653921156337553112711323149734396438408354842236547679716750616749178891167971817509753394433414372096153589453563632602638332857842678968127855466627135630429277776338894269921929690303400787112773686678386352149643033201376202967516106906350546677393611650543116071590960561105457707348932265647669697995220658973213697559147747784978531127242062478531392175611107927837437792086856296163896782188432628675348581653616324015812014517323417183290844579567051903122689107483666260736572564892496244035338000581658033492595451792621092288186368152894914886621104251926787810103270109440049037842456725508112845346965092699695626817506198587506711042005324137126829174429445628602616307284695527477909886247327119217771434224536969022379081046170406369043010633513292203430210763848652564924644814806991286114027204077877886986959757683417614750105182890689512410611891645023608273093348545725251440478514066441464428728195249865544468772587218392923839517874398982862439360910022706127 69476547658378067924569545704376330818834726138036195027114769646973372144067702315619099963072197245008546263455766181321304049823984658132040745563428012003907731985406342027019315310227181305170100308447002516014777798906972618339616224941127871727417908443558181613149298920932725799261689730036302437326914514298792685092897366998925219408171435003165149320591758613963009707088092577608808781758106843962244208007077788936866078876012324873780534312281539681708257862790297465779438478310498013108725023589451291867729282243283004226679818151341289866657006988421453901313351627010550769008034240887197370425710172363280697247044154335452045172085526461223758597526841071504182271336184216890667429321867282561513218146539139104570451687570722201737087481558003566458561897500417025216383037614449245751967923594498143469342544728659595875802239862231575123025030013574391474161256790550135364382034532818912921471041983880139449629580397456856448330516035062957212975638603051980957864338168764169626893070144323281410083696859903305288267583909749354680298668206372618138665271650180413267512620570844929196283025365056973732703994414910364095208177720471804101823351621209406993916500859162616931180894725694048770198039476425618275675470073221346308564107930305941182019016380382936615645289816487001468653497188300659284390612281196673684896248830490273637494139603570905286142926632118984218867118874549822178294648888744536460576709203261178729136153681311235889375992012630981285822733976271245342382388400411577996114352081089403110960964422748913758036980462524316675123110317723842062473247500613954309977733626294600489036833623897297414048500732207352746989196879149714665571806186140268078591221549110494099863171381635877409302287608620899791471469566238254690224799652835742943376145893756252340285099157158543246885628798732873622643562739942113851371020315373725406493538171264167212060187561387099808647059283949568760149377516449809034503446518865864604490986058789519540861685479001178509113311982006494161443412946186089607820578830518569974899248969983329240424684785445793470255295991754718709830705740989116226753997237917602892698423287706391840903551246688793453698509145180525920407734180697548076716816975628090960882551651774548010366507098814513941382373597814485491787758920053926575054583604008409005123807668917424703810683534411943241633891782560694477555111722279256633374298284765452168487006223111242008690472161000277307005922185831934682726764773973106119050539422367098117656721456918330401917281716389467406902612944013456719836020534153616233338919491604742395892329073051005576574039885667501804944483211076721794767202574998267515683038145669082847171687597239534096744762733107693244420808768120945250329029544304736348635655178102081556230404422801880892120870185215553413275601838209168746887307143488748708806718383549981072429809046220096047967595876634794173160006433693491008276264100490830151680674148328348208971025946768284118812903584329089994644976285854101686301552275695485753934887189935977235062487082943063657627924109333872118045559589110379752872947136979381031132528530781127839979526507606824779294485586827348000578026740647478200021802632715971265209878525132881426182746017827702405659609743292584090717202777428591664009460905979295971089654702445660754267572965999900849122899471135897143222862499470921209094240929308142271688403285499796361853363374503385071966987779619493586215439368773049847562849546084242152249516161676 112415415532257632015784309340310015152258144238258986286985719178053480076330188693473866238959421724919114564040002329441340586418184183621015167996239114485639934583115557127440666183329387637120234495083755012469800622785851837790245494006037579475210556182637477954198565953739658001249446942417349707225246032098576565424141057677002815514398012772958446230222322182176243836957283666189102643183218951276333577683955742588537456839603608155004130625398169197695189156056053626562951971130294563563137381938999208465418184521894522833671854217218769077502722428908520854748862209848048977158382835159657436123378926377586156014056974045456807765881876719079537354026103139182066880899504631561930080279671893090400893488263952187143086863230037368994729916193135616920599196012152173543345330515917743337013499953919032832301386932418948024352040345431883140371733638506289403468488452662077214265705271403488801448283600626994832819156618980643484598931370791021513651258167435068491258882767725258988598471991823439363751214604579501507105309611660383313187371605807448369787998730004736759135018105711927079048093058406009824661715903609180248826405191386247686793598805903434907051158338827947941187871569491098271339053793689820191091942915175004645587563205434973094163558272646080927523128717551032235537074696596448646573707637324045389840269592487288794405539721268091840052828181041578794628721072418163122005432826550086871237763381959916706697279935005104593269799773658566532337318618078727425615824632854879380600805669072590883178206275668923377930001210189037236271921856384298057741774507807509603189168182716890434034811741600287959843615487646823560179881265102776892787064485190448976593062526394332656172394837939416045203983739652783262734249246245740705032554056422460448141719102853412866085094131745792281853688151985373725767898837256637563343757800092788819973793317704474511366298961539212779501044253494635292208757568995161286494321107164834981266030630901988327075319707712644294928167203551063542275106586980777692087376708606796301879324345718805163998952328245738409905905465898353089639483319562225443419868756637788607211238474880288145745168504828685907352965410407775592679886838939787417817844472991306782454465346366250187905716692603138867079391502607169050706017673197499168424576969945382534275977428826409945025885269526473126769513661809194476338856048375017291775349995216192323679245396067197252510042863132116537604480009069912365136638773736481957635163943920792362310642613255883514628604866123863845310967786250004399552771150902795124506891309114495790325743445147159166027603518270140137802325890044849650233829710628696793459377039939004776861990998026646870431441119459842887454010144323912766435935894851413742247305721218153147190965528259588241053135832885251408496260811422866306035054928467279836048780862081373248040916974057533840054452172798690955348439062368839589929880424506642166197997565511639053550592998671406807920387250589826567209868782098137024302133933728978349386679811028265421430639977857950278732176036121682221315669029159417595329672645092226378097621230476754657485725095113535821299809723954177175007472369250094507306498160193881151457205644350652860407282986850081486705780149661627101350716069632021874773309558544220615904461693731774781471650843886887808880582888750647248405753188983331820985885952916415365036949010751236840367429815967813800162237645163962358802657761696889365437248528946681513159538867803 181891963190635699940353855044686345971092870376295181314100488825026852220397891009092966202031618969927660827495768510762644636242168841753055913559667126489547666568521899154459981493556568942290334803530757528484578421692824456129861718947165451202628464626195659567347864874672383800511136672453652144552160546397369250517038424675928034922569447776123595550814080796139253544045376243797911424941325795238577785691033531525403535715615933028784664937679708879403447018846351092342390449440792576671862405528450500333147466765177527060351672368560058944159729417329974756062213836858599746166417076046854806549089098740866853261101128380908852937967403180303295951552944210686249152235688848452597509601539175651914111634803091291713538550800759570731817397751139183379161093512569198759728368130366989088981423548417176301643931661078543900154280207663458263396763652080680877629745243212212578647739804222401722919325584507134282448737016437499932929447405853978726626896770487049449123220936489428615491542136146720773834911464482806795372893521409737993486039812180066508453270380185150026647638676556856275331118423462983557365710318519544344034582911858051788616950427112841900967659197990564872368766295185147041537093270115438466767412988396350954151671135740914276182574653029017543168418534038033704190571884897107930964319918520719074736518422977562431899679324838997126195754813160563013495839946967985300300081715294623331814472585221095435833433616316340482645791786289547818160052594349972767998213033266457376715157750161993994139170698417837135966981672713353911395032174108140120215022008421463913166901809011490923071645365497585373892116219854176307169078144252491558358870671330717055184284075504826756035566219575293454506271348273683054205718812483995395257353709258203391517864996609665206370193288904335528739316950718247348411461577198751414714778115466514226467331488968641723426486522926312588148103537444204052358135085444970320997767626030699585757016689691507867937005186713822804041479185557557703718519533166867299907955539125366276778573315702134404423637113691531880161201457653071799470189060551341670173865994555391499909661762586679986648719751517479361051474555588301513087621019637335494534661448619397743337016998140798198272223791417652808461765100421654542493776593251425743479160573953791539399785097743834648836568803938416368403405444369888953893967770654273925149648279981644492166251619178439261200515024132393844610402194901847047863403547709588076685703366287890479967364070174213916545886582513331252213580730263461119388791685056411357845810800719238186218072518198164742601643403937641942746809101121571445001032285626964309142415185608087624033678595266180967176203852567536131874818912444858016764965439156150090882960899320234703421369951061469133174006018100804821771862649632035052922362071956028544855499245631354320470726020277629888022048049433485128508445496062330598206144524997472317878671713839987262521618945439690926733290834918916561854845067952238710603686209424464103321567000964242656493127060801013936360100145455554339361228618269797348202619782071607409230149761257882497465251602720360600594295310781525175585499109897572707328300792909852416667084169483534286590029004677783892365389892954211192067918847060613538782770464523516586994116396177435535739223809886788658003482359886544391628615688454253030080126882224557636725352296251033202220793190471198872129225424783455945018097130469939213000098075030923665409055029479 294307378722893331956138164384996361123351014614554167601086208003080332296728079702566832440991040694846775391535770840203985222660353025374071081555906240975187601151637456281900647676885956579410569298614512540954379044478676293920107212953203030677839020808833137521546430828412041801760583614871001851777406578495945815941179482352930850436967460549082041781036402978315497381002659909987014068124544746514911363374989274113940992555219541183788795563077878077098636174902404718905342420571087140234999787467449708798565651287072049894023526585778828021662451846238495610811076046706648723324799911206512242672468025118453009275158102426365660703849279899382833305579047349868316033135193480014527589881211068742315005123067043478856625414030796939726547313944274800299760289524721372303073698646284732425994923502336209133945318593497491924506320553095341403768497290586970281098233695874289792913445075625890524367609185134129115267893635418143417528378776645000240278154937922117940382103704214687604090014127970160137586126069062308302478203133070121306673411417987514878241269110189886785782656782268783354379211481868993382027426222128724592860988103244299475410549233016276808018817536818512813556637864676245312876147063805258657859355903571355599739234341175887370346132925675098470691547251589065939727646581493556577538027555844764464576788015464851226305219046107088966248582994202141808124561019386148422305514541844710203052235967181012142530713551321445075915591559948114350497371212428700193614037666121336757315963419234584877317376974086760513896982882902391147666954030492438177956796516228973516356069991728381357106457107097873333735731707500999867348959409355268451145935156521166031777346601899159412207961057514709499710255087926466316939968058729736100289907765680663839659584099463078072455287420650127810593005102703621074179360414455388978058535915559303046441124806673116234792785484465525367649147790938839344566892654440131607492088733195534567023047320593496195012324894426467098969646389108621245993626120147644991995332247732162578657897661420939568422589441937270290067106923551424889109672380113567113593734751193180107120900237466968132393888256346165268404439965996077105767507858577122912352505921610704525791482344507048386177940484020791675541156603028823593199794266448924911903737543899174073675762526570244593862454073464889495172919106179083430232823819029291216924998275197836815845497015245636513710557887264510382214882203971759413000042321446070034320867310208682842278006683430097431174491448637195097524548516513465518941562835959206482352702109833733976543815963345323908629246922207782080549134991166421095234861996255661102601792225547092400895669593292827837607644972027379019328829056768770783200901334007563833130266620538387850612335479321057374227141850986056230268123461054901358957417000423308380904280107712727568511642994335163728076500222232176083856884558431170188136024949504114484076669279351626316072211944111097734653678085508743129064713850050375734905820143153442452708246811992508077923767038658964215092276181577236560676897647429214943532292427163833787327770991734637154950976697833896421894105034735702350592971479147667214634798953103733568124289813834187146997311991527865379071170042615838293418634916692635413556080023067737202898578089909210317210874653773676466884065248637191640034368877437584851066012835140973001762301307002270042588223006439012672291463069947418303820754892166828578437346603977605178568593897282 476199341913529031896492019429682707094443884990849348915186696828107184517125970711659798643022659664774436219031539350966629858902521867127126995115573367464735267720159355436360629170442525521700904102145270069438957466171500750049968931900368481880467485435028797088894295703084425602271720287324653996329567124893315066458217907028858885359536908325205637331850483774454750925048036153784925493065870541753489149066022805639344528270835474212573460500757586956502083193748755811247732870011879716906862192995900209131713118052249576954375198954338886965822181263568470366873289883565248469491216987253367049221557123859319862536259230807274513641816683079686129257131991560554565185370882328467125099482750244394229116757870134770570163964831556510458364711695413983678921383037290571062802066776651721514976347050753385435589250254576035824660600760758799667165260942667651158727978939086502371561184879848292247286934769641263397716630651855643350457826182498978966905051708409167389505324640704116219581556264116880911421037533545115097851096654479859300159451230167581386694539490375036812430295458825639629710329905331976939393136540648268936895571015102351264027499660129118708986476734809077685925404159861392354413240333920697124626768891967706553890905476916801646528707578704116013859965785627099643918218466390664508502347474365483539313306438442413658204898370946086092444337807362704821620400966354133722605596257139333534866708552402107578364147167637785558561383346237662168657423806778672961612250699387794134031121169396578871456547672504597649863964555615745059061986204600578298171818524650437429522971800739872280178102472595458707627847927355176174518037553607760009504805827851883086961630677403986168243527277090002954216526436200149371145686871213731495547261474938867231177449096072743278825480709554463339332322053421868422590821991654140392773314031025817272908456295641757958219272007391837955797251328383043396925027739885101928489856359226234152780064010285004062949330081140289903011125574666178949712145653314512291903287786857528855436470977123073972846226555628802170228308381204496688579861440664908783767600745748571607030562000053648119042608007863644629455914521584378618855128878214458406887167370230102269128499342647846584450164275438444484002921703450478135693570859700350655382898117852965613075547624314079242699022877403305863576324550548972384126791589683565142074646555179481308011748634424075774911072911396904226825284398873606460863445869155658111006570676496573322245370753604311347720378031150526349738129246776926638330354521015617840198512910552972162761888481543488651230890326145424023295944092287992540235894281882625411744207411155180024929348188559008804783848824594915151203647969213628799965866773163713924013227519858622554033705430382526507401147869086861052039986110686936411879779072379336925759779353344081888982369014612793616098548271665661212365330054493500786342169474501586801955340993191613578593830889550788661386968920427659690919558918002614445509506352577906556029813812956750734416894099459978151452376327032790900038126265699012291734912209235441196557920752992519652416228300554257022488400345517227526178470589045239921963099746013585984791373983317721433587340996205649271436559935570049485486553763753248952338850487591253789892694486086645852950098463660465124887547608523736031662984565891837881146139717365530638487653603253303244809016196910211544420688494730874248838852022636767791437444679008528843977648926761 770506720636422363852630183814679068217794899605403516516272904831187516813854050414226631084013700359621211610567310191170615081562874892501198076671479608439922868871796811718261276847328482101111473400759782610393336510650177043970076144853571512558306506243861934610440726531496467404032303902195655848106973703389260882399397389381789735796504368874287679112886886752770248306050696063771939561190415288268400512441012079753285520826055015396362256063835465033600719368651160530153075290582966857141861980463349917930278769339321626848398725540117714987484633109806965977684365930271897192816016898459879291894025148977772871811417333233640174345665962979068962562711038910422881218506075808481652689363961313136544121880937178249426789378862353450184912025639688783978681672562011943365875765422936453940971270553089594569534568848073527749166921313854141070933758233254621439826212634960792164474629955474182771654543954775392512984524287273786767986204959143979207183206646331285329887428344918803823671570392087041049007163602607423400329299787549980606832862648155096264935808600564923598212952241094422984089541387200970321420562762776993529756559118346650739438048893145395517005294271627590499482042024537637667289387397725955782486124795539062153630139818092689016874840504379214484551513037216165583645865047884221086040375030210248003890094453907264884510117417053175058692920801564846629744961985740282144911110798984043737918944519583119720894860718959230634476974906185776519154795019207373155226288365509130891347084588631163748773924646591358163760947438518136206728940235093016476128615040879410945879041792468253637284559579693332041363579634856176041866996962963028460650740984373049118738977279303145580451488334604712453926781524126615688085654929943467595837169240619531070837033195535821351280768130204591149925327156125489496770182406109529370831849946585120319349581102314874193012057491857363323446399119321882741491920394325233535981945092421768719803111330878500257961654975566757001980771963774800195705771773462157283898620034589691434094368638544013541268815997566072460295415304755921577689533820778475897361335496941751714151462237520616251436496264209809897860354487580455724622636736791581319239673291840806794919981687154894970628104759459236159544078306479301728893365126149275567286635661752139686751310150884323836561476950868195358749243656728055814359615408712856358999644830377318123857245649669712288621630798661414609040166602845365873863488190601728145327437986705256164523377437034408778894869479787721447262677763290392157271917356974824322551215020386706139305704444888812559860137248353206103845079083454413635470756278138286514345999636702272425825017781851836642391493796622294170532477025982399583166768107171277757143494140397010404646040909703583881628289720072917282308109571741837770837196072802645306664059461056809457494012008947957344175048493897837296222214612924670974478194424005701286032010272543239894666042833661886396040647005936402819984272768052990180415326495731349008738060624949258812340661138118942366544652508610027460715023913128227235267204636399274983885691744727156807367204998388153444382505380252929876771442068192907136597898699117319552915663797151908580584652987733514650507729978185887778905188680445884365894930510658990992791272575995856170160973117434141591771612857160927671697353443329422732212152552506503640249954910255573287397239203349224216712151564678292552659606914803596369874791282986134022546242824043 1246706062549951395749122203244361775312238784596252865431459601659294701330980021125886429727036360024395647829598849542137244940465396759628325071787052975904658136591956167154621906017771007622812377502905052679832293976821677794020045076753939994438773991678890731699335022234580893006304024189520309844436540828282575948857615296410648621156041277199493316444737370527224999231098732217556865054256285830021889661507034885392630049096890489608935716564593051990102802562399916341400808160594846574048724173459250127061991887391571203802773924494456601953306814373375436344557655813837145662307233885713246341115582272837092734347676564040914687987482646058755091819843030470977446403876958136948777788846711557530773238638807313019996953343693909960643276737335102767657603055599302514428677832199588175455947617603842980005123819102649563573827522074612940738099019175922272598554191574047294536035814835322475018941478724416655910701154939129430118444031141642958174088258354740452719392752985622920043253126656203921960428201136152538498180396442029839906992313878322677651630348090939960410643247699920062613799871292532947260813699303425262466652130133449002003465548553274514225991771006436668185407446184399030021702627731646652907112893687506768707521045295009490663403548083083330498411478822843265227564083514274885594542722504575731543203400892349678542715015787999261151137258608927551451365362952094415867516707056123377272785653071985227299259007886597016193038358252423438687812218825986046116838539064896925025378205758027742620230472319095955813624911994133881265790926439693594774300433565529848375402013593208125917462662052288790748991427562211352216385034516570788470155546812224932205700607956707131748695015611694715408143307960326765059231341801157199091384430715558398302014482291608564630106248839759054489257649209547357919361004397763669763605163977610937592258037397956632151231329499249201279243650447704926138416948134210335464471801451648002872583175341163504320910985056707046904991897538440979145417917426776669575801907821447220289530839615667087514115042553194874630523723685960418266269395261443384681128936242690323321182024237574264370479104272073454527316269009164834343477765615006039726126840662070909064048481029802741555078269034897680643547000009929779864586935985849626222669533779605105299826857775198403079260499828271501222325568207277028198486406998396421501074291385556799431868994284093788063532703710058318835865451001718972334726934059757386256334008663201829486768748190638720126615247510938247797000807010067318795602271877990442162749727930939678302067592926432301211091027574498630127141023175742406175706650560020911926090207047857452450754365970410845447175342621217209321736124995196028383132634880334991681156721660255632958679746340086110389029437589159778334348095682428774182716975145181982232423838814400891346476381023560750960273596765563498508587544667418171760820363898507288087987351265734853473259873723212675057427615926364062510903831686055604625924832848309255564767874437906009546757555237578920517997028835642818360753150178827239527002116845634716180443612497719676459783433298942410466870905725770157402949912657238147058560998445130905537707037780469630014171993983939163921944289913755937264391742444199133318233780998250244782683967062082502023111071581094606716659160465684663703360338009221260613358292269872034278737608513508876532206255400259435761132840059409166801498458937440364161312235961994662866523891750804 2017212783186373759601752387059040843530033684201656381947732506490482218144834071540113060811050060384016859440166159733307860022028271652129523148458532584344581005463752978872883182865099489723923850903664835290225630487471854837990121221607511506997080497922752666309775748766077360410336328091715965692543514531671836831257012685792438356952545646073780995557624257279995247537149428281328804615446701118290290173948046965145915569922945505005297972628428517023703521931051076871553883451177813431190586153922600044992270656730892830651172650034574316940791447483182402322242021744109042855123250784173125633009607421814865606159093897274554862333148609037824054382554069381400327622383033945430430478210672870667317360519744491269423742722556263410828188762974791551636284728161314457794553597622524629396918888156932574574658387950723091322994443388467081809032777409176894038380404209008086700510444790796657790596022679192048423685679226403216886430236100786937381271465001071738049280181330541723866924697048290963009435364738759961898509696229579820513825176526477773916566156691504884008856199941014485597889412679733917582234262066202255996408689251795652742903597446419909742997065278064258684889488208936667688992015129372608689599018483045830861151185113102179680278388587462544982962991860059430811209948562159106680583097534785979547093495346256943427225133205052436209830179410492398081110324937834698012427817855107421010704597591568347020153868605556246827515333158609215206967013845193419272064827430406055916725290346658906369004396965687313977385859432652017472519866674786611250429048606409259321281055385676379554747221631982122790355007197067528258252031479533816930806287796597981324439585236010277329146503946299427862070089484453380747316996731100666687221599956177929372851515487144385981387016969963645639182976365672847416131186803873199134437013924196057911607618500271506344243386991106564602690049567026808879908868528535569000453746544069771592386286672042004578872640032273803906972669502215779341123689200238826859700527856036911723625208254211101055383858550760947090819138990716339843958929082221860578490271739632075035333486475094880621915600536283264425176623496745290068100402351797621045366513953911715858968462716957636525706373794356916803091078316409081593480301111998901789956169441357244986578167926082726915821976779139696581074811864005084012846022407109277860073936215934117555726239933763500352154334508719733444905617604564338208590422250359114401661446649907085651292125627673128905510116990725969244263484773357710952874189234965266485300942951326384441373297371321113770951164822851836230986102259196819811177406838159198440436206684559724876579383752262682089566836417839503492268602021178427966299402987506269438300215800652643363325787249789694270657727309232695616656205254170611953554171217984627539087898275457700803970393032508708304448645259461335804809759280342842735298558322512989374019361538278093367925916556874561453468262932300465330888104454108594806340159344040604573505935062855268359098216375697862884541681344252845821468174091955466762269321482033991164329304242446833267150638297330563911253411106023087279721354725431054195158897144248225090622701577621538594756646971672678572452019891941825043296931124645017684128711508909235775475239638078358193272044698528748308430773322845591375057691452550683345570444822378537918987563423764449819603494603608659977844991624087459354158065852243960531187027244980796889070134574847 3263918845736325155350874590303402618842272468797909247379192108149776919475814092665999490538086420408412507269765009275445104962493668411757848220245585560249239142055709146027505088882870497346736228406569887970057924464293532632010166298361451501435854489601643398009110771000658253416640352281236275536980055359954412780114627982203086978108586923273274312002361627807220246768248160498885669669702986948312179835455081850538545619019835994614233689193021569013806324493450993212954691611772660005239310327381850172054262544122464034453946574529030918894098261856557838666799677557946188517430484669886371974125189694651958340506770461315469550320631255096579146202397099852377774026259992082379208267057384428198090599158551804289420696066250173371471465500309894319293887783760616972223231429822112804852866505760775554579782207053372654896821965463080022547131796585099166636934595783055381236546259626119132809537501403608704334386834165532647004874267242429895555359723355812190768672934316164643910177823704494884969863565874912500396690092671609660420817490404800451568196504782444844419499447640934548211689283972266864843047961369627518463060819385244654746369145999694423968988836284500926870296934393335697710694642861019261596711912170552599568672230408111670343681936670545875481374470682902696038774032076433992275125820039361711090296896238606621969940148993051697360967438019419949532475687889929113879944524911230798283490250663553574319412876492153263020553691411032653894779232671179465388903366495302980942103496104686648989234869284783269791010771426785898738310793114480206024729482171939107696683068978884505472209883684270913539346434759278880474637065996104605400961834608822913530140193192717409077841519557994143270213397444780145806548338532257865778606030671736327674865997778752950611493265809722700128440625575220205335492191201636868898042177901806995503865655898228138495474716490355765881933700014731735018325816662745904464925547995717774464969462013205508899783625088980850811964567040656758486541606627015496435502435677484132013156047869878188569498901103955821721342862676676758110228324343665245259619207982322398356515510712669144992394704808356718952492892505910124411578167966803660771493354615982624923016943746760378080784642829254597446638078326338861458067237097848528012625703220962350286405025701281129995082476607411197803400380071282112211332429405505699361148227601490916987595234217857288415687038218778052280771068606283310543317356310116500657995455313108915138060873818311849032125364501664217041264291783425029748476461112955708648050670882266062743440890297753414982042192397350466358127125434939225986884057398180110366526413732417177327333749722673527536742179039056712814004727016374456349432037867841261119456937460908276322005533589875804659687164898392473951004300936599386136271146363166609771511737089858592150446774056069459264722242025024834313397303947761014496118922221020277462006712804012946841185790280087236510895878858664527841791936140164199432264992192349860138273809500761277905855771613276783402538710179895664182221324270782706289271438327668707344772916740166509726934071596272974378124316831793244682671267382669201253719895589379130628329739358091168608928640955611842494396309805697762307688673568844151002362492507159480558159206700160860216383116279623355025089933788530255078418029461771943958928737092250572197725171937273326351809750003868095738977831683496626155656524789684324692499263206975459755594026325651 5281131628922698914952626977362443462372306152999565629326924614640259137620648164206112551349136480792429366709931169008752964984521940063887371368704118144593820147519462124900388271747969987070660079310234723260283554951765387470000287519968963008432934987524396064318886519766735613826976680372952241229523569891626249611371640667995525335061132569347055307559985885087215494305397588780214474285149688066602470009403128815684461188942781499619531661821450086037509846424502070084508575062950473436429896481304450217046533200853356865105119224563605235834889709339740240989041699302055231372553735454059497607134797116466823946665864358590024412653779864134403200584951169233778101648643026027809638745268057298865407959678296295558844438788806436782299654263284685870930172511921931430017785027444637434249785393917708129154440595004095746219816408851547104356164573994276060675314999992063467937056704416915790600133524082800752758072513391935863891304503343216832936631188356883928817953115646706367777102520752785847979298930613672462295199788901189480934642666931278225484762661473949728428355647581949033809578696652000782425282223435829774459469508637040307489272743446114333711985901562565185555186422602272365399686657990391870286310930653598430429823415521213850023960325258008420464337462542962126849983980638593098955708917574147690637390391584863565397165282198104133570797617429912347613586012827763811892372342766338219294194848255121921339566745097709509848069024569641869101746246516372884660968193925709036858828786451345555358239266250470583768396630859437916210830659789266817275158530778348367017964124364560885026957105316253036329701441956346408732889097475638422331768122405420894854579778428727686406988023504293571132283486929233526553865335263358532465827630627914257047717513265897336592880282779686345767623601940893052751623378005510068032479191826003053415473274398499644839718103481462330484623749581758543898234685191281473465379294539787546057355748685247513478656265121254654718937236542872537827665295827254323295202963533521043736781256124089289624882759654716768812162001667393097954187253425887105838109479721954473391848997187764025614310305344639983377669516002655414479678570318601281816859868569894340781985406463718014606491016623611514249729156642747943051547538209847429802581872662319595272983193627363856910904453386550894384475191935287196224178451812614977221222163817425034543321474151620788767841372727497785725676686210847648751907778560475615059656901963016000789352999445984977937635481492390186285527776556782740701350650347920975133351613833592447184814187669074528752993357220202302589113227694136045798061464236339308806962620416976902203913133474936209626309015456896216306273329037552884315731440855347530557757153261560919685331320839665498930344892207625169567660506190769998089825317581151237310599635365316292954417167088578167569170887284486170118207063228103857231417480543533266836026074342291040209111706836961797964364141790964993172680040594272794238605151536390464711779744563616546264953987988974646287080391524148510003689498362738173051540759809702698509102220982613342994084709893603538289377727937816331962392622108100255448878792733627355718952440935712707203685287927284521066848329697639587350985604693489168686491204016068716333634446338239218409655160978152103333520707111375846453475720914322627304499181914629110116712735361037776171413244607476755716822823307584085509814590641928285223686290451956256644664160900498 8545050474659024070303501567665846081214578621797474876706116722790036057096462256872112041887222901200841873979696178284198069947015608475645219588949703704843059289575171270927893360630840484417396307716804611230341479416058920102010453818330414509868789477126039462327997290767393867243617032654188516766503625251580662391486268650198612313169719492620329619562347512894435741073645749279100143954852675014914649844858210666223006807962617494233765351014471655051316170917953063297463266674723133441669206808686300389100795744975820899559065799092636154728987971196298079655841376860001419889984220123945869581259986811118782287172634819905493962974411119230982346787348269086155875674903018110188847012325441727063498558836848099848265134855056610153771119763594580190224060295682548402241016457266750239102651899678483683734222802057468401116638374314627126903296370579375227312249595775118849173602964043034923409671025486409457092459347557468510896178770585646728491990911712696119586626049962871011687280344457280732949162496488584962691889881572799141355460157336078677052959166256394572847855095222883582021267980624267647268330184805457292922530328022284962235641889445808757680974737847066112425483356995608063110381300851411131883022842824151029998495645929325520367642261928554295945711933225864822888758012715027091230834737613509401727687287823470187367105431191155830931765055449332297146061700717692925772316867677569017577685098918675495658979621589862772868622715980674522996525479187552350049871560421012017800932282556032204347474135535253853559407402286223814949141452903747023299888012950287474714647193343445390499166989000523949869047876715625289207526163471743027732729957014243808384719971621445095484829543062287714402496884374013672360413673795616398244433661299650584722583511044650287204373548589409045896064227516113258087115569207146936930521369727810048919338930296727783335192819971818096366557449596490278916560501854027377930304842535505320522325210698453022378439890210235505530901803583529296314206902454269819730705399211005175749937303993967478194381660758672590533504864344069856064415577769552351097728687704276871748364507900433170606705010152996702330162408508565538891256738285404942588353223185876965705002350210478392687275659452866111696367234969086804509614775307695957815207575883281945559388219328644986905986929993962092187875572006569308435510881218120676582370391418915951530916708369478077183528410946275838006447754817130959295225134870592115717652357276124915927413873264296826969760845994054403326792068340207770449827111460876683781402284715858509928255077966827943735035549617552768947240353129075271784945521634519419173489034149394079531246883197609737163051194495952929120278056053927340665163478723188791677214090722469196007336854429541303590032057106017643518664807127369384226096463944317847082111372455174885104863941144647626833893129309511004431604367175864871727536402764553544298032787146303987050297497117049034475260020649629521014471976734436993670870143728740324850053554064377824170809759602251429689619101704044174185910822633520879340812198137371405853875137722779852721018781489876512667502044769609576645063889490769456702598688323006486347282180293803875812613928882896363561244639503337349658674278262333319688853696523228196891793653038400078626038277257775458358610640899906101531893750376094571263427919006879682314437907298311102523222994611344851455800654991080711665471115431612609916185553658931716400258187226149 13826182103581722985256128545028289543586884774797040506033041337430295194717110421078224593236359381993271240689627347292951034931537548539532590957653821849436879437094633395828281632378810471488056387027039334490625034367824307572010741338299377518301724464650435526646883810534129481070593713027140757996027195143206912002857909318194137648230852061967384927122333397981651235379043338059314618240002363081517119854261339481907467996905398993853297012835921741088826017342455133381971841737673606878099103289990750606147328945829177764664185023656241390563877680536038320644883076162056651262537955578005367188394783927585606233838499178495518375628190983365385547372299438319933977323546044137998485757593499025928906518515144395407109573643863046936070774026879266061154232807604479832258801484711387673352437293596191812888663397061564147336454783166174231259460944573651287987564595767182317110659668459950714009804549569210209850531860949404374787483273928863561428622100069580048404579165609577379464382865210066580928461427102257424987089670473988622290102824267356902537721827730344301276210742804832615830846677276268429693612408241287067381999836659325269724914632891923091392960639409631297980669779597880428510067958841803002169333773477749460428319061450539370391602587186562716410049395768826949738741993353620190186543655187657092365077679408333752764270713389259964502562672879244644759647713545456737664689210443907236871879947173797416998546366687572282716691740550316392098271725703925234710839754346721054659761069007377759705713401785724437327804033145661731159972112693013840575046543728635841732611317708006275526124094316776986198749318671971697940415260947381450064498079419664703239299750050172781891817566566581285534780371303247198914279009058974930710261291927564841770301024310547623797253831369095391663687829457006310838738947212657004963000561553813102334812204695227428174910923453280426851181199178248822814795187045308851395684137075292866579680959383700535857096155331490160249839040126401834141872198281524143025908362744526219486718560118056767819264420413389359345666866011462954018602831195439456935838167426231345140213505088197196221015315497636685707831924511220953370935308604006224405213091755771306486987756674196407293766676076477625946096391611834747561162313517543387617789448545601540832371412956008843816891383380512986572350763941856504659689333030735653803592555236340986074238182521098865951369783673773623732124441027978608047132913431067730777309259239140916716766872710281804907396327486444589612319844896990511151177761808797658914753898549450957113069265635902472488028906837755071536353580823211317583006985870858727980451654566370981735160016672545946789360209952849145426551385091480224980894919578536322234971243984030115692668175269206802520376949313642813086325313318139382315921781525469084392711007820491178059281108233225794403064016593997174549811430403968728958953883308086811134058861488595027259409203954010832439624162440594514187152017328709787909475295265130789561833298627994370435763747591226075976699493228192684189600320996259052392352957947074104362977358705393195715103491383480050956879772707425908607456511598869712151477481056633842066234621229516583016299216810180884628092969200976937009659882955822488375344900539296913225428099376639297035693438235927561692131348011281947985369471290417198567927100921508792431150642659348878694636239218821607172623478298664797175285706073540895139871844110887973044922348126647 22371232578240747055559630112694135624801463396594515382739158060220331251813572677950336635123582283194113114669323525577149104878553157015177810546603525554279938726669804666756174993009650955905452694743843945720966513783883227674021195156629792028170513941776474988974881101301523348314210745681329274762530820394787574394344177968392749961400571554587714546684680910876086976452689087338414762194855038096431769699119550148130474804868016488087062363850393396140142188260408196679435108412396740319768310098677050995248124690804998664223250822748877545292865651732336400300724453022058071152522175701951236769654770738704388521011133998401012338602602102596367894159647707406089852998449062248187332769918940752992405077351992495255374708498919657089841893790473846251378293103287028234499817941978137912455089193274675496622886199119032548453093157480801358162757315153026515299814191542301166284262632502985637419475575055619666942991208506872885683662044514510289920613011782276167991205215572448391151663209667347313877623923590842387678979552046787763645562981603435579590680993986738874124065838027716197852114657900536076961942593046744360304530164681610231960556522337731849073935377256697410406153136593488491620449259693214134052356616301900490426814707379864890759244849115117012355761328994691772627500006068647281417378392801166494092764967231803940131376144580415795434327728328576941905709414263149663437006078121476254449565046092472912657525988277435055585314456530990915094797204891477584760711314767733072460693351563409964053187537320978290887211435431885546109113565596760863874934556678923316447258511051451666025291083317300936067797195387596987147941424419124477797228036433908511624019721671617877376647109628868999937277255677260871274692682854591328954694953227215426492884535355197911001627379958504437559752056973119568925854516419803941893521931281623151254151134991955211510103743425098523217738648774739101731355688899336229325988979610798187102006170082153558235536045541725665780740843709931130456079100735793962756613761955531395236655864112024246013646081172061949879171730355532810083018408964991808033566855130508216888578012988630366827720325650633388037994333019786492262192046889411166993566314941648272191990106884674799981042335529343737642463626580921552070777088825239345432997024428883486391759632284653830722878313374475078760226335948425813095200214248856330385962946655256937605154890890576943134898194620049461738572195845109567342358048301659846494961616515265832644180745974578631877157173480498992939111913237198281601004873269674342696156183265309467041324343602730416223064456455307840483593933952286589367952507505378147153940688715765061266406899870155683952411404448802074546829441145407565646058398301725113912185334706499311700005029698748106110409006419660456604990120445508766542018245469786931474822380275666063164145049377873421236957145903508178981415797579833600686490286072640355432091648634899014309706701071059866914884183090224035201623994063146781580345438993871114411886852692372194606573507193477505666318594932236858375511143629779931733165156084445510216852496428173048436122272873356563624381817477035485252520401089639168854076169379640328413516801523320458828913145693077248189337608704314286668334161218155808064198597062525110117221752415039375661731715493703020050741988911188049517263221666511769831355019928388474745588549957659981217859233830166458628424133289745508840756821505153505056057397769819689445180535352796 36197414681822470040815758657722425168388348171391555888772199397650626446530683099028561228359941665187384355358950872870100139810090705554710401504257347403716818163764438062584456625388461427393509081770883280211591548151707535246031936494929169546472238406426910515621764911835652829384804458708470032758558015537994486397202087286586887609631423616555099473807014308857738211831732425397729380434857401177948889553380889630037942801773415481940359376686315137228968205602863330061406950150070347197867413388667801601395453636634176428887435846405118935856743332268374720945607529184114722415060131279956603958049554666289994754849633176896530714230793085961753441531947145726023830321995106386185818527512439778921311595867136890662484282142782704025912667817353112312532525910891508066758619426689525585807526486870867309511549596180596695789547940646975589422218259726677803287378787309483483394922300962936351429280124624829876793523069456277260471145318443373851349235111851856216395784381182025770616046074877413894806085350693099812666069222520776385935665805870792482128402821717083175400276580832548813682961335176804506655555001288031427686530001340935501685471155229654940466896016666328708386822916191368920130517218535017136221690389779649950855133768830404261150847436301679728765810724763518722366241999422267471603922047988823586457842646640137692895646857969675759936890401207821586665357127808606401101695288565383491321444993266270329656072354965007338302006197081307307193068930595402819471551069114454127120454420570787723758900939106702728215015468577547277269085678289774704449981100407559158179869828759457941551415177634077922266546514059568685088356685366505927861726115853573214863319471721790659268464676195450285472057626980508070188971691913566259664956245154780268263185559665745534798881211327599829223439886430125879764593463632460946856522492835436253588963339687182639685014666878378950068919847952987924546150875944645080721673116686091053681687129465854094092632200873215826030579883836332964597951299017318105782522124700057614723374424230081013832910501585451309224838596366995764101621240160431264969405022556739562028791518076827563048735641148270073745826257531007445633127355493417391398779406697419578678977863558871207274809011605821363588560018192756299631939402342782733050786472974485027224131045240662674539769696754988065332577099890282317754889547279591984189555501891597923679393073411675809086267978293823085470696636873088175389490961732727577272270875754406749360947618684860436784553500966943582551431758134188792752182635078472001610910081814760424154393609238632888711093363293062912019947514775497906950959493376236875134392343282136043001566916542701630741771614401651219973380826236887790626953317880261436147156578690529427392673204967954908630785955733303269691315433763648148857940026995256015867533388096157241223426157611099215640021162497505353531227227983802329645444169380727166566150510123494041569115905025070699354508345530818549388776011391856569489820734259001903973720151320366565042337254784703581643018088160429542565111464626038984125518114031519614579829855133566244151225764256836614581261590184461393859976912688508881005553650436274170479751422752837041845212362503258132817430577905291223677994044173978296439543497601822023342649851791678672697425153729630581742873336922469997502632692956928968399282120849897267176739192617008859912495473048988065801047611588410306016042527578694400195929241880707662490102883479443 58568647260063217096375388770416560793189811567986071271511357457870957698344255776978897863483523948381497470028274398447249244688643862569888212050860872957996756890434242729340631618398112383298961776514727225932558061935590762920053131651558961574642752348203385504596646013137176177699015204389799307521088835932782060791546265254979637571031995171142814020491695219733825188284421512736144142629712439274380659252500439778168417606641431970027421740536708533369110393863271526740842058562467087517635723487344852596643578327439175093110686669153996481149608984000711121246331982206172793567582306981907840727704325404994383275860767175297543052833395188558121335691594853132113683320444168634373151297431380531913716673219129385917858990641702361115754561607826958563910819014178536301258437368667663498262615680145542806134435795299629244242641098127776947584975574879704318587192978851784649679184933465921988848755699680449543736514277963150146154807362957884141269848123634132384386989596754474161767709284544761208683709274283942200345048774567564149581228787474228061719083815703822049524342418860265011535075993077340583617497594334775787991060166022545733646027677567386789540831393923026118792976052784857411750966478228231270274047006081550441281948476210269151910092285416796741121572053758210494993742005490914753021300440789990080550607613871941633027023002550091555371218129536398528571066542071756064538701366686859745771010039358743242313598343242442393887320653612298222287866135486880404232262383882187199581147772134197687812088476427681019102226904009432823378199243886535568324915657086482474627128339810909607576706260951378858334343709447165672236298109785630405658954152287481726487339193393408536645111785824319285409334882657768941463664374768157588619651198381995694756070095020943445800508591286104266783191943403245448690447980052264888750044424117059404843114474679137851195118410303477473286658496727727026277506564843981310047662096296889240783693299548007652328168246414941491811320727546264095054030399753112068539135886655589009960030288342105259846556582757513259104010326722528574184639649125423073002971877687247778917369531065457929876455966798903461783820590550793937895319402382828558392345721639067850870967970443546007255851347135165101231023644773677851702716491168022078483783497403368513615890677525316505262648010129463144092803435838708130850089761528448314575518448546854861284547964302252752221166172913872547209268832718197742731849010034387423767232492269672582005128364659439068661710674447442575490543671371387074353187508348146344307066265080069891195717952841363304934157819748370752503541448727784496318912000881615022288333031997901104267973816412857314694183018850453294520210267382295356273011716181986550059341913397028739092678234666703014741194962152963726296305554209156915399958272465042947342355768371823304387571206988972636876978308401013532512643025563635930331934455453367521998242158758393055878822606096130566269392528621042584590400005455003351070166173252873018385607004012738759648910761978181087309336683092666400940622608255818915858683270115965124796682351561739292587348037130193178205643407661496879112497313778148049859629819815914498893268224276157500674125508196335381006768186609605510346328205392134104503742094664347133459871604206718048359156869223333601793615325833658047019895914623440738230637140778285741922327742574668841130354706879154524429471744878155814856799349083847905251986639650527351935283418832239 94766061941885687137191147428138985961578159739377627160283556855521584144874938876007459091843465613568881825387225271317349384498734568124598613555118220361713575054198680791925088243786573810692470858285610506144149610087298298166085068146488131121114990754630296020218410924972829007083819663098269340279646851470776547188748352541566525180663418787697913494298709528591563400116153938133873523064569840452329548805881329408206360408414847451967781117223023670598078599466134856802249008712537434715503136876012654198039031964073351521998122515559115417006352316269085842191939511390287515982642438261864444685753880071284378030710400352194073767064188274519874777223541998858137513642439275020558969824943820310835028269086266276580343272784485065141667229425180070876443344925070044368017056795357189084070142167016410115645985391480225940032189038774752537007193834606382121874571766161268133074107234428858340278035824305279420530037347419427406625952681401257992619083235485988600782773977936499932383755359422175103489794624977042013011117997088340535516894593345020543847486637420905224924618999692813825218037328254145090273052595622807215677590167363481235331498832797041730007727410589354827179798968976226331881483696763248406495737395861200392137082245040673413060939721718476469887382778521729217359984004913182224625222488778813667008450260512079325922669860519767315308108530744220115236423669880362465640396655252243237092455032625013571969670698207449732189326850693605529480935066082283223703813452996641326701602192704985411570989415534383747317242372586980100647284922176310272774896757494041632806998168570367549128121438585456780600890223506734357324654795152136333520680268141054941350658665115199195913576462019769570881392509638277011652636066681723848284607443536775963019255654686688980599389802613704096006631829833371328455041443684725835606566916952495658432077814366320490880133077181856423355578344680714950823657440788626390769335212982980294465380429013861746420800447288157317841900611382597059651981698770430174321658011355646624683404712572186273679467084342964568328848923089524338286260889285854337972376900243987340946161049142285492925191607947173535529646848081801383528446757876245949791125128336487429549945834002417214530660358740986464819583662966434151334655893510804811534569970377853540840021722765979179802417706884451209425380535728990448604979308808040298765073950438452784963941037713928561307434151207695632679965469591285918121339971767115001039503368024079331366075983344299505446264175414386158041975429505575867105370143426618345917976346894830315350111562079996193645251183041433664523488963503282403269871494257851897422725375280037147269540732955558945435954633252104514493591093619183146899965034062247986206498492087558166485351439634657923371980917886266995987620987972805064257898299460298963209889156467980545610997364600071852516999470898518886043870253547438259977378624834094688564392668881887097447938511121201265623900874151861133979176016846859920559986907511874922359327155333105324691248016762884668952354771253095943505734072881857899984201384147484739376512206695305536738573801387029792786904997845958272972474226466656930865183470252188669373019647028994542519337870699593513824198764514896734024322249566112400943285592266169156802521455998396721056582022952964183536488662756128044522528607580369706629919261628183009099066935191677701042850179928142590230519356466566120872841876662542305447915881531235014425386302311682 153334709201948904233566536198555546754767971307363698431794914313392541843219194652986356955326989561950379295415499669764598629187378430694486825605979093319710331944632923521265719862184686193991432634800337732076707672022889061086138199798047092695757743102833681524815056938110005184782834867488068647800735687403558607980294617796546162751695413958840727514790404748325388588400575450870017665694282279726710208058381769186374778015056279421995202857759732203967188993329406383543091067275004522233138860363357506794682610291512526615108809184713111898155961300269796963438271493596460309550224745243772285413458205476278761306571167527491616819897583463077996112915136851990251196962883443654932121122375200842748744942305395662498202263426187426257421791033007029440354163939248580669275494164024852582332757847161952921780421186779855184274830136902529484592169409486086440461764745013052782753292167894780329126791523985728964266551625382577552780760044359142133888931359120120985169763574690974094151464643966936312173503899260984213356166771655904685098123380819248605566570453124727274448961418553078836753113321331485673890550189957583003668650333386026968977526510364428519548558804512380945972775021761083743632450174991479676769784401942750833419030721250942564971032007135273211008954832279939712353726010404096977646522929568803747559057874384020958949692863069858870679326660280618643807490211952118530179098021939102982863465071983756814283269041449892126076647504305903751768801201569163627936075836878828526282749964839183099383077891962064766419469276596412924025484166062845841099812414580524107434126508381277156704827699536835638935233932953900029560952904937766739179634420428536667837997858508607732558688247844088856290727392296045953116300441449881436904258641918771657775325749707632426399898393899808362789823773236616777145489423736990724356611341069555063275192289045458342075251487485333896642236841408441977101164005632607700816997309279869535249073728561869398748968693703098809653221338928861154706012098523542242860793898011235634643435000914291533526023667100477827432859249812052912470900538411277410975348777931235119863530580207743422801647574746076997313467438632595321423766160259074508183470849975555280420913804445963221786511705876151566050607307740112003037372384678826890018353467781222054455912400291295685065065717013914353518183971567698579455069070336488613340592398985307646248489002016181313528600324121568179889234302309483660853188981801502424806735860293751913371204348003738574107974849861828733532519100876962941458557651774764690225042611974900206545829514921359498579409002789804417027030412231066899588783495139466919711058407277938251537514549368416260130137652102557809013801361001478503172976750244234536265840405484586905578029674301360938113175880039230722283926542181961979657856571925341910552244924839803849998568571589044489393977779299532418556513279111074190309313080287462210562634827640280153326761117217331831893293402772903718569576022301863271630153080764747940744934159345844084340158778741065756261691454345762344446356681137676815842884654263449864173194558257044829325921838517222970992548405507455152084971540244804980724813290068103168266287871305152043193463378895928894830966951124502244370650454958246505447027686930516290262393060205114769415738892176297785330103988589786091542424522203810444860556402406468751021394677766346542173204886807297114659991101344721935729641225746390210699902521181762366360669721143921 248100771143834591370757683626694532716346131046741325592078471168914125988094133528993816047170455175519261120802724941081948013686112998819085439161097313681423906998831604313190808105971260004683903493085948238220857282110187359252223267944535223816872733857463977545033467863082834191866654530586337988080382538874335155169042970338112687932358832746538641009089114276916951988516729389003891188758852120179039756864263098594581138423471126873962983974982755874565267592795541240345340075987541956948641997239370160992721642255585878137106931700272227315162313616538882805630211004986747825532867183505636730099212085547563139337281567879685690586961771737597870890138678850848388710605322718675491090947319021153583773211391661939078545536210672491399089020458187100316797508864318625037292550959382041666402900014178363037426406578260081124307019175677282021599363244092468562336336511174320915827399402323638669404827348291008384796588972802004959406712725760400126508014594606109585952537552627474026535220003389111415663298524238026226367284768744245220615017974164269149414057090545632499373580418245892661971150649585630764163602785580390219346240500749508204309025343161470249556286215101735773152573990737310075513933871754728083265521797803951225556112966291615978031971728853749680896337610801668929713710015317279202271745418347617414567508134896100284872362723589626185987435191024838759043913881832480995819494677191346219955920104608770386252939739657341858265974354999509281249736267651446851639889289875469852984352157544168510954067307496448513736711649183393024672769088239156113874709172074565740241124676951644705832949138122292419536124156460634386885607700089903072700314688569591609188656523623806928472264709863858427172119901934322964768936508131605285188866085455547620794581404394321406999288196513512458796455603069988105600530867421716559963178258022050721707270103411778832955384564667190319997815186089156927924821446421234091586332522262849829714454157575731145169769140991256127495121950311458214357993797293972417182451909366882259326839713486477807205490751443442395761708172901577250757161427697131748947725678175222460809691629350028915726839182693250532843114286714396704952212918135320457974595978312042709970859638448380436317172064617138030870190970706546154372028278189631701552923438159075595295934123057274864867483423898365562943564507296689028060048379144528912105666349423760431212430039730109874836034475329263812569199771900769578974528953568617425846239228317831244737280331348038079554239025276214891574494530382538808563927795201383036143018958869730521895941077001355692224660185831238081550519375734349302858654989397318817133783782557975398807055282323975205566092285354662323507392454620661650072941784306482522472338897572145072063381113936018861485156797925497718271547530154767043915754871385640873762134081307784395609565936189116341910977250198051304600383532658512450286691705121556899127027496522167250774699628338533097517194276924764852548752039148723192190139988276622863104261314678949409031406795503950425214046225598858287952090754019534715827086038410934603549706764952350366064495639904252763779453403353413425057445766711461911589996760320291837639307518334146585712801249595522408655165715639398978394972704524358906390313279196685447064914516203511490472320915129261968866592651345914136064953129784180151490475664034651760120461612958024243216055066735439704890510457811288056602483102408932516147818402712997380786056023455603 401435480345783495604324219825250079471114102354105024023873385482306667831313328181980173002497444737469640416218224610846546642873491429513572264767076407001134238943464527834456527968155946198675336127886285970297564954133076420338361467742582316512630476960297659069848524801192839376649489398074406635881118226277893763149337588134658850684054246705379368523879519025242340576917304839873908854453134399905749964922644867780955916438527406295958186832742488078532456586124947623888431143262546479181780857602727667787404252547098404752215740884985339213318274916808679769068482498583208135083091928749409015512670291023841900643852735407177307406859355200675867003053815702838639907568206162330423212069694221996332518153697057601576747799636859917656510811491194129757151672803567205706568045123406894248735657861340315959206827765039936308581849312579811506191532653578555002798101256187373698580691570218418998531618872276737349063140598184582512187472770119542260396945953726230571122301127318448120686684647356047727836802423499010439723451540400149905713141354983517754980627543670359773822541836798971498724263970917116438054152975537973223014890834135535173286551853525898769104845019614116719125349012498393819146384046746207760035306199746702058975143687542558543003003735989022891905292443081608642067436025721376179918268347916421162126566009280121243822055586659485056666761851305457402851404093784599525998592699130449202819385176592527200536208781107233984342621859305413033018537469220610479575965126754298379267102122383351610337145199458513280156180925779805948698253254302001954974521586655089847675251185332921862537776837659128058471358089414534416446560605027669811879949108998128277026654382132414661030952957707947283462847294230368917885236949581486722093124727374319278569907154101953833399186590413320821586279376306604882746020291158707284319789599091605784982462392457237175030636052152524216640052027497598905025985452053841792403329831542719364963527886137600543918737834694354937148343289240319369064005895817514660043245807378117893970274714400769340731514418543920223194567422713630163228061966108409159923074456106457580673222209557772338528486757439327530156581725346992026375979078394394966158066828287597990391773442894343658103683770493289596920798278446658157409400662868458591571276905940297649751846523348570549932549140912279916461748478864387607515117449481017525446258748409068077460919041746291188364634799450831992458434074210253239827717935370119850652975088611583158108484679351776653662213875138043625107013631259501750022485446976147726368061570844630728441770591922715190804069188621042498577549787965416202447438484536785736844842189835913650344569831692391465696229937457220132521193815622140153245918534550717058738179303056731977641410788237379799598332677964728440555474072336729023573611443310982784314379006147588245608134507778160831304955029497583723156896811769586640596004785409019109689662324162447404101460745555864929410487679697668571118328061450586463820293069041370803849195474024793493371565574245016181475737679944620632398447435157211531669970692674384467722901323209395195390417478421475734772001808860868577142417306956266892314810050388395005905595389639298628906264628491451303486132666763901222765623159482605411837340966127201737327307576408626259888059807305559754196696639935700227607377651987990596351032066441120511141856290724370785389259953542736819550501559156009992332124328155322726847720923894759747146725744599524 649536251489618086975081903451944612187460233400846349615951856651220793819407461710973989049667899912988901537020949551928494656559604428332657703928173720682558145942296132147647336074127206203359239620972234208518422236243263779590584735687117540329503210817761636614881992664275673568516143928660744623961500765152228918318380558472771538616413079451918009532968633302159292565434034228877800043211986520084789721786907966375537054861998533169921170807725243953097724178920488864233771219250088436130422854842097828780125894802684282889322672585257566528480588533347562574698693503569955960615959112255045745611882376571405039981134303286862997993821126938273737893192494553687028618173528881005914303017013243149916291365088719540655293335847532409055599831949381230073949181667885830743860596082788935915138557875518678996633234343300017432888868488257093527790895897671023565134437767361694614408090972542057667936446220567745733859729570986587471594185495879942386904960548332340157074838679945922147221904650745159143500100947737036666090736309144395126328159329147786904394684634215992273196122255044864160695414620502747202217755761118363442361131334885043377595577196687369018661131234715852492277923003235703894660317918500935843300827997550653284531256653834174521034975464842772572801630053883277571781146041038655382190013766264038576694074144176221528694418310249111242654197042330296161895317975617080521818087376321795422775305281201297586789148520764575842608596214304922314268273736872057331215854416629768232251454279927520121291212506954961793892892574963198973371022342541158068849230758729655587916375862284566568370725975781420478007482245875168803332168305117572884580263797567719886215310905756221589503217667571805710634967196164691882654173457713092007281990812829866899364488558496275240398474786926833280382734979376592988346551158580423844282967857113656506689732495869016007986020616819714536637867213586755832950806898475075883989662353805569194677982043713331689088506975685611064643465239551777583421999693111487077225697716745000153297114427887247147937005169987362618956275595615207413985223393805540908870800134281680041482913838907801254255325940132578062999696012061388731328191996529715424132662806599640700362633081342724094420855835110427627790989249153204311781428941058090293124200344099373245047780646405845414800032564810645479405312986161076635575165828625546437551925097832828508673349081476401063200669274780095805027633846111022818802246888938737276499214316929414402845765010699814733216452900414258516681508161642040558586413242177530762511080529714361250337711668924070883028729374452280580128069163699765505306093473934104553978625972393889049151625114016366671262322222811882456028586270242801803318860318857199581210518200628877049704791902173398661083489475890226158827021602491496067489366314696623658076513087455372641217700443967277173215932279695635027757280344428099090882696490530576008816689820684614654876160373894398026927681956622433423667080100599309656010433057317993666953456788703742902402972369748966606689783905543478920350538189176746247497056731085319071272608088161745561454913118325728498551455212214282002199863073667728803904806810708686843544902907973445214619065878086973712141298382403300201160595864006964318227654245323887184392222092612137750360380722434821723063289291281614363672330781772170747841507730475772271262317903682395028605315020278176524441012016967298048934607430564255242995539326607757127932781768055127 1050971731835401582579406123277194691658574335754951373639825242133527461650720789892954162052165344650458541953239174162775041299433095857846229968695250127683692384885760659982103864042283152402034575748858520178815987190376340199928946203429699856842133687778059295684730517465468512945165633326735151259842618991430122681467718146607430389300467326157297378056848152327401633142351339068751708897665120919990539686709552834156492971300525939465879357640467732031630180765045436488122202362512634915312203712444825496567530147349782687641538413470242905741798863450156242343767176002153164095699051041004454761124552667595246940624987038694040305400680482138949604896246310256525668525741735043336337515086707465146248809518785777142232041135484392326712110643440575359831100854471453036450428641206195830163874215736858994955840062108339953741470717800836905033982428551249578567932539023549068312988782542760476666468065092844483082922870169171169983781658265999484647301906502058570728197139807264370267908589298101206871336903371236047105814187849544545032041300684131304659375312177886352047018664091843835659419678591419863640271908736656336665376022169020578550882129050213267787765976254329969211403272015734097713806701965247143603336134197297355343506400341376733064037979200831795464706922496964886213848582066760031562108282114180459738820640153456342772516473896908596299320958893635753564746722069401680047816680075452244625594690457793824787325357301871809826951218073610335347286811206092667810791819543384066611518556402310871731628357706413475074049073500743004922069275596843160023823752345384745435591627047617488430908502813440548536478840335289703219778728910145242696460212906565848163241965287888636250534170625279752994097814490395060800539410407294578729375115540204186177934395712598229073797661377340154101969014355683197871092571449739131128602757456205262291672194888326253183016656668972238753277919241084354737976792350528917676392992185348288559641509929850932233007244810379966001791808528792096952486005588929001737268943524123118047267389142288016488668519588531282842150843018328837577213285359913950068793874590388137622156136048465573592783812697571905593156277737408380757704171074924110390290729634887238690754406524237067752524539605603717224711787527599862469190829603926548884695477250039670894799627169754415964732581705722925395867061465025464243090283278106563962998183846241896586134268123222692251565304074230927797486067920321276058629964824308857127152189405540997560954249690051591386878666775552302141788521792901542308608898689153678488879142100558991978779482260846786073832798563073323078705618951665181707753531958470890290823468162229802699496194945708758136958552160269102588549780085864941956564778853407916639948697503685609027346202690410778460681822153854954599382495674828225091062977758007606442390892093602960886825834951745438004520887309193218750914177156197685731478701275939595118506352144847062058977621119450262956338169636320101994785408162049896119830726126359364470802652262728536395774537943993982788165521585488099552748985624333957779167027423759703538995509411371140756845330596747204233323457021075150579342280380623995696219616861097081849450498297612743843525330506578425015627431049167201423926219023489569730064995211451088921719529669020764010248440529740381477259985931217314591279708433760161344192539796916892782404174194406765813994574973820913343991513576123308041266731758719577969843260250502516875079507512654651 1700507983325019669554488026729139303846034569155797723255777098784748255470128251603928151101833244563447443490260123714703535955992700286178887672623423848366250530828056792129751200116410358605393815369830754387334409426619603979519530939116817397171636898595820932299612510129744186513681777255395895883804119756582351599786098705080201927916880405609215387589816785629560925707785373297629508940877107440075329408496460800532030026162524472635800528448192975984727904943965925352355973581762723351442626567286923325347656042152466970530861086055500472270279451983503804918465869505723120056315010153259500506736435044166651980606121341980903303394501609077223342789438804810212697143915263924342251818103720708296165100883874496682887334471331924735767710475389956589905050036139338867194289237288984766079012773612377673952473296451639971174359586289093998561773324448920602133066976790910762927396873515302534334404511313412228816782599740157757455375843761879427034206867050390910885271978487210292415130493948846366014837004318973083771904924158688940158369460013279091563769996812102344320214786346888699820115093211922610842489664497774700107737153503905621928477706246900636806427107489045821703681195018969801608467019883748079446636962194848008628037656995210907585072954665674568037508552550848163785629728107798686944298295880444498315514714297632564301210892207157707541975155935966049726642040045018760569634767451774040048369995738995122374114505822636385669559814287915257661555084942964725142007673960013834843770010682238391852919570213368436867941966075706203895440297939384318092672983104114401023508002909902054999279228789221969014486322581164872023110897215262815581040476704133568049457276193644857840037388292851558704732781686559752683193583865007670736657106353034053077298884271094504314196136164266987382351749335059790859439122608319554972885725313318918798361927384195269191002677285791953289915786454671110570927599249003993560382654539153857754319491973564263922095751786065577066435273768343874535908005282040488814494641240868118200564503570175263636605524758518645461107118613944044991198508753719490977664674724669817663639049887373374847039138637704483656155973749469769489032363071453825814423392441486879391117039605579791846945395440714144852502776776753066780972258544984639177819677594139044139847407816160261379532614270533570875272374451186540878665449106732110400550108944074725094807617204699093314765973349011023602513701766432298877432211713247594403651403722470411963800014700751406120095119675966560658470029954543582867195311931331209251390222630273353229117193929770856956861527937525603658833688115364947213059625432404994844802094134623691748647820059725124808220874383080985044578366356107743759883639172265116221159215704314486077050994592584177121765311629745180758209517277319721158552344072704230100467405181058333528043535395712715177736819588888853778671457500625784822361397766470171127323041965531676713853781493344660983265851592942535418452488262649205775841159183677358137756109051432279298177510313742949394855305491031578473099523813510704026664084154845022610268117499532886318300243715072932731874912233289432581542143454291724500124423671805768692995401205586189058144396384665398727768729431570501625086814887496534048292649456774976106111751761632901760608821252175203200323275222498928954952039215532332092034047527392665053666492098089160842599889994099089868432525593090606090201339189283833212838799577110274003012289280709778 2751479715160421252133894150006333995504608904910749096895602340918275717120849041496882313153998589213905985443499297877478577255425796144025117641318673976049942915713817452111855064158693511007428391118689274566150396616995944179448477142546517254013770586373880227984343027595212699458847410582131047143646738748012474281253816851687632317217347731766512765646664937956962558850136712366381217838542228360065869095206013634688522997463050412101679886088660708016358085709011361840478175944275358266754830279731748821915186189502249658172399499525743378012078315433660047262233045507876284152014061194263955267860987711761898921231108380674943608795182091216172947685685115066738365669656998967678589333190428173442413910402660273825119375606816317062479821118830531949736150890610791903644717878495180596242886989349236668908313358559979924915830304089930903595755753000170180700999515814459831240385656058063011000872576406256711899705469909328927439157502027878911681508773552449481613469118294474662683039083246947572886173907690209130877719112008233485190410760697410396223145308989988696367233450438732535479534771803342474482761573234431036773113175672926200479359835297113904594193083743375790915084467034703899322273721848995223049973096392145363971544057336587640649110933866506363502215475047813049999478310174558718506406577994624958054335354451088907073727366104066303841296114829601803291388762114420440617451447527226284673964686196788947161439863124508195496511032361525593008841896149057392952799493503397901455288567084549263584547927919781911941991039576449208817509573536227478116496735449499146459099629957519543430187731602662517550965162916454575242889626125408058277500689610699416212699241481533494090571558918131311698830596176954813483732994272302249466032221893238239255233279983692733387993797541607141484320763690742988730531694058058686101488482769524181090034122272521522374019333954764192043193705695755465308904391599532911236775646724502146313961001903415196155102996596445543068227082297135971488394010870969490551763584764991236247831892712463280125274044347049928303257961632272882568411794113633441046458549315057955285795185935838948439822951335276389249312251486878150246736534146377936204714122076374118081871446129816859599469935046317862077214564304352929250163088148911188062515154844178715034647034985914677344265195976256496271139435916212005121755732384838674363548292790316621680941885327921785566331277423241951399999769686753574936062176537556451530803593128011409524754264390802997506973786451518862800258551747445125175804210620484887740269364730832345207896676190617643030694326500598926737539307067030128920813157390875885135625562296853494448144015005433882945179426543350087633128146441972685716448418025673032861107913208000095104397197282994955582447133783600135357592012952147946249615321830711836542858297274661294414869370347458153182257706898082072529585634656823470553840099042409766245829394110378738772831402612794923939604021229262637413237896424699101895671885310036722608558761314160815693952048257736932183020827076519678025848509437844661805831111578604726149263626910904027075145574311820136965198369254364583160884423834915720196344040532902850542445899503198932901669726891243823743396160480737703049013033910986103778357644668226065027831281430653665770857261781915584677583261153716243546231747649292493436226587324309557836070666292495926656594464967920003212424039169213914131468070948003411182682059827612790878091796793364429 4451987698485440921688382176735473299350643474066546820151379439703023972590977293100810464255831833777353428933759421592182113211418496430204005313942097824416193446541874244241606264275103869612822206488520028953484806043615548158968008081663334651185407484969701160283955537724956885972529187837526943027450858504594825881039915556767834245134228137375728153236481723586523484557922085664010726779419335800141198503702474435220553023625574884737480414536853684001085990652977287192834149526038081618197456847018672147262842231654716628703260585581243850282357767417163852180698915013599404208329071347523455774597422755928550901837229722655846912189683700293396290475123919876951062813572262892020841151294148881738579011286534770508006710078148241798247531594220488539641200926750130770839007115784165362321899762961614342860786655011619896090189890379024902157529077449090782834066492605370594167782529573365545335277087719668940716488069649486684894533345789758338715715640602840392498741096781684955098169577195793938901010912009182214649624036166922425348780220710689487786915305802091040687448236785621235299649865015265085325251237732205736880850329176831822407837541544014541400620191232421612618765662053673700930740741732743302496610058586993372599581714331798548234183888532180931539724027598661213785108038282357405450704873875069456369850068748721471374938258311224011383271270765567853018030802159439201187086214979000324722334681935784069535554368947144581166070846649440850670396981092022118094807167463411736299058577766787655437467498133150348809933005652155412712949871475611796209169718553613547482607632867421598429466960391884486565451485497619447266000523340670873858541166314832984262156517675178351930608947210982870403563377863514566166926578137309920202689328246272292332532164254787237702189933705874128866672513025802779589970816666378241074374208082843099888396049656716791565022011240556145333109492150426575879831990848536904797158301263656004068280493876979460077198748382511120134662356065479846024302016153009979366258226005859354448396396282638543761879569105568573764365080246216927559610302867352932024123224039727772949434235823212323286862089972980872905468225236347919735768897217831762019137514517860997472988485735396651446415330487032006929717341081105996031135346693895827240334832438317759174494442802074938723797810246790067146411810367398546000421181491570784764098401734391346775749502532620878881097250772252975002513471453185873813494388250804045934454996850481821488554279091554403627068906127485423458728581701988708042999522551816096991659587361105698437013870120388499987555854438124530396372995182395076133872782823280879980427656431477186196791835065159007753400300926431072677706512798080429476332057197938149082267128912314581181448191875579132704212445413345316115801530229467667408167665903416066643325702455719627942912905743170868359994526486970926308257092157449255376201496808879937373152436075910415486685184106139584922869872822205172831690384687348307671513044493714080746314870365593094992129558571479881577876132567551256498948033251355365832495195733449748759531744410436913393445818026893069697073281487654015742426567289207444696468464204708619235441300708785121959814123275909222471164889912308204674099848798482637826650294125001041133943033192286567531466083034090787877906536376215172501183786864824825528260634851702222889737158390585087499194354962019093080856564762304520221669410137287244395520859404723064881104086074074207 7203467413645862173822276326741807294855252378977295917046981780621299689711826334597692777409830422991259414377258719469660690466844292574229122955260771800466136362255691696353461328433797380620250597607209303519635202660611492338416485224209851905199178071343581388268298565320169585431376598419657990171097597252607300162293732408455466562351575869142240918883146661543486043408058798030391944617961564160207067598908488069909076021088625296839160300625514392017444076361988649033312325470313439884952287126750420969178028421156966286875660085106987228294436082850823899442931960521475688360343132541787411042458410467690449823068338103330790520984865791509569238160809034943689428483229261859699430484484577055180992921689195044333126085684964558860727352713051020489377351817360922674483724994279345958564786752310851011769100013571599821006020194468955805753284830449260963535066008419830425408168185631428556336149664125925652616193539558815612333690847817637250397224414155289874112210215076159617781208660442741511787184819699391345527343148175155910539190981408099884010060614792079737054681687224353770779184636818607559808012810966636773653963504849758022887197376841128445994813274975797403533850129088377600253014463581738525546583154979138736571125771668386188883294822398687295041939502646474263784586348456916123957111451869694414424185423199810378448665624415290315224567385595169656309419564273859641804537662506226609396299368132573016696994232071652776662581879010966443679238877241079511047606660966809637754347144851336919022015426052932260751924045228604621530459445011839274325666454003112693941707262824941141859654691994547004116416648414074022508890149466078932136041855925532400474855759156711846021180506129114182102393974040469379650659572409612169668721550139510531587765444238479971090183731247481270350993276716545768320502510724436927175862690852367280978430171929238313939041345195320337376303197846182041188736382448069816033933947988158150382241495780394656232301744978956663202889438362615817512696027023979469918021810770850590696228288995101823887153613452618502067623041878489810128022096980986373070581773354785728235229421759051271726685041308257262154780476723226069982505431364209698223851636594235115554859931865213511045885265533349869006931905385458925281298434842807015302849987282496474209141477787989616068063006223046563417551246283610551122176913876409459127646694524707968456691387860542664447428528195494926402513241139939448749556564788360497465258589978493231013308543482357401134042692579004286258987133449433833218803733172300984731928952091938043644910546311006143018250180938723457133912302249425205054685940214156765116053218728330680644935850070592890698579727469781160310834659240053115192780475223611181943375042120314676285845389158574088286659579196945451473393543181615613657782987734127903186183999730380922357782276090629021542252233385052998837842726814272725930041595851289703618981830186289154259516586718934508862473894051467810244928281112047409567184929803750803354873631679753910686081606829216813760896959644070934524796542689200027638326307312054474908795371321340940468591392338713206662271650742018598903310991124123164892812504737611469777887200211984054861483850167153046214561050393045907723112882709468741605007938793227106161774314622940233302323344816006372555489797529931416047415534514117318964487222176011780725807824683081014155788819929939096293280603931518434353137481085290655578202919232335855759195882867438636 11655455112131303095510658503477280594205895853043842737198361220324323662302803627698503241665662256768612843311018141061842803678262789004433128269202869624882329808797565940595067592708901250233072804095729332473120008704227040497384493305873186556384585556313282548552254103045126471403905786257184933198548455757202126043333647965223300807485804006517969072119628385130009527965980883694402671397380899960348266102610962505129629044714200181576640715162368076018530067014965936226146474996351521503149743973769093116440870652811682915578920670688231078576793850267987751623630875535075092568672203889310866817055833223619000724905567825986637433174549491802965528635932954820640491296801524751720271635778725936919571932975729814841132795763112800658974884307271509029018552744111053445322732110063511320886686515272465354629886668583219717096210084847980707910813907898351746369132501025201019575950715204794101671426751845594593332681609208302297228224193607395589112940054758130266610951311857844572879378237638535450688195731708573560176967184342078335887971202118789371796975920594170777742129924009975006078834501833872645133264048698842510534813834026589845295034918385142987395433466208219016152615791142051301183755205314481828043193213566132109170707486000184737117478710930868226581663530245135477569694386739273529407816325744763870794035491948531849823603882726514326607838656360737509327450366433298842991623877485226934118634050068357086232548601018797357828652725660407294349635858333101629142413828430221374053405722618124574459482924186082609561857050880760034243409316487451070534836172556726241424314895692362740289121652386431490681868133911693469774890672806749805994583022240365384737012276831890197951789453340097052505957351903983945817586150546922089871410878385782823920297608493267208792373664953355399217665789742348547910473327390815168250236898935210380866826221585955105504063356435876482709412689996608617068568373296606720831092249251814154450521989657374116309500493361467783337551794428095663536998043176989449284280036776709945144624685277740367649033182558187075831988122124706737687632399848339305094704997394513501184663657582263595013547131281238135060248701959573989718274328582041460242989151112096113027848417600610162492300596020381875936649246466564921312433781536702842543184819720814233383635920590064554791860816469836630563963056651009097122598095367980243891745096259099315232440890393163543328525778967747901405026712593125322563050953039164543399713586828975052501862822573911804761111598706489709717715715151422541261803255724117081723588539453043742081924416431394643005806035376847987530285297431820281188558723037437645096480875159807866841727685135751898451980028396212232988541172038133544669112532421549331025642171032629257467293581034153220990872024610290767589195073411083281065950653637543969829509702186100550300695181833799889902246759872023925146099818971721981306243092660169640992134266262199569746201770825074093785343766873672983076618665799395717238697974297464884101188502045347005678211165400696695338773092211622191023744575940555393470821503045504223668327115731777853862037210365606276359344932229672614645737558413330609589280968942320089013328500920769176821297973443062268685725940305354112397212731507951379431658232918228147295717347815226800833789427850097160433396333906146588548599321378942144492747857027714003615544983073666101654983174891958189374137168693822954574806891222577899973723778637058920640299968941512843 18858922525777165269332934830219087889061148232021138654245343000945623352014629962296196019075492679759872257688276860531503494145107081578662251224463641425348466171053257636948528921142698630853323401702938635992755211364838532835800978530083038461583763627656863936820552668365296056835282384676842923369646053009809426205627380373678767369837379875660209991002775046673495571374039681724794616015342464120555333701519450575038705065802825478415801015787882468035974143376954585259458800466664961388102031100519514085618899073968649202454580755795218306871229933118811651066562836056550780929015336431098277859514243691309450547973905929317427954159415283312534766796741989764329919780030786611419702120263302992100564854664924859174258881448077359519702237020322529518395904561471976119806457104342857279451473267583316366398986682154819538102230279316936513664098738347612709904198509445031444984118900836222658007576415971520245948875148767117909561915041425032839510164468913420140723161526934004190660586898081276962475380551407964905704310332517234246427162183526889255807036535386250514796811611234328776858019138652480204941276859665479284188777338876347868182232295226271433390246741184016419686465920230428901436769668896220353589776368545270845741833257668570926000773533329555521623603032891609741354280735196189653364927777614458285218220915148342228272269507141804641832406041955907165636869930707158484796161539991453543514933418200930102929542833090450134491234604671373738028874735574181140190020489397031011807752867469461493481498350239014870313781096109364655773868761499290344860502626559838935366022158517303882148776344380978494798284782325767492283780822272828738130624878165897785211868035988602043972969959469211234608351325944453325468245722956534259540132428525293355508063052731747179882557396200836669568659066458894316230975838115252095426099589787577661845256393515193419443104701631196820085715887842790658257304755744676536865026197239972304832763485437768772541802238340424446540441232790711481049694070200968919202301847547560535840852974272842191536186796010805577899611164003196547815654496829325678165286770749299229419893079341314866740232172589495397215029178682800059700779759946251158466840787706331228582708349465823673538185861553731744943581151852023846593732216379509857846034807003310707592777398378054170859923822692883193981514302934619648244775009244389703019391790783807283689132278253706207775954307163242827807539953733064771312607517827525040864972176807468283515171366056269205895154291285493995976702848600856374480606988896418066455517491544981785726834962742400786024056216315571444664197599681245486243244663251594410212534093888138547486663535206344789150559755865993393299375831278186659861893007645160512969017213152943933753138970192727309277531603807236219062588616592698894723733641371671873015693701916481472658477457924428911444498993257076923983942545785994707236284688511459344611116096448488724005718357544008602647817660925140793321546946911443126805882904101215687456062133725100916364292772229913509099670051855693125548541118629755421109147810357558698577122487053118794330628602704319483021616582971691213549048549537453774482093473679931558791215701132753231682781823610215314900286990698400020120325614217420121036666171711455253457491662438167034136112772666103532988886131436078004596014855893059463457235079203725784341352807756747115810771994821897285667417772625341388927944372307868555551926697869394776399495851808951479 30514377637908468364843593333696368483267044085064981391443704221269947014317433589994699260741154936528485100999295001593346297823369870583095379493666511050230795979850823577543596513851599881086396205798667968465875220069065573333185471835956225017968349183970146485372806771410422528239188170934027856568194508767011552248961028338902068177323183882178179063122403431803505099340020565419197287412723364080903599804130413080168334110517025659992441730950250544054504210391920521485605275463016482891251775074288607202059769726780332118033501426483449385448023783386799402690193711591625873497687540320409144676570076914928451272879473755304065387333964775115500295432674944584970411076832311363139973756042028929020136787640654674015391677211190160178677121327594038547414457305583029565129189214406368600338159782855781721028873350738039255198440364164917221574912646245964456273331010470232464560069616041016759679003167817114839281556757975420206790139235032428428623104523671550407334112838791848763539965135719812413163576283116538465881277516859312582315133385645678627604012455980421292538941535244303782936853640486352850074540908364321794723591172902937713477267213611414420785680207392235435839081711372480202620524874210702181632969582111402954912540743668755663118252244260423748205266563136745218923975121935463182772744103359222156012256407096874078095873389868318968440244698316644674964320297140457327787785417476680477633567468269287189162091434109247492319887330331781032378510593907282769332434317827252385861158590087586067940981274425097479875638146990124690017278077986741415395338799116565176790337054209666622437897996767409985480152916237460962058671495079578544125207900406263169948880312820492241924759412809308287114308677848437271285831873503456349411543306911076179428360661225014388674931061154192068786324856201242864141449165506067263676336488722788042712082615101148524947168058067073302795128577839399275325873129041283257696118446491786459283285475095142888851302731701892229877993027218807144586692113377958368486581884324270480985477659550582559185219978568992653731599286127903285503286896677664983259991768143812730604556736923578461753779303870733532275277880642374049419054088528292618709829938818427341610556767066433836030486457574113620880230398318588767906165997916212700389219626724124940976413318968118725651784639162719824545477359585628745367373104612369946911136887042906598921573168646869751104480086130990729212566666326190093875658470866689584264685763636443336017034188630181010656265889991983705694418563752278915742410244620535148179106030998025527808759379173795429029862251692419432194482897113065767431803386289032055309014969047946414328391220342096687602539784262205626287917003316320204531005540066709843994659384185573191220432551226880530268403628417526986651783690003782175789684295009215842845203404102582022959172639758228801346745753129100849130042364757716688542527781171628985603250362710688293751920128369082696433161427798813776398165612710838844044580878398680571557250635770447922042503937630610204438443144067315316572285694570310814579969313403062922245449602784896648192665813069925759380961515201363828194786107950784384071374442622251647804544202053522408504079797053277583586012931003754132517538345725371500468324404629683400753209010253393834969902200516200693422282465342224593144614177272001607949982936231439787956897790830413217465755169713855475041554941319164343502751263530446455525650476506453697039795820750464322 49373300163685633634176528163915456372328192317086120045689047222215570366332063552290895279816647616288357358687571862124849791968476952161757630718130152475579262150904081214492125434994298511939719607501606604458630431433904106168986450366039263479552112811627010422193359439775718585074470555610870779937840561776820978454588408712580835547160563757838389054125178478477000670714060247143991903428065828201458933505649863655207039176319851138408242746738133012090478353768875106745064075929681444279353806174808121287678668800748981320488082182278667692319253716505611053756756547648176654426702876751507422536084320606237901820853379684621493341493380058428035062229416934349300330856863097974559675876305331921120701642305579533189650558659267519698379358347916568065810361867055005684935646318749225879789633050439098087427860032892858793300670643481853735239011384593577166177529519915263909544188516877239417686579583788635085230431906742538116352054276457461268133268992584970548057274365725852954200552033801089375638956834524503371585587849376546828742295569172567883411048991366671807335753146478632559794872779138833055015817768029801078912368511779285581659499508837685854175926948576251855525547631602909104057294543106922535222745950656673800654374001337326589119025777589979269828869596028354960278255857131652836137671880973680441230477322245216306368142897010123610272650740272551840601190227847615812583946957468134021148500886470217292091634267199697626811121935003154770407385329481463909522454807224283397668911457557047561422479624664112350189419243099489345791146839486031760255841425676404112156359212726970504586674341148388480278437698563228454342452317352407282255832778572160955160748348809094285897729372278519521722660003792890596754077596459990608951675735436369534936423713956761568557488457355028738354983922660137180372425003621319359102436078510365704557339008616341944390272759698270122880844465682189933583177884785959794561144643731758764116048960532911661393104970042316676418434260009518625636386183578927287688883731871831016826330633823424750721406774579798231631210450131099833318941393506990661425278538893111960024449816264893328494011476460228929490307059325174109119833848474543777176670726524758570193265116532257509568672319127845365823811550170612614499898214295722558235254433727435648569190717346172896511708461855603018526991662520248393612148113856759649930528677826713882610705446900575958880434393294233557020106620059254865188265988694214625129657940443911619532205554686450216551420181277477701671121412353135290223017233516953214634623522543007313535594341916196215053918468007990876858680496794311253675048049540626465521549062936084961815054755548441476753099540128199019587292834594506864392898547711870356963676597338517124973571521419607839545935232224763205714372306596481070513417936380887715860897106019063495617650097682657712791244746386177773113984910543711395778812469683088330214366459159177017757638485913091299080979088723954569719712559622281970850463782499896259013312769495548838406796709860523713538113195923008442120826813200066235689117123760621620822572089838015442523294415774245242402578098173055041743834657488238158553467916302183206595759903186275640186861620663492898486299921702154152637863959942791621504990576341138654210700672691560869106014973182304226411168596778302597740629033165061071407218015435165572298250598587160333276527164535752760708972713944505732430695635838315011077577174375848473439291672559415801 79887677801594101999020121497611824855595236402151101437132751443485517380649497142285594540557802552816842459686866863718196089791846822744853010211796663525810058130754904792035721948845898393026115813300274572924505651502969679502171922201995488497520461995597156907566166211186141113313658726544898636506035070543832530703549437051482903724483747640016568117247581910280505770054080812563189190840789192282362533309780276735375373286836876798400684477688383556144982564160795628230669351392697927170605581249096728489738438527529313438521583608762117077767277499892410456446950259239802527924390417071916567212654397521166353093732853439925558728827344833543535357662091878934270741933695409337699649632347360850140838429946234207205042235870457679877056479675510606613224819172638035250064835533155594480127792833294879808456733383630898048499111007646770956813924030839541622450860530385496374104258132918256177365582751605749924511988664717958323142193511489889696756373516256520955391387204517701717740517169520901788802533117641041837466865366235859411057428954818246511015061447347093099874694681722936342731726419625185905090358676394122873635959684682223295136766722449100274961607155968487291364629342975389306677819417317624716855715532768076755566914745006082252237278021850403018034136159165100179202230979067116018910415984332902597242733729342090384464016286878442578712895438589196515565510524988073140371732374944814498782068354739504481253725701308945119131009265334935802785895923388746678854889125051535783530070047644633629363460899089209830065057390089614035808424917472773175651180224792969288946696266936637127024572337915798465758590614800689416401123812431985826381040678978424125109628661629586527822488785087827808836968681641327868039909469963446958363219042347445714364784375181775957232419518509220807141308778861380044513874169127386622778772567233153747269421623717490469337440817765343425675973043521589208909051013827243052257263090223545223399334435628054550244407701744208906296427287228325770223078296956885656175465616196101497811808293374007309906626753148790885362809736259003118822228290184655644685270307036924690629006553188471790247790780330962461765584939967548158538887937002836395886500665343185911803821883598691345599158776701958986704041948489201382406064212211935258624474060451560589545604036314291622163493101018322843072469022105877138979521218469129596841665564869620481532278615547445709984914479425224286232673286385444959063924459560904209394343704080354955549239743316631227207686071269461407365539976105414205965427478137488362813729553541032841344353721089991644083780719700410309053163393907377021106851435829658520830564031984031376143445975890538164355639324390404645875209837910827068923904087778580200958335981524090316194004072646488369814338860642290192366155996600263246303102231390103558706100510121645518576822737440886514137990499515278622244027275301428084321340250854717315817616821869865311509558614282173995514140516522768346117878172333120814895044660898576830570563405265996760449300647491133917976556339990323758693112507770377050269086437163684543068021692622912090715960228844171001783539613374418869938620765439022542624842358924434854400304105239798048690941417716770482072312852705908285155402305668163121973314980970822054963909682944954704075917173698504919833451062120527190885243210437062679357200951666605360255148389417573550742282334249608235750527655263670075933446899368761466603227650882302170479087493309880123 129260977965279735633196649661527281227923428719237221482821798665701087746981560694576489820374450169105199818374438725843045881760323774906610640929926816001389320281658986006527847383840196904965835420801881177383136082936873785671158372568034751977072574807224167329759525650961859698388129282155769416443875632320653509158137845764063739271644311397854957171372760388757506440768141059707181094268855020483821466815430140390582412463156727936808927224426516568235460917929670734975733427322379371449959387423904849777417107328278294759009665791040784770086531216398021510203706806887979182351093293823423989748738718127404254914586233124547052070320724891971570419891508813283571072790558507312259325508652692771261540072251813740394692794529725199575435838023427174679035181039693040935000481851904820359917425883733977895884593416523756841799781651128624692052935415433118788628390050300760283648446649795495595052162335394385009742420571460496439494247787947350964889642508841491503448661570243554671941069203321991164441489952165545209052453215612406239799724523990814394426110438713764907210447828201568902526599198764018960106176444423923952548328196461508876796266231286786129137534104544739146890176974578298410735113960424547252078461483424750556221288746343408841356303799440382287863005755193455139480486836198768855048087865306583038473211051587306690832159183888566188985546178861748356166700752835688952955679332412948519930569241209721773345359968508642745942131200338090573193281252870210588377343932275819181198981505201681190785940523753322180254476633189103381599571756958804935907021650469373401103055479663607631611246679064186946037028313363917870743576129784393108636873457550585080270377010438680813720218157366347330559628685434218464793987066423437567314894777783815249301208089138537525789907975864249545496292701521517224886299172748705981881208645743519451826760632333832413727713577463613548556817509203779142492228898613202846818407733955303987515383396160966211637512671786525582714861547237844395859464480535812943864349348067932514638138927197432060628033527728589116994020186390102952141169683691646306110548845930036650653456369453365118741802256791191391255891999292722267658721785477380173063171391867944481997087000130948855167831095829804352527853498659813996905962426507657816859728494178996238114794753660464518675201562873925861599460684626125532591669332325889246772194242696334364142984062448021668865348872719457843252779906444699824252190448255118834524001644524266575081445298003081443759106252546939109036661388458549496188444711654441577448353076084040154879948063006187859137699187708401185911843890701688274781899485370284986352113094920116337958500731438979641108738864518603665462502672505333933316802635490450557922012578862607441167575594066096209360274092867053398080528303196744316816520167770991274566997616140709014194472835123544226929235245901456395358012185845139480100152720537805646031983281029042329267197100195265294595119605246722915837590731955402785745508443398473089583876174761545598856097357351657631514669535913332200813939320970443285958203560924306163890593782460927533239254644618416244186117711547473911682455422927260701178310275226618060996064008426073688877803038380263380558612774408062437793266265610954743478305557311960709174610355636515573181932146880809146244619658898829788625872243602123750764418967101770932553398988004733884018809498785360996459500369208175808364142535207076477680804825258150643918379165869295924 209148655766873837632216771159139106083518665121388322919954550109186605127631057836862084360932252721922042278061305589561241971552170597651463651141723479527199378412413890798563569332686095297991951234102155750307641734439843465173330294770030240474593036802821324237325691862148000811701788008700668052949910702864486039861687282815546642996128059037871525288620342299038012210822221872270370285109644212766184000125210417125957785749993604735209611702114900124380443482090466363206402778715077298620564968673001578267155545855807608197531249399802901847853808716290431966650657066127781710275483710895340556961393115648570608008319086564472610799148069725515105777553600692217841814724253916649958975141000053621402378502198047947599735030400182879452492317698937781292260000212331076185065317385060414840045218717028857704341326800154654890298892658775395648866859446272660411079250580686256657752704782713751772417745087000134934254409236178454762636441299437240661646016025098012458840048774761256389681586372842892953244023069806587046519318581848265650857153478809060905441171886060858007085142509924505245258325618389204865196535120818046826184287881143732171933032953735886404099141260513226438254806317553687717412933377742171968934177016192827311788203491349491093593581821290785305897141914358555318682717815265884873958503849639485635715944780929397075296175470767008767698441617450944871732211277823762093327411707357763018712637595949226254599085669817587865073140465673026375979177176258957267232233057327354964729051552846314820149401422842532010319534023278717417407996674431578111558201875262342690049751746600244758635819016979985411795618928164607287144699942216378935017914136529009205380005672068267341542706942454175139396597367075546332833896536386884525678113820131260963665992464320313483022327494373470352637601480382897269400173341876092604659981212976673199096182256051322883065154395228956974232790552725368351401279912440445899075670824178849210914717831789020761881920373530734489011288834466170166082542777492698600039814964264034012449947220571439370534660280877380002356829922649106070963397973876301950795819152966961341282462922641836908989593037122153853021476939260270426197609722480216568949672057211130393800908883729640200766989872531763339231895447149015379312026638719593075484202554630556827660398789974756140838694663892248704671929706732002671571190550795018843613859807565954845675262677995467378850263352144682129485453192830144783316114907816023043918345348604621530630685041319712670966792323816400516402201364563963702153872189791929940262082629625072996224301784096179503221479907408811494965007284609065295888750921199943507182677126904147714101946707329517805464378188909008311337712510416161002240706723269030758880348560386697757361579666712584579174612953509343590446684299797007563119622399161094833273098126262354532771295572564430741067225745416735017602039461146567564421492971392522961849600102898907640776755714477439290109260121769491261955468904288523600640553104297049920154439580027542359305398004842791549491225875903655959507051828740820336227289998087990706958615475083839623955214873462587245969657324921892781621076188366283243803152634151052915396368113665871737568744456097033862630925627113970722948668571279117865451620538282782764138520038581470277257849320579314066078070721019356979511115454039186430121619918768376292808547377422307434761091833034969232210028024471845884297589434575837944284032476140452814397466659179176047 338409633732153573265413420820666387311442093840625544402776348774887692874612618531438574181306702891027242096435744315404287853312494372558074292071650295528588698694072876805091416716526292202957786654904036927690777817376717250844488667338064992451665611610045491567085217513109860510089917290856437469393786335185139549019825128579610382267772370435726482459993102687795518651590362931977551379378499233250005466940640557516540198213150332672018538926541416692615904400020137098182136206037456670070524356096906428044572653184085902956540915190843686617940339932688453476854363873015760892626577004718764546710131833775974862922905319689019662869468794617486676197445109505501412887514812423962218300649652746392663918574449861687994427824929908079027928155722364955971295181252024117120065799236965235199962644600762835600225920216678411732098674309904020340919794861705779199707640630987016941401151432509247367469907422394519943996829807638951202130689087384591626535658533939503962288710345004811061622655576164884117685513021972132255571771797460671890656878002799875299867282324774622914295590338126074147784924817153223825302711565241970778732616077605241048729299185022672533236675365057965585144983292131986128148047338166719221012638499617577868009492237692899934949885620731167593760147669552010458163204651464653729006591714946068674189155832516703766128334654655574956683987796312693227898912030659451046283091039770711538643206837158948027944445638326230611015271666011116949172458429129167855609576989603174145928033058047996010935341946595854190574010656467820799007568431390383047465223525731716091152807226263852390247065696044172357832647241528525157888276072000772043654787594079594285650382682506948155262925099820522469956226052509764797627883602810322092993008597915076212967200553458851008812235470237719898133894181904414494286472514624798586541189858720192650922942888385155296792867972692570522789608061929147493893508811053648745894078558134153198430101227949986973519433045317260071726150381704014561942007258028511543904164312331966527088086147768871431162693808605969119350850109039209023104567657567948256906367998896997991935919292095202027731395293913345244277368938552992693856331507957596742012843449079074875797995883860589055934820968361567691759748945808829376217989065227250892343931048809553065775193543635220659513896226766174566271390391358128204162859883120908090386054050262289209818246740443489047715612224864139972738233099274844607568305356071141878442346993128888105712130339322794114725898576363339625438862753022513198342316901446371517710435705709113151104249847102367362359179095117212680876851175310753570670650406570228493534790221824264052060447438768497446573117053427611976800215182921494935557509358759481316802361139249305198529155260778680788534887046376396988527212602993751879936142566932086107840095742403063546965768407687974967996460991318191412960051646991707044521645691930328607881583383927949970043952814672704584704379727016214177793059636243926386386061547695523009738315754789087958161495362194449181005895411816988160320991149711263622185493559012296870849209257544767157194469518081003490155775036469366693303531611293543944981462909377670976392432122091945426446547494477297243189538401522033160741934836890072608929926095594743473313130394217985850439781467460123212322690379918186768136987697641310180886038885870147225361946365427041318779901331820330228669528393680021692661731969782914421964837301398603458315845825048471971 547558289499027410897630191979805493394960758962013867322730898884074298002243676368300658542238955612949284374497049904965529824864664970209537943213373775055788077106486767603654986049212387500949737889006192677998419551816560716017818962108095232926258648412866815804410909375257861321791705299557105522343697038049625588881512411395157025263900429473598007748613444986833530862412584804247921664488143446016189467065850974642497983963143937407228150628656316816996347882110603461388538984752533968691089324769908006311728199039893511154072164590646588465794148648978885443505020939143542602902060715614105103671524949424545470931224406253492273668616864343001781974998710197719254702239066340612177275790652800014066297076647909635594162855330090958480420473421302737263555181464355193305131116622025650040007863317791693304567247016833066622397566968679415989786654307978439610786891211673273599153856215222999139887652509394654878251239043817405964767130386821832288181674559037516421128759119766067451304241949007777070929536091778719302091090379308937541514031481608936205308454210835480921380732848050579393043250435542428690499246686060017604916903958748973220662332138758558937335816625571192023399789609685673845560980715908891189946815515810405179797695729042391028543467442021952899657289583910565776845922466730538602965095564585554309905100613446100841424510125422583724382429413763638099631123308483213139610502747128474557355844433108174282543531308143818476088412131684143325151635605388125122841810046930529110657084610894310831084743369438386200893544679746538216415565105821961159023425400994058781202558972864097148882884713024157769628266169693132445032976014217150978672701730608603491030388354575215496805632042274697609352823419585311130461780139197206618671122418046337176633193017779164491834562964611190250771495662287311763686645856500891191201171071696865850019125144436478179858022367921527497022398614654515845294788723494094644969749382313002409344819059739007735401353418847994560737439216170184728024550035521210143943979276596000539538033368340310801697354089483349121707680031688315094067965631444250207702187151863959333218382214737038936720988331035499097298845877813263120053941230437813310962515506290205269598904767590229256701810840893331030991644392957844755530015703946843967828133603440109893435592333609976800352590890658423270943320098090130875734050433915926933999913857828244055493509418438956426565875577008822102223686292104989390884420263887164922360692341733509636342815380642506785692690900179740141841064117586476900496189091238301457972518335334186147328551631198546865580659002526024175841858459919818866559401327770172000717467348728411766162394146098015252037495242336620288137927693337655937798216082028512075682709699636002955890734927491265367709499999885740578973896902790759443055764966093180941113193868665418079737063980252405709063686736734926430562091108138274608943138663322851569731183486826857610820708529150143874813639848785705439748528540532449987026614651992572929892755334816630317466893367037240730497121287720644119828042978452083958412783557100287577807824732628606781149684391543590736125432361391259474924607799659827188784615543528723891788800235757817164015291950574331105820464028636003883690603408169190474381546633877526237451650432799456127697630788039437278400761100937543747648103151680496611007658804638523518170493742849348753540993164855299460879556418151867576959321404358752366248869777539056272713312484227648018 885967923231180984163043612800471880706402852802639411725507247658961990876856294899739232723545658503976526470932794220369817678177159342767612235285024070584376775800559644408746402765738679703907524543910229605689197369193277966862307629446160225377924260022912307371496126888367721831881622590413542991737483373234765137901337539974767407531672799909324490208606547674629049514002947736225473043866642679266194934006491532159038182176294270079246689555197733509612252282130740559570675190789990638761613680866814434356300852223979414110613079781490275083734488581667338920359384812159303495528637720332869650381656783200520333854129725942511936538085658960488458172443819703220667589753878764574395576440305546406730215651097771323588590680259999037508348629143667693234850362716379310425196915858990885239970507918554528904793167233511478354496241278583436330706449169684218810494531842660290540555007647732246507357559931789174822248068851456357166897819474206423914717333092977020383417469464770878512926897525172661188615049113750851557662862176769609432170909484408811505175736535610103835676323186176653540828175252695652515801958251301988383649520036354214269391631323781231470572491990629157608544772901817659973709028054075610410959454015427983047807187966735290963493353062753120493417437253462576235009127118195192331971687279531622984094256445962804607552844780078158681066417210076331327530035339142664185893593786899186095999051270267122310487976946470049087103683797695260274324094034517292978451387036533703256585117668942306842020085316034240391467555336214359015423133537212344206488648926725774872355366199127949539129950409068330127460913411221657602921252086217923022327489324688197776680771037082163652068557142095220079309049472095075928089663742007528711664131015961413389600393571238015500646798434848910148905389844191726257973118371125689777742360930417058500942068032821633476650890340614098019812006676583663339188297534547743390863827940447155607774920287688994708920786464165254632463589597874199289966557293549721687848143588927967066626119516109182232860047898089318241058530140727524117172533289012198464608555150760957325154301506832240964452383624948844341576214816366255813910272738395410052975358955369280145396900651450818312636631809254898722751393338766674131748004769174094860172064652249662959210785877245197459866487117424597837214710489448259079896910317036835024385967908090533265311756158882445474281487801872962074961919391379833998452725619958306800803039334862397742054945719965300900418589476543079767279926870608990098838505992684672975682954041043299298432801478300914227939838097643236856718709635230572437230051734340400494252257570552675818222841584866512698610612295764232264938142876259150873355725440787993392485070838885308154419890188269946156244387046262137567501109505784511322991907533025267048953289611068481626702832387940380677060147728053117843522142755129981653464784355253180177612766870754807580864661343822848459518019575801919617541588176776376373412676199688095939631071089605718275628388729231689911503016699537632280149034128163347580598277116112584448657033990173373938344153909624594226281207397860626168228139410953371133766078452906394868181232357849762590461839445051628349010002430158037044432538245059263083311472729472269710764780827017441978137412255499560490723451480855730515785090849321806791893697690508670743532440108276390072320894496675629689549084811831889269621053374141666788213707078937659731029158309276119989 1433526212730208395060673804780277374101363611764653279048238146543036288879099971268039891265784614116925810845429844125335347503041824312977150178498397845640164852907046412012401388814951067204857262432916422283687616921009838682880126591554255458304182908435779123175907036263625583153673327889970648514081180411284390726782849951369924432795573229382922497957219992661462580376415532540473394708354786125282384401072342506801536166139438207486474840183854050326608600164241344020959214175542524607452703005636722440668029051263872925264685244372136863549528637230646224363864405751302846098430698435946974754053181732625065804785354132196004210206702523303490240147442529900939922291992945105186572852230958346420796512727745680959182753535590089995988769102564970430498405544180734503730328032481016535279978371236346222209360414250344544976893808247262852320493103477662658421281423054333564139708863862955245647245212441183829700499307895273763131664949861028256202899007652014536804546228584536945964231139474180438259544585205529570859753952556078546973684940966017747710484190746445584757057056034227232933871425688238081206301204937362005988566423995103187490053963462539790407908308616200349631944562511503333819270008769984501600906269531238388227604883695777681992036820504775073393074726837373142011855049584925730934936782844117177293999357059408905448977354905500742405448846623839969427161158647625877325504096534027660653354895703375296593031508254613867563192095929379403599475729639905418101293197083464232367242202279836617673104828685472626592361100015960897231838698643034305365512074327719833653557925171992046688012835122092487897089179580914790047954228100435074001000191055296801267711159391657379148874189184369917688661872891680387058551443881204735330335253434007750566233586589017179992481361399460100399676885506479038021659764227626580968943532002113924350961193177258111656508912708535625516834405291238179184483086258041838035833577322760158017119739347428002444322139883013249193201028814044384017991107329070931831792122865523967606164152884449493034557401987572667362766210172415839211240498920456448672310742302624916658372683721569279901173371955984343438875060694179518933964213968833223363937874461659485414995805419041047569338442650148229753743037731724518887278020473120938828000198255689772852646378210855174260219078008083021108158030587538389955630960750952761958385881765918777320805265577321401900847363378881784177185605683484823389337145883845471723163731676595907378397761100607807686111280376722819909120990988195466999334695083922974433655472376377485445761353109499461093520497100169261032560568095150391303789453062110572494969724919281087584385235730964527950648107538100852553076070569596806811153941522816505468167780538521311110310625115761211523953887046147878146475006408575270766047672499118447990066483479733899706439896368192786386123834464788044274084233863268256262407923018576031747343950357581665191685369872972992334331659424587625057290116717308826360439290851680668869523826424422348593095282096268930642000137987258276399977077106615431539011060673212872026464858722801980719493838301168184962406639759251885643152747210613198322550693996435118759970032593607579754477131395625959454830466458794040928123141653228453557693019363349795948216431259816898105835043043538997769124212581793274263433194001002303402901356495147194261702933851125738825861887661530929150428641229983756846580374778500419154462576856476716003742470793503768007 2319494135961389379223717417580749254807766464567292690773745394201998279755956266167779123989330272620902337316362638345705165181218983655744762413783421916224541628707606056421147791580689746908764786976826651889376814290203116649742434221000415683682107168458691430547403163151993304985554950480384191505818663784519155864684187491344691840327246029292246988165826540336091629890418480276698867752221428804548579335078834038960574348315732477565721529739051783836220852446372084580529889366332515246214316686503536875024329903487852339375298324153627138633263125812313563284223790563462149593959336156279844404434838515825586138639483858138516146744788182263978698319886349604160589881746823869760968428671263892827526728378843452282771344215850089033497117731708638123733255906897113814155524948340007420519948879154900751114153581483856023331390049525846288651199552647346877231775954896993854680263871510687492154602772372973004522747376746730120298562769335234680117616340744991557187963698049307824477158036999353099448159634319280422417416814732848156405855850450426559215659927282055688592733379220403886474699600940933733722103163188663994372215944031457401759445594786321021878480800606829507240489335413320993792979036824060112011865723546666371275412071662512972955530173567528193886492164090835718246864176703120923266908470123648800278093613505371710056530199685578901086515263833916300754691193986768541511397690320926846749353946973642418903519485201083916650295779727074663873799823674422711079744584119997935623827319948778924515124914001506866983828655352175256247261832180246649572000723254445608525913291371119996227142785531160818024550092992136447650875480186652997023327680379984999044391930428739542800942746326465137767970922363775462986641107623212264041999384449969163955833980160255195493128159834309010548582275350670764279632882598752270746685892932530982851903261210079745133159803049149723536646411967821842523671383792589581426697405263207313624894659635116997153242926347178503825664618411918583307957664622620653519640266454451934672790272400558675267417449885661985603824740313143363328413032209468647136919297453385873983526985228401520865625755580933187780451275510545774747874486707228633416913233417028765560392706070491865881975074459403128476494431070491193019026025242295033688172262907939435811857164088100371720085565125507618945372741076986649035527871067989596982771849674009310586117021736203847375128851180754746252147525074864657387789871503803778523966771011458305120452706820573108586529869853265899676400917858804457098173201076607647409338426417420784744194154587800375321460335197812497889279277730380963741019504796450972989221982489833763402608077315831040649258719833865084818014213445855957684509666963604498860652851377406619264730515304031157680198274092410015713976115914359782089039580032143715039019773090802381333142728756133167063183982192841162117606376618398237915872707373829211924956717228336472772550031216795840793849679000389544674831704894085202733851967051368764809154897514028066868723670825500620553503154686795908680126111234778779119609337789325456475121892712975354657837992210792779188687847157112511811380886621566569456316772449341513628151264951457342344938970840677587803840468888952077972555679898287716641004492092822065658981212086834340083972455299038558259847664062649004779218284850324110194795054185655865005235373959402128898182782158206558839977726041815646116201428152642085942676283935414375734771629102779887996 3753020348691597774284391222361026628909130076331945969821983540745034568635056237435819015255114886737828148161792482471040512684260807968721912592281819761864706481614652468433549180395640814113622049409743074173064431211212955332622560812554671141986290076894470553723310199415618888139228278370354840019899844195803546591467037442714616273122819258675169486123046532997554210266834012817172262460576214929830963736151176545762110514455170685052196369922905834162829452610613428601489103541875039853667019692140259315692358954751725264639983568525764002182791763042959787648088196314764995692390034592226819158488020248450651943424837990334520356951490705567468938467328879505100512173739768974947541280902222239248323241106589133241954097751440179029485886834273608554231661451077848317885852980821023955799927250391246973323513995734200568308283857773109140971692656125009535653057377951327418819972735373642737801847984814156834223246684642003883430227719196262936320515348397006093992509926633844770441389176473533537707704219524809993277170767288926703379540791416444306926144118028501273349790435254631119408571026629171814928404368126026000360782368026560589249499558248860812286389109223029856872433897924824327612249045594044613612771993077904759503016955358290654947566994072303267279566890928208860258719226288046654201845252967765977572092970564780615505507554591079643491964110457756270181852352634394418836901786854954507402708842677017715496550993455697784213487875656454067473275553314328129181037781203462167991069522228615542188229742686979493576189755368136153479100530823280954937512797582165442179471216543112042915155620653253305921639272573051237698829708287088071024327871435281800312103089820396921949816935510835055456632795255455850045192551504416999372334637883976914522067566749272375485609521233769110948259160857149802301292646826378851715629424934644907202864454387337856789668715757685349053480817259060021708154470050631419462530982585967471642014398982544999597565066230191753018865647225962967325948771951691585351432389319975902278954425285008168301974851873234652966590950485559202539653531129925095809230039756010790641899668949970800766799127536917531219326336204725293681838700676061856780851107878688250975388511489532913451313517109551358230237468802215711906304045715415972516172461163629208664503542298955545980304643133590640053530771664525038991158831818942358941157731439928087906922287313525249275976214559636530429333130758349480777127017387649250247130502688054212498850467921180916272641150229988719585521908846999924097507896160530621842993898793798270189955507697299836414980832297981758921839845825531355044808957858561545484191707409114850986993313046795568599906827371965937371090284015452764495663608486421004328820631915927930375041140419792369204152161138557893860451122322935052855087252531262163029086256570536281039582625124325953449307816657629206391690610481666494178280630392405243672300667585918137964235401089768833128181338424977169732121821611394029094291257903049433678678723938450415461818952921769551195503292674054185080103188341394210658620398462538328501586751435777335377331830511960964151094486916364397454533633832179767778867466445776632388121297545064922099416102236303547258670935347746118900678821551516170198697511456171861607197643346651238189807498342577556028971876644442279042651478851326413597696410680803059266938307810527867724044669819737487990406367271799402962781802931142505097138860791891091738514099896283656003 6072514484652987153508108639941775883716896540899238660595728934947032848391012503603598139244445159358730485478155120816745677865479791624466675006065241678089248110322258524854696971976330561022386836386569726062441245501416071982364995033555086825668397245353161984270713362567612193124783228850739031525718507980322702456151224934059308113450065287967416474288873073333645840157252493093871130212797643734379543071230010584722684862770903162617917899661957617999050305056985513182018992908207555099881336378643796190716688858239577604015281892679391140816054888855273350932311986878227145286349370748506663562922858764276238082064321848473036503696278887831447636787215229109261102055486592844708509709573486132075849969485432585524725441967290268062983004565982246677964917357974962132041377929161031376319876129546147724437667577218056591639673907298955429622892208772356412884833332848321273500236606884330229956450757187129838745994061388734003728790488531497616438131689141997651180473624683152594918547213472886637155863853844090415694587582021774859785396641866870866141804045310556961942523814475035005883270627570105548650507531314689994732998312058017991008945153035181834164869909829859364112923233338145321405228082418104725624637716624571130778429027020803627903097167639831461166059055019044578505583402991167577468753723091414777850186584070152325562037754276658544578479374291672570936543546621162960348299477175881354152062789650660134400070478656781700863783655383528731347075376988750840260782365323460103614896842177394466703354656688486360560018410720311409726362363003527604509513520836611050705384507914232039142298406184414123946189365565187685349705188473741068047655551815266799356495020249136464750759681837300193224603717619231313031833659127629263414334022333946078477901546909527570978737681068078121496841436207820566580925529425131122462315317867175890054767715597417601922828518806835072590127229226881864231825853843221000889228387849174785266909058617661996750807992577370256844530265637881550633906436574312238871072655774427836951744697685566843569392301758896638570415690798702565868066563339393742946149337209396664625426654178372321632424883117850718999777611715271068429713187383290490197764341295717016535781217560024779333288591568954486706731899872706904925330070957711006204344724071568644476360706387055917700390208259098258998903512741511688026686702886931955923929581113937398493039309049729096651105065740391276681480655833214138164916888891453028771097273699512517619303174741754024859171020083254619261922826705804381195681097237138269252332325211219054934149662285100211736441167495794256811119123555912318785828462655012518473413689898948614389601390362626609249165547205831022189104497461308722180173275450025503189473483293334549639771655723823526884350435230967909574427238237294834944126832563405878068106029661338662372725353880459120512491798850470368509296987100064732094153337766234455597257384814254610736785432306564673922031017425366714406953526505479231828143224954418198487833621452478482330542623747270171749006447360850093760229299576172989778229736251863784976708644148752690035169822722753743339782334073476909265914520453746337235184238895118146016272562496522264444355073076981135062511404236698196873234501449803886839702003548993927266178855433485578273779953641616114288819540707091283821869763701650523792491464866458924272173681769929996622227451977944046830384093313615049078983231083784591039815144727305467473285728999063543999 9825534833344584927792499862302802512626026617231184630417712475692067417026068741039417154499560046096558633639947603287786190549740599593188587598347061439953954591936910993288246152371971375136008885796312800235505676712629027314987555846109757967654687322247632537994023561983231081264011507221093871545618352176126249047618262376773924386572884546642585960411919606331200050424086505911043392673373858664210506807381187130484795377226073847670114269584863452161879757667598941783508096450082594953548356070784055506409047812991302868655265461205155142998846651898233138580400183192992140978739405340733482721410879012726890025489159838807556860647769593398916575254544108614361614229226361819656050990475708371324173210592021718766679539718730447092468891400255855232196578809052810449927230909982055332119803379937394697761181572952257159947957765072064570594584864897365948537890710799648692320209342257972967758298742001286672969240746030737887159018207727760552758647037539003745172983551316997365359936389946420174863568073368900408971758349310701563164937433283315173067948163339058235292314249729666125291841654199277363578911899440715995093780680084578580258444711284042646451259019052889220985357131262969649017477128012149339237409709702475890281445982379094282850664161712134728445625945947253438764302629279214231670598976059180755422279554634932941067545308867738188070443484749428841118395899255557379185201264030835861554771632327677849896621472112479485077271531039982798820350930303078969441820146526922271605966364406010008891584399375465854136208166088447563205462893826808559447026318418776492884855724457344082057454026837667429867828638138238923048534896760829139071983423250548599668598110069533386700576617348135248681236512874687163077026210632046262786668660217922992999969113658799946464347202301847232445100597064970368882218176251509974177944742801820797257632169984755458712497234564520421643608046485941885939980323893852420351759370435142256908923457600206996348373058807562009863395912863844517959855208526003824222505045094403739230699122970575011871367153632131291537006641284261768407720094469318838755379376965407455267326323128343122399224010654768250219103947919996362111551888059352346978615449174405267511169729049557692784602108678505844936969368674922616831634116673126978720517185235197853140864248686011463680694851392688899052434284406036727017845534705874314865087312553865486399961596363254345927081280300027807110813786591563618942043906279102279018227776387566730118153642662934941131812170313243338847444735552804305293188993397668891095326224005017325124105169982400048151421999793776015732958969381443673830637420513574063957605397308063465376594703409422177849072374577796959560194781476761486675836883936446507518294115209262480014812796143615896088502596369525803434878360560229887799214085094668041097192286231874943412307979004785073961799615508099574900987597581731226272433968158639699269558052400172748701020833396333507050212355850343884139075348116873260922434482857467632166512345390928897792361576669039722944509740034904278840332487917567200436850134714402113478295395584530025412501653234714707490876820989841306720448154285926105014051705340894778404393860041587186543771175313284682321182339584444315773913323001320057038399515005165788873376498780136816463587451984193670317791417351533562864521242552976937390187875547261983539111989580457864346272121797681534820790460585414452041765034014927096136954005519196559211799828895347200002 15898049317997572081300608502244578396342923158130423291013441410639100265417081244643015293744005205455289119118102724104531868415220391217655262604412303118043202702259169518142943124348301936158395722182882526297946922214045099297352550879664844793323084567600794522264736924550843274388794736071832903071336860156448951503769487310833232500022949834610002434700792679664845890581338999004914522886171502398590049878611197715207480239996977010288032169246821070160930062724584454965527089358290150053429692449427851697125736671230880472670547353884546283814901540753506489512712170071219286265088776089240146284333737777003128107553481687280593364344048481230364212041759337723622716284712954664364560700049194503400023180077454304291404981686020715155451895966238101910161496167027772581968608839143086708439679509483542422198849150170313751587631672371020000217477073669722361422724043647969965820445949142303197714749499188416511715234807419471890887808696259258169196778726681001396353457176000149960278483603419306812019431927212990824666345931332476422950334075150186039209752208649615197234838064204701131175112281769382912229419430755405989826778992142596571267389864319224480616128928882748585098280364601114970422705210430254064862047426327047021059875009399897910753761329351966189611685000966298017269886032270381809139352699150595533272466138705085266629583063144396732648922859041101412054939445876720339533500741206717215706834421978337984296691950769261185941055186423511530167426307291829809702602511850382375220863206583404475594939056063952214696226576808758972931825256830336163956539839255387543590240232371576121199752433022081553814018003703426608398240085234570207119638975065815399025093130318669851451336299185435441905840230493918476108859869759675526201002682551869071477870660568327517443084883369925353941942033272790935463143705676641096640260060668996687312399885582173060635325753371355494233735275712823750171806177737073421240987758284317042175832516217868993099181051384932266707926178501726068593761645100316063093577700868831576182443820656141855440759455391027930107422332082964334275786657808712581701528714174804119892752977306715444031648893772618969218881559635267430541265075442642837176379790470122284046950946609582472117890700247460331643701268547629521756964187630837984924861909306766497617224955073067381381085059651787158051337797147548415044532237592806270789016893667802884893000905412983442578186346040419083792294442424777757106960795170555307789325050087079247737456817404688965990983190396497958109367562258608686488870090634807160347658549216236380058254832267500259887863167289570272544078092937355992616465883168586582431019087207012079766196093772048787098237921783627981749299278938070208856010159386472010707767598502597029654584451867439422972853031600493713009305598797524722743340917658073919165298315893213605785033332885244194474291414358569943410284584681795958366587305924874154866815437214427359437806265702898180972243373275710598546028874622352492750577707811885830654345966843407380122904200416309894693516187395754372600561787493740190215079870966265898455004039733282715447671475957468450830659155063318215986362674739672442249235944236012924420666422538109450988126248390265817383693743821142512647147824451123943878101518554159716139555354213622394737367405625809784606610958058624846686391006254627461182679340413720907811285671350387860968499573775625581651174553899029501120748265098711687176769150246502026685085557894410744001 25723584151342157009093108364547380908968949775361607921431153886331167682443149985682432448243565251551847752758050327392318058964960990810843850202759364557997157294196080511431189276720273311294404607979195326533452598926674126612340106725774602760977771889848427060258760486534074355652806243292926774616955212332575200551387749687607156886595834381252588395112712285996045941005425504915957915559545361062800556685992384845692275617223050857958146438831684522322809820392183396749035185808372745006978048520211907203534784484222183341325812815089701426813748192651739628093112353264211427243828181429973629005744616789730018133042641526088150224991818074629280787296303446337984330513939316484020611690524902874724196390669476023058084521404751162247920787366493957142358074976080583031895839749125142040559482889420937119960030723122570911535589437443084570812061938567088309960614754447618658140655291400276165473048241189703184684475553450209778046826903987018721955425764220005141526440727317147325638419993365726986883000000581891233638104280643177986115271508433501212277700371988673432527152313934367256466953935968660275808331330196121984920559672227175151525834575603267127067387947935637806083637495864084619440182338442403404099457136029522911341320991778992193604425491064100918057310946913551456034188661549596040809951675209776288694745693340018207697128372012134920719366343790530253173335345132277718718702005237553077261606054306015834193313422881740671018326717463494328987777237594908779144422658377304646826829570989414484486523455439418068832434742897206536137288150657144723403566157674164036475095956828920203257206459859748983681846641841665531446774981995399346191622398316363998693691240388203238151912916533570690587076743368605639185886080391721788987671342769792064477839774227127463907432085671772586387042630337761304345361881928151070818204803470817484570032055566928519347822987935875915877343322198765636111786501630925841592747128719459299084755973818075989447554110192494276571322091365570586553616853626319887316082745963235315413142943626716867312126609023159221644428973367226102683506752278031420456908091140211575160079300435058566430872904427387219437985507555263792652816963501995184154995239644527551558120675659140164902492808925966176580670637222552138588598304303964963645379094541964350758089203759078845061779911044476057103772081553585142062377772298680585654104206221668371292962501776237788505267626340446890903108229016341376049004701449657586807552826474645977855610460067623907122795360709741296956812297811412991782059084032476051442984773221253705182360002249900308039285167083346288277037062318799666447103303682160646388624484515075545142790797181470964947310296361424941309494060414831695531847043322918518226061713711859509669397248011055319061355627970019516444183959357754610542555002752741960262490602125088549197341311890029268436091029866669518311272182263527184639021274083513854136373489614600108138827099099231688022455729126054482685104222739225753673012190669353462820858312234336277915265777085349617638025927430658651440894275411307390651930005680668011933299435317812740860173129192183158321535976053159522706810829025598547263287649576907702825060282579696637531897423703550499704876083405586828421061147452444000916501033559325505012931852993759211200954857610003454924402375410158409550912248807604398572867215960982891350397660930845725314771695573307116471965014484443953162513299113638783313723155765698585896885386789757944003 41621633469339729090393716866791959305311872933492031212444595296970267947860231230325447741987570457007136871876153051496849927380181382028499112807171667676040359996455250029574132401068575247452800330162077852831399521140719225909692657605439447554300856457449221582523497411084917630041600979364759677688292072489024152055157236998440389386618784215862590829813504965660891831586764503920872438445716863461390606564603582560899755857220027868246178608078505592483739883116767851714562275166662895060407740969639758900660521155453063813996360168974247710628649733405246117605824523335430713508916957519213775290078354566733146240596123213368743589335866555859644999338062784061607046798652271148385172390574097378124219570746930327349489503090771877403372683332732059052519571143108355613864448588268228748999162398904479542158879873292884663123221109814104571029539012236810671383338798095588623961101240542579363187797740378119696399710360869681668934635600246276891152204490901006537879897903317297285916903596785033798902431927794882058304450211975654409065605583583687251487452580638288629761990378139068387642066217738043188037750760951527974747338664369771722793224439922491607683516876818386391181917860465199589862887548872657468961504562356569932401196001178890104358186820416067107668995947879849473304074693819977849949304374360371821967211832045103474326711435156531653368289202831631665228274791008998058252202746444270292968440476284353818490005373651001856959381903887005859155203544886738588847025170227687022047692777572818960081462511503370283528661319705965509069113407487480887360105996929551580065336189200496324456958892881830537495864645545092139845015067229969553311261373382179397718784370706873089603249215719006132492916973862524115294745950151397315188674025321661135955710434795454981350516969041697940328984663610552239808505587604792167458464864139814171882431941149101579983148741307231410111078597911589386283592679367999262833734887003776341260588490035944982546735161577426543279248269867296655147378498726635950409660446832066891595586764282858722752886064414187151751851305450190436959293410086744002158436805315015695052832277741774010462521798200006188656867067190531223194082038944638021331375030114649835605071622268722637020383509173426508224371905770181660345562491934802948570241003848730848375314158832146226442864970696263215155109878701133557106910009891486856443121099889471256185963407189221231083453972380865974695402671441119133155965496620212894596877876561725225593067277472312873113778551106239255066179860070021678270929174667283211790643322437490085240614834517400567927148334372916560821115155256155659063569186850747228819643571722087624908986890953519752045548218145052923058793339352901904387857202709390528933829312214456539323981699878494742034208659570513229453489558155279333285895920410815879427788918018302154982374644775273462910382444225239461721556766945323143005608580008388009003188926829027467576633364802129868994699102401765081231133097361578246423589898481239293475204279077743658038169977501659512331542114826413024041456062905047580867009876646933910388303475051095456307844605149651609152195131116477738693173503765270989512523593812920627245726705117806088520023672093816317088569827226729341068208971903567944794602552113485221152487207207381605938322263235813239531013333468783256237303255062231859755546556374703799161683332281233586283271269348932698123139568383473454283261564212350470490492306012200612581970944684168688004 67345217620681886099486825231339340214280822708853639133875749183301435630303381216007880190231135708558984624634203378889167986345142372839342963009931032234037517290651330541005321677788848558747204938141273179364852120067393352522032764331214050315278628347297648642782257897618991985694407222657686452305247284821599352606544986686047546273214618597115179224926217251656937772592190008836830354005262224524191163250595967406592031474443078726204325046910190114806549703508951248463597460975035640067385789489851666104195305639675247155322172984063949137442397926056985745698936876599642140752745138949187404295822971356463164373638764739456893814327684630488925786634366230399591377312591587632405784081099000252848415961416406350407574024495523039651293470699226016194877646119188938645760288337393370789558645288325416662118910596415455574658810547257189141841600950803898981343953552543207282101756531942855528660845981567822881084185914319891446981462504233295613107630255121011679406338630634444611555323590150760785785431928376773291942554492618832395180877092017188463765152952626962062289142692073435644109020153706703463846082091147649959667898336596946874319059015525758734750904824754024197265555356329284209303069887315060873060961698386092843742516992957882297962612311480168025726306894793400929338263355369573890759256049570148110661957525385121682023839807168666574087655546622161918401610136141275776970904751681823370230046530590369652683318796532742527977708621350500188142980782481647367991447828604991668874522348562233444567985966942788352361096062603172045206401558144625610763672154603715616540432146029416527714165352741579521177711287386757671291790049225368899502883771698543396412475611095076327755162132252576823079993717231129754480632030543119104176345368091453200433550209022582445257949054713470526716027293948313544153867469532943238276669667610631656452463996716030099330971729243107325988421920110355022395379180998925104426482015723235640345344463854020971994289271769920819850570361232867241700995352352955837725743192795302207008729707909575590065012673437346373396280278817416539642800162364775422615344896455227270212911578176832576893394702627393408094852574745795015846899002446633205486370269759177387163192297927862801922876318099392684805042542992733798934160796238767912215620098390695199133403362591225071504644881740739272258881960254718699169287782190167442097225306111139627478925908965459019588721598721312865598510900457460509204970198069870481404430703036371203448677737539936780236573911815980552022992157881434670052988258699759263233628095658743790422974836767300875966433501456262849098152217574955325510672490532907875208268056237163170051777688134990716992858514506477864368287399767733599919704246032309047159891025926316048993378947889550061095564287540532745897673517513033943828450923163557839690279520143390704179715956665302731346473474091908980032828949208850327644629854091901863139562416443627575715460463901361557017154831527819563916237320100804000096602089150592756296062591312079935953435754587009129969568042257071675482350338316354971518939882327601922321602910368908197168017734341834767473731107169637261399984332790869536775811243389828330070786987697502726051921095797366816793445910632316169489270119356011945711103585672810726165419060201140817139277120845816694455415708878941665788215503869836258328413772335686690512080993212079311598042964922239814595104582867917407445774863325989253804215461777899198478856331473926632007 108966851090021615189880542098131299519592695642345670346320344480271703578163612446333327932218706165566121496510356430386017913725323754867842075817102699910077877287106580570579454078857423806200005268303351032196251641208112578431725421936653497869579484804746870225305755308703909615736008202022446129993539357310623504661702223684487935659833402812977770054739722217317829604178954512757702792450979087985581769815199549967491787331663106594450503654988695707290289586625719100178159736141698535127793530459491425004855826795128310969318533153038196848071047659462231863304761399935072854261662096468401179585901325923196310614234887952825637403663551186348570785972429014461198424111243858780790956471673097630972635532163336677757063527586294917054666154031958075247397217262297294259624736925661599538557807687229896204277790469708340237782031657071293712871139963040709652727292350638795906062857772485434891848643721945942577483896275189573115916098104479572504259834746022018217286236533951741897472227186935794584687863856171655350247004704594486804246482675600875715252605533265250692051133070212504031751086371444746651883832852099177934415237000966718597112283455448250342434421701572410588447473216794483799165957436187718342022466260742662776143712994136772402320799131896235133395302842673250402642338049189551740708560423930519932629169357430225156350551242325198227455944749453793583629884927150273835223107498126093663198487006874723471173324170183744384937090525237506047298184327368385956838472998832678690922215126135052404649448478446158635889757382309137554275514965632106498123778151533267196605768335229912852171124245623410058673575932931849811136805116455338452814145145080722794131259981801949417358411347971582955572910691093653869775377980694516419365019393413114336389260643818037426608466023755168467045011957558865783962373057137735405735134531750445828334895937865131679314120470550338736099500518021944408678971860366924367260216902727011981605932953889965954541024433347347363129818631100163896848373851079591788135403639627369098604316472192434312817898737851533525148131584267606976602093572451519424773781701770242965265743855918606587355916500827399596751719641936326239040981041391271226817745299873827222768263920196585438943259827272819193029414448762915459279723288173570860785861102239426047508717521423371297947509852437002487413991838955852256276197792081654298540346406000610883664889316154680250672175571102178840293913571898579642360935694690083376001308579598096429041745015012249653350352462922219807089172017951456348323917433367042475024271418096233875663589671284701443893581835829179409919267372831110984574241677383655104027911627959250794960764579088510469038406732651530787427080739120635504307561448741699576093720338140772588317360647768044803129772947111045975351163075668313277114346843574373719118068438161692859162090601440576194256855918317148441754385716154173470650238434100289872142751343272655043292093828703491426011853933929584645147370417462382246520191987631832049771266870389823593991605732088668642301110157083484699523806401221402552385949758974535832709906385420003653475862339491486376625926238286115000093157836556140526288334837202748957316513692815308814571944767891183133882015737859045510557479091259579890505706137786295947317906267408522423077599384081629933986429042347724922025518758932068118083960328710390489673764325493312897881314234271172512718244151251390861729036427538339724294707767790099811060827276158095320011 176312068710703501289367367329470639733873518351199309480196093663573139208466993662341208122449841874125106121144559809275185900070466127707185038827033732144115394577757911111584775756646272364947210206444624211561103761275505930953758186267867548184858113152044518868088013206322901601430415424680132582298786642132222857268247210370535481933048021410092949279665939468974767376771144521594533146456241312509772933065795517374083818806106185320654828701898885822096839290134670348641757197116734175195179319949343091109051132434803558124640706137102145985513445585519217609003698276534714995014407235417588583881724297279659474987873652692282531217991235816837496572606795244860789801423835446413196740552772097883821051493579743028164637552081817956705959624731184091442274863381486232905385025263054970328116452975555312866396701066123795812440842204328482854712740913844608634071245903182003188164614304428290420509489703513765458568082189509464562897560608712868117367465001143029896692575164586186509027550777086555370473295784548428642189559197213319199427359767618064179017758485892212754340275762285939675860106525151450115729914943246827894083135337563665471431342470974009077185326526326434785713028573123768008469027323502779215083427959128755619886229987094654700283411443376403159121609737466651331980601404559125631467816473500668043291126882815346838374391049493864801543600296075955502031495063291549612194012249807917033428533537465093123856642966716486912914799146588006235441165109850033324829920827437670359796737474697285849217434445388946988250853444912309599481916523776732108887450306136982813146200481259329379885289598364989579851287220318607482428595165680707352317028916779266190543735592897025745113573480224159778652904408324783624256010011237635523541364761504567536822810852840619871866415078468638993761039251507179328116240526670678644011804199361077484787359934581161778645092199793446062087922438132299431074351041365849471686698918450247621951277417743986926535313705117268182980388992333031138549369203432547625861146832422671305613046180102009902882911411288879898544411863085023516244893734816294847389126598225470235478655434095439164249311203454793004846572216682121254887880043837904432304115569633004609931456218124448240866136145372211877834456991755649258213884084412338773001481200630121246642120884014596369452154734177741759672873799210570955445485574271821740637571712111750511143815225120139270260897169823491705892424472356040151565905892759953857405739282634467632490422752552186433586926374738200359112164175832891018376905692066801738257899513754977666086564508052002319860015337285442259017419590406066310084914167916562979236179684196413965012542267223501186031265247158008651795368138888369104227265694774008623253611364067088637310739595657594864225337234651578721248836593181347220942797766737931558808347958305083563341806558105878925603329392409057421787214665363023798294868288192191735282313759716282619007554292604852983029008765457404209063607737563186246616794076782424806067329461701903529945041486675677772270678199340556375006156739537757523904889641302137755031509295788911850643880073833321144099657345455752261493142169347010063064146080592577287387300680512811540623865863688549950675461648491361680046749210615591836216809723459106673483325327609663240216876504927446628441844751226666587813734262801904376412374101046077180185845318705392209479357199193412327313348734119308269174811290864328978098923229567999009539683607632021952018 285278919800725116479247909427601939253466213993544979826516438143844842786630606108674536054668548039691227617654916239661203813795789882575027114644136432054193271864864491682164229835503696171147215474747975243757355402483618509385483608204521046054437597956791389093393768515026811217166423626702578712292325999442846361929949434055023417592881424223070719334405661686292596980950099034352235938907220400495354702880995067341575606137769291915105332356887581529387128876760389448819916933258432710322972850408834516113906959229931869093959239290140342833584493244981449472308459676469787849276069331885989763467625623202855785602108540645108168621654787003186067358579224259321988225535079305193987697024445195514793687025743079705921701079668112873760625778763142166689672080643783527165009762188716569866674260662785209070674491535832136050222873861399776567583880876885318286798538253820799094227472076913725312358133425459708036051978464699037678813658713192440621627299747165048113978811698537928406499777964022349955161159640720083992436563901807806003673842443218939894270364019157463446391408832498443707611192896596196767613747795346005828498372338530384068543625926422259419619748227898845374160501789918251807634984759690497557105894219871418396029942981231427102604210575272638292516912580139901734622939453748677372176376897431187975920296240245571994724942291819063028999545045529749085661379990441823447417119747934010696627020544339816595029967136900231297851889671825512282739349437218419281668393826270349050718952600832338253866882923835105624140610827221447153757431489408838607011228457670250009751968816489242232056413843988399638524863153250457293565400282136045805131174061859988984674995574698975162471984828195742734225815099418437494031387991932151942906384154917681873212071496658657298474881102223807460806051209066045112078613583808414049746938731111523313122255872446293457959212670343784798187422956154243839753322901732773838946915821177259603557210371633952881076338138464615546110207623433195035397743054512139413996550472050040404217362652294444215700810149140413423692543447352630492846987307267814272162908299995713200744399290014045751605227704282192601598291858618447493928861085229175659121860869506831832699720138321033679809395972645031070863871440518564717493607372585909633787342302869547294150838405437967667399664586614744247086865638166423211721683366353476039177918118112361394808704541274819520933072740925670546186338044254619793926841587450037233407047862232564061532167767564436086937278837660420166201336193784347366700823125433844213282170931851211541750154179336703763753597173114621668936686963237177294659155845300218083264091312155664759973306846312011655069671979809539439222448878009004608534827143515708199347331702207861225628100243425639667355110181762624696599999668849660498057144610312305277926416396466776422503897159546455119860185310726205863541600381517197268945106722292481607425065102988937662299648121308344409040862699386988854210978155025568493136986064414256855838596332091727123936647218764346414571788356424041074529963140759160076290839400276673587741415681208915504119742413324807520725583583741867261586300005903150589352480917795326244703814373328120355195810631579733084557477386350407190604228301875171726722515861245402620801231595018185663294475889009076562428273793574391509839253021733972494496334429756467669859609644198705107360671433464584840031592885370699130903847718402668702393630997358098820600510883790117272029 461590988511428617768615276757072578987339732344744289306712531807417981995097599771015744177118389913816333738799476048936389713866256010282212153471170164198308666442622402793749005592149968536094425681192599455318459163759124440339241794472388594239295711108835907961481781721349712818596839051382711294591112641575069219198196644425558899525929445633163668614071601155267364357721243555946769085363461713005127635946790584715659424943875477235760161058786467351483968166895059797461674130375166885518152170358177607222958091664735427218599945427242488819097938830500667081312157953004502844290476567303578347349349920482515260589982193337390699839646022820023563931186019504182778026958914751607184437577217293398614738519322822734086338631749930830466585403494326258131946944025269760070394787451771540194790713638340521937071192601955931862663716065728259422296621790729926920869784157002802282392086381342015732867623128973473494620060654208502241711219321905308738994764748308078010671386863124114915527328741108905325634455425268512634626123099021125203101202210837004073288122505049676200731684594784383383471299421747646883343662738592833722581507676094049539974968397396268496805074754225280159873530363042019816104012083193276772189322179000174015916172968326081802887622018649041451638522317606553066603540858307803003644193370931856019211423123060918833099333341312927830543145341605704587692875053733373059611131997741927730055554081804909718886610103616718210766688818413518518180514547068452606498314653708019410515690075529624103084317369224052612391464272133756753239348013185570715898678763807232822898169297748571611941703442353389218376150373569064775993995447816753157448202978639255175218731167596000907585558308419902512878719507743221118287398003169787466447748916422249410034882349499277170341296180692446454567090460573224440194854110479092693758742930472600797909615807027455236604304870137230860275345394286543270827673943098623310633614739627507225508487789377939807611651843581883729090596615766226173947112257944687039857697304472711709830408832396454118583721560429293322236955310437654009091881042084109119552034898221183436223054724109484915854538907736985606444864075300568748816741129067080091425976439139836442631176356445481920675532118017242948698328432274213975707491456998248406788823503499668540792959289452564036851819320792486006759739437376994167167168940625297779815489830224111905952519766394958791193969910749162252078762516610659945492747480209991090812787144867031694022590520116622520524205212398620525313500369617238385077728817500645951540070445606189207836718687388706083613612510400063927954106553643243604744070013216781062500270996352078724985849113535512841100937226967548091017817016897373712762092838289716822600943066274949862938839839083234531580447416414203417848836262031007718999942377050236836734764354771859985845703717652334045463514703135263285328815046880221067239975010484673342707378862705220281307202413913197392069871464844393063274585892588754739753780141196681661905925793793630653881688705440024186842466555764597449536119880296917600195729041578811342772924976997827354763622487158128664825240929197619523079442175250160652416626998387903532091115053840931895819676495268283035232939034841768870650977512490763562939325584704509294284556922627848903511352393936523190870118544801058097652987284535876870908708530802544850045454962904097316840028632657997167344941619490007400078659009266997680492554226926097830140194491422139224047 746869908312153734247863186184674518240805946338289269133228969951262824781728205879690280231786937953507561356454392288597593527662045892857239268115306596252501938307486894475913235427653664707241641155940574699075814566242742949724725402676909640293733309065627297054875550236376524035763262678085290006883438641017915581128146078480582317118810869856234387948477262841559961338671342590299005024270682113500482338827785652057235031081644769150865493415674048880871097043655449246281591063633599595841125020767012123336865050894667296312559184717382831652682432075482116553620617629474290693566545899189568110816975543685371046192090733982498868461300809823209631289765243763504766252493994056801172134601662488913408425545065902440008039711418043704227211182257468424821619024669053287235404549640488110061464974301125731007745684137788067912886589927128035989880502667615245207668322410823601376619558458255741045225756554433181530672039118907539920524878035097749360622064495473126124650198561662043322027106705131255280795615065988596627062687000828931206775044654055943967558486524207139647123093427282827091082492318343843650957410533938839551079880014624433608518594323818527916424822982124125534034032152960271623738996842883774329295216398871592411946115949557508905491832593921679744155434897746454801226480312056480375820570268363043995131719363306490827824275633131990859542690387135453673354255044175196507028251745675938426682574626144726313916577240516949508618578490239030800919863984286871888166708479978368461234642676361962356951200293059158236532075099355203906996779502594409322909907221477482832650138114237813843998117286341788856901013526819522069559395729952798962579377040499244159893726742294976070057543136615645247104534607161658612318785995101939409354133071339931283246953846157934468816177282916253915373141669639269552273467694287506743505681661584124111031871679473748694563517540481015658462768350440787110580996844831397149580530560804766829065698161011892688687989982046499275200804239199421209344855312456826453854247776522752114047771484690898334284531709569706745929498757790284501938868349351923391714943198216896636967454014123530667459766612019178208043155933919016242745602214296255750547837308646668275330896494766515600484928090662274019562199872792778693201098829584158040576165806369215834943797694890531704251483907407230253846605075543417378888852306978773818993407948336473300761224307669778312127042651674832798265100560865279739419589067660028324219835007099595755554758287681058607461484050059040691514836563401585751778551942934490164822241377457400749586872866725409847367209683514685596890793516880420899403225858516999145764362308507743484959155959847524496170609206777087530240265894906378321296919981805425021948274768482811088566940082508874198935557598176828114448835930880668217057086987362542114661180751238636408349600877198789165323700013861469148870415428397418336185081732777154950132443965694157943606850535221541801110734164231381917485564047614323232890766205610938517744522125885357777818335924204370601414254912188638524066083021056077676486568441855484930514340658206742858883364900482936185550824512939486784665742181153311241769107916183229776794929427169052251015487126848016119790416421192176061255205814365935289661841445949911915085788517646034566805828282945599753298392338375449607492240306269849365405042960559012519905064607102802424200700066122582007376534504860706530982506727669666382886185224284196650740705375212256496076 1208460896823582352016478462941747097228145678683033558439941501758680806776825805650706024408905327867323895095253868337533983241528301903139451421586476760450810604750109297269662241019803633243336066837133174154394273730001867390063967197149298234533029020174463205016357331957726236854360101729468001301474551282592984800326342722906141216644740315489398056562548863996827325696392586146245774109634143826505609974774576236772894456025520246386625654474460516232355065210550509043743265194008766481359277191125189730559823142559402723531159130144625320471780370905982783634932775582478793537857022466493146458166325464167886306782072927319889568300946832643233195220951263267687544279452908808408356572178879782312023164064388725174094378343167974534693796585751794682953565968694323047305799337092259650256255687939466252944816876739743999775550305992856295412177124458345172128538106567826403659011644839597756778093379683406655025292099773116042162236097357003058099616829243781204135321585424786158237554435446240160606430070491257109261688810099850056409876246864892948040846609029256815847854778022067210474553791740091490534301073272531673273661387690718483148493562721214796413229897736349405693907562516002291439843008926077051101484538577871766427862288917883590708379454612570721195793957215353007867830021170364283379464763639294900014343142486367409660923608974444918690085835728741158261047130097908569566639383743417866156738128707949636032803187344133667719385267308652549319100378531355324494665023133686387871750332751891586460035517662283210848923539371488960660236127515779980038808585985284715655548307411986385455939820728695178075277163900388586845553391177769552120027580019138499335112457909890976977643101445035547759983254114904879730606183998271726875801881987762180693281836195657211639157473463608700369940232130212493992468321804766599437264424592056724908941487486501203931167822410618246518738113744727330381408670787930020460214145300432274054574185950389832496299641825628383004291400854965647383291967570401513493711945080995463823878180317087352452868253269999000068166454068227938511030749391436032511266978096438080073190508738233015583314305519756163814488020009219584991562343343363335841973813747786504717962072851211997521160460208679516968260528305066992668908590286582406447364989309868884375736756984343095741103303228199716260606344512920411546056021247604071598808897778560585206713744074064737103321012562423995050343863077475939684912336547870019415032622151966627449577348807797681127985689262457661216828336933018824136856280760435136116362311823063589957423591554114115930980822193914749524844900070523664504147295871733780208264633304859822209945005073383037337271546433744635621258082911803752034059012820095141844549217834757760951505779921592108730516005014591031532297672192911675936057029364412778951395945106010496394195304594851123210787214716996732434199230475277639403425056743261828292839822828399378224914052949134739193180605629075774980760149940203077972644546346807620179650447919678988431700024629644394788256721467953235973602202901352995276682297483434296273287265635204570213646987387641064850376065442137106307745184356403471894185734914571133308886044481009984146835163622116299155023355456033944931906183326856698852601167030654421209370345440273883470317180676882122944168510883176507705145227590805726236313751491361557369950519570006899741040728698780579174721476124350713931061165736936664063378739451210294480880899866634395720123 1955330805135736086264341649126421615468951625021322827573170471709943631558554011530396304640692265820831456451708260626131576769190347795996690689701783356703312543057596191745575476447457297950577707993073748853470088296244610339788692599826207874826762329240090502071232882194102760890123364407553291308357989923610900381454488801386723533763551185345632444511026126838387287035063928736544779133904825940006092313602361888830129487107165015537491147890134565113226162254205958290024856257642366077200402211892201853896688193454070019843718314862008152124462802981464900188553393211953084231423568365682714568983301007853257352974163661302388436762247642466442826510716507031192310531946902865209528706780542271225431589609454627614102418054586018238921007768009263107775184993363376334541203886732747760317720662240591983952562560877532067688436895919984331402057627125960417336206428978650005035631203297853497823319136237839836555964138892023582082760975392100807460238893739254330259971783986448201559581542151371415887225685557245705888751497100678987616651291518948892008405095553463955494977871449350037565636284058435334185258483806470512824741267705342916757012157045033324329654720718473531227941594668962563063582005768960825430779754976743358839808404867441099613871287206492400939949392113099462669056501482420763755285333907657944009474861849673900488747884607576909549628526115876611934401385142083766073667635489093804583420703334094362346719764584650617228003845798891580120020242515642196382831731613664756332984975428253548816986717955342369085455614470844164567232907018374389361718493206762198488198445526224199299937938015036966932178177427208108915112786907722351082606957059637743495006184652185953047700644581651193007087788722066538342924969993373666285156015059102111976528790041815146107973650746524954285313373799851763544741789499054106180770106253640849019973359165974952625731339951099262177200882095168117491989667632761417609794675861237040883639884111401725184987631807674882279492205094165068592636822882858339947566192857518215937925951801778250787152784979568706814095952826018223012969617740787955902981921294654976710157962752356546250774072131775342022531175943138601234307945557659591592521651056433172993292969345978513121645388299341790987822728177859771362109689116166564487941155116238100210680554679233627445354787135606946514452949588463828924944873554582845417802305726897058507474968381734515415448055214098827848608963638341219424331925615530047739252457159066223205132107095478739735447173312516701908343173496420409888634832703369626281184553200520990707010464420839525778348031877429435121735693587404085403550521730250779354028995613367565694904161033230561833442155640521723151498348806710130355355932801900566866497492603240572040072720004100982929451562612767859646746508123792344153114116351775321066057125857249132802544905472049912376110914730858201583069645903675057739610138476038983242972266794093536168520903484356280994291339793307156898245713987817401205535312552418558697394970045564346209518360553848765389670976380141874497668285922409072953168865925289781203801606293411313072530352288124001035926889955076593092410926537556783135954842830754363085680973908179036397850650748964315274813771877226120993161389141222634142263008476604333124456133957919918037123008959827722697466903221551957312637467897075575601718794451920569889855584177109702165241428764903161182098010629211420462043672464606330446264924675494491131621605241846652216199 3163791701959318438280820112068168712697097303704356386013111973468624438335379817181102329049597593688155351546962128963665560010718649699136142111288260117154123147807705489015237717467260931193913774830206923007864362026246477729852659796975506109359791349414553707087590214151828997744483466137021292609832541206203885181780831524292864750408291500835030501073574990835214612731456514882790553243538969766511702288376938125603023943132685261924116802364595081345581227464756467333768121451651132558559679403017391584456511336013472743374877445006633472596243173887447683823486168794431877769280590832175861027149626472021143659756236588622278005063194475109676021731667770298879854811399811673617885278959422053537454753673843352788196796397753992773614804353761057790728750962057699381847003223825007410573976350180058236897379437617276067463987201912840626814234751584305589464744535546476408694642848137451254601412515921246491581256238665139624244997072749103865559855722983035534395293369411234359797135977597611576493655756048502815150440307200529044026527538383841840049251704582720771342832649471417248040190075798526824719559557079002186098402655396061399905505719766248120742884618454822936921849157184964854503425014695037876532264293554615125267670693785324690322250741819063122135743349328452470536886522652785047134750097546952844023818004336041310149671493582021828239714361844617770195448515239992335640307019232511670740158832042043998379522951928784284947389113107544129439120621046997520877496754747351144204735308180145135277022235617625579934379153842333125227469034534154369400527079192046914143746752938210584755877758743732145007455341327596695760666178085491903202634537078776242830118642562076930025343746026686740767071042836971418073531153991645393160957897046864292669810626237472357747131124210133654655253605930064257537210111303820705618034530845697573928914846652476156556899162361717508695938995839895447873398338420691438070008821161669314938214070061791557681287273633303265283783605949130715975928790453259853441278137938513679761804132118865603240021038249567706882262406894246161524000367132223988414248899391093056783348471490589561834088377651531505837019195952358186225870288901022927434495464804219677711255042197190510642805848508021307956083256482926764031018279402748970935306144426106984586417311663576723186458090363806662775059294101384240471000894802186917016611203505457643714188712455799252518769067776522822898952826715817159109244262163400067154285079311032850654709455903276420863432862574974363125171510429439234025491113463804762397546865023584580664434055974953641709328854071344184646580593657927749907697817601984559562293628918227387904849166106613599170713702074266358772756431718513882389414945621995708711046710437998332991578499925693091659967567627358891179044180316704020089171145716188100017453070963259629196740210066901035586898129447854934017268876378952697143035195219300811535812089622492914393434956433491020187471945422382931879005863928020479178179858899226178877045417965243334641218385183493160177927697848095110471270488823762068229851163408724077477088871928615883286177339675765065886302955397213699400156110893960255030140577745325496394567018389189020544685814371080614429837127333260065925067572468079332994864175507258754333826479398193801507440189636709845641635414104728465017782695487881301838032545943282127259806103747116601906282157463683740356819486753562134393104838201542994509643664126704785612502505108481047936322 5119122507095054524545161761194590328166048928725679213586282445178568069893933828711498633690289859508986807998670389589797136779908997495132832800990043473857435690865301680760813193914718229144491482823280671861334450322491088069641352396801713984186553678654644209158823096345931758634606830544574583918190531129814785563235320325679588284171842686180662945584601117673601899766520443619335332377443795706517794601979300014433153430239850277461607950254729646458807389718962425623792977709293498635760081614909593438353199529467542763218595759868641624720705976868912584012039562006384962000704159197858575596132927479874401012730400249924666441825442117576118848242384277330072165343346714538827413985739964324762886343283297980402299214452340011012535812121770320898503935955421075716388207110557755170891697012420650220849941998494808135152424097832824958216292378710266006800950964525126413730274051435304752424731652159086328137220377557163206327758048141204673020094616722289864655265153397682561356717519748982992380881441605748521039191804301208031643178829902790732057656800136184726837810520920767285605826359856962158904818040885472698923143923101404316662517876811281445072539339173296468149790751853927417567007020463998701963044048531358484107479098652765789936122029025555523075692741441551933205943024135205810890035431454610788033292866185715210638419378189598737789342887960494382129849900382076101713974654721605475323579535376138360726242716513434902175392958906435709559140863562639717260328486361015900537720283608398684094008953572967949019834768313177289794701941552528758762245572398809112631945198464434784055815696758769111939633518754804804675778964993214254285241494138413986325124827214262883073044390608337933774158831559037956416456123985019059446113912105966404646339416279287503855104774956658608940566979729916021081951900802874811798804637099338422948888205818451109182630502312816770873139877935063565365388006053452855679803497022906355821853954173193282866274905440978147563275811043295784568565613336118193388844330796031895699730083920643854027173823229136413696358359720264384536969984873011944317230820685748033493506434242946108084862449783306847859550371895496787460178234458682519027017115860652850704548011543169023764451236807363098943905984660786535393127968518915535423247299542345084797097866342810350631812877499413609289512243689848069395945768356769762434413509232354702221663680837533767934217122990621650747561790354158378533576187778930114893537536470099073859841562998755160598880035887491065033514683925859643914125946167174388678731418224105571371444520395793167487676885948773619768316287245331835311248339332235338916322624531594953599753327139844161004155857714788081924254780525224012744770878423896275577544203041238905031651219929794074589419130240126750825790688440496364242285262067963421083510196820508761999285115538950947963009044178713135600338522282627754882645333695339794778784356416586450561955859917847301181763285215690088777251577915837880383715171451644737574440388010807680850736745737341925567598674228236984968938774746171141183020029334013858680890478222027196358707691963889066922229845352290292492567037431517038166095420576079859480247992297368056942536465120044929704650899210486186918228961609301967137127183983863087458282613356113719544563198596537568339102317326280422330420163384956877439751340395202697149661687924226304071523586228586901538917497382773554855148510666149324955908588802199276744124110350327700152521 8282914209054372962825981873262759040863146232430035599599394418647192508229313645892600962739887453197142159545632518553462696790627647194268974912278303591011558838673007169776050911381979160338405257653487594869198812348737565799494012193777220093546345028069197916246413310497760756379090296681595876528023072336018670745016151849972453034580134187015693446658176108508816512497976958502125885620982765473029496890356238140036177373372535539385724752619324727804388617183718892957561099160944631194319761017926985022809710865481015506593473204875275097316949150756360267835525730800816839769984750030034436623282553951895544672486636838546944446888636592685794869974052047628952020154746526212445299264699386378300341096957141333190496010850094003786150616475531378689232686917478775098235210334382762581465673362600708457747321436112084202616411299745665585030527130294571596265695500071602822424916899572756007026144168080332819718476616222302830572755120890308538579950339705325399050558522808916921153853497346594568874537197654251336189632111501737075669706368286632572106908504718905498180643170392184533646016435655488983624377597964474885021546578497465716568023596577529565815423957628119405071639909038892272070432035159036578495308342085973609375149792438090480258372770844618645211436090770004403742829546787990858024785529001563632057110870521756520788090871771620566029057249805112152325298415622068437354281673954117146063738367418182359105765668442219187122782072013979838998261484609637238137825241108367044742455591788543819371031189190593528954213922155510415022170976086683128162772651590856026775691951402645368811693455502501256947088860082401500436445143078706157487876031217190229155243469776339813098388136635024674541229874396009374489987277976664452607071809152830697316150042516759861602235899166792263595820585659980278619162012106695517416839167945035996877803052470927265739529664674534279569078873774959013238786344474144293749812318184575670760068024234984840547562179074281412847059416992426500544494403789378046830122468734545575461534216039509457267194861478704120578620766614510546060970352005235932731479720076841090276854905733535669918950827434838353696569567847854973686048523359705446461512580664872528415803053740359534407257085315384406899989241143713299424146247921664506358553443968452069383515178006387073818270967863220272064571537791232309866946663158956679451024712737812345935852393293333020452986190767144473646514617069975537642820449942330182047822615781131924514551018902031581462312898462465428158686194355298877939617059630979151076278283247690152035878576370746809197005740020117804414896880903259585218946156934219898478616253449822341504602493246457760174869559789054440697011212243737895134185824045891984288590913479237238023229719855487166249386697867485642004834868757200384331456407784151521100963267783768391196025325605851983549907173626568069617607398661580452025680528914640606314596446039079364955390816351338321369235230638073020656257441843858359561895030350870916451485805976051015491955130920835085745526372076332095440209263569933209412871192742737936157979350150643079644885031639654132808532800749503991892723148325477293196235998321405355874815010686557077487222279491125544134488026543746252843296534077381300131991359491121841792109092754307521052003388233247413980737731431008887348202858872838179277783886338484824409467791671342905977805743692270641895736984136335689248253348867692319465552252928904062356626615458808748088843 13402036716149427487371143634457349369029195161155714813185676863825760578123247474604099596430177312706128967544302908143259833570536644689401807713268347064868994529538308850536864105296697389482896740476768266730533262671228653869135364590578934077732898706723842125405236406843692515013697127226170460446213603465833456308251472175652041318751976873196356392242777226182418412264497402121461217998426561179547291492335538154469330803612385816847332702874054374263196006902681318581354076870238129830079842632836578461162910394948558269812068964743916722037655127625272851847565292807201801770688909227893012219415481431769945685217037088471610888714078710261913718216436324959024185498093240751272713250439350703063227440240439313592795225302434014798686428597301699587736622872899850814623417444940517752357370375021358678597263434606892337768835397578490543246819509004837603066646464596729236155190951008060759450875820239419147855696993779466036900513169031513211600044956427615263705823676206599482510571017095577561255418639259999857228823915802945107312885198189423304164565304855090225018453691312951819251842795512451142529195638849947583944690501598870033230541473388811010887963296801415873221430660892819689637439055623035280458352390617332093482628891090856270194494799870174168287128832211556336948772570923196668914820960456174420090403736707471731426510249961219303818400137765606534455148316004144539068256328675722621387317902794320719832008384955654089298175030920415548557402348172276955398153727469382945280175875396942503465040142763561477974048690468687704816872917639211886925018223989665139407637149867080152867509152261270368886722378837206305112224108071920411773117525355604215480368296990602696171432527243362608315388705955047330906443401961683512053185721258797101962489458796047365457340674123450872536387565389896299701113912909570329215643805044374419826691258289378374922160166987351050442218751710022578604174350527597149429615815207482026581921978408178123413837084515259560410335228035722285113060017125496240218966799530577471161264299960153311294368684707840534274979126334774930597940336878247877048710540762589123770361339976481778003813277218145201556119939743351761146226757818387965488529696525525379120351065283528558171708322122747505843895225804499834817274216440580041781800743510797154180613044349197424450083845362633881354083781481080379262892431515726441885438221970167048157516074130866788387203313757766124394076407424133916176396637721260296941360152251230998374392581900786742061192934349956493192200878281158521853743005798153539755009701471795723407323096766539976684682625968891424183213168148591420530194496266455237394938877981417295104355820386301921179025417503842522621265992768961907878956702469788259866135116520476143054880939785281240838805828107612392830625557197696748573741669852114942184473464604277153195310441144802931512916217805281205217945920944208206908325862609980401093380802455665815517346676269185622550998515853763109433509019759696239945610201802515654025926193986858696342691876658177011313125046304569080409148038316104350595891222076751794838869828372670276003592723603543199730762646101794284385290185756994331362331418897485215355063002983925134429758744611170473839138925754232439761525495686683267269118543474984929250391706110421240596566586829784982319840048757289309678623022257795056717535226733687521559129479595569210049329329920857543434654481519109244103401859533841644421460841731103339100750725809136448241364 21684950925203800450197125507720108409892341393585750412785071282472953086352561120496700559170064765903271127089935426696722530361164291883670782625546650655880553368211316020312915016678676549821301998130255861599732075019966219668629376784356154171279243734793040041651649717341453271392787423907766336974236675801852127053267624025624494353332111060212049838900953334691234924762474360623587103619409326652576788382691776294505508176984921356233057455493379102067584624086400211538915176031182761024399603650763563483972621260429573776405542169619191819354604278381633119683091023608018641540673659257927448842698035383665490357703673927018555335602715302947708588190488372587976205652839766963718012515138737081363568537197580646783291236152528018584837045072833078276969309790378625912858627779323280333823043737622067136344584870718976540385246697324156128277346639299409199332341964668332058580107850580816766477019988319751967574173610001768867473268289921821750179995296132940662756382199015516403664424514442172130129955836914251193418456027304682182982591566476055876271473809573995723199096861705136352897859231167940126153573236814422468966237080096335749798565069966340576703387254429535278293070569931711961707871090782071858953660732703305702857778683528946750452867570714792813498564922981560740691602117711187526939606489457738052147514607229228252214601121732839869847457387570718686780446731626212976422538002629839767451056270212503078937774053397873276420957102934395387555663832781914193535978968577749990022631467185486322836071331954155006928262612624198119839043893725895015087790875580521166183329101269725521679202607763771625833811238919607805548669251150626569260993556572794444635611766766942509269820663878387282856618580351056705396430679938347964660257530411627799278639501312807227059576573290243136132208151049876578320275925016265846632482972989410416704494310760305640661689831661885330011297625484981591842960695001741443179428133392057697341990002643162963961399263589540973257394645028148785657554420914874287049089268265123046622798515999662768561563546186544654853599892949285476658910688883483809780190260839430214047216245710017447922764104652983555252689507591206734832275281178093411950042277190397907536154119023888092578965407438131912743884466948213134241420464362244548140354187479249223564128222355584498268354813225854153418655319272312689129839094674683121336462934707979394093368467424199808840189504524910598040591024494109453819217087663590478989182768032362922888943600802818323523505832812421921350887072636457399793360065429132690831287984719485875443201673137286785881688365989009228598110049051851005749140653200675135873555131431239636608958313632759681353894977292896963318277205012699803013142526515680244154726029999713381078110659640768407088192525975098034835460425954897132905198077636266463285436732388045544391335766750654915062823391431849274835553319605788658934006391524621007407977248494745180472737492620523943920233746491836130089766461603554599507505232153386570477411999962909711834647007579012097058651418380901175849357301886037560008762414819489730996849178523313355648477755243197332539295446851298276278013334082471624558567417218890571229878013670482211916981024102296017973626952297978692604822029764064567401109902966106771042500798864728761648569975063032396300577780188298197026825881130633235995319113072172345968597271266912116027135073613128185330391465655444933351655208401533963887013094660007401457377341267945196330207 35086987641353227937568269142177457778921536554741465225970748146298713664475808595100800155600242078609400094634238334839982363931700936573072590338814997720749547897749624870849779121975373939304198738607024128330265337691194873537764741374935088249012142441516882167056886124185145786406484551133936797420450279267685583361519096201276535672084087933408406231143730560873653337026971762745048321617835887832124079875027314448974838980597307173080390158367433476330780630989081530120269252901420890854479446283600141945135531655378132046217611134363108541392259406006905971530656316415220443311362568485820461062113516815435436042920711015490166224316794013209622306406924697547000391150933007714990725765578087784426795977438019960376086461454962033383523473670134777864705932663278476727482045224263798086180414112643425814941848305325868878154082094902646671524166148304246802398988429265061294735298801588877525927895808559171115429870603781234904373781458953334961780040252560555926462205875222115886174995531537749691385374476174251050647279943107627290295476764665479180436039114429085948217550553018088172149702026680391268682768875664370052910927581695205783029106543355151587591350551230951151514501230824531651345310146405107139412013123320637796340407574619803020647362370584966981785693755193117077640374688634384195854427449913912472237918343936699983641111371694059173665857525336325221235595047630357515490794331305562388838374173006823798769782438353527365719132133854810936113066180954191148934132696047132935302807342582428826301111474717716484902311303092885824655916811365106902012809099570186305590966251136805674546711760025041994720533617756814110660893359222546981034111081928398660115980063757545205441253191121749891172007286306104036302874081900031476713443251670424901241128960108854592516917247413694008668595716439772878021389837925836175848126778033784836531185569049684015583849998649236380453516377195004170447135045529338592609043948599539723923911981051341087375236348104800533667729873063871070770614438040370527268056067795700517784062815959816079855932230894385189128579019284060407256851025761731686828900801602019337817577585686499225926577381871128756808809447334558495978502038996481377438571973715923286656505184307416650750673729560879418587779692752712969058694680802824589922154930990046377744741266704781922718438658588488034772739100753393068392731526190409563221901156678146442250884541555066597227392818282676722434667431918243369995613725384850775930542920283593921263336182703605065584698767162378414543087950917615921647103071227286230586297686191281598850524769903826762566370991957900652781323217200442426279335149467130373268494009412656931713314134019061602532920394796739485939543197781661710892099228985468504020861146520189524132991599426049647926998354082710427666085983152593881478939747488381405469910196992322697586646207895457846575739609237130480053499240549996865842332254134601408501358050950410995990084168889709566471232262345599239523275481363250839453115433955902224503338193949768408177338884237189108371776464685470256258505340202141910604653636896241525835719006895983631652070478846740532270058092953092560663303519839465955920898836116375786584941016654407346346739768713466491812765878052211132366347525450747834670228446441091700292892504975150002245136561892817378620417828945587506705448903388428292712854339805859867527726750862481326076464403533985728765045947174554177455057067935375608308473936391110740558128067077081644571571 56771938566557028387765394649897566188813877948327215638755819428771666750828369715597500714770306844512671221724173761536704894292865228456743372964361648376630101265960940891162694138654050489125500736737279989929997412711161093206394118159291242420291386176309922208708535841526599057799271975041703134394686955069537710414786720226901030025416198993620456070044683895564888261789446123368635425237245214484700868257719090743480347157582228529313447613860812578398365255075481741659184428932603651878879049934363705429108152915807705822623153303982300360746863684388539091213747340023239084852036227743747909904811552199100926400624384942508721559919509316157330894597413070134976596803772774678708738280716824865790364514635600607159377697607490051968360518742967856141675242453657102640340673003587078420003457850265492951286433176044845418539328792226802799801512787603656001731330393933393353315406652169694292404915796878923083004044213783003771847049748875156711960035548693496589218588074237632289839420045979921821515330313088502244065735970412309473278068331141535056707512924003081671416647414723224525047561257848331394836342112478792521877164661791541532827671613321492164294737805660486429807571800756243613053181237187178998365673856023943499198186258148749771100229941299759795284258678174677818331976806345571722794033939371650524385432951165928235855712493426899043513314912907043908016041779256570491913332333935402156289430443219326877707556491751400642140089236789206323668730013736105342470111664624882925325438809767915149137182806671871491830573915717083944494960705091001917100599975150707471774295352406531196225914367788813620554344856676421916209562610373173550295104638501193104751591830524487714711073855000137174028625866657160741699304761838379441373700782082052700519768461421661819576493820703937144800803867489649456341665762942102022480609751023195253235679879809989656245539830311121710464814002679985762290095740531080035788472081991597421265901983694504051336635611694341506925124518092019856428168858955244814317145336060823564406861331959478848417495777080929843982178912233345883915761714645215496609091062441449551864793831396516673849341486524112312061498954925765230810777320174574789388614250906321194192659303331304743329639136999011331331664159700926103300115145165069138062509118469295601308869489060366420986793471814342188191394420025705757522570620865092684558364091386125836344253008979266406067582322807587320475258456412352823814830813048441254919725688315956844152279783506423389108204599974800335893975023554073321440463136656418921417585670910767474293726443041113548448059357946909881379433266252293432028475802667805509142049140843896568322272447651821283886815372089636449257820402794361513905241755501148748175587176519902905211102259066818055015190880057808462501546409107491014384137825124647868755346929380368241977981974646112761638563000668979754889052560155785524776338645659222415909335299445156176462821661510233510391466008837435369613041942966805438960620666109288794980750193912678120011985891816201205430427883066371432107862642088179470613416051715731256832568185419296987300548234089937864809353539804390836941316853921937580479466253335266357814819030324889558263720792815762509786392830350189824971169555214812402071338349407198471335393303839878763893706536955849774920995609133885703732274784519061528708173452878032213496324022129393442103599477147113914095437412829999110806712276336909572195487031051118142015505408345026840901778 91858926207910256325333663792075023967735414503068680864726567575070380415304178310698300870370548923122071316358412096376687258224566165029815963303176646097379649163710565762012473260629424428429699475344304118260262750402355966744158859534226330669303528617826804375765421965711744844205756526175639931815137234337223293776305816428177565697500286927028862301188414456438541598816417886113683746855081102316824948132746405192455186138179535702393837772228246054729145886064563271779453681834024542733358496217963847374243684571185837868840764438345408902139123090395445062744403656438459528163398796229568370966925069014536362443545095957998887784236303329366953201004337767681976987954705782393699464046294912650217160492073620567535464159062452085351883992413102634006381175116935579367822718227850876506183871962908918766228281481370714296693410887129449471325678935907902804130318823198454648050705453758571818332811605438094198433914817564238676220831207828491673740075801254052515680793949459748176014415577517671512900704789262753294713015913519936763573545095807014237143552038432167619634197967741312697197263284528722663519110988143162574788092243486747315856778156676643751886088356891437581322073031580775264398491383592286137777686979344581295538593832768552791747592311884726777069952433367794895972351494979955918648461389285562996623351295102628219496823865120958217179172438243369129251636826886928007404126665240964545127804616226150676477338930104928007859221370644017259781796194690296491404244360672015860628246152350343975438294281389587976732885218809969769150877516456108819113409074720893777365261603543336870772626127813855615274878474433236026870455969595720531329215720429591764867571894282032920152327046121887065200633152963264778002178843738410918087144033752477601760897421530516412093411068117631153469399583929422334363055600867938198328736529056980089766865448859673671829389828960358090918330379874989932737230786060418628397516030591137145189813964745845138711871959799142040592854391155890927198783296995615341585201403856524082190924147919294928273428007975315033110757931517406291172612740406947183437991864043468889682371417083015899775918868395241068870308402260323726789279359171056166827186224622244480849164487638721394080312866559890749919443852453639072358809825967893727984664049459341979053610755765148343705232130402830222964133520779098825915302147055502247780265248064272278595137550534333003294975141090264042909925888330596193810444538433292030850268608599550765415615966210028454692903367137178750437062974471689243087566207883705152003883357102049073144251212944940311014430349904810534160756483452735858307810952134935882410543150256553500035586581670882886419735766886375935197363600576023224797340984486617252196448323040092429344093858492867702942189234140518890167632392260084895863077572613029274225257126372690939564628182541570608214302609906110234942551800705782390618670899793823824410693350395567172452905830399943076862698271183034609136317424330056278413736100065191019484088387862446528189324776053390313802204347751841688366367982290321381218069688611972782668287192315280618952618712936678397079411632757483397604620373761403536400365089451642144399760046979296904610460561529229001599158708402400957337517080665560236741566795848290171628285808815028766138843098848667153541413438079473210437723687907489821421027792683892081024050772991874768180063880681099642860483360004553288261769344272285180503960967442228882573633475422108485473349 148630864774467284713099058441972590156549292451395896503482387003842047166132548026295801585140855767634742538082585857913392152517431393486559336267538294474009750429671506653175167399283474917555200212081584108190260163113517059950552977693517573089594914794136726584473957807238343902005028501217343066209824189406761004191092536655078595722916485920649318371233098352003429860605864009482319172092326316801525816390465495935935533295761764231707285386089058633127511141140045013438638110766628194612237546152327552803351837486993543691463917742327709262885986774783984153958150996461698613015435023973316280871736621213637288844169480900507609344155812645524284095601750837816953584758478557072408202327011737516007525006709221174694841856669942137320244511156070490148056417570592682008163391231437954926187329813174411717514714657415559715232739679356252271127191723511558805861649217131848001366112105928266110737727402317017281437959031347242448067880956703648385700111349947549104899382023697380465853835623497593334416035102351255538778751883932246236851613426948549293851064962435249291050845382464537222244824542377054058355453100621955096665256905278288848684449769998135916180826162551924011129644832337018877451672620779465136143360835368524794736780090917302562847822253184486572354211111542472714304328301325527641442495328657213521008784246268556455352536358547857260692487351150413037267678606143498499317458999176366701417235059445477554184895421856328649999310607433223583450526208426401833874356025296898785953684962118259124575477088061459468563459134527053713645838221547110736214009049871601249139556955949868066998540495602669235829223331109657943080018579968894081624320358930784869619163724806520634863400901122024239229259019620425519701483605576790359460844815834530302280665882952178231669904888821568298270203451419071790704721363810040220809346280080175343002545328669663328074929659271479801383144382554975695027326526591498664185988112582734566455715948440349190048507571493483547517978909247910783626952155950860155902346739917347646597785479878773776690923785056244877092936843750752175088374455052162680047082926484918441547165248479532573625260354919353380931807357186088957600056679345630956215800475528565675041823790970026137409952003558902081251108012154565175658924971132962866047173167928637580362480244825514764692025602217172411155527940804804583437872767920594932338629339450398114939390559513599409362557463897851363385184344742949017625275351481733285769994296915507609567895749716451843801107967111979086331037998025762564528029344540124073421469028012816547437977655986053859462489707851720415540189749705029290336286754802741391552592291100450068357859029322704170306551138976012384455184003370384738702582739987766000372035499559995334555196117559685757957380114198327352669178801367575910247215397737677142980604055753059181542610157187683369852865610575089989831604360861567915395009545453046240320028649840723348915727491910176587254164280020469978749359367296861717374356766174479814464838581775124648201310667869591519232632230818213120474230624378500851831485740327704039500855377734577606253166947026616261888765172561874234545937227683341116879831342786908502214579077304186462874181354344991511385551538752590782308686635880372638812905145255488642963679112654907530032549635804516928462409047213358914169998472426551350129201245561924294520374795121268210283663357828213556955920772834552399068481620609194752699447998493347024589138883767135326375127 240489790982377541038432722234047614124284706954464577368208954578912427581436726336994102455511404690756813854440997954290079410741997558516375299570714940571389399593382072415187640659912899345984899687425888226450522913515873026694711837227743903758898443411963530960239379772950088746210785027392982998024961423743984297967398353083256161420416772847678180672421512808441971459422281895596002918947407419118350764523211901128390719433941299934101123158317304687856657027204608285218091792600652737345596042370291400177595522058179381560304682180673118165025109865179429216702554652900158141178833820202884651838661690228173651287714576858506497128392115974891237296606088605498930572713184339466107666373306650166224685498782841742230306015732394222672128503569173124154437592687528261375986109459288831432371201776083330483742996138786274011926150566485701742452870659419461609991968040330302649416817559686837929070539007755111479871873848911481124288712164532140059440187151201601620580175973157128641868251201015264847316739891614008833491767797452183000425158522755563530994617000867416910685043350205849919442087826905776721874564088765117671453349148765036164541227926674779668066914519443361592451717863917794141850164004371751273921047814713106090275373923685855354595414565069213349424163544910267610276679796305483560090956717942776517632135541371184674849360223668815477871659789393782166519315433030426506721585664417331246545039675671628230662234351961256657858531978077240843232322403116698325278600385968914646581931114468603100013771369451047445296344353337023482796715738003219555327418124592495026504818559493204937771166623416524851104101805542893969950474549564614612953536079360376634486735619088553555015727947243911304429892172583690297703662449315201277547988849587007904041563304482694643763315956939199451739603035348494125067776964677978419138082809137155432769410777529336999904319488231837892301474762429965627764557312651917292583504143173871711645529913186194328760379531292625588110833300403801710825735452946475497487548143773871728788709627798068704964351793031559910203694775268158466260987195459109863485074790528387331229536665562548473401179223314594449802115759446412684389336038516687123042986700150810155890988278608747531490264870118792831170551864608204248017734797100856594031837217387979559416091000590663108397257732620002634119661461583903409353174914976097180118894587514670393534528110047932412657532604988115406295110233073545211435719889915025316620262905515058374983511715926480298494011334249157836768100972497451807615595552423829225425352385114865620582228868930994170476920057756530949700946233157765148644097706937677273963135441357003568393445610993587056726286905862388319652547603946407963499923724474383252568483822600087763899289976052553460899569348338846242836811193627660806110292970350706417205861182125750121107238339729253978067168220481200224774156161567350306013680445246870064730722000236290521368633322310119664116862551203504587885676791626917995788092866239670833948926969637571176390635443922981833034836578570054808840598606668822233049555428939676822169142570049858225205785659963294658968176805319357632150557601444744653280196432238550646614339124283483367484641915874220512984710247154991739646203716545932875554471941103778814591964921469936296171392734653184082003822485292832124607722160334041171550229038245816375544425568113142978463727238509313199816404132839105687330250964881479933203408965935575907162772359189243811848476 389120655756844825751531780676020204280833999405860473871691341582754474747569274363289904040652260458391556392523583812203471563259428952002934635838253235045399150023053579068362808059196374263540099899507472334640783076629390086645264814921261476848493358206100257544713337580188432648215813528610326064234785613150745302158490889738334757143333258768327499043654611160445401320028145905078322091039733735919876580913677397064326252729703064165808408544406363320984168168344653298656729903367280931957833588522618952980947359545172925251768599923000827427911096639963413370660705649361856754194268844176200932710398311441810940131884057759014106472547928620415521392207839443315884157471662896538515868700318387682232210505492062916925147872402336359992373014725243614302494010258120943384149500690726786358558531589257742201257710796201833727158890245841954013580062382931020415853617257462150650782929665615104039808266410072128761309832880258723572356593121235788445140298501149150725479557996854509107722086824512858181732774993965264372270519681384429237276771949704112824845681963302666201735888732670387141686912369282830780230017189387072768118606054043325013225677696672915584247740681995285603581362696254813019301836625151216410064408650081630885012154014603157917443236818253699921778374656452740324581008097631011201533452046599990038640919787639741130201896582216672738564147140544195203786994039173925006039044663593697947962274735117105784847129773817585307857842585510464426682848611543100159152956411265813432535616076586862224589248457512506913859803487864077196442553959550330291541427174464096275644375515443073004769707119019194086933325136652551913030493129533508694577856438291161504105899343895074189879128848365935543659151192204115817405146054891991637008833665421538206322229187434872875433220845760767750009806486767565915772498328488018639947429089217330775771956106199000327979249147503317693684619144984941322791883839243415956769492255756606278101245861626543518808887102786109135628812209651712494452687608897335653389894883691219375386495107676842481655275578087804787296631619018910641349361650511272543532157717013305772776701914042081047026439578233947830733923116632501641989392717862318079258787175679375830932812069578773668900216873677694912421659876762769423676659768233819460079010385316617139778571245416177873089283334837175045275189402388707992791047682896692112457523926965068508473918669561531822020090068885966769680294577816494229060995241396758602390257202430565984551407465642932142295119301361136923099138970523214372143624896963953298846821413127682168020206524917048029939409765608251365241135982862794438980384461740418665515727732457453636751304640316291227032838044838400704107731607316792702202506464462149252940519322160083098454486093612239218856949462537173595505989994995236716357508368088383560186465237878809302649848496916937347920033831056290214605760522428918221408689990699916305050750650077013870284360814220296251371026831223974566635036158923779713162449632414150648413765551412695824591946111792573352267468809388267929314829231047323084881041169267380861669997947784435831458952606989910920856941977881231866696494829128085770160027775025459148828918201587669830358823270219212024370261785907582521954890352426305514367377086359267457555644034124843826203942370457701010466231532506191038777720632760592521679430283807740670064800363234411188747390596337526756772324905673658086398732585490674685902856964428922931751911242956379138223603 629610446739222366789964502910067818405118706360325051239900296161666902329006000700284006496163665149148370246964581766493550974001426510519309935408968175616788549616435651483550448719109273609524999586933360561091305990145263113339976652149005380607391801618063788504952717353138521394426598556003309062259747036894729600125889242821590918563750031616005679716076123968887372779450427800674325009987141155038227345436889298192716972163644364099909531702723668008840825195549261583874821695967933669303429630892910353158542881603352306812073282103673945592936206505142842587363260302262014895373102664379085584549060001669984591419598634617520603600940044595306758688813928048814814730184847236004623535073625037848456896004274904659155453888134730582664501518294416738456931602945649204760135610150015617790929733365341072685000706934988107739085040812327655756032933042350482025845585297792453300199747225301941968878805417827240241181706729170204696645305285767928504580485652350752346059733970011637749590338025528123029049514885579273205762287478836612237701930472459676355840298964170083112420932082876237061129000196188607502104581278152190439571955202808361177766905623347695252314655201438647196033080560172607161152000629522967683985456464794736975287527938289013272038651383322913271202538201363007934857687893936494761624408764542766556273055329010925805051256805885488216435806929937977370306309472204351512760630328011029194507314410788734015509364125778841965716374563587705269915171014659798484431556797234728079117547191055465324603019826963554359156147841201100679239269697553549846868845299056591302149194074936277942540873742435718938037426942195445882980967679098123307531392517651538138592634962983627744894856795609846848089043364787806115108808504207192914556822515008546110363792491917567519196536802699967201749409522116060040840275293165997059085511898354486208541366883728337327883568635735155585986093907414906950556441151895333249352996398930477989746775774812737847569266634078734723739645510055514205278423061843811150877443027465091104175204735474911186619627371119364697500326394287069107610348845970382407017232507541693104006238579604629520427618801548542280536038876078914326378728756379005202301773875830185986823800348187521200390481743796487743592211741370973671694394565334676054110847602704596699194662246006840981486541067457177679394850863972611402144222597872789292576418514479738902008446779609464234677622673874082175975404810890039440496715131311783919010520107945624359534919181569412440789130635610294759867239943020666179759220449387782524272173798242547788602435393848042200416329823364782314942082216020559587624482168678095939478863173814457205144750251309878283759124950700789023760279211263200665702430188936532505509003144760170862353776069664792679756518810876019838342801188622897522467801338439089977392326420004559423757086836646191325987202051537490439379916683996268527422370435946786369781472650313304391652994136530415915487889382427479154520712950550697708950542498653821482362692521050267000982581555715555185302305387958322738155427837716145317930596598207057683839140517834294056664738266953205579825118783200589498847052430572830423440224207264009795443257325871153197843465186093432537354972033062574261601094068972238389921849027463046272147608955594780122375335105110885092470054017799023163385442793094633693229659322053557045609225931347554167211117834846839956588729038512763773728983550372154619106265930364498838914683602145622950072079 1018731102496067192541496283586088022685952705766185525111591637744421377076575275063573910536815925607539926639488165578697022537260855462522244571247221410662187699639489230551913256778305647873065099486440832895732089066774653199985241467070266857455885159824164046049666054933326954042642412084613635126494532650045474902284380132559925675707083290384333178759730735129332774099478573705752647101026874890958103926350566695257043224893347428265717940247130031329824993363893914882531551599335214601261263219415529306139490241148525232063841882026674773020847303145106255958023965951623871649567371508555286517259458313111795531551482692376534710073487973215722280081021767492130698887656510132543139403773943425530689106509766967576080601760537066942656874533019660352759425613203770148144285110840742404149488264954598814886258417731189941466243931058169609769612995425281502441699202555254603950982676890917046008687071827899369002491539609428928269001898407003716949720784153499903071539291966866146857312424850040981210782289879544537578032807160221041474978702422163789180685980927472749314156820815546624202815912565471438282334598467539263207690561256851686190992583320020610836562395883433932799614443256427420180453837254674184094049865114876367860299681952892171189481888201576613192980912857815748259438695991567505963157860811142756594913975116650666935253153388102160954999954070482172574093303511378276518799674991604727142469589145905839800356493899596427273574217149098169696598019626202898643584513208500541511653163267642327549192268284476061273015951329065177875681823657103880138410272473520687577793569590379350947310580861454913024970752078847997796011460808631632002109248955942699642698534306878701934773985643975782391748194556991921932513954559099184551565656180430084316686021679352440394629757648460734951759216008883625956612773621654015699032940987571816984313322989927337655862817783238473279670713052399848273348324991138749206122488654687084267848021636439281366378153736864843859368457719707226699731110670741146804267337911156310479561699843151753668274902949207169484796958013305979748959710496481654950549390224554998876782940493646710567454058379782490111269961992711415968368121474241323281560561051509561817756612417766294869290698617474182656013871618133743095371054333568495514189857988021213838973233491423018854575824402294352724670040266361319394935270280769481405033942441444807410482365449170996056697712742760048945655699388706533669557710372708542521400777310376190344086326647212344583084249936971431682966378913543880551902845346351735823118995211370229956622641918765090230355739588973033680183218198883354026604866630418514604994590906271910841896054891626169510791962995539189727868010818579993367904936653398681758449522466920253960808262163277031898613468273413193433848791183618134238825309706527473537578791657883368726406935333563128673907235882593780653985677206425186748831060426646702674832223300390318261937354950750712166858916213651453721155749109474477422112992131067972130776458072462962825574527667508128537569774197346590667470257068763468402811637767474438545509138465618729888123690873943116500682060761081821365543547259700916193600251982289468944272175527458823028202288456312644561725233818970156783555984421398543904289226113822313729703252989719623948579277475568586102936285550305214202163163425855226214909089605861297715674026294581965355958508431184366713361053944186421860127716135862829305009122894793421770666594845102002088295682 1648341549235289559331460786496155841091071412126510576351491933906088279405581275763857917032979590756688296886452747345190573511262281973041554506656189586278976249255924882035463705497414921482590099073374193456823395056919916313325218119219272238063276961442227834554618772286465475437069010640616944188754279686940204502410269375381516594270833322000338858475806859098220146878929001506426972111014016045996331271787455993449760197056991792365627471949853699338665818559443176466406373295303148270564692850308439659298033122751877538875915164130348718613783509650249098545387226253885886544940474172934372101808518314781780122971081326994055313674428017811029038769835695540945513617841357368547762938847568463379146002514041872235236055648671797525321376051314077091216357216149419352904420720990758021940417998319939887571259124666178049205328971870497265525645928467631984467544787853047057251182424116218987977565877245726609243673246338599132965647203692771645454301269805850655417599025936877784606902762875569104239831804765123810783795094639057653712680632894623465536526279891642832426577752898422861263944912761660045784439179745691453647262516459660047368759488943368306088877051084872579995647523816600027341605837884197151778035321579671104835587209891181184461520539584899526464183451059178756194296383885504000724782269575685523151187030445661592740304410193987649171435761000420149944399612983582628031560305319615756336976903556694573815865858025375269239290591712685874966513190640862697128016070005735269590770710458697792873795288111439615632172099170266278554921093354657429985279117772577278879942763665315628889851454603890631963008179021043443678992428487729755309640641473594237781291169269862329679668842439585629239837237921779728047622763063306377466122478695438630427049814171270007913826294451160702153508625530999685997453048914820012758118452885926303192854689873655674983746386418973628865656806959814755223904766143034082455475485053617562257594797411252019213947420370943578583108103229762740905009533732584957955144780938621401583736904578626664854894530320326534182297284407593048856570059342452037357566622732096691980789179073251340087881677181331032391806000868790330294746850230620328483862334927339747804580412765953816069681180361270670399606083359504716767065448898903171568300705590725810538167895737429859836062365469751530404064891130333930797079492878642270697610360955924546312490812228780460291375335416634131121631104199596573110054425504020326440411297418321814703621245828781757023873380572581726442833618856564546731662065795739518347391169009612777745225077312613132430772069412337815995125300414903913614229348799096610544473454080086368047040805142936047794551087946239978751628290029843194033607366842335214263958525611680424823162038232941824578369987084289213272191592372241031761293111044966563514971118077887928150164022170209319999894437934131271093365593890421455276253430862593489044613695950703622653590349087281128082346805596078932875676462060025175131063534629721793613139150593513229826557109223223683722872079585304913405625684906479613720742234365681496229348278983453023944788429140896322080507179544282410864390599690273746617040476189553478739715432853329976226045753642406077099080205852032731045157078490370782294211075141285360001850861945314404070954612580679471195406339568104237365548606218949859908138748927914854761283252225929519523169626266031206669949782982699185633856699686234983924115388825157920609581278447247625038367761 2667072651731356751872957070082243863777024117892696101463083571650509656482156550827431827569795516364228223525940912923887596048523137435563799077903410996941163948895414112587376962275720569355655198559815026352555484123694569513310459586289539095519162121266391880604284827219792429479711422725230579315248812336985679404694649507941442269977916612384672037235537594227552920978407575212179619212040890936954435198138022688706803421950339220631345412196983730668490811923337091348937924894638362871825956069723968965437523363900402770939757046157023491634630812795355354503411192205509758194507845681489658619067976627893575654522564019370590023747915991026751318850857463033076212505497867501090902342621511888909835109023808839811316657409208864467978250584333737443975782829353189501048705831831500426089906263274538702457517542397367990671572902928666875295258923892913486909243990408301661202165101007136033986252949073625978246164785948028061234649102099775362404022053959350558489138317903743931464215187725610085450614094644668348361827901799278695187659335316787254717212260819115581740734573713969485466760825327131484066773778213230716854953077716511733559752072263388916925439446968306512795261967073027447522059675138871335872085186694547472695886891844073355651002427786476139657164363916994504453735079877071506687940130386828279746101005562312259675557563582089810126435715070902322518492916494960904550359980311220483479446492702600413616222351924971696512864808861784044663111210267065595771600583214235811102423873726340120422987556395915676905188050499331456430602917011761310123689390246097966457736333255694979837162035465345544987978931099891441475003889296361387311749890429536937423989703576741031614442828083561411631585432478771649980136717622405562017688134875868714743735835850622448308456052099621437105267841539883311954065822536474028457151393873498120177168012863583012639609204202212102145327520012214603497253091134172831661597973708304646525442819047691300580325574107808422442476560949469967604740644403326104759412118849777712063298604421778418523169433269533703667094242420899028605529769838933692308116012956651690857572119566898050655335735561113522503075962861501746263114971704861651765422895978849309622337025183720110938971878978744853055619954977638459862436503232471667082490563578747024377141129228852878690638189872045883128734931396695250192014763159411752102644303397369353722973177677951456348073048159394180067286803588303106779612135876728868961812074728698005047707572475994101606957630509553158125799997770108427283564911142091254170510164220983007701847719231378222661127809001310849675308518613787267640834215429515125149468044986358278888936860034562217305343050941779168479496300848423187401512303495733896022408048078600678783970300396218856476983455357702406706040383555859166000118420751494037052549909735771296876570957503772448673801673816725051747351271096846642025084491289240191719445919251093940915527704038031840249205721809730386596832211169499652553176526760789765743915608665976192652131636890731812260441853782651504073095941975243082123553872133155934774857417449071753832912120014839438581189240305364232229934146949974662810640728171842947683987608380788799254248042098718721660805439671002887828713062911769326198500301255107673731554114935034028019533890056248057298342625118409451567711769644805086123047838533776152476957278520511484879128134697215573383310836926885607493984415822097813229124511719951342380247873292349627126663443 4315414200966646311204417856578399704868095530019206677814575505556597935887737826591289744602775107120916520412393660269078169559785419408605353584559600583220140198151338994622840667773135490838245297633189219809378879180614485826635677705508811333582439082708619715158903599506257904916780433365847523504003092023925883907104918883322958864248749934385010895711344453325773067857336576718606591323054906982950766469925478682156563619007331012996972884146837430007156630482780267815344298189941511142390648920032408624735556486652280309815672210287372210248414322445604453048798418459395644739448319854424030720876494942675355777493645346364645337422344008837780357620693158574021726123339224869638665281469080352288981111537850712046552713057880661993299626635647814535192140045502608853953126552822258448030324261594478590028776667063546039876901874799164140820904852360545471376788778261348718453347525123355021963818826319352587489838032286627194200296305792547007858323323765201213906737343840621716071117950601179189690445899409792159145622996438336348900339968211410720253738540710758414167312326612392346730705738088791529851212957958922170502215594176171780928511561206757223014316498053179092790909490889627474863665513023068487650120508274218577531474101735254540112522967371375666121347814976173260648031463762575507412722399962513802897288036007973852415861973776077459297871476071322472462892529478543532581920285630836239816423396259294987432088209950346965752155400574469919629624400907928292899616653219971080693194584185037913296782844507355292537360149669597734985524010366418740108968508018675245337679096921010608727013490069236176950987110120934885153996317784091142621390531903131175205280872846603361294111670523147040871422670400551378027759480685711939483810613571307345170785650021892456222282346550782139258776467070882997951518871451294041215269846759424423370022702737238687623355590621185731010984326972029358721157857277206914117073458761922208783037616458943319794272994478752001025584664179232708509750178135911062714556899788399113647035509000405083378063963589860237849391526828492077462099829181385729665682635688748382838361298640149390743217412742444554894881963730292076557861821935481980249285230906189057426917437949673927008653059340015523455226038337143176629501952131374838650791269169472834915309024966282738526700555341797413532799822527029180989094256038054022800254664353293900035463989906731916639448383576028311188917907787899679889666561380749195402223372147019819751328818304775858630831011082134884568633616626672974015226976937830772517901333230595785447072796543991355091899878413648665670433819028691181255063564228611735693941499066444646935977665177498265099894138888019147231124590878266381435119670338069110286366573690281103607132338629160681055353442441991619978231975928100197761411531796460600567521027813659225026734979673981768673696111750856322840716864987268097301337922151833680764059615201797563569118053125312968331552527405809319472508673229524827684240061390511559357054759259489422478688746113955495983313933367956417478721626881722695844296106498837431004205696432524777777700549155735760661696419849646643094324746640248409427681204361396426423703041234118775480293795741124798759885645523035618873870141402140108492711376396393033733404976880348432090488502636927528493748964686513688933260375863754946031186587461691007238240530746441004402297760963246780053260619909584793127841115508332797153239900545109262989829151739597252165031204 6982486852698003063077374926660643568645119647911902779277659077207107592369894377418721572172570623485144743938334573192965765608308556844169152662463011580161304147046753107210217630048856060193900496193004246161934363304309055339946137291798350429101601203975011595763188426726050334396491856091078102819251904360911563311799568391264401134226666546769682932946882047553325988835744151930786210535095797919905201668063501370863367040957670233628318296343821160675647442406117359164282223084579874014216604989756377590173079850552683080755429256444395701883045135240959807552209610664905402933956165535913689339944471570568931432016209365735235361170259999864531676471550621607097938628837092370729567624090592241198816220561659551857869370467089526461277877219981551979167922874855798355001832384653758874120230524869017292486294209460914030548474777727831016116163776253458958286032768669650379655512626130491055950071775392978565736002818234655255434945407892322370262345377724551772395875661744365647535333138326789275141059994054460507507450898237615044087999303528197974970950801529873995908046900326361832197466563415923013917986736172152887357168671892683514488263633470146139939755945021485605586171457962654922385725188161939823522205694968766050227360993579327895763525395157851805778512178893167765101766543639647014100662530349342082643389041570286112091419537358167269424307191142224794981385445973504437132280265942056723295869888961895401048310561875318662265020209436253964292735611174993888671217236434206891795618457911378033719770400903270969442548200168929191416126927378180050232657898264773211795415430176705588564175525534581721938966041220826326629000207080452529933140422332668112629270576423344392908554498606708452503008102879323028007896198308117501501498748447176059914521485872514904530738398650403576364044308610766309905584693987768069672421240632922543547190715600821700262964794823397833156311846984243962218410948411379745778671432470226855308480435506634620374598568586560423468061225128702676114490822539237167473969018638176825710334113422183501901233396859393941516485769249391106067629599020319421973798648645400073695933418207047441398553148303558077397957926591793822820976793640343632014708126885038367049254463133394037947624938318760376510845993314781636491938455363846505733281832748219859292450154195135617217338745213843296661534753923724431181109019197465774902898967750663253758437167584683372987521431735422491256204711376202786669278697257478064364035446875717824799036390780769960237788641591688042694433614396781401298791888079922026688411497451578793148920515775369577753027687414959515345742337642478448895897779658126860843409544052802925824914525212060482405237189829798315710620891726689568836631973833803006308774621768881782391102639025379537532336897799694026684272359483959363761529952547954637620070937549430521903305937177754217347497785567581374588068136084114739326422413441073872483505534452891504484645757163344808580758249215539706069340884399024480237416588151301325100970367925465615130820383004687308243755787150607921551817568856965777967849978631993365779063113881596531610612669170575199242885660155010875324258893590223072238321932533239374107690649614907574734541837839843520420691085194038506702583204313909434691211677651500707464959091815382460110022392693175585792091589804923140500972145508560032154234425995467159715197809266952489281425895660462353436571456836470400621825531330430610382364412265060605370077025031946879291694647 11297901053664649374281792783239043273513215177931109457092234582763705528257632204010011316775345730606061264350728233462043935168093976252774506247022612163381444345198092101833058297821991551032145793826193465971313242484923541166581814997307161762684040286683631310922092026232308239313272289456925626323254996384837447218904487274587359998475416481154693828658226500879099056693080728649392801858150704902855968137988980053019930659965001246625291180490658590682804072888897626979626521274521385156607253909788786214908636337204963390571101466731767912131459457686564260601008029124301047673404485390337720060820966513244287209509854712099880698592604008702312034092243780181119664752176317240368232905559672593487797332099510263904422083524970188454577503855629366514360062920358407208954958937476017322150554786463495882515070876524460070425376652526995156937068628614004429662821546930999098108860151253846077913890601712331153225840850521282449635241713684869378120668701489752986302613005584987363606451088927968464831505893464252666653073894675951392988339271739608695224689342240632410075359226938754178928172301504714543769199694131075057859384266068855295416775194676903362954072443074664698377080948852282397249390701185008311172326203242984627758835095314582435876048362529227471899859993869341025749798007402222521513384930311855885540677077578259964507281511134244728722178667213547267444277975452047969714200551572892963112293285221190388480398771825665628017175610010723883922360012082922181570833889654177972488813042096415947016553245410626261979908349838526926401650937744598790341626406283448457133094527097716197291189015603817898889953151341761211782996524864543672554530954235799287834551449269947754202666169129855493374430773279874406035655678993829440985309362018483405085307135894407360753020745201185715622820775681649307857103565439062110887691087392346966917213418338060387886320385444583564167296173956273320939568805688586659895744891232149064091518051965577940168871563065312424493645889307935384624241000675148230188525918426575939357369622422588585279297360449254179365877296077883183529729428201705151639481284334148456534294716847196832141770561046002632292839890322085899378838615575825612263993357791227424476171901083067964956277997658775899966072031651924813121440407495221344384073101917692694207759179161418355744039300555640710194334576450753612170203275235519797703153632103957153793901157491415289626969815311450802445122619164102466558945258638227259766258819022737644550365209085545818868619652673822927263067231023454375314018865017752799206312830682174578595993312319360932844927565828608181016176156671169630150961343886738596537351043119247572760892190389558747505131328717817462941745482604955950271751644171872116595141195459162885998234977654540218587690340241685646662504335412059561522941484344415238187591965363089746930040916851735986021193897318437697428785001071382836627760335592907553247565149654689068053763810288657776912310776621349025541849557628549307921656649541812884458025127184955037609509129118642804227069720518564339030539195738688473812146085130830796783268810314121309388313218326310959904582080004657518418583640230471481666003136894635800531393690849026350214835633580968319180576730717074125576453345716049543183923054047893741198364068695730892200510895330103114285840554491436829434232521372314978185421013457158166953438340013393493683723656623709133489832076746055193749666646838763407535604312810169868359906176771544131456725851 18280387906362652437359167709899686842158334825843012236369893659970813120627526581428732888947916354091206008289062806655009700776402533096943658909485623743542748492244845209043275927870847611226046290019197712133247605789232596506527952289105512191785641490658642906685280452958358573709764145548003729142506900745749010530704055665851761132702083027924376761605108548432425045528824880580179012393246502822761169806052481423883297700922671480253609476834479751358451515295014986143908744359101259170823858899545163805081716187757646471326530723176163614014504592927524068153217639789206450607360650926251409400765438083813218641526064077835116059762864008566843710563794401788217603381013409611097800529650264834686613552661169815762291453992059714915855381075610918493527985795214205563956791322129776196270785311332513175001365085985374100973851430254826173053232404867463387948854315600649477764372777384337133863962377105309718961843668755937705070187121577191748383014079214304758698488667329353011141784227254757739972565887518713174160524792913566437076338575267806670195640143770506405983406127265116011125638864920637557687186430303227945216552937961538809905038828147049502893828388096150303963252406814937319635115889346948134694531898211750677986196088893910331639573757687079277678372172762508790851564551041869535614047460661197968184066119148546076598701048492411998146485858355772062425663421425552406846480817514949686408163174183085789528709333700984290282195819446977848215095623257916070242051126088384864284431500007793980736323646313897231422456550007456117817777865122778840574284304548221668928509957274421785855364541138399620828919192562587538411996731944996202487671376568467400463822025693292147111220667736563945877438876159197434043551877301946942486808110465659464999828621766922265283759143851589291986865084292415617762688259426830180560112328025269510464404133938882088149285180267981397323608020940517283157979754099966405674416323702375919399998487472212560543470131651872847961707114436638060738731823214385397662494937064752765067703735844772087180530757308648120882363065327274289597359027222024573613279932979548530230228135054244273540323709349560709690797816913879722199815409216169244278701484676265791525426364216462002903902935977536276476918024966706449613378862859067850117354934665912553500209333356553972961378045769484006855869330374478043351312294432985572606052599854620407552338325076098662614491247046873293701327330540305253228223955895705324130294265898455469349401599866315779106408294265510969957500845420235776612810753097674825894724328133753371744913828094730510597955253243567696361918494313648079046859123544865457380760587172050498585806715601619229910368518547615778652366374331645519108383618005675122903915817228044668389337616679919756120027238041379673346776694896018925284471436892369875807662902912520268833346854029490203368691682886019072016853137155497575954182749033981425731070684107580572538409567452002585493069025836888731611190442027573788159073237693114209558995495110420652740329512123330112470825507669172260582356764595654251779996063762824162562331924195717840998925887496886159147467740159668393742842533820694553904325069427875174639084340463933924949377471420811839601267815911112632279036550029958977875134731699394448663323160511113352310533288023278700077932144296359969935204666880875010339655439452625326668636149280345982965149552284171486926403533582525594371492178169194017917968725075230473729983201803491010748420498 29578288960027301811640960493138730115671550003774121693462128242734518648885158785438744205723262084697267272639791040117053635944496509349718165156508235906924192837442937310876334225692839162258192083845391178104560848274156137673109767286412673954469681777342274217607372479190666813023036435004929355465761897130586457749608542940439121131177499509079070590263335049311524102221905609229571814251397207725617137944041461476903228360887672726878900657325138342041255588183912613123535265633622644327431112809333950019990352524962609861897632189907931526145964050614088328754225668913507498280765136316589129461586404597057505851035918789934996758355468017269155744656038181969337268133189726851466033435209937428174410884760680079666713537517029903370432884931240285007888048715572612772911750259605793518421340097796009057516435962509834171399228082781821329990301033481467817611675862531648575873232928638183211777852978817640872187684519277220154705428835262061126503682780704057745001101672914340374748235316182726204804071780982965840813598687589517830064677847007415365420329486011138816058765354203870190053811166425352101456386124434303003075937204030394105321814022823952865847900831170815002340333355667219716884506590531956445866858101454735305745031184208492767515622120216306749578232166631849816601362558444092057127432390973053853724743196726806041105982559626656726868664525569319329869941396877600376560681369087842649520456459404276178009108105526649918299371429457701732137455635340838251812885015742562836773244542104209927752876891724523493402364899845983044219428802867377630915910710831670126061604484372137983146553556742217519718872343904348750194993256809539875042202330804266688298373474963239901313886836866419439251869649439071840079207556295776383472117472484142870085135757661329626036779889052775007609685859974064925619791824865892291447803415417616477381617552276942476035605565712564961490904194896790604097548559788553065570161214934524983491516539437790500712341694717185272455353003744573445362972823889533627851020855491328704425073358267360672459828117757902300248240361405157473127088455423729725252761217313696986764522851901441105682094270395563341983637707235965621578654024791994856542694842467493216001598265299529967860180933636312176442990056618631262734819270354289194501428036583605247707968512517972328705417346325124717050203906825231655521515569668505370309206231958577561346239482567513952241461062358324096146449949704407719787169214533932583896553084921193113899766808951861597975027946939333897220568076443690151926829618115427625101037158815927950340907140414091443442882819072175877378094650984817709197820467431604053918111630291298071346698905991177977415499847265433241594111856936601469380135262177547239499057012687207554387572594334459974707717578283065320009281030308078486807412921236785113995254868275610015763387770881226189389885580204456769445638138226880412581943084626888978978635833762269640592173377740660362405379802458237757153039999656123096080729887234927094017020622295375690349838641241972916697895228187736599612895960334342725592142148893654959345600734509839150387239105823197119052049820164325912161426174051166035570328206322510975170478031312960275164213105001780158781844546628186757855489895746008521059057785747288189861687229206844244511044183353381814363772698787796799369437188253189988525076452909783493622074489293739476648873208907880620416235610328580788121158825007957425453573037885400342089889378575035142205146349 47858676866389954249000128203038416957829884829617133929832021902705331769512685366867477094671178438788473280928853846772063336720899042446661824065993859650466941329687782519919610153563686773484238373864588890237808454063388734179637719575518186146255323268000917124292652932149025386732800580552933084608268797876335468280312598606290882263879582537003447351868443597743949147750730489809750826644643710548378307750093942900786526061810344207132510134159618093399707103478927599267444009992723903498254971708879113825072068712720256333224162913084095140160468643541612396907443308702713948888125787242840538862351842680870724492561982867770112818118332025835999455219832583757554871514203136462563833964860202262861024437421849895429004991509089618286288266006851203501416034510786818336868541581735569714692125409128522232517801048495208272373079513036647503043533438348931205560530178132298053637605706022520345641815355922950591149528188033157859775615956839252874886696859918362503699590340243693385890019543437483944776637668501679014974123480503084267141016422275222035615969629781645222042171481468986201179450031345989659143572554737530948292490141991932915226852850971002368741729219266965306303585762482157036519622479878904580561389999666485983731227273102403099155195877903386027256604339394358607452927109485961592741479851634251821908809315875352117704683608119068725015150383925091392295604818303152783407162186602792335928619633587361967537817439227634208581567248904679580352551258598754322054936141830947701057676042112003908489200538038420724824821449853439162037206667990156471490195015379891794990114441646559769001918097880617140547791536466936288606989988754536077529873707372734088762195500656532048425107504602983385129308525598269274122759433597723325958925582949802335084964379428251891320539032904364299596550944266480543382480084292722472007915743442885987846021686215824564184890745980546358814512215837307887255528313888519471244577538636900902891515026910003061255811826369058120417060118181211506101704647103919025513515792556081469492777094112132759640358875066550421130603426732431762724447482645754298866041150293245516994750986955685379222417979745124051674435524149845343778469434008164100821396327143759007527024629515991970764083869613848452919908081585337712348198133213357044618782971249517801208177845874526301666795392094608723906073237199709698872827864101490942915258831813197968898577807643612614855952309405197389847777280244712973015393170429637908026847350819648583249168408818177377081436241204844867178068921863925928539640371213102450995761486949681322085820968508821954040838072315743573740013145298465788244679590976469511298872217463348569932505621592797207325868365813049020246478231268246988488518880183222362402972829915252222776910211014379730827744816324444993356057725204097412091884358129154989802917771188130284596734624910716392758577263090475841462491275382377988536125833660870404709706517869850213130582945192662947898448828295126488764230441683696884239803124928041303576016117405796343090168153365303029168720735856908860195252724929996977372138212656479121907932658705556991386164993320083278199517560323994305904268707871860589474653275750386149809562371776894200113590576422591998383112362539299390134526445775967498934192517446682638525010389717957596821577471376660514441704843084156769304641855134064998864731892362408820290710638574085459614022761192052107342639143911106382492651003177151443371541762960630815819872580378526152953566847 77436965826417256060641088696177147073501434833391255623294150145439850418397844152306221300394440523485740553568644886889116972665395551796379989222502095557391134167130719830795944379256525935742430457709980068342369302337544871852747486861930860100725005045343191341900025411339692199755837015557862440074030695006921926029921141546730003395057082046082517942131778647055473249972636099039322640896040918273995445694135404377689754422698016934011410791484756435440962691662840212390979275626346547825686084518213063845062421237682866195121795102992026666306432694155700725661668977616221447168890923559429668323938247277928230343597901657705109576473800043105155199875870765726892139647392863314029867400070139691035435322182529975095718529026119521656721150938091488509304083226359431109780291841341363233113465506924531290034237011005042443772307595818468833033834471830399023172206040663946629510838634660703557419668334740591463337212707310378014481044792101314001390379640622420248700692013158033760638254859620210149580709449484644855787722168092602097205694269282637401036299115792784038100936835672856391233261197771341760599958679171833951368427346022327020548666873794955234589630050437780308643919118149376753404129070410861026428248101121221289476258457310895866670817998119692776834836506026208424054289667930053649868912242607305675633552512602158158810666167745725451883814909494410722165546215180753159967843555690634985449076092991638145546925544754284126880938678362381312490006893939592573867821157573510537830920584216213836242077429762944218227186349699422206256635470857534102406105726211561921051718926018697752148471654622834660266663880371285038801983245564075952572076038177000777060568975619771949738994341469402824381178175037341114201966989893499709431043055433945205170100137089581517357318921957139307206236804240545469002271909158614763455719158860502465227639238492767040220496311693111320305416410734098491353076873677072536814738753571425886383031566347793561968153521086243392872413121925784951464677470993452653364536648047410173917850452379493432100186992824452721378843788137589235851535938069484024118802367606942503759273838857126484904512250140687393658073231385810965357123458800158957364091169611252223528622894815521938624264803250160629362898138203968975083017403567646239120211007833123048916146358392498630372212738419733440956277144024941354394343433769996313224465063771775530244817290211126567097413371763521485994227229949120692802562384963570491923400435740841697148935217770038975056464188144178764398636998307616080466469989328530076096798645765609272426728108922913397483720891387919451118107796283283497442500058408073565216983847754646641279204527583975184741368213078482261840590088204848457868654142360769601902029842602459777164482805348839705535462394607510313365338755512175898899297279365940103798172639463740300360122395791942582148462843294932610908129413609258401118068918287759383688342351632119853722756322933323310303828630753364245917270441339819980320533012162968397593036739701172033440006794607275945866615964044645459808148685264339702964280361550134081253533393215396141773404099143280397251567380488320218065694881923026625044981482072897124980040403089854475277803681424372157164956909167486147990016341521976019993250303193970828386697618924801841332621654730042328805477541871953568674079043387254987389808345272192313912785127867824936262895970099932727758874754239687170613809828185108868825114800846031157909761958953561295158713196 125295642692807210309641216899215564031331319663008389553126172048145182187910529519173698395065618962274213834497498733661180309386294594243041813288495955207858075496818502350715554532820212709226668831574568958580177756400933606032385206437449046246980328313344108466192678343488717586488637596110795524682299492883257394310233740153020885658936664583085965294000222244799422397723366588849073467540684628822373753444229347278476280484508361141143920925644374528840669795141767811658423285619070451323941056227092177670134489950403122528345958016076121806466901337697313122569112286318935396057016710802270207186290089958798954836159884525475222394592132068941154655095703349484447011161595999776593701364930341953896459759604379870524723520535209139943009416944942692010720117737146249446648833423076932947805590916053053522552038059500250716145387108855116336077367910179330228732736218796244683148444340683223903061483690663542054486740895343535874256660748940566876277076500540782752400282353401727146528274403057694094357347117986323870761845648595686364346710691557859436652268745574429260143108317141842592412711229117331419743531233909364899660917488014259935775519724765957603331359269704745614947504880631533789923751550289765606989638100787707273207485730413298965826013876023078804091440845420567031507216777416015242610392094241557497542361828477510276515349775864794176898965293419502114461151033483905943375005742293427321377695726579000113084742983981918335462505927267060892842558152538346895922757299404458238888596626328217744731277967801364943052007799552861368293842138847690573896300741591453716041833367665257521150389752503451800814455416838221327408973234318612030101949745549734865822764476276303998164101846072386209510486700635610388324726423491223035389968638383747540255064516517833408677857954861503606802787748507026012384751993451337235463634902303388453073660924708591604405387057673657679119928626571406378608605187565592008059316292208326789274546593257796623223965347455301513289473240106996457566382118097371678878052440603491643410627546491626191740545867891003142509447214870020998575983420715238322984843517900188020754024825812811864126930229885811445332508755535656309135592892808323058185487496755011231055647524331513909388348672864009082282806219789306687431215536781003283738993979082640850124324204267024932039008130514342164862350381224651053267171297871487256139723895584973499143395097854739181953365681168718875842004510193833665817955555393208399950247786560490280398103626588216352137900429349023631576705920171542009006110360541632527092560132715290594512549077431735351524558963703663024858120941581749285687179649384543076515856065217995211211710149176772392067236578891531282087068319473095446357173022543991964305002672517711999941393016363219436363207210931955306721396480716273310991181637495095093601090410651870584956857020702658974907040106385408452370620688991636389654194751948629788398048869501970066853339268125986258202277459048490734681500883023516864560336137091009701169052857106968376530174947972578975035336699901554320003401410194336680336418574206613203161466051920953133159569092463363675451084940812314523969963589794887214519634757823283274789602774866748675391394257846964155548069271706785538124542787297943518927442820640653466911708008642759438154199126106702843247182384956110337978720898521319986254540237634601134203495766441910395876918731291984835101513898150793553106460831362260312196656563806661973729634539332087448112280043 202732608519224466370282305595392711104832754496399645176420322193585032606308373671479919695460059485759954388066143620550297282051690146039421802510998050765249209663949222181511498912076738644969099289284549026922547058738478477885132693299379906347705333358687299808092703754828409786244474611668657964756330187890179320340154881699750889053993746629168483236132000891854895647696002687888396108436725547096369199138364751656166034907206378075155331717129130964281632486804608024049402561245416999149627140745305241515196911188085988723467753119068148472773334031853013848230781263935156843225907634361699875510228337236727185179757786183180331971065932112046309854971574115211339150808988863090623568765000481644931895081786909845620442049561328661599730567883034180520024200963505680556429125264418296180919056422977584812586275070505293159917694704673585169111202382009729251904942259460191312659282975343927460481152025404133517823953602653913888737705541041880877667456141163203001100974366559760907166529262677904243938056567470968726549567816688288461552404960840496837688567861367213298244045152814698983645972426888673180343489913081198851029344834036586956324186598560912837920989320142525923591423998780910543327880620700626633417886201908928562683744187724194832496831874142771580926277351446775455561506445346068892479304336848863173175914341079668435326015943610519628782780202913912836626697248664659103342849297984062306826771819570638258631668528736202462343444605629442205332565046477939469790578456977968776719517210544431580973355397564309161279194149252283574550477609705224676302406467803015637093552293683955273298861407126286461081119297209506366210956479882687982674025783726735642883333451896075947903096187541789033891664875672951502526693413384722744821011693817692745425164653607414926035176876818642914009024552747571481387023902609951998919354061163890918301300163201358644625883369366768999425345037305504869961682061242664544874055045779752675657578159605590185192118868541544906161886362032781409031059589090824332242589088650901817328477998871119623840732860715455863888291003007610234427519358784722347103645885507130524513298664669938349031442480026498838990581986921467274492716351608482015549578666366263454584270419147035848012613476114169711645704357993275662514232940348649522859204986915763899040470562659523562411220868934075605818627525249592407661514731641483569364188959356749029388212388065865749050779052932240361836231740142954358620517940356778891873648222301331977547038844358255327194364617493202395975342918479158089472580349870162603189358778480899866939277186354648749008279855091582475976228737865032783129679707792616641732839912972641852490914676760747576808604791970013543927658407677943904225827164904761566207032515120171777105875821712059141898669605539465620086735236228449209890478916861035197399263050115610885316979416494601557055502949680341063278750102600894790772263670236389172086391221134089920576095591059309568506106089801854980598771324363336844880869149253978098762089596808140409970181742579854920901952663946199779811550095458676383300698935756747284414999445136349274932973191606644072702652321300634742035658471717913839564616239896180399769643177956603150669197939271336312713026180874271686114559128819919538920693123834624295298405627567561279486820780836745172052659926828063906652799941908574973644348582906793448116280894309735332139814701391917562860388652390480723720270659547369181021771364652693131639396498285648743270993239 328028251212031676679923522494608275136164074159408034729546494241730214794218903190653618090525678448034168222563642354211477591437984740282463615799494005973107285160767724532227053444896951354195768120859117985502724815139412083917517899736828952594685661672031408274285382098317127372733112207779453489438629680773436714650388621852771774712930411212254448530132223136654318045419369276737469575977410175918742952582594098934642315391714739216299252642773505493122302281946375835707825846864487450473568196972397419185331401138489111251813711135144270279240235369550326970799893550254092239282924345163970082696518427195526140015917670708655554365658064180987464510067277464695786161970584862867217270129930823598828354841391289716145165570096537801542739984827976872530744318700651930003077958687495229128724647339030638335138313130005543876063081813528701505188570292189059480637678478256435995807727316027151363542635716067675572310694497997449762994366289982447753944532641703985753501256719961488053694803665735598338295403685457292597311413465283974825899115652398356274340836606941642558387153469956541576058683656006004600087021146990563750690262322050846892099706323326870441252348589847271538538928879412444333251632170990392240407524302696635835891229918137493798322845750165850385017718196867342487068723222762084135089696431090420670718276169557178711841365719475313805681745496333414951087848282148565046717855040277489628204467546149638371716411512718120797805950532896503098175123199016286365713335756382427015608113836872649325704633365365674104331201948805144942844319748552915250198707209394469353135385661349212794449251159629738261895574714047727693619929714201300012775975529276470508706097928172379946067198033614175243402151576308561890851419836875945780210980332201440285680229170125248334713034831680146520811812301254597493771775896061289234382988963467279371374961087909950249031270427040426678545273663876911248570287248808256552933371337988079464932124752863386808416084215996846419451359602139777866597441707188196011120641529254393460739105545362745815581278728606459006397738217877631233003502779499960670088489403407318545267323490482750213158372709912310284323090742457123583628309244416805073735066163121274685639917943478549757400962148978178793928510577782582349945448477129652806598198965998404749164794766926548494450228999448417770680977906474243460928686029512970825503912854941722528531607485920604931004144734100959237678236250336788024438473495749987291823896008861822257945142470946471679332265046842226027552048838650700098478690710411795130281918911196190461451826263786384100532838818795245500834349679446782068816859357177159718248695978190637063702624825937519968875841370861544826014726727151039350583000187448753530512035187637883777047268838075278578261876816471420926808131716944722520881660554356130291000353460767481470273836437197260531962543056065749515649370791592531180426458422185018960484440090636059987429434859185295826708383548850345715280272207386853709441205286344987799931142453915108786500356690552433895937289363847754099814951505653013063637117509963360487576465497057302408092542284070007748153737262112949266005622061512801054084250997719463674559245952823351826060592197118300468261095452581057224239101916117863057848135944475277762210113636210320717641019906943448015299842311784174244631520840429894959898888820541394582319776660751645728016733432683902397961902550541274276826731490909629493218427928459355105369031037617736191383273282 530760859731256143050205828090000986240996828655807679905966816435315247400527276862133537785985737933794122610629785974761774873489674886321885418310492056738356494824716946713738552356973689999164867410143667012425271873877890561802650593036208858942390995030718708082378085853145537158977586819448111454194959868663616034990543503552522663766924157841422931766264224028509213693115371964625865684414135723015112151720958850590808350298921117291454584359902636457403934768750983859757228408109904449623195337717702660700528312326575099975281464254212418752013569401403340819030674814189249082508831979525669958206746764432253325195675456891835886336723996293033774365038851579907125312779573725957840838894931305243760249923178199561765607619657866463142470552711011053050768519664157610559507083951913525309643703762008223147724588200510837035980776518202286674299772674198788732542620737716627308467010291371078824023787741471809090134648100651363651732071831024328631611988782867188754602231086521248960861332928413502582233460252928261323860981281972263287451520613238853112029404468308855856631198622771240559704656082894677780430511060071762601719607156087433848423892921887783279173337909989797462130352878193354876579512791691018873825410504605564398574974105861688630819677624308621965943995548314117942630229668108153027569000767939283843894190510636847147167381663085833434464525699247327787714545530813224150060704338261551935031239365720276630348080041454323260149395138525945303507688245494225835503914213360395792327631047417080906677988762929983265610396098057428517394797358258139926501113677197484990228937955033168067748112566756024722976694011257234059830886194083987995450001313003206151589431380068455893970294221155964277293816451981513393378113250260668525031992026019133031105393823732663260748211708498789434820836854002168975158799798671241233302343024631170289676261251111308893657153796407195677970618701182416118531969310050921097807426383767832140589702912468976993608203084538391325613245964172559275628501296279020343363230617905295278067583544233865439422011589321914870286029220885241467431022138284683017192135288914449069780622155152688562189815189938809123313672729378590858121025596025287089284644829487538140224188362625585605413575625092348505574214935775858012459681417478302329457403952914168648205265329586072056861449868382493376499605431723835868590200761154454394868101814298471557919819873986470680054923787033199599514467990479742383058991436106766183697544231163154235492181315304727006526629664335428423527391757129858187951271060281957733471277689677090328391103450141032849541118673886827976810578417311814851946539064969776359981535891163278916193539502698267545684446162831558369942385134828983254808827352353515096719067702758055554153144659787337720160546422010886546894866953173171730772139471217165488399616510883092355590815853691862089018046005746090578928120894193425971198722092421408132570831311770149908005530450244605395214489638652200695879043531750190554322074435598965898693232050723249196470538433132288816839242027793953879626501601111689446937816445720107771991464942193651683025515475676651820856389583413584008041280533230714893648867237615644074328889130779954976729790136389636780974121633455328910353661044937782596768829068309902057508519263777881997127840687780193187352502238612238151284320782338469933543237403448188030436057555061381060156548134075819960822291202931755000547002150456998674240199293112048237008427535903384934654266521 858789110943287819730129350584609261377160902815215714635513310677045462194746180052787155876511416381828290833193428328973252464927659626604349034109986062711463779985484671245965605801870641353360635531002784997927996689017302645720168492773037811537076656702750116356663467951462664531710699027227564943633589549437052749640932125405294438479854569053677380296396447165163531738534741241363335260391545898933855104303552949525450665690635856507753837002676141950526237050697359695465054254974391900096763534690100079885859713465064211227095175389356689031253804770953667789830568364443341321791756324689640040903265191627779465211593127600491440702382060474021238875106129044602911474750158588825058109024862128842588604764569489277910773189754404264685210537538987925581512838364809540562585042639408754438368351101038861482862901330516380912043858331730988179488342966387848213180299215973063304274737607398230187566423457539484662445342598648813414726438121006776385556521424571174508103487806482737014556136594149100920528863938385553921172394747256238113350636265637209386370241075250498415018352092727782135763339738900682380517532207062326352409869478138280740523599245214653720425686499837069000669281757605799209831144962681411114232934807302200234466204023999182429142523374474472350961713745181460429698952890870237162658697199029704514612466680194025859008747382561147240146271195580742738802393812961789196778559378539041563235706911869915002064491554172444057955345671422448401682811444510512201217249969742822807935744884289730232382622128295657369941598046862573460239117106811055176699820886591954343364323616382380862197363726385762984872268725304961753450815908285288008225976842279676660295529308240835840037492254770139520695968028290075284229533087136614305242972358220573316785622993857911595461246540178935955632649155256766468930575694732530467685331988098449661051222339021259142688424223447622356515892365059327367102256558859177650740797721755911605521827665332363802024287300535237745064605566312337142225943003467216354483872147159688738806689089596611255003290317928373876683767438762872700434524917784643687280624692321767615047945645635438775348187899851119407636763471835714441749334840442092163019710992608812825864106306104135362814537774070527299502725513558440362405129894607955136055602918912573397370060096512620551311678867830911147180583338198079329518886790667425220372014669240194086451427359907075611059068521134158837192704240816530407497464931856753475521440240024976493437323786251198685858894711177654451079440595780558286429961770693752863753196600873280789842929713927416950073957492682073477644928096758596920763398422146936078230231869353915979896164328635787514560287533693103195957111861980022605391827539802268627231102890395939331200413497862616298422423238482307473702998670117894251653800025573295779399969971650573825864652290889122620980589061811840094577491685785957151625180514606427093055271402406209895434965309429901221922873187502546411159315739137044263763279721943953698624374504638357982970895123684722712776531391641707979441453106764702510574933955683468259567930439250954091118057759746659569010126845526533274046902594743515947733118235335107748888135083603306802790382333507937249235217086036386134592762961055645654616965012785179819718632899988202714768860594723641202652344550396412395915841622768364893442126223989582612755834215813026788173281566759722358784193753473029277373733641366628167458627221571403342377458573521121126037539803 1389549970674543962780335178674610247618157731471023394541480127112360709595273456914920693662497154315622413443823214303735027338417334512926234452420478119449820274810201617959704158158844331352525502941146452010353268562895193207522819085809246670479467651733468824439041553804608201690688285846675676397828549418100668784631475628957817102246778726895100312062660671193672745431650113205989200944805681621948967256024511800116259015989556973799208421362578778407930171819448343555222282663084296349719958872407802740586388025791639311202376639643569107783267374172357008608861243178632590404300588304215309999110011956060032790407268584492327327039106056767055013240144980624510036787529732314782898947919793434086348854687747688839676380809412270727827681090249998978632281358028967151122092126591322279748012054863047084630587489531027217948024634849933274853788115640586636945722919953689690612741747898769309011590211199011293752579990699300177066458509952031105017168510207438363262705718893003985975417469522562603502762324191313815245033376029228501400802156878876062498399645543559354271649550715499022695467995821795360160948043267134088954129476634225714588947492167102436999599024409826866462799634635799154086410657754372429988058345311907764633041178129860871059962200998783094316905709293495578372329182558978390190227697966968988358506657190830873006176129045646980674610796894828070526516939343775013346839263716800593498266946277590191632412571595626767318104740809948393705190499690004738036721164183103218600263375931706811139060610891225640635551994144920001977633914465069195103200934563789439333593261571415548929945476293141787707848962736562195813281702102369276003675978155282882811884960688309291734007786475926103797989784480271588677607646337397282830274964384239706347891016817590574856209458248677725390453486009258935444089375493403771700987675012729619950727483590132568036345578019854818034486511066241743485634225868910098748548224105523743746111530577801340795632490385073629070677851530484896417854444299746236697847102765064984016874272633830476694425301907250288746969796659648114167865547056069326704472759981236216684828567800788127337538003089789928530950436201214305299870360436467379252304355822096350966088294668729720968228113399162875805076940449334298374864811312086257465513006871826742045575325426098692608173128736213404523680188769921915198109087551821879615240116483538665644371247233893546291113992308167358436707172231296272790556456367963519659218984471188130728929505101555925692385524375513082874606832352910416474381232830975710597224474290550371118234033164068449799615076166568901454455506514070411772709937487116712438211767760517194896089703831334055060244733696524661565899496996809005860200654892155783723950170593153994885353558157649954018582969660493194020597865623291065982425939496790461267799586482533666181455468144580984709998635067557930673505612579979383122823902607027835225626102714176359803440495759674506617137362826154747107038359270887234818085354157542919597317606555361607179441433556817011529615773419435661859067954707876391957512750401403576031559395381444605774143573235423311389866516428940117282088183127974230841381985472950751823217024214383261779520172469897574030209338719491715044946424005993428251385794081095081877227152163766084711896701282503834390004846789008650547200162405106834826985363627437770643191891770874407848329829700835542319606484956404784277920735791823626841698826514683451579385886109424506060691806324 2248339081617831782510464529259219508995318634286239109176993437789406171790019636967707849539008570697450704277016642632708279803344994139530583486530464182161284054795686289205669763960714972705886138472149237008281265251912495853242987578582284482016544308436218940795705021756070866222398984873903241341462138967537721534272407754363111540726633295948777692359057118358836277170184854447352536205197227520882822360328064749641709681680192830306962258365254920358456408870145703250687336918058688249816722407097902820472247739256703522429471815032925796814521178943310676398691811543075931726092344628904950040013277147687812255618861712092818767741488117241076252115251109669112948262279890903607957056944655562928937459452317178117587153999166674992512891627788986904213794196393776691684677169230731034186380405964085946113450390861543598860068493181664263033276458606974485158903219169662753917016485506167539199156634656550778415025333297948990481184948073037881402725031632009537770809206699486722989973606116711704423291188129699369166205770776484739514152793144513271884769886618809852686667902808226804831231335560696042541465575474196415306539346112363995329471091412317090720024710909663935463468916393404953296241802717053841102291280119209964867507382153860053489104724373257566667867423038677038802028135449848627352886395165998692873119123871024898865184876428208127914757068090408813265319333156736802543617823095339635061502653189460106634477063149799211376060086481370842106873311134515250237938414152846041408199120815996541371443233019521298005493592191782575437873031571880250279900755450381393676957585187797929792142840019527550692721231461867157566732518010654564011901954997562559472180489996550127574045278730696243318685752508561663961837179424533897135517936742460279664676639811448486451670704788856661346086135164515701913019951188136302168673007000828069611778705929153827179034002243302440391002403431301070852736482427769276399289021827279655351633358243133704597656777685608866815742457096797233560080387303213453052330974912224672755680961723427087949428592225178662623653564098410986868300071973853970391753384673557984299876513446423566112886190989641047938587199673050019741619695276909471415324066814705163791952400974833856331042651173233403104579665962892738737269941206694212601568609790739315442945385522611313159484807604044315670860772108119994527627974342489304835612131152778859730822674593800621902173060829301517273899876472112803198053921299820273134740424711213107222366828887807124378244419086690737325686272948690974760811194601669463460977670891423651908076962877995866749689033659250974932100434610829008693473335909263648516441999629871110875985868159969842574805021230217764761856608858789028465592482431958052351181273483549934216553971655512570317005392898975501494300864293408960234079739522363757047199556454184240007320120435470107330979224129369770768083104265765340274449083121634262318681374116582569698875461069104407839060236013657293518197675010024279081848633879486873295941981059999965162412328680501734242392304811077369838509407814641094468087684357087044291127325820695559865261630995169970958876643274466650556135085722717746789115103708285859572105159297986568582310554803405511279444555805528101179539186967049073906002759093880261696945785063754287426665561877227475592657191339405062943116004027875199720427489851427353255947725986687434636503111267595264678390678709877813555294469433190255009157453736254854921763344682945627186729346127 3637889052292375745290799707933829756613476365757262503718473564901766881385293093882628543201505725013073117720839856936443307141762328652456817938950942301611104329605887907165373922119559304058411641413295689018634533814807689060765806664391531152496011960169687765234746575560679067913087270720578917739290688385638390318903883383320928642973412022843878004421717789552509022601834967653341737150002909142831789616352576549757968697669749804106170679727833698766386580689594046805909619581142984599536681279505705561058635765048342833631848454676494904597788553115667685007553054721708522130392932933120260039123289103747845046026130296585146094780594174008131265355396090293622985049809623218390856004864448997015286314140064866957263534808578945720340572718038985882846075554422743842806769295822053313934392460827133030744037880392570816808093128031597537887064574247561122104626139123352444529758233404936848210746845855562072167605323997249167547643458025068986419893541839447901033514925592490708965391075639274307926053512321013184411239146805713240914954950023389334383169532162369206958317453523725827526699331382491402702413618741330504260668822746589709918418583579419527719623735319490801926268551029204107382652460471426271090349625431117729500548560283720924549066925372040660984773132332172617174357318008827017543114093132967681231625781061855771871361005473855108589367864985236883791836272500511815890457086812140228559769599467050298266889634745425978694164827291319235812063810824519988274659578335949260008462496747703352510503843910746938641045586336702577415506946036949445383101690014170833010550846759213478722088316312669338400570194198429353380014220113023840015577933152845442284065450684859419308053065206622347116675536988833252639444825761931179965792901126699986012567656629039061307880163037534386736539621173774637357109326681540073869660682013557689562506189519286395215379580263157258425488914497542814338370708296679375147837245932803399097744888820935045393289268070682495886420308627282129977934831602959689750178077677289656772555234357257564643853894132428951370623360758059101036165619029923297096226144654794200984705081247211693450424194079430976469537635874264325041490055713376850667628422636801514758040695643563577299270764572396278909656606412227037112134752518780470067081616662566057488520710948710005767657936340257720194540960878041909725737061894311184450852247636317525375193921827694168193287053137468875710607048703409075988610377667783792793959409182401237951296333989363050070629943462203820200293105301601391235192427432645174058202145181974023026310996042064316549304109825819876386555941124899420466183273396380360954653767390388305772075571991303897635049754926742426327756105855598034325793137324113836075131444076703929101907529813162524335588362559468695514898729916700026216505679019154218314999142936717906188775588580051092040977859196927701441588716845744723397272985728662097544307476830758929502315956828778914456197598839812040625236034280911513899933988037029792893259587615361572341853762237318745772008078230513031697577362522517486425600434758490620322686721202140165639405204230593282348743159703406767838223268850691977630497089181236611395322183512369830361830727273303085309653894525019816224485610973042502157388553174975343574172937227520372138562263159731309982662038128413713490316166432982034547412853478865123899139617757561842484832940968430806997997163666282597833215205225013881850856280250938306501149230792370133247421152451 5886228133910207527801264237193049265608795000043501612895467002691173053175312730850336392740514295710523821997856499569151586945107322791987401425481406483772388384401574196371043686080274276764297779885444926026915799066720184914008794242973815634512556268605906706030451597316749934135486255594482159080752827353176111853176291137684040183700045318792655696780774907911345299772019822100694273355200136663714611976680641299399678379349942634413132938093088619124842989559739750056596956499201672849353403686603608381530883504305046356061320269709420701412309732058978361406244866264784453856485277562025210079136566251435657301644992008677964862522082291249207517470647199962735933312089514121998813061809104559944223773592382045074850688807745620712853464345827972787059869750816520534491446465052784348120772866791218976857488271254114415668161621213261800920341032854535607263529358293015198446774718911104387409903480512112850582630657295198158028828406098106867822618573471457438804324132291977431955364681755986012349344700450712553577444917582197980429107743167902606267939418781179059644985356331952632357930666943187445243879194215526919567208168858953705247889674991736618439648446229154737389737467422609060678894263188480112192640905550327694368055942437580978038171649745298227652640555370849655976385453458675644896000488298966374104744904932880670736545881902063236504124933075645697057155605657248618434074909907479863621272252656510404901366697895225190070224913772690077918937121959035238512597992488795301416661617563699893881947076930268236646539178528485152853379977608829695663002445464552226687508431947011408514231156332196889093291425660296510946746738123678404027479888150408001756245940681409546882098343937318590435361289497394916601282005186465077101310837869160265677244296440487547759550867826391048082625756338290339270129277869676376038333689014385759174284895448440222394413582506459698816491317928843885191107190724448651547126267760083054449378247064068749990946045756291362702162765724079363538015218906173142802509052589514329528236196080684652593282486357607613994276924856470087904465691003777267487979529328352185284581594693635259563310385069072024408124835547314344783109750990286322082952489451506678549993096618397433630313415745629682014236272375119775849404693725474682668650226453305372931466096471321318927142743944302035865401732986161904253365036236800489286464378789096385106016596421494790095460113966770392984506925175521879186664298967604065928699833893614345173663162877170174448874362548894557525979378250292365996003622034314637519179816073397674934387958920060183298993143485070851318656375735728429159656609305644009471095767020259416648061440151273740209854776156960191089612714714387062791385619756071888426312717560253863318461501468675094652593755458444197009199594210108986450585418541517975362198699390902146196095709015521199371957083326297472209671821111510063671722068850296359862988850947341499201191417897883322295257834853469334143433709290935792981782621916516666189201568675361537504266090917820480014400383041590401536086770337158580893688119115577664613814047022835725504666835225763253307619802977873418394358354573409724419612192889522470967427342810356398944141282076708596589098450330547917404024797940091576063391312268855605271118722291274659565227825036958785575319229467818776433432170460857234267840343330292477155087343744249277121336052236026071676387842376160411388509674658204136860013733987193161422912575475315760434150498578 9524117186202583273092063945126879022222271365800764116613940567592939934560605824732964935942020020723596939718696356505594894086869651444444219364432348785383492714007462103536417608199833580822709421298740615045550332881527873974774600907365346787008568228775594471265198172877429002048573526315061076820043515738814502172080174521004968826673457341636533701202492697463854322373854789754036010505203045806546401593033217849157647077019692438519303617820922317891229570249333796862506576080344657448890084966109313942589519269353389189693168724385915606010098285174646046413797920986492975986878210495145470118259855355183502347671122305263110957302676465257338782826043290256358918361899137340389669066673553556959510087732446912032114223616324566433194037063866958669905945305239264377298215760874837662055165327618352007601526151646685232476254749244859338807405607102096729368155497416367642976532952316041235620650326367674922750235981292447325576471864123175854242512115310905339837839057884468140920755757395260320275398212771725737988684064387911221344062693191291940651108950943548266603302809855678459884629998325678847946292812956857423827876991605543415166308258571156146159272181548645539316006018451813168061546723659906383282990530981445423868604502721301902587238575117338888637413687703022273150742771467502662439114581431934055336370685994736442607906887375918345093492798060882580848991878157760434324531996719620092181041852123560703168256332640651168764389741064009313731000932783555226787257570824744561425124114311403246392450920841015175287584764865187730268886923645779141046104135478723059698059278706224887236319472644866227493861619858725864326760958236702244043057821303253444040311391366268966190151409143940937552036826486228169240726830948396257067103738995860251689811953069526609067431030863925434819165377512064976627238604551216449907994371027943448736791084967726617609793162769616957241980232426386699529477899021128026694963513692886453547123135885003795384235313826973858588583074351361493515950050509132832552687130266803986300791430437942217237136380490036565364900285614529188940631310033700564584205673983146386269286675940846953013734579148503000877662471421578669824599806703663172750580912088308193308033792261961010929584180318025960923892878787346812961539446244255152735731843115871430419986807420031324694800680284559756059942693864203813979102098131111673737316626425413910481210518249188958288747167104239268695113973878930955175274676635387858722659243076015583124959496866533224519504306011098377726272483551893757231196049466959811577381961255371697960698954962124499848297253310890727705212316860627849625839882702024370425749534410647722420137012142577637844904531083702617417368820569985097117178757080185724501444161636957792420369031281837618988182118017912892524098324126809012667091097560672193677197842327620052384871297595572291412934942523225173651260537957254787068995054578958457407296327778100428703507374726662236751455433693281374768669743571847306881716609953546459082461156290723109846119853155139225786408461272103433233664132859676067319288553874068284936500768224975891144072039456356535656362962681280186232581623424101702050109282070759082362749526322726229305972009350011681898752344855567733628510408913134078220779865443830948845291659518795031703790088196690095557981267596232489923748336893839268815253196809157601054226961501811119606168993204456878674385006042443009221724879883218018710870014238131467924061806267685893681571651029 15410345320112790800893328182319928287831066365844265729509407570284112987735918555583301328682534316434120761716552856074746481031976974236431620789913755269155881098409036299907461294280107857587007201184185541072466131948248058888783395150339162421521124497381501177295649770194178936184059781909543235900796343091990614025256465658689009010373502660429189397983267605375199622145874611854730283860403182470261013569713859148557325456369635072932436555914010937016072559809073546919103532579546330298243488652712922324120402773658435545754488994095336307422408017233624407820042787251277429843363488057170680197396421606619159649316114313941075819824758756506546300296690490219094851673988651462388482128482658116903733861324828957106964912424070187146047501409694931456965815056055784911789662225927622010175938194409570984459014422900799648144416370458121139727746639956632336631684855709382841423307671227145623030553806879787773332866638587645483605300270221282722065130688782362778642163190176445572876120439151246332624742913222438291566128981970109201773170436359194546919048369724727326248288166187631092242560665268866293190172007172384343395085160464497120414197933562892764598920627777800276705743485874422228740440986848386495475631436531773118236660445158882880625410224862637116290054243073871929127128224926178307335115069730900429441115590927617113344452769277981581597617731136528277906147483815009052758606906627099955802314104780071108069623030535876358834614654836699391649938054742590465299855563313539862841785731875103140274397997771283411934123943393672883122266901254608836709106580943275286385567710653236295750550628977063116587153045519022375273507696360380648070537709453661445796557332047678513072249753081259527987398115983623085842008836134861334168414576865020517367056249510014156826981898690316482901791133850355315897367882420892825946328060042329207911075980416166840004206745276076656058471550355230584720585089745576678242089781452969507996501382949072545375181359583265221290745840075440857053965269415305975355196182856318315829027626518626869830418866847644179359177210470999276845097001037477832072185203311498571553868270634482212577044964217575025285787306968893014607709557693949494833533401539814871858026888880358444559897596063655642938129151162466588810944139969729835404382069569176803351452903891352643621943424228861791925344426850365718232467134367912163023781005214510295587227114670683748384207281071009661679620899054452834361938975602991924651359076969629928298622659743703398968378668559992935252251861802186123227199671501274449096561777328769372895086913882184683147290396795961579023868692596356278785496492007668379896845301430907139068198452293851378054759307240662808506981535284372159908564376836257612927756879197211655738830532750512713640775873476357089533297918336917999117676516102190169039396541718522198580967006611093490784892025849522645860932359068764850740717123429254817270285178725441927904698792624545559046713268546750708912103452862783099863499231870063125271662724966084647350385944072959705800808844313693834769750903196834648212976672989645949550314815247811616648738874682119788963982765659153604626939977997511426469721474960281553330176869133082628250113291426720278487850795186115651032535206853225654284171177712686554116410381810069691269017913233648881133300497064051266357180507354696503083093540139450078209314305246060396727505045440482950350772848418603420610234554541422155570883748225324629346974381743001654115722149607 24934462506315374073985392127446807310053337731645029846123348137877052922296524380316266264624554337157717701435249212580341375118846625680875840154346104054539373812416498403443878902479941438409716622482926156118016464829775932863557996057704509208529692726157095648560847943071607938232633308224604312720839858830805116197336640179693977837046960002065723099185760302839053944519729401608766294365606228276807415162747076997714972533389327511451740173734933254907302130058407343781610108659890987747133573618822236266709922043011824735447657718481251913432506302408270454233840708237770405830241698552316150315656276961802661996987236619204186777127435221763885083122733780475453770035887788802778151195156211673863243949057275869139079136040394753579241538473561890126871760361295049289087877986802459672231103522027922992060540574547484880620671119702980478535152247058729065999840353125750484399840623543186858651204133247462696083102619880092809181772134344458576307642804093268118480002248060913713796876196546506652900141125994164029554813046358020423117233129550486487570157320668275592851590976043309552127190663594545141136464820129241767222962152070040535580506192134048910758192809326445816021749504326235396801987710508292878758621967513218542105264947880184783212648799979976004927467930776894202277870996393680969774229651162834484777486276922353555952359656653899926691110529197410858755139361972769487083138903346720047983355956903631811237879363176527527599004395900708705380938987526145692087113134138284424266909846186506386666848918612298587221708708258860613391153824900387977755210716421998346083626989359461182986870101621929344081014665377748239600268654597082892113595530756914889836868723413947479262401162225200465539434942469851255082735667083257591235518315860880769056868202579540765894412929554241917720956511362420292524606486972109275854322431070272656647867065383893457613999908045693613300451782781617284250062988766704704937053295145855961543624518834076340759416673410239079879328914426802350569915319924438807907883313123122302129819056956569087067555247337680744724077496085528465785728311071178396656390877294644957823154946575329165590779543366078026163449778390471684432309364397612667584114313628123065166060681142319455489481776381681603862022029949813401772483586213984988140113912685048233771439711311383968316744104513421547985287120714569532211569232499023836761097631639924206068437632919872706672954448175248930374734872933383789537213652238379783374018320045645511423582156610236623487882974571091312978524345354079880458395720968234260673943738584141070855785868844309182995587650106852306729081009456984128411336374709692750322594835841554861488335464436429015899663838324365425924350355854357257025743133916443337429201040834169448159199564032350332628957991494269982057396242463727011784767613662862362716594384046142250965838304206665782197826968372747819512192897026019637809712178008213274677581506503542356608206167351207795798168702240032083680773196434630406745215841823609584354123881256807757196505797228098931587217305585797268003415036056510715532265226863714234486815583472787507792810914138476324620345728340433790859521601421613128519830757031040635692926395455808857556085300776731960386603140041683384661045615766359732504951043156517502961702041328864722972808001430338976691281764660283756280928844248535771898346736948607679263541266747871516333674038644939829025157854461046429831959434424640174281753762463456097271036188010687547797293800636 40344807826428164874878720309766735597884404097489295575632755708161165910032442935899567593307088653591838463151802068655087856150823599917307460944259859323695254910825534703351340196760049295996723823667111697190482596778023991752341391208043671630050817223538596825856497713265786874416693090134147548621636201922795730222593105838382986847420462662494912497169027908214253566665604013463496578226009410747068428732460936146272297989758962584384176729648944191923374689867480890700713641239437318045377062271535158590830324816670260281202146712576588220854914319641894862053883495489047835673605186609486830513052698568421821646303350933145262596952193978270431383419424270694548621709876440265166633323638869790766977810382104826246044048464464940725289039883256821583837575417350834200877540212730081682407041716437493976519554997448284528765087490161101618262898887015361402631525208835133325823148294770332481681757940127250469415969258467738292787072404565741298372773492875630897122165438237359286672996635697752985524884039216602321120942028328129624890403565909681034489205690393002919099879142230940644369751328863411434326636827301626110618047312534537655994704125696941675357113437104246092727492990200657625542428697356679374234253404044991660341925393039067663838059024842613121217522173850766131404999221319859277109344720893734914218601867849970669296812425931881508288728260333939136661286845787778539841745809973820003785670061683702919307502393712403886433619050737408097030877042268736157386968697451824287108695578061609526941246916383581999155832651652533496513420726154996814464317297365273632469194700012697478737420730598992460668167710896770614873776350957463540184133240210576335633426055461625992334650915306459993526833058453474340924744503218118925403932892725901286423924452089554922721394828244558400622747645212775608421974369393002101800650491112601864558943045800060297618206653321770269358923333136847868970648078512281383179143076598825469540125901783148886134598032993504301170074754502243207623880589339744783263079495979440617958846683475195956897974114185324924083254706556527742630825312108656228728576080606143529377023217209811378167824507583653051449237085359364699040018922091562162417647715167937937024087570022677900049379372445337246800151181112279990583427726183714823544495982254225037122892615202736611938687528742283339910631547564935250444036366866935999784878636854434501655664747590556455057161729246258592054355771987836623899152627841371708025377397015275439722204816353940022456261643131084248230776207156266003685595392469508709770505515912910443750872782726493866142878046902813885752949702053340407196832866717361130219440137272462000556533916730280393954423145565028234431331891138729416934307510752700950356957920031381103898030096782863046269733864970627071590694160800645010902444129765052531755990925764664449546805310817759272982718994222270465373125256094784488550429301437468091947866685228984284512904959975753354844881970786782792592876649297413506608715073693672709625786606222892404546891741301058637388026149899491102773165939253345363745241899853360184037130398720599124441549788820596113584328493999587395486461579419124554989552231991322189023103264588891485806198592203452238874453935227799035693580822619585386789122220869204057078112423138934414241825914663987857824582261724335022638109351603232274981440277088057757472855571993931913061179084085422779375930702879649850442193988966062329852637510688780726618010569753689201913015950243 65279270332743538948864112437213542907937741829134325421756103846038218832328967316215833857931642990749556164587051281235429231269670225598183301098605963378234628723242033106795219099239990734406440446150037853308499061607799924615899387265748180838580509949695692474417345656337394812649326398358751861342476060753600846419929746018076964684467422664560635596354788211053307511185333415072262872591615639023875843895208013143987270523148290095835916903383877446830676819925888234482323749899328305792510635890357394857540246859682085016649804431057840134287420622050165316287724203726818241503846885161802980828708975530224483643290587552349449374079629200034316466542158051170002391745764229067944784518795081464630221759439380695385123184504859694304530578356818711710709335778645883489965418199532541354638145238465416968580095571995769409385758609864082096798051134074090468631365561960883810222988918313519340332962073374713165499071878347831101968844538910199874680416296968899015602167686298273000469872832244259638425025165210766350675755074686150048007636695460167522059363011061278511951470118274250196496941992457956575463101647430867877841009464604578191575210317830990586115306246430691908749242494526893022344416407864972252992875371558210202447190340919252447050707824822589126144990104627660333682870217713540246883574372056569398996088144772324225249172082585781434979838789531349995416426207760548026924884713320540051769026018587334730545381756888931414032623446638116802411816029794881849474081831590108711375605424248115913608095834995880586377541359911394109904574551055384792219528013787271978552821689372158661724290832220921804749182376274518854474045005554546432297728770967491225470294778875573471597052077531660459066268000923325596007480170301376516639451208586782055480792654669095688615807757798800318343704156575195900946580856365111377654972922182874521206810111183953755232206561367463882659375115918465153220711067278986088116196371744681431083750420617225226894014706403743381049403668929045558193795909264183591170962809102562920088665740431765043965529361523005668807332202642056208416553623179834625384966957900788487200178163785140543758604050949731077612686863749836383472328286489174830001762028796061002190148251164997355538861148827018850662173211062093392355911312397699811684609894939273270894332326514120580255431633255704887895918668279504782655605599365959836545976268494358707724102380510429161730116177421507522429090644921220413436366280079751491399395717060920951145786972964176645944144617702175561209300552510345884143991113437742970444449254497051514606658651570803049138465697009666192482030711510324535608169241427053880542034973114016862044869381166709409854086983889393660355682246993086673960050644669144287786158960865550552057229660815213378898691856464897053648090403264372022687211743427914894472585309810806700512643615024425055180545962595018284885318153120804126360141479445681366625448191732526641121111127326961150643050673026814876273649845732043913353930915517282293979910487479700161743397538529157568975243455485288370776580975309856079277507126717074418523945982193386632234360702959072438204674222340021186345983180840737683509382989022362824716029660044700343362283892980184199261057075269482420354626438385945119294073264025721560039814464467799137214633916094326834515864026384618778919038195851768046879787014036665436736396838741803429394853122730362608401088557340696280274153423390702504134391273152236823889046757764376749710309750879 105624078159171703823742832746980278505822145926623620997388859554199384742361410252115401451238731644341394627738853349890517087420493825515490762042865822701929883634067567810146559296000040030403164269817149550498981658385823916368240778473791852468631327173234289300273843369603181687066019488492899409964112262676396576642522851856459951531887885327055548093523816119267561077850937428535759450817625049770944272627668949290259568512907252680220093633032821638754051509793369125183037391138765623837887698161892553448370571676352345297851951143634428355142334941692060178341607699215866077177452071771289811341761674098646305289593938485494711971031823178304747849961582321864551013455640669333111417842433951255397199569821485521631167232969324635029819618240075533294546911195996717690842958412262623037045186954902910945099650569444053938150846100025183715060950021089451871262890770796017136046137213083851822014720013501963634915041136815569394755916943475941173053189789844529912724333124535632287142869467942012623949909204427368671796697103014279672898040261369848556548568701454281431051349260505190840866693321321368009789738474732493988459056777139115847569914443527932261472419683534938001476735484727550647886845105221651627227128775603201862789115733958320110888766849665202247362512278478426465087869439033399523992919092950304313214690012622294894545984508517662943268567049865289132077713053548326566766630523294360055554696080271037649852884150601335300466242497375524899442693072063618006861050529041932998484301002309725440549342751379462585533374011563927606417995277210381606683845311152545611022016389384856140461711562819914265417350087171289469347821356512009972481862011178067561103720834337199463931702992838120452593101059376799936932224673519495442043384101312683341904717106758650611337202586043358718966451801787971509368555225758113479455623413295476385765753156984014052850413214689234152018298449055313022191359145791267471295339448343506900623876322400374113028612739397247682219478423431288765817676498603928374434042305082003538047512423906961000863503475708330592890586909198583951047378935288490854113543038506932016577201380994951921926428558533384129061923949109201082512347208580736992419409743963998939214235821187675255588240521272356097462324392174373382939339038581414635229105877193498308017224941716857192194119161997988227806550215844440033099641966232895836330854905348793209379767128100985616787277906667766114483446416909057037335518907921123199424773114076196390867991789318116668400406260833259809440076759666611887829586505907251680214954770409961958357531434297296915281343743912480078234980413563664942805002108144415010761475110386478862601403297896989803808510129454421894787014138131816090894358155421845238143116880896931655955259757598076425168425721435524125238784564065017033589655873192967426228576235575471150059448925842184328163264956817288750258443409215588614910570780883149458573314876961510925634016087302714505487932643813597668866526495029457419962645989210955003605697093702592566290289279830216206363269605384779473549746914563201443022749026570434602561076380913985756675910491779668551789002716339608581832444760259862238498935221013685013739132924633591829168482485183636438135511010497281456048207261005530506083195484894925617117926887606733551456459830758314692340446288108953801557147547455000321861227291124723194209252410735735342456032206815785387777019260220346130716347412356764833987028783841017550507057327518065951623325701122 170903348491915242772606945184193821413759887755757946419144963400237603574690377568331235309170374635090950792325904631125946318690164051113674063141471786080164512357309600916941778395240030764809604715967187403807480719993623840984140165739540033307211837122929981774691189025940576499715345886851651271306588323429997423062452597874536916216355307991616183689878604330320868589036270843608022323409240688794820116522876962434246839036055542776056010536416699085584728329719257359665361141038093929630398334052249948305910818536034430314501755574692268489429755563742225494629331902942684318681298956933092792170470649628870788932884526037844161345111452378339064316503740373034553405201404898401056202361229032720027421329260866217016290417474184329334350196596894245005256246974642601180808376611795164391683332193368327913679746141439823347536604709889265811859001155163542339894256332756900946269126131397371162347682086876676800414113015163400496724761482386141047733606086813428928326500810833905287612742300186272262374934369638135022472452177700429720905676956830016078607931712515559943002819378779441037363635313779324585252840122163361866300066241743694039145124761358922847587725929965629910225977979254443670231261513086623880220004147161412065236306074877572557939474674487791373507502383106086798770739656746939770876493465006873712210778157394619119795156591103444378248405839396639127494139261308874593691515236614900107323722098858372380398265907490266714498865944013641701854509101858499856335132360632041709859906426557841354157438586375343171910915371475321716322569828265766398903373324939817589574838078757014802186002395040836070166532463445808323821866362066556404779590782145558786574015613212772935528755070369780911659369060300125532939704843820871958682835309899465397385509761427746299953010343842159037310155958363167410315136082123224857110596335478350906972563268167967808082619776056698034677673564973778175412070213070253559411535820088188331707626743017599339922627445800991063268882092360334324011472407868111965605005114184566458136178164338726044829032837231336261697919111840640159463932558468325479498509996407720503777379544780092465685032609483115206674610812859037465984675495069911822421171772760059941404384072352672611127101670099374948124497603236466775295250350979114446913715772132771578911557268230977772449550795253693115702468884123944815755247565598855672876831173843151917103869508611414778517394084089273636912537061830277450771885188000874690824168831137117342013778762282293314344550878535435370649377312176957771973577619344994650659404024907013472964190085868099964419809440922146270717011125073989478413171349571468891303510083500495724646272679063699213662597113343815555142696385124902764854408800090989525929275841762482208012489418413289804067117577900421178886874967329389056276867616620882320701161545386277850572092540866609383343810919412307035143761562336392741270712260328830825198763068694037566755127214629675656130983316840412545140176340761501333316576904728237297585607581182292728033686818359373775338513060870067844326327889873057522300256153287509021085022363107372388910271194738740989993676938679629768178427941100599922008318210036047838455162584678292172530766378163820637396568085766763876402833699391475625377268748920647177157741352074532688671093746852641526856310314493572580476185743306768368741014305161388630945649249477538771850885329546147996178107817561042410990500835747467338121420056993254374396104085282442701333635452001 276527426651086946596349777931174099919582033682381567416533822954436988317051787820446636760409106279432345420064757981016463406110657876629164825184337608782094395991377168727088337691240070795212768985784336954306462378379447757352380944213331885775843164296164271074965032395543758186781365375344550681270700586106393999704975449730996867748243193318671731783402420449588429666887208272143781774226865738565764389150545911724506407548962795456276104169449520724338779839512626484848398532176859553468286032214142501754281390212386775612353706718326696844572090505434285672970939602158550395858751028704382603512232323727517094222478464523338873316143275556643812166465322694899104418657045567734167620203662983975424620899082351738647457650443508964364169814836969778299803158170639318871651335024057787428728519148271238858779396710883877285687450809914449526919951176252994211157147103552918082315263344481222984362402100378640435329154151978969891480678425862082220786795876657958841050833935369537574755611768128284886324843574065503694269149280714709393803717218199864635156500413969841374054168639284631878230328635100692595042578596895855854759123018882809886715039204886855109060145613500567911702713463981994318118106618308275507447132922764613928025421808835892668828241524152993620870014661584513263858609095780339294869412557957178025425468170016914014341141099621107321516972889261928259571852314857201160458145759909260162878418179129410030251150058091602014965108441389166601297202173922117863196182889673974708344207428867566794706781337754805757444289383039249322740565105476148005587218636092363200596854468141870942647713957860750335583882550617097793169687718578566377261452793323626347677736447549972399460458063207901364252470119676925469871929517340367400726219411212148739290226868186396911290212929885517756276607760151138919683691307881338336566219748773827292738316425151981860933032990745932186695972014029091197603429358861521030706875268431695232331503065417973452951240185198238745488360515791623089829148906472040340039047419266569996183690588245687045692536312939666854588506021039224110511311493756816333612053034914652520354580925775044387611461168016499335736534761968238548497022703650648814840581516724058880618619893540347866715342191371731045586821995410840158234589389560529082142821649326269886928782209947834964643669957251681343509019099968384848854889531831751509207686079191945126483636636712400395304671990757039751395983478739334488107404095921997890248941945213313732881770551600409982744957139368695180089454071843569659803164125252246330874358795316975431321721520165396879701153184834626348951991538637654421218173457715883902064985193886974587247675976960689017471107242798237449929710523256718855748766955512834764072392722659413863967749176011366229235543299335945304125659531394406089866523489813849746929737780961749000631541466708793711507075876229595785402204971551981356181283041211980283772077945655548492389143301932390161618915960654010214006702835790958753279222893939192301191304674884885294323976098189589981701782666254847317876074804436258965323005179857943623646098744021358145586181686518409541782679655019238350010872701360462160507253431049732852194295509311884001699248863347457075532079096264045332451040960397006131460464233815572794275668239681266240127553577610956219196756602602526382033333290761768690602241596286111825154901660213274114306917536361933383955127077781388541706848248104232172108448840834271924903161412800508652956961153123 447430775143002189368956723115367921333341921438139513835678786354674591891742165388777872069579480914523296212390662612142409724800821927742838888325809394862258908348686769644030116086480101560022373701751524358113943098373071598336521109952871919083055001419094252849656221421484334686496711262196201952577288909536391422767428047605533783964598501310287915473281024779909298255923479115751804097636106427360584505673422874158753246585018338232332114705866219809923508169231883844513759673214953483098684366266392450060192208748421205926855462293018965334001846069176511167600271505101234714540049985637475395682702973356387883155362990561183034661254727934982876482969063067933657823858450466135223822564892016695452042228343217955663748067917693293698520011433864023305059405145281920052459711635852951820411851341639566772459142852323700633224055519803715338778952331416536551051403436309819028584389475878594146710084187255317235743267167142370388205439908248223268520401963471387769377334746203442862368354068314557148699777943703638716741601458415139114709394175029880713764432126485401317056988018064072915593963948880017180295418719059217721059189260626503925860163966245777956647871543466197821928691443236437988349368131394899387667137069926025993261727883713465226767716198640784994377517044690600062629348752527279065745906022964051737636246327411533134136297690724551699765378728658567387065991576166075754149660996524160270202140277987782410649415965581868729463974385402808303151711275780617719531315250306016418204113855425408148864219924130148929355204754514571039063134933741914404490591961032180790171692546898885744833716352901586405750415014062906116991554080645122782041043575469185134251752060762745334989213133577682275911839179977051002811634361161239359409054721111614136675736629614143211243223273727676793586763718514306329998827390004563193676816084252178199710879693319949669015652766802630221373645579002869373015499571931774590118411088519883564039129808435572792873867630999229808757242608151957413840621314340152305644052533451136454319868752584413090521569150171003116286425132879864269975244052225141813110563031322373024131960470555136853296493777499614542411145574827276014481698198720560637261753289484118822023003965893020477842443861471105993711319598647306933529839740539643529056537421459041465840339478178812737093220752505374459211487984092329664610137097430607182084517253035097043587506145323815173822066074846313388308520540569611938879289283922872581073110776350431074895549313882703297089508017904130550738831384020527431776741744597240981533762820223988904285911606033496844120962625756772619669002663711643899631344807287352793368495277387470311893948656024388231133704356142053005072406908381621620603175755603824290001668564421896071980238594424656033302660877236366483012534498723795146143391106434732067630899326348026851203634007575403094850886795641902820545966533888374097451995301540811108970841014349586059144270516562065817749899277494422759146879176552460086595799798667429598776912256067178022357662916548963757040295727124915162202402694309316487623261333145452644731121107128730534496452881257150531776356593698868118189300642461062082515571641085780690649458093990176174230015241511277712928647182030809208853874659788481756837732982736219971433409591755798928798647324463597746053066917096098962509519034068537059343255901447500456100550909690812886157802865908081380133234895342430952697349083851699510229868897827526299299265498082951354290596605124 723958201794089135965306501046542021252923955120521081252212609309111580208793953209224508829988587193955641632455420593158873130911479804372003713510147003644353304340063938371118453777720172355235142687535861312420405476752519355688902054166203804858898165715258523924621253817028092873278076637540752633847989495642785422472403497336530651712841694628959647256683445229497727922810687387895585871862972165926348894823968785883259654133981133688608218875315740534262288008744510329362158205391813036566970398480534951814473598960807981539209169011345662178573936574610796840571211107259785110398801014341857999194935297083904977377841455084521907977398003491626688649434385762832762242515496033869391442768555000670876663127425569694311205718361202258062689826270833801604862563315921238924111046659910739249140370489910805631238539563207577918911506329718164865698903507669530762208550539862737110899652820359817131072486287633957671072421319121340279686118334110305489307197840129346610428168681572980437123965836442842035024621517769142411010750739129848508513111393229745348920932540455242691111156657348704793824292583980709775337997315955073575818312279509313812575203171132633065708017156966765733631404907218432306467474749703174895114269992690639921287149692549357895595957722793778615247531706275113326487957848307618360615318580921229763061714497428447148477438790345659021282351617920495646637843891023276914607806756433420433080558457117192440900566023673470744429082826791974904448913449702735582727498139979991126548321284292974943571001261884954686799494137553820361803700039218062410077810597124543990768547015040756687481430310762336741334297564680003910161241799223689159302496368792811481929488508312717734449671196785583640164309299653976472683563878501606760135274132323762875965963497800540122533436203613194549863371478665445249682518697885901530243035833026005492449196118471931529948685757548562408069617593031960570618928930793295620825286356951578796370632873853546245825107816197468554245603123943580503669770220812192645683099952717706450503559340830100136214105463110669970874931153919088380486555545981958146722616066237025544486541396330181240907954945516113878147680336795514562978720902371209452102334806208177702641623859433368344557786052842837039298141594058147091764429130100172611199359070785311352769121688126647701736890709757055802720507084060714513465026629262358691292203332227042170071142782036215569126738065603353139704504019308946426986693379844870471322052721563744807777319865483113279834465157272825730828285455864097091579905869849487312408121615540964335607633126198893723822115810591398968620994202349298320849518265003236695433480471274444899141624632985077248604811598940290455002117431638340476351942711116659054074061287081309935947987770436022262538204176572311787138194030118201236009914596248581814560637107309775851835175474284196806357962671871498605948171505440355453633278342752791392742918960005134551533413818494455979368815238148432973153582012343418839875022692606621899968216930952063316681639014738553738742078393379762480078477498745575452946266513003396268377219851150088680082634567775560073559036248718106468200173343821524243022825072135513542843753603302060175929264104858734788460726278294854541304915620185487888298197216551792765709077831437065168926200902074553965249823519698625344542852324830305749945497497733612281255452569904087000464720402270014764088361973123819494404197331955931682338317738661798224202426910883460007247557758247 1171388976937091325334263224161909942586265876558660595087891395663786172100536118598002380899568068108478937844846083205301282855712301732114842601835956398506612212688750708015148569864200273915257516389287385670534348575125590954025423164119075723941953167134352776774277475238512427559774787899736954586425278405179176845239831544942064435677440195939247562729964470009407026178734166503647389969499078593286933400497391660042012900718999471920940333581181960344185796177976394173875917878606766519665654764746927401874665807709229187466064631304364627512575782643787308008171482612361019824938850999979333394877638270440292860533204445645704942638652731426609565132403448830766420066373946500004615265333447017366328705355768787649974953786278895551761209837704697824909921968461203158976570758295763691069552221831550372403697682415531278552135561849521880204477855839086067313259953976172556139484042296238411277782570474889274906815688486263710667891558242358528757827599803600734379805503427776423299492319904757399183724399461472781127752352197544987623222505568259626062685364666940644008168144675412777709418256532860726955633416035014291296877501540135817738435367137378411022355888700432963555560096350454870294816842881098074282781407062616665914548877576262823122363673921434563609625048750965713389117306600834897426361224603885281500697960824839980282613736481070210721047730346579063033703835467189352668757467752957580703282698735104974851549981989255339473893057212194783207600624725483353302258813390286007544752435139718383092435221186015103616154698892068391400866834972959976814568402558156724780940239561939642432315146663663923147084712578742910027152795879868811941343539944261996616181240569075463069438884330363265916076148479631027475495198239662846119544328853435377012641700127414683333776659477340871343450135197179751579681346087890464723919851917278183692160075811791881198964338524351192629443263172034829943634428502725070210943697445471462360409762682289119038698975447196698363002845732095537917510391535152344951327152486168842904823428093414513226735674613281673087161356286798952650461799598207099959833179097559398568618501866885318094204448723015728420558825911622790577460419101091770089364088095692296524664627825326388822400229914313943033009461192705454025294268870639816140255896492244352818609461166305460438830111462262430261931995068153044178075163726692965873376720585262139213658648927360030742948804140449666528013024559878558365865982663767743052395163497914175882672869179365816576923973175176956281567116839884624523356647614446728293941884435764953239893544732232390567943078436348171588289996866060942220480863072290589488801975748661915211035573289009465479738515955082343460074524340019962096955118466720483344075729851503206007928226364860678295840865053808678270150728528841996382153305702683313882191536433657802703038809481859599901208849467513401426494138039328729551085273644293602501713759974354720610677684335056521797118714515642855732300461188895878926470822491274051498745129187019241339039301931287517495782374120504677642280880193054891940569527846148848913108340958278819214579087449032710605335392842416974586389473986282586325538396713221294233493211697292236350159279346370012501389373460325663750158790279973969645135930199288012737142487423192864097724848226538151711302890436794724307052371358898842809288753399181112737356003479594899886622523268178096144221596868466250447101546415807631192568186636489324523501692408966411361538154363371 1895347178731180461299569725208451963839189831679181676340104004972897752309330071807226889729556655302434579477301503798460155986623781536486846315346103402150965517028814646386267023641920446270492659076823246982954754051878110309714325218285279528800851332849611300698898729055540520433052864537277707220273267900821962267712235042278595087390281890568207209986647915238904754101544853891542975841362050759213282295321360445925272554852980605609548552456497700878448084186720904503238076083998579556232625163227462353689139406670037169005273800315710289691149719218398104848742693719620804935337652014321191394072573567524197837911045900730226850616050734918236253781837834593599182308889442533874006708102002018037205368483194357344286159504640097809823899663975531626514784531777124397900681804955674430318692592321461178034936221978738856471047068179240045070176759346755598075468504516035293250383695116598228408855056762523232577888109805385050947577676576468834247134797643730080990233672109349403736616285741200241218749020979241923538763102936674836131735616961489371411606297207395886699279301332761482503242549116841436730971413350969364872695813819645131551010570308511044088063905857399729289191501257673302601284317630801249177895677055307305835836027268812181017959631644228342224872580457240826715605264449142515786976543184806511263759675322268427431091175271415869742330081964499558680341679358212629583365274509391001136363257192222167292450548012928810218322140038986758112049538175186088884986311530265998671300756424011358036006222447900058302954193029622211762670535012178039224646213155281268771708786576980399119796576974426259888419010143422913937314037679092501100646036313054808098110729077388180803888555527148849556240457779285003948178762118164452879679602985759139888607663625215223456310095680954065893313506675845196829363864785776366254162887750304189184609271930263812728913024281899755037512880765066790514253357433518365831768983802423041156780395556142665284524083263394166917248448856039118421180161755964537597010252438886549355326987434244613362949780076392343058036287440718041030948355144189058106555795163796424113105043263215499335112403668531842298706506248418305140439140003462979541466422901900474227306251684759757166958015967156780072307602786763601117058698000739988751455255563029664171378582854432108140567002172019486064652502152213758691540190355955324564668923917489181383729791709396246312075542206053019667717528579187504792852676043612613523717216219477920690450189044848929856758438332449782012395402295748721614936553484296215606350006051305917575501177858431284291765194246939570556910991068410240541330381337293826184235456219936360110177197921994542728343327554022633915076641771658302573307061177837142398149791138584515943876214135296700558379069230380990057288922558960197618163220298931895696752173540967578554873984956143796707566812139384900032442309544769085004718551987046393894456678934359855162211098153550977776487529753791288705454043201239297766345845183880673398713346117971304655720940946026071234524452513884440122359357691800467393515794359152245181485560809428907894661722016808270678894429091135081054589647330104110568561221785356807776336965300594296526088543451228747289850099738620518291463705900159457533434127415839805502851565254629929266651049128612705676552713956493349651595223683729148559234250896914725018611456049498986887087243670448110908309958841590069941505743747763562874906504375151122747704119319849871368785712121618 3066736155668271786633832949370361906425455708237842271427995400636683924409866190405229270629124723410913517322147587003761438842336083268601688917182059800657577729717565354401415593506120720185750175466110632653489102627003701263739748382404355252742804499983964077473176204294052947992827652437014661806698546306001139112952066587220659523067722086507454772716612385248311780280279020395190365810861129352500215695818752105967285455571980077530488886037679661222633880364697298677113993962605346075898279927974389755563805214379266356471338431620074917203725501862185412856914176331981824760276503014300524788950211837964490698444250346375931793254703466344845818914241283424365602375263389033878621973435449035403534073838963144994261113290918993361585109501680229451424706500238327556877252563251438121388244814153011550438633904394270135023182630028761925274654615185841665388728458492207849389867737412836639686637627237412507484703798291648761615469234818827363004962397447330815370039175537125827036108605645957640402473420440714704666515455134219823754958122529748997474291661874336530707447446008174260212660805649702163686604829385983656169573315359780949289445937445889455110419794557832692844751597608128172896101160511899323460677084117923971750384904845075004140323305565662905834497629208206540104722571049977413213337767788691792764457636147108407713704911752486080463377812311078621714045514825401982252122742262348581839645955927327142144000530002184149692215197251181541319650162900669442187245124920552006216053191563729741128441443633915161919108891921690603163537369985138016039214615713437993552649026138920041552111723638090183035503722722165823964466833558961313041989576257316804714291969646463643873327439857512115472316606258916031423673960357827298999223931839194516901249363752629906790086755158294937236763641873024948409045210873666830978082739667582372876769347742055693927877362806250947666956143937101620457887785936243436042712681247894503517190158238431784323223058710590865280251294588134656338690553291116882548337404925055392260150415527659126589685454689674016145197643727516993681410154742396158066388974261355822681723545130100817429316852391547570719265332160041095717899559104554749630830510997592770751970879510086145989358245881470723105317063979469055142352966871379804891711152055274016989988044020737568579397113634281916326584497220366802869615354082648290438045644502751320597388440636756277055024346346502686195730553139066063158718658707380356576112379717392096573123058224214746433682411507626738293962519135633346138293201098742943900291890487070870815394722590663674859708272683287742145200987934471182761811244409584415673037431968598275321212771211004008208081843509104977375151166111678264670262179644557625742225520990087721951804440500157378854219934284189668327439651087802194000316526001615209578943709974625381257912794438003396608775661606898301458936447584097814555803825631339996396170438908714575772888782488607499573606244269434144437754504390135176692816667675154724897458475304990545994760242877313588730306826634389117764640237884855359334085322205301094094593901767707727109240809465840981284229821933552055640979121316386696894099618498578102009830176997886532876247822797598759791239473198946182041622496180133427178570057615127818239994052677822793364375897355150857387855604393288073958647595042627991368523004296095837755967459529093886773709766938626207052531555710056320388607290163571194067474691011640447271205811728816282730323866484989 4962083334399452247933402674578813870264645539917023947768099405609581676719196262212456160358681378713348096799449090802221594828959864805088535232528163202808543246746380000787682617148041166456242834542933879636443856678881811573454073600689634781543655832833575378172074933349593468425880516974292369026971814206823101380664301629499254610458003977075661982703260300487216534381823874286733341652223180111713497991140112551892558010424960683140037438494177362101081964551418203180352070046603925632130905091201852109252944621049303525476612231935785206894875221080583517705656870051602629695614155028621716183022785405488688536355296247106158643870754201263082072696079118017964784684152831567752628681537451053440739442322157502338547272795559091171409009165655761077939491032015451954777934368207112551706937406474472728473570126373008991494229698208001970344831374532597263464196963008243142640251432529434868095492683999935740062591908097033812563046911395296197252097195091060896360272847646475230772724891387157881621222441419956628205278558070894659886693739491238368885897959081732417406726747340935742715903354766543600417576242736953021042269129179426080840456507754400499198483700415232422133943098865801475497385478142700572638572761173231277586220932113887185158282937209891248059370209665447366820327835499119929000314310973498304028217311469376835144796087023901950205707894275578180394387194183614611835488016771739582976009213119549309436451078015112959910537337290168299431699701075855531072231436450818004887353947987741099164447666081815220222063084951312814926207904997316055263860828868719262324357812715900440671908300612516442923922732865588737901780871238053814142635612570371612812402698723851824677215995384660965028557064038201035371852722475991751878903534824953656789857027377845130246396850839249003130077148548870145238409075659443197232245627417886562061378619672319506656790387088150702704469024702168410972141143369761801874481665050317544673970553794574449607747141973985032197499743444173774759870715047081420145347657363941941615477402961903739952635234766066359203233931168235034712358509886585216172944769425152246794828588393316316764429256060079413017971838408459400858338699108017729172296933899493244979277131194845903156316261848627503177624666766232656259411664872119793643166407618303681161366626875169676719964115806301402391236999372580561561155544438603615002714568420240501981118232346152523367099888552555705863448081718253567951571334750992970099829595936870017263573247269063676290440849840076520306357921431382067753229754583039159506641896538376788390895900449094959151473466930227312702111979002881423303141625746878241857272888188534635431389969132998550936425171063127611290227807883336567243569240822394768140375312128672237895680654635454079412599003514570658384728573646762391618479746300547105275695883515592959812786779394147193316342473746283201491378757128866899560522377618386390290627117843074430935099880642158477350093774023225433143208547591374474459162512859035398296171821422961850650481183823339659964831279148273557886999595576655826727601116564453339276079462577136635003902531482649251963124251024687136695568768646490807462660840283934909786167142298480829402336366248827507081089572937566700333086202080292884712004185030967623742845617932452722631026946483763563064408318349781423610242818726357139927757255193010562774578915578592873660797010609074317960841514551646390330113033911334756942381195386791570018909931048666154099109578606607 8028819490067724034567235623949175776690101248154866219196094806246265601129062452617685430987806102124261614121596677805983033671295948073690224149710223003466120976463945355189098210654161886641993010009044512289932959305885512837193821983093990034286460332817539455645251137643646416418708169411307030833670360512824240493616368216719914133525726063583116755419872685735528314662102894681923707463084309464213713686958864657859843465996940760670526324531857023323715844916115501857466064009209271708029185019176241864816749835428569881947950663555860124098600722942768930562571046383584454455890658042922240971972997243453179234799546593482090437125457667607927891610320401442330387059416220601631250654972900088844273516161120647332808386086478084532994118667335990529364197532253779511655186931458550673095182220627484278912204030767279126517412328236763895619485989718438928852925421500450992030119169942271507782130311237348247547295706388682574178516146214123560257059592538391711730312023183601057808833497033115522023695861860671332871794013205114483641651862020987366360189620956068948114174193349110002928564160416245764104181072122936677211842444539207030129902445200289954308903494973065114978694696473929648393486638654599896099249845291155249336605836958962189298606242775554153893867838873653906925050406549097342213652078762190096792674947616485242858500998776388030669085706586656802108432709009016594087610759034088164815655169046876451580451608017297109602752534541349840751349863976524973259476561371370011103407139551470840292889109715730382141171976873003418089745274982454071303075444582157255877006838854820482224020024250606625959426455587754561866247704797015127184625188827688417526694668370315468550543435242173080500873670297117066795526682833819050878127466664148173691106391130475037036483605997543940366840790421895093647454286533110028210328367085468934938147967414375200584667749894401650371425168639270031430028929306005237917194346298212048191160712033006233930970200684575897477751038032308431098561268338198302693685062288997333875627818489562866542320689455740375348431574895752028393768664628981374239333743686508069476552133523417134193746108451626983737237170568500496576238258212572478803127444897086015731248010704932049145674507730098226282941730745701711401764631743499598534877559673577698151354670895907245299361229440583318717821496592947364430770898521251905440760212922991822578506672982908800422124234899058392059178634857319631110289993458373326675941975654262113836696305493278422724123261347703258600320440567015413891522955681782103406933787025447659206290623039758634011181739613515054847312966937352606064952870156462657530310320157132910752602740344002559144507014572232588665378973995014831913831420466952393882600833118759959847485095135611458266818937798760326712168224734564585618796272302162314854639593490218341070699573832150589925118135353181502950315204712964714116326203249726386686797556751789006707988663130765976923700018292659577580963051981509651151979180534190123193630296727952396645241426700653248695138105782662675651639833461511186061686438769754433370673364344844362113143340948490233247354072958239192336547889962877504356760458782513011795997319296367362278584189046426266872329046136512882374708698260426311890574242646095441982839670610275515995402843838914420452263922743069497568890413768985131296280259489106400530546375107686760434506777547700525013373070261702710718720324074905951009855886398432017290115742777482436829433445091596 12990902824467176282500638298527989646954746788071890166964194211855847277848258714830141591346487480837609710921045768608204628500255812878778759382238386206274664223210325355976780827802203053098235844551978391926376815984767324410647895583783624815830116165651114833817326070993239884844588686385599399860642174719647341874280669846219168743983730040658778738123132986222744849043926768968657049115307489575927211678098977209752401476421901443810563763026034385424797809467533705037818134055813197340160090110378093974069694456477873407424562895491645330993475944023352448268227916435187084151504813071543957154995782648941867771154842840588249080996211868871009964306399519460295171743569052169383879336510351142285012958483278149671355658882037175704403127832991751607303688564269231466433121299665663224802119627101957007385774157140288118011642026444765865964317364251036192317122384508694134670370602471706375877622995237283987609887614485716386741563057609419757509156787629452608090584870830076288581558388420273403644918303280627961077072571276009143528345601512225735246087580037801365520900940690045745644467515182789364521757314859889698254111573718633110970358952954690453507387195388297537112637795339731123890872116797300468737822606464386526922826769072849374456889179985445401953238048539101273745378242048217271213966389735688400820892259085862078003297085800289980874793600862234982502819903192631205923098775805827747791664382166425761016902686032410069513289871831518140183049565052380504331707997822188015990761087539211939457336775797545602363235061824316233015953179979770126566936273450876518201364651570720922895928324863123068883349188453343299768028576035068941327260801398060030339097367094167293227759430626834045529430734335318102167379405309810802757031001489101830480963418508320167282880456836792943496917938970765238885863362192553225442573994503355496999526587086694707241458136982552353075894193341438442402170072675767039791676011348529592865131265827580683538717342658560929675250781476482205858431983385279722839032719652939275491105221451466606494955924221806734551665506063987063106127174515566590412278513111660316271380721916733450958175364511706396755209008976959897434576957320590207975424378796579260710525141899777952301990769578725729460566397511934367661176296615619392178043967291881379312721297771076922019325345246884721109058495965527925991926442959855520443474781343232324559624905329061323789224123451614097922626716575573199061861328209366296775771571591132131100269552762342099014564111187779778906678361998397481644752710264821262913575683563824447597186523488853593162655206543742367549424945940234029368094495903340899387583208345667546183992709477001110080932185635360199955606781878351399157400661289347162022976145247432197743165749771065537679417941313330985096896798381326977237276018602709420130335477005811300883486353226297783241460609099464704441693961841831613676848580868112776977424674594863437643088543772924454273793792315885010724171599572884125611141693393225521489802118150914247295722610523992908659969384930936233538639429038167012789287555334207772646752826921980997117045872431139485210478323982926329032116658609368311819421299066447921582164461594848191680920555295253773953418619074079582707794900340719196602578427677063065725685288542728238626429790322677983516672241092850921179133232495342271224037514682116963305125290686279634095303788156774842974214584813349101048833357986240707952237081785223587309025673826148590928543023698203 21019722314534900317067873922477165423644848036226756386160289018102112878977321167447827022334293582961871325042642446414187662171551760952468983531948609209740785199674270711165879038456364939740228854561022904216309775290652837247841717566877614850116576498468654289462577208636886301263296855796906430694312535232471582367897038062939082877509456104241895493543005671958273163706029663650580756578391799040140925365057841867612244942418842204481090087557891408748513654383649206895284198065022469048189275129554335838886444291906443289372513559047505455092076666966121378830798962818771538607395471114466198126968779892395047005954389434070339518121669536478937855916719920902625558802985272771015129991483251231129286474644398797004164044968515260237397246500327742136667886096523010978088308231124213897897301847729441286297978187907567244529054354681529761583803353969475121170047806009145126700489772413977883659753306474632235157183320874398960920079203823543317766216380167844319820896894013677346390391885453388925668614165141299293948866584481123627169997463533213101606277200993870313635075134039155748573031675599035128625938386982826375465954018257840141100261398154980407816290690361362652091332491813660772284358755451900364837072451755541776259432606031811563755495422760999555847105887412755180670428648597314613427618468497878497613567206702347320861798084576678011543879307448891784611252612201647800010709534839915912607319551213302212597354294049707179116042406372867980934399429028905477591184559193558027094168227090682779750225885513275984504407038697319651105698454962224197870011718033033774078371490425541405119948349113729694842775644041097861634276280832084068511885990225748447865792035464482761778302865869007126030304404632435168962906088143629853635158468153250004172069809638795204319364062834336883863758729392660332533317648725663253652902361588824431937674554501069907826125886876954003447319361980708473832199001981772277708870357646741641056291977860586917469687543343136827153001819508790636956993251723478025532717781941936609366733039941029473037276613677547109900097080959739091499895839144547964651612256798168385747932855440150585151921472963333380492446179545460394010815215533162686778551823693665276441773152604710001447665277308823955743508128257636079062940928359118990712921526965459077464075968666984167318686574687468039826879992558475290422697341481107425884234994266224147138131578311970124211348358350672489981805351432892830172151321667739623451713547245394244936965858255620521738687372535483037506998802565412895536275665946603366320509470589272106803477146528612227173836946157257422396737912877586635433047366059803556917893528502800456936595449821003669225439200207592788620985755873366231071232081756299555905576978366192157590650844906676995946236879112091311809065023115891562856072290904871734984975070496029641954185927058448373166578744452646207392009166554796327793174784117839163664222231346652444351077206903690431197493810608544588305134651554393776763120873927415644683432414878866643940964037224646157355107490713598909190279262499678198850973994103962206017426191266825359230189213379629718457832396941165521368664548572245816176181757848960933378161780891215553959504744341680040825747665210592465082503598601145508493152670323158507708524959153003754621832634161592403968936163835920418748023646264327402520317774171223363835671665793966394529810565704475367987587655075051811767553682061146658962092968183655604599141416603631027757976468789799 34010625139002076599568512221005155070599594824298646553124483229957960156825579882277968613680781063799481035963688215022392290671807573831247742914186995416015449422884596067142659866258567992838464699113001296142686591275420161658489613150661239665946692664119769123279903279630126186107885542182505830554954709952118924242177707909158251621493186144900674231666138658181018012749956432619237805693699288616068137043156819077364646418840743648291653850583925794173311463851182911933102332120835666388349365239932429812956138748384316696797076454539150786085552610989473827099026879253958622758900284186010155281964562541336914777109232274658588599117881405349947820223119440362920730546554324940399009327993602373414299433127676946675519703850552435941800374333319493743971574660792242444521429530789877122699421474831398293683752345047855362540696381126295627548120718220511313487170190517839261370860374885684259537376301711916222767070935360115347661642261432963075275373167797296927911481764843753634971950273873662329313532468421927255025939155757132770698343065045438836852364781031671679155976074729201494217499190781824493147695701842716073720065591976473252070620351109670861323677885749660189203970287153391896175230872249200833574895058219928303182259375104660938212384602746444957800343935951856454415806890645531884641584858233566898434459465788209398865095170376967992418672908311126767114072515394279005933808310645743660398983933379727973614256980082117248629332278204386121117448994081285981922892557015746043084929314629894719207562661310821586867642100521635884121651634941994324436947991483910292279736141996262328015876673976852763726124832494441161402304856867153009839146791623808478204889402558650055006062296495841171559735138967753271130285493453440656392189469642351834653033228147115371602244519671129827360676668363425571419181010918216479095476356092179928937201141587764615067584023859506356523213555322146916234369074657539317500546368995271233921423243688167601008404886001697756828252600985272842815425235108757748371750501594875884857838261392496079532232537899353844451762587023726154606023013660114555063890769909828702019313577356884036110096837475039777247655188522420291445392172853752894753976202490244537152298294504487953749656046887549685204074525769570446724117224974738382890965494257340456776797266438061089338011919934352760935938488524003216414623784440962946327709775609456471697756483641031448000572481802286587904432068008466029234012649877105920227485118836526376037235411017962620753251483723262816413677164563810377181028376211424629234085154153096554400663670017465820336492152700999789946162858817820664801141861963144456305476736848468003120588159298004779306371385842952988576592537751717630228632743045646717928553123613624355333816594677742533625654820425422296905961821497218540093348309507581155115310547501840942837672280284746156408039353552110911833703128396627941470023364985951940641646905941515881994165750676614885471287602924429599029306251127277902374262567320641166173234533029780891236686647748639066015076875644535142728918691537845211640261549438169978664179018188806356347235085810769203668310720924091850400781207181614127995603056915408854960326242486063745640425299636933814779166284284672047790298498941864705095731098000221573434210247695731993248262424484270387485608404928771339927156878759669673744355288853340327140796956480246028625114353861250210961802239888400912816387040047387366914330049968879191908167090429779618686519492488002 55030347453536976916636386143482320494244442860525402939284772248060073035802901049725795636015074646761352361006330661436579952843359334783716726446135604625756234622558866778308538904714932932578693553674024200358996366566072998906331330717538854516063269162588423412742480488267012487371182397979412261249267245184590506610074745972097334499002642249142569725209144330139291176455986096269818562272091087656209062408214660944976891361259585852772743938141817202921825118234832118828386530185858135436538640369486765651842583040290759986169590013586656241177629277955595205929825842072730161366295755300476353408933342433731961783063621708728928117239550941828885676139839361265546289349539597711414139319476853604543585907772075743679683748819067696179197620833647235880639460757315253422609737761914091020596723322560839579981730532955422607069750735807825389131924072189986434657217996526984388071350147299662143197129608186548457924254256234514308581721465256506393041589547965141247732378658857430981362342159327051254982146633563226548974805740238256397868340528578651938458641982025541992791051208768357242790530866380859621773634088825542449186019610234313393170881749264651269139968576111022841295302778967052668459589627701101198411967509975470079441691981136472501967880025507444513647449823364611635086235539242846498069203326731445396048026672490556719726893254953646003962552215760018551725325127595926805944517845485659573006303484593030186211611274131824427745374684577254102051848423110191459514077116209304070179097541720577498957788546824097571372049139218955535227350089904218522306959709516944066358107632421803733135825023090582458568900476535539023036581137699237078351032781849556926070681438023132816784365162364848297590039543600188440093191581597070510027347937795601838825103037785910575921608582505466711224435397756085903952498659643879732748378717681004360874875696088834522893709910736460359970532917302855390066568076639311595209416726642012874977715221548754518478092429344834583981254420494063479772418486832235773904468283536812494224571301333525552569509151576900954351859667983465246105918852804662519715503026707997087767246432797034621262018310438373157740101368067880685456207388386915581532528026183909813594071447109197955197321324196373640947582654027206525787058153333857373603887021222799534240873235105045256656698494621820800762818481082478506837321125922070372211944769875680618835888061953001572211920840152959077886237419441358859406163971544845543679198666081920620974201269273583142491938856258745853920675967129223272717304042158027995554594624742368661204140816546078047510329098858257212342900771695407300234189228022948013223370265351268460057183609119008448531810586050545777197578293625083861299864824801946273834130101979816512924467439584419529571891699537513608715026844613110102949420600412452890100285617997870584791858207343194529574618098004757119225712294951424269263198149103791104305869137288168326345242957580305316668781413532974187334440902681671679137383441248056810856666947908647535177650684973285223370184366358134051919197954037523410491235543542132184681605209455631715577424299190398922126143117865257371769445755753859944171784814764369788338488023377279299599930043978613855604913949495264512872802097543010213588883768323380081142735206848735747870095058645862791454544568764691758675180525023997076264673063024563690976468622274212423154924919565725578949389894963452724583940722108534025876423018152534796507308507033410646444495961277801 89040972592539053516204898364487475564844037684824049492409255478018033192628480932003764249695855710560833396970018876458972243515166908614964469360322600041771684045443462845451198770973500925417158252787025496501682957841493160564820943868200094182009961826708192536022383767897138673479067940161918091804221955136709430852252453881255586120495828394043243956875282988320309189205942528889056367965790376272277199451371480022341537780100329501064397788725742997095136582086015030761488862306693801824888005609419195464798721788675076682966666468125807027263181888945069033028852721326688784125196039486486508690897904975068876560172853983387516716357432347178833496362958801628467019896093922651813148647470455977957885340899752690355203452669620132120997995166966729624611035418107495867131167292703968143296144797392237873665482878003277969610447116934121016680044790410497748144388187044823649442210522185346402734505909898464680691325191594629656243363726689469468316962715762438175643860423701184616334292433200713584295679101985153804000744895995389168566683593624090775311006763057213671947027283497558737008030057162684114921329790668258522906085202210786645241502100374322130463646461860683030499273066120444564634820499950302031986862568195398382623951356241133440180264628253889471447793759316468089502042429888378382710788184965012294482486138278766118591988425330613996381225124071145318839397642990205811878326156131403233405287417972758159825868254213941676374706962781640223169297417191477441436969673225050113264026856350472218165351208134919158239691239740591419349001724846212846743907701000854358637843774418066061151701697067435222295025309029980184438885994566390088190179573473365404275570840581782871790427458860689469149774682567941711223477075050511166419537407437953673478136265933025947523853102176596538585112066119511475371679670562096211843855073773184289812076837676599137961293934595966716493746472625002306300937151296850912709963095637284108899138465236922119486497315346532340809507021479336322587843721940993522276218785131688379082409562726021632101741689476254798803622255007191400711941866464777074779393796617825789786560010153918657372115147913412934987756556590300976901599561240668476286504228674154350746369741613685908946977371083923326151657179796776972511175378308595756494852515480139991017670501543106345994710414556173561698756969606481723251944910363033318539654545485137090533644545594033020212493321955245665790669487449824888640176621421951463906683784918446997011436680291545763245190339982008670334353131693033649898332418369452624788679778895465215604804486563543867846821251559257002289063630513227965035331089986092469528847002199736463177771768417013227838181971893498765774170831376801491528497567847592991762683225593440868258284034262162063197546519962935905620988666110328643042768909920034045215596165499711527629530487627940685982657451556868031059415423348052210733221514089743044947516043229684208339408708256920202140069016457403786363747153808949581511646008568697977029901480938428426414337332721924289385261242002669194648116645575368622131497092980302163345784227644438071924659385001168125794453838789349222170226962935474072167387871679778643298814265863343045240355343615547670384080233779936560663100596484874918684614866323601654576945454544467741118357483130133178940152973693463098602337403783666750009028351877904018117265578754458451780039273426975789911192134851853637400327762155921392790753068121413988415475597463190265131015453765803 144071320046076030432841284507969796059088480545349452431694027726078106228431381981729559885710930357322185757976349537895552196358526243398681195806458204667527918668002329623759737675688433857995851806461049696860679324407566159471152274585738948698073230989296615948764864256164151160850250338141330353053489200321299937462327199853352920619498470643185813682084427318459600365661928625158874930237881463928486261859586140967318429141359915353837141726867560200016961700320847149589875392492551937261426645978905961116641304828965836669136256481712463268440811166900664238958678563399418945491491794786962862099831247408800838343236475692116444833596983289007719172502798162894013309245633520363227287966947309582501471248671828434034887201488687828300195616000613965505250496175422749289740905054618059163892868119953077453647213410958700576680197852741946405811968862600484182801606183571808037513560669485008545931635518085013138615579447829143964825085191945975861358552263727579423376239082558615597696634592527764839277825735548380352975550636233645566435024122202742713769648745082755664738078492265915979798560923543543736694963879493800972092104812445100038412383849638973399603615037971705871794575845087497233094410127651403230398830078170868462065643337377605942148144653761333985095243582681079724588277969131224880779991511696457690530512810769322838318881680284260000343777339831163870564722770586132617822844001617062806411590902565788346037479528345766104120081647358894325221145840301668900951046789434354183443124398071049717123139754959016729611740378959546954576351814750431369050867410517798424995951406839869794287526720158017680863925785565519207475467132265627166541212355322922330346252278604915688574792621225537766739814226168130151316668656647581676446885345233555512303239303718936523445461684682063249809547463875597379324178330205975944592233791454188650686952533765433660855003845332427076464279389927857696367505227936162507919379822279296983876853686785676637964589744691366924790761441973399802360262208773229296180687068668500873306980864059547184671250841053155753155481922990656646817860719269439594494896823325822877553806442950953278634133458351786092727857924658181662357806949627584057819032254858064164340441188722883864144298695280296967099239833823983498298233531642453130098739536702939525258543736648151602651408909177994362461575450688960230089266036285103690751599315360817709369532607547034592424414162108204743676906906891183748046340592966797007585882451000367617985637949565128905737129196240754524255029098822256922615636460527480620343274403637833876808945303109621915357150350417514214631964402208635265269520318009040482752217267551004923234955377536021676369992557944044542971749125001885352828362392649539265596813327573257381182751473846581592769438219500449514336015510723438745992189510332486935315881783497582112421388694971135215557275549561625150285127718299476479996419663193534149253385180517852534684651665837225518808850429990377973698188056490621260649029449816754787886568428847075961591988017695209512755445608360803246567314599612892032622732636522434348027389437100069787502083684191567047920596956654606593939672718689334016339172686444148431637302289240622344840285387594161525988994183275201073535902694027885132273498634646981735719680661393203488988452541775995970394697542458154857277517928807663826273701414902467709093734201028670874934964192992701368860582029815306361984268484264455418667176086273948784922784104496600911575511415043604 233112292638615083949046182872457271623932518230173501924103283204096139421059862913733324135406786067883019154946368414354524439873693152013645665166780804709299602713445792469210936446661934783413010059248075193362362282249059320035973218453939042880083192816004808484787248024061289834329318278303248444857711155458009368314579653734608506739994299037229057638959710306779909554867871154047931298203671840200763461310957620989659966921460244854901539515593303197112098282406862180351364254799245739086314651588325156581440026617640913352102922949838270295703993055845733271987531284726107729616687834273449370790729152383869714903409329675503961549954415636186552668865756964522480329141727443015040436614417765560459356589571581124390090654158307960421193611167580695129861531593530245156872072347322027307189012917345315327312696288961978546290644969676067422492013653010981930945994370616631686955771191670354948666141427983477819306904639423773621068448918635445329675514979490017599020099506259800214030927025728478423573504837533534156976295532229034735001707715826833489080655508139969336685105775763474716806590980706227851616293670162059494998190014655886683653885950013295530067261499832388902293848911207941797729230627601705262385692646366266844689594693618739382328409282015223456543037341997547814090320399019603263490779696661469985012998949048088956910870105614873996725002463902309189404120413576338429701170157748466039816878320538546505863347782559707780494788610140534548390443257493146342388016462659404296707151254421521935288490963093935887851431618700138373925353539596644215794775111518652783633795181257935855439228417225452903158951094595499391914353126832017254731391928796287734621823119186698560365220080086227235889588908736071862540145731698092842866422752671509185781375569651962470969314786858659788394659529995108854695858000768072156436088865227372940499029371442032798816297779928393792958025862552860002668442379233013420629342917916581092775992152022598757451087060037899265600268463452736124948105930714222818456905853800189252389390426785568816772992530529410551959104177997848047529802585734216669274290619943648667340366453104871936006248606265199027715614481248482639259406510868252534105536483532218515086810930336569773091276066364220293250897013620760470809408909951048886593592052183079516276214238191257948646119323734167924160332420295441953341210946648137009291253860845954799903177153141067612636907484063450409467576394341008636686517214388748471492566235918814614997074629856674668982319536222763194589382230515290572513968878896933245131954182533299092413749789673165783203971601976771216921028032721863230304851407995132952281064269750741386412727145953034904208174529837543308745919956378686844356859960497132257359496553166698249441035508108743655966984739463385419957004176833767389034958420252520980531477948997293640050919182599075901539933001118493181344543141647528690729641177283277194200901223747536743024060374094145720948919446447781760061935210299570842160675458385452764916469909785504388006325350417133802140706850363472441215431245188260654754229729502736511373173664744507859426743069192735173715050795443955816109899681624808088506560558123927074936116555103965390080640731209709196373074417055137634199003290512760050958113500970583390296626115937671230106810024906129149334850516151617955879855332591330576282729766780371727210999779783129326715003466419677158771774164667159999384596246420376811457929154395362773338259701959791176706526868809407 377183612684691114381887467380427067683020998775522954355797310930174245649491244895462884021117716425205204912922717952250076636232219395412326860973239009376827521381448122092970674122350368641408861865709124890223041606656625479507125493039677991578156423805301424433552112280225440995179568616444578797911200355779309305776906853587961427359492769680414871321044137625239509920529799779206806228441553304129249723170543761956978396062820160208738681242460863397129059982727709329941239647291797676347741297567231117698081331446606750021239179431550733564144804222746397510946209848125526675108179629060412232890560399792670553246645805367620406383551398925194271841368555127416493638387360963378267724581365075142960827838243409558424977855646995788721389227168194660635112027768952994446612977401940086471081881037298392780959909699920679122970842822418013828303982515611466113747600554188439724469331861155363494597776946068490957922484087252917585893534110581421191034067243217597022396338588818415811727561618256243262851330573081914509951846168462680301436731838029576202850304253222725001423184268029390696605151904249771588311257549655860467090294827100986722066269799652268929670876537804094774088424756295439030823640755253108492784522724537135306755238030996345324476553935776557441638280924678627538678598368150828144270771208357927675543511759817411795229751785899133997068779803733473059968843184162471047524014159365528846228469223104334851900827310905473884614870257499428873611589097794815243339063252093758480150275652492571652411630718052952617463171997659685328501705354347075584845642522036451208629746588097805649726755137383470584022876880161018599389820259097644421272604284119210064968075397791614248940012701311765002629403134904202013856814388345674519313308097905064698084614873370898994414776471540723038204206993870706234020036330974048101028322656681561591185981905207466459671301625260820869422305252480717699035947607169175928548722740195878076652845838808275395415676804729266190391029905426135927308368139487452114637592922468690125696371290845116001444243371582566305114586100988504694347663305003656263769187443269471544894172896055825214640382064616985120443472405906664301617213460495836591924568738390282679427252119059453637235574761644517260350136847444743969107642441593502016692331588886019041534757974839409551297528232912162286621907870984402183430476982933240700042853176206772509272709760688102205061321646171655153144483301232192384732857807355545479078448686919182232982712579421803574719448732463517718844411329337547495129605339424413865475228586171132969222695092782787698561121952394285431552992434930498495574371726004173435033281537301746309647682523489056580578167087781587851717669081380572197185222353146671522956309880739955630623786981955325248736422958963834934293019687557206135027147930585007915847359732494875752472307877570211117097208550680118331629670859947005170726060840476811343454286404265389277708712039931371239757769876438159733760123266790192102809704908202207552803038338632580349598313368112343314896152458724275687782745844801152687376962366025170859400563101844577646928826753384302221635647752098562410049572400314142104845733244568075506573418844344587734920926118803870722362068600330338707734905984540645183231612135617565126016306777330874719095262566682125119729548058609772813157373261398994402556431181682839436304733980811800201649967659412378527632356194482466361368864730684832230125105240669311558261043806456392088282038283853011 610295905323306198330933650252884339306953517005696456279900594134270385070551107809196208156524502493088224067869086366604601076105912547425972526140019814086127124094893914562181610569012303424821871924957200083585403888905684799543098711493617034458239616621306232918339360304286730829508886894747827242768911511237318674091486507322569934099487068717643928960003847932019419475397670933254737526645225144330013184481501382946638362984280405063640220758054166594241158265134571510292603902091043415434055949155556274279521358064247663373342102381389003859848797278592130782933741132851634404724867463333861603681289552176540268150055135043124367933505814561380824510234312091938973967529088406393308161195782840703420184427814990682815068509805303749142582838335775355764973559362483239603485049749262113778270893954643708108272605988882657669261487792094081250795996168622448044693594924805071411425103052825718443263918374051968777229388726676691206961983029216866520709582222707614621416438095078216025758488643984721686424835410615448666928141700691715036438439553856409691930959761362694338108290043792865413411742884955999439927551219817919962088484841756873405720155749665564459738138037636483676382273667503380828552871382854813755170215370903402151444832724615084706804963217791780898181318266676175352768918767170431407761550905019397660556510708865500752140621891514007993793782267635782249372963597738809477225184317113994886045347543642881357764175093465181665109658867639963422002032355287961585727079714753162776857426906914093587700121681146888505314603616359823702427058893943719800640417633555103992263541769355741505165983554608923487181827974756517991304173385929661676003996212915497799589898516978312809305232781397992238518992043640273876396960120043767362179730850576573883865990443022861465384091258399382826598866523865815088715894331742120257464411521908934531685011276649499258487599405189214662380331115033577701704389986402189349178065658112459169428837990830874152866763864767165455991298368878872052256474070201674933094498776268879378085761717630684818217235902111976857073690278986352741877465890737872933043478063213120212234539349160697150646630670882184148159086887155146940876619971364089126030105221922501194514063049396023410326850828008737553601033861065504439917051351544550903285923641069098557810972213030667499943647556646330210782240291279844136771687929581377709334107037052727309175886913829169817698229130235105562612059695573201021419375021744293950571014922837996847979787209278478243701768268686280913433793559852838067643574218321347110607182768704432061636444882455953481765093554371056648474020467652361725879223133999306387314345807052487696060409669442091484786341617619131160463589037759259041542082313643803780315806433906653880064822490064068904703407698427220354250023864390973524062106350837528896378837681492169392523227060169287018637141551798611512974214001594533861455702017760088537655187628012926020732772414025516960706689322885941493822058477089762944970380366587660317719508248418084737604638718529477117036859309087748128998177089989413342131192095527907370773736766589085506355569822577037395350698547542518226159472081938950193352293802692002581509535399448553125001566850013579918735143017385476341933909275053405234189725636588148516312932893268545949202072591588254269064398574761390769037228593990324978839160948463211163515733760594929528364971125832055686404130359149626360753460977105209041583034395064674331599303508416183264988565152662418 987479518007997312712821117633311406989974515781219410635697905064444630720042352704659092177642218918293428980791804318854677712338131942838299387113258823462954645476342036655152284691362672066230733790666324973808445495562310279050224204533295026036396040426607657351891472584512171824688455511192406040680111867016627979868393360910531361458979838398058800281047985557258929395927470712461543755086778448459262907652045144903616759047100565272378902000515029991370218247862280840233843549382841091781797246722787391977602689510854413394581281812939737423993601501338528293879950980977161079833047092394273836571849951969210821396700940410744774317057213486575096351602867219355467605916449369771575885777147915846381012266058400241240046365452299537863972065503970016400085587131436234050098027151202200249352774991942100889232515688803336792232330614512095079099978684233914158441195478993511135894434913981081937861695320120459735151872813929608792855517139798287711743649465925211643812776683896631837486050262240964949276165983697363176879987869154395337875171391885985894781264014585419339531474311822256110016894789205771028238808769473780429178779668857860127786425549317833389409014575440578450470698423798819859376512138107922247954738095440537458200070755611430031281517153568338339819599191354802891447517135321259552032322113377325336100022468682912547370373677413141990862562071369255309341806781901280524749198476479523732273816766747216209665002404370655549724529125139392295613621453082776829066142966846921257007702559406665240111752399199841122777775614019509030928764248290795385486060155591555200893288357453547154892738691992394071204704854917536590693993645027306097276600497034707864557973914769927058245245482709757241148395178544475890253774508389441881493038948481638581950605316393760459798867729940105864803073517736521322735930662716168358492734178590496122870993181856965718158901030450035531802636367514295400740337593571365277726788398308337246081683829639149548282440669496431646382328274305007979564842209689127047732091698737569503782133008475800819661479273694543162188276379974857436225129195741529196812665506482591757128712245216522365287012735499169268602559293061811242493833431859925717954673960312783873941315168455477047562425589653254813951170708510248409024693793138052919978255229955117599345730187870077051241175789558492497404148162264246320202164912514618409376960213259499818448596674517272022759550776406760715756542996805393406152232829099839429649463609757179080962499788700281818421217001149798632278204889190385562773179557745760976082411354875565030859139975238741180326215506765342080027012902582860221453594860003479822347627344354234005708092192931148065364508705400719012181258119139831238727304666790475303272116314646609510688609472019394153439830657391055288543043551948179659089254281422536812226197413987045144995534937739498135734350102478729844603884861541539032181762858236899881109474032278315298441484453956888200464459199324101227582181743879955047780085274789867870522546587050665087202952086641820431933011767812023816780922934790566029508154461553078230174299868433663153284396575961339616986346299641080636209044482253092298198027047260078088082954243793140859922492968817450641097211617715815049668815259594050417421337772205713642329239670599420668297335158270379388793946633371163582194601855389319381395592130146050599820467741406729730014938785244434214036486553632092722122325707790041271708139635733985889860347314872575353270603436515429 1597775423331303511043754767886195746296928032786915866915598499198715015790593460513855300334166721411381653048660890685459278788444044490264271913253278637549081769571235951217333895260374975491052605715623525057393849384467995078593322916026912060494635657047913890270230832888798902654197342405940233283449023378253946653959879868233101295558466907115702729241051833489278348871325141645716281281732003592789276092133546527850255122031380970336019122758569196585611376512996852350526447451473884507215853195878343666257124047575102076767923384194328741283842398779930659076813692113828795484557914555728135440253139504145751089546756075453869142250563028047955920861837179311294441573445537776164884046972930756549801196693873390924055114875257603287006554903839745372165059146493919473653583076900464314027623668946585808997505121677685994461493818406606176329895974852856362203134790403798582547319537966806800381125613694172428512381261540606299999817500169015154232453231688632826265229214778974847863244538906225686635701001394312811843808129569846110374313610945742395586712223775948113677639764355615121523428637674161770468166359989291700391267264510614733533506581298983397849147152613077062126852972091302200687929383520962736003124953466343939609644903480226514738086480371360119238000917458030978244216435902491690959793873018396722996656533177548413299510995568927149984656344339005037558714770379640090001974382793593518618319164310390097567429177497835837214834187992779355717615653808370738414793222681600084033865129466320758827811874080346729628092379230379332733355823142234515186126477789146659193156830126809288660058722246601317558386532829674054581998167030956967773280596709950205664147872431748239867550478264107749479667387222184749766650734628433209243672769799058212465816595759416621925182958988339488691401940041602336411451824994458288615957145700499430654556004458506464976646500435639250194182967482547873102444727579973554626904854056420796415510521820470023701149204534263597102373626643183880031821316279890801980826590475006448881867894726106485637878715175806520019261966658961210178102595086479402129856143569695711969363251594377219515933643406381353416761646180216958183370453403224014843984779182235285068455378217851500457889276417661992367552204569575752848941745144682603823264178871024216157156702400900744551184823346204822708186388453544090456973852842095996118711067250312227127624483588346441840457779906641866278368602692378594427571607850844133380220478532595175928942286997978760062122985269836079545711998449043223630416753776067108086689594123579997092495584857694694662091309061136398728501033370235221947332817994002786209661973151406721701768501862373239550150850323019850172644847156899090280269386980434279083587922748553263390753431962083463058143238355818275642793067416339153183151360632260065708605035095479214537518761997908785154371491654277341357578098863136072893637464875996988418764661660291241319174256867982405161171148522210042721404240220969717992750465641377528188242054835468749824807590805171297548969871076899771945779100024779979371639346557080985600948036635022748659639966398538377012337044847183598862368516564192042491550320849952080669592489643241693984924059818831030559832354635101291391602724534647455651611063408793862158642172563867966617499407749858633657858345208132554351231830449379644360234753078609261763336201502001659258379909911076489900440616912781719082875786684895250313291174030798660221459650823288758618259168589177847 2585254941339300823756575885519507153286902548568135277551296404263159646510635813218514392511808940329675082029452695004313956500782176433102571300366537461012036415047577987872486179951737647557283339506289850031202294880030305357643547120560207086531031697474521547622122305473311074478885797917132639324129135245270574633828273229143632657017446745513761529522099819046537278267252612358177825036818782041248538999785591672753871881078481535608398024759084226576981594760859133190760291000856725598997650442601131058234726737085956490162504666007268478707836000281269187370693643094805956564390961648122409276824989456114961910943457015864613916567620241534531017213440046530649909179361987145936459932750078672396182208959931791165295161240709902824870526969343715388565144733625355707703681104051666514276976443938527909886737637366489331253726149021118271408995953537090276361575985882792093683213972880787882318987309014292888247533134354535908792673017308813441944196881154558037909041991462871479700730589168466651584977167378010175020688117439000505712188782337628381481493487790533533017171238667437377633445532463367541496405168758765480820446044179472593661293006848301231238556167188517640577323670515101020547305895659070658251079691561784477067844974235837944769367997524928457577820516649385781135663953037812950511826195131774048332756555646231325846881369246340291975518906410374292868056577161541370526723581270073042350592981077137313777094179902206492764558717117918748013229275261453515243859365648447005290872832025727424067923626479546570750870154844398841764284587390525310571612537944738214394050118484262835814951460938593711629591237684591591172692160675984273870557197206984913528705846346518166925795723746817506720815782400729225656904509136822651125165808747539851047767201075810382384981826718279594556205013559338857734187755657174456974449879879089926777426997640363430694805401466089285725985603850062168503185065173544919904631642454729133661592205650109173249431645203760028748755954917488888011386158489579929028558682173744018385650027734582286457540194449501063181450243038936067614327724282220931326668809076178303726491963839593741881220656141880522685364205473278769425864286835083940561939453142548068942396693386306977505451702007315247181503375278086001257966438937820656743242434100979333756502432588770821602425999135763315205590536615808336777176017754610614528088027463571726946073080262863713863217330683048626994125145689183987833723840679943972809869942142352355009904786786679041880544202270985878177990203338233609193189933333812869062772005478455562123354724832933435842417524567901740808528046272818082168786412854006266032009600495760955707476594055304387615515359028420569184826105276038921518996691647224754386860039063199872901442041434102857211583069013209330931336110968287332842240614913682602520831232509466259682514296935648283290105841756756071202181983724677611925819227734233888299874135692569556617615741321939293361635607721534143948986421964849673040530550916167396058764601422519414912010542891813117980902882844711795762560022959570545401147501018634063831122336503456411812924362974499716629323391146824679498577561046445134789748347897212158757675443887034834844846552787648481200929566252817106441271539794241506069032401180999575800971412234467387285796742908129013046652291841503717933426432304768963741630345208755312363156669243408388988394848696320924114477103466413811804998112392685291584999313666532646111319998138161333971529772025693276 4183030364670604334800330653405702899583830581355051144466894903461874662301229273732369692845975661741056735078113585689773235289226220923366843213619816098561118184618813939089820075212112623048335945221913375088596144264498300436236870036587119147025667354522435437892353138362109977133083140323072872607578158623524521287788153097376733952575913652629464258763151652535815627138577754003894106318550785634037815091919138200604127003109862505944417147517653423162592971273855985541286738452330610106213503638479474724491850784661058566930428050201597219991678399061199846447507335208634752048948876203850544717078128960260713000490213091318483058818183269582486938075277225841944350752807524922101343979723009428945983405653805182089350276115967506111877081873183460760730203880119275181357264180952130828304600112885113718884242759044175325715219967427724447738891928389946638564710776286590676230533510847594682700112922708465316759914395895142208792490517477828596176650112843190864174271206241846327563975128074692338220678168772322986864496247008846616086502393283370777068205711566481646694811003023052499156874170137529311964571528748057181211713308690087327194799588147284629087703319801594702704176642606403221235235279180033394254204645028128416677489877716064459507454477896288576815821434107416759379880388940304641471620068150170771329413088823779739146392364815267441960175250749379330426771347541181460528697964063666560968912145387527411344523357400042329979392905110698103730844929069824253658652588330047089324737961492048182895735500559893300378962534074778174497640410532759825757739015733884873587206948611072124475010183185195029187977770514265645754690327706941241643837793916935119192853718778266406793346202010925256200483169622913975423555243765255860368838578546598063513583796835227004310164785706619083247606953600941194145639580651632745590407025579589357431983002098869895671451901901728535920168571332610041605629792753518474531536496511149930077102727470579196950580849738023625851129581560672768043207474769470731009385272648750467267517922460688772095418909625307583200712209697897277792430319368700333456524952645874015695855215433970961397154299548261876102125851653495727609234740238307955405924232324783354010852071604158477963340978424977239549055579847661754106908184082503260566506612972003549913659134989671566153610822481968137913776925069352427234149870596706610646799094713883954073697563851210155703675110589690493272493748381562582261295448530788106190090420674947530938847073784657801942667187540821957723702201787276832823606687109879977149461599602035559215850309690628130504508833629038139537029079643053304116119230848009052241671573647167677409245095917677627165666209351440419357470952432938011799266078627659033470447961811753136292195473396186320269726307369027606574129178384626486025391975545942668229436267604945474220033058933557068444477333411033412559760082587813684819456692610230876718638797352860797936789998189921698522806756243744186670390662185819391033281016557544924247006656257988164736818133696984415529872753921611567708339122984350524772786847575715049432070373138479160472564329373038093641660435994008278360946077610637177281298668747164239427267933530276528829770612606479511760761920887918397832874264328888961720643464589793437959613584798335353903296150657987646704510637049636272284658262754148608101865098287364574126492870745410048246774758607397414014917720379195530887873899077580541898290487697331306332779648961450092589788940614871123 6768285306009905158556906538925210052870733129923186422018191307725034308811865086950884085357784602070731817107566280694087191790008397356469414513986353559573154599666391926962306255163850270605619284728203225119798439144528605793880417157147326233556699051996956985514475443835421051611968938240205511931707293868795095921616426326520366609593360398143225788285251471582352905405830366362071931355369567675286354091704729873357998884188344041552815172276737649739574566034715118732047029453187335705211154081080605782726577521747015057092932716208865698699514399342469033818200978303440708613339837851972953993903118416375674911433670107183096975385803511117017955288717272372594259932169512068037803912473088101342165614613736973254645437356677408936747608842527176149295348613744630889060945285003797342581576556823641628770980396410664656968946116448842719147887881927036914926286762169382769913747483728382565019100231722758205007447530249678117585163534786642038120846993997748902083313197704717807264705717243158989805655336150333161885184364447847121798691175620999158549699199357015179711982241690489876790319702600896853460976697506822662032159352869559920856092594995585860326259486990112343281500313121504241782541174839104052505284336589912893745334851951902404276822475421217034393641950756802540515544341978117591983446263281944819662169644470011064993273734061607733935694157159753623294827924702722831055421545333739603319505126464664725121617537302248822743951622228616851744074204331277768902511953978494094615610793517775606963659127039439871129832688919177016261924997923285136329351553678623087981257067095334960289961644123788740817569008198857236927382488382925515514394991123920032721559565124784573719141925757742762921298952023643201080459752902078511494004387294137914561350997911037386695146612424898677803811967160280051879827336308807202564856905458679284209409999739233326366257303367817821646154175182672210108814857927063394436168138965879063738694933120688370200012494941783654599885536478161656054593633259050660037943954822494485653167950195271058552959104074808646382162452736833345406758043650921264783193761722052319422347179273564703278374955690142398787490057126774497035099027073391895967863685467331422953248764990465455468792680432292486730558955125747755364874623020323917309749047072982883670161567578442387756036821617731453119367461685160764011325888351317225174887122177455681019770644114073869566892441272739120266618894070746570095019289210732078999960362817299885948751860571336843823211389811807835901692405125510442016796620443692846212233605080491121339205034523561566346926358196939880345557125915871386284905643702015318273681174142928633116721689972982014781181568379860988542297057708976933318262770274883787857308000874953009193637514830289177481309376382236937505465289352913818867632590459625270750267500114411733902547355869205351734583175167789483761942066312491296745275920344464765018512933045430354554405739511860991884442363965278330619377084150669064073811567473712320305771257680507579648828676588797533510775636766323363470899145943921070173934348594349113263192709641935572285488692347537810270983827140832957859523638657082312071047016644376398184943377417311363674617165394127992961691487140735504274145804123130467789675865770793013760584997032802741189092893566116659751162928891139990218084695058917571843495443496119886489649539988818437235169607303718338129394823845609342692872011470265833483289801363863952444099647099611426561318712640564399 10951315670680509493357237192330912952454563711278237566485086211186908971113094360683253778203760263811788552185679866383860427079234618279836257727606169658134272784285205866052126330375962893653955229950116600208394583409026906230117287193734445380582366406519392423406828582197531028745052078563278384539285452492319617209404579423897100562169274050772690047048403124118168532544408120365966037673920353309324169183623868073962125887298206547497232319794391072902167537308571104273333767905517945811424657719560080507218428306408073624023360766410462918691192798403668880265708313512075460662288714055823498710981247376636387911923883198501580034203986780699504893363994498214538610684977036990139147892196097530288149020267542155343995713472644915048624690715710636910025552493863906070418209465955928170886176669708755347655223155454839982684166083876567166886779810316983553490997538455973446144280994575977247719213154431223521767361926144820326377654052264470634297497106840939766257584403946564134828680845317851328026333504922656148749680611456693737885193568904369935617904910923496826406793244713542375947193872738426165425548226254879843243872661559647248050892183142870489413962806791707045985676955727907463017776454019137446759488981618041310422824729667966863784276953317505611209463384864219299895424730918422233455066331432115590991582733293790804139666098876875175895869407909132953721599272243904291584119509397406164288417271852192136466140894702291152723344527339314955474919133401102022561164542308541183940348755009823789859394627599333171508795222993955190759565408456044962087090569412507961568464015706407084764971827308983770005546778713122882682072816089866757158232785040855151914413283903050980512488127768668019121782121646557176504014996667334371862842965840735978074934794746264391005311398131517761051418920761221246025466916960439948155263931038268641641393001838103222037709205269546357566322746515282251714444650680581868967704635477028993815797660591267567150593344679807280451015118038834424097801108028521391047329227471244952920685872655959830648378013700116229582874662434730623199188363019621598239718714367926335118202394707535664675529255238404274889615908780270224644333767311699851373787917792114776964100836594623933432133658857269726279614534973409509471782807102827177876255660044986433583820702568113953909647644099699591033144386754513191245475758948023835821686216891339635093468207965284025270567551862429613539112642452309152356314737741520185190050783492247416887598934355994645765878577352629793625394606912787274840403307553572823361695204682526680555055344214189696851435191825978019882586205558924690401024874550024370515352747790096310525966785890659641946847777731301407899768010141914945117528848902542821327755962686706145485832988226475497751035683751264544079594467737540304893024566005567938979703767719357208122580414802762420179060508578822896321702148900304981564732612954695641737151730398291152491195737701782690407249120209022517289767746336488455107092584031257244552777913938495744385646810285781949040648390687934931179238268928271594946721196170064162695263082780414732758053021720575903912644263134841236220469716267719489352345685391540637612211310947587892504387778000607504722453408028653902107020068452019429510319330360586451720198581831138095092389044224104306455673565940776262502742957813066179945360541783484460616142410734228485481944365911115752144312544224804873580745910547846375381580289061195258776879296061061519151107653255435522 17719600976690414651914143731256123005325296841201423988503277518911943279924959447634137863561544865882520369293246147077947618869243015636305672241592523217707427383951597793014432585539813164259574514678319825328193022553555512023997704350881771614139065458516349408921304026032952080357021016803483896470992746361114713131021005750417467171762634448915915835333654595700521437950238486728037969029289920984610523275328597947320124771486550589050047492071128722641742103343286223005380797358705281516635811800640686289945005828155088681116293482619328617390707197746137914083909291815516169275628551907796452704884365793012062823357553305684677009589790291816522848652711770587132870617146549058176951804669185631630314634881279128598641150829322323985372299558237813059320901107608536959479154750959725513467753226532396976426203551865504639653112200325409886034667692244020468417284300625356216058028478304359812738313386153981726774809456394498443962817587051112672418344100838688668340897601651281942093386562561010317831988841072989310634864975904540859683884744525369094167604110280512006118775486404032252737513575339323018886524923761702505276032014429207168906984778138456349740222293781819389267177268849411704800317628858241499264773318207954204168159581619869268061099428738722645603105335621021840410969072896539825438512594714060410653752377763801869132939832938482909831563565068886577016427196946627122639541054731145767607922398316856861587758432004539975467296149567931807218993337732379791463676496287035278555959548527599396823053754638773042638627911913132207021490406379330098416442123091131049549721082801742045054933471432772510823115786911980119609455304472792272672627776164775184635972849027835554231630053526410782043081073670200377584474749569412883356847353134873892636285792657301777700458010556416438855230887921501297905294253269247150720120836496947925850803001577336548403966508637364179212476921697954461823259508607645263403872774442908057554492593711955937350605839621590935050900654516996080152394741287572051085273182293739438573853822851230889201337117774924875965037115171563968605946406670542863022912476089978654540549573981100367953904210928546673677105965907044721679432794385091747341651603259446199917349601585089388900926339289562213010173490099157264836657430123151095186004707117969317253982270146556341665684465717431044152511848439673955256801647299341060996573339068795316113238852079357894837459993135168733805731536523055722451334026952252264190011146309547302836350794927331489589089967164437629527087012038297716857199927997265669573928809763017801894260378737751263198361550022917900228143331474796076685930518252039688789033921933024943642688475863641656728029346111162396442065067850891878435791619177426609185063963561659154679470503056764675232345060133501481585059757090454123760657156465193209729971267833768942025127770671967771913643683746612380083644215212796278310008533299160406755664663443721507045601477213643682291691484174300847909144830487157519180904151504969564858549171619003324034475486874579482551424027454258294650137414872192665120655544764413275958455792422350305043541714068113714183628090275674194079993354924801801423392702035917035797154688364899256179004943394735497684144895169389406381165872575149897299995196131379465480783578863940836281481937790220966206836494831916252720827652871983751788855985279604347105791950723046922717113973214834090273707368070414216273617922018112208864870090425059211220978943160672945712426365895999921 28670916647370924145271380923587035957779860552479661554988363730098852251038053808317391641765305129694308921478926013461808045948477633916141929969198692875841700168236803659066558915915776057913529744628436425536587605962582418254114991544616216994721431865035741832328132608230483109102073095366762281010278198853434330340425585174314567733931908499688605882382057719818689970494646607094004006703210274293934692458952466021282250658784757136547279811865519795543909640651857327278714565264223227328060469520200766797163434134563162305139654249029791536081899996149806794349617605327591629937917265963619951415865613169648450735281436504186257043793777072516027742016706268801671481302123586048316099696865283161918463655148821283942636864301967239033996990273948449969346453601472443029897364216915653684353929896241152324081426707320344622337278284201977052921447502561004021908281839081329662202309472880337060457526540585205248542171382539318770340471639315583306715841207679628434598482005597846076922067407878861645858322345995645459384545587361234597569078313429739029785509021204008832525568731117574628684707448077749184312073150016582348519904675988854416957876961281326839154185100573526435252854224577319167818094082877378946024262299825995514590984311287836131845376382056228256812568720485241140306393803814962058893578926146176001645335111057592673272605931815358085727432972978019530738026469190531414223660564128551931896339670169048998053899326706831128190640676907246762693912471133481814024841038595576462496308303537423186682448382238106214147423134907087397781055814835375060503532692503639011118185098508149129819905298741756280828662565625103002291528120562659029830860561205630336550386132930886534744118181295078801164863195316757554088489746236747255219690318975609870711220587403566168705769408687934199906649808682722543930761170229687098875384767535216567492196003415439770441675713906910536778799668213236713537704159288227132371577409919937051370290254303223504501199184301398215501915772555830504250195849316093442132602409764984391494539695507190719849715131475041105547911777606294591805134769690164461262631190457904989658751968688636032629433466166950948566721874687314946323766561696791598715439521051560976881450438179713322333059998146831939289788025072566774308440237225978273062260367162955750837802972714670295575332109817130635185656235194187146502277406247364896818259555960134951206707060044641920108027544997598347344844178975364874807648764693772449380061929801794719723949729283326135354968544517067423152481618951084991697603235550838492935624014445544482449315722951940960049796741848895920110729537033720767086955392802064059304386669723121254168655261754301298674877123842463804341833077992806823553320468079969430512819926248365300165303491283240172983380743884766025664654224827994428653681722470761148709675035553126150147708185474730192092704192325435276405346364113101259874741146253856048492816393842012659536797214915426372698940604383323365198912576823645974287996735536226809411327085557499068420122297160361431592072418142193225829375683800464260067376740934477438653718875202765037801594735788689618096272353410515430300463071192521290775738387427457673409365999312487148683392721395343002406598303198043308488185941027169326810314526491965917200982160695078931373870982014325272662510060772692515223570610685049931734216527063088807721934361457275408199058339125949842418019912295219089854363832565958584246450379486254469997858239221734464863534019151435443 46390517624061338797185524654843158963105157393681085543491641249010795530963013255951529505326849995576829290772172160539755664817720649552447602210791216093549127552188401452080991501455589222173104259306756250864780628516137930278112695895497988608860497323552091241249436634263435189459094112170246177481270945214549043471446590924732034905694542948604521717715712315519211408444885093822041975732500195278545215734281063968602375430271307725597327303936648518185651743995143550284095362622928508844696281320841453087108439962718250986255947731649120153472607193895944708433526897143107799213545817871416404120749978962660513558638989809870934053383567364332550590669418039388804351919270135106493051501534468793548778290030100412541278015131289563019369289832186263028667354709080979989376518967875379197821683122773549300507630259185849261990390484527386938956115194805024490325566139706685878260337951184696873195839926739186975316980838933817214303289226366695979134185308518317102939379607249128019015453970439871963690311187068634770019410563265775457252963057955108123953113131484520838644344217521606881422221023417072203198598073778284853795936690418061585864861739419783188894407394355345824520031493426730872618411711735620445289035618033949718759143892907705399906475810794950902415674056106262980717362876711501884332091520860236412299087488821394542405545764753840995558996538046906107754453666137158536863201618859697699504262068485905859641657758711371103657936826475178569912905808865861605488517534882611741052267852065022583505502136876879256786051046820219604802546221214705158919974815594770060667906181309891174874838770174528791651778352537083121900983425035451302503488337370405521186358981958722088975748234821489583207944268986957931672964495806160138576537672110483763347506380060867946406227419244350638761880696604223841836055423498934249595505604032164493342999004992776318845642222544274715991276589911191175360963667895872395775450184362845108924782848015179441851805023922989150552816427072826584402590590603665493217875592058723830068393518358421609051052249249965981512948892777858560411081176360707324285543666547883644199301542669736400583337677095497622243827840594359668003199356081883346057091124311007176798800039764802711233986337436394152299961515171724039145097667349129368248265074280925068091785242861226637241016575534561679338168083633861101759079053546705957814832895028930267319945912123999814945487538132767081150575715498420597258982791646024713570073076111342022560300524210657624944058511681505052679568630989382708554803163548104162509552824208562284343576101689692223248158291871813820338872868508516843772885911054103748093420591656146197811343737617942955402906469953626200783898145843698701989112087257396039697883889810024454844773994340004848215725804018267507249713981918448552414338878935954358439646303386895092172835956146697964006347876072047656488990579325897538184749679553016455248481057285734166582398692129070054990632088557624213108057407310803493468900887041196374269876257176502392454597784034940914143496445596451520479513098672656925188032285698890714612174667625115342845136449856803332279900443686189624380456426117323092199131089463374709206520687677386404862397664790078500090743198367432714869351813602319224110309722623345382681765739559019767655352919804546238869346555604608767944398263557033683523072512342693154827726312180322330916172312340783932691727280365633306127981754584070793111320469911313681218837182382407410575960385047435364 75061434271432262942456905578430194920885017946160747098480004979109647782001067064268921147092155125271138212251098174001563710766198283468589532179989908969390827720425205111147550417371365280086634003935192676401368234478720348532227687440114205603581929188587833073577569242493918298561167207537008458491549144067983373811872176099046602639626451448293127600097770035337901378939531700916045982435710469572479908193233529989884626089056064862144607115802168313729561384647000877562809927887151736172756750841042219884271874097281413291395601980678911689554507190045751502783144502470699429151463083835036355536615592132308964293920426314057191097177344436848578332686124308190475833221393721154809151198399751955467241945178921696483914879433256802053366280106134712998013808310553423019273883184791032882175613019014701624589056966506193884327668768729363991877562697366028512233847978788015540462647424065033933653366467324392223859152221473135984643760865682279285850026516197945537537861612846974095937521378318733609548633533064280229403956150627010054822041371384847153738622152688529671169912948639181510106928471494821387510671223794867202315841366406916002822738700701110028048592494928872259772885718004050040436505794612999391313297917859945233350128204195541531751852192851179159228242776591504121023756680526463943225670447006412413944422599878987215678151696569199081286429511024925638492480135327689951086862182988249631400601738654954857695557085418202231848577503382425332606818279999343419513358573478188203548576155602445770187950519114985470933474181727307002583602036050080219423507508098409071786091279818040304694744068916285072480440918162186124192511545598110332334348898576035857736745114889608623719866416116568384372807464303715485761454242042907393796227991086093634058726967464434115111996827932284838668530505286946385766816593728621348470890371567381060835195008408216089287317936451185252770076258124427888898667827184099528147027594282782160295073102318402946353004208224387366054732199628657088652786439919758935350478001823708221562933213865612328900767380725007087060860670384153152216215946050871785548174857005788633858053511358372433212771143262448570810549715281674614326965917778674944772530645362568153680250477944516033567046335583226091589749540244290813453537904575107641310525441443880818929588215575896932816348685351692314523824318828048248261356459794070854633092450989065218526652972168641735053515083130365428495419894473785472066631556339797162950135005913136742284250253493983760299027056198572475832050249940467700252406399098942655445176838654106766792891824641633183297955033720709740449602405542237610859841303856167807397807261379267451979998999372244254077783593796090005125731223836505525542432555337365470210703816058389755010077485623245021199106547903033532914368206746442981068020601406715507149321338940021242320544141621428156099052068397482932894336943438998798059490825806872503741297451127746826119195907044496427689572692940947578306969984134449467756897622577423183681203342734001460874720081195302345735568863738644746308888782473121185255409026633368153265893542827880380646731185645492950376172797096705054680919497309844382974869476890832382615886686989873553545790386185421502497341501565476023357537754629488550920624249115311299882747900254098699029223901818871511531856616377301283167968874242083615257289039405781962549660673637597739115230651466733775109747192660852395982345587150029377357770849397568151216695421604141875439494404198870807 121451951895493601739642430233273353883990175339841832641971646228120443312964080320220450652419005120847967503023270334541319375583918933021037134390781125062939955272613606563228541918826954502259738263241948927266148862994858278810340383335612194212442426512139924314827005876757353488020261319707254635972820089282532417283318767023778637545320994396897649317813482350857112787384416794738087958168210664851025123927514593958487001519327372587741934419738816831915213128642144427846905290510080245017453032161883672971380314059999664277651549712328031843027114383941696211216671399613807228365008901706452759657365571094969477852559416123928125150560911801181128923355542347579280185140663856261302202699934220749016020235209022109025192894564546365072735569938320976026681163019634403008650402152666412079997296141788250925096687225692043146318059253256750930833677892171053002559414118494701418722985375249730806849206394063579199176133060406953198947050092048975264984211824716262640477241220096102114952975348758605573238944720132914999423366713892785512075004429339955277691735284173050509814257166160788391529149494911893590709269297573152056111778056824977588687600440120893216942999889284218084292917211430780913054917506348619836602333535893894952109272097103246931658328003646130061643916832697767101741119557237965827557761967866648826243510088700381758083697461323040076845426049071831746246933801464848487950063801847947330904863807140860717337214844129573335506514329857603902519724088865205025001876108360799944600844007667468353693452655991864727719525228547526607386148257264785378343482323693179132453997461127931479569582839090813864132219270699269246093494970633561634837837235946441378923104096848330712695614650938057967580751733290673417434418737849067532372765663196577397406233347525302061518224247176635477430411201891170227602872017227555598066395975599545554178194013400992408132960158995459968761352848035619064259631495079971923922477778645627269219855950333582388204809232147376516607548626701483673055377030523424428568353593882432051631326732224033937951819629974973068573809563162011712627297122411579109833718523553672278057355054028108833796108820357946193054377555876034282330165273860558290829621769673575330479050517709318744801032673019620243889711055416014852598635571924237009558790515724805887021373458437123570057365260886253993861992402461909350020435513340776812447925346017995485846598884292641549999002621263132509645995609972206069325614347985821876520208082024478764844550777704641385243085567880077528511618880929850408807209562647046817954729662862669051136467926331325406546113325592523560788475274050754454632727214910271555491227853035413649791342736990187209480690063749716205909629369680204227531544642594761509908587705868414209854851479963249869414832351921301040164082188664891533482359480342669865588967642326916334493380097768126120105399944469530589383327522764896336244240505359888958989778508413480992701594599173566482680204781498571791415027391445252961225798509618619557951079599910503853329317865230243259879065309335096266788401881145778110443441312332258867878068210452995723491867635502296282656073240782894679061375923427167475174000566354207091822407374667259958408188050975500002588084699932908738226889568231807775030933971738656682564513639813118466684576821623417750401203171981910051112367137799117298780361551748475117377386985817920070031402963807517707801474473026485702110327341734100170469091319308881832435532603986549286015454789246306171 196513386166925864682099335811703548804875193286002579740451651207230091094965147384489371799511160246119105715274368508542883086350117216489626666570771034032330782993038811674376092336198319782346372267177141603667517097473578627342568070775726399816024355700727757388404575119251271786581428527244263094464369233350515791095190943122825240184947445845190776917911252386195014166323948495654133940603921134423505032120748123948371627608383437449886541535540985145644774513289145305409715218397231981190209783002925892855652188157281077569047151693006943532581621573987447713999815902084506657516471985541489115193981163227278442146479842437985316247738256238029707256041666655769756018362057577416111353898333972704483262180387943805509107773997803167126101850044455689024694971330187826027924285337457444962172909160802952549685744192198237030645728021986114922711240589537081514793262097282716959185632799314764740502572861387971423035285281880089183590810957731254550834238340914208178015102832943076210890496727077339182787578253197195228827322864519795566897045800724802431430357436861580180984170114799969901636077966406714978219940521368019258427619423231893591510339140822003244991592384213090344065802929434830953491423300961619227915631453753840185459400301298788463410180196497309220872159609289271222764876237764429770783432414873061240187932688579368973761849157892239158131855560096757384739413936792538439036925984836196962305465545795815575032771929547775567355091833240029235126542368864548444515234681838988148149420163269914123881403175106850198652999410274833609969750293314865597766989831791588204240088740945971784264326908007098936612660188861455370286006516231671967172186134522477236659849211737939336415481067054626351953559197594388903195872979891974926168993654282671031464960314989736176630221075108920316098941707178116613369688610956176946537286347166926615013389021809208497420278095446645221531429106160046953158299322264071452069505372928409429514929052651985334557813440371763882662280826330140761708163470443183363918831595706140273194259946089646266852587010699980155634670233546164864843513068462450895381893380559460911915408565386481267008879963620394763864927271157708896657131191639233235602152415036143484159300995653834778368079008602846335479460595660305666052173476499344650869315957168686705950961674013020502873713946237946308385816721289957598281791973134847667081017797007060704373251856461283285052517704393497938141415504445991541392245904325619039470343087937615507128801031198625145542112624078650004343669130870318109059615961745989473399906501516775817929359750972958589844068359313233301238077679592992065492568518766439362889035114414681101771341736362431463558473657545806211035360593516709753073977197932126980119291521926803964864928965586494890613938899824334573078450395411334514550380081749385372738288981266937576813924239389554276204452012867013522277664466203895134303731331166761462731075959541227818820790506218062910369777474439519369721997375579702428982696132196042741632282942644505314204037946425545605614634173073741013097290663618899295698850338965627021143961753280876104138598821147789233032246037879599733742295420737011858148870043245039474438294061657133511953978437160921505085426201498384761584427322861296325951558220853967982447261540067217165713800723442289261933059788359211334280336012041200914037650591154257079927047659455517809146633615274251482911221665687338098092672928884129547826862168706449983652228025590691161454949193445176978 317965338062419466421741766044976902688865368625844412382423297435350534407929227704709822451930165366967073218297638843084202461934036149510663800961552159095270738265652418237604634255025274284606110530419090530933665960468436906152908454111338594028466782212867681703231580996008625274601689846951517730437189322633048208378509710146603877730268440242088426235724734737052126953708365290392221898772131799274530156048262717906858629127710810037628475955279801977559987641931289733256620508907312226207662815164809565827032502217280741846698701405334975375608735957929143925216487301698313885881480887247941874851346734322247919999039258561913441398299168039210836179397209003349036203502721433677413556598268193453499282415596965914534300668562349532198837419982776665051376134349822229036574687490123857042170205302591203474782431417890280176963787275242865853544918481708134517352676215777418377908618174564495547351779255451550622211418342287042382537861049780229815818450165630470818492344053039178325843472075835944756026522973330110228250689578412581078972050230064757709122092721034630690798427280960758293165227461318608568929209818941171314539397480056871180197939580942896461934592273497308428358720140865611866546340807310239064517964989647735137568672398402035395068508200143439282516076441987038324505995795002395598341194382739710066431442777279750731845546619215279234977281609168589130986347738257386926986989786684144293210329352936676292369986773677348902861606163097633137646266457729753469517110790199788092750264170937382477574855831098714926372524638822360217355898550579650976110472155484767336694086202073903263833909747097912800744879459560724616379501486865233602010023370468918615582953308586270049111095717992684319534310930885062320630291717741042458541759317479248428871193662515038238148445322285555793529352909069286840972560628183732544603682322766472169191583035210200905553238254442105190292781954195666017417930817344043375991983151574036698734785002985567722762622672519140399269829453031624434763540500966607792487185189588572324825586678313680204804406640674953224208479796708176577470810190874030005215611904113133189972763619414590100804988783978340956919304827033743178987296465499791526431774184709718814638351513363153523169111681622466579369171651076320518650809048423581660428106472893492592972335132450144072931079207124200302247809123751866948302227486475624479528943143025056190219850740753924835051520325656630447787411114418197610717860252311440915990551169962094271973351808903266530785198191958727532855288011800168517866825524393036291354636164379444869065827677304283996390181684905756862026552953643746520125295733676710918380262967450094751562684473352618673039163721295522416944989963196913980605521840526888490027879227795218174719780445549744760028771251745635613242532584076226048032739562092055238327256623593853911307304337157680396309851957336544111660991988968791470547971836526650421720854467954708811522385105391629393049982255938091161137024767024955390208494641814662299583362542555009167533355811655788865493699482408837279885692544764677406142291651297885889022029963733871827630466456650085515688319278662494412803671344164179333322870609599246566260701436324393470362166488136421507673510901431293499811316891093104100982492192592624665011775179880335632398377545065707012334262960341121385392703149840318212818012142902732197304434645273437879178036579081769190712696138713823800203000270618229718295953488015331816087760629577240447470403982691483149 514478724229345331103841101856680451493740561911846992122874948642580625502894375089199194251441325613086178933572007351627085548284153366000290467532323193127601521258691229911980726591223594066952482797596232134601183057942015533495476524887064993844491137913595439091636156115259897061183118374195780824901558555983563999473700653269429117915215886087279203153635987123247141120032313786046355839376052933698035188169010841855230256736094247487515017490820787123204762155220435038666335727304544207397872598167735458682684690374561819415745853098341918908190357531916591639216303203782820543397952872789430990045327897549526362145519100999898757646037424277240543435438875659118792221864779011093524910496602166157982544595984909720043408442560152699324939270027232354076071105680010055064498972827581302004343114463394156024468175610088517207609515297228980776256159071245216032145938313060135337094250973879260287854352116839522045246703624167131566128672007511484366652688506544678996507446885982254536733968802913283938814101226527305457078012442932376645869096030789560140552450157896210871782597395760728194801305427725323547149150340309190572967016903288764771708278721764899706926184657710398772424523070300442820037764108271858292433596443401575323028072699700823858478688396640748503388236051276309547270872032766825369124626797612771306619375465859119705607395777107518393109137169265346515725761675049925366023915771520341255515794898732491867402758703225124470216697996337662372772808826594301914032345472038776240899684334207296601456259006205565125025524049097193827325648843894516573877461987276355540934174943019875048098236655105011737357539648422179986665508003096905569182209504991395852242802520324209385526576785047310671487870128479451223826164697633017384710752971761919460336153977504774414778666397394476109628294616247403454342249239139909491140968669933398784204972057019409402973516349888750411824211060355712970576230139608114828061488524502446128249714055637553057320436112890904281932110279361765196471703971409791156406016785294712598019846624403326471656993651374933379843150030254341442314323259336480900597505284672594101888172184801071367813868747598735720784232098191452075644427657139024762033926599745862298797652509016988301537190690225312914848632246736626184702982524922926311297422430062179298923296806463164575804793153362146610633625845041824546584019459610472146609960940032116894593102597215208120104038030050128385928826618864189152110106156637059955460894257899709779102152840101891676327310816037377537198957142670486626926441486139025764754542665896220686995187428277242586234250044218990163264630633236738585617864252443150281269298081864775853334026209715050136597637378841328627980350556713623733679499038459015470147170749722022139584709411136239650642710151569970186320982979487560562583119643841440611065545604860791488121228576547234672514303970203557633938656455172686604851703167693411884451930427495936630343175611609692303419759730377610530859022142604657819191190774010705041215645485199514481737393758081334471108333655482578292982983208383576701841141990263512910165991717014747931769065277797874748720565316542094146545966764901191191471740652844286040698995497981526982316144925297343012758937102929678261395744213954400426934050413446592647459036719947552798112178268507996274267322748700332719673039161881519126855662734056989277231482304728955688324670194356020673623917804401161898295673199502359266122815656721781799739988655167931608925353176136660127 832444062291764797525582867901657354182605930537691404505298246077931159910823602793909016703371490980053252151869646194711288010218189515510954268493875352222872259524343648149585360846248868351558593328015322665534849018410452439648384978998403587872957920126463120794867737111268522335784808221147298555338747878616612207852210363416032995645484326329367629389360721860299268073740679076438577738148184732972565344217273559762088885863805057525143493446100589100764749797151724771922956236211856433605535413332545024509717192591842561262444554503676894283799093489845735564432790505481134429279433760037372864896674631871774282144558359561812199044336592316451379614836084662467828425367500444770938467094870359611481827011581875634577709111122502231523776690010009019127447240029832284101073660317705159046513319765985359499250607027978797384573302572471846629801077552953350549498614528837553715002869148443755835206131372291072667458121966454173948666533057291714182471138672175149814999790939021432862577440878749228694840624199857415685328702021344957724841146260854317849674542878930841562581024676721486487966532889043932116078360159250361887506414383345635951906218302707796168860776931207707200783243211166054686584104915582097356951561433049310460596745098102859253547196596784187785904312493263347871776867827769220967465821180352481373050818243138870437452942396322797628086418778433935646712109413307312293010905558204485548726124251669168159772745476902473373078304159435295510419075284324055383549456262238564333649948505144679079031114837304280051398048687919554044681547394474167549987934142761122877628261145093778311932146402202924538102419107982904603045009489962139171192232875460314467825755828910479434637672503039994991022181059364513544456456415374059843252512289241167889207347640019812652927111719680031903157647525316690295314809867323642035744650992699870953396555092229610308526754604330855602116993014551378987994160956952158204053471676076482826984499058623120780083058785410044681201939732393389631235244472376398948893201974883284922845433302717006676461400292049886604051629826962518019785133450210510905813117188785727291860935804215661468618857531577076677703536925225195254631724122638816288465700784455581113436004022380141824706302371847779494217803897812946703353791573346507971725528902955671891895631938913308648735872360486346912881434968793691494886246946086096626138904083057173084812953337969132955155558355706758833716237733282386762827966408948500871451445427861804051075504649005158207112509007996105070054245154470655144793267010532062056109178830275665556061015105581526582624431729124747025291183586880485105743159986119861199649561049314870604896710683067668809636801100136851044925340519910537714285020878985903960175049977517240314304489856685984410671481403315605799563515563563786610615859205933495849392802228454645399428532913704915068824155927540101745599648444141478075399675004220062306172784895450645441865560717001321696469741986315701691996046909629613209399685415825367340799008027754523649270749569737123336602033137891415572868675753148254107983433641561398799188021680748619759399531734447960264408884595204588559349638109065370524794611262443532606959696934305920452678311413433764520432448004360971761207061105047504527916542606039217312470811899827888430510555813573703286601585709041454105065742311721837339673674876959721474535916950002393567502706773437789864336613943114985698498673470120588984418769144737113615827749284745172056395757158828143276 1346922786521110128629423969758337805676346492449538396628173194720511785413717977883108210954812816593139431085441653546338373558502342881511244736026198545350473780783034878061566087437472462418511076125611554800136032076352467973143861503885468581717449058040058559886503893226528419396967926595343079380240306434600176207325911016685462113560700212416646832542996708983546409193772992862484933577524237666670600532386284401617319142599899305012658510936921376223969511952372159810589291963516400641003408011500280483192401882966404380678190407602018813191989451021762327203649093709263954972677386632826803854942002529421300644290077460561710956690374016593691923050274960321586620647232279455864463377591472525769464371607566785354621117553682654930848715960037241373203518345709842339165572633145286461050856434229379515523718782638067314592182817869700827406057236624198566581644552841897689052097120122323016123060483489130594712704825590621305514795205064803198549123827178719828811507237825003687399311409681662512633654725426384721142406714464277334370710242291643877990226993036827052434363622072482214682767838316769255663227510499559552460473431286634400723614497024472695875786961588918105973207766281466497506621869023853955649385157876450885783624817797803683112025884993424936289292548544539657419047739860536046336590447977965252679670193708997990143060338173430316021195555947699282162437871088357237659034821329724826804241919150401660027175504180127597843295002155772957883191884110918357297581801734277340574549632839351975680487373843509845176423572737016747872007196238368684123865396130037478418562436088113653360030383057307936275459958756405084589710517493059044740374442380451710320068558349234688820164249288087305662510051187843964768282621113007077227963265261003087349543501617524587067705778117074508012785942141564093749657059106463551526885619662633269737601527149249019711500270954219606013941204074907091958570391096560273032114960200578928955234213114260673837403494898300948963134050011755154827706948443786190105299218760177997520865279927120333148118393943424819983894779857216859462099456709546991806410622473458321393749107989016732836432726279175812398487769023416647330276151779777841050499627384201443412233656531397130126243493062073092409066436144549572888056774098269434283022951333017851190818928745376473224540665513848493523515060813835516041470266405696568772748865023089289979406055935184341075259596385756887219645064352146575914938072565585560826912339685761513830177657489107049883439819824033482607253202297141141771719708496671087820863721496171886243056202533858769168858681773343737188555814220117223691361024238563011480918859131179646458230736892782718946234438478978179672905691076624161447964519917444919430322220727239262453889199267822224061314191554885575985884498543051347173198978849774936460458347833315436887549761490252149741338459897743659379538304899314164680251378171913474190624715322946582072208736328611013999889501716693312222855069052234271028590876189836072382014653512954038131008143327818457807710366793373993865851658961531830809824575631824911709354013397763367691168597012245835013129449911746682705895604873966561716266351915287818647658692432287447434994456338731107533191385107290650022602805319001904954850593019485809959929848619775441228622734082081699560868908457741786824738781473603356466529337611016710751767399254731349255827376967793810537960531747516147596794346669622948250541584801458895415567737939913103665321110334964803403 2179366848812874926155006837659995159858952422987229801133471440798442945324541580677017227658184307573192683237311299741049661568720532397022199004520073897573346040307378526211151448283721330770069669453626877465670881094762920412792246482883872169590406978166521680681371630337796941732752734816490377935579054313216788415178121380101495109206184538746014461932357430843845677267513671938923511315672422399643165876603557961379408028463704362537802004383021965324734261749523884582512248199728257074608943424832825507702119075558246941940634962105695707475788544511608062768081884214745089401956820392864176719838677161293074926434635820123523155734710608910143302665111044984054449072599779900635401844686342885380946198619148660989198826664805157162372492650047250392330965585739674623266646293462991620097369753995364875022969389666046111976756120442172674035858314177151917131143167370735242767099989270766771958266614861421667380162947557075479463461738122094912731594965850894978626507028764025120261888850560411741328495349626242136827735416485622292095551388552498195839901535915757893996944646749203701170734371205813187779305870658809914347979845669980036675520715327180492044647738520125813173991009492632552193205973939436053006336719309500196244221562895906542365573081590209124075196861037803005290824607688305267304056269158317734052721011952136860580513280569753113649281974726133217809149980501664549952045726887929312352968043402070828186948249657030071216373306315208253393610959395242412681131257996515904908199581344496654759518488680814125227821621424936301916688743632842851673853330272798601296190697233207431671962529459510860813562377864387989192755526983021183911566675255912024787894314178145168254801921791127300653532232247208478312739077528381137071215777550244255238750849257544399720632889836754539915943589666880784044971868973787193562630270655333140690998082241478630020027025558550461616058197089458470946564552053512431236168431876655411782218712172883794617486553683710993644335989744148544458942192916162589054192420735061282443710713229837339824579794235474706587946409684179377481884590159757502712223739662244048685610043793232394305051583810752889076191305948641842584907875902416657338965328168657024525669660553777271950949795433920871903284240042362519591410565671615942254748480235973523082714560684289781873276537874334840436396495782629207536356513351782665398887769106146463064219009273153474030415154741463646053361302085428962677766038974534061698363785113623317881253162138112208090552328832029587677307447451611796916512975507203149876972900326447551799117217639440295751483113502468484213846997806997708797104184224682872680568420180494517063127447575850387755871239579115030717831031596534699162249540796430823390497270704756502768193689124508208471985672958201181785448014106615133783814838055708432309851150061770082286978294403957064810162615825283761125137953343455642755651053176133536496797500218397227514074297045612335696359243703009013914851115961863884237990561605661439722813661540708561780278892897555581144312399931265409438720334714680084917808009273386310508542035078511987450568128746693795277538334506951271265245242983031932241060963177731351254618389366593367887672767752164872053623833111651621783809866424049409482767135625525027272400660519603329659133289895655402847470494166783240929804523785325193806203012487976432226303316204733742823330083741231600402297145690631133295293020139743537234960353946196009031395487224658275721716867493792946679 3526289635333985054784430807418332965535298915436768197761644635518954730738259558560125438612997124166332114322752953287388035127222875278533443740546272442923819821090413404272717535721193793188580745579238432265806913171115388385936107986769340751307856036206580240567875523564325361129720661411833457315819360747816964622504032396786957222766884751162661294475354139827392086461286664801408444893196660066313766408989842362996727171063603667550460515319943341548703773701896044393101540163244657715612351436333105990894520958524651322618825369707714520667777995533370389971730977924009044374634207025690980574780679690714375570724713280685234112425084625503835225715386005305641069719832059356499865222277815411150410570226715446343819944218487812093221208610084491765534483931449516962432218926608278081148226188224744390546688172304113426568938938311873501441915550801350483712787720212632931819197109393089788081327098350552262092867773147696784978256943186898111280718793029614807438014266589028807661200260242074253962150075052626857970142130949899626466261630844142073830128528952584946431308268821685915853502209522582443442533381158369466808453276956614437399135212351653187920434700109043919147198775774099049699827842963290008655721877185951082027846380693710225477598966583634060364489409582342662709872347548841313640646717136282986732391205661134850723573618743183429670477530673832499971587851590021787611080548217654139157209962552472488214123753837157669059668308470981211276802843506160769978713059730793245482749214183848630440005862524323970404245194161953049788695939871211535797718726402836079714753133321321085031992912516818797089022336620793073782466044476080228651941117636363735107962872527379857074966171079214606316042283435052443081021698641388214299179042811247342588294350875068986788338667953829047928729531808444877794628928080250745089515890317966410428599609390727649731527296512770067629999401164365562905134943150072704268283392077234340737452925287144468454890048582011942607470039755903699286649141359948779159491639495239279964575993156957672972698188178899526571841189541396236943984046869304494518634362135702370079359151782249127141484310089928701474679074972058489915184027682194498389464955552858467937903317085174402077193288495993964312350676186912092479467339769885376537771431568991374273533489429666255097817203388183333959911556596464723577826779757479234171636634129235753043625065208337815105674751127220533273006366437575538592704111540119622525276124799384831711430819627219257973992148656063070284560649748752938688232684003874237697836621822619438042173420173299064920341795275812221402402812027114932488465208463245884161487279311674163521358184468633106702105678058093210390736722673158860610214060713875742820819491431995765222082888392330432533299864513086757771332512649666480957013816905483368770309497895085519174528055894209214551501075723027420504676258242769807435902431348047010687422215541343809586283033374223349696248745419702326137706185014098155266581437795497512104828315053662599911287036225374038952022766724639403304571993676211915727632584905211222217896048476275355141736725758939630290667784418697953971140847856998493957327315093019169902277081798880815322667224090895979586815218218942271806412671743051314437617728645010837232330509139378770887756023977737102408339402624525027754543305258928550272732350098993142978070715459465092079157460709025410940257677438147280892087366809366485485501938747654904446963225164571379387037977828757750082 5705656484146859980939437645078328125394251338423997998895116076317397676062801139237142666271181431739524797560064253028437696695943407675555642745066346340497165861397791930483868984004915123958650415032865309731477794265878308798728354469653212920898263014373101921249247153902122302862473396228323835251398415061033753037682153776888452331973069289908675756407711570671237763728800336740331956208869082465956932285593400324376135199527308030088262519702965306873438035451419928975613788362972914790221294861165931498596640034082898264559460331813410228143566540044978452739812862138754133776591027418555157294619356852007450497159349100808757268159795234413978528380497050289695518792431839257135267066964158296531356768845864107333018770883292969255593701260131742157865449517189191585698865220071269701245595942220109265569657561970159538545695058754046175477773864978502400843930887583368174586297098663856560039593713211973929473030720704772264441718681308993024012313758880509786064521295353053927923089110802485995290645424678868994797877547435521918561813019396640269670030064868342840428252915570889617024236580728395631221839251817179381156433122626594474074655927678833679965082438629169732321189785266731601893033816902726061662058596495451278272067943589616767843172048173843184439686270620145668000696955237146580944702986294600720785112217613271711304086899312936543319759505399965717780737832091686337563126275105583451510178005954543316401072003494187740276041614786189464670413802901403182659844317727309150390948795528345285199524351205138095632066815586889351705384683504054387471572056675634681010943830554528516703955441976329657902584714485181062975221571459101412563507792892275759895857186705525025329768092870341906969574515682260921393760776169769351370394820361491597827045200132613386508971557790583587844673121475325661839600797054037938652146160973299551119597691632206279751554322071320529246057598253824033851699495203585135504451823953889752519671637460028263072376602265722936251806029500052243745591334276111368213684060230300562408286706386795012797277982414374233159787599225575614425868637029061997230858101797946418764969195575481521446535893900681590550870380920700332500091903584611155728430283721515492463572977638951674028143083929914836215634916229274612070877905441501318792519911804964897356248050113956036971093741262518174396308052379093931114183293109261899570524403235382216107844074481491289136089905868684179326367668523004501270470150514653684223639909913008149592683981765331466064544477488092657961868097200364735604745659511077387574809522149066989841290637812739360671824908778280705616249809834112641285569392687928756842055699492168680584485632044483494457976917637208241108567754269693559772463601510306566211316762136752267990276577516838641005285537471287939556780526756281614740828654961191801080160647956855601461506350298166279361663691548311181629814211586225450191553484524180547184219715759741037100357330419835685392607989122711340052557300975962039504571999401158951827641976594371161691565929122929620096335166655904812743292328390892000645440594178597532726438083554787342592304854505633425568206118925649225236386090840030426198388278270750521156895471165474183210339991843060851640439051330593893590222538167100723920384864270535864504731169658982100546889313873392505255809896791308268684347829044253744078935362586969575204374031664198834902487544450257011342554823128778414187380386949110022720462292693850913478358712389229655108754845322550696761 9231946119480845035723868452496661090929550253860766196656760711836352406801060697797268104884178555905856911882817206315825731823166282954089086485612618783420985682488205334756586519726108917147231160612103741997284707436993697184664462456422553672206119050579682161817122677466447663992194057640157292567217775808850717660186186173675409554739954041071337050883065710498629850190087001541740401102065742532270698694583242687372862370590911697638723035022908648422141809153315973368715328526217572505833646297499037489491160992607549587178285701521124748811344535578348842711543840062763178151225234444246137869400036542721826067884062381493991380584879859917813754095883055595336588512263898613635132289241973707681767339072579553676838715101780781348814909870216233923399933448638708548131084146679547782393822130444853656116345734274272965114633997065919676919689415779852884556718607796001106405494208056946348120920811562526191565898493852469049419975624495891135293032551910124593502535561942082735584289371044560249252795499731495852768019678385421545028074650240782343500158593820927786859561184392575532877738790250978074664372632975548847964886399583208911473791140030486867885517138738213651468388561040830651592861659866016070317780473681402360299914324283326993320771014757477244804175680202488330710569302785987894585349703430883707517503423274406562027660518056119972990237036073798217752325683681708125174206823323237590667387968507015804615195757331345409335709923257170675947216646407563952638557377458102395873698009712193915639530213729462066036312009748842401494080623375265923269290783078470760725696963875849601735948354493148454991607051105974136757687615935181641215448910528639495003820059232904882404734263949556513285616799117313364474782474811157565669573863172738940415339551007682373297310225744412635773402653283770539634229725134288683741662051291265961548197301022933929483081618584090596876056999418189596756834438353657839772735216031124093257124562747172731527266650847734878859276069255955943032240475636060147373175699725539842372862699543752685769976170593273759731628788766971851369852683898366491749492463933648788844328347357730648588020203990610292025549455892758822415275931266805654117895239274373960401476294724126076105336372425908800527985592416186704550345245211386695330291343373956271629781539543622292068910944650701508356219608975558654692010072866741133742161037364617969151469139689829104241764656995904712599374034960580039863174262054773306748916034712392981304114801392550724038536626144155728246428746949117674292978343514951625272646143971686427883464057986038425592166704054092927018652621861227573774034601151174641003542978803842844105843816513116601160082595695301451499304476942852420382677662224182309032136253568748033212359465909169073538585401984374697328113039405948095697842471866675169850470145851941120636034406192375493913164767271338602134490469828995257627455915872227557871641931301084846686640363794059035088856734542413666190263485990060194771153437196656463932470291648033761602852965348303659048357933380544216047864322067103916373073179083808754944334132031062697734041580264573055858873903344347179207526938697028920155715593363769691059172552964354998533007215933956831227254269549536165396635209910152038358002592915546701737061678798360871434645337851129607664149299415833296438891134303182294351667712685962718182444747123663926981645005159282422282812500566925695079467753758476508205964231441505817925321937553801034495792823151308446843 14937602603627705016663306097574989216323801592284764195551876788153750082863861837034410771155359987645381709442881459344263428519109690629644729230678965123918151543885997265240455503731024041105881575644969051728762501702872005983392816926075766593104382064952784083066369831368569966854667453868481127818616190869884470697868339950563861886713023330980012807290777281169867613918887338282072357310934824998227630980176643011748997570118219727726985554725873955295579844604735902344329116889190487296054941158664968988087801026690447851737746033334534976954911075623327295451356702201517311927816261862801295164019393394729276565043411482302748648744675094331792282476380105885032107304695737870770399356206132004213124107918443661009857485985073750604408611130347976081265382965827900133829949366750817483639418072664962921686003296244432503660329055819965852397463280758355285400649495379369280991791306720802908160514524774500121038929214557241313861694305804884159305346310790634379567056857295136663507378481847046244543440924410364847565897225820943463589887669637422613170188658689270627287814099963465149901975370979373705886211884792728229121319522209803385548447067709320547850599577367383383789578346307562253485895476768742131979839070176853638571982267872943761163943062931320429243861950822633998711266258023134475530052689725484428302615640887678273331747417369056516309996541473763935533063515773394462737333098428821042177565974461559121016267760825533149611751538043360140617630449308967135298401695185411546264646805240539200839054564934600161668378825335731753199465306879320310740862839754105441736640794430378118439903796469478112894191765591155199732909187394283053778956703420915254899677245938429907734502356819898420255191314799574285868543250980926917039968683534230538242384751140295759806281783534996223618075774759096201473830522188326622393808212264565512667794992655140209234635940655411126122114597672013630608533933557242975277187039985013845776796200207200994599643253113457815111082098756008186777831809912171515586859759955840404781149405930547698567254153007647992891416387992547465795721320927428488980350565731595207609297542933212170034556097891291882576419836813459154915367834851416809846325522995889452865049272363077750133479456355823636743620508645461316621223150652888014122811255178921168986029589657578329040004685913219682752527661354652585806193365976003033312685440600000185259313214171320393377854562864588891925741703483584541133644412569426990972555944625401130896798783157882190103081103632248386208296844149482409897724003026029012847455666120753417724754695798777786263991612832373632634902431695340215059603993839103397845598678296011524690329448557600095618059513332509692607872231212545980155141263734488875243453015705500301202636043426007714543870939455662636884893566162229710438671126827866970930630793808796722097540756490541773274828458819649783764304681415220707819009400396408105055861647060825883786997694213894720481464723665125006242820786966022234275725436597815415760112268242404923294418894471233279144693100036449028791156650457995917018513773262406287670772215585850040326346434770206481427080022269996404443913029537059346354103871634520212216068024129829181743347207777017682867693320880130058986857748077252762278387457186082566241792848457342971981534651724522112919959196207141565123238963347436038430603075272932293386818778787862761884132549609539433625367323695704109266848140707586530926426524135356731403680649943030689604547668473859143604 24169548723108550052387174550071650307253351846145530392208637499990102489664922534831678876039538543551238621325698665660089160342275973583733815716291583907339137226374202599997042023457132958253112736257072793726047209139865703168057279382498320265310501115532466244883492508835017630846861511508638420385833966678735188358054526124239271441452977372051349858173842991668497464108974339823812758413000567530498329674759885699121859940709131425365708589748782603717721653758051875713044445415408059801888587456164006477578962019297997438916031734855659725766255611201676138162900542264280490079041496307047433033419429937451102632927473863796740029329554954249606036572263161480368695816959636484405531645448105711894891446991023214686696201086854531953223521000564210004665316414466608681961033513430365266033240203109816577802349030518705468774963052885885529317152696538208169957368103175370387397285514777749256281435336337026312604827708409710363281669930300775294598378862700758973069592419237219399091667852891606493796236424141860700333916904206365008617962319878204956670347252510198414147375284356040682779714161230351780550584517768277077086205921793012297022238207739807415736116716105597035257966907348392905078757136634758202297619543858255998871896592156270754484714077688797674048037631025122329421835560809122370115402393156368135820119064162084835359407935425176489300233577547562153285389199455102587911539921752058632844953942968574925631463518156878558947461461300530816564847095716531087936959072643513942138344814952733116478584778664062227704690835084574154693545930254586234010153622832576202462337758306227720175852150962626567885798816697129336490596803329464694994405613949554749903497305171334790139236620769454933540808113916887650343325725792084482709542546706969478657724302147978133103592009279408859391478428042866741108060247322615306135470263555831474215992293678074138717717559239501722998171597090203227365368371910900815049922256016137939033920762954373726126909903961192693970358168011964129810072285548231662960035459681380247154012105474300384337230323600921752623045176759519317165574004825794980729843029665243996453625890290942818622576301881902174601969292706217977330643766118222463964220762270263413266525567087203826238815828781732437271606101061648021171568395864274709453102598552877440615811129201200621108915630563921191108747270330211240498203438842744167054846477964618154410782353861149497619619219860493604525115738444164580996818674624200297721471979337794112200913584550432914141617729776404114454725591098600084190702346540980638120101810092439845608218753784816211856158316886466559653555053556567788833638594990278038849141657099854368796173265070716696778142109027811144107176708155398400537818925958671184275589269274248334414995509335176788082456341440037334213006605568177806136513598694542140781100939660737842733575162682917267187993226090988385898795151244215965446465316268635662927503578361910730473638058007953755570321458207538672433084272956082429046878873794471879692582559890438684897271859819536938193051033416993244839020972525099833391586952346215042615106347616912738060388015034779537285953925614343583651439968234088266509819464998289903275240577094184180276354423710974514094947590429666224383492957987404800636390050101629267978854527255703843416179989575651720584108495622974861562130097650618332782270787958895011569263525911526688865777554768821855908179824262629804346315894466063039132390755576862549329002587496831724100340491625167590447 39107151326736255069050480647646639523577153438430294587760514288143852572528784371866089647194898531196620330768580125004352588861385664213378544946970549031257288770260199865237497527188156999358994311902041845454809710842737709151450096308574086858414883180485250327949862340203587597701528965377119548204450157548619659055922866074803133328166000703031362665464620272838365078027861678105885115723935392528725960654936528710870857510827351153092694144474656559013301498362787778057373562304598547097943528614828975465666763045988445290653777768190194702721166686825003433614257244465797802006857758169848728197438823332180379197970885346099488678074230048581398319048643267365400803121655374355175931001654237716108015554909466875696553687071928282557632132130912186085930699380294508815790982880181182749672658275774779499488352326763137972435292108705851381714615977296563455358017598554739668389076821498552164441949861111526433643756922966951677143364236105659453903725173491393352636649276532356062599046334738652738339677348552225547899814130027308472207849989515627569840535911199469041435189384319505832681689532209725486436796402561005306207525444002815682570685275449127963586716293472980419047545253655955158564652613403500334277458614035109637443878860029214515648657140620118103291899581847756328133101818832256845645455082881852564122734705049763108691155352794233005610230119021326088818452715228497050648873020180879675022519917430134046647731278982411708559212999343890957182477545025498223235360767828925488402991620193272317317639343598662389373069660420305907893011237133906544751016462586681644198978552736605838615755947432104680779990582288284536223505990723747748773362317370470004803174551109764697873738977589353353795999428716461936211868976773011399749511230241200016900109053288273892909873792814405083009554202801962942581890769510941928529278475820396986883787286333214347952353499894912849120286194762216857973902305468143790327109296001151784810716963161574720726553157074650509081440266767972316587904095460403178546895219637220651935161511404848082904484476608569745514461564752066782961295325753223469710193595396839204062923433224154988657132399773194057178389129519677132246011600969639273810546285266152866131574839450281576372295285137556074015226609707109337792791546517162723575913853731798609601840718858778950148920316477140873861274931684863826304396804818747200367531918564618339670095568032469890997473782725082496450857441927749122130463087193627288694027923963195243097712367708315104244698833408652500663022435248082494088426349567009650967557476213193263332973449583593998120149929718840192288457485251908003893242588829381436694740335395865893486502713628316792396201622360320836715048939367944380692960189693160059519042284979748635617631552761184502626327280895699971097900171730407516575184725522409111711731733469534564831115919173459040462821684910638169663099832659436673265474716665043767983365225422736614260635752221848476051786181872663678675905059922104663322604310392287295452694828132843608191690754290770217337744133453442273630177622983095750410100725608621330285878563202762778386734449804986018713033947884339988095352997771147612863923336632810115491308601224013362019701631487992196962640911309796283370350706064657562914777507287711834220647375713046815397714641300173833504067691830116426685369060998054371212873863231827304956082304699389450749910104378361289533547147958333913613164035173649570058817279712219280732683237439862413704888160099026734051 63276700049844805121437655197718289830830505284575824979969151788133955062193706906697768523234437074747858952094278790664441749203661637797112360663262132938596425996634402465234539550645289957612107048159114639180856919982603412319507375691072407123725384296017716572833354849038605228548390476885757968590284124227354847413977392199042404769618978075082712523638463264506862542136836017929697874136935960059224290329696414409992717451536482578458402734223439162731023152120839653770418007720006606899832116070992981943245725065286442729569809503045854428487422298026679571777157786730078292085899254476896161230858253269631481830898359209896228707403785002831004355620906428845769498938615010839581462647102343428002907001900490090383249888158782814510855653131476396090596015794761117497752016393611548015705898478884596077290701357281843441210255161591736911031768673834771625315385701730110055786362336276301420723385197448552746248584631376662040425034166406434748502104036192152325706241695769575461690714187630259232135913772694086248233731034233673480825812309393832526510883163709667455582564668675546515461403693440077266987380920329282383293731365795827979592923483188935379322833009578577454305512161004348063643409750038258536575078157893365636315775452185485270133371218308915777339937212872878657554937379641379215760857476038220699942853769211847944050563288219409494910463696568888242103841914683599638560412941932938307867473860398708972279194797139290267506674460644421773747324640742029311172319840472439430541336435146005433796224122262724617077760495504880062586557167388492778761170085419257846661316311042833558791608098394731248665789398985413872714102794053212443767767931320024754706671856281099488012975598358808287336807542633349586555194702565095882459053776948169495557833355436252026013465802093813942401032630844829683689951016833557234664748739376228461099779580011288486670071059134414572118457791852420085339270677379044605377031552017289723844637726115948446853463061035843203051798434779936446397976381008634841506930679318600899089173616879148467241714800209491498137506741511586100126869330579018450440036625062083200516549323515097807279708701655096231780358422225895109576655367087861737774767047536416279398100406537485402611111113919288511286832710768757358964359942381437433029016452284676050217651848059979571257835947041062064970022202015075066802600243661491367422378396529236494080877921893619388617093002585576100975973180371913703127281761817827586415499903300989355298625952258748018386316563185056615117748026346682578279128696107990289087659286305633108941192203368410209976308246605306751942012538808475792726881183819659475543881992495720262282675978699033489174343731388131980822225647523342781230779115651831243794631554253996970032627062096361290708783622335737305310906777298585322711698324216951252492832673130272407564691081856376307650814911001626555561894983903652638711940032933679430910868803784647344734273810229802231622107640080202351108989332878187092369483184186759175145277388023282293088962614110307155530795166870435518469198595508195583801687677954836372900984910819675516447122464839765555998987873498683571746792966005235879373742801631100018766549178318197542296056055198966711057588501739462507753843664052062363551167557389341102199501902968750658813894630875825554088176187453091288247499158648672703995144651190722316525345830610916139615687659147183145441726972220963717959479929639712609191208035289081830061685824936694137805228651724194324498 102383851376581060190488135845364929354407658723006119567729666076277807634722491278563858170429335605944479282862858915668794338065047302010490905610232681969853714766894602330472037077833446956971101360061156484635666630825341121470957471999646493982140267476502966900783217189242192826249919442262877516794734281775974506469900258273845538097784978778114075189103083537345227620164697696035582989860871352587950250984632943120863574962363833731551096878698095721744324650483627431827791570024605153997775644685821957408912488111274888020223587271236049131208588984851683005391415031195876094092757012646744889428297076601811861028869244555995717385478015051412402674669549696211170302060270385194757393648756581144110922556809956966079803575230711097068487785262388582176526715175055626313542999273792730765378556754659375576779053684044981413645547270297588292746384651131335080673403300284849724175439157774853585165335058560079179892341554343613717568398402512094202405829209683545678342890972301931524289760522368911970475591121246311796133545164260981953033662298909460096351419074909136497017754052995052348143093225649802753424177322890287689501256809798643662163608758638063342909549303051557873353057414660303222208062363441758870852536771928475273759654312214699785782028358929033880631836794720634985688039198473636061406312558920073264065588474261611052741718641013642500520693815590214330922294629912096689209285962113817982889993777828843018926926076121701976065887459988312730929802185767527534407680608301364918944328055339277751113863465861387006450830155925185970479568404522399323512186548005939490860294863779439397407364045826835929445779981273698408937608784776960192541130248690494759509846407390864185886714575948161641132806971349811522767063679338107282208565007189369512457942408724525918923339594908219025410586833646792626271841786344499163194027215196625447983566866344502834622424559029327421238743986614636943313172982847188395704140848018441508655354689277523167580016218110493712133238701547908762985880476469038020053825898955821551024335128283996550146199276818061243651968306263652883088164656332241920150230220458922404579472756739252795936841101428290288958747551745572241822666968057501011585313332802569145529675245987766978983406399056844585302059320475866696757151488898600156604930306016474659819492566918758521406756263518202938831297133699938893106997048480238567789910315093854833750973489926089279614566785310658597426830622299662825257744849011454875109527827264184598396338319967063122631015396593709115780770461594765072367555045674999940055216762518826372274165652952004208096458176324146944230470024060383796620123772649040912238622327891586155769178692327350281570545353748452817537274586891287161923739305344991303313673839233745605650258614857545793335110903231437276408806949028992839286883049739360364204564406599806972395807001029835348113636595912264725224994816563089311977414749598723198894234029207383958994909562451650707673893821952866029784894392800291755692087494579046470597972216156125901280653368401077372868539300323877792099376218491291334211788403563457703186863474022438294833856914644751574712021821383023559842145963776383492237666138263910134257857779542210904315757686686958908020229413049258791124194370116719926465945064677052936420149278681797474211609272175999387592243879283207714932868219646727075208018514422549621481428135310305590365597763525544434975274120179297631572643964813362179250025315001301110794369062376556551510116811823221058549 165660551426425865311925791043083219185238164007581944547698817864411762696916198185261626693663772680692338234957137706333236087268708939807603266273494814908450140763529004795706576628478736914583208408220271123816523550807944533790464847690718901105865651772520683473616572038280798054798309919148635485385018406003329353883877650472887942867403956853196787712741546801852090162301533713965280863997807312647174541314329357530856292413900316310009499612921534884475347802604467085598209577744611760897607760756814939352158213176561330749793396774281903559696011282878362577168572817925954386178656267123641050659155329871443342859767603765891946092881800054243407030290456125056939800998885396034338856295858924572113829558710447056463053463389493911579343438393864978267122730969816743811295015667404278781084455233543971654069755041326824854855802431889325203778153324966106705988789002014959779961801494051155005888720256008631926140926185720275757993432568918528950907933245875698004049132668071506985980474709999171202611504893940398044367276198494655433859474608303292622862302238618803952600318721670598863604496919089880020411558243219570072794988175594471641756532241826998722232382312630135327658569575664651285851472113480017407427614929821840910075429764400185055915399577237949657971774007593513643242976578115015277167170034958293964008442243473458996792281929233051995431157512159102573026136544595696327769698904046756290757467638227551991206120873260992243572561920632734504677126826509556845580000448773804349485664490485283184910087588124111623528590651430066033066125571910892102273356633425197337521611174822272956198972144221567178111569380259112281651711578830172636308898180010519514216518263671963673899690174306969928469614513983161109322258381903203164667618784137539008015775764160777944936805397002032967811619464491622309961792803178056397858775954572853909083346446355791321292495618163741993357201778467057028652443660226233001081172400035731232499992415393471614433479279146336915185037136327845209383856857477672861560756578274422450113508745163145017387914077027552741789475047775238983215033986911260370590266845521005605096022080254350603216549803083386520739105973971467351399322335145362749360080380338985424927775652525252381594517512976133096588892031244624055721511431280037589633946758301150710037144414978738092664592210559265003801319335715013959909597292141729935212288711623091327831851411819708668231659787896234698402803802671576528385026610829282461525027730565173953694964272225811141017331959778765730898518487941447650646683741782990229142876048824459481215357856320414418072766422929453696172482562868859589347004956468700387782504320387306418051854671026383770744889085136584798359500234414629943154518420996822547108305393487742575682885676953907084043894525567174581719713726327578161998581373956311616697397079730079379960498082886211655764451506913891280786889800466741950689354782532402629805102832992031303729183372681452939296001462033068380893883725678478848061570678765805645743249604179408194369615982511384528399334467194313310568574813999486918013476081518294076087848384842113811280979379484517130711009694881707131588938929781619371611408939895010153024406957860408446611813741885925619077817914788721298878038034168782290017112622066394038619651181650548133025503903051824941680420066736299003180367378295399779203163165613271938006773965921221729981285422672727580417001092400261349532123894453074788441233350290382940856054887313250689315345463547415383047 268044402803006925502413926888448148539645822730588064115428483940689570331638689463825484864093108286636817517819996622002030425333756241818094171883727496878303855530423607126178613706312183871554309768281427608452190181633285655261422319690365395088005919249023650374399789227522990881048229361411513002179752687779303860353777908746733480965188935631310862901844630339197317782466231410000863853858678665235124792298962300651719867376264150041560596491619630606219672453088094517426001147769216914895383405442636896761070701287836218770016984045517952690904600267730045582559987849121830480271413279770385940087452406473255203888636848321887663478359815105655809704960005821268110103059155781229096249944615505716224752115520404022542857038620205008647831223656253560443649446144872370124838014941197009546463011988203347230848808725371806268501349702186913496524537976097441786662192302299809504137240651826008591054055314568711106033267740063889475561830971430623153313762455559243682392023640373438510270235232368083173087096015186709840500821362755637386893136907212752719213721313527940449618072774665651211747590144739682773835735566109857762296244985393115303920141000465062065141931615681693201011626990324954508059534476921776278280151701750316183835084076614884841697427936166983538603610802314148628931015776588651338573482593878367228074030717735070049534000570246694495951851327749316903948431174507793016978984866160574273647461416056395010133046949382694219638449380621047235606929012277084379987681057075169268429992545824560936023951053985498629979420807355252003545693976433291425785543181431136828381906038601712353606336190048403107557349361532810690589320363607132828850028428701014273726364671062827859786404750255131569602421485332972632089322061241310446876183791326908520473718172885303863860144991910251993222206298138414936233634589522555561052803169769479357066913312700294155914920177193069414595945765081693971965616643073421396785313248054172741155347104670994782013495497256830627318275837875753972369737333946710881614582477230244001137843873447141567534113353845613985441443354038891866303198643243502290740497065979928009675494836993603399153390904511676809697853525717039593221989303202863760945393713141554570457450898513019360577923912032977681890951351720490752478662920178637746238877064317625369856636981897496614071348474077467942632616469414952853016594340621968503002199026716946161582824901745797947846226573206893295829634424971239353642771459840737336634555557829358552091302592192874263648347356372474846679288949536212723014238787457990169198092811343285853489523509272418626169224599253600640402952586929243385967128729117741300021126648278892573821033363353734052315434438885037615896774821305917105078257726341813850421979232721488181333144291811452877379005428798611858128520675356571001285464423695671980901961486329886352356305083916047003878088102826156006011884617029831262666769532131125828699336862199415262724092935133103646969895283985934410678778118478770603753658173344852116341221820335534095650269350912461901267873767518191102667951032490778252225264485081751779274711858864552106114836294129268705423031516264730691431084893558002863849075078158920287282264737402619350927571428572884527098047327837980090002232404285502216483057686743446975039800460332345607237113175227824329272663946019506718113235597942126854411181680035821559488202101231527320346883186198272015392275212579558981104767859266436967691258665291684051650423949689807240825462275370636441596 433704954229432790814339717931531367724883986738170008663127301805101333028554887649087111557756880967329155752777134328335266512602465181625697438157222311786753996293952611921885190334790920786137518176501698732268713732441230189051887167381084296193871571021544333848016361265803788935846539280560148487564771093782633214237655559219621423832592892484507650614586177141049407944767765123966144717856485977882299333613291658182576159790164466351570096104541165490695020255692561603024210725513828675792991166199451836113228914464397549519810380819799856250600611550608408159728560667047784866450069546894026990746607736344698546748404452087779609571241615159899216735250461946325049904058041177263435106240474430288338581674230851079005910502009698920227174662050118538710772177114689113936133030608601288327547467221747318884918563766698631123357152134076238700302691301063548492650981304314769284099042145877163596942775570577343032174193925784165233555263540349152104221695701434941686441156308444945496250709942367254375698600909127107884868097561250292820752611515516045342076023552146744402218391496336250075352087063829562794247293809329427835091233160987586945676673242292060787374313928311828528670196565989605793911006590401793685707766631572157093910513841015069897612827513404933196575384809907662272173992354703666615740652628836661192082472961208529046326282499479746491383008839908419476974567719103489344748683770207330564404929054283947001339167822643686463211011301253781740284055838786641225567681505848973617915657036309844120934038642109610253508011458785318036611819548344183528058899814856334165903517213423985309805308334269970285668918741791922972241031942437305465158926608711533787942882934734791533686094924562101498072035999316133741411580443144513611543802575464447528489493937046081808796950388912284961033825762630037246195427392700611958911579124342333266150259759056085477207415795356811407953147543548751000618060303299654397866485648089903973655339520064466396446974776403167542503312974203599181753594191424383743175339055504666451251352618610286584922027430873166727230918401814130849518232630154762661330763911500933614771516917247954002369940707595063330436959499688506944621311638348226510305474093480539995385226551038271742172441425009110778479843382965114808200174351458675335872823822618776079893781396876234706735940684636732946433935805129966812926191632763698438214487738340037489414676313565506616077886361103127994232438227642815882027798070670019798159583288394532505786266864418685404665679316151240577577807437477660373660922529240980398340968860167745334704881365592833044241991022183054336575435149798102975314133685586441687803630968666198991872888034380117823060323524021622414256275055720547048232776147338636397530284626209230757016029968765359961422899954365786439848234401684149163284045797651983597599358566059965732316803166802258659642539609740047286798774417496573213356124314663528458504439695191446566453276307814556586265896746019002791572661844157249451815228852110657762084471424514942290019885333423846429667208234712504413236525846490265170238740566600045855362560243706665917395815673613785836134041211146437823020023823339622235460484018053930440306671695263027797539385170458810146175865242626701388880270438454284506500170308809841013659451641982893740262617078279649270953084012755805721293602976237526633614344845649093497494976067152749050328168608870999595809276304979820330636891753719511756132492015582066992506478837003057930140807738918051824643 701749357032439716316753644819979516264529809468758072778555785745790903360193577112912596421849989253965973270597130950337296937936221423443791610040949808665057851824376219048063804041103104657691827944783126340720903914074515844313309487071449691281877490270567984222416150493326779816894768641971661489744523781561937074591433467966354904797781828115818513516430807480246725727233996533967008571715164643117424125912253958834296027166428616393130692596160796096914692708780656120450211873283045590688374571642088732874299615752233768289827364865317808941505211818338453742288548516169615346721482826664412930834060142817953750637041300409667273049601430265555026440210467767593160007117196958492531356185089936004563333789751255101548767540629903928875005885706372099154421623259561484060971045549798297874010479209950666115767372492070437391858501836263152196827229277160990279313173606614578788236282797703172187996830885146054138207461665848054709117094511779775257535458156994185368833179948818384006520945174735337548785696924313817725368918924005930207645748422728798061289744865674684851836464271001901287099677208569245568083029375439285597387478146380702249596814242757122852516245543993521729681823556314560301970541067323569963987918333322473277745597917629954739310255449571916735178995612221810901105008131292317954314135222715028420156503678943599095860283069726440987334860167657736380922998893611282361727668636367904838052390470340342011472214772026380682849460681874828975890984851063725605555362562924142886345649582134405056957989696095108883487432266140570040157513524777474953844442996287470994285423252025697663411644524318373393226268103324733662830352306044438294008955037412548061669247605797619393472499674817233067674457484649106373500902504385824058419986366791356048963212109931385672657095380822536954256032060768452182429061982223167519964382294111812623217173071756379633122335972549880822549093308630444972583676946373075794651798896144076714810686624735461178460470273659998169821588812079353154123331525371094624789921532734910452389196492057428152456140784718780712672361755853022715821431273398264952071260977480861624447011754241557401523331612106740140134813025405546537843300941551090271250867806622094565842677449551291102750365337042088460370794734685605560678837271637313082111700886936401449750418378773731320807289158714200889066552274544919665942785973385666941216686765056983650997501215311304563924112934310021290062072652614055235670569530510757134794138846223891057877569456611559668314026672523715424257096387013873096675161316698970567539061671511031188194404874865251670411215621436654976978387736727346361281262414704182987824757616945091565693921397733851875375757962906660030153049877026464153311033873680450247952263858930718938349174260576812838801905383164398297976755077040720164569510221347655578501320052389852084673108250718305663520627712566203292810659034526404476022893846794654287203776557390861829177369242947660233235792030004937202251439962636020055568887025455509878425693244850476385670154684336308330935082002230695515904476878981043422464005051681797634637272102571218023510651967743054541557072727411168514451108716897625099309559096212850727588936432665647148466956599031694673273912570464681478882502842739786722983227995553287988699252102315239347499730253507473600225747958775312439406838574179653488025526525684915056983178168384276370675051795069271611201551517559379311741659612985948723823750680873751044156902786692865170966270014288688266239 1135454311261872507131093362751510883989413796206928081441683087550892236388748464761999707979606870221295129023374265278672563450538686605069489048198172120451811848118328830969948994375894025443829346121284825072989617646515746033365196654452533987475749061292112318070432511759130568752741307922531809977309294875344570288829089027185976328630374720600326164131016984621296133672001761657933153289571650620999723459525545617016872186956593082744700788700701961587609712964473217723474422598796874266481365737841540568987528530216631317809637745685117665192105823368946861902017109183217400213171552373558439921580667879162652297385445752497446882620843045425454243175460929713918209911175238135755966462425564366292901915463982106180554678042639602849102180547756490637865193800374250597997104076158399586201557946431697985000685936258769068515215653970339390897129920578224538771964154910929348072335324943580335784939606455723397170381655591632219942672358052128927361757153858429127055274336257263329502771655117102591924484297833440925610237016485256223028398359938244843403365768417821429254054855767338151362451764272398808362330323184768713432478711307368289195273487485049183639890559472305350258352020122304166095881547657725363649695684964894630371656111758645024636923082962976849931754380422129473173279000485995984570054787851551689612238976640152128142186565569206187478717869007566155857897566612714771706476352406575235402457319524624289012811382594670067146060471983128610716175040689850366831123044068773116504261306618444249177892028338204719136995443724925888076769333073121658481903342811143805160188940465449682973216952858588343678895186845116656635071384248481743759167881646124081849612130540532410927158594599379334565746493483965240114912482947530337669963788942255803577452706046977467481454045769734821915289857823398489428624489374923779478875961418454145889367432830812465110329751767906692230502240852179195973201737249672730192518284544233980688466026144799927574907445050063165712324901786282952335876925716795478367965260588239576903640549110667714737378168215591947439903280157667153565339663903553027613402024888981795239218528671489511403893272319701803470571772525094053482464612579899316781556341900102634561227904000589562844922806762051199238850638117650720368879011623095988417984524709555177529644199775649966027543229843350933835500488079674886478868977606149365379431174503397021140412177528876811180001999295413149284294510880256871117698367601180776932953722134618423563663836321030245072979705988674956001834903824491533470336083845939950965880030531678776522899286240458084714653206643619709313553822886525449336595396100290624675628388585611290557566809432113969698436081486928282444409324932747011201543810021019086645482548485139949695365204229342172800224805337530184737824989478724869327853556018999639176100678618449817816989911417520564323163167322306250579609433452022977689379018161458182745708216252582308395630645550762216819501688776023939993824101806793269507384115877566167640510164669365418675690040017760154760602290236943199929141002725471308592702745618281843489999832346277883940906467641356840377691113938557606337471132540237247334770043114266781167895608127928674946006341769490504819449777813091382867762773281194071229483398304363129002358703744298133087762347331787122871178831971531118160700441550417180121639871371334008554478154235537025421003220403940271207010827822539199642378551366705460479956242696455818036663381623695923101107077753206740090882 1837203668294312223447847007571490400253943605675686154220238873296683139748942041874912304401456859475261102293971396229009860388474908028513280658239121929116869699942705050018012798416997130101521174066067951413710521560590261877678506141523983678757626551562680302292848662252457348569636076564503471467053818656906507363420522495152331233428156548716144677647447792101542859399235758191900161861286815264117147585437799575851168214123021699137831481296862757684524405673253873843924634472079919857169740309483629301861828145968865086099465110550435474133611035187285315644305657699387015559893035200222852852414728021980606048022487052907114155670444475691009269615671397481511369918292435094248497818610654302297465249253733361282103445583269506777977186433462862737019615423633812082058075121708197884075568425641648651116453308750839505907074155806602543093957149855385529051277328517543926860571607741283507972936437340869451308589117257480274651789452563908702619292612015423312424107516206081713509292600291837929473269994757754743335605935409262153236044108360973641464655513283496114105891320038340052649551441480968053930413352560207999029866189453748991444870301727806306492406805016298871988033843678618726397852088725048933613683603298217103649401709676274979376233338412548766666933376034351284074384008617288302524368923074266718032395480319095727238046848638932628466052729175223892238820565506326054068204021042943140240509709994964631024283597366696447828909932665003439692066025540914092436678406631697259390606956200578654234850018034299828020482875991066458116926846597899133435747785807431276154474363717475380636628597382906717072121454948441390297901736554526182053176836683536629911281378146330030320631094274196567633420950968614346488413385451916161728383775309047159626415918156908853154111141150557358869545889884166941611053551357146946998840343712565958512584605902568844743452087740456573053051334160809640945785414196045805987170083440378057403276712769535388753367915323723163882146490598362305490000257242166572992755182120974487356029745602725142889834309000310728152575641913520176281161095176951292565473285866462656863665540425731068805416603931808543610706585550499600020307913521450407052807209706724729127070581450140853947673172099093287699221432852336325929557848894733301500096225596491578979394618154423697348350519002065134724567040354219806144811763579535032320647861268454004791409678744188115743926112229723170574356583532870926353368937131691534067747860980842314621541405777641804741293732661198671426092000211505406567011245162638921533419092203189807711093691115323336385064422265056364290532210623252795697876658514994807663453146202556382123260730829847821573811839449834942474562374809773475354854843894699536893434812344070668633714378489918985639026710720694583035801744555765589492423066240347294754601998670839669901663019668238869986683795034872453872420092486549382165401912008252837032911992809973170224808014793709877052737480806028877196075541769429289562953002903021677518935857914215895061360194702096463091537372239173895445045479604452352015166750669963641124637104448849101964417119609099894919248186665968774851922241257134872434079602210479631895484544560594322094473298368522199492723690383556064346645276123933857952466626299916416991057955846613372435262077585294596471404579930306430600107280124596833609665397897018923611461332403921301791678272199009542818212379340098578954120210979691409203779993377329569080820284410388788272073347767495428357121 2972657979556184730578940370323001284243357401882614235661921960847575376137690506636912012381063729696556231317345661507682423839013594633582769706437294049568681548061033880987961792792891155545350520187352776486700139207106007911043702795976517666233375612854792620363281174011587917322377384487035281444363113532251077652249611522338307562058531269316470841778464776722838993071237519849833315150858465885116871044963345192868040401079614781882532269997564719272134118637727091567399057070876794123651106047325169870849356676185496403909102856235553139325716858556232177546322766882604415773064587573781292773995395901143258345407932805404561038291287521116463512791132327195429579829467673230004464281036218668590367164717715467462658123625909109627079366981219353374884809224008062680055179197866597470277126372073346636117139245009608574422289809776941933991087070433610067823241483428473274932906932684863843757876043796592848478970772849112494594461810616037629981049765873852439479381852463345043012064255408940521397754292591195668945842951894518376264442468299218484868021281701317543359946175805678204012003205753366862292743675744976712462344900761117280640143789212855490132297364488604222246385863800922892493733636382774297263379288263111734021057821434920004013156421375525616598687756456480757247663009103284287094423710925818407644634456959247855380233414208138815944770598182790048096718132119040825774680373449518375642967029519588920037094979961366514974970404648132050408241066230764459267801450700470375894868262819022903412742046372504547157478319715992346193696179671020791917651128618575081314663304182925063609845550241495060751016641793558046932973120803007925812344718329660711760893508686862441247789688873575902199167444452579586603325868399446499398347564251302963203868624203886320635565186920292180784835747707565431039678040732070726477716305131020104401952038733381309853781839508363265283553575012988836918987151445718536179688367984612038091742738914335316328275360373786329594471392384645257825877182958962051360720442709214064259670294713392857627212477215902675592478922071187329846500759080504320178875310755444452102884069097220580209309876251510347081278358075593653502772526101349723834363551606827363688298485450730416792595978861144486938072070969987046298436860517829289918080750306046756509038817930073663375893748845416068560067528433894692623680741185684397700079035771851025931821856273064926923928111525136319858651094413127797471067304732872311000701583115460738185205242098672049814273438649873627427926904035996940037347329008578872499299122734868584233992977355781421099717628908676073604086033509778245034472054615285432339081534788167672680827540261961791272247920936763224918971699742520486556398653915718623538917360829210618329079582719261158439251516058224767773626734034490458820276622259346933930702677289289487718652931085759434309846962357178704452029525938572359854780930169711019778620209062555478620438660344472093872239169582052817189899643576222559070337118780587845159446022583581313737050234719856617852139662476117095374186482329923660607869496288245484614636936795126985905323587250456735296939300604526381189393373797372119768849645324746413063380152688522997040479640138012704312173468196647447214408049405127929181950024604279545993416659590911505523024424917081719342583411901837548760807721675014013731305269268352932165939486639458327212681492602949814025223207162637778596498762346396869683736236073785387117483666034084711373180425520702168448003 4809861647850496954026787377894491684497301007558300389882160834144258515886632548511824316782520589171817333611317057736692284227488502662096050364676415978685551248003738931005974591209888285646871694253420727900410660767696269788722208937500501344991002164417472922656129836264045265892013461051538752911416932189157585015670134017490638795486687818032615519425912568824381852470473278041733477012145281149234018630401144768719208615202636481020363751294427476956658524310980965411323691542956713980820846356808799172711184822154361490008567966785988613459327893743517493190628424581991431332957622774004145626410123923123864393430419858311675193961731996807472782406803724676940949747760108324252962099646872970887832413971448828744761569209178616405056553414682216111904424647641874762113254319574795354352694797714995287233592553760448080329363965583544477085044220288995596874518811946017201793478540426147351730812481137462299787559890106592769246251263179946332600342377889275751903489368669426756521356855700778450871024287348950412281448887303780529500486576660192126332676794984813657465837495844018256661554647234334916223157028305184711492211090214866272085014090940661796624704169504903094234419707479541618891585725107823230877062891561328837670459531111194983389389759788074383265621132490832041322047017720572589618792634000085125677029937278343582618280262847071444410823327358013940335538697625366879842884394492461515883476739514553551061378577328062962803880337313135490100307091771678551704479857332167635285475219019601557647592064406804375177961195707058804310623026268919925353398914426006357469137667900400444246474147624401777823138096741999437230874857357534107865521555013197341672174886833192471568420783147772469832588395421193933091739253851362661126731339560350122830284542360795173789676328070849539654381637591732372650731592089217673476556648843586062914536644635950154597233927248819838336604909173798477864772565641764342166858451424990095495019451683870705081643275697509493476617882983007563315877440201128624353475624830188551615700040316118000517046786216213403745054563984707506127661854257455612744348596621907108966549609522951649014726480183318890691984943626093253523080439622800130887170761313552092815369066900871270740269150960237774637293503822323372227994709412562591418176975902538335488433436084497360724244267847481203284634568788114498768492504765219430020726897040305030723231535017253042667854223754859490433007677945998723824436241864563845068449444096303052806746647876313854555567171311072298854018904247502346604358574171217794032718214938058391945086668471104757484782051173732437894618244133031040732348713130280240002534680990724054804088271091809612846059760386598167393534074552293961911253497810418160432352173173281286962793961209180144078278226778919350809428478590256048312699688499694228685304675960129157620315950753998304296530757392051158324449618425121742020182842177963856811532201872528648845246675138181970924976650388081694385975185345651848633290121683609522678381880497797208798410429421953080943677034715290990819231961934376012623036246958209125739274041243976087869740706859556630216187487270495156041315615054506992202929247535226044958864697249117319134952938506534903804897158580203511561053325529061787134416650904195962984474615437524877958286502502376315813987991832143979360915001799610847340970667165371855777400819043379629004359764801959356843435586502736357550618973326088278887516229451114956198303950444473499645253773288197596805124 7782519627406681684605727748217492968740658409440914625544082794991833892024323055148736329163584318868373564928662719244374708066502097295678820071113710028254232796064772811993936384002779441192222214440773504387110799974802277699765911733477019011224377777272265543019411010275633183214390845538574034355780045721408662667919745539828946357545219087349086361204377345547220845541710797891566792163003747034350889675364489961587249016282251262902896021291992196228792642948708056978722748613833508104471952404133969043560541498339857893917670823021541752785044752299749670736951191464595847106022210347785438400405519824267122738838352663716236232253019517923936295197936051872370529577227781554257426380683091639478199578689164296207419692835087726032135920395901569486789233871649937442168433517441392824629821169788341923350731798770056654751653775360486411076131290722605664697760295374490476726385473111011195488688524934055148266530662955705263840713073795983962581392143763128191382871221132771799533421111109718972268778579940146081227291839198298905764929044959410611200698076686131200825783671649696460673557852987701778515900704050161423954555990975983552725157880153517286757001533993507316480805571280464511385319361490597528140442179824440571691517352546114987402546181163599999864308888947312798569710026823856876713216344925903533321664394237591437998513677055210260355593925540803988432256829744407705617564767941979891526443769034142471098473557289429477778850741961267540508548158002443010972281308032638011180343481838624461060334110779308922335439515423051150504319205939940717271050043044581438783800972083325507856319697865896838574154738535557484163847978160542033677866273342858053433068395520054912816210472021348372031755839873773519695065122250809160525078903811653086034153166564681494425241514991141720439217385299297803690409632821288399954272953974606167316488683369331464451015766757183103620158484186787314783759717087482878346546819409602133586762190598206021409918636071295823071089275367652821141754623160090675714196067539402615875370335029510858144259263432116079337533486055894835974162613337959932923223907377351561069433678620172229224036356434829237773263301701686907025852965724149854721534312920379456503667552351601687532865129821382261575365574792310418526431569930391881336257726208585091997472254014571024100138016692897271844702097222009191392173245950903827720805932812156056655053391290317969591782335279995810291658772359126521295503546597436156069151027211763790991951889974985904369840609960945926281945808283499286641705903179796666532017337672926976179079645826886178584499680082408511498704277642809285766820767745565672341616215778891727484915811353771404118307681323361392312505774294814448467652151726136783971269534002491905291873543928441302517529742837144118583055212624746507132976310759041162616007353249418645338968881839757738606377719749229862776479144363694101874963772347674876590152410935084127465685335482654064797215819970134511575874828921874407703627240464197367837827903081378522535460664141809698795816697191408086193418444264299673230905743246454610353910978039103073775064294110013365513126787875021537230708988851879111971778892859972458022244849937640316175432578644547608117070626776850958775461374934189716316366675508475508977891275028436383481310927419458035156571403733981528121722723474624861072275936433724787943340305682837956217041257404909170868658793665374136147117735672485148571252465524900343315787616478558211018434198808899765253127 12592381275257178638632515126111984653237959416999215015426243629136092407910955603660560645946104908040190898539979776981066992293990599957774870435790126006939784044068511742999910975212667726839093908694194232287521460742498547488488120670977520356215379941689738465675540846539678449106404306590112787267196977910566247683589879557319585153031906905381701880630289914371602698012184075933300269175149028183584908305765634730306457631484887743923259772586419673185451167259689022390046440156790222085292798760942768216271726320494219383926238789807530366244372646043267163927579616046587278438979833121789584026815643747390987132268772522027911426214751514731409077604739776549311479324987889878510388480329964610366031992660613124952181262044266342437192473810583785598693658519291812204281687837016188178982515967503337210584324352530504735081017740944030888161175511011601261572279107320507678519864013537158547219501006071517448054090553062298033086964336975930295181734521652403943286360589802198556054777966810497423139802867289096493508740726502079435265415621619602737533374871670944858291621167493714717335112500222036694739057732355346135446767081190849824810171971094179083381705703498410410715225278760006130276905086598420759017505071385769409361976883657309970791935940951674383129930021438144839891757044544429466332008978925988658998694331515935020616793939902281704766417252898817928767795527369774585460449162434441407409920508548696022159852134617492440582731079274403030608855249774121562676761165364805646465818700858226018707926175186113297513400711130109954814942232208860642624448957470587796252938639983725952102793845490298616397292835277556921394722835518076141543387828356055395105243282353247384384631255169120841864344235294967452786804376102171821651810243372003208864437708925476668214917843061991260093599022891030176341141224910506073430829602818192230231025328005281619048249694006002941956763393360585792648532282729247220513405270834592229081781642282076726491561911768805316547707158350660384457632063361219300067671692369591167491070375345628858661306049648329483082588050040602342101824467595415545667572503999258670035983288143123878238762836618148128465248245327780160548933405346949985608705074233931549319036619252472958273134280781620036212659078614633790754426279342954472754434702111123427485905690099068384824382284540378475129336666010123690160665750716123257741532829852461087378284926307571012259636559034855300724666450305125245119939788462000001137600471308066843798698537851299758925407781272018225135964712531001633246064477351014460564735552610985368124166314297990936069281731256140949393322521775840326499169480875845912344150896769615782289004082445581016964367441709959559706039848847108410378905649536554944403621707175773192254667505137621446595807969616063469392483691215002555445675999258735391301312029209547802959284832593756042902908477141281021100928762788815843895146614525638733401684612807612776310932010620836035722192470358216205961850014267526256336917362147806890516209783579175731333871093563762779739493731906699077012650406198675685853941990204663736093185019283079161644805000969569995729314275145516693272024603906386104174708140395198502981109547186757635310385517151082511921967785357054470336514700463251503450783326412671471962365890465961261439597429921834350970559395566125507482637725274235708413246603599096643720741124726217585221401022206868527712094380168110493697736708998573427458768694976015299514091566923031710663687972097097362058251 20374900902663860323238242874329477621978617826440129640970326424127926299935278658809296975109689226908564463468642496225441700360492697253453690506903836035194016840133284554993847359215447168031316123134967736674632260717300825188254032404454539367439757718962004008694951856815311632320795152128686821622977023631974910351509625097148531510577125992730788241834667259918823543553894873824867061338152775217935797981130124691893706647767139006826155793878411869414243810208397079368769188770623730189764751165076737259832267818834077277843909612829072119029417398343016834664530807511183125545002043469575022427221163571658109871107125185744147658467771032655345372802675828421682008902215671432767814861013056249844231571349777421159600954879354068469328394206485355085482892390941749646450121354457581003612337137291679133935056151300561389832671516304517299237306801734206926270039402694998155246249486648169742708189531005572596320621216018003296927677410771914257763126665415532134669231810934970355588199077920216395408581447229242574736032565700378341030344666579013348734072948357076059117404839143411178008670353209738473254958436405507559401323072166833377535329851247696370138707237491917727196030850040470641662224448089018287157947251210209981053494236203424958194482122115274382994238910385457638461467071368286343045225323851892192320358725753526458615307616957491965122011178439621917200052357114182291078013930376421298936364277582838493258325691906921918361581821235670571117403407776564573649042473397443657646162182696850479768260285965422219848840226553161105319261438148801359895499000515169235036739612067051459959113543356195454971447573813114405558570813678618175221254101698913448538311677873302297200841727190469213896100075168740972481869498352980982176889147183656294898590875490158162640159358053132980532816408190327980031550857731794473385102556792798397547514011374613083499265460763186045576921877547373107432291999816730098859952090244194362668543832880282747901480547840101139618796433718313205599386686521309975781867759908993783366440710375139716805565313080445562420121536096497178075987080933375478590796411376610231105416966763296107462799193052977366238511547029467067574786371071099840330239387154311005822704171604074645805999410603002297788024653406944209280857849273346354090692428319708519483377944113639408924520301233275746974038763232132881552838996667027085462338762664617144033338317597888981851418894314851111016325222664251766415443335059436157206751498519830634790650427826285663295248391232964151417910520814500919887770380530811127096752890283912344303245960124877114653781411338549460892026799418649612265990248621411584685767112548507509773919893799352421082675123033320952018545623141922858846557801262691728374891241178265097546541049066062749113337712453207587975538903839749062578652310017776553917319382458966448298253714433513781509286196890510883877407907152509945770110386873313609991837023742696903776617346103490100519408290328350717537724843189400664040544602612004258354037686660554253869331757705572478535310429098107163206068850462975359084847733451118346447095997322182235419869295079583361242441063020538230502733592758265216146487033255170961003354397124397951485818095795630120039038412133905429111976075397441219767150001921146980940257165494397644920908357341292386127130799300107035604360448748860569485522540032821431664081430409055541438442279611777698580753173833484629844854444671058576030021160500915642829879183401589921682122170905997127311378 32967282177921038961870758000441462275216577243439344656396570053264018707846234262469857621055794134948755362008622273206508692654483297211228560942693962042133800884201796297993758334428114894870410031829161968962153721459799372676742153075432059723655137660651742474370492703354990081427199458718799608890174001542541158035099504654468116663609032898112490122464957174290426241566078949758167330513301803401520706286895759422200164279252026750749415566464831542599694977468086101758815628927413952275057549926019505476103994139328296661770148402636602485273790044386283998592110423557770403983981876591364606454036807319049097003375897707772059084682522547386754450407415604970993488227203561311278203341343020860210263564010390546111782216923620410906520868017069140684176550910233561850731809191473769182594853104795016344519380503831066124913689257248548187398482312745808187842318510015505833766113500185328289927690537077090044374711769080301330014641747747844552944861187067936077955592400737168911642977044730713818548384314518339068244773292202457776295760288198616086267447820028020917409026006637125895343782853431775167994016168760853694848090153357683202345501822341875453520412940990328137911256128800476771939129534687439046175452322595979390415471119860734928986418063066948766124168931823602478353224115912715809377234302777880851319053057269461479232101556859773669888428431338439845967847884483956876538463092810862706346284786131534515418177826524414358944312900510073601726258657550686136325803638762249304111980883555076498476186461151535517362240937683271060134203670357662002519947957985757031289678252050777412061907388846494071368740409090671326953293649196694316764641930054968843643554960226549681585472982359590055760444310463708425268673874455152803828699390555659503763028584415634830855077201115124240626415431081358156372692082642300546815932159610990627778539339379894702547515154769188987533685270907958900080824282545977319373357361078786591750325475162359474393042459608906456166503592068973590057018749882529275849539452278584950857511085720768575466871362728775045502709586137099520177811548528791024258368915375868901141400254906419985701562029671125494703759792357247228123719776418049825938944461388242555141740790856547604079133691384622334000683732021578000035284128616300826845127130430831946969283634212707793748902585773654222103375429242256571713504747383150343203871592517078231411623243905459994111055453349706411740991672969377011535383123521436158344351969827897478589348965677585422220656172504982376553875233345502553133834857881825587661488442894897712427412274422868050723063142594690410285349321194489938765159729497257497029918009318123292062923976244933438047042564743280511724585471989031269225463450799246672778512948354038289801208554203684195709145682069271057368022595054751618024328309276511945218631411668514251257538547027269824412194674031791904978336669941325789665257001398952343393521636550309680087549356724326136241600760686566923499574857456926920377461964759811148870247470239729985203202851269335258274804161004806240218719256661651044938789723655782082540281016605261397064674296049153356971755338166054923774758196664651320321195173650369463984463944311155586796203612946712631961006197490959899448490775860692723217933328333818452902623055960358906360505787263126737097690194866232543086998174023096277898769143631918075384822555135273126659843301818646226292847554001595123542591153669632003488789855476930942343970750324621632345810143003094489369629 53342183080584899285109000874770939897195195069879474297366896477391945007781512921279154596165483361857319825477264769431950393014975994464682251449597798077327817724335080852987605693643562062901726154964129705636785982177100197864996185479886599091094895379613746483065444560170301713747994610847486430513151025174516068386609129751616648174186158890843278364299624434209249785119973823583034391851454578619456504268025884114093870927019165757575571360343243412013938787676483181127584817698037682464822301091096242735936261958162373939614058015465674604303207442729300833256641231068953529528983920060939628881257970890707206874483022893516206743150293580042099823210091433392675497129419232744046018202356077110054495135360167967271383171802974479375849262223554495769659443301175311497181930545931350186207190242086695478454436655131627514746360773553065486635789114480015114112357912710503989012362986833498032635880068082662640695332985098304626942319158519758810707987852483468212624824211672139267231176122650930213956965761747581642980805857902836117326104954777629435001520768385096976526430845780537073352453206641513641248974605166361254249413225524516579880831673589571823659120178482245865107286978840947413601353982776457333333399573806189371468965356064159887180900185182223149118407842209060116814691187281002152422459626629773043639411783022987937847409173817265635010439609778061763167900241598139167616477023187284005282649063714373008676503518431336277305894721745744172843662065327250709974846112159692961758143066251926978244446747116957737211081164236432165453465108506463362415446958500926266326417864117828872021020932202689526340187982903785732511864462875312491985896031753882292181866638099851978786314709550059269656544385632449397750543372808133786005588537739315798661619459905792993495236559168257221159231839271686136404242940374095020201034716403789025326053350754507786046780615532375033110607148455332007513116282362707418233309451322980954418869308042642222294523007449007595785300025787286795656405436403839251631407212187578734223951796095908292272436675809220607922831122233596698253798629462166502849165326752479132246817221669716093164361222724102860942271339386714295698506147489149666269183848542553560964444962460622249885133101987624631788708385428522209316141977889647180935819558750540466452661578326347202673422887006929969077414192474389453266343744050177428666210355181695375444961561503348975962474347664557522757316895633628777950826458580872315551103468347728113379999393503871085515904563737946527971785754160003473021605238412636714758241333178810056730658234547745165376844553933239871177376120613139551031149978118669081715685121866630801836843870044285859129717687776601463743131095130954128072021252061938401153404189532303387347749603269746944822483394522478645343561498894500680602980619294288499135950794127480699555792261460783605921480870922302788855744577093835735435367388272265953385358660293006583864166702827816236761009051014917641037299700646327584418006567371815407224285156900284239072534608974907736810114590102913403424788107124626404023637457106900428987377013927443632484543591128736718214196401186593154277491789422916536467682206905540424987818341435553538282021708742342752000044609624865328560466851258133942985083330254965433842880221454756551281414144604419123224820994166339578691358622771956847384291683664739507048903985544328668098285581430423924873600727835079753387445598340690579518811015977846585173849933726211554027932313909091616681007 86309465258505938246979758875212402172411772313318818953763466530655963715627747183749012217221277496806075187485887042638459085669459291675910812392291760119461618608536877150981364028071676957772136186793291674598939703636899570541738338555318658814750033040265488957435937263525291795175194069566286039403325026717057226421708634406084764837795191788955768486764581608499676026686052773341201722364756382020977210554921643536294035206271192508324986926808074954613633765144569282886400446625451634739879851017115748212040256097490670601384206418102277089576997487115584831848751654626723933512965796652304235335294778209756303877858920601288265827832816127428854273617507038363668985356622794055324221543699097970264758699370558513383165388726594890282370130240623636453835994211408873347913739737405119368802043346881711822973817158962693639660050030801613674034271427225823301954676422726009822778476487018826322563570605159752685070044754178605956956960906267603363652849039551404290580416612409308178874153167381644032505350076265920711225579150105293893621865242976245521268968588413117893935456852417662968696236060073288809242990773927214949097503378882199782226333495931447277179533119472574003018543107641424185540483517463896379508851896402168761884436475924894816167318248249171915242576774032662595167915303193717961799693929407653894958464840292449417079510730677039304898868041116501609135748126082096044154940115998146711628933849845907524094681344955750636250207622255817774569920722877936846300649750921942265870123949807003476720633208268493254573322101919703225587668778864125364935394916486683297616096116168606284082928321049183597708928391994457059465158112072006808750537961808851135825421598326401660371787691909649325416988696096157823019217247263286589834287928294975302424648044321427824350313760283381461785647270353044292776935023016395567016966876014779653104592690134402488594295770301564020644292419363290907593940564908684737606666812401767546169194783205001696687565467057914051951803617856260385713424186286368527480946664466163685081462881816676867739308038537995653425540708370696218431610177990957527107534242128348033388217476576136078865923252395228355646031131743961523822225923907199492208128309930796116106185753317169853964266793372246965789392117450100209351426106505948007780946689181372413421945212539054996422325472780584191180789621716646024979848491433327771870081947698773606856584805408808970073529801014263934498308568603005789486209582102308473895455438175625591969348359181456507736560736242928904525660987505506026155440096294462302419729776073707769158070508970613216099907696527930281462725441807629489796309707615926578745603131184754093899767846289219297176760252519881975467716567119985397297484702861185073931917137886341677148958157473431140531629076591749702711584093949252298627308928570800444354582205795994950813330808488053430333675544954094693834081247035161525100624389671218296778880296843316263951716059552142373002609811701484564536874558103254504795468532131626556094532627140014224275737460244242995084918751107719643643507363786277448962427180762682511527658030532705029549217887177890075185951739352648078052249986087567856788877380555909888972282285746709125078225321689055383961050807115825228008957627118826666203016658588783886745503277415115457641919931867545860322511189032572121778356796795053125283060827296657582433726540679601794758128883249070151166448281836674876930036752010322583007600871454777527517820684050833186373742456912186106050636 139651648339090837532088759749983342069606967383198293251130363008047908723409260105028166813386760858663395012963151812070409478684435286140593063841889558196789436332871958003968969721715239020673862341757421380235725685813999768406734524035205257905844928419879235440501381823695593508923188680413772469916476051891573294808317764157701413011981350679799046851064206042708925811806026596924236114216210960640433714822947527650387906133290358265900558287151318366627572552821052464013985264323489317204702152108211990947976518055653044540998264433567951693880204929844885665105392885695677463041949716713243864216552749100463510752341943494804472570983109707470954096827598471756344482486042026799370239746055175080319253834730726480654548560529569369658219392464178132223495437512584184845095670283336469555009233588968407301428253814094321154406410804354679160670060541705838416067034335436513811790839473852324355199450673242415325765377739276910583899280064787362174360836892034872503205240824081447446105329290032574246462315838013502354206385008008130010947970197753874956270489356798214870461887698198200042048689266714802450491965379093576203346916604406716362107165169521019100838653297954819868125830086482371599141837500240353712842251470208358133353401831989054703348218433431395064360984616241722711982606490474720114222153556037426938597876623315437354926919904494304939909307650894563372303648367680235211771417139185430716911582913560280532771184863387086913556102344001561947413582788205187556275495863081635227628267016058930454965079955385450991784403266156135391041133887370588727350841874987609563942513980286435156103949253251873124049116374898242791977022574947319300736433993562733428007288236426253639158102401459708595073533081728607220769760620071420375839876466034291101086267504227220817845550319451638682944879109624730429181177963390490587218001592418568678430646040888910274641076385833939053754899567818622915107056847271392155839976263724748500588064091247643918982088474506921647737103643643547181369829622690207779112353876653742419305414677912585160011744714347216261348371830604292916685408807453124029956699568880827165635034698245852172030284475119331216588302471130675819520732071396349158477312158473349677070630715777792103849399895359871597578100502878622418667568084395595188716766247931912879874606790865402199095748359787514160258203814191035478246192235483505200536292302880468982301546366912157946036004148678821457255625464236634567437036040683180789446558906523353705349347752685327593252465299980875432497446741665509499177045334707099017177971109252517825888728743518358381476752250461170152640101562420769040827459685734595660461288253051384895736611716333505156306477940296483439210847662250939525369505954923123475085321327418645064496707760743178085354112471114228348055145592843752979230289547865088943490532999923475650369123069948837036255156415876397482689825824128997260535991777943484250164238957136322847815882762379958609763618862716402205574174258749582089213475099503441963318817784040298463348272069219150731895033341210633047068295470910903852986064637869582940515035044460148662033761478306626793400148140539241232329741775510484393256559587461450313960100627182262663360247030431398135961095416740690556569424478376960609188099988843749320588383498869872008923334076471964983547332183198911700469715419567009972667352510961397089482630526223930462856414464679494076040049009671754630317482350351013162526411887432624112691670617777044740401674770821277722731643 225961113597596775779068518625195744242018739696517112204893829538703872439037007288777179030608038355469470200449038854708868564353894577816503876234181318316251054941408835154950333749786915978445998528550713054834665389450899338948472862590523916720594961460144724397937319087220885304098382749980058509319801078608630521230026398563786177849776542468754815337828787651208601838492079370265437836580967342661410925377869171186681941339561550774225545213959393321241206317965621746900385710948940951944582003125327739160016774153143715142382470851670228783457202416960470496954144540322401396554915513365548099551847527310219814630200864096092738398815925834899808370445105510120013467842664820854694461289754273050584012534101284994037713949256164259940589522704801768677331431723993058193009410020741588923811276935850119124402070973057014794066460835156292834704331968931661718021710758162523634569315960871150677763021278402168010835422493455516540856240971054965538013685931586276793785657436490755624979482457414218278967665914279423065431964158113423904569835440730120477539457945211332764397344550615863010744925326788091259734956153020791152444419983288916144333498665452466378018186417427393871144373194123795784682321017704250092351103366610526895237838307913949519515536681680566979603561390274385307150521793668438076021847485445080833556341463607886772006430635171344244808175692011064981439396493762331255926357255183577428540516763406188056865866208342837549806309966257379721983503511083124402576145614003577493498390965865933931685713163653944246357725368075838616628802666234714092286236791474292861558610096455041440186877574301056721758044766892699851442180687019326109486971955371584563832709834752655299529890093369357920490521777824765043788977867334706965674164394329266403510915548548648642195864079735020144730526379977774721958112986406886154234968468433348331535238731023312763235372156135503074399191987181913822700997412180076893446643076126516046757258874452645615669653941564835699688907261499807567083253808976576306593300541119906104386877559729262027751052752885211914773912538974989135117018985444081557064233811009175199023252174821988250896207727514559572234333602874637343342957995303548650685440468404145793176816469094961957813666688732118563367492620328722628018994190901543196497712937113285293296552003404457195518073832568098351438993435907681503226040726916832972406374250579242589158131172320966916109533949693085391753934032839640356923245622785489263342014344698979297318696111866784100989026036223804337023107729171015525332485431001561319597700885326225595046799252488971597576659946989100434102827004228398530623769393350522239206891384236138989636379562622724453483238192816365414678564229370924922666990657784308549017238465304986741645665918216609225885741547705978050766729686793005277857598476435889387845115205719470601182453878436890466588831960830492176523907071164158785636616167614702546943119253979639111767598821932100982766228674417886770111048816852836594008943631635068519413350411180312687624009529463393726979952092318352690711802834697181301948491818632265452042693074992853691582979365484516868586099879891889310381991761598052250045436968017360202932382912928971788438472352120453519922146223856515784578382105495787275391116647432533207333886776284987466565254008339510843869843372231483822248072216362063097950413338258054671916357066903532257614543347928564227206497291508429507247519102361335745534012758887401640209491301827877926775417227733463828782279 365612761936687613311157278375179086311625707079715405456024192546751781162446267393805345843994799214132865213412190666779278043038329863957096940076070876513040491274280793158919303471502154999119860870308134435070391075264899107355207386625729174626439889880023959838438700910916478813021571430393830979236277130500203816038344162721487590861757893148553862188892993693917527650298105967189673950797178303301844640200816698837069847472851909040126103501110711687868778870786674210914370975272430269149284155233539730107993292208796759683380735285238180477337407346805356162059537426018078859596865230078791963768400276410683325382542807590897210969799035542370762467272703981876357950328706847654064701035809448130903266368832011474692262509785733629598808915168979900900826869236577243038105080304078058478820510524818526425830324787151335948472871639510971995374392510637500134088745093599037446360155434723475032962471951644583336600800232732427124755521035842327712374522823621149296990898260572203071084811747446792525429981752292925419638349166121553915517805638483995433809947302009547634859232248814063052793614593502893710226921532114367355791336587695632506440663834973485478856839715382213739270203280606167383824158517944603805193354836818885028591240139903004222863755115111962043964546006516108019133128284143158190244001041482507772154218086923324126933350539665649184717483342905628353743044861442566467697774394369008145452099676966468589637051071729924463362412310258941669397086299288311958851641477085212721126657981924864386650793119039395238142128634231974007669936553605302819637078666461902425501124076741476596290826827552929845807161141790942643419203261966645410223405948934317991839998071178908938687992494829066515564054859553372264558738487406127341514040860363557504597183052775869460041414399186658827675405489602505151139290949797376741452970060851917009965884771912223037876448541969442128154091555000536737808054259451469049286619339851264547345322965700289534651742416071757347426010905143354748453083431666784085705654417773648523692292237641847187762797467232428176122284369579282051802427792897205587020933379890002364658286873067840422926492202633890788822636074005313162863690066699897809162752626877495470247447184872754061663066584091990160945593123207345046686562275297138385214479185045198173171158794269859394613822192355612511697197250098716981472232962400338172942666553459711571459677539233124862145538098371906849009559497076274924360281663468670052788573251222333002668043864552111694241491336204679769520554470836525024509530765708660336775671994578743420935527996007329979053412197450270586742928566649167571451229079085117899668179637287523885372991278956229609789716133112848853889411891621864448036496612707432024102559792723631806142373678959787311239854018820206398821875279636758257087888024300978331335648205642946251551576948385727502843988376706889659213732895293156046172607945558186797107358211115961959583481584312059592529847537134288975685223075602418683222418731138510482732168195220611150972281598682544458874985433528985737780098305608085154934556456501848392557728119453002353616740843791143661986248020431130542711733537108536643301996555478810516892483540111234451798719382551851655883241640597206341147806583872747884579216636276282527922270275154859475488588084811475827417175555430395522717787635929073070617765849219451761398987593127462720470957812608058303246546301180184137565001452712348908060424646320025752901161919604922667177091998554741551513922 591573875534284389090225797000374830553644446776232517660918022085455653601483274682582524874602837569602335413861229521488146607392224441773600816310252194829291546215689628313869637221289070977565859398858847489905056464715798446303680249216253091347034851340168684236376019998137364117119954180373889488556078209108834337268370561285273768711534435617308677526721781345126129488790185337455111787378145645963255565578685870023751788812413459814351648715070105009109985188752295957814756686221371221093866158358867469268010066361940474825763206136908409260794609763765826659013681966340480256151780743444340063320247803720903140012743671686989949368614961377270570837717809491996371418171371668508759162325563721181487278902933296468729976459041897889539398437873781669578158300960570301231114490324819647402631787460668645550232395760208350742539332474667264830078724479569161852110455851761561080929471395594625710725493230046751347436222726187943665611762006897293250388208755207426090776555697062958696064294204861010804397647666572348485070313324234977820087641079214115911349405247220880399256576799429926063538539920290984969961877685135158508235756570984548650774162500425951856875026132809607610414576474729963168506479535648853897544458203429411923829078447816953742379291796792529023568107396790493326283650077811596266265848526927588605710559550531210898939781174836993429525659034916693335182441355204897723624131649552585573992616440372656646502917280072762013168722276516321391380589810371436361427787091088790214625048947790798318336506282693339484499854002307812624298739219840016911923315457936195287059734173196518036477704401853986567565205908683642494861383948985971519710377904305902555672707905931564238217882588198424436054576637378137308347716354740834307188205254692823908108098601324518102237278478921678972405931869580279873097403936204262895687938529285265341501123502935535801111820698104945202553283542182450560509051671631545942733262415977780594102581840152935150321396357636593047114918166643162315536337240643360392298954958893554628079169797371109215513850220117640090896196908554271186919446778341287144085167190899177563681539047889828673822699930148450361056969676879950506206648062003446459848193095281641263424263653967716019476733272824108724313085743536067674705556466198681581712192122158483466467710797674316590131896024923710863136190686006398484698273689317171145349040804038954160617808711554091778255072048064992240763493529915915281283527286254159316130587595921312299986739976418895795230517372428484106543662200007540549842016196710221656373372879904969015982327248496301576630072144439371020845755570877566102074998472435640138875071021523662875009370841578954063272954325929214268567976120992789370703487270491740573119798258028618547788039597176396537125595566526184449588604966429763534945486500736867719180763411362416852734030826822617969432820337537381835737639966457314831809224113172889344050477465095601071351080406244160575296076211552175745796271892455255277231362362773579002145518606400923838596291128145938185854937525847338428491901140305266456883048275134113844600421194445856045199720209275660530572347900323019853093725298706588893347433523496170719824866453040206240237191734672305175805387864453722125726188689368535159970333283708815735256157051439846942053842093150986671287018927661879344965859852291136168568179187477506433315344660030994978085501160536622530453043592688613644812520555073684653594437405207427393110653221432800593952509226288205380296201 957186637470972002401383075375553916865270153855947923116942214632207434763929542076387870718597636783735200627273420188267424650430554305730697756386323071342332037489970421472788940692791225976685720269166981924975447539980697553658887635841982265973474741220192644074814720909053842930141525610767720467792355339609038153306714724006761359573292328765862539715614775039043657139088291304644785738175323949265100205779502568860821636285265368854477752216180816696978764059538970168729127661493801490243150313592407199376003358570737234509143941422146589738132017110571182821073219392358559115748645973523132027088648080131586465395286479277887160338413996919641333304990513473872729368500078516162823863361373169312390545271765307943422238968827631519138207353042761570478985170197147544269219570628897705881452297985487171976062720547359686691012204114178236825453116990206661986199200945360598527289626830318100743687965181691334684037022958920370790367283042739620962762731578828575387767453957635161767149105952307803329827629418865273904708662490356531735605446717698111345159352549230428034115809048243989116332154513793878680188799217249525864027093158680181157214826335399437335731865848191821349684779755336130552330638053593457702737813040248296952420318587719957965243046911904491067532653403306601345416778361954754456509849568410096377864777637454535025873131714502642614243142377822321688925486216647464191321906043921593719444716117339125236139968351802686476531134586775263060777676109659748320279428568174002935751706929715662704987299401732734722641982636539786631968675773445319731560394124398097712560858249937994632768531229406916413372367050474585138280587210952616929933783853240220547512705977110473176905875083027490951618631496931509572906454842146961648702246115056381412705281654100387562278692878108337800081337359182785024236694886001639637140908590137182351467008274847758838988269240074387330707375097182987298317105931083014992019881755829045141447904805853224684973138773708350394540929071786517063989420672310144478004609376667203151771462035012956403276647687350068267018481278133553238721874571238492731106100570789179928339825920957669096749192132782341149879605750885263669070338128703344269010945722159136733671710838840470081139799856916098885258678866743412721392118741495819966926671307203681639638869591944175984745718217279323374833387936105115466170506651717509318291707357498665732077486250787216640400610146436899089773053026992190205643808949722829368919160847143645302654783840971007489472008708633163876064216670844065574351546962418881993149044874483712436917855244503631555683484341889641607588684137526733673526227551520758038543250658811186760382362120535183673062670459042063122457388012614653818739983883199172597222358050752250353930413276136183848365449585346390848410480246066521792033374525037846050516411617005363104285607775208345472276808714244271494951372861750470877981832058731076141157835676211563030934561990556220167825923748686464721481494968057673960453781093912089484877686801621534989568572726828482644729922959376324166271999445913351611817604731635962237158149313898858398816461053066804192558595920754150395805458835815125536649430078974981236717349993151440692035911117224156831688629505050928466873995273241283044549549919985098263178427326594706417542430177962462498704194483092274867683647488220209239185945036696958194714332253158457698556458973144680833699589893868797782377522007786033561654862051527453146011815141037723261129601224842946931810123 1548760513005256391491608872375928747418914600632180440777860236717663088365412816758970395593200474353337536041134649709755571257822778747504298572696575266171623583705660049786658577914080296954251579668025829414880504004696495999962567885058235357320509592560361328311190740907191207047261479791141609956348433548717872490575085285292035128284826764383171217242336556384169786627878476642099897525553469595228355771358188438884573425097678828668829400931250921706088749248291266126543884347715172711337016471951274668644013424932677709334907147559054998998926626874337009480086901358699039371900426716967472090408895883852489605408030150964877109707028958296911904142708322965869100786671450184671583025686936890493877824174698604412152215427869529408677605790916543240057143471157717845500334060953717353284084085446155817526295116307568037433551536588845501655531841469775823838309656797122159608219098225912726454413458411738086031473245685108314455979045049636914213150940334036001478544009654698120463213400157168814134225277085437622389778975814591509555693087796912227256508757796451308433372385847673915179870694434084863650150676902384684372262849729664729807988988835825389192606891981001428960099356230066093720837117589242311600282271243677708876249397035536911707622338708697020091100760800097094671700428439766350722775698095337684983575337187985745924812912889339636043768801412739015024107927571852361914946037693474179293437332557711781882642885631875448489699856863291584452158265920031184681707215659262793150376755877506461023323805684426074207141836638847599256267414993285336643483709582334292999620592423134512669246235631260902980937572959158227633141971159938588449644161757546123103185413883042037415123757671225915387673208134309646881254171196887795955890451369749205320813380255424905664515971357030016772487269228763064897334098822205902532828847119422447692968131777783294640100089938179332533260658639365437858826157602714560934753144171806825735550486646006159835294535131344943441655847238429679379525757912953504870303564335560757779850631832384065618790497907467708357914678186687824425641321349579779875191267761688357492021364968847497770571892062930791510936575427765214175276986190706790728859138817440777997095974492808186100616533129740207609571764610279480396097675207694501548638863429362165106106580389618492574877614242203034237969578622111513950868780341034680463640748161537619892695294962341308418655682194501891330536546556908105486927336235976988685049748443064957602641523817389903284702526081061647982607878870851606124193563159129103649522417754388681452900182492999933132313556486329012628434439708404299775601226023956398177418321680334849635391732962114137736335624784971277391025364133607443189443471153690913170342156308780868901718452873312580385491045151872575297999085212496285326978861025774713769697175028367779957019638602030963441709629051781653330689012828207785709791056171903965485208313141307164102285642396800380743121999960238640467277766860512929237685143456685668487023205408022458828164863854974420830584860485223662594763900586218618068700653006770076081758570508344714444016181262342464723130943821077170248899184134521714429996863602471151956542216446191646932273102851896462007494017369504650592600183962609818204519883203693913998434584378034553359596272271113449169991213410754154212649507340511345407754124224174464628029676913189452676641960133681303364152633486557411427190042562859718215249299456734880539122468362470523855082110451131152312106324 2505947150476228393892991947751482664284184754488128363894802451349870523129342358835358266311798111137072736668408069898022995908253333053234996329082898337513955621195630471259447518606871522930937299937192811339855951544677193553621455520900217623293984333780553972386005461816245049977403005401909330424140788888326910643881800009298796487858119093149033756957951331423213443766966767946744683263728793544493455977137691007745395061382944197523307153147431738403067513307830236295273012009208974201580166785543681868020016783503414943844051088981201588737058643984908192301160120751057598487649072690490604117497543963984076070803316630242764270045442955216553237447698836439741830155171528700834406889048310059806268369446463912355574454396697160927815813143959304810536128641354865389769553631582615059165536383431642989502357836854927724124563740703023738480984958459982485824508857742482758135508725056230827198101423593429420715510268644028685246346328092376535175913671912864576866311463612333282230362506109476617464052906504302896294487638304948041291298534514610338601668110345681736467488194895917904296202848947878742330339476119634210236289942888344910965203815171224826528338757829193250309784135985402224273167755642835769303020084283926005828669715623256869672865385620601511158633414203403696017117206801721105179285547663747781361440114825440280950686044603842278658011943790561336713033413788499826106267943737395773012882048675050907118782853983678134966230991450066847512935942029690933001986644227436796086128462807222123728311105086158808929783819275387385888236090766730656375044103706732390712181450673072507302014766860667819394309940009632812771422558370891205379577945610786343650698119860152510592029632754253406339291839631241156454160626039034757604592697484805586733518661909525293226794664235138354572568606587945849921570793708207542169969755709559630044435140052631053479088359178253719863968033736548425157143263533797575926773025927635870876998391451859384520267673905053293836196776310216196443515178585263649348308173712227960931622093867397022022067145594817776624933159464821377664363195920818272606297368332477537420361190889805166867321084195713132660816181178650477844347324319410134997870084539599914730767685331648656181756332986656306494830443477022893117489793949190321515565534736565846745745449981562668559623332459482357612802966558216629417039286992752189781932455519036285624772781213128525059056292340938790420309599583900295692571145185699818053968909290208602905296307658360910774174534789694811858672095541695671698545110121547985642671462628872393889818037737503564687997040828218654236023123845931033449127453575477156215961572339146036395774095082649321409398295244013340513482752146222097008183455036890085767564514359533119255648866149448764233856494737218966146409565458562807119012235550812559820213586645373143061305246377239308913986437766025924825640385689958256587772888230635041626366148817518727133220204387356600910947923708925105188759261828570603198138924550597757971900892209643993817733436581802903475314783444599986761035900032131969680518257738406038318916719822243572842832642315409268915689539741831320644704642970336839966646293681446133193259566439343087624309013969120618839182646874555579059474179235851101249069433123679012261613011704629259777138702449075911668695407893846429080333154828731554646940069260871422822744009166347910375198419106825984197852223380426209209567564570645751776904161508262333685134283503508247116211711675974099243916447 4054707663481484785384600820127411411703099355120308804672662688067533611494755175594328661904998585490410272709542719607778567166076111800739294901779473603685579204901290521046106096520951819885188879605218640754736455549373689553584023405958452980614493926340915300697196202723436257024664485193050940380489222437044783134456885294590831616142945857532204974200287887807383230394845244588844580789282263139721811748495879446629968486480623026192136554078682660109156262556121502421816896356924146912917183257494956536664030208436092653178958236540256587735985270859245201781247022109756637859549499407458076207906439847836565676211346781207641379752471913513465141590407159405610930941842978885505989914735246950300146193621162516767726669824566690336493418934875848050593272112512583235269887692536332412449620468877798807028652953162495761558115277291869240136516799929758309662818514539604917743727823282143553652514882005167506746983514329136999702325373142013449389064612246900578344855473267031402693575906266645431598278183589740518684266614119539550846991622311522565858176868142133044900860580743591819476073543381963605980490153022018894608552792618009640773192804007050215720945649810194679269883492215468317994004873232078080903302355527603714704919112658793781380487724329298531249734175003500790688817635241487455902061245759085466345015452013426026875498957493181914701780745203300351737141341360352188021213981430869952306319381232762689001425739615553583455930848313358431965094207949722117683693859886699589236505218684728584751634910770584883136925655914234985144503505760015993018527813289066683711802043096207019971261002491928722375247512968791040404564529530829793829222107368332466753883533743194548007153390425479321726965047765550803335414797235922553560483148854554792054332042164950198891310635592168371345055875816708914818904892530413444702798602828982077737403271830414348119188449116433052397228692375913863015969421136512136861526170099442696612548878097865544355562209036398237277852623548645875823040936498217154218611738047788718711472725699781087640857643502285484982847837651509202090004517270398052481488636094165894912382555858652664637892976258643924171752756606415692019624310510116925726729223357040692727863659824456842282372866116396514104402208087302373513587469156884823064204398165928011851852030371181161134500946701685391850772545180328143367908067333786870245573203680573905517468076175469833477711974535440681750846146140808401179498481421676806739018657733273560507937831475750814058877060870756459841279974412547277822738673280677089292193880383261075342718220230503497820310597314547666864457563554335333224728679599433554393379894019480886031165828044763459145733920028984617904508116279829540197626926190580998937906670668313988157367319022761344619347539889091541444408650671059092445991096576587273589910761673740923018324884979270272355696066817807578156329398518166042297563944402539007111574461958825891235505846784156981654069923669163745656037028689083532435824068007283426458924097617666452645898300436777324305899643929823649355799800618350587749218910745176114400675290330588287286848823577751733638820483562908490893603827104858554396643157283917285149801782885534734556582116821017080846676664244060229652074363198460919453589316327372926260047596082663813136734974720189360838686621304600583292982662169242900054694193485045887450773686079537363051840379240507287562004856866983620636757607133505469992153460964997214224256751865978770971293822127105251556022771 6560654813957713179277592767878894075987284109608437168567465139417404134624097534429686928216796696627483009377950789505801563074329444853974291230862371941199534826096920992305553615127823342816126179542411452094592407094050883107205478926858670603908478260121469273083201664539681307002067490594960270804630011325371693778338685303889628104001064950681238731158239219230596674161812012535589264053011056684215267725633570454375363547863567223715443707226114398512223775863951738717089908366133121114497350043038638404684046991939507597023009325521458176473043914844153394082407142860814236347198572097948680325403983811820641747014663411450405649797914868730018379038105995845352761097014507586340396803783557010106414563067626429123301124221263851264309232078835152861129400753867448625039441324118947471615156852309441796531010790017423485682679017994892978617501758389740795487327372282087675879236548338374380850616305598596927462493782973165684948671701234389984564978284159765155211166936879364684923938412376122049062331090094043414978754252424487592138290156826132904459844978487814781368348775639509723772276392329842348310829629141653104844842735506354551738396619178275042249284407639387929579667628200870542267172628874913850206322439811529720533588828282050651053353109949900042408367589206904486705934842043208561081346793422833247706455566838866307826185002097024193359792688993861688450174755148852014127481925168265725319201429907813596120208593599231718422161839763425279478030149979413050685680504114136385322633681491950708479946015856743692066709475189622371032739596526746649393571916995799074423983493769279527273275769352596541769557452978423853175987087901720999208800052979118810404581653603347058599183023179732728066256887396791959789575423274957311165075846339360378787850704074475492118105299827306725917624482404654764740475686238620986872768358538541707781838411883045401598276808294686772261196726112462288173112684670309712788299196027078567489547269549724928875829882941451531114049399858862072266556115083480803566919911760016679643094819567178109662924789097103261607780997116330579754367713191216325087786004426643432332743746748457831505214060454357056832568937785066169863971634829527060724599307896640607458631345156105498464129199103052820599232651564325266631077263106075144579769932902493858597597480352743829694124279161167749463575511738544772784947354326539060027505659199610191142240857388598358536768266876379472171155745724708696872069626607376624792987567023482163413234139134111724833051595660451271699952069954242949521283783402225074934865343012133469232536257968007062508307638142766321100480687400266366673856133174910710609341466358626922426939923127412780555132215272997958417990868426051637205810381227471084705471185027847107413016185172210108853204034626310507590818216129621899565003332127399833410124348319114066079630131356509581269682504583833502981969784208124298885336832633174048737940610776344618368726051171513582565017847378088850844796290517654135633962992557881184430824989827310446463631737018580227781214427374423636116835700650482557429737168483582152719592010152831860129681465893161002554510023304739811538308470075195394363289450965363418343061349324877822180891130790137699685859311118615808711548542434312020702658749451051938521660607787293072913873677169265272507382029198447012373315816997974454701634262745917310273517695245885273427038798347333271759857080247409829846325171704151221769057622473259547909391035369487018087505533803079350799939218 10615362477439197964662193588006305487690383464728745973240127827484937746118852710024015590121795282117893282087493509113580130240405556654713586132641845544885114030998211513351659711648775162701315059147630092849328862643424572660789502332817123584522972186462384573780397867263117564026731975788011211185119233762416476912795570598480459720144010808213443705358527107037979904556657257124433844842293319823937079474129449901005332034344190249907580261304797058621380038420073241138906804723057268027414533300533594941348077200375600250201967562061714764209029185703398595863654164970570874206748071505406756533310423659657207423226010192658047029550386782243483520628513155250963692038857486471846386718518803960406560756688788945891027794045830541600802651013711000911722672866380031860309329016655279884064777321187240603559663743179919247240794295286762218754018558319499105150145886821692593622964371620517934503131187603764434209477297302302684650997074376403433954042896406665733556022410146396087617514318642767480660609273683783933663020866544027142985281779137655470318021846629947826269209356383101543248349935711805954291319782163671999453395528124364192511589423185325257970230057449582608849551120416338860261177502106991931109624795339133435238507940940844432433840834279198573658101764210405277394752477284696016983408039181918714051471018852292334701683959590206108061573434197162040187316096509204202148695906599135677625520811140576285121634333214785301878092688076783711443124357929135168369374364000835974559138900176679293231580926627328575203635131103857356177243102286762642412099730284865758135785536865486547244536771844525264144804965947214893580551617432550793038022160347451277158465187346541606606336413605212049793221935162342763124990220510879864725558995193915170842182746239425691009415935419475097262680358221363679559380578769034431575566961367523785519241683713459749717465257411119824658425418488376151189082105806821849649825366126521264102096147647590473231392091977849768391902023407507948089597051581697957785531649807805398354567545266959197303782432599388746590628834767839781844372230461614377569274640520809327245126302607110496143107036713000981004321694391481861883595945339643986451328531253681300186495004980562340746502065219449334703634859651627640144664732262959967643974331068421870449449510723924990828625225862853141314348056918872916152855421660325930273078862880184096659708933564068192014480241411820153922001891865517098051568108029053431532006224756755723921171970609862538891928656531207731541232044366790227344022456682902164227059223395394544575254478198510560328618235457313987964938250954601699898584812774344265002721360378107808458105751172176239700866135301982576322498984705881177403437307418052083643377855696161095570383504194971453472551574515402049035226866800680992010994428703987107000035109992854989097955016335779853625378571401641081138299182726290341182900777035713055849515072735170509604231897955670564219087771047252596500833319206737668069787060565164610889749087444976899109530037455357552087114071304247285472635501268833145178956079228758267120267300483420147416530289470912736193330506867648302431912297180053948759932608249280703492863132210412556737473247611154780532535975362676038363622905632772940156248065778424864781708203869956886050608651889454633346068650503047595666298479167217354756328456230963197724291381325422636478879177587840559321861937114393450483082778837656691761211083438256762133647787235465789058799355930184602355961989 17176017291396911143939786355885199563677667574337183141807592966902341880742950244453702518338591978745376291465444298619381693314735001508687877363504217486084648857095132505657213326776598505517441238690041544943921269737475455767994981259675794188431450446583853846863599531802798871028799466382971481989749245087788170691134255902370087824145075758894682436516766326268576578718469269660023108895304376508152347199763020355380695582207757473623023968530911457133603814284024979855996713089190389141911883343572233346032124192315107847224976887583172940682073100547551989946061307831385110553946643603355436858714407471477849170240673604108452679348301650973501899666619151096316453135871994058186783522302360970512975319756415375014328918267094392865111883092546153772852073620247480485348770340774227355679934173496682400090674533197342732923473313281655197371520316709239900637473259103780269502200919958892315353747493202361361671971080275468369599668775610793418519021180566430888767189347025760772541452731018889529722940363777827348641775118968514735123571935963788374777866825117762607637558132022611267020626328041648302602149411305325104298238263630718744249986042363600300219514465088970538429218748617209402528350130981905781315947235150663155772096769222895083487193944229098616066469353417309764100687319327904578064754832604751961757926585691158642527868961687230301421366123191023728637490851658056216276177831767401402944722241048389881241842926814017020300254527840208990921154507908548219055054868114972359881772581668630001711526942484072267270344606293479727209982698813509291805671647280664832559769030634766074517812541197121805914362418925638746756538705334271792246822213326570087563046840949888665205519436784944777859478822559134722914565643785837175890634841533275549630033450313901183127521235246781823180304840626018444299856265007655418448335319906065493301080095596505151315742065705806596919622144600838439362194790477131562438124562153599831591643417197315402107221974919301299505951423266370020356153166665178761352451561567822077997662364834137306966707221696492008198409831884170361598739943652830702657060644947452759577870049355568327648321097167358037836890632176548031747567580169171047175927839150321907645126350136667839210631264322502155302867511215952906775741995369035112223744263970915729047046991076668820522749505024020890777923568657417688937802775986864990300584522079794287801949790952666550551248508288199626093157637590225794923637734636430056324993791780237887334406109743974263724980252191659003241184114321033176865306240085127239161924566407528013807790736166517622836925873600080309065418938354868066572440945949254975612062826736734730885045674299589020255998350574980534740489853131932814609247688645523168348849040724008202983399689367181562325755609141712556626045082930302891575997760831386940410159458311969055177585147692289434895061075985474584120268966934414640068237609668887104587455683511515127972957949127184146784105618425341447345629609724391803703750053123045795320574077272287345573161774473937779868328498678670921589471201919315702608693247712340419839859310636252007546211755364073738747840530172388113970220767255249343123222059214644121835924481535290378918364378401292480218395286481291847075171448067084960858906815229476803303368811657249958964482329058719905853450679701494608039614296165191809457962718976880507997809076571307909905917975935173831081719017361803280329407950541807913530268705911516310043038822604952807146304889733263953155901207 27791379768836109108601979943891505051368051039065929115047720794387279626861802954477718108460387260863269573552937807732961823555140558163401463496146063030969762888093344019008873038425373668218756297837671637793250132380900028428784483592492917772954422633046238420643997399065916435055531442170982693174868478850204647603929826500850547544289086567108126141875293433306556483275126526784456953737597696332089426673892470256386027616551947723530604229835708515754983852704098220994903517812247657169326416644105828287380201392690708097426944449644887704891102286250950585809715472801955984760694715108762193392024831131135056593466683796766499708898688433216985420295132306347280145174729480530033170240821164930919536076445204320905356712312924934465914534106257154684574746486627512345658099357429507239744711494683923003650338276377261980164267608568417416125538875028739005787619145925472863125165291579410249856878680806125795881448377577771054250665849987196852473064076973096622323211757172156860158967049661657010383549637461611282304795985512541878108853715101443845095888671747710433906767488405712810268976263753454256893469193468997103751633791755082936761575465548925558189744522538553147278769869033548262789527633088897712425572030489796591010604710163739515921034778508297189724571117627715041495439796612600595048162871786670675809397604543450977229552921277436409482939557388185768824806948167260418424873738366537080570243052188966166363477260028802322178347215916992702364278865837683387424429232115808334440911481845309294943107869111400842473979737397337083387225801100271934217771377565530590695554567500252621762349313041647070059167384872853640337090322766822585284844373674021364721512028296430271811855850390156827652700757721477486039555864296717040616193836727190720472216196553326874136937170666256920442985198847382123859236843776689850023902281273589278820321779309964901033207323116926421578047563089214590551276896283953412087949928280121095693739564844905875338614066897151067897853446673877968445750218246876719137983211375627476352229910101096504270489654295880754789038666652010143443112174114445080226335285468262086822996351962678823791428133880359018841212326568029893631163525508815033627256370404003207831621355117230179957133329541951490006502370867580546920406727631995079867718595039337599496496501800593811351374730886874032092271625576290605090658197647190920573663384959978384461658724516734742565728749700019780015159529455742892975205842665483487857000016536993611255578080353836802616908908722866734782416158687823404209328696768029403388983789802922558383045214365028183165544109057394297030357189309469766471025758723599240614784187114842539343151425471765259956864485876963111062988837837813992012684996063575251992226896420169298553783193562153015798307183657114605661271949730983883586992189535374047410194568304824044275540164028069288520439647387115665258568149660704981251138386704600160436970756246685637577189847082854711003193389472594043846462928931129471773537113688210406210323164717264244682691811929295331955442569982918207062106703188148847787649326941098686960126611119672154962742044834986474941171037040036416402133064435303291883154667463924825328787613745702935655837626012447260750931261843967885438794353699857901015154881007901668085077015527206845015090980948174539199519330204542203705912775332409164214291175207843705722100457896730546384797153523014390403580954476196730812490729379464605291479789349773072176686609840418596205104245663448555511863196 44967397060233020252541766299776704615045718613403112256855313761289621507604753198931420626798979239608645865018382106352343516869875559672089340859650280517054411745188476524666086365201972173736197536527713182737171402118375484196779464852168711961385873079630092267507596930868715306084330908553954175164617723937992818295064082403220635368434162326002808578392059759575133061993595796444480062632902072840241773873655490611766723198759705197153628198366619972888587666988123200850900230901438046311238299987678061633412325585005815944651921337228060645573175386798502575755776780633341095314641358712117630250739238602612905763707357400874952388246990084190487319961751457443596598310601474588219953763123525901432511396201619695919685630580019327331026417198803308457426820106874992831006869698203734595424645668180605403741012809574604713087740921850072613497059191737978906425092405029253132627366211538302565210626174008487157553419457853239423850334625597990270992085257539527511090401104197917632700419780680546540106490001239438630946571104481056613232425651065232219873755496865473041544325620428324077289602591795102559495618604774322208049872055385801681011561507912525858409258987627523685707988617650757665317877764070803493741519265640459746782701479386634599408228722737395805791040471045024805596127115940505173112917704391422637567324190234609619757421882964666710904305680579209497462297799825316634701051570133938483514965293237356047605320186842819342478601743757201693285433373746231606479484100230780694322684063513939296654634811595473109744324343690816810597208499913781226023443024846195423255323598135018696280161854238768875973529803798492387093629028101094377531666587000591452284558869246318937017375287175101605512179580280612208954121508082554216506828678260466270102249646867228057264458405913038743623290039473400568159093108784345268472237601179654772121401874906470052348949388822733018497669707690053029913471686761084974526074490433720927285382982042221277445836041816452367403804869940247988801903384912055480490434772943449554349892274935233811237196875992372762987448498536180505041852117767275782883395930415714846400866401318247151439749231047717056678102958744577925378731105677986080803184209554325115476747705253898019167764593864453645309369882083533453696148723001030192091462859010253328543543492877262631874124235910894922870195194233708294028460973634055910874247907039772672263608515469401293116977257988219406108317167045968687898843577301913544181993808317231498589984190097811066341889160914525738023600273008856581074634936853156642550908356210450572190835950531545806002469982657474606095776127664337833043466704672854216226847013851577270228197099771354280212862836451943645803478690969746806621932684709098420341075937144177501537182882929334578124062792798827162287317032661286775162989950366760987820354026616793099453125311720358723415500723372590249378837116595119621319375996373487265024426439758200765550147796210038857787299007897935491192092538655521275477287166811256201530897241989551590255853586403233111823771068661589128651577905107464550396342574653439106799985921755924162508953800199060213689011567212424530372353831690552635006376726678568947164712095280993314574202004413739740969326548325259732513965801766942861874061696237378471388445827184456803979573310006894445052970009906036811745527071497600973672253894184724213719909534468038456290715129458188221485299971838000011141898679921272518821748495261289382219725432445371403351409135396712508667764403 72758776829069129361143746243668209666413769652469041371903034555676901134466556153409138735259366500471915438571319914085305340425016117835490804355796343548024174633281820543674959403627345841954953834365384820530421534499275512625563948444661629734340295712676330688151594329934631741139862350724936868339486202788197465898993908904071182912723248893110934720267353192881689545268722323228937016370499769172331200547547960868152750815311652920684232428202328488643571519692221421845803748713685703480564716631783889920792526977696524042078865786872948350464277673049453161565492253435297080075336073820879823642764069733747962357174041197641452097145678517407472740256883763790876743485330955118253124003944690832352047472646824016825042342892944261796940951305060463142001566593502505176664969055633241835169357162864528407391351085951866693252008530418490029622598066766717912212711550954725995752531503117712815067504854814612953434867835431010478101000475585187123465149334512624133413612861370074492859386830342203550490039638701049913251367089993598491341279366166676064969644168613183475451093108834036887558578855548556816389087798243319311801505847140884617773136973461451416599003510166076832986758486684305928107405397159701206167091296130256337793306189550374115329263501245692995515611588672739847091566912553105768161080576178093313376721794778060596986974804242103120387245237967395266287104747992577053125925308500475564085208345426322213968797446871621664656948959674194395649712239583914993903913332346589028763595545359248591597742680706873952218304081088153893984434301014053160241214402411726013950878165635271318042511167280415946032697188671346027430719350867916962816510960674612817006070897542749208829231137565258433164880338002089694993677372379271257123022514987656990574465843420554931401395576579295664066275238320782692018329952561035118496139882453244050941723654216434953382156711939659440075717270779267620464748583045038386614024418713842022979122546887127152784450108713603435301658316614125957247653603158932199628417984319077030702122185036330315507686530288253517776487165188190648484964291881720863109731215883976933223862753280925975231177364928076075519315285312607819009894631186801114430440579958328323308369060371128199124897923406405135315872252951114000616555450633025271959181454049590928040039994677856443225498966797768954962466819809998899119119171281246831447911291999751056725267239986136035682706007688239186123476696501711580874049419967397032038993824854225109845562270451647868958798069637392472806016431696679985283963633621186045939892146013373130573881164896573989168014091714868903126133316973807599514492463396453456841631200966419809571348525243119540169727322328906756866467528807560798634617680772673672333302833564346800090966076491487593922369976455941767948588982392270658749982139902135035230548594921617143728665475748428011935940370759705914637405266255824602570514383078087425461397196004886403127337643292893568790492397370529535038555467586650747250824280499466607741220406706815834938545398332528443779213638644507335713684608295613398183991901594537793760112532875596317471695845034046688630182604252460946774486896125855926889531394142493772493499709026696250230039630426187001720257810169227617952760155466800762889216577245280139473522842711663648994664290955068984252489340110579015451439846830010137886545069392567919442009992364769002675512282981202611888880926314196741954389409300737124113228284611062454396412042285789999556513381060161064179627599 117726173889302149613685512543444914281459488265872153628758348316966522642071309352340559362058345740080561303589702020437648857294891677507580145215446624065078586378470297068341045768829318015691151370893098003267592936617650996822343413296830341695726168792306422955659191260803347047224193259278891043504103926726190284194057991307291818281157411219113743298659412952456822607262318119673417079003401842012572974421203451479919474014071358117837860626568948461532159186680344622696703979615123749791803016619461951554204852562702339986730787124101008996037453059847955737321269034068638175389977432532997453893503308336360868120881398598516404485392668601597960060218635221234473341795932429706473077767068216733784558868848443712744727973472963589127967368503863771599428386700377498007671838753836976430594002831045133811132363895526471406339749452268562643119657258504696818637803955983979128379897714656015380278131028823100110988287293284249901951335101183177394457234592052151644504013965567992125559806611022750090596529639940488544197938194474655104573705017231908284843399665478656516995418729262360964848181447343659375884706403017641519851377902526686298784698481373977275008262497793600518694747104335063593425283161230504699908610561770716084576007668937008714737492223983088801306652059717764652687694028493610941273998280569515950944045985012670216744396687206769831291550918546604763749402547817893687826976878634414047600173638663678261574117633714441007135550703431396088935145613330146600383397432577369723086279608873187888252377492302347061962628424778970704581642800927834386264657427257921437206201763770290014322673021519184822006226992469838414524348378969011340348177547675204269290629766789068145846606424740360038677059918282701903947798880461825473629851193248123260676715490287782988665853982492334407689565277794183260177423061345380386968377483632898823063125529122905005731106100762392458573386978469320650378220269806123361140098909147562950264505528929348430230286150530055802705463186554373946049556988070987680118852757262526585052014459971564126744883406280626280763935663724371153526816409648996645993127146299691779624729154599173126670926595975793132197418244057185744388625736864787195233624789512653438785116765625026218292662517270858780625242135034647454312704173634055464050644313059844256583583487555119075099623202708663877832662014043707193147580144915302742322159199039523728988875755455537328799683265676458592231793863547680268772892997269310576220987633171456608435546460549458935300687230551918210829616704705536566358598570474342688490800502223823702764717115428119795170484074372343509221909444638145432557959168069307673068478214817997079799545625014473820382590158780850402669946219777307605256550365481772092674378770708524301628148959420822172046432769254768930235906015053557433912972090268896023050902621538410243181790787468786735351441094132296164016242382850944223889890379451574690485823635763087168677485439502932426577791405268465026230648006242172022728111447310722809272117648696367425194398984735761555602984707306096464365262513403077948580334476247976900560098454631520479980649645233106902319194171464885477146840727816408561895908120821062719658211804307689564804241634839926742689584358494487350466725957233743624763278273482658610861968669896120452974237600961963429305459350016615827196966918327611111558798963577292133161919526832807458966227412439390833374180898152196753096288089222009642934976779872351836616137474731161402907922516456873572847392002 190484950718371278974829258787113123947873257918341195000661382872643423776537865505749698097317712240552476742161021934522954197719907795343070949571242967613102761011752117612016005172456663857646105205258482823798014471116926509447907361741491971430066464504982753643810785590737978788364055610003827911843590129514387750093051900211363001193880660112224678018926766145338512152531040442902354095373901611184904174968751412348072224829383011038522093054771276950175730706372566044542507728328809453272367733251245841474997379540398864028809652910973957346501730732897408898886761287503935255465313506353877277536267378070108830478055439796157856582538347119005432800475518985025350085281263384824726201771012907566136606341495267729569770316365907850924908319808924234741429953293880003184336807809470218265763359993909662218523714981478338099591757982687052672742255325271414730850515506938705124132429217773728195345635883637713064423155128715260380052335576768364517922383926564775777917626826938066618419193441364953641086569278641538457449305284468253595914984383398584349813043834091839992446511838096397852406760302892216192273794201260960831652883749667570916557835454835428691607266007959677351681505591019369521532688558390205906075701857900972422369313858487382830066755725228781796822263648390504499779260941046716709435078856747609264320767779790730813731371491448872951678796156514000030036507295810470740952902187134889611685381984090000475542915080586062671792499663105590484584857852914061594287310764923958751849875154232436479850120173009221014180932505867124598566077101941887546505871829669647451157079929405561332365184188799600768038924181141184441955067729836928303164688508349817086296700664331817354675837562305618471841940256284791598941476252841096730752873708235780251251181333708337920067249559071630071755840516114965952195753013906415505464517366086142874004849183339339959113262812702051898649104249248588270842968852851161747754123327861404973243628075816475583014736259243659238007121503168499903297210591229919879747270741581603615754136645007894442252569936568879798540422828912561802011780701530717509102858362183668712848591907880099101902103960903869207716733529369793563398520368051588309664065369470981762093485825996154417417560440677263915941114387985761454929259624267080736009825767109435184623623482232975518325122169506432832795128833853706092266699316196549573770070491039274785714142995441673364482389273364697778355270560049391849646942417236707608259981458025681718281108731001106804259485300189310683635633136402216551642562204095528734430692648237196833338598280324693784338498166087212412348042761611953032072451631465761129910109415784416889370894150257593360552317481109757159536413748584868403891168046254445765007681604272871101719115035912309765968802745710710698184494997445828092662954230171031058281451216460027386910456263217214747287381464892002078653647649106768826460404762529662115947220831767973571804823082795825995368283802638994561269203473828822769978935727810189417013338055403183260132944383068289999382198345950603800078947121698691346764326377842514694320210987507116797452345490267153590949376775717346423921327623942264488785439514963556492151711513334385815034281265266113744409842168663714968419486112700544387652494850727938750335491512607784101968901891917032413557948690127194842648406765157621249445344032969860052603929519197576461641739695420593445263061824466393495050677498522746767048205064483414291012549517016951402464435897517034637027019601 308211124607673428588514771330558038229332746184213348629419731189609946418609174858090257459376057980633038045750723954960603055014799472850651094786689591678181347390222414680357050941285981873337256576151580827065607407734577506270250775038322313125792633297289176599469976851541325835588248869282718955347694056240578034287109891518654819475038071331338421317586179097795334759793358562575771174377303453197477149389954863827991698843454369156359953681340225411707889893052910667239211707943933203064170749870707793029202232103101204015540440035074966342539183792745364636208030321572573430855290938886874731429770686406469698598936838394674261067931015720603392860694154206259823427077195814531199279538081124299921165210343711442314498289838871440052875688312788006340858339994257501192008646563307194696357362824954796029656078877004809505931507434955615315861912583776111549488319462922684252512326932429743575623766912460813175411442421999510282003670677951541912379618518616927422421640792506058743979000052387703731683098918582027001647243478942908700488689400630492634656443499570496509441930567358758817254941750235875568158500604278602351504261652194257215342533936209405966615528505753277870376252695354433114957971719620710605984312419671688506945321527424391544804247949211870598128915708108269152466954969540327650709077137317125215264813764803401030475768178655642782970347075060604793785909843628364428779879065769303659285555622753678737117032714300503678928050366536986573520003466244208194670708197501328474936154763105624368102497665311568076143560930646095303147719902869721932770529256927568888363281693175851346687857210318785590045151173611022856479416108805939643512866056025021355587330431120885500522443987045978510519000174567493502889275133302922204382724901483903511927896823996120908733103541563964479445405793909149212373176075251795892432894849719041697067974712462244964844368913464444357222491227717908921221189122657285108894222237008967923508133604745824013245022409773715040712584689722873849346767579300907559866123498844130200806151104979458568997453342849506079304358492636932955538597111179714155095985508483360492473321062479272228573030556879662339914151773426979307787146104916375504897690158983635200878602591621180635710222957948122696566356523020408909241963797901136200060470080169279441207206969788094593424745372215096710627790847897413285414279461111852316092229690078798514703018750897210693282072539041156370587064423597072118419835414506018184480969091197138326716655191550565739560172530741228894465249841107753118001160774569871422921493150461020536103315395752813579508982240459555921569952206250098464630410799535068802978587630602413969170439775272067180934907639890607562206359968362176009147718411736217857682060374981395403347263995333131938015235514965479628420401012499385526575926320439927081332353837998437630092247050686001482638822559024298242669890031957713050350295141981236806433044467531060740482308522298758421946075207907459587499851480070994792707047175120912226285455704099550685327343367804051554985183053256700264444209635101769295344660854090491594880309442138637277432995135500260493268570947182231901068168351758673050681347635784619211809923317642075379838522900106040487099426527158202318886212069934288012415773124210597361197460182503904554943139492878995842863408040143810669845373683485232361004142996547152185765849046030383920607967107859984278637242722618590248146965587744756409983181844355766127628686991748112805372358413973908209874411603 498696075326044707563344030117671162177206004102554543630081114062253370195147040363839955556693770221185514787911745889483557252734707268193722044357932559291284108401974532292373056113742645730983361781410063650863621878851504015718158136779814284555859097802271930243280762442279304623952304479286546867191284185754965784380161791730017820668918731443563099336512945243133846912324399005478125269751205064382381324358706276176063923672837380194882046736111502361883620599425476711781719436272742656336538483121953634504199611643500068044350092946048923689040914525642773535094791609076508686320604445240752008966038064476578529076992278190832117650469362839608825661169673191285173512358459199355925481309094031866057771551838979171884268606204779290977784008121712241082288293288137504376345454372777412962120722818864458248179793858483147605523265417642667988604167909047526280338834969861389376644756150203471770969402796098526239834597550714770662056006254719906430302002445181703200339267619444125362398193493752657372769668197223565459096548763411162296403673784029076984469487333662336501888442405455156669661702053128091760432294805539563183157145401861828131900369391044834658222794513712955222057758286373802636490660278010916512060014277572660929314635385911774374871003674440652394951179356498773652246215910587044360144155994064734479585581544594131844207139670104515734649143231574604823822417139438835169732781252904193270970937606843679212659947794886566350720550029642577058104861319158269788958018962425287226786029917338060847952617838320789090324493436513219901713797004811609479276401086597216339520361622581412679053041399118386358084075354752207298434483838642867946677554564374838441884031095452702855198281549351596982360940430852285101830751386144018935135598609719683763179078157704458828800353100635594551201246310024115164568929089158211397897412215805184571072823895801584923957631726166496255871595476966497192064157975508446856648345564870372896751761680562299596259758669017374278719706192891373752643978170530827439613394240425733816560287749987353011250023279418385877844781321549494757550377812710431664198843870667029205321912970359371330475134517783531547630885302796772871185666472967963814561755528454616962972088417617335053127783398625386612507470911006170364171223422168216936070295847278714625830830452021070111749867541721529543422919681751119377680978777308401889862300181118073300417161746338884057764461812405854148942334983646463968066777831742725792740950549222820044997763922551672543819657830930539578100882977509969669643722978665400157352185798698217369441913676077507363847480406546768333917994967862051496702862431000829932888697046386830858541333925529660541487225121000364721742773716947044413038886457990663622689741979254266505066379031245441703984038260676190326604896009945213619238880550610958139613805054458465017002703313903216229926204023916300321323537681064481876810699904510898922380265299299034312287131605094584417314359010546454148769054953899817562685982902931101643298793759502733945460287750872341554367381399207304064523156756800460642108987231933006289200520429645754074885340625767414084217947722899578324989495975700937539466787150748175703961634830976461194872804165372154231509268695821917287305698182634832400068267974938536111532951695111688656912041384796028256421356730271005512493780448642853610449487029517012238369778565227960382249706803280577723900304547084983743197643086267503177031386908839180418641236508765064207836794311490942846901431204 806907199933718136151858801448229200406538750286767892259500845251863316613756215221930213016069828201818552833662469844444160307749506741044373139144622150969465455792196946972730107055028627604320618357561644477929229286586081521988408911818136597681651731099561106842750739293820630459540553348569265822538978241995543818667271683248672640143956802774901520654099124340929181672117757568053896444128508517579858473748661140004055622516291749351242000417451727773591510492478387379020931144216675859400709232992661427533401843746601272059890532981123890031580098318388138171302821930649082117175895384127626740395808750883048227675929116585506378718400378560212218521863827397544996939435655013887124760847175156165978936762182690614198766896043650731030659696434500247423146633282395005568354100936084607658478085643819254277835872735487957111454772852598283304466080492823637829827154432784073629157083082633215346593169708559339415246039972714280944059676932671448342681620963798630622760908411950184106377193546140361104452767115805592460743792242354070996892363184659569619125930833232833011330372972813915486916643803363967328590795409818165534661407054056085347242903327254240624838323019466233092434010981728235751448631997631627118044326697244349436259956913336165919675251623652522993080095064607042804713170880127372010853233131381859694850395309397532874682907848760158517619490306635209617608326983067199598512660318673496930256493229597357949776980509187070029648600396179563631624864785402477983628727159926615701722184680443685216055115503632357166468054367159315204861516907681331412046930343524785227883643315757264025740898609437171948129226528363230154913899947448807590190420620399859797471361526573588355720725536397575492879940605419778604720026519446941139518323511203587275106974981700579737533456642199559030646652103933264376942105164410007290330307065524226268140798608263829888802000639630940613094086704684406113285347098165731965542567801879340820259895285308123609504781078791089319432290882614247601990745749831734999479517739269864017366438854966811580247476622267891957149139814186427713088974923890145819294829379150389697795234032838643559048165074663193887545037076223752178972812577884339319459445687438252163850691009238515688838006356573509309073827434026579273413187220069353136130765927447994067038037421809164705174612913936626254050710529648532663095258238420254205954529871196871815120180497236094751046534351447010519529399407243536086486613246248743977221919640419958371714419114102238283379830361671768472566132818617722787644883753235271580273678949159237905545229071830320943356462647006324255487947174112149961333273230535898735867284676989244827711773700801727722422132760890972283949133685309220422186604869726881480371802354235661908413643026578573641999273775641669955025297022444599145814806871050885220946158892456902647094950364589217712565026582940598563993427713022194927160995046492135728813309766830095052769440127393342839260434218453913736268906433970812355393030078052013869584249463602284630787631118676393109352564452464004328967366391902229937453648086023497884080829871784391352318335761267674577486518670081810226057664327459610590148134786532794915771558148618536574711327065478194718608695222980119606191910252569120412484041099149133472730411877615593211855180877675024099284764770414816182339154132128085971453630026064164424135627611258344302857673911140562002537547269703573991344608674012259587014568753194946546269923500513177013209152725464851056775842807 1305603275259762843715202831565900362583744754389322435889581959314116686808903255585770168572763598423004067621574215733927717560484214009238095183502554710260749564194171479265103163168771273335303980138971708128792851165437585537706567048597950882237510828901833037086031501736099935083492857827855812689730262427750509603047433474978690460812875534218464619990612069584063028584442156573532021713879713581962239798107367416180119546189129129546124047153563230135475131091903864090802650580489418515737247716114615062037601455390101340104240625927172813720621012844030911706397613539725590803496499829368378749361846815359626756752921394776338496368869741399821044183033500588830170451794114213243050242156269188032036708314021669786083035502248430022008443704556212488505434926570532509944699555308862020620598808462683712526015666593971104716978038270240951293070248401871164110165989402645463005801839232836687117562572504657865655080637523429051606115683187391354772983623408980333823100176031394309468775387039893018477222435313029157919840341005765233293296036968688646603595418166895169513218815378269072156578345856492059089023090215357728717818552455917913479143272718299075283061117533179188314491769268102038387939292275642543630104340974817010365574592299247940294546255298093175388031274421105816456959386790714416370997389125446594174435976853991664718890047518864674252268633538209814441430744122506034768245441571577690201227430836441037162436928304073636380369150425822140689729726104560747772586746122351902928508214597781746064007733341953146256792547803672535106575313912492940891323331430122001567404004938338676704793940008555558306213301883115437453348383786091675536867975184774698239355392622026291210919007085749172475240881036272063706550777905590960074653922120923271038286053139405038566333809742835153581847898413957379541511034253568218688227719281329410839213622504065414812759632365797436868965682181650903305349505073674178822190913366749713717011656965870423205764539747808463598151997075505621354634723920362562439092911979695597833926726604954164591497499901686277834993921135735922470639352736600577483493673249817418903117147003198014889523299592446725435175922379020525050158479050852303134021201215892869126822779426855850741965789755198895921581298345032749637584410642237570072201061774726708692868867873830234816924480455658155797473630211399652040776237015728656095816830052314945115537342243574978808810996163852864668471734390890000054553391077991469769962870189642778416712183036653910827199488192602308050667015796127692457288606731900671737625864747857455274987142747907828307203943053553092589405942141974201458036135661536728668755981723376075686253107626331388263909357881891337005691907402256264835225491327717545103061544333489928413480022057824015345983312036317860281630193032389812765053687421661843360559963946915367664097653678492433942491230606856898885316965394086676803971694951003034651193575066129129365056571732487927256574793229000367885037961387870629918079012980983115512883043223105018576247918869548734663719945851671308393490523148702690579562635317956504173281350301430145427203676387035088661704466392981388551047160303160548129614921937280970619733192979594997769584131230850348950117963918802036893497608435203952812552309074087669584263363572727281868767222262471052355706121500685821694832934580770939581903117055581176662505406176486304685107380714421139726437851816788557734542251760279762764045955662034126964911160009278241221045947036955793903677274011 2112510475193480979867061633014129562990283504676090328149082804565980003422659470807700381588833426624822620455236685578371877868233720750282468322647176861230215019986368426237833270223799900939624598496533352606722080452023667059694975960416087479919162560001394143928782241029920565543033411176425078512269240669746053421714705158227363100956832336993366140644711193924992210256559914141585918158008222099542098271856028556184175168705420878897366047571014957909066641584382251469823581724706094375137956949107276489571003299136702612164131158908296703752201111162419049877700435470374672920672395213496005489757655566242674984428850511361844875087270119960033262704897327986375167391229769227130175003003444344198015645076204360400281802398292080753039103400990712735928581559852927515513053656244946628279076894106502966803851539329459061828432811122839234597536328894694801939993143835429536634958922315469902464155742213217205070326677496143332550175360120062803115665244372778964445861084443344493575152580586033379581675202428834750380584133248119304290188400153348216222721349000128002524549188351082987643494989659856026417613885625175894252479959509973998826386176045553315907899440552645421406925780249830274139387924273274170748148667672061359801834549212584106214221506921745698381111369485712859261672557670841788381850622256828453869286372163389197593572955367624832769888123844845024059039071105573234366758101890251187131483924066038395112213908813260706410017750822001704321354590889963225756215473282278518630230399278225431280062848845585503423260602170831850311436830820174272303370261773646786795287648254095940730534838617992730254342528411478667608262283733540483127058395805174558036826754148599879566639732622146747968120821641691842311270804425037901214172245632126858313393028121105618303867266385034712612494550517890643918453139417978225978558026346853637107354421112329244701561633005428377482059768886335309418634852171839910787733481168629054537271552251178546815269320826599552917584287958119868956625469670194297438572429718965461851293165459920976171744976523954169792143060949922350183728327660490723302788502628967808600912381036036658448571464667109919322720959455244277229131291628736642453480646903331121290673470436094366430803796111772405230655125779059328910997597862306923208331827702174702759906905295639399522099093369594782051524340741048184703871495254148910301771359923511816930657522740811073559857530515299875188001133798133536141040004324240213747184789830062736788426602150756149110579318554274076523233148614745415244933490485135943317899543697016693180532371819738149250560405700559416844893889316086351419369408892072627404623266400365320513964881327133115986331490642782309289641041087565485257412096197444426583433346687725590321893665084402588987982585811959530236655490054834411910868494292712728581506122839372270311192604043081651655056257189797497449310393107108871731132689997495170380006884832959224417826011859881270095835227447454281621306867821841442273472043059035129382467292686707303207035549988225127773072510304135312722457889540604920517016283403980002057362180173214536779522012148302763239190985063063198777104824630620158719763056723813765535504751128213534344295458296328543668726659141782156499689518687773073225036350173236803056993775450342875080622403140146076454990886271100637877172088712899025553356747081645341086641033787744648987965054625561701728975399086492131725886860434292022351060524415229073511181083509791418234255099762420644960453116818 3418113750453243823582264464580029925574028259065412764038664763880096690231562726393470550161597025047826688076810901312299595428717934759520563506149731571490964584180539905502936433392571174274928578635505060735514931617461252597401543009014038362156673388903227181014813742766020500626526269004280891201999503097496563024762138633206053561769707871211830760635323263509055238841002070715117939871887935681504338069963395972364294714894550008443490094724578188044541772676286115560626232305195512890875204665221891551608604754526803952268371784835469517472822124006449961584098049010100263724168895042864384239119502381602301741181771906138183371456139861359854306887930828575205337843023883440373225245159713532230052353390226030186364837900540510775047547105546925224434016486423460025457753211553808648899675702569186679329867205923430166545410849393080185890606577296565966050159133238074999640760761548306589581718314717875070725407315019572384156291043307454157888648867781759298268961260474738803043927967625926398058897637741863908300424474253884537583484437122036862826316767167023172037768003729352059800073335516348085506636975840533622970298511965891912305529448763852391190960558085824609721417549517932312527327216548916714378253008646878370167409141511832046508767762219838873769142643906818675718631944461556204752848011382275048043722349017380862312463002886489507022156757383054838500469815228079269135003543461828877332711354902479432274650837117334342790386901247823845011084316994523973528802219404630421558738613876007177344070582187538649680053149974504385418012144732667213194693593203768788362691653192434617435328778626548288560555830294594105061610667519632158663926370989949256276182146770626170777558739707895920443361702677963906017821582330628861288826167753050129351679081260510656870201076127869866194342448931848023459964173671546444666785745628183047946568043616394659514321265371225814351025451067986212723984357245514089609924394535378768254283209217048970021033860574408016515736285033625490311260193590556859877665341698661059685219892064875140763242476425640447627136982085658272654367680397091300786282175878785227504029528039234673338094764259556644757896881834264802279289770679588945587501848119223990417496249862950217172769585866971301152236424124092078548582008504544493280532889476901411452775773169469634339023573825252937848997970952447836744647732269877566397588189975826762046194864984386052368668526679152739856472868189023536195593395402231683517147660019705515205138785187410059937778806746876384573900164410873107702222097217036615055525408444874148455519514567645977557764348754112509434299831458060552877405544553609356073379248123741396200217988953464504250240848524673646295332948489821750092637587525161971686494891021215518735373687142226604333965897848277390518285683087224224675922181714374571942066086786287637975290257721574085597547487796654396334627358501195548535104384948498205031200459899088353782882583592369197352410020676454649506344829209712072191551056040018244895350335909812321783283468857773862436792456155806621115948412689307611096578918721936506230643530474644682206725688535337851900895451456044587328151984933780706849377978661094736155237944107808532113879589527178892618844623060584193393187127122977026037588659247324472641257139023070156949389625402617128810697007771786459572005023293669965135259864137226517749146439964230953673072435339982841455413250903280689460429112194571785115106480077263200476092243519069659455301046799376438864130390829 5530624225646724803449326097594159488564311763741503092187747568446076693654222197201170931750430451672649308532047586890671473296951655509803031828796908432721179604166908331740769703616371075214553177132038413342237012069484919657096518969430125842075835948904621324943595983795941066169559680180705969714268743767242616446476843791433416662726540208205196901280034457434047449097561984856703858029896157781046436341819424528548469883599970887340856142295593145953608414260668367030449814029901607266013161614329168041179608053663506564432502943743766221225023235168869011461798484480474936644841290256360389728877157947844976725610622417500028246543409981319887569592828156561580505234253652667503400248163157876428067998466430390586646640298832591528086650506537637960362598046276387540970806867798755277178752596675689646133718745252889228373843660515919420488142906191260767990152277073504536275719683863776492045874056931092275795733992515715716706466403427516961004314112154538262714822344918083296619080548211959777640572840170698658681008607502003841873672837275385079049038116167151174562317192080435047443568325176204111924250861465709517222778471475865911131915624809405707098859998638470031128343329767762586666715140822190885126401676318939729969243690724416152722989269141584572150254013392531534980304502132397993134698633639103501913008721180770059906035958254114339792044881227899862559508886333652503501761645352080064464195278968517827386864745930595049200404652069825549332438907884487199285017692686908940188969013154232608624133431033124153103313752145336235729448975552841485498063854977415575157979301446530558165863617244541018814898358706072772669872951253172641790984766795123814313008900919226050344198472330042668411482524319655748329092386755666762502998413385176987665072109381616275174068342512904578806836999449738667378417313089524670645343771975036685053922464728723904215882898376654191833085219954321522142619209417354000397657875704007822791554761468227516836303181401007569433320572991745359267885663260751157316237771417626521536513057524796116934987452949594617419280043035580622838096008057582024089070678507753036104941909075271331786666228926666564080617841289509079508421062308325588040982495022555111708169720299044583603573381978743706382891549903151407459579606366851416488864717179076114212682678465109033861122667194847719900522311693496021448519227524026476699359549899338578976852387725197125928526057194452615044474001987157072336633399726471897264332449849768251993565387338166209048358125301150461097133313025618522947155587702172558373424952141890841636051886387384126808324754454671926279193720774146904296774953445681983478002514524106716714182870280597620236572339167455955584973989577387235350049683722606398269928237708941109057267352226629193321948483660236920754941173142058636586790676007087300523572209625659908286482861764655737252603744986451893783937751608304420266237074945993375411207344732047578200708595452250467448245248123908931127651697031553514465023099099053374277817628596519624990319018845998990209864966459941933838406302229912531613595202125916508288005710647859218986247700683640615140086436519107786105256809564400865569141035384908501690742695236022066458175047823507436287571282202366349892876645810750099262625009420561275698250914473413032030012028542763205265687894042887097449177112006568990688616611218871858835787473751975602661037489965544543184388649989772821186315972628863807466167004492492273987273327028861077689556146561797083824583507647 8948737976099968627031590562174189414138340022806915856226412332326173383885784923594641481912027476720475996608858488202971068725669590269323595334946640004212144188347448237243706137008942249489481755767543474077751943686946172254498061978444164204232509337807848505958409726561961566796085949184986860916268246864739179471238982424639470224496248079417027661915357720943102687938564055571821797901784093462550774411782820500912764598494520895784346237020171333998150186936954482591076046335097120156888366279551059592788212808190310516700874728579235738697845359175318973045896533490575200369010185299224773967996660329447278466792394323638211617999549842679741876480758985136785843077277536107876625493322871408658120351856656420773011478199373102303134197612084563184796614532699847566428560079352563926078428299244876325463585951176319394919254509908999606378749483487826734040311410311579535916480445412083081627592371648967346521141307535288100862757446734971118892962979936297560983783605392822099663008515837886175699470477912562566981433081755888379457157274397421941875354883334174346600085195809787107243641660692552197430887837306243140193076983441757823437445073573258098289820556724294640849760879285694899194042357371107599504654684965818100136652832236248199231757031361423445919396657299350210698936446593954197887546645021378549956731070198150922218498961140603846814201638610954701059978701561731772636765188813908941796906633870997259661515583047929391990791553317649394343523224879011172813819912091539361747707627030239785968204013220662802783366902119840621147461120285508698692757448181184363520670954638965175601192395871089307375454189000666877731483618772804800454911137785073070589191047689852221121757212037938588854844226997619654346913969086295623791824581138227117016751190642126932044269418640774445001179448381586690838381486761071115312129517603219733000490508345118563730204163747880006184110671022307734866603566662868090007582270239386591045837970685276486857337041975415585949056858025370849579145856851308017193903113116287581221732949589671257698229929375235065046417025121238895492463688454673324875352854386538263608971437114506005124760993186223208838514723123773881787710832987914533628484343141779102125665970161994800776342967845715007535127974027243486008161614871395909769397606655977525665458451634578668200146241020100657749520282645943858193166959793904043096947739875165341023047252709583178297194583873605354900946870176180608532226795128703580781480109869473767198704172525576268986136932048026845671033477436491630649377684919209173428950360586764990091571400955030104366089103208784435713493552232207457174180497999291339551381762647848112914400859234062124486813187692129601880306938067208985442687271247768369956423128730156627792641039368855797655914381508514311273226856229282861262712857721461872465638296411947546261773119486229822850151232783106290118565110109499968801341459894491580442407804631135931983591179044619664800655268800363580633996526241265586656574155139071619173167964506331946773602487703772852646657422615748554954354714919220142710174120847853014518649241122503901192973389218978467040981887975152373433408794498181572418519014046003237845980639343830598572054637350686328906415905262950543286063772933727125300213668667885748339508053496483188979401653945380334076384901814673557021182135300238955823876475356098376584933913716206556334109925305527384639801900893053510646745084823435592581273484569755474463365570547930737144857193361173522688713898476 14479362201746693430480916659768348902702651786548418948414159900772250077540007120795812413662457928393125305140906075093642542022621245779126627163743548436933323792514356568984475840625313324704034932899581887419988955756431091911594580947874290046308345286712469830902005710357902632965645629365692830630536990631981795917715826216072886887222788287622224563195392178377150137036126040428525655931680251243597210753602245029461234482094491783125202379315764479951758601197622849621525860364998727422901527893880227633967820861853817081133377672323001959922868594344187984507695017971050137013851475555585163696873818277292255192403016741138239864542959823999629446073587141698366348311531188775380025741486029285086188350323086811359658118498205693831220848118622201145159212578976235107399366947151319203257180895920565971597304696429208623293098170424919026866892389679087502030463687385084072192200129275859573673466428580059622316875300051003817569223850162488079897277092090835823698605950310905396282089064049845953340043318083261225662441689257892221330830111672807020924392999501325521162402387890222154687209985868756309355138698771952657415855454917623734569360698382663805388680555362764671978104209053457485860757498193298484631056361284757830105896522960664351954746300503008018069650670691881745679240948726352191022245278660482051869739791378920982124534919394718186606246519838854563619487587895384276138526834165989006261101912839515087048380328978524441191196205387474943675962132763498372098837604778448301936676640184472394592337444253786955886680654265176856876910095838350184190821303158599938678650256085495733767056013115630326190352547706739650401356570025977442245895904580196884902199948609078271465955684367981257266326751317275402676006355841962386294822994523404104681823300023743207218337761153679023808016447831325358216798799850595785957473289578256418054412973073842467946087062124534198017195890976629257009222776080222090405240145943394413837392732153504003693640223376423155382377431017116208847031520112059174510140884533914102758246007114467374633217382324829682465697068156819518330559696512255348964423532894291299713913346189777336911427222112889772919132564413282961296131895296240121669466838164334213833835690461039384379916349824458713918019523930394893467741221238247326258262323835053639878141130099687702061268908214948377650042594339439879641686187317930519796307289774503919999899640434780304225720641068057969945420872163337680868860194855175478045812559719242019192269559863742478034495057349177306768166790462110153596533272621381731802375312728655831727623287342414231174413857663456361992687273006354361470955451444973323029384277171954829628583729514659744723385526859585557465280927644596220792736954970374768226351366439097736849908391595484990977862865168751232028168029371341497849503533728549172989210506037607454548255981250885560102754977769558183902502861717804389067578534840484955853615149363183510184299774496870132248900516924272511761648223272819101121597254238124993450985593102851571763921506549771842856522389075690488792761017149132674323769322973769522806654951770363120179221089902619082181068324494260159538665604062582437987660049430911739536723334579852665030229685174193765193987187465316893178940418744477224562838678088447024037758967969896221009413682488143539342072795857560654470359247306807946512493086574970235420721387468182158995147415271071927824190550882826331833061057452299400047440489062247748450638897576791814834413339922970606513297406123 23428100177846662057512507221942538316840991809355334804640572233098423461425792044390453895574485405113601301749764563296613610748290836048450222498690188441145467980861804806228181977634255574193516688667125361497740899443377264166092642926318454250540854624520318336860415436919864199761731578550679691546805237496720975388954808640712357111719036367039252225110749899320252824974690096000347453833464344706147985165385065530373999080589012678909548616335935813949908788134577332212601906700095847579789894173431287226756033670044127597834252400902237698620713953519506957553591551461625337382861660854809937664870478606739533659195411064776451482542509666679371322554346126835152191388808724883256651234808900693744308702179743232132669596697578796134355045730706764329955827111676082673827927026503883129335609195165442297060890647605528018212352680333918633245641873166914236070775097696663608108680574687942655301058800229026968838016607586291918431981296897459198790240072027133384682389555703727495945097579887732129039513795995823792643874771013780600787987386070228962799747882835499867762487583700009261930851646561308506786026536078195797608932438359381558006805771955921903678501112087059312827865088339152385054799855564406084135711046250575930242549355196912551186503331864431463989047327991231956378177395320306388909791923681860601826470861577071904343033880535322033420448158449809264679466289457116048775292022979897948058008546710512346709895912026453833181987758705124338019485357642509544912657516869987663684384267214712180560541457474449758670047556385017478024371216123858882883578751339784302199321210724460909368248408986719633565806736707406528132840188798782242700807042365269955491390996298930492587712896405919846121170978314895057022920324928258010086647575661631221698574490665870139262607179794453468809195896212912049055180286611666901269602807181476151054903481418961031676291225872414204201306561998936991875826342743090180412822416182781004883230702838780490550977265351838741331434289042487058426177376963367191704043997650201683979978956704138632331447311700064747512114093278058413823023384966928673839776387280829563322884783304283342036188215299112981757647287537056843083842728284154655297951181306113315959501660623034185156259317670173721453147497957638379475902836109643236027659930491031165543599581734266370261415149235049035399562876985383737834853147111834562893255029649669261022946893144363482522915224941663324846367742339518289401086989983879058827292669588715786390973732389318747020631989397204152439200267898601784245910957540590905231325673315420821819194688297444335540502960872240797706180825238561818645135949444264662580766039819802942542984588748721869210198714551715159345587865711805206235424226218143138182774495169254364642549430964340788633777246677265543301394885600624359112216391450011045454848802449555000810029100737115382952906210552664474021067971827304357868919994734976536296022953994319442167890953541489797049555785724636092395644749514084687778171409377196612624153557609183518537523994253544695503179811691439043747115732068352817033943443821622537325304192892867021372194479121597549222050212469412532972074398560764010406179063476914977382703973923683263602284322524880094100403092728267436465004191678204349863052346756332772377267021466379409988815336433523873418457697672234211491541382607046902336369561931068612005655301184388715329257340576599312463992451775879842479806142275734992628713973632003222914004468124722551979270533284144129202011304599 37907462379593355487993423881710887219543643595903753753054732133870673538965799165186266309236943333506726606890670638390256152770912081827576849662433736878078791773376161375212657818259568898897551621566707248917729855199808356077687223874192744296849199911232788167762421147277766832727377207916372522177342228128702771306670634856785243998941824654661476788306142077697402962010816136428873109765144595949745195918987310559835233562683504462034750995651700293901667389332200181834127767065094575002691422067311514860723854531897944678967630073225239658543582547863694942061286569432675474396713136410395101361744296884031788851598427805914691347085469490679000768627933268533518539700339913658636676976294929978830497052502830043492327715195784489965575893849328965475115039690652317781227293973655202332592790091086008268658195344034736641505450850758837660112534262846001738101238785081747680300880703963802228974525228809086591154891907637295736001205147059947278687517164117969208380995506014632892227186643937578082379557114079085018306316460271672822118817497743035983724140882336825388924889971590231416618061632430064816141165234850148455024787893277005292576166470338585709067181667449823984805969297392609870915557353757704568766767407535333760348445878157576903141249632367439482058697998683113702057418344046658579932037202342342653696210652955992886467568799930040220026694678288663828298953877352500324913818857145886954319110459550027433758276241004978274373183964092599281695447490406007917011495121648435965621060907399184575152878901728236714556728210650194334901281311962209067074400054498384240877971466809956643135304422102349959756159284414146178534196758824759684946702946945466840393590944908008764053668580773901103387497729632170459698926680770220396381470570185035326380397790689613346480944940948132492617212344044237407271979086462262687227076096759732569109316454492803499622378287996948402218502452975566248885049118823312270818062562126175418720623434992284494244617488728261896713811720059603267273208897075426366214184882184115786738224963818606006964664694024894429977811161434877932153583081479184022804199920175120863036798129494060678947615437412002754676779851950339804379974623580394776967418019470447529793337351084073569536175667494632435371167021888033272943644057347890562285922254326084805421740711833954072322684057449997413049605471324823617476539334429765082689562319424173181022846533579143786748635866009721294791788614502855970269947184839054536873105229307957805583243292253061225055127046746381459207367058360711937842444230161972637033700986044076653546817975639858566714916818535697159698868098244916180116091400889237985610150316991757772171568318263381613933584241411300716810868793356401427028161181188517906409125861608352101492457822559825779611640111846016775329562914971965856961719925178560218444059308487162455358285081988000943055661188322222657923570833545108746936498529575461492149638103357502952352190728038359929298456302648908604157292972786903788899768663615321606075139150712035090301445500803316538359702200767129532539876749217485491357712766795392060131959144663230141551415569024216631403118536963672692510740002623346448393839112907826716919427308503535928632514007699073859294390280193584329643944610422681574425891024844779796415025989436275630998229018921667412760530493529794865961900629913854848848862648506038847426376688652570874324404755847671240288183002658706174312867199728034392676154462694250971364643365701514366813683873207114735715308710722 61335562557440017545505931103653425536384635405259088557695304366969097000391591209576720204811428738620327908640435201686869763519202917876027072161123925319224259754237966181440839795893824473091068310233832610415470754643185620243779866800511198547390054535753106504622836584197631032489108786467052213724147465625423746695625443497497601110660861021700729013416891977017655786985506232429220563598608940655893181084372376090209232643272517140944299611987636107851576177466777514046729673765190422582481316240742802087479888201942072276801882474127477357164296501383201899614878120894300811779574797265205039026614775490771322510793838870691142829627979157358372091182279395368670731089148638541893328211103830672574805754682573275624997311893363286099930939580035729805070866802328400455055221000159085461928399286251450565719085991640264659717803531092756293358176136012915974172013882778411288409561278651744884275584029038113559992908515223587654433186443957406477477757236145102593063385061718360388172284223825310211419070910074908810950191231285453422906804883813264946523888765172325256687377555290240678548913278991373322927191770928344252633720331636386850582972242294507612745682779536883297633834385731762255970357209322110652902478453785909690590995233354489454327752964231870946047745326674345658435595739366964968841829126024203255522681514533064790810602680465362253447142836738473092978420166809616373689110880125784902377119006260539780468172153031432107555171722797723619714932848048517461924152638518423629305445174613896755713420359202686473226775767035211812925652528086067949957978805838168543077292677534417552503552831089069593321966021121552706667036947623541927647509989310736795884981941206939256641381477179820949508668707947065516721847005698478406468118145846666548078972281355483485743552120742585961426408240257149456327159373073929588496678903941208720164219935911764531298669513869362606419809014974503240760875461566402451230884978308956423603854137831064984795594754080100638045246009102090325699386274038793557918228879834317470718203920522744639296112005724959177489925254712936345976606466446112696643976307455950426359682912798344020983803652711115736434427139487396647463817351864549432265369200776560845752839011707107754692434985164806156824314519845671652419546893457533798313582184817115970965340293568220442584099206685046448449168348310207355311392481541599645582817349073842442045793426723507269271551090951384619638156356842374259671034174822933595700397898896673591974217024642379972075759036143585611646567326259313722088355187702563542265026659359497475366012663937302902255419779407937957405048923483477998761227350333502648190916356811560714714552907012103483143782955963015876156456659068206633263585407406661044591900356777606466135007253524166568245417358523282318630957800572590216073936316628571263898908110936717456168314182725116326008567398874887131944638805372413104805418524310438028445661057351822394520081681579849726348012088373544696552937722300988476677940072992518218699292708321218608838969495056861233862882012458568576286992481285838308391656210617014597457263337556097162923610048145814180625168749433085225482814401184110458800018176384741694302131282427219192234798330223953953394793372921851766108948802100885924288943371601112568792293010902655040987044355355191286178988191202029077453442012520901751185232210437107459432031989836959589653662096424270552752175454434586016792673342003769385304868436326254194278647833826236918792954406491258864917320015321 99243024937033373033499354985364312755928279001162842310750036500839770539357390374762986514048372072127054515531105840077125916290114999703603921823557662197303051527614127556653497614153393371988619931800539859333200609842993976321467090674703942844239254446985894672385257731475397865216485994383424735901489693754126518002296078354282845109602685676362205801723034054715058748996322368858093673363753536605638377003359686650044466205956021602979050607639336401753243566798977695880857440830284997585172738308054316948203742733840016955769512547352717015707879049246896841676164690326976286176287933675600140388359072374803111362392266676605834176713448648037372859810212663902189270789488552200530005187398760651405302807185403319117325027089147776065506833429364695280185906492980718236282514973814287794521189377337458834377281335675001301223254381851593953470710398858917712273252667860158968710441982615547113250109257847200151147800422860883390434391591017353756165274400263071801444380567732993280399470867762888293798628024153993829256507691557126245025622381556300930248029647509150645612267526880472095166974911421438139068357005778492707658508224913392143159138712633093321812864446986707282439803683124372126885914563079815221669245861321243450939441111512066357469002596599310428106443325357459360493014083413623548773866328366545909218892167489057677278171480395402473473837515027136921277374044162116698602929737271671856696229465810567214226448394036410381928355686890322901410380338454525378935647760166859594926506082013081330866299260930923187783503977685406147826933840048277017032378860336552783955264144344374195638857253191419553078125305535698885201233706448301612594212936256203636278572886114948020695050057953722052896166437579235976420773686468698802849588716031701874459370072045096832224497061690718454043620584301386863599138459536192275723755000700941289273536390404568030921047801866311008638311467950069489645924580389714722048947540435131842324477572823349479040212242808362534759057729161693592972595171114219924132413762018433257456428884341350646260776699749853607467736416147814278130189547925296719448176227631071289396481042292404699931419090123118491111206991437736451843791975444944209232787220247008375546176362791181324228610652659438592195481541733704925363190950805424360599504439143200776387081005402174514906783264135043861498773819635030972787931815971364728272379668498015623068639960302651056020186956961105914429944971345230229940981359661988132573503128204631397557460316895441197130886082889967070853934384620025659930799417864536179298727645403574128912830639577161468970336597943635117103917021728394178877318751222740633801066673803318486886121225275485097077367197374316592967325452424608060291746588595178951001026218385958567627465076083992347857057470369299093960520715544556073035656241807131482342967419423879911526599264713117269064228587197109789868209638917521851741917053885899520595299160709325346872272409618209655646468391022453300710230695087892265577708736607839824774431859033253699140414995860177772222584213225698108826869230503323799749368977412406657589222482219327304475025617170030812028287286396757917993554403807456907193857289292568411221558590930755120867312337923027812689183653115436095752893412523567498714834396445892365207319000338930671985273374276858698939518684731823943415342642434756600034094858943146306858408678489530463978066852271941793040358457093292191105540541731803777981022899020505165643291199527751285606638279698373600632628726043 160578587494473390579005286089017738292312914406421930868445340867808867539748981584339706718859800810747382424171541041763995679809317917579630993984681587516527311281852093738094337410047217845079688242034372469748671364486179596565246957475215141391629308982739001177008094315673028897705594780850476949625637159379550264697921521851780446220263546698062934815139926031732714535981828601287314236962362477261531558087732062740253698849228538743923350219626972509604819744265755209927587114595475420167654054548797119035683630935782089232571395021480194372872175550630098741291042811221277097955862730940805179414973847865574433873186105547296977006341427805395744950992492059270860001878637190742423333398502591323980108561867976594742322338982511062165437773009400425085256773295309118691337735973973373256449588663588909400096367327315265960941057912944350246828886534871833686445266550638570257120003261267291997525693286885313711140708938084471044867578034974760233643031636408174394507765629451353668571755091588198505217698934228902640206698922842579667932427265369565876771918412681475902299645082170712773715888190412811461995548776706836960292228556549778993742110954927600934558547226523590580073638068856134382856271772401925874571724315107153141530436344866555811796755560831181374154188652031805018928609822780588517615695454390749164741573682022122468088774160860764726920980351765610014255794210971733072292040617397456759073348472071106994694620547067842489483527409688046521125313186503042840859800398685283224231951256626978086579719620133609661010279744720617960752586368134344966990357666174721327032556821878791748142410084280489146400091326657251591868270654071843540241722925566940432163554827321887277336431535133543002404835145526301493142620692167177209317706861878368422538342353400580317968049182433304415470028824558536319926297832610121864220433904642150009437756326316332562219717315735673615058120482924572730406800041956117173279832518744088265928331710654414463835806996888463172804303738263783918671981445153013482050642641852750728174632804864095285556888705474812784957661670860750624106796014371409416092152535087021715756163955090748720915222742834234227545634130925133099307609327309493641498156421023569221299015374498289078921045637824244749019796061579376577782737844262958158913086623960316747352421298970394957490882470820090309947942167945238328099324297512964373855197017571858065114433387026158325291738047912490534068101328187604489612015534484921728273901027101304989531677341537821169206645119033552682500501710879339382019154605567099721563754304763071604278843303514464371225756377351573074508965945211872177638546101556243281991983030614879201600674132287588580221150153337332469123782111492814693555331996001839995592926575163565033762472329608158916102474828892581412591478516117146289109592558435702746241875530360597367694913447438233595072795986071996921812848444289934956547335578196337549040960218061147741392354091198059381994480479395997997263168417388880742255648809600358043473724567354472307979384490917039006085466225684266685113861711789162108141025188029421255046485819775424467398635665315844992653456035829843143476368804991567365993875465677310105523689873357974313102110668146981766083977026037287861861842214624453423003777768047004933999612011241585712972317729632049985118506875933853020868784654955658351219327069380253766290440668326490053631728948696212345792533911527878207898213883735573163285891335346759359921939033353988204399592686189632465549948741364 259821612431506763612504641074382051048241193407584773179195377368648638079106371959102693232908172882874436939702646881841121596099432917283234915808239249713830362809466221294747835024200611217068308173834912329081871974329173572886714048149919084235868563429724895849393352047148426762922080775233901685527126853133676782700217600206063291329866232374425140616862960086447773284978150970145407910326116013867169935091091749390298165055184560346902400827266308911358063311064732905808444555425760417752826792856851435983887373669622106188340907568832911388580054599876995582967207501548253384132150664616405319803332920240377545235578372223902811183054876453433117810802704723173049272668125742942953338585901351975385411369053379913859647366071658838230944606438765120365442679788289836927620250947787661050970778040926368234473648662990267262164312294795944200299596933730751398718519218498729225830445243882839110775802544732513862288509360945354435301969625992113989808306036671246195952146197184346948971225959351086799016326958382896469463206614399705912958049646925866807019948060190626547911912609051184868882863101834249601063905782485329667950736781463171136901249667560694256371411673510297862513441751980506509742186335481741096240970176428396592469877456378622169265758157430491802260631977389264379421623906194212066389561782757295073960465849511180145366945641256167200394817866792746935533168255133849770894970354669128615769577937881674208921068941104252871411883096578369422535693524957568219795448158852142819158457338640059417446018881064532848793783722406024108579520208182621984022736526511274110987820966223165943781267337471908699478216632192950477069504360520145152835935861823144068442127713436835298031481593087265055301001583105537469563394378635876012167295577910070296997712425445677150192546244124022869513649408859923183525436292146314139944188905343091298711292716720900593140765117601984623696431950874642220052724622345831895328780059179220108252809283477763942876019239696825707563361467425477511644576616267233406183056403871183985631061689205445931817665405224666392425398087008564902236985562296706135540328762718093005152644997383153420846641832957352718656841122362869551151401302754437850730943641270577596845191737289470403149656290483683341215277603313081503145928795068382519512591063103517523739502304372569472397665734955134171446715987580269300887256113484329102127576686069873688183073347328809381311925004873596448498046299532834719552996894146909860847404155305936387089137658433262366337531201923519753354436095499365041949954023431635900862481950166645733191673943091625840196092975295208191612882966940266356515864852778983915793049704418197688486795357563073677298517350711649062091107563917422753847078584597018946593952793549523601389937405692151263959532299261880506551999231661702362145248800242834228584842949784477279221512712151350864137024573269106711681058083207456808289252632082237069636259378770473088264626500816269037640948870418451297973399112476773007833357546208197868248156426387726007119799486777216778308050438909964793940730942292485907890394165441827912635708301994751771873661282485875804681743322226601061469923208799024273187732754969878516745248464288729433969423006070009578773160679152723957614735627148020921718612164492897299206931011580516384957591103908908684058025560665676964284127297390414951253421928323400073148849346816020517609795800968154138832892368621170399003754425467376941266914234367264525565230232881739490006230965888006066182577467407 420400199925980154191509927163399789340554107814006704047640718236457505618855353543442399951767973693621819363874187923605117275908750834862865909792920837230357674091318315032842172434247829062147996415869284798830543338815353169451961005625134225627497872412463897026401446362821455660627675556084378635152764012513227047398139122057843737550129779072488075432002886118180487820959979571432722147288478491128701493178823812130551863904413099090825751046893281420962883055330488115736031670021235837920480847405648555019571004605404195420912302590313105761452230150507094324258250312769530482088013395557210499218306768105951979108764477771199788189396304258828862761795196782443909274546762933685376671984403943299365519930921356508601969705054169900396382379448165545450699453083598955618957986921761034307420366704515277634570015990305533223105370207740294447128483468602585085163785769137299482950448505150131108301495831617827573429218299029825480169547660966874223451337673079420590459911826635700617542981050939285304234025892611799109669905537242285580890476912295432683791866472872102450211557691221897642598751292247061063059454559192166628242965338012950130643360622488295190929958900033888442587079820836640892598458107883666970812694491535549734000313801245177981062513718261673176414820629421069398350233728974800584005257237148044238702039531533302613455719802116931927315798218558356949788962466105582843187010972066585374842926409952781203615689488172095360895410506266415943661006711460611060655248557537426043390408595267037504025738501198142509804063467126642069332106576316966951013094192685995438020377788101957691923677421752397845878307958850202068937775014591988693077658787390084500605682540758722575367913128220808057705836728631838962706015070803053221485002439788438719536054778846257468160595426557327284983678233418459503451734124756436004164622809985241308149049043037233155360482433337658238754552433799214950459524664301949068608612577923308374181140994132178406711826236585288880367665205689261430316558061420246888233699045723934713805694494069541217374554110699479177383059757869315526343781576668115551632481297805114720908808952473902141761864575791586946202475253288002650459010630063931492229100062294146818144207111787759482070701928307928090235073664892458080928666639331340678425677687063834271091923603342964429888548205775224481394658155525507628986580410997293475982773703641731753297506734354967706603663052786086982566147627720439209165012428631831589121305182407241376620814999971083535544176320957072435854937806378704423969108628998735622426236254929717337470517246606090211421849352646781266121848912152138534154410954335227197785032735033076890087469489850662257519667504048981531214889675410237447402410580598858942186879368713088635152409735300310180062007128154461919143477747778848651254841358678536974826718480145074646916426159589584459209820559341103633493906527497391764836588210278574618677219596831620829656980592014328419635429349814449295236567529865653750089006355808555911721880993742198315099183977694255784393516664594231479054592654081648016031419353471249167682194121770176239272296947801720797335199358056444204946292013790591639181608220647188622268938337646703747071533674216991344857137705190011819476577841772474344722389932539902233206543022822102097929908833540958669176532436599529985152911952346073302472748997703653839439290015142510571241524749664366484625426280149048606901968309202950104552805569714023885487169266235727694405823652077638531732526208771 680221812357486917804014568237781840388795301221591477226836095605106143697961725502545093184676146576496256303576834805446238872008183752146100825601160086944188036900784536327590007458448440279216304589704197127912415313144526742338675053775053309863366435842188792875794798409969882423549756331318280320679890865646903830098356722263907028879996011446913216048865846204628261105938130541578130057614594504995871428269915561520850028959597659437728151874159590332320946366395221021544476225446996255673307640262499991003458378275026301609253210159146017150032284750384089907225457814317783866220164060173615819021639688346329524344342849995102599372451180712261980572597901505616958547214888676628330010570305295274750931299974736422461617071125828738627326985886930665816142132871888792546578237869548695358391144745441645869043664653295800485269682502536238647428080402333336483882304987636028708780893749032970219077298376350341435717727659975179915471517286958988213259643709750666786412058023820047566514207010290372103250352850994695579133112151641991493848526559221299490811814533062728998123470300273082511481614394081310664123360341677496296193702119476121267544610290048989447301370573544186305100521572817147402340644443365408067053664667963946326470191257623800150328271875692164978675452606810333777771857635169012650394819019905339312662505381044482758822665443373099127710616085351103885322130721239432614081981326735713990612504347834455412536758429276348232307293602844785366196700236418179280450696716389568862548865933907096921471757382262675358597847189532666177911626784499588935035830719197269549008198754325123635704944759224306545356524591043152546007279375112133845913594649213228569047810254195557873399394721308073113006838311737376432269409449438929233652298017698509016533767204291934618353141670681350154497327642278382686977170416902750144108811715328332606860341759758133748501247550939642862450984384673857170512249286647780963937392637102528482433950277609942349587845476282114587931026673114738941961134677687480294416755449595118699436756183274987149192219515924145569808457844877880428580767138964821687172810060523207726061453949857055562608506408748939664859316375650872201610411932818369342960043703564724414989398849077229885220358218791611431450351268205539584074595434399723197938268750167351794831425907715533902286213940730358652841374143105776929873836524481622578110350389711605441480580081683777087915588057659683431064193927253273928718009322778741449968709337713177763709952658404345901881707522880592189209373901878069465919062652430371523288718205096363070662191189697716051617942327941989457734731879092404890670275807114211113578082439451274578574264847413735934818184854760630593305997239327660201249489165195877888780832162262612236542347140992461444021539427416342425695476979440551013400090158921371203411561429929551926137938871740935323346845132610210345174964610704848573125840842360811688313478975602093917921607092830597457276378220232900593209966642342426757922363902016753779970037420129924322218983464471472562701567103504196272995323596374133923921813518913077080317902423764928011145958230287596602016942680283045266416215222589615912369340975617067139014186801935433181040956680287000923630298384342735777091313468920495266441002097032799532413474034402618482887499937449867353234557997265206949437039249736488253726170926027053912588139361958531088851320550632520623458318648770219005905722734670327045819719804081288411052399499117467184412054617965644597915103676178 1100622012283467071995524495401181629729349409035598181274476813841563649316817079045987493136444120270118075667451022729051356147916934587008966735394080924174545710992102851360432179892696269341364301005573481926742958651959879911790636059400187535490864308254652689902196244772791338084177431887402658955832654878160130877496495844321750766430125790519401291480868732322808748926898110113010852204903072996124572921448739373651401892864010758528553902921052871753283829421725709137280507895468232093593788487668148546023029382880430497030165512749459122911484514900891184231483708127087314348308177455730826318239946456452281503453107327766302387561847484971090843334393098288060867821761651610313706682554709238574116451230896092931063586776179998639023709365335096211266841585955487748165536224791309729665811511449956923503613680643601333708375052710276533094556563870935921569046090756773328191731342254183101327378794207968169009146945959005005395641064947925862436710981382830087376871969850455748184057188061229657407484378743606494688803017688884277074739003471516732174603681005934831448335027991494980154080365686328371727182814900869662924436667457489071398187970912537284638231329473578074747687601393653788294939102551249075037866359159499496060470505058868978131390785593953838155090273236231403176122091364143813234400076257053383551364544912577785372278385245490031055026414303909460835111093187345015457268992298802299365455430757787236616152447917448443593202704109111201309857706947878790341105945273926994905939274529174134425497495883460817868401910656659308247243733360816555886048924911883264987028576542427081327628622180976704391234832549893354614945054389704122538991253436603313069653492794954280448767307849528881170712675040369215394975424520241982455137300457486947736069821983138192086513737097238677439481005875696842190428904541659186148273434525313573915009390802795366903861729984277301101205536818473072120971773950949730032546005215025836856615091271742120756299671712867403468298691878804000372277692739107727182650454495319053413242450677344528366566773626623624747191517602747195954924548715632937238805291358328322446970262902330957704370370984540526611061791628938874852069422562882300835189143765858871233133605960864989367291060147099539521685424933097997665003262073731063876363946437231186065923349511058498332174762146505583134236032298631284558860416935478916054093124093353337194778086816038744794519251110445770413630341554973713137883021751410573039090014520120419140330767658375429437425883843837664625064311708256773889888171281429107145714954460026080408132708436303806263039791680588770723856580791244543424824686761449438311363115174484351468661734337264398192337852358809612124520886914737897648651899745794736830967711530975700871694756876292771624083546555570804344838954727219399664654931517599908178238279910074626573054365031330519782556665691951313978668871138202240337962429052639386306990698572433714747578587684844925876911807570047349888446534172208080508011370257825309691691918413872122637318167442165728347095083768098427752049916250455781939953232872384326248000096545535104250418255178089317399352142038339489471362507236380207551550949196264255761283125139582136928112490354503992268487436089532747596567891310692969611163392029572701765620017057224720580817408770990826022411090433864736934589951202082561556198919923730707752027429377101041660092845300296887108083744928919267612807691043873277150372525373795312296539568765353194878817878270043283129647629884949 1780843824640953989799539063638963470118144710257189658501312909446669793014778804548532586321120266846614331971027857534497595019925118339155067560995241011118733747892887387688022187351144709620580605595277679054655373965104406654129311113175240845354230744096841482777991043182761220507727188218720939276512545743807034707594852566585657795310121801966314507529734578527437010032836240654588982262517667501120444349718654935172251921823608417966282054795212462085604775788120930158824984120915228349267096127930648537026487761155456798639418722908605140061516799651275274138709165941405098214528341515904442137261586144798611027797450177761404986934298665683352823906990999793677826368976540286942036693125014533848867382530870829353525203847305827377651036351222026877082983718827376540712114462660858425024202656195398569372657345296897134193644735212812771741984644273269258052928395744409356900512236003216071546456092584318510444864673618980185311112582234884850649970625092580754163284027874275795750571395071520029510734731594601190267936129840526268568587530030738031665415495538997560446458498291768062665561980080409682391306175242547159220630369576965192665732581202586274085532700047122261052788122966470935697279746994614483104920023827463442386940696316492778281719057469646003133765725843041736953893948999312825884794895276958722864027050293622268131101050688863130182737030389260564720433223908584448071350973625538013356067935105621692028689206346724791825509997711955986676054407184296969621556641990316563768488140463081231346969253265723493226999757846191974425155360145316144821084755631080534536036775296752204963333566940201010936591357140936507160952333764816256384904848085816541638701303049149838322166702570836954283719513352106591827244833969680911688789598475185456752603589187430126704866878767920027593978333517975224877406074958561936292382246240641906521869732562553500652362977535216943963656521203146929291484023237597510996483397852128365339049041549352063105887517189149518056229718551918739314238827416795207477067209944914172112679206860619515515758993142547770316999975447625076383505315854597758925978101418851530173031716852188013266978877393289466275921108004589747053679834495700670178149187469423595648123004809942219252511418365891150953135776201303537249077857508130787074302215187398537860754775418774032234460976087235941787077406441737061488734253459960538632203474483064942636258666897722521882434839168105453844694535482226987066601031074189314489058723857833596904040720316779775339307591366718256814273685610134843355807233933859478669003672665122443478794899626001522314657734008530760181591312670336948315494962568563649424941197613935626047235999184678134127156037213570242717826884154065557849901388910990614719748543693238313108237104017285233068105085982987146770534431706659950678055021676521279381649841340004178499192303903071455105903510824561524323843835748907088911088269895000197995304177548035808665500194777675523334188185790280250481656500814550507265933734159842063471661955834002046959537150906637200909796650871602624025045239846829915863875046391297403328317998969300032261564213408376914001369084718622534737778722458969823463920290171881322900297311941517570109153447034790993192117734473875483373659204779613464877604394126605501298033491091627339063704908708440693375645648431129943884026990451819049809925090849757761664615568739059572748944165850929407731542063577689486618713413778543604196192245177876600707591968264470662063229932888008927727562733561127 2881465836924421061795063559040145099847494119292787839775789723288233442331595883594520079457564387116732407638478880263548951167842052926164034296389321935293279458884990239048454367243840978961944906600851160981398332617064286565919947172575428380845095052351494172680187287955552558591904620106123598232345200621967165585091348410907408561740247592485715799010603310850245758959734350767599834467420740497245017271167394308823653814687619176494835957716265333838888605209846639296105492016383460442860884615598797083049517144035887295669584235658064262973001314552166458370192874068492412562836518971635268455501532601250892531250557505527707374496146150654443667241384098081738694190738191897255743375679723772422983833761766922284588790623485826016674745716557123088349825304782864288877650687452168154690014167645355492876271025940498467902019787923089304836541208144205179621974486501182685092243578257399172873834886792286679454011619577985190706753647182810713086681606475410841540155997724731543934628583132749686918219110338207684956739147529410545643326533502254763840019176544932391894793526283263042819642345766738054118488990143416822145067037034454264063920552115123558723764029520700335800475724360124723992218849545863558142786382986962938447411201375361756413109843063599841288855999079273140130016040363456639119194971534012106415391595206200053503379435934353161237763444693170025555544317095929463528619965924340312721523365863408928644841654264173235418712701821067187985912114132175759962662587264243558674427414992255365772466749149184311095401668502851282672399093506132700707133680542963799523065351839179286290962189121177715327826189690829861775897388154520378923896101522419854708354795844104118770934010420365835454432188392475807222220258489922894143926898932672404488673411170568318791380615865158705033459339393672067067834979500221122440655680765955480436879123365348867556224707519494245064862058021620001412455797188547241029029403067154202195664132821094183862187188902016921524528410430722739686516520155902934659717664440233225525921657537964043882325766769171395064191493050372272338429864570230696164783392777179852620001979754518970971349248377829992886982899633528621905749257058582971013338331235282466881256610770807208619802478512990690474821201134401534914081119581861850950666161624629723926678124929832530566635738233741524921313438740368346047594670395439454686296598576418279831036753713761266676954090278551224258324877037200700204484052825599887528148738377954016044371487975155204776733475210555921439337997318391617245695405215288585814718627125148523886927608062305328577697525689119530905447893461581491740319649330013087736304312788419977515897733521942532319493889572379854842347771068803455498553288656785351550716255224214013979931860893578004692188632538557951115373386433879350342709953194121187559888121250078805072246668934401974888460176516512838302512706887109329249050698947639584302294876120469523413078782462520449211099993360327600370103034986758587773945104417667373163353874247874169596855318348802929256891734639701051777095156097285697803828279263681729576318095514835136511982468586466231400721226756962024209141229695350031015471239368145578661580437081099707037265937389294985460605170563408230970227096090306434488767786156178203063653508148852059644522317479431519398056738864994680818616941653901611366124010773488469416642998116160614409037011151226294839625808506608754231521104822416881346564770551671913004131537029823856942047811158052210857210363446076 4662309661565375051594602622679108569965638829549977498277102632734903235346374688143052665778684653963346739609506737798046546187767171265319101857384562946412013206777877626736476554594985688582525512196128840036053706582168693220049258285750669226199325796448335655458178331138313779099631808324844537508857746365774200292686200977493066357050369394452030306540337889377682768992570591422188816729938407998365461620886049243995905736511227594461118012511477795924493380997967569454930476137298688792127980743529445620076004905191344094309002958566669403034518114203441732508902040009897510777364860487539710592763118746049503559048007683289112361430444816337796491148375097875416520559714732184197780068804738306271851216292637751638113994470791653394325782067779149965432809023610240829589765150113026579714216823840754062248928371237395602095664523135902076578525852417474437674902882245592041992755814260615244420290979376605189898876293196965376017866229417695563736652231567991595703440025599007339685199978204269716428953841932808875224675277369936814211914063532992795505434672083929952341252024575031105485204325847147736509795165385963981365697406611419456729653133317709832809296729567822596853263847326595659689498596540478041247706406814426380834351897691854534694828900533245844422621724922314877083909989362769465003989866810970829279418645499822321634480486623216291420500475082430590275977541004513911599970939549878326077591300969030620673530860610898027244222699533023174661966521316472729584219229254560122442915555455336597119436002414907804322401426349043257097554453651448845528218436174044334059102127135931491254295756061378726264417546831766368936849721919336635308800949608236396347056098893253957093100712991202789738151701744582399049465092459603805832716497407857861241277000357998445496247494633078732627437672911647291945241054458783058733037927006597386958748855927902368208587685054711189028518579224766930703939820426144752025512800919282567534713174370446246968074706091166439580758128982641479000755347572698142136784874385147397638600864398583559398084759911719165381191468497997348721935180424828455090761494196031382793033696606706984238328125771119459162904007638118368959429091554283641191487518704706062529379615580749427872313896878881841427956977335705072163158977089992638024968376812028261787432900348606562801096714320977466708390845182105407536328923855399993318500073059483222467295420611483788559388929446656678103019412519427687271085083899789202017207462235787612948412208291934980116041066577274178253611682928526460601502639149148064483722299790270967365722507688306850892355259697650291087039206131918440055814611898576737161245510402355603563133732706620666446649926785950097560174655222869013348454677567775966270464798917452327088168964910863237760293718521545097885907818140539301020764974870642466941537962590082983571438972837473429994363687341074362626356542636016418160138968842639782297599053668505332078578977240195972545288179150607850851759535801309095039878838577509436635015830081876216556392469255440130166688385511303675802140395944115613667703325654979132904636094484135168773546681994843145402090311475584558946919952154319854479391529540026901561877749022617277146419384424085978652722905037283714343886300869919899366372180282783704361686999240479398708227226187872212773702387296124624702643932105720661176049101623246231081258566855220187157981177002155702571167872084298240850234518600960485542757015729548513711723505294294519005277744046061138584773097007203 7543775498489796113389666181719253669813132948842765338052892356023136677677970571737572745236249041080079147247985618061595497355609224191483136153773884881705292665662867865784930921838826667544470418796980001017452039199232979785969205458326097607044420848799829828138365619093866337691536428430968135741202946987741365877777549388400474918790616986937746105550941200227928527952304942189788651197359148495610478892053443552819559551198846770955953970227743129763381986207814208751035968153682149234988865359128242703125522049227231389978587194224733666007519428755608190879094914078389923340201379459174979048264651347300396090298565188816819735926590966992240158389759195957155214750452924081453523444484462078694835050054404673922702785094277479411000527784336273053782634328393105118467415837565194734404230991486109555125199397177894069997684311058991381415067060561679617296877368746774727084999392518014417294125866168891869352887912774950566724619876600506276823333838043402437243596023323738883619828561337019403347172952271016560181414424899347359855240597035247559345453848628862344236045550858294148304846671613885790628284155529380803510764443645873720793573685432833391533060759088522932653739571686720383681717446086341599390492789801389319281763099067216291107938743596845685711477724001588017213926029726226104123184838344982935694810240706022375137859922557569452658263919775600615831521858100443375128590905474218638799114666832439549318372514875071262662935401354090362647878635448648489546881816518803681117342970447591962891902751564092115417803094851894539769953547157581546235352116717008133582167478975110777545257945182556441592243736522596230712747110073857014232697051130656251055410894737358075864034723411568625192583890137058206271685350949526699976643396340530265729950411528566764287628110498237437660897012305319359013076033959004181173693607772552867395627979293251235764812392574205434093380637246386932116395617614691993054542203986436769730377307191540430830261894993183361105286539413364218687271867728601076796502538825380623164522521936547603280410526680890560445382961548369621060365044995059151255544886973211235413035676361225955209677374148949452049886907271646990865178348612866612204825849939988529410636226351556636492116375391872531902778178470106607077240096671854488975634538436657985714111025278439093367732452554718991629704283922473753583923594250839448004796671635901502298332174325245055236343019725207902361344289556628387475569136725389089545356200613741628992783696267090184892774541787830099692949680246918077847198044364436650298440926915419491252650115750612179470052785386769821992487099593499931796134261228589824897549823190775581079031466228563198766143816358329952402522426291672468847007966224561317821181054141666341068100825804441242452482351060103049001281204574418651363474928064763654501426083840161788643685641771875404882823863857587200928869249523125747409189667790279366599893929788974855491657759702716421756388172510935451221862570788067682813823942995176809798369704329750386153247787604243059423580120151004727579235552041401311471531604918660862480954189998970305285529150581309376802811538232546583156061181849669885494862768908172480223458186103716984183685321813380964113328075600691945314113396960226333855139966438961907425340507389331458352749543667303732171759126161119305521260873759622272542173112396734700497901564971380801567018188153381997410793680590906995081755623423377366889321786281220426715855042324118375947325555204113349441983460453279 12206085160055171164984268804398362239778771778392742836329994988758039913024345259880625411014933695043425886857492355859642043543376395456802238011158447828117305872440745492521407476433812356126995930993108841053505745781401673006018463744076766833243746645248165483596543950232180116791168236755812673250060693353515566170463750365893541275840986381389776412091279089605611296944875533611977467927297556493975940512939492796815465287710074365417071982739220925687875367205781778205966444290980838027116846102657688323201526954418575484287590152791403069042037542959049923387996954088287434117566239946714689641027770093349899649346572872105932097357035783330036649538134293832571735310167656265651303513289200384966686266347042425560816779565069132805326309852115423019215443352003345948057180987678221314118447815326863617374127768415289672093348834194893457993592912979154054971780250992366769077755206778629661714416845545497059251764205971915942742486106018201840559986069611394032947036048922746223305028539541289119776126794203825435406089702269284174067154660568240354850888520712792296577297575433325253790050997461033527138079320915344784876461850257293177523226818750543224342357488656345529507003419013316043371216042626819640638199196615815700116114996759070825802767644130091530134099448923902894297836019088995569127174705155953764974228886205844696772340409180785744078764394858031206107499399104957286728561845024096964876705967801470169991903375485969289907158100887113537309845156765121219131101045773363803560258525902928560011338753978999919740204521200937796867508000809030391763570552891052467641269606111042268799553701243935167856661283354362599649596831993193649541498000738892647402466993630612032957135436402771414930735591881640605321150443409130505809359893748388126971227411886565209783875605131316170288334685216966650958317088417787239906731534779150254354376835221153603973400077628916623121899216471153862820335438040836745080055004905719337265090481561986677798336601084349800686044668396005697688027215301299218933287413210528020803123386335131162678495286592609725826574430046366969782300225419887606346306381169242618206069372967932939448005499920068911212790914909765359824607440167150253396313368644694591940015841932306064364430272270754373330735155805811679240399073761847127000602915248686247501543925627045656168829166875696458338095129104579161120252518106239441323296744695384724765627594936728843795731949171864580464363702076056074746654220625178291562563662849529241941195904559025165008815608365104277946561363175444538448700683513584714782163226705690458618372623438919030362408045084420113079526305725418371851948873127166562058795333593131184642165198935183865212793743144280049962697081514541482195462643792337284091645853059118668156269790715304480212776069581648146887189022714957952384239902935406121442964046430244772215124614609348834877187551198661563555225792159142165569328636632919148897492983457480187570236736942912394301676351661543302073622106589376777853702781572686246433385534411626602709640256859683189590268505662308403381375947985516925139234930573639995385590284483105474059075832576152522204901849708131142102981134003989739974254298448199381785335935126334261330104706237466942766050980637975659657999697830146233221512146721745611787027506629810857060976769855175944945461513457243930223904805865342933718222214019980931579160131826600988724999365155537699981961552675205235931990142024337852432078802010768940427578547618412894952603299250174488026756557460482 19749860658544967278373934986117615909591904727235508174382887344781176590702315831618198156251182736123505034105477973921237540898985619648285374164932332709822598538103613358306338398272639023671466349790088842070957784980634652791987669202402864440288167494047995311734909569326046454482704665186780808991263640341256932048241299754294016194631603368327522517642220289833539824897180475801766119124656704989586419404992936349635024838908921136373025952966964055451257353413595986957002412444662987262105711461785931026327049003645806874266177347016136735049556971714658114267091868166677357457767619405889668689292421440650295739645138060922751833283626750322276807927893489789726950060620580347104826957773662463661521316401447099483519564659346612216326837636451696072998077680396451066524596825243416048522678806812973172499327165593183742091033145253884839408659973540833672268657619739141496162754599296644079008542711714388928604652118746866509467105982618708117383319907654796470190632072246485106924857100878308523123299746474841995587504127168631533922395257603487914196342369341654640813343126291619402094897669074919317766363476444725588387226293903166898316800504183376615875418247744868462160742990700036427052933488713161240028691986417205019397878095826287116910706387726937215845577172925490911511762048815221673250359543500936700669039126911867071910200331738355196737028314633631821939021257205400661857152750498315603675820634633909719310275890361040552570093502241203899957723792213769708677982862292167484677601496350520522903241505543092035158007616052832336637461547966611937998922669608060601223437085086153046344811646426491609448905019876958830362343942067050663774195051869548898457877888367970108821170159814340040123319482018698811592835794358657205786003290088918392701177823415131974071503715629553607949231697522286009971393122376791421080425142551703121750004814514404839738212470203122057215279853717540794936731055655528738134597208892156106995467788753527108628598496077533161791331207809369916375299083029900295729789952035908643967645908271678765958905813273500286271957391594736590842665270414946757601851268142453853619105049329158894657682874069018363262677822181412350689785788780016865601139218584683121350652068283862700856546647662626905233513334275918286317639170433701615976237453685344233215654950905484749536561619430415449967799413027052914704176112357078889328093416331286227063959769261973899032074968897072482825707991632684462222223357350567381107919863463270870933979600826115349901590150152934377639511043422362616295898727878021365080604153621109949871022739189531209832460830471189935072013405318918303648083134355756386956345156783906765721196665163747063978937559502610002365219507806213951042470610016898601912826907200785009224370616519745722665258420641751195888470227289376603747714831000169775944390130270406560858810256381224239760011415056248764484095041682267912978518304423198515497386913246455043061894496645628816058064524172478753295484677377444460667526724567863056231755238741376988862888044463926249013848625813313130960611500026918236610766535492300857866544474482075779344604983157461899007713387940677725259042315853659625469117067356371862008794121230051245513790028050847906879379056238667604972113094790372567076652113160707519212368014019142315413726313522479677117220639618363235745165679624965206260395326416715632077061696797981790292017553308919697392755233266112231013745765447715219321400588291989367143433589942531270899928854454287837468740017913761 31955945818600138443358203790515978149370676505628251010712882333539216503726661091498823567266116431166930920962970329780879584442362015105087612176090780537939904410544358850827745874706451379798462280783197683124463530762036325798006132946479631273531914139296160795331453519558226571273872901942593482241324333694772498218705050120187557470472589749717298929733499379439151121842056009413743587051954261483562359917932429146450490126618995501790097935706184981139132720619377765162968856735643825289222557564443619349528575958064382358553767499807539804091594514673708037655088822254964791575333859352604358330320191534000195388991710933028683930640662533652313457466027783622298685370788236612756130471062862848628207582748489525044336344224415745021653147488567119092213521032399797014581777812921637362641126622139836789873454934008473414184381979448778297402252886519987727240437870731508265240509806075273740722959557259885987856416324718782452209592088636909957943305977266190503137668121169231330229885640419597642899426540678667430993593829437915707989549918171728269047230890054446937390640701724944655884948666535952844904442797360070373263688144160460075840027322933919840217775736401213991667746409713352470424149531339980880666891183033020719513993092585357942713474031857028745979676621849393805809598067904217242377534248656890465643268013117711768682540740919140940815792709491663028046520656310357948585714595522412568552526602435379889302179265847009842477251603128317437267568948978890927809083908065531288237860022253449082914580259522091954898212137253770133504969548775642329762493222499113068864706691197195315144365347670426777305566303231321430011940774060244313315693052608441545860344881998582141778305596217111455054055073900339416913986237767787711595363183837306519672405235301697183855379320760869778237566382739252660929710210794578660987156677330853376104381649735558443711612547832038680337179070188694657757066493696365483214652213797875444260558270315513786426935097161882962477375876205375614063326298331199514663077365246436664770769294606809928637401099866110012098531821641103560624965495834834363948157649311696471825174422297091834105688373989087274475468737091177710514393228947167118997452587229377713290667910216168765220976919933381278564248490081729965558038244195548742976840368934030480717198876532530405705390786306111908305894542131632075824428630463318330651390161026670951829587364198702742827806918068937063290071693708740536968877577975745672670483526312800112875175505385140514910405758518038655586072406597807154744599411391606079862767380326800408489395362628450240194868875555610048151539711044336675500032007482922949015140490377037950363361864098930929191731302646890052327916589320755433237933253809235886004472760259903677380640407235050202878034490223399342775659250004334556131954733935575897387354176700651333073934870990573074637198966254910328039320833841410078547846941056117664394879896703935230632131233588541210359740875834022055369106783966821238521229506140549302665140773153003591572528301323609438604117131475621534341987448012435161750001466065940853252134758965181253403680815733614421212615237648808867362023449857649365443371365804571243794130056356385506843894734288314849645430036876643264630112792620518800298164259882453130999395520648953172474703083377655622062682153075607165969070485490308139978617540436696563656221828624582779017016918464457397374716785941317466945735907472053071753479390302758307571012137560944165852532153704462325495496575374243 51705806477145105721732138776633594058962581232863759185095769678320393094428976923117021723517299167290435955068448303702117125341347634753372986341023113247762502948647972209134084272979090403469928630573286525195421315742670978589993802148882495713820081633344156107066363088884273025756577567129374291232587974036029430266946349874481573665104193118044821447375719669272690946739236485215509706176610966473148779322925365496085514965527916638163123888673149036590390074032973752119971269180306812551328269026229550375855624961710189232819944846823676539141151486388366151922180690421642149033101478758494027019612612974650491128636848993951435763924289283974590265393921273412025635431408816959860957428836525312289728899149936624527855908883762357237979985125018815165211598712796248081106374638165053411163805428952809962372782099601657156275415124702663136810912860060821399509095490470649761403264405371917819731502268974274916461068443465648961676698071255618075326625884920986973328300193415716437154742741297906166022726287153509426581097956606547241911945175775216183243573259396101578203983828016564057979846335610872162670806273804795961650914438063626974156827827117296456093193984146082453828489400413388897477083020053142120695583169450225738911871188411645059624180419583965961825253794774884717321360116719438915627893792157827166312307140029578840592741072657496137552821024125294849985541913515758610442867346020728172228347237069289608612455156208050395047345105369521337225292741192660636487066770357698772915461518603969605817821765065183990056219753306602470142431096742254267761415892107173670088143776283348361489176994096918386754471323108280260374284716127294977089888104477990444318222770366552250599475756031451495177374555919038228506822032126444917381366473926224912373583058716829157926883036390423386186798080261538670901103333171370082067581819882556497854386464249963283449825018035160737552458923906235452693797549351894221349249422690031551256026059069040895055533593239416124268707084014745530438625381361099810392867317282345308738415202878488694596306913139610298370489213235840151467630766249781121550008917454150325444279471626250728763371248058105637738146559272590061204179017727183984598591805814060834641319978500031466077523567596008183797761824357648251875677414629250358953077822619374713932853827438015155241952405736527358273693955158684990528604742820397219979483577357957178893547133460676641859881886966009546115779685341424999191100935326313053778403389776070983809155106211255864811995908670973033225583450020169771040498139269627444943371533947910358360418101817981450027329706026799983223553116363254979148115141838679335971485647160944716084558529262677993170668862149500054693136097126969384280403863826134487917299667460688686605011023754795925543292910865150538664129477293711159879669564935745673331744306971057893932745127371797314397210381311159092523415875523677991526365245479316179892266809950390273694025730234170026417805400006500808664591461344265699188756230708412358896896011894380580435416345787535687617965757288934665302598948039353398360768001558241711118679233447257032748285798891076320220328625589486592621065765711308990912488433160943105802924177586436752357684762339162756524809093115310869602225887410891367374816373043160650211763534668095487888429396900135299179902792693970401714236165115273346239012866853412195733283525422564569309034471773377094767472019207429697959481672919768291074879978594747674714445727503475436752461008158750162964236593288004 83661752295745244165090342567149572208333257738492010195808652011859609598155638014615845290783415598457366876031418633482996709783709649858460598517113893785702407359192331059961830147685541783268390911356484208319884846504707304387999935095362126987351995772640316902397816608442499597030450469071967773473912307730801928485651399994669131135576782867762120377109219048711842068581292494629253293228565227956711139240857794642536005092146912139953221824379334017729522794652351517282940125915950637840550826590673169725384200919774571591373712346631216343232746001062074189577269512676606940608435338111098385349932804508650686517628559926980119694564951817626903722859949057034324320802197053572617087899899388160917936481898426149572192253108178102259633132613585934257425119745196045095688152451086690773804932051092646752246237033610130570459797104151441434213165746580809126749533361202158026643774211447191560454461826234160904317484768184431413886290159892528033269931862187177476465968314584947767384628381717503808922152827832176857574691786044462949901495093946944452290804149450548515594624529741508713864795002146825007575249071164866334914602582224087049996855150051216296310969720547296445496235810126741367901232551393123001362474352483246458425864280997003002337654451440994707804930416624278523130958184623656158005428040814717631955575153147290609275281813576637078368613733616957878032062569826116559028581941543140740780873839504669497914634422055060237524596708497838774492861690171551564296150678423230061153321540857418688732402024587275944954431890560372603647400645517896597523909114606286738952850467480543676633542341767345164060037626339601690386225490187539290405581157086431990178567652365134392377781352248562950231429629819377645420808269894232628976729657763531432045988294018526341782262357151293164424364463000791331830813543965948743054738497213409873958768113985521727161437565867199417889637994094930110450864043048259704563901636487906995516584329384554681482468690401299086746082960220121144501951679692299325055944682528781973509184497485298623233708013005720310469021034876943712092596262084615485498166566765846797269453893923342562869059622047192912213615296363767771718572246674351103596044393043438547931987888716200231298500487529389462362010314439378217433715658824799101929918191553405194650052703970545560947343192042639266579588497290317066353033373283715550630873738384628130723134497659379384687688805034946609405851379050165536159978513302058726448886916088871096684330611596396379722401667189011688811655856617976925785097550661233524806138914274710766849813464446431690222198581582410031375092827407591654648147149321602284986626137537982666447920393361608922362400164796390107021052686447724817518337117635370373921772427720592363985651430989846128421327401088549881439788727298045716011624298871321570719098483671709227006679998362370389034409347566069420562736709365088070074212186535433844287146706654325504326156963822711236777546275840522864033698245311086937709985736848961661562036785047384172007944647111145126222082888764556199644586396051788560110769467624182564370813992412438286151966614624690741432943863238295459983089215568958356355859798965514349597054233942822259201579496627477606170239129991954134232338680031410167672980632925613781211159055317048660363132480277790921242584945769577567683306650605581486217630407290108759389505354047147348326051390237834492142188805148747164905217580391821362828359368897505982285457865064419602604993161863212488459733168662247 135367558772890349886822481343783166267295838971355769380904421690180002692584614937732867014300714765747802831099866937185113835125057284611833584858137007033464910307840303269095914420664632186738319541929770733515306162247378282977993737244244622701172077405984473009464179697326772622787028036201342064706500281766831358752597749869150704800680975985806941824484938717984533015320528979844762999405176194429859918563783160138621520057674828778116345713052483054319912868685325269402911395096257450391879095616902720101239825881484760824193657193454892882373897487450440341499450203098249089641536816869592412369545417483301177646265408920931555458489241101601493988253870330446349956233605870532478045328735913473207665381048362774100048161991940459497613117738604749422636718457992293176794527089251744184968737480045456714619019133211787726735212228854104571024078606641630526258628851672807788047038616819109380185964095208435820778553211650080375562988231148146108596557747108164449794268508000664204539371123015409974944879114985686284155789742651010191813440269722160635534377408846650093798608357758072771844641337757697170246055344969662296565517020287714024153682977168512752404163704693378899324725210540130265378315571446265122058057521933472197337735469408648061961834871024960669630184211399163240452318301343095073633321832972544798267882293176869449868022886234133215921434757742252728017604483341875169471449287563868913009221076573959106527089578263110632571941813867360111718154431364212200783217448780928834068783059461388294550223789652459935010651643866975073789831742260150865285325006713460409040994243763892038122719335864263550814508949447881950760510206314834267495469261564422434496790422731686642977257108280014445408804185738415873927630302020677546358096131689756344419571352735355499709145393541716550611162543262330002731916877137318825122320317095966371813154578235485010611262583902360155442096918001165563144661592400153925913151059177938546772610388453595576538002283640715211014790044234866674940577061053399135448811999811127282247599700363787317830014926145330608839510248112783863560227028334396607048175484219997122713733365549593291632430870105298549951761855636357832922751264401535088194636198857499382573307867216231697376024055125397646159772138797026469309393073454049460882996014172779908582906531408560716189295597779166624853282452449002056881638116104112770610357315742585309616681631120056026547570692000956155521631064391590535351079448628371780227290305864942080493485717807652244534397575859984722037239306638146696825595689930860969749510448222621125210231566264413140249528287609210014598645943770846633796262291160281620958111784698927382532478922624286915533069026945890161714188783574694201798740981461504861839072095181281050590662454744642053964620311953700420103918204591756875891293863807067244050842790642767120939425125734167703431619728877228513086152584888766061600577432014750024179413516604715778020182694056881263195351675847023672698289706655352636898741967557374020458932796941764752443360992898680813840048646053490864947185344091141958471537469182424275489493225859695318900252413515767061653272488827782052604154981280267347268348232126457455399978411529259011559264258966640362695048223107265003834564567442301535047797005968774431422922589985144148251561877177926220422487738463547969397542815720854832456643274143520955122788879469711917635085862011211586909660824356176862864699253311589653903239347492253656999903592567895039357454170021962651423969761950251 219029311068635594051912823910932738475629096709847779576713073702039612290740252952348712305084130364205169707131285570668110544908766934470294183375250900819167317667032634329057744568350173970006710453286254941835191008752085587365993672339606749688524073178624789911861996305769272219817478505273309838180412589497633287238249149863819835936257758853569062201594157766696375083901821474474016292633741422386571057804640954781157525149821740918069567537431817072049435663337676786685851521012208088232429922207575889826624026801259332415567369540086109225606643488512514531076719715774856030249972154980690797719478221991951864163893968847911675153054192919228397711113819387480674277035802924105095133228635301634125601862946788923672240415100118561757246250352190683680061838203188338272482679540338434958773669531138103466865256166821918297195009333005546005237244353222439653008162212874965814690812828266300940640425921442596725096037979834511789449278391040674141866489609295341926260236822585611971923999504732913783867031942817863141730481528695473141714935363669105087825181558297198609393232887499581485709436339904522177821304416134528631480119602511801074150538127219729048715133425240675344820961020666871633279548122839388123420531874416718655763599750405651064299489322465955377435114628023441763583276485966751231638749873787262430223457446324160059143304699810770294290048491359210606049667053167991728500031229107009653790094916078628604441724000318170870096538522365198886211016121535763765079368127204158895222104600318806983282625814239735879965083534427347677437232387778047462809234121319747147993844711244435714756261677631608714874546575787483641146735696502373557901050418650854424675358075096821035355038460528577395640233815557793519348438571914910175334825789453287776465559646753881841491407750693009715035527006263121334562730421103267568177058814309376245771922692221006737772700149769559573331734912096095673595525635448413630477052695665845542289194717838150258020470974042014297760873004454987819442528740745698460504756682339909255756784197849085941063722939151050919308531282989727575652823290419012092546342050985843919983187259472935854501490492152491462165377152000125604641323511075886191790680591900937930505295755932431928674524542654787108521782453236404686743108732278848562812914205726185103232959235379106277136638789821805891432870949739319123234671489387828321241231054127213440339816128779435411235259497035902764927482443441756071511057961930430506676177221953813177177816329404048624256799243048996410848895163256123622610693240592094494555649362497331892060045030710844830471726869191620045973738771178438288444409440481883905944737922236910048980399315985895837895469191742280268735241470022419019317078099096875235760844522901873414576313885734488182385947713042250301543706931889802591902918162678388814769941274314476347946105124096538092466029076443297933648889294253854131674789618550183868466560223259041282346339657879592499972897951687546536731987951966439574608727704406335682020969581989148924451305640009825940062131534818047064591771740142930518582306936806606839860307218272133605052219028140457803086216352066077512587244196849225703624208031091971804997032645472081270760843755594117968865287353099219138066903247473711702720777638894388212634081645302192808614694357455717141665072684233125537080849466326436318674273681433629714512294233516859265961137252249046079051849629504924027769916833703411016731598716389759639285361457632314641962447331885175139883702930612498 354396869841525943938735305254715904742924935681203548957617495392219614983324867890081579319384845129952972538231152507853224380033824219082127768233387907852632227974872937598153658989014806156745029995216025675350497170999463870343987409583851372389696150584609262921326176003096044842604506541474651902886912871264464645990846899732970540736938734839376004026079096484680908099222350454318779292038917616816430976368424114919779045207496569696185913250484300126369348532023002056088762916108465538624309017824478609927863852682744093239761026733541002107980540975962954872576169918873105119891508971850283210089023639475253041810159377768843230611543434020829891699367689717927024233269408794637573178557371215107333267243995151697772288577092059021254859368090795433102698556661180631449277206629590179143742407011183560181484275300033706023930221561859650576261322959864070179266791064547773602737851445085410320826390016651032545874591191484592165012266622188820250463047356403506376054505330586276176463370627748323758811911057803549425886271271346483333528375633391265723359558967143848703191841245257654257554077677662219348067359761104190928045636622799515098304221104388241801119297129934054244145686231207001898657863694285653245478589396350190853101335219814299126261324193490916047065298839422605004035594787309846305272071706759807228491339739501029509011327586044903510211483249101463334067271536509866897971480516670878566799315992652587710968813578581281502668480336232558997929170552899975965862585575985087729290887659780195277832849603892195814975735178294322751227064130038198328094559128033207557034838955008327752878981013495872265689055525235365591907245902817207825396519680215276859172148497828507678332295568808591841049038001296209393276068873935587721692921921143044120885130999489237341200553144234726265646689549525451337294647298240586393299379131405342617585077270456491748383962733671919728773831830097261236740187227848567556390203754843784089061805106291745834558473257682729508775663048689854494383105801799097595953568682151036538004383898212873258893737865296381528148041531102511439213050318753408699594517535205841042696920625022529146133921362257790012117139007636483437564074775477421279985316790758437313078603623148663626050548597780184754681554592033431156052501805732898023695910219898965011815865766787666993325934387600972516286153402188321180116309605491941091851588369869798749956497759899491437782830189036858920449113507833346606862137410558802286903467527818755257671302047211700868791196818908981132886134469894270319436288930522955464305159810719953017270276596975257970721255156800830060572384714949284922240671731642165526902849706935837431512878238610182753428538218688170430449430253597113221115819080558380097599916618083154465166976340479130236350568024995950721647625136481559467794212026485456058820784064957243468885530249830705795897648805320526446735041879142620193275367050564933892645973739863757060366522351936473763168249627534570209430277658621792211507469671963709702479902378930913676894666632908506753902180180871537929538957084234072477053844405989031115349800444131828923952471441656224864739488840893859565191399178129493050892556263218429260397011057001340282320108014560758331560335576206484141901467814916013237768574644863162644057004235287336956866256234633643362087560422696673506478392282047291151130916955577150669635083112986571183596223114260257665961510453861100890634616087015000670634838063882013296285265050200209681319901501907137791307672692562749 573426180910161537990648129165648643218554032391051328534330569094259227274065120842430291624468975494158142245362438078521334924942591153552421951608638808671799545641905571927211403557364980126751740448502280617185688179751549457709981081923458122078220223763234052833188172308865317062421985046747961741067325460762097933229096049596790376673196493692945066227673254251377283183124171928792795584672659039203002034173065069700936570357318310614255480787916117198418784195360678842774614437120673626856738940032054499754487879484003425655328396273627111333587184464475469403652889634647961150141481126830974007808501861467204905974053346616754905764597626940058289410481509105407698510305211718742668311786006516741458869106941940621444528992192177583012105618442986116782760394864368969721759886169928614102516076542321663648349531466855624321125230894865196581498567313086509832274953277422739417428664273351711261466815938093629270970629171319103954461545013229494392329536965698848302314742153171888148387370132481237542678943000621412567616752800041956475243310997060370811184740525441047312585074132757235743263514017566741525888664177238719559525756225311316172454759231607970849834430555174729588966647251873873531937411817125041368899121270766909508864934970219950190560813515956871424500413467446046767618871273276597536910821580547069658714797185825189568154632285855673804501531740460673940116938589677858626471511745777888220589410908731216315410537578899452372765018858597757884140186674435739730941953703189246624512992260099002261115475418131931694940818712721670428664296517816245790903793249352954705028683666252763467635242691127480980563602101022849233053981599319581383297570098866131283847506572925328713687334029337169236689271816854002912624507445850497897027747710596331897350690646243119182691960894927735980682216555788572671857377719343853961476437945714718863356999962677498486156662883441479302105566742193356910335712863296981186867256450509629631350999824129896092578944231724743806536536053144842313825634542544796056458325364490945793761168096061959199957460804447432447456572814092239014865873609172420792140859586191684962680107884495465000635411854410281474282516159636609042205398286553307471775997382659375243583899379081095554725073140434971863203337045269835842795610538011746586508824425625150115048825002166773270462573177422778407719024351927640303350981094879769413092819423997012190296313888678926849018089686072761685376595951275102678373195372489232793579644749772568434849118376615749493047996061957977543735029633150393942046982171115049958860809173217284909330321627686102801192982025992450106546123486127723210685081172124049432847587629172747480493277554596078591324007410430450699184671723619532240432897179655255333360761140985027879743290226213618418736515738038201023191332068371362059697130189163844873590725339271719816831635373927243888363677881763824380383931173396474324950156669115117761112533963122798342712862009816066263141147579222116746162265610588231786116197376370045384500871960920062601345972272918332693964311715689584994130728824377002995636151342795637955210107662403962529004690469796682667825705192959937077778643374978718754516764294310401065394043702473421553080951770154876300425622929305703279968371062389724940489352283757550856691085880589529765480950592089360503752633106929799043559241748373727469805190637010780384147377346503430449557360366509303745013360083366024918404532920718411687366436780271772935570626507832524323282348833792312931191375623175247 927823050751687481929383434420364547961478968072254877491948064486478842257389988732511870943853820624111114783593590586374559304976415372634549719842026716524431773616778509525365062546379786283496770443718306292536185350751013328053968491507309494467916374347843315754514348311961361905026491588222613643954238332026562579219942949329760917410135228532321070253752350736058191282346522383111574876711576656019433010541489184620715615564814880310441394038400417324788132727383680898863377353229139165481047957856533109682351732166747518895089423007168113441567725440438424276229059553521066270032990098681257217897525500942457947784212724385598136376141060960888181109849198823334722743574620513380241490343377731848792136350937092319216817569284236604266964986533781549885458951525549601171037092799518793246258483553505223829833806766889330345055452456724847157759890272950580011541744341970513020166515718437121582293205954744661816845220362803696119473811635418314642792584322102354678369247483758164324850740760229561301490854058424961993503024071388439808771686630451636534544299492584896015776915378014890000817591695228960873956023938342910487571392848110831270758980335996212650953727685108783833112333483080875430595275511410694614377710667117100361966270190034249316822137709447787471565712306868651771654466060586443842182893287306876887206136925326219077165959871900577314713014989562137274184210126187725524442992262448766787388726901383804026379351157480733875433499194830316882069357227335715696804539279174334353803879919879197538948325022024127509916553891015993179891360647854444118998352377386162262063522621261091220514223704623353246252657626258214824961227502136789208694089779081408143019655070753836392019629598145761077738309818150212305900576319786085618720669631739376018235821645732356523892514039162462246328906105314024009152025017584440354775817077120061480942077233133990234540625617113399030879398572290618147075900091145548743257460205353413720412804930421641927137417489407473315312199101834696808208740344343893652411894046641982331765551994274832458851198669743813975604614345194750454078923927925829491735377121397526005377028509517994146769333216668071486399655167273092479769473062030728751761314173417812556662503002229759180775621738215156617884891637303266998848112343744644610204734645524115126864690768954440263788507565023750924005177754115961483467290700371710504944407793866810940252811648578418286800919875109620605825709459108449285235332783048035080483112277591323692520420423827450361839192880866958676621164103044664261483271101638005423165968983937237926600598224661360771914237182793280167118508201077008132925752903766214959750437336108584912006155793206261344752545629118621129634101977216645461548716260213635430960677759068182344910266566692748655087083763034151744838957204852921527491342215649300932411509404228963285717165623757949684261326687084350827118973052539094518225523719680051653758507702986555403079384361752540026309397206756686955592543269210023997623667048333755086980774339850976278240638905826839447866491896561122923669685908611075472689995748784669070559908106535791452957161911452907532565194033853796642970042553108211805409320557528830325791054759474761835401059784715634631985958505512187421869838877305738178257926928620713500748090115876866722347206826723003865840193529626472550037634030421018620936107592587931053782460459490001633153583480769561410974870537227125809039149007733412358001274844153786231855891558032734004602250335699450722499048315737996 1501249231661849019920031563586013191180033000463306206026278633580738069531455109574942162568322796118269257028956028664895894229919006526186971671450665525196231319258684081452576466103744766410248510892220586909721873530502562785763949573430767616546136598111077368587702520620826678967448476634970575385021563792788660512449038998926551294083331722225266136481425604987435474465470694311904370461384235695222435044714554254321652185922133190924696874826316534523206916922744359741637991790349812792337786897888587609436839611650750944550417819280795224775154909904913893679881949188169027420174471225512231225706027362409662853758266071002353042140738687900946470520330707928742421253879832232122909802129384248590251005457879032940661346561476414187279070604976767666668219346389918570892796978969447407348774560095826887478183338233744954666180683351590043739258457586037089843816697619393252437595179991788832843760021892838291087815849534122800073935356648647809035122121287801202980683989636930052473238110892710798844169797059046374561119776871430396284014997627512007345729040018025943328361989510772125744081105712795702399844688115581630047097149073422147443213739567604183500788158240283513422078980734954748962532687328535735983276831937884009870831205160254199507382951225404658896066125774314698539273337333863041379093714867853946545920934111151408645320592157756251119214546730022811214301148715865584150914504008226655007978137810115020341789888736380186248198518053428074766209543901771455427746492982363580978316872179978199800063800440156059204857372603737663608555657165670689909902145626739116967092206287513854688149466395750834226816259727281064058015209101456370591991659877947539426867161643679165105706963627482930314427581635004215218525083765636583515748417342335707915586512291975475706584474934090198227011122661102596681009402736928294316252255022834780344299077195811488720697288500554878332984965314483975057411612954442529930124716655863043351763804754551538019716361721132217121848735154979539122034374886888689708870219411132928125526720090336791658808659474191246423061187159286989468944797537098250283876236707589210968057136394013459147404745071078352960682171326909701521974871348584036223537311556077187800246402381310854735500694878650128481088228682573102841643722881756391196713559071149265241913515771121213534251080742446529331724202106043601786818271795251479918037227217863823130549125537257345135819009561182382291202305410383551963608528155537267874062757027363892127369538800443199854887188942824936220356193736195058203530253272753055382026778157154522835930919852347463573107219208785730273664631687204731343610834075890264392598024965281332392499433347802339936076553039549071828818773700836177701981613439868890764321438900053210224653556792906367073823599501072352768030289273224283587188472404813145806002234743500683102548800997685193572625004568848175207502904225935568843175680388795169414871041666109353745792246371568606289450544785978803701754808879798255783739864424703800471481646300771038879586611178745172141830803612250707917800414732988078468326147091580307025770015768939753981961852381249590200390899226813733720748685928086930559926084851839231391185098461948183388482011554870510932411581434817890701838209939695463118747279212378264357439175996466396487828157418812364369592826636556271593596875778794746090741298229598711437929837805993432082710943847278865155988230620593150727443681928451824045367711624425559167426518065865258327884599169491763653690423938913243 2429072282413536501849414998006377739141511968535561083518226698067216911788845098307454033512176616742380371812549619251270453534895421898821521391292692241720663092875462590977941528650124552693745281335938893202258058881253576113817918064938077111014052972458920684342216868932788040872474968223193189028975802124815223091668981948256312211493466950757587206735177955723493665747817216695015945338095812351241868055256043438942367801486948071235138268864716951847995049650128040640501369143578951957818834855745120719119191343817498463445507242287963338216722635345352317956111008741690093690207461324193488443603552863352120801542478795387951178516879748861834651630179906752077143997454452745503151292472761980439043141808816125259878164130760650791546035591510549216553678297915468172063834071768966200595033043649332111308017145000634285011236135808314890897018347858987669855358441961363765457761695710225954426053227847582952904661069896926496193409168284066123677914705609903557659053237120688216798088851652940360145660651117471336554622800942818836092786684257963643880273339510610839344138904888787015744898697408024663273800712053924540534668541921532978713972719903600396151741885925392297255191314218035624393127962839946430597654542605001110232797475350288448824205088934852446367631838081183350310927803394449485221276608155160823433127071036477627722486552029656828433927561719584948488485358842053309675357496270675421795366864711498824368169239893860920123632017248258391648278901129107171124551032261537915332120752099857397339012125462180186714773926494753656788447017813525134028900498004125279229155728908774945908663690100374187473068917353539278882976436603593159800685749657028947569886816714433001497726593225628691392165891453154427524425660085422669134469086974075083933822333937707832230476988973252660473340028766416620690161427754512734671028072099954841825241154428945478955237914117668277363864363886774593204487513045588078673382176861216457072176609684973179946853779210539690437160934256814235930243115231232583361282113457774910457292272084611624117659858143935060398665801504481739923023721465024079775611613828986736973434164903531453294174078287746424447081826494182794001744344410614764975298625729495000356908905383540613916276316616865285098973120319876369840491835225501035806918293716673380368778206540075653798039588307470280255729379860159563270285562495623190422981635011730634070801937185835763422619929436292002897028014869492001248843860938585302954545869304955215819889959224270650216726381823691894896977357839239722465013524374391060805192747141091760762531518077008824345021456391579010440783139888281739476536586979656479352348462301389917304505589141008601280829098668667692958452875678052823163530329700082526195282116659121392569563823359599115728910683264106504512869246478077205114679814620462446738413744147729646388265966621443143256886331255932526034621877278474663361401204108475221068629549369095909148871630733321146315759941992735490657347352149008279781363531473037555558462420640622015157827250084572011589697295508811830841470100641599153941016142840364976096329923875475545434919014292702497732956093260667530363718728481195142365335405409368061716976153221422945223883071339586145564397539940330078123708048817001201297005206140998977858187266112343263210175364245535368235433020166182744143634509809215764711677405822186642491712298265483433715864527328048426566963101157820276536482830936185236403368986468579345399282409623897992332486849505191214376189472254651239 3930321514075385521769446561592390930321544968998867289544505331647954981320300207882396196080499412860649628841505647916166347764814428425008493062743357766916894412134146672430517994753869319103993792228159480111979932411756138899581867638368844727560189570569998052929919389553614719839923444858163764413997365917603883604118020947182863505576798672982853343216603560710929140213287911006920315799480048046464303099970597693264019987409081262159835143691033486371201966572872400382139360933928764750156621753633708328556030955468249407995925061568758562991877545250266211635992957929859121110381932549705719669309580225761783655300744866390304220657618436762781122150510614680819565251334284977626061094602146229029294147266695158200539510692237064978825106196487316883221897644305386742956631050738413607943807603745158998786200483234379239677416819159904934636276805445024759699175139580757017895356875702014787269813249740421243992476919431049296267344524932713932713036826897704760639737226757618269271326962545651158989830448176517711115742577814249232376801681885475651226002379528636782672500894399559141488979803120820365673645400169506170581765690994955126157186459471204579652530044165675810677270294952990373355660650168482166580931374542885120103628680510542648331588040160257105263697963855498048850201140728312526600370323023014769979048005147629036367807144187413079553142108449607759702786507557918893826272000278902076803345002521613844709959128630241106371830535301686466414488445030878626552297525243901496310437624279835597139075925902336245919631299098491320397002674979195823938802643630864396196247935196288800596813156496125021699885177080820342940991645705049530392677409534976486996753978358112166603433556853111621706593473088158642742950743851059252650217504316410791849408846229683307937061463907342858700351151427519217371170830491441028987280327122789622169540231624756967675935202618223155696849329201258568261899126000030608603506893517079500423940414439524717966570140931671907559009669411793775052277490118121273070152332868907838582818992174948415776468517618126306821726988663768729391968519002122330059487850536575947941491301297544912441578823358824777407763997821092495523719215759198801198835937285572188157155307764851468651777011495515413580061349002449472682135558107257427003631852787822645610691722311196867332290669049916809587453581966203165057103834290874670341018862229594457201351062723093108558438938997474385188230320279875553212452389094122570828608626332319107947259498024713850071613570766516831117333551575434780668543777647144116187219525298246283598462437929356287918128675600364740714447771575486470820147421055546743744946487266671249697005022488810941216905651708216764787271649378889000865511943139951416959603555559174602794217380152505482802734282765178857280899535751301488701868287025275592544415978891230329490814767619128336829511335824780701242124781504410232204576884497270390483500591035205262894663877104889752605210486778714294359102161028806535565103395897741356029944066941393054037413861263317183731528099121062538759270515374587232409342289931945283122099939644415299416880866673952087933346992487481264084467414409282072925261490261207293108161251683371128612365082894456656496809121375147968825546258756696664415752485353377242215626442108809659698003521664347732605025846802739015737231385588010510802418704051785353929642136071476865798575471175327291722951331778413427263926512864637060448736698093004904566708927689763250660371448674682978029879896193564482 6359393796488922023618861559598768669463056937534428373062732029715171893109145306189850229592676029603030000654055267167436801299709850323830014454036050008637557505009609263408459523403993871797739073564098373314237991293009715013399785703306921838574242543028918737272136258486402760712398413081356953442973168042419106695787002895439175717070265623740440549951781516434422805961105127701936261137575860397706171155226641132206387788896029333394973412555750438219197016223000441022640730077507716707975456609378829047675222299285747871441432303856721901208600180595618529592103966671549214800589393873899208112913133089113904456843223661778255399174498185624615773780690521432896709248788737723129212387074908209468337289075511283460417674822997715770371141787997866099775575942220854915020465122507379808538840647394491110094217628235013524688652954968219825533295153304012429554533581542120783353118571412240741695866477588004196897137989327975792460753693216780056390951532507608318298790463878306486069415814198591519135491099293989047670365378757068068469588366143439295106275719039247622016639799288346157233878500528845028947446112223430711116434232916488104871159179374804975804271930091068107932461609171025997748788613008428597178585917147886230336426155860831097155793129095109551631329801936681399161128944122762011821646931178175593412175076184106664090293696217069907987069670169192708191271866399972203501629496549577498598711867233112669078128368524102026495462552549944858062767346159985797676848557505439411642558376379692994478088051364516432634405225593244977185449692792720957967703141634989675425403664105063746505476846596499209172954094434359621823968082308642690193363159192005434566640795072545168101160150078740313098759364541313070267376403936481921784686591290485875783231180167391140167538452880595519173691180193935838061332258245953763658308399222744463994781386053702446631173116735891433060713693088033161466386639045618687276889070378295957496117024124497897913423920142211597996170603668608010982520605349353856431434446326682749040111264259560039894128375762061367220392790168250469314992240467146409835099464365562684914925466201076365735752901646571201854845824315275289525463560169813566174134563015067188514064213148392082568053328112380698679034469322325842522627393332758462810550146504496025979469928851272521130330257357387089843182961826362728327389396786497860764000497241325091272152999908928871981058868433766388085258335149367554461296250032707873783154495637274323767149457248984500288339952590208726014310909414674503133557302021535176992412272439338044360993956006365112263150131991943751155230911463768210296684008035203223097294949568061167001510611629819542497734750376884457745724525056941824029042272840033943154885672218295995363781203512104598531644966029285361793768782229378693816548101645738039282829723038959975879080734240571480086397667080713227276746658782884895565978088605745611552130140404301172043535507838210898920970428771449785016449513177814815346466927370778911588406487582015069195241111347889195321225394629874369600740616016186386350358432772310259218429863519890844851799880966654585666303085748148794448186142890477215290596895670575354825137404904794073836248154234042802061206661315478046949254307573697865712757691494376220073813708221152922908178885909883100840458866968921759880865895397226275514096109873971996421354434336960299514439998503375718289914432936233703800409343800822296852105684561584249965991337313661242992858298179874192406069368448215721 10289715310564307545388308121191159599784601906533295662607237361363126874429445514072246425673175442463679629495560915083603149064524278748838507516779407775554451917143755935838977518157863190901732865792257853426217923704765853912981653341675766566134432113598916790202055648040017480552321857939520717856970533960022990299905023842622039222647064296723293893168385077145351946174393038708856576937055908444170474255197238825470407776305110595554808556246783924590398982795872841404780091011436481458132078363012537376231253254753997279437357365425480464200477725845884741228096924601408335910971326423604927782222713314875688112143968528168559619832116622387396895931201136113716274500123022700755273481677054438497631436342206441660957185515234780749196247984485182982997473586526241657977096173245793416482648251139650108880418111469392764366069774128124760169571958749037189253708721122877801248475447114255528965679727328425440889614908759025088728098218149493989103988359405313078938527690635924755340742776744242678125321547470506758786107956571317300846390048028914946332278098567884404689140693687905298722858303649665394621091512392936881698199923911443231028345638846009555456801974256743918609731904124016371104449263176910763759517291690771350440054836371373745487381169255366656895027765792179448011330084851074538422017254201190363391223081331735700458100840404482987540211778618800467894058373957891097327901496828479575402056869754726513788087497154343132867293087851631324477255791190864424229146082749340907952996000659528591617163977266852678554036524691736297582452367771916781906505785265854071621651599301352547102290003092624230872839271515179964764959728013692220586040568726981921563394773430657334704593706931851934805352837629471713010327147787541174434904095606896667632640026397074448104599916787938377874042331621455055432503088737394792645588726345534086164321617678459414307108319354114588757563022289291729728285765045649295880395963895375457920057438564022615879994061073883505555180273080401786034798095467475129501586779195590587622930256434508455670596893380187674042119778832019198706960759469268739894587314902138632856416767498621278177331725005395979262609822136367785049182775929012367372970500300639376671219520913243551219830339607896112259095818324775315204762951440015889814181999292318671590161651162469388462620926407303899430636543792565893384493231077372531105019359470919548473504062632021980539497807431240773273488655429243107673748639126830444611763121969593431714408955273698350359953523356725557131644460990109283802101079668679293179631797737584327959456393935721400181278807592308491869678683039254681116831429090749966842241436834732416698515634118630483714640402085101222532996174435830824894554215979985360114489227777470598157998583664610081334379248794464219074668317980680182518416388671013631827245701930190305369895501859699816915909002905493928518871440287295127770554973103016002035630731439506434938199384943100651526180915550164079375551674206621350911570323268520267618350554523408123232654972611206379052753493750936908360011131390773618759700722704255542340529803164306144268680747640606673599650078235630058532653557299759288215858385931782647933298656588165202448613237128499458558015782690626015774800566330394530128510176847753462289440150329962582606182407574230833445484713771660775618097280985236786316514813925757350350996570408437165313015469678703010012865764714647131064335856665459357300842382654589154532700265003424493653229746854557170435949264641780203 16649109107053229569007169680789928269247658844067724035669969391078298767538590820262096655265851472066709630149616182251039950364234129072668521970815457784192009422153365199247437041561857062699471939356356226740455914997775568926381439044982688404708674656627835527474191906526420241264720271020877671299943702002442096995692026738061214939717329920463734443120166593579774752135498166410792838074631768841876645410423879957676795565201139928949781968802534362809595999018873282427420821088944198166107534972391366423906475554039745150878789669282202365409077906441503270820200891272957550711560720297504135895135846403989592568987192189946815019006614808012012669711891657546612983748911760423884485868751962647965968725417717725121374860338232496519567389772483049082773049528747096572997561295753173225021488898534141218974635739704406289054722729096344585702867112053049618808242302664998584601594018526496270661546204916429637786752898087000881188851911366274045494939891912921397237318154514231241410158590942834197260812646764495806456473335328385369315978414172354241438553817607132026705780492976251455956736804178510423568537624616367592814634156827931335899504818220814531261073904347812026542193513295042368853237876185339360938103208838657580776480992232204842643174298350476208526357567728860847172459028973836550243664185379365956803398157515842364548394536621552895527281448787993176085330240357863300829530993378057074000768736987839182866215865678445159362755640401576182540023137350850221905994640254780319595554377039221586095252028631369111188441750284981274767902060564637739874208926900843747047055263406416293607766849689123440045793365949539586588927810322334910779403727918987356130035568503202502805753857010592247904112202170784783277703551724023096219590686897382543415871206564465588272138369668533897047733511815390893493835346983348556303897125568278550159103003732161860938281436090006021818276715377324891194672404091267983157285034273671415416174462688520513793417981216095103551350876749009797017318700816828985933021225522273336663041520694068495564725269142249041262512569000269668021952999936415149729686779267701317771342233699697643913084626651967181117455646451643074574646336098825933547105063315706565185283734061635633787883667720276810938130287647101157727390344772774352624732145796814697569631580013741909592951183764690989273819505618928621711882627863870391869019856712244639745657062540950852520556675865007161358746990578610662135044889159538318394917617606867755481558412522682850648293475946934283145955370404783786935658381690214470172044070176922372320450349942086512444428939584252243024909594503022891413515437125953189939536386402793583700026245748450026212375152461985680278720699492772648923596488820019303269374899995766593521779787176714679866024214823749580868437100210058876334964490316751671110075424969150281248976236100271297002306669986207155795618099070180023336533061708761613587760871843807606981734892781311550447151344321613864392001187384436166258037250639299179206757042105423192427896083959095574373978888380811277960751747406960005110059155476565801558959666684196989120480628607261259265953163983778852980839700190236503506455281602358002758436061492959276284861391362542260619222444006104062724054873904092395841267868342129682363253858551115505514361293484113934285943580740582535498963176382463061830610923799729346772351004745397464827455468182078728302780197650880834864745200466281654152948067216173404498691602317085736646088045034431362842018633089995924 26938824417617537114395477801981087869032260750601019698277206752441425641968036334334343080939026914530389259645177097334643099428758407821507029487594865559746461339297121135086414559719720253601204805148614080166673838702541422839363092386658454970843106770226752317676247554566437721817042128960398389156914235962465087295597050580683254162364394217187028336288551670725126698309891205119649415011687677286047119665621118783147203341506250524504590525049318287399994981814746123832200912100380679624239613335403903800137728808793742430316147034707682829609555632287388012048297815874365886622532046721109063677358559718865280681131160718115374638838731430399409565643092793660329258249034783124639759350429017086463600161759924166782332045853467277268763637756968232065770523115273338230974657468998966641504137149673791327855053851173799053420792503224469345872439070802086808061951023787876385850069465640751799627225932244855078676367806846025969916950129515768034598928251318234476175845845150155996750901367687076875386134194235002565242581291899702670162368462201269187770831916175016431394921186664156754679595107828175818189629137009304474512834080739374566927850457066824086717875878604555945151925417419058739957687139362250124697620500529428931216535828603578588130555467605842865421385333521040295183789113824911088665681439580556320194621238847578065006495377026035883067493227406793643979388614315754398157432490206536649402825606742565696654303362832788292230048728253207507017278928541714646135140723004121227548550377698750177712416005898221789742478274976717572350354428336554521780714712166697818668706862707768840710056852781747670918632637464719551353887538336027131365444296645969277693430341933859837510347563942444182709465039800256496288030699511564270654494782504279211048511232961540036376738286456472274921775843436845948926338435720743348949485851913812636323424621410621275245389755444120610575839737666616620922958169136917279037680998169046873336231901252543129673412042289978609106531149829411583052116796284304115434608004717863924285971777128576951235322162522436715304632347832288866728913759405683889624274094169839950627759001198318922090416351657363160380065468588010859623829112027838300920075563616345941856503254974879185007714007328172923197226105971876472932153296212790242438914145089133369159793231176211298055572110171994888704456049411494515096375858941242922974039216183164188219161125172972833060054483296247934632235646007853769808793528286368763006680739576461187195967367796381201008246999303659840277599831394893070737759461358893763351675867914506700279906743877807912625707747176560734894588277542277572530346866216703156781777823237526000398541879867080509927015554547086902811716873928603473818150704800004663383864127773237191679778370841324761200403463618213799943105418190739058853380878987765302937321126899340586618871737959971113918215672891701084314489539357475151107088034811777615623391603283314041919934277724412201973332259871777943767552861591057517169607573907819446825107596628831315660551056570301953426732382131748186320762878797733623869759878180821343899489469848503133389161376247867932865603242219408911513493257489995791722313667534140650691734718081124478733474628491041719177238226696730078498855440234486925969778045189883144652694008881078088120543701058344767731428294512243311117060457367699848147125737725486697123347575153834630140470937860781738315645962365527965929081057131741011453790449870762559031391867320510230299317791888988533277967897731776127 43587933524670766683402647482771016138279919594668743733947176143519724409506627154596439736204878386597098889794793279585683049792992536894175551458410323343938470761450486334333851601281577316300676744504970306907129753700316991765744531431641143375551781426854587845150439461092857963081762399981276060456857937964907184291289077318744469102081724137650762779408718264304901450445389371530442253086319446127923765076044998740823998906707390453454372493851852650209590980833619406259621733189324877790347148307795270224044204362833487581194936703989885195018633538728891282868498707147323437334092767018613199572494406122854873250118352908062189657845346238411422235354984451206942241997946543548524245219180979734429568887177641891903706906191699773788331027529451281148543572644020434803972218764752139866525626048207932546829689590878205342475515232320813931575306182855136426870193326452874970451663484167248070288772137161284716463120704933026851105802040882042080093868143231155873413163999664387238161059958629911072646946840999498371699054627228088039478346876373623429209385733782148458100701679640408210636331912006686241758166761625672067327468237567305902827355275287638617978949782952367971694118930714101108810925015547589485635723709368086511993016820835783430773729765956319073947742901249901142356248142798747638909345624959922276998019396363420429554889913647588778594774676194786820064718854673617698986963483584593723403594343730404879520519228511233451592804368654783689557302065892564868041135363258901547144104754737971763807668034529590900930920025261698847118256488901192261654923639067541565715762126114185134317823702470871110964426003414259137942815348658362042144848024564956633823465910437062340316101420953036430613577241971041279565734251235587366874085469401661754464382439526005624648876656125006171969509355252236842420173782704091905253382977482091186482527625142783136183671191534126632394116453043941512117630573228185262194966032442718288752406363941063643466830023506073712657882026578421380069435497101133101367629230240137260949013297822645446800047431664685756567144916832558534750866759342099039353960873437541268399101234898016566003500978309330341497521115039653934198475448126664234467180626932052507041786989036514818795597675048449734135356393618977630659543640985564595063646290885948066729424811189953207648523293936685877978275555030423136808258486805113314843059072895408827964818187713923685580611159161255095990982636586464431943838417445907081401598357183328942677525780319064051656540475250594123423555201799676857673417843049108233523719938091429072600357093819894425070136686760812977919497872045300463943862303342656346721314209640319584098568125615530536139390707009072583090437573421376122741747193620023966653239027769003785201558158018039441066427678441963380811542518400797935188345369304516974047396551868490867867847974060242410920522342877908240110107638427655174443621096520539229211152475127121648901669170505723752420483604193391808159554048975493683427644824547118626031864638734254508088447140529397527800711270512559464281514626204693628979819033657387145458449136532700122509642004855129192131556406203187764494332957680232295228768949136498653450170779574083755018336019853583979796460670702834141222910314138579321811045913532012827015947867432193593634904994542458702017371875252825846616023633750162909977736661525216043895698579899232094967926406042860466618426160016408800793826257598022665606738517086935963530083469637595966945405836923419896119986530821772051 70526757942288303797798125284752104007312180345269763432224382895961150051474663488930782817143905301127488149439970376920326149221750944715682580946005188903684932100747607469420266161001297569901881549653584387073803592402858414605107623818299598346394888197081340162826687015659295684898804528941674449613772173927372271586886127899427723264446118354837791115697269935030028148755280576650091668098007123413970884741666117523971202248213640977958963018901170937609585962648365530091822645289705557414586761643199174024181933171627230011511083738697568024628189171016279294916796523021689323956624813739722263249852965841720153931249513626177564296684077668810831800998077244867271500246981326673164004569609996820893169048937566058686038952045167051057094665286419513214314095759293773034946876233751106508029763197881723874684743442052004395896307735545283277447745253657223234932144350240751356301732949807999869915998069406139795139488511779052821022752170397810114692796394549390349589009844814543234911961326316987948033081035234500936941635919127790709640715338574892616980217649957164889495622866304564965315927019834862059947795898634976541840302318306680469755205732354462704696825661556923916846044348133159848768612154909839610333344209897515443209552649439362018904285233562161939369128234770941437540037256623658727575027064540478597192640635210998494561385290673624661662267903601580464044107468989372097144395973791130372806419950472970576174822591344021743822853096907991196574580994434279514176276086263022774692655132436721941520084040427812690673398300238416419468610917237746783435638351234239384384468988821953975027880555252618781883058640878978689296702886994389173510292321210925911516896252370922177826448984895480613323042281771297775853764950747151637528580251905940965512893672487545661025614942581478446891285198689082791346512218424835254202868829395903822805952246553404411429060946978247242969956190710558133040588742365102541232647030611765162088638265193606773140242065796052321764413176407832963121552293385437216802237234958001185234985074951222398035369594187122471871777264664847401479780518747782928978234967607381219026860236096335488093917329966693501877586583627664793822304560154502535387256190548398448898290244011394003803311682376622657332582499590854103591696937198354837502560435975081435889218042366164505704095404108680766682731604441917651904634345746356237817098289078573016183979312886896518640665642457503030623218282594318201752631945732275844408279096759790129873493148115445252664787474554253963701155033194569928411177304408001996875395806005935772880263837697702337695844433937373712814086149587578036474209169559359503503092032877845584497110005482611046066406261556159485902154447349979596559897898420028630037103155542240976881336528859364202266831142060177180754647936591536994041726248292282276984717678767831454486719712020213524838738015769609324424597177785130325550709131332316844834544078410435690821603448230135954393815864065169751927106910566551200597252398454938072856972235363085823748998197099699481227443652644307650602277505002427252849578911838208489357938606381203255898803381102997124997159648422596676007826215170228086951082616670639304141905497655208233751810648344625698973698897399564219721765754373066247780823958721895971668641876313271681755448695600803469748800169765069157733084091117862758124862399250702741019046155053066725108397343903642204934072122381936766722907314729763677060528966957698522561475336958106197244723628812408429397954428553548178 114114691466959070481200772767523120145592099939938507166171559039480874460981290643527222553348783687724587039234763656506009199014743481609858132404415512247623402862198093803754117762282874886202558294158554693980933346103175406370852155249940741721946669623935928007977126476752153647980566928922950510070630111892279455878175205218172192366527842492488553895105988199334929599200669948180533921184326569541894649817711116264795201154921031431413335512753023587819176943481984936351444378479030435204933909950994444248226137534460717592706020442687453219646822709745170577785295230169012761290717580758335462822347371964575027181367866534239753954529423907222254036353061696074213742244927870221688249788790976555322737936115207950589745858236866824845425692815870794362857668403314207838919094998503246374555389246089656421514433032930209738371822967866097209023051436512359661802337676693626326753396433975247940204770206567424511602609216712079672128554211279852194786664537780546223002173844478930473073021284946899020680027876233999308640690546355878749119062214948516046189603383739313347596324545944973175952258931841548301705962660260648609167770555873986372582561007642101322675775444509291888540163278847260957579537170457429095969067919265601955202569470275145449678014999518481013316871136020842579896285399422406366484372689500400874190660031574418924116275204321213440257042579796367284108826323662989796131359457375724096210014294203375455695341819855255195415657465562774886131883060326844382217411449521924321836759887174693705327752074957403591604318325500115266586867406138939045090561990301780950100231114936139109345704257723489892847484644293237827239518235652751215655140345775882545340362162807984518142550405848517043936619523742339055419499201982739004402665721307602719977276112013551285674491598706484618860794553941319633766686001128927159456251806877995009288479871696187547612732138512373875364072643754499645158219315593287803427613063054483450841044629134670416607072089302126034422295202986254343190987790486570318169866465198138446183998372773867844835417025851808228438922181497405936230647278089881968332195841044922487425961470994352054097418308276023843375107698667318728020780008281166769854436817480450955940077233047908822598909357425072391467938893209831734251240578183919432566206726861029502618642853556117713352618698045366644661007159472340788712892832551469552660157361973981844148797500600820204221276801618758126614200919180782633696470363178182925809877453943119072551018928434509304321327949804848087124710234994246786084595147457110230399115744097364845480620931517596762765981120698186690733584021632878500418071472902015850224406242518165168595678131098141582205796968565232068992592020771355719301645092040052596690342183311244762082894686877403643333258820502140561566190454992334929230071617596799251032114230636322322354567686080455935759260358647517564534704816212785499994330227852856074045696553537557339723272618735859706814299468258561560086660959542044884024897223002056698888836874097340331837445337629097009028154923156867114883792131207120881829397945495595634816387742913903378408445385958126317128716054625784440502159172850460382179851565807137957592076277229291988770146668198209678770159568102398360944676068511645569591869872253908798684589743745465275390353690143262171766172045017895004349107724868025668102599060775918784914744734952298820076323749946502671552498282398345567516733572327786342667267484044634486091558806595702164190129465735828325517940959375320229 184641449409247374278998898052275224152904280285208270598395941935442024512455954132458005370492688988852075188674734033426335348236494426325540713350420701151308334962945701273174383923284172456104439843812139081054736938506033820975959779068240340068341557821017268170803813492411449332879371457864624959684402285819651727465061333117599915630973960847326345010803258134364957747955950524830625589282333692955865534559377233788766403403134672409372298531654194525428762906130350466443267023768735992619520671594193618272408070706087947604217104181385021244275011880761449872702091753190702085247342394498057726072200337806295181112617380160417318251213501576033085837351138940941485242491909196894852254358400973376215906985052774009275784810282033875902520358102290307577171764162607980873865971232254352882585152443971380296199176474982214134268130703411380486470796690169582896734482026934377683055129383783247810120768275973564306742097728491132493151306381677662309479460932329936572591183689293473707984982611263886968713108911468500245582326465483669458759777553523408663169821033696478237091947412249538141268185951676410361653758558895625151008072874180666842337766739996564027372601106066215805386207626980420806348149325367268706302412129163117398412122119714507468582300233080642952685999370791784017436322656046065094059399754040879471383300666785417418677660494994838101919310483397947748152933792652361893275755431166854469016434244676346031870164411199276939238510562470766082706464054761123896393687535784947096529415019611415646847836115385216282277716625738531686055478323376685828526200341536020334484700103758093084373584812976108674730543285172216516536221122647140389165432666986808456857258415178906695968999390743997657259661805513636831273264152729890641931245973213543685490169784501096946700106541287963065752079752630402425113198219553762413659120636273898832094432118249591959041793085490621118334028834465057778198808057958390344660260093666248612929682894328277189747314155098178356186708379394087306312540083872007534972103700156139631418983447725090242870786620038930700310699446162253337710427796837664897310430808652303706452821707090687542191335638242717345252694282294983521843084568435669305241693008028849404838367477059302826402221039801695048800521392800685837842937515382274270068767162836110938507860895922282219056714102154047411343738763914258440617527178297825790477255651052554860332776813487716722861942444076261157237419201775100835449102308910458770218156550702909202424512076549954556986115424359102050825865268188816714495772451865112227274511550103300618360884769215299100461825554635560403547670171220456536892280642461375353727498275396010753092788136580752628272203230121391554894746468121335315861542990460081226727445338853485738964231215736767845600089962562317742320838391583871923271797865889081528016831909404153776841287398100669460597998374417126888959301993997915825545039359185172918880240631947993030544876066965995661208115332323731312013767870108596084622149621456994771745809109460426155586443534728796490255598575801174765486069636209548134678976857333804124174326349295106634307248767061123442125875703048381116509985388020688469130934182477777261733981774884500222521957316542835377743858465501962580666441822884711817372693830975804770353231620058736957145802385744065641514972214782964162082191815985888426227461460026621525933790890005365545184721093850144876486570404780282334239640887057550019727796451002333008653034143553808361434853094548236754915895387928868407 298756140876206444760199670819798344298496380225146777764567500974922898973437244775985227923841472676576662227909497689932344547251237907935398845754836213398931737825143795076928501685567047342306998137970693775035670284609209227346811934318181081790288227444953196178780939969163602980859938386787575469755032397711931183343236538335772107997501803339814898905909246333699887347156620473011159510466660262497760184377088350053561604558055703840785634044407218113247939849612335402794711402247766427824454581545188062520634208240548665196923124624072474463921834590506620450487386983359714846538059975256393188894547709770870208293985246694657072205742925483255339873704200637015698984736837067116540504147191949931538644921167981959865530668518900700747946050918161101940029432565922188712785066230757599257140541690061036717713609507912423872639953671277477695493848126681942558536819703628004009808525817758495750325538482540988818344706945203212165279860592957514504266125470110482795593357533772404181058003896210785989393136787702499554223017011839548207878839768471924709359424417435791584688271958194511317220444883517958663359721219156273760175843430054653214920327747638665350048376550575507693926370905827681763927686495824697802271480048428719353614691589989652918260315232599123966002870506812626597332608055468471460543772443541280345573960698359836342793935699316051542176353063194315032261760116315351689407114888542578565226448538879721487565506231054532134654168028033540968838347115087968278611098985306871418366174906786109352175588190342619873882034951238646952642345729515624873616762331837801284584931218694232193719289070699598567578027929465454343775739358299891604820573012762691002197620577986891214111549796592514701196281329255975886692763354712629646333911694521146405467445896514648232374598139994447684612874306571722058879884220682689573115372443151893841382911989945779506654525224002994993698101478219557423357027373551678148087873156720732063770727523462947606354386244400304390609003582380341649503527874358577853141970165354278077602981820498958087706203645890738928749621627659659273941075074927546865642626649697226193878783178085039596288753946518741188627801980962302249863864576716836075096129825509300360778444710107211649001130397226767440268460286010517572094178093566193702634973889697140441126503749478399932409332800199414056004745923386599229330420010849295343137413013026536704481574314088536927083219245695019283851620120955883469145572672088641696028034004646028274975531004984463861307443374163950137950575503183063500580367599322222457673627294200665463841505700732895863227806675333747094281254192853335037310352115363391203951904517914175921688466267678894210478000198686623623887338488892691035163188082500133823417787522164730501047125902614171488933348783064458303887028846576206852501869483485880779048946140040476099195855084181125396357258733064644453494006810210701325539369587038028992925937185485550370268148685701855368022414800582292872100428829650640968647046844459051470634645983557766487423888872357893499283753498958041880369861767416669016508374802829399758990714092209010012715694153019249759254591757674165557012144560871148851310785748284915219326058052113792211292103984741045056514018033604360941611117891396357386964563703229713569037821363804202232536156075887327813281144259800859166431299540853914094330060520802540310848535624957664365261044843796647548039068687178627901756374459385336362395063935046967494744592950149510525624982560284065080433836347304188636 483397590285453819039198568872073568451400660510355048362963442910364923485893198908443233294334161665428737416584231723358679895487732334260939559105256914550240072788089496350102885608851219798411437981782832856090407223115243048322771713386421421858629785265970464349584753461575052313739309844652200429439434683531582910808297871453372023628475764187141243916712504468064845095112570997841785099748993955453625718936465583842328007961190376250157932576061412638676702755742685869237978426016502420443975253139381680793042278946636612801140228805457495708196846471268070323189478736550416931785402369754450914966748047577165389406602626855074390456956427059288425711055339577957184227228746264011392758505592923307754551906220755969141315478800934576650466409020451409517201196728530169586651037463011952139725694134032417013912785982894638006908084374688858181964644816851525455271301730562381692863655201541743560446306758514553125086804673694344658431166974635176813745586402440419368184541223065877889042986507474672958106245699170999799805343477323217666638617321995333372529245451132269821780219370444049458488630835194369025013479778051898911183916304235320057258094487635229377420977656641723499312578532808102570275835821191966508573892177591836752026813709704160386842615465679766918688869877604410614768930711514536554603172197582159816957261365145253761471596194310889644095663546592262780414693908967713582682870319709433034242882783556067519435670642253809073892678590504307051544811169849092175004786521091818514895589926397524999023424305727836156159751576977178638697824052892310702142962673373821619069631322452325278092873883675707242308571214637670860311960480947031993986005679749499459054878993165797910080549187336512358455943134769612717966027507442520288265157667734690090957615681015745179074704681282410750364954059202124483993082440236451986774493079425792673477344108195371465696318309493616112032130312684615201555835431510068492748133250386980676700410417791224796101700399498482746795711961774428955816067958230585388114073865510417709021965268224048330576990265929669629060321073821912611651502871765211762953057458349529900331604885175727138480089584761458533880496263257285771706949145152505380337822833538149765616812187166514475403351437028462489068981678811203409937115608948467972703741052533251379634364645400682151466046902353461467348484687300857669947947189147121133614668664079091564814351127576253649945161689771280441089039322730984304594674980999100466246190555348937477400043081534418418293558798523052188776440771371880215076140051187334684948138844303966082202390469948194963689632229969307497828924364073791574202632757824766557679402793310186674781254404259646838750203428808015178782084957014026351024731072960215050145232861018216240011357118350939334533438745626776046207867238160078775773667349374962307065778049444629876037142482281794856955257107481771342453308804208617151084408946223201911806177817433543400813024752667851029230530132906024184114196699759237053269196465916046242380455093018192643010332407086689989539352074759216645855931403626217151187351660163203883165040441504116647022942920080373201380467460722546673522129948891837320441719930762692481060039826998292433814061301283880434257876499106323522277559714281069204337257534205518339391052983862939189681958461631393454796116474583823328513491356839802520557521980829161836782326514963029910445765937646792424525639091958910235996015346442886382122860386049300503397627093703318887059835654832301835349731735233057043 782153731161660263799398239691871912749897040735501826127530943885287822459330443684428461218175634342005399644493729413291024442738970242196338404860093127949171810613233291427031387294418267140718436119753526631126077507724452275669583647704602503648918012710923660528365693430738655294599248231439775899194467081243514094151534409789144131625977567526956142822621750801764732442269191470852944610215654217951385903313553933895889612519246080090943566620468630751924642605355021272032689828264268848268429834684569743313676487187185277998063353429529970172118681061774690773676865719910131778323462345010844103861295757348035597700587873549731462662699352542543765584759540214972883211965583331127933262652784873239293196827388737929006846147319835277398412459938612511457230629294452358299436103693769551396866235824093453731626395490807061879548038045966335877458492943533468013808121434190385702672181019300239310771845241055541943431511618897556823711027567592691318011711872550902163777898756838282070100990403685458947499382486873499354028360489162765874517457090467258081888669868568061406468491328638560775709075718712327688373200997208172671359759734289973272178422235273894727469354207217231193238949438635784334203522317016664310845372226020556105641505299693813305102930698278890884691740384417037212101538766983008015146944641123440162531222063505090104265531893626941186272016609786577812676454025283065272089985208252011599469331322435789007001176873308341208546846618537848020383158284937060453615885506398689933261764833183634351199012496070456030041786528215825591340169782407935575759725005211622903654562541146557471812162954375305809886599144103125204087699839246923598806578692512190461252499571152689124192098983929027059652224464025588604658790862155149934599069362255836496425061577530393411449302821276858434977828365773846542872966660919141559889865522577686514860256098141150972350843533496611105730231790904172624912862805061746640836006407107712740471137941254172402456086643898787137404715544154770605319595832589163241256044030864695786624947088723006418283193911820408557809942701481571885592577946692758628595684108046756094210388063260766734768843531280199722508298244219588021570813721869341455433952659047450126395256897273726124404481834255229929337441964821720982031293702514661675338714942230391820760868394879082083875379702552875523353230610687456899278367199996416476752081677105628269295925441664790577028380935466299724940659443686867773740247653087742162274224559994965752375574086518882279601002172687002326727016274554943715656507650509557142621766138504631546043896170681090826917438905303054592110178556927126611512984873188157761631307311224362596469720671938541049228203627494638802669423445906717386187919155460348873563020383182946741058483020965110823466787528691234350094896084736285628275536832860843086114724189485105975232997566462920253312515840546415795947315614419318476623778533261230904732115002919093771081173438369706397252944933488317056214625529409878021916243310375097713015101076575959130434221279444583488823105573717258526225793171042886167695726462992603642155754533713126659738637073099622960635059218396712230534274509762986171752505679047607700386097879112084645106165286024925490771894532710684463888677605677426591301821237435231908428874347667141422218114537518721268077260734384682494944790897693716614887582501631702147630862139920694275706810781443439972564707779137538137752389805828222744517924321096267998142220043852829412684818215116366915783568082537245679 1265551321447114082838596808563945481201297701245856874490494386795652745945223642592871694512509796007434137061077961136649704338226702576457277963965350042499411883401322787777134272903269486939129874101536359487216484730839695323992355361091023925507547797976894124877950446892313707608338558076091976328633901764775097004959832281242516155254453331714097386739334255269829577537381762468694729709964648173405011622250019517738217620480436456341101499196530043390601345361097707141270668254280771268712405087823951424106718766133821890799203582234987465880315527533042761096866344456460548710108864714765295018828043804925200987107190500404805853119655779601832191295814879792930067439194329595139326021158377796547047748733609493898148161626120769854048878868959063920974431826022982527886087141156781503536591929958125870745539181473701699886456122420655194059423137760384993469079423164752767395535836220841982871218151999570095068518316292591901482142194542227868131757298274991321531962439979904159959143976911160131905605628186044499153833703966485983541156074412462591454417915319700331228248710699082610234197706553906696713386680775260071582543676038525293329436516722909124104890331863858954692551527971443886904479358138208630819419264403612392857668319009397973691945546163958657803380610262021447826870469478497544569750116838705599979488483428650343865737128087937830830367680156378840593091147934250778854772855527961444633712214105991856526436847515562150282439525209042155071927969454786152628620672027490508448157354759581159350222436801798292186201538105193004230037993835300246277902687678585444522724193863598882749905036838051013052195170358740796064399660320193955592792584372261689920307378564318487034272648171265539418108167598795201322624818369597670222864227029990526587382677258546138590524007502559269185342782424975971026866049101155593546664358602003479188337600206336522438047161842990227217762362103588787826468698236571815133584139657494693417171548359045397198557787043397269884200427505929199561135663790819748629370117896375113495646912356947054748860184177750078186870263775303484497244080818457970391548741566396285994541992948436493873248933116041658256388794507476873793277762867021846835771775492585599892012069084440240599807833271283692418406423643632924391968409311463129648042455994763643200395233040279764235341426604906336990701715297988314569226314389143537610366750341184719834110276569241044226973542625237580166029698766417852078334922634086842628520415115343903229775617168053300697894560971210054515503457045926823930732647701696891827569904982808597628246286640629285790607071135272362089939102921000918185715617631012924319310710104534549271250975076198187887978407056302653981451508402920743737212650228420563923708253244201162981069840139316050158000226274318010396302763322896364404049204182235805393180502238929735851270140048744715110267772948028187138400624418627935627708187479484432816538292820352637171894198191037557426483475066394341240328822229169115075185439776291143955395556169594151773444553686531273478362457648476475172081724574669103318883078123155807525320794975217243306761579993179996162015526679119258904056404458654823492194225609810300181446137706110377078920226587308805925029771031817007986166237319958495795639078771640750247819927331530080611900072999150114722873377208968505823458282254533519135445104482460863984413188654883724186152576719090232397090346871096448373748405152271109126640784707145568501539847137556148299744653869948668751133299817770302722 2047705052608774346637995048255817393951194741981358700618025330680940568404554086277300155730685430349439536705571690549940728780965672818653616368825443170448583694014556079204165660197687754079848310221289886118342562238564147599661939008795626429156465810687817785406316140323052362902937806307531752227828368846018611099111366691031660286880430899241053529561956006071594309979650953939547674320180302391356397525563573451634107232999682536432045065816998674142525987966452728413303358082545040116980834922508521167420395253321007168797266935664517436052434208594817451870543210176370680488432327059776139122689339562273236584807778373954537315782355132144375956880574420007902950651159912926267259283811162669786340945560998231827155007773440605131447291328897676432431662455317434886185523244850551054933458165782219324477165576964508761766004160466621529936881630703918461482887544598943153098208017240142222181989997240625637011949827911489458305853222109820559449769010147542223695740338736742442029244967314845590853105010672917998507862064455648749415673531502929849536306585188268392634717202027721171009906782272619024401759881772468244253903435772815266601614938958183018832359686071076185885790477410079671238682880455225295130264636629632948963309824309091786997048476862237548688072350646438485038972008245480552584897061479829040142019705492155433970002659981564772016639696766165418405767601959533844126862840736213456233181545428427645533438024388870491490986371827580003092311127739723213082236557533889198381419119592764793701421449297868748216243324633408829821378163617708181853662412683797067426378756404745440221717199792426318862081769502843921268487360159440879191599163064773880381559878135471176158464747155194566477760392062820789927283609231752820157463296392246363083807738836076532001973310323836127620320610790749817569739015762074735106554224124581165703197856304477673410398005376486838323492593894492960451381561041633561774420146064602406157642686300299569601013873687296057021605143050083970166455259623408911870626161927239809282271859445670061167143378089570486744680206476785056382836658765150729020144425674443042088752381011697260608017776647321857978897092751696461814848576588891188291205728151633050018407325981713966724212315105538922347743865608454645373999703013977791323381170936994035021156101435158846319216806307459212514054945908675771468504681589139954087118832018290348103406202010905834804001923560703879890970358210104719852075170287174584790794639675338868982151191254572182977495563143897056842230473320481767646389155352206448970191671121313229174290182811310376617524510040575416682049281477928044797228602504201082080942017415758911867720695748136728937206610683797292784120931848827461123400569383880912797271273627384109722128323160281160981467013803009244746397659407632650032324741015096648479295226428414841826503137615207635363580288788574602934347940033047254104331966012745663721270407823271730942975371629407263823736419999882658296543447758578993097101683086666241668410657246170110903878774965975856967185563222193733698307517745711989486578804586148411167476549508930369966500217066279619122650585897515971134590678968417809663946731288857907881832235585222461724026391873333731415801665564527692450054914925635922386940900009075982156248801679197222034118187536668835990950637943353188318403073152227235750332686984092566132044050794804418461859387500533672369655054650233986511500794958099331871158709028241836499682067181408977712429472085065035666916867900307548401 3313256374055888429476591856819762875152492443227215575108519717476593314349777728870171850243195226356873673766649651686590433119192375395110894332790793212947995577415878866981299933100957241018978184322826245605559046969403842923654294369886650354664013608664711910284266587215366070511276364383623728556462270610793708104071198972274176442134884230955150916301290261341423887517032716408242404030144950564761409147813592969372324853480118992773146565013528717533127333327550435554574026336825811385693240010332472591527114019454829059596470517899504901932749736127860212967409554632831229198541191774541434141517383367198437571914968874359343168902010911746208148176389299800833018090354242521406585304969540466333388694294607725725303169399561374985496170197856740353406094281340417414071610386007332558470050095740345195222704758438210461652460282887276723996304768464303454951966967763695920493743853460984205053208149240195732080468144204081359787995416652048427581526308422533545227702778716646601988388944226005722758710638858962497661695768422134732956829605915392440990724500507968723862965912726803781244104488826525721115146562547728315836447111811340559931051455681092142937250017934935140578342005381523558143162238593433925949683901033245341820978143318489760688994023026196206491452960908459932865842477723978097154647178318534640121508188920805777835739788069502602847007376922544258998858749893784622981635696264174900866893759534419502059874871904432641773425897036622158164239097194509365710857229561379706829576474352345953051643886099667040402444862738601834051416157453008428131565100362382511949102950268344322971622236630477331914276939861584717332887020479634834784391747437035570301867256699789663192737395326460105895868559661615991249908427601350490380327523422236889671190416094622670592497317826395396805663393215725788596605064863230328653218582726584644891535456510814195848445167219477065541254955998081748277850259278205376908004285722097099574814234659344966799571660730693326905805570556013169727590923414228660499996279823614922777918771802617115916003562267320564931550470252088540880080739583608699411693167240839328083294373960133754481266709763363516235285887259173335608126339455913035126977503644218649910419395066154207324020148376822614766150289252087569765968112325440920971423626931757678221551334475438610554558232912365549504756661206664086037730995978283491697485582359475067937516478580146879030975466185941460057000056976522571930410092921261427419315054790682772211926808422625483675390124115107111357733930366408591577121803053903340797761576104121826802536469451939662408131581175847778771988384398928962982944220135214006400252727520293461138971670824334916825185017740099946765572440251748204860613219612301476720979526871585272703198163299597211139467240077327255142700422730529014436373945197332453872475728667344577677773277663952350473848061736602790072748564451675189732040153492230096537808700643624368114869569820444821250219895066276999536872269987748108172287122862957385623806213415764262677323328652507130445548020870670208870389242320381092805461882709304218692797344484147613273261797059459615284666112576635230038647083427072633156140956898668208063278373291332838802946618460642537340831436596344700436221152245594418182579978780716732404068729010727302646018260535818950713824015152321694141861355406760754885777791466553430116457239449688142648011964219623904766745401521330434885249200110370440997799493735387405001221914318965126012174125955013704418050167718077851123 5360961426664662776114586905075580269103687185208574275726545048157533882754331815147472005973880656706313210472221342236531161900158048213764510701616236383396579271430434946185465593298644995098826494544116131723901609207967990523316233378682276783820479419352529695690582727538418433414214170691155480784290639456812319203182565663305836729015315130196204445863246267413018197496683670347790078350325252956117806673377166421006432086479801529205191630830527391675653321294003163967877384419370851502674074932840993758947509272775836228393737453564022337985183944722677664837952764809201909686973518834317573264206722929471674156722747248313880484684366043890584105056963719808735968741514155447673844588780703136119729639855605957552458177173001980116943461526754416785837756736657852300257133630857883613403508261522564519699870335402719223418464443353898253933186399168221916434854512362639073591951870701126427235198146480821369092417972115570818093848638761868987031295318570075768923443117453389044017633911540851313611815649531880496169557832877783482372503137418322290527031085696237116497683114754524952254011271099144745516906444320196560090350547584155826532666394639275161769609704006011326464132482791603229381845119048659221079948537662878290784287967627581547686042499888433755179525311554898417904814485969458649739544239798363680263527894412961211805742448051067374863647073688709677404626351853318467108498537000388357100075304962847147593312896293303133264412268864202161256550224934232578793093787095268905210995593945110746753065335397535788618688187372010663872794321070716609985227513046179579375481706673089763193339436422903650776358709364428638601374380639075713975990910501809450683427134835260839351202142481654672373628951724436781177192036833103310537790819814483252754998154930699202594470628150231524425984004006475606166344080625305063759772806851165810594733312815291869258843172595963903864747549892574708729231820319838938682424431786699505732456920959644536400585534417989383927410713606097139894046183037637572370622441750854732060190631248287177083146940356891051676230676728873597262917398348759428431837592915282370172046754971831015089284486410685374214182980010869797422974916044804223418183231795851699928826721047868174048232463482361537113894154860542215139967815339418712294804797868751713242707435910597456873775039219824762018811607115339857506235677567423445784604414377765416040922680591052713834977389746645339947970415186627291782485263208436012210109694466021641194077999677197666652885687259004168199964403686890359223510958406109789767953247225435055976826652263250039025656091216423195454037665876857007780172822639415088481194744936052373006692366572471645762391628423897239549693372100575665984013788996182389518250800498969382425326486459878372120934253880336499889098082138161664468698686212429102351770955095759419504276415279159985837428350525177393007096504484722443836372119504975760259079108466896099057844941449852085073956315066159657833415717746327101269388805949623627292216870661934373581202103618482987412733584092863942568696760066093082292040687295452629860273893993077983239762014125739234407316698474151201173237762395490442820087688187526115945110608876555300526973010333976268756633102160872392886276067171230340569520878789792714560317530689924524680136448072487786704774653095674882460264428558987990636110478450645996248501290244492561109871351720157577136400456171564421396749995068469772868958202763629241500903981500374103724603598040078740084967035618385399524 8674217800720551205591178761895343144256179628435789850835064765634127197104109544017643856217075883063186884238870993923121595019350423608875405034407029596344574848846313813166765526399602236117804678866942377329460656177371833446970527748568927138484493028017241605974849314753784503925490535074779209340752910067606027307253764635580013171150199361151355362164536528754442085013716386756032482380470203520879215821190759390378756939959920521978338195844056109208780654621553599522451410756196662888367314943173466350474623292230665287990207971463527239917933680850537877805362319442033138885514710608859007405724106296670111728637716122673223653586376955636792253233353019609568986831868397969080429893750243602453118334150213683277761346572563355102439631724611157139243851017998269714328744016865216171873558357262909714922575093840929685070924726241174977929491167632525371386821480126334994085695724162110632288406295721017101172886116319652177881844055413917414612821626992609314151145896170035646006022855766857036370526288390842993831253601299918215329332743333714731517755586204205840360649027481328733498115759925670466632053006867924875926797659395496386463717850320367304706859721940946467042474488173126787525007357642093147029632438696123632605266110946071308375036522914629961670978272463358350770656963693436746894191418116898320385036083333766989641482236120569977710654450611253936403485101747103090090134233264563257966969064497266649653187768197735775037838165900824319420789322128741944503951016656648612040572068297456699804709221497202829021133050110612497924210478523725038116792613408562091324584656941434086164961673053380982690635649226013355934261401118710548760382657938845020985294391535050502543939537808114778269497511386052772427100464434453800918118343236720142426188571025321873186967945976626921231647397222201394762949145488535392412991389577750455486268769326106065107288339815440969406002505890656457007082079598044315590428717508796605307271155618989503200157195148682710833216284162110309621637106451866232870618721574469654838109403050904292999150502624211616607781146980962138142998137932368127843530760156121698255341128931964769570551196174048890449468867270043133031101255500717258545160735440070349839246116114022381372252611859184151880044444112629784905935927664859633266228424800509391464258770386036067428333272132190311523568268322003943543966673545706937482089996737240483978439159171199592865952855932586800004970472163149863712895356129697439629424749256704413406004808099823150328275811374111279557698334053298950800632761460013130565714823329556882779363121715189701433787672392270974226026050275785970763117042774629094881447472456345834145664037396806562587576646163997186315265812352323870844627008608483866239230327370554655128524649759475583260401493957663755031798504868690678905072631409761556224246683763103997182049692943112336311276412261780183079845068936397633568412272997205856796887809110520467172714511270296906324176210132436657370287987734075209441675928812581012916023084077698636258525432270990117858281604963534151439086002386474175097502570004756848553071238477225596513023811185198849691982811050786431211884845822563075976228645086194324008388982167888139329919628794618806097464538757217093322497219416824758752100857570509446964386259700651827326154708608306737418598668247996576602125783965748745521888269917199426364958529694180703757883315939781481903145857692894856281999195178840213866757696499016646502125895819339229736777723995092444503017203336463250647 14035179227385213981705765666970923413359866813644364126561609813791661079858441359165115862190956539769500094711092336159652756919508471822639915736023265979741154120276748759352231119698247231216631173411058509053362265385339823970286761127251203922304972447369771301665432042292202937339704705765934690125043549524418346510436330298885849900165514491347559808027782796167460282510400057103822560730795456476997022494567925811385189026439722051183529826674583500884433975915556763490328795175567514391041389876014460109422132565006501516383945425027549577903117625573215542643315084251235048572488229443176580669930829226141785885360463370987104138270742999527376358290316739418304955573382553416754274482530946738572847974005819640830219523745565335219383093251365573925081607754656122014585877647723099785277066618785474234622445429243648908489389169595073231862677566800747287821675992488974067677647594863237059523604442201838470265304088435222995975692694175786401644116945562685083074589013623424690023656767307708349982341937922723490000811434177701697701835880752037022044786671900442956858332142235853685752127031024815212148959451188121436017148206979652212996384244959642466476469425946957793506606970964730016906852476690752368109580976359001923389554078573652856061079022803063716850503584018256768675471449662895396633735657915262000648563977746728201447224684171637352574301524299963613808111453600421557198632770264951615067044369460113797246500664491038908302250434765026480677339547062974523297044803751917517251567662242567446557774556894738617639821237482623161797004799594441648102020126454741670700066363614523849358301109476284633466994358590441994535635781757786262736373568440654471668721526370311341895141680289769450643126463110489553604292501267557111455909163051203395181186725956021075781438574126858445657631401228677000929293226113840456172764196428916266081002082141397934366131512411404873270750055783231165736313899917883254272853149295496111039728076578634039600742729566672094760626997768207449515683289489503805241241163325324386898300034299191470082297442981102668284011823709835735405915536281127556275368353071404068427387883903795784659835682584734264663651847280912930454076171545521481963343967235922049768072837161890555420485075341545688993938598973172000045903743004278345561033222669261104706966206296633524302108311352015073542379875437343801050202351113130383266694411115005900019361839762252306700930245679232139952940887349777155495380619338133451839534443722726054600082807777020816981161498633115447757662737740189310024143719866122920333668070554991938756189773978439740459443763608694169680063716152642978543289865414044183362642217392398207152356403969278208349968274587894425864959184452899536828640797604666255757481127869524037553851136219353955381335747838000254920896587006852343373771317622190658576017638858863416686326108222272322148704762786957576086941573421120077404784392502181617055966917577416566230559452720148991398132525198596315203703705480402310711064734762204640208239954739633009839727535889473105271015189056398094007782762452567257389543257300209478413345132470303579752785825310938084099299509524937632385122608218053518796316333273720439953499591044443439856892639128595074854097640918089486208773286588055099321621736360302161524703790390576352006291156680794524123373321343671459062390212524736736157998748367845422613459819938673264867754667659939059039546313864459277678749190247309986735715899262645888003029877319713333461381322035171184587984238954848650171 22709397028105765187296944428866266557616046442080153977396674579425788276962550903182759718408032422832686978949963330082774351938858895431515320770430295576085728969123062572518996646097849467334435852278000886382822921562711657417257288875820131060789465475387012907640281357045987441265195240840713899465796459592024373817690094934465863071315713852498915170192319324921902367524116443859855043111265659997876238315758685201763945966399642573161868022518639610093214630537110363012780205931764177279408704819187926459896755857237166804374153396491076817821051306423753420448677403693268187458002940052035588075654935522811897613998179493660327791857119955164168611523669759027873942405250951385834704376281190341025966308156033324107980870318128690321822724975976731064325458772654391728914621664588315957150624976048383949545020523084578593560313895836248209792168734433272659208497472615309061763343319025347691812010737922855571438190204754875173857536749589703816256938572555294397225734909793460336029679623074565386352868226313566483832065035477619913031168624085751753562542258104648797218981169717182419250242790950485678781012458056046311943945866375148599460102095280009771183329147887904260549081459137856804431859834332845515139213415055125555994820189519724164436115545717693678521481856481615119446128413356332143527927076032160321033600061080495191088706920292207330284955974911217550211596555347524647288767003529514873034013433957380446899688432688774683340088600665850800098128869191716467800995820408566129292139730540024146362483778391941446660954287593235659721215278118166686218812739863303762024651020555957935523262782529665616157630007816455350469897182876496811496756226379499492654015917905361844439081218097884228912623974496542326031392965702010912374027506287923537607375296981342948968406520103485366889278798450878395692242371602375848585755586006666721567270851467503999473419852226845842676752561673887622743395979515927569863281866804292716346999232197623542800899924715354805593843281930317759137320395941370038111859884899794041736409437350095763081447945605314284891792970690797873548913674213495684118899113227525766682729012835760554230386878758783155113120714550956063485177427046238740508504702675992399607318953275912936792737687200729840873983043085801784951839670669137978827261647469770496171224976682669591730441583484205385065948143759347744594169024658837320748784407852246383997800998933451899566883101611818939957911359512927019208275975467830891468959192979430468006087615876843967309437310007226727315361071793488260824776481326136050899382893884548821535552895693629441893231436000965143906089766428428949306406908188673278244089689848744041298020441366084770937544920751891612180224996805223407673267806213150121996711455240078692682375785978829538641737241795664009952695091875543022278843949031952214800264322621967413868375801165384658459981175048737759166786642357517710973196665499387473852854726687937033403273963990445897722308735331032972573991693214477520152740663574785653124263038817331646098252968160463223129296794019932245446868764839041432487045827304966326966416370947529176265809636496136933791282320575724063597007454040616594772544978359914763961888573212331579186812267923213880951562179675306579531270506004879858073722593930811608489090050091228179332445865289101261541971989591668035664515996490485481679887018285044848978418349632853968625637983599720540942692171557354133960748385426150200602473595761662534505155773139052563198159046030263629091001442291311900818 36744576255490979169002710095837189970975913255724518103958284393217449356820992262347875580598988962602187073661055666242427108858367367254155236506453561555826883089399811331871227765796096698551067025689059395436185186948051481387544050003071334983094437922756784209305713399338190378604899946606648589590840009116442720328126425233351712971481228343846474978220102121089362650034516500963677603842061116474873260810326611013149134992839364624345397849193223110977648606452667126503109001107331691670450094695202386569318888422243668320758098821518626395724168931996968963091992487944503236030491169495212168745585764748953683499358642864647431930127862954691544969813986498446178897978633504802588978858812137079598814282161852964938200394063694025541205818227342304989407066527310513743500499312311415742427691594833858184167465952328227502049703065431321441654846301234019947030173465104283129440990913888584751335615180124694041703494293190098169833229443765490217901055518117979480300323923416885026053336390382273736335210164236289973832876469655321610733004504837788775607328930005091754077313311953036105002369821975300890929971909244167747961094073354800812456486340239652237659798573834862054055688430102586821338712311023597883248794391414127479384374268093377020497194568520757395371985440499871888121599863019227540161662733947422321682164038827223392535931604463844682859257499211181164019708008947946204487399773794466488101057803417494244146189097179813591642339035430877280775468416254690991098040624160483646543707392782591592920258335286680064300775525075858821518220077712608334320832866318045432724717384170481784881563892005950249624624366406897345005532964634283074233129794820153964322737444275673186334222898387653679555750437607031879635685466969568023829936669339126932788562022937364024749845094230343812546910199679555396621535597716216304758519782435582987648272933608901933839551364638250715947502617457118788479709879433810824136135016099788827386727308776257582401642654282026900354470279698525208653003685430873843353101048225118428634709471649287233163745388586416953175804794400633608954829210494623240394267466298929835110116896739556338890222561343517419776772561831868993939253598591760222471848669911914449375391790437803492213222762542275529867921642058973784997743413673416324388294870139031600878191182979303116032549894836220458608328019196691545644371375771967704015478818967252284017162838695704206267813347291051079910852246862704174703656594805964343308493636702156522606170423653864784290598808640342175073023809533677570848920201192258971233050964439540760291742669672069182352675199609659313586153482581071927849696773602717461606731907241142248450376845335362979287513195339786038045184181258122944501908603817816377754192583109602730236226922198183494023072989633664264873591678882395365652615266654142873376281961480830830554701909387656980608685937835695335253728215778637788377981058001569090908821644265353599633833416710594889120441260529629287777695398694879830863805398336990293332502993556964655937980504049936328400311983076330339454651527291608689876589084605175805379761503417832756018595461807075017890581830100661695982130062258670113568861311633635203915388164256775019043704907051808955805659820593396065740043792592934957395344330291113770013793840481804531338737021969895785665345310935339494726906209015222217837885766652890271591878169571527233493392651259659599982238485421813411639497575673460187338189495024308422508185650458765896659540368065434813678985681246160550989 59453973283596744356299654524703456528591959697804672081354958972643237633783543165530635299007021385434874052611018996325201460797226262685670557276883857131912612058522873904390224411893946165885502877967060281819008108510763138804801338878891466043883903398143797116945994756384177819870095187447362489056636468708467094145816520167817576042796942196345390148412421446011265017558632944823532646953326776472749499126085296214913080959239007197507265871711862721070863236989777489515889207039095868949858799514390313029215644279480835125132252218009703213545220238420722383540669891637771423488494109547247756821240700271765581113356822358307759721984982909855713581337656257474052840383884456188423683235093327420624780590317886289046181264381822715863028543203319036053732525299964905472415120976899731699578316570882242133712486475412806095610016961267569651447015035667292606238670937719592191204334232913932443147625918047549613141684497944973343690766193355194034157994090673273877526058833210345362083016013456839122688078390549856457664941505132941523764173128923540529169871188109740551296294481670218524252612612925786569710984367300214059905039939729949411916588435519662008843127721722766314604769889240443625770572145356443398388007806469253035379194457613101184933310114238451073893467296981487007567728276375559683689589809979582642715764099907718583624638524756052013144213474122398714231304564295470851776166777323981361135071237374874691045877529868588274982427636096728080873597285446407458899036444569049775835847123322615739282742113678621510961729812669094481239435355830775020539645606181349194749368404726439720404826674535615865782254374223352695475430147510779885729886021199653456976753362181035030773304116485537908468374412103574205667078432671578936203964175627050470395937319918706973718251614333829179436188998130433792313777969318592153344275368442249709215543785076405933312971216865096558624255179131006411223105858949738393999416882904081543733726540973881125202542578997381705948313561628842967790324081372243881464960933124912470371118908999382996245193334191731238067597765091431482503742884708118924513166579526455601792845909575316893120609440102300574889893276382825057424431025637998962980353372587906848982710743713716429005960449743005370741904685144775569949583084342554303215556517608802097049416159661972707762991478320425843674276162956039290238540400430805024764263226819498668014963837629156105834696448902870019868763606375631193911932570273795234777452829681586990612258039530708751600036118647568902388384881327165831673696682518395022132433858324089581827295565365698624245906635610624457492243249009500877156103681791390739850821597089886289748397286701447750225058116091677650225409178063346352175176410030966499750904038349681422918602708177013032664810231429328274826286770757938387931459215686095088176546284102798244423077710553041639068667112884433094420514858136155499351177723500956564761676370953290633037107380701040786842749995860662260351687091909357351016546061911775946456766032374296302036233472210399551529608777096262584901520292130650122363634911910142132346177874365361932284405098303211951681864150676385759579137516299286708341406289993549967877276737469106598230517174975022836757222000268702645271314298597814815469066924221925378502883890573032710671182887258997047207317300527007530391422205505707699517772784937935120570296519204381202119030634859380140924930656979167545600245961099610387940663090785970957013341423597818459857699414095698442769987123537472451807 96198549539087723525302364620540646499567872953529190185313243365860686990604535427878510879606010348037061126272074662567628569655593629939825793783337418687739495147922685236261452177690042864436569903656119677255193295458814620192345388881962801026978341320900581326251708155722368198474995134054011078647476477824909814473942945401169289014278170540191865126632523567100627667593149445787210250795387892947622759936411907228062215952078371821852663720905085832048511843442444616018998208146427560620308894209592699598534532701724503445890351039528329609269389170417691346632662379582274659518985279042459925566826465020719264612715465222955191652112845864547258551151642755920231738362517960991012662093905464500223594872479739253984381658445516741404234361430661341043139591827275419215915620289211147442006008165716100317879952427741033597659720026698891093101861336901312553268844402823875320645325146802517194483241098172243654845178791135071513523995637120684252059049608791253357826382756627230388136352403839112859023288554786146431497817974788263134497177633761329304777200118114832305373607793623254629254982434901087460640956276544381807866134013084750224373074775759314246502926295557628368660458319343030447109284456380041281636802197883380514763568725706478205430504682759208469265452737481358895689328139394787223851252543927004964397928138734941976160570129219896696003470973333579878251012573243417056263566551118447849236129040792368935192066627048401866624766671527605361649065701701098449997077068729533422379554516105207332203000448965301575262505337744953302757655433543383354860478472499394627474085788896921505286390566541566115406878740630250040480963112145062959963015816019807421299490806456708217107527014873191588024124849710606085302763899641146960033900844966177403184499342856070998468096708564172991983099197809989188935313567034808458102795150877832696863816718685307867152522581503347274571757796588125199702815738383549218135551899003870371120453849750138707604185233279408606302783841327368176443327766803117724818061981350030899005828380648670229408938722778148191243402559492065091458572095202742164907434045825385436902962806314873232010832001445817994666665838214694051363684624229759185452202042499821298358102534151519921219183212285280900609826327203749354947326498015970627603851387747833697927607342641275823795541373156646302282604182152730835882911776202772728779742045786750952032126676324860312102509796193921099779615853238335368615589165079759578085946466383743513218428463184573535890634927287911077461408690860843402522616883710653993365484822763630342119038235037767806598581835220283771078396731590572805005800455394108201457553504331028538198774132036810729512571311431463688270593359321469296677085013848782877505096621459284153154829630375196526687883221062992539699878449640333753584074482340237961552828245583629074977779619940698619677353050720128429674243073914793287729158781502525655670498015218644232670940797411635675963191256390291548129382490604237181880351460248766239789269025931260957974213976260335879929920760172592924356171819422258812240223996515317937725939377783194688303000560110286969572445980777047455561267578557956821910267601627185171792664901725881617274222082026831792562881820862098711011358091190749772864411254513039148516677731054837242009919909228892832872662611462347025118328414520929917355658551590825392162174688775908435612423286119039740907169142400980957239743536773070575278852585810279379521527074056584356517239782161133256448972804783633002796 155652522822684467881602019145244103028159832651333862266668202338503924624388078593409146178613031733471935178883093658892830030452819892625496351060221275819652107206445559140651676589583989030322072781623179959074201403969577758997146727760854267070862244719044378443197702912106546018345090321501373567704112946533376908619759465568986865057075112736537255275044945013111892685151782390610742897748714669420372259062497203442975296911317379019359929592616948553119375080432222105534887415185523429570167693723983012627750176981205338571022603257538032822814609408838413730173332271220046083007479388589707682388067165292484845726072287581262951374097828774402972132489299013394284578746402417179436345328998791920848375462797625543030562922827339457267262904633980377096872117127240324688330741266110879141584324736598342451592438903153839693269736987966460744548876372568605159507515340543467511849659379716449637630867016219793267986863289080044857214761830475878286217043699464527235352441589837575750219368417295951981711366945336002889162759479921204658261350762684869833947071306224572856669902275293473153507595047826874030351940643844595867771173952814699636289663211278976255346054017280394683265228208583474072879856601736484680024810004352633550142763183319579390363814796997659543158920034462845903257056415770346907540842353906587607113692238642660559785208653975948709147684447455978592482317137538887908039733328442429210371200278167243626237944156916990141607194307624333442522662987147505908896113513298583198215401639427823071485742562643923086224235150414047783997090789374158375400124078680743822223454193623361225691217241077181981189133114853602735956393259655842845692901837219460878276244168637743247880831131358729496492499261814180290969842332312725896237865020593227873580436662774777972186348322898002171419288195940422981249091536353400611447070519320082406079360503761713800465493798368443833196012975719131610925921597333287612134968781907951914854180390724019832806727812276790312251097402956211144233651848175361606283022914474943369376947289648053225654132056969879429311000324583496573962314979910861089420600625351841038695808715890190125131441441548118569556559114597519108788115649867758148432555415087728147340813277865236350225143662028286271351731012348524924896909582358524930819407905356635794977023502303248531558532851477072145956880345108770126121452176633577753544005272606249620047090513954016417937206245096791119648379459613966562527521735353554812863399296065330503830686502715282287490671045935479979849793572188009234196313566229049015497918681087719923946333800403466430844488470830908228570639980600073682161904137185498941308375101420914827947171418738258479737629427523141338496002537384815648852261423879749377256000659808965576073432338552209559352693452492320814526165220398272141515533698026333049729374529686427319400857330493740258746020163604561524094757932050948787080336505003482220432174386171934865708048178112676462805941252250953808481069582513594532896897522160542186246035058305557260010447448470735431459529537268855509257692111552908934603858908425460070072117252148556620587405658413498921254310131453433215140405094857243530251673891620735139669941639194988215504739257001854629320103821130801356282672389788564588333478178734964527019561621627869952681102796487889880079979911989354555509750620026637616873431336528760512732471207980289637731453920978419881832099799380148502839989497872680963219515676596250336534868497654402816374939196256831699218959928321105454603 251851072361772191406904383765784749527727705604863052451981445704364611614992614021287657058219042081508996305155168321460458600108413522565322144843558694507391602354368244376913128767274031894758642685279299636329394699428392379189492116642817068097840586039944959769449411067828914216820085455555384646351589424358286723093702410970156154071353283276729120401677468580212520352744931836397953148544102562367995018998909110671037512863395750841212593313522034385167886923874666721553885623331950990190476587933575712226284709682929842016912954297066362432083998579256105076805994650802320742526464667632167607954893630313204110338787752804218143026210674638950230683640941769314516317108920378170449007422904256421071970335277364797014944581272856198671497266064641718140011708954515743904246361555322026583590332902314442769472391330894873290929457014665351837650737709469917712776359743367342832494984526518966832114108114392036922832042080215116370738757467596562538276093308255780593178824346464806138355720821135064840734655500122149320660577454709467792758528396446199138724271424339405162043510068916727782762577482727961490992896920388977675637307965899449860662737987038290501848980312838023051925686527926504519989141058116525961661612202236014064906331909026057595794319479756868012424372771944204798946384555165134131392094897833592571511620377377602535945778783195845405151155420789558470733329710782304964303299879560877059607329318959612561430010783965392008231960979151938804171728688848604358893190582028116620594956155533030403688743011609224661486740488159001086754746222917541730260602551180138449697539982520282730977607807618748096596011855483852776437356371800905805655917653239268299575734975094451464988358146231921084516624111524786376272606231953872856271765865559405276764936005630848970654445031462175163402387393750412170184405103388209069549865670197915102943177222447021667618016379871791107767770772307256810628737335716836830270520680911822285974634240474158540410913045556198918553881244283579320676979614978479331101084895824974268382775670296723455063070779748027620554402884075561665420887075113603254328034671177226475598771522205063357142273442993936564223224952812213160151800274097517333884757457587549445698915812016756271444326874313567171961557339552274279844236080374495558423259293104469492904630844944524355354074224633718448239484527261500962004363952836350482323747318393000572079217190278876730039716041290712219427995312852301931143110900433314390949345762449074017049114965899855823381305973223391057311202263048852636718930449939703008863403503851350266065372035441234237443070306051191999649036712190646487167704592579607142765928605751943366145945550775069209250200738954605026766595896706284945529346437728532254761097281268249729228261968927406086040576673555313354226043670038605895099608180366571011282202775270056394378636950434438878423373214324689953769001005965742074809495286506007876102672401390579098378988975524312138769132508641245356610452073117831714777248982409308426035304084236818217984661424731071311389450297441448433613863930975167746844082904940778007798056629931751308890406218523785890826756112230480670701672673415200352161941493247920311462606540920869832778961339028686421882985641992900067294030480979314361197889433248003675536239352682707194691022705716782712952642523451701580628079034547567534229089888119585904894645896756198073343877207097459622739268941781129460079733034645751538498368262406529716056395571710987172892178978417964955667932733104738457399 407503595184456659288506402911028852555887538256196914718649648042868536239380692614696803236832073814980931484038261980353288630561233415190818495903779970327043709560813803517564805356858020925080715466902479595403596103397970138186638844403671335168702830758989338212647113979935460235165175777056758214055702370891663631713461876539143019128428396013266375676722413593324413037896714227008696046292817231788367278061406314114012809774713129860572522906138982938287262004306888827088773038517474419760644281657558724854034886664135180587935557554604395254898607988094518806979326922022366825533944056221875290342960795605688956064860040385481094400308503413353202816130240782708800895855322795349885352751903048341920345798074990340045507504100195655938760170698622095236883826081756068592577102821432905725174657638912785221064830234048712984199194002631812582199614082038522872283875083910810344344643906235416469744975130611830190818905369295161227953519298072440824493137007720307828531265936302381888575089238431016822446022445458152209823336934630672451019879159131068972671342730563978018713412344210200936270172530554835521344837564233573543408481918714149496952401198317266757195034330118417735190914736509978592868997659853010641686422206588647615049095092345636986158134276754527555583292806407050702203440970935481038932937251740180178625312616020263095730987437171794114298839868245537063215646848321192872343033208003306269978529597126856187667954940882382149839155286776272246694391675996110267789304095326699818810357794960853475174485574253147747710975638573048870751837012291700105660726629860882271920994176143643956668825048695930077785144970337455512393749631456748651348819490458729177851979143732194712869189277590650581009123373338966667242448564266598752509630886152633150345372668405626942840793354360177334821675589690835151433496639741609680996936189517997509022537726208735468083510178240234940963783748026388421554658933050124442405489462819774200828814631198178373217640857832989230804978647239790464910631463153840937384107810299917637759722959944776680717202836717907049865403208659058239383202055024464343748635296529067514294580238095253482273714884542055133779784067409732268939915923965275482317312872675277593039729089881992621669470536341853443313288351900799204741145662733020489242667198461105287881654347247772886912607076110790594196364872370271088125816129469928235867752590999250192126307704232893147976922286387503339076374772466268493670632635786869203812745058514404520879801468615138110871977019158871037160995835236861870915244016168752024361322184939070190011705835844700668287558776882100228219676692790720169329608729765106084074303707172858194093116969513327688987830166477746365262598434091100594381607861608281632017097941077215305301694307479615645393270126047634168752208890436878036615141878392904061011577304956483713779494280928179137169393377929251477863758938016690861889831791509490096534846787562513964087037153636988601575073760892199165091521655631426247674146504569850612281339142542375477995108873201806742848979834710303942871556042528076681447941813366238077870173882080307929477811876937284812081066243683913885842077768272443882413615384868655451132548180115858048283700596030541051203089463123701423576702870767878949531367611982968202555800974310577147372125502204672593032622435441056136137829654574205151102521224648346417627117104736487711075331128075879504571368741161277962919722532518432501717883939002780052591264069365389989267118174674796654886892661425843912002 659354667546228850695410786676813602083615243861059967170631093747233147854373306635984460295051115896489927789193430301813747230669646937756140640747338664834435311915182047894477934124132052819839358152181779231732990802826362517376130961046488403266543416798934297982096525047764374451985261232612142860407291795249950354807164287509299173199781679289995496078399882173536933390641646063406649194836919794156362297060315424785050322638108880701785116219661017323455148928181555548642658661849425409951120869591134437080319596347065022604848511851670757686982606567350623883785321572824687568060408723854042898297854425918893066403647793189699237426519178052303433499771182552023317212964243173520334360174807304762992316133352355137060452085373051854610257436763263813376895535036271812496823464376754932308764990541227227990537221564943586275128651017297164419850351791508440585060234827278153176839628432754383301859083245003867113650947449510277598692276765669003362769230315976088421710090282767188026930810059566081663180677945580301530483914389340140243778407555577268111395614154903383180756922413126928719032750013282797012337734484622551219045789884613599357615139185355557259044014642956440787116601264436483112858138717969536603348034408824661679955427001371694581952453756511395568007665578351255501149825526100615170325032149573772750136932993397865631676766220367639519449995289035095533948976559103497836646333087564183329585858916086468749097965724847774158071116265928211050866120364844714626682494677354816439405313950493883878863228585862372409197716126732049957506583235209241835921329181041020721618534158663926687646432856314678174381156825821308288831106003257654457004737143697997477427714118826646177857547423822571665525747484863753043515054796220471608781396751712038427110308674036475913495238385822352498224062983441247321617901743129818750546801859715912611965714948655757135701526558112026048731554520333645232183396268766961272676010143731596486803448871672336913628553903389188149358859891523369785587611078132320268485192706124891906142498630241500135780273616465934670419806092734619904804089130138067598076669967706293989893351760300316839415988327535991698003009020221945429091716198062792816202070330262827038738644901898748893113797410655420615274845691453073484585381743107516047665926491565574780786285192192297242266681300744509042435849399631772050130180082306278718191499909392250764205524894511769878016638327678215558504370085318570424813743536220183594762090820963478537928916434514993934253282992382262094472198098285714507634174466108455033224725688790420456077077871285934905730629082933292227868713404981366656497313322344713226840232312924801560239062520288396898238030905432351392029194330797385539910954299336813886778195222345465034529956276407021731433846799602947522978252560475483931714750058759475072293780080226540108158131231362618015592766592253941431632759943982432936699327078015497972637519188953093062466026129161300740344206269533444521701973728749257962451395486979159038316643226779193695979770297932878054238430132151752376485419973503244428292024718307016085668230512012059238368218095461070702907822355914394556543750441687644234575556878116575762595154721036727881062661935059227473086075105116601490870733351747193310729257045230971878092040326993284342063148207921455305985264958892757716765908689121772685331611112767932322521763001492685784419208335173339127310637682942407422999455567164184040216252201409309768647659641076377162159297153092761610554825394530582369401 1066858262730685509983917189587842454639502782117256881889280741790101684093753999250681263531883189711470859273231692282167035861230880352946959136651118635161479021475995851412042739480990073744920073619084258827136586906224332655562769805450159738435246247557923636194743639027699834687150437009668901074462994166141613986520626164048442192328210075303261871755122295766861346428538360290415345241129737025944729575121721738899063132412822010562357639125800000261742410932488444375731431700366899829711765151248693161934354483011200203192784069406275152941881214555445142690764648494847054393594352780075918188640815221524582022468507833575180331826827681465656636315901423334732118108819565968870219712926710353104912661931427345477105959589473247510549017607461885908613779361118027881089400567198187838033939648180140013211602051798992299259327845019928977002049965873546963457344109911188963521184272338989799771604058375615697304469852818805438826645796063741444187262367323696396250241356219069569915505899297997098485626700391038453740307251323970812694798286714708337084066956885467361199470334757337129655302922543837632533682572048856124762454271803327748854567540383672824016239048973074858522307516000946461705727136377822547245034456615413309295004522093717331568110588033265923123590958384758306203353266497036096209257969401313952928762245609418128727407753657539433633748835157280632597164623407424690708989366295567489599564388513213324936765920665730156307910271552704483297560512040840824894471798772681516258215671745454737354037714160115520156908691765305098828258420247500941941582055810901902993539528334807570644315257905010608252166301796158763801224855634714403108353556634156726655279693262558840890726736701413222246534870858202719710757503360487070361291027637864671577455681342442102856336031740182529833045738573132082473051398382871428431543738049233910120988252674864492603785036736352260989695338268360033653738055201817085715081499606551370687632263502870515286846194761222177380163838538763160250498242541286161205869300516424809543902221590186276816497476453183841720285209301393678144187291185162531941825305264235361504187931998395570321689703212078046831782793087631677698031632122028068298519383202938104631778373991780741514783267946997274058588134043353872689326527405840536536908593690026680068667939539440070129179288376855299636632214272002043138255996211776206954059252500391500956331832598744663025993560614065718897580744857784838918484376172007052798574835879477883058808717903130132045125260011541133131633193933522576378549418482277207057586047873729490646088783707130635574018187859815392456088390097772086825826922052109819310914536020097659754332179489801724587225861071910097757291792764888486134292562160945095518795293163422680339831650583886637376827116925650581691730461450912361968329891937152379133305357385183023821937625512290797152762159970183192909496518881999123798589158869524988069172365976515607026553063282798289341919280030425643686793495384380684210125541991549009650597982369321569173974879171134684797087409966862056319356976016031321109739966531673254163538404394092367167846029972398355514988888599598308442385828209960088116989172262985231213727702901152585929346362531089768524289164568240302914447436222515072260260624657213940080647841301303861489435273710126127899017887394333813852903738343695977836434132337416278740148880106229173495494539463249218631882006424103685385919178099682616541934136140412089821238923710441767151426415327767558265441718055956426281403 1726212930276914360679327976264656056723118025978316849059911835537334831948127305886665723826934305607960787062425122583980783091900527290703099777398457299995914333391177899306520673605122126564759431771266038058869577709050695172938900766496648141701789664356857934176840164075464209139135698242281043934870285961391564341327790451557741365527991754593257367833522177940398279819180006353821994435966656820101091872182037163684113455050930891264142755345461017585197559860669999924374090362216325239662886020839827599014674079358265225797632581257945910628863821122795766574549970067671741961654761503929961086938669647443475088872155626764879569253346859517960069815672605886755435321783809142390554073101517657867904978064779700614166411674846299365159275044225149721990674896154299693586224031574942770342704638721367241202139273363935885534456496037226141421900317665055404042404344738467116698023900771744183073463141620619564418120800268315716425338072829410447550031597639672484671951446501836757942436709357563180148807378336618755270791165713310952938576694270285605195462571040370744380227257170464058374335672557120429546020306533478675981500061687941348212182679569028381275283063616031299309424117265382944818585275095792083848382491024237970974959949095089026150063041789777318691598623963109561704503092023136711379583001550887725678899178602815994359084519877907073153198830446315728131113599966528188545635699383131672929150247429299793685863886390577930465981387818632694348426632405685539521154293450036332697620985695948621232900942745977892566106407892037148785765003482710183777503384991942923715158062493471497331961690761325286426547458621980072090055961637972057565358293777854724132707407381385487068584284125235793912060618343066472754272558156707541970072424389576710004565990016478578769831270126004882331269801556573329794669300126001247182090539908949822732953967623520249739486563294464287038426892788693678885921451470584046987757509750282967174435712374542852200474748664611365529522698430286530036085853619418481474354493222549701450044720220427776952277750069649776390705015394128298048991380315300599539901975231941655494081283758695887161105691539614038529785802107853623127123348320090861114721453533200931670517018893679490407897065357652694673862979734806946173911909148948052584574520181592254849454224731632367371445969677599808679068063671633815188386176294082485672250752409783751720537357493256432904010198941743934456085114943103409343298119708227236393336926700441361596737634337645125979378543003923395226105392031808290886183592948385662090810773562519911102165861578416570479748816942748684683957103502753453482324235374454532537754768333022461314571242010090121485463891977342449149320987095685871674203516460281909405573488385768145374361606860293659108260963725253529214708714011387845900044641995911854205599137465409563930095756743653415168354926562437134341129278825981556735288485947540486041809885165468700089019089411959590082263486299959088208495469113129942172576937478528168688914625596100762869954649469067562851325840099013808695842395989534565538031991249980270249206634906104426406214248067859426217896710955512702998929578651647732351564729141101806976322857622189313810409024466148995997375239673356904405318169574262265570989881702444911958739881628297145831498421918047583205003152353226571569669647032817750521765743450184211062670643107721859279913747798422557759192644107046092808918633666846800582150388341821399589886583351518144313585712480860319875996543450487008650804 2793071193007599870663245165852498511362620808095573730949192577327436516041881305137346987358817495319431646335656814866147818953131407643650058914049575935157393354867173750718563413086112200309679505390350296886006164615275027828501670571946807880137035911914781570371583803103164043826286135251949945009333280127533178327848416615606183557856201829896519239588644473707259626247718366644237339677096393846045821447303758902583176587463752901826500394471261017846939970793158444300105522062583225069374651172088520760949028562369465428990416650664221063570745035678240909265314618562518796355249114284005879275579484868968057111340663460340059901080174540983616706131574029221487553430603375111260773786028228010972817639996207046091272371264319546875708292651687035630604454257272327574675624598773130608376644286901507254413741325162928184793784341057155118423950283538602367499748454649656080219208173110733982845067199996235261722590653087121155251983868893151891737293964963368880922192802720906327857942608655560278634434078727657209011098417037281765633374980984993942279529527925838105579697591927801188029638595100958062079702878582334800743954333491269097066750219952701205291522112589106157831731633266329406524312411473614631093416947639651280269964471188806357718173629823043241815189582347867867907856358520172807588840970952201678607661424212234123086492273535446506786947665603596360728278223373952879254625065678699162528714635942513118622629807056308086773891659371337177645987144446526364415626092222717848955836657441403358586938656906093412723015099657342247614023423730211125719085440802844826708697590828279067976276948666335894678713760418138835891280817272686460673711850412011450787987100643944327959311020826649016158595489201269192465030061517194612331363452027441381582021671358920681626167301866187412164315540129705412267720698508872675613634277958183732853942220298384742343271600030816548028122231057053712539659506672401132702839009356834337862067975877413367487320943425833542909686536969049690286584096160704642680223793738974510993946941810614053768775226522833618110990224695521976193178671500463131481727280496177016998269215757091457482795394751692085361568595195485300825154980442118929413240836736139036302295392885460231922680333304649968732451113778160818863238436554788589121483113871618934918122164271072437500625258054455108315700277943635858326642172505858692626310004910175252676869190092001095930003759555809653353665859800888248261782495880234289191911762579919244655546352240775258024503803015464528357738585965330867264733011430662869148396821436249401748254645285547206053767004802564077140045493600525540308151157426564351848669304353120121068903421499891846072689753049252546906612779860574357808496078621227004924368781549190825714193257444180296485088080650904110906439175462300207868374533933064233338904494850592587752033382255944212321117086532620327250625797707980680533877644817065474110982251141984307115572152694757879424182766330384731895288964497510626382702479470077178339512607965422332043929528640202247648413250065875865015199372005565886647771957781653524412745039300196793574060278040257781732885599555111011441315406861607820468553901404087038190050560523341899739755386997238764521664404241597207319765605796777337831250506359658852039387722929601007320933695628173711104021039747560385422573385376513728358199875787600489802819523213951032775408287261671776391074650531149778194837811766529417124084524482233489411125507061959911465012127808627878141438261506443434932207 4519284123284514231342573142117154568085738834073890580009104412864771347990008611024012711185751800927392433398081937450128602045031934934353158691448033235153307688258351650025084086691234326874438937161616334944875742324325723001440571338443456021838825576271639504548423967178628252965421833494230988944203566088924742669176207067163924923384193584489776607422166651647657906066898372998059334113063050666146913319485796066267290042514683793090643149816722035432137530653828444224479612424799550309037537192928348359963702641727730654788049231922166974199608856801036675839864588630190538316903875787935840362518154516411532200212819087104939470333521400501576775947246635108242988752387184253651327859129745668840722618060986746705438782939165846240867567695912185352595129153426627268261848630348073378719348925622874495615880598526864070328240837094381259845850601203657771542152799388123196917232073882478165918530341616854826140711453355436871677321941722562339287325562603041365594144249222743085800379318013123458783241457064275964281889582750592718571951675255279547474992098966208849959924849098265246403974267658078491625723185115813476725454395179210445278932899521729586566805176205137457141155750531712351342897686569406714941799438663889251244924420283895383868236671612820560506788206310977429612359450543309518968423972503089404286560602815050117445576793413353579940146496049912088859391823340481067800260765061830835457864883371812912308493693446886017239873047189969871994413776852211903936780385672754181653457643137351979819839599652071305289121507549379396399788427212921309496588825794787750423855653321750565308238639427661181105261219040118907981336778910658518239070144189866174920694508025329815027895304951884810070656107544335665219302619673902154301435876417018091586587661375399260395998571992192294495585341686278742062389998634873922795724817867133555586896187921904992082758163325280835066549123845747391425580958142985179690596519107117305036503688251956219687795692090444908439209235399336220322669949780123124154578286961524212443991662031041830721052976592483394501695240089650274242170051815763731021629255728118672492350499515787344643901086291306123891354397303338923952278328762209790527962290269339967972812411779139722330577398662302663406314093512967765037150345703736641706057634053211189767576389002704804872071227732054916994768341615269673515028348799941178298560757319959004397406547585257528834013958497553587809750974743991657605080615588461525585248689280360606252283986578420384003882346019387923583843977997139158150916604379048531239207594998769312850420506863963776533515821745312761824002597103278993790475392801018884386424072686142582383474663509981967558153645026594996055933766956260229482699595081508914329942269934958971088554864304473955593349044376157640121147889473688053768419175928976087544503632316002151682129138999597627489472013095057461591755076533962237269166130764605960152792136307453007204591242106717469506446252630343820103784433610640568555279416948605347028427233561523094913884178109269810499739090164889673711041767995100452185803949031633794661951674206301219980274526108117207950782310510623714440244985513255552820118630545188845166373418145531213550164411463387760519039643914954111725083775371039603402240388062103763998127604557898153152432117546221294309024192100786956992243032409331478879965619237784700865490166321672892055322035060094334150267294638195871003756445433376217706234912824054889001012090413478055778597840289488198017434804956930443583011 7312355316292114102005818307969653079448359642169464310958296990192207864031889916161359698544569296246824079733738752316276420998163342578003217605497609170310701043125525400743647499777346527184118442551966631830881906939600750829942241910390263901975861488186421074920007770281792296791707968746180933953536846216457920997024623682770108481240395414386295847010811125354917532314616739642296673790159444512192734766789554968850466629978436694917143544287983053279077501446986888524585134487382775378412188365016869120912731204097196083778465882586388037770353892479277585105179207192709334672152990071941719638097639385379589311553482547444999371413695941485193482078820664329730542182990559364912101645157973679813540258057193792796711154203485393116575860347599220983199583410698954842937473229121203987095993212524381750029621923689792255122025178151536378269800884742260139041901254037779277136440246993212148763597541613090087863302106442558026929305810615714231024619527566410246516337051943649413658321926668683737417675535791933173292987999787874484205326656240273489754521626892046955539622441026066434433612862759036553705426063698148277469408728670479542345683119474430791858327288794243614972887383798041757867210098043021346035216386303540531514888891472701741586410301435863802321977788658845297520215809063482326557264943455291082894222027027284240532069066948800086727094161653508449587670046714433947054885830740529997986579519314326030931123500503194104013764706561307049640400921298738268352406477895472030609294300578755338406778256558164718012136607206721644013811850943132435215674266597632577132553244150029633284515588093997075783974979458257743872617596183344978912781994601877625708681608669274142987206325778533826229251596745604857684332681191096766632799328444459473168609332734319942022165873858379706659900881815984154330110697143746598409359095825317288440838408220289734426029763356097383094671354902801103965240464815386312393435528463951642898571664129369587175116635516278451348895772368385910609254045940827766834802080700498723437938603841655884489828203115317012612685464785172250435348723316226862503356536224295689490619715272878802126696481042998209252922992498824224777433309204328719941203127005479004275107804664599954253257731966952632138765207291128583900388782258525230827540747924830124685698553273777242372696485786510025310468619558905531841670521305799870924870762230134257074275737677258624764017718053363241163416834544879905866863111468695814777160451860279850907830338819195642028386149034852451941582563962470025415649615809711400387604416435018714598675152149510982587282826547876838964048090703804534098626550227583236235093377039262703452378085009873813630843398075847542962546546816834587291195673702735919254311051484149796802748121748654252078437125027061751027587064935988261636793709862040320883408127166594739434162521255541839810589099627677788842380874241942917803043775581671434263774387449437314320163394801475348930629018960728551999073398108151194937981896418682525367939841526945426957813706749472058148152340230765538726241140000666338833575906813287319074696713506498013554334804148374989683667910065734725881560392374863373288672531949275883356423978668873113289919798460626525040704048156551319044849381167816941233490894421762616037515327487499160473365813174395005413045231848347342414816417785845207238165495025385190668309689535623924830730322321766110541341945169345649198594257199905634830319437306288378412137597475437967243609968098116076158873066463373878515218 11831639439576628333348391450086807647534098476243354890967401403056979212021898527185372409730321097174216513131820689766405023043195277512356376296945642405464008731383877050768731586468580854058557379713582966775757649263926473831382813248833719923814687064458060579468431737460420549757129802240411922897740412305382663666200830749934033404624588998876072454432977777002575438381515112640356007903222495178339648086275351035117756672493120488007786694104705088711215032100815332749064746912182325687449725557945217480876433845824926738566515114508555011969962749280314260945043795822899872989056865859877560000615793901791121511766301634549938841747217341986770258026067299437973530935377743618563429504287719348654262876118180539502149937142651239357443428043511406335794712564125582111199321859469277365815342138147256245645502522216656325450266015245917638115651485945917910584054053425902474053672320875690314682127883229944914004013559797994898606627752338276570311945090169451612110481301166392499458701244681807196200916992856209137574877582538467202777278331495553037229513725858255805499547290124331680837587130417115045331149248813961754194863123849689987624616018996160378425132464999381072114043134329754109210107784612428060977015824967429782759813311756597125454646973048684362828765994969822727132575259606791845525688915958380487180782629842334357977645860362153666667240657703420538447061870054915014855146595802360833444444402686138943239617193950080121253637753751276921634814698150950172289186863568226212262751943716107318226617856210236023301258114756101040413600278156053744712263092392420327556408897471780198592754227521658256889236198498376651853954375094003497151852138791743800629376116694603958015101630730418636299907704289940522903635300864998920934235204861477564755196994109719202418164445850572001155486223502262896392500695778620521205083913692450844027734596142194726508787926681378218161220478748548495390821422958371492084032047571068947935075352381325806862912327606723359788105007767722130931923995720950890989380367662022935881930265872697715210881179707800407114380704874822524677518775131990593524985791952414361982970214788666146770597567334304333144277389802163148729711637966538510469165417274818972247920216443739676583835130629255295545079300804096348937539127962261872533598381978041314453274942276482047244767713518564942305236961174175205356698870105741049223431519550093261471682285262516153598031676550916828973167809288871563471943727057157340362409141140640457160114325397616026032268495054240375525426541959609183566566220188759931626812011433788027449095659013474759120798648293189600788050687807083527889101943028602120621517449725405285835852748519855781188997043102442539018480313773094816773895268784244833584253321419108767891302986053128207671786169403219391148734954409676315405212885791016408427911759482596891116291660255139467300061112722735250434135950775905155072209906346277394416566523756890321524754636908192818437075271591072372102857831718791763493261313367287872396367075088468521871697884858741868647891430395655212437282907995766791019379855844921113736648387712799233534609330256492197634450220576358440321805377888118926108791162494464728522797396814404326840084209924014285559743692071505430769933156538856544635731282483866380035642932045397313625797930720616299722069423949134299407059450195176686118131114263169891533799855857296816886052357381860444691609239807541520202350702633281852536554350130343267413149687888916023022207808387604274176307871420304322098229 19143994755868742435354209758056460726982458118412819201925698393249187076053788443346732108274890393421040592865559442082681444041358620090359593902443251575774709774509402451512379086245927381242675822265549598606639556203527224661325055159223983825790548552644481654388439507742212846548837770986592856851277258521840584663225454432704141885864984413262368301443788902357492970696131852282652681693381939690532382853064906003968223302471557182924930238392688141990292533547802221273649881399565101065861913922962086601789165049922122822344980997094943049740316641759591846050223003015609207661209855931819279638713433287170710823319784181994938213160913283471963740104887963767704073118368302983475531149445693028467803134175374332298861091346136632474019288391110627318994295974824536954136795088590481352911335350671637995675124445906448580572291193397454016385452370688178049625955307463681751190112567868902463445725424843035001867315666240552925535933562953990801336564617735861858626818353110041913117023171350490933618592528648142310867865582326341686982604987735826526984035352750302761039169731150398115271199993176151599036575312512110031664271852520169529970299138470591170283459753793624687086930518127795867077317882655449407012232211270970314274702203229298867041057274484548165150743783628668024652791068670274172082953859413671570075004656869618598509714927310953753394334819356928988034731916769348961910032426542890831431023922000464974170740694453274225267402460312583971275215619449688440641593341463698242872046244294862656633396112768400741313394721962822684427412129099186179927937358990052904688962141621809831877269815615655332673211177956634395726571971277348476064634133393621426338057725363878101002307956508952462529159301035545380587967982056095687567034533305937037923806326844039144440330319708951707815387105318247050722611392922367119614443009517768132468573004362484460934817690037475601255891833651349599356061887773757804477467576035020590833647016510695394038028963123001811137000780136108041541178041661778657824182448362521659319868869714353599700709382823117419727066169659994775112867498448217456028342328176710051473589930061544948897294048377302542397200382300987373507144947170867230410368544280297976523028021108339630837092862596207927683844508095224932837927910220787103361139129902871439138973495550259289617464199305074967615705580733080737198369391411540920148302281780227518545958022939774778362049394604280070136584643833751469338806838525853155139569593000920308067944664216811668060654644089092827467009105922079208982215835998471332014416427868806742047770811162985741708081474841066439752098778510888061987728493256185356856610826764667989288230833529729594819840441178290081981026860589929404065090942486980752838564372903258564694051107801782459750223294430281142176322019345664577042006595653056729311319886649191630550454181510681307110650212350413039276516825017848072875253681927948828680340911206327635844918031709668167367704290551800924101931229826942958431243209785970397764306916615413948829511591608213926796043770626420751163524047996433129852955762658208432811345101219297247088944134404867187318118130642093166203365770262982299397463694443740611879221375483277440130004008384640810600447740228056749814782537706673485869222176905628996073158259532896474099163743895011305135114655797481641821875867981021893356296609288555082202109545392920741716782679703626555232951184976887169400944959833187487366873787436631645825287285364353990265817776485720350335180937883678200613447 30975634195445370768702601208143268374516556594656174092893099796306166288075686970532104518005211490595257105997380131849086467084553897602715970199388893981238718505893279502281110672714508235301233201979132565382397205467453698492707868408057703749605235617102542233856871245202633396305967573227004779749017670827223248329426285182638175290489573412138440755876766679360068409077646964923008689596604434868872030939340257039085979974964677670932716932497393230701507565648617554022714628311747426753311639480907304082665598895747049560911496111603498061710279391039906106995266798838509080650266721791696839639329227188961832335086085816544877054908130625458733998130955263205677604053746046602038960653733412377122066010293554871801011028488787871831462716434622033654789008538950119065336116948059758718726677488818894241320626968123104906022557208643371654501103856634095960210009360889584225243784888744592778127853308072979915871329226038547824142561315292267371648509707905313470737299654276434412575724416032298129819509521504351448442743164864808889759883319231379564213549078608558566538717021274729796108787123593266644367724561326071785859134976369859517594915157466751548708592218793005759200973652457549976287425667267877467989248036238400097034515514985895992495704247533232527979509778598490751785366328277066017608642775372052057255787286711952956487360787673107420061575477060349526481793786824263976765179022345251664875468324686603917410357888403354346521040214063860892910030317600638612930780205031924455134798188010969974860013968978636764614652836718923724841012407255239924640200451382473232245371039093590030470024043137313589562447376455011047580526346371351973216486272185365226967433842058482059017409587239371098829067005325485903491603282921094608501269738167414602679003320953758346858494765559523708970873328820509947115112088700987640819526923210218976496307600504679187443605616718853819417112312399898094746883310732129296561499623606089538768722368892021200900941290729725170925105787903830172473102037382729548813562816024544595201799135587051314911590562530917826841446874534817299790386273580208049553328120129124413456560144850211095667891615711606875541477772103150522236856585137405740879533961555116948770948237552079307420927993225463223228923808899321281775467038183048975894737511880912753592248437826741336862231912823639909920942541907255942555068261517281969371733801330320780017640308202290931960081071155196899109752453122623032810750565583010495501978734141560765228058989614427694092923139143333202992435647881688392548782056187231263641228439302594769496866470176460500828880123134256040540149466317971589876830436284787477478128276490073275124083582049585376008837484280732620999507174363024220838986211271225586422817694322367332585354093854910667422009463833500533325056973755340892447219481444073137739231646131788521666745841765820774410711325073148289710652775793753227947463588274226223096907434963217957369672668617860985804779562142873296204789061545734721924504523153258270160673991703882470701209476466955795443935201022075963600806955992199920872335618503129546547993488932096480623553464661359384952568351218451606525171148151101225506254856938205340402018772297681766970088218308655096160191432299562180584715694245530030504953459389495376108801191578293787724961674615627604857184079746615941228935318176198579474427723551724973735909401250217558602835037085486999924560424784428689603295662466469339903428137566974913238436973253270013288025584873324624511488809303982522711676 50119628951314113204056810966199729101499014713068993294818798189555353364129475413878836626280101884016297698862939573931767911125912517693075564101832145557013428280402681953793489758960435616543909024244682163989036761670980923154032923567281687575395784169747023888245310752944846242854805344213597636600294929349063832992651739615342317176354557825400809057320555581717561379773778817205661371289986374559404413792405163043054203277436234853857647170890081372691800099196419775296364509711312527819173553403869390684454763945669172383256477108698441111450596032799497953045489801854118288311476577723516119278042660476132543158405869998539815268069043908930697738235843226973381677172114349585514491803179105405589869144468929204099872119834924504305482004825732660973783304513774656019472912036650240071638012839490532236995751414029553486594848402040825670886556227322274009835964668353265976433897456613495241573578732916014917738644892279100749678494878246258172985074325641175329364118007386476325692747587382789063438102050152493759310608747191150576742488306967206091197584431358861327577886752425127911379987116769418243404299873838181817523406828890029047565214295937342718992051972586630446287904170585345843364743549923326875001480247509370411309217718215194859536761522017780693130253562227158776438157396947340189691596634785723627330791943581571554997075714984061173455910296417278514516525703593612938675211448888142496306492246687068891581098582856628571788442674376444864185245937050327053572373546495622698006844432305832631493410081747037505928047558681746409268424536354426104568137810372526136934333180715399862347293858752968922235658554411645443307098317648700449281120405578986653305491567422360160019717543748323561358226306361031284079571264977190296068304271473351640602809647797797491298825085268475416786260434138756997837723481623354760433969932727987108964880604867163648378423306756329420673004146051247694102945198505887101038967199641110129602369385402716594938970253852726982062106568039938214014280079044508206637745264387066254521668005301404914612299945354035246568513044194812074903253772028425505581670448305834464930150074911756044565185664088909417938678154404137895744001532308272971289902505835414925293976258660418938258020855821671150912768316994546214613394948403836079255876641783784192731221933377000626479696112128714877536648122640336679753437652928822889520036083110548298563598331142065710322130465759476969246337096956374502149557404108863650641548327142481073296003653831239362153577783232426030459444753803767601530997892185702595655644867171401511544637281339446242536961597975322480292248244828859651864558929540972834334739103254741264412314415579314970828677925459022702980534034952953624904077153758206339261382067225625897279405201656693127172232758263781675501378993101005469489226077097129867050551532780980152217200023276502081521361537423561328987169600811601300822717270202175051777248346169545593214590700327529153172483852694674220306720291372677680355747732939228667924980908319296419530721068075169722239978971648496714764331003988633050725291381161337979359338590151393727712497599066226572270686481860544772728536918414083524903718551381945952281240147780959207100092226693295906760639172527618930399498231952203516374175636295124372181959451111190261824125418510638909992298735544097583050811186157220472830724332840280055938018946643138300319617716789113555157511609761315859004240622299656827270301925003606559063724258617624003553843361359044974846669747187660723325123 81095263146759483972759412174342997476015571307725167387711897985861519652205162384410941144285313374611554804860319705780854378210466415295791534301221039538252146786295961456074600431674943851845142226223814729371433967138434621646740791975339391325001019786849566122102181998147479639160772917440602416349312600176287081322078024797980492466844131237539249813197322261077629788851425782128670060886590809428276444731745420082140183252400912524790364103387474603393307664845037329319079138023059954572485192884776694767120362841416221944167973220301939173160875423839404060040756600692627368961743299515212958917371887665094375493491955815084692322977174534389431736366798490179059281225860396187553452456912517782711935154762484075900883148323712376136944721260354694628572313052724775084809028984709998790364690328309426478316378382152658392617405610684197325387660083956369970045974029242850201677682345358088019701432040988994833609974118317648573821056193538525544633584033546488800101417661662910738268472003415087193257611571656845207753351912055959466502371626198585655411133509967419894116603773699857707488774240362684887772024435164253603382541805259888565160129453404094267700644191379636205488877823042895819652169217191204342990728283747770508343733233201090852032465769551013221109763340825649528223523725224406207300239410157775684586579230293524511484436502657168593517485773477628040998319490417876915440390471233394161181960571373672808991456471259982918309482888440305757095276254650965666503153751527547153141642620316802606353424050725674270542700395400670134109436943609666029208338261754999369179704219808989892817317901890282511798105930866656490887624664020052422497606677764351880272925409480842219037127130987694660187293311686517187571174547898284904569574009640766243281812968751555838157319850827999125757133762959266944952835570324342401253496855938206085461188205371842835822028923475183240090116458451145788849828509238016397600466823247199668371091754294737795839911544582452152987212355943768386487382116427237755451308080411610849723467140888456229523890507884953073409959918729629374693640045608633555134998568434958878386710219761967140233077279800516293480155926507288417980858117445678712169436467390531874064924496212498245678948849047134374141692125893867496388861986586885055150614153664696946323470371203741963341928024952354787457590664547592622308505914446104858891769884440869078581238639344356642282211536914673868356089550078997534960307969691874146143527061284041838524062643445667056246500922375759233451880401685455994079779948372933859296873306473996281041503751515906743365841721109578520832397711146831241741389365825760311812867379744814539536397997628900346837515409739755323980041209315977845743063365029431925684199761547993229864759295511603794594242222097282208826435966856346361936445558541203004789783178912768673883945865042322855932072862496709618697822376605354528770180858476401274874155781132763550584263368945390138977263414837547516511509352918412402280252256092486938085654900023178890231930544542125517683914172670572678365137959980832971597626999664467525907332079083490208336051063727585957223254833078996379253708066565184750409973408320151292683258920078640974070180445001951002920830604827181110984213926197733546879129095684619748290760642689484049549087093126266514849482815290713524279746504333419052305152056392005029673928347893355858922452753874600555082072034545744548607536284766126167173730062570581472302161231870894016841868946232369599358158556491643246036799 131214892098073597176816223140542726577514586020794160682530696175416873016334637798289777770565415258627852503723259279712622289336378932988867098403053185095265575066698643409868090190635379468389051250468496893360470728809415544800773715542621078900396803956596590010347492751092325882015578261654200052949607529525350914314729764413322809643198689062940058870517877842795191168625204599334331432176577183987680858524150583125194386529837147378648011274277555976085107764041457104615443647734372482391658746288646085451575126787085394327424450329000380284611471456638902013086246402546745657273219877238729078195414548141226918651897825813624507591046218443320129474602641717152440958397974745773067944260091623188301804299231413280000755268158636880442426726086087355602355617566499431104281941021360238862002703167799958715312129796182211879212254012725022996274216311278643979881938697596116178111579801971583261275010773905009751348619010596749323499551071784783717618658359187664129465535669049387063961219590797876256695713621809338967063960659247110043244859933165791746608717941326281221694490526124985618868761357132103131176324309002435420905948634149917612725343749341436986692696163966266651776781993628241663016912767114531217992208531257140919652950951416285711569227291568793914240016903052808304661681122171746396991836044943499311917371173875096066481512217641229766973396069894906555514845194011489854115601920121536657488452818060741700572555054116611490097925562816750621280522191701292720075527298023169851148487052622635237846834132472711776470747954082416543377861479964092133776476072127525506114037400524389755164611760643251434033764485278301934194722981668752871778727083343338533578416976903202379056844674736018221545519618047548471650745812875475200637878281114117883884622616549353329456144936096474542543394197098023942790559051947697161687466788666193194426068810239006484200452230231512660763120604502393482952773707743903498639434022888309797973461139697454390778881798435179135049318923983706600501662195471745962089053344798677104245135146189861144136190453238988319978472962924441449596893817637059060716669016740793343316860294673723184798262943889425711418834080911426313724859649753951683459338973225946799358900754872917183936969704868805525054460442888413711002256934990721134406490795448481139054692304580742589821624137081069664994238787187929302061943567374927748411805967551417377144836970486422352604342002674150837602426647035372037109865373800737796785075388426522911820066297276906418400078705608185263911325155489223595610777840558636454952518173645397792586141032855352985902803319084901001124645955975690893605948295366733146147606482999555803948712413208215317666193335198778026960575244268931470647140518787638264945581828773619127144164497168296921766474980361063884327814959957351831425671635638332871840334711693748826101145888318824937453434399920270947684991977416955829592898128678576326651404127302309143798854069272919292149747267532221736818229644291090082635999989031715606010635808342475309762651612617295239923893144319069393129468963969466022322918380825805505266670669234883936048548662793812529493941314939541151982244984979268275313691959702097244964499067859600181170272671695246909681469777354800041383712158149937063253304731979744120472720093800674311373212511636905424841781550834811107330557690490639525135876389232285085611947294536494159242070470663714110239583644307060407611776907065782994444031987574188031365885490488518020395712307591414574204828303679303969361922 212310155244833081149575635314885724053530157328519328070242594161278392668539800182700718914850728633239407308583578985493476667546845348284658632704274224633517721852994604865942690622310323320234193476692311622731904695947850166447514507517960470225397823743446156132449674749239805521176351179094802469298920129701637995636807789211303302110042820300479308683715200103872820957476630381463001493063167993415957303255896003207334569782238059903438375377665030579478415428886494433934522785757432436964143939173422780218695489628501616271592423549302319457772346880478306073127003003239373026234963176753942037112786435806321294145389781628709199914023392977709561210969440207331500239623835141960621396717004140971013739453993897355901638416482349256579371447346442050230927930619224206189090970006070237652367393496109385193628508178334870271829659623409220321661876395235013949927912726838966379789262147329671280976442814894004584958593128914397897320607265323309262252242392734152929566953330712297802229691594212963449953325193466184174817312571303069509747231559364377402019851451293701115811094299824843326357535597494788018948348744166689024288490439409806177885473202745531254393340355345902857265659816671137482669081984305735560982936815004911427996684184617376563601693061119807135349780243878457832885204847396152604292075455101274996503950404168620577965948720298398360490881843372534596513164684429366769555992391354930818670413389434414509564011525376594408407408451257056378375798446352258386578681049550717004290129672939437844200258183198386047013448349483086677487298423573758162984814333882524875293741620333379647981929662533533945831870416144958425082347645688805294276333761107690413851342386384044598093971805723712881732812929734065659221920360773760105207452290754884127166435585300909167613464786924473668300527960057290887743394622272039562940963644604399279887257015610849320022481153706695900853237062953539271802602216981919896239900846135509466344552893992192186618793343017631288036531279927474986989044311898983717540361425210287953968602287078317373660080961123941393388432881654070824290533863245692615851667585175752221703570514435690325031340223689942004898990007418714731705717767199630395628775440616478673423825251085415429615918553915939899196152568782281207391118921577606189557104949113178085378162675784484553163552162033424452451829451735521924370449481821032607303575851992286455726075609830778994886553539588824705958516197114369572070173343492611942928602449710564750344128940722573474646579627983944497363205557174679589690557788931570314249391480119394073627644784371259729268645040194479521957043667122522135347337661192493457960473862744370343485110410837115664503708744938533350940616453584909316390203883817070190629781590321612357008923792679900716360717202458346093154250926813698193362117194179535876630117890606517499985091753361147793385507262416980566382814354022310358363078987154977601525559908435072694383117438218309431127010682369769253329738997209502484916252245124202544096290708365654199994582157159420757607807316989642071494606923950298993920545380490273031174002748318374144384599726521398486717196148018537531235953051544453025723665368022248537647757987938241155240453116697197912602300382181981152367926084347670610132433827664363868763480736490158360922299604763171939691264366125524631610304194824058577441028445624290115285875642429850018164523224538314665321655678852804956219313191831909161617762050144769503668046722359412037237581253823784173562986860170947215398721 343525047342906678326391858455428450631044743349313488752773290336695265684874437980990496685416143891867259812306838265206098956883224281273525731107327409728783296919693248275810780812945702788623244727160808516092375424757265711248288223060581549125794627700042746142797167500332131403191929440749002522248527659226988909951537553624626111753241509363419367554233077946668012126101834980797332925239745177403638161780046586332528956312075207282086386651942586555563523192927951538549966433491804919355802685462068865670270616415587010599016873878302699742383818337117208086213249405786118683508183053992671115308200983947548212797287607442333707505069611421029690685572081924483941198021809887733689340977095764159315543753225310635902393684640986137021798173432529405833283548185723637293372911027430476514370096663909343908940637974517082151041913636134243317936092706513657929809851424435082557900841949301254542251453588799014336307212139511147220820158337108092979870900751921817059032488999761684866190911185010839706649038815275523141881273230550179552992091492530169148628569392619982337505584825949828945226296954626891150124673053169124445194439073559723790610816952086968241086036519312169509042441810299379145685994751420266778975145346262052347649635136033662275170920352688601049589797146931266137546885969567899001283911500044774308421321578043716644447460937939628127464277913267441152028009878440856623671594311476467476158866207495156210136566579493205898505334014073806999656320638053551106654208347573886855438616725562073082047092315671097823484196303565503220865159903537850296761290406010050381407779020857769403146541423176785379865634901423260359277070627357558166055060844451028947429759363287246977150816480459731103278332547781614130872666173649235305845330571869002011051058201850262497069609723020948210843922157155314830533953674219736724628430433270592474313325825849855804222933383938208561616357667455932754755375924725823394879334869023819264318014033689646577397675141452810423085850203911181587490706507370729679629414770008965058213737433268178517796271414362929713366905844578512273887427680882751676568336601916545565020430809109413509829603167579367716317824088330141045430577416953582079088114413842425472782726005958332613552888258784745424250613011670694918393375856568327323963595744561659224432854980365227142985176299114494117446068238923451226432393049195960355715381819543703832870912580317201347490895542262975543560942844149741609180038717293349739713677838137087662164195237999479893046658333592129761274530712663903185301335629490206769201909653764791866213785817226612715171448359279380523081689623098213028953285956559226604108080345743926147433822824045330982169902080137311377901191697853840787037344402604708455575363419095231484153088289848197638127192182819409977482065886771050024787788829817868748470452602300266326086237641679972730838941662337251514067806331439266187955977115833553928176964035737381838181971507491228723276757949901990990147968641500592567552252234155918150106926516708129509757233769776715997531700461308711464624075887919765016243463761316078536440673417553258080433148389315211016211137462958078683218198036523721301037357327724345782612257055797841336410725788392444822283770159536781193751638242497607673385738559644107989236200830290832672295512116400077364533045916960335738940861885314698102576904834856575200897822936966344177406593695202028775561239323159865363831090098897692156061794037718957535033932212847930057633293561415198747767815163850251184760643 555835202587739759475967493770314174684574900677832816823015884497973658353414238163691215600266872525106667120890417250699575624430069629558184363811601634362301018772687853141753471435256026108857438203853120138824280120705115877695802730578542019351192451443488902275246842249571936924368280619843804991547447788928626905588345342835929413863284329663898676237948278050540833083578465362260334418302913170819595465035942589539863526094313267185524762029607617135041938621814445972484489219249237356319946624635491645888966106044088626870609297427605019200156165217595514159340252409025491709743146230746613152420987419753869506942677389071042907419093004398739251896541522131815441437645645029694310737694099905130329283207219207991804032101123335393601169620778971456064211478804947843482463881033500714166737490160018729102569146152851952422871573259543463639597969101748671879737764151274048937690104096630925823227896403693018921265805268425545118140765602431402242123143144655969988599442330473982668420602779223803156602364008741707316698585801853249062739323051894546550648420843913683453316679125774672271583832552121679169073021797335813469482929512969529968496290154832499495479376874658072366308101626970516628355076735726002339958082161266963775646319320651038838772613413808408184939577390809723970432090816964051605575986955146049304925271982212337222413409658238026487955159756639975748541174562870223393227586702831398294829279596929570719700578104869800306912742465330863378032119084405809493232889397124603859728746398501510926247350498869483870497644653048589898352458327111608459746104739892575256701520641191149051128471085710319325697505317568218784359418273046363460331394605558719361281101749671291575244788286183443985011145477515679790094586534422995411052782862623886138217493787151171664683074509945421879144450117212605718277348296491776287569394077874991754200582841460705124245414537644904462469594730409472026557978141707743291119235715159328730662566927681838764016468484470441711122381483838656574479750819269713397169776195219253012182339720346495891456352375486871106755338726232583098177961544128444292420004187092297786724001323545103834860943391269309721216814095748855777136295184153212474716889854458904146206551257043748043168806812700685323446765580452976125784494778145933513520700693674837309811017656149711696148728461147918569897897690658973150802842531016992963018957671535990288596988190147980342377449081851800249519459041264111181250212060785961682642280287847652412508324178722053367693237961576074258637736269838582774991893418421777083451301133884185939841430601597872444440093399473860045038733290220735164300623617751720062068554208488296490918933234882446646673610825075844728841808151438750103427548286421778646205145009416843841162012082528098354487909385277756070636316813584748218149906023997404625100570492906783826071329395041120524224448924754232080450620685461576546319056102988531529702523944172454532565088945709538154403768632271760243477707638710095052468504479280120694203217225073783709751815926936136755139507778298353536118682811870064010164009141806351567614676165871632224817748115836609502928333610976616214454151088068174326761022695746594320260015043736082491651178905089642734886070541718762346119564326845278283518172387308471857999681566780991033217811721163249304224310283085860370551166080138756680017933280480865316183698579396194195571116919740343440882895002012670320050403290729601317679556087863727038701978935207342094870874815238982921330802024021198400159364 899360249930646437802359352225742625315619644027146305575789174834668924038288676144681712285683016416973926933197255515905674581313293910831710094918929044091084315692381101417564252248201728897480682931013928654916655545462381588944090953639123568476987079143531648418044009749904068327560210060592807513795975448155615815539882896460555525616525839027318043792181355997208845209680300343057667343542658348223233626815989175872392482406388474467611148681550203690605461814742397511034455652741042275675749310097560511559236722459675637469626171305907718942539983554712722245553501814811610393251329284739284267729188403701417719739964996513376614924162615819768942582113604056299382635667454917428000078671195669289644826960444518627706425785764321530622967794211500861897495026990671480775836792060931190681107586823928073011509784127369034573913486895677706957534061808262329809547615575709131495590946045932180365479349992492033257573017407936692338960923939539495221994043896577787047631931330235667534611513964234642863251402824017230458579859032403428615731414544424715699276990236533665790822263951724501216810129506748570319197694850504937914677368586529253759107107106919467736565413393970241875350543437269895774041071487146269118933227507529016123295954456684701113943533766497009234529374537740990107978976786531950606859898455190823613346593560256053866860870596177654615419437669907416900569184441311080016899181014307865770988145804424726929837144684363006205418076479404670377688439722459360599887097744698490715167363124063584008294442814540581693981840956614093119217618230649458756507395145902625638109299662048918454275012508887104705563140218991479143636488900403921626386455450009748308710861112958538552395604766643175088289478025297293920967252708072230716898113434492888149268551989001434161752684232966370089988372274367920548811301970711513012197824511145584228513908667310560928468347921583113024085952397865404781313354066433566685998570584183147994980580961371485341414143625923252134208231687749838161970457326640443076799190965228218070396077153614674409252623789849800820122244570811095372065389225011195968988340789008843351744432132654517344690546558848677437534638184078996822566872601106794553805004268301329618989277263002080656721695071485430747697378592123671044177870634714260837484296438236496534243872636514938839133904760262412687343965929582424377235235580212953318734339491079694121467900770465181689868344624114775793080401885413852790430250778079311422355958125984740074672519416721533260739896295168204019912266982502485960293229047911983852653210787648977806055216418824485159611541758753240568120422913318948193253909574310946666176634554232222638352756058927777628843512905213156106742999849292590890464892689026487101780508428512075325315100372376295992615101568097166048118382700355798242937694853815273373571023095207050152157567036721093255063390587091483594518427016900842734275033218822085457879487979909836370747060453200766877680526582173751233625676280210687620020756713436038844310143741781913219509049696712852752671208239607065000742758699789829026407472903122430104055349583424890305250896505151820519139471073934694897672349124591895627798380023470940102872272099533923828061904693482087557169840701255543539871202569342885956903910946952579847235882397071823705513323837563326668757356200046196109492027965453454782594838115337440517081521516362538372977710614942372216444134325172535683881493389627293473741350125582684573735911148055272152504168376654181669098617187871449584920007 1455195452518386197278326845996056800000194544704979122398805059332642582391702914308372927885949888942080594054087672766605250205743363540389894458730530678453385334465068954559317723683457755006338121134867048793740935666167497466639893684217665587828179530587020550693290851999476005251928490680436612505343423237084242721128228239296484939479810168691216720030129634047749678293258765705318001761845571519042829091851931765412256008500701741653135910711157820825647400436556843483518944871990279631995695934733052157448202828503764264340235468733512738142696148772308236404893754223837102102994475515485897420150175823455287226682642385584419522343255620218508194478655126188114824073313099947122310816365295574419974110167663726619510457886887656924224137414990472317961706505795619324258300673094431904847845076983946802114078930280220986996785060155221170597132030910011001689285379726983180433281050142563106188707246396185052178838822676362237457101689541970897464117187041233757036231373660709650203032116743458446019853766832758937775278444834256677678470737596319262249925411080447349244138943077499173488393962058870249488270716647840751384160298099498783727603397261751967232044790268628314241658645064240412402396148222872271458891309668795979898942273777335739952716147180305417419468951928550714078411067603496002212435885410336872918271865542468391089274280254415681103374597426547392649110359004181303410126767717139264065817425401354297649537722789232806512330818944735533755720558806865170093119987141823094574896109522565094934541793313410065564479485609662683017570076557761067216253499885795200894810820303240067505403483594597424031260645536559697927995907173450285086717850055568467669991962862629830127640393052826619073300623502812973711061839242495226127950896297116774287486045776152605826435758742911791969132822391580526267088650267203289299767218589020575982714491508771266052713762459228017486555547128274876807871332208141309977117806299342476725643147889053324105430612110393693845330613171588494736450208145910156473968967160447471082578416873961170300708976165336671926877583297043678470243350769139640261408344976101141138468433456199621179551489950117987158751452279827852599703167785260007028521894122760233765195828520045828699890501884186116071144144172576647169962365412860194351004997131911333844054890292664650535282633221410331257241863620241397528038078111229946281753297162615684410064888960613162032245793705966576042599860926677963971680462838865273104998238413832392487180843595443586628433134256744278278550003252341068735285122466333760936104511921533163745896647020422357604051635158227100613159156203539683357554533192062666728245188762720519129271689293810224275517123730289000835584808000731340993892440975448265747985653437928919166477112454904394347103010953374922118754699513940546461087600877812677998671593588113833978228896431762213779287839511845715674969047702362419280594089321810616987582011924082290903312149398910305032084295214445511477103383918920782672489261192716159538513360966855696929260865623648989507810716017905418536861441511659893036571482044928781671670025749296522530068644620988430022067804684911311112126500212660069954559402719217534423132287143270006319713083598571730292055911242974305885990766896188164240422083334261051705235563963852814738731135558726575972981666483132056480043194045592211462612771395818305833265220095758732568548827534682715657327029327185206003931896680356894791420906213446411612437890083262614247375043191893164590429419211892647985079371 2354555702449032635080686198221799425315814188732125427974594234167311506429991590453054640171632905359054520987284928282510924787056657451221604553649459722544469650157450055976881975931659483903818804065880977448657591211629879055583984637856789156305166609730552199111334861749380073579488700741029420019139398685239858536668111135757040465096336007718534763822310990044958523502939066048375669105388229867266062718667920941284648490907090216120747059392708024516252862251299240994553400524731321907671445244830612669007439550963439901809861640039420457085236132327020958650447256038648712496245804800225181687879364227156704946422607382097796137267418236038277137060768730244414206708980554864550310895036491243709618937128108245247216883672651978454847105209201973179859201532786290805034137465155363095528952663807874875125588714407590021570698547050898877554666092718273331498832995302692311928871996188495286554186596388677085436411840084298929796062613481510392686111230937811544083863304990945317737643630707693088883105169656776168233858303866660106294202152140743977949202401316981015034961207029223674705204091565618819807468411498345689298837666686028037486710504368671434968610203662598556117009188501510308176437219710018540577824537176324996022238228234020441066659680946802426653998326466291704186390044390027952819295783865527696531618459102724444956135150850593335718794035096454809549679543445492383427025948731447129836805571205779024579374867473595812717748895424140204133408998529324530693007084886521585290063472646628678942836236127950647258461326566276776136787694788410525972760895031697826532920119965288985959678496103484528736823785755551177071632396073854206713104305505578215978702823975588368680035997819469794161590101528110267632029091950567456844849009731609662436754597765154039988188442975878162059121194665948446815899952237914802311965043100166160211228400176081826981182110380811130510641499526140281589184686274574876663116376883525624720623728850424809446844755736316945979538844859338332898420665472550599550768158125675689152974494027575844709961599955186472746999827867854773842308739994150836230396685765109984490212865588854138524242036508966664596286090463906849422270040386366801582326898391061563384185105783047909356612196955671546818841522764700318214140236047574455188489293570147830378298762929179589374416537981672743944585829549823821905273313691442899600487636653695378531532789731078343722114138330081351835680262812091816762110713616944584527354196539817132561853363012165119889173030551912482298462270234843554695578351514245744788757722709182141551951863439246842763663176916980341181279579116858631550808442766373613394421823316952741767624445352738001904360636635502156942327807850023931884357333664474752849766161866440994491792212827280690339718112521472088166873082214296344704025295731627951372242616683320884130386463468483307034351230098937199269487474719263262014869122540632702445461499903992127274059209852111071909764821796619262710729060199131470292510017906152198382823504708637610148769915320361842260481924257512483537604200211449722062978954948051211775725375332721412835319541126140250541207275758846006009798849337251965582357782742688474526004559242803930147774988292053817849225751944229849425861969465531050197325994281213631552471446360924638444244459396289902641739022683178252589535222011045666245207609511155746350346741612121270941526538149625087873771163652357741687813390069984188265162256339029096186173801231317886399879211568547346259528036399764097569999378 3809751154967418832359013044217856225316008733437104550373399293499954088821694504761427568057582794301135115041372601049116174992800020991611499012379990400997854984622519010536199699615117238910156925200748026242398526877797376522223878322074454744133346140317572749804625713748856078831417191421466032524482821922324101257796339375053525404576146176409751483852440624092708201796197831753693670867233801386308891810519852706696904499407791957773882970103865845341900262687856084478072345396721601539667141179563664826455642379467204166150097108772933195227932281099329195055341010262485814599240280315711079108029540050611992173105249767682215659610673856256785331539423856432529030782293654811672621711401786818129593047295771971866727341559539635379071242624192445497820908038581910129292438138249795000376797740791821677239667644687811008567483607206120048151798123628284333188118375029675492362153046331058392742893842784862137615250662760661167253164303023481290150228417979045301120094678651654967940675747451151534902958936489535106009136748700916783972672889737063240199127812397428364279100150106722848193598053624489069295739128146186440682997964785526821214313901630423402200654993931226870358667833565750720578833367932890812036715846845120975921180502011356181019375828127107844073467278394842418264801111993523955031731669275864569449890324645192836045409431105009016822168632523002202198789902449673686837152716448586393902622996607133322228912590262828619230079714368875737889129557336189700786127072028344679864959582169193773877378029441360712822940812175939459154357771346171593189014394917493027427730940268529053465081979698081952768084431292110874999628303247304491799822155561146683648694786838218198807676390872296413234890725030923241343090931193062682972799906028726436724240643541306645814624201718789954028254017057528973082988602505118091611732261689186736193942891684853093033895872840039147997197046654415158397056018482716186640234183182868101446266876739478133552275367846710639824869458030926827634870873618460756024737125286123160235552910901537015010670576120523144673877411164898452312552090763290476491805030741211125628681299045053759703793526459084651755037542743734702021973208171626808610848792513821797149380934303093738056502698839857662889985666937276965384102601460434649539494290702059164222353653221844239909699171203083075201827693170065219433311391802672845882240933816311062941597678691691505754359932036047927878280123738769780733791176455809857632352434953649525049034206607608706517606164808656760577012273487184623430863473980579505724862234630715305297848510459669200367714812075207441794438735320398314908362975958436280122667012079673260896896134646548226179877760365791157777912615850755272878249774639923018597751815304369913658269325282185084686821123474847010285627781728236891165112896609440629370914210271434718108615359900245520813639069610782914944456522421625681295463211862443319433043511828074418177371359251021376941849117011064774187832444118052252964999279098868357921336865675493307078030780944010831768292640275417902074465641723109615099550436992979993447395401082017935365388185747128680563275080443757317121925349549912035536917185461906008949136846386073936467488071890625548141281663187204155311852736361719214437748077615474683257707010324777453182975594955016478614720689166310309069578416056637877707820380906974052183611961707880003510075365684307803531098192979542947691745286750341083056583162552475507798611691314580500647254254760440510849957455611656745555078749 6164306857416451467439699242439655650631822922169229978347993527667265595251686095214482208229215699660189636028657529331627099779856678442833103566029450123542324634779969066513081675546776722813975729266629003691056118089427255577807862959931243900438512750048124948915960575498236152410905892162495452543622220607563959794464450510810565869672482184128286247674751614137666725299136897802069339972622031253574954529187773647981552990314882173894630029496573869858153124939155325472625745921452923447338586424394277495463081930430644067959958748812353652313168413426350153705788266301134527095486085115936260795908904277768697119527857149780011796878092092295062468600192586676943237491274209676222932606438278061839211984423880217113944225232191613833918347833394418677680109571368200934326575603405158095905750404599696552365256359095401030138182154257018925706464216346557664686951370332367804291025042519553679297080439173539223051662502844960097049226916504991682836339648916856845203957983642600285678319378158844623786064106146311274242995052567576890266875041877807218148330213714409379314061357135946522898802145190107889103207539644532129981835631471554858701024405999094837169265197593825426475677022067261028755270587642909352614540384021445971943418730245376622086035509073910270727465604861134122451191156383551907851027453141392265981508783747917281001544581955602352540962667619457011748469445895166070264178665180033523739428567812912346808287457736424431947828609793015942022538555865514231479134156914866265155023054815822452820214265569311360081402138742216235291145466134582119161775289949190853960651060233818039424760475801566481504908217047662052071260699321158698512926461066724899627397610813806567487712388691766207396480826559033508975120023143630139817648915760336099160995241306460685802812644694668116087375211723477419898888554743032893923697304789352896405171291860934920015077983220850278507838546180555439986240704757291063303350560066393726166890605589902942999120123583027585804408302890265160533291539091011355575505283411798849388527404929112859720632176075709617420877239032753226154860830757441312722201716506321110118894164633907898228035562968051316351323633207641551444243248557993610193175690904883360533566040086141647413114895795529209708827189701977283598242837508009104727983584272206994600652416151023829284115709184755819146413522719889041338584705494115745482728570470006441473130468422769849476474070366129279713960386550861597495901890072754442159706631493466657610887569619773826406779195360569242875474543722028178126441825494825250513619957339897446849800373898916043131377988992187782975718314437256946459171418724809893517088835396626002664520579999286228084238397001293314720240423700779204762607108304397771447517977170810908150061538109465775026539235996319098452500863942533235869138192341068580743156826954755602239001823368728827847990299709720114213943997140888943310332334403076021878505011732066545451430569103132448851613938807684036898561504317183723257509297005020556304160370384130917226800696264372674028774564532930385612069841934559337162529391941031205223120776414739348200707726873268931104482356202603323131724198887164001119274968204594483475141405628877866615263060182679365990507415131434004737714705827250264635074071896688314810178456685702091627220054351306381256459711849488561659113638067683543953027990418129798533958703320001274451601903833932891404869356631900689379558676820325271321745418891504603984785492545898387047133466328987857109485492011420843125078127 9974058012383870299798712286657511875947831655606334528721392821167219684073380599975909776286798493961324751070030130380743274772656699434444602578409440524540179619402488077049281375161893961724132654467377029933454644967224632100031741282005698644571858890365697698720586289247092231242323083583961485068105042529888061052260789885864091274248628360538037731527192238230374927095334729555763010839855832639883846339707626354678457489722674131668512999600439715200053387627011409950698091318174524987005727603957942321918724309897848234110055857585286847541100694525679348761129276563620341694726365431647339903938444328380689292633106917462227456488765948551847800139616443109472268273567864487895554317840064879968805031719652188980671566791731249212989590457586864175501017609950111063619013741654953096282548145391518229604924003783212038705665761463138973858262339974841997875069745362043296653178088850612072039974281958401360666913165605621264302391219528472972986568066895902146324052662294255253618995125609996158689023042635846380252131801268493674239547931614870458347458026111837743593161507242669371092400198814596958398946667790718570664833596257081679915338307629518239369920191525052296834344855633011749334103955575800164651256230866566947864599232256732803105411337201018114800932883255976540715992268377075862882759122417256835431399108393110117046954013060611369363131300142459213947259348344839757101331381628619917642051564420045669037200047999253051177908324161891679911668113201703932265261228943210945019982636985016226697592295010672072904342950918155694445503237480753712350789684866683881388382000502347092889842455499648434272992648339772927070889002568463190312748616627871583276092397652024766295388779564062620631371551589956750318210954336692822790448821789062535885235884847767331617436846413458070115629228781006392981877157248150985535429566478539632599114183545788013048973856060889426505035592834970598383296723240007249943584743249261827613157482329381076551395491429738225629277760921191988168162412709472111600242408697922009624080315830649874731302752196232762094754650197651678467412921520731789214006747247532235747575463678961657931829089427135968106361175951376253466216456729620418804024483418705157682946974389235385469617594635386872598812856639254248982345438968443754267477874974266158823006069372868069193814880387838894348241215889954260771896097296788591364969504286317504414728147114461355230834002402177207592240510289631378229693066528564299792059066447116182659921776227382532924385360169226003452486817209212801557305299475404756238482191970612752147648884358585243499092801067395224770157049757655261367534394683246173639755847476299263561416714645834454264116157367084472498153039551534477640856882944320790045269792475180821808330863391650859713360359471166108738128645670770127034251088950509210114071037226190320347617183268974348661629369320503029158400519562514624605795546265519341311548523560140963628801928354153825793463055818748811086393948435235976222508576103888914225497236059624224304831477208383505797067204808348287686535483657668952262079828934011198670516177496757283566095912620397611667757436646360640253649548437076036656192153666500492424278252014951803082751132073304914131789078318638160049567442188969479072822149512162998067885467010479544810195649306322859871180401015798870728692054124321421660848371325103850717570665027881277961677269518240694935967549611443637071303963570666354378328581443980111783397183860478887694387721089428367959442947623077588680156876 16138364869800321767238411529097167526579654577775564507069386348834485279325066695190391984516014193621514387098687659712370374552513377877277706144438890648082504254182457143562363050708670684538108383734006033624510763056651887677839604241936942545010371640413822647636546864745328383653228975746456937611727263137452020846725240396674657143921110544666323979201943852368041652394471627357832350812477863893458800868895400002660010480037556305563143029097013585058206512566166735423323837239627448434344314028352219817381806240328492302070014606397640499854269107952029502466917542864754868790212450547583600699847348606149386412160964067242239253366858040846910268739809029786415505764842074164118486924278342941808017016143532406094615792023922863046907938290981282853181127181318311997945589345060111192188298549991214781970180362878613068843847915720157899564726556321399662562021115694411100944203131370165751337054721131940583718575668450581361351618136033464655822907715812758991528010645936855539297314503768840782475087148782157654495126853836070564506422973492677676495788239826247122907222864378615893991202344004704847502154207435250700646669227728636538616362713628613076539185389118877723310021877700272778089374543218709517265796614888012919808017962502109425191446846274928385528398488117110663167183424760627770733786575558649101412907892141027398048498595016213721904093967761916225695728794240005827365510046808653441381480132232958015845487505735677483125736933954907621934206669067218163744395385858077210175005691800838679517806560579983432985745089660371929736648703615335831512564974815874735349033060736165132314602931301214915777900865387434979142149701889621888825675077694596482903490008465831333783101168255828828027852378148990259293330977480322962608097737549398635046231126154228017420249491108126186203004440504483812880765711991183879459126871267892529004285475406722933064051839281739705012874139015526038369537427997298313246935303315655553780048087919284019550515615012765811433686063811457148701453951800483467175747692109720859012607720759762734451934928271942379515631889230404904622273752278173101936208463753853345866469628312869556159864652395187284457684809159017804910459705287614028997200174323588518216513014475377032882732490430916082307640046341231532580588276476452858995461459246473153423658485523891898477930589572594713494654738609843302110480802790904336847698074756323945887858615537231204707308072768306487306200896840492975725594956601318741951765697940582840270809345847156359331164555529795246327961360931240979683747124970230006752102149310510198997449258257501286630470790059583007745875364194912207826705813408056067156844682872925266225937294645120682348354554368377787218393463252313682403463991248718561492787769645991729958392401501116634739899595467485207190629509613303362903389281291577790857227864180945922586619006637703176509619669030223143372344516703403567916127880668595363190053535292207509080232497457286274645076994626432847984955452752419699480017873108909470529657606443755141531632173472756179825841769341278673298605325592228289424609220875042403893636953911496631766803639493666542772239792848963963385373747324240037775467121871094975899419657643829669698014192255984280122296493450072164787282148016219743707896221408851312878063923696181636437415703657629241127640112865287432387805692192004965613876361743233649251529368347882552413279173352173586340836906243344326450862640390991625700074000335484715768182676406377274741521187418416225068928439634498431805235003 26112422882184192067037123815754679402527486233381899035790779170001704963398447295166301760802812687582839138168717790093113649325170077311722308722848331172622683873584945220611644425870564646262241038201383063557965408023876519777871345523942641189582230530779520346357133153992420614895552059330418422679832305667340081898986030282538748418169738905204361710729136090598416579489806356913595361652333696533342647208603026357338467969760230437231656028697453300258259900193178145374021928557801973421350041632310162139300530550226340536180070463982927347395369802477708851228046819428375210484938815979230940603785792934530075704794070984704466709855623989398758068879425472895887774038409938652014041242118407821776822047863184595075287358815654112259897528748568147028682144791268423061564603086715064288470846695382733011575104366661825107549513677183296873422988896296241660437090861056454397597381220220777823377029003090341944385488834056202625654009355561937628809475782708661137852063308231110792916309629378836941164110191418004034747258655104564238745970905107548134843246265938084866500384371621285265083602542819301805901100875225969271311502823985718218531701021258131315909105580643930020144366733333284527423478498794509681917052845754579867672617194758842228296858183475946500329331371373087203883175693137703633616545697975905936844307000534137515095452608076825091267225267904375439642988142584845584466841428437273359023531696653003684882687553734930534303645258116799301845874782268922096009656614801288155194988328785854906215398855590655505890088040578527624182151941096089543863354659682558616737415061238512225204445386800863350050893513727207906213038704458085079138423694322468066179582406117856100078489947819891448659223929738947009611541931817015785398546559338461170931467011001995349037686337521584256318633669285490205862642869239334864994556437746432161603399658952510946113025695342629131517909731850496636752834151237305563190520046564917381393205570248665096101911106442504037062963824732649136869616364509955578775990100807642868636688036590412609183237680468175141610386539428056583089686673798904891150215211001385581614045091991831214091693741822323252564045985110394058376676162017234447801224657742293675899459988864612418352350085066302954906452902980485781562933715444896613262939334220739312246664554896759967671745469960433607842895954499797562882376900087692928212667579042641450302586762651692559938142075170483694898441407130124353955288023129883041743824764387699022930731122074538892255549915699021249780448178140453781241052424445634762990584341281122951145098142616086530129563591126978232516032413952567469194240208091302240796600530349224529787354009290955136612470711735462259716546502803848160044320874193039351538057562121172551766723264892767494453259954938651315928758155284073489937640370242087000971298901407136242934236189906677525171249038350726172530745036265918192521923426934114704501602058852348472709034425811440100438540050445181659071349401187655675702526449212798384755154842503379365836463650681139685622908974149626960985140809249897241686689049809053602564153131408253915332899552114064154439997229495324603639023295761316074431659275537595468323697909658781472780765324329289194254085571768710324836849590205189222780718370921014310945949390706661181247611352963952100998820513881086303116497746316326387274724733068337499969100033375763830374956442870414281276804455854787963522166603961657980078402581779464827551579860266856162435908908507844593028371387257576020485391879 42250787751984513834275535344851846929107140811157463542860165518836190242723513990356693745318826881204353525267405449805484023877683455189000014867287221820705188127767402364174007476579235330800349421935389097182476171080528407455710949765879583734592602171193342993993680018737748998548781035076875360291559568804792102745711270679213405562090849449870685689931079942966458231884277984271427712464811560426801448077498426359998478449797786742794799057794466885316466412759344880797345765797429421855694355660662381956682336790554832838250085070380567847249638910429738353694964362293130079275151266526814541303633141540679462116955035051946705963222482030245668337619234502682303279803252012816132528166396750763584839064006717001169903150839576975306805467039549429881863271972586735059510192431775175480659145245373947793545284729540438176393361592903454772987715452617641322999111976750865498541584351590943574714083724222282528104064502506783987005627491595402284632383498521420129380073954167966332213624133147677723639197340200161689242385508940634803252393878600225811339034505764331989407607235999901159074804886824006653403255082661219971958172051714354757148063734886744392448290969762807743454388611033557305512853042013219199182849460642592787480635157260951653488305029750874885857729859490197867050359117898331404350332273534555038257214892675164913143951203093038813171319235666291665338716936824851411832351475245926800405011828885961700728175059470608017429382192071706923780081451336140259754052000659365365369994020586693585733205416170638938875833130238899553918800644711425375375919634498433352086448121974677357519048318102078265828794379114642885355188406347706967964098772017064549083072414583687433861591116075720276687076307887937268904872909297338748006644296887859805977698137156223366457935828629710442521638109789974018743408581230518744453683309014324690607685134359233879177077534624368836530783870866022675122371579234603876437455349880572935173253658167949115652426721455269848496649888544106285571070316310439045951737792917363727649295757350175343635172608740117521126018428658461487711960426077077993086423674755238927480514720304700770251558394217510537021730794269411863287135867304848476798424832065882194115973003339989451235082575497219037214092949321717314143521991921349472258400793467212465670323040420651866149676059533028321337550693109640864992857702878597265060365653798965396190445378188923764645450147938790182204642303970617329680882979731201783695590462328281863201540467921695251586714471228816496108409539071694760924799549415864769742686490591633150142547400873587816760034381186561240261907778147479677020946021499358307953445213222149796013291303936075818960825266103840046934939966056161842447784865441757913030845331767164281725115666393884129193159550406136523119387664897376852841029651533664791828526765588082165520855196544380701680868707380949315903089552969321760438051307602710067691655594144555981789266923268726375083617045071614507056304853940075375182544322321707855284812448947134507368095824153895865448750743490905634283746134842125531111298270684096006457790085319750547099703191607730697212237022344288567024397043085556112207126397408690444223117567302611142478779516585273474376382065218782489624131738221408966488614592329865623824013314402842817685027056621581342126460626746373735504303438508331352888601094811571149220629401723646382788235616222587867617641362098132289973029244352649605778476582114949543319762536673233437177430095926260818097299826892074452290626882 68363210634168705901312659160606526331634627044539362578650944688837895206121961285522995506121639568787192663436123239898597673202853532500722323590135552993327872001352347584785651902449799977062590460136772160740441579104404927233582295289822224924174832701972863340350813172730169613444333094407293782971391874472132184644697300961752153980260588355075047400660216033564874811374084341185023074117145256960144095286101452717336946419558017180026455086491920185574726312952523026171367694355231395277044397292972544095982867340781173374430155534363495194645008712907447204923011181721505289760090082506045481907418934475209537821749106036651172673078106019644426406498659975578191053841661951468146569408515158585361661111869901596245190509655231087566702995788117576910545416763855158121074795518490239769129991940756680805120389096202263283942875270086751646410704348913882983436202837807319896138965571811721398091112727312624472489553336562986612659636847157339913441859281230081267232137262399077125129933762526514664803307531618165723989644164045199041998364783707773946182280771702416855907991607621186424158407429643308459304355957887189243269674875700072975679764756144875708357396550406737763598755344366841832936331540807728881099902306397172655153252352019793881785163213226821386187061230863285070933534811036035037966877971510460975101521893209302428239403811169863904438544503570667104981705079409696996299192903683200159428543525538965385610862613205538551733027450188506225625956233605062355763708615460653520564982349372548491948604271761294444765921170817427178100952585807514919239274294180991968823863183213189582723493704902941615879687892841850791568227110805792047102522466339532615262654820701543533940081063895611725346300237626884278516414841114354533405190856226320976909165148158218715495622166151294698840271779075464224606051450469853609448239746760756852211084793311744825290103229966997968048693602716519311875205730471909439627975396445490316566459228416614211754337827897773885559613713276755422440686680820394624727727893725006596285983793940587952818410289208292662736404968086518070801647099875982884236638885756624509094559812296531984343252136039833789585776779379805921663812029322082924599649489808175870015432992204601869587432660563521992120545852302203095706455707366246085521340127687951777916987595317411833821421529493461929180446647609438427875234602966290193273033232841606846493032140840616324583592223109273877103083711100741683636171002861084825439415226715980886132271589996234143842264386927837745888857717212148542165851973861499532733270831872756101287645543489674346889597972313539472777940192100047146215186229590660548750045743571374325800645313227030955573295977839302306651486468860010002492105739634797264568902893888336833491838931286651623646419505344787839048145820181450342778670021775751792799825666995218408455091386451058226852117745731675488433834589235239952959974734536824772193257652996904454498301349080166475522157095516796166127654255127731050885070771534506240039967291450513873204559474835035551071659717640532595268886944092022772797987320493149609021943216728004462432602743721794851652234251839613170663420338846872186638785672946285912546815476961392615259544840914562668630467636987492814460981328426598189269332963250879934769962705109503998932638409585533443125281140627460038620801184824657740163325827879908649189729435099410213163192059093002148894445817952920253495195848314307585856879163894414370871342396940089599613339004434105411125671214149650472776018761 110613998386153219735588194505458373260741767855696826121511110207674085448845475275879689251440466449991546188703528689704081697080536987689722338457422774814033060129119749948959659379029035307862939882072161257922917750184933334689293245055701808658767434873166206334344493191467918611993114129484169143262951443276924287390408571640965559542351437804945733090591295976531333043258362325456450786581956817386945543363599879077335424869355803922821254144286387070891192725711867906968713460152660817132738752953634926052665204131336006212680240604744063041894647623337185558617975544014635369035241349032860023211052076015888999938704141088597878636300588049890094744117894478260494333644913964284279097574911909348946500175876618597415093660494808062873508462827667006792408688736441893180584987950265415249789137186130628598665673825742701460336236862990206419398419801531524306435314814558185394680549923402664972805196451534907000593617839069770599665264338752742198074242779751501396612211216567043457343557895674192388442504871818327413232029672985833845250758662307999757521315277466748845315598843621087583233212316467315112707611040548409215227846927414427732827828491031620100805687520169545507053143955400399138449184582820948080282751767039765442633887509280745535273468242977696272044791090353482937983893928934366442317210245045016013358736785884467341383355014262902717609863739236958770320422016234548408131544378929126959833555354424927086339037672676146569162409642260213149406037684941202615517760616120018885934976369959242077681809687931933383641754301056326732019753230518940294615193928679425320910311305187866940242542023005019881708482271956493676923415517153499015066621238356597164345727235285230967801672179971332002033376545514821547421287750411693281411835153114180782886863285314442081953557994781005141361909888865438243349460031700372353901923055775081542818769927670978704467180764591366804579477473582541986997577309706513316065430746326063251739712886584563327406764549353043734056263601820861708011756997130833670679465686642370323935279551290763296453582897948410183862423396744979558513607525953060877323062560511863436575074532601232754594810530257344326607507573649217784950947896626931401398074321874058064131405995544591320822515236060741029334638801623920409849977699287595557779740921155164243587310635738063699971097589026490250517997340719079292868092305844887458333398886640572242683477519029540089229042371048064059307726015071359013317053982592286609135005689044262749333812057917929395428978858156654241997267256283843303090651523277364302475957322464389251430192944363262163649632353500100713039847970247526823236132251090018856703490956793524121813936617163106774534121243943142353586426434916171844939890605076555177599748225655501115216954597680535752839579055750924362167533485078827195619699673309416584628352432583300573975946582995438928532986453112624804336924142204561713398026042139534839884913247141460436287568272348892850605774140588410673183959109067806426067615093856214095324779740397648380572655298988931416520410461131438229552633078934148303909285591177245615479733302047755009532305935329525548864471274183901737687817381932428298845912070354976356769933044264003757738324357499836143006849702206275304085113066648007155757947555580745558593976019512346816617665466207114785251741767373833774125104623332989093051926922691479798410358836823056595951427675315590016512087180051052543468225092666957191635355746009363914191104933613323036790769100360366229222971041041724925066645643 178977209020321925636900853666064899592376394900236188700162054896511980654967436561402684757562106018778738852139651929602679370283390520190444662047558327807360932130472097533745311281478835284925530342208933418663359329289338261922875540345524033582942267575139069674695306364198088225437447223891462926234343317749056472035105872602717713522612026160020780491251512010096207854632446666641473860699102074347089638649701331794672371288913821102847709230778307256465919038664390933140081154507892212409783150246607470148648071472117179587110396139107558236539656336244632763540986725736140658795331431538905505118471010491098537760453247125249051309378694069534521150616554453838685387486575915752425666983427067934308161287746520193660284170150039150440211458615784583702954105500297051301659783468755655018919129126887309403786062921944964744279112133076958065809124150445407289871517652365505290819515495214386370896309178847531473083171175632757212324901185910082111516102060981582663844348478966120582473491658200707053245812403436493137221673837031032887249123446015773703703596049169165701223590451242274007391619746110623572011966998435598458497521803114500708507593247176495809163084070576283270651899299767240971385516123628676961382654073436938097787139861300539417058631456204517658231852321216768008917428739970401480284088216555476988460258679093769769622758825432766622048408242807625875302127095644245404430737282612327119262098879963892471949900285881685120895437092448719375031993918546264971281469231580672406499958719331790569630413959693227828407675471873753910120705816326455213854468222860417289734174488401056522966035727907961497588170164798344468491642627959291062169143704696129779608382055986774501741753243866943727379676783141705825937702591526047814817026009340501759796028433472660797449180160932299840202181667940902467955511482170225963350162802535838395029854720982723529757283994558364772628171076299061298872783040178422755693406142771553568306172115001177539161102377250817619615877315097617130452443677951228295407193580367376920221263345231351249271993187156702846598828364831497629315254625829043761559701446268487945669634344897764738938062666297178116193284353029023706614759925949014325997723811682233934146838987749193190409947896624263021455184653926123505556433406653841643301081048843116021504298231055475533792519118519952179698443988328517720743326908811177651606432119482179089176509659870156413812634594157337936410809726172100696953224985453371434574420915760243635466083647914163539271243245084491987886124973495991845256503497138863835209228154337145352717838487852936510539230325813640185817788162347573969451318480680679405453536700364898447614581930390137730107417221782444660237912903776181847431996344711352442168651119543837948708793528967187376485998561095712201215679305260277538398369695085168377428178099578518982431037969446497155385104198844300292770758731439801666358000776676359612078170900138364890785869621429059326127931236105206839311613364195537476952685865390720335364747031848162253777214773823966967592070178771970824821520023026171076707272911670395224501676518775759471964908679051320400516705526023514908351237720779300485484697743301262269316748521225396372997869198414398811637317339193768118546094395074605345027280518831625493363938724621850815550303875792648228377022908001293812745905808157646833215252750571388447600088271922466809114619734408592165406532998003972796963420940981264777492234909903778285062447330553412636404108104794471640348642255191375397842664404 289591207406475145372489048171523272853118162755933014821673165104186066103812911837282374009002572468770285040843180619306761067363927507880167000504981102621393992259591847482704970660507870592788470224281094676586277079474271596612168785401225842241709702448305276009039799555666006837430561353375632069497294761025980759425514444243683273064963463964966513581842807986627540897890808992097924647281058891734035182013301210872007796158269625025668963375064694327357111764376258840108794614660553029542521903200242396201313275603453185799790636743851621278434303959581818322158962269750776027830572780571765528329523086506987537699157388213846929945679282119424615894734448932099179721131489880036704764558338977283254661463623138791075377830644847213313719921443451590495362794236738944482244771419021070268708266313017938002451736747687666204615348996067164485207543951976931596306832466923690685500065418617051343701505630382438473676789014702527811990165524662824309590344840733084060456559695533164039817049553874899441688317275254820550453703510016866732499882108323773461224911326635914546539189294863361590624832062577938684719578038984007673725368730528928441335421738208115909968771590745828777705043255167640109834700706449625041665405840476703540421027370581284952332099699182213930276643411570250946901322668904767922601298461600493001818995464978237111006113839695669339658271982044584645622549111878793812562281661541454079095654234388819558288937958557831690057846734708932524438031603487467586799229847700691292434935089291032647312223647625161212049429772930080642140459046845395508469662151539842610644485793588923463208577750912981379296652436754838145415058145112790077235764943052726943954109291272005469543425423838275729413053328656527373358990341937741096228861162454682542682891718787102879402738155713304981564091556806340711304971513870598317252085858310919937848624648653702234224464759149731577207648549881603285870360349884936071758836889097616820045885001585740866567866926603861353672140916918478838464200675082061966086659267009747244156542896522114545725576085105113030461251761576477187828862151782104638882764006780351382244708877498997493532873196554522442800791926678241491565707822575945727395798133556291998278244983293784511232463132685004050789823455550043915406411105941437201080821969998280265091608866793539233763616707546442430216441329047597013611419214656065109939831006122751331859987178899696503041676965205401995718535741243459710270278968045658043709426604804506384799895705832092934700222103241146229883392229779835148347155020416228137685185476801534604148031432216198674188862679313740898857636132595100792687450731770698262157027657158422569428518547553244504641538465725587013824339338692353692371886949787907619768399345199339063925748126647723129325577616846636563383212790339104734018069368394584962056530532161819556406984552441936083918090651956925097107682873644363379756026818815894451963084147279825327073437893777952176733705376693617512495572473263343903020300959246934430689526772245810634349870072812898384112480639903409054374153101960319380616558502847640839981409820823514481497214614380845949381176800207416646039055102711728784330609813656238626086681565489400130736193555914234954644167041400043422631207461722612500785228074412371051957914744134197632167969341999763013628764675375127586871010431490635926267179673262868246010447108745523405066047409724182181918620178055025340431646033648221969127590655913142199253552264166735673194877205154837869571613296233100322909310047 468568416426797071009389901837588172445494557656169203521835220000698046758780348398685058766564678487549023892982832548909440437647318028070611662552539430428754924390063945016450281941986705877714000566490028095249636408763609858535044325746749875824651970023444345683735105919864095062868008577267094995731638078775037231460620316846400986587575490124987294073094319996723748752523255658739398507980160966081124820663002542666680167447183446128516672605843001583823030803040649773248875769168445241952305053446849866349961347075570365386901032882959179514973960295826451085699948995486916686625904212110671033447994096998086075459610635339095981255057976188959137045351003385937865108618065795789130431541766045217562822751369658984735662000794886363753931380059236174198316899737035995783904554887776725287627395439905247406237799669632630948894461129144122551016668102422338886178350119289195976319580913831437714597814809229969946759960190335285024315066710572906421106446901714666724300908174499284622290541212075606494934129678691313687675377347047899619749005554339547164928507375805080247762779746105635598016451808688562256731545037419606132222890533643429149843014985384611719131855661322112048356942554934881081220216830078302003048059913913641638208167231881824369390731155386731588508495732787018955818751408875169402885386678155969990279254144072006880628872665128435961706680224852210520924676207523039216993018944153781198357753114352712030238838244439516810953283827157651899470025522033732558080699079281363698934893808622823216942637607318389040457105244803834552261164863171850722324130374400259900378660281989979986174613478820942876884822601553182613906700773072081139404908647748856723562491347258779971285178667705219456792730111798233199296692933463788911045887171795184302478920152259763676851918316645604821766273224747243179260482996040824280602248660846758332878479369636425763981748753708096349835819626180664584743143390063358827452243031869170388352057116586918405728969303854678973288018232016095968916644353033290261493852847377124164377806241753465794997569272261815877060080126407974817144116777611148400442465453048839327914343222396762232470935862851700558994076279707265198180467748524960053393521945238525932425083971042977701642411029309267072245008109476167420962844512595278844381903018841396286595907097849014767556135826066394609914885317376114734354746123467242761546263125604930421036496838769852916854311559362739932129345467415560407223503953499029478283847520564750020265979353746256473971465348325638217769517203275826993603658517555091972894413631138679956865869920069135184728093005127381084675424294942674762138769212451377667610564357523321017043100477943382234748955687508031674062252242468535539803883294499260061937050464743177012634541655614910505811576177942348764598892095599382272416439063479753339484708631740338538838022521888433239303194850801225389878441605084165046114027595492254064041255047418190217859307515207011502861636612798824351807185837458881379972986824637654766054273804093972888127084846636865351704550818675379879195673124986490457323831414518036064483086339599273953462123293432166349897882326230931554390292823491029269815307556957500895403430086714796503734062754328633766281484380593811541177301856797217845812508593243996545321853468756048447718273217792411242005787583376421399616916239648282759482432423834256693610535380667990214180667144132774347325153176058998137395066974629486746619825565816920484315999594720148309598985309949309509920255551424475720751974451 758159623833272216381878950009111445298612720412102218343508385104884112862593260235967432775567250956319308933826013168216201505011245535950778663057520533050148916649655792499155252602494576470502470790771122771835913488237881455147213111147975718066361672471749621692774905475530101900298569930642727065228932839801017990886134761090084259652538954089953807654937127983351289650414064650837323155261219857815160002676303753538687963605453071154185635980907695911180142567416908613357670383828998271494826956647092262551274622679023551186691669626810800793408264255408269407858911265237692714456476992682436561777517183505073613158768023552942911200737258308383752940085452318037044829749555675825835196100105022500817484214992797775811039831439733577067651301502687764693679693973774940266149326306797795556335661752923185408689536417320297153509810125211287036224212054399270482485182586212886661819646332448489058299320439612408420436749205037812836305232235235730730696791742447750784757467870032448662107590765950505936622446953946134238129080857064766352248887662663320626153418702440994794301969040968997188641283871266500941451123076403613805948259264172357591178436723592727629100627252067940826061985810102521191054917536527927044713465754390345178629194602463109321722830854568945518785139144357269902720074077779937325486685139756462992098249609050243991634986504824105301364952206896795166547225319401833029555300605695235277453407348741531588527776202997348501011130561866584423908057125521200144879928926982054991369828897913855864254861254943550252506535017733915194401623910017246230793792525940102511023146075578903449383191229733924256181475038308020759321758918184871216640673590801583667516600638530785440828604091543495186205783440454760572655683275401530007274748334249866845161811871046866556254656472358909803330364781553583890565454509911422597854334519157678270727104018290127998206213512857827927043468176062267870613503739948294899211079920966787208397942118172659272296836230458540326960159148934574807380845028115352227580512114386871408534349138275580340723145357366928907521331887984452004972978929393253039325229459829190710159052099895759726003809059406223001794868206385506689746175571100905780789320078794817930703328954336762212874874161994271123034831565026211336369255618536716045462724988839676551687515964642554001319752533612837040131326646423711747966165338123307871486094131727681752896484017669549419895988524568141927847881208659020117493782921544687521993274125369256405065875059578349408671687451566784447652909433055662141950813537971320110579599107940214561013901352285333858916955684441121983533060427537775554826219944222075929767592014681743586471619025496626739390494153233618687886591581160889232175770244287167681705449809942516076560289782262633635137153794788985327982104885938487006434508431874338301541239163902158095245007074330369323221285502758150486986124478728528425870054414308148516004339194698015544932745408984963679595341989492441864302758310722225282993287783884589196743800576339783522476954919449763735817031458578788933569826226946809837940389917365676904464496160422788434959337907813012299279059126438348200429347926202758054145917370613739521490111652204196634470256310242868720925651421993854963808509318519830346597736667656367597279768212890246079886242559792174255634552258751548986487926671138918685749612097097124939620982489413513619246714553856956529243773354114023477826713008277708715747416221730062683569551858886883982793862515104147379491868847657576043661284498 1226728040260069287391268851846699617744107278068271421865343605105582159621373608634652491542131929443868332826808845717125641942658563564021390325610059963478903841039719737515605534544481282348216471357261150867085549897001491313682257436894725593891013642495193967376510011395394196963166578507909822060960570918576055222346755077936485246240114444214941101728031447980075038402937320309576721663241380823896284823339306296205368131052636517282702308586750697495003173370457558386606546152997443513447132010093942128901235969754593916573592702509769980308382224551234720493558860260724609401082381204793107595225511280503159688618378658892038892455795234497342889985436455703974909938367621471614965627641871067718380306966362456760546701832234619940821582681561923938891996593710810936050053881194574520843963057192828432814927336086952928102404271254355409587240880156821609368663532705502082638139227246279926772897135248842378367196709395373097860620298945808637151803238644162417509058376044531733284398131978026112431556576632637447925804458204112665971997893217002867791081926078246075042064748787074632786657735679955063198182668113823219938171149797815786741021451708977339348232482913390052874418928365037402272275134366606229047761525668303986816837361834344933691113562009955677107293634877144288858538825486655106728372071817912432982377503753122250872263859169952541263071632431749005687471901526924872246548319549849016475811160463094243618766614447436865311964414389024236323378082647554932702960628006263418690304722706536679081197498862261939292963640262537749746662788773189096953117922900340362411401806357568883435557804708554867133066297639861203373228459691256952356045582238550440391079091985789565412113782759248714642998513552252993771952376208865318918320635506045051147640732023306630233106574789004514625096638006300827069825937505952246878456583180004436603605583387926553762187962266565924276879287802242932455356647130011653726663322952835957596749999234759577678025805534313219300248177380950670776297489381148642489074364961763995572912155380029046135720714629628744784581412014392426822117095707004401439767694912878030038073395322292521958474744922257923560788944486092771887926643319625865834182842024033343863128412925379739914517285191303538195279839674502378757332100131131994889844628007681072838283423062491568768875888359679231650046211963799826482320911461590550633032357257332612173932980856439402336750300083930881859977226676074580524717286875043717000277121645934006425331854413324605882643152799892422665422426636331489135554472055526412083474012739078894517879771272354469043645048689568503068208484722480450316964989156673453597378156372205064603514719503440008974139449840741650361948843823629424771979653538786427743642500274685693089194831437877544140948729972731334092580996981537869278850947495354091641025947795642496634083029596218802562524480353559375876864566083812693471984082009800402580045594242116205762792052924191975182456978602291266216109944148181106662966274608522243962798074380433756410604039766086629087521582277254168812765499351933300295264221331883712968947582500022062388421461201245178649176941452669279754819640749693787323961224927571240416893541738918993138204319064571502487207135802587666504985811175317048192410245260900364142601621681646294527604515777584585497640339842127970386104842910787201445232044520931381633231517870081503833427381697989730876568926530173021615221779982907195462367241787546983167885551453607032292392847825053456889412124399082051764413258949 1984887664093341503773147801855811063042719998480373640208851990210466272483966868870619924317699180400187641760634858885341843447669809099972168988667580496529052757689375530014760787146975858818718942148032273638921463385239372768829470548042701311957375314966943589069284916870924298863465148438552549126189503758377073213232889839026569505892653398304894909382968575963426328053351384960414044818502600681711444826015610049744056094658089588436887944567658393406183315937874466999964216536826441784941958966741034391452510592433617467760284372136580781101790488806642989901417771525962302115538858197475544157003028464008233301777146682444981803656532492805726642925521908022011954768117177147440800823741976090219197791181355254536357741663674353517889233983064611703585676287684585876316203207501372316400298718945751618223616872504273225255914081379566696623465092211220879851148715291714969299958873578728415831196455688454786787633458600410910696925531181044367882500030386610168293815843914564181946505722743976618368179023586583582163933539061177432324246780879666188417235344780687069836366717828043629975299019551221564139633791190226833744119409061988144332199888432570066977333110165457993700480914175139923463330051903134156092474991422694331995466556436808043012836392864524622626078774021501558761258899564435044053858756957668895974475753362172494863898845674776646564436584638645800854019126846326705276103620155544251753264567811835775207294390650434213812975544950890820747286139773076132847840556933245473681674551604450534945452360117205489545470175280271664941064412683206343183911715426280464922424952433147786884940995938288791389247772678169224132550218609441823572686255829352024058595692624320350852942386850792209829204296992707754344608059484266848925595383840294917992802543894353496789361231261363424428427002787854410960391392015863669476310917699162114874332687406216681760394175779423752203922755978305200325970150869959948625874402873802744805147941352932236950322641764771759627208336529885245583678334409263994716654877076150866981446504518304626476443859986995673692102743902376878827090074636397654479092924372707220748232447422188281684478553981664146562583812692478278577672818890726771614972162102828161793831741879716502127392159353297809318314671239528590093701355749668710935307352996520749389970939027134122770195640893292068690177538610223538230287076799713858504518451389060293926829464874108951756646288608499023787825107884733600642211069796588404522270395771303262830397729472902955291314840251459207113075336069387151277505285593497732194053611847019109078893672624639802902562004374009625051741545150018225871791209100895529527145748386886808189986338528936635713529943993975269049835435404790314004155423783073595425347950084628209165755121220140177776085883767520319420563101867476356285285455927228429942567186959544654729328036670549171885745765856317526363850690562541221897854136424108551096049933436814221307724798333176938862052320591783708080412702458903331945959562392406833159541874956773539933080994685536392823338613735832957746335325578880110133204611249249389873412078660444850823380799109058190948456000579107627955248988675896545378107142298184979938383653391123189772674575374814371208132787224581521468794320493836878539007981928556731739881389894536540607490758337376759753274892100879519372592769581926120130981656618028506572852500359495017452674096251846687405812699884287045093048492991184904178114658009277045851455103312493916275186710340157604268903993246739627808074543447 3211615704353410791164416653702510680786827276548645062074195595316048432105340477505272415859831109844055974587443704602467485390328372663993559314277640460007956598729095267530366321691457141166935413505293424506007013282240864082511727984937426905848388957462137556445794928266318495826631726946462371187150074676953128435579644916963054752132767842519836011111000023943501366456288705269990766481743981505607729649354916345949424225710726105719590253154409090901186489308332025386570762689823885298389090976834976520353746562188211384333877074646350761410172713357877710394976631786686911516621239402268651752228539744511392990395525341337020696112327727303069532910958363725986864706484798619055766451383847157937578098147717711296904443495908973458710816664626535642477672881395396812366257088695946837244261776138580051038544208591226153358318352633922106210705972368042489219812247997217051938098100825008342604093590937297165154830167995784008557545830126853005034303269030772585802874219959095915230903854722002730799735600219221030089737997265290098296244674096669056208317270858933144878431466615118262761956755231176627337816459304050053682290558859803931073221340141547406325565593078848046574899842540177325735605186269740385140236517090998318812303918271152976703949954874480299733372408898645847619797725051090150782230828775581328956853257115294745736162704844729187827508217070394806541491028373251577522651939705393268229075728274930018826061005097871079124939959339915057070664222420631065550801184939508892371979274310987214026649858979467428838433815542809414687727201456395440137029638326620827333826758790716670320498800646843658522314070318030427505778678300698775928731838067902464449674784610109916265056169610040924472202810544960748116560435693132167843916019346339969140443275917660127022467806050367939053523640794155238030217329521815916354767500879166551477938270794143235522582138045989676480802043780548132781326797999971602352537725826638702401897940587691814628348447299084978927456513910835916359975823790412637205729242037914862554358659898333672612164574616624418476684155916769305649207170343402055918860619285585250786305842744480803642953298903922070123372757178571050465599462210352637449155004126861505656960154805096242041909444544601347513594510914030968851033455880800705825151981004201822228254362089625691539071529252971300340223750574023364712607988261304409137550808646392906100762445730548354093396588692429905647802334560808181166928356671632121522547517417237269255729583886227561173957993051351629778497762705718640413059757649024144277527624586098003596773443896994271946207053063578128119950029872498676188756198257568983124523904759091872793501058032376644687669393834716919411784279228419738776135077321860023168990450359313902254949952658017721917034613740251653513144098849014225564136403422582521583593134755187151363411066266767974448270246209876902240715256646353915369838218433908953676095527678930427070516851257368914044509299194074974296522646607084438608925837000929077122339949337207296343685034451623021910860196013087126559100824930813410428468832581133102842359661160466913211802260310303369597632942031776907710068629425590332702068367225756220355277195130042182910878894439385873695339923027169187973780131669153926731418227189457095882483011576182835135095274114961345250915231943007489758697612492713321576213701138959888206084018229576521286101477949836418282381626414460066708270272974092099640481899796824029019340654766100948567579558165211061158316117645821679572487802396 5196503368446752294937564455558321743829547275029018702283047585526514704589307346375892340177530290244243616348078563487809328837998181763965728302945220956537009356418470797545127108838432999985654355653325698144928476667480236851341198532980128217805764272429081145515079845137242794690096875385014920313339578435330201648812534755989624258025421240824730920493968599906927694509640090230404811300246582187319174475370526395693480320368815694156478197722067484307369805246206492386534979226650327083331049943576010911806257154621828852094161446782931542511963202164520700296394403312649213632160097599744195909231568208519626292172672023782002499768860220108796175836480271747998819474601975766496567275125823248156775889329072965833262185159583326976600050647691147346063349169079982688682460296197319153644560495084331669262161081095499378614232434013488802834171064579263369070960963288932021238056974403736758435290046625751951942463626596194919254471361307897372916803299417382754096690063873660097177409577465979349167914623805804612253671536326467530620491454976335244625552615639620214714798184443161892737255774782398191477450250494276887426409967921792075405421228574117473302898703244306040275380756715317249198935238172874541232711508513692650807770474707961019716786347739004922359451182920147406381056624615525194836089585733250224931329010477467240600061550519505834391944801709040607395510155219578282798755559860937519982340296086765794033355395748305292937915504290805877817950362193707198398641741872754366053653825915437748972102219096672918383903990823081079628791614139601783320941353752901292256251711223864457205439796585132449911561842996199651638328896910140599501418093897254488508270477234430267117998556460833134301407107537668502461168495177399016769511403186634887133245819812013623811829037311731363481950643582009648990608721537679585831078418578328666352270958200359917282976313825413428684724799758853333107296948869931550978412128700441447207045881940624051578671089063856738554664850440721161943654158199676631922384119114065729535805164416638299088608434603620092168786899819146184476297244979799710397953543658292471534538290166669085327431852885586216685956569871049329043272281101079409064127166229689667450791896684812744169301603897899156831909182153559558944734811630469416760459334000722571618225301116759814309267170146263369030401289184246902942895065061018267642069260035453200027591910604657305850042877300928929435627442445541781809139426468220526044817913188540532086127313359130516465272833302810836891573098775105791690565043242521876471581236433117112675667116521634074848769057437587753171691575022516902060547407358464512651669653145978680983487396561313280401199337828692188461619714633210052780290501104933618594338400443942111420705073878157899693120497507771972933707200716490581849421859349810951526160321714731806092739102937317146334016012066194428604565947208895137267692354858017504772145461115744648378241649590545852906561619785858682376935349065987770554885399393335910281881824293980836276766029137159414734198809748920084305436150509693520561673443830382492715771739820911764035183059419361560546088942610884535665317618101486878080175509523941200293660848521165372683553469814200244903472710251750709442574452162990805270426209118013827622364401470719375742586032452338105004190124043887009131290382074639441707195357756988394778936518589071538738775574201683105688194326298747111801318765965277003818596557806101074870795758078594864842766268505368665427220110892561307380562345843 8408119072800163086101981109260832424616374551577663764357243180842563136694647823881164756037361400088299590935522268090276814228326554427959287617222861416544965955147566065075493430529890141152589769158619122650935489949721100933852926517917555123654153229891218701960874773403561290516728602331477291500489653112283330084392179672952679010158189083344566931604968623850429060965928795500395577781990563692926904124725442741642904546079541799876068450876476575208556294554538517773105741916474212381720140920410987432160003716810040236428038521429282303922135915522398410691371035099336125148781337002012847661460107953031019282568197365119023195881187947411865708747438635473985684181086774385552333726509670406094353987476790677130166628655492300435310867312317682988541022050475379501048717384893265990888822271222911720300705289686725531972550786647410909044877036947305858290773211286149073176155075228745101039383637563049117097293794591978927812017191434750377951106568448155339899564283832756012408313432187982079967650224025025642343409533591757628916736129073004300833869886498553359593229651058280155499212530013574818815266709798326941108700526781596006478642568715664879628464296323154086850280599255494574934540424442614926372948025604690969620074392979113996420736302613485222092823591818793254000854349666615345618320414508831553888182267592761986336224255364235022219453018779435413937001183592829860321407499566330788211416024361695812859416400846176372062855463630720934888614584614338263949442926812263258425633100226424962998752078076140347222337806365890494316518815595997223457970992079522119590078470014581127525938597231976108433875913314230079144107575210839375430149931965156952957945261844540183383054726070874058773609918082629250577728930870531184613427422532974856273689095729673750834296843362099302535474284376164887020826051059495502185845919457495217830209228994503152805558451871403105165526843539401465888623746869903153330949854527080149608943822528315866207019536362941717482121364351557078303629981990089269128113361151980592090163824314971971700773009220244510645471055735915490125504415323201766316814162943877722320844132911149888970385151789508286809329327049620379508871743311432046513282170356551173107752051489908986211211048442500504345503693067590527795768267511270122585611315004924393846479663206385505848338699399234669370625039758270267655503053322322676779620068681846106128354356335205659943439465993358835083429777006349962976067783139852647567365430605777801341856897245358077639230826354162466670070861480824432103624800891546020749108861019215116272440560418628346794976110501165881291641604895015578249303605616033495776193557905070553776988454593689925088868731663409107873403993861629791556425578426793641763328850803256013675655026536175621610155111248023626446851299565504807413558262772393473109753456469918957456150169204085120782286258276071330845281203855249052637530573291926458448240988794675075448758500847914766951070918979933656673457995673072209163811236394264987404221773631188132620451063588782436645059005762007210864536975440506930990142276411515595558131400981378677246985319729664930143721884642661443375386247527077210782243876749697420648938043651207555594432364253586118598812633278919897416354583832144732001844436307470923504847413046902210877681306567299450255105355986894498889987994567352763283409058895948282985020536818648060024877052151519523970575952713207178509589038939369103459078457602925103890136412844695813410345826670579726585536228538382986953050148239 13604622441246915381039545564819154168445921826606682466640290766369077841283955170257057096214891690332543207283600831578086143066324736191925015920168082373081975311566036862620620539368323141138244124811944820795863966617201337785194125050897683341459917502320299847475954618540804085206825477716492211813829231547613531733204714428942303268183610324169297852098937223757356755475568885730800389082237145880246078600095969137336384866448357494032546648598544059515926099800745010159640721143124539465051190863986998343966260871431869088522199968212213846434099117686919110987765438411985338780941434601757043570691676161550645574740869388901025695650048167520661884583918907221984503655688750152048901001635493654251129876805863642963428813815075627411910917960008830334604371219555362189731177681090585144533382766307243389562866370782224910586783220660899711879048101526569227361734174575081094414212049632481859474673684188801069039757421188173847066488552742647750867909867865538093996254347706416109585723009653961429135564847830830254597081069918225159537227584049339545459422502138173574308027835501442048236468304795973010292716960292603828535110494703388081884063797289782352931362999567460127125661355970811824133475662615489467605659534118383620427844867687075016137522650352490144452274774738940660381910974282140540454410000242081778819511278070229226936285805883740856611397820488476021332511338812408143120163059427268308193756320448461606892771796594481665000770967921526812706564946808045462348084668685017624479286926141862711970854297172813265606241797188971573945310429735599006778912345832423411846330181238445584731378393817108558345437756310429730782436472120979974931568025862411441466215739078970450501053282531707193075017025620297753038897426047930201382938825719609743406934915541687374646125880673830666017424927958174536011434772597175088016924338035823884182480187194863070088534765696816533850251643298254798995920695739834704309361983227521596815989704468939917785690625426798456036786214792278240247284140189765901050497480266046321625968988731610270789381443823864602814257955555061674601801660303001476714767706602170193855382423077818974297817004675094503495285896920669708552144024412511455577409336586240840558543948174721730380512652340399661177412875221150086740503079141739539346070649005646965464704964323145320157605869545498038401026328942517170598398118383340944421689328717299306155946266939862965793482343294287764519057219451891744785207209608073173612183343794318333427984210604488594104503659656973303561643960255930223794189844134067897220690097452332228948107676940262421643745167938753634463333179917532480309851012974498008427863211051049234760475851155003205490068069492101296335023708494839844336716079531727260357667251247198125096360100414333521303275608755795599380558500281995389262980122122204424635913778184650763548889272141402267116302270342265759449847151064144189905222928149943963220386449910419723827000150438460619857632538765792339050393344739059979718696635787600897686103597925168968897217092725941851379257815510927295169973125950200451551815720241898088273903140802290441282168379149026490689810827253545979040703865628564088862419386273638620942598892172372928277985834067786363502285343530670606858929035995135537272270645425484751127211814517621586620267339019637555259295480030781508021278376641992204990604416652936677763957055407719598763652626353202629658770279011954290310907804904646107277675015409026178760932170923290678253112095175948392012756339430944294333612494082 22012741514047078467141526674079986593062296378184346230997533947211640977978602994138221852252253090420842798219123099668362957294651290619884303537390943789626941266713602927696113969898213282290833893970563943446799456566922438719047051568815238465114070732211518549436829391944365375723554080047969503314318884659896861817596894101894982278341799407513864783703905847607785816441497681231195966864227709573172982724821411878979289412527899293908615099475020634724482394355283527932746463059598751846771331784397985776126264588241909324950238489641496150356235033209317521679136473511321463929722771603769891232151784114581664857309066754020048891531236114932527593331357542695970187836775524537601234728145164060345483864282654320093595442470567927847221785272326513323145393270030741690779895065983851135422205037530155109863571660468950442559334007308310620923925138473875085652507385861230167590367124861226960514057321751850186137051215780152774878505744177398128819016436313693433895818631539172121994036441841943509103215071855855896940490603509982788453963713122343846293292388636726933901257486559722203735680834809547829107983670090930769643811021484984088362706366005447232559827295890614213975941955226306399068016087058104393978607559723074590047919260666189012558258952965975366545098366557733914382765323948755886072730414750913332707693545662991213272510061247975878830850839267911435269512522405238003441570558993599096405172344810157419752188197440658037063626431552247747595179531422383726297527595497280882904920026368287674969606375248953612828579603554862068261829245331596230236883337911945531436408651253026712257316991049084666779313669624659809926544047331819350361717957827568394424161000923510633884108008602581251848626943702927003616626356918461385996366248252584599680624011271361125480422724035929968552899212334339423032260823656670590202770257493319102012689416189366222894093217568219639015778486837656264884544442609737857640311837754601746424933526997255783992710161789740173518907579143835318550914122179855170178610841418026913716132813046582242490154453044109113459729011290977164727306075626203243031581869546047916176226555988968863268202156464602790304615223970290088061015767723943502090691506942792013666295999664630716591723700782900165522916568288740614536271346653009661931681964010571359311184627529530826005944568944732707771651368700787438253901171705663621201309397399145412284300623275068625736921809287646599602486996458241707761274992747925821179548774400096134769841107849846671743734486011135770231714821736754655897814645025613917969798958471547345220548237358890768438721278439919515754974784812548058559154618590531504204056768956119788537464305748693130578936801155510404208427702356469635893141657958520902120996102050454138772015126950509142913430720003819225827409799847500196676538384894597897745667234654569721005039441345487387898588528618337090295128354919393242542753501441870421668627438705094799275758651286375386808703457745725995723851340412132188882507872181865885090325371556357101517668156314724288024316821272934506034510101390707382541957996653413683832034541783669118529153698878691420833532711896207422416090113155641299644663263023336041591536935823580483872418198321372482101097976809590504275283619827280269274115081732955674632059227564523797497948645586937005514400836017676006911266371209344968274013475548884960748977592226367658788529678504722153629346231725161468820496843844015210736753473011951282651068583767986491663457921846528118598292567969327281286662642321 35617363955293993848181072238899140761508218204791028697637824713580718819262558164395278948467144780753386005502723931246449100360976026811809319457559026162708916578279639790316734509266536423429078018782508764242663423184123776504241176619712921806573988234531818396912784010485169460930379557764461715128148116207510393550801608530837285546525409731683162635802843071365142571917066566961996355946464855453419061324917381016315674278976256787941161748073564694240408494156028538092387184202723291311822522648384984120092525459673778413472438457853709996790334150896236632666901911923306802710664206205526934802843460276132310432049936142921074587181284282453189477915276449917954691492464274689650135729780657714596613741088517963057024256285643555259132703232335343657749764489586103880511072747074436279955587803837398499426438031251175353146117227969210332802973240000444313014241560436311262004579174493708819988731005940651255176808636968326621944994296920045879686926304179231527892072979245588231579759451495904938238779919686686151537571673428207947991191297171683391752714890774900508209285322061164251972149139605520839400700630383534598178921516188372170246770163295229585491190295458074341101603311197118223201491749673593861584267093841458210475764128353264028695781603318465510997373141296674574764676298230896426527140414992995111527204823733220440208795867131716735442248659756387456602023861217646146561733618420867404598928665258619026644959994035139702064397399473774560301744478230429188645612264182298507384206952510150386940460672421766878434821400743833642207139675067195237015795683744368943282738832491472296988695384866193225124751425935089540708980519452799325293285983689979835890376740002481084385161291134288444923643969323224756655523782966391587379305073972194343087558926813048500126548604709760634570324140292513959043695596253845678219694595529142986195169603384229292982627983265036172866030130135911063880465138349572561949673820982123343240923231466195701778400787216538629555693793936113558798198262369621071229108321684073235342101801778192513279535896867973716273986966846038839329107735929204719746349576148218110031608979066787837566019161139697293799901120890959796613159792136454957668100843529032854224839947839352446972236353123299826700329443509890701276774425794749201277752613016218324775889591852676146163550438490230746172677697643304608852299290089004565622998726116444718440246890214931591530404152581934364121544215910133452546482202355998994791732118194414468197825318454335265848238145668109073793358781992684879692004489159681815190489055923879574168655914299153190082466446378673150218307964730080538869005631565029512631919980007169023297940156903696336069004870647611700543451410851309480229857737490248162478663353297652263868375227364842664216706328759614825207968300129495585939518507016802322381581012839220484553928713486889655014890798960602849744975505983537432447976429591814384889013888615514523102758801724836006666335996511518334774244685151192168601204507969466782776428969481526070414885249040666139403574636783861801204483227340907834093773716895311772105937682585959559811322078027717911523343539149753401456793978784205388507082649296974662534135827995953412150404032389158845603383320340261111134212655822415806546385727158440425759271042082145384118215984606574560773696316048457514932544747851337173264617892201821638512934647634087257552182304857924783288116510737115759131404648748661318014428488420977461412000754691277169916570017022476510611048907400271575620275136403 57630105469341072315322598912979127354570514582975374928635358660792359797241161158533500800719397871174228803721847030914812057655627317431693622994949969952335857844993242718012848479164749705719911912753072707689462879751046215223288228188528160271688058966743336946349613402429534836653933637812431218442467000867407255368398502632732267824867209139197027419506748918972928388358564248193192322810692565026592044049738792895294963691504156081849776847548585328964890888511312066025133647262322043158593854432782969896218790047915687738422676947495206147146569184105554154346038385434628266640386977809296826034995244390713975289359002896941123478712520397385717071246633992613924879329239799227251370457925821774942097605371172283150619698756211483106354488504661856980895157759616845571290967813058287415377792841367553609290009691720125795705451235277520953726898378474319398666748946297541429594946299354935780502788327692501441313859852748479396823500041097444008505942740492924961787891610784760353573795893337848447341994991542542048478062276938190736445155010294027238046007279411627442110542808620886455707829974415068668508684300474465367822732537673356258609476529300676818051017591348688555077545266423424622269507836731698255562874653564532800523683389019453041254040556284440877542471507854408489147441622179652312599870829743908444234898369396211653481305928379692614273099499024298891871536383622884150003304177414466501004101010068776446397148191475797739128023831026022307896924009652812914943139859679579390289126978878438061910067047670720491263401004298695710468968920398791467252679021656314474719147483744499009246012375915277891904065095559749350635524566784618675655003941517548230314537740925991718269269299736869696772270913026151760272150139884852973375671322224778942768182938084409625606971328745690603123223352626853382075956419910516268422464853022462088207859019573595515876721200833255811881808616973567328765009580959310419589985658736725089665856758463451485771110949006278803074601373079948877349112384549476241407719163102100149058234614824774755769690349912082829733715978137016004056413811555407962777931445694266026207835535055756700834221317604300084104516344861249884674175559860398459758792350471824867891135947503983163563960053906199992223246011798631315813045772447758863209434577026789684087074219382206972169495007434963453944329066344092047106200461794668186824308123515590130724547513490000217267325961869580963724031212368375160307757195103924815971280892594510602967666426304181937591972631679244844025073603729439535589819134185295733160288014395426919389204151658043958521187724818592665973282749542628597428160250155561016835976748963288811835404462652389466647941671803122104751879113207779116122999395448769064599659455348106402640390354315351807130137048763434051035378099976995782616056891911400220127248247493790205558968154832377042913479327578939940040103860902930674990729931033684806557641327320609322378517453011211393475039454257244330498096025563324357483712380151332667866754341037883171932553405355390427427891458056796307238993328731615216635731713548725455937972224369628678340475776906409332356876251045960823872884091939846688151745912320310704125672763819533896022822230710531327704481297149851615409496275649696075820500808891396100391330269646669181616164630193511566288097152066133521843811119060682141538631367750706599261912239860454916340711983362646936917462742462277227951901492592676528751181961432928744063069338459263661580027938869004629209341475369598856906937778724 93247469424635066163503671151878268116078732787766403626273183374373078616503719322928779749186542651927614809224570962161261158016603344243502942452508996115044774423272882508329582988431286129148989931535581471932126302935169991727529404808241082078262047201275155343262397412914704297584313195576892933570615117074917648919200111163569553371392618870880190055309591990338070960275630815155188678757157420480011105374656173911610637970480412869790938595622150023205299382667340604117520831465045334470416377081167954016311315507589466151895115405348916143936903335001790787012940297357935069351051184014823760837838704666846285721408939039862198065893804679838906549161910442531879570821704073916901506187706479489538711346459690246207643955041855038365487191736997200638644922249202949451802040560132723695333380645204952108716447722971301148851568463246731286529871618474763711680990506733852691599525473848644600491519333633152696490668489716806018768494338017489888192869044672156489679964590030348585153555344833753385580774911229228200015633950366398684436346307465710629798722170186527950319828130682050707679979114020589507909384930857999966001654053861728428856246692595906403542207886806762896179148577620542845470999586405292117147141747405991010999447517372717069949822159602906388539844649151083063912117920410548739127011244736903555762103193129432093690101795511409349715348158780686348473560244840530296565037795835333905603029675327395473042108185510937441192421230499796868198668487883242103588752123861877897673333931388588448850527720092487369698222405042529352676108595465986704268474705400683418001886316235971306234707760781471117028816521494838891344505086237418000948289925207528066204914480928472802654430590871158141695914882349376516927673922851244560754976396196973285855741864897458125733519933455451237693547492919367341119652016164361946642159448551605074403028622957824808859349184098291984747838747109478392645474719308882981539659479718848432906779989929647187549511736222817432630295167016062436147310646919097312636827484786173384400336416602967269049226246780056546007702944983054843385521547484612682524281021842484136239444514122544538400240478743997377904417465752209681287335351996853417426893194000857722115975895343335610536196407029499818923575455308522017089820198242508064487187190043008008862963811234883118333045445925194200117006763987396655958499751883672752447306849632034849164794403704931808797730114451515327845575428278508612854239397459923810763013010788925071165491744758517203440210777347353917818432385722124415281823623344977548350777070319306493557860065957197148603654171197265816191590714272709136297165881720590529467896728970457835133344619556085802716946542450733805295330524059088596352857132939017227078322808645758666508765581680194471346843377523048876243346400106491368555575398928202542508829260333010690112896868319266697928370126539542789785079366886468107438706360625499191446655215936123845481276254736047400141375450768762665272340710714516526084916888120799450643183310519409242347438654396056566831466094840658108443476556072523050729505430444037228043909906955588238151797854934127243880219790195714225329678070724052076658828561617285366659808591815487308173226263099690173307864617490112726543708931472111882366886536049836526150601311728814565734380614800086127061793468114591036776355866912019314803249259952528237774846887494542173892894288220571720205579253199392987083306141341337846765610449853906205475070093150540831496597955891481139820390382769870432527212915127 150877574893976138478826270064857395470649247370741778554908542035165438413744880481462280549905940523101843612946417993076073215672230661675196565447458966067380632268266125226342431467596035834868901844288654179621589182686216206950817632996769242349950106168018492289612010815344239134238246833389324152013082117942324904287598613796301821196259828010077217474816340909310999348634195063348381001567849985506603149424394966806905601661984568951640715443170735352170190271178652670142654478727367377629010231513950923912530105555505153890317792352844122291083472519107344941358978682792563335991438161824120586872833949057560261010767941936803321544606325077224623620408544435145804450150943873144152876645632301264480808951830862529358263653798066521471841680241659057619540080008819795023093008373191011110711173486572505718006457414691426944557019698524252240256769996949083110347739453031394121194471773203580380994307661325654137804528342465285415591994379114933896698811785165081451467856200815108938727351238171601832922769902771770248493696227304589420881501317759737867844729449598155392430370939302937163387809088435658176418069231332465333824386591535084687465723221896583221593225478155451451256693844043967467740507423136990372710016400970523811523130906392170111203862715887347266082316157005491553059559542590201051726882074480811999997001562525643747171407723891101963988447657804985240345096628463414446568341973249800406607130685396171919439256376986735180320445061525819176095592497536055018531891983541457287962460910267026510760594767763207860961623409341225063145077515864778171521153727056997892721033799980470315480720136696749008932881617054588241980029653022036676603293866725076296519452221854464520923699890608027838468185795375528277199824062736097534130647718421752228623924802981867751340491262201141840816770845546220723195608436074878215064624301574067162610887642531420324736070384931547796629647364083045721410484300268193401129645138455573522572636748393098673320622685229096235704896540096011313496423031468573554044546647888273533458571031427742024818916596692139375741418923120070847441935359040020645302212467536750162447280049178301239234461796348297462008933810613459565961510911857251877185685544472682590007111842847318774100156460935699811146821467107153332902865970690266927696621767069797692950038030617090090502540453360157654061335830331488703064700213678340939271614973147624979889341917194932026065056076321096291569606640646883773161996592563848626734293903383435674133158171062699141032183409026598761843505989451563950871642757530273281511065084714733412947064217615241107124841896015858482164873463815337733725326131876151546303873477933746646968749082208475269364888214253855910047209637266867712475856528387786291677982263993865069149155935995546278476980426286482927278724500083487151171632290839602762636077507826800895671865023151643740841849454118482729825183227789398782429436291659183998004296543256733167859793707747258793616414905026006995770436736277840883568629268272132118509937651557292414279992059751446994259357552897454415682469884804138267365237143992762683981882131325216916492273631840536576237096041241675049202562162663898764810574473937596070785481355635021204196048493810221501012345914639964341953205207121807958187387344941232626541931581375483747350545244993597693349890620180724558620166985972701456341880627703234837036759127354997090233606271583218657123041995661670215035207633934014375516792411286834949538139431609804493076625894760485769029731858139469289434150693851 244125044318611204642329941216735663586727980158508182181181725409538517030248599804391060299092483175029458422170988955237334373688834005918699507899967962182425406691539007734672014456027321964017891775824235651553715485621386198678347037805010324428212153369293647632874408228258943431822560028966217085583697235017242553206798724959871374567652446880957407530125932899649070308909825878503569680325007405986614254799051140718516239632464981821431654038792885375375489653845993274260175310192412712099426608595118877928841421063094620042212907758193038435020375854109135728371918980150498405342489345838944347710672653724406546732176880976665519610500129757063530169570454877677684020972647947061054382833338780754019520298290552775565907608839921559837328871978656258258185002258022744474895048933323734806044554131777457826722905137662728093408588161770983526786641615423846822028729959765246812793997247052224981485826994958806834295196832182091434360488717132423784891680829837237941147820790845457523880906583005355218503544814000998448509330177670988105317847625225448497643451619784683342750199069984987871067788202456247684327454162190465299826040645396813116321969914492489625135433364962214347435842421664510313211507009542282489857158148376514822522578423764887181153684875490253654622160806156574616971677463000749790853893319217715555759104755655075840861509519402511313703795816585671588818656873303944743133379769085134312210160360723567392481364562497672621512866292025616044294260985419297122120644107403335185635794841655614959611122487855695230659845814383754415821186111330764875789628432457681310722920116216441621715427897478220125961698138549427133324534739259454677551583791932604362724366702782937323578130481479185980164100677724904794127497985587342094885624114618725514479666667879325877074011195656593078510318338465588064315260452239240161706783750125672237013916265489245133595419569029839781377486111192524114055959019577076382669304618174421955479416738322745860870134421451913668335191707112073749643733678387670866681374132674446917858907448030709293868142843472195921749121868103125690827456906524633327826493489379234298686724563300845777634702275092294839913351276365669247248846263854105294612578738473540312123087738190654384636352867965199630070396922415675349992686168932774992183808957112805701813001841851973208835585899285351854178342594318885359023199965562013691718921822779659829054136320899863834862786190772611619415182068925392386016235990023772437497306914172360745298649915821216344472394186373952679661938375173688366153466380875250829861842155034039906504924283572438255728496067213124298356464178088046870022492013596742075771770206904204482102093701764561072081834756704589715342540161325956308828713661326803518756305072639623735657921517675740749823823803809531803522070900189978519727207689767805305144906768159811585784761891470910438770219580658025519610262594675866889868142652284683189450951759192857013341069962483306193757790355794769661042777446992357409653546156392931569153120962076701656627430714147503561090823647738112524125946440876661318094742574436799912025792038280805154644071486774663820117315831437389274532240233387950841469403035554881437445289947450508512369274756909911674320210532130077068496914138593919840554273880991069152692532893104298313084925859793683820411684088295315595396522852884720771145129887655763074811606014849539264126500559803790377328621248861063202118513775275352222282402861140741155013209524760345324573223850651966908850122240909339721961363608978 395002619212587343121156211281593059057377227529249960736090267444703955443993480285853340848998423698131302035117406948313407589361064667593896073347426928249806038959805132961014445923623357798886793620112889831175304668307602405629164670801779566778162259537312139922486419043603182566060806862355541237596779352959567457494397338756173195763912274891034625004942273808960069657544020941851950681892857391493217404223446107525421841294449550773072369481963620727545679925024645944402829788919780089728436840109069801841371526618599773932530700111037160726103848373216480669730897662943061741333927507663064934583506602781966807742944822913468841155106454834288153789978999312823488471123591820205207259478971082018500329250121415304924171262637988081309170552220315315877725082266842539497988057306514745916755727618349963544729362552354155037965607860295235767043411612372929932376469412796640933988469020255805362480134656284460972099725174647376849952483096247357681590492615002319392615676991660566462608257821176957051426314716772768697003026404975577526199348942985186365488181069382838735180570009287925034455597290891905860745523393522930633650427236931897803787693136389072846728658843117665798692536265708477780952014432679272862567174549347038634045709330157057292357547591377600920704476963162066170031237005590950842580775393698527555756106318180719588032917243293613277692243474390656829163753501767359189701721742334934718817291046119739311920620939484407801833311353551435220389853482955352140652536090944792473598255751922641470371717255618903091621469223724979478966263627195543047310782159514679203443953916196911937196148034174969134894579755604015375304564392281491354154877658657680659243818924637401844501830372087213818632286473100433071327322048323439629016271833040477743103591470861193628414502457857734919327089184011808787510868888314118376771408051699739399624803908020665458331489953961387578007133475275569835466443319845269783798949756629995478052053486715844534190757106681009904040088247208085063140156709856244420725920780562720451317478479458451318687059440164335297490540791223196538269392265564653973128705956915984461134004612479147016869164071440592301922285086979128813210357175711357171798264282946222902130199581037973158736509328900899441217218389522828682895552139623041919880430724182603394763039872469063299338126352645509508239678424650374062087900179240354630990536795927284808943478238094795860927842267093707910984788709572276159178232582587621064231600817555796419431808086883915485504577595400551441505444364625252317025109138405524111372907239748773319451988501187679362853337963228982780521337641903384603747818145472893622075643684837951129070842783973036341446722970958445625389749798592824021304570189714589810434287336633488804807077453671287028300804230096014730800795400273465670898839980607408067780984275986612481456626914622554179612069034776508249435445822465265672297578943943867187455248302449590181200863670230564987374205260820776656813214183270198293222175424665063687663058613633994070907422773898950555350181200635566939808416325680799585459979718429562596007674169606022071136345118615200396354411872679064323734802396051849606279977509492477508230771303085529716565323250720133175332556446770041410450119345715727798741661225932301779234464474479782060435471104787281513761574708476040154016689838857422227487010515358997911848365142204536354360106831387009034451663244522733417153721409209366597799195272427576104551348956370149817649849745412452677879854099048809011395514302829 639127663531198547763486152498328722644105207687758142917271992854242472474242080090244401148090906873160760457288395903550741963049898673512595581247394890432231445651344140695686460379650679762904685395937125482729020153928988604307511708606789891206374412906605787555360827271862125997883366891321758323180476587976810010701196063716044570331564721771992032535068206708609139966453846820355520362217864797479831659022497248243938080926914532594504023520756506102921169578870639218663005099112192801827863448704188679770212947681694393974743607869230199161124224227325616398102816643093560146676416853502009282294179256506373354475121703890134360765606584591351683959549454190501172492096239767266261642312309862772519849548411968080490078871477909641146499424198971574135910084524865283972883106239838480722800281750127421371452267690016883131374196022066219293830053227796776754405199372561887746782466267308030343965961651243267806394922006829468284312971813379781466482173444839557333763497782506023986489164404182312269929859530773767145512356582646565631517196568210634863131632689167522077930769079272912905523385493348153545072977555713395933476467882328710920109663050881562471864092208079880146128378687372988094163521442221555352424332697723553456568287753921944473511232466867854575326637769318640787002914468591700633434668712916243111515211073835795428894426762696124591396039290976328417982410375071303932835101511420069031027451406843306704401985501982080423346177645577051264684114468374649262773180198348127659234050593578256429982839743474598322281315038108733894787449738526307923100410591972360514166874032413353558911575931653189260856277894153442508629099131540946031706461450590285021968185627420339168079960853566399798796387150825337865454820033910781723901895947659203257583258138740519505488513653514327997837407522477396851826129340553358538478191801825411636638720173509910591926909522991227359384619586468093949522402339422346166468254374804417433531470225038590395060891528132923572375279954320158812783890388243915287407294913237167369176385927489160612555202283636531219239662659326322229096849172089287300955199446295218759820729175779992794503866346532887141835636363344798060459203439565462466410843021419763214253287319228627543372862196866099071287615311938504032888238308555816912064239681295409096576041714321036508173712251930861362418021018969259421111100144802368322709458618706944637997614558994659695790628457866319530399970778497668545194468572611393501728907731728157164730458002705131829976971781774504121167382739798940683178575519280774941234749394782813225956912784760117618581834030442107078877801819991431473770310159069635697847413891742155611172936485737597413528557727663035340732289959918780330133283851041393329190592409273112540464998971347027778124628033905546534322866300463444190626047670375213372925891044146424067241388806093464618382288615434533769045708417141132562165721596228550376906200061642447194541933632713871181131995616615546317855991630262555702875721581057995256816179575710695727534853488046454116441004848373679463934362766557460903554722292866362508033466207886827225780416605389864216471727704116453598267042629439800447749380545047358945676061250536038228934598007630044849652766978900118478947033484309647639295935106923370931926997367584080373520396964580965334173258796771355749413212691742142998632140403014760986659971157054075618486607391190799411780284493383796619272235184484718820081598133568317259564558481130495142223073596064419586729976339958148733356877911807 1034130282743785890884642363779921781701482435217008103653362260298946427918235560376097741997089330571292062492405802851864149552410963341106491654594821818682037484611149273656700906303274037561791479016050015313904324822236591009936676379408569457984536672443917927477847246315465308563944173753677299560777255940936377468195593402472217766095476996663026657540010480517569209623997867762207471044110722188973049063245943355769359922221364083367576393002720126830466849503895285163065834888031972891556300288813258481611584474300294167907274307980267359887228072600542097067833714306036621888010344361165074216877685859288340162218066526803603201920713039425639837749528453503324660963219831587471468901791280944791020178798533383385414250134115897722455669976419286890013635166791707823470871163546353226639556009368477384916181630242371038169339803882361455060873464840169706686781668785358528680770935287563835706446096307527728778494647181476845134265454909627139148072666059841876726379174774166590449097422225359269321356174247546535842515382987622143157716545511195821228619813758550360813111339088560837939978982784240059405818500949236326567126895119260608723897356187270635318592751051197545944820914953081465875115535874900828214991507247070592090613997084079001765868780058245455496031114732480706957034151474182651476015444106614770667271317392016515016927344005989737869088282765366985247146163876838663122536823253755003749844742452963046016322606441466488225179488999128486485073967951330001403425716289292920132832306345500897900354556999093501413902784261833713373753713365721850970411192751487039717610827948610265496107723965828158395750857649757457883933663523822437385861339109247965681212004552057741012581791225653613617428673623925770936782142082234221352918167780699681000686849609601713133903016111372062917164496706489205639336998228867476915249599853525151036263524081530576050258399476952614937391753061743663784988845659267615950267204131434412911583523711754434929251648634813933476415368201528243875924047098100159708133215693799887820493864406947611931242261723800866516730203450549518767366241437653941274083905403211203220954733788259139811373030417973479443757921450323926873669560615276819638209107304365986116383486900266600702109371525766998512504833701461332715783790448178858831944670405478012491339081586790099807511838604576370870657699443619633483199000324042722953699995414634229446941092797089455556718470724960027441384759488069944704372701155199014565960508549283953584162266089589047315481549377175055562672827104424193000203684657686299052607656634531586545408901285947796981435171993671089859399139461894816077518128304542529319923057576580106740243779269710633754975280698621480966122039758511604351437854040755983139624879745906601345272076425018314806425432264001561265123661700736909861524887650982621440706875320133036548698015720716018797994357650211042018481154239606398234463300540172417564361448364092037375742797302944436168506200877436322974669205813532753996097897005723058944479238189344689798442276261945404671791186049009246403742779092238260489014702011295925104041140377492849296916761724005064612826139576795517922001845025491650054029358054539836453906832553621567945499921258350178024985323425670159889397152830025375438037596332855672711161461842063862433955868069368246847934833505247395903429902530599565226119150918373758898508336299258611972846714222577808446231947737906530036425956593694085417880793405995893364115907437500644959872923341476872264609830439006957744752392214636 1673257946274984438648128516278250504345587642904766246570634253153188900392477640466342143145180237444452822949694198755414891515460862014619087235842216709114268930262493414352387366682924717324696164411987140796633344976165579614244188088015359349190911085350523715033208073587327434561827540644999057883957732528913187478896789466188262336427041718435018690075078687226178349590451714582562991406328586986452880722268440604013298003148278615962080416523476632933388019082765924381728839987144165693384163737517447161381797421981988561882017915849497559048352296827867713465936530949130182034686761214667083499171865115794713516693188230693737562686319624016991521709077907693825833455316071354737730544103590807563540028346945351465904329005593807363602169400618258464149545251316573107443754269786191707362356291118604806287633897932387921300713999904427674354703518067966483441186868157920416427553401554871866050412057958770996584889569188306313418578426723006920614554839504681434060142672556672614435586586629541581591286033778320302988027739570268708789233742079406456091751446447717882891042108167833750845502368277588212950891478504949722500603363001589319644007019238152197790456843259277426090949293640454453969279057317122383567415839944794145547182284838000946239380012525113310071357752501799347744037065942774352109450112819531013778786528465852310445821770768685862460484322056343313665128574251909967055371924765175072780872193859806352720724591943448568648525666644705537749758082419704650666198896487641047792066356939079154330337396742568099736184099299942447268541163104248158893511603343459400231777701981023619055019299897481347656607135543910900392562762655363383417567800559838250703180190179478080180661752079220013416225060774751108802236962116145003076820063728358884258270107748342232639391529764886390915001904228966602491163127569420835453727791655350562672902244255040486642185308999943842296776372648211757734511247998689962116735458506238830345114993936793025324312540162946857048790648155848402688707937486344074995540510607037055189670250334436772543797464007437397735969866109875840996463090609743228575039104849506421980775462964039132605876896764506366585593557813668724934128764054842282104619950325785749330636774219495228245482233722633097583792449013399836748672028756734675744008910086773421587915123301111136315685550856507232233075720462588892904310100468845091276409454033341174084938707356084115252509099182826346971784730266567613249567169727810408067689416281012110748892724092294179145458521158949559683840209844223133683382260176967073993842406029314399771365814070707914600017006024113196938276941281886247551288438463612165017770471468322262351416715755448231168503838426284516306854329718430384681571137891797376468815472155179713885737075396365342584550060297907107799446528001200354052150935321357834813632766364279460615939404526809483416376646265645575787526862656747530796629022136400967941267648425734484570284730935658307349638196494051869292525197443795309698973618586781054201295417765055385525977129749991858788232190897382925867677141858795721392569424304162287612074606585379676522697178329394928829297867280911971520268887654931450501778738599587195399582893804157606174434519265980222874638090404570278368344186314335023077333531439779043643088459209647942807476265033949212182108092302018751652843115222341708224751291321388519885168307456312687591333321613768607858012232231290326655698191778178804237962391539564210623680465918631140102095996937541291851339806778965106478109270126443 2707388229018770329532770880058172286047070078121774350223996513452135328310713200842439885142269568015744885442100001607279041067871825355725578890437038527796306414873642688009088272986198754886487643428037156110537669798402170624180864467423928807175447757794441642511055319902792743125771714398676357444734988469849564947092382868660480102522518715098045347615089167743747559214449582344770462450439309175425929785514383959782657925369642699329656809526196759763854868586661209544794674875176138584940464026330705642993381896282282729789292223829764918935580369428409810533770245255166803922697105575832157716049550975083053678911254757497340764607032663442631359458606361197150494418535902942209199445894871752354560207145478734851318579139709705086057839377037545354163180418108280930914625433332544934001912300487082191203815528174758959470053803786789129415576982908136190127968536943278945108324336842435701756858154266298725363384216369783158552843881632634059762627505564523310786521847330839204884684008854900850912642208025866838830543122557890851946950287590602277320371260206268243704153447256394588785481351061828272356709979454186049067730258120849928367904375425422833109049594310474972035770208593535919844394593192023211782407347191864737637796281922079948005248792583358765567388867234280054701071217416957003585465556926145784446057845857868825462749114774675600329572604821710298912274738128748630177908748018930076530716936312769398737047198384915056873705155643834024234832050371034652069624612776933967924898663284580052230691953741661601150086883561776160642294876469970009863922796094946439949388529929633884551127023863309506052357993193668358276496426179185820803429139669086216384392194731535821193243543304873627033653734398676879739019104198379224429738231509058565258956957357943945773294545876258453832166400935455808130500125798288312368977391508875713709165768336571062692443708476896457234168125709955421519500093657957578067002662637673243256698517648547460253564188797760790525206016357376646564631984584444234703673726300836943010164114741384384475039725731238264252700069560425359763829332047397169849123010252717625201730196752298272417249927182479846029351479263992651807798324670119101742829057630151735447020261119761828947591605248400096096297282714861169464455819204913534575953580492251434079254204887901236123197389461083603103733419906208526387509100792887814230109449447975403531879800153173570809227569907786374413169489754637557953939870883009422633649924830296064333054990181883226460940070536124615246513036948647326683585944834653373046450062663845986316774715356655711581452178017784286797676080743781063628806566768154694337693529044902369091660495025158864923479119124905997272976369476941989033008991932553359608440351901086315231009151821383657390975492561908669064570189701937263913675822972340456254339641684412497164637420247525502214371003915856617806008016896353929031092322676573385505629096789826521946027528238602743518144397371488192267194403257328063695071515592504113145774655954400075324419406011937263460023376946392172271419920951033981881584126315458212716115746962872525819613940053399993442124006857707489442270732680423100555808096654127031853489726357779174119934440524330400899623413830240438257741339144360398515371127772634716354249921051711805241432133103317459030042925807266147556273017752941273450870442239762278783676643755571299564180035836346416304244179969196856692124148371872889655843184945560103987796373356131785061968920279018164115949637217972064222861662341079 4380646175293754768180899396336422790392657721026540596794630766605324228703190841308782028287449805460197708391794200362693932583332687370344666126279255236910575345136136102361475639669123472211183807840024296907171014774567750238425052555439288156366358843144965357544263393490120177687599255043675415328692720998762752425989172334848742438949560433533064037690167854969925908804901296927333453856767896161878810507782824563795955928517921315291737226049673392697242887669427133926523514862320304278324627763848152804375179318264271291671310139679262477983932666256277523999706776204296985957383866790499241215221416090877767195604442988191078327293352287459622881167684268890976327873851974296946929989998462559918100235492424086317222908145303512449660008777655803818312725669424854038358379703118736641364268591605686997491449426107146880770767803691216803770280500976102673569155405101199361535877738397307567807270212225069721948273785558089471971422308355640980377182345069204744846664519887511819320270595484442432503928241804187141818570862128159560736184029670008733412122706653986126595195555424228339630983719339416485307601457959135771568333621122439248011911394663575030899506437569752398126719502233990373813673650509145595349823187136658883184978566760080894244628805108472075638746619736079402445108283359731355694915669745676798224844374323721135908570885543361462790056926878053612577403312380658597233280672784105149311589130172575751457771790328363625522230822288539561984590132790739302735823509264575015716965020223659206561029350484229700886270982861718607910836039574218168757434399438405840181166231910657503606146323760790853708965128737579258669059188834549204220996940228924467087572384911013901373905295384093640449878795173427988541256066314524227506558295237417449517227065106286178412686075641144844747168305164422410621663253367709147822705183164226276382068012591611549334629017476840299530944498358167179254011341656647540183738121143912073601813511585340485577876728960707647573996664513225049253339922070788309699214236907873998199834365075821157018837189738675661988669935670301200760292422657140398424162115102224047182505659716337405023126823946986212614945037077661376741927088724961383847449007955937484777657035339257057193073838971033193680089731728261006213127847961648210319962490579024855667169328189012372438882940317590835336809140368797419291819201261732905506518903481316577616818507509257686061736669090612721384954220021205171203507040610819830701339341111308175081947714274177405606398591695074174930353246792870460366968205011620447040292468693160386088140529427363626181469184041897483735953022025667311180095005231766859355464000513224631443077210780607096091982957551190513579830699195372373714580129824350736077255824056266029116746227217748999975525552859815776864016717703137617965826758293698291067972408048691957780576824774334985630747650181502193593534879553101459827721344812974353446896745215561006516312259174261050867782593865540061559719600701123373394045134179285167347070073719455460850396535761929122248255567843775098139097062809829703274153550619620500328190353548252202342311118382794922271421874138619460962539620335354551057586835253714227253072620161936780294368959790310623774261504234810716626085525458695421592704659212413759997338380261359748048908398137266671212151018109284899209116132975282981675621733561150798668844951211883987155513357450115024162256412200487183347822340150051693893805576485124314611476839274762925164064917216559455967289443996937170700970932467522 7088034404312525097713670276394595076439727799148314947018627280057459557013904042151221913429719373475942593833894201969972973651204512726070245016716293764706881760009778790370563912655322227097671451268061453017708684572969920862605917022863216963541806600939407000055318713392912920813370969442351772773427709468612317373081555203509222541472079148631109385305257022713673468019350879272103916307207205337304740293297208523578613853887564014621394035575870152461097756256088343471318189737496442863265091790178858447368561214546554021460602363509027396919513035684687334533477021459463789880080972366331398931270967065960820874515697745688419091900384950902254240626290630088126822292387877239156129435893334312272660442637902821168541487285013217535717848154693349172475906087533134969273005136451281575366180892092769188695264954281905840240821607478005933185857483884238863697123942044478306644202075239743269564128366491368447311658001927872630524266189988275040139809850633728055633186367218351024204954604339343283416570449830053980649113984686050412683134317260611010732493966860254370299349002680622928416465070401244757664311437413321820636063879243289176379815770088997864008556031880227370162489710827526293658068243701168807132230534328523620822774848682160842249877597691830841206135486970359457146179500776688359280381226671822582670902220181589961371320000318037063119629531699763911489678050509407227411189420803035225842306066485345150194818988713278682395935977932373586219422183161773954805448122041508983641863683508239258791721304225891302036357866423494768553130916044188178621357195533352280130554761840291388157273347624100359761323121931247616945555615013735025024426079898010683471964579642549722567148838688967267483532529572104868280275170512903451936296526746476014776184022464230124185980621517403298579334706099878218752163379165997460191682574673101990091233780928182612027072725953736756765112624068122600773511435314605118250740783781585316858512029233887945831440917758468438099202680870601695817971906655232544402887963208710941209998479817205541493876915469913926241370005230726560524121754704537568273285125354941672384235856468635677440376751129466058644296516341654028549725413395080485590278065586089220224677296459018886140665444219433289776387014443122175677583667166561744895916071071276289746423533076913608562080329778674438440542560275005945679328302054620719736628352929291981148698307662431256870964238998399095798123709775842729157446911493829253334989265941604239415002704456060632067338662231198790176866283741517787050554149846273820086742531357006372404915244784019337762921362059681770533629102769448374808901571999921553693157529558127000534737705805765961015462076676096510852807068672314362747589121756904095685696175957352344347755379039132657366501045421724445928586907405074881879502581266038747322312049733104454945214245021860487845118654097358811399542896449455388858813667489547738952525842005387528462339787412863794385926991237028253826914003958451437089116649771789280492844729673855536174815941773866385708278944790167270410516983760863685155737676935078713044306100511124728161925058436194915713545880996326950404810353015777651613394931907841259106562346519715954414303400314641024673884918065051154883826864603055820108075786985048476351588301313071553290340531240584130242193943916551046765389150728224255126492175800913077452521594967455286719693393286461440466500592169684040039946488521924583549648761430684418599273212630894710226033837495577620083239081214909234923832594808601 11468680579606279865894569672731017866832385520174855543813258046662783785717094883460003941717169178936140302225688402332666906234537200096414911142995549001617457105145914892732039552324445699308855259108085749924879699347537671101030969578302505119908165444084372357599582106883033098500970224486027188102120430467375069799070727538357964980421639582164173422995424877683599376824252176199437370163975101499183550801080033087374569782405485329913131261625543545158340643925515477397841704599816747141589719554027011251743740532810825313131912503188289874903445701940964858533183797663760775837464839156830640146492383156838588070120140733879497419193737238361877121793974898979103150166239851536103059425891796872190760678130326907485764395430316729985377856932349152990788631756957989007631384839570018216730449483698456186186714380389052721011589411169222736956137984860341537266279347145677668180079813637050837371398578716438169259931787485962102495688498343916020516992195702932800479850887105862843525225199823785715920498691634241122467684846814209973419318346930619744144616673514240496894544558104851268047448789740661242971912895372457592204397500365728424391727164752572894908062469449979768289209213061516667471741894210314402482053721465182504007753415442241736494506402800302916844882106706438859591287784136419714975296896417499380895746594505311097279890885861398525909686458577817524067081362890065824644470093587140375153895196657920901652590779041642307918166800220913148204012315952513257541271631306083999358828703731898465352750654710121002922628849285213376463966955618406347378791594971758120311720993750948891763419671384891213470288250668826875614614803848284229245423020126935150559536964553563623941054134073060907933411324745532856821531236827427679442854821983893464293411087570516302598666697158548143326503011264300629373826632533706608014387757837328266473301793519794161361701743430577056296057122426289780027522776971252658434478904925497390460325540819228431409317646719176085673199345383826745071311828726020854102102200116584939409832844893026698512714105208589588230039940901027761284414177361677966697447240457165719566741516184973082463503575076452271259241553419315405291652502120041869437727073542026705002334331798275943333739283190466483456476746171383181890711515128209955215878561650301145413592861265925981000963270096265273777351700643803364971147503316353625243147256410608558765516815171688942932700908089011817183077929797047900360953952104649084036328607052912414496950418730238037673737253926272965107219530534388247417522354857894267127035000050166758493055774211382963944390546101579254269582124795115685988996577231688413048621530071351631977814916586373057107445034227287024432637767867686736462169251581254831762952000013618373464501606256881657342026598281540222792603625108212499845329339559737038390284457781796412725791069796195473475866304278861004993077776002556848686535012302522092399422587220948534978652046587124845253709585102568315386633604659574810483161783951074447839914803393310997025212477535795507956534512633942368549614046570693388429891227554699213372496454059376930504236176818989837984967755134946411367349973351132202670981767161555486359634966681652734708672360104951648448146422299861871509912390061751241700780446197462236348926681574431301339248929377850801454344962025835945974505283703507236802113909362063876121366546179339273875206750736576464628757004370171223387768828671976277443454337915808733210750051905657635390098754712137076050528525211846405624803527276123 18556714983918804963608239949125612943272113319323170490831885326720243342730998925611225855146888552412082896059582604302639879885741712822485156159711842766324338865155693683102603464979767926406526710376147202942588383920507591963636886601165722083449972045023779357654900820275946019314341193928378960875548139935987387172152282741867187521893718730795282808300681900397272844843603055471541286471182306836488291094377241610953183636293049344534525297201413697619438400181603820869159894337313190004854811344205869699112301747357379334592514866697317271822958737625652193066660819123224565717545811523162039077763350222799408944635838479567916511094122189264131362420265529067229972458627728775259188861785131184463421120768229728654305882715329947521095705087042502163264537844491123976904389976021299792096630375791225374881979334670958561252411018647228670141995468744580400963403289190155974824281888876794106935526945207806616571589789413834733019954688332191060656802046336660856113037254324213867730179804163128999337069141464295103116798831500260386102452664191230754877110640374494867193893560785474196463913860141906000636224332785779412840461379609017600771542934841570758916618501330207138451698923889042961129810137911483209614284255793706124830528264124402578744384000492133758051017593676798316737467284913108074255678123089321963566648814686901058651210886179435589029315990277581435556759413399473052055659514390175600996201263143266051847409767754920990314102778153286734423434499114287212346719753347592983000692387240137724144471958936012304958986715708708145017097871662594526000148790505110400442275755591240279920693019008991573231611372600074492560170418862019254269849100024945834031501544196113346508202972762028175416943854317637725101806407340331131379151348730369479069595110034746426784647318675951441905837717364178848125990011699704068206070332510430256564535574447976773388774469384313813061169746494412380801034212285857776685219688707082707318837570053116377240758564477644523772402026254428440889283735381253398504990163325295880619831324710232240006591020678503514471409946131754321808535932066215534970732365812107391950977372653608759903880326205918329903538069760969433841377915515122355028005139128115925227011628257294829474404727409899773232863760614505357568295182294771700111794632721577435160016394342839589563043599874939712217894260918809310650475805370974344979775609339900539914215122834120199803665147087410912981201639572890629518400863598478337371317872994516653911953123186298669741075916157471755284085814275906034468076504704168087213777531407173130897971018995402301707311908161261024803211227564564060797898149231609966741779059629478632512552622392139018122907110903383535285444836540001099209758373338158927448648175970970717812256985296014314708527643703264668721190532513287381724831920825775785712596507514900867671005314818055961320984958376219816392620672452012237545348679792069831351948429226336063440991833999988639639636576339596569213547608618026247572278433722863728332759533067166533200028419309661893664813457424109638960131030331557073585628904489777926416802554570501658666161235255184753698513636131273361772160326366909854284376699069396745466197313201368689122975760419592673122031340364913026393739254664807061808856233182510712700514982887502854629589460618434931696538905942386992739894434431731491928606085162976953573888141146794560594900144023037905095257596539855263427715317193900860993103099346493151810023264536552345616132592207714696133767606426755640548636122084724 30025395563525084829502809621856630810104498839498026034645143373383027128448093809071229796864057731348223198285271006635306786120278912918900067302707391767941795970301608575834643017304213625715381969484232952867468083268045263064667856179468227203358137489108151715254482927158979117815311418414406148977668570403362456971223010280225152502315358312959456231296106778080872221667855231670978656635157408335671841895457274698327753418698534674447656558826957242777779044107119298267001598937129937146444530898232880950856042280168204647724427369885607146726404439566617051599844616786985341555010650679992679224255733379637997014755979213447413930287859427626008484214240428046333122624867580311362248287676928056654181798898556636140070278145646677506473562019391655154053169601449112984535774815591318008827079859489681561068693715060011282264000429816451407098133453604921938229682636335833643004361702513844944306925523924244785831521576899796835515643186676107081173794242039593656592888141430076711255405003986914715257567833098536225584483678314470359521771011121850499021727313888735364088438118890325464511362649882567243608137228158237005044858879974746025163270099594143653824680970780186906740908136950559628601552032121797612096337977258888628838281679566644315238890403292436674895899700383237176328755069049527789230975019506821344462395409192212155931101772040834114939002448855398959623840776289538876700129607977315976150096459801186953500000546796563298232269578374199882627446815066800469887991384653676982359521090972036189497222613646133307881615564993921521481064827281000873378940385476868520753996749342189171684112690393882786701899623268901368174785222710303483515272120151880984591038508749676970449257106835089083350355179063170581923337644167758810822006170714262943363006197605262729383314015834499585232340728628479477499816644233410676220458090347758523037837367967770934750476212814890869357226868920702160828556989257110435119698593632580097779163110872344808650076211196820609445601371638255185960595564107274252607092363441880820029664169603258938519305125887093102701449887032782083092950109427893501668179606269273111517718888838581842367383901282370601162779623180284839133030417635164224465732212670142630229345960055570772808144010600366256689340506785888539459006697422981655327673194371878580573609255608765570564006869971204985995245961562612675621623308687327970222922865750509098679731938005809142736366055176422730164279569369938529879354815703127421407646480047429068408903541916536707414813170083744720391305344810294281885598859562062354340812531457339889391026793206785265651702454262840279072793352359679746786894726463298379790400589700830264490367538978512075230352145130670559718082604407687835671927624919413759211600175984589091276758591552895972050554241984804891513794157621499881570161260385512824102880965296697280396796384614251434796851262655080821385698448454569086231883692094591923751371016447284598419643880587113484893346161442164884600181213277601058055440217673938176172674336460477530225240896845457401621347970058052007509745076902250462015520132044477139789299008629878589170397412074174591683481391266219773139510299718042056955358466230952231825832279883021423831648120524544321570177762664774897903651644726558303509636679379972949049441664461934155968838389996285733150883867968222938714399718135238728730719994525040829695254687326133834470106894759614369724014600910026486815484145865877138436557437262301885020773316442209981006231346919851772184296131638602046173439649360847 48582110547443889793111049570982243753376612158821196525477028700103270471179092734682455652010946283760306094344853610937946666006020625741385223462419234534266134835457302258937246482283981552121908679860380155810056467188552855028304742780633949286808109534131931072909383747434925137129652612342785109853216710339349844143375293022092340024209077043754739039596788678478145066511458287142519943106339715172160132989834516309280937054991584018982181856028370940397217444288723119136161493274443127151299342242438750649968344027525583982316942236582924418549363177192269244666505435910209907272556462203154718302019083602437405959391817693015330441381981616890139846634505957113563095083495309086621437149462059241117602919666786364794376160860976625027569267106434157317317707445940236961440164791612617800923710235280906935950673049730969843516411448463680077240128922349502339193085925525989617828643591390639051242452469132051402403111366313631568535597875008298141830596288376254512705925395754290578985584808150043714594636974562831328701282509814730745624223675313081253898837954263230231282331679675799660975276510024473244244361560944016417885320259583763625934813034435714412741299472110394045192607060839602589731362170033280821710622233052594753668809943691046893983274403784570432946917294060035493066222353962635863486653142596143308029044223879113214582312658220269703968318439132980395180600189689011928755789122367491577146297722944453005347410314551484288546372356527486617050881314181087682234711138001269965360213478212173913641694572582145612840602280702629666498162698943595399379089175981978921196272504933429451604805709402874359933510995868975860734955641572322737785121220176826818622540052945790316957460079597117258767299033380808307025144051508089942201157519444632422432601307640009156167961334510451027138178445992658325625806655933114744426528422858188779602372942415747708139250682199204682418396615415114541629591201542968211804918282339662805098000680925461185890834775674465133218003397892683626849879299488527651112082526767176700649495494313491178525896146565596617172859833164536404901486041494109036638911972081380503468696261492190602271264227488288931066317692941254272974408333150286579493737351798258555456357588312865602282548738010266029922204267400393897027301879717753355439467827093456015733625649951605160127050469846144698213140222481421986272099114058302315202698475090409638593947060839929342540031202263833643145481208942829159397755679301605758778964353041945722320856665102835377155889086241216475675391159086200316353675364266230441554590062864513020288997812202187567359014362424101303876004579924243807584792875694908346532179649330308897002920161370651093353259256034054095003527440947688934881685998257572686660248351955559809089015576848910286759081885688069560234984690134787263294993181211288609815477472811598148067801699432307396117836221031300637778319120906581323777232371886661755103319445673620661860635714587102124532982737781761453813728821895627305627718651396801904505433869527644063425269316155119295286161427482161646469876107233807535601149036534255066206101563200380247836558647329359345381995027397493134911670626084951911239735165300348977292029593084390112954623880944136994692209103029687924297390899391365365318492912562483661749956647349437010598427850614720664847422773910609931454294152566970220659326079688017783269142828472928395065007038782652274819272197449881750243199463059777999429660536608795036830796580978762326622363939127566468318063738065357686722075771445571 78607506110968974622613859192838874563481110998319222560122172073486297599627186543753685448875004015108529292630124617573253452126299538660285290765126626302207930805758910834771889499588195177837290649344613108677524550456598118092972598960102176490166247023240082788163866674593904254944964030757191258830885280742712301114598303302317492526524435356714195270892895456559017288179313518813498599741497123507831974885291791007608690473690118693429838414855328183174996488395842417403163092211573064297743873140671631600824386307693788630041369606468531565275767616758886296266350052697195248827567112883147397526274816982075402974147796906462744371669841044516148330848746385159896217708362889397983685437138987297771784718565343000934446439006623302534042829125825812471370877047389349945975939607203935809750790094770588497019366764790981125780411878280131484338262375954424277422768561861823260833005293904483995549377993056296188234632943213428404051241061684405223004390530415848169298813537184367290240989812136958429852204807661367554285766188129201105145994686434931752920565268151965595370769798566125125486639159907040487852498789102253422930179139558509651098083134029858066565980442890580951933515197790162218332914202155078433806960210311483382507091623257691209222164807077007107842816994443272669394977423012163652717628162102964652491439633071325370513414430261103818907320887988379354804440965978550805455918730344807553296394182745639958847410861348047586778641934901686499678328129247888152122702522654946947719734569184210103138917186228278920722217845696551187979227526224596272758029561458847441950269254275618623288918399796757146635410619137877228909740864282626221300393340328707803213578561695467287406717186432206342117654212443978888948481695675848753023163690158895365795607505245271885551275350344950612370519174621137803125623300166525420646986513205947302640210310383518642889726895014095551775623484335816702458148190800078646924616875972242902877163791797805994540910986871285742663604769530938812810474863595801903719174890209057520679159663916750117045201272452689719874309720197318487994436150922002538307091578350653614986415150330772444638648128770659532229097316121539112107438750785450803959469564468401185685703548368436375090692748610632286611544774186282436486308577140735010767141021465334596307234905560370730691057339817349684208386184044034661893722422745630285425621340840918737273678998845738485276397257440256373309760778312767689277110495004733180186610833089374790729760207019372084570702256324961196066696503896494598239274223828292795895402594321852909680024605408972833010716816686941582948797932283923554371687602158206726322580239031139161493287700349163168583611401164724654721610045355376770553613623176986445871848527940148900365774168401806258809636127672874451748778847756287144865154441596801433918358438108295428464598084046558830914687483686381459164017569361150410009116063981253678854690462120905260280279595174215609426328899223926338413910035173228363683158869070740080678108205988121593650510213000576696907509397540213653979621184136057997616669168578732205995400571830258837006956059403533937065476418663712908051180925802993968195093631531301209117861872967411536786272001468681316262386865694462822201042544117923668828129591942456610799398311811371166567266240611006397998306641878832870168693870702208949390046074213058612964397515799062229535113933542266644543286798359908237058683608925655137866217973871096921851569897420972307628595286047418240502359869703959732895515420806418 127189616658412864415724908763821118316857723157140419085599200773589568070806279278436141100885950298868835386974978228511200118132320164401670514227545860836474065641216213093709135981872176729959199329204993264487581017645150973121277341740736125776974356557372013861073250422028829392074616643099976368684101991082062145257973596324409832550733512400468934310489684135037162354690771805956018542847836838679992107875126307316889627528681702712412020270883699123572213932684565536539324585486016191449043215383110382250792730335219372612358311843051455983825130793951155540932855488607405156100123575086302115828293900584512808933539614599478074813051822661406288177483252342273459312791858198484605122586601046538889387638232129365728822599867599927561612096232259969788688584493329586907416104398816553610674500330051495432970039814521950969296823326743811561578391298303926616615854487387812878661648885295123046791830462188347590637744309527059972586838936692703364834986818792102682004738932938657869226574620287002144446841782224198882987048697943931850770218361748013006819403222415195826653101478241924786461915669931513732096860350046269840815499399142273277032896168465572479307279915000974997126122258629764808064276372188359255517582443364078136175901566948738103205439210861577540789734288503308162461199776974799516204281304699107960520483856950438585095727088481373522875639327121359749985041155667562734211707852712299130442691905690092964194821175899531875325014291429173116729209443428975834357413660656216913079948047396384016780611758810424533562820126399180854477390225168191672137118737440826363146541759209048074893724109199631506568921615006853089644696505854948959085514560505534621836118614641257604364177266029323600884953245824787195973625747183938695224321209603527788228208812885281041719236684855401639508697620613796128751429956099640165073514936064136082242583252799266351028977577213300234194020099750931244087739392343046858729535158311905707975164472723267180431745762545750875881608167423622439660354163084329554831257416976234221328655158230241295571097419018286337047169553361854892895922192416111574946003550432034118455111411822963046909912356258948463295415009062793385081847083935737383453206916266659741142061136681301977373241486620898316533749041586676333513610456858488366206608848558790612040860555511975890818107809663494382421526406525456648165821536803932600628319815931328375867626059685667827816428459704090016455241987255596848674866174306338938965575186131320513050616872122207461726591342566177671742087662982694914592949588094523237449992657186365929969022417611160400369731179111042886824802512208167361956480477853115072854759888361448058496207861719814261936870657198778749725137486303065705435299621434559132532096879895708709454789745250716545568718013360944011983763537891074408160147622808090043733835910919893576532399783478866227032523704717682096942336690267731733786348435867915433958009907794525922140915309761317733959311637005687792227638857068855669310877520467541985183542075515765657075779529155695992193670825022375300449497291369865533217818205112987272201502135030639084843514706732893282447471446061206042962851551887945879434828796831650186409891466051801649740895882412818310954595968724150746498433443509289034146622504504940272549354959160808177165694091225727062845729415789442801622988023269179170049372153901076396233540344271990624600120972324918919362558995809789987301883071985433137295878510479891958682366478399734634250959225174984708820423607769317419617591192251989 205797122769381839038338767956659992880338834155459641645721372847075865670433465822189826549760954313977364679605102846084453570258619703061955804992672487138681996446975123928481025481460371907796489978549606373165105568101749091214249940700838302267140603580612096649237117096622733647019580673857167627514987271824774446372571899626727325077257947757183129581382579591596179642870085324769517142589333962187824082760418098324498318002371821405841858685739027306747210421080407953942487677697589255746787088523782013851617116642913161242399681449519987549100898410710041837199205541304600404927690687969449513354568717566588211907687411505940819184721663705922436508331998727433355530500221087882588808023740033836661172356797472366663269038874223230095654925358085782260059461540718936853392044006020489420425290424822083929989406579312932095077235205023943045916653674258350894038623049249636139494654179199607042341208455244643778872377252740488376638079998377108587839377349207950851303552470123025159467564432423960574299046589885566437272814886073132955916213048182944759739968490567161422023871276808049911948554829838554219949359139148523263745678538700782928130979302495430545873260357891555949059637456419927026397190574343437689324542653675561518682993190206429312427604017938584648632551282946580831856177199986963168921909466802072613011923490021763955609141518742477341782960215109739104789482121646113539667626583057106683739086088435732923042232037247579462103656226330859616407537572676863986480116183311163860799682616580594119919528945038703454285037972095732042456617751392787944895148298899673805096811013484666698182642508996388653204332234144730318554437370137575180385907900834242425049697176336724891770894452461529943002607458268766084922107442859787448247484899762423154023816318130552927270512035200352251879216795234933931877053256266165585720501449270083384882793563182784993918704472227395785969643584086747946545887583143125505654152034284148610852328264521073174972656749417036618545212936954561252470829026680131458550432307185291742007814822146991412616298691470976056921479273559173380890358343338114113253095128782687733441526562153735491548560485029607995524512325184332497189285834721188187412676480735060926827764685049738352463934235231530603145293815772958769999919033999223376973749870024125208348095461072346621509165149480844066629912590569491310059543959549562886053941156772247113141305058531406313092825717144346389765002765568364537951976669311072119152186019220695303780377079141579546297293598891138867808784166879189512832223811922816033345395251508218839649047023020133233380447995797984469773600444492090916328168080011321799177340127392587219989495562068977430520482058363503404446747531658442475988913244611545578403945407835857609820563913652522804378354141033818463732542385647361553025302064404891477652194349028189004996997867525425057947211188404063556106354259628882143795464499849169112812700369915431182421194904935533343385640536229614130641548892242084032994036389538282065861650281503887250726289742156272689101180222562588954429118475505923530834487373691719478196902706860897921850470766136427219512947864724918951014032477690939847629922428362951395527753339019213186527167883881499627216982834418613568699475987627212702974752096447396883348753270972179343732960331836733460844036057668275671791681893971388119439418228114135009197937860071052854135234905867185563905845794169698224360566680911088275162096484350988880533936375820706941879554511222402949322783477473277152513106613058407 332986739427794703454063676720481111197196557312600060731320573620665433741239745100625967650646904612846200066580081074595653688390939867463626319220218347975156062088191337022190161463332548637755689307754599637652686585746900064335527282441574428044114960137984110510310367518651563039094197316957143996199089262906836591630545495951137157627991460157652063891872263726633341997560857130725535685437170800867816190635544405641387945531053524118253878956622726430319424353764973490481812263183605447195830303906892396102409846978132533854757993292571443532926029204661197378132061029912005561027814263055751629182862618151101020841227026105418893997773486367328724685815251069706814843292079286367193930610341080375550559995029601732392091638741823157657267021590345752048748046034048523760808148404837043031099790754873579362959446393834883064374058531767754607495044972562277510654477536637449018156303064494730089133038917432991369510121562267548349224918935069811952674364168000053533308291403061683028694139052710962718745888372109765320259863584017064806686431409930957766559371712982357248676972755049974698410470499770067952046219489194793104561177937843056205163875470961003025180540272892530946185759715049691834461466946531796944842125097039639654858894757155167415633043228800162189422285571449888994317376976961762685126190771501180573532407346972202540704868607223850864658599542231098854774523277313676273879334435769405814181777994125825887237053213147111337428670517760032733136747016105839820837529843967380773879630663976978136700140703849127987847858098494912896934007976560979617032267036340500168243352772693714773076366618196020159773253849151583408199133875992524139471422461339777046885815790977982496135071718490853543887560704093553280895733190043726143471806109365950942252025131015833968989748720055753891387914415848730060628483212365805750794016385334219467125376815982051344947682049440696020163663683837679190633626975486172364383687192596054318827492737244340355404402511962787494426821104378183692131183189764461013381689724161525963336469980377232708187396110489262393968648826921028273786280535754225688199098679214721851896637973976698538458472841288556458819927334247125882271132918656925570865883397001720667969825821731040329837175721852428919679042857359635103513529490857711743180358718582915820388956016584322512327272959144338449051438997094947958225365496353495486682260972703575489008931118217074140909254176848436406220244752823961386626842843617411058117761205352015816830993951263787008023884941457316539550871829861884427425173400017339270795387908694584769618069440631293633750179174909027356598402956700258278284648557864436872032100015754035278485703423788791692457352715562282154171885017961508181424212866046104710936042287731566319275353658903239349947072154394762475716305923538435961185449687212981521386030259948082581529397651004291284979734893121745653048690949896613877581812935717084546770710277709957104562110214696851077344952173235301922869187749310939702304913910005824051045192357019652907802069271311968681294851047584964254878615766875789064052305578804706750398404841891537006693985472869320501960419310786124993976884029578885727064751225194601581937644805071014836268063766294317938171578803142764315197909431136501737121374600952337155898108230132987520898654423062460523689765473457718473414669917240567289488790382015211405431478204343043478735355878192104483268404789979488211662449752896521412457974994830880839216302854220441576130513736397387658143207085242594572130697805310396 538783862197176542492402444677141104077535391468059702377041946467741299411673210922815794200407858926823564746185183920680107258649559570525582124212890835113838058535166460950671186944792920545552179286304206010817792153848649155549777223142412730311255563718596207159547484615274296686113777990814311623714076534731611038003117395577864482705249407914835193473254843318229521640430942455495052828026504763055640273395962503965886263533425345524095737642361753737066634774845381444424299940881194702942617392430674409954026963621045695097157674742091431082026927615371239215331266571216605965955504951025201142537431335717689232748914437611359713182495150073251161194147249797140170373792300374249782738634081114212211732351827074099055360677616046387752921946948431534308807507574767460614200192410857532451525081179695663292948852973147815159451293736791697653411698646820628404693100585887085157650957243694337131474247372677635148382498815008036725862998933446920540513741517208004384611843873184708188161703485134923293044934961995331757532678470090197762602644458113902526299340203549518670700844031858024610359025329608622171995578628343316368306856476543839133294854773456433571053800630784086895245397171469618860858657520875234634166667750715201173541887947361596728060647246738746838054836854396469826173554176948725854048100238303253186544330836993966496314010125966328206441559757340837959564005398959789813546961018826512497920864082561558810279285250394690799532326744090892349544284588782703807317646027278544634679313280557572256619669648887831442132896070590644939390625727953767561927415335240173973340163786178381471259009127192408812977586083296313726753571246130099319857330362174019471935512967314707387905966170952383486890168162362319365817840632903513591719291009128374096275841449146386896260260755256106143267131211083663992505536468631971336514517834604302852008170379164836338866386521668091806133307267924427137179514558629297870037839226880202929679821001765413530377059261379824112972034041332744944602012216444592471932122031346817705344284802524224120803694801960238450890128100480201654676638879092339801452193807997409585338164536130434030007033326318164454344439659431458379460418753378113758278559877736781594797590506780778682301109957083959522824336673132593873513448524856935120154108588607041028737051477656669133836438108625182515681351587664439268284909455903058372736202129475822602150236176748480454002079893992782795985247518392325924578819512928483177269947224572711120611371030405366554321178540348455407359655996741073940257397211940155304140783160202803609267116463651426867130627170707011826372003401192349194612816637875758671209440143146622498475198985857769122977834773925785558618632549619950657413126110657650289339987695567423929095917572555762154325426295428580939448848309185797514210751751617872999038224608976271586526395518529716342926946081525809209155045209525496021377277435566253659583410647625388286983305119632384420730592709464916053510736641553023735298950299544106116906842638523540158528359013468241370396031270147553209307734242381712594886792952496426228595307548752434928544456239005747721473367175511043944990916507269825574694673653557552977465398144090228022795231650175817565388561637561377883897385418763714440096126697399734039246861501105166864631614754899193984533801531125994145206351811211955408928208610129346414629416064414096332870590784059290047174250584149186436023016433807609687620071479181869719750239230041148518010068247619790607465990562715871724643804418368803 871770601624971245946466121397622215274731948780659763108362520088406733152912956023441761851054763539669764812765264995275760947040499437989208443433109183088994120623357797972861348408125469183307868594058805648470478739595549219885304505583987158355370523856580317669857852133925859725207975307771455619913165797638447629633662891529001640333240868072487257365127107044862863637991799586220588513463675563923456464031506909607274209064478869642349616598984480167386059128610354934906112204064800150138447696337566806056436810599178228951915668034662874614952956820032436593463327601128611526983319214080952771720293953868790253590141463716778607180268636440579885879962500866846985217084379660616976669244422194587762292346856675831447452316357869545410188968538777286357555553608815984375008340815694575482624871934569242655908299366982698223825352268559452260906743619382905915347578122524534175807260308189067220607286290110626517892620377275585075087917868516732493188105685208057917920135276246391216855842537845886011790823334105097077792542054107262569289075868044860292858711916531875919377816786907999308769495829378690124041798117538109472868034414386895338458730244417436596234340903676617841431156886519310695320124467407031579008792847754840828400782704516764143693690475538909027477122425846358820490931153910488539174291009804433760076738183966169037018878733190179071100159299571936814338528676273466087426295454595918312102642076687384697516338463541802136960997261850925082681031604888543628155175871245925408558943944534550393319810352736959429980754169085557836324633704514747178959682371580674141583516558872096244335375745388428972750839932447897134952705122122623459328752823513796518821328758292689884041037889443237030777728866455872646713573822947239735191097118494325038527866580162220865250009475311860034655045626932394053134019680997777087308534219938522319133547195146887683814068571108787826296970951762106327813141534115470234421526419476257248507313739009753885781461773342611607398855145710928636733195406209053485313811755508343668680754782901456828991090912449500844858776927401229928462919414846565489651292487212131437234802510107132568465506167606720913164366993678584261731551672035039329144443274738502262767416328511819012138285678936388442503379530492228977026978015714646863334467307189956849126007494240991646163711067769520964732790584759387226510274952256553859418463102179398091159167294965554594911334070841219202205492271216287311205662356545894235387708429924726937442364981669153562345063481805771946910527826602958367682570611957494574936171068897388378885185904282720500880806345616039182970406357892607472897465195740195543241540158900657776960902409646560815435187489488067712790517567581458838837338976703755000276029983298990248371271231459001504272498449823343415165154232724233475396201438830854520424254868924354168055793169534007627906680974647554862203736159422109898959090371283338206354120925335345391545415334329235498075544882700217976379924390863963437603864209549930167952034995543193066330428284780210051690882317732517464186350009257501658939098531301132978993712390643971935238441711875068223433786486297168938967800536848711301759424878752154559403042949161242859063295416470135503560140440704142199095294849900216177217501298352071195144969731238154385530269177961654508223567004583712618621021728452522698416998992144557820060894268757139811605946662251394530442655374128674647685466186704131100078046474012750558966542084261590094140581984017178265609197647958466296774502223679199 1410554463822147788438868566074763319352267340248719465485404466556148032564586166946257556051462622466493329558950448915955868205690059008514790567646000018202832179158524258923532535352918389728860047880363011659288270893444198375435081728726399888666626087575176524829405336749200156411321753298585767243627242332370058667636780287106866123038490275987322450838381950363092385278422742041715641341490180326979096737427469413573160472597904215166445354241346233904452693903455736379330412144945994853081065088768241216010463774220223924049073342776754305696979884435403675808794594172345217492938824165106153914257725289586479486339055901328138320362763786513831047074109750663987155590876680034866759407878503308799974024698683749930502812993973915933163110915487208820666363061183583444989208533226552107934149953114264905948857152340130513383276646005351149914318442266203534320040678708411619333458217551883404352081533662788261666275119192283621800950916801963653033701847202416062302531979149431099405017546022980809304835758296100428835325220524197460331891720326158762819158052120081394590078660818766023919128521158987312296037376745881425841174890890930734471753585017873870167288141534460704736676554057988929556178781988282266213175460598470042001942670651878360871754337722277655865531959280242828646664485330859214393222391248107686946621069020960135533332888859156507277541719056912774773902534075233255900973256473422430810023506159248943507795623713936492936493324005941817432225316193671247435472821898524470043238257225092122649939480001624790872113650239676202775715259432468514740887097706820848114923680345050477715594384872580837785728426015744210861706276368252722779186083185687815990756841725607397271947004060395620517667897028818192012531414455850753326910388127622699134803708029308607761510270230567966177922176838016058045639556149629748423823052054542825171141717574311724022680455092776879632430278219686533464992656092744768104459365646356460178187134740775167416158521034722435720370889187043673581335207622653645957245933786855161374025039585425680949794785714409739295748905027881431583139558293938905291103486295209541022572967046237566598472539493924885367508806653110042641191970425413153087423003152475283857565006835292597694439395636020347965327716203624822850540426540571581983488575895796997877863058971897660780000149176394703480414142172423826494795184408159612232154665231655220693309403471714035048913413964834001998190739789608613235784481869474377412657655654497438058053736012074520116666242022154227354270183823344032307939967823897649879076954229100191988152302367934147368011433516323051009342409759084956667510281833615954214450980302047280275436101395504329938413022263413853271409150117201409496250465087361405289616017678866414177467188804014763658597924745251924354614002541910030989606953190448727519462479477900625754582188688063723970833627056173364071358781368947605920336367806849591865937531572960733678528720453961619918806137592165134029890661032416987172902814509094036284858877634066733224858787298248451422086913587880070673494084251639214253825891483797559207589019939396406863782897950880815944907153661808212883958717044118536876454098532309707536868441093251470881858527066645953068948702078265520082992680268663930617313627995751805234391831232343321250161883932860848492757368535709706763827373539664478107345207602273904234690310333171236144476537446310684577616905958277861083708482620511740787698117953194620278716781314302738612150650231636968873075188210674338021418306642048002 2282325065447119034385334687472385534626999289029379228593766986644554765717499122969699317902517386006163094371715713911231629152730558446503999011079109201291826299781882056896393883761043858912167916474421817307758749633039747595320386234310387047021996611431756842499263188883126016136529728606357222863540408130008506297270443178635867763371731144059809708203509057407955248916414541627936229854953855890902553201458976323180434681662383084808794970840330714071838753032066091314236524349010795003219512785105808022066900584819402153000989010811417180311932841255436112402257921773473829019922143379187106685978019243455269739929197365044916927543032422954410932954072251530834140807961059695483736077122925503387736317045540425761950265310331785478573299884025986107023918614792399429364216874042246683416774825048834148604765451707113211607101998273910602175225185885586440235388256830936153509265477860072471572688819952898888184167739569559206876038834670480385526889952887624120220452114425677490621873388560826695316626581630205525913117762578304722901180796194203623112016764036613270509456477605674023227898016988366002420079174863419535314042925305317629810212315262291306763522482438137322578107710944508240251498906455689297792184253446224882830343453356395125015448028197816564893009081706089187467155416484769702932396682257912120706697807204926304570351767592346686348641878356484711588241062751506721988399551928018349122126148235936328205311962177478295073454321267792742514906347798559791063627997769770395451797201169626673043259290354361750302094404408761760612039893136983261919846780078401522256507196903922573959929760617969266758479265948192107996658981490375346238514836009201612509578170483900087155988041949838857548445625895274064659244988278797993062101485246117024173331574609470828626760279705879826212577222464948452098773575830627525511131586274481347490275264769458611706494523663885667458727249171448639792805797626860238338880892065832717426694448479784921301939982808065047327769744332754602218068403028862699442559745542363505042705794368327137778785876626859240140607681955282661511602477708785470780754778782421672459807769556344699166938045661531606280673173646788626902923522097448192416567446427213786120332423163804416706577681314956736407831095734117051827567404556286228846823043202986954726989066466138652426163860244164224445146932757183213721305459360416166091573128333834618784468570766679589643824748035675221200396232060824900546990144226020271648045364084422164995496100993743673679011305503959999301180711649946990675622538435855144454013125297997580367037488272216867868892239861939090192312816116977564140407747029356149757692520460947938052397003805150890753848209752901920984199667684782868335087804064065160289892047662165404425838460035473765162870423195075267769779156774634264465003154629279582039886734346824979922637981857597731598740308030820918933562517528369715819295458178132930072291652498296079070074135788290855416881682474865352006270585423280950610506678718643966452810912629609926291189215583028661473777795905612588137680434260896715912764990015098692186582732330040378799021339662755884168340940148105381822926517580967248178213523411061862096271484042412713740921822483116088572508842518969662282087975118564146794531129294103876429536800963581475635692153110822503000980935540293419382448395268117000805762206594418462054751204601928375956082484108562079108059561332406535731393948807215871887776164427207370837683323398564328706291232215654147138684385858632804318192808865727201 3692879529269266822824203253547148853979266629278098694079171453200702798282085289915956873953980008472656423930666162827187497358420617455018789578725109219494658478940406315819926419113962248641027964354784828967047020526483945970755467963036786935688622699006933367328668525632326172547851481904942990107167650462378564964907223465742733886410221420047132159041891007771047634194837283669651871196444036217881649938886445736753595154260287299975240325081676947976291446935521827693566936493956789856300577873874049238077364359039626077050062353588171486008912725690839788211052515945819046512860967544293260600235744533041749226268253266373055247905796209468241980028182002194821296398837739730350495485001428812187710341744224175692453078304305701411736410799513194927690281675975982874353425407268798791350924778163099054553622604047243724990378644279261752089543628151789974555428935539347772842723695411955875924770353615687149850442858761842828676989751472444038560591800090040182522984093575108590026890934583807504621462339926305954748442983102502183233072516520362385931174816156694665099535138424440047147026538147353314716116551609300961155217816196248364281965900280165176930810623972598027314784265002497169807677688443971564005359714044694924832286124008273485887202365920094220758541040986332016113819901815628917325619073506019807653318876225886440103684656451503193626183597413397486362143596826739977889372808401440779932149654395185271713107585891414788009947645273734559947131663992231038499100819668294865495035458394718795693198770355986541174208054648437963387755152569451776660733877785222370371430877248973051675524145490550104544207691963936318858365257858628069017700919194889428500335012209507484427935046010234478066113522924092256671776402734648746389011873373739723308135282638779436388270549936447792390499399302964510144413131980257273934954638329024172661416982343770335729174978756662547091157527391135173257798453719605006443340257712189177604881583220560088718098503842787483048140633519798275799403610651516345399805679329218666416730833953752818728580662341268979436356586983164093094742036002724376071858265077631213482380736602582265765410585155456491648181980299898669544115492522861345503990449579689069977897429999097014401017076950977084373158811937741874678107831096857810830311619098783952604852125438036313206164009420558927925561074929607040216100643768575778323727793565489839477777974238393624692738162000509223198586971850433513782774626095494649060703019738919603053549837005818193795677547526114226655450895473291022983562506259752794333090079527097772355189790640151015236903673378262141201655225876062520807918028862972103972143500762995218327833105200655220692261232016315774255608817801984277831338269151426565579508065341031818603305648839488528821468347940327192124393159316544295454610107819728309559349213824725605677220170545661455569573935086994283004921298897317321739631825984982521938229184071256812748602856242252475335687820067030486036161246455697937783409493227738002737669790263676659516048002881277112895864709493492658811174518512535930166590881498896251394171752269436785662804237613636700113248093809913594706885234625085785054667621943371569633139925135664184622780349549762041641457544597235182365080655387228077411844757289855681663928632195924796885854037043683351493738304076003126146275768807781478913107414196692366289441514935099612100559021554872763685676467290684396815102431427727612675474282380401991116400104712867067318441882447291116011759574069307142339611115507775203 5975204594716385857209537941019534388606265918307477922672938439845257563999584412885656191856497394478819518302381876738419126511151175901522788589804218420786484778722288372716320302875006107553195880829206646274805770159523693566075854197347173982710619310438690209827931714515452188684381210511300212970708058592387071262177666644378601649781952564106941867245400065179002883111251825297588101051397892108784203140345422059934029835922670384784035295922007662048130199967587919007803460842967584859520090658979857260144264943859028230051051364399588666320845566946275900613310437719292875532783110923480367286213763776497018966197450631417972175448828632422652912982254253725655437206798799425834231562124354315575446658789764601454403343614637486890309710683539181034714200290768382303717642281311045474767699603211933203158388055754356936597480642553172354264768814037376414790817192370283926351989173272028347497459173568586038034610598331402035553028586142924424087481752977664302743436208000786080648764323144634199938088921556511480661560745680806906134253312714566009043191580193307935608991616030114070374924555135719317136195726472720496469260741501565994092178215542456483694333106410735349892891975947005410059176594899660861797543967490919807662629577364668610902650394117910785651550122692421203580975318300398620258015755763931928360016683430812744674036424043849879974825475769882197950384659578246699877772360329459129054275802631121599918419548068893083083401966541527302462038011790790829562728817438065260946832659564345468736458060710348291476302459057199723999795045706435038580580657863623892627938074152895625635453906108519371302686957912128426855024239349003415256215755204091041009913182693407571583923087960073335614559148819366321331021391013446739451113358619856747481466857248250265015030829642327618603076621767912962243186707810884799446086224603505520151692247113228947435669502420548214549884776562583813050604251346465244782221149778021895031576031700345010020038486650852530375910377852552878017472013680379044842365424871582171459436628322079956507366538968128219576964268938446754606344513711509846852613043860052885942188506158926964932348630816988097928855153946687296447039014620309537920557896006902856098229853162901431107594758265933820780989907671858926505675235653144039677134662301770907331841191904174965632327869664723152370708007686790253937406103128991944415300921899324458262246545005073214336562910036184444398983203911258414329764770321514920708748383823341768049045937999561867474688853030074225956631607123238013659185044695607938787103204825095352722227278912367883105795913240201231393968041993040084948325775892328253729836021223943156380230109005806111446109441769217695239808485486767146166426073215491725869400113003197223029144108874962293984338771135402459894172316091178559919613262449007891599235948171550585599858152403259187168314243117815201938483816425687037558927284163115452010520836569552891818676992030543330752569502541895838042431831878978888393916171946381969190480702893286585807237218464305774369642505399105246948854952773432646079355871513994943580754484599477164461825577276392584281589033958018976529811752206053033232881145354433431729411409178076898363702172032878130213966387116204844647168630505792224206375886583959558093465433159506272521546190154505854494719239616296545528724164075898479718869620791110828344192719537027988056641505663434842793736028623090932546496380234943484563250446807609361954083428111431396024733114662945263150443959927939946657803924373502404 9668084123985652680033741194566683242585532547585576616752109893045960362281669702801613065810477402951475942233048039565606623869571793356541578168529327640281143257662694688536246721988968356194223845183991475241852790686007639536831322160383960918399242009445623577156600240147778361232232692416243203077875709054765636227084890110121335536192173984154074026287291072950050517306089108967239972247841928326665853079231867796687624990182957684759275621003684610024421646903109746701370397336924374715820668532853906498221629302898654307101113717987760152329758292637115688824362953665111922045644078467773627886449508309538768192465703897791027423354624841890894893010436255920476733605636539156184727047125783127763157000533988777146856421918943188302046121483052375962404481966744365178071067688579844266118624381375032257712010659801600661587859286832434106354312442189166389346246127909631699194712868683984223422229527184273187885053457093244864230018337615368462648073553067704485266420301575894670675655257728441704559551261482817435410003728783309089367325829234928394974366396350002600708526754454554117521951093283072631852312278082021457624478557697814358374144115822621660625143730383333377207676240949502579866854283343632425802903681535614732494915701372942096789852760038005006410091163678753219694795220116027537583634829269951736013335559656699184777721080495353073601009073183279684312528256404986677767145168730899908986425457026306871631527133960307871093349611815261862409169675783021868061829637106360126441868117959064264429656831066334832650510513705637687387550198275886815241314535648846262999368951401868677310978051599069475846894649876064745713389497207631484273916674398980469510248194902915056011858133970307813680672671743458578002797793748095485840125231993596470789602139887029701403301379578775410993576021070877472387599839791142073381040862932529692813109229456999283164844481177210761641042303953718986308402705066070251225561407490211072636457614920905098738136990493640013424051011372351153816875624331895390242171104200800837876167462275832775235947201309397199013320855921610847701086549714234222924471308937684099424569242761509230697759215972444589577037134246585965991154507143170883424548345586591926076127283161998445508611835216910905154148719609600801183783066750001850507446281400554859936693317342211278838491879085282080296269082616397294153506746897567722739028715464814297740024519243466839029301072036693667597570175761691928112539396417009569769451403562261371102595775005380061270366400556188452612082502596529036642747550955360733120193284352193125077417069552518898342699586618463372595623267869102605756243804755300357701979521986938374708063214206461332138370673785533469495417303288751423997764342366918291448908178344229041632449757714450822805807119075729652018565475407722855374223370268736201158585161996276191277078322948920642737888178204809484943405115323004359298559110148097973948750020640809704567279848272795806088257322608926324078593078334676826177325665174119971928150493156963245323285221345582887265507214892597905760029471285968576245946753012891194974926236868913950124629814890029284394837127767932571236696986831138818287548767297805001362551334313741082986482521582640171855423931713440027012249285893020301618220643873815239757394065355431069407400227198189205988457543692299671674999932883679958631977034987803194633634234472127600157200527218307606479412495913775329361598811662671097238724729188011353070483532824298463343174997110236379162203533997247088997415039881277607 15643288718702038537243279135586217631191798465893054539425048332891217926281254115687269257666974797430295460535429916304025750380722969258064366758333546061067628036384983061252567024863974463747419726013198121516658560845531333102907176357731134901109861319884313786984531954663230549916613902927543416048583767647152707489262556754499937185974126548261015893532691138129053400417340934264828073299239820435450056219577289856621654826105628069543310916925692272072551846870697665709173858179891959575340759191833763758365894246757682537152165082387348818650603859583391589437673391384404797578427189391253995172663272086035787158663154529208999598803453474313547805992690509646132170812435338582018958609250137443338603659323753378601259765533580675192355832166591556997118682257512747481788709969890889740886323984586965460870398715555957598185339929385606460619081256226542804137063320279915625546702041956012570919688700752859225919664055424646899783046923758292886735555306045368788009856509576680751324419580873075904497640183039328916071564474464115995501579141949494404017557976543310536317518370484668187896875648418791948988508004554741954093739299199380352466322331365078144319476836794068727100568216896507989926030878243293287600447649026534540157545278737610707692503154155915792061641286371174423275770538416426157841650585033883664373352243087511929451757504539202953575834548953161882262912915983233377644917529060359038040701259657428471549946682029200954176751578356789164871207687573812697624558454544425387388700777523409733166114891776683124126812972762837411387345243982321853821895193512470155627307025554764302946431957707588847149581607788193172568413736556634899530132429603071510520161377596322627595781221930381149295231820562824899333819184761542225291238590613453218271068997135279966418332209221103029596652642838790434630786547602026872827127087536035212964801476570228230600513983597758976190927080516302799359006956412535496007782557268232967668033646621250108758175477144492543799961389224904031834347638012274435084536529072383009335604090597912731743313740277525418590285124860057602307431063425744069777084352797736985366757748920436195630107846789432687505892288193273262438193521763480421345106241593494782174357136324899876616206593482844725935138627281459727689458302403145890184580943702325767268534509246386244470819748750005232666977090303187548090912850026559667154329637364138756002271064248540053365863982072878111996553379672950342442304166738524490478199787385603139151641713004941928745055253586262678568714109719767050301932595650968671907296489177288477799644348464886781448495499858664603989591309862142690704569580647628611431815543210881531088293323212267443584480115554751164735225788775518570164190415582410017318308291347426264661593866589413116790145890211132111912737791498901415293836632717744092757821110167826776876936475352179829906202421322624686881888931748691396857486394311213425959270857210362596385956840303339136840826825150822162121024910213655714571241837120501941118631196050249831130522439809888661635149720291703152708884424059401222325302624526886138555680721468391114586455392166421868676426161725951547766508739037191851520429912652238433091962743491817981350184693615518302069390318829644871659417916398812525824596530457774797850859498514937341928946417352695060483176783308596217203724096959578438350846655778914022977826954009155588213842032881742449273148524536866261908095191897614581801975175995620715024566960935729859367908111773181642312647493925187035655218964254780011 25311372842687691217277020330152900873777331013478631156177158225937178288562923818488882323477452200381771402768477955869632374250294762614605944926862873701348771294047677749788813746852942819941643571197189596758511351531538972639738498518115095819509103329329937364141132194811008911148846595343786619126459476701918343716347446864621272722166300532415089919819982211079103917723430043232068045547081748762115909298809157653309279816288585754302586537929376882096973493773807412410544255516816334291161427724687670256587523549656336844253278800375108970980362152220507278262036345049516719624071267859027623059112780395574555351128858427000027022158078316204442699003126765566608904418071877738203685656375920571101760659857742155748116187452523863494401953649643932959523164224257112659859777658470734007004948365961997718582409375357558259773199216218040566973393698415709193483309448189547324741414910639996794341918227937132413804717512517891764013065261373661349383628859113073273276276811152575422000074838601517609057191444522146351481568203247425084868904971184422798991924372893313137026045124939222305418826741701864580840820282636763411718217856897194710840466447187699804944620567177402104308244457846010569792885161586925713403351330562149272652460980110552804482355914193920798471732450049927642970565758532453695425285414303835400386687802744211114229478585034556027176843622136441566575441172388220055412062697791258947027126716683735343181473815989508825270101190172051027280377363356834565686388091650785513830568895482473997595771722843017956777323486468475098774895442258208669063209729161316418626675976956632980257410009306658322996476257664257918281803233764266383804049104002051980030409572499237683607639355900688962975904492306283477336616978509637711131363822607049689060671137022309667821633588799878440590228663909667907018386387393168946208167950468564905777910706027227513765358464774969737831969384470021785667409661478605747233343964758444040304491261542155207496312467638132557224012400597255185651223262344169825326707633273183847211771552873745506979260941586922617603605980781668450008517613139978292701555661735421084791326991681945426327867062761877277082929422439859228429348028906651304769654587180086708250484419486898322124818428699755631089287346891060528873241369153147740692027225102880627205227826588597523309311627835287312963246172919584842244419596924127389893358352828953053742295583492006892395165054109571779594123555434642270554843563155534060247651190947864510254237488010321990015421654142451131180796612316296086944680146606329405027489773529481602877061418017405679791195086477127976585214577731245296460813385402928969133795065197819905796356537418728775722850789340284634230643092064269994161954757949328308767216469691655306294043624303863939595953009286861763931303266906624270668060002986480293916406272164102968154014798301100472644090599527434171825294047071695756156045504459311399908020877851172300953236688576134942929084147759748486199617988548332540748567502294621913046781689207213076453807661155471548900656935184301058468913895345369798571249377539777333530606958337305064711085207056451153071263289493884119003205725868330669807978679950043434454514077805559064336667215198158473924814250543084898671667202291832827442817174331590037608253563870368411336346644550884266471634327000895888878724029843258396982823690766717217611461188481283188371042560100050055752561020450641591269694003560285679040699905183632068095050493760028322711083108883418021474851027922434124652634004136057618 40954661561389729754520299465739118504969129479371685695602206558828396214844177934176151581144426997812066863303907872173658124631017731872670311685196419762416399330432660811041380771716917283689063297210387718275169912377070305742645674875846230720618964649214251151125664149474239461065460498271330035175043244349071051205610003619121209908140427080676105813352673349208157318140770977496896118846321569197565965518386447509930934642394213823845897454855069154169525340644505078119718113696708293866502186916521434014953417796414019381405443882762457789630966011803898867699709736433921517202498457250281618231776052481610342509792012956209026620961531790517990504995817275212741075230507216320222644265626058014440364319181495534349375952986104538686757785816235489956641846481769860141648487628361623747891272350548963179452808090913515857958539145603647027592474954642251997620372768469462950288116952596009365261606928689991639724381567942538663796112185131954236119184165158442061286133320729256173324494419474593513554831627561475267553132677711541080370484113133917203009482349436623673343563495423890493315702390120656529829328287191505365811957156096575063306788778552777949264097403971470831408812674742518559718916039830219001003798979588683812810006258848163512174859068349836590533373736421102066246336296948879853266935999337719064760040045831723043681236089573758980752678171089603448838354088371453433056980226851617985067827976341163814731420498018709779446852768528840192151585050930647263310946546195210901219269673005883730761886614619701080904136459231312510162240686240530522885104922673786574253983002511397283203841967014247170146057865452451090850216970320901283334181533605123490550570950095560311203420577831070112271136312869108376670436163271179936422602413220502907331740134157589634239965798020981470186881306748458341649172934995195819035295038004600118742712182597455744365872448372728714022896464986324585026416617891141243241126522026677007972524908163405316254487944782625101023973789822159217485570900356444260411244162345566856547375643471658238722574681864448036193891105641726052315948676565722362478640014533158070158084740602381621957974909551309964588821710633132490867541550670131726114760828773581490424841555811798198741025022182600357024425974172520256562699671556293630876608168805206394473762335834983767780131376585292545630223263222772390335332446950687057047687990193091809744566647740546945761029036182449891590676935107592612997147729894058550725850978333467649405879201015263918760476907728713809749510722036063137246612742257298076934786262706770080676705766482292461239690586335792580574805887593387987165382966050557580565610608408701436884649860630996219307330904895035798965868880839788564326145173531738326085524761039081570955637490893277056386098899497993875844041058405525685961896635704224386674227382331929745030951273653280302550293020850058858707182978820387153013531898770524825867291735061534897339193528879474079769910972910570648320642898761988255319809339415123854165412885257462907584330100965360210535806655476004211177798319404771020896552002066663472086287679805696179297540599222873021747689451219835666769714464905522521328408592602281867546476821297377045686851908813676775994204569372729770331085118690645353267413704789364835459113062385305753265293061903579326954811110309492106082448126802836835333670346545631240589288142490438776584884592981792505025709544987507853177789195457900260842675081179252783119617454695758182078991220656599663787498521847621160307852968390837629 66266034404077420971797319795892019378746460492850316851779364784765574503407101752665033904621879198193838266072385828043290498881312494487276256612059293463765170624480338560830194518569860103630706868407577315033681263908609278382384173393961326540128067978544188515266796344285248372214307093615116654301502721050989394921957450483742482630306727613091195733172655560287261235864201020728964164393403317959681874817195605163240214458682799578148483992784446036266498834418312490530262369213524628157663614641209104271540941346070356225658722683137566760611328164024406145961746081483438236826569725109309241290888832877184897860920871383209053643119610106722433203998944040779349979648579094058426329922001978585542124979039237690097492140438628402181159739465879422916165010706026972801508265286832357754896220716510960898035217466271074117731738361821687594565868653057961191103682216659010275029531863236006159603525156627124053529099080460430427809177446505615585502813024271515334562410131881831595324569258076111122612023072083621619034700880958966165239389084318340002001406722329936810369608620363112798734529131822521110670148569828268777530175012993769774147255225740477754208717971148872935717057132588529129511801201417144714407150310150833085462467238958716316657214982543757389005106186471029709216902055481333548692221413641554465146727848575934157910714674608315007929521793226045015413795260759673488469042924642876932094954693024899157912894314008218604716953958700891219431962414287481828997334637845996415049838568488357728357658337462719037681459945699787608937136128498739191948314651835102992880658979468030263461251976320905493142534123116709009132020204085167667138230637607175470580980522594797994811059933731759075247040805175391854007053141780817647553966235827552596392411271179899302061599386820859910777109970658126248667559322388364765243462988473165024520622888624683258131230913147698451854865849456346370693826279369746990474470486785121048277016169705560523750800412420757658247986190419414403136794162700614085737951795618750703759147196345403745701835623451370653797497086423394502324466289705700655180195676268579154949411732284327048285841972313187241671751133072991719296889579576783030884415415953668198675325975298696520865843450882355988113713321063580785435941040709441371568635393908087021678990162423581291089443004420579858593469436142357232579752043874814446941046343022044863486862231232553838156194090292021671184800490542234883551991293049592610973502169281332159660116689025585908775898561871164940930307334352359224191292888863627481962276036236251683553767184499698141030885672812920557160020465324633283626196351453486549699405673606521342681006398049724995030181694235320433196511972904058558488099931481066634852741230730736877249681115197140995982051908784855639775344325312149956629956638690704680590633654496032713184966071954380775194383620377493030532477025892082909169577403229836225775312612912707198292430217455609022698995120670319134520260887310320796068376841709745767212194574464675984038137762120831759436463590660305269646712214750140819467801379606440805616894638143001244008625806279324174818952740713719785772920190773853191136387272552325302000990899102936110023519124011835249919018819915814669002752320982478180710230879120954873067366626255674164601639706454463593426445437310387994961172156646095232316494037312348458200749330971721964955927153081842560778270565438149444447483199018185939883374986362884851214667948455786504790074329540017685262349549770055284960486972526895247 107220695965467150726317619261631137883715589972222002547381571343593970718251279686841185485766306196005905129376293700216948623512330226359946568297255713226181569954912999371871575290286777387319770165617965033308851176285679584125029848269807557260747032627758439666392460493759487833279767591886446689476545965400060446127567454102863692538447154693767301546525328909495418554004971998225860283239724887157247840335582052673171149101077013401994381447639515190436024175062817568649980482910232922024165801557730538286494359142484375607064166565900024550242294175828305013661455817917359754029068182359590859522664885358795240370712884339418080264081141897240423708994761315992091054879086310378648974187628036599982489298220733224446868093424732940867917525282114912872806857187796832943156752915193981502787493067059924077488025557184589975690277507425334622158343607700213188724054985128473225317648815832015524865132085317115693253480648402969091605289631637569821621997189429957395848543452611087768649063677550704636166854699645096886587833558670507245609873197452257205010889071766560483713172115787003292050231521943177640499476857019774143342132169090344837454044004293255703472815375120343767125869807331047689230717241247363715410949289739516898272473497806879828832074050893593979538479922892131775463238352430213401959157412979273529906767894407657201591950764182073988682199964315648464252149349131126921526023151494494917162782669366062972644314812026928384163806727229731411583547465218129092308281184041207316269108241494241459119544952082420118585596404931100119099376814739269714833419574508889567134641981979427546665093943335152663288591988569160099982237174406068950472412171212298961131551472690358306014480511562829187518177118044500230677489305051997583976568649048055503724151405337488936301565184841841380963991277406584590316732257383560584278758026477765143263335071222139002497103361520427165877762314442670955720242897260888233715597008811798056249541077868965840005288357203382759271959980241573620622365063057058346149195957964317560306522839817061984424410305315818689991388192065120554640414966271423017658835690801737225107496472886708670243816881864497206260572843706124210164431130246914756999176244727249689100167531110494719606868473064956345138139295236101041998640712265735002445243562713293416152752498258565058869574381005872404223692699365129622915084490825501503988734333215136673231428878973100783917223126474471562775477425649827496549139022943651161699353147614799809065995890040849827536375469599878750679818056388422361437905631120925558897062298943021764230472950981990602270576259148713137734826352918021270791579317504044130265016282015222779565656258680721214337512599130356232162380853743847122814245105012804960938265991769818448205318606090418052368150808282849515619385383717675642591853274394929067264861036827962458215917345607661077744676641227551889239660004712470062183109302000361051642604347974242095631623746335083102468906093580889782840903786072309051388186181124869621377607459722138891622467863086191969972270246136309480824510534154911840364353381673104277703182317948697423306166405502197196566642191933555452542634655679375712464795865154607169547467720400313155710371032825512025913223389288544439333837439673123533977644583910319708526479688640979917866932768358042920381256547619880101043620283448932067650164383857979698790037473462160741540811746063635065803980110425657297625272394476086200726050067542137634334285403151544686869065550196617349049848071617676445268339940917732876 173486730369544571698114939057523157262462050465072319399160936128359545221658381439506219390388185394199743395448679528260239122393642720847222824909315006689946740579393337932701769808856637490950477034025542348342532440194288862507414021663768883800875100606302628181659256838044736205494074685501563343778048686451049841049524904586606175168753882306858497279697984469782679789869173018954824447633128205116929715152777657836411363559759812980142865440423961226702523009481130059180242852123757550181829416198939642558035300488554731832722889249037591310853622339852711159623201899400797990855637907468900100813553718235980138231633755722627133907200752003962856912993705356771441034527665404437075304109630015185524614277259970914544360233863361343049077264747994335788971867893823805744665018202026339257683713783570884975523243023455664093422015869247022216724212260758174379827737201787483500347180679068021684468657241944239746782579728863399519414467078143185407124810213701472730410953584492919363973632935626815758778877771728718505622534439629473410849262281770597207012295794096497294082780736150116090784760653765698751169625426848042920872307182084114611601299230033733457681533346269216702842926939919576818742518442664508429818099599890349983734940736765596145489289033437351368543586109363161484680140407911546950651378826620827995053495742983591359502665438790388996611721757541693479665944609890800409995066076137371849257737362390962130557209126035146988880760685930622631015509879505610921305615821887203731318946809982599187477203289545139156267056350630887728036512943238008906781734226343992560015300961447457810126345919656058156431126111685869109114257378491236617610642808819474431712531995285156300825540445294588262765217923219892084684542446832815231530534884875608100116562676517388238363164571662701291741101248064710838984291579771925349522221014950930167783957959846822260628334274668125617732628163899017326414069176630635224190067495596919104526557247574526363756088769624140417519946170660988023759159225757672431887147753583068264065670036162465730126245928767189343788885278488515056964881255977123672839031367070316380056908205171035718529658854177684447932323976779115929461320709823697787883591660680917887775493506409191240472711923947312333251852616299681827434581752975176374013878956621380437831742660682146349959017385426452262817162135507486855494836534700315950929780676237181536718291110205654622073417216766493233960277916192062380101130315993243772672855316896131968726112579066435736312274031471043691610125390740781585629198519984553040859338335179273447784240135481688743301461931961633694894846818242654554417775668957530679964421955621744122246662656730446209367694293365676665358892826647905681302345036493871595791007222500555325454999721287559048350202717067705155394729709029825599221809913085633747855494691323995171400883417562041852939060261605044919772137030604552971352686705230197277417916960886949293924053963790692125167901214251208917361164673382629847456563022834615388589802034186814875660605625207023729408733836796614750471222748905052659832154761279545083320076956091698667314792211781521371385594932647275238315554846453228903601183137706932471548458619503249265733890156837347275832242209204359108336589760655601714687875463031274581593846314896654082468572474812506513807701984930268096004792440095027299966658421170328156990786804433882706496738899145477626582250675863806742072755593494272140609425053905022485548953351607331191659139879736635034312197621387731730228826913444628123 280707426335011722424432558319154295146177640437294321946542507471953515939909661126347404876154491590205648524824973228477187745905972947207169393206570719916128310534306337304573345099143414878270247199643507381651383616479968446632443869933576441061622133234061067848051717331804224038773842277388010033254594651851110287177092358689469867707201037000625798826223313379278098343874145017180684730872853092274177555488359710509582512660836826382137246888063476417138547184543947627830223335033990472205995217756670180844529659631039107439787055814937615861095916515681016173284657717318157744884706089828490960336218603594775378602346640062045214171281893901203280621988466672763532089406751714815724278297258051785507103575480704138991228327288094283916994790030109248661778725081620638687821771117220320760471206850630809053011268580640254069112293376672356838882555868458387568551792186915956725664829494900037209333789327261355440036060377266368611019756709780755228746807403131430126259497037104007132622696613177520394945732471373815392210367998299980656459135479222854412023184865863057777795952851937119382834992175708876391669102283867817064214439351174459449055343234326989161154348721389560469968796747250624507973235683911872145229048889629866882007414234572475974321363084330945348082066032255293260143378760341760352610536239600101524960263637391248561094616202972462985293921721857341943918093959021927331521089227631866766420520031757025103201523938062075373044567413160354042599057344723740013613897005928411047588055051476840646596748241627559274852652755561987847135889757977278621615153800852882127149942943426885356791439862991210819719718100255029209096494552897305568083054980031773392844083467975514606840020956857417450283395041264392315362031751884812815507103533923663603840714081854877174664729756504542672705092525471295429301023837155485933800979041428695311047293031068961263125437636188552783610390478341688282134312073891523457905664504408717160776098325443492203761377126827523176791906150902561644381524288814730778036343711547385824372192875979527714550656234083008033780273470553635611605296222248546690497867057872053605164404678057744388773475736042181654192896820485240139625751840070612544882767905408167576875661037519685960079580397012268678389991911535782869433222465240911376459122519334673853984495158940711408828591766432324667040854834872616478409921025525817454918515009452318209949719989178755405990640343240964796735755341841889876650269338936894934372208464510931777792108469107285563848649501070922442289943447129203947067104151105478599756400634122295212014713086463679345572038191110346832629673171160675825209354986461574810229438237636966901812318915411167423705206892496032897521273680391752804116590141506676556729273214270373773660318327377977100718353525350554671014115092747501241813663187480562815120355728151957629616800763169702930683736902832596809011797035317023033535796007230558329060521308861191389555677710125775227636807307832098700202068459454938898844749203959485009967409493908953767283073488293215699381004082932924231295733283059964500196508142952649361023259274040396090620958617283718567952237124580830690858189502132604616065979002861539641095926339903562421444261189662859301745465598492903547670427200328725248665520046941594290120326003537634000335505243170549434188958532550148197048412723543959367616822805028307855780824277896043448037550645209112692386230786289464039698027987970358341335475121447160119883238754758875878528205429933252383362045693005408175497166854362360999 454194156704556294122547497376677452408639690902366641345703443600313061161568042565853624266542676984405391920273652756737426868299615668054392218115885726606075051113699675237275114908000052369220724233669049729993916056674257309139857891597345324862497233840363696029710974169848960244267916962889573377032643338302160128226617263276076042875954919307484296105921297849060778133743318036135509178505981297391107270641137368345993876220596639362280112328487437643841070194025077687010466187157748022387824633955609823402564960119593839272509945063975207171949538855533727332907859616718955735740343997297391061149772321830755516833980395784672348078482645905166137534982172029534973123934417119252799582406888066971031717852740675053535588561151455626966072054778103584450750592975444444432486789319246660018154920634201694028534511604095918162534309245919379055606768129216561948379529388703440226012010173968058893802446569205595186818640106129768130434223787923940635871617616832902856670450621596926496596329548804336153724610243102533897832902437929454067308397760993451619035480659959555071878733588087235473619752829474575142838727710715859985086746533258574060656642464360722618835882067658777172811723687170201326715754126576380575047148489520216865742354971338072119810652117768296716625652141618454744823519168253307303261915066220929520013759380374839920597281641762851981905643479399035423584038568912727741516155303769238615678257394147987233758733064097222361925328099090976673614567224229350934919512827815614778907001861459439834073951531172698431119709106192875575172402701215287528396888027196874687165243904874343166917785782647268976150844211940898318210751931388542185693697788851247824556615463260670907665561402152005713048612964484284400046574198717628047037638418799271703957276758372265413027894328167243964446193773536006268285315416927411283323200056379625478831250990915783523753771910856678401343018642240705608548381250522158682095732000005636265302655573018018567517465896451663594311852321563549668140683514572403209923491465130454088437862912141993444676902162850197377569158749042150668570177478225670363336898424942369985221312883228780107303134590219866102125220797264356069087072549894310332766359566089085464651154543928877200552292320959581011641844527835464696867804218216087750473001475956054291816237819622857758787609151858776929858016970380103333904757560226133405848295685689499746668011099384410028064057560007458030696033258033952256751399654930138707045063781407063746518221048173721300160923532541966133900068837869985532696302671090031640615738969301568659798953221945368088873500123071980527524519989403330379627130655419105490193860193258711024058981572141613633072901185861709562880166507039658485418935178000548152520280436770929099115318048665536149068556242418259826408844801777326841035473100566196562975850419475952801017684180731744783622797164437641728783934065921576004888482712460755606478438269748140683479731673916467352804708522083307617563233132837568746301312226794100398557211528095768642943679113500239428789737919729538981766956031965017160028662904232194444343336230132094757935750829065239939337832057228105929173744348585833519667162140568472112644384959406811687178151346500206577577707807697262656007016960984326963353395509972868871714172318434288082804077717983055947996660517480416293053205163638986667583481226198636012771611082329926154534289544354590318968481462153270781770783581464630481944900175352182605432192106366207070187345309669887417674243314393139905725993767806989122 734901583039568016546980055695831747554817331339660963292245951072266577101477703692201029142697168574611040445098625985214614614205588615261561611322456446522203361648006012541848460007143467247490971433312557111645299673154225755772301761530921765924119367074424763877762691501653184283041759240277583410287237990153270415403709621965545910583155956308110094932144611228338876477617463053316193909378834389665284826129497078855576388881433465744417359216550914060979617378569025314840689522191738494593819851712280004247094619750632946712297000878912823033045455371214743506192517334037113480625050087125882021485990925425530895436327035846717562249764539806369418156970638702298505213341168834068523860704146118756538821428221379192526816888439549910883066844808212833112529318057065083120308560436466980778626127484832503081545780184736172231646602622591735894489323997674949516931321575619396951676839668868096103136235896466950626854700483396136741453980497704695864618425019964332982929947658700933629219026161981856548670342714476349290043270436229434723767533240216306031058665525822612849674686440024354856454745005183451534507829994583677049301185884433033509711985698687711779990230789048337642780520434420825834688989810488252720276197379150083747749769205910548094132015202099242064707718173873748004966897928595067655872451305821031044974023017766088481691897844735314967199565201256377367502132527934655073037244531401105382098777425905012336960257002159297734969895512251330716213624568953090948533409833744025826495056912936280480670699772800257705972361861754863422308292459192566150012041828049756814315186848301228523709225645638479795870562312195927527307246484285847753776752768883021217400698931236185514505582359009423163332008005748676715408605950602440862544741952722935307797990840227142587692624084671786637151286299007301697586339254082897217124179097808320789878544021984744786879209547045231184953409120582393890682693324413682140001396504414353426078753898461510771278843023279186771103758472466111312522207803387133987959835176677839912810055788121521159227558396933205411349432219595786280175473700474217053834765482814423590385717561286524496076610326262047756318117617749596208712824389964922877649127471497253041526815581448563160631872717971849690031836439371247566301026683456999126932123995290728145800732978563569167616200918291101596898871805252719812314678585751950860766810695141817956617731088563165434054697903248422827431788599875842133401668993867033641417272245917995524310329517281006864009573033612888576190012284999189479763406822195510240372139603423863871813666308409047434445538314182327360154193160564006204836485641880680300423298430895677925871300487552781056778108078357742460401440187431411289535525319507224709249553651041302872775636376043513249786909767768814497422959894524828082849136288046759378096206147627910430634484943901447714306534067270238537795731101238599038424278719691313935538959578609332073035409384042242580441515829915406317765301592292507645146061430753585408524621022004722410226752601793455128170742002662463213062689315024981660225171047184843805366595504172490848556709446348958507290069181808936620031933850718438135733141143430011753740311299310374108622412536163065879323173406190166203677444161313052212018915556914463161834498321971922083139582961153605382185619050030564490101617887182946035200304031226943868552435360225969602571840189563703011354712248442734821468811569434988823280375296799342725315430861125082948715550739603139801036289007398548081223160622169350121 1189095739744124310669527553072509199963457022242027604637949394672579638263045746258054653409239845559016432365372278741952041482505204283315953829438342173128278412761705687779123574915143519616711695666981606841639215729828483064912159653128267090786616600914788459907473665671502144527309676203167156787319881328455430543630326885241621953459110875615594391038065909077399654611360781089451703087884815687056392096770634447201570265102030105106697471545038351704820687572594103001851155709349486516981644485667889827649659579870226785984806945942888030204994994226748470839100376950756069216365394084423273082635763247256286412270307431631389910328247185711535555691952810731833478337275585953321323443111034185727570539280962054246062405449591005537849138899586316417563279911032509527552795349755713640796781048119034197110080291788832090394180911868511114950096092126891511465310850964322837177688849842836154996938682465672545813673340589525904871888204285628636500490042636797235839600398280297860125815355710786192702394952957578883187876172874158888791075931001209757650094146185782167921553420028111590330074497834658026677346557705299537034387932417691607570368628163048434398826112856707114815592244121591027161404743937064633295323345868670300613492124177248620213942667319867538781333370315492202749790417096848374959134366372041960564987782398140928402289179486498166949105208680655412791086171096847382814553399835170343997777034820052999570718990066256520096895223611342307389828191793182441883452922661559640605402058774395720314744651303972956137092070967947738997480695160407853678408929855246631501480430753175571690627011428285748772021406524136825845517998415674389939470450557734269041957314394496856422171143761161428876380620970232961115455180149320068909582380371522207011755267598599408000720518412839030601597480072543307965871654671010308500447379154187946268709795012900528310632981457901909586296427762823099499231074574935840822097128504419989691381409471479529338796308919730850365415610794029660980662891317959537197883326641808294001247918700263514603904460559783402788918590968637936948745651178699887417171663907756793575607030444515304603379744916481913858443338415013952277799896939859233210415487037586338506177970125377440361184165038931430701673680967206712263168830901673086877405125471246782437616970798186426926403810070149878526756888775632823146219436145978084266615106380831317703285742187947575462118755463255880858127821857909794390153068648797172348462336027325059270828550565454728164170496566154854710090081122869175012459709493285541880987878572725432531612619530354415523319038437254307887678713149967336584463616297299785790617158624154388949930282059694394689851009264219452023281606694471069774954460497507772861769834087812231971890954424709049398855466010187074323831804696302154923884609388612955941072056567103863231652169124633192497929331231707880266579665167160175043312761432152069542017397848357472756515141057958709933246224351998713935328534725130076391447373657547685807081832550100491053170431715293694556960479922392002194829645346989998820253833951417038249709931734304585606492460275414198446627901239037042549205678199304271655400303283998483866384696258717185795800563882663272456900881213887428859684461122297379175372311066887332033548670640406210165943660679136661330182279567510980783154823050821932702783785257425579881324046442555895757106129733918293330323193710596005603239595150899619305225275472151525330747622967491290018902896049273027218710532321791687986949154389976339243 1923997322783692327216507608768340947518274353581688567930195345744846215364523449950255682551937014133627472810470904727166656096710792898577515440760798619650481774409711700320972034922286986864202667100294163953284515402982708820684461414659188856710735967989213223785236357173155328810351435443444740197607119318608700959034036507207167864042266831923704485970210520305738531088978244142767896997263650076721676922900131526057146653983463570851114830761589265765800304951163128316691845231541225011575464337380169831896754199620859732697103946821800853238040449597963214345292894284793182696990444171549155104121754172681817307706634467478107472578011725517904973848923449434131983550616754787389847303815180304484109360709183433438589222338030555448732205744394529250675809229089574610673103910192180621575407175603866700191626071973568262625827514491102850844585416124566460982242172539942234129365689511704251100074918362139496440528041072922041613342184783333332365108467656761568822530345938998793755034381872768049251065295672055232477919443310388323514843464241426063681152811711604780771228106468135945186529242839841478211854387699883214083689118302124641080080613861736146178816343645755452458372764556011852996093733747552886015599543247820384361241893383159168308074682521966780846041088489365950754757315025443442615006817677862991609961805415907016883981077331233481916304773881911790158588303624782037887590644366571449379875812245958011907679247068415817831865119123593638106041816362135532831986332495303666431897115687332000795415351076773213843064432829702602419788987619600419828420971683296388315795617601476800214336237073924228567891968836332753372825244899960237693247203326617290259358013325733041936676726120170852039712628975981637830863786099922509772127122324245142319553258438826550588413142497510817238748766371550609663457993925093205717571558251996267058588339034885273097512191004947140771249836883405493389913767899349522962098525008834343117460163369941040110075151943010037136519369266495772293185099121346671185843161818486133914057974488385035763132018956716608200268023188233723228921124879174104471006429390571217165992748005801829099456355242743961614761456032763548486512721329824156088064614509083591547704785706826003521816037756903280391705517406577959829469857585130086004337249466537510583417703776749996094020010988440980123655760580885542958534114731730035127381917075973135659903473276510740896173453366504303685559610457785636523554737642664205989879608273243054795138880082735735028180069599767743286280093407868364492223116315481052121360018176149296403426285838763462957764576751436635247832906310531342789300101939180466091040457055050066875801582547247175746629117342577194483683046881902481064489985817014997571019387738853534844666590800752562648642375777955888821254764590826983006733745676659715319168262714731773662286654068534640212235865298978118804375396268398774081737040151843383477556357426966804829550550442000952513687740181914120253093836317422584036593435088301271215606453572105213463397184317087149685131221925054465407892334662014980480479004998601882055076527238477076455049169721763156953917970420845979169237612050022709791133444427428495620125007558027559904422976418826338336224054620077595063361905283610431387391226623801795195383168962378132249083243640290266712367898617541545273256440938004878737984089288652523749876481802781865359677969923481996341677905959038740424708406720334608128505650768950868056063053828616372967618446788876167019746821329190236068172315012145689364 3113093062527816637886035161840850147481731375823716172568144740417425853627569196208310335961176859692643905175843183469118697579215997181893469270199140792778760187171417388100095609837430506480914362767275770794923731132811191885596621067787455947497352568904001683692710022844657473337661111646611896984927000647064131502664363392448789817501377707539298877008276429383138185700339025232219600085148465763778069019670765973258716919085493675957812302306627617470620992523757231318543000940890711528557108823048059659546413779491086518681910892764688883443035443824711685184393271235549251913355838255972428186757517419938103719976941899109497382906258911229440529540876260165965461887892340740711170746926214490211679899990145487684651627787621560986581344643980845668239089140122084138225899259947894262372188223722900897301706363762400353020008426359613965794681508251457972447553023504265071307054539354540406097013600827812042254201381662447946485230389068961968865598510293558804662130744219296653880849737583554241953460248629634115665795616184547212305919395242635821331246957897386948692781526496247535516603740674499504889200945405182751118077050719816248650449242024784580577642456502462567273965008677602880157498477684617519310922889116490684974734017560407788522017349841834319627374458804858153504547732122291817574141184049904952174949587814047945286270256817731648865409982562567202949674474721629420702144044201741793377652847066011011478398237134672337928760342734935945495870008155317974715439255156863307037299174461727721110160002380746169980156503797650341417269682780008273506829901538543019817276048354652371904963248502209977339913375360469579218343243315634627632717653884351559301315327720229898358847869881332280916093249946214598946318966249242578681709502695767349331308526037425958589133660910349847840346246444093917629329648596103514218018937406184213327298134047785801408145172462849050357546264646228592889144842474285363784195653513254332808841572841420569448871460862740887501934980060525433273847990439306208383726488460294427915305893188648550367036479516500010989186614156871660177666776057873991888178093298328010741599778450317133702836100159225875473204794447777500764312618269683389298480101546669930053882755832203443883000202795834711093379198373784672092638688486803172881742374937784293021034674574936423020423821058590858650412649356518366104753550877708119393997023456804453363189215464458316358292208829760184543687432315695430913707806291461378338341944300568114065967430648190463192350566165922597996370174530737539504682825808766594002347896748874728935038905369117878481083615188690943135511619460498679373763718236480251881657615679204455825731864606941570436480126606796646506964653576373550839444446314522770432789221826665766816557545225461612047497841788142963145086569287129137930618355065272671260240319281835636893938823193167832710165196530685999070955061435558949125049801583995453019573755275324277586065691499959662446933964533912834188422371042552660428040808745848957022688286122205704516567616032380844242091701847446467602721980009004979300732838950018920304786458972781662061541629997177355400545871659883021718443290249326981446533747711426979486509703816744745700223540301489610793124935833965023923046366405907810562763537690689127228931839602784342415026904319426928042550178185052526056411263988826811440767874546078103631200528245337761116784099657400289672001099669634746027948001871234227433730926241102393386810676796107662986521342838149194238457353650981924055121469402122028607 5037090385311508965102542770609191095000005729405404740498340086162272068992092646158566018513113873826271377986314088196285353675926790080470984710959939412429241961581129088421067644759717493345117029867569934748208246535793900706281082482446644804208088536893214907477946380017812802148012547090056637182534119965672832461698399899655957681543644539463003362978486949688876716789317269374987497082412115840499745942570897499315863573068957246808927133068216883236421297474920359635234846172431936540132573160428229491443167979111946251379014839586489736681075893422674899529686165520342434610346282427521583290879271592619921027683576366587604855484270636747345503389799709600097445438509095528101018050741394794695789260699328921123240850125652116435313550388375374918914898369211658748899003170140074883947595399326767597493332435735968615645835940850716816639266924376024433429795196044207305436420228866244657197088519189951538694729422735369988098572573852295301230706977950320373484661090158295447635884119456322291204525544301689348143715059494935535820762859484061885012399769608991729464009632964383480703132983514340983101055333105065965201766169021940889730529855886520726756458800148218019732337773233614733153592211432170405326522432364311069335975910943566956830092032363801100473415547294224104259305047147735260189148001727767943784911393229954962170251334148965130781714756444478993108262778346411458589734688568313242757528659311969023386077484203088155760625461858529583601911824517453507547425587652166973469196290149059721905575353457519383823220936627352943837058670399608693335250873221839408133071665956129172119299485576134205907805344196802332591168488215594865325964857210968849560673341045962940295524596001503132955805878922196236777182752349165088453836625020012491650861784476252509177546803407860665079095012815644527292787642521196719935590495658180480385886473082671074505657363467796191128796101529634086279058610373634886746294178522088675926301736211361609558946612805750924638454349327021205567033089560652879569569650278780561829363867677033586130168498473216619189454637345105383406587900937048096359184522688899227907592526456118962802292455401969837087966250480541049250825339599507545386544716055753521601587541539029447404816240552737991485084715780362631922108546071933258886079624404321803604452378351686419114443832047031838774068409937403909063287665609438154521378940532777589023092688740969057254465662196264488229247042773481067437262543934125584328221552573811168861106310730926198220530635765690341282650267938605903996905942124247646123707914925024025338465191207881341438848191940127578383344525771030022163063820175660717972698072734254522701533447154188746183109243949373840990647700458276031903934432131537768003808609565519301661224136026214174696140217566098851966341333877956120937352100741932386579408581996567410556225477261702472922401061829664117875330457703957723206786841735838836497130112702291082415616241941960614960621704715826954441516207359975244464634243834150228238294739694310917979964800349467993927222923772500933010614314671019959781211843948620802359862986211258738516590799718940512354463842080729000887680902299349691237667192138855475106634711374772305604646516720315949129348990454042618986408271689518241950154764314490922424315008565162474664110147959717194754918076802594071329667704926831690178751963834730627381077010048119626476462069580882286013679005628673486452656408591568835562236577010053261442873730624724035954139789627025361258204174980172160123293784414267717971 8150183447839325602988577932450041242481737105229120913066484826579697922619661842366876354474290733518915283162157271665404051255142787262364453981159080205208002148752546476521163254597147999826031392634845705543131977668605092591877703550234100751705441105797216591170656402862470275485673658736668534167461120612736963964362763292104747499045022247002302239986763379072014902489656294607207097167560581604277814962241663472574580492154450922766739435374844500707042289998677590953777847113322648068689681983476289150989581758603032770060925732351178620124111337247386584714079436755891686523702120683494011477636789012558024747660518265697102238390529547976786032930675969766062907326401436268812188797667609284907469160689474408807892477913273677421894895032356220587153987509333742887124902430087969146319783623049668494795038799498368968665844367210330782433948432627482405877348219548472376743474768220785063294102120017763580948930804397817934583802962921257270096305488243879178146791834377592101516733857039876533157985792931323463809510675679482748126682254726697706343646727506378678156791159460631016219736724188840487990256278510248716319843219741757138380979097911305307334101256650680587006302781911217613311090689116787924637445321480801754310709928503974745352109382205635420100790006099082257763852779270027077763289185777672895959860981044002907456521590966696779647124739007046196057937253068040879291878732770055036135181506377980034864475721337760493689385804593465529097781832672771482262864842809030280506495464610787443015735355838265553803377440425003285254328353179616966842080774760382427950347714310781544024262734078344183247718719557271911809511731531229492958682511095320408861988668766192838654372465882835413871899128868410835723501718598407667135546127715779840982170310513678467766680464318210512919441259259738444922117291117300234153609433064364693713184607130456875913802535930645241486342366175862679168203452847920250530489832035343008735143309052782179007818073668491812140389329387546638840881079999959087953296138739074989744669760865682136497204977989716630178641251501977043584254676994922088247362615987227238649192304906436096505128555561195712561171044928318550015137957869190934685024817602423451655470297371232891287816443348572702578463914154147304014747234558736431767821999342106096625487052926622842134867653105622697424481059293922275168041216487146273915375963989582042386281904205427373612757871026024672772934475089176498350970350225586962666563496874379282927073741379116661412881201931612939279020442469343443501588767933014240126055811673898754273504096576999219919931807128818521518856145231528701536827538412140969854355688413458978527265311761130316619589370556170487497612354034649582743378878446060538436597831392185068477781681251675786743638059354241815111427903165085258867970455807205057839648901278403047450164300454870305632566258360350116946285519139516672331836643319834289516703867977615360001681933441920277407555669249739788629938578402527904892675052579999185260983025816516622496532416381848838169314625619947400613336294680024939081944682898639722664649445184040400578132429716117867755009713740612022606124192548676672684200939850282454593144415191517051304870057021805559922473926288007642909454638095426052512918302005180049653246848167946817079137052279144122797468254987646597386078968915658501619519838380808731012277538293457387593246169238282575685680105298308232480604410462803062995967503251155654829684407420831698940661132465174555496661528631154084178415253816389746578 13187273833150834568091120703059232337481742834634525653564824912741969991611754488525442372987404607345186661148471359861689404931069577342835438692119019617637244110333675564942230899356865493171148422502415640291340224204398993298158786032680745555913529642690431498648602782880283077633686205826725171349995240578409796426061163191760705180588666786465305602965250328760891619278973563982194594249972697444777560904812560971890444065223408169575666568443061383943463587473597950589012693285754584608822255143904518642432749737714979021439940571937668356805187230670061484243765602276234121134048403111015594768516060605177945775344094632284707093874800184724131536320475679366160352764910531796913206848409004079603258421388803329931133328038925793857208445420731595506068885878545401636023905600228044030267379022376436092288371235234337584311680308061047599073215357003506839307143415592679682179894997087029720491190639207715119643660227133187922682375536773552571327012466194199551631452924535887549152617976496198824362511337233012811953225735174418283947445114210759591356046497115370407620800792425014496922869707703181471091311611615314681521609388763698028111508953797826034090560056798898606738640555144832346464682900548958329963967753845112823646685839447541702182201414569436520574205553393306362023157826417762337952437187505440839744772374273957869626772925115661910428839495451525189166200031414452337881613421338368278892710165689949058250553205540848649450011266451995112699693657190224989810290430461197253975691754759847164921310709295784937626598377052356229091387023579225660177331647982221836083419380266910716143562219654478389155524063754074244400680219746824358284647368306289258422662009812155778949897061884338546827705007790607072500684470947572755589382752735792332633032094989930976944227267726071177998536272075382972214904933638496954089199928722545174099071080213127950419459899398441432615138467705496765447262063221555137276784010557431684661445045264143788566764686474242736778843678714567844407914169560611967522865789017855551574033628542715722627373476462933249368095888847082426990842577931970184606547138676126466556784831362555059307421010963165549649137295408859599265963297468698480071569533658176973257057838910262338692632683901310694063548629934509935936855780630669690653901623746427900229939431278309261249311485152654536198549469231326184231328882096584428436754904522359631409374592946396430867223533222289161002181517862657565788232894159712546994785049448190451788180052110042859633411837697303280561670710407949347498494710057261886249763726598922779611969287784880561358779999068946099902200671002558723699891358587801687827053761147713501228798758915319062802698614505544328488260054492925614647313310577598306440406440957704370139005817277889961439778276920340667077769237043041379805322556549137444419057483274970458006389777716572778554967320190014234821615976843474395538623485055673126013833980679906442417298175383880892368177373965566743071454785762503149357309296414149413499277765510827540476497216731316832096537549392448333623950609351044898863156526847260525024512431395299139094723229435058380109473555821341023493805094848026363921868131989137929699779126566289356909516573742121509051822916742050261895862909784944294463073066319670972077561856733109291743247200238861317552386331790240668715746673842490191798271802215539358393354548341577014069708238819164861699359110926981718933260819054371898558204080261208916272558138045555734894800922092199916754865703611326244301709038230657464549 21337457280990160171079698635509273579963479939863646566631309739321667914231416330892318727461695340864101944310628631527093456186212364605199892673278099822845246259086222041463394153954013492997179815137261345834472201873004085890036489582914846307618970748487648089819259185742753353119359864563393705517456361191146760390423926483865452679633689033467607842952013707832906521768629858589401691417533279049055375867054224444465024557377859092342406003817905884650505877472275541542790540399077232677511937127380807793422331496318011791500866304288846976929298567917448068957845039032125807657750523794509606246152849617735970523004612897981809332265329732700917569251151649132223260091311968065725395646076613364510727582078277738739025805952199471279103340453087816093222873387879144523148808030316013176587162645426104587083410034732706552977524675271378381507163789630989245184491635141152058923369765307814783785292759225478700592591031531005857266178499694809841423317954438078729778244758913479650669351833536075357520497130164336275762736410853901032074127368937457297699693224621749085777591951885645513142606431892021959081567890125563397841452608505455166492488051709131341424661313449579193744943337056049959775773589665746254601413075325914577957395767951516447534310796775071940674995559492388619787010605687789415715726373283113735704633355317960777083294516082358690075964234458571385224137284482493217173492154108423315027891672067929093115028926878609143139397071045460641797475489862996472073155273270227534482187219370634607937046065134050491429975817477359514345715376758842627019412422742604264033767094577692260167824953732822572403242783311346156210191951278053851243329879401609667284650678578348617604269527767173960699604136659017908224186189545980422724928880451572173615202405503609444710907732044281690917977531335121417137022224755797188242809361786909867812255687343584826333262435329086674101480833881359444615465516069475387807273842592774693396588354316925967574582760142734548919233008102114483248795249560571055476161927756930541318703389408397859124578454452649879546737140349059470575097254926892272853909754663353705205977136268991155812549566524361262210308340337178149281101255337889414756594351260600424912528136281495229980449127249883396642012544088657239951603015189406122421723623088533996855426484204932103384179138258277233623030528525248459399370098583730702352130868511941673795656497151823804479981404248313833775115992951834064139203244385299509661348546322569734715253793489159521046293039628916219840691152877292791000083477990276126375819538272821533885473384361879781278711806197764621421056816234087425236718896999942657681409449561172479756064070676449379422287985061714815985872408527575197390692189023658844877004272349889438616787498529565748183416336274582482189197140208126638673293012356342502258706384553373505456554078171443084187533578550364351767901495982991067870460128375507415530537848657521802418980108825801169775733043215306531701393364165031054249984348994148598760260791327344162973029633113165670265852175012395734237286904031069837945101209745900247689161876579339539672855659151176247864483269561953046099929287396703036606069071839420384292923541757806408214386630763927068974296843030057904805317547880370346975991368324851021730808704901056108822384252518005440349854586777887266101825642758148693417791640596348089405632086635034401662954408057447437385039216225289951413865229517174961554171583512364571102242545466387433835462054557374472251527232242480328480124292047047211127 34524731114140994739170819338568505917445222774498172220196134652063637905843170819417761100449099948209288605459099991388782861117281941948035331365397119440482490369419897606405625053310878986168328237639676986125812426077403079188195275615595591863532500391178079588467861968623036430753046070390118876867451601769556556816485089675626157860222355819932913445917264036593798141047603422571596285667505976493832936771866785416355468622601267261918072572260967268593969464945873492131803233684831817286334192271285326435855081234032990812940806876226515333734485798587509553201610641308359928791798926905525201014668910222913916298348707530266516426140129917425049105571627328498383612856222499862638602494485617444113986003467081068670159133991125265136311785873819411599291759266424546159172713630544057206854541667802540679371781269967044137289204983332425980580379146634496084491635050733831741103264762394844504276483398433193820236251258664193779948554036468362412750330420632278281409697683449367199821969810032274181883008467397349087715962146028319316021572483148216889055739721737119493398392744310660010065476139595203430172879501740878079363061997269153194603997005506957375515221370248477800483583892200882306240456490214704584565380829171027401604081607399058149716512211344508461249201112885694981810168432105551753668163560788554575449405729591918646710067441198020600504803729910096574390337315896945555055105575446791593920601837757878151365582132419457792589408337497455754497169147053221461883445703731424788457878974130481772858356774429835429056574194529715743437102400338068287196744070724826100117186474844602976311387173387300961558766847065420400610872171024878209527977247707898925707312688390504396554166589651512507527309144449624980724870660493553178314311633187364506248234500493540421655134999770352868916513803410504389351927158394294142332009290509455041911326767556712776752722334727528106716619301586856210062727579291030525084057853150206378058033399581069756141347446616977285698076686816682327656709419121183022999027716774786092892737017951113581751951930915583128914833029196141897565939832858862457460456893339480171762761967631546215119970577487526811859445635746037748547064552806587894828163884918777398169585975191757568673081811151194090705561174023167175888458795820075813075625246834961897085365915483241364633490623410931769821579997756574643630698980680315130788885773034301305205031090098220235347204937470602994777297510814491629927436138545012056656133595770760186503433845599202380679704877326219500402361863285242138498578188047538012625583264871744313497442672146760342637491805266710721323257487236646148936610255587744345508463210708885980984862829591768442224986599567259144474132463020500812038005499601257151317410713307593808755793315807455709623194613194923149266966377251168018478615568905479946677763867828343963462943855888015862742500898740378586589517472826465463409083613431180541544371829337428244836278284209682062143910417180873274772848149927534203607293645408298012259538556838171703449526849844482502362389724404844067861237513382114736808257736593160772713674307974638678767578888586234627973956825383294069593734382244729400527937203828558313992702668324095765123903204506048578026119759772108166701180457665314641439064434644521993808370561634165400565631452756866757902240918568127934817572316600638885216063442811887447798986634976611415732662646876612299084398327152271670347126048571546860112375663773573487374800683511943168730262976649574389006392935853806572781833330277704675676 55862188395131154910250517974077779497408702714361818786827444391385305820074587150310079827910795289073390549769728622915876317303494306553235224038675219263327736628506119647869019207264892479165508052776938331960284627950407165078231765198510438171151471139665727678287121154365789783872405934953512582384907962960703317206909016159491610539856044853400521288869277744426704662816233281160997977085039255542888312638921009860820493179979126354260478576078873153244475342418149033674593774083909049963846129398666134229277412730351002604441673180515362310663784366504957622159455680340485736449549450700034807260821759840649886821353320428248325758405459650125966674822778977630606872947534467928363998140562230808624713585545358807409184939943324736415415126326907227692514632654303690682321521660860070383441704313228645266455191304699750690266729658603804362087542936265485329676126685874983800026634527702659288061776157658672520828842290195199637214732536163172254173648375070357011187942442362846850491321643568349539403505597561685363478698556882220348095699852085674186755432946358868579175984696196305523208082571487225389254447391866441477204514605774608361096485057216088716939882683698056994228527229256932266016230079880450839166793904496941979561477375350574597250823008119580401924196672378083601597179037793341169383889934071668311154039084909879423793361957280379290580767964368667959614474600379438772228597729555214908948493509825807244480611059298066935728805408542916396294644636916217933956600977001652322940066193501116380795402839563885920486550012007075257782817777096910914216156493467430364150953569422295236479212127120123533962009630376766556821064122302932060771307127109508592991963366968853014158436117418686468226913281108642888949056850039533601039240513638936679863436905997149866366042731814634559834491334745625806488949383150091330574818652296364909723582454900297603085984770056614780818100135468215654678193095360505912891331695742981071454621753897995723715930206759711834617309694918796810905504668681754078475189644531716634211440407359511440876530385368233008461570169545201368141037087785754730314366648002833876968739103900537370932520144011888074069753976083215897828165808144477309584758236179377823082114111473252798653530938401077487347573718111824415840061811009481935497348869923495893940792399688173468017669761669209003444610526281823103030069079264045833141016641546242979000687587250044039827186341718916828552413503766325694066639382930311566317482142093329921218687639088361901725997916955135720243053016162534929498661666037814139001402803144565847382916056508640123916203611464475342744314303470733574173329152587687003189872660270058460740926900268217821647274584628973960460004871548076009428697688624915996194414985657483247372580814337021457806610949469505631456163517459294657151908581261822448936470252381717468919497934059458946930034477290742938357418968809456531279543741806687957074909677994950047255258393035483231919643460396179806474241514092565257857277994402446611019799348165515866422556482957648172628241899417239802098524417413184574753358946339061020402836184553978218440434547737410875838440094945247115693663669641432437134006275667978698285626210081902173338289835269975647000416602802166071506498005545684988415055802969373015539179266535221509388015705274872198252095505346015200919397959358787578633855083408235537204618721611645817395617054934059736469437543377561621760991278088721821666547247285938058477043228978330602565725031206948861257920168096286901261957622324751886803 90386919509272149649421337312646285414853925488859991007023579043448943725917757969727840928359895237282679155228828614304659178420776248501270555404072338703810226997926017254274644260575771465333836290416615318086097054027810244266427040814106030034683971530843807266754983122988826214625452005343631459252359564730259874023394105835117768400078400673333434734786541781020502803863836703732594262752545232036721249410787795277175961802580393616178551148339840421838444807364022525806397007768740867250180321669951460665132493964383993417382480056741877644398270165092467175361066321648845665241348377605560008275490670063563803119702027958514842184545589567551015780394406306128990485803756967791002600635047848252738699589012439876079344073934450001551726912200726639291806391920728236841494235291404127590296245981031185945826972574666794827555934641936230342667922082899981414167761736608815541129899290097503792338259556091866341065093548859393417163286572631534666923978795702635292597640125812214050313291453600623721286514064959034451194660702910539664117272335233891075811172668095988072574377440506965533273558711082428819427326893607319556567576603043761555700482062723046092455104053946534794712111121457814572256686570095155423732174733667969381165558982749632746967335219464088863173397785263778583407347469898892923052053494860222886603444814501798070503429398478399891085571694278764534004811916276384327283703305002006502869095347583685395846193191717524728318213746040372150791813783969439395840046680733077111397945167631598153653759613993721349543124206536791001219920177434979201412900564192256464268140044266898212790599300507424495520776477442186957431936293327810270299284374817407518699276055359357410712602707070198975754222425558267869673927510533086779353552146826301186111671406490690288021177731584987428751005138156130195840876541544385472906827942805819951634909222457010379838707104784142887534719437055071864740920674651536437975389548893187449512655153479065479857277653376689120315386381735479138562214087802937101474217361306502727104177425310625022628482316283816137376403198741343265706976920644617187774823541342314048731501071532083586052490721499414885929199611829253646375230360951065204412922121098155221251700086665010367326612749552271578053134892134991591728520606829557748572974116758457791026158315171414832651160385080140773266190524038397746660768059944360963929902414580544284205718677348264275174391279189519823329711014580817323994075521475323622973615737864090107722121484687564282405702794281355220645414879447777067997239854085352151626986068016310160880358728655400466553695416731186064067571790707379723109939408175431348698335870978944441725789729859986263872261184196233104934137334568576821466703188226173147511825698965077056128374130144477167429805562664428780723129894710462675630524150167302395614234120210061432382441789947474809672535376031121524946936441635921994688627355237868498619281507332378292091536677245165294063553877577053081247089664020099461464571639810744623279337905003687569872083332802130674990631623822083869959761930795299311561616682932221793116510492528616897208013436323645503812396920328541185287398051886161837661943479496537012278328878405997938462193039776024225026536362574274238207678463210999629854120237613895009347549828169386909953647158031738956154336423914143135736970275959426463849918526220122985003605356588257233128279701810672035553835870529833292108117326660268681778922911059511545851843912490273771295988007856523250264313103950093474043790952602456562479 146249107904403304559671855286724064912262628203221809793851023434834249545992345120037920756270690526356069704998557237220535495724270555054505779442747557967137963626432136902143663467840663944499344343193553650046381681978217409344658806012616468205835442670509534945042104277354615998497857940297144041637267527690963191230303121994609378939934445526733956023655819525447207466680069984893592239837584487579609562049708805137996454982559519970439029724418713575082920149782171559480990781852649917214026451068617594894409906694734996021824153237257239955062054531597424797520522001989331401690897828305594815536312429904213689941055348386763167942951049217676982455217185283759597358751291435719366598775610079061363413174557798683488529013877774737967142038527633866984321024575031927523815756952264197973737950294259831212282163879366545517822664300540034704755465019165466743843888422483799341156533817800163080400035713750538861893935839054593054378019108794706921097627170772992303785582568175060900804613097168973260690019662520719814673359259792760012212972187319565262566605614454856651750362136703271056481641282569654208681774285473761033772091208818369916796967119939134809394986737644591788940638350714746838272916649975606262898968638164911360727036358100207344218158227583669265097594457641862185004526507692234092435943428931891197757483899411677494296791355758779181666339658647432493619286516655823099512301034557221411817588857409492640326804251015591664047019154583288547086458420885657329796647657734729434338011361132714534449162453557607270029674218543866259002737954531890115629057057659686828419093613689193449269811427627548029482786107818953514253000415630742331070591501926916111691239422328210424871038824488885443981135706666910758622984360572620380392792660465237865975108312487840154387220463399621988585496472901756002329825924694476803481646595102184861358491677357307982924691874840757668352819572523287519419113770012042350866721244636168520967276907377061203573207860136400954932696076654275949467718756484691179949407005838219361315617832670136463505012701652049145837973368286544633848014008430371918089190189345147925700240175432620956985010865511302959998953587912469544203396169095542513997680357277533044333814198138263165980143687953349065400708610246816007568582417839039684070322986681953684966950714859588300668830146749349776710801050320220849690837139208406797070919056126787263206406264598308315001577620908436651882124518347143018060714904405635189291097879957420028940809123775926184131700711236490940888467895610311997495901520123166290628388871160876008263274785164040590469899028195661406811886094178113297283268560763118351888208531249002902466716630128204085519535768825207065394142206116652830895400876851089143706240684622560303500954944481498625236416512133934412179293412169757332782432731429124844550704372591778901301939724006933756602569853321864463304355410445378525968171097044556455694191185327328339346795070280648525983197337973232887721331178112664719321849634213191234299137253169203436294639815759778847618873523239323672058286348208483886314975629271282813519346677082595115648447984061056379650837015273788300981061721527594274795949755164515710563955088487900111800482875045999872026952965376440309714176468756684618269176040583268024886729094704608419341662863306611154406431929260158336656368235318214042483773609628358522208224078199903050523896756744731772023273413907394913869108604748990503445470158345449604328887141468604373861713039063472111522233272046380375305748574927208449282 236636027413675454209093192599370350327116553692081800800874602478283193271910103089765761684630585763638748860227385851525194674145046803555776334846819896670948190624358154156418307728416435409833180633610168968132478736006027653611085846826722498240519414201353342211797087400343442213123309945640775500889627092421223065253697227829727147340012846200067390758442361306467710270543906688626186502590129719616330811460496600415172416785139913586617580872758553996921364957146194085287387789621390784464206772738569055559542400659118989439206633293999117599460324696689891972881588323638177066932246205911154823811803099967777493060757376345278010127496638785227998235611591589888587844555048403510369199410657927314102112763570238559567873087812224739518868950728360506276127416495760164365309992243668325564034196275291017158109136454033340345378598942476265047423387102065448158011650159092614882286433107897666872738295269842405202959029387913986471541305681426241588021605966475627596383222693987274951117904550769596981976533727479754265868019962703299676330244522553456338377778282550844724324739577210236589755199993652083028109101179081080590339667811862131472497449182662180901850090791591126583652749472172561410529603220070761686631143371832880741892595340849840091185493447047758128270992242905640768411873977591127015487996923792114084360928713913475564800220754237179072751911352926197027624098432932207426796004339559227914686684204993178036172997442733116392365232900623660697878272204855096725636694338467806545735956528764312688102922067551328619572798425080657260222658131966869317041957621851943292687233657956091662060410728134972525003562585261140471684936708958552601369875876744323630390515477687567835583641531559084419735358132225178628296911871105707159746344807291539052086779718978530442408398194984609417336501611057886198170702466238862276388474537908004812993400899814318362763398979624900555887539009578359384160034444663578788842110793529355970479932060856126683430485513513090075248082458389755088029932844287628281423624367144722088419795257980761486133495017935865283214376567027887899554990929074989105864013730687461974431741246964704543037501587010717845928153199741723190578626530046607718410602478375688265585514284803273533306756437505620643453843502381807599297103024668597432643297103440411475993109030031003133319990531829490549976991574358618596351605199152767761000821470707331547412124941946572590175968900097956475211835532927960342054790425880958812264713617821510136662930608463490466537403505517846161533882775058089065493141374208518442255374939177186169143633513819441057023594444926847470879457884885493020393207968938549700586544402227947344192506359988190349391796953021440170328279540685229652362104065077262291218066383587637359629329074625975792666222074798363192902423306880220008412956881596427240164938492801840333684381513954408566275105229352985988251291852081300520656798452282424954313472692659706631438331747525813820046751215550285968968420842132764180786421274023935857578475158172891006166723148561909522609505147061407542018048279003783197876592312203504606635857169611212012856461420384701883463233935602329486268459773413756112457893234661052722842283966893898050262675914822024097053489327950714547921854931967684248123296278197163034234278922873995329295310021338350110560768353174301472393338511277640506333692135848481507211829434788160283652176458555403807577109284437228205977225931409259185224393069404961150180731053958878145157701046919995361786546375996473849349539527529665011761 382885135318078758768765047886094415239379181895303610594725625913117442817902448209803682440901276289994818565225943088745730169869317358610282114289567454638086154250790291058561971196257099354332524976803722618178860417984245062955744652839338966446354856871862877156839191677698058211621167885937919542526894620112186256484000349824336526279947291726801346782098180831914917737223976673519778742427714207195940373510205405553168871767699433557056610597177267572004285106928365644768378571474040701678233223807186650453952307353853985461030786531256357554522379228287316770402110325627508468623144034216749639348115529871991183001812724732041178070447688002904980690828776873648185203306339839229735798186268006375465525938128037243056402101689999477486010989255994373260448441070792091889125749195932523537772146569550848370391300333399885863201263243016299752178852121230914901855538581576414223442966925697829953138330983592944064852965226968579525919324790220948509119233137248619900168805262162335851922517647938570242666553390000474080541379222496059688543216709873021600944383897005701376075101713913507646236841276221737236790875464554841624111759020680501389294416302601315711245077529235718372593387822887308248802519870046367949530112009997792102619631698950047435403651674631427393368586700547502953416400485283361107923940352724005282118412613325153059097012109995958254418251011573629521243384949588030526308305374116449326504273062402670676499801693748708056412252055206949244964730625740754055433341996202535980073967889897027222552084521108935889602472643624523519225396086498759432671014679511630121106327271645285111330222155762520554486348693080093985937937124589294932440467378671239742081754900015778260454680356047969863716493838892089386919896231678327540139137467756776918061888031466370596795618658384231405921998083959642200500528390933339079870121133010189674351892577171626345688090854465658224240358582101646903579148214675621139708832038165524491447208968233187887003693373649491030180778535044031037497651600772319461373031372982941449735413090650897949638507719587914429052349935314432533403004937505361023953203920032609900131981422397325500022512452522020805927106787654192734782022699142150232408282835653221309919328482941536699286900125458969708854552112628623606865685442507637116713620090122365160960059744890591433988820678578840326687792624678839446042442338361174558071740526834118810618531206544880905177546521006393127093960051275103360115505330286594001555811497778930165603739732239416650669104216754337102422350670668401062989042894331684732883763810338062177406908298983481647493493473122508877691343979063606317676476529701668052474752933476950246659222990116394434911332721846647235722421746801882483257504941928351434924307068210197663130284019107474417902638586932297605081716719049977341195389613025552084715642865393619234986321237961342322877675082674850451555647262526679046624969549326981410007663877987034970785126817806462346029948553523518856689752020245428900108270908237127091877612411342094442461362964321688370228378670300731214076334627212267084191567941474787420155203846693807128504909404445758263114070950876117787249521494941350387253842989825568433406239055381798162063158789868023969080442293327154857636031400724368866392472318780431059121008017578603748636972884644961264967200282434459809049706746595854548817465745476840029420053512988063334176073215300135579600382698344623119846334536158249688669863227750410754509618195427482519019414085983467473308779648042854224655288102456873461043 619521162731754212977858240485464765566495735587385411395600228391400636089812551299569444125531862053633567425453328940270924844014364162166058449136387351309034344875148445214980278924673534764165705610413891586311339153990272716566830499666061464686874271073216219368636279078041500424744477831578695043416521712533409321737697577654063673619960137926868737540540542138382628007767883362145965245017843926812271184970702005968341288552839347143674191469935821568925650064074559730055766361095431486142439996545755706013494708012972974900237419825255475153982703924977208743283698649265685535555390240127904463159918629839768676062570101077319188197944326788132978926440368463536773047861388242740104997596925933689567638701698275802624275189502224217004879939984354879536575857566552256254435741439600849101806342844841865528500436787433226208579862185492564799602239223296363059867188740669029105729400033595496825876626253435349267811994614882565997460630471647190097140839103724247496552027956149610803040422198708167224643087117480228346409399185199359364873461232426477939322162179556546100399841291123744235992041269873820264899976643635922214451426832542632861791865485263496613095168320826844956246137295059869659332123090117129636161255381830672844512227039799887526589145121679185521639578943453143721828274462874488123411937276516119366479341327238628623897232864233137327170162364499826548867483382520237953104309713675677241190957267395848712672799136481824448777484955830609942843002830595850781070036334670342525809924418661339910655006588660264509175271068705180779448054218465628749712972301363573413793560929601376773390632883897493079489911278341234457622873833547847533810343255415563372472270377703346096038321887607054283451851971117268015216808102784034699885482275048315970148667750444901039204016853368840823258499695017528398671230857172201356258595670918194487345293476985944708451489834090558780127897591680006287739182659339199928550942831694880461927141029089314570434178887162581105428860993433786125527584445059947742796655740127663538155208348631659435772002737523779712266726502342320432957995866580350129817217650720071874563722669362030043060014039532738651855259987395915925360649229188757950818885314028909575504842767744810232593656562964590352308395615010431206162788467176234549356917193562776636953168774921594567308811210408330876664784199037458042394047537513942319072561997541450358030656148491453495353515421104349602305795584203063702170295756167552813820525115600440302266670340702907117206507722272183263956233445726490128482184268540203175139138749515248346550541812802922704517087918049356348570801863949099338069684498640217753061297335704897590851729350104584784303129674868087406050701287487112135619609007005613726142373451797835022759613093733450210568860661730660797984140025930197349608346494621979324880581358195459568670702751915750889152780312027836439806939114607979567281768001609406364321136570646741602223458565332276166076699769073804825658172862378193080894692182261062949456087569514985448628086112883597892837883817362138756094382906216050282068160253678292026791061016305019141361370824830460146577304886478447273517981268355106499711736224486621156248523022275696212325834704690048066133931621277869405557886332692053114515768596977594093355286940452599077932282905983311375527968635608761281443045257873495055151157881325321536631882947776223617828249673855539387177491982781851325823560467567508873894256297155371904690349249386360664177115132903462835095326024039328074004827629986538472804 1002406298049832971746623288371559180805874917482689021990325854304518078907714999509373126566433138343628385990679272029016655013883681520776340563425954805947120499125938736273542250120930634118498230587217614204490199571974517779522575152505400431133229127945079096525475470755739558636365645717516614585943416332645595578221697927478400199899907429653670084322638722970297545744991860035665743987445558134008211558480907411521510160320538780700730802067113089140929935171002925374824144932569472187820673220352942356467447015366826960361268206356511832708505083153264525513685808974893194004178534274344654102508034159711759859064382825809360366268392014791037959617269145337184958251167728081969840795783193940065033164639826313045680677291192223694490890929240349252797024298637344348143561490635533372639578489414392713898891737120833112071781125428508864551781091344527277961722727322245443329172366959293326779014957237028293332664959841851145523379955261868138606260072240972867396720833218311946654962939846646737467309640507480702426950778407695419053416677942299499540266546076562247476474943005037251882228882546095557501690852108190763838563185853223134251086281787864812324340245850062563328839525117947177908134642960163497585691367391828464947131858738749934961992796796310612915008165644000646675244674948157849231335877629240124648597753940563781682994244974229095581588413376073456070110868332108268479412615087792126567695230329798519389172600830230532505189737011037559187807733456336604836503378330872878505883892308558367133207091109769200398777743712329704298673450304964388182383986980875203534899888201246661884720855039660013633976259971421328443560810958137142466250810634086803114554025277719124356493002243655024147168345810009357402136704334462362240024619742805092888210555781911271635999635511753072229180497778977170599171759248105540436128716803928384161697186054157571054139580688556217004368256173781653191318330874014821068259774869860404953374349997322502457437872260812072135609639528477817163025236045832267204169687113110604987890621439282557385410510457111694141319076437656752966361000804085711153770421570752681774695704091759355543082526492054759457782366775050108660142671928330908183227168149682130885424171250686346931880556688423560061162947727639054813028473909683871666070537283685141797913228519812186001297631888987171203352576823716297488436489875875116877144302524375569168649187355036334400531061942110742729399755635478167062285801086454146815376336613379370467870410072942323767875611939026520366378584116394891191471227162871887908022902559853310523957450111786404352010581391171865226262145843012705655746161028341885805536050269181847837510952340220979219214462396714734641773123034288994618877113948933965161066680520008032685889897112840924628471499248662958403065856744980174690803736107647531409596224223589078803657023989877093212030455394702686891362586377134658613906737550936387774328800448633776573008585383138738512106648322597323682347924882623621981002963090498190041333699980857079891089449077205286263066262487662869970170717533428317366259728195153079446946264862998826269866280229276218409691375837354565060767502763296456886965579214312189589654762077657494374388993494558072035214373914605024263193917733416421980908240915758025152476294958031202826569255790628272640495168918043221090492752004469349603968623626802161566051936460764286952004322889155674966777874681126474445669895003725758562564119524905782659199967444813843183196529218886930308404105672082182298660115732443411933847 1621927460781587184724481528857023946372370653070074433385926082695918714997527550808942570691965000397261953416132600969287579857898045682942399012562342157256154844001087181488522529045604168882663936197631505790801538725964790496089405652171461895820103399018295315894111749833781059061110123549095309629359938045179004899959395505132463873519867567580538821863179265108680173752759743397811709232463402060820482743451609417489851448873378127844404993537048910709855585235077485104879911293664903673963113216898698062480941723379799935261505626181767307862487787078241734256969507624158879539733924514472558565667952789551528535126952926886679554466336341579170938543709513800721731299029116324709945793380119873754600803341524588848304952480694447911495770869224704132333600156203896604397997232075134221741384832259234579427392173908266338280360987614001429351383330567823641021589916062914472434901766992888823604891583490463642600476954456733711520840585733515328703400911344697114893272861174461557458003362045354904691952727624960930773360177592894778418290139174725977479588708256118793576874784296160996118220923815969377766590828751826686053014612685765767112878147273128308937435414170889408285085662413007047567466766050280627221852622773659137791644085778549822488581941917989798436647744587453790397072949411032337354747814905756244015077095267802410306891477838462232908758575740573282618978351714628506432516924801467803808886187597194368101845399966712356953967221966868169130650736286932455617573414665543221031693816727219707043862097698429464907953014781034885078121504523430016932096959282238776948693449130848038658111487923557506713466171249762562901183684791684990000061153889502366487026295655422470452531324131262078430620197781126625417353512437246396939910102017853408858359223532356172675203652365121913052438997473994698997842990105277741792387312474846578649042479531143515762591070522646775784496153765461659479057513533354020996810717701555285415301491026411817027872051147974653241038500521911603288552820490892214946966342853238268526045829787914216821182513194635473853585802939999073399318996670666061283587639221472753649259426761121385586142540531587498109637626762446024585503321157519666134046053463711040460929014018431157164474213251388150413471343342649486019191262376860106215427454477247918434866397294733780568606443099395502080017361022753755530830537413389059196216864521917019526679843503527787895884577363215092331705551219681230764456096842621699629196861728979810770137080413645230885082119661298703630334817562121381319953411431412091083162041309368558870507991924589327056527669309221221574832947706961804993815845526982103558597347604886745428362681690325564003517592071582822047823824321776106754496722955939578887209053971805867708649510206574374839040359910393619201049996770910372040412082602269510734476805581784538372327726741792844101183235706730523331169525491742638181188505552545794138649937019280518175232043948471014678183348091671128508006097745001815061897655272759252990789787550372065339717535190088884155904146305025008726265100439644367648327888448831371473737325879303845411227651054106678556268680723833012334285484031651563386677315438798810745903285099933190586714828199248120101348305535882893668751804066108475095424009512735619245831581898483801904501538696611584016023137553651982371935797262342844659119781508127483102683819408540510569832572563011214353955366663908325771493455471293267436458375822061154563890316694200203847373644351790393143499431696121510372664943362429950406651 2624333758831420156471104817228583127178245570552763455376251937000436793905242550318315697258398138740890339406811872998304234871781727203718739575988296963203275343127025917762064779166534803001162166784849119995291738297939308275611980804676862326953332526963374412419587220589520617697475769266611924215303354377824600478181093432610864073419774997234208906185817988078977719497751603433477453219908960194828694301932516829011361609193916908545135795604161999850785520406080410479704056226234375861783786437251640418948388738746626895622773832538279140570992870231506259770655316599052073543912458788817212668175986949263288394191335752696039920734728356370208898160978659137906689550196844406679786589163313813819633967981350901893985629771886671605986661798465053385130624454841240952541558722710667594380963321673627293326283911029099450352142113042510293903164421912350918983312643385159915764074133952182150383906540727491935933141914298584857044220540995383467309660983585669982289993694392773504112966301892001642159262368132441633200310956000590197471706817117025477019855254332681041053349727301198248000449806362064935268281680860017449891577798538988901363964429060993121261775660020951971613925187530954225475601409010444124807543990165487602738775944517299757450574738714300411351655910231454437072317624359190186586083692534996368663674849208366191989885722812691328490346989116646738689089220046736774911929539889259930376581417926992887491018000796942889459156958977905728318458469743269060454076792996416099537577709035778074177069188808198665306730758493364589376794954828394405114480946263113980483593337332094700542832342963217520347442431221183891344744495749822132466311964523589169601580320933141594809024326374917102577788543591135982819490216771708759179934721760658501746569779314267444311203287876874985281619495252971869597014749353383282228516029278774962810739665585301086816730651211202992788864409939243312670375844407368842065070492571415690368675841023734319485309923408786725376648140050389420451578056536724482151136029966348873513936451227196774206593023651747167994904879377655826365679997474751772437358060792225435423955130852880741129225067023642257567419993537496133245645993085850574317273221613393171346353185269117504096354769939811710474634291070288540832219736286543977881497991760933060232779625814545966569904074988382673283369937846470053019267027289264176073361167046292588695329030858564122296415639305325835061105306855159397826741897929075846444573198342359181238007490486587554652957731600325223996713401678516272511424638594283978991184943869221869394465442036375731408538250700393086801095093549974510649562006555323989364133397874068593265873634030546543222732054468297556689596947356065101373373836904873544048275734491813900394539407319415299467511859159056577604115853515890546731215818709917042144073029805373617175984750731669937313213691101433210222532111868877296795095243103482181912978737467914294748240629331609753190289996414268452190354022627625437042900618363257443032123487531229145230806984267294170418970408792687878696435817973072685014587616643984450920683590742302671681093931283382896965960056561187577395052986794948020273642894653111000335558047177590684961103821693806192136562679450487917931945721799524897076332250428493644398307876856515004731070794487239856656518306471695203462428549266812194263088405134929644668735755869304797521836895452166889320733241345034800217163350475019025999022495346966937223090284139014047030570173570677323451903537368203692671325059094873362340498 4246261219613007341195586346085607073550616223622837888762178019696355508902770101127258267950363139138152292822944473967591814729679772886661138588550639120459430187128113099250587308212138971883826102982480625786093277023904098771701386456848324222773435925981669728313698970423301676758585892815707233844663292423003605378140488937743327946939642564814747728048997253187657893250511346831289162452372362255649177045384126246501213058067295036389540789141210910560641105641157895584583967519899279535746899654150338481429330462126426830884279458720046448433480657309747994027624824223210953083646383303289771233843939738814816929318288679582719475201064697949379836704688172938628420849225960731389732382543433687574234771322875490742290582252581119517482432667689757517464224611045137556939555954785801816122348153932861872753676084937365788632503100656511723254547752480174560004902559448074388198975900945070973988798124217955578533618868755318568565061126728898796013061894930367097183266555567235061570969663937356546851215095757402563973671133593484975889996956291751454499443962588799834630224511597359244118670730178034313034872509611844135944592411224754668476842576334121430199211074191841379899010849943961273043068175060724752029396612939146740530420030295849579939156680632290209788303654818908227469390573770222523940831507440752612678751944476168602296777200651153561399105564857220021308067571761365281344446464690727734185467605524187255592863400763655246413124180944773897449109206030201516071650207661959320569271525762997781220931286506628130214683773274399474454916459351824422046577905545352757432286786462942739200943830886775027060908602470946454245928180541507122466373118413091536088606616588564065261555650506179181008408741372262608236843729208955156119844823778511910604929002846623616986406940241996898334058492726966568594857739458661024020903341753621541459782145116444602579321721733849768573360563704704972149433357940722863061881210272970975783977332050146136513181974556761378617686640572301023740130877027616697098102372819587142039982281015110991027775536846382641848490682317654899764998994145417833720945700013698189073214557614002126715367607555229755677057620299942157831149314243370240451319275077104211807282199287548661260828983191199860888105634412938026851410998663404084096925446238180978667646023109279747138510518087778175363387298869223808550097564702653235269578031568209608222008874362091910192300216668540927392810858074840628591197994771697546073770060071338992008144570900232785538039851261623927627048219240637653831378050025696070074346985178590428264973433960965058465065920009614308375928041256936315643377852082306092922730745478955338694236315720872107226249646539880378737420771677841208127870559860813122935484788463619768103188917525989674306552219069450196805165850286800918771627901312186552878549835387158155548312477473462781414396926808163733553701637360619934976283748656027976051628674487194812923472673280080767868473344505939580698360120372627252104798273636016696022913275081601210570524519457383054574874555097712887422700918412717052662915505092815822394420916621606517092321582337489575522228737285020589729338470826599583660320210091909811081461332277523875547818649893054312237910984986370811600697525865633372171756259941229263644139458754998806635572333183851440672541444025347185834364346529155038922208186643057127771419575277845308091669468015178103674688608008943125988656805946312293435480871169028091786980600833214250877943817922467716595402969064325203043990002457303312747149 6870594978444427497666691163314190200728861794175601344138429956696792302808012651445573965208761277879042632229756346965896049601461500090379878164538936083662705530255139017012652087378673774884988269767329745781385015321843407047313367261525186549726768452945044140733286191012822294456061662082319158059966646800828205856321582370354192020359417562048956634234815241266635612748262950264766615672281322450477871347316643075512574667261211944934676584745372910411426626047238306064288023746133655397530686091401978900377719200873053726507053291258325589004473527541254253798280140822263026627558842092106983902019926688078105323509624432278759395935793054319588734865666832076535110399422805138069518971706747501393868739304226392636276212024467791123469094466154810902594849065886378509481114677496469410503311475606489166079959995966465238984645213699022017157712174392525478988215202833234303963050034897253124372704664945447514466760783053903425609281667724282263322722878516037079473260249960008565683935965829358189010477463889844197173982089594075173361703773408776931519299216921480875683574238898557492119120536540099248303154190471861585836170209763743569840807005395114551460986734212793351512936037474915498518669584071168876836940603104634343269195974813149337389731419346590621139959565050362664541708198129412710526915199975748981342426793684534794286662923463844889889452553973866759997156791808102056256376004579987664562049023451180143083881401560598135872281139922679625767567675773470576525727000658375420106849234798775855398000475314826795521414531767764063831711414180218827161058851808466737915880123795037439743776173849992547408351033692130345590672676291329254932685082936680705690186937521705660070579976881096283586197284963398591056333945980663915299779545539170412351498782160891061297610228118871883615677987979938438191872488812044306249419371032396504270521810701745689396052372945052761362224973643948284819809202348091705126951702844386666152653173073880455998491897965548103994334780622690444191708933564341179249238402785936015553918732242307765234368560498129809843395561695310726130678991620169606158303760805923624497169688466882867844592674578872013244477613837438291076795307329220814768592496690497383153635384556666165357183753131011571362739925483226567683630734949948061978423437999114038900425648923825713708414593076160848646757236715693861569364591991917411342939198614502196917337905220656032488715855973866762453916164930000026417939892700773392518343258413698173246152061386820340190997582861949151623761620919153926342802688619980049065531929047812297659438875997340789873604170710007395177023134806910826292939858637630082286864143353023931960109949751418650448981701008177935427017719033906309501244396765686666983760522955433668497728324845404973774064078228506774409281703802691465502843720022103595022622865192531772724297228205132718727610617909596943776233749229497231771378991759510157964607411955109107671713302611690521058763340920208032888714143000252689147698891999274139055036762612830355801331503724677224993844963890400766119136736385789737677503121736800273315104507363909188773415513620872472488188793846208167124391457621547603933963104745020811417019379455114560508922471586860504374473664436858729532643247665158269248088510369722908042447335611513811366643127671091297329059750497042389296792895795967233185296591777986772440155331147150105613506363467344992995421849353977926205820156421331319434503366515995029010070884972228297908513991493145040047306506432528895715315061552176675087647 11116856198057434838862277509399797274279478017798439232900607976393147811710782752572832233159124417017194925052700820933487864331141272977041016753089575204122135717383252116263239395590812746768814372749810371567478292345747505819014753718373510772500204378926713869046985161436123971214647554898026391904629939223831811234462071308097519967299060126863704362283812494454293505998774297096055778124653684706127048392700769322013787725328506981324217373886583820972067731688396201648871991266032934933277585745552317381807049662999480557391332749978372037437954184851002247825904965045473979711205225395396755135863866426892922252827913111861478871136857752268968571570355005015163531248648765869459251354250181188968103510627101883378566794277048910640951527133844568420059073676931516066420670632282271226625659629539351038833636080903831027617148314355533740412259926872700038993117762281308692162025935842324098361502789163403093000379651809221994174342794453181059335784773446404176656526805527243627254905629766714735861692559647246761147653223187560149251700729700528386018743179510280710313798750495916736237791266718133561338026700083705721780762620988498238317649581729235981660197808404634731411946887418876771561737759131893628866337216043781083799616005108998917328888099978880830928263219869270892011098771899635234467746707416501594021178738160703396583440124114998451288558118831086781305224363569467337600822469270715398747516628975367398676744802324253382285405320867453523216676881803672092597377208320334740676120760561773636618931761821454925736098305042163538286627873532043249207636757353819495348166910257980178944720004736767574469259636163076799836600856832836377399058201349772241778793554110269725332135627387275464594606026335661199293177675189619071419624369317682322956427785007514678284017168360868781949736480706905006786730228270705330270322712786018045730303955818190291975374094678902529935585537348653256969242560288814568188832913117357641936630505124026592511673872522309482612021421194991467931839810591957876347340775605523157593901013257418756262144097344512451691886244012965625895677985765587439879249460819621813570384246080884994559960282134101768921535234137380448907944621572591055219911771767601594960917583844214826618012736322211432250845559896164594535041733613352146075348884237295017568071672033105460846925111163939024010144535584917670119462156694570646612517230182711805139346779582747942681016072642407689846727023004840655009137887472470938592113318485037165254296632287053125729037434123573079250809840159791580174180738645676119139878914226402725924412309958305848338670090719621703552951176063847141936317710719936175209594888831979270654346265472290757675231347548058314164438490711747517629114956626499789919245311419053436600917242371394648080616297297956971214447554089492384274471621334290147901172700579689928272609705678595500142007544717760677329935386590117166747662740415538134016236086442303920595185975891771288927236685426147613587074263372879941252497165635290835077950037694431566371856023182060279568719518988113653541837654798506790340418626829616095709525423985515705865737095958362048010417531131228756853729928448147187594283314836930622498480711732638436056741121479914816612384649423229541133340773530791641419844770310952171686586794366512618002215460854942738001601194522389575131157242325122272107504778421043900211574906424995413705175831482523096670110457362921052194476962367643612869984237685023120797051485805442548786457809415612756642709475496854098759305064009479987834796 17987451176501862336528968672713987475008339811974040577039037933089940114518795404018406198367885694896237557282457167899383913932602773067420894917628511287784841247638391133275891482969486521653802642517140117348863307667590912866328120979898697322226972831871758009780271352448946265670709216980345549964596586024660017090783653678451711987658477688912660996518627735720929118747037247360822393796935007156604919740017412397526362392589718926258893958631956731383494357735634507713160015012166590330808271836954296282184768863872534283898386041236697626442427712392256501624185105867737006338764067487503739037883793114971027576337537544140238267072650806588557306436021837091698641648071571007528770325956928690361972249931328276014843006301516701764420621599999379322653922742817894575901785309778740637128971105145840204913596076870296266601793528054555757569972101265225517981332965114542996125075970739577222734207454108850607467140434863125419783624462177463322658507651962441256129787055487252192938841595596072924872170023537090958321635312781635322613404503109305317538042396431761585997372989394474228356911803258232809641180890555567307616932830752241808158456587124350533121184542617428082924882924893792270080407343203062505703277819148415427068811979922148254718619519325471452068222784919633556552806970029047944994661907392250575363605531845238190870103047578843341178010672804953541302381155377569393857198473850703063309565652426547541760626203884851518157686460790133148984244557577142669123104208978710160782969995360549492016932237136281721257512836809927602118339287712262076368695609162286233264047034053017618688496178586760121877610669855207145427273533124165632331743284286452947468980491631975385402715604268371748180803311299059790349511621170282986719403914856852735307926567168405739581627396479740665565414468686843444978602717082749636519742083818414550000825766519935981371426467623955291297810510992601541789051762636906273315784615961744308089283678197907048510165770487857586606356201817681912123548744156299055596579178391459173147819745499726521496512657842642261535281805708276352026356977385757046037553221625545438067553934547767862404552956712973782166012847974818739984739928901811869988504268458098978114552968400880991975196489453223003613585485379391162218672468563300208053772322236409056468497320956931174555339704240099872656901772300611531688826748686488057955456428797214002056684684803403975169731928616274452300643187934840681427077780173244331110456576898735338500448693673873465920035016985522230874571461078945506516983427265656168205410843274215023583851185955646638212274261429629098729974310870757968229257569357566257496459032185003202614456215223709408124213048556236249591456209745653827130359353392186456903005834374487105098645567216799621854680375526463745623729257892183849777315341356393742923795565772221700996906933883728218869618162627357621106169135819614398519041732175048291980843498397413028266899278503461809986000026346355646475788406373132630400196057634564974132986800307261922173187526906737504562564482878514419660974391184296528017921748566416369024629931349424894639152609579234520498606324977436923978121386069694791528246419581951433915500091187752996565663593066775320986858313860088270665984021195949910667933280680675079729034129978026429368858588526034035330660945019431964427950138121089505292801370199030672651730237572145519318682194949868089665532306716898978400297118788974932304487604201018149807122370777670846694971800908757796690015981929382994474620125561656662922443 29104307374559297175391246182113784749287817829772479809939645909483087926229578156591238431527010111913432482335157988832871778263744046044461911670718086491906976965021643249539130878560299268422617015266950488916341600013338418685342874698272208094727177210798471878827256513885070236885356771878371941869226525248491828325245724986549231954957537815776365358802440230175222624745811544456878171921588691862731968132718181719540150117918225907583111332518540552355562089424030709362032006278199525264085857582506613663991818526872014841289718791215069663880381897243258749450090070913210986049969292882900494173747659541863949829165450656001717138209508558857525878006376842106862172896720336876988021680207109879330075760558430159393409800578565612405372148733843947742712996419749410642322455942061011863754630734685191243747232157774127294218941842410089497982232028137925556974450727395851688287101906581901321095710243272253700467520086672347413957967256630644381994292425408845432786313861014495820193747225362787660733862583184337719469288535969195471865105232809833703556785575942042296311171739890390964594703069976366370979207590639273029397695451740740046476106168853586514781382351022062814336829812312669041642145102334956134569615035192196510868427985031147172047507619304352282996486004788904448563905741928683179462408614808752169384784270005941587453543171693841792466568791636040322607605518947036731458020943121418462057082281401914940437371006209104900443091781657586672200921439380814761720481417299044901459090755922323128635863998957736646993611141852091140404967161244305325576332366516105728612213944310997797633216183323527696346870306018283945263874389957002009730801485636225189247774045742245110734851231655647212775409337634720989642689296359902058139028284174535058264354352175920417865644564840609447515150949393748451765332945353454966790064796604432595731129722338126273346800562302857821233396048341254798758294322925720841504617529079101950025914183321933641021839643010167069218377623012673380055388554748256931943919953996982330741720758757145277758656755187154713227168049721241977922034963151344485916802682445167251637938180628652856964513238847075551087548082112199188892684550474402925208416040225700573075470552245095818593209225775434435864431045275555756753714202176652354129121206473704074036568992990036635402264815404038896667046307885529201808288905381058704567973658979925807196031464386151917850748001258682142147370210939681336436215667645715269702569895383772503754745325960926591649072451109095310125381301238737086691164165911332287345289757500617749508263495913952486550944352149250802282925486934605110165575280077502432706053921016982473268802480696000165799444396104294563755894700457401344759474310018686246822251145793540541699562809588194269935296672824420716838176811981676234051786962690683890824968266351911629269516639562323719011625707345118298436104522409731565266704472590586425997079584839716948862085254395233098913236711772503260062862669746012571652693223269855809210936838001693488545043550088797784131284001866628073202812045982803318358340375396032464734155355334940600504889705537596568509023856108665680831851314517841979122529734418882056413980802920391432622404714546690137599242963283317811799324794726741552087778050991627251415620924344539047371074049380976773332262139541821539559107380446211777400306148620074572863305143997140933023858026432391186335642764079820030594774081156618545174471841886041270604173856583113395481429610324370553332725457426237093233925189571136650757239 47091758551061159511920214854827772224296157641746520386978683842573028040748373560609644629894895806809670039617615156732255692196346819111882806588346597779691818212660034382815022361529785790076419657784090606265204907680929331551670995678170905416954150042670229888607527866334016502556065988858717491833823111273151845416029378665000943942616015504689026355321067965896151743492848791817700565718523699019336887872735594117066512510507944833842005291150497283739056447159665217075192021290366115594894129419460909946176587390744549125188104832451767290322809609635515251074275176780947992388733360370404233211631452656834977405502988200141955405282159365446083184442398679198560814544791907884516792006164038569692048010489758435408252806880082314169792770333843327065366919162567305218224241251839752500883601839831031448660828234644423560820735370464645255552204129403151074955783692510394684412177877321478543829917697381104307934660521535472833741591718808107704652800077371286688916100916501748013132588820958860585606032606721428677790923848750830794478509735919139021094827972373803882308544729284865192951614873234599180620388481194840337014628282492981854634562755977937047902566893639490897261712737206461311722552445538018640272892854340611937937239964953295426766127138629823735064708789708538005116712711957731124457070522201002744748389801851179778323646219272685133644579464440993863909986674324606125315219416972121525366647933828462482197997210093956418600778242447719821185165996957957430843585626277755062242060751282872620652796236094018368251123978662018742523306448956567401945027975678391961876260978364015416321712361910287818224480975873491090691147923081167642062544769922678136716754537374220496137566835924018960956212648933780779992200917530185044858432199031387793572280919344326157447271961320350113080565418080591896743935662436204603309806880422847145731955488858062254718227029926813112531206559333856340547346085562627114820402145040846258115197861519840689532005413498024655824733824830355292178937298904555987540499132388441503889540504256871799255169413029796974762449855429518329948391940537101531954355904070712689705492115176420719369066195560049333253560930087017928877424479376214795196920308683799551190023520645976810568405715228657439478016530654946918972386670739952562182893528710113130505066313946967809957604519644138769323948080186140733497115654067546762523430087777139809252716149189555893020479929874956594448013398874522017863293447818959600813026472282507842255194019634800057569107468094617540999952762317682593208147593176988455550700600774832773092114681869599124763218613578879901012899797805363078394832849435068690202512953201985675883258695919709573923657444660530813347350910203055171889833663410872703725256980168027646798208376804993891789977048350884462461906069873860083829102304047077633748763832124133330266423573446051937881243869972475919542273658229345963785746204765634717977923083237129977128984532898694908899236738118858906538651076119145202052889280904420783343923638308955410718231076995535288693848484745142492863786437167099846376262123962448833758785286684365495144042315116831089007630181086102604809972700587536770650776154000833490329480894108144429188068307613465458586101277143406082465308815922691462755711331672302331144655054322565476739932637907010808662923084561253503987057518567301282693107518819105245515035381569286452342540221382259276001175070796719008995071199945593477478959446087059420411296227360784242176401411233128350022741439355620087708545315132793313679682 76196065925620456687311461036941556973583975471519000196918329752056115966977951717200883061421905918723102521952773145565127470460090865156344718259064684271598795177681677632354153240090085058499036673051041095181546507694267750237013870376443113511681327253468701767434784380219086739441422760737089433703049636521643673741275103651550175897573553320465391714123508196071374368238660336274578737640112390882068856005453775836606662628426170741425116623669037836094618536583695926437224027568565640858979987001967523610168405917616563966477823623666836954203191506878774000524365247694158978438702653253304727385379112198698927234668438856143672543491667924303609062448775521305422987441512244761504813686371148449022123771048188594801662607458647926575164919067687274808079915582316715860546697193900764364638232574516222692408060392418550855039677212874734753534436157541076631930234419906246372699279783903379864925627940653358008402180608207820247699558975438752086647092502780132121702414777516243833326336046321648246339895189905766397260212384720026266343614968728972724651613548315846178619716469175256157546317943210965551599596071834113366412323734233721901110668924831523562683949244661553711598542549519130353364697547872974774842507889532808448805667949984442598813634757934176018061194794497442453680618453886414303919479137009754914133174071857121365777189390966526926111148256077034186517592193271642856773240360093539987423730215230377422635368216303061319043870024105306493386087436338772192564067043576799963701151507205195749288660235051755015244735120514109882928273610200872727521360342194497690488474922675013213954928545233815514571351281891775035955022313038169651793346255558903325964528583116465606872418067579666173731621986568501769634890213890087102997460483205922851836635271520246575312916526160959560595716367474340348509268607789659570099871677027279741463085211196188528065027592229670933764602607675111139305640408488347956325019674119948208141112044841774330553845056508191725043111447843028672234325853652812919484419086385423834631261263014017077013826168216951687989617905150760307870426903688446017871158586515879941343430295805073576333579434407124884341109012199217117770109029850617720405336348909500124265494072891072629161614941004091875342447575930502675726100872916604916312014735183817204541635306937004445359869335048177665990994388071669935305404559448605467091403746757065616448747613575707810871227931133638736595383609814203354299509115464674870515596367666280346009939345595726649218179919203712851125334063556419679899311759088320742895990358275450522600378177783551611314162965728130703295825284739968188560408129512571122908566874218968149152061176615709739723101840764825377103245610660456516649307973429558950547508125961568188497771186393188161725273721175305179300082881855536317880889266737761524573732098476044959535940213008375656892869577317594217978378180639077529052450677356221143975002668076846925991069787293928007812473449891362166601513745865157773705582504174276592554860476310648899263274627084333072825132486611770566066598483149903164734602499358481298492940642019306095648932020654427657516654037194768285641824015105378749773305888419715546743461697028535861810473022160155596185344240426723894264633610649433014843489382663929582560275978667104524111006687287987581995185224103075043546164899013513060093413667439179818378340525566427385366398247814650462336817834876539039589845281102212022653431287973100691015470083943897637657831021557498903355466896781857180942470504703929964436921 123287824476681616199231675891769329197880133113265520583897013594629144007726325277810527691316801725532772561570388302297383162656437684268227524847411282051290613390341712015169175601619870848575456330835131701446751415375197081788684866054614018928635477296138931656042312246553103241997488749595806925536872747794795519157304482316551119840189568825154418069444576161967526111731509128092279303358636089901405743878189369953673175138934115575267121914819535119833674983743361143512416048858931756453874116421428433556344993308361113091665928456118604244526001116514289251598640424475106970827436013623708960597010564855533904640171427056285627948773827289749692246891174200503983801986304152646021605692535187018714171781537947030209915414338730240744957689401530601873446834744884021078770938445740516865521834414347254141068888627062974415860412583339380009086640286944227706886018112416641057111457661224858408755545638034462316336841129743293081441150694246859791299892580151418810618515694017991846458924867280508831945927796627195075051136233470857060822124704648111745746441520689650060928261198460121350497932816445564732219984553028953703426952016726703755745231680809460610586516138301044608860255286725591665087249993410993415115400743873420386742907914937738025579761896563999753125903584205980458797331165844145428376549659210757658881563873708301144100835610239212059755727720518028050427578867596248982088459777065661512790378149058839904833365426397017737644648266553026314571253433296729623407652669854555025943212258488068369941456471145773383495859099176128625451580059157440129466388317872889652364735901039028630276640907144103332795832257765266126646170236119337293855891025481581462681283120490686103009984903503685134687834635502282549627091131420272147855892682237310645408916190864572732760188487481309673676281785554932245253204270225864173409678557450126887195040700054250782783254622156484046295809167008967479852986494050975071145421819160794466256309906361615020085850470006216380867845272673383964413263152557368907024918218773865338520801767270888876268995581246748662752067760580278637818818844225547549825514490586592631048922410981494295702645629967174217594669942286235046647533509226832515602256657593299675455517593537049439730020656232749314820464106585449594698487543656557478494908263893930335046701620883972255317473854692316435314942468257810668802520213516152229614833834534205425701463762765263703891707861008595331043397008688725372162802563283634471328622839948788188265133365230526706787287387298330392125286825874102273107459352265309198446690959050283295692492859653150736077381579307010604308725082545331266955240978947639813111079827420953825035319872535419313646759285425356190450596520863511688539141636840431654272765106129595835295979563198182053515250769526189641761988951729396401709991570784839158322495930600178289802363786454427594774113447290070137520651838868423492838196882121855861952925751313976903120054320192622916711710188010221073140164821984302975758471785078697375898784114619604309981505704079868361518980971356913058930384920317003011110864623320930132251725928703671590792974335771258746524284218280870890451796715692915520424082042420549037072942591136680290998541329773621054771445517570129976729942426572124477599200714336231913704931032989670000850939325194998390658108308664328547533222417580814342786521186258285063893375907135713837708938469196909738337992905673258048584916481047805500132390734060160111426766311304681879834232432790627253378208336137477268651015819836723278116603 199483890402302072886543136928710886171464108584784520780815343346685259974704276995011410752738707644255875083523161447862510633116528549424572243106475966322889408568023389647523328841709955907074493003886172796628297923069464832025698736431057132440316804549607633423477096626772189981438911510332896359239922384316439192898579585968101295737763122145619809783568084358038900479970169464366858040998748480783474599883643145790279837767360286316692238538488572955928293520327057069949640076427497397312854103423395957166513399225977677058143752079785441198729192623393063252123005672169265949266138666877013687982389677054232831874839865912429300492265495214053301309339949721809406789427816397407526419378906335467736295552586135625011578021797378167320122608469217876681526750327200736939317635639641281230160066988863476833476949019481525270900089796214114762621076444485304338816252532322887429810737445128238273681173578687820324739021737951113329140709669685611877946985082931550932320930471534235679785260913602157078285822986532961472311348618190883327165739673377084470398055069005496239547977667635377508044250759656530283819580624863067069839275750960425656855900605640984173270465382962598320458797836244722018451947541283968189957908633406228835548575864922180624393396654498175771187098378703422912477949619730559732296028796220512573014737945565422509878025001205738985866875976595062236945171060867891838861700137159201500214108364289217327468733642700079056688518290658332807957340869635501815971719713431354989644363765693264119230116706197528398740594219690238508379853669358312856987748660067387342853210823714041844231569452377918847367183539657041162601192549157506945649237281040484788645811703607151709882402971083351308419456622070784319261981345310359250853353165443233497245551462384819308073105013642269234271998153029272593762472878015523743509550234477406628658125911250439310848282214386154980060411774684078619158626902539323027470441493280742674397421951203389350639695526514408105910956720516412636647589006210181826509337305159289173152063030284905953282821749463700350741685665731038945689245747913993567696673077102472572392352706786567872036225064374299101935778954485452164417642539077450236007593006502799799721011666428122068891635597236841190162911682515952270424588416573162394806922999077747539588336927820976700677343189740494101305936856329480604107924772964757696706237581291271042150211376340971514762935792142234067638780618502928726462311678748309341844219207615068534275072710826253356005467306502043243250620889430521953006771111353629941342681317325733818292871037436702347391544545035141307604550367285299455515649108460210936019646701639921974187381049151129053369861126190181567553842131523968205188449610269990604820273232091164023793750749591370215240524490701494821062071833584932719590880837522600682896228029076223249338303999462803251666983024607664355499030019507501021890647559478077005927928419390823829111124107486550924524183637901583239741678567849460749464054289252973968453644590930253209244780331164201434344113457968683624996983403466906175845467122679411430744666570722977686441906356425686404040938255475639176093620730798294270197387930840264583816404288165216152809014351933776650956789757996853870994576037221557492442690097000161496265207011656774524961946012482985972653293532767403591079387316594327402879934853697464882271716432702141223075336717011560200674810740549797088174761762150017522785822022033260802442236395248579517492063454348126156733675232919334449593486324540653242553524 322771714878983689085774812820480215369344241698050041364712356941314403982430602272821938444055509369788647645093549750159893795772966233692799767953887248374180021958365101662692504443329826755649949334721304498075049338444661913814383602485671151368952281845746565079519408873325293223436400259928703284776795132111234712055884068284652415577952690970774227853012660520006426591701678592459137344357384570684880343761832515743953012906294401891959360453308108075761968504070418213462056125286429153766728219844824390722858392534338790149809680535904045443255193739907352503721646096644372920093574680500722648579400241909766736515011292968714928441039322503802993556231123922313390591414120550053548025071441522486450467334124082655221493436136108408065080297870748478554973585072084758018088574085381798095681901403210730974545837646544499686760502379553494771707716731429532045702270644739528486922195106353096682436719216722282641075862867694406410581860363932471669246877663082969742939446165552227526244185780882665910231750783160156547362484851661740387987864378025196216144496589695146300476238866095498858542183576102095016039565177892020773266227767687129412601132286450444783856981521263642929319053122970313683539197534694961605073309377279649222291483779859918649973158551062175524313001962909403371275280785574705160672578455431270231896301819273723653978860611444951045622603697113090287372749928464140820950159914224863013004486513348057232302099069097096794333166557211359122528594302932231439379372383285910015587576024181332489171573177343301782236453318866367133831433728515752986454136977940276995217946724753070474508210359522022180163015797422307289247362785276844239505128306522066251327094824097837812892387874587036443107291257573066868889072476730631398709245847680544142654467653249392040833293501123578907948279938584204839015677148241387916919228791927533515853166611304690093631536836542639026356220941693046099011613396590298098615863312441537140653731857565004370725545996520624486778801993189796601060852158767550733534255523933154511672864797555794829551817330710449013493753426311317583508064592139541117522187567689065203441275117768062167738870694341473319530448896771687211065176048304282751609849664096099475176529259965171508621656253469590504983375789101401865123075960229719873301831262971677874635038548704948955994817044432810536620879324587291272910444986480909926321071415825476467851675139106235218654643653150829398682177627191654098625114242031943813172842047563856722540206076056780062792754693800373635375907715304624226114230463618939139789372276376017113985363897089853083468926124342151911913275449830630722470890087407850749130726529060875799222700921686548367016620411615537758004438652387479893727591247110422259093038338220759859089730312789552268755775260227684462824060785314329121300872408307439841218723959676401539140667785917230846441096471897734493019681858375924514728844441599932867880854170704800732231178427679173841235893825911804312881843389833763725222526074331671344352428705549857519226286035244069795863094429325596683927368323783909186956331746000341562996392499426649277234880692196945150565222473756510066545417446491209790621469973260813620889346879301896443807555681707397705728235275566983847724518463793681970041890811336393409970138044646444525812885337677984363311401841431732138612609734175141745666456039955749946165092339837855060784275186208469939012803646223055136759678243197823022918212756093420913869002706553261397326295887138753410111883569056811718244502144377376520670127 522255605281285761972317949749191101540808350282834562145527700287999663957134879267833349196794217014044522728616711198022404428889494783117372011060363214697069430526388491310215833285039782662724442338607477294703347261514126745840082338916728283809269086395354198502996505500097483204875311770261599644016717516427673904954463654252753711315715813116394037636580744878045327071671848056825995385356133051468354943645475661534232850673654688208651598991796681031690262024397475283411696201713926551079582323268220347889371791760316467207953432615689486641984386363300415755844651768813638869359713347377736336561789918963999568389851158881144228933304817717856294865571073644122797380841936947461074444450347857954186762886710218280233071457933486575385202906339966355236500335399285494957406209725023079325841968392074207808022786666026024957660592175767609534328793175914836384518523177062415916732932551481334956117892795410102965814884605645519739722570033618083547193862746014520675260376637086463206029446694484822988517573769693118019673833469852623715153604051402280686542551658700642540024216533730876366586434335758625299859145802755087843105503518647555069457032892091428957127446904226241249777850959215035701991145075978929795031218010685878057840059644782099274366555205560351295500100341612826283753230405305264892968607251651782804911039764839146163856885612650690031489479673708152524317920989332032659811860051384064513218594877637274559770832711797175851021684847869691930485935172567733255351092096717265005231939789874596608401689883540830180977047538556605642211287397874065843441885638007664338071157548467112318739779811899941027530199337079348451848555334434351185154365587562551039972906527704989522774790845670387751526747879643851188151053822040990649562599013123777639900019115634211348906398514765848142220278091613477432778150026256911660428779026404940144511292522555129404479819050928794006416632716377124718170240299129621126086304805722279815051153808768393721365241523035032592689758713706209237708441164977732560043592829092443684824927827840700782834639080174149364235439092042356529197310340053534685218860644791537775833627824554630039775095758715772421466227851257139375482818587381732987617442670598899274897540926393293577513291850706431695146287471617354135547664376802882268108754262049425414223375476525925656672160234173304637926816180916771877018369759445667623027308997116747510001886515447206733417579445293063466320958245694582825087425920780253155017061255178925256815278786883033418798222000302416878626528604735146179121001574972569081132053593701750932278234934526555430860470669377293219517825817115930177986539195868061685150373230700797773410081970837677420386481537805719325558280783911448098916040857380412863913311570311923882883481062380922483996299750929179283886132618899261840891753245830040524114951988752624788478971785380034098108079496505398848518711877883425536619492001078009873808782590095624561342302535165724765760077463813387552623521957683224474686580363584645312806073296480110728471066366408271230207207887294280308924351727250815362801798868679752993741059070149626963676787048622631554606160729232149242639038177289504060818857904101078204705751167467112596616570033641174356685025033563837718719094501015239462484580908336554906235345056303219050774831350160970335964695374199135729691997050769469148546390893653214828436808772539996283859611903220030139687614386772852224934440005347840545704034778126681716311239101801840914818359341486879566845558801976146167837988468918029763223651 845027320160269451058092762569671316910152591980884603510240057229314067939565481540655287640849726383833170373710260948182298224662461016810171779014250463071249452484753592972908337728369609418374391673328781792778396599958788659654465941402399435178221368241100763582515914373422776428311712030190302928793512648538908617010347722537406126893668504087168265489593405398051753663373526649285132729713517622153235287407308177278185863579949090100610959445104789107452230528467893496873752327000355704846310543113044738612230184294655257357763113151593532085239580103207768259566297865458011789453288027878458985141190160873766304904862451849859157374344140221659288421802197566436187972256057497514622469521789380440637230220834300935454564894069594983450283204210714833791473920471370252975494783810404877421523869795284938782568624312570524644421094555321104306036509907344368430220793821801944403655127657834431638554612012132385606890747473339926150304430397550555216440740409097490418199822802638690732273632475367488898749324552853274567036318321514364103141468429427476902687048248395788840500455399826375225128617911860720315898710980647108616371731286334684482058165178541873740984428425489884179096904082185349385530342610673891400104527387965527280131543424642017924339713756622526819813102304522229655028511190879970053641185707083053036807341584112869817835746224095641077112083370821242811690670917796173480762019965608927526223081390985331792072931780894272645354851405081051053014529475499964694730464480003175020819515814055929097573263060884131963213500857422972776042721126389818829896022615947941333289104273220182793247990171421963207693215134501655741095918119711195424659493894084617291300001351802827335667178720257424194634039137216918057040126298771622048271844860804321782554486768883603389739692015889427050168558030197682271793827174498299577348007818332473660364459133859819498111355887471433032772853658070170817181853695719919224702168118163816955704885666333398092090787519555657079468560706896005838769293323745283293577848353025598196497792625396495612386456410884598377729192518353674112705374932193075802741048212480602979274902942322692207513966453057245740996676748028826586547994635686015739227292334694998750074070186358465086134948104176022200129663260718756000670740337032602141410585525021103288858414025230874612666977278606115174547695505504063149928814745926577549348380412942223977853561654553441952072223098443892865003135872886236923712540162812196968189903302742781979355484862939813481590976694102790514002436320039770405235232038591508220921425870077768046263598831616408514329396793719445131431101266946560900457429283275912434281099759761673572632782892524225787403101949421257083562719436298927992643632104490835123006349908532683741973211375170474752752075011156863746710193404213590962192625654137480365333675948429026327619639571297264944549175968403133341538393736259350051348336442677942741689636760800425293573480962844898606995971289725191865505365347516988199909106437916316657158502002029968247697352401652341026070302316619876992851720051034724549758130614680094556737451569576276240911667740819576705171383202988659309184455623780713851440327877361891825595098046769009040424125715348572062413260309130821566443612964808921432526471719672948316205483100949663576587716687838954699276097215630867868304606784944610894212846933608964774601901112377851344643887089428500078700418032995907361694118248545663568622247534220102630180241808355102312144655228625632976957442371032957886082490613295406283893778 1367282925441555213030410712318862418450960942263719165655767757517313731896700360808488636837643943397877693102326972146204702653551955799927543790074613677768318883011142084283124171013409392081098834011936259087481743861472915405494548280319127718987490454636454962085512419873520259633187023800451902572810230164966582521964811376790159838209384317203562303126174150276097080735045374706111128115069650673621590231052783838812418714253603778309262558436901470139142492552865368780285448528714282255925892866381265086501601976054971724565716545767283018727223966466508184015410949634271650658813001375256195321702980079837765873294713610731003386307648957939515583287373271210558985353097994444975696913972137238394823993107544519215687636352003081558835486110550681189027974255870655747932900993535427956747365838187359146590591410978596549602081686731088713840365303083259204814739316998864360320388060209315766594672504807542488572705632078985445890027000431168638763634603155112011093460199439725153938303079169852311887266898322546392586710151791366987818295072480829757589229599907096431380524671933557251591715052247619345615757856783402196459477234804982239551515198070633302698111875329716125428874755041400385087521487686652821195135745398651405337971603069424117198706268962182878115313202646135055938781741596185234946609792958734835841718381348952015981692631836746331108601563044529395336008591907128206140573880016992992039441676268622606351843764492691448496376536252950742983500464648067697950081556576720440026051455603930525705974952944424962144190548395979578418254008524263884673337908253955605671360261821687295111987769983321904235223414471581004192944473454145546609813859481647168331272907879507816858441969565927811946160787016860769245191180120812612697834443873928099422454505884517814738646090530655275192388836121811159704571977200755211237776786844737413804875751656414948902591174938400227039189486374447295535352093994849540350788472923886096770756039475101791813456029042590689672158319420602215076477734488723015853621441182118041881322720453237196395221095491058747741964631610396030641902685272246610487959908857272140755108530766877322247289062211773018162462904599285965962030813223067748726844735005293898024971611112751758663648239954882453895275950732336110136218404713835484409519339787070528703081789501756800269339137512779419812474511686420835026947184505372245172375689410058971487855448170000648685489802543736956331324094118580819748799966083592450123206964557921707236170763649822846900389198694405207392628964924774916584356233613564077302053479463779518978541833766142963945189867463096738350948927084062491078443968479143974119431472990462471346042864863361903207789583487226976409121000220210376091559672961871247986919661478844607624856692437551397236748374762086043030596326023112852803084378899967520889448627937181651116098611356677299042657255464908532190057105614142775587967828443755952615498419350896049854915783498010623372756048753538579418128887305200212674595686801500961969964575298510078976168418768060612256277510203914157301776071778285539912559929483359847550478510639725903204588454789442208259777543932220808551823493801070217912259185781462970030300849214236121637040695748989746419098285342694659285162707465824160895011052628009503222440828157252882627362548037999925035240792589830003597996603835714080042759237827262179603038709884917847628503498992648530218388032419768759586628558253893504114326282312346784346491480910156943226963014570112512543803001173009104053920479082213436047117429 2212310245601824664088503474888533735361113534244603769166007814746627799836265842349143924478493669781710863476037233094387000878214416816737715569088864140839568335495895677256032508741779001499473225685265040880260140461431704065149014221721527154165711822877555725668028334246943036061498735830642205501603742813505491138975159099327565965103052821290730568615767555674148834398418901355396260844783168295774825518460092016090604577833552868409873517882006259246594723081333262277159200855714637960772203409494309825113832160349626981923479658918876550812463546569715952274977247499729662448266289403134654306844170240711532178199576062580862543681993098161174871709175468776995173325354051942490319383493926618835461223328378820151142201246072676542285769314761396022819448176342026000908395777345832834168889707982644085373160035291167074246502781286409818146401812990603573244960110820666304724043187867150198233227116819674874179596379552325372040331430828719193980075343564209501511660022242363844670576711645219800786016222875399667153746470112881351921436540910257234491916648155492220221025127333383626816843670159480065931656567764049305075848966091316924033573363249175176439096303755206009607971659123585734473051830297326712595240272786616932618103146494066135123045982718805404935126304950657285593810252787065205000250978665817888878525722933064885799528378060841972185713646415350638147699262824924379621335899982601919565664757659607938143916696273585721141731387658031794036514994123567662644812021056723615046870971417986454803548216005309094107404049253402551194296729650653703503233930869903547004649366094907477905235760154743867442916629606082659934040391573856742034473353375731785622572909231310644194109148286185236140794826154077687302231306419584234746106288734732421205008992653401418128385782546544702242557394152008841976365804375253510815124794663069887465240210790274768400702530825871660071962340032517466352533947690569459575490641042049913726460925141435189905546816562146346751626880127498220915247027812468299147199289535143640077820513078633692007607551901943346119693824128749704754608060204439686290700957069752743734383433709200014454803028664830263903459581347314792548578807858753764466072027339988896775045681299110223749783188059058476095405613993054866136889145050868086550929925312091631991940203526987674882006114791385534987022207191924898176875999251298822721724069823001195465709009824554090637562025642180849196327229991467056672512506246404647091396867860664489215526248512762660381980175388507997906631401244814686989591465652155585522974905333857287024805432597759372459519264256816183482380028351009051978901397762419886553712572750224144918675647755886128995192685436648233492683719656509304084203305066362083109926011387377291366829903812721871989500449773242906777306519427326443765277004554105001254782303885610677443718250927974563987206431433311665531595499350402125639316164886433895357188056111696475148489264460855521979752020043263771283634252652717200874504793239417278627123077300540047223865771169712953282347812520534034294627791829320264462318060098039942107215962209302179445500122530261784964948927135209467861007949424850931763699513658824861855895947261005130677464821464338318481511545651825480851606320430633082327537524347682451538646311258202546203950264725838879734516889805460871466301210620658690936972084760871144377640610997295698973147386082077030297088450452764666948322676502439167682948529846566886976671722718512045539107669798738145520760443544042061940002969695508842331011207 3579593171043379877118914187207396153812074476508322934821775572263941531732966203157632561316137613179588556578364205240591703531766372616665259359163477818607887218507037761539156679755188393580572059697201299967741884322904619470643562502040654873153202277514010687753540754120463295694685759631094108074413972978472073660939970476117725803312437138494292871741941705950245915133464276061507388959852818969396415749512875854903023292087156646719136076318907729385737215634198631057444649384428920216698096275875574911615434136404598706489196204686159569539687513036224136290388197134001313107079290778390849628547150320549298051494289673311865929989642056100690454996548739987554158678452046387466016297466063857230285216435923339366829837598075758101121255425312077211847422432212681748841296770881260790916255546170003231963751446269763623848584468017498531986767116073862778059699427819530665044431248076465964827899621627217362752302011631310817930358431259887832743709946719321512605120221682088998608879790815072112673283121197946059740456621904248339739731613391086992081146248062588651601549799266940878408558722407099411547414424547451501535326200896299163585088561319808479137208179084922135036846414164986119560573317983979533790376018185268337956074749563490252321752251680988283050439507596792341532591994383250439946860771624552724720244104282016901781221009897588303294315209459880033483707854732052585761909779999594911605106433928230544495760460766277169638107923910982537020015458771635360594893577633444055072922427021916980509523168949734056251594597649382129612550738174917588176571839123859152676009627916594773017223530138065771678140044077663664126984865028002288644287212857378953953845817110818461052551117852113048086955613170938456547422486540396847443940732608660520627463498537919232867031873077199977434946230273820001680937781576008722052901581507807301270115962446689717303293705764271887111151826406964761887886041685418999926279113965936010497216964616536981719002845604737036423785199548100435991724762301191315000820730717261681959143233531870888402828647393002093861658455739145735396510745476686296778660865927024884489491964476077336702092090876603282065922485946600758510609621081821513192916762345282794800017292411861982413431428013940929990681564725390976273107549764703570960449265099162160695021993028744475151345252304164954799496718878345733203823183756671067894099759233060166953564457994554739323051828185917805527651324110047876421312472329997097214603832418586196451697012162585507282369374082913205299260366169589603573947699265719662825028384797636806003347266363902336404709131719912921833328955435071543057345366241563860673144045740686616264718512619248032202982268923875209901804719876719680175762978028233331096845672866221898991686596250273269226248824535328949807902845450439296568361383454072522144230931822792328559816862284651863029863686898220197721652604964544901227283993330189847972686475462592525003405047958866145352508068796802350701763139957917413549100480040918240597087652599050126200034189937773565538625322724448191596403863607605804374877989581399789657694472849028082650088577319703993224726471067430276412831443225921149675958699440287831886196796475241252314505517213328064900609830994520140136769027896457243222548576975691954761087139415455428831312812763838804769757682395290875064297814456372770979731322588133323980679320882213546601650885074725560515476482872533426534951234756332671797274812158913671323163203628668988766070684368850658064563444717051165993923448777722278378128636 5791903416645204541207417662095929889173188010752926703987783387010569331569232045506776485794631282961299420054401438334978704409980789433402974928252341959447455554002933438795189188496967395080045285382466340848002024784336323535792576723762182027318914100391566413421569088367406331756184495461736313576017715791977564799915129575445291768415489959785023440357709261624394749531883177416903649804635987265171241267972967870993627869920709515129009594200913988632331938715531893334603850240143558177470299685369884736729266296754225688412675863605036120352151059605940088565365444633730975555345580181525503935391320561260830229693865735892728473671635154261865326705724208764549332003806098329956335680959990476065746439764302159517972038844148434643407024740073473234666870608554707749749692548227093625085145254152647317336911481560930698095087249303908350133168929064466351304659538640196969768474435943616163061126738446892236931898391183636189970689862088607026723785290283531014116780243924452843279456502460291913459299344073345726894203092017129691661168154301344226573062896218080871822574926600324505225402392566579477479070992311500806611175166987616087618661924568983655576304482840128144644818073288571854033625148281306246385616290971885270574177896057556387444798234399793687985565812547449627126402247170315644947111750290370613598769827215081787580749387958430275480028855875230671631407117556976965383245679982196831170771191587838482639677157039862890779839311569014331056530452895203023239705598690167670119793398439903435313071384955043150358998646902784680806847467825571291679805769993762699680658994011502250922459290292809639121056673683746324061025256601859030678760566233110739576418726342129105246660266138298284227750439325016143849653792959981082190047021343392941832472491191320650995417655623744679677503624425828843657303585951262232868026376170877188735356173236964485703996236590143547183114166439482228240419989375988459501769755007985924223677889757972171624549662166883383175412079675598656906971790113659614148020020252405322036963746610504580410436199294945439981352279867895440151118805681125983069361822996777628223875398185277351156895119541433545969382067293915551059188428940575277658988789685271691575062973710972206163214616072999406086087178718445842409996694815571657511379190411253792686962196555732150033351367095550489786518926070270631380699183007969890615823829056061362419273467819108829960613853828098654723978554101514933093824978576401744306000700279250685667223260675348167664349549471421203205891767414404290563539164917875248348003290131494093028152698961661708864228395976729105315708983786080595036246764003983747226856618490910761183394160375134161198174954360523443394488439533228984259966283094595414206771684253599190358516500062995141215749274308571856585209364877765740333638388008177523399013235708403006003535113212626427017070118331531863253248104314947026866600158216623743329874531574289000151894312419721667332260088840066121985397392610634614423605273280335519224210729899590173423899961107486518820973135244982225891031655436926068837196049679439731764910435058330262095588699849965778189675398202639744273839392650772081439658213099112693742092743736246382991970338677666383382121376646345620988375348327090325550086101323374406299733450673657975035263077489677684504274572200751746530599025077031461916703407349004468358319931879509245574798271156802590812564933325298093483273911258771839480223342005480558299834926347181034305178354167588803585323888261093227933926418473231120709139843 9371496587688584418326331849303326042985262487261249638809558959274510863302198248664409047110768896140887976632765643575570407941747162050068234287415819778055342772509971200334345868252155788660617345079667640815743909107240943006436139225802836900472116377905577101175109842487869627450870255092830421650431688770449638460855100051563017571727927098279316312099650967574640664665347453478411038764488806234567657017485843725896651162007866161848145670519821718018069154349730524392048499624572478394168395961245459648344700433158824394901872068291195689891838572642164224855753641767732288662424870959916353563938470881810128281188155409204594403661277210362555781702272948752103490682258144717422351978426054333296031656200225498884801876442224192744528280165385550446514293040767389498590989319108354416001400800322650549300662927830694321943671717321406882119936045138329129364358966459727634812905684020082127889026360074109599684200402814947007901048293348494859467495237002852526721900465606541841888336293275364026132582465271291786634659713921378031400899767692431218654209144280669523424124725867265383633961114973678889026485416858952308146501367883915251203750485888792134713512661925050279681664487453557973594198466265285780175992309157153608530252645621046639766550486080781971036005320144241968658994241553566084893972521914923338319013931497098689361970397856018578774344065335110705115114972289029551145155459981791742775877625516069027135437617806140060417947235479996868076545911666838383834599176323611725192715825461820415822594553904777206610593244552166810419398206000488879856377609117621852356668621928097023939682820430875410799196717761409988188010121629861319323047779090489693530264543452947566299211383990411332314706052495954600397076279500377929633987753952053462459935989729239883862449528700944657112449854699648845338241367527270954920927957678684490005472135683654203007289942354415434294265992846446990128306031061407459428048868973921934720894854374509153343552507771620419599197279223699092898696552414850929148840750969667003996106980142375468813264846687947533843010735607041175547629551157812279848022688923802512713367362661354687858987210418036828035304553240516309569798050022396790851905552030554486375080266122834188576646044086940336076768743443836818683104244580275228471828455510415953381984189584476625184696619399715444586015644948616364584522366764640958509923588289121529372837925813663569283665682014016460251629878211562809515137450906398841520604532697836882118920272837933674946718923554334408505152133583993894137486864183594911173031674929130899031499965325564045268937527696642027149037939221152138093592130245547607900000664231597377448112672994382193401157223284398653296293159409948664435729261122828745303617357119821089350203096313268410441998098843900806393112210328205036901999771462250045543244167531195334563351975497278290046933805229752060974900709279491928093884151546813591302561007036881525155299360378587812684768157636868472687160532568552027972705753321253759821298382498640299623934151045260084359598457969430417487435519044531873212074039260839521422604907907358344745677277169669771414401869270070020686670835876693231115616912539400525628289540211487635306475855890994448282731207640865761125144376223547568772634678299066361060820590089113403866575890253516489274032254596042621594896839533404232896434729937137792338999252761722792176449156231528151328041416197831520018225146015104511277498154164394229622998129975850023071249038536439461649887332978144393927849867250953399087268479 15163400004333788959533749511399255932158450498014176342797342346285080194871430294171185532905400179102187396687167081910549112351727951483471209215668161737502798326512904639129535056749123183740662630462133981663745933891577266542228715949565018927791030478297143514596678930855275959207054750554566735226449404562427203260770229627008309340143417058064339752457360229199035414197230630895314688569124793499738898285458811596890279031928575676977155264720735706650401093065262417726652349864716036571638695646615344385073966729913050083314547931896231810243989632248104313421119086401463264217770451141441857499329791443070958510882021145097322877332912364624421108407997157516652822686064243047378687659386044809361778095964527658402773915286372627387935304905459023681181163649322097248340681867335448041086546054475297866637574409391625020038758966625315232253104974202795480669018505099924604581380119963698290950153098521001836616098793998583197871738155437101886191280527286383540838680709530994685167792795735655939591881809344637513528862805938507723062067921993775445227272040498750395246699652467589888859363507540258366505556409170453114757676534871531338822412410457775790289817144765178424326482560742129827627823614546592026561608600129038879104430541678603027211348720480575659021571132691691595785396488723881729841084272205293951917783758712180476942719785814448854254372921210341376746522089846006516528401139963988573946648817103907509775114774846002951197786547049011199133076364562041407074304775013779395312509223901723851135665938859820356969591891454951491226245673826060171536183379111384552037327615939599274862142110723685049920253391445156312249035378231720350001808345323600433106683269795076671545871650128709616542456491820970744246730072460359011824034775295446404292408480920560534857867184324689336789953479125477688995544953478533187788954333849561678740828308920618688711286178944558981477380159285929218368726020437395918929818623981907858944572744132481324968102169938503802774609358899297749805668342528510543296860771222072326033070726752880049223701045982892973824363015474936615698748356838938262917384511920580140937242760846632039015882329959470374004686620534431860628986478962972068510894341715826177950143239833806394739860660159939742162855922162282661093100939395846885983207645921669746068946386140208775218047986495265934372534571018886995965221549772610849125747417345182891792111393632772399244279535842115114975608432313077742608962429482800585826605232977087567786143533513281842611068473025755611711043900998398184701026029101470159521034965060624992059652664287225754133165923673371132464746923007232733129838894249531355126857282722508138631506833369516354599332177644922096690781598943177648695695544217424159510389041373420279708719596376263551657747373152472662978321575205970777235638159470427568942257403239598340566887088709904717064003923561283924228148813594438954960484309763437334632435538611170525307193672798309480017028246476934594672557925179186642396311026601589279045509112398230473047834112152746603180571593214412643378467174481457942049270088940279253187515342965688606841265977019635549604077267472709764960510228527465312555275125638513219370382283947734018298446194568660831664852584287211382113519724550637894322720779622440767360554040762771378901838967743194173778306826796794368125495864610435694813138137286142260697319184641232037751247427388330742140606349523129613501499057273876350757721496169874787922833056323031057376427392704028265235211221239237621861776285724184519796408322 24534896592022373377860081360702581975143712985275425981606901305559591058173628542835594580016169075243075373319932725486119520293475113533539443503083981515558141099022875839463880925001278972401279975541801622479489842998818209548664855175367855828263146856202720615771788773343145586657925005647397156876881093332876841721625329678571326911871344156343656064557011196773676078862578084373725727333613599734306555302944655322786930193936441838825300935240557424668470247414992942118700849489288514965807091607860804033418667163071874478216420000187427500135828204890268538276872728169195552880195322101358211063268262324881086792070176554301917280994189574986976890110270106268756313368322387764801039637812099142657809752164753157287575791728596820132463585070844574127695456690089486746931671186443802457087946854797948415938237337222319341982430683946722114373041019341124610033377471559652239394285803983780418839179458595111436300299196813530205772786448785596745658775764289236067560581175137536527056129089011019965724464274615929300163522519859885754462967689686206663881481184779419918670824378334855272493324622513937255532041826029405422904177902755446590026162896346567925003329806690228704008147048195687801222022080811877806737600909286192487634683187299649666977899206561357630057576452835933564444390730277447814735056794120217290236797690209279166304690183670467433028716986545452081861637062135036067673556599945780316722526442619976536910552392652143011615733782529008067209622276228879790908903951337391120505225049363544266958260492764597563580185136007118301645643879826549051392560988229006404393996237867696298801824931154560460719450109206566300437045499861581669324856124414090126636947813248024237845083034119120948857162544316925344643806351960736941458022529247499866752344470649800418720316713025633993902403333825126534333786321005804142709882291528246168746300444604272891718576121298974415771646152132376208497032051498803378357867492955829793665467598506990478311654677710124222373806638122996842704364894943361472445701522191739330029177706895255518036965892670840507667373751081977791246377907996750542765407200844382653650610123507986726874869540377507202039991173774948170198784528985368859362799893746380664325223505956640583316506704246880078239624665606119479776205183976122114455036101432085699450930575724685400402744605894981378958550215967503360549743916537251807635671005634304421164949319446435968527945217856131575227238310524640552124099880389199427347209765674924449905063806351215517557787396580090020216196034582392078838512893285065070694066639989755891091152629612789799402103451370013159613784862228384871223431024495078963026857946954105516079619506363898548000489400929320749987074758353126313131424805340252904814006398493241369058922692689531962099745471996373469371433785534175814137637930932677614485501570770793675130239064207183007110937728791035985203049522873930883054368461310250925934996545648052050462493033176897292701796404113803067359718457747738670369016779922843038866807494896870772671768263198006687540170051183843060865902693525989815261344128201118774610120250873046951586943254189305321018479136742779785647181064404158543670892038177913744998671824159221653604922050459655279947583791928077143238664100774185463095355457921507128421374630851884782768414857996710663052339081392836989720392704143839927709572867223280053036318437402954829927696583619858893468647765720961133519724203288980862035219650334269017545831186298881080447676431240467726885098554217382015789626152975137918883676801 39698296596356162337393830872101837907302163483289602324404243651844671253045058837006780112921569254345262770007099807396668632645203065017010652718752143253060939425535780478593415981750402156141942606003935604143235776890395476090893571124932874756054177334499864130368467704198421545864979756201963892103330497895304044982395559305579636252014761214407995817014371425972711493059808715269040415902738393234045453588403466919677209225865017515802456199961293131318871340480255359845353199354004551537445787254476148418492633892984924561530967932083659310379817837138372851697991814570658817097965773242800068562598053767952045302952197699399240158327101939611397998518267263785409136054386630812179727297198143952019587848129280815690349707014969447520398889976303597808876620339411583995272353053779250498174492909273246282575811746613944362021189650572037346626145993543920090702395976659576843975665923947478709789332557116113272916397990812113403644524604222698631850056291575619608399261884668531212223921884746675905316346083960566813692385325798393477525035611679982109108753225278170313917524030802445161352688130054195622037598235199858537661854437626977928848575306804343715293146951455407128334629608937817628849845695358469833299209509415231366739113728978252694189247927041933289079147585527625160229787219001329544576141066325511242154581448921459643247409969484916287283089907755793458608159151981042584201957739909768890669175259723884046685667167498145962813520329578019266342698640790921197983208726351170515817734273265268118093926431624417920549777027462069792871889553652609222928744367340390956431323853807295573663967041878245510639703500651722612686080878093302019326664469737690559743631083043100909390954684247830565399619036137896088890536424421095953282057304542946271044752951570360953578183897350323330692356812950604223329331274484337330498836625377807847487128753524891580429862300243533397249026311418305426865758071936199297287686116937737652610040342639471803279756847648628025148415997022294592510033237471872015742562293413811656062248433648135567260666938653733481491736766556914406945126264835688805682791712764962794587852884354618765890751870336977576044677794309380030827771007948340927873694235462206842275366745790446978056367364406819820402480587768402140869306123371969000438243747353755445519876961864894175620792592390247313331084786986390356514965466309862656761418422979487312957060713079208367772224753698246690202846742837718294733062309872000013173814998652012017691207339864497360168855869605845631927239935580790263539538922386535230215101605050380883150805293900015553535269375043384292078531785235617604353269918744610318153715229676613654711126339733414902599821578574242846677856357296303961827120349557677064324395439866661648767642289065795513757492845148846132349755360740146591373276090403105183427758974010392015697126152917087724174941652352319909431198336468369838014852771073688260567432084259222575769686705975206772718824650590737662032276382926925312765327806524432317912316607295101245719602375350753290720741644398255704244369868007447757310614217141398027797635593838735558428209231208940870622556404215489550607691292931623856226167163816426964369054108106955671903368245028316111612436376215288525352183825324823357418076237543947895781928671614656161670253825739904836830645908189631357845888568754275622522711004509422313733637622044186867678944011008189635609254115244090747021223260562857212792941146504143805468664242621912137824103823944495992120309775456619637651402438699322438680085123 64233193188378535715253912232804419882445876468565028306011144957404262311218687379842374692937738329588338143327032532882788152938678178550550096221836124768619080524558656318057296906751681128543222581545737226622725619889213685639558426300300730584317324190702584746140256477541567132522904761849361048980211591228180886704020888984150963163886105370751651881571382622746387571922386799642766143236351992968352008891348122242464139419801459354627757135201850555987341587895248301964054048843293066503252878862336952451911301056056799039747387932271086810515646042028641389974864542739854369978161095344158279625866316092833132095022374253701157439321291514598374888628537370054165449422709018576980766935010243094677397600294033972977925498743566267652862475047148171936572077029501070742204024240223052955262439764071194698514049083836263704003620334518759460999187012885044700735773448219229083369951727931259128628512015711224709216697187625643609417311053008295377508832055864855675959843059806067739280050973757695871040810358576496113855907845658279231988003301366188772990234410057590232588348409137300433846012752568132877569640061229263960566032340382424518874738203150911640296476758145635832342776657133505430071867776170347640036810418701423854373796916277902361167147133603290919136724038363558724674177949278777359311197860445728532391379139130738809552100153155383720311806894301245540469796214116078651875514339855549207391701702343860583596219560150288974429254112107027333552320917019800988892112677688561636322959322628812385052186924389015484129962163469188094517533433479158274321305355569397360825320091674991872465791973032805971359153609858288913123126377954883688651520594151780686380578896291125147236037718366951514256781580454821433534342776381832894740079833790446137797097422220161372298500610375957324594760146775730757663117595490141473208718916906054016233429198129164472148438421542507813020672463550681635362790123435002675645553609893567446275507941146462281591411525358752247522222635145291435214398132415233488188263815605550986091426140543391085297632831324573989159110517638892198191504172832439348448198913609345448238463007862605492765621410714484778084668968084328201026555536933709787236494129208587506600590251747087561372874068653699898642105253374521620645511307348091114893279848785841144970807537589579576023537198285228692289635002953893717064709382847114464397089428613791734122010032525644336300169971554378265430085053362358846857162190261199440521024764326936467596271146215712877726643266185935652143435970163182342378051815671600300909168245040136774241957923512805352937372826413397451692316647464002475576700943239689281180573176630719170790745846097313450600310979503563596664931115649430274958545154897929969138401838359903017826564981755327475857238317145219601721189146274322405510914021335782797913260544781185690827365217124270731285879381143355894634247859342300721069221232383939186502428629907274626232179739152104065420621054704540729391994840674663983134344586447275356779124102191972018391370638548759978260911695582098765110272561533437572571958345342516802407755844711782510015152485398246191641035540958269336254872357335782399897059201994340709367725932266177325508290295487971391560020168143365668590847926099008820513431695465455024203303302466540944438668683736615499882984989582468347566281272898115550232283871732702366769956059447141697606640594628048529077901880965051880540947463851838074828160796838412823014495428920793218271780255184963719005408329674001653441028591674460357563761924 103931489784734698052647743104906257789748039951854630630415388609248933564263746216849154805859307583933600913334132340279456785583881243567560748940588268021680019950094436796650712888502083284685165187549672830765961396779609161730451997425233605340371501525202448876508724181739988678387884518051324941083542089123484931686416448289730599415900866585159647698585754048719099064982195514911806559139090386202397462479751589162141348645666476870430213335163143687306212928375503661809407248197297618040698666116813100870403934949041723601278355864354746120895463879167014241672856357310513187076126868586958348188464369860785177397974571953100397597648393454209772887146804633839574585477095649389160494232208387046696985448423314788668275205758535715173261365023451769745448697368912654737476377294002303453436932673344440981089860830450208066024809985090796807625333006428964791438169424878805927345617651878737838417844572827337982133095178437757013061835657230994009358888347440475284359104944474598951503972858504371776357156442537062927548293171456672709513038913046170882098987635335760546505872439939745595198700882622328499607238296429122498227886778009402447723313509955255355589623709601042960677406266071323058921713471528817473336019928116655221112910645256155055356395060645224208215871623891183884903965168280106903887338926771239774545960588052198452799510122640300007594896802057038999077955366097121236077472079765318098060876962067744630281886727648434937242774441685046599895019557810722186875321404039732152140693595894080503146113356013433404679739190931257887389422987131767497250049722909788317256643945482287446129759014911051481998857110510011525809207256048185707978185063889471246124209979334226056626992402614782079656400616592717522424879200802928848022137138333392408841850373790522325876684507726280655287116959726334980992448869974478803707555542283861863720557951654056052578300721786041210269698774968987062228548195371201972933239726831305098885548283785934084871168373007380272670638632167586027724431369887105503930826109019362642153674574191526652558299769978307470650847284195806605136630437668128154130990626374308242826315892217224258656373281051462354129346762393708231854326544882050715110188364670794348875956997537534539429241433060519719044585841142923761514817430720060115331523596139596590490684499454473751644329790675476005620719789940284073579674849156977121158507851593279047079070745604852704072394725252624955632931796200077141590224500133199453694839762978948485287478486080210237895499135791781284070675905743972605917590738058135531124269850090517657392763217412820906472642201456781743770848432699620079929970861984299599334288406307332825501872185830728353200132558077806443342787472945734236785665504455607033462797278226564666594207270821122989614731162294065734070944507014468996884190111738887981341019518791577706524491370041358455460821033495675804065446195810670559084074003457627447069860714166497202001866445127310838139445705295278391424271223601589295899672392971707674691440709487073264110973013899513268981653339980354469354642429540885329882572562483914830205391438550518068443361716607187062263591945173758886862563650267406256123226365810767673736780040373132997411658540516287503172456544358654193943031751423832177931507933009402919985231974081197106108922509476520336713630897772099705412169841652391172754994876242124680503593681491328565285584605636238164687155996209142627562170724414695287621101943342556628483159671542705356095884079129459711125718105130621291092431030373782796243847047 168164682973113233767901655337710677672193916420419658936426533566653195875482433596691529498797045913521939056661164873162244938522559422118110845162424392790299100474653093114708009795253764413228387769095410057388687016668822847370010423725534335924688825715905033622648980659281555810910789279900685990063753680351665818390437337273881562579786971955911299580157136671465486636904582314554572702375442379170749471371099711404605488065467936225057970470364994243293554516270751963773461297040590684543951544979150053322315236005098522641025743796625832931411109921195655631647720900050367557054287963931116627814330685953618309492996946206801555036969684968808147775775342003893740034899804667966141261167218630141374383048717348761646200704502101982826123840070599941682020774398413725479680401534225356408699372437415635679603909914286471770028430319609556268624520019314009492173942873098035010715569379809996967046356588538562691349792366063400622479146710239289386867720403305330960318948004280666690784023832262067647397966801113559041404201017114951941501042214412359655089222045393350779094220849077046029044713635190461377176878357658386458793919118391826966598051713106166995886100467746678793020182923204828488993581247699165113372830346818079075486707561534057416523542194248515127352595662254742609578143117558884263198536787216968306937339727182937262351610275795683727906703696358284539547751580213199887952986419620867305452578664411605213878106287798723911672028553792073933447340474830523175767434081728293788463652918522892888198300280402448888809701354400445981906956420610925771571355078479185678081964037157279318595550987943857453358010720368300438932333634003069396629705658041251932504788875625351203863030120981733593913182197047538955959221977184761742762216972123838546638947796010683698175185118102237979881877106502065738655566465464620276916274459189915879953987149783220524726739143328549023290371238519668697591338318806204648578793336724872545161056224932396366462579898366132520192861267312877462938829502302338992119089924624913628245100714734917737855932601302881459809957801834698803328134610500567502579189539983653691064778900079829751421994691765947132214015730478036432880882081815760502346682493879381855476547249284622100802115501714219617686691094517445382160328738068151230224803444925437735461492037044053327667866988960704697910354792894177790644384232004091585555597280207070781201080778130497040372564696807003221063016849562435988447386690394398894215864527305884952883749632295923115622142401977716936214111875907154948295642553729735832033438095130654431634721140925626259410015027870179195463165080163622555506671805223988880514861582938051996292618031928041803800443537581370040007718588595164511744210659353537002601199116586467684420772252576450465471969479439285335792133653288791402395104133074670779254280063572763397351856587165629186746700414639031698699694055152971280153295235841566633572289344073771828234046184279414903560066759999819120816266064276253279034016979418983031470564811679045282502343652448273247242565035562453234464914991074322902454530907826431632613147283262300578458514202005433253904627486132028223117436007603188656020285567805108383104505972639310322919948836004258894732476712502019862533879677522840998444939628474857944188535276547738050547591193213135836596615887354568052978451114550506722987278747974827047273549740938470262892225200264286693765057877174194508103118188266533362449262740180969451497655100463498574367664334314423430131126434804622944533459622048243153807608971 272096172757847931820549398442616935461941956372274289566841922175902129439746179813540684304656353497455539969995297213441701724106440665685671594103012660811979120424747529911358722683755847697913552956645082888154648413448432009100462421150767941265060327241107482499157704841021544489298673797952010931147295769475150750076853785563612161995687838541070947278742890720184585701886777829466379261514532765373146933850851300566746836711134413095488183805528137930599767444646255625582868545237888302584650211095963154192719170954140246242304099660980579052306573800362669873320577257360880744130414832518074976002795055814403486890971518159901952634618078423017920662922146637733314620376900317355301755399427017188071368497140663550314475910260637697999385205094051711427469471767326380217156778828227659862136305110760076660693770744736679836053240304700353076249853025742974283612112297976840938061187031688734805464201161365900673482887544501157635540982367470283396226608750745806244678052948755265642287996690766439423755123243650621968952494188571624651014081127458530537188209680729111325600093289016791624243414517812789876784116654087508957021805896401229414321365223061422351475724177347721753697589189276151547915294719227982586708850274934734296599618206790212471879937254893739335568467286145926494482108285838991167085875713988208081483300315235135715151120398435983735501600498415323538625706946310321124030458499386185403513455626479349844159993015447158848914802995477120533342360032641245362642755485768025940604346514416973391344413636415882293489440545331703869296379407742693268821404801388973995338607982639566764725310002854908935356867830878311964741540890051255104607890721930723178628998854959577260490022523596515673569582813640256478384101177987690590784354110457230955480798169801206024051869625828518635168994066228400719648015335439099080623830001473777743674545101437276577305039865114590233560070013488655759819886514177406621512033063556177644046604508718330451333748271373512792863499899480463490663260872189444496049916033644276270398775288926444390414232371281188930460805086030505408464765048168695656710180166357961933891094792297054010078367972817409486343362492871744664735208626697811217456870858550176204352504246822156640231356934774739336731276935660369143675146168788211345556327041065034325952176536498527079312196779636180703531074582834461864224059081161068706714105131800349828280151523735349744444959422059628176695948645762513130037611190527598347910704290284833438171228118376133353517641537769498220284787781651127554213233291787871363157707945221172089027484358338447165882657229326960939234013512863242635436642667208288479849149989245384821794490217758770157000576095659176483350506061540898748529876163809144036063996394813032351014979523397573455086700641733351069863078160303260399279294244813558760595299582364341103876347957206987642207521448134707502765140250963641839237369239299194080642150058240269030235912629406725741699512465295097512240537287877842574933689372390690706162005521166118546613316666347786516224218375542807703819557420615208232337103470310346462818538721812818646901875918612620316168219431305787109979999657870594912143511933615876056841286013012443320331607376520546397904933256860674056476911428946673176376447561484260864173767250628935156656513702689656173310246785126667758390620956202897895742273624216951727777143422429798828177809805900524858452213873383337135665288912681228650070364683523526079980814772006203930463548413443883141256844539935244235625890652422025950051456018 440260855730961165588451053780327613134135872792693948503268455742555325315228613410232213803453399410977479026656462086603946662629000087803782439265437053602278220899400623026066732479009612111141940725740492945543335430117254856470472844876302277189749152957012516121806685500303100300209463077852696921211049449826816568467291122837493724575474810496982246858900027391650072338791360144020951963889975144543896405221951011971352324776602349320546154275893132173893321960917007589356329842278478987128601756075113207515034406959238768883329843457606411983717683721558325504968298157411248301184702796449191603817125741768021796383968464366703507671587763391826068438697488641627054655276704985321443016566645647329445751545858012311960676614762739680825509045164651653109490246165740105696837180362453016270835677548175712340297680659023151606081670624309909344874373045056983775786055171074875948776756411498731772510557749904463364832679910564558258020129077709572783094329154051137204997000953035932333072020523028507071153090044764181010356695205686576592515123341870890192277431726122462104694314138093837653288128153003251253960995011745895415815725014793056380919416936167589347361824645094400546717772112480980036908875966927147700081680621752813372086325768324269888403479449142254462921062948400669104060251403397875430284412501205176388420640042418072977502730674231667463408304194773608078173458526523521011983444919007052708966034290890955058038099303245882760586831549269194466789700507471768538410189567496319729067999432939866279542713916818331182299141899732149851203335828353619040392759879868159673420572019796846083320860990798766388714878551246612403673874524054324501237596379971975111133787730584928464353052644578249267482765010687795434343323155172452333546571082581069502119745965811889722227054743930756615050871172730466458303581800903719357540104460663693623628532251220497102031779008443139256850441252008324457411224832983611270090826400281050189207660733650726817796328169739645313056361166793340953602090374491783488169005958269189898643876003661362128270164972584070390270762887865204211792899658669263159289369706341615624955873692376883761500362664583356618557378223349781097616090708513571719803553352429558059829051496106778741033472436488958954417968030177814525835474906856362575781130485990472061413668573542580406980063768596885401441429375728639654868443313165160292269702412007420609481232301865846784817524118866631397758965495324949118484997880921997242126568817590718391054977750672056469139783939747215156498899657558282502508875845517607195191146040351826520662205499264073425292672257197140134697178593026865190943314472432277360364011572183436818087108249686811960801019633240546523358224650136063260274086823162681038665195511399500035435751775974023920558670121172636405655211813592051801674398377888229539849579645937104501228204544372616828954221862773739201464834306116613119390664475140760714214439402314040858469958813686140645259579225294916633056803352154095853967706351809673737632570332845163829115660318796059763466783411105260938284472411689531134791634378136778095431686005075119225360390120618053570072846917437815333097435665473783568163797501420984439945791985651753643251556212524805292637409969362693919010791106469514174821387189959118808362302527176673207204104895902792009906862672481235811369072070753404618729552372191778775050693163368269091070035006164811552217271750557531643768407100947762012519627423704495531478469872469702504831212747758306571387970974739867180159350274470269103859064989 712357028488809097409000452222944548596077829164968238070110377918457454754974793223772898108109752908433018996651759300045648386735440753489454033368449714414257341324148152937425455162765459809055493682385575833697983843565686865570935266027070218454809480198119998620964390341324644789508136875804707852358345219301967318544144908401105886571162649038053194137642918111834658040678137973487331225404507909917043339072802312538099161487736762416034338081421270104493089405563263214939198387516367289713251967171076361707753577913379015125633943118586991036024257521920995378288875414772129045315117628967266579819920797582425283274939982526605460306205841814843989101619635279360369275653605302676744771966072664517517120042998675862275152525023377378824894250258703364536959717933066485913993959190680676132971982658935789000991451403759831442134910929010262421124226070799958059398167469051716886837943443187466577974758911270364038315567455065715893561111445179856179320937904796943449675053901791197975360017213794946494908213288414802979309189394258201243529204469329420729465641406851573430294407427110629277531542670816041130745111665833404372837530911194285795240782159229011698837548822442122300415361301757131584824170686155130286790530896687547668685943975114482360283416704035993798489530234546595598542359689236866597370288215193384469903940357653208692653851072667651198909904693188931616799165472833842136013903418393238112479489917370304902198092318693041609501634544746315000132060540113013901052945053264345669672345947356839670887127553234213475788582445063853720499715236096312309214164681257133668759180002436412848046170993653675324071746382124924368415415414105579605845487101902698289762786585544505724843075168174764941052347824328051912727424333160142924330925193038300457600544135613095746278924369759275250219865238958867177951597136342818438163934462137471367303077352657773679336818873557729490410511265496980217231111347161017891602859463837227833254265242369057269130076441113158105919861066273804444265351246681227984218921991913466169042651292587806518684397343865259320731567973895709620257664706837958815999549872699577558846968484673937771578730637400766104900740716221525762351299335211382937260424210979734264181555742928935381264829371263698291149244965838183669510621075644573921337457527055506387365845110041107486292260548233066104972503958563101519092502394326228998983807543807770437761383825601196529262483540926259574454914141087462248522609071449595590037273107875551829226205869048189822657425477516713376783687439209410056722109137305478558348853985572998609689689857602520591175329486524101073931192105890107826379957139640565840213161561428821639881598467445582117801595728899723006708730711676962008803962986971825074729191906212532386450731299371597375645370762905987475518289973895312200953692622701788300444879228301445605104552501579604471161743310908446704229974557080254958628033714439954794856589460554309888705871443092866386959091690590014145297340640031938428901395724200364443794575854011282375728976985143846279691001786648068642104029832304739367128737848447124558250224726887937872262266039230673886241066348743602443077435323344378480307309435036860496787077998664196963583163589045351690542343226223367975487702535416187351197834751443379672536069777805608363860618598592448183217109457607903569759693026956302514471825996408730502827836585798067919247844812065336410669485623940868779433696013628990662589992107228021611459284644475906435294761161202189712644815514675111415785240926892295053910521007 1152617884219770262997451506003272161730213701957662186573378833661012780070203406634005111911563152319410498023308221386649595049364440841293236472633886768016535562223548775963492187641775071920197434408126068779241319273682941722041408110903372495644558633155132514742771075841627745089717599953657404773569394669128783887011436031238599611146637459535035440996542945503484730379469498117508283189294483054460939744294753324509451486264339111736580492357314402278386411366480270804295528229794846276841853723246189569222787984872617784008963786576193403019741941243479320883257173572183377346499820425416458183637046539350447079658908446893308967977793605206670057540317123920987423930930310287998187788532718311846962871588856688174235829139786117059650403295423355017646449964098806591610831139553133692403807660207111501341289132062782983048216581553320171765998599115856941835184222640126592835614699854686198350485316661174827403148247365630274151581240522889428962415267058848080654672054854827130308432037736823453566061303333178983989665884599944777836044327811200310921743073132974035534988721565204466930819670823819292384706106677579299788653255925987342176160199095396601046199373467536522847133133414238111621733046653082277986872211518440361040772269743438752248686896153178248261410593182947264702602611092634742027654700716398560858324580400071281670156581746899318662318208887962539694972623999357363147997348337400290821445524208261259960236191621938924370088466094015509466921761047584782439463134620760665398740345380296705950429841470052544658087724344796003571703051064449931349606924561125293342179752022233258931367031984452441712786624933371536772089289938159904107083083481874673400896574316129434189196127812753014208535112835015847347070747488332595257877496275619369959720290101424985468505979113690031865270736411689333636255178937246537795704038922801164990931609603878270781368597882000868747260952517505304674642336180144629161693685864118278022461925976019784086926404610852803418976222233067145397867441621173011472387927950182656067686527296249168646954562316449329711002330861760913832050564365507221975288919579041193183802842177050821533079093301984122723458118939571306859967390043724954657063977563409292324010607239035714122298301807752657245567212996015998195346095982500936497118588013045978448779513683583687893272324316829951506413933334291741173960945707491389291253509955815191047242616127467043314080007659792890972213879636412411367007606952371592832163841925466270220281183619720246291797209417263928533282587096767692559230984982823085753540000025924825130351895356866594016468001743721241208628370698916973017323271612072843200577173133612258457968706717132394078602615362140269530066955361813025269078049810134506113394387417612032421886483075345621296204040884078623881173501787487364002628091000590017840294458874238550106332757045952221300115965173682185905694808863196868078018698189580715509071028862868350747175830256779007032218670915884930778354143992186034282869102076010038181427146186856446204844637303939906043157785197753329580388502243994270501920372226583902653681910731963057097622656159848727456313913266181417776174870988818162048471106936457844936732869984315950606834719801570156983179753195586061894498493641885701526019221941402498480898372304982281571064723494495240193123972130089139381128765097709707133201378368600509277878529749166337010317879818230147962886757374498400423202103114576752675109619530932517142937754516945608940125973908960496284032786489414978595944591201362564157769585996 1864974912708579360406451958226216710326291531122630424643489211579470234825178199857778010019672905227843517019959980686695243436099881594782690506002336482430792903547696928900917642804540531729252928090511644612939303117248628587612343376930442714099368113353252513363735466182952389879225736829462112625927739888430751205555580939639705497717800108573088635134185863615319388420147636090995614414698990964377983083367555637047550647752075874152614830438735672382879500772043534019234726617311213566555105690417265930930541562785996799134597729694780394055766198765400316261546048986955506391814938054383724763456967336932872362933848429419914428283999447021514046641936759200347793206583915590674932560498790976364479991631855364036510981664809494438475297545682058382183409682031873077524825098743814368536779642866047290342280583466542814490351492482330434187122825186656899894582390109178309722452643297873664928460075572445191441463814820695990045142351968069285141736204963645024104347108756618328283792054950618400060969516621593786968975073994202979079573532280529731651208714539825608965283128992315096208351213494635333515451218343412704161490786837181627971400981254625612745036922289978645147548494715995243206557217339237408273662742415127908709458213718553234608970312857214242059900123417493860301144970781871608625024988931591945328228520757724490362810432819566969861228113581151471311771789472191205284011251755793528933925014125631564862434283940631965979590100638761824467053821587697796340516079674025011068412691327653545621316969023286758133876306789859857292202766300546243658821089242382427010938932024669671779413202978106117036858371315496461140504705352265483712928570583777371690659360901673939914039202980927779149587460659343899259798171821492738182208421468657670417320834237038081214784903483449307115490601650648200814206776073589356233867973384938636358234686956536044460705416755558598237671463783002284891873447527305647053296545327955505855716191218388841356056481051965961524896083299340949842132792867854239456606849942096122236729178588836975165638959660314589031733898835656623452308229072345180791288469451740770742649810661724759304657823939384888828358859655792832622318689378936337594324401774389026588192162981964649503563131179016355536716457961854181864856717058145510418456045540101484836145358793624795379564584865063017611386437292854842693053448101817618290237317499622961485003999953068239843342491200719150546668793777499873615530216023821188422201115033341822049507389488768436114454634894780641910066274535977102615953094120128564311888854011497823740041585214469114607643331230245342282559562804807080843703228751713409040790334695041080097850305184577976196404211091039992536775686073489987277882012797106331188123579323824564808337214374717218671849411646984611356691791761382676203581783623291806140739338102539995711437309547531825771277708484590632609924783420277123036646731904020670303927618323422660635881701699871873419177762606474944923651484632217972711770497800210402625221722040867728580573614289083752322848786984401398222492532076299009869049110075031027211932135458850994969884922199079401342554979614925020219252306312162540528778416371494705433519947982980147570417883390615508673722096421809429869986196177301888877217056692845878153434442082787889934925342093087688376341081587697042950888458124666009647673204365009239780706366334964404929565724630295484373556242998439269202635799128205743337699611638160538754397039161421515375420735070162685996677602004090090011729832128254859211680107003 3017592796928349623403903464229488872056505233080292611216868045240483014895381606491783121931236057547254015043268202073344838485464322436075926978636223250447328465771245704864409830446315603649450362498637713392180622390931570309653751487833815209743926746508385028106506542024580134968943336783119517399497134557559535092567016970878305108864437568108124076130728809118804118799617134208503897603993474018838922827662308961557002134016414985889195322796050074661265912138523804823530254847106059843396959413663455500153329547658614583143561516270973797075508140008879637144803222559138883738314758479800182947094013876283319442592756876313223396261793052228184104182253883121335217137514225878673120349031509288211442863220712052210746810804595611498125700841105413399829859646130679669135656238296948060940587303073158791683569715529325797538568074035650605953121424302513841729766612749304902558067343152559863278945392233620018844612062186326264196723592490958714104151472022493104759019163611445458592224092687441853627030819954772770958640958594147756915617860091730042572951787672799644500271850557519563139170884318454625900157325020992003950144042763168970147561180350022213791236295757515167994681628130233354828290263992319686260534953933568269750230483461991986857657209010392490321310716600441125003747581874506350652679689647990506186553101157795772032967014566466288523546322469114011006744413471548568432008600093193819755370538333892824822670475562570890349678566732777333933975582635282578779979214294785676467153036707950251571746810493339302791964031134655860863905817364996175008428013803507720353118684046902930710780234962558558749644996248867997912593995290425387820011654065652045091555935217803374103235330793680793358122573494359746606868919309825333440085917744277040377041124338463066683290882597139338980761338062337534450461955010835894029572012307739801349166296560414315242074014637559466984932416300507589566515783707450276214990231192073783878178117194408625442982885662818764943872305532408095240000234489027250928994777892278778304415705885086143812593521976763918742736229697417537284358793437852402766577389030781963926452652838775580837736917241369011551816978595364139482286079422661292251388379337798318912202770221000363625861432986769012782283670957870180060202813040646446915574633553147463284924872477208483272836909181892969117800370627146583867014393809309007581490827455438152532246616080535283157422498860512041518882673413912284982537822976192781254364956958808092269788573108488682406251844312044570443348861632744795175184079102951650065428854037422648870393480571335708624111332973966583491187933503724053861026500363786252241367507828653338555819011901710370275006826453180262066842641435303012546960062607240837301517966741436597230223697450062839968053452531063235237865293548870040206209874623881823981033796976778545817770066593484047071393673658272818515619592283473991114665430093601385812998647186291011383057531956650880451396433522359875702005628624404006994639599876220440806648868227724174785418251593023658366006572182154727802881034320293280370969482301614929865614046190814052067507578358928128798868892881106437995427177300980702577249523307952550370252817967296098177252603192185665656901849617395491764484689819187590403236278634248376634332814387770171505990065587582928569465053717786182332017223222375716780874582733609749058584896084130741939883604448525632336443000372937669625837902242782496012809231169093055897334793678367124315546708979123182280710388493505068607674423329617423369449692999 4882567709636928983810355422455705582382796764202923035860357256819953249720559806349561131950908962775097532063228182760040081921564204030858617484638559732878121369318942633765327473250856135378703290589149358005119925508180198897266094864764257923843294859861637541470242008207532524848169073612581630025424874445990286298122597910518010606582237676681212711264914672734123507219764770299499512018692464983216905911029864598604552781768490860041810153234785747044145412910567338842764981464417273409952065104080721431083871110444611382278159245965754191131274338774279953406349271546094390130129696534183907710550981213216191805526605305733137824545792499249698150824190642321683010344098141469348052909530300264575922854852567416247257792469405105936600998386787471782013269328162552746660481337040762429477366945939206082025850298995868612028919566517981040140244249489170741624349002858483212280519986450433528207405467806065210286075877007022254241865944459027999245887676986138128863366272368063786876016147638060253688000336576366557927616032588350735995191392372259774224160502212625253465554979549834659347522097813089959415608543364404708111634829600350598118962161604647826536273218047493813142230122846228598034847481331557094534197696348696178459688697180545221466627521867606732381210840017934985304892552656377959277704678579582451514781621915520262395777447386033258384774436050265482318516202943739773716019851848987348689295552459524389685104759503202856329268667371539158401029404222980375120495293968810687535565728035603797193063779516626060925840337924515718156108583665542418667249103045890147364057616071572602490193437940664675786503367564364459053098700642690871532940224649429416782215296119477314017274533774608572507710034153703645866667091131318071622294339212934710794361958575501147898075786080588646096251939712985735264668731084425250263439985692678437707400983516950359702779431393118065222603880083509874458389231234755923268286776520029289733894308412797466799039366714784726468768388831749045082133027356881490385601627834374900541144884473923118978232481637078507774470128533074160736667022510197583557865858482522734669102463500500340142394741180753900380175838251156972104604768801597629845712781112187345500394933202965013129424564165785368319000128919724361925059530098791957334030679093248948121070231270833278652401494046955986729186807920001426560067841911126625871728144955061114017250616033603523000764990061231192065551467191412158598068039000013969676566071992149914319295962597257118520706479206825212353415136168721897791137173223080214377317708048920472610435065785804823231754664204211925773747496308531134704729729115499661282157842523694418653669317086288346471411037544220254603618327508792999824842075404347168489641546065261162038560911824780058639902864178047846594557085310252716409791658247173630121773135079318541529207376141015872842671382142863451125544375703751114151312161997622056116926265509713672018939233656522753870574196128834820625657113256621979706410097676430843431870590268591903365991865882107410688855359166556126025373566396592290240018592376645957077546181649665047037392500558007530141423872496031458214679483613143243106027939679447255803772765950276245747670486582801174330623946039204921634470885996489479280453335327094254787767256470558061440915407680670616945806135305483225282905681347041726428547787098618988839291262419095146869449329078821116709999243371376938828473701370988239350508842807253594651731832839788639690967444049285868277387990497595158619404255457872282581129800002 7900160506565278607214258886685194454439301997283215647077225302060436264615941412841344253882145020322351547106496384833384920407028526466934544463274782983325449835090188338629737303697171739028153653087787071397300547899111769206919846352598073133587221606370022569576748550232112659817112410395701147424922009003549821390689614881396315715446675244789336787395643481852927626019381904508003409622685939002055828738692173560161554915784905845931005476030835821705411325049091143666295236311523333253349024517744176931237200658103225965421720762236727988206782478783159590551152494105233273868444455013984090657644995089499511248119362182046361220807585551477882255006444525443018227481612367348021173258561809552787365718073279468458004603274000717434726699227892885181843128974293232415796137575337710490417954249012364873709420014525194409567487640553631646093365673791684583354115615607788114838587329602993391486350860039685229130687939193348518438589536949986713350039149008631233622385435979509245468240240325502107315031156531139328886256991182498492910809252463989816797112289885424897965826830107354222486692982131544585315765868385396712061778872363519568266523341954670040327509513805008981136911750976461952863137745323876780794732650282264448209919180642537208324284730877999222702521556618376110308640134530884309930384368227572957701334723073316034428744461952499546908320758519379493325260616415288342148028451942181168444666090793417214507775235065773746678947234104316492335004986858262953900474508263596364002718764743554048764810590009965363717804369059171579020014401030538593675677116849397867717176300118475533200973672903223234536148363813232456965692695933116259352951878715081461873771231337280688120509864568289365865832607648063392473536010441143405062380256957211751171403082913964214581366668677727985077013277775323269715130686095261144293011998000418239056567280077364674944853446030677532207536296384017464024905014942206199483277007712103073612072425607206092242022252377603491412640694364157140322133261845908741314596405726653678845560590359009262790826003613842426517206358230491698021025815948049986324443247513304698595555116339275920980131658422122911931992816846521111586890848224258922097101160449985664412597703423965376755285997152554381101283799877594541985262343139438404249605312646396411405995103748041761925238403228848955846987178547148010427082235720435633453218972410499266549497232114138806158187488921743233584434140605324443580605861976206750930931028950958006589084535705745800926958323518869782796763997801466692966321252326031864442746562086343121480828546357140531855865997178178509264935429812255188565756229479285913523525350352347757209488328987998716746417863997400516670460968944096012371802138011588005791159512806697759268784609274842898607956316709111081832422378859122756616001532871055454102806932056097087346977442734499919914065055801136269641163967987225105265977592091223441929924912696004683401996765613173634321970629651194696327662741881025986701049697552651284238519458496316078151410117475131069054861931348710853828254600716885570610988074678260886943160227840479099104900078916935658940292765377137896210106660914123945683277462987399806174025583917572343924923089774986839987525795656600413398955575815677069683689613961342631422100070858328232946905473268253545515271189023269407614922904569417443209422369832228737897876158503225888809332933527346749046442243744314608454311603613770735363318073976346650549066626518155764006514153028409050558098378991100227227078678787489705950579493001 12782728216202207591024614309140900036822098761486138682937582558880389514336501219190905385833053983097449079169724567593425002328592730497793161947913342716203571204409130972395064776948027874406856943676936429402420473407291968104185941217362331057430516466231660111046990558439645184665281484008282777450346883449540107688812212791914326322028912921470549498660558154587051133239146674807502921641378403985272734649722038158766107697553396705972815629265621568749556737959658482509060217775940606663301089621824898362321071768547837347699880008202482179338056817557439543957501765651327663998574151548167998368195976302715703053645967487779499045353378050727580405830635167764701237825710508817369226168092109817363288572925846884705262395743405823371327697614680356963856398302455785162456618912378472919895321194951570955735270313521063021596407207071612686233609923280855324978464618466271327119107316053426919693756327845750439416763816200370772680455481409014712595926825994769362485751708347573032344256387963562361003031493107505886813873023770849228906000644836249591021272792098050151431381809657188881834215079944634544731374411749801420173413701963870166385485503559317866863782731852502794279141873822690550897985226655433875328930346630960626669607877823082429790912252745605955083732396636311095613532687187262269208089046807155409216116344988836296824521909338532805293095194569644975643776819359028115864048303791168517133961643252941604192879994568976603008215901475855650736034391081243329020969802232407051538284492779157845957874369526591424643644706983687297176122984696081012342926219895288015081233916190048135691167110843887910322651731377596916018791396575807130885892103364510878655986527456758002137784398342897938373542641801767038340203101572461476684674596170146461965765041489465362479442454758316631173265217488309004979799417179686394556451983693096676763968263594315034647632877423795597430140176467527338483294246176962122751563784232132363345966734020003559041061619092388217881409083195906185404266289202790231700198033561028579386705474832932381769058485250920934291676486763565858757692838458247569882309105995827433264657579839776261122526399602876812312168655097678083691495617025856551942813941562173009912992636626930389884710561318339749420283928797318903910321873238230361583635991739645359527065335018875040577639897275804942576173986467149436987150077631562259324947117365560380566747848147742329158952478982974425649985607796736602178673900976220720607497100943107920908380498303002919447664802725694995150179133970188590757458425549112078820064270135263594091263612142945355087620661382390435038682926120786323270485958594785574805683192876042175863157646074287063217828901541620771274079296452889012196644213415935174280801058871958921307345521099622957247859180887158928426979464169375473025793191118229084224580067135415628876184818875515792756736437943999720766708343690976219417289754088845498046851178205718355420935999269696388192544825780029516953319855137647966407459795229082127670390048764907981517401983357238479743717290515266979853628167113477860851006667054906844020706409490144146142292579474943189081716637873169354424786144527267188789305402666847061977798349867848589672593576357788014318149741695805335033426461812166548964142949288436886209867327328886294387820880948924162461077324328752632897828585916459169637970156930847726737167420922321035678782262606167865756441487115691547282785304984758974713826916783600245200798459357944403697481597077694918835486369488695385846482934245361988531709293003 20682888722767486198238873195826094491261400758769354330014807860940825778952442632032249639715199003419800626276220952426809922735621256964727706411188125699529021039499319311024802080645199613435010596764723500799721021306403737311105787569960404191017738072601682680623739108671757844482393894403983924875268892453089929079501827673310642037475588166259886286056201636439978759258528579315506331264064342987328563388414211718927662613338302551903821105296457390454968063008749626175355454087463939916650114139569075293558272426651063313121600770439210167544839296340599134508654259756560937867018606562152089025840971392215214301765329669825860266160963602205462660837079693207719465307322876165390399426653919370150654290999126353163266999017406540806054396842573242145699527276749017578252756487716183410313275443963935829444690328046257431163894847625244332326975597072539908332580234074059441957694645656420311180107187885435668547451755393719291119045018359001425945965975003400596108137144327082277812496628289064468318062649638645215700130014953347721816809897300239407818385081983475049397208639764543104320908062076179130047140280135198132235192574327389734652008845513987907191292245657511775416053624799152503761122971979310656123662996913225074879527058465619638115196983623605177786253953254687205922172821718146579138473415034728366917451068062152331253266371291032352201415953089024468969037435774316458012076755733349685578627734046358818700655229634750349687163135580172143071039377939506282921444310496003415541003257522711894722684959536556788361449076042858876196137385726619606018603336744685882798410216308523668892140783747111144858800095190829372984484092508923390238843982079592340529757758794038690258294262911187304239375249449830430813739112013604881747054853127358213137168124403429577060809123436044616250278495263632274694930103274947538849463981693514915820535543671679709592486323454473129637676472851544802508199261119168322234840791944235436958039159627209651283083871469991709294049777560063325726399551048698973014794439287682258232266065191941644559884488864763360808882844994057556778718654406297556206752353509132131860212696179052182102658058024999724244161471944199195278386465250115474039915102012158674325590340050895766639996558470894130521567728674913445895584216377668765833241304386041770933060438766916802502878300504653898423161165014297447414232313351997892778166089776059647116245080261881135317139967904717659234419748402061045759279762952427471538428129894065927497465034008748720374623126244564777946943131771655283723779677875143943262810832221606715572092158500085886943486658560568944303618355933041511836242188074071488329208543228389933072645975062285779964246765539021287944540265396985024568446351427523180071960571678656680576130130374465855855815497596270010259401843028498229641794723989284538327386999191512716223162261610015712670801493745135990407872311678201324683267346180068939976776090901723038822932764882870022514515455431224213280982597018673953108509492781733411908909507261224059668812100832369548798579221863977833681882767830363431461994741733167730963866637330623245247192658391878848022009403250307250634892805441391134472582865654246868151823933785420933597516666132774854305675537352405748432382037627843618647832563249779517631967398187214527334726354217177707976348513352022040512751490485876612847392526763076464635043579425546924488115196133514614802883730860006155737096908598529710077144990759946895749865085876100167703995750106103969393584748479795613073561613032851694482288786004 33465616938969693789263487504966994528083499520255493012952390419821215293288943851223155025548252986517249705445945520020234925064213987462520868359101468415732592243908450283419866857593227487841867540441659930202141494713695705415291728787322735248448254538833342791670729667111403029147675378412266702325615775902630036768314040465224968359504501087730435784716759791027029892497675254123009252905442746972601298038136249877693770310891699257876636734562078959204524800968408108684415671863404546579951203761393973655879344195198900660821480778641692346882896113898038678466156025407888601865592758110320087394036947694930917355411297157605359311514341652933043066667714860972420703133033384982759625594746029187513942863924973237868529394760812364177382094457253599109555925579204802740709375400094656330208596638915506785179960641567320452760302054696857018560585520353395233311044852540330769076801961709847230873863515731186107964215571594090063799500499768016138541892800998169958593888852674655310156753016252626829321094142746151102514003038724196950722810542136488998839657874081525200828590449421731986155123142020813674778514691884999552408606276291259901037494349073305774055074977510014569695195498621843054659108198634744531452593343544185701549134936288702067906109236369211132869986349890998301535705508905408848346562461841883776133567413050988628077788280629565157494511147658669444612814255133344573876125059524518202712589377299300422893535224203726952695379037056027793807073769020749611942414112728410467079287750301869740680559329063148213005093783026546173372260370422700618361529556639973897879644132498571804583307894590999055181451826568426289003275489084730521124736085444103219185744286250796692396078661254085242612917891251597469153942213586066358431729449297504675102933165892894939540251578194361247423543712751941279674729520454633933405915965386611592584503807265994744240119200878268727067816649319072140991493507296130444986404576176367800304005893647213210324145490562379927175458860755969511130665840251489204714992472848710837618971540024874026328942974115684295100559331757623415536411492864545126089061459504959565124870276018828443225184457627876536556330127041877278969882082275972025982729043574331684238582976677826156524707119789233879941851657472232349805906089615899127416877296125687130460125773785791843080518197780458840999335151481446884401382390983560152103113207141620027682992928409623464476092446887692084884405356198797647937953663928648192145925230837173848405845532311751639822287928970259773097122265741843874481238103424256022082875102356870309663355770643031242031107319942959379342301282053827835106728146668857063134891736104432108935803621136572843182075667080642059218619561849874036765090564843458354352761630550615601883475651474088813103674678483428938686381307197873702667587915107513622551967066326928345099347080485531505427537931689135711174580655369177544100557100268914438023627269107441394243868764152566410707060281211253730234302452156321919515969288010815539579299556026132041186214084189608028542296512379244813535510934943841292313001408788074574984573046820767391389485237866822037103726041123476605059678949968658323261888268321093930129622283653269523270110242490562868623825279048211083465808499440010167611975512538216403841834725516100821722547235166101870437425837680774673410580076402335782485362683693924191372211000347867960166897458739682480559325217975697703019882213583288684790971907543547140950663545234044571401477347183798888229071117968490998920044547278213683013998079007 54148505661737179987502360700793089019344900279024847342967198280762041072241386483255404665263451989937050331722166472447044847799835244427248574770289594115261613283407769594444668938238427101276878137206383431001862516020099442726397516357283139439465992611435025472294468775783160873630069272816250627200884668355719965847815868138535610396980089253990322070772961427467008651756203833438515584169507089959929861426550461596621432924230001809780457839858536349659492863977157734859771125950868486496601317900963048949437616621849963973943081549080902514427735410238637812974810285164449539732611364672472176419877919087146131657176626827431219577675305255138505727504794554180140168440356261148150025021399948557664597154924099591031796393778218904983436491299826841255255452855953820318962131887810839740521872082879442614624650969613577883924196902322101350887561117425935141643625086614390211034496607366267542053970703616621776511667326987809354918545518127017564487858776001570554702025997001737587969249644541691297639156792384796318214133053677544672539620439436728406658042956065000250225799089186275090476031204096992804825654972020197684643798850618649635689503194587293681246367223167526345111249123420995558420231170614055187576256340457410776428661994754321706021306219992816310656240303145685507457878330623555427485035876876612143051018481113140959331054651920597509695927100747693913581851690907661031888201815257867888291217111345659241594190453838477302382542172636199936878113146960255894863858423224413882620291007824581635403244288599705001366542859069405049568397756149320224380132893384659780678054348807095473475448678338110200040251921759255661987759581593653911363580067523695559715502045044835382654372924165272546852293140701427899967681325599671240178784302424862888240101290296324516601060701630405863673822208015573554369659623729581472255379947080126508405039350937674453832605524332741856705493122170616943499692768415298767221245368120603237262045053274422861607229362032371636469508638316032836857065391300188177729786912136393095851237605216815670888827462980447655909442176751680972315130147270842682295813813014091696985082972197880625327842515652876260800491598986076474248268547526087500022644145586490358564173316728721923164703678260128010463419386147145795701490305993567893250118600511728901393186212552708645583396498285112739422496316495744331815614704335558044881279296917679674799238008671504599793232414792409744118825104600858693697233426881075663684353360731239775903310566320500360196911055214824551044065397513499158205017781299399965345685934578477025235447929143117128974593978503528323645919637986869346942970334742928551464100279332822042008449596198858623146322432619663347163159827246859061333536916270981534424722202229272282459605781848554668959490176079698948945783150226371932309382639096798160879354065518441061322509342095547218098339425434271701582452967047378868783824446448983378000403360009164433066801529035436433221575736642477943515285049174995872624478780792548951488209063287356100855026185021977577340875734243222647217393702774204723774996150521242305948439684151390636636677896258700885125735444373783855694571755410049457734471133975340798281446217438690456867626908623337722929500816400616831898190537067853786259808075787995921473802123703315349057273589383279578413774351032796713923331566888212395332755210457000656007254579773414884655012654873197095362208948835703858756979122181818394868116898303494036700528631110144739105473097289902857622655866448286611993606160311065377496286865011 87614122600706873776765848205760083547428399799280340355919588700583256365530330334478559690811704976454300037168111992467279772864049231889769443129391062530994205527316219877864535795831654589118745677648043361204004010733795148141689245144605874687914247150268368263965198442894563902777744651228517329526500444258350002616129908603760578756484590341720757855489721218494038544253879087561524837074949836932531159464686711474315203235121701067657094574420615308864017664945565843544186797814273033076552521662357022605316960817048864634764562327722594861310631524136676491440966310572338141598204122782792263813914866782077049012587923985036578889189646908071548794172509415152560871573389646130909650616145977745178540018849072828900325788539031269160818585757080440364811378435158623059671507287905496070730468721794949399804611611180898336684498957018958369448146637779330374954669939154720980111298569076114772927834219347807884475882898581899418718046017895033703029751576999740513295914849676392898126002660794318126960250935130947420728136092401741623262430981573217405497700830146525451054389538608007076631154346117806479604169663905197237052405126909909536726997543660599455301442200677540914806444622042838613079339369248799719028849684001596477977796931043023773927415456362027443526226653036683808993583839528964275831598338718495919184585894164129587408842932550162667190438248406363358194665946041005605764326874782386091003806488644959664487725678042204255077921209692227730685186915981005506806272535952824349699578758126451376083803617662853214371636642095951222940658126572020842741662450024633678557698481305667278058756572929109255221703748327681950991035070678384432488316152967798778901246331295632075050451585419357789465211031953025369121623539185737598610513751722367563343034456189219456141312279824767111097365920767514834044389144184215405661295912466738100989543158203669198072724725211010583773309771489689084491186275711429212207649944296971037566050946921636071931374852594751563644967499072002347987731231551677382444779384985103933470209145241689697217770437096131951010001508509304387851541640135387808384875272519051262109953248216709068553026973280752797356821726027953753218150629802059526005373189160822042802756293406548079689410798049361890405271043619378145507396395609467020666995896637416031853311986338500488663914696065571580421831467977191216216997095319118196984392504059299702482230937081128064269324861680101829003230460799656341635187090809723855830278591568413624309156098632252000019198984185084324141187663255343032686255884723655987428561036935347334898803699786148371005701298446487702988220920040697182049698481411785614598992015437254150944253217335431466328398099700305406381779389096733098098627481114439888777483832779887884343081433322643482063164854563127887632164457424245634976970554204311783431321131845369406421856422581078723525877357123407412757033622416556412884381546717897816024030629116605827310670293188002843928636017853731673749587501331317792140448068803364491067508619313488142041240269211585605883172246622467460752904637718046016087997559309316880933012730972158028026163134125522922229461485497260460754250705378707780996359402296434728411068501091959980137737151113900591553326095448827915363999036507863953871783588326212325315636849219416170779820824549381448851200188713571387333911643290548177818117894150924847379465580121282844821910113612879575921534166811401561776861335765107079659088805847041177651192176344189310506950444473701745851726984416777610913650707589279060510284944018 141762628262444053764268208906553172566773300078305187698886786981345297437771716817733964356075156966391350368890278464914324620663884476317018017899680656646255818810723989472309204734070081690395623814854426792205866526753894590868086761501889014127380239761703393736259667218677724776407813924044767956727385112614069968463945776742296189153464679595711079926262682645961047196010082921000040421244456926892461020891237173070936636159351702877437552414279151658523510528922723578403957923765141519573153839563320071554754577438898828608707643876803497375738366934375314304415776595736787681330815487455264440233792785869223180669764550812467798466864952163210054521677303969332701040013745907279059675637545926302843137173773172419932122182317250174144255077056907281620066831291112443378633639175716335811252340804674392014429262580794476220608695859341059720335707755205265516598295025769111191145795176442382314981804922964429660987550225569708773636591536022051267517610353001311067997940846678130486095252305336009424599407727515743738942269146079286295802051421009945812155743786211525701280188627794282167107185550214799284429824635925394921696203977528559172416500738247893136547809423845067259917693745463834171499570539862854906605106024459007254406458925797345479948721676354843754182466956182369316451462170152519703316634215595108062235604375277270546739897584470760176886365349154057271776517636948666637652528690040253979295023599990618906081916131880681557460463382328427667563300062941261401670130959177238232319869765951033011487047906262558215738179501165356272509055882721341067121795343409293459235752830112762751534205251267219455261955670086937612978794652272038343851896220491494338616748376340467457704824509584630336317504172654453269089304864785408838789298054147230451583135746485543972742372981455172974771188128783088388414048767913796877916675859546864609394582509141343651905330249543752440478802893660306027990879044126727979428895312417574274828096000196058933538604214627123200114476137388035184844796622851865560174566297121497029321446750458505368106597900076579606919443685260985360166671787406230490680689085533142959095036220414589693880869488933629058157313325014030227466419177328147026028017334747312401366929610135270002854114476309489900868690429766523941208886701603034913917114497149144933246498198891209134247311194350684319844327784472935548032611799654676241865671800976979377281468945752632664062557276472511573122055565400515035332420517690799519514631952299653400212466664952752360216110039399908875185253060768842190891273666023055952774246971513824360134251628929265499980295276950016026634140558027566528992668816154714166063092294770076192952702813534290089474720532319968753544939216343592159432164397385421423202206035009160166802687215171198151022655030642826836577947607650617567286353193301109944310675197363810467744365764676625941624216782557679114339486589463935281668205993166881194024433989125770260377471822223439277150211754496209617264872550506313664764926849595913442555717682600844242896266454233563183224047980865690107970298340492250739862993709830559186881452415123548664662841030384223807355196929871044316448822460788757238730830536271775526692514718530650437005364059737238314482826911849444747262189573575717740131591664114208246789438972922731519837094413932661027264974539746368101257243210178760573150873104607925503386720159894697729476922768486076671283743115647105420533840457946925474527205704150535214351720807454334049612423541763604603474382850865064222907256867900344438006571809029 229376750863150927541034057112313256114201699877585528054806375681928553803302047152212524046886861942845650406058390457381604393527933708206787461029071719177250024338040209350173740529901736279514369492502470153409870537487689739009776006646494888815294486911971762000224865661572288679185558575273285286253885556872419971080075685346056767909949269937431837781752403864455085740263962008561565258319406763824992180355923884545251839394473403945094646988699766967387528193868289421948144721579414552649706361225677094160071538255947693243472206204526092237048998458511990795856742906309125822929019610238056704047707652651300229682352474797504377356054599071281603315849813384485261911587135553409969326253691904048021677192622245248832447970856281443305073662813987721984878209726271066438305146463621831881982809526469341414233874191975374557293194816360018089783854392984595891552964964923832171257093745518497087909639142312237545463433124151608192354637553917084970547361930001051581293855696354523384221254966130327551559658662646691159670405238481027919064482402583163217653444616358051152334578166402289243738339896332605764033994299830592158748609104438468709143498281908492591849251624522608174724138367506672784578909909111654625633955708460603732384255856840369253876137132716871197708693609219053125445046009681483979148232554313603981420190269441400134148740517020922844076803597560420629971183582989672243416855564822640070298830088635578570569641809922885812538384592020655398248486978922266908476403495130062582019448524077484387570851523925411430109816143261307495449714009293361909863457793433927137793451311418430029592961824196328710483659418414619563969829722950422776340212373459293117517994707636099532755276095003988125782715204607478638210928403971146437399811805869598014926170202674763428883685261279940085868554049550603222458437912098012283577971772013602710384125667345012849978054974754763024252112665149995112482065319838157191636545256714545312394146947117695005469979067221874763759443636460037532832527854403542942619345682106600962791655895700195065324368337172711557929445193770289748018213427541618299065564358052194221204989468631298762433896462214381855514135051041983980684569807130206552033390523908134444169685903541818082543525274358851791273961473385902086716283097212501934584110393786560965099810185229709622911225890416255900266159252450126764249608894973794438850064305036279079763699882833760728331882138152613402125286026200171376967607608500523375344910543868067024521622763585004360235309023584993199326440724024185223577529550746711940202808008449171695033055328715413870985996575396503729622361478068263711042367297566499780662084310207330343896956030869721555803118632020274159926718605440325257530791878499861311979689867789048051145768648493841633085819885205954724210112065074863202263323747505421727741996329209179874166222187257704665150094139681086527096520211880491694552587539884779010048464618242376087688142115411442121078847772349941291014460051837631456905374918399277933623226301914332384937506723445148789107220227488157568723202978210296755950991269139876067814465146095706692689004164509746729584658415368304777203073166167465019727189938568210255103583219622610417143101210851138906036153007298272662626188610083581694003375252440420572105075822142147690616915238482042476116174728459939488591154853469308750968990998758850350766185740015980574298832882098956247205277282458506982310701793712032554186294509997576392002912983798523360119373986237306349326109835281841833820907575489623498516856753047 371139379125594981305302266018866428680974999955890715753693162663273851241073763969946488402962018909237000774948668922295929014191818184523805478928752375823505843148764198822482945263971817969909993307356896945615737064241584329877862768148383902942674726673675155736484532880250013455593372499318053242981270669486489939544021462088352957063413949533142917708015086510416132936274044929561605679563863690717453201247161057616188475553825106822532199402978918625911038722791013000352102645344556072222860200788997165714826115694846521852179850081329589612787365392887305100272519502045913504259835097693321144281500438520523410352117025609972175822919551234491657837527117353817962951600881460689029001891237830350864814366395417668764570153173531617449328739870895003604945041017383509816938785639338167693235150331143733428663136772769850777901890675701077810119562148189861408151259990692943362402888921960879402891444065276667206450983349721316965991229089939136238064972283002362649291796543032653870316507271466336976159066390162434898612674384560314214866533823593109029809188402569576853614766794196571410845525446547405048463818935755987080444813081967027881559999020156385728397061048367675434641832112970506956078480448974509532239061732919610986790714782637714733824858809071714951891160565401422441896508179834003682464866769908712043655794644718670680888638101491683020963168946714477901747701219938338881069384254862894049593853688626197476651557941803567369998847974349083065811787041863528310146534454307300814339318290028517399057899430187969645847995644426663767958769892014702976985253136843220597029204141531192781127167075463548165745615088501557176948624375222461120192108593950787456134743083976566990460100604588618462100219377261931907300233268756555276189109860016828466509305949160307401626058242735113060639742178333691610872486680011809161494647631560467319778708176486356501883385224298515464730915558810301140472944363964885171065440569132119587222242947313753939008583281848997963873919773848072717677324477255408502793911979228097992113102646158700433430966237249291164848888879031275108184885214947848789746253443585337180300025689045888456314765951148010913671448376056014208150988984458353578061407858655446845536615513677088085397639750668341692142651903152426027925169798815536848501224890935705898346308384120918757158537084766940220110487036923062312282220694628470680715736106013258457045168828586393392394439414625124975247341591600686412300028126191322894859542496167720424734089428537756720451419062984902074511693784793027414468803216769767892977054979962996055167306957644679370966291852346519756256502036095830240035036113721213946725176604977406536849658844404011645277839164340242913471657821783917416962956275885282735181895902798208217948455863665039784108474915848781560788059672725480769549676940806531672052671526572990341910587951934330606774310922238765641436006801344426976220793533051660204072898607368146348065613937634881398229059526846150908279332602343945121670301767995191376178943984515176627833773177678711972331268208353847676693501318702547495813984978970435254695917561219255357351845194893970536939855345239349093651895626956222258458020474839985781796097938153260854148465270588377220518979919147717409888378183659299434134966916554628818894514795064879210454009652414703503381149268206307589848398063648069324119864103366775854152905899910678303775755650585032918489020398105612402844542251658958028713500214148111606354633791252857409731797528000910952800492686146906056728164443389967936523428562076 600516129988745908846336323131179684795176699833476243808499538345202405044375811122159012449848880852082651181007059379677533407719751892730592939957824095000755867486804408172656685793873554249424362799859367099025607601729274068887638774794878791757969213585646917736709398541822302134778931074591338529235156226358909910624097147434409724973363219470574755489767490374871218676538006938123170937883270454542445381603084942161440314948298510767626846391678685593298566916659302422300247366923970624872566562014674259874897653950794215095652056285855681849836363851399295896129262408355039327188854707931377848329208091171823640034469500407476553178974150305773261153376930738303224863188017014098998328144929734398886491559017662917597018124029813060754402402684882725589823250743654576255243932102959999575217959857613074842897010964745225335195085492061095899903416541174457299704224955616775533659982667479376490801083207588904751914416473872925158345866643856221208612334213003414230585652239387177254537762237596664527718725052809126058283079623041342133931016226176272247462633018927628005949344960598860654583865342880010812497813235586579239193422186405496590703497302064878320246312672890283609365970480477179740657390358086164157873017441380214719174970639478083987700995941788586149599854174620475567341554189515487661613099324222316025075984914160070815037378618512605865039972544274898531718884802928011124486239819685534119892683777261776047221199751726453182537232566369738464060274020785795218622937949437363396358766814106001786628750954113381075957811787687971263408483901308064886848710930277147734822655452949622810720128899659876876229274506916176740918454098172883896532320967410080573652737791612666523215376699592606587882934581869410545511161672727701713588921665886426481435476151835070830509743504015053146508296227884294833330924592109821445072619403574070030162833843831369351861440199053278488983028223960296252955009683803042362701985825846664899616389894431448944478562349070872727633363410308110250509852331658951445413257661334698954904758541858895498755334574422002722778334072801564856203098642489467088811817801637531401505015157677187218748662413362392769185583427097998188835558791588560130094798382563581289706301417218906167941165025027193483416613376538328114641452896028038783085335284722266863446118569350628380069762975183196120376646289373189076531829589602265119565800411049537536808868711420154120726321552777738377372627617800857789267635734691846270204453040035787449255712192122761080686728086569895273838134508817212638046332767516479833179862988412167750200362286360093241952288427743023485878863514164093951077403411287713727387260915184736880746614875273733201080957796360517073398376427224242674493748154385144047161585770587256269094224512158881417194294801054736284998171737800343971813000688311953399794667855782170216076810139192035271924405061919852168532527013224918670773381072936439214121363225610522435753756053046323519307907299196092199293792654181576578575676686394469309802170286429509012771279901123860761438488435842005245416704296912844251764976248110311322510382707314962050040849359403717266524513760607653870854968793123687278185210413408196036899681157775871271291566481439516126555132926445990072514566793742881128138342168995049390999590617207026901070924890896745979497323996666247078439552917117378075088855102125626204919091639926658878074588532683989165694297680564119385155244045370990582899794724145687998357546775051380769851171514238217302126602521428747890549072018879591435040285315123 971655509114340890151638589150046113476151699789366959562192701008476256285449575092105500852810899761319651955955728301973462421911570077254398418886576470824261710635568606995139631057845372219334356107216264044641344665970858398765501542943262694700643940259322073473193931422072315590372303573909391772216426895845399850168118609522762682036777169003717673197782576885287351612812051867684776617447134145259898582850245999777628790502123617590159045794657604219209605639450315422652350012268526697095426762803671425589723769645640736947831906367185271462623729244286600996401781910400952831448689805624698992610708529692347050386586526017448729001893701540264918990904048092121187814788898474788027330036167564749751305925413080586361588277203344678203731142555777729194768291761038086072182717742298167268453110188756808271560147737515076113096976167762173710022978689364318707855484946309718896062871589440255893692527272865571958365399823594242124337095733795357446677306496005776879877448782419831124854269509063001503877791442971560956895754007601656348797550049769381277271821421497204859564111754795432065429390789427415860961632171342566319638235268372524472263496322221264048643373721257959044007802593447686696735870807060673690112079174299825705965685422115798721525854750860301101491014740021898009238062369349491344077966094131028068731779558878741495926016720004288886003141490989376433466586022866350005555624074548428169486537465887973523872757693530020552536080540718821529872061062649323528769472403744664210698085104134519185686650384301350721805807432114635031367253793322767863833964067120368331851859594480815591847295975123425041974889595417733917867078473395345016724429561360868029787480875589233513675477304181225049983153959131342452811394941484256989778031525903254947944782100995378232135801746750166207148038406217986444203411272121630606567267035134537349941542020317725853744825423351793953713943782770597393427954047767927533767426394978784486838632841745202883487145630919870691507283184156182968187176808914359948207169640562796947017861188017595932186300811671293887627222951832839964387983857437315878558071245222868581805040846723075675063428364510403682857031803154012396986547776046913708156206241219028135242916930895994253338804775695535175559265279690754142566622694843575631586560175657972761792426953471547137228300059950136340487133326296251388814050284230735800281536517062795993854037540006547513120760967402863352619969209401544201567663860883169165063995536203507873989801620660517801138147149554797348349828293610240052515135984286247726156917968375163805367669244004772612918580280089543242135365550259924191112439525008927674112437520162143417596273719677744846358796960700759986870034249008160091456704430270426782343481673385464487042680375823921201302769716903517845786231410525824741362677629118485071847339382355160557987398091126365878698715984158617809968533814569345646994174605988099418194261832978668783819369990681204917536966826042243107573125256525521700245978454389660685981114270944685640605053078802572733769756644195852922110205615615391747578961227080746577206300268534217407392694554297687803464369105847002964506864420079909536643230888248181818695779095929132125440031752027893347074112845593707482402944977402180562273309085549678209894105412271906111524934543311449482878473264872554668287950980765447399208719205492402059071997539837337181850344183269022084183318078669731787999786297029948611613294938293799604712180566304238179582969042239128254927095207575653947277236462269559371563713877199 1572171639103086798997974912281225798271328399622843203370692239353678661329825386214264513302659780613402303136962787681650995829631321969984991358844400565825017578122373015167796316851718926468758718907075631143666952267700132467653140317738141486458613153844968991209903329963894617725151234648500730301451583122204309760792215756957172407010140388474292428687550067260158570289350058805807947555330404599802343964453330941939069105450422128357785892186336289812508172556109617844952597379192497321967993324818345685464621423596434952043483962653040953312460093095685896892531044318755992158637544513556076840939916620864170690421056026424925282180867851846038180144280978830424412677976915488887025658181097299148637797484430743503958606401233157738958133545240660454784591542504692662327426649845258166843671070046369883114457158702260301448292061659823269609926395230538776007559709901926494429722854256919632384493610480454476710279816297467167282682962377651578655289640709009191110463101021807008379392031746659666031596516495780687015178833630642998482728566275945653524734454440424832865513456715394292720013256132307426673459445406929145558831657454778021062966993624286142368889686394148242653373773073924866437393261165146837847985096615680040425140656061593882709226850692648887251090868914642373576579616558864979005691065418353344093807764473038812310963395338516894751043114035264274965185470825794361130041863894233962289379221243149749571093957445256473735073313107088559993932335083435118747392410353182027607056851918240520972315401338414731797763619219802606294775737694630832750682674997397516066674515047430438402567424874783301918204164102333910658785532571568228913256750528770948603440218667201900036890854003773831637866088541000752998322556614211958703366953191789681429380258252830449062645545250765219353656334634102281277534335864231452051639886438708607380104375864149095205606265622405072442696972006730893646382963731570969896469412220825449386455022736176651827965707979990743419140646594464293218697029140573311393620427301897495901922619729876491430941635386093296610405557024634404820591082499926782967369889046860399983310056004400262893812090777872796452042615230252010585822106567635473838251004623782609424949218348114900421279969800722728658975878656229082257208075590871614414671895460380239625238545522822175517298063035133332460863779615669440465345879873833000919847336928112333530662906251426701633847082520180601729992596827202401990835299595575015435268448576239295323245513812783278881824875236124692622187962802427452690561468751802727559336780956787331555568031530364865854870868707832566728014229064424018142189842936296641401499698435346880298342888594951478047439754757061277060268410676232402765950452584655570829505067443972720756136904887982802618497064517958254130784403148326168713175678317430438471642007238137330774064208230318401150623121046078469978501060827794264317767555678924538632315625058589191219573126043727528436844874125238335306866917910707098278821655140784129995783284557374194653376332979926433495208245080037858167526909912528235999343937475191057899716682975849179457433543913701405069988882866454656835361833213203596814828441301656377855595460253705003396731598233467409473629245772039697554917511771145061690411651254544727600893696029478933012595859434208195462375797261538801746727503897882825474297574307618028263991089179763996059924932715953011249877615759233851173155030342400939194513089662439487603069727341355618949434140556477345557053697729004401837826308481149150806603999192322 2543827148217427689149613501431271911747480099412210162932884940362154917615274961306370014155470680374721955092918515983624458251542892047239389777730977036649279288757941622162935947909564298688093075014291895188308296933670990866418641860681404181159257094104291064683097261385966933315523538222410122073668010018049709610960334366479935089046917557478010101885332644145445921902162110673492724172777538745062242547303576941716697895952545745947944937980993894031717778195559933267604947391461024019063420087622017111054345193242075688991315869020226224775083822339972497888932826229156944990086234319180775833550625150556517740807642552442374011182761553386303099135185026922545600492765813963675052988217264863898389103409843824090320194678436502417161864687796438183979359834265730748399609367587556334112124180235126691386017306439775377561389037827585443319949373919903094715415194848236213325785725846359888278186137753320048668645216121061409407020058111446936101966947205014967990340549804226839504246301255722667535474307938752247972074587638244654831526116325715034802006275861922037725077568470189724785442646921734842534421077578271711878469892723150545535230489946507406417533060115406201697381575667372553134129131972207511538097175789979866131106341483709681430752705443509188352581883654664271585817678928214470349769031512484372162539544031917553806889412058521183637046255526253651398652056848660711135597487968782390458865758709037723094966715138786494287609393647807381523804396146084442276161882756926691817754937022375040158002051722716082519569426651917241326142991487953600614516639064517884398526374641911253994414720849906726960179053697751644576652611044963573929981180090131816633227699542791133550566331307955056687849242500132095451133951555696215693144984717692936377325040353825827294781346997515385560804373040320267721737747136353082658207153473843144730045917884466821059351091045756866396410915789501491039810917779338897430236838615804233873293655577921854711452853610910614110647929778620476186884205949487671341827596942460292848940480917894087363127936197764590498032779976467244784979066357364098845927960292083268565115096851123338568875519142383200134899647033406022982808654343682387546407210865001637560192135279010894674618774576418263834535143935919836399774698285715190046258455636038212387030972476293722654526363095083468801350912941965691854159930158063736720128873445175129524516943791433249146967843487583465082612566036603946192402963456458184600332444112442803197235315433443796682963022385679489970537791096037692743076604736088975285493698925162495360935700774369638467789448987922109970149594614683942333302282461305569075612135955509023715939162314629222893798551717762037047138444925240562857407157014925997611848549117358185243179585263806723819799834234861771976570634558851993454538355946548923543489346620492491332051606321444767029321837030237087788469594642363609964761730284912638050509886891567860003392496034408733354381840951280578414440043167232619979067633595173790681764398828318880293981386058729006228978001724233711089637115528143627746922898702271804476922983244383396864826238467999092873453251972301659799868697633283506351471672189904559674291239349634135522171629985495302820703358617633405037320456748547242252684960340094405810787801441750839124120793977519644945254270526411356415015454878648272873506293513110430323063086719601333241775276899222033334060933837903582961154816639430887806126384600733287207781907907659857129017109598716473811980792936580055785103544943418710178167713069521 4115998787320514488147588413712497710018808499035053366303577179715833578945100347520634527458130460988124258229881303665275454081174214017224381136575377602474296866880314637330732264761283225156851793921367526331975249201371123334071782178419545667617870247949260055893000591349861551040674772870910852375119593140254019371752550123437107496057057945952302530572882711405604492191512169479300671728107943344864586511756907883655767001402967874305730830167330183844225950751669551112557544770653521341031413412440362796518966616838510641034799831673267178087543915435658394781463870547912937148723778832736852674490541771420688431228698578867299293363629405232341279279466005752970013170742729452562078646398362163047026900894274567594278801079669660156119998233037098638763951376770423410727036017432814500955795250281496574500474465142035679009681099487408712929875769150441870722974904750162707755508580103279520662679748233774525378925032418528576689703020489098514757256587914024159100803650826033847883638333002382333567070824434532934987253421268887653314254682601660688326740730302346870590591025185584017505455903054042269207880522985200857437301550177928566598197483570793548786422746509554444350755348741297419571522393137354349386082272405659906556246997545303564139979556136158075603672752569306645162397295487079449355460096930837716256347308504956366117852807397038078388089369561517926363837527674455072265639351863016352748244979952187472666060672584042968022682706754895941517736731229519561023554293110108719424811788940615561130317453061130814317333045871719847620918729182584433365199314061915400465200889689341692396982145724690028878383217800085555235438143616531802843237930618902765236667918209993033587457185311728888325715331041132848449456508169908174396511937909482617806705298606656276357426892248280604914460707674422548999272083000584534709847039912551752110150293748615916264957356668161938839107887796232384686193881510909867326706250836629683259748678314098506539418561590901357529788576373084769405581235090060982735448024244357788750863100647770578794069571583857887108438337001101649605570148857290881813297849338943668548425152855523601462687609920255996586942262263658033568630760911317861384658215488784246985141353627125795095898744377140992493511022592148918656982773876586804460930351096418452012269517999115898171824426130216801262214692557635132319505810031896737639976210373287463055179850042859950780814926007764066812605162863806348183238263052033200035600892688682098520480829246227075564787897621804182592725753898465145433638073487891702844830479881949826916503732304734504322660317695754676698163823679107960475492125397602210477111834390855904014282050909580700941238306474823314107406855601472965623357609599581568441353616561330905999316490151789526438296898752820026107355037707178162167714034263979362015131353858629822106115814551763168179944958076315557766970655470157874282529285963837176682825511950157051222965622078136261791226715076518913721306961077939718257889288735957920677547683385693074947357719038655439724186246804271569257164025440671863746266836177462862376639666220232576322259782381700497943442134838756316635230530846487103166300113491560937529886699603339138918903228218962712294332604389673102592237968519692303943096611594639133411681497471229772136716653411727840407630067787950158161742958776531098347803867820728458587054175899365329301700209615175044583938549597137434134309846981831827000639474263172774810851635249015476078451250155193819369034490665584457622929853424567860984771712261843 6659825935537942177297201915143769621766288598447263529236462120077988496560375308827004541613601141362846213322799819648899912332717106064463770914306354639123576155638256259493668212670847523844944868935659421520283546135042114200490424039100949848777127342053551120576097852735828484356198311093320974448787603158303728982712884489917042585103975503430312632458215355551050414093674280152793395900885482089926829059060484825372464897355513620253675768148324077875943728947229484380162492162114545360094833500062379907573311810080586330026115700693493402862627737775630892670396696777069882138810013151917628508041166921977206172036341131309673304546390958618644378414651032675515613663508543416237131634615627026945416004304118391684598995758106162573281862920833536822743311211036154159126645385020370835067919430516623265886491771581811056571070137314994156249825143070344965438390099598398921081294305949639408940865885987094574047570248539589986096723078600545450859223535119039127091144200630260687387884634258105001102545132373285182959328008907132308145780798927375723128747006164268908315668593655773742290898549975777111742301600563472569315771442901079112133427973517300955203955806624960646048136924408669972705651525109561860924179448195639772687353339029013245570732261579667263956254636223970916748214974415293919705229128443322088418886852536873919924742219455559262025135625087771577762489584523115783401236839831798743207110738661225195761027387722829462310292100402703323041541127375604003299716175867035411242566725962990601288319504783846896836902472523637088947061720670538033979715953126433284863727264331252946391396866574596755838562271497837199812090754661495376773219110709034581869895617752784167138023516619683945013564573541264943900590459725604390089656922627175554184030338960482103652208239245795990475265080714742816721009830136937617368054193386394896840196211633082737324308447713918805235518803585733875726004799290248764756943089452433917133042333892020361250871415201811971640436506151705245592465441039548654077275621186818081599803581565664666157197507781622477606471116977568894390549215214654980659225809631026937113540249706646940031563129062639196721841909297064056551439415255000248931065426353785884545333488906136689770517518953559256328046166528068755056757472162301994507188806732456664399300490475409620826350789225300270063565605499600824173665740189960474360105083818462592579696793834293199927782769495347531895217728900410294375641226508491384635933336801124901717716144679670872247750920007483672563263544994502838176714678223980678130324178807112322277439433079104142790449766683676786668313418293791902808794407858907779552723970346364927730221213224209923835036858192585351154545300526713528480764766614507566053202165678689091242496075415596250258096732987681798083925672266030155622252390210528285558620700479122313438167420873207935209266795106552645555440250112521484247291016248749814733335398841724911226358118112544995145608556027799492135747004245172338236956922331131711359312082214011955241339105097384445953164248528505280346801140968815491493189734879734666853562649464615973187086020849699590816895386811057976435099228479770609517771785681465497204177938952973274441074858204458015115035963007306507629558425268239546195781571934733539222469298912980611260837447389247485352884338314361514576758413655179371221310161333838888910117262618966662543475486514397077917999483435041017095464663621262714806765858863906062018633543156675333207468359753910293181015283602164513408033398367986571162939425331364 10775824722858456665444790328856267331785097097482316895540039299793822075505475656347639069071731602350970471552681123314175366413891320081688152050881732241597873022518570896824400477432130749001796662857026947852258795336413237534562206217520495516394997590002811176469098444085690035396873083964231826823907196298557748354465434613354150081161033449382615163031098066956654906285186449632094067628993425434791415570817392709028231898758481494559406598315654261720169679698899035492720036932768066701126246912502742704092278426919096971060915532366760580950171653211289287451860567324982819287533791984654481182531708693397894603265039710176972597910020363850985657694117038428485626834251272868799210281013989189992442905198392959278877796837775822729401861153870635461507262587806577569853681402453185336023714680798119840386966236723846735580751236802402869179700912220786836161365004348561628836802886052918929603545634220869099426495280958118562786426099089643965616480123033063286191947851456294535271522967260487334669615956807818117946581430176019961460035481529036411455487736466615778906259618841357759796354453029819380950182123548673426753072993079007678731625457088094503990378553134515090398892273149967392277173918246916210310261720601299679243600336574316809710711817715825339559927388793277561910612269902373369060689225374159804675234161041830286042595026852597340413224994649289504126327112197570855666876191694815095955355718613412668427088060306872430332974807157599264559277858605123564323270468977144130667378514903606162418636957844977711154235518395356936567980449853122467344915267188348685328928154020594638788379012299286784716945489297922755047528898278027179616457041327937347106563535962777200725480701931412833339279904582397792350046967895512564486168860536658171990735637567138380009635131494076595389725788389165365720281913137522152077901233298946648950346505381698653589265804382080744074626691381966260412198680801158632083649340289063600392791012206118867790289976792713329170225082524790014998046676129609636812723645431175870350666682213435244951267079365480364714909453978670543996119364071945862472523658969970605661965402562170541494250738982895193308784171560722090120070176166318110315723641842570131530474842533262484866416263330700248821557189120217673713740246038888798968119157828875116411570008474525518998175215355517071325780298057235956493171550221857212000081294191750055634876643877153150708597695503111598707822891764216642558879489560524584671534229489807000238196973925897947812538817629287855155989298892967983610352751711872380975154658689062149193943165383838647113110084379431463366477241972899863284286533256509990029835804737220831744503264133790624776275164667408665261952156128186494104122376214089134494555782240019997241812565567385776696393631740501824191280709973208317789966424474507647573752054337752135544283235424971103389211753182868203322410905582679358529820302212586991416160910791881962449323740190681256936835271104318405857053965323112056494846211067089632036859765599705030188696824136039885677350495332776849603965166409487355239456571057197529230202315684848549509345803231400088760337521649814293070329759326257712684071899173026434734064638556312413359978086423420727409368567396979610221796393787931850138878183529372672634150796384210383397554100800975325760514406102311672738501372431710469569114029154567347497171438518331991845175696129572122501938033032178451229774510603094541807405333127078836829485178405690809285919609909104112550049774267748971030963251792554432147711137593207 17435650658396398842741992244000036953551385695929580424776501419871810572065850965174643610685332743713816684875480942963075278746608426146151922965188086880721449178156827156318068690102978272846741531792686369372542341471455351735052630256621445365172124932056362297045196296821518519753071395057552801272694799456861477337178319103271192666265008952812927795489313422507705320378860729784887463529878907524718244629877877534400696796113995114813082366463978339596113408646128519872882529094882612061221080412565122611665590236999683301087031233060253983812799390986920180122257264102052701426343805136572109690572875615375100775301380841486645902456411322469630036108768071104001240497759816285036341915629616216937858909502511350963476792595881985302683724074704172284250573798842731728980326787473556171091634111314743106273458008305657792151821374117397025429526055291131801599755103946960549918097192002558338544411520207963673474065529497708548883149177690189416475703658152102413283092052086555222659407601518592335772161089181103300905909439083152269605816280456412134584234742630884687221928212497131502087253003005596492692483724112145996068844435980086790865053430605395459194334359759475736447029197558637364982825443356478071234441168796939451930953675603330055281444079295492603516182025017248478658827244317667288765918353817481893094121013578704205967337246308156602438360619737061081888816696720686639068113031526613839162466457274637864188115448029701892643266907560302587600818985980727567622986644844179541909945240866596763706956462628824607991137990918994025515042170523660501324631220314781970192655418351847585179775878873883540555507760795759954859619652939522556389676152036971928976459153715561367863504218551096778352844478123662736250637427621116954575825783163833726174765976527620483661843370739872585864990869103908182441291743274459769445955426685341545790542717014781390913574252095999549310145494967700136138203480091407396840592429741497517525833346098139229041161391994525300810661588676495260590512117169158290889999266617993951950470263779099911108464587147102842321380570956239438386668579286600843131749468600997542775505652268817481525813868045534390030626080857786146671509591421318359246789068196356016075808331439399174636933782284259505149603355648286428770497718201190793475307964561331780810870498949935139824526004580817341389345903556836780666837290411817686360186378010212648214573437711446350636380464998459130603040620664626936934520716069015969307467566290931901955913118605568820060289737636771527719252843887470821787067429935853059105478837496174471471382598462942789903559851063108250034790660266691766093080941115417769582559775083585759474724477358000548611312022859994016416497456654900022584887142828596700547757947918709088484308640982982026954490364728183622275206382239238473412218814685035933132372754816874448982450656298179038598478548289420848877851155695200842777111318461336806149496309633606873675681858303226252082443827132117897992800969568284394731803133398221343396171847813716985430035929233424331630514743861282129950766307378302846732646305936932196083764965149464522696431824081099679577232908460872269505428987806028322201843684854491931938242577509285687801052944627878742524404530404286117851354819056171396334659755464106211856620095297190994658391548190222811113398744416673187315259786086889840790424190488406236407288701137298654388651182643969200419937516467219468325239174224357256614171191990984898848118721562366142493387969663014405731065057869913484438996650160541003310650562924571 28211475381254855508186782572856304285336482793411897320316540719665632647571326621522282679757064346064787156428162066277250645160499746227840075016069819122319322200675398053142469167535109021848538194649713317224801136807868589269614836474141940881567122522059173473514294740907208555149944479021784628096601995755419225691643753716625342747426042402195542958520411489464360226664047179416981531158872332959509660200695270243428928694872476609372488964779632601316283088345027555365602566027650678762347327325067865315757868663918780272147946765427014564762971044198209467574117831427035520713877597121226590873104584308772995378566420551663618500366431686320615693802885109532486867332011089153835552196643605406930301814700904310242354589433657808032085585228574807745757836386649309298834008189926741507115348792112862946660424245029504527732572610919799894609226967511918637761120108295522178754900078055477268147957154428832772900560810455827111669575276779833382092183781185165699475039903542849757930930568779079670441777045988921418852490869259172231065851761985448546039722479097500466128187831338489261883607456035415873642665847660819422821917429059094469596678887693489963184712912893990826845921470708604757259999361603394281544702889398239131174554012177646864992155897011317943076109413810526040569439514220040657826607579191641697769355174620534492009932273160753942851585614386350586015143808918257494734989223221428935117822175888050532615203508336574322976241714717901852160096844585851131946257113821323672577323755770202926125593420473802319145373509314350962083022620376782968669546487503130655521583572372442223968154891173170325272453250093682709907148551217549736006133193364909276083022689678338568588984920482509611692124382706060528600684395516629519061994643700491898165501614094758863671478502233949181254716657493073548161573656411981921523856659984288194740889222396480044502840056478080293384772186349666396550402160892566028924241770030561117918624358304258096831451368787238629980886671201285275588558793298767927702722912049169822301136945992535156059731666512583207036290024934909982382787943358546705604273127570968148437471054830988023020064607028429583339410252418508236791579767587636469562512710038926147606283173972661659503350045614959753971160544768504102484237964240079592443427122390206897222440507424460658822701219936334412715126201614072737160008840633674898360267672201962703849450081588599501344978160501570729310863512428843579493400205629540553979001795780738902194110092531466767872828555266059382875242142780438805397420181647725440080633496185236620665325763846781437016669935442539713401267902239591629377367474371927759612395579820806591219227741491791173387587187527402681678449612783086516689009519042685835042313730158729085726121206550367803650883996468685446466487092212446791202185239159543580706124809154626584526733891723150141987690301472289052200262061277880201306931620673923797565657220425488836125005598493907509019279098236436303849854934891396451226649344465310975433031613413422015618732753369464217307865239194058979554731473787790201972102876994129725313967280834313072205777627312499768337570430110686562575758747132286034885915584027518366672307216065598101161031031051299469933773097801265728073151212844103246473537938993478884490770891681401378055945648991198136873913150518984860053761158518600310359538219642973583904460139655630646233826878773541322921875549499397919555013684827451798421576525118063735677603899968056951779307579572118518281114832137662455469959901953095435458361700517778 45647126039651254350928774816856341238887868489341477745093042139537443219637177586696926290442397089778603841303643009240325923907108172373991997981257906003040771378832225209460537857638087294695279726442399686597343478279323941004667466730763386246739247454115535770559491037728727074903015874079337429369296795212280703028822072819896535413691051355008470754009724911972065547042907909201868994688751240484227904830573147777829625490986471724185571331243610940912396496991156075238485095122533290823568407737632987927423458900918463573234977998487268548575770435185129647696375095529088222140221402257798700563677459924148096153867801393150264402822843008790245729911653180636488107829770905438871894112273221623868160724203415661205831382029539793334769309303278980030008410185492041027814334977400297678206982903427606052933882253335162319884393985037196920038753022803050439360875212242482728672997270058035606692368674636796446374626339953535660552724454470022798567887439337268112758131955629404980590338170297672006213938135170024719758400308342324500671668042441860680623957221728385153350116043835620763970860459041012366335149571772965418890761865039181260461732318298885422379047272653466563292950668267242122242824804959872352779144058195178583105507687780976920273599976306810546592291438827774519228266758537707946592525933009123590863476188199238697977269519468910545289946234123411667903960505638944133803102254748042774280288633162688396803318956366276215619508622278204439760915830566578699569243758665503214487268996636799689832549883102626927136511500233344987598064790900443469994177707817912625714238990724289809147930770047053865827961010889442664766768204157072292395809345401881205059481843393899936452489139033606390044968860829723264851321823137746473637820426864325624340267590622379347333321872973821767119707526596981730602865399686441690969812086669629740531431939411261435416414308574079842694917681317366532688605640983973425764834199772058635444457704402397325872612760781763930791548259877780536179070910467926218592722178667163774251607209771635067168196253659686049357670595891149420769456522645147548736022596171965691212976707099805504545878475073963973370036333276294383463089359008954828809301778235282163682091505412060834140283827899219259120763900416790531254735682441270385918735086951538678033311006374395798647227224517151754104472105170909517826846131045492584720454050212175352064023519300045851981358625500029859913904133093470516427920921698556523286469362071670804150023211137035587933118292902830910594494986667909627184487611583578499186112333681411092136708362309724226920229786505647963436058562506283395470448415487345529194955354904392350693952218849791721998899210387396698094947069437986539273896661871282535590071678077438174210429847533349830605374361196869068741693474451685264614404053844579513838497563971501033509184548021329180586168849761709901078113216973081044084042939135260603715153530059095709800687456797133761101722925368554201842655904459680845958452477863532318829203461227139001048768682602888548938379983055341109505497781166093048704749182931061921397732245983777594902209451393599447914803338571558832081187734938314357087759268882010298610549793574883788962083975679178212458177628205551845924506031900274642808197694457585096347390986978592372714337197181420947987311894935658047369020944605490151149962410131379820311748840792929300622478061417510523341813065966617387880252859051809055035747717109048634525722621530423094272695549235132924012179890007575939908956552113636438769012263442349 73858601420906109859115557389712645524224351282753375065409582859203075867208504208219208970199461435843390997731805075517576569067607918601832072997327725125360093579507623262603007025173196316543817921092113003822144615087192530274282303204905327128306369976174709244073785778635935630052960353101122057465898790967699928720465826536521878161117093757204013712530136401436425773706955088618850525847623573443737565031268418021258554185858948333558060296023243542228679585336183630604087661150183969585915735062700853243181327564837243845382924763914283113338741479383339115270492926956123742854098999379025291436782044232921091532434221944813882903189274695110861423714538290168974975161781994592707446308916827030798462538904319971448185971463197601366854894531853787775766246572141350326648343167327039185322331695540468999594306498364666847616966595956996814647979990314969077121995320538004907427897348113512874840325829065629219275187150409362772222299731249856180660071220522433812233171859172254738521268739076751676655715181158946138610891177601496731737519804427309226663679700825885619478303875174110025854467915076428239977815419433784841712679294098275730058411205992375385563760185547457390138872138975846879502824166563266634323846947593417714280061699958623785265755873318128489668400852638300559797706272757748604419133512200765288632831362819773189987201792629664488141531848509762253919104314557201628538091477969471709398110809050738929418522464702850538595750336996106291921012675152429831515500872486826887064592752407002615958143303576429246281885009547695949681087411277226438663724195321043281235822563096732033116085661220224191100414260983125374673916755374622028401942538766790481142504533072238505041474059516116001737093243535783793452006218654375992699815070564817522505769204717138211004800375207770948374424184090055278764439056098423612493668746653917935272321161807741479919254365052160136079689867667032929239007801876539454689075969802619753363082062706655422704064129569002560772434931079065811767629703766694146295445090716333596552744155764170223227927920172269256393960620826059403152244466003694254340295723742933839650447761930793527565943082102393556709446585694802620254669126596591298371814488274208311288374679384722493643633873514179013091924445185294633738973646681349978362162209341745575255751513798856457469928444453486166819598306784982254986854971679167483080721722414138055913473600888645353326336786001600589224767645522314095921321127328097077265471157852409706344133303668502355805946848168890293469737129448348432581907793231303939266745829866647712802034126156505663936899721948187676837326464745875024847815889859273288807350934725198941913179960341582895386486397914799379773396682221073055962906180913968370632385408236167259936551054083717634256258357665554515208180566664132055816589293004123094544622373126127618035918439744479322573859151233998953278375278250961245390974559809184401280810750484584545925693055291041270121002023604990505692510839351077297185101822328843294262235074640561016667501435972352766246245222249400089060229254953883250676852059925191646711699526818090667107987078706099216252373768682245394656946482070600391973674852909528665282857009640481890123115006730477682391950726006817573997657244744377889281735633451063980838161878659993750770282846172619084861225045454642907422782103124090461509500629774353404216208980448559946856304940191051846263688615466015307435266543879260853457324242227112370203326521498480046052003128807251442293294722145238395378916454066731874227373963960127 119505727460557364210044332206568986763112219772094852810502624998740519086845681794916135260641858525621994839035448084757902492974716090975824070978585631128400864958339848472063544882811283611239097647534512690419488093366516471278949769935668713375045617430290245014633276816364662704955976227180459486835195586179980631749287899356418413574808145112212484466539861313408491320749862997820719520536374813927965469861841565799088179676845420057743631627266854483141076082327339705842572756272717260409484142800333841170604786465755707418617902762401551661914511914568468762966868022485211964994320401636823992000459504157069187686302023337964147306012117703901107153626191470805463082991552900031579340421190048654666623263107735632654017353492737394701624203835132767805774656757633391354462678144727336863529314598968075052528188751699829167501360580994193734686733013118019516482870532780487636100894618171548481532694503702425665649813490362898432775024185719878979227958659859701924991303814801659719111606909374423682869653316328970858369291485943821232409187846869169907287636922554270772828419919009730789825328374117440606312964991206750260603441159137456990520143524291260807942807458200923953431822807243089001745648971523138987102991005788596297385569387739600705539355849624939036260692291466075079025973031295456551011659445209888879496307551019011887964471312098575033431478082633173921823064820196145762341193732717514483678399442213427326221841421069126754215258959274310731681928505719008531084744631152330101551861749043802305790693186679056173418396509781040937279152202177669908657901903138955906950061553821021842264016431267278056928375271872568039440684959531694320797751884168671686201986376466138441493963198549722391782062104365507058303328041792122466337635497429143146846036795339517558338122248181592715494131710687037009367304455784865303463480833323547675803753101219002915335668673626239978774607548984399461927613442860512880453910169574678388807539767109052748576676890350766491563983190956846347946700614234620364888167269383497370804351365535805290396124173831955305751631216717208823921700988648841803076318319914899530863424469030599032111821557176357530079482918971097003717758485605546127181116266509490474970466184796783327783917701413398272212688345602085164993709329122620364280897296293284253289062520173252256117155668970637920924070411955891772813701102724660067801175772626313407977497120188691205307695411501630449138671778615784612349242049026653600551940519924080510494156514805537943739065141071721204064232116116258059766395404814882438452858163548058804938742488466229890857129508453835640273385027252158420318264305346618818002306289629591292607132179191374617385385608302196077868343751659059595236802842785250906222457086313605434146980901617067464861632718862423583949874041115817320430993346848702608383119937097628651545102987765808503160028000995708854356488495224042289475017498944445004995964280543680255726380512088175031222724948973544707535166743810758143143554300192375613091438535867700017716270118575241315184625205304741198565727036119976299381601242856253568109431772801868262010196530099698664167177107253804226738134217008914749061434121791538963893406803215365679085198982409655894850128354212369419922163276644652532089933327908649077185552865638586123484620043354040032848536940390300954791803047729580612659463039905733224527957821241489247478783001608562369605501681432632695315519402931069908493071959336161004729049143028903140324698678042384366305474612152814335287873006180368312996386227402476 193364328881463474069159889596281632287336571054848227875912207857943594954054186003135344230841319961465385836767253160275479062042324009577656143975913356253760958537847471734666551907984479927782915568626625694241632708453709001553232073140574040503351987406464954258707062595000598335008936580281581544301094377147680560469753725892940291735925238869416498179069997714844917094456818086439570046383998387371703034893109983820346733862704368391301691923290098025369755667663523336446660417422901229995399877863034694413786114030592951264000827526315834775253253393951807878237360949441335707848419401015849283437241548389990279218736245282778030209201392399011968577340729760974438058153334894624286786730106875685465085802012055604102203324955934996068479098366986555581540903329774741681111021312054376048851646294508544052122495250064496015118327176951190549334713003432988593604865853318492543528791966285061356373020332768054884925000640772261204997323916969735159888029880382135737224475673973914457632875648451175359525368497487916996980182663545317964146707651296479133951316623380156392306723794183840815679796289193868846290780410640535102316120453235732720578554730283636193506567643748381343570694946218935881248473138086405621426837953382014011665631087698224490805111722943067525929093144104375638823679304053205155430792957410654168129138913838785077951673104728239521573009931142936175742169134753347390879285210686986193076510251264166255640363885771977292811009296270417023602941180871438362600245503639156988616454501450804921748836490255485419700281519328736886960239613454896347321626098459999188185884116917753875380102092487502248028789532855693414114601714906316349199694422935462167344490909538376946535437258065838393519155347901290851755334260446498459037450567993960669351806000056655769342922623389363663868555894777092288131743511883288915957149579977465611076074263026744395254923038678400114854297416651432391166621244737052335142986139377298142170621829815708171280741019919769052336418122035912159714330318001314511183612360099830967357095521299975513624052094004224562145591837543268227073945454652536057416614043657833370513872230961392559677764639278751086788929504665899623972427612202137425552930754783698786258840864181505821427551574927577285304612790787379798732682975803970342643059505635029828544814033972108713587084113424124087743668718740874027800556074403827550881897495040451463890970721077336558634032197503231038363439424138098708270563176354750677817411677776490216838289818474040299545011989240611497533969245564606492348303198046186377719603993414706517740776614622735554794029230402023317110711491998033445166080195205892106809657224354790234520312139532957512771872006216995457641740433880132651199709023699219276854842494549772694083531955700785099117891076527978099158054607779949376247582639852825702927742310223756269581021427510287825733887152229707807634863773475003534865992058753629406276775031028264801652073567379216301343726972578535213227677583161835440328656122521218907353673610508261034383771554547594081430870427554141287625956291073859550058453302781445214821131299619958929118183608805797880419550875936049621395080699079515141035108974701067629176263812855847569208313989140133577242079080219186993919820521389030421371668961359713058023714744298579874254902889526659117709761985844943862214585150853671074168963669680086628744166801690049194335087941799614215869190296898648002750785946810330761950396201563273374932375664527383186376701806849635808598769334298052730666789460247100187223760191362603 312870056342020838279204221802850619050448790826943080686414832856684114040899867798051479491483178487087380675802701245033381555017040100553480214954498987382161823496187320206730096790795763539022013216161138384661120801820225472832181843076242753878397604836755199273340339411365261039964912807462041031136289963327661192219041625249358705310733383981628982645609859028253408415206681084260289566920373201299668504754951549619434913539549788449045323550556952508510831749990863042289233173695618490404884020663368535584390900496348658682618730288717386437167765308520276641204228971926547672842739802652673275437701052547059466905038268620742177515213510102913075730966921231779901141144887794655866127151296924340131709065119791236756220678448672390770103302202119323387315560087408133035573699456781712912380960893476619104650684001764325182619687757945384284021446016551008110087736386098980179629686584456609837905714836470480550574814131135159637772348102689614139115988540241837662215779488775574176744482557825599042395021813816887855349474149489139196555895498165649041238953545934427165135143713193571605505124663311309452603745401847285362919561612373189711098698254574897001449375101949305297002517753462024882994122109609544608529828959170610309051200475437825196344467572568006562189785435570450717849652335348661706442452402620543047625446464857796965916144416826814555004488013776110097565233954949493153220478943404500676754909693477593581862205306841104047026268255544727755284869686590446893684990134791487090168316250494607227539529676934541593118678029109777824239391815632566255979528001598955095135945670738775717644118523754780304957164804728261453555286674438010669997446307104133853546477286004515388029400456615560785301217452266797910058662302238620925375086065423103816197842795396173327681044871570956379362687605464129297499047967668154219420630413301013286879827364245747310590591712304640093628904965635831853094234687597565215596896308951976530978161596924760919857417910270535543900401312992758507661030932235934876071779629483328338161446886835780804020176267836179867897223054260477050995646443301377860492932363572732901377296699991991591789586196455108616868412423636996627690186097807683552734047021293189261229307048978289149211469276340975557517301136389464963726392304926590706923956801928314081833876554145360969704239782394762008667739130696765800614257177128487618683073267666764871868467841266027763941727609004861487502111202753883320619805225381404278369352197700570727332446333279578243284077130312332701598201361680864552114698602861068816172462156962765322679519103088965445651158738855858957384096519250191865484344500552510924811963513984381527127444318724332130157257614519191535510084185539192246436511866484470183077299580863378128230512857317852563979523795390401683107928648895766696678575986701528311310862247321384921126124415276096328893915153225416661991352268699045824341009557698074411272739311571945057378454079467391332566451921552079920762844326972593583472210422713594520445112146375961052100041673122835396615495632858882486191683327193835849440054545637698782930563072421827191128380138905496544586727983189853848133214916088429890096543096492606593069670616071213248293512971549789472092207434431556413841983798033682953461602289268362135209267609937165997739522932880699150558298926235244817006388198583251686828426709585819853272124622931538441813870943408176585474691978331280698066305349741400670443468160899434379661424807556286326701400484892020174904243946450867065954662466427468500220146418765079 506234385223484312348364111399132251337785361881791308562327040714627708994954053801186823722324498448552766512569954405308860617059364110131136358930412343635922782034034791941396648698780243466804928784787764078902753510273934474385413916216816794381749592243220153532047402006365859374973849387743622575437384340475341752688795351142298997046658622851045480824679856743098325509663499170699859613304371588671371539648061533439781647402254156840347015473847050533880587417654386378735893591118519720400283898526403229998177014526941609946619557815033221212421018702472084519441589921367883380691159203668522558874942600937049746123774513903520207724414902501925044308307650992754339199298222689280152913881403800025596794867131846840858424003404607386838582400569105878968856463417182874716684720768836088961232607187985163156773179251828821197738014934896574833356159019983996703692602239417472723158478550741671194278735169238535435499814771907420842769672019659349299004018420623973399440255162749488634377358206276774401920390311304804852329656813034457160702603149462128175190270169314583557441867507377412421184920952505178298894525812487820465235682065608922431677252984858533194955942745697686640573212699680960764242595247695950229956666912552624320716831563136049687149579295511074088118878579674826356673331639401866861873245360031197215754585378696582043867817521555054076577497944919046273307403089702840544099764154091486869831419944741759837502569192613081339837277551815144778887810867461885256285235638430644078784770751945412149288366167190027012818959548438514711199631429087462603301154100058954283321829787656529593024220616242282552985954337583954867669888389344327019197140730039596020890968195542892334564837714681399178820372800168088761813996562685119384412536633417064485549648795452829097023967494960320043231243500241221585630791479551443135377779993278478897955901627272491705845514750983040208483202382287264244260855932334617550739882448329274673148783426740469091138158930190304596236819435028670667375361250237249387255391989583159305518542408135756317644228361840404430042814891803745278069591897953913917909546407230566271891168930953384151467350835733859703657341928302896251662613710009820978286977776076888047488147913159794970639020851268552842821913927176844762459075280730561049567016307563343910378690588117469683291323895818886096411407849437639828414813251532315169564970762707216335759438562343364322575759806508092525865550626891982028890368401736154956186763875477060944170736151753618542829089119552944199132170607245471044463001800907255193892066150377471840420295717711701000445187969257882274494808011248225310650424695758403031621620738339171761647756458257289642929129620736186993151824619419324897636220890183689459932142075413150822314044813018637663097414871918379782265983256675716072926158626554354014238604557545141190707145842786384154627802305455124469626216042174049359207001616451703817549514342600209859030527646846607633910178894130615133990521910134429023800866545234813427798785756884222086483813227670429478046366060413023773817639618267695399498507848419143997751694372041786120246563747711294425006278859125903469528295615167945031131652071193674222245934428927060817501826960689923049334286514650743407761804319422713374833271250628075193232982354235745871994425822407358268268060912080188679220973349436922760997390379265906482016291424621587636148958885207790801343882275229928700817091296551731432393864362462707754593800472083669513078102291741655983503013280748919796621451926674568687443906610127682 819104441565505150627568333201982870388234152708734389248741873571311823035853921599238303213807676935640147188372655650342242172076404210684616573884911331018084605530222112148126745489576007005826942000948902463563874312094159947217595759293059548260147197079975352805387741417731120414938762195205663606573674303803002944907836976391657702357392006832674463470289715771351733924870180254960149180224744789971040044403013083059216560941803945289392339024404003042391419167645249421025126764814138210805167919189771765582567915023290268629238288103750607649588784010992361160645818893294431053533899006321195834312643653484109213028812782524262385239628412604838120039274572224534240340443110483936019041032700724365728503932251638077614644681853279777608685702771225202356172023504591007752258420225617801873613568081461782261423863253593146380357702692841959117377605036535004813780338625516452902788165135198281032184450005709015986074628903042580480542020122348963438120006960865811061656034651525062811121840764102373444315412125121692707679130962523596357258498647627777216429223715249010722577011220570984026690045615816487751498271214335105828155243677982112142775951239433430196405317847646991937575730453142985647236717357305494838486495871723234629768032038573874883494046868079080650308664015245277074522983974750528568315697762651740263380031843554379009783961938381868631581985958695156370872637044652333697320243097495987546586329638219353419364774499454185386863545807359872534172680554052332149970225773222131168953087002440019376827895844124568605937637577548292535439023244720028859280682101657909378457775458395305310668339139997062857943119142312216321225175063782337689194587037143729874437445481547407722594238171296959964121590252434886671872658864923740309787622698840168301747491590849002424705012366531276422593931105705350883129839447219597354798410406579492184835728991518239016436106463287680302112107347923096097355090619932182766336778757281251204126945023665230010995576840460840140137220748021429175036392182473184263327171619066487643679989294971537121664404629676584297940037946064222329065238341255291778402478770803299173268465630945375743256937032188968320525754351939892879352799807817504531021024797370077308717454962138084119850490127609528400339215063566309726185467585657151756490973109491657992212567142262830652995563678213648105079146980134405629029070428660802788248044030373981207627906403609392086517487415512954013367661829645865349510173627117559234556116073177631671503182485033196786113166249865276900730371968926335596577700403768324010064528307340237163099814820800666446096346708113741231878904530498417176134769196310913956433584252323553288775200776981621773086387235255378528661908804958517144072732756668159643009441656276528950544557670336490227076938667308781465373911905571482769604734613255882325549466804866526111833270258062480483521717458680541131617568310873095183548011174149778228822253654172154916408981726313998966476630815682695054753366237107022607273076967948407948243897903260183138583854900793264874661861693271906260009322945461531248938562394056842780682257444463613311374943886616790969593006842315757317661510531256374921228195167686280815315605044998274065795339932239712521426493949082299821603788117456396328294873539896437328442249964172911869733948755288057418826359838315433496227361548020174447825817088851726335288416047553126077962829828615967386818574253561209398883396646293132102837332523362142134255225279639955839779502776633676158407257227199786862576114393102037187664053028892761 1325338826788989462975932444601115121726019514590525697811068914285939532030807975400425126936132175384192913700942610055651102789135768320815752932815323674654007387564256904089523394188356250472631870785736666542466627822368094421603009675509876342641896789323195506337435143424096979789912611582949286182011058644278344697596632327533956699404050629683719944294969572514450059434533679425660008793529116378642411584051074616498998208344058102129739354498251053576272006585299635799761020355932657931205451817716174995580744929550231878575857845918783828862009802713464445680087408814662314434225058209989718393187586254421158959152587296427782592964043315106763164347582223217288579539741333173216171954914104524391325298799383484918473068685257887164447268103340331081325028486921773882468943140994453890834846175269446945418197042505421967578095717627738533950733764056519001517472940864933925625946643685939952226463185174947551421574443674950001323311692142008312737124025381489784461096289814274551445499198970379147846235802436426497560008787775558053517961101797089905391619493884563594280018878727948396447874966568321666050392797026822926293390925743591034574453204224291963391361260593344678578148943152823946411479312605001445068443162784275858950484863601709924570643626163590154738427542594920103431196315614152395430188943122682937479134617222250961053651779459936922708159483903614202644180040134355174241420007251587474416417749582961113256867343692067266726700823359175017313060491421514217406255461411652775247737857754385431526116262011314595618756597125986807246638654673807491462581836201716863661779605246051834903692559756239345410929073479896171188895063453126664708391727767183325895328413677090300057159075885978359142941963052602975433686655427608859694200159332257232787297140386301831521728979861491596465825174605946572468760630926771040490176190399857971082791630618790730722281621214270720510595309730210360341615946552266800317076661205610525877275728450405699102133735770651144736374040183050099842411753432710433650582563608649646949198531703107293439308632991516988727982852837867967607134830239209205696312025178033865445159634561898759894724287867922828024183096280242789131015413517827325509308002573446965356205602875297879090489510978878081243161128990743154488644542866387712806057989417055001902591257730380300336286887574032534201490554829572045457443883680193117957813014793081197543387344965952756409093247222021046539233212456537847378400542028853714190742879948654692615673918636786815328942255369418221099862542576171806641040702204675579203956594457717709003520110538512367446541534677371623506373712541746642486785193892069316988055204990662725050422957235238911416015516855991565521813733424377842041708953646851849102941583731689679772858602483355127890174353539227161247639895162247198842530893239810236339788071362411667302540416100848864638149519764135665601243784353047144542755012790601482046371767996772364775439509373160606600386809709813310188743888147241451631073943513183221376042683660144405225067668128463694352708227753684930033826962563729226648437070242475986778433951816505399431621507634328085394599285701441660787189806146424319952359847238879955037561539473925334883297166892929635570760780463733043229365592436879109703128144790524512521675232318408657741728374577695415687094420750395622175448334897457097208823207468117632817304707472174713714111788713823758188162456528791138099700487942844863535231196885824849888849025751723625352857605068375332141910270507948706659197566319776605875107959639020443 2144443268354494613603500777803097992114253667299260087059810787857251355066661896999663430149939852319833060889315265705993344961212172531500369506700235005672091993094479016237650139677932257478458812786685569006030502134462254368820605434802935890902043986403170859142822884841828100204851373778154949788584732948081347642504469303925614401761442636516394407765259288285801793359403859680620157973753861168613451628454087699558214769285862047419131693522655056618663425752944885220786147120746796142010619736905946761163312844573522147205096134022534436511598586724456806840733227707956745487758957216310914227500229907905268172181400078952044978203671727711601284386856795441822819880184443657152190995946805248757053802731635122996087713367111166942055953806111556283681200510426364890221201561220071692708459743350908727679620905759015113958453420320580493068111369093054006331253279490450378528734808821138233258647635180656567407649072577992581803853712264357276175244032342355595522752324465799614256621039734481521290551214561548190267687918738081649875219600444717682608048717599812605002595889948519380474565012184138153801891068241158032121546169421573146717229155463725393587766578440991670515724673605966932058716029962306939906929658655999093580252895640283799454137673031669235388736206610165380505719299588902923998504640885334677742514649065805340063435741398318791339741469862309359015052677179007507938740250349083461963004079221180466676232118191521452113564369166534889847233171975566549556225687184874906416690944756825450902944157855439164224694234703535099782077677918527520321862518303374773040237380704447140214360898896236408268872192622208387510120238516909002397586314804327055769765859158637707779753314057275319107063553305037862105559314292532600003987782031097401089044631977150833946433992228022872888419105711651923351890470373990637844974600806437463267627359610308969738717727677558400812707417078133456438971037172198983083413439962891777081402673474070929113129312611111984876511260931071529017448145615183617913909735227716134592878520998078830560973037621193573025922890783932189936200068580464497474714503948837164618428100192844135637981224900111796344708850632182682010368213325644830040329027370817042664923057837435963210340001106487609643500344054309464214830010452044864562548962526546659894803824872643130989282451252246182306569701809706451086472954108853920746061058823455178751015251369562148495610734637534000552600874286183712727910715655971273425298996021832324287177101121820012115055421619283498000592914545098142237618402608443903214021122765057946166619925359313033892637881385485364738252617072245059662919963088380230944488789242986278339198158012220533189101904091246944050475642229336359185781686403520008745951025387966208723403160153691618117251292206535942713013807067818681612135627853066118665337538167278193414373686358911345121671237222816206732861352663920239726303023964751260275194021650944519691848491099474605566863440525496005243497254384348474238347020481131629324286581563404588363651523029256959227370089446956836293836285509190757897375632636532829559116209260969012742996451520944876364192292543757418104851316677680694873588042406566235852877144518923608949092506825169348092187274412815343050969380554335506031423018330420949850117482282581569611462323332983473105920780588711055671675696445477271656649024556969359152593123519727839792074618542439725574981030782352347498583884589137995638068529409186992023104251031363581192637107845009008300317527735148493521773680712878643062772012667913204 3469782095143484076579433222404213113840273181889785784870879702143190887097469872400088557086072027704025974590257875761644447750347940852316122439515558680326099380658735920327173533866288507951090683572422235548497129956830348790423615110312812233543940775726366365480258028265925079994763985361104235970595791592359692340101101631459571101165493266200114352060228860800251852793937539106280166767282977547255863212505162316057212977629920149548871048020906110194935432338244521020547167476679454073216071554622121756744057774123754025780953979941318265373608389437921252520820636522619059921984015426300632620687816162326427131333987375379827571167715042818364448734439018659111399419925776830368362950860909773148379101531018607914560782052369054106503221909451887365006228997348138772690144702214525583543305918620355673097817948264437081536549137948319027018845133149573007848726220355384304154681452507078185485110820355604118829223516252942583127165404406365588912368057723845379983848614280074165702120238704860669136787016997974687827696706513639703393180702241807587999668211484376199282614768676467776922439978752459819852283865267980958414937095165164181291682359688017356979127839034336349093873616758790878470195342567308384975372821440274952530737759241993724024781299195259390127163749205085483936915615203055319428693584008017615221649266288056301117087520858255714047900953765923561659232717313362682180160257600670936379421828804141579933099461883588718840265192525709907160293663397080766962481148596527681664428802511210882429060419866753759843450831829521907028716332592335011784444354505091636702016985950498975118053458652475753679801266102104558699015301970035667105978042571510381665094272835728007836912389943253678250005516357640837539245969720141459698187941363354633876341772363452665468162972089514469354244280317598495820651101300761678335150791206295434350418990229099700460999348891829121323302726808343816780586983724465783400490101168502302958678401924476628215263048381763129612885301114121628859859899047894051564492298836365781542077052701186124000281670612710561753905743621800157543334898819673703171026529126871030063587734754742895532705512768034624368891946912425471141383626843472155549637029944264008021128660712733842300829512085365690886661473045052618703474553318432577368606951943601661797395082603023431325569338826278716508060256639278496543916837789047038703874073616536376294402596335514904904703981859555047091834086742721560106311257684824987616041875970487016902851019758606827443997676988701719100455457121269948878659104813119482417977717222775655170140035897825401339179416062856988244626329613991702149705156980449547932543994233649003389621115247459444605117420947238509572289375653714201227490640050371857848892609119655888496261762637046746007425645745763103960653702230065880454666521092876355005125609529689860716914102459760209759820756986951872334105137016967384269058036755352742321565789647716884467288000472635212167250250235309315432241142531589925869420963994314850700329265223548993588719191157720653580078317200641766327663248072919984545812702879008816337550161077474412174617959155272961758791578245199078892041122824105014825947889645446190890438683992848943832389673718098983662948054876548386280334972991214615734551163120945462371792714600990227353190697910678888793015201339106677847124031342934368865472232025086991969897830991902553506186407256263483763143487311143485598284372531982859173299726295011841911953276783087206545494712913384340442227798243097200180971247032655248937879972306933647 5614225363497978690182934000207311105954526849189045871930690490000442242164131769399751987236011880023859035479573141467637792711560113383816491946215793685998191373753214936564823673544220765429549496359107804554527632091292603159244220545115748124445984762129537224623080913107753180199615359139259185759180524540441039982605570935385185502926935902716508759825488149086053646153341398786900324741036838715869314840959250015615427746915782196968002741543561166813598858091189406241333314597426250215226691291528068517907370618697276172986050113963852701885206976162378059361553864230575805409742972642611546848188046070231695303515387454331872549371386770529965733121295814100934219300110220487520553946807715021905432904262653730910648495419480221048559175715563443648687429507774503662911346263434597276251765661971264400777438854023452195495002558268899520086956502242627014179979499845834682683416261328216418743758455536260686236872588830935164931019116670722865087612090066200975506600938745873779958741278439342190427338231559522878095384625251721353268400302686525270607716929084188804285210658624987157397004990936597973654174933509138990536483264586737328008911515151742750566894417475328019609598290364757810528911372529615324882302480096274046110990654882277523478918972226928625515899955815250864442634914791958243427198224893352292964163915353861641180523262256574505387642423628232920674285394492370190118900507949754398342425908025322046609331580075110170953829561692244797007526835372647316518706835781402588081119747268036333332004577722192924068145066533057006810794010510862532106306872808466409742254366654946115332414357548712161948673458724312946209135540486944669503564357375837437434860131994365715616665704000528997357069069662678699644805284012674059702175723394452034965386404340603499414596964317537342242663386029250419172541571674752316180125392012732897618046349839408670199717076569387522136010143886477273219558020896664766483903541131394080040081075398547557328392360992875114489396562045193157877308044663077669478402034064081916134955573699264954561254708233904134779828634405732347479534967400138200645741033075708194682015834947587031170686737668146420713600797544608153151751840169116985589966057315081050686051718550169805511169513191853300530161817099362082918304563770477441931155914470148321692198907475666562314851790078524898814629958448984947630389791897900959449935132439991555045417847705077053400314716497089047644434961028905272834221973340796261041340871992319341190028120880426839559053098607985217101048371666368091116277507421563385631998839987833601336759961257138435231817297448342352982878946686236761812625120068829778877032783476635281728819273259679977794219325038485453622765017883050560413272326453891866594843634507622097219664922790738364124676937952299046673667509297884562066802148945942473670463147696968054131287788818671554881491994209768079066966489680887623995361060720104002596759811298661404159136491572109817734113690760805320675738396915938400107767984475446480024615846786953581952370714186977612807448406647598602621499533582110742443188335515541645896666370338443424917614410676217838122983870788956496996892439501785709699535932052012426743315828511772552781482180543268331755135329289363729331304353545550121765974181451366412221910196883571796964653021243662361898935981927817733518799727788411640522121256582056351122490954511630393298261025798703209338124518093495833096868257121120854811368255704198833935057527814450787738131820758393348742545325978245693702744927745533892000651984974846851 9084007458641462766762367222611524219794800031078831656801570192143633129261601641799840544322083907727885010069831017229282240461908054236132614385731352366324290754411950856891997207410509273380640179931530040103024762048122951949667835655428560357989925537855903590103338941373678260194379344500363421729776316132800732322706672566844756604092429168916623111885717009886305498947278937893180491508319816263125178053464412331672640724545702346516873789564467277008534290429433927261880482074105704288442762846150190274651428392821030198767004093905170967258815365600299311882374500753194865331726988068912179468875862232558122434849374829711700120539101813348330181855734832760045618720035997317888916897668624795053812005793672338825209277471849275155062397625015331013693658505122642435601490965649122859795071580591620073875256802287889277031551696217218547105801635392200022028705720201218986838097713835294604228869275891864805066096105083877748058184521077088453999980147790046355490449553025947945660861517144202859564125248557497565923081331765361056661581004928332858607385140568565003567825427301454934319444969689057793506458798777119948951420359751901509300593874839760107546022256509664368703471907123548688999106715096923709857675301536548998641728414124271247503700271422188015643063705020336348379550529995013562855891808901369908185813181641917942297610783114830219435543377394156482333518111805732872299060765550425334721847736829463626542431041958698889794094754217954704167820498769728083481187984377930269745548549779247215761064997588946683911595898362578913839510343103197543890751227313558046444271352605445090450467816201187915628474724826417504908150842456980336609542399947347819099954404830093723453578093943782675607074586020319537184051253732815519400363664757806668841728176704056164882759936407051811596907666346848914993192672975513994515276183219028331968465340068508370660716425461216643459312870694821090000145004621130549884393642299896382998759477323024185543655409374638244102281863159314786737167943710971721042894332900447697677032626400451078561536378846614696533734378027532505022869866219811903816767562202579224745603569702329926703392250436181045082492744457033624293135467012589141139603087259345058707180379262903647811999025277218991416823290144414701621779117088910019299762866413749983489593990078689993640421128904803615322690215088263444174306629686947998153809206056527931339820444040591958305018698356644094736269047771626832940533231025621248657382747962806358092879140639033667003050775596686936201503828787638039994936612234682868049976557210609256506899997154963836570996713511199341227505276300228463962330277049279326809576777710284285118440388507139422399336745985723963195054393536764761640762966504263724443736243627277985715926685427785110132102583698062150634321211527950442521468670038818828675588757226657914848201891278431764641312751196719951401071626697855008264419097475456744918325600946378288626424492044745029901363940996114636107979539447528325977188948469761330724945112010502575541089905344698266387526723848240368949162781655030726989001038394550462234216531415917837092232369831490799881775449034155575888933562325890724525483821697458617633754512504621496613871854261367315418083384165912115611639326536764737500525344572311874593702911484562024317843719154341250691951183266924411365923759131346009387593488607143343092388785503532946804447433054966693101268005404639318695152629653103713984667981999210675847010804597537994283626533671777689184773124221342893883716174778189140938531957281780498 14698232822139441456945301222818835325749326880267877528732260682144075371425733411199592531558095787751744045549404158696920033173468167619949106331947146052322482128165165793456820880954730038810189676290637844657552394139415555108912056200544308482435910299985440814726419854481431440393994703639622607488956840673241772305312243502229942107019365071633131871711205158972359145100620336680080816249356654978994492894423662347288068471461484543484876531108028443822133148520623333503213796671531954503669454137678258792558799011518306371753054207869023669144022341762677371243928364983770670741469960711523726317063908302789817738364762284043572669910488583878295914977030646860979838020146217805409470844476339816959244910056326069735857772891329496203621573340578774662381088012897146098512837229083720136046837242562884474652695656311341472526554254486118067192758137634827036208685220047053669521513975163511022972627731428125491302968693914812912989203637747811319087592237856247330997050491771821725619602795583545049991463480117020444018465957017082409929981307614858129215102069652753807853036085926442091716449960625655767160633732286258939487903624338638837309505389991502858112916673984992388313070197488306499528018087626539034739977781632823044752719069006548770982619243649116641158963660835587212822185444786971806283090033794722201149977096995779583478134045371404724823185801022389403007803506298103062417961273500179733064273644854785673151762622033809060747924315910199501175347334142375399999894820159332857826668297047283549093069575311139607979740964895635920650304353614060075997058100122024456186525719260391205782882173749900077577148183550730451117286382943925006113106757323185256534814536824459439070243797944311672964143655682998236828856537745489579102539388152258703807114581044659664297356900724589153839571052376099334165734244650266310695401575231761229586511689907917040860433502030604165595323014581298363219703025517795316368297183431290463038840552721571742872047770367513358591678425204507944614475988374049390521296366964529613811988200099716033122791087080518831313563012433264852502404833619950104462508595278287419427619404649916957874078988104327465796093542001641777444887307181706126729569144574426109393232097813073453323168538469072291946985107243776784540083680859387461230918780883898305181792897554356555955272918983328514137320173537248391804696421584848957603744338496519486385238291745669011705333414853733142380704008800532105774755204366417509698723619955125699282907261519460506562103874204672153302552200454006131111214119656246253681975397198442857843659958412102271802814010959541694210384222986465225774955397118109105686609561186919566847259661766819400193556071024209416817819411419815322054035292958155591038579878134900082935591608218523474256779521650361197307988720825835004588270818984761302346051904923625968979489680097103319522804745406488030468038116378742632259780158195560747515085412245039692785560983616854847635477631756919956783717936363466726084956932945207810749560958797456157493460619531675879194975130495838971570662315237141469432189373910092108130882901754361262009846780507708638004759319823112072885826001827676434225019753749471044377070341016394049395354034804635647173218713455275844942943680082314859266499526023678286815613108368133821282496740398003612590887165194742144884723486919757649909714745189199694214879740015163340102708458853669902439392523498135151792020886774224568796036237703409509782068332411988782021758354430171037927318450199588587586461102523723032939183942256627349 23782240280780904223707668445430359545544126911346709185533830874287708500687335052999433075880179695479629055619235175926202273635376221856081720717678498418646772882577116650348818088365239312190829856222167884760577156187538507058579891855972868840425835837841344404829758795855109700588374048139986029218733156806042504628018916069074698711111794240549754983596922168858664644047899274573261307757676471242119670947888074678960709196007186890001750320672495720830667438950057260765094278745637658792112216983828449067210227404339336570520058301774194636402837707362976683126302865736965536073196948780435905785939770535347940173214137113755272790449590397226626096832765479621025456740182215123298387742144964612013056915849998408561067050363178771358683970965594105676074746518019788534114328194732842995841908823154504548527952458599230749558105950703336614298559773027027058237390940248272656359611688998805627201497007319990296369064798998690661047388158824899773087572385646293686487500044797769671280464312727747909555588728674518009941547288782443466591562312543190987822487210221318811420861513227897026035894930314713560667092531063378888439323984090540346610099264831262965658938930494656757016542104611855188527124802723462744597653083169372043394447483130820018486319515071304656802027365855923561201735974781985369138981842696092109335790278637697525775744828486234944258729178416545885341321618103835934717022039050605067786121381684249299694193663992507950542019070128154205343167832912103483481082804537263127572216846826530764854134572900086291891336863258214834489814696717257619887809327435582502630797071865836296233349989951087993205622908377147956025437225400905342722649157270533075634768941654553162523821891888094348571218241703317774012907791478305098502903052910065372648842757748715829180116837131640965436478718722948249158926917625780305210677758450789561554977029976425411521149927491820809054635885276119453219848030138925866252690825731186846037600030044595928415703179742151602693960288363822731351643932085021111564190699864977311489020826500167111684327465927133527847297390460797357525274699839762008279276157480866644173222974352246884577471238540508510878586286458675401738022774194295267869172231833771168100412477075977101135167563746291283363808397388191486161862797948297480530681647297648288671386887633046549595694047888132129460010388625511835979003051271796955757553544553047417725058735786260970010352113210377237116973056572158938715288435392038758356106367917932057375786402158494173565154649801359089504056029241644171106150731890929121731951954409052114350559955567066108373810724470741035437889499286693689737285674167388432496186338897203851965700050273958822592892817009933380012873804956580083694798259462419315482316121762178068651518293646308584388882105348423347942309932353785447109739489023580131021640662150283883827691571375535084164117496603207981869109743076597640524199255671017492433411013191417981411985475661599877536841572753034592891697475810995052062145881414969141474506070807958733034550524876374145582501854344079340519825096892172196421190412304642570365099433170279099102079150339199437886534768857267648774759564153567158750503575446929662010824853521015546009225889066002962591302097621187960554583006619079596767024870595990161409316019852695845600340459552344863282838348461666556250647246051103659297308233796343037307268525518696286907155891908636595540660528902774470487173516427328282780704219702620185629079137009526776305384888101948727112091574420931481470177277301912173877715899538407847 38480473102920345680652969668249194871293453791614586714266091556431783872113068464199025607438275483231373101168639334623122306808844389476030827049625644470969255010742282443805638969319969351001019532512805729418129550326954062167491948056517177322861746137826785219556178650336541140982368751779608636707689997479284276933331159571304640818131159312182886855308127327831023789148519611253342124007033126221114163842311737026248777667468671433486626851780524164652800587470680594268308075417169613295781671121506707859769026415857642942273112509643218305546860049125654054370231230720736206814666909491959632103003678838137757911578899397798845460360078981104922011809796126482005294760328432928707858586621304428972301825906324478296924823254508267562305544306172880338455834530916934632627165423816563131888746065717389023180648114910572222084660205189454681491317910661854094446076160295326325881125664162316650174124738748115787672033492913503574036591796572711092175164623502541017484550536569591396900067108311292959547052208791538453960013245799525876521543620158049117037589279874072619273897599154339117752344890940369327827726263349637827927227608429179183919604654822765823771855604479649145329612302100161688055142890350001779337630864802195088147166552137368789468938758720421297960991026691510774023921419568957175422071876490814310485767375633477109253878873857639669081914979438935288349125124401938997134983312550784800850395026539034972845956286026317011289943386038353706518515167054478883480977624696595985398885143873814313947204148211225899871077828153850755140119050331317695884867427557606958817322791126227502016232163700988070782771091927878407142723608344830348835755914593718332169583478479012601594065689832406021535361897386316010841764329223794677605442441062324076455957338793375493477473737856230119276049771099047583324661162276046615906079333682550791141488719884342452381583429522424974649958899857417816439551055656721182620988009162477309076440582766167671287750950109664961285638713568330675966119920459070502085487066829506925301009026599883144807118553007652359160860402894062210027679533459712112741784752759154063600842379002163842451550226644835976674679828460317179182910081376001394598741376408197277493644574889050554458336102215363575310793504631968270701946478807684941761600428181546593853179785187403105550966966871460643597330562162760227783699472856645913361297883049566904110297027531929981715685528064110379497677065372691044490043639758456268054829987873057756658693663677954680127258524006031242806608229695650302217364851547175375413927351607494972194219913979168380176624735430282729648273722273158915512241071285497538182795900084123418812959712040778222786448888034142796830693216376395405748833552420574906520895999897078151587109901864832058645661626998784545250298653179620451698010308008341433367692567073909852807181251472638403686922242009696012337147859455340272783979413866578239948496425436457674197546459278454725172319204509954549675415412174461778147102814360176952224067029605414890528011144408050024777476984839918312090487412129313665853379786214734678495982334924640361111925930846908075891294088680379721660585565981243592975523329196400706387895194537409595404579923870638609764520811076463805497526686701394456033524396619668448224929128220829666882837199950348475873725513656408701135370732970861309207022978985542731522148265533859627009864350762306497980053052400909622279194403201552851576740457406029695411147469421515558327143242532119765039410024620520069056638379825635206816899841795035196 62262713383701249904360638113679554416837580702961295899799922430719492372800403517198458683318455178711002156787874510549324580444220611332112547767304142889616027893319399094154457057685208663191849388734973614178706706514492569226071839912490046163287581975668129624385937446191650841570742799919594665926423154285326781561350075640379339529242953552732641838905049496689688433196418885826603431764709597463233834790199811705209486863475858323488377172453019885483468026420737855033402354162807272087893888105335156926979253820196979512793170811417412941949697756488630737496534096457701742887863858272395537888943449373485698084793036511554118250809669378331548108642561606103030751500510648052006246328766269040985358741756322886857991873617687038920989515271766986014530581048936723166741493618549406127730654888871893571708600573509802971642766155892791295789877683688881152683467100543598982240737353161122277375621746068106084041098291912194235083979955397610865262737009148834703972050581367361068180531421039040869102640937466056463901560534581969343113105932701240104860076490095391430694759112382236143788239821255082888494818794413016716366551592519719530529703919654028789430794534974305902346154406712016876582267693073464523935283947971567131541614035268188807955258273791725954763018392547434335225657394350942544561053719186906419821557654271174635029623702343874613340644157855481173690446742505774931852005351601389868636516408223284272540149950018824961831962456166507911861682999966582366962060429233859112971101990700345078801338721111312191762414691412065589629933747048575315772676754993189461448119862992063798249582153652076063988394000305026363168160833745735691558405071864251407804352420133565764117887581720500370106580139089633784854672120702099776108345493972389449104800096542091322657590574987871084712528489821995832483588079901826921116757092133340352696465749860767863902733357014245783704594785133537269659399085795647048873678834893664155114040612810763599703454129851816563979599001932153407317763852544091613649677766694484236790029853100050256491446018934785887008157793354859567552954233299474121021060910240020707774065353354410727029021465185344487553266114918992580920932855570296662467913608241968445594057051965027655593503665961654858674601902020159756863809276755982422292282075479194882524566672820449655146661014759592773057340950788272063762702524128442869118851427602614321835355763318190951726037641274487616614650121944849983205332075150495026410936355790989814034480065836448853692413173807390332310664258937294473323515583438104497145879306016547086544779869546234488550435459901023765086163221559852605249526745452885970678982238981327270778659762314737045379341705044076176843567021332975489443631811882994222003212121659256220238628195511140643034543732347207893192608585533405898807749797031921564389333229224193736634872822848173487851039738612903994206257602531937913308178669537595732381907438627875655609531934940054602709160777262989142567112887985456830209248695775146093698573100413373623562561669284424170359978839183997652610312509021485862274570198519377248861081768094919460214005081186107513777828857537647370435345130134810751726026904643330368398720048058425141413805812936641572355822908697651766052109693320474052800549267215658609634245148073525512483177659502693339156563862118075257386017979021964968504331212781885768829416791052555913917020242670943093520713581303684092766367919628881134357444677108649881040226606431042334632528130634068492151501599041451550526815657127547380694615741333443043 100743186486621595585013607781928749288131034494575882614066013987151276244913471981397484290756730661942375257956513845172446887253065000808143374816929787360585282904061681537960096027005178014192868921247779343596836256841446631393563787969007223486149328113494914843942116096528191982553111551699203302634113151764611058494681235211683980347374112864915528694213176824520712222344938497079945555771742723684347998632511548731458264530944529756975004024233544050136268613891418449301710429579976885383675559226841864786748280236054622455066283321060631247496557805614284791866765327178437949702530767764355169991947128211623455996371935909352963711169748359436470120452357732585036046260839080980714104915387573469957660567662647365154916696872195306483295059577939866352986415579853657799368659042365969259619400954589282594889248688420375193727426361082245977281195594350735247129543260838925308121863017323438927549746484816221871713131784825697809120571751970321957437901632651375721456601117936952465080598529350333828649693146257594917861573780381495219634649552859289221897665769969464049968656711536575261540584712195452216322545057762654544293779200948898714449308574476794613202650139453955047675766708812178564637410583423466303272914812773762219688780587405557597424197032512147252724009419238945109249578813919899719983125595677720730307325029904651744283502576201514282422559137294416462039571866907713928986988664152174669486911434762319245386106236045141973121905842204861618380198167021061250443038053930455098369987134574159392748542869322538091633492519565916344770052797379893011657544182550796420265442654118291300265814317353064134771165092232904770310884442090566040394160986457969739973935898612578365711953271552906391641942036475949795696436449925894453713787935034713525560757435335466816135064312844101203988578260921043415808249242177873537022836425815891143837954469745110316284316786536670758354553684990955086098950141452368231494666844056141464190481195576931270991205079961481525265237715500484083283883773003162115735164833523991162091038879699933401298564571942438246169018196248921777580633766759186233762845662999174771374907732356574569480571691830180464227945943379309760103842936946298057066654984650165723087701626854078210051839768177018433985395406652128027565755755563667364053882503660741476377746458007852760697627981631053416654671512951032291546401996985088782480149310652181225945652790850120933441723169338597996112327187317541027695375714908951294465766343664047570693173729514403533819671697813421575117272488632944775540880434985279872559806657624042058738999783525402868727060195331306494734436943833011520761767816738383508861778139065450689591619474355515268165790593078218973674260237709370895192465364303569128524108121556334371825738097375972701680205359345992438442907238713026350505760105040262997757025796298103589442054074320811891537961980622600006543405461987278186092158083404173972330403864064333329807078394218509327881479981772943692242528300159918608356351510135323045922640130018788514090572813692474195137455824023915964700799921150799528127949984734111927357064103019559821325931012033015589669122946218027092095930696116054344701550233839731074786615242595834736818385736807280182120343719774115571549636380021868508834073663835327057859174276294355179366014859453041815030289375774483958521388711992826277711354191767428500351565056586415540926884593433249591500766633704593715045562322830433985934185134514679576451374075852557892959671373166188257190911623661971619583454036953182587511515583128478239 163005899870322845489374245895608303704968615197537178513865936417870768617713875498595942974075185840653377414744388355721771467697285612140255922584233930250201310797381080632114553084690386677384718309982752957775542963355939200619635627881497269649436910089163044468328053542719842824123854351618797968560536306049937840056031310852063319876617066417648170533118226321210400655541357382906548987536452321147581833422711360436667751394420388080463381196686563935619736640312156304335112783742784157471569447332177021713727534056251601967859454132478044189446255562102915529363299423636139692590394626036750707880890577585109154081164972420907081961979417737768018229094919338688066797761349729032720351244153842510943019309418970252012908570489882345404284574849706852367516996628790380966110152660915375387350055843461176166597849261930178165370192516975037273071073278039616399813010361382524290362600370484561204925368230884327955754230076737892044204551707367932822700638641800210425428651699304313533261129950389374697752334083723651381763134314963464562747755485560529326757742260064855480663415823918811405328824533450535104817363852175671260660330793468618244979012494130823402633444674428260950021921115524195441219678276496930827208198760745329351230394622673746405379455306303873207487027811786379444475236208270842264544179314864627150128882684175826379313126278545388895763203295149897635730018609413488860838994015753564538123427842985603517926256186063966934953868298371369530241881166987643617405098483164314211341089125274504471549881590433850283395907210977981934399986544428468327430220937543985881713562517110355098515396471005140198759559092537931133479045275836301731952566058322221147778288318746144129829840853273406761748522175565583580551108570627994229822133429007102974665557531877558138792654887831972288701106750743039248291837322079700458139593517949231496534420219605878180187050143550916542059148470124492355758349227248015280368345678949805619304521808387694870694659209813298089244836717432637490601647625547253729384842600218475398881068732799983657790010590877224133177175989603781345133588000058660354783906573239195479148973085710985296509593157015524951781212058298302341024775792516594719534568592892134168681758678819105865645343434138673292659997308672287784429565032319649786346164579139936358902313130828302415844288996390646189712012463739304355309104521113531651599000738254795547781008554168311885167760810613085612726977309262391010900707790059446320876702699455037384727653795350852387512084871620811907427936747570239248864396018423384369705685963640589145283779653071637357277495655232330259820600165392864126011294562191269479540760378046777960370279236670252313545132298122295150517827259042346384636097176186563350527320243215590592064366292887113344714749091693200331635515824246432249313509902072184562146359025522297326076926897168985379389001719235504000749663064519216099400336752941769704712311302692208985416610329158563930590640759035932834809641188145375438565600205910469139621213230432162137653134482976898365497434663207913617311112430172285390402520183253489176218145871114479281539936093219123103446951803755674462531275826250865096427577138483061443185335290654259878232191549743921754476166628471767337601746073342342561634622931050985667493419424367880691849192518955735154186853237892559215907406691014791246215685404549314269180981847638971454843904836104192685021480215008277807811930242459315120291629811623329457491600682283600227592199503800256749342413222703423170110269694080729968206131324461921282 263749086356944441074387853677537052993099649692113061127931950405022044862627347479993427264831916502595752672700902200894218354950350612948399297401163717610786593701442762170074649111695564691577587231230532301372379220197385832013199415850504493135586238202657959312270169639248034806676965903318001271194649457814548898550712546063747300223991179282563699227331403145731112877886295879986494543308195044831929832055222909168126015925364917837438385220920107985756005254203574753636823213322761042855245006559018886500475814292306224422925737453538675436942813367717200321230064750814577642292925393801105877872837705796732610077536908330260045673149166097204488349547277071273102844022188810013434456159541415980900679877081617617167825267362077651887579634427646718720503412208644038765478811703281344646969456798050458761487097950350553359097618878057283250352268872390351646942553622221449598484463387808000132475114715700549827467361861563589853325123459338254780138540274451586146885252817241265998341728479739708526402027229981246299624708095344959782382405038419818548655408030034319530632072535455386666869409245645987321139908909938325804954109994417516959428321068607618015836094813882215997697687824336374005857088859920397130481113573519091570919175210079304002803652338816020460211037231025324553724815022190741984527304910542347880436207714080478123596628854746903178185762432444314097769590476321202789825982679905739207610339277747922763312362422109108908075774140576231148622079334008704867848136537094769309711076259848663864298424459756388375029399730543898279170039341808361339087765120094782301979005171228646398781210788358204333530724184770835903789929717926867772346727044780190887752224217358722495541794124826313153390464212041533376247545020553888683535921364041816500226314967213024954927719200676073492689685011664082664100086564257573995162429943765122640372374689350988496471366930087587300413702155115447441857299368700383511863012523005947083495003003964626141685864289774779614510074432933121573885531398550415845120007433742466560972107612499917059088575162819662379346194185852703122714221766817846588546752236238370250523880818067559865990164848845705416009158001677612101128618729462892776601223577542299891769460305673184075697183202315691726645392715324415811995320787883317150400047082800677835280059588836155176541916978021699606366683976690336646855506518098620434079150048906976773726661345018432818609483979951683608839304496579932038596083504968397615342469043119084955420827524865255921331756569434233482545209236203184024405276453408664242265492621264631204022779436597040226004555850563636754555037109225875646773062378929652988402538517112228649961898711025767581710922891200514124192087496751717279828562540490132479051428364771924963890104390263086046394954451039192770078423062959458599819270007112447559903384821820400915518980971489797270926963699858104007293068526506494285492494836345943677042715166756542315223688723377073258472120740808876527052169488305294046921951716045792185543853360450950651743707296669372560634890487231829582011912351323084918530470167987601103575209974134039102865867105252138693116074749973701554627206522366919441129127372322792517971950533250094615050577286551201936596510348245882909151382453364211070468696594886312725352593700662235871215207378408776969217142613667043174428795403007617523927039596316742769532546904225386995770789429537442276522246848712871522857492565289749106225814946138009033942974758136158120551870876966445006533324846365394789693723731033912555717646907590399521 426754986227267286563762099573145356698068264889650239641797886822892813480341222978589370238907102343249130087445290556615989822647636225088655219985397647860987904498823842802189202196385951368962305541213285259147922183553325032632835043732001762785023148291821003780598223181967877630800820254936799239755185763864486738606743856915810620100608245700211869760449629466941513533427653262893043530844647365979511665477934269604793767319785305917901766417606671921375741894515731057971935997065545200326814453891195908214203348348557826390785191586016719626389068929820115850593364174450717334883320019837856585753728283381841764158701880751167127635128583834972506578642196409961169641783538539046154807403695258491843699186500587869180733837851959997291864209277353571088020408837434419731588964364196720034319512641511634928084947212280731524467811395032320523423342150429968046755563983603973888847063758292561337400482946584877783221591938301481897529675166706187602839178916251796572313904516545579531602858430129083224154361313704897681387842410308424345130160523980347875413150290099175011295488359374198072198233779096522425957272762113997065614440787886135204407333562738441418469539488310476947719608939860569447076767136417327957689312334264420922149569832753050408183107645119893667698065042811703998200051230461584249071484225406975030565090398256304502909755133292292073948965727594211733499609085734691650664976695659303745733767120733526281238618608173075843029642438947600678863960500996348485253235020259083521052165385123168335848306050190238658425306941521880213570025886236829666517986057638768183692567688339001497296607259363344532290283277308767037268974993763169504299293103102412035530512536104866625371634978099719915138986387607116956798653591181882913358054793048919474891872499090583093720374088508045781390791762407121912391923886337274453302023461714354136906794908956866676658417073638503842472850625239939797615648595948398792231358201955752702799524812352321012380523499588077703754911150365759064487179024097669574504850033960941959853176345299900716878585753696886512523370175456484467847809766876506943330658809477565729672853903778545162499758005861230367790370059975914442153394521979487496135792170434434060451218984492289941342526636454365019305390023996703596424885820202966936746211661940614194182372719664457592386205974412345796078696440429641002164611039212152085678150787161772321507669899186744703777244790564769221566281805842323049496791295027843936219171742574122340148481320216108308843841441055045389973145983773423273269672471832048611971178584905220349306559089668677583282051505795967014375637274618739772784356941120922467943298895159006610332177947696019895256055189322809274709914755794063664464659716676695829578748607987515555954470683150199391109703542732393101713938887205890849132779909184632122049743847342698241595907868658782650315965419093608008042731591025710384892831589287713381755026469448751300640299052535637189062761499844809361861810676450669485487551921956261325165066590883112789396841779646270926132325150439743199323024781495370308932990351241090279793355845248518384405803198471261796563026553729376017158482348617784537556704510805853961157285823904354493282768836295123691072676976717650246753128526706553632103319525937298392846013125030116563064399897364512123403995851559602390336202094022408770142725000866057038713528751864358450614694265641634961543727063721149330669422807749064226517444757761338491434575440419758348144070380766701755875738069068817959803993425114642523923778232052320803 690504072584211727638149953250682409691167914581763300769729837227914858342968570458582797503739018845844882760146192757510208177597986838037054517386561365471774498200266604972263851308081516060539892772443817560520301403750710864646034459582506255920609386494478963092868392821215912437477786158254800510949835221679035637157456402979557920324599424982775568987781032612672626411313949142879538074152842410811441497533157178772919783245150223755340151638526779907131747148719305811608759210388306243182059460450214794714679162640864050813710929039555395063331882297537316171823428925265294977176245413638962463626565989178574374236238789081427173308277749932176994928189473481234272485805727349059589263563236674472744379063582205486348559105214037649179443843705000289808523821046078458497067776067478064681288969439562093689572045162631284883565430273089603773775611022820319693698117605825423487331527146100561469875597662285427610688953799865071750854798626044442382977719190703382719199157333786845529944586909868791750556388543686143981012550505653384127512565562400166424068558320133494541927560894829584739067643024742509747097181672052322870568550782303652163835654631346059434305634302192692945417296764196943452933855996337725088170425907783512493068745042832354410986759983935914127909102273837028551924866252652326233598789135949322911001298112336782626506383988039195252134728160038525831269199562055894440490959375565042953344106398481449044550981030282184751105416579523831827486039835005053353101371557353852830763241644971832200146730509946627033454706672065778492740065228045191005605751177733550485671572859567647896077818047721548865821007462079602941058904711690037276646020147882602923282736753463589120913429102926033068529450599648650333046198611735771596893976157090735975118187466303608048648093289184119274080476774071204576492010450594848448464453405479476777279169598307855173129784003726091142886552780355387239472947964648782304094370724961699786294527816316947154066387789362857318264985583298880638372710422648085419624857467703408520825283957799817775967160916516548891869564361309187590562031533694353531877411045715935980196734721846105028489922854706935783799528061653526543282013251442380272737015747976733952220679290165474017039709838770056745950782739321119408420206608086284087146258744741292029462432308500612768928122952434045402445380417119977649020117557310772519757300836068749095234331244205177522386728770516452830405586302422255088092874799996241551561640785693207295569308845081364230175598010489278872518355219976607297674948925240712854236671206169851553329338526265717809286607356359603768930674383844615419557419320050575456345837412271235260294076658721787476966978080523323398902002252545780944293222257166828308630176972759440519844575073413285437504657993771585871792361950165349448952049916297079681953128669163099157114888840148579921242929118951712015335800117532204670385326425633657058797741636205293615863987775912710447534882240653685888913980164755963532409503638002053510708919951334063441140549076315643486767215637671572781334937132818455227463460519228691383368565819382557487271670303723400489679101303703077571785688870984703978685831883128646479129236357154449108333346122846325627669187324963533155904510980070764702572016120823611118198606825692352434279607275773289092621138465226645564764997497030026294069764597182799808246075656089745446385483695179077238065973912434020853526915373038813332743259703899347525377550198555916468695941257733146762409062915434212749497717156148555079641425139642720324 1117259058811479014201912052823827766389236179471413540411527724050807671823309793437172167742646121189094012847591483314126198000245623063125709737371959013332762402699090447774453053504467467429502198313657102819668223587304035897278869503314508018705632534786299966873466616003183790068278606413191599750705020985543522375764200259895368540425207670682987438748230662079614139944741602405772581604997489776790953163011091448377713550564935529673241918056133451828507489043235036869580695207453851443508873914341410702928882510989421877204496120625572114689720951227357432022416793099716012312059565433476819049380294272560416138394940669832594300943406333767149501506831669891195442127589265888105744070966931932964588078250082793355529292943065997646471308052982353860896544229883512878228656740431674784715608482081073728617656992374912016408033241668121924297198953173250287740453681589429397376178590904393122807276080608870305393910545738166553648384473792750629985816898106955179291513061850332425061547445339997874974710749857391041662400392915961808472642726086380514299481708610232669553223049254203782811265876803839032173054454434166319936182991570189787368242988194084500852775173790503169893136905704057512900010623132755053045859738242047933415218314875585404819169867629055807795607167316648732550124917483113910482670273361356297941566388510593087129416139121331487326083693887632737564768808647790586091155936071224346699077873519214975325789599638455260594135059018471432506350000336001401838354606577612936351815407030095000535995036560136865691880013613587658706310091114282020672123737235372318669364140547906649393374425307084893398111290739388369978327879705453206780945313250985014958813249289568455746285064081025752983668436987255767289844852202917654510252030950139655450010059965394191142368467377692165055471268536478326488883934336932122901766476867193830914185964507264721849788201077364594985359403405595327037088596560597181096325728926917452489094052628669268166446911288950935022019896733664639702859889446745754994129707501664350480678460303099718492845746670213435404392934536765672058409841300570860475208069855193501709869588625624650190989680860568166151589898121629440985435407773421867768872807918411168012671898274657763958382236475224421765256172763317823004845092428289251023892470406681906223644805028165070361314328926846391198524076857549618651184728596522924605435451623230521416742001143391922226163973561081222051971868108264578137589666095024085487780812528267329635717790165297472539019439451544324262491501203750030570944621397072761466207849791075071902635897615934395392568658862155570783306311658463355192341776261171497924289136307430241870626254606417807372223033269846132673611917008339844608757881973843524138208925580746956075799045756563484828614361536503978973506300837371240298084829825481711804002872516505797398710796708807362571558894538045320023378531708557915055278158014921370440552768105654044916504286828448347636597643740498495250775790841206633017897055559958314835873986542217176230537390855961914412899540788111315980657961914313825536396450870469781663161921664631075871677473502194662286242127857432453588944171219602488516242536393934500440286522181058803601616114959141449318741864301681183402657639506777318334675335646760909511044619950722468997344007173137801216025134316786247955101199591052435064212489598048856846959604407954103897000177960820712199609700976155170184196338180787877559260704461660686016812125638975674816840011638499848518284800984503030709301710581263197603565203371695041127 1807763131395690741840062006074510176080404094053176841181257561278722530166278363895754965246385140034938895607737676071636406177843609901162764254758520378804536900899357052746716904812548983490042091086100920380188524991054746761924903962897014274626241921280778929966335008824399702505756392571446400261654856207222558012921656662874926460749807095665763007736011694692286766356055551548652119679150332187602394660544248627150633333810085753428582069694660231735639236191954342681189454417842157686690933374791625497643561673630285928018207049665127509753052833524894748194240222024981307289235810847115781513006860261738990512631179458914021474251684083699326496435021143372429714613394993237165333334530168607437332457313664998841877852048280035295650751896687354150705068050929591336725724516499152849396897451520635822307229037537543301291598671941211528070974564196070607434151799195254820863510118050493684277151678271155733004599499538031625399239272418795072368794617297658562010712219184119270591492032249866666725267138401077185643412943421615192600155291648780680723550266930366164095150610149033367550333519828581541920151636106218642806751542352493439532078642825430560287080808092695862838554202468254456352944479129092778134030164149831445908287059918417759230156627612991721923516269590485761102049783735766236716269062497305620852567686622929869755922523109370682578218422047671263396038008209846480531646895446789389652421979917696424370340580668737445345240475597995264333836040171006455191455978134966789182578648675066832736141767070083492725334720285653437199050156342327211677729488413105869155035713407474297289452243354806442263932298201467972919386784417143244057591333398867617882095986043032044867198493183951786052197887586904417622891050814653426107146007107230391425128247431697799191016560666876284329551745310549531065375944787526971350230930272673307691465134105572577022917985081090686128245956185950714276561544525245963400420099651879152275388580444986215320513299078313792340284882316963520341232599869393840413754564969367759001503744260899536268812907586729984296262498898074859648971872834265214007085480900909437690066323347470755219479603715275101935389426183282967528717421024864248041609823666387901964892577564823237975421946313994478511206955502638942413265299036375535111038729151423198253107237336665683130242451879280436600969457274669596300204846153833697125192752459299270511976332387597099748550702331597674882377454410686833225682540895020327039342453313960536931287099010378836769195037462033603135009856423726637868619570322313474320444520997244923455965236142200113201855266218515174552236986042307970611899195581222073380634973719701477130920331265139594849190011350369456072513919260885625553051104231010352446839102553506396595643620829976770266119019530275564845298662787536589747036879741778791485956001185668896555825685548955942492801823656997032038714331826090119725663484440555027499350509741859338532368274604361058084132525981152181139689771005962596550306559197960368346582906493551239671677939932277557899666756425782888761992899047132280763859911389698473046530487484013633358949143805918062775921229161135531160729860090587192494928368277063146919415758538213252709949461081987774946411051626644716558562150486848083037247351767584520629243226776414821431623614448911090308646272782012893519866197088082461358282254195231656655205680064043849343385661655999789437675674888589191037723253553826690892003964165560033542189675837531591285535952896232995280693863899937243458799427737411752683206628511337761451 2925022190207169756041974058898337942469640273524590381592785285329530201989588157332927132989031261224032908455329159385762604178089232964288473992130479392137299303598447500521169958317016450919544289399758023199856748578358782659203773466211522293331874456067078896839801624827583492574034998984638000012359877192766080388685856922770295001175014766348750446484242356771900906300797153954424701284147821964393347823555340075528346884375021283101823987750793683564146725235189379550770149625296009130199807289133036200572444184619707805222703170290699624442773784752252180216657015124697319601295376280592600562387154534299406651026120128746615775195090417466475997941852813263625156740984259125271077405497100540401920535563747792197407144991346032942122059949669708011601612280813104214954381256930827634112505933601709550924886029912455317699631913609333452368173517369320895174605480784684218239688708954886807084427758880026038398510045276198179047623746211545702354611515404613741302225281034451695653039477589864541699977888258468227305813336337577001072798017735161195023031975540598833648373659403237150361599396632420574093206090540384962742934533922683226900321631019515061139855981883199032731691108172311969252955102261847831179889902391879379323505374794003164049326495242047529719123436907134493652174701218880147198939335858661918794134075133522956885338662230702169904302115935304000960806816857637066622802831518013736351499853436911399696130180307192705939375534616466696840186040507007857029810584712579725534394055705161833272136803630220358417214733899241095905360247456609232349853225648478187824399853955380946682826668661891335662043588940856342897714664122596450838536646649852632840909235332600500613483557264977539035866324574160184912735903017571080617398038057370046875138307397091990333385028044568449385023013847027857554259879124459094251997407139867138605651098612837298872706186158455281113605359591546041313650141085843144496745828578796604764482633073655483486960210367264727362304779050628160044092489316139595407884272471032109482182204563999254761658654256943419700655433434840531707381714134836074482293550756102939399935911973095405410469284575843268086979324304912408514152828798286115810482631584799069977564475839481001933804182789218900276463128265956765418110391464664786134931199558105104476752042364830753491556780806126827799493534132219214951389574750356621730628204082529791928718333530989021974714675892678896934349322518951411363272206990044412527123265842227866567004889175676309308214476913577927397501357627476668439564191719386235786652370788319995358601133758134508594423925080670745335543297700771325804240971842393571304924110027131719001546585871557402221413044620215588746125836269225470161808986204853876585048028134253352671442666586540255094733381066779543818804963624907830045121709567260503289958873702174693954536482257763305064360718195042352062092863534648034780941642455476397939903277847513383448872561432809405720730169721650676390465561847169229568203614757918683182456893035768415902215330788239472312566297213894204742650860961446106300256362260168254709692409148644709230626617308112725062163357018567984749674031310189681011170904670997647359702280719272056311565576041129224265152915928325899961219789993625401371922687414345430140287846727137290428967621622048891524671407098799141474967396679134896422494743793280513502165284471997953240385839616820501637285375864744361221919591734614568451264668627220719559001801476507266102375964534732843798978664884440274168101138318674950286771831883032802578 4732785321602860497882036064972848118550044367577767222774042846608252732155866521228682098235416401258971804063066835457399010355932842865451238246888999770941836204497804553267886863129565434409586380485858943580045273569413529421128677429108536567958116377347857826806136633651983195079791391556084400274014733399988638401607513585645221461924821862014513454220254051464187672656852705503076820963298154151995742484099588702678980218185107036530406057445453915299785961427143722231959604043138166816890740663924661698216005858249993733240910219955827134195826618277146928410897237149678626890531187127708382075394014796038397163657299587660637249446774501165802494376873956636054871354379252362436410740027269147839252992877412791039284997039626068237772811846357062162306680331742695551680105773429980483509403385122345373232115067449998618991230585550544980439148081565391502608757279979939039103198827005380491361579437151181771403109544814229804446863018630340774723406132702272303312937500218570966244531509839731208425245026659545412949226279759192193672953309383941875746582242470964997743524269552270517911932916461002116013357726646603605549686076275176666432400273844945621426936789975894895570245310640566425605899581390940609313920066541710825231792434712420923279483122855039251642639706497620254754224484954646383915208398355967539646701761756452826641261185340072852482520537982975264356844825067483547154449726964803126003921833354607824066470760975930151284616010214461961174022080678014312221266562847546514716972704380228666008278570700303851142549454184894533104410403798936444027582714061584056979435567362855243972278912016697777925975887142324315817101448539739694896127980048720250723005221375632545480682050448929325088064212161064602535626953832224506724544045164600438300266554828789789524401588711444733714574759157577388619635823911986065602228337412540446297116232718409875895624171239545967241851315777496755590211685611089107897165928230675757039871213518641698807473509445578519702589661367591680385325089185533435821638837440399868483685948824898791030471561843673403996917932332915391356353586969101288489379031657012377090002235320566160629948888291118370022368750488195376042870249823150363852092455251186971942457053404304239909226129103213378787670083768595707831375690501040321245969928709528302729859279701496436621799232685407264400462991406888811251594420904190318855820956541829062440694665918586121723265378224276571816726776929638244588954747885064739566465719156188403498291988186055146077409514375611530532511214051203306308183762041699710107096891785564918814566369900334621796279191299185919887780283743079296416140167423615644685559083746833196132466917136696997070603055970585044818639755530111095714860090435864229031887130687759749267086287416517025360852400597055108664103626412444419792158589309039294775914874887843590510362167806719247557162541852039384100807195360738154506605126896031425439253787589372721981240836037170463804862695702802857530155332853131826118510173955879051529039799529319655573893270720517030212233053639677093504643760008578387064116273649866727756222896632658342589575761114030787838084586179703515910403891400776873506099272948060794279118039257485309021515037123116999211563967554970616519781940480473484409170039181929950769531073503552111860591236070959981833317679880812034994833593767217357780776997988512170157370964536041802583771501272820291074961050753333552259642845288441259343268632792780753101191477314038857387911917430965839079672528784377517626900566056086702969978460394370564029 7657807511810030253924010123871186061019684641102357604366828131937782934145454678561609231224447662483004712518395994843161614534022075829739712239019479163079135508096252053789056821446581885329130669885616966779902022147772312080332450895320058861289990833414936723645938258479566687653826390540722400286374610592754718790293370508415516463099836628363263900704496408236088578957649859457501522247445976116389090307654928778207327102560128319632230045196247598863932686662333101782729753668434175947090547953057697898788450042869701538463613390246526758638600403029399108627554252274375946491826563408300982637781169330337803814683419716407253024641864918632278492318726769899680028095363511487707488145524369688241173528441160583236692142030972101179894871796026770173908292612555799766634487030360808117621909318724054924157001097362453936690862499159878432807321598934712397783362760764623257342887535960267298446007196031207809801619590090427983494486764841886477078017648106886044615162781253022661897570987429595750125222914918013640255039616096769194745751327119103070769614218011563831391897928955507668273532313093422690106563817186988568292620610197859893332721904864460682566792771859093928301936418812878394858854683652788440493809968933590204555297809506424087328809618097086781361763143404754748406399186173526531114147734214629458440835836889975783526599847570775022386822653918279265317651641925120613777252558482816862355421686791519223762600941283122857223991544830928658014208121185022169251077147560126240251366760085390499280415374330524209559764188084135629009770651255545676377435939710062244803835421318236190655105580678589113588019476083180658714816112662336145734664626698572883563914456708233046094165607713906864123930536735224787448362856849795587341942083221970485175404862225881779857786616756013183099597773004605246173895703036445159854225744552407584902767331331247174768330357398001248355456675369042796903861826696932252393911756809472361804353846592297182294433719812843247064894440418219840429417578501673031229523109911431977965868153388898045792130216100616823697573365767755923063735301103937362971672582413115316489938147293661566040418172866961638109348074793107784557023078621436479662575086835986041920021529243785241843030311892432279064133212034552473249486081965705107380901128267633407206611322066327190113356013491534092199956525539108026202983995654546940586449160624358854369412999449575143697980054116955468751076099448589655952226954875109152093588984998416270065296877361731455385623991289189457930012571678679974747747953761085945893749262573884914173167503658469130390703116379856665223323581443850622220381139266009215990483193773964915134013503008254399292016100590800633564765591799336565876669076640718105616935158822013101938528954003057280455585781663834652482908590037352249837280298876299798065873748590018284464898650064482552621523260047081736162900058895386189287546769351507823379157065436886105430113397469979869525592865424453533920620894700301055686713788713797734711496692565088071476108601508756502524799350853571298247294620970024493364372635910034982465915305781303051820202378422143512900247943198271500660077922710966554517270177619058441638820319976757365333080613164246223476716883483296516481001730474098885781092726596275380909818920230689402289558857693008873357989086979611176469800990446352254203271741781792683659536249008039755824157340889640792712246426618077913481562437023055827794533301420001472660193278790546123490287881965698682878651193668817791795001704374761653256750292277403366607 12390592833412890751806046188844034179569729008680124827140870978546035666301321199790291329459864063741976516581462830300560624889954918695190950485908478934020971712594056607056943684576147319738717050371475910359947295717185841501461128324428595429248107210762794550452074892131549882733617782096806800560389343992743357191900884094060737925024658490377777354924750459700276251614502564960578343210744130268384832791754517480886307320745235356162636102641701514163718648089476824014689357711572342763981288616982359597004455901119695271704523610202353892834427021306546037038451489424054573382357750536009364713175184126376200978340719304067890274088639419798080986695600726535734899449742763850143898885551638836080426521318573374275977139070598169417667683642383832336214972944298495318314592803790788601131312703846400297389116164812452555682093084710423413246469680500103900392120040744562296446086362965647789807586633182389581204729134904657787941349783472227251801423780809158347928100281471593628142102497269326958550467941577559053204265895855961388418704636503044946516196460482528829135422198507778186185465229554424806119921543833592173842306686473036559765122178709406303993729561834988823872181729453444820464754265043729049807730035475301029787090244218845010608292740952126033004402849902375003160623671128172915029356132570596998087537598646428610167861032910847874869343191901254529674496466992604160931702285447619988359343520146127047829071702259053008508607555045390619188230201863036481472343710407672754968339464465619165288693945030828060702313642269030162114181055054482120405018653771646301783270988681091434627384492695286891513995363225504974531917561202075840630792606747293134286919678083865591574847658162836189211994748896289389983989810682020094066486128386570923475671417054671569382188205467457916814172532162182634793531526948431225456454081964948031199883564049657050663954528637547215597307991146539552494073512308021360291077685040148118844225060110938881101907229258421766767484101785811520814742667687206467051161947351831846449554102213796836822601777944290227694491298100671314420088888073038651461051614070127693579940382614227726670367061158080008131716825281303160599893328444586843514667542087173013862478582648089481752256440995645657851803295803148181080861772466745428626871056977161709936470601767823626735155246176941356600419516945996837454578416558737259442270117166187916810107665368161265421245432341232040567802876378227900541181702760173891660054704154604673563588865547786601463033505664800988462523785729883281055931715802785656000846154359449832987733873558803752186982307679042585111103865186929918636521306689624860676042277520798111266480420144951396362619156561385678383405347329447661591529167076582334648822289509772851205615241419574305816438182260889761147012216449796669629438888185339092841788623477861874975260817871201800178685801899121120263707254256124343794151896247539248818410853026258827411354233507150333330455561127256391450776227553432881805223962669676786240536492094407727050001872229273532737032404493248391751938380978602880428488909559901710222138202413961394409778139536174300738332529377975016570481814111743428023369450567119235917938359234242674354595650287363222688280851038267133000783670954572370190262765778205331679349993734241514150150093763968855191306766860423211464634584213569611984048739770304853816907213544081558407928842162461083787207477371411465741205282311497087137801934212782225761384756104584980878199799396664521958323722453195309421902270430848356226728752671773930636 20048400345222921005730056312715220240589413649782482431507699110483818600446775878351900560684311726224981229099858825143722239423976994524930662724927958097100107220690308660846000506022729205067847720257092877139849317864958153581793579219748654290538098044177731274098013150611116570387444172637529200846763954585498075982194254602476254388124495118741041255629246867936364830572152424418079865458190106384773923099409446259093634423305363675794866147837949113027651334751809925797419111380006518711071836570040057495792905943989396810168137000448880651473027424335945145666005741698430519874184313944310347350956353456714004793024139020475143298730504338430359479014327496435414927545106275337851387031076008524321600049759733957512669281101570270597562555438410602510123265556854295084949079834151596718753222022570455221546117262174906492372955583870301846053791279434816298175482801509185553788973898925915088253593829213597391006348724995085771435836548314113728879441428916044392543263062724616290039673484698922708675690856495572693459305511952730583164455963622148017285810678494092660527320127463285854458997542647847496226485361020580742134927296670896453097844083573866986560522333694082752174118148266323215323608948696517490301540004408891234342388053725269097937102359049212814366165993307129751567022857301699446143503866785226456528373435536404393694460880481622897256165845819533794992148108917724774708954843930436850714765206937646271591672643542175865732599099876319277202438323048058650723420857967798995219706224551009664569109319361352270262077830353165791123951706310027796782454593481708546587106409999327625282490073373876005102014839308685633246733673864411986365457233445866017850834134792098637669013265876743053335925285631514177432352667531815681408428211608541408651076279280553349239974822223471099913770305166787880967427229984876385310679826517355616102650895380904225432284886035548463952764666515582349397935339004953612684989441849620480648578906703236063396340949071265013832378542204031361244160246188879498280685057263263824415422255602694882614731994044907051392064663868427237483824189176976014432724196483243010069878529907889292710785234025041646241064900074410945156916407066023323177242628923159055782500111891874723595286752888077936915936507837700654330347854432450536007772185244795117143081923834150816848511259668475448800376042485104863657562412213284200028719277790546771179520664817736409119225486458187509318878975826817556493408657635283043753643689153020943628885742909518056848657496953990446392536357408563255803679669563871601894595416933334747160901377217272882577685424058899250334427446630780540856902445955634076666525471294763026400493923153205795654635257152186311948170939128784227468198243717300440265757448331785953144144195422631586272023963924724413629920806487148919466719187061638890907662372067880159440159467935684352800209061946202856426607313151510533081698665599047072197567918463144932841467630977130202856048426551709925371397122253733937491937751383474520952033184659495798526110473738030035261831755346819689999233001948627373792861545469936692688053508195264446229980517958317813638580472576246517230559736822709982540639628186177677556758679211000039687676263451609446164997734521563649481785401428671255971355492374480712589168913964930916439708951456977728549295853840034387934435574659921866187320481552097537476443462552121314232086183052101876499453903989489379222767719334552914932335235632783698421578034895131104368487681362363204836974916122013101216903974805610009483479044949177297243 32438993178635811757536102501559254420159142658462607258648570089029854266748097078142191890144175789966957745681321655444282864313931913220121613210836437031121078933284365267902944190598876524806564770628568787499796613582143995083254707544177249719786205254940525824550088042742666453121061954734336001407153298578241433174095138696536992313149153609118818610553997327636641082186654989378658208668934236653158755891163963739979941744050599031957502250479650627191369982841286749812108469091578861475053125187022417092797361845109092081872660610651234544307454445642491182704457231122485093256542064480319712064131537583090205771364858324543033572819143758228440465709928222971149826994849039187995285916627647360402026571078307331788646420172168440015230239080794434846338238501152790403263672637942385319884534726416855518935233426987359048055048668580725259300260959934920198567602842253747850235060261891562878061180462395986972211077859899743559377186331786340980680865209725202740471363344196209918181775981968249667226158798073131746663571407808691971583160600125192963802007138976621489662742325971064040644462772202272302346406904854172915977233983143933012862966262283273290554251895529071576046299877719768035788363213740246540109270039884192264129478297944114108545395100001338847370568843209504754727646528429872361172859999355823454615911034182833003862321913392470772125509037720788324666644575910328935640657129378056839074108727083773319420744345801228874241206654921709896390668524911095132195764568375471750188045689016628829857803264392180330964391472622195953238132761364509917187473247253354848370377398680419059909874566069162896616010202534190607778651235066487826996249840193159152137753812875964229243860924039579242547920034527803567416342478213835775474914339995112332126747696335224918622163027690929016727942837328970515760958756933307610767133908482303647302534459430561276096239414673095679550072657662121901892008851312974972976067126889768599492803966814174944498248178329686780599862643989842882058902913876085965331847004615095670864976357816491719437333771989197279086555961969098551903913077250014665893775810553370703649818912522117019381152295183121654372781725355714105756809735510610166691910171010332069644978694539964205347543193883723594767739803640848835411209626899195964634643242221956827079552525601974443583666505845416805400795559431101701112140828772021459470989394956734687989628330185897674540470918799419549886681852205045457034590360395456935413698393307625617192474608457304658311691002618791434855060143138446536859611385366657257895441571292784580148635250776076634764667731737941835445531311817710459493423752645258937342567748815561137666974343298157192017254413713571990331576286458231889059727410793882774914579737841558804349759436842205892088462146185614174776933022936945589096158075246977983749450995545742034415420285806886152978894863845323976690314567407634876875850561846586321015978771489403760252821864484280536186503987678966316822173349807166819297161714053151307192569676753903525576112345967303567998864159840068081751171382927230254221350455029838402910191710609225840639758657494492114376913001954221533801041550934453410564009078753296913474697038445242714042271913738972668853278585559830782482569072383243626161618258152686044268518907699172430589859045220946583740602620700457599399070158873491478171369221322402391293350676096202872640015025214562960286661381360900844963973001646050002070137169845565924182962790999716085246687480759027726795298638575208410638806245236458365710207797620951227879 52487393523858732763266158814274474660748556308245089690156269199513672867194872956494092450828487516191938974781180480588005103737908907745052275935764395128221186153974673928748944696621605729874412490885661664639645931447102148665048286763925904010324303299118257098648101193353783023508506127371865202253917253163739509156289393299013246701273648727859859866183244195573005912758807413796738074127124343037932678990573409999073576167355962707752368398317599740219021317593096675609527580471585380186124961757062474588590267789098488892040797611100115195780481869978436328370462972820915613130726378424630059415087891039804210564388997345018176871549648096658799944724255719406564754539955314525846672947703655884723626620838041289301315701273738710612792794519205037356461504058007085488212752472093982038637756748987310740481350689162265540428004252451027105354052239369736496743085643762933404024034160817477966314774291609584363217426584894829330813022880100454709560306638641247133014626406920826208221449466667172375901849654568704440122876919761422554747616563747340981087817817470714150190062453434349895103460314850119798572892265874753658112161279814829465960810345857140277114774229223154328220418025986091251111972162436764030410810044293083498471866351669383206482497459050551661736734836516634506294669385731571807316363866141049911144284469719237397556782793874093669381674883540322119658792684828053710349611973308493689788873934021419591012416989343404739973805754798029173593106847959153782919185426343270745407751913567638494426912583753532601226469302975361744362084467674537713969927840735063394957483808679746685192364639443038901718025041842876241025384908930899813361707073639025169988587947668062866912874189916322295883845320159317744848695145745651456883342551603653740777823975615778267862137849914400116641713142495758396728385986918183996077813734999659263405185354811465501528524300708644143502837324177704251289944190317928585661056568739389080141382873517411007894589127400951794432241186193874243303063160064965463612532061878359495280398613419186602052065766034104330478620625837525789387737266426990680326500007036613713719697442430006312091937529208163300613846625430125050913726142576633489869152799933491125427478806431838928942829946771801531683676311478549489741557481331646500642415427466751944222634449436125260432177765513892254201171601916206564769703240985305659499708672747281459169148995003634083659696405257607059205560828031863013527999018030739979167342082460646560821360351366822715160348499572781881247596500547009792663291054930528859790036988226119327309536627993349517342353155796841085779958758448491000350326198600893014009093220110324164067468266451362987671889670865758302279747225587016116527925654511183215180337186173344757493903632264837478360486110110338588406853829424094508562877262308616874657113367613622193855579753742570505779103925791526833116921880559145409957549227445633393213546689952548693094289495461410739042552414230676242193570472060900756789099465436625828144602861413399324102222819705333603260695915186887771750404384875857628014212000499775095598245218804490286869739175452809928015493474530468051031601287757163393104648706939474591031455717656242753729948177190582115018276320081394431964354473811914882132973750527166756857687821664103347029567996677924312289898474540491987333505733533413344358689702874499928769794138648324186872101208266664836786115285350390224186740720980602917002472405478349622604540825894847189615175162121390931632273554697221511855710220042068375193686842570128525122 84926386702494544520802261315833729080907698966707696948804839288543527133942970034636284340972663306158896720462502136032287968051840820965173889146600832159342265087259039196651888887220482254680977261514230452139442545029246143748302994308103153730110508554058782923198189236096449476629568082106201203661070551741980942330384531995550239014422802336978678476737241523209646994945462403175396282796058579691091434881737373739053517911406561739709870648797250367410391300434383425421636049563164241661178086944084891681387629634207580973913458221751349740087936315620927511074920203943400706387268442904949771479219428622894416335753855669561210444368791854887240410434183942377714581534804353713841958864331303245125653191916348621089962121445907150628023033599999472202799742559159875891476425110036367358522291475404166259416584116149624588483052921031752364654313199304656695310688486016681254259094422709040844375954754005571335428504444794572890190209211886795690241171848366449873485989751117036126403225448635422043128008452641836186786448327570114526330777163872533944889824956447335639852804779405413935747923087052392100919299170728926574089395262958762478823776608140413567669026124752225904266717903705859286900335376177010570520080084177275762601344649613497315027892559051890509107303679726139261022315914161444168489223865496873365760195503902070401419104707266564441507183921261110444325437260738382645990269102686550528862982661105192910433161335144633614215012409719739069983775372870248915114949994718742495595797602584267324284715848145712932190860775597557697600217229039047631157401087988418243327861207360165745102239205512201798334035244377066848804036143997387640357956913832184322126341760544027096156735113955901538431765354687121312265037623959487232358256891598766072904571671951003186484300877605329133369655979824728912489344743851491606844947643481962910707719814242026777624763715381739823052909981839826153181953041630903558637123695629157679634186840331585952392837305730638575032103830183717125361966073941051428944379066493455166145374971235678321489399538023301609565176587806624341291650343677005346220275817589984417369516354952123331473089824391284954986628350785839156670535878087243656561062970943823195072457500971803134290373140655525126451416115119398325152767108230842465277058669688708771302186975038099704015844271359309059601967161347308265881844069757327118970698067704016147158777325189531758200167324057026609092242680236908470562589378426196914581040475768272178013834959824127373472039502191573316102656643685456329522902440297186117685478559518903907458171878769426152107020887534782921225490070266201459843749951246151951351660968925885301734442609749520179689144084579330292611323512045248005587653065305065990094916924014903561843663069107043370448948256295952763183786852361040097659035337555594858406564363159364228271000039549456658757998789636850809807236447966780286833399789292219714229525461441952453347111359945691275229056401909642559015743821868067576086261179489777135337172538167302849678335165672637171259560075026955853501575767803087882235562455529613498508436929413716127509497832947302042392406476484689584832642838691616803668657785692771504506152756101485467772220090929554783871554905641225214446923546195158508294592008679852801126206729363275777619427041898870896030501095240949586732575892406904822530058924196902320063144814744527059512116233481227797072776666711291069150713722626652919072609575323915546787503616894563274861862642880418658427572193272429922494516465278526740903894640191079753001 137413780226353277284068420130108203741656255274952786638961108488057200001137842991130376791801150822350835695243682616620293071789749728710226165082365227287563451241233713125400833583842087984555389752399892116779088476476348292413351281072029057740434811853177040021846290429450232500138074209478066405914987804905720451486673925294563485715696451064838538342920485718782652907704269816972134356923182922729024113872310783738127094078762524447462239047114850107629412618027480101031163630034749621847303048701147366269977897423306069865954255832851464935868418185599363839445383176764316319517994821329579830894307319662698626900142853014579387315918439951546040355158439661784279336074759668239688631812034959129849279812754389910391277822719645861240815828119204509559261246617166961379689177582130349397160048224391476999897934805311890128911057173482779470008365438674393192053774129779614658283128583526518810690729045615155698645931029689402221003232091987250399801478487007697006500616158037862334624674915302594419029858107210540626909325247331537081078393727619874925977642773918049790042867232839763830851383401902511899492191436603680232201556542773591944784586953997553844783800353975380232487135929691950538012307538613774600930890128470359261073211001282880521510390018102442170844038516242773767316985299893015975805587731637923276904479973621307798975887501140658110888858804801432563984229945566436356339881075995044218651856595126612501445578324488038354188818164517768243576882220829402698034135421062013241003549516151905818711628431899245533417330078572919441962301696713585345127328928723481638285345016039912430294603844955240700052060286219943089829421052928287453719663987471209492114929708212089963069609303872223834315610674846439057113732769705138689241599443202419813682395647566781454346438727519729250011369122320487309217730730769675602922761378481622174112905169053492279153288016090383966555747306017530404471897231948832144298180264368546759775569713848996960287426433131590369464345016377591368665029234006016892556911128371814661425773584654864923541465304057405940043797213644150130679387610103996026546775824626598131089213797382129643565027353599448255600474976215964207584262020663877146430215770877314320499936307403642063233203087427326658135092426597947814894324589562488965919474097155460715524821424474224964448022036873201313803138763263514830651547310742632778470406740451297606327926320193165841859863729314633668297803508268771484090588396456936893748382558228918738835195311190950088632388001764355197350253144232466122186193495227714977475515547745023234767708506762775669449374043331624007005448828714692460194076149847044965360754189036209465801910876200883167361033755445088594891070737632264122115578719816249205275254110188248319337566701371880848809434366406291351590640681785134606221912599864211733063677730772986422126579793292027164537102715428377642924158328525925696790949016737853107443072151394501146441400855407102014271608816140318801209314293928968332875360644926402963481775399580702173780557985377970774520255990213843625251980152678945510249774456029388594106682148218206414379237008400111970407899951015157635864244126448780196773306492632246095537608473757728221502168268120136898889831225722619646411278020007073390427565759207019557983894551027379124648995038576795208320399569781441574066081625940318166888748627071402248832938953392851246384217441747892633858891952061681293337454443607255836075081980802265169392044442789410464477037805001809590059845747969651434350226685320595116097581482761208278123 222340166928847821804870681445941932822563954241660483587765947776600727135080813025766661132773814128509732415706184752652581039841590549675400054228966059446905716328492752322052722471062570239236367013914122568918531021505594436161654275380132211470545320407235822945044479665546681976767642291584267609576058356647701393817058457290113724730119253401817216819657727241992299902649732220147530639719241502420115548754048157477180611990169086187172109695912100475039803918461863526452799679597913863508481135645232257951365527057513650839867714054602814675956354501220291350520303380707717025905263264234529602373526748285593043235896708684140597760287231806433280765592623604161993917609564021953530590676366262374974933004670738531481239944165553011868838861719203981762060989176326837271165602692166716755682339699795643259314518921461514717394110094514531834662678637979049887364462615796295912542223006235559655066683799620727034074435474483975111193441303874046090042650335374146879986605909154898461027900363938016462157866559852376813695773574901651607409170891492408870867467730365385429895672012245177766599306488954904000411490607332606806290951805732354423608363562137967412452826478727606136753853833397809824912642914790785171450970212647635023674555650896377836538282577154332679951342195968913028339301214054460144294811597134796642664675477523378200394992208407222552396042726062543008309667206304819002330150178681594747514839256231805411878739659632671968403830574237507313560657593699651613149085415780755736599347118736173142996344280044958465608190854170477139562518925752632976284730016711899881613206223400078175396843050467442498386095530597009938633457196925675094077620901303393814241271468756117059226344417828125372747376029533560369378770393664625921599856334801185886586967319517784640830739605125058383381025102145216221707075474621167209767709021963585084820624983295519056778051731472123789608657287857356557653850273579735702935303959997704439409756554180582912680263738862228944496448846561308494026995307947068321501290194865269827571148555890543245030864842080707549608973801450774471971037953781001372767051642216582548458730152334252975038117177990733210587103327001803364254797898751120802991278741821137515572393808375445197523576228082851784586508541717346140047091697793331431196532766844169486827008399512324668463866308232510373405105924610823096533391380499959897441104808155313753486703645382697600060031053371660277390046188505679954653177774883133808329423033997190916849030271015077462104427503955928513452909787917922451709095935524901095160994107263927142225880385532201821556394930866406928230938898980893920037826101093196916712415157962094767536353485950403347050177840024418887502394249677512127703231785121315195370171034203151881181229770478924219258382622702244114774427534146174703880947937419806591470242093932350650397579832841483823295101505065228452731394776492705983624348806030072821672597612836453599788512215352793289500665218049961360225058115797035908961621824416180098818947937748005023458893151050607945779816065240799478753555920482033392485336911559002092615119077631922541888734841347414012800306427499847220696886965140397000441964278325017600043761229859213689274388359049691682761386131363844860858201566202231898722157767886872359110101280390654902268422080475666104350900665022391160798657518347222989418807551268304568896083768137378305896333675229120430931668618772972362488168166233908755147691556126180716179548059683973739338900447882228248487417941242081356844743150599121857001476122952288031124 359753947155201099088939101576050136564220209516613270226727056264657927136218656016897037924574964950860568110949867369272874111631340278385626219311331286734469167569726465447453556054904658223791756766314014685697619497981942728575005556452161269210980132260412862966890770094996914476905716501062334015491046161553421845303732382584677210445815704466655755162578212960774952810354002037119664996642424425149139662626358941215307706068931610634634348743026950582669216536489343627483963309632663485355784184346379624221343424480819720705821969887454279611824772686819655189965686557472033345423258085564109433267834067948291670136039561698719985076205671757979321120751063265946273253684323690193219222488401221504824212817425128441872517766885198873109654689838408491321322235793493798650854780274297066152842387924187120259212453726773404846305167267997311304671044076653443079418236745575910570825351589762078465757412845235882732720366504173377332196673395861296489844128822381843886487222067192760795652575279240610881187724667062917440605098822233188688487564619112283796845110504283435219938539245084941597450689890857415899903682043936287038492508348505946368392950516135521257236626832702986369240989763089760362924950453404559772381860341117994284747766652179258358048672595256774850795380712211686795656286513947476120100399328772719919569155451144685999370879709547880663284901530863975572293897151871255358670031254676638966166695851358417913324317984120710322592648738755275557137539814529054311183220836842768977602896634888078961707972711944203999025520932743396581524820622466218321412058945435381519898551239439990605691446895422683198438155816816953028462878249853962547797284888774603306356201176968207022295953721700349207062986704379999426492503163369764610841455778003605700269362967084566095177178332644787633392394224465703530924806205390842812690470400445207258933530152349011335931339747562507756164404593874886962125747505528567847233484224366251199185326268029579872967690171993819313960793862938899862692024541953085214058201323237084488996922140545408168572330146138113489652771015094924602650425563884997399313827466843180679547943949716382618603144531590181466187578303217767571839059919414997949421494512698451836072330115779087260756779315510178442721600968315293954941416287355820397116006863999630202351829823986549632911888345105711687208244687874337927184938691242592675911511548606611359814629965575863441919894782686293945687849696774451438743766171340070702077805592226109655684225582206027550736815505720283710803162932150388573895289430752616072636509655008950376993588892294977491005768974198030935236387727695586380231902250940241882073169346998304233338264362151286514411211595469507482393464987309776249818810504937564400645425144391400200518796471850805068067816989108535466365068215931309310102860537284018324533919824705337072524159626133510987832204220493606095655553105018631680415297822767925929115669764230954746229913070759895303772274034190280161434372409726004241836982469342583062300723337328707197239451136428578720300072055454643104005536073160978902735111367588390686721801225850128956267971849747525983208206378515004856561131091589177197215270770957263695581369703616941910776556627169828581651217357086464507269479586209305289149723527093891917093995831418034026917417119052461312671300234803832734864739144287541156307556178339706817729022721530229552280551116977013064790560570834653655825622609841164591222773536928445885571592502473384203815938252884037838547263689211732791194969835919716973099057605713496309247 582094114084048920893809783021992069386784163758273753814493004041258654271299469042663699057348779079370300526656052121925455151472930828061026273540297346181374883898219217769506278525967228463028123780228137254616150519487537164736659831832293480681525452667648685911935249760543596453673358792646601625067104518201123239120790839874790935175934957868472971982235940202767252713003734257267195636361665927569255211380407098692488318059100696821806458438939051057709020454951207153936762989230577348864265319991611882172708951538333371545689683942057094287781127188039946540485989938179750371328521349798639035641360816233884713371936270382860582836492903564412601886343686870108267171293887712146749813164767483879799145822095866973353757711050751884978493551557612473083383224969820635922020382966463782908524727623982763518526972648234919563699277362511843139333722714632492966782699361372206483367574595997638120824096644856609766794801978657352443390114699735342579886779157755990766473827976347659256680475643178627343345591226915294254300872397134840295896735510604692667712578234648820649834211257330119364049996379812319900315172651268893844783460154238300792001314078273488669689453311430592505994843596487570187837593368195344943832830553765629308422322303075636194586955172411107530746722908180599823995587728001936264395210925907516562233830928668064199765871917955103215680944256926518580603564358176074361000181433358233713681535107590223325203057643753382290996479312992782870698197408228705924332306252623524714202243753624252104704316991989162464633711786913873721087339548218851297696788962147281401511757462840068781088289945890125696824251347413962967096335446779637641874905790077997120597472645724324081522298139528474579810362733913559795871273557034390532441312112804791586856330286602350736007917937769846016773419326610919752631881680012010022458179422408792343754155135644530392709391479034631545773061881732243519779597779108303550168788184363955638595082822210162785647953910856048258457242709500208356719019849900153535559491518102354316568070696435951413603194988218821039261744816545699074621463517665998772080879109059763228006674102050635593641261709580914676774681630219570936093857818166118752412773254519589351644723924154532458280355543593030227308109510032640094988507985149151828312539630843799689178838223498874301375754653338222060613350612485161023718330071742552573352616356761925113301333610958561041979925836057954223077895885280131393396943946223204510407228626223300572533255853221105012841243009676212224256072720068311025604385366277517167797503762272877519219469277827179312562163905064437863467326626676480300269728352033438798785584504960399000874617848101689861461389435493926369895859236987288377522042290058879596015596178594552081700026242329729287326199611810779581139495750077484013983808474703824916004161918637687722921739458974994811127305725558834548386947881511337664039646628797998750788267377067408346018425286112688593272939252240241521659430525523040150798604293758763161119671275076712220698344287479186666079888120695442582759091993643012295220448279147392779336920303482051498156706691094939996008512806014852077258018056729574197657235049282281295625130933476155600050944986219520264412603488450309368127681152411537187871881294980764276204097111808688929185839199528127417022200899826223895663396662634764145726363729608011386625106489667607858176884792206133495722229189607626018313790776075073346370465093054626601751140562157357943154838700766266087034681630453814148039712986518838830100533728665784340371 941848061239250019982748884598042205951004373274887024041220060305916581407518125059560736981923744030230868637605919491198329263104271106446652492851628632915844051467945683216959834580871886686819880546542151940313770017469479893311665388284454749892505584928061548878826019855540510930579075293708935640558150679754545084424523222459468145621750662335128727144814153163542205523357736294386860633004090352718394874006766039907796024128032307456440807181966001640378236991440550781420726298863240834220049504337991506394052376019153092251511653829511373899605899874859601730451676495651783716751779435362748468909194884182176383507975832081580567912698575322391923007094750136054540424978211402339969035653168705384623358639520995415226275477935950758088148241396020964404705460763314434572875163240760849061367115548169883777739426375008324410004444630509154444004766791285936046200936106948117054192926185759716586581509490092492499515168482830729775586788095596639069730907980137834652961050043540420052333050922419238224533315893978211694905971219368028984384300129716976464557688738932255869772750502415060961500686270669735800218854695205180883275968502744247160394264594409009926926080144133578875235833359577330550762543821599904716214690894883623593170088955254894552635627767667882381542103620392286619651874241949412384495610254680236481802986379812750199136751627502983878965845787790494152897461510047329719670212688034872679848230958948641238527375627874092613589128051748058427835737222757760235515527089466293691805140388512331066412289703933366463659232719657270302612160170685069619108847907582662921410308702280059386779736841312808895262407164230915995559213696633600189672190678852600426953673822692531103818251861228823786873349438293559222363776720404155143282767890808397287125693253686916831185096270414633650165813551076623283556687885402852835148649822853999602687685287993541728640731226597139301937466475607130481905345284636871397402272408730206837780409090239742658615644082849867572418036572439108219411044391853238749617692841339438805564992836981359582175525134356934528914515831640623677271889081550996171394706575902943907554618051767018212244406241171096142962259933437338507932917737581116701834267767218041187717054039933619719037134859103208670029710478347934049929924272504972225428546494843429891530668047485423934287642998443933747821595300359498950903268762985145249264127905368536473115963576534424483899820618744248168765745582054582832140710117563275212485034218449410228217481435427132563578058515396495935059235652218699599499674797030133240434013417281827896213058170122156803567932879262468798703714354372066680501630602973680680858753851958703234212882210252976375872601030963433852289324224297064627340852794996443996661021322985952282218822714180534355394016600919315047504563966008793324086669011987843240538081743343024795445899085108505798959509946052440644042500986529969344454944451565924679903937141298363092248338356872583897045213286430521683093802935249044392635586763101346223420394612405419417937795423907765386379960176150085686764628066803991197955559646735783466058721529332180454424678540842465979216719184529856933819149148318751394872505820239544991206500637093097510827501613389348846063820845536773875397160738620842477021604822074656193298092943226722956103256318580588729693501134630056630528135806922305302033919907947718204354129211197837410457435909183146560512789760442279674139413385916237937593238629983072487322733064630742146970776953650303925581945319665546939234682822438555803199591334379280649618 1523942175323298940876558667620034275337788537033160777855713064347175235678817594102224436039272523109601169164261971613123784414577201934507678766391925979097218935366164900986466113106839115149848004326770289194929920536957017058048325220116748230574031037595710234790761269616084107384252434086355537265625255197955668323545314062334259080797685620203601699127050093366309458236361470551654056269365756280287650085387173138600284342187133004278247265620905052698087257446391757935357489288093818183084314824329603388566761327557486463797201337771568468187387027062899548270937666433831534088080300785161387504550555700416061096879912102464441150749191478886804524893438437006162807596272099114486718848817936189264422504461616862388580033188986702643066641792953633437488088685733135070494895546207224631969891843172152647296266399023243243973703721993020997583338489505918429012983635468320323537560500781757354707405606134949102266309970461488082218976902795331981649617687137893825419434878019888079309013526565597865567878907120893505949206843616502869280281035640321669132270266973581076519606961759745180325550682650482055700534027346474074728059428656982547952395578672682498596615533455564171381230676956064900738600137189795249660047521448649252901592411258330530747222582940078989912288826528572886443647461969951348648890821180587753044036817308480814398902623545458087094646790044717012733501025868223404080670394121393106393529766066538864563730433271627474904585607364740841298533934630986466159847833342089818406007384142136583171116606695922528928292944506571144023699499718903920916805636869729944322922066165120128167868026787202934592086658511644878962655549143413237831547096468930597547551146468416855185340550000757298366683712172207119018235050277438545675724080003613188873982023540289267567193014208184479666939232877687543036188569565414862857606829245262791946441840423638072121350122705631770847710528357339374001684943063745174947571060593094162476375491912449905444263597993705915830875279281939316576130064241753392285177184359441793122133063533417310995778720122575755568176260648186322751893352599216994943475585684962707135561292153817653805885667950752010819736941563656909444026775555747235454247041021737630539361777964088152177317490402696238897337819988380574144918432257654124053741086125687229580709506270984298235663397651782155808434945912844659974621598834727697822616744262130461586417297187492985525879746454802202391843641467334714225537654063786479722892262844672710800750737288648237576419301525072708159315308372287010625104060163307650408231517179554705415432527447949336116130096784326906662171040981048546980771358955007119479644338356919102235087500058354666237333990466457360222185183461284353004862895085055323592676617501580504363918848956510263642720216212730094628644059716086277338070477486691668156542243661980712518367638544083500610086815671611275192429448868041307008494591080363923430692204518365771438266763642985272490318152538670763204753233460772084543434191056860109384540065887482131638636139711386952052459848296845528269523720060447003493176007925883176245395641832814231952581385231937405975225231990544709011077167205048325592529740869521826286831631570569253110878446599608869110476424333987083243524841891032379664893486117055420469502190055035411885289095518108716146715702034456280526191532469557069447760283637555729590979235700865445268634320701389280056235018950049905692453204161991311283963703723037699089073873626788100090125615654416570012616626950119361087274395808957394633300125063045064989989 2465790236562548960859307552218076481288792910308047801896933124653091817086335719161785173021196267139832037801867891104322113677681473040954331259243554612013062986834110584203425947687711001836667884873312441135243690554426496951359990608401202980466536622523771783669587289471624618314831509380064472906183405877710213407969837284793727226419436282538730426271864246529851663759719206846040916902369846633006044959393939178508080366315165311734688072802871054338465494437832308716778215586957059017304364328667594894960813703576639556048712991601079842086992926937759150001389342929483317804832080220524135973459750584598237480387887934546021718661890054209196447900533187142217348021250310516826687884471104894649045863101137857803806308666922653401154790034349654401892794146496449505067770709447985481031258958720322531074005825398251568383708166623530152027343256297204365059184571575268440591753426967517071293987115625041594765825138944318811994563690890928620719348595118031660072395928063428499361346577488017103792412223014871717644112814835870898264665335770038645596827955712513332389379712262160241287051368921151791500752882041679255611335397159726795112789843267091508523541613599697750256466510315642231289362681011395154376262212343532876494762500213585425299858210707746872293830930148965173063299336211900761033386431435267989525839803688293564598039375172961070973612635832507506886398487378270733800340606809427979073377997025487505802257808899501567518174735416488899726369671853744226395363360431556112097812524530648914237528896399855895391952177226228414326311659889588990535914484777312607244332374867400187554647763628515743487349065675875794958214762840046838021219287147783197974504820291109386289158801861986122153557061610500678240598826997842700819006847894421586161107716793976184398378110478599113317105046428764166319745257450817715692755479068116791549129525711631613849990853932228910149647994832946504483590288348382046344973333001824369314155901002689648102879242076555783403293315854378424795541108633606631034794877200781231927698056370398670577954245256932690097090776479826946429165241680767991114870292260865651043115910205584672018130074191923106962699201497094247951959693293328352156081308788955671727078832004021771896354625261799447567367530466728508194848356530159096279169632620530659472240174318469722169951040650226089556256541213204158925524867597712843071880872167498998059533260764027410009779567073546450560609387049389297057678364181349754935377297063122121028968218724075370139997360040469204094374544024505710224603734960337783648665530596836533311645585618071492919698029663589375460874755335420613661272989557980800160503092208877805469300382268607642613206591497420794074474507685581417632203747880051767589337638824566456646137671670690797998114232813649409676148623682095070662157146498679511397080325405323737313813537629192006409046325617663715836471949854571276352949535531929848110596141659664134530515101999857856387363365825101284887847036396021128936069777819961455607960460499887551056573935135294717438839808472995613956288348127250994691131567572618959711454363362146412407006063772779871954441951175074565944896316353367076987402246689761371278038132207662350621705948212998217956540245179523857118922002629653222141915090939130076662800282998262134841392351836689304876409203169086337156719668276479374749794203545503447795333364912063282679091756610572426616747808710492185366592617547907549221556942353020771576396606691418842237096392608066873938198572269784908026509078631395950436499716397424345639607 3989732411885847901735866219838110756626581447341208579752646189000267052765153313264009609060468790249433206966129862717445898092258674975462010025635480591110281922200275485189892060794550116986515889200082730330173611091383514009408315828517951211040567660119482018460348559087708725699083943466420010171808661075665881731515151347127986307217121902742332125398914339896161121996080677397694973171735602913293695044781112317108364708502298316012935338423776107036552751884224066652135704875050877200388679152997198283527575031134126019845914329372648310274379954000658698272327009363314851892912381005685523478010306285014298577267800037010462869411081533096000972793971624148380155617522409631313406733289041083913468367562754720192386341855909356044221431827303287839380882832229584575562666255655210113001150801892475178370272224421494812357411888616551149610681745803122794072168207043588764129313927749274426001392721759990697032135109405806894213540593686260602368966282255925485491830806083316578670360104053614969360291130135765223593319658452373767544946371410360314729098222686094408908986674021905421612602051571633847201286909388153330339394825816709343065185421939774007120157147055261921637697187271707132027962818201190404036309733792182129396354911471915956047080793647825862206119756677538059506946798181852109682277252615855742569876620996774378996941998718419158068259425877224519619899513246494137881011000930821085466907763092026370365988242171129042422760342781229741024903606484730692555211193773645930503819908672785497408645503095778424320245121732799558350011159608492911452720121647042551567254441032520315722515790415718678079435724187520673920870311983460075852766383616713795522055966759526241474499351862743420520240773782707797258833877275281246494730927898034775035089740334265451965571124686783592984044279306451709355933827016232578550362308313379583495571366135269685971340976637860680997358523190285878485275231412127221292544393594918531790531392915139553547142840070261699234168595136317741371671172875360023319972061560223025049831119903815981573732965379508445665267037128013269181058594279984986058345877945828358178677202359402325824015742142675117782436143060751157395986468849075587610328349810693302266440609968109924073672115664495686464705350455109082339766788787813220332910718746217889052949680589454020405614438302008245364691487126048818900146466432440540894497616429629459645950557951520395535659313528348652952453028516724011283216018245136234658269559907794831829718956012723607716416661565541912253689852396792720849707795123645434056897047776391238727078113066020829035828126447916282123045796316469160642044348512987919640147430565796907704387882326962308850540581963878154296659691146865770637066642965107091182014256326146961010056520627201061640834449026379504304792683398181348000227623985371179553622569067304449832181176173275507019133141289274991028901398722612583361444126612293771541288346178029905968781865642843128877681518363772048092600269856793213479503968876821564992500526387369682695210074846681669491299656769841142225812068187697998184307575498502135956850005194960644359587449004717277929667183165619274955973483558415402579931987559283197564869763778231603732584394812607087067016669513510940362446844520685601806808577056185497132302473053297546726681447354798021023124905203542617682911200746036444197554487183059177386312600612928727947726077311961706672982827660542091059045821709898860505520646076058470665470480318206942327222008262483443950815199219904269113783474440353345069799841460469410629596 6455522648448396862595173772056187237915374357649256381649579313653358869851489032425794782081665057389265244767997753821768011769940148016416341284879035203123344909034386069393318008482261118823183774073395171465417301645810010960768306436919154191507104282643253802129935848559333344013915452846484483077992066953376095139484988631921713533636558185281062551670778586426012785755799884243735890074105449546299740004175051495616445074817463627747623411226647161375018246322056375368913920462007936217693043481664793178488388734710765575894627320973728152361372880938417848273716352292798169697744461226209659451470056869612536057655687971556484588072971587305197420694504811290597503638772720148140094617760145978562514230663892577996192650522832009445376221861652942241273676978726034080630436965103195594032409760612797709444278049819746380741120055240081301638025002100327159131352778618857204721067354716791497295379837385032291797960248350125706208104284577189223088314877373957145564226734146745078031706681541632073152703353150636941237432473288244665809611707180398960325926178398607741298366386284065662899653420492785638702039791429832585950730222976436138177975265206865515643698760654959671894163697587349363317325499212585558412571946135715005891117411685501381346939004355572734499950686826503232570246134393752870715663684051123732095716424685067943594981373891380229041872061709732026506298000624764871681351607740249064540285760117513876168246051070630609940935078197718640751273278338474918950574554205202042601632433203434411646174399495634319712197298959027972676322819498081901988634606424355158811586815899920503277163554044234421566784789863396468879085074823506913873985670764496993496560787050635627763658153724729542673797835393208475499432704273123947313737775792456361196197457128241636363949235165382706301149325735215875675679084467050294243117787381496375044700891846901299821331830570089591147006518023232382968865519760509267637517726596742901104687293917829201650022082146817482637461910990696166167212281508966654354766938761004256977529176274214652151687210636441135762357813607840215610223835960752977173216170206694009221793112564986997842145816334598224745135344557845405347946162142403939766409658599648973993519441972131695970026740926295134032072880921837590534615145317972316612080351366748548525189854907923742575565478952234334920948028339252977825671334030153383966378488597128457705483818715547805545438880601895103513062415566113308340894382426485989593646856970916952858687174736798977856414021606011116348064396421298431074311530083983217705562578373227772038723698684092321955526156111505657583920551651889774303317338070968719800650522774674713173688264595569951463747173461298948371134198832447188269270390845158858771351895150713417656194192297891859638948681840028913980941307080276418662384770484050690950702894472628187145994713802467513428179466906938706865373348577183859714393662144223619651884487837694040499296967642700985265044884188873332980447306252814342415573746696783020600460986887257233751784009981976386930139465242836756182100416314948992875439143071121095668304368557107056766593512777497149884109134340693840900869799911782479567334234249044568842907895985893954354290343025605305023556914693034797481368847150338823948723667995315573795102756051559681568073799191487325899534108372628954839630869022515818947348690728562625181645965524992010626817833922534133289730636371034276425638439257806409727077588429079242241867087009625784564318400870550317889013771489689177140292553071749295506299557857893756269203 10445255060334244764331039991894297994541955804990464961402225502653625922616642345689804391142133847638698451734127616539213909862198822991878351310514515794233626831234661554583210069276811235809699663273477901795590912737193524970176622265437105402547671942762735820590284407647042069712999396312904493249800728029041976871000139979049699840853680088023394677069692926322173907751880561641430863245841052459593435048956163812724809783319761943760558749650423268411570998206280442021049625337058813418081722634661991462015963765844891595740541650346376462635752834939076546546043361656113021590656842231895182929480363154626834634923488008566947457484053120401198393488476435438977659256295129779453501351049187062475982598226647298188578992378741365489597653688956230080654559810955618656193103220758405707033560562505272887814550274241241193098531943856632451248706747903449953203520985662445968850381282466065923296772559145022988830095357755932600421644878263449825457281159629882631056057540230061656702066785595247042512994483286402164830752131740618433354558078590759275055024401084702150207353060305971084512255472064419485903326700817985916290125048793145481243160687146639522763855907710221593531860884859056495345288317413775962448881679927897135287472323157417337394019798003398596706070443504041292077192932575604980397940936666979474665593045681842322591923372609799387110131487586956546126197513871259009562362608671070150007193523209540246534234293241759652363695420978948381776176884823205611505785747978847973105452341876219909054819902591412744032442420691827531026333979106574813441354728071397710378841256932440818999679344459953099646220514050917142799955386806966989726752054381210789018616753810161869238157505587472963194038609175916272758266581548405193808468703690491136231287197462507088329520359852166299285193605041667585031612911483282872793480095694875958540272257982170985792672807207950272144365041213518261454140751172636488930062120191661432895218686832968755197164922217079181871630506127013907538883454384326677674739000321227282027360296178030633725420176015949581427624850735853484791282430240737963231562048152522367400470314924389323666161558477273342527571487618596562743932630991479527376738008410342276259960051940241620043698856590790820496778231376946672874381934105785536944991070112966437578139535497377762981179917254242580285639515465301796725817800462593924860876105026757917351434376667068201081098194130243756465515444082837319624110400671622224251916416878711784688406130749522585572830683171553028601754248818091151924019325207628651762459626149619010765801811750113150991354282559421939706966347968358934945361686583956639440797953340471620878076146922532260314287755425177102667793889979312958906337033810265949953366151476860378666250712925092921279783130866408418285733990478457766662612394469421870504325463539932636978175889975743020447312608196213697894274747299796443075837788756517391193172834015723946468078833285544114142726402552645381073047576109607555895077715573604585592961513274626916446994084828658056421439122012677898407912484502646991059746718569623231625154373752067701126180961782214427813776317506313115856843283470197882147266221808327766407777659764125558086874737838212392090573584206545737843815691671024425755532245051501070927405229104857228294755246546285346922659013576171572522542069768552263144903177911621802567958566137920738574543911234495839962713464031576367484684260967705270232598234505137712907337567327832726891540409133033761839828970709593446254076027512102640576099399318363166898799 16900777708782641626926213763950485232457330162639721343051804816306984792468131378115599173223798905027963696502125370360981921632138971008294692595393550997356971740269047623976528077759072354632883437346873073261008214383003535930944928702356259594054776225405989622720220256206375413726914849159388976327792794982418072010485128610971413374490238273304457228740471512748186693507680445885166753319946502005893175053131215308341254858137225571508182160877070429786589244528336817389963545799066749635774766116326784640504352500555657171635168971320104614997125715877494394819759713948911191288401303458104842380950420024239370692579175980123432045557024707706395814182981246729575162895067849927593595968809333041038496828890539876184771642901573374934973875550609172321928236789681652736823540185861601301065970323118070597258828324060987573839651999096713752886731750003777112334873764281303173571448637182857420592152396530055280628055606106058306629749162840639048545596037003839776620284274376806734733773467136879115665697836437039106068184605028863099164169785771158235380950579483309891505719446590036747411908892557205124605366492247818502240855271769581619421135952353505038407554668365181265426024582446405858662613816626361520861453626063612141178589734842918718740958802358971331206021130330544524647439066969357851113604620718103206761309470366910266186904746501179616152003549296688572632495514496023881243714216411319214547479283327054122702480344312390262304630499176667022527450163161680530456360302184050015707084775079654320700994302087047063744639719650855503702656798604656715429989334495752869190428072832361322276842898504187521213005303914313611679040461630473903600737725145707782515177540860797497001815659312202505867836444569124748257699285821529141122206479482947497427484654590748724693469595017549005586342930776883460707291995950333167036597883076372333584973149829072285614004637778039863291371559236750644423006270933145756567579846788404333999905980750797956847187004363896664509092417117710073706095735893293332029505939082231539004889472452245285877107386652390717189982664343693700401506266201490940404778218359216376622263427489376321508307374811871567272706832176441968091878793133883467143147667009991250253479493912373316013725597517085954528851112298784263408997079423757853557071421479714986103329390405301505556745396206476915206587543804554774551489134492747308827254593623886375056918195382616006626537074732138859978577859648950627965004783098108213845563273849628737547093305486321563429244704777564144949818645239389582998330855291611869468022204522846782804525510434205472946880438670927597290886899620248709248679024654925359241448476115146334051764411518102211778034928886476051038928088811760147175607424655424808724718046627573796322444905222984780918731812706437332266675297558734185324997164953472561455028358012560824124170603778210533875492075103152404759648095876980302790231450900741010845057321853417986967375800928245099407771286741518714053494882362421898310651462270387606193422500161884150198778094810634443351578587255514654590012900817595983935185861640744327293458742309174757892774474559711577697885451847006956757713083381980361714600456057372335250685555750019512441165080863817697114130498899580535325184538821363249704255913046816644722507985156416909862829045737772672822193121948800527362172938791068082092251868640184427749604531662912749201361745157029973252444100402610643910322700225511679959675822934216955149204654337458511455858810003584079728842742199282623394368580583851936082398957176256923168002 27346032769116886391257253755844783226999285967630186304454030318960610715084773723805403564365932752666662148236252986900195831494337794000173043905908066791590598571503709178559738147035883590442583100620350975056599127120197060901121550967793364996602448168168725443310504663853417483439914245472293469577593523011460048881485268590021113215343918361327851905810164439070360601259561007526597616565787554465486610102087379121066064641456987515268740910527493698198160242734617259411013171136125563053856488750988776102520316266400548767375710621666481077632878550816570941365803075605024212879058145690000025310430783178866205327502663988690379503041077828107594207671457682168552822151362979707047097319858520103514479427117187174373350635280314740424571529239565402402582796600637271393016643406620007008099530885623343485073378598302228766938183942953346204135438497907227065538394749943749142421829919648923343888924955675078269458150963861990907051394041104088874002877196633722407676341814606868391435840252732126158178692319723441270898936736769481532518727864361917510435974980568012041713072506896007831924164364621624610508693193065804418530980320562727100664296639500144561171410576075402858957885467305462354007902134040137483310335305991509276466062058000336056134978600362369927912091573834585816724631999544962831511545557385082681426902516048752588778828119110979003262135036883645118758693028367282890806076825082389364554672806536594369236714637554149914668325920155615404303627047984886141962146050162897988812537116955874229755814204678459807777082140342683034728990777711231528871344062567150579569269329764802141276522242964140620859225817965230754478995848437440893327489779526918571533794294670959366239973164899675469061875053745041021015965867369934334930675183173438633658771852053255813022989954869715304871536535818551045738904907433616039830077978771248292125245407811243271406677444985990135435736600450268905877147022105782245497641966980065766895124667583766712044351926580975846380722923244723981244979190277620009704244939403458821032249768630275919602527562668340298617607515079547185192788696442228903636340266511738744022733742413765645174468933289144909800278319795038530835811424125362994519885675420333526513439545852614936057424454107876775025629343675730936283379013529543390502062491592681423681468925902679268537925313460719495492227059269856571277306934955341233688130698650644292408352572049684207707635268862382616444093303731787947589115183769730438097479690728340522235499436235844149002075387949117173551572894057480734922350180499240521230481830672465793570327322184318623938234721230349536997853247588607644194040711238881998682246429455617954929840558440634472092322684311653153706721978791073106081944458465690758678084198104434174988695618148077702198514943572845750552409288037191951987609559422894431959353821552493461102346493753953554322804683299366102653922843176776745866069239657258402038230155869141933435454634213789213550497689294164095126542458472029454205729177843992191786384013436511066645772179639292499773017709268192552997925385320242974994932580210367558918613116061242459018955436341926005511661769353320072614556366852178243861866677865700101658463215514145070528039818702030089204704083106126273169000230492387675459788158098317715649913214261274138157584292284058019744852135524972099884715008559620345237155046551806230317563097800833487775905656391525813215157564434187011395006961193216950192274057439354668056542221665291238347399219136617841568671712908876069648444608095954576658498356494620090066801 44246810477899528018183467519795268459456616130269907647505835135267595507552905101921002737589731657694625844738378357261177753126476765008467736501301617788947570311772756802536266224794955945075466537967224048317607341503200596832066479670149624590657224393574715066030724920059792897166829094631682445905386317993878120891970397200992526589834156634632309134550635951818547294767241453411764369885734056471379785155218594429407319499594213086776923071404564127984749487262954076800976716935192312689631254867315560743024668766956205939010879592986585692630004266694065336185562789553935404167459449148104867691381203203105576020081839968813811548598102535813990021854438928898127985046430829634640693288667853144552976256007727050558122278181888115359545404790174574724511033390318924129840183592481608309165501208741414082332206922363216340777835942050059957022170247911004177873268514225052315993278556831780764481077352205133550086206569968049213681143203944727922548473233637562184296626088983675126169613719869005273844390156160480376967121341798344631682897650133075745816925560051321933218791953486044579336073257178829735114059685313622920771835592332308720085432591853649599578965244440584124383910049751868212670515950666499004171788932055121417644651792843254774875937402721341259118112704165130341372071066514320682625150178103185888188211986415662854965732865612158619414138586180333691391188542863306772049791041493708579102152089863648491939194981866540176972956419332282426831077211146566672418506352346948004519621892035528550456808506765506871521721859993538538431647576315888244301333397062903448759697402597163463553365141468328142072231121879544366158036310067914796928227504672626354048971835531756863241788824211877974929711498314165769273665153191463476052881662656386131086256506644004537716459549887264310457879466595434506446196903383949206866675861847620625710218557640315557020682082764029998727108159687019550300153293038928002065221813768470100895030648334564668891538930944872510889815340362434054951074926170913341733750878485690360037139241082521205479634949320731015807590179423240885594294962643719844041118484870955120644997169903141966682776308101016477072985151971480498927690217259246461663033342430324776766919039764988252071150051624962729554480455974515199692376092953301244059133913072396409784798316307980774094670709667196410698814603074411345828796069448088542515385292274530667465270767432300214334172343594521476422671163380738575554119966867838651943042964577969259782592741722165712431320092726681318501391539296870317920681035790852390698504035195312576374852832618524096885115159901277134288740147208856353442719735893807357923694905570764288981604969958736683870357613198129204745650067602833253257551883121115567402802244732007971311140523371062483117246756279283082819084585595926137312606724376366993414382179565054285226517097532164088198296758402518507413570939053757048656300690557999412883287477722559920402830435142034312958268976035682809180037340834451352516380640114379797979806513598395216844550274449926943124596296523707207587938286137838958930118441851111886212071858370417216911729910901637583209547221200327029372269450234158605576467133923072436909148771264164582969204899565847786318834582005706808494184769313750925164044071145134360372421199417691048020413338021830692567045257473772627246887947350688427329406915191990658067167629463746236977267401548555786467601664836797655305329661418728630151949880373571623205746876002749749803258029140201921297514455108158693042813188679806512740897313670877013234803 71592843247016414409440721275640051686455902097900093951959865454228206222637678825726406301955664410361287992974631344161373584620814559008640780407209684580538168883276465981096004371830839535518049638587575023374206468623397657733188030637942989587259672561743440509341229583913210380606743340103975915482979841005338169773455665791013639805178074995960161040360800390888907896026802460938361986451521610936866395257305973550473384141051200602045663981932057826182909729997571336211989888071317875743487743618304336845544985033356754706386590214653066770262882817510636277551365865158959617046517594838104893001811986381971781347584503957504191051639180363921584229525896611066680807197793809341687790608526373248067455683124914224931472913462202855784116934029739977127093829990956195522856826999101615317265032094364757567405585520665445107716019885003406161157608745818231243411663264168801458415108476480704108370002307880211819544357533830040120732537245048816796551350430271284591972967903590543517605453972601131432023082475883921647866058078567826164201625514494993256252900540619333974931864460382052411260237621800454345622752878379427339302815912895035820749729231353794160750375820515986983341795517057330566678418084706636487482124238046630694110713850843590831010916003083711187030204277999716158096703066059283514136695735488268569615114502464415443744560984723137622676273623063978810149881571230589662855867866576097943656824896400242861175909619420690091641282339487897831134704259131452814380652402509845993332159008991402780212622711443966679298804000336221573160638354027119773172677459630054028328966732361965604829887384432468762931456939844775120637032158505355690255717284199544925582766130202716229481761989111553443991586552059206790289631020561397810983556845829824764745028358697260350739449504756979615329416002413985552185101810817565246696753840618868917835463965451558828427359527750020134162844760137288456177300315144710247562863780748535867790155315918331380935890857525848357270538263607158036196054116448533351437995817889149181069389009712797125082162511989071314425197694502788070787083659085948747677458751382693864667730912316907611857245241390161386873263471766519029763501641384609456182919017850658303280358585617603188128574505732839504580109799650246135975755106482844634561196404665077833466267242210660042632596023127915906191041662344267917106103004403429776203515990925174959873623339481984422041807612456904092866764467112526523143235150637569090040522655306309782018092177958009861433395480675798492052964433354351052843031216290092911928985865867778369945180154802842720823349881131626671286593394797463997636760447132689356605941335026382243911445528399371155962680297509782358452372046393906359339496341586806326080886442836442146299836141519140185315761699852128833371493873633118089300216283799261425373736001117547746328863591286117642521101441701884610067493782230533794522369930215257814921517633591701853838285069355823526508766665329846904306579799306480806722109817958371989766190527034906283490322454089219442897614005791899760585863671458081933925051022061479445130684974431659675930685347243563588721208990553647101986825817086336849438333811788772538567611986778309653497244718267877875523538665111833081663184999806138600623832229243452076022334413678965186177997630305888712311897392998744727131602955910308772566561961743796888384730727264579724753173057940081599682759229270984666700336622611945580344223937812926291262289097668040988150657248276819762866186168017034762691257796775761089399395670165497103301604 115839653724915942427624188795435320145912518228170001599465700589495801730190583927647409039545396068055913837713009701422551337747291324017108516908511302369485739195049222783632270596625795480593516176554799071691813810126598254565254510308092614177916896955318155575371954503973003277773572434735658361388366158999216290665426062992006166395012231630592470174911436342707455190794043914350126356337255667408246180412524567979880703640645413688822587053336621954167659217260525413012966605006510188433118998485619897588569653800312960645397469807639652462892887084204701613736928654712895021213977043986209760693193189585077357367666343926318002600237282899735574251380335539964808792244224638976328483897194226392620431939132641275489595191644090971143662338819914551851604863381275119652697010591583223626430533303106171649737792443028661448493855827053466118179778993729235421284931778393853774408387033312484872851079660085345369630564103798089334413680448993544719099823663908846776269593992574218643775067692470136705867472632044402024833179420366170795884523164628069002069826100670655908150656413868096990596310878979284080736812563693050260074651505227344540835161823207443760329341064956571107725705566809198779348934035373135491653913170101752111755365643686845605886853405805052446148316982164846499468774132573604196761845913591454457803326488880078298710293850335296242090412209244312501541070114093896434905658908069806522758976986263891353115104601287230268614238758820180257965781470278019486799158754856793997851780901026931330669431218209473550820525860329760111592285930343008017474010856692957477088664134959129068383252525900796905003688061724319486795068468573270487183944788872171279631737965734473092723550813323431418921298050373372559563296173752861287036438508486210895831284865341264888455909054644243925787295469009420058631298714201514453563429702466489543545682523091874385448041610514050132889952919824308006477453608183638249628085594517005968685185964252896049827429788470720868160353603969592091147129042619446693171746696374839541106528250795318330561797461309802330232787873926028956381378621729668591718577236253648985312728082220049578540021549491177863946248623737999528691191858643855917845952360280983080047277625382591440199724557357802234134590255624761335668131199436145878620330317737474243251065558518640816727266732795112316889856265418679262934899073851518318718901283199705627338894106914284636375979956051425569289435630493265098697355117505407741983565619884279041800684919680175573864715573402479810554355972651221370763712252080945302627489901063090946320032987421366817708465041032903805575333542006320351079480183026496714529636240597146532893050498358107839833037910707911563198022113996739612597048224707921893483688687568450117610976664890202668433008456131411916190578459229044226612823008175628418788118180682602031555380688818281730719398200104403117481064721284290843178670620773257227804805111314261774241115504497857839467035641365529713486617140140932159238490458072751787745997040633301500334872728539146386022210302315606968173801957595920892855169463912591331342756832802076892842415258145201171930756211753974131359095267320495455014800945711844975476760758042474236466449617833725661842373247117539890157369769119889525787876300388586436394755613096656234198410968327719404878942650472517354378490903260997199895968876935787546451898356728325961730440459488637386150360894107782322005666284030674210496173818186497914468035973670790737953915277417021684163700623125193455734070985455567602140292983836374116536407 187432496971932356837064910071075371832368420326070095551425566043724007952828262753373815341501060478417201830687641045583924922368105883025749297315720986950023908078325688764728274968456635016111565815142374095066020278749995912298442540946035603765176569517061596084713184087886213658380315774839634276871346000004554460438881728783019806200190306626552631215272236733596363086820846375288488342788777278345112575669830541530354087781696614290868251035268679780350568947258096749224956493077828064176606742103924234434114638833669715351784060022292719233155769901715337891288294519871854638260494638824314653695005175967049138715250847883822193651876463263657158480906232151031489599442018448318016274505720599640687887622257555500421068105106293826927779272849654528978698693372231315175553837590684838943695565397470929217143377963694106556209875712056872279337387739547466664696595042562655232823495509793188981221081967965557189174921637628129455146217694042361515651174094180131368242561896164762161380521665071268137890555107928323672699237498933996960086148679123062258322726641289989883082520874250149401856548500779738426359565442072477599377467418122380361584891054561237921079716885472558091067501083866529346027352120079771979136037408148382805866079494530436436897769408888763633178521260164562657565477198632887710898541649079723027418440991344493742454854835058433864766685832308291311690951685324486097761526774645904466415801882664134214291014220707920360255521098308078089100485729409472301179811157366639991183939910018334110882053929653440230119329860665981684752924284370127790646688316323011505417630867321094673213139910333265667935145001569094607432100627078626177439662073071716205214504095937189322205312802434984862912884602432579349852927194314259098019995354316035660576313224038525239195358559401223541116711471423405610816400525019079700260183543085358461381146488543433213875401138264070267052797679961596462654753923328348497190949375265541836475341280171227430763320645996569225430891867576750127343183159067980044609742514263988722175917260508115455643959973298873644657985568428817027168462280815617339396035987636342849980458994536957190397266790881339250819512095504518558454693500028465374028871378131641383327636211000194628328299063090641738714700055275007471643886305918990513181526722402552076717332800729300859359862755923028223080897927762947180041002078254948094922417274124880587212517446396269058417787568508329662156200097605791621840590268142976832024088275190588823818777097638185435298111054078278302607320406005572423606743468371038214556475766930869316265213142224209538531814922164530476861926936803784348716240630159186071135577575623528776804496026757478995795718208217693921650394160390645971936544566294728219564575130404892263910812806409342853748770155983540749562072332862162315913039291974889844161854181800149777884244280104399373240499641806287727548558503514824637701040550988515042726322744905963628079400573853681365975802306695376617793196939447412965960600276031123777512187567668207783825195182628365828919824308107506728759665629054002826780220485974070776473441807233736568773100605388764760651965202307621233345921084406832304453134757500617514044372744820783889963694336101603537365911912229372971820554768926028126411708529632038512417090026775621420376408598633608117190840043471262081510093859171305972462530838679584434836629083992905686483613517428718985833120123378766988706002906642619790840397755999424205730325071338831726104572525693841447029886791142228218425328782231328691539688654001871219838011 303272150696848299264689098866510691978280938554240097150891266633219809683018846681021224381046456546473115668400650747006476260115397207042857814224232289319509647273374911548360545565082430496705081991697173166757834088876594166863697051254128217943093466472379751660085138591859216936153888209575292638259712159003770751104307791775025972595202538257145101390183673076303818277614890289638614699126032945753358756082355109510234791422342027979690838088605301734518228164518622162237923098084338252609725740589544132022684292633982675997181529829932371696048656985920039505025223174584749659474471682810524414388198365552126496082917191810140196252113746163392732732286567690996298391686243087294344758402914826033308319561390196775910663296750384798071441611669569080830303556753506434828250848182268062570126098700577100866881170406722768004703731539110338397517166733276702085981526820956509007231882543105673854072161628050902558805485741426218789559898143035906234750997758088978144512155888738980805155589357541404843758027739972725697532416919300167755970671843751131260392552741960645791233177288118246392452859379759022507096378005765527859452118923349724902420052877768681681409057950429129198793206650675728125376286155452907470789950578250134917621445138217282042784622814693816079326838242329409157034251331206491907660387562671177485221767480224572041165148685393730106857098041552603813232021799418382532667185682715710989174778868928025567406118821995150628869759857128258347066267199687491787978969912223433989035720811045265441551485147862913780939855720995741796345210214713135808120699173015968982506295002280223741596392436234062572938833063293414094227169095651896664623606861943887484846242061671662414928863615758416281834182652805951909416223368067120385056433862802246556407598089379790127651267614045467466904006940432825669447699239220594153823613245551848004926829011635307599323442748778120399942750599785904469132207531511986746819034969782547805160527244424123480590750434467290093591245471546342218490312201687426737781489210638828263282445511303433786205757434608675974890773442354845983549840902545285931114613223889991835293187076757006768937288340372517114765760719242518087145885358672321291874823738412624463374913836382786068528023620448443972849290310899768807312017505355136391801857040140026319968398359247941676087129488718140539970754193181626442975901152106466413641318557324586214551411553310553694793767524559755231445635728099056720537945385648384574007653895074867865619462017318361009162826627480758113161676378656793794370455720451983517183965667993960262585246129645576356240279963197434282437260478810104699795720813185682785665213816220675309697546525115586835628756118925605484848416274387385584533592791002650113048263817973342381521789471299545522181778612114952665752650792091206542525862300150518262949972362482751809439624968922681103959897841910690845029623224799115480879711171761772270531127856220225402320516078351539205442837948060906331279814079588345125199090734103875565258184608301509284160067911167512214942034610423113696933467586649923719635389949886662107816198640035813461615515863533965932582721414061595364705016351727327759467935703212462489521133502863258126430143953935329199208285159346912861977924538045917652199584830020624948811845639872277654574819566961327522069782693943779435888584762432303172358499715615371981288527440721231648214053976917356371983481017486549310711669190673294001336571574185922120198361045009622464058487803110863131193587414267421674159399767686896293679981637838245336374418 490704647668780656101754008937586063810649358880310192702316832676943817635847109434395039722547517024890317499088291792590401182483503090068607111539953276269533555351700600313088820533539065512816647806839547261823854367626590079162139592200163821708270035989441347744798322679745430594534203984414926915131058159008325211543189520558045778795392844883697732605455909809900181364435736664927103041914810224098471331752185651040588879204038642270559089123873981514868797111776718911462879591162166316786332482693468366456798931467652391348965589852225090929204426887635377396313517694456604297734966321634839068083203541519175634798168039693962389903990209427049891213192799842027787991128261535612361032908635425673996207183647752276331731401856678624999220884519223609809002250125737750003804685772952901513821664098048030084024548370416874560913607251167210676854554472824168750678121863519164240055378052898862835293243596016459747980407379054348244706115837078267750402171852269109512754717784903742966536111022612672981648582847901049370231654418234164716056820522874193518715279383250635674315698162368395794309407880538760933455943447838005458829586341472105264004943932329919602488774835901687289860707734542257471403638275532679449925987986398517723487524632747718479682392223582579712505359502493971814599728529839379618558929211750900512640208471569065783620003520452163971623783873860895124922973484742868630428712457361615455590580751592159781697133042703070989125280955436336436166752929096964089158781069590073980219660721063599552433539077516354011059185581661723481098134499083263598767387489338980487923925869601318414809532346567328240873978064862508701659269722730522842063268935015603690060746157608851737134176418193401144747067255238531259269150562381379483076429217118282216983911313418315366846626173446691008020718411856231280264099764239673854083796788637206466307975500178740813198843887042190666995548279747500931786961454840335244009984345048089641635868524595350911354071080463859319022137339123092345833495360755406782391231724902816985458362771811549241849717407907549619548759010783663010718303183360903270510649211526334685273646071293963959334555131253856365585272814747036645600578858700786665903695116544265846702550047382980696856322683539085711563990366174776278955903811274126904983383762542578396685731159977242535446992244641168763051652120944573623016903230361414508563735831449466801763928999706822753211555093068084893601835825704848342378535653791361406031742170265456689438239114956546444460937681559036415768996784662366217977199188823021731740441434924829578850459271869785894772094885361964759299187415613889048511961443344868856800791391844204086502042551873065831424474327143299406498810434778031556470137357297378332612838948378234645432602277708888375930548768098493415314723124953368858438901592125408107111826544282901587323869249027080477200397483716978572578181728313940118580751722750287313257450601126189030399916652205220571418640254756282949073011019035758091159691010134999342770372175969717067985263093795878043861858918530620425693133215703926546415610435860732884289640447269550030388616468922730693234686616369216598050937436134160063921070460713080003565506247684042016393838290036932736574197071576285833798479306971945778611293359652663461228935666647899074951228165594935639260622737415041517398678621603609144821030554294956416125156524714137334697667494346075357816601140865316299417672097315913792176969330185346325928686116348454190163060328804704578223474205409649892584728549918224985219670291840116556212429 793976798365628955366443107804096755788930297434550289853208099310163627318865956115416264103593973571363433167488942539596877442598900297111464925764185565589043202625075511861449366098621496009521729798536720428581688456503184246025836643454292039651363502461821099404883461271604647530688092193990219553390770318012095962647497312333071751390595383140842833995639582886203999642050626954565717741040843169851830087834540760550823670626380670250249927212479283249387025276295341073700802689246504569396058223283012498479483224101635067346147119682157462625253083873555416901338740869041353957209438004445363482471401907071302130881085231504102586156103955590442623945479367533024086382814504622906705791311550251707304526745037949052242394698607063423070662496188792690639305806879244184832055533955220964083947762798625130950905718777139642565617338790277549074371721206100870836659648684475673247287260596004536689365405224067362306785893120480567034266013980114173985153169610358087657266873673642723771691700380154077825406610587873775067764071337534332472027492366625324779107832125211281465548875450486642186762267260297783440552321453603533318281705264821830166424996810098601283897832786330816488653914385217985596779924430985586920715938564648652641108969770965000522467015038276395791832197744823380971633979861045871526219316774422077997861975951793637824785152205845894078480881915413498938154995284161251163095898140077326444765359620520185349103251864698221617995040812564594783233020128784455877137750981813507969255381532108864993985024225379267791999041302657465277443344713796399406888086662354949470430220871881542156405924782801390813812811128155922795886438818382419506686875796959491174906988219280514152063040033951817426581249908044483168685373930448499868132863079920528773391509402798105494497893787492158474924725352289056949711799003460268007907410034189054471234804511814048412522286635820311066938298879533405400919168986352321990829019314830637446796395769019474391944821514931149412613382810669434564323807562442833520172720935541645248740808283114983028055474842516225594439532453138508994268144085906189201625262435416326520566833148050970728271843471626373480351033533989554732746464217373107957778518854956890310077463883765766765384346303987529684413280677074545086267921316629263296785240802682604716654129519225184211534121733359309303022406314126200065992804382467880922205054388774053016315340553017376448005322617627840125047471553803905062916481039439745980039396065340324555057701132274907453623764309039794528930673163319160012347654909275005248924407102918789841435705401515362251012374848559399041736447894423993748307682256530551642466005208064879396199589076988652667053230446068904891347226709165417141003730148300028445661102766351577026954391749008433898112327380213446081067373917044575400964763892275926370061798906765653396763494217949761581160295325627669417607804953113055599460462894512059583788578457346414432720432730556759776861478202817189280352825098624103216358781744238874908028556784271226352145331004963390258803893528953734122626600802353850266051000385747394992105839087305363492004132332456696625817408030430811962755953787861487823389006163925542493086639750547300142823982243972261935782482230923198695776403845017863430810878189673288410040781306520176729526047732556263161330405431358820953287263384035912317179530269910328397413683965435368982911721471263431729800082158351865610129341287989207793513540904371268446127047161358076654221548131915567709417061619677071566744128317605121278899651929678361892586847 1284681446034409611468197116741682819599579656314860482555524931987107444954713065549811303826141490596253750666577234332187278625082403387180072037304138841858576757976776112174538186632160561522338377605376267690405542824129774325187976235654455861359633538451262447149681783951350078125222296178405146468521828477020421174190686832891117530185988228024540566601095492696104181006486363619492820782955653393950301419586726411591412549830419312520809016336353264764255822388072059985163682280408670886182390705976480864936282155569287458695112709534382553554457510761190794297652258563497958254944404326080202550554605448590477765679253271198064976060094165017492515158672167375051874373942766158519066824220185677381300733928685701328574126100463742048069883380708016300448308057004981934835860219728173865597769426896673161034930267147556517126530946041444759751226275678925039587337770547994837487342638648903399524658648820083822054766300499534915278972129817192441735555341462627197170021591458546466738227811402766750807055193435774824437995725755768497188084312889499518297823111508461917139864573612855037981071675140836544374008264901441538777111291606293935430429940742428520886386607622232503778514622119760243068183562706518266370641926551047170364596494403712719002149407261858975504337557247317352786233708390885251144778245986172978510502184423362703608405155726298058050104665789274394063077968768904119793524610597438941900355940372112345130800384907401292607120321768000931219399773057881419966296532051403581949475042253172464546418563302895621803058226884319188758541479212879663005655474151693929958354146741482860571215457129368719054686789193018431497545708541112942348750144731975094864967734376889365889197216452145218571328317163283014427954524492829879351209292297038810990375420716216420861344519960938849482945443764145288229975898767699941861991206822826260937542780011992789225721130522862501733933847159280906332706130441192657234839003659878727088432264293614825303298892595395008731635520149792526910157302923198240302563952660444462234199171054926532269905192250423775213988291463922172004986447269267092472135911646942661205840479219344934687606398602880229845936306348736591378347043076073894623682213971501156156780013931148747462240668987526615395977271043249321365223825127903390201768624565225183113339860679202426746981113978000478066074058435070773689009707612829295430768790220223519818079269552724199201216877710695925018649307379508753405295016693231107386071138235605781244495940247231453898084701990598830944699669947981526230324854098098026980664848537843619420286164673385148145784469733921363801035635310037882796819643699875420499266796599909083482701631628861718498477704773212204297846037143943448697473867505597406778273941714729811672386994026717322274042876148311939496382097041997944259403665484401334477173625451048554984087363466976842058360692809344647990185986681426995718041214617262346897046029058472603463120349382761980348280118457573472229425836117659861307518472754373874250798928960240943420130594098759268302665752447484354548319734018057776812466610821608127876395479534574913522392748801379427319052094646800028560806891223995647887310076624638622496652145998231342159217820534009194672356679302499484529574883151989809209422171549325951871269716973168075804477275898151198800591028168773862470685942005639521462000560824205284813538840490149506317609388965609507087616683299217181909547013385305121585690510234556614772055733277706530844384608460720272287640535825086721459328856867523346264119322221518478448799276 2078658244400038566834640224545779575388509953749410772408733031297271072273579021665227567929735464167617183834066176871784156067681303684291536963068324407447619960601851624035987552730782057531860107403912988118987231280632958571213812879108747901010997040913083546554565245222954725655910388372395366021912598795032517136838184145224189281576583611165383400596735075582308180648536990574058538523996496563802131507421267172142236220456799982771058943548832548013642847664367401058864484969655175455578448929259493363415765379670922526041259829216540016179710594634746211198990999432539312212153842330525566033026007355661779896560338502702167562216198120607935139104151534908075960756757270781425772615531735929088605260673723650380816520799070805471140545876896808991087613863884226119667915753683394829681717189695298291985835985924696159692148284831722308825597996885025910423997419232470510734629899244907936214024054044151184361552193620015482313238143797306615720708511072985284827288465132189190509919511782920828632461804023648599505759797093302829660111805256124843076930943633673198605413449063341680167833942401134327814560586355045072095392996871115765596854937552527122170284440408563320267168536504978228664963487137503853291357865115695823005705464174677719524616422300135371296169754992140733757867688251931122670997562760595056508364160375156341433190307932143952128585547704687893001232964053065370956620508737516268345121299992632530479903636772099514225115362580565526002632793186665875843434283033217089918730423785281329540403587528274889595057268186976654035984823926676062412543560814048879428784367613364402727621381912170109868499600321174354293432147359495361855437020528934586039874722596169880041260256486097035997909567071327497596639898423278379219342155376959339763766930119014526355842413748431007957870169116434345179687697771160209869898616857015315408777584523806837638243417158682812800872146038814311733625299427544979225668022974709364535228660062634299695243714110326158144248902960461961474481110485641073822736673595986107482939979338041515297960667092940000808427823917060680999254591355173281673761174082358987726407312367395905415878242074506603326287339882726146111093507293447002581460732826458046466857477814914514227625015291514145080390551720323866451491746444532653498553865367907787829993990198427610958515235711359787369096464749196973755002511995297176352973844608997572834394610105741575649222200328323765143696778933312658468211497732670853366110534300946105799553641379506361351708466299638625473630343111300686242672509007373032229589255640762409261721870074900510396796844582480762842772083204461876545127325956405972141732801807973962878901220705850371165530935219281109189193263853108865838477597653897435223935044481081388699341385775725756172155203528525385577449470959042519660368429376677260847235424357814208380850857684926603639520988134972317407793791634540051317501677511774406480834607515819017895840782113318740125141596660390661509778661216283964523877254498612749158827485744512169772275925103722658561469645976438088670946334820411627078517611207355522868501318621880277014396881133836123944869502677230840523562845011857135710699082788564164989738785748778642302041802777981456608139161533422683225351286997007672640233049738999240281310498279688252534003323630707461961921433600132683423973205389675433779180091094115613210952524455584875300521110436872938817416765457569047519676354673294329379204051138927883218182780439064607498606156592635839997057597444763793026072985185128467543018974151196840341386123 3363339690434448178302837341287462394988089610064271254964257963284378517228292087215038871755876954763870934500643411203971434692763707071471609000372463249306196718578627736210525739362942619054198485009289255809392774104762732896401789114763203762370630579364345993704247029174304803781132684550800512490434427272052938311028870978115306811762571839189923967197830568278412361655023354193551359306952149957752432927007993583733648770287219295291867959885185812777898670052439461044028167250063846341760839635235974228352047535240209984736372538750922569734168105395937005496643257996037270467098246656605768583580612804252257662239591773900232538276292285625427654262823702283127835130700036939944839439751921606469905994602409351709390646899534547519210429257604825291535921920889208054503775973411568695279486616591971453020766253072252676818679230873167068576824272563950950011335189780465348221972537893811335738682702864235006416318494119550397592210273614499057456263852535612481997310056590735657248147323185687579439516997459423423943755522849071326848196118145624361374754055142135115745278022676196718148905617541970872188568851256486610872504288477409701027284878294955643056671048030795824045683158624738471733147049844022119661999791666742993370301958578390438526765829561994346800507312239458086544101396642816373815775808746768035018866344798519045041595463658442010178690213493962287064310932821969490750145119334955210245477240364744875610704021679500806832235684348566457222032566244547295809730815084620671868205466038453794086822150831170511398115495071295842794526303139555725418199034965742809387138514354847263298836839041538828923186389514192785790977855900608304204187165260909680904842456973059245930457472938242254569237884234610512024594422916108258570551447673998150754142350835230947217186933709369857440815612880579633409663596538860151731889823679841576346320364535799626863964547681545314534805993198095218066331429868737636460507026634588091623660924356249124998542606705721166875884423110254488384638413408839314125300626256430569717139150392968047567865859343363776022416115380982853004241038624440374145897085729301648932247791586740840103484640677386833172223646231462737489440550369520897205142946797959202623637491746063261689865684279040760476367822763573187816715571572436043700322489933132970943333850877630037705496349689360265435170523184267747444012219608126471783742634829221092652473879658465774850439078039019690162346086312821411873506514425901960752181672536551887044049581626737815249793168290237456418330013059282212472997363105471059210254104178606028682008034748285658542581314316402126643807718514499759341946969656281392640999598407883046361602852334712089664008639992493313487039300997052314535951465159494842002208986195811200371728379802443078446198079676837325073831568001040463919772094861078595324409049808862763364938221151903445697881680944316965397979778315967047035542892129036753377880636574291621358961131496080720473421715117964133739204497333943825831395727252986623409626414704753113192406519202481926864135398423922443219266068838469403890984222028963650744896798156455190536789629935215551263921597324030869084369736235852783598009159413202787486390931747009984461259623311990651280495840835922167754926170148997481849655221288325192152580215252856328338480599528858660762512461768906545894659147395314955241180651918320898024491364945734381618130499402482445905033448756786229429223368058599450964894561373484497990238513716771138342990765053356112284698133269850514485401842052651813807138296372715318790185399 5441997934834486745137477565833241970376599563813682027372990994581649589501871108880266439685612418931488118334709588075755590760445010755763145963440787656753816679180479360246513292093724676586058592413202243928380005385395691467615601993871951663381627620277429540258812274397259529437043072923195878512347026067085455447867055123339496093339155450355307367794565643860720542303560344767609897830948646521554564434429260755875884990744019278062926903434018360791541517716806862102892652219719021797339288564495467591767812914911132510777632367967462585913878700030683216695634257428576582679252088987131334616606620159914037558799930276602400100492490406233362793366975237191203795887457307721370612055283657535558511255276133002090207167698605352990350975134501634282623535784773434174171691727094963524961203806287269745006602238996948836510827515704889377402422269448976860435332609012935858956602437138719271952706756908386190777870687739565879905448417411805673176972363608597766824598521722924847758066834968608408071978801483072023449515319942374156508307923401749204451684998775808314350691471739538398316739559943105200003129437611531682967897285348525466624139815847482765226955488439359144312851695129716700398110536981525972953357656782438816376007422753068158051382251862129718096677067231598820301969084894747496486773371507363091527230505173675386474785771590585962307275761198650180065543896875034861706765628072471478590598540357377406090607658451600321057351046929131983224665359431213171653165098117837761786935889823735123627225738359445400993172763258272496830511127066231787830742595779791688815922881968211666026458220953708938791685989835367140084410003260103666059624185789844266944717179569229125971717729424339290567147451305938009621234321339386637789893603050957490517909280954245473573029347457800865398685781997013978589351294310020361601788440536856891755097949059606464502207964840228127335678139236909529799956729296282615686175049609297456158889584418883424693786320816047325020133326070716449859119523894480387948037299852416677200079129731009562865826526436303776830843939298043534003495629979613655819658259811660636658655103954136745519362882751893436498510986114188883600534057662967899786603679624417249090494969560977775917490699570554905556758374483897054268207318016968697198876355301040758773327841076057648664011585400720052804266987933464721199014731603423648136716479438218665486868489764207350499661278367343455306042865246134070341718012158572814118292206837497992843603223006244176601501634589876081891960356170582898715669872112844091439843359819368437943729904823186168939378158898882889486579801718961635887074295612687364782732400215857009240504073040562460829539575211774422676232564850161180374429062813392277226144030676892589071069765578168834618353283205362710651281038960082983580140524237755856171644474166676971745789078836830049337402669079289282805773569950507098353044569640811159858715244090110639254801913609399460598563311778354795248983158550227790355272981751599372568453900449265282964682444306204585425605044400360531890212403658881030969501833236319173613398116778335467551186511069051675208791100001261709607932581247709919308708242201766952476129717495788626763301426089972107888635002369344850980277457146005154489888271027324432433890713532544580872483923159566122724433895369039229318632352784990389020360743012436511235443889401319256918651609839355384722450214214355276948899722731893780344098612512412381208421294155835745841596921645991952281755730714614307511474827237780281350157270523912159131571522 8805337625268934923440314907120704365364689173877953282337248957866028106730163196095305311441489373695359052835352999279727025453208717827234754963813250906060013397759107096457039031456667295640257077422491499737772779490158424364017391108635155425752258199641775533963059303571564333218175757473996391002781453339138393758895926101454802905101727289545231334992396212139132903958583698961161257137900796479306997361437254339609533761031238573354794863319204173569440187769246323146920819469782868139100128199731441820119860450151342495514004906718385155648046805426620222192277515424613853146350335643737103200187232964166295221039522050502632638768782691858790447629798939474331631018157344661315451495035579142028417249878542353799597814598139900509561404392106459574159457705662642228675467700506532220240690422879241198027368492069201513329506746578056445979246542012927810446667798793401207178574975032530607691389459772621197194189181859116277497658691026304730633236216144210248821908578313660505006214158154295987511495798942495447393270842791445483356504041547373565826439053917943430095969494415735116465645177485076072191698288868018293840401573825935167651424694142438408283626536470154968358534853754455172131257586825548092615357448449181809746309381331458596578148081424124064897184379471056906846070481537563870302549180254131126546096849972194431516381235249027972485965974692612467129854829697004352456910747407426688836075780722122281701311680131101127889586731277698440446697925675760467462895913202458433655141355862188917714047889190615912391288258329568339625037430205787513248941630745534498203061396323058929325295059995247767714872379349559925875387859160711970263811351050753947849559636542288371902175202362581545136385335540548521645828744255494896360445050724955641272051631789476420790216281167170722839501394877593611999014890848880513333678264216698468101418313595406091366172512521773441870484132435004747866288159165020252146682076243885547782550508775132549692328927521768491896017749180970938243757937303319702073337926108847246917218280123977610433692385779667552853260054679026387007736668604054029965555345540962285590902895540877585622847523429280269670734632345651621089974608032488796991746626422376451714132461307041037607356383849595666033126197247470242084922889589404740899198845234173729716661691953687686369507935090080318239437511117732468643026951211550119920459114267439758139342369422673125350100356406363145468388951558955482215224526584474774870473879374049879887652804632981991851294802880113538310290369229865111188667235218315150650097463997974466625737939571471827481959473215285016130387520233461395229021265268968757423731998623740055602106925375274550493548215204267736163271865847213494910380527972887119228353016872703789442798145380611913064551362882200035725112606961123447499912619098834451496053523975539735110727299988733495035284350023606248203753348266474145388587461769847913236595880664402260613763045105480181071985026896318928988187655884171616186668709004585995978080315154018396157088963508686512289740442824282975109478472497350434860486055265282824358294914934790658087976141004267226472712697325292578692302317483562702906717401614969739962520649242798611224561049401962759169130843205267018735203627295002636339543492315649624586470928785400909210964522688424783486946357137945775213291500180305344261541394930757409259935254347053638536782109241837830627483662971141506378123090790493231308993173885896879198659807872606884184587686699348064566453863984464821996876669290432095157295566896627477921756921 14247335560103421668577792472953946335741288737691635309710239952447677696232034304975571751127101792626847171170062587355482616213653728582997900927254038562813830076939586456703552323550391972226315669835693743666152784875554115831632993102507107089133885819919205074221871577968823862655218830397192269515128479406223849206762981224794298998440882739900538702786961855999853446262144043728771154968849443000861561795866515095485418751775257851417721766753222534360981705486053185249813471689501889936439416764226909411887673365062475006291637274685847741561925505457303438887911772853190435825602424630868437816793853124080332779839452327105032739261273098092153240996774176665535426905614652382686063550319236677586928505154675355889804982296745253499912379526608093856782993490436076402847159427601495745201894229166510943033970731066150349840334262282945823381668811461904670882000407806337066135177412171249879644096216681007387972059869598682157403107108438110403810208579752808015646507100036585352764280993122904395583474600425567470842786162733819639864811964949122770278124052693751744446660966155273514782384737428181272194827726479549976808298859174460634275564509989921173510582024909514112671386548884171872529368123807074065568715105231620626122316804084526754629530333286253782993861446702655727148039566432311366789322551761494218073327355145869817991167006839613934793241735891262647195398726572039214163676375479898167426674321079499687791919338582701448946937778206830423671363285106973639116061011320296195442077245685924041341273627550061313384461021587840836455548557272019301079684226525326187018984278291270595351753280948956706506558369184927065959797862420815636323435536840598214794276816111517497873892931786920835703532786846486531267063065594881534150338653775913131789960912743721894363245628624971588238187176874607590588366185158900874935466704753555359856516262655012555868380477362001569206162271671914277666244888461302867832857125853183003941440093194015974386115248337815816916151075251687388102877461197800090021375225961263924117297409854987173299518912215971329684103993977069921011232298583667685785213605352622922249557999495014331142210406181173706169245618459840504690508665695456696778350306046793700804627430868018813524847083420150571589884571731367296353130207606373438098075200535214488489989533029745335033519520490800371043704499051197189842041682814973768057175593705658423626210859186880475849761634773706600774431816805089552556942538743047588988766086211547872731256027639226168452796437469989620202250725400448009904337107331159242089940823817342904569467844394657996421337632114167905616967321952423031116095560881656122206464398839597064842610998415837011323087790416042158839504430697374675284809590786279396454497047549596378513867910958780747682904646087562746376393645921206431080053143336590307667697998142216706856516378825563544372687019102895531009526918216981243741632031410659073095311124754512899868564958714879641670548338674673724237170814434399406541941690756185368546534215603283679121771407814891097715345487224643506999690876156231465829987888501601997971693031713126125639162652073318901681503797326554288300234898731272622215425643816736692438650366738587237987862475491934867057765845574611869715481084441007790829431763342974057020361642317945490083448445847990906211380252506985004531923852965295733281902137943193920495379143748372895455433719081193215349933877185496783327022813522387011653091786398309260407081102028442630026184608345340016848209594699079129508351496528212376507452837420539637053328443 23052673185372356592018107380074650701105977911569588592047488910313705802962197501070877062568591166322206224005415586635209641666862446410232655891067289468873843474698693553160591355007059267866572747258185243403925564365712540195650384211142262514886144019560980608184930881540388195873394587871188660517909932745362242965658907326249101903542610029445770037779358068138986350220727742689932412106750239480168559157303769435094952512806496424772516630072426707930421893255299508396734291159284758075539544963958351232007533815213817501805642181404232897209972310883923661080189288277804288971952760274605541016981086088246628000878974377607665378030055789950943688626573116139867057923771997044001515045354815819615345755033217709689402796894885154009473783918714553430942451196098718631522627128108027965442584652045752141061339223135351863169841008861002269360915353474832481328668206599738273313752387203780487335485676453628585166249051457798434900765799464415134443444795897018264468415678350245857770495151277200383094970399368062918236057005525265123221316006496496336104563106611695174542630460571008631248029914913257344386526015347568270648700433000395801926989204132359581794208561379669081029921402638627044660625710632622158184072553680802435868626185415985351207678414710377847891045826173712633994110047969875237091871732015625344619424205118064249507548242088641907279207710583875114325253556269043566620587122887324856262750101801621969493231018713802576836524509484528864118061210782734106578956924522754629097218601548112959055321516740677225775749279917409176080585987477806814328625857270860685222045674614329524677048340944204474221430748534486991835185721581527606587246887891352162643836452653805869776068134149502380839918122387035052912891809850376430510783704500868773062012544533198315153461909792142311077688571752201202587381076007781388269144968970253827957934576250418647234552989883775011076646404106919025532533047626323119979539202097068551723990601969148524078444175859584308812168824432658326346635398501119792094713152070111171034515689978964783733211297995638882537364048656096308018968967187721715750768950893585207840460895035891916765057929610453975839980250805492125780483273727945493770096932469170152518759892175059851132203467269746237623010768978837538438053097195778178997274045769388218206651224983433021403027455580880689283142010168929658485068634026523887977634707973098181765553228609553601199861991180069746242820768364045034772167065327522363859239965585597752618908832272208160304091240350103158512541094630313121093004342549474392740038287815317371195205783966129823903297105329452921747354842185884426345116826150624879630196397463337120444717923791111561816636005620309895002776296544588170195190118759166515682850064422300167956666056339392660747456008969762782101506252882329878579965762435424759163751522117756441967243678814297039407971369126501779213280266483455389130219493180506986331907005418915160482328003820359822742533365570992653225358470318571022728610399760771364524614530757302075278860371323577610005085930048926482109169348653581900690473943766884822329987946647916783727138793077586128154216494651846866992537216214835325122143045431706432401171015981385849212423524893897626226896688779878888450684711736010427168975255658623681606832571103346399294412968536415689698326609644930779745215353145601077543443532873951329755314398095426533992215828323031045977417540156638289705145904312880242962084960284206139605740909901049514210772295044688081414663458683543951505228165818644471664748404317167114975085364 37300008745475778260595899853028597036847266649261223901757728862761383499194231806046448813695692958949053395175478173990692257880516174993230556818321328031687673551638280009864143678557451240092888417093878987070078349241266656027283377313649369604020029839480185682406802459509212058528613418268380930033038412151586092172421888551043400901983492769346308740566319924138839796482871786418703567075599682481030120953170284530580371264581754276190238396825649242291403598741352693646547762848786648011978961728185260643895207180276292508097279456090080638771897816341227099968101061130994724797555184905473978833774939212326960780718426704712698117291328888043096929623347292805402484829386649426687578595674052497202274260187893065579207779191630407509386163445322647287725444686534795034369786555709523710644478881212263084095309954201502213010175271143948092742584164936737152210668614406075339448929799375030366979581893134635973138308921056480592303872907902525538253653375649826280114922778386831210534776144400104778678444999793630389078843168259084763086127971445619106382687159305446918989291426726282146030414652341438616581353741827118247456999292174856436202553714122280755304790586289183193701307951522798917189993834439696223752787658912423061990942989500512105837208747996631630884907272876368361142149614402186603881194283777119562692751560263934067498715248928255842072449446475137761520652282841082780784263498367223023689424422881121657285150357296504025783462287691359287789424495889707745695017935843050824539295847234037000396595144290738539160210301505250012536134544749826115408310083796186872241029952905600120028801621893161180727989117719414057794983584002343242910682424731950377438113268765323367649961065936423216543450909233521584179954875445257964661122358276781904851973457276920209516707538417113899315875748626808793175747261166682263204611673723809187814450838905431203102933467245776580282808675778833303198777936087625987812396327950251555665430695163164498464559424197400125728319899684345714449512859698919882116088378031375095151813099833951957032730210211610212221468042633166229030201265771389401535982556246208130090018894530906247907268335791627682009225869265332630470991939423402190548447238515963853323387323043078664657050550689896809212895340710204834791183304802151617095349246304602706696640758013178356436546976071681060326846509220126848327110316841497656034810301678756605391764087796434077049623625953776347017252585169134587329109604070569952848006051797145625350164859911434328756887677820092778714791820030761130997341449880633634829979111632660275764673628360787820324634737443620827364322164138307457461212387032281001836660796302934185287328922206948573139723796036352053842280727241962845479999709545445912137347111971896546470533967298173408430360655057325528477899898803536309660018905772015066831449520259973148823760057639860583780658388229397310222807184700436632871851524591166059427218130173428060350892962535239464413081704245666377462529284752970429270552090516956733071148746360585754400631779138468707720431417273569989108860224809813366520461832268486820301680978361042909366301445150905029835720291978401155292772114946107947337568689248443124839821382719973087200286000385832493284662534354490758166165796177018217998407019001597738627194213421291889377861414384406595909706862151915784277139206110896810825345670817145250250693541843799429447649547404224261327351417342135073032168717835267254615176746682515400012822011929492144236956903390028098262873053382623081013579662346856848172201241737706752028413807 60352681930848134852614007233103247737953244560830812493805217773075089302156429307117325876264284125271259619180893760625901899547378621403463212709388617500561517026336973563024735033564510507959461164352064230474003913606979196222933761524791632118906173859041166290591733341049600254402008006139569590550948344896948335138080795877292502805526102798792078778345677992277826146703599529108635979182349921961198680110474053965675323777388250700962755026898075950221825491996652202043282054008071406087518506692143611875902740995490110009902921637494313535981870127225150761048290349408799013769507945180079519850756025300573588781597401082320363495321384677994040618249920408945269542753158646470689093641028868316817620015221110775268610576086515561518859947364037200718667895882633513665892413683817551676087063533258015225156649177336854076180016280004950362103499518411569633539336821005813612762682186578810854315067569588264558304557972514279027204638707366940672697098171546844544583338456737077068305271295677305161773415399161693307314900173784349886307443977942115442487250265917142093531921887297290777278444567254695960967879757174686518105699725175252238129542918254640337098999147668852274731229354161425961850619545072318381936860212593225497859569174916497457044887162707009478775953099050080995136259662372061840973066015792744907312175765381998317006263491016897749351657157059012875845905839110126347404850621254547879952174524682743626778381376010306602619986797175888151907485706672441852273974860365805453636514448782149959451916661031415764935959581422659188616720532227632929736935941067047557463075627519929644705849962837365654949419866253901049630169305583870849497929312623302540081949721419129237426029200085925597383369031620556637092846685295634395171906062777650677913986001810118524670169448209256210393564320379009995763128337174463651473756642694063015772385415155849850337486457129551591359455079885752328731310983713949107791935530047320107389421297132313022543003600056984434540488724117004040796148258200039674210801530101486266186328789812916740765941508207249094758832091289262537049170232959111117286751507139793337930479789566798164672326265402081657849206120070824756251475213151347684318544170985134005842147215218138515789254017959643046835906109689042373229236401997929796092623292073990924903291982996611377839574431652561749609988519389056506812178950868021544012445009651854787157317316405987678249485617133846093260073353533179622101276669398092316707246017382743377969073692183642489060978918170195937227332914661074252090345792430108027570017399447977646959879412326917644227931842773073749111677006324191883806329213182905881466857193766271305732046845998060134956359801656661948845057023786551015675189828304612427820197176394196714427200023637566069177816664027088310579406151685866188239984668207439825995201042377729590791003736454157623188629757355899089436087451183892022002071017771673045759125135592343220833220966355599287155615069816659030687887755071541451999162490277728097595763277117887829679492150462046317725517347322496471218029573463395267210935776035371642631668925008959693093440238228491157989936786630248022285309331160943272459711734680149557240992398701358936412709525279730119511559223134369646616850507913028645167382274660221420234026784524638288672274382920822285608033471796846564022354559256497888368789203691096580006007939939225963439865375727255307304768957498773362737314622148147497577261706966721539618562921830541658447729198434716179677536512066167032518807828165501319836949646054873867003499171 97652690676323913113209907086131844774800511210092036395562946635836472801350661113163774689959977084220313014356371934616594157427894796396693769527709945532249190577975253572888878712121961748052349581445943217544082262848245852250217138838441001722926203698521351972998535800558812312930621424407950520583986757048534427310502684428335903707509595568138387518911997916416665943186471315527339546257949604442228801063644338496255695041970004977152993423723725192513229090738004895689829816856858054099497468420328872519797948175766402518000201093584394174753767943566377861016391410539793738567063130085553498684530964512900549562315827787033061612612713566037137547873267701750672027582545295897376672236702920814019894275409003840847818355278145969028246110809359848006393340569168308700262200239527075386731542414470278309251959131538356289190191551148898454846083683348306785750005435411888952211611985953841221294649462722900531442866893570759619508511615269466210950751547196670824698261235123908278840047440077409940451860398955323696393743342043434649393571949387734548869937425222589012521213314023572923308859219596134577549233499001804765562699017350108674332096632376921092403789733958035468432537305684224879040613379512014605689647871505648559850512164417009562882095910703641109660860371926449356278409276774248444854260299569864470004927325645932384504978739945153591424106603534150637366558121951209128189114119621770903641598947563865284063531733306810628403449084867247439696910202562149597968992796208856278175810296016186959848511805322154304096169882927909201152855076977459045145246024863234429704105580425529764734651584730526835677408983973315107425152889586214092408611737355252917520062990184452605075990266022348813926819940854078221272801560740892359833028421054432582765959459087038734186876986626370109709440069005818788938875598341145914678368316417872203586836254061281053440419924375328171642263755664585631930088919801575095604331857997571663054851992295477521007563024254384560268808623801349755245661117898959556326889908132861361338141889646868697798671718418859306980300133922428766079371498730500518822734063386001468020498684097704412579594601193709339858431989336157386722467152574749874866991409501097859165534538261217180446304568649539856048801450399247208020419706800081413187972538378593631599932741009789734276121407724242809936835028609183355139289267709519200047255311330611392549081404202421755299109243087622440277325938702314209430386273468662269555252069179889003319238552095076817817866595990288715942124734691835383087687242310741662399996511080637922724553040687705464552566580216694576475999170462499341267541600215186883303517990069205491019375768205008708096083597693014002687337751028513861155189537850058339957544288366093260897733990935739477608177319084413839057306050489402497900003573979454892826650562637702739614763794094018206969288145585296399658894635884328654873922542362839105186343265765771281184113928890838751568696774062325408150417039824511881269714580794684830666912023478473584080123929600515025445948764596066460326889798273208633731397608303858462933349903370002602459741683379396187825657078608649177578081446107051219797280423928592682080813781421332023612995525665562612796221757488860404783016304090046863165789293661819158861220997945930178050135797305228881517740333948762348299493765367394699194134874508241830256701481783025392887514923131479568632120374840908435769483339983414752192438453649236939631384933760033802684686101824744277940409565448790113532387490512358168009150887792580619031912978 158005372607172047965823914319235092512753755770922848889368164408911562103507090420281100566224261209491572633537265695242496056975273417800156982237098563032810707604312227135913613745686472256011810745798007448018086176455225048473150900363232633841832377557562518263590269141608412567332629430547520111134935101945482762448583480305628406513035698366930466297257675908694492089890070844635975525440299526403427481174118392461931018819358255678115748450621801142735054582734657097733111870864929460187015975112472484395700689171256512527903122731078707710735638070791528622064681759948592752336571075265633018535286989813474138343913228869353425107934098244031178166123188110695941570335703942368065765877731789130837514290630114616116428931364661530547106058173397048725061236451801822366154613923344627062818605947728293534408608308875210365370207831153848816949583201759876419289342256417702564974294172532652075609717032311165089747424866085038646713150322636406883647849718743515369281599691860985347145318735754715102225275798117017003708643515827784535701015927329849991357187691139731106053135201320863700587303786850830538517113256176491283668398742525360912461639550631561429502788881626887743163766659845650840891232924584332987626508084098874057710081339333507019926983073410650588436813470976530351414668939146310285827326315362609377317103091027930701511242230962051340775763760593163513212463961061335475593964740876318783593773472246608910841913109317117231023435882043135591604395909234591450242967656574661731812324744798336919300428466353570069032129464350568389769575609205091974882181965930281987167181207945459409440501547567892490626828850227216157055322195170084941906541049978555457602012711603581842502019466108274411310188972474634858365648246036526755004934483832083260679945460897157258857046434835626320103004389384828784702003935515609566152124959111935219359221669217130903777906381504879763001718835550337960661399903515524203396267388044891770444273289427790543550566624311368994809297347918353796041809376098999230537691438234347627524470679459785438564613226626108401739132225211691303128541731689611636109485570525794805950978473664502577251920866595790997707638109406982142973942365726097559185535580486231865007681753479355696235558586609182902884707560088289581249656108798011209280595830452584556503224724006401112115695839376804559546823547998239861951468218577540744059700320982466179706398720608409433548594860221468533537399292235493831531662942866754586262498086562632381288312244278719306878845514160484653169457649352909635178033034740849689970013910528615569684432453014623108780498422989768325587676176786691225073870813398092764770375183835476796751422614203068843052443399349675951532394774815064876830379366154670767777741464760289975324934014573305546785993983111502149636712202175268686139988242186894718821851605015432330405767530548175830157917902941195489094982087068220676875993560134512150945468401358114502017334895246438038724311843878984438838304794896053333268877071072412928262675300596361413759616080062561343171466111918562931544919371736603900942333384339230105565018828378962295553181921607887345815593865238897199863390777267994492256992158608742239321806180122690960025705050945292732307780980623230051399866812003075508333171568322040579095247782470568466722410180226051167125773805745608912321848324623892587562924078199338410262709421722251356327380298858734875936889332339681798506797962131562249769700160615958479249947855590575461132415300259460457617946077514957146051195318677859487846100533847454486035412149 255658063283495961079033821405366937287554266981014885284931111044748034904857751533444875256184238293711885647893637629859090214403168214196850751764808508565059898182287480708802492457808434004064160327243950665562168439303470900723368039201673635564758581256083870236588804942167224880263250854955470631718921858994017189759086164733964310220545293935068853816169673825111158033076542160163315071698249130845656282237762730958186713861328260655268741874345526335248283673472661993422941687721787514286513443532801356915498637347022915045903323824663101885489406014357906483081073170488386490903634205351186517219817954326374687906229056656386486720546811810068315713996455812446613597918249238265442438114434709944857408566039118456964247286642807499575352168982756896731454577020970131066416814162871702449550148362198571843660567440413566654560399382302747271795666885108183205039347691829591517185906158486493296904366495034065621190291759655798266221661937905873094598601265940186193979860926984893625985366175832125042677136197072340700102386857871219185094587876717584540227125116362320118574348515344436623896163006446965116066346755178296049231097759875469586793736183008482521906578615584923211596303965529875719931846304096347593316155955604522617560593503750516582809078984114291698097673842902979707693078215920558730681586614932473847322030416673863086016220970907204932199870364127314150579022083012544603783078860498089687235372419810474194905444842623927859426884966910383031301306111796741048211960452783518009988135040814523879148940271675724373128299347278477590922430686182551020027427990793516416871286788370989174175153132298419326304237834200531264480475084756299034315152787333808375122075701788034447578009732130623225237008913328713079638449806777419114837962904886515843445904919984195993043923421461996429812444458390647573640879533856755480830493275529807422946057923278411957218326305880207934643982591214923592591488823317099299000599246042463433499125281723268064558129648565753555078105971719703551287470493997958786864581346367208988862612569106654136363284945044967708719432359134120069207913230420112154932219633911796273971477157762206989831515467789500337566070098743139529696409518300847434052526989987329724173216291740572876681863155258722758933509010487536789270075815598092622468568368831178188103157465016190846391817247101047369483658576607423217090757486287059944106955632313077572255480124810831188847704103309090973814725230937808040962049216335416855817750155742521384607550796373796124696712110150773369111582384044745018265720277051591352370010421609253492408985493702328573333065003206462902063675347249190566341412413613279648073893173904682287770798382408077551148526997042689954219732525843578737985568904004729107735285753126383236222668005509045024394171302195915988694018252664671184039991816166349611648502167653135070020531324642194037127206048526491888753876722952549331749916102497351256131811667123885783201448824137276790293008617941309846988721834720565214538591651867097758929587324074834997839740009663076368617414876514629391871809170009812534673730992643088568498368731748964898012923604987283533641250943847546377441472223375045712054272582537334921402619961544022983638700576610855345104002738112090456182883116093122371498960861983859737956468780416498644772545977531280048643514139694371260621342089991287286757058952707580240519410903505276749214895221990214444569009707180590234276281302114977001962138614265195418881332789350609263817101402084204735558355642963747259583582809190217655855251421640035105067325127 413663435890668009044857735724602029800308022751937734174299275453659597008364841953725975822408499503203458281430903325101586271378441631997007734001907071597870605786599707844716106203494906260075971073041958113580254615758695949196518939564906269406590958813646388500179074083775637447595880285502990742853856960939499952207669645039592716733580992301999320113427349733805650122966613004799290597138548657249083763411881123420117732680686516333384490324967327477983338256207319091156053558586716974473529418645273841311199326518279427573806446555741809596225044085149435105145754930436979243240205280616819535755104944139848826250142285525739911828480910054099493880119643923142555168253953180633508203992166499075694922856669233073080676218007469030122458227156153945456515813472771953432571428086216329512368754309926865378069175749288777019930607213456596088745250086868059624328689948247294082160200331019145372514083527345230710937716625740836912934812260542279978246450984683701563261460618845878973130684911586840144902411995189357703811030373699003720795603804047434531584312807502051224627483716665300324483466793297795654583460011354787332899496502400830499255375733640043951409367497211810954760070625375526560823079228680680580942664039703396675270674843084023602736062057524942286534487313879510059107747155066869016508912930295083224639133507701793787527463201869256272975634124720477663791486044073880079377043601374408470829145892057083105747357951941045090450320848953518622905702021031332498454928109358179741800459785612860798449368738029294442160428811629045980692006295387642994909609956723798404038467996316448583615654679866311816931066684427747421535797279926383976221693837312363832724088413391616290080029198238897636547197885803347938004098052813945869842897388718599104125850380881353251900969856297622749915448847775476358342883469372365046982618234641742642305279592495542860996232687385087697645701426765261553252888726832623502396866634087355203943398571151058608108696272877122549887403319638057347329279870096958017402272784601556616387083248566439574927898171671076110458564584345811372336454962109723791041705204437591079922455631426709567083436334385291335273708208150121672670351884026944993238062570473561589180898045219928572917421741867905661818216570575826370519731924396103831749164199283762744606382189022591958507513086477851929030482124605663079042225704864600688166655953295543751961878845419240622396298963530559507352124523173301872493712159202171442080248242305153765895863040652515431575557624311258022281040033397654653443753311792441042340024332137869062093417946716951682113563426196231227651351524035881791415283227011372412844268357740159084522220996611146394200970396392365905752127300658643614815948270159399875513027217886673211547602020082350571180165285307418138330730454839939870179980058353244330470353772668567400426298855190369867285123951467687377848858810020770008625909662631863407077280068482000285218783719383714829017320461820294285827026629616618547807468722939510687192262624671196411599356089725637711788880988433192323416728541746416435616064376982318674063387560127927193566105526595170879456844809086443577304863000643040204311264741146077160724426141666713943664405627556148077411783718735320507582749928096197879832132430305900317051716562887067111494956157757331215769287945439980172943190414615179874319983030906918650782120325227528105542275520848949320505899039520272032783079264246539251731838774881153898131280644941184724949516702343665193176301720478704405634778127868077143701351955487489591102737276 669321499174163970123891557129968967087862289732952619459230386498407631913222593487170851078592737796915343929324540954960676485781609846193858485766715580162930503968887188553518598661303340264140131400285908779142423055062166849919886978766579904971349540069730258736767879025942862327859131140458461374572778819933517141966755809773557026954126286237068173929597023558916808156043155164962605668836797788094740045649643854378304446542014776988653232199312853813231621929679981084578995246308504488760042862178075198226697963865302342619709770380404911481714450099507341588226828100925365734143839485968006052974922898466223514156371342182126398549027721864167809594116099735589168766172202418898950642106601209020552331422708351530044923504650276529697810396138910842187970390493742084498988242249088031961918902672125437221729743189702343674491006595759343360540916971976242829368037640076885599346106489505638669418450022379296332128008385396635179156474198448153072845052250623887757241321545830772599116051087418965187579548192261698403913417231570222905890191680765019071811437923864371343201832232009736948379629799744760770649806766533083382130594262276300086049111916648526473315946112796734166356374590905402280754925532777028174258819995307919292831268346834540185545141041639233984632161156782489766800825370987427747190499545227557071961163924375656873543684172776461205175504488847791814370508127086424683160122461872498158064518311867557300652802794564972949877205815863901654207008132828073546666888562141697751788594826427384677598309009705018815288728158907523571614436981570194014937037947517314820909754784687437757790807812164731143235304518628278686016272364682683010536846624646172207846164115179650737658038930369520861784206799132061017642547859591364984680860293605114947571755300865549244944893277759619179727893306166123931983763003229120527813111510171550065251337515773954818214558993265295632289684017980185145844377550149722801397465880129818637442523852874326672666825921442876104965509291357760898616750364094916804266854130968765605249695817673093711291183116716043819177996943479931441544368192529835945973924838349387353893932789188916556914951802174791672839778306893261202366761402327792427290589560460891313354114336960501449599284897126628420751725581063363159789807739994196454217732568114940932709539654038782804899330333578899298514140701213086296132983191151660632273611585608621324217358970230071811244003066839650481166849754111109913455761375537588297897998398047675150503413837026311556272269734462031391392622417442399671709473588844032394710034753747122554502403440419280255446628429402694129715026871285072357756695640624652060918161531644841372293019379019223945349497393435055859971859826502222352801517174164128983248312971013056447770270025591395595574336587503334127024748707504611054219971874519593942118855940321702470446830179832563904412329999994179266602735532973319340375825765129214663209091735605886068420232543520991619310329079761604132815748464337183762346060374806608446121849948746031409439096099388714080406295864947821715288537711756228970289795369625407242561756291876892091579029131582454413098095752933989954746335224018085916365537323683412082127046103210736927303106204167003422515786456847410963765633044189320251331093292289760055008185343303565756267502135288611264412802085134351433564532504606467161077041983614498891301531228732804854757170742839163765074908746700862267059360566361516253693977389146349317012613434291793988766618104427869928734657363442451665218360937058294799556603377127524696170062403 1082984935064831979168749292854570996888170312484890353633529661952067228921587435440896826901001237300118802210755444280062262757160051478190866219768622651760801109755486896398234704864798246524216102473327866892722677670820862799116405918331486174377940498883376647236946953109718499775455011425961452117426635780873017094174425454813149743687707278539067494043024373292722458279009768169761896265975346445343823809061524977798422179222701293322037722524280181291214960185887300175735048804895221463233572280823349039537897290383581770193516216936146721077939494184656776693372583031362344977384044766584825588730027842606072340406513627707866310377508631918267303474235743658731723934426155599532458846098767708096247254279377584603125599722657745559820268623295064787644486203966514037931559670335304361474287656982052302599798918938991120694421613809215939449286167058844302453696727588324179681506306820524784041932533549724527043065725011137472092091286458990433051091503235307589320502782164676651572246735999005805332481960187451056107724447605269226626685795484812453603395750731366422567829315948675037272863096593042556425233266777887870715030090764677130585304487650288570424725313610008545121116445216280928841578004761457708755201484035011315968101943189918563788281203099164176271166648470661999825908572526054296763699412475522640296600297432077450661071147374645717478151138613568269478161994171160304762537166063246906628893664203924640406400160746506018040327526664817420277112710153859406045121816671499877493589054612040245476047677747734313257449156970536569552306443276957837009846647904241113224948222781003886341406462492031042960166371203056026107552069644609066986758540461958536040570252528571267027738068128608418498331404684935408955646645912405310854523757682323714051697605681746902496845863134057241929643342153941600290326646472601485574795729744813292707556617108269497679210791680650383329935385444745446699097266276982346303794332514217173841385922424025385280775522194319998654852912610995818245946030234191874821669126915570322221636779066239533286219081288387119929636561527825742813880823154639559737015630042786978433816388420615626123998388136560083008113486515043382875037113286354737420528652130934452902535012382180430022516706638994534082569942151639189530309539664390300285966896767398703677315921843061374763406843420056751227544622825818749375175208896016261320440267538904165076179237815649312433640302030370209988518974277284411785949473534739759739978246640352828916399276877678826987847827358773289413673662450840054325153226900636473437050059085884991616595821387136231937560191855598925357366378395320954149171978867636024473762429889385000456815240375630370339550467789827421765723987127160865967617465444323528858761340188899729659317872045673746166754501872810752265355479162344550924399951932872838272589209712990269870873129035022933771697453951461866644451594342994089349001735427761078070286371804087886353639016262904706448327649541581898418642775093953802310153529097746119133314112573417227821038452189114351792195176853381014038705266253502645405905859746607725916625143852004819285145134658177625292554940562020433532051198224661126120676802064829489242851472244877450870967511831723151499927570175582731471348382972285518131163225722595660372059901906190632867762458293045942480182090030574331606507722919221647035397025014521417542083651553960332960299446263688113085580807786221134299842439830608055505425816164027503215143894079232978713716134806771535121910959083921156070853139064926371943257955332615014287272799679 1752306434238995949292640849984539963976032602217842973092760048450474860834810028928067677979593975097034146140079985235022939242941661324384724705535338231923731613724374084951753303526101586788356233873613775671865100725883029649036292897098066079349290038953106905973714832135661362103314142566419913491999414600806534236141181264586706770641833564776135667972621396851639266435052923334724501934812144233438563854711168832176726625764716070310690954723593035104446582115567281260314044051203725951993615143001424237764595254248884112813225987316551632559653944284164118281599411132287710711527884252552831641704950741072295854562884969889992708926536353782435113068351843394320892700598358018431409488205368917116799585702085936133170523227308022089518079019433975629832456594460256122430547912584392393436206559654177739821528662128693464368912620404975282809827084030820545283064765228401065280852413310030422711350983572103823375193733396534107271247760657438586123936555485931477077744103710507424171362787086424770520061508379712754511637864836839449532575987165577472675207188655230793911031148180684774221242726392787317195883073544420954097160685026953430671353599566937096898041259722805279287472819807186331122332930294234736929460304030319235260933211536753103973826344140803410255798809627444489592709397897041724510889912020750197368561461356453107534614831547422178683326643102416061292532502298246729445697288525119404786958182515792197707052963541070990990204732480681321931319718286687479591788705233641575245377649438467630153645986757439332072737885129444093123920880258528031024783685851758428045857977565691324099197270304195774103401675721684304793568342009291749997295387086604708248416416643750917765396107058977939360115611484067469973289193771996675839204617975928828999269360982612451741790756411816861109371235460107724222310409475830606102608841254984842772807954624043452497425350673915678962225069462725631844941643827132069105191798394346992478828446276899711953442348115762874759818421902353579144562780598286791625935981046539087826886474883912626997510264405103163748814558471305674255425191347169395682989554881136365787710321209804542680913339938734874680953264821936644077403874688682529847819241691395344215889126719140931472115991536121162503321667732702552690099347404384496740184629335513644610025461497100157568306173753635650526058763527031835671308192087167921952713879124512786400396596785879384244884305097209860469685824031395521699405234910277348037876245038400504066902690714705138544120097093235320805066284868282453996862700489480505831760093839632114171098224827555512193006820285001619487081405266606026506928674508260676534680591421029841829108259754649594284899965183262477625695846953663088320418982618487657842009653159912786107088142071265141762328838460314086392380227869849161978619923807392432214708065653311972341319959214855497676109783951456045911054329875967408689377561192890292733495463539693772422059248806425698067637978621343502551458523558290986072499589472552727579435962522163259230477548288503065872601472718328835753993803965258874376195655116233133159186900143881711376724163789760079705653036314954423486797533448679212037042339388512901324978518348088187798270618035890154922443356632430142435114016016474838382494319014885420427068087249494198624029960428334553744594892115708683040072255423828114196474066998135916433385182782693137815056617006527276850655716532921996566901800396969571759119793553173852532156507513524772702482752911199405050645616447363607736071500001984666742814558709742538983442862082 2835291369303827928461390142839110960864202914702733326726289710402542089756397464368964504880595212397152948350835429515085202000101712802575590925303960883684532723479860981349988008390899833312572336346941642564587778396703892448152698815429552253727230537836483553210661785245379861878769153992381365609426050381679551330315606719399856514329540843315203162015645770144361724714062691504486398200787490678782387663772693809975148804987417363632728677247873216395661542301454581436049092856098947415227187423824773277302492544632465883006742204252698353637593438468820894974971994163650055688911929019137657230434978583678368194969398597597859019304044985700702416542587587053052616635024513617963868334304136625213046839981463520736296122949965767649338347642729040417476942798426770160362107582919696754910494216636230042421327581067684585063334234214191222259113251089664847736761492816725244962358720130555206753283517121828350418259458407671579363339047116429019175028058721239066398246885875184075743609523085430575852543468567163810619362312442108676159261782650389926278602939386597216478860464129359811494105822985829873621116340322308824812190775791630561256658087217225667322766573332813824408589265023467259963910935055692445684661788065330551229035154726671667762107547239967586526965458098106489418617970423096021274589324496272837665161758788530558195685978922067896161477781715984330770694496469407034208234454588366311415851846719716838113453124287577009030532259145498742208432428440546885636910521905141452738966704050507875629693664505173645330187042099980662676227323535485868034630333755999541270806200346695210440603732796226817063568046924740330901120411653900816984053927548563244288986669172322184793134175187586357858447016169002878928935839684401986693728375658252543050966966664359354238636619545874103039014577614049324512637055948432091677404570999798135480364571732312950176636142354566062292160454907471078544038910104114415408986130908564166320214368700925097234217870310082873414671334513349397390508810832478666447605107962109410048523253950152160283729345693490283678451119999131417069306014501808955420005184923923344221526709630420168804911728075294957689066751336980026952440987975037267268347893822329797118424139101321361494632698175115696585891609884341742220408887068774797026151526102912348287341383340161532331713017173692401753603386352850585046483400983184183273154146663416951476575834601528696678524607127580070458204798308679933485354708445017107777854491678753332983301967592383965531967924452008610218739947319122508322015927390116979268810152925517105787694046214691744130567012140600544844447783661926980656100653375896701008443021310414842285923500130279964624450432973089899391419834080823954288036448062811186700770993348812515766406014116938887929083340333124838657735707032193712903019875740265270487297275366302242212193088249878431447807237902917912555505924218961498038379296620651370803781835343781658775698265069330404515965628162925400970101298652244788382653118570298846712750075095580487051516000477617417664796649571709849792699070218761519782101514862840859075812043995886530661869298447937704998207976876974857018848731673340338157719141453342390567829990592965638669238129867613306422370926808012873906462398988760356513657544737481080799127989155684831491792418721380496224776982146283014646579978343049761231871092012657333975468834336653470775356063270215389936236524319143130866744240227577627264545609717201355747300401592757751416198887717970940172556575531284763806924639066911038686072514042357553270715661761 4587597803542823877754030992823650924840235516920576299819049758853016950591207493297032182860189187494187094490915414750108141243043374126960315630839299115608264337204235066301741311917001420100928570220555418236452879122586922097188991712527618333076520576789590459184376617381041223982083296558801279101425464982486085566456787983986563284971374408091338829988267166996000991149115614839210900135599634912220951518483862642151875430752133433943419631971466251500108124417021862696363136907302673367220802566826197515067087798881349995819968191569249986197247382752985013256571405295937766400439813271690488872139929324750664049532283567487851728230581339483137529610939430447373509335622871636395277822509505542329846425683549456869466646177273789738856426662163016047309399392887026282792655495504089148346700776290407782242856243196378049432246854619166505068940335120485393019826258045126310243211133440585629464634500693932173793453191804205686634586807773867605298964614207170543475990989585691499914972310171855346372604976946876565131000177278948125691837769815967398953810128041828010389891612310044585715348549378617190816999413866729778909351460818583991928011686784162764220807833055619103696062084830653591086243865349927182614122092095649786489968366263424771735933891380770996782764267725550979011327368320137745785479236517023035033723220144983665730300810469490074844804424818400392063226998767653763653931743113485716202810029235509035820506087828648000020736991626180064139752146727234365228699227138783027984344353488975505783339651262612977402924927229424755800148203794013899059414019607757969316664177912386534539801003100422591166969722646424635694688753663192566981349314635167952537403085816073102558530282246564297218562627653070348902225033456398662532932993634181372050236327646971805980427375957690964148385813074157048734947465424262697780013412254782978253172526356356402674061493028481741254385524370196710388980553931246484514177929302911158799042814977824809187660218425845748174489756415702976535071591430765458073541089008648497875409728834064787281239610098593447427265678470437091324731205848978351102994739805059710009237030840224711485825068014029832370020016158916671029844862663719797116167135513725141334313265820462292966748689711236859089213277617044294910508234473159293766336155438425992897366844837261689900019190927328052279662149879882420717791593070352105225868025787929737876972431387408080923408912224789930927890622340075455184759943355294455815730736717153837050204658307089104076088021545243931023806232187404962318878627879597485100570246765149219958792271042247256323573832425602164331529188928533007163029327884157377543123612731444684115031759884929558909350398156352377017115681034487042608455430681298844542780646508725301873494156188204029691412178793438925050115934902042874881639799547657702702005341019614214553513047464733929123917021854373958466560254094928906727756857813541663537277298883475431197757513875756102583603606784268903521559822210535774455152708042851574292186037617743746281993548766120483537398122290038685546692874184020394158297169979073992234998944139768242038593462237697784703861013191929280505646265122019550194761480841855291892808508941053826467508747903503461344814283440443016341576415005235194896151863752366501226196076405179030115822379149715049969371874261991697686652233766877875428345159010793250408854017119346608590412680276742666786892240852065127433646040624547199023665403270375208279456909106282524118681640629170345223202191978648371542996139068895705428887072752100092254158523843 7422889172846651806215421135662761885704438431623309626545339469255559040347604957665996687740784399891340042841750844265193343243145086929535906556143259999292797060684096047651729320307901253413500906567497060801040657519290814545341690527957170586803751114626074012395038402626421085860852450551182644710851515364165636896772394703386419799300915251406541992003912937140362715863178306343697298336387125591003339182256556452127024235739550797576148309219339467895769666718476444132412229763401620782447989990650970792369580343513815878826710395821948339834840821221805908231543399459587822089351742290828146102574907908429032244501682165085710747534626325183839946153527017500426125970647385254359146156813642167542893265665012977605762769127239557388194774304892056464786342191313796443154763078423785903257194992926637824664183824264062634495581088833357727328053586210150240756587750861851555205569853571140836217918017815760524211712650211877265997925854890296624473992672928409609874237875460875575658581833257285922225148445514040375750362489721056801851099552466357325232413067428425226868752076439404397209454372364447064438115754189038603721542236610214553184669774001388431543574406388432928104651349854120851050154800405619628298783880160980337719003520990096439498041438620738583309729725823657468429945338743233767060068561013295872698884978933514223925986789391557971006282206534384722833921495237060797862166197701852027618661875955225873933959212116225009051269250771678806348184575167781250865609749043924480723311057539483381413033315767786622733111969329405418476375527329499767094044353363757510587470378259081744980404735896649408230537769571164966595809165317093383965403242183731196826389754988395287351664457434150655077009643822073227831160873140800649226661369292433915101203294311331160219063995503565067187400390688206373247584521372694789457417983254581113733537098088669352850697635383047803546545979277667788933019464035360899923164060211475325119257183678749906421878088735928621589161090929052373925580402263244124521146196970757907923932982784216947564968955792083731105716798469568508394037220350787306522999924728983054230763740470644880290736796089324790059086767495896697982285850638757064384515029336054938452737404921783654461381387886352555675104887501386037130917121541934090792487681541338341184708228177423222231732208101020454033265536232733005764274994053536288499022172451346689353548265988936777601933519352370001386095420648755388670114651800311563593585228395907170033506625899473069608055945997252541242546179506527470640894555269714464369380399690666325746486317256939000454140844566202709175976972590459987819129981260054078551566634041859526400955260015209523533800831129442276408535515115310996896491878744110031243551639857537817639900170305142917620495519126563763707851641934236587784659675287922973189302616385916456765706135714612360571724259757291871022066178313890404766136154434193034341059134227257089973455778945086507099569234947194304491661120862780562837805826613150421004936112713324233333509549243737901202194771861748535339391944402781913940398684841914851310810988135654772700462760685635489702068990068904137524494996795359888352480622295197682460638499534019465136746877771116767767185210248455890248038813993995551409809408489847582025324065560863861607614797871095546194148856408274712333232212109927636660216251023450584384322851456000079365768743546958056723128765171208258300390280852124826288211012987576564026757310699040275534880528347141285395758767509933135349920778135806744114959586794457645524874185604 12010486976389475683969452128486412810544673948543885926364389228108575990938812450963028870600973587385527137332666259015301484486188461056496222186982559114901061397888331113953470632224902673514429476788052479037493536641877736642530682240484788919880271691415664471579415020007462309842935747109983923812276980346651722463229182687372983084272289659497880821992180104136363707012293921182908198471986760503224290700740419094278899666491684231519567941190805719395877791135498306828775366670704294149668792557477168307436668142395165874646678587391198326032088203974790921488114804755525588489791555562518634974714837233179696294033965732573562475765207664666977475764466447947799635306270256890754423979323147709872739691348562434475229415304513347127051200967055072512095741584200822725947418573927875051603895769217045606907040067460440683927827943452524232396993921330635633776414008906977865448780987011726465682552518509692698005165842016082952632512662664164229772957287135580153350228865046567075573554143429141268597753422460916940881362667000004927542937322282324724186223195470253237258643688749448982924802921743064255255115168055768382630893697428798545112681460785551195764382239444052031800713434684774442136398665755546810912905972256630124208971887253521211233975330001509580092493993549208447441272707063371512845547797530318907732608199078497889656287599861048045851086631352785114897148494004714561516097940815337743821471905190734909754465299944873009072006242397858870487936721895015616094308976182707508707655411028458887196372967030399600136036896558830174276523731123513666153458372971515479904134556171468279520205738997071999397507492217589602290497918980285950946752556818899149363792840804468389910194739680714952295572271475143576733385906597199311759594362926615287151439621958302966199491371461256031335786203762363421982531986796957487237431395509364091986709624445025755524759128411529544800931503647864499322000017966607384437341989514386483918299998656574715609538307161774369763650847344755350460651993694009582594687285979406405799342711618281734846208565890677178532982476940005599718768426199765657625994664534042764240000771310869591776561864103354622429106783654813369012130713302476861500682164849780079787050670742245947428130077597589414764318165118430332041425356015093384558823836979764334082075073014684912131751399028348506312927686112615426482066587123888393724890198239276427230520697376344858525342431577159932313986042988830843854874595155606019409315965113061007083711284206562173684143967542496472266352411693932432959773183149311949469950646455815545705278588299186256777714676991804873507506161518992994982159309144211456094690246773304210515987019900139082443151229285794653425651196149798039504947309425408875786332286366263119513394326493346947311907697920002688757967576836279462666299474835580675891307957405530671319219183179346289695641281611665829488626432408819311493893012247734697878336433110732521171213292820842609683172841731463208013220943073316337292958534656001995297122150331067979615503098009858384739592894151787220886084818586802308098695854820988843545809932275423014739056222923333274405930003260833418030141261917379438547242103137052974353447008475073291604255625674620229111999493688898906589615228999230746305961272242214083251520141966042891723437177020810596163520730670266410019884445876805512088561410034243834793176868575346687956181423823700723510021006023273385734036321476672025311876416257951772306214219805322799653562168976311630618960959488581506892916917204702449543846659546557737779032709447 19433376149236127490184873264149174696249112380167195552909728697364135031286417408629025558341757987276867180174417103280494827729333547986032128743125819114193858458572427161605199952532803926927930383355549539838534194161168551187872372768441959506684022806041738483974453422633883395703788197661166568523128495710817359360001577390759402883573204910904422813996093041276726422875472227526605496808373886094227629882996975546405923902231235029095716250410145187291647457853974750961187596434105914932116782548128139099806248485908981753473388983213146665866929025196596829719658204215113410579143297853346781077289745141608728538535647897659273223299833989850817421917993465448225761276917642145113570136136789877415632957013575412080992184431752904515245975271947128976882083775514619169102181652351660954861090762143683431571223891724503318423409032285881959725047507540785874533001759768829420654350840582867301900470536325453222216878492227960218630438517554460854246949960063989763224466740507442651232135976686427190822901867974957316631725156721061729394036874748682049418636262898678464127395765188853380134257294107511319693230922244806986352435934039013098297351234786939627307956645832484959905364784538895293186553466161166439211689852417610461927975408243617650732016768622248163402223719372865915871218045806605279905616358543614780431493178012012113582274389252606016857368837887169837731069989241775359378264138517189771440133781145960783688424512061098018123275493169537676836121297062796866959918725226631989430966468567942268609406282798186222869148865888235592752899258453013433247502726335272990491604934430550024500610474893721407628045261788754568886307084297379334912155799002630346190182595792863677261859197114865607372581915297216804564546779737999960986255732219049202252642916269634126418555366964821098523186594450569795230116508169652276694849378763945205720246722533695108375456763794577348347477482925532288255019482001968284360506049725861809037557182335324622031416395897702991352811938273807724386232395957253707115833482950164313723275694402498682411177521682760909638699275409574108112805646550552964148994589263025818470764511781514472067298660192679412488193551150710066994416563941233925885197194185835018239788075664029601889511465483941970439423052619816369172342477557027475351311518521102675266783301192108134363483607129368960346193222345348432246341581177424682223912370690623116584068963365281636127275950929529933700081463637586232524989246955917583002901193508968177117217910106035243292199913539749013508898591200459903600667738419026413839331046146481871451764905556125257231855521558007582683483134109452982801289290404265534646256880815163736916942279915348605976952060415236929834186711265109036401439188169518907029883926223800937153294496798489864932403217046566452465819218770516050450959150123503649080610573791447128084925318893958650267365541368957700510692610722709716260029166681927732219395567337989611144669071765929116782742076678657512504882063936096900130764361269152416302058263044392212949012647253596285941787666013535756225476762989584222039094539662903694856620920411077787439518983608968764107998993329737555554636258712739326899722725432250656814085508009092756741002503445736996879184703937354796837654042993226297715770680732061665276844207526906753331051974891906142357669587078541122353116657986733148748777661057694419177499720031346767321950167370658780233149771194481644034426602328796851600087429245528336332971530504363075188442697323452916014719726998514642242837695340509193658806246341015383303906895051 31443863125625603174154325392635587506793786328711081479274117925472711022225229859592054428942731574662394317507083362295796312215522009042528350930108378229094919856460758275558670584757706600442359860143602018876027730803046287830403055008926748426564294497457402955553868442641345705546723944771150492335405476057469081823230760078132385967845494570402303635988273145413090129887766148709513695280360646597451920583737394640684823568722919260615284191600950906687525248989473057789962963104810209081785575105605307407242916628304147628120067570604344991899017229171387751207773008970638999068934853415865416052004582374788424832569613630232835699065041654517794897682459913396025396583187899035867994115459937587288372648362137846556221599736266251642297176239002201488977825359715441895049600226279536006464986531360729038478263959184944002351236975738406192122041428871421508309415768675807286103131827594593767583023054835145920222044334244043171262951180218625084019907247199569916574695605554009726805690120115568459420655290435874257513087823721066656936974197031006773604859458368931701386039453938302363059060215850575574948346090300575368983329631467811643410032695572490823072338885276536991706078219223669735322952131916713250124595824674240586136947295497138861965992098623757743494717712922074363312490752869976792751164156073933688164101377090510003238561989113654062708455469239954952628218483246489920894362079332527515261605686336695693442889812005971027195281735567396547324058018957812483054227701409339498138621879596401155805779249828585823005185762447065767029422989576527099400961099306788470395739490602018304020816213890793407025552754006344171176805003277665285858908355821529495553975436597332067172053936795580559668154186772360381297932686335199272745850095145664489404082538227937092618046738426077129858972798212933217212648494966609763932280774273309297706956346978720863900215892206106893148408986573396787577019499968575668797848039240248292955857180991899337640954703059477361116462785618563074846884389651263289710520768929570719522618406020780417257386087573438088171681752349579707831574072750318621774989253797068582710765283092384063843860524296034034917300334805523436006547277243710787385879359035615098026838746406275549317641543081531385203741217738246701213767833572120859910135355500867009348858374206793046495235006157717466659120908457963858728408168301313075948802568929899543814589660741626494652618382506689866014067506626417076379863842111523602412217158622029184200929194312597416976343881082245485775251002894392336560440921568338363309281692602297417157043493855311514009570198549812456190989295628445977783448599548476990740947127588467947432929299815487688420103289701031583259837907414907075906386497594927782816216212590064056666688823291836812244310914966569141223786795606795513117258624959084324971918531196977799404144502073304939963006822980623529999319043131529027753922178929662430097732000448722132315882364586771726465914918410120720518103007009413237423722895925154411599180413375460192564515745263454670681380560165322977111561581576386530137790394483892538402430852686500802178575206532302038513928996590570973584777520630118765446964828569303631167532516484166048345258129120357225991184197626253703427269271992457044021731952974275748528364349492949645054489151912716738521190317748807532373001103863538660837339071091938253970676588606693455278131591194359503743170777217755029768462923805468876911963845503480108639185750309685874842004866299764546633680686487096149135754612545211643202652905887573121082939604498 50877239274861730664339198656784762203042898708878277032183846622836846053511647268221079987284489561939261497681500465576291139944855557028560479673234197343288778315033185437163870537290510527370290243499151558714561924964214839018275427777368707933248317303499141439528321865275229101250512142432317060858533971768286441183232337468891788851418699481306726449984366186689816552763238376236119192088734532691679550466734370187090747470954154289711000442011096093979172706843447808751150559538916124013902357653733446507049165114213129381593456553817491657765946254367984580927431213185752409648078151269212197129294327516397153371105261527892108922364875644368612319600453378844251157860105541180981564251596727464704005605375713258637213784168019156157543151510949330465859909135230061064151781878631196961326077293504412470049487850909447320774646008024288151847088936412207382842417528444636706757482668177461069483493591160599142438922826472003389893389697773085938266857207263559679799162346061452378037826096801995650243557158410831574144812980442128386331011071779688823023495721267610165513435219127155743193317509958086894641577012545382355335765565506824741707383930359430450380295531109021951611443003762565028509505598077879689336285677091851048064922703740756512698008867246005906896941432294940279183708798676582072656780514617548468595594555102522116820836378366260079565824307127124790359288472488265280272626217849717286701739467482656477131314324067069045318557228736934224160179316020609350014146426635971487569588348164343424415185532626772045874334628335301359782322248029540532648463825642061460887344425032568328521426688784514814653598015795098740063112087575044620771064154824159841744158032390195744433913133910446167040736102069577185862479466073199233732105827364713691656725454497571219036602105390898228382159392663503012442765003136262040627130153037254503427203069512415972275672656000684241495886469498929075832038981970543953158354088966110101993414363327223959672371098957180352469274723892370799233116785608516996826354251879735033245894100423279099668563609256198997810381027759153815944379719300871585923983843060094401181529794873898535911159184488713447405493885956233503000963841184944713271076553221450116266626822070305151207153008565473355643164270358063070386110311129148335261446874021969684615641675398901180858718613287086427005314130803312290974749749478737758172714939620522660398658624106908130779894333436219799714148970264003308904853089067441185415118352130997361318147104418632660268543794621994499284149594094852240161108659987364777148612738748779288608808399411436771241425720107820038874472429737898960584737889952742525387204008403631684349871579730836294397055350116268513094024618680016112307825685764446689846100138813864993819983320090326677176714132013135593689606014377311563568217775082587974052529104988424927489069820967263590230372364349581230510011653854238744013951345611590162317127567786711743460551436352700843248656995088778233022985070945510137554487257194306827901238676419852405513528392517050956623168226178858733337038344565970752176884934146796233259051773097578589618094190141270802621927989920308529139413779342858092346687554001554287981618024493258805086260632566094222870368901563608500264923314985683341737502633706337413805208557019856398385541126804622880878859904827348654726117761850271809586116732149632673148176308638040222600081758565018283976320548412236673802889526134265728512051274749008444972157280814048950030447563623217462648400413485610791378592307885720836861459152228588504386846499549 82321102400487333838493524049420349709836685037589358511457964548309557075736877127813134416227221136601655815188583827872087452160377566071088830603342575572383698171493943712722541122048217127812650103642753577590589655767261126848678482786295456359812611800956544395082190307916574806797236087203467553193939447825755523006463097547024174819264194051709030085972639332102906682651004524945632887369095179289131471050471764827775571039677073550326284633612047000666697955832920866541113522643726333095687932759338753914292081742517277009713524124421836649664963483539372332135204222156391408717013004685077613181298909891185578203674875158124944621429917298886407217282913292240276554443293440216849558367056665051992378253737851105193435383904285407799840327749951531954837734494945502959201382104910732967791063824865141508527751810094391323125882983762694343969130365283628891151833297120443992860614495772054837066516645995745062660967160716046561156340877991711022286764454463129596373857951615462104843516216917564109664212448846705831657900804163195043267985268810695596628355179636541866899474673065458106252377725808662469589923102845957724319095196974636385117416625931921273452634416385558943317521222986234763832457729994592939460881501766091634201869999237895374664000965869763650391659145217014642496199551546558865407944670691482156759695932193032120059398367479914142274279776367079742987506955734755201166988297182244801963345153819352170574204136073040072513838964304330771484237334978421833068374128045310985708210227760744580220964782455357868879520390782367126811745237606067632049424924948849931283083915634586632542242902675308221679150769801442911239917090852709906629972510645689337298133468987527811605967070706026726708890288841937567160412152408398506477955922510378181060807992725508311654648843816975358241132190876436229655413498102871804559410927310563801134159416491136836175888548206791134644295456072325863409058481939119621956202128206358394949271544319123297313325802016657713585737509510933874080001175259780286536875020809305752768512506444059516925949696829637085982062780108733523775953792051190207698973096857162983892295077966282599755019708784747482322794220761756939007511118428655500656955912257065214293465568476580700524794551647004740846905488096309771599878144701269195171582229522836693964500049605694227353953619444803893664435039261276149703157917780050834121517508550422204213248284848534625432512715942909665728216476890420385284716931178964787827335510753026545519076298731230077244887675704239985059400596989244576721549581555703140457894431351076705765851893266748285250995918657632495065461725366344938368186489501219516128151135992099631782800879546323982817158639817300096353862526094923188214212183359374472662316351403929050486672143382163489421025046979704734913392809984107076685476400041672299024447636185402726893214323040568530193379187330204760509330696985767771767873524541252592414859568235433875776433800939472569714571913498898953541088077954923374978210153119461239500419089795312598078044137780505627304548786344181710448599926142357282314675328630688771661482625784079391796669396673572841135856986510879502724191299972976857793652382570857919149150540977424853431518761686451448861553099189862203692192586978140385759234586680613162333572906512806043440030278717339619400050222576156187099118865713810470423455803241570927118852897244733677878213349759377787719491325629991703571352449939734605424015120252488553611343031123734824872452429922982009282081099972706940514346920430932480064112058116161625469786104047 133198341675349064502832722706205111912879583746467635543641811171146403129248524396034214403511710698540917312870084293448378592105233123099649310276576772915672476486527129149886411659338727655182940347141905136305151580731475965866953910563664164293060929104455685834610512173191803908047748229635784614052473419594041964189695435015915963670682893533015756535957005518792723235414242901181752079457829711980811021517206135014866318510631227840037285075623143094645870662676368675292264082182642457109590290413072200421341246856730406391306980678239328307430909737907356913062635435342143818365091155954289810310593237407582731574780136686017053543794792943255019536883366671084527712303398981397831122618653392516696383859113564363830649168072304563957383479260900862420697643630175564023353163983541929929117141118369553978577239661003838643900528991786982495816219301695836273994250825565080699618097163949515906550010237156344205099889987188049951049730575764796960553621661726689276173020297676914482881342313719559759907769607257537405802713784605323429598996340590384419651850900904152032412909892192613849445695235766749364231500115391340079654860762481461126824800556291351723832929947494580894928964226748799792341963328072472628797167178857942682266792702978651887362009833115769557288600577511954921679908350223140938064725185309030625355290487295554236880234745846174221840104083494204533346795428223020481439614515031962088665084621302008647705518460140109117832396193041264995644416650999031183082520554681282473277798575925088004636150315082129914753855019117668486594067485635608164697888750590911392170428340667154961063669591459823036332748785596541651303029178427754527401036665469849179042291501377723556039880204616472893749626390911514753022891618481597740210061749875091872717533447223079530691250949207873586623291583539939242098178501239133845186541080347818304561362486003552808451561204207475376140181925571254939241097463909663575114556217172468496942685907646347256985696900973838066055012233403304673313117960868297283363229272689040786014406606867338616594513306085836083792443807867887339720333511352061793622956939917257385073824872840181135666178893273460929728288106717990442008474959613600213928032465478515330560092390546885851731947560212478096490069758454372841985988455830417530433029103544806378580141725004595408212672232731890320669749170064588440677907667258788592294232448170944864611906908955442756212407049379129465442365447154423694189570020246405973242453862884023906837223403149862737513431470326234484343550191084096816882658241543067917606507170099855994374660292678185056492421638765452533939934155104243898952924379453962041515355144395731316132672459277160277214213989933568609447887144774939300522037869123821162508416490217794044306655463472490166597739178992840328602998824361418640253694175124260273076976741173827654382284144007832120423751551679785991019342350840006515781824870152842754731987136022145619236985237292173412963228908587677186564073148900433512532697410313768067401657766215165003591572530297556583927717012523040443785638270708328034491560262777485004920534398881657981414763586814843643757784976431188031863605079315834950140339936572412207130768565470683658517779394252545671731922000753470703957115901963823727496737220386950576138781463532662441825571405521962500278910127403504841825236627564082280009572535391203600267029205882773900478295108324396071695811874042228377374241976074000333936066395001496998583500311937783774902899993546199471930481513458317731892939228316653316925571210344750129856632603596 215519444075836398341326246755625461622716268784056994055099775719455960204985401523847348819738931835142573128058668121320466044265610689170738140879919348488056174658021072862608952781386944782995590450784658713895741236498737092715632393349959620652873540905412230229692702481108378714844984316839252167246412867419797487196158532562940138489947087584724786621929644850895629918065247426127384966826924891269942492567677899842641889550308301390363569709235190095312568618509289541833377604826368790205278223172410954335633328599247683401020504802661164957095873221446729245197839657498535227082104160639367423491892147298768309778455011844141998165224710242141426754166279963324804266746692421614680680985710057568688762112851415469024084551976589971757223807010852394375535378125121066982554546088452662896908204943234695487104991471098229967026411975549676839785349666979465165146084122685524692478711659721570743616526883152089267760857147904096512206071453756507982840386116189818872546878249292376587724858530637123869571982056104243237460614588768518472866981609401080016280206080540693899312384565258071955698072961575411833821423218237297803973955959456097511942217182223272997285564363880139838246485449735034556174421058067065568258048680624034316468662702216547262026010798985533207680259722728969564176107901769699803472669856000512782114986419488586356939633113326088364114383859861284276334302383957775682606602812214206890628429775121360818279722596213149190346235157345595767128653985977453016150894682726593458986008803685832584857115097537487783633375409900035613405812723241675796747313675539761323453512256301741593605912494135131258011899555397984562542946269280464434031009176115538516340424970365251367645847275322499620458516679753452320183303770889996246688017672385470053778341439948587842345899793024848944864423774416375471753591999342005649745952007658382105695521902494689644627449752414266510784477381643580802650155945848783197070758345378826891891957451965470554299022702990495779640749742914238547393119136128077569900104293498346538782919113311398133520463002915473169774506587976620863496287303403252001321930036774420368966119950806463735421198602058208412051082327479747381015986078042255714584988377735580544853557959023466552256742111859482837336975246550682613585866600531686725604611333067643072544641774610289635566625852176694214334184209325864590381065585038839426415749956721367068825155193803977381644919765322039131170581924044844079474286951425370761069789373637050452356299701881092814758319146030474469402950788073341393604207823098771058064401601450932700140512185944933341743417557423085029005395880470588837321110868955181557643506280387830947915473338823484260031372629750868705801749670869862488736250052483195635170732841621723094793327606854653656018764225972545063516391634345525716939170575165932572101424377359230381275498467048400650617130739009990751528673047825774287549698394694095347146846704257579495013419038231645982677800822086576140105161226855356887510907563433229306902076856010477601669616668078062211232265798867222154234238196850685316806235591408173776582017024665737373211432983488416484893641962942067534587796379288811807933992319143270126279919106448108511949298155938997120593475099943332907649308488941964113255971807067563738472354370045468485265601684239302119678960349979661028924355493277892750433028338632774527385882103127507578356508458083773859415303199672220080945594426013734939360081515253985552194843343061518599775352423469181481212562613431024672407286148747585796989683268460911755326418707643 348717785751185462844158969461830573535595852530524629598741586890602363334233925919881563223250642533683490440928752414768844636370843812270387451156496121403728651144548202012495364440725672438178530797926563850200892817230213058582586303913623784945934470009867916064303214654300182622892732546475036781298886287013839451385853967578856102160629981117740543157886650369688353153479490327309137046284754603250753514084884034857508208060939529230400854784858333189958439281185658217125641687009011247314868513585483154756974575455978089792327485480900493264526782959354086158260475092840679045447195316593657233802485384706351041353235148530159051709019503185396446291049646634409331979050091403012511803604363450085385145971964979832854733720048894535714607286271753256796233021755296631005907710071994592826025346061604249465682231132102068610926940967336659335601568968675301439140334948250605392096808823671086650166537120308433472860747135092146463255802029521304943394007777916508148719898546969291070606200844356683629479751663361780643263328373373841902465977949991464435932056981444845931725294457450685805143768197342161198052923333628637883628816721937558638767017738514624721118494311374720733175449676483834348516384386139538197055215859481976998735455405195199149388020632101302764968860300240924485856016251992840741537395041309543407470276906784140593819867859172262585954487943355488809681097812180796164046217327246168979293514396423369465985241056353258308178631350386860762773070636976484199233415237407875932263807379610920589493265412619617698387230429017704099999880208877283961445202426130672715623940596968896554669582085594954294344648340994526213845975447708218961432045841585387695382716471742974923685727479938972514208143070664967073206195389371593986898079422260561926495874887171667373037150742232722531487715357956314713851770500581139494932493088006200410256884388498242453079010956621741886924659307214835741891253409758446772185314562551295388834643359611817811284719603964333845695761976317543220706237096996374853263333566187387324797325720178736750114976309001309253566950395844508203216620814755313794944886976691677754039944823646644871087377495331669341779370434197737823024461037655855928513020843214095875413650349570352403988689672071960933827045005005055455571855056362104256037640436612449451124783499614885043779298084908584535003933379390453031058973252297628018709982404892311933437062102759420137857326814701168596612947371199267773663856971671776734312243236521074359193523105030955552271750616356708953746500979157438210486866064641838975670908771550788694515172478623118398235839196188537562945330035574832736274035248409143599158861424783562264048145798100644537245586619684437315249636815644801789258287921607016797679149331839517139099983070327143822616503404965385392119390458706944357192864750290192845178401118533058035657782611056232771040882290689776742548015398665780803331523264846938101878833840279725114250404275523819395641029730674253326669234375755790400043604973746997374303734622225642605261189198375618795159982811390262598019876467559013351297795854185658781502551423547395354626196570303260128651426939373255566451401458604646758074332255715682333410687671918792170467077550191542792325397100696803611606424390905787840752709027454514314611135833578130927091173089761264619957870477383165870749592120841975030442600874023978127652911309010281478834803566408169931111115073714448458319836402087735273296147910255482550778343654999302374678252417015380953143044126889342404300225377064239113915254478805661885183051311239 564237229827021861185485216217456035158312121314581623653841362610058323539219327443728912042989574368826063568987420536089310680636454501441125592036415469891784825802569274875104317222112617221174121248711222564096634053728950151298218697263583405598808010915280146293995917135408561337737716863314288948545299154433636938582012500141796240650577068702465329779816295220583983071544737753436522013111679494520696006652561934700150097611247830620764424494093523285271007899694947758959019291835380037520146736757894109092607904055225773193347990283561658221622656180800815403458314750339214272529299477233024657294377532005119351131690160374301049874244213427537873045215926597734136245796783824627192484590073507654073908084816395301878818272025484507471831093282605651171768399880417697988462256160447255722933551004838944952787222603200298577953352942886336175386918635654766604286419070936130084575520483392657393783064003460522740621604282996242975461873483277812926234393894106327021266776796261667658331059374993807499051733719466023880723942962142360375332959559392544452212263061985539831037679022708757760841841158917573031874346551865935687602772681393656150709234920737897718404058675254860571421935126218868904690805444206603765313264540106011315204118107411746411414031431086835972649120022969894050032124153762540545010064897310056189585263326272726950759500972498350950068871803216773086015400196138571846652820139460375869921944171544730284264963652566407498524866507732456529901724622953937215384309920134469391249816183296753174350380510157105482020605838917739713405692932118959758192516101670434039077452853270638148275494579730085552356547896392510776388921716988683395463055017700926211723141442108226291331574755261472134666659750418419393389499160261590233586097094646031980274216327120255215383050535257571476352139132372690185605362499923145144678445095664582515952406290992932097706460709036008397709136688858416544541409355607229969256072907930122280726600811577288365583742306954829625336511719231781768099356233124452423163437859685733863580244833490134883635439311916782423341456983821129066712908118158565796266817013466098123006064774453108606508576097389877753830452761677485204040447115698111643098009220949676420267208308593818956245431783931443771164020251555738069157721656893790981642251769680092523669425274225174679345923937085278749338117588716317621440038837336467445125732361613679002262217296563397519502246580023207727783529295244111853138143923097147495382032610158124811549822806912048367030069762387183423149451767230779604091073887740610033735310373001721394655684664568051739979256753611622591950725916045421573595146117364325156802367705171393211963619136924128797276959249435306021051386486514664277994537974090212432849882173461240233893310677181797478635267630937930455635782093052470074132035325456125417279825495892288416933281078104633421658013029699767494076688446491555090881221659541033449025680544537304609263823313755465378318830552760829466774395602611147287554512537180226681205811478236120206930805866453681006392248610257484752254114664409698668104031445593832558084568448213132727837629553791676613545068902315323101039197837893458566008324574858952459690606778366900682416375706130539912918872200640136519255732879847751954008680834522078053083490203623599412356774774000566739636830827362826899673947614119867780875629212656752655038793412137789057191312024491943790526418273386668539265430828101470212656229425509468102973186998060820974453604840484562434355606740320367076707511525811824910904937747266573640509470018882 912955015578207324029644185679286608693907973845106253252582949500660686873453253363610475266240216902509554009916172950858155317007298313711513043192911591295513476947117476887599681662838289659352652046637786414297526870959163209880805001177207190544742480925148062358299131789708743960630449409789325729844185441447476389967866467720652342811207049820205872937702945590272336225024228080745659059396434097771449520737445969557658305672187359851165279278951856475229447180880605976084660978844391284835015250343377263849582479511203862985675475764462151486149439140154901561718789843179893317976494793826681891096862916711470392484925308904460101583263716612934319336265573232143468224846875227639704288194436957739459054056781375134733551992074379043186438379554358907968001421635714328994369966232441848548958897066443194418469453735302367188880293910222995510988487604330068043426754019186735476672329307063744043949601123768956213482351418088389438717675512799117869628401672022835169986675343230958728937260219350491128531485382827804523987271335516202277798937509384008888144320043430385762762973480159443565985609356259734229927269885494573571231589403331214789476252659252522439522552986629581304597384802702703253207189830346141962368480399587988313939573512606945560802052063188138737617980323210818535888140405755381286547459938619599597055540233056867544579368831670613536023359746572261895696498008319368010699037466706544849215458567968099750250204708919665806703497858119317292674795259930421414617725157542345323513623562907673763843645922776723180407836267935443813405573140996243719637718527801106754701393450239534702945076665325039846701196237387036990234897164696902356895100859286313907105857913851201215017302235200444648874802821083386466595694549633184220484176516906593906770091214291922588420201277490294007839854490329004899457133000504284639610938183670782926209290679491174550785471665657750284633795996073252286432662765365676741441387470481417669561244171189106176868461910919163471032273695549324988805593330120827276426771425873121188377570553668871633750415620918091676908407379665637269929528932913879591211703990157775877046009598099753477595953592721547095609823195875223027064908153353967571611030064163772295680858658164171360234121456003404704991065256560793524729576713255895237679892206292541974794208773840059723125222021993863284342050968106770652499012089634095463835714766505990935699279399322817657359573394724376324396476666443379626802000894768924229694275846679199170743345911943003919301820378743892376895952746388217814577939952382449009406219144552510089170857143191170138215095949800160154896055951620254309869181365773468755961229129954955476011764935024773334522545869119743336301023302159466067252825895697229230529031505300757372993293747508941301251771035903315847755172551759414431324900075746318262458226614425346452591063689160866192698895320389544236624703845157335894212744924387971550904514384817029723514227589279284773959860283435082793443629978366937687598117510927224055509546100461762812191995064829299801552231421647747350273991131968712019401827299779491339587119871760528082463826124094936742196495841688578667490599296498105324082656830574634793101294450285692852883453256322082705244269301336940130862157270753539794761389861976592367694626037201730339447947863761831359594701304745992770423539734961842811318230086680730782691704721148070536026115590900113721637533347101116997585267230189205485952377335764950653751530653060123349131857257499943387498650867209709481007736902876064024820192226072235525692521330121 1477192245405229185215129401896742643852220095159687876906424312110719010412672580807339387309229791271335617578903593486947465997643752815152638635229327061187298302749686751762703998884950906880526773295349008978394160924688113361179023698440790596143550491840428208652295048925117305298368166273103614678389484595881113328549878967862448583461784118522671202717519240810856319296568965834182181072508113592292145527390007904257808403283435190471929703773045379760500455080575553735043680270679771322355161987101271372942190383566429636179023466048023809707772095320955716965177104593519107590505794271059706548391240448716589743616615469278761151457507930040472192381481499829877604470643659052266896772784510465393532962141597770436612370264099863550658269472836964559139769821516132026982832222392889104271892448071282139371256676338502665766833646853109331686375406239984834647713173090122865561247849790456401437732665127229478954103955701084632414179548996076930795862795566129162191253452139492626387268319594344298627583219102293828404711214297658562653131897068776553340356583105415925593800652502868201326827450515177307261801616437360509258834362084724870940185487579990420157926611661884441876019319928921572157897995274552745727681744939693999629143691620018691972216083494274974710267100346180712585920264559517921831557524835929655786640803559329594495338869804168964486092231549789034981711898204457939857351857606166920719137402739512830034515168361486073305228364365851773822576519882884358630002035077676814714763439746204426938194026432933828662428442106853183526811266073115203477830234629471540793778846303510172851220571245055125399057744133779547766623818881685585752358155876987240118828999355959427506348876990461916783541462571501805859985193709894774454070273611552625887044307541412177803803251812747865484191993622701695085062495500427429784289383279335365442161696970484106648491932374693758682342932684931668830974072120972906710697460378411539950287844982766394542452204217873993096368785414781106756904949563245279699590209285558855051957815387159006517385854932834874100249864363486766336642437051072445387478521003623874000052074372552862084104529690111424849440275957552708231105355269052079214709039285113448715948066966757990316479553239934848476155085508116531593887298370149686219322143975972634498463634048065234402471145959079142033680168556823088273939050926970562908961447128119669937961496695886215176861819974747584052180005961687491479940144817866071725076308456837323982293168718855052286331890141131075800045404513618997418669013840123059043141529517554231483826541807759221878194352703411782746846781867665675883464327483137793912763596835126348687975384071948902131799505118555049357352409788674130345247363869787441663378913678761997606886604424690738779887038666841246303390954644811884505456935401202443679738052110317634869524344767265499614356908350089311730701392291648890985093966583929004999930194929354334332778050903034750152278690836195912260218025580978084975152630048107450736715357578697883019122800931282980807944480031905232102528105796378410687505858745373323897671688319973660810301455677886613355741564744003901768529797134391563890090981405433587252791901228652593535299828962452622618163141501977076650117890150601291748770070696498670420778116240825329751804722637762398099231532132108819670097487349081710592193859299337483437730498133285859593217427615392057512163951620487785536850698058290675698608606761274418756724717651120944323585462097984505821854257607530076557715248428687888935725129973338809166201991349003 2390147260983436509244773587576029252546128069004794130159007261611379697286125834170949862575470008173845171588819766437805621314651051128864151678422238652482811779696804228650303680547789196539879425341986795392691687795647276571059828699617997786688292972765576271010594180714826049258998615682892940408233670037328589718517745435583100926272991168342877075655222186401128655521593193914927840131904547690063595048127453873815466708955622550323094983051997236235729902261456159711128341249524162607190177237444648636791772863077633499164698941812485961193921534461110618526895894436699000908482289064886388439488103365428060136101540778183221253040771646653406511717747073062021072695490534279906601060978947423132992016198379145571345922256174242593844707852391323467107771243151846355977202188625330952820851345137725333789726130073805032955713940763332327197363893844314902691139927109309601037920179097520145481682266250998435167586307119173021852897224508876048665491197238151997361240127482723585116205579813694789756114704485121632928698485633174764930930834578160562228500903148846311356563625983027644892813059871437041491728886322855082830065951488056085729661740239242942597449164648514023180616704731624275411105185104898887690050225339281987943083265132625637533018135557463113447885080669391531121808404965273303118104984774549255383696343792386462039918238635839578022115591296361296877408396212777307868050895072873465568352861307480929784765373070405739111931862223971091115251315142814780044619760235219160038277063309112100702037672355710551842836278374788627340216839214111447197467953157272647548480239753749707554165647910380165245758940371166584756858716046382488109253256736273554025934857269810628721366179225662361432416265392585192326580888259527958674554450128459219793814398755704100392223453090238159492031848113030699984519628500931714423900321463006148368370987649975281199277404040351508966976728681004921117406734886338583452138847848892957619849089153955500719320666128793156567401059110330431745710542893366106976016980711431976240335385940827878151136270553752965777158271743152403606571965983986324978690224993781649877098083970652615561700483282832971945050099153427931258170263422406046786320069349277221011628925624922161676713674695938253181146150764677325118616875083405581457002036182265176473257842821905294125596367981073005318022219524929858926438063016604658372797161894625660873660776095209032834221393369471960376576482628130871106742145712634995954770584303516523153036514630798056205633710519874968176941357260007215233246953792505508052547748662106741572997398950950392016409448653211942901742837819285930193333508848911262668724825965081304163987149006973675466322050987674792693653433090833596412500189765484670893907945184062754979879898172199680081138809702744562151146127196571298936781835476948761942196278724742981322115408456426365807055803670478855967326096136806226879306711508316976550834709314171364056292278492314034926238551119630995053661655559345022662750747559034674792224903679159645831314795996112280609496711453552979452802096928347122706907686045152815237258808191734188892765281801981550097938060585692480436020396430889669214173638236008222045893195678938286388183282218774705323407410803314016780980047421354831543531460558475262788472742278027060091252670501524229458826233436854812440521027084043553403512089386018214220422202854433930129243543206292171233801484967588902534435965288479881184560984097039369410476248304181067672717319355484449209352908474739786038722985331563952960545322199411044691894512679124 3867339506388665694459902989472771896398348164164482007065431573722098707698798414978289249884699799445180789167723359924753087312294803944016790313651565713670110082446490980413007679432740103420406198637335804371085848720335389932238852398058788382831843464606004479662889229639943354557366781955996555086623154633209703047067624403445549509734775286865548278372741427211984974818162159749110021204412661282355740575517461778073275112239057740795024686825042615996230357342031713446172021520203933929545339224545920009733963246644063135343722407860509770901693629782066335492072999030218108498988083335946094987879343814144649879718156247461982404498279576693878704099228572891898677166134193332173497833763457888526524978339976916007958292520274106144502977325228288026247541064667978382960034411018220057092743793209007473160982806412307698722547587616441658883739300084299737338853100199432466599168028887976546919414931378227914121690262820257654267076773504952979461353992804281159552493579622216211503473899408039088383697923587415461333409699930833327584062731646937115568857486254262236950364278485895846219640510386614348753530502760215592088900313572780956669847227819233362755375776310398465056636024660545847569003180379451633417731970278975987572226956752644329505234219051738088158152181015572243707728669524791224949662509610478911170337147351716056535257108440008542508207822846150331859120294417235247725402752679040386287490264046993759819280541431891812417160226589822864937827835025699138674621795312895974753040503055316527640231698788644380505264720481641810867028105287226650675298187786744188342259086057259880405386219155435290644816684504946132523482534928068073861611412613260794144763856625770056227715056216124278215957727964086998186566081969422733128624723740011845680858706297116278196026704902986024976223841735732395069582124001359144208189704742341513810532684620459387847769336415045267649319661365936589948380807007311490162836308227304497570136934136721895261772870346667149663769844525111538502615492456611386675607189996990831292293201327986884668522125486587839877408136106639169943214403035058770366168745997405523877150158343205477645805012972944396794490375110980639489275618691458126001029108634390669727576992591680151993193227935873101657301236272793856712504173453555267676324180158237810971721476869970528528067513940152147351702388081752947200377113943575221281758609022745330811622272791095248011083213344219544428756488589818362586682290530501067679846892760353847135329683349653108491965600661006043976986761773626212651915967632628567095689278179660973056823940758709613894603801356623725648589619686951606076797836332049056581488422800207652851962533078922577598121556106229842051005842879507726757747553635272112557286858862824752586766502596890418861025848369585808454537081841383183442238770878151205621934330835060616191639753223691865421412712020568167698027488428455117864400678092245981550764904243525698389070329395348785078517241955826907313879681140323107637903377607142125528940261257857528850437596927395261417441191485458211555330202724725533394413544790526139134930496511707849703066737479868163453679625329696382204550193565281233104264619641441809298685096907590879923483111181227327941570552305291093431097937571956123292301531254973933209250858518852389843057393139286627558057765568963632110618514433125263995705948685355697658152700987719789722460970821684228745965436588076688071286663346770556883169590858313788167200965955302011996302781453468955031207166082269862596438233760251841896270452172749853858096504028127 6257486767372102203704676577048801148944476233169276137224438835333478404984924249149239112460169807619025960756543126362558708626945855072880941992073804366152921862143295209063311359980529299960285623979322599763777536515982666503298681097676786169520136437371580750673483410354769403816365397638889495494856824670538292765585369839028650436007766455208425354027963613613113630339755353664037861336317208972419335623644915651888741821194680291118119669877039852231960259603487873157300362769728096536735516461990568646525736109721696634508421349672995732095615164243176954018968893466917109407470372400832483427367447179572710015819697025645203657539051223347285215816975645953919749861624727612080098894742405311659516994538356061579304214776448348738347685177619611493355312307819824738937236599643551009913595138346732806950708936486112731678261528379773986081103193928614640029993027308742067637088207985496692401097197629226349289276569939430676119973998013829028126845190042433156913733707104939796619679479221733878139812628072537094262108185564008092514993566225097677797358389403108548306927904468923491112453570258051390245259389083070674918966265060837042399508968058476305352824940958912488237252729392170122980108365484350521107782195618257975515310221885269967038252354609201201606037261684963774829537074490064528067767494385028166554033491144102518575175347075848120530323414142511628736528690630012555593453647751913851855843125354474689604045914502297551529092088813793956053079150168513918719241555548115134791317566364428628342269371144354932348100998856430438207244944501338097872766140944016835890739325811009587959551867065815455890575624876112717280341250974450561970864669349534348170698713895580684949081235441786639648373993356672190513146970228950691803179173868471065474673105052820378588250157993224184468255689848763095054101752502290858632090026205347662178903672270434669047046740455396776616296390046941511065787541893650073614975156076197455189986023290677395981093536475460306231170903635441970248326035349977493651624170708422807532628587268814762819658396040340805654566407849791573549786369019045095344858970991187173754248242313858093207505496255777368739540474264408570747445882113864172787349177983667890739205918216602313669906902631811354838447387037471181831121048536960849133326216340502987444979319691875822653663881921225152669724607606682806126815176960179879654555770917370991685283048886304280845304606713691504805332971217949233693424436243136063634617477063870370288366197980451164697599311180881012153928119033633427885162921425134075148237026841767714629821339709660005911013250009835668550332457506237536270131345180960319250213248765288957015949682085896253064443607093904634744659275970341323170247743400756783451194804046887507566646400769090098942164658072330370605683209037954482379020606355099967564130609559803597513755161680118231228468515691047023665353584565261344743707389600562958101599613557697062445362607887662820004755793075457902367541336699668130300654125166176800321165164937017174681752392923507542026937902939011191008132299653072656101321230835678954372189304703442038595832019281849713551617685915388862640570589996170902318438257877450031344578292586529166311666393400002033264977963108605110212077984993310954835832991813449195997723600796879449934310063640810857016883999005818444551139541517168817399218038071373911878574903842153719851704514027976399979766921555665590605722628635250438067730574955353157577677214259483079669020100808953404240560074557009648635161219091815794856815774372160898549991016707251 10124826273760767898164579566521573045342824397333758144289870409055577112683722664127528362344869607064206749924266486287311795939240659016897732305725370079823031944589786189476319039413269403380691822616658404134863385236318056435537533495735574552351979901977585230336372639994712758373732179594886050581479979303747995812652994242474199945742541742073973632400705040825098605157917513413147882540729870254775076199162377429962016933433738031913144356702082468228190616945519586603472384289932030466280855686536488656259699356365759769852143757533505502997308794025243289511041892497135217906458455736778578415246790993717359895537853273107186062037330800041163919916204218845818427027758920944253596728505863200186041972878332977587262507296722454882850662502847899519602853372487803121897271010661771067006338931555740280111691742898420430400809115996215644964842494012914377368846127508174534236256236873473239320512129007454263410966832759688330387050771518782007588199182846714316466227286727156008123153378629772966523510551659952555595517885494841420099056297872034793366215875657370785257292182954819337332094080644665738998789891843286267007866578633617999069356195877709668108200717269310953293888754052715970549111545863802154525514165897233963087537178637914296543486573660939289764189442700536018537265744014855753017430003995507077724370638495818575110432455515856663038531236988661960595648985047247803318856400430954238143333389401468449423326455934189363946252315403616820990906985194213057393863350861011109544358069419745155982501069932999312853365719338072249074273049788564748548064328730761024232998411868269468364938086221250746535392309381058849803823785902518635832476081962795142315462570521350741176796291657910917864331721320759188699713052198373424931803897608482911155531811349936656784276862896210209444479531584495490123683876503650002840279730947689175989436356890894056894816076870442044265616051412878101014168348900961563777811464303501952760122957427399291242866406822127455894940748160553508750941527806588880327231360705413638824921788596801647488180521526928645531974543956430743493000772054103865711027716988592697631398400657063570853310509228721765534030849375389210236721500805322298788378286618058560466782910808282465663100130567684456495748623310265038543625221990516116809650396498740798416700796561846351181731395861377300021426995688435753327192290903755100936314379940116322496905321677399528856387820057911049234089459807767596280106726773637131314464369824224217423695881330104273189564911841887056130914880807259640537078889057762642243926305021428687686645280468369619805617051366459394198922077193189142346929181513009375831701671565496609867912215164818830662565163200134476795665118849849049927995297036028896008481662909712260153412903365980517803190506441916179060220290879337665821259377233251173186064940394864213705394914903810096649881227711615191363381072993716462608108067692808939652364517801222760834432937283011605083273035031284809681421017839991237938557502773318925850105426194874703532189989850902803444379094424469402563462502377798189495734775626205093507119801215149888298898756761717877005297311245085244845120783561452135422702877518891840643263389494120046235149504581229361206548515413896203643175922565267078128134523068423129206974459315731839777367456780097484574941764574782076661758055950294081394923986756729609536727604829873509574165484849660628725732358143742278677009291982020994950900165813666945744878180214785091665322882262422359271767240639279511231599452852067636753086226544910752408087520735378 16382313041132870101869256143570374194287300630503034281514309244389055517668646913276767474805039414683232710680809612649870504566186514089778674297799174445975953806733081398539630399393798703340977446595981003898640921752300722938836214593412360721872116339349165981009856050349482162190097577233775546076336803974286288578238364081502850381750308197282398986428668654438212235497672867077185743877047079227194411822807293081850758754628418323031264026579122320460150876549007459760772747059660127003016372148527057302785435466087456404360565107206501235092923958268420243530010785964052327313928828137611061842614238173290069911357550298752389719576382023388449135733179864799738176889383648556333695623248268511845558967416689039166566722073170803621198347680467511012958165680307627860834507610305322076919934069902473087062400679384533162079070644375989631045945687941529017398839154816916601873344444858969931721609326636680612700243402699119006507024769532611035715044372889147473379960993832095804742832857851506844663323179732489649857626071058849512614049864097132471163574265060479333564220087423742828444547650902717129244049280926356941926832843694455041468865163936185973461025658228223441531141483444886093529219911348152675633296361515491938602847400523184263581738928270140491370226704385499793366802818504920281085197498380535244278404129639921093685607802591704783568854651131173589332177675677260358912310048182868089999176514755943139027372370436486915475344404217410777043986135362726976113104906409126244335675635784173784324770441077354245201466718194502687281517994289902846420830469674777860123737737679279056324489953287066202425967934257171567084165036876969197803340751312329490486161284416931426125877527099697557512705714677431379212860022427324116734983071476953976630204916402757035372527020889434393912735221433258585177785629005940861472369757153036838168340029161328725941862817325838820881912441459819612079955890794611637392786620379699407950108980718076687223959943297587762126111651795995478999267563156566373978855531413836446357550375865616410307838917567269451186540951806222317042787141073148961055886687979779871385646642970921664060816005484499134273571323639797780984167382919186471575727464601726451205988829024884779333007033199495811334196010347736220374746270527476965942976612839243785861680116253722173835395277782602452691151603295118559454007467863934980590870150857487314182188370563703809701692426771602554039422431025716829973531163016773194949081846888094587712062079310555437887164223022768068284842999840893068422241810482896717392163331863196402316466620178029625716630301376295062749254534699426678617060526693969695081914920330785566883861897250715083727008770294039111540324394820190373098243040436785679459676466956599767720059304135070616745355164514246549665903499917292148200279983588351140750195549954667811219150076583928327878349743402662215028734657558977807351815457293371897753964131358919823279795545170674425088028828106742712048962354539659368239211627939495726171270591131891878213942382774410345471316997363480593571594802030870845597056006461884047879309105918591926894730776043567590556914997160474107485691373557623037741141135396341871987841682080649212546815897981231394471526478522501313855253907558578032963967514881872325204698060112611289711677520420908341591825763580600521212897597467462898794142024828103521415302508672027229425869998877637028705499279699407869282731920617271433018630740769020103322555394474268171334342983071375763512327315196289159866760671943883431609902000917071650958078537442629 26507139314893638000033835710091947239630125027836792425804179653444632630352369577404295837149909021747439460605076098937182300505427173106676406603524544525798985751322867588015949438807068106721669269212639408033504306988618779374373748089147935274224096241326751211346228690344194920563829756828661596657816783278034284390891358323977050327492849939356372618829373695263310840655590380490333626417776949481969488021969670511812775688062156354944408383281204788688341493494527046364245131349592157469297227835063545959045134822453216174212708864740006738090232752293663533041052678461187545220387283874389640257861029167007429806895403571859575781613712823429613055649384083645556603917142569500587292351754131712031600940295022016753829229369893258504049010183315410532561019052795430982731778620967093143926273001458213367174092422282953592479879760372205276010788181954443394767685282325091136109600681732443171042121455644134876111210235458807336894075541051393043303243555735861789846188280559251812865986236481279811186833731392442205453143956553690932713106161969167264529790140717850118821512270378562165776641731547382868242839172769643208934699422328073040538221359813895641569226375497534394825030237497602064078331457211954830158810527412725901690384579161098560125225501931079781134416147086035811904068562519776034102627502376042322002774768135739668796040258107561446607385888119835549927826660724508162231166448613822328142509904157411588450698826370676279421596719621027598034893120556940033506968257270137353880033705203918940307271511010353558054832437532574936355791044078467594968894798405538884356736149547548524689428039508316948961360243638230416887988822779487833635816833275124632801623854938282167302673818757608475377037435998190567912573074625697541666786969085436887785736727752693692156803883785644603357214753017754075301469505509590864312649488100726014157776386052222782836678894196280865147528492872697713094124239695573201170598084683201360710231938145475978466826350119715218021052399956548987750209090963155254306086892119250085182472164462418057796019439094198096718515495762653060535787913127252826766914404968372569017045043627985234914126514713220899807602173015186991220888883724508770364105751219785011672771739833167244996107163767180267829944633658001258918371492517993082752627009337984584278380912815568525017126673643979752712578598983554312781199758767690081527184530797603636679093692241103338558080246829513603273511890833484426253637889790410326263546216712318805135757960640659711076729134864655124415757880648152708959320699540659359636089636884625090003111900646399245522247352742754456948176611892615820963989708206979070913616591896282176751774112415533914389573933494173588335989513670039423026238337472814575468158129866312027873472207501051134548545670956162728726123790796629814021539360821602313936260490349532024924544991487738424528230971114277406392115730552694269959923524986180837406328649160142584114228482453686030171301863138027521730383372379650606177769130712814652021376017326766581746132372625313148915696091787949996135057304408669035092790782088089141386428907133741815193629532805285467562212308405559352330812157119075173163844012915233712631105071574769258781965402562460755678074993936397517498429830123845111092102037950295454411672519428343129489044977201005826166767528155382597874655653417756980189066011584833130952030113501900739000035483727297657431231637843150147959741212599292427969530906582687049067433574689053262999665865333798122784094555835568671098360124795951068362988227461982403366166058178007 42889452356026508101903091853662321433917425658339826707318488897833688148021016490681063311954948436430672171285885711587052805071613687196455080901323718971774939558055948986555579838200866810062646715808620411932145228740919502313209962682560295996096212580675917192356084740693677082753927334062437142734153587252320572969129722405479900709243158136638771605258042349701523076153263247567519370294824028709163899844776963593663534442690574677975672409860327109148492370043534506125017878409252284472313599983590603261830570288540672578573273971946507973183156710562083776571063464425239872534316112012000702100475267340297499718252953870611965501190094846818062191382563948445294780806526218056920987975002400223877159907711711055920395951443064062125247357863782921545519184733103058843566286231272415220846207071360686454236493101667486754558950404748194907056733869895972412166524437142007737982945126591413102763730782280815488811453638157926343401100310584004079018287928625009263226149274391347617608819094332786655850156911124931855310770027612540445327156026066299735693364405778329452385732357802304994221189382450099997486888453696000150861532266022528082007086523750081615030252033725757836356171720942488157607551368560107505792106888928217840293231979684282823706964430201220272504642851471535605270871381024696315187825000756577566281178897775660762481648060699266230176240539251009139260004336401768521143476496796690418141686418913354727478071196807163194896941123838438375078879255919667009620073163679263598215709340988092724632041952087707803256299155727077623637309038368370441389725268080316744480473887226827581013917992795383151387328177895401983972153859656457031439157584587454123287785139355213593428551345857306032889743150675621947125433097053021658401770040562390864415941644155450727529330904675078997269949974451012660479255134515531725785019245253762852326116415213551508778541711522119686029440934332517325174080130490184838563384705062900768660340918863552665690786293417302980147164051752544466749476654119721628284942423533086531540022540328034468103858356661467547905056447568875377578575054200401787822801092948152440402691686598906898974942520197720034081173496654984772205056266643695241939833215821511462878760568858052024329114196966676079164140644005737479293117763045470048695603622177228370140061029069290698852521951426582205403730202278672872235207226631625062118054681655090950861282062804807148259772673601116157312934321859201256227169052807183521212628063600413392847820039951215148963893357887423192700600880489045777381562510023556077028252968747821492319578520824428871238877654119049519697431146592042499581050234900948765995531512227067743635636009666248998116582703788212699876313908490229796124481377909600254927834596822911795593531511636121751293900835470409278392027290713921962221819344409953454686456040304199836143695068071666752406580714516939621420850388111672077311738982279552735160292780519062407394024027624360455259330691244770233779345726919309974416980758652310378192646608458658459960074755399723494387013089151430589706652106439539880689846788549973189265738013052333742088360308848853058119127305566033459816503530676698210904985148311575584618946753655418471328781300543692150149601472458898831353683737682423144056069552832167779616370579540954419200722497621914167758593291735983119087553250885219878983208036412936652367332622173927968425905482604934686136730917542558017242473133216563860988161647351707152389988969163321434334008848405173886296421871031857830965120796739834499972890228379054054324244595620636 69396591670920146101936927563754268673547550686176619133122668551278320778373386068085359149104857458178111631890961810524235105577040860303131487504848263497573925309378816574571529277007934916784315985021259819965649535729538281687583710771708231270320308822002668403702313431037872003317757090891098739391970370530354857360021080729456951036736008075995144224087416044964833916808853628057852996712600978191133387866746634105476310130752731032920080793141531897836833863538061552489263009758844441941610827818654149220875705110993888752785982836686514711273389462855747309612116142886427417754703395886390342358336296507304929525148357442471541282803807670247675247031948032090851384723668787557508280326756531935908760848006733072674225180812957320629296368047098332078080203785898489826298064852239508364772480072818899821410585523950440347038830165120400183067522051850415806934209719467098874092545808323856273805852237924950364922663873616733680295175851635397122321531484360871053072337554950599430474805330814066467036990642517374060763913984166231378040262188035467000223154546496179571207244628180867159997831113997482865729727626465643359796231688350601122545307883563977256599478409223292231181201958440090221685882825772062335950917416340943741983616558845381383832189932132300053639058998557571417174939943544472349290452503132619888283953665911400431277688318806827676783626427370844689187830997126276683374642945410512746284196323070766315928770023177839474318537843459465973113772376476607043127041420949400952095743046192011664939313463098061361311131593259652559993100082446838036358620066485855628837210036774376105703346032303700100348688421533632400860142682435944865074974417862578756089408994293495760731225164614914508266780586673812515038006171678719200068557009647827752201678371908144419686134788460723600627164727468766735780724640025122590097668733354488866483892801265774291615220605718400551176969427205215038268204370185758039733982789746102129370572857009028644157612643537018198168216451709093454499685745082876882591029315652336616722494704790452525899877795755665644623571943331528438114362967327654614589715497916525009419736730226892133889069034910940933888775669670171763425945150368204012303938967041296474551532308691219269325221360733856346994085277663738738211489255563463131448230631515212954418441941884859223869648625070561958116308801262227185016406985399315143645239212452694587540375755045910486817852920430629760586446212692685682480806942597593847476174280312732197983578000591874860040622492752078317116358761137198486340883209564215436664342605632446582322690421470828116761125006861803976645607758484658320545039943107927836909148104123349920387410122081782912506156637282386288212303422160269219150719715382414830395992726689223823467003719137172885842446506426572007118151081510551776243358705231555768622716530653731861068240059559405176934811685631217027812966118664366347271662507265733572566621429679204991508252510078046485430632554382797755509729099298960580594749889365125030214022625785425041706207128025036643302709180939380585841709410848208915782637570638062330652166920186075557281989841654138525681339613971592812147315687795773384068829161226809297250051825230187730110746703106152905827676466395296348852113567806268255148171590782463234028043098969297548689767474822919993925360819891365716962208904302976859172274047997769783319362735675828707425940966332232343567962555385708165202214345815856288957692553934394201457422543852374697333674713738972009080516426867426502063480921535785568335878455841036457690410653798643 112286044026946654203840019417416590107464976344516445840441157449112008926394402558766422461059805894608783803176847522111287910648654547499586568406171982469348864867434765561127109115208801726846962700829880231897794764470457784000793673454268527266416521402678585596058398171731549086071684424953535882126123957782675430329150803134936851745979166212633915829345458394666356992962116875625372367007425006900297287711523597699139844573443305710895753203001859006985326233581596058614280888168096726413924427802244752482706275399534561331359256808633022684456546173417831086183179607311667290289019507898391044458811563847602429243401311313083506783993902517065737438414511980536146165530195005614429268301758932159785920755718444128594621132256021382754543725910881253623599388519001548669864351083511923585618687144179586275647078625617927101597780569868595090124255921746388219100734156609106612075490934915269376569583020205765853734117511774660023696276162219401201339819412985880316298486829341947048083624425146853122887147553642305916074684011778771823367418214101766735916518952274509023592976985983172154219020496447582863216616080161643510657763954373129204552394407314058871629730442949050067537373679382578379293434194332169841743024305269161582276848538529664207539154362333520326143701850029107022445811324569168664478277503889197454565132563687061193759336379506093906959866966621853828447835333528045204518119442207203164425882741984121043406841219985002669215478967297904348192651632396274052747114584628664550311452387180104389571355415185769164567430748986730183630409120815208477748345334566172373317683924001203686717264025099083251736016599429034384832296542092401896514132002450032879377194133648709354159776510472220541156523737349434462163439268731740858470327050210218616617620016063595147215465693135802597897114701919779396259979774540654315882687978608251718810009216479325800393762317240520237206410361537732363442284500675942878297367494809002898030913775872581309848398936954321178315380503461637921249162399202598510875971739185423148262517245118486994003736152417133192528628390900403815692938021528056402412516590864677449822428416825799032864011555108660967969949166325156535631001417011899254243772182862807937430292877549271293654335557700532426158225921669476217504607018608933180143834253692441324558502970954149922722170576497144163520039003540900057251614212030940205763293894107785538401657817850717635077625594031745917899380534551886938707975995404777368688802343913145590831398040543090009004515850639501509816959641626244263722445719587771513692595574380268074642268942295256988000002660980853496343038905076700820126090178008876602904679616350417664023046131748031910622739341070598988088617330650499015275201093292015085323827323512135619060535230773294637136347341896981285510178372224473738465178049641509223309172570957931697211935127631071929341392400148156649233816506776038424583401489545286307726914210198267398902276537702406940689963245627567989289074826218270555011730648017435408406669234244083501666281883424760137689722270090811175548361517287748796472484359188035519917904933238409299370350150502991583800466919537626271963819218472471594973814309538384881868998578885606201439528003649845055977277938854195180205797305488691399204241143614631013644413678510251967890489972444834161683954111627348836049762155188196738155482084410706435686695357849756675851846448937167029704693472928266182444687479032420149945854201286101353847411513015696131667683562144145895376938297899284333028601718275620068308768684220090512014655249419279 181682635697866800305776946981170858781012527030693064973563826000390329704767788626851781610164663352786895435067809332635523016225695407802718055911020245966922790176813582135698638392216736643631278685851140051863444300199996065688377384225976758536736830224681253999760711602769421089389441515844634621518094328313030287689171883864393802782715174288629060053432874439631190909770970503683225363720025985091430675578270231804616154704196036743815833996143390904822160097119657611103543897926941168355535255620898901703581980510528450084145239645319537395729935636273578395795295750198094708043722903784781386817147860354907358768549668755555048066797710187313412685446460012626997550253863793171937548628515464095694681603725177201268846313068978703383840093957979585701679592304900038496162415935751431950391167216998486097057664149568367448636610734988995273191777973596804026034943876076205486168036743239125650375435258130716218656781385391393703991452013854798323661350897346751369370824384292546478558429755960919589924138196159679976838597995945003201407680402137233736139673498770688594800221614164039314216851610445065728946343706627286870453995642723730327097702290878036128229208852172342298718575637822668600979317020104232177693941721610105324260465097375045591371344294465820379782760848586678439620751268113641013768730007021817342849086229598461625037024698312921583743493393992698517635666330654321887892762387617715910710079065054887359335611243162842143534016810757370321306424008872881095874156005578065502407195433372116054510668878283830525878562342246382743623509203262046514106965401052028002154893960775579792420610057402783352084705020962666785692439224528346761589106420312611635466603127942205114891001675087135049423304324023246977201445440410460058538884059858046368819298387971739566901600481596526198524279429388546132040704414565776905980356711962740585293902017745100092008982922958920788383379788742947401710488870861700918031350284555105027401486632881609954006011580491339376483596955170731375748848144285475393467001054837759764985011949908939519903613948172798837152200334231932253807300988855711017002232088781202459242165147052691166753080590019601901858724835995328299056946567380103266547711149904104411981825186240490562979556918434388773152311199333214955716096274172396311592064885207654278976944912839009146591819201567706121636347804803127242268021197430255349408533106560480125942033572896628121895478514462375678485826747244572621188782938002371216164976624225877788814976041134964869045138343391579826933318402763442750063328929151986950356938180012714656964959363766085104761127667842657472988646663561359140671130121116804439813827720473767584410456253829814823128895978352985276300920752810768234425920808674429915719820050201359442527538949910467522978793848323553292628329453735025514708536754873064991931889101611663558280175187190477106276204085779373677046782625440404771855063996811019880293535639877472390410529047780453426120595800010365744798803925517231135606480537382560438620691860029508543372489011449796780992431451030191761390070928135957712255121929826097850570071853424484856652339992157130109481806533509219084111134906268244979042643470765194179119050404115793931550274706755997961804954405249491529057910873294959654352412734397094247672456777479549516580257447267754155609314931518714553011971059491173597327756132408476219006058093525585383277787415269399373272656028313974347646901824848276438903546755220495555304834056868070829001358275883117904457454724766710835092082639811405636644647140061126969705065903217922 293968679724813454509616966398587448888477503375209510814004983449502338631162191185618204071224469247395679238244656854746810926874349955302304624317192228436271655044248347696825747507425538370478241386681020283761239064670453849689171057680245285803153351627359839595819109774500970175461125940798170503644218286095705718018322686999330654528694340501262975882778332834297547902733087379308597730727450991991727963289793829503755999277639342454711587199145249911807486330701253669717824786095037894769459683423143654186288255910063011415504496453952560080186481809691409481978475357509761998332742411683172431275959424202509788011950980068638554850791612704379150123860971993163143715784058798786366816930274396255480602359443621329863467445325000086138383819868860839325278980823901587166026767019263355536009854361178072372704742775186294550234391304857590363316033895343192245135678032685312098243527678154395026945018278336482072390898897166053727687728176074199525001170310332631685669311213634493526642054181107772712811285749801985892913282007723775024775098616239000472056192451045197618393198600147211468435872106892648592162959786788930381111759597096859531650096698192094999858939295121392366255949317205246980272751214436402019436966026879266906537313635904709798910498656799340705926462698615785462066562592682809678247007510911014797414218793285522818796361077819015490703360360614552346083501664182367092410881829824919075135961807039008402742452463147844812749495778055274669499075641269155148621270590206730052718647820552220444082024293469599690445993091233112927253918324077254991855310735618200375472577884776783479137874082501866603820721620391701170524735766620748658103238422762644514843797261590914469050778185559355590579828061372681439364884709142200917009211110068264985436918404035334714117066174732328796421394131308325528300684189106431221863044690570992304103911234224425892402745240199441025589790150280679765152773371537643796328717779364107925432400408754191263854410517445660554798977458632369296998010543488073904342972794023182913247529195027426513907350100589932029680828725132336069500239010383767419414748679645879909064593563878490199617092145128262869828674002320484834687947984392002520791483332766912349412118063789761856633892476134921199310537121002691173220703292781329491735899138900095603535447883793159069313989778064850285156386808344027299519635409461195555171827000668265664343691390747345756973104108494121596385207281796459559896758933407148584853778968139023379646374081678054878049654194031081336750278044389687013785774648739758464049533754392982731607228306061342092761130328823510969331685568638059960797220299125681042718507336824185248433502385577846733751635319423584264389538083461267249701121901966445001043647373713495061588074180683762160115141190220534578138507825959499253173714804514574215241061672569595255492110314821549035617596485927530326280599132216443196438465486356306188020449850075739789312805585482860366810559045637933734087878751735501690618211185399995847027361094273592045038770894874556918682153721121002936938432445423706508727606289014133370487976786662894156022690142660121693282273453046845356074954124740716574016457780303579060988048983001400132989802710405843017782232344103686709263708178783651053556653878011725261316870455989801484470747419712588317293269043146063389061733214679370335483238216819182654692753451375342059129633864206566402977349501242240530091589303880696588849400956506596909152245569883766960669041838027263799834393022665995168120684358087025704953415824281217481719721152637201 475651315422680254815393913379758307669490030405902575787568809449892668335929979812469985681389132600182574673312466187382333943100045363105022680228212474403194445221061929832524385899642275014109520072532160335624683364870449915377548441906222044339890181852041093595579821377270391264850567456642805125162312614408736005707494570863724457311409514789892035936211207273928738812504057882991823094447476977083158638868064061308372153981835379198527421195288640816629646427820911280821368684021979063124994939044042555889870236420591461499649736099272097475916417445964987877773771107707856706376465315467953818093107284557417146780500648824193602917589322891692562809307432005790141266037922591958304365558789860351175283963168798531132313758393978789522223913826840425026958573128801625662189182955014787486401021578176558469762406924754661998871002039846585636507811868939996271170621908761517584411564421393520677320453536467198291047680282557447431679180189928997848662521207679383055040135597927040005200483937068692302735423945961665869751880003668778226182779018376234208195865949815886213193420214311250782652723717337714321109303493416217251565755239820589858747798989070131128088148147293734664974524955027915581252068234540634197130907748489372230797778733279755390281842951265161085709223547202463901687313860796450692015737517932832140263305022883984443833385776131937074446853754607250863719167994836688980303644217442634985846040872093895762078063706310686956283512588812644990805499650142036244495426595784795555125843253924336498592693171753430216324555433479495670877427527339301505962276136670228377627471845552363271558484139904649955905426641354367956217174991149095419692344843075256150310400389533119583941779860646490640003132385395928416566330149552660975548095169926311354256216792007074281018666656328854994945673560696871660341388603672208127843401402533732889397813251969525984411728163158361813973169939023627166863262242399344714360068063919212952833887041635801217860422097936999931282574413803100672746858687773549297809973848860942678232541144936366033810964048762730866833029059364268323307539999239478436416980768427082368306758710931181366370172735147864771687398838315813133744894551772105787339194482671016761393943250030252419613449394569309972462848320335906128936799566953725803327964024107749882512392796632168215905808979632556406792734613147154541787656606891450904580360107228745790285724963643973878868582622956497274871034029041032181085541871409519801018755592364901168461350122813019747094792537422661163683596447153129763849103577891745414406471934405697388572187669827427197522257996666168442320332232199419101468350420242485482532335057297952832843958639407661556880531297776569540690458836272035484127042710640874916763467423914854504115613130594229683093935038544087870766837279694524767882251559387639207172950774181258813772285502012026141893800571706904003327381757656847968293529483167326068313985489953212179723334633263313792931154845648299478886682677252732826224691722782556285648052954303100588411259906324353699674585172151194698328503373559664220982728218840231221058048640087379012675030134817251802764079986556064440186089031008961553059101251068773240107099387117194064540077417161840979587186749353178238321619052078610707909066612408819508989327233469351001051004866980342472902583974664777942073704274170543932810994349227658873698811544900927442407421279475965776250005529556214877738491128728973027752947711727092464457079626751837789670400113910381704291847747432706003212766997898431341598062964342344451424787055855123 769619995147493709325010879778345756557967533781112086601573792899395006967092170998088189752613601847578253911557123042129144869974395318407327304545404702839466100265310277529350133407067813384587761459213180619385922429540903765066719499586467330143043533479400933191398931151771361440311693397440975628806530900504441723725817257863055111840103855291155011818989540108226286715237145262300420825174927969074886602157857890812128153259474721653239008394433890728437132758522164950539193470117016957894454622467186210076158492330654472915154232553224657556102899255656397359752246465217618704709207727151126249369066708759926934792451628892832157768380935596071712933168403998953284981821981390744671182489064256606655886322612419860995781203718978875660607733695701264352237553952703212828215949974278143022410875939354630842467149699940956549105393344704175999823845764283188516306299941446829682655092099547915704265471814803680363438579179723501159366908366003197373663691518012014740709446811561533531842538118176465015546709695763651762665162011392553250957877634615234680252058400861083831586618814458462251088595824230362913272263280205147632677514836917449390397895687262226127947087442415127031230474272233162561524819448977036216567873775368639137335092369184465189192341608064501791635686245818249363753876453479260370262745028843846937677523816169507262629746853950952565150214115221803209802669659019056072714526047267554060982002679132904164820516169458531769033008366867919660304575291411191393116697185991525607844491074476556942674717465223029906770548524712608598131345851416556497817586872288428753100049730329146750696358222406516559726148261746069126741910757769844077795583265837900665154197651124034052992558046205846230582960446768609855931214858694861892557306279994576339693135196042408995135732831061183791367067692005197188642072792778639349706446093104725193501724486193951876814473403357802839562960089304306932016035613936988510688785843283320878266287450389992481714832615382660486081551872435469969744869231261623202152946642884125591480070339963792547718314149352662896513857784496604392807779009623245855831729448072962277371352274809671565987264880276127641516072840636297968432842536164108308130677815437929110806061313820014276247341870704231171773385441338597302157502859735055295063863163007845486047840680425327285219798757697406691949121421491181841307292016352646459752187107897011454629416354391319635841686731450618871256241310837491740982300804816668385872534560503924548107724204491074625144446731453742500433874491542816777634878226631503878456005688798680120179415975888769290283388325489679411652017800837479062265570719368166525250842394122138081277461024985508290632166617200153805079996919733302733828164612607319917807114797628349565703687311277991843209076228764622448905345105654024021055966363902213422414012446750854069264395816833575177511397057634434329607980889873291164731994969523632256334435340028951969036140218746174159741713891286233212974561428988234516842902908182552132675414048576692633450030801198910618356738893272197635266935818983370729710334507854364591546025426750273168697720277477373496046353439602909796261043155749678127075559031372352301095148370118594197529880127567683997369419093456864947585327230862261761465720490420544770306197689459152485521752286692930790195853017810841331135437488849914268294232566046841528391564996276269501537055143682532179227355030798455407830080432609669616602348668233689373609325196635604750339441951937645504126240770098701171333451355985457046551478788623561933144508208492324 1245271310570173964140404793158104064227457564187014662389142602349287675303022150810558175434002734447760828584869589229511478813074440681512349984773617177242660545486372207361874519306710088398697281531745340955010605794411353680444267941492689374482933715331442026786978752529041752705162260854083780753968843514913177729433311828726779569151513370081047047755200747382155025527741203145292243919622404946158045241025921952120500307241310100851766429589722531545066779186343076231360562154138996021019449561511228765966028728751245934414803968652496755032019316701621385237526017572925475411085673042619080067462173993317344081572952277717025760685970258487764275742475836004743426247859903982702975548047854116957831170285781218392128094962112957665182831647522541689379196127081504838490405132929292930508811897517531189312229556624695618547976395384550761636331657633223184787476921850208347267066656520941436381585925351270878654486259462280948591046088555932195222326212725691397795749582409488573537043022055245157318282133641725317632417042015061331477140656652991468888447924350676970044780039028769713033741319541568077234381566773621364884243270076738039249145694676332357256035235589708861696204999227261078142776887683517670413698781523858011368132871102464220579474184559329662877344909793020713265441190314275711062278482546776679077940828839053491706463132630082889639597067869829054073521837653855745053018170264710189046828043551226799926898579875769218725316520955680564651110074941553227637612123781776321162970334328400893441267410636976460123095103958192104269008773378755858003779863008958657130727521575881510022254842362311166515631574903100437082959085748918939497487928108913156815464598040657153636934337906852336870586092832164538272497545008247522868105401449920887693949351988049483276154399487390038786312741252702068848983461396450847477549847495638458082899537738163477861226201566516164653536130028327934098879297856336333225048853907202533831100174492025793699575254713319660417364126286238570642491727919035172499962920491745068269712611484900158581529278198115393763346886843860872716115319008862724292248710216500044645678110985740852932357437615423992413203471678952111102177737087936214095469872298108945872200004563850266695860791265273541144236233761674503431094302426688781098391827187115595368560233477057495501125607737329963098741856034638336383094948623244097364332547215125757244915141318035293514710269354407116146127275339878523922067842676226188186891290152868825716569074327304094372239239268876403664117470938695946541483981804523249292862477623204377508751603645716196487805646322155847853972350033036898163733921139610652007783177451420090914121419664393169847512697914976723345770455756005338217955207323248194834570582221543204069819300441872221526303011267308710319672182385348548788938217923289852629586963220932112883036681318845601319405197629341338332935362647530139133025524452690958324648420829982164148759474852009487952672868736934532691861244106240967343067594630965108418323467002879793221861290707523264318031324065423392333595439192543034950693062726694595812604074066837652181372750412294625298810433426158974236447132186758639680134660282441125541202247757235788262069957544729524976956605842810043185906946282940872469374787102829364279295524922928503486572757153673273263098436992475619273209141763020458201105226915274500402090376541177196943944476423158497955477360560354670285568571561338642644355296379960781838066404823387442540009842065848027208418088517531407174546218353883888388149541752965906384569295264347447 2014891305717667673465415672936449820785425097968126748990716395248682682270114321808646365186616336295339082496426712271640623683048835999919677289319021880082126645751682484891224652713777901783285042990958521574396528223952257445510987441079156704625977248810842959978377683680813114145473954251524756382775374415417619453159129086589834680991617225372202059574190287490381312242978348407592664744797332915232931843183779842932628460500784822505005437984156422273503911944865241181899755624256012978913904183978414976042187221081900407329958201205721412588122215957277782597278264038143094115794880769770206316831240702077271016365403906609857918454351194083835988675644240003696711229681885373447646730536918373564487056608393638253123876165831936540843439381218242953731433681034208051318621082903571073531222773456885820154696706324636575097081788729254937636155503397506373303783221791655176949721748620489352085851397166074559017924838642004449750412996921935392595989904243703412536459029221050107068885560173421622333828843337488969395082204026453884728098534287606703568699982751538053876366657843228175284829915365798440147653830053826512516920784913655488639543590363594583383982323032123988727435473499494240704301707132494706630266655299226650505467963471648685768666526167394164668980596038838962629195066767754971432541227575620526015618352655222998969092879484033842204747281985050857283324507312874801125732696311977743107810046230359704091719096045227750494349529322548484311414650232964419030728820967767846770814825402877450383942128102199490029865652482904712867140119230172414501597449881247085883827571306210656772951200584717683075357723164846506209700996506688783575283511374751057480618795691781187689926895953058183101169053278933148128428759866942384760662707729915464033642487184091892271290132318451222577679808944707266037625534189229486827256293588743183276401262224357429738040674969873967493099090117632241030895333470273321735737639750485854709366461942415786181290087328702320903445678158674040612236597150296795702115867134629193861192681824863951129247592347468056659860744628357477108923098018485970148080439664573006923049463260550524498344702495700120054719544519588409070610579624100322403600550113546874983006065877670280972108133135977772316009619203013100733251805286423836393455690350123440854608074157482822786345406495027369790690977456129518224402240639596743824084734323022768699544557672426613150551956085857735017383516650716015663050143481042856572763824713372750264676798531795168997383686000330146164551345430238763319118860031154753171318483312003057628931019621604965778089034647645527265624367833874377225999491858978818533034019845542228995398880689378678138144864532176877150850452675738640951783371935855514752377697019171553635522987753150213369512087496073332768577527491002572809994184287192066052000975667682966952301077135679176496916594686975772662543343537403430297757519422214590580982856170011116117795615070755662112414582628220765904835805535229201859910497539147660550998881051456485855311321508722174936388062958695589968862375011526405680403397234548960404150099493587925350070470689771998794856786865761884032708175342508317807210219313813477842297396127354382459599837672297208974326024936266908133492273513803134230840507593249909049601722612387655972094509440366204053294290010286460604344579251870372469399459481321341930481941537453466445481531566841030134704715591153125693398651993948312260957645048194471211675730020023047290349284017785672712544329287630108345879669709869345434701020541589468317713803472839771 3260162616287841637605820466094553885012882662155141411379858997597970357573136472619204540620619070743099911081296301501152102496123276681432027274092639057324787191238054692253099172020487990181982324522703862529407134018363611125955255382571846079108910964142284986765356436209854866850636215105608537136744217930330797182592440915316614250143130595453249107329391034872536337770719551552884908664419737861390977084209701795053128767742094923356771867573878953818570691131208317413260317778395008999933353745489643742008215949833146341744762169858218167620141532658899167834804281611068569526880553812389286384293414695394615097938356184326883679140321452571600264418120076008440137477541789356150622278584772490522318226894174856645251971127944894206026271028740784643110629808115712889809026215832864004040034670974417009466926262949332193645058184113805699272487161030729558091260143641863524216788405141430788467437322517345437672411098104285398341459085477867587818316116969394810332208611630538680605928582228666779652110976979214287027499246041515216205239190940598172457147907102215023921146696871997888318571234907366517382035396827447877401164054990393527888689285039926940640017558621832850423640472726755318847078594816012377043965436823084661873600834574112906348140710726723827546325505831859675894636257082030682494819710122397205093559181494276490675556012114116731844344349854879911356846344966730546178750866576687932154638089781586504018617675920996969219666050278229048962524725174517646668340944749544167933785159731278343825209538739175950152960756441096817136148892608928272505377312890205743014555092882092166795206042947028849590989298067946943292660082255607723072771439483664214296083393732438341326861233859910519971755146111097686400926304875189907628768109179836351727591839172141375547444531805841261363992550197409334886608995585680334304806141084381641359300799962520907599266876536390132146635220145960175129774631326609654960786493657688388540466636434441579880865342042021981320809804444912611254728325069331968202078787626374262130905293309764109710776870545583450423207631472218349825038417027348694440329149881073051568727574246291377430702140111124112467923016198540520172788316712036536499070422411655820855206070441520547667968924401251313460245852964687604164346107713112617491847517537239036223168307634540318287471014232357332889432833490767854607497189262840841188417281538148525944459698990461906665262225440264851163510791990594539585117986157269044759655114866241575981245872859099263369622925269206549828668816368934709860602841835678002464180960935207435137682623267321162265894680969801375119596717866911275389733412998589470540817197296962319909520300353771847985657562447153600496620908431743979169738579259103709586948279240714757705342288195022434895815098763382043088249709876351121598932402210481918681587938888615079835337758454524777816321792316317110995478706184933569430783043874905548905631276999993280266555089922765150065087451365155298596697049641470169202978092170112768969322348054336279077172612216245439254419387024118982302457814204069440631096459961243556216754173560425577531443221102066624093667220291920858269155307529266957487344879596254603383499643884590170721669795217026733951282630779076951319399219796744006700215294696079273328897247535316159458667266594039477316392727002762079877553721014890830670504686396595842332572318078630663389426007989999528090182076151507795978967223555286954905312941428155253049742134843410489830359126083633699920962417805161515520425888063753233822850562294555374702283098737187218 5275053922005509311071236139031003705798307760123268160370575392846653039843250794427850905807235407038438993577723013772792726179172112681351704563411660937406913836989737177144323824734265891965267367513662384103803662242315868571466242823651002783734888212953127946743734119890667980996110169357133293519519592345748416635751570001906448931134747820825451166903581322362917650013697899960477573409217070776623908927393481637985757228242879745861777305558035376092074603076073558595160073402651021978847257929468058718050403170915046749074720371063939580208263748616176950432082545649211663642675434582159492701124655397471886114303760090936741597594672646655436253093764316012136848707223674729598269009121690864086805283502568494898375847293776830746869710409959027596842063489149920941127647298736435077571257444431302829621622969273968768742139972843060636908642664428235931395043365433518701166510153761920140553288719683419996690335936746289848091872082399802980414306021213098222868667640851588787674814142402088401985939820316703256422581450067969100933337725228204876025847889853753077797513354715226063603401150273164957529689226881274389918084839904049016528232875403521524023999881653956839151075946226249559551380301948507083674232092122311312379068798045761592116807236894117992215306101870698638523831323849785653927360937698017731109177534149499489644648891598150574049091631839930768640170852279605347304483562888665675262448136011946208110336771966224719714015579600777533273939375407482065699069765717312014704599985134155794209151666841375440182826408924001530003289011839100687006974762771452828898382664188302823568157243531746532666347021232793449502361078762296506648054950858415271776702189424219529016788129812968703072924199390030834529355064742132292389430816909751815761234326356233267818734664124292483941672359142116600924234529774909821132062434673124824635702062186878337337307551506264099639734310263592416160669964796882976696524133408174243249833098376857366062155429370724302224255482603586651866964922219628763904194654761003455992097975134628060840024462893051507083068376100575826933961515045834664588409589545646058491777037506841901929046842606824232522642560718128929243398896336136858902670972525202695838212136319190828640077057537229085776255472167700704897597912999536453885303207887362477077776381792023141073816420727384702680123810946897372831899429902437585012502015861171294644004256662888519815814181526122586180894308641310555248168129638311901332418939579614326245922671390894432367006611269536695993220161799173473179721701866832755635499444247210492766613642888926128043983715617446902385221085700785652615732904857568289073851217142504548904919181043150526123802426979330477647471361107482620121521951194959224339325976259886311340865275948172648265327186259455375856827237367353694408926586497673984733588914556298046787638835590203954313238387003292883658022049722336999728540563297120139486614133170004396384350704993520812177502033993376064501532855176699371062888589709260429520321229105792764932483933724967614190807449982814572271320189215595846311499857195792516620904273054013502881513691791838622888524007157682742301863482871775275294555098910068081225797040011944553181269632889323942925608655715343859452891493310547140931055802289329182378498970147703815430761776034405681369687017013048540481898300266761203139904145877917184263054259616084129834907539556840558224886791742660921672365875549235267166270586476349724261417864863433537120708410101419372633506747092791623866305557773622579257551582836144843019996902210026989 8535216538293350948677056605125557590811190422278409571750434390444623397416387267047055446427854477781538904659019315273944828675295389362783731837504299994731701028227791869397422996754753882147249692036366246633210796260679479697421498206222848862843799177095412933509090556100522847846746384462741830656263810276079213818344010917223063181277878416278700274232972357235453987784417451513362482073636808638014886011603183433038885995984974669218549173131914329910645294207281876008420391181046030978780611674957702460058619120748193090819482540922157747828405281275076118266886827260280233169555988394548779085418070092866501212242116275263625276734994099227036517511884392020576986184765464085748891287706463354609123510396743351543627818421721724952895981438699812239952693297265633830936673514569299081611292115405719839088549232223300962387198156956866336181129825458965489486303509075382225383298558903350929020726042200765434362747034850575246433331167877670568232622138182493033200876252482127468280742724630755181638050797295917543450080696109484317138576916168803048482995796955968101718660051587223951921972385180531474911724623708722267319248894894442544416922160443448464664017440275789689574716418953004878398458896764519460718197528945395974252669632619874498464947947620841819761631607702558314418467580931816336422180647820414936202736715643775980320204903712267305893435981694810679997017197246335893483234429465353607417086225793532712128954447887221688933681629879006582236464100581999712367410710466856182638385144865434138034361205580551390335787165365098347139437904448028959512352075661658571912937757070394990363363286478775382257336319300740392795021161017904229720826390342079486072785583156657870343649363672879223044679345501128520930281369617322200018198926089588167488826165528374643366179195930133745305664909339525935810843525360590155436868575757506465995002862149399244936574428042654231786369530409552591290444596123492631657310627065862631790299734811298945943020771412746283545065287048499263121693247288960732106273442387377718123003268444392170550801333438634957506276007572794176758999932073183359028738739426719110060504611753133279359748982717948344990565576916669449416187213048173395401741394936858516693418206760711376308045981938480399236501325132388309061944020712649071377150725424601513300944689426563459361287434959742035569556644437665227439396619165278426200919297399319820588463955653350426481076406966387437344405100631905094833286115795580946092074054445855902227168544249993695736629536538743245821888978168108183040324543702510758099680405182417927904296266156247290309878396587248277504817803567696928005466317856157759614668414439466868814439481396922374109459989426484078144092269539226599291260530454062933926274255500601069046207564143195083161142285022837418945076947243704816007858988708155903415176853444913126622976594044728732129560179319609994653500755907270569159323607172025688392245410169997676650905794916285962242589485358531363098229904818169540265866681879373198489643577160129044009656545941213053445226837006933554573778003419665286942596317157036072837658446614439080412956912893905246982191227449603600571018790401042232781899978506322684609296683896534723902939428106350676876891286494420810772290713107291147631271096985408455707396217683019974889429042628445158686079744015810620359452021281652033810408832274513026595626577694714793224333547546840086315068867894168717651333099104522222071583527904504977311159999706844026951067536185053072554469164897953139386731445837375813080402145130700217722280000947214207 13810270460298860259748292744156561296609498182401677732121009783291276437259638061474906352235089884819977898236742329046737554854467502044135436400915960932138614865217529046541746821489019774112517059550028630737014458502995348268887741029873851646578687390048540880252824675991190828842856553819875124175783402621827630454095580919129512112412626237104151441136553679598371637798115351473840055482853879414638794938996665071024643224227854415080326478689949706002719897283355434603580464583697052957627869604425761178109022291663239839894202911986097328036669029891253068698969372909491896812231422976708271786542725490338387326545876366200366874329666745882472770605648708032713834891989138815347160296828154218695928793899311846442003665715498555699765691848658839836794756786415554772064320813305734159182549559837022668710172201497269731129338129799926973089772489887201420881346874508900926549808712665271069574014761884185431053082971596865094525203250277473548646928159395591256069543893333716255955556867032843583623990617612620799872662146177453418071914641397007924508843686809721179516173406302450015525373535453696432441413850589996657237333734798491560945155035846969988688017321929746528725792365179254437949839198713026544392429621067707286631738430665636090581755184514959811976937709573256952942298904781601990349541585518432667311914249793275469964853795310417879942527613534741448637188049525941240787717992354019282679534361805478920239291219853446408647697209479784115510403475989481778066480476184168197342985129999589932243512872421926830518613574289099877142726916287129646519326838433111400811320421258697813931520530010521914923683340533533842297382239780200736368881341200494757849487772580877399360437493485847926117603544891159355459636434359454492407629742999339983250060491884607911184913860054426229247337268481642536735078055135499976568931010430631290630704924336277582273881979548918331426103840673145007451114560920375608353834760474036875040132833188156312005176200783470585769320769652085914988658169508589496010468097148381174115101243579020231390825796331686464589344383673370003692961447119018023617148328972365168552281649259975181288795825324772577513208137634798378659586109384310254304412367462061212531630343079902204948123039475709485012756797300089013959541933712185525262453933311963990378721071218586600435103855687126738249680455384562600271296049067716011213421313260491115232468212316238946296890588492510023525299409273215650081454245433892847424492994025470228473091215640888128103636147808279941815109139967281656220046245569343513735179849429628420670909909045173418353862112204695179890038889268482580621199222713726048688519631581971417719358662440072900233262416405814555791563630646709219412782481649022158265600231760487380387072840091367731426469471282292794801904184611058510416785575205829888148765768001211173410615429634932686442798566322902878311522805629607568887864170469145827878859543340002073035256499909806774420091519351907427599762759994868911328755271588633628009964806265921808942140479666180667636034286989748126845098192635261133254096174352828589458562719668452583294470604685743869870715234607286342872882273272817508076455077416390765835093723908479277084209060995674619802499942209764670225182206417838288562326899274737638085895187830723790320190818662850840055766761028859160841350321548413236950312978152430210858680837310798923059241087103680644539955659636829639323698974653757489237854114380854701572577864570277564071775946286472445187975911990744763253037003610998392337953727966845060742276903157241196 22345486998592211208425349349282118887420688604680087303871444173735899834676025328521961798662944362601516802895761644320682383529762891406919168238420260926870315893445320915939169818243773656259766751586394877370225254763674827966309239236096700509422486567143953813761915232091713676689602938282616954832047212897906844272439591836352575293690504653382851715369526036833825625582532802987202537556490688052653680950599848504063529220212829084298875651821864035913365191490637310612000855764743083936408481279383463638167641412411432930713685452908255075865074311166329186965856200169772129981787411371257050871960795583204888538787992641463992151064660845109509288117533100053290821076754602901096051584534617573305052304296055197985631484137220280652661673287358652076747450083681188603000994327875033240793841675242742507798721433720570693516536286756793309270902315346166910367650383584283151933107271568621998594740804084950865415830006447440340958534418155144116879550297578084289270420145815843724236299591663598765262041414908538343322742842286937735210491557565810972991839483765689281234833457889673967447345920634227907353138474298718924556582629692934105362077196290418453352034762205536218300508784132259316348298095477546005110627150013103260884408063285510589046703132135801631738569317275815267360766485713418326771722233338847603514650965437051450285058699022685185835963595229552128634205246772277134270952421819372890096620587599011632368245667740668097581378839358790697746867576571481490433891186651024379981370274865024070277874078002478220854400739654198224282164820735158606031678914094769972724258178329092804294883816489297297181019659834274235092403400798104966089707731542574243922273355737535269704086857158727149162282890392287876389917803976776692425828669088928150738886657412982554551093055984559974553002177821168472545921580496090132005799586188137756625707786485676827210456407591572563212473371082697598741559157043868240011145387539899506830432567999455257948196972196216869314386056700585178110351416797550228116741539535758892238104512023412401941627129770321422095620391246164180451961379192201382645887068399084278612786261013108460648544808042720922503773714551467828075773322432483649706153762398919729225048549840613581256169021414189884249258122432477323021485954424834596639604658736565503679665760645150059796391290646868773819237099822227827710692668232994437414340610659810935820932167969589372777966995458897460869704509905120744914740361229473793516567048471326130700259759890881823840265684347023187636998118135389839260370789271854271834860254612046348575206175201420708663740508791943457394856692836179508626665540569883808303188046021438286533798143836995274342722405832298633935655900185935818704043012103085092191874487261088449433280404234562814587611756305130213746981131854763326424644563913985791563942621446124300033592023679661418572358745642512872965023561536878138047187777641171516271104953509999749686162294826092736662681004710438790697992664813038451594621953468006826499608383426050852951797025607393721081261123996681681418876196054926420196692491509864662296221166282891663707427517579649116852906462056889943443901063673859740858355055922713450444390407805014000987148489102025296679391228704185480997472919525129436193597996260146093793291405513743765209619861291295998741846505044669781200802342830065270760721810426943237454307415005513716283574634650520730855024527530998356975032073758279711309437642285359678883737864277121591022843482471525517742445076888697902639768449448374205418355873097545278464556904104455403 36155757458891071468173642093438680184030186787081765035992453957027176271935663389996868150898034247421494701132503973367419938384230393451054604639336221859008930758662849962480916639732793430372283811136423508107239713266670176235196980265970552156001173957192494694014739908082904505532459492102492079007830615519734474726535172755482087406103130890487003156506079716432197263380648154461042593039344567467292475889596513575088172444440683499379202130511813741916085088773992745215581320348440136894036350883809224816276663704074672770607888364894352403901743341057582255664825573079264026794018834347965322658503521073543275865333869007664359025394327590991982058723181808086004655968743741716443211881362771792000981098195367044427635149852718836352427365136017491913542206870096743375065315141180767399976391235079765176508893635217840424645874416556720282360674805233368331248997258093184078482915984233893068168755565969136296468912978044305435483737668432617665526478456973675545339964039149559980191856458696442348886032032521159143195404988464391153282406198962818897500683170575410460751006864192123982972719456087924339794552324888715581793916364491425666307232232137388442040052084135282747026301149311513754298137294190572549503056771080810547516146493951146679628458316650761443715507026849072220303065390495020317121263818857280270826565215230326920249912494333103065778491208764293577271393296298218375058670414173392172776154949404490552607536887594114506229076048838574813257271052560963268500371662835192577324355404864614002521386950424405051373014313943298101424891737022288252551005752527881373535578599587790618226404346499819212104703000367808077389785640578305702458589072743069001771761128318412669064524350644575075279886435283447231849554238336231184833458412088268133988947149297590465736006916038986203800339446302811009280999635631590108574730596618769047256412710821954409484338387140490894638577211755842606192673717964243848364980148013936381870565401187611569953373172979687455083706826352671093099009586306139724127209636684140066353205755602432633332452926102007886684964774919534184144922826311219406263035397371449447165067910273083641937340633367493500016981852186266206735359431816793904010566129860980941756678892920515786204292060889899369262014919732566336981027888137020121902058592048529494058386831863736660231495146333995512068917555206790427981988717300710448627761923920302051053400380285828319074857583951407484395003919178336394996194606663366640941060042496796359173350975531769951943901832155303129452107258102671495480417034841197785570040104041674769246116084246594127017602620996638637284895582104662089247864763283609856991707677603409704253156806277068174575984822238113189727219530832645038116825493752107250457474719021575829820353244325930546014081227587423008548885316465821836841430139119815679712708389447335473444207453314594105015157311965415751276546367166485706935051948110317344149964496850001822721418794735899511082772524062346218297755424807907362923377225056640454509573189691972661893937505273574388717295410986429808263974388690187553450788665862693251754783885951344247001898122265392986723621696664176286316783336946677248934810133339104216279484131713493278071357550097699916481891170913950151222655125942967724755924895534883731879186593344467555529810679954146838797613266073528942042152664378478507711034788579373448312988252316312639342815721754201375394980187167827996298731048412037200547291756666214380456315728847399155094619428757997962930420988879442665892805453059372597756309601064390339206833807261696599 58501244457483282676598991442720799071450875391761852339863898130763076106611688718518829949560978610023011504028265617688102321913993284857973772877756482785879246652108170878420086457976567086632050562722818385477464968030345004201506219502067252665423660524336448507776655140174618182222062430385109033839877828417641318998974764591834662699793635543869854871875605753266022888963180957448245130595835255519946156840196362079151701664653512583678077782333677777829450280264630055827582176113183220830444832163192688454444305116486105701321573817802607479766817652223911442630681773249036156775806245719222373530464316656748164404121861649128351176458988436101491346840714908139295477045498344617539263465897389365306033402491422242413266633989939117005089038423376143990289656953777931978066309469055800640770232910322507684307615068938411118162410703313513591631577120579535241616647641677467230416023255802515066763496370054087161884742984491745776442272086587761782406028754551759834610384184965403704428156050360041114148073447429697486518147830751328888492897756528629870492522654341099741985840322081797950420065376722152247147690799187434506350498994184359771669309428427806895392086846340818965326809933443773070646435389668118554613683921093913808400554557236657268675161448786563075454076344124887487663831876208438643892986052196127874341216180667378370534971193355788251614454803993845705905598543070495509329622835992765062872775537003502184975782555334782603810454888197365511004138629132444758934262849486216957305725679729638072799261028426883272227415053597496325707056557757446858582684666622651346259836777916883422521288162989116509285722660202082312482189041376410668548296804285643245694034484055947938768611207803302224442169325675735108239472042313007877259287081177196284727833806710573020287099972023546178353341624123979481826921216127680240580530182806906803882120497307631236694794794732063457851050582838540204934232875008112088376125535553835888700997969187066827901570145175904324398092883053256271209361003103689952243951176219898958591310267625845035274080055872329308780585166165698364596884205503420788908922465770533725777854171286192102585885441410214422520755566737734034811132754249277553716719892259900670981727442761129367460461082304089253511273042165043660002513842561854718541663250785094997738052592508886720027886436980864285888154655029018255692681385533704886042102534580112986874332548255417691852824579410304945264708429083457139910934967892840434457627090968122489873610735422651775784167516502326317089105376238061334740787824113052057404900358653721117821322259448014835681343129788582094679752274940841597874530303853493665294895723624847990786954950114063448918707228070411823662875431018580856820868505855192342649349206282664279253633648560493360601692983892553222295866448320585163266074703033801471276651010893459773477799476994255523587516057607928624241569928703363844982239725751488860421069450360001572407581089561992247745453528772785008995748089620945814517999178524647281009181573118023514845734530880968109798556534983111489682850584745113973647481157372557914051005052234235910709325639845042103576528158721066229760684400620536989793165189261817666723874539518507279058506039199725213161282399618135632220128045468097160949522891795029825672477998858211320739430541245442837539459771118198723242955007208543778471756599006316685767295667321826355626390356404722106250004714698826353273763122170316911856729398951574059340053593124520746117462911229523480672866065768140568532573902507746803174665474161935617671390711366152002 94657001916374354144772633536159479255481062178843617375856352087790252378547352108515698100459012857444506205160769591055522260298223678309028377517092704644888177410771020840901003097709360517004334373859241893584704681297015180436703199768037804821424834481528943201791395048257522687754521922487601112847708443937375793725509937347316750105896766434356858028381685469698220152343829111909287723635179822987238632729792875654239874109094196083057279912845491519745535369038622801043163496461623357724481183047001913270720968820560778471929462182696959883668560993281493698295507346328300183569825080067187696188967837730291440269455730656792710201853316027093473405563896716225300133014242086333982475347260161157307014500686789286840901783842657953357516403559393635903831863823874675353131624610236568040746624145402272860816508704156251542808285119870233873992251925812903572865644899770651308898939240036408134932251936023223458353655962536051211926009755020379447932507211525435379950348224114963684620012509056483463034105479950856629713552819215720041775303955491448767993205824916510202736847186273921933392784832810076586942243124076150088144415358675785437976541660565195337432138930476101712353111082755286824944572683858691104116740692174724355916701051187803948303619765437324519169583370973959707966897266703458961014249871053408145167781395897705290784883687688891317392946012758139283176991839368713884388293250166157235648930486407992737583319442928897110039530937035940324261409681693408027434634512321409534630081084594252075320647978851288323600429367540794427131948294779735111133690419150532719795415377504674040747692509488935721390425660569890389871974681954716371006885877028712247465795612374360607833135558447877299722055760959182340089026280649239062092745493265464418716780956008163486023106888062532382153681070426790491107920851759270349155260779425675851138533208129585646179133181872554352489627794594382811126906592972355936741105683567772270571563370374678397854943318155591779481799709405927364308370589409829676371160812904039024944516023228277668606532981974337195465549941085232548741807031814640195171957863141983172942922081559275744523226074777707922537737418924000241546492186066071457727286022120881612738406335681645153664753143193988622773287961897609996983541730698874840443721842833624491796439424372623380259381583314859797957072210235808683674670102834415334669864458500415037927732928541246010927682163361712429659712348261793534907129574556207075398687133464918849046961710954421727728069348657629446541212634340732830221204858954249842974940462695395887067438343694608962698945750785220731964647857045503687122395067137103522286603401228257695040111756391131623494692050308525013390094961851225894937693999607299593106823925304240109073986892886423906615774211479976230844751764786407000107504842153617150989359400340795246922006930308849628602673369573344375518116295869849551917291673861806204571033947210003395128999884297891758828226052835131227293503514428853177441376403581287735518754762809996176739672036154542498515851945969541297946824973435301527098269823235251165805788938185580157711223762110435090300149855385242516077467737567214238727975322600921883003358671232000557129863589297425129643173570532085783442783171411064885705447787329913557551664592202678876269241221199589676337073037191727665285107671587022286182791387585690134080283919638138994969206078158923481644984901866654349572494170582354112404021155617788439796369321971919901212082339987521443603287054647583234425379355567119400930975075226325956878224518627848601 153158246373857636821371624978880278326931937570605469715720250218553328485159040827034528050019991467467517709189035208743624582212216963167002150394849187430767424062879191719321089555685927603636384936582060279062169649327360184638209419270105057486848495005865391709568050188432140869976584352872710146687586272355017112724484701939151412805690401978226712900257291222964243041307010069357532854231015078507184789569989237733391575773747708666735357695179169297574985649303252856870745672574806578554926015210194601725165273937046884173251036000499567363435378645505405140926189119577336340345631325786410069719432154387039604673577592305921061378312304463194964752404611624364595610059740430951521738813157550522613047903178211529254168417832597070362605441982769779894121520777652607331197934079292368681516857055724780545124123773094662660970695823183747465623829046392438814482292541448118539314962495838923201695748306077310620238398947027796988368281841608141230338535966077195214560732409080367389048168559416524577182178927380554116231700649967048930268201712020078638485728479257609944722687508355719883812850209532228834089933923263584594494914352860145209645851088993002232824225776816920677679921016199059895591008073526809658730424613268638164317255608424461216978781214223887594623659715098847195630729142911897604907235923249536019508997576565083661319854881044679569007400816751984989082590382439209393717916086158922298521706023411494922559101998263679713849985825233305835265548310825852786368897361807626491935806764323890148119909007278171595827844421138290752839004852537181969716375085773184066055252155421557463268980672478052230676148320771972702354163723331127039555182681314355493159830096430308546601746766251179524164225086634917448328498322962246939352032574442660703444614762718736506310206860086078560507022694550769972934842067886950589735790962232582655020653705437216882873927976604617810340678377432923016061139467980468025117231219121608159272561339561745225756513463331496103879892592459183635517731592513519628615111989123937983535826290854122703880613037846666504246135107250930913338691237318060984080880328912516898720776252845467847109111516187922345058492985661734276357624940315349011444005914380782283720133778442774521125214225498077876284561004062653656986055573260729558985385093618719489534492016881510100287268020295724083845226865264826939367351488368120220711966993080528024802065476796663702780506742772017374924420777345250674818064542449047509856314224433041338920572446377073503512236865159955763630318010578794164961992683067301900379840821349117004888760603142623798380288880573802826644400131986345284996925370990597187581499124853105685827066706505195072413399278378936837052970392869806751758562505462491935756173131586904388327620541446917267217467195372529453140618213106992163373579545187418622266010411234255020399806407303105152190189427181272999759686224573213396899531399613295064992103397570004967536580973859884006573679581607916236289251604049798991959375582105935016527936335928019691585406567035510608314408480952652787629675558180415500745750980607809079856793990419816068420549401955477193876678014106308745838152138187751228521140511862739549727233210750507836188369628497150342804455970150221415662911216879162046654970679124943383224142591060890197008671762445032513876532808309926388528062678795566064654547986592006819847579586959965350595596434563645587894989616565480702846257292752671024260750554569362499136422915096440647329545251217044924276153120415723802957953258074866204105640549388261574549615229994000603 247815248290231990966144258515039757582412999749449087091576602306343580863706392935550226150479004324912023914349804799799146842510440641476030527911941892075655601473650212560222092653395288120640719310441302172646874330624375365074912619038142862308273329487394334911359445236689663557731106275360311259535294716292392906449994639286468162911587168412583570928638976692662463193650839181266820577866194901494423422299782113387631449882841904749792637608024660817320521018341875657913909169036429936279407198257196514995886242757607662645180498183196527247103939638786898839221696465905636523915456405853597765908399992117331044943033322962713771580165620490288438157968508340589895743073982517285504214160417711679920062403865000816095070201675255023720121845542163415797953384601527282684329558689528936722263481201127053405940632477250914203778980943053981339616080972205342387347937441218769848213901735875331336628000242100534078592054909563848200294291596628520678271043177602630594511080633195331073668181068473008040216284407331410745945253469182768972043505667511527406478934304174120147459534694629641817205635042342305421032177047339734682639329711535930647622392749558197570256364707293022390033032098954346720535580757385500762847165305443362520233956659612265165282400979661212113793243086072806903597626409615356565921485794302944164676778972462788952104738568733570886400346829510124272259582221807923278106209336325079534170636509819487660142421441192576823889516762269246159526957992519260813803531874129036026565887848918142223440556986129459919428273788679085179970953147316917080850065504923716785850667532926231504016673181966987952066573981341863092226138405285843410562068558343067740625625708804669154434882324699056823886280847594099788417524603611486001444778067708125122161395718726899992333313748148610942660703764977560464042762919646220938891051741658258506159186913566802529053061158477172162830306172027305827188046060952823961858336902689380429844124709936423623611456781487087883361692301865110999826102181923349304986272802027977008480342314082400372487146019821003699711685048336163462080498269132701179252838192054500071663698334404743591632337590965630267596230404585734517904117126381420469171291936501663896458540114124419674789967368692066499057848965960263653969597303959604399429106936452343981330931441254133480546649603610583881802299075500635623042021591202535555381831451580943062729798405337909713708188906133729804584133125607044209725194117005254585255001357897960187967534157331495231240306213817585210171530644919526995183197542021551743354781284044512891956198946837232761079234631359023558609047989031848972119320438127700709868102526081363380867178462896326695908091328687461850443065354721032646696256505069791528862997056891144497401607434333341173833241406852505683985369977893399163481084387341035773255369811575050267321813337611954780792862796754617375277802520443062948816823073475101269563137344780008362665580858157775765401905634443047463582755118478652169400751985687222752046691098738015868325078603190053106830260426922194085576500531615717027844020803843060245662582928605396226131773164065912284176827869491551261915619875754965467249115834463661432730591881982508393318233217794575472447629540682307199105694388290226932360418466454856940775807183263569073277912983644622190213605845501654053813170350382588350837339374177696953927863506598104345564802512722569069539974518432135052418751463335025136664771710187150938932792237068360548541627591204566367879440175063307037383332613641985605036615624614587531427839748621849204 400973494664089627787515883493920035909344937320054556807296852524896909348865433762584754200498995792379541623538840008542771424722657604643032678306791079506423025536529404279543182209081215724277104247023362451709043979951735549713122038308247919795121824493259726620927495425121804427707690628233021406222880988647410019174479341225619575717277570390810283828896267915626706234957849250624353432097209980001608211869771351121023025656589613416527995303203830114895506667645128514784654841611236514834333213467391116721051516694654546818431534183696094610539318284292303980147885585482972864261087731640007835627832146504370649616610915268634832958477924953483402910373119964954491353133722948237025952973575262202533110307043212345349238619507852094082727287524933195692074905379179890015527492768821305403780338256851833951064756250345576864749676766237728805239910018597781201830229982666888387528864231714254538323748548177844698830453856591645188662573438236661908609579143679825809071813042275698462716349627889532617398463334711964862176954119149817902311707379531606044964662783431730092182222202985361701018485251874534255122110970603319277134244064396075857268243838551199803080590484109943067712953115153406616126588830912310421577589918712000684551212268036726382261182193885099708416902801171654099228355552527254170828721717552480184185776549027872613424593449778250455407747646262109261342172604247132671824125422484001832692342533230982582701523439456256537739502587502551994792506303345113600172429235936662518501694613242032371560465993407631515256118209817375932809957999854099050566440590696900851905919688347788967285653854445040182742722302113835794580302128616970450117251239657423233785455805234977701036629090950236348050505934229017236746022926573732940796810642150785825606010481445636498643520608234689503167726459528330436977604987533171528626842703890841161179840619004019411926989135081789973170984549460228843249185528933291986975568121810988589116686049498168849367970244818583987241584894324294635343833774436868933601384791151914992016168604936523076367759057667670203957820155587094375419189506450762163333718520967016970384474587250211438741449107153552612654723390247468794261742066696769480615297850882446180178673892567194195915181594190144375342409970022917310955652877220333958414492030071063470865423458135643580833917623906307965647525940765462562409373079570655776093798444661471087531863882134573416488695648905747179508553902952294884543258659454302095111315582331001526888106603708568734752543078977540973801848655498321160145190225088853643734622105393629896844959549979856559459523511932826385253448121018194257116245809118297897449601650934469066694245169401521768321490607066398687496035747590839398454819010532283464619170188478048885729227975780258441050708602225035137125988191000391326854663932528454395521380222809305287721619744915059932983052223935890375037488745016276345716354473088396334555240742350013330202161832017659771975585216050963699872006722528451161360127567793157768574627434666035559910485170225563715144668907874846873206176089796132528589771784450869325519376919025212294552322566021389478053505883597860007753772013942716695770256346326400982457825092733016229506602846291725815252085510832528614768605605169388979015389145579800323999949774324459270286584746089654704090138653811580442341233029178154415491887360769703773775443093558069696160398947286214657434964134997615755265008756087696160925522264756513438069215152164801195871172842421611292155593295479030840341285871716851809142256174002849105977454978615849807 648788742954321618753660142008959793491757937069503643898873454831240490212571826698134980350978000117291565537888644808341918267233098246119063206218732971582078627010179616839765274862476503844917823557464664624355918310576110914788034657346390782103395153980654061532286940661811467985438796903593332665758175704939802925624473980512087738628864738803393854757535244608289169428608688431891174009963404881496031634169553464508654475539431518166320632911228490932216027685987004172698564010647666451113740411724587631716937759452262209463612032366892621857643257923079202819369582051388609388176544137493605601536232138621701694559644238231348604538643545443771841068341628305544387096207705465522530167133992973882453172710908213161444308821183107117802849133067096611490028289980707172699857051458350242126043819457978887357005388727596491068528657709291710144855990990803123589178167423885658235742765967589585874951748790278378777422508766155493388956865034865182586880622321282456403582893675471029536384530696362540657614747742043375608122207588332586874355213047043133451443597087605850239641756897615003518224120294216839676154288017943053959773573775932006504890636588109397373336955191402965457745985214107753336662169588297811184424755224155363204785168927648991547543583173546311822210145887244461002825981962142610736750207511855424348862555521490661565529332018511821341808094475772233533601754826055055949930334758809081366862979043050470242843944880648833361629019349771798154319464295864374413975961110065698545067582462160174595001022979537091434684391998496461112780911147171016131416506095620617637756587221274020471302327036412028134809296283455698886806440533902813860679319798000490974411081514039646855471511415649293171936786781823117025163547530185218942241588709858910947767406200172536490976834356383300445828430224505890901020367907179392467517894445549099667339027532570821940980050293558962136001290721487534670437231589886115948833905024500369018960810759434592472979427026305671870603277196189405635169935956360218238587657593179892000496510919018923448854905077488673903669505203923257837499687775583463342586556713021517042048172921654955030373786698119182880250953794833203312165859193078189949786589787384110076637214006691613870705148962882210874400258935983180964925250181179938357843598966523407452196354899389777061380567227516891847449825016266098185451394670773191331475629896242414150261662287472483130196884555039476984092687028559339094268452776459556680366316940228961714855640761040063965992849292795126183973379300417848155328387767110405387089403389438142788801158496817089320538758143291849943862496110050043229235566247245998607317704177015832447561423632297848464229581935753860537939101102311872045151075515602074993482167245369193383130835410113599614883950009077540821111358168893790490335748319869490168776750034384355555043433082527014713775915020690507750315291265459339294533177546563497604118378087130021692867742690175435537377490850494011163454761841007103330760879553480380520621318533404051428235563773415616821974929334797040958782676621411849556433792588293929571181959847630608520684095730087301762230333753089411269669391889697682163019372180790062415188416974715524622824836064086301287699715051514835813874299993459615911375807612034657264775756957588028343564497729734276894303744499313234496154403379560742766329226734947400727703306600156174041725201460008783726974938653429750807683760219422721297590293974943664377002007389233161744412800433626177660035033470542337877724618485358837414178871798617436637405294727237699011 1049762237618411246541176025502879829401102874389558200706170307356137399561437260460719734551476995909671107161427484816884689691955755850762095884525524051088501652546709021119308457071557719569194927804488027076064962290527846464501156695654638701898516978473913788153214436086933272413146487531826354071981056693587212944798953321737707314346142309194204138586431512523915875663566537682515527442060614861497639846039324815629677501196021131582848628214432321047111534353632132687483218852258902965948073625191978748437989276146916756282043566550588716468182576207371506799517467636871582252437631869133613437164064285126072344176255153499983437497121470397255243978714748270498878449341428413759556120107568236084986283017951425506793547440690959211885576420592029807182103195359887062715384544227171547529824157714830721308070144977942067933278334475529438950095901009400904791008397406552546623271630199303840413275497338456223476252962622747138577619438473101844495490201464962282212654706717746727999100880324252073275013211076755340470299161707482404776666920426574739496408259871037580331823979100600365219242605546091373931276398988546373236907817840328082362158880426660597176417545675512908525458938329261159952788758419210121606002345142867363889336381195685717929804765367431411530627048688416115102054337514669864907578929229407904533048332070518534178953925468290071797215842122034342794943927430302188621754460181293083199555321576281452825545468320105089899368521937274350149111970599209488014148390346002361063569277075402206966561488972944722949940510208313837045590869147025115181982946686317518489662506909621809438587980890857068317552018585569534681386742662519784310796571037657914208196537319274624556508140506599529519987292716052134261909570456758951883038399352009696773373416681618172989620354964617989948996156684034221337997972894712563996144737149439940828518868151574841352907039428640752109172275270947763513686417118819407935809473146311357608077496808932761322347397271124255857844862090513700270513769730797087172189042384331806992512679523955446525222664135156344107627325359510352212918877282034225505920275233988534012432647508905166469115235805272735492905677185080672106427601259774959430401887638266556256815887899258808066620330557072355249742668906006098275880903058400272316258090996594470923061778357525420642214484851423199813097350957031560747860767750343847107569428340903885237793526169607056546685580203945224163601240931511633978811711435913858775477632522559963241743747364748632700745392371772667157775227955916169315473577992199259030824025494831772685646118046796945879998281655224676329115944231068237486351812056364296504767305827950301514255668801699370232551072542820259225435136849902711443605894526134358458101337433847242268860063385893858055934658611302575958237346359894181817190412252397944564298130257193660842765052827442074646758967244626398125352780010475615640249532019651893938673618829480035023069904522193095309353076066544974863326768563535554492121007121273538289195945968070086988146048943641180537119598242671887831988852711207982085023564372744798896701336766655820815236418296108691240283839636687271277423163903640398858789628527116463397646242067448540852331438910378027102951800562347364428642905598629004890391196757614457588775706731912487613851082475823931598393883153124814938495636408738897181821114095717104501478749693714243737885600407294998384409902788427366562948768975510417458515816239700177815071222541397962940283973276047788952190626766021368718065904357075689223321127972620285743382749705853548818 1698550980572732865294836167511839622892860811459061844605043762187377889774009087158854714902454996026962672699316129625226607959188854096881159090744257022670580279556888637959073731934034223414112751361952691700420880601103957379289191353001029484001912132454567849685501376748744740398585284435419686737739232398527015870423427302249795052975007047997597993343966757132205045092175226114406701452024019742993671480208878280138331976735452649749169261125660811979327562039619136860181782862906569417061814036916566380154927035599178965745655598917481338325825834130450709618887049688260191640614176006627219038700296423747774038735899391731332042035765015841027085047056376576043265545549133879282086287241561209967439455728859638668237856261874066329688425553659126418672131485340594235415241595685521789655867977172809608665075533705538559001806992184821149094951892000204028380186564830438204859014396166893426288227246128734602253675471388902631966576303507967027082370823786244738616237600393217757535485411020614613932627958818798716078421369295814991651022133473617872947851856958643430571465735998215368737466725840308213607430687006489427196681391616260088867049517014769994549754500866915873983204923543368913289450928007507932790427100367022727094121550123334709477348348540977723352837194575660576104880319476812475644329136741263328881910887592009195744483257486801893139023936597806576328545682256357244571684794940102164566418300619331923068389413200753923260997541287046148303431434895073862428124351456068059608636859537562381561562511952481814384624902206810298158371780294196131313399452781938136127419094130895829909890307927269096452361314869025233568193183196422598171475890835658405182607618833314271411979651922248822691924079497875251287073117986944170825279988061868607721140822881790709480597189321001290394824586908540112239018340801891956463662631594989040495857895684145663293887089722199714245173565992435298184123648708705523884643378170811726627038307568367353795326824297429927728448139286703105905683705687157305410776699977511698993009190442974369974077569212645018011296830563433610050418565057617688848506831947010051054480820430560121499489022503391918373156630979913875418593460452853149380188477425650666333453101905950421937325479519954566124142927841989279240806153239580210674101689963117878375258133256915197703595052078940091660547175973297658933312162421117038439045058237146299388055188457079539676882464758984701147693927960070973073080164212373415455843949462788924956599388125788696666738241664567793341748607256334017470801965759309664417913428884269915474447276543614035200537039798516526272978440341118280715587378303610295112085010004966133961817092433997218696780654478574119763374237952214583488756970041736433451583504679216435651990898796007457670818608620380116779348704528787972307526160572267434733074880291578016397808485909969089360534882265316905875668071275934954934782709566215391542791996916610056715937647212368530846730566917038986026781530404542657822881886674753918809817264501474138416381612717056797359094527577468928790771529332619831641457356961038728467883296614286429335920514026195993002514173389776682547092555793338081021809000707906525812834659042164065475156274974464328390651515613862200242517205592088620801767004369649114853551463689500515957415580205558208492697627652438049434650039788299639948150340830664505229182056293870417779610801867303782111384841441857117370632529194933138756106110214643842192073229930631124684696773709673966612225660236563706595790522842434526637499999771237722380788044433091247829 2748313218191144111836012193014719452293963685848620045311214069543515289335446347619574449453931991936633779860743614442111297651144609947643254975269781073759081932103597659078382189005591942983307679166440718776485842891631803843790348048655668185900429110928481637838715812835678012811731771967246040809720289092114228815222380623987502367321149357191802131930398269656120920755741763796922228894084634604491311326248203095768009477931473781332017889340093133026439096393251269547665001715165472383009887662108545128592916311746095722027699165468070054794008410337822216418404517325131773893051807875760832475864360708873846382912154545231315479532886486238282329025771124846542143994890562293041642407349129446052425738746811064175031403702565025541574001974251156225854234680700481298130626139912693337185692134887640329973145678683480626935085326660350588045047793009604933171194962236990751482286026366197266701502743467190825729928434011649770544195741981068871577861025251207020828892307110964485534586291344866687207641169895554056548720531003297396427689053900192612444260116829681010903289715098815733956709331386399587538707085995035800433589209456588171229208397441430591726172046542428782508663861872630073242239686426718054396429445509890090983457931319020427407153113908409134883464243264076691206934656991482340551908065970671233414959219662527729923437182955091964936239778719840919123489609686659433193439255121395247765973622195613375893934881520859013160366063224320498452543405494283350442272741802070420672206136612964588528124000925426537334565412415124135203962649441221246495382399468255654617081601040517639348478288818126164769913333454594768249579925858942382482272461873316319390804156152588895968487792428848352211911372213927385548982688443703122708318387413878304494514239563408882470217544285619280343820743592574333577016313696604520459807368744428981324376763835720504646794129150840466354345841263383061697810065827524931820452851317123084235115804377300115117674221568554183586293001377216806176197475417954392582965742361843505985521869966929816499300233347801362118924155922943962263337442339651914354427107180998585066913467939465287968604258308664653866062308164994547525021061712628108810590365063917222590268989805209230003945810077026921373885596747995377516687056297980482990359780959712349298319911614440618345809536930363291473644526930329219681172930171460885546614486578050184625848714626686596223568044962929925311295168891582607051891875648287274231321581985348888198343135490537329367483634036340460499523835212250186786275543751508923448737454379101688160093394590410981080535321453741202602094384572186518201939190359974591616852315832916435476072761235696588929331727021394378988809374802117294932362864567870791909684842113063677920850962181901315726753267231682692737586050888682154124716572824665379297373010548771677240573538737411164007293849509943304001020851286410570575032241585867285481465615746090091739007551734561626156083642983583960890108298968078212315002893796027457099013210469544225404527661660697977896214125820140816622760382043827813726480921333783527364584633380942250151156932322304684242798013026463953824515719696978479880598629235022989210480901109612606327487713884842355493603316176209564671160111190717625692158201127263572442327170421413003571266662681382140091091510805562864373145676197038537129971454926381609730660805987584661517496402274598780495794744230284483933581298170443556214621926454344020007144452472029087624980746985721755564416287002585075313856427199510215860821127743858008124170794138944796647 4446864198763876977130848360526559075186824497307681889916257831730893179109455434778429164356386987963596452560059744067337905610333464044524414066014038096429662211660486297037455920939626166397420430528393410476906723492735761223079539401656697669902341243383049487524217189584422753210317056402665727547459521490641244685645807926237297420296156405189400125274365026788325965847916989911328930346108654347484982806457081375906341454666926431081187150465753945005766658432870406407846784578072041800071701699025111508747843347345274687773354764385551393119834244468272926037291567013391965533665983882388051514564657132621620421648053936962647521568651502079309414072827501422585409540439696172323728694590690656019865194475670702843269259964439091871262427527910282644526366166041075533545867735598215126841560112060449938638221212389019185936892318845171737139999685009808961551381527067428956341300422533090692989729989595925427983603905400552402510772045489035898660231849037451759445129907504182243070071702365481301140269128714352772627141900299112388078711187373810485392111973788324441474755451097031102694176057226707801146137773001525227630270601072848260096257914456200586275926547409344656491868785415998986531690614434225987186856545876912818077579481442355136884501462449386858236301437839737267311814976468294816196237202711934562296870107254536925667920440441893858075263715317647495452035291943016677765124050061497412332391922814945298962324294721612936421363604511366646755974840389357212870397093258138480280842996150526970089686512877908351719190314621934433362334429735417377808781852250193790744500695171413469258368596745395261222274648323620001817773109055364980653748352708974724573411774985903167380467444351097174903835451711802636836055806430647293533598375475746912215655062445199591950814733606620570738645330501114445816034654498496476923470000339418021820234659519866167940681218873040180599519407255818359881933714536230455705096229487934810862154111945667468913001045865984111314741140663919912081881181105111697993742442339355204978531060409904186473377802560446380130220986486377572313756007397269603202933939128008636121394288370025409468093280812056572239218939144908422943614522165481258190778842489567888923722091711159651941271289596981487498028524589984656757493209537560693664461470922830227673578044871355816049404589009303383134191702903626878614485092592577923985659544815196484013903903083766135900450509721914626458989096851653580124972039860660689687165531448137813154942523616326026034221875700908253841272442468584204257077509510818587866650883263371603634540671134025016281072361252257728875072824913304798917526568663584886728937325837882569437889853669693807626112381499968498752183612754331878421119834609607225361268346792280113572841860977908773397571875852062809516934755417470126432242733396932814030447890840349693638382024647380253367828731775260209876688922562345525509814951152082677024257612662700148454945198946930157002814209900622946916889829372620870137884780470781375908830474971018363820909274377754775255308653397609745413531911376447645367938278294822255832467929995228679487077446348500677245312186416240636371608275490316560902407629942929515023315560151776671802643988859306683884254831790071764913677316782806246493925205496912687295878634110913519528682242886940348583789138458000913807795715985338177078121795757046114959842862281455079297107204141902562607179585672141601304213827365376694970728036668987862199217682402660212309677520695395722176641947239148781909646950041944742498321127515095730504958838572036044476 7195177416955021088966860553541278527480788183156301935227471901274408468444901782398003613810318979900230232420803358509449203261478073992167669041283819170188744143764083956115838109945218109380728109694834129253392566384367565066869887450312365855802770354311531125362933002420100766022048828369911768357179810582755473500868188550224799787617305762381202257204763296444446886603658753708251159240193288951976294132705284471674350932598400212413205039805847078032205754826121675955511786293237514183081589361133656637340759659091370409801053929853621447913842654806095142455696084338523739426717791758148883990429017841495466804560208482193963001101537988317591743098598626269127553535330258465365371101939820102072290933222481767018300663667004117412836429502161438870380600846741556831676493875510908464027252246948090268611366891072499812871977645505522325185047478019413894722576489304419707823586448899287959691232733063116253713532339412202173054967787470104770238092874288658780274022214615146728604657993710347988347910298609906829175862431302409784506400241274003097836372090618005452378045166195846836650885388613107388684844858996561028063859810529436431325466311897631178002098593951773439000532647288629059773930300860944041583285991386802909061037412761375564291654576357795993119765681103813958518749633459777156748145268682605795711829326917064655591357623396985823011503494037488414575524901629676110958563305182892660098365545010558674856259176242471949581729667735687145208518245883640563312669835060208900953049132763491558617810513803334889053755727037058568566297079176638624304164251718449445361582296211931108606846885563521425992187981778214770067353034914307363136020814582291043964215931138492063348955236779945527115746823925730022385038494874350416241916762889625216710169302008608474421032277892239851082466074093688779393050968195100997383277369083847003144611423355586672587475348023880646953865248519201421579743780363755387525549080805057895097269916322967584030675267434538294901034142041136718258078656523066090576708184701198710964052930376834002972678035908247742249145142409321534577093449736921517557361046309007221188307756309490697436697539120721226105281247309902970468635583878109367001369207553485111513991081516368881945217099674008408871914121337980034274180265835541176654821251882542576971897956485796434395214125939666674607836229833956098295658022764038809532274031393246668639752617710452732124018554684844551770284265743236187176863915508947963918487113433486701353285659106863355401705509737248714340796277680834391043353053262327511315388337642473291794634065724435997361607682705998931477167209485491317119465759023559478345789641670799004913962614905390396555444108521362877740992987556449173353482699177478017270953188905343791493692823159810089124325143083745502254520806306152280556959306221598193327820901389121370878955563384791417375122581285203513877709773848756096084847192737949962505723228408790240193952750681491783158897852884206907806998128340699082452887674266808833007843685440562589225436936038452753151522779217750562036292293420275459094419199628605783197052563376170929638234378670805361488110199442704590196123995187295040783006259177952504233796461261389278130131702744149039377858147966281329584837427973523872186083406624176259738205804532326523099948905568322488674880649263563778180941392182376714208093250683427724690503668269039740814603606416501343102974329902426085237795125535820251185349963123331882206362134874689299934658267681117477741058234241733857223503377241454958359142255258953738629129632710980841123 11642041615718898066097708914067837602667612680463983825143729733005301647554357217176432778166705967863826684980863102576787108871811538036692083107297857266618406355424570253153294030884844275778148540223227539730299289877103326289949426851969063525705111597694580612887150192004523519232365884772577495904639332073396718186513996476462097207913462167570602382479128323232772852451575743619580089586301943299461276939162365847580692387265326643494392190271601023037972413258992082363358570871309555983153291060158768146088603006436645097574408694239172841033676899274368068492987651351915704960383775640536935504993674974117087226208262419156610522670189490396901157171426127691712963075769954637689099796530510758092156127698152469861569923631443209284098857030071721514906967012782632365222361611109123590868812359008540207249588103461518998808869964350694062325047163029222856273958016371848664164886871432378652680962722659041681697136244812754575565739832959140668898324723326110539719152122119328971674729696075829289488179427324259601803004331601522172585111428647813583228484064406329893852800617292877939345061445839815189830982631998086255694130411602284691421724226353831764278025141361118095492401432704628046305620915295170028770142537263715727138616894203730701176156038807182851356067118943551225830564609928071972944382471394540358008699434171601581259278063838879681086767209355135910027560193572692788723687355244390072430757467825503973818583470964084886003093272247053791964493086272997776183066928318347381233892128914018528707497026681243240772946041658993001928631508912056002112946103968643236106082991383344577865215482308916687214462630101834771885126143969672343789769167291265768537627706124395230729422681131042702019582275637532659221094301304997709775515138365372128925824364453808066371847011498860421821111404594803225209085622693597474306747369423265024964846082875452840528156566896920827553384655775019781461677494899985843230645310292992705959424028268635052943676313300522406215775282705056630339959837628177788570450627040553915942583990786738189446055838468694122379366128895699106890849457134191120760294985437015857309702044679516106904790819932777798344500186454811393412250106043590625192148050043053000437713173227528533886488389270989896369942645927964691031673475373101870319282722805372804645476001357152250444618714948970057742027932737582976910143115356616733517933576208443152653656520794218868024469064406759178229273362594889767301835955369608653605652644881624514508228182723189381435927385438156968182068720149418595300430562773146099182039220905844895429174736858461013642680043958256660352240034398796116036992327687144365074726967508681574351852468575084204181556490021331376493176600310781051774602533787085242632221535697623905066534684137718862521897018935808311771455561723622406989202039618531007358268792229471064517337588032171670742951313060463723754398696411101621594662143890032639529980841071490388648897949628421940161712062784829854723887957713319952590772454737590208916674160411580953046346210416207528406831432615360307449824204796723104462357477923428039029520493371399609125311825019306038733422385858945226567732270677611601685413889120882019257112021413165949932775691603455723262112979756353094498514744756330118680008612121088947034084438643240042628631148455262837258669787721564691988737108167714891286215046440473839650346530550494820111710810558403905710153915574567686542008952901196946156077999792319744405579817277349512244335788376513199917700181480882639133150327283399700857463382774049469134088471283016885599 18837219032673919155064569467609116130148400863620285760371201634279710115999258999574436391977024947764056917401666461086236312133289612028859752148581676436807150499188654209269132140830062385158876649918061668983691856261470891356819314302281429381507881952006111738250083194424624285254414713142489264261819142656152191687382185026686896995530767929951804639683891619677219739055234497327831248826495232251437571071867650319255043319863726855907597230077448101070178168085113758318870357164547070166234880421292424783429362665528015507375462624092794288947519554080463210948683735690439444387101567398685819495422692815612554030768470901350573523771727478714492900270024753960840516611100213103054470898470330860164447060920634236879870587298447326696935286532233160385287567859524189196898855486620032054896064605956630475860954994534018811680847609856216387510094641048636750996534505676268371988473320331666612372195455722157935410668584224956748620707620429245439136417597614769319993174336734475700279387689786177277836089725934166430978866762903931957091511669921816681064856155024335346230845783488724775995946834452922578515827490994647283757990222131721122747190538251462942280123735312891534492934079993257106079551216156114070353428528650518636199654306965106265467810615164978844475832800047365184349314243387849129692527740077146153720528761088666236850635687235865504098270703392624324603085095202368899682250660427282732529123012836062648674842647206556835584822939982740937173011332156638339495736763378556282186941261677510087325307540484578129826701768696051570494928588088694626417110355687092681467665287595275686472062367872438113206650611880049541952479178883979706925789981873556812501843637262887294078377917910988229135329099563262681606132796179348126017431901254997345635993666462416540792879289391100272903577478688492004602136590888698471690024738507112028109457506231039513115631914920801474507249904294221203041421275263741230756194391098050601056693944591602636974351580735060701116809424746193348598038494151243879147158811741752626906636921163572192418733874376941864628511271305020641467942906871112638317656031746023078498009800989006804341488359053499024449781433764714363880885689921699992193517257596538111951704254743897415831705488944998305241856767265944725305853741208643046974103974687915381617373957842948684839832840888636732349864162571539075205801138120655543050207607601689821293409138504671600148487619091603729999557628338125954478699870878556617524139758315111215861513841830052736837632895175405682522864997830252986343783616035473610497427558548318187223808802582897011004287726664255591829407243884287433156458086710703843420516609179480579265815083480474600737000598542694254234169587867230225128085232964563259903174724602967696560227507297528951646222162019553814025976368029774687546161345840129200686089693618592435396293151416963088118073894345667237632108470259857717679509336627982602035704069480280628842850700309913723320609915669036762530886086054019035043660129004399041924517845852143542271783146454660281558354211833110869486116498216998563556776677552033822226573056747570538763546203690111400221532585301649816763856265864906642468420148298834523490908482674555228062907394347604762639971127722634424083352172729853990866092018745265206772290243175566565728580054023585325933550436985128470169678500350091605494308297123901564340850198819534560926314416974905248813128245476993771779804078437017197341427962915651626611941952152038812178994056057630677658758415722616496356653704524854659216605638033003207763218103993997726722 30479260648392817221162278381676953732816013544084269585514931367285011763553616216750869170143730915627883602382529563663023421005101150065551835255879533703425556854613224462422426171714906660937025190141289208713991146138574217646768741154250492907212993549700692351137233386429147804486780597915066760166458474729548909873896181503148994203444230097522407022163019942909992591506810240947411338412797175550898848011030016166835735707129053499401989420349049124108150581344105840682228928035856626149388171481451192929517965671964660604949871318331967129981196453354831279441671387042355149347485343039222755000416367789729641256976733320507184046441916969111394057441450881652553479686870167740743570695000841618256603188618786706741440510929890535981034143562304881900194534872306821562121217097729155645764876964965170683110543097995537810489717574206910449835141804077859607270492522048117036153360191764045265053158178381199617107804829037711324186447453388386108034742320940879859712326458853804671954117385862006567324269153258426032781871094505454129676623098569630264293340219430665240083646400781602715341008280292737768346810122992733539452120633734005814168914764605294706558148876674009629985335512697885152385172131451284099123571065914234363338271201168836966643966653972161695831899918990916410179878853315921102636910211471686511729228195260267818109913751074745185185037912747760234630645288775061688405938015671672804959880480661566622493426118170641721587916212229794729137504418429636115678803691696903663420833390591528616032804567165821370599647810355044572423560097000750628530056459655735917573748278978620264337277850181354800421113241981884313837605322853652050715559149164822581039471343387282524807800599042030931154911375200795340827227097484345835792947039620369474561818030916224607164726300889960694724688883283295229811222213582295945996772107930377053074303589106492353643788481817722302060634560069240984503098770163727073986839701391043307016117972860237689918027894035583107332584707451249978937998331779421667717609438782306542849220911950310381864789712845635987007877400200719748358792364005303759077951017183038935807711845668522911246279178986276822794281620219525757293135795965290617385665307639591112389417427971425949718193878215988201611799413193909416337527216581744917293386697493288186262849959200100935284451555837606790091892095309122052115944253477272276568141183810132973947065659298890468172956683498362908228830990933015721780535826248165271129792403196735730369742024553242118273560280613562650704933717979671581644214178808619709679466779454163082652983539441358024646967770622512252181647278283083549193450414397848208495243576688162153617667552055558804918557088564025630727346188178011276902687766751648502535396260300591601626762191435247814168119180955362125797431929753397094535363385458660208044358485848063499913630739449134758861025207406130961386507166670959339274171480518015241565684910551771017491748649938335663482321978453866617254774043767338987634432583741989250841192006263724495318129356870867809965185644448471176935940703013721668019134155475461861256093550118970147888858028709417438954954971160595043331588536542518244153834037419716542748020504087721177995683085951060485902084107478987518581866917486184109546100630866354153806374681818806608357211202478848163192220224706693162158415608517806496780523343564375403991196729370029381038025227533309154523282161051561458321813031338214143497505962707971371017521769429388324423329844434143877576458597203499135489804031808254360074069020807052676897306575277014612321 49316479681066736376226847849286069862964414407704555345886133001564721879552875216325305562120755863391940519784196024749259733138390762094411587404461210140232707353801878671691558312544969046095901840059350877697683002400045109003588055456531922288720875501706804089387316580853772089741195311057556024428277617385701101561278366529835891198974998027474211661846911562587212330562044738275242587239292407802336419082897666486090779026992780355309586650426497225178328749429219599001099285200403696315623051902743617712947328337492676112325333942424761418928716007435294490390355122732794593734586910437908574495839060605342195287745204221857757570213644447825886957711475635613393996297970380843798041593471172478421050249539420943621311098228337862677969430094538042285482102731831010759020072584349187700660941570921801158971498092529556622170565184063126837345236445126496358267027027724385408141833512095711877425353634103357552518473413262668072807155073817631547171159918555649179705500795588280372233505075648183845160358879192592463760737857409386086768134768491446945358196374455000586314492184270327491336955114745660346862637613987380823210110855865726936916105302856757648838272611986901164478269592691142258464723347607398169476999594564752999537925508133943232111777269137140540307732719038281594529193096703770232329437951548832665449756956348934054960549438310610689283308616140384559233730383977430588088188676098955537489003493497629271168268765377198557172739152212535666310515750586274455174540455075459945607774652269038703358112107650399500426349579051096142918488685089445254947166815342828599041413566573895950809340218053792913627763853861933855790084501737631757641349131038379393541314980650169818886178516953019160290240474764058022433359893663693961810378940875366820197811697378641147957605590281060967628266361971787234413358804470994417686796846437489081183761095337531866759420396738523776567884464363462187544520045427468304743034092489093908072811917451840326892379474770643808449394132197443327536036825930665546864768250524059169755857833113882574283523587222577851636388671505740389826735270876416397395607048929062014305721646657529715587767538039775847244063053984240121174021485886990609579182565236129224341121682715323365549899367160986506853656180459854141643380957790387964267490672181203567880223917043049620124284396726243522441756257880661127321745391597927819618348791411822795240474797803562068321444302589966638228388619271141676259235697126721888653932161511846946231255866383294855111193175788968333227798715809924567987997794844093320176894338002481269876792342024255035651255497286767844011054522167370982349908501108552051915760185867642732883482635536033405655557687106719884961515776045241502030772999716211762438570984903559298186989698732776765814341342974915939823408297783171782081524731298789408730448179466655935309923890866097846979099101751798199018615636930817056953680817145997843601388980032051646334599350248249386802931894122903379785660129821358022678092712746388292765709852115868037589912503325528091523539856281582046422057201230720231575910833027495683482666606866540686652404232399528839176487556462244860095444802407424886622254185718551066238928986762276406058590480298665248542055235201621942665219090216038100412192649611619360578664924994373174085791256502433489125770661691821632328094108867898102274831640688276968332046928189563941964339644508214403336410406528555230101617109775231340838933925623622997629463721581427136602323900491774555235217012926115631846457736333109019290674658840055884660524679271012339043 79795740329459553597389126230963023595780427951788824931401064368849733643106491433076174732264486779019824122166725588412283154143491912159963422660340743843658264208415103134113984484259875707032927030200640086411674148538619326650356796610782415195933869051407496440524549967282919894227975908972622784594736092115250011435174548032984885402419228124996618684009931505497204922068854979222653925652089583353235267093927682652926514734121833854711576070775546349286479330773325439683328213236260322465011223384194810642465294009457336717275205260756728548909912460790125769832026509775149743082072253477131329496255428395071836544721937542364941616655561416937281015152926517265947475984840548584541612288472014096677653438158207650362751609158228398659003573656842924185676637604137832321141289682078343346425818535886971842082041190525094432660282758270037287180378249204355965537519549772502444295193703859757142478511812484557169626278242300379396993602527206017655205902239496529039417827254442085044187622461510190412484628032451018496542608951914840216444757867061077209651536593885665826398138585051930206677963395038398115209447736980114362662231489599732751085020067462052355396421488660910794463605105389027410849895479058682268600570660478987362876196709302780198755743923109302236139632638029198004709071950019691334966348163020519177178985151609201873070463189385355874468346528888144793864375672752492276494126691770628342448883974159195893661694883547840278760655364442330395448020169015910570853344146772363609028608042860567319390916674816220871025997389406140715342048782090195883477223274998564516615161845552516215146618068235147714048877095843818169627689824591283808356908280203201974580786324037452343693979115995050091445151849964853363260586991148039797603325980495736294759629728294865755122331891171021662352955245255082464224581018053290363683568954367866134258064684444024220403208878556246078628519024432703172047618815591195378729873793880137215088929890312078016810407368806226915781978839648693306474035157710087214582377689306365712605078745064192956148313300068213838644266071706460138185527634881720156473558066112100950113433492326052626834046717026052670038344674203765878467157281852281226964847872875720336730539110686749315268093245376974708465455593653763557980908174372132881560877369674491754143073876243150555408735952563850312533648353189783179437689645075200096186489975221955769187540457102452536494400986088329546457219610204157398039771523374887159783724564708582676600997890936536973384753456402530983932732433789596149632211973652713029856361117456644352529775881465613060298223267909280096192701800450454531543358915506400260411003762555804886501150187591592210574114775670745515688861964223252778933460766467860264973967245204150899813751890168024579982460523930278065620840227536568876616888116757449616774806665314719435223554630315232605840124309157929160405122803601776396227852297664013085167073890583822663826348000186585050285253872576769997040434173588697010312525296488377543606901858379592532908041860196395901488725500730053223357997904244441899595044988502957544738760156985510834541262261108946278131442527622839903427033338949943130776088223138267608986949490849997584054273566249725734444139342680609461247086007702222209958293280477973514385039606813179782443002458981281652317990886398514794486509717385704599055354984252652372323243657559593323002364872041523557859692567580116688423430141113445484336439888331594368646985491010815461025653744925918432811675610129614767336261768141363379364743679647108561557831254548026951364 129112220010526289973615974080249093458744842359493380277287197370414455522659366649401480294385242642411764641950921613161542887281882674254375010064801953983890971562216981805805542796804844753128828870259990964109357150938664435653944852067314337484654744553114300529911866548136691983969171220030178809023013709500951112996452914562820776601394226152470830345856843068084417252630899717497896512891381991155571686176825349139017293761114614210021162721202043574464808080202545038684427498436664018780634275286938428355412622346950012829600539203181489967838628468225420260222381632507944336816659163915039903992094489000414031832467141764222699186869205864763167972864402152879341472282810929428339653881943186575098703687697628593984062707386566261336973003751380966471158740335968843080161362266427531047086760106808773001053539283054651054830847942333164124525614694330852323804546577496887852437027215955469019903865446587914722144751655563047469800757601023649202377062158052178219123328050030365416421127537158374257644986911643610960303346809324226303212892635552524155009732968340666412712630769322257698014918509784058462072085350967495185872342345465459688001125370318810004234694100647811958941874698080169669314618826666080438077570255043740362414122217436723430867521192246442776447365357067479599238265046723461567295786114569351842628742107958135928031012627695966563751655145028529353098106056729922864582315367869583879937887467656825164829963648925038835933394516654866061758535919602185026027884601847823554636382695129606022749028782466620371452346968457236858260537467179641138424390090341393115656575412126412165955958286288940627676640949705752025417774326328915565998257411241581368122101304687622162580157632948069251735392324728911385693946884811733759413704921371103114957441425673506903079937481452082629981221607226869698637939822524284781370365800805355215441825779781556087162629275294769855196403488796165359592138861018663683472907886369231123161741807763918343702786843576870724231372971846136634010071983640752761447145939830424882360936578178075530431836887290791690280654743212200528012262905758136553869165115041162964419155138983582342421814255065828517282407728188005999641178767739271836544030438111849561071660793402072680817992612537961215319111774113617699624289132162520845828368041855695322023297793286200175533020349290093834975404611070444306759435036673127915804838766633778564428015254906014604815845288678296184685608229475299074299007220501609048437656726220429622832253757319831828495946632191499317160531149599520717620209768496806350033255455459125622406568223489868095949478765196047940203756322617825513893267416614952312326763948423447619384632823127625616229672462777465400650377740268494280964233766184072027412538230107710198000741588900801345796801866905194005444248525319740658698412848056239025505254844781375370533478521181330452819223410909727359423738440532593453181533114810010928768462870615874310160947350434834437088185766699673376826094303410055032990618009234765836372611710495460570497954363521923993012265357011635269780055105475162131170955821530453228221426763852051521193666493508475117307930084085084763522478141357368017398342408856818675225878477612273990112864046548390982986194577882231403912305097918260310370485930089592874963704531807552956528793715483715141443761548090336426814603826253602701330186624940929340655290585749157264966704516549737961196102974108671918525047250888676825175373813955217366276449212592242597627977645417692988046892623055730399182719504474472398655418338487164446218355933819039290407 208907960339985843571005100311212117054525270311282205208688261739264189165765858082477655026649729421431588764117647201573826041425374586414338432725142697827549235770632084939919527281064720460161755900460631050521031299477283762304301648678096752680588613604521796970436416515419611878197147129002801593617749801616201124431627462595805662003813454277467449029866774573581622174699754696720550438543471574508806953270753031791943808495236448064732738791977589923751287410975870478367755711672924341245645498671133238997877916356407349546875744463938218516748540929015546030054408142283094079898731417392171233488349917395485868377189079306587640803524767281700448988017328670145288948267651478012881266170415200671776357125855836244346814316544794659995976577408223890656835377940106675401302651948505874393512578642695744843135580473579745487491130700603201411705992943535208289342066127269390296732220919815226162382377259072471891771029897863426866794360128229666857582964397548707258541155304472450460608749998668564670129614944094629456845955761239066519657650502613601364661269562226332239110769354374187904692881904822456577281533087947609548534573835065192439086145437780862359631115589308722753405479803469197080164514305724762706678140915522727725290318926739503629623265115355745012586997995096677603947336996743152902262134277589871019807727259567337801101475817081322438220001673916674146962481729482415141076442059640212222386771441816021058491658532472879114694049881097196457206556088618095596881228748620187163664990737990173342139945457282841242478344357863377573602586249269837021901613365339957632271737257678928381102576354524088341725518045549570195045464150920199374355165691444783342702887628725074506274136748943119343180544174693764748954533875959773557017030901866839409717071153968372658202269372623104292334176852481952162862520840577575145053934755173221349699890464225580307565838153851015933824922513228868531639757676609859062202781680249368338250671698075996360513194212383097640013351811494829940484107141350839976029523629136790594966015323242268486580150187359005528924920814918660666197790540639856710342723181153263914532588631309634969255860972091881187320752402391771878108336049591553063508878310987569897802199904088821996086085857914935923784567367767381257605197306534653727389245411530187076166371669529350730941756301853944147509052964260227486197124681748328011991328741855734333615555712008467141310246274766625731142827839679456472338778743876496208221381290929012299433251648256368801880700088594030301093263583389116867252421742149519379889616572915769974936344104955481156247702033105328036396458123068280045436626332121352572737767710979252505885783010719217826803787238448210916339239704491747059897694532651932292386505475311861097814493479068825925779262390835472071065088752856309535315300964813688642280061510096094805757033151496563058659347720067656519828861244134369849409385412474024013935536761199696973987295350621419487373439639276443373866528476998752043303143305723143379979513568875053103405996223718319894500990857741688493138053009719604030766000810033410772960186920837562355734928754617421395439372611707924666949511480307311148174430631995086284212827968462271574167137612798116717430333920562840865159391105620482520328779210567566389348744138620732738971796174464996793761752434488851221301113543639307300385541609193581712978534243308750587969069388591261519055795541688788606948477392002122309511813702286811734923434703603058058653631390343611420858568233185345166518981272615835778020162018134273007776187188367066241771 338020180350512133544621074391461210513270112670775585485975459109678644688425224731879135321034972063843353406068568814735368928707257260668713442789944651811440207332849066745725070077869565213290584770720622014630388450415948197958246500745411090165243358157636097500348283063556303862166318349032980402640763511117152237428080377158626438605207680429938279375723617641666039427330654414218446951434853565664378639447578380930961102256351062274753901513179633498216095491178415517052183210109588360026279773958071667353290538703357362376476283667119708484587169397240966290276789774791038416715390581307211137480444406395899900209656221070810339990393973146463616960881730823024630420550462407441220920052358387246875060813553464838330877023931360921332949581159604857127994118276075518481464014214933405440599338749504517844189119756634396542321978642936365536231607637866060613146612704766278149169248135770695182286242705660386613915781553426474336595117729253316059960026555600885477664483354502815877029877535826938927774601855738240417149302570563292822870543138166125519671002530566998651823400123696445602707800414606515039353618438915104734406916180530652127087270808099672363865809689956534712347354501549366749479133132390843144755711170566468087704441144176227060490786307602187789034363352164157203185602043466614469557920392159222862436469367525473729132488444777289001971656818945203500060587786212338005658757427509796102324658909472846223321622181397917950627444397752062518965092008220280622909113350468010718301373433119779364888974239749461613930691326320614431863123716449478160326003455681350747928312669805340547058534640813028969402158995255322220463238477249114940353423102686364710824988933412696668854294381891188594915936499422676134648480760771507316430735823237942524674512579641879561282206854075186922315398459708821861500460663101859926424300555978576565141716244007136394728467429145785789021326002025033891231896537628522745675689566618599461412413505839914704215981055959968364244724783340966574494179124991592737476669568967215477326951901420344017011987074649797219205575558130861194210053446397993264211888296194426878951743770293217311677675227157709704603160130579777877749514817330824900052908749099419458873860697490894676904078470452897139103679141880998957229486438697174573217613453385882398189669462815550906474776651144037982484457575330671792956559718421455927796167508489512898043570966914481746126091563444921915828436069154755546637785964378105256659038017149441922265505405576200630376646720785529618253794732988637584872631510646325729922872028374895597342912328445349252197180798301375976600214445686105559329893748736304885064531659402700125270415833846843443033459701225676316989617444760241340861928298836004319799043705419571295815235067969627271576064257740666076509337278176050194013713812869927667785316354877470176290511672677893511478571130977383879252599684666963302590918527284034942703999631815571284148242701056253924461625405976116750692622780408807076293761314957909216352125279370513673903950587240243887513256214753323762918108115194766161936956631563864001181613684689613876928595248125896512747302695793009430471989621664679165572773040851904959438706446074545564280001659346507700416528498445072269071696203538742830699265140657159264312448670428285695500589889948711935205513982579187648115717369892910001715728234134511053633824829057907852935773905140999480251898515797460525473524642890799134687187516242029101199883916195300656281609035761304408905460856241075565701700777090308176675580356621437453994543122186105532178 546928140690497977115626174702673327567795382982057790694663720848942833854191082814356790347684701485274942170186216016309194970132631847083051875515087349638989443103481151685644597358934285673452340671181253065151419749893231960262548149423507842845831971762157894470784699578975915740363465478035781996258513312733353361859707839754432100609021134707405728405590392215247661602030409110938997389978325140173185592718331412722904910751587510339486640305157223421967382902154285995419938921782512701271925272629204906351168455059764711923352028131057927001335710326256512320331197917074132496614121998699382370968794323791385768586845300377397980793918740428164065948899059493169919368818113885454102186222773587918651417939409301082677691340476155581328926158567828747784829496216182193882766666163439279834111917392200262687324700230214142029813109343539566947937600581401268902488678832035668445901469055585921344668619964732858505686811451289901203389477857482982917542990953149592736205638658975266337638627534495503597904216799832869873995258331802359342528193640779726884332272092793330890934169478070633507400682319428971616635151526862714282941490015595844566173416245880534723496925279265257465752834305018563829643647438115605851433852086089195812994760070915730690114051422957932801621361347260834807132939040209767371820054669749093882244196627092811530233964261858611440191658492861877647023069515694753146735199487150008324711430351288867281813280713870797065321494278849258976171648096838376219790342099088197881966364171109952707028919697032302856409035684183992005465709965719315182227616821021308380200049927484268928161110995337117311127677040804892415508702628169314314708588794131148053527876562137771175128431130834307938096480674116440883603014636731280873447766725104781934391583733610252219484476226698291214649575312190774024362981503679435071478235311151797914841606708232716702294305582996801722846248515253902422871654214238381807878471246867967799663085203915911064729175268343066004258076594835796514978286266342432713506193198104006072292967224662612503592137262008802748130496373049521860407843987037849974554611477347690793484332401602852280933536199249590891923912532971549755857850866922377963561787060086989356676060601579716672990164328367833062888246509648380214834683745231828300606858864916069474356041132344901637416532952997982129993510539590899279153684400169783939787496250345247231659126678922948887436337838211547646971263908834212018976564708254601464880419308078454221698757053832569432257346809379559919347058316377754452125053252795845109812488601290665572279256433400830408444882831406704012996672568754385604766520080857657457802299370381952631156198844566061269837246939673887233328857149251988400759622831487936612185549180731432393629728547038453197355326648576138147574426031032359729329014777683616310065377864973564982047544824174456570137918851045040399081460928801333152000303939758058956639536393015268258135538051677673411835065045252560124559151257407559119596904620681052596331638848245566777309946810958563782014247072495012256056161124914370192702957441597274774141800605527176232663524002743317908186675307500934097421501101971990313747203672846991243651534414536817138447139272144624417846862419007913134231087309159225351028044351224725653661192809049018434472386064413708728967266417068038869416830913532217302101269843328092766612359072366658440904843293732260999307694057486249132422002034892921444199001218528840836123318619798358714935240426104915829764029089426420732220682049706143954695742374755710461770730310553171773949 884948321041010110660247249094134538081065495652833376180639179958621478542616307546235925668719673549118295576254784831044563898839889107751765318305032001450429650436330218431369667436803850886742925441901875079781808200309180158220794650168918933011075329919793991971132982642532219602529783827068762398899276823850505599287788216913058539214228815137344007781314009856913701029361063525157444341413178705837564232165909793653866013007938572614240541818336856920183478393332701512472122131892101061298205046587276573704458993763122074299828311798177635485922879723497478610607987691865170913329512580006593508449238730187285668796501521448208320784312713574627682909780790316194549789368576292895323106275131975165526478752962765921008568364407516502661875739727433604912823614492257712364230680378372685274711256141704780531513819986848538572135087986475932484169208219267329515635291536801946595070717191356616526954862670393245119602593004716375539984595586736298977503017508750478213870122013478082214668505070322442525678818655571110291144560902365652165398736778945852404003274623360329542757569601767079110108482734035486655988769965777819017348406196126496693260687053980207087362734969221792178100188806567930579122780570506448996189563256655663900699201215091957750604837730560120590655724699424992010318541083676381841377975061908316744680665994618285259366452706635900442163315311807081147083657301907091152393956914659804427036089260761713505134902895268715015948938676601321495136740105058656842699455449556208600267737604229732071917893936781764470339727010504606437328833682168793342553620276702659128128362597289609475219645636150146280529836036060214635971941105418429255062011896817512764352865495550467843982725512725496533012417173539117018251495397502788189878502548342724459066096313252131780766683080773478136964973771899595885863442166781294997902535867130374479983322952239853097022773012142587511867574517278936314103550751866904553554160813486567261075498709755825768945156324303034368502801378176763089472465391334025450982862767071221549619919126082956520604124336658599967336071931180383054617897433435843238766499773542117672436076171896069592611211426407300596527072663551327633607365684253202863614695809186408815549921299070611349894242798820730201991925651529379172064170183929002873824472318301951872545710595160452543891309604142020112477968114921571072110244118591239867583663758834760129702697645837430633562429401656469562799699977988967565614350672632706721539457325227896143964262459408770062633993530165089537600853049366392036997684763442170839735360629665561169622168761846179660642063629708079989596887014440491164096413829593962342866831029784652756426614678412904712870706640899563550318474594012229741621551130323940931984592886151003689444963615008080468931390906316804224083763309208409923342728590553543977850694219851035158338056496852350081616489982022424278334060613468296454591222467042093899343536024830839542283780752733927336296690451228676875251774037816366195890665935638961812683764127616080451213897398198807669527503287248336018974269240109136354639914073161138775323414290216790109592119250869214420933978003293943527893490723636669479319976713698896203090240860611362702727140931491132118263390917452985403302783512697968181727309491881884917973641479477304129972975954362420664172780399647226517532548283425127303816998077462603820246183901424566293840617198873260479559592573283709657895526677783720578886188734770869937323202535993659371216849461866220238669489945667496297922382826796452131371322731377147915765273432739277306127 1431876461731508087775873423796807865648860878634891166875302900807564312396807390360592716016404375034393237746441000847353758868972520954834817193820119351089419093539811370117014264795738136560195266113083128144933227950202412118483342799592426775856907301681951886441917682221508135342893249305104544395157790136583858961147496056667490639823249949844749736186904402072161362631391472636096441731391503846010749824884241206376770923759526082953727182123494080342150861295486987507892061053674613762570130319216481480055627448822886786223180339929235562487258590049753990930939185608939303409943634578705975879418033053978671437383346821825606301578231454002791748858679849809364469158186690178349425292497905563084177896692372067003686259704883672083990801898295262352697653110708439906246997346541811965108823173533905043218838520217062680601948197330015499432106808800668598418123970368837615040972186246942537871623482635126103625289404456006276743374073444219281895046008461900070950075760672453348552307132604817946123583035455403980165139819234168011507926930419725579288335546716153660433691739079837712617509165053464458272623921492640533300289896211722341259434103299860741810859660248487049643853023111586494408766428008622054847623415342744859713693961286007688440718889153518053392277086046685826817451480123886149213198029731657410626924862621711096789600416968494511882354973804668958794106726817601844299129156401809812751747519612050580786948183609139512081270432955450580471308388201897033062489797548644406482234101775339684778946813633814067326748762694688598442794543647888108524781237097723967508328412524773878403380756631487263591657513076865107051480643733587743569770600690948660817880742057688239019111156643559804471108897847655557901854510034234069063326269273447506393457680046862384000251159307471769351614549084090369910226423670460730069380771178282172394824929660472569799317078595139389234713823032532838736975204966105286361432632060354535060738583913671736833674331592646100372760877973012559604450751657676458164489055965175227621912886350745569024196261598667402715466568304229904915025741420473693213321111250889808465920408573498921873544747625656891488450985196522877389465216551175580827176482869273398172225981900650328022884407127188563264880172161177759386898853929160831174431331183218021346901751727505354181307842557140002242471478654512470351263928518761023807371160009180007361361824324760379520998767239868017209770963886823179584590915380887308186419876633306350365663019513241339494891340339544649456947911365744146489122738016238015949547849230956226741901425195247010069086946461114784002593559583194876768862933910451619800669130400166605387582813522978965982707953580573450783647331743264218142381173961811877544170142066882436083074692162046533666286717554892942371658189340240769652671743368237160287916072084824600140385601321026806651754408833067464677415521542269629606591526406800152855983072417846107800419318804411600748131755496481236999810925295223925315487570556320014409015402975861647228523844209157371451541750359743348275030430365023506547342871514758413549465214895743966342255643253612532329120653310794877625314991825608659793067180386545887446741775275148179841174280203635756536110253336460898537533870821857193532755353843106610571634834288526322564445362018776129393140046816715265386949379196957344605918267920790696586858542973791224734745460492605521478867286630769958790317528712676642023085189953299710773446521155792018086152089887971136068433519035093917030143064876502596086067065106132858377536003743292449080076 2316824782772518198436120672890942403729926374287724543055942080766185790939423697906828641685124048583511533322695785678398322767812410062586582512125151352539848743976141588548383932232541987446938191554985003224715036150511592276704137449761345708867982631601745878413050664864040354945423033132173306794057066960434364560435284273580549179037478764982093743968218411929075063660752536161253886072804682551848314057050151000030636936767464655567967723941830937262334339688819689020364183185566714823868335365803758053760086442586008860523008651727413197973181469773251469541547173300804474323273147158712569387867271784165957106179848343273814622362544167577419431768460640125559018947555266471244748398773037538249704375445334832924694828069291188586652677638022695957610476725200697618611228026920184650383534429675609823750352340203911219174083285316491431916276017019935927933759261905639561636042903438299154398578345305519348744891997460722652283358669030955580872549025970650549163945882685931430766975637675140388649261854110975090456284380136533663673325667198671431692338821339513989976449308681604791727617647787499944928612691458418352317638302407848837952694790353840948898222395217708841821953211918154424987889208579128503843812978599400523614393162501099646191323726884078173982932810746110818827770021207562531054576004793565727371605528616329382048966869675130412324518289116476039941190384119508935451523113316469617178783608872812294292083086504408227097219371632051901966445128306955689905189252998200615082501839379569416850864707570595831797088489705193204880123377330056901867334857374426626636456775122063487878600402267637409872187349112925321687452584839006172824832612587766173582233607553238706863093882156285301004121315021194674920106005431736857253204771821790230852523776360114515781017842388245247488579522855989965796089865837242025067283307045412546874808252612712422896339851607281976746581397549811775051078755717972190914986792873841102321814082623427562602619487916949134741263679351189322693923217049010483615471918732246449171532805476828525544800385935326002682802640235410287969643638853909536452087611024431926138356484745394991466155959052064192084978057860074205023072582235428783690791178678459806987775903199720939372778649926009293466872097812707138558963024113089834048255803501519973219447462322665806725199152161282022354949446769434041423374172637352263674954823768014767491064521970597810154561196641524486772570663864812147150205266053520014907959333958534246509627281972650109557525333869709738994548764415110538526120422779680186789283209860621787911523593957093189729729010090822863992190446597635367932959347740045582143535961429951258144009428201391870695578660221473014333965806337276447884002725092135818476154734953033439772519655777054614135218108461209746595741952649449179576014471958790704265766766304675635298723657817879156733370898815089888955749582155737926061182748873842246755326608442676947342703099557145528084428445947709913875062699333040291511378236491958976221699167103477727679737741607356179121069253646991684294004699605132642901982785587919552324788629185960756451847762504481746750054631314088821153208482549245329272387157100244783649832016135759542543901421135126888654373644253913883940836654334555161714482663334988495489608475768003626694418337973138550057312827216362491904481927480382471909735265998253300407104726875215791028586077691478781958426879204053668448213055390460362601971378688070580710769723691785677457368939349837356307103008980761413328065447703299048217438387837510006293301277176031726386203 3748701244504026286211994096687750269378787252922615709931244981573750103336231088267421357701528423617904771069136786525752081636784931017421399705945270703629267837515952958665398197028280124007133457668068131369648264100714004395187480249353772484724889933283697764854968347085548490288316282437277851189214857097018223521582780330248039818860728714826843480155122814001236426292144008797350327804196186397859063881934392206407407860526990738521694906065325017604485200984306676528256244239241328586438465685020239533815713891408895646746188991656648760460440059823005460472486358909743777733216781737418545267285304838144628543563195165099420923940775621580211180627140489934923488105741956649594173691270943101333882272137706899928381087774174860670643479536317958310308129835909137524858225373461996615492357603209514866969190860420973899776031482646506931348382825820604526351883232274477176677015089685241692270201827940645452370181401916728929026732742475174862767595034432550620114021643358384779319282770279958334772844889566379070621424199370701675181252597618397010980674368055667650410141047761442504345126812840964403201236612951058885617928198619571179212128893653701690709082055466195891465806235029740919396655636587750558691436393942145383328087123787107334632042616037596227375209896792796645645221501331448680267774034525223137998530391238040478838567286643624924206873262921144998735297110937110779750652269718279429930531128484862875079031270113547739178489804587502482437753516508852722967679050546845021564735941154909101629811521204409899123837252399881803322917920977945010392116094472150594144785187646837366281981158899124673463844862189790428738933228572593916394603213278714834400114349610926945882205038799845105475230212868850232821960515465970926316531041095237737245981456406976899781269001695717016840194071940080335706316289507702755136664078223694719269633182273184992695656930202421365981295220582344613788053960684077477276419424934195637382552666537099299436293819509595235114024557324201882298373968706686941779960974697421676793445691827574094568996647533993405398269208539640192884669380274383229665408722275321734604276893318893913339700706677721083573429043056597082412537798786604364517967661547733205160001885100371267395663057053197856731752269973884897945861878042250665222687134684737994566349214050171160906506994718422024597420925423946511774638101156113287482325983777194774852426346295358189675559963881392503982341627751635326734796181434407323094379210591840596875290301485891449052416674209254388451496675780854685015243160795918202738831059091578014653425019152340199798815956551937647994784006180830244701822281650497201944205091830117863531592241724370836678286613802046465117613138080540666026383899053947696020324877019915875855594347939101147801504826016102688967400141989689949228686215327027864553682838389500235439109259138905963385125307648157353633165103698007555667774275280642399611309680860523055143122418361557128832560201444191150874873624628264216826865807048278990630714570079339374908261585816513550572611004006735032569035129970156149449325657102677965874253844081704722794103405758094279079175284624883698778523474374853989065454337486790671096573791410907722385075701338762645190483897590374782478370525156412355247238017178095106061243310056529949258863699991914679450452874033077757291431306677339816515653533919043996993963269849007015763331538184084303437294165834823627238530584103137004625056568641370291484216244847577695543521029237808492375536528015855330358208512579801644303505452943642864670837280919324175466279 6065526027276544484648114769578692673108713627210340252987187062339935894275654786174249999386652472201416304391832572204150404404597341080007982218070422056169116581492094547213782129260822111454071649223053134594363300251225596671891617699115118193592872564885443643268019011949588845233739315569451157983271924057452588082018064603828588997898207479808937224123341225930311489952896544958604213877000868949707377938984543206438044797294455394089662630007155954866819540673126365548620427424808043410306801050823997587575800333994904507269197643384061958433621529596256930014033532210548252056489928896131114655152576622310585649743043508373235546303319789157630612395601130060482507053297223120838922090043980639583586647583041732853075915843466049257296157174340654267918606561109835143469453400382181265875892032885124690719543200624885118950114767962998363264658842840540454285642494180116738313057993123540846668780173246164801115073399377451581310091411506130443640144060403201169277967526044316210086258407955098723422106743677354161077708579507235338854578264817068442673013189395181640386590356443047296072744460628464348129849304409477237935566501027420017164823684007542639607304450683904733287759446947895344384544845166879062535249372541545906942480286288206980823366342921674401358142707538907464472991522539011211322350039318788865370135919854369860887534156318755336531391552037621038676487495056619715202175383034749047109314737357675169371114356617955966275709176219554384404198644815808412872868303545045636647237780534478518480676228775005730920925742105075008203041298308001912259450951846577220781241962768900854160581561166762083336032211302715750426385813411600089219435825866481007982347957164165652745298920956130406479351527890044907742066520897707783569735812917027968098505232767091415562286844083962264328773594796070301502406155344944780203947385269107266144441434885897415591996781809703342727876618132156388839132716402049668191406217808036739704366749160526862038913307426544369855288236675391204992297185755697425395432893429668125964978497304402620113797033469319408081071848775050480854313019128292766117496333299753660742633378064288904805856665729785275658407100916671287435610381022033148208758840226193012147777788300092206768441706979207150198624367786592036504824902155340499270942938186257967785796676372836967631706146879704046952370372193380553198012273793465551157280807545209542343490868265955999830121160522916990754912291616447473885001447487927338002338544550374843384917583458541558609942008078964127446045440195965223541363583575598389528114268952199802564948613109433389528544966642760511986974452778465612634781629390542784087741053260069121675601669925762707373865274023519479451578944417817113910386624146083514496479611972949315628114003716155761936722934477312435563142094639139128804700687285818568819449604694175870737832916956785120118496206463247242588914685853745481728957024154484646366636289303200002485825517918702656916988647391901064749936323961304508338244043540237966852413737182817102587999327423869729693680257653726716863039829575288792351308442690597518199042473267665479245951168262576025829229915938972519931731956924099318337841494587035454746405807546667264928977122473889533844857541844288666419207179490967516961720680513083601550851785824533575953282037965053229507765701249440249195913234157722288425388799917297297401067996724222806791917615875563085395721045038877295686743639493597367227027947329440872194985968539363373000889968587645848682639536996616743686273960283100692520943840781152870964138558095355901852482 9814227271780570770860108866266442942487500880132955962918432043913685997611885874441671357088180895819321075460969358729902486041382272097429381924015692759798384419008047505879180326289102235461205106891121265964011564351939601067079097948468890678317762498169141408122987359035137335522055598006729009172486781154470811603600844934076628816758936194635780704278464039931547916245040553755954541681197055347566441820918935412845452657821446132611357536072480972471304741657433042076876671664049371996745266735844237121391514225403800154015386635040710718894061589419262390486519891120292029789706710633549659922437881460455214193306238673472656470244095410737841793022741619995405995159039179770433095781314923740917468919720748632781457003617640909927939636710658612578226736397018972668327678773844177881368249636094639557688734061045859018726146250609505294613041668661144980637525726454593914990073082808782538938982001186810253485254801294180510336824153981305306407739094835751789391989169402700989405541178235057058194951633243733231699132778877937014035830862435465453653687557450849290796731404204489800417871273469428751331085917360536123553494699646991196376952577661244330316386506150100624753565681977636263781200481754629621226685766483691290270567410075314315455408958959270628733352604331704110118213023870459891590124073844012003368666311092410339726101442962380260738264814958766037411784605993730494952827652753028477039845865842538044450145626731503705454198980807056866841952161324661135840547354091890658211973721689387620110487749979415630044762994504956811525959219285946922651567046318727814926027150415738220442562720065886756799877073492506179165319041984194005614039039145195842382462306775092598627503959755975511954581740758895140564027036363678709886266854012265705344486689174068315343555845779679281168967666736150637208722444852647535340611463492801985414074617159082408287653712012124708709171838714501002627186677086127145467825642742232377086919415697626161475207126936139604969312793999593087290671154462384367175393868127089802758424189131976714682793681003312813479341057314690673738982399402675995782905055575075395346910271383182818145557372407506359231836143973268369848148179808637512726726501773926217307779673400463474164104764032405006930376637760476934450686780197591164493630072870995962352145890423008128538213141598126071549791297617327064972650374949578838639606791322404317195917214561314189505681124404309494737253919368082800619797628922334661096717755142215440260207884944433007662358682288218515897542115976819908556606744371516592266945328043777817218373632261773589327360923194698159981758458959295857336603911041039986031946145090186985207193911650133544052151887825565944569192082498357779936770523200031210516804488992865191483708351655256909738227760493415124530542236628829078033386902612846433373132443083676106176942176095691083503621514111404596222079789551753037396731299435127045977945970163723057628947936280259785749548848836092215624809948589568725165109850588516957483128307262156477496260913240383280266291261660461749432074959545444941800634099793275484073296317349370202040054574020670304908405200563856218710255431298953307403295832073826125842979598957574987314052823812652179035341439434663448897577704647379872208958697691178707612095095881063525212145737956967908958218575282518006487344540835062104941042333836341294395031266573229822555249154059647388833015210873700922925274223596734371852084515970811163679202213386941068544410997825454341058176065012472074044482472862902336824449293724795735634975839014680077318761 15879753299057115255508223635845135615596214507343296215905619106253621891887540660615921356474833368020737379852801930934052890445979613177437364142086114815967501000500142053092962455549924346915276756114174400558374864603165197738970715647584008871910635063054585051391006370984726180755794913576180167155758705211923399685618909537905217814657143674444717928401805265861859406197937098714558755558197924297273819759903478619283497455115901526701020166079636927338124282330559407625497099088857415407052067786668234708967314559398704661284584278424772677327683119015519320500553423330840281846196639529680774577590458082765799843049282181845892016547415199895472405418342750055888502212336402891272017871358904380501055567303790365634532919461106959185235793884999266846145342958128807811797132174226359147244141668979764248408277261670744137676261018572503657877700511501685434923168220634710653303131075932323385607762174432975054600328200671632091646915565487435750047883155238952958669956695447017199491799586190155781617058376921087392776841358385172352890409127252533896326700746846030931183321760647537096490615734097893099460935221770013361489061200674411213541776261668786969923690956834005358041325128925531608165745326921508683761935139025237197213047696363521296278775301880945030091495311870611574591204546409471102912474113162800868738802230946780200613635599281135597269656366996387076088272101050350210155003035787777524149160603200213213821259983349459671729908157026611251246150806140469548713415657636936294859211502223866138591163978754421360965688736610031819729000517593948834911017998165305035707269113184639074603144281232648840135909284795221929591704855395794094833474865011676850364810263939258251372802880712105918433933268648940048306093557261386493456002666929293673442991921941159730905842689863641545497741261532220938711128600197592315544558848761909251558516052044979823879650493821828051437048456846657391466319393488176813659231860550269116791286164858153023514120434362683974824601030674984292282968340218081792570826761556757928723402686436379334796590714472632221560412906089741154593295418530968761900401388874829056089543649447471722951414038137291634890243244889939657283758560830670660935485342000119229455557461700555680932546471011612157129001005547068970955511682352931663764573011057253930137942566795845096169919288477830118502161669810707618170662648743044389796887598867613859539408082827270189335802284927226485492166210984530274504799076410261999099056299692590283645125468402974566272300690367182643343587556172785132097970327947114981795059596995977619783322245371206978855905889837458671968732911737761469971385540431582770119687198350256106882795581575896251426017161849085424020771026916174893847157147346114725013284100965814507111822355371412671674950694970727560093684331267968206838087589898665002192582047777851976914775093052476203622117720574651838810994475405498519125688323589611692344582259466923060114773454198962442666537496227993280374746272550873233503353894128754924335542044444973580084260240664253009959971519314188466295114789120733734151942542483873002272338790617035681286005742283246330737635116502828738641987388223052625741137326660861580589385406504242252243029946286541712880198981278952115316784884138347389170679378204262309162946881705597101165427775922021138465984276531958255683257774992784393366431133753638591796099263297452629347166769935210474228736255912578218612017863090331739079112463300252035874188181926304441545300966413100189740815602009088817730756433146003029345393134505948606599114397110035979171243 25693980570837686026368332502111578558083715387476252178824051150167307889499426535057592713563014263840058455313771289663955376487361885274866746066101807575765885419508189558972142781839026582376481863005295666522386428955104798806049813596052899550228397561223726459513993730019863516277850511582909176328245486366394211289219754471981846631416079869080498632680269305793407322442977652470513297239394979644840261580822414032128950112937347659312377702152117899809429023987992449702373770752906787403797334522512471830358828784802504815299970913465483396221744708434781710987073314451132311635903350163230434500028339543221014036355520855318548486791510610633314198441084370051294497371375582661705113652673828121418524487024538998415989923078747869113175430595657879424372079355147780480124810948070537028612391305074403806097011322716603156402407269182008952490742180162830415560693947089304568293204158741105924546744175619785308085583001965812601983739719468741056455622250074704748061945864849718188897340764425212839812010010164820624475974137263109366926239989687999349980388304296880221980053164852026896908487007567321850792021139130549485042555900321402409918728839330031300240077462984105982794890810903167871946945808676138304988620905508928487483615106438835611734184260840215658824847916202315684709417570279930994502598187006812872107468542039190540339737042243515858007921181955153113500056707044080705107830688540806001189006469042751258271405610080963377184107137833668118088102967465130684553963011728826953071185223913253758701651728733836991010451731114988631254959736879895757562585044484032850633296263600377295045707001298535596935786358287728108757023897379988100447513904156872692747272570714350850000306840468081430388515009407835188870120593625065203342269520941559378787478611115228046249398535643320826666708928268371575919851045050239850885170312254711236972590669204062232167304205833952760146220295561158394093506070574303959127057503292501493878205580555779184989327561298823579793913824674577379573639494680466159746220629683847731481826875568356049479384395475945035039753963404431828332277817933644757683306444449904451436453920830654541096971410544797994122079388863208027131906740639308173662211843774045446763337135101019155096651235044017164059377643307545905406198462550522828258203083928249892490088457218853224708132430075956190051952967428034683143313023692623228436494390190018176735325297388584378841483409331535980229420130352613075124596705332596660195774054834805723905333353347407573934659372655401159241129672149605040654577072318631574062004925039755437001695877632980568183266813032156831950491370697057327307989451472622756151633343440443092089989493226029795478169049674651368589963109414532673783927670546145935530088589958679698595530707026669581413178455464142684624226567896797284871474492511511435565714490861528083091717269148167287125739234686056435033074264957251556522419623024738738322528229630646117743721390479222228416086345064085495999556221140441958668463744717271881818670351707130057580521153904636290226262780974650215727189748666178675952576642277148486345635107966405883326060316303916635646040317066684957352242819522005933144433158734687706432365005461817239557082770099193891915540420713615564214362588785727261379638075895441016775041977586660626377573513878989047424202851814476262170602315827846498307473467589979886191130529870682451902415923994857863061751466786279141537292086687066110931196979271063199553390395313245510089711964238554530798991667021560891775238906008905366169842428230744342234090236124716056490004 41573733869894801281876556137956714173679929894819548394729670256420929781386967195673514070037847631860795835166573220598008266933341498452304110208187922391733386420008331612065105237388950929291758619119470067080761293558269996545020529243636908422139032624278311510905000101004589697033645425159089343484004191578317610974838664009887064446073223543525216561082074571655266728640914751185072052797592903942114081340725892651412447568053249186013397868231754827147553306318551857327870869841764202810849402309180706539326143344201209476584555191890256073549427827450301031487626737781972593482099989692911209077618797625986813879404803037164440503338925810528786603859427120107182999583711985552977131524032732501919580054328329364050522842539854828298411224480657146270517422313276588291921943122296896175856532974054168054505288584387347294078668287754512610368442691664515850483862167724015221596335234673429310154506350052760362685911202637444693630655284956176806503505405313657706731902560296735388389140350615368621429068387085908017252815495648281719816649116940533246307089051142911153163374925499563993399102741665214950252956360900562846531617100995813623460505100998818270163768419818111340836215939828699480112691135597646988750556044534165684696662802802356908012959562721160688916343228072927259300622116689402097415072300169613740846270772985970740953372641524651455277577548951540189588328808094430915262833724328583525338167072242964472092665593430423048914015294860279369334253773605600233267378669365763247930396726137119897292815707488258351976140467725020450983960254473844592473603042649337886340565376785016369648851282531184437071695643082950038348728752775782195280988769168549543112082834653609101373109721180187348822448278056775237176214150886451696798272187870853052230470533056387777155241225506962372164450189800592514630979645247832166429729161016620488531106721249042056046954699655780811583268752407815785559825464062480772786289363842770610669491745413932208503447995661507554618514855349561671856607834898547952317047391240605660205229562004735384275975109948577256600166869494172982925573236464613519583707833324733507525997570278126264048385448682089629012322633753147684415665301469978834597697185774164676218894596801574836029197706055629321188378648854614876361710144903454492022776094985503822628031024014698320878051718553786308554114637238742301313975672435667618233381989057632036274733380215854568177285694258762465721586341337143349629395781742858659294830354527396007550458821750382140206960063022583802584717228322390172752547400265746555857064522035733056785018123004187547039172702869615503919224282434818797279374991904205526271320541790699198972785074801926046904186211523736792610734136330707567631084817892260660543372690924494205707353062398082253088129150434870244717910899164765491709562082410176437758296538639380060006492362200643490747856955260708273844068740362750075648107946614350430667110489097569177858494844678184671082623841292078776374302493691315192171817638846026806154212396152103637664781394568889300186234300288838682022304537786912410104519184761021488617973898583441564612066058587162966383675433569513695994230207745058558885570485395549287021750411966059491800112716385735604795739401992567679531147472924074650550317454099703325937988859292257727543001289801010185890187128346434517853860090820630891673904601343618477987229793168135081249582693930068337290487722698857360149309949777397850010309442571315235427578577239549951635012930651654720539807269030649709505995339154908395515235562736692948833204633234752035661247 67267714440732487308244888640068292731763645282295800573553721406588237670886393730731106783600861895700854290480344510261963643420703383727170856274289729967499271839516521171037248019227977511668240482124765733603147722513374795351070342839689807972367430185502037970418993831024453213311495936741998519812249677944711822264058418481868911077489303412605715193762343877448674051083892403655585350036987883586954342921548306683541397680990596845325775570383872726956982330306544307030244640594670990214646736831693178369684972129003714291884526105355739469771172535885082742474700052233104905118003339856141643577647137169207827915760323892482988990130436421162100802300511490158477496955087568214682245176706560623338104541352868362466512765618602697411586655076315025694889501668424368772046754070367433204468924279128571860602299907103950450481075556936521562859184871827346266044556114813319789889539393414535234701250525672545670771494204603257295614395004424917862959127655388362454793848425146453577286481115040581461241078397250728641728789632911391086742889106628532596287477355439791375143428090351590890307589749232536801044977500031112331574173001317216033379233940328849570403845882802217323631106750731867352059636944273785293739176950043094172180277909241192519747143823561376347741191144275242944010039686969333091917670487176426612953739315025161281293109683768167313285498730906693303088385515138511620370664412869389526527173541285715730364071203511386426098122432693947487422356741070730917821341681094590201001581950050373655994467436222095342986592198840009082238919991353740350036188087133370736973861640385393664694558283829720034007482001370678147105752650155770295728502673325422235859355405367959951373416561648268779210963287464610426046334744511516900140541708812412431017949144171615823404639761150283198831159118068964090550830690298072017314899473271331725503697390453104288214258905489733571729489047968974179653331534636784731913346867135272104547697325969711393492775556960331134412428680024139051430247329579014112063268020924453391687056437573091433755359505424522291639920832898604811257851054398258277267014277774637958962451491108780805145356859226887623134402022616355711547572042109287008259909029548210122982231731902593991125848941099646485247756292162160781767908607453977320280979178913753715118119481233551545586184148629742498606067604666776984457288696128290846669876379247650213010058677604438947018769103590298445951006471689756424753992487075455319490604409362201731455792175097789714141619435677984961825846900471995213407124472584378129919069447075488493786714000637168115222439515901772335869715653131876124587364443376828282422953885231142291062774568027955842382355261198388161200697245745240241415012488438406596073461280883173904302883769424751834501307605899012929342137467061562776581036574921687873324011029500908143098209631348810777873596189946764708877143005320001632170527569639089168989638718728215295602216235157406899498710186356164272373858714831757150840281383563298687972882747859233695245302548473525590412497081263488897749494286453091086057095827038169974963609006549847447938126374891079602029715750636198653346473027267064492030003644130236993454115417427876731357195486484929496711279822706183243745510061709801911929955529995144342713030836878918353920574803679999233314389980160910780024462406648477389981378068933598364178360323038817533151998617924926200352239189485136501686602036464463960941506421842378434980968972552795461724724894890209251338798936052210601281234245163813761685077990967437291067294869359468092151251 108841448310627288590121444778025006905443575177115348968283391663009167452273360926404620853638709527561650125646917730859971910354044882179474966482477652359232658259524852783102353256616928440959999101244235800683909016071644791896090872083326716394506462809780349481323993932029042910345141361901087863296253869523029433238897082491755975523562526956130931754844418449103940779724807154840657402834580787529068424262274199334953845249043846031339173438615627554104535636625096164358115510436435193025496139140873884909011115473204923768469081297245995543320600363335383773962326790015077498600103329549052852655265934795194641795165126929647429493469362231690887406159938610265660496538799553767659376700739293125257684595681197726517035608158457525709997879556972171965406923981700957063968697192664329380325457253182739915107588491491297744559743844691034173227627563491862116528418282537335011485874628087964544855756875725306033457405407240701989245050289381094669462633060702020161525750985443188965675621465655950082670146784336636658981605128559672806559538223569065842594566406582702528306803015851154883706692490897751751297933860931675178105790102313029656839739041327667840567614302620328664467322690560566832172328079871432282489732994577259856876940712043549427760103386282537036657534372348170203310661803658735189332742787346040353800010088011132022246482325292818768563076279858233492676714323232942535633498137197973051865340613528680202456736796941809475012137727554226856756610514676331151088720350460353448931978676187493553287283143710353694962732666565029533222880245827584942509791129782708623314427017170410034343409566360904471079177644453628185454481402931552491009491442493971778971438240021569052746526282828456128033411565521385663222548895397968596938813896683265483248419677228003600559880986657245570995609307869556605181810335545904183744628634287952214034804111702146344261213605145514383312757800376789965213156998699265504699636230978042715217189071383643601996223552621838689030943535373700723286855164477562064380315412165059051892285999577826818031334615373099548240087702392777794183424290862871796850722111099371466488449061386907069193742307908977252146724656369503395963237343579265842857606215322374799201126328704168827155046647155275806436134941016775658129618752357431812303755273899257537746150505248249866464235867183528807160182241905519285771264368563958464903258368305282249284792057820293515196054797849060911672592813026899774383388268818313978785434763889597739006250996848171854348579498700568764410564128794385386159671872850124685776133969111221550571732123641355662261612218771387839788939935566694921866739435281033808694274427021841490035559642829881889286541472722124953811431382075947809046097306330667256616833971807668110010236831822834087589436756333883174060048366226328268290598657331864311082307568140288203104701993549454268621453145207472982721211745682751707818635516253439599656749207825784473460711079835591570581334027648243048748161208523072343012099022409325494127095144011337332910083943042414890598731381552327579771798824240003496161615011799191463581582905133289012550192433478242568413391184205712349340703235012123050915574129525786280475865829393936223157308202870665101507019224698750923276657534633876562480272984094847668651019696171176081463576093481009419204577108507345297878322497469108281655282670277216842165590116206952614401581311854994537642726912183993861835911986241861810951815864413693670408547549792345413359737825541863971878606205082860310787229584318722157200313553704130239900499502594220127812498 176109162751359775898366333418093299637207220459411149541837113069597405123159754657135727637239571423262504416127262241121935553774748265906645822756767382326731930099041373954139601275844905952628239583369001534287056738585019587247161214923016524366873892995282387451742987763053496123656637298643086383108503547467741255502955500973624886601051830368736646948606762326552614830808699558496242752871568671116022767183822506018495242930034442876664949008999500281061517966931640471388360151031106183240142875972567063278696087602208638060353607402601735013091772899220466516437026842248182403718106669405194496232913071964402469710925450822130418483599798652852988208460450100424137993493887121982341621877445853748595789137034066088983548373777060223121584534633287197660296425650125325836015451263031762584794381532311311775709888398595248195040819401627555736086812435319208382572974397350654801375414021502499779557007401397851704228899611843959284859445293806012532421760716090382616319599410589642542962102580696531543911225181587365300710394761471063893302427330197598438882043762022493903450231106202745774014282240130288552342911360962787509679963103630245690218972981656517410971460185422545988098429441292434184231965024145217576228909944620354029057218621284741947507247209843913384398725516623413147320701490628068281250413274522466966753749403036293303539592009060986081848575010764926795765099838371454156004162550067362578392514154814395932820808000453195901110260160248174344178967255747062068910062031554943649933560626237867209281750579932449037949324865405038615461800237181325292545979216916079360288288657555803699037967850190624505086659645824306332560234053087322786737994115819394014830793645389529004119942844476724907244374852985996089268883639909485497079355605495677914266368821399619423964520747807528769826768425938520695732641025843976201059528107559283939538501502155250632475472510635247955042246848345764144866488533336050236612983098113314819764886397353354995488999109582169823443372215397839774717102494056576176443583433089512443579342437150918251786694120797621839880008535291382605441275345261130074117736388874009425450900552495687874339099167135864875281126678985859107510809385688552851117515244870584922183358060606762818280895588254922291683891233178936439897527359811409132584734452813011252864269986481801412050420015813271305766249846572296270228553064692249311573134747552932462294850735424732462214823901439359357623599284716656199137380755893769298276039173251799470462043171945961568490198934378553726236411029266380599566796345434502815695203416186710044358446124278523777484051734673160175658655588698571046454103878657862091117228312252983781098334210857837731668896733920513115012128627821188050461109794769073852690295252690842014313120601247585922090744362232896103402185833287891044871635232253552184406318597641196346202911624898265046495049335154237691598354751002753339989163085892528768646387926553999769062927314992998470080044214004407321122019923354829493852380405972624182099977891870571028155386491515940481011228462815816477521293110693094582218710838837361438545191911683136460488318808369322170443106934841911002687176262279187542945577773656023273929981246821812954514503689355594598218299047404934167022167596343678474410228514089992011364050533050094435384150897161008652518967088668256077902784904117585671636660739210815206343950439245770147553579929779920737994966101669130363522514022706325771893322286256072105389516522345140875084462720432073223217405141135070912068463829482535918885391544671567530967794371953688219963749 284950611061987064488487778196118306542650795636526498510120504732606572575433115583540348490878280950824154541774179971981907464128793148086120789239245034685964588358566226737241954532461834393588238684613237334970965754656664379143252087006343240761380355805062736933066981695082539034001778660544174246404757416990770688741852583465380862124614357324867578703451180775656555610533506713336900155706149458645091191446096705353449088179078288908004122447615127835166053603556736635746475661467541376265639015113440948187707203075413561828822688699847730556412373262555850290399353632263259902318209998954247348888179006759597111506090577751777847977069160884543875614620388710689798490032686675750000998578185146873853473732715263815500583981935517748831582414190259369625703349631826282899984148455696091965119838785494051690817476890086545939600563246318589909314439998811070499101392679887989812861288649590464324412764277123157737686305019084661274104495583187107201884393776792402777845350396032831508637724046352481626581371965924001959691999890030736699861965553766664281476610168605196431757034122053900657720974731028040303640845221894462687785753205943275347058712022984185251539074488042874652565752131853001016404293104016649858718642939197613885934159333328291375267350596126450421056259888971583350631363294286803470583156061868507320553759491047425325786074334353804850411651290623160288441814161604396691637660687265335630257854768343076135277544797395005376122397887802401200935577770423393219998782382015297098865539302425360762569033723642802732912057531970068148684680483008910235055770346698787983602715674726213733381377416551528976165837290277934518014715456018875277747485558313365793802231885411098056866469127305181035277786418507381752491432535307454094018169502178943397514788498627623024524401734464774340822377733808077300914451361389880384804156741847236153573305613857396976736686115780762338355004648722554110079645532035315741312619329091357534982075468736998597485222662204008512474315750771540498003957658534138240823898845254571495471628436728745069818028736170721388120096237684160399624699636124001870968458499973380891939349613882594943532841475044842127427851335355362503474046729267818693975121460192959721384484389310931645435942235410198098120026174195712098027146112168840944888489726712268790610420491730051278514655882996800112926432088477815555999817433256207776476393115858214711579642793245025977410878699288420269296192097743555973520769024712083277061473937141397209468294168794133422838778433079122490646975158060765985726468218284627501471337385297931594930178247919879439745663953444548015447595524265265968320843313938895899811502739274825271133893853687719620955438206642638068823560009897135859507207101099741109307129224498510124323357433070420009680181118566779277462234199514219313162233889585416495488626165781484549307613618447719315116502480361710674319566496685505047807798602145968368303137134379784242523638394828590040661378241652650369870181131877901836864479428381949676227073035881908361065470434558355371609959844368144057293091934933098078380325850636552902126774816816425473038511241847564738856498119047623352027879497291310593861151903181809554405847076215749177671811892226259699725318272103685090298825130977555036890501498184839680015070229221270516847726990642018071723544197175601375781107401586693953291943409488032048509540555452722761955161241634915275637693013853124225358426008948187582845138150669765775798064072137486288444200545973937195096011346217931222855693413801258076085705098375697770868293874547908347776247 461059773813346840386854111614211606179858016095937648051957617802203977698592870240676076128117852374086658957901442213103843017903541413992766611996012417012696518457607600691381555808306740346216478267982238869258022493241683966390413301929359765128254248800345124384809969458136035157658415959187260629513260964458511944244808084439005748725666187693604225652057943102209170441342206271833142908577718129761113958629919211371944331109112731784669071456614628116227571570488377107134835812498647559505781891086008011466403290677622199889176296102449465569504146161776316806836380474511442306036316668359441845121092078723999581217016028573908266460668959537396863823080838811113936483526573797732342620455631000622449262869749329904484132355712577971953166948823546567285999775281951608735999599718727854549914220317805363466527365288681794134641382647946145645401252434130278881674367077238644614236702671092964103969771678521009441915204630928620558963940876993119734306154492882785394164949806622474051599826627049013170492597147511367260402394651501800593164392883964262720358653930627690335207265228256646431735256971158328855983756582857250197465716309573521037277685004640702662510534673465420640664181573145435200636258128161867434947552883817967914991377954613033322774597805970363805454985405594996497952064784914871751833569336390974287307508894083718629325666343414790932260226301388087084206913999975850847641823237332698208650368923157472068098352797848201277232658048050575545114545026170455288908844413570240748799099928663227971850784303575251770861382397375106764146480720190235527601749563614867343891004332282017432419345266742153481252496936102240850574949509106198064485479674132759808633025530800627060986411971781905942522161271493377841760316175216939591097525107674621311781157320027242448488922482272303110649146159746597996647092387233856585863684849406520093111807116012647609212158626416010293397251497068318254946134065371365977925602427204672354746961866090353592974221771786178335917687966169380272721060152590714417267482278344083939050970873879663321604722856968343228000104772975543005065974981385131945086194888847390317390250166378282817871940642180707002708978014341221610984856114956371545092636705063544643567842449917694463716837823665120389803917407374648537924673471980250077473224179525280043474690478211852690565075898810071418692681935050111826228370497948457088049527863411147173874493528669758439625702600727779626919791382460212172658149780605852575337513110393196679930337340740094991328977367457676216883386187327146585293264563719130317166540801484641639288624372198403217229715688117708191106251112963837014774947192596757990928731051527809052232228064545557352624334940563151183835688637718323909968316895868814961997424477189352138636478034318005931770925480799675380864420032802110358033869121838968679894944763422680895510525243345984361611551815515948365917921247688258387796961688038497136949525060933784011586565709821588510741422455657057690992201055232731330716859834354573858327050927752479389220856926074295852621188307183960534814385045626192660599036689473914340671966728499561933526830050216886909299605053889534354715055759570498136806729676837832828335828323037562132186315581581854297943617319508619257320992727321233511300730012274831691379120762271364952231877887803026724242511285843857453683892305704279624928604148698847254853490994698492909508741171414836013632659115522254588880940031654513354738460436925837881187580594482627163528663266406010418313416487353002134924157243283793994971096643047265301836088246501596567739996 746010384875333904875341889810329912722508811732464146562078122534810550274025985824216424618996133324910813499675622185085750482032334562078887401235257451698661106816173827428623510340768574739804716952595476204228988247898348345533665388935703005889634604605407861317876951153218574191660194619731434875918018381449282632986660667904386610850280545018471804355509123877865726051875712985170043064283867588406205150076015916725393419288191020692673193904229755951393625174045113742881311473966188935771420906199448959654110493753035761717998984802297196125916519424332167097235734106774702208354526667313689194009271085483596692723106606325686114437738120421940739437701227521803734973559260473482343619033816147496302736602464593719984716337648095720784749363013805936911703124913777891635983748174423946515034059103299415157344842178768340074241945894264735554715692432941349380775759757126634427097991320683428428382535955644167179601509650013281833068436460180226936190548269675188172010300202655305560237550673401494797073969113435369220094394541532537293026358437730927001835264099232886766964299350310547089456231702186369159624601804751712885251469515516796384336397027624887914049609161508295293229933704998436217040551232178517293666195823015581800925537287941324698041948402096814226511245294566579848583428079201675222416725398259481607861268385131143955111740677768595782671877592011247372648728161580247539279483924598033838908223691500548203375897595243206653355055935852976746050122796593848508907626795585537847664639231088588734419818027218054503773439929345174912831161203199145762657519910313655327493720007008231165800722683293682457418334226380175368589664965125073342232965232446125602435257416211725117852881099087086977799947690000759594251748710524393685115694609853564709295945818654865473013324216737077451471523893554675297561543748623736970667841591253756246685112729870044585948844742196772631752256145790872365025779597406681719238221756296029889729037334827352190459444433990186848392003716940920770725017811124852658091381123598655434522599310608408391422751593139064616120201010659703404690674617509133816054653388820771209329599780260877761404782117225549130136829349696584114458902844224190239067758165256504364952326839228626109152780059075318487923943581570360635951819584149091022361713906237548834085110969941903969079731781806871531619114023527927382228187931204664864525920979269361885454136321914784417036581300016199896215983480203768146178918805317935852398987047534593889398631509534228414167755800536798707530361345387912571019732782003757818637878186782573234218802620118282656975379641562256206553846637229102983095790506535653890740233790802634323366121918233276973579773147205789252659248647615459769475523996968556071304553701687862262959835467388425941451106599366454658326654232316329671196103011424385175383570929204165444818138861793703676728054295877659040237487744373763435604760290184465505252662195313568254110204104650178551402800697309708060862382187110633167581339262736523534554123963634387750286327360632651224231148151552104592107476980559290738979362540110467242798741545315987406565341292064451648156103172937157706742935256861808730667881580019642382741675399253311309858127473808113997668935591612304347619817858298788548191231510459671371394190991492635469079604878445044795966055483019458829464999707290973578220547558186879303363031550151215671463902413049751289270352129375378814239366040602700937583598587595603656985644666620113451972863812379947613409427833570933357779850657085052071056801741422963072704382121049504915516243 1207070158688680745262196001424541518902366827828401794614035740337014527972618856064892500747113985698997472457577064398189593499935875976071654013231269868711357625273781428120005066149075315086021195220577715073487010741140032311924078690865062771017888853405752985702686920611354609349318610578918695505431279345907794577231468752343392359575946732712076030007567066980074896493217919257003185972861585718167319108705935128097337750397303752477342265360844384067621196744533490850016147286464836495277202797285456971120513784430657961607175280904746661695420665586108483904072114581286144514390843335673131039130363164207596273940122634899594380898407079959337603260782066332917671457085834271214686239489447148118751999472213923624468848693360673692737916311837352504197702900195729500371983347893151801064948279421104778623872207467450134208883328542210881200116944867071628262450126834365279041334693991776392532352307634165176621516714280941902392032377337173346670496702762557973566175250009277779611837377300450507967566566260946736480496789193034337886190751321695189722193918029860577102171564578567193521191488673344698015608358387608963082717185825090317421614082032265590576560143834973715933894115278143871417676809360340384728613748706833549715916915242554358020816546208067178031966230700161576346535492864116546974250294734650455895168777279214862584437407021183386714932103893399334456855642161556098386921307161930732047558592614658020271474250393091407930587713983903552291164667822764303797816471209155778596463739159751816706270602330793306274634822326720281676977641923389381290259269473928522671384724339290248598220067950035835938670831162482416219164614474231271406718444906578885411068282947012352178839293070868992920322108961494137436012064885741333276213219717528186021077103138682107921502246699009380562120670053301273294208636135857593556531526440660276339796919845882692195161003368612782925149507642859190619971913662778047697163824183500702244475999200917705783433666205776365184309691683110301043446077963715567075358863401942739373573570184488071713027474450107407844120305783635246409756649598894265761140848277668161526719849946639160579276722759406256132845807364037805725443758959180561784160394870320049008520169289146320572869617882740438877727860988945009173876493056129341099834938085762828877559801448153756659644807680616942950311795958578039208456558429153121952575448842680509059328629850584542856662283900743979523135774862663980318837068585923788427736500157927790569328968850274323405496733167994474924413747532715059156312997345722888135804418988267214873507426992316685874205095329679964397660097750192939997870737699132411881668964842330443375598349982778834326204108087768940436494937285333783679443840892837371033301978178877214401596313501706431873222032080166130039191074265118440029229972133263353855278515692626846340328664105139688038339606111393607406155408992062021823401721978222962642202187256247352265696769814471767062144223152966765751854583242343364498298199097091097392881174891386867139507184286706947076852336458736065126921862026185483399578399229584381583470708273815549340092171342281338557455708226826692061457991016432306867474611256857475211077503722290873442044443055389968295612552911120923604940810585620022059491961522734503062773311753764000421311482766248071520208566768863316283148892012995253203149151706885726558216522544849708580972643584464587302903011244897633403120306072257214292322059024521441538173225261102740615501527078785958031722844320923935492704007900368846066027898384470228374540470367551101483256239 1953080543564014650137537891234871431624875639560865941176113862871825078246644841889108925366110119023908285957252686583275343981968210538150541414466527320410018732089955255548628576489843889825825912173173191277715998989038380657457744079800765776907523458011160847020563871764573183540978805198650130381349297727357077210218129420247778970426227277730547834363076190857940622545093632242173229037145453306573524258781951044822731169685494773170015459265074140019014821918578604592897458760431025431048623703484905930774624278183693723325174265707043857821337185010440651001307848688060846722745370002986820233139634249691192966663229241225280495336145200381278342698483293854721406430645094744697029858523263295615054736074678517344453565031008769413522665674851158441109406025109507392007967096067575747579982338524404193781217049646218474283125274436475616754832637300012977643225886591491913468432685312459820960734843589809343801118223930955184225100813797353573606687251032233161738185550211933085172074927973852002764640535374382105700591183734566875179217109759426116724029182129093463869135863928877740610647720375531067175232960192360675967968655340607113805950479059890478490609752996482011227124048983142307634717360592518902022279944529849131516842452530495682718858494610163992258477475994728156195118920943318222196667020132909937503030045664346006539549147698951982497603981485410581829504370323136345926200791086528765886466816306158568474850147988334614583942769919756529037214790619358152306724098004741316444128378390840405440690420358011360778408262256065456589808803126588527052916789384242177998878444346298479764020790633329518396089165388862591587754279439356344748951410139025011013503540363224077296692174169956079898122056651494897030263813596265726961328914327381750730373048957336973394515570915746458013592193946855948591770179884481330527199368031914032586482032575752736781109848110809555556901763788650062984997693260184729416402045939796732134205036535745057973893110639766552032701695400051221814171095774840419733450244525541394808096169495096480104450226043246472460240506794294949814447324216403399577195501666488932736049449726900038340681504876631805262982636713734389839902661803404752023228153035576553373472496128374946682022397941815757365651804570515369809828312640278432122196651992000377711644912418095660628724539462423814481930909982105966590684746360357786817101369821949870944782766172499327273698865200760179419351758342867748465015987391241724280135487205462384458727600359808551819664488968531273631944108878102971727332730127726645954442297175049788107726229612434968531180474971242220604213944387422042980966528205668065772409198633133077698964471901012111299783881234974729689154185932949243448919364889805927104606531880565076664556148969094857814673138679532584697517728497434769700426075144687739030662086621831011785146802966933391715067660407271266446392896736435785259006482268407428147454849451560920519806973919121945613547023850276473812716965429453997665879538359827620927435298855021254889793511647339598301083484610288169719029339006744774138557761769694848826269449819131536746657512634345790205611811399763849768200926273294115598142492836877117593819179121544184751902570529198082293281488502733227952560628443918810607683193033194174434167502745256635890391087644693116316174622251882775112613891720286226781369699265072605861579554095000924252436545997514338592173363374273012217359672112859915229905657612117045195158869927722854067474390891165905645132272154494868850483858557453898137084700125893191447244852488600606398772482 3160150702252695395399733892659412950527242467389267735790149603208839606219263697954001426113224104722905758414829750981464937481904086514222195427697797189121376357363736683668633642638919204911847107393750906351203009730178412969381822770665828547925412311416913832723250792375927792890297415777568825886780577073264871787449598172591171330002174010442623864370643257838015519038311551499176415010007039024740843367487886172920068920082798525647357724625918524086636018663112095442913606046895861926325826500770362901895138062614351684932349546611790519516757850596549134905379963269346991237136213338659951272269997413898789240603351876124874876234552280340615945959265360187639077887730929015911716098012710443733806735546892440968922413724369443106260581986688510945307108925305236892379950443960727548644930617945508972405089257113668608492008602978686497954949582167084605905676013425857192509767379304236213493087151223974520422634938211897086617133191134526920277183953794791135304360800221210864783912305274302510732207101635328842181087972927601213065407861081121306446223100158954040971307428507444934131839209048875765190841318579969639050685841165697431227564561092156069067169896831455727161018164261286179052394169952859286750893693236682681232759367773050040739675040818231170290443706694889732541654413807434769170917314867560393398198822943560869123986554720135369212536085378809916286360012484692444313122098248459497934025408920816588746324398381426022514530483903660081328379458442122456104540569213897095040592117550592222146961022688804667053043084582785738266786445049977908343176058858170700670263168685588728362240858583365354334759996551345007806918893913587616155669855045603896424571823310236429475531467240825072818444165612989034466275878482007060237542134044909936751450152096019081316017817614755838575712864000157221885978816020338924083730894472574308926278952421635428976270851479422338482051271431509253604969606922962777113565870123297434378681035736662763757326776845542917217011387083161522857617173738555986808809107927484134181669739679584551817477700493353880304360812577930196224203973815297665338336349944157094262769299673539198919958227636038061395828444077772195565346420762585313807388547905896602381992665417521267254892015824556196243379665559460378983704805696407773222031590077763206589204713866249417288369347143040757432242705940684005799141304789510908769676818664630380004111396023083870130361149101504158942487533205531728783853055977165512707871987363390175028056569210082875225161222136525748556357856410818030883645727473449534090246716163317002981233656604751654405385570300922185001874042137614982978837265904800477654078163475463521074562821883790945625987989322743670125649123218283027128363205782643298137908510059442291066152462470801289687895170759698714736708802762553209729656047277951092885940602314457858125475467072073079753407266518664873852548305728497807082408204246630390789657036707808272785503743733593712675691247003243239564571548671797362164177737456918718320316473746408122029300695934046545377935821069024234845951201032930257538136160999279230409740158092947086086749683976627128763067519626590541829658917289726422465617104093734592804896682843835058193947013584588050588894041413854151557501439029538832667175154555928677496940814499020636311702570410941187836383189020746091395762783733281479984518850971958332419796076639850632833409189581978925895076374619170645620479978185117129522227716636638486733332095188825594682975917969951863676855116475418804343187866457822744203112598510363419821785322856151707882028721 5113231245816710045537271783894284382152118106950133676966263466080664684465908539843110351479334223746814044372082437564740281463872297052372736842164324509531395089453691939217262219128763094737673019566924097628919008719216793626839566850466594324832935769428074679743814664140500976431276220976218956268129874800621948997667727592838950300428401288173171698733719448695956141583405183741349644047152492331314367626269837217742800089768293298817373183890992664105650840581690700035811064807326887357374450204255268832669762340798045408257523812318834377338095035606989785906687811957407837959881583341646771505409631663589982207266581117350155371570697480721894288657748654042360484318376023760608745956535973739348861471621570958313375978755378212519783247661539669386416514950414744284387917540028303296224912956469913166186306306759887082775133877415162114709782219467097583548901900017349105978200064616696034453821994813783864223753162142852270842234004931880493883871204827024297042546350433143949955987233248154513496847637009710947881679156662168088244624970840547423170252282288047504840443292436322674742486929424406832366074278772330315018654496506304545033515040152046547557779649827937738388142213244428486687111530545378188773173637766531812749601820303545723458533535428395162548921182689617888736773334750752991367584335000470330901228868607906875663535702419087351710140066864220498115864382807828790239322889334988263820492225226975157221174546369760637098473253823416610365594249061480608411264667218638411484720495941432627587651443046816027831451346838851194856595248176566435396092848242412878669141613031887208126261649216694872730849161940207599394673173352943960904621265184628907438075363673460506772223641410781152716566222264483931496539692078272787198871048372291687481823201053356054710533388530502296589305057947013170477748995904820254610930262504488341512760984997388165757380699590231894038953035220159316589967300183147506529967916063094166512886072272407821731219887485309469249713082483212744671788269513396406542259352453025528989765909174681031921927926536600352764601319372225146038651298031701064915531851610646026998818749400439237260639732512669866658811080791506585405249082565990065830616700941473155755465161545896213936914413766371953609031470129975748793533118336686205344228242069763584300849626284345077917093886605464571914173615922789972389826051149868695586778188486580250948894162195583197404060014302264338361839291548399477248869043368407236988007474568852559486784169569891427044825711105057022188301965288921002610978457601176180044689013338366791088959886217186622936566045272164405606087986525037025959803794110468543426487362108596598773527293784803056925771870557718399814803309151232270577282570672449225242515041940007367730708611439896147502568309439231299434226531259987979430082122422638831916602688936288869910622270039006471468474926925936140298941202464933592341414686515037818937111886159369193305310717652715658289238270853519713377288514101251359830057275816746339247751772601429376919094207581386143679019305679312404564980540039675031676693922768974079236009607912078622833407196610972918968679331026354391597859843563020538063759596930611710398715861965379242945849584113786132882175529916587379510062067473457643274858347589122851931108317244277272202093658055634304152557811272628866508376675453567706765888550237030938281375630734851557085845735579493264487249737993443657837839650297977044752133374248755531928490965116548448750450308861117769321987388629913673193671725015276642340197298636256611269030175344752314280801203 8273381948069405440937005676553697332679360574339401412756413069289504290685172237797111777592558328469719802786912188546205218945776383566594932269862121698652771446817428622885895861767682299649520126960675003980122018449395206596221389621132422872758348080844988512467065456516428769321573636753787782154910451873886820785117325765430121630430575298615795563104362706533971660621716735240526059057159531356055210993757723390662869009851091824464730908516911188192286859244802795478724670854222749283700276705025631734564900403412397093189873358930624896854852886203538920812067775226754829197017796680306722777679629077488771447869932993475030247805249761062510234617014014229999562206106952776520462054548684183082668207168463399282298392479747655626043829648228180331723623875719981176767867983989030844869843574415422138591395563873555691267142480393848612664731801634182189454577913443206298487967443920932247946909146037758384646388100354749357459367196066407414161055158621815432346907150654354814739899538522457024229054738645039790062767129589769301310032831921668729616475382447001545811750720943767608874326138473282597556915597352299954069340337672001976261079601244202616624949546659393465549160377505714665739505700498237475524067331003214493982361188076595764198208576246626332839364889384507621278427748558187760538501649868030724299427691551467744787522257139222720922676152243030414402224395292521234552444987583447761754517634147791745967498944751186659613003737727076691693973707503603064515805236432535506525312613492024849734612465735620694884494431421636933123381693226544343739268907100583579339404781717475936488502507800060227065609158491552607201592067266531577060291120230232803862647186983696936247755108651606225535010387877472965962815570560279847436413182417201624233273353149375136026551206145258135165017921947170392363727811925159178694661156977062650439039937419023594733651551069654232521004306651668570194936907106110283643533786186391600891567108009070585488546664330852386466724469566374267529405443251952393351068460380509663171435648854265583739405627029954233068962131950155342262855271846998730253868201554803121261588049073978436180597960148707928054639524869278780970595503328575379638005248847369758137457826963417481191806429590928149852411135689436127777237924033093978566259832147526790890054340150594495205463233748505329346416321863473978188967355939379604356455007151210630953005558218667067534421163403768497304326824753931206032722099345572749695879461932242734514840738779974302269986933241582770744659821699739033494624185074625714134935729501683794070193542821938277341951615573086590607962028662652008938641060015269021080565525584060119848090115668594002551759859880462069940452432369515297705645776455092523380423551999449658796861073910697437190463480198930014170935334022541189159738169700589924802543291250746728036097737111079551221882193444601014151489508193431399423822890761668209726768922867177466090814461386309370964929517856762952941860062773048721994235013273665057568068246347837498948394903515432689056955126748336639410931741072605289214830083768253309645749766005025708920156880587600047731746850652944933427518760852746960529376701024346303203612544809214301139796597698374183471069571330441531067563506502996475942033502145051529428049131743297908513796228466575491988941000293374957904139459186849186750407401208989270701171707374702189919254925161472190382326112612614303458319628483094174274361090885394018661823060305374043433426226831069632998842505105332477536859591473099386543309897146620031090815498200904022162829924 13386613193886115486474277460447981714831478681289535089722676535370168975151080777640222129071892552216533847158994626110945500409648680618967669112026446208184166536271120562103158080896445394387193146527599101609041027168612000223060956471599017197591283850273063192210880120656929745752849857730006738423040326674508769782785053358269071930858976586788967261838082155229927802205121918981875703104312023687369578620027560608405669099619385123282104092407903852297937699826493495514535735661549636641074726909280900567234662744210442501447397171249459274192947921810528706718755587184162667156899380021953494283089260741078753655136514110825185619375947241784404523274762668272360046524482976537129208011084657922431529678790034357595674371235125868145827077309767849718140138826134725461155785524017334141094756530885335304777701870633442774042276357809010727374514021101279773003479813460555404466167508537628282400731140851542248870141262497601628301601200998287908044926363448839729389453501087498764695886771770611537725902375654750737944446286251937389554657802762216152786727664735049050652194013380090283616813067897689429922989876124630269087994834178306521294594641396249164182729196487331203937302590750143152426617231043615664297240968769746306731963008380141487656742111675021495388286072074125510015201083308940751906085984868501055200656560159374620451057959558310072632816219107250912518088778100350024791767876918436025575009859374766903188673491120947296711476991550493302059567956565083672927069903651173918010033109433457477322263908782436722715945778260488127979976941403110779135361755342996458008546394749363144614764157016755099796458320431760206596265240619475537964912385414861711300722550657157443019978750062387378251576610141956897459355262638552634635284230789493311715096554202731190737084594675760431754322979894183562841476807829979433305591419481550991951800922416411760491032250659886126559957341871827886784904207289257790173501702249485767404453180281478407219766551816161855716437552049587012201193712765348799893327812833535192161201558028946615661333553566554585833563451322380488301506569878699795169400053165449148260406798474417673441237692661377794713450605660785366375844585894565445468621949788842913892922988509313695128720843357300103461442605819411876570771042369780183910488074217290375190903966434939573122557120353969901260589937786263950578793407089248299943233195637790881901899720414250264938481177706032835666166116302330683281591142713979986683886936501095294001624908349865729314812644346639792932961786988660036105602642675801894179624742840050585159153429039124900278517660845250996214050015187689034898444854125737564507052887692656718621617409453397059477531730438180469755255741520747568282928347127541748622938593939457026527569685350593584693031789638161313605161865282529168589820292123228756719145980187035597946720007150086022690357120370537154450430710658364991765237577276706028663880809026546659396125179039025029254167788710282666319148576874300081824292289090411396815820018949266875867489111096818832735974432427649043975912281112280320891524006537227388881759373917104331753564077198572966700426181679299325025378604415767498593136297954958013602328406774593544085646181812160316353245101247028910577625573976454119216891849734174381359157448987575180715889886522209796141498811566003824412516134640416893516295951446020208982547338109553747005100660740965454869575850606057961296159278781071219026494465134149550590314025421922492183876535692187402320829893735246150730531316488376028883507195782876642359845673545656336443631127 21659995141955520927411283137001679047510839255628936502479089604659673265836253015437333906664450880686253649945906814657150719355425064185562601381888567906836937983088549184989053942664127694036713273488274105589163045618007206819282346092731440070349631931118051704677945577173358515074423494483794520577950778548395590567902379123699193561289551885404762824942444861763899462826838654222401762161471555043424789613785283999068538109470476947746835000924815040490224559071296290993260406515772385924775003614306532301799563147622839594637270530180084171047800808014067627530823362410917496353917176702260217060768889818567525103006447104300215867181197002846914757891776682502359608730589929313649670065633342105514197885958497756877972763714873523771870906957996030049863762701854706637923653508006364985964600105300757443369097434506998465309418838202859340039245822735461962458057726903761702954134952458560530347640286889300633516529362852350985760968397064695322205981522070655161736360651741853579435786310293068561954957114299790528007213415841706690864690634683884882403203047182050596463944734323857892491139206370972027479905473476930223157335171850308497555674242640451780807678743146724669486462968255857818166122931541853139821308299772960800714324196456737251854950687921647828227650961458633131293628831867128512444587634736531779500084251710842365238580216697532793555492371350281326920313173392871259344212864501883787329527493522558649156172435872133956324480729277569993753541664068686737442875140083709424535345722925482327056876374518057417600440209682125061103358634629655122874630662443580037347951176466839081103266664816815326862067478923312813797857307886007115025203505645094515163369737640854379267733858713993603786586998019429863422170833198832482071697413206694935948369907352106326763635800821018566919340901841353955205204619755138612000252576458613642390840859835435355224683801729540359080961648523496456979841114395368073817035488435877368296020288290548992708313216147014242183162021615961279730599156017301193244396273214044855332637206883212199400739180596508818902525583272535830564361841725698525423268254720252269521994847548396109621835652810085722768090130530064147346440089223140825106627198636212672030380815472731176320527272948228253313853741508848004348008966402874162476747906364817166080958306585534068328020354102475230607006259649737928767760763028627904299688202789001512854905278632917332472902341109801332970492941056261889314313242059552736379766398433338028516465647129840031584799577588222563677621608688399069600226827750427608314560472341734379229346971861063177620469276418337586822012043850341043837085914141006585587618413276716838469707525121991062029291590318642539695708173890262865988574123582634272003362145938906685324430759261291021883495269837091327776097199305070357749558461823818681521689271437782325982817744261165573912239313815138168601920218851796391189060468038374238390649731893724125486939640425334400219097306567045619261008639647348803818527302364076454383888265297104374815884014612251521792929559175985683386844022184885610106354090305480698527509139922130040673720957786173014432173032332244258452897365268514459122512998979304316805940951583807845225442779510534499824314672577470441645189080479450595158925351879225910787206580730873089229686114988785288130439811859378782316655593827266080266703352655009479683719045484255936924355585902437645251901963218672264754478907264165393300855556019543569252137085727296535617302762523257035319672398840578628267390907961475415426817092929496673450661171746560358606461051 35046608335841636413885560597449660762342317936918471592201766140029842240987333793077556035736343432902787497104901440768096219765073744804530270493915014115021104519359669747092212023560573088423906420015873207198204072786619207042343302564330457267940915781391114896888825697830288260827273352213801259000991105222904360350687432481968265492148528472193730086780527016993827265031960573204277465265783578730794368233812844607474207209089862071028939093332718892788162258897789786507796142177322022565849730523587432869034225891833282096084667701429543445240748729824596334249578949595080163510816556724213711343858150559646278758142961215125401486557144244631319281166539350774719655255072905850778878076718000027945727564748532114473647134949999391917697984267763879768003901527989432099079439032023699127059356636186092748146799305140441239351695196011870067413759843836741735461537540364317107420302460996188812748371427740842882386670625349952614062569598062983230250907885519494891125814152829352344131673082063680099680859489954541265951659702093644080419348437446101035189930711917099647116138747703948176107952274268661457402895349601560492245330006028615018850268884036700944990407939634055873423765559006000970592740162585468804118549268542707107446287204836878739511692799596669323615937033532758641308829915176069264350673619605032834700740811870216985689638176255842866188308590457532239438401951493221284135980741420319812904537352897325552344845926993081253035957720828063295813109620633770410369945043734883342545378832358939804379140283300494140316385987942613189083335576032765902009992417786576495356497571216202225718030821833570426658525799355073020394122548505482652990115891059956226464092288298011822287712608776380982038163608161386760881526095837385116706981643996188247663466461554837517500720395496778998673663881735537518046681427585118045305843995940164634342641782251847115715716052389426485640918990395324343764745321684625863990537190685363135700473468572027399928079767963176097899599573665548291931792868782649993137724086047580047493838764912158815062072734163063404736089034594916318865868411604398320592668307885701417782401646022813783063073345471463517481540736190849513722284675117706270575249148425055585923303803982044871449248116305528356775296347328259880918780008772654346387235980582107541271862273020473641450577474456445131867596197436001879346554170117876204242921398426792394756804999047167597411383518815834168636659057358592572595904384773532723063653334934433322518090555479705760899612221934862356610583395677059105705829470426229502494185215181784964388500400900188077898986937263588583036062059038030078735530768266744150094671300969373557091324934575388121506823320756823009450963915411010434271502470710176020626300739878363711852000444611884606576527059475252641381259064587599526339378753947047438240835251624817923929537751411251596602596434185675323052350929510161382954298045315080267054530540920270784883064819464359429473265095277328285580157216521648885642819591454487851199708284246371250683373125709070354528903991603634727362756303297165930997878096842708087409268513839234372427285034984745981132599214011543583478275969684281957715649296934262330408269358358401389311088961322694816177559773824499352222814654455904714375817201613400292146364029718448269945576001510995084271938623425382606729171728467682973782999304101029688666266383593809683929456246643403100121477813824730226050638186045236612327350021153693119842451111149219027801179298215444437640502292575824778997922224449851444310324288712373315810506845292216695050092178 56706603477797157341296843734451339809853157192547408094680855744689515506823586808514889942400794313589041147050808255425246939120498808990092871875803582021858042502448218932081265966224700782460619693504147312787367118404626413861625648657061897338290547712509166601566771275003646775901696846697595779578941883771299950918589811605667459053438080357598492911722971878757726727858799227426679227427255133774219157847598128606542745318560339018775774094257533933278386817969086077501056548693094408490624734137893965170833789039456121690721938231609627616288549537838663961780402312005997659864733733426473928404627040378213803861149408319425617353738341247478234039058316033277079263985662835164428548142351342133459925450707029871351619898664872915689568891225759909817867664229844138737003092540030064113023956741486850191515896739647439704661114034214729407453005666572203697919595267268078810374437413454749343096011714630143515903199988202303599823537995127678552456889407590150052862174804571205923567459392356748661635816604254331793958873117935350771284039072129985917593133759099150243580083482027806068599091480639633484882800823078490715402665177878923516405943126677152725798086682780780542910228527261858788758863094127321943939857568315667908160611401293615991366643487518317151843587994991391772602458747043197776795261254341564614200825063581059350928218392953375659743800961807813566358715124886092543480193605922203600234064846419884201501018362865215209360438450105633289566651284702457147812820183818592767080724555284422131436016657818551557916826197624738250186694210662421024884623080230156532704448747683041306821297486650385753520593278278385834191979856391489768015319396705050741627462025938866201555446467490374585824750606180816624303696929036217598778679057202883183611836368906943844264356196317797565593004783576891473251886047340256657306096572398778276733482642087282470940399854118966844721880638918820800744586436079993937807572679121240503996493756862576392636392984110190340082761595281509571662392024799951186382120359261624902826475971795371014462811914759572223638614617867452149430230253330096846015936562605953687304396493571209892684908998281549240249630866720913661068724764340847095681876347061268257953684619454776047769775389253756610089150088837107885266788975175528508863983886946924707352820579606007709778597828558920362474602457085739808114314933146504108542609601215793907611710277680084929884285859925635501607151998414854461910217626833085459443419733367771351034556202609545792484411799523084920288205004365458175306056298176657110808745687523519343617847372761251255519456213681926169858074102888371122572616682407750735682289714246090395561032459697379183536114911075465549146672089301273300260076594292810292629662885817270397176431203873175628460022329312343969157356263892669884088937215770866119762524523062600249912355495672417170514835748000813491654271148361957774143358513353454505445180272813994910370004459889693829692362401844373904841165856168997689461346893818564305583596549543475625499257140321321876321833550779620410749600325482051541104232187148188785936777653761364413101005992770918995564772246343787841931173334952796416838162295913566647214210309942209234536531740833229316001874446401969793868003734935355309534742553492626202933570610449321359175262116499780372402378435284761389045827322294949054049702656756039168349985429078065620853811832545840745373379777043402490805117093309402005628205577173236689094588196876515563418482060738701472960174691416403407265313132411326859737141381641869989261168017038777053656553229 91753211813638793755182404331901000572195475129465879686882621884719357747810920601592445978137137746491828644155709696193343158885572553794623142369718596136879147021807888679173477989785273870884526113520020519985571191191245620903968951221392354606231463493900281498455596972833935036728970198911397038579932988994204311269277244087635724545586608829792222998503498895751553992890759800630956692693038712505013526081410973214016952527650201089804713187590252826066549076866875864008852690870416431056474464661481398039868014931289403786806605933039171061529298267663260296029981261601077823375550290150687639748485190937860082619292369534551018840295485492109553320224855384051798919240735741015207426219069342161405653015455561985825267033614872307607266875493523789585871565757833570836082531572053763240083313377672942939662696044787880944012809230226599474866765510408945433381132807632395917794739874450938155844383142370986398289870613552256213886107593190661782707797293109644943987988957400558267699132474420428761316676094208873059910532820028994851703387509576086952783064471016249890696222229731754244707043754908294942285696172680051207647995183907538535256212010713853670788494622414836416333994086267859759351603256712790748058406836858375015606898606130494730878336287114986475459525028524150413911288662219267041145934873946597448901565875451276336617856569209218525932109552265345805797117076379313827616174347342523413138602199317209753845864289858296462396396170933696585379760905336227558182765227553476109626103387643361935815156941119045698233212185567351439270029786695186926894615498016733028060946318899243532539328308483956180179119077633458854586102404896972421005435287765006968091554314236878023843159076266755567862914214342203385185223024873602715485660701199071431275302830461781361765076591814576564266668665312428991298567474925374702611940568338942911076124424339129586656115906508393330362799629314145144509331757764619801798109869806603639696967225434603792564472752073366437982361168947057863594184893582601179519844445309204950320314736707529829524884648922635628374703652462368468296098664934495166608604870491655105086798139594023675747982343753012757731171602911763174791009439458553366257125495486323843876988423436820919219023505559284966864446436165367766185568983948182855251219867529032248624682852626481351229175303015365494342198654521741687460869103264380312785530999642586302368515276727252527295669378741469670243811055773447034506122011606618182507073068302204673552646758089251553384024021457947276898788400042517281011885768602886613302930902705304308006347773661439333418443150945514752894136161926401201308147450674494885776961015215463952652357394272767305042938231832288558597636004712283734531579065002986313255963625695634109028431648485060235036549388787596610538615328480269410428315969717913558003359774687418173841893247083668767117432182186488814706622077872119157097656558668534772499710813734265695253069279354053259165627497121702190421323072690646575104166485273052156783304833789846876182630266030392230850737542383255138112356628779217472102110283990896873346046167600598785528291027755664976697371460355331425409449304637078374553811592847828977622479668300610623847620702155924132179434220226469146090818389391260023910559755106026495079934640167769629120838118010775456674317058710143995774999050762632027832701960857068857016251812671875304783268079189243845494857590868132716855755279354638617955555598326929808937039308025734591219661358954145910600676983992228186263235356861178304047465670354243305071674862330993748706645407 148459815291435951096479248066352340382048632322013287781563477629408873254634507410107335920537932060080869791206517951618590098006071362784716014245522178158737189524256107611254743956009974653345145807024167832772938309595872034765594599878454251944522011206409448100022368247837581812630667045608992818158874872765504262187867055693303183599024689187390715910226470774509280720749559028057635920120293846279232683929009101820559697846210540108580487281847786759344935894835961941509909239563510839547099198799375363210701803970745525477528544164648798677817847805501924257810383573607075483240284023577161568153112231316073886480441777853976636194033826739587787359283171417328878183226398576179635974361420684294865578466162591857176886932279745223296835766719283699403739229987677709573085624112083827353107270119159793131178592784435320648673923264441328882319771176981149131300728074900474728169177287905687498940394857001129914193070601754559813709645588318340335164686700699794996850163761971764191266591866777177422952492698463204853869405937964345622987426581706072870376198230115400134276305711759560313306135235547928427168496995758541923050660361786462051662155137391006396586581305195616959244222613529718548110466350840112691998264405174042923767510007424110722244979774633303627303113023515542186513747409262464817941196128288162063102390939032335687546074962162594185675910514073159372155832201265406371096367953264727013372667045737093955346882652723511671756834621039329874946412190038684705995585411372068876706827942927784067251173598937597256150038383192089689456723997357607951779238578246889560765395066582284839360625795134341933699712355911844688778082261288462189020754684470057709719016340175744225398605543757130153687664820523020009488919953909820314264339758401954614887139199368725206029432788132374129859673448889320464550453522265631359918037140737721187809607066426412057596515760627360175084680268232965945253918193844613739605682548927844143693460982297180185200865736183556778065122764228567435256576918382552365901964804570829853146790708502900843987696563682207852013318270329820617726328918264592012624541433097608792391194633165233568432891342034561997980802469632676835859734203799400461939001842547592101830673042891596966988798894813041576953596525002475651452357959123711364115203754475956955977503432232489061007773131574285856816801111607481495575184036410884421328140600858380209980225554407337457179955238667105171850963054188301496416339638439703641950492801669976024587202960698797345868435820981032197186993404407975456317942066779543724111676590228823651624195146422690588937899364627440922752210264814772323880764133082245621459250729461554348213389853970146488579053142907754107744308094013557034791655659295796605885626511512904506204862852358235863496571718099940579695971592372939294517253185488779677765884297750018423754248742756085937632267930187302306360893226234076931241015072021989277944891086548260605623073739243747088857989898966076095262488928859644264565513379091616462366901383333322501681887406351714107172571093162875548861956954261269013206342471139085659282823821361963198629297020526583972262143706699119267340622639589874791391973888761395624836689978242819858384152442989153448181308666628438939958822124326615333445302308598652698013505250617090988296100234510555829076695493994905384820826373057581081882404617613108025366237241749940925637079911735084590868237367911535207660872372664040623583761175500166498031627504902250154638143419692847383560851675408631593528548489272505163784607051996113294332842879369770802363198636 240213027105074744851661652398253340954244107451479167468446099514128231002445428011699781898675069806572698435362227647811933256891643916579339156615240774295616336546063996290428221945795248524229671920544188352758509500787117655669563551099846606550753474700309729598477965220671516849359637244520389856738807861759708573457144299780938908144611298017182938908729969670260834713640318828688592612813332558784246210010420075034576650373860741198385200469438039585411484971702837805518761930433927270603573663460856761250569818902034929264335150097687969739347146073165184553840364835208153306615834313727849207901597422253933969099734147388527655034329312231697340679508026801380677102467134317194843400580490026456271231481618153843002153965894617530904102642212807488989610795745511280409168155684137590593190583496832736070841288829223201592686732494667928357186536687390094564681860882532870645963917162356625654784777999372116312482941215306816027595753181509002117872483993809439940838152719372322458965724341197606184269168792672077913779938757993340474690814091282159823159262701131650024972527941491314558013178990456223369454193168438593130698655545694000586918367148104860067375075927610453375578216699797578307462069607552903440056671242032417939374408613554605453123316061748290102762638052039692600425036071481731859087131002234759512003956814483612024163931531371812711608020066338505177952949277644720198712542300607250426511269245054303709192746942581808134153230791973026460326173095374912264178350638925544986332931330571146003066330540056642954383250568759441128726753784052794878673854076263622588826341385481528371899954103618298113878831433545303543364184666185434610026189972235064677810570654412622249241764620023885721550579034865223394674142978783423029750000459601026046162442029830506567794509379946950694126342114201749455849020997191006062529977709076664098885731490765541644252631667135753505447479897547111089763249951609233541403792418734447783390428207731783977765338488256923216047483933175625298850761811965153545421809249880034803467105445210430673512581212604843480388021922792189086022427583199087179233146303589263897477992772759257244180873685787574755711974072544440010650743643257953828196127338033915945707661466328417886207822400372326543818042961167843417637926943071894219366423622004989204602186284858970412236948434589651351158999766129223183036053139675264734113671600500966512348740831134589984475624617408574842094774109961748530922461650046321824457565869972180698139849718788048899252459842438979474085781804450492737329827835382430337414607492934127959630542920084129922356342515572955675646346426741173525188911583756740507236211744677018300865747248242913793621991374740042666341944098725840769323234724298782919141590137208538615233294500843296098533121106887537190234586920853208704945569155206693235769244072437436597596141989839754704749700112373791121067515304106196088338671630690524050444601900282526300876143018597800348023617396087778285683812001550290839669679864364668619150206217123169377864517672382106338023308635546130686974313583040486485308452755129982532628869988962561984157588048282248948959515167054450692750071944226953165945785481609224602459169646543430482231773145145077580360742886854908086049640513717875357355862063704679193093439890784860617416938352521331285751012552705049380595825423820213109715106578470176882382489054421816230420347990924328436363094958779667924516627652018679241539316773827096306968666812927984745857804778646993294161528659400859779791783846133683467832072722350356599404517741700764551069844043 388672842396510695948140900464605681336292739773492455250009577143537104257079935421807117819213001866653568226568745599430523354897715279364055170860762952454353526070320103901682965901805223177574817727568356185531447810382989690435158150978300858495275485906719177698500333468509098661990304290129382674897682734525212835645011355474242091743635987204573654818956440444770115434389877856746228532933626405063478893939429176855136348220071281306965687751285826344756420866538799747028671169997438110150672862260232124461271622872780454741863694262336768417164993878667108811650748408815228789856118337305010776054709653570007855580175925242504291228363138971285128038791198218709555285693532893374479374941910710751136809947780745700179040898174362754200938408932091188393350025733188989982253779796221417946297853615992529202019881613658522241360655759109257239506307864371243695982588957433345374133094450262313153725172856373246226676011817061375841305398769827342453037170694509234937688316481344086650232316207974783607221661491135282767649344695957686097678240672988232693535460931247050159248833653250874871319314226004151796622690164197135053749315907480462638580522285495866463961657232806070334822439313327296855572535958393016132054935647206460863141918620978716175368295836381593730065751075555234786938783480744196677028327130522921575106347753515947711710006493534406897283930580411664550108781478910126569808910253871977439883936290791397664539629595305319805910065413012356335272585285413596970173936050297613863039759273498930070317504138994240210533288951951530818183477781410402830453092654510512149591736452063813211260579898752640047578543789457148232142266927473896799046944656705122387529586994588366474640370163781015875238243855388243404163062932693243344014340218002980661049581229199231773823942168079324823986015563091069920399474519456637422448014849814385286695338557191953701849147427763113680532160165780077035017168145453847281009474967662291927083889190028964162966204224440479994112606697404192734107338730347705911323774054450864656613896153713331517500277776287051332401340193122009703748756501463679191857687736686872689869187405924490812613765027822136753692776542177116846510477847057354290135129180581508047538334509220014853196621295185368120771639486170319069090284902195605583481627376480946160579689717091459473244721566163937207975800877736704678611237176086149155441812201359346722328966385541927441655579856075680013945737164150050027338801288486025466408058671642156722727052679486846245120895663420011671272775208858468193647769902161974061526284083162951611254738066506820511294241880200396598398556691555945849069675716838986128695462474138572649079137102213060282201044517647796774086252192739397804114890383594579525027216648721443121438157353201531962029692824987477769930558513226147999462822340695472913535128370187455021350390732595840642381968042561093427428408530340273019579686702712513328389492986830786906499216757841547436881607295053854380946300930409935104235193243456285081517107600456491879546405078733820445195879728709006235836270537301755498514795226269068191911693810324525182786885068808832921221658873753569960090694583816827957337759370370620227295859624786250340615925588134231028542051553483347026008462638044490690801164372303331891106945141401951605713038587031887114827708046699954765416651796877794191597511196083284907748726296171757156057427902659413027231332326691203132177500024682719865123077949327262805000294317830234900495948198339840677722380334809491373320332335406188631616679774346469893737360621070535353433042679 628885869501585440799802552862859022290536847224971622718455676657665335259525363433506899717888071673226266661930973247242456611789359195943394327476003726749969862616384100192111187847600471701804489648112544538289957311170107346104721702078147465046028960607028907296978298689180615511349941534649772531636490596284921409102155655255180999888247285221756593727686410115030950148030196685434821145746958963847725103949849251889712998593932022505350888220723865930167905838241637552547433100431365380754246525721088885711841441774815384006198844360024738156512139951832293365491113244023382096471952651032859983956307075823941824679910072631031946262692451202982468718299225020090232388160667210569322775522400737207408041429398899543181194864068980285105041051144898677382960821478700270391421935480359008539488437112825265272861170442881723834047388253777185596692844551761338260664449839966216020097011612618938808509950855745362539158953032368191868901151951336344570909654688318674878526469200716409109198040549172389791490830283807360681429283453951026572369054764270392516694723632378700184221361594742189429332493216460375166076883332635728184447971453174463225498889433600726531336733160416523710400656013124875163034605565945919572111606889238878802516327234533321628491611898129883832828389127594927387363819552225928536115458132757681087110304567999559735873938024906219608891950646750169728061730756554846768521452554479227866395205535845701373732376537887127940063296204985382795598758380788509234352286689223158849372690604070076073383834679050883164916539520710971946910231565463197709126946730774134738418077837545341583160534002370938161457375223002451775506451593659331409073134628940187065340157649000988723882134783804901596788822890253466798837205911476666373764340677604006707212023259029738341618451548026275518112357677292819376248495516647643484977992558891049385581070047957495346101779094898867185979640063327188124780418097063080822413267386396739710474317397760748140731542712697403210160090630579818032958100542312859456745583304330899460081001598923762191012858988891894812789362115914198789771184084662766371090834040276136587347180178683748056794638713609711509404750614721556857161221490315308118331256518615423993245995975548432739404443695557694664589682447338162486728211845267499802848050998485935365181876001950429885481670000753588559134800643865927861647290315761413889555483801860313234677707216676517426131204473484254856040511274111798558261262938532347290865624541614337420866902398274895144373355505858991145358557013308960930977597737544404398940891576097079570885280986590950433650584395773352274044903118297119374258587300595726635931674218815590949944884350455974075823035892387839440428196291465238573438125107893362444168806785929981736671451854044828060562813931875014960165145434079356704408391495902166149304372442624891618946532722435595347131668154934884548495923834446469107918358333403037378834094887113313207375359776439347784905224691141632666630112931960225943904873107820953700667313817579661257410922751115926783219188364255136922810584120342241983823247981399050724540563799287087166944473117091081870181174040808020652840766528043781123283544851979844829755029271329680822847698733279308608902794440338255112058103151762366048157026436008011084200385032186812223129976939553218400578720599405004146012477220698007301312617774553461790131215350593573386477775893583741463594427285470871056694127676701399106662394723154359111968961130758219646353752976986833971883908994210351153112116181539872099448752496696826493141878362771299904502886722 1017558711898096136747943453327464703626829586998464077968465253801202439516605298855314017537101073539879834888499718846672979966687074475307449498336766679204323388686704204093794153749405694879379307375680900723821405121553097036539879853056448323541304446513748084995478632157689714173340245824779155206534173330810134244747167010729423091631883272426330248546642850559801065582420074542181049678680585368911203997889278428744849346814003303812316575972009692274924326704780437299576104270428803490904919387981321010173113064647595838748062538622361506573677133830499402177141861652838610886328070988337870760011016729393949680260085997873536237491055590174267596757090423238799787673854200103943802150464311447958544851377179645243360235762243343039305979460076989865776310847211889260373675715276580426485786290728817794474881052056540246075408044012886442836199152416132581956647038797399561394230106062881251962235123712118608765834964849429567710206550721163687023946825382827909816214785682060495759430356757147173398712491774942643449078628149908712670047295437258625210230184563625750343470195247993064300651807442464526962699573496832863238197287360654925864079411719096592995298390393222594045223095326452172018607141524338935704166542536445339665658245855512037803859907734511477562894140203150162174302603032970125213143785263280602662216652321515507447583944518440626506175881227161834278170512235464973338330362808351205306279141826637099038272006133192447745973361617997739130871343666202106204526222739520772712412449877569006143701338818045123375449828472662502765093709346873600539580039385284646888009814289609154794421113901123578209035919012459600007648718521133228208120079285645309452869744643589355198522504947585917472027066745641710203000268844169909717778680895606987368261604488228970115442393716105600342098373240383889296647970036104280907426007408705434672276408605149449047950926522661980866511800229107265159797586242516928103422742354059031637558206587789712303697746937137883204272697327984010767065439272660565368069357358781764116694897752637093708513136765178946145190702309036208493519940586126445562948521776963009277216367584608238869408403741431848263097527156898673703671699337372662408466385699196932040784330484768447592601064990743062785361321933508481555818496747463105386329678374966881525761565719041889358726391566917525767110601521602632540258527491847563044997296003219659957006673602218444867786784329559934869986248438261848585600064227018372757273683213256494143593955077761741389494251169279002816631332222167429124625367639706378460467175659260031182140019053097770944944826275973748872443459809853065223328263017434712764627136692954163599024021452669034358024080410035636214514448484204636377553015491487941969196023434651424858109609207246360022592506756862492730095703947305504703871213836597639062839500812812346640296923455031435989513636197495977975924332364786742127498045036115550707223587873944100113874576534280895221786831986195487047576413862370161048140066351277238782184421418036153136957327829849747228415068092964143158646854657643997482338043207668118916452257609611612349731358185899914791402832914561590612931461111860609080621304222350465057050888896115931163463624321413539637444845993821602138066565789806856738958190808311342975307330173588763828843015526585105515406428646104958911429129017575801492910128970636746697879941646765330542535203796243154490825759612162074188871627701384118971785472672481621916969255448588454546849701175326674649606289329019842526432448516946060731065432271043296386879238983841835257935929401 1646444581399681577547746006190323725917366434223435700686920930458867774776130662288820917254989145213106101550430692093915436578476433671250843825812770405954293251303088304285905341597006166581183797023793445262111362432723204382644601555134595788587333407120776992292456930846870329684690187359428927738170663927095055653849322665984604091520130557648086842274329260674832015730450271227615870824427544332758929101839127680634562345407935326317667464192733558205092232543022074852123537370860168871659165913702409895884954506422411222754261382982386244730189273782331695542632974896861992982800023639370730743967323805217891504939996070504568183753748041377250065475389648258890020062014867314513124925986712185165952892806578544786541430626312323324411020511221888543159271668690589530765097650756939435025274727841643059747742222499421969909455432266663628432891996967893920217311488637365777414327117675500190770745074567863971304993917881797759579107702672500031594856480071146584694741254882776904868628397306319563190203322058750004130507911603859739242416350201529017726924908196004450527691556842735253729984300658924902128776456829468591422645258813829389089578301152697319526635123553639117755623751339577047181641747090284855276278149425684218468174573090045359432351519632641361395722529330745089561666422585196053749259243396038283749326956889515067183457882543346846115067831873912004006232242992019820106851815362830433172674347362482800412004382671079575686036657822983121926470102046990615438878509428743931561785140481639082217085173497096006540366367993373474712003940912336798248706986116058781626427892127154496377581647903494516370493294235462051783155170114792559617193213914585496518209902292590343922404639731390819068815889635895177001837474755646576091543021573210994075473627747258708457060845264131875860210730917676708672896465552751924392403999967596484057857478653106944394052705617560848052491440292434453284578004339580008925836009740455771348032523985550460444429289649835286414432787958563828800023539814973424824814940663112663576775899351560855899525995754070840957980064424950407283291124670789211934039355817239145864563547763291986926203042455041559772502277771620230560832920827687970526797642217812356034030326460316880332005508686300757449951004380846644042546708592730605189177729373452816890943441720992319244208061567671114326245402165468560401905817807608976934552779805079973191684380818894962293917988803044189726026759712373647143861327165550720048139307754870831564460857476036636533867606675137993961989889235476390055602965377250782859408067235357110753025300039688721378595410671747101146488362928150184597586850318030439400558810911769754548968905803125008433847116302423475654942644775669874950991140599381304413364830220581406594781061061291188083155320688737507690260849381384861408279605332499805212143873255437238259243456177467031336645304352430862524420256199233211235416403369518588086057682761057413321249936310720243006692056677337119714206526794330386992044939459098192482851735235615814394368250580965674011634256457219280081457438777986239466161291189067169640992821408898699516675831302990996661584006955369611265772227639904390203904849074330309886805918167445611986311323054692848246347640434159857250124668941569222787115217244319354059507715205775576051972992466138323915985149245509963057441606238273808794222746745190208488011156997358903929012979689826895954420186897632945245565755378085518078447867395635981028938216579346674193203454152313508621490198323230193679544564698485932830514184767740122880021117346613135162438816123 2664003293297777714295689459517788429544196021221899778655386184260070214292735961144134934792090218752985936438930410940588416545163508146558293324149537085158616639989792508379699495346411861460563104399474345985932767554276301419184481408191044112128637853634525077287935563004560043858030433184208082944704837257905189898596489676714027183152013830074417090820972111234633081312870345769796920503108129701670133099728406109379411692221938630129984040164743250480016559247802512151699641641288972362564085301683730906058067571070007061502323921604747751303866407612831097719774836549700603869128094627708601503978340534611841185200082068378104421244803631551517662232480071497689807735869067418456927076451023633124497744183758190029901666388555666363716999971298878408935582515902478791138773366033519861511061018570460854222623274555962215984863476279550071269091149384026502173958527434765338808557223738381442732980198279982580070828882731227327289314253393663718618803305453974494510956040564837400628058754063466736588915813833692647579586539753768451912463645638787642937155092759630200871161752090728318030636108101389429091476030326301454660842546174484314953657712871793912521933513946861711800846846666029219200248888614623790980444691962129558133832818945557397236211427367152838958616669533895251735969025618166178962403028659318886411543609211030574631041827061787472621243713101073838284402755227484793445182178171181638478953489189119899450276388804272023432010019440980861057341445713192721643404732168264704274197590359208088360786512315141129915816196466035977477097650259210398788287025501343428514437706416763651172002761804618094579529213247921651790803888635925787825313293200230805971079646936179699120927144678976736540842956381536887204837743599816485809321702468817981443735232235487678572503238980237476202309104158060597969544435588856205299830007376301918730133887258256393442003632140222828919003240521541718444375590582096937029258752094514802985590730573340172748127036586973169618705485286547839567088979087633990192884298021894427693470797104197949608039132519249787103170766733986615776811065256915657496987877594202155141779915347900225795611446196473408035599804928518904264504620165060632935264027917009288074814656945085327924606573677043820235312326314355125598365205340193710575507407748419698416705007440034208602934453134588640093356003687071192942164345299456539979550075808299633148691054421113407161704773132604124596013008150635495729461391392569092805412990968127325708054812553798377923361857844416996778621221457643819180228333016957161319875242894617141935165319092786492323540236947720850018931822738003249820915113335465152165185947604723918147992927255794042791871196712459111869457093259874511328544156090869246382560853655232831452890670268537548105747827445600000420356553328690366112150819169097444274983374068249584899540379632498467326158940549926840500344588564019953362914448405634138793281270635001513435124512845001138228478888663532606761782940656700548040185005810375431265036156653651967531325578410815421240049324550183423240104293435630236948499334396735288557445079018510311866407189488890911452986839869931201878703688751764999284526153296680774943856807063561543149774947376106387883792486427981459388191234731376079526073408052630697034815045379364339880816007992723429431391577891614921968870735255849610287132875715826955185891098644124234471548183486070050445245946509795019434437383079469637050233340068117602945907472027935128740053155327640183271096487652250036205977013215431993561579617038783419266900356330454970420374745524 4310447874697459291843435465708112155461562455445335479342307114718937989068866623432955852047079363966092037989361103034503853123639941817809137149962307491112909891292880812665604836943418028041746901423267791248044129986999505801829082963325639900715971260755302069580392493851430373542720620543637010682875501185000245552445812342698631274672144387722503933095301371909465097043320616997412791327535674034429062201567533790013974037629873956447651504357476808685108791790824587003823179012149141234223251215386140801943022077492418284256585304587133996034055681395162793262407811446562596851928118267079332247945664339829732690140078138882672604998551672928767727707869719756579827797883934732970052002437735818290450636990336734816443097014867989688128020482520766952094854184593068321903871016790459296536335746412103913970365497055384185894318908546213699701983146351920422391270016072131116222884341413881633503725272847846551375822800613025086868421956066163750213659785525121079205697295447614305496687151369786299779119135892442651710094451357628191154879995840316660664080000955634651398853308933463571760620408760314331220252487155770046083487804988313704043236014024491232048568637500500829556470598005606266381890635704908646256722841387813776602007392035602756668562946999794200354339198864640341297635448203362232711662272055357170160870566100545641814499709605134318736311544974985842290634998219504613552033993534012071651627836551602699862280771475351599118046677263963982983811547760183337082283241597008635835982730840847170577871685812237136456182564459409452189101591171547197036994011617402210140865598543918147549584409708112610950022507483383703573959058750718347442506507114816302489289549228770043043331784410367555609658846017432064206675218355463061900864724042028975519208859982746387029564084244369352062519835075737306642440901141608129692234007343898402787991365911363337836056337757783676971494680813976171728953594921676945955094761834970574333623254558890633192556326236808456033138273245111668367112518902607415017699238685007091270246696455758805507565128273320628061150831158937023060102189927704869431027233411441301006343463111192212721814488651514967808102082700139134825337540992748603462061670134821644108844983405402208256612082363344577685263330695201769640911913932924315764685137121872515307648449161026527847142514702259754419601405852539753344070163107065516914102855613379606340375435240008369455622761935648314322039767863009142873322718558119812853552298722998157272515670029835014457229464519554990740611110693120209235831298394207944179283310129974252688190619132475213702135647619467951165420185666153434418501963653495591565744758516493672696961833058919051225718313014882587524399738035544386279535296690250550795925683875814238047671731329828736188903148134337508110617402710075227520430424501597249487127247323686823158783835809965498662804244902357703024764844763253164598330851775152726879338953396058926756374449155721381235170945340869726475989467451030935032229945269473623747887891889267781925693828991781095251683581007402703321561732213616476414660625585802458198437900427409011383083020791881908114570846825300813144475916391669389488431002371011084830662725231007155136086270430799236130140126862141316638315903672945302313188625296950051094322760585139915932789000458861753347376727137124885026312341494123419081355622461017163673902255641483138400561163175896946399666133407427964680003138457555155128681207463753583974845688607281802933256609479953691892586685975480229885521577913917926392093801806523542146921473677068105582813561647 6974451167995237006139124925225900585005758476667235257997693298979008203361602584577090786839169582719077974428291513975092269668803449964367430474111844576271526531282673321045304332289829889502310005822742137233976897541275807221013564371516684012844609114389827146868328056855990417400751053727845093627580338442905435451042302019412658457824158217796921023916273483144098178356190962767209711830643803736099195301295939899393385729851812586577635544522220059165125351038627099155522820653438113596787336517069871708001089648562425345758909226191881747337922089007993890982182647996263200721056212894787933751924004874441573875340160207260777026243355304480285389940349791254269635533753002151426979078888759451414948381174094924846344763403423656051845020453819645361030436700495547113042644382823979158047396764982564768192988771611346401879182384825763770971074295735946924565228543506896455031441565152263076236705471127829131446651683344252414157736209459827468832463090979095573716653336012451706124745905433253036368034949726135299289680991111396643067343641479104303601235093715264852270015061024191889791256516861703760311728517482071500744330351162798018996893726896285144570502151447362541357317444671635485582139524319532437237167533349943334735840210981160153904774374366947039312955868398535593033604473821528411674065300714676056572414175311576216445541536666921791357555258076059680575037753446989406997216171705193710130581325740722599312557160279623622550056696704944844041152993473376058725687973765273340110180321200055258938658198127378266371998760925445429666199241430757595825281037118745638655303304960681798721587171512730705529551720731305355364762947386644135267819800315047108460369196164949742164258929089344292150501802398968951411512961955279547710186426510846956962944092218234065602067323224606828264828939233797904611985336730464334992064014720200321518125253169619731278059969898006505890497921335517890173329185503773882984353513929485377319213985132230805940683362823781625651843758531659507934201497990241405210583536706901518963717493559956755115604260792570415164321597892923638836913255184620526928015111005643456148123378459092438517425934847988375843701887628658039089842161157809236397325698051830932183659640350487536181218656040388397920575657009556895239277119273118026340192544870292213724353456601060736450076967836848394512957409539610946286234508406522056893652931421679239489066489661121776617327535068252438918052776013644638602784109950688905658965289691125482980570482583633392380591322363971987519232332150764028416059631411165105499158553024591394623355938225261706025675884567188801184352008404156684239417076988960743730930706121217590844954760314713094017589509727341699393856831295418897608079452781119797178486537531047069500562401598366284294650975579937508530973956038765593632581243670694693762110621391936408058324215442463965988963185452284543525109433327273117961245300180786865672620224031060440191498962000722519463649834004402333237772408107731483072414951079849055012924048542919749457019407402596516491732905557586126561666025649246713363159959982537746755882979445919323249490210280772819567557686695232015023179605143434388772957155667691859774519532294568698285861217806905624013932613290122776026507138404321381839262033349580748129137805964504255813605008451585182778768305028739806995183076749973029368488498176844118859793354285607372872109346661966996844912079917222984114440521537024792178914547531871186920753160635216931673309764807593875163683173627730266091498591129349919953673418845306961413821830007523076003188307171 11284899042692696297982560390934012740467320932112570737340000413697946192430469208010046638886248946685170012417652617009596122792443391782176567624074152067384436422575554133710909169233247917544056907246009928482021027528275313022842647334842323913560580375145129216448720550707420790943471674271482104310455839627905681003488114362111289732496302605519424957011574855053563275399511579764622503158179477770528257502863473689407359767481686543025287048879696867850234142829451686159345999665587254831010587732456012509944111726054843630015494530779015743371977770403156684244590459442825797572984331161867265999869669214271306565480238346143449631241906977409053117648219511010849463331636936884397031081326495269705399018164431659662787860418291645739973040936340412313125290885088615434946515399614438454583732511394668682163354268666730587773501293371977470673057442087867346956498559579027571254325906566144709740430743975675682822474483957277501026158165525991219046122876504216652922350631460066011621433056803039336147154085618577950999775442469024834222223637319420964265315094670899503668868369957655461551876925622018091531981004637841546827818156151111723040129740920776376619070788947863370913788042677241751964030160024441083493890374737757111337847603016762910573337321366741239667295067263175934331239922024890644385727572770033226733284741412121858260041246272056110093866803051045522865672751666494020549250165239205781782209162292325299174837931754975221668103373968908827024964541233559395807971215362281975946163052040902429516529883939615402828181325384854881855300832602304792862275048736147848796168903504599946271171581220843316479574228214689058938722006137362482710326307429863410949658745393719785207590713499711847760160648416401015618188180310742609611051150552875932482152952200980452631631407468976180327348774309535211254426237872072464684298022064098724306116619080983069114116307655790182861992602149494061902282780425450828939448275764455951652837239691121439133239689060590081684982031776771176301314016892848820228282775391908610233964190015715560623169389065891043225472429051860661897015445112325396359042344417084757154466841570284651239240423499503343651803970328797173915179702150557839859387368186652576292504623755889744437830738403732975605838987704758664880189033206042342104877681992164729032001905762087264297219482539108148932558815392150699630304671513587573807755787035058845829441924901130146072950297003900753240092543876653781476106828508808718512517588414123640253086152613468406837820786883526978259843442843884237651890929805373049678441863154565647311546557357736919727811532186656752349772194070310118657919040642456335296675464637711263541916593373632145243307822742224286918256569330963283887614749471370347974412221406861307548234132928195020483554123714275016641591358748840821153011668172291943249237868715623231217108051252429464651767430354642246549874278090526282559576151955939592551959177427119366947873411156443900698820779345272059713761875558762418104644896349322678760811940432187531382713236394377611743416486564988829883227757862863189777820585568340204954320879873328334632573231072654727682128533520532828167655521535103778261388158038702944605182257525575853421947488237704860144072740152264092664823042077266684152450658646530799223460566549644171746394008910446936126145032165864692021495418244096448449844120637861282533695609927090511272670509837863943244578213324650948794443659994579947307595754995624770895598849242498734606566374287547567056269859603210495977020169043267846345767220651830503560743303684591181586001868818 18259350210687933304121685316159913325473079408779805995337693712676954395792071792587137425725418529404247986845944130984688392461246841746543998098185996643655962953858227454756213501523077807046366913068752065715997925069551120243856211706359007926405189489534956363317048607563411208344222727999327197938036178070811116454530416381523948190320460823316345980927848338197661453755702542531832214988823281506627452804159413588800745497333499129602922593401916927015359493868078785314868820319025368427797924249525884217945201374617268975774403756970897490709899859411150575226773107439088998294040544056655199751793674088712880440820398553404226657485262281889338507588569302265119098865389939035824010160215254721120347399338526584509132623821715301791818061390160057674155727585584162547989159782438417612631129276377233450356343040278076989652683678197741241644131737823814271521727103085924026285767471718407785977136215103504814269126167301529915183894374985818687878585967483312226639003967472517717746178962236292372515189035344713250289456433580421477289567278798525267866550188386164355938883430981847351343133442483721851843709522119913047572148507313909742037023467817061521189572940395225912271105487348877237546169684343973520731057908087700446073687813997923064478111695733688278980250935661711527364844395846419056059792873484709283305698916723698074705582782938977901451422061127105203440710505113483427546466336944399491912790488033047898487395092034598844218160070673853671066117534706935454533659189127555316056343373240957688455188082066993669200180086310300311521500074033062388687556085854893487451472208465281744992758752733574022009125948945994414303484953524006617978146107744910519410027941558669527371849642589056139910662450815369967029701142266022157321237577063722889445097044419214518233698730693583008592177713543333115866411574602536799676362036784299045824241872250602800392176277553796688752490523485011952075611965929224711923801789693941328972051224823352245073923051884371707336825790308430684235515514883090225438866312098810129197681683575672315738773649858461458389794026944784300733928700296945923287057455422728213302590220029377089756666358347491719495505857957455213005021863308367076256713066238483508476164264106377280619049394444121373526414644714315560119466152479160368445070226862456942756355362363148000747296450375956543445516224931761645916539179920109630701408718456738085318508414562251922690277832072153192158145319890298420078890938459497624171482878105249123233656635197101799218412109247498965779075774994648266067950561216538155177600416179157041934902495582998625753487416753845553534124202474466802897336117631417079027606170758928854386871353688345239260897332469565986312113400626382181495694202252490145152898758937908377048796534526561304778205099294212525172565314787606414785592911842986637011348490107559639275432266694893430640730615806926790074983711417799400520821452136726458224579401458179807139372373157166420162470613349674392951534283666493901177059847429171733773735988975107280839732643796974128235149392122574956444893783512109903140980545550877951710203859319247657882063441353427547249686220215764843190835126678538167034345313706394804379701789820144551707808706044610484158005353442386868691330180481588065991712691996111547352598372514148427559999017362032118904913337194604499016678494994069477818332618814705401393488964212697884144779856499830940089490293241873932908884181531604739486510302527495957816352009877715666279876139095141442219953033230940762068518760172617766299440639497137464974565133692114257589190175989 29544249253380629602104245707093926065940400340892376732677694126374900588222541000597184064611667476089417999263596747994284515253690233528720565722260148711040399376433781588467122670756325724590423820314761994198018952597826433266698859041201331839965769864680085579765769158270831999287694402270809302248492017698716797458018530743635237922816763428835770937939423193251224729155214122296454718147002759277155710307022887278208105264815185672628209642281613794865593636697530471474214819984612623258808511981981896727889313100672112605789898287749913234081877629814307259471363566881914795867024875218522465751663343302984187006300636899547676288727169259298391625236788813275968562197026875920221041241541749990825746417502958244171920484240006947531791102326500469987281018470672777982935675182052856067214861787771902132519697308944807577426184971569718712317189179911681618478225662664951597540093378284552495717566959079180497091600651258807416210052540511809906924708843987528879561354598932583729367612019039331708662343120963291201289231876049446311511790916117946232131865283057063859607751800939502812895010368105739943375690526757754594399966663465021465077153208737837897808643729343089283184893530026118989510199844368414604224948282825457557411535417014685975051449017100429518647546002924887461696084317871309700445520446254742510038983658135819932965624029211034011545288864178150726306383256779977448095716502183605273694999650325373197662233023789574065886263444642762498091082075940494850341630404489837292002506425281860117971717966006609072028361411695155193376800906635367181549831134591041336247641111969881691263930333954417338488700177160683473242206959661369100688472415174773930359686686952389312579440356088767987670823099231770982647889322576764766932288727616598821927249996620194970865330138162559188919526487852868327120837812474609264360660058848397770130358491331585869506292585209586871614483125634506013977894746354675540863250065458397280624888464514473684207162740944961789021807822085201860536829531775939045667149087490718739431645873591387876361943038924352501615266455996644962630944145409271319646099799839812970457057061599661740995906781846995063147309828286252386920201565458924916116100434425136084768668887862267025056880132847854349132253632419074224999655185685202710549947908854621671788357268125235265044515932915064692378075040323912345546843851433697204509164505491796931147950339463382068763228129076053945398237863766952201554997766968306342684000466519372763486742787810570206056232896131025944038919217838532503719841491021911204856042279333722689246449052940735545481298948940502305883896396544776921555255158273873414324281635396640117928787947061977384504205155211790273230369969957345465383308951723860493127310980344769684597030667454756325261759223008487541814156673536447235938604580015278580260586358823182870492540317947322895292498046161569036624857989508325683080397604092666050776538578885299174087245784313610320861291392694946452665296159225256319281704743778494412534547929407294812222445880191351739978565878687563786328121541374973092918801131119218156664524739192575992514636672426082274931814753736297671358490648213641945295733471745097748984884047345720405129756194282315344302078093594650961356153222558854750144163350642642346576058939063792599306393026272479055031058369360469191038173913238165926268176739452566683927184574139788395417450366337694883334068506566524881703327841526184686794106057523120728711950859120214400886442513382689009276222892834151258045538929215885612645207860148967968535308437376705439175192044807 47803599464068562906225931023253839391413479749672182728015387839051854984014612793184321490337086005493665986109540878978972907714937075275264563820446145354696362330292009043223336172279403531636790733383514059914016877667377553510555070747560339766370959354215041943082817765834243207631917130270136500186528195769527913912548947125159186113137224252152116918867271531448886182910916664828286933135826040783783163111182300867008850762148684802231132235683530721880953130565609256789083640303637991686606436231507780945834514475289381581564302044720810724791777489225457834698136674321003794161065419275177665503457017391697067447121035452951902946212431541187730132825358115541087661062416814956045051401757004711946093816841484828681053108061722249323609163716660527661436746056256940530924834964491273679845991064149135582876040349222884567078868649767459953961320917735495889999952765750875623825860850002960281694703174182685311360726818560337331393946915497628594803294811470841106200358566405101447113790981275624081177532156308004451578688309629867788801358194916471499998415471443228215546635231921350164238143810589461795219400048877667641972115170778931207114176676554899418998216669738315195455999017374996227056369528712388124956006190913158003485223231012609039529560712834117797627796938586598989060928713717728756505313319739451793344682574859518007671206812150011912996710925305255929747093761893460875642182839128004765607790138358421096149628115824172910104423515316616169157199610647430304875289593617392608058849798522817806426906048073602741228541498005455504898300980668429570237387220445934823699113320435163436256689086687991360497826126106677887545691913185375718666618522919684449769714628511058839951289998677824127581485550047140949677590464842786924253526304680321711372347041039409489099028868856142197511704201396201442987249387077146064037022095632696815954600363582188669898468862763383560366973649119517966053506712283900252787051855152338609596939689337825929281085792829333496358633612393632544772345046659029271106015399589528868629327557167060192100716688782813960005060482941429263364872845706217242933157255262541183759647281629038830752573140194486782642815686243707599925223428767291992372813500663619593244833151968644305675929527291975722658668277133389785119121338164363078995018135717078614544712630488383265791812383291021235823591265255673991463383031353806835210573223948535016466458754025633991453505961148207137556383183657250621633888705427803966855483344624621886720399423007672005274645005378524909817994992833180769787792052238449360033642695512879731181351548523734171234786365694347859418020599019243724452591275905290493351887806155568972315659300750322623765102487681356259542483370583727646879003153976350638280209739282678061645827201981317630039964322302700066986721988324053650724197491858265217271934848930742509767972584642216325933228661968495826699841700926125083601219056229392509001117980343478981226618157470776741023762006044620845616830442891750220458764591207666146308283918382402093062178523988325868213715270810138742773015324887082996059781676670096108374728598511823650396700113779509822181500973952062514549325774892180112330078785451492553364585837165864956837564900326925828460083447037037830047483403040442816135876042638753893928657311577941026866392043634511173935971706555073690054852408232235404086509358267272085320673538352486279562230222837525823423558799808398814612212023057789426280616360050616686528302868997930067166318652477830451496175926065092020114057689388503378944648499646105433509873571068819696764382220796 77347848717449192508330176730347765457353880090564559460693081965426755572237153793781505554948753481583083985373137626973257422968627308803985129542706294065736761706725790631690458843035729256227214553698276054112035830265203986777253929788761671606336729218895127522848586924105075206919611532540945802435020213468244711370567477868794424035953987680987887856806694724700110912066130787124741651282828800060938873418205188145216956026963870474859341877965144516746546767263139728263298460288250614945414948213489677673723827575961494187354200332470723958873655119039765094169500241202918590028090294493700131255120360694681254453421672352499579234939600800486121758062146928817056223259443690876266092643298754702771840234344443072852973592301729196855400266043160997648717764526929718513860510146544129747060852851921037715395737658167692144505053621337178666278510097647177508478178428415827221365954228287512777412270133261865808452327469819144747603999456009438501728003655458369985761713165337685176481403000314955789839875277271295652867920185679314100313149111034417732130280754500292075154387032860852977133154178695201738595090575635422236372081834243952672191329885292737316806860399081404478640892547401115216566569373080802729180954473738615560896758648027295014581009729934547316275342941511486450757013031589038456950833765994194303383666232995337940636830841361045924541999789483406656053477018673438323737899341311610039302789788683794293811861139613746975990686959959378667248281686587925155216919998107229900061356223804677924398624014080211813256902909700610698275101887303796751787218355036976159946754432405045127520619420642408698986526303267361360787898872846744819355090938094458380129401315463448152530730354766592115252308649278911932325479787419551691185815032296920533299597037659604459964359007018701386431230689249069770108087199551755328397682154481094586084958854913774539404761447972970431981456774754023980031401458638575793650301920610735890221828153852299613488248533774295285380441434478834405309174578434968316773164487080247608060973430758448068462659727707166461620326938938074225995816991115488562579257055102354154216704343228700571748479922041481845790125514529959986845424994226216908488913935088755678013502039830911330732809660139830071790921909552464010118776523849565789544966044571700286333069898613618530836328316206085928201666305579586337010226882787504039719737729440331947614409093489016060216734090224261082954621047424202823188886472396110309539483811143994650207142210818242211330877901509550853856914210671713273507633543260360564889684974846602420427800601464469716716085314634850165301916995564020646007846434179163907676169441552209090244447247812300008269307642893146532772853340541073112262312105700211131407520719627447746242857869436073955301723545311187608800878661860500886662802071873543797532521207753925380260512902589539221225726708130064863324699690434450766681616660322058559777656559228778155313863941784387061885053398739567298282126602117006539740469334986160558842831847789696905284624404179677608192281149497702529101136866262056088978582807789314265039253337704399642911336786205592097113315727688360185907816423105822057625812257196590302349469884511585361967321094609241172762161540631688791403636625599297566280039393281396240504716250641733626172785069906990228967030075915542881093026321470401330354686097719838769247858112492274674979680589175220706757627306374923696315539864583974113074722417573737415240253728118144468052761165860519460772398818899243278159596618604388991589856359795073402045182008445525135939574265603 125151448181517755414556107753601604848767359840236742188708469804478610556251766586965827045285839487076749971482678505952230330683564384079249693363152439420433124037017799674913795015315132787864005287081790114026052707932581540287809000536322011372707688573110169465931404689939318414551528662811082302621548409237772625283116424993953610149091211933140004775673966256148997094977047451953028584418654840844722036529387489012225806789112555277090474113648675238627499897828748985052382100591888606632021384444997458619558342051250875768918502377191534683665432608265222928867636915523922384189155713768877796758577378086378321900542707805451482181152032341673851890887505044358143884321860505832311144045055759414717934051185927901534026700363451446179009429759821525310154510583186659044785345111035403426906843916070173298271778007390576711583922271104638620239831015382673398478131194166702845191815078290473059106973307444551119813054288379482078997946371507067096531298466929211091962071731742786623595193981590579871017407433579300104446608495309181889114507305950889232128696225943520290701022264782203141371297989284663533814490624513089878344197005022883879305506561847636735805077068819719674096891564776111443622938901793190854136960664651773564381981879039904054110570442768665113903139880098085439817941745306767213456147085733646096728348807854855948308037653511057837538710714788662585800570780566899199380082180439614804910579927042215389961489255437919886095110475275994836405481297235355460092209591724622508120206022327495730825530062153814554485444407706066203173402867972226322024605575482910983645867752840208563777308507330400059484352429374039248333590786032120538021709461014142829899115943974506992482020353444416242833794199326052882003070252262338615439341336977242244671944078699013949063387875874843583942934890645271213095336586628901392434704250113791402039559218495963209303230310736353992348430423873541946084908170922476046437353775763074499818767843190125542769334326603628781739075046872466950081519625093997587879179886669776476690300987925508260563376416489980421625387421879503489360689836821705805512414310364895337976351624857739402501053062235968628432941200773667586770648422993508900861727435752375271258335191799555636408739187431805794449590186685853795237897862013928868539984180288778900877782529102001796628140699497107164025257570835260328473609914141310874930310953388866964080867847514650051670240051372468220511004231081453444822775177823914276394967155768616536927541633825914216605522906888075763674909203504894043295425595498809924923327670359482151609152149988203887950871680329198024719937594583264370460437710084454401028057247707778062560106548562622632034410130574502792315336711124800759141315259676561769687730458910125807888685071417391585341687867613887675787600650184554537386999563731809014804456056684667890028485487231755547158955370098560690024541391360575850282835716551451068778774539572257136540482099255163802908815404784188143898957045008756760199233926193826705151115766172098998346802928168003476405996420307841271874152191149139085038364484459410373413981936216223293308036899985101919294816701640422700457142197998002169955891042648082855714055721677450318804885994936167001222244987668726621451120028639740382415915435920150134433373562219674653039177113541501402903001782470616571147878729702636734441195455987110854568531650844760954541910812012746530181186106183322510927751887641763539355338777624354101768556597116074535219079818338349912268574744964335298273654307992892370534504859441178835555055579514344832703956486399 202499296898966947922886284483949370306121239930801301649401551769905366128488920380747332600234592968659833956855816132925487753652191692883234822905858733486169885743743590306604253858350862044091219840780066168138088538197785527065062930325083682979044417792005296988779991614044393621471140195352028105056568622706017336653683902862748034185045199614127892632480660980849108007043178239077770235701483640905660909947592677157442762816076425751949815991613819755374046665091888713315680560880139221577436332658487136293282169627212369956272702709662258642539087727304988023037137156726840974217246008262577928013697738781059576353964380157951061416091633142159973648949651973175200107581304196708577236688354514117489774285530370974387000292665180643034409695802982522958872275110116377558645855257579533173967696767991211013667515665558268856088975892441817286518341113029850906956309622582530066557769306577985836519243440706416928265381758198626826601945827516505598259302122387581077723784897080471800076596981905535660857282710850595757314528680988495989427656416985306964258976980443812365855409297643056118504452167979865272409581200148512114716278839266836551496836447140374052611937467901124152737784112177226660189508274873993583317915138390389125278740527067199068691580172703212430178482821609571890574954776895805670406980851727840400112015040850193888944868494872103762080710504272069241854047799240337523117981521751224844213369715726009683773350395051666862085797435235373503653762983823280615309129589831852408181562246132173655224154076234026367742347317406676901448504755276023073811823930519887143592622185245253691297927927972808758470878732641400609121489658878865357376800399108601210028517259437955145012750708211008358086102848604964814328550039681890306625156369274162777971541116358618409027746882893544970374165579894340983203423786180656720832386404594885988124518073409737748707991758709324424329887198627565926116309629561051840087655696373810390040595997042425156257582860377924067119516481351301355390694203528965904652344373750024084751274418683956329026036144197146883245714360817577715356506827937194368091671365467249492193055968086439974249532984277450474223066715303627573616073417219725809350641370841130949271837231630466967141548847571635866240512096238317805356674385863494658084950224860479187210852427715620327464469015703193092226923876414846665483836796928814914650048682829198911695276941003666111886974141596729303465625278505656268011661650220024585934450966912611187134683844644156427936400808397626617531823414176607316803059138759170489813012645206084572036952751452673604666956994964048190021854590147285016468284144263618308704226689259987152804553796374922640303717773467649325088190051665873871403627365376772901095251178537573554131542940853465540643411412925075284588479312045055424049801635605352812336977264438593270288998389821294768384682078228625553349241081795026616964452376873509628556431098801035291854346041039550864793868803523755442181083647125763299939703261179987263993947613961795903631427332347681084598277569805543800975289057411195174016947292248724638453235273920622936219373686190694016408132429328782886364958621103824227581703299844673158063525606189035680772207089545408173984406528300415412854756654239037948695954829201546374938089812861408279211962183448491631870031858386159452240905051173038064795881553706949623816389763337035629521591401187967236938813412558246207243291752225737652430061195198091517008810325234219003271840984198869373040973563863578576433250926597281362124361219236252237600237587959869968643530752002 327650745080484703337442392237550975154888599771038043838110021574383976684740686967713159645520432455736583928338494638877718084335756076962484516269011172906603009780761389981518048873665994831955225127861856282164141246130367067352871930861405694351752106365115466454711396303983712036022668858163110407678117031943789961936800327856701644334136411547267897408154627236998105102020225691030798820120138481750382946476980166169668569605188981029040290105262494994001546562920637698368062661472027828209457717103484594912840511678463245725191205086853793326204520335570210951904774072250763358406401722031455724772275116867437898254507087963402543597243665483833825539837157017533343991903164702540888380733410273532207708336716298875921026993028632089213419125562804048269026785693303036603431200368614936600874540684061384311939293672948845567672898163546455906758172128412524305434440816749232911749584384868458895626216748150968048078436046578108905599892199023572694790600589316792169685856628823258423671790963496115531874690144429895861761137176297677878542163722936196196387673206387332656556431562425259259875750157264528806224071824661601993060475844289720430802343008988010788417014536720843826834675676953338103812447176667184437454875803042162689660722406107103122802150615471877544081622701707657330392896522202572883863127937461486496840363848705049837252906148383161599619421219060731827654618579807236722498063702190839649123949642768225073734839650489586748180907910511368340059244281058636075401339181556474916301768268459669386049684138387840922227791725112743104621907623248249395836429506002798127238489938085462255075236435303208817955231162015439857455080444910985895398509860122744039927633203412462137494771061655424600919897047931017696331620291944228922064497706251405022643485195057632358091134758768388554317100470539612196298760372809558113267090654708677390164077291905700958011222069445678416678317622501107872201217800483527886525009472136884889859363840232550699026917186981552848858591528223768305472213828622963492531524260419800561441575406609464589589412560687127304871101782697081204717196664758900173604085675832144830169407592944179376750586046513419102656007916077295160386721840213234710212368806593506220530172423430022603550288035003441660690102282924171600594572247877423526624934405149258088088634956817622124092609715200300256252181447250106993957446711070125789580359636218065875776144788518316163557214192969197523976629509587109712834436828043938862329418122681227724062225478470070644541923715285702381206732617681501360098484734257980414736340315565566723646104901440877492617828675293246214741792184730549386928721854348072709732283936967765215364660344937545272338127904042152117403526762790674630544942625053334670782981637447699362020228012270857125985099280538962960376079962229609961436801199337161827141433321123261160317483877053050315543637448327186243373782473155602467247288093424960697335205638373292428394828140294714667702684208307943586080040692134520060138937187373813969145063380133894901978230260515684561004273990113385072849441248560334259055311776708135011867217210136846229527410586175795935702949130969205586822100819101826397537594342492756013777581327866485999577093084481575175206651515969142034305876682878778331111870265121696509371463375081082932251139296989993034773033640856776023388783780875674799237077009694060478384921414181796584063502213200713767119999518741568718171043639867501191785399972822445618777366922350293538490920802537219285309548308827913874706905234590173732658866078677431073155293167474214801347487238401 530150041979451651260328676721500345461009839701839345487511573344289342813229607348460492245755025424396417885194310771803205837987947769845719339174869906392772895524504980288122302732016856876046444968641922450302229784328152594417934861186489377330796524157120763443491387918028105657493809053515138512734685654649807298590484230719449678519181611161395790040635288217847213109063403930108569055821622122656043856424572843327111332421265406780990106096876314749375593228012526411683743222352167049786894049761971731206122681305675615681463907796516051968743608062875198974941911228977604332623647730294033652785972855648497474608471468121353605013335298625993799188786808990708544099484468899249465617421764787649697482622246669850308027285693812732247828821365786571227899060803419414162077055626194469774842237452052595325606809338507114423761874055988273193276513241442375212390750439331762978307353691446444732145460188857384976343817804776735732201838026540078293049902711704373247409641525903730223748387945401651192731972855280491619075665857286173867969820139921503160646650186831145022411840860068315378380202325244394078633653024810114107776754683556556982299179456128384841028952004621967979572459789130564764001955451541178020772790941432551814939462933174302191493730788175089974260105523317229220967851299098378554270108789189326896952378889555243726197774643255265361700131723332801069508666379047574245616045223942064493337319358494234757508190045541253610266705345746741843713007264881916690710468771388327324483330514591843041273838214621867289970139042519420006070412378524272469648253436522685270831112123330715946373164363276017576426109894656840466576570103789851252775310259231345249956150462850417282507521769866432959005999896535982510660170331626119228689654075525567800615026311416250767118881641661933524691266050433953179502184158990214834099477059303563378288595365315438706719213828155002841008204821128673798317527430044579726612665168510695279899959837274975855284500047359476915978108009575069660862908032151929397183868634169824646192849825293420918615448704884274188116816143514658920073703492696094541695757041299394322362463561030619351000119030790869576879074631380922734002795257432960519563010177434637169802009655060489570691836882575077526930614379162489405951246633740918184709884630009737275299487384533242451557078730903493348479105323664953659441283507998940704230408319047264787471421729521982275444188334565926827442254788092765980846098478263963448263869089593838911196909323114227072478324523683328998738556031858108676901543873017150904549352960771651295683057652893551097284785670257294404763646774877834403397005998611691018436510626227752368169214141312467912641845677509801442491716814456548501948569990430107571878232815985272916151770953124322666628510693464038244964559274274665385486602834942514639478410585561854430606482266874345083928319526555811796723023554950629084211740470298470325891636737174327720249174181334265532496553011831699028261124339260283360078640448553801233139010994095690805609657592863365645602551559918928873824730305971529433072259068956859650320452484057469165746784272366489952111081560297988473187059440205650625119297642337429171841106934055521680349300174026983349191058044269557447160633337117816279807825094323242884309553187942491211463101480438484666643065499242935475629688832048712864032958563401010102201311177518832213585093614388681004058812931299814925414335392093238844215461168020537135786177247584512541762761786736088658350521872691492451140156161187455094783227297913683310755530755434084769991017990403 857800787059936354597771068959051320615898439472877389325621594918673319497970294316173651891275457880133001813532805410680923922323703846808203855443881079299375905305266370269640351605682851708001670096503778732466371030458519661770806792047895071682548630522236229898202784222011817693516477911678248920412802686593597260527284558576151322853318022708663687448789915454845318211083629621139367875941760604406426802901553009496779902026454387810030396202138809743377139790933164110051805883824194877996351766865456326118963192984138861406655112883369845294948128398445409926846685301228367691030049452325489377558247972515935372862978556084756148610578964109827624728623966008241888091387633601790353998155175061181905190958962968726229054278722444821461247946928590619496925846496722450765508255994809406375716778136113979637546103011455959991434772219534729100034685369854899517825191256080995890056938076314903627771676937008353024422253851354844637801730225563650987840503301021165417095498154726988647420178908897766724606662999710387480836803033583851746511983862857699357034323393218477678968272422493574638255952482508922884857724849471716100837230527846277413101522465116395629445966541342811806407135466083902867814402628208362458227666744474714504600185339281405314295881403646967518341728225024886551360747821300951438133236726650813393792742738260293563450680791638426961319552942393532897163284958854810968114108926132904142461269001262459831243029696030840358447613256258110183772251545940552766111807952944802240785098783051512427323522353009708212197930767632163110692320001772521865484682942525483398069602061416178201448400798579226394381341056672280324031650548700837148173820119354089289883783666262879420002292831521857559925896944467000206991790623570348150754151781776972823258511506473883125210016400430322079008366520973565375800944531799772947366567714012240768452672657221139664730435897600681257686522443629781670518745230528107613137674640647580169759323677507526554311417234341029764836699537798837966335121860774892889715392894589625207634425231902885508204861265571401492987917926211740124790900157454994715299842717131539152531871153974798727750705077304288679535082547458217894389517097646195229775378984028143390332182078490512174242124917578519187620716662086661006545818881618341711334819035158995363388122341350864575649688446103793604731286770915060653398730219069066493810767955265330663247566518040298439001402527535124351418884297679875693680535306307902310593287212275066635259134801584297717020248238969031379945288649539610037000028607275131319285693276337218019329162554334428589902614345550540619505438959608383790325727852959763728168794563195517583533874486250013184979973581551953559895243577247223132493512615483442242661214453432972278171998965395179792613609974003001205340639236504275346923404034279676466619843906685115590923966143927395399471956974882998040096806028106231551459028563723431023226842375547620148644002321628980200199237220139642614341165031394803420217577635927615202284074374229585707587887853379050206606825550032313946674171554531863692127570845664994662187669694194315395274194858542285887814030691267194060009160259307477022656891984830185185618688261922007679926393258508558524397709560238699481466510019996594610919695359444939393681016563023574143714240777428477701416099140099711499018472612924387663270035573095070580586232591700628797648595827589394771178812450041383643585379031960740036000861140842982754563544169934806080253682589273307943660070181519406325847061395777628827442093376591114383910823922908299571338505228804 1387950829039388005858099745680551666076908279174716734813133168262962662311199901664634144137030483304529419698727116182484129760311651616653923194618750985692148800829771350557762654337699708584048115065145701182768600814786672256188741653234384449013345154679356993341694172140039923351010286965193387433147488341243404559117768789295601001372499633870059477489425203672692531320147033551247936931763382727062470659326125852823891234447719794591020502299015124492752733018945690521735549106176361927783245816627428057325085874289814477088119020679885897263691736461320608901788596530205972023653697182619523030344220828164432847471450024206109753623914262735821423917410774998950432190872102501039819615576939848831602673581209638576537081564416257553709076768294377190724824907300141864927585311621003876150559015588166574963152912349963074415196646275523002293311198611297274730215941695412758868364291767761348359917137125865738000766071656131580370003568252103729280890406012725538664505139680630718871168566854299417917338635854990879099912468890870025614481804002779202517680973580049622701380113282561890016636154807753316963491377874281830208613985211402834395400701921244780470474918545964779785979595255214467631816358079749540479000457685907266319539648272455707505789612191822057492601833748342115772328599120399329992403345515840140290745121627815537289648455434893692323019684665726333966671951337902385213730154150074968635798588359756694588751219741572093968714318602004852027485258810822469456822276724333129565268429297643355468597360567631575502168069810151583116762732380296794335132936379048168668900714184746894147821565161855243970807450951329120790608220652490688400949130378585434539839934129113296702509814601388290518931896841002982717651960955196467379443805857302540623873537817890133892328898042092255603699632571407518555303128690789987781466044773315804146741268022536578371449649725755684098694727264758455468836272660572687339750339809158275449659283514782502409595917281700506680814807547373907627198029892926822286899261528759449853827275057196306426820309970455675681104734069726399044864603650151089256995599758430933474894334715005418078750824108095158256414157178839140628392312355079155749338389161462780560134191733551001744933961800153596714551331041249150412497065515359259896044703665168732638687609725884107027206767177007286953210392094580014312840013727068007198041176274312595450718988247562280714445590862101051178861139085772641674526633784571865758857156301868905546456044124698524789498572762652360378683844681397718713901572480292282223835046237108869315012220207227979687187400015807835024269085734486218193722733851571454746605305189423269951703088627562481097621819259061755002386960391703771634442082605913549814539447269418245194323769918519502459242120667467039450305198510778940732410006869222191106098254492246970021530448410801740483400276501438809836819829583056860635670769034021901349118479112721947868893176502963245732695790231971341642602289370655086780296218084481416435423085368325276513197545446242415852209377109951242820498901860503393125199829914621854312508122178251784561020979130908775839925112251565182533196219699513127647776189627167614357459795195977529360275693432535541873588767604508256928627143357114410890727520453768182277990569750966065355177342257866962368059164639342646974648161444973100527302994136496080682787543769219461011233689441978075775237625381341198568999714424053978880216322308863519890349721417519318622016444376009396602010592054210898776987217556965083922225320674504797694666354678342384341329523219207 2245751616099324360455870814639602986692806718647594124138754763181635981809170195980807796028305941184662421512259921593165053682635355463462127050062632064991524706135037720827403005943382560292049785161649479915234971845245191917959548445282279520695893785201593223239896956362051741044526764876871636353560291027837001819645053347871752324225817656578723164938215119127537849531230663172387304807705143331468897462227678862320671136474174182401050898501153934236129872809878854631787354990000556805779597583492884383444049067273953338494774133563255742558639864859766018828635281831434339714683746634945012407902468800680368220334428580290865902234493226845649048646034741007192320282259736102830173613732114910013507864540172607302766135843138702375170324715222967810221750753796864315693093567615813282526275793724280554600699015361419034406631418495057731393345883981152174248041132951493754758421229844076251987688814062874091025188325507486425007805298477667380268730909313746704081600637835357707518588745763197184641945298854701266580749271924453877360993787865636901874715296973268100380348385705055464654892107290262239848349102723753546309451215739249111808502224386361176099920885087307591592386730721298370499630760707957902937228124430381980824139833611737112820085493595469025010943561973367002323689346941700281430536582242490953684537864366075830853099136226532119284339237608119866863835236296757196181844263076207872778259857361019154419994249437602934327161931858262962211257510356763022222934084677277931806053528080694867895920882920641283714366000577783746227455052382069316200617619321573652066970316246163072349269965960434470365188792008001401114639871201191525549122950497939523829723717795376176122512107432910148078857793785469982924643751578766815530197957639079513447132049324364017017538914442522577682707999092381083931104073222589760728832612487328044915193940679757718036180085623356365356381249708388237139355017891100794952888014449805855619418607192290028963907334516041536445651507085172745593533151753701715176614654423349075061461700289099191935025171236027077174092651995938139169655503807606083972295442475562472627426205868980216806501529185399446935949239726297358522781829452725350979113768145490923950466373812041513919176086717732115902172047703335811419042884396977601607379522700327728002075732067234971602856455623111080557941678865495074966238743946137073691851944229577926113966554765602579153446993389636175530280023383452517368207169090879768069450443514143972181715178926282822506518821001621391758629133330937328750901601087567413543120739513446087334341382761562408277090014361358375643774524694094601984048461704531218474774099752618787535236963113812494282601792840613708562282203968950994766935595221396992057200661722851217472495768883914682251855730641470040655645837747283216079333410903501867572718098398932085612454414554729135882872233476321807876916635611163092187129797597745332372345321488269568017537178824592225932895027452110984256943454402049890200513795720409031637707159742554862220785433299621466058816202659983556767173073415035256817327400760286848974695791872446099956295173989451061727739142942832376593205379958820604670433081611997799543078483457899537040202086691044100397986477164746956410093653377111005501647215813213121671671586313989639498891583035295440069475263779442358473666634057897488190573029709591151263373776360920089808882285269567470546416437831382582212585093456014718916217183449706502644913265587454124702270126965282704545670662235730305102834278952742712749667414051095912078577178601250683912668028448011 3633702445138712366313970560320154652769714997822310858951887931444598644120370097645441940165336424489191841210987037775649183442947007080116050244681383050683673506964809071385165660281082268876097900226795181098003572660031864174148290098516663969709238939880950216581591128502091664395537051842065023786707779369080406378762822137167353325598317290448782642427640322800230380851377696723635241739468526058531368121553804715144562370921893976992071400800169058728882605828824545153522904096176918733562843400120312440769134941563767815582893154243141639822331601321086627730423878361640311738337443817564535438246689628844801067805878604496975655858407489581470472563445516006142752473131838603869993229309054758845110538121382245879303217407554959928879401483517345000946575661097006180620678879236817158676834809312447129563851927711382108821828064770580733686657082592449448978257074646906513626785521611837600347605951188739829025954397163618005377808866729771109549621315326472242746105777515988426389757312617496602559283934709692145680661740815323902975475591868416104392396270553317723081728498987617354671528262098015556811840480598035376518065200950651946203902926307605956570395803633272371378366325976512838131447118787707443416228582116289247143679481884192820325875105787291082503545395721709118096017946062099611422939927758331093975282985993891368142747591661425811607358922273846200830507187634659581395574417226282841414058445720775849008745469179175028295876250460267814238742769167585491679756361401611061371321957378338223364518243488272859216534070387935329344217784762366110535750555700621820735871030430909966497091531122289714335996242959330521905248091853682213950072080876524958369563651924489472825021922034298438597789690626472965642295712533963282909641763496382054071005587142254150909867812484614833286407631663788602486407201913379748510298657260643849061935208702294296407629735349112049455075976973146692608191290551673482292638354258964131069077890707072531373503251797742043126466314632546653220731181646628537463513915952108524915288975346295498361845481206482752855197386065664538214520107457757173229291042233993406102320540583985634885252353293494605192363396905136499151174141807804506728452157306953704510600565545592515664110048517885712616723378744584961831539949912336861503424226365496460640763341793119078630063222800118367511152070960075089279078757673205080889893120503890521564685543013164859867892584251737226709141162469225159042733802875451633828307599816012877728171223050981347296017393764273752137312978012335047464803173567859695766955785750554956649353602968790387964277414377166210668043610428580820177771195556102673221379404942042057486940051741374975380223612099675463564669164360654766401377677827310541871740108992269462666819538802434184711097851308937080105951036258062156811743417772724058678816352891179055633984862965530876366272509977760617713736465194219952822800566631767233721463800600991515886430355327555471665590817684082325899545743772704976980810013804890448073130245110880138733982978745863881911025579769934799587671975275538649942527230674908703287203914050697884517316153120359837567664255194397559126401599658333732318209271239165413900538278653877066400477780123579642271575244769255213338720796734225416392374736266981303949662156064955704854068925293162402437534428418785005448314795502870588717876023846087231946161320130139550820115974711545546321654063212723780781584807880068697796433505758570022535262987004973443324286571341292101147681254289941203879821496509707796671892734725600709773243533279593068253997551667218 5879454061238036726769841374959757639462521716469904983090642694626234625929540293626249736193642365673854262723246959368814237125582362543578177294744015115675198213099846792212568666224464829168147685388444661013238544505277056092107838543798943490405132725082543439821488084864143405440063816718936660140268070396917408198407875485039105649824134947027505807365855441927768230382608359896022546547173669390000265583781483577465233507396068159393122299301322992965012478638703399785310259086177475539342440983613196824213184008837721154077667287806397382380971466180852646559059160193074651453021190452509547846149158429525169288140307184787841558092900716427119521209480257013335072755391574706700166843041169668858618402661554853182069353250693662304049726198740312811168326414893870496313772446852630441203110603036727684164550943072801143228459483265638465080002966573601623226298207598400268385206751455913852335294765251613920051142722671104430385614165207438489818352224640218946827706415351346133908346058380693787201229233564393412261411012739777780336469379734053006267111567526585823462076884692672819326420369388277796660189583321788922827516416689901058012405150693967132670316688720579962970753056697811208631077879495665346353456706546671227967819315495929933145960599382760107514488957695076120419707293003799892853476510000822047659820850359967198995846727887957930891698159881966067694342423931416777577418680302490714192318303081795003428739718616777962623038182318530776450000279524348513902690446078888993177375485459033091260439126408914142930900070965719075571672837144435426736368175022195472802841346677073038846361497082724184701185034967331923019887963054873739499195031374464482199287369719865648947534029467208586676647484411942948566939464112730098439839721135461567518137636466618167927406726927137410969115630756169686417511275135969509239131269747971893977129149382052014443809820972468414811457226681534929747546308442774277245526368708769986688496497899362560337410586313783579572117821717719398814264333400330252640128570375457599976750675635394690296870652442509830029290038061602677384175611265363257201586484709555878729746746452965851691753882478894052128312636631433857673955971260529857707565925452444628461066939357634029583286135235617828518895426447920773250582834309314463110803749065824188642839073860354050232919678423229448069093749825570164245317501619342154581745064733468447678652097778767439021339577641373402239421185852677676410940971966331401897758043330156849909886401977264169802536214765895143895942111343272376215704774655427109310076525264001043983694985730352796241367428738524586311818135122675422161819657260633891696153504694660845022177014855187469662825404940289172126951368329605761168313273048707533928940770715120680139315307686348866962953581950407120761596874005345372891076828676225926251534451290111141246439277520260012249144743454082425590653100805383045009930364229512566093809122089261083903967534152147697598485845136193310156489198174754867181323809525299479710837404853435000954768412045485347969841782429918356354845048690573906759854631435195552261899705923143984473611327109810899295403398137229935719606979617154336988642352851163213443616762111776603440679866814623742669561721934002169748814450111336421894021952080194425621333742378945344352960508328457842507009692198227363921981429560768076908449053555678383209535096491059640628998259981113016868070501044106362994169901336083416712650689208276525180176252592427568026556698306574805693351916525671508982655775462450509421560148776696621851820711880843752166665580115229 9513156506376749093083811935279912292232236714292215842042530626070833270049910391271691676358978790163046103934233997144463420568529369623694227539425398166358871720064655863597734326505547098044245585615239842111242117165308920266256128642315607460114371664963493656403079213366235069835600868561001683926975849765997814577170697622206458975422452237476288449793495764727998611233986056619657788286642195448531633705335288292609795878317962136385193700101492051693895084467527944938833163182354394272905284383733509264982318950401488969660560442049539022203303067501939274289483038554714963191358634270074083284395848058369970355946185789284817213951308206008589993772925773019477825228523413310570160072350224427703728940782937099061372570658248622232929127682257657812114902075990876676934451326089447599879945412349174813728402870784183252050287548036219198766660049166051072204555282245306782011992273067751452682900716440353749077097119834722435763423031937209599367973539966691189573812192867334560298103370998190389760513168274085557942072753555101683311944971602469110659507838079903546543805383680290173997948631486293353472030063919824299345581617640553004216308077001573089240712492353852334349119382674324046762524998283372789769685288662960475111498797380122753471835705170051190018034353416785238515725239065899504276416437759153141635103836353858567138594319549383742499057082155812268524849611566076358972993097528773555606376748802570852437485187795952990918914432778798590688743048691934005582446807480500054548697442837371314624957369897187002147434141353654404915890621906801537272118730722817293538712377107983005343453028205013899037181277926662444925136054908555953449267112250989440568851021644355121772555951501507025274437175038415914209235176646693381349481484631843621589143223608872318837274539411752244255523262419958288903918477049349257749429927008615743039064358084346310851439556321580464266533203654681622355737598994447759538164722967734117757574388606435091710913838111525622698584136350266052034995515046958790103642486327566124892039650981690188658716133648992582884487424127267215598695718723120430430877526943549284832067287036951486577006235772388657320676033536570356825130113068334364436018082759398332971667504903226545247396183753503541135618805192505735082122784221651324614227975431320649283602415653473128862982901223347815580245820785645253524396259292547235471638185237358969243337640791932298889232161893110628948562348321902835453674774841783035726065643146169727638057625028245517098553608530168896033255089355607423680507948223286805077032311014556000633048588699143184205644843115690796979861745551256242339590852816736564917532909636702902509117066596562445043049017039964635691620532690260527569690950876018075800680879707390142806134846488783051674051433259344200867547910263407529702820246448949984930350804181290196880424140485790888615417253431843043304389565999602997832730930861279799815272922690252599790397889479703169264076662820275636056034941947459844162133823330189927783967649964315139688751390791349229880867362199853155942517023966112556702381862110104255549103619973841868990927480230170736863067653331627494846008579275488069306851624090328627344155040765653669841157646938203384941136966703257383087535246845561838286396688347175729570995898443901049207029433621620244944544120617012369370296225063638665626325077401765615155696416621199191449114234692658563189724564256830143775754709216152114509084194966846547715439239597401011350843269647866906841033170815612712862477271972158306093452883502297331625064245160436820420663131782447 15392610567614785819853653310239669931694758430762120825133173320697067895979450684897941412552621155836900366657480956513277657694111732167272404834169413282034069933164502655810302992730011927212393271003684503124480661670585976358363967186114550950519504390046037096224567298230378475275664685279938344067243920162915222775578573107245564625246587184503794257159351206655766841616594416515680334833815864838531899289116771870075029385714030295778315999402815044658907563106231344724143422268531869812247725367346706089195502959239210123738227729855936404584274533682791920848542198747789614644379824722583631130545006487895139644086492974072658772044208922435709514982406030032812897983914988017270326915391394096562347343444491952243441923908942284536978853880997970623283228490884747173248223772942078041083056015385902497892953813856984395278747031301857663846663015739652695430853489843707050397199024523665305018195481691967669128239842505826866149037197144648089186325764606910136401518608218680694206449429378884176961742401838478970203483766294879463648414351336522116926619405606489370005882268372962993324369000874571150132219647241613222173098034330454062228713227695540221911029181074432297319872439372135255393602877779038136123141995209631703079318112876052686617796304552811297532523311111861358935432532069699397129892947759975189294924686713825766134441047437341673390755242037778336219192035497493136550411777831264269798695051884365855866224906412730953541952615097329367138743328216282519485137253559389047726072928296404405885396496306101145078334212319373480487563459051236964008486905745012766341553723785056044189814525287738083738366312893994367945024017963429692948462143625453922768138391364220770720089980968715611951084659450358862776174640759423479789321205767305189107280860075490486764681266338889655224638893176127975321429752185318766988561196756587637016193507466398325295249377294048879077990430336216552103283907437222036783691091676504104446070886505797652048324424425309202270701958067985450849259848447289042743771056703023724868790326617084878955586786091502412913777462188869892982871329988483687632464011653105163561814033489917338268760118251282709448988670168004214499086084328864222143584008211842961432734444260860574830682318989121369654514231640426508332705618530965787725031724497144837926441489513827179095902579646577263649339570611215417769713760911889390053383249970827416921989738570699737910571739534484031187983534174580511864615746808114437623823686476326577547944027005509686901089823296064039929197200698879799896212722878713914387108836278557044616743574429495980447012271854215383291679880673931664501410510077370456613686414331363747531294081451749914705874421980253807818571901019866288738004223924725609729621650422510822945450154175131918637005015209751321629144784268752902593897075125175911181885255471401338126863418006050900864561996885925468895042666804986042842661295090792365909082044779513683694365423631850866862562507956468946212524140122214711343457632855489407494805054817750140643519802836834577850709144629771512297362072656686463462236493545299807811003325896985853464538807339981636158471051468857430565615558892642406295493976941491840787771802877430273281837513752827127610698688637259552836349696956898260180418640427370155192329640822846393559989941950078087451553812815239733292277654624406742534774130957443998365231513112258832078112494673771580057795065300936506769924610552235531221734884175123072895615492189828579377399967954441712534385087341284221845133047434608815515013032278993953476884957041280572587328711897676 24905767073991534912937465245519582223926995145054336667175703946767901166029361076169633088911599945999946470591714953657741078262641101790966632373594811448392941653229158519408037319235559025256638856618924345235722778835894896624620095828430158410633876055009530752627646511596613545111265553840940027994219769928913037352749270729452023600669039421980082706952846971383765452850580473135338123120458060287063532994452060162684825264031992432163509699504307096352802647573759289662976585450886264085153009751080215354177821909640699093398788171905475426787577601184731195138025237302504577835738458992657714414940854546265110000032678763357475985995517128444299508755331803052290723212438401327840486987741618524266076284227429051304814494567190906769907981563255628435398130566875623850182675099031525640963001427735077311621356684641167647329034579338076862613323064905703767635408772089013832409191297591416757701096198132321418205336962340549301912460229081857688554299304573601325975330801086015254504552800377074566722255570112564528145556519849981146960359322938991227586127243686392916549687652053253167322317632360864503604249711161437521518679651971007066445021304697113311151741673428284631668991822046459302156127876062410925892827283872592178190816910256175440089632009722862487550557664528646597451157771135598901406309385519128330930028523067684333273035366986725415889812324193590604744041647063569495523404875360037825405071800686936708303710094208683944460867047876127957827486376908216525067584061039889102274770371133775720510353866203288147225768353673027885403454080958038501280605636467830059880266100893039049533267553492751982775547590820656812870160072871985646397729255876443363336989413008575892492645932470222637225521834488774776985409817406116861138802690399148810696424083684362805601955805750641899480162155596086264225348229234668024737991123765203380055257865550744636146688933615629343344523633990898174459021506431669796321855814644238222203645275112232743759238262536834824969286094418251502884255363494247832847413543030589849760829977598775067614302919740494995798264886316137108581567048711604118063341538596654448393881320526868824845766354023671366769664703704574571324216197397198586579602090971241294404401949164087120078078502742624910790133036832932243414828402752617112339259699928465487210043905167300307958885480869925079229585391396860671294110020204436625525021435208186386165327379362632036799803901427594660136545882496483347318290521649897473349889329622496305186001652033755203999643431826232935962452290054487223576720671102000719464141147293113045249792163128639164652657114969906180271541626225187906841001362894107021531219323968066650040411148048312359748923439020218443510192433710126816307695174800743685530302530129900965751585000663914970311056448469095522496692694532160432296717321574125896112236059652691535007287558491841789479979250317768512199432232804589040675392225952072165724354967469766283484763313111554036126639170776744582268559082069674555505591456185679335278772704782065280332271193628183807731576506829624668239879096622799020164618355655404063360106945870827722455466287570152373021538704800484925411624138168130475602345601031820468131926843643083943122995160691030512551835655340516935923884943802460098466815328774545884763325539266747442767019375571698332396097933432252102662573879688045408161099208359209613520927929733458023527226729366430143247519629557766650545679319768387645730819079141969620611054731787229590728243237602308619375418258156896934707610319406767121608465915781291285101949202201717393007991843680123 40298377641606320732791118555759252155621753575816457492308877267464969062008811761067574501464221101836846837249195910171018735956752833958239037207764224730427011586393661175218340311965570952469032127622608848360203440506480872982984063014544709361153380445055567848852213809826992020386930239120878372061463690091828260128327843836697588225915626606483876964112198178039532294467174889651018457954273925125595432283568832032759854649746022727941825698907122141011710210679990634387120007719418133897400735118426921443373324868879909217137015901761411831371852134867523115986567436050294192480118283715241345545485861034160249644119171737430134758039726050880009023737737833085103621196353389345110813903133012620828423627671921003548256418476133191306886835444253599058681359057760371023430898871973603682046057443120979809514310498498152042607781610639934526459986080645356463066262261932720882806390322115082062719291679824289087333576804846376168061497426226505777740625069180511462376849409304695948711002229755958743683997971951043498349040286144860610608773674275513344512746649292882286555569920426216160646686633235435653736469358403050743691777686301461128673734532392653533062770854502716928988864261418594557549730753841449062015969279082223881270135023132228126707428314275673785083080975640507956386590303205298298536202333279103520224953209781510099407476414424067089280567566231368940963233682561062632073816653191302095203766852571302564169935000621414898002819662973457324966229705124499044552721314599278150000843299430180126395750362509389292304102565992401365891017540009275465289092542212842826221819824678095093723082078780490066513913903714651180815184090835415339346191399501897286105127804372796663212735913438938249176606493939133639761584458165540340928123896166453999803704943759853292366637072089531554704801048772214239546777981419986791726552320521791017071451373017142961441938310909678222422514064327114726562305413868891833105546906320742326649716161618030395807562686962144027239988052486236953733515211941536875591184599733613574629620304215859946569889705831997408712042348505007001564438378700087805695805550249759611955695354016786163114526472274954076218653373872578785823302281726062808723186099183084255837136393424947694908760821731746280444647268473358751747534021283582900064291424425610325136485394681127487054788060516502342878924962008076089063823781116326015578404685179013803087317117933331774710375640962078691324529416671063859182906268458011910973713016098822882733945679039264890900733255122296975891649490753367023472933393980714633851249983571670089866535737558135145099669386824121563563221506899119571342411872971477478144905738299430397571705229500062274454797861000472251328764334729993105045699398725469295259924180552411788697035154839046888948061463678846844125837478800913334890614396699301807294121315124092873134150976497892690344541247203693981094474899609575083518053521042864531633437012249279967179128736743404902989201678733213528481083222191889266849049089041168742773577759599815420975790996465018385582285651459396180537241169279485483626854849200703871171110271767813575920005094910134009180009756269342355977239697060772881897839577973312308919698646520514216404832674443857640162534343977776488760234640759358358647233969201916039955655180089593836327009317521776419847651746247491835954851534312452150695873339316653611886159442845716855605339224040201723305314694858703157315603930320623176952553963317092693506670223977058170105643205556750331909803345498181156552743366841375937123478948060285238578834159242997965595320555577799 65204144715597855645728583801278834379548748720870794159484581214232870228038172837237207590375821047836793307840910863828759814219393935749205669581359036178819953239622819694626377631201129977725670984241533193595926219342375769607604158842974867771787256500065098601479860321423605565498195792961818400055683460020741297481077114566149611826584666028463959671065045149423297747317755362786356581074731985412658965278020892195444679913778015160105335398411429237364512858253749924050096593170304397982553744869507136797551146778520608310535804073666887258159429736052254311124592673352798770315856742707899059960426715580425359644151850500787610744035243179324308532493069636137394344408791790672951300890874631145094499911899350054853070913043324098076794817007509227494079489624635994873613573971005129323009058870856057121135667183139319689936816189978011389073309145551060230701671034021734715215581619706498820420387877956610505538913767186925469973957655308363466294924373754112788352180210390711203215555030133033310406253542063608026494596805994841757569132997214504572098873892979275203105257572479469327969004265596300157340719069564488265210457338272468195118755837089766844214512527931001560657856083465053859705858629903859987908796562954816059460951933388403566797060323998536272633638640169154553837748074340897199942511718798231851154981732849194432680511781410792505170379890424959545707275329624632127597221528551339920608838653258239272473645094830098842463686710849585282793716082032715569620305375639167252275613670563955846906104228712677439529870919665429251294471620967313966569698178680672886102085925571134143256349632273242049289461494535307993685344163707400985743920655378340649442117217381372555705381845909160886402128328427908416746994275571657202066926586565602810500129027444216097968592877840173454184963204368300503772126210654654816464543444286994397126709238567887597588627244525307565767037698318012901021326920300561629427402720964980548853361436730263139566800949498978852209274146904488456617770575435784708438598142764203424390450281814635014184192625572492404510307234821144110146005427411691923759147088846414060349576674543654987960292826298625442988318077577153357147518479123261395302788190154325550241538342589034814986839324474371191234780305306290995162362424036200012403551124354075812346529299848427795013673541386427422108510353404936760357933801320762641103426120387200189252644497295963811510179542389673351461075299167547206501196790107909384323602345721319187919947331073020094900376686948529911854101780807854247049654065082715353315391130864783135116327900686774309752326501794027743834763133124307478183413235865584499676125062267497047612116377548374634203721300020690694838956768440119921353394573526212980790226710682312754448620155502961859259117912147942366622530173333073767187331718273427703406357374776784408141438534989734479824520497521462493293907132414164124193445746994936697357791979719046250663892049854958939115840849509958110749642304261563822354640545226848078052350464381880701308062190093202193313862158289020848777120265902284503791473204856107934531217217638641298375471382480286382201548461069827281388863835228903357500185179005132777051625490163598159527827835134888152714369999318293424684119584561818457114049297976461924718980719356341279094028693093474752243749679679743938617425414000497558856972547675863225407087372579174879132565953406631866552834324416469807861283250089010822683373042459062314117724955764287760833886443159058951285221603655078091260353686248143058731944863841576523680783361444715358603312399257922 105502522357204176378519702357038086535170502296687251651793458481697839290046984598304782091840042149673640145090106773999778550176146769707444706789123260909246964826016480869844717943166700930194703111864142041956129659848856642590588221857519577132940636945120666450332074131250597585885126032082696772117147150112569557609404958402847200052500292634947836635177243327462830041784930252437375039029005910538254397561589724228204534563524037888047161097318551378376223068933740558437216600889722531879954479987934058240924471647400517527672819975428299089531281870919777427111160109403092962795975026423140405505912576614585609288271022238217745502074969230204317556230807469222497965605145180018062114794007643765922923539571271058401327331519457289383681652451762826552760848682396365897044472842978733005055116313977036930649977681637471732544597800617945915533295226196416693767933295954455598021971941821580883139679557780899592872490572033301638035455081534869244035549442934624250729029619695407151926557259888992054090251514014651524843637092139702368177906671490017916611620542272157489660827492905685488615690898831735811077188427967539008902235024573929323792490369482420377277283382433718489646720344883648417255589383745309049924765842037039940731086956520631693504488638274210057716719615809662510224338377546195498478714052077335371379934942630704532087988195834859594450947456656328486670509012185694759671038181742642015812605505829541836643580095451513740466506373823042607759945787157214614173026690238445402276456969994135973301854591222066731833973485657830617185489160976589431858790720893515712323905750249229236979431711053732115803375398249959174500528254542816325090112054880237935547245021754169218918117759348099135578734822367042056508578733737197542995050482732056810303833971204069390335229949929705008889764253140514743318904192074641608191095764808785414198160611585030559030565555434985788189551762645127627583632334169453462532949627285722875503077598348293535374363636461122879449262199390725410351285787377321584029782742497816999020070586030494960754082331404489813222349583326151111710443806111779729454952639096173672305272028560441151074819298573579519206971451449732142970820760849324204025974289337409806078674736013982509895600146206117471679427573779649746909896445319782912467842548779686137483014694529555282068461601902929764987435315413012849421757582437088656681830805566213992339961615229295586220555183351752042785604715838611065684103058565921295297315361820142070653893010112284985801109942070826887745751271561221270522587459063429987166641114436453224982863638244909454851995888618149307397984640023427049525825108837061977821030800566927445183821607048436908658519161021162946167721103170113026399093972251682276050150891234724543145655310342008748207179375826789210748367652133987102077946114972729510700478689900877281275589511487627170169061744725156474388382032023739207711499268037801228991228991968326217843020786598363842105042528243171639230725526453453089203689634268016820825928223981696122283853186558220578896147809748417029314361435181769987418328054056811805702327489406454874295476477390420391381558217339169637366103532289676239398024756978445085971324136684112375932660509578745792876904343296069913444354225321176815761283267178377964674635899445935115421038010615251172091401425927235774572276948312949709552845886992516837293246815424891734737905177446833589858149019275172965176887180409633999635927005776155007624395179741345930939529648715809283195024949153259247813097053089518995855423811901861762259617520687713324198632954835721 170706667072802032024248286158316920914719251017558045811278039695930709518085157435541989682215863197510433452931017637828538364395540705456650376370482297088066918065639300564471095574367830907920374096105675235552055879191232412198192380700494444904727893445185765051811934452674203151383321825044515172172830610133310855090482072968996811879084958663411796306242288476886127789102685615223731620103737895950913362839610616423649214477302053048152496495729980615740735927187490482487313194060026929862508224857441195038475618425921125838208624049095186347690711606972031738235752782755891733111831769131039465466339292195010968932422872739005356246110212409528626088723877105359892310013936970691013415684882274911017423451470621113254398244562781387460476469459272054046840338307032360770658046813983862328064175184833094051785644864776791422481413990595957304606604371747476924469604329976190313237553561528079703560067435737510098411404339220227108009412736843232710330473816688737039081209830086118355142112290022025364496505056078259551338233898134544125747039668704522488710494435251432692766085065385154816584695164428035968417907497532027274112692362846397518911246206572187221491795910364720050304576428348702276961448013649169037833562404991856000192038889909035260301548962272746330350358255978817064062086451887092698421225770875567222534916675479898964768499977245652099621327347081288032377784341810326887268259710293981936421444159087781109117225190281612582930193084672627890553661869189930183793332065877612654552070640558091820207958819934744171363844405323259868479960781943903398428488899574188598425991675820363380235781343326974165092836892785267168185872418250217310834032710258578584989362239135541774623499605257260021980863150794950473255573009308854745061977069297659620803962998648285488303822827769878463074727457508815247091030402729296424655639209095779811324869850152918156619192799960293353956589460963140528604959254470015091960352348250703424356439035078556674941164585960101731658536346295213866969056362813106292468380885262020423410520867845129974938274956976982217732656818147295221856449233523471653214099727942587732654848703104096139035112124872204962195289529026885500118339239972585599328762479491735356320213078603017324882439470680488662914207879085940742072258869355982924871393673133761949829543994377983077082135143289357187095945668817949609779691383757851297785256925953414181592606112525259397730734725741425394246680015006158272185299848673830679620917707541461258573840341185305080701486629019356799599853052369075517572241524146145340482032245301236360099191538931683764604322390412177051232747773147734527709238344702646477497155862834424492795937984596811542862240461041853641006677871610232947752488545777895256840377601917037297594275465844970607466297287974731577370897825467060869265277833246157214106836064677661689417028046477361649993582242246618967682289164437903331904945015032737926349020971687372468506912836453322781220883377753129749980367830715016911558330179494864898878278688363576823591915376651422772210009968037437878091481701084054491209801258912919740233544707045096172670947859870706773583106678408996918754967367518579596898209935983577863022949626847710535460488344713633945591274342614363338128473809882995272875332565154839889393616618802276394515066703708725924335151105606979713189702362313447268409818434668380062700334188004066613870471130853465456410983343691642773038170430498644822319300048235217321742120135505633691773416091874868234480246552808337339073450739337662054587368675743438285940400882132428682801945354093643 276209189430006208402767988515355007449889753314245297463071498177628548808132142033846771774055905347184073598021124411828316914571687475164095083159605557997313882891655781434315813517534531838115077207969817277508185539040089054788780602558014022037668530390306431502144008583924800737268447857127211944289977760245880412699887031371844011931585251298359632941419531804348957830887615867661106659132743806489167760401200340651853749040826090936199657593048531994116958996121231040924529794949749461742462704845375253279400090073321643365881444024523485437221993477891809165346912892158984695907806795554179870972251868809596578220693894977223101748185181639732943644954684574582390275619082150709075530478889918676940346991041892171655725576082238676844158121911034880599601186989428726667702519656962595333119291498810130982435622546414263155026011791213903220139899597943893618237537625930645911259525503349660586699746993518409691283894911253528746044867818378101954366023259623361289810239449781525507068669549911017418586756570092911076181870990274246493924946340194540405322114977523590182426912558290840305200386063259771779495095925499566283014927387420326842703736576054607598769079292798438539951296773232350694217037397394478087758328247028895940923125846429666953806037600546956388067077871788479574286424829433288196899939822952902593914851618110603496856488173080511694072274803737616519048293353996021646939297892036623952234049664917322945760805285733126323396699458495670498313607656347144797966358756116058056828527610552227793509813411156810903197817890981090485665449942920492830287279620467704310749897426069592617215213054380706280896212291035226342686400672793033635924144765138816520536607260889710993541617364605359157559597973161992529764151743046052288057027552029716431107796969852354878639052777699583471964491710649329990409934594803938032846734973904565225523030461737948715649758355395279142146141223608268156188591588639468554493301975536426299859516633426850210315528222421224611107798545685939277320342150190427876498163627759837422430591453875624935692357288381472030955006401473446333566893039635251382669052367038761404960120731664537290109931423445784481402260980476617643089160000821909803354736768829145162398887814616999834778039616886606134593635452865590488982155314675765837339236221913448087312558688907538359150596745192286952083380984230962459201448966194939954467087731519628173932567727754554983951289909093177437032284730844769337869402907239751974918233069361603329227733351297590066502596571090183687345604323930296788094828983209575327648673359737689585082055177176593219456318279030326358630732413171161577235063453539708455318186663401351937979759591645248451520759622063016587174398974780345974151582518029577532890528493151761840739930776186979355673476663801520788119265477601047971343223948218886724807314754578538970692617557964988820162643986971775442070671196461642539616444283070539155340249963655698686349933623051686623325925905996301389211093357168470000762019813762881719704206912345272945875768563209643351106157777785854907405843136265824478628129312969731545935872196451551046966424337261127164964664895748166556121070899808255836296234692962022948994273763531822911393148854292379738468178685910433251572828035204172088636615832333217854068252518248211509936104714323977096426552531534215487761979310626396977962664321660896899993581003428958348608376308300299046269132362966815738215057610908278821955227054011372329366515315246979622712945740590677517675271501961596586886547792427181050442792487645300048200018402820142007000578308929364 446915856502808240427016274673671928364609004331803343274349537873559258326217299469388761456271768544694507050952142049656855278967228180620745459530087855085380800957295081998786909091902362746035451304075492513060241418231321466986972983258508466942396423835492196553955943036599003888651769682171727116462808370379191267790369104340840823810670209961771429247661820281235085619990301482884838279236481702440081123240810957075502963518128143984352154088778512609857694923308721523411842989009776391604970929702816448317875708499242769204090068073618671784912705084863840903582665674914876429019638564685219336438591161004607547153116767716228457994295394049261569733678561679942282585633019121400088946163772193587957770442512513284910123820645020064304634591370306934646441525296461087438360566470946457661183466683643225034221267411191054577507425781809860524746503969691370542707141955906836224497079064877740290259814429255919789695299250473755854054280555221334664696497076312098328891449279867643862210781839933042783083261626171170627520104888408790619671986008899062894032609412775022875192997623675995121785081227687807747913003423031593557127619750266724361614982782626794820260875203163158590255873201581052971178485411043647125591890652020751941115164736338702214107586562819702718417436127767296638348511281320380895321165593828469816449768293590502461624988150326163793693602150818904551426077695806348534207557602330605888655493824005104054878030476014738906326892543168298388867269525537074981759690821993670711380598251110319613717772231091555074561662296304350354145410724864396228715768520041892909175889101889955997450994397707680445989049183820493510872273091043250946758177475397395105525969500025252768165116969862619179540461123956943003019724752354907033119004621327376051911759968500640366942875605469461935039219168158145237500964997533234457502374183000345036847900311890866872268951155355572496102730684571408684793550843109483646453654323787129724215955668505406885256692808381326342766334891981153144289398513003534168966544513021857845841112321720754910630632245358454248687663219620741555423342273158723035883152094981349137614969434768633429145043548317989443597550509503503143207499240794495402683499248320880518719100893220017159660479087567094797507843331951531231054414184031748762210629895047210037142102683285521436232731888481644139179326653048912068981140349952791252252344657473042355525173840279814381682024634834602831278964745850927610054702755913582654539150776903064587801573692482895147204083200109540486945457376299372305667070507355720668130705605038925945181246716108276984060640669442503409863480186318896104944301798242354932815342526235776430775697576242059994383000083104870228181076846390578921904071063807472789730906095068799138334206242031949963139773951776252365490163303068108840608501781465043938914150819256200660109645604442350470156226229218394409752960360899545871521389298103277081689270935343071154856846459505009404546809283749431139191461187883486912320349993257746618582485600708849769467683939861066123316167745823292785497324837349878969837930571882651286169416903496647219637372197131833938547771574157163474876038267326835433194444628945600812017223390379533446853637199006013684059453028524796589701301845087167361511948397488057743461869137050487904451171418032703020761703637141195200951681672939844246372482756329276962693915191433024962478847439153764502680115706658458511253228041406923644274527102246589651108635450752613314486361832465545752155518054769933925959998531764843105030161163388738334140419284952570689802523663023007 723125045932814448829784263189026935814498757646048640737421036051187807134349441503235533230327673891878580648973266461485172193538915655784840542689693413082694683848950863433102722609436894584150528512045309790568426957271410521775753585816522488980064954225798628056099951620523804625920217539298939060752786130625071680490256135712684835742255461260131062189081352085584043450877917350545944938369225508929248883642011297727356712558954234920551811681827044603974653919429952564336372783959525853347433634548191701597275798572564412569971512098142157222134698562755650068929578567073861124927445360239399207410843029814204125373810662693451559742480575688994513378633246254524672861252101272109164476642662112264898117433554405456565849396727258741148792713281341815246042712285889814106063086127909052994302758182453356016656889957605317732533437573023763744886403567635264160944679581837482135756604568227400876959561422774329480979194161727284600099148373599436619062520335935459618701688729649169369279451389844060201670018196264081703701975878683037113596932349093603299354724390298613057619910181966835426985467290947579527408099348531159840142547137687051204318719358681402419029954495961597130207169974813403665395522808438125213350218899049647882038290582768369167913624163366659106484513999555776212634936110753669092221105416781372410364619911701105958481476323406675487765876954556521070474371049802370181146855494367229840889543488922427000638835761747865229723592001663968887180877181884219779726049578109728768209125861662547407227585642248365977759480187285440839810860667784889059003048140509597219925786527959548614666207452088386726885261474855719853558673763836284582682322240536211626062576760914963761706734334467978337100059097118935532783876495400959321176032173357092483019556938352995245581928383169045407003710878807475227910899592337172490349109156904910262370930773628815587918709510750851638248871908179676840982142431748952200946956299323556024075472301932257095572221030802550953874133437667092421609740663193962045464708140781695268271703775596379846322989533739926279642669621094187888990235312793974418552204462020110542575090166433170719254974971763773924999811489980120786296659241616405206038236017150025681117988707837016994438518704453700932101478784817121720036569498707514599549866116960658124454661372193059795383328633673931091262707637279874528182589316147731206719432388992670529457741568034369365633314543927780268311249476695696947924105663153334629457383846264667917029307043780485213706679771199724174291061700229669093761899490565295995779378964776615530263301893284870203516958948472829768494212599490057682179365251782063388133529189637128368755457167887308445903759705167886815355475821170924896055653581837050322621434588220560979074137018218929318813250615577773153609428780669156811951725729683930663721465573834739630802263162407339290318870216190169851823631557361188411137833581173816237029520898998769841206780082556696027872735189745732528402554545051956913082369807020628338286692513054122715343452503070709474422325523609147692903167973615703448466059884852382832105289099948198266603796534392961103512436469905330030997109167135091269490679321907623761011497153911356358246786053298393422527631714435229841274129880291339450148564229821275597530121655298699414387276132356680117188256168675410688713660983566241224335147077990173862687496194861983311087223747454063548949248069625274249468285652315202466229754156257961980475150765999592937199307573056223269830789556731530512846546324192024155472953651034038382340437687772712696803101971952371 1170040902435622689256800537862698864179107761977851984011770573924747065460566740972624294686599442436573087699925408511142027472506143836405586002219781268168075484806245945431889631701339257330185979816120802303628668375502731988762726569075030955922461378061290824610055894657122808514571987221470666177215594501004262948280625240053525659552925671221902491436743172366819129070868218833430783217605707211369330006882822254802859676077082378904903965770605557213832348842738674087748215772969302244952404564251008149915151507071807181774061580171760829007047403647619490972512244241988737553947083924924618543849434190818811672526927430409680017736775969738256083112311807934466955446885120393509253422806434305852855887876066918741475973217372278805453427304651648749892484237582350901544423652598855510655486224866096581050878157368796372310040863354833624269632907537326634703651821537744318360253683633105141167219375852030249270674493412201040454153428928820771283759017412247557947593138009516813231490233229777102984753279822435252331222080767091827733268918357992666193387333803073635932812907805642830548770548518635387275321102771562753397270166887953775565933702141308197239290829699124755720463043176394456636574008219481772338942109551070399823153455319107071382021210726186361824901950127323072850983447392074049987542271010609842226814388205291608420106464473732839281459479105375425621900448745608718715354413096697835729545037312927531055516866237762604136050484544832267276048146707421294761485740400103399479589724112772867020945357873339921052321142483589791193956271392649285287718816660551490129101675629849504612117201849796067172874310658676213364430946854879535529440499715933606731588546260940216529871851304330597516640520221075878535803601247755866354295036794684468534931316906853635612524803988638507342042930046965620465411864589870406947851483339905255299218831085519682460187660666106424134351602592751085525775693274858435847400610623110685748291427970437663980828913839183877296640468329648245565899139176197496214431252653803553114112816097317134756953621779098380528330332840714929444413577585952697454435356557001459680190059601201804148400018520081763368597361999483623929504158482410900608721735265470906199837089601057034154098997792020795729609322116768652951090983682739263361760496012007868161596764055478581231616060522155575230442034290328786597163729666100522458971777046465712884982915408314183747315339178762383099590214222546624557978808419066917283996534623167732504830880736263380360910762971309264661236519076529041399428969997921016663910084569815541475444548609393147187577599617915333178357692785808953787123667050024418320948871715872904799531154744129368440286759788272757043536552667561503817959724645644523112352340683289360117408343260250879281953024567354025519099592083737265652560227511148974602635616393090940290911908766849689760475096445408564261576591918260734282659222879277093318718791834341840996063626542061705432419544473495163667594015732935443825402719800278374956869178113762972484811136442931775597738493269432440478400492810965582418303990456735034118274706003444845486241168731524795042060208044062493505873147434461926702685123950853224573028720544290889805100423252304407106587084742960026430975431725378506811660512627309333340991990792349187318838447550389383137949959805816605889665342656506085470707629834319450825381411386295008273566071186607828051629363776283732760721513693722126110504281258504551631583786216752206251685669405521769021986307611501464438806544855956867260503114814422776716480856972725283386605625634975378 1893165948368437138086584801051725799993606519623900624749191609975934872594916182475859827916927116328451668348898674972627199666045059492190426544909474681250770168655196808864992354310776151914336508328166112094197095332774142510538480154891553444902526332287089452666155846277646613140492204760769605237968380631629334628770881375766210495295181132482033553625824524452403172521746136183976728155974932720298578890524833552530216388636036613825455777452432601817807002762168626652084588556928828098299838198799199851512427305644371594344033092269902986229182102210375141041441822809062598678874529285164017751260277220633015797900738093103131577479256545427250596490945054188991628308137221665618417899449096418117754005309621324198041822614099537546602220017932990565138526949868240715650486738726764563649788983048549937067535047326401690042574300927857388014519311104961898864596501119581800496010288201332542044178937274804578751653687573928325054252577302420207902821537748183017566294826739165982600769684619621163186423298018699334034924056645774864846865850707086269492742058193372248990432817987609665975756015809582966802729202120093913237412714025640826770252421499989599658320784195086352850670213151207860301969531027919897552292328450120047705191745901875440549934834889553020931386464126878849063618383502827719079763376427391214637179008116992714378587940797139514769225356059931946692374819795411088896501268591065065570434580801849958056155701999510469365774076546496236163229023889305514541211789978213128247798849974435414428172943515588287030080622670875232033767132060434174346721864801061087349027462157809053226783409301884453899759572133531933217989620618715820112122821956469818357651123021855180291578585638798575853740579318194814068587477743156825675471068968041561017950873845206630858106732371807552749046640925773095693322764182207579438200592496810165561589761859148498048106370176857275772600474500930762366757835706607388048347566922434241772366900272369921076401134869986428250514601767315337987508879839391458259895960794585248382384519872913514603276611312838306807973002461809117333403812898746671872987561019021570222765149767634974867654993491845537293597173489463744715800817724027305814759971282620931880955078308894051148537516496474496661710800901585774671127553181446777961310362128968526286051425427671641026999389155829506321704741927608661125346318982248253665691209435458383414440656976348553112948653722690163367901463699242321505902914082220251913453918469432400421860187780043865574617442742508988835527580776758710493190869488486312659689463534592157005707850502678017391094558566388162946851905385299011469303032301806481709082400905510033168286611912016676886190519493440643858892028488732428714015378227481573434973775271509921096482480278469808600766275182931798672709020864406422464511953240832905266357081966925679921714171929257029050793966661598734113400223475621922693797056460450909555748312733340610837270406624618401460292279663240896195996570277987400738485089607299003295155870626817095200154588946002485072160818793041588171303660784581285866770050341587416950379995103393043752844965265917756145572644513967823536870256601597017972175803272760848334040217698202246163347209305602800529114716457395256272249561605669846261809076857130608938522112447647886733225723682746063255138215974492016578379003640072326695042776912309624688068907581156991584653294934061891600578611845909007010189799346037328576734035414762513612058936982751799188884976978577992291817097168232994951653091180148891415976068465456815098821294660497996083408727606927749 3063206850804059827343385338914424664172714281601752608760962183900681938055482923448484122603526558765024756048824083483769227138551203328596012547129255949418845653461442754296881986012115409244522488144286914397825763708276874499301206723966584400824987710348380277276211740934769421655064191982240271415183975132633597577051506615819736154848106803703936045062567696819222301592614355017407511373580639931667908897407655807333076064713118992730359743223038159031639351604907300739832804329898130343252242763050208001427578812716178776118094672441663815236229505857994632013954067051051336232821613210088636295109711411451827470427665523512811595216032515165506679603256862123458583755022342059127671322255530723970609893185688242939517795831471816352055647322584639315031011187450591617194910391325620074305275207914646518118413204695198062352615164282691012284152218642288533568248322657326118856263971834437683211398313126834828022328180986129365508406006231240979186580555160430575513887964748682795832259917849398266171176577841134586366146137412866692580134769065078935686129391996445884923245725793252496524526564328218354078050304891656666634682880913594602336186123641297796897611613894211108571133256327602316938543539247401669891234438001190447528345201220982511931956045615739382756288414254201921914601830894901769067305647438001056863993396322284322798694405270872354050684835165307372314275268541019807611855681687762901299979618114777489111672568237273073501824561091328503439277170596726809302697530378316527727388574087208281449118301388928208082401765154465023227723403453083459634440681461612577478129137787658557838900611151680521072633882792208146582420567473595355641563321672403425089239669282795396821450436943129173370381099539270692604391078990912692029766105762726029552882190752060266470631536360446060091089570972738716158734628772077986386052075836715420860808592944668180508294030842963699906952077093681847892533528981465823895748177545544927520658328242807585057230048709170305547155070096963583553408019015588954474327213448388801496497335970230649360230233091936687336303335302524046777817390484699369327422917576023029902955209368836779016055012011927300662194535488947368645304976206438206423481706548091838080792167909951085302636514288495292391320123018354427622218536864186041323070858140976394447648189483150222258615449677985081552146776217937447722510048648348776124662986481924096299423572384662736860263992901452546467491677921788946063881722501287169197450453092600132926691068516307245935528205713818253496764099853287751892619839486407329323599548104407698481152399112071164578672158184303496125209598171107965256426699351830900030031272621382937967817766656146045326477279281713400902428581156293932531975102873126096547326115954799281213890823538720687882719299750285824191808612948143688117072180751981879868992698360016620212626080696106718811269063107007298374976815393882656976456279339728002874467104567682451833334033166680106892711824136736059863590586010922844563887809407577378252025048740580067684965725388934260669899312062474028649704153595546868285074040798322451068654701106837889239086133997442551187632852558030317042743404036058944674860927223614072907068938242493135968447632557907207635701801200355282703224993331048353073469589484439942279514103239997074052064171233135446393088175780308622468044346296578412165750406746629075513450318967451999858219366120669719652207975622192739770911313039759454687238316673267065243642723199504005440570646384099761313803404779734459390459636036105758676479183279879591815302151633223279470014353241903127 4956372799172496965429970139966150464166320801225653233510153793876616810650399105924343950520453675093476424397722758456396426804596262820786439092038730630669615822116639563161874340322891561158858996472453026492022859041051017009839686878858137845727514042635469729942367587212416034795556396743009876653152355764262932205822387991585946650143287936185969598688392221271625474114360491201384239529555572651966487787932489359863292453349155606555815520675470760849446354367075927391917392886826958441552080961849407852940006118360550370462127764711566801465411608068369773055395889860113934911696142495252654046369988632084843268328403616615943172695289060592757276094201916312450212063159563724746089221704627142088363898495309567137559618445571353898657867340517629880169538137318832332845397130052384637955064190963196455185948252021599752395189465210548400298671529747250432432844823776907919352274260035770225255577250401639406773981868560057690562658583533661187089402092908613593080182791487848778433029602469019429357599875859833920401070194058641557427000619772165205178871450189818133913678543780862162500282580137801320880779507011750579872095594939235429106438545141287396555932398089297461421803469478810177240513070275321567443526766451310495233536947122857952481890880505292403687674878381080770978220214397729488147069023865392271501172404439277037177282346068011868819910191225239319006650088336430896508356950278827966870414198916627447167828270236783542867598637637824739602506194486032323843909320356529655975187424061643695877291244904516495112482387825340255261490535513517633981162546262673664827156599945467611065684020453564974972393454925740079800410188092311175753686143628873243446890792304650577113029022581927749224121678857465506672978556734069517705237174730767590570833064597266897328738268732253612840136211898511811852057392954285565824252668333525586422398354803816678556400401019820975679552551594612610259291364688073211944095744467979169293025228515177506133631183579156733797669671864278921540916898854980412734223174242974049878881855843144163963506844404774994144276337764333164111221203383446041200410478595044600125720359136471753883710005503772837955791708978411113361105793930465512238241677830712769961747246218845136451174030784969789053030923919940202293346090045632819284381220269944920733699614910821863285614838833814587873851518145546108847856367630597029790354195917382479713864229361011289973212646624142709835393141621031267569784636583507421110904371562032533348551256296351111510145648456327242332291680630046462385810708974893641983289011638999855486860249614749181969766716750691659072061503556406976725729731653637381739113673526892971136104378568162722212667798775154044761320609645026361245990481100607669982299891226309202310373303817190496483485574933217622864517633812550110581584133992814785135349780326942300134340252625363747862063029768606032488377038869504579670253335800178912430215417301023062670604439791298508353004103799976956059587156288910245302372899014876381547180919367397162885120314334936745742060130855515616821007814380128154151844091139909868019034696210230932991931099263360307333205497071998140579613660637655962647036730496374921241109155940695382131794841863510008164816517657750538975474554936718199335278666341570551218036215687644960785289894915881509648226391754800639046423349936650738860793183658938700201519226548608991442872661054731611252786587468101746781101112385796783263972352088029578855701660182255804629455623362677753605620501947967454342112727216254650092455251745336406914123446293721275553423080848830876 8019579649976556792773355478880575128339035082827405842271115977777298748705882029372828073123980233858501180446546841940165653943147466149382451639167986580088461475578082317458756326335006970403381484616739940889848622749327891509140893602824722246552501752983850007218579328147185456450620588725250148068336330896896529782873894607405682804991394739889905643750959918090847775706974846218791750903136212583634396685340145167196368518062274599286175263898508919881085705971983228131750197216725088784804323724899615854367584931076729146580222437153230616701641113926364405069349956911165271144517755705341290341479700043536670738756069140128754767911321575758263955697458778435908795818181905783873760543960157866058973791680997810077077414277043170250713514663102269195200549324769423950040307521378004712260339398877842973304361456716797814747804629493239412582823748389538966001093146434234038208538231870207908466975563528474234796310049546187056071064589764902166275982648069044168594070756236531574265289520318417695528776453700968506767216331471508250007135388837244140865000842186264018836924269574114659024809144466019674958829811903407246506778475852830031442624668782585193453544011983508569992936725806412494179056609522723237334761204452500942761882148343840464413846926121031786443963292635282692892822045292631257214374671303393328365165800761561359975976751338884222870595026390546691320925356877450704120212631966590868170393817031404936279500838474056616369423198729153243041783365082759133146606850734846183702575998148851977326409546293444703194884152979805278489213938966601093615603227724286242305285737733126168904584631605245496045027337717948226382830755565906531395249465301276668536130461587445973934479459525056922594502778396736199277369635724982209735003280493493620123715255349327163799369805092699672931225782871250528010792021726363552210304744170241007283206947748484859064694431862784675586504628688294458151824893669539035839843922013524096813683556757985091190861232288327039344824741961242505094324917870569367208550387691362851375379191813374813323737077496711681480579673066857210889038593868145410527833396171067630028675568505308532899765017515700138617986244467358482006410770136903718661723384378804608042539414128796221753810545073465081444351046938294629915564626909818860607452078410921315181347804393972085544230288511799669425998294363483556570366416278945805915017182399306576013287801745674026833476639525595256302884819542820213633666359084794590308354824654632666275242324812658357445673854170145495829055780483334214278430548461300971306888559743407553968012648726820346548438874934995155197271101727514941982156431005468281769144946148275909103922145224308767539145078056867445663749190801320293777965583973733766529626007181108483524264127355911184366204874683503447056326246760693798698656314744796665004342478686958920346966333321470466673332092875613330863353854263387236646709615139906915304682521868705514503938472957978615245715927936713015923177742299833089866260708422453759799205968107977230570086039723871006411959442917989645470711967975675022436918131938232319087689397317068822231017233260802858520838349630028457622357064673714907321897657719988994148178094183188518100242474421417215800518318858105821678699548267766552408748255826010493497550318927642034837354066149016956041314567535109261514467696233229151026543590405567775714969545516060991301092027175401330904994563090294486552012425425556237951210668761296644099344383381759810070026269746777514919423906727701913732572363252360408768934435025215998729425597926944555023437434090734003 12975952449149053758203325618846725592505355884053059075781269771653915559356281135297172023644433908951977604844269600396562080747743728970168890731206717210758077297694721880620630666657898531562240481089192967381871481790378908518980580481682860092280015795619319737160946915359601491246176985468260024721488686661159461988696282598991629455134682676075875242439352139362473249821335337420175990432691785235600884473272634527059660971411430205841990784573979680730532060339059155523667590103552047226356404686749023707307591049437279517042350201864797418167052721994734178124745846771279206056213898200593944387849688675621514007084472756744697940606610636351021231791660694748359007881341469508619849765664785008147337690176307377214637032722614524149371382003619899075370087462088256282885704651430389350215403589841039428490309708738397567142994094703787812881495278136789398433937970211141957560812491905978133722552813930113641570291918106244746633723173298563353365384740977657761674253547724380352698319122787437124886376329560802427168286525530149807434136008609409346043872292376082152750602813354976821525091724603820995839609318915157826378874070792065460549063213923872590009476410072806031414740195285222671419569679798044804778287970903811437995419095466698416895737806626324190131638171016363463871042259690360745361443695168785599866338205200838397153259097406896091690505217615786010327575445213881600628569582245418835040808015948032383447329108710840159237021836366977982644289559568791456990516171091375839677763422210495673203700791197961198307366540805145533750704474480118727596765773986959907132442337678593779970268652058810471017420792643688306183240943658217707148935608930149911983021253892096551047508482106984671818624457254201705950348192459051727440240455224261210694548319946594061128108073824953285771361994769762339862849414680649118034557412503766593705605302552301537621094832882605651266057180282907068411116258357612247783939666481503266106708785273162597324492415867483773142494413825521426635241816725549779942773561934336901254261047656518977287243921901486675624856010831190375000259797251591451728243874766112230154395927641780286783475023019472976573777953445769595367516564067369230899965062209517378004286660347641358204984575858434870497381970858234832208910716955451679891833298680866235915047419304793948829845127345614257299849812509029665418222783909542835705371378316689055727152031106685316806689286149737966138277961163851481203450995668302011419259196216665199623793581109009468955819502626472738161347461113380676664241257436194613290177571382407409454872898341569528518205591685686814269332605283921918707886162659105663508258619675168880240026523792471489751812876832021490425069800446346655023956065074341436511925898407417685834637431173101680849690449616721069920843880573243909280240448737611450139692259013901220481306585946834214535395122644219363351730893132891816316962950940085827734897939169728577174542912749277123598720031736689971982764898588743335168633607437330141346386887475374393455206354058807752154019573773505262291719782355803176588762223078142187106724093527299755222948332524163165854043846702026598201970725311370869968934388216363915389287250123883900232037316284927223965334836515856360654174103204484751744026922167581044715586534615286995622643961064898465689540959289909900560891046169879889887336774064506475916488772064669982743964688230132942157781150558396233333113537811353021215183020849326222955046043564015614699481893109455268525044408675669368074685090468615058861389686770552405643549044220665830576860514939564879 20995532099125610550976681097727300720844390966880464918052385749431214308062163164670000096768414142810478785290816442336727734690891195119551342370374703790846538773272804198079386992992905501965621965705932908271720104539706800028121474084507582338832517548603169744379526243506786947696797574193510172789825017558055991771570177206397312260126077415965780886190312057453321025528310183638967741335827997819235281158612779694256029489473704805128166048472488600611617766311042383655417787320277136011160728411648639561675175980514008663622572639018028034868693835921098583194095803682444477200731653905935234729329388719158184745840541896873452708517932212109285187489119473184267803699523375292493610309624942874206311481857305187291714446999657694400084896666722168270570636786857680232926012172808394062475742988718882401794671165455195381890798724197027225464319026526328364435031116645375995769350723776186042189528377458587876366601967652431802704787763063465519641367389046701930268324303960911926963608643105854820415152783261770933935502857001658057441271397446653486908873134562346171587527082929091480549900869069840670798439130818565072885652546644895491991687882706457783463020422056314601407676921091635165598626289320768042113049175356312380757301243810538881309584732747355976575601463651646156763864304982992002575818366472178928231504005962399757129235848745780314561100244006332701648500802091332304748782214212009703211201832979437319726829947184896775606445035096131225686072924651550590137123021826222023380339420359347650530110337491405901502250693784950812239918413446719821212369001711246149437728075411719948874853283664055967062448130361636532566071699224124238544185074231426580519151715479542524981987941632041594413127235650937905227717828184033937175243735717754830818263575295921224927477878917652958702587777641012867873641436407012670244862156674007600988812250300786396685789264745390326852561808971201526562941152027151283623783588495027362920392342031147688515353648155810812487319155786763931729566734596119147151323949625699752629640239469893790610980999398198357105435683898047585889298391119736862256077270937179860183071496147088819683240040535173115191764197913128077373927334204272949561688446588321986046826074476437579958795120931899951941733017796529462124475343865270540499285377091787551096395223698766034374075415857413926725848106872513221988589200188488641620388560715995631740439832852359343640165925675333222441162780706671694837117354753096601727614020871297865899035905921667826401493356796618233990403241596714890942671805897495584597066131125814963422885547068389875066644466620681969466603707011436860690042593664573945277403565823444789343948669016780257290957954888888936088818991247666948801921649048075203041551905588526169358901558529012865215895324300224516977170127333937707978896763482408115144034737700860140828272919268304681208727215519832694215084747396279052963672566079992743039580461038434091678481385707255738844435959673402987905942640888576425034894315859783901145592855583351624025292393782678758565979016691494907762431750331478199025680355016374506194413490844368577453965565784966024374882196332055055824327789985085777290832045936352909537465344307072418332279790706344439765853155373962182332873651472251304152775177993591538213136853542929030459998027213915421730855526825019162075358742403109040913880364470074251631458317580730974045056715405534273062775713648690719885125963236909259166393689610622867054390426945775424769508162856232783444468315403371281807257453720975467630324121795768404372974642147610385600297949030298882 33971484548274664309180006716574026313349746850933523993833655521085129867418444299967172120412848051762456390135086042733289815438634924089720233101581421001604616070967526078700017659650804033527862446795125875653591586330085708547102054566190442431112533344222489481540473158866388438942974559661770197511313704219215453760266459805388941715260760092041656128629664196815794275349645521059143731768519783054836165631885414221315690460885135010970156833046468281342149826650101539179085377423829183237517133098397663268982767029951288180664922840882825453035746557915832761318841650453723683256945552106529179117179077394779698752925014653618150649124542848460306419280780167932626811580864844801113460075289727882353649172033612564506351479722272218549456278670342067345940724248945936515811716824238783412691146578559921830284980874193592949033792818900815038345814304663117762868969086856517953330163215682164175912081191388701517936893885758676549338510936362028873006752130024359691942577851685292279661927765893291945301529112822573361103789382531807864875407406056062832952745426938428324338129896284068302074992593673661666638048449733722899264526617436960952540751096630330373472496832129120632822417116376857837018195969118812846891337146260123818752720339277237298205322539373680166707239634668009620634906564673352747937262061640964528097842211163238154282494946152676406251605461622118711976076247305213905377351796457428538252009848927469703174159055895736934843466871463109208330362484220342047127639192917597863058102842569843323733811128689367099809617234590096345990622887926838548809134775698206056570170413090313728845121935722866438079868923005324838749312642882341945693120683161576492502172969371639076029496423739026266231751692905139611178066020643085664615484190942016041512811895242515286055585952742606244473949772410775207736490851087661788279419569177774194694417552853087934306884097627995978118618989254108594974057410384763531407723254976530629027101127304310285839846064023294585629813569612285358364808551321668927094097511560036653883901287126412767898224921299685032730291694729237960889558188371328313984321145703292090337467423788869106466715063554646091765542151358897672741443898271642180461653508797839364051112734824078938163779696790334822439114988654764294333386060820722220391118675772653787011442643003559983203920543203028184025697919381542887406811984098031477325759939032684687467591863959044660446855211825071188579440741870523176040568350421398613146873217087963065522829487030677295357312859423090972151750702710095567606913063333690197887243702508222372877758445409959403584850058306368783735936312295358779397928756323679608785662185498613669583975192809251747042770831720910426513888791694013603825877714122416639553477803995943855193538989702114546065585773916945586898014007907181617259137212220019565283726996714761361309579505215138895744122338164052057566815640529170869280635517020078570774478400208162668853024298456532862443155991410092959888707539477319760203527923297114042491979743058726017480498747841486510719998590465000170054151532687281375614442578094516693301137584371668332676913898309129190228926043034081654026298515296456647259766434152716824926752594430956318564317106991271663731187991889818542987047754676736055896802100161172582928723388158216026082641988278813887420396486114929062636249788572988930801217138534580727547947089645400956789021403635667215220556864207086953218239501048262280381576710459949090009436470509791039468990055965688051969512724079040649881942544189590526491713808566320810016523686368276216177158463969863761 54967016647400274860156687814301327034194137817813988911886041270516344175480607464637172217181262194572935175425902485070017550129526119209271575471956124792451154844240330276779404652643709535493484412501058783925311690869792508575223528650698024769945050892825659225919999402373175386639772133855280370301138721777271445531836637011786253975386837508007437014819976254269115300877955704698111473104347780874071446790498193915571719950358839816098322881518956881953767592961143922834503164744106319248677861510046302830657943010465296844287495479900853487904440393836931344512937454136168160457677206012464413846508466113937883498765556550491603357642475060569591606769899641116894615280388220093607070384914670756559960653890917751798065926721929912949541175337064235616511361035803616748737728997047177475166889567278804232079652039648788330924591543097842263810133331189446127304000203501893949099513939458350218101609568847289394303495853411108352043298699425494392648119519071061622210902155646204206625536408999146765716681896084344295039292239533465922316678803502716319861618561500774495925656979213159782624893462743502337436487580552287972150179164081856444532438979336788156935517254185435234230094037468493002616822258439580889004386321616436199510021583087776179514907272121036143282841098319655777398770869656344750513080428113143456329346217125637911411730794898456720812705705628451413624577049396546210126134010669438241463211681906907022900989003080633710449911906559240434016435408871892637264762214743819886438442262929190974263921466180773001311867928375047158230541301373558370021503777409452206007898488502033677719975219386922405142317053366961371315384342106466184237305757393003073021324684851181601011484365371067860644878928556077516405783848827119601790727926659770872331075470538436510983063831660259203176537550051788075610132287494674458524281725851781795683229803153874330992673362373386304971180798225310121536998562411914815031506843471557991947493469335457974355199712179105398117132725399049290094375285917788074245421461185736406513541526596306558509205920697883389835727378627285546778856579491065176240398416640471950520538919935957926149955104089819206957306349272025750115371232475915130023341955386161350097938809300516518122574817722234774380848006451293756457861404685992760890404052864441338107837866702326017577995959060442110751546026254056109395401184286520118946148499748680319208031696811404004087021137500404411020603522577194870877685705174495214874487237959260931421865392952345121758806216219709206142153944306810458549584869231185782484309833634037336300643992478349278651494524927050753202540019306795640087971349988253554063065751322058458927923861826032004333728786609799362602707782941680552627799363170491842595029709584470024552440548231127411281481098217170103875184135241119325238033975702427680427761734415621502137852424483443576952849553683884751781900387925449922244308083100071313814058861246596760531505684163788601287591951083495947794650180365896185238422239156897943637572598642077641505791141624165269285977607156495077816583283018759574640122933110891199495551075216036910130879464094095214603808239366136709850626305281542424550598480089069734464217938738028736896596897697616103497041147263780725319921406148987360049577278154764121141860241701145056542640015492729309151252012939948224711608530976097971715097503004654979179405407226131930834078119041201488283332577855777673103365464285171539547970400070571957063826897455566464238498218821920835413981039482411931689199997910565994122037930362089214389498328515886601777456413000162643 88938501195674939169336694530875353347543884668747512905719696791601474042899051764604344337594110246335391565560988527803307365568161043298991808573537545794055770915207856355479422312294513569021346859296184659578903277199878217122325583216888467201057584237048148707460472561239563825582746693517050567812452425996486899292103096817175195690647597600049093143449640451084909576227601225757255204872867563928907612422383608136887410411243974827068479714565425163295917419611245462013588542167935502486194994608443966099640710040416585024952418320783678940940186951752764105831779104589891843714622758118993592963687543508717582251690571204109754006767017909029898026050679809049521426861253064894720530460204398638913609825924530316304417406444202131498997454007406302962452085284749553264549445821285960887858036145838726062364632913842381279958384361998657302155947635852563890172969290358411902429677155140514394013690760235990912240389739169784901381809635787523265654871649095421314153480007331496486287464174892438711018211008906917656143081622065273787192086209558779152814363988439202820263786875497228084699886056417164004074536030286010871414705781518817397073190075967118530408014086314555867052511153845350839635018227558393735895723467876560018262741922365013477720229811494716309990080732987665398033677434329697498450342489754107984427188428288876065694225741051133127064311167250570125600653296701760115503485807126866779715221530834376726075148058976370645293378778022349642346797893092234684392401407661417749496545105499034297997732594870140101121485162965143504221164189300396918830638553107658262578068901592347406565097155109788843222185976372286210064696984988808129930426440554579565523497654222820677040980789110094126876630621461217127583849869470205266406212117601786913843887365780951797038649784402865447650487322462563283346623138582336246803701295029555990377647356006962265299557460001382283089799787479418716511055972796678346439230098448088620974594596639768260195045776202399983746946295011334648459183837239457001339518972745773060397442813722719326407430841997568422566019073356523507668414767862393490224719562343764040858006343724827032616670167644465298722848500630923422856815130747557310484995464184000714149051544124595456286354514512569596819962995106058050791247465506714981281522728637095125119280509705886000781916502263470294777243945635598996802213168384551596271908438781365006675623560770448664533876349325475599600044264447718046918254055595893828021360455047223996944694879983022417116119075642800178293904647016906026156497932564875980371553536142259709178402437888308682236344583233419536938476331602154419485900106311933162848727936820672128511899054635283751376499618330709789116596574635694156453677077292908482148507513580413879745979537933241957347066872134115690773198143148300942497171187922447245711488731130382863447431929698582472696971891847936809348716028454620791524943600120149884588537261454759429384529982620321463730747942493588907683357719843215945441950162454011986129552341700803658986289889465651780005976197621495247870734815706040950254565511205407892796688659587705242807793362403224404832734282400218363876924820577999071810364914241786559390970533168985055460914004688887767228229139153599268306969160825723415946379378315936704070583629859361082625282003771543196571648499054877287347858319549086902516314641539235706727352496871532887623099522676868703503889442062864626321604965333433819929547110530521047073263367965357503707488274787608887383493763561452581571142542100156520613751738928410024406022014884162817954614876970026404 143905517843075214029493382345176680381738022486561501817605738062117818218379659229241516554775372440908326740986891012873324915697687162508263384045493670586506925759448186632258826964938223104514831271797243443504214968069670725697549111867586491971002635129873807933380471963612739212222518827372330938113591147773758344823939733828961449666034435108056530158269616705354024877105556930455366677977215344802979059212881802052459130361602814643166802596084382045249685012572389384848091706912041821734872856118490268930298653050881881869239913800684532428844627345589695450344716558726060004172299964131458006810196009622655465750456127754601357364409492969599489632820579450166416042141641284988327600845119069395473570479815448068102483333166132044448538629344470538578963446320553170013287174818333138363024925713117530294444284953491169610882975905096499565966080967042010017476969493860305851529191094598864612115300329083280306543885592580893253425108335213017658302991168166482936364382162977700692913000583891585476734892904991261951182373861598739709508765013061495472675982549939977316189443854710387867324779519160666341511023610838298843564884945600673841605629055303906687343531340499991101282605191313843842251840485997974624900109789492996217772763505452789657235137083615752453272921831307321175432448303986042248963422917867251440756534645414513977105956535949589847877016872879021539225230346098306325629619817796305021178433212741283748976137062057004355743290684581590076363233301964127321657163622405237635934987368428225272261654061050913102433353091340190662451705490673955288852142330517110468585967390094381084285072374496711248364503029739247581380081327095274314167732197947582638544822339074002278052465154481161987521509550017294643989633718297324868196940044261557786174962836319388308021713616063124650827024872514351358956755426077010705327983020881337786060877159160836596292230822374768588060980585704728838048054535208593161470736941919646612922088065975226234550245488381505381864079020410383938553559123157245075584940433931509466910984340319025884916636762695451812401746451983809054447271347353458666465117978984235991378545263660784958766625271734284505680154849902949172972186363223472440508337419570162064246990353425111974408929332234804371200811001557351807249108870192707742171926781501536463227118376408212018359912461323912405528789971889655106197614352671071715218056938530045325883655257581852668620897486825880010620647787024912917795939760770389042895847693006484928366560272935367538874925291862509384436058591323716484706082801796061762855863369776297045479046430366657960887839108160470290141016350908950059573871456300186716911793688142730587439822916461315755710228404940509151719304357577374709081476440463400324743537223164883904298420086164369368628547970351285794648382278389420267735205163624874926139250465546004365585284354182026049649821445531821561130616416380070713769251683220221198402596122701356189916035666784110065018339893577084855478007900209112130680372401610909929767124940342881300492081031089817049291953804777990325687318098724800524894688444316299092292239734803742152938672826497319619436542521766355073727551125859541496360963394330856293855188471907013792357510902386503870725270286417379993626890566974710775995956656470700825212443871560506139167922019264272505722900511994825512059466850525184874231412144543890685906757904097664818457177641718070191787222019918642299424970429618605359477517510601093004137090265420923967945986493609529722797474803043864513260342540010722514735789669290499238795520343400049419732071289970189047 232844019038750153198830076876052033729281907155309014723325434853719292261278710993845860892369482687243718306547879540676632281265848205807255192619031216380562696674656042987738249277232736673536178131093428103083118245269548942819874695084474959172060219366921956640840944524852303037805265520889381505926043573770245244116042830646136645356682032708105623301719257156438934453333158156212621882850082908731886671635265410189346540772846789470235282310649807208545602432183634846861680249079977324221067850726934235029939363091298466894192332121468211369784814297342459556176495663315951847886922722250451599773883553131373048002146698958711111371176510878629387658871259259215937469002894349883048131305323468034387180305739978384406900739610334175947536083351876841541415531605302723277836620639619099250882961858956256356808917867333550890841360267095156868122028602894573907649938784218717753958868249739379006128991089319271218784275331750678154806917971000540923957862817261904250517862170309197179200464758784024187753103913898179607325455483664013496700851222620274625490346538379180136453230730207615952024665575577830345585559641124309714979590727119491238678819131271025217751545426814546968335116345159194681886858713556368360795833257369556236035505427817803134955366895110468763263002564294986573466125738315739747413765407621359425183723073703390042800182277000722974941328040129591664825883642800066441133105624923171800893654743575660475051285121033375001036669462603939718710031195056362006049565030066655385431532473927259570259386655921053203554838254305334166672869679974352207682780883624768731164036291686728490850169529606500091586689006111533791444778312084082444098158638502162204068319993296822955093445943591256114398140171478511771573483587767530134603152161863344700018850202100340105060363400465990098477512194976914642303378564659346952131684315910893776438524515167798861591788282376150871150780373184147554559110508005271507909967040367735233896682662614994494745291264583905365611025315421718587012742960396702076924459406677282527308427154041745211324067604693020234967765525340332562115686115215852156689837541328000032236551607385611991383295439378749804403003350533872595829001493971029750993332883754162778396041897549707430695283846747373968020773996663409858040356335699422723453449510138631588346398886114098019141828963587382700306033917525254102999827521055623311489965377311410332559278818352301333154773836151355610220692051472630964714193816366282870917208148053708925311255152918389955991044367505309562729963238340622510862580734360937743227416905918556754657448868254966643124183691393889827079492682511104479059771562612119879760521624963402715951721971096599507086728023271218940835900932213068865535153517756308806892044736745297784044399624097611325975614842485401485421580421537721210232376351547322171850739196676387229032716283880608522346793337379758370479332444834691505294195283340371082991133384156115619300565649404431528749087836070673763161365620052328076122322564064921915896677282043684959478370920555468829297930002399485573558052914430841475149253955521706985088928394391447395746466188900544024269276804166573437604475946437540568171328308572642853246159005075998847818424907075391637953499425570979261933859727800434191942336034786637529283027501419867221793204023035815702294549011049702799407325170074271776747726786083126392634110400969197706080277164394938895291111461981506925746575394952039179407064621131614051210353633386281471653474768397138610180968566605317094831485082110879035349541408218909263201542358284212237686686166940215451 376749536881825367228323459221228714111019929641870516540931172915837110479658370223087377447144855128152045047534770553549957196963535368315518576664524886967069622434104229619997076242170959778051009402890671546587333213339219668517423806952061451143062854496795764574221416488465042250027784348261712444039634721544003588939982564475098095022716467816162153459988873861792959330438715086667988560827298253534865730848147212241805671134449604113402084906734189253795287444756024231709771955992019145955940706845424503960238016142180348763432245922152743798629441642932155006521212222042011852059222686381909606584079562754028513752602826713312468735586003848228877291691838709382353511144535634871375732150442537429860750785555426452509384072776466220396074712696347380120378977925855893291123795457952237613907887572073786651253202820824720501724336172191656434088109569936583925126908278079023605488059344338243618244291418402551525328160924331571408232026306213558582260853985428387186882244333286897872113465342675609664487996818889441558507829345262753206209616235681770098166329088319157452642674584918003819349445094738496687096583251962608558544475672720165080284448186574931905095076767314538069617721536473038524138699199554342985695943046862552453808268933270592792190503978726221216535924395602307748898574042301781996377188325488610865940257719117904019906138812950312822818344913008613204051113988898372766762725442719476822072087956316944224027422183090379356779960147185529795073264497020489327706728652471893021366519842355484842521040716971966305988191345645524829124575170648307496534923214141879199750003681781109575135241904103211339951192035850781372824859639179356758265890836449744842613142332370825233145911098072418101919649721495806415563117306064855002800092206124902486193813038419728413082077016529114749304537067491266001260133990736357657459667336792231562499401674328635457884019104750919459211760958888876392607165043213864669380703982287381846818770728590220729295536752965410747475104335832102525566302083553947152509399840608791994219411494360771096240704367388472047369511977324141616562957462569310823154955520312236023615096871046396950149920711113034310083158200436821768801187857194502191501670303324324842643032250974819405104213178982178339221584998220761665289465205892130465625376291640168051573517262522310037501741424911295105834823889414909209197441873726695026708022315841455658442934075934154001775671322977235620841339838497543882510133577136671913813055841060193853677815425853757494865969659367818947166021829664338995568663536156999506083280275694853800136495298621624604012022799554360117220509033420054538633643018912306596672315313106133303391544887557915262796956428211728092555205289790443574616629958219709131635581959910181688342819710261980694604162812836687280069962699927141477967581515172197097989989662222391594618000638062634571996614782911579931609948861214762219063446966560592281393729506857471809216601316188541593767427729647758618639373520261440206802694965675831845663802222386566259970451951645285878589883807177475899245371013155642000043942399838006077381168129195189548685139015397863643705819325932928511332027072297082064532291702903499147101347476983012640175935809461895508678769711988359255560750294775144967938292691257338354495471372980373360961126042300088208017449523044528311466792020599456650979138930627017078540868305066862524537454806113009087078333481900149225171545824570644538884582131732707055347443898807205439599461262006668332978443369649181608091827622121601550085331077509408501997062701684261657418757456910404498 609593555920575520427153536097280747840301836797179531264256607769556402740937081216933238339514337815395763354082650094226589478229383574122773769283556103347632319108760272607735325519403696451587187533984099649670451458608768611337298502036536410315123073863717721215062361013317345287833049869151093949965678295314248833056025395121234740379398500524267776761708131018231893783771873242880610443677381162266752402483412622431152211907296393583637367217383996462340889876939659078571452205071996470177008557572358738990177379233478815657624578043620955168414255940274614562697707885357963699946145408632361206357963115885401561754749525672023580106762514726858264950563097968598290980147429984754423863455766005464247931091295404836916284812386800396343610796048224221661794509531158616568960416097571336864790849431030043008062120688158271392565696439286813302210138172831157832776847062297741359446927594077622624373282507721822744112436256082249563038944277214099506218716802690291437400106503596095051313930101459633852241100732787621165833284828926766702910467458302044723656675626698337589095905315125619771374110670316327032682142893086918273524066399839656318963267317845957122846622194129085037952837881632233206025557913110711346491776304232108689843774361088395927145870873836689979798926959897294322364699780617521743790953733109970291123980792821294062706321089951035797759672953138204868876997631698439207895831067642648622965742699892604699078707304123754357816629609789469513783295692076851333756293682538548406798052316282744412780427372893019509543029599950858995797444850622659704217704097766647930914039973467838065985411433709711431537881041962315164269637951263439202364049474951907046681462325667648188239357041663674216317789892974318187136600893832385137403244367988247186212663240520068518142440416995104847782049262468180643563512555395704609591351652703125338937926189496434319475807387127070330362541332073023947166275551219136177290671022655117080715453391205215224040828017549316113086129651253821112579045043950649229433859247286074521527838648402516307564771972081492282337277502664474178678643577785162979844793061640236055851648478432008941533216150491784114486161550970694364630189351165531942495003187078487621039074148524526835799497025729552307242358994884171523329821541591553189078825801778799639919916148636408056643570388498677806140857806940163312197269394782318338197987693152865991002212894286455334930445159128591231062031889970174847224327393502954784730263989113902778989070578772147450857014026873128509895985068004961506431244270517937249310697181613410554793944166876591247136206490948249944300001715931159017693414581524426476432836938069536019343266858654514769883684451482947033391106222003512440151783475976017938527626696655479472387219334359592020579777655322088765491543121464862688199957866719519269840728858898778823650716921943243094343408120291338302089281306049453724357642249900963364384862891013587428517166965592973122516515565718432381800739140313768282925017529740753761560479504430251219448822872200754707887813809576961472803423927586483475193196355359713062470096523586636944431605204298407667975096130099501948936503018734622632703620011476142000347506482059011487994360716537287146632269137559338517494610022575579159880628726043975883778498874400240582754330065335903910311998534094231110874117190673728427726865716710143471174978706036060230617731970507947982369444943881656150918121219522683718291646752864321106557797532193486911252936030403806943159411936254498702923312704232480585434872485728317765198605059968473895105443623850619949 986343092802400887655476995318509461951321766439050047805187780685393513220595451440020615786659192943547808401617420647776546675192918942438292345948080990314701941542864502227732401761574656229638196936874771196257784671947988279854722308988597861458185928360513485789283777501782387537860834217412806394005313016858252421996007959596332835402114968340429930221697004880024853114210588329548599004504679415801618133331559834672957883041745997697039452124118185716136177321695683310281224161064015616132949264417783242950415395375659164421056823965773698967043697583206769569218920107399975552005368095014270812942042678639430075507352352385336048842348518575087142242254936677980644491291965619625799595606208542894108681876850831289425668885163266616739685508744571601782173487457014509860084211555523574478698737003103829659315323508982991894290032611478469736298247742767741757903755340376764964934986938415866242617573926124374269440597180413820971270970583427658088479570788118678624282350836882992923427395444135243516729097551677062724341114174189519909120083693983814821823004715017495041738579900043623590723555765054823719778726145049526832068542072559821399247715504420889027941698961443623107570559418105271730164257112665054332187719351094661143652043294358988719336374852562911196334851355499602071263273822919303740168142058598581157064238511939198082612459902901348620578017866146818072928111620596811974658556510362125445037830656209548923106129487214133714596589756974999308856560189097340661463022335010441428164572158638229255301468089864985815531220945596383824922020021270967200752627311908527130664043655248947641120653337812922771489073077813096537094497590442795960629940311401651889294604658038473421385268139736092318237439614470124602699718199897240140203336574113149672406476278939796931224517433524219597086586329959446644823646546132062267051018989495356901437327863825069777359826491877989789574302290961900339773440594433000846671375004942498927534224119795435953336364770514726860561233987085923638145347127504596381943259087894866515747250142763287403805476339469964329706789479988615795241601040354473802999748581952472079466745349478405891683136861604818424569319751407516133431377208360034133996673490402812463682106399499346240903710204711730646463943993104933188619286747483683654704202093418967691493433411158718094145311813409972911975681696355072521394711268509013364906010008994321649445146970220609336706116482105826851903371728467718729734460970639626698543319830174096632666886004625904945722983686240947457062006897669300501999907806674936755393977457308264354930439465498215851148229290502610061520510749351213556327057600436733073105152251175669322734811746212430032680640879694675125946311511793956014768413434195727070163208656565661160730039044621572715183940468158776045561505821392004166167539381891716367830718521121170418268717560005877666340022903202918233699230167264215943421089216461555645778592397871059237733768281781514716283943295366191000440112660575208489727712495416585607224281726816817479419274823846040586477697616754437372048794940742125475237138755197719139851264652781826493116744219696271311680915456032430460268530091031704697235911714379641147448853959042024128170296525999182655311038849547697773055360317350724127818921417301314238273970247380613943715456107635992118329448057138759422340909211273185078706004647337160549715847011102922755155186776620957069447778425781805376089667044093328257176228884597028161905241431000692350852397292410475276137855305903680311015140326354082135520203563237726267195667761652735552524201080761024447 1595936648722976408082630531415790209791623603236229579069444388454949915961532532656953854126173530758943571755700070742003136153422302516561066115231637093662334260651624774835467727280978352681225384470858870845928236130556756891192020811025134271773309002224231207004346138515099732825693884086563900343970991312172501255052033354717567575781513468864697706983405135898256746897982461572429209448182060578068370535814972457104110094949042391280676819341502182178477067198635342388852676366136012086309957821990141981940592774609137980078681402009394654135457953523481384131916627992757939251951513503646632019300005794524831637262101878057359628949111033301945407192818034646578935471439395604380223459061974548358356612968146236126341953697550067013083296304792795823443967996988173126429044627653094911343489586434133872667377444197141263286855729050765283038508385915598899590680602402674506324381914532493488866990856433846197013553033436496070534309914860641757594698287590808970061682457340479087974741325545594877368970198284464683890174399003116286612030551152285859545479680341715832630834485215169243362097666435371150752460869038136445105592608472399477718210982822266846150788321155572708145523397299737504936189815025775765678679495655326769833495817655447384646482245726399601176133778315396896393627973603536825483959095791708551448188219304760492145318780992852384418337690819285022941805109252295251182554387578004774068003573356102153622184836791337888072413219366764468822639855881174191995219316017548989834962624474920973668081895462758005325074250545547242820719464871893626904970331409675175061578083628716785707106064771522634203026954119775411701364135541706235162993989786353558935976066983706121609624625181399766534555229507444442789836319093729625277606580942101396858619139519459865449366957850519324444868635592427627288387159101527766876642370642198482240375254053321504096835633879005060119936843623034924286939716145652137023962046027597616008249677511000651177377192788064042973647363638339744750724392171455245611377118335180941037275088791165803711370248311551456612044066982653089973920244618139636782844541643592708135318393827910414833216353012096602539055481302378210498061566559525566076491676677481300084721180548023873076703207230441282953706302987989104711949108289075236843783027895197767331413349559795126150788882201908650718116539503295235833591980663291331703103997702147187640447359864507064671636561641234418082965403618437893576958788364142581483273583819287999411655956583398052396579997713114075966957991965674262008431152077192874004704674638921674909724383632374807098284435781450860005820512465282372574020472181961159549537989189245205342078078604866944802564325331177622159337417733797468454920196910171745008690835353221140633117258378981164735763718123480864811053048942856866854367497248611235637671447380019949241919434481949120760683431023494256535788511473313669667778731466362519010163455288884646666250935247374487838800458861084623382240851800888976772652730025157339368784761231247068698868097696046795294365511426331398844852218868328608950430335110557432202321361176368463437548349423994678979656011586131932409205033109766327329939531725855783147796360441101035616164657242536469801943307987107036290549970339926303287699550143345290122052469121780854526469786172971896028641446591232990533215026401946913506432870364047304020890825717138982985772918747128905051817223369663461527007788263616011975467875637461349268463038963194179262105333322814282219297267242158179013938453030586562720955076048966044032394272821621209447629644704611644396 2582279741525377295738107526734299671742945369675279626874632169140343429182127984096974469912832723702491380157317491389779682828615221458999358461179718083977036202194489277063200129042553008910863581407733642042186020802504745171046743120013732133231494930584744692793629916016882120363554718303976706737976304329030753677048041314313900411183628437205127637205102140778281600012193049901977808452686739993869988669146532291777067977990788388977716271465620367894613244520331025699133900527200027702442907086407925224891008169984797144499738225975168353102501651106688153701135548100157914803956881598660902832242048473164261712769454230442695677791459551877032549435072971324559579962731361224006023054668183091252465294844997067415767622582713333629822981813537367425226141484445187636289128839208618485822188323437237702326692767706124255181145761662243752774806633658366641348584357743051271289316901470909355109608430359970571282993630616909891505580885444069415683177858378927648685964808177362080898168720989730120885699295836141746614515513177305806521150634846269674367302685056733327672573065115212866952821222200425974472239595183185971937661150544959299117458698326687735178730020117016331253093956717842776666354072138440820010867215006421430977147860949806373365818620578962512372468629670896498464891247426456129224127237850307132605252457816699690227931240895753733038915708685431841014733220872892063157212944088366899513041404012311702545290966278552021787009809123739468131496416070271532656682338352559431263127196633559202923383363552622991140605471491143626645641484893164594105722958721583702192242127283965733348226718109335556974516027197588508238458633132149031123623930097755210825270671641744595031009893321135858852792669121914567392536037293626865417809917516214546531025615798399662380591475284043544041955221922387073933210805647659829143693389631693839141812581917146573874195460370883049909511145913996824626713156740085137870633421032540114935783901630796087130713557558578769834208597625425668388869739298959841993320377423075807553022338933929091115175724651021420941750856462641705769161845658494110585844290225545180214785139177388820724899489873701420963624801053785726631492943767885600210488350167884112548403286947523219317606917435153013600170246981094037900568395036558920498487229988616735022906782970953844244934194015318623630092221199650308354986691931800345068010007711141509289892506834727674008342678123340244934868775346905612306693249334782208181816903649462096044322842588023957342302981399355023424019998863343562510431059883867810760098652096229939264654823097873022949432665071953470067341023214633586130347529782397892622643141440420874664812890351079374835244966210872297285283729245591424469688610344367472078854044009786801793847297423602737450947658591639640856614554764248871020535036630502952005502165901141119660188152041954998427023453926697174769487741640577885611199820682824074655942047686755705903984703529156002555084402156450814382680964461464185262380442520573924976009042958063886178287372519892835880843209043085836216901013809070734425667473865755151342172625829150289930665093643690950291336927042164362869473563200798032027175443440235424295245214400143059744334953768535652457254346836654734063605330657277027415518471560646604360326439369161468470185242280607888146970894648371749955555935613220098585138875011384464570606672728241905740928105523749862121265001795445266903097455307709340232644104522058377430368280394194871612957730615224757495435122548061859324953593356940644856475279612203770299589940583273945000153845785372668843 4178216390248353703820738058150089881534568972911509205944076557595293345143660516753928324039006254461434951913017562131782818982037523975560424576411355177639370462846114051898667856323531361592088965878592512888114256933061502062238763931038866405004803932808975899797976054531981853189248602390540607081947295641203254932100074669031467986965141906069825344188507276676538346910175511474407017900868800571938359204961504748881178072939830780258393090807122550073090311718966368087986576893336039788752864908398067206831600944593935124578419627984563007237959604630169537833052176092915854055908395102307534851542054267689093350031556108500055306740570585178977956627891005971138515434170756828386246513730157639610821907813143303542109576280263400642906278118330163248670109481433360762718173466861713397165677909871371574994070211903265518468001490713009035813315019573965540939264960145725777613698816003402843976599286793816768296546664053405962039890800304711173277876145969736618747647265517841168872910046535324998254669494120606430504689912180422093133181185998555533912782365398449160303407550330382110314918888635797125224700464221322417043253759017358776835669681148954581329518341272589039398617354017580281602543887164216585689546710661748200810643678605253758012300866305362113548602407986293394858519221029992954708086333642015684053440677121460182373250021888606117457253399504716863956538330125187314339767331666371673581044977368413856167475803069889909859423028490503936954136271951445724651901654370108421098089821108480176591465259015380996465679722036690869466360949765058221010693290131258877253820210912682519055332782880858191177542981317363919939822768673855266286617919884108769761246738625450716640634518502535625387347898629359010182372356387356490695416498458315943389644755317859527829958433134562868486823857514814701221597964749187596020335760273892321382187835970468077971031094249888110029447989537031748913652872885737274894595467060137730944033579141796738308090750346642812807855961263765413139594131470415087604697495758256748590297427725094894826545972962572877553794923445294795743082090276633747368688831869137888350103533005299235558115842885798023502680282356163937129554510327411166286980026845365412633124467495547092394310124665594296553876549969083142612517503325634157342270257883814502354320132530748970395723076217227274348208760702945544188578672595091676771114005413288696930339866699234738679979239764574663017834178965343505883652037698924789665090487468750095455978799171422009738882979112469099390977990829017824518862211961060684764803326735151614174379206730247830047717100853404330073161535679915958704368001964359052172181130629666080006890968955946319637809291542049919444621146979388892924608807254539217087544879363007942426964555802583902186711376715120505667667603707105737874902533879114187643173613281161068902107586523904119187706884950191431305276253113891555278978552149186593666105502975640352570235638776530490393884861017535437764921816262353162035033172545731264344793804189310954877155470215939631175208720469417235061753232677399343376097808976312583544493987005518753368213443067685629270992938628296295278678596310564359357114975166091207443041574841244095360499611011072122259197654823761770354155300997203330703218021703991894482378908490942322996655028453579784175612341239604740488770962015167012091571745375431768591497498445380888726701024270878767173082225165108728430105243571325352208111980159519726698831319357389050875063063938039039714732389790220038338892046387527207577430355661169814331984213404895154447783490489984313239 6760496131773730999558845584884389553277514342586788832818708726735636774325788500850902793951838978163926332070335053521562501810652745434559783037591073261616406665040603328961867985366084370502952547286326154930300277735566247233285507051052598538236298863393720592591605970548863973552803320694517313819923599970234008609148115983345368398148770343274952981393609417454819946922368561376384826353555540565808347874108037040658246050930619169236109362272742917967703556239297393787120477420536067491195771994805992431722609114578732269078157853959731360340461255736857691534187724193073768859865276700968437683784102740853355062801010338942750984532030137056010506062963977295698095396902118052392269568398340730863287202658140370957877198862976734272729259931867530673896250965878548399007302306070331882987866233308609277320762979609389773649147252375252788588121653232332182287849317888777048903015717474312199086207717153787339579540294670315853545471685748780588961054004348664267433612073695203249771078767525055119140368789956748177119205425357727899654331820844825208280085050455182487975980615445594977267740110836223099696940059404508388980914909562318075953128379475642316508248361389605370651711310735423058268897959302657405700413925668169631787791539555060131378119486884324625921071037657189893323410468456449083932213571492322816658693134938159872601181262784359850496169108190148704971271550998079377496980275754738573094086381380725558712766769348441931646432837614243405085632688021717257308583992722667852361217017742039379514848622568003987606285193527834496112002434658222815116416248852842579446062338196648252403559500990193748152059008514952428178281401806004297410241849981863980586517410267195311671644411823671484240140567751273577574908393680983356113226415974530489920670371116259190210549908418606412528779079437201775154808770396847425164029149905586160524000417887614651845226554620771159938959135451028573540366029625822412765228888092677845879817480772592825438804307905221582642064558889191081528463870769374929598017873181332556143319766659023985941721697613594298495545779907936501512243935935127857954533122094683068564888672182688056283015332759499444466305083409949663761047454095296766497468377013249525181527754443070311711917042100747310154046796950177180513085898362193077840757487872431237377226915501702814640657270232545897978300981902595852543565364526892021839124013124430206220232373533962412688321917887914907952702954312249118190345287033706997846907391118212191500301641759445967081185960511824122814997989692361387029293271844928495524901978831381553439034029828120852997149765925357800140502558894549544834715531746756944794824272070086954671703859307025694473054257752922216729904876224980317394297417598906689166398923372794744220811853226186639637659035306760146524282158471354608895437570509617139648675779182302188562295738565859117614730338876888606074763994754469440890178372832010668322047550662396058474220342305686492948969263173986252147602780723817347297413615066305189320802847147374841055442842735832467056051929512503071278654246486470077801765282842067734886666612834669043298878536711376579562329865670460658148152159511362391384290418606326631738286789241387155104834564779607774716452001660416504417760631654480358118736493264638498842705347860103791466840270734187672322583235887976490444326897628387110676710620386816233162104171173622794467629129794628629294347226960553995333202698879034692440756084681578104129199599751583922488020794553263797210167512338281897663845639744467852433905635273373584631574153988169099447937336275356982082 10938712522022084703379583643034479434812083315498298038762785284330930119469449017604831117990845232625361283983352615653345320792690269410120207614002428439255777127886717380860535841689615732095041513164918667818414534668627749295524270982091464943241102796202696492389582025080845826742051923085057920901870895611437263541248190652376836385113912249344778325582116694131358293832544072850791844254424341137746707079069541789539424123870449949494502453079865468040793867958263761875107054313872107279948636903204059638554210059172667393656577481944294367578420860367027229367239900285989622915773671803275972535326157008542448412832566447442806291272600722234988462690854983266836610831072874880778516082128498370474109110471283674499986775143240134915635538050197693922566360447311909161725475772932045280153544143179980852314833191512655292117148743088261824401436672806297723227114278034502826516714533477715043062807003947604107876086958723721815585362486053491762238930150318400886181259339213044418643988814060380117395038284077354607623895337538149992787513006843380742192867415853631648279388165775977087582658999472020224921640523625830806024168668579676852788798060624596897837766702662194410050328664753003339871441846466873991389960636329917832598435218160313889390420353189686739469673445643483288181929689486442038640299905134338500712133812059620054974431284672965967953422507694865568927809881123266691836747607421110246675131358749139414880242572418331841505855866104747342039768959973162981960485647092776273459306838850519556106313881583384984071964915564525365578363384423281036127109538984101456699882549109330771458892283871051939329601989832316348118104170479859563696859769865972750347764148892646028312278930326207109627488466380632587757280750068339846808642914432846433310315126434118718040508341553169281015602936952016476376406735146035021184364910179478481906188253858082729816257648870659269968407124988060322454018902511559687659824355152815576823851059914389563746895058251864395449920520152956494668058002239790017202715368939589304733617194384118880768267670576167176049340703353231297255326026211761605323221953963820956914992205187987291841131175645297467968985365766113600890601964422707932784448403858614937814652221938617404106227166766341606707923346919260323125603401687827235183027745756245739731547048032451785036380346449773172326509742605541396732144037121983698610238018537718903150572240233197151368301157652489570970537133277592624073997324732631787511997878586962286956280440930867976820068939624293222205975980521379211548155483805989180289705305566533167613413236558368683044866866778762130213664094574465503539083533711115996967005402699753034678594828262972014110863549294972136174526023204369210318906224853445906253943802735802686647776409028770541824370412021880652191949762178460346770340104388731327291849392463463257464403325089763236802437223827080037380040247868360996169156924981197261988153053638036411044455981082216983342854124191521689912524596986170509332446787612036453665596651336685795932598312951772098231260649981920306340407479163869421177863091818380318431160599840187796667091979779062208833322804298756953426830755821926750741405393772417839181328364082631250465334175790679896975649656484178274771915932651683688821954514968630393325084256351046114463495299187767456498195577127581230933097859643554122768282365762248001753601669619003683194330154065507396467429452125662723763307942450360044648868064841097830828030919108972973363083858491302836924899902128501936002737686131995060011335990934543398963558367393064253895720826765341295321 17699208653795815702938429227918868988089597658085086871581494011066566893795237518455733911942684210789287616053687669174907822603343014844679990651593501700872183792927320709822403827055700102597994060451244822748714812404193996528809778033144063481477401659596417084981187995629709800294855243779575234721794495581671272150396306635722204783262682592619731306975726111586178240754912634227176670607979881703555054953177578830197670174801069118730611815352608386008497424197561155662227531734408174771144408898010052070276819173751399662734735335904025727918882116103884920901427624479063391775638948504244410219110259749395803475633576786385557275804630859290998968753818960562534706227974992933170785650526839101337396313129424045457863974006216869188364797982065224596462611413190457560732778079002377163141410376488590129635596171122045065766295995463514612989558326038629905514963595923279875419730250952027242149014721101391447455627253394037669130834171802272351199984154667065153614871412908247668415067581585435236535407074034102784743100762895877892441844827688205950472952466308814136255368781221572064850399110308243324618580583030339195005083578141994928741926440100239214346015064051799780702039975488426398140339805769531397090374561998087464386226757715374020768539840074011365390744483300673181505340157942891122572513476626661317370826946997779927575612547457325818449591615885014273899081432121346069333727883175848819769217740129864973593009341766773773152288703718990747125401647994880239269069639815444125820523856592558935621162504151388971678250109092359861690365819081503851243525787836944036145944887305979023862451784861245687481660998347268776296385572285863861107101619847836730934281559159841339983923342149878593867629034131906165332189143749323202921869330407376923230985497550377908251058249971775693544382016389218251531215505542882446348394060085064642430188671745697381661484203491430429907366260439088895994384932137382100425053243245493422703668540686982389185699366157085978091985079042147576196521873009164946800733242120921860876936961043142866709989368189761474544886483261167798767569962146889463277755076058504025479880877370675348124146508404796912435290449176063264651649418518004699281916780871864462996179976381687715818144208867088916861970143869437503638689300050020313023785233628676977108773963534154599677037616682319070304810724508137249275709401648875720449362031662149109370804613767159564056623075540404478923240087589841742264342611766338785358905269705174478456582082690313943901254900136117345020973970213740598577448755650917675814607284397914721052447266386489536042016632704119930354166653469015048373799065457872941761829674769839989350298687569997708583917807047894352904430899429349527713203642452352595420342726108597430868588262254957181462029447328640798716231920649814955665777674898348466940525171645765446026699063655622354417167562703968643454804242622830437059335297813207930310200604300432469518676323387903476291823387365507942060127377709987856629860402678341642986399498484060636988041155687604565287312579494423377619061725650339498979628374660448053317827212674856839965970516490438788395652669969217611574982915333289142125695812378744470919615153324018405570168740570287671692101658144594779189676564306164046940691008233268892167789604211149905930335569921955128820778813015557721377424757271941233444992986149064234915705840792626477661959283860136025761776679086216719096510641329394737089624149522675934957230518860556895851104653044566634135067414466783833666583325876462912445241626207916983595132521381233353343658163040698277403 28637921175817900406318012870953348422901680973583384910344279295397497013264686536060565029933529443414648900037040284828253143396033284254800198265595930140127960920814038090682939668745315834693035573616163490567129347072821745824334049015235528424718504455799113577370770020710555627036907166864633155623665391193108535691644497288099041168376594841964509632557842805717536534587456707077968514862404222841301762032247120619737094298671519068225114268432473854049291292155824917537334586048280282051093045801214111708831029232924067056391312817848320095497302976470912150268667524765053014691412620307520382754436416757938251888466143233828363567077231581525987431444673943829371317059047867813949301732655337471811505423600707719957850749149457004104000336032262918519028971860502366722458253851934422443294954519668570981950429362634700357883444738551776437390994998844927628742077873957782701936444784429742285211821725048995555331714212117759484716196657855764113438914304985466039796130752121292087059056395645815353930445358111457392366996100434027885229357834531586692665819882162445784534756946997549152433058109780263549540221106656170001029252246721671781530724500724836112183781766713994190752368640241429738011781652236405388480335198328005296984661975875687910158960193263698104860417928944156469687269847429333161212813381760999818082960759057399982550043832130291786403014123579879842826891313244612761170475490596959066444349098879004388473251914185105614658144569823738089165170607968043221229555286908220399279830695443078491727476385734773955750215024656885227268729203504784887370635326821045492845827436415309795321344068732297626811262988179585124414489742765723424803961389713809481282045708052487368296202272476085703495117500512538753089469893817663049730512244840223356541300623984496626291566591524944974559984953341234727907622240688917467532758970264543124336376925603780111477741852362089699875773385427149218448403834648941788084877598398308999527519600601371952932594424408950373541905599195104070864579875248954964003448611060511165610554155427261747478257038765928650594227186614399096022895988358651068600977030022324982394873082558662639965277684050094380404275814942176865542251382940712632066365184730479400810832198320305119924371375633430523569893490788697826764292701737847548206812979384922716840321011566606384713417963132092242631320467113678646007853438770859419059600050199868012521376854000356715424924233192894049893777220867434366338339936498970572870903148292136765412862523621181920721323839760410567226949950735119810125604239456906856104312589964447888665860502944858219086883499482882060567830748043480551912882599168988938728835077469593024028893515832969722694781356342866489078956922633718738032109867305798501674286528844400117516364671283727723286399859350521450908181682828275302436117779287079794232374564109228703491102388745385591219604786531048680834844490491191433228492222794405192298353657938468880563132304470120459634677511557029631972651974696158365962307190290378096651996149820746432920639468639376663518573229476343683959469204814208920157491466478828371748987812515044636633062496269500997228975474267974565001813671155215892867101206151162310100943517406649656035502916360967568667751314628773053961592496957847735762645523201899285492873860562196020393830869109722585318974390143138952310522616915495356213275351911312236669307510411630160856289437925643422229206131211879442859818583779754781738492214363773765785261437969529869214188511535869471059967316595285769669321012008457972456577617142460382558690888774297607239378989806039572724 46337129829613716109256442098872217410991278631668471781925773306464063907059924054516298941876213654203936516090727954003160965999376299099480188917189431841000144713741358800505343495801015937291029634067408313315844159477015742353143827048379591906195906115395530662351958016340265427331762410644208390345459886774779807842040803923821245951639277434584240939533568917303714775342369341305145185470384104544856816985424699449934764473472588186955726083785082240057788716353386073199562117782688456822237454699224163779107848406675466719126048153752345823416185092574797071170095149244116406467051568811764792973546676507334055364099720020213920842881862440816986400198492904391906023287022860747120087383182176573148901736730131765415714723155673873292365134014328143115491583273692824283191031930936799606436364896157161111586025533756745423649740734015291050380553324883557534257041469881062577356175035381769527360836446150387002787341465511797153847030829658036464638898459652531193411002165029539755474123977231250590465852432145560177110096863329905777671202662219792643138772348471259920790125728219121217283457220088506874158801689686509196034335824863666710272650940825075326529796830765793971454408615729856136152121458005936785570709760326092761370888733591061930927500033337709470251162412244829651192610005372224283785326858387661135453787706055179910125656379587617604852605739464894116725972745365958830504203373772807886213566839008869362066261255951879387810433273542728836290572255962923460498624926723664525100354552035637427348638889886162927428465133749245088959095022586288738614161114657989528991772323721288819183795853593543314292923986526853900710875315051587285911063009561646212216327267212328708280125614625964297362746534644444918421659037566986252652381575247600279772286121534874534542624841496720668104366969730452979438837746231799913881153030349607766766565597349477493139226055853520129783139645866238114442788766786323888509930841643802422231188141288354342118293790566036351633890678237251647061101748258119910804181853181433026487491116470404614188246406955690125139113669875566894790465950505540531878732106080829007874753959929337988089424192454891292839566264118240130193900801458717331348281965602343863807012174701992835742515584500519440431863634658135330402982001787867861230598213013599693949094975100760984390455579814411312936131191621815895283562840419735139508962081862017121892181467767516279481547308733298528817017308457276108602682548265309358229808417997311243869444606311495864622578739896527912247923920948860408703052995107824531918919874362362609718307769331347755128900132187001990921997401512495600286681664626861880490664752239433013379192203402967431278699163390760841983387822063068265745313509758151097094629254952997548384952933538684904748429306679162249624413603478090258101895454185428261172899735754994149517801452401007945636772349235017324289648733114021870287827520607613122608554262238901350081808627858023935926500898922537574032779352406146222592167592968719739638395648304807069908680624326981228805885808970767061578530930464548419137119841139276425066815025189901476599033012759939785624628144237192176576796586488505034992797018529906781020558670730668061605671656931255240359852972773367833151269061264011782703336531435168177660663464773345926324166439031677714139753203158696673687947374187436589658268338060376471585013351204256638518248721785779447990982810298096161956329225109149518828116363886449700742491956830086765065293164580436105195034731062069603335904337884920884901819243350377366153823410155530960583037152846737850127 74975051005431616515574454969825565833892959605251856692270052601861560920324610590576863971809743097618585416127768238831414109395409583354280387182785361981128105634555396891188283164546331771984065207683571803882973506549837488177477876063615120330914410571194644239722728037050821054368669577508841545969125277967888343533685301211920287120015872276548750572091411723021251309929826048383113700332788327386158579017671820069671858772144107255180840352217556094107080008509210990736896703830968738873330500500438275487938877639599533775517360971600665918913488069045709221438762674009169421158464189119285175727983093265272307252565863254042284409959094022342973831643166848221277340346070728561069389115837514044960407160330839485373565472305130877396365470046591061634520555134195191005649285782871222049731319415825732093536454896391445781533185472567067487771548323728485162999119343838845279292619819811511812572658171199382558119055677629556638563227487513800578077812764637997233207132917150831842533180372877065944396297790257017569477092963763933662900560496751379335804592230633705705324882675216670369716515329868770423699022796342679197063588071585338491803375441549911438713578597479788162206777255971285874163903110242342174051044958654098058355550709466749841086460226601407575111580341188986120879879852801557444998140240148660953536748465112579892675700211717909391255619863044773959552864058610571591674678864369766952657915937887873750539513170136985002468577843366466925455742863930966681728180213631884924380185247478715919076115275620936883178680158406130316227824226091073625984796441479035021837599760136598614505139922325840941104186974706439025125365057817310710715024399275455693498372975264816076576327887102050000857864035156983671511128931384649302382893820087823636313586745519371160834191433021665642664351923071687707346459986920717381413912000614150891102942522953257604616967908215609829658913031293387332891192601435265676594808440042111421758707741889726295050888214974986725175796277432355717925681623507074874807630464241944192098045271897666361666503445721618775733340856489965990813361938864191600479709136103153990269627042488000628054701876504985673243842079060416995736152184399429963414647150332823264617844373022297955666886960133949964001757125446833157167274703525715409437411192398522410789415986667367369103873542946503555567451658735494541291416279190594558568562132061885134413558321767872994906471541926192578710794529324710474941022484764279931100711566289448009282307129932677785343902579656938479474873871683980218828657234564731388023232464326810498384168272276205974215783631669884051489828149555976152199564263795850819219499829709026037408085719235937153973480519733627331062344744696787003777423377063949598768915783797397665901317604822412628034829166029683700532595286306365560538013233472508055405274299864222853008903841146393536856377135766066005124493223605213303516319743402018314906907920177370230644940932328144395561178410479567206005431327102304588554474783259097836290391798125553502829320092966357892324459038447110745538000135278757339294611307618104796815802837704946113232095509029440782853603618505166741578610257643720927859898224681069091121502188137317717641174573292222809027604287402140887112861558221859518465982054637067463153537325335541946717997308141400299458727593301835625998469991102931945871543689971688708254320861615886799374538159711422870220188941509975604816147808888904300566608578250223466527753394799616634279481676116305576255002047657355373005225349893378857358396860492837748712514298929828567822416142652777422851 121312180835045332624830897068697783244884238236920328474195825908325624827384534645093162913685956751822521932218496192834575075394785882453760576099974793822128250348296755691693626660347347709275094841750980117198817666026853230530621703111994712237110316686590174902074686053391086481700431988153049936314585164742668151375726105135741533071655149711132991511624980640324966085272195389688258885803172431931015396003096519519606623245616695442136566436002638334164868724862597063936458821613657195695567955199662439267046726046275000494643409125353011742329673161620506292608857823253285827625515757931049968701529769772606362616665583274256205252840956463159960231841659752613183363633093589308189476499019690618109308897060971250789280195460804750688730604060919204750012138407888015288840317713808021656167684311982893205122480430148191205182926206582358538152101648612042697256160813719907856648794855193281339933494617349769560906397143141353792410258317171837042716711224290528426618135082180371598007304350108316534862150222402577746587189827093839440571763158971171978943364579104965626115008403435791586999972549957277297857824486029188393097923896449005202076026382374986765243375428245582133661185871701142010316024568248278959621754718980190819726439443057811772013960259939117045362742753433815772072489858173781728783467098536322088990536171167759802801356591305526996108225602509668076278836803976530422178882238142574838871482776896743112605774426088864390279011116909195761746315119893890142226805140355549449480539799514353346424754165507099810607145292155375405186919248677362364598957556137024550829372083857887433688935775919384255397110961233292925836240372868897996626087408837101905714700242477144784856453501728014298220610569801428589932787968951635555035275395335423916085872867054245695376816274518386310768718892802140686785297733152517295295065030963758657869508120302735097756193964069129959442052677159625447333981368221589565104739281685913843989895883178080637169182005541023076809686955669607364986783371765194785611812317423377218585536388368070975854749852677308900872454526365532885603827889369732132358441242183982998144381002417338616144126068959876966083408343178657125930052985858147294762929115935167128424856547724290791409402544634469404433620760104968487570256705313583270668009405412122104738510961768128353494329122760914868503582850357310436574979119610329698077524213923902256305739789535389274388018850659491107527811837781986583543705033029589289330519984286759253151751736244173649966481319553466391722797792632840627531710229672555919942152338689173108102476041607553729344683763856886042411825551068471752486245928422712699710164581948459050787277922638904585252179683124388173045732566759855269522736886822100695863545038750395214286270538361097532783258472708845950157008889784455818639908687657936316578174035619217002526705293547401482493149485001083329414141956719235173804147264009631437515462182416271580726749560186168331487679309402104780038210679508450811146642376227817575928787446430360572738000717293339121130344847417877807116531065743305758431731148757381221882617862894847589831128521789380568478231762742358918155406844132225962852695243210975872142060858867985779246846230223478049387457260175508720264130619485871301169318586072235640814200790108887873042163747173078013598480796460532299686417365290368535529812028032065179839334212820143437892786881497202318211171751808071766772477033998053819394724942136673167270245351629703399344774840696741681450036778719424976341129687778299742260216103843215114866337709085359528405453295499515272978 196287231840476949140405352038523349078777197842172185166465878510187185747709145235670026885495699849441107348346264431665989184790195465808040963282760155803256355982852152582881909824893679481259160049434551921081791172576690718708099579175609832568024727257784819141797414090441907536069101565661891482283710442710556494909411406347661820191671021987681742083716392363346217395202021438071372586135960759317173975020768339589278482017760802697317406788220194428271948733371808054673355525444625934568898455700100714754985603685874534270160770096953677661243161230666215514047620497262455248783979947050335144429512863037878669869231446528298489662800050485502934063484826600834460703979164317869258865614857204663069716057391810736162845667765935628085096074107510266384532693542083206294489603496679243705899003727808625298658935326539636986716111679149426025923649972340527860255280157558753135941414675004793152506152788549152119025452820770910430973485804685637620794523988928525659825267999331203440540484722985382479258448012659595316064282790857773103472323655722551314747956809738671331439891078652461956716487879826047721556847282371867590161511968034343693879401823924898203956954025725370295867963127672427884479927678490621133672799677634288878081990152524561613100420486540524620474323094622801892952369710975339173781607338684983042527284636280339695477056803023436387363845465554442035831700862587102013853561102512341791529398714784616863145287596225849392747588960275662687202057983824856823954985353987434373860725046993069265500869441128036693785825450561505721414743474768435990583753997616059572666971843994486048194075698245225196501297935939731950961605430686208707341111808112557599213073217741960861432781388830064299078474604958412261443916900336284857418169215423247552399459612573616856211007707540051953433070815873828394131757720073234676708977031577909548972450643255992702373161872284739789100965708453012780225173969656855241699547721728025265748603625067806932220070220516009801985483233101963082912464995272269660419442781665321410683581660265737337521253298398927676605795382855498876417189828233923732838150378287136988414008044905339244198827945464862639327250422239074121666205170257577258177576266267990393042700920746588747076289504768419368435377885551801644737531408839298680105420597810644515527926948435495722598202665707418424071034509092804977866395398800924256646086345985787390719298111303262269294490392585683686238606367106697058484727517793869220431231550576207262434058866176851435310383899210404871197671664316820846360367464237287307965384803015983606486644313883759703560467395526770093901653700624447904685810192218563518929664411657485088195363641874841739225660202858015504108077311456642273300160263886050294632460822547792880187588143183510160818087638738529650689604176090821379177921921130444371983448335483439855535609134693795019349526620767149334538635180324448477320467007411649752422370102593641811371690492514312727048857719881671986043642006610755399701117159486915412219179244555914075567320810259697013454803885864988552654531201022063097726342456375486018698420700599793703063224030818821351331835381247525659734017101775946890712593467892044963263563047005303496888020803515700858415061547577649607376992177707730819635300640709303103967738115444429819760161055314478313057208389762367925684887356393300481401355718003753888093655074436030237267325041208625188431360693318047371588624842886958119961333520386896633797998746429320033624256516813047257705038826376780349346355037671678599618612964336052863578852008015188096227869438152292695829 317599412675522281765236249107221132323661436079092513640661704418512810575093679880763189799181656601263629280564760624500564260184981348261801539382734949625384606331148908274575536485241027190534254891185532038280608838603543949238721282287604544805135043944374994043872100143832994017769533553814941418598295607453224646285137511483403353263326171698814733595341373003671183480474216827759631471939133191248189371023864859108885105263377498139453973224222832762436817458234405118609814347058283130264466410899763154022032329732149534764804179222306689403572834392286721806656478320515741076409495704981385113131042632810485032485897029802554694915641006948662894295326486353447644067612257907177448342113876895281179024954452781986952125863226740378773826678168429471134544831949971221583329921210487265362066688039791518503781415756687828191899037885731784564075751620952570557511440971278660992590209530198074492439647405898921679931849963912264223383744121857474663511235213219054086443403081511575038547789073093699014120598235062173062651472617951612544044086814693723293691321388843636957554899482088253543716460429783325019414671768401055983259435864483348895955428206299884969200329453970952429529148999373569894795952246738900093294554396614479697808429595582373385114380746479641665837065848056617665024859569149120902565074437221305131517820807448099498278413394328963383472071068064110112110537666563632436032443340654916630400881491681359975751062022314713783026600077184858448948373103718746966181790494342983823341264846507422611925623606635136504392970742716881126601662723445798355182711553753084123496343927852373481883011474164609451898408897173024876797845803555106703967199216949659504927773460219105646289234890558078597299085174759840851376704869287920412453444610758671468485332479627862551587823982058438264201789708675969080917055453225751972004042062541668206841958763558727800129355836353869748543018385612638227559155337878444806804287003413939109738499508245887569389252226057032878795170188771570447899248367037464446031255099088698629269118048633808313376003151076236577478249909221031762021017717603655865196591620471119986558389047322677860342954014424739605410658765417731247596258156115724552940505382203157521467557468470879538485692049402888772868998645656770132307788114152881950773430003222766620266437910203624076092531788468333292574617359450115414441374518411253954723610559909689647025037900838651543682509243245174793766418204888683642028432550823458509761751534862966515585810602421025085276865218763871262920469456949661473892077693909843227907537141705156714589120355491313432905151159383656136313479251692919657172056120641276218639828993605944138982641564513746324477839885982403677153809878216497542822897150708150990496005861298188094473858681544607693601346111447375600846613065875277197817830608788380688561622371102656858062314428241196501842676105768232663952777137043683651124614271421281189937832285009913392098440052700481058536537029283776766081852686119206210847759535714732988147966690986274648305321527553036134585148733282866359771062266765368856158073605132867240581038563494641292894352552608201919810067143989884577889423945908172853565288711103020835405623905873289276134867033739178907802518807753158327641122797193602120804619226781538744781938905553317692802324802487556326655689186222900225371304721683669016931167746035819067932989287256173675160111922705827506642532445126119138361101876885011939356058462523569801068244098059023432969031357509788939155075605096205325687484725449978341878829068179267978445189717100547624633322733651807968807 513886644515999230905641601145744481402438633921264698807127582928699996322802825116433216684677356450704736628911025056166553444975176814069842502665495105428640962314001060857457446310134706671793414940620083959362400011180234667946820861463214377373159771202159813185669514234274901553838635119476832900882006050163781141194548917831065173454997193686496475679057765367017400875676238265831004058075093950565363346044633198698163587281138300836771380012443027190708766191606213173283169872502909064833364866599863868777017933418024069034964949319260367064815995622952937320704098817778196325193475652031720257560555495848363702355128476330853184578441057434165828358811312954282104771591422225046707207728734099944248741011844592723114971530992676006858922752275939737519077525492054427877819524707166509067965691767600143802440351083227465178615149564881210589999401593293098417766721128837414128531624205202867644945800194448073798957302784683174654357229926543112284305759202147579746268671080842778479088273796079081493379046247721768378715755408809385647516410470416274608439278198582308288994790560740715500432948309609372740971519050772923573420947832517692589834830030224783173157283479696322725397112127045997779275879925229521226967354074248768575890419748106934998214801233020166286311388942679419557977229280124460076346681775906288174045105443728439193755470197352399770835916533618552147942238529150734449886004443167258421930280206465976838896349618540563175774189037460521136150431087543603790136775848330418197201989893500491877426493047763173198178796193278386848016406198214234345766465551369143696163315771846859530077087172409834648399706833112756827759451234241315411308311025062217104140846677961066507722016279388142896377559779718253112820621769624205269871613826181919020884792092201479407798831689598490217634860524549797475048813173298986648713019094119577755814409406814720502502517708638609537643984094065651007784329307535300048503834725141964375487103133313694501609322446573042680780653421873533530811713362309734106450697880754020039952699708899545650897256449475164254084045292076530638438207545837579598034741998758256974972397092228017104541781959889602244737909187656805369262463326373301811118081648471147914510258389217468285561981554171308141304376531208571777045319522992180630878850601033411135794364858639119798690734454175751716645651868542920392307769917212178211369696905895477037744336012141913812976999635830858480005024571995380700513160068617327730192983085439173778019869468597876520587249117974276134118141121266482320252445158147130535872921944721140321075764669375073136465618554910426230215132952317367561857866312859839737569493405263429227178005206388588063703500088840419181261887189673139816123057414594201285128466683845980974661446824728117854419433750185905251536217241966098576995752529918825060545070706586096713597923562934991521192202726535381998491412317368132128445081278832930942360202387603555203470130545214793785585394749165448752125494692729961610548876695201648400367145935542188723872642337812733148039952619147854912425593467787431953884416061508353259279459264094434995957576583427023271141902525237410237623441047684119744277882178995065798669186952878592773022887837254879766217580355330807935018114974901332940439919867490841848749677020997747512562485857802034639712897575985268151056192078076969498332523464039572956026644361692203912427436963914452695073893138444166509949726719771970059317391982910466434866242844488343466593287874322836196860114431472985675033839763121656941497442032515320842024041725115735720861192171804100664636 831486057191521512670877850252965613726100070000357212447789287347212806897896504997196406483859013051968365909475785680667117705160158162331644042048230055054025568645149969132032982795375733862327669831805615997643008849783778617185542143750818922178294815146534807229541614378107895571608168673291774319480301657617005787479686429314468526718323365385311209274399138370688584356150455093590635530014227141813552717068498057807048692544515798976225353236665859953145583649840618291892984219561192195097831277499627022799050263150173603799769128541567056468388830015239659127360577138293937401602971357013105370691598128658848734841025506133407879494082064382828722654137799307729748839203680132224155549842610995225427765966297374710067097394219416385632749430444369208653622357442025649461149445917653774430032379807391662306221766839915293370514187450612995154075153214245668975278162100116075121121833735400942137385447600346995478889152748595438877740974048400586947816994415366633832712074162354353517636062869172780507499644482783941441367228026760998191560497285109997902130599587425945246549690042828969044149408739392697760386190819173979556680383697001041485790258236524668142357612933667275154926261126419567674071832171968421320261908470863248273698849343689308383329181979499807952148454790736037223002088849273580978911756213127593305562926251176538692033883591681363154307987601682662260052776195714366885918447783822175052331161698147336814647411640855276958800789114645379585098804191262350756318566342673402020543254740007914489352116654398309702571766935995267974618068921660032700949177105122227819659659699699233011960098646574444100298115730285781704557297037796422115275510242011876609068620138180172154011251169946221493676644954478093964197326638912125682325058436940590489370124571829341959386655671656928481836650233225766555965868626524738620717061156661245962656368170373448302631873544992479286187002479678289235343484645413744855308121728555903485225602641559582070998574672630075559575823610645103978710961729347198552481952979842718669221817757533353964273259600551400831562295201297562400459225263441235463231333619229376961530786139550694964884735974314341850148567953074536616858721482489026364058587030674305435977815857688347824047673603574196914173375176865341909353107637145062581652280604256177756060802768842743874783266242644085009220269227993035806749144435623432166093307465805166684769373912980565356659508879076033273771442776884064342541592619440786239954734620302140293605680071018901605864114336738147397038610578216143794144522852056973763780459086426297035664885024866386569370769714294082366528612204010287219029922433501115956209322398869373366160646770902334388181339974822822858415697067889637358945954565302352275624472545144169069135305506272725548020779861633280852382830307841375774813583138707205749106693077688753571660237991176188023034878832303614662444189454411815779569695550254212132298034672613468595568570597915274844121931778449225518207347378849167821396636230916381388515112626528463372177963865365769282625101352430721272196655734552800810042489666641220499860497827589076288851929136035225190951969669227294815512864993592292597843170890098086634074810858751882049157754870994058674020099163083966262659237772094935061244539094272380593531615926551065205364810660289590966368586762208168376427496799760638515263691210075392023959633648948377587587548886620280201716425583570285648310828596656981998673450445434036235934486942547366899562319231832625136015190036569191000721324488571635283376271100694588820469231442216283345494514905455908633443 1345372701707520743576519451398710095128538703921621911254916870275912803220699330113629623168536369502673102538386810736833671150135334976401486544713725160482666530959151029989490429105510440534121084772425699957005408860964013285132363005214033299551454586348694620415211128612382797125446803792768607220362307707780786928674235347145533700173320559071807684953456903737705985231826693359421639588089321092378916063113131256505212279825654099812996733249108887143854349841446831465176154092064101259931196144099490891576068196568197672834734077860827423533204825638192596448064675956072133726796447009044825628252153624507212437196153982464261064072523121816994551012949112262011853610795102357270862757571345095169676506978141967433182068925212092392491672182720308946172699882934080077338968970624820283497998071574991806108662117923142758549129337015494205744074554807538767393044883228953489249653457940603809782331247794795069277846455533278613532098203974943699232122753617514213578980745243197131996724336665251862000878690730505709820082983435570383839076907755526272510569877786008253535544480603569684544582357049002070501357709869946903130101331529518734075625088266749451315514896413363597880323373253465565453347712097197942547229262545112016849589269091796243381543983212519974238459843733415456780979318129398041055258437989033881479608031694904977885789353789033762925143904135301214407995014724865101335804452226989433474261441904613313653543761259395840134574978152105900721249235278805954546455342191003820217745244633508406366778609702161482900750563129273654822634475119874267046715642656491371515822975471546092542037185818984278748697822563398538532316748272037737526583821267074093713209466816141238661733267449334364390054204734196347077017948408536330952196672263122509510254916664030821367185487361255418699471510757775564031014681799823725269430080250780823718470777577188168805134391253631088823830986573743940243127813952949044903811956453697867860712705774873276572607897119203118240356477032518637509522675091656932658932650860596738709174517466432899615170516050026565085646340493374093038897432809278815061266075617987633936503183231778712069426517934203944094886477140731341986121184808862328175176668679145453350488074246905816109609655157745505055477751708073913686398427160137243212531131205289588891855167627481863673474000696819836725865921096535956199056914352835610377463004371700643722513709925122479169636508514906891753776467348879445043054752688058113970147717705741314071625549539616778126451363454712423531156751699482626114396968010204104299653381031147437356740649694241459705836388269204508596743745156327654780887788746360955693778815804132802593338651977290922451884840063663242039677584257562777175069011979896553560752939228990150043796752331000843402440213611819186103919047549807474351809335668626030809651763784274850285258161554111179544227081558838996660935601771779947908014776829087143074658237060217023799038701143130068629707326527614674270332842071579129431945512926118029788882258562070652096050606203178502430665053971578576184622249202340232763926905728149573759139957091683511284809505719462248462093872194464705053136306041276412342121053069093152432743997811630474822180642708248938440237679518414774197677352746996268001684458961763222442281292947548812717927296518091625606081484338193436527483688877837608013596214674114964979986278010640581500014985850534732896790318722014452158260555316428952057990842428344502670800729787035710366155607106155461332875304468042176675755164251693292224873713133209909662493273167332019066355707077260009298079 2176858758899042256247397301651675708854638773921979123702706157623125610118595835110826029652395382554641468447862596417500788855295493138733130586761955215536692099604300999121523411900886174396448754604231315954648417710747791902317905148964852221729749401495229427644752742990490692697054972466060381539842609365397792716153921776460002226891643924457118894227856042108394569587977148453012275118103548234192468780181629314312260972370169898789222086485774747096999933491287449757069138311625293455029027421599117914375118459718371276634503206402394480001593655653432255575425253094366071128399418366057930998943751753166061172037179488597668943566605186199823273667086911569741602449998782489495018307413956090395104272944439342143249166319431508778124421613164678154826322240376105726800118416542474057928030451382383468414883884763058051919643524466107200898149708021784436368323045329069564370775291676004751919716695395142064756735608281874052409839178023344286179939748032880847411692819405551485514360399534424642508378335213289651261450211462331382030637405040636270412700477373434198782094170646398653588731765788394768261743900689120882686781715226519775561415346503274119457872509347030873035249634379885133127419544269166363867491171015975265123288118435485551764873165192019782190608298524151494003981406978671622034170194202161474785170957946081516577823237380715126079451891736983876668047790920579468221722900010811608526592603602760650468191172900251117093375767266751280306348039470068305302773908533677222238288499373516320856130726356559792603322330065268922797252544041534299747664819761613599335482635171245325553997284465558722848995938293684320236874045309834159641859331509085970322278086954321410815744518619280585883730849688674441041215275047448456634521730700063099999625041235860163326572143032912347181308160991001330586980550426348463890147141407442069681127145747561617107766264798623568110017989053422229478471298598362789759120078182253771345938308416432858643606471791833193799932300643163741488233636821004131211414603840439457378396335223966253579443775650577965917208635694671655439356658072720050524497409237217010898033969371329407034311253908518285945035045093805878602979906291351354539235255709819758786465890104594163933657328761319701969651126884939255595751534797282305794183411809545766647915970396324607548257266939463921735086190324528992005806058788459042543556311837505810407283083838103044526296017393982925027547910125763509385596345307498900210102452326043454365231229610635679732315477791450570928195362277698769908541490862261078063433840117573734392405534719107846275207157983498590963272357360337941999917711179862071649988138203002175959499298748193256840066180038486064898093281325452414534014966545198905836377411774134319112932057837273568950460993473452466956301877857648850126622918807333236558758456861963603856918399545287367567261960391142611323379791226191763687584472379341355206956271732830492394607271741045343473829258306063899788540189450428297253342149157034411177397371188599115468228570068544271713290155324009297456818904936893033573969395394790794259000454919272587573661434855497473653045841863691999868649171034868704939964223959191239066818808670382356871338397579242997114257778681498740460336590519091203062928998056035603035812908874099877923292107178381216572450071100401604903911185677598246528859905884190357003945911659588959087602534737155013098506744305584737806571383913085934056664292873778538906735216729583077265717926337988086468890494504611367676476488740264927508249984233904498482962504609548302411850221982715917931522 3522231460606562999823916753050385803983177477843601034957623027899038413339295165224455652820931752057314570986249407154334460005430828115134617131475680376019358630563452029111013841006396614930569839376657015911653826571711805187450268154178885521281203987843924048059963871602873489822501776258828988760204917073178579644828157123605535927064964483528926579181312945846100554819803841812433914706192869326571384843294760570817473252195823998602218819734883634240854283332734281222245292403689394714960223565698608805951186656286568949469237284263221903534798481291624852023489929050438204855195865375102756627195905377673273609233333471061930007639128308016817824680036023831753456060793884846765881064985301185564780779922581309576431235244643601170616093795884987100999022123310185804139087387167294341426028522957375274523546002686200810468772861481601406642224262829323203761367928558023053620428749616608561702047943189937134034582063815152665941937381998287985412062501650395060990673564648748617511084736199676504509257025943795361081533194897901765869714312796162542923270355159442452317638651249968338133314122837396838763101610559067785816883046756038509637040434770023570773387405760394470915573007633350698580767256366364306414720433561087281972877387527281795146417148404539756429068142257566950784960725108069663089428632191195356264778989640986494463612591169748889004595795872285091076042805645444569557527352237801042000854045507373964121734934159646957227950745418857181027597274748874259849229250724681042456033744007024727222909336058721275504072893194542577619887019161408566794380462418104970851305610642791418096034470284543001597693760857082858769190793581871897168443152776160064035487553770462649477477786068614950273785054422870788118233223455984787586718402963185609509879957899890984693757630394167765880779671748776894617995232226172189159577221658222893399597923324749785912900656052254656933848975627166169721599112551311834662932034635951639206651014191306135216214368911036312040288777675682378997756311912661063870347254701036196087570852690399153194614291700604531002854976188045748478254090881998865585763484855204644834537152603108119103737771842722230039921522234537220589101091100213682714411924388965212136953964351499980043266983919065207025128878593013169282149961957419549006714543014835355539771138023806471221731267636283758460952111421064948204862973141294652921019316209206454129796793763225523695932525908889816781324377474642954428651097995557014180250170031784768436856779150252457858766841246162994459352113977181396022938458872465182363087221148721171749146184413349305981043546252703099560016102516665596780805499926223027343766954007134978552837950725484179291951020102149306937770865583015191709083978525095459397130351003124469156728810168274412352901207085271653060220925407456324478432254475959267368410220646238454142176561099398547111489041949981607984315392997971711595599249208428498281614508793047516193645972884175412103536584833678574058873031522007426685287662083152440966279629750669767564279176271722774143955209295587873641441154139233266337896301122940368018140412010956098858470940574959722115139714058156704921785477076145117282085277028284391499562806482012831693519040287491935554495458199913514658013943266087471064613457017798825478094201821648690641219403696472842178531555438595041431394874555435854542456120558305321983932189670229540587617520587689745995297063027599189964831939229514886114655135302123041577535946516618787631873533444143547801765798972653544352231652991958219733123697367114408145455777776880321478205929059975927229601 5699090219505605256071314054702061512837816251765580158660329185522164023457891000335281682473327134611956039434112003571835248860726321253867747718237635591556050730167753028232537252907282789327018593980888331866302244282459597089768173303143737743010953389339153475704716614593364182519556748724889370300047526438576372360982078900065538153956608407986045473409168987954495124407780990265446189824296417560763853623476389885129734224565993897391440906220658381337854216824021730979314430715314688169989250987297726720326305116004940226103740490665616383536392136945057107598915182144804275983595283741160687626139657130839334781270512959659598951205733494216641098347122935401495058510792667336260899372399257275959885052867020651719680401564075109948740515409049665255825344363686291530939205803709768399354058974339758742938429887449258862388416385947708607540373970851107640129690973887092617991204041292613313621764638585079198791317672097026718351776560021632271592002249683275908402366384054300103025445135734101147017635361157085012342983406360233147900351717836798813335970832532876651099732821896366991722045888625791607024845511248188668503664761982558285198455781273297690231259915107425343950822642013235831708186800635530670282211604577062547096165505962767346911290313596559538619676440781718444788942132086741285123598826393356831049949947587068011041435828550464015084047687609268967744090596566024037779250252248612650527446649110134614589926107059898074321326512685608461333945314218942565152003159258358264694322243380541048079040062415281068107395223259811500417139563202942866542045282179718570186788245814036743650031754750101724446689699150767179006064838891706056810302484285246034357765640724784060293222304687895536157515904111545229159448498503433244221240133663248709509504999135751148020329773427080113062087832739778225204975782652520653049724363065664963080725069072311403020666920850878225043866964680588399200070411149674624422052112818205410552589322607738993859820840702869505840221078318846120485989948733665195081761858541475653465967187914365406774058067351182496920063611882717403917610748954718916110260894092421655732571121974437526138049025751240515984956567328343099192080997391565037253647180098784970923419854456094143976924312680384908994780005477952424877901496754701854800897954824381122187687108420131078769988534575747680196038301745593940210669031929753695464575628046712264537079877601328568222228543302872741808872287600406463814247443303055914390352622357828222802088008760888137591082319037613565387547476254880165931479949734726260426521061266294906141551719132457152256250704236201690523288459877003538780723211106085098993755092210137154512337249473677436132017200140635371835864146908467606243098945070294365233507762777258788269660868005547981303362200558724120016522803265105174605055173283292503927168677508202057999094960644685914678751002341124219307695184224163475283183721587769853488570780525878008588253244625220755577365843139742473847413220972435723938629811240186852143677000939268883032507746340267045857245364619597171098260059076126299911865696517731162277140866930228686432132375430457195768185555921848704790434648111013822222049500987475630566381615152395188564857437866734932668753236881412255118350533785178674127542455073834428513907110695748568564511510874854058750981626538996646335306060233034101071316026442495678987878101329818499675220055324844759093803807333183927771403323142600820171319428175901580484271163246201864897591459782131634270656293477264912028708141732223147241373681601018906628418282386428623890056151042691845161123 9221321680112168255895230807752447316820993729609181193617952213421202436797186165559737335294258886669270610420361410726169708866157149369002364849713315967575409360731205057343551093913679404257588433357545347777956070854171402277218441457322623264292157377183077523764680486196237672342058524983718359060252443511754952005810236023671074081021572891514972052590481933800595679227584832077880104530489286887335238466771150455947207476761817895993659725955542015578708500156756012201559723119004082884949474552996335526277491772291509175572977774928838287071190618236681959622405111195242480838791149116263444253335562508512608390503846430721528958844861802233458923027158959233248514571586552183026780437384558461524665832789601961296111636808718711119356609204934652356824366486996477335078293190877062740780087497297134017461975890135459672857189247429310014182598233680430843891058902445115671611632790909221875323812581775016332825899735912179384293713942019920257004064751333670969393039948703048720536529871933777651526892387100880373424516601258134913770066030632961356259241187692319103417371473146335329855360011463188445787947121807256454320547808738596794835496216043321261004647320867819814866395649646586530288954057001894976696932038138149829069042893490049142057707462001099295048744583039285395573902857194810948213027458584552187314728937228054505505048419720212904088643483481554058820133402211468607336777604486413692528300694617508578711661041219545031549277258104465642361542588967816825001232409983039307150355987387565775301949398474002343611468116454354078037026582364351433336425744597823541038093856456828161746066225034644726044383460007850037775255632473577953978745637061406098393253194495246709770700090756510486431300958534416017277681721959418031807958536626434319019384957035642132714087403821247878942867504488555119822971014878692842209301584723887856480322992397061188933567576903132881977715940307754568921669523700986459084984147454157049759240336799045129076035209613905817880509855994528499483746260646326258952109113242511849553538040604764559968672359051787027922918588070763152395864839836717781696024378947626300567108274577545645241786797593962746024878089562880319781182088491778719968059104487750183060373818807594124020191296599450116019908884070965594160051458712121403807612497839216477727458246443937549991719802212031438656990413166658888415532005071048348385594944255918718666876671364554091918161069211762558590196665075049418242898541298612928570602792389612991238944787911140595449849160283776559846899590232061561954418408607191442789608282415016077890697903545806458237294250488904790083304562393669135561528711032308126337522046217272133065175200199161615423968220242784678773635012491482797952182923595389824630638113780383257426389678173822393656263407643995773076743728672561499083487427759251771295578898154440512141271521744084461790240044291105827292010577222135186878782970796198351770185289318925524781899217509396167680902427973421047906286252494443150623917473323339293109956630689938650596786922611989820001200573915185044739701213215359566249761997640671530295281278941184785290603316005416917883325269980005409712220125187158939504134778015760022065944421634408020258376478154226868223248695081325769776364477051266145192155912091633253992001312517397259205730914571326900929513181977591687766700934788469955613772147000801000971810291000048040262837575912534505089100870360783117736235262372115706285974563478024622061807109762820652529464993226275182072422092449918456380939794724181366974497378968133314773874060163308945368262080102667772390724 14920411899617773511966544862454508829658809981374761352278281398943366460255077165895019017767586021281226649854473414298004957726883470622870112567950951559131460090898958085576088346820962193584607027338433679644258315136630999366986614760466361007303110766522230999469397100789601854861615273708607729360299969950331324366792314923736612234978181299501017525999650921755090803635365822343326294354785704448099092090247540341076941701327811793385100632176200396916562716980777743180874153834318771054938725540294062246603796888296449401676718265594454670607582755181739067221320293340046756822386432857424131879475219639351943171774359390381127910050595296450100021374281894634743573082379219519287679809783815737484550885656622613015792038372793821068097124613984317612649710850682768866017498994586831140134146471636892760400405777584718535245605633377018621722972204531538484020749876332208289602836832201835188945577220360095531617217408009206102645490502041552528596067001016946877795406332757348823561975007667878798544527748257965385767500007618368061670417748469760169595212020225195754517104295042702321577405900088980052812792633055445122824212570721155080033951997316618951235907235975245158817218291659822361997140857637425646979143642715212376165208399452816488968997775597658833668421023821003840362844989281552233336626284977909018364678884815122516546484248270676919172691171090823026564223998777492645116027856735026343055747343727643193301587148279443105870603770790074103695487903186759390153235569241397571844678230768106823380989460889283411718863339714165578454166145567294299878471026777542111224882102270864905396097979784746450491073159158617216781320471365284010789048121346652132751018835220030770063922395444406022588816862645961246437130220462851276029198670289683028528889956171393280734417177248327992004955337228333345027946797531213495259025947789552819561048061469372591954234497754011107021582904988342968121739934850661083507036260272362460311829659406784122935856050316775323720730934313374619969736209379991454033870971783987503019505228519129966742730426402969524842982199953480556313475588791436697806285273040047956299679396551983171379835823345203262009834656891223418973263085883343757221706284586535153983793673263688267997115609279835025014688889548918019037952955466823258608510452663597599915145354864068628761708336787779118853028714912252828626201037000802043850170572302630983203956548965882660140389612514635300399068952675455882057145984601668842960955414747441214041032796672028733040931479321390125234447066486941727885898358341917703216129343681310984032249622678263610493544954725106480606593022270672674342251922138393225331277138427409287577512449672839051555985420383420050609499159399950404195281868665684189864145876557642045696050546179370374959625608202719893093266531937666673688542601042544275222747575662642570140366482388770376468991046632230046599705761446298662161966692383968205258756069844803533370152462134616923258268271113163521753699473466878874562547284563526145253633631629207533629294668952256865858445938534782215837961272291485866161627694158402692572422145871413471722735691435874113651510825901854114502654773298172761726184279003235652632326036786803208823233916020961800892001931962738024894715010836444819319698367165467682505908423213145827770242425446180959680494808516588334102006995021504056685088173443296679959688392329866539938057631237379264182904677693967045507638585514716526457293991653926202546078273009022517427056453008406816343078385927183368409647936456404514215871060569152221402292342549737569258318231145359617551847 24141733579729941767861775670206956146479803710983942545896233612364568897052263331454756353061844907950497260274834825024174666593040619991872477417664267526706869451630163142919639440734641597842195460695979027422214385990802401644205056217788984271595268143705308523234077586985839527203673798692326088420552413462086276372602550947407686315999754191015989578590132855555686482862950654421206398885274991335434330557018690797024149178089629689378760358131742412495271217137533755382433876953322853939888200093290397772881288660587958577249696040523292957678773373418421026843725404535289237661177581973687576132810782147864551562278205821102656868895457098683558944401440853867992087653965771702314460247168374199009216718446224574311903675181512532187453733818918969969474077337679246201095792185463893880914233968934026777862381667720178208102794880806328635905570438211969327911808778777323961214469623111057064269389802135111864443117143921385486939204444061472785600131752350617847188446281460397544098504879601656450071420135358845759192016608876502975440483779102721525854453207917514857934475768189037651432765911552168498600739754862701577144760379459751874869448213359940212240554556843064973683613941306408892286094914639320623676075680853362205234251292942865631026705237598758128717165606860289235936747846476363181549653743562461205679407822043177022051532667990889823261334654572377085384357400988961252452805461221440035584048038345151772013248189498988137419881028894539746057030492154576215154467979224436878995034218155672598682938859363285755330331456168519656491192727931645733214896771375365652262975958727693067142164204819391176535456619166467254556576103838861964767793758408058231144272029715277479834622486200916509020117821180377263714811942422269307837157206916117347548274913207035413448504581069575870947822841716888464850917812409906337468327532513440676041371053866433780887802074657143988999298845296097537043409458551647542592020407726519510071069996205829252011891259930681141601240790307903119453482470026317712985980085026499352573043269123894526711402785454756552765900788024243708709340428628154479502309651987674256866787671129528816621622620939166008034712746454103738754445174375122477189765389074285337044167492071282392017306905879285141034597773619883613198004414178944662416122950502814077642603601308006178753428138999810557510019128078911717041733042071850392235765516558549701870833220330436752058550681726397858989265617750505300300044525900281771531558207137054205279977584583169328490780639605166685081346656719003289840316766949109146005737626096327061922947526224070068730839205214011270689897584664341809903780633170701351668799184644681420642687649872000666979953640626204729383134171891433202147464792261074014494783990338025303122440224353192768615889015846715666170010260610228172772030028801796046518326473817083082281638004132854838259231090923335873891716338668433849040749663180166557028941359163729058152051679644013090939170699086584569659985725961322025186464757886865438363590262319146184226081591564246685859646512449967260577662485506845432411389691799074222867703424812598257013339007441291031534836095881859524214874898485331701230319057018995674698270458421211229081610394175188669115250627044063794671079487887710964511854279257100936497909735730543086975973340017507860610007990494180021868707929809974012298860320444097680931498683329914580200895207149913769272005548054750163243873847886832232743268555131950824607885382771843169956521446234681998415500478377101824790587731180585881190368439537285536176166402713046514626580311248027389942571 39062145479347715279828320532661464976138613692358703898174515011307935357307340497349775370829430929231723910129308239322179624319924090614742589985615219085838329542529121228495727787555603791426802488034412707066472701127433401011191670978255345278898378910227539522703474687775441382065289072400933817780852383412417600739394865871144298550977935490517007104589783777310777286498316476764532693240060695783533422647266231138101090879417441482763860990307942809411833934118311498563308030787641624994826925633584460019485085548884407978926414306117747628286356128600160094065045697875335994483564014831111708012286001787216494734052565211483784778946052395133658965775722748502735660736344991221602140056952189936493767604102847187327695713554306353255550858432903287582123788188362015067113291180050725021048380440570919538262787445304896743348400514183347257628542642743507811932558655109532250817306455312892253214967022495207396060334551930591589584694946103025314196198753367564724983852614217746367660479887269535248615947883616811144959516616494871037110901527572481695449665228142710612451580063231739973010171811641148551413532387918146699968972950180906954903400210676559163476461792818310132500832232966231254283235772276746270655219323568574581399459692395682119995703013196416962385586630681293076299592835757915414886280028540370224044086706858299538598016916261566742434025825663200111948581399766453897568833317956466378639795382072794965314835337778431243290484799684613849752518395341335605307703548465834450839712448923779422063928320252569167049194795882685234945358873498940033093367798152907763487858060998557972538262184604137627026529778325084471337896575204145975556841879754710363895290864935308249898544881645322531608934683826338510151942162885120583866355877205800376077164869378428694182921758317903862952778178945221809878864609941119832727353480302993495602419115335806372842036572411155096020881750284440505165149393402308626099056667998881970382899655612613374947747310247456465321971724621277739423218679406309167019851056810486855592548497643024493454133211857726077608882987977724265022816017419591177308594925027722213166467067681511988001458444284369270044547403345327157727708260258466234411471673660820491027961165334970660014422515159120166049286663168801632235957369645767921024633403166411677557748956172074807515136475787589676363047842991164545667934079072652436085936088861180685074789769296319412198940294241033159388334570425961182357190510501950614492513621884495419321010381255198061531712118926556810315793723205945017726215125291026849221866969777638045955197148902333679224384159939117751296490606935014484246032555309094577000076323072090708220200099544839718535939061009624779992633331291383606342746660926758204358929866895667348818490770532563143575514624049435559263276792547894846460572629844340321741074049479725652422004486521625214728222137555565920491422100114732511202716355564134762287697429008532591522204141778630014197438970199748091413685199428200899749012042450391583617223893948353717855376260516503551718092450984749476415623757798331298573017385957476915440125570684011728736074698877165145186346921783713638717529671783504462956503336022231327330596495208014437904844310196150470007252559006801819565794498724155783831552646422568619003818158943688914746215765463688820290502799010768355970714924831478068983948493887394360891187075659781120138952838387293033454910225748717208751512433401548759200562546785877027153963655780865687383577899243088814758578864304285193200235667636990395406239500106437757578458745262784083884898542393387007494418 63203879059077657047690096202868421122618417403342646444070748623672504254359603828804531723891275837182221170404143064346354290912964710606615067403279486612545198994159284371415367228290245389268997948730391734488687087118235802655396727196044329550493647053932848045937552274761280909268962871093259906201404796874503877111997416818551984866977689681532996683179916632866463769361267131185739092125335687118967753204284921935125240057507071172142621348439685221907105151255845253945741907740964478934715125726874857792366374209472366556176110346641040585965129502018581120908771102410625232144741596804799284145096783935081046296330771032586441647841509493817217910177163602370727748390310762923916600304120564135502984322549071761639599388735818885443004592251822257551597865526041261268209083365514618901962614409504946316125169113025074951451195394989675893534113080955477139844367433886856212031776078423949317484356824630319260503451695851977076523899390164498099796330505718182572172298895678143911758984766871191698687368018975656904151533225371374012551385306675203221304118436060225470386055831420777624442937723193317050014272142780848277113733329640658829772848424036499375717016349661375106184446174272640146569330686916066894331295004421936786633710985338547751022408250795175091102752237541582312236340682234278596435933772102831429723494528901476560649549584252456565695360480235577197332938800755415150021638779177906414223843420417946737328083527277419380710365828579153595809548887495911820462171527690271329834746667079452020746867179615854922379526252051204891436551601430585766308264569528273415750834019726251039680426389423528803561986397491551725894472679043007940324635638162768595039562894650585729733167367846239040629052505006715773866754105307389891703513084121917723625439782585464107631426339387479733900601020662110274729782422351026170195681012816434171643790169202240153729838647068299085020180595580538042208558851953956168691077075725401480453969651818442626959638570178137606923212514929180858876701149432626880005831141836986208165591766766919020165535997312482630374783776001967973732156446047745656810904577015396470033254738811040804623081065223535278079260149799430896482153434633588711601237062735105828072128657406253052031729421038405307083884436788685245433961783824712583440756353669225755200352557480080986268564614787400233873066971070076262709667121144502828321701605419730386945622989626756164257490975967431018377600188176466482657235036402232386024071829021549624600987965838367390022492758531723495397140379924948307566531892240135995227604595873965107878144675126403747955223365153129021986388191599356294149813188479795928668875507716772128862887749416840385515892701635829509375767503182816808490211453187832218853713857233692651940930994885755912191403639896151225433287053158123019232602658646136368259400523296808734703642490654480052987453228478901794383138438783166360243466018744301319316638788172261649674255821422643105136609669286332661073670925389522924935476800337257021980814156267499902081457852080750237577738963434716736993286243305176730984407077756551138307828995496609985749413706318456176721183017665573162932404570268836164186822393041227002028866953629225666986454704371339139122503186050865614236873986611866748343406925679669555501727894674232001722189105481196680900510789504948377839422854641452081282808814331492041822685758989695700339848045537206802726915773803467371995386281288380991943831101917827851761849038552708857340099345477770813174079342681387017990823398817576276596607939643723293754625147975830598511478853641414397436989 102266024538425372327518416735529886098757031095701350342245263634980439611666944326154307094720706766413945080533451303668533915232888801221357657388894705698383528536688405599911095015845849180695800436764804441555159788245669203666588398174299674829392025964160387568641026962536722291334251943494193723982257180286921477851392282689696283417955625172050003787769700410177241055859583607950271785365396382902501175851551153073226330936924512654906482338747628031318939085374156752509049938528606103929542051360459317811851459758356774535102524652758788214251485630618741214973816800285961226628305611635910992157382785722297541030383336244070226426787561888950876875952886350873463409126655754145518740361072754071996751926651918948967295102290125238698555450684725545133721653714403276335322374545565343923010994850075865854387956558329971694799595909173023151162655723698984951776926088996388462849082533736841570699323847125526656563786247782568666108594336267523413992529259085747297156151509895890279419464654140726947303315902592468049111049841866245049662286834247684916753783664202936082837635894652517597453109534834465601427804530698994977082706279821565784676248634713058539193478142479685238685278407238871400852566459192813164986514327990511368033170677734229871018111263991592053488338868222875388535933517992194011322213800643201653767581235759776099247566500514023308129386305898777309281520200521869047590472097134372792863638802490741702642918865055850624000850628263767445562067282837247425769875076156105780674459116003231442810795499868424089428721047933890126381910474929525799401632367681181179238692080724809012218688574027666430588516175816636197232369254247153915881477517917478958934853759585893979631712249491561572237987188833054284018696268192510475569868961327718099702604651963892801814348097705383596853379199607332084608647032292146002923034493119427667246209284538046526571875219479454181041062345864978547373708245356264794790133743724283450836869307431056001907385880425594072245184239550458598299919828838936047025682198647473063758140264409943513619669209170208707983666763979692238754972463467336834119499502043118683199721806492552792624539509507904548123807553144758054209861694892054946012708736395926319100089822741223712046151936197525473133171099957486877669919153470480504465389756835637432758101513652155793783701090574989910236114814061240808377601200217155264407637694280911072020412758923075576456431270208464177765934758602427665014425546904183000516585450906045043921998347093565451554204877458280305712934103130893325292747017531162844449471565651603153833341824028737427179607525092246773282878798534370778395845743788890505668951830788862837083087848961680104051831762645454289368400834474200414832958114114590423212643724129360000759421765418319055766918263945586784696563845706017865693175288490476690000474572776534387125646977176105267715675366034467714874560538897898871446182374308436081604336217180794241196459963201273119334048639486080752487356124817723824684488842787648605598038050215853619936834112597253789295831414419466213408910001103508029557424463714028053747954566180621714485488405195621321907529939449286801649934242052340627143325729063458329359463448837240104891299014567489609129755745057667433802668485336022532174959572102238174505546053617920916468404870944885501191013588515716733810137779472930150266757308218886402713872834649476820478800883924499836181825999552184580746898714689929751144393648703704878915812694333574544723677244720859627932658206985672211191059066454566672002847439750161051333083893238614682396377396034801404931407 165469903597503029375208512938398307221375448499043996786316012258652943866026548154958838818611982603596166250937594368014888206145853511827972724792174192310928727530847689971326462244136094569964798385495196176043846875363905006321985125370344004379885673018093235614578579237298003200603214814587453630183661977161425354963389699508248268284933314853583000470949617043043704825220850739136010877490732070021468929055836075008351570994431583827049103687187313253226044236630002006454791846269570582864257177087334175604217833967829141091278634999399828800216615132637322335882587902696586458773047208440710276302479569657378587326714107276656668074629071382768094786130049953244191157516966517069435340665193318207499736249200990710606894491025944124141560042936547802685319519240444537603531457911079962824973609259580812170513125671355046646250791304162699044696768804654462091621293522883244674880858612160790888183680671755845917067237943634545742632493726432021513788859764803929869328450405574034191178449421011918645990683921568124953262583067237619062213672140922888138057902100263161553223691726073295221896047258027782651442076673479843254196439609462224614449097058749557914910494492141060344869724581511511547421897146108880059317809332412448154666881663072777622040519514786767144591091105764457700772274200226472607758147572746033083491075764661252659897116084766479873824746786134354506614459001277284197612110876312279207087482222908688439971002392333270004711216456842921041371616170333159246232046603846377110509205783082683463557662679484279011808247299985095017818462076360111565709896937209454594989526100451060051899114963451195234150502573308187923126841933290161856206113156080247553974416654236479709364879617337800612867039693839770057885450373499900367273382045449635823328044434549356909445774437092863330753980220269442359338429454643172173118715505935861838889999453740286680301713866547753266061242941445516589582267097310220963481210819449684931290838959249498628867024450603731679168396754479639457176620978271562927031513340484459271923732031176862533785205206482691338358450539981660212487128909515082490930404079058515153232976545303593597247620574731439826203067702944188950692015129525643657613945799131032147172218480147476764077881357235930780217055536746172123103880937295193087906146110504863187958454071132236780052265705362390144109181785131317071087268321361658092729339299700641458966035748549831740713922246175895196143534946778894147671660583306415386540657279927594668522986312931932841576697635990003801110074483055841632859278909771298839677076161525568261711486499155141175134830890245375795269266990133727072545658932268686434337827338505634965945975598378520489567724464281283798744168337657017223323169567302422642066357581363052652700352760304074967958321903841738010129850898864140884925777947136613058259875096073343121829289467830585320703128594513369509257698977681065231689648393052737400920975005353055890870715784623916224470658308772413413561027050207246749619965643124905627578852206483353522018291964678004026873570377854182950402196244408684760541831541470579192055783561677231700234902111514077498628712957114859964582338812321176791330148122104685331388330402466465771877753718938828748252258931108533048039542471947889280518366497781907730007273948292152918190593976426082182091524378020665111649560634114382231549566122550378444536558593639172520818648929461706638908741773355651952742284995978310743088224750621532730677661732886283402063776590198630441106737549667059229181882465272142948599455379393884345087709041214445280907856249676215802368396 267735928135928401702726929673928193320132479594745347128561275893633383477693492481113145913332689370010111331471045671683422121378742313049330382181068898009312256067536095571237557259981943750660598822260000617599006663609574209988573523544643679209277698982253623183219606199834725491937466758081647354165919157448346832814781982197944551702888940025633004258719317453220945881080434347086282662856128452923970104907387228081577901931356096481955586025934941284544983322004158758963841784798176686793799228447793493416069293726185915626381159652158617014468100763256063550856404702982547685401352820076621268459862355379676128357097443520726894501416633271718971662082936304117654566643622271214954081026266072279496488175852909659574189593316069362840115493621273347819041172954847813938853832456645306747984604109656678024901082229685018341050387213335722195859424528353447043398219611879633137729941145897632458883004518881372573631024191417114408741088062699544927781389023889677166484601915469924470597914075152645593293999824160593002373632909103864111875958975170573054811685764466097636061327620725812819349156792862248252869881204178838231279145889283790399125345693462616454103972634620745583555002988750382948274463605301693224304323660402959522700052340807007493058630778778359198079429973987333089308207718218666619080361373389234737258657000421028759144682585280503181954133092033131815895979201799153245202582973446651999951121025399430142613921257389120628712067085106688486933683453170406672001921680002482891183664899085914906368458179352703101236968347918985144200372551289637365111529304890635774228218181175869064117803537478861664739018749124824120359211187537315772087590673997726512909270413822373688996591866829362185105026882672824341904146641692410842843251006777353923030649086513249711260122534798246927607359419876774443947076486935318176041749999055289506136208738278333206873589086027207447102305287310495136955975342666485758271344563173968382127708266680554630774410331029325751413580994030098055476540807110498974057195539131932335681872295586806047404874415652900046342117303961352451242101372982419325049903581101633836432698351796146389872160084239344374326875256088947004901876824417698603626654535526958466272308302888700476124033293433456253350226636703659000773800090765673592371535867340500620716555584784392573835966795937380054345296599192557879464869521578813357136976993981552530986448507472907317170353516384359373909469705381321812686086130210598387057242730833639712444984660025498293130902513448284106823008586186734958152025927302461684126547727177171415544828323183878602314438415337622568552145788668097850941504676057576940006779169294497803029063447340200593619556226926738088112569172131217638156127681417013065279001305492412653459774525722394023725240167787324794826414744570158750618953235627089748260349668849877508954936445006690588418803960547837224132259516578964103135830767361173482525311222533850132067175747825189343804706948258494166048383175024970574304454485912554233176890256699207141955126077275257816169401792273649163811106245512192790099256005184607245803738127857853414720390516709698820536242896564146766232273054373517418473473851168143660747793851303705876769052733506318357382014676166200481842210957283911812693326069884145904512820001910073834658998847370967683282537966536381845459698413587312381816323430769264847250431428288649341297449813386206475090567772907836533489183710668240494232618399325237609593474427219857946787453834919490069039395756652731440372941531726709620602302819144045396420792934453059963304233645711017207299803 433205831733431431077935442612326500541507928093789343914877288152286327343720040636071984731944671973606277582408640039698310327524595824877303106973243090320240983598383785542564019504118038320625397207755196793642853538973479216310558648914987683589163372000346858797798185437132728692540681572669100984349581134609772187778171681706192819987822254879216004729668934496264650706301285086222293540346860522945439033963223303089929472925787680309004689713122254537771027558634160765418633631067747269658056405535127669020287127694015056717659794651558445814684715895893385886738992605679134144174400028517331544762341925037054715683811550797383562576045704654487066448212986257361845724160588788284389421691459390486996224425053900370181084084342013486981675536557821150504360692195292351542385290367725269572958213369237490195414207901040064987301178517498421240556193333007909135019513134762877812610799758058423347066685190637218490698262135051660151373581789131566441570248788693607035813052321043958661776363496164564239284683745728717955636215976341483174089631116093461192869587864729259189285019346799108041245204050890030904311957877658681485475585498746015013574442752212174369014467126761805928424727570261894495696360751410573283622132992815407677366934003879785115099150293565126342670521079751790790080481918445139226838508946135267820749732765082281419041798670046983055778879878167486322510438203076437442814693849758931207038603248308118582584923649722390633423283541949609528305299623503565918233968283848860001692870682168598369926120858836982113045215647904080162018834627649748930821426242100090369217744281626929116016918500930056898889521322433012043486053120827477628293703830077974066883687068058853398361471484167162797972066576512594399789597015192311210116633052226989746358693521062606620705896971891110258361339640146216803285505941578490349160465504991151345026208192018619887175302952574960713163548228756011726538242439976706721752555382623653313418547225930053259641434781633057430581977748509737512653161785382061901088708879616391607605604326763668581190079622135591384700567843943012663729230282497501815980307660160148989665674897099739987119780658970784200529942959033135955593891953943342261240600334657990613444526783036177240201914650669387033567282173449831123877681028060866680277681977845363808675009655916629353888232501299770198454478384323874950552137842940471449866316293682193989952484256022739057884275762560254570053004652160215960357746713517013773597900010761234380967970972957431134707600149438287907933083069242576591011304837073760523803623888702739677256314822339019777449269305582998363821412778801824923487163608326263374344606507800132768975039045718721083187280691208021886856737509788234861479297248719435707345358886855465306160127286026468991683562071629062804956265643434299635544731182763702806520224764923220630784225912837275909121932555061206733389958494260029334825479160413910883446286227886906022937891532449105568275365257030907579609410225232217323924420129037459860755742463182560663973418041953261843042972170127832114213302489920877550641087546655186437859521689535085114955292628223776319164955853679006730814611866694694209803621973272828992136124253770171648646806452445147105634273607274733529881753429231801093211692567666053634520093950202226752849592823797049865374062344557046957109259047701694613365889553319643291786990021927821862116098742847913113999309546263488486231468706646551237320843149946770340271136160106141348851230425118120510146133306319790669554823996998852569201758198537929741508501975667505244212089895387233009668199 700941759869359832780662372286254693861640407688534691043438564045919710821413533117185130645277361343616388913879685711381732448903338137926633489154311988329553239665919881113801576764099982071285996030015197411241860202583053426299132172459631362798441070982600481981017791636967454184478148330750748338515500292058119020592953663904137371690711194904849008988388251949485596587381719433308576203202988975869409138870610531171507374857143776790960275739057195822316010880638319524382475415865923956451855633982921162436356421420200972344040954303717062829152816659149449437595397308661681829575752848593952813222204280416730844040908994318110457077462337926206038110295922561479500290804211059499343502717725462766492712600906810029755273677658082849821791030179094498323401865150140165481239122824370576320942817478894168220315290130725083328351565730834143436415617861361356178417732746642510950340740903956055805949689709518591064329286326468774560114669851831111369351637812583284202297654236513883132374277571317209832578683569889310958009848885445347285965590091264034247681273629195356825346346967524920860594360843752279157181839081837519716754731388029805412699788445674790823118439761382551511979730559012277443970824356712266507926456653218367200066986344686792608157781072343485540749951053739123879388689636663805845918870319524502558008389765503310178186481255327486237733012970200618138406417404875590688017276823205583206989724273707548725198844907111511262135350627056298015238983076673972590235889963851342892876535581254513276294579038189685214282183995823065306219207178939386295932955546990726143445962462802798180134722038408918563628540071557836163845264308364793400381294504075700579792957481881227087358063350996524983077093459185418741693743656884722052959884059004343669389342607575856331966019506689357185968699060022991247232582428513808525202215504046440851162416930296953094048892038602168160265853516066506863494217782643192480023899945797621695546255492610607890415845112662383181995558742539835568129702592492560875145904418748323943287476622350474628594954037788491431042685147904365114971331655479921141030211241261782826098373248895886376991940743210128574856818215122082960495768778361040864867254870184949079716835085924877716325947944102843286917508810153490124651481118826540272649217845185864429391565240701021927724199297237150252799774983516432830017007364519284807003293287663746520938932763495646375054629278944613943962474357541537773043832843727612160655142741594874093412955632982929427838502662886572014756091655429311549163330764376222207930171615879911092801143145522898379763707720920620932373558567469922774428668284383840314351385677094630572004102493058921676806836918134759974969306681919452499635424930136448772624360192347877959619901811748863015408802239416387599782680388004458386163684418390792554780574433773098139739162357843966497540736515609043957522218010838993437961309927775084365971597450420756155005067280274294912080072205289401745657793400257187898228874614950014093932632719881767805928544119228519659212373962401481278024408735433070340740343551839793683663259817392938529675683144933475139701198750243153497046884921068211628277095824440972652883918105073877525415859185951465463016288283440934011723964386515712905905018637550199539032913952112300587508591671168017548656600311093428802568957461289006995182212984088908139037421450216471203413548556234119589089877319171325019720652417314791731553461549272007949864610587325999295638684260037610579185529062972522109927765528725562189804061017681975137929294910120565207516323541098250216968002 1134147591602791263858597814898581194403148335782324034958315852198206038165133573753257115377222033317222666496288325751080042776427933962803936596127555078649794223264303666656365596268218020391911393237770394204884713741556532642609690821374619046387604442982947340778815977074100182877018829903419849322865081426667891208371125345610330191678533449784065013718057186445750247293683004519530869743549849498814848172833833834261436847782931457099964965452179450360087038439272480289801109046933671226109912039518048831456643549114216029061700748955275508643837532555042835324334389914340815973750152877111284357984546205453785559724720545115494019653508042580693104558508908818841346014964799847783732924409184853253488937025960710399936357762000096336803466566736915648827762557345432517023624413192095845893901030848131658415729498031765148315652744248332564676971811194369265313437245881405388762951540662014479153016374900155809555027548461520434711488251640962677810921886601276891238110706557557841794150641067481774071863367315618028913646064861786830460055221207357495440550861493924616014631366314324028901839564894642310061493796959496201202230316886775820426274231197886965192132906888144357440404458129274171939667185108122839791548589646033774877433920348566577723256931365908611883420472133490914669469171555108945072757379265659770378758122530585591597228279925374469293511892848368104460916855607952028130831970672964514414028327522015667307783768556833901895558634169005907543544282700177538508469858247700202894569406263423111646220699897026667327327399643727145468238041806589135226754381789090816512663706744429727296151640539338975462518061393990848207331317429192271028674998334153674646676644549940080485719534835163687781049160035698013141483340672077033263076517111231333415748036128638462952671916478580467444330038700169208050518088370092298874362681009037592196188625122315572981224194991177128873429401744822518590032460222619899201776455328421275008964802718540661150057279894295440612577536491049573080782864377874622776234613298364715550893080949114143209785033659924082815743252991847377778700561937977422957010518901421931815764048145995626364111721402180912775386761174155218916089660732304383126107855204842939693161361868961054956527862594772230320484790983603321248529162146887406952926899823031228238066574896617651281612431798536920451254253367840307780569145207459756256869609581345940510891417019518385432938905041504868514015479009701753733401579557244625934253042752356108474380926605940360562546102812324859922689174724671888140174635601449982731733795504582650770057457967861918157212977026503619296194971346271747697915831892710103688695992184894763340979141538777642759994117609342781861826044191707687361114722178855884479969719079203343265780029097775332007092364311045450404738946031438758021708415601154495361300799198696318770523388270681242406662669070670250690912176505099022772786789088188995249417883678307662177942958812723400480355437462320309325267203625489405222153294743987473954688375183064328469901962161181781502255346132529313392237711225353947891381431098494980121522781506928023644630975773157251458866154603922160227861496787762905838080717797713801645020042358844049174062665638396612568650561890715667541605717815747513999116711205216253173553007902314527340358184494965067414030662655650475759678216508990701608548102537408551430824411472144293065529647299082032703089186865434813505952121123961342968874304699218778290135746747432140644489914685155731089331662369292312779482589525724414759005819216219904879437796885788070451728413436485483226636201 1835089351472151096639260187184835888264788743470858726001754416244125748986547106870442246022499394660839055410168011462461775225331272100730570085281867066979347462930223547770167173032318002463197389267785591616126573944139586068908822993834250409186045513965547822759833768711067637061496978234170597661380581718726010228964079009514467563369244644688914022706445438395235843881064723952839445946752838474684257311704444365432944222640075233890925241191236646182403049319910799814183584462799595182561767673500969993892999970534417001405741703258992571472990349214192284761929787223002497803325905725705237171206750485870516403765629539433604476730970380506899142668804831380320846305769010907283076427126910316019981649626867520429691631439658179186625257596916010147151164422495572682504863536016466422214843848327025826636044788162490231644004309979166708113387429055730621491854978628047899713292281565970534958966064609674400619356834787989209271602921492793789180273524413860175440408360794071724926524918638798983904442050885507339871655913747232177746020811298621529688232135123119972839977713281848949762433925738394589218675636041333720918985048274805625838974019643561756015251346649526908952384188688286449383638009464835106299475046299252142077500906693253370331414712438252097424170423187230038548857861191772750918676249585184272936766512296088901775414761180701955531244905818568722599323273012827618818849247496170097621018051795723216032982613463945413157693984796062205558783265776851511098705748211551545787445941844677624922515278935216352541609583639550210774457248985528521522687337336081542656109669207232525476286362577747894026146601465548684371176581737557064429056292838229375226469602031821307573077598186160212764126253494883431883177084328961755316036401170235677085137378736214319284637935985269824630298737760192199297750670798606107399564896513084033047351042052612526075273087029779297033695255260889025453526678005263091681800355274218896704511058211151269040473125006957823794573095233589408648912566970367183651380517717113039494180557571464617838379987697712574246785938139751742893671893593457344098040730142683714641862421394891512741103662145391041350243579389277301876585429510665423990975110075027888772878196954885932672853810538875073607402299793756811373180643265713947225576117668217092667458140137318673209336631095774070704054028351356740610586152571979041063872902869009687031830349783014031807993534320449482457977953367243291506445412400972238094908185493950982567793882238923289990384605475211431937445266380101199689337966365826204939663967120462561862858601113384816536976684747424240228568529913741670472344500177093944003047377861989393912983244031836564436800954527477541836795350873627139860750147108992333252594079271551221225399930909524195022501166550461838004521626419443216407872100019545287916081373632469416910262550628525208904203405586279294648434394515938016210748099015964079615389481128728418332948026092997695392435509667609711070924997025746593120382169358937488048621007902946096275830506280410301161467720094930794670262119960787018232121774650334773805186041324320962174306658918090726598567353354165313724908381708831117466357813622154774297903960463917926699478524824348078031666850174156601553329682202263226905021729842766452712585921854426827927866776166133084962687262966743904562247173970279708603730315521497459569861832922360764268943195855316152292179064184606138525672773541276134700427766248490786240000357334758139940128598945193341668517191432264834889410355054449976948809880233901880017367091795908635659244736977583733443604203 2969236943074942360497858002083417082667937079253182760960070268442331787151680680623699361399721427978061721906456337213541818001759206063534506681409422145629141686194527214426532769300536022855108782505555985821011287685696118711518513815208869455573649956948495163538649745785167819938515808137590446984245663145393901437335204355124797755047778094472979036424502624840986091174747728472370315690302687973499105484538278199694381070423006690990890206643416096542490087759183280103984693509733266408671679713019018825349643519648633030467442452214268080116827881769235120086264177137343313777076058602816521529191296691324301963490350084549098496384478423087592247227313740199162192320733810755066809351536095169273470586652828230829627989201658275523428724163652925795978926979841005199528487949208562268108744879175157485051774286194255379959657054227499272790359240250099886805292224509453288476243822227985014111982439509830210174384383249509643983091173133756466991195411015137066678519067351629566720675559706280757976305418201125368785301978609019008206076032505979025128782996617044588854609079596172978664273490633036899280169433000829922121215365161581446265248250841448721207384253537671266392788646817560621323305194572957946091023635945285916954934827041819948054671643804160709307590895320720953218327032746881695991433628850844043315524634826674493372643041106076424824756798666936827060240128620779646949681218169134612035046379317738883340766382020779315053252618965068113102327548477029049607175606459251748682015348108100736568735978832243019868936983283277356242695290792117656749441719125172359168773375951662252772438003117086869488664662859539532578507899166749335457731291172383049873146246581761388058797133021323900545175413530581445024660425001038788579112918281467010500885414864852782237309852463850292074628776460361407348268759168698406273927577522121625243539667174928099056497282020956425907124657005711544043559138227882990883576810602640171713475860929691930190530404901253264407150631724638981729695431348241806427615131015477755045073638520578761048165021357636657062529191131599120672372455531434767055051249044105646457626469540887139105215383547571954125630340563432520792675090242969807117082965279870828466039558823846987629381673133647303927887090777360132621709805412601354178503017491248320905524715033936324490949062894310991155308281719197048391155297779438797320742512450355627542721766802532417240932439361954350971993432376945045239846991958216864029161228246307091042174808844863650552930708287536291860134441104773087829512601967276187671397762625045212632916059081246734694189661773927859524763501260013418170260332069804047691743370046884157253962385570614207196795072136820323698621395065334827221864869287848217732563798350754564491179960007299527029593530861507288409260572450881974429580515620699783277382172831165735680785938899206451310866074656949545339346571021037038983534888104153074864807364807036080510890984905721095872790947129930020396192200651235998342535464102924962003309383086010424745732468441592082663723066227460108062499831186140966123503205748829753926708822831248985818937634691247978057433507958087473952769878496594023304438531419868575942924002822761975873541190462744690600317412064872269094935400018010740904138441047982705886138929756741355268224960661098152376717925622394380321925390479270410212278418058906011000686244394505057334472843154398184995268251050040952031624894665237477669302070947709564530136104082190280584618513630349072757848853801557147668892944580174391707815699450121784896804888681696706110973150414069216670240404 4804326294547093457137118189268252970932725822724041486961824684686457536138227787494141607422220822638900777316624348676003593227090478164265076766691289212608489149124750762196699942332854025318306171773341577437137861629835704780427336809043119864759695470914042986298483514496235457000012786371761044645626244864119911666299283364639265318417022739161893059130948063236221935055812452425209761637055526448183362796242722565127325293063081924881815447834652742724893137079094079918168277972532861591233447386519988819242643490183050031873184155473260651589818230983427404848193964360345811580401964328521758700398047177194818367255979623982702973115448803594491389896118571579483038626502821662349885778663005485293452236279695751259319620641316454710053981760568935943130091402336577882033351485225028690323588727502183311687819074356745611603661364206665980903746669305830508297147203137501188189536103793955549070948504119504610793741218037498853254694094626550256171468935428997242118927428145701291647200478345079741880747469086632708656957892356251185952096843804600554817015131740164561694586792878021928426707416371431488498845069042163643040200413436387072104222270485010477222635600187198175345172835505847070706943204037793052390498682244538059032435733735073318386086356242412806731761318507950991767184893938654446910109878436028316252291147122763395148057802286778380356001704485505549659563401633607265768530465665304709656064431113462099373748995484724728210946603761130318661110814253880560705881354670803294469461289952778361491251257767459372410546566922827567017152539777646178272129056461253901824883045158894778248724365694834763514811264325088216949684480904306399886787584010612425099615848613582695631874731207484113309301667025464876907837509330000543895149319451702687586022793601067101521947788449120116704927514220553606646019429967304513673492474035205658290890709227540625131770369050735722940819912266600569497085816233146082565377165876859068417986919140843199231003529908211088201723726958228390378607998318608990078995648732590794539254196092043378886545009055349231309315129271350863566044349124892111153091979186789361099488890935778651846319045692962995475873919952709822669260519753635231108058075354898717238917755778732920302235483672522377535289390571116943994890448678315301404079135159465413572982855171254997700285693990085061859362310070553789001741450351417838384615415319365314574552116585546449048925973682403833429971385744188336746292404359189102124069413740258073609968691083786940543315313762747723797579707484874287518850568333102392611061729745507774495774660194631551231166346521352099753332031173755088642604832246897991694790747908873551166945629602450771633596026664297865535416745938961967082615016396840550985157877622305785716579890916823722052094697411969126413782198870325190837452615640245071193463546463635152591048489527731660215069480243228839987780965536975055194282987120117154480196845935764498843839010998718791265226456797539731467117197676982591462917633461862450051930390988956521021562974722002383825190786322390902732761951146927984355624980399164527731894864155569947993244293609338704656000861312252787677678260205425140770796345042023350240827963286679902573019715287092768631984262239028870648265082220273967809160170890749158598724851611168183196091736827231237339405188589138284884172564449550118816008733580403470570548077316865821603416039009714337287447315234647090557297668206513612369729837196200350770136461416948420524747112575542414426366045233821982558303299634624368656625579684023664914171980477605341770217887391652950113844607 7773563237622035817634976191351670053600662901977224247921894953128789323289908468117840968821942250616962499223080685889545411228849684227799583448100711358237630835319277976623232711633390048173414954278897563258149149315531823491945850624251989320333345427862538149837133260281403276938528594509351491629871908009513813103634487719764063073464800833634872095555450688077208026230560180897580077327358214421682468280781000764821706363486088615872705654478068839267383224838277360022152971482266127999905127099539007644592287009831683062340626607687528731706646112752662524934458141497689125357478022931338280229589343868519120330746329708531801469499927226682083637123432311778645230947236632417416695130199100654566922822932523982088947609842974730233482705924221861739109018382177583081561839434433590958432333606677340796739593360551000991563318418434165253694105909555930395102439427646954476665779926021940563182930943629334820968125601287008497237785267760306723162664346444134308797446495497330858367876038051360499857052887287758077442259870965270194158172876310579579945798128357209150549195872474194907090980907004468387779014502042993565161415778597968518369470521326459198430019853724869441737961482323407692030248398610750998481522318189823975987370560776893266440758000046573516039352213828671944985511926685536142901543507286872359567815781949437888520700843392854805180758503152442376719803530254386912718211683834439321691110810431200982714515377505504043264199222726198431763438362730909610313056961130055043151476638060879098059987236599702392279483550206104923259847830569763835021570775586426260993656421110557031021162368811921633003475927184627749528192380071055735344518875182995474972762095195344083690671864228808013854477080556046321932497934331039332474262237733169698086908208465919883759257640912970408779556290680915013994288189136002919947420051557327283534430376402468724188267651071692148847944569272312113540644954461029073448953976479499240131462780070535129421533934809464352608874358682867372108303429666850796506610779748068549584327834612622139934710030412985888371844320402949984238416804656326878208143228230895007557115360476665790951534429240534949601504260516142343461935609996605038225141040634769545704957314602579907931617156806169681463176481348477076616600254090916655582582152650713734478507570205191322191234756884396053014670591789750837392896748130856635705357927769720942117273883388078866289858413044358184401964818121133381986139396317405966153230641986565164652143499928650591096246022050284015657714148589647375348363170300378580282459492370552987128690719275878285925356008295279959278095532433768506812865164316702039386534117955757708420908015173064978830391098801118189234038141004296794304479885684688768717721675973060350207759850924123249081688228273476414823042771321207165267033131260944854470845719294800888271834428426938111525935554900178385327127536558012094177817875224270229345004210742800579354729995904439887138017403927469751863309398328218589805453097564787412055239774074966945767295443163594466488913852549851010795261782333068950479128186147994281658603686986818933812181928300586682713434369270340261630448138702019164075234876461891926183751966109441878446560905749837459232301674303901139743200482238284708713298611938731864484863781367909538464316697488329389716123114211532665206097954928820529028287151639309481571234321711370878937888882164112522282715566284688042588922562871751090039031908143909915300272565499138701109365626205891487184214899035379130227196244214798760364441279134145449810976869159302047881191037805722166784085011 12577889532169129274772094380619923024533388724701265734883719637815246859428136255611982576244163073255863276539705034565549004455940162392064660214792000570846119984444028738819932653966244073491721126052239140695287010945367528272373187433295109185093040898776581136135616774777638733938541380881112536275498152873633724769933771084403328391881823572796765154686398751313429961286372633322789838964413740869865831077023723329949031656549170540754521102312721581992276361917371439940321249454798989591138574486058996463834930500014733094213810763160789383296464343736089929782652105858034936937879987259860038929987391045713938698002309332514504442615376030276575027019550883358128269573739454079766580908862106139860375059212219733348267230484291184943536687684790797682239109784514160963595190919658619648755922334179524108427412434907746603166979782640831234597852578861760903399586630784455664855316029815896112253879447748839431761866819324507350492479362386856979334133281873131550916373923643032150015076516396440241737800356374390786099217763321521380110269720115180134762813260097373712243782665352216835517688323375899876277859571085157208201616192034355590473692791811469675652655453912067617083134317829254762737191602648544050872021000434362035019806294511966584826844356288986322771113532336622936752696820624190589811653385722900675820106929072201283668758645679633185536760207637947926379366931887994178486742149499744031347175241544663082088264372990228771475145826487328750424549176984790171018938315800858337620937928013657459551238494367161764690030117128932490277000370347410013293699832047680162818539466269451809269886734506756396518287191509715966477876860975362135231306459193607900072377943808926779322546595436292127163778747581511198840335443661039876369411557184872385672931002066986985281205429362090525484483804901468620640307619103307433620912525592532941825321085630009349320038020122427871788764481538912683037730770694175156014331142356358308549449699211378328652537464717675440810598085641095762486911427985459786585606428480659344123582030704665518821255039468335119681159449674300847804461153781218989361235207417684368656604251412444442797853474933497945077378180468852166131196129750240269333199115989668262943875070381312828233852640478692058998465871919594020611490702769231956986661287810179148051490425376446319891520450874481114874032901860304626394638198482274474089973343089086256691825999973625315338784386726762017831936203865321718732431800676595068277300055726823238262112191012437531639561335813031739455293856074521662867213738633480972893521222116060761624465379470509837156522354816632059031427563607523595455469996563600031081324865864631259587853644775515750463987125465416054769454886943258761387094902081529319702879553595366135924339741840946971133782925685445541236824970191532356104485746901189925664309265758436040862882917954669771741005035143407225314908502094987149372100862344387383825201056678565078198569006903158678403243860725009483330426596005201181268370731026649862107170165063923466788858417885596850314104638872241913528023733479996934834753166547158809390498551142388881805426221909925387369435230582593049308126398907444304846031221503915276424579929396121781019580621036930227864285936542930010391465564458558676522458782829481023083588632979077721660408434315560627055528302800670950090270519378370647844295885219712952141782399028236700541304921173826859570162881519335133146220231078264702408761745340110266070409026916087121634112738781433901610580944269201112785499543849423129021066858818169114725148849636907389651408925197375116897929618 20351452769791165092407070571971593078134051626678489982805614590944036182718044723729823545066105323872825775762785720455094415684789846619864243662892711929083750819763306715443165365599634121665136080331136703953436160260899351764319038057547098505426386326639119285972750035059042010877069975390464027905370060883147537873568258804167391465346624406431637250241849439390637987516932814220369916291771955291548299357804724094770738020035259156627226756790790421259659586755648799962474220937065117591043701585598004108427217509846416156554437370848318115003110456488752454717110247355724062295358010191198319159576734914233059028748639041046305912115303256958658664142983195136773500520976086497183276039061206794427297882144743715437214840327265915177019393609012659421348128166691744045157030354092210607188255940856864905167005795458747594730298201074996488291958488417691298502026058431410141521095955837836675436810391378174252729992420611515847730264630147163702496797628317265859713820419140363008382952554447800741594853243662148863541477634286791574268442596425759714708611388454582862792978537826411742608669230380368264056874073128150773363031970632324108843163313137928874082675307636937058821095800152662454767440001259295049353543318624186011007176855288859851267602356335559838810465746165294881738208747309726732713196893009773035387922711021639172189459489072487990717518710790390303099170462142381091204953833334183353038286051975864064802779750495732814739345049213527182187987539715699781331995276930913380772414566074536557611225730966864156969513667335037413536848200917173848315270607634106423812195887380008840291049103318678029521763118694343716006069241046417870575825334376603375045140039004270863013218459665100141018255828137557520772833377992079208843673794918042083759839210532906869040463070275060934264040095582383634634595808239310353568332577149860225359751462032478073508305671194120020636709050811224796578375725155204229463285118835857548680912479281913458074071399527139793419472444323963134595214857652310583092217208228727893707909865317287658755965069881321008053003770077250832042877958437545867569378435648579376213719611889110233749387904174032894678882440984994509593131739746845307558340156624437808648832384983892736165469797284861740461642353268071097228090956860148612569243440460892882529997995581637642082755207758877167888703493650055463787534946613131109795331270858807198809099883361704181628642799771120202233901021986455100718571196994001034430530697713388402914255690941088122735807357863315755113008004664169038215576908933859553175980714486613748753156098746388123081878363111912018309523096041292102268335160880302070467858983820388968008761659948580729294378224266534244003493027947555555691574787766218088420601229568426486132099592765070220215471153958921956059867741512739521371518878162134780135154985053236929134717346381607883266940590043585610642036038652999243549918737568657613170205267421365657553299002807598565541261264652479235193735994333419771073823828591437274162409939138890412556153861049191316803018491422092924323285515813065885313881352695153091049102238129207815617608150210512070082869599852933310938574537609463468921266097965807202608331895505563659466141526786767687096587610846831150134666046696843385235757394768212887568452414346987260124725131803890016771651417012203615296368474307191176872583036859022433713016720739607579479193803337939381852878447804023175735142793950015792447793653484020181370681592415225822743478364987325388794795843304580243012695788064221889385508137952314564536125718796209437532599963003097283682014629 32929342301960294367179164952591516102667440351379755717689334228759283042146180979341806121310268397128689052302490755020643420140730009011928903877684712499929870804207335454263098019565878195156857206383375844648723171206266880036692225490842207690519427225415700422108366809836680744815611356271576564180868213756781262643502029888570719857228447979228402404928248190704067948803305447543159755256185696161414130434828447424719769676584429697381747859103512003251935948673020239902795470391864107182182276071657000572262148009861149250768248134009107498299574800224842384499762353213758999233237997451058358089564125959946997726750948373560810354730679287235233691162534078494901770094715540576949856947923312934287672941356963448785482070811557100120556081293803457103587237951205905008752221273750830255944178275036389013594418230366494197897277983715827722889811067279452201901612689215865806376411985653732787690689839127013684491859239936023198222743992534020681830930910190397410630194342783395158398029070844240983332653600036539649640695397608312954378712316540939849471424648551956575036761203178628578126357553756268140334733644213307981564648162666679699316856104949398549735330761549004675904230117981917217504631603907839100225564319058548046026983149800826436094446712624546161581579278501917818490905567933917322524850278732673711208029640093840455858218134752121176254278918428338229478537394030375269691695982833927384385461293520527146891044123485961586214490875700855932612536716700489952350933592731771718393352494088194017162464225334025921659543784463969903813848571264583861608970439681786586630735353649460649560935837825434426040050310204059682483946102021780005807131793570211275117517982813197642335765055101392268182034575719068719613168821653119085213085352102914469432770212599893854321668499637151459748523900483852255274903427342617787189245102742393167185072547662487422828343691316547892425473532350137479616106495849379385477616261192215857230362178493291786726608864244815234230070529965058897082126285637770369677823636709387237831491896021953177577220109349656127734163219751551679847339112218764856930613643066263744870323863301554676547241379107530839756260621453846675724327869497085576891539272614106071592707455365205564399322437763553799460108225187665117839581659629380569555904728271072030581488420958083961974275658633358282762736395510360090182173145095405583885304613947893455500925883335329496967427186497882220065837225851776819451002997670596102707830753440211641176367881953525654375368693676347494568301860738690701082790647567340526069501936602674510377621478216897960238400717928544077340950659648815697723805157443902101549183849685020227596615304724096479758365349731950298772947914890814317078669689847747408123480783163792622056439334606017191349254079644367497296692711704271877476004625063324705799464250811672969997600264336277655007945625186992835956944540747986392922019599913044996995406324099930735751868009710757243944505125377488718524162590338620952342194559618087136269580104202813879345012278934788167117123130294334837851309249293062820148634519242311900439600789271596697423034372120437457452304830435526360246700936516907773767297319469722479032911824901685440485722147823697914960873547389761160526131611155402061758216177597693910652041047326064981785133566119450643827179719812874565386638993685561824716878922078735385854799119767844280020498724511766241423041329323358308881363025028280494856555398824130447441090619331312944377591103768759290405376787573781355798195331913645018406574996770483679261274568433116827184008888200472400579944247 53280795071751459459586235524563109180801491978058245700494948819703319224864225703071629666376373721001514828065276475475737835825519855631793147540577424429013621623970642169706263385165512316821993286714512548602159331467166231801011263548389306195945813552054819708081116844895722755692681331662040592086238274639928800517070288692738111322575072385660039655170097630094705936320238261763529671547957651452962429792633171519490507696619688854008974615894302424511595535428669039865269691328929224773225977657255004680689365519707565407322685504857425613302685256713594839216872600569483061528596007642256677249140860874180056755499587414607116266845982544193892355305517273631675270615691627074133132986984519728714970823501707164222696911138823015297575474902816116524935366117897649053909251627843040863132434215893253918761424025825241792627576184790824211181769555697143500403638747647275947897507941491569463127500230505187937221851660547539045953008622681184384327728538507663270344014761923758166780981625292041724927506843698688513182173031895104528647154912966699564180036037006539437829739741005040320735026784136636404391607717341458754927680133299003808160019418087327423818006069185941734725325918134579672272071605167134149579107637682734057034160005089686287362049068960106000392045024667212700229114315243644055238047171742446746595952351115479628047677623824609166971797629218728532577707856172756360896649816168110737423747345496391211693823873981694400953835924914383114800524256416189733682928869662685099165767060162730574773689956300890078629057451799007317350696772181757709924241047315893010442931241029469489851984941144112455561813428898403398490015343068197876382957127946814650162658021817468505348983514766492409200290403856626240386002199645198294056759147020956553192609423132800723362131569912212394012563996066235889909499235581928140757577679892253392544824009694965496336649362510667913062182583161362276194482221004583614940901380028073405911274657775205244800680263771955027649542974289022031677341143290080952770040844938115131539401761339240836333185179230977135787166989828802511890217070656310724499992078714843121084043475190664910296629283281563734435143062438841185317459609243930884449879429238543880241539840349098300564792235048415539921750578455736215067672616489529182125148168731964913111486416539721604057030866392235450651439889160415553969708091708536693680635884806700654310025766697033678596069986269002422299738247838231920169574194664597137138361451153600044090623572894613777111176051539663249681309865402859739298367556501200079245482651089288259130777576963286083320279081040456095650473755690107799992140318324204172017042833505409195605376964672677209052743573998484542776440942838369872770244477613965496544082012732219108188538927371087411564725233603289453356560453217011398847523503225459485934619235864909899132317610717885538274886215230578446598980579400985636471938337481702610165611591521296393305167012518355809485766390029967953717898584672040723416018388209524410431990043341704291901166139983979483920141621716427762174594765106128705462515871937464991488703027400804513040642522330949527535174430288459671185275474126371242688563417435529681641243720407249099951863674610465602057461158236592310660797657852245446993973572365906798220493461673052241909858697923340660598831136825078180683007467992753001589461958937757819567815840507451859499692527849705623275919777127381484616505818978296287304349052308150628811772211746538767121069468756084679200172630878361598810891119977866907792083134722798243797400287229326264716608851203569684261958876 86210137373711753826765400477154625283468932329438001418184283048462602267010406682413435787686642118130203880367767230496381255966249864643722051418262136928943492428177977623969361404731390511978850493097888393250882502673433111837703489039231513886465240777470520130189483654732403500508292687933617156267106488396710063160572318581308831179803520364888442060098345820798773885123543709306689426804143347614376560227461618944210277373204118551390722474997814427763531484101689279768065161720793331955408253728912005252951513529568714658090933638866533111602260056938437223716634953783242060761834005093315035338704986834127054482250535788167926621576661831429126046468051352126577040710407167651082989934907832663002643764858670613008178981950380115418131556196619573628522604069103554062661472901593871119076612490929642932355842256191735990524854168506651934071580622976595702305251436863141754273919927145302250818190069632201621713710900483562244175752615215205066158659448698060680974209104707153325179010696136282708260160443735228162822868429503417483025867229507639413651460685558496012866500944183668898861384337892904544726341361554766736492328295965683507476875523036725973553336830734946410629556036116496889776703209074973249804671956741282103061143154890512723456495781584652161973624303169130518720019883177561377762897450475120457803981991209320083905895758576730343226076547647066762056245250203131630588345799002038121809208639016918358584867997467655987168326800615239047413060973116679686033862462394456817559119554250924591936154181634916000288601236262977221164545343446341571533211486997679597073666594678930139412920778969546881601863739102463080973961445089977882190088921517025925280176004630666147684748569867884677382324979575694959999171021298317379269844499123871022625379635732694577683800069549363853761087896550088145184402662924545927946822782634646559729896557357452919164993053827215805487656115511499755810588716853963000418517641220289263141636836268497031527289128016770261879613504254080928759467428927851322447864481647502369370893657361194013910405288580633263521330209580354191737556182875075581430605721781106865954367338492219586843870662389094574191403683892687861041787478741016461341418701852649951834247295714303864964114672811969339381858803643401332907254276118909751681052897003036943692974837497805566031306525025593733414176284670775644151881236803942277565940498754594109810951650032363175563497172766884642365575473690008739620577192335193239846192204593811685266991454848139431486544745216010744249611726141550440381158204068540605314984587691962769508399055180184043558679798969000172991424415338923497715945475768106273566226683190429423201992269396773688811108923730434841549388857729184189848914167461712904667562795896011730244978261977104602913979313247656950653253164921283276323528128288784191734083486676582869129917875054163193282831840417571282555925120148972029393957937394747607161017915621227129057035022229113053430271515407456672242061175010661675758212947827611546701570147544518171246178418918767651037264752010762600025904014399191525611150391179776891928303816672401210463676894451386984987479260723986031431976410643279016455860736905252160674155545308934540437585822434163517018334705626353471186929269007647508752189749963600708872534508999117223694992264042791304426010856637952746069646461678314826306340881016493205422614960275296139520191252361471864698961106450739793497868844006576782160904451132281076252862831077851711498660572524843969605549418452142954609086451891511926198658131493281923058674855662443091900617739404042084841903123 139490932445463213286351636001717734464270424307496247118679231868165921491874632385485065454063015839131718708433043705972119091791769720275515198958839561357957114052148619793675624789896902828800843779812400941853041834140599343638714752587620820082411054329525339838270600499628126256200974019595657748353344763036638863677642607274046942502378592750548481715268443450893479821443781971070219098352100999067338990020094790463700785069823807405399697090892116852275127019530358319633334853049722556728634231386167009933640879049276280065413619143723958724904945313652032062933507554352725122290430012735571712587845847708307111237750123202775042888422644375623018401773568625758252311326098794725216122921892352391717614588360377777230875893089203130715707031099435690153457970187001203116570724529436911982209046706822896851117266282016977783152430353297476145253350178673739202708890184510417702171427868636871713945690300137389558935562561031101290128761237896389450486387987205723951318223866630911491959992321428324433187667287433916676005041461398522011673022142474338977831496722565035450696240685188709219596411122029540949117949078896225491420008429264687315636894941124053397371342899920888145354881954251076562048774814242107399383779594424016160095303159980199010818544850544758162365669327836343218949134198421205433000944622217567204399934342324799711953573382401339510197874176865795294633953106375887991484995615170148859232955984513309570278691871449350388122162725529622162213585229532869419716791332057141916724886614413655166709844137935806078917658688061984538515242115628099281457452534313572607516597835708399629264905720113659337163677168000866479463976788158175758573046049463840575442834026448134653033732084634377086582615383432321200385173220943515673326603646144827575817989058865495301045931639461576247773651892616324035093901898506474068704400462526899952274720567052418415501642416337883718549838698672862032005070937858546615359419021248362669052911494043702276327969391788725289529156478543102960436808572217932275217905326585617500910295418700434850243590467811610399308497199409156703627773253531386305930597800495949987038410813682884497140499945670658308626546746331529046359247087984947345791298131091193832075787136063402165528906907860384879303609382099137547974926892608438933806201065735001856804461254037527170088337391417829184065616173831191198121589328512478971246576383561294764120977416729396854159567159035887064665313721528240659790151386999790376984553655747411729357615027742753208597720796755673993930921591544410179679525760569740684560467238781251028639176632143470126878958880009456268641898171029031297708085794092310445583269516695838618807369234069450897863852497728919384325829800567554062619158645075678401211644808628230838433517189348192014478704546850946404009813618138294675171051631514243677668702722541492768262235485772048731557718055648149729154905699549957665865896274876450217326629507142523522362202034747468862916037905437424625959959759682702399174231336037135957133560190886222463147344558902747134957406373727190362200498779505320231073666263117241883417006844073205723504319416782336512522653691012445702617251884769650259144424154340781842315399265716183640389449497044629119075795863862945781847726926859892955746163322329507507093027970672169465604850961966131965024841993463030926752653929671067827895802839954251024990430800782747999019883780211177487974880883578121278114374662984873069465253503440431705064635042824390478619730041280928648805722049330504553419977571869378833990741266216080166856075142891769356617226590607611769103861999 225701069819174967113117036478872359747739356636934248536863514916628523758885039067898501241749657957261922588800810936468500347758019584919237250377101698286900606480326597417644986194628293340779694272910289335103924336814032455476418241626852333968876295106995859968460084154360529756709266707529274904620451251433348926838214925855355773682182113115436923775366789271692253706567325680376908525156244346681715550247556409407911062443027925956790419565889931280038658503632047599401400014770515888684042485115079015186592392578844994723504552782590491836507205370590469286650142508135967183052264017828886747926550834542434165720000658990942969509999306207052144448241619977884829352036505962376299112856800185054720258353219048390239054875039583246133838587296055263781980574256104757179232197431030783101285659197752539783473108538208713773677284521804128079324930801650334905014141621373559456445347795782173964763880369769591180649273461514663534304513853111594516645047435903784632292432971338064817139003017564607141447827731169144838827909890901939494698889371981978391482957408123531463562741629372378118457795459922445493844290440450992227912336725230370823113770464160779370924679730655834555984437990367573451825478023317080649188451551165298263156446314870711734275040632129410324339293631005473737669154081598766810763842072692687662203916333534119795859469140978069853423950724512862056690198356579019622073341414172186981042164623530227928863559868917006375290489526144861209626646202649549105750653794451598734284006168664579758645998319570722079206259924324961759679787459074440852990664021311252204590264430387329768677826499083206218765540907103329560437938233248153640763134970980866500723010031078800800718480654502261763964940363008016160384344242241833052596448145268698598443368694598189878729731709010940101534739789166412180278304561431019996651223245161546512004617124409871334666635470165099524037494814184361787815659654712509615777936662468651932194548330312199307855258519805495551408769982797183889196276001145783597665769808233119870281189076061628864153995756392243662829827408989510895365329436406461887361203522277056852992778152175104083984370608059752882817950430224216907401034566725963807132716832943843783910034431777706030493021580672354218685468185742538880882181168727348685487253962738038800497436091535332736119643916443422917479792458501966842273470565316421248812516882315888873931929066761760029723064331802771707030889195218249399410728579334983616830745860341223414624606482590892640084265541971684738180533317685960620060683964638281289875451826473213798147575687323654170437638678978456441633322586367954795424031269860416719149496199886268042009361503466224586674961421459354225875218658296738252468072812537391305879207604524242568678495451325296617392683860098603354663066783059577951494579759803027869402786209218075637392153360826211924840549896065721011710830819698929695259854212271197824487647422763750651419237056976581916346309420844881298202020934693364074932444283864747503835130338430740634393522977821514785994671125737952962226402793904511756684816654297018775345310660745606933967996311233723497510132951736431734049228295412929275600284891246034002989554811025118180827035319478792636094130569489299253034656195867540464498353072293108215965562479671286689299843226008923269450852850100983672822300391349382654202143720970744230413045761058044138540075032572649352673841990028861071612243506991449851626157954572712781317497873902242190118390613805772618411271467782647508029064023760890760189399397709362089914749998554212448517844330011653853945765122 365192002264638180399468672480590094212009780944430495655542746784794445250759671453383566695812673796393641297233854642440619439549789305194752449335941259644857720532475217211320610984525196169580538052722690276956966170954631799115132994214473154051287349436521199806730684653988656012910240727124932652973796014469987790515857533129402716184560705865985405490635232722585733528011107651447127623508345345749054540267651199871611847512851733362190116656782048132313785523162405919034734867820238445412676716501246025120233271628121274788918171926314450561412150684242501349583650062488692305342694030564458460514396682250741276957750782193718012398421950582675162850015188603643081663362604757101515235778692537446437872941579426167469930768128786376849545618395490953935438544443105960295802921960467695083494705904575436634590374820225691556829714875101604224578280980324074107723031805883977158616775664419045678709570669906980739584836022545764824433275091007983967131435423109508583610656837968976309098995338992931574635495018603061514832951352300461506371911514456317369314454130688566914258982314561087338054206581951986442962239519347217719332345154495058138750665405284832768296022630576722701339319944618650013874252837559188048572231145589314423251749474850910745093585482674168486704962958841816956618288280019972243764786694910254866603850675858919507813042523379409363621824901378657351324151462954907613558337029342335840275120608043537499142251740366356763412652251674483371840231432182418525467445126508740651008892783078234925355842457506528158123918612386946298195029574702540134448116555624824812106862266095729397942732219196865555929218075104196039901915021406329399336181020444707076165844057526935453752212739136638850547555746440337360769517463185348725923051791413526174261357753463685179775663348472516349308391681782736215372206459937494065355623707688446464279337691462289750168277886502983242587333512857223819820730592571056231137355683717014601247459824355901584183227911594220840937926461340286849633084573363715872883675134818737371191484494762063714397586224203854062138324608398667598993102689937848193291801322773006840031188965857988581124870553730411191444497176555745953760281654710911152924014964035037615985821567841108196021928488532739097989077567841676428857108061335787619293455028473040657301897345572859906207981307861252101545408632333158040395059893828900220059093265877183638052906483491156883882631490838658771696202916746490059200879966334773993815299516088635143982221510333645848681986338727358732111454909230370799740209725208021974435919065254464826786752319467124297316597558987912710275220757396986093132117063952727164732765716582106660816730737535675484538813919188273610201048458864292315087231457613069707090852413152473407112012640673488631871388406949549758672880401197872626665631391317271547071488931759568405654388846598260656398267951713870740865736519248887361125750487147648041814276929906274173781439091724050779262347326282305924161980694376066474106675619901883460968690529316963097540867536724261920952077499465143324426901573409831987758482917414260658762317504818812657472315728016060010032786642748877436666480180182579534744709045586815845304954076741301821216484816523421755169926433352245034882383122727433420244516394622615723058590450343456154904694187975055234475694843564014599574954321020450482097946560924995255403476561840792137559958812783826840648722873606982349726618169976322921091411458013144486382132916726632668738120655086701267216993517113152061449041595630269594180140663925442256770825141445981805135070920619265623049627121 590893072083813147512585708959462453959749137581364744192406261701422969009644710521282067937562331753655563886034665578909119787307808890113989699713042957931758327012801814628965597179153489510360232325632979612060890507768664254591551235841325488020163644543517059775190768808349185769619507434654207557594247265903336717354072458984758489866742818981422329266002021994277987234578433331824036148664589692430770090515207609279522909955879659318980536222671979412352444026794453518436134882590754334096719201616325040306825664206966269512422724708904942397919356054832970636233792570624659488394958048393345208440947516793175442677751441184660981908421256789727307298256808581527911015399110719477814348635492722501158131294798474557708985643168369622983384205691546217717419118699210717475035119391498478184780365102327976418063483358434405330506999396905732303903211781974409012737173427257536615062123460201219643473451039676571920234109484060428358737788944119578483776482859013293215903089809307041126237998356557538716083322749772206353660861243202401001070800886438295760797411538812098377821723943933465456512002041874431936806529959798209947244681879725428961864435869445612139220702361232557257323757934986223465699730860876268697760682696754612686408195789721622479368626114803578811044256589847290694287442361618739054528628767602942528807767009393039303672511664357479217045775625891519408014349819533927235631678443514522821317285231573765428005811609283363138703141777819344581466877634831967631218098920960339385292898951742814684001840777077250237330178536711908057874817033776980987438780576936077016697126696483059166620558718280071774694758982207525600339853254654483040099315991425573576888854088605736254470693393638900614512496109448353521153861705427181778519499936682224772704726448061875058505395057483456450843131470949148395650511021368514062006846952849992976283954815872161084834913356668082766624828327041585607636390247283565846915292346185666533442008154668100892038486431399716392346696444137470738829360574509499470549444943051857241472673570823692578551581980596097724968152017388178494358432126344310080653004845050063693023967118033092665109241161790164074262447606779962861161316221436874960056731796978881399895855999618814226514950069205093316674545753584215309739289230063136304780708991211079457799333437108192642327625224304675019025201090835124882668530459145321468871610148193072511984835550252916913605695822641430478727092111964739458611608545669757610646045376429858558606827992924538488766251880699043470291988226916331419800893689846303264311370891727678624934328006790778467754236237966369151908543343764940888556148333813143883882261916468374702826092241001900071213775340647627836076267117161030567555304270150461012970060017676715975790508091998785249264072267048153113335947184257450578160211151120299416474275140977644043046542207424472581238817847779591752576567338947817056385604699418845866301924352670024825200676148700632695608656747127187222364001629069430549039119903766630964803820867747703731934390514545776706946748625203096286653304367314343744443299571711279434107628165564419591440312039249783507542919594485309170715708475595508810344993936832849848294508887766420002043520136002214391264057002841544287917039318594973884742869466915723939024152930014742844204537413983978503926547693664998272397254712369833136300090281895739485816522322898836276100033845356476193322564863635843421338861676967772772717569412585857267699630790628874858856511268892473885628264984895799569478105619391160354369540061634804346685575140000194253652915250630919476995392243 956085074348451327912054381440052548171758918525795239847949008486217414260404381974665634633375005550049205183268520221349739226857598195308742149048984217576616047545277031840286208163678685679940770378355669889017856678723296053706684230055798642071450993980038259581921453462337841782529748161779140210568043280373324507869929992114161206051303524847407734756637254716863720762589540983271163772172935038179824630782858809151134757468731392681170652879454027544666229549956859437470869750410992779509395918117571065427058935835087544301340896635219392959331506739075471985817442633113351793737652078957803668955344199043916719635502223378378994306843207372402470148271997185170992678761715476579329584414185259947596004236377900725178916411297155999832929824087037171652857663142316677770838041351966173268275071006903413052653858178660096887336714272007336528481492762298483120460205233141513773678899124620265322183021709583552659818945506606193183171064035127562450907918282122801799513746647276017435336993695550470290718817768375267868493812595502862507442712400894613130111865669500665292080706258494552794566208623826418379768769479145427666577027034220487100615101274730444907516724991809279958663077879604873479573983698435456746332913842343927109659945264572533224462211597477747297749219548689107650905730641638711298293415462513197395411617685251958811485554187736888580667600527270176759338501282488834849190015472856858661592405839617302927148063349649719902115794029493827953307109067014386156685544047469080036301791734821049609357683234583778395454097149098854356069846608479521121886897132560901828803988962578788564563290937476937330623977057311721640241768276060812439435497011870280653054698146132671708222906132775539465060051855888690881923379168612530504442551728095750946966084201525560238281058405955972800151523152731884611022717481306008127362470660538439440563292507334450835003191243171066009212161839898809427457120839854622078052648029902681134689467979024002476221714342993937233284622905477757588462445147873215343433120077870594612664158065585756292949168204799951787106476625786846093351534816282158273944806167823070533055156083891081246234111715520575265706944783335708814921597876147786112980746761013919015881677567459922422536878557737832414663623321425891738596397291398923924074164019684120115101230782681052548535606532165927120570609723168282923063590352974221688930703414070256150037742033744073797488327313480089250423295028711229517812488512004531604461344892518493702589049503258184337448238219426402202403443136146702219541103415054325238747289956982143451721080326257902765070833796954281862183764101161926981688265397765871048615027633050481363642822978537575555752589259835901446277315576025322882642535727763530720060912430829189382902520732672273881135460673997702872008827585455323204825842542437570963545764072737212448700931054022733237637085799493462493442303858196704417511355186566493908116201282576298998982115240424683474871004073409493146525982323445497023145795523668514425772511397064666829475258051270038627898826124668239611080205940724175732201782489125540092869945670383232248912627767265843517575706237234186607382188655778088345089702982419665693599462964507721823260004952525636146433983436193789322799422441322407304987385861538339662082743380358198999109231601959033738402242537229012871972209033390283618398036842820734741219998884739628413659992658140303033971287737242825771065479846944095693808980870599001754081763707355507527594631923979175152845258502008951630927147215021429948549680725560246603456400281446176058787986171250185100045019364 1546978146432264475424640090399515002131508056107159984040355270187640383270049092495947702570937337303704769069303185800258859014165407085422731848762027175508374374558078846469251805342832175190301002703988649501078747186491960308298235465897124130091614638523555319357112222270687027552149255596433347768162290546276661225224002451098919695918046343828830064022639276711141707997167974315095199920837524730610594721298066418430657667424611052000151189102126006957018673576751312955907004633001747113606115119733896105733884600042053813813763621344124335357250862793908442622051235203738011282132610127351148877396291715837092162313253664563039976215264464162129777446528805766698903694160826196057143933049677982448754135531176375282887902054465525622816314029778583389370276781841527395245873160743464651453055436109231389470717341537094502217843713668913068832384704544272892133197378660399050388741022584821484965656472749260124580053054990666621541908852979247140934684401141136095015416836456583058561574992052108009006802140518147474222154673838705263508513513287332908890909277208312763669902430202428018251078210665700850316575299438943637613821708913945916062479537144176057046737427353041837215986835814591096945273714559311725444093596539098539796068141054294155703830837712281326108793476138536398345193173003257450352822044230116139924219384694644998115158065852094367797713376153161696167352851102022762084821693916371381482909691071191068355153874958933083040818935807313172534773986701846353787903642968429419421594690686563864293359524011661028632784275685810762413944663642256502109325677709496978845501115659061847731183849655757009105318736039519247240581621530715295479534813003295854229943552234738407962693599526414440079572547965337044403077240874039712282962051664777975719670810649587435296786453463439429250994654623681033006673228502674522189369317613388432416847247323206611919838104599839148775836990166940395035093511087138187924967940376088347668131476133692103368260200774393653625631319349615228327291805722382714813982565020922451854136831636409448871500750185396049512074628643175024587709966942626468354597811012873134226079123201924173911343352877310739339969392390115671676082914097584661073037478557992800415777533567078736649051828626942925731338169075010107048335686521462060228854873010895199572900564219789245190863231756470602139595810814003407805732120812119543157802313562263328662022577583996990711094023136121519729150387140675968976424097057674289215107390268948352261195877496182722826214490100125445672695431363063033639341997104900628503058660848709822076655408333048681232825070034920651014092307444926867870244413731579014932497289549518856066468915219539475626966364600483529282353582693186353450197839997913991733030972448505905358693028824671059130399532941045855985344774769712773782986053693557870380020039213714856491747473261447205818875903647273054246018871197144521473896959885985339774418125635246323824182791389125316170479660820536680368889983952514927572184915427435145390576332264812370561409648565815815334845574749871335897733510308038519476645082060836819526977573835947651840352939806515627025118625831719495778097897131373597155434696919252515541893971852274141825303525088527850537698040439035333610716461759917381189730255328454063601106896310372941843313769015943012242328790230894011144369463745760116754698127124716474227036521207638464689760026503496779227293852600878669192404341523911868466526550283184859021781394497984382386451143192871649038473523486904751200405252834412590302919220787195050950141975421446370312440901421881104577040411607 2503063220780715803336694471839567550303266974632955223888304278673857797530453474470613337204312342853753974252571706021608598241023005280731473997811011393084990422103355878309538013506510860870241773082344319390096603865215256362004919695952922772163065632503593578939033675733024869334679003758212487978730333826649985733093932443213080901969349868676237798779276531428005428759757515298366363693010459768790419352080925227581792424893342444681321841981580034501684903126708172393377874383412739893115511037851467171160943535877141358115104517979343728316582369532983914607868677836851363075870262206308952546351635914881008881948755887941418970522107671534532247594800802951869896372922541672636473517463863242396350139767554276008066818465762681622649243853865620561023134444983844073016711202095430824721330507116134802523371199715754599105180427940920405360866197306571375253657583893540564162419921709441750287839494458843677239872000497272814725079917014374703385592319423258896814930583103859075996911985747658479297520958286522742090648486434208126015956225688227522021021142877813428961983136460922571045644419289527268696344068918089065280398735948166403163094638418906501954254152344851117174649913694195970424847698257747182190426510381442466905728086318866688928293049309759073406542695687225505996098903644896161651115459692629337319631002379896956926643620039831256378380976680431872926691352384511596934011709389228240144502096910808371282301938308582802942934729836807000488081095768860739944589187015898499457896482421384913902717207246244807028238372834909616770014510250736023231212574842057880674305104621640636295747140593233946435942713096830968880823389806776107918970310015166134882998250380871079670916505659189979544632599821225735285000620042652242787404603392873726666636894851112995535067511869395402051146177776412917617695945983980530316731788273926871857410539830541062754841295843010214785049152006839204462550631926992810003020588405991028802820944112716105844481915117387590858915942255092985915754250870255930157415685098793046466800989701995205164449918390196001299181105268961870681061501758908626628542617180696204759134279285815255157577464592831314605676337173451380491004511973732447186018225319006719431659211134538659071588707184680758146001792396435998786932083812860984152929037030579319688001795002470297739398838288636529260166420537171690728795711165093764846733016976333584812060319617741064508582350449601608979573682169387198494236585569678820819568735161466845963784926999440907163662728319551847875098874499209735858883100519954953741805950805691965528376488659306583997895903831874932876276071546088794851932679129344885981112317182569337430111738198077051182718953860319430728630898269211676332840375725677522453091884879335094741595549557343333011534993615043558857353602355168096987811896235995441343565803286452068940448404315469939056512989446766516739461175055341225891408315072551833682534326917822622823164906629549999645350664893946173515415966275960424595330710951103659816348843661877037390884906617085853962744400874539575508813716248762695208846864549962359619847519506330884089265567573781470542694332068953682385480085787151685500524399901672181235493434816781863648563530041053486684132023875229122933515884201239788494717641189992403263189639690731140842423000617902045980731032768123024016341672779150400373096163967537208968256520092378093103420019161637082261265140338121494963469821370855964160335531153783860775863158205339889914045775116850824191318781988913702831332400049434020251468901512755297553598375702892546371228887593131289677085430971 4050041367212980278761334562239082552434775030740115207928659548861498180800502566966561039775249680157458743321874891821867457255188412366154205846573038568593364796661434724778789818849343036060542775786332968891175351051707216670303155161850046902254680271027148898296145898003711896886828259354645835746892624372926646958317934894312000597887396212505067862801915808139147136756925489613461563613847984499401014073378991646012450092317953496681473031083706041458703576703459485349284879016414487006721626157585363276894828135919195171928868139323468063673833232326892357229919913040589374358002872333660101423747927630718101044262009552504458946737372135696662025041329608718568800067083367868693617450513541224845104275298730651290954720520228207245465557883644203950393411226825371468262584362838895476174385943225366191994088541252849101323024141609833474193250901850844267386854962553939614551160944294263235253495967208103801819925055487939436266988769993621844320276720564394991830347419560442134558486977799766488304323098804670216312803160272913389524469738975560430911930420086126192631885566663350589296722629955228119012919368357032702894220444862112319225574175563082559000991579697892954390636749508787067370121412817058907634520106920541006701796227373160844632123887022040399515336171825761904341292076648153612003937503922745477243850387074541955041801685891925624176094352833593569094044203486534359018833403305599621627411787981999439637455813267515885983753665644120173022855082470707093732492829984327918879491173107948778196076731257905835661022648520720379183959173892992525340538252551554859519806220280702484026930990248990955541261449136350216121405011337491403398505123018461989112941802615609487633610105185604419624205147786562779688077860916691955070366655057651702386307705500700430831853965332834831302140832400093950624369174486655052506101105887315304274257787153747674674679400442849363560886142173779599497644143014130997927988528782079376470952420246408209212742115891781244484547261604708214243046056592638644971398250119715498320937821338404654035950668575592050811255733912136895268771468701535094983140428193569338985213402487739429068920817470142053945645729563567052167087426071317108259055703876999519847436744701617395720640535811623683877339961471446105835267770334323044381783910041474519260902359222259542930262070045107131399762231351175098534527831977213308004535330538596913474082897201738055219676373585723128708724069310063167470660682627353110034676125430415198224980804495623629989877218419677293547794305862272769498225097624855582244864611654401787605031896992355265230720973866795583890368378991015662722177092860923900913609606732088193496580653417616526809685318460802960010984480962398029783038215723591514186122857327841000100288578382014392141934526556089414842698377124880870770797949929553311723585842500166925432195877576917144875388893094039570985480046252485747365305274958537173456952452553068946647347698018675315815830325714482853884305950228475352167515626378538805206925175926689407952294555182901669297589975624410911406547226556801214685491946610799179146825093342278535929618507380297097567812957900673178163577982918525282655959096820924696777387406669056005473867055129581337221830064314264456544232345961157169684447896518446466864296536001104082685736769633845058223059822999017035160711136524910517127794291092253683195293041300016557793180045665133861488558992939000164155874162894767832626862081436968719797644552703324272300496918309722473229792305475818454031737652883846610554388122299950348503740351124338916683669789015012394254125842578 6553104587993696082098029034078650102738042005373070431816963827535355978330956041437174376979562023011212717574446597843476055496211417646885679844384049961678355218764790603088327832355853896930784548868677288281271954916922473032308074857802969674417745903530742477235179573736736766221507263112858323725622958199576632691411867337525081499856746081181305661581192339567152565516683004911827927306858444268191433425459916873594242517211295941362794873065286075960388479830167657742662753399827226899837137195436830448055771671796336530043972657302811791990415601859876271837788590877440737433873134539969053970099563545599109926210765440445877917259479807231194272636130411670438696440005909541330090967977404467241454415066284927299021538985990888868114801737509824511416545671809215541279295564934326300895716450341500994517459740968603700428204569550753879554117099157415642640512546447480178713580866003704985541335461666947479059797055985212250992068687007996547705869039987653888645278002664301210555398963547424967601844057091192958403451646707121515540425964663787952932951562963939621593868703124273160342367049244755387709263437275121768174619180810278722388668813981989060955245732042744071565286663202983037794969111074806089824946617301983473607524313692027533560416936331799472921878867512987410337390980293049773655052963615374814563481389454438911968445305931756880554475329514025442020735555871045955952845112694827861771913884892807810919757751576098688926688395480927173510936178239567833677082017000226418337387655529333692098793938504150642689261021355629995953973684143728548571750827393612740194111324902343120322678130842224901977204162233181185002228401144267511317475433033628123995940052996480567304526610844794399168837747607788514973078480959344197857771258450525429052944600351813426366921477202230233353287010176506868242065120470635582822832894161242176131668326984288737429520696285859578345935294180618803960194774941123807931009117188070405273773364359124315057224031009168835343463203859801200158800307462894575128813935218508544787738811040399859200400586965788052110436839181098765949832970460443721611683045374265543744347681773554684226498282062973368551322066737018432658091938045049555445073929196006239279095955836156054792229242996304442023341753867882104622199854147184028534712947072053838948904154224729840669660908333743660659928651888346789263323543142307072851268347514930498286143216819479119728258724035324737688297751479450365964897268197031930854244860591882044188765731495064537153539946739229141422893180361482505357108198144810535986670562460093753133408385651661849228616877698670516766644450537104457574109771990268786894721923914657530926692391615693577992404272321122390739615379231609706115878591449269036639214742207176094841884127939357725153469520171132973700051979480048967758609846165548753067151645786618994372644281892387083931901882540806087724941221307826973256713590031089007139486779470891569470512604648225315461180990608429027399721916504435776762846337329642465023274019588566445343179461799987523260334376498950486915360942805563909894338811160761538766672612848609420018884074954078568110507289969626860549058068705676968156483496722596878012880841485837869122430585170634823905962088189493579477748230162396958179165537708438870127486175691835223528159770251747104203790855767140059177052809304060917500890455059790892163549561392394650896600064826770943749824133277121659119343984265623796787197612590752580573507710908664162214542693426573297421111087464732156863070052933280630805857023812705646057338726827231463054898676608143683931211273549 10603145955206676360859363596317732655172817036113185639745623376396854159131458608403735416754811703168671460896321489665343512751399830013039885690957088530271720015426225327867117651205196932991327324655010257172447305968629689702611230019653016576672426174557891375531325471740448663108335522467504159472515582572503279649729802231837082097744142293686373524383108147706299702273608494525289490920706428767592447498838908519606692609529249438044267904148992117419092056533627143091947632416241713906558763353022193724950599807715531701972840796626279855664248834186768629067708503918030111791876006873629155393847491176317210970472774992950336863996851942927856297677460020389007496507089277410023708418490945692086558690365015578589976259506219096113580359621154028461809956898634587009541879927773221777070102393566867186511548282221452801751228711160587353747368001008259910027367509001419793264741810297968220794831428875051280879722111473151687259057457001618392026145760552048880475625422224743345113885941347191455906167155895863174716254806980034905064895703639348383844881983050065814225754269787623749639089679199983506722182805632154471068839625672391041614242989545071619956237311740637025955923412711770105165090523891864997459466724222524480309320541065188378192540823353839872437215039338749314678683056941203385658990467538120291807331776528980867010246991823682504730569682347619011114779759357580314971678516000427483399325672874807250557213564843614574910442061125047346533791260710274927409574846984554337216878828637282470294870669762056478350283669876350375137932858036721073912289079945167599713917545183045604349609121091215857518465611369531401123633412481758914715980556052090113108881855612090054938136716030398818793042895394351294661156341876036152928137913508177131439252305852513857198775442535065064655427842576600818866434294957290635328934000048557480405926114138036412104200096728708941906821436354398403457838917955254805858997645970149781744725784605532524269966146900950079828010465464509414401846364055533220100212185338224043108676632378804513236351255541380102921692573093235661218604439161978816594823473567834882729561084261294113295419099533115422496967796300585484825179364116366663704129633073005759126532700537773450512869778807928125900681715339328210457467624481507072916496857113528358209806513446989383599922978378850792059690883239521887797851375119520380855803678053527411760226114021217174947935097621047866397021820789513533435557950824385040888920986022297242413746535990688167143417165158906434970687486223755274855333295769666118231535174114495540738440282644017114459337851565466100657012829528120120296286864851192687808331530646745724423273045033310104802089590781925350750599860194007735898916807172860550825337599535017094942172706321372117295404046727222388542750356604929838529407796095102064790737488286785919804840159469304228807290775634845658710421267560312720622018864989626180596439232023960516117860302666900631277011316322911881284027866732911128930361963708181270230199195515255853295474016982889192557924352123361398321908169362365124579830757771560717913497706190887955948502582334375665678320247870300038712636051624202250812442593543521574790268248154893874596297640300216161127792152503758036021980576123554127863613434226885336991782711692939306213896539885592162426850678766157094337763945828971434628684746152044575358842602692411208689780110491904805238383126216121823275218147160391629414059694027721300371152263611988434515039611736295770650903392940550610894807705817127241360245146112655994561079077951570379738568465623156078185337116127 17156250543200372442957392630396382757910859041486256071562587203932210137462414649840909793734373726179884178470768087508819568247611247659925565535341138491950075234191015930955445483561050829922111873523687545453719260885552162734919304877455986251090172078088633852766505045477185429329842785580362483198138540772079912341141669569362163597600888374867679185964300487273452267790291499437117418227564873035783880924298825393200935126740545379407062777214278193379480536363794800834610385816068940806395900548459024173006371479511868232016813453929091647654664436046644900905497094795470849225749141413598209363947054721916320896683540433396214781256331750159050570313590432059446192947095186951353799386468350159328013105431300505888997798492209984981695161358663852973226502570443802550821175492707548077965818843908368181029008023190056502179433280711341233301485100165675552667880055448899971978322676301673206336166890541998759939519167458363938251126144009614939732014800539702769120903424889044555669284904894616423508011212987056133119706453687156420605321668303136336777833546014005435819622972911896909981456728444738894431446242907276239243458806482669764002911803527060680911483043783381097521210075914753142960059634966671087284413341524507953916844854757215911752957759685639345359093906851736725016074037234253159314043431153495106370813165983419778978692297755439385285045011861644453135515315228626270924523628695255345171239557767615061476971316419713263837130456605974520044727438949842761086656863984780755554266484166616162393664608266207121039544691231980371091906542180449622484039907338780339908028870085388724672287251933440759495669773602712586125861813626026426033455989085718237104821908608570622242663326875193217961880643002139809634234822835380350785909171958702560492196906204327283565696919737295298008714852753107687108499415427926218151766894209799656537594441122325149533720793014568520252756730535017207418033692896378613790006763158220187018499148964656839327190177910118915171473669324310614560646671518427795229026120556732587896415443419204372436751842507168155032129412274334427168437409622422538206506518942100426473908766034848797521917381596088791048289863037603917483271302161416219149203562269011998405628656373929505305099021804232567924023469207210315079667478628691101451209804185582197158710667671719224269583886712594452719619535127868677061174918261827453707072025568457910046369330840696294676193821656372604085319572268963899400455219021416971743165846614179286602512267485752704296957111898135576393580666585237780212441493914476654218205736574589293871848668295678963687954729264136617423657280065224577870396636841461474703053454561403255349965436649003682794493863103047741490215239425617442014795398622129587464552341742193189784056834260729842448873566898355362242802336084978806288017642260650817857889134073404914177484441361691312739192658175651746435362488868139693878732455020715187735926011494852085588372907315125946738192306931340908683749783237346905693208301037823735253473215103822298638653478782876715818258728622311885237269112167929034474169568932322256680170319039497375967386657288454233788827537839926899261694120329879218968926090266118452803149089640731743718728225470850985033754240693251615499728806285951086042778971935324207119268887384774529742056310137339266630641534533297153514816755133032352129575201211835467522392164084805859586380175318675748988207259493243482394562131426015426201257306618473880944659974520652596729582305162869068072014480405282767757877758750407872166102169925361640618417804778801842793467142231299762116548389676 27759396498407048803816756226714115413083676077599441711308210580329064296593873258244645210489185429348555639367089577174163080999011077672965451226298227022221795249617241258822563134766247762913439198178697802626166566854181852437530534897109002827762598252646525228297830517217634092438178308047866642670654123344583191990871471801199245695345030668554052710347408634979751970063899993962406909148271301803376328423137733912807627736269794817451330681363270310798572592897421943926558018232310654712954663901481217897956971287227399933989654250555371503318913270233413529973205598713500961017625148287227364757794545898233531867156315426346551645253183693086906867991050452448453689454184464361377507804959295851414571795796316084478974057998429081095275520979817881435036459469078389560363055420480769855035921237475235367540556305411509303930661991871928587048853101173935462695247564450319765243064486599641427130998319417050040819241278931515625510183601011233331758160561091751649596528847113787900783170846241807879414178368882919307835961260667191325670217371942484720622715529064071250045377242699520659620546407644722401153629048539430710312298432155060805617154793072132300867720355524018123477133488626523248125150158858536084743880065747032434226165395822404289945498583039479217796308946190486039694757094175456544973033898691615398178144942512400645988939289579121890015614694209263464250295074586206585896202144695682828570565230642422312034184881263327838747572517731021866578518699660117688496231710969335092771145312803898632688535278028263599389828361108330746229839400217170696396328987283947939621946415268434329021896373024656617014135384972243987249495226107785340749436545137808350213703764220660677180800042905592036754923538396491104295391164711416503714047085466879691931449212056841140764472362272360362664142695329708505974933710385216853480700894258357136943520555260361561637920889743277462159578166889415610875872610851633419649004409128369968763224933570189363597156324811068994999484134788820028962493035573961015329238305894956631005092075798008885673103098048548257953821985367570088387041848784401354801329992509935309203469850296142910817336481129204213545257659338189402308450666277782882853333195342017757532161356911702955817968800612160693824705184546538525537135103110198174367706661299110555368517181118708607869506865091445244779310418367390564859026293381347834562875703621985321806595444861913469624128919277420470482341393058477432836013169845802012632086832636476529016258803476440871440374277057042011364268152808993055067774789684142772449740910689084834610288950939696078147292580829602718080670109593344698166683501692654162511384985208148979773238481682313787596583453884973092240815099619625177913712205794990138289889941277210284726229540582101959744277613625577750785552692689908644817425438355752882648626622360190833982324600830995541546483433810497405145783756428452414500751320010341368332365243518812601706233209982026578015203623254252789967777649970258034623570264746005005483672410619078151934127495765765908376183080745673283559177281530294159054000326703882974593668025230385331915889239622829899467147785710226937974330171954081469781368683809640027593417337795625618315025865771067146161546393197009651521709382409505213906392406162209544111051599077713835955952850022931429057492213299454247852580700962003786758259947363880042881234766777217068276160285810580554226590385709365305669780278586407055615317000646195181315812238132641031244621916899164838722917873345833378652685464567535113526347316038017635179496882730372222532035607854455840301885505803 44915647041607421246774148857110498170994535119085697782870797784261274434056287908085555004223559155528439817837857664682982649246622325332891016761639365514171870483808257189778008618327298592835551071702385348079885827739734015172449839774564989078852770330735159081064335562694819521768021093628229125868792664116663104332013141370561409292945919043421731896311709122253204237854191493399524327375836174839160209347436559306008562863010340196858393458577548504178053129261216744761168404048379595519350564449940242070963342766739268166006467704484463150973577706280058430878702693508971810243374289700825574121741600620149852763839855859742766426509515443245957438304640884507899882401279651312731307191427646010742584901227616590367971856490639066076970682338481734408262962039522192111184230913188317933001740081383603548569564328601565806110095272583269820350338201339611015363127619899219737221387162901314633467165209959048800758760446389879563761309745020848271490175361631454418717432272002832456452455751136424302922189581869975440955667714354347746275539040245621057400549075078076685865000215611417569602003136089461295585075291446706949555757238637730569620066596599192981779203399307399220998343564541276391085209793825207172028293407271540388143010250579620201698456342725118563155402853042222764710831131409709704287077329845110504548958108495820424967631587334561275300659706070907917385810389814832856820725773390938173741804788410037373511156197683041102584702974336996386623246138609960449582888574954115848325411796970514795082199886294470720429373052340311117321745942397620318880368894622728279529975285353823053694183624958097376509805158574956573375357039733811766782892534223526587318525672829231299423463369780785254716804181398630913929625987546796854499956257425582252423646118261168424330169282009655660672857548082816193083433125813143071632467788468156793481114996382686711171641682757845982412334897424432818293906303748012033439011172286590155781724082534846202924346502721187910170957804113130643523139707092388810558264426451689218901507519217213258109854940555716412985951397641904515555479258406823893007836511452035735677378616330991708339253862725293004593547522375793319791721968439199102002536757611029755937790013285632461123067822416393261748728653753748840616802581738889275818916465484692752527227848790427832139090751804039697498929953495259241920201211643175288269947729190443231852964775702609764300322740933793074567660965327441332236468388867218984375252679250655815618771070962193575737331388955177587757848819394230835280216283598619426667946647263674128482137619235375041835247310093739335504327389658569276037080138534115637214438439769552235123203918331317470391077316988020833731030339045242619928507604417119725754442283019403474510286374842831802193151180523933113028355028774887451105443080616403700506515756433595748159809042192686854285676091986149151581146245296592108379483775031056556068291255013664687294606117297152524753395930185593698651527433207604940316778565783828740737145625722900450572780974548642624194441809367985168796446393698223193528169895636205231273838344269882707883275896911284133255975323550153837236024292283960688750294774075758480396566427436357362033754091241918131195300633890261267021438188695456299949171378097533751230320486462488365698009160160270695688133747832751401367397456095036138887835148575715510403626930862022927862540461129256303214797645202608788064342410012422481816574307264669062260472212653293627974204222062033906794932353751116146410563223317942985692449485963379275797914687509174065325502750085755602418433895479 72675043540014470050590905083824613584078211196685139494179008364590338730650161166330200214712744584876995457204947241857145730245633403005856467987937592536393665733425498448600571753093546355748990269881083150706052394593915867609980374671673991906615368583381684309362166079912453614206199401676095768539446787461246296322884613171760654988290949711975784606659117757232956207918091487361931236524107476642536537770574293218816190599280135014309724139940818814976625722158638688687726422280690250232305228351421459968920314053966668099996121955039834654292490976513471960851908292222472771260999437988052938879536146518383384630996171286089318071762699136332864306295691336956353571855464115674108814996386941862157156697023932674846945914489068147172246203318299615843299421508600581671547286333669087788037661318858838916110120634013075110040757264455198407399191302513546478058375184349539502464451649500956060598163529376098841578001725321395189271493346032081603248335922723206068313961119116620357235626597378232182336367950752894748791628975021539071945756412188105778023264604142147935910377458310938229222549543734183696738704339986137659868055670792791375237221389671325282646923754831417344475477053167799639210359952683743256772173473018572822369175646402024491643954925764597780951711799232708804405588225585166249260111228536725902727103051008221070956570876913683165316274400280171381636105464401039442716927918086621002312370019052459685545341078946368941332275492068018253201764838270078138079120285923450941096557109774413427770735164322734319819201413448641863551585342614791015276697881906676219151921700622257382716079997982753993523940543547200560624852265841597107532329079361334937532229437049891976604263412686377291471727719795122018225017152258213358214003342892461944355095330318009565094641644282016023337000243412524699058366836198359925113168682726513930424635551643048272809562572501123444571913064313848429169778914599645453088015581414960124544949016105035566521502827532256905170441938901950672485632742666349825887502732346645849906599595015222143782958038604264670939773383009474603942521107191225247809166503961971044880848466627134619156590343854497218138805181713982722100172634716981984855869952953047513469951370197335416941036623028553955573433838300287366153937684849087450186623126783803307895745029909136440008597616895484942278240371862649806779227505024523122832823432812428553659560220564523233924451660211213545050002358385918765072481558713020997007339511887132344635029874438634447177705666012219599122116972203223890347991073282762199117687557952758963092426570175071119982539890923342053584997499251913974203763640226769799725823424977701214896442400013631257987660770872993925971845438664867797842219810212109864044332224296613759236515915424933761937428794149510863813907721464796095922868518972156583155142378793786582142133643023682395832159525796646556726930001725044522880235095041397924400656498532477289000839327279179102768599553439846488619305083177862974940348830529833746220818036341978602506908470314408532570624890113658452355623675228517352582170222340088205867506369500268039799165136534114032723123109260380775210354464238042158531663457885398507989983765231982980348779957012985277356847027087270918543147571104961513855563784259743295341372085540202201653962010183202124745625961132205649219978157057039925646095095939595553284861697639239996138700746939836857441388030911974093734122688598829537431891307910864243576284450785934659218826138961198745517850227096949525063248687885478099218796802001396910977411570239546287857538357940211442720319401282 117590690581621891297365053940935111755072746315770837277049806148851613164706449074415755218936303740405435275042804906540128379492255728338747484749576958050565536217233755638378580371420844948584541341583468498785938222333649882782430214446238980985468138914116843390426501642607273135974220495304324894408239451577909400654897754542322064281236868755397516502970826879486160445772282980761455563899943651481696747118010852524824753462290475211168117598518367319154678851419855433448894826329069845751655792801361702039883656820705936266002589659524297805266068682793530391730610985731444581504373727688878513001277747138533237394836027145832084498272214579578821744600332221464253454256743766986840122187814587872899741598251549265214917770979707213249216885656781350251562383548122773782731517246857405721039401400242442464679684962614640916150852537038468227749529503853157493421502804248759239685838812402270694065328739335147642336762171711274753032803091052929874738511284354660487031393391119452813688082348514656485258557532622870189747296689375886818221295452433726835423813679220224621775377673922355798824552679823644992323779631432844609423812909430521944857287986270518264426127154138816565473820617709076030295569746508950428800466880290113210512185896981644693342411268489716344107114652274931569116419356994875953547188558381836407276061159504041495924202464248244440616934106351079299021915854215872299537653691477559176054174807462497059056497276629410043916978466405014639825010976880038587662008860877566789421968906744928222852935050617205040248574465788952980873331285012411334157066776529404498681896985976080436410263622940851370033745702122157134000209305575408874315221613584861524850755109879123276027726782467162546188531901193752932154643139805010212713959600318044196778741448579177989424810926291671684009857791495340892141799962011502996745636471194670723905750548025734983981204255258969426984247961738281247463685218347657486527026753701550280326673098639881769445849330253444815341399743015081316008772449758738636445767158798335068808107114232435401892812979159981083925724780651379119498000365598049140817003015414006780558227082958126327495844206579790222732352704089776041891894603156181086858406710564077269407741383482967878064104445444947217322162492054036206770740266587976726005539592268496060422972878699564272147688368699524639777170325357909048699428716667698411102771162002871785512524996267132998224774401145006619617663323713360097308949947580239981382592191137788160253800945400828022915037054967397186879965791597454725628207356881381625785634205216433091574564189410446161817787201017081389089324888910483250240843778760885436940261864747253450019646318344948728378738087861014759702875777710110417770727414629229589798774507316017233746802290267765564130579974673443976842262750239683547028311599588560283661658135227382330301942685216369250117835617782795708308076247021636631259718870072454480468947753546141976295445444576331627521995483625440187270832516385467915257127396313662486957963662064879053079689444863051156765066699481643621152070068926740546110340117976293437141344713770150747682441033445398165979098432810534612446378756522002847281958231961156988386550192668340342382534048254903408552147660977532185564585759800417813804735162357277046571692572002690567351971170343472820433759708964957050587375613152076064533930244515311063688488628501262924001241208069093160656185676114582881798465098611252019248465615175533305836756663439228287193030361023232652312782580848065671473811911203421084911246287964776186775326257748720353183041108025967045138753296761 190265734121636361347955959024759725339150957512455976771228814513441951895356610240745955433649048325282430732247752148397274109737889131344603952737514550586959201950659254086979152124514391304333531611464551649491990616927565750392410589117912972892083507497498527699788667722519726750180419896980420662947686239039155696977782367714082719269527818467373301109629944636719116653690374468123386800424051128124233284888585145743640944061570610225477841738459186134131304573578494122136621248609760095983961021152783162008803970874672604365998711614564132459558559659307002352582519277953917352765373165676931451880813893656916622025832198431921402570034913715911686050896023558420607026112207882660948937184201529735056898295275481940061863685468775360421463088975080966094861805056723355454278803580526493509077062719101281380789805596627716026191609801493666635148720806366703971479877988598298742150290461903226754663492268711246483914763897032669942304296437085011477986847207077866555345354510236073170923708945892888667594925483375764938538925664397425890167051864621832613447078283362372557685755132233294028047102223557828689062483971418982269291868580223313320094509375941843547073050908970233909949297670876875669505929699192693685572640353308686032881361543383669184986366194254314125058826451507640373522007582580042202807299786918562310003164210512262566880773341161927605933208506631250680658021318616911742254581609564180178366544826514956744601838355575778985249253958473032893026775815150116725741129146801017730518526016519341650623670214939939360067775879237594844424916627627202349433764658436080717833818686598337819126343620923605363557686245669357694625061571417005981847550692946196462382984546929015252631990195153539837660259620988874950379660292063223570927962943210506141133836778897187554519452570573687707346858034907865591200166798209862921858805153921184654330386099668783256790766827760092871556161026052129676633464132947302939615042335116510404871622114744917335967352157785701720511841681917031988494405192425088462333269891144980918714706709247657545675771017764245754865498163660853723440521472789274388626169519375977825439075549585260946652434550434287440871157885803758763992067237873163071714276663517124782877692753680303295005141068473501172895596330354323572924677951437064176192162719052299368318717908608700712156285985595009582055410697220558855478656221692221533935594594815300339172085216831656232149226061356220164667665682099278862381431506293260978389931703024920504888830819839462470092742720979616786002082763800678615976198430164143824903321763169192054666990759585517281800327091940423442674322388162397224444607418987655236666085289724954664916088718358579986366398858734008685674721216374978215612947224841339453843106731612630992983318205692699326068008768822954840656170471704479642951180118560716866816800514021168912444076328240051645949995143579442265035006248746681154139953965113852404869604252078619265296284771855510730290595037065286675890137599563330890197476226843496233178781698406857655586597915177459689335691589595302073507693744155257898692510340316381643008851083270418787481606169979512198702221542070915387656733220760045005813621689846555496376533957900323322731314005267888685908994688064803104107733330905379327660298946617020341913064657542892769005933180526674945179385670097162699807353770209115990180025340454906616973350326140502920139941955008930018097573707026556975532587787210081556680356923086397549413041114225162946411856499984431397830632807945015196537060599088899184130043089966173097752737827988266641040579465966178487859072698043 307856424703258252645321012965694837094223703828226814048278620662293565060063059315161710652585352065687866007290557054937402489230144859683351437487091508637524738167893009725357732495935236252918072953048020148277928839261215633174840803564151953877551646411615371090215169365126999886154640392284745557355925690617065097632680122256404783550764687222770817612600771516205277099462657448884842364323994779605930032006595998268465697523861085436645959336977553453285983424998349555585516074938829941735616813954144864048687627695378540632001301274088430264824628342100532744313130263685361934269746893365809964882091640795449859420668225577753487068307128295490507795496355779884860480368951649647789059372016117607956639893527031205276781456448482573670679974631862316346424188604846129237010320827383899230116464119343723845469490559242356942342462338532134862898250310219861464901380792847057981836129274305497448728821008046394126251526068743944695337099528137941352725358491432527042376747901355525984611791294407545152853483015998635128286222353773312708388347317055559448870891962582597179461132806155649826871654903381473681386263602851826878715681489653835264951797362212361811499178063109050475423118288585951699801499445701644114373107233598799243393547440365313878328777462744030469165941103782571942638426939574918156354488345300398717279225370016304062804975805410172046550142612982329979679937172832784041792235301041739354420719633977453803658335632205189029166232424878047532851786792030155313403138007678584519940494923264269873476605265557144400316350345026547825298247912639613683590831434965485216515715672574418255536607243864456733591431947791514828625270876992414856162772306531057987233739656808138528659716977620702383848791522182627882534303431868233783641922543528550337912578227476365543944263496865359391356715826403206483341966760221365918604441625115855378236136647694518240771971083019062298540408987790410924097149351294960426142069088818060685198295213384799105413201488039146535853241424932113304503177642183827098779037049943315987522813823480092947568583996924226838791222944312232842938521838387323529443172534789984605997302632543387274148278757014077663603510589893534805883961841029344158572683374081202052285434137163271173069245513918448390217758822408359779695418218025040902197702311320795428741690787308264984303974354294534221832581022578467904178084938359919945038365756818172124684610213098789230374000462501226784285329005812638959690381453873500959772523894162708665142631765240290493007779775947013972882048555398133341604405787045525450688955968385625146241554948995963443618114292957504831763647277072880474685451197748540673606347154472208114935735036703528714745136946595023445377596994085088633383674639470569043641881238928648226730120495960464890198588743496398817498433221944163189979491718149277150478458649248551242746019013456420896067830761362237973343082495768317785399672835186306885338552005624761241591730216431842357812590520690726863160970115948798805454603623157158720136745360471736708666287360040510846100758289076945694659763813081998444802850458292675080150195797040569535164047203424910364681319974881450000103111977282047853095579921807712484763084150568663665113848053522792094461142349042335289672319090705797141465034108974297388484757229545583336357904350870147765613145379062119750394729383361192054713955584970217680661838954641765844141183163078023178753759383141139857331052885821333575928822538261930855249797777664391233604886861007664050143415388793080868010872510292320269041289377930949284528064085736986994223620573992145532997825994804 498122158824894613993276971990454562433374661340682790819507435175735516955419669555907666086234400390970296739538309203334676598968033991027955390224606059224483940118552263812336884620449627557251604564512571797769919456188781383567251392682064926769635153909113898790003837087646726636335060289265166220303611929656220794610462489970487502820292505690144118722230716152924393753153031917008229164748045907730163316895181144012106641585431695662123801075436739587417287998576843677722137323548590037719577835106928026057491598570051144998000012888652562724383188001407535096895649541639279287035120059042741416762905534452366481446500424009674889638342042011402193846392379338305467506481159532308737996556217647343013538188802513145338645141917257934092143063606943282441285993661569484691289124407910392739193526838445005226259296155870072968534072140025801498046971116586565436381258781445356723986419736208724203392313276757640610166289965776614637641395965222952830712205698510393597722102411591599155535500240300433820448408499374400066825148018170738598555399181677392062317970245944969737146887938388943854918757126939302370448747574270809148007550069877148585046306738154205358572228972079284385372415959462827369307429144894337799945747586907485276274908983748983063315143656998344594224767555290212316160434522154960359161788132218961027282389580528566629685749146572099652483351119613580660337958491449695784046816910605919532787264460492410548260173987780968014415486383351080425878562607180272039144267154479602250459020939783611524100275480497083760384126224264142669723164540266816033024596093401565934349534359172756074662950864788062097149118193460872523250332448409420838010322999477254449616724203737153781291707172774242221509051143171502832913963723931457354569885486739056479046415006373553098463716067439047098703573861311072074542133558431228840463246779037040032566522747363301497562737910779155170096570013842540600730613484242263365757111423934571090069917328129716441380553645824848256365083106849145292997582834608915561112306941088296906237520532727750493244355014688472593656721107973086566379043311176597918069342054165962431436378182128648220800713307448365104474668475697293569876029078902507230286960037598326835163126890843574468074386582391949563113355152762683352620096169462105078389865030373094797060408695916965696460260339889543803887991719799026759656741160052141478973960351633472463856695429930445462523226523857446948952994687911917822071812960166761938162455597187629170031462585079752963100522496926630758884131319198811957580604217209669275592277731554817200908545708581480725418441384897928274437969665235277699130058616736195910272432444197162779851823755062108701111535805329032131052318210460066848996621864311908497484987970541279219713438701653164216266597512319353658154603693648642832930671836709994017295259163269720155190095341696472542017825904941680238378088744514998939539626800300159290208156257703380506888014988287353088103185557756013539051107715512129695652079850000654953315527058878594364252885275217970535436449878672247768167457557237256343495360798609056723159046880310988322645653373404422563383541516952365387759845198042092858909201611654267981139618108468986987845162058790680780370137037107138393780052421611176469125333055591317730397821887088476105363837531396822710792531049159282450202083153570308044893980925425124297635189280782268764281125118086953196851333090167696832863640673031415132609179461348328404662838891889554180016743360992095447974048196738096064547933109381219453171332467897122382280801913725253635264200039958324020856898692847 805978583528152866638597984956149399527598365168909604867786055838029082015482728871069376738819752456658162746828866258272079088198178850711306827711697567862008678286445273537694617116384863810169677517560591946047848295449997016742092196246216880647186800320729269880219006452773726522489700681549911777659537620273285892243142612226892286371057192912914936334831487669129670852615689365893071529072040687336093348901777142280572339109292781098769760412414293040703271423575193233307653398487419979455194649061072890106179226265429685630001314162740992989207816343508067841208779805324641221304866952408551381644997175247816340867168649587428376706649170306892701641888735118190327986850111181956527055928233764950970178082329544350615426598365740507762823038238805598787710182266415613928299445235294291969309990957788729071728786715112429910876534478557936360945221426806426901282639574292414705822549010514221652121134284804034736417816034520559332978495493360894183437564189942920640098850312947125140147291534707978973301891515373035195111370371944051306943746498732951511188862208527566916608020744544593681790412030320776051835011177122636026723231559530983849998104100366567170071407035188334860795534248048779069108928590595981914318854820506284519668456424114296941643921119742375063390708659072784258798861461729878515516276477519359744561614950544870692490724951982271699033493732595910640017895664282479825839052211647658887207984094469864351918509619986157043581718808229127958730349399210427352547405162158186770399515863047881397576880746054228160700476569290690495021412452906429716615427528367051150865250031747174330199558108652518830740550141252387351875603325401835694173095306008312436850463860545292309951424150394944605357842665354130715448267155799691138211808030267606816958993233849918642407979564304406490060289687714278557884100318652594759067688404152895410802659395057819738334708993798217468636979001632951524827762835537223791899180512752631775268212541514515546793755133863994792218324531781258597500760476792742659891343991031612893760334356207843440812939011612699432447944052285319409317565149563921447512514588955947037433680814672035494948992064462442768078179065590828375759990919931851388859643411679528887448561028006845641143632096310397953331113975171043132315514387487145980587567341693890225802099483225230680764234694184078025720572742377494663834826098412061424012326108451644588541305643029234692897226986358673733238323693724556781762194414040262897934979491350337835174094350320043456108302272873644731766179874596945299185010004255194726281233699940442347150100657577444169036555677855433106201616942308158173815509814484736583878779598669370894787558791765637415856672751924055576429915204545155482380296503782477541126869209469927446443559197613629106465186255815752475653036915592806022910163554859271167773717812518271397936114355152893438085656666303918211721171240283316724939299635486466175546708263328141748479745204719195445915776078446740402212077831460928501106683473157813673452272419350331072919172635258481381537208167749193462827221370319254788298211256901731803309242677351557857809700576829332928064861491833815387862957175324140712004781533461980465902702259037650652959010112313472874831279386149473683452371512316973610590367164565615118882579116634059441721741882266970476405676428221402200596812536931500099607936510395341978297028235424034608422308281164976375605092473308836690194693558852748708538001999610259259912636669553945413621630221999759498117463585531176932558805619673539722212621845828071666808865999462240629487820613950469553854724687651 1304100742353047480631874956946603961960973026509592395687293491013764598970902398426977042825054152847628459486367175461606755687166212841739262217936303627086492618404997537350031501736834491367421282082073163743817767751638778400309343588928281807416821954229843168670222843540420453158824760970815077997963149549929506686853605102197379789191349698603059055057062203822054064605768721282901300693820086595066256665796958286292678980694724476760893561487851032628120559422152036911029790722036010017174772484168000916163670824835480830628001327051393555713591004344915602938104429346963920508339987011451292798407902709700182822313669073597103266344991212318294895488281114456495795493331270714265265052484451412293983716271132057495954071740282998441854966101845748881228996175927985098619588569643204684708503517796233734297988082870982502879410606618583737858992192543392992337663898355737771429808968746722945855513447561561675346584106000297173970619891458583847014149769888453314237820952724538724295682791775008412793750300014747435261936518390114789905499145680410343573506832454472536653754908682933537536709169157260078422283758751393445174730781629408132435044410838520772528643636007267619246167950207511606438416357735490319714264602407413769795943365407863280004959064776740719657615476214362996574959295983884838874678064609738320771844004531073437322176474098554371351516844852209491300355854155732175609885869122253578419995248554962274900178683607767125057997205191580208384608912006390699391691672316637789020858536802831492921677156226551311921084602793554833164744576993173245749640023621768617085214784390919930404862508973440580927889668334713259875125935773811256532183418305485566886467188064282446091243131323169186826866893808525633548362230879731148492781693517006663296005408240223471740871695631743453588763863549025350632426233877083823599530935183189935443369182142421121235897446904577372638733549015475492125558376319779487157656291936687202865338129869644231988174308779688843048583407638630403890498343311401658221003650932119909799997854888935593934057294026301172026104665160258405975696608460740519365581856643121909468870058996800683715749705371910807872552847541288121945636019998834358619146603449277855722611687918850420109218018678702347516444469127933726484935610556949251058977432372066985022862508179142196377224495034073621829608564462176521423491567258464202902986286460085117052398001072959680155420453510216120682191318381636474603834007374207024836097435088537967005205556935399796419208824769800275490650311193795757256765614221464864001873511431495259548058646366158924894454997062753361380639586607543435872945568431220932494151212042866533674639382546827746116968208557253087707482233415005222331376918368094386038611857180011206666156997899266793322731783768135106133807640609241448855840835391569265185068976975787991553126209696849365980103482571245598450099259984798315664478926435786625465754864521031522255367760193006548534018961636202753941263185546973058196758763323158468626767799478228925437172057910476451916973658046421441230994678927556511131793572055510788526468289557662546180455353950233755491448403008786180775622802373366233570913983145116248447042320367506637640804172171104153655201416423256612077232423933928150079715700220156932849280401003722535547085579413663793187198207477380684650798895690501808144501917435820466275932217516206303372703433399251929572456425563476533523058334231884163841147181460958587664575475561443499593638373582991854946091511782269272997106738729054759175383954313725194049089667913187494264752020653908793574711623380498 2110079325881200347270472941902753361488571391678502000555079546851793680986385127298046419563873905304286622233196041719878834775364391692450569045648001194948501296691442810887726118853219355177590959599633755689865616047088775417051435785174498688064008754550572438550441849993194179681314461652364989775622687170202792579096747714424272075562406891515973991391893691491183735458384410648794372222892127282402350014698735428573251319804017257859663321900265325668823830845727230144337444120523429996629967133229073806269850051100910516258002641214134548702798820688423670779313209152288561729644853963859844180052899884947999163180837723184531643051640382625187597130169849574686123480181381896221792108412685177244953894353461601846569498338648738949617789140084554480016706358194400712547888014878498976677813508754022463369716869586094932790287141097141674219937413970199419238946537930030186135631517757237167507634581846365710083001922034817733303598386951944741197587334078396234877919803037485849435830083309716391767052191530120470457047888762058841212442892179143295084695694663000103570362929427478131218499581187580854474118769928516081201454013188939116285042514938887339698715043042455954106963484455560385507525286326086301628583457227920054315611821831977576946602985896483094721006184873435780833758157445614717390194341087257680516405619481618308014667199050536643050550338584805401940373749820014655435724921333901237307203232649432139252097193227753282101578923999809336343339261405601126744239077478795975791258052665879374319254036972605540081785079362845523659765989446079675466255451150135668236080034422667104735062067082093099758630218475965647227001539099213092226356513611493879323317651924827738401194555473564131432224736473879764263810498035530839630993501547274270112964401474073390383279675196047860078824153236739629190310334195736418358598623587342830854171841537478940974232155898375590107370528017108443650386139155316710949555472449439834640606342411158747534968063913552837840801732170411662487999103788194400880894994923151522693758189245143437374870233037913871458552609212543725385014173610304440813094371232077856506303739811472719210698697436373250640631026606878950321396010918766210008006246860957384610060248946857265750361650775012745469775583103104769617251124944436397039564999713760875248664607662367427057988729728257699855329137204554016087326393356876264326998612568536761640939306715988914848317680496574794415429642075361031385596201788247287734032414579888304840379651285719839875317127042673920222416491068392702555950624225720058728154745131435701895208747023736369063491552740608794486841203549851594046761078245705669078029991641535904569426941338593383532824881309177143283912148619550377813757214871876863579738726389481134112600557096880422429196970023950858609460677524834254878750998946428536352842694788306262951062324052002259418189139237549516661820431225081632389418226071273091641301572784359664003847505397725743979934737714649494343475263378433986697865446796316282300220071897579256510091230545734933298510866214170634693821900297875765920091783312412520329777532235014104038265054527063088419513264500619996163485759548690374282918764678578228912945022626544288293763182283417626530032695809406085760684795446245123690306067384722547968162980120356594988807321295930763663603883905602086851395708227433308244109853946215808254229245751630337981125741680416905948061518036785370213253027790736912549685183460568846924488112230997445007260003804991614444208975367800449929665544348728298897596576159553265715898533912649734894239841267859263128566348068149 3414180068234247827902347898849357323449544418188094396242373037865558279957287525725023462388928058151915081719563217181485590462530604534189831263584304822034993915096440348237757620590053846545012241681706919433683383798727553817360779374102780495480830708780415607220664693533614632840139222623180067773585836720132299265950352816621651864753756590119033046448955895313237800064153131931695672916712213877468606680495693714865930300498741734620556883388116358296944390267879267055367234842559440013804739617397074722433520875936391346886003968265528104416389825033339273717417638499252482237984840975311136978460802594648181985494506796781634909396631594943482492618450964031181918973512652610487057160897136589538937610624593659342523570078931737391472755241930303361245702534122385811167476584521703661386317026550256197667704952457077435669697747715725412078929606513592411576610436285767957565440486503960113363148029407927385429586028035114907274218278410528588211737103966849549115740755762024573731512875084724804560802491544867905718984407152173631117942037859553638658202527117472640224117838110411668755208750344840932896402528679909526376184794818347248720086925777408112227358679049723573353131434663071991945941644061576621342848059635333824111555187239840856951562050673223814378621661087798777408717453429499556264872405696996001288249624012691745336843673149091014402067183437014893240729603975746831045610790456154815727198481204394414152275876835520407159576129191389544727948173411991826135930749795433764812116589468710867240931193199156852002869682156400356824510566439252921215895474771904285321294818813587035139924576055533680686519886810678907102127474873024348758539931916979446209784839989110184492437686796733318259091630282405397812172728915261988123775195064280933408969809714296862124151370827791313667588016785764979822736568072820241958129558770532766297541023679900062210129602802952962746104077032583935775944515475096198107211764386127037505944472280802979523142372693241680889385139809042066378497447099596059101898645855271432493756044134079031308927527064215043484657274372802131360710782071044960178676227875199765975173798808273402926448402808284058513183874148167072267032030917600568627152850310235240332671936865707685859579669453715092986220052231038496102186735501385648098542432085827860271527115841509623435213224762331321684937701666730537510817960615340467229984899028621878693337307788948595003738134006790915097620960456997505989430209162454312570129849668426271845585208221119636294525951812474195713066802262188459812716238447184922730028256562930961443267393389895293957946549803362155867480790157395029919706646676926601572181203684402438244066323885421129649793089866430230991394382034555600145134133239971249618350583569492340778757554996147215751928753792085964743268318134075703734591834337997801537911671764094254504188533748851625398292621808795115111919691209879948053897152507059717107056437305391186259215265590732292513953699350852248284738448925407044894624210119474750926987871375808181947263288456211385215484524260592075924816579225432277051885355367923308856245821792676650218720408477296843910961667509406176939108561922056607853832747823694477359987342994050925934567354454521780185234112232662697837917219380173273770021767604879480817443381124079130535892900709594556850802091382982771502194603917935116388611771382036274530161463267836641353829175079668835520517943600261903736311362022621076390832364921527434589063587792440944600898377387983469390300487150069722926772283077783058072980530473278459764988201825837229158991861921768056703277971448647 5524259394115448175172820840752110684938115809866596396797452584717351960943672653023069881952801963456201703952759258901364425237894996226640400309232306016983495211787883159125483739443273201722603201281340675123548999845816329234412215159277279183544839463330988045771106543526808812521453684275545057549208523890335091845047100531045923940316163481635007037840849586804421535522537542580490045139604341159870956695194429143439181620302758992480220205288381683965768221113606497199704678963082870010434706750626148528703370927037301863144006609479662653119188645721762944496730847651541043967629694939170981158513702479596181148675344519966166552448271977568670089748620813605868042453694034506708849269309821766783891504978055261189093068417580476341090544382014857841262408892316786523715364599400202638064130535304278661037421822043172368459984888812867086298867020483791830815556974215798143701072004261197280870782611254293095512587950069932640577816665362473329409324438045245783993660558799510423167342958394441196327854683074988376176032295914232472330384930038696933742898221780472743794480767537889799973708331532421787370521298608425607577638808007286365005129440716295451926073722092179527460094919118632377453466930387662922971431516863253878427167009071818433898165036569706909099627845961234558242475610875114273655066746784253681804655243494310053351510872199627657452617522021820295181103353795761486481335711790056053034401713853826553404373070063273689261155053191198881071287434817592952880169827274229740603374642134590241560185230171762392084654761519245880484276555885332596682150925922039953557374853236254139874986643137626780445150105286644554329129013972237440984896445528473325533102491913937922893632242270297449691316366756285162075983226950792827754768696611555203521934211188370252507431046023839173746412170022504609013046902268556660316728182357875597151712865217379003184361758701328552853474605049692379426330654630412909056767236835566872146550814691961727058110436606794518730186871979453728866496550887790459982793640778422955187514233379222468683797760102128914943209883585345856745724955681349400991770599107277622481477538619746122137147100244657309153814900755046022588428041836366778635159097171192624942732185812564951609941320228727838455995635334143265719437860445822045138107431799588735520191723503877050493201954490589021540266838871284553598144353972216731556983511597158640334276614504937509852055814503365709513050602532358537375026410950701600304162264248314576685964859506839476169843078855148115935483293330581162368666862672904981458183001694366663338476140413631663021438102543970950354321993707246623966467724922632270650211195325938342813493265224014513182617971175607374275306530654105977958891348111848113198089309958973474891358112093027638181125723816036823352728995658909958613342833284426337890754366552400517455250857800853884816481761046344631773740122434961580443315378578332808748358010089750850263062770988458036493888437065501742628213712303841031592489656915791033227207943273387438457354519001946318513995390474762710618638479523308042971977138680335829186023354027690754256985463004359932330474932010026173102594321470746982136751512502272706272932365620595214228330536737939406715266808042068783598602014826418397460327834989602028785606361244435725524700222005525320514405975288584858353590312145368424632721625328252082784390709019466979334954916760085741468579461637047273949564389813357988940517548382096281513551700023438389608158381192975083834509462517870172856437827426511356970577106632831725480886735738486964053231703189627319831844319516796 8938439462349696003075168739601468008387660228054690793039825622582910240900960178748093344341730021608116785672322476082850015700425600760830231572816610839018489126884323507363241360033327048267615442963047594557232383644543883051772994533380059679025670172111403652991771237060423445361592906898725125322794360610467391110997453347667575805069920071754040084289805482117659335586690674512185718056316555037339563375690122858305111920801500727100777088676498042262712611381485764255071913805642310024239446368023223251136891802973693210030010577745190757535578470755102218214148486150793526205614535914482118136974505074244363134169851316747801461844903572512152582367071777637049961427206687117195906430206958356322829115602648920531616638496512213732563299623945161202508111426439172334882841183921906299450447561854534858705126774500249804129682636528592498377796626997384242392167410501566101266512490765157394233930640662220480942173978105047547852034943773001917621061542012095333109401314561534996898855833479166000888657174619856281895016703066406103448326967898250572401100748897945384018598605648301468728917081877262720266923827288335133953823602825633613725216366493703564153432401141903100813226353781704369399408574449239544314279576498587702538722196311659290849727087242930723478249507049033335651193064304613829919939152481249683092904867507001798688354545348718671854684705458835188421832957771508317526946502246210868761600195058220967556648946898794096420731182382588425799235608229584779016100577069663505415491231603301108801116423370919244087524443675646237308787122324585517898046400693944238878669672049841175014911219193160461131669992097323461431256488845261789743436377445452771742887331903048107386069929067030767950407997038690559888155955866054815878543891675836136930904020902667114631582416851630487414000186808269588835783470341376902274857741128408363449253888897279065394491361504281515599578682082276315202275170105509107163979001221693909652495286972764706581252809300036199619572011788495795244993997987386519084692286633694387681270277513301499992725287166343958427867157958147988106435737752394361170446826982477388456651337428019525063595503052941367666998774903213094855460072753967347262311947481427865275404122678272637469520989682442931442215687565181761821624595947207693236649863885416595791718839345386673928415179252920343225204540538015091108962314587557198786968410625780519027613922293886104855793948510156624610671562989356043364456620113155912874292113916740848531550067727959112464369030667622311648550095592769622181383101120089904188211258257297624781743533803526956979384652347333106221802783864641653886174371599558872222392399010340781057559589109435642832411061042037605266700912688661578104025481351819362816439893528465815670115667089174853933054477608122788095997313792985662347934667622424139428666038316494771959439391549705510214774382855139746885659813644841528497212531085392525855414447395142036522278036579190329007842136416353990912952161229248076487113867035265784154195814649195620404617807458157703729479914735354786543455058748740320023862494048259138042269175820367404475705871481656776241436599519432350041702883392803589990584260325967183632919708614646140162897891192461186900500920274731481436519234206591671230349602594481509603049742368514856060593122715119877365208066671567629855784916063303541021333396710288357314552172287303620688784091839754576989097405237309177685875751835979065331349913303623716102615287815879334209056758580958553224809949667939895783210110504294415043557637106110185245874937564324193212223565111395376535122290965443 14462698856465144178247989580353578693325776037921287189837278207300262201844632831771163226294531985064318489625081734984214440938320596987470631882048916856001984338672206666488725099476600249990218644244388269680781383490360212286185209692657338862570509635442391698762877780587232257883046591174270182872002884500802482956044553878713499745386083553389047122130655068922080871109228217092675763195920896197210520070884552001744293541104259719580997293964879726228480832495092261454776592768725180034674153118649371779840262730010995073174017187224853410654767116476865162710879333802334570173244230853653099295488207553840544282845195836713968014293175550080822672115692591242918003880900721623904755699516780123106720620580704181720709706914092690073653844005960019043770520318755958858598205783322108937514578097158813519742548596543422172589667525341459584676663647481176073207724384717364244967584495026354675104713251916513576454761928174980188429851609135475247030385980057341117103061873361045420066198791873607197216511857694844658071048998980638575778711897936947506143998970678418127813079373186191268702625413409684507637445125896760741531462410832919978730345807209999016079506123234082628273321272900336746852875504836902467285711093361841580965889205383477724747892123812637632577877353010267893893668675179728103575005899265503364897560111001311852039865417548346329307302227480655483602936311567269804008282214036266921796001908912047520961022016962067785681886235573787306870523043047177731896270404343893246018865873737891350361301653542681636172179205194892117793063678209918114580197326615984192436044525286095314889897862330787241576820097383968015760385502817499230728332822973926097275989823816986030279702171337328217641724363794975721964139182816847643633312588287391340452838232091037367139013462875469661160412356830774197848830372609933562591585923486283960600966754114658068578853120205610068453053287131968694628605824735922016220746238057260781799046101664726433639363245906830718349758883767949524111490548875176979067485927412117342868784510892523968676523047268472873371077041543493844852160693433743762162217426089755010938128876047765647200742603297598676820813675658259117443888114590334125897471044652620490218136308490837589079462309911170769898211322899325027541062456393029738374757295685005331311910562849263724421617133743509364765471379409299644707106668559773930343951922222939159361890536798823614707849763013522334123722165521714580739483031063857513178454378165055425217514927234798588634212109522770427584033388923350784550049963792994885646394259951664288120219674217158620000822754891304056576124777571888277852642096522191142872603594336279123871052854333450156015029032217644979542007443342767556062916829463667476014529203487439290561473779182202492114180201424159611448726309451895620961277500906850477319420404868895289414690249350559395031256143901484378659399936079803108940527909663725334603772457484892886785340807567648365501730573481855733541165873533089108079603523951056817381403757922583058861972326460104022243475305210117497162093538272048362995839632728594967228292529848058158732691334486016708571911531529458523144297204863550572127335772828239889905852074235241354391228427930400593615767728316800265035121249033010068690677437584083538388656103612950581585293344720645197879614041960152488209375228208671965654055022038540440098942881306770600023739008599840318457676866874356451635440141649337054271867461685719997616166987839317723817215139773933637059319412185810068639647937930805772014134743738941910726761673302811157265455268301022696366966610482239 23401138318814840181323158319955046701713436265975977982877103829883172442745593010519256570636262006672435275297404211067064456638746197748300863454865527695020473465556530173851966459509927298257834087207435864238013767134904095337958204226037398541596179807553795351754649017647655703244639498072995308194797245111269874067042007226381075550456003625143087206420460551039740206695918891604861481252237451234550083446574674860049405461905760446681774382641377768491193443876578025709848506574367490058913599486672595030977154532984688283204027764970044168190345587231967380925027819953128096378858766768135217432462712628084907417015047153461769476138079122592975254482764368879967965308107408741100662129723738479429549736183353102252326345410604903806217143629905180246278631745195131193481046967244015236965025659013348378447675371043671976719350161870052083054460274478560315599891795218930346234096985791512069338643892578734057396935906280027736281886552908477164651447522069436450212463187922580416965054625352773198105169032314700939966065702047044679227038865835198078545099719576363511831677978834492737431542495286947227904368953185095875485286013658553592455562173703702580232938524375985729086547626682041116252284079286142011599990669860429283504611401695137015597619211055568356056126860059301229544861739484341933494945051746753047990464978508313650728219962897065001161986932939490672024769269338778121535228716282477790557602103970268488517670963860861882102617417956375732669758651276762510912370981413556751434357105341192459162418076913600880259703648870538355101850800534503632478243727309928431314714197335936489904809081523947702708490089481291477191641991662761020471769200419378869018877155720034137665772100404358985592132360833666281852295138682902459511856479963227477383742252993704481770595879727100148574412543639043786684613842951310464866443664614692324050220643011937133973344481709891584052631969214245009830880994841431123384725239278954691451541388637491140220616055206866917969330895556445319356484546862563498152178214045811730550054788405825468669248334434816831798944199501641832958596431186138123332664253072232399394780213475785172264338106350540044487812450561472212299348187344301473159782992134048355493540431169110226548983299593613701340427010464506789362687052340237431611407159570421927103629402194650398350032312996429707990675919947314735816068983147331129130920332848719678389504459092709719563643711523678958734393728511070624103939651177013426052746492081796273749064994962757701098581140190392739232583484516120406731433064913084789834605518208961912901963208020685576980207407238637162797927561436529931738816468121750015094995993346619904928612443442885798847440093259682584808708356031429134166942310815486838830969097015905106231589446271377346047234679032282399544723623244881283309212168529274616748086443185390061374129640900264905246030526756624125545059749724644637437740440749117860459186904880034923307618844146838694509572709898209724454118034762337184566717390986322601535599572571778679266590133918261725972955219945472283705548597020788683019702126776854105270561705668425563208397205967673484813348131048890873186000088256354162117920033154207073538771782849887494554126319122861780516268648591531746471640483239601739921027040178565047991705845981465437645886467435765075244822108631720118065160144271975506675388418748828797413495053594074220712523100439594895446774272111665629321315893485316119603217374989343713718782275655197058026271898354892190284129361853749964422858048435100187057692380845052095972636610867135350477678833412418072902088901447682 37863837175279984359571147900308625395039212303897265172714382037183434644590225842290419796930793991736753764922485946051278897577066794735771495336914444551022457804228736840340691558986527548248052731451824133918795150625264307624143413918694737404166689442996187050517526798234887961127686089247265491066800129612072357023086561105094575295842087178532134328551115619961821077805147108697537244448158347431760603517459226861793699003010020166262771676606257494719674276371670287164625099343092670093587752605321966810817417262995683356378044952194897578845112703708832543635907153755462666552102997621788316727950920181925451699860242990175737490431254672673797926598456960122885969189008130365005417829240518602536270356764057283973036052324697593879870987635865199290049152063951090052079252750566124174479603756172161898190223967587094149309017687211511667731123921959736388807616179936294591201681480817866744443357144495247633851697834455007924711738162043952411681833502126777567315525061283625837031253417226380395321680890009545598037114701027683255005750763772145584689098690254781639644757352020684006134167908696631735541814079081856617016748424491473571185907980913701596312444647610068357359868899582377863105159584123044478885701763222270864470500607078614740345511334868205988634004213069569123438530414664070037069950951012256412888025089509625502768085380445411330469289160420146155627705580906047925543510930318744712353604012882316009478692980822929667784503653530163039540281694323940242808641385757449997453222979079083809523719730456282516431882854065430472894914478744421747058441053925912623750758722622031804794706943854734944285310186865259492952027494480260251200102023393304966294866979537020167945474271741687203233856724628642003816434321499750103145169068250618817836580485084741848909609342602569809734824900469817984533444215561244027458029588100976284651187397126595202552197601915501652505685256346213704459486819577353139605471477336215473250587490302217573859979301113697636319089779324394843467975095737740477219664141457929073418839299298349437345771381703289705170021241045135677810757124619881885494881679161987410332909089523550819465080709648138721308626126219731329743236301934635599057254036786668845711676739659947815628445609504784471238638333363831816903749508733267169986164455255427258415539965043914122771649446739939072756147299356614380523175651707105059474872255071658837751394995891533334271493474537201292858115894032785204843422682240870939231200870246851698966579922197556289732793249713163166816616873439471191281483028706079675480999778160626201022182882237844196981030162129941219374052339008418209591458564643941157967599587682899028799665297776335954862469125477327564350715799374196690229859140279154314845498300503344396793063225453579838161414880456442010993449932696776904270489669436125094067506848054285350788819890250824300277286670658108504204459685804447746378268350412843195062959362364927810092959651714487060011303283380065457995283908295426292646320914937379418917003330494361738128562460378365748216430525155589780867642135292837046015541759505449072498854235516483721941088540453690193385259662578349396330297293119904734245255805982446963444623857085128848945354747053262374132036376908332011506761732272611808611704477762648586380361949594416019231179812156410273124436150591872606274535372480647472329443440787369237512437934900844820736262109039435213904451138986022080956756035134653173875084836675063711334949263494514781843487038128825827343448774039560033062505986365905959071827124583994006699398284169946507743134101713440769269055511929921 61264975494094824540894306220263672096752648569873243155591485867066607087335818852809676367567055998409189040219890157118343354215812992484072358791779972246042931269785267014192658018496454846505886818659259998156808917760168402962101618144732135945762869250549982402272175815882543664372325587320260799261597374723342231090128568331475650846298090803675221534971576171001561284501066000302398725700395798666310686964033901721843104464915780612944546059247635263210867720248248312874473605917460160152501352091994561841794571795980371639582072717164941747035458290940799924560934973708590762930961764389923534160413632810010359116875290143637506966569333795266773181081221329002853934497115539106106079958964257081965820092947410386225362397735302497686088131265770379536327783809146221245560299717810139411444629415185510276637899338630766126028367849081563750785584196438296704407507975155224937435778466609378813782001037073981691248633740735035660993624714952429576333281024196214017527988249206206253996308042579153593426849922324246538003180403074727934232789629607343663234198409831145151476435330855176743565710403983578963446183032266952492502034438150027163641470154617404176545383171986054086446416526264418979357443663409186490485692433082700147975112008773751755943130545923774344690131073128870352983392154148411970564896002759009460878490068017939153496305343342476331631276093359636827652474850244826047078739646601222502911206116852584497996363944683791549887121071486538772210040345600702753721012367171006748887580084420276268686137807369883396691586502935968827996765279278925379536684781235841055065472919957968294699516025378682646993800276346550970143669486143021271671871223812683835313744135257054305611246372146046188825989085462308285668729460182652562657025548213846295220322738078446330680205222329669958309237444108861771218058058512554492324473252715668608701408040138532336525542083625393236558317225560458714290367814418784262990196716615170164702128878939708714080595356320564554288420674880840162824459642600303975371842355503740803968894087704174906015019716138106536968965440546777510769353555806020008827545932234219809727689302999335991729418815998678765796438576781203542042584489278937072217037028920717201205217170829058042177428909098398172579065343828338606266436561073504601597571614825849185519169367238564521121681759736368780746823219303929116339244634854436188605792587920378516140899454984243053835137186060880251592509622543855828947362333417884365283947362328647972715644917160313990831374389903555906049200357955591598012916093619164465315605296369588113924146090258529773961237569368578382171979900444948141330275032765691173062595581029518933728277741219221753709909218737010149159424155405625824396801451094641153676467397519249503024652671724957184208649559488724410538173555941658187579701837965399710815593291239675412162949531151089205523317197414732629749519435529092383816008791161961055522146267244962733400578495861325754520875993278275182449401943057763477213038305923702020452602903066140417395152594296627474189385745101062064573190732313625729035243886282303177769415941184909285149485746421363678198607793627240269516297381376258896363175839136654036983395639935016343499481066176124154648305025499863757978402215512213548532731517941213634372067795575881456877066279592175348369258259223592724339695516752622979004831859536198034925932988494919041448785209479030109351225411097687710278071928619969293478302211664407425053731539149711839869758936483718017627578135893309997485364034801006146129519505429046102672034895037081858220812935125858842171144413377603 99128812669374808900465454120572297491791860873770508328305867904250041731926044695100096164497849990145942805142376103169622251792879787219843854128694416797065389074014003854533349577482982394753939550111084132075604068385432710586245032063426873349929558693546169452789702614117431625500011676567526290328397504335414588113215129436570226142140177982207355863522691790963382362306213108999935970148554146098071290481493128583636803467925800779207317735853892757930541996619918600039098705260552830246089104697316528652611989058976054995960117669359839325880570994649632468196842127464053429483064762011711850888364552991935810816735533133813244457000588467940571107679678289125739903686123669471111497788204775684502090449711467670198398450060000091565959118901635578826376935873097311297639552468376263585924233171357672174828123306217860275337385536293075418516708118398033093215124155091519528637459947427245558225358181569229325100331575190043585705362876996381988015114526322991584843513310489832091027561459805533988748530812333792136040295104102411189238540393379489247923297100085926791121192682875860749699878312680210698987997111348809109518782862641500734827378135531105772857827819596122443806285425846796842462603247532230969371394196304971012445612615852366496288641880791980333324135286198439476421922568812482007634846953771265873766515157527564656264390723787887662100565253779782983280180431150873972622250576919967215264810129734900507475056925506721217671624725016701811750322039924642996529653752928456746340803063499360078209857537826165913123469357001399300891679758023347126595125835161753678816231642580000099494222969233417591279110463211810463095696980623281522871973247205988801608611114794074473556720643887733392059845810090950289485163781682402665802194616464465113056903223163188179589814564932239768044062344578679755751502274073798519782502840816644893352595437265127539077739685540894889064002481906672418749854633996137402595668193951385637952716369241926287940574657434262190607510454205235006292434738338044452591506496961669877387733387002524343360791097841396242138986681591913188580110680425901894322427611396207220060598392522886811194499525646817487105064703000934871785820791213572671274291065707386046916893910489005857805874518603182643817703677192170423170186069806771771583736070081276443934709332282478643893331206476307853502970518660543496862420286561541248080664842992037353892294450875776388106630660598081544450625516576641033790785015658755304515148232575499671682224839357870280564167639616719072865817231395062789294399122325244140796605074530214314946328972496373970942267731498519601546032239453366350921733597409632331030195168712417962527943038995557708572378344214337713510139954779822514626660591373795468521965698022593899817715897178537022370064439945166421531623488638435091850191507401524804883100139293960762951769421401913505800603868072841133953979121333540130194277141574804250585105629609890543493538147575812814532179276658340640444685851353189769859359220861081439369606233560502155523715054674993222405816270256651845440832867606462775050785645787752250268270176701393007090574286875053871583867456205589665846594674496163630608431645119101000428019497020145192444835813229386528780341402408195769485163947784825357144435995703862220752429745170297476108246091748585621493694409815465330614230889233270451334275300323567272438370923395763862185047318518465323255676550083709791234827963754622467353387048339471136388680802644226621713245974612543844971026909932870030547870021166912105201346630013040109371433179207028365963947036839299611440199925307524 160393788163469633441359760340835969588544509443643751483897353771316648819261863547909772532064905988555131845362266260287965606008692779703916212920474389043108320343799270868726007595979437241259826368770344130232412986145601113548346650208159009295692427944096151855061878429999975289872337263887787089589994879058756819203343697768045876988438268785882577398494267961964943646807279109302334695848949944764381977445527030305479907932841581392151863795101528021141409716868166912913572311178012990398590456789311090494406560854956426635542190386524781072916029285590432392757777101172644192414026526401635385048778185801946169933610823277450751423569922263207344288760899618128593838183239208577217577747169032766467910542658878056423760847795302589252047250167405958362704719682243532543199852186186402997368862586543182451466022644848626401365753385374639169302292314836329797622632130246744466073238414036624372007359218643211016348965315925079246698987591948811564348395550519205602371501559696038345023869502384687582175380734658038674043475507177139123471330022986832911157495509917071942597628013731037493265588716663789662434180143615761602020817300791527898468848290148509949403210991582176530252701952111215821820046910941417459857086629387671160420724624626118252231772426715754678014266359327309829405314722960893978199742956530275334645005225545503809760696067130363993731841347139419810932655281395700019700990223521189718176016246587485005471420870190512767558745796503240583960362385525345750250666120099463495228383147919636346895995345196049309815055859937368128888445037302272506131810616397594733881704562537968394193738994612100238272910739558361433239366466766302794543844471018672636922355250051128779167967016033779580885834895553258575153893241865055228459220164678311408277225961241634510270019787261909726353299788687541526969560332586353012106976093532313502054003477403659875603281769166288125622319707467131133040222448414921665585864910566555802654845248181635002021170013754826744895931129086075169116894380938348427963348852465410681356627474706699249375810813979502779107952122138690699349464236231921903149973543630427029788287695522222802923918341645496252901503279782138413828405280492509743491328094628103248122111081318063899983303427701580816396769021020509029436622630880276373181307684907125629453878699521043165015012966212676634249793737964472613201664921415977436686457430912415870033193905860019441941767846658961796043135139120496862738147349076639669799095594904147644397869756518184271395542029520274978915017589350654387307315215944408606112210370899802428870475062754903744903505300867097983718012139898314492252008630175323504092790749741936896256220780214779462282287562951347862669564110185448339023462042468436622198433095541843402842368568903494206578713999433890832069797044580093279429893345366924515698693430533636175114718952553002711323921065487573763703498556862632514010285932736765306107251896854853276894116643437138569053055269936615822894087794410953247072397526784783459822209136626642572918867648971620696595202015357713910014023599920088504086029532070055428037686117886302292240060033296417549782475249832829935362892055872422526971607484255755037411415136955161535944316879405510683428646427908059527463566163297038905677167513645075855124497540746178932985312371340760969862952669039058054953926405985893430339107159859765307364303911890682903633832527997495432606901961181397501512899892374591760831689260003878561442412341793938461583004911096261862598605045826180028033234055967918251330866135442086212043468074244110224184759971965158453611344338685127 259522600832844442341825214461408267080336370317414259812203221675566690551187908243009868696562755978701074650504642363457587857801572566923760067049168805840173709417813274723259357173462419636013765918881428262308017054531033824134591682271585882645621986637642321307851581044117406915372348940455313379918392383394171407316558827204616103130578446768089933262016959752928326009113492218302270665997504090862453267927020158889116711400767382171359181530955420779071951713488085512952671016438565820644679561486627619147018549913932481631502308055884620398796600280240064860954619228636697621897091288413347235937142738793881980750346356411263995880570510731147915396440577907254333741869362878048329075535373808450970000992370345726622159297855302680818006369069041537189081655555340843840839404654562666583293095757900854626294145951066486676703138921667714587819000433234362890837756285338263994710698361463869930232717400212440341449296891115122832404350468945193552363510076842197187215014870185870436051430962190221570923911546991830810083770611279550312709870416366322159080792610002998733718820696606898242965467029344000361422177254964570711539600163433028633296226425679615722261038811178298974058987377958012664282650158473648429228480825692642172866337240478484748520414307507735011338401645525749305827237291773375985834589910301541208411520383073068466025086790918251655832406600919202794212835712546573992323240800441156933440826376322385512946477795697233985230370521519942395710684425449988746780319873027920241569186211418996425105852883022215222938525216938767429780124795325619632726936451559348412697936205117968493687961963845517829552021202770171896335063447389584317415817718224661438530966364845203252724687659921512972945680705644208864639057023547457894261414781142776521334129184404822689859834352194149494397362133266221282721062606660151531889478934348958395406598914668787414681021454707183014686322189373803551790077082411059068181533104517941440607561617423561289961744671189088935503441583291310175409329119276392880554855349427080558744360861709223592736601911820899021246938803730603887929574916657823797472401155026634249848886088045109614118417867292313740006567982783073285614226071706082414765619160335489295039004991807069757789177946304763460214472698212679452606808700687048144765043754988402073388588031803521808908344172688984487752764256625016110064085207977518684767122273904453223925488356735795830048398507257043340493760655697137896528932364735394974314243827479647316080094595876054551959709669136994051780834820745717176601714338269652746908815445430016743816804035251277715845773032365617585264044379351680843173742227584955835122985918454354858784163819210337170854665907165685576179704064965270853650122633842232090720398793564437302660084466082031228948778439379057253601420533218528371280084852768449320581793569827596938066488373954916217124524933560414897657477678196172644204563074311569556692357526464743820387654791012951383585234546594956463338773645764143016931756747645864899191815370187144728442582703646613919001018285614365755454856467526551279136815177857807678305956294587695299330634320171471421366342706038419601209486730368586157580039129374856037839434633975306728389152692634897212208987830316255296948730111081864262821603509348938075876927285916476409093558463089346591356647078854523385568157295219163881673382460183332579802674835286446765818879846515960755862578511265107292747727856129214228185076308343349697831093144438165083296250885708805707569631955759050058581104077134830356532212765455126321414901253451138590148707008804458065051544263992651 419916388996314075783184974802244236668880879761058011296100575446883339370449771790919641228627661967256206495866908623745553463810265346627676279969643194883282029761612545591985364769441856877273592287651772392540430040676634937682938332479744891941314414581738473162913459474117382205244686204343100469508387262452928226519902524972661980119016715553972510660511227714893269655920771327604605361846454035626835245372547189194596619333608963563511045326056948800213361430356252425866243327616578811043270018275938709641425110768888908267044498442409401471712629565830497253712396329809341814311117814814982620985920924595828150683957179688714747304140432994355259685201477525382927580052602086625546653282542841217437911535029223783045920145650605270070053619236447495551786375237584376384039256840749069580661958344444037077760168595915113078068892307042353757121292748070692688460388415585008460783936775500494302240076618855651357798262207040202079103338060894005116711905627361402789586516429881908781075300464574909153099292281649869484127246118456689436181200439353155070238288119920070676316448710337935736231055746007790023856357398580332313560417464224556531765074715828125671664249802760475504311689330069228486102697069415065889085567455080313333287061865104603000752186734223489689352668004853059135232552014734269964034332866831816543056525608618572275785782858048615649564247948058622605145490993942274012024231023962346651616842622909870518417898665887746752789116318023182979671046810975334497030985993127383736797569359338632772001848228218264532753581076876135558668569832627892138858747067956943146579640767655936887881700958457618067824931942328533329574429914155887111959662189243334075453321614896332031892654675955292553831515601197467439792950265412513122720634945821087929611355145646457200129854139456059220750661921953762809690622939246504543996455027881271897460602392072447290284303223873471140308641896840934684830299530825980733767398015084497243262406865605196291982914684943915680399372712377385344526223500214741308518204201892491240100988336415922842112412725800401800354890925869294587279039152889745700622374698657061279637173783567332417042336208937809992908071262565211699442631352198592158256947254963592543161116073125133657772481374006344276611241719233188482043431331567324517946351439895527702842466731324564973923357138901661122002557994589488723265750129393496121453579704816869093958682262595815271990166353916005136536895794817634759267079713812034644113339422383794960477964352394238823355251698657269030695852410096371563909029554214061353021025816329819172687279098006181460749278333232715568982056519249995335425750857760279339215776668196291755040384599425116633136953470117033438849268175150719192673584676310668712918831889106280705502453034985525435527492438812948085671217577798621650709978198135373836280487000361233113181207326507918928448445999047988661360976235058805158214849007048334862799609423319597097281771434450089952638289816531572286232861440175096264004154274430648359014024506813787301361450352618234615596220300972079665468880067446639783222844709927863106343642412473997591570694353467888971148817955871249536572378786241008684551646613630611075250849770930468264333469572040407895637634258224314824412296274378903168498771022994013931001424826662655342078870834430107561219599747893581440522083701205057312012489620043097887166978747177129669452712374513456188469480472446504794260627748503805989016765568347228259273505486232103544879255796805067570168237001585230086614338133102748607863078900897212533458369327695248814333466980769616518662888602677778 679438989829158518125010189263652503749217250078472271108303797122450029921637680033929509925190417945957281146371550987203141321611837913551436347018812000723455739179425820315244721942904276513287358206533200654848447095207668761817530014751330774586936401219380794470765040518234789120617035144798413849426779645847099633836461352177278083249595162322062443922528187467821595665034263545906876027843958126489288513299567348083713330734376345734870226857012369579285313143844337938818914344055144631687949579762566328788443660682821389898546806498294021870509229846070562114667015558446039436208209103228329856923063663389710131434303536099978743184710943725503175081642055432637261321921964964673875728817916649668407912527399569509668079443505907950888059988305489032740868030792925220224878661495311736163955054102344891704054314546981599754772031228710068344940293181305055579298144700923272455494635136964364232472794019068091699247559098155324911507688529839198669075415704203599976801531300067779217126731426765130724023203828641700294211016729736239748891070855719477229319080729923069410035269406944833979196522775351790385278534653544903025100017627657585165061301141507741393925288613938774478370676708027241150385347227888714318314048280772955506153399105583087749272601041731224700691069650378808441059789306507645949868922777133357751468045991691640741810869648966867305396654548977825399358326706488848004347471824403503585057668999232256031364376461584980738019486839543125375381731236425323243811305866155303978366755570757629197107701111240479755692106293814902988448694627953511771585683519516291559277576972773905381569662922303135897376953145098705225909493361545471429375479907467995513984287979741535284617342335876805526777196306841676304432007288959971016982049726963864450945484330051279889989688491650208715148024055219984092411685545906656075885933962230230292867201306741234704965324678580654154994964086214738236620376613237039801948931119602438683869968483028757581944659356133004615902814295668695519935552619491134189073059551319571798845349198125146434849014637621300821601829729599898475208614069547569498094775853683695529486059871612442031160754076230123732914639245348284985056857423904674573022566415299081838200121064932203415561659320311107736825714417445867934650240032254372662711395194883929776231054763128086782831701311590645609755322251214504833329835337371014806220701978721322317884170619331611102038564861173048477030656450514772655796012078547429618427583249863442276558058948270293375314961367794263082476687230842088740510743892483714099929841261759835916504083133257459176595051365598333154246100898601676178599493085345235174338762586650646613824548418635453803991619377282719015028972240115990046323707310152900803639230682670718008162537501067556664476270878192005339272638111017150021990063050903823156862280570188830051247695700462835145572970932608403559018453913254977802419412081359904419491966949784340917669426225463041336223524363126528749571635085939239280935911022076513258205839877000932029804033056264848534597238586586445420923736534973191062359659887785670784649598707061692890901328673639360392515160661909669137781865516609594842131685743005467113090284404905774992722622264675305107846622088540570121361026385460767431320374532342952006878352112579131751172429297519454152576246826748104826090240996424221193685872080226430466969653582463576435271592221029416944332058983711612087008355604633020217201841876690577957104598630670268628175506682513873277737868957344280145195442210237578964395291666352338854873270581146387404482173989574074583714432866670429 1099355378825472593908195164065896740418098129839530282404404372569333369292087451824849151153818079913213487642238459610948694785422103260179112626988455195606737768941038365907230086712346133390560950494184973047388877135884303699500468347231075666528250815801119267633678499992352171325861721349141514318935166908300027860356363877149940063368611877876034954583039415182714865320955034873511481389690412162116123758672114537278309950067985309298381272183069318379498674574200590364685157671671723442731219598038505038429868771451710298165591304940703423342221859411901059368379411888255381250519326918043312477908984587985538282118260715788693490488851376719858434766843532958020188901974567051299422382100459490885845824062428793292713999589156513220958113607541936528292654406030509596608917918336060805744617012446788928781814483142896712832840923535752422102061585929375748267758533116508280916278571912464858534712870637923743057045821305195526990611026590733203785787321331565002766388047729949687998202031891340039877122496110291569778338262848192929185072271295072632299557368849843140086351718117282769715427578521359580409134892052125235338660435091882141696826375857335867065589538416699249982682366038096469636488044297303780207399615735853268839440460970687690750024787775954714390043737655231867576292341321241915913903255643965174294524571600310213017596652507015482954960902497036448004503817700431122016371702848365850236674511622142126549782275127472727490808603157566308355052778047400657740842291859282687715164324930096261969109549339458744288445687370691038547117264460581403910444430587473234705857217740429842269451363880760753965201885087427238555483923275701358541335142096711329589437609594637867316509997011832098080608711908039143744224957554372484139702684672784952380556839475697737090119542631106267935898685977173746902102308485153160619882388990111502190327803698813681995249627902454125295303605983055672921450676144063020535716329134686935927132375348633953873927574041076920296302187008046080864461776119705875497591263753212063038946337534541069276961427363421702621956720655469193062487653222437315198717150552340756809123233655179774448203090285167933725822710507913496684499488776103266731279513670262674381361237138057337073334140694317452013436956136679056416693671363821697180657746634779457479073521494452651756755058450492306731757880245803993556595585466764510927674281683538191411842852881927426374028731215089053613567552245332407415063091792359464262540922672247237237036023300664532198670213066451532113172539640938460304419773446697775452950867078089655089191362231263640637344329698831048723228157417851671514025243943105514513554539254846938368864933018060570437128572847399752453878240415266709238997291986463569516558062571776998713664990536053082100003763317004953424943855688815771672700041249039196993142767570550063164428903026970754074021416931656392220379430148313782960634261088408239282291576373103938014951197659913131288861814179658101035804496526114335544940065296507161617219864383814719331165483408883083150193458887558525086392616602419830845582504597713533890993241119535690482472023027107249363663978617780918674354244302850603526683332356636078188341134175836243257056091836715713003484256346764884945773322659839670599819145555336965937879776939241787093251300131949561713795846574641686266612324697629278505698361700269528354136632329640706104724304595542873132801539456158116881268983353136826206218607445037806216378104116902372173054762479318940847906105958929510231809780343340327572258370567249551388331639908841636218815640970343691102377321469348207 1778794368654631112033205353329549244167315379918002553512708169691783399213725131858778661079008497859170768788610010598151836107033941173730548974007267196330193508120464186222474808655250409903848308700718173702237324231091972461317998361982406441115187217020500062104443540510586960446478756493939928168361946554147127494192825229327218146618207040198097398505567602650536460985989298419418357417534370288605412271971681885362023280802361655033251499040081687958783987718044928303504072015726868074419169177801071367218312432134531688064138111438997445212731089257971621483046427446701420686727536021271642334832048251375248413552564251888672233673562320445361609848485588390657450223896532015973298110918376140554253736589828362802382079032662421171846173595847425561033522436823434816833796579831372541908572066549133820485868797689878312587612954764462490447001879110680803847056677817431553371773207049429222767185664656991834756293380403350851902118715120572402454862737035768602743189579030017467215328763318105170601145699938933270072549279577929168933963342150792109528876449579766209496386987524227603694624101296711370794413426705670138363760452719539726861887676998843608459514827030638024461053042746123710786873391525192494525713664016626224345593860076270778499297388817685939090734807305610676017352130627749561863772178421098532045992617592001853759407522155982350260357557046014273403862144406919970020719174672769353821732180621374382581146651589057708228828089997109433730434509283825980984653597725437991693531080500853891166217250450699224044137793664505941535565959088534915682030114106989526265134794713203747651021026803063889862578838232525943781393416637246829970710622004179325103421897574379402601127339347708903607385908214880820048656964843332455156684734399748816831502323805749016980109231122756476651046710032393730994513994031059816695768322952341732483195005005554916700214952581034779450298570069270411158071052757300060337665260254289374611002343831662711455872233397209924912205001303714776384397328739197009686664323304531634837791686732666215711810442001043003443558550385069091537696267291984884696811926406024452338609293526792216479363844361398057458737349753261781669556346200007941304302080085561756219561358202989540488895800014628559750262670554124924351343911396076069843369141829663387255304576257580738539586759762082952341513202497018498389925420804135525733894983662259513729727023501259037476067296076262102090598208695847180070859103870906893880968505922110679513594082248934825573985174434245795195649226871780549044930517339181489552880708339849491005695445364521099813939381064429381877474258316453347692624737028450749687893301841497584982689481436696024241120192224682471468907212655382699285320999296616470320197293254447716721827528037120638764480034195196958764216493799832921694690104299943020150005048140738893215676598727433589219594387864264795779397884061568760763053673169768143701783543322888278932620623885376172625085338542784629785376131612053574825875976318583674875425704260815651360969516465147931684790697474144970507316353137393021907942164485499204675642839826597383373373351700746609756179139279690587812136109819460198368815018099641545301431418580742018249778714101391018111330878435305455067134349045300438031139520087679917944758129051820918844423729429469015866372093401389791092702565694053499699384233780495958821106285912104282539995896816572290077133598439869728968277338957769846423420449321728384173482702747572640801230269161832814125643974916273790377005222553577906536653662233601890243204910489988023623297814959917765686091754336018636 2878149747480103705941400517395445984585413509757532835917112542261116768505812583683627812232826577772384256430848470209100530892456044433909661600995722391936931277061502552129704895367596543294409259194903146749626201366976276160818466709213482107643438032821619329738122040502939131772340477843081442487297113462447155354549189106477158209986818918074132353088607017833251326306944333292929838807224782450721536030643796422640333230870346964331632771223151006338282662292245518668189229687398591517150388775839576405648181203586241986229729416379700868554952948669872680851425839334956801937246862939314954812741032839360786695670824967677365724162413697165220044615329121348677639125871099067272720493018835631440099560652257156095096078621818934392804287203389362089326176842853944413442714498167433347653189078995922749267683280832775025420453878300214912549063465040056552114815210933939834288051778961894081301898535294915577813339201708546378892729741711305606240650058367333605509577626759967155213530795209445210478268196049224839850887542426122098119035613445864741828433818429609349582738705641510373410051679818070951203548318757795373702420887811421868558714052856179475525104365447337274443735408784220180423361435822496274733113279752479493185034321046958469249322176593640653480778544960842543593644471948991477777675434065063706340517189192312066777004174662997833215318459543050721408365962107351092037090877521135204058406692243516509130928926716530435719636693154675742085487287331226638725495889584720679408695405430950153135326799790157968332583481035196980082683223549116319592474544694462760970992012453633589920472390683824643827780723319953182336877339912948188512045764100890654692859507169017269917637336359541001687994620122919963792881922397704939296387419072533769212059163281446754070228773753862744586945396009567477896616302516212977315650711942453234673522808704368598695464580483488904745602176052326084079521728901363080873381589388976310538134719180296665329799807438286845208507188311760857248859104858902885184255587057743697876738024267207284988771869364464706065515271040538284600183920514422199895529076958365209147732527181971990927566934646565991184560060261175278354055834976111208035581593755824430600922595341046877562229940708946011763699626690803980768037582759897767024026888464442844734378097752033390296341818212575259073271082742822491946521006270900036661569265345797705141569876383186463850096027291351155704165760941179587485922195663266358143509428594357916750630105549599357772655387500697327308821766512719009349350290785879265005831575417939146094886807595784740451283710763260430600702415734305019206649980971556264201447841096344523351554414454756594678248765072082223922785453070649408524318291283080039836755355826224715435492518573173720864483797512201912189160349488648693367390145548982217143147815711288956380105501754404343293615804795921187999777314209882543723687934258176382984075119695992216947571821545289303913947152722442730821180628138167910370816041615090836492645568644630370692134999874031014834984156361703495593708969739812852753524669083212738566636080946133073855845374727853859119843117897471506486490354122310801895498350456277623489772552756578261506834805938106731114815134782070340012907671705140108630958665643016883882637905991062705937675029561418577580167939976031477359314890391682778205082595480765487175242918241744988644720201412115163209935137896027845849546322310906672629639056766766190389860806864475012974285031641151754973550080875203300608815002896918234108912032800851441631536550398829659842113455930261456788469075805366843 4656944116134734817974605870724995228752728889675535389429820711952900167719537715542406473311835075631555025219458480807252366999489985607640210575002989588267124785181966738352179704022846953198257567895621320451863525598068248622136465071195888548758625249842119391842565581013526092218819234337021370655659060016594282848742014335804376356605025958272229751594174620483787787292933631712348196224759152739326948302615478308002356511672708619364884270263232694297066650010290446971693301703125459591569557953640647772866493635720773674293867527818698313767684037927844302334472266781658222623974398960586597147573081090736035109223389219566037957835976017610581654463814709739335089349767631083246018603937211771994353297242085518897478157654481355564650460799236787650359699279677379230276511077998805889561761145545056569753552078522653338008066833064677402996065344150737355961871888751371387659824986011323304069084199951907412569632582111897230794848456831878008695512795403102208252767205789984622428859558527550381079413895988158109923436822004051267052998955596656851357310268009375559079125693165737977104675781114782321997961745463465512066181340530961595420601729855023083984619192477975298904788451530343891210234827347688769258826943769105717530628181123229247748619565411326592571513352266453219610996602576741039641447612486162238386509806784313920536411696818980183475676016589064994812228106514271062057810052193904557880138872864890891712075578305588143948464783151785175815921796615052619710149487310158671102226485931804044301544050240857192376721274699702921618249182637651235274504658801452287236126807166837337571493417486888533690359561552479126118270756550195018482756386105069979796281404743396672518764675707249905295380528337800783841538887241037394453072153472282586043561487087195771050338004876619221237992106041961208891130296547272794011419034894794967156717813709923515395679533064523684195900746121596495237592781658663141211046849643265685149137063011959376785672040835496770120712189615475633633256433598099894870919910362275332714529710999873500700582311365507709509073821425607376137880187806407084592341003364389661486341820708764207406930779007964048643297410014437060023612181176119149339883673841386186820483953544036418051125740723574571513962297244928905119381494155973836867396030294106231989682674009614128835928577974658211414784285239840990336446427075035562395464249008057218871296899884445501326163323367613257794763969637026767556781299534173252024477934516468596264224187798534183346640561934943122504470993384499558394280808125060754558712283757788637100582252960305840265223091827689812478176674050758366899274718000007013889341142937842108334243895891452618919368957296764695391692665726032107809639290579696510156952649080672432157320046610294359628963831707398870953376843288481615062080249848925237293152863852027849595782100481837932513210192660185983779175198271451304486741607427944526685858663018880495880192445430665476539032491265227360606556759750221485196692017933674511368071272905446022053104516339178946519774853835848466101025322877205874661466833568711943242278920772730457229218726428600468876022257177162094298626463941771000264313368555919168791203971337320279756613520039497749226146013217375795080042020750440546662098185730696801827396035042883624782098758990887593446540033377421268452017456085736277904466829261261445996349204153849271184716098228687453287068736335897574817823661268676519053059506088494574563343509612047653775515300802984569099194055791477090985820225450496140645565695034453331874741460888817683465411270890179222474560830141385479 7535093863614838523916006388120441213338142399433068225346933254214016936225350299226034285544661653403939281650306951016352897891946030041549872175998711980204056062243469290481884599390443496492666827090524467201489726965044524782954931780409370656402063282663738721580687621516465223991159712180102813142956173479041438203291203442281534566591844876346362104682781638317039113599877965005278035031983935190048484333259274730642689742543055583696517041486383700635349312302535965639882531390524051108719946729480224178514674839307015660523596944198399182322636986597716983185898106116615024561221261899901551960314113930096821804894214187243403681998389714775801699079143831088012728475638730150518739096956047403434452857894342674992574236276300289957454748002626149739685876122531323643719225576166239237214950224540979319021235359355428363428520711364892315545128809190793908076687099685311221947876764973217385370982735246822990382971783820443609687578198543183614936162853770435813762344832549951777642390353736995591557682092037382949774324364430173365172034569042521593185744086438984908661864398807248350514727460932853273201510064221260885768602228342383463979315782711202559509723557925312573348523860314564071633596263170185043991940223521585210715662502170187716997941742004967246052291897227295763204641074525732517419123046551225944727026995976625987313415871481978016690994476132115716220594068621622154094900929715039761938545565108407400843004505022118579668101476306460917901409083946279258435645376894879350510921891362754197436870850031015160709304755734899901700932406186767554866979203495915048207118819620470927491965808170713177518140284872432308455148096463143206994802150205960634489140911912413942436402012066790906983375148460720747634420809638742333749459572544816355255620650368642525120566778630481965824937502051528686787746599063485771327069746837248201830240622414292114091144113548012588941502922173922579317114510560026222084428439032241995687271782192256042115471848273783615329219377927236490882115538457002780055175497420019030591267735267080785689354180729972415574589092466145660738064108320829284487870080322754870634074347890736198334497713654530039827857470275612338377668016152230357375465267597210617421406548885083295613355681432520583277661923935732885887419076915871603891422918758549076724060771761647519132270396187233470488055367982663482282967433345935599057033514353854924012866776267631965176259350658964413498929730578206355042703495197439610167987363110826513014854293348133541119295949435640449813292759897218567743631098910940019564543859175727783195469060556090580716506802590950243078879089785063386105924698971563278090788984034186631685798310346209213597617722368846919314478118796681516333957581862776549993708004906897147592812565183468080493447629219600783142537192777130308429470395397907454436300679563316805975887602236242275806825997456107171778952512481333848210429541686120909669933782714872712827764266975954780452979643987670091427737387888389395567508059548765347860716841550076392745239516213209961354759010197551961694734292617018727414991502651924681808915001718863531085064101156454327995865375074633600785116818064081802159811719012196792280976524093898541263448325977604480340961147999446135092949692455580655293056851373713685710033941033946330719773788552306171026707973353452745811332346477419056109549424742026933171592122395594259829436299640802616497003874231925420667369983579583191682698562855260764953204316476522666749800332444136324072744136666680391594635228347414374754477727835304773506278011287647343307524726820440679263029905946752322 12192037979749573341890612258845436442090871289108603614776753966166917103944888014768440758856496729035494306869765431823605264891436015649190082751001701568471180847425436028834064303413290449690924394986145787653353252563112773405091396851605259205160688532505858113423253202529991316209978946517124183798615233495635721052033217778085910923196870834618591856276956258800826900892811596717626231256743087929375432635874753038645046254215764203061401311749616394932415962312826412611575833093649510700289504683120871951381168475027789334817464472017097496090321024525561285520370372898273247185195660860488149107887195020832856914117603406809441639834365732386383353542958540827347817825406361233764757700893259175428806155136428193890052393930781645522105208801862937390045575402208702873995736654165045126776711370086035888774787437878081701436587544429569718541194153341531264038558988436682609607701750984540689440066935198730402952604365932340840482426655375061623631675649173538022015112038339936400071249912264545972637095988025541059697761186434224632225033524639178444543054354448360467740990091972986327619403242047635595199471809684726397834783568873345059399917512566225643494342750403287872253312311844907962843831090517873813250767167290690928246290683293416964746561307416293838623805249493748982815637677102473557060570659037388183113536802760939907849827568300958200166670492721180711032822175135893216152710981908944319818684437973298292555080083327706723616566259458246093717330880561331878145794864205038021613148377294558241738414900271872353086026030434602823319181588824418790141483862297367335443245626787308265063459225657601711208499846424911434573418853013338225477558536311030614285422316655810614955166687774040812278755676798521531475959696879779728202531726017098941299182137455838296170904783507101187062929608093489895678876895610758565338488781732043168986958436124215629486823646612536273137403668295519074554707292218689363295475288675507680836408845204215418901143889109280385449931567542712124515371972055102674926095407782294363305797446266954286389936492095480125083662913891753036875944296127236369080211083687144532120416168599500405741428492662494088471154880290049398401280197328349506715348941438596804241890502429119713664481422156095154791624221180661791006800571071845440758818949052655308713743445771261647968198974161891681902839653222504472619413860420971161452497763361912142884163676152077466502422674026577671293693700215233122599484794731612862192465297627295109279078481146667724465936511370583572317763753281718126137911907036000774123256142933516420296051313516396420981729894418640055557055763835821753005199416971570291980130126972028740020042206237661832516986679665611614706170784522713624143596872442473060150660653987569579750132611793762440122411460926999654095914036065611923491550645246832691729453543415344655571669702718080208320036190116293155558127710752785152697171149114065436355792445733753208707956712406620256992012135252897452034294147638610880764200077482439859228788114455522414798344032552388907874533864033400427795759615494224602076458336220636625051193922491593988314282827585054796871887632251795695083743282005852802424125087568115961072180495431218821020061846017102229567107161216821930172991713206021201955155037104410487537429976076829955501872547543193764473248006730874014263349802563155334014016254003288379167941326549443531014152397869490069784072610567822995485193644848259710735758068943755339516547826088570320525315633247120893171938192458157482580455453797910515400043422869758105381019472176465026772935997710619901737590736088137801 19727131843364411865806618646965877655429013688541671840123687220380934040170238313994475044401158382439433588520072382839958162783382045690739954927000413548675236909668905319315948902803733946183591222076670254854842979528157298188046328632014629861562751815169596835003940824046456540201138658697226996941571406974677159255324421220367445489788715710964953960959737897117866014492689561722904266288727023119423916969134027769287735996758819786757918353236000095567765274615362378251458364484173561809009451412601096129895843314334804995341061416215496678412958011123278268706268479014888271746416922760389701068201308950929678719011817594052845321832755447162185052622102371915360546301045091384283496797849306578863259013030770868882626630207081935479559956804489087129731451524740026517714962230331284363991661594627015207796022797233510064865108255794462034086322962532325172115246088121993831555578515957758074811049670445553393335576149752784450170004853918245238567838502943973835777456870889888177713640266001541564194778080062924009472085550864397997397068093681700037728798440887345376402854490780234678134130702980488868400981873905987283603385797215728523379233295277428203004066308328600445601836172159472034477427353688058857242707390812276138961953185463604681744503049421261084676097146721044746020278751628206074479693705588614127840563798737565895163243439782936216857664968853296427253416243757515370247611911623984081757230003081705693398084588349825303284667735764707011618739964507611136581440241099917372124070268657312439175285750302887513795330786169502725020113995011186345008463065793282383650364446407779192555425033828314888726640131297343743028566949476481432472360686516991248774563228568224557391568699840831719262130825259242279110380506518522061951991298561915296554802787824480821291471562137583152887867110145018582466623494674244336665558528569291370817199058538507743577967760160548862078906590469441653871821802778715585379903727707749676523680627396471461016615737383064000779150945469948615397487510512105454981270905202313393897065181534035072079290672825452540658252006357898697614008404448065653568081164009899402754490516490236604075926206317024128299012350565661736778948213480579864090814209035807421663297051314203009277837103588615738069286145116394676894219647987717044650241867811204385437804217532909167100469370349125152390895021205167954902381293766906760509531277715767066897030452419709431678682024685542084792623430793439477642188289929052472360452660738121622293932774494801265585232460806224022131056513178936693881543005946940793687800002109244203491520374072487001698236697009590298635934853620885139111124115943133570070919111006215371705840516583871046114604402034458534020648903319395140477554454305249610144368658894466727342945176977230520615859090146600437238451228842742231921021040644740146165754222978661461547557304954322484126862187572400327337080223234119000907600690800186346025726228448625921535720979382575037444991779240567543462031535527000276331708137031205207089504956005598807543583548765598869229292874230952389490493908111243329491449838872561306860108924210457519399346928741509124867753007326429295868860100069934604583936806580312753353157019525117362283510171994706709908068309216268065265941405661601857248211888478124173247463917110776286221646336095499935499955980084326760074682149040574390123565678745315312339533448945037790843588697510292686281076484799748416152563628427842902418456631799016104469752142565092987275115965691257217244682329124837874175090682145324890154521150705062878887297483464112370080460724531060581000620642034890123 31919169823113985207697230905811314097519884977650275454900441186547851144115126328762915803257655111474927895389837814663563427674818061339930037678002115117146417757094341348150013206217024395874515617062816042508196232091270071593137725483619889066723440347675454948427194026576447856411117605214351180740186640470312880307357638998453356412985586545583545817236694155918692915385501158440530497545470111048799349605008780807932782250974583989819319664985616490500181236928188790863034197577823072509298956095721968081277011789362594330158525888232594174503279035648839554226638851913161518931612583620877850176088503971762535633129421000862286961667121179548568406165060912742708364126451452618048254498742565754292065168167199062772679024137863581001665165606352024519777026926948729391710698884496329490768372964713051096570810235111591766301695800224031752627517115873856436153805076558676441163280266942298764251116605644283796288180515685125290652431509293306862199514152117511857792568909229824577784890178266087536831874068088465069169846737298622629622101618320878482271852795335705844143844582753221005753533945028124463600453683590713681438169366089073582779150807843653846498409058731888317855148484004379997321258444205932670493474558102967067208243868757021646491064356837554923299902396214793728835916428730679631540264364626002310954100601498505803013071008083894417024335461574477138286238418893408586400322893532928401575914441055003985953164671677532026901233995222953105336070845068943014727235105304955393737218645951870680913700650574759866881356816604105548339295583835605135149946928090649719093610073195087457618884259485916599935139977722255177601985802489819657949919222828021863059985545224035172346735387614872531540886502057763810586340203398301790154523024579014237853984925280319117462376345644684339950796718238508478145500390285002902004047310301334539804157494662723373064791406773085135216310258764960728426529094997404948675379016383257357360089472600686879917759626492344386229082513012660739912859482567208129907366312984607757202862627800989358469227164920932665741914920249651734489952700575302022648292247697043934874906685089737009817354698979518216770167230855711135180228410808929370806163150474404225905187553743322722942318525744710892860910366297056467901020219059562485409060816863859694151547663304170815068668344511016834293734674427672427521795154187877921962029041077679209781194128571786898181104698712119756086317131008672600241673084660665334552917958365416731573011255641468990051168972176807594448820266460654820019454912982941567811056145042760623787571687588883422679966591428230354192990617456706892116323532914703862051049237978244111725882722821532878631591081700070148726819687842108764621151326747722670295029312882036307093077788770992960738270551073600091334365264908354155412571685891572837895207766394006117119227007672402692446898377688693482895207933986904153604771839914251782381518674182379130243677691789195294437003914493464995496325683165611157095908214513645066318293070461121222341927581317987777103826738264352817286253523605467931567908175093197931911302846702051507713629756326563921739640639578224990952603382075787407008061894148428714425337514956336183303572018011808939475175470433089995438933118867623059203366925582534660784893893187606241723518883638693699973203986815200774338031951603729724137581932748603691507474775494481321857741095379782756065149095367571411637757273276102613154214700742771443986299968653663307800431598938378110416620521582995356755546135943235405554564573574820984268316955640577396853396722241680482738211378123027924 51646301666478397073503849552777191752948898666191947295024128406928785184285364642757390847658813493914361483909910197503521590458200107030669992605002528665821654666763246667465962109020758342058106839139486297363039211619427369781184054115634518928286192162845051783431134850622904396612256263911578177681758047444990039562682060218820801902774302256548499778196432053036558929878190720163434763834197134168223266574142808577220518247733403776577238018221616586067946511543551169114492562061996634318308407508323064211172855103697399325499587304448090852916237046772117822932907330928049790678029506381267551244289812922692214352141238594915132283499876626710753458787163284658068910427496544002331751296591872333155324181197969931655305654344945516481225122410841111649508478451688755909425661114827613854760034559340066304366833032345101831166804056018493786713840078406181608269051164680670272718858782900056839062166276089837189623756665437909740822436363211552100767352655061485693570025780119712755498530444267629101026652148151389078641932288163020627019169712002578520000651236223051220546699073533455683887664648008613332001435557496700965041555163304802106158384103121082049502475367060488763456984656163852031798685797893991527736181948915243206170197054220626328235567406258816007975999542935838474856195180358885706019958070214616438794664400236071698176314447866830633882000430427773565539654662650923956647934805156912483333144444136709679351249260027357330185901730987660116954810809576554151308675346404872765861288914609183120088986400877647380676687602773608273359409578846791480158409993883932102743974519602866650174309293314231488661780109019598920630552751966301090422279909345013111834548773792259729738304087455704250803017327317006089696720709916823852106514323140929534408787713104799938753847907782267492838663828383527060612123884959247238669605838870625910621356553201231116642759166933633997295216849234402382298350897776120534055282744091007033883770099997158340934375363875408387008233458482609355310346993079313584888637218186921151099927809335024430548517837746385206400166926607550432103961105023367676216373411706943337629397201579973613893280905296542345069179581421372871959176624289509234896977359510211647568484605057525732220155629333326630930196511413451144795239867047279530059302684675064079589351880837079982169137714860141986684629695632840382424176447954784682471560318793446276678224580991496329859786723397661840878940561802112077883861374589717806913370619103538353866944030136270255636401432983031616579876779639591513900997918929882361498856147152004827279092061661370424378203288437820652828925471077592031227447648857837432121968348984459483431723239405403924746195483734528682747468591161503905098705781052972280439397971776503034436022965748223481354129641220200528572816493751096387333592726536312984060961989372667578666784312626725176573760565261093810232288157221023154512372530714438128407244902631005051779398671171770331881995693734032538958357218692611433427616351544850273407798026466720029885511130083586646333119612495305206776747431716711261059358013965759238771411770912509027112976685068073046607393646904654286821463482145722011591998700728741467778494534481453545587082190006515649383243779649358060704874524529224916451578814060658834032357810298382527945165219734193635473159966899527534412714100644304114261147611493919003847008224439519112701329792890075442346225580167319827790320901703945515572671332541787548456052111218756295075547564629635327661302850707833230930636818088560295709085724279883863155614439104689766933857446772741063738832020157918047 83565471489592382281201080458588505850468783643842222749924569593476636328400490971520306650916468605389289379299748012167085018133018168370600030283004643782968072423857588015615975315237782737932622456202302339871235443710697441374321779599254407995009632510520506731858328877199352253023373869125929358421944687915302919870039699217274158315759888802132045595433126208955251845263691878603965261379667245217022616179151589385153300498707987766396557683207233076568127748471739959977526759639819706827607363604045032292449866893059993655658113192680685027419516082420957377159546182841211309609642090002145401420378316894454749985270659595777419245166997806259321864952224197400777274553947996620380005795334438087447389349365168994427984678482809097482890288017193136169285505378637485301136359999323943345528407524053117400937643267456693597468499856242525539341357194280038044422856241239346713882139049842355603313282881734120985911937181123035031474867872504858962966866807178997551362594689349537333283420622533716637858526216239854147811779025461643256641271330323457002272504031558757064690543656286676689641198593036737795601889241087414646479724529393875688937534910964735896000884425792377081312133140168232029119944242099924198229656507018210273378440922977647974726631763096370931275901939150632203692111609089565337560222434840618749748765001734577501189385455950725050906335892002250703825893081544332543048257698689840884909058885191713665304413931704889357087135726210613222290881654645497166035910451709828159598507560561053801002687051452407247558044419377713821698705162682396615308356921974581821837584592797954107793193552800148088596920086741854098232538554456120748372199132173034974894534319016294902085039475070576782343903829374769900283060913315125642261037347719943772262772638385119056216224253426951832789460546622035538757624275244250140673653149171960450425514047863954489707550573706719132511527107999363110724879992773525482730661760474264391243859572597845220852134990367752773237315971495270095223206475646521714796003531171528908302790437136013789017745002667317872142081846857202166593913805598669698864665659403987272504303886669710623710635604276060561839346812277084007139405035098438605703140509984615873473672158800848455162474155078037523791106877710507612696260086106842015468363501538923773740899544141250797237806059371158820978364370060512809945971602142662604433589359871125486459418709563283228040891422109781596965257692810784678125534459250383141466288577468955085439955285777739245687570405159839211028697046100246333920452831912823929309912292194765451066663749250253847058169879866051007021916088534298923343771181772541294173017586962703595157605962226936803377786565434598831474288279003612669719857107800694950734427284658539341529100754519216442092400192293800619907181758659450542746164412427885821956169755766673695786011320299127869020658942949787293127496091207927308117144370628689910788763576813384182023076362960965626318999608227497534454682901858222590523524566058495339726091096927841252227438711401574423436946350759658024063000955322179192627266189058957170682714617614560534826606441394636968347034286482879277774066864221509418600060594877170182203832049437789728890654208018324588858419250082448056143807643396847975654945739643193494817251703485988769668684103372887335446363953714728308750746052248033838398729544242522695354482999934000434559070888269858198411374675534891239428078174980048128726886033284558992442352079872419602875979163568013438077923372290828587686182954031795701263650297854704847423931394745267163787254169014421546477043398280945971 135211773156070779354704930011365697603417682310034170044948698000405421512685855614277697498575282099303650863209658209670606608591218275401270022888007172448789727090620834683081937424258541079990729295341788637234274655330124811155505833714888926923295824673365558515289463727822256649635630133037507536103702735360292959432721759436094960218534191058680545373629558261991810775141882598767400025213864379385245882753294397962373818746441391542973795701428849662636074260015291129092019321701816341145915771112368096503622721996757392981157700497128775880335753129193075200092453513769261100287671596383412952664668129817146964337411898190692551528666874432970075323739387482058846184981444540622711757091926310420602713530563138926083290332827754613964115410428034247818793983830326241210562021114151557200288442083393183705304476299801795428635303912261019326055197272686219652691907405920016986600997832742412442375449157823958175535693846560944772297304235716411063734219462240483244932620469469250088781951066801345738885178364391243226453711313624663883660441042326035522273155267781808285237242729820132373528863241045351127603324798584115611521279692698677795095919014085817945503359792852865844769117796332084060918630039993915725965838455933453479548637977198274302962199169355186939251901482086470678548306789448451043580180505055235188543429401970649199365699903817555684788336322430024269365547744195256499696192503846753368242203329328423344655663191732246687273037457198273339245692464222051317344585798114700925459796475170236921091673452330054628234732022151322095058114741529188095466766915858513924581559112400820757967502846114379577258700195761453018863091306422421838794479041518048086729083092808554631823343562526281033146921156691775989979781623231949494367551670860873306671560351489918994970072161209219325628124375005562599369748160203497379343258988042586361046870601065185606350309740640353129806743957233765493023230890549646016785944504565271425127629672595003561786510354243161160245549429977879450533553468725835299684640749358450059402718246471038219566262840413703078542248773464752598697874910622037375081039071110930610133701088249684237603916509572602906908526393698456879098581659387947840600117869494827521042156763858374187382629784411364154721303389123958757491499953154121545527666186213987853330251424978330779406943774231300807662994065693353192370148050097447286905149678664571763137643290554779557900678145507443437844198254612896756009395833840100948379659196572493439306899315914009501323971838142870827608573825739837847821450750842706290808768439346770278345755810911624271436373168303871659850841559611890954571218830630378726294985935947163078589329201632340728123982049169127514221756870165116574818562888853667231173825256435042375965123720267439923446529833514001148479998252410546930079757138964198806017131745139341274452795632925853045594419508210881103359784248428950462629516901343128039196008479444389233802475034132735958200995301961530073413040120550834023951140917603345613133889123394561282112949841485161069770065963254963230839748387038890453686624203024716409454126388527069561939583126462710014954427933387533564595530346367231430192059295605911649982326583919243274477736398024840238241663029731806116848682167926072892106524553703852328849609513784371297613849323107080970919523920614255843163460152892337952659877155736441699201491224373519547260400681159933640757600255702211067218399076683993644299557365826346540898404191091175897951526728197648765739226222998661818616819772120355996972736022134588710579545833849956930721111615787162610215875418438864018 218777244645663161635906010469954203453886465953876392794873267593882057841086346585798004149491750704692940242509406221837691626724236443771870053171011816231757799514478422698697912739496323817923351751544090977105510099040822252529827613314143334918305457183886065247147792605021608902659004002163436894525647423275595879302761458653369118534294079860812590969062684470947062620405574477371365286593531624602268498932445987347527119245149379309370353384636082739204202008487031089069546081341636047973523134716413128796072588889817386636815813689809460907755269211614032577251999696610472409897313686385558354085046446711601714322682557786469970773833872239229397188691611679459623459535392537243091762887260748508050102879928307920511275011310563711447005698445227383988079489208963726511698381113475500545816849607446301106242119567258489026103803768503544865396554466966257697114763647159363700483136882584768045688732039558079161447631027683979803772172108221270026701086269419480796295215158818787422065371689335062376743704580631097374265490339086307140301712372649492524545659299340565349927786386106809063170061834082088923205214039671530258001004222092553484033453925050553841504244218645242926081250936500316090038574282093839924195494962951663752927078900175922277688830932451557870527803421237102882240418398538016381140402939895853938292194403705226700555085359768280735694672214432274973191440825739589042744450202536594253151262214520137009960077123437136044360173183408886561536574118867548483380496249824529085058304035731290722094360503782461875792776441529035916756819904211584710775123837833095746419143705198774865760696398914527665855620282503307117095629860878542587166678173691083061623617411824849533908383037596857815490824986066545890262842536547075136628589018580817078934332989875038051186296414636171158417584921627598138127372435447747520016912137214546811472384648929140096057860314347072262318271065233128603748110883323171499516606265039535816371489245192848782638645344610913933482865401473149545756759944372357014480644280529978967705508683607052008584007843081020950684330620321954765291788716220707073945704730514917882638004974919394861314552113848663468747873205975540886237986694486386446303258379479443394515828922659222642545103939489401678512410266834466370187760039260963560996029687752911627071150969119581576644749833602459628641358435753866002316119652240109891338739038535697249597062000118062785941569567617225034809455947423681434134930293090484089845947774041448524746854601691748747011542243302710038637270871840084181741903582755530220118680731541535729412419560161878118494543048169922666872757648146189877914990012402920020468003522909866673746935163859277531501768614603726345696045149168729244538419996654362181908252541093581717494224474786656365538930025807801768387180011069997472825921551392084627973301500906014970238806953224980914615078451160668396487280339636877770746661271971817949984772056257773415825551397093701584519994910189027607867723022409056614474665483661840952859980220322402534340388552886735493207012314014621254902749342361069646313890392083673580136841006141630096766189567857346983301462219870412842369597210588740848792119890483081832186158633357033003368390606043164827100082279814254172992489811322920867761470293347045823666861217270360067282533426479968306365887874328984151914206205140371791058606699978964394555974224307519981819471569429791839168974931237102306646477251664041773026443399110905533340756270963595500827505891765662203817149595289490406303002726152151698236386319989293558003477228595224094508365784801584156692918816719809989 353989017801733940990610940481319901057304148263910562839821965594287479353772202200075701648067032803996591105719064431508298235315454719173140076059018988680547526605099257381779850163754864897914081046885879614339784754370947063685333447029032261841601281857251623762437256332843865552294634135200944430629350158635888838735483218089464078752828270919493136342692242732938873395547457076138765311807396003987514381685740385309900937991590770852344149086064932401840276268502322218161565403043452389119438905828781225299695310886574779617973514186938236788091022340807107777344453210379733510184985282768971306749714576528748678660094455977162522302500746672199472512430999161518469644516837077865803519979187058928652816410491446846594565344138318325411121108873261631806873473039289967722260402227627057746105291690839484811546595867060284454739107680764564191451751739652477349806671053079380687084134715327180488064181197382037336983324874244924576069476343937681090435305731659964041227835628288037510847322756136408115628882945022340600719201652710971023962153414975528046818814567122373635165029115926941436698925075127440050808538838255645869522283914791231279129372939136371787007604011498108770850368732832400150957204322087755650161333418885117232475716877374196580651030101806744809779704903323573560788725187986467424720583444951089126835623805675875899920785263585836420483008536862299242556988569934845542440642706383347621393465543848560354615740315169382731633210640607159900782266583089599800725082047939230010518100510901527643186033956112516504027508463680358011814934645740772806241890753691609671000702817599595623728199245028907243114320478264760135958721167300964425961157215209131148352700504633404165731726600123138848637746142758321880242624159779024630996140689441690385605893341364957046156368575845390484045709296633160737497120595651244899360171125257133172519255249994325702408170054987425392125015022466894096771341773872817516302550769604807241499118917787852344425155698854075093728414831451028996290313413098192314165285029888429027108226930078090228150270683494724029226579393786707363989663626842744449026743801625848492771706063169079098918468623421266375656399599673997765336568353874334286903376248974270915557985686517596829927733723900765833233713655958425127679259992415085106523695873966899480401402394097912356051693607833760436304352501447219194686267702337557178243888717200269012734705290672842343842247713124668472653654202036578190144326126930585038225606970613941964053753917605758248335514081445580866245844697579922029563354333598236510927449170888306007758175371073502389930916216473794326723599207758080832486208843033298746762989458857029752336264365491618259625750663772853859917802019333845819356982885508029413082077797528624093459348195054096288985459859321802916867178263480544402905678690356283433990433246045356244691602586150833960209497959371549499847064588065828233376178173314945989180780535702162649628026431226437542720990212150557681280763142959890638425806401265186565993869343716963816453338394371896562977078277269584485742497729399960100000514595108389989590967394668699658705772694320056998255890153257946406965127556955972278984179186088993482168485217276276277846127004068005065341745309546060289841171979248993759867994847050898152516470731054731364896382749587049277285411794943239995077666358032709743718483855715406093757465448681039529079872250589725479926575186939313373864876328348035417326000764937252074239160462054771398779032619963310969556375818288152224919822498272507695209122342123882268583023062445181025229477400588746766908794235158674007 572766262447397102626516950951274104511190614217786955634695233188169537194858548785873705797558783508689531348228470653345989862039691162945010129230030804912305326119577680080477762903251188715837432798429970591445294853411769316215161060343175596759906739041137689009585048937865474454953638137364381325154997581911484718038244676742833197287122350780305727311754927203885936015953031553510130598400927628589782880618186372657428057236740150161714502470701015141044478276989353307231111484385088437092962040545194354095767899776392166254789327876747697695846291552421140354596452906990205920082298969154529660834761023240350392982777013763632493076334618911428869701122610840978093104052229615108895282866447807436702919290419754767105840355448882036858126807318489015794952962248253694233958783341102558291922141298285785917788715434318773480842911449268109056848306206618735046921434700238744387567271597911948533752913236940116498430955901928904379841648452158951117136392001079444837523050787106824932912694445471470492372587525653437974984691991797278164263865787625020571364473866462938985092815502033750499868986909209528974013752877927176127523288136883784763162826864186925628511848230143351696931619669332716240995778604181595574356828381836780985402795777550118858339861034258302680307508324560676443029143586524483805860986384846943065127818209381102600475870623354117156177680751294574215748429395674434585185092908919941874544727758368697364575817438606518775993383824016046462318840701957148284105578297763759095576404546632818365280394459894978379820284905209393928571754549952357517017014591524705417419846522798370489488895643943434908969940760768067253054351028179507013127835388900214209976317916458253699640109637719996664128571128824867770505466696326099767624729708022507464540226331239995097342664990481561642463294218260758875624493031098992419377083262471679983991639898923465798466030369334497654443286087700022700519452657195989015819157034644343057870608162980701127063801043464989027211280232924178542047073357470549328645929310418407994813735613685142236734278526575744979910910014108662129281452343063451522972448532140766375409711038088473960233020737269929844404272805649538651574555048360720733206634628453714310073814609176819472472837663390167511746123922792891497867020031676048667519725561719811107472553363217493932696443441436220064945710937201085197002387354577667069582627755735966262331767290790905129783817280741893507463110149460259624279256420021069128071554744655390488800608519297506995347056324748290904883115569420006211305257916353766731046129902429841737170594931235380508425459264643716993596356855904270710401198855436218767230992981766896426083199529350895791127519278376580205613847168502575063895402882162391594990330338622205810953572669840752654524389885129604685254358274550541875731600241748368061963734746951371214930409539375814874824576410532217896334344927702706004122839445286763939165552591959936065453577828320139127240985122339585289148486165368947252900471884927027518853849564039366350793726947258632056184090591284205740645247071761029746314404987192063569727808400810329755471962262177403981557352373128359249334724767544713127776299076572075314354643850633309281214517610111169892441827589360314462833661790571914627629465140397943976183331948325091432178916176067017583651299669272224146991872563173081534777090555694370488313439672988559510899343820019517319095550118176415680511353580012077190352444164048157607579916733018366899606538511728973173373525413577642631222825224424659393445508662113175826586500291040405119737843185390330923601713051878483996 926755280249131043617127891432594005568494762481697518474517198782457016548630750985949407445625816312686122453947535084854288097355145882118150205289049793592852852724676937462257613067006053613751513845315850205785079607782716379900494507372207858601508020898389312772022305270709340007248272272565325755784347740547373556773727894832297276039950621699798863654447169936824809411500488629648895910208323632577297262303926757967328995228330921014058651556765947542884754545491675525392676887428540826212400946373975579395463210662966945872762842063685934483937313893228248131940906117369939430267284251923500967584475599769099071642871469740795015378835365583628342213553610002496562748569066692974698802845634866365355735700911201613700405699587200362269247916191750647601826435287543661956219185568729616038027432989125270729335311301379057935582019130032673248300057946271212396728105753318125074651406313239129021817094434322153835414280776173828955911124796096632207571697732739408878750886415394862443760017201607878608001470470675778575703893644508249188226019202600548618183288433585312620257844617960691936567911984336969024822291716182821997045572051675016042292199803323297415519452241641460467781988402165116391952982926269351224518161800721898217878512654924315438990891136065047490087213227884250003817868774510951230581569829798032191963442015056978500396655886939953576660689288156873458305417965609280127625735615303289495938193302217257719191557753775901507626594464623206363101107285046748084830660345702989106094505057534346008466428416007494883847793368889751940386689195693130323258905345216315088420549340397966113217094888972342152084261239032827389013072195480471439088992604109345358329018421091657865371836237843135512766317271583189650748090856105124398620870397464197850146119672604952143499033566326952126509003514893919613121613626750237318737254387728813156510895148917791500874200424321923046568301110166916797290794431068806532121707804249150299369727080768553471488956742319064120939695064375207538337386770568741642811214340306837021921962543763232464884549210070469009137489407895369493271115969906195971999192333766614868181417101257553059151489360691196220060672405323536416911123402235055020110010877427985225631800295694416302400571387290933344979837578751316625546280024091133774043421435686710587873955757315406288748137049269980501250063438648304391688655056915224247826516472936235275066472581463747473626064993866561980116764351496837814423582546951654166297161715269332452854362436903265243682570406193871771128960266999928240868612249952003241973579073318147744928770302308882898356375481117511320319956063662351542887407698469517513993982440623926178419463894842514050753269942149434065531649187836420883252385767670421008072408136150829904412920864894848943509849744451407602121536538031086278637278932104651495954167992996727459622012125526648835034074369903767396181409515768534237499017618601709928346333127662098715081604259546576669961975334490142970429249308328837891326278286192214084847718907756330167247065341630528619161168868553790226387744801160989846314919582300453559318775795479029414177734956497460979813242526386305656299852324500685406760478262661068796523129067909585559060644614179174957783572898906374752674833769820908387497459987448842128699802679379822797075298925654066860936711464215464142069538921205791278495574411409776582070905121669599039979216070609242799022125305115729054376229908360112607678444928985409681819077195073138298385571131692284142929901231865794856142647722697167088654631004237058095169523353485586144967320585979077690510507287037158003 1499521542696528146243644842383868110079685376699484474109212431970626553743489299771823113243184599821375653802176005738200277959394837045063160334519080598505158178844254617542735375970257242329588946643745820797230374461194485696115655567715383455361414759939527001781607354208574814462201910409929707080939345322458858274811972571575130473327072972480104590966202097140710745427453520183159026508609251261167080142922113130624757052465071071175773154027466962683929232822481028832623788371813629263305362986919169933491231110439359112127552169940433632179783605445649388486537359024360145350349583221078030628419236623009449464625648483504427508455169984495057211914676220843474655852621296308083594085712082673802058654991330956380806246055036082399127374723510239663396779397535797356190177968909832174329949574287411056647124026735697831416424930579300782305148364152889947443649540453556869462218677911151077555570007671262270333845236678102733335752773248255583324708089733818853716273937202501687376672711647079349100374057996329216550688585636305527352489884990225569189547762300048251605350660119994442436436898893546497998836044594109998124568860188558800805455026667510223044031300471784812164713608071497832632948761530450946798874990182558679203281308432474434297330752170323350170394721552444926446847012361035435036442556214644975257091260224438081100872526510294070732838370039451447674053847361283714712810828524223231370482921060585955083767375192382420283619978288639252825419947987003896368936238643466748201670909604167164373746822875902473263668078274099145868958443745645487840275919936741020505840395863196336602705990532915777061054201999800894642067423223659978452216827993009559568305336337549911565011945875563132176894888400408057421253557552431224166245600105486705314686346003844947240841698556808513768972297733154678488746106657849229738114337650200493140502535047841257299340230793656420701011587197866939497810247088264795547940864838893493357240335243749254598552757785784053148150975297299386080384460128039290971457143650725245016735698157448374701618827736646213989048399422004031622552568312969647494971640865907381243591128139346027019384510097961126064464945210973075068485678450595775753316645505881699535705614904871235774873409050681100856725961501544208123413300055767182441563146997406521695346509120532900221444580490706200566195774375849389588691042411492891317409144228672201537398239872254652603409882274608455487579874500957097438702838966972723294368716459924722941654970956200772239029626730942162676012075836419934452173870166305769973019708975747989482099365233544263406781834745761228313916312919566622253288606553905736281224975422390822604502663424193409841880789220526014271145496356338995947147788649832812603062738474773035715366493534735601598034239629581012287375894812581628154368879173853019557917902739948098674552421664902463709858650780435985292515754443471240241621857063888473867511885719622034780535182087866715797202960456829728259577735473697785144226750171119241603701568471795696518040792288889160675345259459837995967032991872922019592629324569492517129046584196289359169649697218674864961370594899514664905634577092045398534536777339233144110877772918542894840275162224290344850225400488266689215508495560392823015126925127846786104883134627704914229254215101721084444588011133487688289061411484378872813272664967104147070384344794658158550878559890628760118117675423292144734887583488372189798030889093033567289398993928091505197992109643421257316303426645443437487365472947121826482100139666350233921756023644525991264705163771369408614112220338915641999 2426276822945659189860772733816462115648180139181181992583729630753083570292120050757772520688810416134061776256123540823054566056749982927181310539808130392098011031568931555004992989037263295943340460489061671003015454068977202076016150075087591313962922780837916314553629659479284154469450182682495032836723693063006231831585700466407427749367023594179903454620649267077535554838954008812807922418817574893744377405226039888592086047693401992189831805584232910226813987367972704358016465259242170089517763933293145512886694321102326058000315012004119566663720919338877636618478265141730084780616867473001531596003712222778548536268519953245222523834005350078685554128229830845971218601190363001058292888557717540167414390692242157994506651754623282761396622639701990310998605832823341018146397154478561790367977007276536327376459338037076889352006949709333455553448422099161159840377646206874994536870084224390206577387102105584424169259517454276562291663898044352215532279787466558262595024823617896549820432728848687227708375528467004995126392479280813776540715904192826117807731050733633564225608504737955134373004810877883467023658336310292820121614432240233816847747226470833520459550752713426272632495596473662949024901744456720298023393151983280577421159821087398749736321643306388397660481934780329176450664881135546386267024126044443007449054702239495059601269182397234024309499059327608321132359265326892994840436564139526520866421114362803212802958932946158321791246572753262459188521055272050644453766898989169737307765414661701510382213251291909968147515871642988897809345132941338618163534825281957335594260945203594302715923085421888119213138463238833722031080495419140449891305820597118904926634354758641569430383782113406267689661205671991247072001648408536348564866470502950903164832465676449899384340732123135465895481301248048598101867720284599467056851592037929306297013430196759048800214431217978343747579888308033856295101041519333602080062572643142643656610062324517808070041714528103117269090670361674593618721846898608032614268357991032082038657660701211607166503376946716682998185888829899401115823684282875843466970833199673996111772545240603580078535999458652322284525617616296611485396801852830830773426656383309684761337415200565652077273980437972034201705799080295524748959580079858316215606568433093232283220464877848306510192717539976181067445837814497693980379697468408115565235660701608436812464712453718400077035947268475017467696638852453935253126421513924377460665878175194055394509333393104037482712197137136034447141036103419862693042482416257773214993288049066137227028135535853146305138210226878739634236268983228973796176014252375253795218957863014748782922127319035923892634059162675448336677145544175416830400174417503233611135146610923865619779414399630450541544089374032419889497431350612714433006158105957671053872070732944826134174433790429112544892725150339752688697163959239774479120874682490183795858218847284133495616786347413292467164935791319871230006984782026623035553028457311455688549287379552026685287857630519689294506428328391786193420736674083009438944244151792970688365359991768388583827432175172325941183837425900970561934429416546083941297255601894212907400901986452480399335806838469519808008973387173063968183329330213731402624385115295628233582937307084737026329514027375151305524722597703152431130950405584664091768239378513923652455249916327757590857775961238002917139800728407873789263813396732302405709334022018976971218071123164643496377680775113541459233327877309232343508120669818993570754770670587292016925546998011577409672484357348486304622727625952800002 3925798365642187336104417576200330225727865515880666466692942062723710124035609350529595633931995015955437430058299546561254844016144819972244470874327210990603169210413186172547728365007520538272929407132807491800245828530171687772131805642802974769324337540777443316335237013687858968931652093092424739917663038385465090106397673037982558222694096566660008045586851364218246300266407528995966948927426826154911457548148153019216843100158473063365604959611699872910743220190453733190640253631055799352823126920212315446377925431541685170127867181944553198843504524784527025105015624166090230130966450694079562224422948845787998000894168436749650032289175334573742766042906051689445874453811659309141886974269800213969473045683573114375312897809659365160523997363212229974395385230359138374336575123388393964697926581563947384023583364772774720768431880288634237858596786252051107284027186660431863999088762135541284132957109776846694503104754132379295627416671292607798856987877200377116311298760820398237197105440495766576808749586463334211677081064917119303893205789183051686997278813033681815830959164857949576809441709771429965022494380904402818246183292428792617653202253138343743503582053185211084797209204545160781657850505987171244822268142165839256624441129519873184033652395476711747830876656332774102897511893496581821303466682259087982706145962463933140702141708907528095042337429367059768806413112688176709553247392663749752236904035423389167886726308138540742074866551041901712013941003259054540822703137632636485509436324265868674755960074167812441411183949917088043678303576686984106003810745218698356100101341066790639318629075954803896274192665238634616673147918642800428343522648590128464494939691096191480995395727988969399866556094072399304493255205960967572731112070608437608479518811680294846625182430679943979664453598981203276590613826942448696794965929688129799437515965244600306099554662011634764448591475505900795792911288607598397628003437482036137013850397568267062668594472313887170417241645658973979699106307026647323585725501641757327055393358858659981868122204683362896987234288251903432738376252595845490961942474065581377355363673379949607097920509556613448348990562827269686553882480303426606526743301889191384297043030105436887852147389488653135058431760581839732872372880135625498657169715430499753978566973998381206731637298030682381633641612190347083569070739879901006882644804930280638349862952325973052680445829543083472955276513353411032691829260480897100755034594635118778336164304349304809721741823868078197123153111939839797145216352582563543188012997024814126709127500769397409711920044972639967948152581902795596049464620806280990076443933285405571387424790743229333734514848383201462607822641900514412777547963067336046214197885085696901335145907934366052139578329003613432176873326163194342587375037279810690611789973472892924808726855455331576254751375930775737981212918402711014720742731746378657663370104566906168276151968435280008264367896248149599489584720255724408179779778628430697292250855851347723203328649919408849969851687788229782160453728547005029031573568721285487817411944188057747753477129393847190902554432325415635467569006508591482475834032941127357018278674904995375239610969062759864658234373875439753183691824890606554417751310243142414338466071934789651255583729129096235750112733731190840720192361889963536905040904345618070722839594710985916141736335851866763035257476151700018524151396885104492203740223115052544260617065051256148694369790418534798775536754522752669830873593616940820052854910336937525938681570642537568674377648128717894918734947964868442001 6352075188587846525965190310016792341376045655061848459276671693476793694327729401287368154620805432089499206314423087384309410072894802899425781414135341382701180241982117727552721354044783834216269867621869162803261282599148889848147955717890566083287260321615359630888866673167143123401102275774919772754386731448471321937983373504389985972061120160839911500207500631295781855105361537808774871346244401048655834953374192907808929147851875055555436765195932783137557207558426437548656718890297969442340890853505460959264619752644011228128182193948672765507225444123404661723493889307820314911583318167081093820426661068566546537162688389994872556123180684652428320171135882535417093055002022310200179862827517754136887436375815272369819549564282647921920620002914220285393991063182479392482972277866955755065903588840483711400042702809851610120438829997967693412045208351212267124404832867306858535958846359931490710344211882431118672364271586655857919080569336960014389267664666935378906323584438294787017538169344453804517125114930339206803473544197933080433921693375877804805009863767315380056567669595904711182446520649313432046152717214695638367797724669026434500949479609177263963132805898637357429704801018823730682752250443891542845661294149119834045600950607271933769974038783100145491358591113103279348176774632128207570490808303530990155200664703428200303410891304762119351836488694668089938772378015069704393683956803276273103325149786192380689685241084699063866113123795164171202462058531105185276470036621806222817201738927570185138173325459722409558699821560076941487648709628322724167345570500655691694362286270384942034552161376692015487331128477468338704228414061940878234828469187247369421574045854833050425779510102375667556217299744390551565256854369503921295978541111388511644351277356744746009523162803079445559934900229251874692481547227048163851817521726059105734529395441359354899769093229613108196171363813934652088012330126931999708066010125178780670460459892784870738636186841990287686332316020648573317828153925255356199993859632789409094051019559871589034625581630079579985420177081802833854199936878721334428913307265255373467136218620553187176456509015265770633516180443566298039279282156257437300169958272501069058380445306002539929421369926625169260137559662135257621332460215483814872776283863592986261787438876229513241830015570658562701087450004844777549450437348309122447880465631889075162327664779691452757481776811558490422973152205864967944955681994821478215700472810312833730673637742408847204454021005214231570294148043259659838258834998821316403006285073880263936155636305250556017058255199518707582388850886024569845640635058656243871662891148420320170346918062265257627148907545876910944499787444689829607948137484839279825333031696620766954925322333996502681122418377645852066370757513807057020381195385768361665662044205837750942901289245760688799644101081115490669910082361950789199863606428868841459228323414190301771768754782693300731532832039469470719591705037751031215332807085742152980800143230899749888616507549928539264358116116621568353874465221088038470517812873078458505777304179826136337304561569019516843738269751316606029503435925137566417131288543021569925679576891447855638946775901229384466243347262612817151875154220820285820375695358438042572049009241874388281913243156471387055637456328893993151323312295548200996809143724131994375294844627313673732594111813104765952397276880107892313415210281836794609449557137071521231835136174420792190747471193648340234770082400061902174381714286759813623609681007524817955607117640549146084050132486066381223357675590821242003 10277873554230033862069607886217122567103911170942514925969613756200503818363338751816963788552800448044936636372722633945564254089039622871670252288462552373304349452395303900100449719052304372489199274754676654603507111129320577620279761360693540852611597862392802947224103686855002092332754368867344512672049769833936412044381046542372544194755216727499919545794351995514028155371769066804741820273671227203567292501522345927025772248010348118921041724807632656048300427748880170739296972521353768795164017773717776405642545184185696398256049375893225964350729968907931686828509513473910545042549768861160656044849609914354544538056856826744522588412356019226171086214041934224862967508813681619342066837097317968106360482059388386745132447373942013082444617366126450259789376293541617766819547401255349719763830170404431095423626067582626330888870710286601931270641994603263374408432019527738722535047608495472774843301321659277813175469025719035153546497240629567813246255541867312495217622345258693024214643609840220381325874701393673418480554609115052384327127482558929491802288676800997195887526834453854287991888230420743397068647098119098456613981017097819052154151732747521007466714859083848442226914005563984512340602756431062787667929436314959090670042080127145117803626434259811893322235247445877382245688668128710028873957490562618972861346627167361341005552600212290214394173918061727858745185490703246413946931349467026025340229185209581548576411549223239805940979674837065883216403061790159726099173174254442708326638063193438859894133399627534850969883771477164985165952286315306830171156315719354047794463627337175581353181237331495911761523793716102955377376332704741306578351117777375833916513736951024531421175238091345067422773393816789856058512060330471494027090611719826120123870089037039592634705593483023425224388499210455151283095374169496860646783451414188905172045360685959660999323755241247872644762839319835447880923618734530397336069447607214917684310857461051933407230659155877458103573961679622553016934460951902679785719361274546736149444378418531570902747786313442476972654465333706266592576189474566825390855781330836750822499892000502794274377018571879218982506743270835984593161762459684043826913260161692453355423475411439427781568759415278304318569320243974990493705340351109313529945999294092740240354412874610719973467313601340944334729062195191861118521177228210129330525270562169713512190617105664505437927606354641963378249665559276000636784942475718578970735067445431612066837942091713656926195844873292428693447259983099456983475187581384859591019282098694390645283137074647965728978300172158675530541432788820165895105255864937233948106824433825891557771708805494591361663755929078373552322429345204242385496100552175326039530916782317668290071230268362554820700747381259284243244083677001399607756232665579052277452017678730675751628144701092265054395477011891228651123000764661803920606338175247499122598427981096470047920723217973308995900728287619070209176425293475439395112585714172850273050999082247473091945157469337389234209803904851350514328193768093067502091381594363946323189248367883884090781690962866707746292702076732241497072442433729048892965321484148926943958251796443230878557744963989249124477721138052570335566979111426840238127005601580456910515081176664039537496972285567622805750190060084833871515674185511737901850048069750065098134439338299589874330447664971528987654753031807910837566607166941286813189780252124065492452201225676940885117261612183139010306836922814572005255307903700633676464591344462343894288688283086714758427780614784276142092623555689684004 16629948742817880388034798196233914908479956826004363385246285449677297512691068153104331943173605880134435842687145721329873664161934425771096033702597893756005529694377421627653171073097088206705469142376545817406768393728469467468427717078584106935898858184008162578112970360022145215733856644642264285426436501282407733982364420046762530166816336888339831046001852626809810010477130604613516691619915628252223127454896538834834701395862223174476478490003565439185857635307306608287953691411651738237504908627223237364907164936829707626384231569841898729857955413031336348552003402781730859954133087028241749865276270982921091075219545216739395144535536703878599406385177816760280060563815703929542246699924835722243247918435203659114951996938224661004365237369040670545183367356724097159302519679122305474829733759244914806823668770392477941009309540284569624682687202954475641532836852395045581071006454855404265553645533541708931847833297305691011465577809966527827635523206534247874123945929696987811232181779184674185842999816324012625284028153312985464761049175934807296607298540568312575944094504049758999174334751070056829114799815333794094981778741766845486655101212356698271429847664982485799656618806582808243023355006874954330513590730464078924715643030734417051573600473042912038813593838558980661593865442760838236444448298866149963016547291870789541308963491517052333746010406756395948683957868718316118340615306270302298443554334995773929266096790307938869807092798632230054418865120321264911375643210876248931143839802121009045032306725087257260528583593037241926653600995943629554338501886220009739488825913607560523387733398708187927248854922193571294081604746766682184813179586964623203338087782805857581846954748193720734978990693561180407623768914699975415323069152831214631768221366393784338644228756286102870784323399439707025975576921396545024498600973140248010906574756127319015899092848470860980840934203133770099968935948861462397044135457732393698354771317353836804145866845997867745789906277700271126334762614877158035985713220907336145243495397978403159937373367943522056958074642415509100446776126353288159819769088596092124289636110621055981450833527587144989616022923714402282632441044615941481127083218434193522413803920717441967710990129341903473578706879906110248115037800566593128402722283157685726502141851750840233215297329171999507035816512200036638667971614576519251778405736194058788674518281885355958195409383166200453801222817765140968581740624470540057186435540255744445797511579834122504130649865878506660263741408026359116821734022580206175994025567172574654581438773379898521746036555371677383112930283674844735740745890923593477819769715582246211728118626867759848988812663474955284496822216789894071993444238037014605864863948478938435244996552602359057501823165758905136309614841190808456628137428051347413943114061884568426694529433946852953854039578093006719321033083126612593120469944604116340581826751395286771819689478000666609727433560327088540928768130331226470610445392799915003253851142313147222980561665019265928498567920021472918868202658989181105972609194467442404828966552547710020428086252531886224590030971828048847526575878358866615310096610027170496869637828687891086517504520865218633590721068400665387487442133332247126058502700960018499482564090418538427819410215442039009861387646388978827022838986481059938898659191793882059473429283965613263606924559478076294940052029911915803150981817448778081422639337389195586724287337400097733075864732805831479245076919322876474179637022190460447300074272351987161849895805923635860842477913100850657365450299146510926007 26907822297047914250104406082451037475583867996946878311215899205877801331054406904921295731726406328179372479059868355275437918250974048642766285991060446129309879146772725527753620792149392579194668417131222472010275504857790045088707478439277647788510456046400965525337074046877147308066611013509608798098486271116344146026745466589135074361571553615839750591796204622323838165848899671418258511893586855455790419956418884761860473643872571293397520214811198095234158063056186779027250663933005507032668926400941013770549710121015404024640280945735124694208685381939268035380512916255641404996682855889402405910125880897275635613276402043483917732947892723104770492599219750985143028072629385548884313537022153690349608400494592045860084444312166674086809854735167120804972743650265714926122067080377655194593563929649345902247294837975104271898180250571171555953329197557739015941268871922784303606054063350877040396946855200986745023302323024726165012075050596095640881778748401560369341568274955680835446825389024894567168874517717686043764582762428037849088176658493736788409587217369309771831621338503613287166222981490800226183446913452892551595759758864664538809252945104219278896562524066334241883532812146792755363957763306017118181520166779038015385685110861562169377226907302723932135829086004858043839554110889548265318405789428768935877893919038150882314516091729342548140184324818123807429143359421562532287546655737328323783783520205355477842508339531178675748072473469295937635268182111424637474816385130691639470477865314447904926440124714792111498467364514406911819553282258936384509658201939363787283289540944736104740914636039683839010378715909674249458981079471423491391530704741999037254601519756882113268129986285065802401764087377970263682280975030446909350159764551040751892091455430823931278934349769126296008711898650162177258672295566041885145384424554436916078620116813278676898416603712108853485697042453605547849859567595992794380204905339608616039082174814888737553097505153745203893480239379893679351697075829060715771432582181882881392939776396934730840121154256964533930729107749215367039352315827854985210624869926928875112136002621558775725210546159024208598529666985238267225602807075625524953996478595885975769227396128881395492558888757181777897276200150085238608743140917702441932668282451778466742496264625450953188764642773340451370545574395228499786492791804729381108931006756228502186708898991020463633336989520842417179472483324416969218525566946258636157170607701176057864349521925836161056845710751799088957188668009458573805209210161591035585044849271269045226721910454546487475014855543836058643471716463664901635851146788530711767876540016072103285890335673254440350476419404033658049144646135098314378940338589189931904394865261256103535067782870721612322523913140164420552858924867809856235893660716926466220566079563299102446157578647945218908435055104897947972156083891274397041076282779363839704425179376383241867610201218639918723334288614707611137944555624701910005557978514087853526902141395394696072506822488603317732777723926324269382530852757274173474700576061806351152155800915593904518867943494752932336323673904781089023648320792595664203061931511319423813596080484334317396062265829207882715198789538717957823009112443673966296629706561598956393079171595202467356907187727606632667137836449063660894354660666571676800509239863632124571563723303912853481255007143047823927706782943723713988548424615719368235829117641319652216739538625774673960981994418014618255383756245691046184892330094161080976538863696449505744184494206722575600905693715634933507542922702200610011 43537771039865794638139204278684952384063824822951241696462184655555098843745475058025627674900012208313808321747014076605311582412908474413862319693658339885315408841150147155406791865246480785900137559507768289417043898586259512557135195517861754724409314230409128103450044406899292523800467658151873083524922772398751880009109886635897604528387890504179581637798057249133648176326030276031775203513502483708013547411315423596695175039734794467873998704814763534420015698363493387315204355344657245270173835028164251135456875057845111651024512515577023424066640794970604383932516319037372264950815942917644155775402151880196726688495947260223312877483429426983369898984397567745423088636445089478426560236946989412592856318929795704975036441250391335091175092104207791350156111006989812085424586759499960669423297688894260709070963608367582212907489790855741180636016400512214657474105724317829884677060518206281305950592388742695676871135620330417176477652860562623468517301954935808243465514204652668646679007168209568753011874334041698669048610915741023313849225834428544085016885757937622347775715842553372286340557732560857055298246728786686646577538500631510025464354157460917550326410189048820041540151618729600998387312770180971448695110897243116940101328141595979220950827380345635970949422924563838705433419553650386501762854088294918898894441210908940423623479583246394881886194731574519756113101228139878650628161962007630622227337855201129407108605129839117545555165272101525992054133302432689548850459596006940570614317667435456949958746849802049372027050957551648838473154278202565938848160088159373526772115454552296628128648034747871766259233638103245543540585826238105676204710291706622240592689302562739695115084734478786537380754780939150671306049889730422324673228917382255383660312821824608269923163106055229166793035298089869203234249216962586909643985397694684926985194872940597692797509452182969834326631245587375647818795516457455191424340363072002314393853492168725541698964351151612949683386517080164805686459690706218751757145803089219026636435174375337890777494522200486590888803750164724467486128442181143145030393958523020999401772113242614757176044073746169198214552590699640549858043851691567006081079697030079498183031316846323363203549018099085251475983080056195486723780941484295570335390565609464193244638116376291186404061971945339958406362086595265138454464406381248632887336742950287290861227180876376421828746372687042870980695301089557937800266191416798693343606147956920503661861101759958665187495576630305749220930076035817690626943232741797211579070416443843699808160683834445009221051410915513441756402000138509637376597037712124189587646255598318315014008962541014289339289082878988942545966862924992386372384576626204537769258813740194538780064335473080669824347078899069556862473766058618312864031088768273880163680141447867529140687012594798172762474633197904667293189167017886990161546227383480180286251930771670013687299679219306528450767848941796152066712685955928380616003371314002856780753283708541919053068487507869246231345643947797188250733511746455279447309770529248755981122353463303924946954196026639156926354645732829936550224199151462279513158541538489920683233909172225403913566786694426516305919857939383345310451245775921092355132407521617455875643262013740895176317403169645642528525482838042487917193647147631615699168431657514184044993007269526117088179566621124118867758812855639517139530242064497449658468455030515238941026876025872407036846727223846097500460675568567520364529352284621528276613136048436667594080300130358436443383606816485590872993221848711536018 70445593336913708888243610361135989859647692819898120007678083861432900174799881962946923406626418536493180800806882431880749500663882523056628605684718786014625287987922872683160412657395873365094805976638990761427319403444049557645842673957139402512919770276810093628787118453776439831867078671661481881623409043515096026035855353225032678889959444120019332229594261871457486342174929947450033715407089339163803967367734308358555648683607365761271518919625961629654173761419680166342455019277662752302842761429105264906006585178860515675664793461312148118275326176909872419313029235293013669947498798807046561685528032777472362301772349303707230610431322150088140391583617318730566116709074475027310873773969143102942464719424387750835120885562558009177984946839374912155128854657255527011546653839877615864016861618543606611318258446342686484805670041426912736589345598069953673415374596240614188283114581557158346347539243943682421894437943355143341489727911158719109399080703337368612807082479608349482125832557234463320180748851759384712813193678169061162937402492922280873426472975306932119607337181056985573506780714051657281481693642239579198173298259496174564273607102565136829222972713115154283423684430876393753751270533486988566876631064022154955487013252457541390328054287648359903085252010568696749272973664539934767081259877723687834772335129947091305937995674975737430026379056392643563542244587561441182915708617744958946011121375406484884951113469370296221303237745570821929689401484544114186325275981137632210084795532749904854885186974516841483525518322066055750292707560461502323357818290098737314055404995497032732869562670787555605269612354012919792999566905709529167596240996448621277847290822319621808383214720763852339782518868317120934988330864760869234023388681933296135552404277255432201202097455824355462801747196740031380492921512528628794789369822249121843063814989753876369695926055895078687812328288040981195668655084053447985804545268411610930432935666983614279252061856305358153576866756460058485038156766535279467528578385271101908029374950772272621617615676457451124819532857913939834525480758008998130241018828449949874513908115864173532901254619905193406813082257684878817083646658767192531035076175625965473952258712975204758696107906856267029373259280206280725332524082401998012268058848061242659987134381001742139592826614718680409776907660990493638240957198185978013996267749706515793047936079867396885462083362207885288160167784413974907018791758363057329500776755658096561526210623685794826244341287382104838178118744045276264432152442903388247164115265715112745034882594288991496696066266459349500399873716602174539012448184500654901355522795614390418299899298214268729689765502283022600595111509060090700751324915215394469673653679001450642315132118343802282146870992039233977415332690926428169099924749485200346384246221011166631586844591242743391670909688302802615265345250909161387202622510162844019990677110148053255554909880437946447174102137556503763204657241580630290621561349828090710307655425103936615125575309996472563964123367874121457633264364503729452922010346591055107133278154378897829465822139521392089262678319637611025573872519944057943716220473049809344496829989656559721309629052523634399021118647478101303133460358219595058651762114083216412268722433608943362533224590897252275195663319287106148811548307814203292499677671521146308616556730573438970569434573764171942795465595799363231128078666680216817894297572671834891157766414651647080997828721641860715755844431814258566549421682378782609253151999744886173338264794337081012044289300532120524380536144550912146029 113983364376779503526382814639820942243711517642849361704140268516987999018545357020972551081526430744806989122553896508486061083076790997470490925378377125899940696829073019838567204522642354150994943536146759050844363302030309070202977869475001157237329084507219221732237162860675732355667546329813354965148331815913847906044965239860930283418347334624198913867392319120591134518500960223481808918920591822871817514779049731955250823723342160229145517624440725164074189459783173553657659374622319997573016596457269516041463460236705627326689305976889171542341966971880476803245545554330385934898314741724690717460930184657669088990268296563930543487914751577071510290568014886475989205345519564505737434010916132515535321038354183455810157326812949344269160038943582703505284965664245339096971240599377576533440159307437867320389222054710268697713159832282653917225361998582168330889480320558444072960175099763439652298131632686378098765573563685560517967380771721342577916382658273176856272596684261018128804839725444032073192623185801083381861804593910084476786628327350824958443358733244554467383053023610357859847338446612514336779940371026265844750836760127684589737961260026054379549382902163974324963836049605994752138583303667960015571741961265271895588341394053520611278881667993995874034674935132535454706393218190321268844113966018606733666776340856031729561475258222132311912573787967163319655345815701319833543870579752589568238459230607614292059718599209413766858403017672347921743534786976803735175735577144572780699113200185361804843933824318890855552569279617704588765861838664068262205978378258110840827520450049329360998210705535427371528845992116165336540152731947634843800951288155243518439980124882361503498299455242638877163273649256271606294380754491291558696617599315551519212717099080040471125260561879584629594782494829900583727170729491215704433355219943806770049009862694474062493435508078048522138959533628356843487450600510903177228885631483613244826789159152339820951026207456971103260253273540223290724616457241498219285724188360320934665810125147610512395110198657937715708336608078664302011609200190141275271412786972970873915680229106788290077298693651362605027634848384519366941690510458759537116155872656044972135290029821528121899656924955352280849242360262476212056305023886293582603449413670706853231772497378033325996888586664020368183269747585758776695421604567226646883604492656803083909163260743773307290829734894928159140863085503532844819057949779856022844382903615017065188071725445753491431836864012410587399048820081093955059095675645185458743185682158956444843043278123436505917117677374862942156275716740684176389045222212779090943169051212708733313908260755283019029054585162011543141078371985083087123709491841599007442912492741645181095196453816882951971218070938303534277806456985046481963955838253474226547926362459034160727531603837541564433384321500707282558534417927048377364168737546324200276929040919723269242209559657252975624869986498299915271369927536558671237564721142093567088408708812478534178643797504341810195469011821918645883997876250184732369320117120303863114400507842201754412776335548031246189032965370440962124096719095520223229379014588299265180063898828785125223195839218060915327038505417484648443911603995516151006894521604833868144365695622684257709541994066897917724188802125148636728741954961834908198846103178660492661549737842965087657614140385296061663224408655002748267608908744714267552766027702350130098793290677519488034675448865706813256305107382826086913951034663404137529765135793322840932345094467439448487672907348606115253529366399623682047 184428957713693212414626425000956932103359210462747481711818352378420899193345238983919474488152849281300169923360778940366810583740673520527119531063095911914565984816995892521727617180038227516089749512785749812271682705474358627848820543432140559750248854784029315361024281314452172187534625001474836846771740859428943932080820593085962962308306778744218246096986580992048620860675890170931842634327681162035621482146784040313806472406949525990417036544066686793728363221202853720000114393899982749875859357886374780947470045415566143002354099438201319660617293148790349222558574789623399604845813540531737279146458217435141451292040645867637774098346073727159650682151632205206555322054594039533048307784885275618477785757778571206645278212375507353447144985782957615660413820321500866108517894439255192397457020925981473931707480501052955182518829873709566653814707596652122004304854916799058261243289681320597998645670876630060520660011507040703859457108682880061687315463361610545469079679163869367610930672282678495393373372037560468094674998272079145639724030820273105831869831708551486586990390204667343433354119160664171618261634013265845042924135019623859154011568362591191208772355615279128608387520480482388505889853837154948582448373025287426851075354646511062001606935955642355777119926945701232203979366882730256035925373843742294568439111470803123035499470933197869741938952844359806883197590403262761016459579197497548514249580606014099177010832068579709988161640763243169851432936271520917921501011558282204990783908732935266659729120798835732339078087601683760339058569399125570585563796668356848154882925445546362093867773376322982976798458346129085129539719637657164011397192284603864796287270947201983311881514176006491216945792517573392541282711619252160792720006281248847654765121376335472672327358017703940092396529691569931964220092242019844499222725042192928613112824852448350432189361563973127209951287821669338039156105684564351163033430899895224175259724826135954100203088063762329256837120030000281775762773223776777686814302573631422842695185075919883134012725875115388840527869465992604136537089958199139405512431615422920748429588344970961822978553313556556011840717106069398184025337169225952068151232048282010446087548742796732880595764831811619310222501640468756937388829106288291594871508261731949513218906878379775465589715201382700777960177408576252414936378802753204660879872242363318876957099340611170192752913097102813447301030869917507751837849708142913352345159659273113626714282349131548317676178151394515425577167564126370219491248118548573705907300947874069189877925872412428002613183943834212442556149433342858715401493406713433992298691846827099151613807558969551748718820087445034143736189881045173787875034407056993477116566171743095823410328572160685234118089062977537511693139147911474651063880587738674572932172583470200792314376195080284956104294009803509897823879668836209764566791247709168220267606151067776524797119440095199422798972124054803678476027169117188961859126070970184277396064133916415149304219107500814374159592379696040103517262240753914185291330463711358970247678662221099583878598475069423335451711285008051987697969239039578166945599487638108609676893888485344846532824891741695314348157152895585951577371962215111209658656635688050280413088129231627620242766584964150192919852121412254785540290262776038200698523774699806801278106468416404058227048714149468004458690004454365979395687575424931085447063600374185021256559705329166569032504170507567529012149539197084653463372717042186746782917135538209014270609888804520460531962207880726639634065510950535828076 298412322090472715941009239640777874347070728105596843415958620895408898211890596004892025569679280026107159045914675448852871666817464517997610456441473037814506681646068912360294821702680581667084693048932508863116046007504667698051798412907141716987577939291248537093261444175127904543202171331288191811920072675342791838125785832946893245726654113368417159964378900112639755379176850394413651553248272984907438996925833772269057296130291686219562554168507411957802552680986027273657773768522302747448875954343644296988933505652271770329043405415090491202959260120670826025804120343953785539744128282256427996607388402092810540282308942431568317586260825304231160972719647091682544527400113604038785741795801408134013106796132754662455435539188456697716305024726540319165698785985746205205489135038632768930897180233419341252096702555763223880231989705992220571040069595234290335194335237357502334203464781084037650943802509316438619425585070726264377424489454601404265231846019883722325352275848130385739735512008122527466565995223361551476536802865989230116510659147623930790313190441796041054373443228277701293201457607276685955041574384292110887674971779751543743749529622617245588321738517443102933351356530088383258028437140822908598020114986552698746663696040564582612885817623636351651154601880833767658685760100920577304769487809760901302105887811659154765060946191420002053851526632326970202852936218964080850003449777250138082488039836621713469070550667789123755020043780915517773176471058497721656676747135426777771483021933120628464573054623154623194630656881301464927824431237789638847769775046614958995710445895595691454865984081858410348327304338245250466079872369604798855198143572759108314727251072084344815379813631249130094109066166829664147577092373743452351416623880564399173977838475415513143452618579583524721991312186399832547947262971511060203656080262136735383161834715142824494682797072051175732090247355297694882643556285075254340262316531378837420086513985288293921154114271219300360097373303540505066487389681018275906100026761991743777360995201067493646407836073773326556236206074071268438548699158389280680783844402395891622345268574077750113055852007207918616868351954453917550967027679684711605267387920938055418222838772618261002495421756766971591071744000731233149445134130174585177474957675402656366450679375757808791586603788046721146143447156162011191631800407320431307763476735020121960866262601354943500043742831997741606441893955421040596656907657922769375189542562888130691902354074577301809108015015406926012976216384207464174550343794193759164650486630033025634720969150535864508530301621209075384712425150083542891790538628926213083241860898039807884927715819724834767747874672607045686877268253030256874998743898898592484559478664484741004505525025977568186089307133915841045970945604896521133027836425992148799480098945929234953041907798917826520537678331304217180382414086763258141930959985255492420544535191987499794039328999752452398423842110553103593747397096653747633096690792112277844484472842728893683482862905005156184355061391517958749401260117004098917660650580831662833362079170063301338291374810617454581640744250378492949822065958135098390174978502226407874856957787314129971756020730959756229675195658313070600021283566210627360665551157292884148557453824854311877952308579031048110644040923537403422269032217737873108897369877878467293939656206259369145884662854534764066121914413109368727663296484169645352999829628076535151355352996006686057067179619373274342268454646579910740377323751705590884312682271331531855202954983271959909019635115229332754887594877350159510123 482841279804165928355635664641734806450429938568344325127776973273829797405235834988811500057832129307407328969275454389219682250558138038524729987504568949729072666463064804882022438882718809183174442561718258675387728712979026325900618956339282276737826794075277852454285725489580076730736796332763028658691813534771735770206606426032856208034960892112635406061365481104688376239852740565345494187575954146943060479072617812582863768537241212209979590712574098751530915902188880993657888162422285497324735312230019077936403551067837913331397504853291810863576553269461175248362695133577185144589941822788165275753846619527951991574349588299206091684606899031390811654871279296889099849454707643571834049580686683752490892553911325869100713751563964051163450010509497934826112606307247071314007029477887961328354201159400815183804183056816179062750819579701787224854777191886412339499190154156560595446754462404635649589473385946499140085596577766968236881598137481465952547309381494267794431955011999753350666184290801022859939367260922019571211801138068375756234689967897036622183022150347527641363833432945044726555576767940857573303208397557955930599106799375402897761097985208436797094094132722231541738877010570771763918290977977857180468488011840125597739050687075644614492753579278707428274528826534999862665126983650833340694861653503195870544999282462277800560417124617871795790479476686777086050526622226841866463028974747686596737620442635812646081382736368833743181684544158687624609407330018639578177758693708982762266930666055895124302175421990355533708744482985225266883000636915209433333571714971807150593371341142053548733757458181393325125762684374335595619592007261962866595335857362973111014522019286328127261327807255621311054858684403056688859803992995613144136630161813246828742959851750985815779976597287464814387841877969764512167355213530904702878805304329663996274659567591174926872158636024302942041535176967032921799661969639605503295747431274061595346238811424248021357202334981629616934493333540786842250162904795053592914329335623166620056180276987376780420561948888715396764075540063872575085789116588420086296276017818812370774856919048711936034405320764474628709069060523315734992364848910663673418619969220065864310387515414993883091186588578590901294245641199990086833963236462876772346465937134605879669586254137584257176318989429421924103624564738263606568179210073635968643348977383440837823361941966113692796655929100555053742924825338548348494757366065682727534702222161244318616636423708850126784193166801441438553383948333834394041591912742332870557787577907094824598895022948292511143485565043287827268574583426401607192032035639647075540552744866907036541523378694386516466694760052079830613458134075430662873778305955585961676044836227836827915853598138253420207396196893378557664084752807995784091717013730823372412271529399435745356283993998111476641972341107727078206293755599467906497751232964660640812141343055276318836448439847651821222814234607907272223424265770936594955816863082462121880536976645308832787082012505970558514653771213998852918522357758013102951981044543021803609757832284400922169973285686877917092455535386544937520035197174676557120577989864516484533851675799474818288845622701451544023352811208656551598655528425738570324207792980934428970541954085939498195075163995198303563893044949658207809322480513911309595893652578274095217762674675773204111711568684232070580604417563734707058984059594576438446893228450720172611912701335852626099683789880841871280604185776995393840696468747777631095599406869740869473564872076480369551597323110059394521660388300695338199 781253601894638644296644904282512680797500666673941168543735594169238695617126430993703525627511409333514488015190129838072553917375602556522340443946041987543579348109133717242317260585399390850259135610650767538503774720483694023952417369246423993725404733366526389547547169664707981273938967664051220470611886210114527608332392258979749453761615005481052566025744381217328131619029590959759145740824227131850499475998451584851921064667532898429542144881081510709333468583174908267315661930944588244773611266573663374925337056720109683660440910268382302066535813390132001274166815477530970684334070105044593272361235021620762531856658530730774409270867724335621972627590926388571644376854821247610619791376488091886503999350044080531556149290752420748879755035236038253991811392292993276519496164516520730259251381392820156435900885612579402942982809285694007795894846787120702674693525391514062929650219243488673300533275895262937759511181648493232614306087592082870217779155401377990119784230860130139090401696298923550326505362484283571047748604004057605872745349115520967412496212592143568695737276661222746019757034375217543528344782781850066818274078579126946641510627607825682385415832650165334475090233540659155021946728118800765778488602998392824344402746727640227227378571202915059079429130707368767521350887084571410645464349463264097172650887094121432565621363316037873849642006109013747288903462841190922716466478751997824679225660279257526115151933404157957498201728325074205397785878388516361234854505829135760533749952599176523588875230045144978728339401364286690194707431874704848281103346761586766146303817236737745003599741540039803673453067022619586061699464376866761721793479430122081425741773091370672942641141438504751405163924851232720836436896366739065495553254042377646002720798327166498959232595176870989536379154064369597060114618185041964906534885566466399379436494282733999421554955708075478674131782532264727804443218254714859843558063962652899015432752796712541942511316606200929977031866637081291908737552585813329499014356097614910397417175478054870426828398022662041953000281614135141013634488274977700767080120420214703993120125493126462049090257327972393245577421014977233285959392528595375278686007890158121282533226288033254885586608345345562492365989641931223236279097366637461949821423612537262246120265629895393048762922777476143070247071720900274798199979617394067276406825712403562798689624543321057192840398761098296660184818780759588945151665023988452102724244785049375010518990498286151935892208182208367451529600332541298568591935706936092035208274207940120459319864173484157019673787186252363211980999733509944498982570664565860158782413642906714921469239198419221284214569432659125517490726387105687537872522204854178446235523500712577832421378624115821606296703330809219603635030357704516917119553439722972171892370475328670698398191792915937997179650672411944258588707842362726048428711218220153061356676535042776112875777439600104219646656345161010865970821362424684228052507655194739966365009819374202516269944917511126742869715162731957602319782474762112020612631625374684636971837002347702260461348096304332498733199785765037887342101155309774947295556492090924359390809463113604790044866353661207773698548469521727151619939094636365930989758950273818577527995778940251376147383743026246414207933968487061630078354698251784418493263530456741389157418880935142349996374423218996136702518830673103434722280543764221791446722856527255323967265697342538683166863409254116213549058832356906134218020220453368515408281678201272724676519855348440278571232438339392149409255265650854848322 1264094881698804572652280568924247487247930605242285493671512567443068493022362265982515025685343538640921816984465584227292236167933740595047070431450610937272652014572198522124339699468118200033433578172369026213891503433462720349853036325585706270463231527441804242001832895154288058004675763996814249129303699744886263378538998685012605661796575897593687972087109862322016507858882331525104639928400181278793559955071069397434784833204774110639521735593655609460864384485363789260973550093366873742098346578803682452861740607787947596991838415121674112930112366659593176522529510611108155828924011927832758548115081641148714523431008119029980500955474623367012784282462205685460744226309528891182453840957174775638994891903955406400656863042316384800043205045745536188817923998600240347833503193994408691587605582552220971619705068669395582005733628865395795020749623979007115014192715545670623525096973705893308950122749281209436899596778226260200851187685729564336170326464782872257914216185872129892441067880589724573186444729745205590618960405142125981628980039083418004034679234742491096337101110094167790746312611143158401101647991179408022748873185378502349539271725593034119182509926782887566016829110551229926785865019096778622958957091010232949942141797414715871841871324782193766507703659533903767384016014068222243986159211116767293043195886376583710366181780440655745645432485585700524374953989463417764582929507726745511275963280721893338761233316140526791241383412869232893022395285718535000813032264522844743296016883265232418713177405467135334262048145847271915461590432511620057714436918476558573296897188577879798552333498998221196998578829706993921657319056384128724588388815287485054536756295110657001069902469245760372716218783535635777525296700359734678639689884204190892831463758178917484775012571774158454350766995942339361572281973398572869609413690870796063375711153850325174348427114344099781616173317709231760726242880224354465346853811393926960610778991608136789963868518941182559593966359970622078750987715490608383091928685433238077017473355755042247207248959971550757349764357154199013588720277391566120853376396438033516363894982412175173985124662648736867874286490075500549020951757377506038952104627859378187146843613803448248768677794933924153393660235283131213323113060603100338722167889549671868125789851884032977305939241766905564994350696285638538404768158827467703245050174689787003636512986485287170885637054690198851713927743606098137293646422390054134830258947007210619329135626921995002062676401349009808890082984280875132962633527619678424905766061785847215283918759196432449530817272751295651039249574316936346106174602700205507234322966387773621958010762577113607800681264192711205348104184521181118200746300510809764407911568336940414660337232222254075026504099527702598161299115110512512701211270453453795544304642004728106443754475786914049473821623013519671336795001597962193954926462451184813702168817878098052431712225879447756040869470579768918138194245628195620823008324518277202088245546796019511349057026930017097301384368933945956455238304832520125123564612669917706440581594834632103182631321381991210415825655321151582824862136352484451504416134481955440843924661138913079608333711976362659317721901280730383703218594623062104501313966743254753006498537733026190874342458907021444717771827013436719837887677178765695728089157183035015484375181555610915554108085991903228207283123248236838141781264603358798229893616084977975496579178398678391309266547199134958084829663018133901528058716689201146146503881085071013594150084727424920648122829761449451543930915653951550186521 2045348483593443216948925473206760168045431271916226662215248161612307188639488696976218551312854947974436304999655714065364790085309343151569410875396652924816231362681332239366656960053517590883692713783019793752395278153946414373805453694832130264188636260808330631549380064818996039278614731660865469599915585955000790986871390943992355115558190903074740538112854243539344639477911922484863785669224408410644059431069520982286705897872307009069063880474737120170197853068538697528289212024311461986871957845377345827787077664508057280652279325390056414996648180049725177796696326088639126513258082032877351820476316662769477055287666649760754910226342347702634756910053132074032388603164350138793073632333662867525498891253999486932213012333068805548922960080981574442809735390893233624352999358510929421846856963945041128055605954281974984948716438151089802816644470766127817688886240937184686454747192949381982250656025176472374659107959874753433465493773321647206388105620184250248034000416732260031531469576888648123512950092229489161666709009146183587501725388198938971447175447334634665032838386755390536766069645518375944629992773961258089567147263957629296180782353200859801567925759433052900491919344091889081807811747215579388737445694008625774286544544142356099069249895985108825587132790241272534905366901152793654631623560580031390215846773470705142931803143756693619495074491694714271663857452304608687299395986478743335955188941001150864876385249544684748739585141194307098420181164107051362047886770351980503829766835864408942302052635512280312990387547211558605656297864386324905995540265238145339443201005814617543555933240538261000672031896729613507719018520760995486310182294717607135962498068202027674012543610684265124121382708386868498361733596726473744135243138246568538834184556506083983734245166951029443887146150006708958632396591583614834515948576437262462755147648133059173769982070052175260290305100241496488530686098479069325190411875356579859626211744404849331906379835547383489570998226607703370659725268076421712590943041530852987414890531233097117634077357994212799302764638768334154602354765666543821620456516858248220357015107905301636034214919976709261119863911090477782306911149906101414230790635749536308429376840091481503654264403279269715886026224925062436559392157969737800671989313162209130371910117513928370354702164544381708064597768006538813202968138444861770521457000402190566435202611028608228078477453451297148374112562386857726238798087414042586932983191792259994339654617420281153998568609531218176341612584613416431531225463326614516940974335993787335743238623369916606550491059937548014251230574050446290605157173364771367393105380030680336879480001775532829084895833625370330865594910908286805738618822715663942854147091837652992492758610846369896632800802858511817764934145468217029618330823893176767716197012480056777142152667579829987471001273685931615595383709440324920003355173669404966763525494413140828544588003319047860260516126924929929004165066990620305051060832173471942054610556615393713865326971847528224044254084096677914057558087307282237144177244295292391077553431836979805443092669478295542914558855106916620712204237507794226451711690974046365203315470602026684398378578330023867091420449750252110854838533717698470432303725693528571584026533511966442250489842650047691131979760981923781467966031877017480146582420713491756873532600436546057904104460415122224343985642078909941576503545147123020021340338941505230820546444096020929992433410608389074298378721850490807662276736909654514661912162763272286318826604582773360926694062199788843693340170919602405034843 3309443365292247789601206042131007655293361877158512155886760729055375681661850962958733576998198486615358121984121298292657026253243083746616481306847263862088883377253530761490996659521635790917126291955388819966286781587409134723658490020417836534651867788250134873551212959973284097283290495657679718729219285699887054365410389629004960777354766800668428510199964105861361147336794254009968425597624589689437619386140590379721490731077081119708585616068392729631062237553902486789262762117678335728970304424181028280648818272296004877644117740511730527926760546709318354319225836699747282342182093960710110368591398303918191578718674768790735411181816971069647541192515337759493132829473879029975527473290837643164493783157954893332869875375385190348966165126727110631627659389493473972186502552505338113434462546497262099675311022951370566954450067016485597837394094745134932703078956482855309979844166655275291200778774457681811558704738101013634316681459051211542558432084967122505948216602604389923972537457478372696699394821974694752285669414288309569130705427282356975481854682077125761369939496849558327512382256661534345731640765140666112316020449336131645720054078793893920750435686215940466508748454643119008593676766312358011696402785018858724228686341557071970911121220767302592094836449775176302289382915221015898617782771696798683259042659847288853297984924197349365140506977280414796038811441768026451882325494205488847231152221723044203637618565685211539980968554063539991442576449825586362860919034874825247125783719129641361015230040979415647252435693058830521117888296897944963709977183714703912740098194392497342108266739536482197670610726436607429376337577145124210898571110005092190499254363312684675082446079930025496837601491922504275887030297086208422774933022450759431665648314685001468509257738725187898237913145949048320204678564982187704125362267308058526130858801983384348118409184396275041906478417950728249256928978703423790537265686750506820236990736012986121870248354488566049164964586578325449410712983567030095682871726964091064432363886988139364841326317965763556652528995922533168191075043058109942473832913296281736720910090317476810019339582625446128994150401165978331327862907283607453182895263608914495576220453894929752422942198213193869279686460208193649882505218572838139394157202711880998497699969397961347660641406311287273058948464292177351607736297272329473766507175091977570071715597513895398964114508141496000088040305992955863532444509804096721763242138799470613668790244342276156061245010880227985231695568894291564493858990946292941846740397779634551027157382566349056081308332688843665290480148367382636711331776064976874627428346418453958837490764352646436885577097818081536213699095429467923939365123226473707262058660174593407153095843068623971659304902386214415926233260578729542319542094346630563260501654484784883585907143366744036944822896699451286932178711038287113958281636120589780465694312291238880976300229198495616301385597504698847142359312618815925874069156691749144142856103411413225214383998777545321345638453030623870512796392139802362267741856965210097518135026671611908625723990860286753330384510428068203537066373860278677956127825456001806047240131740939764006712290306386526409142351030982494558057128340760574933617692436783324590525071244992633124832301557069135849751587995360501305853709055783175874671577896526772357907781992156973458212546407025452551268765327146779718284809750481818251233955026483206317125622494699321301699957807524032383208384868624709190335453598855660808416043848343299912976689310198281574816891961238295237271086573553955221364 5354791848885691006550131515337767823338793149074738818102008890667682870301339659934952128311053434589794426983777012358021816338552426898185892182243916786905114739934863000857653619575153381800819005738408613718682059741355549097463943715249966798840504049058465505100593024792280136561905227318545188329134871654887845352281780572997315892912957703743169048312818349400705786814706176494832211266848998100081678817210111362008196628949388128777649496543129849801260090622441184317551974141989797715842262269558374108435895936804062158296397065901786942923408726759043532115922162788386408855440175993587462189067714966687668634006341418551490321408159318772282298102568469833525521432638229168768601105624500510689992674411954380265082887708453995897889125207708685074437394780386707596539501911016267535281319510442303227730916977233345551903166505167575400654038565511262750391965197420039996434591359604657273451434799634154186217812697975767067782175232372858748946537705151372753982217019336649955504007034367020820212344914204183913952378423434493156632430815481295946929030129411760426402777883604948864278451902179910290361633539101924201883167713293760941900836431994753722318361445648993367000667798735008090401488513527937400433848479027484498515230885699428069980371116752411417681969240016448837194749816373809553249406332276830073474889433317993996229788067954042984635581468975129067702668894072635139181721480684232183186341162724195068514003815229896288720553695257847089862757613932637724908805805226805750955550554994050303317282676491695960242823240270389126774186161284269869705517448952849252183299200207114885664199980074743198342642623166220937095356097906119697208753404722699326461752431514712349094989690614290620958984200309372774248763893812682166910176160697327970499832871191085452243502905676217342125059295955757278837075156565802538641310843745320988886006450116443521888391254448450302196783518192224737787615077182493115727677562107086679863202480417835453776628190035949538735962813186028820070438251643451808273814768494944051847254418221236482475403675959976355955293634690867322793429808724653764094289430154529957077925198222778446053554502602155390114014312256456113634774057189708867413685899358450804005597293986411256077206601492463585165712685133256086441897376542575940066146515874090128869610086911889718015343570855668981123546232298716164810704435717191244287964175494168136506918208542503627042591961592793148462152868379813589771242597218139308696225330591730608008444861762557310059813620411446161573308153507707996025084454272907458787714733773421886770396005936265662631799392626391679541710722417828927316488949429748242020533726449134295716970766128179265970472931443451867079294006337754729677983945942137650116205752012246399645854453914993868292105705244726233691167406046946571937872918239807330976698666964841660728059810946574024415824170385382902527562420478612033961636809789994747229219806704379709520888232517543476561901724429628776146524379609436230925129988865221086197466660026806939079710970625073545389892537127301784570354479447084599411919101260502488595688458508591714068816660338582296244943365534984824249270611368072904407839516430048171250555602342966448405090868636410393500562800781234605412895662058459045365921418130311896174551604756959075375322144207116826981731348977284282773819740932800656021253998610018529231440382428703031362317006822147676895254407406056721294788354897604838272574293967988437137672066590720251294133368415913106681587106719115516852612190508510175470328206611615586231803293892971642501510954161027138930611257493156360256207 8664235214177938796151337557468775478632155026233250973988769619723058551963190622893685705309251921205152548967898310650678842591795510644802373489091180648993998117188393762348650279096789172717945297693797433684968841328764683821122433735667803333492371837308600378651805984765564233845195722976224907058354157354774899717692170202002276670267724504411597558512782455262066934151500430504800636864473587789519298203350701741729687360026469248486235112611522579432322328176343671106814736259668133444812566693739402389084714209100067035940514806413517470850169273468361886435147999488133691197622269954297572557659113270605860212725016187342225732589976289841929839295083807593018654262112108198744128578915338153854486457569909273597952763083839186246855290334435795706065054169880181568726004463521605648715782056939565327406228000184716118857616572184060998491432660256397683095044153902895306414435526259932564652213574091835997776517436076780702098856691424070291504969790118495259930433621941039879476544491845393516911739736178878666238047837722802725763136242763652922410884811488886187772717380454507191790834158841444636093274304242590314199188162629892587620890510788647643068797131864933833509416253378127098995165279840295412130251264046343222743917227256500040891492337519714009776805689791625139484132731594825451867189103973628756733932093165282849527772992151392349776088446255543863741480335840661591064046974889721030417493384447239272151622380915107828701522249321387081305334063758224087769724840101630998081334274123691664332512717471111607495258933329219647892074458182214833415494632667553164923397394599612227772466719611225396013253349602828366471693675051243908107324514727791516961006794827397024177435770544316117796585692231877050135794190898890589685109183148087402165481185876086920752760644401405240362972441904805599041753721547990242766673111053379515016865252099827870006800438844725344103261936142952987044544055885916906264943248857593500100193216430821575646876544524515587900927399764354269481151235210481903956686495459035116279618305209375847316729993925739912607822630613400490984504851782763706568122343450811693798835288540255256072894085227601519108164713422434444962636964473316320596581162967365299581817747881341008500148799705657454445399145341449736324402595115414079460303718585971127367310056309851065675984977166956254182494696590893516418440732989520718054471350586145706578633806056399026006706469734289148550193174372769453303687107022236030459467469391201221677235106104833466121058631291674146805003722401999560518943445219200400634455131553056437797553388502614718713107725315235344832190870785211564027820725494725116647962072867588254554461530480825702856050029261533403292993101767222653617349069168611357378264412186839806798950296983617839951410607630940649617400666625676114257415012586437894237200321449626544313966954313318061360647067084834189459741131516899147919918445910584527694914118995618590497188461716039092863287321934327623288883692228252156799199145556970230340322763438220164294094969402618866735530990157925655083150871586886961679660958225712586113823485180203622694540651198869049575327875963053027786336985228351582363967341886049977297795734083906212411803158942796919909705151812217099970952790399219620299539110567095220765076676001951708500154445764185962831482936972644784079673449988583831895925576506545301589348164420860004820529553229173129446523172733203501013073164648086656523808248994471643454797689085419572595833326223437139064795491587740226042947644107365836278744250459958886144779983203169924076327846122265434167882344066710315477571 14019027063063629802701469072806543301970948175307989792090778510390741422264530282828637833620305355794946975951675323008700658930347937542988265671335097435899112857123256763206303898671942554518764303432206047403650901070120232918586377450917770132332875886367065883752399009557844370407100950294770095387489029009662745069973950774999592563180682208154766606825600804662772720966206606999632848131322585889600977020560813103737883988975857377263884609154652429233582418798784855424366710401657931160654828963297776497520610145904129194236911872315304413773578000227405418551070162276520100053062445947885034746726828237293528846731357605893716053998135608614212137397652277426544175694750337367512729684539838664544479131981863653863035650792293182144744415542144480780502448950266889165265506374537873183997101567381868555137144977418061670760783077351636399145471225767660433487009351322935302849026885864589838103648373725990183994330134052547769881031923796929040451507495269868013912650641277689834980551526212414337124084650383062580190426261157295882395567058244948869339914940900646614175495264059456056069286061021354926454907843344514516082355875923653529521726942783401365387158577513927200510084052113135189396653793368232812564099743073827721259148112955928110871863454272125427458774929808073976678882547968635005116595436250458830208821526483276845757561060105435334411669915230672931444149229913296730245768455573953213603834547171434340665626196145004117422075944579234171168091677690861812678530645328436749036884829117741967649795393962807567738082173599608774666260619466484703121012081620402417106696594806727113436666699685968594355895972769049303567049772957363605316077919450490843422759226342109373272425461158606738755569892541249824384558084711572756595285343845415372665314057067172372996263550077622582488031737860562877878828878113792781407983954798700503902871702216271391895191693293175646300045454335177724832159133068410021992620810964680179963395696848657029423504734560465126636890212950383089551589486853933712230501263953979168126872723430612329792133669885716268563116265304267813777934660507417470662411773605341650876760486763033702126448587829756909222179025678890558597411021663025188010267062325816103587415041867752264577355401198121039611111830474705822766299971657990019526450234460061256236920143221740783691328548022625235306040928889609681229145168706711962342435526080313843085552014598902653049298431327082297012346042752583043074929704240375339155692799982931829685679967867390776180872251703120308378311875909707556544027899492107859422169865326478324567949394438880381344907117941627024373901593203040491344309674924473358668495799316722550271432296609004968826522960704985270372287108104977383295333015110749007494470164199086206444804750898611708243516312875666883308568072672622686195287930826245225213898988414468205042026765259892085776471237470217091987303551995511181881555255700579274924133925699998300018076694233582569425189046363956399435408071837688387724329134422191316537789423465027103373805940027692412125423527285227439653505351033971561091580059486215074709511943688795336763357311537451345820271241498037852035607596596424486771806858316098148548351336426872660816894027579207313410267952593451705383848452457678665665460528697407116939628280758910783875476589971302789813214285949929066853493190921384487917179575116563830820788546849563036182846560051320806341777580139260222307861519545691494796382542962460080592469755676139823889966694639350245746382598306855742895559834615876011749072457071574472376583277096141566577838800283292573098493601559866675733778 22683262277241568598852806630275318780603103201541240766079548130113799974227720905722323538929557277000099524919573633659379501522143448187790639160426278084893110974311650525554954177768731727236709601126003481088619742398884916739708811186585573465825247723675666262404204994323408604252296673270995002445843186364437644787666120977001869233448406712566364165338383259924839655117707037504433484995796173679120275223911514845467571349002326625750119721766175008665904746975128526531181446661326064605467395657037178886605324355004196230177426678728821884623747273695767304986218161764653791250684715902182607304385941507899389059456373793235941786588111898456141976692736085019562829956862445566256858263455176818398965589551772927460988413876132368391599705876580276486567503120147070733991510838059478832712883624321433882543372977602777789618399649535697397636903886024058116582053505225830609263462412124522402755861947817826181770847570129328471979888615220999331956477285388363273843084263218729714457096018057807854035824386561941246428474098880098608158703301008601791750799752389532801948212644513963247860120219862799562548182147587104830281544038553546117142617453572049008455955709378861034019500305491262288391819073208528224694351007120170944003065340212428151763355791791839437235580619599699116163015279563460456983784540224087586942753619648559695285334052256827684187758361486216795185629565753958321309815430463674244021327931618673612817248577060111946123598193900621252473425741449085900448255485430067747118219103241433631982308111433919175233341106928828422558335077648699536536506714287955582030093989406339341209133419297193990369149322371877670038743448008607513423402434178282360383766021169506397449861231702922856552155584773126874520352275610463346280394526993502774830795242943259293749024194479027822851004179765368476920582599661783024174657065852080018919736954316099261901992132137900990403307390478130711876703188954326928257564059822273680063588913279478605070381279084980714537817612714737359032740722064415616187187759413014284406491028639988177108863663811456181170938895917668304762439512290181177230534117056153344675595775303288958199342673057358428330343739101325003560047986136341508606848225293181403169232789749093273077504200903778494056510975816155559090702566773404098986753953046032383604230199531591849367313525189581489488535625480503197647585901696232680396906876666459549664185820655301679056004901061371445562539217125352496378616811262611369615160269374133051362915073972224242301930882994794455183315598311707117062971344711308260056624996879534762365502782941495100058014843256862369206092463988252055372130400419198475316457872184310804825893827089830671682572989966518673665280209872200036912682084279360364872734576385926013243755047882229548194926920506607532925968739298298800452702943412683119451099309864094749355993719573210147137118304555051281447044683512410329801473701611163802619048044695616890515265155949621662288476368298284022724291764065940544523528279979161546878112186903247267667900909430311278860954517443153094736656222620858522771241017711927660823335428868998959457897962736320395395599117461090879821944581824776069135774200202148125846147070510778873228697186522004233319973104405668805354801242856898285964999639264502337704704956760862492375631035735488752644697222922573850933166640909968319813105151623109132410136711270423041003376113280493935788300752872463723320934684193778151320190791956931724047267444761559396485800020862787384811178089894595968938507478723241848027816707531533358521363260299311490654166646405558007266375945626576991211349 36702289340305198401554275703081862082574051376849230558170326640504541396492251188550961372549862632795046500871248956668080160452491385730778904831761375520792223831434907288761258076440674281755473904558209528492270643469005149658295188637503343598158123610042732146156604003881252974659397623565765097833332215374100389857640071752001461796629088920721130772163984064587612376083913644504066333127118759568721252244472327949205455337978184003014004330920827437899487165773913381955548157062983995766122224620334955384125934500908325424414338551044126298397325273923172723537288324041173891303747161850067642051112769745192917906187731399129657840586247507070354114090388362446107005651612782933769587947995015482943444721533636581324024064668425550536344121418724757267069952070413959899257017212597352016709985191703302437680517955020839460379182726887333796782375111791718550069062856548765912112489297989112240859510321543816365765177704181876241860920539017928372407984780658231287755734904496419549437647544270222191159909036945003826618900360037394490554270359253550661090714693290179416123707908573419303929406280884154489003089990931619346363899914477199646664344396355450373843114286892788234529584357604397477788472866576761037258450750193998665262213453168356262635219246063964864694355549407773092841897827532095462100379976474546417151575146131836541042895112362263018599428276716889726629778795667255051555583886037627457625162478790107953482874773205116063545674138479855423641517419139947713126786130758504496155103932359175599632103505396726742971423280528437197224595697115184239657518795908357999136790584213066454645800118983162584725045295140926973605793220965971118739480353628773203806525247511615770722286692861529595307725477314376698904910360322036102875679870838918147496109300010431666745287744556650405339035917625931354799411477775575805582641020650780522822608656532370653797183825431076636703352844813308436708862322022736950250184870786953860026984610128135634493886013645445841174707825665120448584330208918349328417689023366993452533363752070600506900997333697172449734055161221936118540374172797598647892945890661494995552356262066322660325791260887115337552522764780215562157459007799366696617115287618997506756647831616845537654859602101899533667622806290861381857002538431394118513204187506093639841150342753332633058642073212206724794576554370112878876731070402944642739342402746773392749737835254204332105303332388453742574885259877935539453546515502986708770853069357064881048595041839615018482803134697914763561627474221414673606999244203416119478794862206013086933452177380375481402921961198489393579994057191292546716440075343671833984953671501033355097326123698835640509095950671503944037567317977177420208015099390109372367204740585012219688559798780841256438443233382274416234536811970921486647990874238928344664998298278562954398020484833102232913589542025268373434348235507921511683028957311743077543181970395615190533341850183204231713665414662240422159699835903628932247857414401352863415901610368274371041706849458003690986378044728380534390161573654830083862821077198142735532847372557794296221255274273771741215870358959128731857552178421200555907581058518246274394498406937651534045591214101211546730241056999120510738649695314576951630460167961909454644333237519773276251107625706791542457911508872502917786659831831352807730284726739672963230925258119986077186222673331814742130078333011723945628796203739469646116573334919391804639737200437699220375766715502137630557560688201451711834067313339117859776889164603107830897946537395453057232005446688850580364869547186443666945127 59385551617546767000407082333357180863177154578390471324249874770618341370719972094273284911479419909795146025790822590327459661974634833918569543992187653605685334805746557814316212254209406008992183505684213009580890385867890066398003999824088917063983371333718398408560808998204661578911694296836760100279175401738538034645306192729003331030077495633287494937502367324512452031201620682008499818122914933247841527468383842794673026686980510628764124052687002446565391912749041908486729603724310060371589620277372134270731258855912521654591765229772948183021072547618940028523506485805827682554431877752250249355498711253092306965644105192365599627174359405526496090783124447465669835608475228500026446211450192301342410311085409508785012478544557918927943827295305033753637455190561030633248528050656830849422868816024736320223890932623617249997582376423031194419278997815776666651116361774596521375951710113634643615372269361642547536025274311204713840809154238927704364462066046594561598819167715149263894743562328030045195733423506945073047374458917493098712973660262152452841514445679712218071920553087382551789526500746954051551272138518724176645443953030745763806961849927499382299069996271649268549084663095659766180291939785289261952801757314169609265278793380784414398575037855804301929936169007472209004913107095555919084164516698634004094328765780396236328229164619090702787186638203106521815408361421213372865399316501301701646490410408781566300123350265228009669272332380476676114943160589033613575041616188572243273323035600609231614411616830645918204764387457265619782930774763883776194025510196313581166884573619405795854933538280356575094194617512804643644536668974578632162882787807055564190291268681122168172147924564452451859881062087503573425262635932499449156074397832420922326904542953690960494311939035678228190040097391299831719994077437358829757298086502860541742345610848469915699175957568977627106660235291439148585565510977063878507748930609227540090573523407614239564267292730426555712525438379857807617070930982764944604876782780007736939854780710588684009860997508628630904994057139604423302813685087779825123480007717648340227952037369611618525133933944473765882866503881540565717506993935708205223963512912178909925880621365938810732363803005678027724133782107016940947705105204798217499958140552126023445380542284924482425955598401788214283112179850616076524316972099177323136249279413232942413923655909506011161308233449825188137424477003288035832163326765598078386013338731197932411510115811839260784734017692709218744943072533121790669970588914724379535419859085547849298954960321870581460936804455351762786086521179544602088570475762870309301411543685344159923219950788666312191668940638022617702847527849377457120697183669469737239939316970938232932314846663070804633370153888881949160505551269220287100693817651611464116097608142657703754014204406312380050707846580319654881392919020331841484502658922906880162230015091232081048607006132825894002141782960524444883991599969569476771385694380514410294013797271521638709607758888314969847332562171533629126817796275688606634062094910070396356182801426793255679153237010092136611469476420219611679496760245976625043355258720394400240645477448430407274288400623215780050214161404789316093450938171475237595459807226411792349038194280635768626738661442280295102608731795076768719826472741321127543389878362782095641061969390409118189598786612308677918379085884187668949730887933247797436764126876323528687004645199258616861566736364925015368738778096047680772574792062359707804705872134641189419309797694764547886172093094408587631245492813020658156476 96087840957851965401961358036439042945751205955239701882420201411122882767212223282824246284029282542590192526662071546995539822427126219649348448823949029126477558637181465103077470330650080290747657410242422538073161029336895216056299188461592260662141494943761130554717413002085914553571091920402525198112507617112638424502946264481004792826706584554008625709666351389100064407285534326512566151250033692816562779712856170743878482024958694631778128383607829884464879078522955290442277760787294056137711844897707089654857193356820847079006103780817074481418397821542112752060794809847001573858179039602317891406611480998285224871831836591495257467760606912596850204873512809911776841260088011433796034159445207784285855032619046090109036543212983469464287948714029791020707407260974990532505545263254182866132854007728038757904408887644456710376765103310364991201654109607495216720179218323362433488441008102746884474882590905458913301202978493080955701729693256856076772446846704825849354554072211568813332391106598252236355642460451948899666274818954887589267244019515703113932229138969891634195628461660801855718932781631108540554362129450343523009343867507945410471306246282949756142184283164437503078669020700057243968764806362050299211252507508168274527492246549140677033794283919769166624291718415245301846810934627651381184544493173180421245903911912232777371124276981353721386614914919996248445187157088468424420983202538929159271652889198889519782998123470344073214946470860332099756460579728981326701827746947076739428426967959784831246515122227372661176187667985702817007526471879068015851544306104671580303675157832472250500733657263519159819239912653731617250329889940549750902363141435828767996816516192737938894434617425982047167606539401880272330172996254535552031754268671339069823013842964122627239599683592328633529076015017231186519405555212934635339939107153641064564954267380840569496359783000054263810013080104747585294427832999800828757933801396181400117558133535749874058153306375872396887233264044978256201401139901114273022565806147001189473218532781189190910858331205801080639049218361540541843187857885378473016425898379143335780308299435934278850925194831589103435389268661756127874966001735074901841078800531176416682528452982784348387223405107577561391756588397878322804707643636192336013162328058219663286530885038257115484597671613994939077688734220728955401048042502121965875591682160006335163661491163710343266611565838278930712309736881223575285709842268584787156866408088262813460105157651454279267537152390623982306570546754536464276969833118140499014214721291560936232407137702246062863858765653841156366080578370837148805010551106542143286365215186377515020546074487501952700764891309526561740414845826554877328712283059579109607144057555950452620874645443912061071813387271156365395042363240141773748684691890539808781095906421220658152034689239414612964297388605588028315741154528253353167531616234649957705411985486847271581948856316030125715807197622764867043691435873198409019243108781867273709915407639796009751314608346318660833710606899914163516979369930518690496883172108213131889030173984587551900408511283863877827339835379348343537048938667177180950936317238640674635143884386081941319879614724427326780455218403909826832100633486052189225919975188321246993371431800409044877846287149071837560520240667579686506486304572673935273674605102455058871987227510395195375821459944123420048457418895911614578527091672717443553337461795715333326741845636957837237333451867062645926299466297499392606642105401477567581595036737749020317256335090217605118177539783259167996115039999464325101603 155473392575398732402368440369796223808928360533630173206670076181741224137932195377097531195508702452385338552452894137322999484401761053567917992816136682732162893442928022917393682584859486299739840915926635547654051415204785282454303188285681177726124866277479528963278222000290576132482786217239285298391683018851176459148252457210008123856784080187296120647168718713612516438487155008521065969372948626064404307181240013538551508711939205260542252436294832331030270991271997198929007364511604116509301465175079223925588452212733368733597869010590022664439470369161052780584301295652829256412610917354568140762110192251377531837475941783860857094934966318123346295656637257377446676868563239933822480370895400085628265343704455598894049021757541388392231776009334824774344862451536021165754073313911013715555722823752775078128299820268073960374347479733396185620933107423271883371295580097958954864392718216381528090254860267101460837228252804285669542538847495783781136908912751420410953373239926718077227134668926282281551375883958893972713649277872380687980217679777855566773743584649603852267549014748184407508459282378062592105634267969067699654787820538691174278268096210449138441254279436086771627753683795717010149056746147339561164054264822337883792771039929925091432369321775573468554227887422717510851724041723207300268709009871814425340232677692629013699353441600444424173801553123102770260595518509681797286382519040230860918143299607671086083121473735572082884218803240808775871403740318014940276869363135648982701750003560394062860926739058018579380952055442968436790457246642951792045569816300985161470559731451878046355667195543875734913434530166536260894866558915128383065245929242884332187107784873860107066582541990434499027487601489383845755435632187035001187828666503759992149918385917813587733911622628006861719116112408531018239399632650293465097237193656501606307299878229310485195535740569031890916673315396186733879993343976864707265682732005408940208131656943364113622420599106298952599758702424836063818472070883879217627442588927008926413073313491777874920719328714429711544043275501144965146001542973158298139905906096791676008260336805545897376059128776062869318255772543296693592472995670783107065042313443355326608409074348723159119587208113255589115890370504895263752412748840990553513120468610345686731911427323181597910553270015783153360800914071345031925365014601299289011840961573239277577585147073216354427919799288104118849734213884511611117873169034182865542879746819460745871615273463293540052271170083333201051513619287658254946940422032864878549634580377108785531362098024116644324795570109192919152167099550381750893581026869412452587776758871721674943766025276168264892433831947549179443262373675932334449409466729048846847083374526888685553189492106982865705183541160038314555547914509362060849378509542151272897193514563878361906048893645726993015005235185907683197134073548585194652034275157556837867642000578079352630555862448856019717948980583289311927683035842767885790628803162381684003929204911317648460922367234633630681043169071447792643797166206207297130945267018283528245212975411380807579561748293956014438809311799567955216545698913153805994291575959035074875789361834512348594168015347643106830669379808699142925551571657527426821379782414733039342409626081044813504584948591352132663128972462656455226312777313995062817064483465237154513049196900804313565420246556432097966836504780099283528257979605965240990101588672038862013746490836216454098900188231987661295038244393547073379216897463837275386300908872390209736566132784982153004349632877667755627360532812484983258079 251561233533250697804329798406235266754679566488869875089090277592864106905144418659921777479537984994975531079114965684318539306828887273217266441640085711858640452080109488020471152915509566590487498326169058085727212444541680498510602376747273438388266361221240659517995635002376490686053878137641810496504190635963814883651198721691012916683490664741304746356835070102712580845772689335033632120622982318880967086894096184282429990736897899892320380819902662215495150069794952489371285125298898172647013310072786313580445645569554215812603972791407097145857868190703165532645096105499830830270789956956886032168721673249662756709307778375356114562695573230720196500530150067289223518128651251367618514530340607869914120376323501689003085564970524857856519724723364615795052269712511011698259618577165196581688576831480813836032708707912530670751112583043761176822587217030767100091474798421321388352833726319128412565137451172560374138431231297366625244268540752639857909355759456246260307927312138286890559525775524534517907018344410842872379924096827268277247461699293558680705972723619495486463177476408986263227392064009171132659996397419411222664131688046636584749574342493398894583438562600524274706422704495774254117821552509389860375306772330506158320263286479065768466163605695342635178519605837962812698534976350858681453253503044994846586136589604861791070477718581798145560416468043099018705782675598150221707365721579160020189796188806560605866119597205916156099165274101140875627864320046996266978697110082725722130176971520178894107441861285391240557139723428671253797983718522019807897114122405656741774234889284350296856400852807394894732674442820267878145196448855678133967609070678713100183924301066598045961017159416416546195094140891264118085608628441570553219582935175099061972932228881936214973511306220335495248192127425762204758805187863228100437176300810142670872254145610151054691895523569086154726686395500934319174421176976665536023616533401590340325689790479113987680573905482171349486991966469814320019873210784993490650008395074010115886291846272967065831577659920230792183092493862685506989189400858536771156331804475935011788568636241480176226984323607651972753645041205052821467438997405858008906121113974531743290937527331507507506810613220833150507646958902773586557120392477182889526282796668565350018442312361438713395150941629778092438489648292073987326413057103421254887432643733245612741246638236926697694531365126383049562043950765735186403583011302767652699746154907723559331720431114747819319808322473957183358084166042194719223910255151005377563849301668669721763769235726362707188654335763034075518247677921218899698591577975954595874141974058099189964312099763670217593198723257075741183677219502487211778121749788627956454227432082839138174064137550894926776996928431194679950590277749503834598063201432691081678289420985099020058083582885141605979302623791495711512875228076838547819565891392206795573053986064926624212504718764886145433756178206054178971374471715966294809871911944248957713844612551113658212236975580952291514753775971361956160776536136725987627828439126496660134243149395968359479970259577819892266149147178916298753594637580330986945227893197675749510933246220594289914047630072070433611124598212608969757652205143579616047299757603054286335781057881453858382431235740423970223649213130236141732799081886668998090739088567692213385036424411199508941241706500555518015293923676010898106785071278682684543439050467754195340488336473174291336233640099050307221337710691046465985859002865314842967895945610139230053822467875199758122527172660926923623475572811949308359682 407034626108649430206698238776031490563607927022500048295760353774605331043076614037019308675046687447360869631567859821641538791230648326785184434456222394590803345523037510937864835500369052890227339242095693633381263859746465780964905565032954616114391227498720188481273857002667066818536664354881095794895873654814991342799451178901021040540274744928600867004003788816325097284259844343554698089995930944945371394075336197820981499448837105152862633256197494546525421061066949688300292489810502289156314775247865537506034097782287584546201841801997119810297338559864218313229397401152660086683400874311454172930831865501040288546783720159216971657630539548843542796186787324666670194997214491301440994901236007955542385720027957287897134586728066246248751500732699440569397132164047032864013691891076210297244299655233588914161008528180604631125460062777157362443520324454038983462770378519280343217226444535509940655392311439661834975659484101652294786807388248423639046264672207666671261300552065004967786660444450816799458394228369736845093573374699648965227679379071414247479716308269099338730726491157170670735851346387233724765630665388478922318919508585327759027842438703848033024692842036611046334176388291491264266878298656729421539361037152844042113034326408990859898532927470916103732747493260680323550259018074065981721962512916809271926369267297490804769831160182242569734218021166201788966378194107832018993748240619390881107939488414231691949241070941488238983384077341949651499268060365011207255566473218374704831926975080572956968368600343409819938091778871639690588440965164971599942683938706641903244794620736228343212068048351270629646108972986804139040063007770806517032854999921597432371032085940458153027599701406851045222581742380647963841044260628605554407411601678859054122850614799749802707422928848342356967308239834293222998204820513521565534413494466644277179554023839461539887431264138118045643359710897121053054414520953530243289299265406999280533821447422478101302994504588470302086750668894650383838345281668872708277450984001019042299365159764744940752296988634660503727135769363830472135190943831695069296237710572726687796828973047026073603043452383714842071900813748349515059911993076641115971163427417887069899346601680230666626397821334088739623537329407668850309533141318173443039403265278911036750353739684620311305704211645561245799290562363419019251778071704720543899273605306484890318831785310143052122451164414487168411778164650246797521456180336950518242625901727184305203335704578041359372079492557290384409597785329852974170850677183870256113483882045778507295131333750479351513449905872226994670414777471600650592172604845367048461918732929820864908078125039838482485632555204624920626939593178419546227531216517676803301310806609727823727253629657877792482180469591232994506138192258865895447441710974842354575482935548977381964132476530868598994307858977403394710009301625423742471600166549763633440695986643005976843060581213742165151705158789343490899057507558734180600500715106630641717773817462431306673159342815585922195796945042809748804573702342933284758773706144780188379456124807349167059532007871775906704958458978484253970140336493484792939519469156710824386722608055106638508215645419713540441793978021308112683203776801107042868679540017787325678190683962498671887016184331776102886778185592892596959111859200664060907803572032929367898085621312003822506661953056987615982130428456110181635043050884647925533540639139793057354234827309390745435133828331037968516375955084593539365075900329152118354196854482529439790388600660181911126876805538594679250836105624434291617761 658595859641900128011028037182266757318287493511369923384850631367469437948221032696941086154584672442336400710682825505960078098059535600002450876096308106449443797603146998958335988415878619480714837568264751719108476304288146279475507941780228054502657588719960847999269492005043557504590542492522906291400064290778806226450649900592033957223765409669905613360838858919037678130032533678588330210618913263826338480969432382103411490185735005045183014076100156762020571130861902177671577615109400461803328085320651851086479743351841800358805814593404216956155206750567383845874493506652490916954190831268340205099553538750703045256091498534573086220326112779563739296716937391955893713125865742669059509431576615825456506096351458976900220151698591104105271225456064056364449401876558044562273310468241406878932876486714402750193717236093135301876572645820918539266107541484806083554245176940601731570060170854638353220529762612222209114090715399018920031075929001063496955620431663912931569227864203291858346186219975351317365412572780579717473497471526917242475141078364972928185689031888594825193903967566156933963243410396404857425627062807890144983051196631964343777416781197246927608131404637135321040599092787265518384699851166119281914667809483350200433297612888056628364696533166258738911267099098643136248793994424924663175216015961804118512505856902352595840308878764040715294634489209300807672160869705982240701113962198550901297735677220792297815360668147404395082549351443090527127132380412007474234263583301100426962103946600751851075810461628801060495231502300310944386424683686991407839798061112298645019029510020578640068468901158665524378783415807072017185259456626484651000464070600310532554956387007056198988616860823267591417675883271912081926652889070176107626994536853958116095782843681686017680934235068677852215500367260055427757010008376749665971589795276786948051808169449612594579326787707204200370046106398055372228835697930195779312915798808589620859511237901592088983568410070641651573742635364464703858218492453866198927459379075029158185657006037712006583874648554891295910228263226515979124380344690231840452569515048661699585397609288506249830027775991366814825545854953402336527350990482499124877284541392418813190284129011738174133208434554921890131184288310442436866653533795356332565686061947476386768796052046059024700855153275339338237780210655493006578191128808141798786706249039730503060078423547069749816982529540870217973822115415981983925039191639718170942372056634907864535056135692789178691887815031247567767681951372047693394760932334875633677333183714448229058900569476842058702104241635261070188662455392819550290764182821321644336060706987920054872390224803508700078831278461700661810616812680906758005652966306304759755538238692566961901317767208772719259177398022427674456728470008369730045504912407533436253772356534076402022216059416010204973610482768899106222884529702262290291166057941970429013749972707932601055565299978628310585461336995397669870431979274700475410372627050879599431618430013544964885396318396538213710550721014171704965350238479659272386602145271276848513699274203317526539502267449595798971107606157400552723734974073815779884747362354386573897655854275700928422263275491783974052918576233917082440855981944686658915979297620841612013971741843952530269447420072200073110427398723128738691910941087333058998542660600621581283122045723203331447903659557543133997424352132121079741828122163330610076979689607547252694723163782565036771367468430088275737713665775640005350934903194466961322092800092668669844211068535381669249403978199521602874311678436383599977443 1065630485750549558217726275958298247881895420533869971680610985142074768991297646733960394829631359889697270342250685327601616889290183926787635310552530501040247143126184509896200823916247672370942176810360445352489740164034612060440413506813182670617048816218681036480543349007710624323127206847404002086295937945593797569250101079493054997764040154598506480364842647735362775414292378022143028300614844208771709875044768579924392989634572110198045647332297651308545992191928851865971870104919902750959642860568517388592513841134129384905007656395401336766452545310431602159103890907805151003637591705579794378030385404251743333802875218693790057877956652328407282092903724716622563908123080233970500504332812623780998891816379416264797354738426657350354022726188763496933846534040605077426287002359317617176177176141947991664354725764273739933002032708598075901709627865938845067017015555459882074787286615390148293875922074051884044089750199500671214817883317249487136001885103871579602830528416268296826132846664426168116823806801150316562567070846226566207702820457436387175665405340157694163924630458723327604699094756783638582191257728196369067301970705217292102805259219901094960632824246673746367374775481078756782651578149822848703454028846636194242546331939297047488263229460637174842644014592359323459799053012498990644897178528878613390438875124199843400610140038946283285028852510375502596638539063813814259694862202817941782405675165635023989764601739088892634065933428785040178626400440777018681489830056519475131794030921681324808044179061972210880433323281171950634974865648851963007782481999818940548263824130756806983280536949509936154024892388793876156225322464397291168033319070521907964925988472947514352016216562230118636640257625652560045767697149698781662034406138532817170218633458481435820388357163917020209182808607094348650755214828890271231506003289743431225231362193289074134466758051845322246013405817295176425283250218883726022602215064215588901393332685324070190286562914659111953660493304259115087696563774122738907204910363076048200485022165802456947336171637189551799637364032590346451259571288521926909748807225621388387382226582335532323433071228375081656897446668701751851587262983559140240848447968810305883089630730691968840759606255889010629754721617718111287176186675113529775605089327226387423519149791730679336006559364920900584037070773018912025829969200512862342685979854346215393378910208857212801939433693955357386385600280066228781446495371976668689184997958362092169738391840270830538063967307588537952177279736701900667565611609518745889790817065760226736354031903227321410215554147507488064859077232864420200882936787666688692797979439917740919780468349843347182564463833666325582437556405859326304233184182823981563056849045302294785628571396866650511741357867613660668962866662267235625492946623382375790829255292083053783986348535946878803967918341746302500932893831327686032762766224491734062454445959350938577898625881192370475737166495784741160769489486833434656010873342157510241149392247475976271558555661212124135906347666056981453769923940822592557145375851416057036893155399010666693599034275321371705676066065135884806693875310567300572824266831511097398284378462330807566930478920911497514494712554255225195124059758745793701784658837638628937692162425806451202156463604403976175997205584316021335651022800287997119906346232633550949181207667035207153954565612614530749979554780588231261376871173047978535610520328747340310048957991091955782206501296761126244254089620860233544716010803523619079676289654575198109634599669195563580376280783738116282125147784060817891595204 1724226345392449686228754313140565005200182914045239895065461616509544206939518679430901480984216032332033671052933510833561694987349719526790086186648838607489690940729331508854536812332126291851657014378625197071598216468322758339915921448593410725119706404938641884479812841012754181827717749339926908377696002236372603795700750980085088954987805564268412093725681506654400453544324911700731358511233757472598048356014200962027804479820307115243228661408397808070566563322790754043643447720029303212762970945889169239678993584485971185263813470988805553722607752060998986004978384414457641920591782536848134583129938943002446379058966717228363144098282765107971021389620662108578457621248945976639560013764389239606455397912730875241697574890125248454459293951644827553298295935917163121988560312827559024055110052628662394414548443000366875234878605354418994440975735407423651150571260732400483806357346786244786647096451836664106253203840914899690134848959246250550632957505535535492534399756280471588684479032884401519434189219373930896280040568317753483450177961535801360103851094372046288989118534426289484538662338167180043439616884791004259212285021901849256446582676001098341888240955651310881688415374573866022301036278000988967985368696656119544442979629552185104116627925993803433581555281691457966596047847006923915308072394544840417508951380981102195996450448917710324000323486999584803404310699933519796500395976165016492683703410842855816287579962407236297029148482780228130705753532821189026155724093639820575558756134868282076659119989523601011940928554783472261579361290332538954415622280060931239193282853640777385623349005850668601678403675804600948173410581921023775819033783141122218497480944859954570551004833423053386228057933508924472127694350038768957769661400675386775286314416302163121838069291398985698061398308974354404078512224837267020897477593085020218173283170362738686729046084839552526446383451923693231797512085916813921801915130863024178522252843923225662279270131324729753605234235939623579791554782266576605106132369742151077358670679171840168953920046285744443095547592295816862430383951633212158750201376740670050086967624191624038573263099004366448471722992523655154188114613974041639365725732510202724696279914859703707014892814690443932519885905906028553724042840208908886108170775389173863810287945843776738360707414518196239922274850983674405032408160329321004141472686103385945896438988632404282551756416223496227604359422395482210765371534563616386860127370014997000034273447975963619716755855122619785519944961688073948360960372541853621523468150249474674965412932472704163468917658389142749135047739688257239751173700970488010337134040146905660974652858574646855882643295112128026244248173218540233062238837149130286322812387283994861747529889164075423231000535265636088343419595132275605355538451535789909227083027648617130186008564595362889008941528824515201607155778361029948323053932282433704491468195932058871178954191181170998786322627832780138830639921466108135131421245969208389840581010677489521236443951979608662349616898387071153158735274179302251829531977996687333885406854673213984220138536542770967504647173671293285359417610284641116352709014193865483972182034316606508495352742196403281488547631130489142277564915740690480360700638135259470549706134167650403732425911024476176249107632983039150074342933741375330178904888893234172530464329712758410485402469272172073883976979132720352341118699295211309145687500018354887562743681154874520818977868765191214519991803286635873550066945706718086040998382454667866779478810737730945249625684761937637884999459462497201491572647 2789856831142999244446480589098863253082078334579109866746072601651618975930816326164861875813847392221730941395184196161163311876639903453577721497201369108529938083855516018750737636248373964222599191188985642424087956632357370400356334955406593395736755221157322920960356190020464806150844956187330910463991940181966401364950852059578143952751845718866918574090524154389763228958617289722874386811848601681369758231058969541952197469454879225441274308740695459379112555514719605909615317824949205963722613806457686628271507425620100570168821127384206890489060297371430588164082275322262792924229374242427928961160324347254189712861841935922153201976239417436378303482524386825201021529372026210610060518097201863387454289729110291506494929628551905804813316677833591050232142469957768199414847315186876641231287228770610386078903168764640615167880638063017070342685363273362496217588276287860365881144633401634934940972373910715990297293591114400361349666842563500037768959390639407072137230284696739885510611879548827687551013026175081212842607639163980049657880781993237747279516499712203983153043164885012812143361432923963682021808142519200628279586992607066548549387935220999436848873779897984628055790150054944779083687856150811816688822725502755738685525961491482151604891155454440608424199296283817290055846900019422905952969573073719030899390256105302039397060588956656607285352339509960306000949238997333610760090838367834434466109086008490840277344564146325189663214416209013170884379933261966044837213923696340050690550165789963401467164168585573222821361878064644212214336155981390917423404762060750179741546677771534192606629542800178537832428568193394824329635904385421066987067102211644126462406933332902084903021049985283504864698191134577032173462047188467739431695806813919592456533049760644557658457648562902718270581117581448752729267439666157292128983596374763649398514532556027760863512842891397848692396857740988408222795336135697647824517345927239767423646176608549732469556694239388865558894729243882694879251346040699344013337280105227125559155701337642625901256217922933994895184956328407208881643522921734085659950183966291438474349850773959570896696170232741530128620439192356906039701876957600779606574180479013030579369545590395675855652420946332943149640627523746665011219026884022415883775864716400251233807095635507417696713973883117140506311921756693317058238129529833866484158665957732161289817898841261495353695849917451584990745022675548439546818029935593055549312367973359092204011839816234450254819822430208323472122241424775849028525984151372367413258967315234901701766964375931484879133212536650237199906816921121659952056637758154699029932019586823401894433326924490203065207758945794351826685729624399559366472021331954267885869236329297156533158460560942073742741893133249749012382461794542840981031398159172285017912282940700183969994913131309767812909447166261504108088672192357634355816698506925438553922641891409809756852817062363369262059794328564879991409410952941569787432119311365900081730402924965497508002507640820786485523246053128134612505198120124844386677353848103390922300010072224650913737570818092339210323239736429170166111485595208416925533281025376581370466412778937316062283221117314779003042343684744367472688975499436274062485296972898099487398296593456854934582374628880152425104838567355171409993956541663327298811235125867723479645537379793617639357034884786604633956533913308583602495570468259287681298020347102227872792639145966476601184370061952340764245892907496107094782956510241705120674672109243064889113410406926508830001965545675754167124607246558019383167851 4514083176535448930675234902239428258282261248624349761811534218161163182870335005595763356798063424553764612448117706994725006863989622980367807683850207716019629024584847527605274448580500256074256205567610839495686173100680128740272256404000004120856461626095964805440169031033218987978562705527257818841687942418339005160651603039663232907739651283135330667816205661044163682502942201423605745323082359153967806587073170503980001949275186340684502970149093267449679118837510359953258765544978509176485584752346855867950501010106071755432634598373012444211668049432429574169060659736720434844821156779276063544290263290256636091920808653150516346074522182544349324872145048933779479150620972187249620531861591102993909687641841166748192504518677154259272610629478418603530438405874931321403407628014435665286397281399272780493451611765007490402759243417436064783661098680786147368159537020260849687501980187879721588068825747380096550497432029300051484515801809750588401916896174942564671630040977211474195090912433229206985202245549012109122648207481733533108058743529039107383367594084250272142161699311302296682023771091143725461425027310204887491872014508915804995970611222097778737114735549295509744205524628810801384724134151800784674191422158875283128505591043667255721519081448244042005754577975275256651894747026346821261041967618559448408341637086404235393511037874366931285675826509545109405259938930853407260486814532850927149812496851346656564924526553561486692362898989241301590133466083155070992938017336160626249306300658245478126284158109174234762290432848116473793697446313929871839027042121681418934829531412311578229978548650847139510832243997995772503046486306444842806100885352766344959887878192856655454025883408336891092756124643501504301156397227236697201357207489306367742847466062807679496526939961888416331979426555803156807779664503424313026461189459783867571797702918766447592558927730950375138780309664681640020307422052511569626432476790263945945899020531775394748826825564118619164128965183506274670806128307275949119469649847378202917826380509482794855176264208678437990732548624224071312027474554946244410151560706961488561317474965583609469959269237107978600343431716012060227816490931642418972299912989215755275649460450099382870545235636776875669526533429775218735261867092931301991946640105574115044095041479284156057421388401313380428586772740367722090646289859154870625631352061118107186256887473665777905452266140947812595104445071030650312189564499209442409439737988356092238285287792198069971575677552828108992067203112849797389486356693225988936727117564709576667179896848635648348050870925792986334954556609378899703230338728642709367066059733729062869086185499137058947851054057922378070933902842939792428710858481084554208681623613292018280688349725017496973742428398885837355802056926818446336569849694962194244995310589317314156003477726672656821850975990776705715244450553387582678870630789359143045390837823468680935807008243534368048382422161345018822049332419049704918853365280574289922311413602455018744446459620429448835140144440199287771240472299427096216209331844790724807706864745438635133876107360863306714970413407722455525529095879849533278242295219242065342648447095543824557635963313718060491589974815233509750253891240126754423185935108157570037104430761107258667008285653356328674212471550394321484336890283038657477716124019101896010109867092552028124759504156958678517933513046028935943614269763470596826985520365457115435536320300840997420162238827143555284237696194131980644849902216959791161673054563910931668592221144657454079627650307613392052124066709055220874740498 7303940007678448175121715491338291511364339583203459628557606819812782158801151331760625232611910816775495553843301903155888318740629526433945529181051576824549567108440363546356012084828874220296855396756596481919774129733037499140628591359406597516593216847253287726400525221053683794129407661714588729305679882600305406525602455099241376860491497002002249241906729815433926911461559491146480132134930960835337564818132140045932199418730065566125777278889788726828791674352229965862874083369927715140208198558804542496222008435726172325601455725757219334700728346803860162333142935058983227769050531021703992505450587637510825804782650589072669548050761599980727628354669435758980500679992998397859681049958792966381363977370951458254687434147229060064085927307312009653762580875832699520818254943201312306517684510169883166572354780529648105570639881480453135126346461954148643585747813308121215568646613589514656529041199658096086847791023143700412834182644373250626170876286814349636808860325673951359705702791982056894536215271724093321965255846645713582765939525522276854662884093796454255295204864196315108825385204015107407483233169829405515771459007115982353545358546443097215585988515447280137799995674683755580468411990302612601363014147661631021814031552535149407326410236902684650429953874259092546707741647045769727214011540692278479307731893191706274790571626831023538571028166019505415406209177928187018020577652900685361615921582859837496842269090699886676355577315198254472474513399345121115830151941032500676939856466448208879593448326694747457583652310912760686008033602295320789262431804182431598676376209183845770836608091451025677343260812191390596832682390691865909793167987564410471422294811525758740357046933393620395957454315778078536474618444415704436633053014303225960199380515823452237154984588524791134602560544137251909537047104169581605155444785834547516970312235474794208456071770622348223831177167405670048243102758188209217450949822717503713369545197140325127218383519803507484723023694427388969550057474347975293132806929952605328476982081847125420756432482131612432885917504952631280193670997476680330070101744673252927035667325739543180366655439469849508728963870908368966267518367889243198578874093468228785855019006040495058726197656583109818819167160953521883746480893976953717875722504821974366277902137114791573754135362284430520934898694497061039148884419388988737109790018018850268476074786314927273259148116058399397585849467746579089859007594434802497958752105961715184442297127608432520226395499983036432464189444537625646418012340844598356349986084879944478368946861224567133227184083462443223534861373530500559655286976486797408396998079320552464763519512423627262013058813003716729897619632467339351795182879813038822094550859942589174813846810285959570716484321532135586368184518721361287317601247854134479262907593530017498125998390857982424634760423157038209823333122745745217034687329296284581599313479714878490692659825305897737310442216489909898813458743371991274706285484591940190004041816527420516252448967261250235320663390493327422383745670419551940602886685692894115730006874817663286047613678178955645925293653144151625691640581475057950203775576244618646713114859874481140619919184431032839494632318499977877222942866739563028485671232081055669524502727354564113601590660282236481099317310117749492894330846824701984776527359144969619489755404472345645764116539041745283151890046959337519546109840231729884508283540712559343308328959446807474021346608889095896048483589101628087739632858727201496282347726673153996557705631551583962909629615853289146219248673955613240257908349 11818023184213897105796950393577719769646600831827809390369141037973945341671486337356388589409974241329260166291419610150613325604619149414313336864901784540569196133025211073961286533409374476371111602324207321415460302833717627880900847763406601637449678473349252531840694252086902782107970367241846548147367825018644411686254058138904609768231148285137579909722935476478090593964501692570085877458013319989305371405205310549912201368005251906810280249038881994278470793189740325816132848914906224316693783311151398364172509445832244081034090324130231778912396396236289736502203594795703662613871687800980056049740850927767461896703459242223185894125283782525076953226814484692759979830613970585109301581820384069375273665012792625002879938665906214323358537936790428257293019281707630842221662571215747971804081791569155947065806392294655595973399124897889199910007560634934790953907350328382065256148593777394378117110025405476183398288455173000464318698446183001214572793182989292201480490366651162833900793704415286101521417517273105431087904054127447115873998269051315962046251687880704527437366563507617405507408975106251132944658197139610403263331021624898158541329157665194994323103250996575647544201199312566381853136124454413386037205569820506304942537143578816663047929318350928692435708452234367803359636394072116548475053508310837927716073530278110510184082664705390469856703992529050524811469116859040425281064467433536288765734079711184153407193617253448163047940214187495774064646865428276186823089958368661303189162767106454357719732484803921692345942743760877159801731048609250661101458846304113017611205740596157349066586640101872816854093056189386369335728876998310752599268872917176816382182689718615395811072816801957287050210440421580040775774841642941133834410221792532327942227981886259916651511528486679550934539970693055066344826768673005918181905975294331384542109938393560656048630698353298598969957477070351688263410180240720787077382299507767659315444217672100521967210345367626103887152659610895244220863602655251242252276579799983531394808462356608215611608746340290870876650053576855351505698472031626574480253305380214415596984800705126789836614708706957487329307302624381026495334858820885617551174006457444541130668466490594441596742892219886694488693694383297102481742761069885019867669144927548481321997178594075729811556750685743901363485467237428761239530709248143607735421370079968375662331673788593051164600382199347210180953912817609740171197158934011940368191843950071276680582415400630590197971177535864541456256647650475443807498697537824345286713202444654055036126758073202781575234954388236209869815930139879459358517315215440117764064139054281527632605697922764320960909867061639107968553535310279144223893738294123376303232483555881193094535160010977067690226749931021423723986575648179733654171097549096673507902904119334812282001868584655081456611399147814915538577573299132799713557960085643724644704317538347171628466833549432105358824638651254917635508075791040979625138849872514479926353230129875534996895426881679684155803534933526710154986142718979036819096017537684840537713739563101921181489785539818952640264066551874081217169677354907483482017871463860712055763306970024965177555147744750899986222293315211386973196757979689782908857167189213239561607158115671372268598945935592809773529781668143814378667737107740642254243483164071515499865271564897673888876043198703961669823560005366455489724109995200481335269061078016458743865279747648471441508847716239451332721285295760068384482760944161287444020781237064928226297852696241416989257266160902538271372740664668461132648847 19121963191892345280918665884916011281010940415031269018926747857786727500472637669117013822021885058104755720134721513306501644345248675848258866045953361365118763241465574620317298618238248696667966999080803803335234432566755127021529439122813199154042895320602540258241219473140586576237378028956435277453047707618949818211856513238145986628722645287139829151629665291912017505426061183716566009592944280824642936223337450595844400786735317472936057527928670721107262467541970291679006932284833939456901981869955940860394517881558416406635546049887451113613124743040149898835346529854686890382922218822684048555191438565278287701486109831295855442176045382505804581581483920451740480510606968982968982631779177035756637642383744083257567372813135274387444465244102437911055600157540330363039917514417060278321766301739039113638161172824303701544039006378342335036354022589083434539655163636503280824795207366909034646151225063572270246079478316700877152881090556251840743669469803641838289350692325114193606496496397342996057632788997198753053159900773160698639937794573592816709135781677158782732571427703932514332794179121358540427891366969015919034790028740880512086687704108292209909091766443855785344196873996321962321548114757025987400219717482137326756568696113966070374339555253613342865662326493460350067378041117886275689065049003116407023805423469816784974654291536414008427732158548555940217678294787227443301642120334221650381655662571021650249462707953334839403517529385750246539160264773397302653241899401161980129019233554663237313180811498669149929595054673637845809764650904571450363890650486544616287581949780003119903194731552898494197353868380776966168411267690176662392436860481587287804477501244374136168119750195577683007664756199658577250393286058645570467463236095758288141608497709712153806496117011470685537100514830306975881873872842587523337350761128878901512422173868354864504702468975646822801134644476021736506512938428930004528332122225271372684989414812425649185593865171133588610176354038284213770921077003226535385083509752588859871790544203733636368041228471903303762567558529486631699369469508306904550355050053467342632652126444669970203270148176806996058271173532749992762853226710128816130048099925673326985687472531089500322940548802996513307860855336818986228223655046838737743391649749522847599899315708867303565692112970174422298384161734489800388415128637132344845211388098818644138406460103520324423748498257746607766803380564188830030204753368814438326943949911786461122879543009063110424366677518900973920446092188101090225511038382422701636699287324598533405073619297769914802419037850679433404677303670380019013804291702237526161062218374833992396125210346391582973968680065355837866173167777618496019076618107162198397783343498470367908381970296936638406711071463157010092171094369541020971772345403231152770810497649352310408000259442637506091371822304853125361910696044878016748245289381928306244017797253225662321126658855329842669266855141164816448966819163032254331424334464454669930395046657296051249344394142929919476466925426854132538731813138530977421982703230578956267720614380765207229103463718774598565557719696025706908810258829965433685793447708479358768878166844506105797474332175783739480854611815189264196139624719252811394528399270268909086109885470235485870189606217829290872847091785893307272998583932442627030770842309041134989620676037243319652992582240449244821713606964703975035833950226930365843552601790575802052194239194455945462855456605335347381204874397388156124115619671362783726368507910218924784003484247825379898886882014191684490621414620281701390557196 30939986376106242386715616278493731050657541246859078409295888895760672842144124006473402411431859299434015886426141123457114969949867825262572202910855145905687959374490785694278585151647623173039078601405011124750694735400472754902430286886219800791492573793951792790081913725227489358345348396198281825600415532637594229898110571377050596396953793572277409061352600768390108099390562876286651887050957600813948307628542761145756602154740569379746337776967552715385733260731710617495139781199740163773595765181107339224567027327390660487669636374017682892525521139276439635337550124650390552996793906623664104604932289493045749598189569073519041336301329165030881534808298405144500460341220939568078284213599561105131911307396536708260447311479041488710803003180892866168348619439247961205261580085632808250125848093308195060703967565118959297517438131276231534946361583224018225493562513964885346080943801144303412763261250469048453644367933489701341471579536739253055316462652792934039769841058976277027507290200812629097579050306270304184141063954900607814513936063624908778755387469557863310169937991211549919840203154227609673372549564108626322298121050365778670628016861773487204232195017440431432888398073308888344174684239211439373437425287302643631699105839692782733422268873604542035301370778727828153427014435190002824164118557313954334739878953747927295158736956241804478284436151077606465029147411646267868582706587767757939147389742282205803656656325206783002451457743573246020603807130201673489476331857769823283318182000661117595032913296302590842275537798434515005611495699513822111465349496790657633898787690376160468969781371654771311051446924570163335504140144688487414991705733398764104186660190962989531979192566997534970057875196621238618026168127701586704301873457888290616083836479595972070458007645498150236471640485523362042226700641515593441519256736423210286054532112261915520553333167328945421771092121546373424769923118669650791605714421733039032000433632484526171152804210538759692497329013649179457991784679658477777637360089552572391266599006560341851979649974812194174639217612106341983205067941539933479030608355433681758229636927149796760039884856883764483387578476157131019258188085531014433681222106383117868116355939021683941919683441022883207796554549720116088709966416116723757611060794677071328921896494302943033377248863655918323661869628971918561627945837885275952580632758178787019800738133892113375588348880457093817947757293381798570201401912302826378695135793861857737803461958409693700622337855054765515376702739838576534033009735920247046923412489769252588441200377370972696377653992238915643274493233810259478372321606917677643925126357429115520028730908269155903934878547126994945834726703087897640242970356401285574701015827054351561002917130307913706096937821394178433816157670017720754625943442952327826278713401768687122690002128027292587547983221452668040900488269344010816461803249467572030888722114791572833949593492404761948028091493792419734084474894954073233956563184336969149856748276787171586246239821024609603632270460360380842693717955857510014241078720768263796805434353943867128410593249258593551205821786247899788125979936184872917167811319172340070824641473814531070975029479920534639467076905130400651169336382698942594303385566459482148647717043585906858138788552153422100646376873454037121651666321040183269285014325473112650489485947602140993541868625439153206491537166970070430525558060222130847178821662868592260796059518942104416904364304321574798713926159693148224508598380615524071170389289147283853010301336944066796888144148175094222761994155284950162523206043 50061949567998587667634282163409742331668481661890347428222636753547400342616761675590416233453744357538771606560862636763616614295116501110831068956808507270806722615956360314595883769885871869707045600485814928085929167967227881923959726009032999945535469114554333048323133198368075934582726425154717103053463240256544048109967084615196583025676438859417238212982266060302125604816624060003217896643901881638591243851880211741601002941475886852682395304896223436492995728273680909174146713484574103230497747051063280084961545208949076894305182423905134006138645882316589534172896654505077443379716125446348153160123728058324037299675678904814896778477374547536686116389782325596240940851827908551047266845378738140888548949780280791518014684292176763098247468424995304079404219596788291568301497600049868528447614395047234174342128737943262999061477137654573869982715605813101660033217677601388626905739008511212447409412475532620723890447411806402218624460627295504896060132122596575878059191751301391221113786697209972093636683095267502937194223855673768513153873858198501595464523251235022092902509418915482434172997333348968213800440931077642241332911079106659182714704565881779414141286783884287218232594947305210306496232353968465360837645004784780958455674535806748803796608428858155378167033105221288503494392476307889099853183606317070741763684377217744080133391247778218486712168309626162405246825706433495311884348708101979589529045404853227453906119033160117841854975272958996267142967394975070792129573757170985263447201234215780832346094107801259992205132853108152851421260350418393561829240147277202250186369640156163588872976103207669805248800792950940301672551412378664077384142593880351391991137692207363668147312317193112653065539952820897195276561413760232274769336693984048904225444977305684224264503762509620922008741000353669018108574514358180964856607497552089187566954286130270385058035636304592244572226766022395161276436057098580796134046543958310404685423047296951820338398075709893281107505367687463671762705756661704313022443599305161251138389550764075488347691203284097478401785170635828614904437411048240383580963405487149100862289053594466730243155005060571479445849649689881012021041312241143249811270206308791195102043411552773442242623989825879721104415405056935074938190071163562495354452444426594176521795810011810336942940976626092745960253790706408362016360966522408297425844146277605663939144593995633700012097378714840425714560673945987400231606665671640817022079743773644198926341501418756811046704532573666489297148832026677624258520774302669748560111777093851121846273996668742611180073030089595076679170537480639497386125898619915170086188575803949512424856118615547486908847227192350783700899870865516136262046974508447773098799170552821928911299100604850344503648892857335443908328764387261775597715788355558979049523899418039433098002387469930093639355043757521166262398965388888833210048538849500337132739912044798496270720151260091790697358348933584550533441714117105488287987518801423819787143323444467637495584215167539523108737385787234975232449768996040991663061423998842753073154968324632335639696712977368149771379505943925495034790195014838350853604766880819429593519640659037176772503812096318378947931516945589915365476007418195405697913965729751057733826929056142344008978158371251391519223965239930428924664904972625896315785167782153785479106623639384313194861207679602451313250773934774405561392010449061213022374264659168062848253758136560362367219760926910146095131034090536380632714000286886854896757797057502777794304821191892176787031030189285907252615569905231863913763239 81001935944104830054349898441903473382326022908749425837518525649308073184760885682063818644885603656972787492987003760220731584244984326373403271867663653176494681990447146008874468921533495042746124201890826052836623903367700636826390012895252800737028042908506125838405046923595565292928074821352998928653878772894138278008077655992247179422630232431694647274334866828692233704207186936289869783694859482452539551480422972887357605096216456232428733081863776151878728989005391526669286494684314267004093512232170619309528572536339737381974818797922816898664167021593029169510446779155467996376510032070012257765056017551369786897865247978333938114778703712567567651198080730740741401193048848119125551058978299246020460257176817499778461995771218251809050471605888170247752839036036252773563077685682676778573462488355429235046096303062222296578915268930805404929077189037119885526780191566273972986682809655515860172673726001669177534815345296103560096040164034757951376594775389509917829032810277668248621076898022601191215733401537807121335287810574376327667809921823410374219910720792885403072447410127032354013200487576577887172990495186268563631032129472437853342721427655266618373481801324718651120993020614098650670916593179904734275070292087424590154780375499531537218877302462697413468403883949116656921406911497891924017302163631025076503563330965671375292128204020022964996604460703768870275973118079763180467055295869737528676435147135433257562775358366900844306433016532242287746774525176744281605905614940808546765383234876898427379007404103850834480670651542667857032756049932215673294589644067859884085157330532324057842757474862441116300247717521103637176691557067151492375848327279115496177797883170353200126504884190647623123415149442135813302729541461818979071210151872339520309281456901656294722511408007771158480381485877031060335275155873774406375864233975299473621486398392185905611368803633537666343318887568768586046359175768231587739760965691349436685856679781477991491202286248652973604834381336643129754490436320182090659803688857733642404988557324417340327341178096291653041002782742170598109505352588173862611571760920830859091925980744263490283039861944335962833428125847012031279229397772157683492492312691909063218399350574457384162307430848762928900969954777051163648156487280286252965513239103665505443692304314753370320189840282011069622123419678326923644306804407684250006476904456392683739882727887747075600446259171934243662317967327785970433008577974467195717215537635501936729803459828450511669042387628432004673851571865254158291530510222916795483524266863103710287474374039715307557727022328510719953663771290898975758447505537592814011314933233065032453587026884703390843725774319345729535626573953413776505017330909733347799814997607173489914216230912764050600586714251513877724486434404982530223659231307886805328237301186726555788004515497222681187338265210189207162887234732899649671851788317072368021462026836371330220313643664853738725449842726004284617916609071178722244550703138392969643891600231639223741824036192149126741007846147615817926167724853551005904140144767106549878589322268499464050289962235961700977201292191825283160770131199711268021416086053159500418161114473568247747533292016853018415008422075990566534812390117138000001299532189233206381543972642049202147766710524673492165600838693967550576331226012809165600799493255266435968592571241525306736729833118755657804787940904844836086950070671192060201195927527760323644313277078664779271584065248484944809057193783684605141312380902410926067147086204786630804606158135958973675175178364380130014609725190182026436969282 131063885512103417721984180605313215713994504570639773265741162402855473527377647357654234878339348014511559099547866396984348198540100827484234340824472160447301404606403506323470352691419366912453169802376640980922553071334928518750349738904285800682563512023060458886728180121963641227510801246507716031707342013150682326118044740607443762448306671291111885487317132888994359309023810996293087680338761364091130795332303184628958608037692343085111128386759999588371724717279072435843433208168888370234591259283233899394490117745288814276280001221827950904802812903909618703683343433660545439756226157516360410925179745609693824197540926883148834893256078260104253767587863056336982342044876756670172817904357037386909009206957098291296476680063395014907297940030883474327157058632824544341864575285732545307021076883402663409388225041005485295640392406585379274911792794850221545559997869167662599892421818166728307582086201534289901425262757102505778720500791330262847436726897986085795888224561579059469734863595232573284852416496805310058529511666248144840821683780021911969684433972027907495974956829042514788186197820925546100973431426263910804963943208579097036057425993537046032514768585209005869353587967919308957167148947148370095112715296872205548610454911306280341015485731320852791635436989170405160415799387805781023870485769948095818267247708183415455425519451798241451708772770329931275522798824513258492351404003971717118205480551988660711468894391527018686161408289491238554889741920151815073735479372111793810212584469092679259725101511905110826685803504650820708454016400350609235123829791345062134271526970688487646715733578070110921549048510472043938849242969445815569759990921159466888168935575377716868273817201383760276188955102263033008579290955222051253840546845856388424534726434207340518987015170517392080489122486230700078443849670231955371232471731527388661188440684522456290669404439938129910915545653591163747322795232866812383873807509649659841371279727078429811829600361958546254712339749024106801517196192981886403682247288162894893543378108088492828675032381380389131442787953377999213013942763636414246192535166407979959954215034338730220526194867004907442279277775536893043300270710013300933303762519000700258320442762127230826404931420674642650005385359833986238586346558443848748319965683530259681965488114326563707263130816908103815582377210384735285660667770930092547432321050733998347679027321883380775612543637886774669376878641273773370664615243646108012739295281409146135656144961247207322715746920202098493971000403891931782550051284525586544043636043956954832133748370708457918737800052418105796632834308771538473144573404157507984097503509037014544878443145500250877752573001511696513236526444818929912767064305418181120898614168159995418825515331517614395104235607108849321632815198792244305821375019663445784377761200604765988886006902967152774826693308967710373425286200121788482881900327166572705154201938881169826491033794924945529422808191659588835151358323188284210532538221939816789431034923676106861237408251359688649849745231934850793158617493849591997567201568765949302951744290593131799689986675213329850748580798135750778195560326214549618875020852933978930011680755132605424520037104113171397362939939021580481900288397535333405699213497918984264115370901698191546156744868895924883684824803933897979500996130985435061916584661037420221447699194880909619931591040798358109118038714839619241648342081120253273223570192186928386492567035215225141638803826175395090904188227874220985774026381189297780963904883262289408598910979327851150462206208553666037267225295095413890350732521 212065821456208247776334079047216689096320527479389199103259688052163546712138533039718053523224951671484346592534870157205079782785085153857637612692135813623796086596850652332344821612952861955199294004267467033759176974702629155576739751799538601419591554931566584725133227045559206520438876067860714960361220786044820604126122396599690941870936903722806532761651999717686593013230997932582957464033620846543670346812726157516316213133908799317539861468623775740250453706284463962512719702853202637238684771515404518704018690281628551658254820019750767803466979925502647873193790212816013436132736189586372668690235763161063611095406174861482773008034781972671821418785943787077723743237925604789298368963335336632929469464133915791074938675834613266716348411636771644574909897668860797115427652971415222085594539371758092644434321344067707592219307675516184679840869983887341431086778060733936572879104627822244167754759927535959078960078102398609338816540955365020798813321673375595713717257371856727718355940493255174476068149898343117179864799476822521168489493701845322343904344692820792899047404239169547142199398308502123988146421921450179368594975338051534889400147421192312650888250386533724520474580988533407607838065540328274829387785588959630138765235286805811878234363033783550205103840873119521817337206299303672947887787933579120894770811039149086830717647655818264416705377231033700145798771942593021672818459299841454646881915699124093969031669749893919530467841306023480842636516445328559355341384987052602356977967703969577687104108916008961661166474156193488565486772450282824908418419435412922018356684301220811704558491052932552037849296227993147576025934526512967062135839248438582384346733458548070068400322085574407899312370251705168821882020496683870232911756997728727944844007891108996813709526578525163238969503972107731138779124826105729777608335965502688134809927082914642196280773243571667577258864541159932333369154408635043971613568475341009278057136406859907803320802648207199228317174130360749931271686629302068494342050977020628535948366665412910169002373559476680784483790736120169811123448116224588108804106927328810819046141015082993710809234728949243405112705901383905074579500107785458616796254831692609321538842112701688210567238851523405578906355314611037402234503045724135001285478922633925187409180418641317077583320657190114885204500630063062209304974575337776797438797955190391031418910049771127851212989897058708913039196608601559341097623821620575208456510819044648072385948421075657834384789307830530498644851975757185940841581794748503339527160310820058542421222744748173226295527074746616516586498080062437448903020909695100798108818442270079577332030172384954268596298775831042242772153018772343689272081636327914468698429165767168908739731562430378445704822321360363199357301633197226836045034250971332589705998501791492544674011418464375456014031574177899580588173434854688132553752115483645073175663965717541156711347438589799268148258034385593119769274932259462932777088925078209759074926523907746084979232287551837776590753078082466611084785218703143003471341713533055852830333612861631263740276637449291551725782090327576061356330457414260886896436938987138430429841869606173672267570396130024415777948361097571048435100787652471405700513030108217470496914874340240748304511579420598375850425642627865530077327356998244227517384154292686657416291766122434926668320873917113766922826655744464077735292151791445333424766119714688710136880312293889920910387891423880035713245421657905590915338762091708707031051969467076039403517137463810124137381386918046167281835020285595916787701803 343129706968311665498318259652529904810315032050028972369000850455019020239516180397372288401564299685995905692082736554189427981325185981341871953516607974071097491203254158655815174304372228867652463806644108014681730046037557674327089490703824402102155066954627043611861407167522847747949677314368430992068562799195502930244167137207134704319243575013918418248969132606680952322254808928876045144372382210634801142145029342145274821171601142402650989855383775328622178423563536398356152911022091007473276030798638418098508808026917365934534821241578718708269792829412266576877133646476558875888962347102733079615415508770757435292947101744631607901290860232776075186373806843414706085282802361459471186867692374019838478671091014082371415355898008281623646351667655118902066956301685341457292228257147767392615616255160756053822546385073192887859700082101563954752662778737562976646775929901599172771526445988972475336846129070248980385340859501115117537041746695283646250048571361681509605481933435787188090804088487747760920566395148427238394311143070666009311177481867234313588778664848700395022361068212061930385596129427670089119853347714090173558918546630631925457573414729358683403018971742730389828168956452716565005214487476644924500500885831835687375690198112092219249848765104402996739277862289926977753005687109453971758273703527216713038058747332502286143167107616505868414150001363631421321570767106280165169863303813171765087396251112754680500564141420938216629249595514719397526258365480374429076864359164396167190552173062256946829210427914072487852277660844309273940788850633434143542249226757984152628211271909299351274224631002662959398344738465191514875177495958782631895830169598049272515669033925786936674139286958168175501325353968201830461311451905921486752303843585116369378734325316337332696541749042555319458626458338431217222974496337685148840807697030076795998367767437098486950177683509797488174410194751096080691949641501856355487375984990669119428416133938337615150403010165745483029513879384856732788882822283954898024298265183523429491744773501402997677405940857069915926578689498169024137390879861002354996642093736790779000356049421723931335429595954150847391983676920798117879770817798759550100017350693309579859284874828919036972170272198048228911740674445023640820849604167983749605444606164184869374668532967880784846451474098218700786877840447797494965642346267869344871119005924389379097937371654508626825533534945483582416075249875332711762239065266683221195806100453794208042093382322865157100536228032628992615852379649117723391633079274089883570796354777013374554971115456631145033327127164722313219332388833975922047594313852608782206321951307094122210473317885205146348871777342738756008679463591273602039145941746095589597043333927164327565246893947992840809057928469212520990116831989471141866409270634778374083759702396258533560018321431528230840724883145609954013459634976476615435652442650217778329865904598710983202381233514744797571066226045181954920633255447747143309627147018026548505961447583852946216640538911526426440498310017317404243402712552735001038543282299005155782077903454763063430263312662621402474362888463326839551890783628810505771457791921117360441522624738779096787607500243195813140888300119151530335389185187804811399726528027201734612285776038432294461256448316523259535250446561763509578323487983679289433968815330106878863990961003344546599911914715471876040865370584083319383634232911698606648336311901617096629447347509115062549191717599275126617433649532126576689365143281006487994956852729365448002428116791661274599587595471712204549060315381009807138434324 555195528424519913274652338699746593906635559529418171472260538507182566951654713437090341924789251357480252284617606711394507764110271135199509566208743787694893577800104810988159995917325090822851757810911575048440907020740186829903829242503363003521746621886193628336994634213082054268388553382229145952429783585240323534370289533806825646190180478736724951010621132324367545335485806861459002608406003057178471488957755499661591034305509941720190851324007551068872632129848000360868872613875293644711960802314042936802527498308545917592789641261329486511736772754914914450070923859292572312021698536689105748305651271931821046388353276606114380909325642205447896605159750630492429828520727966248769555831027710652767948135224929873446354031732621548339994763304426763476976853970546138572719881228562989478210155626918848698256867729140900480079007757617748634593532762624904407733553990635535745650631073811216643091606056606208059345418961899724456353582702060304445063370244737277223322739305292514906446744581742922236988716293491544418259110619893187177800671183712556657493123357669493294069765307381609072584994437929794077266275269164269542153893884682166814857720835921671334291269358276454910302749944986124172843280027804919753888286474791465826140925484917904097484211798887953201843118735409448795090211986413126919646061637106337607808869786481589116860814763434770285119527232397331567120342709699301837988322603654626411969311950236848649532233891314857747097090901538200240162774810808933784418249346216998524168519877031834633933319343923034149018751817037797839427561300916259051960668662170906170984895573130111055832715683935214997247640966458339090901112022471749694031669418036631656862402492473857005074461372532576074813695605673370652343331948589791719664060841313844314222742216425334146406068327567718558428130430446162356002099322443414926449143662532764930808294850351740683230950927081465065433274735911028414061104050136900327100944460331678397485552540798245418471205658372944711346688009745606664060569451586023392366349242204151965440111438914313166679779500333750700410369425618338835260838996085590463800749021065601598046497064504717642144664324903394252504689578304703192459270925584218166896272182385918901398126987530607247539409123721453807818095989056061043055352649892118750890923528798110056783848951609197862429772131288333585991378470510859704270616921605646142309916961114780410516847421425636478038523432004192495455271858476892052859862886887258429652316919498442280428041803398522991485325535863159491260704355406303664233214874022593223097956665597071916976193860204804371328854201911338829805830468896413370950615223547709580315140393577173699542503490270159414945170553173780998780832482363617291311227578074010058295472499694333236304978456378371286513880249829575720347418465186697977911443521606110963789758204187751078234029739895903686854756457323509534601633069831164747989404558133862851505529870316252139913728672104544065719324260430775074689908187707210076086716072096236307580887971491599031195872826463364203031251388099784015328187931255878004509884995832061008612411516316394327170539950111912954200144978790902900908221241043071392667894730908255790871364494344952769055177896373220228918836661216722578770489972840276217100239558135419205109200650378673042765768027737121635385676089189629039655650844981923516951352969622793536280282727125779473268232788632585642963692026328547397118926384703143940073102431616305806766327659803004983459579609023155162330679071190032167604703905372715195026008822196441487405945254255471398736968982389758371830895335666605723926136127 898325235392831578772970598352276498716950591579447143841261388962201587191170893834462630326353551043476157976700343265583935745435457116541381519725351761765991069003358969643975170221697319690504221617555683063122637066777744504230918733207187405623901688840820671948856041380604902016338230696597576944498346384435826464614456671013960350509424053750643369259590264931048497657740615790335047752778385267813272631102784841806865855477111084122841841179391326397494810553411536759225025524897384652185236833112681354901036306335463283527324462502908205220006565584327181026948057505769131187910660883791838827921066780702578481681300378350745988810616502438223971791533557473907135913803530327708240742698720084672606426806315943955817769387630629829963641114972081882379043810272231480030012109485710756870825771882079604752079414114214093367938707839719312589346195541362467384380329920537134918422157519800189118428452185676457039730759821400839573890624448755588091313418816098958732928221238728302094537548670230669997909282688639971656653421762963853187111848665579790971081902022518193689092126375593671002970590567357464166386128616878359715712812431312798740315294250651030017694288330019185300130918901438840737848494515281564678388787360623301513516615683029996316734060563992356198582396597699375772843217673522580891404335340633554320846928533814091403003981871051276153533677233760962988441913476805582003158185907467798177056708201349603330032798032735795963726340497052919637689033176289308213495113705381394691359072050094091580762529771837106636871029477882107113368350151549693195502917888928890323613106845039410407106940314937877956645985704923530605776289518430532325927499587634680929378071526399643941748600659490744250315020959641572482804643400495713206416364684898960683601476541741671479102610076610273877886756888784593573225073818781100075289951359562841726806662617788839170181128610591262553607684930662124494753053691638756682588320445322347516913968674736583033621608668538690194376201889130463396849452273869978290390647507387675394931856212415716164357185441190820616336948115116507859398229875946592818797391114802392377046853113926441573480093920857545099896673255225501310339041743382977716996289533079228481257411862359526284511579395919502036729836663501084683876202254060102500496368134962294926158517484577078647276223605386552286778256310958657199236259267873515487181035967039169789614784793080145104864056966949676077871347108352224764622101952153941650848123019952236488470135185721388148585861763895788483876556735055421387624847953296683106668753020374085291531164975661435516362181329076061143025162857730389292998209537400318362521462344884267821752976808155364561294042330516519754789511945954890893350373519820105647892515833621497563870225350326364127322938178298788241337535297176169119777852792240889337873517906584009611794048061327431917695481340469119488615092704807641363425057000784080629835395774914963123116109905619288863290390486475957029610541443154957219396343219114262856086849419075451977412513365374890629471749698117101419571590643808613005548428278131066164394489419771157390600803262774534356674507867254229740460112024671881898439352522829373151312887119083731865842785396616416042059724961335874109105879158028081028499966086162620939721486426417105337227024476053644894920926535751392549233974332965602806385321784952900415144273688129124019868144703348057519004557396912630716502560617614842546721438743517922903395775007312120046008771326622430288948112720722158744294069048653721683020965674925806935408373371047132673336556577861470576379955651047615531064570451 1453520763817351492047622937052023092623586151108865315313521927469384154142825607271552972251142802400956410261317949976978443509545728251740891085934095549460884646803463780632135166139022410513355979428467258111563544087517931334134747975710550409145648310727014300285850675593686956284726784078826722896928129969676149998984746204820785996699604532487368320270211397255416042993226422651794050361184388324991744120060540341468456889782621025843032692503398877466367442683259537120093898138772678296897197635426724291703563804644009201120114103764237691731743338339242095477018981365061703499932359420480944576226718052634399528069653654956860369719942144643671868396693308104399565742324258293957010298529747795325374374941540873829264123419363251378303635878276508645856020664242777618602731990714273746349035927508998453450336281843354993848017715597337061223939728303987371792113883911172670664072788593611405761520058242282665099076178783300564030244207150815892536376789060836235956250960544020817000984293251973592234897998982131516074912532382857040364912519849292347628575025380187686983161891682975280075555585005287258243652403886042629257866706315994965555173015086572701351985557688295640210433668846424964910691774543086484432277073835414767339657541167947900414218272362880309400425515333108824567933429659935707811050396977739891928655798320295680519864796634486046438653204466158294555562256186504883841146508511122424589026020151586451979565031924050653710823431398591119877851807987098241997913363051598393215527591927125926214695849115760140785889781294919904952795911452465952247463586551099796494598002418169521462939655998873092953893626671381869696677401540902282019959169005671312586240474018873500946823062032023320325128716565314943135147975349085504926080425526212804997824218758167005625508678404177992436314887319230755929227173141224515001739095022095606657614957468140579853412079537672727619040959666573152908814157741775657009689264905654025914399521215534828452092814326911634905722889898876070060910021725456001682756996749591827360371967651330029331036964941524571316747317540734846694659068872032183282598140135867993975093350178431159215624758245760939352401362833530204502798312668967195883892561715465147382655538849890133532050988519640955844547932652557145726931554903952221251387291663760404982942366436186276509705995736674885872769634781469516903506876189479161629490952928153950200131632214505781582902580398953868573326618966829116817481964839041200080500439939450678768898176989119911140071187299758947975137261090461725051858062827319276329766709685971157208507358835866239887691035530987399972830993326626802663948824760948027942836602738461441521295480298425523976239212883690300753570344428318508184661601097894115706187988333315830800175203806704735413836818428128363961684953762362867097689296313847000301663276110771760690028077801223335604550237797792629023216725774638806111414461558917943481340925645231215263029838577723832929009714746906732104300449630862167295483059291210499163667737390567051008608386191838254832503001086216885434899778575064491010058313273963127173006900936087551717771343212886447310874652846045132641368333265714953291107247253737628942184251613428684634897963292989636270978561622552596687876369130868357245600205644298040144830687076795778379992792503790766530306602624941021588889625177947526323336674754575693951424556415254903493136377491980643161968249423241178113621487002317986486794541175134228710162102667115125029468350935645585451278791791912190911898772954026436878046974497122248422814318625302604072073525560251228948210850986714221254990706578 2351845999210183070820593535404299591340536742688312459154783316431585741333996501106015602577496353444432568238018293242562379254981185368282272605659447311226875715806822750276110336360719730203860201046022941174686181154295675838365666708917737814769549999567834972234706716974291858301065014775424299841426476354111976463599202875834746347209028586238011689529801662186464540650967038442129098113962773592805016751163325183275322745259732109965874533682790203863862253236671073879318923663670062949082434468539405646604600110979472484647438566267145896951749903923569276503967038870830834687843020304272783404147784833336978009750954033307606358530558647081895840188226865578306701656127788621665251041228467879997980801747856817785081892806993881208267276993248590528235064474515009098632744100199984503219861699391078058202415695957569087215956423437056373813285923845349839176494213831709805582494946113411594879948510427959122138806938604701403604134831599571480627690207876935194689179181782749119095521841922204262232807281670771487731565954145820893552024368514872138599656927402705880672254018058568951078526175572644722410038532502920988973579518747307764295488309337223731369679846018314825510564587747863805648540269058368049110665861196038068853174156850977896730952332926872665599007911930808200340776647333458288702454732318373446249502726854109771922868778505537322592186881699919257544004169663310465844304694418590222766082728352936055309597829956786449674549771895644039515540841163387550211408476756979787906886663977220017795458378887597247422760810772802012066164261604015645442966504440028686818211109263208931870046596313810970910539612376305400302453691059332814345886668593305993515618545545273144888571662691514064575443737524956515617952618749581218132496790211111765681425695299908677104611288480788266314201644208015349502452246960005615077029046381658448384421620085929419023593208148263990172648644597235277403567211433414413692277585350976373431313489890271411485714422995450325100099091788006533457759473999325979973147644256979502755303823863745745495394150382715391933084265655851354554057298747978776101395531250670386352140203292357600789104852166618484452298036088755705813137354412350173600888851248544375863912950712249659816562567915560457881277769316058230410807757158012323751883659798722699909100883920763355156982219342061438159547891092428174102743135457352677116671988895193119989746417007585926687766637365903544651197966075181341582104066791195141731348562959402915257368312174841299288657049063654736459013817825517146439482910780615959436435462706345242500038523811527675404053216860063461115856156184357191956947034298348346305358065083345709343048457106580888537533255214206820508359856374273399078011974617714221354080504166937328364045429157031099541159756606427152203022489059539036217467149106087889639536794017355770301822125862550767522245719138261748511831818479446447474839518559702024111176321420146178386145948483343121792300105233382689133910991074017124514879402510324762019754586809642502986020899557213145461974750784333986854471369218873104015606741552094193337401390355858709108372146475660981667549160713299362381828445290386835189546599776567002093497138732512416500740748689606052313038286583888470796982248288896438274100171730460661084552173503212883717219816979844411425227529160692414138123599510913129129721996539528594366568830103384027513004522195328700680972806820153808830124047619932829033515979918652151613557877674427245075477122262268015740226904512634349656192842002680158561067940172048055358222691996349736745410082138112699524590806637761836786055277029 3805366763027534562868216472456322683964122893797177774468305243900969895476822108377568574828639155845388978499336243219540822764526913620023163691593542860687760362610286530908245502499742140717216180474490199286249725241813607172500414684628288223915198310294849272520557392567978814585791798854251022738354606323788126462583949080655532343908633118725380009800013059441880583644193461093923148475147161917796760871223865524743779635042353135808907226186189081330229695919930610999412821802442741245979632103966129938308163915623481685767552670031383588683493242262811371980986020235892538187775379724753727980374502885971377537820607688264466728250500791725567708584920173682706267398452046915622261339758215675323355176689397691614346016226357132586570912871525099174091085138757786717235476090914258249568897626900076511652751977800924081063974139034393435037225652149337210968608097742882476246567734707023000641468568670241787237883117388001967634379038750387373164066996937771430645430142326769936096506135174177854467705280652903003806478486528677933916936888364164486228231952782893567655415909741544231154081760577931980653690936388963618231446225063302729850661324423796432721665403706610465720998256594288770559232043601454533542942935031452836192831698018925797145170605289752974999433427263917024908710076993393996513505129296113338178158525174405452442733575140023369030840086166077552099566425849815349685451202929712647355108748504522507289162861880837103385373203294235159393392649150485792209321839808578181122414255904345944010154228003357388208650592067721917018960173056481597690430090991128483312809111681378453332986252312684063864433239047687269999131092600235096365845837598977306101859019564146645835394724723537384900572454090271458753100594098666723058577215737324570679249914058075682730119966884966258750516531527246105431679420101230130078768141403754055042036577554069998877005287685936717791689604263808430312381369175190070701966850256630399345713011105806239937807237322361960005821981686882603518669495724781981655904641006571330115675791515075774826431115324239963249831583196586201248716367620010959383993671386538380327233553470788760004729610412379423804699398922285910315935667081317369484781412964009523246568489562139793348613556435201413725825701968615376137739312061964545003270951462483104892043250356949631666688215078736324032317525873897691006250011646831838746162941823347070189878049222091708270669217764857413224524585042010458399586031630236341811849002898853594026266489163961210428728236363413684434151078915978871491340973607935235766202172392316399708545882647393915291744252391050861088687149510983994620895859059296374248194667821807150864343937405006412513772468097897121261930200802591907262673575715608337060268492500253159164220632963735834954996575034555516164707442821901903315156445419934889941200070128127530991850203663774103126795956936054377535048544254085253586253980118619967592517247065377393649175787061066954721309819980289421238211440704879291810362461801535261183422324200209553994629285749051400294477751870550872289371147793937595025665054826057320510408291291946260826143489688547428978423813559344495023196778556101788480653847030304631035681390345941101135638711982595688584016848206441067484858617419764795519700377374758701229382860580008662097212609483635177955534131785633435727013224688860655453058671294104288317993386518638931006140899687309343842941056243394986943745534622250815520310521093786380323719980341542370104945473197913601191505696304546540568091614956706595439114914669170303781037010621652340817483607698363928472801657624476058041045983607 6157212762237717633688810007860622275304659636485490233623088560332555636810818609483584177406135509289821546737354536462103202019508098988305436297252990171914636078417109281184355838860461870921076381520513140460935906396109283010866081393546026038684748309862684244755264109542270672886856813629675322579781082677900102926183151956490278691117661704963391699329814721628345124295160499536052246589109935510601777622387190708019102380302085245774781759868979285194091949156601684878731745466112804195062066572505535584912764026602954170414991236298529485635243146186380648484953059106723372875618400029026511384522287719308355547571561721572073086781059438807463548773147039261012969054579835537287512380986683555321335978437254509399427909033351013794838189864773689702326149613272795815868220191114242752788759326291154569855167673758493168279930562471449808850511575994687050145102311574592281829062680820434595521417079098200909376690055992703371238513870349958853791757204814706625334609324109519055192027977096382116700512562323674491538044440674498827468961256879036624827888880185599448327669927800113182232607936150576703063729468891884607205025743810610494146149633761020164091345249724925291231562844342152576207772312659822582653608796227490905046005854869903693876122938216625640598441339194725225249486724326852285215959861614486784427661252028515224365602353645560691623026967865996809643570595513125815529755897348302870121191476857458562598760691837623553059922975189879198908933490313873342420730316565557969029300919881565961805612606890954635631411402840523929085124434660497243133396595431157170131020220944587385203032848626495034774972851423992670301584783659567910711732506192283299617477565109419790723966387415051449476016191615227974371053212848247941191074005948436336360675609357984359834731255365754525064718175735261454934131667061235745155797187785412503426458197639999417900598495834200707964338248861043707715948580608604484394244435607606772777026500996077651423521660317812285105921073474889136976428969724107961629052285263550832870979615378821520321825265706955355182915848852437555802773666367989735485389202637208766679373756763146360793834462578997908256997435011041616129073021493667543085670264212553899110481440274389453165176124350761871607103471284673606548547069219976868755154611261205804801144134277712986823670434420797762191865416966325865108993147104184515862834930718540190179624466229677634958435855130760957875722551117191799981690098421431483543197565858256509283634801338802509717385285427068420893164896741496017930823884388551195202637635098661642208584406458921590695797469251114322204543305695341186577842893357644720553552732905152860207392394511587301051305723312103941770290057176865306340685550333322558414348996667190487528266062120766934496156331640982668367729931881440939532623594526022779580736864145483301293672329526324870649041676074316126046880362733531701061093498678321991703693568485523572035321735544410076513609925213672110372122431778896416325241864311860023203176911009852056980650185306264545756452502654884859143842517012810699041271796378151513847809681647804969934515636164208410645972974272643857405025223846488623670200446806871633129178529078453517636379460672201740897055134790329538281840865708661233793800549105219362313935034083221545814432426463479589380761660946325849865136824199773784582780667833632882684562216622022958519145421882638044523913863063548795773869582242183644553826501012438531937277858015969615180422595460181616931732600817180890224284456959386754000182854841218359139259702618002077562893689836476627997392464262237894827101260636 9962579525265252196557026480316944959268782530282668008091393804233525532287640717861152752234774665135210525236690779681644024784035012608328599988846533032602396441027395812092601341360204011638292561995003339747185631637922890183366496078174314262599946620157533517275821502110249487472648612483926345318135689001688229388767101037145811035026294823688771709129827781070225707939353960629975395064257097428398538493611056232762882015344438381583688986055168366524321645076532295878144567268555545441041698676471665523220927942226435856182543906329913074318736388449192020465939079342615911063393779753780239364896790605279733085392169409836539815031560230533031257358067212943719236453031882452909773720744899230644691155126652201013773925259708146381409102736298788876417234752030582533103696282028501002357656953191231081507919651559417249343904701505843243887737228144024261113710409317474758075630415527457596162885647768442696614573173380705338872892909100346226955824201752478055980039466436288991288534112270559971168217842976577495344522927203176761385898145243201111056120832968493015983085837541657413386689696728508683717420405280848225436471968873913223996810958184816596813010653431535756952561100936441346767004356261277116196551731258943741238837552888829491021293543506378615597874766458642250158196801320246281729464990910600122605819777202920676808335928785584060653867054032074361743137021362941165215207100278015517476300225361981069887923553718460656445296178484114358302326139464359134630052156374136150151715175785911905815766834894312023840061994908245846104084607716978840823826686422285653443829332625965838536019100939179098639406090471679940300715876259803007077578343791260605719336584673566436559361112138588834376588645705499433124153806946914664249651221685760907039925523416060042564851222250720783815234707262507560365811087162465875234565329189166558468494775194069416777603783520137425756027853124852138028329949783794555096211285864237172122739512101883891361328897640174245111743055161771740495098465448889943284956926270122162986655406893897295148256381031195318432747432049023757051490033988000694869382874023747147006607310233935120798564072991377332061696833933327526445008688574984912570451677176563422357049929836529246513789680785963285332929173253288982686286381281941413758425562723688909693187384634662618490358649499534086224182942840223556115243158751016354608997872541887260369502515451769343229105072895618371100247136159202258381276130051667825355046568757110103309901290502763720146113521790482105327315975657474889422164857996486430968839807490978041917130289106315505987541721642165183293230455206325181198738752416941094801747400726960011071736331916593713565078191410001063032220257979457213603359126048930895474617489167443646692486695084502769451152906675538184532437374703342842847780039945957669521936934273610832285522533190098973775837633010370503581928906987616954647347478796941959296210815550900965684497522605477031234919745193961531610333872483775708135604326113395284386599235210061610975279471055315946050930254525435731433213664806748294066936851204208834358217972939751230760659125852755839624396787831988352428222002402590412150854293837176264164859919424394618772018172654797429481071982996770605766699483128426029313500926479978063543317894663230207911645035947114767336295792731959285592150048888634440035839339127737171002555603140661889525286321569947388366854919306943782717615116864434460074137022106224912260997838357511985285368068658095218123238297121727430792376071916093349439297769510388662920296713239654418380377297534840556470194121886713952868147244243 16119792287502969830245836488177567234573442166768158241714482364566081169098459327344736929640910174425032071974045316143747226803543111596634036286099523204517032519444505093276957180220665882559368943515516480208121538034032173194232577471720340301284694930020217762031085611652520160359505426113601667897916771679588332314950252993636089726143956528652163408459642502698570832234514460166027641653367032939000316115998246940781984395646523627358470745924147651718413594233133980756876312734668349636103765248977201108133691968829390026597535142628442559953979534635572668950892138449339283939012179782806750749419078324588088632963731131408612901812619669340494806131214252204732205507611717990197286101731582785966027133563906710413201834293059160176247292601072478578743384365303378348971916473142743755146416279482385651363087325317910417623835263977293052738248804138711311258812720892067039904693096347892191684302726866643605991263229373408710111406779450305080747581406567184681314648790545808046480562089366942087868730405300251986882567367877675588854859402122237735884009713154092464310755765341770595619297632879085386781149874172732832641497712684523718142960591945836760904355903156461048184123945278593922974776668921099698850160527486434646284843407758733184897416481723004256196316105653367475407683525647098566945424852525086907033481029231435901173938282431144752276894021898071171386707616876066980744962997626318387597491702219439632486684245556084209505219153673993557211259629778232477050782472939694119181016095667477867621379441785266659471473397748769775189209042377476083957223281853442823574849553570553223739051949565674133414378941895672610602300659919370917789310849983543905336814149782986227283327499553640283852604837320727407495207019795162605440725227634197243400601132774044402399582477616475308879952882997769015299942754223701620390362516974579061894952972834068834678202279354338133720366101985895845744278530392399039490455721471843944899766013097961542784850557957986530217664128636660877471527435172997904914009211533672995857635022272718815470081646738150673615663280901461312854263700355990430354772076660955913685981066997081481592398535570375240318694268944369142574081710068652455656121941389117321467531370110918699678965805136725156940032644537962589234833450501918282513580173984894714494331518912375605314029083920331848416048359806549421224236305855200870471832803260427450549126981681446978187540928026379328975969687276394058362966228473099308898244134615366612593536091841566229863498807217550526220480872398970907352988742385037626171477442589639684125714695565237096683339190893279505497773760901666367776581645774585815355300133632112871279128726428181014616383914722105004802510315156322519944044676382253453888966485834634134220752757205269703947309238316520852900167306584783782380403634471980449102673798419094133579194862716423844424879309084686629628809269721148655708440977475263950999904384036424537719819258149887107748529670407633641982456304262672124460846190425255307589776146219913667955929656361580491807382757180320590577056181819558993108208647582360348206027654587556200695174762016964250270369762104632209833247226249079035821054740644047897294038448502848136408397633326999170378127117787100144048540348837087263107301475585197425857252928746451753726077462410594356717057453678285135457286873088408224618620006961370053687117819762684848044431743452585432890768782370492578491484699106618104627963523118663444198275696373481600465790664118276835054970897938908321016660528875480103439480624351607022059556415857656495943270987371317184467586586148951847695248504879 26082371812768222026802862968494512193842224697050826249805876168799606701386100045205889681875684839560242597210736095825391251587578124204962636274946056237119428960471900905369558521580869894197661505510519819955307169671955063377599073549894654563884641550177751279306907113762769647832154038597528013216052460681276561703717354030781900761170251352340935117589470283768796540173868420796003036717624130367398854609609303173544866410990962008942159731979316018242735239309666276635020880003223895077145463925448866631354619911055825882780079048958355634272715923084764689416831217791955195002405959536586990114315868929867821718355900541245152716844179899873526063489281465148451441960643600443107059822476482016610718288690558911426975759552767306557656395337371267455160619117333960882075612755171244757504073232673616732871006976877327666967739965483136296625986032282735572372523130209541797980323511875349787847188374635086302605836402754114048984299688550651307703405608319662737294688256982097037769096201637502059036948248276829482227090295080852350240757547365438846940130546122585480293841602883428009005987329607594070498570279453581058077969681558436942139771550130653357717366556587996805136685046215035269741781025182376815046712258745378387523680960647562675918710025229382871794190872112009725565880326967344848674889843435687029639300806434356577982274211216728812930761075930145533129844638239008145960170097904333905073791927581420702374607799274544865950515332158107915513585769242591611680834629313830269332731271453389773437146276679578683311535392657015621293293650094454924781049968275728477018678886196519062275071050504853232053785032367352550903016536179173924866889193774804511056150734456552663842688611692229118229193483026226840619360826742077269690376449319958150440526656190104444964433699867196092695187590260276575665753841386167495624927846163745620363447748028138251455806062874475559476393955110747983772608480176193594586667007336081117022505525199845434146179455598160775329407183798432617966625900621887848198966137803795158844290429166616110618338027769345992048410712950485069905753734343991125224154950684703060692588377231016602390962608561752572380391102877696669019090398643637368226573618565680743824581299947447946192755485922688442272961817791251571921119831783859696272005736708583624187518903547038223804387733419865934640231302646772977339479464606217225080830675802314710918629497133216321416646000921997700076216823435596316744242358524767134253290703372476715903437382344329950009612329008032631547796848056445796775153600381524057140317250080617726042844984671552602670880912535444688791004216107991548975320398191526910157047534359072882350865058344774728181462106132106067834730573135779733547403802431184349363583975002077780913239452289772473398462144992059037432604681288126625228183674417938118624610732692704965864717395906522818200716942095057133210738176708765610355788456272205910296115199587325503404316780755364138983449415601595173592790176746447832596450516538650591976375381429975278931209127416896437858313011705756322010269846626307287175145498786569182564245627527307431455833887869720089894766549936620562261469228651669447971909034481224161458898367927242755180415805981796599859199100783870749815239831965513292420802402065175489400570823409681961637722498357709124053353246410244421049436921977042664654459346089107224689673422903346737569718065022532821257623701677436361209099815971052564702100545224888356459273534730993585751158732776372053178209195060635751809036600791573452878778393861995684979853129097310914323648284906157740937780708035665800563395749122 42202164100271191857048699456672079428415666863818984491520358533365687870484559372550626611516595013985274669184781411969138478391121235801596672561045579441636461479916405998646515701801535776757030449026036300163428707705987236571831651021614994865169336480197969041337992725415289808191659464711129681113969232360864894018667607024417990487314207880993098526049112786467367372408382880962030678370991163306399170725607550114326850806637485636300630477903463669961148833542800257391897192737892244713249229174426067739488311879885215909377614191586798194226695457720337358367723356241294478941418139319393740863734947254455910351319631672653765618656799569214020869620495717353183647468255318433304345924208064802576745422254465621840177593845826466733903687938443746033904003482637339231047529228313988512650489512156002384234094302195238084591575229460429349364234836421446883631335851101608837885016608223241979531491101501729908597099632127522759095706468000956388450987014886847418609337047527905084249658291004444146905678653577081469109657662958527939095616949487676582824140259276677944604597368225198604625284962486679457279720153626313890719467394242960660282732142076490118621722459744457853320808991493629192716557694103476513896872786231813033808524368406295860816126506952387127990506977765377200973563852614443415620314695960773936672781835665792479156212493647873565207655097828216704516552255115075126705133095530652292671283629800860334861292044830629075455734485832101472724845399020824088731617102253524388513747367120867641058525718464845342783008790405785396482502692471931008738273250129171300593528439767072286014123000070527365468163974263025161505317196098544842656200043758348416392964884239538891126016111245869402081798320346954248114567846537239875131101676954155393841127788964148847364016177483671401575140473258045590965696595609869116015290363138324682258400720862207086134008342228813693196760057096643829516887010568592634077122728807925061922271538297806976931030013556147305547071312435093495438153335794885753112975349337468154701925451439334926088419674507496665664073993851946382760017434699981555578927027345658974378569444228098083983361144132127812699085371822065811593172108712289823882695559954798065292112670058366645871721291059413599212994462329214161155953282285777978785585910693478338681850422459413829118416817340197783056279662453322398563715770461418095552663479062742161467756478814663299604186928948377029052186510711990375107208586997866443151534837987843328496973474185896179873111136225583157768277720455416704128142342766561683311794692670257410168559680236789699354220103428724194288777977009657916751902043966112725512347667991185753629993784772955742797846020854211072637240888292102253491448478813437803252550460836711915133992209495042177345771383308579890332771987872910407608587308889918567727284531111799099443912258622946662625596251179743762839547446429914266064229433747469861296019583623750041124136038905251246731979086009228815575246481009119957057296706963905899566151527649888946887138783778476929665695768886076912587326028445866280283354146368929530770273282114863632151008649886684340165136312041252772094716454900748483792963775125272058752936816430090891588813439308795770237326218570970893863780180802600555528103877650372915257823752156133715363799960768303480770410700088529556506723795065450889273079353050477278376791242666031585614149808475118254148392484047928939700584515077670669330064068343551800657549231104475186216949396894648888233180092999544072825697129667053556318259018213602707039409544954967410266919272277474925405367294184617648258644254001 68284535913039413883851562425166591622257891560869810741326234702165294571870659417756516293392279853545517266395517507794529729978699360006559308835991635678755890440388306904016074223382405670954691954536556120118735877377942299949430724571509649429053978030375720320644899839178059456023813503308657694330021693042141455722384961055199891248484459233334033643638583070236163912582251301758033715088615293673798025335216853287871717217628447645242790209882779688203884072852466534026918072741116139790394693099874934370842931790941041792157693240545153828499411380805102047784554574033249673943824098855980730978050816184323732069675532213898918335500979469087546933109777182501635089428898918876411405746684546819187463710945024533267153353398593773291560083275815013489064622599971300113123141983485233270154562744829619117105101279072565751559315194943565645990220868704182456003858981311150635865340120098591767378679476136816211202936034881636808080006156551607696154392623206510155904025304510002122018754492641946205942626901853910951336747958039380289336374496853115429764270805399263424898438971108626613631272292094273527778290433079894948797437075801397602422503692207143476339089016332454658457494037708664462458338719285853328943585044977191421332205329053858536734836532181769999784697849877386926539444179581788264295204539396460966312082642100149057138486704864602378138416173758362237646396893354083272665303193434986197745075557382281037235899844105173941406249817990209388238431168263415700412451731567354657846478638574257414495671995144424026094544183062801017775796342566385933519323218404899777612207325963591348289194050575380597521949006630377712408333732277718767523089237533152927449115618696091554968704722938098520310991803373181088733928673279317144821478126274113544281654445154253292328449877350867494270328063518322166631450436996036611640218209302070302621848468890345337589814405103289252673154012207391813289495490744786228663789736144006178944777063497652411077209469154308080876478496233526113404779236416773601311941487141263313546215880605951036706757702276842657712484706802431452665771169043972680803081978030362035071157821459114686374323752693880385079476474699762480612262507355927192109269178520478809116693970005814592064476776982102041485956280120465733077073114069637675057591647402061962869369326006452052922804550760063717696510965100095375903195235067635320633494154865056872386385975947879621020832929870374729128403334147586691851450945522633577404825541360320044400410856530226129882723465233615789316074568511862500903295943148085740452111942750875136211404664908342302025101015964168883079782193117649465727222442157639635669395202350258635980858843117730470979308126986317140471971461427881987038852281244622152616134435838789696047231661784814650744233528300638927765376669161037032836770983307856686351895263804504065308629654529469480826313193274800896050285623138679876420017890019675771592134783211075544528452819660615385715428501610823989168036657755567789653747223502556491542526909079864225818347911195373367524008780591833234597595875072173567458499645155498713334518909642171063606842537756404430059902861977873334356185683552417931764872809606496220211835184357333646769229245290592370096525319354841643679020012768113847948906279715548404658394575565815677001522459126012604823763946498773977556160717042493553927538699139584503066464665569378323183867873497651075406016185725365300909684331048723234032164613568440157116822765835468771968108129671020941411389288060179824634733730458627009197037412075598392019262674052278324590567557183632666343148002220283448822040003123 110486700013310605740900261881838671050673558424688795232846593235530982442355218790307142904908874867530791935580298919763668208369820595808155981397037215120392351920304712902662589925183941447711722403562592420282164585083929536521262375593124644294223314510573689361982892564593349264215472968019787375443990925403006349741052568079617881735798667114327132169687695856703531284990634182720064393459606456980197196060824403402198568024265933281543420687786243358165032906395266791418815265479008384503643922274301002110331243670826257701535307432131952022726106838525439406152277930274544152885242238175374471841785763438779642420995163886552683954157779038301567802730272899854818736897154237309715751670892611621764209133199490155107330947244420240025463771214258759522968626082608639344170671211799221782805052256985621501339195581267803836150890424403994995354455705125629339635194832412759473750356728321833746910170577638546119800035667009159567175712624552564084605379638093357574513362352037907206268412783646390352848305555430992420446405620997908228431991446340792012588411064675941369503036339333825218256557254580952985058010586706208839516904470044358262705235834283633594960811476076912511778303029202293655174896413389329842840457831209004455140729697460154397550963039134157127775204827642764127513008032196231679915519235357234902984864477765941536294699198512475943346071271586578942162949148469158399370436288965638490416359187183141372097191888935803016861984303822310860963276567284239789144068833820879046360226005695125055554197713609269368877552973468586414258299035038316942257596468534071078205735765730663634303317050645907962990112980893402873913650928376263610179289281291501343842080502935630446094720834183967922392790123720135336848496519816557019952579803228268938122782234118402139692466054834538895845468536776367757597147032605905727655508572440394984880249189752552423723822747332102945869914069304035642806382501313378862740912464951931240867048601795459388008239482710455386423549808668619608842932572211659354424916836478731468248141332045285962795177376784339323376558700654377835425788603743954236382009005376021009449727265687212770357684896826008197778561846521828292205434616068217015991964738475276874408806640064181237936198068041515640698950742449679894233026396355415653843177558095540301551219748465865882041221368100261500752790627553417774466911005529053416186157633927799033854142454762542920625019858818751758180589844859577066958659532520500020556360379348163372897384330716122309755834601459198947084352288967279205031438285914647423763906635421132546379964345145132001379321119392893077368560170127307382479124486123752361181742870341444389610852627890686213777154147840528213109212349719984240530300760058059955868684896675501611181223871279856828090004911609218818098148657033947440445358292197775254079179794916303164752541913152416143451909444454544658889833069568594142484247323767145632888154366834825585652588858565866632447407587620052804743283138764687746711043930466462391108678436729753172705486694973850297189704549477910147184921903518039847741853791524428244104792191757034695757851187643088770225039174019126106450902138453166415557836584731768278964772000787424538358042684599388140333851537925812537542800193570714403477010157365921319916218327721949392365322419894316085594174646587303534062884512107944443200618052190061781443255908235409908798017681972769329554408669773294240610268846126393903362228681911991957774371996939943958185057526565669829644569381059723897460430860125680565515296430289201099058672219007245734857486829461107591748515296404901097080684257124 178771235926350019624751824307005262672931449985558605974172827937696277014225878208063659198301154721076309201975816427558197938348519955814715290233028850799148242360693019806678664148566347118666414358099148540400900462461871836470693100164634293723277292540949409682627792403771408720239286471328445069774012618445147805463437529134817772984283126347661165813326278926939695197572885484478098108548221750653995221396041256690070285241894380926786210897669023046368916979247733325445733338220124524294038615374175936481174175461767299493693000672677105851225518219330541453936832504307793826829066337031355202819836579623103374490670696100451602289658758507389114735840050082356453826326053156186127157417577158440951672844144514688374484300643014013317023854490073773012033248682579939457293813195284455052959615001815240618444296860340369587710205619347560641344676573829811795639053813723910109615696848420425514288850053775362331002971701890796375255718781104171780759772261299867730417387656547909328287167276288336558790932457284903371783153579037288517768365943193907442352681870075204794401475310442451831887829546675226512836301019786103788314341545845755865127739526490777071299900492409367170235797066910958117633235132675183171784042876186195876472935026514012934285799571315927127559902677520151054052452211778019944210723774753695869296947119866090593433185903377078321484487445344941179809346041823241672035739482400624688161434744565422409333091733040976958268234121812520249201707735547655489556520565388233704206704644269382470049869708753693394972097156531387432034095377604702875776919686938970855817943091694254982592511101221288560512061987523780586321984660653982377702378518824654271291196121631722001063425557122066442703781927093316425582425193095874164774057929502382482404436679272655432020915932185406390115796600294689924228597469601942339295726781742465287502097658642897761313637152435392198543068081511427456095877992058165091404702201095937419811825665293111799085448951864763467300028304902145722247711808628432955736858323619994781794357212651236999501935079061181981089043407456809288091559772787926917185090983406383044520885087146327456732008649519888582858038321221590772817697123424144208101233916995755683525500610069995830000674845023617682184907022570145627310099510425053328900769205497602264420589074472317934964025918860325218449301592653513150370106240596688736819651788792855906240528430710422541645852788689126487308993179007163758810110478043133597961185920708483417297795187246348439638558066692814736400426857479141705934734229062733164216018578172007682591369010053474303404422135357061960448342363244956848206346928281391996851138072691703025591711471008416684756462274826845353581183811147866227569153041302682108484819332514291307228455533064671478834238439909857745863525326194984473282129275505631940431075058720807230061171567681885624278222637729345554940118692707274018904265213786821404480289150045901130181041678226482018162836089230876793911319796520255536364791153969018882651205345809617398523834606169223664713713330069743381782517778590213415200353436679926957439311101399205759364693725399493200284942035996999440807087822005584347322709394338264499176607185144758185127271929889980510430376857280654181221820206338828251425916437081469724574612903287765069366844879020328690417938593086077511619045229150437997128156751329646284509720573804788231981885555470420404960424855498659541519953177175117137394393295480432114891194762775412730153165656236690771055958669119903722095164590584307574712333842364799491077934893059524059448054386644740258091663298625184545902724260247 289257935939660625365652086188843933723605008410247401207019421173227259456581096998370802103210029588607101137556115347321866146718340551622871271630066065919540594280997732709341254073750288566378136761661740960683065047545801372991955475757758938017500607051523099044610684968364757984454759439348232445218003543848154155204490097214435654720081793461988297983013974783643226482563519667198162502007828207634192417456865660092268853266160314208329631585455266404533949885643000116864548603699132908797682537648476938591505419132593557195228308104809057873951625057855980860089110434582337979714308575206729674661622343061883016911665859987004286243816537545690682538570322982211272563223207393495842909088469770062715881977344004843481815247887434253342487625704332532535001874765188578801464484407083676835764667258800862119783492441608173423861096043751555636699132278955441135274248646136669583366053576742259261199020631413908450803007368899955942431431405656735865365151899393225304930750008585816534555580059934726911639238012715895792229559200035196746200357389534699454941092934751146163904511649776277050144386801256179497894311606492312627831246015890114127832975360774410666260711968486279682014100096113251772808131546064513014624500707395200331613664723974167331836762610450084255335107505162915181565460243974251624126243010110930772281811597632032129727885101889554264830558716931520121972295190292400071406175771366263178577793931748563781430283621976779975130218425634831110164984302831895278700589399209112750566930649964507525604067422362962763849650129999973846292394412643019818034516155473041934023678857424918616895828151867196523502174968417183460235635589030245987881667800116155615133276624567352447158146391306034365096572050813451762430921712912431184726637732730651420527218913391057571713381987019945285961265137071057681825744502207848066951235354182860272382346848395450185037459899767495144412982150815463098902260493371543954145614666047868660678874267088571187093688434575218853723578113570765331090644380840092310161775160098726250042498544696522962297112455845521304465602108111187123517348376531881153567099988782404053970612352833540227089693546345896780636600167743419065023131739492361224093198655471032557934307250134177067936872913065133322883857765019825521543125906780468982743946763593142565971808822938183817005247286960586719202092220206930924837017246125742153005809422720654940094670885472965462270872647507878245489583023866740825768770010563633618517546300056646790195179517962470749394392668152013683484779146446420910966172514977380587979925213593140228971333355198606304783743254749955037816902533372264230685471414405144358032880943033147415202564098899102898533616422667373566690396160867850468099453801360742064353504229189792918409679404344528306924243351519076563961673983228931913727487567703407194510254853637110394813713480834301767730132082183890213829951762275868161388512537553967037368443516880726715833630536792348650610243676850929598654602935284943283075835084435481273759883782539370571229321301143073961903417879547653528967439682108253262942207228204355201544103293156240455122544913042581970509981210016125547257989960458750762880545979070032778141379185932182723485314614489368650764228395206466718764620399909542654902926594447391044490831231009714461732167298914644776012113239673381045681929741258382440328774803519708065952976482040198140779903237443189734514833525271953782130222023301511040756621977392424072665566759715356688338223182802360600700528050179627619555595450709988140227630272654000590136607112066769794305541216105847849840178595030085642983408517371 468029171866010644990403910495849196396536458395806007181192249110923536470806975206434461301511184309683410339531931774880064085066860507437586561863094916718688836641690752516019918222316635685044551119760889501083965510007673209462648575922393231740777899592472508727238477372136166704694045910676677514992016162293301960667927626349253427704364919809649463796340253710582921680136405151676260610556049958288187638852906916782339138508054695135115842483124289450902866864890733442310281941919257433091721153022652875072679594594360856688921308777486163725177143277186522314025942938890131806543374912238084877481458922684986391402336556087455888533475296053079797274410373064567726389549260549681970066506046928503667554821488519531856299548530448266659511480194406305547035123447768518258758297602368131888724282260616102738227789301948543011571301663099116278043808852785252930913302459860579692981750425162684775487870685189270781805979070790752317687150186760907646124924160693093035348137665133725862842747336223063470430170470000799164012712779072485263968723332728606897293774804826350958305986960218728882032216347931406010730612626278416416145587561735869992960714887265187737560612460895646852249897163024209890441366678739696186408543583581396208086599750488180266122562181766011382895010182683066235617912455752271568336966784864626641578758717498122723161071005266632586315046162276461301781641232115641743441915253766887866739228676313986190763375355017756933398452547447351359366692038379550768257109964597346454773635294233889995653937131116656158821747286531361278326489790247722693811435842412012789841621949119173599488339253088485084014236955940964046557620249684228365584046318940809886424472746199074448221571948428100807800353977906768188013346906008305349500695662233033902931655592663713003734297919205351676077061737365747606054341971809790406246962135925325559884444507038347946351097052202887342956050232326890554998138485429709045550316867143806080490699932381682986179137386439982321023606418472911053338356189468525265898633483718721031836855757347759961799047534906703285554645515567996411608908149319808070752190972188787098491497439979867683821702195865785363494638488965009837840828862916505432194432572466788241459807860204172897937547758088751005068764787589971148853225417205522311644715969090744830392397897410501751969273205820911937651393812860444075207123486722430889825461211513510846335199316183388003916725436197004732798576202873904584578880488606767216478732220765130207492974705208819189032950734844828419885206003925562616900906744040113752195943791765147911562702365252080608188165390107016998265244896617221078891818342686536354884019015724850440794275569907519583290078697494218920271579972015716695668606842663424172838323561704084225638134937409199785758481791428934309825199309423916387009616843209039134941329912357917624874885048516187392008354719913235768770070454983142180292777751340788441848732666926627846014672215018830668773079766081806392565922731805198819440626238404500156411089128348987969753155907312297626617131209617396910749957460698466678142560664884282158983414394555446214487238638442075170794923246013124988065077782464335110203255373408297277317986371076940908612586544379349161194605252487120899986440606248370906328843031528860769065444134297479531099012177934973466430051832759458557300974970408820437456931554849354350462697055844986372761788792913610139475258380770613323650175200476628178151015272872856187556761522490769418491388839039051371756486719299531341650760041294295714939964115018800081214542005126293853753595602750588107931841893655270188886132777618 757287107805671270356055996684693130120141466806053408388211670284150795927388072204805263404721213898290511477088047122201930231785201059060457833493160982638229430922688485225361172296066924251422687881422630461767030557553474582454604051680152169758278506643995607771849162340500924689148805350024909960210019706141456115872417723563689082424446713271637761779354228494226148162699924818874423112563878165922380056309772576874607991774215009343445474068579555855436816750533733559174830545618390341889403690671129813664185013726954413884149616882295221599128768335042503174115053373472469786257683487444814552143081265746869408314002416074460174777291833598770479812980696046778998952772467943177812975594516698566383436798832524375338114796417882520001999105898738838082036998212957097060222782009451808724488949519416964858011281743556716435432397706850671914742941131740694066187551105997249276347804001904944036686891316603179232608986439690708260118581592417643511490076060086318340278887673719542397398327396157790382069408482716694956242271979107682010169080722263306352234867739577497122210498609995005932176603149187585508624924232770729043976833577625984120793690248039598403821324429381926534263997259137461663249498224804209201033044290976596539700264474462347597959324792216095638230117687845981417183372699726523192463209794975557413860570315130154852888956107156186851145604879207981423753936422408041814848091025133151045317022608062549972193658976994536908528670973082182469531676341211446046957699363806459205340565944198397521258004553479618922671397416531335124618884202890742511845951997885054723865300806544092216384167404955681607516411924358147506793255838714474353465714119056965501557749370766426895379718339734135172896926028720219950444268618920736534227333394963685323458874506054770575447679906225296962038326874436805287880086474017638473198197490108185832266791355433798131388556951970382487369032383142353653900398978801252999695931533191674741169574199470254173272825821015201174747184532043676384429000570308617576060408643817447281879354302044282924096159990752224590020247623679183535126256525851689224319290960971191152462109792813407910911395742211682144131238656708428902863960602408866656287631227937820799394115110338349965874420671153884327952622552609796670396351323985991294388662732683887396364206720348685568974520492781498656853486033067375000044140732848173042831270634234165786429870201656353466187598083704882978288159226740645410347650499170400834996278520821776997688154223171289938427343402996842103369985150371983527867079259017494340175869005358288140534035720450686912971908644856972036082147429989485309577289757091680712916899958757997855996839668806622481823695120161592486961976132883567163768060644024166237191827790893877144047814341753728092682725142948010873786873292652848300737104410912446329451584765995028019688598529350489159738486802097125982600022217259010341681290288894755479217176183807354561848302751811179319383323442932735991220525667090142102516461322839981430170972910888358540982477208455371588520549089165050439717397142806719941084767893088637360527517687711686669609783551484657141304904456029250535323067742923085873083801352478330055459365557009123632097901158868717811958833647693587618751061006157913561231769625976251813556275365307193992831179476849618242442165072432839602982904711667202877785706358369062416415673537885184513541692030356799873990091906042567105780397223778139218907637250265280260222328282206126106829612021841411972457014769479158961206355492004283855167594387672800671351149117193063648059136818856435957772020488685355831869541294989 1225316279671681915346459907180542326516677925201859415569403919395074332398195047411239724706232398207973921816619978897081994316852061566498044395356255899356918267564379237741381090518383559936467239001183519962850996067561147791917252627602545401499056406236468116499087639712637091393842851260701587475202035868434758076540345349912942510128811633081287225575694482204809069842836329970550683723119928124210567695162679493656947130282269704478561316551703845306339683615424467001485112487537647774981124843693782688736864608321315270573070925659781385324305911612229025488140996312362601592801058399682899429624540188431855799716338972161916063310767129651850277087391069111346725342321728492859783042100563627070050991620321043907194414344948330786661510586093145143629072121660725615318981079611819940613213231780033067596239071045505259447003699369949788192786749984525946997100853565857828969329554427067628812174762001792450014414965510481460577805731779178551157615000220779411375627025338853268260241074732380853852499578952717494120254984758180167274137804054991913249528642544403848080516485570213734814208819497118991519355536859049145460122421139361854113754405135304786141381936890277573386513894422161671553690864903543905387441587874557992747786864224950527864081886973982107021125127870529047652801285155478794760800176579840184055439329032628277576050027112422819437460651041484442725535577654523683558290006278900038912056251284376536162957034332012293841927123520529533828898368379590996815214809328403805660114201238432287516911941684596275081493144703062696402945373993138465205657387840297067513706922755663265815872506658044166691530648880299111553350876088398702719049760437997775387982222116965501343601290288162235980697280006626988138457615524929041883728029057196719226390530098718483579181977825430648638115388611802552893934428445827428879445159626033511392151235862472146077739654004173269830325082615469244208898537464230962045246248400335480821660274131851937159451963207455183495770790950516587437767356759777142841959042127536168313716210059392042885895207525658927875574893139247179946735164675171497295071481933159978250953607232793275594733097938077467507625877145673438740704789465325372088482063800404609040853922970542522863811968429242635333021387340199767819249576741191513606033378701774632226756604617759187320943793698602410594504879845927819075251264219570603932656731845747676632765069517839741470104323519901887711086735429614549994926530987777168051475010741586907205181128928380109127460294137841670523255191154297546144767986003057608092371812797123436052096738085702767521160074034963989034347392326606706388469108099778217067800918974482848296791115238714142065113773817655811407233556104899283859436667486687590410030151352597961369685949279162927878441206934376945183612072602076764687746721254121485464392914678352945644563483577866676551746841522010361751370092672242152521974068040235543921065908850733982407862974966830009988156403209014542383786448398895340921957087561244481586582062039237346510735633115767669215137680298782447350467354603505186619227328557972919519510932082267132884097022189926732312099827702042375523388145525387420983287056725886627332777351928086064540710487703248066973153438900180708518737501612406284467560612657505112582621719499604673523930191654784591708872216905192298160283879682076023315242637913218416766878370593730170886303480823270410013465350286813180429430572424254767397058652523138136447779089804696895525321000860880463344213501488778690302857115533298579570107558502691600752565691122319357501812732421607024065703862382340626020755674072607 1982603387477353185702515903865235456636819392007912823957615589679225128325583119616044988110953612106264433293708026019283924548637262625558502228849416881995147698487067722966742262814450484187889926882606150424618026625114622374371856679282697571257334912880463724270936802053138016082991656610726497435412055574576214192412763073476631592553258346352924987355048710699035218005536254789425106835683806290132947751472452070531555122056484713822006790620283401161776500365958200560659943033156038116870528534364912502401049622048269684457220542542076606923434679947271528662256049685835071379058741887127713981767621454178725208030341388236376238088058963250620756900371765158125724295094196436037596017695080325636434428419153568282532529141366213306663509691991883981711109119873682712379203861621271749337702181299450032454250352789061975882436097076800460107529691116266641063288404671855078245677358428972572848861653318395629247023951950172168837924313371596194669105076280865729715905913012572810657639402128538644234568987435434189076497256737287849284306884777255219601763510283981345202726984180208740746385422646306577027980461091819874504099254716987838234548095383344384545203261319659499920777891681299133216940363128348114588474632165534589287487128699412875462041211766198202659355245558375029069984657855205317953263386374815741469299899347758432428938983219579006288606255920692424149289514076931725373138097304033189957373273892439086135150693309006830750455794493611716298430044720802442862172508692210264865454767182630685038169946238075894004164542119594031527564258196029207717503339838182122237572223562207358032256674062999848299047060804657259060144131927113177072515474557054740889539971487731928238981008627896371153594206035347208088901884143849778417955362452160404549849404604773254154629657731655945600153715486239358181814514919845067352643357116141697224418027217905944209128210956143652317694114998611597862798936443032215044942179933527155562829848331322191332724789028470384670517975482560263822196357330085760418019450771353615595595564361436325809991367516411152465595140762926363481861421201023186519390772894131169403415717025606683505644493680289149651757115802381867643568750067734238744769695028342429840248038080880872829686389100396519660974009892809564489645928065177504900422041434458519623120811338107872889918314191383909251358365878995194075295404952418776975488002479981842419194939719496094936291921603606770689374894656355195405274181486947568886471289262408684202869283151551399065887637540838512626625176304669529672635065262075102432547681802481724192630773806153454434131982679820961070429539756596191698046397856869897780717818933240846152787954907520764546937468937817403894195532237782851023204728130711756647221979143491838513733763620916655971123932077324956057398945894729612988483825665033931793844499444347973664252082107217165711485328324107487733970114889501162863655358329130299400283085034541336969711277718641189307539726651947278375006974065985483024473548884084463016753034950125705051718110324223040803658229387947497790184751746311906560312096451061556880038449769978819553706805741411389453404732158071626058711213268310506856370858078364957388236717485095188172808388862116784785112272547874296137488562618564198028792382283481364396177994864911867516761371131634209951314381977625137763266784393743226193028344271587479183294044131615355399845172853627209887455442192855747535210969648032906615966289773403416708001418086903021632150612882721875316670516258257849264063471025302863425275152890364401423916840239512421149871869240463460023475882871025981852625215367596 3207919667149035101048975811045777783153497317209772239527019509074299460723778167027284712817186010314238355110328004916365918865489324192056546624205672781352065966051446960708123353332834044124357165883789670387469022692675770166289109306885242972756391319116931840770024441765775107476834507871428084910614091443010972268953108423389574102682069979434212212930743192903844287848372584759975790558803734414343515446635131564188502252338754418300568107171987246468116183981382667562145055520693685891851653378058695191137914230369584955030291468201857992247740591559500554150397045998197672971859800286810613411392161642610581007746680360398292301398826092902471033987762834269472449637415924928897379059795643952706485420039474612189726943486314544093325020278085029125340181241534408327698184941233091689950915413079483100050489423834567235329439796446750248300316441100792588060389258237712907215006912856040201661036415320188079261438917460653629415730045150774745826720076501645141091532938351426078917880476860919498087068566388151683196752241495468016558444688832247132851292152828385193283243469750422475560594242143425568547335997950869019964221675856349692348302500518649170686585198209937073307291786103460804770631228031892019975916220040092582035273992924363403326123098740180309680480373428904076722785943010684112714063562954655925524739228380386710004989010332001825726066906962176866874825091731455408931428103582933228869429525176815622298107727641019124592382918014141250127328413100393439677387318020614070525568968421062972555081887922672169085657686822656727930509632189167672923160727678479189751279146317870623848129180721044014990577709684956370613495008015511879791565234995052516277522193604697429582582298916058607134291486041974196227359499668778820301683391509357123776239934703491737733811635557086594238269104098041911075748943365672496232088516742175208616569263080378090286867864960316922148019197614080842071697473907263177090188428333862636384490122463174128492176752235925568166288766433076851259963714089862903259978492898889783909311774420828368695886575042070080341170033902173543428596585876194683814462254827291147654369324258399959100377591618366617159382992948055306384273539533059610833251758828747038881101961051423395693498357529639154993995397233009332308895504806369018506455420136233151849877415955867060210862107889986319845863245724923013150546669171989380908144734325729519051960009237335836406396245123508658400461630085969745400200712474724736937946300003995591408050412079931508193347931678680183149880367458967075817403051265132710524919494599605160244727511891856221955292056714784950104776932083202898086515505956648114848518737907723694449579070146234906612051242755473215301429088342682134882641395617399347057252130496089799883419712900079583849565139011701901241011018496806377676230546919155417258237414122700919308815565685083842263232169846117849485340207561743315385629426369365843321348993885275319377574252685471199295696129860961820758793422464880823946430636445328944603335096989363051562453743439990710018795909686729945140652106349817093179539425009034476399549381852245952437803827931338121765504559860114001582099358793697927839657914804251584721014069413181252713518876565364851758265711448055004656226064230970482496352994940986476978799714364516541040691562786418801660186598882817435923550664075819249508270982184805895950172414725345526286148653676897619900920792479668927964641542072287674013024942296541553155780507891599917157471613743602338660884017747036539566920586558601442995382711393056002176482531361831778651684601662070484089179745253366607873380889440203 5190523054626388286751491714911013239790316709217685063484635098753524589049361286643329700928139622420502788404036030935649843414126586817615048853055089663347213664538514683674865616147284528312247092766395820812087049317790392540660965986167940544013726231997395565040961243818913123559826164482154582346026147017587186461365871496866205695235328325787137200285791903602879505853908839549400897394487540704476463198107583634720057374395239132122574897792270647629892684347340868122804998553849724008722181912423607693538963852417854639487512010743934599171175271506772082812653095684032744350918542173938327393159783096789306215777021748634668539486885056153091790888134599427598173932510121364934975077490724278342919848458628180472259472627680757399988529970076913107051290361408091040077388802854363439288617594378933132504739776623629211211875893523550708407846132217059229123677662909567985460684271285012774509898068638583708508462869410825798253654358522370940495825152782510870807438851363998889575519878989458142321637553823585872273249498232755865842751573609502352453055663112366538485970453930631216306979664789732145575316459042688894468320930573337530582850595901993555231788459529596573228069677784759937987571591160240134564390852205627171322761121623776278788164310506378512339835618987279105792770600865889430667326949329471666994039127728145142433927993551580832014673162882869291024114605808387134304566200886966418826802799069254708433258420950025955342838712507752966425758457821195882539559826712824335391023735603693657593251834160748063089822228942250759458073890385196880640664067516661311988851369880077981880385854784043863289624770489613629673639139942625056864080709552107257167062165092429357821563307543954978287885692077321404316261383812628598719638753961517528326089339308264991888441293288742539838422819584281269257563458285517563584731873858316905840987290298284034495996075916460574465713312612692439934496410350295392135130608267389791947319970794496319824901541264395952836806741915637115082160071419948663677997943670243399504907338782264694505877942558481232806765174665099906910458007077217870333853027721422317057785041284006642606022085298655766811140108750437174027842289600793849578021453857089468721349999132304268523184746630035674654969407125818896798541432871546523406877461570691671472998227293974933100780422081370229097221611603918207225842074124408157883632736805711361471154948956831931342688166727115429089836524742324940805474893961672305824417589266404275610919695231482907259235569219518695776505543763636605490038116527207812957467176402086884437358285698009676389424039394605911175206471839799089784561903813518012629236556840964540602367025053755671158988711693290619195624620580464985905846123748111103704474109639581638397153476520996239820689071089026857298409964391535990664714372584189349052081913567048892973067647792301007974717498170225337219310322451244478249284784698496142721632078919816656347285530404112388603235856512909099133800396530866306970904185329413407620088131939488756614171853764213750822454139074677442930836858096128999739851521460096033279587831622224771991510633672749511218909292018185627640810572062008434696028772882616542109250786898276440886327265427481636543377983995929300793714626849534680525145377224467841374977709229428408557452933918053011611500980860442573686817448469562475701299326456393375133466458856960881685993826530524829788376234672524675499852511720320580628991232069944969863781925978502938789622226626324213977554534005294388830984057583904306420657864283420403600399371601344199801556470902533944112655628124392589726006104807799 8398442721775423387800467525956791022943814026427457303011654607827824049773139453670614413745325632734741143514364035852015762279615911009671595477260762444699279630589961644382988969480118572436604258650185491199556072010466162706950075293053183516770117551114327405810985685584688231036660672353582667256640238460598158730318979920255779797917398305221349413216535096506723793702281424309376687953291275118819978644742715198908559626733993550423143004964257894098008868328723535684950054074543409900573835290482302884676878082787439594517803478945792591418915863066272636963050141682230417322778342460748940804551944739399887223523702109032960840885711149055562824875897433697070623569926046293832354137286368231049405268498102792661986416113995301493313550248161942232391471602942499367775573744087455129239533007458416232555229200458196446541315689970300956708162573317851817184066921147280892675691184141052976170934483958771787769901786871479427669384403673145686322545229284156011898971789715424968493400355850377640408706120211737555470001739728223882401196262441749485304347815940751731769213923681053691867573906933157714122652456993557914432542606429687222931153096420642725918373657739533646535361463888220742758202819192132154540307072245719753358035114548139682114287409246558822020315992416183182515556543876573543381390512284127592518778356108531852438917003883582657740740069845046157898939697539842543235994304469899647696232324246070330731366148591045079935221630521894216553086870921589322216947144733438405916592704024756630148333722083420232175479915764907487388583522574364553563824795195140501740130516197948605728515035505087878280202480174570000287134147958136936655645944547159773444584358697126787404145606460013585422177178119295600543620883481407419021322145470874652102329274011756729622252928845829134076691923682323180333312401651190059816820390600492114457556553378662124782863940876777496613732510226773282006193884257558569225319036601252428331810093257670448317078293500321521003095508348713966342123785509811566937976436569133183414219113203093063201764517600551313147935208567273450339054592953412554148315282548713464712154365542406601706399676917022383970523101698492480412115829133853460411273212685836507602451960183727664216683104159674829648964804358828229107436937677915541913332881706924823322875643249841993311642529971356548943084857328841220376388743296397538791777471131440880523114958194167767749084411850624087490298154828294686205675606436397042762363889270399867018970107311414415452583500898198878926385911222603681307441167792340523482386671001692044682085797589865898344716096109390861279983403923001987871077409770166127477755294748688235051946095199990577771039954448763834497053708923147120788487519365510450761726240135671438280573189421075823670254210100728758539420982888342368340944919503344766310319327689749812281883213477384850237949668016343186704650530012987793634914211067861986042981072805091975724859783089583587898931986373870919892593818995747130917334821774742352223423228928851808176625597204204460841250048761407388071488964445946092919390946469130509679137213474470724429314461604087632984413851878299629222909930855706362535686687686868126830264856311457693599846141992846488301643695443984305449940691080505163021498372165454318353777423593944949598144496704471813271687579743260009610368112545381725209570308641199271083638873582306407972142480207422449689297027152193603464494053792608254642016174366486523019562433870102855947093840369926552638438551752330928397904644142505749416040575676476405776881902963175978453241072564604428201835373377759197599386994248002 13588965776401811674551959240867804262734130735645142366496289706581348638822500740313944114673465255155243931918400066787665605693742497827286644330315852108046493295128476328057854585627403100748851351416581312011643121328256555247611041279221124060783843783111722970851946929403601354596486836835737249602666385478185345191684851417121985493152726631008486613502327000109603299556190263858777585347778815823296441842850298833628617001129232682545717902756528541727901552676064403807755052628393133909296017202905910578215841935205294234005315489689727190590091134573044719775703237366263161673696884634687268197711727836189193439300723857667629380372596205208654615764032033124668797502436167658767329214777092509392325116956730973134245888741676058893302080218238855339442761964350590407852962546941818568528150601837349365059968977081825657753191583493851665116008705534911046307744584056848878136375455426065750680832552597355496278364656282305225923038762195516626818370382066666882706410641079423858068920234839835782730343674035323427743251237960979748243947836051251837757403479053118270255184377611684908174553571722889859697968916036246808900863537003024753514003692322636281150162117269130219763431141672980680745774410352372289104697924451346924680796236171915960902451719752937334360151611403462288308327144742462974048717461613599259512817483836676994872844997435163489755413232727915448923054303348229677540560505356866066523035123315325039164624569541071035278060343029647182978845328742785204756506971446262741307616439628450287741585556244168295265302144707158246846657412959561434204488862711801813728981886078026587608900890289131741569827250664183629960773287900761993519726654099267030611646523789556145225708914003968563710062870196617004859882267294036017740960899432392180428418613320021721510694222134571673915114743266604449590875859936707623401552264458809020298543843676946159278860016793238071079445822839465721940690294607853961360449644868642220279130064052166768141979834764717473839902250264351081424283856929760230615974380239376582919126451985357757707642460159032545954700383232373357249512600030630424482168310270135781769939406826413244312421762215678150781663210448929654439958118734647309989294666542925976323801959316031932739867850789710504303934211484647125905978370549462065320210343277616494795873870543816926412422952052726778040306468932759427602230817420805696675410207937152241994269907150999699091772578577739516580134679570619627011150500398069348586781478536804142629889802542897322711819070117717574702891454986240286797479284319548336439853847403778929119444083287875574734140135503996772455189875762801077655639313583684140106991851589652775654313120253746248930028666142054453692678329503612106694333643113621554466200349775253076677726665942072063490943281189755615837830947279878359005659292087534115362401241256798705254950861269685858212667166186568523923960852464232271884198995766358128764613151724908632072145313493695976502167842886780019026394215526613437888239007104155759843511360868340564790797450968418211663704187836084831002325822542075092659242467929226542958725045096695496420825095276837144203323143896485256863720502917714797231715460569484668939515643209734134486173407420328124845021679439913606243655317930039843546643749389922159728755132823373358155597430622524824883188560603702583297185561014944200910869635097592646217105332439267289658136306737947279477673261824718278964346565512928835271007406436431492883344359848605794736716066996250766615993085757625317228888701726410055836698439959896809377281274564520178254797543467138372314491001502151787325393099055801 21987408498177235062352426766824595285677944762072599669507944314409172688595640193984558528418790887889985075432764102639681367973358408836958239807576614552745772925718437972440843555107521673185455610066766803211199193338722717954561116572274307577553961334226050376662932614988289585633147509189319916859306623938783503922003831337377765291070124936229836026718862096616327093258471688168154273301070090942116420487593014032537176627863226232968860907720786435825910421004787939492705106702936543809869852493388213462892720017992733828523118968635519782009006997639317356738753379048493578996475227095436209002263672575589080662824425966700590221258307354264217440639929466821739421072362213952599683352063460740441730385454833765796232304855671360386615630466400797571834233567293089775628536291029273697767683609295765597615198177540022104294507273464152621824171278852762863491811505204129770812066639567118726851767036556127284048266443153784653592423165868662313140915611350822894605382430794848826562320590690213423139049794247060983213252977689203630645144098493001323061751294993870002024398301292738600042127478656047573820621373029804723333406143432711976445156788743279007068535775008663866298792605561201423503977229544504443645004996697066678038831350720055643016739128999496156380467603819645470823883688619036517430107973897726852031595839945208847311762001318746147496153302572961606821994000888072220776554809826765714219267447561395369895990718132116115213281973551541399531932199664374526973454116179701147224209143653206917889919278327588527440782060472065734235240935533925987768313657906942315469112402275975193337415925794219619850029730838753630247907435858898930175372598646426804056230882486682932629854520463982149132240048315912605403503150775443436762283044903266832530747887331778451132947150980400807991806666948927629924188261587897683218372655059301134756100397055608284061723957670015567693178333066239003946884178865412530585768681469894648610940157309837216459058128265038994842997758613065047766407642439571797553950816808509766333345565188450820909406977759583859102635591799646807588567192984042978630483592818849246482093772368819846018821439132700534752186312147422134852073947868500770400567879228762483926253919499759596956550954949385333952899015843475355013415308227377607233543224984541318118749513793658919724065482024083326983391326261600647978619560717203235467187679068593122517384865345167466840856990428363604070432834398914313216826106834466391349145367807204009648859909854311738164402571015916453629277366208843968104920452111888859922240518405470973801529880877741473078856231613387633735173279685803065526716723353850267584747146338341010706259215453736826701068620590818288189732038426759227482821162479132005227926589910924514958299855363147887161197491290484374377251930168220727346604211590878881672720568946548517536834074747070708450616834202911710628611382477220065519113206834220114807594224530000607797005096583279564401099829260650938918988034522360568805573828878898112066934589797192372967423048172622672504954236597492219073814786988021185578633414398357052637862258571166220850139556880924777187736995774784886086630433773421159767402148256352795769780499521191828086019549413174613146665374883897911693596009010545006568142121555376478082532556417318307753741927326996638154876140346962592907553673560325926120439943738791917300744206021573697630278786945369729166970288976911882428840619305537089913023580802918015902906793718708650683809907366177319254431637509956245626793345868915805252739015636373215154163177527696156708038616031742800516326374879910984924780093303803 35576374274579046736904386007692399548412075497717742036004234020990521327418140934298502643092256143045229007351164169427346973667100906664244884137892466660792266220846914300498698140734924773934306961483348115222842314666979273202172157851495431638337805117337773347514879544391890940229634346025057166461973009416968849113688682754499750784222851567238322640221189096725930392814661952026931858648848906765412862330443312866165793628992458915514578810477314977553811973680852343300460159331329677719165869696294124041108561953198028062528434458325246972599098132212362076514456616414756740670172111730123477199975400411778274102125149824368219601630903559472872056403961499946408218574798381611367012566840553249834055502411564738930478193597347419279917710684639652911276995531643680183481498837971092266295834211133114962675167154621847762047698856958004286940179984387673909799556089260978648948442094993184477532599589153482780326631099436089879515461928064178939959285993417489777311793071874272684631240825530049205869393468282384410956504215650183378889091934544253160819154774046988272279582678904423508216681050378937433518590289066051532234269680435736729959160481065915288218697892277794086062223747234182104249751639896876732749702921148413602719627586891971603919190848752433490740619215223107759132210833361499491478825435511326111544413323781885842184606998753909637251566535300877055745048304236301898317115315183631780742302570876720409060615287673187150491342316581188582510777528407159731729961087625963888531825583281657205631504834571756822706084205179223981081898348493487421972802520618744129198094288354001780946316816083351361419856981502937260208680723759660923695099252745693834667877406276239077855563434467950712842302918512529610263385418069479454503243944335659012959166500651800172643641373114972481906921410215532079515064121524605306619924919518110155054644240732554443340583974463253638772624155905704725887574473473266491946218326338536868890070221362003984601037963029756468682900008877416129190691499369332028169925197047886349252472017173808578617049437918616405057335975032020164838079793014673403112651903088985028252033179195233090331243201348378685533849522596351789292032066603148080389862545771688460250055878815791529696418805739095838256833227328122480919393678776839672553753568262157812914623384337475846136488434076810105023697795194360075580850378138008932142597887005745364511654772496167165932629569006103120650567513969533940227976607232535739935926846344008152278749712397209060876221641133634028332168821195084254902399736431437196362094365809249902920973964165617047812996367117384406190363155448604143182356036937534407691738997927993786360572335707483075631097286732872741882410367930371334177154805592753559694126939686177591636026521305219950652140772480239990215082877448099086352263503678412997035121810203347222791784936016756566663284000389480234552572234941452337403312202600578243572207376254909239869150410076975540903267672147430957945382250048974006693812835983053871910445950665532937758220499141040884168658424433577050076140609530096278237875882327583595596587303667861717270964652157761921391060139671270142950350936691135956999117608825837464709296142730925962572192956833502737991687054323811517937251326940584850114785870945298637811287689240691665909339357949521463038064700950665176204739234575270127031309578836384563517849538460840987288415093683317008644643550801630161393187184818465925184030987239349508786251153567314445420525974362428085870424723267581562855682047595325861089437455596270024531444452092216334962836159498881172830817376382062772250173192359604 57563782772756281799256812774516994834090020259790341705512178335399694016013781128283061171511047030935214082783928272067028341640459315501203123945469081213538039146565352272939541695842446447119762571550114918434041508005701991156733274423769739215891766451563823724177812159380180525862781855214377083321279633355752353035692514091877516075292976503468158666940051193342257486073133640195086131949918997707529282818036326898702970256855685148483439718198101413379722394685640282793165266034266221529035722189682337504001281971190761891051553426960766754608105129851679433253209995463250319666647338825559686202239072987367354764949575791068809822889210913737089497043890966768147639647160595563966695918904013990275785887866398504726710498453018779666533341151040450483111229098936769959110035129000365964063517820428880560290365332161869866342206130422156908764351263240436773291367594465108419760508734560303204384366625709610064374897542589874533107885093932841253100201604768312671917175502669121511193561416220262629008443262529445394169757193339387009534236033037254483880906069040858274303980980197162108258808529034985007339211662095856255567675823868448706404317269809194295287233667286457952361016352795383527753728869441381176394707917845480280758458937612027246935929977751929647121086819042753229956094521980536008908933409409052963576009163727094689496369000072655784747719837873838662567042305124374119093670125010397494961570018438115778956606005805303265704624290132729982042709728071534258703415203805665035756034726934864123521424112899345350146866265651289715317139284027413409741116178525686444667206690629976974283732741877570981269886712341690890456588159618559853870471851392120638724108288762922010485417954931932861974542966828442215666888568844922891265526989238925845489914387983578623776588524095373289898728077164459709439252383112502989838297574577411289810744637788162727402307932133269206465802488971943729834458652338679022531987007808431517501010378671841201060096091294795463525897767490481176957099141808903825723876013856396115585817582362259399526456415678200264159971566831666972426646985998716381743135495907834274734126951564052936350064640481079220286035834743773924144106014471648850790430425000450944176309798315551126652969760688481172209732243171597835932808987004217279787296793246699131033372898131134765860553916100893432007089121455960723559469938855212167609785566074338487029039637841334632773486559434466724721000348368448253444802714067002131285072214151212161927609622251520799040624212149550481961446187403928223007320188543326056284334884214720876722503845043358520891852598730772039925536435134407208709072760291384675276486144266334797066831551161219902332165907323691030072142406357130561659975968071885564922053529597102106594326376668367837813338263770724364592334807616319813698867715269291878707842379149895740328619010763827275113900834592391945181183617418672402922425409434798358379801600784909847666155506660255105304367501408081896864370284571334575499386664861951983977380540462725310725643547313663556673612661031069269149955396518117463816509296725940648234449562239027938121104209038686698578797135446055029036981370464557116766519757082190260479076642252117790658212506246677351138352429207709429630847335951129856682927992500675115893820245658009973663081285276518101192940841297627769112292908135596053151749522575176480818593744482414684918693880628686737811613839778542043822027804124003015097054568042267524689157947286023096104335881728605405124856360777537808482475393464241666342176471232643239685607629619912491670874775530623973347143751261973757174953285663407 93140157047335328536161198782209394382502095757508083741516412356390215343431922062581563814603303173980443090135092441494375315307560222165448008083361547874330305367412266573438239836577371221054069533033463033656883822672681264358905432275265170854229571568901597071692691703772071466092416201239434249783252642772721202149381196846377266859515828070706481307161240290068187878887795592222017990598767904472942145148479639764868763885848144063998018528675416390933534368366492626093625425365595899248201591885976461545109843924388789953579987885286013727207203262064041509767666611878007060336819450555683163402214473399145628867074725615437029424520114473209961553447852466714555858221958977175333708485744567240109841390277963243657188692050366198946451051835680103394388224630580450142591533966971458230359352031561995522965532486783717628389904987380161195704531247628110683090923683726087068708950829553487681916966214863092844701528642025964412623347021997020193059487598185802449228968574543394195824802241750311834877836730811829805126261408989570388423327967581507644700060843087846546583563659101585616475489579413922440857801951161907787801945504304185436363477750875109583505931559564252038423240100029565632003480509338257909144410838993893883478086524503998850855120826504363137861706034265860989088305355342035500387758844920379075120422487508980531680975998826565421999286373174715718312090609360676017410785440194029275703872589314836188017221293478490416195966606713918564553487256478693990433376291431628924287860310216521329152928947471102172852950470830513696399037632520900831713918699144430573865300978983978755230049557960922342689743693844628150665268883378220777565571104137814473391985695039161088340981389399883574816845885340971825930273986914402345768770933574584858449080888635378796420229897210345771805649487379991788954316504637108296458222494095521444865388878520717170742891906596522845238426644877648455722033125811945514478205334146968386391080600033845185661134054324551932208797776367897306147790641178235853893801210904282464838289599536067978143505853596816669217307541863687137264726779013389784855787398996819302986160130759286026681307841829457905819885357340125713436138081074796931180292970772139404426365677131342656349388566427577010466565470499720316852202665781056952341050361508856943947996282468610611997042350177703537030786916650320799140320316993221099752383453080083851540694410337501798706116128440569845371567862337982193672779321299537871220999060495220314206359334648729859916845853283184510293615008599012477909719924974763252646429250023970779643477809208975568704848965848156446115899590583011351891428797228919082968225142194328583427403886868702977963263194056563771954552774287501895837130773664639124616180469283279698230352897973587788465479036250964354807417685064418900051131218947704875742964189353242963120403946780583841777184834981872179733755852360124740325737612035376601952008977039819087535305916737230646207635173555512854809752534620308582193199500845005855887826491128258248483864046454704440842271085464646319226096006048213742054385179053524243831036865906889655392068861196448619969857275117325171987332307155693073765637365908027725188372784983043753230405463080180089130039483531520947568098662891714706797713863445973753705107934898701639572420643226039564231005542248292945317032142710866180183059101411561044336443282943255672207108974312003746456257390580172205215214988942468940281085555281617033475409100853337541524861856091033490995281084045119371338157441059567527431613926828913264217052081712128826633710935029505146177961127644036529425126478023011 150703939820091610335418011556726389216592116017298425447028590691789909359445703190864624986114350204915657172919020713561403656948019537666651132028830629087868344513977618846377781532419817668173832104583577952090925330678383255515638706699034910070121338020465420795870503863152251991955198056453811333104532276128473555185073710938254782934808804574174639974101291483410445364960929232417104122548686902180471427966515966663571734142703829212481458246873517804313256763052132908886790691399862120777237314075658799049111125895579551844631541312246780481815308391915720943020876607341257380003466789381242849604453546386512983632024301406505839247409325386947051050491743433482703497869119572739300404404648581230385627278144361748383899190503384978612984392986720553877499453729517220101701569095971824194422869851990876083255897818945587494732111117802318104468882510868547456382291278191195488469459564113790886301332840572702909076426184615838945731232115929861446159689202954115121146144077212515707018363657970574463886279993341275199296018602328957397957564000618762128580966912128704820887544639298747724734298108448907448197013613257764043369621328172634142767795020684303878793165226850709990784256452824949159757209378779639085539118756839374164236545462116026097791050804256292784982792853308614219044399877322571509296692254329432038696431651236075221177344998899221206747006211048554380879132914485050136504455565204426770665442607752951966973827299283793681900590896846648546596196984550228249136791495237293960043895037151385452674353060370447522999816736481803411716176916548314241455034877670117018532507669613955729513782299838493323959630406186319041121857042996780631436042955529935112116093983802083098826399344331816436791388852169414041597162555759325237034297922813510703938995276618957420196818421305719061704377564544451498393568887749611286296520068672932734676133516308879898145199838729792051704229133849592185556491778150624537010192341955399903892090978705686386721230145619347395734695543858378483104889782987139679617677224760678580424107181898327377669962269275016933377279108695354109691373765012106166598922894904653577720287082323338963031372482310537126105921192083899637580244095546445781970723395772590348602675475446893783002358327116058182676297713671318152785011652785274232128347154755556074981369180599745377857596266278596969037876038106281522699790255848433267362169019154422338569734048178836431479602687875036570092568210706430447117582035366540002506071274646432476133968956900250658957470065432734992255061196002940700917040113518089308930764134238691656365981654252334089596701564578928486041436025717418560600501557520303758244711286460663380494235438029922880295429101380254802026695180644632457497106741736524689538233998880381804824679274641955626278817300021688719399752492680738713749998934216996754450806568503138703449022957544411116891085669574264124914939469778797143248163021470174960331810577824728935201461423397485751512002674963594751674122819191643157692586165706957839865207031590983559209507593768367997515883746495715588376051402566331205870894475779464892065486428145917593513173070235135318548654410563380201024313677620250190532157122990217985667449427235161543888617969326857440268391912739230377198945998842844563480641855946648869598928180556711613235501928502557665423946383545920714429325050846462233334808623986737525155037027425670357125802854940690484267871230358714249037242793066471955378140123323884558164567048139360637629197737819638896120137444822657179820632834523809193773790398061556503902659711332041318304585710560129119525104878906010286600079763686418 243844096867426938871579210338935783599094211774806509188545003048180124702877625253446188800717653378896100263054113155055778972255579759832099140112192176962198649881389885419816021368997188889227901637617040985747809153351064519874544138974300080924350909589367017867563195566924323458047614257693245582887784918901194757334454907784632049794324632644881121281262531773478633243848724824639122113147454806653413573114995606428440498028551973276479476775548934195246791131418625534980416116765458020025438905961635260594220969819968341798211529197532794209022511653979762452788543219219264440340286239936926013006668019785658612499099027021942868671929439860157012603939595900197259356091078549914634112890393148470495468668422324992041087882553751177559435444822400657271887678360097670244293103062943282424782221883552871606221430305729305123122016105182479300173413758496658139473214961917282557178410393667278568218299055435795753777954826641803358354579137926881639219176801139917570375112651755909902843165899720886298764116724153105004422280011318527786380891968200269773281027755216551367471108298400333341209787687862829889054815564419671831171566832476819579131272771559413462299096786414962029207496552854514791760689888117896994683529595833268047714631986620024948646171630760655922844498887574475208132705232664607009684451099249811113816854138745055752858320997725786628746292584223270099191223523845726153915241005398456046369315197067788154991048592762284098096557503560567111149684241028922239570167786668922884331755347367906781827282007841549695852767207312317108115214549069215073168953576814547592397808648597934484743831857799415666649374100030947191787125926375001409001614059667749585508079678841244187167380733731700011608234737510385867527436542673727582803068856388095562388076165254336216617048318516064833510027051924443287347885392386719582754742562768454179541522394829597068888091745326314896942655778727240641278524903962570051488397676102368290283171578739531572382364199943899327943493320226275789252680424165375533511478435664961045262396781434395355813468122871833602594586650559041246956100544025495951454710293901472880706447213082624989712680324139995031925806549424025351016382176621242713151016366544729753029041152578236439351746893543635193142863184171038469637214318566331184469397516264413018929365463068355989854638616456300506068662954756602321840110572841654367114552472234506190110428458516338230185718816315606415464136073044412640790361356666077873727070335141652790340328291548980518874315918715919502548676204601953178826760038492852561577193384262662436009459463461309658301550530427084932157335616300429912491930354749222841212936428654991963921639324898625858258692295436818573981247954932134353334237515401163814154414468163661503055032172615543414744296336272653074207170177745157613801130153164701630193770757856381666569426904324994958668270504556136304648695322138921883573900633505551562283819554864548022736767340134716397719637848519107606483875353811951739885785666551963695753033522719241807693371640223072438358154831960361907602147408614544947925279654832989135896523294052807248905241931431583938518511685680705373011645984775943264297794488898245710855822212218205297119023432407037529398431396270751324767044661734559270278355719392622623304036115455413252807922571728597229654951925794213659746357193557328413517867725398298569491480310368926029332911829252694230724128620938886454252457782008940895659225678605501591639976148992698179154059593910672387115418528867776551158790275583376721205404324890469768119711793044170144938296645589634265703066006550046816025206241709429 394548036687518549206997221895662172815686327792104934635573593739970034062323328444310813786832003583811757435973133868617182629203599297498750272141022806050066994395367504266193802901417006557401733742200618937838734484029447775390182845673334990994472247609832438663433699430076575450002812314147056915992317195029668312519528618722886832729133437219055761255363823256889078608809654057056226235696141708833885001081511573092012232171255802488960935022422451999560047894470758443867206808165320140802676220037294059643332095715547893642843070509779574690837820045895483395809419826560521820343753029318168862611121566172171596131123328428448707919338765247104063654431339333679962853960198122653934517295041729700881095946566686740424987073057136156172419837809121211149387132089614890345994672158915106619205091735543747689477328124674892617854127222984797404642296269365205595855506240108478045647869957781069454519631896008498662854381011257642304085811253856743085378866004094032691521256728968425609861529557691460762650396717494380203718298613647485184338455968819031901861994667345256188358652937699081065944085796311737337251829177677435874541188160649453721899067792243717341092262013265672019991753005679463951517899266897536080222648352672642211951177448736051046437222435016948707827291740883089427177105109987178518981143353579243152513285789981130974035665996625007835493298795271824480070356438330776290419696570602882817034757804820740121964875892046077779997148400407215657745881225579150488706959281906216844375650384519292234501635068211997218852583943794120519831391465617529314623988454484664610930316318211890214257614157637908990609004506217266232908982969371782040437657015197684697624173662643327285993780078063516448399623589679799909124599098433052819837366779201606266327071441873293636813866739821783895214404616468894785741454280136330869051262631441386914217655911138476967033291584056106948646884912576832826835016682113194588498590018057768194175262557445217959103594345563246723678188864084654272357570207152515213129155660425639625686503963332722733483430392146850535971865759254395356647474309037602118053633188806126458426734295405963952744052806450532158031727741507924988596626272167688495121739762317320101631716628025130222354105220659693375819160897842356622422225971351605416597744671019969093910734643668101367712234882734897475106538992862883844539900828690087634476721491388928528680162506695174661665321504190642985556704283750843087907943392032617876233141609788085266474297248449231177831785984148654494803737400604893879743800152010941870507957518501354092375441117713643747898252095006013418198771642017848473092431912269526599457647715115655344415874762928548738554121396817073376007943135576766810831344257137688503692648467044043307879711447257499041023113636294341793606922670425896327551129087381698384644577326359520370018449861869406075559356174130400429563634791917719026822063654975726522615630132689276957938228763532202149231640523482702358157998173003594897578371832258921535618240554310225366902879233991440435874038578456077495978198811180876153796174130612454027962009722198724842418415001666719257067166096244085574035959662396193454829951611888463696523271639453366841007641401733894969666823309009981701965990660577403833758997575339271492902964296012124866043424500231154895078898309340134374175682244403790646852676349385036094646517337794596386458714684193384714991999851297600703289700575075412851037365801929386149804543197132058816783257331730311283235555973690433730979423110107185914979194722952026272022371504376211463242882356149763385228170885456057102625286005395847 638392133554945488078576432234597956414780539566911443824118596788150158765200953697757002587549656962707857699027247023672961601459179057330849412253214983012265644276757389686009824270414195446629635379817659923586543637380512295264726984647635071918823157199199456530996894997000898908050426571840302498880102113930863069853983526507518882523458069863936882536626355030367711852658378881695348348843596515487298574196507179520452730199807775765440411797971386194806839025889383978847622924930778160828115125998929320237553065535516235441054599707312368899860331699875245848597963045779786260684039269255094875617789585957830208630222355450391576591268205107261076258370935233877222210051276672568568630185434878171376564614989011732466074955610887333731855282631521868421274810449712560590287775221858389043987313619096619295698758430404197740976143328167276704815710027861863735328721202025760602826280351448348022737930951444294416632335837899445662440390391783624724598042805233950261896369380724335512704695457412347061414513441647485208140578624966012970719347937019301675143022422561807555829761236099414407153873484174567226306644742097107705712754993126273301030340563803130803391358799680634049199249558533978743278589155015433074906177948505910259665809435356075995083394065777604630671790628457564635309810342651785528665594452829054266330139928726186726893986994350794464239591379495094579261579962176502444334937576001338863404073001888528276955924484808361878093705903967782768895565466608072728277127068575139728707405731887199016328917076053546914705351151106437627946606014686744387792942031299212203328124966809824699001446015437324657258378606248213424696108895746783449439271074865434283132253341484571473161160811795216460007858327190185776652035641106780402640435635589701828715147607127629853430915058337848728724431668393338073089339672523050451806005194209841093759178305968074035921383329382421845589540691304073468113541586075764639986987694160136484458434136184749531485958545507146051621682184310930061610250631317890746640634096090600670948900744767118089296898515018684138566452409813436603603574853063098069508343482707599339133181508488588942456733130590527189957534290931950339613008448788931208272756128862049854660757780603366661705852114203328568962024082013395092059440289917936601067142187284382112840100106736457357566873499191197981175201947619486166380011401531742001591273963623434718790590965211512891851040320506249401020840356795255728698304748698695749960211944929738056814625539998211696706101902864573997352413605206847058570560190503794432085150902764016528384900581174953406199802625433098350356107258318278385584362267018749440670584143770647308337514087827174596812813692253891949989191090508901164165581772538852317847062935207704810934743619873042455767409972566994867814092848171053941352259240546400014838348084215902036587876766194401034227626678686536734212330114056640910395964288481278084899449687553824980674996103666918546951278372001809964641873526815546637464157498810885231371274077029467174596250874214512874232193410416439403580346219795421101721453785445443163858533016251532091323656933098303195585677781924790947047605647172136719127746100786709407379093851671572138126664834140932499065254705280733026733035322311963104037353294731894116207000411467538118851347071959752124733850235134348033922039437961119060370544074783334664137997648163522415791626513446078945716128472236487157542158357084353746696591480534887741444519346124756995937316925640983670350974502558210282138213385690562636184599047842496040142083297420381608181179001739397650931236892006103918650492247105276 1032940170242464037285573654130260129230466867359016378459692190528120192827524282142067816374381660546519615135000380892290144230662778354829599684394237789062332638672124893952203627171831202004031369122018278861425278121409960070654909830320970062913295404809031895194430594427077474358053238885987359414872419308960531382373512145230405715252591507082992643791990178287256790461468032938751574584539738224321183575278018752612464962371063578254401346820393838194366886920360142422714829733096098301630791346036223379880885161251064129083897670217091943590698151745770729244407382872340308081027792298573263738228911152130001804761345683878840284510606970354365139912802274567557185064011474795222503147480476607872257660561555698472891062028668023489904275120440643079570661942539327450936282447380773495663192405354640366985176086555079090358830270551152074109458006297227069331184227442134238648474150309229417477257562847452793079486716849157087966526201645640367809976908809327982953417626109692761122566225015103807824064910159141865411858877238613498155057803905838333577005017089907063744188414173798495473097959280486304563558473919774543580253943153775727022929408356046848144483620812946306069191002564213442694796488421912969155128826301178552471616986884092127041520616500794553338499082369340654062486915452638964047646737806408297418843425718707317700929652990975802299732890174766919059331936400507278734754634146604221680438830806709268398920800376854439658090854304374998426641446692187223216984086350481356573083056116406491250830552144265544133557935094900558147777997480304273702416930485783876814258441285021714913259060173075233647867383112465479657605091865118565489876928090063118980756427004127898759154940889858732908407481916869985685776634739539833222477802414791308095042219049000923490244781798159632623938836284862232858830793952659381320857267825651228007976834217106551002954674913438528794236425603880906294948558268188959228485577712217904678633696693629967490589552891070392775299871048395584333967820838470405959769789756516240296635404708099840822780328907165534674538318169067831960251049162100700187561976671513725797559915803894552895200785937041059347989262032439875328209634720956619703394495891179369956292474408628496884059957334863021944781184979855751714481666261269542017664886858304351206750834750404558725279108381926095456281740940482370010919912230221829636067995455012363247470753471906687553516361824696892386577544640546098816606248140731313626193353554717823323288922788447442874537887887013228492156151005811740938314360342514736302593108421265370620760341698888597154098054720439111768554878900336126858676794179288276040128231858886302652753388850755723335366935089070965325997134226085667974996926029676540821539711402251748118814455067130541496790523608861336661421015518596950268903388327928098399482925410575422406606326628063807109786982852816937163775964905974359937218027943457004607515079820243101938613224867199120696182918895484512322799871699819141535042529331069806766989514631339692541499130108205953310106231988872516899558545030976297255517627916057897191820542738450256933742071934765022452652843878168876521083565309568330173957697712675173103902365491124938979134306235874827468732078014290714728699025982889366937796350870071165609109964707479662984894771572190907019812748544474482408097721682364909707223220424168370758784514985958118802250341197639463660708128323534087860831858932159766597733957282464273891249062543256815812720574257371294953586530476248644013117636495797748551163793770794522312164454801796593071424061357889161036159407777462161021275778252501123 1671332303797409525364150086364858085645247406925927822283810787316270351592725235839824818961931317509227472834027627915963105832121957412160449096647452772074598282948882283638213451442245397450661004501835938785011821758790472365919636814968605134832118562008231351725427489424078373266103665457827661913752521422891394452227495671737924597776049576946929526328616533317624502314126411820446922933383334739808482149474525932132917692570871354019841758618365224389173725946249526401562452658026876462458906472035152700118438226786580364524952269924404312490558483445645975093005345918120094341711831567828358613846700738087832013391568039329231861101875175461626216171173209801434407274062751467791071777665911486043634225176544710205357136984278910823636130403072164947991936752989040011526570222602631884707179718973736986280874844985483288099806413879319350814273716325088933066512948644159999251300430660677765499995493798897087496119052687056533628966592037423992534574951614561933215313995490417096635270920472516154885479423600789350619999455863579511125777151842857635252148039512468871300018175409897909880251832764660871789865118661871651285966698146902000323959748919849978947874979612626940118390252122747421438075077576928402230035004249684462731282796319448203036604010566572157969170872997798218697796725795290749576312332259237351685173565647433504427823639985326596763972481554262013638593516362683781179089571722605560543842903808597796675876724861662801536184560208342781195537012158795295945261213419056496301790461848293690267159469220319091048263286246006995775724603494991018090209872517083089017586566251831539612260506188512558305125761718713693082301200760865348939316199164928553263888680345612470232316101701653949368415340244060171462428670380646613625118238050381009923757366656128553343675696856497481352663267953255570931920133625182431772663273019861069101736012523074625038876058242820950639825966295184979763062099854264723868472565406378041163092130829814717022075511436577538826921553232706514395578071469788296706410423852606840967584305452866958912077227422184218813104770578881268563854624015163798257070320154221325136693097312383141837657519067631586537946796323371825667822643169745550911667252020041419810953232189231863545765809449066350513743209061869146806541106551187478618732029045588733319590934857141016082845981881117293437456942888101856177299923631753571637659269418635797966261344437118200445367402145203141787598384997341354545304552889430009376153565499647561380103548328445654571243989789877802489508564611018587996884920533018530734678259324029387149145242280063550560297857345872210118910986158654405244261156446307025480798816002656949961090902938582897932179748781324857275986325316594569139162507802215393139386774337459452929749198687003583952557933581428331529235108366768004210255647568474498414321273494791324443194203394258208144014609531503473897988295020031000847613992231938282692414529507796926919288220970866039243134197267486322287441745226634688172506686829880691998360788708369159716095380982420466184338425399288956303138891250771718357239081701503340355679075754701789025065728867863325648238521660093667468131170956740466893085443813461882511281459342796511117260971070015759967797332719571447755432061305201330041833704164803059725316965118947201103746118644150659144546598779608830442019761120326028767593764498951705422922512634121641218041967711085542606424256795770575018374017289244120344430548762999161632693581889381572808657891183012278623937504978806854295255849881488311187348392818637018352306538099216974679605240359628558687090644669468264939926270499606399 2704272474039873562649723740495118214875714274284944200743502977844390544420249517981892635336312978055747087969028008808253250062784735766990048781041690561136930921621007177590417078614076599454692373623854217646437099880200432436574546645289575197745413966817263246919858083851155847624156904343815021328624940731851925834601007816968330313028641084029922170120606711604881292775594444759198497517923072964129665724752544684745382654941934932274243105438759062583540612866609668824277282391122974764089697818071376079999323388037644493608849940141496256081256635191416704337412728790460402422739623866401622352075611890217833818152913723208072145612482145815991356083975484368991592338074226263013574925146388093915891885738100408678248199012946934313540405523512808027562598695528367462462852669983405380370372124328377353266050931540562378458636684430471424923731722622316002397697176086294237899774580969907182977253056646349880575605769536213621595492793683064360344551860423889916168731621600109857757837145487619962709544333759931216031858333102193009280834955748695968829153056602375935044206589583696405353349792045147176353423592581646194866220641300677727346889157275896827092358600425573246187581254686960864132871565998841371385163830550863015202899783203540330078124627067366711307669955367138872760283641247929713623959070065645649104016991366140822128753292976302399063705371729028932697925452763191059913844205869209782224281734615307065074797525238517241194275414512717779622178458850982519162245299769537852874873517964700181517990021364584635181821221340907553923502600975295291792626803002866965831845007536853254525519566361587791952993144831179172739906292625983914429193127254991672244645107349740368991471042591512682276822822160930157148205305120186446847596040465172318018799585705129476833920478654657113976602104238117803790750927577841813093520540845512297109712846740181176041830733156259479434062391899065886058010658122453683096958143118595945841725827523444684512665064327647931602221424281102098729545892308258702666180213609123081264219710160966799734857556329349753487643088747949100524105673177264498444632296825735050934253013116277694732858305004672645885936058355811700996032277890702170615061747911220789767245706597860360429825766783929372458524394041724898521022772812457020636396915903893084526341769607545574808125090263043388893738683828584226188219835861975401273727264873648161213732097909024887998883763969900034174175929637887453361910801030161323002346919054365384703392471116893097445781877676891030981664715616830328935199280875533267037271367745294757769905583978952147714395912066311321887465865058990532102937950625595301520927047861543252613844291789338621267546683870395822601983459542680237114159433831891933960926485739711201048563653754134125449348457190289668190656123885364954479159035896402596813804198905366746849800530022322015253801592384320411061764259926005360784832020175395287299929609328040028857901445838065159939317116162970834610241616926453829707549216160950498765350303339708852257594511090626419494444657388161473202697436281748015612756709617561237547499618493152045958807800802628348100891365538262543989214736266308797067043141526137055615183824833921450096395277305890587436529410733862162484131087288090696979630055034874225334426929826426864088640890216341566164359347324083312850117482802690938474816984923120076181707027620079760020292308908725006267132385119304662879205876221403886942164506045463435523942644432638388621378465440383573577524035455055498308373486377286059738512186589431540664470992901013567751029301717517719723250052446930425961202048752107522 4375604777837283088013873826859976300520961681210872023027313765160660896012974753821717454298244295564974560803055636724216355894906693179150497877689143333211529204569889461228630530056321996905353378125690156431448921638990904802494183460258180332577532528825494598645285573275234220890260569801642683242377462154743320286828503488706254910804690660976851696449223244922505795089720856579645420451306407703938147874227070616878300347512806286294084864057124286972714338812859195225839735049149851226548604290106528780117761614824224858133802210065900568571815118637062679430418074708580496764451455434229980965922312628305665831544481762537304006714357321277617572255148694170425999612136977730804646702812299579959526110914645118883605335997225845137176535926584972975554535448517407473989422892586037265077551843302114339546925776526045666558443098309790775738005438947404935464210124730454237151075011630584948477248550445246968071724822223270155224459385720488352879126812038451849384045617090526954393108065960136117595023757360720566651857788965772520406612107591553604081301096114844806344224764993594315233601624809808048143288711243517846152187339447579727670848906195746806040233580038200186305971506809708285570946643575769773615198834800547477934182579522988533114728637633938869276840828364937091458080367043220463200271402324883000789190557013574326556576932961628995827677853283290946336518969125874841092933777591815342768124638423904861750674250100180042730459974721060560817715471009777815107506513188594349176663979812993871785149490584903726230084507586914549699227204470286309882836675519950054849431573788684794137780072550100350258118906549892865822207493386849263368509326419920225508533787695352839223787144293166631645238162404990328610633975500833060472714278515553327942556952361258030177596175511154595329265372191373374722671061203024244866183813865373366211448859263255801080706791399080430073888358194250865821072757976718406965430708524973987004817958353259401534740575764225470429142977513808613125123963778046999372590637461729922231804015613833758646934783751533972300747859326830369087960297192428296701702616979956376070946110428660836570515824072304232423882854679183526663854921060447721526728999931262209578198938787092223975591576232995722972267603103594045327563879363644499255128944949481817845932704464686590890971072144160682331195626716686082365519759493728972911386534292283959179993442346143088444251166115103175961774314635228807907215353919591332378500484554012946083496019445338752017025867466768833471173280227848916932084201408551797771949627069324144919050826259015698274693769412183532006376851217644937347199107071902327001725863864200202574935194727921519199726432651720679877969784859274806253321941634107327100313260077170653978312852441137709401906390771717999719891232252132958689414683464877095228125472400158071292994733416580223397816201915823884959752554946036361632446012407333569992344138835836955777189666808931199182451313430457156897683362153088517880055902990831190763711092048078011973689892073046885678783082787450429505836327532519733969995791319064577903178694247853834983873529670491673749129887198356211457345907223049263960128585339598938126465284176717961213656248375906347404326743453433610239563148593292027021463759199677285059743894945374065192387008860492225308905946103692143292137243923016967242410749422071781604629540254201401238334276619810548873556641915075237897579893510648007286595054808462597156636226322019961430036356623395852201461540433862352603629336258774370925860579408068559016777531000230542430634542077146278410340697116398690901128319251713921 7079877251877156650663597567355094515396675955495816223770816743005051440433224271803610089634557273620721648772083645532469605957691428946140546658730833894348460126190896638819047608670398596360045751749544374077886021519191337239068730105547755530322946495642757845565143657126390068514417474145457704571002402886595246121429511305674585223833331745006773866569829956527387087865315301338843917969229480668067813598979615301623683002454741218568327969495883349556254951679468864050117017440272825990638302108177904860117085002861869351742652150207396824653071753828479383767830803499040899187191079300631603317997924518523499649697395485745376152326839467093608928339124178539417591950211203993818221627958687673875417996652745527561853535010172779450716941450097781003117134144045774936452275562569442645447923967630491692812976708066608045017079782740262200661737161569720937861907300816748475050849592600492131454501607091596848647330591759483776819952179403552713223678672462341765552777238690636812150945211447756080304568091120651782683716122067965529687447063340249572910454152717220741388431354577290720586951416854955224496712303825164041018407980748257455017738063471643633132592180463773432493552761496669149703818209574611145000362665351410493137082362726528863192853264701305580584510783732075964218364008291150176824230472390528649893207548379715148685330225937931394891383225012319879034444421889065901006777983461025124992406373039211926825471775338697283924735389233778340439893929860760334269751812958132202051537497777694053303139511949488361411905728927822103622729805445581601675463478522817020681276581325538048663299638911688142211112051381072038562113786012833177797702453674911897753178895045093208215258186884679313922060984565920485758839280621019507320310318980725645961356538066387507011516654165811709305867476429491178513421988780866057959704354710885663321161706003436977122537524555339909507950750093316751879083416099172090062388851643569932846543785876704086047405640091873402031364401794910711854669856086305702038770851070853003496023725774800558381792340080883725788390948074779469612065970369692795146334913805691427005199123544938531303374129076976878309818913034995227659887198951149892141790747842482999345444645384952584405417343016925095430791997145318943848586652176101519891525860853374902372274474072232165699096162407204071224934310545270308553739595355704374185113799165932120393725540255167976443134930085003210135950244273116261269126154949752655380847403608378330786888490562231849462807745143659864452837995844679245867283482284085064809220994814618902688956410237967845989089681478494853893842716276635469450137057697497628522652911725743455188779486517260140467273116522116502479953244401955043367481375465999261061239745816881855026876506195271834851254847962007667910547356137497913168573719361279692041929671305524818142795263438902238651617794300144296021516814872041722417278032582728857292273748163876984635091112646996359121768429593427991507924979079542347587605119151781689529061395387786864231284403163673305173227740175611902708533763814267749582752500936625815450678312741005880942681330473120021850021252736618755446560643489358061027171726865735993741649109010639411310051525681796934840856154187295772723694235881382724001093814234551510394170824771800929281027899076833791473265293427775456142254726725707905717227734345191857786336567874281161258626585528535555140689027034379900776785769732051894228759560853926032680578870754658350051414822063779425778985575888917850912002822636060430664372765997500099681248523901244110181663843794663998133590749563329116862330368003821443 11455482029714439738677471394215070815917637636706688246798130508165712336446199025625327543932801569185696209575139282256685961852598122125291044536419977227559989330760786100047678138726720593265399129875234530509334943158182242041562913565805935862900479024468252444210429230401624289404678043947100387813379865041338566408258014794380840134638022405983625563019053201449892882955036157918489338420535888372005961473206685918501983349967547504862412833553007636528969290492328059275956752489422677217186906398284433640234846617686094209876454360273297393224886872465542063198248878207621395951642534734861584283920237146829165481241877248282680159041196788371226500594272872709843591562348181724622868330770987253834944107567390646445458871007398624587893477376682753978671669592563182410441698455155479910525475810932606032359902484592653711575522881050052976399742600517125873326117425547202712201924604231077079931750157536843816719055413982753932044411565124041066102805484500793614936822855781163766544053277407892197899591848481372349335573911033738050094059170931803176991755248832065547732656119570885035820553041664763272640001015068681887170595320195837182688586969667390439172825760501973618799524268306377435274764853150380918615561500151957971071264942249517396307581902335244449861351612097013055676444375334370640024501874715411650682398105393289475241907158899560390719061078295610825370963391014940742099711761052840467760531011463116788576146025438877326655195363954838901257609400870538149377258326146726551228201477590687925088289002534392087641990236514736653321957009915867911558300154042767075530708155114222842801079711461788492469230957930964904384321279399682441166211780094832123261712682740446047439045331177845945567299146970910814369473256121852567793024597496278973903913490427645537189112829676966304635132848620864553236093049983890302825888168576259029532610565266692778203244315954420339581839108287567617700156174075890497027819560168543919851361744229963487582146215856098872460507379308719324979793819864352701411361488532582925727827741388634317028727123832417698089138807401609838700026267562121091848037530785647803076145233973599367873889953149281110733701767714178754323742120011597613668519747773745208923643584172044808381008919249920818403059600248912989176150531539746019146654805802856720218207178536918756590067234551364753556129937261956390919259354849433347096500333458216079573718982601311064887386096200106386097724558908345069176341508869343987759347888162391276870384510007570601479833612610428697924011276072528162799367683692636862581170621883943047608007236496983544263783450890678385900219567494280406797336164769399955524378775589943657763714681245181659666999549173837182357923029261229849620803317100106588161553005894052509005189358636409544253161238733725667630438588389630871857988402826156787270055143705682889435789996855482462049433996215968180981269369818078084049724044990062427284617886999713940412280779455927558304219743023885148405608341232630865467661022142612880292772487435864876204974295236720190852010822963062332214370091346787483552748292255690393353857006988859715926554860143611695599151139934974966903906550712407324987300312205334931868114393187357372523707774057703282245182897640729382963257384474674751022557573434228795453914719717174994473414907937326016782171239531467599434391970648724872959638483767263639390966108128482562496960862148346104014245668949455138674365663242699901515354615662388629837215097076678311481451178687175277980447116322780203515632158894834801590233345405568658698026054901474652612298385871810276543931446679727807763458687255535364 18535359281591596389341068961570165331314313592202504470568947251170763776879423297428937633567358842806417858347222927789155567810289551071431591195150811121908449456951682738866725747397119189625444881624778904587220964677373579280631643671353691393223425520111010289775572887528014357919095518092558092384382267927933812529687526100055425358471354150990399429588883157977279970820351459257333256389765369040073775072186301220125666352422288723430740803048890986085224242171796923326073769929695503207825208506462338500351931620547963561619106510480694217877958626294021446966079681706662295138833614035493187601918161665352665130939272734028056311368036255464835428933397051249261183512559385718441089958729674927710362104220136174007312406017571404038610418826780534981788803736608957346893974017724922555973399778563097725172879192659261756592602663790315177061479762086846811188024726363951187252774196831569211386251764628440665366386005742237708864363744527593779326484156963135380489600094471800578694998488855648278204159939602024132019290033101703579781506234272052749902209401549286289121087474148175756407504458519718497136713318893845928189003300944094637706325033139034072305417940965747051293077029803046584978583062724992063615924165503368464208347304976046259500435167036550030445862395829089019894808383625520816848732347105940300575605653773004623927237384837491785610444303307930704405407812904006643106489744513865592752937384502328715401617800777574610579930753188617241697503330731298483647010139104858753279738975368381978391428514483880449053895965442558756944686815361449513233763632565584096211984736439760891464379350373476634680343009312036942946435065412515618963914233769744021014891577785539255654303518062525259489360131536831300128312536742872075113334916477004619865270028494033044200629483842778013941000325050355731749515038764756360785592523287144692853772271270129755325781840509760249089789858380884369579239590175062587090208411812113852697905530106667573629551855947972274491871781103630036834463675950658403450132339603435929223851467163434875410519463913301423877529755476389308312092237931813886994372444591339230081344357518537899177264082226257989043520680749173981983629318962747505810310495616228208269088229556997392786426262266845913833851597394231933024737183715847539038180666656231622590481652609150922289163396958568824781064247807226699472998950205137721281614132624148199967444522856479041330521026285109596233674803181461330445467663819096643140195291770769607657273000569802450942641357754088562376849271917207408666651165976721927390391616698561950296963646734951390252873132369173239794062283770915876247473222466897584047031687315687112952494167762441800134272665695953684837876273663184892988284692566105849222792751710934364032065864831681379104416086695733335540985944527128785026562122187436479311984815011207707578585260294384700701051790516112477002786184690119806467002077572791284576891635163590925047371892102923917425988172617313139913533320312173213055266141294394569821833882823651740436258698400393496025238563138674234922903855161055233135500793192316208804535319729865596869236190616731717449172392671593722350467194201765386014472039071070925609763502197996783833759299739500217086039051828025155686951620356057475023651387668780305848085544488975923754442807014159808255436532959243055576646697374432778676866218112455497177302676002763723755587447676881659154934695983835039451151432974751795744114176516314662517793967831336661532866000750954703759432692211698054427634981530895232254606111403068758379274578802718762793962229666474274677522196243056924625789055259356807 29990841311306036128018540355785236147231951228909192717367077759336476113325622323054265177500160411992114067922362210045841529662887673196722635731570788349468438787712468838914403886123839782890844011500013435096555907835555821322194557237159627256123904544579262733986002117929638647323773562039658480197762132969272378937945540894436265493109376556974024992607936359427172853775387617175822594810301257412079736545392987138627649702389836228293153636601898622614193532664124982602030522419118180425012114904746772140586778238234057771495560870753991611102845498759563510164328559914283691090476148770354771885838398812181830612181149982310736470409233043836061929527669923959104775074907567443063958289500662181545306211787526820452771277024970028626503896203463288960460473329172139757335672472880402466498875589495703757532781677251915468168125544840368153461222362603972684514142151911153899454698801062646291318001922165284482085441419724991640908775309651634845429289641463928995426422950252964345239051766263540476103751788083396481354863944135441629875565405203855926893964650381351836853743593719060792228057500184481769776714333962527815359598621139931820394912002806424511478243701467720670092601298109424020253347915875372982231485665655326435279612247225563655808017069371794480307214007926102075571252758959891456873234221821351951258003759166294099169144543737052176329505381603541529776371203918947385206201505566706060513468395965445503977763826216451937235126117143456142955112731601836633024268465251585304507940452959069903479717517018272536695886201957295410266643825277317424792063786608351171742692891553983734265459061835265127149573967243001847330756344812198060130126013864576144276604260525985303093348849240371205056659278507742114497785792864724642906359513973283593769183518921678581389742313519744318576133173671220284985608088748646663611480691863403722386382836536822533529026156464180588671628966668451987279395764250953084118027971980657772549267274336631061211698071804071146952379160412349361814257495815011104861493828136018854951679208552069192439246587745719121966668562877999147012118505493934978842409975376987033157489591492137267051154035375539099777222448463352736307371438974345119478830243389973417192731813729042201167435181516766732236911197643144922200887715255593558184835472459088342808688831146069678879230631509933578337194185069183090392258305054571068378114466082364279541163505457790106217907122485215982331399362089806399621809172688440630899543179933160884527657510577373052422474970364517260300860547989735571466018849669358789971562238582504997904970883231934934516656583259851625694281851265196283044809387236297539571410462905630770716208849007623459801272214869790867195799302924414742609088009666212437384345757604986873037255223468090923357577325429459003171424532916759656884550525013593266582039958716890597014375257149867162750485786732080657984055554508197890516726122562853711861509522163304865459652671558851475730207915641198288319141661544804078522927163437007450114606370259516616641232993637113686877249386101736567137273946507842716688249085448006602158392326718725312795791050760343413048323532606568689254373744914172711001772351276405857477877895385354156357467073797203499331221949468754538650209004830732226046208961103009101302000264206150918227857714951485825037607772490710655011038668023157651636504701879719136568268784131246286252548309825227763169180364933290178125517096217451697259468792178703292355009064908014973014317179438129981739879808534478257943267140425730033844839456808637417077300633704193415406260615538284551221453642922784732389247742514892171 48526200592897632517359609317355401478546264821111697187936025010507239890205045620483202811067519254798531926269585137834997097473177224268154226926721599471376888244664151577781129633520958972516288893124792339683776872512929400602826200908513318649347330064690273023761575005457653005242869080132216572582144400897206191467633066994491690851580730707964424422196819517404452824595739076433155851200066626452153511617579288358753316054812124951723894439650789608699417774835921905928104292348813683632837323411209110640938709858782021333114667381234685828980804125053584957130408241620945986229309762805847959487756560477534495743120422716338792781777269299300897358461066975208365958587466953161505048248230337109255668316007662994460083683042541432665114315030243823942249277065781097104229646490605325022472275368058801482705660869911177224760728208630683330522702124690819495702166878275105086707472997894215502704253686793725147451827425467229349773139054179228624755773798427064375916023044724764923934050255119188754307911727685420613374153977237145209657071639475908676796174051930638125974831067867236548635561958704200266913427652856373743548601922084026458101237035945458583783661642433467721385678327912470605231930978600365045847409831158694899487959552201609915308452236408344510753076403755191095466061142585412273721966568927292251833609412939298723096381928574543961939949684911472234181779016822954028312691250080571653266405780467774219379381626994026547815056870332073384652616062333135116671278604356444057787679428327451881871146031502152985749782167399854167211330640638766938025827419173935267954677627993744625729838412208741761829916976555038790277191410224713679094040247634320165291495838311524558747652367302896464546019410044573414626098329607596718019694430450288213634453547415711625590371797362522332517133498721576016735123127513403024397073215150548415240155107806952288854807996973940837761418825049336356858635354426015671208236383792771625247172804443298634841249927752043421444250941515979398648721171765669508311626167739454784175530675715504067849766051659020545844198318354388455324210743425748865836782419968326263238833949010675166228418117601797088820743129212526718291000757937092625289140739006201625461820043286039593953861443783612646070762795037376855225624898971441097223016139115319965399170483755220601168394028468502403118258432876409789865257255259708789659728598706512479508608028314269147548428148770325578565074165271267730067276836507537274039738471703930492184930511147175503365116328118605822677709819906942980132670015646080717361953855281066948201934529966886324769529715629024865488344135036112159292282609703195123618442150221317883668703016770065259935544880565744552033675576587599635597372702232318286607138509315921237069321088299772302461993412125192338712410477443888441911112647201029745894024773728098304592960517444251863451537577248193134986841739198317696983728200135644996438401157326895790507024563661775393156196088258511428232674981856977291578193304731402019936440253083168357077491692037507182902487949240410802060177801668897949823749878640322810962927646448590909665027241377075130497495925278162411604840939115938097016244390347476783087641397583350940191226373536703716417261001296779694337160625186789701069860348771789407150085808695126841982300521965645633293044305449953710587685365397590430313370919992174633745571460134010010008135757502109422324115060917125217576668529192203493003582968695017954872803032739351634547183180189084685499312500746176312370902121956625266099445568211706175456575212506912178200222845204758825898975839165841657015036797774248978 78517041904203668645378149673140637625778216050020889905303102769843716003530667943537467988567679666790645994191947347880838627136064897464876862658292387820845327032376620416695533519644798755407132904624805774780332780348485221925020758145672945905471234609269535757747577123387291652566642642171875052779906533866478570405578607888927956344690107264938449414804755876831625678371126693608978446010367883864233248162972275497380965757201961180017048076252688231313611307500046888530134814767931864057849438315955882781525488097016079104610228251988677440083649623813148467294736801535229677319785911576202731373594959289716326355301572698649529252186502343136959287988736899167470733662374520604569006537730999290800974527795189814912854960067511461291618211233707112902709750394953236861565318963485727488971150957554505240238442547163092692928853753471051483983924487294792180216309030186258986162171798956861794022255608959009629537268845192220990681914363830863470185063439890993371342445994977729269173102021382729230411663515768817094729017921372586839532637044679764603690138702311989962828574661586297340863619458888682036690141986818901558908200543223958278496149038751883095261905343901188391478279626021894625485278894475738028078895496814021334767571799427173571116469305780138991060290411681293171037313901545303730595200790748644203091613172105592822265526472311596138269455066515013763958150220741901413518892755647277713779874176433219723357145453210478485050182987475529527607728793934971749695547069608029362295619881286521785350863548520425522445668369357149577477974465916084362817891205782286439697370519547728359995297474044006888979490943798040637607947755036911739224166261498896309568100098837509861841001216543267669602678688552315529123884122472321360926053944423571807403637066337390206980114110882266651093266672392796301720731216262049688008553907013952137626537944343774822383834153438121426433047791717788344138031118676968755326264355773429397796440078779929696052947999556114568396630101928328760462978667580680613173119995875473639127209884267573260289012639404739667810866881232387602336329248919683844679192395345313296396323540502812433279572152977336188597965577675879454598372196911437744767970982396175042654551857015081795121296625300379378307673992680521777426512614227034655407851611574408308207859314901290280047624659978435981455452617945592880257515560314279858037843064788876759049771533772059253766335271255541560896473527361074129689086009195977904939281651637091376712588021724548555787591298483123082978570367896678551598688865315439507333516093863571946106905413198821259286186298888876491182625986301308442337091996939492663189852613126948654384911865777688719736817095435535419229474879512014378206460711898530723991484266920908110106576311767863225819570737554651341883835010360648098795663172214623012476064732444988901607335774594119026202023363980273792970897293706515587500454322698498708299910679490200655966677235220626868886404003899709716551816643401781370101120468168409470051046623342684973718724685674620869779737335342147369197451748176740666511998964088329413121319973167316222460818292137418543545819457884731100859214684030110808018016741623882640565519292968705096548693447333907215748482950765534232987369630017521927116069309874798508452086072901277760210158236917131458330652077940664365598724033420748081949875621871893770313840244265256296260684067327337185493295425850415395702185625409655190263051760873721247227812097647366607561500359627214667239192309280654570314169262382355299944285025020343592533875846211105593606483460743043377120429482088626389404284540289141149 127043242497101301162737758990496039104324480871132587093239127780350955893735713564020670799635198921589177920461532485715835724609242121733031089585013987292222215277040771994476663153165757727923421797749598114464109652861414622527846959054186264554818564673959808781509152128844944657809511722304091625362050934763684761873211674883419647196270837972902873837001575394236078502966865770042134297210434510316386759780551563856134281812014086131740942515903477840013029082335968794458239107116745547690686761727164993422464197955798100437724895633223363269064453748866733424425145043156175663549095674382050690861351519767250822098421995414988322033963771642437856646449803874375836692249841473766074054785961336400056642843802852809372938643110052893956732526263950936844959027460734333965794965454091052511443426325613306722944103417074269917689581962101734814506626611985611675918475908461364072869644796851077296726509295752734776989096270659450340455053418010092094940837238318057747258469039702494193107152276501917984719575243454237708103171898609732049189708684155673280486312754242628088803405729453533889499181417592882303603569639675275302456802465307984736597386074697341679045566986334656112863957953934365230717209873076103073926305327972716234255531351628783486424921542188483501813366815436484266503375044130716004317167359675936454925222585044891545361908400886140100209404751426485998139929237564855441831584005727849367046279956900993942736527080204505032865239857807602912260344856268106866366825673964473420083299309613973667222009580022578508195450536757003744689305106554851300843718624956221707652048147541472985725135886252748650809407920353079427885139165261625418318206509133216474859595937149034420588653583846164134148698098596888943749982452079918078945748374873860021038090613753101832570485908244788983610400171114372318455854343775452712405627122164500552866693052150727111238642150412062264194466616767124700996666473102984426534500739566201023043612883223228330894197927308157989840881043444308159111699839346350121484746163614928423302740559983077328138778691063760213655065199586776057660539992345432710515974815313639559635157489513487599507990270579133277418708706888406172889372954848530370057111721402376668116371900301121389075158069083992024378436787717898632652137513198475752630867750689728273607029798656510881216018688446938384573711050822002670122772815573988647697571663495389238558379562086328401314763420025867139461547692632341859756362845703515178979020123341021868897518532871724059152707626601728905656280187803621531731358880961520224695469949144638894308839943165707584055716014517901356670970121337420601629374606642687786808294763348266538053614882547753979672361976001279971263150456099614013803833414130849010598622776236829347175897400067635528281564149679843680596245487804536540706775819415652758370089506173087206200296292038370889653560941228466927957739032904833284484182522834143704738311836817096446473701798882402262042600092158221144784491625258758661679313772899811489987486876425853330796216377712128052682225284582558171257629549845638616335748842728652224084247619615907132125845533514493674043315383162893512464055623146048905034261131971359423653160690552056036739919820870610932165743952062313927324530255204311628185929658646587915602171881596404602192458758882777091623696383390618076186409398818338512263246541864068404059411704399266306268819824829446607817410486767540613278854154601858683266634729568739202100615130386718242108683539816299352738504810026830882685071384338980566043730593232049767990451058718017771806706305947802203019405321254468046419321338063390127 205560284401304969808115908663636676730102696921153476998542230550194671897266381507558138788202878588379823914653479833596674351745307019197907952243306375113067542309417392411172196672810556483330554702374403889244442433209899844452867717199859210460289799283229344539256729252232236310376154364475966678141957468630163332278790282772347603540960945237841323251806331271067704181337992463651112743220802394180620007943523839353515247569216047311757990592156166071326640389836015682988373921884677411748536200043120876203989686052814179542335123885212040709148103372679881891719881844691405340868881585958253422234946479056967148453723568113637851286150273985574815934438540773543307425912215994370643061323692335690857617371598042624285793603177564355248350737497658049747668777855687570827360284417576780000414577283167811963182545964237362610618435715572786298490551099280403856134784938647623059031816595807939090748764904711744406526365115851671331136967781840955565125900678209051118600915034680223462280254297884647215131238759223054802832189819982318888722345728835437884176451456554618051631980391039831230362800876481564340293711626494176861365003008531943015093535113449224774307472330235844504342237579956259856202488767551841102005200824786737569023103151055957057541390847968622492873657227117777437540688945676019734912368150424580658016835757150484367627434873197736238478859817941499762098079458306756855350476761375127080826154133334213666093672533414983517915422845283132439868073650203078616062372743572502782378919190900495452572873128543004030641118906114153322167279572470935663661609830738508147349418667089201345720433360296755539788898864151120065493086920298537157542372770632112784427696035986544282429654800389431803751376787149204472873866574552239439871802319297431828441727680090492039550600019127055634703666843507168620176585560037502400414181029178452690493230996494501933622476303850183690627514408484913045134697591779953181860765095339630420840052962003158026947145926864272558237511145372636919574678506927030734657866159490402062429950444250650588427791330468499881465932080819163659996869241265116555195167210658952856031481030016300032787562423556469466016674284564285627487745151759968114825082703798551710770923757316203184196454694384371402686110780398420410078650127425510408038719362264136581814889113557801161263643348425374366029163668767595550380288375888268505735414728284265997608151095858387655081098691281408700358021219993415989445448854899493083918301774978113245610106554596272614940298925084851988634850555700300083330047746276959732028986043008210840415745356364528843341902313406777847853596107638729043966466603582180449998147376475215192438526748325442699409179071436815390492625335611628392010294126029379734590107043157737457282473711835498754101134887234495022480080498165184639502438991630275770846154238618076107807632066632489915855584305208740720928636326611348871984636845532642413038222516307297102440379034103029130929004096057930861336308268660540031780434241068220960038533499768538304514941063386748922461962619924705540455081298022379282847747806816981637205567592783223354586663825651912217589134841047624613323270307176159713052277873595242064218679983520761133288613268204518147914226902827848160311899885221833555301998968521386424054257954497682362402616995799908549954348461331282441785133432239086594213122163735962174373251948664522602529503892156783793310705912617956008981039780011513873529686490442460449328427228034084849670183899443514019977697119307485452999240646721335865988015618252393360524326904929123365413189766690845580139834803343094435823605878352531276 332603526898406270970853667654132715834427177792286064091781358330545627791002095071578809587838077509969001835115012319312510076354549140930939041828320362405289757586458164405648859825976314211253976500124002003708552086071314466980714676254045475015108363957189153320765881381077180968185666086780058303504008403393848094152001957655767250737231783210744197088807906665303782684304858233693247040431236904497006767724075403209649529381230133443498933108059643911339669472171984477446613029001422959439222961770285869626453884008612279980060019518435403978212557121546615316145026887847581004417977260340304113096297998824217970552145563528626173320114045628012672580888344647919144118162057468136717116109653672090914260215400895433658732246287617249205083263761608986592627805316421904793155249871667832511858003608781118686126649381311632528308017677674521112997177711266015532053260847108987131901461392659016387475274200464479183515461386511121671592021199851047660066737916527108865859384074382717655387406574386565199850814002677292510935361718592050937912054412991111164662764210797246140435386120493365119861982294074446643897281266169452163821805473839927751690921188146566453353039316570500617206195533890625086919698640627944175931506152759453803278634502684740543966312390157105994687024042554261704044063989806735739229535510100517112942058342195375912989343274083876338688264569367985760238008695871612297182060767102976447872434090235207608830199613619488550780662703090735352128418506471185482429198417536976202462218500514469119794882708565582538836569442871157066856584679025786964505328455694729855001466814630674331445569246549504190598306784504199493378226085560162575860579279765329259287291973135578703018308384235595937900074885746093416623849026632157518817550694171291849479818293843593872121085927371844618314067014621540938632439903812955112819808151342953243359924048645229044861118454262245954821981025252037746131364064882937608395265834905831443883665845226386357841343854172430548078392188816945078686378346273380856142612323105330485732691004233727916566570021532260095120997280405939717657409233610549265711142025972592415666638519529787632295552694135602743435382991452691800377118106608498484882194425200928378887295657617324573271612763468363427064547568116319042730787640623986160669587112953864855421918912214312042479662036872312750602874719589598220503061191462257153432986391779655236166530657944716056395862111307275839819568912625757849201811700603008262897321898319135114507625087467996674093006551686580894291130743503921615061406627238479956724455992152849734724585299530236427397618327924679204524566228976149645595841210224868236806442139823481730492141630873196679081541047438095361755775791711242405814127540160228745188729819394566804458371111903134282382699036914338703076325985969721180209214811045928529216243744791163314007928358670860805509145246437207648886375359516182156468819368366786117776534353124393548914080832985431392971604188216152006120799893919298693459748013968032450026020376194391635311157441098876975144187904507263711712710847868017899183496649545633861289815212399130486712509359166405891632450224210518125787325930322208618086539005566601487871840674072817170028533089075129080079970854890162087636430140426145183487928627167974339656429836094086964595075754682685641578044844721900517971542831057425106476368705600030578432663653063788908798323716986230401128116399385496622259893934613372556796321220011199651429042358420803091778867439259813372716201929334316335684312031060316432031746211484443128514777963647141137219896072638647783159240124597562482242927216415921403 538163811299711240778969576317769392564529874713439541090323588880740299688268476579136948376040956098348825749768492152909184428099856160128846994071626737518357299895875556816821056498786870694584531202498405892952994519281214311433582393453904685475398163240418497860022610633309417278561820451256024981645965872024011426430792240428114854278192728448585520340614237936371486865642850697344359783652039298677626775667599242563164776950446180755256923700215809982666309862008000160434986950886100371187759161813406745830443570061426459522395143403647444687360660494226497207864908732538986345286858846298557535331244477881185119005869131642264024606264319613587488515326885421462451544074273462507360177433346007781771877586998938057944525849465181604453434001259267036340296583172109475620515534289244612512272580891948930649309195345548995138926453393247307411487728810546419388188045785756610190933277988466955478224039105176223590041826502362793002728988981692003225192638594736159984460299109062941117667660872271212414982052761900347313767551538574369826634400141826549048839215667351864192067366511533196350224783170556010984190992892663629025186808482371870766784456301595791227660511646806345121548433113846884943122187408179785277936706977546191372301737653740697601507703238125728487560681269672039141584752935482755474141903660525097770958894099345860280616778147281612577167124387309485522336088154178369152532537528478103528698588223569421274923872147034472068696085548373867791996492156674264098491571161109478984841137691414964572367755837108586569477688348985310389023864251496722628166938286433238002350885481719875677166002606846259730387205648655319558871313005858699733402952050397442043714988009122122985447963184625027741651451672895297889497715601184396958689353013468723677921545973934085911671685946498900253017733858128709558809025463850457513233989180521405933853155045139730978483594758112429645449495433736950791266061656662890790256030930245461864723718807229544384788489781036703106315903334189581998261056853200411590800478482595732548162641448484378504994361352000759976586929361225103377654278474875665820906309236631545271698119549546087665083115117692072209452057276016977427864863258368466599707277128999480089658219414933527757468067457852734829750658348514739452809437768049496568708306475218001437236808025772113203743305385297687116632038388357193770883349567350525659168401120063921233774681753803103711476960802588684540177590132619173838647260555502501346815623673297248360117731642064269289033305476771432882925981299204221698391454373515439688753442035161060575140330655894765270739520641331457052378162336614878689562307813807048686804589516298696922930668379198639378490720118874910752248401127322870797824421666189608479778836862552304261740844823738633036483833924148833725556406484134905819711653802676204300062397983409239421815560425303350721364729551645948369815011686127531028453456213899428530814756869431690651354459867088460523900608284274082867457108162579838725240182255036253410064553875962929939826098504485625897606150524431969252167792145890397182031244456362615498495382805182353841299173184818318109221585065258142739110596237498368331138816879161843552090520657593578303317146357279647227994197757718010247948330025647978738789927595689360763710687790591769326997692750482594191532393306053182959756676263296511700689490869335992752805915601728311511327827609143014194438822312003452631240933714624886430326007710453660100757469586454887941449051338703327392693899048641801788683552677781652298019761829736836489039104868576264502633085839329493363299074927940656918066533094768452679 870767338198117511749823243971902108398957052505725605182104947211285927479270571650715757963879033608317827584883504472221694504454405301059786035899947099923647057482333721222469916324763184905838507702622407896661546605352528778414297069707950160490506527197607651180788492014386598246747486538036083285149974275417859520582794198083882105015424511659329717429422144601675269549947708931037606824083276203174633543391674645772814306331676314198755856808275453894005979334179984637881599979887523330626982123583692615456897454070038739502455162922082848665573217615773112524009935620386567349704836106638861648427542476705403089558014695170890197926378365241600161096215230069381595662236330930644077293542999679872686137802399833491603258095752798853658517265020876022932924388488531380413670784160912445024130584500730049335435844726860627667234471070921828524484906521812434920241306632865597322834739381125971865699313305640702773557287888873914674321010181543050885259376511263268850319683183445658773055067446657777614832866764577639824702913257166420764546454554817660213501979878149110332502752632026561470086765464630457628088274158833081189008613956211798518475377489742357681013550963376845738754628647737510030041886048807729453868213130305645175580372156425438145474015628282834482247705312226300845628816925289491213371439170625614883900952441541236193606121421365488915855388956677471282574096850049981449714598295581079976571022313804628883754071760653960619476748251464603144124910663145449580920769578646455187303356191929433692162638545674169108314257791856467455880448930522509592672266742127967857352352296350550008611571853395763920985512433159519052249539091418862309263531330162771303002279982257701688466271568860623679551526558641391306121564627816554477506903707640015527401364267777679783792771873870744871331800872750250497441465367663412626053797331864359177213079093784960023344713212374675600271476458988988537397425721545828398651296765151293308607384652455930742629833635209133654394295523006527076947435199473792446943090805701063033895332452718106421560931373533020071707926641631043095311687708486215086617451262604137687364758069075875297378667811827674952887440267469669228241981364976965084589471554200408468545515072550852330739680221321098256815205916631058495540225408673482729377893588171866292658726937986425246222967422169999867234913107946791991386410758812782812601387511843576469941212411747819767872822913895960379997159045244931687849072256105509609712945571616383474625356729532265963126312028458013777217112042708143313452861000753919645477898027313910309864915955425001698137138969256136256902728565591028335158149024031916923611031656122178653422810010071836057572261166313006114004176919034113203638549206349837224967566681946871066199215935641767318866532961063172428632732470104626999920868613722132829278641728200402735823488783974211526873874798083156018701387045643713184922275582266214648591291222556084200268540700073891916872212472490234873577908056499137418699930269004285860090574252157321575137255945584502872750338428939232963880502993758415081214741105908249359785198017581484328011682543984724000854035289468660864897922167820576949225355884728445039962361331666395473345679446354776308074168612608172335584760166074123922277856222857335103367117626685856291592768505165279833110438150775083477728219094353936807165859574936023331238579254792100420126151326129244595566938711388949253500827649238258987122328930464859752186511944875691033227918777963140765410100977976118124367864708841968730051508041221279617553882832223405639852981911968141146458315052538219400309460311184374082 1408931149497828752528792820289671500963486927219165146272428536092026227167539048229852706339919989706666653334651996625130878932554261461188633029971573837442004357378209278039290972823550055600423038905120813789614541124633743089847879463161854845965904690438026149040811102647696015525309306989292108266795940147441870947013586438511996959293617240107915237770036382538046756415590559628381966607735315501852260319059273888335979083282122494954012780508491263876672289196187984798316586930773623701814741285397099361287341024131465199024850306325730293352933878109999609731874844352925553694991694952937419183758786954586588208563883826813154222532642684855187649611542115490844047206310604393151437470976345687654458015389398771549547783945217980458111951266280143059273220971660640856034186318450157057536403165392678979984745040072409622806160924464169135935972635332358854308429352418622207513768017369592927343923352410816926363599114391236707677049999163235054110452015105999428834779982292508599890722728318928990029814919526477987138470464795740790591180854696644209262341195545500974524570119143559757820311548635186468612279267051496710214195422438583669285259833791338148908674062610183190860303061761584394973164073456987514731804920107851836547882109810166135746981718866408562969808386581898339987213569860772246687513342831150712654859846540887096474222899568647101493022513343986956804910185004228350602247135824059183505269610537374050158677943907688432688172833799838470936121402819819713679412340739755934172144493883344398264530394382782755677791946140841777844904313182019232220839205028561205859703237778070425685777574460242023651372718081814838611120852097277562042666483380560213346717267991379824673914234753485651421202978231536689195619280229000951436196256721108739205322910241711765695464457820369645124349534730878960056250490831513870139287786512385765111066234138924691001828307970487105245720971892725939328663487378208719188907327695396755173331103459685475127418323416245836760710198857196109075208492052674204037743569288296795582057973901202484926555292725533780048294856002856146472965966183361880907523760499235682959062877618621962962461782929519747162339497543486646656106844623345431684296748683199888558203734487484380088207747679173833086565864265145797948349663176722979298086200063389867729895534963758538449966272807467686983866951496303985762269760326163308471769788631907497703715894165550923479349783716484644920174749177864105526496332811608010956528569244913631834743088371596535252159617505229446660143093341912365011844315374269359334231340062474970885005246611319766968876659610587593309280890902205907024720456837838965610415621172420875576353478389270475436062981285187916866252578046356984001462970872539445704746403544499175327940060759380400355350366885212006154189138954239532819632522416398337129341039711609642157639049209277562248238604349729104388516398731771244213375731796165643179406048091987774851623000567162352440772820756764317741035016219078976143940112524040539270155128128120251514963354450070128770356488953371202216048295139648812263245985562270864858280580822763838169310855728803042110075620354726803604008518405318945280364172763890288592052881989259973776662825803634423536068366370326182583533090191722102661067783818546695867077805417277625618590461255647874024642831456828266437484895357650448507855350444272016084044494856520411931453978935272258790005761023392401884741761363863145417448336640918519852943981531330578974676970116666468158104000026617919913051417386623621028071269870958116106592987700799670142486067751297634509757389980478876318375993405952826761 2279698487695946264278616064261573609362443979724890751454533483303312154646809619880568464303799023314984480919535501097352573437008666762248419065871520937365651414860542999261760889148313240506261546607743221686276087729986271868262176532869805006456411217635633800221599594662082613772056793527328191551945914422859730467596380636595879064309041751767244955199458527139722025965538268559419573431818591705026893862450948534108793389613798809152768637316766717770678268530367969436198186910661147032441723408980791976744238478201503938527305469247813142018507095725772722255884779973312121044696531059576280832186329431291991298121898521984044420459021050096787810707757345560225642868546935323795514764519345367527144153191798605041151042040970779311770468531301019082206145360149172236447857102611069502560533749893409029320180884799270250473395395535090964460457541854171289228670659051487804836602756750718899209622665716457629137156402280110622351371009344778104995711391617262697685099665475954258663777795765586767644647786291055626963173378052907211355727309251461869475843175423650084857072871775586319290398314099816926240367541210329791403204036394795467803735211281080506589687613573560036599057690409321905003205959505795244185673133238157481723462481966591573892455734494691397452056091894124640832842386786061737900884782001776327538760798982428332667829020990012590408877902300664428087484281854278332051961734119640263481840632851178679042432015668342393307649582051303074080246313482965163260333110318402389359447850075273831956693032928456924786106203932698245300784762112541741813511471770689173717055590074420975694389146313637787572358230514974357663370391188696424351930014710722984649719547973637526362380506322346275100754504790178080501740844856817505913703160428748754732724274509489445479257229694240389995681335603629210553691956199177282765341583844250124288279313232709651025173021182861780845992448351714927866060913099754547587558624460548048481938488112141405870048157051454970415104494380202636152155927252147996484686660093997858615953306353920591348116224099066800120002782644487189568277653891848095994141211761839820646427635687697838259840450741347422115226937810956315884348825988322396768886220237400297026749249560035232418947427900494931343381070181776856443889888585396462027464093651561734022554261901744963696189240229637686851101864604250777753656171084976091284371176143751074173657106577298743247222606630380605300171908223109037214345405067713520566241514816530015309368445101128801215285929533687460437360205384620508325297176375023278979709238089788881194870162566744768667013798579843729566183619467796935359878605861870882534026652828543054229776288399342311493635242451500922980256754965391097205101520078889282929713970226446046394139276695022167674216899846275178582821871424344159819553391030120469958619681439810044893462537993251773775112479147812260407217785777414957398298007378431857827997339314543859051891541267236244357645033229254552614612924275578113562640042793044825130245702380277573090100610395654631643106827382310435179928798133407227344460726668179114218065778840345322497322538272787766110929655644195464468906440573139522229589528648618733632015243320926369250008505249989199844142534982934354919117850357796226583345640041404030970444923043963481910183229760813153857753269607603349915213114452004385315021210019208039415283074111312512351580130261401503385572699734781351138242589013101404404570665571383379605130493476206270007904888894629608923514101004594038037419282095465589758122777912179395724146870533023075782339049663265775656215705033017095718685453717137200843 3688629637193775016807408884551245110325930906944055897726962019395338381814348668110421170643719013021651134254187497722483452369562928223437052095843094774807655772238752277301051861971863296106684585512864035475890628854620014958110055996031659852422315908073659949262410697309778629297366100516620299818741854570301601414609967075107876023602658991875160192969494909677768782381128828187801540039553907206879154181510222422444772472895921304106781417825257981647350557726555954234514773841434770734256464694377891338031579502332969137552155775573543435371440973835772331987759624326237674739688226012513700015945116385878579506685782348797198642991663734951975460319299461051069690074857539716946952235495691055181602168581197376590698825986188759769882419797581162141479366331809813092482043421061226560096936915286088009304925924871679873279556319999260100396430177186530143537100011470110012350370774120311826553546018127274555500755516671347330028421008508013159106163406723262126519879647768462858554500524084515757674462705817533614101643842848648001946908163948106078738184370969151059381642990919146077110709862735003394852646808261826501617399458833379137088995045072418655498361676183743227459360752170906299976370032962782758917478053346009318271344591776757709639437453361099960421864478476022980820055956646833984588398124832927040193620645523315429142051920558659691901900415644651384892394466858506682654208869943699446987110243388552729201109959576030825995822415851141545016367716302784876939745451058158323531592343958618230221223427311239680463898150073540023145689075294560974034350676799250379576758827852491401380166720773879811223730948596789196274491243285973986394596498091283197996436815965017351036294741075831926521957483021714769697360125085818457349899417149857493938047184751201211174721687514610035120030870334508170609942447030691152904629370356635889399345547371634342027001329153348886091713420244440867194724400477963266776465952155944803655269591571826880997466480467700807175814693237398745227364419304822200522430229382294654198011280255123076274671516824600580168297638647343336041243620075209976901664972261075503605490513306319801222302233670867169277566435354442962540455670611667828453182968920600185584952984047519612507155175579668764429946934446922654392239551762119441325550293714951601752449796865503502146155513037105373834968816100554763515925931411139399756140964775658571877373000742849666726572390346865250220346657400973142740841737879321531522770084061443647144111533472725336467445547038916907097503298726532873337141491749292638313940578152263852079875409178064535635890458190431322875464510370002842384599062699709848144442274000963929806129766788612786929698223736688839846509333011748081206564490951428728634460373770945221722079337454402568029567266731487184737011010378583692639185913446518807087960721151419687051101587202529336023351083497541364795734184509186201611673739174597501007403387406531633903514541834398596798417853986018870355647940494657089706580155317085364400400830508397824605063964845724760413463316335681637395977093273056039607706712230449979076346359663109160666633394001590808221005275998922268072914958978458467509953701412509022224068125310186343026671331053623623380210901353260537502650940549518329244413423859950726837522728461241107528773691016461027882396101064431616352698009809654833822876560463480055499327568967832924283034109196673762175578460758173753022984350376964549822019002212301899458074475007536848982581859011296077081618101031211957950470699482089210786194047783137511830739858233822745924825117414563410165973095013495972037061447123090027604 5968328124889721281086024948812818719688374886668946649181495502698650536461158287990989634947518036336635615173722998819836025806571594985685471161714615712173307187099295276562812751120176536612946132120607257162166716584606286826372232528901464858878727125709293749484010291971861243069422894043948491370687768993161331882206347711703755087911700743642405148168953436817490808346667096747221113471372498911906048043961170956553565862509720113259550055142024699418028826256923923670712960752095917766698188103358683314775817980534473076079461244821356577389948069561545054243644404299549795784384757072089980848131445817170570804807680870781243063450684785048763271027056806611295332943404475040742467000015036422708746321772995981631849868027159539081652888328882181223685511691958985328929900523672296062657470665179497038625106809670950123752951715534351064856887719040701432765770670521597817186973530871030725763168683843732184637911918951457952379792017852791264101874798340524824204979313244417117218278319850102525319110492108589241064817220901555213302635473199567948214027546392801144238715862694732396401108176834820321093014349472156293020603495228174604892730256353499162088049289757303264058418442580228204979575992468578003103151186584166799994807073743349283531893187855791357873920570370147621652898343432895722489282906834703367732381444505743761809880941548672282310778317945315812979878748712785014706170604063339710468950876239731408243541975244373219303471997902444619096614029785750040200078561376560712891040194033892062177916460239696605250004354006238268446473837407102715847862148569939553293814417926912377074555867087517598796089179111763553937861634474670410746526512802006182646156363938654877398675247398178201622711987811892850199100969942635963263602577578606248670771459260690656653978917208850425115712205938137381163634403229868435669970954200886013687624860604343993052174350336210666937705868596155795060785313577717814364024576616492852137208079683968286867514637519155777590919187617601381379520346556970197007116889476292512813964586609043667622787740923667380288300421291830525609521273967058072895806184022915324251918148994017639482142684412214591392793373165399278424804496599990225222069189158000482611702233607554844926102603480163695773328004628699510836129440347515903353014387366513335775004058767248465842344753266743060686070680704805541269582102496115491040512140919409646051030107320148409973794996977245855520518565624082179955187142947035052089011598877973662453479978573854137682731476572604367534863504111153381662438668124315917293649816242052733274745571744809304302904256770275052441648129837799777744477668561580730678468926829506984035906055187955098423333466188189762826766087977139178411666011030318011564174343997391268116218614149424735703784166577762363319832881802927852458739304476639277046580402591229731944564125195781109798463562645353625202951970286601159009971746553029358835400726721075492955406083101634841156062887215273422970260864770235203269220198110130189530646532888675397695164575241379392056570143717992072575905891406463266952167438898629093294412138503454483163955932274378574331934931643117732541821399551597989739543230061127755856083368631112712276679836303612823224353436336194892421768790907314555827759063901354757807967651505204589438956920777274181740149370672034966267911124261659219137897770482688094914610643079145436634614239458075265561151160492955104161226939390065954226589667783685279063204968483743118990486747905925686005132202035805995987889981577554800544316825695316907554886728766845821707164167077829185822188800046513067755746900840227228447 9656957762083496297893433833364063830014305793613002546908457522093988918275506956101410805591237049358286749427910496542319478176134523209122523257557710486980962959338047553863864613092039832719630717633471292638057345439226301784482288524933124711301043033782953698746420989281639872366788994560568791189429623563462933296816314786811631111514359735517565341138448346495259590727795924935022653510926406118785202225471393378998338335405641417366331472967282681065379383983479877905227734593530688500954652797736574652807397482867442213631617020394900012761389043397317386231404028625787470524072983084603680864076562203049150311493463219578441706442348520000738731346356267662365023018262014757689419235510727477890348490354193358222548694013348298851535308126463343365164878023768798421411943944733522622754407580465585047930032734542629997032508035533611165253317896227231576302870681991707829537344304991342552316714701971006740138667435622805282408213026360804423208038205063786950724858961012879975772778843934618282993573197926122855166461063750203215249543637147674026952211917361952203620358853613878473511818039569823715945661157733982794638002954061553741981725301425917817586410965941046491517779194751134504955946025431360762020629239930176118266151665520106993171330641216891318295785048846170602472954300079729707077681031667630407926002090029059190951932862107331974212678733589967197872273215571291697360379474007039157456061119628284137444651934820404045299294413753586164112981746088534917139824012434719036422632537992510292399139887550936285713902504079778291592162912701663689882212825369189932870573245779403778454722587861397410019820127708552750212352877760644397141123010893289380642593179903672228434969988474010128144669470833607619896461095028454420613501994728463742608818644011891867828700604723460460235743076272645551773576850260559588574600324557521903086970407975978335079175679489559553029419288840596662255509714055681081140490528772437655792477671255795167864981117986856584766733880855000126606884765861792397529547118858587167011975866864166743897459257748267960456598059939173861650764894042268049797471156283990827857408662300337440704444918083081760670359808519842240965260167211658053675252158078600668196655217655074457433257779059832460203274939075622165228368992109635344678564681081464937527453855632751967988500266303848434521039496805360304785508033907254890796653105695068217928403108062998076700367387324111105740865223025055322696028880826356583611781682939417309597591512046579474150177023611521274632366802837686254999580159873608555607590394394316585354620980922873839938794714960706375317112640207802620129076731261290578822911200830470913842035821976567885353031689924878602673275420988887259618230501981746740198634717768336489838297951603827303733351433309249548056843892181511545097925217923158084134541123742649418995665712398310445821814646142894989998686154795787360621645485727626859842804114127607126858920624936033437954480741201292293325908805264892292975800353427215553931047363397073222300228540087104152470033460053673709971882984679519306559874151129079072370758498166563643830589326275969382552940207642040000614736358530056457249496931473636778080151493941299055303351167357236446604564337689455429924419731456832885072172487761305484645490379966445696967730611793735209622545471736466582620609134071314052960774330946168150413938212046978360917648348654749027736729621251128857184211289767030504048608669995987178521279443491279967973068606917221763086750303067017953938360681059644011330510873478454419385626587000668567631989284492392595988161895060009039792808347963317256051 15625285886973217578979458782176882549702680680281949196089953024792639454736665244092400440538755085694922364601633495362155503982706118194807994419272326199154270146437342830426677364212216369332576849754078549800224062023832588610854521053834589570179770159492247448230431281253501115436211888604517282560117392556624265179022662498515386199426060479159970489307401783312750399074463021682243766982298905030691250269432564335551904197915361530625881528109307380483408210240403801575940695345626606267652840901095257967583215463401915289711078265216256590151337112958862440475048432925337266308457740156693661712208008020219721116301144090359684769893033305049502002373413074273660355961666489798431886235525763900599094812127189339854398562040507837933188196455345524588850389715727783750341844468405818685411878245645082086555139544213580120785459751067962230110205615267933009068641352513305646724317835862373278079883385814738924776579354574263234788005044213595687309913003404311774929838274257297092991057163784720808312683690034712096231278284651758428552179110347241975166239463754753347859074716308610869912926216404644037038675507206139087658606449289728346874455557779416979674460255698349755576197637331362709935522017899938765123780426514342918260958739263456276703223829072682676169705619216318224125852643512625429566963938502333775658383534534802952761813803656004256523457051535283010852151964284076712066550078070378867925011995868015545688193910064777264602766411656030783209595775874284957339902573811279749313672732026402354577056347790632890963906858086016560038636750108766405730074973939129486164387663706316155529278454948915008815909306820316304150214512235314807887649523695295563288749543842327105833645235872188329767381458645500470095562064971090383877104572307069991279590103272582524482679521932310885351455282210782932937211253490428024244571278758407916774595268580322328131350029825770219967125157436752457316295027633398895504515105388930507929685750939763454732495755506012362357653068472601507986405112418762594536664008334879679825940453473210411520246998671935340744898481231004387260286168009326122693277340306906152109326811294355080186587602495296352063153181685241519390064663811648278897321347236601150808357451262629302359360382539996155976602943704321676064498432457151248031579068447978273302457914400000433830845019570591495207110177510165846055090136403370381837165246614477863979433215383146486674162384301356961261383788649137502651216023773391635700793281817390972051071490620433611832908500184125642167230306948839636662018827997924472901240210636369318629366552667683144241698971730981427758760770045602397873554399822871309501380127659977897877941877164522983776365156113068365500041508966026438029896513012064751762809061765727757954516565753252039437135599887011911376676773984439397556664522399797361181121526333879150940229837594091555620278208788248615201638125082388519631617232280656218678204840848682619814326708037668279110543628416565716296169670035127496245020551537345743461693896285748619995393115328483544526603603771665782547788876085982573512041590027708165665170636670018126994545258550347956884875139285157733156557758081654446989040161534764533936234862572411767580031003660849269828917774025650322346188522364147440899931551662660242453458031471650286406687532571009391362694842408501548888520258332973272098672101428856245328548855126123797552262588112824293297880781744083961345438229157096458275198337779672457584484411975023086963555354823147449091882505102823949926250662637198811874827699173771326940513315767514389339153451570221781810350695106522107548555248803544484498 25282243649056713876872892615540946379716986473894951742998410546886628373012172200193811246129992135053209114029543991904474982158840641403930517676830036686135233105775390384290541977304256202052207567387549842438281407463058890395336809578767714281480813193275201146976852270535140987803000883165086073749547016120087198475838977285327017310940420214677535830445850129808009989802258946617266420493225311149476452494903957714550242533321002947992213001076590061548787594223883679481168429939157294768607493698831832620390612946269357503342695285611156602912726156356179826706452461551124736832530723241297342576284570223268871427794607309938126476335381825050240733719769341936025378979928504556121305471036491378489443302481382698076947256053856136784723504581808867954015267739496582171753788413139341308166285826110667134485172278756210117817967786601573395363523511495164585371512034505013476261662140853715830396598087785745664915246790197068517196218070574400110517951208468098725654697235270177068763836007719339091306256887960834951397739348401961643801722747494916002118451381116705551479433569922489343424744255974467752984336664940121882296609403351282088856180859205334797260871221639396247093976832082497214891468043331299527144409666444519036527110404783563269874554470289573994465490668062488826598806943592355136644644970169964183584385624563862143713746665763336230736135785125250208724425179855368409426929552077418025381073115496299683132845844885181309902060825409616947322577521962819874479726586245998785736305270018912646976196235341569176677809362165794851630799662810430095612287799308319419034960909485719933984001042810312418835729434528869054362567389995959205028772534588584943931342723745999334268615224346198457912050929479108089992023159999544804490606567035533733888408747284474392311380126655771345587198358483428484710788103750987612819171603315929819861565676556300663210525709315329772996544446277349119571804741689079976645005634161368163722163422195558622597476873492868947124386949327601634593289878280554992066211127193466846837916320337377155417706256420203301201496541170178248911051062051594172490748496590896979966735473594692520891032520578378112733512990205083760355324831023306332572573505315201819005012668917703759792618161599828616179877882779943841292867424566786592710143749529443210829911770032752401819345285874439929728149674315526150840598170310625272633818352309546081907836323446144563374529771625468067002249011674192825347244904599748219312574964756808281648663002667013085983085523795646916799597109786525891661598987871533028508830605030685903983987533590556984180493686691687803075873410253405018002631131084161888324291328490448811719977699141090869129396846037946968173316929954913697648127014993811491961443779534064247792814517357079343170487033196261459433520666165950942654589740322955445315662650076528569935895549992402001442092854931143605200324279878175880253262718008283078521008954976289746673247332973701717065024369617858009622078475300019789220820904964561297392741259682821842295621655415587696996637063825339492519671860765501880071915741156787238035929134836581770825134584826317339437815346927197733771294116611710904238537093008401312016386356513710822883382171018085716433482111715105752270608253820980325972104039423965727098948411438095983374418144364744600985240314144968131509129392404287325059446432375024395742487067173102158469910936767573321034610402995212818529649518924126962323807007775659636105763855466303054936623961740369212178632808169841903864611343696842823205338572652225746326139902768182956971142736062614377798512590166531147341363596766861740549 40907529536029931455852351397717828929419667154176900939088363571679267827748837444286211686668747220748131478631177487266630486141546759598738512096102362885289503252212733214717219341516472571384784417141628392238505469486891479006191330632602303851660583352767448595207283551788642103239212771769603356309664408676711463654861639783842403510366480693837506319753251913120760388876721968299510187475524216180167702764336522050102146731236364478618094529185897442032195804464287481057109125284783901036260334599927090587973828409671272793053773550827413193064063269315042267181500894476462003140988463397991004288492578243488592544095751400297811246228415130099742736093182416209685734941594994354553191706562255279088538114608572037931345818094363974717911701037154392542865657455224365922095632881545159993578164071755749221040311822969790238603427537669535625473729126763097594440153387018319122985979976716089108476481473600484589691826144771331751984223114787995797827864211872410500584535509527474161754893171504059899618940577995547047629017633053720072353901857842157977284690844871458899338508286231100213337670472379111790023012172146260969955215852641010435730636416984751776935331477337746002670174469413859924826990061231238292268190092958861954788069144047019546577778299362256670635196287278807050724659587104980566211608908672297959242769159098665096475560469419340487259592836660533219576577144139445121493479630147796893306085111364315228821039754949958574504827237065647730532173297837104831819629160057278535049978002045315001553252583132202067641716220251811411669436412919196501342362773247448905199348573192036089513279497759227427651638741349185358512781902231274012916422058283880507220092267588326440102260460218386787679432388124608560087585224970635188367711139342603725167998850557056916794059648588082230938653640694211417647999357241415637063742882074337736636160945136622991341875739141099992963669603714101576888099769322478872149520739550298671651849173135322077329972628998881309482040017800203142579694990699317586602875135528346526663856773810587566937953255092138641946395022401182636171337230060920295184025836897803132076062284889047601077620123073674464796666171890325279745389494834954611469894852551802969813370120180333062151978544139824772156480826484265517357365857023937840741722817977421484132369684432752835650190305445031424935259851825691996895688306713995654470983598924023945887269538829291050048692155926825028263632800323330327998460928373139855013368246574199253699734493287446697815994023979772558966827416735365528323617815869457501410070815667055222613354086258240128422192658422669230834634180299007415876185530907033197825671456150426709597919576305613852905762002151015333673358438920940135678023528005876243724252841299792005747331083110331382607622633083273370810197440150390340211254262722752806496784176410407720876125387586493557062371063719392220401962404960564399884879950288939297199213795824972366487574041011369996175567998034423725918248145335147285465841456501907040854435155968570462291014770744071241523240667597005275067460736851484453583957331184495403701099771506599897819679843376665296322690486212355466927851874693365351227577254543165845952621219086122590463413174678934986262399885740756074616796776185127766872035591086625969552406442909746269781105676935753992347935156553469680397649650737260597158118533803880641071035922299225956022173524880397614332491184739296779875087748081223420599005345555332093690248267441326141900179316563516661270515313272665853790862006334041635080166271825997073266653218535697346310296187632836159608863285273053254889918845570406225047 66189773185086645332725244013258775309136653628071852682086774118565896200761009644480022932798739355801340592660721479171105468300387401002669029772932399571424736357988123599007761318820728773436991984529178234676786876949950369401528140211370018133141396546042649742184135822323783091042213654934689430059211424796798662130700617069169420821306900908515042150199102042928770378678980914916776607968749527329644155259240479764652389264557367426610307530262487503580983398688171160538277555223941195804867828298758923208364441355940630296396468836438569795976789425671222093887953356027586739973519186639288346864777148466757463971890358710235937722563796955149983469812951758145711113921523498910674497177598746657577981417089954736008293074148220111502635205618963260496880925194720948093849421294684501301744449897866416355525484101726000356421395324271109020837252638258262179811665421523332599247642117569804938873079561386230254607072934968400269180441185362395908345815420340509226239232744797651230518729179223398990925197465956381999026756981455681716155624605337073979403142225988164450817941856153589556762414728353579543007348837086382852251825255992292524586817276190086574196202698977142249764151301496357139718458104562537819412599759403380991315179548830582816452332769651830665100686955341295877323466530697335702856253878842262142827154783662527240189307135182676717995728621785783428301002323994813530920409182225214918687158226860614911953885599835139884406888062475264677854750819799924706299355746303277320786283272064227648529448818473771244319525582417606263300236075729626596954650572555768324234309482677756023497280540569539846487368175878054412875349292227233217945194592872465451151434991334325774370875684564585245591483317603716650079608384970179992858317706378137459056407597841531309105439775243853576525851999177639902358787460992403249882914485390267556497726621692923654552401448456429765960214049991450696459904511011558848794526373711666835374012595330880699927449502491750256606426967127804777172984868979872578669086262721813373501773094147964722355659511512341943147891563571360885082388292112514467674774333488700112042797758483740121968652643652052577530179162095409040100714325858260944042468357867004788818382789098036821944596705739653388336358709264209358650233281590724433451866567506864694962281454465505237469535591319471354663409526141218147736286477024620927104801951233570027795105862275435613423221927552293095265881811997523153345705832972888074325943211331007535348397495954459783799079547775419475766424526521891419985216803740990529918901420697741126597341619848797112602686345114357033910507590552412433878816661991195086149962784640875521317897275446704722035158848188962301846675368875853833326150542999687735685696620833856253540145600467410725778109666279534830243718106316341282865844003045708251812446826486936290812020937578895558504463918650535825602286684838740280138142668297222375720222750801262113160821373985071713240592367652281735540326620635167074686662361466468338247176415651392304586636426159658938519877731422344767587132597616986333655873072341282641737028906343181668644814428202982635760505833139553200699145991305076255466114347551567157969007575599833413346795345697020702695881997455861826887405030006108092844139630510591696651354854347842253155523821300498593333175470698437811906779043141547922217564966178905036813522989472328114492084461647970935367101587734509598404737267005350382922812353330991729796012122907629196836803278303885873449148121442507757655473350030884458285504844478222819592793121303880303281438923695450537407375875439584402231282442337267965596 107097302721116576788577595410976604238556320782248753621175137690245164028509847088766234619467486576549472071291898966437735954441934160601407541869034762456714239610200856813724980660337201344821776401670806626915292346436841848407719470843972321984801979898810098337391419374112425194281426426704292786368875833473510125785562256853011824331673381602352548469952353956049530767555702883216286795444273743509811858023577001814754535995793731905228402059448384945613179203152458641595386680508725096841128162898686013796338269765611903089450242387265982989040852694986264361069454250504048743114507650037279351153269726710246056515986110110533748968792212085249726205906134174355396848863118493265227688884161001936666519531698526773939638892242584086220546906656117653039746582649945314015945054176229661295322613969622165576565795924695790595024822861940644646310981765021359774251818808541651722233622094285894047349561034986714844298899079739732021164664300150391706173679632212919726823768254325125392273622350727458890544138043951929046655774614509401788509526463179231956687833070859623350156450142384689770100085200732691333030361009232643822207041108633302960317453693174838351131534176314888252434325770910217064545448165793776111680789852362242946103248692877602363030111069014087335735883242620102928048126117802316269067862787514560102069923942761192336664867604602017205255321458446316647877579468134258652413888812373011811993243338224930140774925354785098458911715299540912408386924117637029538118984906360555855836261274109542650082701401605973311961241802669417674969672488648823098297013345803217229433658055869792113010560038328767274139006917227239771388131194458507230861616651156345958371527258922652214473136144782972033270915705728325210167193609940815181226028845720741184224406448398588225899499423831935807464505639871851320006786818233818886946657367464605293133887566829546645894277187597529758923883653705552273348004280334037720944047113261965507025861768466202777257422131490631566088466984928007919752679859679190165271961398250159900165629867958552289293612766604480585094286585972543521253725522173434762858800170386503244118860043372787723046272766725727042326845333985734319846103820693215555512363210418807758631752909278369884096575249879478160492839535748474876007599138614662274193589385484286179094651138898258073119725896764502779598669377966910144631974783738616581575785550157593973682375401104726663471914083479118123529514612320853481344166761346027929339311457905206789048131989241906481615073571755192034733251943257256948308834619610448031328972236364796349210695706107037241024879003537026264745141770851419849755002192898228283975634240791302230915816851752318574940920850339977635520033807796793969004174071005563979409949462133648259287476683577742108385732299362808201053915546466731623077098265768461058309231002897344011688146325165389115566834982369928046004249089799304680023022618586161672919436546626234479648395414996441709416160365686705461458574765970314360152503817968375379101611571619962766877651196903730180043118399019350042654593334468470787239830403525778045438128677849781566464494271579647932083196319351908667626997865998441606693691602094733003921628794685956003810208520375955688958281883196617901504201806191235859716175221597217666203761297257588522936629498236252585681110627251907492304428693878808519375683499982785677884558911771554070514257986528368549699592772473806378279825015086573803521817698886323823486260390348955338736982594867402534719663434715173611446335356364926093365671116304219892859446339839577649591735111328286697016239160712637657121201287907674190643 173287075906203222121302839424235379547692974410320606303261911808811060229270856733246257552266225932350812663952620445608841422742321561604076571641967162028138975968188980412732741979157930118258768386199984861592079223386792217809247611055342340117943376444852748079575555196436208285323640081638982216428087258270308787916262873922181245152980282510867590620151455998978301146234683798133063403413023270839456013282817481579406925260351099331838709589710872449194162601840629802133664235732666292645995991197444937004702711121552533385846711223704552785017642120657486454957407606531635483088026836676567698018046875177003520487876468820769686691356009040399709675719085932501107962784641992175902186061759748594244500948788481509947931966390804197723182112275080913536627507844666262109794475470914162597067063867488581932091280026421790951446218186211753667148234403279621954063484230064984321481264211855698986222640596372945098905972014708132290345105485512787614519495052553428953063000999122776622792351529950857881469335509908311045682531595965083504665151068516305936090975296847787800974391998538279326862499929086270876037709846319026674458866364625595484904270969364924925327736875292030502198477072406574204263906270356313931093389611765623937418428241708185179482443838665918000836570197961398805371592648499651971924116666356822244897078726423719576854174739784693923251050080232100076178581792129072183334297994598226730680401565085545052728810954620238343318603362016177086241674937436954244418340652663833176622544546173770298612150220079744556280767385087023938269908564378449695251663918358985553667967538547548136507840578898307120626375093105294184263480486685740448806811244028811409522962250256977988844011829347557278862399023332041860246801994910995174084346552098878643280814046240119535004939199075789383990357639049491222365574279226222136829571852854872849631614188522470300446678636053959524884097703697002969807908791345596569738573486973632342399874363797083477184871633982381822694893952055812696925664728659062743941047660971973273667402962106517011649272278116822528242178149543904406336113814285949230533574503875203356161657801856527845014925410377779619857024496081143359946818146551476499554831568285812547450135698376406706041171955619131548829198245012684234657832420205386707645455952991150874056932593363763310589261488083974134262078904108128292368261260763237508680587501391164001477481263380162276895136011031411218795396424318376634689872594318916003665254669236214324396529485196366265414153119530611510499676469779148368294051423351438561247873657062537475808037325955834353627565348651383298655649361403832283633818854889423370125597025432177752233714127199023296976079698528939937366709176672647802330324614005251715095646082967504512827622284045152834163841965642343031297633652783072905942942268814169310121677829384280302500167262744284674071298901020463871606535774638044960161165286883384048639659297427496592809216788981513422656752733338987196998901386605481434839166179434843717348787987271355071464287623063389118562996130441694810241725932085457120895703475867060687175157584192963235109308699782630567843702152491461868326143857303517862159805949646300161890636370285789417157003866072976391654163880652479728391606836197343952560314852107809362855116151605430776092153319536751179014286097950345304211207737020356441593248466161690714698081901243882185006342448176339485066694360208315976684562282091924186444630052217315553282272513256584535573785873171288408168811556157681369101808706395810551651175960782442712452239461143457952873174035023737234423615036152222059352483730244942156239 280384378627319798909880434835211983786249295192569359924437049499056224257780703822012492171733712508900284735244519412046577377184255722205484113511001924484853215578389837226457722639495131463080544787870791488507371569823634066216967081899314662102745356343662846416966974570548633479605066508343275002796963091743818913701825130775193069484653664113220139090103809955027831913790386681349350198857297014349267871306394483394161461256144831237067111649159257394807341804993088443729050916241391389487124154096130950801040980887164436475296953610970535774058494815643750816026861857035684226202534486713847049171316601887249577003862578931303435660148221125649435881625220106856504811647760485441129874945920750530911020480487008283887570858633388283943729018931198566576374090494611576125739529647143823892389677837110747508657075951117581546471041048152398313459216168300981728315303038606636043714886306141593033572201631359659943204871094447864311509769785663179320693174684766348679886769253447902015065973880678316772013473553860240092338306210474485293174677531695537892778808367707411151130842140922969096962585129818962209068070855551670496665907473258898445221724662539763276459271051606918754632802843316791268809354436150090042774179464127866883521676934585787542512554907680005336572453440581501733419718766301968240991979453871382346967002669184911913519042344386711128506371538678416724056161260263330835748186806971238542673644903310475193503736309405336802230318661557089494628599055073983782537325559024389032458805820283312948694851621685717868242009187756441613239581053027272793548677264162202783101625594417340249518400617227074394765382010332533955651611681144247679668427895185157367894489509179630203317147974130529312133314729060367070413995604851810355310375397819619827505220494638707760904438622907725191454863278921342542372361097460041023776229220319478142765501755352016946340955823651489283807981357402555243155913071679634290682620600235597849425736132263286254442293765473013388783360936983820616678344588338252909213009059222133173833032830065069300942885044721303113336464735516447927589839336459383993392374674261706600280517845229315568061198177103506662183869830066877679792921967244692055067194778704620306081888607654776590137747205498609709322037780761159110665431558820048981839045338475437053151583732262021383708987384848476913860748282075038437000236044501854090256373051548757975159856664484888940367050094510529342324911036639230116034039355664943933004566127141421113444661474438272747029226691285803545232928413036405316602886042961886592576845893427333825018733032062871594652444352188409563400791132255252133388821047787651654101231266223479983149530978951341871917000548868917572886742984469441771334498685010815694505595545101152772115098967622894942549574265005151232351549199249804529020040534582630368430908832281624314188313587909673789638133883390391917610784864437349640184187905469545721559095844053731072457612203977955132072913099025692658457476152575795794991669997403219096450399558891317838341938819967119298606114529461044852896319266553927908135533879392838732613286262042744801573802971362278499926898471843370535953141723301959468853497551741033165812265164971745420967212386448932080612445763849097629895808642388579812276490073705027029058877448863019299028782817773003764695396725202252796515636430899164960968931966144476392582640813015436255520600434704708034766287132682122354964387297178497989966447751103639376768532903605539874310768468038690942888474990872854980548144062760736645016847077086662605311685800983035602464909146352023931439854196864859716473685018152616346882 453671454533523021031183274259447363333942269602889966227698961307867284487051560555258749723999938441251097399197139857655418799926577283809560685152969086512992191546578817639190464618653061581339313174070776350099450793210426284026214692954657002220688732788515594496542529766984841764928706589982257219225050350014127701618088004697374314637633946624087729710255265954006133060025070479482413602270320285188723884589211964973568386516495930568905821238870129844001504406833718245862715151974057682133120145293575887805743692008716969861143664834675088559076136936301237270984269463567319709290561323390414747189363477064253097491739047752073122351504230166049145557344306039357612774432402477617032061007680499125155521429275489793835502825024192481666911131206279480113001598339277838235534005118057986489456741704599329440748355977539372497917259234364151980607450571580603682378787268671620365196150517997292019794842227732605042110843109155996601854875271175966935212669737319777632949770252570678637858325410629174653482809063768551138020837806439568797839828600211843828869783664555198952105234139461248423825085058905233085105780701870697171124773837884493930125995631904688201787007926898949256831279915723365473073260706506403973867569075893490820940105176293972721994998746345923337409023638542900538791311414801620212916096120228204591864081395608631490373217084171405051757421618910516800234743052392403019082484801569465273354046468396020246232547264025575145548922023573266580870273992510938026955666211688222209081350366457083247307001841765462424522776572843465551509489617405722488800341182521188336769593132964888386026241196125381515391757103437828139915092167829988128475239139213968777417451759436608192161159803478086590995713752392408930660797599762805529394721949918498470786034540878827295909377821983514575445220917970833764737935376686263160605801073174350992397115943874487246787634459705448808692079061099558212963821863025230860421194087209230191825610496060369731627165399455395211478254889039633313604009316997315653154056720194106447500435792171586312592157322838125641578642885060352333925953150745333223925949178136909956442175647085843413076123587481286282040894326148021039739740113796168554622026346990432853532024306031183296178919161117741258151236025773843345323263979025435689484501291466587927208516325625784694298248872932451048122827186183166729368497305265091598936960552939921976637337927865051217262186105541940561120307460957606750723911949983859936669820796377635437841190959634639012443379810816415055732604882815553684896937466313325153824719550489871300826770358018705948280009700839792862056440493659084417022639902677075024226828291655657735383245106150365168893080247397857510253452161142089573664823299016067409601241628068657284942721251668047776713416230647494263649182852032877434962982803396799678552586661665904616688480850653958463709432784410855789217320639075394600345353192352929770198755141481227665266828992959468554729665832364679855456377539181277229830836176838062813799187546162672909806226443030508417169110659902739663138045198639385029031237355259899419788443846235708036683111671144909067770600624334832404279285580605477331013303501387333327702901535257534838124216252521908472266609644501577358287415478585923764836804925812836391913993600468450075120936137309754943709682823152598100726844167919521402562180432306167107280722714259318440526942882881047519832981492890438331648949579270422176411077803320954930050805416862124409884554341209979351057286547030536349649952769156547196668023037869105317763925262126493555338083181375761165863469233017081775826168748397558503121 734055833160842819941063709094659347120191564795459326152136010806923508744832264377271241895733650950151382134441659269701996177110833006015044798663971010997845407124968654865648187258148193044419857961941567838606822363034060350243181774853971664323434089132178440913509504337533475244533773098325532222022013441757946615319913135472567384122287610737307868800359075909033964973815457160831763801127617299537991755895606448367729847772640761805972932888029387238808846211826806689591766068215449071620244299389706838606784672895881406336440618445645624333134631751944988087011131320603003935493095810104261796360680078951502674495601626683376558011652451291698581438969526146214117586080162963058161935953601249656066541909762498077723073683657580765610640150137478046689375688833889414361273534765201810381846419541710076949405431928656954044388300282516550294066666739881585410694090307278256408911036824138885053367043859092264985315714203603860913364645056839146255905844422086126312836539506018580652924299291307491425496282617628791230359144016914054091014506131907381721648592032262610103236076280384217520787670188724195294173851557422367667790681311143392375347720294444451478246278978505868011464082759040156741882615142656494016641748540021357704461782110879760264507553654025928673981477079124402272211030181103588453908075574099586938831084064793543403892259428558116180263793157588933524290904312655733854830671608540703816027691371706495439736283573430911947779240685130356075498873047584921809492991770712611241540156186740396196001853463451180292764785760599907164749070670432995282349018446683391119871218727382228635544641813352455910157139113770362095566703848974235808143667034399126145311941268616238395478307777608615903129028481452776001074793204614615884705097347738118298291255035517535056813816444891239766900084196892176307110296474146304184382030293493829135162617699226504193128590283356938092500060418502113456119734934704865151103814687444828041251346628323655986069459164928408600261615826023453930282353905335568562367065779416239621333468622236655613535042367559428754915107620576800261515792487204717217318323852398616556722693492315158981137321764584792944224764156214898719532662081040860609689221125695053159613912913685959886316666366616350967473273806535002455988695537845484671323546629942024980360100057887806078007236257780927961983575468258205166368733349766945689193333604488679951797194592349940157629236200052469903445218497596836866757951305648803869674386923519056551285852434072911759472606502102218600965533295851959001499823509275211746401565443917205125845503390081577542932454053028202425457231625914336550411460950464726678328059557879137718532776085101707040810080796266775083140195145611531344999321984026883104106837173169810057057820219290942719262990495652645496000732051282681963983023337979430046983495493947528930876794438563632253347566667801247706828105503512744240529541097822475491757850985534958737724441196937423686802578931390372513913853691757073024822506174241281910249587105053990748148165262997627715775225189363784516034364465193312937166771234652738152401730108278452838256914642507187567697499096178202940232427303907436799866801053128366493515166700229280259091428638970840552879055408350674988183224120974503577113294999517863420972871049331469374149718955082758708405079548354850897242480598818686363531112398450643499863363527274754696047543317585755554599268625572560686613336876448920166377525554424594306819338320467664284195322809248670293945761537903391330198096831917283841684870114955767923075611063109529157802992327727785097303323429881941492299853766550174850003 1187727287694365840972246983354106710454133834398349292379834972114790793231883824932529991619733589391402479533638799127357414977037410289824605483816940097510837598671547472504838651876801254625759171136012344188706273156244486634269396467808628666544122821920694035410052034104518317009462479688307789441247063791772074316938001140169941698759921557361395598510614341863040098033840527640314177403397937584726715640484818413341298234289136692374878754126899517082810350618660524935454481220189506753753364444683282726412528364904598376197584283280320712892210768688246225357995400784170323644783657133494676543550043556015755771987340674435449680363156681457747726996313832185571730360512565440675193996961281748781222063339037987871558576508681773247277551281343757526802377287173167252596807539883259796871303161246309406390153787906196326542305559516880702274674117311462189093072877575949876774107187342136177073161886086824870027426557312759857515219520328015113191118514159405903945786309758589259290782624701936666078979091681397342368379981823353622888854334732119225550518375696817809055341310419845465944612755247629428379279632259293064838915455149027886305473715926349139680033286905404817268295362674763522214955875849162897990509317615914848525401887287173732986502552400371852011390500717667302811002341595905208666824171694327791530695165460402174894265476512729521232021214776499450324525647365048136873913156410110169089381737840102515685968830837456487093328162708703622656369147040095859836448657982400833450621506553197479443308855305216642717287562333443372716258560287838717771149359629204579456640811860347117021570883009477837425548896217208190235481796016804223936618906173613094922729393028052846587639467581086702494124742233845184931735590804377421414099819297656616769077289576396362352723194266874754342345305114863010071848231850832567344987831366668180127559733643100991439916224743062386901192139479601671669083556797730096011525008774654058233076957124384025717696624564383803811739870715063087243886363222332884215521122499610346068833904414408241926127199690397554396493750505637152595441745637950050441244273030535526513164869139401002394213445352066079226265658482362919759272402194837029164311247472685486013145937219717143182495585527734092225624509832308845801311959516870920360808047921408612907568616383513590772305485130713379010106402654441371895737230655032037288130294157428601928434532520214991374891422305594410464565525958554443617481863255632663806344207719896691989127043393707550771915986312918633656698138178667512686396760975588536900226284994407076426672273748100283491212463753867995287513672119573420967434100853141801702554887849534795453916021191252072209703161043664632593393647306753620918664145283042950513708078801238467342000541470958990495976406726300139759649914903315559398946006141376229725536082155613433547565275289217590717056999452212103496045426142588138840874894290175405261956606127016186402991270189896892241532244763755052369370231230938350254653342351079344724048774651216663657954391706028136132944335849266524179172409663832697966198008589912637572190173954514160874940026313652096635468099720513035344511712884512914130880104554515699821218068235486815097215644891492749025145665052852252346470639599560427341950099925330699812886864649799919449270655092392513652114762371507448997969324766738207766093292830756810607144086241534073136574486200466803074432250118462999018262286455719342342788603357745549236870143737329788694079877150458649645003048084933927679848049601073831038352893152824873240839536325236022713141075509103546263166792662899023268126022514947733353124 1921783120855208660913310692448766057574325399193808618531970982921714301976716089309801233515467240341553861668080458397059411154148243295839650282480911108508683005796516127370486839134949447670179029097953912027313095519278546984512578242662600330867556911052872476323561538442051792253996252786633321663269077233530020932257914275642509082882209168098703467310973417772074063007655984801145941204525554884264707396380424861709028082061777454180851687014928904321619196830487331625046247288404955825373608744072989565019313037800479782534024901725966337225345400440191213445006532104773327580276752943598938339910723634967258446482942301118826238374809132749446308435283358331785847946592728403733355932914882998437288605248800485949281650192339354012888191431481235573491752976007056666958081074648461607253149580788019483339559219834853280586693859799397252568740784051343774503766967883228133183018224166275062126528929945917135012742271516363718428584165384854259447024358581492030258622849264607839943706923993244157504475374299026133598739125840267676979868840864026607272166967729080419158577386700229683465400425436353623673453483816715432506706136460171278680821436220793591158279565883910685279759445433803678956838490991819392007151066155936206229863669398053493251010106054397780685371977796791705083213371777008797120732247268427378469526249525195718298157735941287637412285007934088383848816551677703870728743828018650872905409429211809011125705114410887399041107403393833978731868020087680781645941649753113444692161662739937875639310708768667823010052348094043279881007630958271713053498378075887970576512030587729345657115524822830293335706035330978552331048499865778459744762573208012221068041334296669084983117775358695318397253770715297960932810384008992037298804916645394735067368544611913897409537010711765994109245389311755186378958528324978871529369861660162009262722351342327495633044815026419324993692199898103785125203291732434961162628823462098886274328303752707681703766083729312212412001486541086541174168717127668452777888188279026585690167373036644897539662242057956983151408858126213952856957538125154767658562596882934143069887562631716161375350767116650872170490422638577818478805064275877889774000468598380539172759850133403103068812251894350443193097783638843848257300655054716405032131594551350637887928716441401396850312721388494306972089978122699577062105964004798982977323627761917281880231727112564931532520658505646880368010744456151280484239814561281467676018594643415748540412895827780462531388592815020852257663671474519471687896584484863748646627850438324281552517777138181861034144917806896197712970903745487757517845561803606528380882947407413933172448797276353779250513241839931407676533842452365152263663467267069833617814915974408277399058361690249933215239397221952785255650646954598241362929029479355659772519577649560962478442069727781222970404566120013351202873531646100883081404435387997880753714457112551145140715711386834315928334823695145424883284084922695423279475848525320626634298361756270654406102556969025763848719561038630308695206774129026010903364779824565375724591904062792613713196940956159284203165598816691238284744140188420350930746905607644066314733234935716095356307073530463589578024720461202927334653863720534930919063394924848563233859735699131388823420374047475272360519841919862299895211805365556894129624405229207454107007449768808827832622029518052558629031518744035559704875623332168262509166128912170143543689482057797452978275199959707319938948809622837319010046146432991114880037763267780641163915147388345551870944067836831331360470116092780964760425876281497908203127 3109510408549574501885557675802872768028459233592157910911805955036505095208599914242331225135200829732956341201719257524416826131185653585664255766297851206019520604468063599875325491011750702295938200233966256216019368675523033618781974710471228997411679732973566511733613572546570109263458732474941111104516141025302095249195915415812450781642130725460099065821587759635114161041496512441460118607923492468991423036865243275050326316350914146555730441141828421404429547449147856560500728508594462579126973188756272291431841402705078158731609185006287050117556169128437438803001932888943651225060410077093614883460767190983014218470282975554275918737965814207194035431597190517357578307105293844408549929876164747218510668587838473820840226701021127260165742712824993100294130263180223919554888614531721404124452742034328889729713007741049607128999419316277954843414901362805963596839845459178009957125411508411239199690816032742005040168828829123575943803685712869372638142872740897934204409159023197099234489548695180823583454465980423475967119107663621299868723175596145832822685343425898228213918697120075149410013180683983052052733116076008497345621591609199164986295152147142730838312852789315502548054808108567201171794366840982289997660383771851054755265556685227226237512658454769632696762478514459007894215713372914005787556418962755170000221414985597893192423212454017158644306222710587834173342199042752007602656984428761041994791167051911526811673945248343886134435566102537601388237167127776641482390307735514278142783169293135355082619564073884465727339910427486652597266191246110430824647737705092550033152842448076462678686407832308130761254931548186742566530295882582683681381479381625315990770727324721931570757242939782020891378512949143145864545974813369458712904735943051351836445834188310259762260204978640748451590694426618196450806760175811438874357693026830189390282084985428487072961039769481711894884339377705456794286848530165057174153832236752944507405260877091707421462708293696016223741357256149628418055080350001336993409310778636931759001277451053139465789441748354537547902608631851105452399283763104818099806869913469669583052431771117163769564212468716951396756081120940738238077466470714918938311716071066025185905787353120246251307837422084535418722293471152694058612614571587325392939642472759250795497332824914987622618206519207685982196380777140948957843194659831020265453921919345883808666259632779922907412080811241290832576270414705724101721677816914131482362802363312440529539939221488013303304579127939485914361809653186984374293345460452285546854135432731357979190050886282144525357381560764193000484575865061178485279662656748330083437835256948728626364818467605851460216402883596040269927489759118773182327612550112784131522994775646744741058903161208923711215803948252925015300561857913800761875035620731889498055659805174396026007345016998813687461565572225454698918957788689021922279329678173286015671063239567331543706981576731208169867068458900477252654316153633773534129190876399971358347136407487318064056948675053899981663896887896832874379183792858708869562788414478013296782078017306774588136967269811380838633698537204273629255853072933265061627010162159766135951303171202910453522718421956338603170385514055179681124503320095358261013494850179263046746600348931308272691029139867786012634604291369748893181130132295101895717698059964264714151536010342900969196515718519361703463768862498558723137909787887604851954732269915692780559625795127241672355077110165969583951857707771246689894196034064945918390656420605514404754683713581574584085143345934877623636908755679988028551898796445641556251 5031293529404783162798868368251638825602784632785966529443776937958219397185316003552132458650668070074510202869799715921476237285333896881503906048778762314528203610264579727245812330146700149966117229331920168243332464194801580603294552953133829328279236644026438988057175110988621901517454985261574432767785218258832116181453829691454959864524339893558802533132561177407188224049152497242606059812449047353256130433245668136759354398412691600736582128156757325726048744279635188185546975796999418404500581932829261856451154440505557941265634086732253387342901569568628652248008464993716978805337163020692553223371490825950272664953225276673102157112774946956640343866880548849143426253698022248141905862791047745655799273836638959770121876893360481273053934144306228673785883239187280586512969689180183011377602322822348373069272227575902887715693279115675207412155685414149738100606813342406143140143635674686301326219745978659140052911100345487294372387851097723632085167231322389964463032008287804939178196472688424981087929840279449609565858233503888976848592016460172440094852311154978647372496083820304832875413606120336675726186599892723929852327728069370443667116588367936321996592418673226187827814253542370880128632857832801682004811449927787260985129226083280719488522764509167413382134456311250712977429085149922802908288666231182548469747664510793611490580948395304796056591230644676218022158750720455878331400812447411914900200596263720537937379059659231285175542969496371580120105187215457423128331957488627722834944832033073230721930272842552288737392258521529932478273822204382143878146115780980520609664873035805808335801932655138424096960966879165294897578795748361143426144052589637537058812061621391016553875018298477339288632283664441106797356358822361496011709652588446086903814378800224157171797215690406742560836083738373382829765288500790310403727554686992198653004436327755982706005854795901036888576539275809241919490140262600018336782655698851830781733564629799389125228792023008228635742843797236169592223797477669789771297499057663517449168650487698037005451683806311520699311466758065058309356821888259585758369466796403812652939994402833325144914979585367823567246503759518556716882530746592808712312184669446564358665637486523349320120089316434978611820077109996542315913269626303730425071237024109888683426049266316384472930927907701992954286358899840526019949158664630003242777549681263165688897986745344854439932739316888171200587014870857004585961492378195599158381397006728189069952835049268475834693171942960338172025481127706456062189929945316034193481985871055639531707828024464005559502299367660390713455479610548936003125224460354858464320782664362661798813615743959630710729644723527447946461332211483925445991079817182617749337910750055022140117264851458856926455201170205710270951208812512042124804065100087549270575237454735358504449414744780036657866131692238805901792489434789905003683765066171166769385520352118476684422692963565524098201892154045902135938401076329196813605039401720597992645498163757972470159505644079663830383457926527141569585957921884719772927568239043389021373982080099388301333908225970665041799297353895511913999993261353615992373915769803832450684538106919005809829791952419928181195105975258107015778367040630289180076889775027826280606336048062697096111403187343058373154446211232048788392935497851996025342103289171718821158985779151728801818545236571920332495287606534118428013533120055867361120861182085836324249107852924694650630277069873289522900667330608565699940342467056060798428419688386155568669831101927126455029211182766208984107024848460952788977775077943549759378 8140803937954357664684426044054511593631243866378124440355582892994724492393915917794463683785868899807466544071518973445893063416519550467168161815076613520547724214732643327121137821158450852262055429565886424459351832870324614222076527663605058325690916377000005499790788683535192010780913717736515543872301359284134211430649745107267410646166470619018901598954148937042302385090649009684066178420372539822247553470110911411809680714763605747292312569298585747130478291728783044746047704305593880983627555121585534147882995843210636099997243271738540437460457738697066091051010397882660630030397573097786168106832258016933286883423508252227378075850740761163834379298477739366501004560803316092550455792667212492874309942424477433590962103594381608533219676857131221774080013502367504506067858303711904415502055064856677262798985235316952494844692698431953162255570586776955701697446658801584153097269047183097540525910562011401145093079929174610870316191536810593004723310104063287898667441167311002038412686021383605804671384306259873085532977341167510276717315192056318272917537654580876875586414780940379982285426786804319727778919715968732427197949319678569608653411740515079052834905271462541690375869061650938081300427224673783972002471833699638315740394782768507945726035422963937046078896934825709720871644798522836808695845085193937718469969079496391504683004160849321954700897453355264052195500949763207885934057796876172956894991763315632064749053004907575171309978535598909181508342354343234064610722265224142000977728001326208585804549836916436754464732168949016585075540013450492574702793853486073070642817715483882271014488340487446554858215898427352037464109091630943827107525531971262853049582788946112948124632261238259360180010796613584252661902333635730954724614388531497438740260212988534416934057420669047491012426778164991579280572048676601749278085247713822388043286521313184469778966894565382748783460878653514698713776988792765075510936487935604775289138825506891096546691500316704244859484201053385798010278877827671126764706809836300449208169927938751176471241125554666058247214075389916163761756105651364403858176336709873482235992426173950488914479192054084774964002584880459294954959997217307727650623900740512589544571424839643595571427926738519514030542370581149236374525884197891055818010879496869139478923382091231372095549134426909678936482739676981474977792353324461023508231471600609049497564246378124777347344820128129462033163285285562728687683170195109730640744199370040629599492774270756489137997751070899824086387290780893440436483275405768319740336121303786997510897878910746150084859680928424583713940055475610114488404887117103188547758617921311390425178434211565482170946047607123488216388821970602698628318692367295401880860905525701766881176168012667780637671005118458635286251770670425842886679100720819438768630897259909754530456759761778850345327697264464260600711447223478926925963094744344452785056583591685808228129674540296732268068960612946379388592717229962970347734230278120569350992634571245290534216454319133563812047354814423974443965141714743428642490356653521402318156060097406162889470875495782045880432995891099785543255846334286881054000925931963598586635841278121916263352510374376266784365491489313286696902870360725647441090384625207089327352936396994005368802432327210844385789050502601797681574065630147097921059801349135983535310521789494629771015060955091282035959056469032677151151442907943472213075593452001529104808733648051936322985354180039259106852525038379812389834538501121006716819076108991669973424514815508701039114354528701086607743933604140940817529673874389191315629 13172097467359140827483294412306150419234028499164090969799359830952943889579231921346596142436536969881976746941318689367369300701853447348672067863855375835075927824997223054366950151305151002228172658897806592702684297065126194825371080616738887653970153021026444487847963794523813912298368702998089976640086577542966327612103574798722370510690810512577704132086710114449490609139801506926672238232821587175503683903356579548569035113176297348028894697455343072856527036008418232931594680102593299388128137054414796004334150283716194041262877358470793824803359308265694743299018862876377608835734736118478721330203748842883559548376733528900480232963515708120474723165358288215644430814501338340692361655458260238530109216261116393361083980487742089806273611001437450447865896741554785092580827992892087426879657387679025635868257462892855382560385977547628369667726272191105439798053472143990296237412682857783841852130307990060285145991029520098164688579387908316636808477335385677863130473175598806977590882494072030785759314146539322695098835574671399253565907208516490713012389965735855522958910864760684815160840392924656403505106315861456357050277047747940052320528328883015374831497690135767878203683315193308961429060082506585654007283283627425576725524008851788665214558187473104459461031391136960433849073883672759611604133751425120266939716744007185116173585109244626750757488683999940270217659700483663764265458609323584871795192359579352602686432064566806456485521505095280761628447541558691487739054222712769723812672833359281816526480109758989043202124427470546517553813835654874718580939969267053591252482588519688079350290273142584978955176865306517332361687887379304970533669584560900390108394850567503964678507279536736699468643080278025359459258692458092450736324041119943525644074591788758574105854636359454233573262861903364962110337337177392059681812802400814586696290957640940452484972749361283785672037417929323940633267129055365093847719143634456606070872390136690485671920292339712473495227044850621967602502675305340916536004308893963966657338578426449213476692809360977578946525542147981222071112927539623989616545803506277294888932420576783814059394171639452598531249088639977851671842527963900536362936085409959153903237062326166944891548016054954492642362447691145778690439153824194786243082116520979028162349431357547756568480062334611671890769098576822000997741511989091026751009021281872215186462233123469631787277559445017633233750300156419733273644662573305329799125596376768818669445609320024964972690923013860162258412771908599896498673205351084353933818107174842637042605706935210155644361980296084974427395535086159050491530111577458047012079400585674052223992049955525112881675692330650936162850154182086624074309772184478019630198816275756789021293432864126637564126206288664345557202979482937885011483165820906988039206134714645113034906174506558887003193828956703066502503936658268831929646859810515619554442103943804284912552367503862256366270852766992281524531118306292167161339269679841167343638132735003263004375959963213227642430812740951116013551099636628148415417924892564791339530042177505551190804783721752710922232293244995297457255839595640497046374841701767431037320379385040922073182302326796194965560597464571393712681237401355936621167274400234915607959272445056702464913835514553902758943496713833846469967001127999093946401904638307702356469507568646358572833606191663202368454344075566795579164976027999339574196454634087365429057841500976630973615631249912548629753192368988378089774880968177067515247495797377825542094345917435827494143565711467295591850958452601893606507448952332741075007 21312901405313498492167720456360662012865272365542215410154942723947668381973147839141059826222405869689443291012837662813262364118372997815840229678931989355623652039729866381488087972463601854490228088463693017162036129935450809047447608280343945979661069398026449987638752478059005923079282420734605520512387936827100539042753319905989781156857281131596605731040859051491792994230450516610738416653194126997751237373467490960378715827939903095321207266753928819987005327737201277677642384408187180371755692176000330152217146126926830141260120630209334262263817046962760834350029260759038238866132309216264889437036006859816846431800241781127858308814256469284309102463836027582145435375304654433242817448125472731404419158685593826952046084082123698339493287858568672221945910243922289598648686296603991842381712452535702898667242698209807877405078675979581531923296858968061141495500130945574449334681730040881382378040870001461430239070958694709035004770924718909641531787439448965761797914342909809016003568515455636590430698452799195780631812915838909530283222400572808985929927620316732398545325645701064797446267179728976131284026031830188784248226367426509660973940069398094427666402961598309568579552376844247042729487307180369626009755117327063892465918791620296610940593610437041505539928325962670154720718682195596420299978836619057985409685823503576620856589270093948705458386137355204322413160650246871650199516406199757828690184122894984667435485069474381627795500040694189943136789895901925552349776487936911724790400834685490402331029946675425797666856596419563102629353849105367293283733822753126661895300304003570350364778613630031533813392763733869369825796979010248797641195116532163243157977639513616912803139540774996059648653876891609612121161026093823405460938429651440964384334804777292991039912057028501724585689640068356541390909385853993808959898050114636974739577478954124922263939643926666534455498296582838639347044117848130169358655631570061381360011215643581582218611792656416718354711245904007765612781553133012043300711118730264415865508506365200389947933934915643637193739617537897385832869033190988393474722140216150777124924846750734302973873363693537373495251673520437146626802525181208264013559986150471743447808487165810540462975942793474006672904818272295015064965038022085842061092996017848167641272813448779128664029196761521350827251838253803475975533865313552050259240492882481264684026479501594409134622379573147095266913585441982461961327832768415060439869795746809448268938383590781454110688674084759986344800062689493336935156480756852673674154228478629634553503585845956305729221661224509558141335590561769164979934998694561235559838018506985442649170484167090595052621739937774424379238976152689322702628464551773421511059721801458555902469600876794418201797211407122980843454750153363727898162266541726426807837031974554867565362934268337737348521526221167327103215383881747758855609954554860072339498687535490093140682042044158988634339813379938660913123835536255137509073499957961736694630767306248553538592414282346791454478167555375090457516241351371577057908281546086193657686102274911714080275659217534756802665289136095083000511685929927378100375767633731029623956220663162838336534812701172461749926088953884680409584107762081584062257659025442004935312208842050707833716267841764747144732547216435644151541066758146191867461705987443685891780029358140988343848667146754484404413400544599472730316418935942811787272048086088894533866575149028567296600985429951807736605717407368190479609419469298074232066571906369495515518860732944528533257920240168382199594892056742834424037122826721932390636 34484998872672639319651014868666812432099300864706306379954302554900612271552379760487655968658942839571420037954156352180631664820226445164512297542787365190699579864727089435855038123768752856718400747361499609864720427000577003872818688897082833633631222419052894475486716272582819835377651123732695497152474514370066866654856894704712151667548091644174309863127569165941283603370252023537410654886015714173254921276824070508947750941116200443350101964209271892843532363745619510609237064510780479759883829230415126156551296410643024182522997988680128087067176355228455577649048123635415847701867045334743610767239755702700405980176975310028338541777772177404783825629194315797789866189805992773935179103583732969934528374946710220313130064569865788145766898860006122669811806985477074691229514289496079269261369840214728534535500161102663259965464653527209901591023131159166581293553603089564745572094412898665224230171177991521715385061988214807199693350312627226278340264774834643624928387518508615993594451009527667376190012599338518475730648490510308783849129609089299698942317586052587921504236510461749612607107572653632534789132347691645141298503415174449713294468398281109802497900651734077446783235692037556004158547389686955280017038400954489469191442800472085276155151797910145965000959717099630588569792565868356031904112588044178252349402567510761737030174379338575456215874821355144592630820350730535414464975015523342700485376482474337270121917134041188084281021545789470704765237437460617040088830710649681448603073668044772218857510056434414840868981023890109620183167684760242011864673792020180253147782892523258429715068886772616512768569629040386702187484866389553768174864701093063633266372490081120877481646820311732759117296957169634971580419718551915856197262470771384490028409396566051565145766693387955958158952501971721503501246723031385868641710852515451561435868436595065374748912393287950320127535714512162579980311246903495263206374775204517987430883605780272067890532084996129191849938290754629733215284228438352959836715427624228382522847084791649603424626744276621216140265159685878607903981960730612383091267943722428072013857267327518117033267535332989972026500762160414998298645053145108800376496071560430897351045549491977485354523958848428499315267265963440793755404191846280628304175112538827195803622244806326885232509259096133022718020936830625476973275377302643077010249514164353479870488712625064040921899939018164728500663885598402195234972495341720390238995392123578266938383992910806419083379597098620148603212834598093233433829686107937027607972335653472271596109292781166461373583641520594532568731125647928215471465110272019282571917419092659494873162534122615707934297432268425360542089130334775946776938236736251441141258538077215344923763033740921055765923417695787326400657729636301612909645432362633414847043166689199980600269108774896624351715355177870393605719320540016590785256814365375691893940791479294378053234409548021245000610666146930942437654953842547304670412769637802904038268900041251816542968374245560019096908980296326206471067340987999725473326206438650984997216144452417265271080442939287467724897582381090380457767525525567875146750609335498460661276600048203760409717115027968656715486686418456074122265345163437520683424933425676920543271481287107410298630103356318649903676043930269490621508067886145285813863610625751388248249536926787346916682273338417686772867744620166268309481394963942151361468502720176259962924416650005198270216616679864356366358909776356568569384300437475141747314067703747321057613206650380356027401485951635677791445850509344728030544571779054673465643 55797900277986137811818735325027474444964573230248521790109245278848280653525527599628715794881348709260863328966994014993894028938599442980352527221719354546323231904456955817343126096232354711208628835825192627026756556936027812920266297177426779613292291817079344463125468750641825758456933544467301017664862451197167405697610214610701932824405372775770915594168428217433076597600702540148149071539209841171006158650291561469326466769056103538671309230963200712830537691482820788286879448918967660131639521406415456308768442537569854323783118618889462349330993402191216411999077384394454086567999354551008500204275762562517252411977217091156196850592028646689092928093030343379935301565110647207177996551709205701338947533632304047265176148651989486485260186718574794891757717229399364289878200586100071111643082292750431433202742859312471137370543329506791433514319990127227722789053734035139194906776142939546606608212047992983145624132946909516234698121237346135919872052214283609386726301861418425009598019524983303966620711052137714256362461406349218314132352009662108684872245206369320320049562156162814410053374752382608666073158379521833925546729782600959374268408467679204230164303613332387015362788068881803046888034696867324906026793518281553361657361592092381887095745408347187470540888043062300743290511248063952452204091424663236237759088391014338357886763649432524161674260958710348915043981000977407064664491421723100529175560605369321937557402203515569712076521586483660647902027333362542592438607198586593173393474502730262621188540003109840638535837620309672722812521533865609305148407614773306915043083196526828780079847500402648046581962392774256072013281845399802565816059817625226876424350129594737790284786361086728818765950834061244583701580744645739261658200900422825454412744201343344556185678750416457682744642142040078044892156108885379677601608902630088536175445915549190297012852037214616854583034011095001219327355364751625432565030406774579368790894821423853650109143877652545910204649536658637498828065781571365003137426546354492798388355591156849993372560679192264853334004777223775993736850993921600776565990083938578849138782114078252420007140899026527345521752435680852144925447578326317064390056057710902640798854036657788025817499901641902505988172084235735808820369229868366470365268108556675363444895058255106013896538455857654373545272775084428952948809242616195127269490007046834744554515192126658450056522318591311823767577471040384657196300328110135450678865187870387715207322376501587873194068271183380134948012897287586570368986166864789701282126564132101906149612878627122767102805302745104090710066716209697380451400108966580518131755437599644937522333018289706302986919172206199784921328106487465269479566701288024862652318259878673900826232634617715473967720629102910307244112479789665340807807698904359841654880198663754848165632043043234361700236881399037720708934704421764349640866768920235764233439479014784471193916451592180233634950479526869603350778789378802442179486269595764640732899667347500370081560788527906810551387147851701296928583582339371302531234487984737178654902246727328979351356102156822224527562871517185463458279211455495253247126376969229490285232820711366598746251927729141118465412775372340754531849452925519104745682592451118925478583690129158118132346371198083397048408591146705134773049134644291477681325316613195074140029566284928335260530940485172171177281145164765741039797813899884963148740550806265154496790991799033765566817602109816164102964627183724759048993719906773215979380639610116816573132067383324884560659406191804059991040742566087562454581694605776605856279 90282899150658777131469750193694286877063874094954828170063547833748892925077907360116371763540291548832283366921150367174525693758825888144864824764506719737022811769184045253198164220001107567927029583186692236891476983936604816793084986074509613246923514236132238938612185023224645593834584668199996514817336965567234272352467109315414084491953464419945225457295997383374360200970954563685559726425225555344261079927115631978274217710172303982021411195172472605674070055228440298896116513429748139891523350636830582465319738948212878506306116607569590436398169757419671989648125508029869934269866399885752110971515518265217658392154192401184535392369800824093876753722224659177725167754916639981113175655292938671273475908579014267578306213221855274631027085578580917561569524214876438981107714875596150380904452132965159967738243020415134397336007983034001335105343121286394304082607337124703940478870555838211830838383225984504861009194935124323434391471549973362198212316989118253011654689379927041003192470534510971342810723651476232732093109896859527097981481618751408383814562792421908241553798666624564022660482325036241200862290727213479066845233197775409087562876865960314032662204265066464462146023760919359051046582086554280186043831919236042830848804392564467163250897206257333435541847760161931331860303813932308484108204012707414490108490958525100094916938028771099617890135780065493507674801351707942479129466437246443229660937087843659207679319337556757796357543132273131352667264770823159632527437909236274621996548170775034840046050059544255479404818644199782342995689218625851317013081406793487168190866089050087209794916387175264559350532021814642774200766711789356333990924518718290509690722619675858667766433181398461577883247791230879555282000463197655117855463371194209944441153597909396121331445443804413640903594644011799548393402831916765546243319755145540097611314352144255671761764430502567174710569725607163799307666611655120695771405181979097356221778427204125717999675962648675102054587827413267232043350010009717962974141973978721180911202675948499596797187423468886069474269936909654601640832954652213159657258027661006921152639381405770537040408434359517317548253197841267143224092631471425864766552129271333538149899586149765511172023860490331005303439350199176602575773421714647098669443221095502559248517303061432899129047714953787396263293711915054429922084619918838204279739521211188224425003904751722490978422257609476552268241356638786852431272823451855840917860579993965982145706369412394292277447868282000283551225731885679803802815852972726728890098899785574177745722171408289228476388944265698623278797841857625595922865219238599800703672856692304432395495552412322010921216604474625145463417236822241216256504938024276303793576797955889245749995668358636529733644046798697633644770209425966953717453131266993256501923365352954828765901151818130986051952236576908114314654024961780940426123583285611456127380270494078849247150861140201478635561145673800545788433743221349746849899039233567544771168567388752186624529162773466829648296128148027503399650923327371028004560694423388163652118391179746244622436545096109692252460453898275843916046736981063128393876986304727950946509420759570359155969042757109775180899461790796828654114798088956625429107525876795846021855171416265528430976474554402046952084635076974625394557202530436763495188927238946462388279103211715682177213213823589857950148889784932009349279208863827114510209053526441414459715408449038963837034218789680520469323536960081327618378020344248357726694707313864137630745274033705240588060892143439737782486593075432290485126266384831279321922 146080799428644914943288485518721761322028447325203349960172793112597173578603434959745087558421640258093146695888144382168419722697425331125217351986226074283346043673641001070541290316233462279135658419011884863918233540872632629713351283251936392860215806053211583401737653773866471352291518212667297532482199416764401678050077323926116017316358837195716141051464425600807436798571657103833708797964435396515267238577407193447600684479228407520692720426135673318504607746711261087182995962348715800023162872043246038774088181485782732830089235226459052785729163159610888401647202892424324020837865754436760611175791280827734910804131409492340732242961829470782969681815255002557660469320027287188291172207002144372612423442211318314843482361873844761116287272297155712453327241444275803270985915461696221492547534425715591400940985879727605534706551312540792768619663111413622026871661071159843135385646698777758437446595273977488006633327882033839669089592787319498118084369203401862398380991241345466012790490059494275309431434703613946988455571303208745412113833628413517068686807998791228561603360822787378432713857077418849866935449106735312992391962980376368461831285333639518262826507878398851477508811829801162097934616783421605092070625437517596192506165984656849050346642614604520906082735803224232075150815061996260936312295437370650727867579349539438452803701678203623779564396738775842422718782352685349543793957858969543758836497693212981145236721541072327508434064718756792000569292104185702224966045107822867795390022673505297461234590062654096117940656264509455065808210752491460622161489021566794083233949285576915989874763887577912605932494414588898846214048557189158899806984336343517386115072749270596458051219542485190396649198625292124138983581207843394379513664271617035398853897799252740677517124194220871323648236786051877593285558940802145223844928657775628633786760267693445968774616467717184029293603736702165018635021976406746128336435588753676725012673248627979368108819840301221012259237364071904730871415791581082966111568520333213979299558267105349590169748102661150922808274714133430595377683948573813936223248111599585770291421495484022957047549333386044663070005633522119288149540209797742929156608186982236178948753622807553536989523762132233511291611434434912411396142651583013569034711329652177922693412361316538913025586170811441769808566486999483382870893862535033331549229528258022968979519096878380941034944576200788376035818827679171509627573151561991291596725767864353697353028745913982165471516139465380418499238629173266374171802019837516430172225463917676083895335050035411995579194247010802713988864558067322976374265328205180318835428294291949369917828570702028313908135776680824930384745343309706485736071639312301166445895057834563146576228302976352003701364675901607940888882689215632294525260830171353098156803564016709676931533194861365347752189117975945835023588729383545290066990352205847220360819749508863320441067312732381712270511625200670149139212532600152189029385308829332185504068234736252556706089951301373640199683275999728800328234505666742330535795182408125342307020637907075223973792647252931916780023325415461307374325948436558381641003363273957441231742241470936957902220970486250893646312237163137583185964251014475730174790118327914771500438861545423646563322845752485444000493226223679760167606337174728241176514243852141536528308669496644017437744154308762029127430034949697750389077022763712077658949604332706568956506400248072729403851820899496684572288164143806086667371740251021573706075346923980954203877341417030125148720298335243797773527335641519852939707960990607885178201 236363698579303692074758235712416048199092321420158178130236340946346066503681342319861459321961931806925430062809294749342945416456251219270082176750732794020368855442825046323739454536234569847062688002198577100809710524809237446506436269326446006107139320289343822340349838797091116946126102880867294047299536382331635950402544433241530101808312301615661366508760422984181796999542611667519268524389660951859528318504522825425874902189400711502714131621308145924178677801939701386079112475778463939914686222680076621239407920433995611336395351834028643222127332917030560391295328400454193955107732154322512722147306799092952569196285601893525267635331630294876846435537479661735385637074943927169404347862295083043885899350790332582421788575095700035747314357875736630014896765659152242252093630337292371873451986558680751368679228900142739932042559295574794103725006232700016330954268408284547075864517254615970268284978499961992867642522817158163103481064337292860316296686192520115410035680621272507015982960594005246652242158355090179720548681200068272510095315247164925452501370791213136803157159489411942455374339402455091067797739833948792059237196178151777549394162199599832295488712143465315939654835590720521148981198869975885278114457356753639023354970377221316213597539820861854341624583563386163407011118875928569420420499450078065217976070308064538547720639706974723397454532518841335930393583704393292022923424296215986988497434781056640352916040878629085304791607851029923353236556875008861857493483017059142417386570844280332301280640122198351597345474908709237408803899971117311939174570428360281251424815374627003199669680274753177165283026436403541620414815268978515233797908855061807895805795368946455125817652723883651974532446416523003694265581671041049497369127642811245343295051397162136798848569638025284964551831430063677141678961772718910770088248412921168731398074619837701640536380898219751204004173462309328817942688588061866824107840770732774081234451675832105086108495802949896114313825191485171962914765801590800929085710494311935160210760943053849186966935526130036992282544651043085197018516903226027095880506139260592691444060876889793494087957767745561980618258831363386431373632841269168793923160316253569717098653208957319048161547622622564516595050784634089013971916073297660667704154550747680481941929664377971812154633885765229166071860198914537812792978482453871535828969049469211193404523001630103432013366833810264928304060184317958362058845975013847132514586347858319679498735115326376457748964007747380702050464361058946177974617872810243159062324363703250261641057221443701224055583191276501337267662399924948572297130547443780119539101150984253802313324123114350324829352381155450075848162580131947701992576577336577470239471855790452392326223971334988533435008722700305574533652898641599248242713961438346354658726929369664505697434346679496333804141354552853949338242754345326230493113935491458676488200020002942169688218173872583190906072770874470694927646275821501935879284348062899730275236802125004743330619114074840469847979404147756303727885428994113358540355876831513505959139029086821468596229192349041609032483779313737151290372685417621510034880349578685392178251662230507317058190013243360668827211698953934411840079049103432355603897644204710617522294032961689174994299320306887490952577861300654385562163539705165004671703171091087998916587772708359699614957368132351887077578924734629759738356231627539192169158657859147983416221808697111693240886039689177205041611701103887414285749760595269931432770054237845091834622615450735365736781190478683535556013928716952143424834227375439164500123 382444498007948607018046721231137809521120768745361528090409134058943240082284777279606546880383572065018576758697439131511365139153676550395299528736958868303714899116466047394280744852468032126198346421210461964727944065681870076219787552578382398967355126342555405742087492570957588298417621093534591579781735799096037628452621757167646119124671138811377507560224848584989233798114268771352977322354096348374795557081930018873475586668629119023406852047443819242683285548650962473262108438127179739937849094723322660013496101919778344166484587060487696007856496076641448792942531292878517975945597908759273333323098079920687480000417011385865999878293459765659816117352734664293046106394971214357695520069297227416498322793001650897265270936969544796863601630172892342468224007103428045523079545798988593365999520984396342769620214779870345466749110608115586872344669344113638357825929479444390211250163953393728705731573773939480874275850699192002772570657124612358434381055395921977808416671862617973028773450653499521961673593058704126709004252503277017922209148875578442521188178790004365364760520312199320888088196479873940934733188940684105051629159158528146011225447533239350558315220021864167417163647420521683246915815653397490370185082794271235215861136361878165263944182435466375247707319366610395482161933937924830356732794887448715945843649657603977000524341385178347177018929257617178353112366057078641566717382155185530747333932474269621498152762419701412813225672569786715353805848979194564082459528124882010212776593517785629762515230184852447715286131173218692474612110723608772561336059449927075334658764660203919189544444162331089771215520850992440466628863826167674133604893191405325281920868118217051583868872266368842371181645041815127833249162878884443876882791914428280742148949196414877476365693832246156288200068216115554734964520713521055993933177070696797365184834887531147609310997365936935233297777199011493836577710564468612952444276359486450806247124924460084454217315643251117126573062555557076693786181593171883895197279014645149139510319210159198777136683628791187915090819365176515792396200851799841032103754250860178461735482372373816451135507101131606643688264464885505719523173051066911723079768503235805896047406831764872585151071384754798027886662219069001425368058724880674236738865880399858404635342025694510725180220056576670935880426685914021195663872344988904867378198577727234162384042098508484373048311410011053304339879011997129871686419126575838424111312115722673376851763861240358623220480147212761120549702990232212552146419892647759589234549827620926345536392271479113219634777438287304051256526957992271548671395875648960438374529445276203172231152693816378638737488157836275006232907923441654187728648216648878636685366913625015538902452274311340537136373398601913515422535587857231542767974791609699452815530493386374182628967541540861681556330472528799784361831483728871520560104287697305896849019769511805490129285486604964903176584396075140844066858808421654124908669656892231915779305036861257300036709065376214110047662680147485104056119934660855689076151059239638848266159666993896692570021839601973525812507104729198458664698633854179891675883712852642833409993903701444274960410983729611562473523936117071995026043300117908085778687762532625389022732894507112821557622166059372934953071087524334145729769876879893245848217414943229535444896442205003717052701522441113916205008959684327510127433254391251269828108262191854552372728208945184422644737860588673889613899865247693500953121500846291505138845401161826046038499956867765490885501488813927333329541264358471996364542188366047049678324 618808196587252299092804956943553857720213090165519706220645475005289306585966119599468006202345503871944006821506733880854310555609927769665381705487691662324083754559291093718020199388702601973261034423409039065537654590491107522726223821904828405074494446631899228082437331368048705244543723974401885627081272181427673578855166190409176220932983440427038874068985271569171030797656880438872245846743757300234323875586452844299350488858029830526120983668751965166861963350590663859341220913905643679852535317403399281252904022353773955502879938894516339229983828993672009184237859693332711931053330063081786055470404879013640049196702613279391267513625090060536662552890214326028431743469915141527099867931592310460384222143791983479687059512065244832610915988048628972483120772762580287775173176136280965239451507543077094138299443680013085398791669903690380976069675576813654688780197887728937287114681208009698974016552273901473741918373516350165876051721461905218750677741588442093218452352483890480044756411247504768613915751413794306429552933703345290432304464122743367973689549581217502167917679801611263343462535882329032002530928774632897110866355336679923560619609732839182853803932165329483356818483011242204395897014523373375648299540151024874239216106739099481477541722256328229589331902929996558889173052813853399777153294337526781163819719965668515548244981092153070574473461776458514283505949761471933589640806451401517735831367255326261851068803298330498118017280420816638707042405854203425939953011141941152630163164362065962063795870307050799312631606081927929883416010694726084500510629878287356586083580034830922389214124437084266936498547287395982087043679095146189367402802046467133177726663487163506709686524990252494345714091458338131527514744549925493374251919557239526085444000593577014275214263470271441252751899646179231876643482486239966764021425483617966096582909507368849249847378264156686437301950661320822654520399152530479776552117130219224887481576600292189540325811446201013240886887747042248656700947394762684824282989508957084299721080153213047964103619154921224907373364016219600989414717755025868127984260390120771153179543249263609945223464868877168624306523296248892150896805892336080517002928819489375613146060040722191633312619007377362544481713003703090439339974798178334904443020431147538886577271690072482537334853942341900101952286884828559008456850827442776403207167627196445355788565100138587805061678243821318232643939196315088233745265101589685556625898463580993056350498976566735080969444154960141822600167351291158730121037765458002748296874191324176607177449492922814443690360629563805388524189357917220120968526423092740557913630596260456974544476816930728963566840538991725082081070503573601889721224793985456106924838769415467931228676245646329070571382121302219089956188486498830791010688753048045807474257422756038688326401888220358015360471827081653733700074238074197751053218223188764573337219789514747659817503660477548094082657166949611538994505084243156060787954004955131646054541838986262043367328179451054579895642084295241407784005363654969047616506936071152354225298696080718161166251031951015134844990884042935609955071319271801401710764062431328225588245565931951592018600996972972231300735635071006406866122349221340441382585406737336006545026927468801996551921486366260425905648948824988531291933416585058250519920586034317534361484214913363416667658890573465803282587884418957269865789486018790461997266920051002535788950017642296115885623900277851094655511566351580915238871261441561436571615455399671137873122572318500856622282679292610868885555193075424139789376415741486214178447 1001252694595200906110851678174691667241333858910881234311054609064232546668250896879074553082729075936962583580204173012365675694763604320060681234224650530627798653675757141112300944241170634099459380844619501030265598656172977598946011374483210804041849572974454633824524823939006293542961345067936477206863007980523711207307787947576822340057654579238416381629210120154160264595771149210225223169097853648609119432668382863172826075526658949549527835716195784409545248899241626332603329352032823419790384412126721941266400124273552299669364525955004035237840325070313457977180390986211229906998927971841059388793502958934327529197119624665257267391918549826196478670242948990321477849864886355884795388000889537876882544936793634376952330449034789629474517618221521314951344779866008333298252721935269558605451028527473436907919658459883430865540780511805967848414344920927293046606127367173327498364845161403427679748126047840954616194224215542168648622378586517577185058796984364071026869024346508453073529861901004290575589344472498433138557186206622308354513612998321810494877728371221867532678200113810584231550732362202972937264117715317002162495514495208069571845057266078533412119152187193650773982130431763887642812830176770866018484622945296109455077243100977646741485904691794604837039222296606954371334986751778230133886089224975497109663369623272492548769322477331417751492391034075692636618315818550575156358188606587048483165299729595883349221565718031910931242952990603354060848254833397990022412539266823162842939757879851591826311100491903247027917737255146622358028121418334857061846689328214431920742344695034841578758568599415356707714068138388422553672542921313863501007695237872458459647531605380558293555397256621336716895736500153259360763907428809937251134711471667806827592949789991891751579957302517597540951967862294786611608003199761022757954602554314763461767744394899996859158375630093621670599727860332316491098109716999092728996393489705675693728701524752273994543127089452130367459950302599325350487128987934568719480268523602233439231399363372246741240302783712412822464183381396116781810918606825709160088014640980949614915025621637426396358971970008775267994787761134397870419978943402992240082697322725181509193466872487064218463690392132160572368375222772091864708033523059009141181886311547397291212613715766993262515073998918571037832713570742580204120723172431681270585366204923679518172607198647072178109989653832371536983818208312218105431684228165523980737210579303666433202262837807093704189924302172902943149870341523371282267457658105762337531424018945102952713841764401927663325138067851109439780716315909491669639922298741700996288160041536660146775629510747107602304328696828000088313978427015256077449873010634334743610205683040483470131128519957669607707755519904132605378724074356062333778663544657745260289787916142412870955369429761219696916802299610453518061905721803069271613322510886070470186239559026553149946789147082512997259241563024752383061363892664810185696623661847363561833846875847519343404037244827268689943304764442726511840125298315824736692657995310791202491458363074614853736272871552988660657497988772134068619769953125981293386647775283971058998239469633395866979011980702583793774259571188078401892165649339248527161273169269961395567759821975914818109543652425633360858720036349322677021703293464951496368138000977547069806380657118367133720360413014579719487596844103284779993222740410041731825375182242857088161678226587480538530361760866524984269411431599274416191992762287852941710460856561497183911622529186266347507784168106538202215096457433896136153918604107533263856771 1620060891182453205203656635118245524961546949076400940531700084069521853254217016478542559285074579808906590401710906893219986250373532089726062939712342192951882408235048234830321143629873236072720415268028540095803253246664085121672235196388039209116344019606353861906962155307054998787505069042338362833944280161951384786162954137985998560990638019665455255698195391723331295393428029649097469015841610948843443308254835707472176564384688780075648819384947749576407212249832290191944550265938467099642919729530121222519304146627326255172244464849520374467824154063985467161418250679543941838052258034922845444263907837947967578393822237944648534905543639886733141223133163316349909593334801497411895255932481848337266767080585617856639389961100034462085433606270150287434465552628588621073425898071550523844902536070550531046219102139896516264332450415496348824484020497740947735386325254902264785479526369413126653764678321742428358112597731892334524674100048422795935736538572806164245321376830398933118286273148509059189505095886292739568110119909967598786818077121065178468567277952439369700595879915421847575013268244532004939795046489949899273361869831887993132464666998917716265923084352523134130800613443006092038709844700144241666784163096320983694293349840077128219027626948122834426371125226603513260508039565631629911039383562502278273483089588941008097014303569484488325965852810534206920124265580022508745998995057988566218996666984922145200290369016362409049260233411419992767890660687601415962365550408764315473102922241917553890106970798954046340549343337074552241444132113060941562357319206501788506825924729865763967972693036499623644212615425784404640716222016460052868410497284339591637374195092544065003241922246873831062609827958491390888278651978735430625386631028907332913036950383568906026794220772789038793703867508474018488251485686000989521976028037932729558350653902268846109005753894250308107901678521653139145618508869529572505548510619924900581210278125044463534868938535653143608346838049641574007188076382697253543763258032559317738952479516585294705343921938633637729837547397615717771225636361851577288072275031101720768094568870901036341582436838885943892301311057383290021316784835739072757085626142214557122339526913209255851776309399509523116850088226475182304048008321237344045624906742694936177789885405839475799849927941260471139785000455571139212577573999874457673792533832120124873961172298785659983171667897653689769627757404627306339176949329755209537363109042884659489552761814373828785159368457133044765750037692814530012388495423563765085828298210269279559891291257324742107015498697414914828304905673826711790608448721834441554201790637797117121320106327677836565871169235819725170395048930588857967171097804619790850535044452455951401359804765603998678279137641206351695334912560854893124789352297705791067764045338898451559281771317981577712277274126692107251761979959877267022666540734074835043523459348541300809764292807560061091341898729974363922055868976907966246484577666802495207888388714833781386771365424278323269838946848737967919624130661970793784309164931381943556716757059155333014902523903504003795502488872815069678574841272397782695097411837715299284586485035565347458997612977675556025074995206259084808758287998560588968543858576007297402112786749444716814661465138791893786764368985174311208313636710050009746888058587011864604167864872031730550388019303588045522770184728522242049859012226428832193822642102293859623950628244229776654415985661144376078924922997950855331430864023729414378282076311961168321784745101504767204130066847399149071100651650509320275943295019849019478035218 2621313585777654111314508313292937192202880807987282174842754693133754399922467913357617112367803655745869173981915079905585661945137136409786744173936992723579681061910805375942622087871043870172179796112648041126068851902837062720618246570871250013158193592580808495731486979246061292330466414110274840040807288142475095993470742085562820901048292598903871637327405511877491559989199178859322692184939464597452562740923218570645002639911347729625176655101143533985952461149073916524547879617971290519433304141656843163785704270900878554841608990804524409705664479134298925138598641665755171745051186006763904833057410796882295107590941862609905802297462189712929619893376112306671387443199687853296690643933371386214149312017379252233591720410134824091559951224491671602385810332494596954371678620006820082450353564598023967954138760599779947129873230927302316672898365418668240781992452622075592283844371530816554333512804369583382974306821947434503173296478634940373120795335557170235272190401176907386191816135049513349765094440358791172706667306116589907141331690119386988963445006323661237233274080029232431806564000606734977877059164205266901435857384327096062704309724264996249678042236539716784904782743874769979681522674876915107685268786041617093149370592941054774960513531639917439263410347523210467631843026317409860044925472787477775383146459212213500645783626046815906077458243844609899556742581398573083902357183664575614702161966714518028549511934734394319980503186402023346828738915520999405984778089675587478316042680121769145716418071290857293368467080592221174599472253531395798624204008534716220427568269424900605546731261635914980351926683564172827194388764937773916369418192522212050097021726697924623296797319503495167779505564458644650249042559407545367876521342500575139740629900173560797778374178075306636334655835370768805099859488885762012279930630592247493020118398297168842968164129524343929778501406381985455636716618586528665234544904109630576274938979649796737529412065625105273975806788352240899357675205370631822263243526556161551178183878879957541446584224722346050552301730779011834553036554968677286448160289672082670383009594492538462737941408808894719160296098818517687891736763779142064997168323464939738631532993785696320070239999791641683689218463449247274168756041844296353186806793054242333469002499121606469062365001940179042177617714026313719416698297172306138944377900037043804392133779497432732161281657551486061306611575612939524444608633557920733518100319622188325922755024652180922489349292759305947708899908034337901294655953081669527423359722229214382512605133021726669770340636765266024268085621989736203460248371020576142550489950679333777268095735838424944168175497932647725258709027357604114044620970815254125594145250135496434871490933285561668285986893161110484300713636635210955458568015842363536328053833255040864430237140747742797409194076426302560769823885681680336294279863244960905513709698907567853959711081954642574088601140292999116305117232869572776432181201328649858769722235590681300730175402669105591959782251613180694431464255960286618521001822926692734759208215422229947868638796775056992456159986861587203747194611225523763988484059612999270343584724505198743325976624958378139818849254777447163210650453647899837495705131745277258797680546571420631632771008791217527147623089021523633885335340003514961243256196587989411673974245529150097684108379716602625242257781572625526829852234966838873925648017284536716712112306470817257192946347422010901063194334429550129747622856786017267319992537168522665505696367630691033551637851015505687273315748107943216412097213623956552741891989 4241374476960107316518164948411182717164427757063683115374454777203276253176684929836159671652878235554775764383625986798805648195510668499512807113649334916531563470145853610772943231500917106244900211380676581221872105149501147842290481767259289222274537612187162357638449134553116291117971483152613202874751568304426480779633696223548819462038930618569326893025600903600822855382627208508420161200781075546296006049178054278117179204296036509700825474486091283562359673398906206716492429883909757619076223871186964386305008417528204810013853455654044784173488633198284392300016892345299113583103444041686750277321318634830262685984764100554554337203005829599662761116509275623021297036534489350708585899865853234551416079097964870090231110371234858553645384830761821889820275885123185575445104518078370606295256100668574499000357862739676463394205681342798665497382385916409188517378777876977857069323897900229680987277482691325811332419419679326837697970578683363169056531874129976399517511778007306319310102408198022408954599536245083912274777426026557505928149767240452167432012284276100606933869959944654279381577268851266982816854210695216800709219254158984055836774391263913965943965320892239919035583357317776071720232519577059349352052949137938076843663942781131903179541158588040273689781472749813980892351065883041489955964856349980053656629548801154508742797929616300394403424096655144106476866846978595592648356178722564180921158633699440173749802303750756729029763419813443339596629576208600821947143640084351793789145602363686699606525042089811339709016423929295726840916385644456740186561327741218008934394194154766369514703954672414603996139298989957231835104986954233969237828689806551641734395921790468688300039241750368998842115392417136041137321211386280798501907973529482472653666850557129703805168398848095675128359702879242823588110974571763001801906658630180222578469052199437689077169883418594237886403084903638594782335127456058237740093414729555476856149257774841201064281004160758417584153626401882473364863281753329075807006784588720868917136358396542836151928146660979688282139278176627552324262191330528863736232564703184391151104163363439499079523845647780663052597409875900977913053548614881137754253949607154295753872520698905575922016309191151206806068551675722456472804050165533697232431699796937269646792384527445944862214929881439513317402714481884858629275871172180596618170433869163929266094951796218392144453325449139751076239333017566830783785582887675943055463428665072985412307786466554751274508661216438992474649945727152431307044448505233292509188020439483662072496424279051411877356135462680939096390527663562915250856819742410584104691741317130894389415842166102780734046667168467450429104076288192972011792068619873916444680294587952386272850738051165666964266030802316835996048549196065848583357368140069327395817878593939315989518912065724375121471350552994668021585865641557603316946403979035740557233158256109154769475374762202635179943039022973480227173101846480742678665778995452353977610624305515082116946768093383915229621198461918662351088386622257412305310987858074678315924972481385280883541320678560996251662475734402273425769452497921546683581471450714569628171209540764090784974237936053695843924249983706248019408741646460426464248990321284556199793333320865348447432473930009420934387458006697945093648976713564970990144255175001276278142110401181828234496399020190670765027966301147768879711247193267706119470659386830576336062934715047033847362333083155277142119257427500985079053720809746681698274613480483833827481112732195800755767917862904836344416399758452536688040508643805572219927207 6862688062737761427832673261704119909367308565050965290217209470337030653099152843193776784020681891300644938365541066704391310140647804909299551287586327640111244532056658986715565319371960976417080007493324622347940957052338210562908728338130539235432731204767970853369936113799177583448437897262888042915558856446901576773104438309111640363087223217473198530353006415478314415371826387367742853385720540143748568790101272848762181844207384239326002129587234817548312134547980123241040309501881048138509528012843807550090712688429083364855462446458569193879153112332583317438615534011054285328154630048450655110378729431712557793575705963164460139500468019312592381009885387929692684479734177204005276543799224620765565391115344122323822830781369682645205336055253493492206086217617782529816783138085190688745609665266598466954496623339456410524078912270100982170280751335077429299371230499053449353168269431046235320790287060909194306726241626761340871267057318303542177327209687146634789702179184213705501918543247535758719693976603875084981444732143147413069481457359839156395457290599761844167144039973886711188141269458001960693913374900483702145076638486080118541084115528910215622007557431956703940366101192546051401755194453974457037321735179555169993034535722186678140054690227957712953191820273024448524194092200451350000890329137457829039776008013368009388581555663116300480882340499754006033609428377168676550713362387139795623320600413958202299314238485151049010266606215466686425368491729600227931921729759939272105188282485455845322943113380668633077483504521516901440388639175852538810765336275934229361962463579666975061435216308329584348065982554130059029493751892007885607246882328763691831417648488393311596836561253864166621620956875780691386363770793826166378429316030057612394296750730690501583542576923402311463015538250011628687970463457525014081837289222427715598587450496606532045334012942938167664904491285624050419051746042586902974638318839186053131088237424637938593693069785863691559960414754123372722538487123960898070250311144882420095320237276500377598512371383325738834441008955639386877298746299206150184392854375267061534113757855977961817465254456675382212893508694418665804790312394023202751422273072094034385405514484601895992256308982792890495287015124969730641560092009830050419238492851179603115794883649052413924579931821618555495020428508198578045974168344486735562548333906207733658228731293651124305734983000625812382850908630506355228394216445596676573563748287261311335062811118735673763857953975744940183549853761490332601700401586902819932547742668698044585101557300778081647696772227946963364476149653299118711105190762986726655181691996464671657511578004527724902222165101115175687813103645797086056413039435128042038825544723448821144341671336727335250252923963427320296762185831276804041925383982432863723871711848980180419756052813467172530665426979297228791409751323237939611226267223996646070942857163677008729186456716845209268544179315972596532290334716053519110846980324102212747332859896196382847122170762489507189403450075099356782552642582544030826312810784767413075133187903615228752180117453617988707822462595989477172964063723445310672065531063713839971755934045962834110950862894431835662773504761153411230059195294360263959954122066561814997473879892285980080203482721226948082010547028221578978984316717079932233400451762990687952116355930331925918604778736793296007285747873773295709563482160106580045118676671367293048175241185864291040308680505166178205313591857051114826676577595763949018267150649006499333177480362886834307405768878410523617732147866395753100137722267762124961819196 11104062539697868744350838210115302626531736322114648405591664247540306906275837773029936455673560126855420702749167053503196958336158473408812358401235662556642808002202512597488508550872878082661980218874001203569813062201839358405199210105389828457707268816955133211008385248352293874566409380415501245790310424751328057552738134532660459825126153836042525423378607319079137270754453595876163014586501615690044574839279327126879361048503420749026827604073326101110671807946886329957532739385790805757585751884030771936395721105957288174869315902112613978052641745530867709738632426356353398911258074090137405387700048066542820479560470063719014476703473848912255142126394663552713981516268666554713862443665077855316981470213308992414053941152604541198850720886015315382026362102740968105261887656163561295040865765935172965954854486079132873918284593612899647667663137251486617816750008376031306422492167331275916308067769752235005639145661306088178569237636001666711233859083817123034307213957191520024812020951445558167674293512848958997256222158169704918997631224600291323827469574875862451101013999918540990569718538309268943510767585595700502854295892645064174377858506792824181565972878324196622975949458510322123121987714031033806389374684317493246836698478503318581319595848815997986642973293022838429416545158083492839956855185487437882696405556814522518131379485279416694884306437154898112510476275355764269199069541109703976544479234113398376049116542235907778040030026028910026021998067938201049879065369844291065894333884849142544929468155470479972786499928450812628281305024820309278997326664017152238296356657734433344576139170980744188344205281544087290864598738846241854845075572135315333565813570278861999896875803004233165463736349292916732523684982180106964880337289559540085047963601287820205388710975771497986591375241129254452276081438029288015883743947852607938177056502696044221122503896361532405551307576189262645201386873498645140714731733568741529987237495199479139657974073946622109144114041156005846087401768877289973877257095733603289012456595673043213750440518044305427116580287132266939201560937629735013920625419078451452685217921219417460896989100104456045265490918570319643717843861008904340505676222679248330139278035183507471914272618173944097301355566800692187114364142175363747651670192648116872762587268176498358786794861703058068812423142990083436675250039516667332180718767775371662924323683089869516450188308449765563459090241648073186012179799333272619629027176952334296747370597585290425038366615192183932658199799488642763908744850092136112441735763108181706657597981579829493525052907690627902460866677316862033961962010505397310759873433313595566046927420170630505636268832269582626116917179933990058068205108055001958483505839311401207417192409387893002214518954765744156292810735027342652625282752122502191119689590442919496409274964879191547652136777532291896812995616964795542928172671203032386628176015419786163498661831479047844448487218338946076759463436562534261789512759319554566724943484201711464964068938855873422419024648537018019133641029204801443131623798642842091391058160385000509635721438132178984959484938330391750598733516221366857355647002514428409599927143586726924895925100830485531506697754744859659249467936940820690424203112387846371197267213213151328527635956651236369016398005034919524072633293430644903223544706937991964230258466331513754153101177756983966772313714174921064589274729353374286164589336058197869384238175900911324887671013588321455347432849284552099905730298405510630716541764129490333160658593095082635063173686741315359962148547624848289788178230911567697181746403 17966750602435630172183511471819422535899044887165613695808873717877337559374990616223713239694242018156065641114708120207588268476806278318111909688821990196754052534259171584204073870244839059079060226367325825917754019254177568968107938443520367693140000021723104064378321362151471458014847277678389288705869281198229634325842572841772100188213377053515723953731613734557451686126279983243905867972222155833793143629380599975641542892710804988352829733660560918658983942494866453198573048887671853896095279896874579486486433794386371539724778348571183171931794857863451027177247960367407684239412704138588060498078777498255378273136176026883474616203941868224847523136280051482406665996002843758719138987464302476082546861328653114737876771933974223844056056941268808874232448320358750635078670794248751983786475431201771432909351109418589284442363505883000629837943888586564047116121238875084755775660436762322151628858056813144199945871902932849519440504693319970253411186293504269669096916136375733730313939494693093926393987489452834082237666890312852332067112681960130480222926865475624295268158039892427701757859807767270904204680960496184204999372531131144292918942622321734397187980435756153326916315559702868174523742908485008263426696419497048416829733014225505259459650539043955699596165113295862877940739250283944189957745514624895711736181564827890527519961040942532995365188777654652118544085703732932945749782903496843772167799834527356578348430780721058827050296632244376712447366559667801277810987099604230337999522167334598390252411268851148605863983432972329529721693663996161817808092000293086467658319121314100319637574387289073772692271264098217349894092490738249740452322454464079025397231218767255311493712364258097332085357306168697423910048752973933131258766605589597697442260352018510706972253552694900298054390779379266080964051901486813029965581237075035653775643953192650753167837909304470573216212067474886695620438619541232043689370052407927583118325732624117078251667143732485800704074455910129218809940256001250871947507406878485709107776832949543591348952889427631165951021296087906326078859683928941164105018273453718514219331679075395422714454354561131427478384427264738309522634173402927543257098495751342364524683549668109367906528927156736987796642581925661917755924234185193798070908685499296475878382151825550772711374793524676624307443571498282014721224207861154067743267101681579396582552414383520640755923291450391375841941150278579541240574015778869296202590925239595608082433408704026098802224569167928872841749653250133096510445251679038932374283505776879751242699538880607575172749679918574865825342826970161152673067201268384037415055125310060237704438998175158230538490997370697801804730283579787144124618147490130000522331384034850028561534080724620337464771878729171476589572920858619456667208136104935054843561302291899676829031017692658720182802204511589125604405368288033482539398938427029032699118872583463172227848288195893053717031397654918673291753771278587780900359739643656779472276344097907847811191109618362929608428098612117375916193671787345473957936609427609504466191348288615738387901555585796973667307400926381227771697579944812168027712533578142249571683077632689759006875963724917367169471259506013070479527132235180954384157234454408186194741093105437308607839439372463317098408552063141103051617610147724835456945158700982652182374822261845680071705956493777262779599462048694360298838211513480866209708012729565162432413417086775615927979694093487633552746441141603214732406876001274579734808914778496832493836073457969469370579455619725883579880695491244042888315953179329822143565599 29070813142133498916534349681934725162430781209280262101400537965417644465650828389253649695367802145011486343863875173710785226812964751726924268090057652753396860536461684181692582421117717141741040445241327029487567081456016927373307148548910196150847268838678237275386706610503765332581256658093890534496179705949557691878580707374432560013339530889558249377110221053636588956880733579120068882558723771523837718468659927102520903941214225737379657337733887019769655750441752783156105788273462659653681031780905351422882154900343659714594094250683797149984436603394318736915880386723761083150670778228725465885778825564798198752696646090602489092907415717137102665262674715035120647512271510313433001431129380331399528331541962107151930713086578765042906777827284124256258810423099718740340558450412313278827341197136944398864205595497722158360648099495900277505607025838050664932871247251116062198152604093598067936925826565379205585017564238937698009742329321636964645045377321392703404130093567253755125960446138652094068281002301793079493889048482557251064743906560421804050396440351486746369172039810968692327578346076539847715448546091884707853668423776208467296801129114558578753953314080349949892265018213190297645730622516042069816071103814541663666431492728823840779246387859953686239138406318701307357284408367437029914600700112333594432587121642413045651340526221949690249495214809550231054561979088697214948852444606547748712279068640754954397547322956966605090326658273286738469364627606002327690052469448521403893856052183740935181879424321628578650483361423142158002998688816471096805418664310238705954675779048533664213713558269817961036476545642304640758691229584491595297398026599394358963044789046117311390588167262330497549093655461614156433733735154040096139103895149137782490223953306330912360964528466398284645766020508520533240133339516101045849325184927643591952700455888694974290341805666002978767519643664149340821825493039877184404101785976669113105563227823596217909641217679107909848188497066135064897342024878540845824764502612088998120233428622586805099393407471936593067601583220173265280420621558676178025643692532169966904549600294812883611443454665587472743875345835057953240478034411831883762774718430590694663961584851616839820801545330681085097998148726354104870288376360557545722578878147413348640969420002049131498169655227734693119866714488365451396474247377821399923985869456951059506876097473390157206111599900156939301031391926652727252753815112141915831618102191929904829804006289316523840591184360112805499949452738775860419190101771175044816019268885061457900297520460437068697802587609202768286209504287023186635029211773781348174928558623655803751366418345788736174759829640280427921647463513777202192823255545131959005837223346251235978726490112513339679290833494915632882383655885962109292490888227437245963250892734819173238305982571850267834938982043881022417400985252829025467571609630061419327294888003249335726510119674940898165518615993864750051217207841122042689872498963211346197219828299619312775260048474236352027452747149135395049834700992146917089560408070451595857249508673616248023622993717975958626792339256772978370431096166179025383359536092570659171610221219416683902801064555402898676169014250872729728995069176001644808360346842254557392008306318588637135475396023699686114806557098060627124250903578369738680489865638974616412633288593359434224807134250761229551913176223615424888112940866855152374297348787763031816651592987686940815650707681809088900179290426155314638137174406785210451350678907987165654494666553052104433753142361041243542029243116092332676494184090897519325312002 47037563744569129088717861153754147698329826096445875797209411683294982025025819005477362935062044163167551984978583293918373495289771030045036177778879642950150913070720855765896656291362556200820100671608652855405321100710194496341415086992430563843987268860401341339765027972655236790596103935772279823202048987147787326204423280216204660201552907943073973330841834788194040643007013562363974750530945927357630862098040527078162446833925030725732487071394447938428639692936619236354678837161134513549776311677779930909368588694730031254318872599254980321916231461257769764093128347091168767390083482367313526383857603063053577025832822117485963709111357585361950188398954766517527313508274354072152140418593682807482075192870615221889807485020552988886962834768552933130491258743458469375419229244661065262613816628338715831773556704916311442803011605378900907343550914424614712048992486126200817973813040855920219565783883378523405530889467171787217450247022641607218056231670825662372501046229942987485439899940831746020462268491754627161731555938795409583131856588520552284273323305827111041637330079703396394085438153843810751920129506588068912853040954907352760215743751436292975941933749836503276808580577916058472169473531001050333242767523311590080496164506954329100238896926903909385835303519614564185298023658651381219872346214737229306168768686470303573171301567164482685614683992464202349598647682821630160698635348103391520880078903168111532745978103678025432140623290517663450916731187273803605501039569052751741893378219518339325434290693172777184514466794395471687724692352812632914613510664603325173612994900362633983851287945558891733728747809740521990652783720322741335749720481063473384360276007813372622884300531520427829634450961630311580343782488127973227397870500738735479932484305324841619333218081161298582700156799887786614204185241002914075814906422002679245728344409081345727458179714970473551983731711139036036442264112581109228093471838384596696223888960447713296161308361411593710552262952976264283707282280879791717772271909490574707228010261572130396448346296899567759018622879308079591359280305487617342130661965985888481123881279370208306325897809226718900222259773099796262763112207814759427019873214181933059188645134519726207727330472487418072894640730652016022626212610545751343793487563646709824519351571827599904209544448752411317427310285986647466117698455238975467667252971138530456089428511856910797962034891350548315142972542205232268493327830891011212034209027431525512912237414993342622642815753528041678341699105988908956929635353450213977190302774661941209142997059341044643870552267527777634111552331257184339308096413042165385589983683933716041455805416520946966713250827010978229726377747093564346317441403035261959528168607381101264540260570837133677144062712224087109471956576744581565959699024332372300806812195026718850067337000264508988017741186555470148021806353540862508006970548057090452026413760586712507954358407870833951882550013648783423342970979119709823590232238606868125669496172397527160586451158092599281635880845761252770966028372779492391047497017498061100323440856962231986411524549303772932294099740183154206142128676110991193411072069670712908743293298852106442909677028280320265845640273756885800208522201411182599192517581296662743586749399424025945743314835396163003213215109161201730175868513726094574137435024339957268595008110855205114296513090744538492331512638272309785186951152380336018584005361517328194249065010074462556743630401775296722452925731567758529370544050408059790186159593686483998148330740011021573804332597980767127121909938607336375564810137270227341468877601 76108376886702628005252210835688872860760607305726137898609949648712626490676647394731012630429846308179038328842458467629158722102735781771960445868937295703547773607182539947589238712480273342561141116849979884892888182166211423714722235541340759994834537699079578615151734583159002123177360593866170357698228693097345018083003987590637220214892438832632222707952055841830629599887747141484043633089669698881468580566700454180683350775139256463112144409128334958198295443378372019510784625434597173203457343458685282332250743595073690968912966849938777471900668064652088501009008733814929850540754260596038992269636428627851775778529468208088452802018773302499052853661629481552647961020545864385585141849723063138881603524412577329041738198107131753929869612595837057386750069166558188115759787695073378541441157825475660230637762300414033601163659704874801184849157940262665376981863733377316880171965644949518287502709709943902611115907031410724915459989351963244182701277048147055075905176323510241240565860386970398114530549494056420241225444987277966834196600495080974088323719746178597788006502119514365086413016499920350599635578052679953620706709378683561227512544880550851554695887063916853226700845596129248769815204153517092403058838627126131744162595999683152941018143314763863072074441925933265492655308067018818249786946914849562900601355808112716618822642093386432375864179207273752580653209661910327375647487792709939269592357971808866487143525426634992037230949948790950189386095814879805933191092038501273145787234271702080260616170117494405763164950155818613845727691041629104011418929328913563879567670679411167648065001503828709694765224355382826631411474949907232931047118507662867743323320796859489934274888698782758327183544617091925736777516223282013323536974395887873262422708258631172531694182609627696867345922820396307147444318580519015121664231606930322837681044864970040701748521520636476530751251354803185377264089605620986412497573624361265809329452188271309514070949579090701620400451450042399348604624305758332563597036412102663705348243690194717201547739704371504352086224462528252856639700927046293520156305658518058448028430879665021189937341263892306372966135118934854216003590242226591310782647932612523753852606719371343047548132017818099157992638879378370127496500986906308889516066441794123173160320991829649035707714103980146010547177000475012917514172702616796867591238840595481515596304609330300955168146491250705254444003934131884995746081646003153127865827129623455417742041421282659146483406937888154483841648558727684817348825455221389022006322043547002667043294579801481712568354855136980402397761835544207525943125624815946733764912242557371845207171834866735702888010656651258657648025210607341548510264658580393918534005830727352500518987060949647016823353545719002742354340232630543675252189912559809546770063087761538023305642982836359255852680168599351170439207338793691533474542157687151871353708648589961843680868527545774850048068629642648173394188186960831866280104737570079471866716000697146473361711206566835633663333592910388166015863073771639308137057425568512696180690365635848234435147543021748890920892079439927184512559772277170218794431605763283567914903520071523126812478092835723164521809288007758529937517270587184244000877928138917300978757705742614582878790231419862689328021666259262357300119417304464312817924889978931885007641399448564548521320224995299721883425814495925210075064093247191170958302710305091226065716603062149497559281109457105811353105021993913844008681224814845000637510272594471163802825406564073678238085740341808370663939181723428708241304321361124860794189603 123145940631271757093970071989443020559090433402172013695819361332007608515702466400208375565491890471346590313821041761547532217392506811816996623647816938653698686677903395713485895003842829543381241788458632740298209282876405920056137322533771323838821806559480919954916762555814238913773464529638450180900277680245132344287427267806841880416445346775706196038793890630024670242894760703848018383620615626239099442664740981258845797609064287188844631480522782896626935136314991255865463462595731686753233655136465213241619332289803722223231839449193757793816899525909858265102137080906098617930837742963352518653494031690905352804362290325574416511130130887861003042060584248070175274528820218457737282268316745946363678717283192550931545683127684742816832447364389990517241327910016657491179016939734443804054974453814376062411319005330345043966671310253702092192708854687280089030856219503517698145778685805438507068493593322426016646796498582512132910236374604851400757508718972717448406222553453228726005760327802144134992817985811047402957000926073376417328457083601526372597043052005708829643832199217761480498454653764161351555707559268022533559750333590913987728288631987144530637820813753356503509426174045307241984677684518142736301606150437721824658760506637482041257040241667772457909745445547829677953331725670199469659293129586792206770124494583020191993943660550915061478863199737954930251857344731957536346123140813330790472436874976978019889503530313017469371573239308613640302827002153609538692131607554024887680612491220419586050460810667182947679416950214085533452383394441736926032439993516889053180665579773801631916289449387601428493972165123348622064258670229974266796838988726341127683596804672862557159189230303186156817995578722237317121298711409986550934844896626608742355192563956014151027400690788995450046079620284093761648503821521929197479138028933002083409389274051386429206701235606950082734983065942221413706353718202095640591045462745862505553341148719022810232257940502295330952714403018663632311906586638124281369308321593238412576253951766847597996086001271072111104847341836332447998981232533910862286967624503946929152312159035229496263239073119025273188394892034650478766702450041350737802521146794456813041251853891069255275462490305517230887279610030386150122713597452060233309554005440832997679672563657248939917258552732557327974487286461660383631871157855772335258491811734011971685733121187211753130181382601253569586976476337117264239409476894164339900036157054980930654278836276001769126222691416196162183347664716593774278460808671602999196624818208943876186291639142526356438907122664758036509314166801391865251222037858112119354895926491087886662977251387682669601261483662236887374402957700905894827706061615655878062174438108453765059247631786780693967416257943089851826296809375125241211888936892181847576875282788256873372979983100868243870421355154821318461013692334554041481512705744242323380122409176674351635226935416608801930618643291431596737159166080541689870336976176947597536212173094673633948162364659434915299214438671640936981891446551131699184554443066573796504131222598080220846672092325521823214991819623081390654688448388161412205503675433996476658196818923629569722155121116043430367449561764644330146039471998366843193395509435580044565507105166640528622105066816025692541236775420464087475987931030558886955359914318889153602649510303769662817833315739838214214938452768234995262015245627527189542308071822419420314781613136612054302911511232402533806030753561672373379225275222904790823669866280955161951156146575095252042418338322575497785849120330765083806114458631352202263067204 199254317517974385099222282825131893419851040707898151594429310980720235006379113794939388195921736779525628642663500229176690939495242593588957069516754234357246460285085935661075133716323102885942382905308612625191097465042617343770859558075112083833656344258560498570068497138973241036950825123504620538598506373342477362370431255397479100631337785608338418746745946471855299842782507845332062016710285325120568023231441435439529148384203543651956775889651117854825230579693363275376248088030328859956690998595150495573870075884877413192144806299132535265717567590561946766111145814721028468471592003559391510923130460318757128582891758533662869313148904190360055895722213729622823235549366082843322424118039809085245282241695769879973283881234816496746702059960227047903991397076574845606938804634807822345496132279290036293049081305744378645130331015128503277041866794949945466012719952880834578317744330754956794571203303266328627762703529993237048370225726568095583458785767119772524311398876963469966571620714772542249523367479867467644182445913351343251525057578682500460920762798184306617650334318732126566911471153684511951191285611947976154266459712274475215240833512537996085333707877670209730210271770174556011799881838035235139360444777563853568821356506320634982275183556431635529984187371481095170608639792689017719446240044436355107371480302695736810816585753937347437343042407011707510905067006642284911993610933523270060064794846785844507033028956948009506602523188099563829688922817033415471883223646055298033467846762922499846666630928161588710844367106032699379180074436070840937451369322430452932748336259184969279981290953216311123259196520506175253475733620137207197843957496389208871006917601532352491434077929085944484001540195814163053898814934691999874471819292514482004777900822587186682721583300416692317392002440680400909092822402040944319143369635863324921090434139021427130955222756243426613486234420745406790970443323823082053088619087107128314882793336990332324303207519592996951353165853061062980916530892396456844966344733695902117924497641961564799543825705642576463191071804364585304638682159580204382443273283022005377180743038700250686200580337011331646154530010969504694770292692267942048585169079406980566893858573262412302823594508123616388879918489408756277619214584358369122825620447234956170839993555486897975624972656712703338521664286936673301146043860472569202849730652329493487282037730517512708298327873851958824030980410469002259985491122897317467765863286678436348396320257558660915609629629304350646024996223444278591627286263892992021202946861755946543229586218944008069007261977801738438907076002345599391194347662674058853119808169048459731870149086254418372489272140313495545022428168308247443337970720196049796596180268835806265578234692736427710790769803662092594180637042005668916464078849451991394346938370549794896678622965937227499723101523754172488900221031128245574956054863431394194733831057766636195316095462962383651978687272934079770131347353041373556150441713747027069402928173791820107309873571226270548962548031582029102997754520322771007321611868635086492684821588233928455281819635347270714135883899063008575167248220665331630999935281197280044573100338995152696534633213951766594889258849772402860083556742585551087194273437574497345544264810909255111500895298235888381869258441679726444776107348335023199773284804297821038610290909752334211339153540735137936098364267264160205337079338874718360500610782127510646380498216198761551862192620689508345159135775555586217387906500037749791461180138875426325753981553139168930280504078664383868449788302054193792047418779992477063057256807 322400258149246142193192354814574913978941474110070165290248672312727843522081580195147763761413627250872218956484541990724223156887749405405953693164571173010945146962989331374561028720165932429323624693767245365489306747919023263826996880608883407672478150818041418524985259694787479950724289653143070719498784053587609706657858523204320981047783132384044614785539837101879970085677268549180080400330900951359667465896182416698374945993267830840801407370173900751452165716008354531241711550626060546709924653731615708815489408174681135415376645748326293059534467116471805031213282895627127086402429746522744029576624492009662481387254048859237285824279035078221058937782797977692998510078186301301059706386356555031608960958978962430904829564362501239563534507324617038421232724986591503098117821574542266149551106733104412355460400311074723689097002325382205369234575649637225555043576172384352276463523016560395301639696896588754644409500028575749181280462101172946984216294486092489972717621430416698692577381042574686384516185465678515047139446839424719668853514662284026833517805850190015447294166517949888047409925807448673302746993171215998687826210045865389202969122144525140615971528691423566233719697944219863253784559522553377875662050928001575393480117012958117023532223798099407987893932817028924848561971518359217189105533174023147314141604797278757002810529414488262498821905606749662441156924351374242448339734074336600850537231721762822526922532487261026975974096427408177469991749819187025010575355253609322921148459254142919432717091738828771658523784056246784912632457830512577863483809315947341985929001838958770911897580402603912551753168685629523875539992290367181464640796485115549998690514406205215048593267159389130640819535774536400371020113646101986425406664189141090747133093386543200833748983991205687767438082060964494670741326223562873516622507664796327004499823413072813560161923991850376696221217486687628204676797042025177693679664549852990820436134485709355134535465460095292282305880256079726613228437479034581126335653055289140530500751593728412397539911706913648574295919146200917752637663392114115244730240907525952306333055197735480182463819410130356919342924903004155173536995142309292786387690226201437379935110427153481558099056998429133619767198099439142427741928181810429356135174452675789168519666119144146915542231209445260666496151573398333684777915018328341538108222464063505458967770851704724461428509256453212393617956886806119524224900599791481807665899443733417279050599093834662684735852320720546808208343888160872365905747072564595020399571679964890419415877858086534425446169100466496475416390169146991256445569700532170972474704095539547618533126337642101042090533623975732432396831126009153338165676781811705674658354706944260030637482324523208404758186061605182446006933851380794157675967786344173241923813653338051770051602949038095743593522878908993807361234723462799616437567569175636518113953466943310546951322398378992453909305916225511366868506519121915246020778689923974666939140346886493741258035935885705464261762470253670039979645966873902706506166311701660289188952810832008676128491727672792537350875718686089965821936669053493043205438956631276521231297157918782266256788335067810025256708411537047190229596214583917930387668947010077390109771916075895640123000365051914074410495217100190532252095279365582086728644718616710192212940420056103874156986856474976150313302720032395200599094584502245550042918853949930066695279829335373606165104131921910878965166529117258590767131775260654582284850005156381487705137699714264182322922416986959366235637422384958875853533238623829265320324011 521654575667220527292414637639706807398792514817968316884677983293448078528460693990087151957335364030397847599148042219900914096382991998994910762681325407368191607248075267035636162436489035315266007599075857990680404212961640607597856438683995491506134495076601917095053756833760720987675114776647691258097290426930087069028289778601800081679120917992383033532285783573735269928459776394512142417041186276480235489127623852137904094377471374492758183259825018606277396295701717806617959638656389406666615652326766204389359484059558548607521452047458828325252034707033751797324428710348155554874021750082135540499754952328419609970145807392900155137427939268581114833505011707315821745627552384144382130504396364116854243200674732310878113445597317736310236567284844086325224122063166348705056626209350088495047239012394448648509481616819102334227333340510708646276442444587171021056296125265186854781267347315352096210900199855083272172203558568986229650687827741042567675080253212262497029020307380168659149001757347228634039552945545982691321892752776062920378572240966527294438568648374322064944500836682014614321396961133185253938278783163974842092669758139864418209955657063136701305236569093775963929969714394419265584441360588613015022495705565428962301473519278752005807407354531043517878120188510020019170611311048234908551773218459502421513085099974493813627115168425609936164948013761369952061991358016527360333345007859870910602026568548667033955561444209036482576619615507741299680672636220440482458578899664620954616306017065419279383722666990360369368151162279484291812532266583418800935178638377794918677338098143740191878871355820223675012365206135699129015725910504388662484753981504758869697432007737567540027345088475075124821075970350563424918928580793986299878483481655572751910994209130387516470567291622380084830084501644895579834148625603817835765877300659651925590257552094240691117146748093803309707451907433034995647240365848259746768283636960119135318927822699687458838672979688289233659046109140789594144968371431037971301997788985042648425249235689977197083737412556225037486990950565503057276345551694319627173514190547957683513798236435730868664399747141688565497454913973659868307287834577234834972859305608417946828969000415893860922651506552750008647116588847898705361142766168798478960794899910745339359659674631044891167203866157964005017815860335006985923958878800910740957953116392998946249808582222237169726837130305171217648937297275121784210391722688799275431762730411853627446919351393323600345481950024897454233340111605150957533033336457587041602518541720836962645464077030542494453431078268234914323466171492590647639917363206229825594512264588007350403275423896519414579805764289227977419259294317400781503647502007755471254534975780066296215717017259636115548955865267275040187570893386463074140046635796164636270752023887846666730225914975323243316624402663166296261455754591045191393622432607030712847784524709946742267417861341376105887993189159591136999853872163288802171220403671001736342068520678313848567909507111976013224310501835699142977400487196673713827778180336746781873774399065937131410311363020063251486759617749098540989184889718824674205374237828556565804397496913934962791421549019576620145967261309450050313152957169469017581942384584574735654036726985150751623895663287802456279753658779916977028202627700605286501929522914531230823231329808438085496140397210114086411666987296555405936173923376963910543529636077440713075778045534135158027296752611419224124302304672844808155038275298404373746030144031807813459119252853433112603426495651343234685425724439152667900952018616306328377580818 844054833816466669485606992454281721377733988928038482174926655606175922050542274185234915718748991281270066555632584210625137253270741404400864455845896580379136754211064598410197191156654967744589632292843103356169710960880663871424853319292878899178612645894643335620039016528548200938399404429790761977596074480517696775686148301806121062726904050376427648317825620675615240014137044943692222817372087227839902955023806268836279040370739205333559590629998919357729562011710072337859671189282449953376540306058381913204848892234239684022898097795785121384786501823505556828537711605975282641276451496604879570076379444338082091357399856252137440961706974346802173771287809685008820255705738685445441836890752919148463204159653694741782943009959818975873771074609461124746456847049757851803174447783892354644598345745498861003969881927893826023324335665892914015511018094224396576099872297649539131244790363875747397850597096443837916581703587144735410931149928913989551891374739304752469746641737796867351726382799921915018555738411224497738461339592200782589232086903250554127956374498564337512238667354631902661731322768581858556685271954379973529918879804005253621179077801588277317276765260517342197649667658614282519369000883141990890684546633567004355781590532236869029339631152630451505772053005538944867732582829407452097657306392482649735654689897253250816437644582913872434986853620511032393218915709390769808673079082196471761139258290311489560878093931470063458550716042915918769672422455407465493033934153273943875764765271208338712100814405819132027891935218526269204444990097095996664418987954325136904606339937102511103776451758424136226765533891765223004555718200871570127125550466620308868387946413942782588620612247864205765640611744886963795939042226895972725285147670796663499044087595673588350219551282828067852268166562609390250575474849166691352388384965455978930090080965167054251279070739944180005928669394120663200324037407873437440447948186813109955755062308409042593374138439783581515964926365220516207373405850465619097637650844274183178926000829418389594623649119469873611782910096766420809914008943808434871903755098073909989846853434171211051128219157272045484840379816977815041844282976886527621360549531809855326764079427569375419021708504981883628414314688287041133103070947979227835095969352586534507879325793775191806709435075603224671513967433733340670701873897129252279066175580456504405217579433926961631155346386758383611266894184081241308435292322480281083097662174145270906497518445227986285081334270745444262441683999766023323438780409022182062002090221685727382061341935117076919899600178734731389739856340639581904085487063738400798069216360127554968936401761538620456670339388264960409816090420326554119669324283819461145912889682724326326853199341782844520307141926872457486194504744767257231816014422140337878194565677225898436781828864013418986910147281572160103622690478053844807831190001782667230961737991653257289218740259720368559797299105385102503868360391285204048191999093594976403281208867564807589825945442997681477486072972089369182957046454070576420333944492038407071062727209897945807538803090692855788837635336435188506811121558772317717410813194459833087035694654832717229048209884087386645402675672846497240542749171753386947969611331594652125763808643061046391746896028339716530690248875880107509280297907066187373230574241531241423036171749864541959653127253685090236724969707328950606535268507879209460586448490027370779771057874869508764192400884533330103089468833790103398922170050559058956030880149188189301164256952567697294926348912638302600921063146824111543754485257240135593697904829 1365709409483687196778021630093988528776526503746006799059604638899624000579002968175322067676084355311667914154780626430526051349653733403395775218527221987747328361459139865445833353593144003059855639891918961346850115173842304479022709757976874390684747140971245252715092773362308921926074519206438453235693364907447783844714438080407921144406024968368810681850111404249350509942596821338204365234413273504320138444151430120974183134748210579826317773889823937964006958307411790144477630827938839360043155958385148117594208376293798232630419549843243949710038536530539308625862140316323438196150473246687015110576134396666501701327545663645037596099134913615383288604792821392324642001333291069589823967395149283265317447360328427052661056455557136712184007641894305211071680969112924200508231073993242443139645584757893309652479363544712928357551669006403622661787460538811567597156168422914725986026057711191099494061497296298921188753907145713721640581837756655032119566454992517014966775662045177036010875384557269143652595291356770480429783232344976845509610659144217081422394943146938659577183168191313917276052719729715043810623550737543948372011549562145118039389033458651414018582001829611118161579637373008701784953442243730603905707042339132433318083064051515621035147038507161495023650173194048964886903194140455687006209079610942152157167774997227744630064759751339482371151801634272402345280907067407297169006424090056342671741284858860156594833655375679099941127335658423660069353095091627905975492513052938564830381071288273757991484537072809492397260086380805753496257522363679415465354166592702931823283678035246251295655323114244359901777899097900922133571444111375958789610304448125067738085378421680350128647957336339280890461687715237527220857970807689959025163631152452236250955081804803975866690118574450447937098251064254285830409623474770509188154262266115630855680338517261294942396217488037983315636121301553698195971277773721697187216231823773229091073990131108730052212811419471870749623972474361305801518374221896657068939648633259225827351250065108366791707386532026098649269901047331923867190354495502754499077269288621867673360651670606941919792618904413734050337834730951474910151570811463762456333408837418273273593048427985269279944360011534633637061431277134939838464213714148026314056764252497279847238985468406236697876638941761188676531783294068347656625832775930163020024128696849503351467388016149198800882183517063554828915831481356363092645684045169080358529424904557124533944437796621309885426816220770341716675024111371174280971813745479769103604608763406564344706806012147619414353031257002966304063322512132172551725404426944630623663728624715562319339677185435139871250145152554188387235349714643954901172971785827216617167424658504392623068916359042480635856097792139732526382075638153720305956061057936502514465317701113745103512054778988742230226771684235326399884146232644889999224812434389697943809522516363204031486158121061744665685292294544693640868214263448492850363219497265978139623277388243121438393854950109657490710383473925068325934446941267250134161722672375153852936501608963882938949114453712919040324394954184287047800306448491142391616187432288389652840092151746652191839631433106963265548642934155947290855902128922855965551553716179226861417845370046197143370791691627518986970002534660024486308500534766792659732503764445772653859403079672980045149267650895204323136636694625506012471442431256173371129978126104811492846835920403643922219697637144749327213771138462948207077208325857463329776910293219997114623376205421130407529775408289645835606488871263264211655437275856441922075485647 2209764243300153866263628622548270250154260492674045281234531294505799922629545242360556983394833346592937980710413210641151188602924474807796639674373118568126465115670204463856030544749798970804445272184762064703019826134722968350447563077269753289863359786865888588335131789890857122864473923636229215213289439387965480620400586382214042207132929018745238330167937024924965749956733866281896588051785360732160041399175236389810462175118949785159877364519822857321736520319121862482337302017221289313419696264443530030799057268528037916653317647639029071094825038354044865454399851922298720837426924743291894680652513841004583792684945519897175037060841887962185462376080631077333462257039029755035265804285902202413780651519982121794443999465516955688057778716503766335818137816162682052311405521777134797784243930503392170656449245472606754380876004672296536677298478633035964173256040720564265117270848075066846891912094392742759105335610732858457051512987685569021671457829731821767436522303782973903362601767357191058671151029767994978168244571937177628098842746047467635550351317645502997089421835545945819937784042498296902367308822691923921901930429366150371660568111260239691335858767090128460359229305031622984304322443126872594796391588972699437673864654583752490064486669659791946529422226199587909754635776969863139103866386003424801892822464894480995446502404334253354806138655254783434738499822776798066977679503172252814432880543149171646155711749307149163399678051701339578839025517547035371468526447206212508706145836559482096703585351478628624425152021599332022700702512460775412129773154547028068727890017972348762399431774872668496128543432989666145138127162312247528916735854914745376606473324835623132717268569584203486656102299460124491016797013034585931750448778823248899749999169400477564216909669857278515789366417626863676080985098323937200540542647231571609785770419482428349193675288227982163321564790695674361396295315181595134627664180010586339046829052439517772645586949859255452265588898839581822008891780072362276166577299477533409006277250894526756386331035651495972261052811144098344677104363439311189370981024386695777663207505104778152970920838061685779535178214547929289951995853788350290077693958369228128600357127855554644698966068516516517265475745965421980971567284662127254149152733605083814355118311262181428504586074017364413348045750727801688327327706673059415299090304277306007756684967450076160432037529903821938440182725665437604401080976367649361441627087078702395440441956241849296170508150491515785979116708111137197604410594154501951165606698985092291726768147947264696334252631435737697693803178852771754455810891490683031421732944984843117288276078946973760327920484540819148797051440134970509020842296069646677763080314341228718949922115700825325156163239719012190012576580382920977537772075480076840392659883378339643540293883643002161217136918965807486503506836710698734807056002436172365174771260508016461320704898380782113225482591399929796144736574654733696898555218590860954542904486255807929028219800393107338968196456446014437508891493395337826554495667164413560923999228818861828746487917544405774829162030290619475554611428007263460109027000626748222739875786806579369420887841317194349910951318607002444531398651300676242913521165047773878987181654013107243535117687719967235517660251410540131995588798441832980032963078005977014076895574829537522004802394904580294559861606401954456619006710939135382831716426616132182272617893795273152686412098521678079430303239972253051605999378376416522285807790442408186415787633157988827702456124320927948436527552018087375755409922533096577515773390476 3575473652783841063041650252642258778930786996420052080294135933405423923208548210535879051070917701904605894865193837071677239952578208211192414892900340555873793477129344329301863898342942973864300912076681026049869941308565272829470272835246627680548106927837133841050224563253166044790548442842667668448982804295413264465115024462621963351538953987114049012018048429174316259899330687620100953286198634236480179843326666510784645309867160364986195138409646795285743478626533652626814932845160128673462852222828678148393265644821836149283737197482273020804863574884584174080261992238622159033577397989978909791228648237671085494012491183542212633159976801577568750980873452469658104258372320824625089771681051485679098098880310548847105055921074092400241786358398071546889818785275606252819636595770377240923889515261285480308928609017319682738427673678700159339085939171847531770412209143478991103296905786257946385973591689041680294089517878572178692094825442224053791024284724338782403297965828150939373477151914460202323746321124765458598027804282154473608453405191684716972746260792441656666605003737259737213836762228011946177932373429467870273941978928295489699957144718891105354440768919739578520808942404631686089275885370603198702098631311831870991947718635268111099633708166953441553072399393636874641538971110318826110075465614366954049990239891708740076567164085592837177290456889055837083780729844205364146685927262309157104621828008031802750545404682828263340805387359763238908378612638663277444018960259151073536526907847755854695069888551438116822412107980137776196960034824454827595127321139731000551173696007595013695087097986912856030321332087567067271698606423623487706346159362870444344558703257303482845916526920542767546563987175362018237654983842275890775612409975701136000954251205281540083599788431728963726464668691117961911394721798707709728696909497687240641450757999689644136071505716020146637200911997228059592266592955316831814880411834359568137903042570626502697799761278727323015212871313943127810410154294258933235516948110792634833628500959635123178038422183522070910322712191430268544294717934813943870058293675317645336568156775385094890713456966099513585516049278880764862147424599814052534027367206646401873950176283539913978910428528051150902537177242556920810031498376275280463209497857581094202357296730587665202462712959125602024577534021870035983953539448989578319114432974155511108152355466225359232919713420885493269098557146793967493726660412818441800156511983259519974386394038470606055934966712286127695791732222508371885382407899981720269211307748498856071474953959412315748605662692740663997866501364903927007536295917627662045396673609558679607615756132408900199170629693373337184286789849614463922015267855473894380247738999733111572991032059867805792019337511151922538958656021074697843728136538013342907125201079453388643805938421990903447363690650042812903390982943343624806280814870562063118580783024379665352191056501843857891167883694474489785604788918182189748918438088126932682527763644051050466613655343216996458906839919939505834825940336605076688657389836788714776935730427825711685437031998118693869486425244803762602411734455754602500643188059036612392715878958326021612727472750301313176499961541158391822254553429599098879072718763953105848599499383153440678488479411594754504630253945200156481897298976599772692695581770422786730754977909210502049951662555475498882998243096579962631478153370391556202846404742236993765464729715676796608631796158822828757517011110715999813076586702273985615584700735628183530411009363409958109985899729217594272134040889350639967065359808953019437848876123 5785237896083994929305278875190529029085047489094097361528667227911223845838093452896436034465751048497543875575607047712828428555502683018989054567273459124000258592799548793157894443092741944668746184261443090752889767443288241179917835912516380970411466714703022429385356353144023167655022366478896883662272243683378745085515610844836005558671883005859287342185985454099282009856064553901997541337983994968640221242501902900595107484986110150146072502929469652607479998945655515109152234862381417986882548487272208179192322913349874065937054845121302091899688613238629039534661844160920879871004322733270804471881162078675669286697436703439387670220818689539754213356954083546991566515411350579660355575966953688092878750400292670641549055386591048088299565074901837882707956601438288305131042117547512038708133445764677650965377854489926437119303678350996696016384417804883495943668249864043256220567753861324793277885686081784439399425128611430635743607813127793075462482114456160549839820269611124842736078919271651260994897350892760436766272376219332101707296151239152352523097578437944653756026839283205557151620804726308848545241196121391792175872408294445861360525255979130796690299536009868038880038247436254670393598328497475793498490220284531308665812373219020601164120377826745388082494625593224784396174748080181965213941851617791755942812704786189735523069568419846191983429112143839271822280552621003431124365430434561971537502371157203448906257153989977426740483439061102817747404130185698648912545407465363582242672744407237951398655240030066741247564129579469798897662547285230239724900475686759069279063713979943776094518872859581352158864765077233212409825768735871016623082014277615820951032028092926615563185096504746254202666286635486509254451996876861822526061188798950035750953420605759104300509458289007479515831086317981637992379820122644910269239556729258850427221177482117993329746793944002309958765702692902420988561908136911966442544591844945907184732095010144275343386711137982775280801770153524949819301934366621209402094247588326043839905751854161879564369457835018043171375523335528613221399081374125133241039318062013422999775661880163247861634295027785293120694263826810054814143278388164342611721325575874530474307304139094558677876497044567668168012923207978901781598783038402534612362231462664908557475607992769093707048786976490015372623284749671724311281246122048993618204737251461518864837322916301519664957243324707431709281282812231571894807636780467803241783599061961915414828350280319902226443117203801913674908440333645569489793002054483671434818006733591147798243101906677012082858294128478361691669680217675681463347187408310693467129618594401796895891835079382660527091114234192485981338229984584972942857563925120572143328053340961830522913147760693130948182577230164112551535236403995675381500212018090183299785084457793032184099822064993064664500609615850299406897819654042359613336817306734428293352043532396126672895954882625971116650475094404285930341363572915886647473656678987887225432249899858979494833455736324335427103296365953943343717433731942903243153057001202275700934959246687540431924949542524468698648455535423238157023162463018062609670188685784835132591665764905391033615314067495663087451280148160836353653204730275341792593883811726984835781153396260684213606167131561990022290505355740288477486097418432752725658659776399800807650552738748024054754057460055793442859849498534419250484864309526939034562831358369176038082623510949949295043894680500908187820251082969051419075965078690507901392491178036369946198642521398785812442024050145542708661592907438015722475282342049596953622266599 9360711548867835992346929127832787808015834485514149441822803161316647769046641663432315085536668750402149770440800884784505668508080891230181469460173799679874052069928893122459758341435684918533047096338124116802759708751853514009388108747763008650959573642540156270435580916397189212445570809321564552111255047978792009550630635307457968910210836992973336354204033883273598269755395241522098494624182629205120401085828569411379752794853270515132267641339116447893223477572189167735967167707541546660345400710100886327585588558171710215220792042603575112704552188123213213614923836399543038904581720723249714263109810316346754780709927886981600303380795491117322964337827536016649670773783671404285445347648005173771976849280603219488654111307665140488541351433299909429597775386713894557950678713317889279632022961025963131274306463507246119857731352029696855355470356976731027714080459007522247323864659647582739663859277770826119693514646490002814435702638570017129253506399180499332243118235439275782109556071186111463318643672017525895364300180501486575315749556430837069495843839230386310422631843020465294365457566954320794723173569550859662449814387222741351060482400698021902044740304929607617400847189840886356482874213868078992200588851596363179657760091854288712263754085993698829635567024986861659037713719190500791324017317232158709992802944677898475599636732505439029160719569032895108906061282465208795271051357696871128642124199165235251656802558672805690081288826420866056655782742824361926356564367724514655779199652254993806093725128581504858069976237559607575094622582109685067320027796826490069830237409987538789789605970846494208189186097164800279681524375159494504329428173640486265295590731350230098409101623425289021749230273810848527492106980719137713301673598774651171751907671811040644384109246720736443242295755009099599903774541921352619997936466226946091068671935481807637465818299660022456595966614690130480580828501092228798257425003679305475322635137580770778041186472416710098296014641467468077629712088660880142637611195699118678673534252813797002742407880018540114081698235526958881765693799308939077111097611737331068336343818655548342752347751993884806706210313105690819676290702987978395145748692782520932348257480422634472656786925572618819070550100450535822591630281414677815075571729320246002759832904723356758909511499935615617397200818771541760295234785571038571937319170225617029972989678382526878897876956745592924978379839959025539388534297193286245041940111045221435389214744318790508282378083916088041370700172556153941375175409954465391704029314482090003869718055866089327831463956821219025689536181582579608470883483325938355512526292203960476503507591211791560726261743927565823165625019834199436864872831780594466523575792340694942095904179820560936740201914741316035090493892425070373225228348556103526206910285537246420827905760486983968111864300265893112310288802597385984419617632177296491411932826556775792025087011384469829007818358788878775715946152491098076396392094767114819907960013543910029961447111079541331886010136285893449178543374068547979931810446837990990477870689674513252117361981540643162568134880780227000759434896918772665110313376744821447525307544723231412646342786817796976263951241689319228175907758159874440671666602575680090684380652779414124892094646543156744526920759300940444959383396395032525418354241546822587538405530647958526104705720015531292325858092595114381881963017679918495237409236100606169803547353226626745903675690839323736945337262193685051232152551780964493516977191913664553476609651884808743922427923779363136980795633796788655689540642151002616391471142722 15145949444951830921652208003023316837100881974608246803351470389227871614884735116328751120002419798899693646016407932497334097063583574249170524027447258803874310662728441915617652784528426863201793280599567207555649476195141755189305944660279389621371040357243178699820937269541212380100593175800461435773527291662170754636146246152293974468882719998832623696390019337372880279611459795424096035962166624173760622328330472311974860279839380665278340144268586100500703476517844682845119402569922964647227949197373094506777911471521584281157846887724877204604240801361842253149585680560463918775586043456520518734990972395022424067407364590420987973601614180657077177694781619563641237289195021983945800923614958861864855599680895890130203166694256188576840916508201747312305731988152182863081720830865401318340156406790640782239684317997172556977035030380693551371854774781614523657748708871565503544432413508907532941744963852610559092939775101433450179310451697810204715988513636659882082938505050400624845634990457762724313541022910286332130572556720818677023045707669989422018941417668330964178658682303670851517078371680629643268414765672251454625686795517187212421007656677152698735039840939475656280885437277141026876472542365554785699079071880894488323572465073309313427874463820444217718061650580086443433888467270682756537959168849950465935615649464088211122706300925285221144148681176734380728341835086212226395416788131433100179626570322438700563059712662783116821772265481968874403186873010060575269109775189878238021872396662231757492380368611571599317540367139077373992285129394915307044928272513249139109301123967482565884124843706075560348050862242033492091350143895365520952510187918102086246622759443156713972286719930035275951896560446335036746558977595999535827734787573601207502861092416799748684618705009743922758126841327081237896154362043997530267176022956204941495893112963925630795565093604024766554732317383032901569390409229140764699969595524251382507367232590915053384573183554692873576816411620993027449014023027501352039705443287444722513440004667958882306777337853558157253073758862487494987092880683064210352136929799344491336119480535711590613982047021670099826904576932500874490433981376142737757470018358395462822564784561729031334663422617186487238563023658514724373229064453080349687933960782910911317308512716125852616560286912105632769824103521213484606516031693087565555523907477078548837827001298828398562834200070300356687661122771257111283341933973754048283723710107183350804043094599110410508821201119889955045608612889799510864968412008949063138847321215681151667961157772766339914322250949697387381205861800255289934230670734249048979655910798362273399399426291174221253352858161758309146963249818784409807730395705715038666903845681656772618817327581254067688384491971480147642029128829066048606728560574193709506695369995039453012005582551977032776364909881743411717186622251428344032954449484030919705284870089171918697982966267095800124468833883283061646287516064013963043865751446102707133392263443769009456280566815865667313113432651847392522260807800490883174963503839193266178805648921200792549286931083167631266783336315650238916458059381790727719983565430606282657899210488136803679958100885292639351402521837480064529560962890149782464260486387407075520161806175674809105700813674718734549211264656680733436869493813465278144012901323222388346056083386706550159459777475587085768717942093648801132447881989445434271972067458975345841629976737576695198719585519824645133157513276654102651228516859655001418369683091700923422808294406207529734869947829508679689457226704226671412015924493052213345093409321 24506660993819666913999137130856104645116716460122396245174273550544519383931376779761066205539088549301843416457208817281839765571664465479351993487621058483748362732657335038077411125964111781734840376937691324358409184946995269198694053408042398272330613999783334970256518185938401592546163985122025987884782339640962764186776881459751943379093556991805960050594053220646478549366855036946194530586349253378881023414159041723354613074692651180410607785607702548393926954090033850581086570277464511307573349907473980834363500029693294496378638930328452317308792989485055466764509516960006957680167764179770232998100782711369178848117292477402588276982409671774400142032609155580290908062978693388231246271262964035636832448961499109618857278001921329065382267941501656741903507374866077421032399544183290597972179367816603913513990781504418676834766382410390406727325131758345551371829167879087750868297073156490272605604241623436678786454421591436264615013090267827333969494912817159214326056740489676406955191061643874187632184694927812227494872737222305252338795264100826491514785256898717274601290525324136145882535938634950437991588335223111117075501182739928563481490057375174600779780145869083273681732627118027383359346756233633777899667923477257667981332556927598025691628549814143047353628675566948102471602186461183547861976486082109175928418594141986686722343033430724250304868250209629489634403117551421021666468145828304228821750769487673952219862271335588806903061091902834931058969615834422501625674142914392893801072048917225563586105497193076457387516604698684949086907711504600374364956069339739208939538533955021355673730814552569768537236959406833771772874519054860025281938361558588351542213490793386812381388343355324297701126834257183564238665958315137249129408386348252379254768764227840393068727951730480366000422596336180837799928903965350150265112489183151032564565048445733268261383393264047223150698932073163382150218910321369562957394599203556857830002370171685831425759655971402971872831053088461105078726111688381494677316638986563401186974257481755885049185217872098271334771994389446376752786679992003287463234541536675559672463299191259933366329799015554906533114890038191694166724684364121132903218711140916395170822264984363503991450348189805306309113124109050546964859345867758164763505690103156914077141417439482611526071786847721250167024922292755244901750817264126137492843077702695578810816679681355277460711156815893281666040962730282650671876231167040293325663821152404786193257838917900918791199285035977996416308785445953452240143821963414454842876635697771155537679213638855667745786207770916413070742043382834898405114154060187404492182203002322749902907017502965781979614602089324132312588269652983846672603227486309505190479638022351714714721507401815004428586406712796182732523021254136421831956909130297235713605655532285873839911343038961000888229210147636524027475424848814328452572081661327411117217696645947710723069977651565629132287192672161837362233668555112039440257846213217527041352276987679039417727677895406999199123568937740841700804181869038863106773950677184256656676338595714044666648912623810793834918217095877239675892956300563392830296942175427730183206755211368216326300887703089615615353763526799292705468721050024223135927088963087166204542458955088933997795460217875479076132023957621178396252890208497803562367142870044975884461614034665076264165497491118378094576034688763183014410899669363929509381303559581515645177329964203441102395276359148382078494775470339153883381068640619494935346875005365476899417946291016273657297871608871816670252860501015327101556566644054829736564552043 39652610438771497835651345133879421482217598434730643048525743939772390998816111896089817325541508348201537062473616749779173862635248039728522517515068317287622673395385776953695063910492538644936633657537258531914058661142137024387999998068321787893701654357026513670077455455479613972646757160922487423658309631303133518822923127612045917847976276990638583746984072558019358828978314832370290566548515877552641645742489514035329473354532031845688947929876288648894630430607878533426205972847387475954801299104847075341141411501214878777536485818053329521913033790846897719914095197520470876455753807636290751733091755106391602915524657067823576250584023852431477319727390775143932145352173715372177047194877922897501688048642394999749060444696177517642223184449703404054209239363018260284114120375048691916312335774607244695753675099501591233811801412791083958099179906539960075029577876750653254412729486665397805547349205476047237879394196692869714794323541965637538685483426453819096408995245540077031800826052101636911945725717838098559625445293943123929361840971770815913533726674567048238779949207627806997399614310315580081260003100895362571701187978257115775902497714052327299514819986808558929962618064395168410235819298599188563598746995358152156304905022000907339119503013634587265071690326147034545905490653731866304399935654932059641864034243606074897845049334356009471449016931386363870362744952637633248061884933959737329001377339810112652782921983998371923724833357384803805462156488844483076894783918104271131822944445579457321078485865804648056705056971837762323079192840899515681409884341852988348048839657922503921557855658258645328885287821648867263864224662950225546234448549476690437788836250236543526353675063285359573653023394703518600985224935911136784957143173921853586757629856644640141753346656740224288758549437663262075696083266009347680532288512139355974060458161409658899056948486868071989705431249456196283719609319550510327657364194727808240337369602762600884810332839526095845449647464709454132527740134715882846717022082274008123700414262149714767355962555725656428587845753251933871739879560675067497815371471336020051008582779726971523980311846037225006360019466970692568657158665740263870660688729499311857993387049546092535326113770806991793547676147767565271338088410320838514451439650886067825394449930155608464142632073759826882936849025813968729508266848957213703048366985179774127648643680980183676023545356886193638353702085501539761955218165140794341609387531259588136997300933517011329300020486155867951461917398335752963105112233972363517981723956913452307205640371411622007660108458720613800451947905183090188339344824794436453471838113800685023302306443794140003232967460251082441459551519471768256480333623192024543857383483704008487333538834983069072116970898684276330374552150083202470438685469704490945220301025527325326851916925590938033664594120029379935744662047100242672485526531145358330822502566735119629421052943918661429256756026555444899008521184619126002484123597659320234174744540431448048874008244711272666512237001589588234223064989669529746281737454516377522835481987516914837215935843706978425101701553411527478592351015682354120550280507606034012841105965699505020006258988588382254966756285364279357235029683940174005600187575350494241724704265130763743103496273892594213625343288614301911833122384021963081706380044193267364230517697421371626423625274966705463863293976782411984146858781658809363781353371018556861486807306701780136301114861878973027211652288746993256534609585500274496353716558097066400322226240697223803392167819438380496359710087205241998513572491137107043081657961364 64159271432591164749650482264735526127334314894853039293700017490316910382747488675850883531080596897503380478930825567061013628206912505207874511002689375771371036128043111991772475036456650426671474034474949856272467846089132293586694051476364186166032268356809848640333973641418015565192921146044513411543091970944096283009700009071797861227069833982444543797578125778665837378345169869316485097134865130931522669156648555758684086429224683026099555715483991197288557384697912384007292543124851987262374649012321056175504911530908173273915124748381781839221826780331953186678604714480477834135921571816060984731192537817760781763641949545226164527566433524205877461759999930724223053415152408760408293466140886933138520497603894109367917722698098846707605452391205060796112746737884337705146519919231982514284515142423848609267665881006009910646567795201474364826505038298305626401407044629741005281026559821888078152953447099483916665848618284305979409336632233464872654978339270978310735051986029753438756017113745511099577910412765910787120318031165429181700636235871642405048511931465765513381239732951943143282150248950530519251591436118473688776689160997044339383987771427501900294600132677642203644350691513195793595166054832822341498414918835409824286237578928505364811131563448730312425319001713982648377092840193049852261912141014168817792452837748061584567392367786733721753885181595993359997148070189054269728353079788041557823128109297786605002784255333960730627894449287638736521126104678905578520458061018664025624016494496682884664591362997724514092573576536447272166100552404116055774840411192727556988378191877525277231586472811215097422524781055701035637099182005085571516386911035278789331049741029930338735063406640683871354150228960702165223890894226274034086551560270105966012398620872480534822074608470704654758972033999442913496012169974697830797401001322507006625023209855392167318331880132119212856130181529359665869828229871879890614758793931365098167371972934286716236092495497498817322478517797915237606466246404264341394338721260571524887388519631470652405147773597754699922617747641380248492666240667070785278606012872695610681046078918231457346641645052779912893134357008884262823883350104385003563907440640228253164209314530456039317564118996797099856789271876615818302947756188596679214945340989224739471591347595091075668703860607548133103873948106723974410017666221339840541210062882469706459460360661538953484256513702086920019743048231822412627094396307834634935051352411992923190558772434912248091219771191845947878226183781706415345256055935777972824600592611223462743319585050477675405894666491530213522689948565925086744458978854623857964020316803007773205213461297105785212582062340406573772139789124752103152936850678334049047863121726360202048260342384884076545557305397072513107075171337338892270642378834788180933906681059611200691828268629899034552823330177016459772137471949057000938098612806685741939720263381067340144122921570227058389043219227606736370754853174238041924381443872537761216096817419127088291735922606679665711360570527329075923869171538568609388511405193561779492158326112628881882584756330789218936619770507404718268243971982917513380577449781461743024312720910873236332559876291471870582110048891078649940498404990198228736114664313581407929246724085852677101291734110469692701475312571923090229375274230460885268747187063312340114979311456036702687790772457823841957870011471175167161269681328173293290734674578138377131984636665983577403510138238121409290147064217332410417990654140893991289063433102431877221644186988240077049465691047252313029962947706257325615129057781161872818222513407 103811881871362662585301827398614947609551913329583682342225761430089301381563600571940700856622105245704917541404442316840187490842160544936397028517757693058993709523428888945467538946949189071608107692012208388186526507231269317974694049544685974059733922713836362310411429096897629537839678306967000835201401602247229801832623136683843779075046110973083127544562198336685196207323484701686775663683381008484164314899138069794013559783756714871788503645360279846183187815305790917433498515972239463217175948117168131516646323032123052051451610566435111361134860571178850906592699912000948710591675379452351736464284292924152384679166606613049740778150457376637354781487390705868155198767326124132585340661018809830640208546246289109116978167394276364349828636840908464850321986100902597989260640294280674430596850917031093305021340980507601144458369207992558322925684944838265701430984921380394259693756046487285883700302652575531154545242814977175694203660174199102411340461765724797407144047231569830470556843165847148011523636130604009346745763325108553111062477207642458318582238606032813752161188940579750140681764559266110600511594537013836260477877139254160115286485485479829199809420119486201133606968755908364203830985353432010905097161914193561980591142600929412703930634577083317577497009327861017194282583493924916156661847795946228459656487081354136482412441702142743193202902112982357230359893022826687517790238013747778886824505449107899257785706239332332654352727806672442541983282593523388655415241979122935157446960940076140205743077228802372570797630548374209595245293393303631737184724753045715905037217849800029198789442131069860426307812602704568299501323844955311117750835460511969227119885991266473865088738469926043445007173623664220766209115830137410819043694734191959552770028477517120676575421265210928943517521471662704989192095435984045511329689513461862980685481371265051066375280367000191202561561430985555949589437549422390218272122988659173338504741575696887601046425335023594662772125982507369370134206381120147188111360803534579648587802781781185419761110329323411128510463500893314120232545801342138283093977484208715661689628858645202981326953491090004919253153823979576831481042015844648874224596170139540111157596364076548574643677889803788893404465419644181089641036166509435193666384991875292564866041277750699539811335934367375016040722973920692703918284515178553543589577048062243834108104041641722629507801870588280558373445133733362174582312561448628976544438883671581060187859705951923577391240257347713899340143582117459378450368289908141490806324549524675769948959956462099683066003125212144013974637853749015275083803803649060311435858430603692796507519905091245788445549522591489015231691308596520359633270473870358592905246605430368689381799177367953148662528204081348843481627321420541362709327848539279126154207706586936527543745194220837068217417450206396395516799519049299673423625143952044072762222830116186969565175865488888487645799245783051635379276037793364044408505041531857995390841357850575137165744167317952332223597572116917310146934161208098355670248859709939302327640313629543719098520600037767644038321323918932196860594987665271633930857957387495755865418686610378256338818864879854125548866334255358007175528088930372234336302239664075649653950989216616420204788008003063906326818601186225002062497658252423966975127231256579704345497008877408329111416047424529305821163988253587151308128462986982657072088045596695238618791943367763713704625000117094436501799352964325666952600239641168487642779991199498277543870427685463880441633510485632809389673034911499324128701548918268915899880474771 167971153303953827334952309663350473736886228224436721635925778920406211764311089247791584387702702143208298020335267883901201119049073050144271539520447068830364745651472000937240013983405839498279581726487158244458994353320401611561388101021050160225766191070646210950745402738315645103032599453011514246744493573191326084842323145755641640302115944955527671342140324115351033585668654571003260760818246139415686984055786625552697646212981397897888059360844271043471745200003703301440791059097091450479550597129489187692151234563031225325366735314816893200356687351510804093271304626481426544727596951268412721195476830741913166442808556158275905305716890900843232243247390636592378252182478532892993634127159696763778729043850183218484895890092375211057434089232113525646434732838786935694407160213512656944881366059454941914289006861513611055104937003194032687752189983136571327832391966010135264974782606309173961853256099675015071211091433261481673612996806432567283995440104995775717879099217599583909312860279592659111101546543369920133866081356273982292763113443514100723630750537498579265542428673531693283963914808216641119763185973132309949254566300251204454670473256907331100104020252163843337251319447421559997426151408264833246595576833028971804877380179857918068741766140532047889922328329574999842659676334117966008923759936960397277448939919102198066979834069929476914956787294578350590357041093015741787518591093535820444647633558405685862788490494666293384980622255960081278504408698202294233935700040141599183070977434572823090407668591800097084890204124910656867411393945707747792959565164238443462025596041677554476021028603881075523730337383760269335138423026960396689267222371547248016450935732296404203823801876566727316361323852624922931433006724363684853130246294462065518782427098389601211397495873681633598276493505662147902688107605958743342127090514784369987310504581120443233693612247132310415417691612514915615459265779294270108886881782590538436672113548631174317282517830521093480094604500305284607740672627524411529505699524795151173475191301412656072166258102921165828433081248534694368725212042009209068372583497081411272370674937563434438673595136142784832146288180988461094304925365949033877788503610779768364321805678607004613961242008800585993261254691520796907943983922698031872881330332864517304337632625345790615480039794974923149144596922027416678328302181399893384130787110944713540567564402303261582992058384290367478393188181965184587209406957756463611479490236083573983378418478386835825482460028539559847218369765899165793795624345843919463630925142135899232692279541512577358471897791703674227497327802314940361828262782503684169399878747406700569712733366388351573658131584931895589003831097721272462786207324548692641953109727156728891430059519752837225208085509478421356588702492757880254979970227374067307088114387646547728235573462850736102770240780383412855288936990998356674361723756758729814701943093497254309709298787059115546034842465010658371750030890967602086332886485404395756606938175269702225457480089924631997934958142644246386070803332746666965058760264903501081819798639742172600981105356368556862974941094426336915128838959648189147311435407168957498889731407521251492671378741171325996130976383146436657116026493920570463072416903977657057583197713302469097306079742113533599028293913758148092291872932482884852243874418319892044460476320333445031799206819882353147779033999724762318469398144315155950362822720174833615750776580033747291108135138355215845791946417181658077370590893782062478931843424301930154765514614673703957491099201532885122419635982617756649743830606699430788718102988178 271783035175316489920254137061965421346438141554020403978151540350495513145874689819732285244324807388913215561739710200741388609891233595080668568038204761889358455174900889882707552930355028569887689418499366632645520860551670929536082150565736134285500113784482573261156831835213274640872277759978515081945895175438555886674946282439485419377162055928610798886702522452036229792992139272690036424501627147899851298954924695346711205996738112769676563006204550889654933015309494218874289575069330913696726545246657319208797557595154277376818345881252004561491547922689654999864004538482375255319272330720764457659761123666065551121975162771325646083867348277480587024734781342460533450949804657025578974788178506594418937590096472327601874057486651575407262726073021990496756718939689533683667800507793331375478216976486035219310347842021212199563306211186591010677874927974837029263376887390529524668538652796459845553558752250546225756334248238657367816656980631669695335901870720573125023146449169414379869703445439807122625182673973929480611844681382535403825590651156559042212989143531393017703617614111443424645679367482751720274780510146146209732443439505364569956958742387160299913440371650044470858288203329924201257136761696844151692738747222533785468522780787330772672400717615365467419337657436017036942259828042882165585607732906625737105427000456334549392275772072220108159689407560707820716934115842429305308829107283599331472139007513585120574196733998626039333350062632523820487691291725682889350942019264534340517938374648963296150745820602469655687834673284866462656687339011379530144289917284159367062813891477583674810470734950935950038149986464837634639746871915707807018057832059217243570821723562878068912540346492770761368497476289143697642122554501095672173941028654025071552455575906721887972917138892562541794014977324852891880203041942788853456780028246232967995985952385494300068892614132501617979253043500471565048703328716660327159004771249711775176855124328061918328943165544688142866730482812653977874879008644558717617060328329730822062994083193841491927368432244576956943544749428008488957757843351347351466560981290126934060303796208637420000548627232789751399442004968037925785967381793682752013099780919308475479402042683553188604919898604374886665720111164977997585020089207467066547715324739809869203673903096490155291375729342298165185319895948109382246586696578446927720364159006957374675668443944984212499860254878648036766633315698546761791719519205092588023929119755155043566278184338759402873700285887273746558513348016625172245992635752060954437249691660575002641239497974677041537900916915818241471965656063955636912066586152744480835737178010393366220253271479597362103681107523384604235522406317792822419477798419051234858356332587097580811858697120790373870613713559770200070329814178421617689298075913346433242322094233484255779318657071573170987658230589809250805736510047656347785348900710773887464165923613441279274474652548004033680641710793710007129306928760966130741391526936253751997779533120277362623224257242584330158555714761163696217737493954765320729009124613440384147438953371716320079625956406324507013262418345269111989433947313460781242293364556453254755150094131629749010197606051180121679842717401794664291554582850942697408719143641732707237148702519085517510867750116597505355112514944373094354370590735308819219001649576471748805973329210853360910622867306882453600197987978349469777526607302138607434910765771528854369568523401511004812760138472310282293745770145983744323191133423230966574623415501428432309385042359167837932732712018517931809309017529255973872532155617699704617983462949 439754188479270317255206446725315895083324369778457125614077319270901724910185779067523869632027509532121513582074978084642589728940306645224940107558651830719723200826372890819947566913760868068167271144986524877104515213872072541097470251586786294511266304855128784211902234573528919743904877212990029328690388748629881971517269428195127059679278000884138470228842846567387263378660793843693297185319873287315538283010711320899408852209719510667564622367048821933126678215313197520315080634166422364176277142376146506900948792158185502702185081196068897761848235274200459093135309164963801800046869281989177178855237954407978717564783718929601551389584239178323819267982171979052911703132283189918572608915338203358197666633946655546086769947579026786464696815305135516143191451778476469378074960721305988320359583035940977133599354703534823254668243214380623698430064911111408357095768853400664789643321259105633807406814851925561296967425681500139041429653787064236979331341975716348842902245666768998289182563725032466233726729217343849614477926037656517696588704094670659765843739681029972283246046287643136708609594175699392840037966483278456158987009739756569024627431999294491400017460623813887808109607650751484198683288169961677398288315580251505590345902960645248841414166858147413357341665987011016879601936162160848174509367669867023014554366919558532616372109842001697023116476702139058411073975208858171092827420200819419776119772565919270983362687228664919424313972318592605098992099989927977123286642059406133523588915809221786386558414412402566740578038798195523330068081284719127323103855081522602829088409933155138150831499338832011473768487370225106969778169898876104496285280203606465260021757455859282272736342223059498077729821328914066629075129278864780525304187323116090590334882674296323099370413012574196140070508482987000794568310647901532195583870543030602955306490533505937533762504861264812033396944656015387180507969108010930436045886553840250211848968672959236235611460996065781622961334983117938585615551636168970247122759853124881995538185384606497564093626535165742785376625997962702857682969885360556419839144478371538206430978733772071858674143763375574583545730185956499020090892747742716629801603391699076839801207721290557802566161907404960879926974802685774905529004011905498939429045657604327173541306528442280770771415524317221314329916817975526060574888877978340311851151269951670915243232846248245795491918639169015515159821497663731349001126476961556199503419355838729026944696662725595228356160314426833593776883113915790966041616981595980418068174833796474235333519039487254400009798708619492468969293458378895998740329368656428650235615925417093935932986637867948935761812692455280193239353504039065285205685122967743876811466059743826472241918216873627599078699223038191556659032306936301872669268303287413740330436481880031984014892119922309273757899010973222106094673501046013022147072657469503702166109017110695588983773439607119579715484175804368378879337819728568217074278012340649508604717708389979588080704347167216328093513857405410082288540826701432285787769389516941465967237593113888921060731312774881369988203512771606027118272906961649928553728771725410753644881501652881241681576347222506117810819100548231321407581076771513160481136047619389764820346415821554614816947492230131104383406428702521186646243523218193671462876067896363793266449649544298392709829687189235601379231987703111788246924751617294557797733485946362470120345103435258295920895276827526128085692187327641821693782027205293445506466839803358587074899657032871795423831913551403054228945000147012623616362762317130493336086451127 711537223654586807175460583787281316429762511332477529592228859621397238056060468887256154876352316921034729143814688285383978338831540240305608675596856592609081656001273780702655119844115896638054960563485891509750036074423743470633552402152522428796766418639611357473059066408742194384777154972968544410636283924068437858192215710634612479056440056812749269115545369019423493171652933116383333609821500435215389581965636016246120058206457623437241185373253372822781611230622691739189370209235753277873003687622803826109746349753339780079003427077320902323339783196890114092999313703446177055366141612709941636514999078074044268686758881700927197473451587455804406292716953321513445154082087846944151583703516709952616604224043127873688644005065678361871959541378157506639948170718166003061742761229099319695837800012427012352909702545556035454231549425567214709107939839086245386359145740791194314311859911902093652960373604176107522723759929738796409246310767695906674667243846436921967925392115938412669052267170472273356351911891317779095089770719039053100414294745827218808056728824561365300949663901754580133255273543182144560312746993424602368719453179261933594584390741681651699930900995463932278967895854081408399940424931658521549981054327474039375814425741432579614086567575762778824761003644447033916544195990203730340094975402773648751659793920014867165764385614073917131276166109699766231790909324700600398136249308103019107591911573432856103936883962663545463647322381225128919479791281653660012637584078670667864106854183870749682709160233005036396265873471480389792724768623730506853248144998806762196151223824632721825641970073782947423806637356689944604417916770791812303303338035665682503592579179422160341648882569552268839098318805203210326717251833365876197478128351770115661887338250203044987343330151466758681864523460311853686448513689844321049040650571276835923302476485891431833831397475397313651376197699515858745556672436727590763204891325089961987025823797287298153940404161610469765828065465930592563490430644813528964739820181454612817601179467800339056020994967410319742320170747390711346640727728711903771305705459661665140491282529980709278674692390608364334945172190924536945876860129536399381814703172618385315280609763974110991171081806009335766592694913850752903114024101112966005976760982344137042744980431538770926062791253659519479515236713923635442821475574556787239571515428958628289918901290193230007991778894047663551926454813362278110792845996166648787527348475593884070510974847064354631229860600314107340335396461932416138287609617348041372505424525457049237974758537461931441547699625535310710441259114442851635652395954809173131071353103427487302153239909347546297865493799978664797474875910356858107625162921386795111669822392330924053053776913994417972949312936597961756729362121114723490358566379200760173572758576113516239794210776993882444745557241563031356900410011093669369932421558180277589630274940724136868258248092155123613396125886598078386008644748489534347815669539276903260602497241510256950703928604409800658252069572166573778506278320656197606516778514130381850114676546485605241140357269181205877001465931116875139107706854275110709796022136281864008400031595784510990691773953273686239490661817950025985699135659622455857889855191261122472057495118340640132327815242346728609738518943646894281000614113953502490681877717472835542072422978755151753620452554496118054979429975681461258024451358919433165232644251717891324489913626836769300733655415299836410379437957473625566016973160628524412081090255304787019384284699392039633356564625569920986038254017676268597488894917934830197954069914076 1151291412133857124430667030512597211513086881110934655206306178892298962966246247954780024508379826453156242725889666370026568067771846885530548783155508423328804856827646671522602686757876764706222231708472416386854551288295816011731022653739308723308032723494740141684961300982271114128682032185958573739326672672698319829709485138829739538735718057696887739344388215586810756550313726960076630795141373722530927864976347337145528910416177134104805807740302194755908289445935889259504450843402175642049280829998950333010695141911525282781188508273389800085188018471090573186134622868409978855413010894699118815370237032482022986251542600630528748863035826634128225560699125300566356857214371036862724192618854913310814270857989783419775413952644705148336656356683293022783139622496642472439817721950405308016197383048367989486509057249090858708899792639947838407538004750197653743454914594191859103955181171007727460367188456101668819691185611238935450675964554760143653998585822153270810827637782707410958234830895504739590078641108661628709567696756695570797002998840497878573900468505591337584195710189397716841864867718881537400350713476703058527706462919018502619211822740976143099948361619277820087077503504832892598623713101620198948269369907725544966160328702077828455500734433910192182102669631458050796146132152364578514604343072640671766214160839573399782136495456075614154392642811838824642864884533558771490963669508922438883711684139352127087299571191328464887961294699817734018471891271581637135924226138076801387695769993092536069267574645407603136843912269675913122792849908449634176352000080329365025239633757787859976473469412614958897575124726915051574196086669667916799588618239272147763614336635281442614385224792611766916828140134117276955792381112230656722782315674886206252222220924499368086713743164040954821935031943298854481016824337745853244624521114307438878608967019397369367593902336662125684773142355531245926064641544738521199250777878930212198874792470246534389551865157676251388789400449048531149105982280982499211862580034579494813139364852406836620114621502576062527696796745353414204323697614072460191144849938033203346922261263752781137348836153983938918490902376881035965967752877279116011616306564317462155081817485264668793737243713414296646519669716536527808643028113018464945405806639948464216286286959981051696834206777976740793845153531899161503396364452535127551422666698910299205162134136441475803483697533216679067086276311026009459793972473128204987030767831432613097455671509789949859586020914740940934112279575848207104329226598944021790573599359253523473308277576949185841557498334154803179410552572821747634392725323465601781306969028844581238086226547215495233627306492433944990714229414395923392830848044354538988481288452074750525295695130868045572028012159636153313388394428051025363027834682488173913903195057993548223809102896916191718503456252536253462995083512139682392079494215649781291796383957834832457242021531762243193111610062402446764887982568218102564889947551617552769207214949900236538784632951577016986345583429571983860794819147357629892304547903647323316081914139599494162201088581956087246989669443888481166225979761236760638349750908007274762044913097437392232373350300496192357301480918498257307106716736393969018370991238880512236877841534162194747144762734576859714121925372349415467646857637171696162144753785369199335338872628299450146330282241685353656358661963384573046271376110536727723030377737664253794610258730272027596654550692127362538465130144801267387710755187833817857587557095108145606459184356424911428780396539121324040267199017823281221105257680251960691290156365203 1862828635788443931606127614299878527942849392443412184798535038513696201022306716842036179384732143374190971869704354655410546406603387125836157458752365015937886512828920452225257806601992661344277192271958307896604587362719559482364575055891831152104799142134351499158020367391013308513459187158927118149962956596766757687901700849464352017792158114509637008459933584606234249721966660076459964404962874157746317446941983353391648968622634757542046993113555567578689900676558580998693821052637928919922284517621754159120441491664865062860191935350710702408527801667980687279133936571856155910779152507409060451885236110556067254938301482331455946336487414089932631853416078622079802011296458883806875776322371623263430875082032911293464057957710383510208615898061450529423087793214808475501560483179504627712035183060795001839418759794646894163131342065515053116645944589283899129814060334983053418267041082909821113327562060277776342414945540977731859922275322456050328665829668590192778753029898645823627287098065977012946430552999979407804657467475734623897417293586325097381957197330152702885145374091152296975120141262063681960663460470127660896425916098280436213796213482657794799879262614741752366045399358914300998564138033278720498250424235199584341974754443510408069587302009672971006863673275905084712690328142568308854699318475414320517873954759588266947900881070149531285668808921538590874655793858259371889099918817025457991303595712784983191236455153992010351608617081042862937951682553235297148561810216747469251802624176963285751976734878412639533109785741156302915517618532180141029600145079136127221390857582420581802115439486397906321381762083604996178614003440459729102891956274937830267206915814703602956034107362164035755926458939320487282509632945596532920260444026656321914109559174702413074057073315507713503799555403610708167465338027590174293665171685584274801911443505288801201425299812059439336149340055047104671621313981466111962455669204020174185900616267533832543492269319286721154617465914979123712596412925796028176602400216034107630740544320207175676135616469986382270016967492744125550964425342784363962450555397694868487413543793733490416023528544592303253436074567805572911844613006815515393431009736935847470362427249238779784908325519423632413112364630387280711757052214131430951382567622292601259031267391519822622896998031636260273360390245822796946217840027091914790994182127868927495081035426634705811475476427264342619012731124388287570586818469294853774558116307026497167966646356854304490815881515055048274447676037780623242616836216292063163079023884710572711283036114411117283105197959690113889851811687264599270045121278274774912378322132272068540239466456563041531492800292412609788189105324752781500456010965741334100151110844405674578349472044862463544977325096234115070117756549165748853386401061688934087475953634107064463603313673910074163249013494099284819895493523233351762011915773830058881426658898558969325500269623917366806507735949000525150896627316707636912705617090894456029809712191410493489488561555986817644597653001738557639301097468013827498821326417777705166196590686085099403341445851137293123991135375005356305333686615511871348145773044289138770444944693221903223065124253769878596792142736448283292805852396016424876260846430141634708935336652502834879472577976923588323860444315996309748647471751125198652826631502842034877411295607054601899950734796181471711338091939066034304295827469456160888263021989382145119100172357108796897388206107427198948844568102274892953727728348462342269668647350412932625843469055816951062136961164691245026305453035499549818594152598186790889244226279279 3014120047922301056036794644812475739455936273554346840004841217405995163988552964796816203893111969827347214595594021025437114474375234011366706241907873439266691369656567123747860493359869426050499423980430724283459138651015375494095597709631139875412831865629091640842981668373284422642141219344885691889289629269465077517611185988294091556527876172206524747804321800193045006272280387036536595200104247880277245311918330690537177879038811891646852800853857762334598190122494470258198271896040104561971565347620704492131136633576390345641380443624100502493715820139071260465268559440266134766192163402108179267255473143038090241189844082961984695199523240724060857414115203922646158868510829920669599968941226536574245145940022694713239471910355088658545272254744743552206227415711450947941378205129909935728232566109162991325927817043737752872031134705462891524183949339481552873268974929174912522222222253917548573694750516379445162106131152216667310598239877216193982664415490743463589580667681353234585521928961481752536509194108641036514225164232430194694420292426822975955857665835744040469341084280550013816985008980945219361014173946830719424132379017298938833008036223633937899827624234019572453122902863747193597187851134898919446519794142925129308135083145588236525088036443583163188966342907363135508836460294932887369303661548054992284088115599161666730037376526225145440061451733377415517520678391818143380063588325947896875015279852137110278536026345320475239569911780860596956423573824816934284486036354824270639498394170055821821244309523820242669953698010832216038310468440629775205952145159465492246630491340208441778588908899012865218956886810520047752810090110127645902480574514209978030821252449985045570419332154775802672754599073437764238302014057827189643042759701542528166331780099201781160770816479548668325734587346909562648482162365336027538289692799891713680520410524686170569019202148721565020922482410578350597685955526204633161706447082950386384775408737780366933044134476962972543406866364027654861702395206778527388464980250613602443879909172614012296250237972562444797713764238097539755288122956856824153595405335728071834335805057486271553372364698576242171926976944686608877812365884094631405047316301253309625444244734503448578645569232837929059632034346923808520400080327149895896788374262241065475317554351500874319731204809613001067205543777721958449614204479627042342416848826779226700243169563076181614959173960481021686099007435414297030380790942423058761588884138459110265422317866644254350401902429795989208559955613628830346946062815236084953652623243964096184591313691360303124662696293844917069262364260086346904437846601740376693685291161116649778325693003778536765120106784846554778903334739148704893286859010095873088632399296480425103645167175730509117005337255870268383506150977216774216414235744177108001379148692100612687412416570826265881752469746635538282890577035373034154091409989479840173223042856393801782742291155679609999619346011402971915784609884925739477595564642512008799016927141310730028273194507563834630943236431310541500095916615371457391125874321425028482278504825684593565542534433093380370980804818893837471559666376748631986495523952296413532489857790659295455438474554266070954093623654946540599912569132410393894631837669022146945813178186665029626617340711500448037982369688345725216294329388296894814971385288211234212750168235354052046281017037866825367696753902450607350567203579992888611293399727046398913710431087380824494042756799554561487309698247076160341438483536296160127256204445521078232302653412241862490917357703812569066572652053322831039699410278438751580534382644482 4876948683710744987642922259112354267398785665997759024803376255919691365010859681638852383277844113201538186465298375680847660880978621137202863700660238455204577882485487575973118299961862087394776616252389032180063726013734934976460172765522971027517631007763443140001002035764297731155600406503812810039252585866231835205512886837758443574320034286716161756264255384799279255994247047112996559605067122038023562758860314043928826847661446649188899793967413329913288090799053051256892092948678033481893849865242458651251578125241255408501572378974811204902243621807051947744402496012122290676971315909517239719140709253594157496128145565293440641536010654813993489267531282544725960879807288804476475745263598159837676021022055606006703529868065472168753888152806194081629315208926259423442938688309414563440267749169957993165346576838384647035162476770977944640829893928765452003083035264157965940489263336827369687022312576657221504521076693194399170520515199672244311330245159333656368333697579999058212809027027458765482939747108620444318882631708164818591837586013148073337814863165896743354486458371702310792105150243008901321677634416958380320558295115579375046804249706291732699706886848761324819168302222661494595751989168177639944770218378124713650109837589098644594675338453256134195830016183268220221526788437501196224002980023469312801962070358749933677938257596374676725730260654916006392176472250077515269163507142973354866318875564922093469772481499312485591178528861903459894375256378052231433047846571571739891301018347019107573221044402232882203063483751988518953828086972809916235552290238601619468021348922629023580704348385410771540338648894125043931424093550587375005372530789147808298028168264688648526453439516939838428681058012758251520811647003423722563303203728198850080441339273904194234827889795056381829534142750520270815947500392926201831954864485475988482431854029974971770444501960781004357071822465625455269307269507670745124162116286970560570676025005314199476536403796249693698024332279006778574298808132574555565067380466647710074620453492821187972385854442548827067730731730841665306252548299641188116045960733422940321749348851219761969395893243168545425363051512492181789656978890910146798478326038189157095806671983742228363553894752261561472744398977311089232157132541281326848170941884533666734348821743020696942628202841249261340565934023544755395832044506718957133411030954648154195324204989710887426434650387745364305111738559802584600967609411717912536147000445485607433388964223498558841217783944851037483007631651409453589562899031528148116731647128674668895874349805771420407767894253535030959114175947350946174482967880015151606063613293388718318565159460341578296612907077259164567092440063901486393742869975837207188783510140886099681994639220592972661982662352104383453623907526382523069800636805866042088855102326207677151015730244736340045001483240734823102786070558606385916103325763309899054649701754952771108242560779596976806127081960403497066681237201633376390301181733406464828826639332721223517761756063550652275540889433049099139397014083385284889947200739202733648475095511769692968883980284230673494971940193899193776893352992260503334641296996585552302934802483881198678503598808035949550885766391394823892718421528426818770892684099163781654748514839167864506089918688424036361842814004342034964941801139422093467798016791053269090161463842408653946231751834048297079034845841516641654863031049449049499556421716428544032810603444489621391430962906981760436154266349351053295166211884758502396924851795934010858146122468058813553054318868503814092878105088822380858293562876625542469778608923761 7891068731633046043679716903924830006854721939552105864808217473325686528999412646435668587170956083028885401060892396706284775355353855148569569942568111894471269252142054699720978793321731513445276040232819756463522864664750310470555770475154110902930462873392534780843983704137582153797741625848698501928542215135696912723124072826052535130847910458922686504068577184992324262266527434149533154805171369918300808070778644734466004726700258540835752594821271092247886280921547521515090364844718138043865415212863163143382714758817645754142952822598911707395959441946123208209671055452388425443163479311625418986396182396632247737317989648255425336735533895538054346681646486467372119748318118725146075714204824696411921166962078300719943001778420560827299160407550937633835542624637710371384316893439324499168500315279120984491274393882122399907193611476440836165013843268247004876352010193332878462711485590744918260717063093036666666627207845411066481118755076888438293994660650077119957914365261352292798330955988940518019448941217261480833107795940595013286257878439971049293672529001640783823827542652252324609090159223954120682691808363789099744690674132878313879812285929925670599534511082780897272291205086408688192939840303076559391290012521049842958244920734686881119763374896839297384796359090631355730363248732434083593306641571524305086050185957911600407975634122599822165791712388293421909697150641895658649227095468921251741334155417059203748308507844632960830748440642764056850798830202869165717533882926396010530799412517074929394465353926053124873017181762820734992138555413439691441504435398067111714651840262837465359293257284423636759295535704645091684234183660715020907853105303357786328849420714673694096872771671715641101435657086196015759113661061250912206345963429741378246773119373105975395598706274605050155268730097429833464429662758262229370244557285367702162952264554661142339463704109502569377994304876203805866993225033875378285868563369920946955451433743094566409580538273212666241431198643034433436001203339353082953532360717261312518500362665435200268636092415111271865444495968939205061540671256498012269641366069151012156085153908706033522768257941744787597290028457178790667469344775004778203525642339442466721250916718245676942199463985099490532376433324234897752557212868431222744959316146774732209666376094521571262359407650862262407771477801266713845446248986345999475827879781427380895567374552787069041393824348226385991210745995216881631348400354140971297735884583944717698811282090142813191619686374647026691567587265038283936508961846764233070384270372638765080465663497131723532430590547379948028376540207437293078920814481755528299748904454505368096890852464120115061733013862105719345995774803050191287029728985933080277415909437366524785639806396323481778987999607974651837130058503599297286214872550043150090234251018308289838428146815562605926753952987370361385676647593979420070194735752789739227872744611346572890984851935276586805746427971806468982465847086559115867896746375918473627843566474031953546034950571114486906484125864359640639492930698756742281073075060627762130753600337454286534426514717324053865952745012793031248453019369009135321136820948881965835424660274540494133942073362302020504979390046341364492630990660837212665524521768185928600561693025832894132707259399924484399825183692687760181236130527718988282769402079264503302911632077762705992512768871915122446731599743967249005430234629441938110849821443474942946521034531870445885473719706536321923463964596427213636604695421054662524181056241455089090448775880300676043971676572316383159450757142145211897992973155064294050312991568243 12768017415343791031322639163037184274253507605549864889611593729245377894010272328074520970448800196230423587526190772387132436236332476285772433643228350349675847134627542275694097093283593600840052656485208788643586590678485245447015943240677081930448093881155977920844985739901879884953342032352511311967794801001928747928636959663810978705167944745638848260332832569791603518260774481262529714410238491956324370829638958778394831574361705190024652388788684422161174371720600572771982457793396171525759265078105621794634292884058901162644525201573722912298203063753175155954073551464510716120134795221142658705536891650226405233446135213548865978271544550352047835949177769012098080628125407529622551459468422856249597187984133906726646531646486032996053048560357131715464857833563969794827255581748739062608768064449078977656620970720507046942356088247418780805843737197012456879435045457490844403200748927572287947739375669693888171148284538605465651639270276560682605324905809410776326248062841351351011139983016399283502388688325881925151990427648759831878095464453119122631487392167537527178314001023954635401195309466963022004369442780747480065248969248457688926616535636217403299241397931542222091459507309070182788691829471254199336060230899174556608354758323785525714438713350095431580626375273899575951890037169935279817309621594993617888012256316661534085913891718974498891521973043209428301873622891973173918390602611894606607653030981981297218080989343945446421926969504667516745174086580921397150581729497967750422100430864094036967686398328286007076080665514809253945966642386249607677056725636668731182673189185466488939997605669834408299634184598770135615658277211302395913225636092505594626877588979362342623326211188655479530116715098954267279925308064674634769649167157940228327214458647010169630426596069661431984802872847950104280377163151188431202199421770843690645384118584636114109908206070283573735066127341829261136300494541546123410030679656891507526127458748408765886116942069462359939455530922041212010300011471927638518599741183909022593120816158256388241021946857660098933175227699780870367793219556139200385687326802573952477834502759925795492164151184913333022653079969670972457126323665914925002003968377631623817057588701987905305753358737361052005120832301545986984714345409712549593130258031308398944015197837542268204987610492111523748337411824811469241278293493064956609238910736075535090891579542497956467828474735971750296322484555019466232316009765858883833882885029430325132200246313641372032837470319498064174575218916447737526071860878292381187115917501313433976340013302903143940198484800914978987490716154788239253403782361770679905812517747894086415456011924461693358345920939364883913088214866951677680772598961770287466199419578252624467634445616916454440970661960079035290753966029981820356015509355909192179089353344515966989443877060298945971755436228105184488462718152585805986298061516099638282522446366299343999227412714873563611873509932209966049147084288192492258197928109324938456670205806753177063796706634665139182025015297408739778889944782142027171020275799830495779228695849223979503310495001554727360924685206692225025346372361269638655778117945467518138359462758421692812445672170337970055865156437736188385349412189264031436417205867349710255310207865000758638797178088348520761667997697029795146177931667141081750567418870317772393073095920171359938744520705963419525766445585483890660293265678890987610406243159903486979331637976360067276904682613518082359618230945778266931770907305813164921105908037389099948594898348359489597025995440820197252328862230967592756286536031689836520091600492004 20659086146976837075002356066962014281108229545101970754419811202571064423009684974510189557619756279259308988587083169093417211591686331434342003585796462244147116386769596975415075886605325114285328696718028545107109455343235555917571713715831192833378556754548512701688969444039462038751083658201209813896337016137625660651761032489863513836015855204561534764401409754783927780527301915412062869215409861874625178900417603512860836301061963730860404983609955514409060652642148094287072822638114309569624680290968784938017007642876546916787478024172634619694162505699298364163744606916899141563298274532768077691933074046858652970764124861804291315007078445890102182630824255479470200376443526254768627173673247552661518354946212207446589533424906593823352208967908069349300400458201680166211572475188063561777268379728199962147895364602629446849549699723859616970857580465259461755787055650823722865912234518317206208456438762730554837775492384016532132758025353449120899319566459487896284162428102703643809470939005339801521837629543143405985098223589354845164353342893090171925159921169178311002141543676206960010285468690917142687061251144536579809939643381336002806428821566143073898775909014323119363750712395478870981631669774330758727350243420224399566599679058472406834202088246934728965422734364530931682253285902369363410616263166517922974062442274573134493889525841574321057313685431502850211570773533868832567617698080815858348987186399040500966389497188578407252675410147431573595972916783790562868115612424363760952899843381168966362151752254339131949097847277629988938105197799689299118561161034735842897325029448303954299290862954258045058929720303415227299892460872017416821078741395863380955727009694036036720198982860371120631552372185150283039038969125925546975995130587681606573987578020116145026025302344266482140071602945379937744806825909450660572443979056211392808336383139297256449371910179786143113060432218033067003293719575421501695899243026812454481578892491503332295697480342675026180886729565075645446301214811280721472132101901170335111621178823691588509658039272771370798619723668720075429333890812637212655328692871724964633919656668631829014932409126658120619943108426849763124595668440919703205529610717074090538308505420233582247952822722460542537497265625780884737271558278143772338089574178083131153681573932063839467347018142973786156108889626078183086724542479410956085066790517502915986458954095285025509222299084198136287533230550236347863664410119999855131618769613375042831011528403784185224457156694145090866142806181486021462580822725056614257500187873952199056805676800034867472629075348294927015867256362225532332324596843526208205561422202399454512346864388581808420078934801470603259083989670001868967802327947703367743615329015619149253274252013239936219958661568053687127884024533581117642230381905952342269323604362824256827872023875861551898509389215475545874139365746565226056492797268889377510395190977645916890212264650150150417619937904016435031612931374751608126094674485243412084513772280785130609831657205779626088509141161768380418382875480898769452093350860458257909982296186678266037737009718878781226877430219485256273799391730278773976914938894349483973784123032962186946387745532639990560844546484077552877980402850101244101941727635535638855871900890833652771504437488273005161493181389717555327414062194860070033336820949582275695984727997934065931257289577878541972498045329451139665723500308332925721256064603378429925852672508230513162378402320054404283082195542205480568375602726867827445286964278844189039043674228660165640997672013136580411779619373112804654279509186754130570404592060247 33427103562320628106324995229999198555361737150651835644031404931816442317019957302584710528068556475489732576113273941480549647828018807720114437229024812593822963521397139251109172979888918715125381353203237333750696046021720801364587656956508274763826650635704490622533955183941341923704425690553721125864131817139554408580397992153674492541183799950200383024734242324575531298788076396674592583625648353830949549730056562291255667875423668920885057372398639936570235024362748667059055280431510481095383945369074406732651300526935448079432003225746357531992365569452473520117818158381409857683433069753910736397469965697085058204210260075353157293278622996242150018580002024491568281004568933784391178633141670408911115542930346114173236065071392626819405257528265201064765258291765649961038828056936802624386036444177278939804516335323136493791905787971278397776701317662271918635222101108314567269112983445889494156195814432424443008923776922621997784397295630009803504644472268898672610410490944054994820610922021739085024226317869025331137088651238114677042448807346209294556647313336715838180455544700161595411480778157880164691430693925284059875188612629793691733045357202360477198017306945865341455210219704549053770323499245584958063410474319398956174954437382257932548640801597030160546049109638430507634143323072304643227925884761511540862074698591234668579803417560548819948835658474712278513444396425842006486008300692710464956640217381021798184470486532523853674602379652099090341147003364711960018697341922331511375000274245263003329838150582625139025178512792439242884071840185938906795617886671404574079998218633770443239288468624092453358563904902185362915550738083319812734304377488368975582604598673398379343525194049026600161669087284104550318964277190600181745644297745621834901202036667126314656451898413927914124874475793330042025183989060639091774643400827055083453720501723933370559280116250069716848126559559862328139594214116967625105929922683703962007706351239912098181814422412137386120342260487116857456601226283208359990731843085079357704741994981947976750679986130431469731794951368500945797127110368776413041016019674298917111754159428557624507096560311571453642596188396520735581721992106834628207533579094705714355366094122221487553706181459821594542618097927326871721985903687856321931219832209391530097696771769606107672334628635085309904446301450889652328002835972475912694305701253578451077350533637782981977050773820169886583855715105255814095980419885858738965501654642805367963211774717425557257294627013643155040718025097933758988652683603348995444616105375265633033145690102938011412827560149209906003357972517013771585728379205296888111373939950293540927802876313043501778424855740835487172172204536953546648574926909473655209814748593871773720908697630156390660929323528132722418637990563562937998245891261861534448412957707340223817315900936160497870264825443580730362602083899151032042790858784989015792917637343945260889439677365023714029493447836226401080760015662944100384292602594568350541183978087538307673628363840444765270534156459177120197272820263040796623113626660288753689210992035902245541047504720433508587802115426177481299145764091548412632693056839817002112143585791383879758833417702977960616709702921813741263329815039365275538358933502885349111182108755834411410301615576621525923161179086747350473591993862001151783904239819900048089057823918105425870001810283841961498264490914935030326016765987223913331662307763281916905184310484590580439283084933572486642700426487983747500146510032680992366392872316233288987638572577019655238023667453956777664108481604080397410566045218443967090496192552251 54086189709297465181327351296961212836469966695753806398451216134387506740029642277094900085688312754749041564700357110573966859419705139154456440814821274837970079908166736226524248866494243829410710049921265878857805501364956357282159370672339467597205207390253003324222924627980803962455509348754930939760468833277180069232159024643538006377199655154761917789135652079359459079315378312086655452841058215705574728630474165804116504176485632651745462356008595450979295677004896761346128103069624790665008625660043191670668308169811994996219481249918992151686528075151771884281562765298308999246731344286678814089403039743943711174974384937157448608285701442132252201210826279971038481381012460039159805806814917961572633897876558321619825598496299220642757466496173270414065658749967330127250400532124866186163304823905478901952411699925765940641455487695138014747558898127531380391009156759138290135025217964206700364652253195154997846699269306638529917155320983458924403964038728386568894572919046758638630081861027078886546063947412168737122186874827469522206802150239299466481807234505894149182597088376368555421766246848797307378491945069820639685128256011129694539474178768503551096793215960188460818960932100027924751955169019915716790760717739623355741554116440730339382842889843964889511471844002961439316396608974674006638542147928029463836137140865807803073692943402123141006149343906215128725015169959710839053625998773526323305627403780062299150859983721102260927277789799530663937119920148502522886812954346695272327900117626431969691989902836964270974276360070069231822177037985628205914179047706140416977323248082074397538579331578350498417493625205600590215443198955337229555383118884232356538331608367434416063724176909397720793221459469254833358003246316525728721639428333303441475189614687242459682477200758194396264946078738709979769990814970089752347087379883266476262056884863230627008652026429855859961186991777895395142887933692389126801829165710516416489285243731415430477511902754812412301228990052192502902902441094489081462863944986249692816363173805639565260338025403202840530414675037221021226461001181413625696344712546023881745673816097189453522028969438229574262539296823370498706317660547754331413063189811779804893674599542455069801659004182282137080115363553107756459257461966000094269309406387474661251378345701669947139681646778059096060555191076967835414727378451886868779372491771081367063809487733068007486273072904368022871388945655492161959644830005858594097120424256180410794223303121209742481751783707788245906860831279419780451233506328405609702116293249217832089951366902972878885456635497504833019225228879239303918052976048823096316935362152692995440149740701625310198503790542306090431256194206955415616377254857177022953430077609490922974182949643396326880887985096186409546522015097144055640476273167813876717736562070164480645187924812022049768774214659056276236741449645716258099283656053878393303312828321591177779651942015173864447113385740242836112372947037695708510387277079811762625697750368323438283460021046224391359043297620945500615655695743939566075206977520747011599193288222580511578784514439312289814679545645662737572945155821827186609607995734166486085927708824346066705221163235617951177554249405891294141310217889466519640300661138420987967054009646668064181806053064894531084654360476464905801006056056861221817241060769482323785042551916039491801259099861720503470762536244386169991740266295556839052918372366660346831036982992821093601661487253626890925782622030189228068522112759548819811679836595077478026682246805679820879021339467093358075888100977193202064845554405198097660900784612498 87513293271618093287652346526960411391831703846405642042482621066203949057049599579679610613756869230238774140813631052054516507247723946874570878043846087431793043429563875477633421846383162544536091403124503212608501547386677158646747027628847742361031858025957493946756879811922145886159935039308652065624600650416734477812557016797212498918383455104962300813869894403934990378103454708761248036466706569536524278360530728095372172051909301572630519728407235387549530701367645428405183383501135271760392571029117598403319608696747443075651484475665349683678893644604245404399380923679718856930164414040589550486873005441028769379184645012510605901564324438374402219790828304462606762385581393823550984439956588370483749440806904435793061663567691847462162724024438471478830917041732980088289228589061668810549341268082757841756928035248902434433361275666416412524260215789803299026231257867452857404138201410096194520848067627579440855623046229260527701552616613468727908608510997285241504983409990813633450692783048817971570290265281194068259275526065584199249250957585508761038454547842609987363052633076530150833247025006677472069922638995104699560316868640923386272519535970864028294810522906053802274171151804576978522278668265500674854171192059022311916508553822988271931483691440995050057520953641391946950539932046978649866468032689541004698211839457042471653496360962671960954985002380927407238459566385552845539634299466236788262267621161084097335330470253626114601880169451629754278266923513214482905510296269026783702900391871694973021828053419589409999454872862508474706248878171567112709796934377544991057321466715844840777867800202442951776057530107785953130993937038657042289687496372601332120936207040832795407249370958424320954890546753359383676967523507125910467283726078925276376391651354368774338929099172122310389820554532040021795174804030728844121730780710321559715777386587163997567932142679925576809313551337757723282482147809356751907759088394220378496991594971327528659326325166949798421571250539309360359503667377697441453595788071329050521105168787587542011018011533634310262209626405721967023588111550190038737360732220322798857427975525747078029125529749801027905135485219891234288039652654588959620596768906485519249040693664676557355365185642103731622733461480434628181243365653856416200529238596866191349075117471276054812016275413144405965001492527857487742730214424362781473678193024659818141160021370850989463323846724537909455244660760747976055625249891717333062622078898985778757435077838635299739046410721431400947578856377353539439886189931754605146732398624483465123097057005910890298284195646714739022583201396253075503781355254119984428309302102986536367952617014668811976928646283141577603428398743908962264952181766650678163244826203362696695091647273552717541817308624319131965160005660706993638722164429675411166149519777504704462503825748182547639039040102637006599343533544867290142074514838867409096230465665536438669091619380197578476606833576469237193132962700639808894679879674380113166881728455861745957088384886669156629577454080122620812928516006980362698320604181035765288404280258482757119832019159745798402481661071840218872090919913375599242301052573983488198071294615729946464054580938595911794263952327705035404640032928831795178659594641306337078236118402502475592107668641516057007815539563212256274598049918862373601145300589382371874100375834144917671260910145562464969027027159321200317757032282780752384580680129942263736221293477411674040944572187199377568483048518172975568668622792229812178072708911310767014320819382699476117045006921050135739996582581273599475411599623642064751396977164749 141599482980915558468979697823921624228301670542159448440933837200591455797079241856774510699445181984987815705513988162628483366667429086029027318858667362269763123337730611704157670712877406373946801453045769091466307048751633515928906398301187209958237065416210497270979804439902949848615444388063583005385069483693914547044716041440750505295583110259724218603005546483294449457418833020847903489307764785242099006991004893899488676228394934224375982084415830838528826378372542189751311486570760062425401196689160790073987916866559438071870965725584341835365421719756017288680943688978027856176895758327268364576276045184972480554159029949668054509850025880506654421001654584433645243766593853862710790246771506332056383338683462757412887262063991068104920190520611741892896575791700310215539629121186534996712646091988236743709339735174668375074816763361554427271819113917334679417240414626591147539163419374302894885500320822734438702322315535899057618707937596927652312572549725671810399556329037572272080774644075896858116354212693362805381462400893053721456053107824808227520261782348504136545649721452898706255013271855474779448414584064925339245445124652053080811993714739367579391603738866242263093132083904604903274233837285416391644931909798645667658062670263718611314326581284959939568992797644353386266936541021652656505010180617570468534348980322850274727189304364795101961134346287142535963474736345263684593260298239763111567895024941146396486190453974728375529157959251160418215386843661717005792323250615722056030800509498126942713817956256553680973731232932577706528425916157195318623975982083685408034644714797919238316447131780793450193551155313386543346437135993994271845070615256833688659267815408267211470973547867822041748112006222614217034970769823651639188923154412228717851581266041611234021406299930316706654766633270750001565165619000818596468818160593588035977834271450394624576584169109781436770500543115653118425370081501745878709588254104736794986276838702742959136838227921762210722800240591501863262406108472186522916459733057578743337468342593227107271356036936837150792624301442942988250049112731603664433705444766346680603101791622936531551154499188030602167674782043261732994357313202343291033659958718265324142715293207131627157024189824385868702848825033542384640500827619856510469838644984340852600453463172946001951697922191203502025556683604825323157457592876249650253050684795741185204969509103918996949596919628905932326633606416240138015270079897575927159742503155166189551658380959845042220798194429219646854439687656773319891119696260160214848848691873701297213048423908883769183740831144219572041808430275492379421834331302943080745244664255679531808102357716294122175432436825447668034684592950864377881329436623827701116674903812853619669274596916949044422705293720505541511682020757851049279198437597489287883886081847669185107691750560204597407813254761693282836084983190583548241358170892745802399543293987127616448743561395371442923720219316712073305505909738335517405067156754191875792579478824185184240548405932893547988620751701068121428584211750919928773527581701782776887597568481063268698616533599058088217161206717502956445036075735202785851909048308149974283999003440076013169275744174213862971818201733596329545950250818298314818960255779727325045290128049170539773913721706410588092469900039677162075604105975723595418386361358864695659142927750184409472520010007282968439789563403707370309497298578337591437499052496602610567258276470232767642606059440826268494265670548362203637190735551778631989752545506388245041003066188379296996066346388143493815884683558466801540257154028840162412297761777247 229112776252533651756632044350882035620133374388565090483416458266795404854128841436454121313202051215226589846327619214682999873915153032903598196902513449701556166767294487181791092559260568918482892856170272304074808596138310674575653425930034952319268923442167991217736684251825095734775379427372235071009670134110649024857273058237963004213966565364686519416875440887229439835522287729609151525774471354778623285351535621994860848280304235797006501812823066226078357079740187618156494870071895334185793767718278388477307525563306881147522450201249691519044315364360262693080324612657746713107060172367857915063149050626001249933343674962178660411414350318881056640792482888896252006152175247686261774686728094702540132779490367193205948925631682915567082914545050213371727492833433290303828857710248203807261987360070994585466267770423570809508178039027970839796079329707137978443471672494044004943301620784399089406348388450313879557945361765159585320260554210396380221181060722957051904539739028385905531467427124714829686644477974556873640737926958637920705304065410316988558716330191114123908702354529428857088260296862152251518337223060030038805761993292976467084513250710231607686414261772296065367303235709181881796512505550917066499103101857667979574571224086706883245810272725954989626513751285745333217476473068631306371478213307111473232560819779892746380685665327467062916119348668069943201934302730816530132894597705999899830162646102230493821520924228354490131038128702790172493653767174931488697833546884748839733700901369821915735646009676143090973186105795086181234674794328762431333772916461230399091966181513764079094314931983236401969608685421172496477431073032651314134758111629435020780204022449100006878222918826246362703002552975973600711938293330777549656206880491153994227972917395980008360335399102439017044587187802790023360340423031547440590548941303909595693611658037558622144516311789707013579814094453410841707852229311102630617347342498957173483268433674070487796164553088712009144371491130811223621909775849883964370055521128907793858573511380814649282374048470471461054833927848664955273637224281793703171066176986669479460529767148683609580280028937831630072810267263152967282396965856932250654256727624750843391755986871808184512389375466489600325582286513977012821744193273712926670367883581207043949528580644222056763714197604347907990558176132682810900187807300612431726728877820401003346129530474769986412920766353443841781878267176988114070895329789293260222364582054151968309093458798480341959844605150651047802018544034126859331005886191914819995581090498184762336145480914794659482025026790934311064391631671745454925615686557063065173553966358666068176054974730962934152361083108589245638112991694773340146281618390478379279919730016216316364366244190501761964522602344824673476842026418558042917920602027164699050035601625173889570195576308387145046852294864330289435428516735450838383432685731613211495773759652664055117835180775569021400327052893181310498638872438975326299747036428571988959461207280046930197636790819562704618198205781190742241512727757900291471848185882818542176001848739546025818448552758803886619642867789343175317126995648578385094210100882133462482070298055805959633330325112809774766082154061301364950590283747130109997619850421033662123526246451673015366021390347926645100285439602889418350202155894585969019531661948247067533243303584329327143780920152845433408816590563028570627254330861118343822079732626544874303479569947644441683550631628025646062748719066535179205859358344008444167825254417699012055323885571078773113111353309193629555881266139740401015668753652482227163694738941996 370712259233449210225611742174803659848435044930724538924350295467386860651208083293228632012647233200214405551841607377311483240582582118932625515761180811971319290105025098885948763272137975292429694309216041395541115644889944190504559824231222162277505988858378488488716488691728045583390823815435818076394739617804563571901989099678713509509549675624410738019880987370523889292941120750457055015082236140020722292342540515894349524508699170021382483897238897064607183458112729807907806356642655396611194964407439178551295442429866319219393415926834033354409737084116279981761268301635774569283955930695126279639425095810973730487502704911846714921264376199387711061794137473329897249918769101548972564933499601034596516118173829950618836187695673983672003105065661955264624068625133600519368486831434738803974633452059231329175607505598239184582994802389525267067898443624472657860712087120635152482465040158701984291848709273048318260267677301058642938968491807324032533753610448628862304096068065958177612242071200611687802998690667919679022200327851691642161357173235125216078978112539618260454352075982327563343273568717627030966751807124955378051207117945029547896506965449599187078018000638538328460435319613786785070746342836333458144035011656313647232633894350425494560136854010914929195506548930098719484413014090283962876488393924681941766909800102743021107874969692262164877253694955212479165409039076080214726154895945763011398057671043376890307711378203082865660196087953950590709040610836648494490156797500470895764501410867948858449463965932696771946917338727663887763100710485957749957748898544915807126610896311683317410762063764029852163159840734559039823868209026645585979828726886268709439471837857367218349196466694068404451114559198587817746909063154429188845130034903382712079554183437591242381741699032755723699353821073540024925506042032366037059367101897497631671445929487953246721100480899488450350314637569063960133222310812848509326935596603693968469545272376813446933002781010474219867171731722313086884315884322070487286515254186486537196041853974041756553730085407308611847458229291607943523686337013397367604771621753016160063631558771620141131434528125862232240485049306414700276754279059275541687916686343016167534471280078939811669413565290875469028431111547519397462245020893569437140206528565547896549982043817168058715412119795551410016114859737508134057645400176862081979779562616142188551099039578688983362517685982349774108511873593228252086165409686869187382107085209318157860751839758325384180642799579870694656458231690900179222125582452075034844429782371886059549193904823678428665765857935153883106200061947237834347450017860006145918798630614345599984157332447257056327793519934036913672797584645637718027611055014306080396594633829069936033640841107450806387227896065330214988524047176409092197119039624653986933921683472843074677887326868591742454665549626023572271513499926034386624790856624359013895317053639791671566578742170940464324047272209893383804144782177310843704814193182763864752040686104232114438185196752456252606818957482258863670096939508820220245375767584601319063599417220609294517065086357861974836804074506846131762163071383781170946119149190283436766069301495881972802606069287023637737900355794897694496540534565428424816580106200760987168816374500843555139935112054337233192755339642566580425806261870309564437918023307111763192386231334513736616300930160128401848606153966735940936751629439455935259578785123147484870737846417877209326156691068851914557014389614897382843050093895787076157577799924087257096326951759458070109177699697337123371765949698207202555925907681322389575992500719243 599825035485982861982243786525685695468568419319289629407766753734182265505336924729682753325849284415440995398169226591994483114497735151836223712663694261672875456872319586067739855831398544210912587165386313699615924241028254865080213250161257114596774912300546479706453172943553141318166203242808053147404409751915212596759262157916676513723516240989097257436756428257753329128463408480066206540856707494799345577694076137889210372789003405818388985710061963290685540537852917426064301226714550730796988732125717567028602967993173200366915866128083724873454052448476542674841592914293521282391016103062984194702574146436974980420846379874025375332678726518268767702586620362226149256070944349235234339620227695737136648897664197143824785113327356899239086019610712168636351561458566890823197344541682942611236620812130225914641875276021809994091172841417496106863977773331610636304183759614679157425766660943101073698197097723362197818213039066218228259229046017720412754934671171585914208635807094344083143709498325326517489643168642476552662938254810329562866661238645442204637694442730732384363054430511756420431533865579779282485089030184985416856969111238006014981020216159830794764432262410834393827738555322968666867258848387250524643138113513981626807205118437132377805947126736869918822020300215844052701889487158915269247966607231793414999470619882635767488560635019729227793373043623282422367343341806896744859049493651762911228220317145607384129232302431437355791234216656740763202694378011579983187990344385219735498202312237770774185109975608839862920103444522750068997775504814720181291521815006146206218577077825447396505076995747266254132768526155731536301299282059296900114586838515703730219675860306467225227419385520314767154117112174561418458847356485206738501336915394536706307527100833571250742077098135194740743941008876330048285846465063913477649916043201407227365057587525511868865616792689195463930128732022474801841074540123951139944282939102651141952813706050883934729167334099186229011543222853124310506225660171954451656570775315394331054615365354856405836104133877780072902292157140272898797323561295191070775837798739685639524161325920303750711714557063693862313295316569567667559151244916207792342173413967767010926227266950747996181802940757365069354013398061496410283989214167282363810574412146754940499510624461390115479126317399899318006673035870190944957833207477474513706508440436543191897228570053458969775438452335793615890390140770216366157060739476162447604471667263470126169845298556805726140487404730521742458476775725027038553131468643989854840010872870070821885339385738473088147790884726088194170591693618983289273065704417069211092352596973011668160212307178219990480154603042626159310910576340411058173892673404784459676514363845286252398007085297952568351750498410154888465366073594967135115039641651818685983957285098016964248082903176978887501517844490353861706942016661485225008223542355972225391090813292455726684413922946509485724374325103074694302783654616286170004561229611335853711501893384279044635821987572018957225017163263449605911609667266720511717223953467419861239601265960155320335513639116665861456446942296189307079290067032359556040329250072416899248139599551687932435936394399833412503982509856199059447130818312558534814199956621794649292342620952516570505956502402263878293040779245455998776008417764895533457449685255358830725629534918843063760081850312973835257422744529764511564005960300574279081658517749692359174217416365521651009707322696877560619763108681432562048909452239795520325403054341786269151650837330536843222289053006530752927647215837947603571594661333804616739687239661239 970537294719432072207855528700489355317003464250014168332117049201569126156545008022911385338496517615655400950010833969305966355080317270768849228424875073644194746977344684953688619103536519503342281474602355095157039885918199055584773074392479276874280901158924968195169661635281186901557027058243871223799149369719776168661251257595390023233065916613507995456637415628277218421404529230523261555938943634820067870036616653783559897297702575839771469607300860355292723995965647233972107583357206127408183696533156745579898410423039519586309282054917758227863789532592822656602861215929295851674972033758110474341999242247948710908349084785872090253943102717656478764380757835556046505989713450784206904553727296771733165015838027094443621301023030882911089124676374123900975630083700491342565831373117681415211254264189457243817482781620049178674167643807021373931876216956083294164895846735314309908231701101803057990045806996410516078480716367276871198197537825044445288688281620214776512731875160302260755951569525938205292641859310396231685138582662021205028018411880567420716672555270350644817406506494083983774807434297406313451840837309940794908176229183035562877527181609429981842450263049372722288173874936755451938005191223583982787173125170295274039839012787557872366083980747784848017526849145942772186302501249199232124455001156475356766380419985378788596435604711991392670626738578494901532752380882976959585204389597525922626277988188984274436943680634520221451430304610691353911734988848228477678147141885690631262703723105719632634573941541536634867020783250413956760876215300677931249270713551062013345187974137130713915839059511296106295928366890290576125167491085942486094415565401972439659147698163834443576615852214383171605231671373149236205756419639635927346466950297919418387081284271162493123818797167950464443294829949870073211352507096279514709283145098904859036503517013465115586717273588683914280443369591538761974296850936799649271218535706345110422358978427697381662170115109660448878714954575437397390541544494024938943086029501880868250657219328898162389834219285088684749750386431880842321009898308588438380609420492701799587792884691923891843149085189556094553780365875982367835905523975483334030090100310783178460698547029687807851216506048240538382444509609015807746234235060851800950780940712302837049492668278558174194538437195450728022787895607699079015478607654336595686288003052685380448327609632147953137956138318143389998902014363444618243226149163031634986578752472788284030597138315131110321130204310392437114935007415927217775257051096064889684440655241956881434533290562151516813556742661242077276791755566221123620515722277075357011151227587357268144369639625477046807948122976663072983708160986048776201503728419090540073108997674356188431647926405403374738978394475485103453890120771376227312158681276472672917878968570860038925970230045570629956183394116377433978455516587519611633014398980331239286407866932247398250992665117449950048421597312968078106928436793597013709375422794099718463542579488511159074007184324475209831836120745708469581706606775540731962599721052021180303200683180764614852578725474527836293251016803035438841453138416140726986448399262700336014208901047569905238542463686857050241882865651096753943671352877986959630780062822555636461158995453360125645891614456601111485796118888022579201814679635205097895367708562470593918015766253356800376382780473102237106028898496500452500757589740030214341237302872839844044955262783398860335864013765729475176777498296329944891959546135582596482980854265873526247977789089994913331466752703867876299413165536154806127520569015127006315679740380482 1570362330205414934190099315226175050785571883569303797739883802935751391661881932752594138664345802031096396348180060561300449469578052422605072941088569335317070203849664271021428474934935063714254868639988668794772964126946453920664986324553736391471055813459471447901622834578834328219723230301051924371203559121634988765420513415512066536956582157602605252893393843886030547549867937710589468096795651129619413447730692791672770270086705981658160455317362823645978264533818564660036408810071756858205172428658874312608501378416212719953225148183001483101317841981069365331444454130222817134065988136821094669044573388684923691329195464659897465586621829235925246466967378197782195762060657800019441244173954992508869813913502224238268406414350387782150175144287086292537327191542267382165763175914800624026447875076319683158459358057641859172765340485224517480795853990287693930469079606349993467333998362044904131688242904719772713896693755433495099457426583842764858043622952791800690721367682254646343899661067851264722782285027952872784348076837472350767894679650526009625354366998001083029180460937005840404206341299877185595936929867494926211765145340421041577858547397769260776606882525460207116115912430259724118805264039610834507430311238684276900847044131224690250172031107484654766839547149361786824888191988408114501372421608388268771765851039868014556084996239731720620463999782201777323900095722689873704444253883249288833854498305334591658566175983065957577242664521267432117114429366859808460866137486270910366760906035343490406819683917150376497787124227773164025758651720115398112540792528557208219563765051962578110420916055258562360428696893046022112426466773145239386209002403917676169878823558470301668804035237734697938759348783547710654664603776124842665847803865692456124694608385104733743865895895303145205187235838826200121497198972160192992359199188300312086401561104538976984452334066277879378210572101614013563815371391060750789215501474808996252375172684478581316391337449208846677890258177428561707896767204665979390599656804817275199305272584683754568225938353162868757652042543572153741118333459603779509156447219232387439111954210612227642554863642253249956867075682445550035395056768891691126372263514278550189386925813980435804033019446805605607736457907670512218030223449228134164761355352859057777549003292739948289673664754595350046029460931477890023973311815131811109392796443489228572345556179685606922913394590653937005889292155133660984400286888639194082591050419736258410200442436871936836461617609040914179573411783140954256328388519740054744524451528112027703319872676300624604961347627387330271447383449185204412893581426694144568103503824560368936304581946803697037288102726019289232294618737326459834375396401823874999749623361519642440829655011703355943090728892885639991919256194366343362427198322928291358901836253668877003174053133222549517457701238606731295685397533249004836641237941336303464677498680224703124935406588063959435772795922416042772409712091409883183713936652405435572175044472872790203709829171896494167056853284009158075493316274042261243679823674519441041542801949140919935188092364591193697749697959099224745920743205448500283026777649335117235262348500599257837674478858086690462745865375507295813390802171190545494444980019444350285753501616405876696151848116858864989778836898133478577977823097400100631352817393817829424643645301172199864136464630786076072363451643026264964064763550040604493422895820622532203219172679148920511345571336462607035796540606977762506940868998375378116808383908607659795399628626420531756553755805710398629227060381374102409699115230348931623055366980041721 2540899624924847006397954843926664406102575347819317966072000852137320517818426940775505524002842319646751797298190894530606415824658369693373922169513444408961264950827008955975117094038471583217597150114591023889930004012864652976249759398946215668345336714618396416096792496214115515121280257359295795595002708491354764934081764673107456560189648074216113248350031259514307765971272466941112729652734594764439481317767309445456330167384408557497931924924663684001270988529784211894008516393428962985613356125192031058188399788839252239539534430237919241329181631513662187988047315346152112985740960170579205143386572630932872402237544549445769555840564931953581725231348136033338242268050371250803648148727682289280602978929340251332712027715373418665061264268963460416438302821625967873508329007287918305441659129340509140402276840839261908351439508129031538854727730207243777224633975453085307777242230063146707189678288711716183229975174471800771970655624121667809303332311234412015467234099557414948604655612637377202928074926887263269016033215420134371972922698062406577046071039553271433673997867443499924387981148734174591909388770704804867006673321569604077140736074579378690758449332788509579838404086305196479570743269230834418490217484363854572174886883144012248122538115088232439614857073998507729597074494489657313733496876609544744128532231459853393344681431844443712013134626520780272225432848103572850664029458272846814756480776293523575933003119663700477798694094825878123471026164355708036938544284628156600998023609758449210039454257858691913132654145011023577982519527935416076043790063242108270232908953026099708824336755114769858466724625259936312688551634264231181872303417969319648609537971256634136112380651089949081110364580454920859890870360195764478593194270815990375543081689669375896236989714692471095669630530668776070194708551479256472507068482333399216945438064621552442100039051339866563292491015471205552325789668241997550438486720010515341362797531662906278698053507564318507126768973132003999105287308749160004329542742834319156067555929804012652730615772572447957442401792930004034583439343357912367947537056639725089238699747095304151534398012727442806051420856048321532403230962292867174460402353614589333367847624361010123611884235952853846146118902417279528025776457684288985965712136293571360614598495961018506463868203191790800774052248827085589102988790422786147705079084446541913952793883789317754876051350728972080395888194169497105602643513037802225717577629172209046694231039575187067946782747813351306616688346790556881474103645570836119634208892183353984584754405966862776121774904370048572348724175204751425536514097148971219925114655052147726204448951586429174084096050848995952305278326898312508610576900130242965539822732359193998629261302938108759317829707287361125095373146315137719589739357004204764031819715222239737042100023363268120147413884632723108729663853049836524448274252340316634703963906547156950523186399253181409385821217519729010850516640528203480197423312075199535290638587052361301362783836356220969376888689404754866545075022880817801975642423395571462221846002632321684550040671090065721534042948975902260184762196343864641010013226048597817571276557401646827742913021321773547512987748241158392567334473524068532454075760082266905922214660611859236821797739731315466101264633017021501157179637777035305729248185102380300018561661067425556664512847411259178309469480541522765416565521139780634707764133123495372047264127941932319371681435350228336510973318105274092451832828544510960713291364762873533321647606415510526669885222558414266505526473546910257215826635799364058629371046720422203 4111261955130261940588054159152839456888147231388621763811884655073071909480308873528099662667188121677848193646370955091906865294236422115978995110602013744278335154676673226996545568973406646931852018754579692684702968139811106896914745723499952059816392528077867863998415330792949843341003487660347719966206267612989753699502278088619523097146230231818718501243425103400338313521140404651702197749530245894058894765498002237129100437471114539156092380242026507647249253063602776554044925203500719843818528553850905370796901167255464959492759578420920724430499473494731553319491769476374930119806948307400299812431146019617796093566740014105667021427186761189506971698315514231120438030111029050823089392901637281789472792842842475570980434129723806447211439413250546708975630013168235255674092183202718929468107004416828823560736198896903767524204848614256056335523584197531471155103055059435301244576228425191611321366531616435955943871868227234267070113050705510574161375934187203816157955467239669594948555273705228467650857211915216141800381292257606722740817377712932586671425406551272516703178328380505764792187490034051777505325700572299793218438466910025118718594621977147951535056215313969786954519998735456203689548533270445252997647795602538849075733927275236938372710146195717094381696621147869516421962686478065428234869298217933012900298082499721407900766428084175432633598626302982049549332943826262724368473712156096103590335274598858167591569295646766435375936759347145555588140593722567845399410422114427511364784515793792700446273941775842289630441269238796742008278179655531474156330855770665478452472718078062286934757671170028420827153322152982334800978101037376421258512420373237324779416794815104437781184686327683779049123929238468570545534963971889321259042074681682831667776298054480629980855610587774240874817766507602270316205750451416665499427681521699529031839625726091419084491385406144442670701587572819565889605039633058301227702221485324337615172704347384860014444845013527353804659231309432560813184075953825983720142399639136431266861202388696407298841710925610826200053835473576188324557676817516147456693503858957476677811701305916379176952876369696056008287931730767082438626019061758865586774617128867883557234550174990559415917255399659451753855360324950040243806681133517120130473491646430418392147499253758454753541867946386150820081709758563479126962102237917958814471880890031142525139439969003361798964745319626017401777486324630766587043799926441419800168679591945305104431482012059004783244365422392220796261758573697835730432034090576174378733343711466012288074278643163400726736251997435902620171558653936629949407678575665364493218158876708095140753533533232871121384153575015241537572945635638968444952296532066840539572355720713641070090957949812115260920436180246765087292402509504062952166555327133055390721551475908614045274076496490669664871585871329840025349250583085529284915490281652938168641405227381653648121805841245368821594013442145053622926352619613363381137248727604970862813631525234091566493665528117463543945542688764024620568339154860063219322247070090903263388804581462604485228763454656915231792646935001484930682939549313141293040003697932934806538905902246085580587500179860237975733613616665688380725275695259077948520740101711256207968162228265113517949587848174331091043469915154979735157460874435406360601002496198129443205306368597756528649312042045254381832932184549030380630284689821239201187028944117904250483300621081239883027006686690943546769858712251854958773697542886338830099748671481193117047235041931058426438978364124665134753533928284359625525751029712990252426413700463924 6652161580055108946986009003079503862990722579207939729883885507210392427298735814303605186670030441324599990944561849622513281118894791809352917280115458153239600105503682182971662663011878230149449168869170716574632972152675759873164505122446167728161729242696264280095207827007065358462283745019643515561208976104344518633584042761726979657335878306034831749593456362914646079492412871592814927402264840658498376083265311682585430604855523096654024305166690191648520241593386988448053441596929682829431884679042936428985300956094717199032294008658839965759681105008393741307539084822527043105547908477979504955817718650550668495804284563551436577267751693143088696929663650264458680298161400301626737541629319571070075771772182726903692461845097225112272703682214007125413932834794203129182421190490637234909766133757337963963013039736165675875644356743287595190251314404775248379737030512520609021818458488338318511044820328152139173847042699035039040768674827178383464708245421615831625189566797084543553210886342605670578932138802479410816414507677741094713740075775339163717496446104543950377176195824005689180168638768226369414714471277104660225111788479629195859330696556526642293505548102479366792924085040652683260291802501279671487865279966393421250620810419249186495248261283949533996553695146377246019037180967722741968366174827477757028830313959574801245447859928619144646733252823762321774765791929835575032503170428942918346816050892381743524572415310466913174630854173023679059166758078275882337954706742584112362808125552241910485728199634534202763095414249820319990797707590947550200120919012773748685381671104161995759094426284798279293877947412918647489529735301607603130815838342556973388954766071738573893565337417632860159488509693389430436405324167653799852236345497673207210857987723856526217845325280245336544448297176378340510914301930673138006496163855098745977277690347643861184530436746011005963192603044025118215394707875055851666188941495839678977970236010291138712498352577845860931428204441436559918471384702985988049685142473455587334417132192709060029457483498058783642455628403580222907997020175428515404230560498682565916511448401220530711350889097138862059708787779088614841856981354626040047176970743457216925082174536000683027801491352513297899974262742229568269583138817806106096185627940001779006745995214776961217410071138176951594133958585649068229950892660704106519550965336573056477933323758321116675016096048598097797665680494127872189687312964243645517746308764154351798662521587246072730027113235743527412950105364254717204535679661412294012942235894819996872828684610026176848511156367484474968895733858688055485921775724636584418332813928855821345202485119662045205480204424011193842851272533951477055529196662309806079395088079907639699352260887920874578750143467607890182665548824641782541905912331337819422541266698148351087374099859758789812285470504052948755013103632922053733189742621969572872605311774538604171308205094426778207415230961874064473442993147816843578560560802804506153452218577595392929277501884338432920834232093518891165643362035677865194964670465662365485234807213784289035269434544722636765835595910903745115445135893177782303053229746530752377815463303892913323500521501633785488721361857824080948059749219327610402596500183978162130182822840124350339747327579489797192308102932176480892337098651470712089849187598578429461766967436023313193162159453304432691302412726071795797195805829601873908951162067613276297747428563013559254708442036919280057743176817525947410606526087397299543391113434354726438694841457441585096324200922538931640280007475194616841352386829077048881797460420886127 10763423535185370887574063162232343319878869810596561493695770162283464336779044687831704849337218563002448184590932804714420146413131213925331912390717471897517935260180355409968208231985284877081301187623750409259335940292486866770079250845946119787978121770774132144093623157800015201803287232679991235527415243717334272333086320850346502754482108537853550250836881466314984393013553276244517125151795086552557270848763313919714531042326637635810116685408716699295769494656989765002098366800430402673250413232893841799782202123350182158525053587079760690190180578503125294627030854298901973225354856785379804768248864670168464589371024577657103598694938454332595668627979164495579118328272429352449826934530956852859548564615025202474672895974821031559484143095464553834389562847962438384856513373693356164377873138174166787523749238633069443399849205357543651525774898602306719534840085571955910266394686913529929832411351944588095117718910926269306110881725532688957626084179608819647783145034036754138501766160047834138229789350717695552616795799935347817454557453488271750388921852655816467080354524204511453972356128802278146920040171849404453443550255389654314577925318533674593828561763416449153747444083776108886949840335771724924485513075568932270326354737694486124867958407479666628378250316294246762440999867445788170203235473045410769929128396459296209146214288012794577280331879126744371324098735756098299400976882585039021937151325491239911116141710957233348550567613520169234647307351800843727737365128857011623727592641346034610932002141410376492393536683488617061999075887246479024356451774783439227137854389182224282693852097454826700121031269565900982290507836338984024389328258715794298168371560886843011674750023745316639208612438931858000981940288139543121111278420179356038878634285778337156198700935868019577419266063683980610827120052382089803505923845376798275009117316073735280269021822152155448633894190616844684104999747508114152893891162981164016593142940357675998726943197591373214736087435750869120731655460656811971769827542112592018601278334581405467328299194423669609842509463877156411232554696992944662860924064357640042594323149707136909888303765466834918067996719509855697280483000416384905633951587872325100482316724710991242443718746752172749653829623067179608513389819951323226226659119586432197398893494468535415970951939084563102414215668344212547356912994898622065334022846226604199003072763727324478473980841368224115199443166818758638776731112890685065317914988356099656903094003599305077513271478658135748209211863937952552934967713751988468391675579606286009160902963253189577575247408364920377589067292512624685435329454300301948911550972805563916485956018652894916326864357999026435380424218169590445500481493194376646618967443800621280769443218837732989839670579647854655269957951334145845494072467658470874813262818174056965132648176356249459477157056375382788780362354216007583018105232903622511041246717001920257819430010935672147029009244404019118096369345767430206959697809530409477016265850102829484495771167412455896464779774782282915786211701190537928414286917535753268748623611795246893520498197999379551997628242845905230046128075442490923596093233444463687184354369206138998904088021681494023464454975474489769328785024914586688351117240285689418338150985068389463857696915427664128283351572847331460627494559525906118450450190094776558904972273804621069721811471495349687073135344910620826177826090519423113110138191011731180548230729184094799137735448723610223604513035529777802369380223630283638373490862105835919555742076499372643522763179286663596775033541403478976466878137858790039134223874121350051 17415585115240479834560072165311847182869592389804501223579655669493856764077780502135310036007249004327048175535494654336933427532026005734684829670832930050757535365684037592939870894997163107230750356492921125833968912445162626643243755968392287516139851013470396424188830984807080560265570977699634751088624219821678790966670363612073482411817986843888382000430337829229630472505966147837332052554059927211055646932028625602299961647182160732464140990575406890944289736250376753450151808397360085502682297911936778228767503079444899357557347595738600655949861683511519035934569939121429016330902765263359309724066583320719133085175309141208540175962690147475684365557642814760037798626433829654076564476160276423929624336387207929378365357819918256671756846777678560959803495682756641514038934564183993399287639271931504751486762278369235119275493562100831246716026213007081967914577116084476519288213145401868248343456172272740234291565953625304345151650400359867341090792425030435479408334600833838682054977046390439808808721489520174963433210307613088912168297529263610914106418298760360417457530720028517143152524767570504516334754643126509113668662043869283510437256015090201236122067311518928520540368168816761570210132138273004595973378355535325691576975548113735311363206668763616162374804011440624008460037048413510912171601647872888526957958710418871010391662147941413721927065131950506693098864527685933874433480053013981940283967376383621654640714126267700261725198467693192913706474109879119610075319835599595736090400766898276521417730341044910695156632097738437381989873594837426574556572693796212975823236060286386278452946523739624979414909216978819629780037571640591627520144097058351271557326326958581585568315361162949499368100948625247431418345612307196920963514765677029246089492273502193682416546261148264913963714360860358951338034354312762941512420009231897020986395006421379141453552258898166454597086793660869802320394455383170004560080104477003695571113176367967137439441550169219075667515640192305680650126845359797959819512684586047605935695466774114527357756677921728393484965092280736634140551717168373178265154624856322608510834598108357440599654654563973780127705507288944312122339981771010945681128558615782317407398899246991925471520238104686047553803885809409176782972958769129332322844747526433976405639489683312377188362010222740054008349626929861615586863887559326171853573811563177255481006087485645595148996937416822212997108847312886510966418425854928710835661297120254008701756525186551150243298591893879275622161969302207270139503393413400762404617815501106006033731647863215754423758564732404852557963026371312740921251230024938533329883786734419737831158503772556961532344562423037629223275490703541922556010689856686452698362531880528920468795479725653864418420723115462545452623500158787628035978379989808694235804084872205316220022276216008249289442526879435737535375457848929636751294975525592083913852028776458861990738216030098925236424475365893182569812338915247050538258370333213983169718068680424877425048669296794329385614006875801806951855063226215793609251588001415634233858419009031182555767632544102188763463838756808975161573211335668705899146463190994439562169832510031912227588543183127808953176337332313850276844774133914298753713740469667580468333807908513814197444243007153925475659675779507941519831658177376830540299377693354988366739241240644382914973630948654119764437757636692621975021896349024987019089353079344456845978157747108358392443890760529503662256212347303749779986749717680937916881975540190645994436917956814228619087380209202528415313548878673593308230524687867088016021334542236178 28179008650425850722134135327544190502748462200401062717275425831777321100856825189967014885344467567329496360126427459051353573945157219660016742061550401948275470625864393002908079126982447984312051544116671535093304852737649493413323006814338407304117972784244528568282454142607095762068858210379625986616039463539013063299756684462419985166300095381741932251267219295544614865519519424081849177705855013763612917780791939522014492689508798368274257675984123590240059230907366518452250175197790488175932711144830620028549705202795081516082401182818361346140042262014644330561600793420330989556257622048739114492315447990887597674546333718865643774657628601808280034185621979255616916954706259006526391410691233276789172901002233131853038253794739288231240989873143114794193058530719079898895447937877349563665512410105671539010511517002304562675342767458374898241801111609388687449417201656432429554607832315398178175867524217328329409284864551573651262532125892556298716876604639255127191479634870592820556743206438273947038510840237870516050006107548436729622854982751882664495340151416176884537885244233028597124880896372782663254794814975913567112212299258937825015181333623875829950629074935377674287812252592870457159972474044729520458891431104257961903330285808221436231165076243282790753054327734870770901036915859299082374837120918299296887087106878167219537876435954208299207397011077251064422963263442032173834456935599020962221118701874861565756855837224933610275766081213362148353781461679963337812684964456607359817993408244311132349732482455287187550168781227054443988949482083905598913024468579652202961090449468610561146798621194451679535940486544720612070545407979575651909472355774145569725697887845424597243065384908266138576713387557105432400285900446740042074793185856385284968126559280530838615247197016284491382980424544339562165154406694852745018343854608695295995512322495114421722574081050321903230980984277714486425394202891284157453971267458167712164256116725643136166384747760592290403603075943174801381782306016609931589340226698639624536973801355519994686055872345398003327474556157893045373106414161317841126078689213962651105157747815494350487958420030808698195702226798800009402822982187395851315080146488107417889715623957983167915238984856858797207633508876588785296362778720452558549503867112866173804532984151847793159313949307303156422565295274074162943776882457948237187596657789781454484078851212970073622977778785046328196552014131645149743149538745613776153576285476353665604850528785856227756570070552015023831373833240159823074471107165389230796293395107392015194634611116405331999005973097325230147030318883937426356580684325240482241434759539983654317114522425451877859208920422064064603699708873132368056492183051063099317329975681150201238238698563386854258091302763317200722581451492933473530050847648279569049066903046262281352670452572257708766599583254818526315737812064937219769400208429214594955098745778379119810168226965771072265433719769912300666181684682677257497956179863623460185983918783254361920819836709250225850393781658084722738066764416753722023538505537168902982482030804278076076265830543481740761092081602714205207701286778159629495239696635458126746524201716170911131676564864621832417631312806803619605629799048500987104830980755356998806484792976903278055141158434818053759011248626839402147326217703282948990749567788131547271711515045265452636785102444003806837573102547313448152847986868448100129227544091075637394208886931203157530179339484139727266769247877081552149366973347964576290372837646026565550178994456186872141850559495866125190347090282152569775108662546657127150245208663586229 45594593765666330556694207492856037685618054590205563940855081501271177864934605692102324921351716571656544535661922113388287001477183225394701571732383331999033005991548430595847950021979611091542801900609592660927273765182812120056566762782730694820257823797714924992471285127414176322334429188079260737704663683360691854266427048074493467578118082225630314251697557124774245338025485571919181230259914940974668564712820565124314454336690959100738398666559530481184348967157743271902401983595150573678615009056767398257317208282239980873639748778556962002089903945526163366496170732541760005887160387312098424216382031311606730759721642860074183950620318749283964399743264794015654715581140088660602955886851509700718797237389441061231403611614657544902997836650821675753996554213475721412934382502061342962953151682037176290497273795371539681950836329559206144957827324616470655363994317740908948842820977717266426519323696490068563700850818176877996414182526252423639807669029669690606599814235704431502611720252828713755847232329758045479483216415161525641791152512015493578601758450176537301995415964261545740277405663943287179589549458102422680780874343128221335452437348714077066072696386454306194828180421409632027370104612317734116432269786639583653480305833921956747594371745006898953127858339175494779361073964272809994546438768791187823845045817297038229929538583895622021134462143027757757521827791127966048267936988613002902505086078258483220397569963492633872000964548906555062060255571559082947888004800056203095908394175142587653767462823500197882706800878965491825978823076921332173469597162375865178784326509754996839599745144934076658950849703523540241850582979620167279429616452832496841283024214804006182811380746071215637944814336182352863818631512753936963038307951533414531057618832782724521031793458164549405346694785404698513503188761007615686530763863840592316981907328916493563176126339948488357828067777938584288745788658274454162014051371935171407735369293093610273605826297929811366071118716135480482031909151376407891408852911284687230472669268129634522043812550267126396812439648438629679513658131329691019391233314070285259615992345923851791087613074594782478323407734087744321525162963958406796996208705103889735297114523204975093386759222961544844761437394685997962079335737489581890872348614639300150210172473835160170347675959530043210430914922203935778530640770017274409041170469352958709965084938698615668771974716201868541193660861444531660709567964600542486989237582596607674306607053972407377999868662445894299453535802542367093213974500578789993200911210608498021228366258979621086422764537829730082704993345255250167277831914350179015571318546274403392148273026198008839391553482845101693826975199576674290612502872907749552015692507561679121707034178289040718676512025878779746175204951651721101566029227638088263284870987918467597572692728788265958056042110134254263851113269913866856520695183954806678868950774554837981800906442995869997501858195135805483235994023597924308036214550196837443355701987463679239345868506006044555236007788533886529689921827642969515632790093538584537216340449813309258632033463087583929524555920359523180369274498113828335394386159826452566308694034226202823359265108047749641370807650139117469882474573182415285858544721225024579274818600885417092252585401441971979234670924406347343667157875880659779531048945481486535638450756285909835551758733392657926602010860184006070127869883217473087148316897170420094240187044678311515922623230244669230929025460224385301929353723065645514207254813186217211544615912413001100760937939705068653605660639160826163083339187234524215166266543205822407 73773602416092181278828342820400228188366516790606626658130507333048498965791430882069339806696184138986040895788349572439640575422340445054718313793933733947308476617412823598756029148962059075854853444726264196020578617920461613469889769597069102124375796581959453560753739270021272084403287398458886724320703146899704917566183732536913452744418177607372246502964776420318860203545004996001030407965769954738281482493612504646328947026199757469012656342543654071424408198065109790354652158792941061854547720201598018285866913485035062389722149961375323348229946207540807697057771525962090995443418009360837538708697479302494328434267976578939827725277947351092244433928886773271271632535846347667129347297542742977507970138391674193084441865409396833134238826523964790548189612744194801311829830439938692526618664092142847829507785312373844244626179097017581043199628436225859342813411519397341378397428810032664604695191220707396893110135682728451647676714652144979938524545634308945733791293870575024323168463459266987702885743169995915995533222522709962371414007494767376243097098601592714186533301208494574337402286560316069842844344273078336247893086642387159160467618682337952896023325461389683869115992674002502484530077086362463636891161217743841615383636119730178183825536821250181743880912666910365550262110880132109076921275889709487120732132924175205449467415019849830320341859154105008821944791054569998222102393924212023864726204780133344786154425800717567482276730630119917210414037033239046285700689764512810455726387583386898786117195305955485070256969660192546269967772559005237772382621630955517381745416959223607400746543766128528338486790190068260853921128387599742931339088808606642411008722102649430780054446130979481776521527723739458296218917413200677005113101137389799816025745392063255359647040655180833896729675209949038075668343167702468431549107718449287612977419651411607984898700420998810261059048762216298775171182861165738319468022639393339119899625409819253409772211045690403656474721792078655283413691457393017822998193137983326855009643069485154516729868422612524400139914204596522724886764545491008860517312003284247910721150093739346141575571494625591176519109960886544330927985946145802648311288851591997153186830147162958261301998207818403641969070903562586747375698516210034449421852481752166324014705457987007963506989908837346366853480217478009941474417652475222646228767127142740164449163789911585742394952494986914869390212875576176810452717503346156263142813868072961339911457582758263605756438732997909323284909635782526916288445607744179223997204605715890036423000870096026418421770510927055312852023664139187593634412598675419497812753305814387046465387548623460717250762403267165758430674908449806658668995055958812651333022483242829322945272876852427572934603328642096946897786403144654575096080075286367832333937890964729878925363181360523666822641693389072790166851081978804076290095392384021273824049520333217101611074669961641069767291914905717783902175708280601565534170730060460903541685906246933601266688342715294781086401570191971252427988592059723237656328599075753440198822480617587334708299293631065670285648001962237385576975784891987964889625856461910693055218235942373734490941672912371473788438962945921089488104372230916272963375701980381578081303393862320370307726559876790032993682173033186745814484093583942728521798513269618082910162271331175288188543835836661733439583962731319518280717870085921187277544441261495731634395931609514673452802569728808958195794708101466854078720696413610090497627650832243777094794906869187972902788499200934778796007729442978732858447849781181342316511751869408636 119368196181758511835522550313256265873984571380812190598985588834319676830726036574171664728047900710642585431450271685827927576899523670449419885526317065946341482608961254194603979170941670167397655345335856856947852383103273733526456532379799796944633620379674378553225024397435448406737716586538147462025366830260396771832610780611406920322536259833002560754662333545093105541570490567920211638225684895712950047206433069770643401362890716569751055009103184552608757165222853062257054142388091635533162729258365416543184121767275043263361898739932285350319850153066971063553942258503851001330578396672935962925079510614101059193989619439014011675898266100376208833672151567286926348116986436327732303184394252678226767375781115254315845477024054378037236663174786466302186166957670522724764212942000035489571815774180024120005059107745383926577015426576787188157455760842329998177405837138250327240249787749931031214514917197465456810986500905329644090897178397403578332214663978636340391108106279455825780183712095701458732975499753961475016438937871488013205160006782869821698857051769251488528717172756120077679692224259357022433893731180758928673960985515380495920056031052029962096021847843990063944173095412134511900181698680197753323431004383425268863941953652134931419908566257080697008771006085860329623184844404919071467714658500674944577178741472243679396953603745452341476321297132766579466618845697964270370330912825026767231290858391828006551995764210201354277695179026472272474292604798129233588694564569013551634781758529486439884658129455682952963770539158038095946595635926569945852218793331382560529743468978604240346288911062604997437639893591801095771711367219910210768705261439139252291746317453436962865826877050697414466342059921811160037548925954613968151409088923214347083364224845979880678834113345383302076369995353736589171531928710084118079871582289879929959326980328101548074826760947298618887116540154883063916971519440192481482074011328510527634994702912863683378037343620215022545840508214135765445600608769425714407046049268014085482312337614789038773680972879650796952353853035152404400422676820699879908545317354533170337142439663197932663184569220373654842517694974288652453148910104209445307497556695886888483944670367933354688757430779948486730508298248584709455034253699616340294201096391466474224877931822168133854665868367389577284395139681945720005058422492497055269937596495698874414248728610201411166927211188783410583873737020708471162285467946698750132051450669569014218064636730670983756307395443803622738445438324894009502420108322969217198115816324388057651367129075647504844535048756785395557017009394437760912244513025598513384071852088790438613660574821469556642315886112267452257650108026480949281497928866562203348714990804508444652307055141468291611115354520876693072991354796375676662109302924456095618808878883197476498055910148789624878683803523327054017964351892670932810790576338827952693000294888055083411981112957511067269150110041523267138169731878525873570385280257298346897387893710612840612556848721339336322409358725857782117910419702692753289118692614337977415162930430896593340332756718649599810203922321760565946250283005816300284012016288363259363912270168576557850206780960121115159246613085038559370578945413331558821920423205406157356121994747737462560311961318762012228353097439534089481641969464602508052847458751104618548613027617085123740302569229319660041594822915325588408587753303394274425861338431915825874582976287826189375425799973478189124820168325852156008074419479255604704882464018460988639410819282189073663726438906003432401668368603804895941787037015705557482778295075231043 193141798597850693114350893133656494062351088171418817257116096167368175796517467456241004534744084849628626327238621258267568152321864115504138199320250799893649959226374077793360008319903729243252508790062121052968431001023735346996346301976868899069009416961633832113978763667456720491141003984997034186346069977160101689398794513148320373066954437440374807257627109965411965745115495563921242046191454850451231529700045574416972348389090474038763711351646838624033165363287962852611706301181032697387710449459963434829051035252310105653084048701307608698549796360607778760611713784465941996773996406033773501633776989916595387628257596017953839401176213451468453267601038340558197980652832783994861650481936995655734737514172789447400287342433451211171475489698751256850375779701865324036594043381938728016190479866322871949512844420119228171203194523594368231357084197068189340990817356535591705637678597782595635909706137904862349921122183633781291767611830542383516856760298287582074182401976854480148948647171362689161618718669749877470549661460581450384619167501550246064795955653361965675062018381250694415081978784575426865278238004259095176567047627902539656387674713389982858119347309233673933060165769414636996430258785042661390214592222127266884247578073382313115245445387507262440889683672996225879885295724537028148388990548210162065309311665647449128864368623595282661818180451237775401411409900267962492472724837037050631957495638525172792706421564927768836554425809146389482888329638037175519289384329081824007361169341916385226001853435411168023220740199350584365914368194931807718234840424286899942275160428202211641092832677191133335924430083660061949692839754819653142107794070045781663300468420102867742920273008030179190987869783661269456256466339155290973264510226313014163109109616909235240325874768526217198806045205302774664839875096412552549628979300739167542936746631739709532973527181946108879946165302371181839088154380605930800950096650721849647534620112732117093150248389310618679020562300292791048859292066162443537405239187251340940491955407099943555503549395492175197092268057631675129287187222311708740425857320638781081058292533402544074238756063845964831361627655860832983381134856250012093618786408287884041670774817530891615990755638598352128699579201811171456830732769909650789716053578143632798239583389809176097361655777204735944137875357159955661479476074967719701498704723638439038863412518521787153561879706175698279974086612596885281615002971292855013274865318742530354129522219488934589512746128441712946023355074107420925790865716067148441195320422040278094074367999171673923266305559683840708409040673533625354546657111701018011196825157903177485079048123444930273893078289379433210688325016476287607950492984825374854681737474047337767597579931993895864545718683162973639970777757941030251758189378210823927952746769847927355423419091509313291701325496912399844184815433871475009100885968722849226517049815221272185023055782919152137036442024947241051040345440159127439104556010317759250439073799957546441879245191436634117408810928917829034545899011762415990945447291690091417613985411048483928048632050349715270095851924283997951523226067897804265173637872750273952419130506110950292341148453872492588947685576030959648858683317644247831785296125185787735437425388610057832868038521195552045222035270472720835296126063048545236574645972020722701458775298948260411928846405065981393481178785646645106689305623389315461703405779693411557508978907897340862828228369702287147320614876427319010086795115892865695202510114850704765734205726151377046566514938106938211197676098046783628800234886796886899799290046944639679 312509994779609204949873443446912759936335659552231007856101685001687852627243504030412669262791985560271211758688892944095495729221387785953558084846567865839991441835335331987963987490845399410650164135397977909916283384127009080522802834356668696013643037341308210667203788064892168897878720571535181648371436807420498461231405293759727293389490697273377368012289443510505071286685986131841453684417139746164181576906478644187615749751981190608514766360750023176641922528510815914868760443569124332920873178718328851372235157019585148916445947441239894048869646513674749824165656042969792998104574802706709464558856500530696446822247215456967851077074479551844662101273189907845124328769819220322593953666331248333961504889953904701716132819457505589208712152873537723152561946659535846761358256323938763505762295640502896069517903527864612097780209950171155419514539957910519339168223193673842032877928385532526667124221055102327806732108684539110935858509008939787095188974962266218414573510083133935974728830883458390620351694169503838945566100398452938397824327508333115886494812705131217163590735554006814492761671008834783887712131735439854105241008613417920152307730744442012820215369157077663997004338864826771508330440483722859143538023226510692153111520027034448046665353953764343137898454679082086209508480568941947219856705206710837009886490407119692808261322227340735003294501748370541980878028745965926762843055749862077399188786496917000799258417329137970190832120988172861755362622242835304752878078893650837558995951100445871665886511564866850976184510738508622461860963830858377664087059217618282502804903897180815881439121588253738333362069977251863045464551122039563352876499331484920915592214737556304705786099885080876605454211843583080616294015265109904941415919315236228510192473841755215121004708881871600500882415200656511254011407025122636667708850883029047472896073612067811081048353942893407498833281842526064903005125900046123282432170662050360175169614815644980776528285732930833701566402808506926814304892674931869251812285236519355025974267744714732594277230368371825994044621910666827533687609899132408620334402637993314251395434973065742006901940633066338486204145350835121635834283766354221538926283964983770930154719487898824970679513069378300615430087500059756166285767023609267130010254674535099272464461321631344231216321645572125521422270496841901381484534497460216756768642320134137913277661247131988564728806917364481690557960349617593752777288439239553763406916769412099368347586856219605573269053523885516568761800512432314935293285824390117658393436238364666151725735128247321428110840608440626103966057682928063115458901624726616524580897009991967923692708698266399830535394175491700662945975124502768557231990913691937058030452464851846212249886987135364156156834037683850333043769112737405928420298681135280023571555648731124831921475001658102916580009300435726898202779785764145941911676545061677179210050110109327268435036895876663204305592134988764318178515172037653312674941290575057597336461693668159282491802040157973453731220287643686816663809431465108744234565984304429395029148341479380521388964807068364869906055846605758517469476350903620565457649889038637211783042776279526850191355234832613704106932189115998208229262263057579390607216548391193892793547383357795295428350482514314057450388367912254924777768032513147744627493430771827320007388326565345535669148974295301053522773608561970695097893376692709736129267118125327383383561884185167052203654169675765336445435044753171166094869535372121299907392578869165754373616545433566120230241377012941643599344466650588524742021923812592457282068342019870722 505651793377459898064224336580569253998686747723649825113217781169056028423760971486653673797536070409899838085927514202363063881543251901457696284166818665733641401061709409781323995810749128653902672925460098962884714385150744427519149136333537595082652454302942042781182551732348889389019724556532215834717506784580600150630199806908047666456445134713752175269916553475917037031801481695762695730608594596615413106606524218604588098141071664647278477712396861800675087891798778767480466744750157030308583628178292286201286192271895254569529996142547502747419442874282528584777369827435734994878571208740482966192633490447291834450504811474921690478250693003313115368874228248403322309422652004317455604148268243989696242404126694149116420161890956800380187642572288980002937726361401170797952299705877491521952775506825768019030747947983840268983404473765523650871624154978708680159040550209433738515606983315122303033927193007190156653230868172892227626120839482170612045735260553800488755912059988416123677478054821079781970412839253716416115761859034388782443495009883361951290768358493182838652753935257508907843649793410210752990369739698949281808056241320459808695405457831995678334716466311337930064504634241408504760699268765520533752615448637959037359098100416761161910799341271605578788138352078312089393776293478975368245695754920999075195802072767141937125690850936017665112682199608317382289438646233889255315780586899128031146282135442173591964838894065739027386546797319251238250951880872480272167463222732661566357120442362256891888365000278018999405250937859206827775332025790185382321899641905182445080064325383027522531954265444871669286500060911924995157390876859216494984293401530702578892683157659172448706372893111055796442081627244350072550481604265195914680429541549242673301583458664450361330583650397817699688460405959285918851282121535189217337830183768215015832820243807520614021881124839516378779447144897246742093280280652054083382267312772209822704234928377097869678534122241452380586965108799717863164184741094312789217524423770695966466223151814676149780779763864001191136889968298502662974797121444117360760259958632095332453727506468286081140696696912303317565773006695954619215418622604233632545070373271654971825494305429716586670268707976652744129666701870927623116499793518917919726308252678732070704044711440520328577977422776861465560145854001857042964010572427936458267347043772576952141073765653775718290686623540179970532046962214479034392291410532408776681782088154629722477109075708540162781799652327229514785155586539735861084151540457266099588756660404944245800103127418995351377146168124466812375098356461688470005558736427634535777722167895145408771756821711330104428472464871133873634300140979056165182483898517311912712189938899183979847466919129260020702552720846823973014546870678436180178488059346103951524302418579052187344894093167416208281334797348126742387595219635620951012562513784526405727099925330599453458092678795815341342034159936005369218860612196780751779497300892816847775535493625705724371047231594607571140031216561515851209708443227524735180013275994520812643133752527864449437596857418080140001907770889756468992702418801424830631287761788911164202173282390477142532503688705106293054617765146957857087945580701827222392512673576981628230972771967853128296389003709866102672423638384975760073894095561692981202139402792550021466163625513605947597995379361282447003952394208615801787199000082025197832672897818738940892540792082507915031882539378052483766049921180490176181664651264986995109902693719870520107822271584943166796756315119879854797020564697372153542256810609479357081358388964510401 818161788157069103014097780027482013935022407275880832969319466170743881051004475517066343060328055970171049844616407146458559610764639687411254369013386531573632842897044741769287983301594528064552837060858076872800997769277753508041951970690206291096295491644250253448386339797241058286898445128067397483088943592001098611861605100667774959845935831987129543282205996986422108318487467827604149415025734342779594683513002862792203847893052855255793244073146884977317010420309594682349227188319281363229456806896621137573521349291480403485975943583787396796289089387957278408943025870405527992983146011447192430751489990977988281272752026931889541555325172555157777470147418156248446638192471224640049557814599492323657747294080598850832552981348462389588899795445826703155499673020937017559310556029816255027715071147328664088548651475848452366763614423936679070386164112889228019327263743883275771393535368847648970158148248109517963385339552712003163484629848421957707234710222820018903329422143122352098406308938279470402322107008757555361681862257487327180267822518216477837785581063624400002243489489264323400605320802244994640702501475138803387049064854738379961003136202274008498550085623389001927068843499068180013091139752488379677290638675148651190470618127451209208576153295035948716686593031160398298902256862420922588102400961631836085082292479886834745387013078276752668407183947978859363167467392199816018158836336761205430335068632359174391223256223203709218218667785492112993613574123707785025045542116383499125353071542808128557774876565144869975589761676367829289636295856648563046408958859523464947884968222563843403971075853698610002648570038163788040621941998898779847860792733015623494484897895215477154492472778191932401896293470827430688844496869375100856096348856785471183494057300419665482335292532269418200570875606615797172862689146657825885046681066797262488728893855875331695070235067732923877612728987423311645098406180698177365814437974822569997873849744022078646206819855172286082153367917306644677469077416026182041029809660290050992440490896529408744058010132235827185181511878965330196662407020576525981094662596625409583849162479534028088042637329978641803769918357531076255049702388958455171471354338255425901980213793328541557349781777354953359559754201930683789402266817128185049736562927213831343168506033071864559794299068348986986982416350843758424448545069888153215035989363906714865418735012785764283019493540904661661090007311832072787169579849771962540088698857566729090824695931928145736050853176212746083546956098972050796377437364847383757982192898769610397525838255666316779487986776565092916341156039389751585464460361154251060358619177887113332464465519977729934963866640362834536580275265481824722414474812209248970742642403751030192097353906264624176859386758530674306058315983415842108598786740481383975095858067310177019266369094825519124861344097783853640590375005399766892924239058846203584937150035439926721893129574672478545647626294924769687397375784234434064454438591467874445111997187293865006862849271752581024871251504205202667873517874692633479414579260298950207672282094007244970826561664486445009907963617495514986462178769705045396088937650827548375985216058670003992723858923537719997161549954262956065317207843759406612999729221968175521024520155325648423724739486224180160122812006297230684851662128074840725829632833564377341473551952078951483267144353656583500526726002770586496885092376774734933961940015944066324276102676267674967235536709053817820211484965933661342276534186637108295017295272589036274481438817018509287026997692132821498396365031347960678284278734422071814363426730984381123 1323813581534529001078322116608051267933709154999530658082537247339799909474765447003720016857864126380070887930543921348821623492307891588868950653180205197307274243958754151550611979112343656718455509986318175835685712154428497935561101107023743886178947945947192296229568891529589947675918169684599613317806450376581698762491804907575822626302380966700881718552122550462339145350288949523366845145634328939395007790119527081396791946034124519903071721785543746777992098312108373449829693933069438393538040435074913423774807541563375658055505939726334899543708532262239806993720395697841262987861717220187675396944123481425280115723256838406811232033575865558470892839021646404651768947615123228957505161962867736313353989698207292999948973143239419189969087438018115683158437399382338188357262855735693746549667846654154432107579399423832292635747018897702202721257788267867936699486304294092709509909142352162771273192075441116708120038570420884895391110750687904128319280445483373819392085334203110768222083786993100550184292519848011271777797624116521715962711317528099839789076349422117582840896243424521832308448970595655205393692871214837752668857121096058839769698541660106004176884802089700339857133348133309588517851839021253900211043254123786610227829716227867970370486952636307554295474731383238710388296033155899897956348096716552835160278094552653976682512703929212770333519866147587176745456906038433705273474616923660333461481350767801347983188095117269448245605214582811364231864526004580265297213005339116160691710191985170385449663241565422888974995012614227036117411627882438748428730858501428647392965032547946870926503030119143481671935070099075713035779332875757996342845086134546326073377581052874649603198845671302988198338375098071780761394978473640296770776778398334713856795640759084115843665876182667235900259336012575083091713971268193015102384511250565477504561714099682852309092116192572440256392176132320558387191686461350231449196705287594779820578084672399176515885353977413738462740333026106362540633262157120494830247334084060746958906714048344084893838789896099828376318401847263832859637204142020643341854922555257504916302889986002314169183334026890945121335691364227030874265121011562688804016424711527080873805708098758258144020050485331606103689420903801611412518766610647102969462871179892563413872550744512384888372276491125848452542562204845615467412555642316089673303336407679291817559808778439540001310180164444841631622054274046551821561871260304371316770480945721358813301805007636685898832652828539975598332111685511786657461588905304649857570949559174554643325941383085312130865132944689559728716254395851440055470019097581885596136341345782258741236222341689060039392339105233968410214575406460880887596958710726560883454832342650214171944820825393884197561939479377498279072862854094278288777274799827487926620160485889229206611263187992935333142678895131980382977970225035387843936801572630729990664249960770526175351222253468293886989660454860775056616236396431214816233935892360691292887532680919570731233896503347188596011282720766718519083226317920158214594592536293471020315415846535109420264158521904525149909871388385271455454881188506470226720225412616459540187389341060481135256362612242826290216167719409913922405153424461233835392241895545157149255492927293501552021128489934046262795235644682206444925556223636533707031772236356927362939715577592557430865139733017865947530678396979202298672291376856760131794612913762805265168643468350182882267419248431870303977534887114151518458198837902095290127197966308906794589261088603452453823754007252701353193385596045332831826535545031551171444785119948891524 2141975369691598104092419896635533281868731562275411491051856713510543790525769922520786359918192182350241937775160328495280183103072531276280205022193591728880907086855798893319899962413938184783008347047176252708486709923706251443603053077713950177275243437591442549677955231326831005962816614812667010800895393968582797374353410008243597586148316798688011261834328547448761253668776417350970994560660063282174602473632529944188995793927177375158864965858690631755309108732417968132178921121388719756767497241971534561348328890854856061541481883310122296339997621650197085402663421568246790980844863231634867827695613472403268396996008865338700773588901038113628670309169064560900215585807594453597554719777467228637011736992287891850781526124587881579557987233463942386313937072403275205916573411765510001577382917801483096196128050899680745002510633321638881791643952380757164718813568037975985281302677721010420243350223689226226083423909973596898554595380536326086026515155706193838295414756346233120320490095931380020586614626856768827139479486374009043142979140046316317626861930485741982843139732913786155709054291397900200034395372689976556055906185950797219730701677862380012675434887713089341784202191632377768530942978773742279888333892798935261418300334355319179579063105931343503012161324414399108687198290018320820544450497678184671245360387032540811427899717007489523001927050095566036108624373430633521291633453260421538891816419400160522374411351340473157463823882368303477225478100128288050322258547455499659817063263527978514007438118130567758950584774290594865407047923739087311475139817360952112340850000770510714330474105972842091674583640137239501076401274874656776190705878867561949567862478948090126757691318449494920600234668568899211450239475343015397626873127255120185040289698059503781326001168714936654100830211619190880264576660414850840987431192317362739993290607955558184004162351260305364134004905119743870032290092642048408815011143262417349818451934416421255162092173832586024544893700943413007218102339573146676871277143744350797951347204944873493637896800028335655561499913726229163056299611162597169322949585151882914500152052465536342257225971356869586925105609721758107129314823400521143975487779049782506775785921892086799701369832262686559463249175105732295201921033427775288019199434107106394757041056777584249448166575559474835439524978555689373891861100712204242888339325771586006682978543791225304284329673705349503292712061585878624608731451110076333856859179803288087904126500939564831634883506004752721681879067784483837453839026270152033615553142457944165040851779638751628910353119721254652645057410435241191640934479458736136656494960523669372073700687861666789974356205745596802946794850671942705610011433522935809854197474746401244364042174731658508374421326237908172585131178837510120397376061540308871901716018553199406225877632282818454458004022992915834023568345230435154736861040631476933575601399996210452897244351828140772432637286749785544744013612180665648880688374483828565737999529868213435738096745775099769620882534224971921186956744192612791694009171796592421227987697940542354391090720186390970159817835005880786441917059958211515622809163063444007916172605399730485127980221535780546287377717673672869987722361268220640448391971117513332670280013082619149975745867976158226422918047650979437129777218351711374432861405069921304704413267529671508914132284086674449448057404399749788795557383753631495065756552929706871589444746144617857849502955957485688124189019853047812860734733024539203585144493238897943069070699905621961740850751699385522851589750627393293510110814279453622985808211850933272647 3465788951226127105170742013243584549802440717274942149134393960850343700000535369524506376776056308730312825705704249844101806595380422865149155675373796926188181330814553044870511941526281841501463857033494428544172422078134749379164154184737694063454191383538634845907524122856420953638734784497266624118701844345164496136845214915819420212450697765388892980386451097911100399019065366874337839706294392221569610263752057025585787739961301895061936687644234378533301207044526341582008615054458158150305537677046447985123136432418231719596987823036457195883706153912436892396383817266088053968706580451822543224639736953828548512719265703745512005622476903672099563148190710965551984533422717682555059881740334964950365726690495184850730499267827300769527074671482058069472374471785613394273836267501203748127050764455637528303707450323513037638257652219341084512901740648625101418299872332068694791211820073173191516542299130342934203462480394481793945706131224230214345795601189567657687500090549343888542573882924480570770907146704780098917277110490530759105690457574416157415938279907859565684035976338307988017503261993555405428088243904814308724763307046856059500400219522486016852319689802789681641335539765687357048794817794996180099377146922721871646130050583187149949550058567651057307636055797637819075494323174220718500798594394737506405638481585194788110412420936702293335446916243153212854081279469067226565108070184081872353297770167961870357599446457742605709429096951114841457342626132868315619471552794615820508773455513148899457101359695990647925579786904821901524459551621526059903870675862380759733815033318457585256977136091985573346518710236315214112180607750414772533550965002108275641240060000964776360890164120797908798573043666970992211634453816655694397649905653454898897085338818587897169667044897603890001089547631765963356290631683043856089815703567928217497852322055241036313254467452877804390397081252064428419481779103398640264207848550012129639030019088820431677977527809999763007634033969519369758735601730267171701524477828411544910253918993217578531735589924435483937818315573492995915936815304617812664804507707140419416454942451538656426409305383760532046441301085985138003579944412083832779504203761309587649591629990845057845389882748018165566938596009533906614439800038422390988662305286998958170913607522096634336538852050600683892067540760534989359273656354520332561642662179265298500538352569664844285639853869794344924334115859925176430293322370380705173629660749009446717428305947201517533716158833292697280211179469995624111300615175456683473124092017118719684177721021836941041218252665944212373773664831092631696404498556318022252631301869451630814936910203355850013748544850830771357009426078403586497608392233662370737652307089051458535986995557052392571983265717285670864204041691604398686153336340136359828336179039088635432488895470811389791146701888047814406546315455470542580797842204107663566265649956980979072595574081609066319626947204646319800629848577096863696922310376189257030887062549133006469330642278446958216893816945738639706039970510532949908603764332885892248303113787077463811354878708295495309727706394266057897371941146717985849529388476060467456359994740790966263236584148023372577593885393082783910127514692681874283784213013058489819535506009912651527766996466092272685713283295661643574702774575347908139893177306278232067352983107264066344997423819692315395588082796728991094229675130488255197551165843469676854613389612968040731770375205917558428166554740161964379192931862441298875271691205206849863659960994225414194674505706638224204783136223438626341937349824485174157252996970882164171 5607764320917725209263161909879117831671172279550353640186250674360887490526305292045292736694248491080554763480864578339381989698452954141429360697567388655069088417670351938190411903940220026284472204080670681252659132001841000822767207262451644240729434821130077395585479354183251959601551399309933634919597238313747293511198624924063017798599014564076904242220779645359861652687841784225308834266954455503744212737384586969774783533888479270220801653502925010288610315776944309714187536175846877907073034919017982546471465323273087781138469706346579492223703775562633977799047238834334844949551443683457411052335350426231816909715274569084212779211377941785728233457359775526452200119230312136152614601517802193587377463682783076701512025392415182349085061904946000455786311544188888600190409679266713749704433682257120624499835501223193782640768285540979966304545693029382266137113440370044680072514497794183611759892522819569160286886390368078692500301511760556300372310756895761495982914846895577008863063978855860591357521773561548926056756596864539802248669597620732475042800210393601548527175709252094143726557553391455605462483616594790864780669492997653279231101897384866029527754577515879023425537731398065125579737796568738459987711039721657133064430384938506329528613164498994560319797380212036927762692613192541539045249092072922177650998868617735599538312137944191816337373966338719248962705652899700747856741523444503411245114189568122392732010797798215763173252979319418318682820726261156365941730100250115480325836719041127413464539477826558406876164561195416766931507475360613371379010493223332872074665034088968299587451242064827665021102350373554715188581882625071548724256843869670225209102538949054903118581482570292829398807712235870203661873929159671092024523032908575083937375036878091678495668213612540544101919759250956843620867292097894697077246895885290957491142930010799220317416818713183168524401986371808298451771871745447049079218991812429479457481953505241686840069701642585787552527734912932376976837941303413848572801621572762342861601123938091072169632389952771139499318229299722158972236426467214981987754092859023333916606994917074998683635276740630118971546910807743245132894767812604976754991982811092094425377551882931857546759715010704725030187771115266201816360833466197679007861739394105352927954664299680883784705427610075519331592519316224363251134757066724575449981987950851305183516896360890148569969527575143848217046177445803801039024773480457039030488840552297534621554806886766349168599664838045418962090247254479461565139641445608717088677234475062884725029500660588569951571372387198865018831075266333823337338978015054158909126262393121002888637598065022639988104750596427574303804276750346292107619825756598180591849781835452702900029170288710900946404591955193843449335220529114519083529397880445231730052197592288041658366527753629844249150724880963648430114660685905697317658882835584597141867049953191431969839925909749838752264233954431864544643460757762512577610684860017822768886592417346442207427388053546727837776351170710560892996714703145741602612936129478313476290811727619818202445598894686465469545541400146844339289001104929501472338551539504475372532600140521451391216805683803918864971603066755653897849875960902514732176184130571822489815519092531801503512864442250499108631330946641080704479992927059282572754582376199536771766250636935575259129707906366764843645487196478779889787058884119750263307718773176548444058135757585898581273331163403246552355574593209777239927664886980502460416184444104792932730660899847375935525257406023747056372886850831919852048164103938797143061208821815436818 9073553272143852314433903923122702381473612996825295789320644635211231190526840661569799113470304799810867589186568828183483796293833377006578516372941185581257269748484904983060923845466501867785936061114165109796831554079975750201931361447189338304183626204668712241493003477039672913240286183807200259038299082658911789648043839839882438011049712329465797222607230743270962051706907151099646673973248847725313823001136643995360571273849781165282738341147159388821911522821470651296196151230305036057378572596064430531594601755691319500735457529383036688107409929475070870195431056100422898918258024135279954276975087380060365422434540272829724784833854845457827796605550486492004184652653029818707674483258137158537743190373278261552242524660242483118612136576428058525258686015974501994464245946767917497831484446712758152803542951546706820279025937760321050817447433678007367555413312702113374863726317867356803276434821949912094490348870762560486446007642984786514718106358085329153670414937444920897405637861780341162128428920266329024974033707355070561354360055195148632458738490301461114211211685590402131744060815385011010890571860499605173505432800044509338731502116907352046380074267318668705066873271163752482628532614363734640087088186644379004710560435521693479478163223066645617627433436009674746838186936366762257546047686467659684056637350202930387648724558880894109672820882581872461816786932368767974421849593628585283598411959736084263089610244255958368882682076270533160140163352394024681561201653044731300834610174554276312921640837522549054801744348100238668455967026982139431282881169085713631808480067407425884844428378156813238367621060609869929300762490375486321257807808871778500850342598950019679479471646691090738197380755902841195873508382976326786422172938562029982834460375696679575665335258510144434103009306882722806977157923780938553167062599453219174988995252066040256630671286166060972914799067623872726871253650848845689343426840362441609096511972594062118518047229452585550560161768882451746735573543033681020274326099401173887771855042931308650701367979877206623437136544873215154888173241771832794652558600566163753333061937368613655110044582124390651017988211893728383136474712224688809534496186572401682074969181873776915392149597758722890597126367124800108430800633504620069996524044681104311098868271821777518121244279660676203223660060076759352610408413421244908011624650130116603684055248930554992855609381444938193141380293305728977469318095850837744204118501301306981338983112833967866702315823671338116242301426724475085676440256621065400561801326492181604409207221682425510992789625053143077392604740097426455033743476571372181161757564262572633703574508268378490001853295447258345660813702828749878605228217990260551329502088924504161436016165845763293518387857672479514313539262220718917769682734220581591558388376631376677090855423224441234040297426769011462836660976141376239898456725039692260708132699910172411042435499991358905071891181159078184345273309334859376274532995236207079799773654966479448676758030331993686054670168116449200599036685213678691511216700462364205724593925514697282013800477602981960779273247794412902236660942251647487321867940015564942828892594881312417654453389831827291442565488459838437807977390653584389015960397143630312309351025102444453031279860908342771794344614242302724279182767502407190712647759682477768839119233744199641604127131726059080239233569993207770984016734014608005460858884616646225298671525370553939313043706369320804980522129333371741619120596749421801335687875649311642796390621894072790130199763112661971261156023074270546193985513928423971300314205792697600989 14681317593061577523697065833001820213144785276375649429506895309572118681053145953615091850164553290891422352667433406522865785992286331148007877070508574236326358166155256921251335749406721894070408265194835791049490686081816751024698568709640982544913061025798789637078482831222924872841837583117133893957896320972659083159242464763945455809648726893542701464828010388630823704394748935324955508240203303229058035738521230965135354807738260435503539994650084399110521838598414961010383687406151913964451607515082413078066067078964407281873927235729616180331113705037704847994478294934757743867809467818737365329310437806292182332149814841913937564045232787243556030062910262018456384771883341954860289084775939352125120654056061338253754550052657665467697198481374058981044997560163390594654655626034631247535918128969878777303378452769900602919794223301301017121993126707389633692526753072158054936240815661540415036327344769481254777235261130639178946309154745342815090417114981090649653329784340497906268701840636201753485950693827877951030790304219610363603029652815881107501538700695062662738387394842496275470618368776466616353055477094396038286102293042162617962604014292218075907828844834547728492411002561817608208270410932473100074799226366036137774990820460199809006776387565640177947230816221711674600879549559303796591296778540581861707636218820665987187036696825085926010194848920591710779492585268468722278591117073088694843526149304206655821621042054174132055935055589951478822984078655181047502931753294846781160446893595403726386180315349107461677908909295655435387474502342752802661891662309046503883145101496394184431879620221640903388723410983424644489344373000557869982064652741448726059445137899074582598053129261383567596188468138711399535382312135997878446695971470605066771835412574771254161003472122684978204929066133679650598025215878833250244309495338510132480138182076839476948088104879244141439201053995681025323025522594292738422645832174871088553993926099303805358116931095171338112689503795384123712411484337094868847127720973936230633456166869399722871000369829977762936454774172937313860409668239047776640312693425187087249668932285688653793679858865020769989535122701471628269369480037293786289488169383493776500346733756708772938909312769427615627314138240066310247161466970817749004385784075209664026822936121458401905949707270751722555252579392983715861543170487969483461606638080967908867572145291445141425578909020082041358426470751532778508342869331294783234607341853604515960537919720734215870915488509383535204391673978954547241579898066674117650478560967244489134236722343014080944360997440341942411435815363760278371082454586426340070883826655693636592212106333401129989958046043685919964617979579096170712848043746858731921351870759956864336045336134474194464792449627673357762874482749833436853212132101026823288440574223664718749221950978071078289448151649975111266775636827281937216115607875276857849999749863363843012275425901108743824155415113510048889916770092621888852143680096224902568660247383825890884185418385540413892446519287159761492033399916824433113829636591842519200884737242317100216246076497668426248818789194559746575949943356576988794206491555069418201425195021833869045670195515631210307537091526594091705827266614486903748136581274202134799166544194976254534792725350593270902975945188943804983662760429466473285402342058677305610885484381135216863256839632425845082879057189686550873803792898727755724166603389822773742729661128139837894317037532724051532877703926581518859048261636402303796104060093416435729121282793920166065725020518685718317528909925102466046033678032362768443375414614513037807 23754870865205429838130969756124522594618398273200945218827539944783349871579986615184890963634858090702289941854002234706349582286119708154586393443449759817583627914640161904312259594873223761856344326309000900846322240161792501226629930156830320849096687230467501878571486308262597786082123766924334152996195403631570872807286304603827893820698439223008498687435241131901785756101656086424602182213452150954371858739657874960495926081588041600786278335797243787932433361419885612306579838636456950021830180111146843609660668834655726782609384765112652868438523634512775718189909351035180642786067491954017319606285525186352547754584355114743662348879087632701383826668460748510460569424536371773567963568034076510662863844429339599805997074712900148586309335057802117506303683576137892589118901572802548745367402575682636930106921404316607423198820161061622067939440560385397001247940065774271429799967133528897218312762166719393349267584131893199665392316797730129329808523473066419803323744721785418803674339702416542915614379614094206976004824011574680924957389708011029739960277190996523776949599080432898407214679184161477627243627337594001211791535093086671956694106131199570122287903112153216433559284273725570090836803025296207740161887413010415142485551255981893288484939610632285795574664252231386421439066485926066054137344465008241545764273569023596374835761255705980035683015731502464172596279517637236696700440710701673978441938109040290918911231286310132500938617131860484638963147431049205729064133406339578081995057068149680039307821152871656516479653257395894103843441529324892233944772831394760135691625168903820069276307998378454141756344471593294573790106863376044191239872461613227226909787736849094262077524775952474305793569224041552595408890695112324664868868910032635049606295788271450829826338730632829412307938373016402457575183139659771803411372094791729307469133434142879733578759391045305114354000121619553752194279173443138427766072672537312697650505898693365923876164160547756888672851272677835870447985027370775889121453820375110118405311209800708373572368349707184386373591319046152468748582910010880571292871293991350840582730869654302308903724440989411421007523334595200011405844192261982595823984355955895458575315915630485688331058910528150506224440505364866418677962100475437819000909828756313975125691207943235920027193986931427925778912639469743068471951583909214391473231288211084512551627394222000134281188290465020234499806764057261755977660965182132527438725843154911497299521032554702082573231312180721651446693100703429632918020154687739518212279887459426093543443944025439591937150622493485019804040555461186733404825931157798521232641390918266270295786614601779619991811341490944265625431682407846049318076261737119283250853959684461025772061501980237487983180307300152872076413744970552354622894866321608414846828950855041395840077374202512312329745578418986574103436612968658177114572332914969118558132449773536254054710925892467648896046596272588233235190079427481265126676675332431982368433902350305339560943448717534099947116687403608962091070085130503124625046337054206724925478662757014382230046554100650387028092036988972648812610885608224476116074431570634361030317789903146286700123585347458501750102579986432529513804657268071292764096978417832447108517569297420707566072586258936042697320559431246529262845527931873663998050101741155074450004718125334858467383971358484925322112627182894321857820526913335761185025488006468999041401186498693777207360743902044856513399833259953260478168858385824105131791935742728078525511904687992956195924783631347689578684932999373012240019191960786739743689620407210638796 38436188458267007361828035589126342807763183549576594648334435254355468552633132568799982813799411381593712294521435641229215368278406039302594270513958334053909986080795418825563595344279945655926752591503836691895812926243609252251328498866471303394009748256266291515649969139485522658923961350041468046954091724604229955966528769367773349630347166116551200152263251520532609460496405021749557690453655454183429894478179105925631280889326302036289818330447328187042955200018300573316963526042608863986281787626229256687726735913620134064483312000842269048769637339550480566184387645969938386653876959772754684935595962992644730086734169956657599912924320419944939856731371010528916954196419713728428252652810015862787984498485400938059751624765557814054006533539176176487348681136301283183773557198837179992903320704652515707410299857086508026118614384362923085061433687092786634940466818846429484736207949190437633349089511488874604044819393023838844338625952475472144898940588047510452977074506125916709943041543052744669100330307922084927035614315794291288560419360826910847461815891691586439687986475275394682685297552937944243596682814688397250077637386128834574656710145491788198195731956987764162051695276287387699045073436228680840236686639376451280260542076442093097491715998197925973521895068453098096039946035485369850728641243548823407471909787844262362022797952531065961693210580423055883375772102905705418979031827774762673285464258344497574732852328364306632994552187450436117786131509704386776567065159634424863155503961745083765694001468220763978157562166691549539230916031667645036606664493703806639574770270400214253708187618600095045145067882576719218279451236376602061221937114354675952969232874748168844675577905213857873389757692180263994944273007248322543315564881503240116378131200846222083987342202755514390512867439150082108173208355538605053655681590130239439949271616219719210526847495924549255793201175615234777517304696037431166188718504712183786204499824792669729234281091642928226785540776473219994160396511707870757968581541349046349038767376670108096443368719537162149310046093219089782608992578249928347933183987416537927832399801939990962697404299854432190997058457296671639675213672299276382113472525339389235075662649387194461269968223297578121851754643604932728925123567446255568005295612831523639152514144064694321933143694202179648334165218862726784333494754397183874934837926292052421419199539513445275706767199485102275858233234808794534486003834513427310673333185008516013260058952275436298444146800690105186651084774682384180159600052754413635862758448426670582677680666368453672881511619933826962215476370824947011775908385744224861303525217573959906887998720935180749981769387534630185590049661986942220030924305483978015172205830444417890108106838114711682447972756927826229839288227720385791476106998422635238135269525078706114589299325180583390619193730068961685370212249795940114330687940790245976408132199636900097066986351793576392720202011386098282125106849520103153978820355428656884937094149734131230445128867103074513839563206690768723583103485047327557738875973646049244126363399999331482446292630598318813276910826183532395388560828964801464910280923125703779231742984924980155745793780863089712057639671513026621219631923882558196512233559692034581907684113492396962100865311609529313600296504620190334246508288361340137283452443799832380060890202506470075330640810990910770404991684372580872731624319812063516909192091396291772784130847626833615101677781434768908046277537186534779337217120022226408927895995836144514254633187481913122261649804150033407896213842924475478286052869993149508187065035021723676603 62191059323472437199959005345250865402381581822777539867161975199138818424213119183984873777434269472296002236375437875935564950564525747457180663957408093871493613995435580729875854939153169417783096917812837592742135166405401753477958429023301624243106435486733793394221455447748120445006085116965802199950287128235800828773815073971601243451045605339559698839698492652434395216598061108174159872667107605137801753217836980886127206970914343637076096666244571974975388561438186185623543364679065814008111967737376100297387404748275860847092696765954921917208160974063256284374296997005119029439944451726772004541881488178997277841318525071401262261803408052646323683399831759039377523620956085501996216220844092373450848342914740537865748699478457962640315868596978293993652364712439175772892458771639728738270723280335152637517221261403115449317434545424545153000874247478183636188406884620700914536175082719334851661851678208267953312403524917038509730942750205601474707464061113930256300819227911335513617381245469287584714709922016291903040438327368972213517809068837940587422093082688110216637585555708293089899976737099421870840310152282398461869172479215506531350816276691358320483635069140980595610979550012957789881876461524888580398574052386866422746093332423986385976655608830211769096559320684484517479012521411435904865985708557064953236183356867858736858559208237045997376226311925520055972051620542942115679472538476436651727402367384788493644083614674439133933169319310920756749278940753592505631198565974002945150561029894763805001822621092420494637215424087443643074357560992537270551437325098566775266395439304034322984495616978549186901412354170013792069558099752646252461809575967903179879020611597263106753102681166332179183326916221816590353163702360647208184433791535875165984426989117672913813680933388343802820805812166484565748391495198376857067053684921968747418405050362598944105606886969854370147201297234788529711583869480569593954791177249496483855005723486035653110445252190685115458392049151055864608381539078646647090035361724156467444078586470816470015737069244346535683637412265242251357575488260808919226055281407888768415130671594293271601128740843843612004581791891871651081057864561258977937456881295284693650978565017680149601027133825728628076195148969799147603085667921693387006205441587837614278205352007930241960337681133607574113077858332469852805446338306398266408069214503136933970826933735445409987955489950122510358039998866056290463664799695559838112059028163427510559579984830138381017378112870826838097777875385813813077620207442153154075038335886096676221124610393893264818662242427311982019516926286133745180734316902023382536166608492226177183785335536960369973580729025574451215481344394788269349000567221097298423059790128878915880168340094949170431153064227979101915701972690938146099001864744243652982098475933747510429376699383095702948939308487948259473648862764598291445260273705215094966264649410436351121697277686044041616248607658686515360296928947584419105497030761088867305528052084436570006072315820608613786679894094377685674173570177830682363922310700255969051842062756345864676339184698969200305002863172505044201171714573025941026355354696338140262060774828126442445917366210548213807742251499459150733436581150629489276330538109867029016201682789817669666937897868465356297617064051436863509353816293213801281502545540987454510894920631804933798024782349395695727104311555475194589444846725399278094217579402760771825532034125527392309038525336813764559677370446488039815385978408050514059687931578872592780145092169906078457574587781381097474898775923848490526072061953936247930754655428934315399 100627247781739444561787040934377208210144765372354134515496410453494286976846251752784856591233680853889714530896873517164780318842931786759774934471366427925403600076230999555439450283433115073709849509316674284637948092649011005729286927889772927637116183743000084909871424587233643103930046467007270246904378852840030784740343843339374593081392771456110898991961744172967004677094466129923717563120763059321231647696016086811758487860240645673365914996691900162018343761456486758940506890721674677994393755363605356985114140661895994911576008766797190965977798313613736850558684642975057416093821411499526689477477451171642007928052695028058862174727728472591263540131202769568294477817375799230424468873654108236238832841400141475925500324244015776694322402136154470481001045848740458956666015970476908731174043984987668344927521118489623475436048929787468238062307934570970271128873703467130399272383031909772485010941189697142557357222917940877354069568702681073619606404649161440709277893734037252223560422788522032253815040229938376830076052643163263502078228429664851434883908974379696656325572030983687772585274290037366114436992966970795711946809865344341106007526422183146518679367026128744757662674826300345488926949897753569420635260691763317703006635408866079483468371607028137742618454389137582613518958556896805755594626952105888360708093144712121098881357160768111959069436892348575939347823723448647534658504366251199325012866625729286068376935943038745766927721506761356874535410450457979282198263725608427808306064991639847570695824089313184472794777590778993182305273592660182307158101818802373414841165709704248576692683235578644232046480236746733010349009336129248313683746690322579132848253486345431951428680586380190052573084608402080585297436709608969751499998673039115282362558189963894997801023136143858193333673251316566673921599850736981910722735275052208187367676666582318154632454382894403625940402472850023307228888565518000760143509681961680270059505548278705382344726343833613342243932825624275858768778050786517405058616903073202816482845963140924566459105788781508684993683505484332033966568066510737267159239268824426696247530473534284234298533040698275803001640249188543290756271536860535360050929406634673928726641214404874610870995357123306749927949792574731876528209235367948955011501054419361253430719496072624563893481375335787222447243077195196637138941092703582141342907140795189355390026473248890685694722689435224786216273233674850824949668634208987148785392213171943523819638937105574679461524913560932024748862650068197993237220260196566789937796784312767258898805276762346937700173862361138944234993297111080756956642702646248243839691826066186084071784056472141119955350116560204636805531006381730489379924872705075313595265620573296805988275178209660852879125821155805331754990200411323937575108863166878891117368001012453625018676024563679093568133038556909944843861112560538405775948214495461071374396849047336448188683629479620434336450619044784797485403778467687573084317386189745752242622201818567800451201182923683127626243100785146409257277055225158240102798284346305213178205462755677347122631815297288013581913689356037439589732543537827405936636277822041919493803759753106598191711147073637925865381923012485771953068505033187685788564097801901610923885796282214631767803209477994669897913568671627197755862104654553938564954989340819834571785123138275009128665593340306466132095995928056067321069166537462795003409670799052544609662881752361007410716306771582672605954907633022819152603098430276922987583927415017107034778279651819200719224391931414505371112618848323968812124931947085756117819690450657992002 162818307105211881761746046279628073612526347195131674382658385652633105401059370936769730368667950326185716767272311393100345269407457534216955598428774521796897214071666580285315305222586284491492946427129511877380083259054412759207245356913074551880222619229733878304092880034981763548936131583973072446854665981075831613514158917310975836532438376795670597831660236825401399893692527238097877435787870664459033400913853067697885694831154989310442011662936472136993732322894672944564050255400740492002505723100981457282501545410171855758668705532752112883185959287676993134932981639980176445533765863226298694019358939350639285769371220099460124436531136525237587223531034528607672001438331884732420685094498200609689681184314882013791249023722473739334638270733132764474653410561179634729558474742116637469444767265322820982444742379892738924753483475212013391063182182049153907317280588087831313808558114629107336672792867905410510669626442857915863800511452886675094313868710275370965578712961948587737177804033991319838529750151954668733116490970532235715596037498502792022306002057067806872963157586691980862485251027136787985277303119253194173815982344559847637358342698874504839163002095269725353273654376313303278808826359278458001033834744150184125752728741290065869445027215858349511715013709822067130997971078308241660460612660662953313944276501579979835739916369005157956445663204274095995319875343991589650337976904727635976740268993114074562021019557713184900860890826072277631284689391211571787829462291582430753456626021534611375697646710405604967431993014866436825379631153652719577709539143900940190107561149008282899677178852557193418947892590916746802418567435881894566145556266290482312727274097942695058181783267546522231756411524623897175650600411969616959684432464574990448346985179081567911614704069532201996154479063483051239669991345935358767789788959974176934786081716944917098738061269864257996087603770084811836940472434998570354098300859211176753914511271764741035455171596024298457702324874775331723377159589865164052148652264797359283926924549611741036474842858025855220677320917749574285324143554771546186385294550232315464662661145128577505899661781542119415006222041080414941837329401421794337988386287929958622377619779422554760472022490949035378004144941544531024131294903289642342017706496007198867708924848080554805853819056469394796560320935527666489944387431009980407750976355298326289360853406984336095682678179385347296574313232540907115413333433904546986897451241335371034379218921935713060478903026431758862846640525454011806314840467638719944012835120198863935119929887156240202518836104788450926254510223397214502137377019548271626375858434558412261255569392009101489928930845585779088021012350776518758728925439926172612018325410702175721868443518304610023310278885383784433670692173102262083674110727911122544099466476946201135448052723946774796517072347044858204317509975325136697221208488200676166340661498457772799310380907165664475952699226703471312845700707415271992189814416950834619548150253903004370457273498744291741412922994879524094931450625402988922466720595046561182230047525512023211798970999996257213886916552528542483790904258110853346962991632518380059755864534581233040637628513284186139673124174511944922686505086183817175064894635911768639940087479072032301434741107346460026195530632723064061265215920947767739846457534881807289082680043770079942926690375689702161859200307483531261910514013262862073097627250201813316435194915877888399719754832108396437165632278079510858967989076838327437047271858993889699814923371821725279176798979712795602846011394772172459338196993901022004048574345879592307401 263445554886951326323533087214005281822671112567485808898154796106127392377905622689554586959901631180075431298169184910265125588250389320976730532900140949722300814147897579840754755506019399565202795936446186162018031351703423764936532284802847479517338802972733963213964304622215406652866178050980342693759044833915862398254502760650350429613831148251781496823621980998368404570786993368021594998908633723780265048609869154509644182691395634983807926659628372299012076084351159703504557146122415169996899478464586814267615686072067850670244714299549303849163757601290729985491666282955233861627587274725825383496836390522281293697423915127518986611258864997828850763662237298175966479255707683962845153968152308845928514025715023489716749347966489516028960672869287234955654456409920093686224490712593546200618811250310489327372263498382362400189532404999481629125490116620124178446154291554961713080941146538879821683734057602553068026849360798793217870080155567748713920273359436811674856606695985839960738226822513352092344790381893045563192543613695499217674265928167643457189911031447503529288729617675668635070525317174154099714296086223989885762792209904188743365869121057651357842369121398470110936329202613648767735776257032027421669095435913501828759364150156145352913398822886487254333468098959649744516929635205047416055239612768841674652369646292100934621273529773269915515100096622671934667699067440237184996481270978835301753135618843360630397955500751930667788612332833634505820099841669551070027726017190858561762691013174458946393470799718789440226770605645430007684904746312901884867640962703313604948726858712531476369862088135837650994372827663479812767576772011142879829302956613061445575527584288127009610463853926712284329496133025977760948037121578586711184431137614105730709543369045462909415727205676060189488152314799617913591591196672340678512524235026385122153758383527235253370515652758661622028006242934835144169361000516571114241810541172857023974016820043446417799897939857911799946257700399607582145937640651681457207269167870562100409770512752665602933948646807363905671004423233906319290711621282283453544533819056742160910191618662861740198194822240395218007862290268958232593600938282329698039315694564632551104260993827429371343017848072342127932094734119262900659504138657591297029207550426560121139644344153179369747300431805182019007564012722863127083328523713562549093883496093515644750879880233226781377400868820572082790586466215757940363002068113534135682843454507314558198857859041287739940427939992690887595503175522209799552060727835286733950631904511631194018735163918587140219009967149589870489503520508295259094019722194519870215550260624598345327353448481242609884280962145983724826543357158249248108850312631247925613591031275472527856718696514270876189404706539589765425682373513586021249219591078001435216834477958654760466728748510453890085205385601768149161371087885675102997156702696137237715058347505109247499064536645284910289149845748256110331104485882959565274131803140580371790772455721572170908474681667974869039166095664670504188727680628147162569518879392866395408252988267700558921602815293545227468830241884579923380636801648680752899627910340421979249668294334339638829339660357824065538506097524430694639573591217004860853458733713670250863973275354246933202544316824454696093444201394691259021078025602321678411412524222627123654465166908354952055355969030008627991296303411587329231583179800324868101036921000865861044857797630249407130471138879979109771587185712533678120592175268604360034855786408906806849701651473544479896023371644210108217124013620496428150321925848107760166394036330250299403 426263861992163208085279133493633355435197459762617483280813181758760497778964993626324317328569581506261148065441496303365470857657846855193686131328915471519198028219564160126070060728605684056695742363575698039398114610757836524143777641715922031397561422202467841518057184657197170201802309634953415140613710814991694011768661677961326266146269525047452094655282217823769804464479520606119472434696504388239298449523722222207529877522550624294249938322564844436005808407245832648068607401523155661999405201565568271550117231482239706428913419832301416732349716888967723120424647922935410307161353137952124077516195329872920579466795135226979111047790001523066437987193271826783638480694039568695265839062650509455618195210029905503507998371688963255363598943602419999430307866971099728415782965454710183670063578515633310309817005878275101324943015880211495020188672298669278085763434879642793026889499261167987158356526925507963578696475803656709081670591608454423808234142069712182640435319657934427697916030856504671930874540533847714296309034584227734933270303426670435479495913088515310402251887204367649497555776344310942084991599205477184059578774554464036380724211819932156197005371216668195464209983578926952046544602616310485422702930180063685954512092891446211222358426038744836766048481808781716875514900713513289076515852273431794988596646147872080770361189898778427871960763300896767929987574411431826835334458175706471278493404611957435192418975058465115568649503158905912137104789232881122857857188308773289315219317034709070322091117510124394407658763620511866833064535899965621462577180106604253795056288007720814376047040940693031069942265418580226615186144207893037445974859222903543758302801682230822067792247121473234516085907657649874936598637533548203670868863602189096179056528548127030821030431275208262185642631378282669153261582542607699446302313195000562056939840100472152352108576922622919618115610013019646981109833435515141468340111400384033777888528091808187453255069535882210257648582575174939305523097230516845509355921432667921384336695062364406639408791504833219126348325340983480604614855176053829639929828369289057625572852763791439246097856603782514633014084331349373174430930339704124036027701982494591173481880773249984131815040339021377505936239675663793924790799041947233639046914046433758988848569192233734175601119488274576815567884948250529617027715954723542956844859851391841934111733287217562877060079048205919379364899698756665055776335502018081122580294695842685592578076780977000800419330966424449750442143700976221605866901195474006677963467024710495129138665051074827342737846071938040796744013743905509761231396741742791496591408695183010606582922840490344099813211807731762812847555707934768006837775752557420537631916441977648249725162214818880899499683591923374199096374546615848104923330318989123979316300954904855895914781472457228686602277732646626353478881063210811800218365190896813404055719845962882046809445443810949386241849072451727423176805193298231557463946220091414991338922709624576541365748180412266610452089090544194599120178306031136085036239474439427577638300513779723770720573815289802441355746794413122407171541059759534099862619542858802039005532828915572679466968173642010205211630272036375617326078677400822035918353369625438890804060754426279234637285424170914722288974834117755320286293946550089418257870059104434412737145210678434894982046344719710789850496610895118591142097193063186941198664171202679177480052713508137806850225970988375546937219463792044537088581252106931797082127645402796506664625023295269759072822351357005711063135408392668887488518919749129764214968382209842606804 689709416879114534408812220707638637257868572330103292178967977864887890156870616315878904288471212686336579363610681213630596445908236176170416664229056421241498842367461739966824816234625083621898538300021884201416145962461260289080309926518769510914900225175201804732021489279412576854668487685933757834372755648907556410023164438611676695760100673299233591478904198822138209035266513974141067433605138112019563498133591376717174060213946259278057864982193216735017884491596992351573164547645570831996304680030155085817732917554307557099158134131850720581513474490258453105916314205890644168788940412677949461013031720395201873164219050354498097659048866520895288750855509124959604959949747252658110993030802818301546709235744928993224747719655452771392559616471707234385962323381019822102007456167303729870682389765943799637189269376657463725132548285210976649314162415289402264209589171197754739970440407706866980040260983110516646723325164455502299540671764022172522154415429148994315291926353920267658654257679018024023219330915740759859501578197923234150944569354838078936685824119962813931540616822043318132626301661485096184705895291701173945341566764368225124090080940989807554847740338066665575146312781540600814280378873342512844372025615977187783271457041602356575271824861631324020381949907741366620031830348718336492571091886200636663249015794164181704982463428551697787475863397519439864655273478872064020330939446685306580246540230800795822816930559217046236438115491739546642924889074550673927884914325964147876982008047883529268484588309843183847885534226157296840749440646278523347444821069307567400005014866433345852416903028828868720936638246243706427953720979904180325804162179516605203878329266518949077402710975399946800415403790675852697546674655126790382053294739803201909766071917172493730446158480884322375130783693082287066853173739280040124814837430026947179093598483999387605479092575381581240143616255954482125279194436031712582581921941556890801862544911851633871054967475740122057594840275574546887669034871168526966563190600538483484746465575117072242342740151640583032019329764217386923905566797336113093474362188345799786483044382454300986296051426022909851021946621618331407024531277986453734067017677059223724586141767077413503158058187093719633868334409783056825450303180604824936076121596860319109988213536386913545348419920079758834575448960973392744111044478437105505938743347485357578862613167450789658437479917026491462155486164972422996139337570131615258263138150350000150776934640018288540359758906417140638037646876498431405418961923309293411914098929222126323157400214993414482956856039087630667233517264413805020325416463937311366806958955807608951910276288971586709697492769877746537674099065093017254946626065188668463245507473253120777581880911333151775689088298462963964522056920129434126172549910067125414533135432863510656381510220967682576687483118248394502640252151096486903215521893592950641770778193467991294308509980456234296530998918199983533507909679181191122738078023231995363129695165346148712274222862080241479491255186208865103308905986659283247605758353832293973046553502047424329642176630583347668824577036297702330552177861408214852762247453199224018255201123249912318296307833999834270750136369560806311965652268617826896771812103339109141668034029780526167839829740995369418382419035512446579307371972152411096669282583327061536391610377586789847037402313749719417841792914306705920373680372863511809299701092203545038524910511138387213980697109868354656708806649504578215209173427375536157116983431811703313514326674768814238968845723001215819280259422013165315638840845597237524381362418540092906207 1115973278871277742494091354201271992693066032092720775459781159623648387935835609942203221617040794192597727429052177516996067303566083031364102795557971892760696870587025900092894876963230767678594280663597582240814260573219096813224087568234691542312461647377669646250078673936609747056470797320887172974986466463899250421791826116573002961906370198346685686134186416645908013499746034580260539868301642500258861947657313598924703937736496883572307803304758061171023692898842824999641771949168726493995709881595723357367850149036547263528071553964152137313863191379226176226340962128826054475950293550630073538529227050268122452631014185581477208706838868043961726738048780951743243440643786821353376832093453327757164904445774834496732746091344416026756158560074127233816270190352119550517790421622013913540745968281577109947006275254932565050075564165422471669502834713958680349973024050840547766859939668874854138396787908618480225419800968112211381211263372476596330388557498861176955727246011854695356570288535522695954093871449588474155810612782150969084214872781508514416181737208478124333792504026410967630182078005796038269697494497178358004920341318832261504814292760921963751853111554734861039356296360467552860824981489652998267074955796040873737783549933048567797630250900376160786430431716523083495546731062231625569086944159632431651845661942036262475343653327330125659436626698416207794642847890303890855665397622391777858739944842758231015235905617682161805087618650645458780029678307431796785742102634737437192201325082592599590575705819967578255544297846669163673813976546244144810022001175911821195061302874154160228463943969521899790878903664823933043139865187797217771779021402420148962181130948749771145194958096873181316501311448325727634145312188674994052922158341992298088822600465299524551476589756092584560773415071364956220114756281887739571117150625027509236033438584471539957587669498004500858259226268974129106389027871546854050922033341940924579751073003659821324310037011622332315243422850749486193192132101685372475919112033206404869083160637481478881751531656473802158367655105200867528520421973389942733404190557634857412055897146245740232393908029805424484036030952967704581455461617690577770094719659553814898068022540327397634973098526115097139804574085446850750241102222552058575123035643294078098836782728620647720949539408354335650143333909223922361138760433160648462783603198877199512974346454668352535497558965232410841520385863729088051915673072149696380843432846192685743355011420995289340779089872841590388479790577474653011285863118783300089877565953932621452296065266068241825694702111025671463977531008319314781556813205680102863398367650990619558493199129461930809510704577609509350521654773027785261784401817746089000877423915230769027307043126152032675188771890386338163618431466745282231095880229056249393849436387768366552296291693424911263289760850895020856119133214307298703433887084489764045826498039430873341117955424267183682772847990651710956684714872479422680202024243323410354468617874970725253639971042492508089943344276753059702429084292690419332641997828271721550684854015827148100362750445873150110180323830710824737723718921167748952624866996058026057260733952165484997763276007641844475961766641597181929291730946018648932690165472964548032472094784206805402477115165166284140671393869630201899593665918702500514927152642431495949128755588265224742019448658469430207692289525201824511515777565926698750498365263406224216004963224646525020830923080856730203646026113296622752297754679482467954199111077214499820178951698064083998041668074358221530343394830405834203127359765346367288596330800749935513011 1805682695750392276902903574908910629950934604422824067638749137488536278092706226258082125905512006878934306792662858730626663749474319207534519459787028314002195712954487640059719693197855851300492818963619466442230406535680357102304397494753461053227361872552871450982100163216022323911139285006820930809359222112806806831814990555184679657666470871645919277613090615468046222535012548554401607301906780612278425445790904975641877997950443142850365668286951277906041577390439817351214936496814297325992014561625878443185583066590854820627229688096002857895376665869484629332257276334716698644739233963308022999542258770663324325795233235935975306365887734564857015488904290076702848400593534074011487825124256146058711613681519763489957493810999868798148718176545834468202232513733139372619797877789317643411428358047520909584195544631590028775208112450633448318816997129248082614182613222038302506830380076581721118437048891728996872143126132567713680751935136498768852542972928010171271019172365774963015224546214540719977313202365329234015312190980074203235159442136346593352867561328440938265333120848454285762808379667281134454403389788879531950261908083200486628904373701911771306700851892801526614502609142008153675105360362995511111446981412018061521055006974650924372902075762007484806812381624264450115578561410949962061658036045833068315094677736200444180326116755881823446912490095935647659298121369175954875996337069077084438986485073559026838052836176899208041525734142385005422954567381982470713627016960701585069183333130476128859060294129810762103429832072826460514563417192522668157466822245219388595066317740587506080880846998350768511815541911067639471093586167701398097583183581936754166059460215268720222597669072273128116916715239001580331691986843801784434975453081795499998588672382472018281922748236976906935904198764447243286967930021167779695931988055054456415127037068470927563066762073386082098402842524928611231668222307578566633503955283497815381613617915511455195365004487362454372838263126324033080861166972853899442482302633744888353829626212598551124094271808114385190386984869418254452425988770726055826878552745980657198538941528700041218689959455828334335057977574586035988479992895677031504161737336613038622654164307404811138131156713208816773672908495229907575691405403156883511199157240154397208824996265007561266297959328434094484718782870197315105249804911597753968722346546362557091836959622119142193935038882258902303675872028701511048055010642281311639106570996542685894131946061013577881138848779258731026517437453973084416704825042092593501791664883154747775453465481061656308651558150113302131211048272733119801882229669617414230205326606798228510403475418433517519208197347487255888195753838120802516731027882934757464122931388483889804888924037485184450877860188849302128140488386874716357268430139123374808382571820631877208677801914392593839977243969143415358759385365403785606649408978082714687597276232898864635426465404723417979303846908851694490192624551660613802940102266555405717598313040316873965914193904572749569434599462961924805737990279349702580247756182104015523731407517874572430004927076456497779004900867008527068275896782575963805387114449257250075515935075415397316059583841641678746711903011157988241257383214636475829461977576303657174140128813987331570316944906161653559053812905142648478901037890854911611596435225758557485520365965852014589056850972219149625534082439508530431889457938790210559798066355609769254529873735784912234811620190725084860354832762801200967506928106858004111316094509026203133693278372832898237010513797359437349623654252418999518766200610943604812977693219290028419218 2921655974621670019396994929110182622644000636515544843098530297112184666028541836200285347522552801071532034221715036247622731053040402238898622255345000206762892583541513540152614570161086618979087099627217048683044667108899453915528485062988152595539823519930541097232178837152632070967610082327708103784345688576706057253606816671757682619572841069992604963747277032113954236034758583134662147170208423112537287393448218574566581935686940026422673471591709339077065270289282642350856708445983023819987724443221601800553433215627402084155301242060154995209239857248710805558598238463542753120689527513938096538071485820931446778426247421517452515072726602608818742226953071028446091841237320895364864657217709473815876518127294597986690239902344284824904876736619961702018502704085258923137588299411331556952174326329098019531201819886522593825283676616055919988319831843206762964155637272878850273690319745456575256833836800347477097562927100679925061963198508975365182931530426871348226746418377629658371794834750063415931407073814917708171122803762225172319374314917855107769049298536919062599125624874865253392990457673077172724100884286057889955182249402032748133718666462833735058553963447536387653858905502475706535930341852648509378521937208058935258838556907699492170532326662383645593242813340787533611125292473181587630744980205465499966940339678236706655669770083211949106349116794351855453940969259479845731661734691468862297726429916317257853288741794581369846613352793030464202984245689414267499369119595439022261384658213068728449635999949778340358974129919495624188377393738766812967488823421131209790127620614741666309344790967872668302694445575891572514233451355498615869362204984356903128240591164018491367792627169146309433418026687327307965837299032476778487897611423787798087411272847771542833399337993069491496677613835812199507082686303055519267049138680081965651160475652942467520654431571390582956662068793902740338057250179125420684425988625438739961364690919171276519675041498984786688081685977073519274053299074539271918401414666951293222912786850080030005845803464588187348754639974619121980946410744115998560282743303615514610594838674945781451083867485633758819094008527553740569935454513367609274256456996166853520722186847732208773104255239323913913477482580676758325932507625708942086322192883448475307661778993628208987247498736788430134862116779421237466388565344758402431505949745239756604811306076787494729432597847491313145196257892430599099970683714431008019950003842735371637486957482008867221917938652100321414997228031447737427990688160875893591669230837087369227749530747129898134346260261138973595188579281052434583439042875297517093603694257788848068896674547895448328718901925096765238717408611148587778515429700680846465000355303714658832195967163637217126066632079235640291758919853619998588364310368179624202232008208400243760974093607817505103267004820038436214878518579711084310083296062572478733423774272329737976544420828990601662076694899503405446877339424140036483142126509878816072066930915287599219554164947065257659377943739714984508167074572040121912889754010375737074416261533701720530367677522329647889185224697719351805999615703743712758011981445315276132776669027580882313822859849283523222673669652755170170549114160655124762152143049268205206612223598194136972794060071327937699725206774772850378494703809557412126523587868190053434649121554117239331076299630688579833226371964710354943405235504716909310296431619015993470534836960431437255642543271581815064000858876097823719804682786340472065515205586240702953872230070896982235052181871717658879967049082824833721893560376289972101574024020039963932229 4727338670372062296299898504019093252594935240938368910737279434600720944121248062458367473428064807950466341014377894978249394802514721446433141715132028520765088296496001180212334263358942470279579918590836515125275073644579811017832882557741613648767185392483412548214279000368654394878749367334529034593704910689512864085421807226942362277239311941638524241360367647582000458569771131689063754472115203724815712839239123550208459933637383169273039139878660616983106847679722459702071644942797321145979739004847480243739016282218256904782530930156157853104616523118195434890855514798259451765428761477246119537613744591594771104221480657453427821438614337173675757715857361105148940241830854969376352482341965619874588131808814361476647733713344153623053594913165796170220735217818398295757386177200649200363602684376618929115397364518112622600491789066689368307136828972454845578338250494917152780520699822038296375270885692076473969706053233247638742715133645474134035474503354881519497765590743404621387019380964604135908720276180246942186434994742299375554533757054201701121916859865360000864458745723319539155798837340358307178504274074937421905444157485233234762623040164745506365254815340337914268361514644483860211035702215644020489968918620076996779893563882350416543434402424391130400055194965051983726703853884131549692403016251298568282035017414437150835995886839093772553261606890287503113239090628655800607658071760545946736712914989876284691341577971480577888139086935415469625938813071396738212996136556140607330567991343544857308696294079589102462403961992322084702940810931289481124955645666350598385193938355329172390225637966223436814509987486959211985327037523200013966945388566293657294300051379287211590390296241419437550334741926328888297529285876278562922873064505583298085999945230243561115322086230046398432581812600259442794050616324223298962981126735136422066287512721413395083721193644776665055064911318831351569725472486703987317929943908936555342978308834682731715040045986347241060919949103397552354914466047393171360883717300696181576742413062678581129940075272702572539141624844037376433372399514842054387161296049596171809133780203645822669773826941462093154151986102139776558415447409044640778418194332779892143376351155137019911235411952532730687150391075906665901623913028865825597521350123602872516486775258635770253545458065222524619580899649618552571638370256356156400228296291602313696648265698906636923367636729750215448872129921132110148025694356712319659056574839278057531618903543022445103056787431359052441514665485420821844695513202968487093460895720242117003202996228191554442997818411252275726399627553785554385321272544914931323809020864587076579300149966328965847927099272584021126913162449269390295246457583615603929123286692198548637084891201122401576944492268084942419899408240494714945632740507302999010614580029032120969651895522210098943244248789181851573637903945114869916732705040655193421021050505228602611970886233714019641380541808355099937069963975800650286082228776434221789665243955604473185468358851638007228812543202676909313905064851389824493137510192479752598147669051576292960372604598786145668190125564727878874275512486319676563399095894572526208292604102996279629882443690925201969385572663913158411806497375291600591614120625571862380752352412181468543111004977489591258779019679915498857395741700412323738120023093948610920169487519969253920133150602907729458760454404218885375294693443507119870094497974625762725064710696216349490454163462306899924355691638899024687311610893198476176831300095266906087565508443729880472062695669077096229590703335243833240659760987233576914551717239329992351447 7648994644993732315696893433129275875238935877453913753835809731712905610149789898658652820950617609021998375236092931225872125855555123685331763970477028727527980880037514720364948833520029089258667018218053563808319740753479264933361367620729766244307008912413953645446457837521286465846359449662237138378050599266218921339028623898700044896812153011631129205107644679695954694604529714823725901642323626837353000232687342124775041869324323195695712611470369956060172117969005102052928353388780344965967463448069082044292449497845658988937832172216312848313856380366906240449453753261802204886118288991184216075685230412526217882647728078970880336511340939782494499942810432133595032083068175864741217139559675093690464649936108959463337973615688438447958471649785757872239237921903657218894974476611980757315777010705716948646599184404635216425775465682745288295456660815661608542493887767796003054211019567494871632104722492423951067268980333927563804678332154449499218406033781752867724512009121034279758814215714667551840127349995164650357557798504524547873908071972056808890966158402279063463584370598184792548789295013435479902605158360995311860626406887265982896341706627579241423808778787874301922220420146959566746966044068292529868490855828135932038732120790049908713966729086774775993298008305839517337829146357313137323147996456764068248975357092673857491665656922305721659610723684639358567180059888135646339319806452014809034439344906193542544630319766061947734752439728445933828923058760811005712365256151579629591952649556613585758332294029367442821378091911817708891318204670056294092444469087481808175321558970070838699570428934096105117204433062850784499560488878698629836307593550650560422540642543305702958182923410565746983752768613656196263366584908755341410770675929371096173411218078015103948721424223115889929259426436071642301133302627278818230030265415218387717447988374355862604375625216167248011726980112734091907782722665829408002355932534375295304342999753854008234715087485332027749001635080471071628967765121932443279285131967647474799655199912758611135785878737290759887896264818656498414318810258958052947444039353211686419728618878591604120857694427095851973245994629693517128350901922412250052674651328946745664098538002869228684339667191856644600627873656583424227556420654574767683843543007051347824148554252263979240792956802010954754443016429039790038026935601114558831734246036842070301459571775694131652800234577241528594068387813562709247996378071143327679006578682013429169105861025031312324974726083459373856511893516868559272686201363844380685130126557329486230952526975321452577344078672391249321588206834837988968760315420212448417412715122375924648196824514224414176646001197680786365630571060417978073761887284296450394123641995913207469280858364759618703011124347320582711658328094114713533997050875482623212846588237432364730625989130027604046511253609220287788516422524825954226816001103227672154444824777558340588515307062704621303457236707858505383947303399940686769224355286313037861732174870892072405022523798703264888190486942391893822072139423429946406027264202855489672563930585278013490740282121115793557375350262447230680275128190063389321411077339887802341069273130577161943705303540208725192059242316668328582355611535946725353766263674840067587364576010375605515905065048817528958504226454688349235890445509969735864643610962138664354818609074086493251209450233596309291986826368929240318699928948224029180390929593641756195599547656647786746096706733888714988356550514996848407116293679538948242346505681507609041437738514626862707114877540794755109557752418068666962553321363523549016125741259369956283676 12376333315365794611996791937148369127833871118392282664573089166313626554271037961117020294378682416972464716250470826204121520658069845131764905685609057248293069176533515900577283096878971559538246936808890078933594814398059075951194250178471379893074194304897366193660736837889940860725108816996766172971755509955731785424450431125642407174051464953269653446468012327277955153174300846512789656114438830562168713071926465674983501802961706364968751751349030573043278965648727561754999998331577666111947202452916562288031465780063915893720363102372470701418472903485101675340309268060061656651547050468430335613298975004120988986869208736424308157949955276956170257658667793238743972324899030834117569621901640713565052781744923320939985707329032592071012066562951554042459973139722055514652360653812629957679379695082335877761996548922747839026267254749434656602593489788116454120832138262713155834731719389533168007375608184500425036975033567175202547393465799923633253880537136634387222277599864438901145833596679271687748847626175411592543992793246823923428441829026258510012883018267639064328043116321504331704588132353793787081109432435932733766070564372499217658964746792324747789063594128212216190581934791443426958001746283936550358459774448212928818625684672400325257401131511165906393353203270891501064533000241444687015551012708062636531010374507111008327661543761399494212872330574926861680419150516791446946977878212560755771152259896069827235971897737542525622891526663861403454861871832207743925361392707720236922520640900158443067028588108956545283782053904139793594259015601345775217400114753832406560515497325400011089796066900319541931714420549809996484887526401898643803252982116944217716840693922592914548573219651985184534087510539985084560895870785033904333643740434954394259411163308258665064043510453162288361841239036331085095183918951502117193011392150354809783735501095769257688096818860943913066791891431565443477508195152533395320285876443311850647321308588536739949755133471679268809921584183868623983882231169325614640168849268343656376397612975437192265725954009993332427037889662693874847691209773800107334605335402807858228862399082237426790631521368557945127397980731833293686766349331456890831092845661726637807474889158006248595575079144389375287778264732490090129180333683440593281364893130654220340635329510899749494338414867233479374023916078658342609665305857470715231962542328444383998107837474600768576167871306991744042940517734694819396022072427855647338063153521291486700724764568053757428031513514818426298026559002289381117381714566812867778591022277571603234155523203513007020341897083643525047987834388623543354081587965127379741221735986963001227496974480553380024573100470264807492543733509687368369008344867912054323246928688111756106365749565882020279955616615405525131557736334609428479629791382785622223461168266464485700277884652237702989755502398402139362154326469940824143548706143882865575465875282786943200486193296418640944837778516213605321017267375741337055306584062747259651397418826496545590490882650341272117003030145068803135977204274819770899164774395335242270711599636854306451112886719901939225565475827175109554550640676383065884810173234460328549361877233573441573587747231133927161444814980581486994162108911238325945380384300411929968116928422557074059016070026307120217283246134603848093286187210382059602763634056087275274988096594055747171342600836504038750747280773148125693994622391731149050485427568267518920664258352864136236550870196195614912712242153895873094427904572737424419177805776774515129003246958356743179177573209871851339148455753312500203213082350757125930677458498699948635123 20025327960359526927693685370277645003072806995846196418408898898026532164420827859775673115329300025994463091486563757429993646513624968817096669656086085975821050056571030620942231930399000648796913955026943642741914555151538340884555617799201146137381203217311319839107194675411227326571468266659003311349806109221950706763479055024342452070863617964900782651575657006973909847778830561336515557756762457399521713304613807799758543672286029560664464362819400529103451083617732663807928351720358011077914665900985644332323915277909574882658195274588783549732329283852007915789763021321863861537665339459614551688984205416647206869516936815395188494461296216738664757601478225372339004407967206698858786761461315807255517431681032280403323680944721030518970538212737311914699211061625712733547335130424610714995156705788052826408595733327383055452042720432179944898050150603778062663326026030509158888942738957028039639480330676924376104244013901102766352071797954373132472286570918387254946789608985473180904647812393939239588974976170576242901550591751348471302349900998315318903849176669918127791627486919689124253377427367229266983714590796928045626696971259765200555306453419903989212872372916086518112802354938402993704967790352229080226950630276348860857357805462450233971367860597940682386651211576731018402362146598757824338699009164826704779985731599784865819327200683705215872483054259566220247599210404927093286297684664575564805591604802263369780602217503604473357643966392307337283784930593018749637726648859299866514473290456772028825360882138323988105160145815957502485577220271402069309844583841314214735837056295470849789366495834415647048918853612660780984448015280597273639560575667594778139381336465898617506756143062550931517840279153641280824262455693789245744414416364325490432822381386273769012764934676278178291100665472402727396317221578780935423041657565573197501183489470125120292472444077111161078518871544299535385290917818362803322641808977687145951664308342390748184470220957011296558923219264339695612849996291258057919453981235991131176052812888195803401511832747284092314934154481350373262010020032758160282049374756019544648591017960829030911489215795653797100643975361526810815117251253869140883767496990673383471573427160875477279914746336246019888406138389073514356736754338015360965208436137705568164783883763163728735131371669244434128466932507698132647692241458585274063696788365286454299567409250294900228968105884233272637008905548257528644018450498998975017069732203304915869830625593085069753006239598277800154538452519157940390067915930657248463721148834901089465108050178834459597685975756034774369576041223461532322841903385339828158634451109338925875693798994777794201219101667945593858174304570105346442770232152208504717370570684024963575646607930641638982966740962726107843216064428724142013626842258268245436307756503896850430903873782265307036266756007622427150670748994766778370364707247110537729910700060345283789001500359123262248295015224072110704964570775682023824530939349060297513129593697388617995513406449044537005193517087460696958049343698249717305192038598190731943275530222132319941853168841017732782940826089622340234825768866446455206221250574348130890431150364150603517293050771342652353504057297249815576517720447185051299146647975251997555481504432932679574921135075124649175787472589292197329176632720351795467407245018225939629806705668142240422552051070100348042734107142077366012694551339955178230876357161909275116263806009511922982647576930084329901068792668892721501544198252276372661524311458282124170440985472983605886292450750666606448706208171381167165766403714280674946803199758069904918799 32401661275725321539690477307426014130906678114238479082981988064340158718691865820892693409707982442966927807737034583634115167171694813948861575341695143224114119233104546521519515027277972208335160891835833721675509369549597416835749867977672526030455397522208686032767931513301168187296577083655769484321561619177682492187929486149984859244915082918170436098043669334251865000953131407849305213871201287961690426376540273474742045475247735925633216114168431102146730049266460225562928350051935677189861868353902206620355381057973490776378558376961254251150802187337109591130072289381925518189212389928044887302283180420768195856386145551819496652411251493694835015260146018611082976732866237532976356383362956520820570213425955601343309388273753622589982604775688865957159184201347768248199695784237240672674536400870388704170592282250130894478309975181614601500643640391894516784158164293222314723674458346561207646855938861424801141219047468277968899465263754296765726167108055021642169067208849912082050481409073210927337822602345987835445543384998172394730791730024573828916732194937557192119670603241193455957965559721023054064824023232860779392767535632264418214271200212228737001935967044298734303384289729846420662969536636165630585410404724561789675983490134850559228768992109106588780004414847622519466895146840202511354250021872889341310996106106895874146988744445104710085355384834493081928018360921718540233275562877136320576743864698333197016574115241146998980535493056168740738646802425226493563088041567020103436993931356930471892389470247280533388942199720097296079836235872747844527244698595146621296352553620870860879162562734735188980633274162470777469335541682495917442813557784538995856222030388491532055329362714536116051927789693626365385158326478823150078058156799279884692233544694532434076808445129440466652941904508733812491501140530283052616053049715928007284918990565894377980569262938055074145310762975864978862799112970896198642927685420998996598985616930927488134225354428690565368844803448208319596732227460583672559622830504334787552450425863632995667237786757277424741972044144044248109701229806558267616654710158827402877453417043066457702120737164211742228041956093360104501883600585326031714860342652400021279048316318881725875489825480635395176184403121563604485917088021455954246573329268359788505419213274063478229469786536477913502490848586356475257357547316055989295659330693730838297675246724895668805135977191225016679949423282952348040040522926854622355132885724596402570555390161138827181037753113096226452565011521447321507449630497470116242312171112472692699263573382347466618027872839678299417563875612085075676923491350467207899856187096301927103190773475331174225792202138210401350718038079792714811778577020120559040617499372136719682012357496523659262922357578131632974773800763333570493256633641053867659768924770361336131181758434503010026022258406024566512825075464707602513913413390993403305376575343132226989487693655541903193132793740285716025981838151423360879837523411807557164527012523885163586004289099385809122196547232529500094026547973069488204356812993525974213987129858986626392966055560919672008506301916797449789376409542829521091031423808808459439793027597724045090880798002476579514948872277831302570679829358423377244527032275663927523598432855489753633937205101431769393070718723896045422462819930733855070170879074313214904794802262197987593894651906604386793481387915225491706689173731686327281361784730176794036928064362376059219198447126279944813781034822788594595972102825013797080702117235056639299444232431340349065470023960538457787854663924693667368979486065037800877480658256769853553922 52426989236084848467384162677703659133979485110084675501390886962366690883112693680668366525037282468961390899223598341064108813685319782765958244997781229199935169289675577142461746957676972857132074846862777364417423924701135757720305485776873672167836600739520005871875126188712395513868045350314772795671367728399633198951408541174327311315778700883071218749619326341225774848731961969185820771627963745361212139681154081274500589147533765486297680476987831631250181132884192889370856701772293688267776534254887850952679296335883065659036753651550037800883131471189117506919835310703789379726877729387659438991267385837415402725903082367214685146872547710433499772861624243983421981140833444231835143144824272328076087645106987881746633069218474653108953142988426177871858395262973480981747030914661851387669693106658441530579188015577513949930352695613794546398693790995672579447484190323731473612617197303589247286336269538349177245463061369380735251537061708669898198453678973408897115856817835385262955129221467150166926797578516564078347093976749520866033141631022889147820581371607475319911298090160882580211342987088252321048538614029788825019464506892029618769577653632132726214808339960385252416186644668249414367937326988394710812361035000910650533341295597300793200136852707047271166655626424353537869257293438960335692949031037716046090981837706680739966315945128809925957838439094059302175617571326645633519573247541711885382335469500596566797176332744751472338179459448476078022431733018245243200814690426319969951467221813702500717750352385604521494102345536054798565413456144149913837089282436460836032189609916341710668529058569150836029552127775131558453783556963093191082374133452133773995603366854390149562085505777087047569768068847267646209420782172612395822472573163605375125055926080806203089573379805718644944042569981136539887818362109063988039094707281501204786102480036019498273041707015166235223829634520164514248090030789259001965569494398686142550649925273318236318695575385701861927768022712548015209582223751841730479076811740325918728503238751828799068749619504561517056906198625394621371711249839316427898704084914846947526044435003895488613609952959865539328685931454886915317000851839195172598627839643073404750621743479757203155404571816881415064590541510637118842653842359471315211781765406065356670203097037227206964601158205722347630957781094054607905049788774641263359356119059017292597242655975190569034104083075458289316958328831209876684058973425853597372202617927901318440386015754223896934043992711374026607103464040605261897517546428127364706033319947373782164371623561181926215713848595713073787139916835546607999765394735807036058490638205640852978884572470108968427011303806155995208892342649898061254548809172329063757988070056161683257658965427165298245889098540857740817989865192057712506883475899322113096076681274258186562085632216768317062289014413646993663495824459474380884278120638103941035287275403477510778489194014665165441427808964357826730946408927105384704368462760867854677656606221273781581517695548430346127390064319990197052075891671319205509548851591716706157262660081118946334819224401937404791447128006419790024202178409275976297252674383156590330224177961874648608173848773819231868452929575081118147197549805608428543673680250915925079079937288422433208858340176556418568858191313188242751639452651085650537578124092539154534601507930340228016446702976704734836215495057302857719383725071641505512238141892086069153191870371887982201846024056364274714849827491681316097516301077290169742226428693338763469885217904323954951762474711205064236560872096074834534745889779318475824283858014839758472721 84828650511810170007074639985129673264886163224323154584372875026706849601804559501561059934745264911928318706960632924698223980857014596714819820339476372424049288522780123663981261984954945065467235738698611086092933294250733174556055353754546198198291998261728691904643057702013563701164622433970542279992929347577315691139338027324312170560693783801241654847662995675477639849685093377035125985499165033322902566057694354749242634622781501411930896591156262733396911182150653114933785051824229365457638402608790057573034677393856556435415312028511292052033933658526227098049907600085714897916090119315704326293550566258183598582289227919034181799283799204128334788121770262594504957873699681764811499528187228848896657858532943483089942457492228275698935747764115043829017579464321249229946726698899092060344229507528830234749780297827644844408662670795409147899337431387567096231642354616953788336291655650150454933192208399773978386682108837658704151002325462966663924620787028430539284924026685297345005610630540361094264620180862551913792637361747693260763933361047462976737313566545032512030968693402076036169308546809275375113362637262649604412232042524294036983848853844361463216744307004683986719570934398095835030906863624560341397771439725472440209324785732151352428905844816153859946660041271976057336152440279162847047199052910605387401977943813576614113304689573914636043193823928552384103635932248364173752848810418848205959079334198929763813750447985898471318714952504644818761078535443471736763902731993340073388461153170632972610139822632885054883044545256152094645249692016897758364333981031607457328542163537212571547691621303886025010185401937602335923119098645589108525187691236672769851825397242881681617414868491623163621695858540894011594579108651435545900530729962885259817289470775338637166381824935159111596984474489870352379319502639347040655147756997429212071021470601913876253610969953221309369140397496029493110889143760155200608497179819685139149635542204245724452920929814392427296612826160756334806314451212425403038699642244660706280953664615461794735987406261838941798878242769438869481412479645874695515358795073674350403497852046961946315730690124077281556727887548247019818884452424521204313488182295473426029670059798638929030894397297516810240774944632200723328570930380927269458355094674425145175622310311290685194070944742200261133448629680411083162407336090697252655015449752748130894917902700086237839240060266683305996907752114162224724099496352708219727335503652497721010941405915362724115081745824470253059668475562052583404967176925597480948345491059846474863635196943529392833741721435391373204703792447631683676688886086274243958346825301942780082075345945440142652803505944366396559610380729690776066327386192449622798605569428298402939671322923688957508811456118989373792763665955391283000140109540375980755845606044619522693267390651271327088311272819671560176320899924181983398191534029097344340663850746609737767976887670207068634560602704643542756928247078528745584205986172675411842183618745158945167521984647816155249586611552519697146102439644388693713905664585242680371249789940105572727785279962857076799953429923217239813578587952105497388284098191965049770017205559598693699054646776295811383401801852912420717877379164031805788200712526579852602678370143912186842795545277988187961928910037084288174102272581819505607749003166852369439396310192538215610341354883309121629696882972528349426072898803327832793599926622262863190119934734264041421044471182644219528630862314469910693488403902303966822928545928395402769329450335664304017232498671743522024415536020768501903725375844356276701764516271609612026643 137255639747895018474458802662833332398865648334407830085763761989073540484917253182229426459782547380889709606184231265762332794542334379480778065337257601623984457812455700806443008942631917922599310585561388450510357218951868932276360839531419870366128599001248697776518183890725959215032667784285315075664297075976948890090746568498639481876472484684312873597282322016703414698417055346220946757127128778684114705738848436023743223770315266898228577068144094364647092315034846004304641753596523053725414936863677908525713973729739622094452065680061329852917065129715344604969742910789504277642967848703363765284817952095599001308192310286248866946156346914561834560983394506577926939014533125996646642673011501176972745503639931364836575526710702928807888890752541221700875974727294730211693757613560943448013922614187271765328968313405158794339015366409203694298031222383239675679126544940685261948908852953739702219528477938123155632145170207039439402539387171636562123074466001839436400780844520682607960739852007511261191417759379115992139731338497214126797074992070352124557894938152507831942266783562958616380651533897527696161901251292438429431696549416323655753426507476494189431552646965069239135757579066345249398844190612955052210132474726383090742666081329452145629042697523201131113315667696329595205409733718123182740148083948321433492959781520257354079620634702724562001032263022611686279253503575009807272422057960560091341414803699526330610926780730649943656894411953120896783510268461716979964717422419660043339928374984335473327890175018489576377146890792206893210663148161047672201423263468068293360731773453554282216220679873036861039737529712733894376902655608682299607561824688806543847428764097271831179500374268710211191463927388161657803999890824047941723003303126490634942345396856144840255955204740877756541027044471006892267137864748411028694242464278930416857123950637933374526652676968387544592970032016194007358979174549414202574066674218371281700285467477563960771616505200094289224380848873304350015896674964267133517776453984986625009456903367290593804737025766400458855784441394833490853123729485191123414062879988521297929542287050857434929340643083942820885413819003133935135885304263716376912116021938546830780291803278396132186298969114398225305365486142837842171224772740398584670136860080490501845825407348517892158672102947922608764406410774465691067457124865338516014371568811765423492160558675276806873344143342141595313866080945372101408158469778561817099538121580399039451327421669586621049125738535844279666771939602657845302484723353724845654378811007220257028006820504711319049455570031104446991843709283178291676454280822081280016837463507583633060959918415549111079814809750522391768502723379588837320876195364778686556593639484460086197330288350854255754700554659847114610753531147448995507023585439698093851922287318877709255353022868039644150600287233318553839816724383656364282469654667201285375951126150087248546466081684872234075988411669001369487874656005634130288574448933543266519840224966432726749039680196246501376976675872509894198178331315707899223454516176959386528512450021224519062604504364794481591400557929637029837780766361381473685536772575121640100241383521473342307228495550115043251854731427993538865074928969640234331874392777495777681758307432334620051653885454544606530787101350272530925741725232905156145327127259391523973997818122878443626788057860013856465912378029831207145456623874969338305838068514348932343311805106152023622890495239008494243480689806151226791004704979594136565154974621734166239214668239988258968994973382948586260976408116843336438471265623674752526048374286449370499364 222084290259705188481533442647963005663751811558730984670136637015780390086721812683790486394527812292818028313144864190460556775399348976195597885676733974048033746335235824470424270927586862988066546324259999536603290513202602106832416193285966068564420597262977389681161241592739522916197290218255857355657226423554264581230084595822951652437166268485554528444945317692181054548102148723256072742626293812007017271796542790772985858393096768310159473659300357098044003497185499119238426805420752419183053339472467966098748651123596178529867377708572621904950998788241571703019650510875219175559057968019068091578368518353782599890481538205283048745440146118690169349105164769172431896888232807761458142201198730025869403362172874847926517984202931204506824638516656265529893554191615979441640484312460035508358152121716102000078748611232803638747678037204612842197368653770806771910768899557639050285200508603890157152720686337897134018827279044698143553541712634603226047695253030269975685704871205979952966350482547872355456037940241667905932368700244907387561008353117815101295208504697540343973235476965034652549960080706803071275263888555088033843928591940617692737275361320855652648296953969753225855328513464441084429751054237515393607903914451855530951990867061603498057948542339354991059975708968305652541562173997286029787347136858926820894937725333833968192925324276639198044226086951164070382889435823373981025270868379408297300494137898456094424677228716548414975609364457765715544588803905188716728620154413000116728389528154968445938029997651374631260191436048358987855912840177945430565757244499675750689273936990766853763912301176922886049922931650336230300021754254271408132749515925479313699254161340153512796915242760333374813159785929055669398578999475483487623534033089375894759634867631483477422337029676036868138011518960877244646457367387758069349390221276359628928145421239847250780263646921608853962110429512223500469868318309569403182563854038056420849921009681809685224537435014486716520993675034060684822211126176692536556476096229647331290410567982752388540724432028239400654662684164272360334536209131065818929421675062195648333040139097819381245071333208020102442141706551380954954769756688237581225604204234020256809961863077035061217193366411915035546140430775038565499795703121325854128491954754915647021447717659808577352743047690122869897855040454876774229864460956035768669387018564513554387078461375363044712584203608824901310773833059534326132257966131270036826873625232896760462268827584949345164207484360314532726440415164710428707451900279322326602724302067066731891642017448240711883197291466495820196547501730809975353143166908355523975184288809526413143035264360989253732618315694888788328113104109279613387203581557228309355199208912758489137001611274543213263512010778836488403517197102840278507163694980074074607767893363497231948620413519310971238911560052990114016137624307838347680661188696298629716614976896696986314442969355079302710549014373644912244802903084162875872780435106218678362023843711591671916561664844062656626563287425029591344280770960096592937360180762202066899762239961330091790389784327651558391353987852854269651359354313486971073820870767086689870258589081072036006283142326410854635256533280905959582952308133672040120075105304075630284436677576246806894449430732532794492716011387356819099843997814724661753076130426243893413394128315416659237129412743322978095609261002359556571529522678297171099437995136611795533431739840416065043934966421652713772111552120621137484493108881898103388083520550129569008544118575652562986227472054692108285391944137611838342196641468031029227812890558058982526007 359339930007600206955992245310796338062617459893138814755900399004853930571639065866019912854310359673707737919329095456222889569941683355676375951013991575672018204147691525276867279870218780910665856909821387987113647732154471039108777032817385938930549196264226087457679425483465482131229958002541172431321523499531213471320831164321591134313638753169867402042227639708884469246519204069477019499753422590691131977535391226796729082163412035208388050727444451462691095812220345123543068559017275472908468276336145874624462624853335800624319443388633951757868063917956916307989393421664723453202025816722431856863186470449381601198673848491531915691596493033252003910088559275750358835902765933758104784874210231202842148865812806212763093510913634133314713529269197487230769528918910709653334241926020978956372074735903373765407716924637962433086693403613816536495399876154046447589895444498324312234109361557629859372249164276020289650972449251737582956081099806239788170769719032109412086485715726662560927090334555383616647455699620783898072100038742121514358083345188167225853103442850048175915502260527993268930611614604330767437165139847526463275625141356941348490701868797349842079849600934822464991086092530786333828595244850470445818036389178238621694656948391055643686991239862556122173291376664635247746971907715409212527495220807248254387897506854091322272545958979363760045258349973775756662142939398383788297692926339968388641908941597982425035604009447198358632503776410886612328099072366905696693337576832660160068317903139303919265920172669864207637338326840565881066575988338993102767180507967744044050005710444321135980132981049959747089660461363070124676924409862953707740311340614285857546682925437425343976415617029043586004623713317217327202578890299531429346537336215866529701980264487628317678292234416914624679038563431884136913595232136169098043632685555290045785269371877780625306916323889996398555080461528417507828847492858983605756630528256427702550206477159373645996153940214581005745374523907365034838107801140959670074252550214633956299867471350042982345461457794639859510447125559105851187659938616256942343484555050716946262582426148676816174411976291962923327555525554514890090655060951953958137720226172567087590253666355431193403492335526313260851505916917876407671020475861724438798628814835406148867273125008326469511415150638045478662261451229342465297321585821374284683758587376278977879239020050639851585928346950966496624639914004906427540416435909831853926411746813295799913596249254535966213333222896158812393212354767368274009936623633047172257103113074286988919648837952952030932652861497600267188391211013988267029597447730436803992021752317110046203995182776538364812433125445411180096615827488868450708079776922006995911792848397218575334331899625397469018212565438683603014270728250289274014187280419772168459690180682374941203973436387350615389511847286308667855954348691494711963130843363499915092566103046784234860909051039951536786537426042646281732677559089797006161354884039761944881864068678024398665601345040309158003539963297539485542459102275804492160814696939161453428274689982554610852994288692446039982754545782491299489140120674868444759357643342208329970499972602545378313511637876525897887111264708899498448027237103312274451949498081571407966194985008581426946103316187077401023503112737629350025585723047629817898403257685635417387391946438295102863917470603336834561521639032190763716986146553266509405276063650960727876743544946568088666825461660661208015592241926772364275497813861492239953238495171863735247758786815640821955222445437640694546368352254455174780667907091705781753861264844508353025371 581424220267305395437525687958759343726369271451869799426037036020634320658360878549810399248838171966525766232473959646683446345341032331871973836690725549720051950482927349747291550797805643898732403234081387523716938245357073145941193226103352007494969793527203477138840667076205005047427248220797029786978749923085478052550915760144542786750805021655421930487172957401065523794621352792733092242379716402698149249331934017569714940556508803518547524386744808560735099309405844242781495364438027892091521615808613840723211275976931979154186821097206573662819062706198488011009043932539942628761083784741499948441554988803164201089155386696814964437036639151942173259193724044922790732790998741519562927075408961228711552227985681060689611495116565337821538167785853752760663083110526689094974726238481014464730226857619475765486465535870766071834371440818429378692768529924853219500664344055963362519309870161520016524969850613917423669799728296435726509622812440843014218464972062379387772190586932642513893440817103255972103493639862451804004468738987028901919091698305982327148311947547588519888737737493027921480571695311133838712429028402614497119553733297559041227977230118205494728146554904575690846414605995227418258346299087985839425940303630094152646647815452659141744939782201911113233267085632940900288534081712695242314842357666175075282835232187925290465471283256002958089484436924939827045032375221757769322963794719376685942403079496438519460281238163746773608113140868652327872687876272094413421957731245660276796707431294272365203950170321238838897529762888924868922488828516938533332937752467419794739279647435087989744045282226882633139583393013406354976946164117225115873060856539765171245937086777578856773330859789376960817783499246272996601157889775014916970071369305242424461615132119111795100629264092951492817050082392761381560052599523927167393022906831649674713414793117627876087179970811605252517190891040641008298715811168553008939194382294484123400127486841183331220691375229067722266368198941425719660318927317652206630728646444281287590278039332795370886185889822879260165109809723378211522196147747322761272906230112912594595622565246496197419483309499983025769697232105895845045424817640191539363324430406587344400215529432466254620685701938228296397646347692914973170816178983050292927120769590321795888720842668135046864158198328168348560116491684219239527186046777410053353145605940792532266317481426002896298512550559791397935413747064440753672674402041101890753285372046192560375865076839485311377540707256473345119652769932078702717388523912369498859827415141353720811290855401192742815850152964096087384938712744798242382740614638792327967206041126636459347030447137527618545051441140299968424728931598148064095283358479235305266992057309977064471333510899940682281724576217520091417787925353129552521350975399846243067458074045872173152593849906661586628423407339298781872091972999333059643792032059798544809181079943481221175352020395030839497086440416291193977480462173959882034135319145980623243887912389616070582163009884371814630103250722569076886739873235901085098174877701363520328036929943884702643384073020097598374108533635345569140499474988355415833178514109295019840758561683617414319794780202936752522367797989805458030979545236984314572024603385647038250631662584828233840552746919610195516219124124986169125429720862354479651479388111879310800786074753711762101046883346659812657130900034550320288515669231563680504714058787572523410175284786984153710760428082313921787703794047393501759990922743390343341322015721993304256302905391293384941449917492332802831760296392067013122864548559736810981674155402567335551378 940764150274905602393517933269555681788986731345008614181937435025488251229999944415830312103148531640233504151803055102906335915282715687548349787704717125392070154630618875024158830668024424809398260143902775510830585977511544185049970258920737946425518989791429564596520092559670487178657206223338202218300273422616691523871746924466133921064443774825289332529400597109949993041140556862210111742133138993389281226867325244366444022719920838726935575114189260023426195121626189366324563923455303364999989892144759715347673900830267779778506264485840525420687126624155404318998437354204666081963109601463931805304741459252545802287829235188346880128633132185194177169282283320673149568693764675277667711949619192431553701093798487273452705006030199471136251697055051239991432612029437398748308968164501993421102301593522849530894182460508728504921064844432245915188168406078899667090559788554287674753419231719149875897219014889937713320772177548173309465703912247082802389234691094488799858676302659305074820531151658639588750949339483235702076568777729150416277175043494149553001415390397636695804239998021021190411183309915464606149594168250140960395178874654500389718679098915555336807996155839398155837500698526013752086941543938456285243976692808332774341304763843714785431931022064467235406558462297576148035505989428104454842337578473423329670732739042016612738017242235366718134742786898715583707175314620141557620656721059345074584312021094420944495885247610945132240616917279538940200786948639000110115295308078320436865025334433576284469870342991103046534868089729490749989064816855931636100118260435163838789285357879409125724178263276842380229243854376476479653870573980178823613372197154051028792620012215004200749746476818420546822407212563490323803736780074546346316608705521108954163595396606740112778921498509866117496088645824645518473647831660096265436655592386939720498684164995408501394096294701601651072271352569058516127563304027536614695824910550911825950333964000556977216845315443648728011742722848790754498426728458611876704981196658915243890145510682838353231647347617519119675556935282484062709856086363579703616390785163629540858204991395173013593895285791945949097252757660410735136079878592145497501044656579154431990469195787897448024178037464541557249152264610791380841836654844774731725749584425727944755993967676461516375573348966213827222377942913561704824507632598784338036904193317071510145556501476642747884440897510757894560053661069347181213090837950933744679697118859488360289461326094021277590873930152632157512865124699446976727325147545416671116930528215640709730939693354144773748503014461696354573329923758786509412338062369229131959227793443746505551025629914065983357484566585711148521344759087016514803363135401242301178784905707195639805665410525338151299937141656203694432058653603418826535538255819618411527148254728247114356567286294012202017935254625607449728046321690827771606922875423298459901747182990265456036261071434982376283623866458937475710158021263756888195490203185742568125751981067640469247764354924680972633643214020108562429198975511705577258989574640524973756311619926439313496378361712543638356863079417836868629639595663223860592536157451503349811258534286162792633306418079462650409479062698704956479006782340296589023974101467218446216826647593409660786656063106687596539722236862615519151015443909984297549882645797514728188178021192006864964964353949996647218652539066741084005501815784830189909990122438533251286918829733552242377585889742975129803296035974165866035488736604882583294560510893857039504061692206934206896672362929973497378128648646522187903532455651442592735535420247075688576749 1522188370542210997831043621228315025515356002796878413607974471046122571888360822965640711351986703606759270384277014749589782260623748019420323624395442675112122105113546224771450381465830068708130663377984163034547524222868617330991163485024089953920488783318633041735360759635875492226084454444135232005279023345702169576422662684610676707815248796480711263016573554511015516835761909654943203984512855396087430476199259261936158963276429642245483099500934068584161294431032033609106059287893331257091511507953373556070885176807199758932693085583047099083506189330353892330007481286744608710724193386205431753746296448055710003376984621885161844565669771337136350428476007365595940301484763416797230639025028153660265253321784168334142316501146764808957789864840904992752095695139964087843283694402983007885832528451142325296380647996379494576755436285250675293880936936003752886591224132610251037272729101880669892422188865503855136990571905844609035975326724687925816607699663156868187630866889591947588713971968761895560854442979345687506081037516716179318196266741800131880149727337945225215692977735514049111891755005226598444862023196652755457514732607952059430946656329033760831536142710743973846683915304521241170345287843026442124669916996438426926987952579296373927176870804266378348639825547930517048324040071140799697157179936139598404953567971229941903203488525491369676224227223823655410752207689841899326943620515778721760526715100590859463956166485774691905848730058148191268073474824911094523537253039323980713661732765727848649673820513312341885432397852618415618911553645372870169433056012902583633528565005314497115468223545503725013368827247389882834630816738097403939486433053693816200038557098992583057523077336607797507640190711809763320404894669849561263286680074826351378625210528725851907879550762602817610313138728217406900033700431184023432829678499218589395212098958113036377481276265513206903589462243609699524426279115196089623635019292845395949350461450841740308437536690672716450278110921790216474158745655776264083335709843103196531480423550015633724117833237440398379840666745005862274232052234110902464889297015276542135453827556641669211013378595291928974866949989766306580181504696232337036864369086985741776390684725220363702644863739402769853646798612303706354012652833827825024652870354016049740644714810344596563239731547294382175782494434597780944351693679376194391390049799257864042411873982902645644182953448070549292495467408133787934885765239992035635432982490905680920665326402933506588968414637409105502632517894631525679444713671457786169976757943356994430542230548755337516564353167425792441958268636503584751795078677008021459926433834570382964898056077051593601902536007726011116946073690685164578898646493880477606445776963017172704276998921425278833581661717873723785849846578956548379056889231219464654594606328774119287509161136200673788646358661964906231600138294690160831250714907483097004710928262933746677211613091830013215780710306875228669687638483437716770229625522331723191369639893457256539829927364809052787263746464742677639315938848747606662357164452341888494084348549870324016139762434732641236730971613053182437770139070651579276425714671560798369652017095969780206953101198282399402931846860688510414509986327577280903595998704852865484467458310178237894627208810026297792055941360987601688276445164772338777201362033909394038988964095945718627066011237296656459875783439101291404294017485016393870414704181226105774697094114520536396088346317825289051590999830021559367795479659348272926635882526615850343760364597598227591838122280422306300209888945038589201026397004211179403717209575649643024128127 2462952520817116600224561554497870707304342734141887027789911906071610823118360767381471023455135235246992774536080069852496118175906463706968673412100159800504192259744165099795609212133854493517528923521886938545378110200380161516041133743944827900346007773110062606331880852195545979404741660667473434223579296768318861100294409609076810628879692571306000595545974151620965509876902466517153315726645994389476711703066584506302602985996350480972418674615123328607587489552658222975430623211348634622091501400098133271418559077637467538711199350068887624504193315954509296649005918640949274792687302987669363559051037907308255805664813857073508724694302903522330527597758290686269089870178528092074898350974647346091818954415582655607595021507176964280094041561895956232743528307169401486591592662567485001306934830044665174827274830456888223081676501129682921209069105342082652553681783921164538712026148333599819768319407880393792850311344083392782345441030636935008618996934354251356987489543192251252663534503120420535149605392318828923208157606294445329734473441785294281433151142728342861911497217733535070302302938315142063051011617364902896417909911482606559820665335427949316168344138866583372002521416003047254922432229386964898409913893689246759701329257343140088712608801826330845584046384010228093196359546060568904151999517514613021734624300710271958515941505767726736394358970010722370994459383004462040884564277236838066835111027121685280408452051733385637038089346975427730208274261773550094633652548347402301150526758100161424934143690856303444931967265942347906368900618462228801805533174273337747472317850363193906241192401808780567393598071101766359314284687312077582763099805250847867228831177111207587258272823813426218054462597924373253644208631449924107609603288780347460332788805925332592020658472261112683727809227374042052418507348262844119698266334091605529115710783123108444878875372560214808554661733596178758040553842419223626238330844203396307775300795414842297285654382006116365178289853644639007228657172384234875960040691039762111775370569060698472077349480585057917499516223680288346336941908320474482168505687800440171676312032548036842224607273881083874923964202747426717315317584574824482534365413743564896208381153921008261150669041776867311410895950876914497734854489488672599756378619938441777685400708778021058079615304896260596003004872377511342649176201311974978729426953992574935552557430484379288392067394345581307187055521069203135116098856077942969380112679609765169280954787729027527866559288567561737660145383019330972656172038819003202841093688471572635140273170242109482290312856181887488796531598560262371261207416739377250591885661628014129470449081706965659585260020574311722265467418449772181093702009629281719907624561868724368344082664331950616984881598859529927480281905232559967205592427487039083066121754583502366401865728422494685990664293916590513681328184616380988602857637782906395464612675445924012133247874163264995592064334173334166145397796504701473658425115725517465759495391874524897009077691719733733759897389678762786201745137824259312239616154026982413467840660169796763329636140796445184875087834692471019306399778666314803137018250829012301719463275630255942999586407616361862053341325923387215370988993109917577492619972806320083930684284957771647555413864873132985388595663597850217207427460608682323074751244679706908767177142117137725492030975591246653107094435978168032488299519300801224060324694303664639025984012944254088638465932207568264181394295865995725233830968395953155509930443037509707383264426289805161798734794643352279797588017593685111388929929459862621996452744995896718712704876 3985140891359327598055605175726185732819698736938765441397886377117733395006721590347111734807121938853752044920357084602085900436530211726388997036495602475616314364857711324567059593599684562225659586899871101579925634423248778847032297228968917854266496556428695648067241611831421471630826115111608666228858320114021030676717072293687487336694941367786711858562547706131981026712664376172096519711158849785564142179265843768238761949272780123217901774116057397191748783983690256584536682499241965879183012908051506827489444254444667297643892435651934723587699505284863188979013399927693883503411496373874795312797334355363965809041798478958670569259972674859466878026234298051865030171663291508872128989999675499752084207737366823941737338008323729089051831426736861225495624002309365574434876356970468009192767358495807500123655478453267717658431937414933596502950042278086405440273008053774789749298877435480489660741596745897647987301915989237391381416357361622934435604634017408225175120410081843200252248475089182430710459835298174610714238643811161509052669708527094413313300870066288087127190195469049119414194693320368661495873640561555651875424644090558619251611991756983076999880281577327345849205331307568496092777517229991340534583810685685186628317209922436462639785672630597223932686209558158610244683586131709703849156697450752620139577868681501900419144994293218106070583197234546026405211590694303940211507897752616788595637742222276139872408218219160328943938077033575921476347736598461189157189801386726281864188490865889273583817511369615786817399663794966321987812172107601671974966230286240331105846415368508403356660625354284292406966898349156242148915504050174986702586238304541683428869734210200170315795901150034015562102788636183016964613526119773668872889968855173811711414016454058443928538023023715501338122366102259459318541048694028143131096012590824118510922882081221481256356648825728015458251195839788457564980121534419715861965863496241703724651256865684037594091918696789081628567964566429223702815918040011140043376400882865308306850992610714105801467313822498315879356890425294208611173960554585384633394984815716713811765860104678511435620652476375803898831152737193023895499089271056819571229782830550637984771838646228624853313905516270081264542749489218204088867142322500424781031490292457827426045423588365654642855036443554978178787366812109123593527894991351173120817003791832799594969304467281934036250347793651856479550988477336923050984621317935005015545662100670850201620114131961034455527703204970843162777900913962498335616752490460989011070446414929629570815400790864819806877209349313281238489867196765956013002495416385272051812095462584512435347137784017253187162556582037733382413492140457345672600656123162197514070338831741541048359663253375895818463260577403651266131751811516515584649316718258547720716360912276485689374889558695359779310652578555419912928322911071149434108352690389492469323603708857758810459487255095008807845044480209394815085434988139190428654741247849188950865031767982153548907619084542786547161136143505463841061076673006918901973318479324301961925008719667087345775903231177826111818806305524201744169917736966382413443965500573100089115292726225723206539508814644261456273172784075725785498979437494858396215971511172949415151743267949885450041073683159283180651604958837818895703905773454661851952606713616302806166106213083444119096986828543309566970219417269323892593536785817617930739398484890744800681107058774625034554278525393553232985295696017284601626448055301428436566325564125557727024790887403389390572916923774586097797906538723700589956326464073801400169954571546361736833003 6448093412176444198280166730224056440124041471080652469187798283189344218125082357728582758262257174100744819456437154454582018612436675433357670448595762276120506624601876424362668805733539055743188510421758040125303744623628940363073430972913745754612504329538758254399122464026967451035567775779082100452437616882339891777011481902764297965574633939092712454108521857752946536589566842689249835437804844175040853882332428274541364935269130604190320448731180725799336273536348479559967305710590600501274514308149640098908003332082134836355091785720822348091892821239372485628019318568643158296098799361544158871848372262672221614706612336032179293954275578381797405623992588738134120041841819600947027340974322845843903162152949479549332359515500693369145872988632817458239152309478767061026469019537953010499702188540472674950930308910155940740108438544616517712019147620169057993954791974939328461325025769080309429061004626291440837613260072630173726857387998557943054601568371659582162609953274094452915782978209602965860065227617003533922396250105606838787143150312388694746452012794630949038687413202584189716497631635510724546885257926458548293334555573165179072277327184932393168224420443910717851726747310615751015209746616956238944497704374931946329646467265576551352394474456928069516732593568386703441043132192278608001156214965365641874202169391773858935086500060944842464942167245268397399670973698765981096072174989454855430748769343961420280860269952545965982027424009003651684621998372011283790842349734128583014715248966050698517961202225919231749366929737314228356712790569830473780499404559578078578164265731702309597853027163064859800564969450922601463200191362252569465686043555389550657700911321407757574068724963460233616565386560556270608822157569697776482493257635521272044202822379391035949196495284828185065931593476301511737048396956872262829362346682429647626633665204329926135232021385942824012912929435967215605533963953643342100296707699638011499952052280526334879746300702905446806857818211068230931473090424246016003417091922627420082221561671412577878816794407556233378873114105582554948115868875059866801900672616156885488077892652715353660227926357459678822795355484619741210816673845881302105595196574115534193152992567236886003982947293137392675438700366132701823721631811173024537410110230899605111446132366386712722470341339815574181792239189620466242704096303326151850243957784407735147526734951661222428317742139233163666606509546540058167083477395877974395658341710436019482574901860988562322086991772532580822923283933293470991788791309464191852164134886502264711088571032974302097190065531200770035021465757028327274209912155762522643697757090598641905796219490982912772422577156349455647880910590229526766302665752443917421694900700465909392442327585326512803344859436933578746413657044076482790241744205297630786838115495778852091240617981190045769974946495145933594256507527452138036965990473295887933936279154781770943707361418360004399909378653543560960483231492840664087079856973366654710360423642507050557985310804276520307058525822268250042806214497266231141589472506306715429765668889463850675412044027623010986906640997995221050569696403281185550462216329585401808578568356481666206125916431006123509614498707462941156487972547412435888835944317493033345836028225721533005454938556292268569247268556688036103131366382136984926703851393323211573343248330221169611127962419789962674064655395437356380893056086618841991064092788555383826665120003028713673020210732961817414379591562013009835457416451254583946496768601635265110289217177208551189307711567126865895385924132408811978886255923936423396622699567443080449537879 10433234303535771796335771905950242172943740208019417910585684660307077613131803948075694493069379112954496864376794239056667919048966887159746667485091364751736820989459587748929728399333223617968848097321629141705229379046877719210105728201882663608879000885967453902466364075858388922666393890890690766681295936996360922453728554196451785302269575306879424312671069563884927563302231218861346355148963693960604996061598272042780126884541910727408222222847238122991085057520038736144503988209832566380457527216201146926397447586526802133998984221372757071679592326524235674607032718496337041799510295735418954184645706618036187423748410814990849863214248253241264283650226886789999150213505111109819156330973998345595987369890316303491069697523824422458197704415369678683734776311788132635461345376508421019692469547036280175074585787363423658398540375959550114214969189898255463434227800028714118210623903204560799089802601372189088824915176061867565108273745360180877490206202389067807337730363355937653168031453298785396570525062915178144636634893916768347839812858839483108059752882860919036165877608671633309130692324955879386042758898488014200168759199663723798323889318941915470168104702021238063700932078618184247107987263846947579479081515060617132957963677188013013992180147087525293449418803126545313685726718323988311850312912416118262013780038073275759354231494354162948535525364479814423804882564393069921307580072742071644026386511566237560153268488171706294925965501042579573160969734970472472948032151120854864878903739831939972101778713595535018566766593532280550344524962677432145755465634845818409684010681100210712954513652517349152207531867800078843612115695412427556168272281859931234086570645531607927889864626113494249178668175196739287573435683689471445355383226490695083755616838833449479877734518308543686404053959578560971055589445650900405960458359273253766137556547285551407391588670211670839471164125275755673170514085488063057962262571195879715224603309146210372473838219399694528435425782777497454634289008464257156046793492805492728389072554282126683680284108230054549258230004530876763559289829429645251435295657431873599299843752757393865095848578833835482721626508221812765106315763116938121676824979404666172177924831213465510857296852809407473939981449855350905912588774133673449318441600523357432537491555954752367365325377783370552360579606001729589836231991294677324971060961576240534742496039418943156464568089932885020146157498023876981218068098713812979411204003811106869684195015992949596777614694977503423985701184847255969327405543799925180863234581301431894281903971823839121904067274880514051273511332953794283287212407572147794695509852553183154341143357275000165959585133738387189030294402730686872438903321875606114935765239532207450440801990838702408621808120014337230012545408855592998374891060923556178507554476408055337780615507539885405549285599073701353507184830438523287471074343163685380403259882863639529754166848673455013207754423133752955775568666480979854515734598221215843661225455410489204106892929888819306854219661965773713883867291170273150043562790985631017391690677609130938021187947258800837098725447303519422794739614140247567963906181830158501897693861082707389412665425245650384965887671491538666941986951984907294285051915828665982760987771493671418455496012239451551749898873515525854998835272155591646778656458106939514379509354543304613730224949248333272241034874812706680273486592872436459921803491273446128627346227061803338707574489258355370647364887258030294437083864506556012383063094165760822837314008064611940579880628490901451993183830671132512568842582388010224796792654138989442186370882 16881327715712215994615938636174298613067781679100070379773482943496421831256886305804277251331636287055241683833231393511249937661403562593104337933687127027857327614061464173292397205066762673712036607743387181830533123670506659573179159174796409363491505215506212156865486539885356373701961666669772867133733553878700814230740036099216083267844209245972136766779591421637874099891798061550596190586768538135645849943930700317321491819811041331598542671578418848790421331056387215704471293920423166881732041524350787025305450918608936970354076007093579419771485147763608160235052037064980200095609095096963113056494078880708409038455023151023029157168523831623061689274219475528133270255346930710766183671948321191439890532043265783040402057039325115827343577404002496141973928621266899696487814396046374030192171735576752850025516096273579599138648814504166631926988337518424521428182592003653446671948928973641108518863605998480529662528436134497738835131133358738820544807770760727389500340316630032106083814431508388362430590290532181678559031144022375186626956009151871802806204895655549985204565021874217498847189956591390110589644156414472748462093755236888977396166646126847863336329122465148781552658825928799998123197010463903818423579219435549079287610144453589565344574621544453362966151396694932017126769850516266919851469127381483903887982207465049618289317994415107791000467531725082821204553538091835902403652247731526499457135280910198980434128758124252260907992925051583224845591733342483756738874500854983447893618988797990670619739915821454250316133523269594778701237753247262619535965039405396488262174946831913022552366679680414012008096837251001445075315886774680125633958325415320784744271556853015685463933351076954482795233561757295558182257841259169221837876484126216355799819661212840515826931013593371871469985553054862482792637842607772668789820705955683413764190212489881333526820691597613663484077054711722888776048049441706400062559278895517726724555361426736707353584520102599975242283600988565685565762098888503172050210584728120148471294115953539261559100902637610782637103118636459318507405698304705118237196330048030484787921645410109218756076505191295161544421863706432506317132436962819423782420175978781706371077823780702396861279800102544866615420150221483607736310405944846473855851710754257037648937688321139080087795719123186126542371845191350056078936087598003476821304919360648269890022774370604378892885832072118183812764007570417039385151576109690953806862345521542889166769917853938159099701686750036004808624468780549440319194335109389372715398716187934158992992542856813424001257340411714821308532798710822610561422319727910317339207609643781796246939576765983078732007710894736644678175313320916399205205987628050032357460140232673359833244318424028921425152979451270808758959065899669481165132805128853809294392591903834189871856125521075451319260545568847287101441337965975425508040333636981268337196162018421300697874210091815017607663801787296516736051897973820518602814455194582498371585879052996254664878240693095827161278187788041963926673505667539381185152263491937732821456346498594788696599991286423848085632088301514643845309310543528753514368398159743903706272429439189055618791341676656508475502170199001608098474924532319730173887860146159016106823799719392951460950950795743820319146142072213891101966638537728631705360309500262725952852602873525783341352911668123234915099530208144036654379648959055301912867584062001512454011347064832052380594699991317188061744478820043304272541280957810596329559862767396087947603225241820491769188340058028317888569754803541324547728838311946648193415353706432522635908761 27314562019247987790951710542124540786011521887119488290359167603803499444388690253879971744401015400009738548210025632567917856710370449752851005418778491779594148603521051922222125604399986291680884705065016323535762502717384378783284887376679072972370506101473666059331850615743745296368355557560463633815029490875061736684468590295667868570113784552851561079450660985522801663194029280411942545735732232096250846005528972360101618704352952059006764894425656971781506388576425951848975282130255733262189568740551933951702898505135739104353060228466336491451077474287843834842084755561317241895119390832382067241139785498744596462203433966013879020382772084864325972924446362318132420468852041820585340002922319537035877901933582086531471754563149538285541281819372174825708704933055032331949159772554795049884641282613033025100101883637003257537189190463716746141957527416679984862410392032367564882572832178201907608666207370669618487443612196365303943404878718919698035013973149795196838070679985969759251845884807173759001115353447359823195666037939143534466768867991354910865957778516469021370442630545850807977882281547269496632403054902486948630852954900612775720055965068763333504433824486386845253590904546984245231184274310851397902660734496166212245573821641602579336754768631978656415570199821477330812496568840255231701782039797602165901762245538325377643549488769270739535992896204897245009436102484905823711232320473598143483521792476436540587397246295958555833958426094162798006561468312956229686906651975838312772522728629930642721518629416989268882900116801875329045762715924694765291430674251214897946185627932123735506880332197763164215628705051080288687431582187107681802230607275252018830842202384623613353797977190448731973901736954034845755693524948640667193259710616911439555436500046289995704665531901915557874039512633423453848227288258673074750279065228937179901746759775432740918409361809284502955241179987478561946562134929769458024821850091397441949158670572947079827422739502294503677709383766063140200051107352760328097004077533612876860366670235665945239385010867665331895333123167336082066695527734350369672491987479904084087765398167503083851925084025130644266048371928245271423448200079757545459245155383447878549002654994167907718576652911952340555401600076834513648899180078519923174293311277614470186429244275891447453121096906556678902951451193079645915168078892680801792365880936888804632518813789547535357453922005003203958921505594294020603219674823503933218066349332649758850964933846887755877316381727539428794325653627805409646599878909314553578633297489366053274896514680652545905324615292228872582044131664616893848634727300058112034717462196964950588082934040983244691592844633123833708469716051603271644109309503656147293225379764880810274046309262731330046961099465608038771504474755262479540023866052409987801947068311889527652471633060960856868546144642548640608626168404498712979114676800666648740456044882060830452041058765270030815418224921049472511620564454800373118549053415798342032811334463485458771771170581915134015497849753815677810540796837812531228715054477568750213147024107725726717787938545224685184357535605034066640048924683776321478274579989902405603966290521896445031456766922306893441389841690540275040461876517227024458939775974824998867811571213064369916446963035195372069045015587739746100801910693320278484016767607202240332361957416830397071577860916456507156134405020850716927866241831491761834671075335447641081357574126635391088169189249672558709109366078073598709625145464366608712622956933156910784917233306432432349068968548929769881753585474673837116571420699956872990208007845421964822279643 44195889734960203785567649178298839399079303566219558670132650547299921275645576559684248995732651687064980232043257026079167794371774012345955343352465618807451476217582516095514522809466748965392921312808403505366295626387891038356464046551475482335862011316979878216197337155629101670070317224230236500948763044753762550915208626394883951837957993798823697846230252407160675763085827341962538736322500770231896695949459672677423110524163993390605307566004075820571927719632813167553446576050678900143921610264902720977008349423744676074707136235559915911222562622051451995077136792626297441990728485929345180297633864379453005500658457117036908177551295916487387662198665837846265690724198972531351523674870640728475768433976847869571873811602474654112884859223374670967682633554321932028436974168601169080076813018189785875125617979910582856675838004967883378068945864935104506290592984036021011554521761151843016127529813369150148149972048330863042778536012077658518579821743910522586338410996616001865335660316315562121431705643979541501754697181961518721093724877143226713672162674172019006575007652420068306825072238138659607222047211316959697092946710137501753116222611195611196840762946951535626806249730475784243354381284774755216326239953931715291533183966095192144681329390176432019381721596516409347939266419356522151553251167179086069789744453003374995932867483184378530536460427929980066213989640576741726114884568205124642940657073386635521021526004420210816741951351145746022852153201655439986425781152830821760666141717427921313341258545238443519199033640071470107747000469171957384827395713656611386208360574764036758059247011878177176223725542302081733762747468961787807436188932690572803575113759237639298817731328267403214769135298711330403937951366207809889031136194743127795355256161259130511531596545495287429344025065688285936640865130866445743540099771184620593665936972265314074445230053406898166439318234699201450722610184371475858087381128986915168673714031999683787181007259604894478919992984754628825765813206241263500147214662261733025331660786189205206798485913505276114532436241803795400574101226039055487909688317527934568875687043577612302608001589216425805810470235634677777740580637042576969241665331362229584920080478774870304579856453014497207170821750298318121385209586023366397030145022031871507835366932597030527540916816029742805445323296384429701994104166490684278613670800297537074522541588160151914250339754077121387771685513164711059988371250933194887024928694854192648017734851700825914977018068477575433602950122408354849965794214018703926294032013677300212267889057537465969906581955703943693890576930375439504410057047027968429373925071840746746835022510806966323423600555527860478386645029372519670849315297131706179650685519997554170107290627686760251472114078916878847530463540654931960705156671181263797096339660215723717524327758582036308187806690211395927710067506370474138487155010437647917077652206900482131149915268857085048423082026708345989247672462428620891721363508610380840404397213516481713436649411275010961176776037541857641737214302505351912413867317969506483034603370606320515414387929831648533269989623906548710485358235227305074992642978149646309310238719961085500650248108598963401916892011889541883138936801049546754632827636120984014974635370932457321377397913830939192388191157659953637202768549231048910189377077107464966285214560290356180412930772584579742071233935228994753582245890790547063747538659397449153535368921191467443468763889240989746770853844898116902982166426422177205042182819700552998732520458548252924118257308606958087770323340278215161664300259011903521183623361551854487458188404 71510451754208191576519359720423380185090825453339046960491818151103420720034266813564220740133667087074718780253282658647085651082144462098806348771244110587045624821103568017736648413866735257073806017873419828902058129105275417139748933928154555308232517418453544275529187771372846966438672781790700134763792535628824287599677216690551820408071778351675258925680913392683477426279856622374481282058233002328147541954988645037524729228516945449612072460429732792353434108209239119402421858180934633406111179005454654928711247928880415179060196464026252402673640096339295829919221548187614683885847876761727247538773649878197601962861891083050787197934068001351713635123112200164398111193051014351936863677792960265511646335910429956103345566165624192398426141042746845793391338487376964360386133941155964129961454300802818900225719863547586114213027195431600124210903392351784491153003376068388576437094593330044923736196020739819766637415660527228346721940890796578216614835717060317783176481676601971624587506201122735880432820997426901324950363219900662255560493745134581624538120452688488027945450282965919114802954519685929103854450266219446645723799665038114528836278576264374530345196771437922472059840635022768488585565559085606614228900688427881503778757787736794724018084158808410675797291796337886678751762988196777383255033206976688235691506698541700373576416971953649270072453324134877311223425743061647549826116888678722786424178865863072061608923250716169372575909777239908820858714669968396216112687804806660073438664446057851956062777174655432788081933756873345436792763185096652150118826387907826284154546202696160493566127344075940340439354247353162022450179051148895489238419539965824822405955961622262912171529305457851946743037035665365249693644891156450556224395905360039234910692661305420507236262077397202987218064578321709390489092419125118818290378836413557773567683732040746815363639415216182669394559414686680012669172319301245316112202979078312610622872702572630867008429999107188982597702368520691965965864313594023828244218739795345902192027456424871152037870924372941446427769364971131482640796753773405857582180305007838652963452441745115386459926673241556450076518607562923049164028837122334514700910486745677463469083133769038212298433105926449547726223350375152635034108766101886320204438333309485978021796176872921974994037912936299484348274747577509347909272245383365080406036681234425879155060401949699449607793676082124591730607018759005080591590925756698820242995044186842406868699785547713670854334450205114862397275776036160259612394092928018479872665311166666265542785572218118515811906570996172566472621062040056398258691774328026541408642534037711697423105444847949568115193400160984312095114745424122942493424606635362326943910899762434980381336936949491581519075178382486886301968015410194440245180537233673784898286728527613245176799391642997165056352834853944568318693674774972851466269687238314565818108251782542961601956327622355079238500251629395461759293026883421264839912562026179182437208547979967172208420581856926095192273887295673319547755099343164443642582372447075233247750394714046242132175868376873218454347159511582777125407159911081396470917558139548714914205010482981945681704875521270295358281853580082158179398677566773779091767412095809013842446942145521691293844876866134564457236173247693383303570459924369188673393844714667206617576517707186577484508633501036249227368340249845470510112132622038825582209734732896794616726495318102834556933078490662305479963210976190501691791571886543813754805776633709909517437691854685356467326277155887857652076925752888998780871679711860394173831369397276452280468047 115706341489168395362087008898722219584170129019558605630624468698403341995679843373248469735866318774139699012296539684726253445453918474444761692123709729394497101038686084113251171223333484222466727330681823334268353755493166455496212980479630037644094528735433422491726524927001948636508990006020936635712555580382586838514885843085435772246029772150498956771911165799844153189365683964337020018380733772560044237904448317714947839752680938840217380026433808612925361827842052286955868434231613533550032789270357375905719597352625091253767332699586168313896202718390747824996358340813912125876576362691072427836407514257650607463520348200087695375485363917839101297321778038010663801917249986883288387352663600993987414769887277825675219377768098846511311000266121516761073972041698896388823108109757133210038267318992604775351337843458168970888865200399483502279849257286888997443596360104409587991616354481887939863725834108969914787387708858091389500476902874236735194657460970840369514892673217973489923166517438298001864526641406442826705060401862180976654218622277808338210283126860507034520457935385987421628026757824588711076497477536406342816746375175616281952501187459985727185959718389458098866090365498552731939946843860361830555140642359596795311941753831986868699413548984842695179013392854296026691029407553299534808284374155774305481251151545075369509284455138027800608913752064857377437415383638389275941001456883847429364835939249707582630449255136380189317861128385654843710867871623836202538468957637481834104806163485773269404035719893876307280967396944815544539763654268609534946222101564437670362906777460197251625374355954117516663079789655243756212926520110683296674608472656397625981069720859902210989260633725255161512172334376695653631596257364260445255532100103167030265948822564551018767858622892490416562089644009995327129957549991564561830478607598178367233620704306060889808869468623080835833877649385881463391782503672721174199584108065227779296586734572314654189437258712083461517695353275320791731677519835287328391433402057078927523688242614076358836356837878217560960205606774926883214897979812461345491868622535773221839139485322727689067928262457982255886988843197600826904609474164911483942575818107907048389163612543908516878289558940946754897045100673470756419318352125252717234583355341357485857163109469952502534954728966042289793598043961939049903376411874049359019707481531962953677601990109851363858133430159245979502292531923716140579962176689893707267923739041035054886434637248539585831352518682690296000225898444515109578188306946722406166697324843966477810674629755584485718488526700116260363197992415495902668748821355994970782567605878458444258127955654915891538793955688844790481759774796642613342739903767068506594596419759989150488627564636251832991189257299365733832431556065126400950337208414937581994626388743336962701127150225033473244159525065340496028761181145446989953424697675962482895760458683025092751871596479440127661582278337741451006965489312042156561276070636560022841605761496448885645069993131937056369049924837530961284969401848516356056449690416581716282353765320366757546563798208521751724336783418131487610765395138386471463560536289195024224443730444067446331952984120233697275173865469624041318335478616320533724595048216793028817082313077979012671242790697073756845427330907647020506339009155418098862770921822132172902791077997542757897439406085615991298602275478840224092358023412585889329748394130345948152095416509570278025696967731652052250817055874307404673957998308721018796988596334262908249958150402938280585583585762845945422400266031104160445171938723763915357454730949130939738656451 187216793243376586938606368619145599769260954472897652591116286849506762715714110186812690475999985861214417792549822343373339096536062936543568040894953839981542725859789652130987819637200219479540533348555243163170411884598441872635961914407784592952327046153886966767255712698374795602947662787811636770476348116011411126114563059775987592654101550502174215697592079192527630615645540586711501300438966774888191779859436962752472568981197884289829452486863541405278795936051291406358290292412548166956143968275812030834430845281505506432827529163612420716569842814730043654915579889001526809762424239452799675375181164135848209426382239283138482573419431919190814932444890238175061913110301001235225251030456561259499061105797707781778564943933723038909737141308868362554465310529075860749209242050913097339999721619795423675577057707005755085101892395831083626490752649638673488596599736172798164428710947811932863599921854848789681424803369385319736222417793670814951809493178031158152691374349819945114510672718561033882297347638833344151655423621762843232214712367412389962748403579548995062465908218351906536430981277510517814930947743755852988540546040213730810788779763724360257531156489827380570925931000521321220525512402945968444784041330787478299090699541568781592717497707793253370976305189192182705442792395750076918063317581132462541172757850086775743085701427091677070681367076199734688660841126700036825767118345562570215789014805112779644239372505852549561893770905625563664569582541592232418651156762444141907543470609543625225466812894549309095362901153818160981332526839365261685065048489472263954517452980156357745191501700030057857102434037008405778663105571259578785913028012622222448387025682482165123160789939183107108255209370042060903325241148520711001479928005463206265176641483869971526004120700289693403780154222331704717619049969116683380120857444011736140801304436346807705172508883839263505228437064072561476060954822973966490311787087143540389919459437144945521197867257819272444115397721796012757697541833429311156635652141852424829715715699038947510874227762251159007387974971746058365855694733585867203074048927543611874802591927067843075527854935699538705963507450760523876068638311287245998643486304853584511858246746312946729176722664867396302623268451048623391453427118227139037439021688650843463878959286342874477528992641902341774141872791539448397812648657257414439425744162766388832832662392059550813465927106241370571232899550682721221171553102446592527510918783227877461755134422796253256685686968887805158397501674480675369190582399874740886039362636010632743353460201973703001530395097696288826835819054455552300927440595684021512191210139916170141681233400502865459653987355849829102576874520220765555836164510402430833538507319522424130869964501585743414510264435681852620134399571475320841195517745648611366892913117270950207877926541868030638300512359919285064347454855920419841419694384914277048713868710465568054353827924101795206900082529967136912766258516195463421401188632662739205278814309476416057853490574988863151561323812133204280832724501191680799699032062863656949530104160034412999678739666585394970178683942929714264736172555049467867934478094428743739138648740927049392013657859641503992633455719049706199497734156183094312816362460312602042659529255223500703965087667563208321302663504155340403809909469079787287536164766536799379520367595704729335381948039586652240525970615728685694602470156034624714911958128863242742768821911827673112582630046222314357730780266850497906365749570195264832551794372967972817767395842257623637052909862918733803074477191783993159226043618435624309531286100346407392019124498 302923134732544982300693377517867819353431083492456258221740755547910104711393953560061160211866304635354116804846362028099592541989981410988329733018663569376039826898475736244238990860533703702007260679237066497438765640091608328132174894887414630596421574889320389258982237625376744239456652793832573406188903696393997964629448902861423364900131322652673172469503244992371783805011224551048521318819700547448236017763885280467420408733878823130046832513297350018204157763893343693314158726644161700506176757546169406740150442634130597686594861863198589030466045533120791479911938229815438935639000602143872103211588678393498816889902587483226177948904795837029916229766668276185725715027550988118513638383120162253486475875684985607453784321701821885421048141574989879315539282570774757138032350160670230550037988938788028450928395550463924055990757596230567128770601906925562486040196096277207752420327302293820803463647688957759596212191078243411125722894696545051687004150639001998522206267023037918604433839235999331884161874280239786978360484023625024208868930989690198300958686706409502096986366153737893958059008035335106526007445221292259331357292415389347092741280951184345984717116208216838669792021366019873952465459246806330275339181973147075094402641295400768461416911256778096066155318582046478732133821803303376452871601955288236846654009001631851112594985882229704871290280828264592066098256510338426101708119802446417645153850744362487226869821760988929751211632034011218508280450413216068621189625720081623741648276773029398494870848614443185402643868550762976525872290493633871220011270591036701624880359757616554996816876055984175373765513826663649534876032091370262082587636485278620074368095403342067334150050572908362269767381704418756556956837405884971446735460105566373295442590306434522544771979323182183820342243866341700044749007519108247941951336051609914508034925140652868594981378352462344341062314713458442939452737326646687664511371195208768169216046171717260175387304516531355905633093075071333549429219353264598485027085543909503757239403941653023869710584600129376568348180578520985249070592713398328548565917550079385096641731412390570764595783198157520961850496293958124702973247785452157482586062122961491560247410358856855246055012223808343057520313551722094147872745470352391754673605043992200949736122395812826980063947370868384063935470835501387447716025069131463798445451644298351786510264382169402177324060536400616550735192082606437361751515279136486234778842522268912516641569060044792842517039487570495454397727572925190478768770706821463292206059960854599221164134831729287487248883624396405087199017046871048203596189417040016482973777745794628585939361356157781351192781311538673893058634295017408169178904414169499340133103739282413281358592066221995247501453692981218353966831127540447242145854954063548948887539506014287170579053692093064111544671884984625560376216037065866831373119082590239531609629169148593147105699520581235334561664808304878363773224005507505577962464703299299228120420070972864943498560568120800207930373736970735242117693903040197155755481753280238665812457925354779757225303464793916721903020726347845752346937950187854339398038630717938763363092471371116838345610843761737689908629584519330240816069634799414846540957508529395071476611568301479716636330458260282078148090835062987424316248478235205386398935688358931552423158673702272093279387445672268231824572891207525918694828179447210604241706522993588690920917328337243390608327013953966409981597322724805311039707568503985851348782969302235726017353992660561917638493448681579748496877457815097319671215557159388224888740831295538331757780949 490139927975921569239299746137013419122692037965353910812857042397416867427108063746873850687866290496568534597396184371472931638526044347531897773913617409357582552758265388375226810497733923181547794027792309660609177524690050200768136809295199223548748621043207356026237950323751539842404315581644210176665251812405409090744011962637410957554232873154847388167095324184899414420656765137760022619258667322336427797623322243219892977715076707419876285000160891423482953699944635099672449019056709867462320725821981437574581287915636104119422391026811009747035888347850835134827518118816965745401424841596671778586769842529347026316284826766364660522324227756220731162211558514360787628137851989353738889413576723512985536981482693389232349265635544924330785282883858241870004593099850617887241592211583327890037710558583452126505453257469679141092649992061650755261354556564235974636795832450005916849038250105753667063569543806549277636994447628730861945312490215866638813643817033156674897641372857863718944511954560365766459221919073131130015907645387867441083643357102588263707090285958497159452274372089800494489989312845624340938392965048112319897838455603077903530060714908706242248272698044219240717952366541195172990971649752298720123223303934553393493340836969550054134408964571349437131623771238661437576614199053453370934919536420699387826766851718626855680687309321381941971647904464326754759097637038462927475238148008987860942865549475266871109194266841479313105402939636782172850032954808301039840782482525765649191747382573023720337661508992494498006769704581137507204817332999132905076319080508965579397812737772912742008377756014233230867947863672055313539137662629840868500664497900842522755121085824232457310840512091469378022591074460817460282078554405682448215388111029579560619231790304494070776100023471877224122398088673404762368057488224931322072193495621650648836229576999676300153887236301607846290751777531004415513692149620654154823158282352308559135505608862205696585171774350628349748490796867346307126761186693909641662737685761928586955119640691971380584812362380535575736155550267043614926287446984195751639966477622996971444323339458413840123638133857059667814003744718648579041886096739403481229548427815076072105657105169801975231734888675739360143582002770717539326172588579530792112626732643044413615081682155701457592940012770725838077343627040835845528673726388878237871195807064740619342926774228952990789987642641987121968091633289158582923068381583078762289761305496789978396703482841046099202726456458300612795229247405865847959353106696204178245422596865231964517595033702990488779278722092693914034836101326600504523630012724037995164987885710798727620594756660646810846768667388502995635508815238173725015068924571930173671611058804837412228556567807738662011718128663070974101230699015768083341372699712160315780452623285237378456980233961094749845184244903910624723670892986286672792813467504516580323497879614161201459527444683030541461747338272015276539482521702968999363653335962038433399234380449281001352051143109663359491697549103939522950418404231877955454513816143895615342562085389192756904043131379311692081704669277560017083110505237322207332516725146682502501741212298166230359268703403241682542085303569036440313803790982509159357319968841997114136140823524980420601418125823490399450754339218327828126157947314992673935100454895730931943526269407001428661335485258920472350543506936211613297298335481835319153664651856831433689739240164916503190957060176280767712377589575303217405457138699250683900577342270208543784749834918185554691403311600313551571354649599090478897259175595012534420026931641945723776905447 793063062708466551539993123654881238476123121457810169034597797945326972138502017306935010899732595131922651402242546399572524180516025758520227506932280978733622379656741124619465801358267626883555054707029376158047943164781658528900311704182613854145170195932527745285220187949128284081860968375476783582854155508799407055373460865498834322454364195807520560636598569177271198225667989688808543938078367869784663815387207523687313386448955530549923117513458241441687111463837978792986607745700871567968497483368150844314731730549766701806017252890009598777501933880971626614739456348632404681040425443740543881798358520922845843206187414249590838471229023593250647391978226790546513343165402977472252527796696885766472012857167678996686133587337366809751833424458848121185543875670625375025273942372253558440075699497371480577433848807933603197083407588292217884031956463489798460676991928727213669269365552399574470527217232764308873849185525872141987668207186760918325817794456035155197103908395895782323378351190559697650621096199312918108376391669012891649952574346792786564665776992367999256438640525827694452548997348180730866945838186340371651255130870992424996271341666093052226965388906261057910509973732561069125456430896558628995462405277081628487895982132370318515551320221349445503286942353285140169710436002356829823806521491708936234480775853350477968275673191551086813261928732728918820857354147376889029183357950455405506096716293837754097979016027830409064317034973648000681130483368024369661030408202607389390840024155602422215208510123435679900650638255344114033077107826633004125087589671545667204278172495389467738825253811998408604633461690335704848415169754000102951088300983179462597123216489166299791460891084999831647789972778879574017238915960290653894950848216595952856061822096739016615548079346654061044464641955015104807117065007333179264023529547231565156871154717652544895135265588763952187353066490989447354966429476267341819334529477561076728351551780579465871972476290881984255381583871938679856555980539958508126689823229671432344194523582344995250295396962509912144084336128788028863996880160382524300205884027702382068086054751848984604719421332014580629664500038676773282015133882191560963815610550776567632353067464026657221286747112484082417663895554492811687198918058931922546786231776635245363351204077968528437656887383639109902012814462542223293244698795520342036316647451363092405853191156398355168114048179042603672703283715895595944674583660719564997068603827765702495038272542885838941719765944028796067192956820331056326728123813517667470451482557719831185681729865432277976028162346489099001233853148197648708119819429764054478138765631505427313559956112818428162039549978927176888694143110255581894193973338741429513804714798087250693587148634029733909513171821644289328068061826556215325487227653775709264667992129299524549036033926054158861389856129888536185099886930052153504165932550094756111933127048762754348565226965264265876023412146576893640312706527210474577326118039261337661519654451422145944850611711230463567422071286074674765068112307272075111209995569424134281155020010743972514129346596173228413984725395625405769430048455425176546730555355864621265864833683669283068704879547164979372450714888088366681129873425781924005898277477371392185612752391826460137237748584083772477598845174281315252442406425550198060334036143254662484366684943109273521940722930931188704175116398143737531992126514929045923395371174850420124610656568502159893799284074130247177693974912300108528445164707203236535249360311572444269802103827578747472329896760281893300068232107414187798568474732754400759308767762937484055534686396 1283202990684388120779292869791894657598815159423164079847454840342743839565610081053808861587598885628491185999638730771045455819042070106052125280845898388091204932415006512994692611856001550065102848734821685818657120689471708729668448513477813077693918816975735101311458138272879823924265283957120993759519407321204816146117472828136245280008597068962367948803693893362170612646324754826568566557337035192121091613010529766907206364164032237969799402513619132865170065163782613892659056764757581435430818209190132281889313018465402805925439643916820608524537822228822461749566974467449370426441850285337215660385128363452192869522472241015955498993553251349471378554189785304907300971303254966825991417210273609279457549838650372385918482852972911734082618707342706363055548468770475992912515534583836886330113410055954932703939302065403282338176057580353868639293311020054034435313787761177219586118403802505328137590786776570858151486179973500872849613519676976784964631438273068311872001549768753646042322863145120063417080318118386049238392299314400759091036217703895374828372867278326496415890914897917494947038986661026355207884231151388483971152969326595502899801402381001758469213661604305277151227926099102264298447402546310927715585628581016181881389322969339868569685729185920794940418566124523801607287050201410283194741441028129635622307542705069104823956360500872468755233576637193245575616451784415351956658596098464393367039581843313020969088210294671888377422437913284782853980516322832670700871190685133155040031771538175445935546171632428174398657407959925251540281925159632137030163908752054632783675985233162380480833631568012641835501409554007760161954307416629943819588965481080305119878337574990532248771731597091301025812563853340391477520994514696336343166236327625532416681053887043510686324179370125938268587040043688509569485122495558110586095723042853215805707384294652221195289152825065560033643818268520451770480121625887995974157687759913385287487057389441671568557648065232612605130074668806026163682741726652417768352560915433360931149643223036966630880209324890447719820491679055072478923167607366720051845850505325379039530378091307398444843059465871640297478503783395421861057019978930964445045158978591643704458724569196459196518482001159821777807477557263529226525090647511453338898858509278289776966285760124229895249827396409835740090158089583059138773372521909220274187843258427833025196117930627308158904035821684590794671375349184754527597652042302643759358365133262492473434976025726885040922492400487096679988186067736922174687476920213871648696905154585063150199324899135268464807441068581792915268689249524249212643449442488092473303753517216226041180550869479074972886318646315679884329651925493755619209042263313359687476325856892088105815705201837472571524889950307360302169292525571983408828600353487869580448444752584761927493014160015253611235040374792446809823557823038440176958746017599272692256624928376915550024754409947296417485159484848908916852189048913443576689771375223376094918888831871426946202662854340126926913768835178614288018530711503953066664509385568029896497582096133165271033389727552540106066430064902965786513158960662498754063072081011303768366574895967449299064148250568221054992800191657403121443677216764433165255597446213389299748893215351440557839166709907262877049599513499643080568564372865190734269136598150393416310211212516274950602058416190109176525659905079949145289424850410881242549035826707251558300395808667076396990241134306527945406352501875411745850621845902487219149937653842652813586853662496933027021300071882206851639586757013278277465733908349413293728794694579429779311591843 2076266053392854672319285993446775896074938280880974248882052638288070811704112098360743872487331480760413837401881277170617979999558095864572352787778179366824827312071747637614158413214269176948657903441851061976705063854253367258568760217660426931839089012908262846596678326222008108006126252332597777342373562830004223201490933693635079602462961264769888509440292462539441810871992744515377110495415403061905755428397737290594519750612987768519722520027077374306857176627620592685645664510458453003399315692558283126204044749015169507731456896806830207302039756109794088364306430816081775107482275729077759542183486884375038712728659655265546337464782274942722025946168012095453814314468657944298243945006970495045929562695818051382604616440310278543834452131801554484241092344441101367937789476956090444770189109553326413281373150873336885535259465168646086523325267483543832895990779689904433255387769354904902608118004009335167025335365499373014837281726863737703290449232729103467069105458164649428365701214335679761067701414317698967346768690983413650740988792050688161393038644270694495672329555423745189399587984009207086074830069337728855622408100197587927896072744047094810696179050510566335061737899831663333423903833442869556711048033858097810369285305101710187085237049407270240443705508477808941776997486203767113018547962519838571856788318558419582792232033692423555568495505369922164396473805931792240985841954048919798873136298137150775067067226322502297441739472886932783535110999690857040361901598887740544430871795693777868150754681755863854299308046215269365573359032986265141155251498423600299987954157728551848219658885380011050440134871244343465010369477170630046770677266464259767717001554064156832040232622682091132673602536632219965494759910474986990238117084544221485272742875983782527301872258716779999313051681998703614376602187502891289850119252590084780962578539012304766090424418413829512220996884759509899125446551102155337793492217237474462015838609170021137440530124356114596860511658540744706020238722266610925895042384145104793275344166805381961881175606287400359863904827807843101342920047767749244352051734533027761107616432843156383049562480797886220927143003822072195143072153861122525408860769529368211336811792033223116417805229113643904195471373111756340913724008706443375885685090285913535140317489838092758332906714780048945642102972552125282432018071317429562310504490709790925431049309087025663327018084000727194467374659065080350472272235703022208756426968961028194968473248568612723982642258344515892747181142888067978501415600733731539119148387712304894335881054764567546440835603415070891916502542397721897920763268872252146951442519148721653354740506982297503134925868625242856773023795035749337513403015602054789201281040654979338799402853835867206481038061771951649630237354352128198734315828007263578845116436881884286476529048086069412472624896504680982994923444753090593681124678567694028804189751977139669898589981375211562293508571631425802557164895576123918154015889414484713756438543283293572891053274565570590494335840121253289053086643018776028177874504954992164177652602106877137785162736323725768520051155460528371555943207416087675300793627436875925034231408579636732367769027797733200427443515079745769802573550642546357171153874923584781485361645607177900695076915293991035354648444687780958333010970798415388794603172741405055900676896155625548472542781347121297880700776303223686677281551365339927165944407001557671682911052377169236290789525208436775123100327414175520274295786553105723754399297965415097083388957490075680499351196832164100151707818864427466076034208641103814053037562457516913834846278239 3359469044077242793098578863238670553673753440304138328729507478630814651269722179414552734074930366388905023401520007941663435818600165970624478068624077754916032244486754150608851025070270727013760752176672747795362184543725075988237208731138240009533007829883997947908136464494887931930391536289718771101892970151209039347608406521771324882471558333732256458243986355901612423518317499341945677052752438254026847041408267057501726114777020006489521922540696507172027241791403206578304721275216034438830133901748415408093357767480572313656896540723650815826577578338616550113873405283531145533924126014414975202568615247827231582251131896281501836458335526292193404500357797400361115285771912911124235362217244104325387112534468423768523099293283190277917070839144260847296640813211577360850305011539927331100302519609281345985312452938740167873435522748999955162618578503597867331304567451081652841506173157410230745708790785906025176821545472873887686895246540714488255080671002171778941107007933403074408024077480799824484781732436085016585160990297814409832025009754583536221411511549020992088220470321662684346626970670233441282714300489117339593561069524183430795874146428096569165392712114871612212965825930765597722351235989180484426633662439113992250674628071050055654922778593191035384124074602332743384284536405177396213289403547968207479095861263488687616188394193296024323729082007115409972090257716207592942500550147384192240175879980463796036155436617174185819161910800217566389091516013689711062772789572873699470903567231953314086300853388292028697965454175194617113640958145897278185415407175654932771630142961714228700492516948023692275636280798351225172323784587259990590266231945340072836879891639147364289004354279182433699415100485560356972280904989683326581283320871847017689423929870826037988196438086905937581638722042392123946087309998449400436214975632937996768285923306956987285713571238895072254640703028030350895926672728043333767649904997387847303325666559462809009087772421347209465641733209550732183921463993263343663394945060538154206493810028418928512055815612290807583725319486898173821843215375115964403897585038353140147146810934463781494405540263757861224621507605467617004129173840053489853905928507959855041270516602419575614323711114803725973278850669019870140249099353954829224583948795191824917283775598216988228156542176458781382193130641708341570791443839338782584692333968218758456245427017652971485922119822411785262046034414265104999869887745324852515785334094290687441908224594339609023564750745002989427169328955804900676103077653945410767845292866889957486080379663702814905643044483652684831771231647246147133406718314740239424746272665937879395921057851776578107812187271558536657353446961243093132612057865368148888757366511871426905218559037704679052562951722259009932406646877700182143144428360751448425564881634469048404022062246084666083859936879473429804747002576129033858083424585293301496446376905516585448614735785158858710993731116274711474017084625037361730705660789708089851357432115164999837255937419910717421249608956431903341105173730279981244539014340560194074150184203010303056196126051278308626117585525431337342456366376750174054856699517887228802597983475604181666833176048301421482436315271403172924017227859310790336409472369798170785110538822529341252916082003898298231698044201280601413579535171280579528872309339555449316987107368141823423144839763311407057226436208303635822570976215750808408493442828264923241211448185836312687779766342743303068506679916050932020146408399008210973549235619257749896975811152572613526372496904046307003347405621440744353499942549453227346766357152096343614157870082 5435735097470097465417864856685446449748691721185112577611560116918885462973834277775296606562261847149318860803401285112281415818158261835196830856402257121740859556558501788223009438284539903962418655618523809772067248397978443246805968948798666941372096842792260794504814790716896039936517788622316548444266532981213262549099340215406404484934519598502144967684278818441054234390310243857322787548167841315932602469806004348096245865390007775009244442567773881478884418419023799263950385785674487442229449594306698534297402516495741821388353437530481023128617334448410638478179836099612920641406401743492734744752102132202270294979791551547048173923117801234915430446525809495814929600240570855422479307224214599371316675230286475151127715733593468821751522970945815331537733157652678728788094488496017775870491629162607759266685603812077053408694987917646041685943845987141700227295347140986086096893942512315133353826794795241192202156910972246902524176973404452191545529903731275246010212466098052502773725291816479585552483146753783983931929681281228060573013801805271697614450155819715487760550025745407873746214954679440527357544369826846195215969169721771358691946890475191379861571762625437947274703725762428931146255069432050041137681696297211802619959933172760242740159828000461275827829583080141685161282022608944509231837366067806779335884179821908270408420427885719579892224587377037574368564063647999833928342504196303991113312178117614571103222662939676483260901383687150349924202515704546751424674388460614243901775362925731182237055535144155882997273500390463982686999991132162419340666905599255232759584300690266076920151402328034742715771152042694690182693261757890037360943498409599840553881445703304196329236976961273566373017637117780322467040815464670316819400405416068502962166805854608565290068696803685936894690404041095738322689497501340690286334228223022777730864462319261753376137989652724584475637587787540250021373223830198671561142122234862309319164275729483946449617896777461806326153391750295438204160186259874269558437329205642947481837976833800890393231421899691167447630147294741275164763263142865208755949319571380901254763243777620164543968021061644082151764511427539812147201327701176015262766698037328066378082308635642692032128940228447630168750223780776211053973108060398205110269039081105360057601265436309746561063256956507727024296103193833624002809515156768344895196824678009683887294736104678634812940203823138979729420693479345455472142123448347061272212303055318882410381473162952333006207009089518882174350471843872879177518678387676949886993680579194851821961434428270361346478647898723576748273774044968045054169987186992386376188791814659532750661564834074081242738055896801393430377241996992430646015073467422938090038407166850765704621412873571885533601013494210659562644001229828380877460256368015027270681318516353334880551110332154078556484833384154412799670447329219627539208103152987330300636128882656255347204717160370421004502302747700514031181980201161279884721550204192803607795975398458572728309211985481307915585449077685192394191816749056009422413519295552358251802786309887440841358862375004077146168740985959708898399573792837849355650326954763153836829392055240914034602203846034621909879830351148942726590778501857147507563347293382952270472184429707241947992997297889333586346488889061559746590505969695968323475482080960505217664003523767371895687621110432704937927212511527322499852527581090735574437849829822594924122500563005548978569291551180078191607007330226452294442194952113934727948533584672846980364768642648294025723693736210407155055224485868210429534151190557041399803919609613257449004148321 8795204141547340258516443719924117003422445161489250906341067595549700114243556457189849340637192213538223884204921293053944851636758427805821308925026334876656891801045255938831860463354810630976179407795196557567429432941703519235043177679936906950905104672676258742412951255211783971866909324912035319546159503132422301896707746737177729367406077932234401425928265174342666657908627743199268464600920279569959449511214271405597971980167027781498766365108470388650911660210427005842255107060890521881059583496055113942390760283976314135045249978254131838955194912787027188592053241383144066175330527757907709947320717380029501877230923447828550010381453327527108834946883606896176044886012483766546714669441458703696703787764754898919650815026876659099668593810090076178834373970864256089638399500035945106970794148771889105251998056750817221282130510666645996848562424490739567558599914592067738938400115669725364099535585581147217378978456445120790211072219945166679800610574733447024951319474031455577181749369297279410037264879189869000517090671579042470405038811559855233835861667368736479848770496067070558092841925349673968640258670315963534809530239245954789487821036903287949026964474740309559487669551693194528868606305421230525564315358736325794870634561243810298395082606593652311211953657682474428545566559014121905445126769615774986814980041085396958024608822079015604215953669384152984340654321364207426870843054343688183353488058098078367139378099556850669080063294487367916313294031718236462487447178033487943372678930157684496323356388532447911695238954565658599800640949278059697526082312774910165531214443651980305620643919276058434991407432841045915355017046345150027951209730354939913390761337342451560618241331240456000072432737603340679439321720454353643400683726287915520651590735725434603278265134890591874476329126083487862268776807499790090722549203855960774499150385626218740661851560891619656730278290815570600917299896558242005328792027232250156622489942288946755458705669198809015791795124959846170388081650253137613221832274266181101688331786862219818905287237511981975031355466781639448986606478517981173159846904609734041401910054712083946038373561325401943376386019033007429151330501541229505116672626545287921419352825238062267646452651343251356142029074449796081194222207414353034334852987876297184974885041034526734789219799132966508406489233835541965573600958996107127479889158646228442343540163122331606298862323645550764991466727893610560472012011193671913787997637149609569852289697757291942029771759834521871601519800799677779853621756041622360654838973446084809308041814091973176252121692382376261580045005692214192187576705501732625800935064480597412146582622685850659350550243168359930087730688958235523778627131332791086978795773678722192609839971911276564586163965216469669495050648107528563020604684728766475696246200150822383284573172578238744640344770263627842604417449905348661397291527738280631797082505788172840795819452945529279715496033863975225505199064826198641615427210993900893459153407513623572565565149405392025336835058034117095735296990479335990666952533636112552325952970512897743897554988426282385772286326511391046240855940169588023410507026472650382639427375530845095701435379894336043392316145622552115650608006361167937843972819663181123055582723252236583200909079301787631818044533090342161160170041140976547852347791420515954534651110891909195318832460873744111995153648719830958322423503796841543982931292658087518165333948748841861666349057893923381260113687246277384314588603351122145701497769203930596877340579795220907552096190640256714158402630107308954783034093740010268746570276761709601063162018403 14230939239017437723934308576609563453171136882674363483952627712468585577217390734965145947199454060687542745008322578166226267454916689641018139781428591998397751357603757727054869901639350534938598063413720367339496681339681962481849146628735573892277201515468519536917766045928680011803427113534351867990426036113635564445807086952584133852340597530736546393612543992783720892298937987056591252149088120885892051981020275753694217845557035556508010807676244270129796078629450805106205492846565009323289033090361812476688162800472055956433603415784612862083812247235437827070233077482756986816736929501400444692072819512231772172210714999375598184304571128762024265393409416391990974486253054621969193976665673303068020462995041374070778530760470127921420116781035891510372107128516934818426493988531962882841285777934496864518683660562894274690825498584292038534506270477881267785895261733053825035294058182040497453362380376388409581135367417367692735249193349618871346140478464722270961531940129508079955474661113758995589748025943652984449020352860270530978052613365126931450311823188451967609320521812478431839056880029114495997803040142809730025499408967726148179767927378479328888536237365747506762373277455623460014861374853280566701997055033537597490594494416570541135242434594113587039783240762616113706848581623066414676964135683581766150864220907305228433029249964735184108178256761190558709218385012207260799185558539992174466800236215692938242600762496527152340964678174518266237496547422783213912121566494102187274454293083415678560411923676603794692512454956122582487640940410222116866749218374165398290798744342246382540795321604093177707178584883740605537710308103040065312153228764539753944642783045755756947478308201729566445450374721121001906362535919023960220084131703984023613757541580043168568333831694277811371019530124583600591466305001130781008883432078983552230014847945480494037989550544344241205915878603110850938673120388440676889934149467112465941654218018430701908323565976270822117948516710141608592241836513011882780269603471824049170169763696020709298518659411673142478985614076380724151369741660846381915796224181114942656673298489704110582341582387046025528150530460547241298531829242405520379439324582615987797435133873704959678581591571698986310779298230572292248195315474751239445122026957402545032486306470836481350283056089474235430785337029375589576410474152875472375085983324238126230834899227010241111802527468689744720887421372956015944154134642018975060209940204928452262671170920244275035978768924040753775870272643550659031140434429299310541832654025279661130003248520243537598600340281099838328318779737182237241746692688725012177123856295256944897244187519924740593288299065161323518107930955227954424642204800214025068834180845572958314461384784848450119764978710680329057694649337356943898064941096781502966927518667175718165124282910392823196829603647782255404087897234568288936499630891267962097718634670829096143024170105899700719998336611675739536381045027359921500148761198093697066949382912082145293874361390873333252420507111802288129488807228392000089366052931664910577755756822785184738913850801286462918455067497350755139255513962425872766157353427413536476256767586086009736037583740370665302195975973701058377198784863025085351536166956564075326054907681943825148902076599676965404391021979403720906760547110672516175823273501476459752315114415676567214520081984176816933080861231358280822276031377932279557369142487910113089456449311847410644918349445103459451720694576503836609030798303236080429446302788603443857705348437869201577819884376467121313457854593177165212568244930567310146374196371322858512166166724 23026143380564777982450752296533680456593582044163614390293695308018285691460947192154995287836646274225766629213243871220171119091675117446839448706454926875054643158649013665886730364994161165914777471208916924906926114281385481716892324308672480843182306188144778279330717301140463983670336438446387187536585539246057866342514833689761863219746675462970947819540809167126387550207565730255859716750008400455851501492234547159292189825724063338006777172784714658780707738839877810948460599907455531204348616586416926419078923084448370091478853394038744701039007160022465015662286318865901052992067457259308154639393536892261274049441638447204148194686024456289133100340293023288167019372265538388515908646107132006764724250759796272990429345787346787021088710591125967689206481099381190908064893488567907989812079926706385969770681717313711495972956009250938035383068694968620835344495176325121563973694173851765861552897965957535626960113823862488482946321413294785551146751053198169295912851414160963657137224030411038405627012905133521984966111024439313001383091424924982165286173490557188447458091017879548989931898805378788464638061710458773264835029648213680937667588964281767277915500712106057066250042829148817988883467680274511092266312413769863392361229055660380839530325041187765898251736898445090542252415140637188320122090905299356752965844261992702186457638072043750788324131926145343543049872706376414687670028612883680357820288294313771305381978862053377821421027972661886182550790579141019676399568744527590130647133223241100174883768312209051706387751409521781182288281889688281814392831531149075563822013187994226688161439240880151612698586017724786520892727354448190093263362959119479667335404120388207317565719639442185566517883112324461681345684256373377603620767857991899544265348277305477771846598966584869685847348656208071462860243112500920871731432635934944326729165233571699234699841111435963897936194169418681451855973016946682682218726176699362622564144160307377457367029235175079837909743641669987778980323486766149496002101877738005150858501550558240528203805896923655117510341080858020173137976220178827555075643128790848984058583353201788056620715143712447968904536549493554670449862330783635025496111951127903909216787959111767227325034242914950342452808372680368373442417522889104273779975014833699730007371347505363216139502855222440743837274570864917555150011433148982599854975141970466568574375062349341847410664851114240509712354149266566576416166145835690888848207577354538022114960868677536217065750528758562625377390073443228438884762190470921671196671627471364470438045062612216713850722032663476099908363785429396429429323398190457637978058920775854357043826810205775399943838542233521253605838619913463478203269336133005112047629954524295150924301356696125014705928943927149998552745297444885506918669625825547978663173718817998101449697455488631567837174373911410098008505347139916950333791158629548593894801140459001936938843623051428980435494370475650965041580109853558563115575972191994590526102790425705717859439510796265358589255565145919383864785797707727990756318586567777462903708727335682928636468839227568848690741394008741801380111454132013896176664379900063919115684143116931105437472963634706708694512121596253174027806791224193023195508986619745198381637630934180408349811155901464597222435555069745882066930588251649064028171064921992414286966225307585762533352542857920928928234509951189239144699535174773823540300435145997631254790398060689272311267407339026840711834381822781220923619401654358226130944071992534040735045928233090109129916075016723835471860484700486119995602338670577578892944473133032459575328185127 37257082619582215706385060873143243909764718926837977874246323020486871268678337927120141235036100334913309374221566449386397386546591807087857588487883518873452394516252771392941600266633511700853375534622637292246422795621067444198741470937408054735459507703613297816248483347069143995473763551980739055527011575359693430788321920642345997072087272993707494213153353159910108442506503717312450968899096521341743553473254822912986407671281098894514787980460958928910503817469328616054666092754020540527637649676778738895767085884920426047912456809823357563122819407257902842732519396348658039808804386760708599331466356404493046221652353446579746378990595585051157365733702439680157993858518593010485102622772805309832744713754837647061207876547816914942508827372161859199578588227898125726491387477099870872653365704640882834289365377876605770663781507835230073917574965446502103130390438058175389008988232033806359006260346333924036541249191279856175681570606644404422492891531662891566874383354290471737092698691524797401216760931077174969415131377299583532361144038290109096736485313745640415067411539692027421770955685407902960635864750601582994860529057181407085847356891660246606804036949471804573012416106604441448898329055127791658968309468803400989851823550076951380665567475781879485291520139207706655959263722260254734799055040982938519116708482900007414890667322008485972432310182906534101759091091388621948469214171423672532287088530529464243624579624549904973761992650836404448788287126563802890311690311021692317921587516324515853444180235885655501080263864477903764775922830098503931259580749523240962112811932336473070702234562484244790405764602608527126430437662551230158575516187884019421280046903433963074513197947643915132963333487045582683252046792292401563840851989695883567879105818885520940414932798279147497218368186332655063451709417502051652740316068013927878959180081517179728737830661980308139142110048021792302794646137335123359108660326166475088505798378325808159275352801151350660027692158380129387572565323279161378782371481209829200028671314254261237502324556335328259989326694934400897289345961839673936991439352971963926715256651691492167203056726099493994432687079954101911748394160026040545875551275710519897014223092985472187003615834486649328763587670910940665690612838363855513225097041791102275039857653976199697489785911311914979268059907894293144726421907301858072230061125294704694805209961576352088522467378582930254433241570639522592360320280477709863908417517559466474377632039597780492101729297682603379153260346086779097915902624900220981738504281496644131568048311132460251449322372944575938236682565166578666671070090879182650155182777071111301941070997725700140537126841298682577123946550868691432627911540933219137116464135369868109238762741480973464825693922637830327610439946782242450816734566922329481630101237485173819614821738399024391034003977559192353412593244374485239270290789520816555992519775129831033081867793157328681155492707087326704577961154880918484615724733390088287593052173337787863153313872187138691841676072257721671994274604936119990845684639499442373481464484158468113375382690028855311609196461506092556519366968094439768942821733327477455591940910703017115173510547375077373996708097569954232405005576087218108547045153576309273707692538616124233498713232501141562626826577049149602973691135362321580203994338423468874039281339723262329747872624842097745861315371182547519966975566552706103097669577633907744344246847372536682956185756784130300163555076399285057532650199957594306560390374781137484592751276670959310707735959393190956785318339293663285208170583601144889039318669504355318087494351851 60283226000146993688835813169676924366358300971001592264540018328505156960139285119275136522872746609139076003434810320606568505638266924534697037194338445748507037674901785058828330631627672866768153005831554217153348909902452925915633795246080535578641813891758076095579200648209607979144099990427126243063597114605751297130836754332107860291833948456678442032694162327036495992714069447568310685649104921797595054965489370072278597497005162232521565153245673587691211556309206427003126692661476071731986266263195665314846008969368796139391310203862102264161826567280367858394805715214559092800871844020016753970859893296754320271093991893783894573676620041340290466073995462968325013230784131399001011268879937316597468964514633920051637222335163701963597537963287826888785069327279316634556280965667778862465445631347268804060047095190317266636737517086168109300643660415122938474885614383296952982682405885572220559158312291459663501363015142344658627892019939189973639642584861060862787234768451435394229922721935835806843773836210696954381242401738896533744235463215091262022658804302828862525502557571576411702854490786691425273926461060356259695558705395088023514945855942013884719537661577861639262458935753259437781796735402302751234621882573264382213052605737332220195892516969645383543257037652797198211678862897443054921145946282295272082552744892709601348305394052236760756442109051877644808963797765036636139242784307352890107376824843235549006558486603282795183020623498290631339077705704822566711259055549282448568720739565616028327948548094707207468015273999684947064204719786785745652412280672316525934825120330699758863673803364396403104350620333313647323165016999420251838879147003499088615451023822170392078917587086100699481216599370044364597731048665779167461619847687783112144454096190998712261531764864017183065716842540726526311952530002972524471748703948872205688345315088878963437671773416272037078304217440473754650619154281806041327386502865837711069942538633185616642382036326430497937435800050117166552888810045310874784473358947834350887172864812501765706130453258983377499667775792421070427322182018501492067082481762812910773840004893280223823771869811941963337223629447656582198256490809675571371663226838423806231011052097239414328650077401599671216396043591309039133030361252959787005072056624802005047229001481562913629288766534355723105334478759210699876433340450840672085036267265171263379585023925693935933132229697170764145595719906089168776486426313400752756625094914004496492592908275316709167479826441166004530650419530007536800664815371142652935175908968008602006093373744676965300044405608052038145046350595975096100393489069640288133241697846965658984897807931475540480965383532203830729785170782154910831180877066224249164094089894163260163064098177098479531622866564980326163185244227127957735404192747877460293274956303171921064519193887655958871178351470602451421098591514402189604081948150365149887320915588832970020711416208757661590987077562977669619541264734477047731300705582082878119154963763493581012753382983404050430931637403641055859060402643847981602003226067219836385173211494151042011851529256424160299937855514834357899478422226453665119486113227541374707625053819948220610983511009784082691220219166207406432812367311411131742554140196054472089330169550304641848524388402606159849262132118895485040621723613970644232165403345461288326247565030848092281225167700018674789549881133736759111675101727479926637970012779905375599037245433225955267453164123157140875389458222066278456269601611952532691334446773671525327797204904049419837652034409914792257178823994149405203772922271722467932263142637387777662822536978 97540308619729209395220874042820168276123019897839570138786341348992028228817623046395277757908846944052385377656376769992965892184858731622554625682221964621959432191154556451769930898261184567621528540454191509399771705523520370114375266183488590314101321595371373911827683995278751974617863542407865298590608689965444727919158674974453857363921221450385936245847515486946604435220573164880761654548201443139338608438744192985265005168286261127036353133706632516601715373778535043057792785415496612259623915939974404210613094854289222187303767013685459827284645974538270701127325111563217132609676230780725353302326249701247366492746345340363640952667215626391447831807697902648483007089302724409486113891652742626430213678269471567112845098882980616906106365335449686088363657555177442361047668442767649735118811335988151638349412473066923037300519024921398183218218625861625041605276052441472341991670637919378579565418658625383700042612206422200834309462626583594396132534116523952429661618122741907131322621413460633208060534767287871923796373779038480066105379501505200358759144118048469277592914097263603833473810176194594385909791211661939254556087762576495109362302747602260491523574611049666212274875042357700886680125790530094410202931351376665372064876155814283600861459992751524868834777176860503854170942585157697789720200987265233791199261227792717016238972716060722733188752291958411746568054889153658584608456955731025422394465355372699792631138111153187768945013274334695080127364832268625457022949366570974766490308255890131881772128783980362708548279138477588711840127549885289676911993030195557488047637052667172829565908365848641193510115222941840773753602679550650410414395334887518509895497927256133466592115534730015832444550086415627047849777840958180731302471837383666680023559915076519652676464563143164680284085028873381589763661947505024177212064771962800084647525396606058692175502435396580176220414265462266057445265291616929400436046829032312799575740916958993775917734837477781157965127958430246554125454133324472253566844840157663550915844179066763003208455009594311637488994470726821967716668143858175429058521834734776837489096656584772391026828595911435957769910709401758493946650650835716117247214502548943703245234145082711601332265911888248999979983714502249704823643199616815300230169098415904280087086655457762611119074677846270702373394386653503844602855247752698744315097392559875958184794985502046024455599608280101018578837290545611761136806706791110616665042612473470970870224947873097201269209124123769383683910765616786634716567440271363634673680190464652733574141684877137216749366778552627976381728915762553762771463579948822938288424474918076960925968805657175681018092224830886407853731721650846343459092417999443386280558225264031369401826839658071944357316789202810653773625191009370408552138759670206941923376193788345740679340932286680349905182329029794804833691835888887428874372737671181705879840690718664003102579209366086342746479784650304374197502419615395532347025438972171165712207137101281444166067255170542742272607709661362727853335007579967972447687865566662209866637695652619155387234219285279471909134317020926914418845390320893434062307846555018830299565964522965335784494058384861456687928316736161638837817943398629240289599293772363745797022708166428875347237620903747722476088709168045088014312858976292224436159741768930162365528904754110422029097792542116420650865252316284279078650668280186029735639590413813119943284092805762638223638920907287441038944534621351335988919801569546839251724821554809009920548481575008730545387993803105749042497163287812690411943505872867356971581812141743095750316888829 157823534619876203084056687212497092642481320868841162403326359677497185188956908165670414280781593553191461381091187090599534397823125656157251662876560410370466469866056341510598261529888857434389681546285745726553120615425973296030009061429569125892743135487129450007406884643488359953761963532834991541654205804571196025049995429306561717655755169907064378278541677813983100427934642612449072340197306364936933663404233563057543602665291423359557918286952306104292926930087741470060919478076972683991610182203170069525459103823658018326695077217547562091446472541818638559522130826777776225410548074800742107273186142998001686763840337234147535526343835667731738297881693365616808020320086855808487125160532679943027682642784105487164482321218144318869703903298737512977148726882456758995603949408435428597584256967335420442409459568257240303937256542007566292518862286276747980080161666824769294974353043804950800124576970916843363543975221564545492937354646522784369772176701385013292448852891193342525552544135396469014904308603498568878177616180777376599849614964720291620781802922351298140118416654835180245176664666981285811183717672722295514251646467971583132877248603544274376243112272627527851537333978110960324461922525932397161437553233949929754277928761551615821057352509721170252378034214513301052382621448055140844641346933547529063281813972685426617587278110112959493945194401010289391377018686918695220747699740038378312501842180215935341637696597756470564128033897832985711466442537973448023734208422120257215059028995455747910100077332075069916016294412477273658904332269672075422564405310867874013982462172997872588429582169213037596614465843275154421076767696550070662253274481891017598510948951078303858671033121816116531925766685785671412447508889623959898764091685071449792168014011267518364937996328007181863349801871414108116075614477507996701683813475911672290335870711694937655613174208812852213298718482902739812095884445898735441763433331898150510645683455592179392560116873804211655902563758480363720678342943369783128351318199105497901803017043879264768914585462853295014988662246519243038143990325876676921125604316497589748262936661478052614850600465723377921107134338849415076144907141645391688618877729387367509476245197179951015660915989289848671196379758093558743956673560869775087235241155040706285134315656939325524748363444380626425478728865412714544479288588203539416400133659825047221564380009427739960388731837977271782724433010451700929913293133104511369421667707387475467362817856148413910436688950564935388214561185146794171517232255642506287608856099432661335580235058621814182049411184160680014526775266358528858871857069018463226421666172765042619910866613588651221499057608363090238583516892433001254290273295065667635444652315158194629564890937835170423888939655767790979936810435236498366287542952418084402216651150091517661743860126174336308776360680500397256254790427403289618478454685821546855767161606307496973123290625574844004337466862213282043817043684349872580078326144554254043831362100864775025178820638153946792703539347065003783712395410223815954049691091633882046251810907146770197399085748541703632209072172535761272318323812547347099181793959782560205007191018342913556395477569394645539379148535902369045270630310710040372032153433968418217886352877716733517195762009306353882325350841286940573054934582590262868668325145114391450691776469784958514310322960242135095440415133450021038190325770007665956373609603193718495542321338238988593491092085030444581914333992843417614445189403181499371943059268328480535248345686479058150383040028213020541299675987281962095615716428144589824903844954779130873413139425807 255363843239605412479277561255317260918604340766680732542112701026489213417774531212065692038690440497243846758747563860592500290007984387779806288558782374992425902057210897962368192428150042002011210086739937235952892320949493666144384327613057716206844457082500823919234568638767111928379827075242856840244814494536640752969154104281015575019676391357450314524389193300929704863155215777329833994745507808076272271842977756042808607833577684486594271420658938620894642303866276513118712263492469296251234098143144473736072198677947240513998844231233021918731118516356909260649455938340993358020224305581467460575512392699249053256586682574511176479011051294123186129689391268265291027409389580217973239052185422569457896321053577054277327420101124935775810268634187199065512384437634201356651617851203078332703068303323572080758872041324163341237775566928964475737080912138373021685437719266241636966023681724329379689995629542227063586587427986746327246817273106378765904710817908965722110471013935249656875165548857102222964843370786440801973989959815856665954994466225491979540947040399767417711330752098784078650474843175880197093508884384234768807734230548078242239551351146534867766686883677194063812209020468661211142048316462491571640484585326595126342804917365899421918812502472695121212811391373804906553564033212838634361547920812762854481075200478143633826250826173682227133946692968701137945073576072353805356156695769403734896307535588635134268834708909658333073047172167680791593807370242073480757157788691231981549337251345879791872206116055432624564573550954862370744459819557365099476398341063431502030099225665045417995490535061678790124581066216995194830370376100721072667669816778536108406446878334437325263148656546132364370316772201298460297286730582140630066563522455116472191573926344038017614460891150346543633886900287489705839276425013020878895878247874472374983396108300996347788676644209432389519132748365005869541149737515664842199480160930463310221424372551173168477851711281992813867691716910610274803797076694255381918163039263161452718861222946027772123040472447606652477656717246065005860658469734852350184126151232366585752033318062825005877429061634813878877045048251173570091557792481107805866092231936311212721479342262662616993181901178097671176363472595808448780316760486590387465410253456610565221402312397088135867438122226897127852123252066218389082143835956238160715231052384923179749174994929785984844331446257372801303270300997312691050099839895621986086710319860946438233042804021511111705898074688704771898471950763580806233799695913869922282536289897314069154376743498951398798777962713307990908504182121082621643320648967286164710090647683119580836835419245826902517149833193976646437248614083847597749365713065111021725210540422225998966717777493242368246256444970601633710435626245868774839681712088291344140027343879863402423201058461016658681543009530192061088482263292177047352827423492728561647002297026160976225869834940930347083946646863586418014546103965268112425351583526425209543569237966056469344887893324489534976147056726366511565730417803783926497378957200544256118448602799389352786319967826983104118206489556688186737169202868240533244101806337579035306756982865878892179971627779506996067076852638530684108448254108669612321752727740781963683375585883162392542999630210101604801439550454985661069247441566555093104484886883321613057305374539068936339420752784251516091280385766305317268976438287851986109249193607531615485605431044751231714731005937732022953278527464768950434109204751046211194784089883289545168894168054066880928428022016126290342173150569774786027659934017457181875426766920873969163456314636 413187377859481615563334248467814353561085661635521894945439060703986398606731439377736106319472034050435308139838750951192034687831110043937057951435342785362892371923267239472966453958038899436400891633025682962506012936375466962174393389042626842099587592569630273926641453282255471882141790608077848381899020299107836778019149533587577292675431561264514692802930871114912805291089858389778906334942814173013205935247211319100352210498869107846152189707611244725187569233954017983179631741569441980242844280346314543261531302501605258840693921448780584010177591058175547820171586765118769583430772380382209567848698535697250740020427019808658712005354886961854924427571084633882099047729476436026460364212718102512485578963837682541441809741319269254645514171932924712042661111320090960352255567259638506930287325270658992523168331609581403645175032108936530768255943198415121001765599386091010931940376725529280179814572600459070427130562649551291820184171919629163135676887519293979014559323905128592182427709684253571237869151974285009680151606140593233265804609430945783600322749962751065557829747406933964323827139510157166008277226557106530283059380698519661375116799954690809244009799156304721915349542998579621535603970842394888733078037819276524880620733678917515242976165012193865373590845605887105958936185481267979479002894854360291917762889173163570251413528936286641721079141093978990529322092262991049026103856435807782047398149715804570475906531306666128897201081070000666503060249908215521504491366210811489196608366246801627701972283448130502540580867963432136029648792089229440522040803651931305516012561398662918006425072704274716386739046909492149615907138072650791734920944298669553706917395829412741183934181778362248896296083457986969872744795620206100528830655207526566264359587937611556382552457219157528406983688771701597821914890902521017580579691723786144665319266819995934003401850853022284602817851231267745681637034183414400283962913492828613820867107828143352561037968585086204469770255475390973995482140020064038510269481238368659354521878266825292541037625935300901667466318963765308044004648795611529271309730467729956334014969979540877620728029527358191799984179387100588646236464934126499494484969961323678722197724539442613632654097890467946342372743230689367192736990321356365474700651408497316850355717969336413660615801566607523553330852117478932933561432424159777577115364712209970401313555004357525945233063284234644584027703311449013620963392973000133355508378027248421905595860660169925022142587025253640160113033135910374977751031951556376209891392389329975404734611802120765580848189146873988005435279448479611480515177717985749391131756820448162200747702032834478124016207441557066885020765506516848852039639008130778657169862855580420628531608715328412792135196100738392613647246061482367141127224664506375746356678493971381064167061184635352967457903690030589317343272690695466665831282109314275417414163903333657949349160460515774351421413509076868461831589788315140692503677728080679253374931338830831494523708531478436327679686403791370295278125828027599880547070048834426302370259509946159550185405716368686736327278662092449459055493015415587632425895766120139240313948001208792448575449197174152535446225388540899729379078564818709984353906161709200181569728463599895909738761639516455487126790391741926234124182024156817961772810031997713063749081844324027450649743713026386611531695519216326355459302208295517942482858796801250111027926769283739825205823090968176604867612520308186564879298607932545583137843358211770080417239854533125031311468050229146831641849137851736881643376362162047006779271721700004842576595740443 668551221099087028042611809723131614479690002402202627487551761730475612024505970589801798358162474547679154898586314811784534977839094431716864239994125160355318273980478137435334646386188941438412101719765620198458905257324960628318777716655684558306432049652131097845876021921022583810521617683320705222143834793644477530988303637868592867695107952621965007327320064415842510154245074167108740329688321981089478207090189075143160818332446792332746461128270183346082211537820294496298344005061911276494078378489459016997603501179552499354692765680013605928908709574532457080821042703459762941450996685963677028424210928396499793277013702383169888484365938255978110557260475902147390075138866016244433603264903525081943475284891259595719137161420394190421324440567111911108173495757725161708907185110841585262990393573982564603927203650905566986412807675865495243993024110553494023451037105357252568906400407253609559504568230001297490717150077538038147430989192735541901581598337202944736669794919063841839302875233110673460833995345071450482125596100409089931759603897171275579863697003150832975541078159032748402477614353333046205370735441490765051867114929067739617356351305837344111776486039981915979161752019048282746746019158857380304718522404603120006963538596283414664894977514666560494803656997260910865489749514480818113364442775173054772243964373641713885239779762460323948213087786947691667267165839063402831460013131577185782294457251393205610175366015575787230274128242168347294654057278457594985248523999502721178157703498147507493844489564185935165145441514386998400393251908786805621517201992994737018042660624327963424420563239336395176863627975709144810737508448751512807588614115448089815323842707747178509197330434908381260666400230188268333042082350788241158897218729981682736551161863955594400166918110307874950617575671989087527754167327534038459475569971660617040302662928296930351190527497231716992336983979632751551178183920930065126162393653759077131088532200694525729515820296368197283637947192301584270285937096758293892187644277631820807240739489771320313160666407748508319943975681011373049865307265346381621493856618962322919767003297603702626605458588993005678861224435351762216328022726607607300351062193259989934919203881705276249647279791646044013549106703285175641517307081842955862166061661953927415577120281733501796483239688834420681182975369545151322643576260116015737830595764594893581062729999287311930077394730492017385330973612446326312013492812895755341595088347109368343828903464191436133848485099942344932011505086673955783984831647470246132173928679227289473888988545619716979646967109587295996343783630600694102158498366953035555841847468131281781584537452080305026533357274751043531458014120600696449789004721195889678895073396002646627498326492821655160381452545708994247357681687728235915966906376594667090496705837851244466590262243096369626139446699560781378431754953987643713184109532807003979061166200359818925575030295456704698505360155940454879846135892280408804929029311607104462918500576796887963868596424802925862655833460517736806843856245831383807044449006034970558488708112745548902971725684195669840445485151649137645792662218283828165669997572457718275620704984074671340755420824953659531513302241179430413487526818927379596675658889449982145253104049483058302281761269726557091928229942196911895193429465723373054877294918881034676806387218863096386989164465810638127622975904982631672728278646583369928592107990408781726513532200328491056920554096905908627820891047772955515313407812683591794332627448095059625586134022587191912239896072245273121984022288421511667671036296179504188654698488620878811740052055079 1081738598958568643605946058190945968040775664037724522432990822434462010631237409967537904677634508598114463038425065762976569665670204475653922191429467945718210645903745376908301100344227840874812993352791303160964918193700427590493171105698311400406019642221761371772517475203278055692663408291398553604042855092752314309007453171456170160370539513886479700130250935530755315445334932556887646664631136154102684142337400394243513028831315900178898650835881428071269780771774312479477975746631353256736922658835773560259134803681157758195386687128794189939086300632708004900992629468578532524881769066345886596272909464093750533297440722191828600489720825217833034984831560536029489122868342452270893967477621627594429054248728942137160946902739663445066838612500036623150834607077816122061162752370480092193277718844641557127095535260486970631587839784802026012248967308968615025216636491448263500846777132782889739319140830460367917847712727089329967615161112364705037258485856496923751229118824192434021730584917364244698703147319356460162277202241002323197564213328117059180186446965901898533370825565966712726304753863490212213647961998597295334926495627587400992473151260528153355786285196286637894511295017627904282349990001252269037796560223879644887584272275200929907871142526860425868394502603148016824425934995748797592367337629533346690006853546805284136653308698746965669292228880926682196589258102054451857563869567384967829692606967197776086081897322241916127475209312169013797714307186673116489739890210314210374766069744949135195816773012316437705726309477819134430042043998016246143558005644926042534055222022990881430845635943611111563602674885201294426644646521402304542509558414117643522241238537159919693131512213270630156962483688175238205786877970994341687727873937508249000910749801567150782719375329465403357601264443690685349669058230055056040055261695446761705621929748292864354592378350254001595154835210900497232815218104344465410125307146587690951955640028837878290553788881454401753408202667692558265768077116822332402457125516000480161762617756596612854198292343049409987410294644776681093869956060957910892803587086692279253781973277144580247333488116351197478845403822452350862564487660734106794836032154583668657116928421147889882301377682113990355921849933974542834254297403199321336866713070451244265932838251069915457099041255441944234513827487024084256205008684275793314945960476804863982376285003644837875310458014726661969358676923895339932976885785895888697103466374357790249424764124361361155991072125195985092124538222584330761735863599026622342065321068557264878623600347740482560495156256461284001779063079080305582673676084938784946973604288579443982332239484914783150549564716308110416478779627117545301828643729326668336064936251583067256029935208150067952516648646447386861004927749210603057094131041101042836853384331822625530757323427731722593597350389591370695775027644683110379015391642121279396475330103693476874924190755972479049926773665017323341677725680595549497432707039687783716293431915627719458392304956281362190335519864309107102121982073858983687591519054869396860858967622691708453157131400564356576772763813741587104848155233699415798095893338577857515934652985283463789330870022127812066959527629720330142866605383746089581029565051159182326822832513082954212020522909243012579055020333938838129317611489880191016650104950878747740555469063187123837638908178837024739154671424198958028187580854878887871074966787210031837541458969612230882126377187874085232688503568081142080192706420616137377470470806306829706003373877120316943551364122474419953625871426273248549314412658341551195433970210320883654316647795522 1750289820057655671648557867914077582520465666439927149920542584164937622655743380557339703035796983145793617937011380574761104643509298907370786431423593106073528919884223514343635746730416782313225095072556923359423823451025388218811948822353995958712451691873892469618393497124300639503185025974719258826186689886396791839995756809324763028065647466508444707457570999946597825599580006723996386994319458135192162349427589469386673847163762692511645111964151611417351992309594606975776319751693264533231001037325232577256738304860710257550079452808807795867995010207240461981813672172038295466332765752309563624697120392490250326574454424574998488974086763473811145542092036438176879198007208468515327570742525152676372529533620201732880084064160057635488163053067148534259008102835541283770069937481321677456268112418624121731022738911392537618000647460667521256241991419522109048667673596805516069753177540036499298823709060461665408564862804627368115046150305100246938840084193699868487898913743256275861033460150474918159537142664427910644402798341411413129323817225288334760050143969052731508911903724999461128782368216823258419018697440088060386793610556655140609829502566365497467562771236268553873673047036676187029096009160109649342515082628482764894547810871484344572766120041526986363198159600408927689915684510229615705731780404706401462250817920446998021893088461207289617505316667874373863856423941117854689023882698962153611987064218590981696257263337817703357749337554337361092368364465130711474988414209816931552923773243096642689661262576502372870871750992206132830435295906803051765075207637920779552097882647318844855266199182947506740466302860910439237382154970153817350098172529565733337565081244907098202328842648179011417628883918363506538828960321782582846625092667489931737461911665522745182886293439773278308218840115679772877423225557589094499530831667107378745924592676589794705782905847485718587491819190533248783993402025274530536287700800346768083044172229532404020069609177822599037046149859994142536054014213580626294644769793632300969003357246367933167358958750797918307354270325788054143735263326304292514297443705654602173548976574748282873938946705344203157706628257804113078892510387341714095187094347843658592036132302853166131948657473760034369470956637259718475771604485042277199032774732405171681509958532803417253582280944276364915696802856569235578848584944391809052776556241399757563439015002932149805387852745218679354689650536341666244990378598791644038698554721467158593253667588552797289839557225138330024136043309258286545720695246496868474239249747784554352512588893360199540142123366048579998122846709680999684832174451891820502815451756710725763916776936995088177082921991059153947936793747718241751617648450522558014960009647585713883528261700971723112898101192156381108362609436938838973061037417695709927350090169673869997347585670828092219736797089152152074206782598670754092199501174928283375536496304053295800499221051429183748432133820957778221523861572875958302361736351294888179211932492424607422260901381084288052991353324826843908965838319690367494635968060904367419347675735437257356128857084760026417218248965390724750640817451983243963765890911035575791555357969358135130086290847081471598472829870899760556354132202673469177705223940609164472075936562566012514302284178969569670983250276135750024511040955603564071527399869759782417361856282050220224628072644647662866777647329181589700915859501462257799667074777618813564054991169940721939046931284779993860509394615854097595506114233299729171803098254401889331589507899707508855791260194719693075609893714694760216985448954521055384088668698941762466056699850601 2832028419016224315254503926105023550561241330477651672353533406599399633286980790524877607713431491743908080975436446337737674309179503383024708622853061051791739565787968891251936847074644623188038088425348226520388741644725815809305119928052307359118471334095653841390910972327578695195848434266117812430229544979149106149003209980780933188436186980394924407587821935477353141044914939280884033658950594289294846491764989863630186875995078592690543762800033039488621773081368919455254295498324617789967923696161006137515873108541868015745466139937601985807081310839948466882806301640616827991214534818655450220970029856584000859871895146766827089463807588691644180526923596974206368320875550920786221538220146780270801583782349143870041030966899721080555001665567185157409842709913357405831232689851801769649545831263265678858118274171879508249588487245469547268490958728490724073884310088253779570599954672819389038142849890922033326412575531716698082661311417464951976098570050196792239128032567448709882764045067839162858240289983784370806680000582413736326888030553405393940236590934954630042282729290966173855087122080313470632666659438685355721720106184242541602302653826893650823349056432555191768184342054304091311445999161361918380311642852362409782132083146685274480637262568387412231592662203556944514341619505978413298099118034239748152257671467252282158546397159954255286797545548801056060445682043172306546587752266347121441679671185788757782339160660059619485224546866506374890082671651803827964728304420131141927689842988045777885478035588818810576598060470025267260477339904819297908633213282846822086153104670309726286111835126558618304068977746111733664026801491556121892607730943683376859806319782067017895460354861449641574591367606538744744615838292776924534352966604998180738372661467089895965605668769238681665820104559370458227092283787644150539586093362554140451546522424882659060375284197739720182646654401433746016808620129618995946413007946934459034999812258370282310623398059277000790454352527686700801822091330402958697101895309632781130765975002964546021557251093847328294764564970564735237605219387262203407101030792346881427330949851892863121272434821695400636552032080256463941456998048075820890023126502427327249153060724001056014250035155874024725392806571234261310025901888241598535899487802856415947442796783873332710681322199718309150210630343593319835053593628667602367722516718204621545815300006576987680698310759945341324048327460237006177967264384687532735802021095824948842678431712914158445830629350334315116260581531842617307456558845523490816304570816341819231136189241100682100637279622509863999901909788761305267505850536830605449789056045290169746249016421909871327632486707367264364415573374835787053446292179849226351024945899168781139558196909121791065414749838603767969367537186149442030155168458796752764203474501496495528104909098559814813334147478743522769981810243353864471214892817049562772011826407746772675423411807401662798358907485975101563201587253471507799794443390982671895505364408052326880653206337365650243326873189135951011087820393549351182227487115773764280206643358128965809285988485324382993991012779132311855488972685682659761861784249613433307490010954641598919417160869209283665432357500620090699220737586419558758734788991768346798898769075648966726322807088212582250038270610074588153828652445483755088177504820638530157917325345237344062266980823484687605932318753380547729103440356341145670742041564828845401596450139552952821173308472654079093197898183935239675698820653915866549273569060708719037592881776827825799342624317194113029235765140968008766299861612862606579522638909262646120373347646123 4582318239073879986903061794019101133081706996917578822274075990764337255942724171082217310749228474889701698912447826912498778952688802290395495054276654157865268485672192405595572593805061405501263183497905149879812565095751204028117068750406303317830923025969546311009304469451879334699033460240837071256416234865545897988998966790105696216501834446903369115045392935423950966644494946004880420653270052424487008841192579333016860723158841285202188874764184650905973765390963526431030615250017882323198924733486238714772611413402578273295545592746409781675076321047188928864619973812655123457547300570965013845667150249074251186446349571341825578437894352165455326069015633412383247518882759389301549108962671932947174113315969345602921115031059778716043164718634333691668850812748898689601302627333123447105813943681889800589141013083272045867589134706137068524732950148012833122551983685059295640353132212855888336966558951383698734977438336344066197707461722565198914938654243896660727026946310704985743797505218314081017777432648212281451082798923825149456211847778693728700286734904007361551194633015965634983869490297136729051685356878773416108513716740897682212132156393259148290911827668823745641857389090980278340542008321471567722826725480845174676679894018169619053403382609914398594790821803965872204257304016208029003830898438946149614508489387699280180439485621161544904302862216675429924302105984290161235611634965309275053666735404379739478596423997877322842973884420843735982451036116934539439716718629948073480613616231142420575139298165321183447469811462231400090912635811622349673708420920767601638250987317628571141378034309506125044535280607022172901408956461709939242705903473249110197371401026974116097789197509628652992220251524902251283444798614559507380978059272488112475834573132612641148491962209011959974038944675050231104515509345233245039116925029661519197471115101472453766158190045225438770138473591966994800802022154893526482700708747281227118043984487902686330693007237099599827500502387680843337876105543983584991746665103265082099769332249332479188916209844645246602118835296352789381340482713566495921398474498001483600879926426641145995211381527039603794258660338060577020349508435417534985210220850270985841189193026854222146198692629634059094863763208493979785797506373283875734932262535261587628952755316676749964263603143994674065907433200162555413902178573059411420499072959604379109254315009509137486086163505164020678737977996578672422957642983479176774500575817292107435932099301466955735670186575472645140396624841100903853177254092020359290543820564126373583648778134460881640779402988558443998024756498442304952338024988722425952604507802000895510165793358904959504715408698426418312352367122554028805063940630371784365984955546754495023086458610093514178312851030760149077730146623088281003216205876492462691553564671170365525452494769387907033070944567895674844188592842024618563414393991977846147548322711800068475922632858830846546791041306932879784725448826347466102156179742277560074717296900476934302914107718449938296318226513962794920053658713239718676863455176678131699554319093566223165414845570084409411209261744523036606129790137665903725627675160649009099045368923999734049503451716290755263905187371519851255574869789093027936440012932377511270974705638214979240625091267182151921021520886210338178339693401087319159704904690398312575279181627287564286895053468132350472709966082562137430019299857803403470409116342447658965651441309493674760220239757434072953707292799789337271204934887215595721076667315110608369182389676535334655133884511913806104845658855662768983285310567383661963611307608204408586430047496724 7414346658090104302157565720124124683642948327395230494627609397363736889229704961607094918462659966633609779887884273250236453261868305673420203677129715209657008051460161296847509440879706028689301271923253376400201306740477019837422188678458610676949394360065200152400215441779458029894881894506954883686645779844695004138002176770886629404938021427298293522633214870901304107689409885285764454312220646713781855332957569196647047599153919877892732637564217690394595538472332445886284910748342500113166848429647244852288484521944446289041011732684011767482157631887137395747426275453271951448761835389620464066637180105658252046318244718108652667901701940857099506595939230386589615839758310310087770647182818713217975697098318489472962145997959499796598166384201518849078693522662256095432535317184925216755359774945155479447259287255151554117177621951606615793223908876503557196436293773313075210953086885675277375109408842305732061390013868060764280368773140030150891037224294093452966154978878153695626561550286153243876017722631996652257762799506238885783099878332099122640523325838961991593477362306931808838956612377450199684352016317458771830233822925140223814434810220152799114260884101378937410041731145284369651988007482833486103138368333207584458811977164854893534040645178301810826383484007522816718598923522186442301930016473185897766766160854951562338985882781115800191100407765476485984747788027462467782199387231656396495346406590168497260935584657936942328198431287350110872533707768738367404445023050079215408303459219188198460617333754139994024067871932256667351389975716441647582341634203614423724404091987938297427489869436064743348604258353133906565435757953266061135313634416932487057177720809041133993249552371078294566811619131440996028060636907336431915331025877486293214207234599702537114097630978250641639859049234420689331607793132877395578703018392215659649017637526355112826533474242965158952785127993400740817610642284512522429113716694215686153043796746272968641316405296376600617954854915367544139698196874386543688848560412897863230535307252297025210473460938492574896883400266917524618945702100828699328499505290348365028210876278534009116483816348735004430810692418317040961806506483493355875233347352698313090342253750855278160448727785508083820256569779728241095823408261525474270831750338118003576395552100550082674944925343712983216118063543755875248955772201727013788221589677809000655069615016086125166784474265109362002786305456815678600924907368166709510302596913117056278610531014381114181500815925806960256657206372943521160633812937543850106848391380468192814784967375561563741416682611068307997926666287203610219843875525553031402393563847291065256414809780814830832347895405793682676767940497389815858510232810221010717009901445923276162644655519215305243727600869363917047097683809237723033371374335289215455757039172666861053557403867947721846405092046639197614170403085378483034629286809027408919560149119546841151346044666232509345149948792907981347927036079818973901950623133260231970222661308529261183567314055815588539645099703098745931141479106789069859090942292451895979760962451695188974700834055408792405200274523655348461618762823348563487489459410262442406535379878641332968920612585500038929337544872139941954795607375512586695174801924145858069873474713863945966947898355394734171059791496284926332168345846571074247882409511036842733196506972524908349162034291617038078642284835942685159122740214144549141151157907276504367247891449046627581393548230088152046905190983724576946903755541131462270350236375819327406775271453363160454476508829107919134081423996630777749585172180246268543133946517467054706803395142847 11996664897163984289060627514143225816724655324312809316901685388128074145172429132689312229211888441523311478800332100162735232214557107963815698731406369367522276537132353702443082034684767434190564455421158526280013871836228223865539257428864913994780317386034746463409519911231337364593915354747791954943062014710240902127001143560992325621439855874201662637678607806325255074333904831290644874965490699138268864174150148529663908322312761163094921512328402341300569303863295972317315525998360382436365773163133483567061095935347024562336557325430421549157233952934326324612046249265927074906309135960585477912304330354732503232764594289450478246339596293022554832664954863798972863358641069699389319756145490646165149810414287835075883261029019278512641331102835852540747544335411154785033837944518048663861173718627045280036400300338423599984766756657743684317956859024516390318988277458372370851306219098531165712075967793689430796367452204404830478076234862595349805975878537990113693181925188858681370359055504467324893795155280208933708845598430064035239311726110792851340810060742969353144671995322897443822826102674586928736037373196232187938747539666037906026566966613411947405172711770202683051899120236264647992530015804305053825965093814052759135491871183024512587444027788216209421174305811488688922856227538394471305760914912132047381274650242650842519425368402277345095403269982151915909049894011752629017811022196965671549013141994548236739532008655814265171172315708193846854984743885672906844161741680027288888917075450330619035756631919461177471537683394488067442302611528063997256050055124382025362655079305566868568867903745570868393139538960156079466844714414976000378019537890181597254549121836015250091038749880706947559031870656343247311505435521895939296309085149974405690041807732315178262589593187262601613897993909470920436123302478110640617819943421877178846488752627827566592691664288190597722923601585367735618412664439406048911814425441496913271087781234175654972009412533476200445455357303048387477574302418370128680595225516162945330304639501629504399389670783137821499002235563270314000286184814395195249897979788349848629090802705175155111695197875774608225069352756377617982156014918910890860443568202969298931531446777709500306647420415142142915120332988222220881620914634809350005764012873379591205348307417226832639208528487707657282025496743918430662857950774786425208720662637413379764323930025595262652870637770273382681524283453394351023882550351645886284803172730409163714542630315848069917171002501279605397053831214044425013811067029564209397392211944594566398433745510022445382196085599626751995951422785645915172181900514275457354998071649291960766580603139719790337063304104220100989120307619943844663574173440592795082994856992677771185731114129308819422040451900124066124827830432326004036587580211781678147310603843837226579009898637335628879476036614534872458358995927403101598043680801005255067108471831346909627268677525063355891940990099840861132652484906166440004106802875537792044939958209006195486481421774265526835963326217061540851195137820028788535954397469130027679315281545261412140115679625493201816409536268178385067748552961014467213117134570911451505580748802641067018424064301790794193242732243659793210370477164605614631614814856523369340848180352078925207572989622576886092081312382495264510508039247658393407587314201435155308475688599812472636057087759749388551352250918504822589142040071947952611560274249724163332899332758540302341613787987522225000612483783513914218108690428347057991426903690929935775957661129898495109610393341021725238927082852293546732870482747629930506745254125671463293233442639571 19411011555254088591218193234267350500367603651708039811529294785491811034402134094296407147674548408156921258688216373412971685476425413637235902408536084577179284588592514999290591475564473462879865727344411902680215178576705243702961446107323524671729711746099946615809735353010795394488797249254746838629707794554935906265003320331878955026377877301499956160311822677226559182023314716576409329277711345852050719507107717726310955921466681040987654149892620031695164842335628418203600436746702882549532621592780728419349580457291470851377569058114433316639391584821463720359472524719199026355070971350205941978941510460390755279082839007559130914241298233879654339260894094185562479198399380009477090403328309359383125507512606324548845407026978778309239497487037371389826237858073410880466373261702973880616533493572200759483659587593575154101944378609350300111180767901019947515424571231685446062259305984206443087185376635995162857757466072465594758445008002625500697013102832083566659336904067012376996920605790620568769812877912205585966608397936302921022411604442891973981333386581931344738149357629829252661782715052037128420389389513690959768981362591178129841001776833564746519433595871581620461940851381549017644518023287138539929103462147260343594303848347879406121484672966518020247557789819011505641455151060580913607690931385317945148040811097602404858411251183393145286503677747628401893797682039215096800010409428622068044359548584716734000467593313751207499370746995543957727518451654411274248606764730106504297220534669518817496373965673601171495605555326744734793692587244505644838391689327996449087059171293505165996357773181635611741743797313289986032280472368242061513333172307114084311726842645056384084288302251785242125843489787784243339566072429232371211640111027460698904249042332017715376687224165513243253757043143891609767731095610988036196522961814092838495506390154182679419225138531155756675708729578768476436023306723918571340928142135712599424131577980448623613325817829852801063410212218415931617272499292756672369443785929060808560839946753926529609863131721630396395885635830187838619231886915223894578397485078698213657301678983709164228179014224509612655880045174694658943962521402404246735676915555667612021873700528564778467096148200650226735376902767950461977444322896334824276595763211497594781743859517776915314153453831420640498143560287674305911813722976513438996942252315222380419393545041681387819655112035382744684310588910210029624807457719812595795105769643526219993153161330229184098671818427086565653711037586987946174444879967108059504240603325062759213218712885584009123612768210695059993878089072849525392025776039828488757391635496583026022995412920534621169411199510013783665888248117333660522084406250813805800004758438601047348375769648524124665768052769487983171925514241563727069958954547070893603067643016504087632567302505283350725881128661174070072529399012781584632672967610032663986668620950893750778614722191295865237090938892748842480579520985985413906057426008798024015162619517535456670048735830081115375608425920160286782336616926817858395045339761581923659076243996956601114816513680901994221609810791833733529367315784363030700606593981173893912116128681282399987344676887290833122580277115799735165166084540118201326789616780669227410721655065942871174520887977971620263141103878780190842676385094229467655469723712471998041672195572337380985219122051366426629994535754447507748264780286092501752711432157000667700147224207586929923007336217610377047517674767238491165012445969478520261777140066749263182732932583261655564086902170129644373008506848924324482455654927876199049879200643138518000036837782418 31407676452418072880278820748410576317092258976020849128430980173619885179574563226985719376886436849680232737488548473575706917690982521601051601139942453944701561125724868701733673510249240897070430182765570428960229050412933467568500703536188438666510029132134693079219255264242132759082712604002538793572769809265176808392004463892871280647817733175701618797990430483551814256357219547867054204243202044990319583681257866255974864243779442204082575662221022372995734146198924390520915962745063264985898394755914211986410676392638495413714126383544854865796625537755790044971518773985126101261380107310791419891245840815123258511847433297009609160580894526902209171925848957984535342557040449708866410159473800005548275317926894159624728668055998056821880828589873223930573782193484565665500211206221022544477707212199246039520059887931998754086711135267093984429137626925536337834412848690057816913565525082737608799261344429684593654124918276870425236521242865220850502988981370073680352518829255871058367279661295087893663608033192414519675453996366366956261723330553684825322143447324900697882821352952726696484608817726624057156426762709923147707728902257216035867568743446976693924606307641784303513839971617813665637048039091443593755068555961313102729795719530903918708928700754734229668732095630500194564311378598975384913451846297449992529315461340253247377836619585670490381906947729780317802847576050967725817821431625587739593372690579264970739999601969565472670543062703737804582503195540084181092768506410133793186137610119849436532130597593062348967143238721232802235995198772569642094441744452378474449714250599072034565225676927206480134883336273446065499125186783218061891352710197295681566275964481071634175327052132492189684875360444127490651071507951128310507949196177435104594290850064332893639276817352775844867655037053362530203854398089098676814342905235970017341995142782010246011916802819346354398632331164136212054435971163324620252742567577209512695219359214624278585335230363329001508865569521464319094846801711126801050039011445223753891144586255556034009252802504768217894887871393458152619518071729619089828295464867048062286392481688884319339874212100284220880949397931072276926118536321315137596120483758636910953405147306274278773743568615792369650497235756172682859065237531144174282359776084877185987092166935003747953361982319128297780169057031592736574671673751299864205662914952635760183717475067276650472525749805656127365834872363604380648690008071458482079908942373935383707695791646077254015842820928366171050764868801032371188255946996672268901632815269657325611652458395606454505808853810321811989829511858495440564207676554103946112389707145874986789576016060254411506474503614233884655008555737277505185658579691406600882999615431278818534106883777832944087808504669612049296753344673889731106546534758852571750378246860341314211577201142618979605357165275708942530888394940184686230716648411037919053777092782240660405883399716359221129031928992589703613232005892151853910164228884335816060102577726541652156530157604346642211571752137221827633531754746846646930999737230711951338391525542218013254932193306395196038019347060012118597115868745377497913723728552085345417696877483923467005768741189081627315823009359459528375536561704723815958404431637192596751569835418021796382093877600548506355222416261275455353184424341887861063057037913907153350147884172149853621276209811115815181346786672952330337406820358040454364271706406724831033046556966127232264621124205132602048130158550752405383121136397825578253204043757679198958690593713160150673697295511151369611935589701217871215326137675506129556624454768809981293270280421989 50818688007672161471497013982677926817459862627728888939960274959111696213976697321282126524560985257837153996176764846988678603167407935238287503548478538521880845714317383701024264985813714359950295910109982331640444228989638711271462149643511963338239740878234639695028990617252928153571509853257285632202477603820112714657007784224750235674195610477201574958302253160778373438380534264443463533520913390842370303188365583982285820165246123245070229812113642404690898988534552808724516399491766147535431016348694940405760256849929966265091695441659288182436017122577253765330991298704325127616451078660997361870187351275514013790930272304568740074822192760781863511186743052170097821755439829718343500562802109364931400825439500484173574075082976835131120326076910595320400020051557976545966584467923996425094240705771446799003719475525573908188655513876444284540318394826556285349837419921743262975824831066944051886446721065679756511882384349336019994966250867846351200002084202157247011855733322883435364200267085708462433420911104620105642062394302669877284134934996576799303476833906832042620970710582555949146391532778661185576816152223614107476710264848394165708570520280541440444039903513365923975780822999362683281566062378582133684172018108573446324099567878783324830413373721252249916289885449511700205766529659556298521142777682767937677356272437855652236247870769063635668410625477408719696645258090182822617831841054209807637732239163981704740467195283316680169913809699281762310021647194495455341375271140240297483358144789368254028504563266663520462748794047977537029687786017075286932833433780374923536773421892577200561583450108842091876627133586736051531405659151460123404685882504409765878002807126128018259615354384277431810718850231911733990637580380360681719589307204895803498539892396350609015964041518289088121412080197254139971585493700086713010865867050062855837501532936192925431141941350502111074341060742904688490459277887243191593670709712922112119350937195072902198661048193181802572275781739880250712119301003883473419482797374284562451984533009482563619115934226398614290773507223645991238749958644842984406692949945746275943694160672593483568053226324793833536829443105766935870081057723719384331797399314304522975278847834839057240839716816442596385874138524123144836509560427478998558955539296374780768836026452780663267515436150548938278312617319267042486485396727813303202605167267858140603111020108958038292180861841038872050145461273814410273497465791271077875014712017461603700848952976306438114514639355452736704475906388020317362700826963780328405873418594720084824871171281190463629421622021016871983707600931344965956233452593932434869781342642458012812571428980789032675885703124247668320896803854611165707742985942220406683004373869879865882482653426357068753576557439100032468678858915453458176505489305923465353445889876845401844144503647902330331238293936883012603417793952966270863389616021070583040445713733134411184498121907655086366122867885338546093811526878137267816221654893133840075265197244077108826578893434427757587180178057382114415868371673664505326045076992293874997467769539174614369748706987297190259629157851845852126483184529740528614330322533259239329813006165205866993113418076372460438403286475259263540702646244842017285194048417861824162291490483964667556614765578520126618363520140055646195860809436117328718526761626379151391820079744487234606495331862482241811341322427399838085671600644132956116983138563725498733193781173714162187628460422742979095647833317990896548133582367304098514981183824428462141423526296421806237784197681281013984944096550142195697781792603382328606503655411948499293307118204407 82226364460090234351775834731088503134552121603749738068391255132731581393551260548267845901447422107517386733665313320564385520858390456839339104688420992466582406840042252402757938496062955257020726092875552760600673279402572178839962853179700402004749770010369332774248245881495060912654222457259824425775247413085289523049012248117621516322013343652903193756292683644330187694737753812310517737764115435832689886869623450238260684409025565449152805474334664777686633134733477199245432362236829412521329411104609152392170933242568461678805821825204143048232642660333043810302510072689451228877831185971788781761433192090637272302777705601578349235403087287684072683112592010154633164312480279427209910722275909370479676143366394643798302743138974891953001154666783819250973802245042542211466795674145018969571947917970692838523779363457572662275366649143538268969456021752092623184250268611801079889390356149681660685708065495364350166007302626206445231487493733067201702991065572230927364374562578754493731479928380796356097028944297034625317516390669036833545858265550261624625620281231732740503792063535282645631000350505285242733242914933537255184439167105610201576139263727518134368646211155150227489620794617176348918614101470025727439240574069886549053895287409687243539342074475986479585021981080011894770077908258531683434594623980217930206671733778108899614084490354734126050317573207189037499492834141150548435653272679797547231104929743246675480466797252882152840456872403019566892524842734579636434143777550374090669495754909217690560635160859725869429892032769210339265682984789644929027275178232753397986487672491649235126809127036048572011510469860182117030530845934678185296038592701705447444278771607199652434942406516769621495594210676039224641709088331488992227538503382330908092830742460683502655240858871064932989067117250616670175439891789185389825208772286032873179496675718203171443058744169848465472973391907040900544895249050567811846413277290131624814570296409697180783996278556510804081141351261344569806966102715010274469521808819508316343129119265038597628368736731166832185661378617104143858268030374462074234988414812794338230086642361477802907927438425078054417778841036839212796199594045034521927917883072941433928683995141113336014583285432234966036371374280295827695574797958623172841315315381251966755928193387784411220877418469677236058481674350859779061157070479113167408268082220493900786828495176234688764706611646694999415980333637418790922187473862729559954923654391396987408544744622383692130357460283818907755240775189052688550956773960452597307506233864377410436523629676796918135230475831338683973537112789840406520441129148036380982171049788332999602147445041043444182360206738481552975905359591888670893401565633627007566003989301158684416589537204190012841385062108712081765432203589343189283052024064776037103824136737186716055721704790521309936595459212591955134306188893150957094106264432108502094222806515375071590381521624014307495154796877928249707043532770289121726385883777469656135367774970618760983109051038774399798751930194603942049400126420511152257044814223005826335859295081392627624680900293692386297648504911857970723599053275118026528054051085344584747509883649129333998882159265454087754226295834718791916239207949565833243598480055054420913861325901986463938708643179068632973585936401331101549045233778005189781583799540286304741967963916637088227771541673598056992688109100352168423078421002173410481254844970450329766240338139841394452249584627875581143777991868743301931254718765129676768185227582107661100114120009581956911481493192432383596879686251360066913107930278888458163128110180758480586577398626396 133045052467762395823272848713766429952011984231478627008351530091843277607527957869549972426008407365354540729842078167553064124025798392077626608236899530988463252554359636103782203481876669616971022002985535092241117508392210890111425002823212365342989510888603972469277236498747989066225732310517110057977725016905402237706020032342371751996208954130104768714594936805108561133118288076753981271285028826675060190057989034220546504574271688694223035286448307182377532123268030007969948761728595560056760427453304092797931190092498427943897517266863431230668659782910297575633501371393776356494282264632786143631620543366151286093707977906147089310225280048465936194299335062324730986067920109145553411285078018735411076968805895127971876818221951727084121480743694414571373822296600518757433380142069015394666188623742139637527498838983146570464022163019982553509774416578648908534087688533544342865215187216625712572154786561044106677889686975542465226453744600913552902993149774388174376230295901637929095680195466504818530449855401654730959578784971706710829993200546838423929097115138564783124762774117838594777391883283946428310059067157151362661149431954004367284709784008059574812686114668516151465401617616539032200180163848607861123412592178459995377994855288470568369755448197238729501311866529523594975844437918087981955737401662985867884028006215964551850332361123797761718728198684597757196138092231333371053485113734007354868837168907228380220933992536198833010370682102301329202546489929075091775519048690614388152853899698585944589139724126389389892640826817187876295370770806720215960108612013128321523261094384226435688392577144890663888137603446918168561936505086138308700724475206115213322281578733327670694557760901047053306313060907950958632346668711849673947127810587226711591370634857034111671204900389354021110479197447870810147025385489272102836074639336095729016998208654396096874200685520350576547314452649945589035354526937811003440083987003053736933921233604770082982657326749692606653417133001224820519085403718893747889004606193792878795113652274521161247484670957565446476434885840750135097017989019305058641681364758540614173780803034071286475980664749871887954608284142606148666280651768753906259715282387245956903962842975952393255423002248677562422245512804418972532084358386102171400270854677626747524764219840565074488392854620226174336794291670126821547642467206926470610873249488352041389939515285192727056887473487733871466125794911233201195684939654000637829938366408858591109393697598690130244872099639271644459716681577073005913657600924232925713379652459097495261394800957987381764652097852355555957244713721185372476674581741968815851952392430791012414718874021832476858245909862729221296802163446499836601144551575847414249008363171038550299072190630547081594961619547812114234111062504796647459557513370699502457270026614032117899866208438423640267833753149474967737723982846117227957495880453179085134668520248509482774879643531669393861277664763266795800855059648426389542607538670603496210632972214695869809687944473202157385932108251986056465268498094175657583089891215299701333327064620567241994429607280989576557277662763703822850082237804858555142384373618603824077322889814335200991995577341826548192629582309978055456941854194407850528792528472916245076152816385951131495323408757588759591949456541386747744906043214122518500110561166665456133788043661124322834266873536080298804029431527752006508750021646306366598237983534175828499434119313555556639878045050618560239425825186734198479388301132433775283166411406536123241537646306003763149265690873713397581823782801502262610889722882270786769631765592706979879884516830803 215271416927852630175048683444854933086564105835228365076742785224574859001079218417817818327455829472871927463507391488117449644884188848916965712925320523455045659394401888506540141977939624873991748095861087852841790787794783068951387856002912767347739280898973305243525482380243049978879954767776934483752972429990691760755032280459993268318222297783007962470887620449438748827856041889064499009049144262507750076927612484458807188983297254143375840760782971960064165258001507207215381123965424972578089838557913245190102123335066889622703339092067574278901302443243341385936011444083227585372113450604574925393053735456788558396485683507725438545628367336150008877411927072479364150380400388572763322007353928105890753112172289771770179561360926619037122635410478233822347624541643060968900175816214034364238136541712832476051278202440719232739388812163520822479230438330741531718337957145345422754605543366307373257862852056408456843896989601748910457941238333980754605984215346619101740604858480392422827160123847301174627478799698689356277095175640743544375851466097100048554717396370297523628554837653121240408392233789231671043301982090688617845588599059614568860849047735577709181332325823666378955022412233715381118794265318633588562653166248346544431890142698157811909097522673225209086333847609535489745922346176619665390332025643203798090699739994073451464416851478531887769045771891786794695630926372483919489138386413804902099942098650475055701400789789080985850827554505320896095071332663654728209662826240988478822349654607803635149774884986115259322532859586398215561053755596365144987383790245881719509748766875875670815201704180939235899648073307100285592467351020816493996763067907820660766560350340527323129500167417816674801907271583990183274055757043338666174666313969557619684201377317717614326445759260418954099546314698487480322465277278457492661283411622128602196494884372599268317259429690199042020287844556986489580249775988378815286497264293185361748491530014467263766653605306203410734558484262569390326051506433904022358526415013301195138242771539559758875853407688732278662096264457854278955286019393767132876669779571334952403867445395549089383908103174949942372387125179445361462480245813788428187633165460187390832646838117065729270006287680912528458616887084714800227659156344725344241586170058878714280692413228349485709270273089903410395275966020986600608799537686039638019141331708845942176768010461427415821594085134428870882106128548651992117872413516730197784862020800255578517938442221073822375229559923090552214957456766125694464614374884685523020885886323474905697918430634784299899882573683694239930781826511025778997115710890005196834123442219124012016866319062875921040606116601210774272707523038388507494546117209474421815012352472197234715661727834737094436346681656524195999543266094139836742609537435475539561094163351218833955587913228944950204429212362066922872030171739268185051602144885287587228891326763884554365261165155683701356432461641195045507898592418715511268993422448073152346000747185314630792796995511976557184684038446589998514668624514686809840134705438305527669186359701959869619110507574681962854926167675561793573681291079976581670438424703948408824832773463464534990877736607280635946855878144696847373181062143973683772391008527970665990014142287937595434032051936657392565535392942717849293951276992127708281694360706951760875756007577761411062038415209678355796717540628104174931828442648479777079492828504626158265674457453396951092127629678494141383203817055477500410643019897563452051351638988643784341651766315585720060747184066145781178703469052862329523997653161159244932759875773465460466461915457199 348316469395615025998321532158621363038576090066706992085094315316418136608607176287367790753464236838226468193349469655670513768909987240994592321162220054443508911948761524610322345459816294490962770098846622945082908296186993959062812858826125132690728791787577277712802718878991039045105687078294044541730697446896093998461052312802365020314431251913112731185482557254547309960974329965818480280334173089182810266985601518679353693557568942837598876047231279142441697381269537215185329885694020532634850266011217337988033313427565317566600856358931005509569962226153638961569512815477003941866395715237361069024674278822939844490193661413872527855853647384615945071711262134804095136448320497718316733292431946841301830080978184899742056379582878346121244116154172648393721446838243579726333555958283049758904325165454972113578777041423865803203410975183503375989004854909390440252425645678889765619820730582933085830017638617452563521786676577291375684394982934894307508977365121007276116835154382030351922840319313805993157928655100344087236673960612450255205844666643938472483814511508862306753317611770959835185784117073178099353361049247839980506738031013618936145558831743637283994018440492182530420424029850254413318974429167241449686065758426806539809884997986628380278852970870463938587645714139059084721766784094707647346069427306189665974727746210038003314749212602329649487773970576384551891769018603817290542623500147812256968779267557703435922334782325279818861198236607622225297617822592729819985181874931602866975203554306389579738914609112504649215173686403586091856424526403085360947492402259010041033009861260102106503594281325829899787785676754018454154403856106954802697487543113935874088841929073854993824057928318863728108220332491941141906402425755188340121794124556784331275572012174751725997650659649772975210025512146358290469490662767729595497358050958224331213493093026995365191460115210549618567602297206932078615604302926189818726581251296239098682412763619237346749310932055896017387975617263794210845136910152797770247531021207094073933356423814080920123338078646297725138531150298604414052304008413072191518351144329875566577648248429620375859888767924821830326995409322051510128760897582542334447348447847433347736609681093018122525429289929590090880862399889133772759743514730827515641857024736505461805456633068914560197663127710129584732070257691113422156442004892966108630014581197197983566707525746620142878481558622162742348231923459885193313557353170730835614800387209114169627332139819763952620101659562362196674674138343198700378271975808918448734265538782572400959313231592771681664534671536049795888026540232211151473790292631974012686075834649915024431585193084708397898852026463939995569509686484888344095690668785321836064020715643235785014733918465284176031308301204336310233654328598936484202167050806175042018364189965250951855454121667368590472262965511541890609754154585385413009098025338466672363559847012394037140140808687353095217710126404461841308753652067141900811600961118676648556633719400010500602484939985178714570616146698576054979937122608862467423224596653605229002513424322527111613540114855671539412203830439265616423763528884835136812822798322552232902155663277799735982873313949107184139485460454674902830122916338381534301183537000886911066166958673888726929355460694246152157484849484104597038857320206250226781804921873617217009544051238885733896305288745758654600746972155856181440578464294786143677730812038801986765108576766952507732005674729112701622629642242211698890031321029997227334518050395179907583189412621589483210012874939859178760527251854364592134887376043430031702391641366172440346346432288002 563587886323467656173370215603476296125140195901935357161837100540992995609686394705185609080920066311098395656856861143787963413794176089911558034087540577898554571343163413116862487437755919364954518194707710797924699083981777028014200714829037900038468072686550582956328201259234089023985641846070979025483669876886785759216084593262358288632653549696120693656370177703986058788830371854882979289383317351690560343913214003138160882540866196980974716808014251102505862639271044422400711009659445505212940104569130583178135436762632207189304195450998579788471264669396980347505524259560231527238509165841935994417728014279728402886679344921597966401482014720765953949123189207283459286828720886291080055299785874947192583193150474671512235940943804965158366751564650882216069071379886640695233731774497084123142461707167804589630055243864585035942799787347024198468235293240131971970763602824235188374426273949240459087880490673861020365683666179040286142336221268875062114961580467626377857440012862422774750000443161107167785407454799033443513769136253193799581696132741038521038531907879159830381872449424081075594176350862409770396663031338528598352326630073233505006407879479214993175350766315848909375446442083969794437768694485875038248718924675153084241775140684786192187950493543689147673979561748594574467689130271327312736401452949393464065427486204111454779166064080861537256819742468171346587399944976301210031761886561617159068721366208178491623735572114360804712025791112943121392689155256384548194844701172591345797553208914193214888689494098619908537706545989984307417478281999450505934876192504891760542758628135977777318795985506769135687433750061118739746871207127771296694250611021756534855402279414382316953558095736680402910127604075931325180458182798527006296460438526341950959773389492469340324096418910191929309571826844845770791955940046187088158641462580352933409987977399594633508719544900748660587890141763918568195854078914568634013078515589424460430904293633704610515964537362099428122534101526363601171188416586701792606057436220395269071599195353640678999191486335030003800627414756458693007590027806839324395020923901210518981515693825169465243796871099771772699382534501496871591241143396330762634981613307620738569256519210083851795435577610502619339479286973848572987402671075552859883443194795384176086149046297264045906933400800032995127346223712100022765241542579005746649155912906043925743475536208047558700075643756591613230338052008537185431429766687461033399662408009369748145270582040837774995331219485452748889631595109324394842886350693603971755151425106047306657231662227555981564417245219744035818808366743236930470906003521979209520199276869039036448451512147584318939458143065150769842217209523276851590236785994796257879033068115433019730395646300021270467654982860860506233197594693076320944776588241650581579458353316469785811042034896313540676692177873608813481784326324653598060700170223754259592451173776278591505401973843036796574142588045656886816652244485857412080594383566749800902634466585325131395281935497155271755300185145166053494605747123549277263359302091910756671699784024486981232650622430353502267129998114827409997444819964811718483261223026500641726988436741264270973751050556387820086341338599371750203303978482355218073574545528857577056181100961826322363387512630903544723020242426822446332808597198377935063499282580568977885300058816647144958343703955437010397464512783960356372406906943265920757223640543428145030783034220349458824133304407606843005833459297689199300674340927560679385869689383823691924841178937175203270760059006004959939230720907226921658885029204589276635151517139637900812808347745201 911904355719082682171691747762097659163716285968642349246931415857411132218293570992553399834384303149324863850206330799458477182704163330906150355249760632342063483291924937727184832897572213855917288293554333743007607380168770987077013573655163032729196864474127860669130920138225128069091328924365023567214367323782879757677136906064723308947084801609233424841852734958533368749804701820701459569717490440873370610898815521817514576098435139818573592855245530244947560020540581637586040895353466037847790370580347921166168750190197524755905051809929585298041226895550619309075037075037235469104904881079297063442402293102668247376873006335470494257335662105381899020834451342087554423277041384009396788592217821788494413274128659571254292320526683311279610867718823530609790518218130220421567287732780133882046786872622776703208832285288450839146210762530527574457240148149522412223189248503124953994247004532173544917898129291313583887470342756331661826731204203769369623938945588633653974275167244453126672840762474913160943336109899377530750443096865644054787540799384976993522346419388022137135190061195040910779960467935587869750024080586368578859064661086852441151966711222852277169369206808031439795870471934224207756743123653116487934784683101959624051660138671414572466803464414153086261625275887653659189455914366034960082470880255583130040155232414149458093915276683191186744593713044555898479168963580118500574385386709429416037500633765881927546070354439640623573224027720565346690306977849114368180026576104194212772756763220582794627604103211124557752880232393570399273902808402535866882368594763901801575768489396079883822390266832599035475219426815137193901275063234726099391738154135692408944244208488237310777616024055544131018347936567872467086860608553715346418254563083126282235345401667221066321747078559964904519597338991204061261446602813916683655999513538577264623481070426589998700179660111298279155492438970850646811458381840758452739659766885663559113317057252941957265275469417995445510509718790157812016325326739499562853588457427489343004955619167721599122529564981327728939158565055063107059894036219911515913372068231086085559163942254789841103685639024593603026377943823548381720002040978873097082330061155054086305866200303101974320864867540092710220341686862982345747146185806380375525300219531889637891605679366178606104596528510162579859416481403213444921683547471971855279170494103241909310183061954667701578557202378754355578569975468422378744987119858191869014462795218483917772602721860601727615432879047814945564305733452523095221158326502522420489416963888619707616544893820327663228951916755793831706834906975448081944696296153953222206275111518954060880036705232292716838310169529090765411726896008165195685927454780118093943053783758668804745129564765305446498963284065196816466851923292012805146943639047825623597822543281720737666496156563682131148955143385150704091538480910039011069798195562220931956011020788672628645542782530389891791852714450118728125405896552999312892195344685426449459268185985335631997766875482333986325916331843742108474542869732411744686583898745515985674213208347014092846190737286025041679333828554093026421208348849646855296084021349052874629144100019064006956624364505495004225826799054046653033426894820736752374758082529744488122348059635715049292742973325149696880505091910927043371665917404628161845304204454186194894844110055532878854648992701195664998211484939816537812985371238052064434954452582230131795891610987301966556138979136719544628463101539900898190705661957557906720387739779003599508030591558764686480772933945864138699757972761591513793772405248019308337543158505810341159154780033203 1475492242042550338345061963365573955288856481870577706408768516398404127827979965697739008915304369460423259507063191943246440596498339420817708389337301210240618054635088350844047320335328133220871806488262044540932306464150548015091214288484200932767664937160678443625459121397459217093076970770436002592698037200669665516893221499327081597579738351305354118498222912662519427538635073675584438859100807792563930954812029524955675458639301336799548309663259781347453422659811626059986751905012911543060730475149478504344304186952829731945209247260928165086512491564947599656580561334597466996343414046921233057860130307382396650263552351257068460658817676826147852969957640549371013710105762270300476843892003696735686996467279134242766528261470488276437977619283474412825859589598016861116801019507277218005189248579790581292838887529153035875089010549877551772925475441389654384193952851327360142368673278481414004005778619965174604253154008935371947969067425472644431738900526056260031831715180106875901422841205636020328728743564698410974264212233118837854369236932126015514560878327267181967517062510619121986374136818797997640146687111924897177211391291160085946158374590702067270344719973123880349171316914018194002194511818138991526183503607777112708293435279356200764654753957957842233935604837636248233657145044637362272818872333204976594105582718618260912873081340764052724001413455512727245066568908556419710606147273271046575106221999974060419169805926554001428285249818833508468082996133105498916374871277276785558570309972134776009516293597309744466290586778383554706691381090401986372817244787268793562118527117532057661141186252339368171162653176876255933648146270362497396085988765157448943799646487902619627731174119792224533928475540643803792267318791352242352714715001609468233195118791159690406645843497470156833829169165836049832053402542860103771814640976118930198033469047826184632208899205012046939743382580734769215007312460755327086752738282475088019544221350886646567781240006780094873633043820316521413187513743326201355459645893647884612076554814521362278121721051316357732739785979811521800067484064026750840308392992132296604540679636079959306347482510124365375725760478325045253311243184375203859717311674462674824875122719513185826116300445150595329559820973836830918734548856881933235408743414327273813977754725663442652011529929310195574986762705115313467686925090050977601928326407009285835053658598162715260278632846135345968808908027476959564176416886545652902414125203227853665917873303901439502610764098533267694453937328561847490064044677196126392244568388994667014273776556047883644793369161975537867525643273718685012415602299675932431726474388387993097328488217379877035777768312594241535253944105531442047276164240774914351822086851874101824475525211065326716966618266926057322700049517985089126091720227289476205177280896598190523477538191459995671825647321258759517573322807234692609130498365785975191548462194564951220150944756373426688365995302495775614942058141038856724972789728252176250361902652570660763393048810979489258081216516988908161969148616855961021949943200837426742345912992371501074078841359716378543946463826668920436418653168814458573779345244375553516356132536760328277930375415061882824312168137653418403236730873303091970448332628058602065178529160597541371656130485956053241603525334337749489704474514603006096908803487034755172780144168872180023812992696656632675395675997723776894185392278181317985192178093125658276826674645207651425380272283544326387634296560837590097491380002885118586106257429162827291432871770495939889751532992951869098638988693668818435452657434452608584972694675645448241971963127778404 2387396597761633020516753711127671614452572767839220055655699932255815260046273536690292408749688672609748123357269522742704917779202502751723858744587061842582681537927013288571232153232900347076789094781816378283939913844319319002168227862139363965496861801634806304294590041535684345162168299694801026159912404524452545274570358405391804906526823152914587543340075647621052796288439775496285898428818298233437301565710845046773190034737736476618121902518505311592400982680352207697572792800366377580908520845729826425510472937143027256701114299070857750384553718460498218965655598409634702465448318928000530121302532600485064897640425357592538954916153338931529751990792091891458568133382803654309873632484221518524181409741407793814020820581997171587717588487002297943435650107816147081538368307240057351887236035452413357996047719814441486714235221312408079347382715589539176796417142099830485096362920283013587548923676749256488188140624351691703609795798629676413801362839471644893685805990347351329028095681968110933489672079674597788505014655329984481909156777731510992508083224746655204104652252571814162897154097286733585509896711192511265756070455952246938387310341301924919547514089179931911788967187385952418209951254941792108014118288290879072332345095418027615337121557422371995320197230113523901892846600959003397232901343213460559724145737951032410370966996617447243910746007168557283143545737872136538211180532659980475991143722633739942346715876280993642051858473846554073814773303110954613284554897853380979771343066735355358804143897700520869024043467010777125105965283898804522239699613382032695363694295606928137544963576519171967206637872603691393127549421333597223495477726919293141352743890696390856938508790143847768664946823477211676259354179399905957699132969564692594515430464192826911472967590576030121738348766504827253893314849145674020455470640489657507462656950118252774630909078865123345218898875019705619861818770842596085539492398049360751578657538408139588525046515476198090319143553539106679225203839070065700918313234351075373955081510433689083877244250616297685461678944544866584907127378100246662356221765060363382690099843578334749147451168149148958978752138422148593635031245225354076956799641735617728911180988919816287800437165312690688039780162660699813264481695042688313610934043633859163451869360405029621258116126457820358154846179186518526912608608637522949457207496901112527744363841660117382961857190048514100324387478002945381942921404006403844771428587998446337583690476025762041230226196977581082640018243062014370585285203003698648812733985352883286721890321449868211308022321078731331699232478180694133094360298595829885653932749499906947158208524922612169752616078482123332300665671001539607242962091695555032445765140635632770629220654775830632163465581550991254139166901441277101931238663866337301828775103439879911261144034348023677802974602464643910221664861288144731620200296561348196123504473215353623848796487538903816580157848016945894343067464037591856037864985072937602699821170838555996395390815686461823244407132848832650270443691486588372766636527099582942728020126200718515166925032097002403585625797655223013462839861517664105429075429265724606390985276636779392284886999779567377828537994936707465056270157768123828722823090710588346553300877220233256420948873459281202938484030426248676533076140432007634258754107691488941367674988278927712902667641689357828340393887482663593431998377649419370049627132545707888408622566256194953391936411262681045932262759662377490995682085664842676492826645168941830890940902362054704576232305926897733237338746666430409949246429839700627893310237834151258583131117907811607 3862888839804183358861815674493245569741429249709797762064468448654219387874253502388031417664993042070171382864332714685951358375700842172541567133924363052823299592562101639415279473568228480297660901270078422824872220308469867017259442150623564898264526738795484747920049162933143562255245270465237028752610441725122210791463579904718886504106561504219941661838298560283572223827074849171870337287919106026001232520522874571728865493377037813417670212181765092939854405340163833757559544705379289123969251320879304929854777124095856988646323546331785915471066210025445818622236159744232169461791732974921763179162662907867461547903977708849607415574971015757677604960749732440829581843488565924610350476376225215259868406208686928056787348843467659864155566106285772356261509697414163942655169326747334569892425284032203939288886607343594522589324231862285631120308191030928831180611094951157845238731593561495001552929455369221662792393778360627075557764866055149058233101739997701153717637705527458204929518523173746953818400823239296199479278867563103319763526014663637008022644103073922386072169315082433284883528234105531583150043398304436162933281847243407024333468715892626986817858809153055792138138504299970612212145766759931099540301791898656185040638530697383816101776311380329837554132834951160150126503746003640759505720215546665536318251320669650671283840077958211296634747420624070010388612306780692957921786679933251522566249944633714002765885682207547643480143723665387582282856299244060112200929769130657765329913376707490134813660191297830613490334053789160679812656664989206508612516858169301488925812822724460195206104762771511335377800525780567649061197567603959720891563715684450590296543537184293476566239964263639993198875299017855480051621498191258200051847684566302062748625582983986601879613434073500278572177935670663303725368251688534124227285281465776437660690419166078959263117978070135392158642257600440389076826083303351412626245136331835839598201759759026235092827755482978185192776597359423200638391352813391902273772880244723258567158065248210446155365971667614043194418730524678106707194862164273413196530158052495679294640523214414708453798650659273324354477898900473638888342488409729280816516953410080403736056111639329473626553465757841283369339983634536644183216243899570246846342787048186437265847115130693063910127656387130553729832941891633840380295533727573927059135823308121813579417500258280098222135822894649446293196386030422341507097820892949497673842713201674191249608349329663480732836961076114350334472180390576218075349247680894775204978553741877953736164098005916094952815690240706869566758121454412818106775900895505818085659223888294940255537013139992046788393846794717573835919615107071049290238255936329946797587227487506872453696179986895958880432199817917311461866950959262191057330384093626778033952384336478101784621572539483673474800249785902669739238184095379424229330794927134171315052935409918575068947432295277243268523843319441669958009522178630712762837774801189778950183073491126657158783864497441312502488349365821558432412840103444333788586470300420369470366039193090016241003873456718782129572261481891933899258514686478564002854774510100159907341409173539720562817375194629260652850163074360883459506888641426920693271423338646948618479406380830797792605003945237256180087555760586426022780614946610640355662911178523696540455132447799892926480634386014461015789563480387370326183769927600688034819310638833546685449240901402604817316683546225372319897056223215081093173465667727795078932902598104658182373774132550644465983838919849602335977735360099228384699087274153236478282932509796706825103081035590011 6250285437565816379378569385620917184194002017549017817720168380910034647920527039078323826414681714679919506221602237428656276154903344924265425878511424895405981130489114927986511626801128827374449996051894801108812134152789186019427670012762928863761388540430291052214639204468827907417413570160038054912522846249574756066033938310110691410633384657134529205178374207904625020115514624668156235716737404259438534086233719618502055528114774290035792114700270404532255388020516041455132337505745666704877772166609131355365250061238884245347437845402643665855619928485944037587891758153866871927240051902922293300465195508352526445544403066442146370491124354689207356951541824332288149976871369578920224108860446733784049815950094721870808169425464831451873154593288070299697159805230311024193537633987391921779661319484617297284934327158036009303559453174693710467690906620468007977028237050988330335094513844508589101853132118478150980534402712318779167560664684825472034464579469346047403443695874809533957614205141857887308072902913893987984293522893087801672682792395148000530727327820577590176821567654247447780682331392265168659940109496947428689352303195653962720779057194551906365372898332987703927105691685923030422097021701723207554420080189535257372983626115411431438897868802701832874330065064684052019350346962644156738621558760126096042397058620683081654807074575658540545493427792627293532158044652829496132967212593231998557393667267453945112601558488541285532002197511941656097629602355014725485484666984038745101256443442845493617804088998351482514377520799937804918621948888011030852216471551334184289507118331388332751068339290683302584438398384259042188746988937556944387041442603743731649287427880684333504748754407487761863822122495067156310975677591164157750980654130994657264056047176813513352581024649530400310526702175490557618683100834208144682755921955433945123347369284331733894027056935258737377541132620146008938644854145947498165737534381196591176859298167165823617874270959176275511920150898529879863595191883457603192086114595798632522239575681899530032610222283911728656097675069544691614322240264520075552751923112859061984740366792749457601249818808422283333230037322622232523373733635083357773316595145698132647237100559145761426990631070531971409120146295236457447697938942258560457276830682045600717716475535722685168243782844950911884679121078152367292904142365096876516343320209234341323781341918397481183993012943163546617583864033367723450019224899353342445271301200120528833298825355425521963063158053695432974490423452590588660634450684593424017712539094761240458054419455784306260838011319438201265990599635106951201136199491335703739591973388201887413745538062604216541009925276840906136585286108610656533200347631884979243352368123139643082916834762726591043897781368908565601033852400539292988569047959964079862727487776358013045765606887507351277774852250546579960903045383524155849531091488482367438557408625272198917743919834181059848681691336387564301076986216222568800702759874127381650004244329682653554174680183903135746895482214654208702856531590032706555222997400003312198386165393808531407928905553721185715198059137114947362098376204142669431930203775824766298326685810319112847704374974196638481388158011068348515777046409550749416094514049235295171780283601064054213553877404518459118571586186835102555856755378618274614417018870012637908130120726727605829148276075372289356183450963050963758182147577020058084446443184541435094071807157597558209253094808906418252159815885592572088855551332570471571759547767046489073314676494605349042216144846747335573316482026529638333945517113853864371593170343947965408234198943401618 10113174277369999738240385060114162753935431267258815579784636829564254035794780541466355244079674756750090889085934952114607634530604187096806993012435787948229280723051216567401791100369357307672110897321973223933684354461259053036687112163386493762025915279225775800134688367401971469672658840625275083665133287974696966857497518214829577914739946161354470867016672768188197243942589473840026573004656510285439766606756594190230921021491812103453462326882035497472109793360679875212691882211124955828847023487488436285220027185334741233993761391734429581326686138511389856210127917898099041389031784877844056479627858416219987993448380775291753786066095370446884961912291556773117731820359935503530574585236671949043918222158781649927595518268932491316028720699573842655958669502644474966848706960734726491672086603516821236573820934501630531892883685036979341587999097651396839157639332002146175573826107406003590654782587487699813772928181072945854725325530739974530267566319467047201121081401402267738887132728315604841126473726153190187463572390456191121436208807058785008553371430894499976248990882736680732664210565497796751809983507801383591622634150439060987054247773087178893183231707486043496065244195985893642634242788461654307094721872088191442413622156812795247540674180183031670428462900015844202145854092966284916244341774306791632360648379290333752938647152533869837180240848416697303920770351433522454054753892526483521123643611901167947878487240696088929012145921177329238380485901599074837686414436114696510431169820150335628431464280296182096004711574589098484731278613877217539464733329720635673215319941055848527957173102062194637962238924164826691249944556541516665278605158288194321945830965064977810070988718671127755062697421512922636362597175782422357802828338697296720012681630160800115232194458723030678882704637846153861344051352522742268910041203421210382784037788450410693157145035005394129536183390220586398015470937449298910791982670713032430775061057926192058710702026442154460704696748257953080501986544696849505465858994840521891089397640930109976187976193951525771850516405594222798321517102428793488749282081165354741279380890007164166055048469467695607687707936223095871411716222044812638589833548555778536383293212198475235053544096828373254778460129929773101630914182841828807303619617730232037983563590666415749078371439232081465614512062969786207673199676092670803575479143517356154903198842176677579406128835837812992910780250063790064957117045792302840119114014401794720082907174685089002695900119129809783308962603843166806735983698365488199222691092836639194194218517461700401213653701560145070832748721089519769307912100386841521825251197276496827669282551202596263329403772071558479972504901215681705823438603568214926040939595610646515536613014749622549924329981186825877062900803359801484045899432053590857896679872112836114830387179426991024752575102036449249700141229478903580078861886415616538753610344035190773986691352129458303117205534655829234259086508394853281563540534675317160600187317820809310712958544681344448249383831580475767135269371693477040343809467700423681668752204586898547648932779010439967844770320619006881261356890890621233434784978285924926205668094983858833410521750168825899134238321085429231975283935050977670109365937387882243790259689981894852006158881349755715298659141947421528578637370325228914970079930048536334448585253174527498755628910461386750371973014443438334084365917504620746119265753823374981779521048059000163026569778355131790572056872108807653182029017000298266650692450365151147255688450627155993508199983766596937909294217386628866718644604388007100849876102853744672233337279978991629 16363459714935816117618954445735079938129433284807833397504805210474288683715307580544679070494356471430010395307537189543263910685507532021072418890947212843635261853540331495388302727170486135046560893373868025042496488614048239056114782176149422625787303819656066852349327571870799377090072410785313138577656134224271722923531456524940269325373330818489000072195046976092822264058104098508182808721393914544878300692990313808732976549606586393489254441582305902004365181381195916667824219716870622533724795654097567640585277246573625479341199237137073247182306066997333893798019676051965913316271836780766349780093053924572514438992783841733900156557219725136092318863833381105405881797231305082450798694097118682827968038108876371798403687694397322767901875292861912955655829307874785991042244594722118413451747923001438533858755261659666541196443138211673052055690004271864847134667569053134505908920621250512179756635719606177964753462583785264633892886195424800002302030898936393248524525097277077272844746933457462728434546629067084175447865913349278923108891599453933009084098758715077566425812450390928180444892896890061920469923617298331020311986453634714949775026830281730799548604605819031199992349887671816673056339810163377514649141952277726699786605782928206678979572048985733503302792965080528254165204439928929072982963333066917728403045437911016834593454227109528377725734276209324597452928396086351950187721105119715519681037279168621892991088799184630214544148118689270894478115503954089563171899103098735255532426263593181122049268369294533578519089095389036289649900562765228570316949801271969857504827059387236860708241441352877940546677322549085733438691545479073609665646600891938053595118392945662143575737473078615516926519544007989792673572853373586515553808992828291377276737677337613628584775483372561079193231340021644418962734453356950413592797125376644327907385157734742427051172091940652866913724522840732406954115791595246408957720205094229021951920356093357882328576297401330736216616899156482960365581736580307108657945109436320523611637216612009506220586416235437500506614080663767489935839342693313564302034004278213803264121256799913623656298288276117891020937973545718103935089955679895996363150143701476669030530312757620996480534727898905226187580276225009559078612121784087367760896448412277638701280066202138434246615222077032377499191184047938574966103818457767680091822463726590496226980184095075060590121848780976539528364114097157788407136270691656182564385315601915248916206000040514524658963277183505216283453027295757395396618149050081623240403631931400434652272936917484707474491712879583272098739320724626720509048299878177225564843170664698715083028089265200479870413697348399386109090187324292362356638951200099905284291963733786158619529849512349140968227762555734442663934655760340777034468480013554937759407359889194127876152786314498376030349954286995829661044274862427735928392977904098906192167752660462972904435271963639362965887225992216798560163494611075850364243294549444542250191562150491964267133224865247583996279313795129975838125903283509746899032465100426993867138369980707079056861684564161153559968379756121828623455267094763902866715182061749692503994780794177946258226125143022537615626479096497580491060981460528419525460451437117538962039973582958906219712758754274174417230728134256631134494125703847189584496948918548972356715373901255104584777186536759039728156465406489297842548065081640804203712197007916416873592855216597721235822873164038208824216687994400225270884568332868738222451998132197636329003127121761342550416128613344273482610699413158505052590121501860965221469273197692637641571478922393247 26476633992305815855859339505849242692064864552066648977289442040038542719510088122011034314574031228180101284393472141657871545216111719117879411903383000791864542576591548062790093827539843442718671790695841248976180843075307292092801894339535916387813219098881842652484015939272770846762731251410588222242789422198968689781028974739769847240113276979843470939211719744281019508000693572348209381726050424830318067299746907998963897571098398496942716768464341399476474974741875791880516101927995578362571819141586003925805304431908366713334960628871502828508992205508723750008147593950064954705303621658610406259720912340792502432441164617025653942623315095582977280776124937878523613617591240585981373279333790631871886260267658021725999205963329814083930595992435755611614498810519260957890951555456844905123834526518259770432576196161297073089326823248652393643689101923261686292306901055280681482746728656515770411418307093877778526390764858210488618211726164774532569597218403440449645606498679345011731879661773067569561020355220274362911438303805470044545100406512718017637470189609577542674803333127608913109103462387858672279907125099714611934620604073775936829274603368909692731836313305074696057594083657710315690582598625031821743863824365918142200227939741001926520246229168765173731255865096372456311058532895213989227305107373709360763693817201350587532101379643398214905975124626021901373698747519874404242474997646199040804680891069789840869576039880719143556294039866600132858601405553164400858313539213431765963596083743516750480732649590715674523800669978134774381179176642446109781683130992605530720147000443085388665414543415072578508916246713912424688636102020590274944251759180132375540949358010639953646726191749743271989216965520912429036170029156008873356637331525588097289419307498413743816969942095591758075935977867798280306785805879692682502838328797854710691422946185153120208317126946046996449907913061318804969586729044545319749702875807261452726981414019549941039278323843485196921313647414436040867568281277156614123804104276842414701034857542119482408562610186963272357130486257990288257356445122107053051316085443568544543502146807077789711346757743813498708645909768813975346806177724708634952983692257255205413823524956096231534078824727278480966040406154782660709526304625916175064516066142509676684843656868554183324986661309113843113703247017724782639303494550438483667301607243946651130179026271752639996250684618789532439144364160947853364253316483959022683499330003709968999113174725603527354863396313314999592415631138924202132601847415569822463094724768039628846491454379185108688145414439728342931488041814146489816960400265018747390094367941195542752310640467796743199817469419957866081595088539974068180077554768314831325231559344432674156142864261971690892557743742560319726835459120142261080367912067145795656087232002030242706539965741489400782925056323445079361185504341331316007254864319715444945778096695653746891126624093097666083092760648046032819250003005929131927783829224761702850378879971301274980091769546592032245663145375605742973395274976986787242841932800850675535890574567605626705794463574601121404738700375128709884812157985385136301500160347674618709662875778036779668747875311848436749864800181926812466344916511506089634826388824999782752299663564853758225871640104029889715889870081678159713131496029076104554576878967085306805300627075782603340406096998145790100129479849927631926913982586261550322977950831291398653113903275597884262392651519169999396273560103207878452913585333167004873144448497348783584691577748917336058616112379941211391904916799787371771234725889868066071345376051437309874908758901384876 42840093707241631973478293951584322630194297836874482374794247250512831403225395702555713385068387699610111679701009331201135455901619251138951830794330213635499804430131879558178396554710329577765232684069709274018677331689355531148916676515685339013600522918537909504833343511143570223852803662195901360820445556423240412704560431264710116565486607798332471011406766720373841772058797670856392190447444339375196367992737221807696874120704984890431971210046647301480840156123071708548340321644866200896296614795683571566390581678481992192676159866008576075691298272506057643806167270002030868021575458439376756039813966265365016871433948458759554099180534820719069599639958318983929495414822545668432171973430909314699854298376534393524402893657727136851832471285297668567270328118394046948933196150178963318575582449519698304291331457820963614285769961460325445699379106195126533426974470108415187391667349907027950168054026700055743279853348643475122511097921589574534871628117339833698170131595956422284576626595230530297995566984287358538359304217154748967653992005966651026721568948324655109100615783518537093553996359277920592749830742398045632246607057708490886604301433650640492280440919124105896049943971329526988746922408788409336393005776643644841986833722669208605499818278154498677034048830176900710476262972824143062210268440440627089166739255112367422125555606752926592631709400835346498826627143606226354430196102765914560485718170238411733860664839065349358100442158555871027336716909507253964030212642312167021496022347336697872530001018885249253042889765367171064031079739407674680098632932264575388224974059830322249373655984767950519055593569262998158127327647499663884609898360072070429136067750956302097222463664828358788915736509528902221709742882529595388910446324353879474566156984836027372401745425468152837269167317889442699269520259236643096095635454174499038598808103919895547259489218886699863363632435902051211923702520639791728707423080901490474678901770112907823367854621244815933137930546570919001233150017857463722781749213713162938312672074154128988629149026422400772863744566921757778193195787815420617353350089721782347807623403606991413367645046019931389729583883314532079281896133404604631316133835958731874444353837713717228014613552626183707153620682379792219788138426410003542825412514554787315386123723070692617571601883386146220612894431065663357605407313008206163759124070970537147357159210366827700586372533399766071967508478258105641771389587175615205247884645605625217915319174766118052013826673496820215875868658434681597529219996465651445703498356699440063498764391296669816162637127319311615030227362538773210326008700143195972954937538605894257835338729732997223070231166768357252190685275864266430536716505968414736609523523078218832775672713774320831860785506298294762390770114880483038114836392080700733415494591891224370582692752055987776813275010610440909022229779203759051935647842223814351137945849356116719795561896056737029048979986640262831379413497617004982292027123774206245100570442121793239247224994411839616241942459170735718811521178260496534141874397901277669403028944548312705762656148138762274964707080131250538508267425080149039168215342409424311213657656572214725926974000454870974365491279278424392957405897972034509160286840262117321714339637147812664445584398858304064133120598215934790847625621732923294139073827885634279162016000977037707925183283534904829828285945256416929769462047667902354526690147839207815526706758492195605498215524683208208220490248097608103723798153666035743095596446629546419913694704870678678609032240993285484874515616212945876823824847391729031292814649249129947516480237823778123 69316727699547447829337633457433565322259162388941131352083689290551374122735483824566747699642418927790212964094481472859007001117730970256831242697713214427364347006723427620968490382250173020483904474765550522994858174764662823241718570855221255401413742017419752157317359450416341070615534913606489583063234978622209102485589406004479963805599884778175941950618486464654861280059491243204601572173494764205514435292484129806660771691803383387374687978510988700957315130864947500428856423572861779258868433937269575492195886110390358906011120494880078904200290478014781393814314863952095822726879080097987162299534878606157519303875113075785208041803849916302046880416083256862453109032413786254413545252764699946571740558644192415250402099621056950935763067277733424178884826928913307906824147705635808223699416976037958074723907653982260687375096784708977839343068208118388219719281371163695868874414078563543720579472333793933521806244113501685611129309647754349067441225335743274147815738094635767296308506257003597867556587339507632901270742520960219012199092412479369044359039137934232651775419116646146006663099821665779265029737867497760244181227661782266823433576037019550185012277232429180592107538054987237304437505007413441158136869601009562984187061662410210532020064507323263850765304695273273166787321505719357051437573547814336449930433072313718009657656986396324807537684525461368400200325891126100758672671100412113601290399061308201574730240878946068501656736198422471160195318315060418364888526181525598787459618431080214623010733668475964927566690435345305838412258916050120789880316063257180918945121060273407638039070528183023097564509815976910582815963749520254159554150119252202804677017108966942050869189856578102060904953475049814650745912911685604262267083655879467571855576292334441116218715367563744595345103295757240979576306065116335778598473782972353749290231050105048667467806345832746859813540348963370016893289249684337048457125956708751927405883184132457764407132945088301130059244193985355042100718299134620336905553317990005353013706931696248471037711636609364045220875053179748066450552232937527670404666175165350892351125550414069203078991803763744888438229793083346054628702311129313266269117528215987079858177362669813459548692377353462188119661088534574880497664731035919717889928580697296992070967379939246800896588544695260063726597678083388140244710807558644647426425678214483798487338236638580340582623218018555604406652842419053495135642903659574227931383975609335186914432349491721579368690069810135215468284289573605799661821843881221268166593081467479692345255845675854924850782541759039957961715404352919700142969100408214720345031906547089800587649370200793966270048636188315118272280364404240498716794060736729567934755082422651506931815578036292522753343250040855082117605574000625299195204304147846529071581823893254613289232717797477177596200066933885988383415283545090367942902706543529796083723946051770466686688520149834695132072747288308864198663500622934114219810952998967947950949322093094514227316763958431648487605604546341461784916453237483321384716330702128344938919519115918332468450611713363396369445780506379248393079583065534175469715502757098929923320532350251505595721875766719411115356079460351205423750814483540598795113229087117104466639300712666422671456038962333953849010468297612950560757117761999398693650706852719585967316628052820311265589380533050619928415425106344561696376030254163904849668098670499214179820661767793489760608176202378207616763808200815982176711738999202747968740895126895203498386282619596014667648353373226696266420533012733248595059573281597097364160025300567257391388996725162999 112156821406789079802815927409017887952453460225815613726877936541064205525960879527122461084710806627400324643795490804060142457019350221395783073492043428062864151436855307179146886936960502598249137158835259797013535506454018354390635247370906594415014264935957661662150702961559911294468338575802390943883680535045449515190149837269190080371086492576508412962025253185028703052118288914060993762620939103580710803285221351614357645812508368277806659188557636002438155286988019208977196745217727980155165048732953147058586467788872351098687280360888654979891588750520839037620482133954126690748454538537363918339348844871522536175309061534544762140984384737021116480056041575846382604447236331922845717226195609261271594857020726808774804993278784087787595538563031092746155155047307354855757343855814771542274999425557656379015239111803224301660866746169303285042447314313514753146255841272111056266081428470571670747526360493989265086097462145160733640407569343923602312853453083107845985869690592189580885132852234128165552154323794991439630046738114967979853084418446020071080608086258887760876034900164683100217096180943699857779568609895805876427834719490757710037877470670190677292718151553286488157482026316764293184427416201850494529875377653207826173895385079419137519882785477762527799353525450173877263584478543500113647841988254963539097172327426085431783212593149251400169393926296714899026953034732327113102867203178028161776117231546613308590905718011417859757178356978342187532035224567672328918738823837765808955640778416912495540734687361214180609580200712476902443338655457795469978948995521756307170095120103729887412726512950973616620103385239908740943291397019918044164048479324273233813084859923244148091653521406460849820689984578716872455655794215199651177529980233347046421733277170468488620460793031897432614270613646683678845826324352978874694109237146852787889039154024944214727295564719446723177172784865421228816991770324128777164549037610242402084784954245365587774987566333117063197174740556274043333868316992084059687302531703168291326379005850377459666860663031764818084619620101505844643748020752948287758016264887133240158748954021060616446636849783676278167813676397878133910598444533917897585251364174718954302531200383530687563305929979645895273281770914367100285803157445923260715341095252084307457091103009939418468190428081406284339492109149051497850118120566850811185549749185020945844497447005408041168995751418321676374161320677159136907032490835189433179268621214960404829751524257839631382516743306955431344152948008287397191041840346872713870091438166919755844020236972524741013419669078351572991942766891692910468977800551410693299969445152984058422988099933791189340279802956672370462965640268506929253510566705144304544278605500870339707488291810613354614128756339149844508375688881108337310040696228547262487076415784478983871925469853464954409475077544326897405645062748849419878550548767344147221669795407887186482250416206571724181052733928571695578076998239939096511838076773174193051519764214887753474541758370271264729548063717077180596437631497979855526590728603406014341948463664231038231106759852125671334152860637629786901347008145683214637930845166523241136978188922466231522695876221590385480847358738775598381156712455575107955400069349234426180978937860479087117040437820638017982131066513547741408382739494922692832724534738353865129332629029858019190772664067955449756701370362761491465838077922066259376358246509707029706527420259989095258823700885586415837254056298424085900509892665238491064337341756441623412080987490274693276680594366512181140936149225679125418884420673326128656974674549697204907869234548941122 181473549106336527632153560866451453274712622614756745078961625831615579648696363351689208784353225555190537607889972276919149458137081191652614316189756642490228498443578734800115377319210675618733041633600810320008393681218681177632353818226127849816428006953377413819468062411976252365083873489408880526946915513667658617675739243273670044176686377354684354912643739649683564332177780157265595334794433867786225238577705481421018417504311751665181347167068624703395470417852966709406053168790589759414033482670222722550782353899262710004698400855768733884091879228535620431434796997906222513475333618635351080638883723477680055479184174610329970182788234653323163360472124832708835713479650118177259262478960309207843335415664919224025207092899841038723358605840764516925039981976220662762581491561450579765974416401595614453739146765785484989035963530878281124385515522431902972865537212435806925140495507034115391326998694287922786892341575646846344769717217098272669754078788826381993801607785227956877193639109237726033108741663302624340900789259075186992052176830925389115439647224193120412651454016810829106880196002609479122809306477393566120609062381273024533471453507689740862304995383982467080265020081304001597621932423615291652666744978662770810360957047489629669539947292801026378564658220723447044050905984262857165085415536069299989027605399739803441440869579545576207707078451758083299227278925858427871775538303590141763066516292854814883321146596957486361413914555400813347727353539628090693807265005363364596415259209497127118551468355837179108176270636057782740855597571507916259859265058778937226115216180377137525451797041133996714184613201216819323759255146540172203718198598576476038490101968890186198960843377984562910725643459628531523201568705900803913444613636112814618277309569504909604839176160595642027959373909403924658422132389469314653292583020119206537179270204129992882195101910552193582990713133828791245710281020008465825621674994318994329490668138377823352182120511421418193256418934541629085434586616126704396592855849693173644340085937546625930704572299641128863305494673281253911094300253690475958162682440052484132509874504435129819525628653547421166606043469481224188539300755663231163854368892390706034160708563053344147111998307333108083392942859448941980783467888481842978605269675949381299528058482949186219364778972776666348066089787232439638094828928125495458611975427399504744331835683643988381751618969436877280780814163096212632042675394494763661110652596824295591744183873749561210751206813117090646812437237581893196852863684228093982036684519634399448189276082648379665864202210837391530953658171244612610611946900959625413645001351700073859010637470134585155610328439144987488735246004672747427970304627441873872479033687923521846639303869846905877367472006380004926625981262881733636505245000376393791558658239677733597161158187650942132005675144478212885789060346293939787821453255310873943305393741459657653168938936356406419313125481216880559776740498862873210731649029772142141002469086307982267701858522328702913217153668263418642381354084735463176911307059305534359280867982780149370699557371565489067703598641144009035294426591211217390107646347923622171060298721272717737118417751988309796596203438199126803804907526939115706750513298436351530647618238573145509788496476782971971831141534811160691969139857256922091526375241591073451096649257082678330456362044601006069685116795469106053162214108176230164226026345180206243886348082027782585019431877087964623454017864499240068077221631664441239033078236883336826910467270109870707944328947739738877407356682238412374013943993954923226021134699850264462299258231274104121 293630370513125607434969488275469341227166082840572358805839562372679785174657242878811669869064032182590862251685463080979291915156431413048397389681800070553092649880434041979262264256171178216982178792436070117021929187672699532022989065597034444231442271889335075481618765373536163659552212065211271470830596048713108132865889080542860124547772869931192767874668992834712267384296069071326589097415372971366936041862926833035376063316820119942988006355626260705833625704840985918383249914008317739569198531403175869609368821688135061103385681216657388863983467979056459469055279131860349204223788157172714998978232568349202591654493236144874732323772619390344279840528166408555218317926886450100104979705155918469114930272685646032800012086178625126510954144403795609671195137023528017618338835417265351308249415827153270832754385877588709290696830277047584409427962836745417726011793053707917981406576935504687062074525054781912051978439037792007078410124786442196272066932241909489839787477475820146458078771961471854198660895987097615780530835997190154971905261249371409186520255310452008173527488916975512207097292183553178980588875087289371997036897100763782243509330978359931539597713535535753568422502107620765890806359839817142147196620356315978636534852432569048807059830078278788906364011746173620921314490462806357278733257524324263528124777727165888873224082172694827607876472378054798198254231960590754984878405506768169924842633524401428191912052314968904221171092912379155535259388764195763022726003829201130405370899987914039614092203043198393288785850836770259643298936226965711729838214054300693533285311300480867412864523554084970330804716586456728064702546543560090247882247077900749272303186828813430347052496899391023760546333444207248395657224500116003564622143616346161664699042846675378093459636953627539460573644523050608337267958713822293527986692257266059325068309358154937096922397475271640306167885918694212474527272790332594602786224031929236731575453092623188939957108077754535256453593675097903128768454933118788456280158381396341935666464943397003390371432962672893681390114293382759755738048274443424245920698704939617372668623458456190435972265503331097444773857145879102322449899200197149061439620256565424988463239763436874834675304237312753978666224630363309081069271045927766239320610771201465606985149585959125637832969400858072632405581896381491135944947048692346269797525176584525690176333130649396422920614720855198957154975483773371768949707885329953094289921218039255996573935398007400842133723556424046078156590185590180594043905524574966695906775957801319204033296319620904406877621879915743103945600938136305521080924701511036106944970796853057917433625570068376344950608242101659859198211644941254357223815194147018177023312293424392186346792161657519231981600762719154771134356951762841973815285696604941054045734655462212581033083657504407086415150222022539783194705409042789207700003804078218090527063536867544839651189352562978143494178215145452255354817497102812307243487106545316334053988850522870021176400280698974177946701731980495822977791716233443032437897787908940373622816446444380408930664131417614739037751501781638822195773599356900604745577193090145412197276910195183968641113628209900182077050796937902402186064239394690814705913367785585956828597176433624596905536914603609989813272601324708433377522596751844784359099776329427316225981886112536349647134708668961519441818165831867544628052186098296423602384591689913273592875502287771680278255577973551039291271920797664153977731524329679730097415578639778450322548257600145401221009542106251058548292831464091499432828414628249354678109374399961667207127465823045243 475103919619462135067123049141920794501878705455329103884801188204295364823353606230500878653417257737781399859575435357898441373293512604701011705871556713043321148324012776779377641575381853835715220426036880437030322868891380709655342883823162294047870278842712489301086827785512416024636085554620151997777511562380766750541628323816530168724459247285877122787312732484395831716473849228592184432209806839153161280440632314456394480821131871608169353522694885409229096122693952627789303082798907498983232014073398592160151175587397771108084082072426122748075347207592079900490076129766571717699121775808066079617116291826882647133677410755204702506560854043667443201000291241264054031406536568277364242184116227676958265688350565256825219179078466165234312750244560126596235118999748680380920326978715931074223832228748885286493532643374194279732793807925865533813478359177320698877330266143724906547072442538802453401523749069834838870780613438853423179842003540468941821011030735871833589085261048103335272411070709580231769637650400240121431625256265341963957438080296798301959902534645128586178942933786341313977488186162658103398181564682938117645959482036806776980784486049672401902708919518220648687522188924767488428292263432433799863365334978749446895809480058678476599777371079815284928669966897067965365396447069214443818673060393563517152383126905692314664951752240403815583550829812881497481510886449182856653943810358311687909149817256243075233198911926390582585007467779968882986742303823853716533268834564495001786159197411166732643671399035572396962121472828042384154533798473627989697479113079630759400527480858004938316320595218967044989329787673547388461801690100262451600445676477225310793288797703616546013340277375586671271976903835779918858793206016807478066757252458976282976352416180287698298813114223181488533018432454532995690091103291608181279275277385265862247579562284929979117499385823833889158599052523003720237553810341060428407899026248231061066121231001012292139228589175953449710012609639532214203041549245492852873014231089515580006550880943629321076005262314022544695608966664013666832348528133900204083381144992101505178497962891320255497894156878518611379900615360326510989199955860380225293989148956131022623948326490218981787302544645862062059167489812251061852738934409609217925880447150846906513208068908311857197748373634738980471671683613930774039775976817841728409500603984030434508168814293384804672233690292076237935789646869584400992383279824716755400573814863551588318119271756962052884930369541136724969027423172073790896769208803060677943460477435718652222572402269284072741824090753134634899259109380918131692871602470661520589972148553131776444263040202961500560936681246647347933457649614001785194119821588892049502345981347914032986096031504425109349072769099159697760338214644575610320530696981334845604392895139946178194241845155349218420825366500752668983765755336728995521457059389092033832457278327202492820128288919384562807303696362332815131557995965685517975136136317458475056457936830852288878258803027677091163855400243914465359145800968906209349204847214474732903684429224529779630221502983103806741350142925647857490200190568117994853223541013767583257575631467901705759531380198209978673254235137029205990971766333806521456426666221937487476215415006770106694033391386581961644414136135869125346662454008766875885475017920500767322631143195214680103496753269967589126934961300973597790266294274526587828410936870119517479223584315554265297687455061515662745289785296904222054953155994120969130493815523115277233015527710016109165338489845989935955649513702503873446772408583172580699244074250226129506385697097149364 768734290132587742502092537417390135729044788295901462690640750576975149998010849109312548522481289920372262111260898438877733288449944017749409095553356783596413798204446818758639905831553032052697399218472950554052252056564080241678331949420196738279312550732047564782705593159048579684188297619831423468608107611093874883407517404359390293272232117217069890661981725319108099100769918299918773529625179810520097322303559147491770544137951991551157359878321146115062721827534938546172552996807225238552430545476574461769519997275532832211469763289083511612058815186648539369545355261626920921922909932980781078595348860176085238788170646900079434830333473434011723041528457649819272349333423018377469221889272146146073195961036211289625231265257091291745266894648355736267430256023276697999259162395981282382473248055902156119247918520962903570429624084973449943241441195922738424889123319851642887953649378043489515476048803851746890849219651230860501589966789982665213887943272645361673376562736868249793351183032181434430430533637497855901962461253455496935862699329668207488480157845097136759706431850761853521074780369715837083987056651972310114682856582800589020490115464409603941500422455053974217110024296545533379234652103249575947059985691294728083430661912627727283659607449358604191292681713070688886679886909875571722551930584717827045277160854071581187889033924935231423460023207867679695735742847039937841532349317126481612751783341657671267145251226895294803756100380159124418246131068019616739259272663765625407157059185325206346735874442233965685747972309598302027453470025439339719535693167380324292685838781338872351180844149303937375794046374130275453164348233660352699482692754377974583096475626517046893065837176766610431818310348043028314516017706132811042688900868805137947675395262855665791758450067850720949106662955505141332958049817113901709265967534651325187315888920439867076039896861095474195326484971217216194764826600673655031194123058177467792641574323624201232096336666930488706163606284737435342971496482364281309153172612485857515673015824340632711447438224986916226085723260046773422570396802577324450004079849931718877847121421347510691470159660209616056153757761239428833439099156057529286733609405521556011087188089927093816462606781958616040725392120175560142922009980337375457246491218352312513498357654867437495030717774492811612877253579995421909984723025510187998207025780568556124684501944942781227592848411147275195090765130642956169942091165154669849690495032902807584892054669764362895018653925965182803125617608762254384940674733378027373850236435237037856255868721890188479619445970668877738844860047517223652773796303981697627534942945406189693877888610271337845511544923348307207131669294555256142417935015735910226525658274772306219332888193161944341330673531818314468894695166407417584135816393586275899650127550602158759227325502659756304835975588523292452178471164379518203221460863467310124359520815194747332471317641482362706301481911507785070486375493068497825218623242862774809110446787353722310054659083726651269110557132224410288336937517202349241787102635123415106526500875668910188560885634400718545779101644707286679685973789925018599598800734103912995454852541663085674400645008408110160750305032074931608177036005728497336162340034007523444304812591440394703599570305990191951457686737460577558724185050760611660244574794249928083548613029307751029750631461938929108568753127132841142418318480372823011430795528560032791072099086603325945575943033035066702036561706094568376032684680323800699227909394162893727555563785310161510386348031952240994503942345166595372879600823211421935377353448650187796713513162920194607 1243838209752049877569215586559310930230923493751230566575441938781270514821364455339813427175898547658153661970836333796776174661743456622450420801424913496639734946528459595538017547406934885888412619644509830991082574925455460951333674833243359032327182829574760054083792420944560995708824383174451575466385619173474641633949145728175920461996691364502947013449294457803503930817243767528510957961834986649673258602744191461948165024959083863159326713401016031524291817950228891173961856079606132737535662559549973053929671172862930603319553845361509634360134162394240619270035431391393492639622031708788847158212465152002967885921848057655284137336894327477679166242528748891083326380739959586654833464073388373823031461649386776546450450444335557456979579644892915862863665375023025378380179489374697213456697080284651041405741451164337097850162417892899315477054919555100059123766453585995367794500721820582291968877572552921581729720000264669713924769808793523134155708954303381233506965647997916353128623594102891014662200171287898096023394086509720838899820137409965005790440060379742265345885374784548194835052268555878495187385238216655248232328816064837395797470899950459276343403131374572194865797546485470300867662944366682009746923351026273477530326471392686405760259384820438419476221351679967756852045283356944786166370603645111390562429543980977273502553985677175635239043574037680561193217253733489120698186293127484793300660933158913914342378450138821685386341107847939093301232873371843470455792541498330120408943218382736373079379545841269538082710093782426344411608003823912967709233172280459955052086366262196877289497164744522904420783376161803822841626149923760615151083138430855199893889764424220663439079177454142197103090287251878808233374810912149618520755658121264114230651747679035953490057263182073902437639681387959674328648140920405509890545242812036591049563468482724797055157396246919308084485084023740219915002380411014715459602022084425698853707695554625213524235565256106442155873618894376967557174538031609774162026186843575373095679566705284262032523443487300938770781332226710787089402745330711224654087460994923820383025619384238830946968053817088134667533658376599755344428299111917909512027598554477687033711136416417312798249909326604478102784559609987811204774748914746984675172371665503159420011565723775749352228466148127550593348925263609352684024499002328029726616526384552586559192670759236166032265082101439351433026554777512540570934474444979386605091068847766359173210173941521324947903584295506319528094645031934328175837443942181088051793696912672756508478441124159472552361270061422012373744119156898141784466667906452359148124915093959321470322151650474299346072481604594954555065126944169257927612054837324802276028004256120220252318984224666369450679746300917474166655033381051993194456347090567610745254520445742104937421567347815105523256800955024045121162236919716247198742917922856402158191978093521949825291445930401747269108785607870117885617933489034183343193759379180233284166904724184574598932917886754328360274412532468324753696083318171255451136307482337889839430185304893439968191107137383822352520451787632934537176173980493136594452024275117680578712428173130987380160176388606320139423559267211960814168007772062303857618766700229460931781028006447164810293603697376773913102100873596446684070847504769378536130049812170428850871244172502965709854128215208896697695688088433814740208584774647349599259206465430152308551322670918880210873630488096582364781851491391472598087637836317921668358403209686009004788579313020177619551686521798230930459591858869099246326373231794594516076597522900413926219898860017343971 2012572499884637620071308123976701065959968282047132029266082689358245664819375304449125975698379837578525924082097232235653907950193400640199829896978270280236148744732906414296657453238487917941110018862982781545134826982019541193012006782663555770606495380306807618866498014103609575393012680794282998934993726784568516517356663132535310755268923481720016904111276183122612029918013685828429731491460166460193355925047750609439935569097035854710484073279337177639354539777763829720134409076413357976088093105026547515699191170138463435531023608650593145972192977580889158639580786653020413561544941641769628236807814012179053124710018704555363572167227800911690889284057206540902598730073382605032302685962660519969104657610422987836075681709592648748724846539541271599131095631046302076379438651770678495839170328340553197524989369685300001420592041977872765420296360751022797548655576905847010682454371198625781484353621356773328620569219915900574426359775583505799369596897576026595180342210734784602921974777135072449092630704925395951925356547763176335835682836739633213278920218224839402105591806635310048356127048925594332271372294868627558347011672647637984817961015414868880284903553829626169082907570782015834246897596469931585693983336717568205613757133305314133043918992269797023667514033393038445738725170266820357888922534229829217607706704835048854690443019602110866662503597245548240888952996580529058539718642444611274913412716500571585609523701365716980190097208228098217719479004439863087195051814162095745816100277568061579426115420283503503768458066092024646439061473849352307428768865447840279344772205043535749640678008893826841796577422535934098294790498157420967850565831185233174476986240050737710332145014630908807534908597599921836547890828618282429563444558990069252178327142941891619281815713249924623386746344343464815661606190737519411599811210346687916236879357403164664131197293108014782279811568994957436109767207011688370490796145142603166646349269878249414756331901923036930862037225179114402900146034513974055471179359456061230611352582529624894743970881712287854996867055486757560511973142133288549104091540844855539260872740805586341638438213477297750723687416137839184177867398267975438798761207959999243044798324506344406614712516108563094143509951730163371347696758895084360132418862883855471933509923378643186847259183922620362206226178843604774594009222027838217724823552165121142683877172704178947259857930512586626628117319908155496740876565610134056454781563880669166758102228611285687842922238221471502331220262640696582560778118675559115425643933347909794364734309846049661031980716032090890112588979204415365437240464210434056775659858039365511164200040260745637191584026527943261762196796238724514070029989853060712502553662530892526471651872417828313792010419832735788635549728547459410778592163484153886644904647996344263696648892850474861828092776543547337573340708084095765401964378786323712282551498908716697157762763571884109975410267519377902956104308982102681168412382622043008093277351511538296908987576970480979629384969664692735042033020835373604692923410117461304945956686180562350156751992771784540898299553432340221216862147770418155194050825009221593574167280714794073054560821397014430300173864299286892422345043777790801193781106734236984376085840597887559513893174003366965864559787611057024242795032555529990196374624606420356934419857201810716739604759677147825806264441215566655882626903255020172610690001993990185099623421757522206156449573521131649066818413197486040974120322516641722367586312603848902732344143098330339129938034553750471924963534204035694619205974055006016451453950971550601722933412022937538578 3256410709636687497640523710536011996190891775798362595841524628139516179640739759788939402874278385236679586052933566032430082611936857262650250698403183776875883691261366009834675000645422803829522638507492612536217401907475002144345681615906914802933678209881567672950290435048170571101837063968734574401379345958043158151305808860711231217265614846222963917560570640926115960735257453356940689453295153109866614527791942071388100594056119717869810786680353209163646357727992720894096265156019490713623755664576520569628862343001394038850577454012102780332327139975129777909616218044413906201166973350558475395020279164182021010631866762210647709504122128389370055526585955431985925110813342191687136150036048893792136119259809764382526132153928206205704426184434187461994761006069327454759618141145375709295867408625204238930730820849637099270754459870772080897351280306122856672422030491842378476955093019208073453231193909694910350289220180570288351129584377028933525305851879407828687307858732700956050598371237963463754830876213294047948750634272897174735502974149598219069360278604581667451477181419858243191179317481472827458757533085282806579340488712475380615431915365328156628306685204198363948705117267486135114560540836613595440906687743841683144083604698000538804178377090235443143735385073006202590770453623765144055293137874940608170136248816026128192997005279286501901547171283228802082170250314018179237904935572096068214073649659485499951902151504538665576438316076037311020711877811706557650844355660425866225043495950797952505494966124773041851168159874450990850669477673265275138002037728300234396858571305732626930175173638349746217360798697737921136416648081181583001648969616088374370876004474958373771224192085051004637998884851800644781265639530432048084200217111333366408978890620927572771872976431998525824386025731424489990254331657924921490356453158724507286442825885889461186354689354934090364296653018697656024769587422703085950398167227028865500056965432874628280567467179143373017910844073491370457320572545583829633205546299636603707032149234909156776494325199588793767648387713468347601375887463999773758179001839779359643898360189825172585406267294385885391221074514438939522295697379893348310788806514476930078509460922761719412962425435167572246294511340151182552471507809831344807591234549358631353521489102418936199487650070747912799575104107214127278033721030166247451440078549673729243069843463415113292123012614025978061143874685668037311811040055113443059872632728435525931312402552807012790825822516977821859314907672630910736615562617740203477437630260582550873212750970209133584341986093512902486333098361313507221707132116886415923784773133324832634522191911219936537656508132538216317261923182893771997642044690385514778581666787012746723970856642494683242690166133653262802204761928511403973048510574721497390159168442086368634070460198289967351349577498571382694502945003812012600707296709180114440743477002238646983054209502285857244519053127248020841722242471136864511606142001223241377444256235722871507920494857235307989659382197161059795729104153544860144059717599799194785386871485455790124943099909168363250820005219973155754038321750911291788502849284339274152879708887925060434720997785620750439597423566498853236513051549853105051399873434466445307866868604334724324186777700743739777661888484653470926865880060299368732504674418590785785291101374313682449458887892356722503960129304000470622835488029667522209949208459420337408174744428441086367323204009228231431600264688877513572207960352959644035944715813534911737132722411350516749489721075548702855423126062904793865532347286800610967530548494451015649153310882954882549 5268983209521325117711831834512713062150860057845494625107607317497761844460115064238065378572658222815205510135030798268083990562130257902850080595381454057112032435994272424131332453883910721770632657370475394081352228889494543337357688398570470573540173590188375291816788449151780146494849744763017573336373072742611674668662471993246541972534538327942980821671846824048727990653271139185370420944755319570059970452839692680828036163153155572580294859959690386803000897505756550614230674232432848689711848769603068085328053513139857474381601062662695926304520117556018936549197004697434319762711914992328103631828093176361074135341885466766011281671349929301060944810643161972888523840886724796719438835998709413761240776870232752218601813863520854954429272723975459061125856637115629531139056792916054205135037736965757436455720190534937100691346501848644846317647641057145654221077607397689389159409464217833854937584815266468238970858440096470862777489359960534732894902749455434423867650069467485558972573148373035912847461581138689999874107182036073510571185810889231432348280496829421069557068988055168291547306366407067159730129827953910364926352161360113365433392930780197036913210239033824533031612688049501969361458137306545181134890024461409888757840738003314671848097369360032466811249418466044648329495623890585501944215672104769825777842953651074982883440024881397368564050768528777042971123246894547237777623578016707343127486366160057085561425852870255645766535524304135528740190882251569644845896169822521612041143773518859531931610386408276545619626225966475637289730951522617582566770903176140513741630776349268376570853182532176588013938221233672019431207146238602550852214800801321548847862244525696084103369206715959812172907482451722481329156468148714477647644776101402618587306033562819192053688689681923149211132370074889305651860522395444333090167663505412423523322183289054125317551982462948872644108222013655092134536794434391456441194312369632032146406235311124043036899369102180303879948069252605773357466607059557885104384905755697834318384731764534051520465206911876648764515443200225908113349029597288322862270542684634898904771100995411514223844480771683636114908490652278123700163095647868787109550014474476173123307785429106126027674941543730666389804463070314553900168266704915704940010097433214103287031412481062123046746833993368275005801282950818901872042943058004465176263630714794871926947016167594060551980943126612604689261194593823534052687605665247499514654196609104692689414631164092700633748060738449324190535170313327493297393681293299318903081563608492345237947060816258794616322702125603792598922077565728872658947596327320472699444631172690343798722232171965573729240534660481478079458719421618286067672034543446227281135329317905273195622729060322997034700585966389051437754490475970814751640674058875384035063816438430632330719353048764829179442354042118720267843653087907778002671675495503826723294975910955344140816973074169967219929320646625923797826551453239545680018524623266249470721607747261168416908071827716287619044351861853794837762124988918464836983127717260499731343557666018140281695092680952904149119558652313376970900469521329446982553674293560867727046989602719133489281819182635180739771287865785745658858095327643906245180980168703429683952709202222283838079951704110705642221676095710495169660912615829358928879299025011142719710958576124399189063647569504548310224570519567126505462391284687694820639210453410522507798166185963292523772777530359880498418677886363554546328282869601366403531028417383814469476865509680855879427755629299174780386660266940488484738321341806627418984499466001617372086722905892421127 8525393919158012615352355545048725058341751833643857220949131945637278024100854824027004781446936608051885096187964364300514073174067115165500331293784637833987916127255638433966007454529333525600155295877968006617569630796969545481703370014477385376473851800069942964767078884199950717596686808731752147737752418700654832819968280853957773189800153174165944739232417464974843951388528592542311110398050472679926584980631634752216136757209275290450105646640043595966647255233749271508326939388452339403335604434179588654956915856141251513232178516674798706636847257531148714458813222741848225963878888342886579026848372340543095145973752228976658991175472057690431000337229117404874448951700066988406574986034758307553376896130042516601127946017449061160133698908409646523120617643184956985898674934061429914430905145590961675386451011384574199962100961719416927214998921363268510893499637889531767636364557237041928390816009176163149321147660277041151128618944337563666420208601334842252554957928200186515023171519610999376602292457351984047822857816308970685306688785038829651417640775434002737008546169475026534738485683888539987188887361039193171505692650072588746048824846145525193541516924238022896980317805316988104476018678143158776575796712205251571901924342701315210652275746450267909954984803539050850920266077514350645999508809979710433947979202467101111076437030160683870465597939812005845053293497208565417015528513588803411341560015819542585513328004374794311342973840380172839760902760063276202496740525482947478266187269469657484437105352533049587470794385840926628140400429195882857704772940904440748138489347655001003501028356170526334231299019931409940567623794319784133853863770417409923218738249000654457874593398801010816810906367303523126110422107679146525731844993212735984996284924183746764825561666113921675035518395806313795642114854053369254580524116664136930809765009174943586503906671817882963008404875032352748159306381857094542391592479596660897646463200743998671317466836281323676897858913326097143814787179605141714737590452055334438025416880999443208296959532111465442532163830913694255714724917061288096620449544524414258548669461185236686809250748066069521506129565166717063222458793027762135420338820988953103201817246351867845440637366978898238636098974410465736452639774514747049747601331982572734640552901583481059246234484064116187805376387058033029150076664088170712627703709264468601170016859631009173844103955740638582750405069279491571364498645720360942574526829337540218620727033716899713424573883255427146049850077985958404034009243911039522380519193869074896111159811786467928200664688219116695085255175927042379880654728444206888623229404306015176433244424083185510266897042793019694396720642604512058065314079233831742059716996104918019919593585702817680277390752100042314239959252404482218724689184633596881425222984880517000964789813247054796530791931540690102962346598091719790603378972204683941164038452913193991123871182576455824464448373773873944639548793924376410191624666624489490848165863982984039924828566684951595608703734059014854633491229142463324981042845317059694516730429151473930406638192590121267399939563872286532724938791272240738771056523577900141879926698490644193924002816968255931179368711432284598895371146877497011296580853603169874991819577806557008162266729404854445419883564580363966096526792676128727661383973443601928505002059950438081638522535461861270814184699823567597128297879314355217030588418912830859915972910614404378891095981539588111930018942575241068118536243222561010439475744230918726206609587921031372628917476704847877635809786329845282350270668628607238386515047960452633021240033788847303676 13794377128679337733064187379561438120492611891489351846056739263135039868560969888265070160019594830867090606322995162568598063736197373068350411889166091891099948563249910858097339908413244247370787953248443400698921859686464088819061058413047855950014025390258318256583867333351730864091536553494769721074125491443266507488630752847204315162334691502108925560904264289023571942041799731727681531342805792249986555433471327433044172920362430863030400506599733982769648152739505822122557613620885188093047453203782656740284969369281108987613779579337494632941367375087167651008010227439282545726590803335214682658676465516904169281315637695742670272846821986991491945147872279377762972792586791785126013822033467721314617673000275268819729759880969916114562971632385105584246474280300586517037731726977484119565942882556719111842171201919511300653447463568061773532646562420414165114577245287221156795774021454875783328400824442631388292006100373512013906108304298098399315111350790276676422607997667672073995744667984035289449754038490674047696964998345044195877874595928061083765921272263423806565615157530194826285792050295607146919017188993103536432044811432702111482217776925722230454727163271847430011930493366490073837476815449703957710686736666661460659765080704629882500373115810300376766234222005095499249761701404936147943724482084480259725822156118176093959877055042081239029648708340782888024416744103112654793152091605510754469046381979599671074753857245049957109509364684308368501093642314845847342636695305469090307331042988517016368715738941326133090420611807402265430131380718500440271543844080581261880120124004269380071881538702702922245237241165081959998830940558386684706078571218731472066600493526350541977962605516970628983813849755245607439578575827861003379489769314138603583590957746565956879250355795844824246650765881203101293975376448813587670691780169549354333087192463997711821458654280831835652513097046007840293843176291485998832786791966292929792869436055122714354366205383503980777806982578702917172253786664699599841975357811032272343801612763977259817424739023342091296679274113920163828073946658576419482720087209049157453440562180648201033095228837753157621038055818995186922621888675630922529888835463429276325125031780973971468312308522628905025903437480780290352808041219662754687611429415786837927584314064543182292981318057484462811177670008851931022119607146175177803967339979263473096963875798603234396084898867251187439666263873315105417186251385608442089181025946644911310141664880992414058321943993876470240385248299285897331402925204338841283600757477567241349106872602726722816987390344720487684177253492771252539602324771527361322674035478705520231966656255151083996137577453501172476179362026130344132986113777277969340852325422823293115216314763140677312091338066431365677713742880453033476329858692472265460286801318947633295509166295819625710234285582808823230190251179627568606050647700187767887333428824149335264688155650625791684377694420499868437375345377615955871643191247755740318887471730245208341736638512667883227748085920868649471253354131381789818025973034320194248073986817492070688333285271074171549059122524599909695839260793570185753610197871461009606973688093363327413284636150891111919139999298070344554229242205140917541761833771873304675772287008779292000346681108965151062105240676074461266187705291958086590263272468613071224713018526562480827586183031365819124409270343134723633760270599042911851227629366241382423771076800367671414868759069947992428437620461604622664864526092162376843006772648302540676086453430712228508345232334147052416196446596785770835008989970413865805499547426454250393326756694739724803 22319771047837350348416542924610163178834363725133209067005871208772317892661824712292074941466531438918975702510959526869112136910264488233850743182950729725087864690505549292063347362942577772970943249126411407316491490483433634300764428427525241326487877190328261221350946217551681581688223362226521868811877910143921340308599033701162088352134844676274870300136681753998415893430328324269992641740856264929913140414102962185260309677571706153480506153239777578736295407973255093630884553009337527496383057637962245395241885225422360500845958096012293339578214632618316365466823450181130771690469691678101261685524837857447264427289389924719329264022294044681922945485101396782637421744286858773532588808068226028867994569130317785420857705898418977274696670540794752107367091923485543502936406661038914033996848028147680787228622213304085500615548425287478700747645483783682676008076883176752924432138578691917711719216833618794537613153760650553165034727248635662065735319952125118928977565925867858589018916187595034666052046495842658095519822814654014881184563380966890735183562047697426543574161327005221361024277734184147134107904550032296707937737461505290857531042623071247423996244087509870326992248298683478178313495493592862734286483448871913032561689423405945093152648862260568286721219025544146350170027778919286793943233292064190693673801358585277205036314085202765109495246648152788733077710241311678071808680605194314165810606397799142256588081861619844268452483205064481208261996402378122049839377220788416568573518312458174500805821091474375720561214997648328893570531809914383297976316784985022010018609471659270383572909894873229256476536261096491900566454734878170818559942341636141395285338742527004999852556004317981445794720217058768733550000683507007529111334762526874588579875881930312721704812021909766499282169161687516896936090230502182842251215896833686285142852201638941298325365326098714798660917972078360588453149558148580541224379271562953827439332636799121385671833041664827657675665895904800060987040966269841314579565809866366710369218493763420468114384271134807533828843105027614419542798863719864516103169631733463416002110023365884887842345976903822679127167620985712250145080681703393057950227656452382379526942278132841816908949675501527143662002411891246026805447815734409804435212761398359572568137215648024241539215802121600650616554057066884960172196271234345890431671049243732074266980735429612408240188854607889770190071333152806676781684897105969384663707855284185129930868698597892127482895827249303616290235326285244301365412169115378363664119951346642137460266684389194651017652078563837182769432429419813632420257053215734249945903439784720696665211080338336594263034620246520866872900004630642402198300193011109711400569321527741313034809900465958357589482090166473679917672995284935252201019043326069146885509786199464634260298979542874422241026217123498926192536849271347359209429619904871709051371881737343326388559338227081616148826068194373813076924139301992366063267857872245231167053335713229248266565205197619478836451819979883504104744583273845114799068818351379888764804415968966001094971477861195438948998686396886442420778052065810924524666721449361151486900386584007521337287453119147043098508710730354943449600389082637928838342687375043179667591864815336300162613410513819596481988805256438427362714497968086814251647245912214999729715078477000562466108718493227089938593970166702320762058149913398128881816048279072242339743987414772050305964740609536104358456563036845690783400769314723387282482516879221266882696041351743601137262709038994930052006232926631053185279658599021104192014595386906883414566790483587028479 36114148176516688081480730304171601299326975616622560913062610471907357761222794600557145101486126269786066308833954689437710200646461861302201155072116821616187813253755460150160687271355822020341731202374854808015413350169897723119825486840573097276501902580586579477934813550903412445779759915721291589886003401587187847797229786548366403514469536178383795861040946043021987835472128055997674173083662057179899695847574289618304482597934137016510906659839511561505943560712760915753442166630222715589430510841744902135526854594703469488459737675349787972519582007705484016474833677620413317417060495013315944344201303374351433708605027620461999536869116031673414890632973676160400394536873650558658602630101693750182612242130593054240587465779388893389259642173179857691613566203786130019974138388016398153562790910704399899070793415223596801268995888855540474280292046204096841122654128463974081227912600146793495047617658061425925905159861024065178940835552933760465050431302915395605400173923535530663014660855579069955501800534333332143216787812999059077062437976894951818949483319960850350139776484535416187310069784479754281026921739025400244369782272937992969013260399996969654450971250781717757004178792049968252150972309042566691997170185538574493221454504110574975653021978070868663487453247549241849419789480324222941886957774148670953399623514703453298996191140244846348524895356493571621102126985414790726601832696799824920279652779778741927662835718864894225561992569748789576763090044692967897182013916093885658880849355446691517174536830415701853651635609455731159000663190632883738247860629065603271898729595663539763644791433575932178721773502261573860565285675436557503266020912854872867351939236053355541830518609834952074778534066814014340989579259334868532490824531841013192163466839676878678584062377705611323528819927568719998230065606950996429921907677003235639475939394102939010146823980379546634313431069124368428746992734440066540057166063529246757232202072854244100026199247048331638453472878483502978159294752934540914421541167677398982713020106527397727931809010158149625125522379141534583370872810378440935585889718942512573455550585546533088875441205741575836748205676804707437067702570379023980480116491915811655852067309913815788377261984024156048687905849372026317158255856954072559122824190814146410495721529712567423832197120179085113427731727075736891194315878380521068235638389222995547363944611228215642636273753475140957629737597026121782198871148491577826752888881230830041241010363478884541541217771243180086530620574584530198696815094319717204947720708824209378809373556991921373834639468908557670453609682912584884959859377987261611268577475263426216897177736593487678259172197700022039349079366656772746331286306788387680741421646950564606150026215229099034901573428232905045595386738165388285677348902018541412345796587518412267555808145838694047951260502706307749422727100450974927815480267605059476938705310561492661653247493877707407833203762614873681514299484679608321934911049120000971485940807443474456608301843710287362064199905900752153575997937405226904617094791385700083012878402786458071783304763132269610498057808921486352116617312859381110278276919320822161093874074677370848750572089270038155017648710028425288003829631287778846380104521146916484343364151824115592162960091622784747544094045932512888628902203260044900841910518380828070954428097003563043293694901524592909063003240509837044395818420512441040733043677645313624763515064215139721720833499679484096786894183498450313448265295406885764125489289527523807558782494782455829645607941373141982468202679523416824020288648569434969997514142813361133807893547178326753282 58433919224354038429897273228781764478161339341755769980068481680679675653884619312849220042952657708705042011344914216306822337556726349536051898255067551341275677944261009442224034634298399793312674451501266215331904840653331357420589915268098338602989779770914840699285759768455094027467983277947813458697881311731109188105828820249528491866604380854658666161177627797020403728902456380267666814824518322109812836261677251803564792275505843169991412813079289140242238968686016009384326719639560243085813568479707147530768739820125829989305695771362081312097796640323800381941657127801544089107530186691417206029726141231798698135894417545181328800891410076355337836118075072943037816281160509332191191438169919779050606811260910839661445171677807870663956312713974609798980658127271673522910545049055312187559638938852080686299415628527682301884544314143019175027937529987779517130731011640727005660051178838711206766834491680220463518313621674618343975562801569422530785751255040514534377739849403389252033577043174104621553847030175990238736610627653073958247001357861842554133045367658276893713937811540637548334347518663901415134826289057696952307519734443283826544303023068217078447215338291588083996427090733446430464467802635429426283653634410487525783143927516520068805670840331436950208672273093388199589817259243509735830191066212861647073424873288730504032505225447611458020142004646360354179837226726468798410513301994139086090259177577884184250917580484738494014475774813270785025086447071089947021391136882302227454367667904866017980357921890077574212850607104060052571195000547267036224177414050625281917339067322810147217701328449161435198309763358065761131740410314728321825963254491014262637277978580360541683074614152933520573254283872783074539579942841876061602159294367887780743342721607191400288874399615377822810989089256236895166155837453179272173123573836921924618791595741880308472189306478261432974349041202729017200142292588647081281545335092200584671534709653365485698032288713159296129138774388303039146335719204382229001106977543765693082238600290818196046193281292957158954365484169149002913671674098305451689059350675975989457660608912417976717787182645398515875373297790419687212783252082417038430344148368194035379009588046657605286211659525683192349908261263272343963703672688482363558036952212505983063858745360591665371412922300685764044285784142621851366512149614866958667309438466727621630925346657828050876462608083030727819808930178928458980556045597547211416596736515015171171879062076776669024113598492483702820855900869774500062227263435095568611840660170851516269640241381116024852291547472394853223042112332398517380116431202995861214480915048146913562388816931824272522206817946542906221979371287415148529586499799497392141990968478305919184836115695057392491055518399378725513059733450323537878367945344610559231306373717876901816107125381568470192286719829806675615263949722322287024909887509931185990077192298835988041806832104789023982029830809247494591223623981600687998178906992246202652994143156703704874867048907906840900651725880635657680742520679072019416163609737079971777682818755424072878276240993465049447056495318372794537395364925192034802943640770183312580774461261378370087859542389185198116157420758780231453430020370416775218447208521959664010956016639451892325573502136604344026082851188951315991616701228131715093557764293043070684143175480563605759803620017819999001597210676539365157876570425839169614859725924385867103259051629911772026798240289020201145350746535296004231666064721609151407971806406745074441478536134199430782870650412136912520208912450047877205568307168456074189528738200268017222460337661913781761 94548067400870726511378003532953365777488314958378330893131092152587033415107413913406365144438783978491108320178868905744532538203188210838253053327184372957463491198016469592384721905654221813654405653876121023347318190823229080540415402108671435879491682351501420177220573319358506473247743193669105048583884713318297035903058606797894895381073917033042462022218573840042391564374584436265340987908180379289712532109251541421869274873439980186502319472918800701748182529398776925137768886269782958675244079321452049666295594414829299477765433446711869284617378648029284398416490805421957406524590681704733150373927444606150131844499445165643328337760526108028752726751048749103438210818034159890849794068271613529233219053391503893902032637457196764053215954887154467490594224331057803542884683437071710341122429849556480585370209043751279103153540202998559649308229576191876358253385140104701086887963778985504701814452149741646389423473482698683522916398354503182995836182557955910139777913772938919915048237898753174577055647564509322381953398440652133035309439334756794373082528687619127243853714296076053735644417303143655696161748028083097196677302007381276795557563423065186732898186589073305841000605882783414682615440111677996118280823819949062019004598431627095044458692818402305613696125520642630049009606739567732677717148840361532600473048387992183803028696365692457806545037361139931975281964212141259525012345998793964006369911957356626111913753299349632719576468344562060361788176491764057844203405052976187886335217023351557535154894752305779427864486216559791211571858191180150774472038043116228553816068662986349910862492762025093613920083265619639621697026085751285825091984167345887129989217214633716083513593223987885595351788350686797415529159202176744594092983826208900972906809561284070078872936777320989146339809016824956893396221444404175702095031250840157564094730989844819318619013286857808067287780110327097445947135027028713621338711398621447341903736782507609585724231535761490934582611652871806017305630472138923143422648145221164675795258706818215923978002291451106784079887863310683586284544484476746387274949069618488562913211194458951065593228388386974352623578974595127124280485822461441018910460640284005691231076897960473393663473643549839241037814110635298661121959529642554922680861143026652393559580275073159089203610042479770877472017511218358742560828027995388026902947827689723168994869957886043693512736361558171685449546527205050241179427194089125038169485617745845212412889425555661210565331369735663789351476475454304698759042357754812773559561368995060895079013798373037398686931016380952523676651795244983402339975809190257472483058390311573130459566553525311950781379015646564945571058737944187894860872806587885072883412615428870525334862330924156427392628946632283771108446471615711823555716847363151971577102961236289169371915271220262518143547222536114425037991050173297214840390155114990662928782502860328649695054325982496431815233593424121176105523108661209009933089956112247174138934950600178161483168892618194202964851631781387811256740458084298924033258401122780054790561221541882144661581004125734659945114304239859146654012677784573145081220560091005473674648535938749218838431631659223353133806130787205519457259651658195621598551729668876148354320168463567484488533593759389091570176897121464204620518904488176615935468282673871141638571272484126649053498521542412908064600451186376409553694990938280210347903403569699491866774115845051493747631739968504297932244930033746317679931360128494915533461095934268882000261030916655260428478591785278894988411591973464701225856955737891044187042881013629151030353884840240535043 152981986625224764941275276761735130255649654300134100873199573833266709068992033226255585187391441687196150331523783122051354875759914560374304951582251924298739169142277479034608756539952621606967080105377387238679223031476560437961005317376769774482481462122416260876506333087813600500715726471616918507281766025049406224008887427047423387247678297887701128183396201637062795293277040816533007802732698701399525368370928793225434067148945823356493732285998089841990421498084792934522095605909343201761057647801159197197064334234955129467071129218073950596715175288353084780358147933223501495632120868396150356403653585837948829980393862710824657138651936184384090562869123822046476027099194669223040985506441533308283825864652414733563477809135004634717172267601129077289574882458329477065795228486127022528682068788408561271669624672278961405038084517141578824336167106179655875384116151745428092548014957824215908581286641421866852941787104373301866891961156072605526621933812996424674155653622342309167081814941927279198609494594685312620690009068305206993556440692618636927215574055277404137567652107616691283978764821807557111296574317140794148984821741824560622101866446133403811345401927364893924997032973516861113079907914313425544564477454359549544787742359143615113264363658733742563904797793736018248599423998811242413547339906574394247546473261280914307061201591140069264565179365786292329461801438867728323422859300788103092460171134934510296164670879834371213590944119375331146813262938835147791224796189858490113789584691256423553135252674195857002077336823663851264143053191727417810696215457166853835733407730309160058080194090474255049118393028977705382828766496066014146917947421836901392626495193214076625196667838140819115925042634559580490068739145018620655695143120576788753650152282891261479161811176936366969150798106081193788562377281857354974268154824677079488713522585586699627091202593336069500262129151529826463147277319617360702620256733713647926575271492160975071422263824474650230711750427260109056451966191343305372423755122764930368877497307109034120024195572744063943034253347479832589198216158575051838964008420294464552370871803371369042311015571032372868498952272385546811493269074543858057340804788652199726610086486007130998949685303075522433387722371898571005085663202331037286238898095239158376623439020433750754575022964780456641516303295360980593927340177610254985570257266156450790625795304543871744389198969641202413269355457383978700159983239686672249586082354260860383584768487632437879589444968228147492172332376324079198821269621189908342171402029165912411348654039754153423539222563853347376899693907577381919720092240393253333697539305359720044021955370457136223303585833593107851793038109231603043390459306387382465025403583907176444519698446619213819883684465031662496621506205066035361434084792707762530808409334954166071188022396601830988335833942365921100653254999895619501865300042624921848918859695159164637736861158087285455797263424233368670696746732642809697931268863104493376791929093756881866358035941526101043865503357662023468937482978763370943449422010859860026568244040297306217539857245119199709392170799558231941191408042709765179884164200861188786255422997200127588926291174048408551249963551545985750910689672028612396816998938190835812365276185103019376814107095895993435596259748310415520612135605716308331029026046966914212322714447964690254813302141560232907066197661862915774711571561364119379962763129494085358970033167474963265774429980257524499077595676569042321911597424850104066941432902341013956441739567050854691211349242197415807508620504423512578431425262906347118376571619213897168252814222502154316804 247530054026095491452653280294688496033137969258512431766330665985853742484099447139661950331830225665687258651702652027795887413963102771212558004909436297256202660340293948626993478445606843420621485759253508262026541222299789518501420719485441210361973144473917681053726906407172106973963469665286023555865650738367703259911946033845318282628752214920743590205614775477105186857651625252798348790640879080689237900480180334647303342022385803542996051758916890543738604027483569859659864492179126160436301727122611246863359928649784428944836562664785819881332553936382369178774638738645458902156711550100883506777581030444098961824893307876467985476412462292412843289620172571149914237917228829113890779574713146837517044918043918627465510446592201398770388222488283544780169106789387280608679911923198732869804498637965041857039833716030240508191624720140138473644396682371532233637501291850129179435978736809720610395738791163513242365260587071985389808359510575788522458116370952334813933567395281229082130052840680453775665142159194635002643407508957340028865880027375431300298102742896531381421366403692745019623182124951212807458322345223891345662123749205837417659429869198590544243588516438199765997638856300275795695348025991421662845301274308611563792340790770710157723056477136048177600923314378648297609030738378975091264488746935926848019521649273098110089897956832527071110216726926224304743765651008987848435205299582067098830083092291136408078424179184003933167412463937391508601439430599205635428201242834678000124801714607981088290147426501636429941823040223642475714911382907568585168253500283082389549476393295509968942686852499348663038476294597345004525792581817299972009931589182788522615712407847792708710261062128704711276830985246377905597898347195365249788126946785689726556961844175331558034747954257356115490607122906150681958598726261530676363186075517237052808253575431518945710215880193877567549909261856923909094412346646074323958968132335095268479008274668584657146495360236141165294362080131915073757596663482228515846403267986095044672756013927250044002197864195170727114141210790516175482760643051798226238957489912953115284082997830320107904243959419347221122531246980673935773754897005299076251265428936205417841163383967604392613158946625361674425536482533869666207622731973592208919759238265810770183019295506909843778633007260227518988320806579339336488168205605643012473205093846173959620665262429915437901935331199374098718901984589028941339410433775797287755567972006705595997657913188099090154776337963811281523808851778383897580311978944721115730963398160973306427667838127190822226153580234299900576345702822365322060068049583510806180597695671293174481521923982448174084964849239672797364096847175790938251332112975267537908816199336046969854560777543370247276313411663946267729952676681747184989801640070914502385512296190455240559937667822093506479381164902035525691246050068916716705690197739912511847642198019493287431915484069781887612497017657489846802269841304018707864358819216740550930864044357060027841204834144295246830354989443411280194223436847669867482680411982640081358805261839188362201438249244934369337285103798091087845420720494338324965384760952194259930071533138876807764722805707631904383769682333191270367949323686808018415550667859711960719596353566586861302640689655382527166436645431879725232654510204484946964494329640785353961285720448816903866800663102645815130798113049292184265266552302399590310666533063784850836807283320014759522061720226028797009840606602788639591528784978598982474893998275282838442000597967509951639827833982694702497032096396977279657282218644238162563614500227526319283168107342394851847 400512040651320256393928557056423626288787623558646532639530239819120451553091480365917535519221667352883408983226435149847242289723017331586862956491688221554941829482571427661602234985559465027588565864630895500705764253776349956462426036862210984844454606596333941930233239494985707474679196136902942063147416763417109483920833460892741669876430512808444718389010977114167982150928666069331356593373577782088763268851109127872737409171331626899489784044914980385729025525568362794181960098088469362197359374923770444060424262884739558411907691882859770478047729224735453959132786671868960397788832418497033863181234616282047791805287170587292642615064398476796933852489296393196390265016423498336931765081154680145800870782696333361028988255727206033487560490089412622069743989247716757674475140409325755398486567426373603128709458388309201913229709237281717297980563788551188109021617443595557271983993694633936518977025432585380095307047691445287256700320666648394049080050183948759488089221017623538249211867782607732974274636753879947623333416577262547022422320719994068227513676798173935518989018511309436303601946946758769918754896662364685494646945491030398039761296315331994355588990443803093690994671829817136908775255940304847207409778728668161108580083149914325270987420135869790741505721108114666546208454737190217504811828653510321095565994910554012417151099547972596335675396092712516634205567089876716171858064600370170191290254227225646704243095059018375146758356583312722655414702369434353426652997432693168113914386405864404641425400100697493432019159863887493739857964574634986395864468957449936225282884123604670027022880942973603712156869323575050387354559077883314118927879011019689915242207601061869333906928900269523827201873619805958395666637492213985905483270067362478480207114127066593037196559131193723084641405228987344470520976008118885650631340900194316541521776161018218572801418473529947067812038413386750372241689666263435026579224866048743195054279766829559728568759184710791396006112507392024130209562854825533888270158390751025413550253321036284164026393436939234670148394558270348764680976801626850065202965910207417667654954801201689150215259530451720089621483519366220747267023971549157133592070217588405144451249869974735391562844249700884107813258854432440671293285934304629495158657333504969146806458315940660598353655972040684160504624101940319930415508383215897998043462360002624750246460566973787182291134300840576511988257441973007641499393673462469537341650326267565979582426400820536969744221306191958773696141228102463096401581600134629457902365427326885717776321877881344245765376144087647277476039610399747241780160289976764139878137001031013218503477294439584397388550682832780649157134956407393981641791419362650002934219783243223414374259224162584067159997876695608764351458881747782546423886432778677033193921631144621311747960064423924494815215107267956626344501049964536218570990240364834360766501893178657925168776642157067343409760441890858517499016573946828405795627682321233927722793138113941894199240775670396290695858347105434749131706415611040810932102422842500107927049302136494579741295494364134078729455903356323029036828763204103504849548961813383046185494530339004396691013979756040455633733233879177021278638995715420415232549606050547773084872538669606238116747785551375962762696393742295245844790115920793277993520376607699566284000168413507158680102804662878722196995774912207958976838113666518970273429662557870209806840450794978025296491700483553296087436283171830961503126209828703049416326900616296794883740165018364642851177076180110510005652600820489858088707481550585280940186119441423487535982329844549168651 648042094677415747846581837351112122321925592817158964405860905804974194037190927505579485851051893018570667634929087177643129703686120102799420961401124518811144489822865376288595713431166308448210051623884403762732305476076139474963846756347652195206427751070251622983960145902157814448642665802188965619013067501784812743832779494738059952505182727729188308594625752591273169008580291322129705384014456862778001169331289462520040751193717430442485835803831870929467629553051932653841824590267595522633661102046381690923784191534523987356744254547645590359380283161117823137907425410514419299945543968597917369958815646726146753630180478463760628091476860769209777142109468964346304502933652327450822544655867826983317915700740251988494498702319407432257948712577696166849913096037104038283155052332524488268291066064338644985749292104339442421421333957421855771624960470922720342659118735445686451419972431443657129372764223748893337672308278517272646508680177224182571538166554901094302022788412904767331341920623288186749939778913074582625976824086219887051288200747369499527811779541070466900410384915002181323225129071709982726213219007588576840309069240236235457420726184530584899832578960241293456992310686117412704470603966296268870255080002976772672372423940685035428710476613005838919106644422493314843817485475569192596076317400446247943585516559827110527240997504805123406785612819638740938949332740885704020293269899952237290120337319516783112321519238202379079925769047250114164016141800033559062081198675527846114039188120472385729715547527199129861960982904111136215572875957542554981032722457733018614832360516900179995965567795472952375195345618172395391880351659700614090937810600202478437857920008909662042617189962398228538478704605052336301264535839409351155271397014148168206764075971241924595231307085451079200132012351893495152479574734380416326994526975711553594330029736449737518511634353723824635361947675243674281336102012909509350538192998383838463533288041498144385715254544946932561300474587523939203967159518307762404116561658737120458223009334963534208028591301134405397262535769060864940163737444678648291441923400120370782939037799032009258119503489871067310744014766346894683040778868554456209843335646524610562292413253942339784176003196326245782238795336966310337500908666278221704078416571770779916989477611447570442132288979300911679492944908519659266903676588821541010516667453848798709867125829403702620193069632039950610707159426562036582838804107238266825097218298274271575580084314008636059898997644155770055219950079880846993981893579079350573633328825487859024203989716008535067991529724321947178052385313222112563840228339560274946058734696702306392984999218422032571473515532072453446521231803583184919893123532337917540843035982579270384228820001705954314436311288359555032081411558429529731413688072849591535579433927335076552307897732246018001294596272169992152035747100033452935276680438104746872614144091198151212600692126226849231022257459548348364301286415250847113659986501537974478653657182471001922040445609814691537526213336548846029325929852458710678414782834825140189285854563975682941942733743609068448066741007154414116882249483698441829814933722765577306115566063477881204455736785463672360017502916212368291646588319402228433648100273910259733804468892236193099419388475206758489929133039174174971077444626125278224958014706248484920245285888862324062546903467765524537327793887961500143242104665968918560584096195621655060643647734114992784818553420709582093097276889774619601094654994807302031891220898891579633325740762985874594491004910162805212502684697217467137745989700194823443503800619668949806819150437186944020498 1048554135328736004240510394407535748610713216375805497045391145624094645590282407871497021370273560371454076618155522327490371993409137434386283917892812740366086319305436803950197948416725773475798617488515299263438069729852489431426272793209863180050882357666585564914193385397143521923321861939091907682160484265201922227753612955630801622381613240537633026983636729705441151159508957391461061977388034644866764438182398590392778160365049057341975619848746851315196655078620295448023784688356064884831020476970152134984208454419263545768651946430505360837428012385853277097040212082383379697734376387094951233140050263008194545435467649051053270706541259246006710994598765357542694767950075825787754309737022507129118786483436585349523486958046613465745509202667108788919657085284820795957630192741850243666777633490712248114458750492648644334651043194703573069605524259473908451680736179041243723403966126077593648349789656334273432979355969962559903209000843872576620618216738849853790112009430528305580553788405895919724214415666954530249310240663482434073710521467363567755325456339244402419399403426311617626827076018468752644968115669953262334956014731266633497182022499862579255421569404044387147986982515934549613245859906601116077664858731644933780952507090599360699697896748875629660612365530607981390025940212759410100888146053956569039151511470381122944392097052777719742461008912351257573154899830762420192151334500322407481410591546742429816564614297220754226684125630562836819430844169467912488734196108221014227953574526336790371140947627896623293980142767998629955430840532177541376897191415182954840115244640504850022988448738446556087352214941747445779234910737583928209865689611222168353100127609971531376524118862667752365680578224858294696931173331623337060754667081510646686971190098308517632427866216644802284773417580880839623000550742499301977625867875905870135851805897467956091313052827253771703173986088630424653577791679172944377117417864432581658587567808327704114284013729657723957306587094915963334176722373133296292386720049488145871773262655999818372054984738073640067410930327331213704844714246305498356644889310327788450593992600233698408334763020322787400365498285713115430307802840103613343435405864113015706743663123917075175738847446027129890052054191398751008794194600582851199237073905275749063795935927388231040485944951341595839997569010459979197319184972037439008560129813851423460113586396377489802484203932880527122695416868535044224338197780700736362438868624541837555162510714829173029643218950347728828916091307983310090383475179213980031535694252814744741980311593889879313756905868409594455528424923621859805620388629537039085936871697733319611488476512861616968862066214905234095678366759990578901534914951700567543777255765822493798603079225868538381596309165055163796432870440177312277837574505628268568773355558479697864055857796669942496109811379437948778380248149997989153847670678469581233380645984376809137769468768383916574432017901439206881800302989197675519455614183859208406376450320584943816239686385485087828222071683654280778457636268069751489346885257667640297212903866112177521684029237973202526796196910510737145919078246902545334664482684578960352301060593816885601146750765219712815651236150091545312925227315117648848880649879960807506889341430905799337536136260758134452691829432916470216922234742046071502951535082856184486529286057275831221227006272428403259524789662873708102218942779635437530857525858179525270450488184909970810115045121193135389184713172946450562597781204636005081307547799507876428209480928004239237342181986342915722508337298037956995834697181745408724443986739110373294355132767031493189149 1696596230006151752087092231758647870932638809192964461451252051429068839627473335377076507221325453390024744253084609505133501697095257537185704879293937259177230809128302180238793661847892081924008669112399703026170375205928628906390119549557515375257310108736837187898153531299301336371964527741280873301173551766986734971586392450368861574886795968266821335578262482296714320168089248713590767361402491507644765607513688052912818911558766487784461455652578722244664284631672228101865609278623660407464681579016533825907992645953787533125396200978150951196808295546971100234947637492897798997679920355692868603098865909734341299065648127514813898798018120015216488136708234321888999270883728153238576854392890334112436702184176837338017985660366020898003457915244804955769570181321924834240785245074374731935068699555050893100208042596988086756072377152125428841230484730396628794339854914486930174823938557521250777722553880083166770651664248479832549717681021096759192156383293750948092134797843433072911895709029184106474154194580029112875287064749702321124998722214733067283137235880314869319809788341313798950052205090178735371181334677541839175265083971502868954602748684393164155254148364285680604979293202051962317716463872897384947919938734621706453324931031284396128408373361881468579719009953101296233843425688328602696964463454402816982737028030208233471633094557582843149246621731989998512104232571648124212444604400274644771530928866259212928886133535423133306609894677812950983446985969501471550815394783748860341992762646809176100856495155095753155941125672109766171003716489720096357929913872915973454947605157405030018954016533919508462547560559919841171115262397284542300803500211424646790958047618881193419141308825065980904159282829910630998195709171032688216026064095658814893735266069550442227659173302095881484905429932774334775480125476879718304620394851617423730181835633917693609824687180977596338535933763874098934913893692082453727655610862816420122120855849825848499999268274604656518607061682439902538143881891441058696503281708225266329996271990963352580083576039208045464673466096392078645008451690984146648086812710448159233533030399265707666454266510193854711109513052060010113348581708658069553278741510637626269036076377859414959914850642353375672290849528365061346295103266861072903315490477046528980785413538835801482618233930642507519490513918979638464222861560858980019076797267700222169980712225781192422677273564920477733402576295097080807177001887939003187536086922816109130742595028837809089542216594503498884136041387864157084365368758293330605169023078302603766184301309898414381748435592731541633580810236843972369460616969097314031995606394435626004473475731283649540335581746977687542199598563573763821428038484038485084620291748401764182831899227574492696032620453414718828514281998606842009251262578477860104352789485814774416363755528915960497404407651607940930415995250031442089124351116574328105994790075574960350370160894610765805454275360987555246101589404448522633115600685397182885030107503055945738280131995299779365748285020203126807783566120528462167761668092492780486498758430087860463626762981582270974862937917665151262801327730600987164479416407344537658416626657294766805602487550683385175668739066303913604571815634519877282528750153871067240693810323141992436955524735964892942620962472090645187999679368171349727909549789104669406774571946138155283773909740193927796852583550835208245461047445604356091441622053801180331094135919024963594933598541902717482281990062721070163692436199443307113198768698399456061535221690990113831833186896505720935011021995255424133580686881940232167947787358779323101174283204218437209647 2745150365334887756327602626166183619543352025568769958496643197053163485217755743248573528591599013761478820871240131832623873690504394971571988797186749999543317128433738984188991610264617855399807286600915002289608444935781118337816392342767378555308192466403422752812346916696444858295286389680372780983334036032188657199340005405999663197268409208804454362561899212002155471327598206105051829338790526152511530045696086643305597071923815545126437075501325573559860939710292523549889393966979725292295702055986685960892201100373051078894048147408656312034236307932824377331987849575281178695414296742787819836238916172742535844501115776565867169504559379261223199131306999679431694038833803979026331164129912841241555488667613422687541472618412634363748967117911913744689227266606745630198415437816224975601846333045763141214666793089636731090723420346829001910836008989870537246020591093528173898227904683598844426072343536417440203631020218442392452926681864969335812774600032600801882246807273961378492449497435080026198368610246983643124597305413184755198709243682096635038462692219559271739209191767625416576879281108647488016149450347495101510221098702769502451784771184255743410675717768330067752966275717986511930962323779498501025584797466266640234277438121883756828106270110757098240331375483709277623869365901088012797852609508359386021888539500589356416025191610360562891707630644341256085259132402410544404595938900597052252941520413001642745450747832643887533294020308375787802877830138969384039549590891969874569946337173145966471997442782992376449921268440108396126434557021897637734827105288098928295062849797909880041942465272366064549899775501667286950350173134868470510669189822646815144058175228852724795665427687733733269839861054768925695126882502656025276780731177169461580706456167858959860087039518740683769678847513655174398480676219379020282246262727523293866033641531385649701137740008231368041709919852504523588491685371255398104773028727249001780708423658153552614283282004262380475913648777355865872320604264574354988890001757713412201769534646963170952138560777281685532084396423723292349853165937289645004731702020775947684127022999499406074789029530516642111475011337773125543656384548761682896714147374750641975779739501776490135653698088380505562342903719763812355089297867443924102552564382322278044581349466224032523104178881984103359488082929439617661542046532896419027636927081551645630094298622158682225161477497801004856097993163632125031515199668639739549974955547357946685905105743666982119185435544851227713052132695847467174748843937507310636704717331117348508164612903788293695505341461141136089109235160465832175081005598634353117932478092168945615961952244145266509197647961882921637877965323564342722962953435739052628397547514224257981434978453443031077628929618469882624947152438784154287088837084106128673126145044294472280419613325585902993514219031045889708796243400029431242972021795043909339375436059951769488139629662994682379886293262426762127901892393646198152571214869256391291406557823640889554519818380784867193970356703857407586241202388598213657108553350160420783711662296200037985310792219555473501659134828175888408720405977503532499143899091923498010717687251111652406749238315903097991319975216395458917497042949637526131409400033831874747583151754047791774491660996723027395312791905007115404921914110217421230861084871960853893303858003413986505000916012622331056377373213708916347679990225239793622299147911980705601544624103934934405048643663095852871466703235667520726290217404079312194506316497907332489744702618994353069175368882848636657519359293293381129415384063685640892391774097889696395529415971249930398796 4441746595341039508414694857924831490475990834761734419947895248482232324845229078625650035812924467151503565124324741337757375387599652508757693676480687258720547937562041164427785272112509937323815955713314705315778820141709747244206511892324893930565502575140259940710500447995746194667250917421653654284507587799175392170926397856368524772155205177071275698140161694298869791495687454818642596700193017660156295653209774696218415983482582032910898531153904295804525224341964751651755003245603385699760383635003219786800193746326838612019444348386807263231044603479795477566935487068178977693094217098480688439337782082476877143566763904080681068302577499276439687268015234001320693309717532132264908018522803175353992190851790260025559458278778655261752425033156718700458797447928670464439200682890599707536915032600814034314874835686624817846795797498954430752066493720267166040360446008015104073051843241120095203794897416500606974282684466922225002644362886066095004930983326351749974381605117394451404345206464264132672522804827012755999884370162887076323707965896829702321599928099874141059018980108939215526931486198826223387330785025036940685486182674272371406387519868648907565929866132615748357945568920038474248678787652395885973504736200888346687602369153168152956514643472638566820050385436810573857712791589416615494817072962762203004625567530797589887658286167943406040954252376331254597363364974058668617040543300871697024472449279260855674336881368067020839903914986188738786324816108470855590364985675718734911939099819955142572853937938088129605862394112218162297438273511617734092757019161014901750010454955314910060896481806285573012447336061587128121465435532153012811472690034071461935016222847733918214806736512799714173999143884679556693322591673688713492806795272828276474441722237409402087746212820836565254584277446429509173960801696258738586866657579140717596215477165303343310962427189208964380245853616378622523405579063337851832428639590065421902829279507979401114282550278867036994520710459795768410464486156015413685393283465938678531765806637926523532222136816489730996757862520115370994861617628273791652818514731224106917660053398765113741243296040710496822584524389833135657004966257419752449992888885388268244815815879635905095568548730733881234633753248128873701384401134304997005868054859368807025366763005059834005722412812626610878978596848419256125764908093755399046713724349251867800075010847939874647838751062721482589500569458729205838692201556578742737511042470174055816647700772504791208727652139354726597188174083711624259114212695800641241873740409419952274348914213686708077253777053872677722690045397309804544541622567731667149928084486604571620435427975428916049533229708860609180077563887138106544390991919777537713017839262626022164266877681017523773661550071884601453461434437390996296340099662583988777478934530109246696783368854501863490918626682653830639212238650060873332096372911618237445370226135526729838509790557605448185340568623414317374003481798094720785686815554653574176436665326696835292799950376084646559718641724060534394024768509126675824870221442653201270210420726287898448937555201137744476522072745841039671521733708104519663623315499268035669134313908406419212351725866586483166988714282699372522068858584157403413938150187702941988276962077189784211447185732687920337933754377097760592921593478388770958770634661065523300078429949552141788774825752816258853229956764544124593141037670844149713740769965781885932638760022959897999982242204998570353748693298388590889982653603522619307705085196306788551279924309984466901008555779354357592530381288548805262996070945625873060339561456669019496703699175468367608443 7186896960675927264742297484091015110019342860330504378444538445535395810062984821874223564404523480912982385995564873170381249078104047480329682473667437258263865065995780148616776882377127792723623242314229707605387265077490865582022904235092272485873695041543682693522847364692191052962537307102026435267841623831364049370266403262368187969423614385875730060702060906301025262823285660923694426038983543812667825698905861339524013055406397578037335606655229869364386164052257275201644397212583110992056085690989905747692394846699889690913492495795463575265280911412619854898923336643460156388508513841268508275576698255219412988067879680646548237807136878537662886399322233680752387348551336111291239182652716016595547679519403682713100930897191289625501392151068632445148024714535416094637616120706824683138761365646577175529541628776261548937519217845783432662902502710137703286381037101543277971279747924718939629867240952918047177913704685364617455571044751035430817705583358952551856628412391355829896794703899344158870891415073996399124481675576071831522417209578926337360062620319433412798228171876564632103810767307473711403480235372532042195707281377041873858172291052904650976605583900945816110911844638024986179641111431894386999089533667154986921879807275051909784620913583395665060381760920519851481582157490504628292669682471121589026514107031386946303683477778303968932661883020672510682622497376469213021636482201468749277413969692262498419787629200710908373197935294564526589202646247440239629914576567688609481885436993101109044851380721080506055783662552326558423872830533515371827584124449113830045073304753224790102838947078651637562347111563254415071815608667021483322141879856718277079074398076586643010472164200533447443839004939448482388449474176344738769587526449997738055148178405268361947833252339577249024263124960084683572441477915637758869112920306664011462249118696688993012100167197440332421955773468883146111897264434593249937201668317314423683537703166132953728565832283129417470434359237151634282785090420589768674283285223652090733535341284889694484360697593771416528842258943838663344714783565563436657550216752000054601787076398264519816032325571227138934059535727606261200661350806181435346707036260138910220595555381412395231222246819114386796976656967892686056473699001748921108420619241691085069948112471283866528826591694610714238466679777858873787306954626651818074350651430803513430169309470098556873000228560522487445598562622361330870207401225218482287485998017532002502552806516171773327913087684205954310240306779559091433863056633307951878578457740537300782513527117475001772759118515013813811799280557775636719622628166366020267860562578773517236397380219574182558730877670743530817955529210702449267353945355516590341415386776850280145701856134460554851290479690354484078408586876175150583428936746690117450605079574403718977202982180087766484432845713699720348008482050090304575068394706662146784745662195478499326649420220600130565226861885841079501905374191740918938258030423909965467843223150337724847319768756869513753688998427917941980265970897724889481978774792813622053922083022487936434248347420693217978181207574016928080242139685608052162767214591191533679852001159518071619100964182489581158308689499094831439565901533794929545347550221534816735860113831237575985938846729410947733246546282104875997843507588606192189631719533026377193382287952966128293775741765438589909607329978253040940821027896083943336039917877762591534183384126894832405030885868094423225215396534056111616272871007601931502211401694214121041024626928978819970183924662202994250049740581842186392411455009311513952731335554558715892233115146718298007239 11628643556016966773156992342015846600495333695092238798392433694017628134908213900499873600217447948064485951119889614508138624465703699989087376150148124516984413003557821313044562154489637730047439198027544412921166085219200612826229416127417166416439197616683942634233347812687937247629788224523680089552349211630539441541192801118736712741578819562947005758842222600599895054318973115742337022739176561472824121352115636035742429038888979610948234137809134165168911388394222026853399400458186496691816469325993125534492588593026728302932936844182270838496325514892415332465858823711639134081602730939749196714914480337696290131634643584727229306109714377814102573667337467682073080658268868243556147201175519191949539870371193942738660389175969944887253817184225351145606822162464086559076816803597424390675676398247391209844416464462886366784315015344737863414968996430404869326741483109558382044331591165839034833662138369418654152196389152286842458215407637101525822636566685304301831010017508750281301139910363608291543414219901009155124366045738958907846125175475756039681662548419307553857247151985503847630742253506299934790811020397568982881193464051314245264559810921553558542535450033561564468857413558063460428319899084290272972594269868043333609482176428220062741135557056034231880432146357330425339294949079921243787486755433883792031139674562184536191341763946247374973616135397003765279985862350527881638677025502340446301886418971523354094124510568777929213101850280753265375527462355911095220279562243407344393824536813056251617705318659168635661646056664544720721311104045133105920341143610128731795083759708539700163735428884937210574794447624841543193281044199174496133614569890789739014090620924320561225278900713333161617838148824128039081772065850033452262394321722826014529589900642677764035579465160413814278847402406514192746402279611896497455979577885804729058464595861992336323062594386649296802201627085261768635302843497931101769630307907379845586366982674112354842848382561996454464955069696947402693249576576605182359676568689590769265301147922816218016582834410261147525600121463954034339576401193837228310368731483224161519447129797029633557275621611937635756644060117439396857666317063601187796699925145527178465411371261048300326790795549848268031610410216021559757858100136053918114288674101059892095314875476343700534549004507237325117445276626278129913071862720407217121064375780055381230244320318038431520838979623243970035099132081090536708899602781797225024997040487706058319200507288676564536640739823560680907428480863270715692977269329108593120452198149957253056862441331161709850012895568886491534489325955085441264164250734097687417788647065378088856832808195003098608264107379604139998033093097840555811744937275294128054433226039476302309968733815478078624952029762239085531870021313566146879769036409274106228084014104512965673986351034589629975351472396353550987220720700151177907164767618280384230115888331005229165159210778205578750567430509255396875908855989835639723944845978563539644279888477034560140119719132954160313407640151978476374290739406851565306848996235466823324132503748775834883185902621830962454703280319857967751763873393712571826390530090459569348986315067924490831452690049076064325297403781794203961634760117952332959285700409237758724137075908427360197386032462098868071180300659202636590765101066994963148402354194091900493460717902518270082550567518254848762837286742797165533962065566928093049780687843544477466822144149854730405013128073092993578964089832444702506255524611124550809916486890520909592304551238963286871192480441557351842580121870390991655407525954937387013070897011227735388936814322186665615682 18815540516692894037899289826106861710514676555422743176836972139553023944971198722374097164621971428977468337115454487678519873543807747469417058623815561775248278069553601461661339036866765522771062440341774120526553350296691478408252320362509438902312892658227625327756195177380128300592325531625706524820190835461903490911459204381104900711002433948822735819544283506900920317142258776666031448778160105285491947051021497375266442094295377188985569744464364034533297552446479302055043797670769607683872555016983031282184983439726617993846429339977734413761606426305035187364782160355099290470111244781017704990491178592915703119702523265373777543916851256351765460066659701362825468006820204354847386383828235208545087549890597625451761320073161234512755209335293983590754846876999502653714432924304249073814437763893968385373958093239147915721834233190521296077871499140542572613122520211101660015611339090557974463529379322336701330110093837651459913786452388136956640342150044256853687638429900106111197934614262952450414305634975005554248847721315030739368542385054682377041725168738740966655475323862068479734553020813773646194291255770101025076900745428356119122732101974458209519141033934507380579769258196088446607961010516184659971683803535198320531361983703271972525756470639429896940813907277850276820877106570425872080156437905005381057653781593571482495025241724551343906278018417676275962608359726997094660313507703809195579300388663785852513912139769488837586299785575317791964730108603351334850194138811095953875709973806157360662556699380249141717429719216871279145183934578648477747925268059242561840157064461764490266574375963588848137141559188095958265096652866195979455756449747508016093165019000907204235751064913866609061677153763576521470221540026378191031981848172823752584738079047946125983412717499991063303110527366598876318843757527534256325092498192468740520713714558681329335162761584089629224157400554144914747200107932524351706831976224694269269904685840245308571414214845125871935389428934099036976034666997194951033959853913242859998836489207705912500943532004032564054442380407792697684291184759400664967918948235224216121234206195294153373307947183164774690703595845045658058327667869782623143406961405666088686006926642460695558013042368962654828587067183914245814331799137802839222709293342750977165262987947627567063375596201848039355911956404137003700378817347059035195415027210858894660413629788136988393839208183766457480697694703451867579107004007015707312483038505238060821753313804848337864553827507766635217668787642829807126840325962416544999030655890494553839375968448636711622772014083900305346288606512861077983786878900463707685649209644151606093230188414577281166994985050347670815988622308543005079098882630810718395848612816326582455670589949938633476242509452593569610278608189741297463197973155964223678689093678916684651189333214677396459784318110053271335229202750241482482233162324942531014861550526483728491808630998805709315794292395096476377814230181576558662202876402473505112123111627372284987439487889823674067096638579896418354556710304576454788827771028280445378054586771263771317434250042524180432884487893874895832006013079320623989157744681651103028838316227442562450553654231565645483606093280889035401200661651747262504633250630772575459997189739664936183324879191509815804426846941307512588608608655601155338034073727118277686843005855484398376326309283693438672444616721050206474783093463012036385820605721307069001005528276749562810044013941187416804179486366500814122528395618726482312127888584735030633329178167942106841376405103760346092629862452233178047818980964248900965802232565786451281169929468904963622921 30444184072709860811056282168122708311010010250514981975229405833570652079879412622873970764839419377041954288235344102186658498009511447458504434773963686292232691073111422774705901191356403252818501638369318533447719435515892091234481736489926605318752090274911567961989542990068065548222113756149386614372540047092442932452652005499841613452581253511769741578386506107500815371461231892408368471517336666758316068403137133411008871133184356799933803882273498199702208940840701328908443198128956104375689024342976156816677572032753346296779366184160005252257931941197450519830640984066738424551713975720766901705405658930611993251337166850101006850026565634165868033733997169044898548665089072598403533585003754400494627420261791568190421709249131179400009026519519334736361669039463589212791249727901673464490114162141359595218374557702034282506149248535259159492840495570947441939864003320660042059942930256397009297191517691755355482306482989938302372001860025238482462978716729561155518648447408856392499074524626560741957719854876014709373213767053989647214667560530438416723387717158048520512722475847572327365295274320073580985102276167670007958094209479670364387291912896011768061676483968068945048626671754151907036280909600474932944278073403241654140844160131492035266892027695464128821246053635180702160172055650347115867643193338889173088793456155756018686367005670798718879894153814680041242594222077524976298990533206149641881186807635309206608036650338266766799401635856071057340257570959262430070473701054503298269534510619213612280262018039417777379075775881415999866495038623781583668266411669371293635240824170304190430309804848526058711936006812937501458377697065370475589371019638297755107255639925227765461029965627199770679515302587704560551993605876411643294376169895649767114327979690623890018992182660404877581957929773113069065246037139430753781072076078273469579178310420673665658225355970738926026359027639406683382502951430455453476462284132074114856271668514357663414262597407122326400344498631046439669284243573800133393636422602833629264137637130522130517526366414293711580042501871746732023867585953237893278287679718448377640681335992323786930583568795102410447347655962485054915993984933383810940106886551193267151418297903508995884803837918810922860197477399935805572189899273856757336997967443810869260577863423971267597924600709085364473357233030415133613450680067466252316479402990914275890657950106175419914678187807010427515796826784542404288006606788812932337480078992944119140953821093524902401194567331327316125097268506100522819817595291525138119482854040451806896238409779798421472784909652786796880777932467946519247951129634561395103437856709529694950062996609580379775259092429951810814021715406383560890843819906104846450281838855802884765639323765416712101194539214832655142148629503307444342967009565238329906773107783429650325175684249267026435135790506406822322449923450392660389397929943222915244977438857488957656967841777011288066361722904351873253723086171412198386147722381037044756403000104406845127559207022777834380504278731874894728847449711428020095676767263747268702187090520039606200620152664355142887587768213732863583769886473033195815548274772110672377824631295367053282006344280641709808903497062683239362835421769699595463918951040010334184134265648092296380710911653608683875607147600510149179373709722596118486436427921210178180303723758002668458876876801948287435281903463847372008745159029940129435601293564851546467827672426604293215057142014280410383143576198945516628783920229851033122044375475255940225633729406905393712568885545317697935209984322624169703226506919186287978873129577014186670106743791091629238603 49259724589402754848955571994229570021524686805937725152066377973123676024850611345248067929461390806019422625350798589865178371553319194927921493397779248067480969142665024236367240228223168775589564078711092653974272785812583569642734056852436044221064982933139193289745738167448193848814439287775093139192730882554346423364111209880946514163583687460592477397930789614401735688603490669074399920295496772043808015454158630786275313227479733988919373626737862234235506493287180630963486995799725712059561579359959188098862555472479964290625795524137739666019538367502485707195423144421837715021825220501784606695896837523527696371039690115474784393943416890517633493800656870407724016671909276953250919968831989609039714970152389193642183029322292413912764235854813318327116515916463091866505682652205922538304551926035327980592332650941182198227983481725780455570711994711490014552986523531761702075554269346954983760720897014092056812416576827589762285788312413375439103320866773818009206286877308962503697009138889513192372025489851020263622061488369020386583209945585120793765112885896789487168197799709640807099848295133847227179393531937771033034994954908026483510024014870469977580817517902576325628395929950240353644241920116659592915961876938439974672206143834764007792648498334894025762059960913030978981049162220772987947799631243894554146447237749327501181392247395350062786172172232356317205202581804522070959304040909958837460487196299095059121948790107755604385701421431388849304987679562613764920667839865599252145244484425370972942818717419666919096505495098287279011678973202430061416191679728613855475397888632068680696884180812114906849077566001033459723474349931566455045127469385805771200420658926134969696781030541066379741192456351281082022215145902789834326358018068473519699066058738570016002404900160395940885068457139711945384089794666965010106164574270742210099892024979354994993388117554828555250516428193551598129703059362979805183294260356768384126176354354602971985676812252248198335733927565145476645318910570995084427596276516076489262974126338228043018469898418326275634484882279539429708158770712638558246206627953672593761915542187617940303891515978267185138051251807530712974321652803166434083513847956859355837425224545969691442816880287773577688784544583850051386521698411659596559707260786561846425840851371598834661300196910933403829269189434552137313829497414525287511894430201773170551071579894312408308517395990776884996494521487994271867113610795828639649963117498182179962707134898373240265748394839093951342766056148930329946657921253941683118513509930946360735614378228435133095556923736687102227066538980807597231738008535025102789087066353681301043293185024157660942254077480299481630010337714926565969942702536915564846130451672129467221309913715355345577437048667426224752427237693048741806164982721202553585462201462346334976365017463944422894920108616460093657679126200634142871631092268165446259838989383972686148776472775816997382156015299448349631537316352988757048350598783510549868526111731779130114998694912601508447600917311771313083404160016004474884504538292027714080241677291303377518054402706879323320472256107607759415775899552353819804706019453761775406662947522809615732559998512207355292509590343572274764036083421446857968552201670782909644131455387757232564035790845118499680033994541817661767982318378197273824470501648328455867146729613487066835203186085641726107726520184897578483528252492952165821421899286158615468833200703353856025101155955467827187323062565446330751312315848577515434172264059990970858962907574847500553945290649078044027839846774857347751045487883435188944675362142800637951276673259996592861524 79703908662112615660011854162352278332534697056452707127295783806694328104730023968122038694300810183061376913586142692051836869562830642386425928171742934359713660215776447011073141419579572028408065717080411187421992221328475660877215793342362649539817073208050761251735281157516259397036553043924479753565270929646789355816763215380788127616164940972362218976317295721902551060064722561482768391812833438802124083857295764197284184360664090788853177509011360433937715434127881959871930193928681816435250603702935344915540127505233310587405161708297744918277470308699936227026064128488576139573539196222551508401302496454139689622376856965575791243969982524683501527534654039452622565336998349551654453553835744009534342390414180761832604738571423593312773262374332653063478184955926681079296932380107596002794666088176687575810707208643216480734132730261039615063552490282437456492850526852421744135497199603351993057912414705847412294723059817528064657790172438613921566299583503379164724935324717818896196083663516073934329745344727034972995275255423010033797877506115559210488500603054838007680920275557213134465143569453920808164495808105441040993089164387696847897315927766481745642494001870645270677022601704392260680522829717134525860239950341681628813050303966256043059540526030358154583306014548211681141221217871120103815442824582783727235240693905083519867759253066148781666066326047036358447796803882047047258294574116108479341674003934404265729985440446022371185103057287459906645245250521876194991141540920102550414778995044584585223080735459084696475581270979703278878174011826211645084458091397985149110638712802372871127193985660640965561013572813970961181852046996936930634498489024103526307676298851362735157810996168266150420707758938985642574208751779201477620734187964123286813394038429193906021397082820800818467026386912825014449335831806395763887236650349015679679070335400028660651613473525567481276875455832958281512206010793435258659756544488842498982448022868960635399939409659370524736078426196191916314603154144795217821232699118910118527111763468750173535996264832619987214527384151286161732026356665876451524494307672120971402596878179941727234475084773369595585398907770015767890315637736550245023620734508052622988843522449478687327620718206584500548982021983785856958711597685516353896705228230372715686418714795570102259224797620018768302626422464967270927280177481991539828373833192687446441729530000487828223195583797787312512291348272536676155120217584641571987443196491126299103660955991898142666942962170421267467863324655030852766475516545466821237996363971398167631852788008233554568341833389473899107844471448754116479689138169586497892524923063210995993356181633738040717513169910251292444032053121310126860786522443020411296412290527932351986949237480772057678631587882258879894575867196356186149131992286440883492235309245775985301540701713211449330055899122866915980129049651026803261029022211388361504816428241461643805744314552828285448517738203800222885260402524400955434498321164547594624929111836185975242557901935379342828105196043646207812251609727432494980181305555774982782428767811342983718674555371234466208060024321340622999545786025387015620254294225872447784487578818176669014566342792849065101413087406255514126871505191146453432471152710793243828265721035849528944746702498727183555641142142327810947356028100793392310906929569538634047450453371489735294080062887590013543008423648744950492273411522892295257023192851010161936660873129958149240158297969748237570466638764391847380096236078428548556216639535246911084596636981752894266514176194395741963049831097481517454271994802621476923548491719814824621383417051088222100127 128963633251515370508967426156581848354059383862390432279362161779818004129580635313370106623762200989080799538936941281917015241116149837314347421569522182427194629358441471247440381647802740803997629795791503841396265007141059230519949850194798693760882056141189954541481019324964453245850992331699572892758001812201135779180874425261734641779748628432954696374248085336304286748668213230557168312108330210845932099311454394983559497588143824777772551135749222668173221927415062590835417189728407528494812183062894533014402682977713274878030957232435484584297008676202421934221487272910413854595364416724336115097199333977667385993416547081050575637913399415201135021335310909860346582008907626504905373522667733618574057360566569955474787767893716007225537498229145971390594700872389772945802615032313518541099218014212015556403039859584398678962116211986820070634264484993927471045837050384183446211051468950306976818633311719939469107139636645117826943578484851989360669620450277197173931222202026781399893092802405587126701770834578055236617336743792030420381087451700680004253613488951627494849118075266853941564991864587768035343889340043212074028084119295723331407339942636951723223311519773221596305418531654632614324764749833794118776201827280121603485256447801020050852189024365252180345365975461242660122270380091893091763242455826678281381687931654411021049151500461498844452238498279392675652999385686569118217598615026067316802161200233499324851934230553777975570804478718848755950232930084489959911809380785701802560023479469955558165899452878751615572086766077990557889852985028641706500649771126599004586036601434441551824078166472755872410091138815004420905326396928503385679625958409909297508096957777497704854592026709332530161900215290266724596423897681991311947092206032596806512460097167763922023801982981196759352094844052536959833425626473360773993401224619757889778962360379383655645001591080396036527391884026509879641909070156415063843050804845610883108624377223563607385616221911618723071812353761337392959922064715790302248828975634986607790085889806978216554466163250946262849012266430825591440185127378515009770700935625793565164512420367559667538366600751636780723450159577546480864637290539716679107134582464911978826268746995448378770437598494358078237766566567635908345233296097175950456412489016934562112259566167168936920524994530952172131895611899519408241109674896516827340268263394460616992801109894800236531712979788564197508785869760530948022233828380470211637406313989308479066368090890271382932691357009515218810629380803961182713133437799408504356509873902344528367467166236668687663898757126161001334911010429561713711427146704611600681611989416892297036649366657895701659767247390550774074042390836236692830729224979935976142542742200061819208259151196127403256068636549685104647003104889404927955296975007643437077697510708122320277905719177155872224976007739327009637808175851660946132660114479553807764655417625434329954520787328645282830673753503248572516797718877389712482848919948058144493455223567965105357556596847980851275706113355417520895655769743436969864685843847802696862670445102646361236728958078113789528532280428948382415321685577740835424960313679634223191150526340986284747126341305056420393922677749827788890907588612593311401023354381576153472397176423606761508782493343845683235675136684145472715338346478990666135377431217867089914597182984976802129283248973231739650734943833642528975801664015844461078445092137168777405494073833312005265259453925216064757789701329838178131408551927006063990388903595237881943559544556600394820459466843473785990889677872338865205317482686056665868223853862615462572660090311084814961651 208667541913627986168979280318934126686594080918843139406657945586512332234310659281492145318063011172142176452523083973968852110678980479700773349741265116786908289574217918258513523067382312832405695512871915028818257228469534891397165643537161343300699129349240715793216300482480712642887545375624052646323272741847925134997637640642522769395913569405316915350565381058206837808732935792039936703921163649648056183168750159180843681948807915566625728644760583102110937361542944550707347383657089344930062786765829877929942810482946585465436118940733229502574478984902358161247551401398989994168903612946887623498501830431807075615793404046626366881883381939884636548869964949312969147345905976056559827076503477628108399750980750717307392506465139600538310760603478624454072885828316454025099547412421114543893884102388703132213747068227615159696248942247859685697816975276364927538687577236605190346548668553658969876545726425786881401862696462645891601368657290603282235920033780576338656157526744600296089176465921661061031516179305090209612611999215040454178964957816239214742114092006465502530038350824067076030135434041688843508385148148653115021173283683420179304655870403433468865805521643866866982441133359024875005287579550928644636441777621803232298306751767276093911729550395610334928671990009454341263491597963013195578685280409462008616928625559494540916910753527647626118304824326429034100796189568616165475893189142175796143835204167903590581919670999800346755907536006308662595478180606366154902950921705804352974802474514540143388980188337836312047668037057693836768026996854853351585107862524584153696675314236814422951272152133396837971104711628975382087178443925440316314124447434012823815773256628860440012403022877598680582607974229252367170632649461192789567826393996720093325854135596957828045199065801997577819121230965361974282761458279756537880637874968773569458032695779412316296615064605963517804267339859468161154115080949850322502807349334453382091072400092524242785555631570989247807890779957529309274525218860585520070061674753896726317197653275728390090462428083566250063539650582111753172211484044391461295195243297914536567109298547501394772841685525006376308849067347562248754952928276266924130755316972964601815112269444927066098058316700942578786748588551421765303944893782692304353117717247307277798678280962739039179749792150970940434522034364486679168389852378508367168642096587148063434530639895288064754908563586351510021077218033067624177354045965111783624849510480434778170029046882169525599634319179936486278492705458992035479608954344875325594506237873742695999319954244902242232240590515634900442755481878315830191116284874198098574136912480103293030005548291633742377280417300802066518074443957546819691515747422956387438955032727994171195208388676899460934700224431943984541578972085761114104428967294084320569932819953898305579446420890367321555031906862193925617937225502687749393689136690942169269471845866895973760265101881473568279191491707048795402058121401790667917347241112605739118384335404151080600114498783360194103811309399063728707907379470869464844867149403577679645099212913989344955403513449348255736592304750289005414867471603127851045214607905506670975638105159162953761692684097905485495335765156083303017779093803739764833494507092369397300662897459456290453529195842572866791316278826473283662694374579784058446284360787405723962047636356466537423363311860821753193743367482387479468075075538736756335468284988178939342154946963270154505417751894964302328256340094230025511504788005434612546605543130484793028156181538353289086973643037869527953939508969820382659589477488678142791772345582430287194043507362173037061778 337631175165143356677946706475515975040653464781233571686020107366330336363891294594862251941825212161222975991460025255885867351795130317015120771310787299214102918932659389505953904715185053636403325308663418870214522235610594121917115493731960037061581185490430670334697319807445165888738537707323625539081274554049060914178512065904257411175662197838271611724813466394511124557401149022597105016029493860493988282480204554164403179536951740344398279780509805770284159288958007141542764573385496873424874969828724410944345493460659860343467076173168714086871487661104780095469038674309403848764268029671223738595701164409474461609209951127676942519796781355085771570205275859173315729354813602561465200599171211246682457111547320672782180274358855607763848258832624595844667586700706226970902162444734633084993102116600718688616786927812013838658365154234679756332081460270292398584524627620788636557600137503965946695179038145726350509002333107763718544947142142592642905540484057773512587379728771381695982269268327248187733287013883145446229948743007070874560052409516919218995727580958092997379156426090921017595127298629456878852274488191865189049257402979143510711995813040385192089117041417088463287859665013657489330052329384722763412643604901924835783563199568296144763918574760862515274037965470697001385761978054906287341927736236140289998616557213905561966062253989146470570543322605821709753795575255185283693491804168243112945996404401402915433853901553578322326712014725157418545711110690856114814760302491506155534825953984495701554879641216587927619754803135684394657879981883495058085757633651183158282711915671255974775350318606152710381195850443979802992504840853943701993750405843922121323870214406358144866995049586931210744508189519519091767056547143184101514918600029316899838314232764721750069001048783194337171216075017898934116187084753117311874039099588531459236995056158795971941616655686359554331659223885978040796024151106265386345858154180064265199696777316087850171171853482607970879703133718866702234447283576375822318890650388883334107283543082706606644928591334512512912551917012937344612396611422906471065896178923708101731621718915061062311208286276643157032299226925108729619590218815983603237889899437876580641381016440375444868495915195300657024515155119057673649178189879868254809530206264241839910937847129907976100274786681923112566417646264006087409499527275025194508910359981608680427331749790088301286621543374915707529863087793598572199587874345581995262255824469743257236397137772440908532325676189451705089122086262953218192742392144283829951016111776087224366787120481570929896139347641795901777666492307877543902543431578809699255748901896995590066654914949529444037047664691352840592116834793783512522244972402892363581497774928055990403467539873026864190768860981629089188582076975166042059725942301727757647630330662020625857352140067523193780007914601520935255745401354348695526349251170495977034127263492330303714785889210118851109865245210297367918855840279180380400196161060663883611839558972116185957671095631341045379517422754481249603563149214306434709552993251380376507769658016635706192132471527462045265124585179237387830189157180868686470174921585140894166788631500149238508819025402961905889258442905911091908686682416333076234517861473945550773060073883063051962311689186418550026991415510618756378032721058774724581661792005272813876644819341443339552646560834053492844478311316030008443876739554581217413913377125347716747649020796582159770677205820180367086046041424068203642913339932440676536994446725722674971715726094953683907433109881343313944829186842159247864906960174734808659996199445045749766703597673257852023429 546298717078771342846925986794450101727247545700076711092678052952842668598201953876354397259888223333365152443983109229854719462474110796715894121052052416001011208506877307764467427782567366468809020821535333899032779464080129013314281137269121380362280314839671386127913620289925878531626083082947678185404547295896986049176149706546780180571575767243588527075378847452717962366134084814637041719950657510142044465648954713345246861485759655911024008425270388872395096650500951692250111957042586218354937756594554288874288303943606445808903195113901943589445966646007138256716590075708393842933171642618111362094202994841281537225003355174303309401680163294970408119075240808486284876700719578618025027675674688874790856862528071390089572780823995208302159019436103220298740472529022680996001709857155747628886986218989421820830533996039628998354614096482539442029898435546657326123212204857393826904148806057624916571724764571513231910865029570409610146315799433195925141460517838349851243537255515981992071445734248909248764803193188235655842560742222111328739017367333158433737841672964558499909194776914988093625262732671145722360659636340518304070430686662563690016651683443818660954922563060955330270300798372682364335339908935651408049085382523728068081869951335572238675648125156472850202709955480151342649253576017919482920613016645602298615545182773400102882973007516794096688848146932250743854591764823801449169384993310418909089831608569306506015773572553378669082619550731466081141189291297222269717711224197310508509628428499035844943859829554424239667422840193378231425906978738348409670865496175767311979387229908070397726622470739549548352300562072955185079683284779384018307874853277934945139643471035218584879398072464529891327116163748771458937689196604376891082744994026036993164168368361679578114200114585191914990337305983260908398948543032873849754676974557305028695027751938208288238231720292323072135926563745446201950139232056115708848665503514517647290769177408612092956727485053597218687593913676396011508972502436961342388952325142780060424481196358434996735391019418078762976091567595049097784608095467297932361091422221622638298731017462562457084049971801649533341148294272670978374543147092250527368645216410841182456493285885302510966554231896243235811263743670479438953123083662560559162647923511549117709616128092647015280024578832894053000939680628492766577889379653533561677552456568756743861862389685376366041530106961267217550940305826666196376941920310693778887105334950178035406426184654610434131959995369388191367614791721945253672351346489159155545522349649829920366107074726473172128379938157430802220421974186193374093659716453007797829885814377098883096660463241163186414328081992154907110191278751330332213760719825848751020452807656050161598675928549926325125469085413573073730161049060927156164154909595812078217563150615918931436798560957890515335039821463714860873682626857036444920038387861438146303599109359226277475050991091592419389056736917346163320913961680971048317543402173269622730223894376267266557785594414701239483328732153544978311470528685175899554420142654958056152868870930625051147535984976810301001716889929526393245056628783996537515389529490647565142426736659312192270511709500867391384594208061994394926465776220072841068012368566314948073722971342519342415840885028991416818307694337092040040727095638558783027946152792678537838692455697909876976009872694875246038221678798417487911951815093317973749381662113526656089803967759852314276094957715144669414302381518298229154418127937875289083599989856207467999871907633306972994406752919212841898768695811979630524496437663412951451768545027476036960747105035430889085207 883929892243914699524872693269966076767901010481310282778698160319173004962093248471216649201713435494588128435443134485740586814269241113731014892362839715215114127439536697270421332497752420105212346130198752769247301699690723135231396631001081417423861500330102056462610940097371044420364620790271303724485821849946046963354661772451037591747237965081860138800192313847229086923535233837234146735980151370636032748129159267509650041022711396255422288205780194642679255939458958833792876530428083091779812726423278699818633797404266306152370271287070657676317454307111918352185628750017797691697439672289335100689904159250755998834213306301980251921476944650056179689280516667659600606055533181179490228274845900121473313974075392062871753055182850816066007278268727816143408059229728907966903872301890380713880088335590140509447320923851642837012979250717219198361979895816949724707736832478182463461748943561590863266903802717239582419867362678173328691262941575788568047001001896123363830916984287363688053715002576157436498090207071381102072509485229182203299069776850077652733569253922651497288351203005909111220390031300602601212934124532383493119688089641707200728647496484203853044039604478043793558160463386339853665392238320374171461728987425652903865433150903868383439566699917335365476747920950848344035015554072825770262540752881742588614161739987305664849035261505940567259391469538072453608387340078986732862876797478662022035828012970709421449627474106956991409331565456623499686900401988078384532471526688816664044454382483531546498739470771012167287177643329062626083786960621843467756623129826950470262099145579326372501972789345702258733496412516934988072188125633327720301625259121857066463513685441576729746393122051461102071624353268290550704745743747560992597663594055353893002482601126401328183201163368386252161553381001159842515135627785991161628716074145836487932022808097004260179848375978682626467585787631424242746163383162381095194523657694581912490465954724699943127899338536205189567297047395262713743419786013337164707842975531663394531764739441141603380319610752591275888643484607986442397004706890204403426987601145330740030352736377623519395258258078292690373447521197779707994133365908234130606535115848717763097874302325677955835050147091543892835778898789537112602301273542428813972178129775790957620553975222554991380299365514817165567357326892498853987388906928558756186462816550365424289194139475464667328151650336182925080803393620264768576529794656275774149361159419921292642823322427051342664285671558839896456736877984898471865093738633442985496538461425917144732894195208044102024519285799226703998088466494070917996203148031817497085634716274094473163315378190692630451375746683507747702308113545113844736005692228741114601950582584106152002143468422953189316237946395202162918743126036093198223880851897539835865193481277939557294150701025413709115047736065235796129428028211385140446387639031934123337726372851556581189836880301711270498921982127643531239769801960151428717739563233933506342063453348383452515456690046042284862846154908026227915033677899482334263973135906338432660638528947260757339668456504272346266841475108763781075245785964865223985564451075788459309215368159461430779330734903829297273852650967905486835152458636405917302530230040260498846783045225582394378152574215409966845299109847710796418759816697333507609607944797951351715337275039353216528656433528928738882699990114447496355828554647899191163295039238874372837452988556434474046772163535325036500348422942366432797331467870315965620594436581930142971587633728260656901839862800556155843597882654138878389403397838147760111764744472521786727450702708688741108636 1430228609322686042371798680064416178495148556181386993871376213272015673560295202347571046461601658827953280879426243715595306276743351910446909013414892131216125335946414005034888760280319786574021366951734086668280081163770852148545677768270202797786141815169773442590524560387296922951990703873218981909890369145843033012530811478997817772318813732325448665875571161299947049289669318651871188455930808880778077213778113980854896902508471052166446296631050583515074352589959910526042988487470669310134750483017832988692922101347872751961273466400972601265763420953119056608902218825726191534630611314907446462784107154092037536059216661476283561323157107945026587808355757476145885482756252759797515255950520588996264170836603463452961325836006846024368166297704831036442148531758751588962905582159046128342767074554579562330277854919891271835367593347199758640391878331363607050830949037335576290365897749619215779838628567288752814330732392248582938837578741008984493188461519734473215074454239803345680125160736825066685262893400259616757915070227451293532038087144183236086471410926887209997197545979920897204845652763971748323573593760872901797190118776304270890745299179928022513998962167538999123828461261759022218000732147256025579510814369949380971947303102239440622115214825073808215679457876430999686684269130090745253183153769527344887229706922760705767732008269022734663948239616470323197462979104902788182032261790789080931125659621540015927465401046660335660491951116188089580828089693285300654250182750886127172554082810982567391442599300325436406954600483522440857509693939360191877427488626002717782241486375487396770228595260085251807085796974589890173151871410412711738609500112399792011603157156476795314625791194515990993398740517017062009642434940351937883680408588081390886166650969488080906297401277953578167151890686984420750914084170818865011383393048703141516627050560035212548418080096271005698603512351376870444696302615218496804043189161209099559781235132133312036084626823589802408254890961071658725252392288450298507096795300674443454956245935799576600115710630170670038864735052203035540181612802357502335788079023366953378329083753840185976479308229879942223714595815470450686368676513000484657975180332259558945554367588210980466801604378987787128647042642460016551555424357204989373134826053287340075330170103315202006660323944347711218568297007520991620565278286582092317864015273119122168151056529160841033369681757297450142631743699446930964953471714966969553036466494370099328049249507081661776796245666928228087824351669706843725537445085122602141042060811075747065099001269934517274152899223956657506218510440680264292089862864484825294915520530651193356259975841431855816865703828675662654812499392296444176949766412054589865622403390240156313600819396972879514441707031808775236648904175097020354388035761493351914082756631893858488730949261983304224450087557528950657003110655068421585366426026893372269641325482210782858664887871393303689887978719044989694560683763641122477035282965407203129072287347724650719073242284460743524346174887061571206226504206584658233818393278561296488813507399877885808487204441481082647268558365038290174320302414748861761500953980566436024451642104818773623049842444404696688658446859029899881761618234856478758370542598606575446920506016568101736793993459244401383663606804184802836459486912335892290637554097590629889554029730737263093504666306223803984920921668912864984267780369741217164912676701352401028927256956316286788322867121250469705914650804460664661951749595808191254704194426438137610971459541361567629896246615719768997742366578466118508913899835501560711563533289499997823688197807744119630193843 2314158501566600741896671373334382255263049566662697276650074373591188678522388450818787695663315094322541409314869378201335893091012593024177923905777731846431239463385950702305310092778072206679233713081932839437527382863461575283777074399271284215210003315499875499053135500484667967372355324663490285634376190995789079975885473251448855364066051697407308804675763475147176136213204552489105335191910960251414109961907273248364546943531182448421868584836830778157753608529418869359835865017898752401914563209441111688511555898752139058113643737688043258942080875260230974961087847575743989226328050987196781563474011313342793534893429967778263813244634052595082767497636274143805486088811785940977005484225366489117737484810678855515833078891189696840434173575973558852585556590988480496929809454460936509056647162890169702839725175843742914672380572597916977838753858227180556775538685869813758753827646693180806643105532370005992396750599754926756267528841682584773061235462521630596578905371224090709368178875739401224121760983607330997859987579712680475735337156921033313739204980180809861494485897182926806316066042795272350924786527885405285290309806865945978091473946676412226367043001772017042917386621725145362071666124385576399750972543357375033875812736253143309005554781524991143581156205797381848030719284684163571023445694522409087475843868662748011432581043530528675231207631086008395651071366444981774914895138588267742953161487634510725348915028520767292651901282681644713080514990095273379038782654277574943836598537193466098937941338771096448574241778126851503483593480899982035345184111755829668252503585521066723142730568049430954065819293387106825161224059536046039458911125371521649078066670841918372044372184316567452095470364870285352560347180684099498876278072182136744779169133570614482234480602441321964419313444067985580593429219798604856173012109122848978004559073368132216808597928472249688325071098139008294687442465998380877899237712818903681472271701086858011979212526162126007597822188008466921438995812074463635671804638276206106849488010675240718203496030240923261314753378536811021982578617509247706739215066624512284118359436490217809495874566487958234914088043336668230394362809878908718788581715448108276708652241890536658422636654526079331021482821541249553664157725630747418187107004183063131032950724078537756998040623309862528384135654334413490474552667193510651074050478089669487592440250668636305700697833407633633067712547093067195733530001509623245327185827653790020620692072829508713119460531338487067984281088547691742197402538823756045126538599272501664209831895465142561376177418509755884210216598907174335210086066012516642792001155246925287829423291219622548447317079575359170402514807505841558021685772104283330980224353972824262465602962865395832703757944978203977399567647301133113552611916613390891749947950113171798046025099963008717933565135293594186453132538683279806725812813665925306392979051855062339439854724751695014960386900701172633225800453565601273905753022528641136635414350801073034171588698974506785809209021041969597434141537884484140568082366414467634921474145928825146565826872897985354993535399840147053955395548200713726985486518431642224483760857472978235053829173179308525985932299509997805368596770693492884675673072828646835945767289061793684131172146033459811350508905914032513632878246729033225798247162042388581241269367005776616310033322739752732723803621659027312480623608924389116356075971740591275401764709944872721262369639284785794742414999227403031094749081063678507220324788863020067753943047175089828286798086478520325153585964461120257387303303233339708471675298033972519610415648510452808371302479 3744387110889286784268470053398798433758198122844084270521450586863204352082683653166358742124916753150494690194295621916931199367755944934624832919192623977647364799332364707340198853058391993253255080033666926105807464027232427432322752167541487012996145130669648941643660060871964890324346028536709267544266560141632112988416284730446673136384865429732757470551334636447123185502873871140976523647841769132192187175685387229219443846039653500588314881467881361672827961119378779885878853505369421712049313692458944677204478000100011810074917204089015860207844296213350031569990066401470180760958662302104228026258118467434831070952646629254547374567791160540109355305992031619951371571568038700774520740175887078114001655647282318968794404727196542864802339873678389889027705122747232085892715036619982637399414237444749265170003030763634186507748165945116736479145736558544163826369634907149335044193544442800022422944160937294745211081332147175339206366420423593757554423924041365069793979825463894055048304036476226290807023877007590614617902649940131769267375244065216549825676391107697071491683443162847703520911695559244099248360121646278187087499925642250248982219245856340248881041963939556042041215082986904384289666856532832425330483357727324414847760039355382749627669996350064951796835663673812847717403553814254316276628848291936432363073575585508717200313051799551409895155870702478718848534345549884563096927400379056823884287147256050741276380429567427628312393233797832802661343079788558679693032837028461071009152620004448666329383938071421884981196378610373944341103174839342227222611600381832386034745071896554119912959163309516205872905090361696715334375930946458751197520625483921441089669827998395167358997975511083443088869105387302414569989615624451436759958480770218135665335784540102563140778003719275542586465334754970001344343303969423721184395502171552119521186123928167429357016008568520694023674610490385165132138768613599374703280901980112781032052936218991324015297152985715810006077078969538580164248204362913934178901433576880550304444256611040294803611740871093931353618113589014057522760230311605209075003145647879237496688520244057995472353874717838177137802639152138681080731486391909203446556895780367835654206609478747638889438258905067118150129864183709570215713149987952407560241830236350471108280894181852959004700947254210239602703951341934482095117945480092743391914493362788609760591307197797146734067515164931083210344290792514126698483473224590214880222294148160119948741322336590374896256777005415296072105440217398585922939983908878647267580660083577411274930896735077078650330317733712541716435109347854599502175928877001468086916675777576481185683267061054404264182783404034833057327306898138002198635538516337920845846757363064418779203782262368712218199652010012752636216551476230133906999952374884243664030706745065656534756049224992022158015222851123137110135649338348228311179239692818678662620377337273122298519612623088318650274879420217622920361137329242396382788305494048339764486638148797684890661941258967529333555195929031168640368042091068798801900759693028931410287653328703032374314077339466437640803958205185344129715850615462588746987472412208660508212499577797008676879015623713222674590746369027705250358388928349363434043615427253411392687795078361785867966139492704212734172512718217316469337733641369118088884716139979211130823396736513879403537989045976536708724543327940177464891389294130333520988648441943676430691966901189008050692506406036264448329650031863695756700830659486698475028983289458205364914506716451395916694333094240094151328331039586375896217203068841269183238831323472517434103846318196928001496322 6058545612455887526165141426733180689021247689506781547171524960454393030605072103985146437788231847473036099509165000118267092458768537958802756824970355824078604262718315409645508945836464199932488793115599765543334846890694002716099826566812771228206148446169524440696795561356632857696701353200199553178642751137421192964301757981895528500450917127140066275227098111594299321716078423630081858839752729383606297137592660477583990789570835949010183466304712139830581569648797649245714718523268174113963876901900056365716033898852150868188560941777059119149925171473581006531077913977214169987286713289301009589732129780777624605846076597032811187812425213135192122803628305763756857660379824641751526224401253567231739140457961174484627483618386239705236513449651948741613261713735712582822524491080919146456061400334918968009728206607377101180128738543033714317899594785724720601908320776963093798021191135980829066049693307300737607831931902102095473895262106178530615659386562995666372885196687984764416482912215627514928784860614921612477890229652812245002712400986249863564881371288506932986169340345774509836977738354516450173146649531683472377809732508196227073693192532752475248084965711573084958601704712049746361332980918408825081455901084699448723572775608526058633224777875056095377991869471194695748122838498417887300074542814345519838917444248256728632894095330080085126363501788487114499605711994866338011822538967324566837448634890561466625295458088194920964294516479477515741858069883832058731815491306036014845751157197914765267325276842518333555438156737225447824696655739324262567795712137662054287248657417620843055689731358947159938724383748803540495599990482504790656431750855443090167736498840313539403370159827650895184339470257587767130336796308550935636236552952354880444504918110717045375258606160597507005778778822955581937772523768028577357407611294401097525745197296299646165613937040770382348745708629393459819581234611980252602518614799016462504324637305849335994509679147841817603899266978005501603244016437377569850706071853086657153932267286281013007107771112017192668371492125825079505338847820852915814218212272391521615047956734275804968228441205796412051890682488806911475094296270817922235138611228476112362858851369284297312074913431146449171612685724959123879870875618699825747348834419413602141231618260390716002741570564072767986839605676347972569670612673603394465964971452458097353031557866433452434765348572564716278056837885581322432013474734213460207408121801950140569433395166099088015717308343902364056386528765090328120342522732634692394119259356079075484762792200219640026507736243468425926651708255028934712261994889518110878917831024501769015106558280676952711499862979394003459842114403979560220321310620621251826071111335888681244806745127764544921957596988216730035784198777363247459611868988275135413978656858237454580781149188000740091580358144717323563268188021628035036992053358743985055599429192335461738374337374783333610661780121390256146161590894843670288541328022689476399900988949870719062250640233474315142764216971000766074509579975552939369983126107496566331761799257528178940140950237451792634339358045332398085111398816176315732473990843850884991973357050775243730708188803021748660523045879025510618955159621842248109716688255900247338455084140155469999138285526164024084681418632249830102215980370402343887131878182367792372092763742290495713571311785729269432528164986967489945514998218519449877064620182534951832456676846061729313062145690822059190744649259266726851449911723165205695353772152478273118857553891541224203492419572760419304914295500706633283520506302180977654914129357445037044519494828649736372798801 9802932723345174310433611480131979122779445812350865817692975547317597382687755757151505179913148600623530789703460622035198291826524482893427589744162979801725969062050680116985707798894856193185743873149266691649142310917926430148422578734354258241202293576839173382340455622228597748021047381736908820722909311279053305952718042712342201636835782556872823745778432748041422507218952294771058382487594498515798484313278047706803434635610489449598498347772593501503409530768176429131593572028637595826013190594359001042920511898952162678263478145866074979357769467686931038101067980378684350748245375591405237615990248248212455676798723226287358562380216373675301478109620337383708229231947863342526046964577140645345740796105243493453421888345582782570038853323330338630640966836482944668715239527700901783855475637779668233179731237371011287687876904488150450797045331344268884428277955684112428842214735578780851488993854244595482818913264049277434680261682529772288170083310604360736166865022151878819464786948691853805735808737622512227095792879592944014270087645051466413390557762396204004477852783508622213357889433913760549421506771177961659465309658150446476055912438389092724129126929651129126999816787698954130650999837451241250411939258812023863571332814963908808260894774225121047174827533145007543465526392312672203576703391106281952201991019833765445833207147129631495021519372490965833348140057544750901108749939346381390721735782146612207901675887655622549276687750277310318403201149672390738424848328334497085854903777202363431596709214913940218536634535347599392165799830578666489790407312519494440321993729314174962968648894668463365811629474110500255829975921428963541853952376339364531257406326838708706762368135338734338273208575644890181700326411933002372396195033722573016109840702650819608516036609879873049592244113577925583282115827737452298541803113465953217046931321224467075522629945609291076372420319119778624951720003225579627305799516779129243536377573524840660009806832133557627609976345947544081767492220800291504029607505429967207458376523897321307810719511983111124021989605714839137028099078132458124889221357920270759111736476978333800440582315923634589189693321640945592555825782662727125681695507008843948017065460848031936201513172336213567321742549908668694095584025606652233307590664655764073249512512442243675007442517818283007589543557018282454664788558153696137857879464815246707113622865064230599168832863737495799488401128678095449130496947958803675087630415950110260518174717502689462911974085349317660128491968982488914043282506641513339661699919439656486759693688935296718676838053977180967643086817602883534214437923766519578965834506802078250200789825341731356975682646383428836517169421302117562418956849136959172671917868698953100024010527390133257140157248998229482672000750253593381366611821363159379078009363603303111115537198412992762249595580995840460673403837359976263348171293051562663718219806529608584036893949997871652260936659541607879066522728224086066671329633516737816164387627098668403952912581492441844476319412900031934714877622066621738171883885800525497742049452586231211314455027576918230275143316250517742214827249431638904479461463256059545500185856628572252407587204426734971335113792248053215869313548550191611543760303683153658731142879218517255867104425018868236818853931350467146571553714011771461976016594322347003502916160478804375117109300831705806141252708314907667410406387512649783398053268624478628263148643747250737363754652096858323639074299291130422608150742382651904170382755441936478483772060607992620120186752667000513456242626540293009179737709371022246838152960680917554478623341146846664374295123 15861478335801061836598752906865159811800693501857647364864500507771990413292827861136651617701380448096566889212625622153465384285293020852230346569133335625804573324768995526631216744731320393118232666264866457192477157808620432864522405301167029469408442023008697823037251183585230605717748734937108373901552062416474498917019800694237730137286699684012890021005530859635721828935030718401140241327347227899404781450870708184387425425181325398608681814077305641333991100416974078377308290551905769939977067496259057408636545797804313546452039087643134098507694639160512044632145894355898520735532088880706247205722378028990080282644799823320169750192641586810493600913248643147465086892327687984277573188978394212577479936563204667938049371963969022275275366772982287372254228550218657251537764018781820930311537038114587201189459443978388388868005643031184165114944926129993605030186276461075522640235926714761680555043547551896220426745195951379530154156944635950818785742697167356402539750218839863583881269860907481320664593598237433839573683109245756259272800046037716276955439133684710937464022123854396723194867172268276999594653420709645131843119390658642703129605630921845199377211895362702211958418492411003877012332818369650075493395159896723312294905590572434866894119552100177142552819402616202239213649230811090090876777933920627472040908464082022174466101242459711580147882874279452947847745769539617239120572478313705957559184417037173674526971345743817470240982266756787834145059219556222797156663819640533100700654934400278196864034491756458552092072692084824839990496486317990752358203024657156494609242386731795806024338626027410525750353857859303796325575911911468332510384127194807621425142825679022246165738295166385233457548045902477948830663208241553308032431586674927896554345620761536653891295216040470556598022892400881165219888351505480875899210724760354314572676518520766721688243882650061458721166027749172084771301237837559879908318131578145706040702210830689996004316511281399445213875612925549583370736237237669073880313577283053864612308791183602320817827283095128316690361097840664216533437925953311040703439570192662280726784433712609605408810757129431001241584004129752504030920078933545047916834118237320060379924312217316233513588085767360016493355235633627817975454901225352059054939499075177675390744130702634391010184088382355775576383162694630427234459170827299532323844436267704804466654422930664051603598212310060515766457966563676771562510422693017135295038537752060401087608112668788550927691393693220024184878497747579242163625029374148032055819178795735562244456481135516358703345790220649393569738525857912468926699918656037689844752337826580019215896383622408309687182509362822839977011535706097122639278159757580424497988980034841781268817272517897802062114845986446212707784949030956628826223690351434514491988020461540565696318347600993502341175939140557784236672025381604298385163346410306648773819235721944045775268287372654985871598439662998135212684319118929736959870961539427292564288616048539123015163221725916159619083629871032700789387202042174677541867011908022064073811251843759390254595977814370022909482674295850140299938648247815220211935454099910430492159213679347496138295393229756719995636838127078726488268708172033859653476991939053906069597963358672725866242710545032260903535349982716976673769694382173805863148472504714795875008924221094870830680612617435075573780873301875157355921385731169233275117888807013580095605320593312466676816797787680382829818948550397149459600654105817109865736527594414751602629614499533844323679172239760932761156922040999642463258215673203224493067090038362591523142835975496400747093924 25664411059146236147032364386997138934580139314208513182557476055089587795980583618288156797614529048720097678916086244188663676111817503745657936313296315427530542386819675643616924543626176586303976539414133148841619468726546863012944984035521287710610735599847871205377706805813828353738796116674017194624461373695527804869737843406579931774122482240885713766783963607677144336153983013172198623814941726415203265764148755891190860060791814848207180161849899142837400631185150507508901862580543365765990258090618058451557057696756476224715517233509209077865464106847443082733213874734582871483777464472111484821712626277202535959443523049607528312572857960485795079022868980531173316124275551326803620153555534857923220732668448161391471260309551804845314220096312626002895195386701601920253003546482722714167012675894255434369190681349399676555882547519334615911990257474262489458464232145187951482450662293542532044037401796491703245658460000656964834418627165723106955826007771717138706615240991742403346056809599335126400402335859946066669475988838700273542887691089182690345996896080914941941874907363018936552756606182037549016160191887606791308429048809089179185518069310937923506338825013831338958235280109958007663332655820891325905334418708747175866238405536343675155014326325298189727646935761209782679175623123762294453481325026909424242899483915787620299308389589343075169402246770418781195885827084368140229322417660087348280920199183785882428647233399440019517670017034098152548260369228613535581512147975030186555558711602641628460743706670398770628707227432424232156296316896657242148610337176650934931236116045970768992987520695873891561983331969804052155551833340431874364336503534172152682549152517730952928106430505119571730756621547368130530989620174555680428626620397500912664186323412356262407331825920343606190267005978806748502004179242933174441013838226307531619607839745233797210873828259352535093586346868950709723021241063139507214117648357274949577079784355530656014123343414957072823851958873093665138228458037960577909921082713021072070685315080923628628546795078239440712350703555503353561537004085769165592660928112933039838520910690943405849393073053065590431277325770698096586745861596272173598529625246164008396989773065348169715101258103573583815097785542296512071038926832004292362530163730941748640256643144878066017626606200638783165926719712912881899247728980995670181723901082951511580277287994894650772431076047556315254859095241772220693007370651820810382668953702170661605782830171478013839665479042537684313370466730068156206907536015661371717519098235392049004150170070813077380183844197830361212825343460796003141137842422557268810586844628658269416686208964139666662865155746251676494180957008214685058235008894539597169906848733794881292827799908031059202272094984675695379785699284550010192835511714593893569997384064843676811855546013986264590771520136398244910075862741580561733334639461869312492039042251552629812162237370526638132535099204606014279207047343015803631200595056165108728676243147207526968075803218358004095403042771064635504264824108796415713750897708547561815860704429990601569051005391288253184625990546367882514765897679454124691396917355969975992345070307919748545882597656491691330750630375131942357582256722225471197237295622207564800740842577189981733347135563900497722389281333184123245323408393945267839165066827061799377925084699899245947789913449140881715033581616782824766327773243819016673171157431492208358753964340563204040571449884538706468893247841527572067751396488469014036119283036351230086401675107526464443865924906761446217399548581292651642995925044225471331220050719280146001766177122343065121389047 41525889394947297983631117293862298746380832816066160547421976562861578209273411479424808415315909496816664568128711866342129060397110524597888282882429651053335115711588671170248141288357496979422209205678999606034096626535167295877467389336688317180019177622856569028414957989399058959456544851611125568526013436112002303786757644100817661911409181924898603787789494467312866165089013731573338865142288954314608047215019464075578285485973140246815861975927204784171391731602124585886210153132449135705967325586877115860193603494560789771167556321152343176373158746007955127365359769090481392219309553352817732027435004306192616242088322872927698062765499547296288679936117623678638403016603239311081193342533929070500700669231652829329520632273520827120589586869294913375149423936920259171790767565264543644478549714008842635558650125327788065423888190550518781026935183604256094488650508606263474122686589008304212599080949348387923672403655952036494988575571801673925741568704939073541246365459831605987227326670506816447064995934097379906243159098084456532815687737126898967301436029765625879405897031217415659747623778450314548610813612597251923151548439467731882315123700232783122883550720376533550916653772520961884675665474190541401398729578605470488161143996108778542049133878425475332280466338377412021892824853934852385330259258947536896283807947997809794765409632049054655317285121049871729043631596623985379349894895973793305840104616220959556955618579143257489758652283790885986693319588784836332738175967615563287256213646002919825324778198426857322720779919517249072146792803214647994506813361833807429540478502777766575017326146723284417312337189829107848481127745251900206874720630728979774107691978196753199093844725671504805188304667449846079361652828416108988461058207072428809218531944173892916298627041960814162788289898379687913721892530748414050340224562986661846192284358266000518899117710909413993814752374618122794494322478900699387122435779935420655617781995186220652018439854696356518037727571798643248508964695275629651790234659996074936682994106264525949446374078173367757402711801396167570094974930039080206296100498305595320565305344403553011258203830182496591672861329900450600617665940529817221515363743483484068776914085282664403228689343870933600308453021175924330046493828057356351417469662806119424031000773847512457027810694582994558742309882407543309133706899808295202505568337350656316046931710925558702376029288357616831021317061805448992255517793344837945677707491454231062693390942840266564767356872735757708498248964477647398370532565389809403773338277031127611248606651206329436083529634418479754782563869318708472067837761078594958655339182455238288632582592586547976350047665109074516471192492714311807697513168652120021667895828768636662561645072425928861264386940971121908087570648315506639019059202066028408061985404526384242508173893614979766931947459276956029146747888123184860118497985872175961265858277973496675587430524743181624004133538867604149491891366461945540591071556595592401292964859195746649983239024944274163714486672642097336293652026150971093255617909616569625889671956273749991823646983205658276094108664842218022814704545927269344903332371455880406484504283987267244684177990886248411326387468502210668845850964894259330850714287561261470870338805935862707599589846108932758625924631315901099919093102776119073702313539331776595252934008920994116778470526066575957288814454918657982122249158974988249948289046238505788454359284933875670717388247672219089298712196391924721527352050594286123901855810630765981689031289607060308767545097146522378978556470622292294106254140717428695824287140757642737524909013097839465868482971 67190300454093534130663481680859437680960972130274673729979452617951166005253995097712965212930438545536762247044798110530792736508928028343546219195725966480865658098408346813865065831983673565726185745093132754875716095261714158890412373372209604890629913222704440233792664795212887313195340968285142763150474809807530108656495487507397593685531664165784317554573458074990010501242996744745537488957230680729811312979168219966769145546764955095023042137777103927008792362787275093395112015712992501471957583677495174311750661191317265995883073554661552254238622852855398210098573643825064263703087017824929216849147630583395152201531845922535226375338357507782083758958986604209811719140878790637884813496089463928423921401900100990720991892583072631965903806965607539378044619323621861092043771111747266358645562389903098069927840806677187741979770738069853396938925441078518583947114740751451425605137251301846744643118351144879626918062115952693459822994198967397032697394712710790679952980700823348390573383480106151573465398269957325972912635086923156806358575428216081657647432925846540821347771938580434596300380384632352097626973804484858714459977488276821061500641769543721046389889545390364889874889052630919892338998130011432727304063997314217664027382401645122217204148204750773522008113274138621804572000477058614679783740583974446320526707431913597415064718021638397730486687367820290510239517423708353519579217313633880654121024815404745439384265812542697509276322300824984139241579958013449868319688115590593473811772357605561453785521905097256093349487146949673304303089120111305236655423699010458364471714618823737344010313667419158308874320521798911900636679578592332081239057134263151926790241130714484152021951156176624376919061288997214209892642448590664668889684827469929721882718267586249178705958867881157768978556904358494662223896709991347224781238401212969377811892198011234316109991539168766528908338721487073504217343719963838894336553428292695605194861779541751308032563198111313590861579530671736913647193153313590229700155742709096008753679421345449578074920873251607198115062504951670923656511934124849371888761426418528360403826255094496417107596903235562182104138655671148697204411802126089395113893368729648077173903858348012572943790601974507184123550806718220842117532754889360643779999826537061172671257416992390523045437300783633341908236602120456191032954628789290872687292238433607827627208998920453353148460364405173146276176157047221212948525163996658756060376445156401724299173773011744578607022351778295392811619431207715554577440101405470775490857375266519660252756821277142513463713478616310115995389212779504475208975603501152227465926027083896558049268801550687643012912820855326192965373449722526492755748177546659618837802677502431543854472872333959920466659035955797603467356347600056649211894713780622301631982788591227919320029439628966031522718979413354274056823750864765421851832625334045273757897320225049305399592762113708262136668638072210163771098413804961344222272151651757510021641102342954176951314828162632167809889715413161971797916850259767508969368807325117187705532660703740593392697988596946529278734655388585905329470443606723469594729288811850382476849354295186993230060588542740102657138098877342611203433221616484802047951583183469035671079648513052689332936981672833256348313912649085223164416511170064341541478606158838394630859093620893362726260439515716839003848036535440806888576932218807266621460203669997996813113249274438874757959697556757795767605444233452293595103447082755137937975093667117211775432964714586773211411022053283825195956019203584945749250065761654167155507191476922883526675190220182530989872018 108716189849040832114294598974721736427341804946340834277401429180812744214527406577137773628246348042353426815173509976872921796906038552941434502078155617534200773809997017984113207120341170545148394950772132360909812721796881454767879762708897922070649090845561009262207622784611946272651885819896268331676488245919532412443253131608215255596940846090682921342362952542302876666332010476318876354099519635044419360194187684042347431032738095341838904113704308711180184094389399679281322168845441637177924909264372290171944264685878055767050629875813895430611781598863353337463933412915545655922396571177746948876582634889587768443620168795462924438103857055078372438895104227888450122157482029948966006838623392998924622071131753820050512524856593459086493393834902452753194043260542120263834538677011810003124112103911940705486490932004975807403658928620372177965860624682774678435765249357714899727823840310150957242199300493267550590465771904729954811569770769070958438963417649864221199346160654954377800710150612968020530394204054705879155794185007613339174263165342980624948868955612166700753668969797850256048004163082666646237787417082110637611525927744552943815765469776504169273440265766898440791542825151881777014663604201974128702793575919688152188526397753900759253282083176248854288579612516033826464825330993467065113999842921983216810515379911407209830127653687452385803972488870162239283149020332338898929112209607673959961129431625704996339884391685954999034974584615870125934899546798286201057864083206156761067986003608481279110300103524113416070267066466922376449881923325953231162237060844265794012193121601503919027639814142442726186657711628019749117807323844232288113777764992131700897933108911237351115795881848129182107365956447060289254295277006773657350743034542358531101250211760142095004585909841971931766846802738182575945789240739761275121462964199631224004176556277234835009109250078180522723091096105196298711666198864538281458989208228116260812643774727971960051003052807670108899307102470380162156157848589219881490390402705170945436673527609975527521294951424974955517774306347838493751486864163929578184861924724123680969131599498049428365800733418058773776999985571599297822077742655906616629257112213132145950817943630676976172479945845440784432003827894145172164026582946716995197469489343180596702258190839902980073247995366627900650546484527999500166661528597586075192860575784264143674140709846012055524489652762789977297493218852670205204042957341496701738083936610632786992564715852011143374379224514053101309868395685362952947972666795280179264195652297647271501363472483471949547243113034789870777953082098212947276813364579747186121265209539134846681851394137235619362960485964400709436565942436838300453261346198779640505698506271068206416117944759888781731045976926919511554926995915563288230953915846650709693968193117612161828203333243945798454666438690310303203571638987950281970330611206221235023755598198545980987023286856889886140802176939814313262989780266906884813343708247349911314605961538700826934553853106906331524376388055259308091568876410738602224986716941686813595204616977490585216344971802604805372843320230803928144174989533992814498061660267730788961353638282454237914238579428988513983525567379553280049284186510744132898665870744730506541418454448915396932526827781766014974238543964986323083509613946183415243792145490614989883793102541887479504730965582292796292662491454098789010826091193795516569749249908503785267472534208314545475347945228976885066317640625377015122455497677041261839830904297883193464464254321647081978956119199806204174512489825877239855504206479082862979794332234565621051584203318021996858354989 175906490303134366244958080655581174108302777076615508007380881798763910219781401674850738841176786587890189062218308087403714533414966581284980721273881584015066431908405364797978272952324844110874580695865265115785528817058595613658292136081107526961279004068265449496000287579824833585847226788181411094826963055727062521099748619115612849282472510256467238896936410617292887167575007221064413843056750315774230673173355904009116576579503050436861946251481412638188976457176674772676434184558434138649882492941867464483694925877195321762933703430475447684850404451718751547562507056740609919625483589002676165725730265472982920645152014717998150813442214562860456197854090832098261841298360820586850820334712856927348543473031854810771504417439666091052397200800509992131238662584163981355878309788759076361769674493815038775414331738682163549383429666690225574904786065761293262382879990109166325332961091611997701885317651638147177508527887857423414634563969736467991136358130360654901152326861478302768374093630719119593995792474012031852068429271930770145532838593559062282596301881458707522101440908378284852348384547715018743864761221566969352071503416021374005316407239320225215663329811157263330666431877782801669353661734213406856006857573233905816215908799399022976457430287927022376296692886654655631036825808052081744897740426896429537337222811825004624894845675325850116290659856690452749522666444040692418508329523241554614082154247030450435724150204228652508311296885440854265176479504811736069377552198796750234879758361214042732895822008621369509419754213416595680752971043437258467817660759854724158483907740425241263037953481561601035060978233426931649754486902436564369352834899255283627688174239625721503137747038024753559026427245444274499146937725597438326240427862012288252983968479346391273710544777723129700745403707096677238169685950731108499902701365412600601816068754288469151119100789246947051631429817592269802929009918828377175795542636520811866007505554269723268083566250918983699760886633142117075803351001902810111190546145414266954190352948955425105596215824676582153632836811299509417407998798288778950073623351142652041372957854592545845473397636653620955881138641242747995026489544781996011743150480942780223124721801978689549116270547819947968555554634612366014281559337836077638977469315880241769373515607832293503118685296150261242558783086648455691199616157386876947880152814217871971301349708766465408672950017167963123573669375899891418152568121338155457798460381767034511291738488863755721981401576292348494121487826893078507525412768200750954755053027564166931754120293760614463010956591651099986773342294877717422485788968080899413587191236623031404731120195687923262375873306819726902401939392159364793209009523745439259343501183773499750270590817093848702197705012882717115022283343515619937442848629627273011325950981708840081148232772872911829977385418103664577260395389852715703822163236540266508781652918423595286386616048970598148277470815012024477034088194071868229035615859899107421336247063881655003885868681269538499334266103468421279889485726670506111194355524266804001300737277681231178609042960399551334651577975619389833473645433140716284092790949079581171438202992577641231144299167971728616640663666256895891252717408127228934946617453928199542212498102961968086265463809454599271322552456614071546247926125116247756785270751649453384514652196162780842230991405098009635296510527989539595899403023412602783191209453578501782080585783482753420233307642785734680833923084858829308717558944759796399777805997965000405239897219036233855190367141253090029370468509029462185604754272240737030135301523711488504578259393538204527848227007 284622680152175198359252679630302910535644582022956342284782310979576654434308808251988512469423134630243615877391818064276636330321005134226415223352037201549267205718402382782091480072666014656022975646637397476695341538855477068426171898790005449031928094913826458758207910364436779858499112608077679426503451301646594933543001750723828104879413356347150160239299363159595763833907017697383290197156269950818650033367543588051464007612241145778700850365185721349369160551566074451957756353403875775827807402206239754655639190563073377529984333306289343115462186050582104885026440469656155575547880160180423114602312900362570689088772183513461075251546071617938828636749195059986711963455842850535816827173336249926273165544163608630822016942296259550138890594635412444884432705844706101619712848465770886364893786597726979480900822670687139356787088595310597752870646690444067940818645239466881225060784931922148659127516952131414728098993659762153369446133740505538949575321548010519122351673022133257146174803781332087614526186678066737731224223456938383484707101758902042907545170837070874222855109878176135108396388710797685390102548638649079989683029343765926949132172709096729384936770076924161771457974702934683446368325338415380984709651149153593968404435197152923735710712371103271230585272499170689457501651139045548810011740269818412754147738191736411834724973329013302502094632345560614988805815464373031317437441732849228574043283678656155432064034595914607507346271470056724391111379051610022270435416282002906995947744364822524012006122112145482925490021279883518057202852966763211698979897820698989952496100862026745182065593295704043761247635945054951398872294226280796657466612664247415328586107348536958854253542919872882741133793201891334788401233002604211983591170896554646784085218691106533368715130687565101632512250509834859814115475191470869775024164329612231825820245310565703986128210039325127574354520913697466101640676117692915457254531844748928126820149328997695228134569303726653808660193735612497237959508850492029992680936548119437899627026476565400633117510776101557109150611117647347911159485662452708528258485275866775722342089454090595273839198370071679729658138626814347292848567287437902628372407593155912369075539745609366525288750493665388752987558462506511186445585920782794634174938805223422366075773798672196483191933291516889143209329571176455191366277685984463023073013390002136114975490418612477464197439669930753100871162594752561623356611078679652159536544318377667298284303204715766865355780800806401595431356222578441460473385434996031134019248679861814203255483766244086412558199704685889857551295376975930369762602332660646599708456446162166251412971589825158881738833792784127611838505334596203093662270869944218899849199690044567956686708761853737483928750989809636626577210339431183225673802545473923721019919174826452242976436106116857628432051856793974880463967028840665985792493847746487743805408516622141267373639335827488034418272991951838790297077974338775113848959568146457332650853025420355830820422534376444830858642491523680587981054603081244713419342241208490814895941894658721763825387932202156140024421295850193761617820422674709098590852609347311960399556630860095469058537747400717130624189233636449171302001594637973067845283324672930048753916557410883483197990637236365286296791000579057869331435739062431172029062897140068374398445298704668321735722370680302431589173019443638384910229114606398299760958703487005567348058317691067965708655588014711565900240725484206323840014442436837661617636902262883598704361473357880937169323260452896233544980998855339425460258478719819893115095855946054125629843596856226524706581996 460529170455309564604210760285884084643947359099571850292163192778340564654090209926839251310599921218133804939610126151680350863735971715511395944625918785564333637626807747580069753024990858766897556342502662592480870355914072682084464034871112975993207098982091908254208197944261613444346339396259090521330414357373657454642750369839440954161885866603617399136235773776888651001482024918447704040213020266592880706540899492060580584191744196215562796616667133987558137008742749224634190537962309914477689895148107219139334116440268699292918036736764790800312590502300856432588947526396765495173363749183099280328043165835553609733924198231459226064988286180799284834603285892084973804754203671122667647508049106853621709017195463441593521359735925641191287795435922437015671368428870082975591158254529962726663461091542018256315154409369302906170518262000823327775432756205361203201525229576047550393746023534146361012834603769561905607521547619576784080697710242006940711679678371174023503999883611559914548897412051207208521979152078769583292652728869153630239940352461105190141472718529581744956550786554419960744773258512704133967309860216049341754532759787300954448579948416954600600099888081425102124406580717485115721987072628787840716508722387499784620343996551946712168142659030293606881965385825345088538476947097630554909480696714842291484961003561416459619819004339152618385292202251067738328481908413723735945771256090783188125437925686605867788184800143260015657568355497578656287858556421758339812968480799657230827502726036566744901944120766852434909775493300113737955824010200470166797558580553714110980008602451986445103546777265644796308614178481883048626781128717361026819447563502698956274281588162680357391289957897636300160220447335609287548170728201650309831598758566935037069187170452924642425675465288231333257654216931537052285161142201978274926865695024832427636314064854173137247310828572074625985950731289735904569686036521292633050074481269739992827654883267418496218135554645637508421080368754614313762859852394840103871482693533704853817379425520825738713726600778139262783447928946857328567484460741487478332108627009427763715047308683141119312596006725300685539277268057095287875056832219898640115558074098692592200261547588056074405021041485336721543113097118877200727145258618872273152408121103664135449289406504489986310618587667150385768112657824910882565893843371339970953166204220008086276840127378942872870389687098716224444831970652453041509179200017807617335004700144701809576041693579522587337182377098750089552844049471519967998798203196782088774301707425981135009604060004700875569156296336989844324637671853647792248391300741546013295647682785197656144091785513082144114707099603854514240444726755567886871280393689658159192700873818067706957299578947586186126456002692353741599493682946803163116651175101196732345870156535292324124668878989769458409437274897639457724362418693381689614657084286754252587061435045736553760255384798086182695743806963863267331166168410643342884575428045564753987100089302010834706291215645983330192908594992101867870540329751750824613697765475294816196679172339952942434430892601707474675999271469583595091465855815425382683643558426893131837759623437736700202836915372445747264852899893345062554719002765202002791900778601129590966414660372851569463454446690964557619343457193129415579361864178678928814333648789521758913097494867449163966713775778312066885683547433177980809632138019001082952168157065507349428644101173821385941963230800446246734163810343035632557573387196634061395442900227884003944258692394114792359690401705986262915449507884801611065012750960556923250397379657542630208102990394431052554809003 745151850607484762963463439916186995179591941122528192576945503757917219088399018178827763780023055848377420817001944215956987194056976849737811167977955987113600843345210130362161233097656873422920531989140060069176211894769549750510635933661118425025135193895918367012416108308698393302845452004336769947833865659020252388185752120563269059041299222950767559375535136936484414835389042615830994237369290217411530739908443080112044591803985341994263646981852855336927297560308823676591946891366185690305497297354346973794973307003342076822902370043054133915774776552882961317615387996052921070721243909363522394930356066198124298822696381744920301316534357798738113471352480952071685768210046521658484474681385356779894874561359072072415538302032185191330178390071334881900104074273576184595304006720300849091557247689268997737215977080056442262957606857311421080646079446649429144020170469042928775454530955456295020140351555900976633706515207381730153526831450747545890287001226381693145855672905744817060723701193383294823048165830145507314516876185807537114947042111363148097686643555600455967811660664730555069141161969310389524069858498865129331437562103553227903580752657513683985536869965005586873582381283652168562090312411044168825426159871541093753024779193704870447878855030133564837467237884996034546040128086143179364921220966533255045632699195297828294344792333352455120479924547811682727134297372786755053383212988940011762168721604342761299852219396057867523003839825554303047399237608031780610248384762802564226775247090859090756908066232912335360399796773183631795158676976963681865777456401252704063476109464478731627169140072969688557556250123536834447499075354998157684286060227750114284860388936699639211644832877770519041294013649226944075949403730805862293422769655121581821154405861559458011140806152853332965769904726766396866400636333672848049951030024637064253456559375419877123375520867897202200340471644987202006210362154214208090304606326018668119647804212265113724352704858372291317081274104367111551722368702886870096552419241653142753444405902086226371831237376879696371934059046594205239726970123194196006590593902876203486057136762773736393151794376796980415197415894871442580723624119657801268487965667254604961275801293197422599693771535150725474530671559625388387172731179401666907327346926327086501525063205176686469502551879184039528977442229001366073932171529355802994026179594222144201252330545991420337067829357029469325315994565405014664865790278697459776871549018522369107860344898295289452692963177905151684984200272049961428472183638192813222793550387287795338265087826248787288127356001022879701875933048829578162010993633402192613004104128947363907557063375338241025853540892387982126078950061351770980533551263633877059041900563862635663644008340801323670055206992501990368176704022377986388790453720575120453365789331361744567101104985106627086841489131691614338188329447534047675407150932033241996392469951667877821133894720625574217114016798915702057628244142749418456733534996192022086637953114722366665526713750022428161051551086515782455851594932832995538033040006683785631092621066998674706259818824803863614700420567319777356709286278490134481274496167774205092237316254297832169261374662773162877889042133529794233856720597403175070637184103274059639720331217783735052661445083927329843916134457772187284910797603241110100843396545929590133311542793572117485702436146458614498474856566876816365719861252625399382713126860552512916776702418864889351650618818815157812634404535827241956397587829633471723013079802490767602648620165751995729529013662158882496460430506740141036525271229680376816365493235603596755837946587250657577261390999 1205681021062794327567674200202071079823539300222100042869108696536257783742489228105667015090622977066511225756612070367637338057792948565249207112603874772677934480972017877942230986122647732189818088331642722661657082250683622432595099968532231401018342292878010275266624306252960006747191791400595860469164280016393909842828502490402710013203185089554384958511770910713373065836871067534278698277582310484004411446449342572172625175995729538209826443598519989324485434569051572901226137429328495604783187192502454192934307423443610776115820406779818924716087367055183817750204335522449686565894607658546621675258399232033677908556620579976379527381522643979537398305955766844156659572964250192781152122189434463633516583578554535514009059661768110832521466185507257318915775442702446267570895164974830811818220708780811015993531131489425745169128125119312244408421512202854790347221695698618976325848276978990441381153186159670538539314036755001306937607529160989552830998680904752867169359672789356376975272598605434502031570144982224276897809528914676690745186982463824253287828116274130037712768211451284975029885935227823093658037168359081178673192094863340528858029332605930638586136969853087011975706787864369653677812299483672956666142668593928593537645123190256817160046997689163858444349203270821379634578605033240809919830701663248097337117660198859244753964611337691607738865216750062750465462779281200478789328984245030794950294159530029367167640404196201127538661408181051881703687096164453538950061353243602221457602749816895657501810010353679187795309572266483745533114500987164152032575014981806418174456118066930718072272686850235333353864864302018717496125856483715518711105507791252813241134670524862319569036122835668155341454234096562553363497574459007512603254368413688516858223593032012382653566481618141564299027558943697933918685797475874826324877895719661896681092873440274050260622831696469276826326422376276937910780048190735500723354680807288408112475459095532532220570840413017928825502354473121725865485228555281710200423901935186847607261785327607052110544963977657835634717506975541062568294454583935683484922702529885631249772184071456877512464390383522281100736693162928537868598680951877699908603523741353297553476062840785478674098792576636062196073784656744265587899876438020539180479755047430750636974352611681176455813170466851189914745554886826276956498065372727142964979345798442152287529170673370363209938219044128185549760826536057467706374969478715267394206553718667070917436386591874812040030145555003901774537044321521481396470981841389595311567852094713776473274691886253488163696512297359869546200570720683225954259384934143738626299751811732561563701155160851323169968247991991836640319394788107338867404831657323535218234601437680703370601307919748909856181662995194344109776197705324789551907104895676317185711659487897036891225773864096396545250926406589253795912691866227429365021808016319996248979531386713614374894150105423660399809760605879565324959410311160061799618110424237586840625053204024377500233004965668411491244459681507884323722135262584746362646737772159080447289300239338627648694249717405571089376419838789360951800752134305559863958139726201098224075075877735568869464211578145608625153895033423139296411439600168377073429084881875189230686745878156586622124899530618294401535477914965316700490159467419789029657730194719111892224640288439566649669149922236926565360540114309994346529493390644400465665295017618020266205346520038710737592582049615604059368568346170277588955161216830105784408522702718651606592878858146110521888704063864868759375880014624942647590283980640933739615890615261139386046049577645088629816200002 1950832871670279090531137640118258075003131241344628235446054200294175002830888246284494778870646032914888646573614014583594325251849925414987018280581830759791535324317228008304392219220304605612738620320782782730833294145453172183105735902193349826043477486773928642279040414561658400050037243404932630416998145675414162231014254610965979072244484312505152517887306047649857480672260110150109692514951600701415942186357785652284669767799714880204090090580372844661412732129360396577818084320694681295088684489856801166729280730446952852938722776822873058631862143608066779067819723518502607636615851567910144070188755298231802207379316961721299828698057001778275511777308247796228345341174296714439636596870819820413411458139913607586424597963800296023851644575578592200815879516976022452166199171695131660909777956470080013730747108569482187432085731976623665489067591649504219491241866167661905101302807934446736401293537715571515173020551962383037091134360611737098721285682131134560315215345695101194035996299798817796854618310812369784212326405100484227860134024575187401385514759829730493680579872116015530099027097197133483182107026857946308004629656966893756761610085263444322571673839818092598849289169148021822239902611894717125491568828465469687290669902383961687607925852719297423281816441155817414180618733119383989284751922629781352382750359394157073048309403671044062859345141297874433192597076653987233842712197233970806712462881134372128467492623592258995061665248006606184751086333772485319560309738006404785684377996907754748258718076586591523155709369039667377328273177964127833898352471383059122237932227531409449699441826923205021911421114425555551943624931838713676395391568019002927525995059461561958780680955713438674382748247745789497439446978189813374896677138068810098679377998893571840664707287770994897264797463670464330785086433809547674374828925744298960934549432815693927383998352564366479026666894021264139916990410344949708813659287133307076232123263307797645944923545271390220142583628577488837417207597258168580296976321176839990360706191229693278482376201354537532006651566022135267808021424707129879491513296432761834735829320834230613905616184760319261515934109057799980449322305071535501177091489408607902514751864133982901273792564111786787670604456216369653975072607617422206087807101973757837138499415816857862925315722346035229443722997115827643030430236902082945959005525392664296488781501219361783547006048401157654875076821101462482371240759757412727171078102737189440025296731490170101492723108732909053459521244593571442824943165479582408534361402482001571811539779712502275451823868298382749248076503769512804116270378567545931239303855940679925471258218536189564195821788884379818766398344849459109847938382920957412277276502001543339034245316260550233526236869987696334477952901727702775940697558616251437639077448819258781458326878849203023632092415538280868134101021313761477040428958948353238245372001338381492196028044826049234616923777404795267382587654453909480256351645420429608927263006318746744165759718715690839652296010768023666779573730195417741900679777778842866078381921306337302354954068542209434704076840406109138308510038412795694345232635893975303316312392132033401038725586240918771503042937166952933530268160197571552144066268985149248870407077095940321674786344614545624245451612372737503985400957070660899130501126740648702025536183082011684135371586068695541063835396681186810712249354643269799848378421878170533182982048938903600089243200868430761872002972881997519545352749046463577507421602505209419209241499023898106251417717726023751255836310521365083684115555210321310555981383850864736141883996164895746207077591001 3156513892733073418098811840320329154826670541566728278315162896830432786573377474390161793961269009981399872330226084951231663309642873980236225393185705532469469805289245886246623205342952337802556708652425505392490376396136794615700835870725581227061819779651938917545664720814618406797229034805528490886162425691808072073842757101368689085447669402059537476399076958363230546509131177684388390792533911185420353632807128224457294943795444418413916534178892833985898166698411969479044221750023176899871871682359255359663588153890563629054543183602691983347949510663250596818024059040952294202510459226456765745447154530265480115935937541697679356079579645757812910083264014640385004914138546907220788719060254284046928041718468143100433657625568406856373110761085849519731654959678468719737094336669962472727998665250891029724278240058907932601213857095935909897489103852359009838463561866280881427151084913437177782446723875242053712334588717384344028741889772726651552284363035887427484575018484457571011268898404252298886188455794594061110135934015160918605321007039011654673342876103860531393348083567300505128913032424956576840144195217027486677821751830234285619639417869374961157810809671179610824995957012391475917714911378390082157711497059398280828315025574218504767972850408461281726165644426638793815197338152624799204582624293029449719868019593016317802274015008735670598210358047937183658059855935187712632041181479001601662757040664401495635133027788460122600326656187658066454773429936938858510371091250007007141980746724650405760528086940270710951018941306151122861387678951291985930927486364865540412388345598340167771714513773440355265285978727574269439750788322429195106497075810255740767129729986424278349717078549106829724202481842352050802944552648820887499931506482498615537601591925584223318273769389136461563825022614162264703772231285422500699706821463960857615642306255967977644621184260835755852993316397541077827770458535685209537013967940595484344598722403330178165494385684408148968085983050610563282692825813450290497400223112026837967967976557300330592921165332195367641369072997676330376315879291065562976435998962647465985601504905687491418080575143841542616670802220728518317920986023413201085695013149961200068227926974768379947891356688422849866678240873113919562972484055442745268286857021188587775473768428539039381128892812886419358468552002653919986928302274810088923984871191106448776310671892732146756944267445285840424837647637519950077615729236127994565284656455856510942733118082044913532753254287912955234058288915092924221414147320972003845929254576715348284814471598755763615520380595742618794277074490196030070529763501689669865603607752412487034959373697040887365790036876371655406717739637566448715343214578280947495511103439224042404846624180299143382418532982890678587729099433027565492604663511927754824789108307155818349552652713299420177343341944870121930013713179988906405450766964673234494351532725095106570922194931472895016733538010674832707547064765069542055969755844667195767888059522771121665992723681359251143540470449531551103295865458002488263326515551001946525671221545675930003648318259615005793453260244898499260310790547101254209190775620176401540387468009768969908189797819064380128196832200376072826679599797739929217495353867024438101093822974096908296911244145163918646987090287702820685891116538080688160158856935367813917760823370451250785040735990932467629195936795496805058778848033914200314043716895788553449187395458942310826835782918046365931371541228167797134307910263293683291830125207928070815834377882044216773306421789888620015212190535990026331705839190962244295597274466125875527930045742540834836893791003 5107346764403352508629949480438587229829801782911356513761217097124607789404265720674656572831915042896288518903840099534825988561492799395223243673767536292261005129606473894551015424563256943415295328973208288123323670541589966798806571772918931053105297266425867559824705135376276806847266278210461121303160571367222234304857011712334668157692153714564689994286383006013088027181391287834498083307485511886836295819164913876741964711595159298618006624759265678647310898827772366056862306070717858194960556172216056526392868884337516481993265960425565041979811654271317375885843782559454901839126310794366909815635909828497282323315254503418979184777636647536088421860572262436613350255312843621660425315931074104460339499858381750686858255589368702880224755336664441720547534476654491171903293508365094133637776621720971043455025348628390120033299589072559575386556695501863229329705428033942786528453892847883914183740261590813568885355140679767381119876250384463750273570045167021987799790364179558765047265198203070095740806766606963845322462339115645146465455031614199056058857635933591025073927955683316035227940129622090060022251222074973794682451408797128042381249503132819283729484649489272209674285126160413298157617523273107207649280325524867968118984927958180192375898703127758705007982085582456207995816071272008788489334546922810802102618378987173390850583418679779733457555499345811616850656932589174946474753378712972408375219921798773624102625651380719117661991904194264251205859763709424178070680829256411792826358743632405154019246163526862234106728310345818500189660856915419819829279957747924662650320573129749617471156340696645377176707093153129821383375720161142871501888643829258668293124789447986237130398034262545504106950729588141548242391530838634262396608644551308714216979590819156063982981057160131358828622486284626595488858665094970175074535747208259818550191739071661905028619536825202234879660210418805217744760868880634918350673255073902560576721985711127824110417930955798369110669611628099400699900423071618870794376544288866828328674167786993609075297366686732899648020639019811598184337303998195442467949295395409300721430825739918105323696759904160804132604911278528498767243291094948702262786502558569102582979791108751281221683920800209637537282697089483573538045091672864951356093958994946424913973184245396902306444615158921648802191549118481563017358539176893034882990396583770745265092173112093930303950315846443495299914468738982432448856488993540721736362759193045950968029849572215015025476363020822008693579533508664367046357312800554412380290657058716920096354251311258039067344248894125368042353578259708834186800142069235601104907463693092412506217592233230451561611825760751474173116084487025558563281597499238359772787605440767381439091940440849376908655402970587013065682001160730341433302222128179192463866557126414599807879531562502443809435757483150990064114734493750383445879725913026472739723534063476598766950239757522129633657315415470100090134719218979022312321401265096804695151065841517865831752442397050090795836481217555217882869595653420230164006293329844812604053142852013232358602386801824440497530100651007637568820828959896948554423411514151704856699860141802370946915384059983151631239769367329006356947759995311481361561622852173686971500900070037229971697588759709542892438702660440324671292073608741587290659983676016515943297006452462934920412322059628008693031333476683615771028202677184000162422138773959086632169444397845910916078983786477127803374514110165316679660659309757260799251727713137490025075876905942323024724139515912371271048501057355110015821394401283554851578658316990611669814041907436581043971382004 8263860657136425926728761320758916384656472324478084792076379993955040575977643195064818366793184052877688391234066184486057651871135673375459469066953241824730474934895719780797638629906209281217852037625633793515814046937726761414507407643644512280167117046077806477370369856190895213644495313015989612189322997059030306378699768813703357243139823116624227470685459964376318573690522465518886474100019423072256649451972042101199259655390603717031923158938158512633209065526184335535906527820741035094832427854575311886056457038228080111047809144028257025327761164934567972703867841600407196041636770020823675561083064358762762439251192045116658540857216293293901331943836277076998355169451390528881214034991328388507267541576849893787291913214937109736597866097750291240279189436332959891640387845035056606365775286971862073179303588687298052634513446168495485284045799354222239168168989900223667955604977761321091966186985466055622597689729397151725148618140157190401825854408202909415284365382664016336058534096607322394626995222401557906432598273130806065070776038653210710732200512037451556467276039250616540356853162047046636862395417292001281360273160627362328000888921002194244887295459160451820499281083172804774075332434651497289806991822584266248947299953532398697143871553536219986734147730009095001811013409424633587693917171215840251822486398580189708652857433688515404055765857393748800508716788524362659106794560191974010037976962463175119737758679169179240262318560381922317660633193646363036581051920506418799968339490357055559779774250467132945057747251651969623051048535866711805760207444112790203062708918728089785242870854470085732441993071880704090823126508483572066608385719639514409060254519434410515480115112811652333831153211430493599045336083487455149896540151033807329754581182744740287301254826549267820392447508898788860192630896380392675774242568672220676165834045327629882673240721086037990732653526816346295572531327416320127887687223014498044921320708114458002275912316640206518078755594678709963982593248885069161291776767400893666296642144344293939668218532018928267289389712017487928560653183289261005444385294358056766707032330645605596741777335048002346749275713499257017085164277118361903348481515708530302651207718083519661169575277488632487403960937962597493101017575728307696624380816016135012689446952673935941687573507971808068160660101121135483004286841451703123806975267774877194041402845004826077060894583291729335724752116376502382526472218229668716301647415648902461910762967654259928558229617308734963927637822423757291267771460121526416226219911635432268381168722910013802682864629489867986836630652749904864257329905570925270970511071445504899541176965930271338927401862637123129579833824124592007278624812077519307268298708879991423843938564621148520291073935953477691653411100593757906925906885640106947288655665433570418157432184275801863986779099428021111994128447673739289851330492877699707234075066788571705337872434688995024650390853426144932797681783984048564368291157109764000463039125364288987497745166078409341939376951667086768986165461111422718427332808880846759129724364397689162362250705061439446290983360895906136829131619506998202763614187134328106397087328151571340855105181879047531759436601567705079183627359793051410579056976719198125072594723044134138268608832904873461539425792948143145357183190146822275450818840611384329861057829822914185705453058050560476322227270272180420829807050711098200476465855669747640081356839856788221742914766704523493734746055338333113813968569573050944091081852921065560840910254787986539798030561305800991286260691593345136347527233592245799147175932783116487197744087649977415880865173007 13371207421539778435358710801197503614486274107389441305837597091079648365381908915739474939625099095773976910137906284020883640432628472770682712740720778116991480064502193675348654054469466224633147366598842081639137717479316728213313979416563443333272414312503674037195074991567172020491761591226450733492483568426252540683556780526038025400831976831188917464971842970389406600871913753353384557407504934959092945271136955977941224366985763015649929783697424191280519964353956701592768833891458893289792984026791368412449325922565596593041075104453822067307572819205885348589711624159862097880763080815190585376718974187260044762566446548535637725634852940829989753804408539513611705424764234150541639350922402492967607041435231644474150168804305812616822621434414732960826723912987451063543681353400150740003551908692833116634328937315688172667813035241055060670602494856085468497874417934166454484058870609205006149927247056869191483044870076919106268494390541654152099424453369931403084155746843575101105799294810392490367801989008521751755060612246451211536231070267409766791058147971042581541203994933932575584793291669136696884646639366975076042724569424490370382138424135013528616780108649724030173566209333218072232949957924604497456272148109134217066284881490578889519770256663978691742129815591551209806829480696642376183251718138651053925104777567363099503440852368295137513321356739560417359373721113537605581547938904946418413196884261948743840384330549898357924310464576186568866492957355787214651732749762830592794698233989460713799020413993995179164475561997788123240709392782131625589487401860714865713029491857839402714027195166731109618700165033833912206502228644714938110274363468773077353379308882396752610513147074197837938103941018635147287727614326089412293148795585116043971560773563896351284235883709399179221069995183415455681489561475362850848778315880480494716025784399291787701860257911240225612313737235151513317292196296955046238360478088400605498042693825585826386330247596004887189425206306809364682493671956688032086153311689760494625316312131287548743515898705661166937410351037299526744990487287456447912334589753466067428463156385523702065474094952163150881880624777785515852407568213310605611268018267099405234187509192270942391259198288842124941243635052081066639062667401172647980474775011081437603420136919332843994018123130729716962851650239617046021645380628596158689965664358647939306495018116920007364844899138172831024666585115484814975328707223209438038010174841948412878792817226474943583705980329556972621217355932421658314128772922080828606510568694149188477522974221271841750208878383993354878984231009613698444130047640160872075418535138597312047394558163501790489013688397874603752949908611617565841906409576757667041086314320758805283030505061997897199729338924064704719093101754488248359209107768286139752522222559985017965311715838304307796214856911172102058243182167489673297210218790726179973798600852048304104822674446517154284048168841615032887816503203027586680612558374860805158190191205806853329497608475459432735213432884641986869035056764842948591339102210691571733777507249702394720853091863263886788513461546913774397952448466895151318037598648479811253787188293373711802020565939030683390676370935034085540575119788362891940618599571371812044095623114171368240306421664583004431864495608583470028475263755563862741478824287400845804354836275377120625865380110188485015258603748864036600835253388282200638887994443706726713526284254634132658993750491000621538120569448498430493629228882808204890333580634203050865986131693928862822754700821713362557309192650700246363348627993529353998754591100107098867558129557413996924836555011 21635068078676204362087472121956419999142746431867526097913977085034688941359552110804293306418283148651665301371972468506941292303764146146142181807674019941721954999397913456146292684375675505850999404224475875154951764417043489627821387060207955613439531358581480514565444847758067234136256904242440345681806565485282847062256549339741382643971799947813144935657302934765725174562436218872271031507524358031349594723108998079140484022376366732681852942635582703913729029880141037128675361712199928384625411881366680298505782960793676704088884248482079092635333984140453321293579465760269293922399850836014260937802038546022807201817638593652296266492069234123891085748244816590610060594215624679422853385913730881474874583012081538261442082019242922353420487532165024201105913349320410955184069198435207346369327195664695189813632526002986225302326481409550545954648294210307707666043407834390122439663848370526098116114232522924814080734599474070831417112530698844553925278861572840818368521129507591437164333391417714884994797211410079658187658885377257276607007108920620477523258660008494138008480034184549115941646453716183333747042056658976357402997730051852698383027345137207773504075567810175850672847292506022846308282392576101787263263970693400466013584835022977586663641810200198678476277545600646211617842890121275963877168889354491305747591176147552808156298286056810541569087214133309217868090509637900264688342499096920428451173846725123863578143009719077598186629024958108886527126151002150251232784670269249392763037724346516273578794664461128124222222813649757746291757928648843431349694845973505068775738410585929187956898049636816842060693236914538003029628737128287004718660083108287486413633828316807268090628259885850171769257152449128746333063697813544562189688946618923373726141956308636638585490710258666999613517504082204315874120457855755526623020884552701170881859829726921670375100978997278216344967264051497808889823523713275174126047701102898650419363401940043828662242564236211405268180800985519328665086920841757193377930079090654160921958456475581488411734430724589434226800063054787455305643670576717453356719884111522834135495487031129298807251430000165497631156338277042532937571845331672508959749533975629707885395227275790603560834475777474612345204573014678559740080243129480344604855591027216450292867089593268785681591631102537785123511751360752529025932222080299282496940932133525133347897863121746084425739482429902166749418701491987197501800925452878154339657590490850874789555784880734872141935597638291936548855178356178949581900233043607244832730480329581456858691697131285644433073507873861341715614883759518562701459953211086143045929606584102211588571524093773129416415551034997733332783732736209573120531221654276974309385023200750229126969069683146417490803274877542396372504202348246155285115993408393087041177887993555436122743900114106171782993956339193214052371629841228963148540711668425887207873667640620009442695109135512178934439022267759965685498287187076151048903715484624805621229316570095840827242774553868774674590384551728755855200517876265667018671911091538330863501871647391557083103796924703333079496822442819911227084067973893354081651785782807917650874516444945052657125747818078215150112972502739164724202479581414302519675576290569937116690346158305506508915254569456465971290288556726615385658453902386138192297664898785175665412666098291306331318438160748961337485874021044457430642304099380401115353850113454366794883124111422354401908517195524115272866624786831544307597798455859148981415433555268611706896386481915402620785262127514353843569884244045382710875861585775153145930523883223586065302217207391412805701728018 35006275500215982797446182923153923613629020539256967403751574176114337306741461026543768246043382244425642211509878752527824932736392618916824894548394798058713435063900107131494946738845141730484146770823317956794089481896360217841135366476771398946711945671085154551760519839325239254628018495468891079174290133911535387745813329865779408044803776779002062400629145905155131775434349972225655588915029292990442539994245954057081708389362129748331782726333006895194248994234097738721444195603658821674418395908158048710955108883359273297129959352935901159942906803346338669883291089920131391803162931651204846314521012733282851964384085142187933992126922174953880839552653356104221766018979858829964492736836133374442481624447313182735592250823548734970243108966579757161932637262307862018727750551835358086372879104357528306447961463318674397970139516650605606625250789066393176163917825768556576923722718979731104266041479579794005563779469550989937685606921240498706024703314942772221452676876351166538270132686228107375362599200418601409942719497623708488143238179188030244314316807979536719549684029118481691526439745385320030631688696025951433445722299476343068765165769272221302120855676459899880846413501839240918541232350500706284719536118802534683079869716513556476183412066864177370218407361192197421424672370817918340060420607493142359672695953714915907659739138425105679082408570872869635227464230751437870269890438001866846864370730987072607418527340268975956110939489534295455393619108357937465884517420032079985557735958335976987377815078455123303386698375647545869532467321430975056939182247834219934488767902443768590670925244803547951679393401948371915236130965773001942828934446577060563767013137199204020701141406960048009707361093467763893620791312139633974482837742204039417697702729872532989869726593968066178834587499265619771555610019331118377471799200433181665597885614126213458076961236908518441957281001286649322207115720010230220364408179191299255917406095765629655048572811832216292457606007292328693347580592798445225464083390780414655547274768606869037155250329430250601164210414092086982050634157864173901269054473864988901563958643416653000872725524952328648513036963054828048789979413544983114571017552242729113119582736468061545952093674066316737286448208066759626379142910530652992585330366038297887896287226512601629675609754233267502086363401600369575047577602708895441186906596492173072654392881238666091790584381568074997774085286607472012477129632676087592377667765332799287668348602107209815725641577967848909170072534288600607896029005965688073439241049023730645336214671352557486183282386257854696594599114769132261145590000851247015121348141722699523635966082257274919905429239432872337085733641347827138962437631231034641350471337521509034409999574745144314690532613801607101091597304102734403644325101176679226793700110553540454088055615952410479579208813250365316110614812008718636445750930459152067181672268492668313547517783582029333218487191109374998573314790390103737729516273859485610779419507775902694156740383029328207409803817436370742724235574641108615610011013302229902597279378897093951803956888787967219868010283989733685625036516440788505399689384431287728904661704738318764459146313757108898540789343437773250264777599369777194460294175861941749160785969272476874749221676234039470403154784165310085414133717657950000933776489186186021469767502373668426957183818270937446352744477769908494031477557487662601754241844557161093508409408366056487060902267686524736810987194235329974801227027338667353871749014189471662572882518175844265443539962949227716400879076894745629074224489579304507144685114983330684932860346764805409730538283029 56641343578892187159533655045110343612771766971124493501665551261149026248101013137348061552461665393077307512881851221034766225040156765062967076356068818000435390063298020587641239423220817236335146175047793831949041246313403707468956753536979354560151477029666635066325964687083306488764275399711331424856096699396818234808069879205520790688775576726815207336286448839920856949996786191097926620422553651021792134717354952136222192411738496481013635668968589599107978024114238775850119557315858750059043807789524729009460891844152950001218843601417980252578240787486791991176870555680400685725562782487219107252323051279305659166201723735840230258618991409077771925300898172694831826613195483509387346122749864255917356207459394720997034332842791657323663596498744781363038550611628272973911819750270565432742206300022223496261593989321660623272465998060156152579899083276700883829961233602946699363386567350257202382155712102718819644514069025060769102719451939343259949982176515613039821198005858757975434466077645822260357396411828681068130378383000965764750245288108650721837575467988030857558164063303030807468086199101503364378730752684927790848720029528195767148193114409429075624931244270075731519260794345263764849514743076808071982800089495935149093454551536534062847053877064376048694684906792843633042515260939194303937589496847633665420287129862468715816037424481916220651495785006178853095554740389338134958232937098787275315544577712196470996670349988053554297568514492404341920745259360087717117302090301329378320773682682493260956609742916251427608921189297303615824225250079818488288877093807725003264506313029697778627823294440364793740086638862909918265759702901288947547594529685348050180646965516011288791769666845898181476618245916892639953855009953178536672526688822962791423844686181169628455217304226733178448105003347824087429730477186873904094820084985882836479745443853135128452062215905796658302248265338147131096939243723505394490455880294197906336769497705673483710815376068427697725786808277848022012667513640202418842013469871068816469233225082450525566984760154840035391010477146874437356277828440891354625774357976511735699454130447782299679976954952494146144193301331870581727551258876655623530767086218358821004977963743852149512928149843791349631652781081438186119223153660133337190185957065514338189154316105870415357201385335805287209875152961122104073509824789194723683847528625698206002290744360412176216323863997977164523503988099459209978930558128965746717325355823650162457904386987944687867577175606140845718927712644779557477929239009295318271971529353312102194906368483843130616355894131716038310213998528650823847049954062333158167277748306801735224537606351048049321844790467870070418517374084036712082968852885311615659856360722259263536968644428290732181335888679149497464101506450980558929441094585072313834877998547095890210799516066516651362202769589558530162986441849947599594291642127577954389545936133288322990212892717541512152926213377134964258813077577179888778419989344110416400648824345998534983983157583196982084394201988099498579436092517374282628682924393768233460781250544485508887060685712670552947507106432553596852120584414681859481341170214095646555536221183263817116272061575187113690902315940512414988980078951191496979969752152511686277476315430782381258136930803495936374445072722036700799792171560336139126074154084971197135180168471959733288502256431686407690230351790952951462119861587043002869595694670615460303292532477478841462810784882048852083853819022161519108824825794526502853164447744740274279778904657759668064325225076742070244448961138791011785100351165079660290615638866554270998162563972196822536240011047 91647619079108169956979837968264267226400787510381460905417125437263363554842474163891829798505047637502949724391729973562591157776549383979791970904463616059148825127198127719136186162065958966819292945871111788743130728209763925310092120013750753506863422700751789618086484526408545743392293895180222504030386833308353622553883209071300198733579353505817269736915594745075988725431136163323582209337582944012234674711600906193303900801100626229345418395301596494302227018348336514571563752919517571733462203697682777720416000727512223298348802954353881412521147590833130661060161645600532077528725714138423953566844064012588511130585808878028164250745913584031652764853551528799053592632175342339351838859585997630359837831906707903732626583666340392293906705465324538524971187873936134992639570302105923519115085404379751802709555452640335021242605514710761759205149872343094059993879059371503276287109286329988306648197191682512825208293538576050706788326373179841965974685491458385261273874882209924513704598763873929635719995612247282478073097880624674252893483467296680966151892275967567577107848092421512498994525944486823395010419448710879224294442329004538835913358883681650377745786920729975612365674296184504683390747093577514356702336208298469832173324268050090539030465943928553418913092267985041054467187631757112643998010104340776025092983083577384623475776562907021899733904355879048488323018971140776005228123375100654122179915308699269078415197690257029510408508004026699797314364367718025183001819510333409363878509641018470248334424821371374730995619564944849485356692571510793545228059341641944937753274215473466369298748539243912745419480040811281833501890668674290890376528976262408613947660102715215309492911073805946191183979339384656533574646322092812511155364431027002209121547416053702618324943898194799357282692502613443858985340496517992281566619285419064502077631057979348586529023452814315100259529266624796453304054963733735614854864059485497162254175593471303138759388187900643990183392815570176715360248106438647644306096860651483472016507993689319562722235089585090636555220891238961419406911986305065255894828831841500637263412773864435300552702479904822794657230264386698630517530672421638738101784638461087934124560700211913695465021823910108086918100989148197812498366064190786329775516323103812226085441542618472045032811139569072789296238554561491679121087427498090164870754125117871278656683625599078268006908245566052162297589274706931222456060190805053339094993121156449450126252989095154503593218753573989754889000246933380165373958244974983391711212578377042747531121039836400616799638280389570734904813113297783084992639954913580173288625890029501258860503688608322969227274029900742407504251015431863851045406484116346257010327698243768297946968219173435046871868502480756598555698810553714962573766195761751540628578109100636344298855132018927130941411582839923846273601253858666236040042572586730021571218204625956636537730676299570845371413404486509962832127867967283626507936263203596027180068332121901229140723540612525189494198019424470241303671667158482898238693937695998136058060629441579460691017574500637772815517390422287282477157100855470364881030554645383375460197925921582581575418375332296012231691659378285665253757678320968691440263928014453435438262284703259256007358607037535406777599856887346786213925889218286140059850643271157218604947670845628160245686074702623854042974829560861445493597419074705604623837539227776553811701940843535328523713052568573588894841013257491493910051853133193856724913461934211936852661422833603933507865188025969786645328038033536640859324840744384167435300753849884955931022910737002232266778294076 148288962658000357116513493013374610839172554481505954407082676698412389802943487301239891350966713030580257237273581194597357382816706149042759047260532434059584215190496148306777425585286776203154439120918905620692171974523167632779048873550730108067014899730418424684412449213491852232156569294891553928886483532705171857361953088276820989422354930232632477073202043584996845675427922354421508829760136595034026809428955858329526093212839122710359054064270186093410205042462575290421683310235376321792506011487207506729876892571665173299567646555771861665099388378319922652237032201280932763254288496625643060819167115291894170296787532613868394509364904993109424690154449701493885419245370825848739184982335861886277194039366102624729660916509132049617570301964069319888009738485564407966551390052376488951857291704401975298971149441961995644515071512770917911785048955619794943823840292974449975650495853680245509030352903785231644852807607601111475891045825119185225924667667973998301095072888068682489139064841519751896077392024075963546203476263625640017643728755405331687989467743955598434666012155724543306462612143588326759389150201395807015143162358532734603061551998091079453370718165000051343884935090529768448240261836654322428685136297794404981266778819586624601877519820992929467607777174777884687509702892696306947935599601188409690513270213439853339291813987388938120385400140885227341418573711530114140186356312199441397495459886411465549411868040245083064706076518519104139235109627078112900119121600634738742199283323700963509291034564287626158604540754242153101180917821590612033516936435449669941017780528503164147926571833684277539159566679674191751767650371575579837924123505947756664128307068231226598284680740651844372660597585301549173528501332045991047827891119849965000545392102234872246780161202421532535730797505961267946415070973704866185661439370404947338557376501832483714981085668720111758561777531962943584400994207457241009345319939779695068590945091176976622470203563969071687909179623848024737372915620078850063148110330522552288485741218771770088289219849739930671946231368385835856763189814745956610520603189818012372962866904312217600232679434857316940801423565718569212245081931298294361632551724679446755129538663955765844977949973753899436549753770229635998617589217850919666965702280169326564274595858724342460390012524904878076506113707522613783194597252287284888554601653743569484658974369959490444223232109564029326821093262806390432434990748934019085812318476980099612584157376083099191460795929180130600607927959578159722851887483984278709983184107730354849726027408320243747415994174521286773215027111826433908839689908975913331455903638336302994085041294959371018549118820368612477922768389515900563128375337001657872670184058966027561483936863601725779053204391159906096019800317004695521503207290346823854463456107647732234509654648085443782303614352429482376436587695708613835634334214714307975960764140759244959527943569017112357524339617863644927090940945544463515286356252547706443580717156467899764124706698195722171578592221412569739883107759675857180867376862089766369518841879986064969578078260213308325763024496854840879329277685270152224362371724859479022015734147104846398691690436907483125922593975318798080242737757272160188420233680166965121715738600134041637265495537841031343152044929609383487013718060778622279185924797356128415740127839317587893534188331134310261733205181351814396955717280661748607493433233898392014114994473321014169986523837450622440978694832279653013018876678927720359578077909678952211132440327491363601572190413102711856889776999172327652644425191909463827725916392716439226929185474709199054803018305123 239936581737108527073493330981638878065573341991887415312499802135675753357785961465131721149471760668083206961665311168159948540593255533022551018164996050118733040317694276025913611747352735169973732066790017409435302702732931558089140993564480861573878322431170214302498933739900397975548863190071776432916870366013525479915836297348121188155934283738449746810117638330072834400859058517745091039097719539046261484140556764522829994013939748939704472459571782587712432060810911804993247063154893893525968215184890284450292893299177396597916449510125743077620535969153053313297193846881464840783014210764067014386011179304482681427373341491896558760110818577141077455008001230292939011877546168188091023841921859516637031871272810528462287500175472441911477007429393858412980926359500542959190960354482412470972377108781727101680704894602330665757677027481679670990198827962889003817719352345953251937605140010233815678550095467744470061101146177162182679372198299027191899353159432383562368947770278607002843663605393681531797387636323246024276574144250314270537212222702012654141360019923166011773860248146055805457138088075150154399569650106686239437604687537273438974910881772729831116505085730026956250609386714273131631008930231836785387472506092874813440103087636715140907985764921482886520869442762925741976890524453419591933609705529185715606253297017237962767590550295960020119304496764275829741592682670890145414479687300095519675375195110734627827065730502112575114584522545803936549473994796138083120941110968148106077792964719433757625459385659000889600160319187002586537610393101405578744995777091614878771054743976630517225320372928190284579046720485473585269541040249870728300652482210165278075967170946441907777591814457790563844576924686205707103147654138803558983255550876967209666939518288574865105105100616331893013490008574711805400411470222858467228058655824011840635007559811832301510109121534426858821306798587740037705049171190976624200183999265192230845120684648279761229591751869715678092572439418201452733163726517497707454207191174035760502249212461089651011454939325021308501452259624797276170101801051021866415432021659513010226279678176652900785381914762139735458653830105267842762612603719933099734336363140534689254099364167679540442971797664007523467854759377833811115955282041705996741218603273138790360037401342814505422823664473950865802352262084105462315684679785375053425355778861440763315657995558568712230140355130081489118682537513321654891050939739072424907311598136549062710410365178253695054014682754120355496928206511539888225845728959262101694396686107397597257148448156644364215632454910857508119840225124216993832329863889493504744529528365804252945544983567693987776392850269354885427019404947764414173781821118004129680511757209795859430905082775160825925072893640662694575499127558410484076973486108575395092034216748368578808509780104370913245025935269406222710188949567280071674376787301037997531982345385201596065674245316683202895753022350154889923068813511747141794292515751302470760785488589800993265430238808247361072790240837039981186779426834340079106070799785764505576902509427644430269095834713946098578541887277128161806434786125622589243402279504862397475932073026428980267108812239779138154285634697083745496495435593128879860497608181418557154000884837300893272854144878566749929644786496730273227643949996908419245775440627285634345075510163216053779874405836934115776180010912675842449314699736454212117270773126168567926696414164549498510236890019196029873535845537144506928928532060914216302991371613164147985101750324967535080055601128681643535105037205864293503750032653847995161217146566324182860208385446201287069796599199 388225544395108884190006823995013488904745896473393369719582478834088143160729448766371612500438473698663464198938892362757305923409961682065310065425528484178317255508190424332691037332639511373128171187708923030127474677256099190868189867115210969640893222161588638986911382953392250207705432484963330361803353898718697337277789385624942177578289213971082223883319681915069680076286980872166599868857856134080288293569512622852356087226778871650063526523841968681122637103273487095414930373390270215318474226672097791180169785870842569897484096065897604742719924347472975965534226048162397604037302707389710075205178294596376851724160874105764953269475723570250502145162450931786824431122916994036830208824257721402914225910638913153191948416684604491529047309393463178300990664845064950925742350406858901422829668813183702400651854336564326310272748540252597582775247783582683947641559645320403227588100993690479324708902999252976114913908753778273658570418023418212417824020827406381863464020658347289491982728446913433427874779660399209570480050407875954288180940978107344342130827763878764446439872403870599111919750231663476913788719851502493254580767046070008042036462879863809284487223250730078300135544477244041579871270766886159214072608803887279794706881907223339742785505585914412354128646617540810429486593417149726539869209306717595406119523510457091302059404537684898140504704637649503171160166394201004285600835999499536917170835081522200177238933770747195639820661041064908075784583621874250983240062711602886848277076288420397266916493949946627048204701073429155687718528214692017612261932212541284819788835272479794665151892206612467823738613400159665337037191411825450566224775988157921942204274239177668506062272555109634936505174509987754880631648986184794606811146670726932210212331620523447111885266303037864428744287514535979751815482443927724652889498026228959179192384061644316016491194790254538617383084330550683622106043378648217633545503939044887299436065775825256383699795315838787366001752063266226190106079346596347770602317521696588048987990431232859739300674789064951980447683628010633132933291615796978476936035211477525383189146582488870501018061349619456676260077395823837055007694535018227461366888087819981444383638028123445385420921771417906960017608529607469809733544499892625663706920883442465354634633260067156965812836189378828942308465969606719245510281932072659941979957432605010247974632365518059156453372464694110815939775800319712087326041688673091510719630075116648675294567741261352886514810611934250956104856166089699611077733212943540811677580793837752446983175856476888111631626629432144281334867336950650902672019772865406836200433166702107247030586278527065006325511670637967363349787794463664977302157158119662002350695816175823420914841946376886604978277284800568790595299444563106005580180776455399249555490324396100813318164428189814695548640287698888599146776645275893907308711002015345973492746486144446555593617814333795560420092640213799817014009759056210657080648768299008914341502645057700757390136937003969532651382462249609721069887186510197259973447661875530875095744389413709399847174094927254424341566384131969041135712471395774813605774004364341419491666220131275378958799249147262264076879610015881825739233192865289068280731288348383678869739484971342530538349682719598093081689716106113760241362010775530698431700237983414050085203349480803947314062736971244377509385192264490239405031980398202819610704007024560582041690887485563668496760727469818470852230677816797519947805210988634575881069281292116359117542077816331136652246014231393500424882036378191946148175224563311822887133539282763409789393860155400341872814904322 628162126132217411263500154976652366970319238465280785032082280969763896518515410231503333649910234366746671160604203530917254464003217215087861083590524534297050295825884700358604649079992246543101903254498940439562777379989030748957330860679691831214771544592758853289410316693292648183254295675035106794720224264732222817193625682973063365734223497709531970693437320245142514477146039389911690907955575673126549777710069387375186081240718620589767998983413751268835069164084398900408177436545164108844442441856988075630462679170019966495400545576023347820340460316626029278831419895043862444820316918153777089591189473900859533151534215597661512029586542147391579600170452162079763443000463162224921232666179580919551257781911723681654235916860076933440524316822857036713971591204565493884933310761341313893802045921965429502332559231166656976030425567734277253765446611545572951459278997666356479525706133700713140387453094720720584975009899955435841249790221717239609723373986838765425832968428625896494826392052307114959672167296722455594756624552126268558718153200809356996272187783801930458213732652016654917376888319738627068188289501609179494018371733607281481011373761636539115603728336460105256386153863958314711502279697117995999460081309980154608146984994860054883693491350835895240649516060303736171463483941603146131802819012246781121725776807474329264826995087980858160624009134413779000901759076871894431015315686799632436846210276632934805065999501249308214935245563610712012334057616670389066361003822571034954354869253139831024541953335605627937804861392616158274256138607793423191006927989632899698559890016456425182377212579540658108317660120645138922306732452075321294525428470368087220280241410124110413839864369567425500349751434673960587734796640323598165794402221603899419879271138812021976990371403654196321757777523110691557215893914150583120117556682052971019827391621456148318001303911788965476204391129138423659811092549839194257745687938310079530281186460473536144929387067708503044094324502684427642839243073113845478056524712870623809490239643693949390312129728389973288949135887635430409103393416848000343351467233137038393415426260665523401803443264381596411718731225929104897770307138738160561101224450960516133637737392291124925863893569081914483485463288985303620849499781934331660448139486715604144994670661409971471235659853852779808110818231690824707825966611858034995405313211466451011290290361076627868683512819824192305058458337833033742217092628412163935626941673253197738004978106439606581568825294688371311601784372601239499303578941902802913371977479945150044240324304633532475847259084343001789454707562074867896504349636754900340944962695067911499976131262094758994101904520907322248776807199411429391475938979237666132031207573385619280345747029152047430903350178441231485170798572121516489657154262563974644647524541144469392126674208294185608793666222968294821856965594843173978983087789316383971024728831529648151659292059650478763315845662563954706937078572567957798874941284050311385102288133647501750655567175812216893724172703086649702256666613344537339079518461661295380672646898841353830116269929641200522920108271409097202942147257521397402849176283869203816967598293157704359225908061387041402231165244712965571235728628458417948141228896529802236023740369808643423811203827598164843011334502602844033469005960772439117677475678610699684430278859644020001093937142808178493285565203177166081854346680134657031727974780150729149968387301650113167006997617489014500725766523353942026876733743049548792184060652905280507102643828141298671732301615360075143959987073584056239651925257217159818048350685849087592649602245601601628942611503521 1016387670527326295453506978971665855875065134938674154751664759803852039679244858997874946150348708065410135359543095893674560387413178897153171149016053018475367551334075124691295686412631757916230074442207863469690252057245129939825520727794902800855664766754347492276321699646684898390959728159998437156523578163450920154471415068598005543312512711680614194576757002160212194553433020262078290776813431807206838071279582010227542168467497492239831525507255719949957706267357885995823107809935434324162916668529085866810632465040862536392884641641920952563060384664099005244365645943206260048857619625543487164796367768497236384875695089703426465299062265717642081745332903093866587874123380156261751441490437302322465483692550636834846184333544681424969571626216320215014962256049630444810675661168200215316631714735149131902984413567730983286303174107986874836540694395128256899100838642986759707113807127391192465096356093973696699888918653733709499820208245135452027547394814245147289296989086973185986809120499220548387546946957121665165236674960002222846899094178916701338403015547680694904653605055887254029296638551402103981977009353111672748599138779677289523047836641500348400090951587190183556521698341202356291373550464004155213532690113867434402853866902083394626478996936750307594778162677844546600950077358752872671672028318964376527845300317931420566886399625665756301128713772063282172061925471072898716616151686299169354017045358155134982304933271996503854755906604675620088118641238544640049601066534173921802631945541560228291458447285552254986009562466045313961974666822485440803268860202174184518348725288936219847529104786153125932056273520804804259343923863900771860750204458526009162484515649301778919902136924677060436854925944661715468366445626508392772605548892330831630091602759335469088875637706692060750502065037646671309031376358078307773007054708281930199019775683100464334492498702043504093587475459689107281917135928487411891291191877354966829717252236298792528629182383547290410096076565950653832945322419710193248658842234567211858478230074926809129612804517454925269396819515646063542036685032644978820287502444614563776604572843154393902821504614001053087978808621752941952778001673756388022468112538780497578021375420414570311284815340499821443503071818592773430583044281826957324155060370158069499629303921477128437048496043231608750419284201297543953336248543930694937385270644071461259264922726594687025136885284518303120998234138152745829543134317085255446346571748369846413299545847700959468083635906622622267706640538690939110381312154846343725049558273782902491223500161110420587478885713775146070789574899025518799176369409620307177145395861770018747006717540621824000427416191545289612126594993875094368778096137357328134381903389561442701260588975528934035881627463241800275766098016684622495237335039019373894203014865540570205444838636484000304342306510667183421003742240119067886291798791331729944517475317674094707252909873984274323735938302777754523951088331624168455955590052349320299443790778705202508045704112816186426375555165336259423326553799854734599052966123536826255768391288255063229963444024568454947261674655541066244077859728917172216454950288233545236459264513288979738184707310534303666308044854728847396974961821323707016421960184878185914893479854779985954349553510317762936093024218708957793710367971547969816109175916594113734515482209124823948407999879779422870794950395441656321259378660532859851338678787175289732010078189135676835503758344958832971577997201170739546824538954038183368065129934197396866220185905957629808384547629591468644384869109962248185800100481780471640935484225131851002438996105757001970815426407843 1644549796659543706717007133948318222845384373403954939783747040773615936197760269229378279800258942432156806520147299424591814851416396112241032232606577552772417847159959825049900335492624004459331977696706803909253029437234160688782851588474594632070436311347106345565732016339977546574214023835033543951243802428183142971665040751571068909046736209390146165270194322405354709030579059651989981684769007480333387848989651397602728249708216112829599524490669471218792775431442284896231285246480598433007359110386073942441095144210882502888285187217944300383400844980725034523197065838250122493677936543697264254387557242398095918027229305301087977328648807865033661345503355255946351317123843318486672674156616883242016741474462360516500420250404758358410095943039177251728933847254195938695608971929541529210433760657114561405316972798897640262333599675721152090306141006673829850560117640653116186639513261091905605483809188694417284863928553689145341069998466852691637270768801083912715129957515599082481635512551527663347219114253844120759993299512128491405617247379726058334675203331482625362867337707903908946673526871140731050165298854720852242617510513284571004059210403136887515694679923650288812907852205160671002875830161122151212992771423847589011000851896943449510172488287586202835427678738148282772413561300356018803474847331211157649571077125405749831713394713646614461752722906477061172963684547944793147631467373098801790863255634788069787370932773245812069691152168286332100452698855215029115962070356744956756986814794700059316000400621157882923814423858661472236230805430278863994275788191807084216908615305392645029906317365693784040373933641449943181650656315976093155275632928894096382764757059425889333742001294244485937204677379335676056101242266831990938399951113934731049970873898147491065866009110346257072259842560757362866247270272228890893124611390334901218847167304556612652493802613832469569791866588827530941728228478326606149036879815665046359998438696772328673558569451255793454190401068635081475784565492824038726715366947437835667968469718620758519924934245844898558345955403281493951140078449492979163638969677751602170019999103819917304624947878382649499697539847682046850548308812494548583569336989741013711659112812705695237148708909581735926988535107578077051432544063761288984603199856873673644623974582887099908284155897084388558530102432988368661162215155788729932790583855537912270555213087671314893820398104342495426056692475985779571760226945497419381973513421623044151304523954140566049652461201310993579308424911292178609684891096749146638421535753728052535463824465743953063326144798118147860244282461100386695680719046375207518090358556837930246982848802716582994529320712452611860903402193286523760254035116594994266413110962947061981606336004680981466784977641683031760936896588806138984894489301583348538850539406685039597571512844778185913135972733635478242860707834962241865274886580648113915542204149203742858912201933634753087051783965341709230888166904192126254830531336399631684546078912352704258701271288628403320099727868422909125583220413199271938132484585198121636441038187096417060079713954209655470181782926950163447020006986438569619304126572102749053426862806446684097410615371921345068539210099441812968210690449782124964563189081407988150917220224588629378160757337915927779104358721311801827179373932320408933786651595204813418945761068768843949501937022587601364080515598618822403113725340667516883066653567326018881978465490785790002510755962447847472303763724524681573701272697087732160249190587102677373322829734098928480116849244951543788344856183546304425452025738997631458983834910980938595088598351358603599758037911364 2660937467186870002170514112919984078720449508342629094535411800577467975877005128227253225950607650497566941879690395318266375238829575009394203381622630571247785398494034949741196021905255762375562052138914667378943281494479290628608372316269497432926101078101453837842053715986662444965173751995031981107767380591634063126136455820169074452359248921070760359846951324565566903584012079914068272461582439287540225920269233407830270418175713605069431049997925191168750481698800170892054393056416032757170275778915159809251727609251745039281169828859865252946461229644824039767562711781456382542535556169240751419183925010895332302902924395004514442627711073582675743090836258349812939191247223474748424115647054185564482225167012997351346604583949439783379667569255497466743896103303826383506284633097741744527065475392263693308301386366628623548636773783708026926846835401802086749660956283639875893753320388483098070580165282668113984752847207422854840890206711988143664818163615329060004426946602572268468444633050748211734766061210965785925229974472130714252516341558642759673078218879163320267520942763791162975970165422542835032142308207832524991216649292961860527107047044637235915785631510840472369429550546363027294249380625126306426525461537715023413854718799026844136651485224336510430205841415992829373363638659108891475146875650175534177416377443337170398599794339312370762881436678540343345025610019017691864247619059397971144880300992943204769675866045242315924447058772961952188571340093759669165563136890918878559618760336260287607458847906710137909823986324706786198205472252764304797544648393981268735257340594328864877435422151846909972430207162254747440994580179876865016025837387420105545249272708727668253644138218921546374059603323997391524467687893340383711005500006265562680062476657482960154741646817038317822761907598404034175278646630307198666131666098616831417866942987657076986986301315875973663379342048516638223645364406814018040328071693020013189715690933071121202187751834803083864286477634585735308729887912534231975374209182005047526446699793547567649537738763299823827742774918927557493176763482137957983926472122366165946624571946974311207446452492383702587676348469434988803326310486250936606037449528521511289680488233120265548433524250081557370491606926170850482015588345588246308758260227031743144253278504364228345332651940315997308949386634285912614498463699719424870175854499609373529820135814266001918957283388860798547054926614138525401303361262582674828320085169992890564604069801841525517736097107933615847015065449983117720066203251595490363471094027510955026687324626854373650805030511893293931033857360125905494857088455995514695235754418607948993989566343338406994956736903997901473029997187161618129032131253952322400795014352508504682866924980209915502666605104924832036702994605490761480131824340602722433053554272225609803016351481262186217478279244302661663864450075081309751566685371979843860059679466877837566165111807619027410787722268119463754839255235816294710786121388748951983989869691057906766746975401444589746475283033759168548909774213054006537185450708734947892209429475351480290043157978778110417443457582491229691097866715355741835759076860336294289886127319735663835595322682455648734847254954170660365185652271105831980985149266286174065810700079368615332510310848233690715197382940020759620889741903868378749895827511798927153461243277893667897909936902367024234875465994060478724373104001200376734405332354501308613988543679921466838014514307406680443881760925695421120525811651125915528314320521300074239543015640056558288501396874543012432729725293508552611252126220778103099919319136112789597527594457115605570573464319207 4305487263846413708887521246868302301565833881746584034319158841351083912074765397456631505750866592929723748399837694742858190090245971121635235614229208124020203245653994774791096357397879766834894029835621471288196310931713451317391223904744092064996537389448560183407785732326639991539387775830065525059011183019817206097801496571740143361405985130460906525117145646970921612614591139566058254146351446767873613769258884805432998667883929717899030574488594662387543257130242455788285678302896631190177634889301233751692822753462627542169455016077809553329862074625549074290759777619706505036213492712938015673571482253293428220930153700305602419956359881447709404436339613605759290508371066793235096789803671068806498966641475357867847024834354198141789763512294674718472829950558022322201893605027283273737499236049378254713618359165526263810970373459429179017152976408475916600221073924292992080392833649575003676063974471362531269616775761112000181960205178840835302088932416412972719556904118171350950080145602275875081985175464809906685223273984259205658133588938368818007753422210645945630388280471695071922643692293683566082307607062553377233834159806246431531166257447774123431480311434490761182337402751523698297125210786248457639518232961562612424855570695970293646823973511922713265633520154141112145777199959464910278621722981386691826987454568742920230313189052958985224634159585017404517989294566962485011879086432496772935743556627731274557046798818488127994138210941248284289024038948974698281525207247663835316605575130960346923459248527868020833638410183368258434436277683043168791820436585788352952165955899721509907341739517540694012804140803704690622645236495852958171301470316314201928014029768153557587386139513166032311264280703333067580568930160172374649405451120200293730033350555630451220607655927384574895021750159161397041525916902536089559256277488951732636714110292213689639480103929708443233171208637344169165373592885140624189364951508685059549714129629843449875746321286058877318476878703220816784514453405358270702089576129442883194415169512168326169462673009144722386088730322209051444316841931630937147565441800117768116644571050794228512071400370766352087373888317117035653874619298745485189606786518262525001339601045825960785582233159663293297480142033748927533448132409349535293361460083905416788877253087251328253616807837400385867479489067274281275660678855508154802966438355147285800375348901937316812777681493203293973111619090124304973063588208080094210293598591615934715908593755982091567388558309244609426323490361275296329751094348344637001892629781239007562151149092598326714131175310011441791278139821226292190537807502370722213326112975445879240972415146054989989486057616450513333933399380448141889286166370547316667208125315455566664473260984890896969451582746607863797639891194296900465026313642186070971904093678910649400587864326040372130614251977938139906725157910043551616841571952627957775601883616081580425077313741253780497839506233461172985727422140008420965616652725148583668535948603410611025448246690072993066575010902182077674492994626253278475317935293933069528650467662447897350122871932987765887625240509441393138117873701794311455063203432439043343312990126182347933005938054376993803386465053612473333396342720887956945548338347694162216727920303957244710671068186149618494301741661332561448069115836188787683682479107003740572407004346662511847411873924954625598955981592679301127486829341867893617471985921827327495967009170707256840525270269854527916185524650220102694227084348213647688563511108402751612865845374155486768618246119494556221074581477054857036704151959775734558903154047093728192616192808474209170331502230571 6966424731033283711058035359788286380286283390089213128854570641928551887951770525683884731701474243427290690279528090061124565329075546131029438995851838695267988644148029724532292379303135529210456081974536138667139592426192741945999596221013589497922638467550014021249839448313302436504561527825097506166778563611451269223937952391909217813765234051531666884964096971536488516198603219480126526607933886055413839689528118213263269086059643322968461624486519853556293738829042626680340071359312663947347910668216393560944550362714372581450624844937674806276323304270373114058322489401162887578749048882178767092755407264188760523833078095310116862584070955030385147527175871955572229699618290267983520905450725254370981191808488355219193629418303637925169431081550172185216726053861848705708178238125025018264564711441641948021919745532154887359607147243137205943999811810278003349882030207932867974146154038058101746644139754030645254369622968534855022850411890828978966907096031742032723983850720743619418524778653024086816751236675775692610453248456389919910649930497011577680831641089809265897909223235486234898613857716226401114449915270385902225050809099208292058273304492411359347265942945331233551766953297886725591374591411374764066043694499277635838710289494997137783475458736259223695839361570133941519140838618573801753768598631562226004403832012080090628912983392271355987515596263557747863014904585980176876126705491894744080623857620674479326722664863730443918585269714210236477595379042734367447088344138582713876224335467220634530918096434578158743462396508075044632641749935807473589365084979769621687423296494050374784777161669387603985234347965959438063639816675729823187327307703734307473263302476881225841030277732087578685323884027330459105036618053512758360410951126465856410095827213113411375349302744422892717783657757565431216804563532843288225387943587568564054581053279870766626466405245584416896550550685860807389018957291954642229693023201705072739429820562914571077934073120861961182763356337806552093244341317892502677463785311447930720861869305715893819000411772444546213831505241136608937493605413768895131491913922483934063269142997768539719517852863150054675050236786552024457200929784996421795644236046784036291020089278946226334015757409744850667971748959919778015463720754937781602119720310937159933130531591615556598949459777716383176428875701560193890159142555227579673142292854756659330195484716203318731734964882064092520166545704262830374366949470662769038613683761608825280512663557823617085124655417178225273338555811258414049817297599940127365363723808749962588838473719452700364936205821904735722311997181352197685394895958366236908561867394053828234961981489393396984442794520448414806963396567609760018318297624499639068003139667964071347340185965100812472118187851532695834342885799787661945158137982788793404957647951136259203604215807302558348092531222240801570589607985124861368408257324607801635661563082959417991242425548872807908627228501580636740566677375824715676402774113897535652525818294468517792195222091517582813050293935941246223402768839307285012503386002668017420859897137799377640166029911765876305068698091932622829215740417150053290822280292775337633199117445918011768601260736832642538233720007783133698581994991993788926533487613980336282538620383325860043181379034383309209499124601353321068958857740057166433578306618802667725868247624556179745321810827321649833831447586739779851859933343068270351877318276328636109955552850628723678539784577261208360067285575915523814752895999339563216877831629702825852408861014212045057119642994037568653804306770563409647956278180553837658822473183206517790143787265589814740904966549778 11271911994879697419945556606656588681852117271835797163173729483279635800026535923140516237452340836357014438679365784803982755419321517252664674610081046819288191889802024499323388736701015296045350111810157609955335903357906193263390820125757681562919175856998574204657625180639942428043949303655163031225789746631268475321739448963649361175171219181992573410081242618507410128813194359046184780754285332823287453458787003018696267753943573040867492198975114515943836995959285082468625749662209295137525545557517627312637373116177000123620079861015484359606185378895922188349082267020869392614962541595116782766326889517482188744763231795615719282540430836478094551963515485561331520207989357061218617695254396323177480158449963713087040654252657836066959194593844846903689556004419871027910071843152308292002063947491020202735538104697681151170577520702566384961152788218753919950103104132225860054538987687633105422708114225393176523986398729646855204810617069669814268996028448155005443540754838914970368604924255299961898736412140585599295676522440649125568783519435380395688585063300455211528297503707181306821257550009909967196757522332939279458884968905454723589439561940185482778746254379821994734104356049410423888499802197623221705561927460840248263565860190967431430299432248181936961472881724275053664918038578038712032390321612948917831391286580823010859226172445230341212149755848575152381004199152942661888005791924391517016367414248405753883769463682218571912723480655458520766619417991709065728613551386246549192829910598180981454377344962446179577100806691443303067078027618850642381185521565557974639589252393771884692118901186928297998038488769664128686285053171582781358628778020048509401277332245034783428416417245253610996588164730663526685605548213685133009816402246666150140129177768743862595956958671807467612805407916726828258330480435379377784644221076520296691295163572084456265946509175292860129721759323204976554392550177095266419057974710390132289143950192758020953680394406920838501240235041027368877758794723250773379553361440890813915277038817884219988463084781589268599920235563345660381810447345399832279057355722601702179913714048562768231589253233916406762424125103669060111075549083741906985251022565046561292359690324772187119597990569408143965451890993668705548911853164287316895481180394842576722007784678866884852566267615116769043908364768834475165819821410735734476108731209903945130570833618140635544512646375267386493278164794387135347430537678742863248907282353224759996421257313805708652513213726422834699662046172533710379568391948284764367256353589988970150989622812051027079067381131916177513590137002578489875932703460736959121887980369499707475934396635448386973928852136898928140896795948057901907604463995046955735211264983419638011813446949991709441569770598140559631982776994084562410184451624974864376861741630046908604192080133342930478706783200178941477314765895168412985249829277235759411263446699040998416319739290126588406466734735041809726294099515833136642019426839046119321061766897879128817643468781590575879625304838123323897895763465560563487821321296601086949510364800247274990288901844753642192693938601374015967333614118944364745885483725214380976512107572100359701607198791209636341620185061395607031978337712881745872081825961674498499266540687283104753852447220532927703800866262685882517027973576245954117260785725806408298275251971218691592733684752276275432787429179419080979346762684936163969349304198155963605922562021335980519065054847115736276252810226135626508979980347553210905441342738105577465274706388367531825737889113532124874878888247618266684660430140329572217725627230300245982759980074064023911236468780349 18238336725912981131003591966444875062138400661925010292028300125208187687978306448824400969153815079784305128958893874865107320748397063383694113605932885514556180533950054223855681116004150825255806193784693748622475495784098935209390416346771271060841814324548588225907464628953244864548510831480260537392568310242719744545677401355558578988936453233524240295045339590043898645011797578526311307362219218878701293148315121231959536840003216363835953823461634369500130734788327709148965821021521959084873456225734020873581923478891372705070704705953159165882508683166295302407404756422032280193711590477295549859082296781670949268596309890925836145124501791508479699490691357516903749907607647329202138600705121577548461350258452068306234283670961473992128625675395019088906282058281719733618250081277333310266628658932662150757457850229836038530184667945703590905152600029031923299985134340158728028685141725691207169352253979423821778356021698181710227661028960498793235903124479897038167524605559658589787129702908324048715487648816361291906129770897039045479433449932391973369416704390264477426206726942667541719871407726136368311207437603325181683935778004663015647712866432596842126012197325153228285871309347297149479874393608997985771605621960117884102276149685964569213774890984441160657312243294408995184058877196612513786158920244511143835795118592903101488139155837501697199665352112132900244019103738922838764132497416286261096991271869080233210492128545949015831308750369668757244214797034443433175701895524829263069054246065401615985295441397024338320563203199518347699719777554658115970550606545327596327012548887822259476896062856315901983272836735623566749924869847312604545956085723782816874540634721916009269446694977341189681912048757993985790642166267197891370227353373132006550225004981857273971306261416230360330589065674292259475135043968222666010032164664088860745876216851955222892412914420877277026272310009065783943411507469049908648750997912095205028573770755672592031614467527782799684003591378833920971003136041143276057017146752338744636138908123600113807463496554033814813751740804482269319304052759168727410549269645085636243182857046331307951107106097066461437474361890221084568276478868738328780895258611830597583379779603718413453613747979152994633423639953588483564375573919225098497600900705779736655138316270482441451515727392833152220337240470394669055978963965963314149251024064660604460766318334343954276247611257331479013444710498649965721797487149405632287520966114833585276933920871629325737637869143601059973000601983792124429385689548224891732620077398738932739828096531503727444003586953820913235902134183930687561327599419103196030449847763553535710896378124841783958371646657347342947860192515667661925922761619546594803214404651383709359153632915092521913687958449673255466325662793872224355342589607763657781819389581183167807796295940645488826799314422419743047904373880293274353658086601843561046925009782000416407562164838999396315093963236622446466860776891657852318422200952943654973587585192347646609838690873108158692675598774064570121298532304867848500324707299269104370370261938046652630454931756519518497762636693306638796549354536094418036707764017989718609711225018018371470208459528042278879853905069178740730560332704875534798615313575654834781805161070608964797033826254916236913299990864039203585986831316303120550839092344609076024143499595774871338055495579597925266618876766158860831206696028004434321226622474484599715878114871964704197604839424376944636320095802051150323732876346892774122319174367808403317683567402579576882857532107569693528683195018181676332616708320883409876548100413506763772903767339653838652141435330127 29510248720792678550949148573101463743990517933760807455202029608487823488004842371964917206606155916141319567638259659669090076167718580636358788216013932333844372423752078723179069852705166121301156305594851358577811399142005128472781236472528952623760990181547162430565089809593187292592460135135423568618358056873988219867416850319207940164107672415516813705126582208551308773824991937572496088116504551701988746607102124250655804593946789404703446022436748885443967730747612791617591570683731254222399001783251648186219296595068372828690784566968643525488694062062217490756487023442901672808674132072412332625409186299153138013359541686541555427664932627986574251454206843078235270115597004390420756295959517900725941508708415781393274937923619310059087820269239865992595838062701590761528321924429641602268692606423682353492995954927517189700762188648269975866305388247785843250088238472384588083224129413324312592060368204816998302342420427828565432471646030168607504899152928052043611065360398573560155734627163624010614224060956946891201806293337688171048216969367772369058001767690719688954504230649848848541128957736046335507964959936264461142820746910117739237152428372782324904758451704975223019975665396707573368374195806621207477167549420958132365842009876932000644074323232623097618785125018684048848976915774651225818549241857460061667186405173726112347365328282732038411815107960708052625023302891865500652138289340677778113358686117485987094261592228167587744032231025127278010834215026152498904315446911075812261884156663582597439672786359470517897664009890961650766797805173508758351736128110885570966601801281594144169014964043244199981311325505287695436209923018895385904584863743831326275817966966950792697863112222594800678500213488657512476247714480883024380043755619798156690354182750601136567263220088037827943394473591019087733465524403602043794676385740609157437171380424039679158359423596170137155994069332270760497804057646145175067808972622485337317717720948430612985294861934703638185243826419861289848761930764394049436570508193229558551415946941484333795926581335623083413671976367827929701114500104568559689606625367687338423096571094894076182696359330982868199898486993890144679352027952480235766146281176877158875739469928490600573211738548561138598875530947257189113287427083512415393082081100622313377146100949349326304081995007949921264245605239229144221798785376699048625359755274564549591337151952484589820760257632598865506722875293037101069228024828148495536428248468058345273355178185435034390151082870023894672662648156325834808954081496509656099876430988727902890817719343554754523070968085737090749492271186509177437260302879840155152337828133053243186830774760290170932300498794246271088756988463725563833527225614593550538425669634803347370967079865084231355257729047813815098308439787956786765527041232738522158681131211230076411988376073988419305506097622598684525219139775461687338907915879079320458188456481041414823881904129125984721560697971664256193154876407490988960441627791989774294649352090226775427482159654698734572300903612187894019194295770428411988146028595870191319880626738293927620743833601273160690456575294680654763882968655038782782593247743204099586223332590118731171815658319251915221474090130574347762538670417757280670697139537329333281071701757892069550886273475449164617100857126725086103014804892549074668099878070415484322418751566993562930789180331874200699406305945577941810553458712940598290575926672640563321800676893300684716669894271492680912572906028186776832712856694445985027760517105913980782958273790947108708595421221101818403562083265799943017277138461212982094273727643807009755663747413717862563377904110476 47748585446705659681952740539546338806128918595685817747230329733696011175983148820789318175759970995925624696597153534534197396916115644020052901821946817848400552957702132947034750968709316946556962499379545107200286894926104063682171652819300223684602804506095750656472554438546432157140970966615684106010926367116707964413094251674766519153044125649041054000171921798595207418836789516098807395478723770580690039755417245482615341433950005768539399845898383254944098465535940500766557391705253213307272458008985669059801220073959745533761489272921802691371202745228512793163891779864933953002385722549707882484491483080824087281955851577467391572789434419495053950944898200595139020023204651719622894896664639478274402858966867849699509221594580784051216445944634885081502120120983310495146572005706974912535321265356344504250453805157353228230946856593973566771457988276817766550073372812543316111909271139015519761412622184240820080698442126010275660132674990667400740802277407949081778589965958232149942864330071948059329711709773308183107936064234727216527650419300164342427418472080984166380710957592516390261000365462182703819172397539589642826756524914780754884865294805379167030770649030128451305846974744004722848248589415619193248773171381076016468118159562896569857849214217064258276097368313093044033035792971263739604708162101971205502981523766629213835504484120233735611480460072840952869042406630788339416270786756964039210349957986566220304753720774116603575340981394796035255049012060595932080017342435905075330938402728984213424968227756494856218227213090479998466517582728166874322286734656213167293614350169416403645911026899560101964584162240911262186134792866207990450540949467614143150358601688866801967309807199935990360412262246651498266889880748080915750271108992930163240579187732458410538569481504268188273983539265311347208600568371824709804708550404698018183047597275994902050772338017047414182266379341336544441215565115195083716559970534580542346291491704103205016909329462486437869247417798695210819765066805537325493587654945568303187554855065084447603390077889656898227423717172310199020418552863737287100155895012772974666279428141225384133803465428049329637372848884111229247628506821218564547041539788707756459119249532209014026825486527714133232299170900845672677663001002737513890682981806402050032284417219831767755597722400783073484582845709623813277777749342662362774610779339225154052103470286828544097007868889930344520167585791687066791025511977554127823949214582891930550289099057064360127788952013624954645663250140117959238339771044734547832496508387466835630645815875058481967074555039558003985394405370439864998587902298943351182787675896606778897727152885131954890672145451593614036617180979393225759449987234140145341640074286187056730120712780176753268945687497487070564634102581829011120869630840502179940500520792413244219784672014633908132305412045018427573123513655754961692566002480922881505113466263041831231444068968125381036654661208286702660015653299148841278863828744933429268236937282574422037320850527806893264976502386252464140492828075296260488470735895139295690250888676340580251198765357792679188219211987987293560432323191133200819301011761193818195934557608137102642024117847294194101327995199753088493099003122632815469312453112984168062876862828501034347920099730365401530400847990764289689001636208852195218938970415024560346562251162768434268844675911472125966025182711736802641760154740945032611802549147125163037678791765265388914274733695869625548893001830237927156445733041338759150079691473722384100641841193526685591452953328671511932245278283981619349893846782096391970821828057313773528567514753371701215519339440603 77258834167498338232901889112647802550119436529446625202432359342183834663987991192754235382366126912066944264235413194203287473083834224656411690037960750182244925381454211670213820821414483067858118804974396465778098294068109192154952889291829176308363794687642913087037644248139619449733431101751107674629284423990696184280511101993974459317151798064557867705298504007146516192661781453671303483595228322282678786362519369733271146027896795173242845868335132140388066196283553292384148962388984467529671459792237317246020516669028118362452273839890446216859896807290730283920378803307835625811059854622120215109900669379977225295315393264008947000454367047481628202399105043673374290138801656110043651192624157379000344367675283631092784159518200094110304266213874751074097958183684901256674893930136616514804013871780026857743449760084870417931709045242243542637763376524603609800161611284927904195133400552339832353472990389057818383040862553838841092604321020836008245701430336001125389655326356805710098598957235572069943935770730255074309742357572415387575867388667936711485420239771703855335215188242365238802129323198229039327137357475854103969577271824898494122017723178161491935529100735103674325822640140712296216622785222240400725940720802034148833960169439828570501923537449687355894882493331777092882012708745914965423257403959431267170167928940355326182869812402965774023295568033549005494065709522653840068409076097641817323708644104052207399015313002284191319373212419923313265883227086748430984332789346980887592822559392566810864641014115965374115891222981441649233315387901675632674022862767098738260216151451010547814925990942804301945895487746198957622344715885103376355125813211445469426176568655817594665172919422530791038912475735309010743137595228963940130314864612728319930933370483059547105832701592306016217378012856330434942066092775426753599384936145307175620218977700034581209131761613217551338260448673607304939019622761340258784368943157065879664009212652533818002204191397190076054491244218556500668526997569931374930158163138797861738970802006568781399316659225279981641095693540138128721533052968305846789762520380460313089375999236119460316499824759032197837271335878001373926980534773698800313187820965584915334858719460699614600037225076275271831174701848102861790950428086249929283765062907024363409430518169181094059679717408732994748828450948852957499576534719361411399970534613789703643440622239313133917768126522529210026890461084724167860253536805702623360377463050950275823644277242499394517940034883648849318325898296443794047293852541244203932372939376194738521463535218613236490145523125295094734886676556949042435848205178783506335125504029660022084557927645422125822972644245839885125374169443118789592977212848733695880065743920990404101087792645260984624203416545300885662942542369785797886396672073240702099181652003643320631773048088622327437811509667617112098342653431216649031473918360002201963301922744083246055325973097251365758215359179950958853170529706639830239305456536923203562886289372801197464803010182505627837277405998440358159687123845724672476616764491009487010131515414634507871942598959065839878675787282667948324315291846171983601894259504397917782157890198255833813839776166546109322802085330327436255637673540390096140009592650313501343948564586393103898806373205814566147501705117489375792016441101401269887038848485440044668981002729761997199633856243346326665431488657314744452313613453885630902378475819765726359479468658566073630944627967362306461465907858424703989158589735784744177840208579636364883600114984473794300048374549773330335807361549781562367170985243309374065095555701120783284231262167089563778897243551079 125007419614203997914854629652194141356248355125132442949662689075879845839971140013543553558126097907992568960832566728737484869999949868676464591859907568030645478339156344617248571790123800014415081304353941572978385188994213255837124542111129399992966599193738663743510198686686051606874402068366791780640210791107404148693605353668740978470195923713598921705470425805741723611498570969770110879073952092863368826117936615215886487461846800941782245714233515395332164661819493793150706354094237680836943917801222986305821736742987863896213763112812248908231099552519243077084270583172769578813445577171828097594392152460801312577271244841476338573243801466976682153344003244268513310162006307829666546089288796857274747226642151480792293381112780878161520712158509636155600078304668211751821465935843591427339335137136371361993903565242223646162655901836217109409221364801421376350234984097471220307042671691355352114885612573298638463739304679849116752736996011503408986503707743950207168245292315037860041463287307520129273647480503563257417678421807142604103517807968101053912838711852688021715926145834881629063129688660411743146309755015443746796333796739679249006883017983540658966299749765232125631669614884717019064871374637859593974713892183110165302078329002725140359772751666751614170979861644870136915048501717178705027965566061402472673149452706984540018374296523199509634776028106389958363108116153442179484679862854605856534058602090618427703769033776400794894714193814719348520932239147344363064350131782885962923760962121551024289609241872460230334118436071921647699832970629842506996309597423311905553830501620426951460837017842364403910479649987110219808479508751311366805666762679059612576535170344684396632482726622466781399324737981960509010027475977044855880585973605658483171512558215517957644402183096574204491361552121641782150666661147251463404093486550005193803266574976029483259904099630264965520526828014943849380235187876535342500928913691646422010300704356637023019113520859676513923738662017251711488292064375468700423745818084366164926525657071653229002706737114936879868519410712448327741951605832043133889918415393233287755655427377344844450303290187081527474644184762112603174609041594917364860229360754292671793977968992908628626862711603989405063473872748948534468613429088987443174448044713426413441714935389012861815277439809516068233411296658476770777354284062023774174581313953014857695544092526141678014775995412459554547058046876411234651279048783256751184326677633842206373933376299563754645728986897273803963989148436561753285633623585978751764869447763661574152109351093671718457220078164853098720281081927388907434436107477726857517913179926266800982285080530554080713644789697433499161991350422512015352427200082873841221705818207177460831208505425437737893149104042787956227576644951614809007266302913742882039682172796056564851557720103256235570116921712635539671466167086971610724039920840925083468415389007125077286770042065376746794870020388237661513186183005788671518169285281856632831123226655375619502123860710312521102253908384692822300179951921020932965087500386148782700382404090975088123141364316858519066894999270655241884747615037305184421195271265591735978092447806392936455863894013840303424130080530080524748736676663022911609322045763297669406825427414894138246726472936179967677902553108253665481018077310253465105977818900464605015543253892530431468478532154818452631456671369051547094073768194830663514181024966890889397158260423831462545219361663231932010358909688662631145604322777123503327919900053358748984241956178000479891501327878444842268052639833763181717064832025405766035917383758434556812798776920461264994416582991682 202266253781702336147756518764841943906367791654579068152095048418063680503959131206297788940492224820059513225067979922940772343083784093332876281897868318212890403720610556287462392611538283082273200109328338038756483483062322447992077431402958576301330393881381576830547842934825671056607833170117899455269495215098100332974116455662715437787347721778156789410768929812888239804160352423441414362669180415146047612480455984949157633489743596115025091582568647535720230858103047085534855316483222148366615377593460303551842253412015982258666036952702695125090996359809973361004649386480605204624505431793948312704292821840778537872586638105485285573698168514458310355743108287941887600300807963939710197281912954236275091594317435111885077540630980972271824978372384387229698036488353113008496359865980207942143349008916398219737353325327094064094364947078460652046984741326024986150396595382399124502176072243695184468358602962356456846780167233687957845341317032339417232205138079951332557900618671843570140062244543092199217583251233818331727420779379557991679385196636037765398258951624391877051141334077246867865259011858640782473447112491297850765911068564577743128900741161702150901828850500335799957492255025429315281494159860099994700654612985144314136038498442553710861696289116438970065862354976647229797061210463093670451222970020833739843317381647339866201244108926165283658071596139938963857173825676096019553088938952247673857767246194670635102784346778684986214087406234642661786815466234092794048682921129866850516583521514117835154250255988425604450009659053363296933148358531518139670332460190410643814046653071437499275763008785168705856375137733309177430824224636414743160792575890505082002711739000501991297655646044997572438237213717269519753165071206008796010900838218386803102445928698577504750234884688880220708739564977972217092732753922678217003478422695312369423485552676064064469035861243482516858787276688551154319254810637875601285297856848712301674309917009170841021317712256866589978229906235808212156819061945400075353903981223164026665496459078222010402023396340216861509615104252586456463484658800348980679680935773693600845031426613464304766803114946113725311915520640113977101589576368616165173417181719877587128836688453608243226899936680264676894648574597051396259563857175237372458213107620450776851145453558193955874957157218249062982239747607329728276930818781385185574551848566804561338984714765454811932544121934988764573948507961135402511532585588959374544704140684792482197577653542063149163669021780922653282315046733005547332927476127222955697242387139856312673572886312284954947365601290148193455167758484337949870284312656510363853038683955926823066843008175976206536617433943273384287365519865630804945404412931607537101771562128167864932296298070698722517352520588088841890519187321400606893662974986983584138863824799699885483330768191878563007928431380252651769808820518188259755513839200927285431717311751208323342096015162628112553085379568188620366356712712428501757474741818779836394009516028176816966926870892818148939531314383133180459867075766745605441704264877158269710513919505609595995083963275924358945570786553323190209062906883477168023089530769989653760250338004648770269703670180386412746932165860407961004374350203413007749331638413611170750773992001287242145532846141994533825404258225743041273034518411654734993016667385904649684524256622292428668112388398164779296888160026366291546387381648716294416559500786656615756637729082397536176163989630594238471824817547087335134762912512908247505760108632995113867842071162474274191549702428218172603860001383544744084235817268715140101012939459555340097030039087550828773313826542761 327273673395906334062611148417036085262616146779711511101757737493943526343930271219841342498618322728052082185900546651678257213083733962009340873757775886243535882059766900904710964401662083096688281413682279611734868672056535703829201973514087976294296993075120240574058041621511722663482235238484691235909706006205504481667721809331456416257543645491755711116239355618629963415658923393211525241743132508009416438598392600165044120951590397056807337296802162931052395519922540878685561670577459829203559295394683289857663990155003846154879800065514944033322095912329216438088919969653374783437951008965776410298684974301579850449857882946961624146941969981434992509087111532210400910462814271769376743371201751093549838820959586592677370921743761850433345690530894023385298114793021324760317825801823799369482684146052769581731256890569317710257020848914677761456206106127446362500631579479870344809218743935050536583244215535655095310519471913537074598078313043842826218708845823901539726145910986881430181525531850612328491230731737381589145099201186700595782903004604138819311097663477079898767067479912128496928388700519052525619756867506741597562244865304256992135783759145242809868128600265567925589161869910146334346365534497959588675368505168254479438116827445278851221469040783190584236842216621517366712109712180272375479188536082236212516466834354324406219618405449364793292847624246328922220281941829538199037768801806853530391825848285289062806553380555085781108801600049362010307747705381437157113033052912752813440344483635668859443859497860885834784128095125284944632981329161360646666642057613722549367877154691864450736600026627533109766854787720419397239303733387726109966459338569564694579246909345186387930138372667464353837561951699230028763192547183053651891486811824045286273958486914095462394637067785454425200101117099613999243399415069929680407571909245317563226752127652093547728939960873747482379314104703495003699489998514410943786226770540358723684610621365807864040431233116543103901968568253059923645111126320868775777649799307530191592022116149875239404730133455153741378134514965034784205436264632392114569599351166926888600686853990809149217106405133195252786559705402226580276198617963533530033646542474170258922814657446516871853762648284254081958122447345999930728177286264224815632661152333877190292860388947206817690234597027765131215651044265806499054285102843408959749133162519819419034528807291596489947320117347448319121006554837546637162811634372216125729030818318634688571511029841626903809398008678196457246304195169567300618561099713201707462111834903517886825682237405956673404585679455001292175448840411726857304720420134237221370951863882193624049128088706530287250262223640706883449356870288142820297831613014481378323477380335345325763504803496136460410501624630876798118095832273015415900929277900726466178545997595756450334888488295134798578045353092888191441274987605159870479553760041852368900132700758333400628866057228004859347955399956426281879542895718217173275644027100636469225132742683552436469050731603130670041785222767826002760047027687766538406791765263307052410896323596584684118225327592782878012465785823978432093810521920782352444284802035581389738342785811041706725567564194226716171062246390488485753111026866435919358653684176908840157599419416181380392259319078174501503306811333996706754052595721908200098994486286369254700067510514822860136590920552983231928344831395417838640461149843546957930740525753547505153795989506228998721383351293826170482183727235749966280367235290031750833680008686353862852084027340474754083051030306663014871912641217307925801300649294120906136930323217989896909828816008012093767730409534443 529539927177608670210367667181878029168983938434290579253852785912007206847889402426139131439110547548111595410968526574619029556167518055342217155655644204456426285780377457192173357013200366178961481523010617650491352155118858151821279404917046552595627386956501817404605884556337393720090068408602590691179201221303604814641838264994171854044891367269912500527008285431518203219819275816652939604412312923155464051078848585114201754441333993171832428879370810466772626378025587964220416987060681977570174672988143593409506243567019828413545837018217639158413092272139189799093569356133979988062456440759724723002977796142358388322444521052446909720640138495893302864830219820152288510763622235709086940653114705329824930415277021704562448462374742822705170668903278410614996151281374437768814185667804007311626033154969167801468610215896411774351385795993138413503190847453471348651028174862269469311394816178745721051602818498011552157299639147225032443419630076182243450913983903852872284046529658725000321587776393704527708813982971199920872519980566258587462288201240176584709356615101471775818208813989375364793647712377693308093203979998039448328155933868834735264684500306944960769957450765903725546654124935575649627859694358059583376023118153398793574155325887832562083165329899629554302704571598164596509170922643366045930411506103069952359784216001664272420862514375530076950919220386267886077455767505634218590857740759101204249593094479959697909337727333770767322889006284004672094563171615529951161715974042619663956928005149786694598109753849311439234137754178648241566129687692878786336974517804133193181923807763301950012363035412701815623229925453728574670127958024140853127251914460069776581958648345688379227794018712461926275799165416499548516357618389062447902387650042432089376404415612672967144871952474334645908840682077586216336132168992607897411050331940629932650237680328157612197975822117229999238101381392046158018744809152286545071524627389071025358920538374978705061748945373409693880198474488868135801930188266268851131553780530694218257518575228097249806753529795370602887749619217621240668920923432741095249280286940620489445718280604273453983909520079308978098475226042340557377788194332149695207063724194047846051651345900125115080662584964518758852771021943051326987741143439462188090874259954327967144005842505400773565191754246014194197890791873136227331215921624794145323685011086623980373513522057051301879864239282437083694955062798682039674344219961175500273734959003427170769088683383690052973067030459119110528619241902572847951488575840424663159354222043374199499255123718241628351951280745149485630616598896064807175004732790747585223990547838120447115971096882506493786879657583980267736722390153773625243236025946088915425248942463513190695801101566835182927854145218965640008615019594416022794592252887710050317409822395456335818219256487013361585973784473140843211083808123348130235067599242779654331850012509541723970962072390632971901040779524614902245899608430645675033118768919416305619142258711729253435977602495948818981316537150959183219914103454512143848496030140465322121410243102194280113309290868707236958036572377301622302873428804259520467374332805571043498593123815690476995271234374613128917994412250896446757485377069848927107985322590520010908373411417468622537792165220169035328711069559739748027087114133562935092011153672273904384591767137115288804703308951148011225232991421784130186848531492263252347300026540204120910433718588626534897547340924420408954008544782837301415130147802939998339440117319348976719926098502949028274600732734881187475772642600852669885536466562836046237943262677545237006858855095562922541044236077204 856813600573515004272978815598914114431600085214002090355610523405950733191819673645980473937728870276163677596869073226297286769251252017351558029413420090699962167840144358096884321414862449275649762936692897262226220827175393855650481378431134528889924380031622057978663926177849116383572303647087281927088907227509109296309560074325628270302435012761668211643247641050148166635478199209864464846155445431164880489677241185279245875392924390228639766176172973397825021897948128842905978657638141806773733968382826883267170233722023674568425637083732583191735188184468406237182489325787354771500407449725501133301662770443938238772302403999408533867582108477328295373917331352362689421226436507478463684024316456423374769236236608297239819384118504673138516359434172434000294266074395762529132011469627806681108717301021937383199867106465729484608406644907816174959396953580917711151659754342139814120613560113796257634847034033666647467819111060762107041497943120025069669622829727754412010192440645606430503113308244316856200044714708581510017619181752959183245191205844315404020454278578551674585276293901503861722036412896745833712960847504781045890400799173091727400468259452187770638086051031471651135815994845721983974225228856019172051391623321653273012272153333111413304634370682820138539546788219681963221280634823638421409600042185306164876251050355988678640480919824894870243766844632596808297737709335172417628626542565954734641418942765248760715891107888856548431690606333366682402310876996967108274749026955372477397272488785455554041969251710197274018265849303933186199111016854239433003616575417855742549800962455166400748963062040234925390084713174147971909431691411866963093711253029634471161205557690874767157932391379926280113361117115729577279550165572116099793874461866477375650362902526768429539509020259789071108941799177200215579531584062537577818622241185947495876989807980251159926915782990977481617415486095541161718234807666697488857751397929429749043531159740786569102180178489952797782167042741928059447041314587137626909203579838224409849540691377972489211483663250524344265884134182656024874357188065133209818879638107547378046405134595082603201015925212504230885034931444567137653986812295683225240710266668218104974466003346641986934425233248772840810893469289051257715918429703687003723535412288205157436866231452607591255426351273779325413541836138942726385501024468203105072818173606443399408042329348647791827184356629885402815961617636228676837155854333391626002765777322061859340599713225316956782465039137315567774923437072140148570049675553626370621466056946892086324937361124198301756536960200150777806065439307791664479725152924984806594942411720314071165099185589036781037141881224687151186079260441916445541067638960570293748726322798858516459305905062971643338355769849842438126710851867431438695521530788436516495955819991212786153107744782148160164019137566029034652358795728508000714621359284632023231982713267875124599828129618637831248996179481041184125442504148862848308762796020052774844275001395281689905028334099079489023101759918785185979961131142278682255287795403772374532306566698778964231534618461490114970502358201280054396683950725041872911659134841152433236935909626732183720838798568839845089056658641384932510596403936284846466639006767428851065972830833650002930051484298343536832017880893736454781139709855471135191005639958643159084659277651938148941294229504131243153577822817201968827309681335810210278040552293751626064229708094855533618930692218246579436192272018587267695497383092971749173120126005702839572010125843423782357651763041544202347685283818160595686837115856956952374873585895535133916687671103575016308774645611647 1386353527751123674483346482780792143600584023648292669609463309317957940039709076072119605376839417824275273007837599800916316325418770072693775185069064295156388453620521815289057678428062815454611244459703514912717572982294252007471760783348181081485551766988123875383269810734186510103662372055689872618268108448812714110951398339319800124347326380031580712170255926481666369855297475026517404450567758354320344540756089770393447629834258383400472195055543783864597648275973716807126395644698823784343908641370970476676676477289043502981971474101950222350148280456607596036276058681921334759562863890485225856304640566586296627094746925051855443588222246973221598238747551172514977931990058743187550624677431161753199699651513630001802267846493247495843687028337450844615290417355770200297946197137431813992734750455991105184668477322362141258959792440900954588462587801034389059802687929204409283432008376292541978686449852531678199625118750207987139484917573196207313120536813631607284294238970304331430824701084638021383908858697679781430890139162319217770707479407084491988729810893680023450403485107890879226515684125274439141806164827502820494218556733041926462665152759759132731408043501797375376682470119781297633602084923214078755427414741475052066586427479220943975387799700582449692842251359817846559730451557467004467340011548288376117236035266357652951061343434200424947194686065018864694375193476840806636219484283325055938891012037245208458625228835222627315754579612617371354496874048612497059436465000997992141354200493935242248640079005559508713252403603482581427765240704547118219340591093221988935731724770218468350761326097452936741013314638627876546579559649436007816220963167489704247743164206036563146385726410092388206389160282532229125795907783961178547696262111908909465026767318139441396684380972734123717017782481254786431915663753055145475229672573126577428527227488308408772124891605108207480855516867487587319736979616818984033929276025318500774402451698115765274163929123863362491662365517230796195248971502853406478040757360368918628107059266606069739018237193045894947153633753400277265543278111497874305068159925048167867492123415199356057184925445291813208983510157486907695031775006627832920447773990862265951026117349246767102015087818213291599663664491232102584703659573143149191814409672242533124580872073958008364820618105519793519611432628012078953716716946092997250396503184693067379781555851405699093707048595912322486510916680434910716511500074294567126276500736325489030109688396609007009755532069596434678303542678974712996521538251394051033780820278990266285824192484842439930108488240945300263436682038203856471654729885715732391818932959558434518281070282471543274824021538808667418922801650595690070784303664906659209173975265262371707155107006629806826266209915068808078135325871461847461490113783676146566813365642386669121971327001269161521749992922039169877863442603851856130949688958527411677563832725777416848570790202009270803150036959005656086371342112579508523341881564939469080463417260107010943341005936595028308004418297069744369199875234596790826103783825544237696653716809800973244344843909330197351928538930578581676699557379529301393379033467646723476735529033442422660716110032943452974007051070892281379268081781006133773574624329357948861974346242251118625467843649518512572160728950453476202808226823989034070283016793630917063469251044789053437745997538455279254378810814238986099014158212828073462625340578833955746974663426683482068516478033142666988390200816801424569110627530895911747512560243325051816291936224346372810632252495776425389823457926419013265572373582419792998612816848573080370923546526199137938849818881688851 2243167128324638678756325298379706258032184108862294759965073832723908673231528749718100079314568288100438950604706673027213603094670022090045333214482484385856350621460666173385941999842925264730261007396396412174943793809469645863122242161779315610375476147019745933361933736912035626487234675702777154545357015676321823407260958413645428394649761392793248923813503567531814536490775674236381869296723203785485225030433330955672693505227182773629111961231716757262422670173921845650032374302336965591117642609753797359943846711011067177550397111185682805541883468641076002273458548007708689531063271340210726989606303337030234865867049329051263977455804355450549893612664882524877667353216495250666014308701747618176574468887750238299042087230611752168982203387771623278615584683430165962827078208607059620673843467757013042567868344428827870743568199085808770763421984754615306770954347683546549097552621936406338236321296886565344847092937861268749246526415516316232382790159643359361696304431410949937861327814392882338240108903412388362940907758344072176953952670612928807392750265172258575124988761401792383088237720538171184975519125675007601540108957532215018190065621019211320502046129552828847027818286114627019617576310152070097927478806364796705339598699632554055388692434071265269831381798148037528522951732192290642888749611590473682282112286316713641629701824354025319817438452909651461502672931186175979053848110825891010673532430980010457219341119943111483864186270218950738036899184925609464167711214027953364618751472982720697802682048257269705987270669452786514613964351721401357652344207668639844678281525732673634751510289159493171666403399351802024518488991340847874779314674420519338718904369763727437913543658801472314486502521399647958703075457949533294647490136573775386840677130220666209826223889992993912788126724280431986647495195337117683053048294814312524924404217296288659932051807388099184962472932353583128481455214424485681522787027423247930523445982857856551843266109302353315289444532559972724254696012817440544104949960940207143037956599957984042228229720856296419291419517887582933290417635299563007514887039563155715245538528549794438660385941370504317439868545088931474832685761818923516145688484257530484056000583352593409088949513051462064440474557960521153842419578002846836195537945084530738282017738305410615956076044456793572845024974464151021680102217970561200355469321358299510779189598180754346885534232952542207889326878298071139393348655928627958752279266513647550889450288109834323966537997108733750246078466116046853145091587926947677404402286335937158372149129845966638231865025201145451041242747477511648136134455038640717198413875371278748589446169468060580055861163420033354570108880911037606516325371303867229502922701588061230223614412911692778469604565684918650516262036723329278900185635314464583083309321462377881908124434746051309681914012059605198912515801399580364131664310317812043700795815439045291973170618331627908634399033138486697270496784616728371371650644360959521855307692261502292633246034270694107797027520056988529555179836365739069508359071620948010071186023376499752208576378527791687466899041288779861731096241330254343266290692602487875909972464943069154844436948831512292819096107729533666311778678184942418620041263336125377713040319073084768628397895133816856108992746831347212657589366533844505205474022433589560222553910322440991586687291767959410497532388637056188067841467894163883672903381131127707373038893134778337602135408725360913567826393088820011836806124913988883496685680369330754655863946350189796592989904258817969592171143210237173861259210698276749950987690434468615504840234197302712955158593527300498 3629520656075762353239671781160498401632768132510587429574537142041866613271237825790219684691407705924714223612544272828129919420088792162739108399551548681012739075081187988674999678270988080184872251856099927087661366791763897870594002945127496691861027914007869808745203547646222136590897047758467027163625124125134537518212356752965228518997087772824829635983759494013480906346073149262899273747290962139805569571189420726066141135061441157029584156287260541127020318449895562457158769947035789375461551251124767836620523188300110680532368585287633027892031749097683598309734606689630024290626135230695952845910943903616531492961796254103119421044026602423771491851412433697392645285206553993853564933379178779929774168539263868300844355077104999664825890416109074123230875100785936163125024405744491434666578218213004147752536821751190012002527991526709725351884572555649695830757035612750958380984630312698880215007746739097023046718056611476736386011333089512439695910696456990968980598670381254269292152515477520359624017762110068144371797897506391394724660150020013299381480076065938598575392246509683262314753404663445624117325290502510422034327514265256944652730773778970453233454173054626222404500756234408317251178395075284176682906221106271757406185127111774999364080233771847719524224049507855375082682183749757647356089623138762058399348321583071294580763167788225744764633138974670326197048124663016785690067595109216066612423443017255665677966348778334111179940849831568109391396058974221961227147679028951356760105673476655940051322127262829214700523073056269096041729592425948475871684798761861833614013250502892103102271615256946108407416713990429901065068550990283882595535637588009042966647533969764001059929385211564702692891681682180187828871365733494473195186398685684296305703897538805651222908270965728036505144506761686773079410859090172828528277967387439102352931444784597068704176698993207392443328449221070715801192194041304665556716303448566431297848434555972317117430038426216677781106898077203520449944984320293950582990718300576061666063659224590111967247958049342314238573151640983210555960913411060881819955199488203883113030651964993794717570866815796130648852055246418382527717536825551349066136258248392750007026700701840176190964600869675356040138222451753256427123237575989985387352354756773271406598610379368624320896662562313366364636407092163100633818934916654197605865824542992578158971154032160045979241281548454530375837794978506050109860156002922525878555767249973039919559976506443330976293529178330184924382008795021566141613126178341728438183106614927424657973322330809078161973513442090751304679429515715504607789184924356449590232808330837183107727239750532123330685184958842021989031682561633296587109674968773888712096676853323601930769519918322585295870775599987458594397362594791126361675749098140729650122687104764551030095761747320471203664004981644368790379244003432220262613999276339455378359648164822708821741408533637179437549070097492353356868126729307879894992525925898990935771109521609303576587040207289136105031938354058273924379711600335860334462855446492247767839740186300725452921222437121884818827580219358443407795798709783644659669726070134599386707993976511577505153058864455745793103158800425947691046759965948552393615887665483326575014665315335887253865738783335368681153475781800688860397593357833539275757039227220477286023161367230045024433289306414689751911199451295174166855626106991957135528721709961663120013556561461819670651886758503580556216593905621436405916752444884795244198240612655806472155882574536169403622156754594394981994601136656187126831584280696542949600507283041695875763780723501850894008412408989349 5872687784400401031995997079540204659664952241372882189539610974765775286502766575508319764005975994025153174217250945855343522514758814252784441614034033066869089696541854162060941678113913344915133259252496339262605160601233543733716245106906812302236504061027615742107137284558257763078131723461244181708982139801456360925473315166610656913646849165618078559797263061545295442836848823499281143044014165925290794601622751681738834640288623930658696117518977298389442988623817408107191144249372754966579193860878565196564369899311177858082765696473315833433915217738759600583193154697338713821689406570906679835517247240646766358828845583154383398499830957874321385464077316222270312638423049244519579242080926398106348637427014106599886442307716751833808093803880697401846459784216102125952102614351551055340421685970017190320405166180017882746096190612518496115306557310265002601711383296297507478537252249105218451329043625662367893810994472745485632537748605828672078700856100350330676903101792204207153480329870402697864126665522456507312705655850463571678612820632942106774230341238197173700381007911475645402991125201616809092844416177518023574436471797471962842796394798181773735500302607455069432319042349035336868754705227354274610385027471068462745783826744329054752772667843112989355605847655892903605633915942048290244839234729235740681460607899784936210464992142251064582071591884321787699721055849192764743915705935107077285955873997266122897307468721445595044127120050518847428295243899831425394858893056904721378857146459376637854004175520098920687793742509055610655693944147349833524029006430501678292294776235565737853781904416439280073820113342231925583557542331131757374850312008528381685551903733491438973473044013037017179394203081828146531946823683027767842676535259459683146381027759471861049132160958721949293271231042118759726906054427290511581326262201751627277335662080885728636228506381306577405801381574653844282647408465790347079503330871814361821294417413828868960696147728569993070551430637176244704640997137734494687940679240783204704020259182574154195477678905638733529992669528566143846378548710623889334842239051359598358569180514788233377956808186300448088720600335349857360403298644474865211824742505923234063027284054433585279914113921137420480612780412274410269542815578836821582890299841304009688616348684779240276972707019106939209661381556314122313921152887215397961335145901292088938160752212914392864775514500996738265164673276577189503208811931550484630835033763620590809010264616277654942831526287063935170460474911068419286704714105289405842585392950864583030122452176775716393838538643236202345922176993227152743923639962997166788646683702115931697173409218592703386546348378875376559140563472670903103435046272641118215019378441384832154383932830015363765475341284906109110659399318120405261861384412605312733432008567142432938220196493371780885578017041249567702895045403012584394278309594151499079155463603868000794912026865265088071948103235979050627364911346036251266643170286858512791078801783111596209833074477983243902059458411046803479559547966074929842821927067440257839025763562800477661497600964913572285726621508138305138892040040037987925960418672622475296680458919580732349590007695968038612199266529959614002825438150890971013657151001608704288054984388420655882263633917152224790146222613147901517986959891678044481231061660810037508577071689671036611120581074374100249443588088351362234697094001155840808432102841089370493052449696240157272787295483864494124042986994441448242722877358873678740883920981986561128019828924725965996612061013412364574165744346893360988090794978973292900588197717510311380604014920804563849167005936289847 9502208440476163385235668860700703061297720373883469619114148116807641899774004401298539448697383699949867397829795218683473441934847606415523550013585581747881828771623042150735941356384901425100005511108596266350266527392997441604310248052034308994097531975035485550852340832204479899669028771219711208872607263926590898443685671919575885432643936938442908195781022555558776349182921972762180416791305128065096364172812172407804975775350065087688280273806237839516463307073712970564349914196408544342040745112003333033184893087611288538615134281760948861325946966836443198892927761386968738112315541801602632681428191144263297851790641837257502819543857560298092877315489749919662957923629603238373144175460105178036122805966277974900730797384821751498633984219989771525077334885002038289077127020096042490006999904183021338072941987931207894748624182139228221467191129865914698432468418909048465859521882561804098666336790364759390940529051084222222018549081695341111774611552557341299657501772173458476445632845347923057488144427632524651684503553356854966403272970652955406155710417304135772275773254421158907717744529865062433210169706680028445608763986062728907495527168577152226968954475662081291836819798583443654119933100302638451293291248577340220151968953856104054116852901614960708879829897163748278688316099691805937600928857867997799080808929482856230791228159930476809346704730858992113896769180512209550433983301044323143898379317014521788575273817499779706224067969882086956819691302874053386622006572085856078138962819936032577905326302782928135388316815565324706697423536573298309395713805192363511906308026738457840956053519673385388481236827332661826648626093321415639970385949596537424652199437703255440033402429224601719872285884764008334360818189416522241037862933945143979452084925298277512272040431924449985798415737803805532806316913517463340109604229589190729630267106865482797340405205374513969849129830795724560083839602507095012636219634320380793119142851969801186078126186154786670851658328714379765154585981458028445270931397541359266370083918407164266162725636954981047768565821169549354402339462121684771154797438539563481471599832479782028095527675002096578737572655581768239888120835470026214277961000754315984070053984756273761470878714790812776520751002864027666696666053154826806970242654598077281095214959064147864597869369581420305574297788648477222947740087803869595567200970444284667097131906245074438844016796049451268641002468255083239613068967934473010509390801013593630728570241122720985919125055465394120094842483706089985428317840283631134280768499565792007688095774507584794555812052085326953650601606508942657351712824887353616378879492032953114804900648969124826717231533337717398548172246034304199690544721241415006927116055294708434085153452748337949061346116884893567705056761912911531623537133510746042383554695671906983968315958240692252089242022022893936493274289406444804656892308870490954457515111768690709616653435398902267509497173333471403984233038075344131161635696212757503726849911304720899786420114685272380007091396765105077403939259566410790177284782513932505606865503749101203114418823402035457104554201727496748546687838749821632585630144742757074683388452896092309854743066560423784405302425330385561693872198116839523407273038667092030863069649703756543136129372700487593471299698394948590378384553249511583756988100888030514794600233056901081635553870380788790001354787539646536401552720108147797943960824551051033613066006257701976943439182242368074680259580900062884648639629803758473985082161594642367600175711499262135400234217768006759556160345483549548114922379259669835850188705000552007256367795644306414743175418345279196 15374896224876564417231665940240907720962672615256351808653759091573417186276770976806859212703359693975020572047046164538816964449606420668307991627619614814750918468164896312796883034498814770015138770361092605612871687994230985338026493158941121296334036036063101292959478116762737662747160494680955390581589403728047259369158987086186542346290786104060986755578285617104071792019770796261461559835319293990387158774434924089543810415638689018346976391325215137905906295697530378671541058445781299308619938972881898229749262986922466396697899978234264694759862184575202799476120916084307451934004948372509312516945438384910064210619487420411886218043688518172414262779567066141933270562052652482892723417541031576142471443393292081500617239692538503332442078023870468926923794669218140415029229634447593545347421590153038528393347154111225777494720372751746717582497687176179701034179802205345973338059134810909317117665833990421758834340045556967707651086830301169783853312408657691630334404873965662683599113175218325755352271093154981158997209209207318538081885791285897512929940758542332945976154262332634553120735655066679242303014122857546469183200457860200870338323563375334000704454778269536361269138840932478990988687805529992725903676276048408682897752780600433108869625569458073698235435744819641182293950015633854227845768092597233539762269537382641167001693152072727873928776322743313901596490236361402315177899006979430221184335191011787911472581286221225301268195089932605804247986546773884812016865465142760799517819966395409215759330478303027056076110558074380317353117480720648142919742811622865190198602802974023578809835424089824668555056940674893752232183635652547397345236261605065806337751341436746879006875473237638737051680087845836480892765013099550008880539469204603662598465953057749373321172592883171935091686968845924292533222967944753851690930491790942356907602768946368525976633711755820547254931212370378404366487010972885359715722965192195154940437269383630055038822333883356663922209759351556009859226978595762939958872076782142471074104177589738420358203315860619781298558490698115498248718010832308660489639677590923079830169012994570261473484483188397026826293255917118097248524134114501079489785743260239218133081268810707346750792828711950197001363783276302076966208868733663628553132954439381290783831307748927104874842076600527244783959170204791345261661240691084993528536116345576756035292658457988831708792310550448006906167141531660429116277779866023495140225834777214221537580505738998640861956581752458055265302958617158404715022554388920540123353892516656590718218226684360510949650590728563155996523783502169810095636464850350783167526175735069046502074058187717530103777881716592775107312809506975102793979767514056125142135433736093266239537385578353312826821458169799676815716161231031936885398517923351355116986704239049416906536154734064032974820039064143504196169334809457389051170618464642453536670575372558710411565462264167355581445276569450454611597949421380382428278866499616016517928713087832495996253189163255623909150855176151880883498807532485720020106709581372763445891267311901680775916424366949029390280823235635053685579878789859620511590563415379549980068911815673042204333074256391823017501691860345175696697636267730494420930189668700735151124634092177199018393006617639818261445921008096491896371513141189628238219162548840552303177304746572118246674451455162890250798375627997898636249814109303638752392927392140404106118455953942134216226477726232568804302567894504332891362507162632152725966082576628928728195540423988101396846278781419124130326089830442909103013174238643128750776902718062318636971810565110978592342424281569043 24877104665352727802467334800941610782260392989139821427767907208381059086050775378105398661400743393924887969876841383222290406384454027083831541641205196562632747239787938463532824390883716195115144281469688871963138215387228426942336741210975430290431568011098586843811818948967217562416189265900666599454196667654638157812844659005762427778934723042503894951359308172662848141202692769023641976626624422055483522947247096497348786190988754106035256665131452977422369602771243349235890972642189843650660684084885231262934156074533754935313034259995213556085809151411645998369048677471276190046320490174111945198373629529173362062410129257669389037587546078470507140095056816061596228485682255721265867593001136754178594249359570056401348037077360254831076062243860240452001129554220178704106356654543636035354421494336059866466289142042433672243344554890974939049688817042094399466648221114394439197581017372713415784002624355181149774869096641189929669635911996510895627923961215032929991906646139121160044746020566248812840415520787505810681712762564173504485158761938852919085651175846468718251927516753793460838480184931741675513183829537574914791964443922929777833850731952486227673409253931617653105958639515922645108620905832631177196967524625748903049721734456537162986478471073034407115265641983389460982266115325660165446696950465231338843078466865497397792921312003204683275481053602306015493259416873611865611882308023753365082714508026309700047855103721005007492263059814692761067677849647938198638872037228616877656782786331441793664656781085955191464427373639705024050541017293946452315456616815228702104910829712481419765888943763210057036293768007555578880809728973963037315622211201603230989950779140002319040277902462240456923965972609844815253583202516072249918402403149747642050550878356026885593213024807621920890102706649729825339539881462217191800534721380133086537869875811851323317038917130334517104061043166102964450326613479980372351942599512575948059580121353431241116948520038143334773868088065935775013812960053791385229803474323501737444188095996902686520928952815600829067124311867664852651057472953993431644437116130486561301768845474352289569012158190493605563865911498886337136644969584527293767746744014555202203135253566981108221671543502762973522114786140329743662874921888490435523375609037458571879046266813074969472711446181947550358256958853268568209401328494954589095737086789861423132424564703063270552809106599899275547169609786743668729346747800496505649616635790807852266150746861719626781081637217852175360145442323248390143340394672551674404122392082448598406314001191945305505462642813890109647125390011112467447349289737704399546405667768022161306974707156842356821009415054310173655485055541279302484524488755471132069251489030801700324690838326691261888167575054693244520772923143943468508935651434097397500541399910956400874852112974756285064062061087037440689443624215902193708062927335133407994185687141249420028218897663069623090942449902921858595830987496724513589914562712373520244778624392553395782673303848528003916242251941256958287438067098896510197391492095305269052756771061002883890335247768984486494835024963131802232267717539681253097220708158136624663457364711765352059076140816815607422804117190730737390569834384570017828203228335792766014194283795933742154522379318127411732745619403045082274756066390701211995207263436871067097777537803473199882228321835951680252153163167644435037802534217451436696353751943191437719184462211644111159665659968600643484562148794567217540002136966390626711048244171271296328371251923250236797080496549425883686486435313992457217935553498312964600965607718614325893339606209417393335517842626848239 40252000890229292219699000741182518503223065604396173236421666299954476272327546354912257874104103087899908541923887547761107370834060447752139533268824811377383665707952834776329707425382530965130283051830781477576009903381459412280363234369916551586765604047161688136771297065729955225163349760581621990035786071382685417182003646091948970125225509146564881706937593789766919933222463565285103536461943716045870681721682020586892596606627443124382233056456668115328275898468773727907432031087971142959280623057767129492683419061456221332010934238229478250845671335986848797845169593555583641980325438546621257715319067914083426273029616678081275255631234596642921402874623882203529499047734908204158591010542168330321065692752862137901965276769898758163518140267730709378924924223438319119135586288991229580701843084489098394859636296153659449738064927642721656632186504218274100500828023319740412535640152183622732901668458345602908609209142198157637320722742297680679481236369872724560326311520104783843643859195784574568192686613942486969678921971771492042567044553224750432015591934388801664228081779086428013959215839998420917816197952395121383975164901783130648172174295327820228377864032201154014375097480448401636097308711362623903100643800674157585947474515056970271856104040531108105350701386803030643276216130959514393292465043062464878605348004248138564794614464075932557204257376345619917089749653235014180789781315003183586267049699038097611520436389942230308760458149747298565315664396421823010655737502371377677174602752726851009423987259388982247540537931714085341403658498014594595235199428438093892303513632686504998575724367853034725591350708682449331112993364626510434660858472806669037327702120576749198047153375699879193975646060455681296146348215615622258798941872354351304649016831413776258914385617690793855981789675495654117872762849406971043491465213171075443445472644758219849293672628886155064358992255536481368816813624452865732067665564704771103000017390737061296155770853921499998696077847417491784873039938649554325188675551105644208518292273586641106879132268676220610365682802565780350899775483786302092134076793721409641131937858468922551042496641378890632390159167416004434385169103699028373257532487274794420336216522377688454972464372214713170523478569416631820629083790622154064076508563476839862662877574562002074347553522782474795142216129058059913471062569186039582624273203135438179167717223161052102261601417150347282453336751318404097845624527666520000789842470568022073803731252600718267643038218970310230625448400940406794858362949061472214527476284599105189124532227876305816455113233542453265643649173513282277542985754588055182713931843503091207809048765344559886924787296770902948762797865048254405278504256269527257211386922766894966564228223905044574714989033224492921336489084374975405394334169357448752617528104150005817781388267708820318038882100151180944885612959025359582759233545799775861530856262513808130439784359927236978672387726472372313207428936918104896018193429211989536762707337480385891778926493011783627825393107117408839170936874631382230217498201676678032498648038372904564666251672135933515885115848198766855917847596329540873608811271573516174643526276527438394263409215073207430440305809051075913087267470652300512249133418004493501165318917888110941172915385935767229994191540411141574171127579531890840233426425985711619400954842550045318128902773291114570502951538795642333674052348326755075448746679335331841825302918165586245375892137694833212288864716689071550431364644129022779437014326747900225056566792347238338193926775330845007816812525144435366320948727736956093351742510436676644530311416774528371927860266908417282 65129105555582020022166335542124129285483458593535994664189573508335535358378321733017656535504846481824796511800728930983397777218514474835971074910030007940016412947740773239862531816266247160245427333300470349539148118768687839222699975580891981877197172058260274980583116014697172787579539026482288589489982739037323574994848305097711397904160232189068776658296901962429768074425156334308745513088568138101354204668929117084241382797616197230417489721588121092750645501240017077143323003730160986609941307142652360755617575135989976267323968498224691806931480487398494796214218271026859832026645928720733202913692697443256788335439745935750664293218780675113428542969680698265125727533417163925424458603543305084499659942112432194303313313847259012994594202511590949830926053777658497823241942943534865616056264578825158261325925438196093121981409482533696595681875321260368499967476244434134851733221169556336148685671082700784058384078238839347566990358654294191575109160331087757490318218166243905003688605216350823381033102134729992780360634734335665547052203315163603351101243110235270382480009295840221474797696024930162593329381781932696298767129345706060426006025027280306456051273286132771667481056119964324281205929617195255080297611325299906488997196249513507434842582511604142512465967028786420104258482246285174558739161993527696217448426471113635962587535776079137240479738429947925932583009070108626046401663623026936951349764207064407311568291493663235316252721209561991326383342246069761209294609539599994554831385539058292803088644040474937439004965305353790365454199515308541047550656045253322594408424462398986418341613311616244782627644476690004909993803093600473471976480684008272268317652899716751517087431278162119650899612033065526111399931418131694508717344275504098946699567709769803144507598642498415776871892382145383943212302730869188235291999934551208529983342520570071172610711546016489581463053298702584333267140237932846104419608164217347051059597512090492537272719373959643333469945935483427559886852898703345710418479025429145945962480369583543793400061221491821439432807114433445203550832956740295523778513909851896202433706703943274840611508799569384237954025078914890771521814073283555667025279231289349622539351775944669563194135915717476144045593355556961564291958712510644499599884172514298434541923841375077043820264968964422345500473087911328481680463897680994171720010289925299602300141787864115372814410523750246558000506361105147766574971275467016506439459106358829926069881999462437894424119856188162405985593843263655185001703343734023888931598676681553787530846229068251121960575876356343375290774563524394744990335044325759582260337511271113369116023472501402243745796711825213122418282920589533707763028745024998389280638411797696666888919062231735836603156608279186165857262007518918873903269820791546150118069504060962218656240380683576603102944161238218385575056583241261776467296473134909269525041949655057550468003257590306601763330176375294171803259924414829409608107991924363057007485961872939287561599796860311631741635359058665797458374941730278740414889693771983301551404809433907448556586919904918002379950873161898658150115313869222126706031979731652799306983641239203746322485355890023037863109926241806650477837305036870530077336646340286267179513201684044683327437765253894641726937159814186656445883645922592052228633689422582686498732380353518518011131095127066250755104701963286768711854882544206512145100431278523279544487380377230356535557797663433855773426865483638767971366781095413406148062570919171521384938044270488574991007271880270891503298960458427823538884281235269057952708118155290970423651022983945765263378109535265521 105381106445811312241865336283306647788706524197932167900611239808290011630705868087929914409608949569724705053724616478744505148052574922588110608178854819317400078655693608016192239241648778125375710385131251827115158022150147251503063209950808533463962776105421963117354413080427128012742888787063910579525768810420008992176851951189660368029385741335633658365234495752196688007647619899593849049550511854147224886390611137671133979404243640354799722778044789208078921399708790805050755034818132129569221930200419490248300994197446197599334902736454170057777151823385343594059387864582443474006971367267354460629011765357340214608469362613831939548850015271756349945844304580468655226581152072129583049614085473414820725634865294332205278590617157771158112342779321659209850978001096816942377529232526095196758107663314256656185561734349752571719474410176418252314061825478642600468304267753875264268861321739958881587339541046386966993287381037505204311081396591872254590396700960482050644529686348688847332464412135397949225788748672479750039556706107157589619247868388353783116835044624072046708091074926649488756911864928583511145579734327817682742294247489191074178199322608126684429137318333925681856153600412725917303238328557878983398255125974064074944670764570477706698686552135250617816668415589450747534698377244688952031627036590161096053774475361774527382150240155069797683995806293545849672758723343640227191444938030120537616813906102504923088727883605465625013179359309289891699006642491584219950347041971372232005988291785143812512631299863919686545503237067875706857858013323135642785855473691416486711938095085491416917337679469279508218995185372454241106796458226983906637339156814941305645355020293500715134584653861998844875258093521207407546279633747316767516286147858450251348584541183579403421984260189209632853682057641038061085065580276159278783465147722283973428815165328291021904384174902644645822045554239065702083953862385711836487273728922118154059614902827553833428490227881143332166023782900919344759892837352900035607154576534790154480772643170184900279193490168042049798489916999225554450608440526597615912590703573305843565644562412197391654005440948274870344184246330895205906983176982584040282811718564144042875568298322358018166600287932189314569071924973593384921042503132798563676392735991138297204801415937079118167818491746897140642689216969388395151526466867033754344283493060737781467859011025167475076011940900593840453843112423551864420595803133536507229301576926851999873613252063156162067158075158472636611042244204061979860066292795496103459074961280658976655378456944556938415689109898796640934423737037677022533320798913814764974269354774204576925072237845962130670584008596116071181080785637788113041533001294525646492025334564591633453147286136780411318145641503679087193751091893894279297603990148994902735597608210968036437628648392396921141826261389399330460669542266621359226530018934685131055898212168865680907787617517543580435717902847666485010688861332934305626301421136352593770193299353325179340526289872095259567028466176074636629311816361660970632387895448661334050052847806812013222838592040851518265066721360665514067962910198763000314843251305168973950509917766642140585894570963230468303415735292882563565104775689171042326470064344779768344832119572155624500353151189661871721128700225328230617011225454482892462060115408294305899687222903563836140033868418180821258056240758929102385907230870961587593847110613855121369790298542816601911449935358267068062291582172710318402731425224436185585076897667071746441504836617726913184934047211115899320111485602863189859833008972225151304450628591967614953962439758474137191238376443682803 170510212001393332264031671825430777074189982791468162564800813316625546989084189820947570945113796051549501565525345409727902925271089397424081683088884827257416491603434381256054771057915025285621137718431722176654306140918835090725763185531700515341159948163682238097937529095124300800322427813546199169015751549457332567171700256287371765933545973524702435023531397714626456082072776233902594562639079992248579091059540254755375362201859837585217212499632910300829566900948807882194078038548293116179163237343071851003918569333436173866658871234678861864708632310783838390273606135609303306033617295988087663542704462800597002943909108549582603842068795946869778488813985278733780954114569236055007508217628778499320385576977726526508591904464416784152706545290912609040777031778755314765619472176060960812814372242139414917511487172545845693700883892710114847995937146739011100435780512188010116002082491296295030273010623747171025377365619876852771301440050886063829699557032048239540962747852592593851021069628486221330258890883402472530400191440442823136671451183551957134218078154859342429188100370766870963554607889858746104474961516260513981509423593195251500184224349888433140480410604466697349337209720377050198509167945753134063695866451273970563941867014083985141541269063739393130282635444375870851793180623529863510770789030117857313502200946475410489969686016234207038163734236241471782255767793452266273593108561057057488966578113166912234657019377268700941265900568871281218082348888561345429244956581571366786837373830843436615601275340338857125550468542421666072312057528631676690336511518944739081120362557484477835258950991085524290846639662062459151100599551827457378613819840823213573963007920010252232222015932024118495774870126586733518946211051879011276233630423362549198048152250953382547929582902687625409725574439786422004297368311145347514075465082273492503412157685898362194515095720919134227285098852941650035351094100318557940906881893139465205119212414918046370701209601840786665635969718384346904646745736056245746025633601963936100443253012753728693679254711659863489231297031432670758001441397266893139691104613425202045999351266355472232265514240517659108298209325245785977428797250266139707308090949853493665414920074267027581360736203649665458614665280530554949213001215643443063276276908505436731746725257312156161988083460711319486143162304880716876831990364548027926064293782986037383768000798889282847890422464650840398454349473528699630995567078600553013668760683285681925943495251525594056491277931346635042596636087467717164861769636529519992390673637962212764186224686012808060376264986255140016225198300562071767523655843239574347234606866045317946041095710347364374416380720421329193599363706227321820804561746319524035772663746362288300342066348368516247921302249782865253051013099412813153200873810940541052853667112271930255093869029075973524244770422627617716035726125507883135693826492069594400580940161823923231375790875107850182199048079222960656813948785747763715234409413060715650777679261226264466902126086732406891308663825234740434087686758091939711047277589220644635601457657240719461779425511945769520645017594522564172218078224067985127020875231036821773257493559005845886908379926853253506166525661534689214042942080726041572403806710685066035524345321256200307827790916443556513448065860039514887062894871377074944690693804830876992398419603257082354151164963545247072013160942722215871097762113415168099738947541892378400914277678920046958447007733021700923835718447656349086374098206319849591733139468586243267826442880888215488175941319091386790823410446061291013398717290207494209257158746747258585377613462742419902454616485978948324 275891318447204644505897008108737424862896506989400330465412053124915558619790057908877485354722745621274206619249961888472408073323664320012192291267739646574816570259127989272247010299563803410996848103562974003769464163068982342228826395482509048805122724269104201215291942175551428813065316600610109748541520359877341559348552207477032133962931714860336093388765893466823144089720396133496443612189591846395803977450151392426509341606103477940016935277677699508908488300657598687244833073366425245748385167543491341252219563530882371465993773971133031922485784134169181984332994000191746780040588663255442124171716228157937217552378471163414543390918811218626128434658289859202436180695721308184590557831714251914141111211843020858713870495081574555310818888070234268250628009779852131707997001408587056009572479905453671573697048906895598265420358302886533100309998972217653700904084779941885380270943813036253911860350164793557992370653000914357975612521447477936084289953733008721591607277538941282698353534040621619279484679632074952280439748146549980726290699051940310917334913199483414475896191445693520452311519754787329615620541250588331664251717840684442574362423672496559824909547922800623031193363320789776115812406274311013047094121577248034638886537778654462848239955615874643748099303859965321599327879000774552462802416066708018409555975421837185017351836256389276835847730042535017631928526516795906500784553499087178026583392019269417157745747260874166566279079928180571109781355531052929649195303623542739018843362122628580428113906640202776812095971779489541779169915541954812333122366992636155567832300652569969252176288670554803799065634847434913392207396010054441285251158997638154879608362940303752947356600585886117340650128220107940926492490685626328043749916571220999449396736792136961951351567162876835042579256497427460065382433891421506792858930229995776476840972851226653216419479895821778873107144407180715737435047962704269777394155622061583359178827317745600204129699829721929997801993501285266249406638573409145781632788178498726254924025655923913593958448201827905539029786948431896312452049837793490755603695316998507889564995828767669623919519681465933978642393571576681183335780427248723747590902668417637708290488372589385599527336491581854773183737205504148334134043718776241626952669644496575028951526673249235280155901952458216626785851521850105271983516831415061680408577276046775165235859809914450322966434405551434238908192585952251495416162881734089520898062260212533925817108503588750218558436006505107679207678331671779144721835929325016095849748599242871740841603142957364998791954096153936657159622037599748790056976642153389112208876220819522522966167948193326505086964729017445264780444491865109933846094747614049682264689080926879933795213634505296659239447891286544340244764191306707432498477801089535955589264720482898291531497677468370445386596684017017046496395667774504494920356511004279531636838373992788912283578492625393762634765982070627141824637647080698020860710834197068244547872560579589646242652376604502150875692291410815070716998574453600681679665484669305969651510505047531475002264103986621038910084315883229686286041134266748127335718482341990747208003476772488027494274497816483974469941396827571777608046856415212614730276775029845803869177440828355932328144067633218385169194560264843117679906096831557837152753920239171298298106826160646190291198831963427893271217183481144973483669344286129687332794652506233522284067977462863560358457668379967991898010029829059404776829631544285777318216366253315014267947717505942401360875366302502690143521931664154203258550299179719360561609375339226200331575902500894039645854862422631127 446401530448597976769928679934168201937086489780868493030212866441541105608874247729825056299836541672823708184775307298200310998594753717436273974356624473832233061862562370528301781357478828696617985821994696180423770303987817432954589581014209564146282672432786439313229471270675729613387744414156308917557271909334674126520252463764403899896477688385038528412297291181449600171793172367399038174828671838644383068509691647181884703807963315525234147777310609809738055201606406569438911111914718361927548404886563192256138132864318545332652645205811893787194416444953020374606600135801050086074205959243529787714420690958534220496287579712997147232987607165495906923472275137936217134810290544239598066049343030413461496788820747385222462399545991339463525433361146877291405041558607446473616473584648016822386852147593086491208536079441443959121242195596647948305936118956664801339865292129895496273026304332548942133360788540729017748018620791210746913961498363999913989510765056961132570025391533876549374603669107840609743570515477424810839939586992803862962150235492268051552991354342756905084291816460391415866127644646075720095502766848845645761141433879694074546648022384992965389958527267320380530573041166826314321574220064147110789988028522005202828404792738447989781224679614036878381939304341192451121059624304415973573205096825875723058176368312595507321522272623483874011464278776489414184294310248172774377662060144235515549970132436329392402766638142867507544980497051852327863704419614275078440260205114105805680735953472017043715181980541633937646440321911207851481973070586489023458878511580894648952663210054447087435239661640328089912274509497372543307995561881898663864978838461368453571370860314005179578616517910235836424998346694674445438701737505339319983546994583548647444889043090344499281150065564460452304830937213882069679802202566854306934395312269268980253130537125015410934575616740913100392243260122365772786142063022827718301037515201048564298039732663646574830909431562716663437963219669613154053384309465391527658421780462662355367278668677642287637702913487769028261083979864567070453491235060383895294799930423709935564347095123141856185033921983593086940602896822467160764577677514863454898993618271131373705408446856413180888072695231520231798402486034703283347044934419684690228946553002011760698251930561391442143985413169536112929013826730822148815507195963089606472871059032812549003860608803733170856856870202274637362542059480951126411729960334642534566822943498215851760603755114344275049713937851742721804314419139496309583605565854536088240422237205084505027827828970173059168219082409076673384820338161820557580632485392963459443483086864840469007263658540690879503345449438774458379808198092431754650656493933573718037352827289168234137279982873812907160750141069409593295777290719520585699351612030077008442931832754828546625366706544343969631367106644634762532121793282387630614183003073873932217778535816712143659369367733243944833814061293587798638586432828461736095120247257783895325551821805854113144778463336909042184356116645555504804685332545540392726943073889950605252968162288250936781689615932390559555101910405793858504119358334733254356593713378812520465497035778333914402654424669737480636467058362260991650988937141254187134083485714911839393522762084556240155934984076774898617260420304358004742800968208632781843447725070048290696526429417728544442363795508674965284378126203360844581431457701297787071742194398611923198345656382910518805465401401668915733728477485408491150927837864135369051355834839558282094390598394157889536816685393889480966932377725445216657267589387213569818768122086484785709189365243313942100471348401579451 722292848895802621275825688042905626799982996770268823495624919566456664228664305638702541654559287294097914804025269186672719071918418037448466265624364120407049632121690359800548791657042632107614833925557670184193234467056799775183415976496718612951405396701890640528521413446227158426453061014766418666098792269212015685868804671241436033859409403245374621801063184648272744261513568500895481787018263685040187045959843039608394045414066793465251083054988309318646543502264005256683744185281143607675933572430054533508357696395200916798646419176944925709680200579122202358939594135992796866114794622498971911886136919116471438048666050876411690623906418384122035358130564997138653315506011852424188623881057282327602608000663768243936332894627565894774344321431381145542033051338459578181613474993235072831959332053046758064905584986337042224541600498483181048615935091174318502243950072071780876543970117368802853993710953334287010118671621705568722526482945841935998279464498065682724177302930475159247728137709729459889228250147552377091279687733542784589252849287432578968887904553826171380980483262153911868177647399433405335716044017437177310012859274564136648909071694881552790299506450067943411723936361956602430133980494375160157884109605770039841714942571392910838021180295488680626481243164306514050448938625078968436375621163533894132614151790149780524673358529012760709859194321311507046112820827044079275162215559231413542133362151705746550148513899017034073824060425232423437645059950667204727635563828656844824524098076100597471829088620744410749742412101400749630651888612541301356581245504217050216784963862624416339611528332195131888977909356932285935515391571936339949116137836099523333179733800617758126935217103796353177075126566802615371931192423131667363733463565804548096841625835227306450632717228441295494884087434641342135062236093988361099793325542265045457094103388351668627354055512562691973499387667303081510221190025727097495695193137262631923476867050409246778960609261284646661239956720954879403460022882874537309291209958961388610291304324601555881596151115315674567290870928296463382905541072853874650898495247422217825129342923890811480104553603449527065582996468399148344100358104763587202489896286688769081995896819445798780415409186813375004982139691538851617481088653195926317181616197498586789649778603810626722299887365627752739714865348580927420799024027378151286881448335079587714239720418718183493823291275753708876270734645433202621827892842068732055464885203710749777577712258703094493608149944356850401011992750811275454305441495179552184090170836447956245869430971927538057960173178563013330544442375761569347637609127546352571652359307684362991973431606734017384590310178456219723160252689957541688496751241547623400302041908216048167932493617379109566400198032355953933540541482026228018197829413119612964032196553237726838156864384012714415017963790661651809028517461056892125534539514078153463854616909809501055942947860358637707468580043364214940463224079909159756955831081454852139873424382385443759387430839941411193060048408056370575521683906999141074406608558559256574904478667335782411783953719919011598465186226289023544790160492601481381692312195720803267673500512550821941896928922486221455106408455189832769259035793556466801864360260744757643262700202912912172484079051709993283786454980569201122422707065040190618996201645309219588994633255578374734733562627472102858555595309684505818065100801987427474404536846904845445482413633845774079163923069781636907631738507314467895927757469408421146369572201092873296362338315900100290897692051696392171110454309389599419915817888566932930380377497425710986040765267744207981746326210824210578 1168694379344400598045754367977073828737069486551137316525837786007997769837538553368527597954395828966921622988800576484873030070513171754884740239980988594239282693984252730328850573014521460804232819747552366364617004771044617208138005557510928177097688069134677079841750884716902888039840805428922727583656064178546689812389057135005839933755887091630413150213360475829722344433306740868294519961846935523684570114469534686790278749222030108990485230832298919128384598703870411826122655297195861969603481977316617725764495829259519462131299064382756819496874617024075222733546194271793846952189000581742501699600557610075005658544953630589408837856894025549617942281602840135074870450316302396663786689930400312741064104789484515629158795294173557234237869754792528022833438092897067024655229948577883089654346184200639844556114121065778486183662842694079828996921871210130983303583815364201676372816996421701351796127071741875016027866690242496779469440444444205935912268975263122643856747328322009035797102741378837300498971820663029801902119627320535588452214999522924847020440895908168928286064775078614303284043775044079481055811546784286022955774000708443830723455719717266545755689464977335263792254509403123428744455554714439307268674097634292045044543347364131358827802404975102717504863182468647706501569998249383384409948826260359769855672328158462376031994880801636244583870658600087996460297115137292252049539877619375649057683332284142075942551280537159901581369040922284275765508764370281479806075824033770950630204834029572614515544270601286044687388852423311957482133861683127790380040124015797944865737627072678863427046767993835459978890183866429658478823387133818238612981116674560891786751104660931763306513833621706589013500124913497289817369894160637006683717010560388096744286514878317650949913867294005755947188918371855224204742038296555215406727720854534314437347233925476684038288631129303605073891630927425447283007332088749925213996230652463680487774906783072893353791518692847363324677919940624492557513407192339928836949631739424050965658582993279198169233854028803443595551954908161030453359032307914258546193295177845927760693690019013953336289587525433120152523599365221615504864935782278450657388889904959900455701305266302211961303481882044895236780542177573554900828133587615611007410562750500598550348030534372018164443872778797288852643879175311749569614531223341240893354319394112400263243581027521916664680148145955983513633276704914153748239622802403374590031708147208965629338316013817438768657863882208593122816307169950771763889047061034088272330593073653040750897258800897711117128392260972090003929262713923389905218241612939316031095842394549203460980695265274708264093655627894994181540060888049973443147407735481197118339394735505216402069773600252922473560948173425363526836318772745748603897181025149689972475128385992555384782231090557058384649330897306286571560639254339279756148722517152027396072395445626213199602317228091881652302394104657802739101810512737621493050951328712636035198976204191297872532209303278320235244404524701926080326369239544681467133551632449207180157446829624033348565643335851402158020288136694817403294279850936214636048905909099615788138997548329155856299583347155958935742875513552093760910024730697720988998443746459669482656222964997468412640014035786768182403715400873559127165508033248823400839649370379267879691159684996103279175926422980777823839973435887866662646532259688725261476279041303457368680759290228684597969388471183305823365466984799876387078685307272556515420928035932431578456728914294258180434508737090281652077386687115044636573085477954146500199145619512195771749954632987521923846797559225790029 1890987228240203219321580056019979455537052483321406140021462705574454434066202859007230139608955116261019537792825845671545749142431589792333206505605352714646332326105943090129399364671564092911847653673110036548810239238101416983321421534007646790049093465836567720370272298163130046466293866443689146249754856447758705498257861806247275967615296494875787772014423660477995088694820309369190001748865199208724757160429377726398672794636096902455736313887287228447031142206134417082806399482477005577279415549746672259272853525654720378929945483559701745206554817603197425092485788407786643818303795204241473611486694529191477096593619681465820528480800443933739977639733405132213523765822314249087975313811457595068666712790148283873095128188801123129012214076223909168375471144235526602836843423571118162486305516253686602621019706052115528408204443192563010045537806301305301805827765436273457249360966539070154650120782695209303037985361864202348191966927390047871910548439761188326580924631252484195044830879088566760388200070810582178993399315054078373041467848810357425989328800461995099667045258340768215152221422443512886391527590801723200265786859983007967372364791412148098545988971427403207203978445765080031174589535208814467426558207240062084886258289935524269665823585270591398131344425632954220552018936874462352846324447423893663988286479948612156556668239330649005293729852921399503506409935964336331324702093178607062599816694435847822492699794436176935655193101347516699203153824320948684533711387862427795454728932105673211987373359222030455437131264524712707112785750295669091736621369520014995082522590935303279766658296326030591867868093223361944414338778705754578562097254510660415119930838461549521433449050725502942190575251480299905189301086583768674047450474126192644841128140713544957400546584522447051442073005806496566339804274390543576506521046396799359894441337313828352665642686641866297047391018594728528793228522114477022709691423789726312411251773833482140132752127954132009985917876661579371960973430075214466146240841698385439575949887317880754050830005144119118162842825836457493836264573380768133197091790425268145585823032942904764816394141128882647218106595833620763848965293887042037859878786191648669537697202085748010741718891068858270241762681869112406518309222240811537324592178947999185339997809138182644886743760144425041592358744523892676990413555250719392180235767729191987977483301446240100158503439421709692389904011350347356370067515644472106645496593350919715406916028272520533262266013826565443523828299920762047218194488556213640456420763910100996996766689772825249175088565439535103334473705089684959252855850740485668602748201702233566452954126872008725648683965806351213904700313578007515131644158977028820518641436643721264570002267217632032039961146205781317460376860254771976622095010438269302936507324939230282222939095474569772799667294687967938380589156715396171881683262031230180859927012355435714255545265088450519359770974148022017679565034592646781250006782410167488175072400586576741631919640143219731428304452932758296655848053146543822541540160191008463755061925496959815760349597055770413756485474362983840948084440343537696017741218104820419055812498060879977798196512269642180390849283968741926530169060524254187790862804007204427125918923167910380585124093087496761466190170381442760249588215098289014019835851015688487468685792940574478013909489050452880682395568745572372480711633061676152735880815888208302814163172924074458677133311540964942730997205492114344283006442776680977661790500237025304874819067230194358471332200788786673823187840996504644056488903366521079430579523116937906757790719900731729905593123770050000607 3059681607584603817367334423997053284274121969872543456547300491582452203903741412375757737563350945227941160781626422156418779212944761547217946745586341308885615020090195820458249937686085553716080473420662402913427244009146034191459427091518574967146781534971244800212023182880032934506134671872611873833410920626305395310646918941253115901371183586506200922227784136307717433128127050237484521710712134732409327274898912413188951543858127011446221544719586147575415740910004828908929054779672867546882897527063289985037349354914239841061244547942458564703429434627272647826031982679580490770492795785983975311087252139266482755138573312055229366337694469483357919921336245267288394216138616645751762003741857907809730817579632799502253923482974680363250083831016437191208909237132593627492073372149001252140651700454326447177133827117894014591867285886642839042459677511436285109411580800475133622177962960771506446247854437084319065852052106699127661407371834253807822817415024310970437671959574493230841933620467404060887171891473611980895518942374613961493682848333282273009769696370164027953110033419382518436265197487592367447339137586009223221560860691451798095820511129414644301678436404738470996232955168203459919045089923253774695232304874354129930801637299655628493625990245694115636207608101601927053588935123845737256273273684253433843958808107074532588663120132285249877600511521487499966707051101628583374241970797982711657500026719989898435251074973336837236562142269800974968662588691230164339787211896198746084933766135245826502917629823316500124520116948024664594919611978796882116661493535812939948260218007982143193705064319866051846758277089791602893162165839572817175078371185221306906681943122481284739962884347209531204075376393797195006670980744405680731167484686580741585414655591862608350460451816452807389261924178351790544546312687098791913248767251333674331788571239305036703931317771169902121282649522153976076235854203226947923687654442189992899026680616555033486543646646979373310595796602203864518486837267554394983190473437809490541608470311159952220063859172922561758394780744618524289623605688682391743285085603114073346516722961918718152683728654315767370630195198842379353830229669320488517267676096608569993398507352050222703022372950903165478543224046685961419137355828427148332002741698499783890345839672554663051187632923222330445002623699204426560028086474060633073590087123304388240726882473762016823183587567665675903537288055261510118307138446875481235528301498128681036254344286337972030923877708774036646644607090712818982083535617247728728751356983754037747663948573722960292216957700507193338402967803608349158074092353424984633844044096782769913934822137283433912777621434246208086240374466057488574791566712510017636980831379226480972072040817884954513522094379206680987213179027517725225992191463418992908982453325222837607721326565126831184316625585274224952149795969735451637831984548382208255999407801061927455147582316542401012073368252679820418666845105384402743057733738880124210271376790768039504451849446498051663548857457460222736174422386088504008673711823457670935219372326583849108915240391621815914505762499678658351378720194473910653790124013920034843951495609209133654496095616798139326592159482294020291079085254951908779861247753664096608575146132907848997764107123283529648593885782316319376753723131537837420675500386067755348376952625570581293085415473433658506235542181460239143358165321364877997357094929511760182843932214303143275102700012148248554362672476914220670085128083953534177211428272957736453275796144488616651766709525876955475265227683619688693061988844475225930778668736450102529540674533719251829439921329275790636 4950668835824807036688914480017032739811174453193949596568763197156906637969944271382987877172306061488960698574452267827964528355376351339551153251191694023531947346196138910587649302357649646627928127093772439462237483247247451174780848625526221757195875000807812520582295481043162980972428538316301020083165777074064100808904780747500391868986480081381988694242207796785712521822947359606674523459577333941134084435328290139587624338494223913901957858606873376022446883116139245991735454262149873124162313076809962244310202880568960219991190031502160309909984252230470072918517771087367134588796590990225448922573946668457959851732192993521049894818494913417097897561069650399501917981960930894839737317553315502878397530369781083375349051671775803492262297907240346359584380381368120230328916795720119414626957216708013049798153533170009543000071729079205849087997483812741586915239346236748590871538929499841661096368637132293622103837413970901475853374299224301679733365854785499297018596590826977425886764499555970821275371962284194159888918257428692334535150697143639698999098496832159127620155291760150733588486619931105253838866728387732423487347720674459765468185302541562742847667407832141678200211400933283491093634625132068242121790512114416214817059927235179898159449575516285513767552033734556147605607871998308090102597721108147097832245288055686689145331359462934255171330364442887003473116987065964914698944063976589774257316721155837720927950869409513772891755243617317674171816413012178848873498599758626541539662698240919038490290989045346955561651381472737371707705362274465973853282863055827935030782808943285422960363360645896643714626370313153547307500944545327395737175625695881722026612781584030806173411935072712473394650627874097100195972067328174354778617958812773386426542796305407565751007036338899858831334929984848356884350587077642368419769813648133034226229908553133389369574004413036199168673668116882504869464376317703970633379078231916305310278454450037173619295774601111383296513673263783236479460267342768861129431315136194930117558357629040706270893864317041679921237606581076018125888179069450524940376876028382218932339755904823482969077869783198414588736791032463143202795523556362526377146462288257239531095709437798233444741264019761435720305905915798367937446578069238685656594920646498969230343648810737307937931393067647372037361368223097103550441641724780025253825854852496376218210183920002116981687026989375368293441299405608866488374654091347587881024894849048396443170372558858505293189891535339480170472907011474866200278024173461369185172120893855034744430638346548209467305523140042296672876672893293308410929943093910653236592245799016336366888949009292159561461587240597421990940688044065003706435725689538838155622268022947745542074308035516986553483240584987998447590039282289701848087201901688295845489778264453119830660422039696603983983920273242163332738952685131623519515246579612389115926420156497641710692847404992920371844342400701838098231879698031183993064516149047612385343777377344781136371489589717783091853310390218519392022475532632326550213872014466134690281297823543664869264837447392229670991236862662499299463160538011606671531342118740453899763993670089111452692607886440319717441443451035946821248145779206096570724051760868523734494069300818229582888200210780291114784056163759079626341938229826851440511351401756242817062745566145059306994904523886539188631110927032611624069798383041030733237910817720062997007105138377601952236011553113191285359877969028564953091570860634511839001928509983041328094863374682975123098910314663629298453068680124332749550892210996305361358191853388009287331394434450981735033045099325791243 8010350443409410854056248904014086024085296423066493053116063688739358841873685683758745614735657006716901859356078689984383307568321112886769099996778035332417562366286334731045899240043735200344008600514434842375664727256393485366240275717044796724342656535779057320794318663923195915478563210188912893916576697700369496119551699688753507770357663667888189616469991933093429954951074409844159045170289468673543411710227202552776575882352350925348179403326459523597862624026144074900664509041822740671045210603873252229347552235483200061052434579444618874613413686857742720744549753766947625359289386776209424233661198807724442606870766305576279261156189382900455817482405895666790312198099547540591499321295173410688128347949413882877602975154750483855512381738256783550793289618500713857820990167869120666767608917162339496975287360287903557591939014965848688130457161324177872024650927037223724493716892460613167542616491569377941169689466077600603514781671058555487556183269809810267456268550401470656728698120023374882162543853757806140784437199803306296028833545476921972008868193202323155573265325179533252024751817418697621286205865973741646708908581365911563564005813670977387149345844236880149196444356101486951012679715055322016817022816988770344747861564534835526653075565761979629403759641836158074659196807122153827358870994792400531676204096162761221733994479595219505048930875964374503439824038167593498073186034774572485914816747875827619363201944382850610128317385887118649140479001703409013213285811654825287624596464376164864993208618868663455686171498420762036302624974253262855969944356591640874979043026951267566154068424965762695561384647402945150200663110384900212912253996881103028933294724706512090913374819419922004598726004267894295202643048072580035509785443499354128011957451897270174101467488155352666220596854163200147428896899764741160333018580899466708558018479792438426073505322184206101289956317639036480945700230520930918557066732674106298209305135066592207105839421248090756607109469865987100997947104610323256112621788574004420659166827940200658490957723489964241679632387325694542415511784758132916683661961631496292278856478866742201121761598437514181959366986231305522556625753225683014894414138384865809524494216789848456147763636970664601198849129962484329356583933897665833988597662344998753120689488483291970989119025990869702482363991922301530110469728198840658327415941975800764458937066393764133804870614557041044196978587460870376606681792538223069116553196347177077479424716845196477324113769244113516817117514102187685182361559790709097913923477877609072492094586920271169759522480840549490011279640696901657569004035447335637870436289895799106280823771146575593474239208674843630077181062510122492281227292402048855792603099402174226514146348853401941067005334964194679434803218309807427074079393365107288754472231589675957438381748604823435168300545858516388284888748654867075157347231127994597371925827957559569165840429721535321383917710653381658516898724803415586736122249887927736595615154168112820640823339036215834755402167847678742128196897918720830558887583837923805625500670150127513978180077839014045585496999362341157650841880732485517325321466132660488743715489279298245107188703503238459044033602933329967112327231034158005350585299514532620343069215433726078580652307334063820763377941946075399003095661361364688861186851787823998165439698191715640600080319997320197694866653108492850767427963704405908730595005747231823179851037352680745227338711565261439839722550445942785623176698944588046016213356782940777781370659519171591774865619840540584773718296363744021442612881055471531292136860589838111816872068968170233564472966428601581879 12961019279234217890745163384031118763896470876260442649684826885896265479843629955141733491907963068205862557930530957812347835923697464226320253247969729355949509712482473641633548542401384846971936727608207281837902210503640936541021124342571018481538531536586869841376614144966358896450991748505213913999742474774433596928456480436253899639344143749270178310712199729879142476774021769450833568629866802614677496145555492692364200220846574839250137261933332899620309507142283320892399963303972613795207523680683214473657755116052160281043624610946779184523397939088212793663067524854314759948085977766434873156235145476182402458602959299097329155974684296317553715043475546066292230180060478435431236638848488913566525878319194966252952026826526287347774679645497129910377669999868834088149906963589240081394566133870352546773440893457913100592010744045054537218454645136919458939890273273972315365255821960454828638985128701671563273526880048502079368155970282857167289549124595309564474865141228448082615462619579345703437915816042000300673355457231998630563984242620561671007966690034482283193420616939683985613238437349802875125072594361474070196256302040371329032191116212540129997013252069021827396655757034770442106314340187390258938813329103186559564921491770015424812525141278265143171311675570714222264804679120461917461468715900547629508449384218447910879325839058153760220261240407261506912941025233558412772130098751162260172133469031665340291152813792364383020072629504436323312295414715587862086784411413451829164259162617083903483499607914010411247822879893499408010330336527728829823227219647468810009825835894552989114431785611659339276011017716098697508164054930227608649429622576984750959907506290542897086786754492634477993376632141991395398615115400754390288403402312127514438500248202677739852474524494252525051931784148048504313247486842383528752788394547599742784248388345571815443079326597242300458629985755918985815164606838634889190445810906022603519583589516629380725135195849202139903623143129770337477407371953092117242053103710199350776725185569241364761851587807005921600869993906770560541399963827583441624038837659878511211196234771565684090839468220712596548103777263768665759421276782045541271560600673123049055589926227646689592504900990426036919155035878282697294030511966904519645192582991497722351033137294029278927050419058517074519725360145398633660911369923620683581241796828297140677147250313766250786557641546416412490419886866479243095056446629570656997578091196225473922595089404054982617303660779452996987590421113662551382639583964170467099095598771464107236525225266819379226828003980591786684156313590194965979933978541246291107028535694815442647712720155867753035700795915441052068121750554187495987663018091587693948225367425121972056220656888918927620488575549182677882393257592097128922166595266795584599962009854129077269042170644520039152284466131758551617627701339998698676862477707606986487852248114057210876533277126528241755762053054083496615130604501446770729186766036975348980958931545457601777194828625933617847255478237897261520219373451353157109101455852389940315781967973671178847444915286406275256488236225003656950305041270497123996852808251400942643479482949387356559881311389678778761475046384365913933575376813364101921309351275401144077563284734544308163540507544844111878161998109834478629437599591191540301698203189580240982502443757860699907075224521206736883497764035525462391497762087446939463832916564951886176858142491058347179574723118374631125082428414971350576268269805222557855215285292923819109465522893854566897964530155204214072171365043868354192163773266467836653495052443226121104203463402621215299506011527927373122 20971369722643628744801412288045204787981767299326935702800890574635624321717315638900479106643620074922764417286609647796731143492018577113089353244747764688367072078768808372679447782445120047315945328122642124213566937760034421907261400059615815205881188072365927162170932808889554811929554958694126807916319172474803093048008180125007407409701807417158367927182191662972572431725096179294992613800156271288220907855782695245140776103198925764598316665259792423218172131168427395793064472345795354466252734284556466703005307351535360342096059190391398059136811625945955514407617278621262385307375364542644297389896344283906845065473725604673608417130873679218009532525881441733082542378160025976022735960143662324254654226268608849130555001981276771203287061383753913461170959618369547945970897131458360748162175051032692043748728253745816658183949759010903225348911806461097330964541200311196039858972714421067996181601620271049504443216346126102682882937641341412654845732394405119831931133691629918739344160739602720585600459669799806441457792657035304926592817788097483643016834883236805438766685942119217237637990254768500496411278460335215716905164883406282892596196929883517517146359096305901976593100113136257393118994055242712275755836146091956904312783056304850951465600707040244772575071317406872296924001486242615744820339710692948161184653480381209132613320318653373265269192116371636010352765063401151910845316133525734746086950216907492959654354758175214993148390015391554972452774416418996875300070223068277116788855626993248768476708226782673866933994378314261444312955310780991685793171576239109684988868862845820555268500210577422034837395665119043847708827165315127821561683619458087779893202230997054988000161573912556482592102636409885690601258163473334425798188845811481642450457700099947913953942012649605191272528638311248651742144386607124689085806975447066451342266868138010241516584648781448401748586303394955466760864837359565807747512543580128901728888724583221587830974617097292896510732612995757438475354476563415373354674892284203771435892013509442023252809311296970163280502381232465102956911748585716358307700799291374803490052713638307885212601066658226778507470763495074188316047030007728556165974739057988858580084143017495145740268537961090638118004165840767026650614445864570353633790245336496475471722625777321249916169445049386777002089352067700163771381098122461341908657738804097905136084316707530384591428256103457456687398474327349619701738239167793726114131287543402551402019806249251459941417430023566513804707935215850236565001143754879565013019076649073179728619812187090548986350484821141276695435954287096623548938013988581928977464825590614548928536491302443346509940004590284682145302813064309988268890310493636549740828466827296198570367005742320868687493910513377357317196475901904555996245988631902873354434241443805034707423919249343474320585011990274939902516449994865773834209708835601583859778076071616780042373706848063563139679763707465155132029329304862357465309015924903085576574085713570422418018167662149452602657646085576003648416271370073987667989039690313745941282638123798692825624993125420320841985235587344814601146922002982641322174274384061431387194972228685601667070014892917237805508649317695881045902607847522107271894650789933764420632500168270386744192814878907932641539940055909877632533260952556229162885054977404239147942141949576340507155544518526934578364417144018313158925725791852848194427922312183709356709179843739092406913434683636070964804978860914136199444968749810603871428642075864596890836182413026158672830149995744798845889661407612375634776654321939367945631913033064232921075532370791448863978977956528955001 33932389001877846635546575672076323551878238175587378352485717460531889801560945594042212598551583143128626975217140605609078979415716041339409606492717494044316581791251282014312996324846504894287882055730849406051469148263675358448282524402186833687419719608952797003547546953855913708380546707199340721916061647249236689976464660561261307049045951166428546237894391392851714908499117948745826182430023073902898404001338187937504976324045500603848453927193125322838481638310710716685464435649767968261460257965239681176663062467587520623139683801338177243660209565034168308070684803475577145255461342309079170546131489760089247524076684903770937573105557975535563247569356987799374772558220504411453972598992151237821180104587803815383507028807803058551061741029251043371548629618238382034120804095047600829556741184903044590522169147203729758775960503055957762567366451598016789904431473585168355224228536381522824820586748972721067716743226174604762251093611624269822135281519000429396405998832858366821959623359182066289038375485841806742131148114267303557156802030718045314024801573271287721960106559058901223251228692118303371536351054696689787101421185446654221628388046096057647143372348374923803989755870171027835225308395430102534694649475195143463877704548074866376278125848318509915746382992977586519188806165363077662281808426593495790693102864599657043492646157711527025489453356778897517265706088634710323617446232276897006259083685939158299945507571967579376168462644895991295765069831134584737386854634481728945953114789610332671960207834696684278181817258207760852323285647308720515616398795886578494998694698740373544382931996189081374113406682835142545216991220245355430211113242035072530853109737287597885086948328405190960585479268551877085999873278874088816086592248123609156888957948302625653806416537143857716324460422459297156055391873449508217838595369994666194126515256483582056959663975378690702207216289150874452576029444198200696937958354486151505248472314099850968556109812946495036414355756125527775952761848516507490596727995994403122212617199078683388014660899103976084881372375139235663498311712413299799931739636951253314701248948409873569303440534878939375055574540758842854075468306789774097437535339731111907635674069245141835332773438951516675037159201719049723944644957831474873278982828327994197822755763071350528843219864107903851521814712213098797432292468046082025489899535632395045813231567021296635377985897649873869177818361193828862796794685797364383111709378739628025324614895653306442558721090803019510792298356329512787947640727719050032112114675420537286965145037453909928213178488801733063379592267877291589528871992529828220084493361285429991576249211458311099545640800505725734213424563618497484256553328585224243689053834252418170626587662631239796307982486062560035199589733494001684918412583898698457954396251297934111976466089893863513472869478122033491520144151334864472511072186543208570347630324185673990918906983974591804895441816761548651747159933806309128194495781961878434557533017259028024195212996288083070449913124323473265168635644821427144777090495542703686257064606097469871673069908411826596098473471812348471551451963273479765319027082635462374030674455178072958226951326282596016566983695702061794979477984660886209193204002065334908498195784902814694907733322423752044519701938165744356261970860543747769464583258166984480130444585707437040414230769039733671461862181179543775550423487879299787658260838877135595533567322334797439586488157802010702089887407275885486775713238555033161726643927368788416000301705306880725570794680150949012918061026451480729826940427588407204599126965476290354025278995773412664163484989484456328123 54903758724521475380347987960121528339860005474914314055286608035167514123278261232942691705195203218051391392503750253405810122907734618452498959737465258732683653870020090386992444107291624941603827383853491530265036086023709780355543924461802648893300907681318724165718479762745468520310101665893467529832380819724039783024472840686268714458747758583586914165076583055824287340224214128040818796230179345191119311857120883182645752427244426368446770592452917746056653769479138112478528907995563322727712992249796147879668369819122880965235742991729575302797021190980123822478302082096839530562836706851723467936027834043996092589550410508444545990236431654753572780095238429532457314936380530387476708559135813562075834330856412664514062030789079829754348802413004956832719589236607929980091701226505961577718916235935736634270897400949546416959910262066860987916278258059114120868972673896364395083201250802590821002188369243770572159959572300707445134031252965682476981013913405549228337132524488285561303784098784786874638835155641613183588940771302608483749619818815528957041636456508093160726792501178118460889218946886803867947629515031905504006586068852937114224584975979575164289731444680825780582855983307285228344302450672814810450485621287100368190487604379717327743726555358754688321454310384458816112807651605693407102148137286443951877756344980866176105966476364900290758645473150533527618471152035862234462762365802631752346033902846651259599862330142794369316852660287546268217844247553581612686924857550006062741970416603581440436916061479358145115811636522022296636240958089712201409570372125688179987563561586194099651432206766503408950802347954186392925818385560483251772796861493160310746311968284652873087109902317747443177581904961762776601131442347423241884781093935090799339415648402573567760358549793462907596989060770545807797536260056632906924402345441732645468782124621592298476248624160139103955802592545829919336894281557766504685470898066280406977361038683072556387084430043787932925088369121285214428116325079922863951402888278606893648509212588125411267470210400946248161874756371700766455223460999016158239440436242628118191301662048181454516041601537166153563045304253917042391515336797502653603510078789100766215758212262636981073041976912607313155163367559816750595259403696045226912773073664490673294478388848671778759389309157290628523904064280798961203673566168543367398557274436492950949315883728827019969414153753331325865216835521178482498532924965158109225840666283030576726634701902557902500138520826586024597006291545363024512641871473929597125133752069610466693764849641000477199528973622874340075028222164388213077810006518410149061958186876044540504785702760754446055580805096010416358727376682807472525443639078860793429882301079714369196954668373560664995476396575937392516786209395906240914658572530601331308830492741739146683890009143206987793454490112308431422660601329730246345281895378810154207408400257290770961280690822655368035121580469013806879189263111171485659804797886781520134107102972598446613231163950232523052570770409049268817051916191501132445079535233017432198347244221268564498694901537246916940458707399693286152598885276462406641201357019523805417869427406758559894021341175513254372492345019757676025380592508408316465098652855268672918828285071085081651926137302659977161241878221654233894504121496303998627468313144388719278386727657013380921386313558260606040226598323562088709349213671152635852688761189319304890276502178536531993401592485646773054692386136799622975158207304843765598072569444653012891137887719906884243624830146693811763950687859093105461717081910346572544758878509354586946354528144204113027463967440985283124 88836147726399322015894563632197851891738243650501692407772325495699403924839206826984904303746786361180018367720890859014889102323450659791908566230182752777000235661271372401305440432138129835891709439584340936316505234287385138803826448863989482580720627290271521169266026716601382228690648373092808251748442466973276473000937501247530021507793709750015460402970974448676002248723332076786644978660202419094017715858459071120150728751289926972295224519646043068895135407789848829163993343645331290989173250215035829056331432286710401588375426793067752546457230756014292130548986885572416675818298049160802638482159323804085340113627095412215483563341989630289136027664595417331832087494601034798930681158127964799897014435444216479897569059596882888305410543442256000204268218854846312014212505321553562407275657420838781224793066548153276175735870765122818750483644709657130910773404147481532750307429787184113645822775118216491639876702798475312207385124864589952299116295432405978624743131357346652383263407457966853163677210641483419925720088885569912040906421849533574271066438029779380882686899060237019684140447639005107239483980569728595291108007254299591335852973022075632811433103793055749584572611853478313063569610846102917345145135096482243832068192152454583704021852403677264604067837303362045335301613816968771069383956563879939742570859209580523219598612634076427316248098829929431044884177240670572558080208598079528758605117588785809559545369902110373745485315305183537563982914078688166350073779492031735008695085206213914112397123896176042423297628894729783148959526605398432717025969168012266674986258260326567644034364202955584783064209030789328938142809605805838681983910103528232841599421705572250758174058230722938403763061173513639862601004721221512057971373342058699956228373596705199221566775086937320623921449483229842963852928133506141124762997715436398839595297381105174355435912599538829806163018881696704371912923725755967201623429252552431912225833352782923524943194242990282969339444125246812990380878173596430354548130884273010015861126411666808799282131109504922333043247131510936429953535173412315958171180073193881432892550610458055023819482136416105528618619845012759896466983643587276751041045418520212673851432281507778816405815415864123988192322569278866474539904361527520100191755901992484871117234151920022307602609173265194480045718776493897758635966034214625392888456810068887996762547450750123655347400051403205195043035196715007345295327610762522492337550045022658602051249597555864345058859611629605535389304647874875812460282599192979629237248427490147753658909887094910405412707462424607403454620490041679802606681999048238369146451548161474532081034914219065545601221605601736150572151940301304956781996967664085037118936135332132539823542331004800461303458882638497427716375942889907925833071156429299789263226744039673258660356099037070501266323968234341922942804752664594718856354081922018724555038724442964761880187674797247172930563397230562458626349196917480613854300579848659954691640120231626470808444160238315593502483894732522533985687561012928277222170030775721118455411850318738436171764809949073513038932179212041757704050848549942171960228439654986179448543882584831518120972667458109270939476040721819471004858577169294525658302654920603581417024069973899776559659459726412021680943816387398590156474982040051768092051571311373199408831313364450421335617082597994277502088779503105864259772701550452423510949600066454900423843824513333971579889750287657475144579793412685109750871445859876927324716496813441428891439593026787609814419510297642824682011714310573835288657509498753777143885843985644940971633523917616777190948956925441611247 143739906450920797396242551592319380231598249125416006463058933530866918048117468059927596008941989579231409760224641112420699225231185278244407525967648011509683889531291462788297884539429754777495536823437832466581541320311094919159370373325792131474021534971590245334984506479346850749000750038986275781580823286697316256025410341933798735966541468333602374568047557504500289588947546204827463774890381764285137027715579954302796481178534353340741995112098960814951789177268986941642522251640894613716886242464831976935999802105833282553611169784797327849254251946994415953027288967669256206381134756012526106418187157848081432703177505920660029553578421285042708807759833846864289402430981565186407389717263778361972848766300629144411631090385962718059759345855260957036987808091454241994304206548059523984994573656774517859063963949102822592695781027189679738399922967716245031642376821377897145390631037986704466824963487460262212036662370776019652519156117555634776097309345811527853080263881834937944567191556751640038316045797125033109309029656872520524656041668349103228108074486287474043413691561415138145029666585891911107431610084760500795114593323152528450077557998055207975722835237736575365155467836785598291913913296775732155595620717769344200258679756834301031765578959036019292389291613746504151414421468574464476486104701166383694448615554561389395704579110441327607006744303079964572502648392706434792542970963882160510951151491632460819145232232253168114802167965471083832200758326241747962760704349581741071437055622817495552834039957655400568413440531251805445595767563488144918435539540137954854973821821912761743685796409722088192015011378743515331068627991366321933756706965021393152345733673856903631261168133040685846940643078475402639202136163568935299856154435993790755567789245107772789327133636730783531518438544000388771650464393562774031687400060878131485064079505726766653912161223698968910118821474242534291249818007313733706308900150618712319203194391465996081330278673034070902264532494368098204808994498676353218499533772551616909509635624254934210549601319905868581205121887882637196408758634411332116410620509436509551083852272506236478335523737953271682181665149266676938858498980384779404644555497309313440067190493770415797478857392776731301347485936838683225135163765223565327104528975656975544411712540768694086361998482422485108569622840774696719839639600383168760287014084505380947711863334478950675316814205156536520908252032236185827793860535727680601563390711305689178777884299458422247558998132456191559986310939420238836972924470666909226362382179559758220352674736735910882612236436047481743529648712206068015684492005566648518208409735037519072585820616979819991656802410697746566930879316984112429307440606742945830548818436411846909020496999378361126298935279214434820233162152285814166747729728959901120572057236781412405344246108180277489059778458346650354365465353994324965201635977300828878762447124700255532841468365619902540965684977699576265505538460028652099514105377735441474825747223204224917421675324188548116555054665141571802802739477204429409667249566008738550653759094540007000670459711486320429979390886611735043856649733826404578601429796674509984866413309991590078014994008633622525311968385741577147030239169677702842123401307775872254335852355044984858211585597029071998842185694609052824050979103536355766719519884455761918687218041021463802257003396156254883542315377826667952969121915221605059363638361255774205314120326691870503573291342773304248199272179549484732726029653164720692922789066258094441782577480746694494058044340444336636445962402169666940750374591409100349688644722494999527917988052061820890218412924366426894371 232576054177320119412137115224517232123336492775917698870831259026566321972956674886912500312688775940411428127945531971435588327554635938036316092197830764286684125192562835189603324971567884613387246263022173402898046554598480057963196822189781614054742162261861766504250533195948232977691398412079084033329265753670592729026347843181328757474335178083617834971018531953176291837670878281614108753550584183379154743574039025422947209929824280313037219631745003883846924585058835770806515595286225904706059492679867805992331234392543684141986596577865080395711482703008708083576275853241672882199432805173328744900346481652166772816804601332875513116920410915331844835424429264196121489925582599985338070875391743161869863201744845624309200149982845606365169889297516957241256026946300554008516711869613086392270231077613299083857030497256098768431651792312498488883567677373375942415780968859429895698060825170818112647738605676753851913365169251331859904280982145587075213604778217506477823395239181590327830599014718493201993256438608453035029118542442432565562463517882677499174512516066854926100590621652157829170114224897018346915590654489096086222600577452119785930531020130840787155939030792324949728079690263911355483524142878649500740755814251588032326871909288884735787431362713283896457128917108549486716035285543235545870061265046323437019474764141912615303191744517754923254843133009395617386825633377007350623179561961689269556269080418270378690602134363541860287483270654621396183672404929914312834483841613476080132140829031409665231163853831442991711069425981588594555294168886577635461508708150221529960080082239329387720160612677672975079220409532844269211437597172160615740617068549625993945155379429154389435226363763624250703704251989042501803140884790447357827527778052490711796162841812972010893908723668104155439888027230231735503392527068915156450397776314530324659376886831941009348073823237798716281840355939238663162741733069700907932329403171144231429027744248919606273472916024353871603976619614911195189872672272783573047664656824626925370762035921743009831732429410790914248369019393573626362293807823648074581800582630390983976402882964291502155005874369377210800284994279436835325482623972056155685600915829526113918622775278194613884672808640855289539808506117549699675068126751085427296284877649460415528946692688716393964607655687679588615341617268594478475605634597794153175470894574268944474410785229074330664214256559741715951287228951193173089188146490203093900940756328347780829133897014286592617857744085797095375615587295114649433207069859888855599630607049905974011584623830821288024943898472089146984269202247747818291174004614886887354861283198993604666855531198885537258024016299482717503031257285417386089437574407030867667754571743979448844039330383161587602394161852932247949538095175722092580800885389200909835283980821085664004602207217347990326102426580992277308270106658919684057990059222847603317485849143220294721656040417149713896248374930138724131887656946132713368405957584101429517387343435851388230119484426863710057538559874094336788427038217357686889419596784459669109170944858745436842224521435393943018323065823776801560700582376346750561658236329496164314957192576421596135966676091731796251444426463396618035097746846997367781703962696475835752876425018884634771245056755484020523129510996451414207454085576407534811571455767135118096049354385914223592620478754249161044404157329773817228894616772057482874587961322229105737964151205204475153181093060961723343851972962169842476901099024597620247505563071535870674017073773482103872463850741979461127974116480240776039032100907854126832530566480644468889621575979437667409361881291868505618 376315960628240916808379666816836612354934741901333705333890192557433240021074142946840096321630765519642837888170173083856287552785821216280723618165478775796368014723854297977901209510997639390882783086460005869479587874909574977122567195515573745528763697233452011839235039675295083726692148451065359814910089040367908985051758185115127493440876646417220209539066089457676581426618424486441572528440965947664291771289618979725743691108358633653779214743843964698798713762327822712449037846927120518422945735144699782928331036498376966695597766362662408244965734650003124036603564820910929088580567561185854851318533639500248205519982107253535542670498832200374553643184263111060410892356564165171745460592655521523842711968045474768720831240368808324424929235152777914278243835037754796002820918417672610377264804734387816942920994446358921361127432819502178227283490645089620974058157790237327041088691863157522579472702093137016063950027540027351512423437099701221851310914124029034330903659121016528272397790571470133240309302235733486144338148199314953090218505186231780727282587002354328969514282183067295974199780810788929454347200739249596881337193900604648236008089018186048762878774268528900314883547527049509647397437439654381656336376532020932232585551666123185767553010321749303188846420530855053638130456754117700022356165966212707131468090318703302011007770854959082530261587436089360189889474026083442143166150525843849780507420572050731197835834366616709975089651236125705228384430731171662275595188191195217151569196451848905218065203811486843560124509957233394040151061732374722553897048248288176384933901904152091131405957022399761167094231788276359600280065588538482549497324033571019146290889053286058020696394496804310097644347330464445141005277048359382657683682214046281467363952086920744800221042360398887686958326571230620507153856920631689188137797837192661809723456392558707663260235046936767626400661830181772954412559740383434614241229553789856550632222135714915687603751589058424773868509113983009399998867170949136791547198429376243834880397660176677220381333749316659495453490907276210822771052442234980190992421092066900535060255155470527980490529612322648892981950143546113774183981604356835560330156413138839553985813269048610411363530201417586590887294442956232924810231891974650754400813853306435959940659233457410480326606138110164697184964458043291198315245234980962913462484979079649892186274119708025005981028461716278236859539261187379000883048682217883695464331467634036959607018196472708840176855876541988655361926526715353486406131540526798081962012786609664194364259360566732170637180334519570890513917914453815833975666010181535405563271018236512677252676148178705528914826426997229284433910574269529815396878181149976698216573008155826357864536329761522713901329441067367068182700247461536259328530614349102030407341217602498069348848315397625479385880884927642631673735460653244649259626036523676482079932973843475827563124406037052254861933352629714989637426116974784812882511335319542904343134566640076305651794808615411826612593225015666139591166515421787096556669162793198219762930039398752437512684232921714372997713952435511845417350316202751329163088033004006149181370502568011674150960684725354321563412812204973765065336916524700209905105270472348090088728780063869492982830653784556019365315205605504238258433189112763301531091340222897036783267395407378025849623874910504044586719535156441770198016531993662542238226322578003311052084477897074978726472435834265971543124152511654575202930752189318313170294629329630312456594554520176597930508191186316097573936518649907716789406692316954476521175288975643996807609628041258557627774805658295399989 608892014805561036220516782041353844478271234677251404204721451583999561994030817833752596634319541460054266016115705055291875880340457154317039710363309540083052139916417133167504534482565524004270029349482179272377634429508055035085764017705355359583505859495313778343485572871243316704383546863144443848239354794038501714078106028296456250915211824500838044510084621410852873264289302768055681281991550131043446514863658005148690901038182913966816434375588968582645638347386658483255553442213346423129005227824567588920662270890920650837584362940527488640677217353011832120179840674152601970780000366359183596218880121152414978336786708586411055787419243115706398478608692375256532382282146765157083531468047264685712575169790320393030031390351653930790099124450294871519499861984055350011337630287285696769535035812001116026778024943615020129559084611814676716167058322462996916473938759096756936786752688328340692120440698813769915863392709278683372327718081846808926524518902246540808727054360198118600228389586188626442302558674341939179367266741757385655780968704114458226457099518421183895614872804719453803369895035685947801262791393738692967559794478056768021938620038316889550034713299321225264611627217313421002880961582533031157077132346272520264912423575412070503340441684462587085303549447963603124846492039660935568226227231259030568487565082845214626310962599476837453516430569098755807276299659460449493789330087805539050063689652469001576526436500980251835377134506780326624568103136101576588429672032808693231701337280880314883296367665318286551835579383214982634706355901261300189358556956438397914893981986391420519126117635077434142173452197809203869491503185710643165237941102120645140236044432715212410131620860567934348348051582453487642808417933149830015511209992098772179160114928733716811114951084066991842398214598460852242657249447700604344588195613507192134382833279390648672608308870174566342682502186121011617575301473453135522173558956961000782061249879963835293877224505082778645472485733597920595188739843221920364594863086200870760251159696098420230213066178727450409701859926669784449133346250058628265574221674697291519036658038434819482645535486692026103782235137825550609509464228328891716015757328968365667904436044326805025248203010058441880427102949073782624485300018725736181697098730955896375469605926146126874291213793797844285800306075311885676790850869578757066637955873653918836660684904937099336645242718276019952810826490138572173972236828708086789365272223962384740436152093486995432794713620627785750737542114010468135839338610386686937561643393659570168375843984397553458662124232991660037498187116701563652266840014796422292918132301435506281919531679377591066172850443296712001936941831554947201486315755557007565884327579899805806708575660144684301503723602920299316132238342637258351909331499738302940242625198423583733353450522614973469711983311508634908982005567312164333317616095746524085397418822986696122284780446454201968758181727559853713769313773920917526250917292903644333860521910075927693881914293042275536670131784889760476379593553639144783446088759577657888872100984257497874354908754357108316016037018259288646978050898579098079724746269333502313496327695144433270286927360817086117814857238668370383100434663371697577686809233168823925841605205082754127754075710540040039888444716601955652465887274689170836342662795990032154879316749793292249442244353664753205631123692486215587426911148765720025112814283900232416790048629102279453879653528895227694886976125473824417679831851213915933417800192401166183130611628293658701802972041928295558701910635130148492828438793224808603353705855456288465697231204020696225037136686950163905607 985207975433801953028896448858190456833205976578585109538611644141432802015104960780592692955950306979697103904285878139148163433126278370597763328528788315879420154640271431145405743993563163395152812435942185141857222304417630012208331213220929105112269556728765790182720612546538400431075695314209803663149443834406410699129864213411583744356088470918058254049150710868529454690907727254497253810432516078707738286153276984874434592146541547620595649119432933281444352109714481195704591289140466941551950962969267371848993307389297617533182129303189896885642952003014956156783405495063531059360567927545038447537413760652663183856768815839946598457918075316080952121792955486316943274638710930328828992060702786209555287137835795161750862630720462255215028359603072785797743697021810146014158548704958307146799840546388932969699019389973941490686517431316854943450548967552617890532096549334083977875444551485863271593142791950785979813420249306034884751155181548030777835433026275575139630713481214646872626180157658759682611860910075425323705414941072338745999473890346238953739686520775512865129154987786749777569675846474877255609992132988289848896988378661416257946709056502938312913487567850125579495174744362930650278399022187412813413508878293452497497975241535256270893452006211890274149969978818656762976948793778635590582393197471737699955655401548516637318733454435919983778018005188115997165773685543891636955480613649388830571110224519732774362270867596961810466785742906031852952533867273238864024860224003910383270533732729220101361571476805130111960089340448376674857417633636022743255605204726574299827883890543511650532074657477195309267683986085563469771568774249125714735265135691664286526933486001270430828015357372244445992398912917932783813694981509212673194892206145053646524067015654461611335993444465879529356541169691472749811106368332293532725993450699853944106289671949356335868543917111333969083164016302784571987861213836570136414788510750857332693472015678750981480976094141203419340994847580929995187607014171057156142061515577114595131557356275097450594399928044109905155350833945995271904398692293608456566642766764192054096913193905347463136065099014674996764185281371664383693445832685727276345913742107205221890249313375415436611733211476028471314397392030015549295531910700386936097912584262332335410265159603537354617819931908008982985270533355176875106096104559719980100440852733568728846959024645124342626271179992298189670365751325951174855285510925970484829603691596421700043170289959704272971569497169774406099468640725821622245470150913485019523656180269234362740103344964285629299304567511230928012105031155379486242506024977957698481403319672018959172207827556296595087676870293941286370852405824477016883193936706984264100900588055632164573111989906207015405053043987666384314938590098794611237862114087404970649966416026081802702298838012598949097864196436277540655741027965408982577242132270200567477351796830171949847904852491254223620115080189568703406739890895702339133428628223187238203656476716003999533709101657687363282725009905426615970760069060931880002757922370856108635031023656250311867592987278822689013750970694800492395401214781849408887834302337508462677698197712444944437888045542440439378270050873344148165771579896397787591914503641172015930333985146623620736906364324596059253759922207459890724320463801934137873754136212929191662584145200670275291868228575257250217843227642657357624927680759382567351040606478235727842133106999354432606125964729493666430100277985478992882762603403234246588094821730796495587206182813835299733480233114611656275847153780056209617845485541763079874881144431932462504840832061954782664911492608459305596 1594099990239362989249413230899544301311477211255836513743333095725432364009135778614345289590269848439751369920401583194440039313466735524914803038892097855962472294556688564312910278476128687399422841785424364414234856733925685047294095230926284464695775416224079568526206185417781717135459242177354247511388798628444912413207970241708039995271300295418896298559235332279382327955197030022552935092424066209751184801016934990023125493184724461587412083495021901864089990457101139678960144731353813364680956190793834960769655578280218268370766492243717385526320169356026788276963246169216133030140568293904222043756293881805078162193555524426357654245337318431787350600401647861573475656920857695485912523528750050895267862307626115554780894021072116186005127484053367657317243559005865496025496178992244003916334876358390048996477044333588961620245602043131531659617607290015614807006035308430840914662197239814203963713583490764555895676812958584718257078873263394839704359951928522115948357767841412765472854569743847386124914419584417364503072681682829724401780442594460697180196786039196696760744027792506203580939570882160825056872783526726982816456782856718184279885329094819827862948200867171350844106801961676351653159360604720443970490641224565972762410398816947326774233893690674477359453519426782259887823440833439571158808620428730768268443220484393731263629696053912757437294448574286871804442073345004341130744810701454927880634799876988734350888707368577213645843920249686358477520637003374815452454532256812603614971871013609534984657939142123416663795668723663359309563773534897322932614162161164972214721865876934932169658192292554629451441136183894767339263071959959768879973206237812309426762977918716482840959636217940178794340450495371420426622112914659042688706102198243825825684181944388178422450944528532871371754755768152324992468355816032897877314189064207046078489122951340005008476852787285900311765666202423796189563162687289705658588347467711858114754721895642586275358200599223982064813480581178850590376346857392977520736924601777985355382717052373517680807466106771560314857210760615779721037744942352236722140864441461483573133571232340166945781600585706701100546420419197214993202910061014618992361671071075570889794685357702220461859936221534470351741500341103798173780831929426123117795011315218228710879871085749664228909033725705853268785576608667062551896946974138477046738396726387487565507643929582223679271513898268318142481192241464523348827522339634057274194875915558806440479322383446699705766283117797560156837010754736289758084808761300171957085299573928804531115947329361839087961428800502890965510292147856943138509346039774379991399535621107525241091739506933887661260527313590653288307794237379424218369509692263991829985228167955437971281687650050891316908776646907965700447176932736052963147193613825707910892591614449665536055749360627572418809847507944912449637746595277573315894858228016724652874770619816868072132685298945456192378296807749422417176053664816619865384345921126831572064178386791931693415623394699962899952856794795187092350353622700076663448846681948513997507132007913748186222501741635931005029787988954089139373452113360947488612580571671010776174025892856878214724815406359526557193127289541714531266206243268095365278723736809995941771939190229377748490982074864636099142204638809415543190207738491104974216416932202961346541900894993962524734112582240010455848966920128872945051838829525102592463854890378468144632181736101633886485779493624721361317076403459303410562594454617150180005895014131962678717817811107494001536452275042907214977757788910204702446284278766571683228586999888220928202072036082651007702048179558623211203 2579307965673164942278309679757734758144683187834421623281944739866865166024240739394937982546220155419448473824687461333588202746593013895512566367420886171841892449196959995458316022469691850794575654221366549556092079038343315059502426444147213569808044972952845358708926797964320117566534937491564051174538242462851323112337834455119623739627388766336954552608386043147911782646104757277050188902856582288458923087170211974897560085331266009208007732614454835145534342566815620874664736020494280306232907153763102332618648885669515885903948621546907282411963121359041744433746651664279664089501136221449260491293707642457741346050324340266304252703255393747868302722194603347890418931559568625814741515589452837104823149445461910716531756651792578441220155843656440443114987256027675642039654727697202311063134716904778981966176063723562903110932119474448386603068156257568232697538131857764924892537641791300067235306726282715341875490233207890753141830028444942870482195384954797691087988481322627412345480749901506145807526280494492789826778096623902063147779916484806936133936472559972209625873182780292953358509246728635702312482775659715272665353771235379600537832038151322766175861688435021476423601976706039282303437759626907856783904150102859425259908374058482583045127345696886367633603489405600916650800389627218206749391013626202505968398875885942247900948429508348677421072466579474987801607847030548232767700291315104316711205910101508467125250978236174175456310705992592390330473170870648054316479392480816513998242404746338755086019510618928546775755758064111735984421191168533345675869767365891546514549749767478443820190266950031824760708820169980330809034640734208894594708471373503973713289911404717753271787651575312423240332849408289353210435807896168255361900994404388879472208248960042640033786937972998750901111296937843797742279462184365191410040182514906900022595412623289361344345396704397234280848830218726580761551023901126275795003135978462715447448193911321337256839176693365185484154475428759780585563953871564034676878986117355099950514274408648615131401866034815670220012561594561774992942143634645845178707507208225675627230484426245514408917665684721376097310605700568879376896355893700346268707584813182776111684934671077635898471669433010498823055897733133813723076363840126510053892923899480561046290136245353201583526853657613862251770847142022239427003043078698197026838837579121056294354602954227348021897785078260616332151557992790474523682807850560027759024479607155228140522492673406403978737852614967334562936479395462111380330278912213656976608955754198038893856050674326124717260733368014121893522397179012322624751852064752337689880938940779544200263947334490184256348204183884594574678646643203901235252703628970976094086128756011070135854799639957098332313829690895632084762115522834847574385055727913112881542558030475747338758048198640171367907711704381189990293487623242982298472100360286925220352122416647040021980590151436710415998411887938991120582793555712322204517774549350018810267834863507935692949332496357650263235581804700613708321113691761008543451604604319370106142163031569998498090094728914753694043538959648889631768853328142796897500414874008519238851724090569323159162703451901966996571397340415058679431977823164493152870638240451167957702273175376001369227888439189232158395964561016875433914528202293039112090171068415890538204485040194632800025980810815267706066810147771530302676766510284485159814895496856703872474314843100988319091905458354215027747176681444782403445357058020384426593989835862759174305023993921329301269932508157518871253604942690260912064129764308334763103468144320153390706912868144605790366959672167082516799 4173407955912527931527722910657279059456160399090258137025277835592297530033376518009283272136490003859199843745089044528028242060059749420427369406312984027804364743753648559771226300945820538193998496006790913970326935772269000106796521675073498034503820389176924927235132983382101834701994179668918298685927041091296235525545804696827663734898689061755850851167621375427294110601301787299603123995280648498210107888187146964920685578515990470795419816109476737009624333023916760553624880751848093670913863344556937293388304463949734154274715113790624667938283290715068532710709897833495797119641704515353482535050001524262819508243879864692661906948592712179655653322596251209463894588480426321300654039118202888000091011753088026271312650672864694627225283327709808100432230815033541138065150906689446314979469593263169030962653108057151864731177721517579918262685763547583847504544167166195765807199839031114271199020309773479897771167046166475471398908901708337710186555336883319807036346249164040177818335319645353531932440700078910154329850778306731787549560359079267633314133258599168906386617210572799156939448817610796527369355559186442255481810554092097784817717367246142594038809889302192827267708778667715633956597120231628300754394791327425398022318772875429909819361239387560844993057008832383176538623830460657777908199634054933274236842096370335979164578125562261434858366915153761859606049920375552573898445102016559244591840709978497201476139685604751389102154626242278748807993807874022869768933924737629117613214275759948290070677449761051963439551426787775095293984964703430668608483929527056518729271615644413375989848459242586454212149956353875098148297712694168663474681677611316283140052889323434236112747287793252602034673299903660773637057920810827298050607096602632705297892430904430818456237882501531622272866052705996122734747818000398089287354371579113946101084535574629366352822249491683134592614496421150376951114186588415981453591483446174573562202915806963923532197377292589167548967956009938631175940300728957012197615910719133085305896991461022132812209332141587230534869772355177554713979888576998081900848371649687159200364055658585681354699266270428077197857026119766094370099265954714965261069255884258347001479620028779856360331605654544969174797398074237611896857195769552633171687935214698789757170007331102865812435887383319715520556423750689301978899990052836674073577234305508543859862246883809571701169298976528934474632750234254997872510330190194085033219355522714034581001815056853103684504135732764894719773490150198401138415087673513828933694255328126843424971998003687963805222162168517012859032689326869265763261198104526717681280474561887069441355686841424071917608731497475247862986440880583325453622213321234967924071356923966508107136487290007989649222606337803597785209292455570900537532249341738820792435149644925412874813797559267743786717559212326102439931234218520555614366958588303649873226893036463908094113275450382166608376708695688413537758847220528942069902120470476850382332013250299867386364955891057613163188438599495800800671467314461085206900451286267884103649295039483746684312596470550684699073326948602978771142305441503744386112995445679530015025749983426201373887518858261493553764524629956773210698184066432588518149361977261163899474212365605379117718870514053868257538169199826290977104735940784144086306588000618851884746385935188595324760093393055278161915777067900403247728605339809587752278750387235172017106496579202622205577684951978936389064253084904085814007951512637534606599884849994721853022841805028823302806384783200426086231362731600465614510414043074906446332055144208374318908984904227256798069007851725705728002 6752715921585692873806032590415013817600843586924679760307222575459162696057617257404221254682710159278648317569776505861616444806652763315939935773733870199646257192950608555229542323415512388988574150228157463526419014810612315166298948119220711604311865362129770285944059781346421952268529117160482349860465283554147558637883639151947287474526077828092805403776007418575205893247406544576653312898137230786669030975357358939818245663847256480003427548723931572155158675590732381428289616772342373977146770498320039626006953349619250040178663735337531950350246412074110277144456549497775461209142840736802743026343709166720560854294204204958966159651848105927523956044790854557354313520039994947115395554707655725104914161198549936987844407324657273068445439171366248543547218071061216780104805634386648626042604310167948012928829171780714767842109840992028304865753919805152080202082299023960690699737480822414338434327036056195239646657279374366224540738930153280580668750721838117498124334730486667590163816069546859677739966980573402944156628874930633850697340275564074569448069731159141116012490393353092110297958064339432229681838334846157528147164325327477385355549405397465360214671577737214303691310755373754916260034879858536157538298941430284823282227146933912492864488585084447212626660498237984093189424220087875984657590647681135780205240972256278227065526555070610112279439381733236847407657767406100806666145393331663561303046620080005668601390663840925564558465332234871139138466978744670924085413317218445631611456680506287045156696960379980510215307184851886831278406155871964014284353696892948065243821365411891819810038726192618278972858776523855428957332353428377558069390148984820256853342800728151989384534939368565025275006149311950126847493728706995553412508091007021584770100679864473458490024820474530373173977349643839920477027280184763280697394554094020846123679948197918727697167646196080368873463326639876957712665210489542257248594619424637289009651109718285260789036553985954353033122431438698411761504254600521046874494896836488185256411265869670747943611198176402900754882333949739329706922032211643927079555878857912834827594540084831195763616931955149453295167631820334973746995621848415311529776840697441123113164554699857492258803275087555467997853295807371425619933559609679143225580859114179350803460143576456067395962741040933577772327270892711541405903033131534871100416071884629600154216849838036919723067084054789550806784308227045472396193138040754112792243835129869262721524307730259507663241988347732229282709969545660512518745366585727485910303211082324882318828048678014088522482895536531134752555086505881588388013050169279055371161413502666613641619634175914256173956935681359842437665087523787226688874916950205944018157485679977578242991286929965087981536436028699229869971407978405748111917305069651933673977707675401160213571845757907915154625270916707292430224721841763537912839058948590575093579015453110948116093865601818877024375120583627404658341640776241264274419895019826869192599848113807803079314288387415263426424020404196414508992581006222093750352055890587254209791458071053745182402691199465438393116865908251868402911158769646541283613410319688049253877474073995524533050222310163460550335921970371831890130161889597081671020000217712331857176485540981380486946758953243100415934133760843166411019264143077183198396759069034742422950870975383228124786074203870545867982587215671933550405371850094072912093645884091875889580811422303610524669590410333151416811429766348868217453308570657919033193874685857481027327865798950152604076317291357944957484967674290726526574543807383241209435523288528527709615897772371862588435967523892788244801 10926123877498220805333755501072292877057003986014937897332500411051460226090993775413504526819200163137848161314865550389644686866712512736367305180046854227450621936704257115000768624361332927182572646234948377496745950582881315273095469794294209638815685751306695213179192764728523786970523296829400648546392324645443794163429443848774951209424766889848656254943628794002500003848708331876256436893417879284879138863544505904738931242363246950798847364833408309164783008614649141981914497524190467648060633842876976919395257813568984194453378849128156618288529702789178809855166447331271258328784545252156225561393710690983380362538084069651628066600440818107179609367387105766818208108520421268416049593825858613105005172951637963259157057997521967695670722499076056643979448886094757918169956541076094941022073903431117043891482279837866632573287562509608223128439683352735927706626466190156456506937319853528609633347345829675137417824325540841695939647831861618290855306058721437305160680979650707767982151389192213209672407680652313098486479653237365638246900634643342202762202989758310022399107603925891267237406881950228757051193894032599783628974879419575170173266772643607954253481467039407130959019534041470550216632000090164458292693732757710221304545919809342402683849824472008057619717507070367269728048050548533762565790281736069054442083068626614206230104680632871547137806296886998707013707687781653380564590495348222805894887330058502870077530349445676953660619958477149887946460786618693793854347241956074749224670956266235335227374410141032473654858611639661926572391120575394682892837626420004583973092981056305195799887185435204733185008732877730527105630066122546221544071826596136539993395690051586225497282227161817627309679449215610900484551649517822851463115187609654290067993110768904276946262702976061995446843402349836043211775098185161369984748925673134792224764483772548094049989895687763503466077823061027334663779397077958238702186102870811862571854025525249184321233931278543520582090387448637042937444555329478059072110807555621270562308257330692880755820530317990131289752106304916884420901920788642008980404250507599994027958595743416877118316198225577530493024657940101068117094887803130276790846096581699470114644174728637348619134880742100437172650693881609037516790755379231776397268794328878140560630150907558933208398628424253293292883694643400843384803023184371545173993306190138144014079096721846491424236383031318485281417058461300470268703468230948197825463190652583297302526122787112611347746124080497124002483459695858913657160454259241314843997466410451725743800046681702052327705057705048147611587775832750854151274248273805773052441888064553683082975321017338328091565667178835090300651528404370552142497130271440911942228842603944086350127774219973077630759042366502827655180700433976648649449554411390754466412857320326573088385643317175658941342830129033394870155956060284093527206017536894224966805908489574856210207141052201043632751829279315818196100487996770206344322015490303719574931861364107670465679244278472876589612459003692215309664048320683178957252507176855138313440753110537491866715287670016123092190192856854847174053464211150285669726405765367579268903224057421725906937741168424954104100446600328605100828345956029670189169362194973495756650697906586759604665629467296968673472302960669457388124000083861327284703347069653594307697256910571823449546167596925824029898364283572336798133977189903660664372396271327047906687308001506232730247275362312087805875682851252954031461260083295453639793759535852202880350707603978975906882702074558371043716330405891192141084957850458147655767578432736902028524882676599119386504975375618493972803 17678839799083913679139788091487306694657847572939617657639722986510622922148611032817725781501910322416496478884642056251261131673365276052307240953780724427096879129654865670230310947776845316171146796463105841023164965393493630439394417913514921243127551113436465499123252546074945739239052413989882998406857608199591352801313083000722238683950844717941461658719636212577705897096114876452909749791555110071548169838901864844557176906210503430802274913557339881319941684205381523410204114296532841625207404341197016545402211163188234234632042584465688568638776114863289086999622996829046719537927385988958968587737419857703941216832288274610594226252288924034703565412177960324172521628560416215531445148533514338209919334150187900247001465322179240764116161670442305187526666957155974698274762175462743567064678213599065056820311451618581400415397403501636527994193603157888007908708765214117147206674800675942948067674381885870377064481604915207920480386762014898871524056780559554803285015710137375358145967458739072887412374661225716042643108528167999488944240910207416772210272720917451138411597997278983377535364946289660986733032228878757311776139204747052555528816178041073314468153044776621434650330289415225466476666879948700615830992674187995044586773066743254895548338409556455270246378005308351362917472270636409747223380929417204834647324040882892433295631235703481659417245678620235554421365455187754187230735888679886367197933950138508538678921013286602518219085290712021027084927765363364717939760559174520380836127636772522380384071370521012983870165796491548757850797276447358697177191323312952649216914346468197015609925911627823012157867509401585956062962419550923779613461975580956796846738490779738214881817166530382652584685598527561027332045378224818404875623278616675874838093790633377735436287523450592368620820751993675963688802378369924650682143479767155638348444431970466821747157541883843872339541149700904292376444607567500495950780722295449151581505135243534445110270485264497873615212818887335454698948809929999105946605704392109455818719523200363628699431728494393032044634440254656214127823953000285936059960129365512828855553135828248072881933130180726983788192289760436041864090509651545588320622937279140593227808729428494840877938155829655905170503989688980463136724314988910919622849653443057491364090294484015000604361369465186871065210965536112384790706056315906416274409378074767744168295946559883411147303467086108036088201366688345942664896606271702310617707025782452560024050430517372119010988112428229353285193429241519426175905820844968800754300677492776608062628095359716140850187953241579282364142862338632442539287298443084828423603301567220296724594955193252584265522602860194932738316615928157778831372047221646855960386328283921664593119061149938165612295478395202057525152108412382396761366859481042688140390564995727733301957489075083574095968101045740687300380677902047631440045076485484800060384923942685804326301006654019920657126949862943222854442128773011470618741910510130588767531709477915473544993532665888140016036479407888629818656629326905272707604563067442392523232211181591237049117978869481561485307058765106715576964622980796826953339816085055628522780698131417250439987963478588414654436368570700436990958507845626751860189362412685827613827183447568140091612388420540069089406436721512623799143264226938510483100106138688336730648127885955051574332241800796369897880951499244270348539349039997733576466042155418923796268119423809843254916865772645239222687112617601822248914568653953372672987634221709683907678573402929128510959019365916316001201298080181918667659501657841388865203101721265429738140780448970981974940942899511282217604 28604963676582134484473543592559599571714851558954555554972223397562083148239604808231230308321110485554344640199507606640905818540077788788674546133827578654547501066359122785231079572138178243353719442698054218519910915976374945712489887707809130881943236864743160712302445310803469526209575710819283646953249932845035146964742526849497189893375611607790117913663265006580205900944823208329166186684972989356427308702446370749296108148573750381601122278390748190484724692820030665392118611820723309273268038184073993464797468976757218429085421433593845186927305817652467896854789444160317977866711931241115194149131130548687321579370372344262222292852729742141883174779565066090990729737080837483947494742359372951314924507101825863506158523319701208459786884169518361831506115843250732616444718716538838508086752117030182100711793731456448032988684966011244751122633286510623935615335231404273603713612120529471557701021727715545514482305930456049616420034593876517162379362839280992108445696689788083126128118847931286097084782341878029141129588181405365127191141544850758974972475710675761160810705601204874644772771828239889743784226122911357095405114084166627725702082950684681268721634511816028565609349823456696016693298880038865074123686406945705265891318986552597298232188234028463327866095512378718632645520321184943509789171211153273889089407109509506639525735916336353206555051975507234261435073142969407567795326384028109173092821280197011408756451362732279471879705249189170915031388551982058511794107801130595130060798593038757715611445780662045457525024408131210684423188397022753380070028949732957233190007327524502211409813097063027745342876242279316483168592485673470001157533802177093336840134180831324440379099393692200279894365047743171927816597027742641256338738466226330164906086901402282012382550226426654364067664154343512006900577476555086020666892405440290430573208915743014915797147437571607375805618972761931627040224004645458734652966825166261014153359160768783629431504416543041394197303206335972497636393365259477165018716511947730726381027780531056509455252258812383163334386546559573098548725873788927945040364379873112822883511731571664950000249328406304514281216947700537109981185397454675865111469033860840063342452904157132189497073036571756342343154683570589500653515070368142696020118447771935631924720445391573933812759997889440164358094660179513228175509079500277961448402684264905888182375043281729902571539850117426521369618425149646412933600074502650508443170216435035857326576553304484730358734236508726477287676888937378339833066275104210115598298143903228333806428142041418193177893010946627429975730638171383296690561546716890601476045189631773979807570276210590912357088270039030023038968144332528330973869177493087767902615170887865750943246835369911243243054520761704885180332808846359045410816413892433442606803422316054306390343132392259233037310931174774082170536633962331724967251094022379025027190832432260660536508147706220964289878779142259041050542616769781676963063926000434308342463570842023144010672776944361016605648938411580845128320677647588451664857070244297530836672964292128728915833266539497684577497251621961562751018087191947112623066221850423207791683922188838976346925704647013368758536815171029042091786853801656422049358724607659323370477881354154899696278017887837037762878739682182081187267264310799837767803453208341931038345384796526875023878409397722193927779315782816607146673326229901394240838438426745971702955427425316075985164141134957327028562795468854776280375828737248826312781393757561886788029281006908104417841721440474687044917628486073110808744459508299536520970680154002331766665663125570101361445918275129776190407 46283803475666048163613331684046906266372699131894173212611946384072706070388215841048956089823020807970841119084149662892166950213443064840981787087608303081644380196013988455461390519915023559524866239161160059543075881369868576151884305621324052125070787978179626211425697856878415265448628124809166645360107541044626499766055609850219428577326456325731579572382901219157911798040938084782075936476528099427975478541348235593853285054784253812403397191948088071804666377025412188802322726117256150898475442525271010010199680139945452663717464018059533755566081932515756983854412440989364697404639317230074162736868550406391262796202660618872816519105018666176586740191743026415163251365641253699478939890892887289524843841252013763753159988641880449223903045839960667019032782800406707314719480892001582075151430330629247157532105183075029433404082369512881279116826889668511943524043996618390750920286921205414505768696109601415891546787535371257536900421355891416033903419619840546911730712399925458484274086306670358984497157003103745183772696709573364616135382455058175747182748431593212299222303598483858022308136774529550730517258351790114407181253288913680281230899128725754583189787556592650000259680112871921483169965759987565689954679081133700310478092053295852193780526643584918598112473517687069995562992591821353257012552140570478723736731150392399072821367152039834865972297654127469815856438598157161755026062272707995540290755230335519947435372376018881990098790539901191942116316317345423229733868360305115510896926229811280095995517151183058441395190204622759442273985673470112077247220273045909882406921673992699227019739008690850757500743751680902439231554905224393780770995777758050133686872671611062655260916560222582932479050646270732955148642405967459661214361744843006039744180692035659747818837749877246732688484906337187970589379854925010671349035885207446068921653347713481737544304979455451248145160122462835919416668612212959230603747547461710165734864296012318074541774901807539267812516025223307952335342175189476270965322216339840182199747303731420138154683987306776195379020986814229312676549826789213881100324509238625651739064867399913022882182458587031498069409237460973151845275907106221453432091971139980656570261633585627030375011192401412247513658673259569963790239385357053615642968101214993123288810739875588934417121367354627035423305625715625612966215135816184377722812062339673632350670989841613313718843317203534557457819791837992355598496680774352819060877242217488417350626983821856849369722348936955830572870318178897766008972095949178916352598821396004941869056237401134334028080964188206712339873500510015739229848845159975429899648491198994276532165231403843496622610872899224955777284760260686109805241224714734623863001499171787415536365896519849408855349999156906942705484917258741442172183273373476130747193987311782039692300621467342807133279032220514769470917311864379356407296170507863825087575756374946464862809154360240884947005729005202263904984745542793147581805836510564897109995280319938617555666309610249156621685417819469474946977306974493724372461633311739923359905175473719965964951245408979246062804310387068278327982710172743939576406037935478836314464620320256226786913668125601783412973183741729479082745361647283173909548087020345150984305064801723039787890406308377106852285176403694704986410528537738348250903559347030267768993512682481926598210651198518563825660267282060877495212675269899127817304480582164895499223546849125919240081006907602566251249908086456598529290397391202198985769027979271570695707854409837232928800740806391003046118926566255029476403961166140925386173781875267761504806443574541083336386861174641058408011 74888767152248182648086875276606505838087550690848728767584169781634789218627820649280186398144131293525185759283657269533072768753520853629656333221435881736191881262373111240692470092053201802878585681859214278062986797346243521864374193329133183007014024842922786923728143167681884791658203835628450292313357473889661646730798136699716618470702067933521697486046166225738117698985761293111242123161501088784402787243794606343149393203358004194004519470338836262289391069845442854194441337937979460171743480709345003474997149116702671092802885451653378942493387750168224880709201885149682675271351248471189356885999680955078584375573032963135038811957748408318469914971308092506153981102722091183426434633252260240839768348353839627259318511961581657683689930009479028850538898643657439931164199608540420583238182447659429258243898914531477466392767335524126030239460176179135879139379228022664354633899041734886063469717837316961406029093465827307153320455949767933196282782459121539020176409089713541610402205154601645081581939344981774324902284890978729743326523999908934722155224142268973460033009199688732667080908602769440474301484474701471502586367373080308006932982079410435851911422068408678565869029936328617499863264640026430764078365488079405576369411039848449492012714877613381925978569030065788628208512913006296766801723351723752612826138259901905712347103068376188072527349629634704077291511741126569322821388656736104713383576510532531356191823738751161461978495789090362857147704869327481741527976161435710640957724822850037811606962931845103898920214612753970126697174070492865457317249222778867115596929001517201438429552105753878502843619993960218922400147390897863781928529579935143470527006852442387095640015953914783212373415694013904882965239433710100917553100211069336204650267593437941760201387976303901096756149060680699977489957331480096692015928290647736499494862263456496653341452417027058623950779095224767546456892616858417965256714372627971179888223456781101703973279318350580662009819231559280449971735540448953435984038728287570908580775084262476647609936246119159358713407533373802411225275700578141826140688889111738474622576598971577972882431786993336012350626185161510261826461304560897318543561005000820719912714537742759219872084228973168589856813356830159464443754455725196311663086548986928755213531185267162868229881365244067199781400285895138841141724215316462339171214746604579520533046033123343216290383167320961078827438216987638768532096755277003327504047458652524274677203537126341579728456585445682307860547207116276105842038371053389031950896965299233275675484379442552527205973975134834142315604138681399035920410391876866031375693680830768256339735507614434408979699142938254978816252904593214440779110402207822391765616670059653166479612731889760652098404519918611827885817726105100487582999687265909573353997409627836346082643753859602040170589963395288851641453945826711081374547264530242850114766588807207125399317302066461849236884508147461304955527362312574824544869762510999205452458851161961761566339086554610173227334356231050320075297984622082176037318703556037454196578139765848694880784511948476930640301562009029841079000797364691052199472259785902044106148542509095203133839372772615152171509998912758521174532215448939595958906811628004474354782946155877939484168424196214144615163916085876786173677792848538186018707012555372198807338897479008801622089060596240757753439583064877484641886001499800522058142919008910867202178974274441995225245148042559893279812703555311374809666226128451025298550421736833457483737135416745337346642462246865690091036555052328140285148420674440461907144462029270093271472106700111184697832779449770834598418 121172570627914230811700206960653412104460249822742901980196116165707495289016036490329142487967152101496026878367806932425239718966963918470638120309044184817836261458387099696153860611968225362403451921020374337606062678716112098016258498950457235132084812821102413135153841024560300057106831960437616937673465014934288146496853746549936047048028524259253277058429067444896029497026699377893318059638029188212378265785142841937002678258142258006407916662286924334094057446870855042996764064055235611070218923234616013485196829256648123756520349469712912698059469682683981864563614326139047372675990565701263519622868231361469847171775693582007855331062767074495056655163051118921317232468363344882905374524145147530364612189605853391012478500603462106907592975849439695869571681444064147245883680500542002658389612778288676415776004097606506899796849705037007309356287065847647822663423224641055105554185962940300569238413946918377297575881001198564690220877305659349230186202078962085931907121489639000094676291461272004066079096348085519508674981600552094359461906454967110469337972573862185759255312798172590689389045377298991204818742826491585909767620661993988288163881208136190435101209625001328566128710049200538983033230400013996454033044569213105886847503093144301685793241521198300524091042547752858623771505504827650023814275492294231336562869410294304785168470220416022938499647283762173893147950339283731077847450929444100253674331740868051303627196114770043452077286328991554799264021186672904971261844521740826151854651052661317907602480083028162340315404817376729568971159743962977534564469495824776998003850675509900665449291114444729260344363745641121361631702296122257562699525357693193604213879524053449750900932514137366144852466340284637838113881839677560578767461955912342244394448285473601508020225726181147829444633967017887948079337186405107363364964175855182568416515611169978390885757396482509872095939217687603465873561229071377195860461920089681345623087752793419778515054220158119929822335256782588402307077715638429706949360944627411090780522387993896785764620233425935554092428520188031723901825527367355707241013398350364126361641466371490995764614245580367510420035422622483413671737211667118771975652976140801376482976171328386250247095421374580837370472030089729428233993841082249927306054650201921878502341925142751802647002732598694235204705911610764454107939351132646716894026808944253152883717022964956530009226484524495636285258008825631124130593436051356146564924700870012692027830520948198429098178934382638138433417525295173871851010467002567948303495786695238217544540616843686861234054939323040854655477639191414775150259237036841461275342172029762532871900739018277905602310015837479934593537664853900550584351626922557015628618169231440582015978628409610060953754519075518770591302643363841929755182960639385704101191396939618385774944375326944847303868995615803621112371257691090437781843435038106675202342345182153590262126456426702734183890237152663568860512107855367972126675599021564102562454131481900379122005396164859329849019774050519795022275291596575900409780336867777377556483315239568660845735757357456176703105872396098119406983507537434991775878297721380880420613162829351429920753040898216935584483182654488000257277577096222769868454898648349625339088010957600979272058830504591251467449092489571491160088321386276534269610571902402466576332410161490728220299711794759321579099850346938362137098676769699649875447399591075762701402521123567914465326154950162459531062611641767973338956623519653224284319449716105028179444989826582570275443203053256693137155481618583169761552381840581387293318243904537854776278550274652268034219640624411893006429 196061337780162413459787082237259917942547800513591630747780285947342284507643857139609328886111283395021212637651464201958312487720484772100294453530480066554028142720760210936846330704021427165282037602879588615669049476062355619880632692279590418139098837664025200058881984192242184848765035796066067229986822488823949793227651883249652665518730592192774974544475233670634147196012460671004560182799530276996781053028937448280152071461500262200412436132625760596383448516716297897191205401993215071241962403943961016960193978373350794849323234921366291640552857432852206745272816211288730047947341814172452876508867912316548431547348726545142894143020515482813526570134359211427471213571085436066331809157397407771204380537959693018271797012565043764591282905858918724720110580087721587177047880109082423241627795225948105674019903012137984366189617040561133339595747242026783701802802452663719460188085004675186632708131784235338703604974467025871843541333255427282426468984538083624952083530579352541705078496615873649147661035693067293833577266491530824102788430454876045191493196716131159219288321997861323356469953980068431679120227301193057412353988035074296295096863287546626287012631693410007131997739985529156482896495040040427218111410057292511463216914132992751177805956398811682450069611577818647251980018417833946790615998844017983949389007670196210497515573288792211011026996913396877970439462080410300400668839586180204967057908251400582659819019853521204914055782118081917656411726056000386712789820683176536792812375875511355719209443014873266239235619430130699695668333814455842991881718718603644113600779677027102103878843220198607763187983739601340284031849687020121344628054937628337074740886376495836846540948468052149357225882034298542721079121273387661496320562166981678449044715878911543268221613702485048926200783027698587925569294517885204055380892466502919067911377874626475044227209813509568496046718312912371012330453845929795161117176292717652525511311209574521482488333538508700591832154488341868852278813256087383142933399672914981999361297472256373433374556479545094912805836053561834135127101227945497533381702287462102600984218065343068968647046032573703522770661607783993675498198516228016090519213981141622096395690709071145470119179650347749427227285386919888892677748296807446238969141199188850633715873110409914670876884097842761434986106197505903295249663566449109056065241555548832673416763056088299746299609651845456715112696225813269892662690191328359474068972159522536966705034058074540008826635519828320446293964732411449977693048838055956980254392751994471493220024996286239388440028914457874996971081777872813811070669628913707492651035852860530789211636246632712314582009158775734913409790569447114991363462029130379407394234839291093748495591360299370713052159038994130598477120369468942417338182647905295277455188806567454731857588129186546887474458959011092472753825203517801519156390699568349525317108933989360715661443758493164583420774745300124873816039470167942796671545361532563308014912982643862140688344482719469503076354130281570115097573276218658076447099040423814831753061455005417355726520269305933107343407434405127960485984304902126043975350557507282924526761705338446633054592413670832087755993181567246521431809792545162365827361710276354099693870957113478918756227254700805396082613008575448277333766114234814720288317584457774665383671307640499529842388772391000079332539433411815846778984678269500171933590318599986629903581495398009909690571302992722352810875315197079348148622849648104249582869871452938485663182125243327907622085665300122383228192036670911310046700802515021849200462705933807948047750656974763452732052420074182727604847 317233908408076644271487289197913330047008050336334532727976402113049779796659893629938471374078435496517239516019271134383552206687448690570932573839524251371864404179147310633000191315989652527685489523899962953275112154778467717896891191230047653271183650485127613194035825216802484905871867756503684167660287503758237939724505629799588712566759116452028251602904301115530176693039160048897878242437559465209159318814080290217154749719642520206820352794912684930477505963587152940187969466048450682312181327178577030445390807629998918605843584391079204338612327115536188609836430537427777420623332379873716396131736143678018278719124420127150749474083282557308583225297410330348788446039448780949237183681542555301568992727565546409284275513168505871498875881708358420589682261531785734422931560609624425900017408004236782089795907109744491265986466745598140648952034307874431524466225677304774565742270967615487201946545731153716001180855468224436533762210561086631656655186617045710883990652068991541799754788077145653213740132041152813342252248092082918462250336909843155660831169289993344978543634796033914045858999357367422883938970127684643322121608697068284583260744495682816722113841318411335698126450034729695465929725440054423672144454626505617350064417226137052863599197920009982974160654125571505875751523922661596814430274336312215285951877080490515282684043509208233949526644197159051863587412419694031478516290515624305220732239992268633963446215968291248366133068447073472455675747242673291684051665204917362944667026928172673626811923097901428579551024247507429264639493558418820526446188214428421111604630352537002769328134334643337023532347485242461645663551983142378907327580295321530678954765900549286597441880982189515502078348374583180559193003113065222075088024122894020693439164164385144776241839428666196755645416994716475873648631704290311418745856642358101636327893485796453435112967209992078368142657530599974478204015075001172356977638212807333871134398962367941261003387758666820521654489745124457254585890971725812849882760617542393090141819860250270219139176712971030466898264573749865859028926755312853240622715685812466727345859531714559964411660278154071033190697030406477089169935727895134862494866957282423472878666880399531720366275071722330264597757417009618320911742137889696166275195849390772512218215035552666473523886830441455670190812109116667749357602917581755772959268364493085826300480079053256276308836136369952351397954234638901016793283627379715620633896860392549658732864579022738437924814454210958584727382257706623849544059305058524928557888538689709710764565613129926249674083853780915851626559417064228586220928865950548953926378024890293322083536985650990220184319174613214848003328234301015541947813656052936423022853008522534330511569988708980774005913558069649369068423012832784347093365608544680981556380203507073117632532504513491734778327954626896093866196461208891956938234134606456200519451279171514305923570214919867317604664982452788442676551578023310768798220960554127410577367114125762519810349878884328832925373904332089910119848567815233976856879377291592209309544770244986016572256026663389284046513306801226079892967812439561035751228855228663804947374868167798062975345454569049023340476364221734521689087369641385135695816608924703725032958968071079898028286085205396647550062101065019768493854435621091254557928156360177131960003717801990258062688484185759400911639283758754208916083355039199821809037718191062392604984016521577824155897457942884812341937926838847321487579473167757473867189321169043513842627115069910477897528868353379076365347518289494479808253184355603236493780949838345802824029207249415720766272060698594620611276 513295246188239057731274371435173247989555850849926163475756688060392064304303750769547800260189718891538452153670735336341864694407933462671227027370004317925892546899907521569846522020011079692967527126779551568944161630840823337777523883509638071410282488149152813252917809409044669754636903552569751397647109992582187732952157513049241378085489708644803226147379534786164323889051620719902438425237089742205940371843017738497306821181142782407232788927538445526860954480303450837379174868041665753554143731122538047405584786003349713455166819312445495979165184548388395355109246748716507468570674194046169272640604055994566710266473146672293643617103798040122109795431769541776259659610534217015568992838939963072773373265525239427556072525733549636090158787567277145309792841619507321599979440718706849141645203230184887763815810121882475632176083786159273988547781549901215226269028129968494025930355972290673834654677515389054704785829935250308377303543816513914083124171155129335836074182648344083504833284693019302361401167734220107175829514583613742565038767364719200852324366006124504197831956793895237402328953337435854563059197428877700734475596732142580878357607783229443009126473011821342830124190020258851948826220480094850890255864683798128813281331359129804041405154318821665424230265703390153127731542340495543605046273180330199235340884750686725780199616798000444960553641110555929834026874500104331879185130101804510187790148243669216623265235821812453280188850565155390112087473298673678396841485888093899737479402803684029346021366112774694818786643677638128960307827372874663518327906933032065225205410029564104873206977554841944786720331224843801929695401670162500251955635232949867753695652277045123443982829450241664859304230408881723280272124386452883571408586289875699142483880043296688044463453131151245681846200022415063799217926222175515474126749108861020704239271360422928479340177023501646864189375843512345490534468920930967518094814505524986396645710171942462743491721297175521113486644233466326106864704227813195992816160290457375089503117332506643652513733192516125379704100627311699994156027983258350774004417973274569328330077597057628933058706310727774555961358638190470764668134244123150953014080938424045569274357589470677190485454722070079691825042803929507213589490434697142405244337048579623145934088145962581144400770928284217105176918306622571044607266484030864829024509920041918499717243135141556022608445788215409066510650460452170909455973818708075094702869019915086625437898637097278446751449974039279031021346990118073827237108143114481908812281290684181203984590609416165638114112768238790848597641194937042397291598494864256446577413877750824111295173232283702534766328333388949761413118803748130533311275685183315830417087847813628079007161349008351487058072597063779967545543382301726764431548256449976259011569010074527849490120633700038622252786913637988566620021664726693476094624834174805725836560213160875021585013973413031901025439727752913316492591048191253565469766322086690718592280096769624660498694361603798336001728034613660025217421844033892053303978417715407041062606225250403372298776295969322391389920741206354040378952117341687079726579412735946729474136573506244696029937868239881111096469545788981043120897162186547501523178319201057824726829925184558816784513339906202043632675109640468045827620549855905974846245740817951797343675025442489787905077256576759480244178717170570055695068033308699993742628036791049022508565511919587733846468760935607165152813242035926669636202322815861723450059192621981999505809240313238385519614533653501459593539554960405789854953986870625085694243655772153750871779864224179173498324480772777348216123 830529154596315702002761660633086578036563901186260696203733090173441844100963644399486271634268154388055691669690006470725416901095382153242159601209528569297756951079054832202846713336000732220653016650679514522219273785619291055674415074739685724681466138634280426446953634625847154660508771309073435565307397496340425672676663142848830090652248825096831477750283835901694500582090780768800316667674649207415099690657098028714461570900785302614053141722451130457338460443890603777567144334090116435866325058301115077850975593633348632061010403703524700317777511663924583964945677286144284889194006573919885668772340199672584988985597566799444393091187080597430693020729179872125048105649982997964806176520482518374342365993090785836840348038902055507589034669275635565899475103151293056022911001328331275041662611234421669853611717231626966898162550531757414637499815857775646750735253807273268591672626939906161036601223246542770705966685403474744911065754377600545739779357772175046720064834717335625304588072770164955575141299775372920518081762675696661027289104274562356513155535296117849176375591589929151448187952694803277446998167556562344056597205429210865461618352278912259731240314330232678528250640054988547414755945920149274562400319310303746163345748585266856905004352238831648398390919828961659003483066263157140419476547516642414521292761831177241062883660307208678910080285307714981697614286919798363357701420617428815408522388235937850586711451790103701646321919012228862567763220541346970080893151093011262682146429731856702972833289210676123398337667925145558224947320931293484044774095147460486336810040382101107642535111889485281810252678710086263575358953653304879159283215528271398432650418177594410041424710432431180361382578783464903839465127499518105646496610412769719835923044207681832820705292559817442437491617017131539672866557926465826892872605751219122340567164846219381914453144233493725232332033374112319968738483995932139875072452718332320267780109134310404004495109055842341635141133978590783361450595199539008842698920907999768179644937192756913871652909905487155846602365201061565853184954738571204014627133659087036055675937128772188897470366588881845589152055668596947853838069972018285815508947895706469042153024469870208910851729793792409956422800220939125534501232572586838571519532897970395658152303181515247617924657758725672775367730415739238793964869401612620601983778284535004326017723214194812298917281924585361417908604695091071926249257446087790715336765880307636284170763216120016884676264428250237615748729247824697676781167448173006837370169829373890914749156222546091887788196622019706700224200612001270983512527360814805400503791902641117433378710217934692754950647508002164609416447038049146075259089341236252253439940856336162409518731337717332261063986155133429336613966395134511111524913864994657240567949213581600967122653138213530357031114868264884660486218125935585433032858968781261926356011492332389327508584188332899218630104710205701759169142626214564334267987282640818129169647210895387180309044240488127168927101938945749935337270411849126030160857795006999250372150995495389388871032322632711675436434048007580120271919929781248115477808267964610534421511441674042759005283322808930134436945910010715564809984531827932637218994928125761549759788893255638714812799425111598691182737210705487814321474985476997229404173897178128929303678743244480045967765740762518881155818000929324264611151388347899815551665754982111415113549528441165558002366218878491977494751168874773991123781795983619197317248513791025513348436355383148863417143402006880535958887073249900269663207171226228322188024605610499553695809071473594894264596541471371968827399 1343824400784554759734036032068259826026119752036186859679489778233833908405267395169034071894457873279594143823360741807067281595503315615913386628579532887223649497978962353772693235356011811913620543777459066091163435416460114393451938958249323796091748626783433239699871444034891824415145674861643186962954507488922613405628820655898071468737738533741634703897663370687858824471142401488702755092911738949621040062500115767211768392081928085021285930649989575984199414924194054614946319202131782189420468789423653125256560379636698345516177223015970196296942696212312979320054924034860792357764680767966054941412944255667151699252070713471738036708290878637552802816160949413901307765260517214980375169359422481447115739258616025264396420564635605143679193456842912711209267944770800377622890442047038124183307814464606557617427527353509442530338634317916688626047597407676861977004281937241762617602982912196834871255900761931825410752515338725053288369298194114459822903528927304382556139017365679708809421357463184257936542467509593027693911277259310403592327871639281557365479901302242353374207548383824388850516906032239132010057364985440044791072802161353446339975960062141702740366787342054021358374830075247399363582166400244125452656183994101874976627079944396660946409506557653313822621185532351812131214608603652684024522820696972613756633646581863966843083277105209123870633926418270911531641161419902695236886550719233325596312536479607067209976687611916154926510769577384252679850693840020648477734636981105162419625832535540732318854655323450818217124311602783687185255148304168147563102002080492551562015450411665212515742089444327226596973009934930065505054355323467379411238850761221266186346070454639533485407539882672845220686809192346627119737251885970989217905196702645418978406924250978520865168745690968688119337817039546603472084484148641342366999354860080143044806436206642310393793321256995372096521409217624665459272952916863107393167267223857306664425819306252866747986830353017862748627778212057109468315299427352204835515081198457143269148054525263557524166643098003281226306465828373265847340982721829554788631551632361605384006014725829817830529072899609620145113414306787418618506204216141436768523028834130514611427382059340886101337184515862489648247843024868632748090723007283980976763869946550018804086391327477828762325428687009889880544648722361809838572135885643485431008288204576922825734966349336368321525727712800770484419255155543242835705231264795865810039634900222722909608661853217295331427714402289516646770076237942771504018275591287488746182451120058072118733746831962257525902309390258497548821841806938313380804125855679061847081205780391941544673883450218395289716975841391114370829565841797276608570365026419568083857028704149790488525892686725683748122058752197209304159509777436237875956462121444633499579518223656128816612773771913568979283901781902873227106239790662278909127483802956067652192571705493264349093598161745931119655544437958615075661733674405817899737753604727508847761927307665011840807738602091925504928829973559409960554692255883018083464836212722406291434757220745792761169808618602034066826354789213934160650872047122935195204387680700557263895648015180287455035221191048811245533415455799696607930881694014480138742173247326819374486618818440197531597312765017800734815412320345955860149095535332903204250419637996080726647353768686969833872842997339278361399996718099894320306219421656599809294293791773160437622115040360753291848834979814099142647564410910700660759984118799480920767307706413007512854245595696387248936757935660381995552426628210306059518161158096853407882268261382653304567588935697774067762921022244149317043522 2174353555380870461736797692701346404062683653222447555883222868407275752506231039568520343528726027667649835493050748277792698496598697769155546229789061456521406449058017185975539948692012544134273560428138580613382709202079405449126354032989009520773214765417713666146825078660738979075654446170716622528261904985263039078305483798746901559389987358838466181647947206589553325053233182257503071760586388157036139753157213795926229962982713387635339072372440706441537875368084658392513463536221898625286793847724768203107535973270046977577187626719494896614720207876237563285000601321005077246958687341885940610185284455339736688237668280271182429799477959234983495836890129286026355870910500212945181345879904999821458105251706811101236768603537660651268228126118548277108743047922093433645801443375369399224970425699028227471039244585136409428501184849674103263547413265452508727739535744515031209275609852102995907857124008474596116719200742199798199435052571715005562682886699479429276203852083015334114009430233349213511683767284965948211993039935007064619616975913843913878635436598360202550583139973753540298704858727042409457055532542002388847670007590564311801594312341053962471607101672286699886625470130235946778338112320393400015056503304405621139972828529663517851413858796484962221012105361313471134697674866809824443999368213615028277926408413041207905966937412417802780714211725985893229255448339701058594587971336662141004834924715544917796688139402019856572832688589613115247613914381367618558627788074116425101772262267397435291687944534126941615461979527929245410202469235461631607876097227953037898825490793766320158277201333812508407225688645016329080413308976772258570522066289492664618996488632233943526832250315104025582069387975811530959202379385489094864401807115415138814329968458660353685874038250786130556829434056678143144951042075107169259871960611299265385373601052861692308246465490489097328853442591736985428011436912795247268239719942189626932205928440563270752481939408860204383768912190647892829765894626891213678214002106456911448792991718020471395819553003490437072908831029434831700525937460400758803258685291448641439681951854602006727999439488491465734265469975384366472344274188159722584031976729836983653580406529211095012188914309654899604670643245807758282591955579870819548283402844520414462238694508993076380250086445735562655912379138101048632537005287256106032992066489111927151752689563531180620443009637386131902327859850634314761954488710883656525376400780530359193779425069337312216103978830539754262518805485767469180799443039460495583552620949431963033482903054508349413690506012278204249046042418939584364316653216493867247584997683033058978052593668153088044667623349393278980246012879846422683829454367655820337296969560485952898044624024443016009186044907330638640773476172570748987481375986439290740147467437237729783735426910127099336315016650167757887592457916597864342160342771737329578548583197825653676602182350078830338285649148164316834830876300620382234005740887368326976931574518560399021116782842580052673855931912505159895891962667732144113625694007729405541806908216241182150040840941234745742262788837221514280922791976904183310682195948665167798317159456854330214040504513857741379970361365810412172740866225842412775961168175452580924246407711695836246410112190129399425998149531051443674470570520809900433654593535174209655951032511931449879840608738101797242555814719029218584917370810004499624845959546755271852735664568801918849851201198692591120142315579785474651883765914783100118084556220204033026202681951079536112353901337667262531511313701460206329181368329323081730070292866993152858263398007171368962027517563715521285870921 3518177956165425221470833724769606230088803405258634415562712646641109660911498434737554415423183900947243979316411490084859980092102013385068932858368594343745055947036979539748233184048024356047894104205597646704546144618539519842578292991238333316864963392201146905846696522695630803490800121032359809491216412474185652483934304454644973028127725892580100885545610577277412149524375583746205826853498127106657179815657329563137998355064641472656625003022430282425737290292278713007459782738353680814707262637148421328364096352906745323093364849735465092911662904088550542605055525355865869604723368109851995551598228711006888387489738993742920466507768837872536298653051078699927663636171017427925556515239327481268573844510322836365633189168173265794947421582961460988318010992692893811268691885422407523408278240163634785088466771938645851958839819167590791889595010673129370704743817681756793826878592764299830779113024770406421527471716080924851487804350765829465385586415626783811832342869448695042923430787696533471448226234794558975905904317194317468211944847553125471244115337900602555924790688357577929149221764759281541467112897527442433638742809751917758141570272403195665211973889014340721245000300205483346141920278720637525467712687298507496116599908474060178797823365354138276043633290893665283265912283470462508468522188910587642034560054994905174749050214517626926651348138144256804760896609759603753831474522055895466601147461195151985006664827013936011499343458166997367927464608221388267036362425055221587521398094802938167610542599857577759832586291130712932595457617539629779170978099308445589460840941205431532674019290778139735004198698579946394585467664300239637981760917050713930805342559086873477012239790197776870802756197168158158078939631271460084082307003818060557792736892709638874551042783941754818676167251096224746617035526223748511626871315471379408430180037259504002702039786747484469425374851809361650887284389829658354661406987166046933596631747746816137500468769761878067132396690402705002298081194054243418513729083304914054717941046243284028919986196101493718299215296857808097547866920182230313591890236923810246823687966580431824558528512388101085879378884282171785090850478404301159352555005563967498265007788588551981113526098825517389252918486270676391030682678587154800525047272791070433266325085836470905142575515132745452536457027860462858471109141172899591464000354693688849977487655912867548941968737350186902386747115006177557597659719975679522335416035680753082103388086922554607547531693232829270909288881723710240684817718630747984329735072069490035152216649886470606939592815402536701797867884225877897745120779072172929094666203463425000522726477118371483334384599190784393351075578721643699292399819394075388421153998264635743386570516711168699757308103659527847944932985950006986863437838107883924239726985660893858600348200682040668315598918432070631114698697707260143251287826574693397230741154903318918025695780511824761457941193586122931910492609975026200133743494492095835824693501826225410861924521444671978178784761886064569856446654923615162197090530220451811833241665436986974911210649559836779809089143626435448441573664024027118505886583629365725062212807472034617669075725704906552625503776821610108780671747919856892914703341422779400298733026530136033778007424955147200160813561851397399534619666056142803637905013173170290382598386280618419713713451735441075603955811437129112905223590231661099434140253338528432290357779609162672141700036178506690262789879990696175312643750033582581038851863926617040539056927546775923361290659273327644527063740329670512388699529487419935137952561128375806162830986942869143029790438585959670602914443 5692531511546295683207631417470952634151487058481081971445935515048385413417729474306074758951909928614893814809462238362652678588700711154224479088157655800266462396094996725723773132740036900182167664633736227317928853820618925291704647024227342837638178157618860571993521601356369782566454567203076432019478317459448691562239788253391874587517713251418567067193557783866965474577608766003708898614084515263693319568814543359064228318047354860291964075394870988867275165660363371399973246274575579439994056484873189531471632326176792300670552476454959989526383111964788105890056126676870946851682055451737936161783513166346625075727407274014102896307246797107519794489941207985954019507081517640870737861119232481090031949762029647466869957771710926446215649709080009265426754040614987244914493328797776922633248665862663012559506016523782261387341004017264895153142423938581879432483353426271825036154202616402826686970148778881017644190916823124649687239403337544470948269302326263241108546721531710377037440217929882684959910002079524924117897357129324532831561823466969385122750774498962758475373828331331469447926623486323950924168430069444822486412817342482069943164584744249627683580990686627421131625770335719292920258391041030925482769190602913117256572737003723696649237224150623238264645396254978754400609958337272332912521557124202670312486463407946382655017151930044729432062349870242697990152058099304812426062493392557607605982385910696902803352966415955868072176146756610483175078522602755885594990213129338012623170357070335602902230544391704701448048270658642178005660086775091410778854196536398627359666431999197852832296492111952243411424387224962723665880973277011896552282983340206595424339047719107420539072040512880896384825585143969689038142010656949178946708810933475696607066861168299228236916822192540949232996685152902889761986568298855680886743276082678673815553638312365695010286252237973566754228294401098636315295826742453601929646707108236560528837676187379408252950709170738271516165602593352895127847088681134632191943085411370966166734037961304500315805749104984155372124127887242929248392857642631072395148922215258888263369918435033831286527951876592551613644354257556151563194752592460881936586982293804481918588195117763076125715013135172288857589129516484149313274634167025620073330675635590847728563780345463981522825601578481015192369406998563907103646146460155697496992421182800777129240345476398729562411746987573034289074974856811872359614208686563178860792436461283441297167511991891919763635672063369025171807687209477709865617161670208479913287693018921998185699552940978956353283321414814906046913926644817482109437432288666796342251201146458059500779070786524571379052222540177672331321591601490121976229273761731208758450967825121696284615140735611715766494148566858486585706462122577735850919214094323214979874453098131588384083627592167767651913935082238389002291155623858007593448169346430726809289738101144571702297962861903591796226842734287248745323486275646582367749235379464162801625076344785809883041304287252030852640693798569729752338617591347306310716224228181217375048573653228157061251490501071525551351932463656962722496456000931301816568779578030892860529966928888947883116230218764294005474138187420520953412614145699305690664509598231981222979434241831870024417537145276599586811711382448843209090236576952704071559606708344500038549418792549869593554060473542872846511626156158331490140961041665599058986212885283704143093444177964590991551237377199281382932195570481649964527515948365681156936420146821073565259609497855459473644560610994907058575054031130718717880897816743016868022853995368959021094384950040511991817956149675191888785364 9210709467711720904678465142240558864240290463739716387008648161689495074329227909043629174375093829562137794125873728447512658680802724539293411946526250144011518343131976265472006316788061256230061768839333874022474998439158445134282940015465676154503141549820007477840218124052000586057254688235436241510694729933634344046174092708036847615645439143998667952739168361144377624101984349749914725467582642370350499384471872922202226673111996332948589078417301271293012455952642084407433029012929260254701319122021610859835728679083537623763917326190425082438046016053338648495111652032736816456405423561589931713381741877353513463217146267757023362815015634980056093142992286685881683143252535068796294376358559962358605794272352483832503146939884192241163071292041470253744765033307881056183185214220184446041526906026297797647972788462428113346180823184855687042737434611711250137227171108028618863032795380702657466083173549287439171662632904049501175043754103373936333855717953047052940889590980405419960871005626416156408136236874083900023801674323642001043506671020094856366866112399565314400164516688909398597148388245605492391281327596887256125155627094399828084734857147445292895554879700968142376626070541202639062178669761668450950481877901420613373172645477783875447060589504761514308278687148644037666522241807734841381043746034790312347046518402851557404067366447671656083410488014499502751048667858908566257537015448453074207129847105848887810017793429891879571519604923607851102543130824144152631352638184559600144568451873273770512773144249282461280634561789355110601117704314721189949832295844844216820507373204629385506315782890091978415623085804909118251348637577251534534043900390920526229681606805980897551311830710657767187581782312127847117081641928409263029015814751536254399803753877938102787959606134295767909163936249127636379022094522604192513614591554058082245733675571869697712326038985458036179603146210460287202580216572111956591053694274283494125469423934195545753419478932616338648562292996057897425928282735378050705672168716285020884675084204588529235791945206477873671339424745051026796259777824861385987039159139069135087057885015465655845056464264693637493023238539727936654045230996762041289141987857771980183595983706315057239241111960689678110507615787160540343957312754180420598377948426661280994888866181934886665401116711226467728826434859026765574755287633055288960992775876489627106728001389266278504380484337759936675822089862989429957273928662242701196208472142036523400555598914446527311167365296198296081096568933187950550434880300956464243022765088412033337916202827449563292876136817351607844781810870695379854558211360839725436917404609883060023505547904896054713436821730962065682397170323133821268629093155806597179604966089757439671185657446780415523802252226386334530639448072584722714357052202207139219601438759025446984431828274208435967512853514309020116989853331118150844735995921124124040030893004463489727993743373728353254168036320410180655816096250672782501492729871559998626318578171011220744965825731924009031425455684634299608785272514962468507806754448633029208290239090215131972462140060908305360441076090092411164070120024958420322455363207396617922742774400923565552191955923670846630977915009030629734084362065556198605367851021011381521712460771967903802424962100423799747625273233846242743709902633095507709464619881514790421147805073168289307267512208983948450467437593287444395364551273326698493126466223812136433451223787127263133251273555705971645722075561177825277171265981948262195788284073438114104316537044631382834935219884322551585638794360801231106580427304162952005975415123744765183925371892909655021608394735634862491699807 14903240979258016587886096559711511498391777522220798358454583676737880487746957383349703933327003758177031608935335966810165337269503435693517891034683905944277980739226972991195779449528098156412229433473070101340403852259777370425987587039693018992141319707438868049833739725408370368623709255438512673530173047393083035608413880961428722203163152395417235019932726145011343098679593115753623624081667157634043818953286416281266454991159351193240553153812172260160287621613005455807406275287504839694695375606894800391307361005260329924434469802645385071964429128018126754385167778709607763308087479013327867875165255043700138538944553541771126259122262432087575887632933494671835702650334052709667032237477792443448637744034382131299373104711595118687378721001121479519171519073922868301097678543017961368674775571888960810207478804986210374733521827202120582195879858550293129569710524534300443899186997997105484153053322328168456815853549727174150862283157440918407282125020279310294049436312512115796998311223556298841368046238953608824141699031452966533875068494487064241489616886898528072875538345020240868045075011731929443315449757666332078611568444436881898027899441891694920579135870387595563508251840876921931982437060802699376433251068504333730629745382481507572096297813655384752572924083403622792067132200145007174293565303158992982659532981810797940059084518377716385515472837884742200741200725958213378683599508841010681813112233016545790613370759845847747643695751680218334277621653426900038226342851313897612767738808943609373415003688640987162728682832447997288606777791089812600728686492381242844180173805203827238338612275002044221827047473029871841917229610854263431086326883731127121654020654525088318090383871223538663572407367456097536155223652585358441975724625685011951006870615046237331024876428326836717142160621402030526141008662821459873400357867636736756061287313884235392722612291223431602933831440611558923517876043314565558520700401382520054654307100121574954006370188103354610164727895589410792553775371416512682897615254127655987051409122165893029551597694311462029043463552632293956044652635467492458382188081354328023350427803450499487131584416141286189106667592797284088217239983589222923225728970151576462102184178824078133364956125095861966968096745303644689657231946921206040671708624062252128723452646527398868188226718289707482921195841857590672678401434093210986457985197059290404235968346865665008066792231325332970964897064719801302316888137348805880057000908603319964697723110906338447074803037359567321252904256142665660416052041971164944156310458107334031523615755768428519646159458232166513891695737515512861963995643649506521779168605756341119524284618691420626092489044271139738013718761924623943244858366917537805938055933914879135955800798182392131290296400793244821116345910195162458565276266296530354199475891857157035368515455866376203619426788596547409119281008954976158438184165267554850849320631105608061430291706235631945050394879054697429401139582526319364869241965251024161427943654515797030628007130019176039884066149483204029361123890106309774818522978676814246583338812743443289033713630561979830911793008553749373886566576025889722139024142785427510783272741329812513435308186142435140636452053196451150687496976211255504296032360619243362744691895013799773826842499245700399334436984616295085952800139210048211781024226589859290459697223865718158900821572682526821296979063749445775885505512314992297552112679109095840576544667965091854124802510932905253028654271131659475241698781930313943352724704220259187669576146542486842308579780495317458644213848391931949824461325120905968873998269119113724205019756842950167013426350885310054380485171 24113950446969737492564561701952070362632067985960514745463231838427375562076185292393333107702097587739169403061209695257677995950306160232811302981210156088289499082358949256667785766316159412642291202312403975362878850698935815560270527055158695146644461257258875527673957849460370954680963943673948915040867777326717379654587973669465569818808591539415902972671894506155720722781577465503538349549249800004394318337758289203468681664271347526189142232229473531453300077565647540214839304300434099949396694728916411251143089684343867548198387128835810154402475144071465402880279430742344579764492902574917799588546996921053652002161699809528149621937278067067631980775925781357717385793586587778463326613836352405807243538306734615131876251651479310928541792293162949772916284107230749357280863757238145814716302477915258607855451593448638488079702650386976269238617293162004379706937695642329062762219793377808141619136495877455895987516182631223652037326911544292343615980738232357346990325903492521216959182229182714997776182475827692724165500705776608534918575165507159097856482999298093387275702861709150266642223399977534935706731085263219334736724071531281726112634299039140213474690750088563705884877911418124571044615730564367827383732946405754344002918027959291447543358403160146266881202770552266829733654441952742015674609049193783295006579500213649497463151884825388041598883325899241703492249393817121944941136524289463756020242080122394678423388553275739627215215356603826185380164784251044190857695489498457212912307260816883143927776832890269624009317394237352399207895495404533790678518788226087061000681178408456623844928057892136200242670558834780960168578248431514965620370784122047647883702261331069215641695701934196430759989149768225383272305294513767705004740440436548205406674368924175433812836034461132485051324557651158162520030757344064065913972459190794838307020989456105090434938330208889639113434586822019210720456259886677515111754095656803548779776524055770499759789667035970948813290188585468689979703654151890733603287422843941007936084206370481558787389639517939902714802977377344982840912413292353844369227240493397158437485688465965142976640880405979826599690831337012024871285214585984964514870958009348442285780162530393190604197237056551645078604361090805230001189259675386461270086572488913409718341512709333754853627835000933950650022276716617438253156721726266275418977972935780031342696348254931286571172715663092907640719154582790732274162066011048581253209380745356488098278709820784974385970402655765617334000825075853610966486922272121408399333223195746064861531958595878082939035595049518121736477548386208241818553855010346247216086010366224179547790166596316680805925866002101803696115932247757764513487460073344403117660900004636575626986455629172546814098653019631155646985358267747181279633318498737493419077330616182482352947284140584639586939642110856429236270862286094309282920161188678974889351524110071551158285449609360298304562915375107610056955678776992147370734695122584160054262232686808251372972955751100048915491605167838328969909162621272243326329733125447275791629051833658421006175770622888136272234084643841785050636696050848142461479505992824128706015515730736078987500142066105987267429968205481780421581338276811702901400211640254744266404355785767677629267461346124199082062257850141328696510041843143719490488846471374080880845028938886448208089084891510769747446501342733220280870063588318996045239145332907977009995891752219117258053784488611224674376346692837300518870047912262205548512988293697301773892683587118225143515000379640010229852642752733180931041752425068920879973684242858489388945128735859822035034745620944916872184978 39017191426227754080450658261663581861023845508181313103917815515165256049823142675743037041029101345916201011996545662067843333219809595926329194015894062032567479821585922247863565215844257569054520635785474076703282702958713185986258114094851714138785780964697743577507697574868741323304673199112461588571040824719800415263001854630894292021971743934833137992604620651167063821461170581257161973630916957638438137291044705484735136655430698719429695386041645791613587699178652996022245579587938939644092070335811211642450450689604197472632856931481195226366904272089592157265447209451952343072580381588245667463712251964753790541106253351299275881059540499155207868408859276029553088443920640488130358851314144849255881282341116746431249356363074429615920513294284429292087803181153617658378542300256107183391078049804219418062930398434848862813224477589096851434497151712297509276648220176629506661406791374913625772189818205624352803369732358397802899610068985210750898105758511667641039762216004637013957493452739013839144228714781301548307199737229575068793643659994223339346099886196621460151241206729391134687298411709464379022180842929551413348292515968163624140533740930835134053826620476159269393129752295046503027052791367067203816984014910088074632663410440799019639656216815531019454126853955889621800786642097749189968174352352776277666112482024447437522236403203104427114356163783983904233450119775335323624736033130474437833354313138940469036759313121587374858911108284044519657786437677944229084038340812354825680046069760492517342780521531256786738000226685349687814673286494346391407205280607329905180854983612283862183540332894180422069718031864652802085807859285778396706697667853174769537722915856157533732079573157735094332396517224322919427528947099126146980465066121560156413544983970412764837712462787969202193485179053188688661039420165523939314330326827531594368308303340340483157550621432321242047266027433578134238332303201243073632454497039323603434083624177345453766159855139325558978018084174879482533479025568403416500902676971596994987493328536374588338987333829401931758266530009638938885565048759846302751415321847725181787913491916464630108225296547266015706358424134296113088525198175207887740599928160924904387964341354471323969153362152413612046701106394449919658421206596592501941795196551165538441794159236732623041854553290641433571218118574208110931558155819477261876963169995070435578664695120596294637964946988425878605616219302592034591050203359854461310210289348676452796001820727123421460773440015332938586905081218519271382538964243286352555643681303080096385147714364306602585195053281684635628173285901721103782549498659852768995254616122565299072074785287737306898414910273241541709834694172381707758345826990882209055716833919515711582787253811564678104395053812875976763331268462909639844909584795267847618553222473339517721462740006960843206366430707403838355551871241070467721104326456233825738672155215679612588577155844992243354957794429805039458095261303311512239976660373608321482205887202605282000980085770276088799557754651042358331033052727582018144852711802261522374967864577101710039889401184867967184027093197591158937203272076737864600503648778251639489288257060548592422808328208541127903882021401932931109078314488067207197432572259498107011096250799567451456109960591824598416499242466436414649310181053191931271513073061233371340542252804604607108910657574037591044425565092178996166375575903311293597351824442003817586540559717310971382856295421516477703030617824496775760568829842576148901237692513956489443468830129605067452094780874957468874066491144665130755503077545974889753971953361972213593964885578809989048461096506254971252670149 63131141873197491573015219963615652223655913494141827849381047353592631611899327968136370148731198933655370415057755357325521329170115756159140496997104218120856978903944871504531350982160416981696811838097878052066161553657649001546528641150010409285430242221956619105181655424329112277985637142786410503611908602046517794917589828300359861840780335474249040965276515157322784544242748046760700323180166757642832455628802994688203818319702046245618837618271119323066887776744300536237084883888373039593488765064727622893593540373948065020831244060317005380769379416161057560145726640194296922837073284163163467052259248885807442543267953160827425502996818566222839849184785057387270474237507228266593685465150497255063124820647851361563125608014553740544462305587447379065004087288384367015659406057494252998107380527719478025918381991883487350892927127976073120673114444874301888983585915818958569423626584752721767391326314083080248790885914989621454936936980529503094514086496744024988030088119497158230916675681921728836920411190608994272472700443006183603712218825501382437202582885494714847426944068438541401329521811686999314728911928192770748085016587499445350253168039969975347528517370564722975278007663713171074071668521931435031200716961315842418635581438400090467183014619975677286335329624508156451534441084050491205642783401546559572672691982238096934985388288028492468713239489683225607725699513592457268565872557419938193853596393261335147460147866397327002074126464887870705037951221928988419941733830310812038592353330577375661270557354421526410747317620922702087022568781898880182085724068833416966181536162020740486028468390786316622312388590699433762254386107717293362327068451975222417421425177187226749373775275091931525092385666992548302699834241612893851985205506558108361820219352894588198650548497249101687244809736704346851181070177509588005228302786018326432675329292796445573592488951641210881160700614255597344958788563087920588744208592696127152213860148233115953525949522175296507791308272760348172513182679720294150104190099815538002923577534906856147126376973347341834473069507386983921726477462052200147120642562341122340225399180382429773084866176953245842306049255471308137959810412761192852255470886170273346673744503884864514573350599208965257125305467485255149659610466271978963211881769040078948160135671946066377895482388291575384221240395290825549184714877545743537295941142930850466921361043375527581209137662651518786246335373885382766865212269370903042563419670094032940894280530547908395846743842671098555920905906294372882349025886515407760954976904498826161246679672960184685524230648331202757364650834287929345601103353670199016211340626488789478619864951884053987704340776275343345405950626420139472271833287064226612173377733924152287209773709440737224918493706832507132410316626730656821124542903294005341037630553089522000074410024147545482793306072818260267591822733527164777004024487644912800628023679325751163746862605454352541659520709804912649515050940080303659610711355496192481536468119889413533373953041521376137715049359818880687300942215348854261471182444927708798166596916410760131046065171807756103456261177841432943987839968127586007061983154771075768195303772791284671410308470274647115171311989607414711530659652764878910098832783899752851277500606585335129085377421937948797498561500316577743345820222896335650762001919532607452221387281743491055316999742465548360791872066434912216447245639491630289642590969774911794596536451469530088640910079910127702377406964517334076279438877754838354449750680807653791217361513716723292595609781254597479103919133897398311686544829971043810633945637604830702982910014314669811083495842127199888124855127 102148333299425245653465878225279234084679759002323140953298862868757887661722470643879407189760300279571571427054301019393364662389925352085469691012998280153424458725530793752394916198004674550751332473883352128769444256616362187532786755244862123424216023186654362682689352999197853601290310341898872092182949426766318210180591682931254153862752079409082178957881135808489848365703918628017862296811083715281270592919847700172938954975132744965048533004312765114680475475922953532259330463476311979237580835400538834536043991063552262493464100991798200607136283688250649717411173849646249265909653665751409134515971500850561233084374206512126701384056359065378047717593644333416823562681427868754724044316464642104319006102988968107994374964377628170160382818881731808357091890469537984674037948357750360181498458577523697443981312390318336213706151605565169972107611596586599398260234135995588076085033376127635393163516132288704601594255647348019257836547049514713845412192255255692629069850335501795244874169134660742676064639905390295820779900180235758672505862485495605776548682771691336307578185275167932536016820223396463693751092771122322161433309103467608974393701780900810481582343991040882244671137416008217577098721313298502235017700976225930493268244848840889486822670836791208305789456478464046073335227726148240395610957753899335850338804464262544372507624691231596895827595653467209511959149633367792592190608590550412631686950706400275616496907179518914376933037573171915224695737659606932649025772171123166864272399400337868178613337875952783197485317847608051774837242068393226573492929349440746871362391145633024348212008723680497044382106622564086564340193967003071759033766119828397186959148093043384283105854848249666619424782184216871222127363188712019998965670572679668518233764336865000963488260960037070889438294915757535539842109597675111944542633112845858027043637596136786056750039573073532123207966641689175479197120866289163662376663089735450755647943772410461407292109377314622066769326356935227655046661705288697566605092776787134997911070863443230735465364307176743766231336037396622860612042510812046449872057884188847522013312672298894403193091473500511858012407679605604251048335610936400739996070814331198251061708845239335838542503961361378869172006573879705069318031672868571465153676965591244486601929831182799000937336941582216817792458513865033660116273033365220799172904312925920902500025738496123875847102609639944664851951593187974801456262472730757503873629959442709393690282351275031817307517282686431494507810987512892153731564850758694113510620585801906257631827387324491288109425701612887392992824120189650449383652852330051785206595242611354777691939737171791294602755686548584887115785320592521180030179114055108821229094567843667998792560963252301903022888760645383109173647895193566460969452488089273188656183775562861517795872764154506325999672503525664105947374604768235244725128814101146626366695834541430776335439761299344785014478504234717688973146201383615171850688015869800803018674007092018815374933127291652226514607114469923045631975268076436279616035156729970320541564780987861841085954572992624070640288271039024102925043240204323871662486803549327407684592029851833263833116798483188243075194011009347642639737967252946117296265356159250958288596857384902580541487382529773395915060742783014157995130403949527582033514992593840823561929534548095662425910400039585951836297631527091212613621215394941583239942794216915612183077011186841060023766375331644180080437582341830852040007707597414503350988373321610280660830343846328360047704562129554947977985625042063442442047907517018700387917590966802916576874899893479800131956938633454859377525276 165279475172622737226481098188894886308335672496464968802679910222350519273621798612015777338491499213226941842112056376718885991560041108244610188010102498274281437629475665256926267180165091532448144311981230180835605810274011189079315396394872532709646265408610981787871008423526965879275947484685282595794858028812836005098181511231614015703532414883331219923157650965812632909946666674778562619991250472924103048548650694861142773294834791210667370622583884437747363252667254068496415347364685018831069600465266457429637531437500327514295345052115205987905663104411707277556900489840546188746726949914572601568230749736368675627642159672954126887053177631600887566778429390804094036918935097021317729781615139359382130923636819469557500572392181910704845124469179187422095977757922351689697354415244613179605839105243175469899694382201823564599078733541243092780726041460901287243820051814546645508659960880357160554842446371784850385141562337640712773484030044216939926278751999717617099938454998953475790844816582471512985051095999290093252600623241942276218081310996988213751265657186051155005129343606473937346342035083463008480004699315092909518325690967054324646869820870785829110861361605605219949145079721388651170389835229937266218417937541772911903826287240979954005685456766885592124786102972202524869668810198731601253741155445895423011496446500641307493012979260089364540835143150435119684849146960249860756481147970350825540547099661610763957055045916241379007164038059785929733688881535921068967506001433978902864752730915243839883895230374309608232635468530753861859810850292106755578653418274163837543927307653764834240477114466813666694495213263520326594580074720365121360834571803619604380573270230611032479630123341598144517167851209419524827197430324913850950876079237776880053983689759589162138809457286172576683104652461882391023179775184699949770935898864184459718966888933231630342528524714743004368667255944772824155909429377084251120871682431577907861803920643577360818058899489918574560634629695575827559844385008991716709282876602673000834648398350086882591741280524085600704405544783606782338519972864246596992700446529969862238711852681324176277957650453757700318456935076912389008146023697593592251541700501471597735453349124200353115854560570344126297312041364960218977642139140550428365558734631323434762065503128865378832819329873792202013698909155859209300987910910964336468845455856771369421386781871651457056240272291463451098286967073357568321474742101660546437049629536742334584562881822940213154261125357530050428716893807265036080590737274101874465597490300732418878507060284675973633656349944090150357474954477579794984756206000250801417935869100144256311804689055845282307096462823928232521735947012660652302012401119335433402472301767820286002334672693039127941382467477890241583964521924223282093995391383278529693814328652383517870282788302051808792978576343924373539197338295400021729153301746059426994719513867181940082302366753697326673999214039630338488197141463918831461399371365993284555142126981432348748886168813028364229656474288803732932917483425290541087217601657679118708161697398621972132019744800380174096549448880457046912883208331909878724469958320403175879895802643117935243425268757835358246506000616762354170397620017825027395098140059003809566097463970237709626864804467722193413622243099591901340950626845863232795516912126448275783316816291586717742910142505134312628169697962003429060866854886571872882533763991827406779613462656371148664676455241771882457844546859164928319446585352252857800739054129264071878191857563051652643314343384152427081904758939461754128592737488062511021863228571633619559784914208149611215452780760654747502380403 267427808472047982879946976414174120393015431498788109755978773091108406935344269255895184528251799492798513269166357396112250653949966460330079879023100778427705896355006459009321183378169766083199476785864582309605050066890373376612102151639734656133862288595265344470560361422724819480566257826584154687977807455579154215278773194162868169566284494292413398881038786774302481275650585302796424916802334188205373641468498395034081728269967536175715903626896649552427838728590207600755745810840996998068650435865805291965681522501052590007759446043913406595041946792662356994968074339486795454656380615665981736084202250586929908712016366185080828271109536696978935284372073724220917599600362965776041774098079781463701137026625787577551875536769810080865227943350910995779187868227460336363735302772994973361104297682766872913881006772520159778305230339106413064888337638047500685504054187810134721593693337007992553718358578660489451979397209685659970610031079558930785338471007255410246169788790500748720665013951243214189049691001389585914032500803477700948723943796492593990299948428877387462583314618774406473363162258479926702231097470437415070951634794434663299040571601771596310693205352646487464620282495729606228269111148528439501236118913767703405172071136081869440828356293558093897914242581436248598204896536346971996864698909345231273350300910763185680000637670491686260368430796617644631643998780328042452947089738520763457227497806061886380453962225435155755940201611231701154429426541142853717993278172557145767137152131253112018497233106327092805717953316138805636697052918685333329071582767714910708906318453286789182452485838147310711076601835827606890934774041723436880394600691632016791339721363273995315585484971591264763941950035426290746954560619036933849916546651917445398287748026624590125627070417323243466121399568219417930865289372859811894313569011710042486762604485070017687092568097788275127576633897633948303353030295666247913497534772167028663509747693054038768110168276804540641329960986630803482606506090297689283314375653389807998745719261793317618057105587700829366935741582180229642950562483676293046864758330718817384252024524980218579471049123954269558330864614682516640056481634633994332247612514832669848797162194363536191658358521931722995469318615244665288295673812009121893519235700222567921363995334311664379770156271456009019806157423020892869417260944276185135641749768782692271921412520367775332903342881931408115950238560261332369777737214832418050310679588979451728274845233097972030461778408043961544936527881320157189812155588032795987976218076102638676510334447609167261743082051556977543350299074667230244368409058330302586624531111711499034003744426227636576909852149372513119637521267605181832332191515174444254631566869611488284794895635945341030964271228123273350757612417117789743063447879472551718349998104215245035666155552456558134792651079869588479486571943063635266454282115847206053361415348408612716417742128053042111688477718274348027461343342847534003312087387235794087573816134073451164123819296104680590744263588758726778564892751501726820703252758387649439249726478386483813217974317793004244736837719919481149837926448536233750386956761869730583564487832494951199076542067241023601321700011626109996810135587270771144691363496218254767854694321355140290168352186997495589328682985882606059336081030795390814829031904720289099345246350839682380168820542544720264464467329489094641674488070281513456122476558208743018962690473843212208688442830573416062538282129200995780359454292949667361151727427450874352539022201409380012691018905513707375059890383981525196570640645005081211409780819538436536136659814101629411347409719394109606879905679 432707283644670720106428074603069006701351103995253078558658683313458926208966067867910961866743298706025455111278413772831136645510007568574690067033203276701987333984482124266247450558334857615647621097845812490440655877164384565691417548034607188843508554003876326258431369846251785359842205311269437283772665484391990220376954705394482185269816909175744618804196437740115114185597251977574987536793584661129476690017149089895224501564802327386383274249480533990175201981257461669252161158205682016899720036331071749395319053938552917522054791096028612582947609897074064272524974829327341643403107565580554337652433000323298584339658525858034955158162714328579822851150503115025011636519298062797359503879694920823083267950262607047109376109161991991570073067820090183201283845985382688053432657188239586540710136788010048383780701154721983342904309072647656157669063679508401972747874239624681367102353297888349714273201025032274302364538772023300683383515109603147725264749759255127863269727245499702196455858767825685702034742097388876007285101426719643224942025107489582204051214086063438617588443962380880410709504293563389710711102169752507980469960485401717623687441422642382139804066714252092684569427575450994879439500983758376767454536851309476317075897423322849394834041750324979490039028684408451123074565346545703598118440064791126696361797357263826987493650649751775624909265939768079751328847927288292313703570886491114282768044905723497144411017271351397134947365649291487084163115422678774786960784173991124670001904862168355858381128336701402413950588784669559498556863768977440084650236185989074546450245760940554016692962952614124377771097049091127217529354116443802001755435263435636395720294633504606348065115094932862908459117886635710271781758049361847700867422731155222278341731716384179287765879874609416042804504220681300321888469148044511844084504910574226946481571374003249317435096622503018131945301153578721127508939725043332164618406454598606571371551613697616128928227176294459215890595616326379310166350475306681000023658529992480999580367660143404500648846868224914967640147126963836425289082456540539643857458777248787246490736377661542755749006774408027258649321549759429029064627658331587924499154215334141446532615543487736544774213082502067121766630656609625507273315951149672321884794434853891356126060837440529758602975601329801221819856332176752078718248855187149472110595224639463641342799302239426789959583154222871567048525527334689938099211956934078596747729218516194062859408114920912243616039533401491595365244775127422225892746325306897862441815566403371095388841507893843235376738401501067693707774029144810039353165264330553388042466980811643290315549115283481859216948612196441352159257214617842484634203916293779688034039171379308570797230308638380158905653695601163592341576939042013025157443270855830248043812432867628553536438340758609943585629656213512853025769281359035288183435417593265480356134862275794656500044494806739438362476932313978365949540484311452834773486758601787372128958261054883512872705464917708954973920063047530511497810234927017361790470360045328557957888175785105785349994062593384418833387168799938196750809656868143629111426720190133759444383635138069134319967335998858959568206012242872350980533207288596172086461636277258577420791785325377999795216991465217782742305228982197960677031657641254047624548816846737375128563167131269097911730685049854577092637027451098070735354925168085329005010322200570425742303936499583357353119285815187944996126676060160708678900878301920218952466481580138424417214058972431665334333248897859802141795142920986950699233382493143722431644048110070155696444728309779022562862500154764354382286082 700135092116718702986375051017243127094366535494041188314637456404567333144310337123806146394995098198823968380444771168943387299459974028904769946056304055129693230339488583275568633936504623698847097883710394800045705944054757942303519699674341844977370842599141670728991731268976604840408463137853591971750472939971144435655727899557350354836101403468158017685235224514417595461247837280371412453595918849334850331485647484929306229834769863562099177876377183542603040709847669270007906969046679014968370472196877041361000576439605507529814237139942019177989556689736421267493049168814137098059488181246536073736635250910228493051674892043115783429272251025558758135522576839245929236119661028573401277977774702286784404976888394624661251645931802072435301011171001178980471714212843024417167959961234559901814434470776921297661707927242143121209539411754069222557401317555902658251928427434816088696046634896342267991559603692763754343935981708960653993546189162078510603220766510538109439516036000450917120872719068899891084433098778461921317602230197344173665968903982176194351162514940826080171758581155286884072666552043316412942199640189923051421595279836380922728013024413978450497272066898580149189710071180601107708612132286816268690655765077179722247968559404718835662398043883073387953271265844699721279461882892675594983138974136357969712098268027012667494288320243461885277696736385724382972846707616334766650660625011877739995542711785383524864979496786552890887567260523188238592541963821628504954062346548270437139056993421467876878361443028495219668542100808365135253916687662773413721818953703985255356564214227343199145448790761435088847698884918734108464128158167238882150035955067653187060015996778601663650600066524127672401067922062001018736318668398781550783969383072667676629479743008769413392950291932659508925903788900718252753758520904323738398073922284269433244175859073267004527664720291293259521935051212669430861970020709580078115941226765635234881299306751654897038395453098999857220556602957182792772856565604370283338034183382288998326086921936722118705952455925744334575888709144066068239644940216832690722217107967604630742760902641761335220055898362296816980186164441945669121109292965582256746766730166811295329777737851272736432571604433790117235949271854290795568989763158794215404030135076459277490056171752194138373131872785810241626013755197644948135509799463334607752344993422155913264211822607202122862926036154279682998764087596022307876949171766496647058408807495645791134253348018884274077817941445453140301772656447579415704901913339693850418033642506009771899175955503010497119820453058045237058073103812040283721574322660855974666998092523142324319293541511118436126800761568954471796778482223024316966395431468223942665606040990796855592125944583721189869924923724436943099189356159802768220891150328381966393810537082873589202593893215168078378280736083101332512341224422670554637717533440471533717550210684407372917786622859781550050954650588326393410883827158986838085574145837581459702774395128334676996524761022389545718183651806257290062702986428744182493723118432977997207614654171589598567968380386388663570224888719419346588736105404377379498383482059864343008871467633020333396509403239882560889906023868982347790668794559367316777825132495513345275486106680518289963569178462713372070988214864804020013112688436644862453580721567026474473809517970951478080551227594574841557104356940192712409842995449598785127486880409313444704994410342795566041562116388604007534408805261156489038355171251587580104193909031012776956236260381811678025352154411567177201685526902512147269874027498224933841424867648506691833104542411408433910272219548873961262191761 1132842375761389423092803125620312133795717639489294266873296139718026259353276404991717108261738396904849423491723184941774523944969981597479460013089507331831680564323970707541816084494839481314494718981556207290486361821219142507994937247708949033820879396603017996987423101115228390200250668449123029255523138424363134656032682604951832540105918312643902636489431662254532709646845089257946399990389503510464327021502796574824530731399572190948482452125857717532778242691105130939260068127252361031868090508527948790756319630378158425051869028235970631760937166586810485540018023998141478741462595746827090411389068251233527077391333417901150738587434965354138580986673079954270940872638959091370760781857469623109867672927151001671770627755093794064005374078991091362181755560198225712470600617149474146442524571258786969681442409081964126464113848484401725380226464997064304630999802667059497455798399932784691982264760628725038056708474753732261337377061298765226235867970525765665972709243281500153113576731486894585593119175196167337928602703656916987398607994011471758398402376601004264697760202543536167294782170845606706123653301809942431031891555765238098546415454447056360590301338781150672833759137646631595987148113116045193036145192616386656039323865982727568230496439794208052877992299950253150844354027229438379193101579038927484666073895625290839654987938969995237510186962676153804134301694634904627080354231511502992022763587617508880669275996768137950025834932909814675322755657386500403291914846520539395107140961855589823735259489779729897633619130885477924633810780456640213498372055139693059801806809975167897215838411743375559466618795934009861325993482274611040883905471218503289582780310630283208011715715161456990580860185808697711290518076717760629251651392114227889954971211459392948701158830166542075551730408009582018574642227668948835582482578832858496379725747233076516321962761342794311391467236204791390558370909745752912242734347681364241806252850920449271025966622629393459073111152219283562102939207040911051283361692713374769997906454582080126619354799324150659302216035836107902493528727396757372334579675885216391877233497280303304090969062672770324075629507714201374698185736951297170181245920945500952741862393281339009281206784686935857239002579928463916302842305714308466537288824569930350633616117009192723896976107474115611463445870087374397026853758654650484079862940218061619554607011124846628912822509190377151250047289614930712245976161128700575243806138026011839853993661462939796517693857474846944735667017431575001641597648238646591712859849208909380867288017463396853732496558854559112930765847132956850323074739586991409362709465073334785614634842656794600295343749373765395823956035696840866801600599347762003630699645212370105426389356253222101348775578619325600535440766295201815793378334421184212214437622969950502142739032233973778021963910392296614185538110505781705842821152951033737014073685072960202029417831117666520988413431582902304759360424311470439672859060904439368831831732656183218189869230225940098500692103714853787801560513221355761544284193478478306555165502829956695383917962442979773082403612057519357543339545762272521008609810202249998102453255102771089467716476739238741520458112036111854698771202001847963488864286768772771922696277892005896289758786169927931154813293443847001980690144346077898910078129538413763849602372685102220575992281912644429418649741384391290783145197920617684114132497202609883870447298346842378923394681402203791952530535481321317197717256049553507799056660390611151201373450319354243343359685403309426979343480669823499097969107409991368656273068915758576847529549270721187456473134719703638315644477843 1832977467878108126079178176637555260890084174983335455187933596122593592497586742115523254656733495103673391872167956110717911244429955626384229959145811386961373794663459290817384718431344105013341816865266602090532067765273900450298456947383290878798250239202159667716414832384204995040659131586976621227273611364334279091688410504509182894942019716112060654174666886768950305108092926538317812443985422359799177352988444059753836961234342054510581630002234901075381283400952800209267975096299040046836460980724825832117320206817763932581683265375912650938926723276546906807511073166955615839522083928073626485125703502143755570443008309944266522016707216379697339122195656793516870108758620119944162059835244325396652077904039396296431879401025596136440675090162092541162227274411068736887768577110708706344339005729563890979104117009206269585323387896155794602783866314620207289251731094494313544494446567681034250256320232417801811052410735441221991370607487927304746471191292276204082148759317500604030697604205963485484203608294945799849920305887114331572273962915453934592753539115945090777931961124691454178854837397650022536595501450132354083313151045074479469143467471470339040798610848049252982948847717812197094856725248332009304835848381463835761571834542132287066158837838091126265945571216097850565633489112331054788084718013063842635785993893317852322482227290238699395464659412539528517274541342520961847004892136514869762759130329294264194140976264924502916722500170337863561348199350322031796868908867087665544280018849011291612137851222758392853287672986286289769064697144302986912093874093397045057163374189395240414983860534136994555466494818928595434457610432778279766055507173570942769840326627061809675366315227981118253261253730759712309254395386159410802435361497300557631600691202401718114551780458474735060656311798482736827395986189853159320880652755142765812969923092149783326490426063085604650989171256004059989232879766462492320850288908129877041134150227200925923005018082492458930331708822240744895712063606515421566699726896757058996232541504016848738060751780076403636791924545251968561768372336974205025301892993183996507976258182945065426189118571132620892609693878643320367306846244262752437992687675667764037192171019190282017639356291369647356238529200318207098411295477467260752692854705006809911106173180944918035349239346901421705071883842572041974989268454113818687615285211483775467871222947453831035685435226531430933046053702526734553853110300467071890864546833507485645127914810958680791771675416292397875968790088022581057302550151986285563277882851415390639187193418899864229616379307617158167823920236768890606796313909652265337376463165857927938954136198305718731470550135334350295752814179063891118566994779230227573365251253360902281981482197805822538645503543050037478539955651361618561599225571512594180831433507033375731941626127188946100342191128379715518050451730204376397458870484474208547791235283644609402335617740526302538464386233490631152771308138629426510944635050276950291534507051311552866865754986962488046410287366660045091623216207784505726777916596911284552373117484128284982485930823366161745973836946238776889928281867676898388108193684309862445462126570404109801112986142478624081348018059980837046561870796407330805642111901268285267971763998686414579722355348390644526884281658711806000703257034514543772531710259980790324076182203073172054072833140239004260206845741331483495555040916067282899259984083019197315152292757185174489436243518592395960064944286582473686755611220805095379160854299642163978329686579736055021385037557720994156545166196726011245238981437489593590114493783407083539362653813132595890383406939252512276906669604 2965819843639497549171981302257867394685801814472629722061229735840619851850863147107240362918471892008522815363891141052492435189399937223863689972235318718793054358987429998359200802926183586327836535846822809381018429586493042958293394195092239912619129635805177664703837933499433385240909800036099650482796749788697413747721093109461015435047938028755963290664098549023483014754938015796264212434374925870263504374491240634578367692633914245459064082128092618608159526092057931148528043223551401078704551489252774622873639837195922357633552293611883282699863889863357392347529097165097094580984679674900716896514771753377282647834341727845417260604142181733835920108868736747787810981397579211314922841692713948506519750831190397968202507156119390200446049169153183903343982834609294449358369194260182852786863576988350860660546526091170396049437236380557519983010331311684511920251533761553811000292846500465726232521080861142839867760885489173483328747668786692530982339161818041870054858002599000757144274335692858071077322783491113137778523009544031318970881956926925692991155915716949355475692163668227621473637008243256728660248803260074785115204706810312578015558921918526699631099949629199925816707985364443793082004838364377202340981040997850491800895700524859855296655277632299179143937871166351001409987516341769433981186297051991327301859889518608691977470166260233936905651622088693332651576235977425588927359123648017861785522717946803144863416973033062452942557433080152538884103856736822435088783755387627060651420980704601115347397341002488290486906803871764214402875477600943200410465929233090104858970184164563137630822272277512554022085290752938456760451092707389320649960978392074232352620637257345017687082030389438108834121439539457423599772472103920040054086753611528447586571902661794666815710610625016810612386719808064755402038213858801994903363231588001262192695670325226299648453187405879916042456407460795450547603789512215404563584636589494118847387001147650196948971640711885918003442861041524306998651270647426472850061419610131828994138996086096975357415551104227062939007960381359871055297099733731577359881568878400388385209755463248369517158181243902944968239201592844695065492583195559922619238608621168716779054564300529291298846140978305504595241109128782123401253601191775727289981679274937160544722290190137641932325346821017033168517753929946439001843027108764302767478225429545395022478234072300459948507944416908582183093343317457446799829271429167647134670684859519325499121576273898477309465532891139342611635807519597582698900198390632877276137732060324771506475210882296717962112938162176271098589767369725740929871053496643674700085928239192713553588978855100319026814299509099746119708849875904757920167594126992231204064896465731007708370838451027923887421082162375638013980721946563434354977559992696806395269056476983877874680658361162724122306101520676329703588562235986082240280023435507945561864920356604811431753448858192823526877817816392935912131732450099866183803695954716319123366239707494771056734985212902586547102391081513832893183729429140267271062110075389591107538620314084980366403893266345934828377449003758134433267827629949419396718003886559860547915381673175199268829462881717365601806130096092691745333072798255294294506398670041057190668041890692310869481141518318575681697575102558807981393401380592442682609839798394554173678554888175392630065115052883433678856587125722774278700238836684967013392481285629081185599591104027553412830924920796187912595479767903790884472867270358603178217514690253315179703136899090298364744722961030421135888646866549510343208088847480962246387562699165660386892203083853783346856541658956150592551147447 4798797311517605675251159478895422655575885989455965177249163331963213444348449889222763617575205387112196207236059097163210346433829892850247919931381130105754428153650889289176585521357527691341178352712089411471550497351766943408591851142475530791417379875007337332420252765883638380281568931623076271710070361153031692839409503613970198329989957744868023944838765435792433319863030942334582024878360348230062681727479684694332204653868256299969645712130327519683540809493010731357796018319850441125541012469977600454990960044013686290215235558987795933638790613139904299155040170332052710420506763602974343381640475255521038218277350037789683782620849398113533259231064393541304681090156199331259084901527958273903171828735229794264634386557144986336886724259315276444506210109020363186246137771370891559131202582717914751639650643100376665634760624276713314585794197626304719209503264856048124544787293068146760482777401093560641678813296224614705320118276274619835728810353110318074137006761916501361174971939898821556561526391786058937628443315431145650543155919842379627583909454832894446253624124792919075652491845640906751196844304710207139198517857855387057484702389389997038671898560477249178799656833082255990176861563612709211645816889379314327562467535066992142362814115470390305409883442382448851975621005454100488769271015065055169937645883411926544299952393550472636301116281501232861168850777319946550774364015784532731548281848276097409057557949297986955859279933250490402445452056087144466885652664254714726195700999553612406959535192225246683340194476858050504171940174745246187322559803326487149916133558353958378045806132811649548577551785571867052194908703140167600416016485565645175122460963884406827362448345617419227087382693270217135909026867490079450856522115108829005218172593864196384930262391083491545673043031606547492229434200048655154224243884343144028005665593417376082974943613468965520693445578716799510536836669278677896884434925497623995888521151374851122871976658794378376933774569863765051894363334253941894416761146506888887990371537590113824095476302884303466575799884926611839617065472070705782385183461871584384893186013646193434943347299815035565860848895471488015432799429439822675057231296296836480816246735319719573316485497269675151951479638329100330499664896669242988042674533979943970455828463371082559967674586167918454873589637772518480976832295562878121455093510641029170490349457019754290984193379643440013116139397019984181353682381729634719025535231693026811144249491084857158101237208307431740487604597607620163756202748542619162839415614911740162145662404301196582191729317469793429266413687606494631536667367406295940037462391405050641492543115053406037758284849644434096415461664054968649038734588906222458777430147719091909990352320648833746426066585705425675492520677597925052916576785564209400576100489984017253606622284488351670222648292649056045221639013966190458637738893919982154109656155640249420834089066598719126065342204049883567064903040588729292694748331004993269414900746758806323923600740199865074593512678448173877984806945636924772997840026672300875659911737798213265348889824089712096574351285949996911323196109497626317784826197570869722993377508243579309069942449024195989683154148156073528791894943594662625100148510571309342458639805889378725449203496866709220208581856761270613982096658415106986455141550058375344497754737091248564684137948193122437939063432867054257774255279752752249912652465368648278500751883861212727902267168439388583872660424054486264571228478491163698557378368989895479158032823478826353386129760518751415292433813063275521588447070284970555836502056482572743926254856896986379237239948598208662869457817051 7764617155157103224423140781153290050261687803928594899310393067803833296199313036330003980493677279120719022599950238215702781623229830074111609903616448824547482512638319287535786324283711277669014888558912220852568926938259986366885245337567770704036509510812514997124090699383071765522478731659175922192867110941729106587130596723431213765037895773623987235502863984815916334617968958130846237312735274100326186101970925328910572346502170545428709794258420138291700335585068662506324061543401842204245563959230375077864599881209608647848787852599679216338654503003261691502569267497149805001491443277875060278155247008898320866111691765635101043224991579847369179339933130289092492071553778542574007743220672222409691579566420192232836893713264376537332773428468460347850192943629657635604506965631074411918066159706265612300197169191547061684197860657270834568804528937989231129754798617601935545080139568612486715298481954703481546574181713788188648865945061312366711149514928359944191864764515502118319246275591679627638849175277172075406966324975176969514037876769305320575065370549843801729316288461146697126128853884163479857093107970281924313722564665699635500261311308523738302998510106449104616364818446699783258866401977086413986797930377164819363363235591851997659469393102689484553821313548799853385608521795869922750457312117046497239505772930535236277422559810706573206767903589926193820427013297372139701723139432550593333804566222900553920974922331049408801837366330642941329555912823966901974436419642341786847121980258213522306932533227734973827101280729814718574815652346189387733025732559577254775103742518521515676628405089162102599637076324805508955359795847556921065977463957719407475081601141751845049530376006857335921504132809674559508799339593999490910608868720357452804744496525991051745973001708508356285429751414612247631472413907457149127607115931145290198361263742602382623396800874845436735901986177594961084440458790893301448019562087118114735908152522501319820948299506264294937217430905289358893014604901368367266822566117020716984510533676210799452891853988530529514807845307971710672362571804437359745065030749984773278395769109441804460505481058938510829088097064332710498292012635382597676469904918005197595301299620248864615331638247980656546720747457882453900918497861018715332656213254881131000550753561220201899999932988935488042107391702464919978675322671642424222571736070574565512827691092054750932701324060348595299232740337441628153511653158802366160205916552546136643371067358755635410702741198571083099240405127217746455102946933252040115553346972064933652137615183493300153842255631969700365003454976220372466538420902939614737548319644243355046132093908506356785099149153533842535170513930873406958902183033214689981495044184822917698723159099861670313487667867801313506501399544488487271554345556906206971369546461001131481302942849514394344954394169732374925227576202176540878018917355490099671521075996854232265842515456911949592220021866276502977034773038829158878552026959709588538266986466301094980335725412767661140615069529687710877990675066065040268902136747690466767450358112298245715293717356058031402728734953755045756463937127575737181544201457429583541292889916754508338771911905913355284960278252166220537228016392917919394654909241350399649307847780071036318684638385027795890279431863829421963490059795699429137751389856769898671433291979423957314203063246005871617920019992777032052955518589437216926044946654277359686351474965240281315098093360184771785255903822390055455701345761522301735595883680148794337735960377916651750874483479781836428322459929825031931655159132451518082889619181738404313147059980840162584096490257164813462008964498 12563414466674708899674300260048712705837573793384560076559556399767046740547762925552767598068882666232915229836009335378913128057059722924359529834997578930301910666289208576712371845641238969010193241271001632324119424290026929775477096480043301495453889385819852329544343465266710145804047663282252193902937472094760799426540100337401412095027853518492011180341629420608349654480999900465428262191095622330388867829450610023242777000370426845398355506388747657975241145078079393864120079863252283329786576429207975532855559925223294938064023411587475149977445116143165990657609437829202515421998206880849403659795722264419359084389041803424784825845840977960902438570997523830397173161709977873833092644748630496312863408301649986497471280270409362874219497687783736792356403052650020821850644737001965971049268742424180363939847812291923727318958484933984149154598726564293950339258063473650060089867432636759247198075883048264123225387477938402893968984221335932202439959868038678018328871526432003479494218215490501184200375567063231013035409640406322620057193796611684948158974825382738247982940413254065772778620699525070231053937412680489063512240422521086692984963700698520776974897070583698283416021651528955773435727965589795625632614819756479146925830770658844140022283508573079789963704755931248705361229527249970411519728327182101667177151656342461780577374953361179209507884185091159054989277790617318690476087155217083324882086414498997962978532871629036364661117299581133343775007968911111368860089083897056513042822979811825929266467725452981657167295757587865222746755827091435575055585535886064404691237300872479893722434537900811651177188861896672561150268498987724521481993949523364582597542565026158672411978721624276563008886826079891695417826207084078941767130983829186458022917090390187436676235392791999901958472783021159739860906613956112303351851000274289318204026857159978465598340414343810957429347564894394471621277128069571198332454487584742110624429303897352442692924958300642671870992000769054410787377939155310261683583712623909604974882071266324623548368156872833996090607730234583550289428043875143142130248492621569158171581782755635239403852780873974076689936992535820725931091442075205272733701201214841678411548034939968437931817135517655808498200385786982784400583394530261703375330747234825101456379216932302761867674519156853942915697029474983400955507618234520545677665246711603736003177148111809041916894703703788608415372137357425809507194034888437085185741148245572947787620558443612793511939949506002823586845002734837910211305695475871202954968961883805095797800019484689882345571573101763129631417142582715004003205788309235554775010711049293996538675208961912394543383998797967938950632177985842055997636771939437148758925191903914827689075479748695416739554253573226988999022077142413540188131131121115607547470036445018385087925227337866064567602686818788420146866590168366999515757811275472253781177231637103653099931582055631075657562225916160070041937813627558451573300357964702857953167733225107418903936465612632735734127747977861588862797620702989813266742163419991342427362095910511511064183541445770127977080020903751957079660046625202054966370399028299306534670398160333817408714360930109344968114426408239749329122959987580544494803419812659742107947653669449761767888135251737016098861288625100035945586718210806415592892939915145243169188029070672521998341011439128309556983452859831289827210798342189466838697412022925638187103358826453009217365261799573355657916327876876320026929824252686000292974252670044273495768783856743005137004243998533251720756272993100553520102229417422073919391675664311148239401916877826541821336438855373476331466781549 20328031621831812124097441041202002756099261597313154975869949467570880036747075961882771578562559945353634252435959573594615909680289552998471139738614027754849393178927527864248158169924950246679208129829913853176688351228286916142362341817611072199490398896632367326668434164649781911326526394941428116095804583036489906013670697060832625860065749292115998415844493405424265989098968858596274499503830896430715053931421535352153349346872597390827065300647167796266941480663148056370444141406654125534032140388438350610720159806432903585912811264187154366316099619146427682160178705326352320423489650158724463937950969273317679950500733569059885869070832557808271617910930654119489665233263756416407100387969302718722554987868070178730308173983673739411552271116252197140206595996279678457455151702633040382967334902130445976240044981483470789003156345591254983723403255502283181469012862091251995634947572205371733913374365002967604771961659652191082617850166397244569151109382967037962520736290947505597813464491082180811839224742340403088442375965381499589571231673380990268734040195932582049712256701715212469904749553409233710911030520650770987825962987186786328485225012007044515277895580690147388032386469975655556694594367566882039619412750133643966289194006250696137681752901675769274517526069480048558746838049045840334270185639299148164416657429272997016854797513171885782714652088681085248809704803914690830177810294649633918215890980721898516899507793960085773462954665911776285104563881735078270834525503539398299889944960070039451573400258680716630994397038317679941321571479437624962788611268445641659466341043391001409399062942989973753776825938221478070105628294835281442547971413481083990072624166167910517461509097631133898930390958889566254926625546678078432677739852549543910827661586916178488422208394500508258243902534435771987492379027863569452479458116205434608402388120902580848221737215218656394165249551071989432705717586860464499780474049671860225360337456419853762513873257806906966808209431674343769680392544056678628950406278740930321959392604942535423001260010861364525605415575542555260961790615679580501875313523371553931449977551865077043864358261932912587519025089600153436429383454710587870410171106132846876006849334560217302547148773765636465044921133244865238301501892391280418707986960489706232456929970493522963767674452145789430957804421177448320934182940906162969900236982782178301516004839203863792849596027764137203714604877694867437660705688047239451345947064798119084430991625802368428922642690704573906686085407862055656666408642409123243070522308855870029449937634668183182499413828733732829996420597558935376469744209212175169512559030693537351584807302870418751328483147951501781485802691916715462956538954972651838740420236088737745387798638848557087053041921441028302505523476686902027459685476678021814518839582906019516569228170187380458912557080988520795072094166370543540393776728630962353452698307633957885365774097512543025249782247782436573018972586666387610451852384924412446491434719691408513884272191025400396874742817507549299740788295769054853535644300167681809194812454022809756779477258801828159379808755857507002836123983752777792147914600485728890075963288077088325747486272836022700253074704660405969866350976380498463889458329054010141757255501449520798086572773636764811989140720488929457909076778006505844730644329771915141840621321050096479312544074685134181174903472852608321880166316931626683764742358677202997873454833791693290532463355159758127443172231699266375482631170014208302028570136350193067833504744234659656887878727478315088149078732922925585451757388549873592002281294846049552552548976858666704405432929112538289793475746047 32891446088506521023771741301250715461936835390697715052429505867337926777294838887435539176631442611586549482271968908973529037737349275922830669573611606685151303845216736440960530015566189215689401371100915485500807775518313845917839438297654373694944288282452219656212777629916492057130574058223680309998742055131250705440210797398234037955093602810608009596186122826032615643579968759061702761694926518761103921760872145375396126347243024236225420807035915454242182625741227450234564221269906408863818716817646326143575719731656198523976834675774629516293544735289593672817788143155554835845487857039573867597746691537737039034889775372484670694916673535769174056481928177949886838394973734290240193032717933215035418396169720165227779454254083102285771768804035933932562999048929699279305796439635006354016603644554626340179892793775394516322114830525239132878001982066577131808270925564902055724815004842130981111450248051231727997349137590593976586834387733176771591069251005715980849607817379509077307682706572681996039600309403634101477785605787822209628425469992675216893015021315320297695197114969278242683370252934303941964967933331260051338203409707873021470188712705565292252792651273845671448408121504611330130322333156677665252027569890123113215024776909540277704036410248849064481230825411297264108067576295810745789913966481249831593809085615458797432172466533064992222536273772244303798982594532009520653897449866717243097977395220896479878040665589122138124071965492909628879571850646189639694614587436454812932767939881865380839867984133698288161692795905545164068327306529060537844196804331706064157578344263481303121497480890785404954014800118150631255896793823005964029965363004448572670166731194069189873487819255410461939277784969457950344451753762157374444870836378730368850578677306365925098443787292508160202375317456931727353285641819681755831309116479723926606414978062559313820077629562467351594597115966383904326994714930035698112928537256602335984766760317206205206798216107549638679201432443398180467770483211988890633989991364839926934274676208860046549628167734198521696023305777138811251218659554723644005562015993123089621559334620712283268211042806886664208962082135974162360474896785793143143872307347688554418397369500185740478965909283292273543121519031848022702085286921542122083317707724531333913309187425825725635348971302643373873501450652431721889690559140683515577902229493782037519181987315672834766490731467925812129977015052293247167899722935676536531688213043692032218612184245981222434582640210576730272930410596893566877714337884994446025491270739675125247737654152873064844985401835495959627837740141650380472949997521410724287569741742831348123482511832331145871867146749469720436434869902557518954175726912088987499345427992652573076874118597252503792596175014255291504545553829315567647816607799137422066309619351037901657153397525246523480159767807309215218960756538910539909534539906434607233875539271061538465705679568174100907344473698596643060910400293946062025152742889115304444602452916515932788208656638033132608870565485410888603585916472044666802386463587673151622174549933321267843660800247598287356888776761258959915784030377979847114284999514028196610633686237422143156200633766132045221189131068645719195473936368079008384261748866669883865203155118970559854460908888501828088002009114029493854663496217312260323537269687060385009809350120769001310885086124262490731886925712439611707377115273816150603439770700128636060558192618146299749828616959331483101088559576142695509560994266894302321544389020237341329273528091402662024882971476848339869835005916026138971859617967295665921672970510360700791950893736493246226769367967911766124942527596 53219477710338333147869182342452718218036096988010870028299455334908806814041914849318310755194002556940183734707928482568144947417638828921301809312225634440000697024144264305208688185491139462368609500930829338677496126746600762060201780115265445894434687179084586982881211794566273968457100453165108426094546638167740611453881494459066663815159352102724008012030616231456881632678937617657977261198757415191818975692293680727549475694115621627052486107683083250509124106404375506605008362676560534397850857206084676754295879538089102109889645939961783882609644354436021354977966848481907156268977507198298331535697660811054718985390508941544556563987506093577445674392858832069376503628237490706647293420687235933757973384037790343958087628237756841697324039920288131072769595045209377736760948142268046736983938546685072316419937775258865305325271176116494116601405237568860313277283787656154051359762577047502715024824613054199332769310797242785059204684554130421340742178633972753943370344108327014675121147197654862807878825051744037189920161571169321799199657143373665485627055217247902347407453816684490712588119806343537652875998453982031039164166396894659349955413724712609807530688231963993059480794591480266886824916700723559704871440320023767079504218783160236415385789311924618338998756894891345822854905625341651080060099605780397996010466514888455814286969979704950774937188362453329552608687398446700350831707744516351161313868375942794996777548459549207911587026631404685913984135732381267910529140090975853112822712899951904832413268242814414919156089834223225105389898785966685500632808072777347723623919387654482712520560423880759158730840738339628701361525088658287406577936776485532562742790897361979707334996916886544360869668743859024205271077300440235807122610688928274279678240264222544413520652181793016418446277851892703714845664669683251208310767232685158535008803098965140162041814844781123745759846667038373337032712301790500197893402586928462561345104216737059967720671473914456605487410864117741950148163027268667519584396270105770248893667281151395469550888178595563047301438881319694072213009275234304145880875539364677021071536886485789327132569304739799251727987171736127598789858351496381013554043413480535430425246704060403043026114683048928738588042652276713261003587179312822540791304668214237566370239157919348689403023423448432804831305871829880042823873500046846485478139212275960339035186826519536627616086759232063015844581892747160684828605410982915987877635277841811116649603810048349651357225330915150636959015818458949223544122980294117689096013579595545154697675288821056247344399230569228789624258337700585756942694206733585893800128772436368699708289814702749897200350294700971501922237561819272981910714681884740826239765664081390318464672757445809590845638096455283594010069030516217595107502084477159236585149202257057418226381567712626982392716848795830010291054922909454080303311268537396960686573846905019423831479777080717126157126721481033216079882986960333672477005127813527750936037172607924446672480847663433529483613382992960188344374212241099520338030763755354960816987003956131024623138059049426446736697532618765962751908014130757639262199599999757086686596974314510468903686906602154745474263835729051689061824912748577472273720077920680025622458656568491357941033682525266640077142729602958951763740274223818105054181599458975526850430671170865480623429160809396671906790398565047933587543432205442834368182129377331633934013026409839590282291972119089610544260791275409070992192164281102604350114525370430409162778272326062318912761698955163428018913738838951724423617006517169257923954265356410253344499870595159950632202297080450055918418273643 86110923798844854171640923643703433679972932378708585080728961202246733591336753736753849931825445168526733216979897391541673985154988104844132478885837241125152000869361000746169218201057328678058010872031744824178303902264914607978041218412919819589378975461536806639093989424482766025587674511388788736093288693298991316894092291857300701770252954913332017608216739057489497276258906376719680022893683933952922897453165826102945602041358645863277906914718998704751306732145602956839572583946466943261669574023731002897871599269745300633866480615736413398903189089725615027795754991637461992114465364237872199133444352348791758020280284314029227258904179629346619730874787010019263342023211224996887486453405169148793391780207510509185867082491839943983095808724324065005332594094139077016066744581903053091000542191239698656599830569034259821647386006641733249479407219635437445085554713221056107084577581889633696136274861105431060766659934833379035791518941863598112333247884978469924219951925706523752428829904227544803918425361147671291397947176957144008828082613366340702520070238563222645102650931653768955271490059277841594840966387313291090502369806602532371425602437418175099783480883237838730929202712984878216955239033880237370123467889913890192719243560069776693089825722173467403479987720302643086962973201637461825850013572261647827604275600503914611719142446238015767159724636225573856407669992978709871485605194383068404411845771163691476655589125138330049711098596897595542863707583027457550223754678412307925755480839833770213253136226948113207317782630128770269458226092495746038477004877109053787781497731917964015642057904771544563684855538457779332617421882481293370607902139489981135412957628556048897208484736141954822808946528828482155615529054202393181567481525307004648528818941528910338619095969085524578648653169349635442198950311502932964142076349164882461615218077027699475861892474343591097354443783004757241359707016720535896006331124185064897329870977054266172927469690022006244166612296561140130615933510480656410218386261470610175827941957360255516100516346329761568997462187096832883464227934789027789886437555357800110693096221106501610400780347546685915936949253872101761150333248282174156697915720828223984843644073560588783505080592332221012131164171308561283705672466234364662874622375938768900283548345345174415038372394751076178704807322482311764713564059187530001056041441769742376554368813835209462382577490699988827974558907799453931996505133918592524409323490885503148868215994294330873791807971125727367231946229055842790421837318179112135121504850335220279945412942973929312189384632404724749252096077842236137415644204254996618087698514179200047831772326535081043072217441450441222358672431721830500864890408796829813739111092074042891541546876043062094638234271469538885514614584345533162755318692276296658651458821608095319883534965237873505872876616603139225510015679448364620212845808443831567920449386176080962297185456648891227064471195179629859140793387254279734502157870702643055380639625524440379460689504301466662092483948478371076947960128713144187140417227343028112439161553889452292466798859297024734093586309380024922667692044508737486376484599513785283297230660551932612059887540368286790695452966797697408257298849116656480657981826787349909487661811687461917795494591413768468165144738716988445618403770441130365377718869146035911860240021291634481934314246933659162638677324277487545294920547479258984971621900077460269994571219027985890032120589078421093645349350851551766501753158547996906671658914390667750492051800417464980937644670432011767888748744754977863395476624484464923845627235866770954136450764331653196858971665048361822043360801239 139330401509183187319510105986156151898009029366719455109028416537155540405378668586072160687019447725466916951687825874109818932572626933765434288198062875565152697893505265051377906386548468140426620372962574162855800029011515370038242998528185265483813662640621393621975201219049039994044774964553897162187835331466731928347973786316367365585412307016056025620247355288946378908937843994377657284092441349144741873145459506830495077735474267490330393022402081955260430838549978463444580946623027477659520431229815679652167478807834402743756126555698197281512833444161636382773721840119369148383442871436170530669142013159846477005670793255573783822891685722924065405267645842088639845651448715703534779874092405082551365164245300853143954710729596785680419848644612196078102189139348454752827692724171099827984480737924770973019768344293125126972657182758227366080812457204297758362838500877210158444340158937136411161099474159630393535970732076164094996203495994019453075426518951223867590296034033538427549977101882407611797250412891708481318108748126465808027739756740006188147125455811124992510104748338259667859609865621379247716964841295322129666536203497191721381016162130784907314169115201831790409997304465145103780155734603797074994908209937657272223462343230013108475615034098085742478744615193988909817878826979112905910113178042045823614742115392370426006112425942966542096912998678903409016357391425410222317312938899419565725714147106486473433137584687537961298125228302281456847843315408725460752894769388161038578193739785675045666404469762528126473872464351995374848124878462431539109812949886401511405417119572446728162618328652303722415696276797408033978946971139580777185838915975513698155748525918028604543481653028499183678615272687506360886606354642628988690092214235278928207059205751454752139748150878540997094931021242339157044614981186184172452843581850040996624021175992839637903707319124714843114290450043130578392419318511036093899733711113527458674975193791326140648141163936462849654023160678882080764096537749323929802782531576380424721609238511650985651404524925324616298901068416526955677237210023331935767313094722477131764633107592290937533349652286485167664936425608229359940191599778555170251959134308759415268890777620991826531195275381149750719206823585274544709259645547187203665927044153006466653787503264523104441395818199508983536113194312191807537437559234376486534180654045702715589555640354746089998664249932051843819140800546614616825110544901508512286958768727314265517819804342680525149033302040878004190962047514792013965960298473229824217518429930765434643088231794985559533783862973953538876354415542821894358338410988582511887827286615568747540062141237830940272567736151412724280909993541103482775605090681570639978876756155433210006219633488871685483872367924822479524683614861750757862820776753455895236608023865152738109916532950500488265593465398969235801070602357818700516157076981228528607023233081100386128665233729608353221597916660663075220676374214613406979162998516170806316676798132364826133170351964900191576097331471331265292334340954243707478447991098383073256148557845583317089936918346451180830283841998790885419600058639495125638684199513542369983827634866443080963574446970441536169716802526749097319123761865233952931701904708029935110120468255953275736528273939035108242287468319947397382144044664948470431900468605011438710670692462499962557743407743055834545467722842535478882463979684701819339804029454791903928584245437825480314412561197510704189610142126960837493945322829099511021773439761098159654830072743527299850406369387175195907662483593929587819093631001634181769581501223181207480950634926813147491173962128811877961779074882 225441325308028041491151029629859585577981961745428040189757377739402273996715422322826010618844892893993650168667723265651492917727615038609566767083900116690304698762866265797547124587605796818484631244994318987034103931276429978016284216941105085073192638102158200261069190643531806019632449475942685898281124024765723245242066078173668067355665261929388043228464094346435876185196750371097337306986125283097664770598625332933440679776832913353608299937121080660011737570695581420284153530569494420921190005253546682550039078077579703377622607171434610680416022533887251410569476831756831140497908235674042729802586365508638235025951077569603011081795865352270685136142432852107903187674659940700422266327497574231344756944452811362329821793221436729663515657368936261083434783233487531768894437306074152918985022929164469629619598913327384948620043189399960615560219676839735203448393214098266265528917740826770107297374335265061454302630666909543130787722437857617565408674403929693791810247959740062179978807006109952415715675774039379772716055925083609816855822370106346890667195694374347637612755679992028623131099924899220842557931228608613220168906010099724092806618599548960007097649998439670521339200017450023320735394768484034445118376099851547464942705903299789801565440756271553145958732335496631996780852028616574731760126750303693651219017715896285037725254872180982309256637634904477265424027384404120093802918133282487970137559918270177950088726709825868011009223825199876999711550898436183010976649447800468964333674579619445258919540696710641333791655094480765644306350970958177577586817826995455299186914851490410743804676233423848286100551815255187366596368853620874147793741055465494833568706154474077501751966389170454006487561801515988516502135408845022170257573739542283576735878147280365090758844119964065575743584190591974599243565292689117136594919931014923458239239253020539113765599793468305940468734233047887819752126335231571989906064835298592356004846170845592313575610853958469093820635457240022211380030048229980340021168793046990600549551195871906501751920871255086185296363255513359839141465144812359725653750650080277242457729328698792547934129999833171083601885679480331121090524848060729326949874855136983400112534851181580610036275867713370762850370994893835828414932111781551866540549420091775366937335848609697519479768212950585162240920516794503572251001618421906487590222095815445092143924454189955552381241740632040671793699708346068548821615678820101036696282259612817414386035798637011398940841273166605371422908276570634804387797616652341959339023280265985714588501174768914871723168495378678288128450493385058031773982615243579129975525800794768795371834467772911983344785177601853946639582425262933983640495499478400453717987848229476101547766509531933780122106639394361365039298199207283920618139469029752553888066845473248057993451498188373994138470082002108461311086281806183320729002885425060096527472619257181348425850690378499580286069111840292934361469761468893141481320869218813861697316423656805205593859856266366853668581279949702342240294469667387894618865218441411185695310111735035609556735777643475914923870151378815808087292103148232612015168799027327653281058295418375693023461987338728326865169769324446505576422610981890433589683731495379844597782279943415193532022865352803576407432207036935843000547815106078835809619337751047350570910713754134444492057654676714997184145047120023024177384527163960804311425929532252173923155464465811370346533150275931797834959492978512603995698481377096417693432354151765910146881873160992280788051039819186963796411228348907451214570255486099105615208737089952161617401399258466344350145627177173700005139876121 364771726817211228810661135616015737475990991112147495298785794276557814402094090908898171305864340619460567120355549139761311850300241972375001055281962992255457396656371530848925030974154264958911251617956893149889903960287945348054527215469290350557006300742779593883044391862580846013677224440496583060468959356232455173590039864490035432941077568945444068848711449635382255094134594365474994591078566632242406643744084839763935757512307180843938692959523162615272168409245559883728734477192521898580710436483362362202206556885414106121378733727132807961928855978048887793343198671876200288881351107110213260471728378668484712031621870825176794904687551075194750541410078694196543033326108656403957046201589979313896122108698112215473776503951033515343935506013548457161536972372835986521722130030245252746969503667089240602639367257620510075592700372158187981641032134044032961811231714975476423973257899763906518458473809424691847838601398985707225783925933851637018484100922880917659400543993773600607528784107992360027512926186931088254034164673210075624883562126846353078814321150185472630122860428330288290990709790520600090274896069903935349835442213596915814187634761679744914411819113641502311749197321915168424515550503087831520113284309789204737166168246529802910041055790369638888437476950690620906598730855595687637670239928345739474833759831288655463731367298123948851353550633583380674440384775829530316120231072181907535863274065376664423521864294513405972307349053502158456559394213844908471729544217188630002911868319405120304585945166473169460265527558832761019154475849420609116696630776881856810592331971062857471967294562076152008516248092052595400575315824760454924979579971441008531724454680392106106295448042198953190166177074203494877388741763487651158947665953777562504942937353031819842898592270842606572838515211834313756288180273875301309047763512864964454863260429013378751669307112593020783583024683091018398144545653742608083805798546412119814679821364636918454223752017894931943474658617918904292144126585979304269823951324623371025271160434383557487403325396180410801595264323929886794818702354835691661421063744802754374222362436291083485467479652119656251266822105088560481030716447839284497201833989445742815381425628802572436567471143094520513569577818479110373124191757328739070206476464244781833591123351874220623921164031150094145777033711106695379788439177656282974124402749861147807733480094544701642379905990564092515612840508892683165646726223721609548983241028340131679903855602979691924089874575207483375613870324085426818353757915125571783556541710196751149231589406563900431256952358352631827004804908927879926132321026232161641863353087410337542911896609010742923617352913753266670920492418804037466416100590159971093696864604384909311553986143020805465605979007319183844563981814069034678480960245783208449124674869338400796103368031138874482404063547401077697112156884164002021245159962406288625134495852338281734554515924108107933507667028500956009582146135683506548460483867734984668013993221789170031727030208231267045244678611421033607532628810621631602097313209539794258951458669580618926646672695989927095754153993377606693506892161787727737653852998540870023264885930284818773987036434309169863034886571851195602895546372847124386521385636203409779707902748199368469268551139291838684649719675356883240382691859771027306241519806356058789281581406216634407049801062419770831729612769962558503059848506848662623651229958987044077851739709903636850660945711473442502024569635105473441489643804206195928715205793912864069801711945904519580638457409206362159704073711942837039033663886487733287384790238313133369098352034185279491841319589305985577966918951003 590213052125239270301812165245875323053972952857575535488543172015960088398809513231724181924709233513454217289023272405412804768027857010984567822365863108945762095419237796646472155561760061777395882862951212136924007891564375326070811432410395435630198938844937794144113582506112652033309673916439268958750083380998178418832105942663703500296742830874832112077175543981818131279331344736572331898064691915340071414342710172697376437289140094197546992896644243275283905979941141304012888007762016319501900441736909044752245634962993809499001340898567418642344878511936139203912675503633031429379259342784255990274314744177122947057572948394779805986483416427465435677552511546304446221000768597104379312529087553545240879053150923577803598297172470245007451163382484718244971755606323518290616567336319405665954526596253710232258966170947895024212743561558148597201251810883768165259624929073742689502175640590676625755848144689753302141232065895250356571648371709254583892775326810611451210791953513662787507591114102312443228601960970468026750220598293685441739384496952699969481516844559820267735616108322316914121809715419820932832827298512548570004348223696639906994253361228704921509469112081172833088397339365191745250945271571865965231660409640752202108874149829592711606496546641192034396209286187252903379582884212262369430366678649433126052777547184940501456622170304931160610188268487857939864412160233650409923149205464395506000833983646842373610591004339273983316572878702035456270945112281091482706193664989098967245542899024565563505485863183810794057182653313526663460826820378786694283448603877312109779246822553268215771970795500000294616799907307782767171684678381329072773321026906503365293160834866183608047414431369407196653738875719483393890877172332673329205239693319846081678815500312184933657436390806672148582099402426288355531745566564418445642683443879887913102499682033917865434906906061326724051758916138906217896671988974180073711863381710712170684667535482510767799362871853401037295294075158926503524156634209284609845120117670361625820711630255463989155246267435496986891627579443246633960167499648051387074814394883031616680091764989876033401609651952827334868707784568891602121241295900013824151708844582726215493960479984153046603747010807891276419948813372946201539123869110290936747025884336557200528459200483918143400932244100679308017954227901198952039440796078189461714624845676592899877404548734657194761147731196133187406540217238751714468341902541710585679523287952949094289891401616703323030715848374088747036778600656061622741555531777913742895564990462736863820090581332815302980120853731310115133255402312937957906303641475740771838878888205106338283731076783654906962138091355120617560074844066971450056596089638371547414852452614385413101752652552739245728085646713545209603280013276318599099099714812961003012741714811648854096819529327248476542533629403186158423243165970185341974162847831348721661968471595463082980366614486607513793736140341248943943615897152399689941804736953798529711309645445975237320890064497633898913259891370735949772923280289019496716178427981205444646768781315654536203408473633403010678024144756422501594184264935960349669021797568197676545944225703194467010498421647898189900056341175642108471968983829014820111069367698789624305685028142783662800574004644642261057151882393819083383239674877106142051139144107106139852492119970768851541858717096485828913757817082581527237233034012623427962655888519296251774895174369448221007478861749374299859529128083986045485342285583292346408638148064629979948593819065511861426508449025549123500484940291744490248234141973832392999998975403085530715753433443745836191465216483159277972058827124 954984778942450499112473300861891060529963943969723030787328966292517902800903604140622353230573574132914784409378821545174116618328098983359568877647826101201219492075609327495397186535914326736307134480908105286813911851852320674125338647879685786187205239587717388027157974368693498046986898356935852019219042737230633592422145807153738933237820399820276180925886993617200386373465939102047326489143258547582478058086795012461312194801447275041485685856167405890556074389186701187741622484954538218082610878220271406954452191848407915620380074625700226604273734489985026997255874175509231718260610449894469250746043122845607659089194819219956600891170967502660186218962590240500989254326877253508336358730677532859137001161849035793277374801123503760351386669396033175406508727979159504812338697366564658412924030263342950834898333428568405099805443933716336578842283944927801127070856644049219113475433540354583144214321954114445149979833464880957582355574305560891602376876249691529110611335947287263395036375222094672470741528147901556280784385271503761066622946623799053048295837994745292897858476536652605205112519505940421023107723368416483919839790437293555721181888122908449835921288225722675144837594661280360169766495774659697485344944719429956939275042396359395621647552337010830922833686236877873809978313739807950007100606606995172600886537378473595965187989468428880011963738902071238614304796936063180726043380277646303041864108049023506797132455298852679955623921932204193912830339326125999954435737882177728970157411218429685868091431029656980254322710212146287682615302669799395810980079380759168920371578793616125687739265357576152303133047999360378167747000503141783997752900998347511897017615515258289714342862473568360386819915949922978271279618935820324488152905647097408586621752853344004776556028661649278721420614614260602111819925840439719754690446956744852367965760111047296617104214018654347507634783599229924616041217642716788157517661928122831985364488900119429222023114889748332980769952693077830795668283220188588879669071442293732651091872064639021476558571663615907788486891903373133428778869854483743048495878139685785990902454201280959518869089304072483586135529889657452083151957743739298321353542834028469030875386108786725483171218153902411789989526631852056574663315626439030006953502348581339034119582552358138767322096275250773453794987939007894331827879973734472435839027595537740707610884643279358837141053721760225703019380726131434880115068126263320134662764316293080774193747004596395247120590423581572122650648924741488441095313446903485526452106700659488013051679987896715734237073212083941942138060311240817884038624667707902413702231975615443881195627685794397830579491005108387288480567262871008916472696679798342641111717056999294724655738795573544711334064654032729054167261827345353277580059960596169452137416584150049650200187560466122958946597176804263855535400050134187363219322810237637346796464323933744817534882538594715447301403168842204953525762032835906238402288604688783197725302867235145269047920272728900944157938502791769557305552090910651098813491637520999703598227450896273462850081169623330106432178138134029195101076426723688087322874796109067699810830155988013240997534855957068052934942913026837711367515356676139206632455003902199404013587776342152132069125143936480945706871557750702323765931534648133448292658950463164929134073526187403258591659779516256660643370587045140030297081540861286051613885847506340329626634884273085071668424573222816801884098763189459486974986089789488275123843941977494049750305764970031442064965858231911283204558652234581529281898028461565680384789213716218899814105467629025328032784805789144855938977778127 1545197831067689769414285466107766383583936896827298566275872138308477991199713117372346535155282807646369001698402093950586921386355955994344136700013689210146981587494847124141869342097674388513703017343859317423737919743416696000196150080290081221817404178432655182171271556874806150080296572273375120977969126118228812011254251749817442433534563230695108293003062537599018517652797283838619658387207950462922549472429505185158688632090587369239032678752811649165839980369127842491754510492716554537584511319957180451706697826811401725119381415524267645246618613001921166201168549679142263147639869792678725241020357867022730606146767767614736406877654383930125621896515101786805435475327645850612715671259765086404377880214999959371080973098295974005358837832778517893651480483585483023102955264702884064078878556859596661067157299599516300124018187495274485176043535755811569292330481573122961802977609180945259769970170098804198452121065530776207938927222677270146186269651576502140561822127900800926182543966336196984913970130108872024307534605869797446508362331120751753017777354839305113165594092644974922119234329221360241955940550666929032489844138660990195628176141484137154757430757337803847977925992000645551915017441046231563450576605129070709141383916546188988333254048883652022957229895523065126713357896624020212376530973285644605726939314925658536466644611638733811172573927170559096554169209096296831135966529483110698547864942032670349170743046303191953938940494810906229369101284438407091437141931547166827937402954117454251431596916892840791048379892865459814346076129490178182505263527984636481030150825616169393903511236153076152597749847906668160934918685181523113070526222025254015262310776350124473322390276904937767583473654825642461665170496108152997817358145340417254668300568353656189710213465052455950870002714016686890467351671407004138200333130400624740281068259793081214482539120924715674231686542515368830833937889631690968231229525309833544156049156435601939989822477761601734018065246768236757299192439854397873489514191559964094276912583694894485465713817931051404775378519482816380062739037354131794435570692534568817607582545966270835552270698956025310921004237674226343685273199039639312145505251678611195246369346588770878529774965164710303066409475445225002776202439495549320943700528232917896234648041752842056910723028519351452761812942166909093283867320769812661897553652441214333607488289192014016031902201452956358890425920943370186594583410028805030720342287604246029868483638406213098570151306271955660869687427525397550063836868978681399269347671691122224876871770569229531037217194065815252057271315713553755841944928309183643185541110863820550219479358762578052737541629096463507906040642106937980366529292769436714188526569509613680137757491448126283957062150300746274263770541840621671876679159675409130455150158298961698504297007089793371435489130806207450013958643216104372705193485658068986068458432795529207900515249153081322961095139309183453897469377929988305928344093341642581727436612512681120506368810337226534843071198394162505507078475371199670595529670065502205148244996232211927999053489643256733117110202282890451696695260691659648436991896593677265376356774381691207708008033277604966242834999254202479819839484340505154026743524371600989028319272804484935794869699148581123206764023440144521407149171209525239590343798094570271068986565646158172110133518496612742489557128404127721557534314574873909479576541736025636581401530058642533292675903434972191101743627891273445532460328375372780621532482090042124029698899584035543303491474307257460406705043592526326019530132170435398073384788189119304430529858901072771164224250022272304133911036605251 2500182610010140268526758766969657444113900840797021597063201104600995894000616721512968888385856381779283786107780915495761038004684054977703705577661515311348201079570456451637266528633588715250010151824767422710551831595269016674321488728169767008004609418020372570198429531243499648127283470630310972997188168855459445603676397556971181366772383630515384473928949531216218904026263222940666984876351209010505027530516300197620000826892034644280518364608979055056396054758314543679496132977671092755667122198177451858661150018659809640739761490149967871850892347491906193198424423854651494865900480242573194491766400989868338265235962586834693007768825351432785808115477692027306424729654523104121052029990442619263514881376848995164358347899419477765710224502174551069057989211564642527915293962069448722491802587122939611902055633028084705223823631428990821754885819700739370419401338217172180916453042721299842914184492052918643602100898995657165521282796982831037788646527826193669672433463848088189577580341558291657384711658256773580588318991141301207574985277744550806066073192834050406063452569181627527324346848727300662979048274035345516409683929098283751349358029607045604593352045563526523122763586661925912084783936820891260935921549848500666080658958942548383954901601220662853880063581759943000523336210363828162383631579892639778327825852304132132431832601107162691184537666072630335168474006032360011862009909760757001589729050081693855967875501602044633894564416743110423281931623764533091391577669429344556907560365335883937299688347922497771302702603077606102028691432159977578316243607365395649950522404409785519591250501510652304900882895906028539102665685684664897068279123023601527159328391865382763036733139378506127970293570775565439936450115043973322305511050987514663254922321207000194486769493714105229591423328630947492579171597247443857955023577357369592649034019904128511099643334943370021739321326114598755449979107274407756388747187237956376141413645335721369211845592651350066998835199461314588094860723074586462369183263002257826928004455759533506942272389594667312563865411386189513491517907208615537484066570674254603598485000167551795071139788260097794507139767563883795768425156783378610466858794512639664277244732697557604012946183318612714856399002077077059350865755121988350950654030581499235268767624305200195678045124794602226215607930105916987615695200743547134333392680036752074315099173835293374869043255174716584593445301669501621474698478155068350855005051920539110642677385410809493817271896695537232992338076450139038504932182425584884795799778391781712889923450557126246771454267277899193999409376024794573725983552976891545599243342839435994100674986448372450568121120101571895194521209369808989283001989449235056829638286566612974862413230243699828668396214954779003317937803667967025154259219636005299907287574883111748154497194650259494394435727983011713869494043266238560068412808468306623415254897119462952718050131691676038408396542478025658850995139962824212166746381946331364925161915379916265775416730609955435787229136896954275064384027462110321694343161703023204851843223683108201461903570812880063223542380421024480891796337118383336524314771389786333076167604537679220949005568133562034295769942167229317531206999697181293233375979375503188432332860580827087926938824292517604152470894997895223730915102744173373038636457045033435998120639172345575368725178276128999150200498991172861587831396115735195531190427583531976911028164942915618364344328008195007903627726654462905019435314465162268896656326032019618079449205349005574745556440165489371689909602244760907548812030198896963753769577402835523330343964368701796492257034828061448989850014383378 4045380441077830037941044233077423827697837737624320163339073242909473885200329838885315423541139189425652787806183009446347959391040010972047842277675204521495182667065303575779135870731263103763713169168626740134289751338685712674517638808459848229822013596453027752369701088118305798207580042903686093975157294973688257614930649306788623800306946861210492766932012068815237421679060506779286643263559159473427577002945805382778689458982622013519551043361790704222236035127442386171250643470387647293251633518134632310367847845471211365859142905674235517097510960493827359399592973533793758013540350035251919732786758856891068871382730354449429414646479735362911430011992793814111860204982168954733767701250207705667892761591848954535439320997715451771069062334953068962709469695150125551018249226772332786570681143982536272969212932627601005347841818924265306930929355456550939711731819790295142719430651902245102684154662151722842054221964526433373460210019660101183974916179402695810234255591748889115760124307894488642298681788365645604895853597011098654083347608865302559083850547673355519229046661826602449443581177948660904934988824702274548899528067759273946977534171091182759350782802901330371100689578662571463999801377867122824386498154977571375222042875488737372288155650104314876837293477283008127236694106987848374760162553178284384054765167229790668898477212745896502357111593243189431722643215128656842997976439243867700137593992114364205138618547905236587833504911554016652651032908202940182828719600976511384844963319453338188731285264815338562351082495943065916374767561650155760821507135350032130980673230025954913494761737663728457498632743812696700037584370866188010138805345048855542421639168215507236359123416283443895553767225601207901601620611152126320122869196327931917923222889560656384196982958766561180461426042647634383046523268654447996155356707757994332930102279697209725582182455868085695971007868629967586283916996906098724619976712547789920297462801771323309201668070412951801016900446229551345394053162928984335858697454562221921204917039454427992407986207525718717339243930869005893554256944562747331919637263208823421206067546133822630623410487216123105428144005238110139453698355823017922612364046191250859523614079286328482542721148483323017922808477522302062127068194617537671894354558814417131503415666058042252588768153313953678977420872272826080899562521513359796230946332477966407922587463027307390900945456627672943483871222612871808069281888183873381575347339524785140511161023817022592387423202967492893862025503975536588568769051404266284065147450082903937766795221126355777808671461343714446056680691738348329567928481286075188784784453703256544320154345210950503305662749198035403100561851476746969649531282218671771018164856076226655000170721691826112625458365255525277581708345508588697030938379311414430362437733182073446658794201740052865829924858789219163883452686482342932773606294126375609483713329914992160618565380844757361369491681787209112748464517892812518095090475287973946652598527892597386281785540947181970630300335291116780571462502833309992289872831768525410000088219915320129460957060456136796340652582703914932588491597810042984961306667983463598452524378919370428657013601411167000538604941421431797351046484037686447260119503747104177460652133385312023721808523441098727359234918438039745138064273953698612628980255139603707067107204818503747478858696772741741639757627395300583145365710690609105010766969319557613492429695001558151657020231443167199005371354545736350551895642840535049518188808122061742109148104933041118049047914472746832096614645837287233568342162369332361827154365591954827760873823269774567656481284850333753123761050988629 6545563051087970306467803000047081271811738578421341760402274347510469779200946560398284311926995571204936573913963924942108997395724065949751547855336719832843383746635760027416402399364851819013723320993394162844841582933954729348839127536629615237826623014473400322568130619361805446334863513533997066972345463829147703218607046863759805167079330491725877240860961600031456325705323729719953628139910368483932604533462105580398690285874656657800069407970769759278632089885756929850746776448058740048918755716312084169028997864131021006598904395824203388948403307985733552598017397388445252879440830277825114224553159846759407136618692941284122422415305086795697238127470485841418284934636692058854819731240650324931407642968697949699797668897134929536779286837127620031767458906714768078933543188841781509062483731105475884871268565655685710571665450353256128685815175157290310131133158007467323635883694623544945598339154204641485656322863522090538981492816642932221763562707228889479906689055596977305337704649452780299683393446622419185484172588152399861658332886609853365149923740507405925292499231008229976767928026675961567914037098737620065309211996857557698326892200698228363944134848464856894223453165324497376084585314688014085322419704826072041302701834431285756243057251324977730717357059042951127760030317351676537143794133070924162382591019533922801330309813853059193541649259315819766891117221161016854859986349004624701727323042196058061106494049507281221728069328297127075932964531967473274220297270405855941752523684789222126030973612737836333653785099020672018403458993810133339137750742715427780931195634435740433086012239174380762399515639718725239140250056550852907207084468072457069580967560080889999395856555661950023524060796376773341538070726196099642428380247315446581178145210767656578683752452480666410052849371278581875625694865901891854110380285115363925579136299601338236681825790811455717710329194744566341733896104180506481008723899785746296438876447107044678413513663064301868015735645690865933488913886003570798227880717564479748132921495213961499350258597120386029903109342255195407045774851771362869403703833883078024804552546301374425694550275476220899935283772801993935222123512606396533079222840703890523800858811983886086555667331801935732779207479599379121477933949739526022845008589395916366772183290363242448266813278108555905193028802378743068515257722256906930564339012514718482237686636862600765769988711802389528077316524282373429543980366338941732430352391445324251153838409227832086204695099663030126854363580425675627073701233829851168860947228474685650656718671683482024580125728621613640056090067763142903293912034262966734384027796542692538420829331659322953873783869299607298295083060846555958932533271667906827847803142642839629862583951935525941293854580210304280899646149176555722185197598947419730269725308065185194813291396390312360224360586772230877752946729748581492842019102594682232898968227034455113336615512536433399777888224265234771599459657855636730261836857234305311577760443272513652057202271557137406417529472188071055635846530295420313984215993471548614851931443598428330922860631269016859564194963124939413480287934928426321485621439373249931528691983457049649606019169544729034834374883588661114882253483734867740493495483122607365892984993966139111648747347733616331511705813435934968868979376697871985667616712184637143065227843990849322847583875048870740789958126386473444733197106806344300541957396903089590403457859944473770021364559451362206908999081200199255571330957305697318414845134154081360188597310282046692794604354638236203786524248082048141117154192568229325580923942994790351091217787638476364148738319678395202113611065372007 10590943492165800344408847233124505099509576316045661923741347590419943664401276399283599735468134760630589361720146934388456956786764076921799390133011924354338566413701063603195538270096114922777436490162020902979131334272640442023356766345089463467648636610926428074937831707480111244542443556437683160947502758802835960833537696170548428967386277352936370007792973668846693747384384236499240271403469527957360181536407910963177379744857278671319620451332560463500868125013199316021997419918446387342170389234446716479396845709602232372458047301498438906045914268479560911997610370922239010892981180313077033957339918703650476008001423295733551837061784822158608668139463279655530145139618861013588587432490858030599300404560546904235236989894850381307848349172080688994476928601864893629951792415614114295633164875088012157840481498283286715919507269277521435616744530613841249842864977797762466355314346525790048282493816356364327710544828048523912441702836303033405738478886631585290140944647345866421097828957347268941982075234988064790380026185163498515741680495475155924233774288180761444521545892834832426211509204624622472849025923439894614208740064616831645304426371789411123294917651366187265324142743987068840084386692555136909708917859803643416524744709920023128531212901429292607554650536325959254996724424339524911903956686249208546437356186763713470228787026598955695898760852559009198613760436289673697857962788248492401864917034310422266245112597412517809561574239851143728583997440170413457049016871382367326597487004242560314762258877553174896004867594963737934778226555460289099959257878065459911911868864461695346580773976838109219898148383531421939177834427417040917345889813121312612002606728296397235754979971945393919077828021977981243139691337348225962551249443643378499101368100328312962880735411247227590514275413926216258672218134556339850265736992873358258509238579298547962264008246679541413681337063374533928017813101086605205628700612333536216736339248878367987615181733477253669032636091920417278882967048932555134086578172126701669337838534668389491758244804646104747242353273124201300600031796334110201323341097091901446010620092435197056317960762692344005363427778040104074675821868429414455691586886895141383324472891270214569098388480285258750702015957121681183605002144357063694739363148210333498275598956421284700855581431422509584170449674651569149414820243770266726795285344992684890160274099889908156670934168430062471561187746895245237613262254522815114005699730970109391664999433044854678592118302630523020716389084401212215642470285234117452926094678557589588423513892809837802388797189965328086112770759501491232861840515549041923168812250245949082740983676870273457179446618497642701395644912323302928582064553886578598865967998719066284862754673627352053919312945465829558481354494685144419216135978258834160632163041247258641472085598130365226054285445561450041636399416230924425615625396721057842382681556949447273955180893381190761147379906052443884347924175748449248356927332522279258230358971165111038338987812504319377047829807479187836207309033128730306274088825240074024852019663513748460383817691725153655904847545828854346068779532738469306446928107356713529981216362376420078263032770955896035372979825010092912233299967772554187753614986869711543353637127351451135370555871174715058870940731873974714007043650651570598296596967324240850132335048809353070326442571821612482429715753781774027878562817496953405552724366222647203895887554946031921678384790894529405914370435745935606123226600146232367933033942276143102297745415215087810843652269110983035883138893919335374685496354937561687408078308586745178852091610908250931805219604528728955237372116360636 17136506543253770650876650233171586371321314894467003684143621937930413443602222959681884047395130331835525935634110859330565954182488142871550937988348644187181950160336823630611940669460966741791159811155415065823972917206595171372195893881719078705475259625399828397505962326841916690877307069971680227919848222631983664052144743034308234134465607844662247248653935268878150073089707966219193899543379896441292786069870016543576070030731935329119689859303330222779500214898956245872744196366505127391089144950758800648425843573733253379056951697322642294994317576465294464595627768310684263772422010590902148181893078550409883144620116237017674259477089908954305906266933765496948430074255553072443407163731508355530708047529244853935034658791985310844627636009208309026244387508579661708885335604455895804695648606193488042711750063938972426491172719630777564302559705771131559973998135805229789991198041149334993880832970561005813366867691570614451423195652945965627502041593860474770047633702942843726435533606800049241665468681610483975864198773315898377400013382085009289383698028688167369814045123843062402979437231300584040763063022177514679517952061474389343631318572487639487239052499831044159547595909311566216168972007243150995031337564629715457827446544351308884774270152754270338272007595368910382756754741691201449047750819320132708819947206297636271559096840452014889440410111874828965504877657450690552717949137253117103592240076506480327351606646919799031289643568148270804516961972137886731269314141788223268350010689031782440793232490291011229658652693984409953181685549270422439097008620780887692843064498897435779666786216012489982297664023250147178318084483967893824552974281193769681583574288377287235150836527607343942601888818354754584677762063544325604979629690958825080279513311095969541564487863727894000567124785204798134297913000458231704376117277988722184088374878899886198945834037490997131391666258119100269751709205267111686637424512119282513175215695985412666028695396541555537048371737611283212371880934936125932314458889691181417470760029882350991108503401766490777145462615379396707645806648105473070727044930974979470815172638736571482012511038168564905298711550842098009897945381035810988770809727599031907125331703254100655654055812087194483481223436721060305082936094096589717584371737606249865047782246784527149122394709531065489363478477030312217930077966027173657359624357507403372397960736752508922440922880232451999638504271177618667157242620861756846436052122415433642818837842272686764796813402293553147570752664826887842716171519063968621787041907032275239080232564493319826968922918586941726168860827264634136155752549812008657552840046788641621161813008529596411053230487797249999690727973169858887514597825554485426713771141361905914725338625562877995213167525676133839381000643861700141401333577206253890901888349312443836285376994520677586278646032333680919389346145979505918457644499315740075281649783983902387291796405917624160925268130317678655947383833604085978618764189756584569808119414437624690396190084061456783465359279667258891843155563424150620258304818711622639703951107112176791306678322994170515469042508953793759549067467666895627932549546729963461509908345833469727869051940500625070207354708598754027115553451507421928247110469992318909246622121317590247019303218908331390382646545309909682876023027349442583964213679508877993197562892800202393174026446870483223219673880168247472611759924303297706094681763125736794299345414890505691699749350345891612823369516946134861694557557451929686347879076430224462486342725497134503638256623749219239669663142001383515802650547505791012989002251581535529943309398546727295953957924207124157350983181732643 27727450035419570995285497466296091470830891210512665607884969528350357108003499358965483782863265092466115297354257793719022910969252219793350328121360568541520516574037887233807478939557081664568596301317435968803104251479235613395552660226808542173123896236326256472443794034322027935419750626409363388867350981434819624885682439204856663101851885197598617256446908937724843820474092202718434170946849424398652967606277927506753449775589214000439310310635890686280368339912155561894741616284951514733259534185205517127822689283335485751514998998821081201040231844944855376593238139232923274665403190903979182139232997254060359152621539532751226096538874731112914574406397045152478575213874414086031994596222366386130008452089791758170271648686835692152475985181288998020721316110444555338837128020070010100328813481281500200552231562222259142410679988908298999919304236384972809816863113602992256346512387675125042163326786917370141077412519619138363864898489248999033240520480492060060188578350288710147533362564147318183647543916598548766244224958479396893141693877560165213617472316868928814335591016677894829190946435925206513612088945617409293726692126091220988935744944277050610533970151197231424871738653298635056253358699798287904740255424433358874352191254271332013305483054183562945826658131694869637753479166030726360951707505569341255257303393061349741787883867050970585339170964433838164118638093740364250575911925501609505457157110816902593596719244332316840851217807999414533100959412308300188318331013170590594947497693274342755555491367844186125663520288948147887959912104730711539056266498846347604754933363359131126247560192850599202195812406781569117495918911384934741898864094315082293586181016673684470905816499552737861679716840332735827817453400892551567530879134602203579380881411424282504445223274975121591081400199131014392970131135014571554641854270862080442597613458198434161209842284170538545073003321493634197769522306353716892266125124452818729911554944863780653643877130018809206081007829531700491254847983868681066401037061817883086808598564550740482866748206412595524387815888503598008245838444439583272050386028066880916825792731171768538330471800860908910662139328882202084573767249465225444462396614494173290449804594524315224752444292372453234183239393842741488687938238453653412323734885816583363323381203205811849977976140953575073533928151681881367344898209797440384154909702500088262558234836642417079111857048662514471199692018072863904770504875384571960441751853385543034483837275317541443388931704924076168287141749228100058358641804298086074713136585589864827503746457303157629357720108552269812281631586766125369017593065361050580721652297034590703902796685399869868232677106294892701086372885493161816096662379441064025579739140080972199588093299190230049132480471141963397862355138546844560617469555465088051534051390559702477757462592651042812332931477895130961025745562210430344073269896036797917664331340933349661246977299298814922072648036370122540295308009352535226975691522278863828038478385602735728735177896565776160513189087146446728050464596552880926532393643951696664555970770625925251690496014719324171373890054782648105617847000405364934379477654086676991491124708209889806132084711456521105580334533608846939348853419279976116000725456862030452600259248669041382389859090083046449253587277183884396883066678001013182260810646833118843329897941609555463500469018692095705649389633950021500490322741800251111647406129348383998195232969836537613378134141240421018737739952692070467817784157598162054280913018706367564784088140712222314481908892860202275552802035920718890488146902443352700397080560168280708795401009454978227759177528735853112588355298093279 44863956578673341646162147699467677842152206104979669292028591466280770551605722318647367830258395424301641232988368653049588865151740362664901266109709212728702466734374710864419419609018048406359756112472851034627077168685830784767748554108527620878599155861726084869949756361163944626297057696381043616787199204066803288937827182239164897236317493042260864505100844206602993893563800168937628070490229320839945753676147944050329519806321149329559000169939220909059868554811111807767485812651456642124348679135964317776248532857068739130571950696143723496034549421410149841188865907543607538437825201494881330321126075804470242297241655769768900356015964640067220480673330810649427005288129967158475401759953874741660716499619036612105306307478821002997103621190497307046965703619024217047722463624525905905024462087474988243263981626161231568901852708539076564221863942156104369790861249408222046337710428824460036044159757478375954444280211189752815288094142194964660742562074352534830236212053231553873968896170947367425313012598209032742108423731795295270541707259645174503001170345557096184149636140520957232170383667225790554375151967794923973244644187565610332567063516764690097773022651028275584419334562610201272422330707041438899771592989063074332179637798622640898079753206937833284098665727063780020510233907721927809999458324889473964077250599358986013346980707502985474779581076308667129623515751191054803293861062754726609049397187323382920948325891252115872140861376147685337617921384446186919587645154958813863297508382306125196348723858135197355322172982932557841141597654001133978153275119627235297597997862256566905914346408863089184493476430031716295814003395352828566451838375508851975169755305050971706056653027160081804281605658687490412495215464436877172510508825561028659660394722520252046009711138703015591648524984335812527268044135472803259017971548850802626685988337098320360155676321661535676464669579612734467521231511620828578903549636572101243086770640849193319672572526560364743129379567142983703626728918804806998715495951509064504279358594433091473975251608179086301533278503882994715891645092545056342777430959041860387640965369908340020342982839029473815960850879724300094471712630501036433233206342093205197575136297778415880406500104459647717664462830563801793770874332550243129908106623422833228371163449990338999100370850484640562897406628712193585274976175824614041514534060007491634956195573394926001552779928894966470838196289250482571927747496246328806877803975800976677302675117590228208185745107217629315857894414054987901074813323362054696500178492622140066583979021796477456326643027139211538450492414030759505173345615173059238274492343823232325064609693929466279285907594092142700777100858663020703611260204995549452293510281442878114313431924753108044345647996818097237243355782408544702018803132671341942435939739872146314042839587171720398611577510228811880415091708189936262530914395352537992945981124917252048538773705216439082997916166687801196242691842956621205594455712035448397846597800040360419131367980627232943978548366813705619893620159977031546790698462663319304259921877738102042997174337713494686842932563736441865166914468072260562312027200816640453001033054043359534001136651957146175787689242207600966464406870787398044247835926854349361846881369986631629409162308991377839636233822493794079759089705350455766225024326341996836527460834409757856674495465562578928869063514118268973102082666103548817742087892474120792494578384727043305077883491586312631561109469638205329512341715050091740628792095136592027270430866209356818120165516609421515222465177922102406290797449949143713386082811749816238738710408001705523713135452942977269939338479825922 72591406614092912641447645165763769312983097315492334899913560994631127659609221677612851613121660516767756530342626446768611776120992582458251594231069781270222983308412598098226898548575130070928352413790287003430181420165066398163301214335336163051723052098052341342393550395485972561716808322790407005654550185501622913823509621444021560338169378239859481761547753144327837714037892371656062241437078745238598721282425871557082969581910363329998310480575111595340236894723267369662227428936408156857608213321169834904071222140404224882086949694964804697074781266355005217782104046776530813103228392398860512460359073058530601449863195302520126452554839371180135055079727855801905580502004381244507396356176241127790724951708828370275577956165656695149579606371786305067687019729468772386559591644595916005353275568756488443816213188383490711312532697447375564141168178541077179607724363011214302684222816499585078207486544395746095521692730808891179152992631443963693983082554844594890424790403520264021502258735094685608960556514807581508352648690274692163683401137205339716618642662426024998485227157198852061361330103150997067987240913412333266971336313656831321502808461041740708306992802225507009291073215908836328675689406839726804511848413496433206531829052893972911385236261121396229925323858758649658263713073752654170951165830458815219334553992420335755134864574553956060118752040742505293742153844931419053869772988256336114506554298140285514545045135584432712992079184147099870718880796754487107905976168129404458245006075580467951904215225979383480985693271880705729101509758731845517209541618473582902352931225615698032161906601713688386689288836813285413309922306737763308350702469823934268755936321724656176962469526712819665961322499020226240312668865329428740041387960163232239041276133944534550454934413678137182729925183466826920238175270487374813659825819712883069283601795296754521365518605832074221537672901106368665290753817974545471169674761024919972998325585712973973316449656579173949210387396674684194881576902673488065116533013326947591087957158983831956841999814591681825921094392386592724137483536984639614827816987108741304466758101080108558673454639890382726622990208606502179045479879966261877695602956587378488024940892302731105158944396832100951847702224406543282458812571003896542231841509239416591694544653196150849078346991438215636431334780394074952619874385622054425669443762507579897514430410037343080664636977557480942037888307323346476698252371630900767319555829186519711786512392907769651574676812141705484145036163283087959433455127660140771213315078212004894087725479099635085684363135691481350732124000796884874190938680534109818996144640857823028967406379329336147518584700387035401863473744156182519707922584436613477873249421523850313901525223943338093478128467960060635105710920955389262636272688136429993969991130431848791800302179822763210944508988123942841440837270400366606604184291389335910610312465850601709785751004515254005070564203057923736537999852309156432570147234314312225885076185643096147866545877193009104491737453960152347944084756529912473323092106615015968815892648364027294687670352432818858216822618519089970784761468477625496691504854903317444492157762253249340133221363413667281368023775816447905813260290067374160248561383716379814447140618655673011799021399074424288889821099677678476642156383351468948485834973175115679857358776019313320174964484254674634518453148068290473592405407903799929389494021822504790689811354563580918456017632826733650298849422330275797330125872648253794909705113842959592054519006921579132602074409469623790775267213842821296778944352392496413783163371918096947534111417456683751472312981678830382527693777919201 117455363192766254287609792865231447155135303420472004191942152460911898211214943996260219443380055941069397763330995099818200641272732945123152860340778993998925450042787308962646318157593178477288108526263138038057258588850897182931049768443863783930322207959778426212343306756649917188013866019171450622441749389568426202761336803683186457574486871282120346266648597350930831607601692540593690311927308066078544474958573815607412489388231512659557310650514332504400105449534379177429713241587864798981956892457134152680319754997472964012658900391108528193109330687765155058970969954320138351541053593893741842781485148863000843747104851072289026808570804011247355535753058666451332585790134348402982798116130115869451441451327864982380884263644477698146683227562283612114652723348492989434282055269121821910377737656231476687080194814544722280214385405986452128363032120697181549398585612419436349021933245324045114251646301874122049965972941998643994441086773638928354725644629197129720661002456751817895471154906042053034273569113016614250461072422069987434225108396850514219619813007983121182634863297719809293531713770376787622362392881207257240215980501222441654069871977806430806080015453253782593710407778519037601098020113881165704283441402559507538711466851516613809464989468059229514023989585822429678773946981474581980950624155348289183411804591779321768481845282056941534898333117051172423365669596122473857163634051011062723555951485463668435493371026836548585132940560294785208336802181200674027493621323088218321542514457886593148252939084114580836307866254813263570243107412732979495362816738100818199950929087872264938076253010576777571182765266845001709123925702090591874802540845332786243925691626775627883019122553872901470242928157707716652807884329766305912551896785724260898701670856464786596464645552381152774378450167802639447506219405960178072677797368563685695969590132395074881521194927493609898002342480719103132811985329595374050073224397597021216085096226562167292989022183139538692339766963817667898508305821478295063832028964836012095367315753416923430817251422770768127454372896269587440029128629529695957605247946150601692107723470988448579016437478919856542583841088330802273517192510467298310928809298680583685600077190081146985565444501291748669512165054970345076229686903554139672139948132662249820065708103186489848178717841922856199328741409106268537894850561446668467183977822515071532470625983432269082217416906452447412876084596573829048625999867877229574197359804987496389089187510497997859760421919359334800002930577338075860508268451022195467713493570834144960671704500896112542011006162830692889182616414827644379364284295707169057270636984681055354032016073258802426804492294479178102640574602819203223319182789432162930166759702966728428214957148696446137823776464778157872349066703363933964655075820807771936405930870303995105843141766994483609556086498352754721855928978590302869135098686741873903556293590767853758324524709731693088068480369745724932780691695265777638164602946349760623731673985683456566997913857820242048470285820773857967837704916506944020113790569278335273075814526102129337684844690146313545059755182255531835951675936549886059003532055719957897493190816296608874134358015370813457155713018024048872277667160854772204496397310570729176294021988642304641208183708065802128526054922171472556401246088701924714710859299517112516384819610429071176849459949817253563387516662186559446694488074007348747131581914296625583184389739290624223533901124413046281859958891968481126842467587698345535538497208979551619324949873130935950722239926079045305997732391764923703069741802341640127169246183667913186272821825458389275185448434621807652467032257745123 190046769806859166929057438030995216468118400735964339091855713455543025870824165673873071056501716457837154293673621546586812417393725527581404454571848775269148433351199907060873216706168308548216460940053425041487440009015963581094350982779199946982045260057830767554736857152135889749730674341961857628096299575070049116584846425127208017912656249521979828028196350495258669321639584912249752553364386811317143196240999687164495458970141875989555621131089444099740342344257646547091940670524272955839565105778303987584390977137877188894745850086073332890184111954120160276753074001096669164644281986292602355241844221921531445196968046374809153261125643382427490590832786522253238166292138729647490194472306356997242166403036693352656462219810134393296262833934069917182339743077961761820841646913717737915731013224987965130896408002928212991526918103433827692504200299238258729006309975430650651706156061823630192459132846269868145487665672807535173594079405082892048708727184041724611085792860272081916973413641136738643234125627824195758813721112344679597908509534055853936238455670409146181120090454918661354893043873527784690349633794619590507187316814879272975572680438848171514387008255479289603001480994427873929773709520720892508795289816055940745243295904410586720850225729180625743949313444581079337037660055227236151901789985807104402746358584199657523616709856610897595017085157793677717107823441053892911033407039267398838062505783603953950038416162420981298125019744441885079055682977955161135399597491217622779787520533467061100157154310093964317293559526693969299344617171464825012572358356574401102303860313487962970238159612290465957872054103658287122433848008828355183153243315156720512681627948500284059981592080585721136204250656727942893120553195095734652593284745887493137742946990409321146919579966059289957108375351269466367744394676447552886337623188276568765253191927691829402886713533325684119540015381825471798102739147569919521242899158621941189083421812275141266305471839718712641550154360492352093389882724151783128948561978162959686455272912400755387659251237362449953375467288656180164166612166514335572433064933259342996574481572068557137689892118810239269206831296937304452562672390433560188624412255267962173625018082383878090724388898123849621359867279376888358688499474558036214371789641901666411760252756382640697257064833361071835760076189500343490514724947068722892853421585022651429985056393469612162882053884009928354913972903897175525324252239508130341516915634174016100875699903405767511335098731501040284147966740621163819941723578682336238926808649046149854759429979995747627695369298522174239914740415624529253555222976241278876266781625538878382999422452588138574323076994866213504504048346975385743027105373868776408040009124490578742116482372639784231301904932738218507454777624319323227291348508944201930375922000735843897643443946817246820500595486476697563296766248990669475739282978131209814166606056618455468110275714246947093139044572803648669318691547574934070734750180664072849616750171326552714864459735013251152962023274734010315781789673036856493436882675893351241891707174466156632372515042579132403276577800774621806736437405027511555695036910623275341985348578549858214267579378784480738523736793840496778090927450922146364744958694287108990741162607297977653007205107140226417415876021849151033043402472053393663196694272692228196242178386448384497024424434071928197905969810254849920286893481911148676521075936119130373874201093854205141989918757239779932158808314298756924172593460346599330448202322822511211379468880052515083324314335548669096772999605607744999848686154734136540952409555586010133806933242915073026657761416300638034994726035664324 307502132999625421216667230896226663623253704156436343283797865916454924082039109670133290499881772398906552057004616646405013058666458472704557314912627769268073883393987216023519534863761487025504569466316563079544698597866860764025400751223063730912367468017609193767080163908785806937744540361133308250538048964638475319346183228810394475487143120804100174294844947846189500929241277452843442865291694877395687671199573502771907948358373388649112931781603776604140447793792025724521653912112137754821521998235438140264710732135350152907404750477181861083293442641885315335724043955416807516185335580186344198023329370784532288944072897447098180069696447393674846126585845188704570752082273078050472992588436472866693607854364558335037346483454612091442946061496353529296992466426454751255123702182839559826108750881219441817976602817472935271741303509420279820867232419935440278404895587850087000728089307147675306710779148143990195453638614806179168035166178721820403434371813238854331746795317023899812444568547178791677507694740840810009274793534414667032133617930906368155858268678392267363754953752638470648424757643904572312712026675826847747403297316101714629642552416654602320467023708733072196711888772946911530871729634602058213078731218615448283954762755927200530315215197239855257973303030403509015811607036701818132852414141155393586158163175978979292098555138667839129915418274844850140473493037176366768197041090278461561618457269067622385531787189257529883257960304736670287392485159155835162893218814305841101330034991353654248410093394208545153601425781507232869587724584197804507935175094675219302254789401360227908314412622867243529054819370503288831557773710918947057955784160489506756607319575275911943000714634458622606447178814435659545928437524862040565145181531611754036444617846874107743384225518440442731486825519072105815250614082407730959015420556840254461222782060086904284407908460819294017542357862544574930914724477165293571316123556218962405168518038837308559294494022858251333889921324310019991898188545630078192780590942998971781822588665817678818476502660133218080829840184925767604195740796044031530038312879409944688682205043057005716706329597730095811790672385268106726079864900900858499553221553948545859225095272465025076289833399415598290872032334347233434918186378112175886511737774563916231825960859569130545435782675283928035088817598606612028409575508515391360037399407537722962455682376901881245099470790462375767790057500471004573950252107385359915714275439161512489964887413903765371095520650860375084150897317959239680449992029704531706640302219880294815431134480891860169706375461352867129097356830452173632919507271948447933537418610219933737031438525846941001127569289345391607144622949794588966346288163300939338206768827457307170331439521336230369125681397516376379803844327683257191946424329751973866781852871039839003486585713811730430056681984829452285152695227580972344874381664873083717722899647386309226434800423978640181207524942549373602099383242840711708899353127013833473348424157010009281862373592833493201432309095507868283619494589543800513550673245171686514967521700568285970057359732725445948336332983030153642688113341577397614698568966343233239478539394846467088401937394155294195679449811864545650368594611776918569241356004857838167035184595940282294215388815206028545941930944020623589444648560755318377907553572209340712626997996877455673873884383889181761293486472441409366981381555918497423652657850415755957058590833144829365523819881652826214018767206267238051015061048044944865986699531802062830704418753183451034046554261627714402770731997372668702918427957075776668121655739253923320079755068373462301843209850922445687461758293409447 497548902806484588145724668927221880091372104892400682375653579371997949952863275344006361556383488856743706350678238192991825476060184000285961769484476544537222316745187123084392751569929795573721030406369988121032138606882824345119751734002263677894412728075439961321817021060921696687475214703095165878634348539708524435931029653937602493399799370326080002323041298341448170250880862365093195418656081688712830867440573189936403407328515264638668552912693220703880790138049672271613594582636410710661087104013742127849101709273227341802150600563255193973477554596005475612477117956513476680829617566478946553265173592706063734141040943821907333330822090776102336717418631710957808918374411807697963187060742829863935774257401251687693808703264746484739208895430423446479332209504416513075965349096557297741839764106207406948873010820401148263268221612854107513371432719173699007411205563280737652434245368971305499169911994413858340941304287613714341629245583804712452143098997280578942832588177295981729417982188315530320741820368665005768088514646759346630042127464962222092096724348801413544875044207557132003317801517432357003061660470446438254590614130980987605215232855502773834854031964212361799713369767374785460645439155322950721874021034671389029198058660337787251165440926420481001922616474984588352849267091929054284754204126962497988904521760178636815715264995278736724932503432638527857581316478230259679230448129545860399680963052671576335570203351678511181382980049178555366448168137110996298292816305523463881117555524820715348567247704302509470894985308201202168932341755662629520507533451249620404558649714848190878552572235157709486926873474161575953991621719747302241109027475646227269288947523776196002982306715044343742651429471163602439048990719957775217738466277499247174187564837283428890303805484499732688595200870341572182995008758855283845353043745116823226475973987778733687294621994144978137082373244370046729017463624735213092559022714840903594251939851112449825599965862576963975440075684802372085288071269781861321729152921161931468277861578218434206135753897495668034205307473581947768362352962558367102471377812669287685256686615125562854396221716540335080997503682205411178642537291334418688177633809216508032850113354848903167014222297539447912231899613724121793606685852670212100883527416465582643586213615951771242692847508644999870848893788106955518924300455584114252890820992560374392440738770371493407981524674472304122704030404368180099274504346893490257231191073335528590840587317309532882430619382361415368298864058580403500391715608386867945567110868926444670190564460887607797401744759875041369012097246076702886474730248189726809804200235758812120030860978435079575450646284211605111648671296769974709373393537169715746246777951947885912447921893976014600427586330254594887258621952002580419237772838696175797157774871775682901130029660628977250557277471306149848449461476571641820613664643004293531889505704004764694545076138225587274346569515353022271418074790415645779634103307677906322965174328336561996726833327846744354394332370241878599401284262580657006987555921065037756859228875034442602429874775304578351612910783804775449424550746604909170393605876966508581463887973396325302669516772939774934203186605705042428459522062699064933986314699144947157776347203238259947222593922346254963357806965869774622488051032808712041104247844901568908869176383325840170898308817961109959199456282696259287268275037829646100173733786534886330932791926999034507513738638892606146177575520565994975187654508391544196434901854624574042083887633235966117370868597176383499543731602980413702767114111809913209074065294839933453886688311288535328500971267223083722456484329073771 805051035806110009362391899823448543714625809048837025659451445288452874034902385014139652056265261255650258407682854839396838534726642472990519084397104313805296200139174339107912286433691282599225599872686551200576837204749685109145152485225327408806780196093049155088897184969707503625219755064228474129172397504346999755277212882747996968886942491130180176617886246187637671180122139817936638283947776566108518538640146692708311355686888653287781484694296997308021237931841697996135248494748548465482609102249180268113812441408577494709555351040437055056770997237890790948201161911930284197014953146665290751288502963490596023085113841269005513400518538169777182844004476899662379670456684885748436179649179302730629382111765810022731155186719358576182154956926776975776324675930871264331089051279396857567948514987426848766849613637874083535009525122274387334238665139109139285816101151130824653162334676118980805880691142557848536394942902419893509664411762526532855577470810519433274579383494319881541862550735494321998249515109505815777363308181174013662175745395868590247954993027193680908629997960195602651742559161336929315773687146273286001993911447082702234857785272157376155321055672945433996425258540321696991517168789925008934952752253286837313152821416264987781480656123660336259895919505388097368660874128630872417606618268117891575062684936157616107813820133946575854847921707483377998054809515406626447427489219824321961299420321739198721101990540936041064640940353915225653840653296266831461186035119829304982447590516174369596977341098511054624496411089708435038520066339860434028442708545924839706813439116208418786866984858024953015981692844664864785549395430666249299064811636135734025896267099052107945983021349502966349098608285599261984977428244819815782883647809111001210632182684157536633688031002940175420082026389413677998245622841263014804368464301957077687698756047865637971702530454964272154624731106914621659932188101900506663875146271059865999420457889949758384894459885435215309329997009112392077186259815411939514509743864160903250100450244036113024612256557628886115035147658507715372558093758602398632509690692079232373938891658182568571102551314270430892788176067473517904722402192235277187730855363165053892075208627313928243304055696955046203103931948071355228524872230782387987395265191029498875412174475520901788128630183928927905937711386713567547333875964099505612928220400098097354896421147273374653080995464934679890494087904839184673224756454278850172945466512497041080805474731213298253526140033221790452449761376539643180841707638091399652207413088806739485621698941779467967108120221227908498109454076528876519394237520138174743341618845978745857062299504282020576578215573556996718793294246564563675719681700470655084453546779405193082779361415312244969553267727770971267062466279685837611184197168448149663939627742815521904616615374440707680613959456135602133602156704152614165488046307877377249612405351391073920979876562204227455554094457902395873517458033256357488533456434691739796313598485346571278589206920680237555826641465749746883020778852124457520538229166236724271826750575602728572487234508030024299949243766834929092112664088182306785092174843309741820942427368242792391071454167095069129882636417569588078828116674475983503227670704002785324811531799178542241437982737552283509299737909890398211932699593564030419011801417110909621496174380203295844772193201850291720492942755137668654249656593748143523826391636950642287991382760143863873037558520545432360196342726833233026202715556436489062421601386426636872788306386419417151417422858804097902314463600353082405685542068885689877195721034093856773966443379661997630344181118145529409918242622483218 1302599938612594597508116568750670423805997913941237708035105024660450823987765660358146013612648750112393964758361093032388664010786826473276480853881580858342518516884361462192305038003621078172946630279056539321608975811632509454264904219227591086701192924168489116410714206030629200312694969767323640007806746044055524191208242536685599462286741861456260178940927544529085841431003002183029833702603858254821349406080719882644714763015403917926450037606990218011902028069891370267748843077384959176143696206262922395962914150681804836511705951603692249030248551833896266560678279868443760877844570713144237304553676556196659757226154785090912846731340628945879519561423108610620188588831096693446399366709922132594565156369167061710424963889984105060921363852357200422255656885435287777407054400375954155309788279093634255715722624458275231798277746735128494847610097858282838293227306714411562305596580045090286305050603136971706877336247190033607851293657346331245307720569807800012217411971671615863271280532923809852318991335478170821545451822827933360292217872860830812340051717375995094453505042167752734655060360678769286318835347616719724256584525578063689840073018127660149990175087637157795796138628307696482452162607945247959656826773287958226342350880076602775032646097050080817261818535980372685721510141220559926702360822395080389563967206696336252923529085129225312579780425140121905855636125993636886126657937349370182360980383374410775056672193892614552246023920403093781020288821433377827759478851425352768863565146040995084945544588802813564095391396397909637207452408095523063548950241997174460111372088831056609665419557093182662502908566318826440739541017150413551540173839111781961295185214622828303948965328064547310091750037756762864424026418964777591000622114086610248384819747521440965523991836487439908108677227259755250181240631600118298649721508047073900914174730035644371658997152449109250291707104351284668388949651726635719756434168985900769593672397741062208210494425748012179284770072693914764162474331085193800836238896785322834718378311822254547230748010455124554149240455132089663140920446721160765734981068504748520059195578273308131425498773030810765973785679749678929083364939483569695875908489172381561924925321982162831410318277994494494115335831561795477022131558083452600088278792607495081518998388091472673030821477692573927776786605174820523066258176419683619865819041392658471747337159917644868061062520139406984013198118309207364772499260801172340430176657585832569671646062048522831135956759415583205820748625435120046681233423246478267597774523957733184155812263402667075764509864981102949867121551322605579405868967768327901553145819081737557977093160482717100152028861857768601830441965543334538385093075237640370830700324731353078995227283309288259569980854058025566154321088231688418030421970007144325461097402614591204805746645035069684931171236927441751982051618180724255986101710950881670781501911055395838615524952700429814729900663973255418144935532823672003268167559742369646119278772813683133275316040248526981910220973835991625482422063114705114527525785087301762028685979450637171174917109283334602651562154550639704541537214834787215955485780720276250402406315341639117693740970940034844064085823023274630507287638737175048437213985403147732482587879002416802188660576659898538472657544875760172834420750626372742460116049262012478530365350763529136015670502019811401679692399037833927941517931631577789624000125423485528618924174687142898380551297159438038506373918247399228001390370064828033258856503241051210914872194019655383268788291455980481401858195203333496108452656180695603086269786328933790227853131690950532958845152385368613132374726951556989 2107650974418704606870508468574118967520623722990074733694556469948903698022668045372285665668914011368044223166043947871785502545513468946266999938278685172147814717023535801300217324437312360772172230151743090522185813016382194563410056704452918495507973120261538271499611391000336703937914724831552114136979143548402523946485455419433596431173684352586440355558813790716723512611125142000966471986551634820929867944720866575353026118702292571214231522301287215319923266001733068263884091572133507641626305308512102664076726592090382331221261302644129304087019549071787057508879441780374045074859523859809528055842179519687255780311268626359918360131859167115656702405427585510282568259287781579194835546359101435325194538480932871733156119076703463637103518809283977398031981561366159041738143451655351012877736794081061104482572238096149315333287271857402882181848762997391977579043407865542386958758914721209267110931294279529555413731190092453501360958069108857778163298040618319445491991355165935744813143083659304174317240850587676637322815131009107373954393618256699402588006710403188775362135040127948337306802919840106215634609034762993010258578437025146392074930803399817526145496143310103229792563886848018179443679776735172968591779525541245063655503701492867762814126753173741153521714455485760783090171015349190799119967440663198281139029891632493869031342905263171888434628346847605283853690935509043512574085426569194504322279803696149973777774184433550593310664860757009006674129474729644659220664886545182073846012736557169454542521929901324618719887807487618072245972474435383497577392950543099299818185527947265028452286541951207615518890259163491305525090412581079800839238650747917695321081481721880411894948349414050276440848646042362126409003847209597406783505761895721249595451930205598502157679867490380083528759253649168928179486254441381313454089972349030978601873486083510009630699682904073522446331835458199290048881839828536226420309315256960635593092855631011966595388885633447394594100069703027156239660590900605740350748640649483737968478762066290660255360267012753440264275602790597378513478540479763164367490759196827752433134469931490699996601324345081196866573855817152446988087341675804973063639344535546615817000530609476759653622333691449540318439763509866832250656430314234988075674057798524580394410562566993574818950107876502855682724316561534090613592052383783125478747261792756569102233581064918242714143515604341663903692206214046549445724017255451190603122124098329610752451536779736129389482899448804996273198386811659689862075130884569667249981937046539923641433962344446543731617985202330858365231005399134455925263205288466076296487437927716303834155459986999120728607077431325598549235259789899102060812756938111025915153871510758272078006644724600504539534121785796537421383554511374255641606167175592475125037030357406726710363260409510392611785196383577354115653774884876870151589757258759048031114316406786912536504829262634042185454758431157814018452990856928360756701016177061385915592371299029704553905247169207219466047615301741372365442841966829572048064014253538486300512730026239899747404343791364626951511398317474633633649878922969522740577955563585992223348742709881910084812425107129913193968459440844218586115755411651031940441656107150517807399410801595344430098559397450821981957282785650571046353450219936772879127850679123388151861525143732431860442695221661693400185341792971596595767588225325933147826517060436170906915557447286762253588855679983470866570260974232461027593085621264522321278104627477847787660500406074800420205714314784579304172658803686578514138198249581292963465507363027647001819575070612530589189333503514142542292969574040207 3410250913031299204378625037324789391326621636931312441729661494609354522010433705730431679281562761480438187924405040904174166556300295419543480792160266030490333233907897263492522362440933438945118860430799629843794788828014704017674960923680509582209166044430027387910325597030965904250609694598875754144785889592458048137693697956119195893460426214042700534499741335245809354042128144183996305689155493075751217350801586457997740881717696489140681559908277433331825294071624438531632934649518466817770001514775025060039640742772187167732967254247821553117268100905683324069557721648817805952704094572953765360395856075883915537537423411450831206863199796061536221966850694120902756848118878272641234913069023567919759694850099933443581082966687568698024882661641177820287638446801446819145197852031305168187525073174695360198294862554424547131565018592531377029458860855674815872270714579953949264355494766299553415981897416501262291067437282487109212251726455189023471018610426119457709403326837551608084423616583114026636232186065847458868266953837040734246611491117530214928058427779183869815640082295701071961863280518875501953444382379712734515162962603210081915003821527477676135671230947261025588702515155714661895842384680420928248606298829203289997854581569470537846772850223821970783532991466133468811681156569750725822328263058278670702997098328830121954871990392397201014408771987727189709327061502680398700743363918564686683260187070560748834446378326165145556688781160102787694418296163022486980143737970534842709577882598164539488066518704138182815279203885527709453424882530906561126343192540273759929557616778321638117706099044390278021798825482317746264631429731493352379412489859699656616266696344708715843913677478597586532598683799124990833030266174374997784127875982331497980271677727039467681671703977819991637436480908924178360726886041499612103811480396104879516048216119154381289696835353182772738038939809483958437831491555171946176743484242861405186765253372074174805883311381459573878870142396941920402134921985799541186987537434806572686857073888545207486108277467877994413516057922687041654398987200923930102471827701576272492330048204798831422100097375891962840359535566831376071452281159374668939547833707928177741925852591639591063940611685944034433775595071662309272787988397687588163952850406019661913408950658466247849771585569076783459510921736354613679850228803466745344566303185415040849570740982563110775206035743748647916890324523253914218223278056623531033298781684162180424097598828258960525439658864388202093947012246779736543308554131047934847756461004273107797246225747113619496127850183433808232352556721740035331132173056793977849633257009453861811248620469716220880635939289094200379677225333233640445905832175751396745854196242111351073233928033888764109514975843822103575704642743062673672028137182736800586134432971997931516109905444580077542956433311019106097705393065601126137691468209640718812616227462182751152029781963063856915355422404413232163388523680600364024868575919431032034871144112712837829221287417734201376268589137732997847864905081534686575589799340840248329198709476877070922321453074699229603073552868114338175187093757756738696063736283862242625755058051521027778553396047164757258054282464118849093403394148826080377655641510298250289987289804012146618759136057349360454614827661410743880774200846309515339243899941135866682226875907261567876113197241473095079877740830805524537285519856903722771826642483921699525839732134429660634140152839421509372944179221631689028983455686092555580134607868529058702532694425730183688994005770765060706030854007020074622590854430276896049735293691961437229672706761563063548034485888882755674667696525597196 5517901887450003811249133505898908358847245359921387175424217964558258220033101751102717344950476772848482411090448988775959669101813764365810480730438951202638147950931433064792739686878245799717291090582542720365980601844396898581085017628133428077717139164691565659409936988031302608188524419430427868281765033140860572084179153375552792324634110566629140890058555125962532866653253286184962777675707127896681085295522453033350767000419989060354913082209564648651748560073357506795517026221651974459396306823287127724116367334862569498954228556891950857204287649977470381578437163429191851027563618432763293416238035595571171317848692037810749566995058963177192924372278279631185325107406659851836070459428125003244954233331032805176737202043391032335128401470925155218319620008167605860883341303686656181065261867255756464680867100650573862464852290449934259211307623853066793451314122445496336223114409487508820526913191696030817704798627374940610573209795564046801634316651044438903201394682003487352897566700242418200953473036653524096191082084846148108201005109374229617516065138182372645177775122423649409268666200358981717588053417142705744773741399628356473989934624927295202281167374257364255381266402003732841339522161415593896840385824370448353653358283062338300660899603397563124305247446951894251901852171918941524942295703721476951842026989961323990986214895655569089449037118835332473563017997011723911274828790487759191005539990766710722612220562759715738867353641917111794368547770892667146200808624515716916555590619155333994030588448605462801535167011373145781699397356966290058703736143083373059747743144725586666569992640995597893540689084645809051789721842312573153218651140607617351937348178066589127738862026892647862973447329841487117242034113383972404567633637878052747575723607932637969839351571468200075166195734558093106540213140482880925557901452745135858117921702202664390920396518257256295184370775267683248486713331383708172597052799499822040779858109003086141401272197014906968472970212099969076641795512886405281537736178084290310655335835954835867741468544480631434677791660713284420167877527680687094469962586898404024925464518136289531418701421720973159706933391383983823059539622835179642003187178243474793558926383201116350717562945377393574752215358581529141523444418711922576239626908204544242307819513225459822668721693445579639142235238297888704293442281187249870823313564978171609951804322047481353489349551348090311820582530737300463663947295312074721636420905782491791176549135607995089914922558313193198367145399058439426405383685015617602097738398050813031438680188091560163227745835385764666597583562120874491256395378345260054146120694937170165645404080456715341609243016720419798928912485123132742506718589113862422661008067752869623151240572758489268649049097629618640997088197254436929313634304358329275711171463329404658226473165854090470154741629694596460213359167950477996289281225468399766843730543868969663688534611225697899100810180835571046181841514537528724781569592096492417950463515411742542383126534586941420842316204439474370213307747048364258623653813594378734629711439503116970669725796866063856554584951185588971808836972680726261436641691847448234849103800761402937863365821154294670452022741904963067679519149560477112318097297617448768097386700605607491048857695454800182436572110447061314927127651066246288218371750620259254834088401050993999736555892463134788480063082623777121133053108082229655919653159544357870432755289581716422887729008519404980239514440195864150056576541307357077901412712496006906490193194831804984109199720085549640010203512810706653136729052679858189013200801054989084231492281832175594137223819392396898216960666099637403 8928152800481303015627758543223697750173866996852699617153879459167612742043535456833149024232039534328920599014854029680133835658114059785353961522599217233128481184839330328285262049319179238662409951013342350209775390672411602598759978551813937659926305209121593047320262585062268512439134114029303622426550922733318620221872851331671988218094536780671841424558296461208342220695381430368959083364862620972432302646324039491348507882137685549495594642117842081983573854144981945327149960871170441277166308338062152784156008077634756666687195811139772410321555750883153705647994885078009656980267713005717058776633891671455086855386115449261580773858258759238729146339128973752088081955525538124477305372497148571164713928181132738620318285010078601033153284132566333038607258454969052680028539155717961349252786940430451824879161963204998409596417309042465636240766484708741609323584837025450285487469904253808373942895089112532079995866064657427719785461522019235825105335261470558360910798008841038960981990316825532227589705222719371555059349038683188842447616600491759832444123565961556514993415204719350481230529480877857219541497799522418479288904362231566555904938446454772878416838605204625280969968917159447503235364546096014825088992123199651643651212864631808838507672453621385095088780438418027720713533328488692250764623966779755622545024088290154112941086886047966290463445890823059663272345058514404309975572154406323877688800177837271471446666941085880884424042423077214582062966067055689633180952362486251759265168501753498533518654967309600984350446215258673491152822239497196619830079335623646819677300761503908304687698740039988171562487910128126798054353272044066505598063630467317008553614874411297843582775704371245449506046013640612108075064379558347402351761513860384245555995285659677437521023275446020066803632215467017284900940026524380537661712933141240737633969918321818772210093353610439067922409715077167206924544822938880118773796283742683445966623362375160316207155508396366542351840354496910997043930434872204822724723715519096883342192909843381075227576821948509429091307718635971461822276514881611024572434414599980297417794566341088362840801519096865122547292926950815199130991903994554310942735011951402971300852235792755941781503557063337609185990953653191450796232407109610164403579758610563904221228463883926070518493279014656422601746160034243317973292509990716616167879868163586650801375063030044464264555587091838959737472855260554377882170573368698252669719687466653971600646734436254050440362217177581400461092411305219162948692239146665536945494859055086139235926413838673782723873685569198474829936118842614526587527551402054031995753951946624027456652700926431562489878956009513999308589710456366382952624421289613819406862263994980974224474500792378032758564073473440744572792839997499602985662441541066076297305896301402589742583071298670547697698063005615566311064561016079122426972693678040485656346771331152414840564393188761756016165603239984278345230038218129088806438168015923449985334659524455380212347822004675622218584793577207368061172652129898945199243612935218982958910148979994041592047249940763086157658504053703309984024066438483000132705428131310477474858858812923965641919217201459427710077024369081916772922543709303192695752939127747018387373990409619637667616831512149542891186938108472058807901851912555803557615650561395121516315276958255567612669089704607883559940823454582645670338627939133378691479802028279569958595021716146083521869161358826489612458619417495839085559996993449633481547320364535965192725889257535167798193725856314700716234366817726727759319907110135085062936094746950521461164988593738657685258305281279653891628362625234599 14446054687931306826876892049122606109021112356774086792578097423725870962076637207935866369182516307177403010105303018456093504759927824151164442253038168435766629135770763393078001736197425038379701041595885070575755992516808501179844996179947365737643444373813158706730199573093571120627658533459731490708315955874179192306052004707224780542728647347300982314616851587170875087348634716553921861040569748869113387941846492524699274882557674609850507724327406730635322414218339452122666987092822415736562615161349280508272375412497326165641424368031723267525843400860624087226432048507201508007831331438480352192871927267026258173234807487072330340853317722415922070711407253383273407062932197976313375831925273574409668161512165543797055487053469633368281685603491488256926878463136658540911880459404617530318048807686208289560029063855572272061269599492399895452074108561808402774898959470946621710584313741317194469808280808562897700664692032368330358671317583282626739651912514997264112192690844526313879557017067950428543178259372895651250431123529336950648621709865989449960188704143929160171190327142999890499195681236838937129551216665124224062645761859923029894873071382068080698005979461989536351235319163180344574886707511608721929377947570099997304571147694147139168572057018948219394027885369921972615385500407633775706919670501232574387051078251478103927301781703535379912483009658392136835363055526128221250400944894083068694340168603982194058887503845596623291396064994326376431513837948356779381760987001968675820759120908832527549243415915063785885613226631819272852219596463486678533815478707019879425043906229494971257691381035586065103176994773935849844075114356639658816714771074934360490963052477886971321637731263893312479493343482099225317098492942319806919395151738436993131718893592315407360374846914220141969827950025110391441153167007261463219614385886376595751891620524483163130489871867695363106780490344850455411258154322588291370849083242505486746481471378246457608427705411273510824810566596880073685725947758610104262459893603387193997528745798216942969045366429140863769099379349255881990154042562298119042397001498384322343259084477377894259502940817838282254226318334799022190531526829733952945922190194877764859778618993872292499066502440731183938206312234720592319676825821532740643206666815108146529047977109385893187214972460236061743981398332132022266734791177966486991193433141758260753179385077525817753905138439929271558055385997854841546117868680772974306140593249145762777195870044249140355284775490774598828237810363658589354075924162283139043233257105899170674606601930233945951619520954963141427519680963489017843922929747314086141874646883794193102056781383146904099121972729933798237502195579499125459343010403476242067870331747850597375715073550867301407613171103059385569881037251936532299296745899395352008477359630807247969056237152761017852439692700212026524423728966557118716253919146440252500077315200122078529099004414459655116975784075555324527071552755657813588007760112415867935798174936197922595474356591617043060900998016681738274480399178263203822897426529597717588621588483111012261773046806826942712243455239292281792861039119209261569347119978758712323962659574326903505285038355754098162099766274044984452441693269780305013850236745195786484760691015227128716474526966949725327759048555533373735029502978802091775987401181654376350403678009249567349224982167742672040003906078359766803391736021363034611132961572637440391350311297862506409598169878231469851973059613359989142136538300806711382960032860542871682919084089340151907393445941864340726437879628433380896048959789993274076136895801939605692657270425914251822482124673676552108589028724872002 23374207488412609842504650592346303859194979353626786409731976882893483704120172664769015393414555841506323609120157048136227340418041883936518403775637385668895110320610093721363263785516604277042110992609227420785531383189220103778604974731761303397569749582934751754050462158155839633066792647489035113134866878607497812527924856038896768760823184127972823739175148048379217308044016146922880944405432369841545690588170532016047782764695360159346102366445248812618896268363321397449816947963992857013728923499411433292428383490132082832328620179171495677847399151743777792874426933585211164988099044444197410969505818938481345028620922936333911114711576481654651217050536227135361489018457736100790681204422422145574382089693298282417373772063548234401434969736057821295534136918105711220940419615122578879570835748116660114439191027060570681657686908534865531692840593270550012098483796496396907198054217995125568412703369921094977696530756689796050144132839602518451844987173985555625022990699685565274861547333893482656132883482092267206309780162212525793096238310357749282404312270105485675164605531862350371729725162114696156671049016187542703351550124091489585799811517836840959114844584666614817321204236322627847810251253607623547018370070769751640955784012325955977676244510640333314482808323787949693328918828896326026471543637280988196932075166541632216868388667751501670375928900481451800107708114040532531225973099300406946383140346441253665505554444931477507715438488071540958494479905004046412562713349488220435085927622662331061067898383224664770236059441890492764005041835960683298363894814330666699102344667733403275945390121075574236665664904902062647898428386400706164414778401542251369044577926889184814904413435635138761985539357122711333392162872500667209271156665598821238687714179251992844881398122360240208773460165492127676342093193531642000881327319027617333385861538846301935340583225478134431029190205422017662335802977261468410144645366985188932713104833753406773815583213807640053176650921093791070729656382630814926987183609122484077339721655641598018196622188377650292860407097985227343812430557443909143614831416098364619761053650818466257100304459914703404801519245285614221321523430824288263888657202146280736160630854786628234280570059504068793124197265887912043115909232931142905046786425425672050750276440993311963705708251474892484345727558366375340240027301168683103159073301305344911554554448107570282018460725531768231295528241258409219428288442049471226975860280715799734377842604480503190795646992668355999289330221668877752302768163308948675988728116160985309910533015768907728675493206524161616257455799806103544431450481149368118137628598830418220558709482309578466589000928739447797546091906035865508411967431693090061474732595742831571600189574343245334166177244576500130142673877249436135284959187440461428305783255932209837711639308451431565550137755705827592835488289982636241143226612824480738156424086531274493369663397603221411133141387315539602872301590973786902394445928128339317921132834460653302807822178596292665279485791593889106335653051308162149022141039464816700547531737463105053853820296747590028869901959292995591776885105557692261702052548110069189798821518387250869147204255557213525872176790643126901225364236979083497709603175872942804872134681424846766384091358479099268218945986664005432542931354891357895333603051743049497866718954967505134961894071872350555599944729532942412473730363960496413302612763600917010349945333014008589931467331237057959464431679030855828227696535294256344864507353225078836875644973346875319705587171798179041442672246446160108655368866900128359139072990548890127153822259019652909507740429954956206000217391350106601 37820262176343916669381542641468909968216091710400873202310074306619354666196809872704881762597072148683726619225460066592320845177969708087682846028675554104661739456380857114441265521714029315421812034205112491361287375706028604958449970911708669135213193956747910460780661731249410753694451180948766603843182834481677004833976860746121549303551831475273806053791999635550092395392650863476802805446002118710659078530017024540747057647253034769196610090772655543254218682581660849572483935056815272750291538660760713800700758902629408997970044547203218945373242552604401880100858982092412672995930375882677763162377746205507603201855730423406241455564894204070573287761943480518634896081389934077104057036347695719984050251205463826214429259117017867769716655339549309552461015381242369761852300074527196409888884555802868403999220090916142953718956508027265427144914701832358414873382755967343528908638531736442762882511650729657875397195448722164380502804157185801078584639086500552889135183390530091588741104350961433084676061741465162857560211285741862743744860020223738732364500974249414835335795859005350262228920843351535093800600232852666927414195885951412615694684589218909039812850564128604353672439555485808192385137961119232268947748018339851638260355160020103116844816567659281533876836209157871665944304329303959802178463307782220771319126244793110320795690449455037050288411910139843936943071169566660752476374044194490015077480515045235859564441948777074131006834553065867334925993742952403191944474336490189110906686743571163588617141799139728556121672668522312036857261432424169976897710293037686578527388573962898247203081502111160301768841899675998497742503500757345823231493172617185729535540979367071786226051166899032074465032700604810558709261365442987016190551817337258231819433072844308252241772969274460350743288115517238067783246360538903464100941704913993929137753159370785098471073097345829794135970695766868117747061131584056701515494450227694419459586305131653231424010919218913564001461487690671144415382330389425031249643502725871271337250401439814961165667554806791156629506477334483225802584600006207262657228417596748942104312735295844151359807400732541687055745563620413243512054957654022216834579392341158501020409473780500526779636561944799977062403578122632635435586058752675645689993092240780197279324418102697856892923223935128546089708956698507362506762092346649590150266734447103172307733833185096099772365863971697502853583627256264060974406310730244201282000873964945497155038474524752331150931768159130598117568032032536341656844087471231815031961373266884480585139617699141674627112727479124757684975480769592562275373410896682204279503245714212413660766263692725370688122901469381595783594101615364633871310442096566303542602927490682168975904647894112635573790415679559515712554914501372667584255933339856780314260615563017085680695545604192583402577448406039619359912018949193359859480531970920990656501401731396571898762402017681066250117171391094927399373143729444715982453688240755185856931009396851225403296535187909708340386789610570844610133450486425352845038465994414418136153325946216066115593343554416971582145414532287873569746144676901523271399668088827902122784177961577772652489293912967624034276556917171885677805930248863802723453412618138591356895372440073895100565885446048993546705035219538806277960857870159987109590452924703874217122632976754702311119054040093227639948635611302179277122099981859447913745725173554450741295644311871096341065501115289429316404738644215817369833073595063056247467386085621708558564057436215471612980617740043382169110126074593489551417826690121633215209886350829732846479529445567161330222554628632758108806420074978603 61194469664756526511886193233815213827411071064027659612042051189512838370316982537473897156011627990190050228345617114728548185596011592024201249804312939773556849776990950835804529307230633592463923026814339912146818758895248708737054945643469972532782943539682662214831123889405250386761243828437801716978049713089174817361901716785018318064375015603246629792967147683929309703436667010399683749851434488552204769118187556556794840411948394928542712457217904355873114950944982247022300883020808129764020462160172147093129142392761491830298664726374714623220641704348179672975285915677623837984029420326875174131883565143988948230476653359740152570276470685725224504812479707653996385099847670177894738240770117865558432340898762108631803031180566102171151625075607130847995152299348080982792719689649775289459720303919528518438411117976713635376643416562130958837755295102908426971866552463740436106692749731568331295215020650752853093726205411960430646936996788319530429626260486108514158174090215656863602651684854915740808945223557430063869991447954388536841098330581488014768813244354900510500401390867700633958646005466231250471649249040209630765746010042902201494496107055749998927695148795219170993643791808436040195389214726855815966118089109603279216139172346059094521061078299614848359644532945821359273223158200285828650006945063208968251201411334742537664079117206538720664340810621295737050779283607193283702347143494896961460620861486489525069996393708551638722273041137408293420473647956449604507187685978409545992614366233494649685040182364393326357732110412804800862303268384853275261605107368353277629733241696301523148471623186734538434506804578061145640931887158051987646271574159437098580118906256256601130464602534170836450572057727521892101424237943654225461708482936079470507147252096301097123171091634700559516748281009365744125339554070545464982269023941611262523614698217087033811656322823964225165160901188885780082864108845525111660139817212883352172691138885060005239594133026553617178112408784462215145038713020239958236827111848355348676972057081412979362289743184441449489913575319710569615015157450116406272059833695113561865366386114310408460111860647245091857264808906027464833578388478310480723236594487439237181040328567128761060206621448868770186600844010544678551495291683818550736779517666452248029600859096009820598631475410021030435436515064882702746789393515332693309340035752448083862288281292666381790826589503465734149111868514673280402694752779715428257861154680745231532881079005255521946578760827486597406898253701414093959612250780180491020689489427869790495672633468049403302605934003286373942431280575696106706823892046050322417131844544630634219475746002303837277123830208829393329686007651230142283277873789656365017335523233513740576094222237357969739967660256059645855228791750808802869215120780318208620043871495226923392334854055624148952715204111867212195400308931829601002707144795401728812925488262671065268425799620902477383258558706634530271674734703231618376899616369094503778063843857504528211118713784202373619872581204459950945786501794587501867179505459231118683685063409321119969413640302007000452047373825283465346631250234593784973452216198897091921605696348828641799693549470181149906453347560298786903170167227947300433056588491081396229030053864920661484657243925148261765651021883544238820892212761517882443193504667753372083841587944259837273013125912443783239893365144244591750852463942355861216358488774471461091240977325879686272532832352347388780836417675071645597529608889319401111974739310700545434209030783090791318567789538222423611782372520753598206786693590249992354282876899719860000301788465220070837962984583588964109023811425085204 99014731841100443181267735875284123795627162774428532814352125496132193036513792410178778918608700138873776847571077181320869030773981300111884095832988493878218589233371807950245794828944662907885735061019452403508106134601277313695504916555178641667996137496430572675611785620654661140455695009386568320821232547570851822195878577531139867367926847078520435846759147319479402098829317873876486555297436607262863847648204581097541898059201429697739322547990559899127333633526643096594784818077623402514312000820932860893829901295390900828268709273577933568593884256952581553076144897770036510979959796209552937294261311349496551432332383783146394025841364889795797792574423188172631281181237604254998795277117813585542482592104225934846232290297583969940868280415156440400456167680590450744645019764176971699348604859722396922437631208892856589095599924589396385982669996935266841845249308431083965015331281468011094177726671380410728490921654134124811149741153974120609014265346986661403293357480745748452343756035816348825485006965022592921430202733696251280585958350805226747133314218604315345836197249873050896187566848817766344272249481892876558179941895994314817189180696274659038740545712923823524666083347294244232580527175846088084913866107449454917476494332366162211365877645958896382236480742103693025217527487504245630828470252845429739570327656127852858459769566661575770952752720761139673993850453173854036178721187689386976538101376531725384634438342485625769729107594203275628346467390908852796451662022468598656899301109804658238302181981504121882479404778935116837719564700809023252159315400406039856157121815659199770351553125297894840203348704254059643383435387915397810877764746776622828115659885623328387356515769433202910915604758332332450810685603386641241652260300273337702326580324940609349364944060909160910260036396526603811908585914609448929083210728855605191661367857587872132282729420169794019301131596955753897829925240429581813175634267440577771632277444016713236663605052245467181179573896475133359560421043409664989486470614574226620014222458521227940527957297991232606119420052654193795417599757456323668929288251291862503969679121410154559819919261379786778913010372526440708345633346132332697557815986828597738201449802347629287839843183393668747249004422133177313987081350436494196426772609907232445308925277198707677491554699345149576525145471763390065253551485861982283459606770199551256170022114477762481563192453475163237002695495770937341377101063509959629539862028645690728687919553530007853097510528986617195524466285733950435616456338251412306052650862694754271080812251167191077929718661482411131627406761345288668982197302942732526696635090258843047880242009695029207965246731678210989113280109266594776154588315886222668559938450724195909551998870131470605313758075935619161567783706252181470453471054120174988934304487058244009073030399659816732355292652517906831555312327881022960862187676766322719469426889994067637167188201638583543633375730097729457671047878432676334359353304609849689634994853254355753614415248972112081960259370815030795555919952281012854712217971453645536819838389355537186085006983856423972034192788357571338916377394911495308244851884287724994044389874310406414452182843383148773940729904477470672580976097476811103156510001109219987585925426304994556585223129371197255312356057103083045098853070631677869552783957592457246300964220921014539584132179952537010879842000755546771027974563924215309130104213948025911832536621637750782613598333467636818097241156319287462967362682484382457359442125396322253992773088219306262931548407278265805780892498595347087758204520280371625569492763250549592846781317910787232168185539212221722217830231500063807 160209201505856969693153929109099337623038233838456192426394176685645031406830774947652676074620328129063827075916694296049417216369992892136085345637301433651775439010362758786050324136175296500349658087833792315654924893496526022432559862198648614200779081036113234890442909510059911527216938837824370037799282260660026639557780294316158185432301862681767065639726295003408711802265984884276170305148871095815068616766392137654336738471149824626282035005208464255000448584471625343617085701098431532278332462981105007986959043688152392658567373999952648191814525961300761226051430813447660348963989216536428111426144876493485499662809037142886546596117835575521022297386902895826627666281085274432893533517887931451100914933002988043478035321478150072112019905490763571248451319979938531727437739453826746988808325163641925440876042326869570224472243341151527344820425292038175268817115860894824401122024031199579425472941692031163581584647859546085241796678150762440139443891607472769917451531570961405315946407720671264566293952188580022985300194181650639817427056681386714761902127462959215856336598640740751530146212854283997594743898730933086188945687906037217018683676803330409037668240861719042695659727139102680272775916390572943900879984196559058196692633504712221305886938724258511230596125275049514384490750645704531459478477197908638707821529067462595396123848683868114491617093531382435411044629736781047319881068331184283937998722238018214909704434736194177408451380635340683921766941038865302400958849708447008202891915476038152887987222163868515208837136889347921638581867969193876527420920507774393133786855057355501293500024748484629378637855508832120789024367275073449798524036320936059926695778791879584988486980371967373747366176816059854342912109841330295467113968783209417172833727577036910446488115152543861469776784677535969556033925468679994394065479752797216454184982555804959166094385742993758244466292498144639677912789349275106924835774084653461123804968582901773241903199185272020798357686305259595574705459756429904947723297726422581968691194515602640919890247041175674055609333627973904365032614914906440075201348084986976065835045507524464968280031122027031870770275181432468173179211734610643178281052581316036975382490130914758048900049804842537517435605266143721992538576642120312747163552127573684693338526136294717498090186174755170606960581986828272768000340879377314976768946805951999340032310395770428863354019042978628971151807364285610621779795816289675057797723183326435960220800632535263375044089289814103792931364539435364529576068589031592797073340352122624061576484884635240481232324595485697505569838041920984775689021194988782849113766934803473682099717755697333045242370561887040382442966116917824918437866189675879033577273973957709650128093092368828575053725736191678807423012498002990273322686174900493197554348358553470932465365253715440881308007856629774043750712636812852561864894821561724448282352378256738702435614001259486021016634288804363987942722613135907952736252920978944193413058697111860281825533962756314455580131952019490746501706454075600356579397476912876655503523452764858306054420624158430972486240162182854804263008645146089093218304100486622085965995570659235056251876392853329923847183252037769459484146264704758403589566589600301383814955480169915218069880373296345517078007078986627283919745283393195751995977462260210618384805808865274376857145305864980794119735365899791362778827027866571170346462702722497372923777598963630468886131165819984206878077573994359108564892291373701858471416864707022799426982119002397054250116196816488229392674871116100685964991213870621617923775640150269452847083106376007303006148523795810686326854042925149011 259223933346957412874421664984383461418665396612884725240746302181777224443344567357831454993229028267937603923487771477370286247143974192247969441470289927529994028243734566736296118965119959408235393148853244719163031028097803336128064778753827255868775218532543807566054695130714572667672633847210938358620514808230878461753658871847298052800228709760287501486485442322888113901095302758152656860446307703077932464414596718751878636530351254324021357553199024154127782217998268440211870519176054934792644463802037868880788944983543293486836083273530581760408410218253342779127575711217696859943949012745981048720406187842982051095141420926032940621959200465316820089961326083999258947462322878687892328795005745036643397525107213978324267611775734042052888185905920011648907487660528982472082759218003718688156930023364322363313673535762426813567843265740923730803095288973442110662365169325908366137355312667590519650668363411574310075569513680210052946419304736560748458156954459431320744889051707153768290163756487613391778959153602615906730396915346891098013015032191941509035441681563531202172795890613802426333779703101763939016148212825962747125629802031531835872857499605068076408786574642866220325810486396924505356443566419031985793850304008513114169127837078383517252816370217407612832606017153207409708278133208777090306947450754068447391856723590448254583618250529690262569846252143575085038480189954901356059789518873670914536823614549940294338873078679803178180488229543959550113408429774155197410511730915606859791216585842811126289404145372637091316541668283038476301432670002899779580235908180432989943976873014701063851577873782524218841204213086180432407802662988847609401801067712682754811438677502913375843496141400576658281781574392186793722795444716936708766229083482754875160307901977519795853059213453022380036821074062573367942511383289443323148690481652821645846350413392831298377115163163552263767424095100393575742714589704688738011408352094038895437246026918486478566804237517487979537260201734728934265880799839569937209768340996808588705416974123868860418204339166906661728753680628098160450214672362763744130636336278838569804724628934619528099950383406818649683285553958908881524845080742975875838868568144634713583939933262387336739892988236206264684609688276899306525657992556806943590324737480917138647451413493425175581740874100320183485727458591662833253892365239297260228553576151550596202332510248191344917211496453792208154502860056547963156896879799634687337585211972126688908720186065271228141599818800720988455830825169314965192524927283005103125991214817378332657297135802431559162043256968108637197244803266273444671218497931515375810402025062316729979959765392362253207617293565251371556246226184419694592454505562101702137212424681905559680091962500299180367483812127297968990796204255171743776157229020668186488652845611714941538395653375257613663300509147680875306024964693875522727082498328047167751779268250806339602802202898069564650010018902093445613770491568584287095606225588793883048053550366216035439949211728426537540391322834521542057626406356613211291615448366522192323361842120395492139427608014854944520432950540426143179386040057584401463155984774347080010385444969641470704059236236478697787913156515240132065122362181569506746076590709521371400880906474909774655103502667542772390363136089710329018598354024873621548761419852667864685770029786288916441277485817517804999577366655338133806801591790786479476566916670523284756314220601381251499729499287621024975318730313646571532254973858084315830858990103345053419755207221703317181664604094754035173567369711447773723195734150993243493268403400819045693864424286794535174334063008032408544684274425212818 419433134852814382567575594093482799041703630451340917667140478867422255850175342305484131067849356397001430999404465773419703463513967084384054787107591361181769467254097325522346443101295255908585051236687037034817955921594329358560624640952475870069554299568657042456497604640774484194889572685035308396419797068890905101311439166163456238232530572442054567126211737326296825703361287642428827165595178798893001081180988856406215375001501078950303392558407488409128230802469893783828956220274486467070976926783142876867747988671695686145403457273483229952222936179554104005179006524665357208907938229282409160146551064336467550757950458068919487218077036040837842387348228979825886613743408153120785862312893676487744312458110202021802302933253884114164908091396683582897358807640467514199520498671830465676965255187006247804189715862631997038040086606892451075623520581011617379479481030220732767259379343867169945123610055442737891660217373226295294743097455499000887902048561932201238196420622668559084236571477158877958072911342182638892030591096997530915440071713578656270937569144522747058509394531354553956479992557385761533760046943759048936071317708068748854556534302935477114077027436361908915985537625499604778132359956991975886673834500567571310861761341790604823139755094475918843428731292202721794199028778913308549785424648662707155213385791053043650707466934397804754186939783526010496083109926735948675940857850057954852535545852568155204043307814873980586631868864884643471880349468639457598369361439362615062683132061880964014276626309241152300153678557630960114883300639196776307001156415954826123730831930370202357351602622267153597479059721918301221432169938062297407925837388648742681507217469382498364330476513367950405647958390452041136634905286047232175880197866692172047994035479014430242341174365996883849813605751598542923976436851969437717214170234450038100031332969197790464471500906157310508233716593245033253655503938979795662847182436747500019242214609820259720470003422789508777894946506994324508971340556269474884933066067419390557396611489726509780308451380342580717338087308602002525482829587269203819331984421265814635639770136459084496379981505433850520453560735391377054704056815353619054119921149460671688966430064177145385639942793078743782120214954420621299064234634677119690753876865054601831985977549788142673671927048855490790446309445419935601254233244616612236997500382103549936234642906018620208271230539432421179306310224342158584936692696089309745135308395298562649129520818600534603185689108614824781387195364604679494768593516314597900199331566940002394233782020437672040394367852453806142767082845187258220360239692920298224924168959865790412079677521089695298449987855452291753999212343102244613030320695237980735714486398639615209808185054869127755421209548318976776413808702258162017098843403921161384043001204165185874003760907090698494971308365777454919056737601506728084591977319889771616034131646507545042038416204157555585666644307706457433556493104704492239831859146567738076461112247478076317265483174484740993120523274854012288559332860432213567871012925279398847826885294885253798193848232173285917006673112723280947442394685203673494681460085260969165976381015628876526955935629089808621635096408553009591549268626886327910335643180309822755215836386644824992724983875963888289468370215076337612938343637418069373544738882112878483070575838651563293298422791682498599119312732555129496585628619657357649823029619393020657680091819565011720385860665107605231853396304308005680097147265231786174302275854810367852846737326224100371431780800911242264566242240827548459688186948021614861417044043551088498540947530662801838180482586803843094871538317350361829 678657068199771795441997259077866260460369027064225642907886781049199480293519909663315586061078384664939034922892237250789989710657941276632024228577881288711763495497831892258642562066415215316820444385540281753980986949692132694688689419706303125938329518101200850022552299771489056862562206532246246755040311877121783563065098038010754291032759282202342068612697179649184939604456590400581484026041486501970933545595585575158094011531852333274324750111606512563256013020468162224040826739450541401863621390585180745748536933655238979632239540547013811712631346397807446784306582235883054068851887242028390208866957252179449601853091878994952427840036236506154662477309555063825145561205731031808678191107899421524387709983217416000126570545029618156217796277302603594546266295300996496671603257889834184365122185210370570167503389398394423851607929872633374806426615869985059490141846199546641133396734656534760464774278418854312201735786886906505347689516760235561636360205516391632558941309674375712852526735233646491349851870495785254798760988012344422013453086745770597779973010826086278260682190421968356382813772260487525472776195156585011683196947510100280690429391802540545190485814011004775136311348111896529283488803523411007872467684804576084425030889178868988340392571464693326456261337309355929203907306912122085640092372099416775602605242514643491905291085184927495016756786035669585581121590116690850032000647368931625767072369467118095498382180893553783764812357094428603021993757898413612795779873170278221922474348647723775140566030454613789391470220225913998591184733309199676086581392324135259113674808803384903421203180496049677816320263935004481653839972601051145017327638456361425436318656146885411740173972654768527063929739964844227930357700730764168884646426950174926923154343380991950038194233579449906229850426825661116291918948235258881040362860716102859745877683382590621762848616069320862772001140688345426829398218528684484400858590788841538914679460636738746199036807660306996757432206708729053443237221356109044822142834408416199146102028463850378640726655719509487379066840989230100685933044259631967563462620757544653205444494765393704024479931888840669170136846289350285936228901896096594929958789717605306402550369997439532722379835781314950046804824642697520605589892627233926634344201602535518970633428963281567849253667922955810973932036904011598434508125609855909497226053958255100532436975416266811553188442035886213387460813084398706548093589575888944432472893607270689338038241004665805831327288927415545769843026189773994459961118443597603003325322781757380726891079156240103599556411109421914779964327648453531665031458190851813600734570984928107142059637286482057551657605149017543125555458569286664307622775200800082437851698823321520769488277017369426935788693360446274745404604906513333760875000632941829570531654049776900815542156560465956108634608874925135794362762566200603607319059818217818783785910914758351381641218407055625150316654326608550879170263596273076526927465372156531959509165797844292352705432386213167530660914597688533830616959266788826779162628373645921040150247137005649290333275840188140861527106063263707090621780725261257896144616070035316245986766460598517997659994865326287319423009565068249723614390989067897417081719771019344126616717293119734767380087378631431061858733351166047941956941991442942995093500301965546347756345868437852209739700277500016404118890099210467630392430211448144129299596536063543942436406040166392971885590164395226256828715034621652251629402239089870490133134844913712906266492533445803688613445405005996299739809610538996233411382682172608104910312446951907544234811954949596373354816649811875503416222591775574647 1098090203052586178009572853171349059502072657515566560575027259916621736143695251968799717128927741061940465922296703024209693174171908361016079015685472649893532962751929217780989005167710471225405495622227318788798942871286462053249314060658778996007883817669857892479049904412263541057451779217281555151460108946012688664376537204174210529265289854644396635738908916975481765307817878043010311191636665300863934626776574431564309386533353412224628142670014000972384243822938056007869782959725027868934598317368323622616284922326934665777642997820497041664854282577361550789485588760548411277759825471310799369013508316515917152611042337063871915058113272546992504864657784043651032174949139184929464053420793098012132022441327618021928873478283502270382704368699287177443625102941464010871123756561664650042087440397376817971693105261026420889648016479525825882050136450996676869621327229767373900656114000401930409897888474297050093396004260132800642432614215734562524262254078323833797137730297044271936763306710805369307924781837967893690791579109341952928893158459349254050910579970609025319191584953322910339293764817873287006536242100344060619268265218169029544985926105476022304562841447366684052296885737396134061621163480402983759141519305143655735892650520659593163532326559169245299690068601558650998106335691035394189877796748079482757818628305696535555998552119325299770943725819195596077204700043426798707941505218989580619607915319686250702425488708427764351444225959313246493874107367053070394149234609640836985157480709604739154842656763854941691623898783544958706068033948396452393582548740090085237405640733755105778554783118316831413799323656922782875272142539113442425253475845010168117825873616267910104504449168136477469577698355296269066992606016811401060526624816867098971148378860006380280535407945446790079664032577259659215895385087228318757577030950552897845909016351788412227320116975478173280234857281590460083053722467664280063705773225589038933921675246559005919506811083096505535327153215723377952208561912378519707075900475835589703498639953576888421035107099852068096404928297832103211415873846901171382794605178810467841084264901852788520859913394274519690590407024741662990932958711450213984078710867065978091516800061616678108019778574393693828925039597118141904654127261911046325098078467590120802619406513069710522925594971811301764378346349431534035762358854472521734223554340358650468671618322285431761459672575318634566767123308740865133030282271978254177608202002569251987167761823266340434512978036030370551230221554378673954729711959912200903524654348697383121124861176677775639950778961875720922731410493640789885391697883772111825658739944793897554139314807571752850107593004469834879554670912388908920653095896038063173566185221961135979296462072238554691209902908765251521818413608771495777973844036862990954574655253942086689545917467556654603605917240702590713419500167707331691911037138107590399820042561265896423679634611213180735983298634315008312726756700977568766759324518724270035970278045322368669970915560697908523781437872542546119176292127221040347033641298925319887977132431890903088527124072361426778533779175986988038064175410464931390826076155296285411963147476227394524615930494416095941058105973621259315163659615954225327417362951329166881832553679764559760105071254595319351327103566242385554895285628861012368638239184078424830826921707089415503038123069182515003238202831765597126978058831105501779122626155456564600116497859731404692271450829502831488682111338929657931726549504321656664435410699724080759113229859669904060045226205917238564306051851366544693099569630194222966327356490502996042775759485612398211535299236615718598287760909125936476 1776747271252357973451570112249215319962441684579792203482914040965821216437215161632115303190006125726879500845188940274999682884829849637648103244263353938605296458249761110039631567234125686542225940007767600542779929820978594747938003480365082121946213335771058742501602204183752597920013985749527801906500420823134472227441635242184964820298049136846738704351606096624666704912274468443591795217678151802834868172372160006722403398065205745498952892781620513535640256843406218231910609699175569270798219707953504368364821855982173645409882538367510853377485628975168997573792170996431465346611712713339189577880465568695366754464134216058824342898149509053147167341967339107476177736154870216738142244528692519536519732424545034022055444023313120426600500646001890771989891398242460507542727014451498834407209625607747388139196494659420844741255946352159200688476752320981736359763173429314015034052848656936690874672166893151362295131791147039305990122130975970124160622459594715466356079039971419984789290041944451860657776652333753148489552567121686374942346245205119851830883590796695303579873775375291266722107537078360812479312437256929072302465212728269310235415317908016567495048655458371459188608233849292663345109967003813991631609204109719740160923539699528581503924898023862571755951405910914580202013642603157479829970168847496258360423870820340027461289637304252794787700511854865181658326290160117648739942152587921206386680284786804346200807669601981548116256583053741849515867865265466683189929107779919058907631829357328514295408687218468731083094119009458957297252767257596128480163941064225344351080449537140009199757963614366509230119587591927264529112115140164587442581114301371593554144529763153321844678421822905004533507438320140496997350306747575569945173051767042025894302722240998330318729641524896696309514459402920775507814333322487199797939891666655757591786699734379033990168733044799036052235997969935886912451940996348764464564364014430577848601135883297752118543618743403502292759359924452431395445783268487564529218734884251788849600668417427267061761762819361555475471769287062203897348918106533138946257225936355121046528759667246492545339845283115188860727253314091948927161860607546808914037500584671284494067170059056210830399614355708643875729864239815662510244019889144972959442280070125639773252835476351278372179262894767112738310383253443132470270484464328431231449608298613751001108593738552243314648114611204847954227936393139571681123871847867198610081095609839941325206002827932146265840266963445916321073247744152668414690830403509803906849977130454763848015940332917879239507190071297635702695738142094321550423156074623925426393310929722004696198952094053810401765198153487378005110129481675573228275871096838145611417884045282656748784739089607981626998596269211526267223018515284829538848844669804820525106309303718987505088074028022610712240526115627726507782262733907935299230096956325409183605953476024247805320853018268805886299952960923559191897020297250645293686789890880801995479443843166661022676347946911076054442352470231079949793251394009867126196269672571240928127379568896552378860399912549567640060885239250695128685956135726189286970692225331601657949913936825912522275925359742383260481115538689509038778050605022122744499082722348511008449270972884294527485158633226750413185836917408433496852227620303955363731739486043971178583267575527267712777823346682531407357092930976064757370489042553645908422222691520108542552903899897797664157040993898057745510826373551310183355951743411527154568545544637793665379722393115707748658671610923234864045861461905540926510952312366831071237668937454903587010571440561994584890115886427594101703983500901511123 2874837474304944151461142965420564379464514342095358764057941300882442952580910413600915020318933866788819966767485643299209376059001757998664182259948826588498829421001690327820620572401836157767631435629994919331578872692265056801187317541023861117954097153440916634980652108596016138977465764966809357057960529769147160891818172446359175349563338991491135340090515013600148470220092346486602106409314817103698802799148734438286712784598559157723581035451634514508024500666344274239780392658900597139732818025321827990981106778309108311187525536188007895042339911552530548363277759756979876624371538184649988946893973885211283907075176553122696257956262781600139672206625123151127209911104009401667606297949485617548651754865872652043984317501596622696983205014701177949433516501183924518413850771013163484449297066005124206110889599920447265630903962831685026570526888771978413229384500659081388934708962657338621284570055367448412388527795407172106632554745191704686684884713673039300153216770268464256726053348655257229965701434171721042180344146231028327871239403664469105881794170767304328899065360328614177061401301896234099485848679357273132921733477946438339780401244013492589799611496905738143240905119586688797406731130484216975390750723414863395896816190220188174667457224583031817055641474512473231200119978294192874019847965595575741118242499126036563017288189423578094558644237674060777735530990203544447447883657806910787006288200106490596903233158310409312467700809013055096009741972632519753584078342389559895892789310066933253450251343982323672774718017793003916003320801205992580873746489804315429588486090270895114978312746732683340643918911248850047404384257679278029867834590146381761671970403379421231949182870991041482003085136675436766064342912764386971005699676583909124865451101101004710599265049470343486389178491980180434723709718409715518555516922617208655437695716086167446217488850020277209332470855251526346995505663464013044528270137240019616782522811129856758038050429826500007828086513140175809347654345180866084236294635360087378553099308371004155482796869919213623571876697584894307108764791953434310329051831115165588887613024569099281066199758677389708551317660338833611918094819318997022898116211451737262585583970120672888938419392930102337704654903836933804414898147151056019284540358537715760575872241989420988895104857866578414502688729602874666506032843318800952965673162638972401469780212060837675076107787186523482520995059701880436814154154119845452787689297612409193312373764651198486700353244999476286872303469298531342369420542363422004810374631479152146969140801509595654879457969033173356625427148635735111435814853958396037252052050874515902250338266901625563251872791157957212884664800394064482148928966992876208784984069267243792728081201161846536318208499177976777789041432124056325316822688706667811479680964557661074194633991495579265315846443356330317221201762901615266991141134094432999583425996037290144229000487629481986622283251595238567504623776998228214060446114409605072031449721888489029692647263507608984578223790342773626068969543521230907473229910971496560816104512000787455467387523984910994418594664415237683166750131546191120677796768380627887069913061413053307046891855854158479201539221512310768353941710220976348071916445673677677890281824652648854287590229887822069764512940483650819051747513249164967732369978670122396009410189282616683215815946415865046410595295762741661884348547873659147687544848846976673142669401759629202356428491823400889234192937712480968115082501247733183819003956244361874424492952252785611808703897816840473428351913313272085619610521942561054037565025427957899629786330926174392796425415123043312699991744410027447599 4651584745557302124912713077669779699426956026675150967540855341848264169018125575233030323508939992515699467612674583574209058943831607636312285504212180527104125879251451437860252139635961844309857375637762519874358802513243651549125321021388943239900310489211975377482254312779768736897479750716337158964460950592281633119259807688544140169861388128337874044442121110224815175132366814930193901626992968906533670971520894445009116182663764903222533928233255028043664757509750492471691002358076166410531037733275332359345928634291281956597408074555518748419825540527699545937069930753411341970983250897989178524774439453906650661539310769181520600854412290653286839548592462258603387647258879618405748542478178137085171487290417686066039761524909743123583705660703068721423407899426385025956577785464662318856506691612871594250086094579868110372159909183844227259003641092960149589147674088395403968761811314275312159242222260599774683659586554211412622676876167674810845507173267754766509295810239884241515343390599709090623478086505474190669896713352714702813585648869588957712677761563999632478939135703905443783508838974594911965161116614202205224198690674707650015816561921509157294660152364109602429513353435981460751841097488030967022359927524583136057739729919716756171382122606894388811592880423387811402133620897350353849818134443071999478666369946376590478577826727830889346344749528925959393857280363662096187825810394831993392968484893294943104040827912390860583957392066796945525609837897986436774007450169478954800421139424261767745660031200792403857812136802462873300573568463588709353910430868540773939566539808035124178070710347049849874038498840777311933496372819442617310415704447753355226114933142574553793861292813946486536592574995577263061693219511962540950872728350951150759753823342003040917994690995240182698692951383101210231524051732202718353456814283864413029482415820546480207657583065076245384706853221462233907957604460361808992834501254450194631123947013154510156594048569903510120845873064628240743100128449353648765513370244339167402699976788431422544558632738575179047348466871956511006113710059967449275309057051520709934141784236345773611539603960504897412044913652925560845256679926543831812153712036408547079651140179729099768819007285810981580384768076749466925142167040200992243982638607841400349125077465772267267284120761345527240999112856317798976303327783129384197122770937586152470888805799389918390755901797728330475222996095020008495278025967712651397770393222249134637579767479130632966193511962922203193376717042684010784111372766931808717224608609606910817156741842513534118965159104470992328122886777829432986238010033019962678445361804237906946537218995679373653637989311444590889774929875740055377204838089714354396401953312526449476865940251454517945207095447188304056264450639341154855671533376472632004787273861380061699722065523601876028086969471958043728984025635523202290371231050758408767031949513314392034321340647750792508583204556162126696520797295478859354132904300485874026929165731655690715323611454520060632666142813004706018762794915240774599426180644067801744231891569684007846247923897460562058655549654488378295436087681917309964767460605959488727862975349879219569167781213900862462020337051000277392719760825998470816415528396026188898731095625533148815075388521048820177698777401059252548599740869468923096101718156166367187993456858143950928593769762547577817952388693717726641719036916212793595967071538496781685222305659527000020585532817298946979703764086032278298438452991144710973572501788999668089872674645901319557362569427763708292397774775177626546121474254927885108802694365412803216796902366736387381315531009470906801695727910928958722 7526422219862246276373856043090344078891470368770509731598796642730707121599035988833945343827873859304519434380160226873418435002833365634976467764161007115602955300253141765680872712037798002077488811267757439205937675205508708350312638562412804357854407642652892012462906421375784875874945515683146516022421480361428794011077980134903315519424727119829009384532636123824963645352459161416796008036307786010232473770669628883295828967262324060946114963684889542551689258176094766711471395016976763550263855758597160350327035412600390267784933610743526643462165452080230094300347690510391218595354789082639167471668413339117934568614487322304216858810675072253426511755217585409730597558362889020073354840427663754633823242156290338110024079026506365820566910675404246670856924400610309544370428556477825803305803757617995800360975694500315376003063872015529253829530529864938562818532174747476792903470773971613933443812277628048187072187381961383519255231621359379497530391886940794066662512580508348498241396739254966320589179520677195232850240859583743030684825052534058063594471932331303961378004496032519620844910140870829011451009795971475338145932168621145989796217805935001747094271649269847745670418473022670258158572227972247942413110650939446531954555920139904930838839347189926205867234354935861042602253599191543227869666100038647740596908869072413153495866016151408983904988987202986737129388270567206543635709468201742780399256684999785540007273986222800173051658201079852041535351810530506190358085792559038850693210449491195021195911375183116076632530154595466789303894369669581290227656920672856203528052630078930239156383457079733190517957410089627359337880630498720647178250294594135116898085336521995785743044163804987968539677711671014029126036132276349511956572404934860275625204924443007751517259740465583669087871443363281644955233770141918236908973736901073068467178131906713926425146433085353454717177708472988580903463267924374853521104638494469811413646758143011268194644478396403517948932386204804050090754473630219733001808005604426545955799285159435578027355502657788802619225164456850818114878502013401759604360888166686298821754808805445054677739362637894605963362573991759172763351499245540854710269923488145809665235110300401988707238400215913319285039671913683271340040314191257011528522997145557160924997319455193256162388978627923941743687842459192465482336171101930337162795933576558553940669017860227593466863688984251812996218055796900445309432180087558104185459690834658327949953532130329119666546756962398490065680186341215353153531915130353813527599240088759057786297543352109188998423128137644348953550035413564544422052863991415999930497412678753809196875485897304936905510780469401803774439730269804537526133805082590563181386022579770242204947141413301054263415594625165081845305882763397480172494222083140443484468238419041135894356057019181141343933412828288360950185788537138469281512365145191408350457945550604536263321828277232779130866456151400694201144574293707073414579018710090946058378887620144720407970874962129045210889933155778332087732338436471682072656091615564362560336403570471463313635447882371556477250214069726061462186219228108430642564228986587375797776036762932526616059637068059341663559558563311045746661471046974818888331974069703866789012920278182003102665618408870889942211717884710071600347254118633890828471696826288763197403646140760634144409716178412624228547684456459388526067584789871941283511920385473454827891707419156202377014024640699836213896701798513246413520954238877894792576458033361542514365626898686931366066467244604181720749688088449712165731996197488939146367719793370702846583233292910780177740946132514219501687472320956406321 12178006965419548401286569120760123778318426395445660699139651984578971290617161564066975667336813851820218901992834810447627493946664973271288753268373187642707081179504593203541124851673759846387346186905519959080296477718752359899437959583801747597754718131864867389945160734155553612772425266399483674986882430953710427130337787823447455689286115248166883428974757234049778820484825976346989909663300754916766144742190523328304945149926088964168648891918144570595354015685845259183162397375052929960794893491872492709672964046891672224382341685299045391881990992607929640237417621263802560566338039980628345996442852793024585230153798091485737459665087362906713351303810047668333985205621768638479103382905841891718994729446708024176063840551416108944150616336107315392280332300036694570327006341942488122162310449230867394611061789080183486375223781199373481088534170957898712407679848835872196872232585285889245603054499888647961755846968515594931877908497527054308375899060208548833171808390748232739756740129854675411212657607182669423520137572936457733498410701403647021307149693895303593856943631736425064628418979845423923416170912585677543370130859295853639812034367856510904388931801633957348099931826458651718910413325460278909435470578464029668012295650059621687010221469796820594678827235359248854004387220088893581719484234481719740075575239018789743974443842879239873251333736731912696523245550930868639823535278596574773792225169893080483111314814135191033635615593146648987060961648428492627132093242728517805493631588915456788941571406383908480490342291397929662604467938133169999581567351541396977467619169886965363334454167426783040391995908930404671271377003318163264488665999041888472124200269664570339536905456618934455076270286666591292187729351788312052907445133285811426384958747785010792435254431460823851786564394746382855186757821874120955262430551184937481496660547727260406632804016150429700101884561694450814811420872384736662513939139748920006044770705156165778351238526966307028069778259269432290833854602079573381767321375848765713358499261947867000571914135396363981666573631328807329120992212073369208879669945218207008755896593041790828289278966598399503375407487644684733608608179172084686522423635524554356744886250480131088476057407501724300865424439990432738265182481231458003772505635753398561274122396920965523429673099389269468984686955315510264458639498885059721359918704514144706411557823659617511857619590781980143471441051891920453804710206055270755583230084056907462587533299609459752632740268925320693259056903383899363937643287897285622244823848698365968603454285194622723117388287242115341281672922191393977408290874024435962608942774482991716143412704892984310559148769780846394664214660145544592903338643172304917577787975892296691681813081664755572208622690072353385901570333402738635028165755459613075489255512280421197594078122542783017372020382300246404679169814172661671571883596195949817117489895063918928297643168924983571639449660707562820897665371589185932768711923010576820085308053351800411123294486416649105843556075968783038106495133351712456672082272259632164304568295140155471159883371779832118535905763724214439757622306910025740607331689592546864525639012112811746185227418281960204125579895614311323139381231872973289704747502465730055687744015903715151917741006929919710119910495285769324148946994988102813924573414982455130385397102998904585073003485940960202046500073150177115167786621706084734879478991923970236513114013078683202397599557457998783193600465884545524711959407230022605766148959822361210604238301544588250923429036672367890013147462863627338711853470452416824255170414158783506063380135659647167559056477141985126303383200231885365043 19704429185281794677660425163850467857209896764216170430738448627309678412216197552900921011164687711124738336372995037321045928949498338906265221032534194758310036479757734969221997563711557848464834998173277398286234152924261068249750598146214551955609125774517759402408067155531338488647370782082630191009303911315139221141415767958350771208710842367995892813507393357874742465837285137763785917699608540926998618512860152211600774117188413025114763855603034113147043273861940025894633792392029693511058749250469653059999999459492062492167275296042572035344156444688159734537765311774193779161692829063267513468111266132142519798768285413789954318475762435160139863059027633078064582763984657658552458223333505646352817971602998362286087919577922474764717527011511562063137256700647004114697434898420313925468114206848863194972037483580498862378287653214902734918064700822837275226212023583348989775703359257503179046866777516696148828034350476978451133140118886433805906290947149342899834320971256581237998136869109641731801837127859864656370378432520200764183235753937705084901621626226607555234948127768944685473329120716252934867180708557152881516063027916999629608252173791512651483203450903805093770350299481321977068985553432526851848581229403476199966851570199526617849060816986746800546061590295109896606640819280436809589150334520367480672484108091202897470309859030648857156322723934899433652633821498075183459244746798317554191481854892866023118588800357991206687273794226501028596313458958998817490179035287556656186842038406651810137482781567024557122872445993396451908362307802751289809224272214253180995671799965895602490837624506516230909953319020032030609257633816883911666916293636023589022285606186566125279949620423922423615947998337605321313765484064661564864017538220671702010163672228018543952514171926407520874435838109664500141991592016039192171404288086010549963838679633974333057950449235783154819062270167439395714884140309111516035043778243389817458417463299177046545883005362710546018710645474236340924609075709793114769129381453192259314298547107302578599269638054152784285798795785658147235870714086770968484030833384893307577651401847235882967018329236294109338770061636443906371959678417625541232693559012700166410121360780533077183295807717637620150464111904116009605222795422715015301028632898955722199119716376158779592062078017193410728374797774702729940975669986990058522714638090703260352226841519845105324483279766231956467659107688820899114142386142828859768689774891565790537486831739788872299287025887719183324737089725114717091175203027639435772423088787125026389751828546731912115811415379759690235222957604958521830343738015851962539440187161745525340288190790289247464659550250248198438654390415349130429472448254895480759173998472066933886760223078056626472038284697518467746876216166136115200659977542753518973723750699462333488434179561964158715953795128534765629355602709800140853395961341141225467947840614523464560964997202216350770316116858963515098809945882893006183290941720667766143686940971945131531265361378778151054446009124561370194227471788184138744738363875196526864904698710626934473518819662203675013155977793940501219808526138134171249895918579134240323415048875744272801287055350019545789139454177622368886042702919948108593079476535433922476756936181897155020406625338790600062122213170479395749294249106736704753045111808743893582800749139665219217413202119372826275047757606636503693854206495956676162990912309443691341005720497839404774613582098698619407497167683058771125480361468900500558725417855722753118603928443275182289495503916972071733897150952077050877585466649905763401538133952154208909963368952557947736797423274499345805070672552841771364 31882436150701343078946994284610591635528323159661831129878100611888649702833359116967896678501501562944957238365829847768673422896163312177553974300907382401017117659262328172763122415385317694852181185078797357366530630643013428149188557730016299553363843906382626792353227889686892101419796048482113865996186342268849648271753555781798226897996957616162776242482150591924521286322111114110775827362909295843764763255050675539905719267114501989283412747521178683742397289547785285077796189767082623471853642742342145769672963506383734716549616981341617427226147437296089374775182933037996339728030869043895859464554118925167105028922083505275691778140849798066853214362837680746398567969606426297031561606239347538071812701049706386462151760129338583708868143347618877455417589000683698685024441240362802047630424656079730589583099272660682348753511434414276216006598871780735987633891872419221186647935944543392424649921277405344110583881318992573383011048616413488114282190007357891733006129362004813977754876998964317143014494735042534079890516005456658497681646455341352106208771320121911149091891759505369750101748100561676858283351621142830424886193887212853269420286541648023555872135252537762441870282125939973695979398878892805761284051807867505867979147220259148304859282286783567395224888825654358750611028039369330391308634569002087220748059347109992641444753701909888730407656460666812130175879372428943823282780025394892327983707024785946506229903614493182240322889387373150015657275107387491444622272278016074461680473627322108599079054187950933037613214737391326114512830245935921289390791623755650158463290969852860965825291791933299271301949227950436701880634637135047176155582292677912061146485875851136464816855077042856878692218285004196613501494835852973617771462671506483128395122420013029336387768603387231372661000232856047355328749413890160147433834839270948031460499227361234739690754465386212854920946831861890210526305012693848178548982917992309823503188168455342824897121532329017574088488904743668631758463677789366496536450757301957972672797809055169579171183773450516765952372427114465476356862926160140177363700778603100316333547994889026711256297295834693612714177549281128639980567857589710227755117194537254523155007611260664165659353215219361921015888551894548747870405276654173019073534268652354283473242113297124303021735177406462879713061753090212994399615168872049779882633342604847966763784665179462617182102870548212099939100159580741352918852592198099615351919858948473253125020131349248624932027294813039876583793993109014081028818490924925058017246937485490994993206113741354635233199702621875031516895879796352499238634612040287925148382961644737241483700895683273558023808320031094593102869050560893723332811091427200398336961974364363625568573304742812198680660974769871853648446549568874750228825733002366594462979262979883531082512302104747176087974177428781170308525416882461812425279557537091042585437735678442392858608166127199922409765777566526335996475317472078938952002864731244586228994994323745542654559847795427256898002085093344408300722605139896595416820636134828691169472993850782405633402191442035793549061741518154940977430833048159911857227608171681104849054060988556018986514473631979749914719349791933692025423934792921398297826979001163978164500952085612306938147632268710310182032708456248719898241244094839518677618526791199023968197852138569804290416688060333028321547830756813618861640828202041411042469904233413927854119733576522607172213139556697402601097633567604295837439768698923106324874377678083963722842229987863433212924540589339961747044613815704389589438937102322587656708548110937714973343504612205115295853900416484472108453872784727136407 51586865335983137756607419448461059492738219923878001560616549239198328115049556669868817689666189274069695574738824885089719351845661651083819195333441577159327154139020063141985119979096875543317016183252074755652764783567274496398939155876230851508972969680900386194761295045218230590067166830564744057005490253583988869413169323740148998106707799984158669055989543949799263752159396251874561745062517836770763381767910827751506493384302915014398176603124212796889440563409725310972429982159112316982912391992811798829672962965875797208716892277384189462570303881984249109312948244812190118889723698107163372932665385057309624827690368919065646096616612233226993077421865313824463150733591083955584019829572853184424630672652704748748239679707261058473585670359130439518554845701330702799721876138783115973098538862928593784555136756241181211131799087629178950924663572603573262860103896002570176423639303800895603696788054922040259411915669469551834144188735299921920188480954507234632840450333261395215753013868073958874816331862902398736260894437976859261864882209279057191110392946348518704326839887274314435575077221277929793150532329699983306402256915129852899028538715439536207355338703441567535640632425421295673048384432325332613132633037270982067945998790458674922708343103770314195770950415949468647217668858649767200897784903522454701420543455201195538915063560940537587563979184601711563828513193927019006742024772193209882175188879678812529348492414851173447010163181599651044253588566346490262112451313303631117867315665728760409216536969517957594736087183384722566421192553738672579200015895969903339458962769818756568316129416439815502211902546970468732489892270951931087822498586313935650168771482037702590096804697466779302308166283341801934815260319917635182635480209727154830405286092241047880340282775313638893535436070965711855470741005906199339605239127356958581424337906995209072748704914621996009740009102029329606241189153002959694584026696235699640961605631754519871443004537691728120107199550217904972683072753499159611305580138755150231987096356162472157770453411504669550238171222900123623592733640246911145847731611987993623911199396736262594223315625070987722052947610917572546352527536007335768987810753549954689565128972041197242842649022936999541166352663798664757475628072076888034374562901551310005672361829673283082613797255423656290441436550864915724340590838859039838405347980695551227116011506699307722506586150314444056406759267269562252032994978340928475120609633840039043662506963089037497231314320700759059908531082834128798119993693952564493789670026272616021382957942288086547349011118001634721752118837401311021068978350056139887687823148806482766823989086473562805488467870281342791541523440976242853762283539682095879096135972836430559455333527820868825152699259467390321395322765735010865429485710545120113436703013679345864570946481666711334803927972557315935937881019592261953278675518878232268053385576292965857419573163329416273180081894425489851095285263354971945135293806451912352372681935295690674185825209174205407952448094217905778494950076928080734161559000010025218034377692561409340106921011104239468562217719312095442197239359186294083107123526750815345172469109864300291787801528981999295703858803969556060911466637712869506890906455536597900641257888267509461958554257607500910244154921626728115647535493201576223430663638599942917550998601278235023507829890179705854596595588363450122555495034697998087205460816542857619195125454074362011946826721655396022008594801250663066962920130167823606883599795533806716841446158431138615502420044506312033480941764767781440467024403752228351058246682063091923883306873564763063032651323690983817913524545337568907771 83469301486684480835554413733071651128266543083539832690494649851086977817882915786836714368167690837014652813104654732858392774741824963261373169634348959560344271798282391314748242394482193238169197368330872113019295414210287924548127713606247151062336813587283012987114522934905122691486962879046857923001676595852838517684922879521947225004704757600321445298471694541723785038481507365985337572425427132614528145022961503291412212651417417003681589350645391480631837852957510596050226171926194940454766034735153944599345926472259531925266509258725806889796451319280338484088131177850186458617754567151059232397219503982476729856612452424341337874757462031293846291784702994570861718703197510252615581435812200722496443373702411135210391439836599642182453813706749316973972434702014401484746317379145918020728963519008324374138236028901863559885310522043455166931262444384309250493995768421791363071575248344288028346709332327384369995796988462125217155237351713410034470670961865126365846579695266209193507890867038276017830826597944932816151410443433517759546528664620409297319164266470429853418731646779684185676825321839606651433883950842813731288450802342706168448825257087559763227473955979329977510914551361269369027783311218138374416684845138487935925146010717823227567625390553881590995839241603827397828696898019097592206419472524541922168602802311188180359817262850426317971635645268523694004392566355962830024804797588102210158895904464759035578396029344355687333052568972801059910863673733981706734723591319705579547789293050869008295591157468890632349301920776048680934022799674593868590807519725553497922253739671617534141421208373114773513851774920905434370526908086978263978080878991847711315257357888839054913659774509636181000384568345998548316755155770608800406942881233637958800408512254077216728051378700870266196436303821759210799490419796359487039073966627906612884837134356443812439459380008208864660955933891219816767494165696807873133009614228009464464793800209862696340126070020745694195688454961573604441536431288526107842030896057108204659894165217641736941637184955186316190543650014589099949596566407051323211432390591093940244747391625289305479612920905681334767125160198701186333095393597045996742927948087209212720136583301861408502002238156361462182241215693213505346033348731061053448097170203664289145603942970407385635532432830119170154498303955128718740206007731089618287981323300399193879796171878770339688689020862656156345859426850303604951847570539028090472529492788512296787527094438286122163341615513798936492325075943142879148812184877489551806916963758107016376164056029441182582210820623509753269014717197663520307612962096427812836206110451220008307689982156836363512276190312437384644392491537136577095094631109296277433097947200794185023906832563681023833360234237262175043769315303885615658311443547486707899682276659229395653458783771458510891902149986097106246406436474723765703955076415323310638823311971408250278181329456616195589847671992016187091760580827050884087296671183156938601676929619436216840385056969632664850450179311250186795672682067977329578379636144853909203850686412191745740323202546275262111279460830250383174670192234453994964351134922496450021523170852856310774316002613979045618578153761489752936890572505790905188733434537761878805758840353121768896701889876211220426187630082976835545776737296415742108282165391141941519196453416804827798246578240038882918143419120263741417135862900039498247930720776271547049245187650884619119039861212093424609692434818267362800359898866746713208474173211890680564288388419002048715344585095651995227986378583485830056463340854550938714955230174029638856650378176968178328505224107468290021978418122296044178 135056166822667618592161833181532710621004763007417834251111199090285305932932472456705532057833880111084348387843479617948112126587486614345192364967790536719671425937302454456733362373579068781486213551582946868672060197777562420947066869482478002571309783268183399181875817980123353281554129709611601980007166849436827387098092203262096223111412557584480114354461238491523048790640903617859899317487944969385291526790872331042918706035720332018079765953769604277521278416367235907022656154085307257437678426727965743429018889438135329133983401536109996352366755201264587593401079422662376577507478265258222605329884889039786354684302821343406983971374074264520839369206568308395324869436788594208199601265385053906921074046355115883958631119543860700656039484065879756492527280403345104284468193517929033993827502381936918158693372785143044771017109609672634117855926016987882513354099664424361539495214552145183632043497387249424629407712657931677051299426087013331954659151916372360998687030028527604409260904735112234892647158460847331552412304881410377021411410873899466488429557212818948557745571534053998621251902543117536444584416280542797037690707717472559067477363972527095970582812659420897513151546976782565042076167743543470987549317882409470003871144801176498150275968494324195786766789657553296045046365756668864793104204376046996623589146257512383719274880823790963905535614829870235257832905760282981836766829569781312092334084784143571564926888444195529134343215750572452104164452240080471968847174904623336697415104958779629417512128126986848227085389104160771247355215353413266447790823415695456837381216509490374102457550624812930275725754321891374166860419179038909351800579465305783361484028839926541645010464471976415483308550851687800483132015475688243983042423090960792789205694604495125097068334154014509159731872374787471066270231425702558826644313093984865194309175041351652885188164294630204874400965035920549423008683318699767567717036310463709105426399431964382567783130607712473814302888005179478577124609184787685719147611034812258436646990521380113894712090596459855866428714872914712723542330206653962469059164002579087564155946788361551899702928545976669056820072771116273732685622929604381765730738701637163902285265555343058651344651261093361003348593879491878262821661420807949087822660071754974294817965772643690468249329688253775460595934854820044443080796846590129456693329303995950420995807678578078062195275171177100212752618694119865856984842548879956565593139126628551340450034057527323619394655936214557996400856158777271677268805878830054045596586990030723037759121998317527729931221938625144475021133554598974541376591312152567700524029259257702775131679068630399169000744060593780176185915932513379430857378170791392156529233920037224744479240360384549848986059493704652496439092081038896481087797154092606821336385290338575260224405265438169845695830122543413042184287456066985718982630595293555578692208888264374107697754492786032468769929566417506038187045844182022829222590477635069290974358864915126891026210266143838072802898273529155965290622758996058063739938636154879127238228378973601085847244213650514730673497180142345825371909551420748078071474661673311795193992280717156602562117531595978341322436957731045813848357210218660412079639890074359779447016728620631230855256147483712130670342551709704951193312230497991965538945803991084859070195054695039851306076468419744737514739007483713863972630897598037585453391537319129166244370641725246631065866582867489446618287236068930429763280029034570320092073968745697397405734546850140664217764629601964028708928143351267270523487744606779289773201912237121562739957251741731241361156547798452107935502963459864951949 218525468309352099427716246914604361749271306090957666941605848941372283750815388243542246426001570948099001200948134350806504901329311577606565534602139496280015697735584845771481604768061262019655410919913818981691355611987850345495194583088725153633646596855466412168990340915028475973041092588658459903008843445289665904783015082784043448116117315184801559652932933033246833829122410983845236889913372101999819671813833834334330918687137749021761355304414995758153116269324746503072882326011502197892444461463119688028364815910394861059249910794835803242163206520544926077489210600512563036125232832409281837727104393022263084540915273767748321846131536295814685660991271302966186588139986104460815182701197254629417517420057527019169022559380460342838493297772629073466499715105359505769214510897074952014556465900945242532831608814044908330902420131716089284787188461372191763848095432846152902566789800489471660390206719576808999403509646393802268454663438726741989129822878237487364533609723793813602768795602150510910477985058792264368563715324843894780957939538519875785748721479289378411164303180833682806928727864957143096018300231385610768979158519815265235926189229614655733810286615400227490662461528143834411103951054761609361966002727547957939796290811894321377843593884878077377762628899157123442875062654687962385310623848571538545757749059823571899634698086641390223507250475138758951837298326638944666791634367369414302492980688608330600505284473539884821676268319545253164075315913814453675581898495943042276962894251830498425807719284455738859434691024936819928289238153087860316381630935421010335303470249161991636598971833186045049239606096812279601230946087125887615778660344297631072799286197815380699924124246486051664308935420033799031448770631458852783449365972194430748006103116749202313796385532715379425928308678609230277069721845498918313683387060612771807194012175708096697627623674638413739061920969811769239776177484396575440850045924691718569891193232174245264123256677733219508498576460141052181566145616076211826989641930869366641306884686597755631653727781415042182619258522929301823491926773061013792270596393170181504400694179986841205182541466882350391587197931314974919018718323201427762473666649724373115005402138644920059846653499249722465530835095185091768167694769539010141270757241958638583963569715614097853884862121083894630750433158775173161821002854321219074981310627296349614875603850456848401883964192039756369098478120970169461936690119418984656065668619417063637237561151965609741557997551728356932893181234720414556417618063707543597403503953788830054135286054346968912513432759248654228290148271796638061684204274248995513360235369708922783439369050787235532513020250906217560830308424050516007952472801900688433962331867238018929503147192948230872819419727941914671482861396342782096746108597640093529236067566997804655877864049209628356587732272529510148430693892541709484686585671708878889331032200235782357975935822242648664359777238409522225278806425009073713309887148818226229576035794534563107866595323113470737653348452840406152086295441064035393318318272299733036442079065385792831587567416196789992784776640972596208546579743655202073035825796595808245215515451570012913336433534209957386941015111492535566785247782724451317268373324612121658252775568973752999751958037359923351096530181792681786739088967794407707647227969382226800589391508111844679104323046659783620432882426603977605389766760498077083701322258095400713293615829376131250184906444079582871227979670887197792563639927901317033300548141957588077970022935269142712933109214697616023936914521934753100579951085461330228488157142411151201596607629918699419689661771905920397957481381582160996127 353581635132019718019878080096137072370276069098375501192717048031657589683747860700247778483835451059183349588791613968754617027916798191951757899569930032999687123672887300228214967141640330801141624471496765850363415809765412766442261452571203156204956380123649811350866158895151829254595222298270061883016010294726493291881107286046139671227529872769281674007394171524769882619763314601705136207401317071385111198604706165377249624722858081039841121258184600035674394685691982410095538480096809455330122888191085431457383705348530190193233312330945799594529961721809513670890290023174939613632711097667504443056989282062049439225218095111155305817505610560335525030197839611361511457576774698669014783966582308536338591466412642903127653678924321043494532781838508829959026995508704610053682704415003986008383968282882160691524981599187953101919529741388723402643114478360074277202195097270514442062004352634655292433704106826233628811222304325479319754089525740073943788974794609848363220639752321418012029700337262745803125143519639595920976020206254271802369350412419342274178278692108326968909874714887681428180630408074679540602716511928407806669866237287824303403553202141751704393099274821125003814008504926399453180118798305080349515320609957427943667435613070819528119562379202273164529418556710419487921428411356827178414828224618535169346895317335955618909578910432354129042865305008994209670204086921926503558463937150726394827065472751902165432172917735413956019484070117705268239768153894925644429073400566378974377999210610127843319847411442587086520080129097591175644453506501126764172454351116467172684686758652365739056522457998975324965360418703653768091365266164796967579239809603414434283315037741922344934588718462467147617486271721599514580786107147096766491789063155223537211797721244327410864719686729888585660181053396701343339953271201477140327700154597637001503187217059749582815787969268618613462886005732318662784860803096343008567082235155427675317592664138627831906387285445693322801464465320530758690754800863897546137252965681625077953875207977869526365818377874898049047973395844014547034256979714976261329760395749269068556640968348393104885470012859019448407270702431248651704341252805809528204405351361537017290667693987978711191304760343083468879428974676970030989356190346959229093417313713612878781535488257788322134191809337670091346368013595217604901799700911348531674639931292300035871411529034926464079239363216856581851096815090035318921532668298941221658807746045614977687595209492933360952653487942914929294037393497686233686423942537597643000090943819553091894408052664496642444654697873798703311281826395612603060795586401563213884264628966625558571048119417634701513764311499997737016224356563895438809850972692080590491565787275243673982387553332780721805479221646567167921953477381678577833905751732700350572452857336379916102269314647798202283562395072923190614981348608695203669216267002434468023241088500156465673690315028681133129706804827028263465852269191096542532477626453295520550394659449689998892805589257308810456246726369562117376918200060093457058256908454612163680307444359393917434811629847304723458273821114942033918489295075950151107300458269120040409507732287169515898551065805935728263452069223581380633604992943111729348013214686481437699792297594384230607214184843635481766872733502386737932401198292399673186173773373311659659586562806884530410399515079528357947621434087691469362397658096114669154713795414529879537986471101377881250773026947072317846266906956128222326919956935887353392622110703285475375757482119283377150873844299580052645842665286020371103438830068109518261359054648272764336564881660430661050818319704372505892984345042025948076 572107103441371817447594327010741434119547375189333168134322896973029873434563248943790024909837022007282350789739748319561121929246109769558323434172069529279702821408472145999696571909701592820797035391410584832054771421753263111937456035659928309838602976979116223519856499810180305227636314886928521786024853740016159196664122368830183119343647187954083233660327104558016716448885725585550373097314689173384930870418539999711580543409995830061602476562599595793827510955016728913168420806108311653222567349654205119485748521258925051252483223125781602836693168242354439748379500623687502649757943930076786280784093675084312523766133368878903627663637146856150210691189110914327698045716760803129829966667779563165756108886470169922296676238304781386333026079611137903425526710614064115822897215312078938022940434183827403224356590413232861432821949873104812687430302939732266041050290530116667344628794153124126952823910826403042628214731950719281588208752964466815932918797672847335727754249476115231614798495939413256713603128578431860289539735531098166583327289950939218059927000171397705380074177895721364235109358273031822636621016743314018575649024757103089539329742431756407438203385890221352494476470033070233864284069853066689711481323337505385883463726424965140905963156264080350542292047455867542930796491066044789563725452073190073715104644377159527518544276997073744352550115780147753161507502413560871170350098304520140697320046161360232765937457391275298777695752389662958432315084067709379320010971896509421251340893462440626269127566695898325945954771154034411103933691659588987080554085286537477507988157007814357375655494291185020374204966515515933369322311353290684583357900153901045507082601235557303044858712964948518811926421691755398546029556738605949549941155035349654285217900837993529724661105219445268011588489732005931620409675116700395454011087215210408808697199392767846280443411643907032352524806975544087902561038287492918449417128159847146245208785896312873096029643963178912831300040925461582940256900416940109373126894896550991719260759894575625158019546159289940231667231918773316370526183752775990053600356788919450572957335148335234310068011479741369839994468633746223570723059576007237290678072001085910132296069832632898771037958259592805934410264069862061799157050959885969370364174555672251462745105203871886176019053930421564722096801172370390766722802555232567606655950558588649650747015379491774865963203555256612950949574936060204780858222787717925877724476365462678614925156361458543102510651039671271862187218628218100790104042006245141240403594897608383146029694107011465554958087457122452931601430098192250664744999860650558727244499998675548342010417170204870234026784562406215297846532780614411446762323774592769024453897654513262603485534746281011594624898949588481839404814873724460674580014349372793879808520424334184571980133363857426558871294667602433339045675241150404688355801938711313357354273288735938823649626137271329797489484043236550488744658694200170255842364775271521750126430453984253106759400912370779548109595179209968269463213641124128850376575180754345200122386509745186749022379046044094716243050462087538242465069038731152224143126254864928285625023183857182429234984600015893115204467180716116947418852775667563046616386539298603095952567866568137230359172222203558832863402915295068524671490166086807380833401742755538460248978070918729209514722561739311978380503860691669074752164418594191752856036053509930592831602300477509131435679471026655189074246577843326014890559884837204386693170252660873553345780417388426090083983058997196076582757187220773471683389915529439746749516197059423965933172511579130080740480091610292903850465726624186944203 925688738573391535467472407106878506489823444287708669327039945004687463118311109644037803393672473066465700378531362288315738957162907961510081333741999562279389945081359446227911539051341923621938659862907350682418187231518675878379717488231131466043559357102766034870722658705332134482231537185198583669040864034742652488545229654876322790571177060723364907667721276082786599068649040187255509304716006244770042069023246165088830168132853911101443597820784195829501905640708711323263959286205121108552690237845290550943132226607455241445716535456727402431223129964163953419269790646862442263390655027744290723841082957146361962991351463990058933481142757416485735721386950525689209503293535501798844750634361871702094700352882812825424329917229102429827558861449646733384553706122768725876579919727082924031324402466709563915881572012420814534741479614493536090073417418092340318252485627387181786690798505758782245257614933229276257025954255044760907962842490206889876707772467457184090974889228436649626828196276676002516728272098071456210515755737352438385696640363358560334105278863506032348984052610609045663289988681106502177223733255242426382318890994390913842733295633898159142596485165042477498290478537996633317464188651371770060996643947462813827131162038035960434082718643282623706821466012577962418717919477401616742140280297808608884451539694495483137453855907506098481592981085156747371177706500482797673908562241670867092147111634112134931369630309010712733715236459780663700554852221604304964440045297075800225718892673050754112447414107340913032474851283132002279578145166090113844726539637653944680672843766466723114712016749183995699170326934219587137413676619455481550937139963504459941365916273299225389793301683410985959543907963476998060610342845753046316432944098504877822429698559237857135525824906175156597248670785402632963749628387901872594338787369808045810200386609827595863259199613175650965987692981276406565345899090589261457984210395002573920526378560451500927936031248624606154101505390782113698947655217804006919264147862232616797214635102553494684385364537164838280715205314617330917560440732490966314930117184668719641513976116683627414953481492600389288401739336177472222427400828813046818882477352447447149586737526620877482229263019935889403289693044539031830146407150232928599457591869385864341526640692129674498153245739759234813443169185965608371624602256143916138330590489880949686618426908526701330042442918473469532800671751150240099779755456016867099383284111508293592612751570951476463463304527614186791481256021715787023790465948782738883403685841427936237924102159675962197402742154996251634912711924587863267805795447052121941128764627642173900581465289622504935540548873906213034862757137178306885572174747284849614945463441788506277467922299613792316430378171235049007326768351106139252413920101105494230380973281670564488082402678505224761154857062675356529660656589759099892025018205713747825377514377236095289323316452300010930619190848063578752210510963391266798374842401724817270676825113433943105652206501628088358565841905579530386840131841184222307434832089208957363802693954104580666457190675891399439701324283202480276383558333807102375250426713134048326034530916144351945133535665821828843467919249939698328052457768610674775964399753985084533652360164162521460966386407047194314630275648797455262603891364379207054019575516128850119908564633725613739925122076818840336328125294779360544114562076690306422010749848924460472369588771578887012686452497973727506920513484799454237217479841773091740085792363364159028721537899507709467234856903296776129228599852506793842786828745597549265010875251707696730269737393239560741791298411314665409743450071666212892279 1497795842014763352915066734117619940609370819477041837461362841977717336552874358587827828303509495073748051168271110607876860886409017731068404767914069091559092766489831592227608110961043516442735695254317935514472958653271938990317173523891059775882162334081882258390579158515512439709867852072127105455065717774758811685209352023706505909914824248677448141328048380640803315517534765772805882402030695418154972939441786164800410711542849741163046074383383791623329416595725440236432380092313432761775257587499495670428880747866380292698199758582509005267916298206518393167649291270549944913148598957821077004625176632230674486757484832868962561144779904272635946412576061440016907549010296304928674717302141434867850809239352982747721006155533883816160584941060784636810080416736832841699477135039161862054264836650536967140238162425653675967563429487598348777503720357824606359302776157503849131319592658882909198081525759632318885240686205764042496171595454673705809626570140304519818729138704551881241626692216089259230331400676503316500055491268450604969023930314297778394032279034903737729058230506330409898399346954138324813844749998556444957967915751494003382063038065654566580799871055263829992766948571066867181748258504438459772477967284968199710594888463001101340045874907362974249113513468445505349514410543446406305865732370998682599556184071655010655998132904579842834143096865304500532685208914043668844258660546191007789467157795472367697307087700286011511410988849443622132869936289313684284451017193585221477059786135491380381574980803239238978429622437166413383511836825679100925280624924191422188661000774281080490367511040369016073375293449735520506735987972746166134295040117405505448448517508856528434652014648359504771470329655232396606639899584358995866374099133854532107647599397231386860186930125620424608837160517408564584159303504602268048349874585018454618897586002595442143702611257082683318512499956820494467906937378082179907401338554849720165735164456764374023965675211803518985401546316243696639204555634744116292391042758783608516475394997129119842404910696454778512382437233390647288086624485266956368530473973588170214471311265018861725021492972341759128396207969923695793150460404820284109560549353533357281882807359253776253267221279528695337699957114401093629303458110118897969821766425058115804271745896001560674172299670180799535539970358335999138347404811376483744986541048469599337365442288018476196005646473730082483750246687210444880637978243734792977107760476970972207537907932410019565973955567285458653668474649933887813894507955027880123807280739036319383953796266687427752360829612118704566514142022780113932550795307702680668373264626317722242591882459827375169567333436312428332709289917792718332334498521877618639399361096301768880953457045894803911055277120823530846731583224830599926993934450478288110189493706004749060062536042362651320026151730277789868706331830909504580380820144425061182731787665972034112972942589571340728108674891300129240955169657591437054217207176996339020803255567418196212411607413998867906675437084789498656303345482308351157811407269963302563925080463849767415479569721935494155944374745290018518848627372538254599393552967998976611659554100001534374368520265837721958672386430655815275471310544278237822580786293283687629604928030730658691325558629250753147493678564092523787275381530466014434852977258884388580157542704644342949439844638558152314708629155471029618866726495284498174866785902434391065201191072056396144122131969000382695994760062642780252108039726610296126778962616025032582067318316896135557318839962293972205811357039727567314470218661126989011760391448767120696202909904818690822531778502924958313593915798290399836482 2423484580588154888382539141224498447099194263764750506788402786982404799671185468231865631697181968140213751546802472896192599843571925692578486101656068653838482711571191038455519650012385440064674355117225286196891145884790614868696891012122191241925721691184648293261301817220844574192099389257325689124106581809501464173754581678582828700486001309400813048995769656723589914586183805960061391706746701662925015008465032329889240879675703652264489672204167987452831322236434151559696339378518553870327947825344786221372012974473835534143916294039236407699139428170682346586919081917412387176539253985565367728466259589377036449748836296859021494625922661689121682133963011965706117052303831806727519467936503306569945509592235795573145336072762986245988143802510431370194634122859601567576057054766244786085589239117246531056119734438074490502304909102091884867577137775916946677555261784891030918010391164641691443339140692861595142266640460808803404134437944880595686334342607761703909704027932988530868454888492765261747059672774574772710571247005803043354720570677656338728137557898409770078042283116939455561689335635244826991068483253798871340286806745884917224796333699552725723396356220306307491057427109063500499212447155810229833474611232431013537726050501037061774128593550645597955934979481023467768232330020848023048006012668807291484007723766150493793451988812085941315736077950461247903862915414526466518167222787861874881614269429584502628676718009296724245126225309224285833424788510917989248891062490661021702778678808542134494022394910580152010904473720298415663089981991769214770007164561845366869333844540747803605079527789553011772545620383955107644149664592201647685232180080909965389814433782155753824445316331770490731014237618709394667250242430112042182807043232359409930077297956469243995712755031795581206085831302811197547908931892504140642688661954826500429097972612423038006961810870258334284500192938096901033252836468671441365385548949852294086261543017215874951901706460428125139503051707025810338152210852548123211655190621016225313690030099682614526790275233619616793097642548007978205647065217757922683460591158256889855985287381702489139974974464942148416797947306101168015577861233633330928443026705980804431469544885874653735496484299464584740989650158940125459449865260351826569279358294443980145798386588131235172325545409940034348983139544301607509972007067520399883317131538350549023983869196545177526048089392203552016550918438360684980417733699751660076491044588479265800150659503361496029437260094899645445149730671649674837684973903810619007210966580464255621877898426363389949763571767114956201426853947367977200356590754754802609502029253959896143173347749449880105107882310218641367572047054971025217906673269162468254344824538090275158421379345508596227485655292058579854058351575936739179407854551583782340570466987675313548144938720867876081181008792953146398366988420668604472405838350138809008109302043208129402296259041871351658727865739363707993165680620982703852592049578721156291480080680852139318063813915626956265241278990369029043143477323492573465246239359172259927727774417954348081936760397826893595645699028492498795232185706345356974643979681133024937694085016145886319502055931659550802140305680595513603523768312888912598545186047268772163257288194893180152291945036297947462123954212889979049879272894845221488872552775013238700066107338369956689364966715376992651036754450250390162981288571974804596877535751358851537570779843635283156808584466974110202915273547442234489325519568383387866864754979389191610788856216403845024553696865590748335039956892234361157257047406724538276771266700474817426472647298058251564323076914239623723337365869956612728761 3921280422602918241297605875342118387708565083241792344249765628960122136224059826819693460000691463213961802715073583504069460729980943423646890869570137745397575478061022630683127760973428956507410050371543221711364104538062553859014064536013251017807884025266530551651880975736357013901967241329452794579172299584260275858963933702289334610400825558078261190323818037364393230103718571732867274108777397081079987947906818494689651591218553393427535746587551779076160738832159591796128719470831986632103205412844281891800893722340215826842116052621745412967055726377200739754568373187962332089687852943386444733091436221607710936506321129727984055770702565961757628546539073405723024601314128111656194185238644741437796318831588778320866342228296870062148728743571216007004714539596434409275534189805406648139854075767783498196357896863728166469868338589690233645080858133741553036858037942394880049329983823524600641420666452493914027507326666572845900306033399554301495960912748066223728433166637540412110081580708854520977391073451078089210626738274253648323744500991954117122169836933313507807100513623269865460088682589383151804913233252355316298254722497378920606859371765207292304196227275570137483824375680130367680960705660248689605952578517399213248320938964038163114174468458008572205048492949468973117746740564294429353871745039805974083563907837805504449450121716665784149879174815765748436548124328570135362425883334052882671081427225056870325983805709582735756537214158667907966294724800231673533342079684246243179838464944033514875597375713819390989334096157464829046601818817448315695287789486036789057994845315028884095447038829922027845920913833690628150885652564947813819527220198315470838262951291012282259097330980129995502484567273941791273890142014471038049181142366213942037724897353700630855899685157416005814922991820219762132068235397106408691038536539844955047995558615018480150664422127341017603012692894917395501159773846753621272786887504702014251996707473980248975867381672231644124904598023269506977356766487292239504046233379799833830165425096811734369195185930074395305480079781398625493733689703024879051991065131845060070456598646721350864996467437283907545194155276024863808728321638453615038003576059514161713352352245128429988763705578993280078689607273341219088753323370470724539101124719502095950070132484132795846497845080120833884523109902637606648319411878896883628303672586820148361349311484563653722053735865933634500301165125571129861055711943486453053598805065450238007688567435771515595411215662185104098818205321583562651579481858838499131018247319500575005831694693050817702124401379233660767940995970148091132907386062457483277875293880277618385765230209277255274675215746531069700281336972763743550241171791040086893744185634392044039374836391403400138540932412882110700789934800767339106401789002062070450759960693680062608207474763230527401207160523230936267073320251578109052786658494563870190841089709180163515269201631442692386836540630663837234120850278574140906809256755717495312283336248270335530475421329625824171916716075158527699446822805800924623057646629135562491652854881804115497416330119762387751590073773782517314080813078883611574037532649132001549353639116147420693870576197497272760812692111251328878995078857167150421125972340552459792862216225623838843617503665548700609617632776982502837154654425311235923725530033897627280223650043014299638804811353935144965745383605721419781848015067259302771744321653793242602771970915691679300930716435974492898910033610085014741433559294993683993643717595414224192856174533299980581872536827884720540851313931961928471727266067851527288531658149241938122675557202876942386854855417164582036931281668247012565243 6344765003191073129680145016566616834807759347006542851038168415942526935895245295051559091697873431354175554261876056400262060573552869116225376971226206399236058189632213669138647410985814396572084405488768507908255250422853168727710955548135442259733605716451178844913182792957201588094066630586778483703278881393761740032718515380872163310886826867479074239319587694087983144689902377692928665815524098744005002956371850824578892470894257045692025418791719766528992061068593743355825058849350540502431153238189068113172906696814051360986032346660981820666195154547883086341487455105374719266227106928951812461557695810984747386255157426587005550396625227650879310680502085371429141653617959918383713653175148048007741828423824573894011678301059856308136872546081647377199348662456035976851591244571651434225443314885030029252477631301802656972173247691782118512657995909658499714413299727285910967340374988166292084759807145355509169773967127381649304440471344434897182295255355827927638137194570528942978536469201619782724450746225652861921197985280056691678465071669610455850307394831723277885142796740209321021778018224627978795981716506154187638541529243263837831655705464760018027592583495876444974881802789193868180173152816058919439427189749830226786046989465075224888303062008654170160983472430492440885979070585142452401877757708613265567571631603955998242902110528751725465615252766226996340411039743096601880593106121914757552695696654641372954660523718879460001663439467892193799719513311149662782233142174907264882617143752575649369619770624399543000238569877763244709691800809217530465294954047882155927328689855776687700526566619475039618466534217645735795035317157149461504759400279225436228077385073168036083542647311900486233498804892651185941140384444583080231988185598573351967802195310169874851612440189211587021008823123030959679977167289610549333727198494671455477093531227441518157626232997599351887512885833014296534412610315425062638172436454554308338258250491196123927769088132659769264407649730295317315508977339840362715701424000816059143855455196494348895985461163694012098577722329406603699380754920782801735451656290101949926441886028423840004971441902226055961992102582126031824306182872086945966446602765494966144821897131003083724260189878457864819679257432281344548203188630822551108380483013946076095868519072264031018823390490060868233506249446939214158291418946417283511620804125170697385333180681108831248101825258137186516852083563931814841473445643238113130089849653929503807839226939133011624848475757084749543967935993233237489264455762649118138229213899964830627709593119414207651887973146348616969367849917516068333263976817212285887377323134237514528938577958727135379783098056749711067853384027734768768147845060202555148089010172482319197796215736911996366026587704940690554848286376704078285809643553645852791330427681355376156352413484098403482388169316184082665440308672246713525192496844702679198950391752388292917565460673314044045564406370027545227286530899556844759401306334438651603763416929122474848539235245252780437157995065527556742590300129293498088303885988307822419380629299758463579353090517589281347235772802275016109312998785228968548681512330265026487047724132293307013372632129156823562952997791846842482518847170056063019671158387821231956119504420517018995909448701846648071741586989872481887033927320156457412598082808910865980289757381384256328169778069312137616782138055971809944829303639234107368621857405152094140342750759326962457739300902948603101825307157527249230759078863377071860508472574803415803645030749703825606426233693475468875891270824196289628984313474576065565302924849716755549148204500935193951177932331404205760268647538203625294004 10266045425793991370977750891908735222516324430248335195287934044902649072119305121871252551698564894568137356976949639904331521303533812539872267840796344144633633667693236299821775171959243353079494455860311729619619354960915722586725020084148693277541489741717709396565063768693558601996033871916231278282451180978022015891682449083161497921287652425557335429643405731452376374793620949425795939924301495825084990904278669319268544062112810439119561165379271545605152799900753335151953778320182527134534358651033350004973800419154267187828148399282727233633250880925083826096055828293337051355914959872338257194649132032592458322761478556314989606167327793612636939227041158777152166254932088030039907838413792789445538147255413352214878020529356726370285601289652863384204063202052470386127125434377058082365297390652813527448835528165530823442041586281472352157738854043400052751271337669680791016670358811690892726180473597849423197281293793954495204746504743989198678256168103894151366570361208069355088618049910474303701841819676730951131824723554310340002209572661564572972477231765036785692243310363479186481866700814011130600894949758509503936796251740642758438515077229967310331788810771446582458706178469324235861133858476307609045379768267229440034367928429113388002477530466662742366031965379961414003725811149436881755749502748419239651135539441761502692352232245417509615494427581992744776959164071666737243018989455967640223777123879698243280644329428462195758200653626560101766014238111381336315575221859153508062455608696609164245217146338218933989572666035228073756293619626665846160582743533918944985323535170805571795973605449397067464387448051336363945920969722097275324286620477540907066340336364180318342639978292030481735983372166592977215030526459054118281169327964787294005527092663870505707512125346627592835931814943250721812045402686716958024765735034516410525089089842459998308290655124940369490525578727931692035572384162178683910959323959256322590254957965176372903636469804891413389312247753564824292865743827132602219747657380615892974020880293306083265180647093768407404057802110805229193114444623807680787442721421947009996898484675145190869967909339509963507186257858150895633034504510540561004450178825009127858174249376131513713023895457451144898368864705622563636956512001293275647481607733448172045938651556396826865321235570181702118029359349576820806610830825314167139924476711990845746682492165672484970155561124070821017153248689502944702529157586724566183688654719379741815527794374904527220259691419269853642786141314816800140843937621487617269247461219465405633541287812465025354012374525582277737308845887664159466171362879669769165252617014515132914703808168004390654458313803280780768134721000498512318389016851242642041833195806874363237171052128315396504567520117822801255638221177471417392211432555707923242090388375035438764559888247328930883595329839415018932513628923824822577979155339266549389791481461568456432834662304756736432400947000691382461407381178130985666210563090156146916046753177392810379014656574878604609074711140686084442037122935094422711361532617443384911033484181562579076769420637351669098825846576057533423393811864112580122719044979397028036401363248440727707243208326654096323765689903098171361513926027223213440797130728373691748981720646140857839526952367395348681359219766854984724188581745467693336323612842808493260513407424398555966974589423247282582527521661693229726677318706493410140366179058945336743114721675018641758670017338923096000735340767612263972192638158370755854152190170217639996501205283003806188298770521360189416742584756158218100711579542427592853834582998958693671823761703812136338032787748568787797199929206450637859247 16610810428985064500657895908475352057324083777254878046326102460845176008014550416922811643396438325922312911238825696304593581877086681656097644812022550543869691857325449968960422582945057749651578861349080237527874605383768891314435975632284135537275095458168888241478246561650760190090100502503009761985730062371783755924400964464033661232174479293036409668962993425540359519483523327118724605739825594569089993860650520143847436533007067484811586584170991312134144860969347078507778837169533067636965511889222418118146707115968318548814180745943709054299446035472966912437543283398711770622142066801290069656206827843577205709016635982901995156563953021263516249907543244148581307908550047948423621491588940837453279975679237926108889698830416582678422473835734510761403411864508506362978716678948709516590740705537843556701313159467333480414214833973254470670396849953058552465684637396966701984010733799857184810940280743204932367055260921336144509186976088424095860551423459722079004707555778598298067154519112094086426292565902383813053022708834367031680674644331175028822784626596760063577386107103688507503644719038639109396876666264663691575337780983906596270170782694727328359381394267323027433587981258518104041307011292366528484806958017059666820414917894188612890780592475316912527015437810453854889704881734579334157627260457032505218707171045717500935254342774169235081109680348219741117370203814763339123612095577882397776472820534339616235304853147341655759864093094452295565733751422530999097808364034060772945072752449184813614836916962618476989811235912991318465985420435883376625877697581801100912652225026582259496500172068872107082853982268982099740956286879246736829046020756766343294417721437348354426182625603930967969482177059244163156170910903637198513157513563360645973329287974040380559124565535839179856940638066281681492022569976327507358492933529187866002182621069901516465916888122539721378038464560945988569984994477603746549131760413810630928513208456372496831405557937551182653719897483860141608374721166972964935449081381431952117876335489800432161166108257462419502635524440211832892495199544590482522894377712048959923340370703569030874939351241736019469178360440276927457340687382627506970896781590504094002996146507134597437284085335909009718048122137903908185159700632115826755862090747394248141807170628660857884144626060242570351535608796516034964902249771731450651545280837161543132015672846781316218257386382208007534005332253434759544002603229962679313778504373309245623367021314037538845108167176354603186754077308050037630108393384136735407476675119430236261250880931879233005900347671930894706676695805180227799435339696882055052629940148752647443642386126731526034241411860030491835988105028233281086536861911445197189922205979356682434967267865227392870594107822763491810486507554175495678021076109353776033420816056390814920912301731427334365983499155599101597953937596071536103171652183969228588741873213956749350400122978070780477965353370718927688693912077687830425611869424594798519810170106515285227553891820131385046232706206213641184627423064387920799665418605751207330414113481321042656122511154940950446061619378332549532706810649341548671400557309662054523449087380734034720615840455810919886718687694945013844032773197279276460468289116194923705101225066657876835436401069241996753100806756727466611222509065624150748921695651719359240803164805782812295144367492559420199309659717665039671506622345727517508988036464097430883457472434345604216409318241871699102560647925139513202951717021747827714660662745021055800146236032707631794725004214835658292633855580354507729695893017003658419137507848675449220971966204747330289210720079972993557468576744654263153251 26876855854779055871635646800384087279840408207503213241614036505747825080133855538794064195095003220490450268215775336208925103180620494195969912652818894688503325525018686268782197754904301102731073317209391967147493960344684613901160995716432828814816585199886597638043310330344318792086134374419241040268181243349805771816083413547195159153462131718593745098606399156992735894277144276544520545664127090394174984764929189463115980595119877923931147749550262857739297660870100413659732615489715594771499870540255768123120507535122585736642329145226436287932696916398050738533599111692048821978057026673628326850855959876169664031778114539216984762731280814876153189134584402925733474163482135978463529330002733626898818122934651278323767719359773309048708075125387374145607475066560976749105842113325767598956038096190657084150148687632864303856256420254726822828135703996458605216955975066647493000681092611548077537120754341054355564336554715290639713933480832413294538807591563616230371277916986667653155772569022568390128134385579114764184847432388677371682884216992739601795261858361796849269629417467167693985511419852650239997771616023173195512134032724549354708685859924694638691170205038769609892294159727842339902440869768674137530186726284289106854782846323302000893258122941979654893047403190415268893430692884016215913376763205451744869842710487479003627606575019586744696604107930212485894329367886430076366631085033850038000249944414037859515949182575803851518064746721012397331747989533912335413383585893214281007528361145793977860054063300837410979383901948219392222279040062549222786460441115720045897975760197387831292473777518269174547241430320318463686877256601344012153332641234307250360758057801528672768822603895961449705465549225837140371201437362691316794326841528147939978856380637910886266636690882466772692872453009532403304067972663044465383258668563704276527271710912361514774207543247480090868564043288877680605557378639782430460091084373066953518768166421548869735042027742442596043032145237424965901240464994105567155196738762047845091897215783106515426346755351230826906693326551017062085609644168398163310337099133995969920238855378714221744907260581245982976364618298427823090375191893168067975346960415513221861170395883266111150307980793360154616416986843526471822116212633409102403343698480842420187745822185057684749465861630424272469564968146092855771513080597045617791469757549152388878698165012453801188412947506278828551158580942937704246531760816687245497467159092688987438894815688942066065367858595624456829540218622866837770952331005624352676724136338895641894792168744344258359912722197513172443985541692844387265606702576551824217882557163267780358346194294735916688699725663311272604122826028731793404925878762687839231755401786231045672138319993542789375161627940586293066124728731646913070232508665061699275511204431426253685472189978756265249578828995014120530467566519896358681150807523235777978533354675525205783234785282827516910366300371410310150101293255818816091822432514750945435856923283908095606568548395009989655307417346899725626664545999482343511026951223194592241447597662883621732891931792292619544887465954390082956100622513454128794119602289059082559850450629174762427859048782465016210484377598043185205546699224502489901265419844568615454082945712798734674963353436637345434460026523582451335411090811091844085245308494527852501316572230181368262118956915806702781837181379358269398183941052220927649354215523042767626572194109364245975079335580794795103295988692751777175144355180118583568812852915238695796647441315711437983023774736195847709376440336512725830407472559431251272972090847634142892795727908559466627243507828541781354668505951104901012498 43487666283764120372293542708859439337164491984758091287940138966593001088148405955716875838491441546412763179454601032513518685057707175852067557464841445232373017382344136237742620337849358852382652178558472204675368565728453505215596971348716964352091680658055485879521556891995078982176234876922250802253911305721589527740484378011228820385636611011630154767569392582533095413760667603663245151403952684963264978625579709606963417128126945408742734333721254169873442521839447492167511452659248662408465382429478186241267214651090904285456509891170145342232142951871017650971142395090760592600199093474918396507062787719746869740794750522118979919295233836139669439042127647074314782072032183926887150821591674464352098098613889204432657418190189891727130548961121884907010886931069483112084558792274477115546778801728500640851461847100197784270471254227981293498532553949517157682640612463614194984691826411405262348061035084259287931391815636626784223120456920837390399359015023338309375985472765265951222927088134662476554426951481498577237870141223044403363558861323914630618046484958556912847015524570856201489156138891289349394648282287836887087471813708455950978856642619421967050551599306092637325882140986360443943747881061040666014993684301348773675197764217490613784038715417296567420062841000869123783135574618595550071004023662484250088549881533196504562860917793755979777713788278432227011699571701193415490243180611732435776722764948377475751254035723145507277928839815464692897481740956443334511191949927275053952601113594978791474890980263455887969195137861210710688264460498432599412338138697521146810627985223970090788973949587141281630095412589300563427833543480590748982378661991073593655175779238877027195005229499892417674947726285081303527372348266328515307484355091508585952185668611951266825761256418305952549813091075814084796090542639371972741751602092892142529454331982263031240124431370019812246602507849823669175542373117386177009222844786877584447281374877921366566447585679993778696752042721285107509615186161078532090645820143479797209773551272906947587512863608693246409328850991228894978104843712988645833231476846044929843579226082283252619846611822982002445542978738704750547715879275795574946243742006017315864166542390400708587592066129269164334465108981430380007275913265524929159205789228236668329552992813718542633610487690666842821100576942608890736415330368777068443015038386313932010713837859235117406670333888486836085163913196372463790534364046649924811245663465998233062261837002979604910476025771979060016294295930916875401060724389761088084200811458325878156043049676223491365813069869444067150662237498024615065042042273433879270512497312020427801988580421467442722941137523341764440110931056965074491462740674133036421677607765587728107105587858770182245755735763349784876611236285822408748253584774415475308932020487817068606384491710183599615562328150613222128421504115967894784322459707205006567275227889481955133634908260898297388331653742129237838795205333506646517434301939345743955667093390423380834122440215141374701540123553113366811291969063870264310692369828945799571861711144204664389014442947233569990949085332722632488807433162795677465520159598721137083299538009908797148474889238275936097203065292988199049579472421781766361733708960763539159184170779456611510399754505879342187560833280309917946633599876715994834167004146247211742119737035964180557263324408366122981146841097023309069690563397948445158342251987140198510029666543709850191488653822666494205856636617891290378096072201866411283473515660259751596793677348419069777748778951031506002010295916867233560103365576434909692109598696309592113767694113306796916454227908514774912137082695759164165749 70364522138543176243929189509243526617004900192261304529554175472340826168282261494510940033586444766903213447670376368722443788238327670048037470117660339920876342907362822506524818092753659955113725495767864171822862526073138119116757967065149793166908265857942083517564867222339397774262369251341491842522092549071395299556567791558423979539098742730223899866175791739525831308037811880207765697068079775357439963390508899070079397723246823332673882083271517027612740182709547905827244068148964257179965252969733954364387722186213490022098839036396581630164839868269068389504741506782809414578256120148546723357918747595916533772572865061335964682026514651015822628176712050000048256235514319905350680151594408091250916221548540482756425137549963200775838624086509259052618361997630459861190400905600244714502816897919157725001610534733062088126727674482708116326668257945975762899596587530261687985372919022953339885181789425313643495728370351917423937053937753250684938166606586954539747263389751933604378699657157230866682561337060613341422717573611721775046443078316654232413308343320353762116644942038023895474667558743939589392419898311010082599605846433005305687542502544116605741721804344862247218176300714202783846188750829714803545180410585637880529980610540792614677296838359276222313110244191284392676566267502611765984380786867935994958392592020675508190467492813342724474317896208644712906028939587623491856874265645582473776972709362415335267203218298949358795993586536477090229229730490355669924575535820489334960129474740772769334945043564293298948579039809430102910543500560981822198798579813241192708603745421357922081447727105410456177336842909619027114710800081934761135711303225380844015933837040405699963827833395853867380413275510918443898573785629019832101811196619656525931042049249862153092397947300772725242685544085346488100158515302416438125010270656596419056726042894624546014331974617499903115166551138701349781099751757168607469313929159944537966049541299470236301489613422436374739784187958710073410855651155184099245842558905527642301670767056013463013859618959924073316022177542245957063714487881386809143568575980040899763818081460997474364753872404227985421907597037132573638091071168963642921590702421530537725336938273666819737900046922629318950882095824956851829392125898934031562549487709079088517298814998776227383076349321091115290665545088701746507928410965822686234484795935466320889412002871688918595083281394765664636322494139310168037066124863337170308712822558687220501156652691921670975843884367603516845834514553783713172013055395385440760924947797221520050835218420567749725725792066957239594647779190869002330648744849985703488395054475288208160334774716203359411640863186653037044233757085696867896388619436820875653433009551818773779243907852312971620917363703936077942735965017469321818486093439477174584443224919243322291856681688939864865141157145627342658889070635864253465473267230440784545808582565007160916869693543725814298697954113539547988896498589325462609256734454096689391524016674331476440690988610151364356847540900013092437956515063352607821719321052140391813309308807088286121906374739526189535836551287112715444908055676249806259639761887780219643149988639083559576333938020740952307687442891031384255126171646284256262999128805332154613267116492255346185363107942516687622020859803892369282044690687807838919412312640775064243436309266145548819382281324172825762984022476381578467874504450169372807696467510182966136601860653074096166567989403461289309152625310643067553240427381984994852286368575498447393441118664130507760772553687227353711386736253379959390510838135866160965081689543943735006563422021866263543697735737056556266805588646864065178247 113852188422307296616222732218102965954169392177019395817494314438933827256430667450227815872077886313315976627124977401235962473296034845900105027582501785153249360289706958744267438430603018807496377674326336376498231091801591624332354938413866757518999946515997569397086424114334476756438604128263742644776003854792984827297052169569652799924735353741854054633745184322058926721798479483871010848472032460320704942016088608677042814851373768741416616416992771197486182704548995397994755520808212919588430635399212140605654936837304394307555348927566726972396982820140086040475883901873570007178455213623465119864981535315663403513367615583454944601321748487155492067218839697074363038307546503832237830973186082555603014320162429687189082555740153092502969173047631143959629248928699942973274959697874721830049595699647658365853072381833259872397198928710689409825200811895492920582237199993875882970064745434358602233242824509572931427120185988544208160174394674088075337525621610292849123248862517199555601626745291893343236988288542111918660587714834766178410001939640568863031354828278910674963660466608880096963823697635228938787068180598846969687077660141461256666399145163538572792273403650954884544058441700563227789936631890755469560174094886986654205178374758283228461335553776572789733173085192153516459701842121207316055384810530420245046942473553872012753328410607098704252031684487076939917728511288816907347117446257314909553695474310792811018457254022094866073922426351941783126711471446799004435767485747764388912730588335751560809836023827749186917774177670640813598807961059414421611136718510762339519231730645328012870421676692551737807432255498919590542544343562525510118089965216454437671109616279282727158833062895746285055361001795999747425946133895348347409295551711165111883227717861813419918159203719078677792498635161160572896249057941788410866761872749488561586180374876887577254456405987519715361769058988525018956642124874554784478536773946822122413330916177391602867937199102430153436536230679995180920470837316262631336488379049007439511444318328920410601372482568617319725351028533474852041819331594375454976800052826085829607397307543280726984600484227209987867450575775837324185806950444759217867834444427547853589503480664067528325492113051898483285347204806387231836668039164458960721755276937315756846851807812494770016686837011757958111766122031310637244343741334599754677499834321780252900125840730924036001753615283252500721486407335682631827600488909987095119958486024685453563418489694901275886319910139582576862128810484700588573073779785146528845125759255547398206878268096791241091538861936401306745310016688893617395690787123419582758907551787308635962323355137670802134582000709994801484344688142661942387851360110953912075110617317406501886349495711083153866673099467285862819347201303291730566739678213892649893375245407060390898241173399123464480703485296240564787310574751832148249795726937645791113083810454489116050504601804624111687029607855668785827691703922832109126691036393442433347191110064754857274813428825292739058387664453126459249248484127222872132411690881086191385171019951292950510920817686759759526785636619835347933715488839045483725159921486501356726449526648992356724808827259016888404890508184019583304705644068066022624732837766095693772451287271711957695762862448396029809581693084202287228678290564523833753579316787022275985556046302109729376645605732538948744130863573404887537565067848117817966038719497323164646631527196783946358056643226127783515009261928534357931336499583851406135759884235758198990234796012549577538521332638258859713397032170247192950614203712301070657191288240253327120331116135173060460151963645571331178942671342623229343996 184216710560850472860151921727346492571174292369280700347048489911274653424712928944738755905664331080219190074795353769958406261534362515948142497700162125074125703197069781250792256523356678762610103170094200548321093617874729743449112905479016550685908212373939652914651291336673874530700973379605234487298096403864380126853619961128076779463834096472077954499920976061584758029836291364078776545540112235678144905406597507747122212574620592074090498500264288225098922887258543303821999588957177176768395888368946094970042659023517884329654187963963308602561822688409154429980625408656379421756711333772011843222900282911579937285940480644790909283348263138171314695395551747074411294543060823737588511124780490646853930541710970169945507693290116293278807797134140403012247610926330402834465360603474966544552412597566816090854682916566321960523926603193397526151869069841468683481833787524137570955437664457311942118424613934886574922848556340461632097228332427338760275692228197247388870512252269133159980326402449124209919549625602725260083305288446487953456445017957223095444663171599264437080305408646903992438491256379168528179488078909857052286683506574466562353941647707655178533995207995817131762234742414766011636125382720470273105354505472624534735158985299075843138632392135849012046283329383437909136268109623819082039765597398356240005335065574547520943795903420441428726349580695721652823757450876440399203991711902897383330668183673208146285660472321044224869916012888418873355941201937154674360343021568253723872860063076524330144781067392042485866353217480070916509351461620396243809935298324003532227835476066685934951869403797962193984769098408538617657255143644460271253801268441835281687043453319688427122660896291600152435774277306918191324519919524368179511106748330821637814269767111675573010557151019851403035184179246507060996407573244204848991772143406084980642906417771512123268788380605019618476935610127226368737741876631723391947850703106766660379380457476861839169426812524866528176320418638705254331326488471446730582330937954535081813115085384933873615232101528541393041373206075720809105533819475762264120368628806126729371215389004278201349354356631437973289358172812969897823898021613722860789425146849078391314840418937734348063392159974527802236229300631344083666060165063392992284304764646394845364150622811270997399763186332849073402431667120012383752272152300422440911984630257246573789537843602612954596836896678018165357808901474992799864666613773324265428671308583372674064575142386822946862163794507186093707963325038484301745086835180531969606050707052768918257713486517358990817264654003358546339957795879762619726339531973405286247302606262596844122658129853874161546222863896647838528578445228358810284239979547774787728543626869225275665593403563396125487590463171221940762083166320761052385225771653369824477818470326303713190097855088063329345844642441867907446199645387696401715268994168086575658892393019496276967374295348349925985727561969208333816588202512157571735947770847539122738715126739086333715504417435444103415235205353139551687204999190575479954131011933226583198480328758381236632827192426285949062622187906948063378623544515295289984799683374281576369599515288075916301142765279757840712577951075050967559831815714350278887731966571427848385718403763967303881125970390912717431602552888094656510722981252331672672991629427797340228992355568255278196027887056711774507114886049786466005439572298287190773735187007506130783233387849858042524624632629589072824161887239177425484576926965836400988046252811256646383675914676680085299293886325486213424783768423627152341125041848167231622272977784197062126894538157039324003849699382627887445748259989487294522243 298068898983157769476374653945449458525343684546300096164542804350208480681143596394966571777742217393535166701920331171194368734830397361848247525282663910227375063486776739995059694953959697570106480844420536924819324709676321367781467843892883308204908158889937222311737715451008351287139577507868977132074100258657364954150672130697729579388569450213932009133666160383643684751634770847949787394012144695998849847422686116424165027425994360815507114917257059422585105591807538701816755109765390096356826523768158235575697595860822278637209536891530035574958805508549240470456509310529949428935166547395476963087881818227243340799308096228245853884670011625326806762614391444148774332850607327569826342097966573202456944861873399857134590249030269385781776970181771546971876859855030345807740320301349688374602008297214474456707755298399581832921125531904086935977069881736961604064070987518013453925502409891670544351667438444459506349968742329005840257402727101426835613217849807540237993761114786332715581953147741017553156537914144837178743893003281254131866446957597791958476017999878175112043965875255784089402314954014397466966556259508704021973761166715927819020340792871193751326268611646772016306293184115329239426062014611225742665528600359611188940337360057359071599967945912421801779456414575591425595969951745026398095150407928776485052277539128419533697124314027540132978381265182798592741485962165257306551109158160212292884363657984000957304117726343139090943838439240360656482652673383953678796110507316018112785590651412275890954617091219791672784127395150711730108159422679810665421072016834765871747067206712013947822291080490513931792201353907458208199799487206985781371891233658289719358153069598971154281493959187346437491135279102917938750466053419716526920402300041986749697497484973488992928716354738930080827682814407667633892656631185993259858534016155573542229086792648399700523244786592539333838704669115751387694384001506278176426387477053588782792711373654253442037364011627296681612856649318700435251797325787709361918819317003542521324559403713854284216604584097158712766724234609195661147353151070137719097168681632212558978612696547558928333954840858647961156808748588807222009704972058482078657259591276626244904343899601801876388884273026426285521576505437731315502728204227851953006060041583710602211002430623765767416450023344607031514197789151323020996615893635022195589484464579026826689663684333536990598590511961270666079295308810675431692267102683311360548629794608058127627993632081724222748483704646768670570092135523184890318160614965678498451176466308316316464591754614150231908803515939759853085267812568656237122030319096824869006210158049905480084981484991544963680804864606642640012923133371020752672091339658728699803654244186631777551942899274479279354263562638507803581430367624052782951965449867262474371193715733364104088339028487186793826548127738108472233510220139528549965064721105732366771976203473985393017878897152974037672757169824877119644279906434989680862638807240981556085906236803841190990317846260736842473622869806266010936453483317798352086542702814312774583651348709674187143748010113045708589407824526783411312339033354340773709959604860782933096049041937068273025951592538774729117468459259070550864537459782416301512464804337523542158169691035679261576888832839308747241184245972296943739401271816855506426570946214819616214548401870365007572673492789250723251245749623191353543004640146405008739773906504829295429864915046641988882681275855716856339171149167711783415913426549687807123806137047014845373910710689229662837815218963745073138180800593874345291739245560468302279464266024450389247225654292212384464001663028199218624690931332110523866239 482285609544008242336526575672795951096517976915580796511591294261483134105856525339705327683406548473754356776715684941152774996364759877796390022982826035301500766683846521245851951477316376332716584014514737473140418327551051111230580749371899858890816371263876875226389006787682225817840550887474211619372196662521745081004292091825806358852403546686009963633587136445228442781471062212028563939552256931676994752829283624171287240000614952889597613417521347647684028479066082005638754698722567273125222412137104330545740254884340162966863724855493344177520628196958394900437134719186328850691877881167488806310782101138823278085248576873036763168018274763498121458009943191223185627393668151307414853222747063849310875403584370027080097942320385679060584767315911949984124470781360748642205680904824654919154420894781290547562438214965903793445052135097484462128938951578430287545904775042151024880940074348982486470092052379346081272817298669467472354631059528765595888910078004787626864273367055465875562279550190141763076087539747562438827198291727742085322891975555015053920681171477439549124271283902688081840806210393565995146044338418561074260444673290394381374282440578848929860263819642589148068527926530095251062187397331696015770883105832235723675496345356434914738600338048270813825739743959029334732238061368845480134916005327132725057612604702967054640920217447981561704730845878520245565243413041697705755100870063109676215031841657209103589778198664183315813754452128779529838593875321108353156453528884271836658450714488800221099398158611834158650480612630782646617510884300206909231007315158769403974902682778699882774160484288476125776970452315996825857054630851446052625692502100125001045196522918659581404154855478946589926909556409836130074985972944084706431509048372808387511767252085164565939273505758781483862866993654174694889064204430198108850306159561658522871993210419911823792033167197558952315640279242977756432125878138001568374238180160355443172091831131115281206790824152163209789177067957405689583123814259156092501150254958077603137674489098788157831836685625700105808097440684916470252886970545899983217537310438339288349828085551837129683309197490085934446166921401777119833602993672204939446684738125704636219184318539536224452276433000954087757805806069075399168788369291244945290364806230105447575153053435036764816213209677456104916629456271335404748888045935444636501469094836273400479201527936149945195427408639288831437104210285668231556933716456635625977301103191430801692568774468547169610647499153954764278055460561669192063247450146210468057227173361085234722305241131509222726068169943118399425225608448418856848369851070230155253512764312502324207639614845419125227027728503290478541501578599379562956331319206503487532197871055857053217536302837875404841854025809729744343513533944813835337191221520632298849012186059667817278436883575250123172392770179976379679709865527224951680333715273818942430868596493481669985253192501323963658484731794085453460868108947147252598586578088520678824621363542927524705822263696180945888858075159405562623658482508373832040673714747539357782131677468055423776575202539331657652030012433731474690962577869636063694759288235064509465648557225144189327094357818532569830046410334121518424369275496766580400196770908951390543888094799646565458014803230221464672786798860391600250124253069187179099562575642616956443540757438620285768701379845962497758360635672977819548444212444692199513509093512335426213098302896500031407305908485305929163333036406889208900490353515524208111852389858271491757586625365909748137109105289231286562964569017501497632864287408635533901737243808647451374120192449251708467851362410827106070439191321597818388482 780354508527166011812901229618245409621861661461880892676134098611691614787000121734671899461148765867289523478636016112347143731195157239644637548265489945528875830170623261240911646431276073902823064858935274397959743037227372479012048593264783167095724530153814097538126722238690577104980128395343188751446296921179110035154964222523535938240972996899941972767253296828872127533105833059978351333564401627675844600251969740595452267426609313705104728334778407070269134070873620707455509808487957369482048935905262566121437850745162441604073261747023379752479433705507635370893644029716278279627044428562965769398663919366066618884556673101282617052688286388824928220624334635371959960244275478877241195320713637051767820265457769884214688191350655064842361737497683496956001330636391094449946001206174343293756429191995765004270193513365485626366177667001571398106008833315391891609975762560164478806442484240653030821759490823805587622786040998473312612033786630192431502127927812327864858034481841798591144232697931159316232625453892399617571091295008996217189338933152807012396699171355614661168237159158472171243121164407963462112600597927265096234205840006322200394623233450042681186532431289361164374821110645424490488249411942921758436411706191846912615833705413793986338568283960692615605196158534620760328208013113871878230066413255909210109890143831386588338044531475521694683112111061318838306729375206955012306210028223321969099395499641210060893895925007322406757592891369140186321246548705062031952564036200289949444041365901076112054015249831625831434608007781494376725670306980017574652079331993535275721969889490713830596451564778990057569171806223455034056854118058431833997583735758414720403349592517630735685648814666293027418044835512754068825452026363801233351911348414795137209264737058653558867989860497711564690549808061842328781720835616191368708840175717232065101080003068311524315277953790098286154344948358729144126509879644279744800625657213944225964803204785368723244154835779459891402033717276106124834921140046865454419969571961620124462233892812642442048441269722858818574821675294112131400240121616037702314705992070551847328440782099396058017264038348733895602975669990584341843307965730687018103944329402330881123528218141338100841160706027380373279382311506806714671516573519096898296424847813816049786155484058802532232663233022063136430827245422658425745503939570466832090953559415300227168865212269686935794017920600559497516399519096343663249200819139946986525930897799488929320562406550271392359131203800723434848147596084854082381408065111888966508403639669401551186896995745659454634871685882878252510493421017075093970400170167055024259722922362407804292621099836964088907832593109933118554424711970400315628422658865232187335852115242488830769479202112354684196117588448237547924943901568866618289156671387894773220205901793031921366775912062436916998940897918084851913220085666753501645398436379551309202844799967467063003132089654298001331241901618962573105148015382136933461225385329502234910527600346768715696140109956917788362480944965671573560111965826172184127216417561852132365783026177729610920323212652377366241437836960514886003301611223976837404718893095847442561697599162212462353045950357307298947514869593192069288906735279182881912661575246474932702057785835325827034903636069530211913971044832688543989525524886042685526133521857436572658089159308985293341374872635213221009606385296169173091448852591097208253283000017164721642963217943142020289987184341022785502504185574600992316403780065212015235658526905286337131497336055139410974924324252976359701145369611375842924603532969103836181201509833097840621345846741464092931853025439026324695130122653708342254721 1262640118071174254149427805291041360718379638377461689187725392873174748892856647074377227144555314341043880255351701053499918727559917117441027571248315980830376596854469782486763597908592450235539648873450011871100161364778423590242629342636683025986540901417690972764515729026372802922820679282817400370818493583700855116159256314349342297093376543585951936400840433274100570314576895272006915273116658559352839353081253364766739507427224266594702341752299754717953162549939702713094264507210524642607271348042366896667178105629502604570936986602516723930000061902466030271330778748902607130318922309730454575709446020504889896969805249974319380220706561152323049678634277826595145587637943630184656048543460700901078695669042139911294786133671040743902946504813595446940125801417751843092151682110998998212910850086777055551832631728331389419811229802099055860234947784893822179155880537602315503687382558589635517291851543203151668895603339667940784966664846158958027391038005817115491722307848897264466706512248121301079308712993639962056398289586736738302512230908707822066317380342833054210292508443061160253083927374801529457258644936345826170494650513296716581768905674028891611046796250931950312443349037175519741550436809274617774207294812024082636291330050770228901077168622008963429430935902493650095060446074482717358364982418583041935167502748534353642978964748923503256387842956939839083871972788248652718061310898286431645314427341298419164483674123671505722571347343497919716159840424026170385109017565084561786102492080389876333153413408443459990085088620412277023343181191280224483883086647152304679696872572269413713370612049067466183346142258539451859913908748909877886623276237858539721448546115436290317089803670145239617344954391922590198900437999307885939783420396787603524721031989143818124807263366256493048553416801716017023670785040046389477559146335278890587973073213488223348107311120987657238469985227601706900558635757782281313174863837374299669136895035916484004450945659931623101191210785233511814418044954306021546921119826919697727599908381911430599880277955348558924382919115979028601653127092161937685532243302508891135678268867651233187700573235838819830049142591392361461676910959402891957550629067528035517342712536680874325293437139028334461037188117575882113840304942810341843586789654043921497361308537493839297048876442699519241347456701693993830494391985505911468592422654251573627648066740205836880989445329239848328953503729382011894806134535596582612503232000990919731013131181018818561969778702954678199126203056646523274444655515258099434565630813030486785909202236877168677360939855825996651935719029465493950818770021237285179513235686674910128500260714682383214134860321613223597095926290569779878584753978071735674868049986298345883987015504950230089037971614257967292268457435513680453626347892908527072069218087852699738645212795637687040171333668098061231592929951193978453325732151653370251633713396460948732988385282155621964989726633413048026566016124329284186059811963418022913735148963889696240401962373653098734251339020125077136183770448334546016167890132309391490147914703645785034696898415191709023893467849394246360694264189093612901099478181330911952027346156387356651680140308175839868777561279927313587713276010775949462312858346155426323245945880634972392492918439299751676586757843693080144239649777955229864625696097500053529101629916747605579110076252481175718767967020969146992639893065035789407766792093529500147856061520839642051697293092826328714665837221981490201216894133580736223347510916763557828889083961421049159112033429542207646264109938628877340557467820377739370082938753641745291995466039190715801399704387849853430765569313975306160643203 2042994626598340265962329034909286770340241299839342581863859491484866363679856768809049126605704080208333403733987717165847062458755074357085665119513805926359252427025093043727675244339868524138362713732385286269059904402005796069254677935901466193082265431571505070302642451265063380027800807678160589122264790504879965151314220536872878235334349540485893909168093730102972697847682728331985266606681060187028683953333223105362191774853833580299807070087078161788222296620813323420549774315698482012089320283947629462788615956374665046175010248349540103682479495607973665642224422778618885409945966738293420345108109939870956515854361923075601997273394847541147977899258612461967105547882219109061897243864174337952846515934499909795509474325021695808745308242311278943896127132054142937542097683317173341506667279278772820556102825241696875046177407469100627258340956618209214070765856300162479982493825042830288548113611034026957256518389380666414097578698632789150458893165933629443356580342330739063057850744946052460395541338447532361673969380881745734519701569841860629078714079514188668871460745602219632424327048539209492919371245534273091266728856353303038782163528907478934292233328682221311476818170147820944232038686221217539532643706518215929548907163756184022887415736905969656045036132061028270855388654087596589236595048831838951145277392892365740231317009280399024951070955068001157922178702163455607730367520926509753614413822840939629225377570048678828129328940234867059902481086972731232417061581601284851735546533446290952445207428658275085821519696628193771400068851498260242058535165979145839955418842461760127543967063613846456240915314064762906893970762866968309720620859973616954441851895707953921052775452484811532644762999227435344267725890025671687173135331745202398661930296726202471683675253226754204613243966609777859352452505875662580846267986510996122653074153216556534872422589074777755524624330175960436044685145637426561057975489494588243895101698240701852727695100495711082992593244502509617939252966094352887001341089398881317852062142274724073041928719225071417742957740791273140733053367213777975387846949294579442983006709649750629245717837274187553725652118261382945803520218925133578975654573396930366398466240754822212426134597845055714834316570429082688828511821516329438741883214501857737547147464021552641829281539675721582377778283947116652256239895925076378300683376213666873854816931952475523816783463249840407826469903248478355558055335354736529599029162898790408660333693587569089954328909906755401633974350652731377356826063580369988401074034452699888337096099232622828131995811541708874904446212450482569044789170191404340203772958609037317932792881814519347303042692914723156715650351002540180194213176636936967862203902101540834714756494707062584773234089202706204840193401337082547071915504564296421845289423989645731660011988707700123957170274566016146083506150036860731954971130588032921560836558196428415795991517371809919966320968535032010599671164139711421119521037348747525148645676564236464956098102483610016522613819965090748709743882414160718200295106549871243622513697729823514645617221627844086390134905686354761246697565800317589738504197074426759394589043755549569114033186258533147167725076149520505657002182746055132344225519921401901255948003666470298219527822075369281888500728888525768688229175302841272550151829619357490101759719076056590872451451125116388939777573406265316165731341917626886616020075093546664869499024738782784071987280277167351500168341407556091193533297913645948238583169443668844166020581297476188570086957753795184005965255308240253183482071353346843206264140263474843132616811885932179894331557413288879755460699436629014502897924 3305634744669514520111756840200328131058620938216804271051584884358041112572713415883426353750259394549377283989339418219346981186314991474526692690762121907189629023879562826214438842248460974373902362605835298140160065766784219659497307278538149219068806332989196043067158180291436182950621486960977989493083284088580820267473476851222220532427726084071845845568934163377073268162259623603992181879797718746381523306414476470128931282281057846894509411839377916506175459170753026133644038822909006654696591631989996359455794062004167650745947234952056827612479557510439695913555201527521492540264889048023874920817555960375846412824167173049921377494101408693471027577892890288562251135520162739246553292407635038853925211603542049706804260458692736552648254747124874390836252933471894780634249365428172339719578129365549876107935456970028264465988637271199683118575904403103036249921736837764795486181207601419924065405462577230108925413992720334354882545363478948108486284203939446558848302650179636327524557257194173761474850051441172323730367670468482472822213800750568451145031459857021723081753254045280792677410975914011022376629890470618917437223506866599755363932434581507825903280124933153261789261519184996463973589123030492157306851001330240012185198493806954251788492905527978619474467067963521920950449100162079306594960031250421993080444895640900093874295974029322528207458798024940997006050674951704260448428831824796185259728250182238048389861244172350333851900287578364979618640927396757402802170599166369413521649025526680828778360842066718545811604785248606048423412032689540466542418252626298144635115715034029541257337675662913922424261456323302358753884671615878187607244136211475494163300441823390211369865256154956772262107953619357934466626328024979573112918752141990002186651328715346289808482516593010697661797383411493876376123290915708970323827132846275013241047226430044758220529900195765412763094315403562142945243781395208842371150353331962543564238593276618336732146046155642706093784455287743129753671011048658908548262209225801015579662050656635503641808997180419976667340659907252169334706494305939913073379192597088334118684978517401862433418410510026373555701260852775307265197129884536470933205202464458401915808953291503086751428034984084049295353758546658570942352126459139780585470004155901659044508772559046481126330416118421101619125740648810646086734287910582289769275798867918447482464998692681360697772908579080256155423406977860367452861469890333112211532394899781328391346824768587908516298688609710079833100553709377900631270719095628087835639665265730375123005301469499996809356751397534871556381931479948062995607940212641625383286194295712228061293142529201730517177553236336380312746277293109960072797930615008703537071952087839180598743510212012814862272060816964172132461858772596227525541852457204948917358642077498431398657201503337810997341608234114207315099079988054710408296862739686291812470271592889364528979902653965541931310695168445058626237180264040705305580849312165548062380825528126161196500064857263115256865158985215825845927652862495264216462996682180635112661612433469299680314120043035795414028373535749007607391829989411202639603675255757671346616389911936925765713326566708987036502637429447819244715458756831081806538378267557327579193949547105270612020740514669033565087486732218848832468825080796502414777525716857543630861348992804196451561527377597564658545540427234463158371234982662676023786867187076165017355086259622426123684573369993680214834178629537581394750192047226684461930680360432401994909665258897237729198991183337391652229365246869130524039539173724582576347079017116588424612277925122895695731261801138733186226268750604320663541127 5348629371267854786074085875109614901398862238056146852915444375842907476252570184692475480355963474757710687723327135385194043645070065831612357810275927833548881450904655869942114086588329498512265076338220584409219970168790015728751985214439615412151071764560701113369800631556499562978422294639138578615348074593460785418787697388095098767762075624557739754737027893480045966009942351935977448486478778933410207259747699575491123057134891427194316481926456078294397755791566349554193813138607488666785911915937625822244410018378832696920957483301596931294959053118413361555779624306140377950210855786317295265925665900246802928678529096125523374767496256234619005477151502750529356683402381848308450536271809376806771727538041959502313734783714432361393562989436153334732380065526037718176347048745345681226245408644322696664038282211725139512166044740300310376916861021312250320687593137927275468675032644250212613519073611257066181932382101000768980124062111737258945177369873076002204882992510375390582408002140226221870391389888704685404337051350228207341915370592429080223745539371210391953213999647500425101738024453220515296001136004892008703952363219902794146095963488986760195513453615374573266079689332817408205627809251709696839494707848455941734105657563138274675908642433948275519503200024550191805837754249675895831555080082260944225722288533265834105612983309721553158529753092942154928229377115159868178796352751305938874142073023177677615238814221029161981229227813232039521122014369488635219232180767654265257195558972971781223568270724993631633124481876799819823480884187800708600953418605443984590534557495789668801304739276760378665176770388065265647855434482846497327864996185092448605152337531344132422640708639768304906870952846793278734352218050651260286054083887192400848581625441548761492157769819764902275041350021271735728575796791371551170095119357271135894121379646601293092952489270543168287718645579522578989928927032635403429125842826550787459340291517320189459841146651353789086377699790252747692923977143011795549603298624682333431724192931359576683737716405491394410298400698525310067759861519717888461226141891667777101691688167152491679136247784213927281353379114158253068717348809670049908859775861388768314275194046325299177562632829139764129670328975741259770863947975469219327353218657759396591656236580599122955611955794142683996904024595927298342974183835658668069959175081585321337281930645156884514556371828920663981893310226338723010916805245069641810561557798571737051680518356156998470627598516465481467074904362109277988096782675998076236713699718430263460101400702122824941352562939243746460828143930430632040397110404045965587059152904749545994086024343721077820220246151059537028396628295650140267011107251945671399275854189380015313500004919075399635506150019670376972655260109678774597457357021501370762648066067144163058669190211037934954511882800130353398605230024915442363267993327719213373306829789317780324971420025775461897631663703477069225908344403752126425101886660913073211026502092362626152598167340873131779478978950306574555671535276655982416758103232051878735175310163292814325931341670879881804163279222103768854089395789728792378107872330184430741205433667486494879746512825242134204227713578968324901717641502886214150763898188959228835141953213575568831548562590038315453588215620744617520698000383637774964929355336215033732621068068860787324012978502713953598323113833499779324102576900289562639806942280622829886854110998405210195671853647161031715002520037093672588283489960872632700513849804101246160930246556373426299285948937132575658194620555109383707521610527071425782611219280591431557229089811055075590062819214427612941686968187233335166439051 8654264115937369306185842715309943032457483176272951123967029260200948588825283600575901834106222869307087971712666553604541024831385057306139050501038049740738510474784218696156552928836790472886167438944055882549380035935574235388249292492977764631219878097549897156436958811847935745929043781600116568108431358682041605686261174239317319300189801708629585600305962056857119234172201975539969630366276497679791730566162176045620054339415949274088825893765833994800573214962319375687837851961516495321482503547927622181700204080383000347666904718253653758907438610628853057469334825833661870490475744834341170186743221860622649341502696269175444752261597664928090033055044393039091607818922544587555003828679444415660696939141584009209117995242407168914041817736561027725568632998997932498810596414173518020945823538009872572771973739181753403978154682011499993495492765424415286570609329975692070954856240245670136678924536188487175107346374821335123862669425590685367431461573812522561053185642690011718106965259334399983345241441329877009134704721818710680164129171342997531368776999228232115034967253692781217779149000367231537672631026475510926141175870086502549510028398070494586098793578548527835055341208517813872179216932282201854146345709178695953919304151370092526464401547961926894993970267988072112756286854411755202426515111332682937306167184174165927979908957339044081365988551117883151934280052066864128627225184576102124133870323205415726005100058393379495833129515391597019139762941766246038021402779934023678778844584499652610001929112791712177444729267125405868246892916877341175143371671231742129225650272529819210058642414939674301089438226711367624401740106098724684935109132396567942768452779354734343792505964794725077168978906466151213200978546075630833398972836029182403035232954156895051300640286412775599936838733432765612104699087707080521493922252203546149135168606076646051313482389466308581050812960983084721935172708427844245800276196158513331023578884793938526191987192806996495180162155077995877446594988191670704097865507850483349011386243587995080325546713585911371077639060605777479402466355825657801534605334488756111220376666684554354112554658294240300837054639966933560333914478694206520842064978325847170230084147337828385928990667813223813425024087522399830713216074434608999912823222813661055636165009139645604081942371912563785616029765244737944429708471746240957839234973949503768819746929337838245212329280408000920137316717204199090463778275135402754022093952698353065443027343124744906986926287126175561300175458071487178619367501771626164072353364984160638583106702171622821750709314336778618017210075410378695036005050616687590970345347200461774055379166872922808337397799387395917341142905588760100339809037866954374936347806277219195912243515131088214497778210836634549105117118882275002122999209478706319680006708144642594457326391714375745951853491034244560713704310012970152771564856067405505185777101382207144853951322679741003828942358871922127852145524667792831730682735973078621273407327620488787349098232198136247036344137935522400401599188139151246633221099914232513847836922596762114006245461713915677218191652757852776461481225779139995017711547585942102087821823579423420645459839391951121240730351008416144146433100259717295957302276456516556414335902760680839443569303104707349018675702352963466353166825464434277379706881053072577363482417061664983775574505880311518256868654260734242482473811882952238663593809467698994904209197258027636319356427017154711929836698666631253983033682008099317162444530164533648155839911815270664028484940120469967310423985801978514231561149700796008358958298297708019981841367736177971285794081015566346127913236937837655829980178 14002893487205224092259928590419557933856345414329097976882473636043856065077853785268377314462186344064798659435993688989735068476455123137751408311313977574287391925688874566098667015425119971398432515282276466958600006104364251117001277707417380043370949862110598269806759443404435308907466076239255146723779433275502391105048871627412418067951877333187325355042989950337165200182144327475947078852755276613201937825909875621111177396550840701283142375692290073094970970753885725242031665100123983988268415463865248003944614098761833044587862201555250690202397663747266419025114450139802248440686600620658465452668887760869452270181225365300968127029093921162709038532195895789620964502324926435863454364951253792467468666679625968711431730026121601275435380725997181060301013064523970216986943462918863702172068946654195269436012021393478543490320726751800303872409626445727536891296923113619346423531272889920349292443609799744241289278756922335892842793487702422626376638943685598563258068635200387108689373261474626205215632831218581694539041773168938887506044541935426611592522538599442506988181253340281642880887024820452052968632162480402934845128233306405343656124361559481346294307032163902408321420897850631280384844741533911550985840417027151895653409808933230801140310190395875170513473468012622304562124608661431098258070191414943881531889472707431762085521940648765634524518304210825306862509429182023996806021537327408063008012396228593403620338872614408657814358743204829058660884956135734673240634960701677944036040143472624391225497383516705809077853749002205688070373801065141883744325089837186113816184830025608878859947154216434679754614997099432890049595540581571182262974128581660391373605116886078476215146673434493382075849859312944491935330764126282093685026919916374803883814579598443812792798056232540502211880083454037347833274884498452072664017371560817285029289985723247344406434878736851749338531606562607300925101635460479649229402038985064118482919176311258715651828339458350284266539854868248625139518965334682499647468806475165682443110436519354657009284429991402765487937461304302789470226217345375689995831476380423888322068354851706845791690906078454228118408019081091813402631827503876570750924754187235938544359341384153685106553300642363577554694416498141090484080022410078219240176441471420452227821245720244727037554327706706469612933789840665242772682655581899625909194149031089090157028859982995129726885652236921584119210027430537813474695080380472395832655510496924802494707861480901905457553885642641042767250362433596456607464284447624240309067064702590902043208102873745646692061877276022364478038219340809327076402161020733556557404500105211320049465191216643886157618045538455454369539533884410240606820145118900046335623660466599211225743520050163614133284360856304926077772378991953776720456566500207690442654774211786757515995581925413680906365373834374914112309540037885595134832849395124718559083931171524925178922742705516465726574022575399197078053869071544958155784622633991694484433829712851413501696399539009378815823116885828974957270723415807229049979203146284392583012232760054928332176803384795559022354931979956545315570621568868787395819419916126532829027257246909915525206352217193255444958064587384469048150741762603510108066174645475785249477855974256408275117865694745664472263917973708083873864825848072052344636236389287611096103485130525771099587484383025471855191768094234021806576388783241801303400751748321824791063308256432846515028280664315743644839218703724926571317171968971949862958379968634894316770158371644090327770889057602542968618606357087897939082760227867434141569517578299451539070457547233046875856900229993959069600205125070990996419229 22657157603142593398445771305729500966313828590602049100849502896244804653903137385844279148568409213371886631148660242594276093307840180443890458812352027315025902400473093262255219944261910444284599954226332349507980042039938486505250570200395144674590827959660495426243718255252371054836509857839371714832210791957543996791310045866729737368141679041816910955348952007194284434354346303015916709219031774292993668392072051666731231735966789975371968269458124067895544185716205100929869517061640479309750919011792870185644818179144833392254766919808904449109836274376119476494449275973464118931162345454999635639412109621492101611683921634476412879290691586090799071587240288828712572321247471023418458193630698208128165605821209977920549725268528770189477198462558208785869646063521902715797539877092381723117892484664067842207985760575231947468475408763300297367902391870142823461906253089311417378387513135590485971368145988231416396625131743671016705462913293107993808100517498121124311254277890398826796338520809026188560874272548458703673746494987649567670173713278424142961299537827674622023148507033062860660036025187683590641263188955913860986304103392907893166152759629975932393100610712430243376762106368445152564061673816113405132186126205847849572713960303323327604711738357802065507443736000694417318411463073186300684585302747626818838056656881597690065430897987809715890506855328708458796789481248888125433246721903510187141882719434009129625438931007788153647488258596426077800647897901980711262037740635701622814884727972277001227426496308417986522583016127611556317266717942483058887696761068928243041835102555428088918589569156108980844053223810800514451335646680295867198083260978228334142057896240812820007652638229218459244828765779095705136309310201912927083999755945557206919047533755338864093438342645316102148718816886802959937973972205532594157939623764363434164458591799893395719917268203160330389344567545692022860274343888323895029678235143577449506498061105197241843815532265346779446702009946244502586113953526353203745334314325649031454496680107349737334831143577314136565576521910080268872692573171033491530436810869179999542445021536261199904245564372694528955462659048025373736546306198083091592989732513083108774443488721982071035543968455587390979718504020540921197296096844687219152999664285081507863986254859890331119496699619270255228963555085403187202391127328140583748429122980592858976775789320833374939214932644922504256526744634736903938473355515875149854749463195277867937735204605646812444480172768816604067425820505083635226831786219250404381420429686751540626314805045368468442771191612800982495248294751188022112407211637421147527749847305673094104844358089566694495015844925851371710682439473170340946629182985854421271971466743818407137987035181251828631062571692939475182889497874228778843455775978914010122661482356429351973321973639789426858218864868619474826013850050855747906397705462530223744861032553732070032874065385257469555516381447321324930199393739337789886467358607070315757841157333340200850794631737145625852167254821351375358869911554958475683200303060516906430849155356817042338422265098711236240546584737809321777051847348008782413530967502068634916849080826333336170666191609144376685688415595800613194583842022320806065368451101992341663813758734937247718687168799453013490939620326671550227031651312506329724343117442360188459585902192190754875161990263336990112060422354968264289050200666194039966994561216020819695272505514460482834384707681470455574675917370356180554350853977071267025402910133168542472610070186914754356255829178072510279042592159066412170643909928663442500527815876007471520911825283411018161650981245560305197513442062908646826399407 36660051090347817490705699896149058900170174004931147077731976532288660718980991171112656463030595557436685290584653931584011161784295303581641867123666004889313294326161967828353886959687030415683032469508608816466580048144302737622251847907812524717961777821771093696050477698656806363743975934078626861555990225233046387896358917494142155436093556375004236310391941957531449634536490630491863788071787050906195606217981927287842409132517630676655110645150414140990515156470090826171901182161764463298019334475658118189589432277906666436842629121364155139312233938123385895519563726113266367371848946075658101092080997382361553881865146999777381006319785507253508110119436184618333536823572397459281912558581952000595634272500835946631981455294650371464912579188555389846170659128045872932784483340011245425289961431318263111643997781968710490958796135515100601240312018315870360353203176202930763801918786025510835263811755787975657685903888666006909548256400995530620184739461183719687569322913090785935485711782283652393776507103767040398212788268156588455176218255213850754553822076427117129011329760373344503540923050008135643609895351436316795831432336699313236822277121189457278687407642876332651698183004219076432948906415350024956118026543232999745226123769236554128745021928753677236020917204013316721880536071734617398942655494162570700369946129589029452150952838636575350415025159539533765659298910430912122239268259230918250149895115662602533245777803622196811461847001801255136461532854037715384502672701337379566850924871444901392452923879825123795600436765129817244387640519007624942632021850906114356858019932581036967778536723372543660598668220910233404500931187261867049461057389559888725515663013126891296222799311663711841320678625092040197071640074328195020769026675861932010802862113353782676886236398877856604360598900340840307771248856703984666821956995325180719193748577523140740126352146940012079727876174108299323785375979348803544259080274128641567989417237416455957495643871723697063713241864814493127725632918861035703392803120800814713897607116626704394344115573568716902053513983214383058342918790516409181526268287249603887864513376387968045695936470451148757073870678129117187139178133701959662343914486700319047318802830106135756142097269097950968534412920518682011681376119254765438393176105756501960091807500580135058157051027325976724841897344926068429975073782910040209657623272011681949133804649303828504666100584881844088375736772065274717413168435896347545687404973692202670432443066086548717902034058411457646834676182938680091834296070666874644690487494389342442669522907919114115134833068888823346973286514091997349188809372658154704085154347410884414154309549306210580652633890464306826080221973357580581553449328104754467607595127210417618363730555231415442764346932549244401260661876866182555563912342479121700565316256568216109489317555565203107764584238702994388938323390088741343041230554857654942303944963725256995211796808090773935282090404022720522008253262810882748042251981241062010242274987046191614352491031276155004667990371707180350316140634970765704733179506206801299013861388116871970670599068483506795262901516717765867092622468916877569809350387418195167745876338073243251695872543826337632130646480183185082242734583784924316173434625747468126913291614709193655993805034494198677963203538300379634100896477160578382068979353831647799555689387322716525974749474646362461967252190449202286095626589449435841270395312964342644486335813770893329349412988345786199219515136074081107125668025946043216888361290101803436789380228558558844684026718235675053247661198516154310109726670156530876642097333454306923059982282830644065037507881475554264267113647187979637822818636 59317208693490410889151471201878559866484002595533196178581479428533465372884128556956935611599004770808571921733314174178287255092135484025532325936018032204339196726635061090609106903948940859967632423734941165974560090184241224127502418108207669392552605781431589122294195953909177418580485791917998576388201017190590384687668963360871892804235235416821147265740893964725734068890836933507780497290818825199189274610053978954573640868484420652027078914608538208886059342186295927101770699223404942607770253487450988375234250457051499829097396041173059588422070212499505372014013002086730486303011291530657736731493107003853655493549068634253793885610477093344307181706676473447046109144819868482700370752212650208723799878322045924552531180563179141654389777651113598632040305191567775648582023217103627148407853915982330953851983542543942438427271544278400898608214410186013183815109429292242181180306299161101321235179901776207074082529020409677926253719314288638613992839978681840811880577190981184762282050303092678582337381376315499101886534763144238022846391968492274897515121614254791751034478267406407364200959075195819234251158540392230656817736440092221129988429880819433211080508253588762895074945110587521585512968089166138361250212669438847594798837729539877456349733667111479301528360940014011139198947534807803699627240796910197519208002786470627142216383736624385066305532014868242224456088391679800247672514981134428437291777835096611662871216734629984965109335260397681214262180751939696095764710441973081189665809599417178393680350376133541782123019781257428800704907236950108001519718611975042599899855035136465056697126292528652641442721444721033918952266833942162916659140650538117059657720909367704116230451949892930300565507390871135902207949384530107947853026431807489217721909647109121540979674741523172706509317717227643267709222828909517260979896619089544153358207169323034135846269415143172410117220741653991346645650323237127439288758509272219017495915298521653199339459403989043843159943874760737630311746872387388907138137435126463745352103796734054131678946717146031038619090505124463327215611363687442673056705098118783887406958397924229245600182034823843286029333337177142560875724439900042753936904219213402156093246318828117827177641237553538359514131424539222932878672216099452657546175770041583467955793755440025389276547726945246980070860900011471617177464910238180793406052394992274808110580438624661879605315517526766592632263516700011621351641791412222695542154436887480538370178270692195530346514231180274250902102003443763727061127856886125049071907924076093983295837712964482583577604260501624329468534808843185371301216584295575851612904194716557508259153907395777275147649735390158197790904412830750922500078511090608888879566593954236025501717590412667271395409504242183876443551374740411334407368118458035710687977738924645461462639529204992534622803103571613863764337240139597090947628260320185166048805996278989065244670873476031404837606785470041846938452656550220537928719339848132326000116144379531815203285663013300630520157626528531725675010546525724180416379809267318205444710543473689013009021333582218031503448101455575188869674316264886352222881354920263802662725418899576587866538735435482008816334895778985695437318425807245122238803076849460468577105373444130903712492203293651691454143158627051184327928128473084711793322471274007988015275289514907280849911464909699452079312612804170550384676790115629881237389874180363464181608319285353812183797696027256654794191053444437287680018879923114483913764200234971979261990298745473599040282547413747563526703790675220722280370580085194319142625149330314394580894108114055083199158862721114569464627089250888284649218043 95977259783838228379857171098027618766654176600464343256313455960822126091865119728069592074629600328245257212317968105762298416876430787607174193059684037093652491052797028918962993863635971275650664893243549982441140138328543961749754266016020194110514383603202682818344673652565983782324461725996625437944191242423636772584027880855014048240328791791825383576132835922257183703427327563999644285362605876105384880828035906242416050001002051328682189559758952349876574498656386753273671881385169405905789587963109106564823682734958166265940025162537214727734304150622891267533576728199996853674860237606315837823574104386215209375414215634031174891930262600597815291826112658065379645968392265941982283310794602209319434150822881871184512635857829513119302356839668988478210964319613648581366506557114872573697815347300594065495981324512652929386067679793501499848526428501883544168312605495172944982225085186612156498991657564182731768432909075684835801975715284169234177579439865560499449900104071970697767762085376330976113888480082539500099323031300826478022610223706125652068943690681908880045808027779751867741882125203954877861053891828547452649168776791534366810707002008890489767915896465095546773128114806598018461874504516163317368239212671847340024961498776431585094755595865156537549278144027327861079483606542421098569896291072768219577948916059656594367336575260960416720557174407775990115387302110712369911783240365346687441672950759214196116994538252181776571182262198936350723713605977411480267383143310460756516734470862079786133274255958665577723456546387246045092547755957732944151740462881156956757874967717502024475663015901196302041389665631267323453198021204029966120198040098005785173383922494595412453251261556642141886186015963176099279589458858302968622053107669421228524771760462904217865911140401029310869916617568483575480471685613501927801853614414724872551955746846174875972621562083184489845096915762290670431026302585930983547838783400860585485332535938109156835103275712740906873185739575230758037379791248424610530940555927278459249710913360758526023062290714747940672604488338846385558530154203851854582973385368387775271471774312197291296118505274992043103204015306259748014902573602002416280818705913721203412049148934253583319738506651489328048544345057904944560048335354218095939351875798085428047601256020160447433598754271223704912758244937540047152538693148221003063675667003956757244385087928490384271416102408610681008000288765286338764810227308570241229559410579683208802621336778744248248548289591731897736778186382443818895423927552999693762395418465436425965360620883596698712437329390447676441821322935182720490025956953730555698058542127441922413463456701987855800283625854465023871126386188331504053527839195363356487161721164653643865448145644082714159756436791428277704213251606593889971280460937157411253293995492861570951957084770195642387387342274608252702660630228338433988858815177840108352750960004246060456467681566805340119697189492762368946705919361103285970971321089194336242391131425723429555776694289455635188147998235712075991151181496489885149559315474119504458571931590560983679620402065724826766349618173341055962296785181763922032231742338458970408601756972819839562411279261819640946981375962170777680053009592169438412237702596928595490396988153324559706297237787850369417346696927430818428824605633663093862301825105655787570964676837623806824660939556061914046564803253372836480303379565065722507785187144706108667944133056247141533210684373042854013706189518518394805686905869157700802125490336775416051370527304032443724309265649422616774364989191375032390097250241725195784722482784621317640876390944699148236666744196668833731740736438867922472036679 155294468477328639269008642299906178633138179195997539434894935389355591464749248285026527686228605099053829134051282279940585671968566271632706518995702069297991687779432090009572100767584912135618297316978491148415700228512785185877256684124227863503066989384634271940638869606475161200904947517914624014332392259614227157271696844215885941044564027208646530841873729886982917772318164497507424782653424701304574155438089885196989690869486471980709268474367490558762633840842682680375442580608574348513559841450560094940057933192009666095037421203710274316156374363122396639547589730286727339977871529136973574555067211390068864868963284268284968777540739693942122473532789131512425755113212134424682654063007252418043234029144927795737043816421008654773692134490782587110251269511181424229948529774218499722105669263282925019347964867056595367813339224071902398456740838687896727983422034787415126162531384347713477734171559340389805850961929485362762055695029572807848170419418547401311330477295053155460049812388469009558451269856398038601985857794445064500869002192198400549584065304936700631080286295186159231942841200399774112112212432220778109466905216883755496799136882828323700848424150053858441848073225394119603974842593682301678618451882110694934823799228316309041444489262976635839077639084041339000278431141350224798197137087982965738785951702530283736583720311885345483026089189276018214571475693790512617584298221499775124733450785855825858988211272882166741680517522596617564985894357917107576032093585283541946182544070279258179813624632092207359846476327644674845797454992907840945671459074856199556657730002853967081172789308429848943484111110352301242405464855146192882779338690636122844831104831862299528683703211449572442451693406834312001487538843388410916475079539476910446246681407572025758845585881924202017379234334796126843189694514523019188781750233504269025910162916169209011818890977226356899962317657416282017076676625823058422836597292673079602981247834459762356174562679701784750033129614335968388349126663635813517669077991053742204601814710094812657702009007860778979291694993463309712774141517891294527639678483487171662678430172236426536896300540098835329132537352483402308890627013502045170217722925127123359505295467762371410497379744205027687562675769597127877438720551453670753485527645839668896003395011460185836710146481216470684983619144949011664330003603386401796469728061996231565354965526553152263876731619935377273640263805465297960116452018720792936771713847467163747172799607470939778595062520772006148638880189826207545956551784439124742834303342541530409261198333848079282290041589892072005910356131778368091791242541249306407310962736843999430672617364097765130947933361244623221662030799019082426553606350285972245366728315118889669367165736056749985555165941033612154147764626347005224378648579395193121941271734417507032414596613975188177010190445846222116466997870367935524936487075498025274401556956283235125701138555042836744957303974962804215885158575911323823899690660937326662242507275805255244759062357302756265708305624764243801666161728022214065565939124741437709903282475064249996688641735647942858269797719628916244831971101446650274255113097258722773071327175872396427428950014697301649763316271741156473117371435399414560651040779446389064067502361597455463418789441081502060871489855554482002756752734106747805655624296379663775586239966352531087674572404465761366125877416057543386864980169680695603745175061325069572849552452341600953717008380400299508807897242962955682485705785792272184715889690571747395313360826049506042764591813063170180301068779866595754670467830326919514927347632114935712221770499058754231435825606917783403196367825689756207121254722 251271728261166867648865813397933797399792355796461882691208391350177717556614368013096119760858205427299086346369250385702884088844997059239880712055386106391644178832229118928535094631220883411268962210222041130856840366841329147627010950140248057613581372987836954758983543259041144983229409243911249452276583502037863929855724725070899989284892819000471914418006565809240101475745492061507069068016030577409959036266125791439405740870488523309391458034126442908639208339499069433649114461993743754419349429413669201504881615926967832360977446366247489043890678513745287907081166458486724193652731766743289412378641315776284074244377499902316143669471002294539937765358901789577805401081604400366664937373801854627362668179967809666921556452278838167892994491330451575588462233830795072811315036331333372295803484610583519084843946191569248297199406903865403898305267267189780272151734640282588071144756469534325634233163216904572537619394838561047597857670744856977082347998858412961810780377399125126157817574473845340534565158336480578102085180825745890978891612415904526201653008995618609511126094322965911099684723325603728989973266324049325562116073993675289863609843884837214190616340046518953988621201340200717622436717098198464995986691094782542274848760727092740626539244858841792376626917228068666861357914747892645896767033379055733958363900618589940330951056887146305899746646363683794204686862995901224987496081461865121812175123736615040055105205811134348518251699784795553915709607963894519056299476728594002702699278541141337965946898888050872937569932874031920890890002748865573889823199537737356513415604970571469105648452324331045245525500775983568565858662876350222848899536730734128630004488754356894941136954473006214584337879422797488100767128302246713885097132647146331674771453168034929976711497022325231328249150952364610418670166200136521116583603847918993898462118663015383887791512539309541389807414573178572687507702928408989406384436076073940188466580370397871513009665955414525656906315353911199146386506454884238128200018546981020663851525623455571183725071298575526919964299481802156098332671672095146382222651868855559437949901946548623828192419045373827372235741367789662056905529587104047586498541631040844562917344616696624993817118250856517015611220114655032821998768886807888849424879521637754324050996267480346284143745235487694389896377389886551711482542296534622799533403729000188322599350614481642648148147722343987954648264094230584298881262246029363178001273258046846955975420944249684026843610810363738046375658376208651364851975711992124436596698761006966835226558954731675981002478919282519682352177454713550812281268498203036963009021278971441353086080820799752986748216987099088245533157185207413930607134189481335601853890036283543313232613881700832699714922377825040431851977877953599114349929040332350533194565729910368603366553698745383819397577788120830369169658500596273958925345890675865382754307916287481186157606236609642085077001164455566584831864495272427109870661982026520998484898407230978674314839051592211900896453622999955877657312909518703950715498440215557214361854406654810980368262137713667685036147337802257300794267886628414196287344839597181743479928932845216266991361293959121290710297647703327250797424444991583999063278482043317659557899349750780023125086678869352430288836552481912821185577339740410899517926121485319563157204643190154894499233344021823280172442219310916223345283549245761326252960248469775681517496585397848095250219064773342362821603432481474077291392691661429885518015180908522811364731353353538486488901078712592797075433769057970787060565080568644710712070114899557029862646890003453379672492351114452236928108562128624129593291401 406566196738495506917874455697839976032930534992459422126103326739533309021363616298122647447086810526352915480420532665643469760813563330872587231051088175689635866611661208938107195398805795546887259527200532279272540595354114333504267634264475921116648362372471226699622412865516306184134356761825873466608975761652091087127421569286785930329456846209118445259880295696223019248063656559014493850669455278714533191704215676636395431739974995290100726508493933467401842180341752114024557042602318102932909270864229296444939549118977498456014867569957763360047052876867684546628756188773451533630603295880262986933708527166352939113340784170601112447011741988482060238891690921090231156194816534791347591436809107045405902209112737462658600268699846822666686625821234162698713503341976497041263566105551872017909153873866444104191911058625843665012746127937306296762008105877677000135156675070003197307287853882039111967334776244962343470356768046410359913365774429784930518418276960363122110854694178281617867386862314350093016428192878616704071038620190955479760614608102926751237074300555310142206380618152070331627564526003503102085478756270103671582979210559045360408980767665537891464764196572812430469274565594837226411559691880766674605142976893237209672559955409049667983734121818428215704556312110005861636345889242870694964170467038699697149852321120224067534777199031651382772735552959812419258338689691737605080379683364896936908574522470865914093417084016515259932217307392171480695502321811626632331570313877544648881822611420596145760523520143080297416409201676595736687457741773414835494658612593556070073334973425436186821241632760894189009611886335869808264127731496415731678875421370251474835593586219194469820657684455787026789572829631800102254667145635124801572212186623242121018134575606955735557082904249433345628385287160737261859860714659540305365354081423262924372281579184592899610403516535898289769732230594854704584379554232047829221033368747019791447828204857633869184228635116310406939444968247167534735633118520051645869096538034762868453340333550383841427080306436305899255994475265465811106813189986440909862330352342731100628332118785050365088719585472662701368278720273064365796156600606092756716264556167967922422640084458996404314497995061544703173895884252160699437489438261559602910407167477423220054391278940532120853891716704165074879996534835563375812545899921024596003131790996419887954316141034794912024879342279365228288527899695882258997714264750156114772987105514010703148220551720623805438673331135744195014538566034858910808527496431249179431002103548497244487757288579755263292520509174591688262533586491918904072511039452343370319984015815440783758698184897518117696150348343711467195187984226496357160740539767307847220618351402432982599779617757582685270088318858652585999742504300604338728577619727543655135837464327875635781150312720571996407768233967052485636656370964209483861832966173890657155864872570716311858744791652478830034305139418370800717023071183750933770352642963847660727405683036233919073901408894968166604759247764199679323474637540918016281437564956994924265136881719060977056903873361610543305945057431173545626238988075064470542457936855904516551256108717612694420311308656422940473613919444483723914795880390998559714319261489706723625401711348235486543876119950854491160326408036394823942330073847158705173550417864983338743444609542685982173805748487584646298319635368459610210263718926456929998135309794845254367049037739449048967227445173641871629500675444429759777098477453702070233904871480270206678092179403044529253492891775762977376502548924566541731032910895564225639417747014492742084417389062207611108317958032235640124476387818380336714546123 657837924999662374566740269095773773432722890788921304817311718089711026577977984311218767207945015953652001826789783051346353849658560390112467943106474282081280045443890327866642290030026678958156221737422573410129380962195443481131278584404723978730229735360308181458605956124557451167363766005737122918885559263689955016983146294357685919614349665209590359677886861505463120723809148620521562918685485856124492227970341468075801172610463518599492184542620376376041050519840821547673671504596061857352258700277898497949821165045945330816992313936205252403937731390612972453709922647260175727283335062623552399312349842942637013357718284072917256116482744283021998004250592710668036557276420935158012528810610961672768570389080547129580156720978684990559681117151685738287175737172771569852578602436885244313712638484449963189035857250195091962212153031802710195067275373067457272286891315352591268452044323416364746200497993149534881089751606607457957771036519286762012866417135373324932891232093303407775684961336159690627581586529359194806156219445936846458652227024007452952890083296173919653332474941117981431312287851607232092058745080319429233699053204234335224018824652502752082081104243091766419090475905795554848848276790079231670591834071675779484521320682501790294522978980660220592331473540178672722994260637135516591731203846094433655513752939710164398485834086177957282519381916643606623945201685592962592576461145230018749083698259085905969198622895150863778183917092187725396405110285706145688631047042471547351581101152561934111707422408193953234986342075708516627577460490638988725317858150330912583488939943996905292469693957091939434535112662319438374122790607846638580578412152104380104840082340576089410957612157462001611127452252429288203021795447881838686669344833769573795789587743641885712268579926574664673877536239525347680530026914796061421948957929342256822834400242199976787401916055845439679577146803773427392092082482641037235605469444820959979914408575255505382193894590530836063845760322158366681122139573404289774069115085015783532304865957005955025152151605011832819220293957067621909439484862081587292084982221198290538578234065333674193281138630846490073604020088062726422701686187710140343214806187208812485339984701155621398131616245918061718785115998907193521436258325069448452335286689115177544105387546420878404997636952191859464776373924722115087295088196455647395536535519996608210553666755516437560173027064623353182936791993926466557878976510779519292774260363560857659123641495970307832282284141499482241390196942243510275660503208423373616027700864555464079714316243311431244294999428457111370614711041205469716353779537655380333329005294786882136844779005697271104444367335442799712728345169433910287767874729248643449074508387685976295832393499458415384985010696683693017851720382254203453078506660059894188330403194238244239147704011465955815805346022087882854806314871560483442787178856849756039910172788858197498016351028262120915111306303873937385548887566456178043641014624990368659212304090267212593388740460487180067501212870764155556980787547059621966996936005172552138626991288373871957425166011075278228342092395233430846420506874703478666829802776453086260031185041562828961411672602615544231183911567147810974712220325382582558777597743533024383183301061099015509668962798820206921449162960518307645127907413587569604691476539350302901900649252732840876673039092509407926470761854679375833555547268172218256251095558264620935884545623137297144217446509946984234451104107925903837068491169115131955751920052388793018042823532756583015742393970488355774451936317982537328791597991464208936351487861914049771947064279065660990780810309146687877052584949947004466307837524 1064404121738157881484614724793613749465653425781380726943415044829244335599341600609341414655031826480004917307210315716989823610472123720985055174157562457770915912055551536804749485428832474505043481264623105689401921557549557814635546218669199899846878097732779408158228368990073757351498122767562996385494535025342046104110567863644471849943806511418708804937767157201686139971872805179536056769354941134839025419674557144712196604350438513889592911051114309843442892700182573661698228547198379960285167971142127794394760714164922829273007181506163015763984784267480657000338678836033627260913938358503815386246058370108989952471059068243518368563494486271504058243142283631758267713471237469949360120247420068718174472598193284592238756989678531813226367742972919900985889240514748066893842168542437116331621792358316407293227768308820935627224899159740016491829283478945134272422047990422594465759332177298403858167832769394497224560108374653868317684402293716546943384835412333688055002086787481689393552348198474040720598014722237811510227258066127801938412841632110379704127157596729229795538855559270051762939852377610735194144223836589532905282032414793380584427805420168289973545868439664578849559750471390392075259836481959998345196977048569016694193880637910839962506713102478648808036029852288678584630606526378387286695374313133133352663605260830388466020611285209608665292117469603419043203540375284700197656840828594915685992272781556771883292039979167379038116134399579896877100612607517772320962617356349092000462923763982530257467945928337033532402751277385112364264918232412403560812516762924468653562274917422341479290935589852833623544724548655308182386918339343054312257287573474631579675675926795283880778269841917788637917025082061088305276462593516963488241557020392815916807722319248841447825662830824098019505921526686084942389887629455601727314312010765519747206681821384569687012319572381337969346879034368282096676462036873085064826502813567979771362236780113139251378123225647146470785205290405534215857772691924341419938211623050546400758206290556338866579231911448138718476288432333087720546298052068028201947312573541021639206566184118724558369858216319152774972298808335790788497842788316233099931070743376780407762624785614617802446114240979606421959011883159354220873747763331008055245693856592600764159778825361410525851528668896024539656370459557678463107634096376671991539667310993028098507982896551232472197906406902718411225319893622348816876690775529675407547247469074868362271862047690931637720957472635226436404735508278369186469030704854622795458702968103961324202073531891186507587519937631703058877244627697388620426290577107723703648989310602322920603477190594789222140517683786511179923533153660406644928615269015951296295126739088409278432173117215998070255099015542345603851462886554807791807084279787437843466240658566119874928854324186527812213114256054935340442971242524692926649011823023646697066037661428913809875095819914599745145611443292308186265910637639928977411367267954216319939709773303446512462641869382148234105972118528355236304262184600539983278373570129547062892128170092932934482069884436888771648037452664604392046745862778543137372260713308990776582441150280441655831983911271967171657525486592294698627016205773581118491917005022731106808702772447250996212838918771061412609489368554702469070237487434728309865026957215286240644093862275526858846844840996992572769081490047835443765810987098675186249230868059466190251594660876746193184673955120626106080604783370333596845589646568834025985824923869063224720915712159627544995886862264118751828438866907103870522630902359773161990905608928542514031481668127868601889128267178923517177061337765384803022383647 1722242046737820256051354993889387522898376316570302031760726762918955362177319584920560181862976842433656919134000098768336177460130684111097523117264036739852195957499441864671391775458859153463199703002045679099531302519745001295766824803073923878577107833093087589616834325114631208518861888773300119304380094289032001121093714158002157769558156176628299164615654018707149260695681953800057619688040426990963517647644898612787997776960902032489085095593734686219483943220023395209371900051794441817637426671420026292344581879210868160089999495442368268167922515658093629454048601483293802988197273421127367785558408213051626965828777352316435624679977230554526056247392876342426304270747658405107372649058031030390943042987273831721818913710657216803786048860124605639273064977687519636746420770979322360645334430842766370482263625559016027589437052191542726686896558852012591544708939305775185734211376500714768604368330762544032105649859981261326275455438813003308956251252547707012987893318880785097169237309534633731348179601251597006316383477512064648397065068656117832657017240892903149448871330500388033194252140229217967286202968916908962138981085619027715808446630072671042055626972682756345268650226377185946924108113272039230015788811120244796178715201320412630257029692083138869400367503392467351307624867163513903878426578159227567008177358200540552864506445371387565947811499386247025667148742060877662790233301973824934435075971040642677852490662874318242816300051491767622273505722893223918009593664398820639352044024916544464369175368336530986767389093353093628991842378723051392286130374913255381237051214861419246771760629546944773058079837210974746556509708947189692892835699725579011684515758267371373291735881999379790249044477334490376508298258041398802174910901854162389712597310062890727160094242757398762693383457766211432622919914544251663149263269940107776570041082063584546474414235628226777648924025838141709488768544519514122300431972258388939751276645355368644633572017816177982534630965612563900896979912265328631194007326708066329933063072247562293891731383516459971537696582389400709629985782914149615494032294794739312177784800249452398751650996847165642848576318896398517211199528976026373443145876930585592893102609486770239200577730486897668140744127882066547742310006088400456507580980545707778308265166371782288930849165621087884004432744384279793550402722292832319387076202830989636309061649652067670032370933471526071594162111887548815374755667286309194700321507832635726021395503543661239470003241614134708677794932450521879462129533913277996411486403832659425403916389775202617751882519366088814429491955668902858336780070114763104036977994605389205057448256196292060326584885019229310892651878323094316932696489998264594745369635126774385574264566616674413455240109712226038621703183268809011244885590939847332031796643852804364114076558335652483628018460278142818195249286114085176369436190679873402736976210450287111307891446848176720660256917747166245571814798204096107021052381892944584979152013863570659105851382329869328301607184989292510793285049731660161950275309575302099201519119458466804891907235895512166999990129847898035238467252737482021804202063489762077036613626191843270617243656513887511402841437053740105673339236531156163677269514748555755489992003833546266505881801717591268334058652329073010114198144901022297914556503496565589142544743115008367735519883933506400499239843344727211277321358255270893442500326426324087126136140284014043337402120465067610340531708891296237433914080815683965981737744976257856242763739244916210560738280832752474526280375184889641199314228893823982098342393470842592285978545947193529592669938576325611394229646287712389269330221171 2786646168475978137535969718683001272364029742351682758704141807748199697776661185529901596518008668913661836441210414485326001070602807832082578291421599197623111869554993401476141260887691627968243184266668784788933224077294559110402371021743123778423985930825866997775062694104704965870360011540863115689874629314374047225204282021646629619501962688047007969553421175908835400667554758979593676457395368125802543067319455757500194381311340546378678006644848996062926835920205968871070128598992821777922594642562154086739342593375790989363006676948531283931907299925574286454387280319327430249111211779631183171804466583160616918299836420559953993243471716826030114490535159974184571984218895875056732769305451099109117515585467116314057670700335748617012416603097525540258954218202267703640262939521759476976956223201082777775491393867836963216661951351282743178725842330957725817130987296197780199970708678013172462536163531938529330209968355915194593139841106719855899636087960040701042895405668266786562789657733107772068777615973834817826610735578192450335477910288228212361144398489632379244410186059658084957191992606828702480347192753498495044263118033821096392874435492839332029172841122420924118209976848576338999367949753999228360985788168813812872909081958323470219536405185617518208403533244756029892255473689892291165121952472360700360840963461370941330527056656597174613103616855850444710352282436162362987890142802419850121068243822199449735782702853485621854416185891347519150606335500741690330556281755169731352506948680526994626643314264868020299791844630478741356107296955463795846942891676179849890613489778841588251051565136797606681624561759630054738896627286532747205092987299053643264191434194166657172514151841297578886961502416551464813574720634915765663152458874555205629405032382139568607919905588222860712889379292897517565309802173707264876577581950873296317247763884969116161426555200608115618270904872509991585445006556387207365258475071956919522638882135481783884950141041825129005416170902969435112837684957252972613945538331116876333821278538118632758310615427908110256172870821733797350532080966217643695979607368280333816991366433571123310020855063484795623548617704734307999697371764342606543076947673962373300865234272384857003023844727877274562703139765225901963183753851731464562826674402300379072424945197143699456700694289983908544089114843837472013510356389208991378615870141982664407569632548618902504568839878428790005387431781171164191632358061838870107868755301710594383667365591352171107724199086769935114199667958800248648598564618132619206945106800763386728118463307093804259470039303720517488369200296600246957206360691870827740626983915991527978051733386886849548725402703015822072575411476754723577625105267280546041664761865862794852696739733890411525495208727768384225554646155363819036692675219634769875262884511370483989005412659839011440231574534197753535692257356609869296085202502897049434042248111716025117766542668091320405402529190458553758080708841736035998463749160898801299091723636874105618314024199251476535713157107820866029589311916260701933553683145431646264411247628559737826389305779949055771638167300562639630513998600260564941574324203071067813196067342123712273075640425159478574498962540332400371966252736929744795761431753578486596800706605993517502094640636362329746668141697627712583268382388457026224421530453780875383188836977283894594366728774503393072008924834775046721087169242369568628749557294383553316387734944890789530586794420188236446612313674666571030759670462252800007723569900126919467484654957075838105734167695016593278108814051796745069836859796183755260333299079771134800010027615321398194559066843504534911406707625477774072352604818 4508888215213798393587324712572388795262406058921984790464868570667155059953980770450461778380985511347318755575210513253662178530733491943180101408685635937475307827054435266147533036346550781431442887268714463888464526597039560406169195824817047657001093763918954587391897019219336174389221900314163234994254723603406048346297996179648787389060118864675307134169075194615984661363236712779651296145435795116766060714964354370288192158272242578867763102238583682282410779140229364080442028650787263595560021313982180379083924472586659149453006172390899552099829815583667915908435881802621233237308485200758550957362874796212243884128613772876389617923448947380556170737928036316610876254966554280164105418363482129500060558572740948035876584410992965420798465463222131179532019195889787340386683710501081837622290654043849148257755019426852990806099003542825469865622401182970317361839926601972965934182085178727941066904494294482561435859828337176520868595279919723164855887340507747714030788724549051883732026967267741503416957217225431824142994213090257098732542978944346045018161639382535528693281516560046118151444132836046669766550161670407457183244203652848812201321065565510374084799813805177269386860203225762285923476063026038458376774599289058609051624283278736100476566097268756387608771036637223381199880340853406195043548530631588267369018321661911494195033502027984740560915116242097470377501024497040025778123444776244784556144214862842127588273365727803864670716237383115141424112058393965608340149946153990370704550973597071458995818682601399007067180937983572370347949675678515188133073266589435231127664704640260835022812194683742379739704398970604801295406336233722440097928687024632654948707192461538030464250033840677369136005979751041841321872978676314567838063360728717595342002342445030295768014148345621623406272837059108950188229716717958928025840851890981072887288845948553662635840790828834893267194930710651701074213551075901329665690447330345859273915527490850428518522158858003111540047136515533336009817597222581603807952865039183206266884350785680926650041998944368081793869453211134506980517863880367259190011902163019645994776166683023522061671851910650438472124936601132825210896900740368979986222824604547966193967843759155096203601575214774942703447267647292449705493759940131921070407654948008157380690111568925988387549859911071792548521859228117265563913078682041310765692072972972300716631282200686572536939773349954861599549543668719979566388025348148064808190263134346320405062869135013410577727440700904643791994600409322128110728098531410615618431510633422812132034853082296422011352558669809331917861155965503105293986430806633931777604978521380733035499989583178909875310287722245132965227289799849040510321595265545140787034396992637180426961306350564824980735318439994422847257829424172830281578266159482101907059528364174848103081970995491495068250034812340571730941543470695045665521393182770452171018458562003136425657989516268041065659446937624799329895507045832143019516131053843386278243737500444764724165406529120804837320342097113376822874361647920863883828992720733745465930367087026542718296541675461222771628297148460674868981251337742586745776387692833144849809693533966982890319296939046989977340399594072506045305489268085908473030946502134242086792710439539784007976442353953598080726794026700722697466527289479324138978033950346464525733580092292262329886612708009793571248768179502257998408527497640462071249883720707640442523875228904832867988914885255846787144022565962808464673751277936765989461314876384775710248394201992048666472448527769067804389189236686386269151088690007737358675692550613727085988573562514927787229005419830146305636353913190163341682825989 7295534383689776531123294431255390067626435801273667549169010378415354757730641955980363374898994180260980592016420927738988179601336299775262679700107235135098419696609428667623674297234242409399686071535383248677397750674334119516571566846560171435425079694744821585166959713324041140259581911855026350684129352917780095571502278201295417008562081552722315103722496370524820062030791471759244972602831163242568603782283810127788386539583583125246441108883432678345337615060435332951512157249780085373482615956544334465823267065962450138816012849339430836031737115509242202362823162121948663486419696980389734129167341379372860802428450193436343611166920664206586285228463196290795448239185450155220838187668933228609178074158208064349934255111328714037810882066319656719790973414092055044026946650022841314599246877244931926033246413294689954022760954894108213044348243513928043178970913898170746134152793856741113529440657826421090766069796693091715461735121026443020755523428467788415073684130217318670294816625000849275485734833199266641969604948668449549068020889232574257379306037872167907937691702619704203108636125442875372246897354423905952227507321686669908594195501058349706113972654927598193505070180074338624922844012780037686737760387457872421924533365237059570696102502454373905817174569881979411092135814543298486208670483103948967729859285123282435525560558684581915174018733097947915087853306933202388766013587578664634677212458685041577324056068581289486525132423274462660574718393894707298670706227909160102057057922277598453622461996866267027366972782614051111704056972633978983980016158265615081018278194419102423273863759820539986421328960730234856034302963520255187303021674323686298212898626655704687636764185681974948022967482167593306135447699311230333501215819603272800971407374827169864375934053933844484119162216352006467753539518891666192902418433841854369204536609833522778797267346029443008885465835583161692659658557632288537030948922402302778796554409626332212403472299899828240545463307418502771122655282179834576421898403370300082600705629323799559408352614372276192050042324032868304331049944846584902885991509531299979811767533116594645371692706974135234095673554305867133210594272504711586529299772278510339494833078031539953206625419942652217266150407412518351668677513791863385633234329350308536453115056766069687844250554201055701092610974071954737577423435071250302144307943114954965124200914749305475041508613228383651604936975449891143758020383409986934916059018436056914788730234726365581685451639787674578906194268368122376759326663149543234825376617434186198860153316389390226270822597973529849406230356262103352251192791498504759518231962437372261013551722970065759424035690425260955037802701276603764087946700532825686828699158858499975279658046084455236506230527167762807072812475579536649318270941379116871782322412875545332092087383655330506508481609346538325266633800827304914961606595685667501605060706673719161543424532184359361471061976128083353087976215887568179017979880214742187577335461137318870342479430728372281373033499204934242852463673564181565817382675866165391730341614715586280544685847455410278543266464449023314499495249938003151687350711895904212663005760876090695163394937364206468551839362134404906417271742005015653268792378255712728683593417045533301510071082990315927827394935724328435280734909677936350363399564404127339908922417069576156924253341482513186643257693014277304719495696740010030699999441015091193758911610173795622398575709305444083233756336240629379495433421740189565997184884776511695177733049159067886772206616222785661082498003288483131338987948486191492619008991630384861885998601177836325981788072263334681217043061538667937414035430807 11804422598903574924710619143827778862888841860195652339633878949082509817684622726430825153279979691608299347591631440992650358132069791718442781108792871072573727523663863933771207333580793190831128958804097712565862277271373679922740762671377219092426173458663776172558856732543377314648803812169189585678384076521186143917800274380944204397622200417397622237891571565140804723394028184538896268748266958359334664497248164498076578697855825704114204211122016360627748394200664697031954185900567348969042637270526514844907191538549109288269019021730330388131566931092910118271259043924569896723728182181148285086530216175585104686557063966312733229090369611587142455966391232607406324494152004435384943606032415358109238632730949012385810839522321679458609347529541787899322992609981842384413630360523923152221537531288781074291001432721542944828859958436933682909970644696898360540810840500143712068334879035469054596345152120903652201929625030268236330330400946166185611410768975536129104472854766370554026843592268590778902692050424698466112599161758706647800563868176920302397467677254703436630973219179750321260080258278922042013447516094313409410751525339518720795516566623860080198772468732775462891930383300100910846320075806076145114534986746931030976157648515795671172668599723130293425945606519202792292016155396704681252219013735537235098877606785193929720594060712566655734933849340045385465354331430242414544137032354909419233356673547883704912329434309093351195848660657577801998830452288672907010856174063150472761608895874669912618280679467666034434153720597623482052006648312494172113089424855050312145942899059363258296675954504282366161033359700839657329709299753977627400950361348318953161605819117242718101014219522652317158973461918635147457320677987544901339279180331990396313409717272200160143948202279466107525435053411115417941769235609625120928259285732835442091825455782076441433108136858277902152660766293813393733872108708189866696639369732648638070469937117182640921994458757831352085510443934036107132472879402416180229851268409483288867589980109480486058394613316644273843911777244002811311567808726952162076003411694319625806543699799618167433364558884785672567798490906999958421491173245080566515522596883058305688800921790695049410226995157427159969597675059810801374171273731995306703641984298316693833805168334995676231800414112127493641132833300072003141336513753291612910000016087927265840832196949992047578448386578338513204486519118611123324408408758134999724249281570403235193793103861378992263179080488579222698188868777444504870054761680953850443808128067609010992188169471686648282175156643339181324091512227606457545179222305138691295836940958752994049051712553244669299345978147506088003029991076452804598268295798370827615733555851137155706619352435020061486965845607757229920070305003709479599849207538598973689381941239720180195169354650822001576731644158878896997575344297999960627127988868437953776079165235722297969082521700627402536721423065708152417871722933400322037496011268585573855579198637763635066644837257493086210353841302047619675338035212102429701211668586899137196271981802612823262982389130871501314894761597483989368476501275745738433127099588737357512815454410057678053714234303253458529179761728477412462577231273101561741823324757846970770386127485073085518047525344269525908121729751029157978201436967415674502377598354473804434655997161868419254139954190522980214506461193779562717904224237650492771249324735798834201435485402700455266564624190699930020900358806592187960107173018126331986646199652896470887981443361059935438679064750554728886887192525169517608139037176199229977684684180998588971987174740351253769017077683164827522679415451858100755718256796 19099956982593351455833913575083168930515277661469319888802889327497864575415264682411188528178973871869279939608052368731638537733406091493705460808900106207672147220273292601394881630815035600230815030339480961243260027945707799439312329517937390527851253153408597757725816445867418454908385724024215936362513429438966239489302552582239621406184281970119937341614067935665624785424819656298141241351098121601903268279531974625864965237439408829360645320005449038973086009261100029983466343150347434342525253227070849310730458604511559427085031871069761224163304046602152320634082206046518560210147879161538019215697557554957965488985514159749076840257290275793728741194854428898201772733337454590605781793701348586718416706889157076735745094633650393496420229595861444619113966024073897428440577010546764466820784408533713000324247846016232898851620913331041895954318888210826403719781754398314458202487672892210168125785809947324742967999421723359951792065521972609206366934197443324544178156984983689224321660217269440054388426883623965108082204110427156196868584757409494559776773715126871344568664921799454524368716383721797414260344870518219361638258847026188629389712067682209786312745123660373656397000563374439535769164088586113831852295374204803452900691013752855241868771102177504199243120176401182203384151969940003167460889496839486202828736891908476365246154619397148570908952582437993300553207638363444803310150619933574053910569132232925282236385502890382837720981083932040462573548846183380205681562401972310574818666818152268366240742676333933061801126503211674593756063620946473156093105583120665393164221093478465681570539714324822352582362320431074513364012263274232814703972035672005251374504445772947405737778405204627265181940944086228453592768377298775234840494999935263197284817092099370024519882256213310591644597269763121885695308754501291313830677719574689811296362065615599220230375482887720911038126601876975086393530666340478403727588292134951416867024346743514853325466758657659592630973751352538878255128161582250756651749671779783371468295609433280045466747227688920465893954101276871115642617753573537064961994921225619605618311232916212812805057265858920906663472045212867091632085445749792153044822369161568645183633999822235002616852415100079377235748082472329153042848787523858692336876313648625230286920225101065364076050968313183194733743807372026740718759948824541915054307959202882230965033111699297522619956999806722164809423494568502267082428792168121934640308300006460149982523338587744573948630720276253801604383137145566881629381424830497085269184745501795209852341485861076874552997754616869030730321868489709809796372013803643450814068903396125255062603435523310428723381668572767043040832692353056568686214996331196514444432714709637130986277398519475297993196372775520036992882780583246128918120148917715845471704354115265512287256738306152508085213253505417222264209145125304875588734584554105455381139871909441459512507053884986764007783399193791505505847938820968501055475891483327761432914659775082505409124267985865367583387340506981862527801708776283995518594344453064528926613596518199103807668236586281779858161226046507303867971751213748890120477811484641570175821215286148373217109171667459927081019123862882318879848973278117215010615703013559699453979544530606387028118608334585453735516665475357593258936346645352024865777162758601144343578414231444576178393295673036166857764154208056867437399920977660523471248765750890027960347095576496077665140333496144013254656695047221567455540594758315897983831084429408166065714492520127822210885680973340389969385195813652648947126985662390722596693675811383450857985775918187579750805149946499508739722476990526038169753687603 30904379581496926380544532718910947793404119521664972228436768276580374393099887408842013681458953563477579287199683809724288895865475883212148241917692977280245874743937156535166088964395828791061943989143578673809122305217081479362053092189314609620277426612072373930284673178410795769557189536193405522040897505960152383407102826963183825803806482387517559579505639500806429508818847840837037510099365079961237932776780139123941543935295234533474849531127465399600834403461764727015420529050914783311567890497597364155637650143060668715354050892800091612294870977695062438905341249971088456933876061342686304302227773730543070175542578126061810069347659887380871197161245661505608097227489459025990725399733763944827655339620106089121555934155972072955029577125403232518436958634055739812854207371070687619042321939822494074615249278737775843680480871767975578864289532907724764260592594898458170270822551927679222722130962068228395169929046753628188122395922918775391978344966418860673282629839750059778348503809538030833291118934048663574194803272185862844669148625586414862174241392381574781199638140979204845628796642000719456273792386612532771049010372365707350185228634306069866511517592393149119288930946674540446615484164392189976966830360951734483876848662268650913041439701900634492669065782920384995676168125336707848713108510575023437927614498693670294966748680109715226643886431778038686018561969793687217854287652288483473143925805780808987148714937199476188916829744589618264572379298472053112692418576035461047580275714026938278859023355801599096235280223809298075808070269258967328206195007975715705310163992537828939867215668829104718743395680131914170693721563028210442104922397020324204536110264890190123838792624727279582340914406004863601050089055286320136179774180267253593598226809371570184663830458492776699170032323174237303637077990110916434758937005307525253388187521397675661663483619745998813190787368170788480127402775048668270424227661867600054937494283860697494247461217415490944716484195286574985387601040984666936881600940189266660335885589542760531525141841005564739737865878520873926954185562300489227037998332919939231424854932715830980238421824743706579231270536119867050053576618994872719560344966044626950872434921612930052027079410257506537205345757532139954417020061255853999040518297946941924120725393436061040307851382425310688374876640672098743860096462577833527964307975290809496805865308649289570198405386385060678013910013687113390406837200926256934364557581576863385176316442449123566211809800764833024302572005923011386499436186511450935712992873569404220844529655332763522835172911260208212054413380717316267341551236108782142109905844354878249111655148076555098022727646720273131043862683429509373284483292129567342060166270560774286692896750954495359480162218383277266912953085586955608517969356456314819161086295354985692482426092956974509661944897664296119261784489423304836215862573422543409157219037145163757481589575585614166544504822259499657923719661754368823092971902751913335288493858412846140475769105243358453793741181809029482203139743988386425219806013039963666122885578320811927070650625717153281173055987643991293236448252489494628553604911073378927688636669696206051270823405970713385610198885591359731342426204551218776752439027771406670224365672015679472546166133678854979643638395226386751237137783612767699368154761113074948778234411393312995432533249863559147072270615401836430155304145215311016242498090486688862161782580979196532931704957686843943275557053853813755415647767776442229970477284082304636953695935881187757649564745723895118856272388338822166555266022838589952574378359992382039829972950658538833519822227629664336262401892442384138925471944399 50004336564090277836378446293994116723919397183134292117239657604078238968515152091253202209637927435346859226807736178455927433598881974705853702726593083487918021964210449136560970595210864391292759019483059635052382333162789278801365421707252000148128679765480971688010489624278214224465575260217621458403410935399118622896405379545423447209990764357637496921119707436472054294243667497135178751450463201563141201056312113749806509172734643362835494851132914438573920412722864756998886872201262217654093143724668213466368108747572228142439082763869852836458175024297214759539423456017607017144023940504224323517925331285501035664528092285810886909604950163174599938356100090403809869960826913616596507193435112531546072046509263165857301028789622466451449806721264677137550924658129637241294784381617452085863106348356207074939497124754008742532101785099017474818608421118551167980374349296772628473310224819889390847916772015553138137928468476988139914461444891384598345279163862185217460786824733749002670164026807470887679545817672628682277007382613019041537733382995909421951015107508446125768303062778659369997513025722516870534137257130752132687269219391895979574940701988279652824262716053522775685931510048979982384648252978303808819125735156537936777539676021506154910210804078138691912185959321567199060320095276711016173998007414509640756351390602146660212903299506863797552839014216031986571769608157132021164438272222057527054494938013734269385100440089859026637810828521658727145928144655433318373980978007771622398942532179206645099766032135532158036406727020972669564133890205440484299300591096381098474385086016294621437755383153927071325758000562988684057733826302443256808894432692329455910614710663137529576571029931906847522855350091092054642857432585095371020269180202516790883043901470940209183712714706087290814629592937359189332386744612207748589614724882215064684549587013274881893859102633719724228913970047763566520933441389146674151815954002551471804518630604212347572927976073150537347457946639113863642729202566917693533350611969050031804181198976040576991889068694485205631819979797745042596803315874026291999993254145558837043166165632043793043479090602627485894742581332734141685662064744664872605167335206195596056068921435165054643931825357585914441093840004469107459868848779712691377394611595567154407645618537126404383902350738493883108620448044125484578856411402375443018615934493691727770898420348587092818362386191782842823333508255615657489265993094378869004865881583323535158839781036868140160440521041086825906955143068578268128817611341948020982177619071199430696871141193840397388170665877077242784735249207026077137923249912425592923974747751003504174258583599865526746109315293040174084695375782565941970698288460763856504598985270411417679174149473970657473358591158797303905835866170201737436089505374030664632790649470251204769682831263127017747158151169713341525993634548609711804597157976648864538358909054605216994096629470600930552288221453291163429567600575337324148447794235241096721408518187928645884893373229223821377128522316011344730941452764670420738400357493028195049499174839011030878318862303435061031217213690498597104420003703243518674082722558020497864457884982354424487932577638173312691218009454242050222275177829335991763054730784966369678345216546285859574284742013440433379155060701744344496074130258119724233931923871676093121812825624757571610926545536595313930034769609893297592704066192971539713746856237578890122129676555692610596845291182987956530213748901035322871188362534758127954308368511712803019410428401315579860450426697235508825657584152474815502393008500980675171072035803765490687958726576726413270627377576163845002124369432910177095225632002 80908716145587204216922979012905064517323516704799264345676425880658613361615039500095215891096880998824438514007419988180216329464357857918001944644286060768163896708147605671727059559606693182354703008626638308861504638379870758163418513896566609768406106377553345618295162802689009994022764796411026980444308441359271006303508206508607273013797246745155056500625346937278483803062515337972216261549828281524379133833092252873748053108029877896310344382260379838174754816184629484014307401252177000965661034222265577622005758890632896857793133656669944448753046001992277198444764705988695474077900001846910627820153105016044105840070670411872696978952610050555471135517345751909417967188316372642587232593168876476373727386129369254978856962945594539406479383846667909655987883292185377054148991752688139704905428288178701149554746403491784586212582656866993053682897954026275932240966944195230798744132776747568613570047734083781533307857515230616328036857367810159990323624130281045890743416664483808781018667836345501720970664751721292256471810654798881886206882008582324284125256499890020906967941203757864215626309667723236326807929643743284903736279591757603329760169336294349519335780308446671894974862456723520429000132417370493785785956096108272420654388338290157067951650505978773184581251742241952194736488220613418864887106517989533078683965889295816955179651979616579024196725445994070672590331577950819239018725924510541000198420743794543256533815377289335215554640573111276991718307443127486431066399554043232669979218246206144923958789387937131254271686950830270745372204159464407812505495599072096803784549078554123561304971051983031790069153680694902854751455389330653698913816829712653660446724975553327653415363654659186429863769756095955655692946487871415507200043360469770384481270710842510393847543173198863989984661916111596492969464734723124183348551730189740318072737108410950543557342722379718537419701338218552046648336216437814944576043615870151526742012914464909841820389193488641482063942141925688849030330243551584630414951552158316692140066788518801108517030909700049945369685858318618969550988878174515519037991587065498068468021098347874773281900915346334065126013117452601191739238683739537592165512301250822546928503843048095106671011235615092451646439597536609061876888910035566690417912909542509078528371011973187444691753733163804571483497088716224228438952873980208970982923909784501224576763728997876663016767772576843520837243521942729047896103194020635803369423463160186920335156223485991706372250321805919850209527148991589654628253797853398956695170492640603651541400796526603920223343577137285454839148629924342344479474486021207735033880592105881753285913731676420624768836962013313305128558059212075315255181580590331198564765255831185704372070900428466016953520809542074570818788951757157345954058861830345483793876944825236897252108924220101527409103048834009460787778123971914548020459731399192273695577946199768974475686205056215097096793043712790821353287262329706147241419696987154432009902376600774786360662478472582275170869704125040826934081196753056845958206370532991861172384753159822957948969488020588342204273201334489890340868256192738147227687633631399425553094554678560475758755983608886698301416895045601781564701382380554768515493758556373039902710888561965332120450875692295413022793455928131095733211913870887423602086684984751041900047237018070567043459795400154461002305385011729727748008211408282555956244946724267752283912257534889143528550248869831899805770802754849078286836130311200357924785652594017439973106364282503337510015172421130627681929972491296982057659031339570627745450395796147530517931677235265246790449605205828181264526261875294316020697576401 130913052709677482053301425306899181241242913887933556462916083484736852330130191591348418100734808434171297740815156166636143763063239832623855647370879144256081918672358054808288030154817557573647462028109697943913886971542660036964783935603818609916534786143034317306305652426967224218488340056628648438847719376758389629199913586054030720223788011102792553421745054373750538097306182835107395013000291483087520334889404366623554562280764521259145839233393294276748675228907494241013194273453439218619754177946933791088373867638205125000232216420539797285211221026289491957984188162006302491221923942351134951338078436301545141504598762697683583888557560213730071073873445842313227837149143286259183739786603989007919799432638632420836157991735217005857929190567932586793538807950315014295443776134305591790768534636534908224494243528245793328744684441966010528501506375144827100221341293492003427217443001567458004417964506099334671445785983707604467951318812701544588668903294143231108204203489217557783688831863152972608650210569393920938748818037411900927744615391578233706076271607398467032736244266536523585623822693445753197342066900874037036423548811149499309335110038282629172160043024500194670660793966772500411384780670348797594605081831264810357431928014311663222861861310056911876493437701563519393796808315890129881061104525404042719440317279897963615392555279123442821749564460210102659162101186107951260183164196732598527252915681808277525918915817379194242192451401632935718864235587782919749440380532051004292378160778385351569058555420072663412308093677851243414936338049669848296804796190168477902258934164570418182742726435136958861394911681257891538809189215633096955722711262404983116357339686216465182991934684591093277386625106187047710335803920456510878220312540672287175364314612313450603031255887904951280799291509048955682301851479335331931938166455071955382757286695424225425451201825013438261648615308266315613169269657826961618727859569872702998546531545069122189393317169561792019411400088564802712673059446118502323948302164127366723944247987494841685508919978394535151001505838116364012147792194048541811037984841211056905511187263979918566325380005948961551020755698785335333424900748484202464770679636457018142984572764483260161314943060972678366087533437541078169336757758815279381795307521138076232936016630510313849075656083902298454592117536760349713017809285382584414001539844278192952347662149346463755835130158768626363660577030198344705385369187115014672374289344743510455493996004522859846532690842847006676116482292060167922757071409195346977677348111711803082238271937720444317611514243014362697623883879131368421617397735933633327957855339856885257460172315276286151514946277306353479213253434994641257225879869051095055069364241101597122051245049902436674426879400700871874724624817927359083390148367204376148426667594295488102021791755483228545156261200003722802313771758520524259825056889375841138233936855254374191469782834526816027649081265166081984782854862905043471389867491222395528731310894788703432245555851701806096547998226441052171665022649517727266696606728026020056221883927998833988827288350324023403235490415024988487445288259895981665901770356189419923417552439660914900246688561247060010992634904499843831786976560209890760278548489341339409581056105108251191694735617705735846401948516629875440229286044129007147836018608856427135021860062642828138654386340936749774932340154621623025340712277601254095669991802961846642406041934090581754125395540052819856335984551655884401158024492845958485879094021105730242992516792683818917370465599118366136507587556643771797560052039840551302916522431599913021205890403811991660061076982781992026266650631308204493115923208403 211821768855264686270224404319804245758566430592732820808592509365395465691745231091443633991831689432995736254822576154816360092527597690541857592015165205024245815380505660480015089714424250756002165036736336252775391609922530795128202449500385219684940892520587662924600815229656234212511104853039675419292027818117660635503421792562637993237585257847947609922370401311029021900368698173079611274550119764611899468722496619497302615388794399155456183615653674114923430045092123725027501674705616219585415212169199368710379626528838021858025350077209741733964267028281769156428952867994997965299823944198045579158231541317589247344669433109556280867510170264285542209390791594222645804337459658901770972379772865484293526818768001675815014954680811545264408574414600496449526691242500391349592767886993731495673962924713609374048989931737577914957267098833003582184404329171103032462308237687234225961575778315026617988012240183116204753643498938220795988176180511704578992527424424276998947620153701366564707499699498474329620875321115213195220628692210782813951497400160557990201528107288487939704185470294387801250132361168989524149996544617321940159828402907102639095279374576978691495823332946866565635656423496020840384913087719291380391037927373082778086316352601820290813511816035685061074689443805471588533296536503548745948211043393575798124283169193780570572207258740021845946289906204173331752432764058770499201890121243139527451336425602820782452731194668529457747091974744212710582543030910406180506780086094236962357379024591496493017344808009794666579780628681514160308542209134256109310291789240574706043483243124541744047697487119990651464065361952794393560644604963750654636528092117636776804064661769792836407298339250279707250394862283003366028750408327926385420355901142057559845585323155960996878799061103815270783953425160552175271316214058456115286718185261695700830023803835175969008544547393156799068316646484867659817605874264776563303903185742854525288544459534032031213706363050433501475342230490491561703389689670086954363253716285683416084314776013642794025950888094585096371191696434982981698781072223057330075976428276554973979208362327793339607280921295295616146768816237936525164139432223740056936191937707840689913076607531355267985954296587770817733973035077687231213646668850846072213220430680585311464387642483501293767409817066103026075614625476573941456762159362793384984463754062694176924425878344340418851897931345469884497820552141073753281472381135650475743712807903697375829152228008851552904941164652926526326009441051757577385325207048745934372518604352406733779672734247048237834857820151648152463032509055710766096872221954841062991735931962767010746086046952706776283783239319666784341811494206716572481061449641426253634129496932782826423315950330902691380400210242946445543413769684516429344207229034721632220544539120724999273900679703330072565364248837732263101549882492438807845516620775033411929514801454143165945469039583031124745874308878872806136142125234749618631287188209549960741213271389478218606218330174388371718867930566092998599103846270784112654813098559011917394268681158656946776257838344611745439763616359478377786156516088719813129457989820819348970646994339475376005444544855946709294051799545445613351677942590445528794042247897712449483766993670216523815186493398031259424741972558006535962497957999894571438105293841178176921907299660898705697846136336904235934645539633352753088720489009536651626236749686114394689954191625470897653945788922651756141755354410733479444860623157158843803879673699747682965623156966322254880480771539496764189517529135068779617711071180121930661972827396060551723822081047256906851526587987820207531176893183498809136620784804 342734821564942168323525829626703426999809344480666377271508592850132318021875422682792052092566497867167033995637732321452503855590837523165713239386044349280327734052863715288303119869241808329649627064846034196689278581465190832092986385104203829601475678663621980230906467656623458430999444909668323858139747194876050264703335378616668713461373268950740163344115455684779559997674881008187006287550411247699419803611900986120857177669558920414602022849046968391672105273999617966040695948159055438205169390116133159798753494167043146858257566497749539019175488054571261114413141030001300456521747886549180530496309977619134388849268195807239864756067730478015613283264237436535873641486602945160954712166376854492213326251406634096651172946416028551122337764982533083243065499192815405645036544021299323286442497561248517598543233459983371243701951540799014110685910704315930132683649531179237653179018779882484622405976746282450876199429482645825263939494993213249167661430718567508107151823642918924348396331562651446938271085890509134133969446729622683741696112791738791696277799714686954972440429736830911386873955054614742721492063445491358976583377214056601948430389412859607863655866357447061236296450390268521251769693758068088974996119758637893135518244366913483513675373126092596937568127145368990982330104852393678627009315568797618517564600449091744185964762537863464667695854366414275990914533950166721759385054317975738054704252107411098308371647012047723699939543376377148429446778618693325929947160618145241254735539802976848062075900228082458078887874306532757575244880258804104406115087979409052608302417407694959926790423922256949512858977043210685932369833820596847610359239354522619893161404347986258019399233023841372984637019968470051076364554328784437263640668441814344735209899935469411599910054949008766551583244934209507857573167693393788047224884640333651083587310499259401394459746372406595060716931954751183272986875532091738182031762755615557523835076004603154220607023532612225520886742319055294274376449135788589278311555880413050140028562763508484479534870866489120247372697534551346993846573266271599141113961269487611879490395626307711905932660927244257167167524515023271858589040180707942521706871574164858832897649372014615429300897357560449183821506472618765400550404427666125454008527951818661544400404272993815142843065900968401480667732162236923654474571444745377798986003598340887129272088027690804174687028090114096248158397582339418458666841568250665148118002152647207831323148232531711399437632007499933202442491733111925500142396616244092912049866716064209816017944671967492555446372063166010850086916388187079187714269957888474390949591271819652268206258362228992927798729516626020263555064929201357829706941318692521308703493738034379948474561000233339365807279610943818320268038587611875512734355596239097780647212133416213101295692435186558617721625448841455065415321641012963067670573510150874550163451656708517357415251874109847152394955574044954790918996988139793090021154679431945489472524166178181650851774181876194468266866157007145170264126495788511379351419826585031973616152609157490935603546188668635148675254031384466865231444775984701479031228346010239272388199434000390276252133106103006720286686704045289445138654502800336289072590737239051859064823098778467715509922111103767105826690489187881976191784002128901719274123902697605311943767362303726844352232477273654010866985694254975778429432766610790747296228552647961037095996125716052651779341328975471612477739906066617880602885116003117329682973694805477925958139949650141172250946370657862900697105085778840577177763111020673233578495258995973572929712484859248566912603570769812233797827524491703302252543993207 554556590420206854593750233946507672758375775073399198080101102215527783713620653774235686084398187300162770250460308476268863948118435213707570831401209554304573549433369375768318209583666059085651792101582370449464670191387721627221188834604589049286416571184209643155507282886279692643510549762707999277431775012993710900206757171179306706698958526798687773266485856995808581898043579181266617562100531012311319272334397605618159793058353319570058206464700642506595535319091741691068197622864671657790584602285332528509133120695881168716282916574959280753139755082853030270842093897996298421821571830747226109654541518936723636193937628916796145623577900742301155492655029030758519445824062604062725684546149719976506853070174635772466187901096840096386746339397133579692592190435315796994629311908293054782116460485962126972592223391720949158659218639632017692870315033487033165145957768866471879140594558197511240393988986465567080953072981584046059927671173724953746653958142991785106099443796620290913103831262149921267891961211624347329190075421833466555647610191899349686479327821975442912144615207125299188124087415783732245642059990108680916743205616963704587525668787436586555151689690393927801932106813764542092154606845787380355387157686010975913604560719515303804488884942128281998642816589174462570863401388897227372957526612191194315688883618285524756536969796603486513642144272618449322666966714225492258586944439218877582155588533013919090824378206716253157686635351121361140029321649603732110453940704239478217092918827568344555093245036092252745467654935214271735553422467938360515425379768649627314345900650819501670838121409376940164323042405163480325930478425560598264995767446640256669965469009756050855806531363091652691887414830753054442393304737112363649061024342956402295055485258625372596788854010112581822367198359370060032844483907452244162511602825595346784417334303094577363468290919799751859785248601236050932804481406356514745335665941358412049123620464137186251820729895662659022362084549545785836079838825458676232674809596698733556112877539522127273560821754583705343743889230986329975545354338494656471189937697764166853469603988635505245539941848539552783314293331261208383753179612931682578643063511872699522810725979545970697286851654148220001555479507696452631764051096516971526221748382499246855864791915477316436610475718034504506743346787713497595931333604108171183970467352403581306196513906035144593538926021459566132656218134480492211948313949386315623861714960550905207152300460540562952342573172152859728768501174163683077527721823292838846422385320416616549797617406214540793281229883317659002549948897242789953811142179843315453941327203782419278952344409181699704082512755945687047896876423408074402188002768333947562337623234967162774897876950564242057187679821186764765811452357296391942078562825273819412867756672536938100569593114889888690286989697679187328516871523505401875516090130925907962092966458162660523360720913692878277140829882923827597055139113374542708652441867641495450213737437567659869457992512050582839985734087573238168863230342059295492006232925144043891010421290316147882379804027013246894115017647743945243017601292073421292160686335831058621358846428339865652257577650958953429580738503590735058490332445390781817866632985136764308548590092448684239325108604501798365251432461745888512154281960128796290712229196538783488865674661964625550050078613610558246801631233888328531518153255620327398922465302334075431785950317341523549433287117898123368619495260477351360047745739160276173486853368505225608923763106616463427131427142197359664886622614913909356795474182200795164240468086392034124653534565906505473764130158757632441329004417675202111389164778011 897291411985149022917276063573211099758185119554065575351609695065660101735496076457027738176964685167329804246098040797721367803709272736873284070787253903584901283486233091056621329452907867415301419166428404646153948772852912459314175219708792878887892249847831623386413750542903151074509994672376323135571522207869761164910092549795975420160331795749427936610601312680588141895718460189453623849650942260010739075946298591739016970727912239984660229313747610898267640593091359657108893571023727095995753992401465688307886614862924315574540483072708819772315243137424291385255234927997598878343319717296406640150851496555858025043205824724036010379645631220316768775919266467294393087310665549223680396712526574468720179321581269869117360847512868647509084104379666662935657689628131202639665855929592378068558958047210644571135456851704320402361170180431031803556225737802963297829607300045709532319613338079995862799965732748017957152502464229871323867166166938202914315388861559293213251267439539215261500162824801368206163047102133481463159522151456150297343722983638141382757127536662397884585044943956210574998042470398474967134123435600039893326582831020306535956058200296194418807556047840989038228557204033063343924300603855469330383277444648869049122805086428787318164258068220878936210943734543453553193506241290905999966842180988812833253484067377268942501732334466951181337998639032725313581500664392214017971998757194615636859840640425017399196025218763976857626178727498509569476100268297058040401101322384719471828458630545192617169145264174710824355529241747029310798302726742464921540467748058679922648318058514461597628545331633889677182019448374166258300312246157445875355006801162876563126873357742308875205764386933025676524434799223105518757859065896800912701692784770747030265385194094784196698908959121348373950443293579567890417651600846032209736487465928997868004644802353978757928037292206346920502180555987234205791356938448252927367428696973969572958696468740340472427753428274884543248826868601080110456287961247265510986365477111783696141440303030611753095692621072825591116586765537676969391927604766255612303898967251778732959999614943217151472602775783809950481817846284480242342219793639625100349935086037558355708375351560586126587749011708669185376985980315218032314455524183096980230276334317908400265196188471131579453541619002905987411078949950421250405905048853548982956470950744468435468601933725948768225954111573662380814615716819910670615155517636980771979717113198113038475448693072274351780205179652792931210992907275608577670118439536931758472252036480826365815562078182033348727601946483669852636865285429869141525412137731789844890918475602071547158602771410692631881242272571707311451941352609432231894944087026468871041116973001542723372437950797581422994959432130583086079490944908267454812918421512917193514968805953151201865285550076447308008615146520642393932193164518364943186663641076782512256418114871177880775972787802725429535785456968782387974136101514335798673596547073440939686261603745841520309766693926777308252600244580383339127356837847806871357652751729075864626573899473638817983350215681882042790271679128412108249046068058122771191914681841297893747045862340255928509710757061960149867425207636024503628986948191118106939223722375816167613413191227151954835030715605565471078122950933770488346065962257698009986353099236388800809442024268352394402311090884212257668616928143304309947586022231118146218693854982036468881946443057576201212628446873594981097235166543969240650630855163393503169827063310703534881903056266604599382373512855222565583727700692749933973237293221468397818963345388007697583247050765754040676733729527444675126831942166905413641708771218 1451848002405355877511026297519718772516560894627464773431710797281187885449116730231263424261362872467492574496558349273990231751827707950580854902188463457889474832919602466824939539036573926500953211268010775095618618964240634086535364054313381928174308821032041266541921033429182843718020544435084322413003297220863472065116849720975282126859290322548115709877087169676396723793762039370720241411751473272322058348280696197357176763786265559554718435778448253404863175912183101348177091193888398753786338594686798216817019735558805484290823399647668100525454998220277321656097328825993897300164891548043632749805393015492581661237143453640832156003223531962617924268574295498052912533134728153286406081258676294445227032391755905641583548748609708743895830443776800242628249880063446999634295167837885432850675418533172771543727680243425269561020388820063049496426540771289996462975565068912181411460207896277507103193954719213585038105575445813917383794837340663156660969347004551078319350711236159506174603994086951289474055008313757828792349597573289616852991333175537491069236455358637840796729660151081509763122129886182207212776183425708720810069788447984011123481726987732780973959245738234916840160664017797605436078907449642849685770435130659844962727365805944091122653143010349160934853760323717916124056907630188133372924368793180007148942367685662793699038702131070437694980142911651174636248467378617706276558943196413493219015429173438936490020403425480230015312814078619870709505421917900790150855042026624197688921377458113537172262390300266963569823184176961301046351725194680825436965847516708307236994218709333963268466666741010829841505061853537646584230790671718044140350774247803133233092342367498359731012295750024678368411849629976159961151163803009164561762717127727149325320870452720156793487762969233930196317641652949627923262135508298276372248090291524344652421979105448556121396328212006098780287429157223285138595838344804767672703094638332381622082316932877526724248483323937543565610911418146865946536126786705941743661175073810517252254317842552739026656514375656530934860475996524006944937281943260912083493836665015945586429603603578722397012544624323362733796111177545688626095399406571307678992998597910257878519101331106556823874600665856889186932465488011670664078506620700068506452024716817155256129988103948448016064017337037410494154425737663918846337238652961720166926938303148049741665115839761093361764880133033228513470833851300402882563469467023296395841432073749018245627749153612837304122778351805652659979494081439291655197840262829770604894637356897442915613179484396574142008831829801328855186814182672659095336554317575105298832245679384490826110947180592392335963755028517394359348817776017506634082946855360416433378740207968705498270314901361823480182639253317347851890943302204659396891481246786736606382725478490089302434878664966335998295604844199829722449064688023766818702753772002690474349384573033838404136693701495603706676615339892609985029275214888878507326038414714936389899999041313501389767759205977360148238334332153621507990587179907102363363885676873119755636995189789786700363154242695128936905289326872357351266647360131544063352601017672356515105892290680121580767288408020913579448163711226759562119319393581899924805856707512580476162003283675836194160139320107363836329555412679659000500347922386494300698582295775172289675116686232977944452389704494770504470248162031632841465739277851445545141159157316111900667896760399099750645915564771718349716730427021320600698376594323669676656680431815929143805666162883068026513800655052582230470350315606659290768711475422263562059431431780041822236781616672259514440863888285077116455836359842107525030873549229 2349139414390504900428302361092929872274746014181530348783320492346847987184612806688291162438327557634822378742656390071711599555536980687454138972975717361474376116405835557881560868489481793916254630434439179741772567737093546545849539274022174807062201070879872889928334783972085994792530539107460645548574819428733233230026942270771257547019622118297543646487688482356984865689480499560173865261402415532332797424226994789096193734514177799539378665092195864303130816505274461005285984764912125849782092587088263905124906350421729799865363882720376920297770241357701613041352563753991496178508211265340039389956244512048439686280349278364868166382869163182934693044493561965347305620445393702510086477971202868913947211713337175510700909596122577391404914548156466905563907569691578202273961023767477810919234376580383416114863137095129589963381559000494081299982766509092959760805172368957890943779821234357502965993920451961602995258077910043788707662003507601359575284735866110371532601978675698721436104156911752657680218055415891310255509119724745767150335056159175632451993582895300238681314705095037720338120172356580682179910306861308760703396371279004317659437785188028975392766801786075905878389221221830668780003208053498319016153712575308714011850170892372878440817401078570039871064704058261369677250413871479039372891210974168819982195851753040062641540434465537388876318141550683899949829968043009920294530941953608108855875269813863953889216428644244206872938992806118380278981522186197848191256143349008917160749836088658729789431535564441674394178713418708330357150027921423290358506315264766987159642536767848424866095212072644719518687081301911812842531102917875490015705781048966009796219215725240668606218060136957704044936284429199265479909022868905965474464409912497896355586255646814940990186671928355278570268084946529195813679787109144308581984577757453342520426623907802534879324365504212445700789609713210519344387195283253020600070523335306351195041013401617867196676236752212428108859738286747946056992414747953207254647540550922300948395758145583350779752206996729356525977062762061683914329209548027167695797735632267724319389603218521939548485147400107172684277929023830168868437619200210932779342933683947816234227476682667142950462349677565558372309451468326888696392962144883165486682301051135063656395184292419579595517558956040316481565504687614340096743143701815269149883409253892518177133717773487042129990834244606890894285449568120313553178624984660277167821149186947131284103197846685111655902983531458445591190486988714900232867958702366702363366889393378269281428741562578607490736433776284998707823679468102528236861966455306895143723164154986562373269549952003084967844997301089101670800759128626938865977890942386885304419857180970248221642752852159404903177598685447930937970434247112926851704399668299653799897694284443240504300164215042783306304219990720472116381257852542131761889417413079472986605802687905016284912666489298329136212400796861392373003411316403214305999634961788377329586260645059342910077525899904137456490934576734004847117944017754909234721538428602195620263569089263425518346504458377010979695561006000769459515693428189666834544515699513654408852938153020377509276999165082873729315588918862784065748306341773018031745080429888396643775416474902988148995170035712929307407678363613429488846413884644192310684935395011561090484558710501330338854700795378982762138865090174937151413325300082563691359853012298148369549843203456675951858544011645313330813965593565289841349007449487063179826507495126632678687569219149672625896174167907804796054078016299409224741948768643731959878394777168049519820028667438013555117597617812521791582668302009012938672582320447 3800987416795860777939328658612648644791306908808995122215031289628035872633729536919554586699690430102314953239214739345701831307364688638034993875164180819363850949325438024706500407526055720417207841702449954837391186701334180632384903328335556735236509891911914156470255817401268838510551083542544967961578116649596705295143791991746539673878912440845659356364775652033381589483242538930894106673153888804654855772507690986453370498300443359094097100870644117707993992417457562353463075958800524603568431181775062121941926085980535284156187282368045020823225239577978934697449892579985393478673102813383672139761637527541021347517492732005700322386092695145552617313067857463400218153580121855796492559229879163359174244105093081152284458344732286135300744991933267148192157449755025201908256191605363243769909795113556187658590817338554859524401947820557130796409307280382956223780737437870072355240029130635010069187875171175188033363653355857706091456840848264516236254082870661449851952689911858227610708150998703947154273063729649139047858717298035384003326389334713123521230038253938079478044365246119230101242302242762889392686490287017481513466159726988328782919512175761756366726047524310822718549885239628274216082115503141168701924147705968558974577536698316969563470544088919200805918464381979285801307321501667172745815579767348827131138219438702856340579136596607826571298284462335074586078435421627626571089885150021602074890698987302890379236832069724436888251806884738250988486944104098638342111185375633114849671213546772266961693925864708637964001897595669631403501753116104115795472162781475294396636755477182388134561878813655549360192143155449459426761893589593534156056555296769143029311558092739028337230355886982382413348134059175425441060186671915130036227127040225045680907126099535097783674434897589208766585726599478823736941922617442584954232668048977687172848603013251091000720693716218544481077038870433804482983033628057788272773617973638732817123330334495393920924720076149971674470649704894812003528541534659148998308715624732818200650075988136089806408721372385887460837538758585690859266491491288079779291572297283669905819206822100661945497692024430535418074040201375857494533018606782240458335932281858074112746578013773699774336950343422447559241916956338559360471468765583233993134325767952218912525172396368027611581576293077726975719930425278258943080382354776989316810347557040567918798833613248135491755714377640119407756283419420716435742094451683573563662581260696149529730947000297948960025761883264098251169981070154191888065798965196472968261526750275712197041921046975181632745265606086327563010493650775187332198520772882000442555409834371053199380497132595477303808752329606496030149576904644445500060837797747301737798597388938953719913067753521228383360237938765278789861377549317586248595880915086390406280419762933329806735042880009119304599824834920301838830322540565898580592171185082163460955187260938854689049360190793932842889016136754002358032686531292092813325673376503313719486259686372844299845285105881497604729268908887626355108531197662011598085424105475315375900564279053212218709658701072139916600850332873126810782340788321210897897116717186010923958830443700499090044287573103787308763752630089543627867625735354917956550937137400977119937419758578824343155309355820293143737233776293088489346761807030686611383517690786733380159675396734308283307090499873753266609113252206569992879064577934009236501012169614260270217739963855775702504459576417031680530696020586610442047384043810732856483187926942561822493235382032740652409974822960387026524428331906068515510660244065995521937826208948091342056810284110273069558461506097598908038504661851120463703455869676 6150126831186365678367631019705578517066052922990525470998351781974883859818342343607845749138017987737137331981871129417413430862901669325489132848139898180838227065731273582588061276015537514333462472136889134579163754438427727178234442602357731542298710962791787046398590601373354833303081622650005613510152936078329938525170734262517797220898534559143203002852464134390366455172723038491067971934556304336987653196734685775549564232814621158633475765962839982011124808922732023358749060723712650453350523768863326027066832436402265084021551165088421941120995480935680547738802456333976889657181314078723711529717882039589461033797842010370568488768961858328487310357561419428747523774025515558306579037201082032273121455818430256662985367940854863526705659540089734053756065019446603404182217215372841054689144171693939603773453954433684449487783506821051212096392073789475915984585909806827963299019850364992513035181795623136791028621731265901494799118844355865875811538818736771821384554668587556949046812307910456604834491119145540449303367837022781151153661445493888755973223621149238318159359070341156950439362474599343571572596797148326242216862531005992646442357297363790731759492849310386728596939106461458942996085323556639487718077860281277272986427707590689848004287945167489240676983168440240655478557735373146212118706790741517647113334071191742918982119571062145215447616426013018974535908403464637546865620827103629710930765968801166844268453260713968643761190799690856631267468466290296486533367328724642032010421049635430996751125461429150312358180611014377961760651781037527406153978478046242281556279292245030813000657090886300268878879224457361272269292996507469024171762336345735152825530773817979696943448416023940086458284418488374690920969209540821095510691536952722942036493381746350038773861106825944487336853811546008019550621709726586893536217245806431029693275226921053625880045059220430990181866648583644323827370228911310808872844141308945084012164343736113261117600956828362399783330387991642758060520956282612356252956256175655119149045834133719440586160928369115243986814601520647374773595701039315247475089307929551394225208810040622601493982839424537708102351969225206026362970637806993173237678865965805890346974054696440842724799300020988005931551368424665448056864430910466399479816626819087282568920356688787607207099135249118043457285435112892599039823526056592258466693756810933086095932551386735177621746548622247010302041732987541029988920719436343850731483730447643280813834144846983060615928745414722543842360468058869092120933757667563175331628416143653981478470662609553789123481699382371326270834173118877715569060487228188895586278573989357615572650047084598562271653749630695597700950336033271384366038728740134187042218454569909201941555820605680633286537836624213209727831811796430513100300280583386044206178114047376570311035207095051902610904044825640773955211580393108030342481588598161636447560989948843870973962026680092261979101416933615394731036097847695307119325308338291691049072520331432187209922811005785635061220203485621631202226475215416920832806962534077510996164133368316637737056163159449150896296411338873896270298034216510877732441632416699665332811768596720876599321286738186661038079341548952327693615932077127935988296017567289373763712836233481812492150479391533222451144912139906517978193175691674878922068453085798294470644234107235638622161791295252736028747978342381507144292389878016572927860865181912408639767583167312451654363003588062345011344661614151900283396391493297796036309695422069194501180804601182413278306148990868191822578506348205477740252609012709727481816220986116140861876838951548286624676059123910120699621172963860133402376038190123 9951114247982226456306959678318227161857359831799520593213383071602919732452071880527400335837708417839452285221085868763115262170266357963524126723304079000202078015056711607294561683541593234750670313839339089416554941139761907810619345930693288277535220854703701202868846418774623671813632706192550581471731052727926643820314526254264336894777446999988862359217239786423748044655965577421962078607710193141642508969242376762002934731115064517727572866833484099719118801340189585712212136682513175056918954950638388149008758522382800368177738447456466961944220720513659482436252348913962283135854416892107383669479519567130482381315334742376268811155054553474039927670629276892147741927605637414103071596430961195632295699923523337815269826285587149662006404532023001201948222469201628606090473406978204298459053966807495791432044771772239309012185454641608342892801381069858872208366647244698035654259879495627523104369670794311979061985384621759200890575685204130392047792901607433271236507358499415176657520458909160551988764182875189588351226554320816535156987834828601879494453659403176397637403435587276180540604776842106460965283287435343723730328690732980975225276809539552488126218896834697551315488991701087217212167439059780656420002007987245831961005244289006817567758489256408441482901632822219941279865056874813384864522370508866474244472290630445775322698707658753042018914710475354049121986838886265173436710712253651313005656667788469734647690092783693080649442606575594882255955410394395124875478514100275146860092263182203263712819387293858950322182508610047593164153534153631521949450640827717575952916047722213201135218969699955818239071367612810731696054890097062558327818891642504295854842331910718725280678771910922468871632552547550116362029396212736225546918663992947987717400507845885136557535541723533696103439538145486843287563632344029478490449913855408716866123829934304716880765752936649534662943687454078128310353262539368597145617759282583816829287674070608655038525676904512371457801037696537570064049497817271505251264971800387937349695910121855530392569649741501131447652140279233065632862192530603327254380880226835064131028016862723263439480531448968243520426009426581883857503656413775413696014798247663964459720632710214542499136250364410453490793285381004007417335899676049633472950952587039501481445529085155634818680711542195770433005365538170857982903908411369247783504104367973654014731384999983313113502262999887129709798016406961746424662813888027424295146311708339430343565091847281009575954507297986642093530449129023284008999556632759648299889942893929693675512583656528970756226964988457653833844666769652902901259008001070896028833983823728668772030544217194039575462501960302093731099912937915829866099566537881488780017051958848155661468888359201861669898074562978488517693189345748099348896161498472434612458533810309900117770249975061021915503869660561075794041902933673928923073759783243799908516177209782725663011386870886194821990433070369397089068784378987399932650981714795004768558780017805031509768096111667132665949472394509257557335006413078932430892386639552826372064697647369849955765821860521290812897261671747023081080375004832088630338749133885676256770599040421375689365574311290448346843094179041871321483557812482853944846954704690350883650255992060636835305788747353515594882145916199606467539937498705565533451970776585027850803909503969946905468881795126489295357091594588077137171454455950582164361877351526668909985323131168227356867463164479376691875357634738510725443775537108528892792883349011756323674039983215153930716123813828578849102934680111546255763269256775723003754047195064232203933649235658559694234520630007719607659677625711253866079494059799 16101241079168592134674590698023805678923412754790046064211734853577803592270414224135246084975726405576589617202956998180528693033168027289013259571443977181040305080787985189882622959557130749084132785976228223995718695578189634988853788533051019819833931817495488249267437020147978505116714328842556194981883988806256582345485260516782134115675981559132065362069703920814114499828688615913030050542266497478630162165977062537552498963929685676361048632796324081730243610262921609070961197406225825510269478719501714176075590958785065452199289612544888903065216201449340030175054805247939172793035730970831095199197401606719943415113176752746837299924016411802527238028190696320895265701631152972409650633632043227905417155741953594478255194226442013188712064072112735255704287488648232010272690622351045353148198138501435395205498726205923758499968961462659554989193454859334788192952557051525998953279729860620036139551466417448770090607115887660695689694529559996267859331720344205092621062027086972125704332766819617156823255302020730037654594391343597686310649280322490635467677280552414715796762505928433130979967251441450032537880084583669965947191221738973621667634106903343219885711746145084279912428098162546160208252762616420144138079868268523104947432951879696665572046434423897682159884801262460596758422792247959596983229161250384121357806361822188694304818278720898257466531136488373023657895242350902720302331539357281023936422636589636578916143353497661724410633406266451513523423876684691611408845842824917178870513312817634260463944848723009262680363119624425554924805315191158928103429118873959857509195339967244014135876060586256087117950592070172003965347886604531582499581227988239448680373105728698422224127187934862555329916971035924807282998605753557321057610200945670929753893889592235175331396648549478183440293349691494862838185342070616372026667159661839746559399056855358342760810812157080524844810336037722452137723491450679406018461900591528900841452017806721916156126633732874771241131425688180328124570454099883861504221227976043056498741744255574970978730578110616375434466741799880440406457893569918574729470188156386458356236826903345864933463370873505951622777978651787910220474294220768586933693664213469854806694687406655385223935550385398459422344653805669455474200330586516032952767579406126784050365885773943242025779846791313813890290800651063457022727434467961506250197861178906740110663936386718490735248811622134140011839749394502776413583533324371275026630042155982711157399236694264070191883252712709185935890917187892376129933314300322823631518359037583675153983246266082759879708664370828980104678839888530618470319495229259791615112557813086284344680591301792601847116251590997691432050248971187214232138295278015675822235506528757357603024708964882494956435911187191698245525001142178612449196442081858478818636647857686470428805457070112924526407914486201849749253483326781959265555348381405436356077167158626596636973413550978456801091850003984791820104882226682707051976290053086695817631300349237218719690907117452767727169675880130888759561481628495853263699349173630337368228831015686487692821985019970441709193673010620919351378409221342966362780381550585341589582367637142252288686861049477109384922435727994199015099489889610789933142972271979724647363092225542449327456268138886738046027058056106124445733113190380444455520423862383322321448143611205585527630673090379225324105069936969584281463844333967155092222742533439077549752906298480679011230466752541721703220019248890411008840167030406324929102578771080950824854844584397567209022272804696770671681441028317023996015878269485450485570268181180373065810488187206846318910579753917840307280850589571387268455532249922 26052355327150818590981550376342032840780772586589566657425117925180723324722486104662646420813434823416041902424042866943643955203434385252537386294748056181242383095844696797177184643098723983834803099815567313412273636717951542799473134463744308097369152672199189452136283438922602176930347035035106776453615041534183226165799786771046471010453428559120927721286943707237862544484654193334992129149976690620272671135219439299555433695044750194088621499629808181449362411603111194783173334088739000567188433670140102325084349481167865820377028060001355865009436921962999512611307154161901455928890147862938478868676921173850425796428511495123106111079070965276567165698819973213043007629236790386512722230063004423537712855665476932293525020512029162850718468604135736457652509957849860616363164029329249651607252105308931186637543497978163067512154416104267897881994835929193660401319204296224034607539609356247559243921137211760749152592500509419896580270214764126659907124621951638363857569385586387302361853225728777708812019484895919626005820945664414221467637115151092514962130939955591113434165941515709311520572028283556493503163372019013689677519912471954596892910916442895708011930642979781831227917089863633377420420201676200800558081876255768936908438196168703483139804923680306123642786434084680538038287849122772981847751531759250595602278652452634469627516986379651299485445846963727072779882081237167893739042251610932336942079304378106313563833446281354805060076012842046395779379287079086736284324356925192325730605575999837524176764236016868213002545628234473148088958849344790450052879759701677433462111387689457215271095030286211905357021959682982735661402776701594140827400119630743744535215437639417147504805959845785024201549523583474923645028001966293546604528864938618917471294397438120311888932190273011879543732887836981706125748974414645850517117073517248463425522886789663059641576565093730059507754023491800580448076753990048003164079659874112717670739691877330571194652310637387142698932463384717898188619951917155366755486199776430993848437654377430501371300227852117506882118882079113506039320086100521901983851068383221522487264843766069128372943902322474195143203988078369794077977950634544000629708462461133819266415320116869927723071800749808912913137939186673462891536230262565666425718531993166285531811414859098876844460558333509584323296166189234315005631342879330754033701965546880394125395321386701803848751074622021269721637765801464522838246347212398699321776353864322141500964328541545079767837760010695828029421366316915660138932870933082471931408301931513368829495829922611730635935629359286633938523506658183521371578503230330687643946541636814953116711135518986641422578753551299785163150161909103044098237861815897164602252558487605513264493597324084356626333985750170186763218190487926711798092603580330913431095181667996370546575707045173946441911784146762925543295386260455888188629108164649236264593344368409322299984800421864651623082283074354188909173666605670106984627271767881700586190080367042250229459003229119900393119148274640146316896488041574785694591735813183163740293528663056337648587806880491732522090934682367942432458784226175054993119130684471017846352966677563627978052435360767557731765529907036070336583047702093643877989926976670075531013348217603086162762056886240253640909203972305730913273050689086009988972394638968350172252053115175532433099554885505714619462161531557661418635298789917737256584619884965746459738229429648906368097929917021098395095376883628921734283942567514853821895462120092707148528884567612721139738396618525349520784375708428570251779147526261173489324315376244605269744137422865406013145100383925559914940528215282641134535026309721 42153596406319410725656141074365838519704185341379612721636852778758526916992900328797892505789161228992631519626999865124172648236602412541550645866192033362282688176632681987059807602655854732918935885791795537407992332296141177788326922996795327917203084489694677701403720459070580682047061363877662971435499030340439808511285047287828605126129410118252993083356647628051977044313342809248022179692243188098902833301196501837107932658974435870449670132426132263179606021866032803854134531494964826077457912389641816501159940439952931272576317672546244768074653123412339542786361959409840628721925878833769574067874322780570369211541688247869943411003087377079094403727010669533938273330867943358922372863695047651443130011407430526771780214738471176039430532676248471713356797446498092626635854651680295004755450243810366581843042224184086826012123377566927452871188290788528448594271761347750033560819339216867595383472603629209519243199616397080592269964744324122927766456342295843456478631412673359428066185992548394865635274786916649663660415337008011907778286395473583150429808220508005829230928447444142442500539279725006526041043456602683655624711134210928218560545023346238927897642389124866111140345188026179537628672964292620944696161744524292041855871148048400148711851358104203805802671235347141134796710641370732578830980693009634716960085014274823163932335265100549556951976983452100096437777323588070614041373790968213360878501940967742892479976799779016529470709419108497909302803163763778347693170199750109504601118888817471784640709084739877475682908747858898703013764164535949378156308878575637290971306727656701229406971090872467992474972551753154739626750663306125723326981347618983193215588543368115569728933147780647579531466494619399730928026607719850867662139065884289847225188287030355487220328838822490062984026237528476568963934316485262222543784233179088209984921943645021402402387377250810584352564359529523032585800245440727409182541560465641618512191709684052487350778944370261913940063889072898226313190406017039228259707427752474050347179398633005472350030805962733882316585623878993946445777979670440476713321256539607980843501670669414993306407273195980146765981966730157704298452244855312587563402126674603674073110007523525312947007351135207372335482592992342918365736560849081699378486111399293069582177300633042118870240405124823398213586966840297772028358777347292260283899826725787134236059257773420294583999886244155409733477515195967299251829880536769974348406396020304852658363565235809149959721012723405013965312283504808036268866185233405295562926660969097043983479076188694490515644293730115614043202346546714139841897998459590479259059099449901237461391726820779243269695005142297476595200410880290258330376157093912840424488065016362870867518306288966851582769896937361885008743191630105324247289045662189392249731829525682840975381164115286870968319698632964775292548869587237847454184456546054672620670511527035918936958213972843108424174133078338980729278548832352814036603561820968396403821380716279468949149910346572668120288824154771035076457969670070638958291084986813501108522359678742825341409791900462174231284607692988861783837193447518021355899512235056359435935334314705880266739296410244667116687965635030269351682537591704433811132899248649800178376440443145535490218325025126991686936262028411855359006163879466454444492818501351672493700196726381117960730227975884939943567231468527245700099143123884892348807362418404824009491135728129585379328396669562820098315396132519332743124109597921178750998040891173657973383729152010288348760669423222120192465816736745594247795025795746623974894583557424978335554625610072252332055680137843400222221378804854028402990558559643 68205951733470229316637691450707871360484957927969179379061970703939250241715386433460538926602596052408673422051042732067816603440036797794088032160940089543525071272477378784236992245754578716753738985607362850820265969014092720587800057460539636014572237161893867153540003897993182858977408398912769747889114071874623034677084834058875076136582838677373920804643591335289839588797997002583014308842219878719175504436415941136663366354019186064538291632055940444628968433469143998637307865583703826644646346059781918826244289921120797092953345732547600633084090045375339055397669113571742084650816026696708052936551243954420795007970199742993049522082158342355661569425830642746981280960104733745435095093758052074980842867072907459065305235250500338890149001280384208171009307404347953242999018681009544656362702349119297768480585722162249893524277793671195350753183126717722108995590965643974068168358948573115154627393740840970268395792116906500488850234959088249587673580964247481820336200798259746730428039218277172574447294271812569289666236282672426129245923510624675665391939160463596942665094388959851754021111308008563019544206828621697345302231046682882815453455939789134635909573032104647942368262277889812915049093165968821745254243620780060978764309344217103631851656281784509929445457669431821672834998490493505560678732224768885312562363666727457633559852251480200856437422830415827169217659404825238507780416042579145697820581245345849206043810246060371334530785431950544305082182450842865083977494556675301830331724464817309308817473320756745688685454376093371851102723013880739828209188638277314724433418115346158444678066121158679897831994511436137475288153440007719864154381467249726937750803981007532717233739107626432603733016018202874654573054609686144414266667930822908764696482684468475799109261029095501942527759125365458275089683290899908073060901306696336673410444830434684462043963942344540643860318383021323613033876999430775412346621220339754336182931401561383058545431255007649056638996352457616124501810357934194595015193627528905044195617053010435973721331033814851389198704505958107452485098065770962378697172324922829503330766514435484121679351175518454341909185954808527498376430195489856588193110589135737493339525327640395240670079151885016285248620532179016381257272791111647365804204643392459355113988715492140995714700963458332982536883133029532087033990120226623014317601792272667528361454579160122098432750960866176679455115280997431822090076227749168673670182749884626994159327893777354229727558772734100841994733649821723696407799056166487767494334962900610412812974906111306221151579923089402247981725853204897661213476501689921166903005641086716190578102862339765884692273758693597261758350572789393302428614018909810005026740623503968384132011903613051208209103882687532071771961382118032036045381649242520305680827011193679211521956871160460817410231482779727700835844255847693735642813564710703908885263855895445241236943014394707760047256416152693169638452215438022921021230833588850096990011461083321719178608913575692568513407972429411181393354457711645424652882820799996664848815888341799162989997598780953906753375542375356804216295977673693076349018642919527377282288300992269508244791731771012224848453495542066339688265585293798077689122826225319875709389788660748621652980381911367245327845466000717586272279214568552464433465213140320022665952249841556650393829782861390654563029393000084907118734441913802629605391982303370570469229365157778491747426326586583918493410773016148254477408052165436032572893503011266365121912613719623009488499066041747469713250192445174164499574173322007797464218898933669583605298763032937658345200780521768960137161907020136669537525584869364 110359548139789640042293832525073709880189143269348792100698823482697777158708286762258431432391757281401304941678042597191989251676639210335638678027132122905807759449110060771296799848410433449672674871399158388228258301310233898376126980457334963931775321651588544854943724357063763541024469762790432719324613102215062843188369881346703681262712248795626913888000238963341816633111339811831036488534463066818078337737612442973771299012993621934987961764482072707808574455335176802491442397078668652722104258449423735327404230361073728365529663405093845401158743168787678598184031072981582713372741905530477627004425566734991164219511887990862992933085245719434755973152841312280919554290972677104357467957453099726423972878480337985837085449988971514929579533956632679884366104850846045869634873332689839661118152592929664350323627946346336719536401171238122803624371417506250557589862726991724101729178287789982750010866344470179787638991733303581081120199703412372515440037306543325276814832210933106158494225210825567440082569058729218953326651619680438037024209906098258815821747380971602771896022836403994196521650587733569545585250285224381000926942180893811034014000963135373563807215421229514053508607465915992452677766130261442689950405365304353020620180492265503780563507639888713735248128904778962807631709131864238139509712917778520029522448681002280797492187516580750413389399813867927265655436728413309121821789833547359058699083186313592098523787045839387864001494851059042214384985614606643431670664756425411334932843353634781093458182405496623164368363123952270554116487178416689206365497516852952015404724843002859674085037212031147890306967063189292214914904103313845587481362814868710130966392524375648286962672255407080183264482512822274385501081217405995281928806996707198611921670971498831286329589867917992005511785362893934844053617607385170295604685539875424883395366774079705864446351319595351228212882742550846645619677244871502821529162780805395954695123111245435545896210199377910970579060241530514350815000763951233823274901055281379094542796451643441446071361839777585271515290129837101398930876045441402855410493581462437484174268185104899114985758448714434488675167921538685202674882440345169175756512715810341167412635335163920553617086503020223657584103125171359299623009351960729065182690754791752424696166016125183114584941368583156380750470099869829859062348897573915274601501618998454662597513836933542393016750847110332089188592796193399121341906108285938648018589145904931846817691459013163379687279785457505855960045933326531732676665241399893063057261623869707456796453982300000711667224216819517862024928199751611801055374500149511646162064740536617428039494589160545127961968763835894738353550983669683560758990176003722845451228688520331254999530209902018059791873779624893956780704573748137360292670694904709697930558840719362052497338035275747688378551181412692476128393125434931583096998021256758581505934367422481160173901228367550868471430549231032150367730764270375735057834395409818493393832841799601188127758823922265236633696796584182216469812427381716063611173905786810165957338248020541988331407390681416080984660150068345666000133171121211097704918155154583736718223635306975388511531028181256891965141461177096609039948122885502511500255725473969675887766229103894157143198706936494237014781728029129441631285378448018918877958031641671695159652446567937768354560010837275594506596624468612152818833585037687521954199344721775394478720500885908077126754723256146738591726169148667587220532161763357211323891543902440023095296342871633297837259735464969589905716009181919758747369199117754421439113482491094561940853388643009910677256460659612360359383285824990697940516143429007 178565499873259869358931523975781581240674101197317971479760794186637027400423673195718970358994353333809978363729085329259805855116676008129726710188072212449332830721587439555533792094165012166426413857006521239048524270324326618963927037917874599946347558813482412008483728255056946400001878161703202467213727174089685877865454715405578757399295087473000834692643830298631656221909336814414050797376682945537253842174028384110434665367012807999526253396538013152437542888804320801128750262662372479366750604509205654153648520282194525458483009137641446034242833214163017653581700186553324798023557932227185679940976810689411959227482087733856042455167404061790417542578671955027900835251077410849792563051211151801404815745553245444902390685239471853819728535237016888055375412255193999112633892013699384317480854942048962118804213668508586613060678964909318154377554544223972666585453692635698169897537236363097904638260085311150056034783850210081569970434662500622103113618270790807097151033009192852888922264429102740014529863330541788242992887902352864166270133416722934481213686541435199714561117225363845950542761895742132565129457113846078346229173227576693849467456902924508199716788453334161995876869743805805367726859296230264435204648986084413999384489836482607412415163921673223664693586574210784480466707622357743700188445142547405342084812347729738431052039768060951269826822644283754434873096133238547629602205876126504756519664431659441304567597291899759198532280283009586519467168065449508515648159313100713165264567818452090402275655726253368853053817500045642405219210192297429034574686155130266739838142958349018118763103333189827788138961574625429690203057543321565451635744282118437068717196505383181004196411363033512786997498531025149040074135827092139696195474927530107376618153655967307085438850897013493948039544488259393119143300898285078368665586846571761556805811604514390326490315261939891872073201125572170258653554244302278233875784001145150290878054512806818604441641454385560027218056593988130475316811121885428418290094682810284138738413504653877419792692873592436660713994635795208851415974111212365234107665906385266987505034699540383236665109624232888830584353876347212701051312635835025763949623304946078660752160662804315794287165654905239942832723657350375680880282143072376430986895398184211779810154731617324110299642332041489363287353232899361946096339017800538288919103411271122190958968416093664491449501807976508768643708077190830943431982336035107321688771895789558840977019352790517609414838558191606697954779583148255429084464297566380830551596586770317869609428888411306932818804139908920110006654052956509462268851001839432813065070381623333618617597451500311012654242522529492000111901556459076863187604194913532850477969312024299639131542113515069268000977662312426028552665955866169396338052344147230003611385851913041264019294906436208505788782664192420176964237381282625318739811585967462490391198223317926401410844242762258628518686965383725320006182979708398656079065228998668590383844302882922907306367737497957805147104769013593397863166885093361488264056726586806830806154136362341151321404989462369987738035692443702470216429148794904174053936798074111114000511936299244896756322759952269116813594956719162948728213708179300589189378551699289551597156017764642778796179088847861482342627194029847027903564593016571383311423244781991717825604696409494418748389793698666249069626017468697059937568026951490151559591327025145964947949866043686568874181049842730657085136942164815841697940213928793243896785046913706388217208956591256307325758801506717059618966201627093923246943372439762218903332381424764145546152151675947569022457241181381320496545192845127367478041728298371 288925048013049509401225356500855291120863244466666763580459617669334804559131959957977401791386110615211283305407127926451795106793315218465365388215204335355140590170697500326830591942575445616099088728405679627276782571634560517340054018375209563878122880465070956863427452612120709941026347924493635186538340276304748721053824596752282438662007336268627748580644069261973472855020676626245087285911146012355332179911640827084205964380006429934514215161020085860246117344139497603620192659741041132088854862958629389481052750643268253824012672542735291435401576382950696251765731259534907511396299837757663306945402377424403123446993975724719035388252649781225173515731513267308820389542050087954150031008664251527828788624033583430739476135228443368749308069193649567939741517106040044982268765346389223978599007534978626469127841614854923332597080136147440958001925961730223224175316419627422271626715524153080654649126429781329843673775583513662651090634365912994618553655577334132373965865220125959047416489639928307454612432389271007196319539522033302203294343322821193297035433922406802486457140061767840147064412483475702110714707399070459347156115408470504883481457866059881763524003874563676049385477209721797820404625426491707125155054351388767020004670328748111192978671561561937399941715478989747288098416754221981839698158060325925371607261028732019228544227284641701683216222458151681700528532861651856751423995709673863815218747617973033403091384337739147062533775134068628733852153680056151947318824069526124500197411172086871495733838131749992017422180623997912959335697370714118240940183671983218755242867801351877792848140545220975678445928637814721905117961646635411039117107096987147199683589029758829291159083618440592970261981043847423425575217044498134978124281924237305988539824627466138371768440764931485953551329851153327963196918505670248664270272386447186440201178378594096190936666581535243100286083868123016904273231489173781055404946781950546245573177624052254150337851653763470997797116835518644826131811885836662241564995738091663233281209956297318865864054713370021932229284765632310250346850156653768089518159487847704471679302884645282351650868072947323319259521797885897903726195076180194939706136020756419828164795997968236347904252157925463600416826782521734980503291495033105496169586152975964204506320747742507224884583700624645744037823332769191805158687915374453563520605030269576853556482253027206884466252655086840857832300873384230064773888444321045969707361041694490687794710811803680989102118343649112553914825516474787161761129538966273893608858210640025326405882870711307644486028356728437972031582252708121263324225501988944459227135122159951046657092040660856140616211286365386738465452540128760423946594370917255695929198000544630894131072323417087327792851441937319985333370529614306756630723039051939701541944692632403316516632941711956194167333845605112653092630506717556901836809607224221071897132590740407561584745471129809496990117514614757470373913743978774391136899624408487083777677144682524095434126561420223041780801565597775614332979312475077551875230632373616996763492384382883139652812380143786068722695842512048136216562319916115271758854953228694850718735571606220285267853788133526008778736417896259557768161831064803100689634277173259227484922246868536935939377795784355719357408922058976469534849971464590302189381276423663412985257142977432187102949804535941843576222641937309212756401611989177673513790671746921359426670366929594646000935773098877395676863111313483428918472375692150455220676590816146411312505299462889605163018536971686649524682210809013681994312571557516640342445863915858707487005540318957479699713701840993680855928478670118065418557871727378 467490547886309378760156880476636872361537345663984735060220411855971831959555633153696372150380463949021261669136213255711600961909991226595092098403276547804473420892284939882364384036740457782525502585412200866325306841958887136303981056293084163824470439278553368871911180867177656341028226086196837653752067450394434598919279312157861196061302423741628583273287899560605129076930013440659138083287828957892586022085669211194640629747019237934040468557558099012683660232943818404748942922403413611455605467467835043634701270925462779282495681680376737469644409597113713905347431446088232309419857769984848986886379188113815082674476063458575077843420053843015591058310185222336721224793127498803942594059875403329233604369586828875641866820467915222569036604430666455995116929361234044094902657360088608296079862477027588587932055283363509945657759101056759112379480505954195890760770112263120441524252760516178559287386515092479899708559433723744221061069028413616721667273848124939471116898229318811936338754069031047469142295719812795439312427424386166369564476739544127778249120463842002201018257287131686097607174379217834675844164512916537693385288636047198732948914768984389963240792327897838045262346953527603188131484722721971560359703337473181019389160165230718605393835483235161064635302053200531768565124376579725539886603202873330713692073376461757659596267052702652953043045102435436135401628994890404381026201585800368571738412049632474707658981629638906261066055417078215253319321745505660462966983382626837665461978990538961898009493858003360870475998124043555364554907563011547275514869827113485495081010759700895911611243878410803466584890212440151595321019189956976490752851379105584268400785535142010295355494981474105757259479574872572465649352871590274674319756851767413365157978283433445457207291661944979901590874339412721082340219403955327032935859233018947997006989983108486517426981843475134972359284993695187162926785733476059289280730783095696536451232136859072754779493108149031025015173429506775301448623007722090659855090420901947372019623460951196285656747586962458592943279401427519101762824267866133323625825394232971459184337584185665588315977697180212149843875674233110604777507712015220703655759325702498488916956660772552142191417812830703543249550439872110661383573638105481927156481551160175984316475479359831335184226032666135107325176565668553751255026933174991852439708441540699044515450669120871375915754463063349626476008950575061008205870780356153291396132937484049528771730164594198598516956901840719251869605099623042590845593836532654724160454797410343196015311759122614577304832496637358082038236305664630725593076503828377272292205503783284665274689492161167153270453808894878738577354096587837287134198565830788546407167312568930533262614436932156595793829104249746013886036485480476152968775383199169705153330544545444580535927848148164699956116509797532830056867888000182220576621193191683562288330814058333962995589713892068125508804479998482790380096723687173047215964853407155674161521447565447002740494298918180846927906334611369012196146197568439040139287358960423827569646520745224290974217369606156056460731534955750606432991468711019445812791751302805964719247507905465182024176548085795125592331374615422506496375539244103689879012828872548779082078264633179714735556884632217201700036116088823497438414564481161685500804521205655130810861839386926605851339598234608092645848659406006272693969638940667825073381998772067324374620232973281214875116822941608052762000053478299270616412589620943699117461637729852799529714256054145912488777338478403709143648412436107605241255943997278859245778245340622853033157691994905048722170943022375001352473671515245432896599600025749 756415595899358888161382236977492163482400590130651498640680029525306636518687593111673773941766574564232544974543341182163396068703306445060457486618480883159614011062982440209194975979315903398624591313817880493602089413593447653644035074668293727702593319743624325735338633479298366282054574010690472840290407726699183319973103908910143634723309760010256331853931968822578601931950690066904225369198974970247918201997310038278846594127025667868554683718578184872929777577083316008369135582144454743544460330426464433115754021568731033106508354223112028905045985980064410157113162705623139820816157607742512293831781565538218206121470039183294113231672703624240764574041698489645541614335177586758092625068539654857062392993620412306381342955696358591318344673624316023934858446467274089077171422706477832274678870012006215057059896898218433278254839237204200070381406467684419114936086531890542713150968284669259213936512944873809743382335017237406872151703394326611340220929425459071845082763449444770983755243708959354923754728109083802635631966946419468572858820062365321075284554386248804687475397348899526244671586862693536786558871911986997040541404044517703616430372635044271726764796202461514094647824163249401008536110149213678685514757688861948039393830493978829798372507044797098464577017532190279056663541130801707379584761263199256085299334405193776888140494337344354636259267560587117835930161856542261132450197295474232386957159667605508110750365967378053323599830551146843987171475425561812410285807452152962165659390162625833393743331989753352887898178748041468323890604933725665516455053499096704250323878561052773704459384423631779145030818850254873500438980836592387529869958476092731468084374564900839586514578599914698727521460618719995891224569916088409652444038776004719353697802910899583828975732426876465855142204190566049045537137909625575697206131619466134437208168361702582708363648425010378072645368861818204067200017222649840344685677565046242782024409760911326905117344761912502022812290265025420127580434893558752901420086158993610605300833417248515151520802300332480525172564167059829352109674424519901413143984882080675930863640468830947939966845770127535469103397472119008508503702788195415643361895346458918317081752658740788490095669970756167143666377222393845641886865133138587423326067704136140188822796227102338560068809733290780851362999898437745556413714848549445415960313471810275898071932922148078260382007118150190484308309823959291072979759224677199261103493979178540216566440976397879587619075245489831805784430616097829752606723375498928617769313008050368522421194629833922221790860853365796054069818558372751988917302005817321731519340625943235711931781532822023293886665095260265477042806636716597711080792936748044242336365313113561427393686760349243923586680546187065999219407015094782909599498422251109406695275237177847897052560789860120894123450355402645483149498394717739122413430800415904634185463404798741524580335185021877622498921994613240260754010467665947438352864477815642757939198592247971098174620860338403888708707900209144626529125510043516592014517991334040824333138905128107430627029749749942125183427377467798742649553788627134717571646704531500815437983079511685467292030336219321134371067792511682064264537370308906790568647106045808006567000511501716650674934680416572921057445038147799966973264535945751987690185797629318543796118982364358792954289402770549936222071301343315485450371250929845498587172670518988683801290599902875860876052596040485448438863164791782699534884965313094154338138228545999210842219555517035517651795875450090358668330623245121287235568515554795499588224109256481560520163232313862528421884644863368682208402150185363498315157471753127 1223906143785668266921539117454129035843937935794636233700900441381278468478243226265370146092147038513253806643679554437874997030613297671655549585021757430964087431955267380091559360016056361181150093899230081359927396255552334789948016130961377891527063759022177694607249814346476022623082800096887310494042475177093617918892383221068004830784612183751884915127219868383183731008880703507563363452486803928140504224082979249473487223874044905802595152276136283885613437810027134413118078504547868355000065797894299476750455292494193812389004035903488766374690395577178124062460594151711372130236015377727361280718160753652033288795946102641869191075092757467256355632351883711982262839128305085562035219128415058186295997363207241182023209776164273813887381278054982479929975375828508133172074080066566440570758732489033803644991952181581943223912598338260959182760886973638615005696856644153663154675221045185437773223899459966289643090894450961151093212772422740228061888203273584011316199661678763582920093997777990402392897023828896598074944394370805634942423296801909448853533674850090806888493654636031212342278761241911371462403036424903534733926692680564902349379287404028661690005588530359352139910171116777004196667594871935650245874461026335129058782990659209548403766342528032259529212319585390810825228665507381432919471364466072586798991407781655534547736761390047007589302312663022553971331790851432665513476398881274600958695571717237982818409347597016959584665885968225059240490797171067472873252790834779799831121369153164795291752825847756713758374176872085023688445512496737212791969923326210189745404889320753669616070628302042582611615709062695025095760000026549364020622809855198315736485160100042849881870073581388804484780940193592568356873922787678684326763795627772132718855781194333029286183024088821445756733078529978770127877357313580902730141990852485082434215158344811069225790630268485513045004653855513391230126802956125899633966408348141939318475641897770399659896837870061533047827463694532195429029057901280843561275176579895557977320456878199711437177549887294939118115843568487348453872498692386034736769810276313647390047978053016613528282823467307747618947273146352119113281210500210636347017654672161416805998709319513340632287087783586870686915927662265956303270438771244069350482549255296316173139271706462169895253035765956915958688176464106299307668741781724437268400021913350974942587383591268949636297761581213540110784318774534352081185630005033352552499626916662589745338171140992078186136032147330551057654035715720872343452317212031583341929767805460711718436506388956536799095693350003154136108054864037382714510378509645699003811546129726520377206471024983190447157118904155144215620160733304434998214991502578832788743532625682491960656301197281400519380509650436812013105443500575259062568273805450279111848605781723292477588488638008285594079566865200178313206366282717921342990051993607588196473794218857075487575924898913945748007726474611723051134107191353120485568829331222798432100720039813418100915115159256584735636614234820513638725271707611955632153805350294464651902785425873331721601247119356098181644158912423549349082545257338154163384438455834306780157230587417150649316206884305116259963399167127104570760912909553010480447659934918356785649078776134896365410491565048790122757481154236623464411679100426913673190990318834973674606980821751285398805629001005158028867919960749321758144340889870513323660554669291056008175910832876157075751169418982093501200863218270081970151297554934037853455599866275852010371933811571181430140573213928494067811979035681228892476824459552074358834002354597104413553320924308767577144055587885743683560875821700608931211757071778876 1980321739685027155082921354431621199326338525925287732341580470906585104996930819377043920033913613077486351618222895620038393099316604116716007071640238314123701443018249820300754335995372264579774685213047961853529485669145782443592051205629671619229657078765802020342588447825774388905137374107577783334332882903792801238865487129978148465507921943762141246981151837205762332940831393574467588821685778898388422426080289287752333818001070573671149835994714468758543215387110450421487214086692323098544526128320763909866209314062924845495512390126600795279736381557242534219573756857334511951052172985469873574549942319190251494917416141825163304306765461091497120206393582201627804453463482672320127844196954713043358390356827653488404552731860632405205725951679298503864833822295782222249245502773044272845437602501040018702051849079800376502167437575465159253142293441323034120632943176044205867826189329854696987160412404840099386473229468198557965364475817066839402109132699043083161282425128208353903849241486949757316651751937980400710576361317225103515282116864274769928818229236339611575969051984930738586950348104604908248961908336890531774468096725082605965809660039072933416770384732820866234557995280026405205203705021149328931389218715197077098176821153188378202138849572829357993789337117581089881892206638183140299056125729271842884290742186849311435877255727391362225561580223609671807261952707974926645926596176748833345652731384843490929159713564395012908265716519371903227662272596629285283538598286932761996780759315790628685496157837510066646272355620126492012336117430462878308424976825306893995728767881806443320530012725674361756646527912949898596198980863141751550492768331291047204569534664943689468384652181303503212302400812312564248098492703767093979207834403776852072553584105232613115158756515697911611875282720544819173414495223206478427348122471951216871423326706513651934154278693495891117650022717331595297326820178775739978652085913188182100500051658681726565014182631974035070639753959557615556609492794839596462695262738889168582621290295448226588698352187627419643288407735547177805982173116905936149913795158394323320911618521847561468249669237435283088050670618471127621784913288406051990379550018620335123080461978254129122382757754343037830582304884659801945157303904382656773808616959432456361962067933564508455321845499247696810051176362544044864082456630273882684360335385161250840659316513417027896679768699363730595092628598493643154165389229710551813603120895841129961904612117389957773755107392820382863438466331818702096059040587530511959699080813511080240857701018790459020886554203368950190177873422410134703427680515463020735330886755669756089138252557805213741043783999415409692662967370021032709295784439326877031079897938796053388049987957630644442967190196623878012324850515670041972167772227701388518543881018901140374641049427868406488203017220602823796355864677435660465403482794023492830659257623655817012156260083935823370506648469224963311888117659019067923921693809038441190039918632061389199089736019594988624345322135029658265254397217655472224168323341628505476235924331001439152228276869106040306827586289891348091732099045965288880956085160365807595595213666928836116608237220524437394334466959638786635025450279861917271016307040964164792216079287636613016085426245465363043814926192384423431384943636372665660881176116464292218403099804115644191759918403775707965089991262092637243594712140800358822247727339810044691977201432779032936627222015022578949639726383061864669686182520247132007793738094821851221214153367088216947792369089378584426480309658926350179712392975106869858422226463853585974073484156622630105565940232749112365769277971885972429526914543532003 3204227883470695422004460471885750235170276461719923966042480912287863573475174045642414066126060651590740158261902450057913390129929901788371556656661995745087788874973517200392313696011428625760924779112278043213456881924698117233540067336591049510756720837787979714949838262172250411528220174204465093828375358080886419157757870351046153296292534127514026162108371705588946063949712097082030952274172582826528926650163268537225821041875115479473744988270850752644156653197137584834605292591240191453544591926215063386616664606557118657884516426030089561654426777134420658282034351009045884081288188363197234855268103072842284783713362244467032495381858218558753475838745465913610067292591787757882163063325369771229654387720034894670427762508024906219093107229734280983794809198124290355421319582839610713416196334990073822347043801261382319726080035913726118435903180414961649126329799820197869022501410375040134760384311864806389029564123919159709058577248239807067463997335972627094477482086806971936823943239264940159709548775766876998785520755688030738457705413666184218782351904086430418464462706620961950929229109346516279711364944761794066508394789405647508315188947443101595106775973263180218374468166396803409401871299893084979177263679741532206156959811812397926605905192100861617523001656702971900707120872145564573218527490195344429683282149968504845983614017117438369814863892886632225778593743559407592159402995058023434304348303102081473747569061161411972492931602487596962468153069767696758156791389121712561827902128468955423977248983685266780404646532492211515700781629927200091100394900151517083741133657202560112936600641027716944368262236975644923691958980889691115571115578186489362941054694764986539350254725762692307697083341005905132604972415491445778305971630031548984791409365299565642401341780604519357368608361250523589301291852536787381157490113324436299305638485051324721159944908961981404162654676572844986527453623134901639612618494261330121418975693556452126224911020502035568118467217654089810985638550696120440023970439318784726559941747173647938025875902074922358761404251304034526259854671809291970886683605434707970710959596574864174996532492704743030706997943764823246735066123788616688337397204690781751929079171297767469754669845537929908517498232546925758248427742675626726124291166214728772535101339640026678350574881265204612768739352826650344171751198411998319952760357298512225783246700104685977532977530280577270705876947373027995235351019234743904366102747812503719707242783258382035959891139540150933921092502047539574439511357799562095301628848618971791959294207407746995819982247553372104326285928286447517417938059025108719739142432885396276466344723582788404188200902903570553908283128103325467707510775941905709819823430564478545348706289154912044962347699847060690025430294016245301034736046033151667630392486800624432852229538065876692082282584085803002109562230960153581808393534787631081027133051842512892499732184982849769118514374943836686363022224850372188409490523140261239622140638671874807300004851178851573359981936369850171903979668925267427856322128691922970128138709756874770873829523988462138488471745202314897440814644303303443044340523616200114375752444254345986765924444104829553654297866126765891205786363189414927751463966975882521577865158063771509381495917810514153166572407346621046895796622736799579334072166435299265893010080625866929590565547404780865993957911222841959001739053030670872145908282009101100700153112265655190012378391434004672450840589601331946639837480075181169861249337961097703231586087178659398377932942303307078494292288694607579072189217434658944217256228818450690387626805080931397682709995820634856049330153793586581360738671615310879 5184549623155722577087381826317371434496614987645211698384061383194448678472104865019457986159974264668226509880125345677951783229246505905087563728302234059211490317991767020693068032006800890340699464325326005066986367593843899677132118542220721129986377916553781735292426709998024800433357548312042877162708240984679220396623357481024301761800456071276167409089523542794708396890543490656498541095858361724917349076243557824978154859876186053144894824265565221402699868584248035256092506677932514552089118054535827296482873920620043503380028816156690356934163158691663192501608107866380396032340361348667108429818045392032536278630778386292195799688623679650250596045139048115237871746055270430202290907522324484273012778076862548158832315239885538624298833181413579487659643020420072577670565085612654986261633937491113841049095650341182696228247473489191277689045473856284683246962742996242074890327599704894831747544724269646488416037353387358267023941724056873906866106468671670177638764511935180290727792480751889917026200527704857399496097117005255841972987530530458988711170133322770030040431758605892689516179457451121187960326853098684598282862886130730114280998607482174528523546357996001084609026161676829814607075004914234308108652898456729283255136632965586304808044041673690975516790993820552990589013078783747713517583615924616272567572892155354157419491272844829732040425473110241897585855696267382518805329591234772267650001034486924964676728774725806985401197319006968865695815342364326043440329987408645323824682887784746052662745141522776847050918888112338007713117747357662969408819876976823977736862425084366556257130653753391306124908764888594822288157961752832867121608346517780410145624229429930228818639377943995810909385741818217696853070908195212872285179464435325836863962949404798255516500537120217268980483643971068408474706347759993859584838235796387516177061811757838373094099187655477295280304699290176581824780443313677379591270580174518303519475745215133852789925203134009603189106971613647426542248043490960036486665702057673895142563037469096164614574254262549778404692659039581704065836844926197907036597400593102294031871215096711736464782161942178313795048614383294374356851037077022740327776754709402087052159633276021598877052603292272946348080537431585560193585046580009382898099783174161228897063407573591186805896726764452309578790529189194389035833655042272202637120692683673476623906016618103005429657298979941001300969575971521638389516408464454456179705868708344849669147395375771993733646246932971316784530968379358276535570398387092607261327929432482872200151908426537454840868801756741054516463801708857652121365739540571740474473319641066032555482976140593617929244686902985963600946095473346500416806560381232586850903328503274598736756277112542689405314890043684568037755144531915343006903818260853056148936367819525573226870587493745098570485601306405825905918095637589242273797017581654573857792309466168709511888445066785592489021023413061649674910342509391256333412216949299680812180557303936196499094587198446561984327258504879830169234066142922900080490452033551475604374634087876210026057800857568178795299331492206245532546743349268731925296608776565921971347657921274822882532681325353991048632333086404677840811813469276845022480274016846686370081237351408122397581344055979516210387333539005470327181566373172244994953342551763558111413180429982573782325465808556573959047902484934596245333765171471230968156009348911145392130313698434222949005613449027251400480315984393811309523662595428301869043076055919554452800240545747615325725311392685662920772598353533929251901610409765814075678455282304276361700289237554027788275936053383968415099431765472553790265586158842882 8388777506626417999091842298203121669666891449365135664426542295482312251947278910661872052286034916258966668142027795735865173359176407693459120384964229804299279192965284221085381728018229516101624243437604048280443249518542016910672185878811770640743098754341761450242264972170275211961577722516507970991083599065565639554381227832070455058092990198790193571197895248383654460840255587738529493370030944551446275726406826362203975901751301532618639812536415974046856521781385620090697799269172706005633709980750890683099538527177162161264545242186779918588589935826083850783642458875426280113628549711864343285086148464874821062344140630759228295070481898209004071883884514028847939038647058188084453970847694255502667165796897442829260077747910444843391940411147860471454452218544362933091884668452265699677830272481187663396139451602565015954327509402917396124948654271246332373292542816439943912829010079934966507929036134452877445601477306517976082518972296680974330103804644297272116246598742152227551735720016830076735749303471734398281617872693286580430692944196643207493522037409200448504894465226854640445408566797637467671691797860478664791257675536377622596187554925276123630322331259181302983494328073633224008946304807319287285916578198261489412096444777984231413949233774552593039792650523524891296133950929312286736111106119960702250855042123859003403105289962268101855289365996874123364449439826790110964732586292795701954349337589006438424297835887218957894128921494565828163968412132022801597121376530357885652585016253701476639994125208043627455565420604549523413899377284863060509214777128341061477996082286926669193731294781108250493171001864239745980116942642523982692723924704269773086678924194916768168894103706688118606469082824122829458043323686658650591151094466874821655372314704363897917842317724736626349092005221591997775998200296781240742328349120823815482700296809163094254044096617458699442959375863021568352234066448579019203889074435848424938451438771585979014836223636045171307574189267737237527886594187080476510636141376458621702504784642744102640450156337472137166096910343616230325691516735489877923281006027810264742830811671575911461314654646921344502046558148117621091917160865639428665173959400183838981238804573789068631722448830202854865578769978511318442012789255636109022390949388890001432164747213617865156471608029656922347529882015844733207584853454270522589881049982185702407152716722788982962634829260518272006846523344549633624867427699198360545808616520848569376390178634154029693537386473122250705623470426897850975081756186654702562956778051454664159446115834284450660851049310113158842749729995305169539303798565680460213615752526462309021827699723382022117445589806556517509229223576671968124317336323138296670726759067753144085462566267454734367662589890745258063185438548160644041639864294004723779328854620150006079100125559621790652768185392208828015480326597742824082190552369285654884925361308681602011620630049635361607535398356898336037932567359763444742902740089560920434321195975811003799099438377298135344309194874730002073213735068190327936812580725474445732513343844750980899887324846030317283771076694521142973361387652572174969637132392766036347100102175620809648457125430183544702930199213170569046598176658691772773944240992729207947946395415179631779077261866493669376959740885626517222978189109971824329025508987062824004423261055849503372891013213337439953005813707776555247072818202142103114064291358012246092283425964089412961384004883031923851320905585725757949361142670609471730292414017017257684386327724407013703658253695992741415064887048141508324090827844424758292934684100754966749327094318485425470985931874018824464429585559059135151004257774153761 13573327129782140576179224124520493104163506437010347362810603678676760930419383775681330038446009180927193178022153141413816956588422913598546684113266463863510769510957051241778449760025030406442323707762930053347429617112385916587804304421032491770729476670895543185534691682168300012394935270828550848153791840050244859951004585313094756819893446270066360980287418791178362857730799078395028034465889306276363624802650384187182130761627487585763534636801981195449556390365633655346790305947105220557722828035286717979582412447797205664644574058343470275522753094517747043285250566741806676145968911060531451714904193856907357340974919017051424094759105577859254667929023562144085810784702328618286744878370018739775679943873759990988092392987795983467690773592561439959114095238964435510762449754064920685939464209972301504445235101943747712182574982892108673813994128127531015620255285812682018803156609784829798255473760404099365861638830693876243106460696353554881196210273315967449755011110677332518279528200768719993761949831176591797777714989698542422403680474727102196204692170731970478545326223832747329961588024248758655632018650959163263074120561667107736877186162407450652153868689255182387592520489750463038616021309721553595394569476654990772667233077743570536221993275448243568556583644344077881885147029713060000253694722044576974818427934279213160822596562807097833895714839107116020950305136094172629770062177527567969604350372075931403101026610613025943295326240501534693859783754496348845037451363939003209477267904038447529302739266730820474506484308716887531127017124642526029918034654105165039214858507371293225450861948534499556618079766752834568268274904395356849814332271222050183232303153624846996987533481650683929515854824642340526311114231881871522876330558902200658519335264109162153434342854844953895329575649192660406250704548056775100327166584917211331659762108567001467348143284272935994723264075153198150177014509762256398795159654610366728457927183986719831804761426770054774496681160881384664070134637678040512997301843434132516845067822111840267255024410600021915570789569383197934391528361661687784959878406620912558774702026768287647926096816589099658297095172531411995448768197942662168992950714109585926033398437849810667508775052122475801213659307410096878635597835835645491920490732563051230329228154787209051962368334794109231926320411205039122243418508496542725227001742665859179031058733340891988392292128240459273307816099316071272014383836163652816725514485229193419045537574009926023427183633406093567490154438806256127510652154573747309824284707483937536359598024260821905501719851066854213359213531704162821660669538106252200688089072167528341577310675863975640046690276709542481110175319050018468541123896704370883521630087571027742822218843379997423772977479934429826100940583080075987048543682554857779928265222439675579305970713053366889223253786698614653921398422235332066355987569950940228742717670774850311523509075116420954096556421769959985712842909869154701076314957038860601246501753279747200298194025575744697328636453379609832242447801211113228017303032759025921336887977932627190925945125703598496079070408186727388505908131001840906894933741169331958318447760096895632530989806755537535751562532299575246887409990127968617796424515009575894318027632766587754176658605922473185587347074424631987550159755483144069323978851538826382115836441485832077155216479021894013912053716192711151492406583373613334082220300706923391484413739662523635910389618332059175251801221570119569258884805266037773599335490072936812137186568270154629029383565088678404335837485401675437575992438254190572368613139383059243111027383556039453259261867927402792879529017324531688941269843932996643 21962104636408558575271066422723614773830397886375483027237145974159073182366662686343202090732044097186159846164180937149682129947599321292005804498230693667810048703922335462863831488043259922543947951200534101627872866630927933498476490299844262411472575425237304635776956654338575224356512993345058819144875439115810499505385813145165211877986436468856554551485314039562017318571054666133557527835920250827809900529057210549386106663378789118382174449338397169496412912147019275437488105216277926563356538016037608662681950974974367825909119300530250194111343030343830894068893025617232956259597460772395794999990342321782178403319059647810652389829587476068258739812908076172933749823349386806371198849217712995278347109670657433817352470735706428311082714003709300430568547457508798443854334422517186385617294482453489167841374553546312728136902492295026069938942782398777347993547828629121962715985619864764764763402796538552243307240308000394219188979668650235855526314077960264721871257709419484745831263920785550070497699134648326196059332862391829002834373418923745403698214208141170927050220689059601970406996591046396123303710448819641927865378237203485359473373717332726775784191020514363690576014817824096262624967614528872882680486054853252262079329522521554767635942509222796161596376294867602773181280980642372286989805828164537677069282976403072164225701852769365935751004205103990144314754575920962740734794763820363671558699709664937841525324446500244901189455161996100522023752166628371646634572740469361095129852920292149005942733391938864101962049729321437054540916501927389090427249431233506100692854589658219894644593243315607807111250768617074314248391847037880832507056195926319956318982077819763765156427585357372048122323907466463355769157555568530173467481653369075480174707578813526051352185172569690521678667654414252404026702748353556341069494934038035147142462405376164561602187380890394694166223451016219718529248576210835417999048729046215153396378622758305810819597650406099945804255350149121901598021231865120989507937984810591138547572606754584369895474566937494052736886479726814164717219878397177662883159412648722823517532838439863559387411471236021002799141730679529616540685358808301597658124673509769765014637242423599736140497500952678656079238077388608197077610625091281600942881681951941231761392902000826917118839942823766154273850293220883855451003361950813247816882792648044881438211450063680971354926957500977545314662622660620905639251263862851177271323101750041988421927752644080053120721019879215818195777909233153978485733910760402012387241485535392200519044140095106356162570900376967372201963261699467991199973336671932660901704824693990650599138375587357662164135866516098998619404542626690436665441233027509180192356846638780886907681409647452158140640069825175084164126021628236631090183546848862503707594077059825585385070838612988679876021972090823481936878748833074890438178122320225883627643032083531913535129705166056315704091820126858321750775477228918145819217697128421521680822949255558204097293463953042832672945648254339834315661536279303555954115613484500367069401321777378171825832450549628813362841484881248531479269518654413081864570873562097994665547862272516442179446932185721080454492731512745815934008166786660390570368756002305102265974028181767385955735867788966854964306815310258504773137944593115893653004360525889206120259702541681580528107492235231453865059529900487706739479401575755437196284592064935637576697165626613048871773623215091099103122127155845327208245947936647245329627904089954069821572895994561642733041818784671145750902372449816945900083266098615330661547823483814209860354477874524878730247799801421617343958602883590824092274101707150404 35535431766190699151450290547244107877993904323385830390047749652835834112786046462024532129178053278113353024186334078563499086536022234890552488611497157531320818214879386704642281248068290328986271658963464154975302483743313850086280794720876754182202052096132847821311648336506875236751448264173609667298667279166055359456390398458259968697879882738922915531772732830740380176301853744528585562301809557104173525331707594736568237425006276704145709086140378364945969302512652930784278411163383147121079366051324326642264363422771573490553693358873720469634096124861577937354143592359039632405566371832927246714894536178689535744293978664862076484588693053927513407741931638317019560608051715424657943727587731735054027053544417424805444863723502411778773487596270740389682642696473233954616784176582107071556758692425790672286609655490060440319477475187134743752936910526308363613803114441803981519142229649594563018876556942651609168879138694270462295440365003790736722524351276232171626268820096817264110792121554270064259648965824917993837047852090371425238053893650847599902906378873141405595546912892349300368584615295154778935729099778805190939498798870593096350559879740177427938059709769546078168535307574559301240988924250426478075055531508243034746562600265125303857935784671039730152959939211680655066428010355432287243500550209114651887710910682285325048298415576463769646719044211106165265059712015135370504856941347931641163050081740869244626351057113270844484781402497635215883535921124720491672024104408364304607120824330596535245472658669684576468534038038324585667933626569915120345284085338671139907713097029513120095455191850107363729330535369908882516666751433237682321388467148370139551285231444610762143961067008055977638178732108803882080271787450401696343812212271276138694042842922688204786528027414644417008243303606912810277407296410331441396661518955246478802224513943166028950330665163330688889487526169417868706263085973091816794208383656581881854305806745025642624359077176154720300936511030506565668155869543161502505239828244723655392640428866424637150498977537515968307676049110012099108748240058865447843037819269635382292234865208151207313508287825120661096236903210941611989453556750963766651075387619355691048035680273410403649272553075154457292897384798705075713208460926927092863372414514992462090621056788035969081208277617875386200170704425922977694421870447355973043884535313904060469270183404572959747219085741436818622478721976692177653635100026503993996837586979235407467465326654006076547904653285309385685932348039410105996386065334149322211526193019329736878642164355928261664290751443821585561176793403630812860642874778184861589793896861518992176449051451333302210826143225641479729579861676708905206565129731880063713986934209808629729900253027449581913617549759604910265066604708312618138727229403720283635859299499501164691041551666355569099275758789438135858277171068406956794165692271166112370360702858382225058638780282477269800648241896818307463618387098072846895532654167282122927324702535305404395487489528787530001582101633949666558109337490416783971418646243526288406289299710005362751777576253227309441911893067975919985177649656253988759504614731429952983995622369412074710436738941258616206055263812321062821418156914629008366793271011880996584001660948355140132394473711440040551653889734890492323297700076259962976983212064715588236096144027513657683323971257125467777113246093198858231885984949368771278504892771859029061110905289136684782163241547150274354923348725964896467130753202685018928963394162890881958759464264716271762425383873349550086739857851492383476075704352805903030160962866873452971381861430564331989509667728824410223487620208122513033543945640147047 57497536402599257726721356969967722651824302209761313417284895626994907295152709148367734219910097375299512870350515015713181216483621556182558293109727851199130866918801722167506112736111550251530219610163998256603175350374241783584757285020721016593674627521370152457088604990845450461107961257518668486443542718281865858961776211603425180575866319207779470083258046870302397494872908410662143090137729807931983425860764805285954344088385065822527883535478775534442382214659672206221766516379661073684435904067361935304946314397745941316462812659403970663745439155205408831423036617976272588665163832605323041714884878500471714147613038312672728874418280529995772147554839714489953310431401102231029142576805444730332374163215074858622797334459208840089856201599980040820251190153982032398471118599099293457174053174879279840127984209036373168456379967482160813691879692925085711607350943070925944235127849514359327782279353481203852476119446694664681484420033654026592248838429236496893497526529516302009942056042339820134757348100473244189896380714482200428072427312574593003601120587014312332645767601951951270775581206341550902239439548598447118804877036074078455823933597072904203722250730283909768744550125398655563865956538779299360755541586361495296825892122786680071493878293893835891749336234079283428247708990997804574233306378373652328956993887085357489274000268345829705397723249315096309579814287936098111239651705168295312721749791405807086151675503613515745674236564493735737907288087753092138306596844877725399736973744622745541188206050608548678430583767359761640208850128497304210772533516572177240600567686687733014740048435165715170840581303986983196765058598471118514828444663074690095870267309264374527300388652365428025760502639575267237849429343018931869811293865640351618868750421736214256138713199984334938686910958021165214304110044763887782466156452993281625944686919319330590552518046053725383055710977185637587235511662183927234793257112702797035250684429503331453443956727582254666105191861179628467266177101408282492013177813055314793940213035621009007045973544475010021044562528836826263825968118456043110726197231918358205809767703648014766700919759061141663895378633890471228530138915559265364309200061129125456062672922697010139789770054027833113372135462187313272790819086018208693806254096466933693852013958788862886200048220441641540474020997646806833145425232398169220860767327961948941907481633468253931102146043242414363937141344637313083292886363889355171268160688729277395889393079298086129668625673164525203881710257272564084482119976094551334598767678554721937397686304451034617826861651820788957763140055103098804060616211450117522491498721555509642775587427038690964374962009741740478348984404303399341872006362759389243906343780848589516637581662674901740054257619584779994429192626336549249228910776252582787343453376559326750076112390279344248975297730880261617795155919901481847232343814591391995998003734941914138593768485448533585504740062023676629214393864326990992714750351295703644608147651790863608492780953481830362674527749888289500873770873769720339925534259728026655475690621487383534577610026802856122804753377949224451464447168310667070624075488293527947649543484641928516889883671126979696660547995325066878755426323701289398937162027014186098849975689130122526088130341500406895515960705045148997096435644669375856629987572590604794356355846569195238211431463492356921642172775993686564971365386525124208474789484836794666637808070915749733653936864762241373458045475881810223675376701139332264258591298252844951780332360259277914495467202658020695837642230301309329376158970451421233691708786350687662831736339305089210719757467530246027567446223091713337125818047347297451 93032968168789956878171647517211830529818206533147143807332645279830741407938755610392266349088150653412865894536849094276680303019643791073110781721225008730451685133681108872148393984179840580516491269127462411578477834117555633671038079741597770775876679617503000278400253327352325697859409521692278153742209997447921218418166610061685149273746201946702385615030779701042777671174762155190728652439539365036156951192472400022522581513391342526673592621619153899388351517172325137006044927543044220805515270118686261947210677820517514807016506018277691133379535280066986768777180210335312221070730204438250288429779414679161249891907016977534805359006973583923285555296771352806972871039452817655687086304393176465386401216759492283428242198182711251868629689196250781209933832850455266353087902775681400528730811867305070512414593864526433608775857442669295557444816603451394075221154057512729925754270079163953890801155910423855461644998585388935143779860398657817328971362780512729065123795349613119274052848163894090199016997066298162183733428566572571853310481206225440603504026965887453738241314514844300571144165821636705681175168648377252309744375834944671552174493476813081631660310440053455846913085432973214865106945463029725838830597117869738331572454723051805375351814078564875621902296173290964083314137001353236861476806928582766980844704797767642814322298683922293475044442293526202474844873999951233481744508646516226953884799873146676330778026560726786590159017966991370953790824008877812629978620949286089704344094568953342076433678709278233254899117805398086225876783755067219331117817601910848380508280783717246134835503627015822534569911839356892079281725349904356197149833130223060235421552540708985289444349719373484003398681371684071119929701130469333566155106077911627757562793264658902460925241227398979355695154261628078024581517341174219223862817971948528104746911433262496619502848711217056071945198503355055455941774748157019051587465496359378917104990236248357096068315804758409386406128372210135032934332970951443994518417641300038449332853464487433644196472522012525989352238577946838362934716358514908558569235051187993588102002568856165974014428046886262324991615537101412840519592472310229130960275448748481147110708602970420543439042607102987570665032846986018348504027546945135786669626510981926155942635015576898855281256498059516926674191702072729810839847102845525193904651863275853002376751816872826890849365128983851182559620066614005260946521463915859165264998275708512803356858405952092206216530326449834589567642605311974190478506041428700656810293871574051674276328468806962879491152403264610543324316848506729616921259086228302384081292618417028634952036478490024266585788152967381958078564265980108247078571492491269307620330715058398146367481915702351321967875169344384904694259231044861867367638005656303070979312676058827914767153941945699818074573489669699753653433090969888804026509506862558108368364437800296363652407265731010855305388303920494936678012251425063839610283005462985767535472354326169012888268443010617892676109851522239167431880211260137123896952905971552943881979921197388897329387603056083432246665271017200371449624817966921059383580103024957900633539107011340591600320410068238312866603259137387941576844480615918407303955298026067095433977350078477666220524815211846936067614594780039489419733344745635819606970784655320382592451990596708895894755434749482389419286022086885423203251371474492979753294377608653695698918976204886418436100106309391647812968824607775120142507454342017283187554692415735833739091824523994186257892586531370245924382088152801712852234674804227136721869749217561115803118200735653542709267135259070437790933843299835850159361992987444498 150530504571389214604893004487179553181642508742908457224617540906825648703091464758760000568998248028712378764887364109989861519503265347255669074830952859929582552052482831039654506720291390832046710879291460668181653184491797417255795364762318787369551307138873152735488858318197776158967370779210946640185752715729787077379942821665110329849612521154481855698288826571345175166047670565852871742577269172968140377053237205308476925601776408349201476157097929433830733731831997343227811443922705294489951174186048197252156992218263456123479318677681661797124974435272395600200216828311584809735894037043573330144664293179632964039520055290207534233425254113919057702851611067296926181470853919886716228881198621195718775379974567142051039532641920091958485890796230822030185023004437298751559021374780693985904865042184350352542578073562806777232237410151456371136696296376479786828505000583655869989397928678313218583435263905059314121118032083599825264280432311843921220201209749225958621321879129421283994904206233910333774345166771406373629809281054772281382908518800033607105147552901766070887082116796251841919747027978256583414608196975699428549252871018750007998427073885985835382561170337365615657635558371870428972902001809025199586138704231233628398346845838485446845692372458711513651632407370247511561845992351041435710113306956419309801698684853000303596298952268123180442165542841298784424688287887331592984160351684522266606549664552483416929702064340302335833254531485106691698112096630904768285217794163815104081068313576087617621884759886781933329701572757847866085633883564523541890351118483025621108848470404979149575552062181537705410493143343875276046783948375474711978277793297750331291819849973359816744738371738912029159184011259338357779130473488265435966399943551979376431543686395116717063954427383314294382065219649243238885627385938107006328974424941809730691598352581827210055366757270781455000909480540693043177286410340946286380722609062175952355674665751688549512272532340664052511320233389763500200510072359726486531595454355353243273066500108442651242446066487536010396801106783664626760684476970951669295432283106351793911770272504180740715347805947403988886994170991884069049731387869494495269475509877606603173381525667430683228812661130820684037168309173331621294846632963344480475880607448859849794648974365761741481304718501158467148212699719536643985272335243694414765419191237801944284233450341080821951511172226265546496761411251318344239407827805214336533158964437790199246251485250178335885155999614359793449352862584538274960626017523251991409061550128773611674014773257997497318014055085399501087456903609828420981875297678419906572791339972538277727623905528715230960750162709122436427548670283507588950577855250658551526674495906987663005063578377253062022132788929164899123451857381411116596548781908885858322766052618154664843266332225044067049871220549961371448589010871370651258853321453950104366368172742210502246175751179544440810128365944171565892406115752054832325033356758689412143620006117032621381049396492448255350637601410528668305651085029857463822487165699579599357670542684772431906997629858939555051418648966424822914071986277588130007655591318485848283082591653269108490204081195218009527151254462454820332270804317207806241117325040253194283953039208600192308655156712253831583575299825188486516168989415011676236958357245925176948807837165904134106186898241839311061458798080571988174616757999617188228083862445448362336727047120636152090036971071633021271014300489585343817884155481349547446145990668580785519424184783272100753359789189390941762024318454111042228393645255648370413578535568248778634854540040742753429024602789316465358380066391549187285180040334741949 243563472740179171483064652004391383711460715276055601031950186186656390111030220369152266918086398682125244659424213204266541822522909138328779856552177868660034237186163939911802900704471231412563202148418923079760131018609353050926833444503916558145427986756376153013889111645550101856826780300903224793927962713177708295798109431726795479123358723101184241313319606272387952837222432721043600395016808538004297328245709605330999507115167750875875068778717083333219085249004322480233856371465749515295466444304734459199367670038780970930495824695959352930504509715339382368977397038646897030806624241481823618574443707858794213931427072267742339592432227697842343258148382420103899052510306737542403315185591797661105176596734059425479281730824631343827115579992481603240118855854892565104646924150462094514635676909489420864957171938089240386008094852820751928581512899827873862049659058096385795743668007842267109384591174328914775766116617472534969044140830969661250191563990261955023745117228742540558047752370128000532791342233069568557363237847627344134693389725025474210609174518789219809128396631640552413063912849614962264589776845352951738293628705963421560172920550699067467042871610390821462570720991345085294079847464838751038416735822100971959970801568890290822197506451023587135553928580661211594875982993704278297186920235539186290646403482620643117918597636190416655486607836367501259269562287838565074728668998200749220491349537699159747707728625067088925992272498476477645488936105508717398263838743449904808425162882529429694055563469165015188228819378155934091962417638631742873008168720393874001617129254122225284411055689197360239980404982700767355328509298279830909128110923520810566713372390682345106189088091112396032557865382943409477708831603957599002121506021463607133994336951054019177989195654782293650077219481277321263467144727112326230191792396890337835438509785844323829558215468487837526946107983895748499119061158497965337968188105421554869460664902000045645580588337099073438917448605599898533134843043311170481050013095655391692605919964595876295438918588500061999749039684730502989695400835485860227864667334294345382013772841360346714729775852833666313878609708093296909569323860179723626229750958626087750284090128637851226667855268233808254702201156159349969798874179908480267145507118430786005737283989942660596762561216560675393822404401792266454825119438089219608670071054513654946660985267213907712800876301210116729056381477865323605185929291721073501798157240146303002603109891202270542101686326064194383016995467896512465439132058951952648219355421702825285950343242064960376809166458350010044411773752116558037903134383906722290654083958389566912679660384018739497546538315676504394506112936263615836029149347741927859147005210965385809372545494079604383990007958273549803817711088426272983964186787565188929302078728676982579610420274170743885124444710219661125102022101841259455285362828316508212734732610542506865898583016910555296115516669864666502570418367177118671935316362221675179679092360443201634269317839503066148026747452932767835737531296289994587719440071671132543239650463882161329236385232915022987298083919983625194363696804244509189391235694343443748916621698664609700090524491263456322393754513599842761909115284933126213545072623066320289717930389287077858529179971924100767651189894605227975935902334160647495843929141901245559541259827762613030000942332991321700480744820167457411377868129474110167981378240054102058035646023325522570526137077381024669083983125097360463960391609823366830633700683084316619258516009307266287011252375720761187686406406606912755080628320059875507135448284785809894437972740776396296138291738048386903149313909691385037444542033322186447 394093977311568386087957656491570936893103224018964058256567727093482038814121685127912267487084646710837623424311577314256403342026174485584448931383130728589616789238646770951457407424762622244609913027710383747941784203101150468182628809266235345514979293895249305749377969963747878015794151080114171434113715428907495373178052253391905808972971244255666097011608432843733128003270103286896472137594077710972437705298946810639476432716944159225076544935815012767049818980836319823461667815388454809785417618490782656451524662257044427053975143373641014727629484150611777969177613866958481840542518278525396948719108001038427177970947127557949873825857481811761400960999993487400825233981160657429119544066790418856823951976708626567530321263466551435785601470788712425270303878859329863856205945525242788500540541951673771217499750011652047163240332262972208299718209196204353648878164058680041665733065936520580327968026438233974089887234649556134794308421263281505171411765200011180982366439107871961842042656576361910866565687399840974930993047128682116416076298243825507817714322071690985880015478748436804254983659877593218848004385042328651166842881576982171568171347624585053302425432780728187078228356549716955723052749466647776238002874526332205588369148414728776269043198823482298649205560988031459106437828986055319732897033542495605600448102167473643421514896588458539835928773379208800043694250575725896667712829349885271487097899202251643164637430689407391261825527029961584337187048202139622166549056537613719912506231196105517311677448229051797121558520950913781958048051522196266414898519838876899622725977724527204433986607751378897945390898126044642631375293246655305621106388716818560898005192240655704922933826462851308061717049394202747835487962077445864438087905965015586510425880637449135895053150082165607944459284700926564502352772113050433236520766821832147566130108138426151039613582225758618981947017464436441542296347568838911624348910714483730821816339567751734195092860869439737491428768838989662033335353115670896967581608550010744935878986464704318946681364654987598010145840791514167616456085312456811897160099617400697175925543113864527455445123658781070302765603879085180978619055248049218121499226468503694353457471654305281909896667929364628938739369465332681591093720812871824747621387725879645855531932964308422338243865935061833860970617101511803098810391773332914023435490245751456890945218717554988534752387473436382275553142889116641949425337119526287838331316204584093201849361376452448877986842325678554176466348330481050740399758076475204639628416971831598897624358015322957874127180513435409545499230655726386458885009681585142197226875298362105190407284289547454728507288478385626830933661606547123424979727202992586410673679706872373472377609072456857446012140747202714702941162945807684100560735569474074787624844781295137244453686606395787952174315930769622496550611112712630106544216149770458317101100783284717368144758768090099736925645035808838068462824482929173504260349718980364591822712366560234255650367235995514403377385054343296504043182381319852051541927237370712142597321006566933761143382862773962542349502568950050017277768790522097319398891285661929597199704290317878808580728572458674331920905768062297582241386089250334019786189948106573484001883428495678050837835128636354599234765194430416462452071323575659172080887499147170736490067664928517164107129231233161011542203618248029399552484887473727356209462102499550420372373070446158722616174048452657690354997425586945807778275765304716378079846673752897404777940194090538387764612164910152129448430725061023797309021965315523877549026820354058673072827280817139049567316340837703368507693976082934224729722073656928396 637657450051747557571022308495962320604563939295019659288517913280138428925151905497064534405171045392962868083735790518522945164549083623913228787935308597249651026424810710863260308129233853657173115176129306827701915221710503519109462253770151903660407280651625458763267081609297979872620931381017396228041678142085203668976161685118701288096329967356850338324928039116121080840492536007940072532610886248976735033544656415970475939832111910100951613714532096100268904229840642303695524186854204325080884062795517115650892332295825397984470968069600367658133993865951160338155010905605378871349142520007220567293551708897221391902374199825692213418289709509603744219148375907504724286491467394971522859252382216517929128573442685993009602994291182779612717050781194028510422734714222428960852869675704883015176218861163192082456921949741287549248427115792960228299722096032227510927823116776427461476733944362847437352617612562888865653351267028669763352562094251166421603329190273136006111556336614502400090408946489911399357029632910543488356284976309460550769687968850982028323496590480205689143875380077356668047572727208181112594161887681602905136510282945593128344268175284120769468304391119008540799077541062041017132596931486527276419610348433177548339949983619067091240705274505885784759489568692670701313811979759598030083953778034791891094505650094286539433494224648956491415381215576301302963812863564461742441498348086020707589248739950802912345159314474480187817799528438061982675984307648339564812895281063624720931394078634947005733011698216812309787340329069716050010469160828009287906688559270773624343106978649429718397663440576258185371303108745409986703802544935136530234499640339371464718564631338050029122914553963704094274914777146157313196793681403463440209411986479193644420217588503155073042345736947901594536504182203885765819916840162759466712559218722485401568617924270474869171797694246456508893125448332190041415408727336876962317098819905285691277004469751779840673449206538810930346217444589560566470196158982067448631621645666136628484906429300195242120283243487660009894880476244670606151486147942672125024766951695042557939315955224874170174899511614736616644213587178477888188379108228941747728977427129782103741561782943133136564523197598437193441570621492031560892594992780305014766894844310431861269216954251082935006427151622509254793021503304069553635511211422133632105561300265111837606203984768896247553263774646499004609524366981965554611266411247361340129473444730396204452471267654719420088528651742748559483343798377563205838890135427157287847772393534424183574701257387918250936346971785419589911004407842944496788144065491864487880959256751672103086944673566194226053826794062131225439774542810739261008876550734514269820684917837759281750154566536461830002148705476264506758874034233957084524922357039263716926923509972119824064106880566531837298760640989283621652633214553889561829578978086966529835833393827224234043341785000655033041161705673504571033242850106292176195666081202039771501804727003435889919685075498580551404132507276064339780713677609846639261367309041844685836971470449095090379768095688985529647586488933675211641465594766606508790126980005373346116325988982488508671253063722130654314660281662140344150501374183460233331262571172893773719813817782755909367015100560455366885955089035644438387973657736306667924816641048416296031327492691130194108071564224482712022948438415486810930353016947837524190840342553652478408019093771681293142311125833682359438980550684306271738667375128083208713547356837214024036456203397804674775864540630913317134837131667936552389650285375399384684475105139868567510800021593535345705608078886090271657007885774319262174264106979114843 1031751427363315943658979964987533257497667163313983717545085640373620467739273590624976801892255692103800491508047367832779348506575258109497677719318439325839267815663457481814717715553996475901783028203839690575643699424811653987292091063036387249175386574546874764512645051573045857888415082461131567662155393570992699042154213938510607097069301211612516435336536471959854208843762639294836544670204963959949172738843603226609952372549056069326028158650347108867318723210676962127157192002242659134866301681286299772102416994552869825038446111443241382385763478016562938307332624772563860711891660798532617516012659709935648569873321327383642087244147191321365145180148369394905549520472628052400642403319172635374753080550151312560539924257757734215398318521569906453780726613573552292817058815200947671515716760812836963299956671961393334712488759378765168528017931292236581159805987175456469127209799880883427765320644050796862955540585916584804557660983357532671593015094390284316988477995444486464242133065522851822265922717032751518419349332104991576966845986212676489846037818662171191569159354128514160923031232604801399960598546930010254071979391859927764696515615799869174071893737171847195619027434090778996740185346398134303514422484874765383136709098398347843360283904097988184433965050556724129807751640965814917762980987320530397491542607817567929960948390813107496327344154594785101346658063439290358410154327697971292194687147942202446076982590003881871449643326558399646319863032509787961731361951818677344633437625274740464317410459927268609431345861279983498008058520683024275702805208398147673247069084703176634152384271191955156130762201234790052618079095791590442151340888357157932362723756871993754952056741016815012155991964171348905148684755758849327878297317951494780154846098225952290968095495819113509538995788883130450268172688953213192703233326040554632967698726062696625908785379920005075490840142912768631583711756296175788586666009534389016513093344037503514035766310075978548421774986283579222599805549274652964416213230195676881564363892894004514188801647898475258020040721267758838222607571460399484022184866569095739733864859069089401625620023170395806919409817466263658866807434356278159869228203895633476457199033437248415046461191126963066132180940086824713151986315805652129762388282570190077716801149918559505273250293086684343115763638604815872652445902984755047655541051546016568728551422702323884782305651248082881280162667256098607504036603530773649178460789649314489406301832644107168298075370977421302735949692128858613946238648211902361927476189365366023081199059272710876125063527485220829135410235063569330955673153747077006685107834555113777293494228963113648954561115272447758056373436149357862685988603753727100680494364624710132754127763638993319276014289452678979209700036980041641185085657926513338504551768291267257068517793486962319789473076571758906118203244327266519668373795127857424846936934177111941602188100553090754769966806741482342639496067333035465680456015800182404363324517093563670145570052311494094954781517561619360843823896058929698690803294546412556828434292477016028851523150958462948071997089057883725228919234385288703828189018265667302943316030279300367317251981636180804986235566049724437926391887463433794253117452519279467257721697246278433960204850229196809966120720283466060900840044981311965840005704140195587032521395157619647358215200795457643723565152056663516210482837904421564880400302445053202898780392164217840015758485174286340049793977976271252079516943140432799586793394030590111428814396397488343062540476705541065446583267856728960349698672250690923262233501925493927240583627302410674395272924419723793640164701861857253486903986180636043239 1669408877415063501230002273483495578102231102609003376833603553653758896664425496122041336297426737496763359591783158351302293671124341733410906507253747923088918842088268192677978023683230329558956143379968997403345614646522157506401553316806539152835793855198500223275912133182343837761036013842148963890197071713077902711130375623629308385165631178969366773661464511075975289684255175302776617202815850208925907772388259642580428312381167979426979772364879204967587627440517604430852716189096863459947185744081816887753309326848695223022917079512841750043897471882514098645487635678169239583240803318539838083306211418832869961775695527209334300662436900830968889399296745302410273806964095447372165262571554851892682209123593998553549527252048916995011035572351100482291149348287774721777911684876652554530892979674000155382413593911134622261737186494558128756317653388268808670733810292232896588686533825246275202673261663359751821193937183613474321013545451783838014618423580557452994589551781100966642223474469341733665279746665662061907705617081301037517615674181527471874361315252651397258303229508591517591078805332009581073192708817691856977115902142873357824859883975153294841362041562966204159826511631841037757317943329620830790842095223198560685049048381966910451524609372494070218724540125416800509065452945574515793064941098565189382637113467662216500381885037756452818759535810361402649621876302854820152595826046057312902276396682153248989327749318356351637461126086837708302539016817436301296174847099740969354369019353375411323143471625485421741133201609053214058068989843852284990711896957418446871412191681826063870781934632531414316133504343535462604782898336525578681575387997497303827442321503331804981179655570778716250266878948495062461881549440252791318506729937973973799266315814455446041137841556061411133532293065334336033992605793375952169945885259277118369267343986967100777957177614251531999733268361100821625127165023512665548983108354294302204370348507255293876439759282517359352121203728168783166275745433635031864844851841343018192848799323304709430921931141962918029935601744003508828759057608342156147209633520790782291804175024314275795794922682010543536054031053442136754995813464507101616957181322763258560940595220191548183025714324561503325622510708316744712878910798432434777155177414500509578070366872810588208256720238306852370556660108119942206081414196177181287646612846281680566157626687092781029858915022729380284772191623080573058647869942021010518590263094044885610754303911761887718163899629164051295433035927236177152077538347329519215323961758900447264773760530098794375999874457006248725321239471412275452461297812568871172988793811865449396581173636679843180614942066509889281813210692168601946997480304461614950315049542547892035877918205529781106016438158155243716458911014275598269610580283552602221478691801239376892581900367528851626771837212748189739855877541820409230203374105944391376772767570939165836231442338091409803007968447155847210529310183141757856651681881384444134826321820567106035489737386992675506185650068895425183604609736539545330064661855454401514271263947465123941902919054151933601644675546817400440560699980055310336979145245672676289432356268282855825923234699902935640550226331386578270542388837617254486448715090452361031441511064061189869571865329757265333006675372501705339228018639048272507930520781244003328552722650310777552323272359682126435588100495079003021413190921369402404591142787606855377188411257989521308900796300120022409232958526955558351255610515560882795506941387427325452850852600886147737316341246171978763718104988396896902088322536066322646917977030633795808094427324004209740978532498609883911821709747631572749078250287615158082 2701160304778379444888982238471028835599898265922987094378689194027379364403699086747018138189682429600563851099830526184081642177699599842908584226572187248928186657751725674492695739237226805460739171583808687978989314071333811493693644379842926402011180429745374987788557184755389695649451096303280531552352465284070601753284589562139915482234932390581883208998000983035829498528017814597613161873020814168875080511231862869190380684930224048753007931015226313834906350651194566558009908191339522594813487425368116659855726321401565048061363190956083132429660949899077036952820260450733100295132464117072455599318871128768518531649016854592976387906584092152334034579445114697315823327436723499772807665890727487267435289673745311114089451509806651210409354093921006936071875961861327014594970500077600226046609740486837118682370265872527956974225945873323297284335584680505389830539797467689365715896333706129702967993905714156614776734523100198278878674528809316509607633517970841769983067547225587430884356539992193555931202463698413580327054949186292614484461660394203961720399133914822588827462583637105678514110037936810981033791255747702111049095294002801122521375499775022468913255778734813399778853945722620034497503289727755134305264580097963943821758146780314753811808513470482254652689590682140930316817093911389433556045928419095586874179721285230146461330275850863949146103690405146503996279939742145178562750153744028605096963544624355695066310339322238223087104452645237354622402049327224263027536798918418313987806644628115875640553931552754031172479062889036712066127510526876560693517105355566120118481276385002698023166205824486570446895705578325515222861994128116020832916276354655236190166078375325559933236396587593728406258843119843967610566305199102119196804047889468753954112414040407737009233337375174920672528081948464786302165294746589144873179211299831751336966070049663726686742557534256607490573411273869453208838921319688454135649117888683318717463692544758807912206069358495907773896190011748005766081294708287996281058082037019899757212692217309223619723579040438176049976323011762347051366629068741640169394500089886522025669034093403677421414945852406350455463848519705795621803247820785261486185385218396735018139628657439963229486905451524569457803450795141457864865226604084564539543459984690587294871516791370093481507013324991195486320298712935814858527317180932228943187664392298249294709049389416665812164566270812261564934858879179180562684473472794659697051052743359375017056136555869056016239270606585354031382728056094791098316186559231881142800151124266470345972819802809670501063401942227077860731474534981606408134451559645877858096628366979226690075402599793492135176057338957647338186646841526464632986084058188715630809414167258024790005681844523100382030727610834222926158947994317239454696238210065940726030460092506633961099693854491171416244913784507095858059121869086928898577169233801816223709701748051107438419542891182164572974775188638189850025377516177223537107697681566848498150838914130776181059789698486770460967167630514786027428505795469244020867956401866958342705556424481152793426070012614881673641764604701125669479934365344014165168163511339979232748386547583223143175216336083740626785792381111016196934276301051048739566167609731828289163208310339623829776715558954075299127395655967766240068063620360238347936224921439590361074117807930424910538473155139770159153252551742519231896028825790967284991445232660058275968803422207361324659281474406362459026936503226810430772553655993682382300335418017436881665248998374490799856817951713044210301372845125857251786994786757245909151478956127723048678054626414884136251456918333677551986411609488826235982236468251201321 4370569182193442946118984511954524413702129368531990471212292747681138261068124582869059474487109167097327210691613684535383935848823941576319490733825935172017105499839993867170673762920457135019695314963777685382334928717855969000095197696649465554846974284943875211064469317937733533410487110145429495442549536997148504464414965185769223867400563569551249982659465494111804788212272989900389779075836664377800988283620122511770808997311392028179987703380105518802493978091712170988862624380436386054760673169449933547609035648250260271084280270468924882473558421781591135598307896128902339878373267435612293682625082547601388493424712381802310688569020992983302923978741859999726097134400818947144972928462282339160117498797339309667638978761855568205420389666272107418363025310149101736372882184954252780577502720160837274064783859783662579235963132367881426040653238068774198501273607759922262304582867531375978170667167377516366597928460283811753199688074261100347622251941551399222977657099006688397526580014461535289596482210364075642234760566267593652002077334575731433594760449167473986085765813145697196105188843268820562106983964565393968026211196145674480346235383750175763754617820297779603938680457354461072254821233057375965096106675321162504506807195162281664263333122842976324871414130807557730825882546856963949349110869517660776256816834752892362961712160888620401964863226215507906645901816044999998715345979790085917999239941306508944055638088640594574724565578732075062924941066144660564323711646018159283342175663981491286963697403178239452913612264498089926124196500370728845684229002312984566989893468066828761893948140457017984763029209921860977827644892464641599514491664352152540017608399878657364914416052158372444656525722068339030072447854639354910515310777827442727753378729854863183050371178931236331806060375013799122336157900539965097043125096559108869706233414036630827464699735148508139490306679634970274833966086343201119684632226242977620921834041052014101788645828641013267126017393739916788932357040141923028145902933878362917950061491540613933050645510182401094079911924755765855880125686677083796316604133610677304317473209117717953217209868534416893991517879573147932376799061285292363103142566541159993579080223877631511412512619776086072783425961503458202577744137402516999316698637399191096872941883664180681689763733563298047856876958821055757064608731377109410230834277238579929860866676076509446842023481293541641849707050502259753621332343414815670215641315837404260627810440467630943734403170235749405326815763983330968250393724906561400358124112883166917610746580332908464877063276399233326586052714006393881860595749372214749031085422178844676086656576236473335315790999405467536619999857533695066579983564362650330581124463709805916825883600050052881488047165768989466642617859008592837724306818493618542947509151893746010853681594222020023043016750997255285597914999410907338128780543339746207600482469318990273274650985229273574375982743635794037060554687699318981393759379562951292632977160734697882216549527085479445967152817699410211211033115532008789350932618257321359856976820371946276735328989066766815275286440151518526110040634345399324502147308757012655522180742815866078969098451035986676267336018712497594467476665138668303226014882700184189320604719374400813699348580888711340632134071028469471579296082259408510855866745702683593689626840458241202462861745514821896594741353046821522253309219747160369689582588020266913653157214680196882633560077774526384868259895030182368782028164171554565177807276805444762334516101599260638537173159197885022974019477833522754153875317322823568556069455986761518856772481950419093877229989416943561463808121357120398985060486755866359403 7071729486971822391007966750425553249302027634454977565590981941708517625471823669616077612676791596697891061791444210719465578026523541419228074960398122420945292157591719541663369502157683940480434486547586373361324242789189780493788842076492391956858154714689250198853026502693123229059938206448710026994902002281219106217699554747909139349635495960133133191657466477147634286740290804498002940948857478546676068794851985380961189682241616076932995634395331832637400328742906737546872532571775908649574160594818050207464761969651825319145643461425008014903219371680668172551128156579635440173505731552684749281943953676369907025073729236395287076475605085135636958558186974697041920461837542446917780594353009826427552788471084620781728430271662219415829743760193114354434901272010428750967852685031853006624112460647674392747154125656190536210189078241204723324988822749279588331813405227611628020479201237505681138661073091672981374662983384010032078362603070416857229885459522240992960724646232275828410936554453728845527684674062489222561815515453886266486538994969935395315159583082296574913228396782802874619298881205631543140775220313096079075306490148475602867610883525198232667873599032593003717534403077081106752324522785131099401371255419126448328565341942596418075141636313458579524103721489698661142699640768353382905156797936756363130996556038122509423042436739484351110966916620654410642181755787145177278096133534114523096203485930864639121948427962832797811670031377312417547343115471884827351248444936577597329982308609607162604251334730993484086091327387126638190324010897605406377746107668550687108374744451831459917114346281504555209924915500186493050506886592757620347407940706807776207774478253982924847652448745966173062784565188182997683014159838457029712114825716911481707491143895270920059604516306411252478588456962263908638323195286554241916304307858940621043199484086294554151442292682764746980880090908839728042805007662889573820281344131660939639297733596772909700851897999509174899913583751664794698438334850211024426961015915382817707274183757923156670369089222839270129888247767528202931492315745825436485998633700563826343142243211121630638624814386823244446981728092853727998602309106077624589327951759556728597219852535071474641999525227610642241229412298599660442609364006601563856242097383881684167813400455550775171270746888289243343197257533991571923136048558041639174021941630878179155575725465926112654188047564353903414641909381438934184016816887610329912692368580763635644866577023499999750642440842334759358198492039425759348709911465793281500924264007433387956719400135718135378126678341460404446784188541375488268730200931860626889182050545823902776731978836266827450967056744425183958186504375221531212969648420839046211933877877063941615889281894575981870077893379823689568776807002910077179003056703684483673539611986252644814781288076511194459261664781762381455974121279994267027357712573548023824192171067041380713070528120455738948957518824432226910580065215496204930867077244518141131127999648828658397609316783966216428119985329924997238461621327478033371800574659188318199682376796427429528755059079381696948928204756219651779520568710743338667315472268352634754929129363449302112273667372070416894121811093608610664410941439719351965581050309916017609767927684740437529125296447665415931261466684437237819364145879768749203802970624123184050700958266171627373400218669961666753894605598564041485205248572951336974574033252926971929126018102404243958219359248932747327286831533409179212800717827548247560107612223462199216181350597635129337029977149598067184320850678648611405662312109580814465220934942889241905450536576833978013481446335277239015794532966609225221042723224117560724 11442298669165265337126951262380077663004157002986968036803274689389655886539948252485137087163900763795218272483057895254849513875347482995547565694224057592962397657431713408834043265078141075500129801511364058743659171507045749493884039773141857511705128999633125409917495820630856762470425316594139522437451539278367610682114519933678363217036059529684383174316931971259439074952563794398392720024694142924477057078472107892731998679553008105112983337775437351439894306834618908535735156952212294704334833764267983755073797617902085590229923731893932897376777793462259308149436052708537780051878998988297042964569036223971295518498441618197597765044626078118939882536928834696768017596238361394062753522815292165587670287268423930449367409033517787621250133426465221772797926582159530487340734869986105787201615180808511666811937985439853115446152210609086149365642060818053786833087012987533890325062068768881659309328240469189347972591443667821785278050677331517204852137401073640215938381745238964225937516568915264135124166884426564864796576081721479918488616329545666828909920032249770560998994209928500070724487724474452105247759184878490047101517686294150083213846267275373996422491419330372607656214860431542179007145755842507064497477930740288952835372537104878082338474759156434904395517852297256391968582187625317332254267667454417139387813390791014872384754597628104753075830142836162317288083571832145175993442113324200441095443427237373583177586516603427372536235610109387480472284181616545391674960090954736880672157972591098449567948737909232936999703591885216564314520511268334252061975109981535254098268212518660221811062486738522539972954125422047470878151779057399219861899605058960316225382878132640289762068500904338617719310287256522027755462014477811940227425603544354209460869873750134103109975695237647584284648831976063030974481095826519338959429404418049490749432898122925381616142027831272886471186770543810002876771094006090693504913570374638560561131774648787011489497726640522442025930977491581583630795374992134052572863949793745735657335675298537089721014599405240364209800172523294058811618002422909232802602767311241130660615452328839583855834682921240138438499607666001660375401370391369987692470518300716722176300076412702986054512145003696715024655373802057863020353501409118563172940734783072781040755284119731456861034480451587291200074216355047328987744779935151049404856218869458109016442401542435559496211528857895545264348959883698687805349160302426000128333684418167896272677017491130943485045611078084164685014256022756727599103636372354681859048376890600305567465980468626600255189954740693731032836902547769370129325950304075375920267472724668578863388555072740162766758056149892720578186361908916597792953212783489376793058341586869858441772881944628863358125059148813156211394666011502914903309875197303026621048763879998655668462882298531217502278415779017667053889120690901605156138255913294231424674640386031653987721513349729313324940262460226263971134752914815186324626456807469433764105160383526540614158843869445662395272803029335208449494736859486822722733192916509678056659197168373706264084048146148512224214644907738177889561203056142663169462781025365290277109872179315381081372118408057093161457829806106205131887606578387655191595933010100206930372647059141251228473877336376756563395537712906709398660228139177260059669716326806777740327798724412829836261964184783563348635958645385563738514468320111706664156621273193885582283232782601126591779437023459132195546726563591547994828881999102812737914889028906961550697452196895767874203136347483090158340328512171365559537629432404383021290390929650760762223018527253071890711435752220800479602654323729624206103209979983920127 18514028156137087728134918012805630912306184637441945602394256631098173512011771922101214699840692360493109334274502105974315091901871024414775640654622180013907689815023432950497412767235825015980564288058950432104983414296235529987672881849634249468563283714322375608770522323323979991530363523042849549432353541559586716899814074681587502566671555489817516365974398448407073361692854598896395660973551621471153125873324093273693188361794624182045978972170769184077294635577525646082607689523988203353908994359086033962538559587553910909375567193318940912279997165142927480700564209288173220225384730540981792246512989900341202543572170854592884841520231163254576841095115809393809938058075903840980534117168301992015223075739508551231095839305180007037079877186658336127232827854169959238308587555017958793825727641456186059559092111096043651656341288850290872690630883567333375164900418215145518345541270006387340447989313560862329347254427051831817356413280401934062082022860595881208899106391471240054348453123368992980651851558489054087358391597175366184975155324515602224225079615332067135912222606711302945343786605680083648388534405191586126176824176442625686081457150800572229090365018362965611373749263508623285759470278627638163898849186159415401163937879047474500413616395469893483919621573786955053111281828393670715159424465391173502518809946829137381807797034367589104186797059456816727930265327619290353271538246858314964191646913168238222299534944566260170347905641486699898019627297088430219026208535891314478002140281200705612172200072640226421085794919272343202504844522165939658439721217650085941206642956970491681728176833020027095182879040922233963928658665650156840209307545765768092433157356386623214609720949650304790782094852444705025438476174316268969939540429261265691168361017645405023169580211544058836763237288938326939612804291113073580875733712276990111792632382209219935767584320514037633452066861452649730919576101668980267325194914506299500200429508245559921190349624640031616925844561243246378329233709842345076999824965709128553364609859056460246391383688628079634339688420290822261743110318168734669288601401011804957003757695539961214494459497308063382885481335758855388374003679497447612281798470060273450773519928947774460696511670231307357265884786100657523462962865415720127029182832166954465208568684575282232032305227339876534543271473889038900910880828493192688578878160500336288172018127008361672150399576422249448678990869265137621989365977190036330041026052998931531917543594514630943235688051920418924043212748062182486947813547838147963359972640898033693524185380604344735633316633082154135479621091089144858398056151235936002809449523270492481640120533909006990217725112894317904536372866284138129005922861204328423004992219463933800057662163839204845228202952528636845780171473014412992082312931900987510294588375866251300483244170375042411961540080560780048509863241970895872183495968486842255248866811453073034700792041470185052273897781284658490881714818130311391255493534051987574895233160032355199011768160653411878823392788359260205687956358186964856094533767575697996256341573964801135792839107225530209173142849663957829669081771766886001836778253293717925032039001542764683193645785780127510055579640899714815796298548018107007157176983320016224540140574743881688757599173784042172494657004397343947218024374018946009263472686950929961791028756990584457209662182854745230102530564243949605223719716893063043638730654526120857511409250885005370549998796272391879522833558097000727207629599826651060298022501252369160766878802794530897211233113497081157342661179190819976965199941541985197486511325872540002667673555104087049904192882087498039495397187290338849427145933204101480851 29956326825302353065261869275185708575310341640428913639197531320487829398551720174586351787004593124288327606757560001229164605777218507410323206348846237606870087472455146359331456032313966091480694089570314490848642585803281279481556921622776106980268412713955501018688018143954836754000788839636989071869805080837954327581928594615265865783707615019501899540291330419666512436645418393294788380998245764395630182951796201166425187041347632287158962309946206535517188942412144554618342846476200498058243828123354017717612357205455996499605490925212873809656774958605186788850000261996711000277263729529278835211082026124312498062070612472790482606564857241373516723632044644090577955654314265235043287639983594157602893363007932481680463248338697794658330010613123557900030754436329489725649322425004064581027342822264697726371030096535896767102493499459377022056272944385387161997987431202679408670603338775268999757317554030051677319845870719653602634463957733451266934160261669521424837488136710204280285969692284257115776018442915618952154967678896846103463771654061269053134999647581837696911216816639803016068274330154535753636293590070076173278341862736775769295303418075946225512856437693338219029964123940165464766616034470145228396327116899704353999310416152352582752091154626328388315139426084211445079864016018988047413692132845590641906623337620152254192551631995693857262627202292979045218348899451435529264980360182515405287090340405611805477121461169687542884141251596087378491911478704975610701168626846051358674298253791804061740148810549459358085498511157559766819365033434273910501696327631621195304911169489151903539239319758549635155833166344281434806810444707556060071207150824728408658540234519263504371789450554643408501405139701227053193938188794080910166966032805619900629230891395539126279555906781706421047886120914389970587285386939592919835163116695039602542065280332145317383726348345310519923253631996459733796347195675070960830108484880938060761561282894346932679847351280554058951775538734827961960029084834479129572688915502874289021945534354997336112398288033319998549488592814116320554728320591643902091204168323046087664373147868800798350294180229303521323980943424857048749405049888817599974268988360990172949820005360477446751023815235004072290540159902715386483316366824838690202123566950027246249323968695013688893339707791463825743345690244086229898625608428343737983734379369794397188460528550797231646611105280144993943339829148836309794715137492462330169359737417099428190220612005761886720733662998503088728227004084939214546917184210502645219021017788633999091651361072971335888506587822847866512457993636914228527382101540011378729716995995161060503509088981747152984483169044210625114559228193054726798876073987817799798050561050803658499435045783833708586328011677450001991566139025915906985622807098290536915637139746249956151707052673573629463818496339797715563752362661797477339634224400136486673541451839104688688513554819914365598838043744884754852849571045126577580119990859457008659338320415881739625927004522857541218665591388595414137451095046451678817266960492207674313000771133174842056923155371678721397357494571696007558642974823028665006241034319083215309148873722080064275017904188184603217037470705821020928186154596494662348772916330116431470513221803022939986073051120418929058052542110250656616684602158123269323142403277736739531356555714997287045924147039528793451166522889335168962234185213174750302887275799314743093692483667606497141778233295851011718380284660592275202458481825753873035937390281276122317576254991426665085436249844564247501001507702991342524737570974389580507801716802190763429896573631340121794904317839718839974999841614068473633249143184085400978 48470354981439440793396787287991339487616526277870859241591787951586002910563492096687566486845285484781436941032062107203479697679089531825098847003468417620777777287478579309828868799549791107461258377629264922953626000099516809469229803472410356448831696428277876627458540467278816745531152362679838621302158622397541044481742669296853368350379170509319415906265728868073585798338272992191184041971797385866783308825120294440118375403142256469204941282116975719594483577989670200700950536000188701412152822482440051680150916793009907408981058118531814721936772123748114269550564471284884220502648460070260627457595016024653700605642783327383367448085088404628093564727160453484387893712390169076023821757151896149618116438747441032911559087643877801695409887799781894027263582290499448963957909980022023374853070463720883785930122207631940418758834788309667894746903827952720537162887849417824927016144608781656340205306867590914006667100297771485419990877238135385329016183122265402633736594528181444334634422815653250096427870001404673039513359276072212288438926978576871277360079262913904832823439423351105961412060935834619402024827995261662299455166039179401455376760568876518454603221456056303830403713387448788750526086313097783392295176303059119755163248295199827083165707550096221872234760999871166498191145844412658762573116598236764144425433284449289636000348666363282961449424261749795773148614227070725882536518607040830369478737253573850027776656405735947713232046893082787276511538775793405829727377162737365836676438534992509673912348883189685779171293430429902969324209555600213568941417545281707136511554126459643585267416152778576730338712207266515398735469110357712900280514696590496501091697590905886718981510400204948199283499992145932078632414363110349880106506462066885591797591909040944149449136118325765257811123409852716910200089678052666500710896828972029714334697662541365253151310668859348153375320493449109464715923297344051228155303399387237560961990791139906853870196975920585675877620099978074340289262794676824206572513881212002842386555393411457582503781976661399632889177013104938582297838638760378571379805569334851044668130843408762012844753677537366904209462279183712437123408729386265212256067458421263623723339934308251907447535485466311429556424946003372909946279232240558817231306399116981711457892653270295920925644935131340360286617164133125130809506436921536426562612539870130685360478655559158903797010681702394442622330698413973931784081114682498660210385790416030960107764206520392829956421714918922012771439752147121701494730732048650608578993658686667692615836741677316071521823220905002001992079084726059086925438252775947381539166519265653542143629622890754143202208281938528529650932094477192855804798935192146222803042780514737458557097209623038553814530964206086847771737612040328899067935738999278047210225515612501256634951223048616041425358576900577764073615604632693349523130192886978741922408263292177723389305596290099417872735825029543245734564389175437968835613524911444583554571480448236938637695165176269420042058379747855619825407453233416534911800728067905670569342345097975977849762262597208930570500344235653837227724746589914666843019287612801140341187875264844747468663689968312113272617111605535836724484702614601669505949899650132656010653796546904628743672224904461101552709546507594603834708976177069278586615090228666701322385312705581744255586329894274023553697087133284774185953902106237793941617930325435600605101734552611867691777029568242891241213842757593002410088081652404933333959891533645283084455057785957562296669363341645404843662686893811319489937512516374777994313042674730766097570128735427171699097199927216879470397028904407323060395076388186881829 78426681806741793858658656563177048062926867918299772880789319272073832309115212271273918273849878609069764547789622108432644303456308039235422053352314655227647864759933725669160324831863757198941952467199579413802268585902798088950786725095186463429100109142233377646146558611233653499531941202316827693171963703235495372063671263912119234134086785528821315446557059287740098234983691385485972422970043150262413491776916495606543562444489888756363903592063182255111672520401814755319293382476389199470396650605794069397763273998465903908586549043744688531593547082353301058400564733281595220779912189599539462668677042148966198667713395800173850054649945646001610288359205097574965849366704434311067109397135490307221009801755373514592022335982575596353739898412905451927294336726828938689607232405026087955880413285985581512301152304167837185861328287769044916803176772338107699160875280620504335686747947556925339962624421620965683986946168491139022625341195868836595950343383934924058574082664891648614920392507937507212203888444320291991668326954969058391902698632638140330495078910495742529734656239990908977480335265989155155661121585331738472733507901916177224672063986952464680116077893749642049433677511388954215292702347567928620691503419958824109162558711352179665917798704722550260549900425955377943271009860431646809986808731082354786332056622069441890192900298358976818712051464042774818366963126522161411801498967223345774765827593979461833253777866905635256116188144678874655003450254498381440428545789583417195350736788784313735652497693739145137256791941587462736143574589034487479443113872913328331816465295948795488806655472537126365494545373610796833542279555065268960351721847415224909750237825425150223353299850759591607784905131847159131826352551904430790273472494872505492426822800436483275728692025107471678859009530767106880787375064992259420546059945667069316876762942873510570535037017204658673298574125445569198512270493019122188985411884268175621723552074034253786550044327201139734829395638712902302249291879511303336145202796714877131408500927766454918616180264694719631438665605919054902852566959352022473471009737657897132332503991277562811195047857766670425533443222608569485872813779275082812230336446782253796673159939668729354198559300701315501846965105906088296429595599065397507433429966067008957707216621965309609818984642922804186029962854377211360708132045349880164546346919239925082548939184109956135443621786982539436565670527562810241578796252174960990379745527833130388297984818526154716677155377917425101499666756232060916041647916259153253798014676475301691707488102750287407410329808727849868504537078362973315452820354315958760268883515260814602647138711872501296186691450982739154765491322670247582603675009179964022601093341565541117056532255406872262400858975883536849763303751066244806053558546097568584125862655358751212786658275722189670889177073240375479637367967294490826862764417287115228595949715131282412077819151110013783471573868774428000587413960220564546415733515770901592213909800864118678263622169699126961260723971136451033962858548279868213729067688560113344882343116231150819906685417968887651967857838807349844786367721412943331849260321931884355650336748986924811743681594156496716489654582311356857652670857211096331854722815980249087481167018349927568729745276024880030610762088617845260451393578335192547909757493506403440853741868420579031301510476933802817004863610022619943148188087319412544244505206124750343698794218220218364833555262864093902959594127418185277612546563478158806369897281814921405402031312777384227382105613186209652344664194596802662014675083490764358502114759476921529527466702366767293494001517766935719445396870518475796693644219572272282807 126897036788181234652055443851168387550543394196170632122381107223659835219678704367961484760695164093851201488821684215636124001135397571060520900355783072848425642047412304978989193631413548306403210844828844336755894586002314898420016528567596819877931805570511254273605099078512470245063093564996666314474122325633036416545413933208972602484465956038140731352822788155813684033321964377677156464941840536129196800602036790046661937847632145225568844874180157974706156098391484956020243918476577900882549473088234121077914190791475811317567607162276503253530319206101415327951129204566479441282560649669800090126272058173619899273356179127557217502735034050629703853086365551059353743079094603387090931154287386456839126240502814547503581423626453398049149786212687345954557919017328387653565142385048111330733483749706465298231274511799777604620163076078712811550080600290828236323763130038329262702892556338581680167931289211879690654046466262624442616218434004221924966526506200326692310677193073092949554815323590757308631758445724965031181686231041270680341625611215011607855158173409647362558095663342014938892396201823774557685949580593400772188673941095578680048824555828983134719299349805945879837390898837742965818788660665712012986679723017943864325807006552006749083506254818772132784661425826544441462155704844305572559925329319118930757489906518731526193248964722259780161475725792570591515577353592887294338017574264176144244564847553311861030434272641582969348235037761661931514989030291787270155922952320783032027175323776823409564846576928830916428085372017365705467784144634701048384531418195035468328019422408439074074071625315703095833257580877312232277748665422981860632236544005721410841935416331036942334810250964539807068405123993091210458766915014780670379978956939391084224414709477427425177828143433236936670132940619823790987464743044925921256956774639099031211460605414875823686347686064006826673894618894678663228193790363173417140715283655413182685542865174160640420241303121725410707015738690976642538554674188127542717716677926879973795056321177912501119962241356119264327842619023993485150405598112401044850815306992748177000634834686324824039801535304037329742905501792281922996222508661348024486403905203517420396499873976981261646094786167626931403390051909461206375874831305956324664736365183990669165109275235605530744629578054144546316580018510336491517638482271416591108959459110055767909417839669115039240632468684933879188001225976784173362877366857459650590131318249161348405749025046547546633577092836347114271106508379182617536378648307803862377008335161969384323324844427603478932153029632851870496616163089032402378258607091906141808050034526468144790768334763255439388899732921267684416423417147440438408473944372110245404136122080278575613629465029910816215389940089623697535041363106573705121494285096846631336088170971252469421609498770805712314535650140953243710983571927184176385894610174093970518357978423460135467124747400113201344309693803971246321978349396002515251347040682346175768481281312355616901317334875396381302782350884306653788266001513284748640868416628019015451685461329126797756447680566096582538358183043003682014092468002857998692279609544685495991524624251769559212345284124808829762271693916892694377155559825698001360672715630381743491820814896832197473417500929341132163471635125439864286102554512261826496372583735070142176127181126160775557096806828076840558560697155904717334141989425650338186123136450185944303895952772830232525332292432336794200807970175778280022634645130563739703857173348566688486486370563341789678774976527855057188326881490613981504612596007139136496427802151652295625036831102194465193098717694152598915793899422883119754039295960459164636 205323718594923028510714100414345435613470262114470405003170426495733667528793916639235403034545042702920966036611306324068768304591705610295942953708097728076073506807346030648149518463277305505345163312028423750558163171905112987370803253662783283307031914712744631919751657689746123744595034767313494007646086028868531788609085197121091836618552741566962046799379847443553782268305655763163128887911883686391610292378953285653205500292122033981932748466243340229817828618793299711339537300952967100352946123694028190475677464789941715226154156206021191785123866288454716386351693937848074662062472839269339552794949100322586097941069574927731067557384979696631314141445570648634319592445799037698158040551422876764060136042258188062095603759609028994402889684625592797881852255744157326343172374790074199286613897035692046810532426815967614790481491363847757728353257372628935935484638410658833598389640503895507020130555710832845374640992634753763465241559629873058520916869890135250750884759857964741564475207831528264520835646890045257022850013186010329072244324243853151938350237083905389892292751903332923916372731467812929713347071165925139244922181843011755904720888542781447814835377243555587929271068410226697181111491008233640633678183142976767973488365717904186415001304959541322393334561851781922384733165565275952382546734060401473717089546528588173416386149263081236598873527189835345409882540480115048706139516541487521919010392441532773694284212139547218225464423182440536586518439284790168710584468741904200227377912112561137145217344270667976053684877313604828441611358733669188527827645291108363800144484718357234562880727097852829461327802954488109065820028220488250820983958391420946320592173241756187165688110101724131414853310255840250342285119466919211460653451451811896576651237509913910700906520168540708615529142471386930671774839808037185341803016720306168348088223548288386394221384703268665499972468744340247861740464283382295606126127167923588804409094939208414426970285630322865145536411377403878944787846553699430878862919474641757105203557248944367419736142506050838895766508224943048388002972557464423518321825044650645309333138825963887635234849393070707755276348724400851408869036287936430836716740351985771217069659813645710615844654086868942433250355157815549502805470430371353832098166331250999626872325897200915140563614220976948732346542872887547852225770527621296755655306378349980850458357023779071174684254255667473315753671753539594414941673619032420640969876846082291736703733843572702263310732470753772215770773264611243533578026564566957116175023011637271076030812947177890886342482838360701739001153241452005717831078961407864902076933549787282747437907046635756735575591183904006839181914739817688021012148953552074268005229463645819692670161720436783078616248915973160547298345114172818511175052831194415215461950826330003682208267774492995383203712723381328723348351539221675003248659027461209199114307693554742547544943898510126984815883562578399246909392309616567061667080556453247767982391082176474295164939504574523342563506322020757687751124549793152962369936105188132360334028577560277617663133098534984234506216021850353526800460189415801330541539931476569851641861373238694370956026878281305546251926276228249552029826417036794333215395531610630830972987833246759766203162776954221162774233723743285124737496132847454374406130077241473583029869049546739806858607283761879657563424307178524660482330076745062882430628342574936288002690170993048597358887555296430697160402097593963557635181208608722546073754455163488093888517683340726017060880589714064709532991076087416643519287679497903494998542561628573825152503533468961758687100235461088318361190769941358916447683515532731447443 332220755383104263162769544265513823164013656310641037125551533719393502748472621007196887795240206796772167525432990539704892305727103181356463854063880800924499148854758335627138712094690853811748374156857268087314057757907427885790819782230380103184963720283255886193356756768258593989658128332310160322120208354501568205154499130330064439103018697605102778152202635599367466301627620140840285352853724222520807092980990075699867438139754179207501593340423498204523984717184784667359781219429545001235495596782262311553591655581417526543721763368297695038654185494556131714302823142414554103345033488939139642921221158496205997214425754055288285060120013747261017994531936199693673335524893641085248971705710263220899262282761002609599185183235482392452039470838280143836410174761485713996737517175122310617347380785398512108763701327767392395101654439926470539903337972919764171808401540697162861092533060234088700298487000044725065295039101016387907857778063877280445883396396335577443195437051037834514030023155119021829467405335770222054031699417051599752585949855068163546205395257315037254850847566674938855265127669636704271033020746518540017110855784107334584769713098610430949554676593361533809108459309064440146930279668899352646664862865994711837814172724456193164084811214360094526119223277608466826195321270120257955106659389720592647847036435106904942579398227803496379035002915627916001398117833707936000477534115751698063254957289086085555314646412188801194812658220202198518033428315081955980740391694224983259405087436337960554782190847596806970112962685622194147079142878303889576212176709303399268472504140765673636954798723168532557161060535365421298097776885911232681616194935426667731434108658087224108022920352688671221921715379833341552743886381933992131033430408751287660875652219391338126084348311973945552199275412006754462762304551082111263059973494945267379299684153703262217907732389332672326646363363234926524968658073745469023266842451579001987094637804382575067390526933444590556243427116094855587326401227887558421580636152568637078998613570122279920856104747406958160094350843967041873153378155576824563172640351643393486333773660650212459274650928374745085019254226193133331865258796597778861203144257189288637466159687622691877490748873036569364653745209725010709181345261677310156762902696434990296037435172436520671308243799031093278663122891397884343743409009892713346764265837460036618367774863448186213924886724352407194941672979516378588304550985889880291560008164331453085109482868619249809944309563590119330041879772990426151114405212874760978552031346799240460354137791605494365274635867993553609497769404541038120209337568499771043884983584313750892228675381399012174964490916825274523598338156965128459420622897924184513409365585726098268283791185466693894831638856062784244833386477279392216296547116291261846798038997301256151629877273263801095518248373522281967059335111148859179634553637635303169632665671978202683012068645910240186160193256382370493231370659012569576918427597135593943750872363488829912066256839449919723866288672905064341539390551306437711010804521816151375785714038889404415419580779101080817044574204893357208814552657418659329233819541021255347633385997490463930168372162406114376014197970145142246406981976862492334576068247241012574464808648143591963676580277883562294937705358868724989023598687359716200902502660976543725205996230672900582415704090589956498121985004334429377816472066170713220616751479025122232306586123765878829884219847728767491361210067769741837657815853739286285777611628512054782375004053904067806739655566241919766721317957578030625023900275505042631494970363780226120777540364571156223880198953155240917276984669364242036201722811493190612079 537544473978027291673483644679859258777483918425111442128721960215127170277266537646432290829785249499693133562044296863773660610318808791652406807771978529000572655662104366275288230557968159317093537468885691837872220929812540873161623035893163386491995634996000518113108414458004717734253163099623654329766294383370099993763584327451156275721571439172064824951582483042921248569933275904003414240765607908912417385359943361353072938431876213189434341806666838434341813335978084378699318520382512101588441720476290502029269120371359241769875919574318886823778051783010848100654517080262628765407506328208479195716170258818792095155495328983019352617504993443892332135977506848327992927970692678783407012257133139984959398325019190671694788942844511386854929155463872941718262430505643040339909891965196509903961277821090558919296128143735007185583145803774228268256595345548700107293039951355996459482173564129595720429042710877570439936031735770151373099337693750338966800266286470828194080196909002576078505230986647286350303052225815479076881712603061928824830274098921315484555632341220427147143599470007862771637859137449633984380091912443679262033037627119090489490601641391878764390053836917121738379527719291137328041770677132993280343046008971479811302538442360379579086116173901416919453785129390389210928486835396210337653393450122066364936582963695078358965547490884732977908530105463261411280658313822984706617050657239219982265349730618859249598858551736019420277081402642735104551867599872124691324860436129183486782999548899097699999535118264783023797839999227022588690501611973078104039822000411763068616988859122908199835525821021362018488863489853530363917805106399483502600153326847614052026281899843411273711030454412802636775025635673591895029005848853203591686881860563184237526889729305248826990868480514654167728417883393685134537144359119296604862990215251435727387907701991648612129117092601337826618832107575174386709122357127764629392969619502590791503732743590989494360812563767455701779838493498734532114247781586989300443555627210394184202170819066647340592247253457797055860859068910090261156350713041248081494465396294038795666912486614100094509500321445452840295602950593984740734295084534209697919884609175059854535819501268402493335402959905511797904100367540560211986815692048663988861069027685989922909761069637435811871858020008042011009665764285432195969179537514010102419572215810017468826131887227257388609140980019880510695344733055973003246224604922300932529885010413744821813216712191952073255042034343891545812653037601669684692431777441718094727054358436511536384950738783385251617118706354255348498922645993043838040416529907635945961917134101033639666582428034768910540082100729281362780252896782816480432771851476258781414595049371917960953952905903476973447887772035944792131731591452210727471599947485677062259989823631259833838145047756796478721961096903610690407686650370534182883212665096512368746973365532945230557012544420367170976076818960769740140762968629136638585508153588841711733263445665304207231196344024443066429794994925822029290515101099590673380740627004283736119742616449682033082713877636065051550790226743710735615012846834460659775359472497825199275247370729158301124399040687419922266124246373391798436808393899286667791463778851643405437796481390351729879743054837783457711939082612010113761094820207170575308632738218017308235865280219640389274311374351836155685409311512954038298802142915776103047379821600058520309276294758927427243107403025198188521612165363705395292997062348008831851366083675542876263521737244793823800536155955984476254309033665447268543187955002946126493512925408799945930043898040117982567299188616329235638175439305600952649406327025922059522 869765229361131554836253188945373081941497574735752479254273493934520673025739158653629178625025456296465301087477287403478552916045911973008870661835859329925071804516862701902426942652659013128841911625742959925186278687719968758952442818123543489676959355279256404306465171226263311723911291431933814651886502737871668198918083457781220714824590136777167603103785118642288714871560896044843699593619332131433224478340933437052940376571630392396935935147090336638865798053162869046059099739812057102823937317258552813582860775952776768313597682942616581862432237277566979814957340222677182868752539817147618838637391417314998092369921083038307637677625007191153350130509443048021666263495586319868655983962843403205858660607780193281293974126079993779306968626302153085554672605267128754336647409140318820521308658606489071028059829471502399580684800243700698808159933318468464279101441492053159320574706624363684420727529710922295505231070836786539280957115757627619412683662682806405637275633960040410592535254141766308179770457561585701130913412020113528577416223953989479030761027598535464401994447036682801626902986807086338255413112658962219279143893411226425074260314740002309713944730430278655547487987028355577474972050346032345927007908874966191649116711166816572743170927388261511445573008406998856037123808105516468292760052839842659012783619398801983301544945718688229356943533021091177412678776147530920707094584772990918045520307019704944804913504963924820615089739622844933622585295914954080672065252130354166746188086985237058254781725965861589993910802684849216735769644490276967680251998709715162337089492999888581836790324544189894575649924025218951662015581992310716184216348262274281783460390557930635381733950807101473858696741015506933447772892230787195722720312269314471898402541948696586953075216792488599719927693295400439597299448910201407867922963710196703106687591855694910830036849481934010153265195470810100911677780430873233652659812071081592778598370547973564561751339497212046258023265609593590119440649009474547722024191779779031263200784389188927261448352000864755215955209912877132134309728868618072644667105747937432282000686147264312553784151249820197925314857176787118072599553881131988559123028866364348492001979188891094370826151832942081162557845577265570921168160953725974145623971724120980218947196242073956483180101819039135289672788655683316539712588547406723449183838053270054087193906750675443602534027704372287705637017712572351591550775590812181224089893174745197906922699580811201883199351597934010875854532810592095835806836990316479073279085705235751996739088530388879616891754574347808957996692050534081958249754098407406989846900718414784531895257809433781085504573017554555886378591053747944939853394749400443294823960635098016229237744091370170868279526628098729036965118068731602943768147063776938909058028820932515985468022321020597574240209470425892657467021761519393362517766302731815538379639037511147913569081190330607357136270075343140233372133627641706215503935750724435655484135809154134119297453183474362790296083667830886370829905652406028384391545148820435111905456655339086448502294656737145868595364431637067944429565504253119989009179013519080546908633368219622231292771203093534298280322216518534044843790370761779002367532026092655979902605129533943693556323332721345752649644441480735102784693507566886776211135399194561033441861510892540971690015464941792653807394315847383416115274209086489323664131300625180752615862418524806257127327250753965679882822233133447232950812916087295117628977712187597658638525791148861630540191722197904242975626991243477893567088230507988757988483289189026066707584262611274206447498141771570152915160108669842988851129138519112671601 1407309703339158846509736833625232340718981493160863921382995454149647843303005696300061469454810705796158434649521584267252213526364720764661277469607837858925644460178967068177715173210627172445935449094628651763058499617532509632114065854016706876168954990275256922419573585684268029458164454531557468981652797121241768192681667785232376990546161575949232428055367601685209963441494171948847113834384940040345641863700876798406013315003506605586370276953757175073207611389140953424758418260194569204412379037734843315612129896324136010083473602516935468686210289060577827915611857302939811634160046145356098034353561676133790187525416412021326990295130000635045682266486949896349659191466278998652062996219976543190818058932799383952988763068924505166161897781766026027272935035772771794676557301105515330425269936427579629947355957615237406766267946047474927076416528664017164386394481443409155780056880188493280141156572421799865945167102572556690654056453451377958379483928969277233831355830869042986671040485128413594530073509787401180207795124623175457402246498052910794515316659939755891549138046506690664398540845944535972239793204571405898541176931038345515563750916381394188478334784267195777285867514747646714803013821023165339207350954883937671460419249609176952322257043562162928365026793536389245248052294940912678630413446289964725377720202362497061660510493209572962334852063126554438823959434461353905413711635430230138027785656750323804054512363515660840035366821025487668727137163514826205363390112566483350232971086534136155954781261084126373017708642684076239324460146102250045784291820710126925405706481859011490036625850365211256594138787515072482025933387098710199686816501589121895835486672457774046655444981261514276495471766651180525342801898079640399314407194129877656135929431678001835780066085273003253887656111178794124731836593269320704472785953925448138834075499557686559442165966574535347979884027578385275298386902788000998282052781690584183570102103291564554056112152060979501959803104103092324651554896791061537022467747406989425447402955208255574602040599254322552271816068981787222395466079581659320726161571144231471077667598633878412648293651571265650765610460127381102813333848965666198257042913475539408346537798690159496864161554792847592960461945944806131133154976645774638134485040751806970141856957311711392295051959839047177300682454419968748735681768084920733551603410269080071556020038637902700991143168684392168216332362445628324594797000195734482156619778185158942728735916293003153956454393632277902421667185848193765520499268767758197168006140063672263533124039269172264868508873280702064306495614696527125796290170628315042935808817852515818171561840237468549996044655118283837249158843950530761420286166600876702076238555684469934190191696997273647841727414400134673829096849660183813671239747011262615971318018644563775819306167368777394052962170567329503347874708411889927545400978967828327907126612403044093144126093734750974528112346894303909973512896596270842854089443904313277367217399254819438326528649527498805856725878662756708400120420753505619057772285775824718848025199271788768481585008534373210920146154658380778680044578351087580648784538486016905746183880738948780532417170243780954220546446462891925843280598764661065670158995804944299385340401610924295423436066387559129210361583524092745216545788327774057351519768137412578341677726791112181360964326839293628809492803627360337454414076352002265426711511122225239272925138713283733684370434653779163868404434398497152628243809978435303949480343795863140534902047528393655454340727878153888719229936024908925162110276185510934884481996214597826012637628160651392189014797330387899388553335547975443941500535465545034731123 2277074932700290401345990022570605422660479067896616400637268948084168516328744854953690648079836162092623735736998871670730766442410632737670148131443697188850716264695829770080142115863286185574777360720371611688244778305252478391066508672140250365845914345554513326726038756910531341182075745963491283633539299859113436391599751243013597705370751712726400031159152720327498678313055067993690813428004272171778866342041810235458953691575136997983306212100847511712073409442303822470817518000006626307236316354993396129194990672276912778397071285459552050548642526338144807730569197525616994502912585962503716872990953093448788279895337495059634627972755007826199032396996392944371325454961865318520718980182819946396676719540579577234282737195004498945468866408068179112827607641039900549013204710245834150946578595034068700975415787086739806346952746291175625884576461982485628665495922935462315100631586812856964561884102132722161450398173409343229935013569209005577792167591652083639468631464829083397263575739270179902709843967348986881338708536643288985979662722006900273546077687538291355951132493543373466025443832751622310495206317230368117820320824449571940638011231121396498192279514697474432833355501776002292277985871369197685134358863758903863109535960775993525065427970950424439810599801943388101285176103046429146923173499129807384390503821761299044962055438928261191691795596147645616236638210608884826120806220203221056073305963770028748859425868479585660650456560648332602349722459429780286035455364696837516979159173519373214209562987049987963011619445368925456060229790592527013464543819419842087742795974858900071873416174909401151169788711540291433687948969091020915871032849851396177618947063015704682037178932068615750354168507666687458790574790310427595037127506399192128034331973626698422733141302065491853607583804474194564329136042179522112340708917635644841940763091413381470272202816056469358133149223049195376210064683218874231934712593761665776348700473839538118617863491558191548217826369712685914770995545800536084744491939186768456710603739597444501863488951255187307487771278894664354529775808450277393370828676892168903359668284781142725202077802821085848690925317304168220885933402846798186816165942341903756838539777879050591234987706625789674123019791522071702054323137599500612280109012475927950360804153553785348778232061658086312590355243075652065275394356632327457000787248322350125643213945388578144593677196388764455921969380158200676186347775786546663380709671359904140635658615873814355839653745230211913297521718658785861356306105758074676241285225768908015529863127799561144485400627855049873264492306747061207754539924726722449925655718570930602703457098046902331081549228135838393135537435004278706360139561350277145371062516319567950419429441088643818710006941028233402866061967728915416615007894075039554880376047465496291804774189689797991627202380037755396005341730173409320907918745270560143445506251440555241057695174925081581885248616969647050206885030223912549069593379655037713022701535063973572445826102710973168647021962330587594770950326405911647442163830924645153959930655927127854930087303191110356788741519090017846624474143855340700637793717499535986293092514107168402763709941446874488518826768679410459888124389135422844672526527831036955365243006740458239116992389720280474963011227965573480319330481835340944127730903536607139375119588302004722332654342304235421463300197943207720870529350561088754750375642422850420025541001131808539941497761904533129548287256631630599861194622894522599067109321508050738193540573319542517084880919600351792962205563016152403055677364416018923642470479503786852079345212423262666395462295472159469541468495656645286930351664604064147402724 3684384636039449247855726856195837763379460561057480322020264402233816359631750551253752117534646867888782170386520455937982979968775353502331425601051535047776360724874796838257857289073913358020712809815000263451303277922784988023180574526156957242014869335829770249145612342594799370640240200495048752615192096980355204584281419028245974695916913288675632459214520322012708641754549239942537927262389212212124508205742687033864967006578643603569676489054604686785281020831444775895575936260201195511648695392728239444807120568601048788480544887976487519234852815398722635646181054828556806137072632107859814907344514769582578467420753907080961618267885008461244714663483342840720984646428144317172781976402796489587494778473378961187271500263929004111630764189834205140100542676812672343689762011351349481371848531461648330922771744701977213113220692338650552960992990646502793051890404378871470880688467001350244703040674554522027395565275981899920589070022660383536171651520621360873299987295698126383934616224398593497239917477136388061546503661266464443381909220059811068061394347478047247500270540050064130423984678696158282734999521801774016361497755487917456201762147502790686670614298964670210119223016523649007080999692392363024341709818642841534569955210385170477387685014512587368175626595479777346533228397987341825553586945419772109768224024123796106622565932137834154026647659274200055060597645070238731534517855633451194101091620520352552913938231995246500685823381673820271076859622944606491398845477263320867212130260053509370164344248134114336029328088053001695384689936694777059248835640129969013148502456717911561910042025274612407763927499055363915713882356189731115557849351440518073454433735473478728692623913330130026849640274317867984133376688390067994351534700529069784170261405304700258513207387338495107495239915652988689060972635448842816813494871561092980774838590971068029714368782631004706113033250627580651508451586006875230216765375452249959918802577131102672673975643619171050177629473815778239422550442591597621766959686593757882158006694805700076465529550509509859759587347876451576925241888031936714096990248036400374437335883415021137850371454392351499456535777431549323699267251812464385073208855817443165185077576569210088099149261418637267083481737466877833187478114245275250414594053227734920502661110865496741073284021497133489891037697495620814011076124717248190552390658591430197199233984026480845584820365073156624138301742603829000781144775982281145537329449545063083364394532166817509796108138862489815719188904506979626876805374525832873409291365832580279062987167068733409353909501135751937570987921443588333550830095355037492861464536423446420875018938284370881077593883254122230384696278954809467780425727951153847447301072004037884609621138085917466551734355428368076695158817389099230286247641086302170851694066110060067624080357058575385680164550605084899353216438585299248453319724238388471352632863843599334201821268659832556413360963863950960180397926820183391923682823559350990389918934318793010772354752238471974503747840993344303171070747159417266499936116700469872807955855198916623411672311725483567708887673748398625304518722206428281286578255985552892039276394846117183296127111690655442739373215142302385731404987900083910342685523635981254750583408351382534540428456107839604173372811489666225535876270163115001479250671674019717716797315093116903693618669143529050272793001570568058324943426913091020177087153545075659298466139845092273625868196558312293416691691030127752489438432872957903016589665303913878728442620847936172539221647478505681681435499041061328217787640601529858526952475718384678091982840583914058584477092802547368930021831204620730871852200069609182133847 5961459568739739649201716878766443186039939628954096722657533350317984875960495406207442765614483029981405906123519327608713746411185986240001573732495232236627076989570626608337999404937199543595490170535371875139548056228037466414247083198297207607860783681384283575871651099505330711822315946458540036248731396839468640975881170271259572401287665001402032490373673042340207320067604307936228740690393484383903374547784497269323920698153780601552982701155452198497354430273748598366393454260207821818885011747721635574002111240877961566877616173436039569783495341736867443376750252354173800639985218070363531780335467863031366747316091402140596246240640016287443747060479735785092310101390009635693500956585616435984171498013958538421554237458933503057099630597902384252928150317852572892702966721597183632318427126495717031898187531788717019460173438629826178845569452628988421717386327314333785981320053814207209264924776687244188845963449391243150524083591869389113963819112273444512768618760527209781198191963668773399949761444485374942885212197909753429361571942066711341607472035016338603451403033593437596449428511447780593230205839032142134181818579937489396839773378624187184862893813662144642952578518299651299358985563761560709476068682401745397679491171161164002453112985463011807986226397423165447818404501033770972476760444549579494158727845885095151584621371066095345718443255421845671297235855679123557655324075836672250174397584290381301773364100474832161336279942322152873426582082374386777434300841960158384191289433572882584373907235184102299040947533421927151444919727287304072713379459549811100891298431576811633783458200184013558933716210595655349401831325280752031428882201291914251073380798489183410729802845398745777203808781984555442923951478700495589388662206928261912204593378931398681246348689403986961102823720127183253390108677628364929154203789196737822715601682384449499986571598687474064246182473676776027718516269225749462151477969213915736267503050970640791291839135177362598395455843528464154193545988392133706511451625780526338868610434403144578329018501764697167247358626771115931455017696482214107467818924928569277797004168196163863052449257213437348147461094735717544585200654659262571889374798159346922023617354448260679334136968044426941206501528988949535241801251844775862694703065703662870863465264419282089851516083155219802481392940571272879286470481349575647553177906913780322842447929415058990178497561461921080060271122762029676967492551768827808918039120904967224000053148040631865635761884092701729016710623165765488233111480283907549650576591601488294592850294868294553839310128990801810835480228190649541305370020081759942787120254994377023578476036331273212159143111389960623520233713959088174140565289301430992818363588323605835029050579174561285261741296456601479561220785118014646901255535161341725732070113575556359428854546748373377307366930642840295358558168758708569361238469508948614798139115284154575259516443584914138298609580833598010387282957044095940993276203214388703412620469382766583218180854949445143150769803323931897942021073565328913942099947625115026767886511126044478341759614916593924497629192838416471928992866061768981924371973485088878332368908953285586059837053137529931258199983821712845619529377035506755015212051467018210115826415091840773657420845828120079136384039455239705855206751998455945606981575210626857091916903395121626026273011447764471736093199513775779195472777474179774927462795967926079324007140976900813567365958462845422964978947661758352350633055767480502083698986811964616921983194167478689624102567078857474643641062057213731273465005017548782169422955222171530171328053007176724979939388274706838471490326861266017802203864673673329536571 9645844204779188897057443734962280949419400190011577044677797752551801235592245957461194883149129897870188076510039783546696726379961339742332999333546767284403437714445423446595856694011112901616202980350372138590851334150822454437427657724454164849875653017214053825017263442100130082462556146953588788863923493819823845560162589299505547097204578290077664949588193364352915961822153547878766667952782696596027882753527184303188887704732424205122659190210056885282635451105193374261969390520409017330533707140449875018809231809479010355358161061412527089018348157135590079022931307182730606777057850178223346687679982632613945214736845309221557864508525024748688461723963078625813294747818153952866282932988412925571666276487337499608825737722862507168730394787736589393028692994665245236392728732948533113690275657957365362820959276490694232573394130968476731806562443275491214769276731693205256862008520815557453967965451241766216241528725373143071113153614529772650135470632894805386068606056225336165132808188067366897189678921621763004431715859176217872743481162126522409668866382494385850951673573643501726873413190143938875965205360833916150543316335425406853041535526126977871533508112626814853071801534823300306439985256153923733817778501044586932249446381546334479840797999975599176161852992902942794351632899021112798030347389969351603926951870008891258207187303203929499745090914696045726357833500749362289189841931470123444275489204810733854687302332470078662022103323995973144503441705318993268833146319223479251403419693626391954538251483318216635070275621474928846829609663982081131962215099679780114039800888294723195693500225458625966697643709651019265115713681470483146986731552732432324527814533962662139422426758728875804053449056302423427057328167090563583740196907457331696374854784236098939759556076742482068598063635780171942451081313077207745967698660757830803490440273355517529700940381318478770359215724304356679226967855232624692368243344666165696186305628101743463965814778796533648573085317344242393616096430983731328278411312374284221026617129208844654794548052274207027006945974647567508380259584514150821564809172964969652234340051611185000902820711605788847603996872167266868284467906471726956962583653976790087208694931017470767433286229463064208289983266455827368429279366090051113109297118931397791366126375284778830924800104652353292372430638066893693297546606066823838105568565505210520041681913441539835763317926535077704198572865365858677748637327751108954455368570450030307364447680207449375431870022955191544735899527672745115109916854809740423059867957434068573655837461937027963193219630126553748406468149634237874856200115436797435648584791417823444453494974615644093236736994644082853904929992913897641920991017252584840265664660327643719638671717260478751813475651884969556256379602507113877187503176247643896583764179685616427052934903806948762987531481247925194711774607344007817814558193747337086150771979127753909461337712244746694711970544697548970567680883864279332916959026773739693802539403701559593990535607187917117654517644317276201113091820724746180442036064325584899575842366324961101753431926642077492206516866586815097233511588268197263210950229470641770371645303799402769355964164828185373997573198964015231350934364935590665357897575102999464866409823443223308197849301935959683309756850944905931391083022161570947086232246884646574808714218488238529719891680591293522008886201084343837520416204387270795104549949513001738622473280821993087193234155021157716381670638691886104840071488640438405100288652115878495650425815015414862163324214557363156325076561098275059491252645619078640696375430940556208263310893591090783564416481077254207401512158065886748674056064743282511670418 15607303773518928546259160613728724135459339818965673767335331102869786111552741363668637648763612927851593982633559111155410472791147325982334573066041999521030514704016050054933856098948312445211693150885744013730399390378859920851674740922751372457736436698598337400888914541605460794284872093412128825112654890659292486536043759570765119498492243291479697439961866406693123281889757855814995408643176180979931257301311681572512808402886204806675641891365509083779989881378941972628362844780616839149418718888171510592811343050356971922235777234848566658801843498872457522399681559536904407417043068248586878468015450495645311962052936711362154110749165041036132208784442814410905604849208163588559783889574029361555837774501296038030379975181796010225830025385638973645956843312517818129095695454545716746008702784453082394719146808279411252033567569598302910652131895904479636486663059007539042843328574629764663232890227929010405087492174764386221637237206399161764099289745168249898837224816752545946331000151736140297139440366107137947316928057085971302105053104193233751276338417510724454403076607236939323322841701591719469195411199866058284725134915362896249881308904751165056396401926288959496024380053122951605798970819915484443293847183446332329928937552707498482293910985438610984148079390326108242170037400054883770507107834518931098085679715893986409791808674270024845463534170117891397655069356428485846845166007306795694449886789101115156460666432944910823358383266318126017930023787693380046267447161183637635594709127199274538912158718502318934111223154896855998274529391269385204675594559229591214931099319871534829476958425642639525631359920246674614517545006751235178415613754024346575601195332451845550152229604127621581257257838286978869981279645791059173128859114385593608579448163167497621005904766146469029700887355907355195841189990705572675121902449954568626206041955739967029687511980005952834605398197981132706945484124458374154519721313880081432453808679072384255257653913973896246968541160872706547809642419375865034789862938154810559895227563611989233123566554038904194254304601418683439835277280996364929032628097893538930031344219807348863955269968819226195751457966902984412869668561130989528851958452136137009232312285465731446767423197507491149496484795444776903671080617934826975804000184635060662229591639704060920776316187807573094853823578638166572584017087416399485658746472418990842884129842856598825941815487996998784258843988127888354716129879519936763373407691354997531364500828248081241067631907047893273752610150838510603343028335093647972710444549035556868248687756805322517032529759117355559241948377824887416161570135518557378435705046412200468031971010946917305395880106034043477425163706872985816061556306554015833084028248651249554667722296435040037075216948341571035817600387625128524088758711408985622315834293261172786481789450555322140294898411890765490070332776102716387175796663256285700948911094411908484720854155829660833010580125531146980954963840908375273910235229988128397215159873084326177208716462137362260805287447641208099055112894290075094384136011950699926343728877451005580095191541558671416704146059425231569162504454329966245135322202955730648704014212752688355415801217965715305255773182785728076970463741971097420373109626570017674982236238535064081855270147764079762446140890400145637246289774160026892693213822095273431900631121883360155746164692039057993744979400598119616715888981861450570032012745480927817946480421798893900760600113484003139346649586353644457190704544407918907183987638927843112572409009182893551787426781636220630968717623155488790764717650636627422865798386162727738434638946598267508544355869351961045873002484927152766476259929416955841206989 25253147978298117443316604348691005084878740008977250812013128855421587347144987321129832531912742825721782059143598894702107199171108665724667572399588766805433952418461473501529712792959425346827896131236116152321250724529682375289102398647205537307612089715812391225906177983705590876747428240365717613976578384479116332096206348870270666595696821581557362389550059771046039243711911403693762076595958877575959140054838865875701696107618629011798301081575565969062625332484135346890332235301025856479952426028621385611620574859835982277593938296261093747820191656008047601422612866719635014194100918426810225155695433128259257176789782020583711975257690065784820670508405893036718899597026317541426066822562442287127504050988633537639205712904658517394560420173375563038985536307183063365488424187494249859698978442410447757540106084770105484606961700566779642458694339179970851255939790700744299705337095445322117200855679170776621329020900137529292750390820928934414234760378063055284905830872977882111463808339803507194329119287728900951748643916262189174848534266319756160945204800005110305354750180880441050196254891735658345160616560699974435268451250788303102922844430878142927929910038915774349096181587946251912238956076069408177111625684490919262178383934253832962134708985414210160309932383229051036521670299075996568537455224488282702012631585902877667998995977473954345208625084813937124012902857177848136035007938776919138725375993911849011147968765414989485380486590314099162433465493012373315100593480407116886998128820825666493450410201820535569181498776371784845104139055251466336637809658909371328970900208166258025170458651101265492329003629897693879633258688221718325402345306756778900129009866414507689574656362856497385310706894589402297038607812881622756869056021842925304954302947403596560765460842888951098298950991687527138292271303782780421089601110712399429696482229095484559388452361324431604964613922285489386172451979690998846887964658546247128640114307174127719223468692770429895541626478216948941425738850359596363068274250529094780921844692820833887918114606313111221261250576066250948215536865510515750597437270858508582265684271418533864858090680425015043355454839070251281154136467602716485814542106112927096441007216483202214200709426970555357786468061900604272100359984024878088913297303566458453595718014988839751701116292459926387226254216705060265881563693483223323764315037924201362925811756298138661705133414532076488457416853493747032464767207271045717828776261805027838728948508455530616499501930003084818488509678511255718452945189903388395770312506469625441904525218742350480225749389243909307648416527459125291017770250955354814084289837830023912485465985562561398632617100678126331330093699786883457982547323806600673349692908978893274306394013695518788888692600226540592073979990132242401276261887656629518899598472946789213534724354362270903282429893138690684782107383446724204990354857003622787099683073539662394182191868074407527722550670228695951522644724772654606827194256761868091017699276785885771199252069325279378459805091958484300168204715014821274826172076276284825919571243775966681848623468200748908910662926012046666396016042598163508346272432426372419075659516552091124771765382793900679253346381749743308321398106906688085731007201673017139848646061978287390053119449700039445755897741345051568637372796321597839779446068979920006709345340371598685466056372630351515753865601682463454236305186248721365136562694993929556568953702620886987953834268505160855728320225045530562030776033048357312284276291043721608222834824198308413950750996193583787293794184253763850255970296255706063562173817103283946697949840189358292108772350429215253274514642993039515150315994160238352877407 40860451751817045989575764962419729220338079827942924579348459958291373458697728684798470180676355753573376041777158005857517671962255991707002145465630766326464467122477523556463568891907737792039589282121860166051650114908542296140777139569956909765348526414410728626795092525311051671032300333777846439089233275138408818632250108441035786094189064873037059829511926177739162525601669259508757485239135058555890397356150547448214504510504833818473942972941075052842615213863077319518695080081642695629371144916792896204431917910192954199829715531109660406622035154880505123822294426256539421611143986675397103623710883623904569138842718731945866086006855106820952879292848707447624504446234481129985850712136471648683341825489929575669585688086454527620390445559014536684942379619700881494584119642039966605707681226863530152259252893049516736640529270165082553110826235084450487742602849708283342548665670075086780433745907099787026416513074901915514387628027328096178334050123231305183743055689730428057794808491539647491468559653836038899065571973348160476953587370512989912221543217515834759757826788117380373519096593327377814356027760566032719993586166151199352804153335629307984326311965204733845120561641069203518037926895984892620405472867937251592107321486961331444428619970852821144458011773555159278691707699130880339044563059007213800098311301796864077790804651743979190672159254931828521667972213606333982880173946083714833175262783012964167608635198359900308738869856632225180363489280705753361368040641590754522592837948024941032362568920322854503292721931268640843378668446520851541313404218138962543901999528037792854647417076743905017960363550144368494150803694972953503817959060781125475730205198866353239726885966984118966567964732876381167019887458672681929997915136228518913533751110571094181771365609035420127999838347594882334133461294488353096211503560666968055902524184835451589075964341330384439570012120266622093117936104149373001407685972426328561093922986246511974481122606744326142510167639089655489235381269735461397858137188683905340817072256432823121041681160352015415515555177484934388050814146506880679630065368752047512297028491225882728813360649244241239106912805973235694023805028733706014666500558249064105673319501948933660968132624478046507282952857345381175771440601959705064717297488201519115825309654692900672477432480267499482080077795343226838465580780899622809423061510343192205809941599154737487646948902529075272716260841621635387180897086790982481202183953160025370093449336703611857567133837050978092241119829349766321795973524997036368480757055505182310153212975547672997258279148361264866890364905284012707179340386473912192519994884242224380517436996509478704028497206712169808755257406659869274044103630360616506433721157630142828974116310130558825963909548568111627891580377757370925365020599065615141215432766207962000016513804917593043577328305029456174852440159549440592166151520259908488048594167951570878903046023904068360733130795759842932477608565681029880737429486749996488232859149870211948407968531462641639265092539599692399223317609304896369210308088226984752263300121226972261943815009759420325614808985437278235558520496928129753481594635382103067779673729304779480187566600759615984509119564535471385291861848877785506104116828243034814830882300513351471908389597464119208202038631745197205883662570481624732472659891075193438609976462254958841212221064669409509498845002280583070952194168110171935168575440474857374515434124419780888714434381989163995074969811399175019221480577456276219468263929971564720795243833381201965738177777829804418262511807409252641020687946892333486427972203266011685132588786787625800653128219781176299147517127920192281626575923577194194084396 66113599730115163432892369311110734305216819836920175391361588813712960805842716005928302712589098579295158100920756900559624871133364657431669717865219533131898419540938997057993281684867163138867485413357976318372900839438224671429879538217162447072960616130223119852701270509016642547779728574143564053065811659617525150728456457311306452689885886454594422219061985948785201769313580663202519561835093936131849537410989413323916200618123462830272244054516641021905240546347212666409027315382668552109323570945414281816052492770028936477423653827370754154442226810888552725244907292976174435805244905102207328779406316752163826315632500752529578061264545172605773549801254600484343404043260798671411917534698913935810845876478563113308791400991113045014950865732390099723927915926883944860072543829534216465406659669273977909799358977819622221247490970731862195569520574264421338998542640409027642254002765520408897634601586270563647745533975039444807138018848257030592568810501294360468648886562708310169258616831343154685797678941564939850814215889610349651802121636832746073166748017520945065112576968997821423715351485063036159516644321266007155262037416939502455726997766507450912256222004120508194216743229015455430276882972054300797517098552428170854285705421215164406563328956267031304767944156784210315213377998206876907582018283495496502110942887699741745789800629217933535880784339745765645680875070784182118915181884860633971900638776924813178756603963774889794119356446946324342796954773718126676468634121997871409590966768850607525812979122143390072474220707640425688482807501772317877951213877048333872872899736204050879817875727845170510289367180042062373784062383194671829220304367537904375859215065280860929301542329840616351878671627465783464058495271554304686866971158071444218488054057974690742536826451924371226298789339282409472425732598271133517301104671379367485599006413930936148464416702654816044534626042552111479290388083840371848295650630972575689734037293420639693704591299514756038051794117306604430661120120095057760926411439213000121738916949253657008959795766665126636776805753551185336266351012017396430227502639610556094562712762644416593671451329669256282462367645043486975177941496336422500481042664361991202114326718432135875168842051448601865069420919245985447871800585984583153630594791767977569421027669681740424178548772727425869306332012048287104347144474382846133187376548267393568735753355452876149352082317061151761173677695115382419645664294062028199030960214965053208822397845159142474066635767054062910729629507861022040248918714900424764251069561974807752057738194290023477484028537605174174538781432743137998197110637429267006604284722072248293002902982072040102661114307390296140085351106446752732026650954167217179783414066609036103280510323826077614852602148794652219965560367889613326641282486722244660115031239154751213551238159279863946859758198168146859634547542996164797156506377263531275148277241491233273085237891978475888455681465988538884000253290453684487564623743511864579250558426656097719607220600787921017724897631558176699391522324319717644036480164503269578182871365002938943792438477960169234525471911449324901954536539526293261827867067808475486855333245856870604959331983553516663762465946285214693613259955784473591835124029916051954679528362491638861961509047164158653957936373090248774521035366803222572252105960055113445319321802626557526678277437299761025252710603963046525188499354358893300305138135468786931084387827040667876668268650494324850803290036444705581252256610504633531752540221015286329018078657579510379688928774023388205556305991663016491276658243148039549990146020369295631830538626976984092761900570210391552422031770913231796776891917737432546961803 106974051481932209422468134273530463525554899664863099970710048772004334264540444690726772893265454332868534142697914906417142543095620649138671863330850299458362886663416520614456850576774900930907074695479836484424550954346766967570656677787119356838309142544633848479496363034327694218812028907921410492155044934755933969360706565752342238784074951327631482048573912126524364294915249922711277047074228994687739934767139960772130705128628296648746187027457716074747855760210289985927722395464311247738694715862207178020484410680221890677253369358480414561064261965769057849067201719232713857416388891777604432403117200376068395454475219484475444147271400279426726429094103307931967908489495279801397768246835385584494187701968492688978377089077567572635341311291404636408870295546584826354656663471574183071114340896137508062058611870869138957888020240896944748680346809348871826741145490117310984802668435595495678068347493370350674162047049941360321525646875585126770902860624525665652391942252438738227053425322882802177266238595400978749879787862958510128755709007345735985388291235036779824870403757115201797234448078390413973872672081832039875255623583090701808531151102136758896582533969325242039337304870084658948314809868039193417922571420365422446393026908176495850991948927119852449225955930339369593905085697337757246626581342502710302209254189496605823580605280961912726552943594677594167348847284390516101795355830944348805075901559937777346365239162134790102858226303578549523160444054423880037836674763588625932183804716875548558175548042466244575766942638909066531861475948293169419264618095187296416774899264241843734465292804589075528249730730186430867934866078167625333038263428319029851589420264147214169028428296824735318446636360342164631078382730226986616864886294299963132021805168545784924308192060959791354298627686877291806559193892759486613512608232046335541501530598766387737540381043985200484104638162818733572408324187989744849703336603398904250827960279667151668185713906259082180561961756396259919896501389830519158784548627896905462555989205686480130001476927017142052292360931036119724317165158524277109857568008362603606859741253870299322484811978913497521569280451016722669201746525070128515147543222611055307787646220381069536136974675926648372352373776591366623643241187944288218347892279969496685246337324374641096655981252994925351386409807391513942812725255282468942610438058610585774545694954607613636999031219590227033889938536737017806826561380853010680233144168125078578915847181862754331633769604105041002970749337210788362044892239897461132731826617479990062210951169837696474742307685966439041429146338027150705376451023903179199124279606314472673520339978581518806689611514102465948840608513106622006070754584527833686217135224239178932254626633956636440816511697362763847857140745646984252006303085787859801330464005362713213567751964197456990437086503197603034486987702545605389322657897523439763196871409442804151988283915882544249188812261748381816477861856134714368302053230261861067483417576526309668015189132250562656989990171157869098614839933624614013246788252730254330446171486229911205736253487719589560140280896886603137513057036454423015309461703190578554635006975161650085146898584313132648271585510820686078905121804662259097939240858159086769510410663004990333869898644628277862159975004835445980404697937284847304724765851130306883929298264881516367890498501969170534751555606243629596140693522469065235473713575943644305599821951460448765382703032483488845878259847843880600473737187960909751220804150986851049813322490960712345427106551853192623818817799072269132297346190040373036418118223635307316963127413764609893415028789991567851569548898833424078403467841314626741046199 173087651212047372855360503584641197830771719501783275362071637585717295070383160696655075605854552912163692243618671806976767414228985306570341581196069832590261306204355517672450132261642064069774560108837812802797451793784991639000536216004281803911269758674856968332197633543344336766591757482064974545220856594373459120089163023063648691473960837782225904267635898075309566064228830585913796608909322930819589472178129374096046905746751759479018431081974357096653096306557502652336749710846979799848018286807621459836536903450250827154677023185851168715506488776657610574312109012208888293221633796879811761182523517128232221770107720237005022208535945452032499978895357908416311312532756078472809685781534299520305033578447055802287168490068680617650292177023794736132798211473468771214729207301108399536521000565411485971857970848688761179135511211628806944249867383613293165739688130526338627056671201115904575702949079640914321907581024980805128663665723842157363471671125820026121040828815147048396312042154225956863063917536965918600694003752568859780557830644178482058555039252557724889982980726113023220949799563453450133389316403098047030517661000030204264258148868644209808838755973445750233554048099100114378591692840093494215439669972793593300678732329391660257555277883386883753993900087123579909118463695544634154208599625998206804320197077196347569370405910179846262433727934423359813029722355174698220710537715804982776976540336862590525121843125909679896977582750524873865957398828142006714305308885586497341774771485726156083988527164609634648241163346549492220344283450065487297215831972235630289647799000445894614283168532434246038539097910228493241718928461362297162258567795856934227448635329428075098329970626665351670325307987807948095136878001781291303731857452371407350509859226520475666845018512884162580597417026159701278984926491030620130813712903425703027100537012697323886004797746640016528639264205370845051698712271830116697998987234371479940561997573087791361890305205773838218613755873702864350557621509925576919710960067109905584294906154940137138961272693682268689069166684587305060583516170541673540085070647973159701422454016514715916156263308582753804031648096060209644379688021406551015628585886973046509901972938813205411305816727375250237421794695837352071515041773928871371978487071737474254667364994056381520834530025722351220692741819439801047159869729665315075797814606877979343281448310060489786351113536651378795063616231852400226472225674915038879264104383090131787738245027021896805700405371159103913700378845071810402293810954797885896982896179454797814268689364127719952226336223571613215967927770770288703573561661332446205728564328386720966523242960653558909350725821492762088925959619553374738097405538695050866000549290848215035535136957782714055669113846157416067822701113536597578647585572510104461445495244517464427118990123477320937296844701365749894121535245541770186479164274786971038345148650934037425073521807861020137644493727736920700478115146588398855866676973773725646733976003182407387622409733038483674714887802716045798006362257944331657283268417233523908629042851232850149528691965679758794665752808335928039467593575980716277137328770999054041490340221018520690106230567866649312034051457105900772518381760446732689774364888075138724189939025496629195831407691792436516117911377925694754925733304088069876976871811185420329248620067508073894568775939268931560004266210206676121329192876827958535778851711412431236684209778501116642050971682977813696681549884288586181725993798465543282973344372002137378831401148540222725116035325876580829375123790735285623574004433188412586408264244004602948793666040741593986176929360201959403991580669746655875180359759052059288008002 280061702693979582277828637858171661356326619166646375332781686357721629334923605387381848499120007245032226386316586713393909957324605955709013444526920132048624192867772038286906982838416965000681634804317649287222002748131758606571192893791401160749578901219490816811693996577672030985403786389986385037375901529129393089449869588815990930258035789109857386316209810201833930359144080508625073655983551925507329406945269334868177610875380056127764618109432073171400952066767792638264472106311291047586713002669828637857021314130472717831930392544331583276570750742426668423379310731441602150638022688657416193585640717504300617224582939721480466355807345731459226407989461216348279221022251358274207454028369685104799221280415548491265545579146248190285633488315199372541668507020053597569385870772682582607635341461548994033916582719557900137023531452525751692930214192962164992480833620643649611859339636711400253771296573011264996069628074922165450189312599427284134374531750345691773432771067585786623365467477108759040330156132366897350573791615527369909313539651524218043943330487594504714853384483228225018184247641843864107261988484930086905773284583120906072789299970780968705421289942770992272891352969184773326906502708132687633362241393159015747071759237568156108547226810506736203219856017462949503023549392882391400835180968500917106529451266692953392951011191141758988986671529100953980378569639565214322505893546749331582052441896800367871487082288044469999835809054103423389117842882565886752141983649175123273958576202601704642164075207075879224008105985458558752205759398358656716480450067422926706422698264687738348748461337023321566788828640414924109653794539529922495296831224175964079038055593575289267358398923490086988771944348150112726215260732008277920596743746671370482531664395066260591153210573843953934896044713036993085544120383790106744326321135472038568602067611463711623545178790625217012743902368189578624107036459819861547702323837770384191389957852754943030076019112032920399175717630099124270454122899756096078495508695006811046850895360626617268962749620699410741361527615623424784900681329065950649942638656335763308282195270385015238641075287496251325600928547076932313581434546476679530776129109584101817689619159194274947442791403301898609774168472428718695158282961873159590326379351706970939913702318431022617490511278717276572079151626831314989972594984947784018408252665488565117827143264668103423350144756241605828953554768589418033298787055768049559497248551215210366654092208884651137334174975264144916671128182282598764338703194695347029714722796934787876479640533965416426968643909538052257397074108797439408950012685235625404852843934701193640043582939235077716040337335595228037766568132659996744168160123222884552217684515087393967789763591739350496485625543520179915679841859183581830653888658297964262775959249880177640686742087674777927733931204563352928608522948087375575801822172310410801542020060376841577061805723743564386833305989485302516955977002723113224168730204035586714217393579708717055637598865289046331704877973873914896621202191568945670530056669963778239075214337462761355264945453399348354806033705222531176980650612435139292446790474189632596125347196180170775253129152179781960305636967926586851423503565108991787713605746234225493700349688501619529701306336420714378277886382761140735330431241372917181701637662315727213177918332389590262459274441238102094755821816450305717469886399297023771252565287356075542284031729961565407433674715461302542559809732132466782199730986426453034194148522988988428644723639500935070543141877729773453193941589807554755871350623228785622826382467639910265756793454506203879591958150193527255561129568580079953583827600366686029054201 453149353906026955133189141442812859187098338668429650694853323943438924405306766084036924104974560157195918629935258520370677371553591262279355025722989964638885499072127555959357115100059029070456194913155462090019454541916750245571729109795682964660848659894347785143891630121016367751995543872051359582596758123502852209539032611879639621731996626892083290583845708277143496423372911094538870264892874856326918879123398708964224516622131815606783049191406430268054048373325295290601221817158270847434731289477450097693558217580723544986607415730182751992077239519084278997691419743650490443859656485537227954768164234632532838994690659958485488564343291183491726386884819124764590533555007436747017139809903984625104254858862604293552714069214928807935925665338994108674466718493522368784115078073790982144156342026960480005774553568246661316159042664154558637180081576575458158220521751169988238916010837827304829474245652652179317977209099902970578852978323269441497846202876165717894473599882732835019677509631334715903394073669332815951267795368096229689871370295702700102498369740152229604836365209341248239134047205297314240651304888028133936290945583151110337047448839425178514260045916216742506445401068284887705498195548226181848801911365952609047750491566959816366102504693893619957213756104586529412142013088427025555043780594499123910849648343889300962321417101321605251420399463524313793408291994739912543216431262554314359028982233662958396608925413954149896813391804628297255075241710707893466447292534761620615733347688327860726152602371685513872249269332008050972550042848424144013696282039658556996070497265133632963031629869457567605327926550643417351372723000892219657555399020032898306486690923003364365688369550155438659097252335958060821352138733789569224328601199042777833041523621586736257998229086728116515493461739196694364529046874820726875140034038897741595702604624161035509549976537265233541383166573560423675805748731649978245701311072141864131951955425842734391966324317806758617789473503801988621011744409681672998206468762116716631145801515566754407924022314381679430430694300210729845484197499607624190027709304308923009704649286899731154797338596079005129632576643137141957961122567883230546404714996557148327591592098007480358748608130677148847195963168266070766673324735802030962304866423444445194581067312487404138325041304439627792771893446271116037132464714613099094206067272366544461108591574728593209701258292892984624017171000441818259771012730683088438761352934305342154392337235906547943034580346423248830371507027354409166632514149493232926697618976389585690748329898093136379194980133109665473365001879567728112523574346568071610581408263087914606566825899888636625391063157087990126692527752213371482265565661917935418218233805935609003324900549522064552154739389677595983502542972720179409301474230808068724221454494397642067805732211152098865030775905929102822730058193629145762280986447097381839887168711310879002135327531604584524477799717222223217434092149311512080035407177809312360951369582891124443260008598327530006419765776589960694627564449513277327813325087197302147704257188695611504793637419079107149471786513558459216448244188415855569584119245188686637615687417198691465359359720046431272339688425032487623941885325555724477487970634309364217890288713998248725532714028213150894395797760686835490256164545460987058678509473501147542426538399897664157028050380507033654760088026656981838799079276124982307031416998768506778968241508462682049484646398439116239241359616421052963925724784891996317167492894991125807476124788041157795659177203606354282569065380542840379445355056417198209234646711644513214550459495247797865768887510395486659552710238326735828764187359418745317062203 733211056600006537411017779300984520543424957835076026027635010301160553740230371471418772604094567402228145016251845233764587328878197217988368470249910096687509691939899594246264097938475994071137829717473111377241457290048508852142922003587084125410427561113838601955585626698688398737399330262037744619972659652632245298988902200695630551990032416001940676900055518478977426782516991603163943920876426781834248286068668043832402127497511871734547667300838503439455000440093087928865693923469561895021444292147278735550579531711196262818537808274514335268647990261510947421070730475092092594497679174194644148353804952136833456219273599679965954920150636914950952794874280341112869754577258795021224593838273669729903476139278152784818259648361176998221559153654193481216135225513575966353500948846473564751791683488509474039691136287804561453182574116680310330110295769537623150701355371813637850775350474538705083245542225663444314046837174825136029042290922696725632220734626511409667906370950318621643042977108443474943724229801699713301841586983623599599184909947226918146441700227746734319689749692569473257318294847141178347913293372958220842064230166272016409836748810206147219681335858987734779336754037469661032404698256358869482164152759111624794822250804527972474649731504400356160433612122049478915165562481309416955878961563000041017379099610582254355272428292463364240407070992625267773786861634305126865722324809303645941081424130463326268096007701998619896649200858731720644193084593273780218589276183936743889691923890929565368316677578761393096257375317466609724755802246782800730176732107081483702493195529821371311780091206480889172116755191058341461026517540422142152852230244208862385524746516578653633046768473645525647869196684108173547567399465797847144925344945714148315573188016652996849151439660572070450389506452233687450073167258610833619466355174369780164304672235624747133095155327890450554127068941750002299912785191469839793403634909912248323341913278597677422042343429839679016965191133901112891465867309437769076701977457123527677996696876193371676886771935081090171792221915834154630384878828673574839970347960644686317986844557284746393438413883575256455233505190214074271542557114359910077180844106141250145281211257201755306191399533979047456970131640694789461831607697675190552631245775151416134494769630918426755815552583156904364851045073102431027105059699560883112614319937855109578935734839396696633051403049134590452970725769031236293069799786451137998258601485520552521046429444791199080368755321687393747042635209637007930971217344188579956412341773324373567227970432058552806163624042647717730762075988365167521473587031803697015434252197789108246610408839123714341431400492683218164459095884873368226433725785140819970435918321023002971114664141261415048640364933197775899182384831903761239955362889106032986997413744277819708492474298826876792764707110492455751338581141716521338082808619407792641429188771687720579197133255348148911311105706707525734390069152034625304204137381844899075168763162599841498897607463616576338124643750463875591248766641082222998343381757161080386779471526158372860058582872478455504277820218780990393428894800850994862030909719378319233741034613378862240612488872226213232645325392959074475365388890664716265201576380543589711590638402499868255234020364633865272673684143447976225586595786833904240380147135816874755604456732287254419487324821745135749515909843107287556268965675422006078283982286124582321252273238424247456918321113900418781801169348553519746125455771318449351361641417980114236120848427542092866202319081336127735763006970350395135316705679645983832061029179284423480307252949754001745360845660589013915113839806906815782348014959785431346116404 1186360410506033492544206920743797379730523296503505676722488334244599478145537137555455696709069127559424063646187103754135264700431788480267723495972900061326395191012027150205621213038535023141594024630628573467260911831965259097714651113382767090071276221008186387099477256819704766489394874134089104202569417776135097508527934812575270173722029042894023967483901226756120923205889902697702814185769301638161167165192066752796626644119643687341330716492244933707509048813418383219466915740627832742456175581624728833244137749291919807805145224004697087260725229780595226418762150218742583038357335659731872103121969186769366295213964259638451443484493928098442679181759099465877460288132266231768241733648177654355007730998140757078370973717576105806157484818993187589890601944007098335137616026920264546895948025515469954045465689856051222769341616780834868967290377346113081308921877122983626089691361312366009912719787878315623632024046274728106607895269245966167130066937502677127562379970833051456662720486739778190847118303471032529253109382351719829289056280242929618248940069967898963924526114901910721496452342052438492588564598260986354778355175749423126746884197649631325733941381775204477285782155105754548737902893804585051330966064125064233842572742371487788840752236198293976117647368226636008327307575569736442510922742157499164928228747954471555317593845393784969491827470456149581567195153629045039408938756071857960300110406364126284664704933115952769793462592663360017899268326303981673685036568718698364505425271579257426094469279950446906968506644649474660697305845095206944743873014146740040698563692794955004274811721075938456777444681741701758812399240541314361810407629264241760692011437439582017998735138023800964306966449020066234368919538199587416369253946144756926148614711638239733107149668747300186965882968191430381814602214133431560494606389213267521760007276859785782642645131865155684095510235515310425975718533923119818039104945982054112455293868704440411814008667747646437634754664637703101512477611719119442074908446219240244309142498391760126084810794249462769602222916216044884475869076328281199029998057264953609327691493844184477548235752479654261584866081833351216229503679682243140623585559102698398472872803355209235664940007664656196304166094808960860228504932433477221514936112198595861329075836943405830894140593887596532157622938519373547064237524414173982206820387210221654040044326414125289842752661342027575076987896769473054552840812517134226437019954419825894675438766680697747023403335668110642577414142236991417097603731493681812883109960749713959257976300330151689185358604175757383204127077867932895633997161378371768626015660460877022853177234739012350966822463649771208291151623637086739708699291447058755388654152126958611974439564690783479600795104322875371882684927804623940649256837119914101711218868238675461776298206509978975657795483016421558574068639335345667100363795066505174481316357482998599581332460786952733435788905423929748951824161301346137384239544559654211436120132745490965942157616061944106344544409527053836285876331090595500326156706844358382534483728714853984364852220291557562653749606732339449609877138989266850431615028964567005871356722030577553705971848592272644504985013817991562099307274216220440742689547014852953929480927116498116980766734392847016167069481904134811715842760332294891299058656609318022298030995132184918576515375202252169404275997869764269395068044951546988385315399284893089100220514746886929506402967512339535021042528964974572710051180556210445668529134312971240043596973215583250661861496284942482018332072350893235514762060736063182041295675890928936694857712445001799611129733170984500574666550045233551611112202319204176663178607 1919571467106040029955224700044781900273948254338581702750123344545760031885767509026874469313163694961652208662438948987899852029309985698256091966222810158013904882951926744451885310977011017212731854348101684844502369122013767949857573116969851215481703782122024989055062883518393165226794204396126848822542077428767342807516837013270900725712061458895964644383956745235098349988406894300866758106645728419995415451260734796629028771617155559075878383793083437146964049253511471148332609664097394637477619873772007568794717281003116070623683032279211422529373220042106173839832880693834675632855014833926516251475774138906199751433237859318417398404644565013393631976633379806990330042709525026789466327486451324084911207137418909863189233365937282804379043972647381071106737169520674301491116975766738111647739709003979428085156826143855784222524190897515179297400673115650704459623232494797263940466711786904714995965330103979067946070883449553242636937560168662892762287672129188537230286341783370078305763463848221665790842533272732242554950969335343428888241190190156536395381770195645698244215864594480194753770636899579670936477891633944575620419405915695143156720946459837472953622717634192212065118909143224209770307592060943920813130216884175858637394993176015761315401967702694332278080980348685487242473138051045859466801703720499205945607847565053809672866273686248333732234541448774849340982015263350166274661080881161606241191830494589610932800940817951389690111793522091738543461410897255453903625844902635108395117195470186991462785957529208300064764019966941270422061647341989745474049746253821524401056888324776375586591812282419345949561436932760100273425758081736503963259859508450623077536183956160671631781906497446489954835645704174407916486937665385263514179291090471074464187899654892729956301108407872257416272474643664069264675381392042394114072744387637301924311949095410529775740287193046134649637304457060428275631319114589657832508580891966360778635781983038089236051011177486116651719855771604214403943479028557211151610423676363771987139195267953497761697566184543859774015138131879039106253955156954773869968405225598295645678338401469223941674166363229518040099587023565290501046236796603050700766403208839648618154014612410990971131407198635243761136226449655649690336540131152412067567357973747277463570606574324257649956146470753436522473983592475978091342584113734865319434707148076763618980061253521986475804064391162165529958622538504290845910612303585364435278555905346447196485196125488946103772090989798036324456777446628425028574948837870392839522302523038332825204270762210241991522228218405100934889153856298063155470748410175465641449912658666131099787643578136065308253864142454426455610719521960107935133017232199575359090070447981614945554228832044894649435469256073147781867312636527701889212200009020134698216281982953281484790680808805852450560190126914014325407220477062188438446603685912967122745546254686320160529594042300882347100011130637274686214230453380762688443681941499110511288895908090807441055223525560682682669053277517711877125097731677723324500088601519462921263200241012357224910803164036018158027426951120440003306033790117845293645938683945325105097756643956415946584337464498857737630339210950636574672663106885157007891123395396543641071565518997985236000754757480881439743166047582787941429356119128795539438803745134897053635451864472172996002700023997305153791907712871556951337010626968994463599381571017671421472787985311176963321288626239953802843698313528092456176636327528895019890775730951354279717821643125343528063815366278609754095079321243630650078766415709165873356705070213360175164965394755801356490578831573514489780389852140367393460217278989608009295011 3105931877612073522499431620788579280004471550842087379472611678790359510031304646582330166022232822521076272308626052742035116729741774178523815462195710219340300073963953894657506524015546040354325878978730258311763280953979027047572224230352618305552980003130211376154540140338097931716189078530215953025111495204902440316044771825846170899434090501789988611867857971991219273194296796998569572292415030058156582616452801549425655415736799246417209100285328370854473098066929854367799525404725227379933795455396736402038855030295035878428828256283908509790098449822701400258595030912577258671212350493658388354597743325675566046647202118956868841889138493111836311158392479272867790330841791258557708061134628978439918938135559666941560207083513388610536528791640568660997339113527772636628733002687002658543687734519449382130622515999907006991865807678350048264691050461763785768545109617780890030158073099270724908685117982294691578094929724281349244832829414629059892354609631865664792666312616421534968483950587999856637960836743764771808060351687063258177297470433086154644321840163544662168741979496390916250222978952018163525042489894930930398774581665118269903605144109468798687564099409396689350901064248978758508210485865528972144096281009240092479967735547503550156154203900988308395728348575321495569780713620782301977724445877998370873836595519525364990460119080033303224062011904924430908177168892395205683599836953019566541302236858715895597505873933904159483574386185451756442729737201237127588662413621333472900542467049444417557255237479655207033270664616415931119367492437196690217922760400561565099620581119731379861403533358357802727006118674461859085824998623050865773667488772692383769547621395742689630517044521247454261802094724240642285406475864972679883433237235228000612802611293132463063450777155172444382155442835094451079277595525473954608679133600904823684319225955196312418385419058201818745147539972370854251349853037709475871613526874020473233929650687478501050059678925132554286474520409307315916421090747676653226518869895604016296281693659713623846508360434006629376238054347923923582123031485235972899966462490551904973369832245653701489909918842883779624965668856916506730549916478846191324351962311538047091026817967620226636071414863291440065302321258616509918841472564629633582503470172343138792646443517730088544096740358349968680096922111849525155580108527908847526255094358298417659024387667647276318556725733189740606946519307977345398751424820719590872298510325172341871923962806186693127175426657908678901870919683619842126178680331552205722632263272752292083180571092361931176880832394162484139016231724230958789467909788547234267465573119543153952964878317148416275076327792225634746762343159046847643832308679258330747744222574940226919993793522828374250230573578948519664552240441151642538469037128934236409435150221628743261088887318784828108355673143335572899475859812407855538810398752418141604061903737684919741862054829253615782888916554567023638038391754726900072683226501153321947409028653581773383212839587504789027213462804571548163001428822273223650656795445877845455746928955866341589763023455593580811777033683459889613183172779384695725260967648512330976454478674533969652556186056771502242615353028942198673979937323105597750580670410249497570552492635496102216767489150327897606812647951717599657272116451423686838497460354452919351666446996657091572518075226249474558067905582635826346405055578515982848914780855910760521693302732198106469724256138579488823886227278502665166227816883739340688419910043922594323314794858708594189925311651221091772427151672136866164840827151772347914652380961142296870022677839757600967620312002558015064446939897373919004572419598193784672473618 5025503344718113552454656320833361180278419805180669082222735023336119541917072155609204635335396517482728480971065001729934968759051759876779907428418520377354204956915880639109391834992557057567057733326831943156265650075992794997429797347322469521034683785252236365209603023856491096942983282926342801847653572633669783123561608839117071625146151960685953256251814717226317623182703691299436330399060758478151998067713536346054684187353954805493087484078411808001437147320441325516132135068822622017411415329168743970833572311298151949052511288563119932319471669864807574098427911606411934304067365327584904606073517464581765798080439978275286240293783058125229943135025859079858120373551316285347174388621080302524830145272978576804749440449450671414915572764287949732104076283048446938119849978453740770191427443523428810215779342143762791214389998575865227562091723577414490228168342112578153970624784886175439904650448086273759524165813173834591881770389583291952654642281761054202022952654399791613274247414436221522428803370016497014363011321022406687065538660623242691039703610359190360412957844090871111003993615851597834461520381528875506019193987580813413060326090569306271641186817043588901416019973392202968278518077926472892957226497893415951117362728723519311471556171603682640673809328924006982812253851671828161444526149598497576819444443084579174663326392766281636956296553353699280249159184155745371958260917834181172782494067353305506530306814751855549173686179707543494986191148098492581492288258523968581295659662519631409020041195008863507098034684583357201541429139779186435691972506654383089500677469444507755447995345640777148676567555607221959359250756704787369736927348281143006847083805351903361262298951018693944216637740428415050201893413530357943397612528325699075076990510948025193019751885563044701798427917478758520343952976917516348722751877988542125608631175050606842194125706251247953394784844429431282526981172152299133704122107765986834012565432670516590286110690102618670938194376180911530320364569776233864378129293571967788283420888927667121608205926618550489150253192479802962688376986642190746769934867716150200619048170647122925431584085206113297665065255880481797231596153275449242025118365520377695709180832580031217607202822061926683826438547708272159609178012695782045650070828146090416256217050092054346194052886829103405202570905704325503246922692641643712845689801506375181278004448921169262794360790124351906136905141846481636244662037124304955307577066230518789068409158931675639230947517647706715226327697130248267154753629169422598562154565795790624908384841854572173168403060612567585073905385580529021944938658198722699908915485778209285052752521895284481583330191934680061202373062681006955578965325911457906106834293022921841865548022354873268899666042835021667446419553077679344427681237137954371107651432204582024745879568127590680558915863270249587224883080289470043977257002438331108726807449992371239902391648871554498129988927685204298324252622208107662761126908442652432458697924561672580824268063113065471709882516082089260040126526553950946975156884047397308377010129196878698814673826619629598969804460634580329616489206569502541018906906332457656081552235318490385599140523521270359980245692239892835248652600429990754758471793805646041211624058154494087452768243907808779046555813999300387598701472570552482377936264099587816405301898861129264568520775250246779711859813295507383297742066205484977312514162426928431943166090717509283433045544764819442626729925592030757622404453211268235708310685774873948603032616501833937717989127017499701526522230993380496814919593567481513788009086031355657045187643234513402324110890834131529554227329749514286398032636877183392681768629 8131435222330187074954087941621940460282891356022756461695346702126479051948376802191534801357629340003804753279691054471970085488793534055303722890614230596694505030879834533766898359008103097921383612305562201468028931029971822045002021577675087826587663788382447741364143164194589028659172361456558754872765067838572223439606380664963242524580242462475941868119672689217536896377000488298005902691475788536308580684166337895480339603090754051910296584363740178855910245387371179883931660473547849397345210784565480372872427341593187827481339544847028442109570119687508974357022942518989192975279715821243292960671260790257331844727642097232155082182921551237066254293418338352725910704393107543904882449755709280964749083408538243746309647532964060025452101555928518393101415396576219574748582981140743428735115178042878192346401858143669798206255806254215275826782774039178275996713451730359044000782857985446164813335566068568451102260742898115941126603218997921012546996891392919866815618967016213148242731365024221379066764206760261786171071672709469945242836131056328845684025450522735022581699823587262027254216594803615997986562871423806436417968569245931682963931234678775070328750916452985590766921037641181726786728563792001865101322778902656043597330464271022861627710375504670949069537677499328478382034565292610463422250595476495947693281038604104539653786511846314940180358565258623711157336353048140577641860754787200739323796304212021402127812688685759708657260565892995251428920885299729709080950672145302054196202129569075826577296432488518714131305349199773132660796632216383125909895267054944654600298050564239135309398878999134951403573674281683818445075755327838235510594837053835390616631426747646050892815995539941398478439835152655692487299889395330623281045765560927075689793122241157656083202662718217146180583360313852971423230572442990303331431011589446949292950401005803154612511125309449772139932384401802136778331025190008609575735634640007307246495083357995091336170369027751225224668896590218846236785660523910517604648163467571804579702582587380745454714287052557118526491246827726886270500018127426719669901330206702105592418002892776626921494004048997077290030924737398303962146069754295433349470327831915742800207650547651444243274236925218123891740868966888669528019485260411679232574298318433555048863493609784434738149627187453373882667827816175028402502801169552560371944895864673598937028836588816539112917515857541646743851661154458981643413461945024546179875576555691130940333121737862332358122944305615394128198616813868109280932309500974804284786829068542916991565412946934104345283893006730069212921617304759980734406567987269934176381058897752439005717400212432897858406519726905695949135405840053803222797634590716236854578515597862068785541815877701643149896616413970187110971793518830986966150274266888607517086582426210768006968455446375508667271536413585160124358940101877899516067401190749250330869353730056159644253703700808113912877844239771321962291013962834562833810134943805754406106953215254354207480902700570260737095978886660808203127955376224170625813679493275153832757058152745040404436850075223179781581494318040219229672379348887236744167873980969987058006713993024355251696709578041862222861045268835033922632537753096352509052464215895538782176550789990189669535733058136676653368461951017987255973589021976169216433724454040735756968345857786356141038850476496254269927718878143209644147121784000960161428943282839192464859393449707389902769800903398931450616152870533422788632270095007576396730595818796542926347411360542531907914438668720793298949382665517362979760420719253861702661466992497953915210321074271003291731202836689544618674269646888205402605056475377177354242247 13156938567048300627408744262455301640561311161203425543918081725462598593865448957800739436693025857486533234250756056201905054247845293932083630319032750974048709987795715172876290194000660155488441345632394144624294581105964617042431818924997557347622347573634684106573746188051080125602155644382901556720418640472242006563167989504080314149726394423161895124371487406443854519559704179597442233090536547014460578751879874241535023790444708857403384068442151986857347392707812505400063795542370471414756626113734224343705999652891339776533850833410148374429041789552316548455450854125401127279347081148828197566744778254839097642808082075507441322476704609362296197428444197432584031077944423829252056838376789583489579228681516820551059087982414731440367674320216468125205491679624666512868432959594484198926542621566307002562181200287432589420645804830080503388874497616592766224881793842937197971407642871621604717986014154842210626426556071950533008373608581212965201639173153974068838571621416004761516978779460442901495567576776758800534082993731876632308374791679571536723729060881925382994657667678133138258210210655213832448083252952681942437162556826745096024257325248081341969937733496574492182941011033384695065246641718474758058549276796071994714693192994542173099266547108353589743347006423335461194288416964438624866776745074993524512725481688683714317112904612596577136655118612322991406495537203885949600121672621381912106290371565326908658119503437615257830946745600538746415112033398222290573238930669270635491861792088707235597337627497382221229340033783130334202225771995569561601867773709327744100975520008746890757394224639912100080141229888905777804326512032625605247522185334978397463715232099549412155114946558635342695077575581070742689193302925688566678658293886626150766783633189182849102954548281261847979011277792611491767183549360506652054182889577989074901581576056409996806636831560697725534717228831233419305312197342307743279857742405994141259060516028511681622281059130369896162863272771130376557150230300144381982777457039539592863123471515047867062920213671107607676744439307529848958877004769617466439836197922852306211466173539899552353078089255110374955096180617880101193742223029744675374588693352293438509388483127682661850477058987144807718179416675160829137197497956193724882645126464523971305080543701838780932202514016556779085238733520500531649425493811196273217634697371048780215033285509985801907278305981893552880756803000940617888075499069329501487452642786209920008742280669537971589070461953322109354526313944116376435685938670397402846941394864333541899950254801506277513686953619297654286827002885289002679345226185992634085296544675961724058469922107717379441736711661585757151508468521060758801762960502174142961412808620783910651089838232574912049562659248991854557391346596510331393831511404842978624738014630792792752848023573966189226187399683834747349242020391347943493324403629080359057676803722427399546645352572362612042866771924975620286543636170942225594937043386458186864804877776926935031748965813635732446978494968750068243254481930175117600970563540672462209767187349623739219110676694852778751385954952620548846161585918389777763074780313427643139558949311514740850837233099312222203106737508727869171285138183087107267524258021541579993800608944484277122303976965945455699924275950318374854675061592528651594369988553628552162270244718915620709559625726743033981787532173650592941889187989485937473943105709767624408025484167216673335815345668218374077346078462564180411036723306275812105041281593670491529380027862376469625903565686220494825471613658897859794680014286735375490670553023853610960397964308784405615842093670821074172901599396402491800637693352560570036010876 21288373789378487702362832204077242100844202517226182005613428427589077645813825759992274238050655197490337987530447110673875139736638827987387353209646981570743215018675549706643188553008763253409824957937956346092323512135936439087433840502672645174210011362017131847937889352245669154261328005839460311593183708310814230002774370169043556674306636885637836992491160095661391415936704667895448135782012335550769159436046212137015363393535462909313680652805892165713257638095183685283995456015918320812101836898299704716578426994484527604015190378257176816538611909239825522812473796644390320254626796970071490527416039045096429487535724172739596404659626160599362451721862535785309941782337531373156939288132498864454328312090055064297368735515378791465819775876144986518306907076200886087617015940735227627661657799609185194908583058431102387626901611084295779215657271655771042221595245573296241972190500857067769531321580223410661728687298970066474134976827579133977748636064546893935654190588432217909759710144484664280562331783537020586705154666441346577551210922735900382407754511404660405576357491265395165512426805458829830434646124376488378855131126072676778988188559926856412298688649949560082949862048674566421851975205510476623159872055698728038312023657265565034726976922613024538812884683922663939576322982257049088289027340551489472206006520292788253970899416458911517317013683870946702563831890252026527241982427408582651430086675777348310785932192123374966488207311493533997844032918697951999654189602814572689688063921657783062174634059985900935360645382982903466863022404211952687511763040764272398701273570572986026066793103639047051483714904170589596249402267360463840758117022388813788080346658847195463047930942098576741173517410733726435176493192321019189959704059447553226456576755430340505186157210999478994159594638106464463190414121803496955385613901167436024194531977062213151419147956870147497674649613233035556083643222532316352855593377046001448505555599386506772958451428158121121387532169361349222793935890824054899587425620507111397442826054102428612517634500723664726203235686135256735229377022897044186109737528129554411803884176432676179274572093304107452245127105355278405155888292784040108724059021184209181309596133675334106093751295912362931609920285642049498665216983216605404115219424782957526353944037311623215670352141204010152967906561336675560051928294980748833589579593235722379152062122098802341020195821839435199624608464155399599531488961014354047667328219341901050949075402407400303947193406258937503482724930757984485716618248171372207131728223932876458891515667748440381858970846626027723499748620190048983413751794173262568261677603573714163064187322320150277300143231388491453100643874361114562024560595092890379815991324218645979436631654110276555199459275662962041668363140115341318359981785671731586141824597057003560759816479020341697893458936097419907473600960493225843009391804819829609388546157452483559190899056273170725955744616164746942248834650133776788428747178330263941270911830992181289239229868514205993184074473855410876446382437306399288226784243033947616042524245502368779623547526770075958532967449270660768075833965267277014507242654294397630197565663304539096102533942677354084425967782777562903093917675936183459776576722237437118775977159734474466791839710024082132353292737901336362110648650614504820810803713007669287919238590576701976850598476203239288251715251051793802586036309773486897635372048992606816872884877616924063238585146571617305527962231333097603199668993401283388501771877412467034455727439222919001533818004354941288124420996324415222774440435005989237193332020016351564875608285383055408907573296507510618791575869043290697203242749827937747390253123 34445312356426788329771576466532543741405513678429607549531510153051676239679274717793013674743681054976871221781203166875780193984484121919470983528679732544791925006471264879519478747009423408898266303570350490716618093241901056129865659427670202521832358935651815954511635540296749279863483650222361868313602348783056236565942359673123870824033031308799732116862647502105245935496408847492890368872548882565229738187926086378550387183980171766717064721248044152570605030802996190684059251558288792226858463012033929060284426647375867380549041211667325190967653698792142071267924650769791447533973878118899688094160817299935527130343806248247037727136330769961658649150306733217893972860281955202408996126509288447943907540771571884848427823497793522906187450196361454643512398755825552600485448900329711826588200421175492197470764258718534977047547415914376282604531769272363808446477039416233439943598143728689374249307594378252872355113855042017007143350436160346942950275237700868004492762209848222671276688923945107182057899360313779387239237660173223209859585714415471919131483572286585788571015158943528303770637016114043662882729377329170321292293682899421875012445885174937754268626383446134575132803059707951116917221847228951381218421332494800033026716850260107207826243469721378128556231690345999400770611399221487713155804085626482996718732001981471968288012321071508094453668802483269693970327427455912476842104100029964563536377047342675219444051695560990224319154057094072744259144952096174290227428533483843325179925713746490297771971687483283156589985416766033801065248176207522249113630814473600142802249090581732916824187328278959151563856134059495374053728779393089446005639207723792185544061890946744875203045888657212083868594986314797177865686495246707756638362353334179377223360388619523354289111759280740842138605915899075954957597671164003607439796790745425099096113553118623148225784788430845223209366842064268975388955419874624096135451119451995589764616115415018454580732487288491017550395442132479599351086121124199281570203077546650990305949525617476479580554714394772333879980125442786584188254027666661652549573726052406718015350349972575731627650182559217827200223285973158506349630515813784784098647714536502619818984616803016767944228354899507739328099702317210327802414481172799128997864551247481497659024581013461996602554655220566932053145294857176091701353788791945106807214290606771159367095407608788142927474127821328752505365267156340217419564460083683549154780862128110970957817683076938275536263868212259612837251244702100862152304186841769609978669618797210000791465922549946659372657800245325377786575623075337986093097020359255202346974148249675887122657244427867656741879943050077210252152342882175320826323555595064522777404132839429890087721492342851467249021934911953896225754486711851649753813297076574564766562611687796353512664502594307887119646335781254654822842980884573786502716208448909968446222961174910958737544408845533337998611388089722562535378286304719014023684221716722128135716708769108224270978834327841725631052968824160944689636919236574405827754806574620078252291432851992518842658203464928737284353404223281316921995551185666792270317434607825273337124612616053836953371175776666306629074520286290772265202814119270567044100980258978698769777768678958743914143686990027588053217013851654736965323712207033472405173701561297840081508835295617597560158101929982322233502783225444395527925497762972835109315154702374441280910361784140736574400492239835679605308309795661783610705716707559200606813159006137525985107467085295471159721570041161782949892609983313082569120449292724612684002573040205175836006249691839814523415390178331692964477468439693189003880443180498317426263999 55733686145805276032134408670609785842249716195655789555144938580640753885493100477785287912794336252467209209311650277549655333721122949906858336738326714115535140025146814586162667300018186662308091261508306836808941605377837495217299499930342847696042370297668947802449524892542418434124811656061822179906786057093870466568716729842167427498339668194437569109353807597766637351433113515388338504654561218115998897623972298515565750577515634676030745374053936318283862668898179875968054707574207113038960299910333633776862853641860394984564231589924502007506265608031967594080398447414181767788600675088971178621576856345031956617879530420986634131795956930561021100872169269003203914642619486575565935414641787312398235852861626949145796559013172314372007226072506441161819305832026438688102464841064939454249858220784677392379347317149637364674449026998672061820189040928134850668072284989529681915788644585757143780629174601663534083801154012083481278327263739480920698911302247761940146952798280440581036399068429771462620231143850799973944392326614569787410796637151372301539238083691246194147372650208923469283063821572873493317375501705658700147424808972098654000634445101794166567315033395694658082665108382517538769197052739428004378293388193528071338740507525672242553220392334402667369116374268663340346934381478536801444831426177972468924738522274260222258911737530419611770682486354216396534159317707939004084086527438547214966463723120023530229983887684365190807361368587606742103177870794126289881618136298416014867989635404273359946605747469184091950630799748937267928270580419474936625393855237872541503522661154718942890980431918006203047571038230084970303131046753553286763756230112605973624408549793940338250976830755788825042112397048523613042179687567726946598066412781732603679937144049863859475268970280219836298200554005540418148011792967500562825410691912861123290645530180836299644932745300992720884016455297304531472598642406940448991044496497997038270171714801525227539183915446612138937927611493828822145022011948254181157628698053762387748775579719905092098189215118437060083215811578043319417631050563705838659311254181961129819234526405251910902222275863325279445350391328436911505518808597824892822706735720711801128580750478350874037979650811870670938019987959259826467631464389404533113083976030439024012968618325085212272906796424577085021051856193851651753282083772693940396793883842493538519157529707590483947669949660763952129973731311739816951053421098037596822109081470012021906893085484338579483457274471197116319976175460085347868922435013141817110397842730086459682981590298387041231628646871353101286324243265386969506848814532517770608651751823390050186844566748017934042023174438568663352796217243289882850884150687954902593395457058075869524353146453128022448481210574915937894117626827192968113795082748306150908387208744799914272480981614649585013105271878674562296443941377799629512108013268739577834769118627394517928443465118704063954356004254469504784212936438495802452431400046986069406628539761289513510208702842047718815127442679571821136019356542973694054539049608567694294815678354361298466205730235004695817320853493942084997829516452943806777560088902222903534690275920592933055905118454020391055042303063853675359120490055454026820677702496415817545754928413433210705983397014109720406509751752991099075972362821538293215977414568967128000747425872319574410756578133221610485218034277238198113961807536459732744687203694981258153795239401064799812985638811452985133270541128759386810374710108842589108585036418604560440834906308214472693539574396103071074313606307728305343560884298713849877334593056556740711614535074895223430988686685842311756053337482983886207123193008436064816517122 90178998502232064361905985137142329583655229874085397104676448733692430125172375195578301587538017307444080431092853444425435527705607071826329320267006446660327065031618079465682146047027610071206357565078657327525559698619738551347165159358013050217874729233320763756961160432839167713988295306284184048220388405876926703134659089515291298322372699503237301226216455099871883286929522362881228873527110100681228635811898384894116137761495806442747810095301980470854467699701176066652113959132495905265818762922367562837147280289236262365113272801591827198473919306824109665348323098183973215322574553207870866715737673644967483748223336669233671858932287700522679750022476002221097887502901441777974931541151075760342143393633198833994224382510965837278194676268867895805331704587851991288587913741394651280838058641960169589850111575868172341721996442913048344424720810200498659114549324405763121859386788314446518029936768979916406438915009054100488421677699899827863649186539948629944639715008128663252313087992374878644678130504164579361183629986787792997270382351566844220670721655977831982718387809152451773053700837686917156200104879034829021439718491871520529013080330276731920835941416841829233215468168090468655686418899968379385596714720688328104365457357785779450379463862055780795925348064614662741117545780700024514600635511804455465643470524255732190546924058601927706224351288837486090504486745163851480926190627468511778502840770462698749674035583245355415126515425681679486362322822890300580109046669782259340047915349150763657718577434952467248540616216514971068993518756626997185739024669711472684305771751736451859715167760196965354611427172289580344356859826146642732769395437836398159168470440740685213454022719413000908910707383363320790907866182814434703236428766115911980903297532669387213764380729560960678436806469904616373105609464131504170265207482658286222386759083299459447870717533731837944093383297361573506861554062281564545126495615949992628034787830216543682119916402735103156488323053626308421496108133072453462727831775600413378054725105337381571678743929513209393963195937020829903605885078230367491208884980234367847834584876377827642529872458422543106645573677301595417855149324411609676921354450257214420947565367281367641982208005711378410266119690276470154270045945562203662110948527277920521671993199338547208875461451645144017074197151051027743454635872564639047204008174449264697886252937316378626875144077482092704635338998468080034370617881181721145976889943598122992864710768561276855019721142683456729157227420162186210021226621854911427089067461527296460474447512848333700604286447116678479072899866340724955599945834891772972955625900073065937309501811175885590783903117488645873604948560125465203677207706283019425370799589897505759612074638795979489697503145486869834119872113539044617867608379824880715674949820432596267785145484208957472132751607659929217119286922262373416014824221717649546280992079802305476665987873964237401952967392344192067319591222743214816476115621763708197542345248530397737781187537169889444446180411503732765825656275779548099882293856183187772547107111206353817308863933699933433101674257717223401919825067638610599047877523510048176871814888536646770009276294230686697684116823350144447624323304174724593864778682755394516315532697092391954620127084004137308459726765604645836041296075028571765621151116130264968082256261167937171970914680063203932718720817502682593641887305299432567854002358397355699434705601185205536387386131051288664738578850924421170421080426816401789715398195424742086425942373393509943853261144437264854024206216291041387912681333591438462561337166096761916547620784766735037954404076864174004720530805922677075211003636188934382242781121 145912684648037340394040393807752115425904946069741186659821387314333184010665475673363589500332353559911289640404503721975090861426730021733187657005333160775862205056764894051844813347045796733514448826586964164334501303997576046564464659288355897913917099530989711559410685325381586148113106962346006228127174462970797169703375819357458725820712367697674870335570262697638520638362635878269567378181671318797227533435870683409681888339011441118778555469355916789138330368599355942620168666706703018304779062832701196614010133931096657349677504391516329205980184914856077259428721545598154983111175228296842045337314529989999440366102867090220305990728244631083700850894645271224301802145520928353540866955792863072740379246494825783140020941524138151650201902341374336967151010419878429976690378582459590735087916862744846982229458893017809706396445469911720406244909851128633509782621609395292803775175432900203661810565943581579940522716163066183969700004963639308784348097842196391884786667806409103833349487060804650107298361648015379335128022313402362784681178988718216522209959739669078176865760459361375242336764659259790649517480380740487721587143300843619183013714775378526087403256450237523891298133276472986194455615952707807389975008108881856175704197865311451692932684254390183463294464438883326081464480162178561316045466937982427934568209046529992412805835796132347317995033775191702487038646062871790485010277154907058993469304493582722279904019470929720605933876794269286228465500693684426869990664806080675354915904984555037017665183182421651340491247016263908336921789337046472122364418524949345225809294412891170802606148192114971557658998210519665314659990872900196019533151667949004132792878990534625551704999550168789733952819780411844403950045870382161649834495178897644584583234676719251073239649699841180514735007023910156791253621257099004733090618174571147345677404613480295747515650279032830664977399752658878038334152704688504994117540112447989666304959545018068909659100318181715295426250665120137243641130145020707643885460473654175765803500685057286663776933144631646454046411748598873223023516128794073329868196234416328977653819402783079553432094734285868386090924068630032329360668133009434569744061185977926222076146117759718516020187656523249081204139678235729980737677409951608195224032503308359545684961817663632421148368248069721102095249007244879395207917956337332987600802058291758236405410467023969110822814027142856656765312729779819851321671302279758742798999025068135014771603854045615434503178417154653845477203595622271557890149056868053244199465304257382920157429103146720741835915093988031580359224109606111925106794649424290743564277651896455987496346377923903524825926291927214536957744777368755086528091856970974327964195046955581629136427785249107512145984356061785772013989740366237585981403462573186866583337029177396182057626465823607057145856879538603779415730863640173045526932234986389124115761198429699994594431339082941465907323396598661572103804159181710618928547021810694266948973788291687251291396240011937163261307854183304586961675632322521793936832905791755466841922789560715115775069663934938128918995111211165486917654584091554405825437612412271080406505164457239703065181412684707088739159126413998122983443794230178620685456385251810333861287625505825165326110481018247028866236517357636935117268437850110058837128530699232096083003687040256746381671258196425543203938851779920791755849112835892300598689562092336957588500840586270336200371769862741649871849392053180557231455136925244378823983231843346646866777279701724416546800718833367925098519822598769693256242217890152312438671759153318657259235319841630261385392763550016316476584143405660961418126829197370447059298243 236091683150269404755946378944894445009560175943826583764497836048025614135837850868941891087870370867355370071497357166400526389132337093559516977272339607436189270088382973517526959394073406804720806391665621491860061002617314597911629818646368948131791828764310475316371845758220753862101402268630190276347562868847723872838034908872750024143085067200912171561786717797510403925292158241150796251708781419478456169247769068303798026100507247561526365564657897259992798068300532009272282625839198923570597825755068759451157414220332919714790777193108156404454104221680186924777044643782128198433749781504712912053052203634966924114326203759453977849660532331606380600917121273445399689648422370131515798496943938833082522640128024617134245324035103988928396578610242232772482715007730421265278292323854242015925975504705016572079570468885982048118441912824768750669630661329132168897170933801055925634562221214650179840502712561496346961631172120284458121682663539136647997284382145021829426382814537767085662575053179528751976492152179958696311652300190155781951561340285060742880681395646910159584148268513827015390465496946707805717585259775316743026861792715139712026795105655258008239197867079353124513601444563454850142034852676186775571722829570184280069655223097231143312148116445964259219812503497988822582025942878585830646102449786883400211679570785724603352759854734275024219385064029188577543132808035641965936467782375570771972145264045421029578055054175076021060392219950965714827823516574727450099711475862934694963820333705800675383760617374118589031863232778879405915308093673469308103443194660817910115066164627622662321315952311936912270425382809245659016850699046838752302547105785402291961349431275310765159022269581790642863527163775165194857912053196596353070923945013556565486532209388638287004030429402141193171813493814773164359230721230508903355825657229433568064163696779755195386367812764668609070783050020451545195706766970069539244035728397982294339747375234612591779016720916818451914573718746445665137238278093161106613292249254589143858225790394668235455677074144855848009607685619703126629401207024440821077081214650696825488404279160907195961967192708411492736497745931627747215817457421044246665415636235140643023711485041086158002395662234627491470259368512200135007723355513811857334981030586280067356955017002179630023829699714865119169446158295907138662553828901972034804810232741022934291663404340347737697958104624949361400651728247899885692289183461479888775888968666258007636314622606892289522899559838110574634431015784457767911375678722964671288532765784679380631876615995054442440201541104710059432123975946836880706740484316063716519903551969521924805848189099789115609829409415860410562693337494220290205299563253993753334994636853087388748502424045087001843487501548655606133861853905282203849011842398067582258286849609992449842771950032564529278608487198532996535017785902546461541756456704038670396753278232005471260419213047178867860290788942853639423395381924925435404662643574402464491319036822084989072583777181826607707488265687037352787331908102069893819126761974943239389029900767068933083933597634871562020669368928388888837479651730165004873315135922319257278320052993886473074457706915393786423275949764142570607767098404903214550235068007204850176820322598217119946237565022384337325963282962282771158564512878681824458279646829497064165259948208193918352585938259629475922659669282603385397736418135324868452691920489692657023206441771475872587757900914030314610428242977601727652535563741646168539381427268088733292719653095234360400061863270632779122726038889811081168923551481590775000008925250080573806856104608365299339796840414190321197114949328338036629130465386304829302079364 382004367798306745149986772752646560435465122013567770424319223362358798146503326542305480588202724427266659711901860888375617250559067115292704634277672768212051475145147867569371772741119203538235255218252585656194562306614890644476094477934724846045708928295300186875782531083602340010214509230976196504474737331818521042541410728230208749963797434898587041897356980495148924563654794119420363629890452738275683702683639751713479914439518688680304921034013814049131128436899887951892451292545901941875376888587769956065167548151429577064468281584624485610434289136536264184205766189380283181544925009801554957390366733624966364480429070849674283840388776962690081451811766544669701491793943298485056665452736801905822901886622850400274266265559242140578598480951616569739633725427608851241968670906313832751013892367449863554309029361903791754514887382736489156914540512457765678679792543196348729409737654114853841651068656143076287484347335186468427821687627178445432345382224341413714213050620946870919012062113984178859274853800195338031439674613592518566632740329003277265090641135315988336449908727875202257727230156206498455235065640515804464614005093558758895040509881033784095642454317316877015811734721036441044597650805383994165546730938452040455773853088408682836244832370836147722514276942381314904046506105057147146691569387769311334779888617315717016158595650866622342214418839220891064581778870907432450946744937282629765441449757628143309482074525104796626994269014220251943293324210259154320090376281943610049879725318260837693048943799795769929523110249042787742837097430719941430467861719610163135924360577518793464927464144426908469929423593328910973676841571947034771835698773734406424754228421809936316864021819750580376816346944187009598807957923578758002905419123911201150069766886107889360243680129243321707906820517724929955612851978329513636446443831800580913741568310260050942902018091797499274048182802679329583529859471658574533361575840845971960644706920252681501438117039098533747340824383866582908778368423113868750498752722908764909661726475451954899232610218776502302056019434218576349652917335818514150945277449067025803142223681943986749394061926994279878827421814561660076576485590430478816409476822213066865099857602800804674022583318757876572674399046747930115745400765465420052559013533894639613041916834665812051172197947784586221264695165540786533870471785239305022405612291032781170697073871364316848520772131767806018165964458027719737013960485741238631574887993734393022407918476652507724026077976992764420111634611406729325801524735591017915487998070042062300789305719141775184276116635092741639791348085552948805813535133740354460084181203865977912302194567023692640435755701343074947520438114862975376733391420224968081299189683808669017884930209294194513989471857610441378147851594271519789830415304971254448841623878787388631900398415856171586424465366737136775950748649542719507068688691690427794512514476661705465854850552130120333767614185541515211527199541106636054333209665385096731440292825113772240363980017193763770968796119870341939749007540424591687755959667766698706230952690327784048859003261569809690939664480139554375755134235821719410698752748334590337684825217451126176139639119600100875162435076178140693591210892635081835235691453259015184038107948104042285272348046040631366192199800319919706275832950728791883295408177528729160248263635248450664734257196456055019126598521062524177153585530971217169051381482582029614611707282357746208788129670776771964482277635030782284883990700666890547363364659111435380159496932796958776946862582104000704221245861488580774425165769371743087438680684403399231066091424449995560725189603964206637673699092733998998047257294583675276361377607 618096050948576149905933151697541005445025297957394354188817059410384412282341177411247371676073095294622029783399218054776143639691404208852221611550012375648240745233530841086898732135192610342956061609918207148054623309232205242387724296581093794177500757059610662192154376841823093872315911499606386780822300200666244915379445637102958774106882502099499213459143698292659328488946952360571159881599234157754139871931408820017277940540025936241831286598671711309123926505200419961164733918385100865445974714342838715516324962371762496779259058777732642014888393358216451108982810833162411379978674791306267869443418937259933288594755274609128261690049309294296462052728887818115101181442365668616572463949680740738905424526750875017408511589594346129506995059561858802512116440435339272507246963230168074766939867872154880126388599830789773802633329295561257907584171173786897847576963476997404655044299875329504021491571368704572634445978507306752885943370290717582080342666606486435543639433435484638004674637167163707611251345952375296727751326913782674348584301669288338007971322530962898496034056996389029273117695653153206260952650900291121207640866886273898607067304986689042103881652184396230140325336165599895894739685658060180941118453768022224735843508311505913979556980487282111981734089445879303726628532047935732977337671837556194734991568188101441619511355505600897366433803903250079642124911678943074416883212719658200537413595021673564339060129579279872648054661234171217658121147726833881770190087757806544744843545651966638368432704417169888518554973481821667148752405524393410738571304914270981046039426742146416127248780096738845382199848976138156632693692270993873524138245879519808716715577853085247082023044089332371019679874107962174793665869976775354355976343068924757715556299095496527647247710558645462901078634011539703119972082699560022539802269489030014481805732007039806138288385904562167883118965852699781128725566238628644072605611569243954254984454295487294093217133760015352199255398102613028573915606701207029857112044972163354053519952265846623134688287292921358150065627119838279476282318542842954972022358663717722628630627961104893945356029119702691371563919560493287823792303047851523063074892458448207508123569087841890832024978980992504064144658415260130250753124120979231909893994564480919680398871851667991681196027647499451340434141323836693672533025614141277057210422523773804104988737275704664586218730236392755379566616186275619622706249669202718520350776962400651030044233099259400013548977536830874994746065627191187093712900414313982586776530835826741681421182335136829626716318176197451699223472061499785686520275618056418176604084755835499837108042756123481756045585110758935358083131452357195666938690983478961834634184320661756406633432633339281515832959359159096984281713448176801993679427147369322031099910728397381081743170365888736115703073853935669772485766435445265968610445148394466464909267754893710937115269765177299201627904974484368850950594923031561489737872308959499195931611861935857229436563794375590378676284385557379292536339448526661581575086429741641945619982591094852981942936859204681252960333849067943264592613887551884415572067884256909594963145270445012649214096826515494661585711025942283264198977991039985049785926521266220034214928270702259405218585611063015703518163083282202477434397463607473707753687824358226224413523583456644583086843134715684495049258190345127562551321949106542037504073403071722271634913724129222081375887571690802279092705878008384012536526264408536715902746086379524113452216585892193137346924445374633483343971900378391855594089320853333862438689609653479804872947529058360860064986444378396958870814042062337034676387759969980105663456971 1000100418746882895055919924450187565880490419970962124613136282772743210428844503953552852264275819721888689495301078943151760890250471324144926245827685143860292220378678708656270504876311813881191316828170792804249185615847095886863818774515818640223209685354910849067936907925425433882530420730582583285297037532484765957920856365333167524070679936998086255356500678787808253052601746479991523511489686896029823574615048571730757854979544624922136207632685525358255054942100307913057185210931002807321351602930608671581492510523192073843727340362357127625322682494752715293188577022542694561523599801107822826833785670884899653075184345458802545530438086256986543504540654362784802673236308967101629129402417542644728326413373725417682777855153588270085593540513475372251750165862948123749215634136481907517953760239604743680697629192693565557148216678297747064498711686244663526256756020193753384454037529444357863142640024847648921930325842493221313765057917896027512688048830827849257852484056431508923686699281147886470526199752570634759191001527375192915217041998291615273061963666278886832483965724264231530844925809359704716187716540806925672254871979832657502107814867722826199524106501713107156137070886636336939337336463444175106665184706474265191617361399914596815801812858118259704248366388260618630675038152992880124029241225325506069771456805417158635669951156467519708648222742470970706706690549850506867829957656940830302855044779301707648542204104384669275048930248391469601414471937093036090280464039750154794723270970227476061481648216965658448078083730864454891589502955113352169039166633881144181963787319665209592176244241165753852129272569467067606370533842940908295973944653254215141469806274895183398887065909082951396496221052149184392473827900354112358881762192835958865626065981604417007491390687888784608985454529264633075584934677889536176248713320830595395547300317299857081190403996359667157167148655379110712255425710287218605967187410089926215629161215739975594655250799113885946596222486479611482693975124320898607610797695072118963181678741298578033920897511697860452121646554056855825935235878661469122967636112784748431772851643048880694750091046696971250391341375054947900368788638282001879484369280661274373223426690642695506047562299750380636819057462008060366498524886444651962453008098375559293440788686333803732368225595284037561698836489377480206403497399380582079616034814806585275685811147068981434739502368160561397732580644303339359720210154943957151925664956135044052452151575911907737575055513823639414857700238597916419514425149905000502264528905868803982210488054278604810992434811290193339014820147052734492333810751796772636688265959701477749410237323147174396481340812102010305603569567220171043672082403703929915933374004470425424518362842633476029822431216769538362429565042448321783509842452340576479941534607184769713643568781744907702127539220672806548436515084987985475679133840084894259421782231555416402970120317307419535395519160025884062477794464138197544071081974344595927371904687049629469800543811569354149645080505427721232285346988951253269331046097508340651850935281422637030801940120774490943899998329207497640347748123373603826270820632591499932647970487896138825353735946115595536748146102120423957790188883675066885021617974525235218253036218806301690490933657103647069710362883602122183710230414336265591049096001886955384661787218705095247821100331171739514175856711407651739704907480077759206555454885653751886246621006486968290164017242467574243574983513039166297420516965075427263266110745490959493611713518689151914293787027478634187565217761866972630019255090225076949877370294056879035939038953508356420790176048342603596544513134796336032723645054553655382024834578 1618196469695459044961853076147728571325515717928356478801953342183127622711185681364800223940348915016510719278700296997927904529941875532997147857377697519508532965612209549743169237011504424224147378438088999952303808925079301129251543071096912434400710442414521511260091284767248527754846332230188970066119337733151010873300302002436126298177562439097585468815644377080467581541548698840562683393088921053783963446546457391748035795519570561163967494231357236667378981447300727874221919129316103672767326317273447387097817472894954570622986399140089769640211075852969166402171387855705105941502274592414090696277204608144832941669939620067930807220487395551283005557269542180899903854678674635718201593352098283383633750940124600435091289444747934399592588600075334174763866606298287396256462597366649982284893628111759623807086229023483339359781545973859004972082882860031561373833719497191158039498337404773861884634211393552221556376304349799974199708428208613609593030715437314284801491917491916146928361336448311594081777545704945931486942328441157867263801343667579953281033286197241785328518022720653260803962621462512910977140367441098046879895738866106556109175119854411868303405758686109337296462407052236232834077022121504356047783638474496489927460869711420510795358793345400371685982455834139922357303570200928613101366913062881700804763024993518600255181306662068417075082026645721050348831602228793581284713170376599030840268639800975271987602333683664541923103591482562687259535619663926917860470551797556699539566816622194114429914352634135546966633057212686122040341908479506762907610471548152125228003214061811625719425024337904599234329121545605224239064226113934781820112190532774023858185384127980430480910109998415322416176095160111359186139697877129466714858105261760716581182365077100944654739101246534247510064088540804336195557017377449558716050982809860609877353032324339663219478789900921835040286114508078891840980991948915862678572798979333880470613615511227269687872384559129238145851620589092640056609581825527928464722842667235473016701631007145201168609184804619218602187273673895135302217554421504424094989994776502471060403479604153774640106120166399662621955260935548235724161091686133524942559261739109481881346995778484586338072541280742884700963715877268190617251649007423883872347002662856478973839660538001795413564253242783488902132977813214173878936523013521859136826457338580389380674548422773646020958232604553316777299196830578958982426459824146675672276441918535695082496384675171307751124033050654514409603765865789103513227325564218983089041059741695545663631670389415434437708752987487645038238292208552520178854086369853190813292350715536977586518280079270656152526925922860945663686701019577366710610773387182891750567558325132181831151795475972757545655390575928635346711278490625123777189269599709898511041445335582150795386739147633643817830613074608476320922281520433251444289578988479360724331049986449127340085390082484718737023424134510252913428389387169759033808954283304095123303516548985486699237107605944944528321364890985100524821686437477914850906132527249982597470917872517490012744876979979172196860332178275440904940362010925488241842888516848409527611115758341151474567832772631090198333857128062707221989166874715051934807544495791455252467964489508561095709519268166662773228525966884324661144627877943739298802783826245181609075310802161739830907943465887424009225114901752779302256229429184301244059528288725474157881534730616190371539904814158376522667689391047550309957043229483963979168856831870483607063930104581345051640711472853267670909189662245364485613344411078410812316059903710358840811986482566717280855162492721000555415327176858673067400032814523635487688291549 2618296888442341940017773000597916137206006137899318603415089624955870833140030185318353076204624734738399408774001375941079665420192346857142074103205382663368825185990888258399439741887816238105338695266259792756552994540926397016115361845612731074623920127769432360328028192692673961637376752960771553351416375265635776831221158367769293822248242376095671724172145055868275834594150445320554206904578607949813787021161505963478793650499115186086103701864042762025634036389401035787279104340247106480088677920204056058679309983418146644466713739502446897265533758347721881695359964878247800503025874393521913523110990279029732594745123965526733352750925481808269549061810196543684706527914983602819830722754515826028362077353498325852774067299901522669678182140588809547015616772161235520005678231503131889802847388351364367487783858216176904916929762652156752036581594546276224900090475517384911423952374934218219747776851418399870478306630192293195513473486126509637105718764268142134059344401548347655852048035729459480552303745457516566246133329968533060179018385665871568554095249863520672161001988444917492334807547271872615693328083981904972552150610845939213611282934722134694502929865187822444452599477938872569773414358584948531154448823180970755119078231111335107611160606203518631390230822222400540987978608353921493225396154288207206874534481798935758890851257818535936783730249388192021055538292778644088152543128033539861143123684580276979636144537788049211198152521730954156860950091601019953950751015837306854334290087592421590491396000851101205414711140943550576931931411434620115076649638182033269409967001381476835311601268579070353086458394115072291845434759956875690116086135186028238999655190402875613879797175907498273812672316212260543578613525777483579073739867454596675446808431058705361662230491934423032119049543070068969271141952055339094892299696130691205272900332641639520300669193897281502197453263163458002553236417659203081284539986389423806686242776726967245282527635358243124092447843075572251539303556949848827072333640362307591979883309748443779202530082316317079054308920227951991128152790300165893217957630889287219492176331247202655334856211213096633872346602310603183624529880324415526822043631019770756254570422469127281844120103580493265337782773339276250983750173893868535834800010761232038267280449224335599145932478838067526463831814302591654085340020412902441216442492153386974656360359569842627455697734972713878175031777474882298342146669979090632824202106874670739134948536251083215488699088564478153824461466104387019932741750714123983591305588647564349645842158443694039248701187798777838377253112355605254671187897121649963449980616675238455335928517402417830549008266734962955969290270586797537754282855790886821666500932329602607255670158318606233575477821792698173709140843533073445560699112052050474990982979942766920509030307929378551519958152295281282869358796605421236919968712828564254983752832218004543743055510399792138272418943294536136975906183851307956577880036257648691050675421236035116169037651417514298677966445396412821757107033426429168120237178624758323249321853153940127043546817100753663140760330507482938545288110134299092068113709149439909460259086246237290299921568718746685735082003230183131179779355758390118819829162470316690470721000708314862786200452925270309842938888850486446844854858292280004889851879828132136993737098020866835078729043797059163523400971613160431041961136909262060450614983174379226044128155737103158661703922056625950766242672904086716607377560194559391242434967577361443100675643623270496965934498500331901858474407424112337115632599501303487762193430197767237876751025436075073701645338541063604151959840311655009100123677869077290869713126127 4236493358137800984979626076745644708531521855827675082217042967138998455851215866683153300144973649754910128052701672939007569950134222390139221960583080182877358151603097808142608978899320662329486073704348792708856803466005698145366904916709643509024630570183953871588119477459922489392223085190960523417535712998786787704521460370205420120425804815193257192987789432948743416135699144161116890297667529003597750467707963355226829446018685747250071196095399998693013017836701763661501023469563210152856004237477503445777127456313101215089700138642536666905744834200691048097531352733952906444528148985936004219388194887174565536415063585594664159971412877359552554619079738724584610382593658238538032316106614109411995828293622926287865356744649457069270770740664143721779483378459522916262140828869781872087741016463123991294870087239660244276711308626015757008664477406307786273924195014576069463450712338992081632411062811952092034682934542093169713181914335123246698749479705456418860836319040263802780409372177771074634081291162462497733075658409690927442819729333451521835128536060762457489520011165570753138770168734385526670468451423003019432046349712045769720458054576546562806335623873931781749061884991108802607491380706452887202232461655467245046539100822755618406519399548919003076213278056540463345282178554850106326763067351088907679297506792454359146032564480604353858812276033913071404369895007437669437256298410138891983392324381252251623746871471713753121256113213516844120485711264946871811221567634863553873856904214615704921310353485236752381344198156236698972273319914126877984260109730185394637970215443288461031026292916974952320787515660677516084498986070810471936198325718802262857840574530856044360707285905913596228848411372371902764753223654613045788597972716357392027990796135806306316969593180957279629113631610873305466698969432788653608350678940551815150253364965979183520147983798203337237739377671536894394217409608118943963112785368757687156856392238194514970400019917372362238299463664664891595913138775376755537056483029543064996584940755588980371139267120936297656496193901847126430370344721670317312947625665789690552579810851356429974962331379496296494301863246151419348690972010549051764602892758880238135917418247611868182192644861236150038746489216544441601001822901292419707147013424088517241120109762337394559496732080851015365964792115805827964276543426424300353268949491967364037034907992616273476655967577267194952330974305461257324573129803237308496478548793206434217444920926254523239823121615132668234065231970176123445969076278342966680346648389259895309473828833109473686409940786265483415491404564157774850041983491503154263272967390775432922446797481688486701535192657823901632976971606374904464893629178069713417068490654734789086821953794578991121133212368626809055852122023698569337888381651760373502024425278349071304417047077012195337788765369889759190281078125854488364258291817043615708083882204453671083140900482276857009442367429046389889334573238477715611688990540952786173978937785020602868274759023459243206287810287397922281928719863907082971143311152008305846792771026457617056291694080732835337620662685758379450228472145224580309956597666288318987870202004578441774489401491377775933415860358245838401768522633105170754636706966108145723188965197823423881909972193436972616167414817370771505999486170223744188654663654377318602812408823028574909636987262946587532626086514913210344217366338446361694674511463104700202009690467719349033243826870784327288910362295134266917334603424043355221603824409231926707739573727851842017575209973185169529383597086357701601245943912381898574509490101477596717563011918641790982500501033784604707375167488513682167523710683600926357401417676 6854790246580142924997399077343560845737527993726993685632132592094869288991246052001506376349598384493309536826703048880087235370326569247281296063788462846246183337593986066542048720787136900434824768970608585465409798006932095161482266762322374583648550697953386231916147670152596451029599838151732076768952088264422564535742618737974713942674047191288928917159934488817019250729849589481671097202246136953411537488869469318705623096517800933336174897959442760718647054226102799448780127809810316632944682157681559504456437439731247859556413878144983564171278592548412929792891317612200706947554023379457917742499185166204298131160187551121397512722338359167822103680889935268269316910508641841357863038861129935440357905647121252140639424044550979738948952881252953268795100150620758436267819060372913761890588404814488358782653945455837149193641071278172509045246071952584011174014670531960980887403087273210301380187914230351962512989564734386365226655400461632883804468243973598552920180720588611458632457407907230555186385036619979063979208988378223987621838114999323090389223785924283129650521999610488245473577716006258142363796535404907991984196960557984983331740989298681257309265489061754226201661362929981372380905739291401418356681284836438000165617331934090726017680005752437634466444100278941004333260786908771599552159221639296114553831988591390118036883822299140290642542525422105092459908187786081757589799426443678753126516008961529231259891409259762964319408634944471000981435802865966825761972583472170408208146991807037295412706354336337957796055339099787275904204731348746993060909747912218664047937216824765296342627561496045305407245909775749807929933746027686162052284460904830501857495764933731658240504461813411870041520727584632446343366749432096624862337840170954067474799227194511667979200085115380311748163174680942274737840921488127748500650375071243020423153697607618703820817177695484839435192640834994896947453827267322025247652771758181493843099168965161760252927655275615486330747306740237143135216695725225582609390123391850656976468250504032759573669349437253376710805114129799117558523135021836210530905256555076910044756142098559085309818542592592930366648465556754602973220852334964578586646523778650994390487840716739150026312748441729415376529262555820692584751996795160955541947024185320555508400558986672993705429210918918541829796606418397482049616563839326741569711441645354338693395267562458900932353702549981073127362751780343555666719799782327941320680655667877173352393457177337738728522210179610822058526698074563143378710826992466950271652237036824244955315987276803512935111128585043321792744516919763029521229880613153117713253584066013888258375314884106317250543459392786857602267242193172442219176484968956535083569422984337396342492112113185224696611034161324982764992965556772014898587493703810848493007405221115991813447355006390746857746917665171042059639874731275725284227004645607870691836714422458214826196410882068995281861310723582526865240757089785672189569026798601477224654359021055719037312410440973541884254255683810744039035753290336251091380489776766629096114624180397744099838511181486498478380993193241317995516582279523672378070306815728228448129288250815732074410970210124461668497863588428969581547878391495289574465869436424836193909965906138286668110425118707282459106303667857218350854344462503749078506543482509455596549506843895409988366031060005751056027058128073641386178503247708422145289494637483926246137846204822507694947748927410278055153035199220983524712163618602746464038791986593369808415217351122338983509708473517071387858004510470038716878543413685386336702920299244834594314037354716864684145839574848208859335007800168691267647388552678217227114543803 11091283604717943909977025154089205554269049849554668767849175559233867744842461918684659676494572034248219664879404721819094805320460791637420518024371543029123541489197083874684657699686457562764310842674957378174266601472937793306849171679032018092673181268137340103504267147612518940421822923342692600186487801263209352240264079108180134063099852006482186110147723921765762666865548733642787987499913665957009287956577432673932452542536486680586246094054842759411660072062804563110281151279373526785800686395159062950233564896044349074646114016787520231077023426749103977890422670346153613392082172365393921961887380053378863667575251136716061672693751236527374658299969673992853927293102300079895895354967744044852353733940744178428504780789200436808219723621917096990574583529080281352529959889242695633978329421277612350077524032695497393470352379904188266053910549358891797447938865546537050350853799612202383012598977042304054547672499276479534939837314796756130503217723679054971781017039628875261412866780085001629820466327782441561712284646787914915064657844332774612224352321985045587140042010776058998612347884740643669034264986827911011416243310270030753052199043875227820115601112935686007950723247921090174988397119997854305558913746491905245212156432756846344424199405301356637542657378335481467678542965463621705878922288990385022233129495383844477182916386779744644501354801456018163864278082793519427027055724853817645109908333342781482883638280731476717440664748157987845101921514130913697573194151107033962082003896021653000334016707821574710177399537256023974876478051262873871045169857642404058685907432268053757373653854413020257728033425436427324014432732098496633988482786623632764715336339464587702601211747719325466270369138957004349108119973086709670650935812887311459502790023330317974296169678296337591377276806291815580204539890920916402109001054011794835573407062573597887340965161493688176672932018506531791341671236875440969210765557126939180999955561203356275223327675192987848569046770404902034731129834500602338146446606421393721973053191259621739944808616558189674367301308031646243988893479743506527843852882220866600597335952949915515284780873972089226860950328802906022321911824345513630351249416537531232526405258964351018208505393302965565415275751772365134185753819696453375249094037609409072749520668749010388264925942999769557195761398534203310013893107265751041922980391137321702730430175555075174409009670127248268079693726085804812991292929585565249817159204461083607569838378103592261968345331794743490292591930044739266824679903270809916951998885426084140264789816109912986621521069371308805208235921483920804371271864104656271976526551456789321180822112365794803952078652050610759235244213799547346684070114147026248500637913639072185429314065907764215817744246529951791820845087580470584236475875355571221995031830499465063117864402083402942195535683035060801249920952857130213648485296462651486399920596626911885909337311364345852291303678152628916754575330328263387801258017339554263398633296806076321905587169464432785090542065971208666320964473154243334062523800928774934942907395206855361156130205262219333816001655878999697445745054424748252688026904482016547435999490255394173848900371701502237601913723946674807983316401024600460329102576402532981917098931103961710550020397312144255075273718485227989856853830632727493267161207136886774199361915666923984898003018322952338588653144642986851730395869586154783839964006100588626448147536672541856728191575798194605344063397494355250442046767042646101685642616395825296516154791078974181001084918446702240917241601596827740318124487326067284911212410400722431311877049273358655666646340608632813566710175288682373435171099236279143584515961479 17946073851298086834974424231432766400006577843281662453481308151328737033833707970686166052844170418741529201706107770699182040690787360884701814088160005875369724826791069941226706420473594463199135611645565963639676399479869888468331438441354392676321731966090726335420414817765115391451422761494424676955439889527631916776006697846154848005773899197771115027307658410582781917595398323124459084702159802910420825445446901992638075639054287613922420992014285520130307126288907362559061279089183843418745368552840622454690002335775596934202527894932503795248302019297516907683313987958354320339636195744851839704386565219583161798735438687837459185416089595695196761980859609261123244203610941921253758393828873980292711639587865430569144204833751416547168676503170050259369683679701039788797778949615609395868917826092100708860177978151334542663993451182360775099156621311475808621953536078498031238256886885412684392786891272656017060662064010865900166492715258389014307685967652653524701197760217486720045324187992232185006851364402420625691493635166138902686495959332097702613576107909328716790564010386547244085925600746901811398061522232819003400440270828015736383940033173909077424866601997440234152384610851071547369302859289255723915595031328343245377773764690937070441879411053794272009101478614422472011803752372393305431081510629681136786961483975234595219800209078884935143897326878123256324186270579601184616855151297496398236424342304310714143529689991239681760073383102458846083357316996880523335166734579204370290150887828690295746723062157912667973454876355811250780682782611620864106079605554622722733844649092819053716281415909065563135279335212177131944366478126182796040767247528463266572832104398319360841716209532737336311889866541636795451486722518806295513273653058265526977589250524829642275369763411717903125439980972757854942380812409044150609651429083037855996560760181216591161782339189173016108124659341526688289125064142762994458418328885120674843054730168518035476255330468603334899794077145139177866346530225827920755836729813244378949521441763654499518477965995443051078106422161445361547416614765342738374758138775943510642092095048474600594599416564682157227598794359660625295132676680478208937895940316182226916893099681090168234818141744694980791805014328185826770505816491614330791041061794729628257921227735683381970355153918688099025558004952600792063509671105077783492691832782676041423825443117534075341363372677229341207056477866148368658012729367893191137839860128960780922231835280930000696867541974354312351118628119302410203390730263276867223651122462908385220105803386716499556632197956352127000980438403683833892501744717809389689780135522803209439197427249901121202622111443397616837511455992719788903246599115982783584207336623409581771806178020949440514355280691276774585838053137242599135063369059382070488039235720581054931311757089793689053282600700231843309560827588405938932712301108259357091757311049370100735533722246414847573164988876211443619816087418049059990827044138155740623287655827132040942899579905406326974796321655019410360000226444579585153904290705541564039022019387253105255968716443705832294382649072241015441261636704271925066097211297744775884128778506209905923311341911626699270411587535103777564864279416095749903568445838957818111008897010099997218130822430851537534380022153085208207708175095231242345667750619396229795911422510819394886369049382958089644680202771060493116574372833863205985253500738072552694285382877364364423139324725604883399216432693576233966758930661248848149681408382418666324570008430096519984594626920219312305099606107297779035003030739752671247915330699967265906191086628075520350792180183481022426045183088851064702818487788957360811630505282 29037357456016030744951449385521971954275627692836331221330483710562604778676169889370825729338742452989748866585512492518276846011248152522122332112531548904493266315988153815911364120160052025963446454320523341813943000952807681775180610120386410768994913234228066438924681965377634331873245684837117277141927690790841269016270776954334982068873751204253301137455382332348544584460947056767247072202073468867430113402024334666570528181590774294508667086069128279541967198351711925669342430368557370204546054947999685404923567231819946008848641911720024026325325446046620885573736658304507933731718368110245761666273945272962025466310689824553520858109840832222571420280829283253977171496713242001149653748796618025145065373528609608997648985622951853355388400125087147249944267208781321141327738838858305029847247247369713058937702010846831936134345831086549041153067170670367606069892401625035081589110686497615067405385868314960071608334563287345435106330030055145144810903691331708496482214799846361981458190968077233814827317692184862187403778281954053817751153803664872314837928429894374303930606021162606242698273485487545480432326509060730014816683581098046489436139077049136897540467714933126242103107858772161722357699979287110029474508777820248490589930197447783414866078816355150909551758856949903939690346717836015011310003799620066159020090979359079072402716595858629579645252128334141420188464353373120611643910876151314043346332675647092197027167970722716399200738131260446691185278831127794220908360885686238332372154783850343296080739769979487378150854413611835225657160833874494735151249463197026781419752081360872811089935270322085820863312760648604455958799210224679430029250034152096031288168443862907063442927957252062802582259005498641144559606695605515966164209465945576986480379273855147616571539441708055494502716787264573435146920703329960552718652483094832691569967822754814478502747500682861192781056677848058479630796301018203963669183886012059855843010291371874310699583005661591183468840847550041212597476364726430258902283336234638100922574633023276239463286582553632725445407730193091605536310094508849266218611020996810111239428047998390115879380290536771384088549123162566647617044501025991839289145356853713459443298358645441186443323535047660546207080766100550960956259636188067706040135099404138701007441896484693770235281096918457656221319403486804102077402778370828825415672223919997744154255618672609249750373042804477609286750203951953181649305658953458440954999064590044388492070213384522262665212873769097802643710558164041677028070633534086784175650007888992525484895619496629486178153267327660932209216359887604638263773608822465661666306686979592530620019539615695925154700763494008376072755669792267135587316713263009032084845250262481767201120243928713656332099527221228566406683140717713183371539244414953292483071066220046118049176159173196631248818283735292644559481780445536152581197597570910843491677907676281986644871033610760699864468667028840360374391417746312447792085061477710004021920952633208362848486749369839112065338387626228076680964699598822919216428091634316498981929414594108466412098921705925166110384304951240712887006691129020177754124115779761323320128268761604079772211713613128936872325311481778585548180680440696210232671022241490800028107828114061707768151219742995792609653740638313198064562005727958735612828957756283003995273338177743379784372067705910428233333347414047344846970242420017989825217506838661179142432919549906221151330900523799488743279830187931484408805697703894949835324024778243962840724799509070700985679545366921553222341207704125519353127518065819956159127741100689697218068135901434176017438520792113835992755358377533438137989587025236504396146466761 46983431307314117579925873616954738354282205536117993674811791861891341812509877860056991782182912871731278068291620263217458886702035513406824146200691554779862991142779223757138070540633646489162582065966089305453619400432677570243512048561740803445316645200318792774345096783142749723324668446331541954097367580318473185792277474800489830074647650402024416164763040742931326502056345379891706156904233271777850938847471236659208603820645061908431088078083413799672274324640619288228403709457741213623291423500840307859613569567595542943051169806652527821573627465344137793257050646262862254071354563855097601370660510492545187265046128512390980043525930427917768182261688892515100415700324183922403412142625492005437777013116475039566793190456703269902557076628257197509313950888482360930125517788473914425716165073461813767797879988998166478798339282268909816252223791981843414691845937703533112827367573383027751798172759587616088668996627298211335272822745313534159118589658984362021183412560063848701503515156069465999834169056587282813095271917120192720437649762996970017451504537803703020721170031549153486784199086234447291830388031293549018217123851926062225820079110223045974965334316930566476255492469623233269727002838576365753390103809148591735967703962138720485307958227408945181560860335564326411702150470208408316741085310249747295807052463334313667622516804937514514789149455212264676512650623952721796260766027448810441582757017951402911170697660713956080960811514362905537268636148124674744243527620265442702662305671679033591827462832137400046124309289967646476437843616486115599257329068751649504153596730453691864806216686231151383998592095860781587903165688350862226070017281680559297861000548261226424284644166784800138894148872040277940011093418124322261677483119003842513457968524379977258846909205119773397628156768237331290089301515739004703328303912177870547566528582936031069664529839872034208889181337189585167919921365160966958127602214897180530686065021540392346175838336130194518368634924695180390463822894952258179658120066047882479872096074786930738981764548549075776523514152354536967083726709274192004593369159772753621881520143046864716473979707101453541316147917522227272912177177706470048227041297169895686360191458326531354678141676792355526998885780428736787726765452679682036831176161198868329265363124220377152205636250837145755246877408439404894140912449475906608908364056702673785578081061790143325091736415481706950493806681818101550307318388321351632092838924719005169414302048665452263362080415743452114994829186283344087231461363797363651399301130351900910705001422883345985734785465284013059210196798291288472156275353540275051356086822502395740059216966865597046357322874937405992910267125784986924490563312378991815669052586885891348972926421949663096846454807912505340992521193854955782506602613474335362971110301940627172980487916262990320302100884435524487869042608033942091513909898679170200583435218725652087380404755857175547437633655905051803994207505164361507782912105615865744645208608460340403791386329275245439040134709281247487040964926043402504370332382339858063020951433981361571668067638149630998404766954023481728328268327833292102820221327077506099204257047267813985695523055524755636142736899016882363113044959856791960136239468080448618139116725124161704986282042173847330144033762791398406272270180823189977958496708375679233791184760688562774670741117088868517878013550185107837963544615253881195810471007576733731836718302427270585574470225249404372142496262881507718375564628365143797985005433160662629165294807939167220970274172287140865527440813811423298388130548805572627407043071800656963124259222529509696368230700975594858418800541466384502840808074814193865207776972043 76020788763330148324877323002476710308557833228954324896142275572453946591186047749427817511521655324721026934877132755735735732713283665928946478313223103684356257458767377573049434660793698515126028520286612647267562401385485252018692658682127214214311558434546859213269778748520384055197914131168659231239295271109314454808548251754824812143521401606277717302218423075279871086517292436658953229106306740645281052249495571325779132002235836202939755164152542079214241522992331213897746139826298583827837478448839993264537136799415488951899811718372551847898952911390758678830787304567370187803072931965343363036934455765507212731356818336944500901635771260140339602542518175769077587197037425923553065891422110030582842386645084648564442176079655123257945476753344344759258218097263682071453256627332219455563412320831526826735581999844998414932685113355458857405290962652211020761738339328568194416478259880642819203558627902576160277331190585556770379152775368679303929493350316070517665627359910210682961706124146699814661486748772145000499050199074246538188803566661842332289432967698077324651776052711759729482472571721992772262714540354279033033807433024108715256218187272182872505802031863692718358600328395394992084702817863475782864612586968840226557634159586503900174037043764096091112619192514230351392497188044423328051089109869813454827143442693392740025233400796144094434401583546406096701114977325842407904676903600124484929089693598495108197865631436672480161549645623352228453914979252468965151888505951681035034460455529376887908202602116887424275163703579481702095004450360610334408578531948676285573348811814564675896151956553237204861904856509386043861964898575541656099267315832655329149168992124133487727572124036862941476407877538919084570700113729838227841692584949419499938347798235124875418448646827828892130873555501904725236222219068965256046956395272703239136496405690845548167277340554895401670238015037643647550717666179170921796786100909240386529075312912266656875421341791785701837475772245221603061299259678688438560403402282520580794670707810206978445051131102708501968921882547628572620036803783041270811980180769563733120948191045254832353359997638224925404697040684793920529221678732461887516186654023609145803489816971972541121465211840016073205966546529287748683025088867749742871311260603007030272805020705070922440917347755603411468196811926208996218315227846735434324036280622671529732336680462752574842109458286184559780556885770054731956624047274810073047837989309049557906372262049974526027293289512549917638539744447385764259531997331450435574951138240893436189897042379975471912938732611673991419413158178893110420048962362740713022393509481988270679236506481292971512023638431414368983022795577254060077880025642000847753897837148373116174046665878376753178554335133733907399204334572668965878141857889288655454181368160673291029664075436186951550919168170817132428524388479478244095107496250081044075113126401934074025275789467936247302102322933892164368598922910673955574997167093575748667129561093548766639873078645084551105473096907475563721929625642225423586760473974174562002880848575470038080166559855556164515151258974722441215275018962312280574345442857267422524385316029418065467734769137884573015062210498660948661225640297488170368910490321939418167224553238223412754433261916843122753687503429711604336832186551148713571325666131962237786458098866306154455113184794778946111346897599155182810514857673899185635688514415394910979151221977176806725801125773203860885776093069439202784370326069038747820329457938906592006019607448237921955953717654062418749782021515548817741258066871392583566170812901346660342327358430943872385669221767708694411555899843917940978797661839430369603923438804 123004220070644265904803196619431448662840038765072318570954067434345288403695925609484809293704568196452305003168753018953194619415319179335770624513914658464219248601546601330187505201427345004288610586252701952721181801818162822262204707243868017659628203634865651987614875531663133778522582577500201185336662851427787640600825726555314642218169052008302133466981463818211197588573637816550659386010540012423131991096966807984987735822880898111370843242235955878886515847632950502126149849284039797451128901949680301124150706367011031894950981525025079669472580376734896472087837950830232441874427495820440964407594966258052399996402946849335480945161701688058107784804207068284178002897361609845956478034047602036020619399761559688131235366536358393160502553381601542268572168985746043001578774415806133881279577394293340594533461988843164893731024395624368673657514754634054435453584277032101307243845833263670571001731387490192248946327817883768105651975520682213463048083009300432538849039919974059384465221280216165814495655805359427813594322116194439258626453329658812349740937505501780345372946084260913216266671657956440064093102571647828051250931284950170941076297297495228847471136348794259194614092798018628261811705656439841536254716396117431962525338121725224385481995271173041272673479528078556763094647658252831644792174420119560750634195906027706407647750205733658609223551038758670773213765601278564204165442931048934926511846711549898019368563292150628561122361159986257765722551127377143709395416126217123737696766127208410479735665434254287470399472993547128178532848066846725933665907600700325789726945542268256540702368642784388588860496952370167631765130586926403882169284597513214627010169540385359912012216290821663080370556749579197024581793531854160489519175703953262013396316322615102134265357851947602289759030323739236015325523734807969959375260307450573786703024988626876617831807180426929610559419352227228815470639031340137879924388315806420917215140334452659003051259677921980220206110696940401993525122154630946618218523468330403060666766782597137717426815679651784278492436034902165539703763513057233275405349340542317355002468334092119548827339704739678466720844958207021193441398856438931935743227951193504832163681275298503895799606888632371600204852326958024536409790541547431779702487421801875359538168144925448074646553598592749166715074220365613890359227677322642043232400337325345315310417742252895899933845873767891510274363567588156282263942435596161705140676914028054727320674310715426789389373705256002032633368930730729851490993361128814086974252268592794346894898465263321457647724197895687050629609956470181582576324315903015764378480331984384010738453473346890017869346513368820361893289921362240984568443338020992663422950424034264465146973087828039850025009143046239248391725528427624748384744471363624018425291670101300464010151991699177271853020052606341620297566996513420335609017394929251244658548345127586161405680545325111794739735978838943968362806428075035463357909272709441493312338169553889170431259407920329990145607806188723050762894551685627927957092856314032625023832282556831609748234198005187162919918212998204169543543346795604383394566769934773521728642363297232051163257824662640209157799109515543311774270600154280130505149958402388036306341278362385117740715304090690452897721266221110010609102367374338691529822374507641471577642859554868929125854301883647463989360447784263020774059472927780381446159521992128642815869524404447392300271351022608233028272355950946921159934954434182545805334891099569221171314415387405142926227889941203284277222835326972116129388615676965210973213884702003623466586580960453568753899922743303552830356441310302443819605736653624234811700410847 199025008833974414229680519621908158971397871994026643467096343006799234994881973358912626805226223521173331938045885774688930352128602845264717102827137762148575506060313978903236939862221043519414639106539314599988744203203648074280897365925995231873939762069412511200884654280183517833720496708668860416575958122537102095409373978310139454361690453614579850769199886893491068675090930253209612615116846753068413043346462379310766867825116734314310598406388497958100757370625281716023895989110338381278966380398520294388687843166426520846850793243397631517371533288125655150918625255397602629677500427785784327444529422023559612727759765186279981846797472948198447387346725244053255590094399035769509543925469712066603461786406644336695677542616013516418448030134945887027830387083009725073032031043138353336842989715124867421269043988688163308663709508979827531062805717286265456215322616360669501660324093144313390205290015392768409223659008469324876031128296050892766977576359616503056514667279884270067426927404362865629157142554131572814093372315268685796815256896320654682030370473199857670024722136972672945749144229678432836355817112002107084284738717974279656332515484767411719976938380657951912972693126414023253896408474303317319119328983086272189082972281311728285656032314937137363786098720592787114487144846297254972843263529989374205461339348721099147672983606529802703657952622305076869914880578604406612070119834649059411440936405148393127566428923587301041283910805609609994176466106629612674547304632168804772731226582737787367643868036371174894674636697126609880627852517207336268074486132649002075300294354082821216598520599337625793722401808879553675627095485501945538268551913345869956159338532509493399739788414858526021846964627118116109152493645583998717360868288902681513334664120850227009683806498775431181889903879241140740561745953876935215422216702723277025839521394317722165999084520981825012229657367264872463021356697519308801721174416715661303744215647364925659926681019713765922043586469185623596586421414309635056778926870612923641461437490407344695871866810754492780461357917449794112323800316840274546217329521311881088123416525137374381180699702377903392125541998891815113970620535171393823259414605217113977967171092270476436921072100472387673410818873487312285092815630415181522573798682404882389810973165630518997087470946348352578183271032291822886577542905169377477556436617948016845042754422715648474775955332054076070054920453358211014220566482870971778188514903337104285227046572765401315416666994768551950271908675178115615750525358460264522549203406833687783084795507643296929560662930507361042049023114649074692996373278265756477400873841466372281417689979828182989381370151800234730876312716939495044646323363662993511176848261182637581321019753706416603203563478179973155790929863000293714262886329252912673879473038261973755039816067135364223403939220777158752726091384992898579704124891179332288733661471529520235430956334793048042041838301772836132731405350985709418932906439803017241979467730647437937071132486565414541251080903096198614484824177327853351543853330288207187026713131132301647828400757860743327435069471972926610758818365757916663968912212792040944253027679326650116630992593800524782172861320014204260435496240451768300874060448724327454473565831600608530495148566007533575651408769650821614945934553925487405101148040639603709364100958421175083580967486678426410100707345383418203584574330601679567081848036407523553795020746381624199026072476795812093914048449020386123944305280503221293625664349038475813177334022835643064882181607595265703027004856842520933870646682548357794539384697603350283808913939391397441139569144511012247241912341154220384798403398493054604415623849651 322029228904618680134483716241339607634237910759098962038050410441144523398577898968397436098930791717625636941214638793642124971543922024600487727341052420612794754661860580233424445063648388523703249692792016552709926005021810896543102073169863249533567965704278163188499529811846651612243079286169061601912620973964889736010199704865454096579859505622881984236181350711702266263664568069760272001127386765491545034443429187295754603647997632425681441648624453836987273218258232218150045838394378178730095282348200595512838549533437552741801774768422711186844113664860551623006463206227835071551927923606225291852124388281612012724162712035615462791959174636256555172150932312337433592991760645615466021959517314102624081186168204024826912909152371909578950583516547429296402556068755768074610805458944487218122567109418208015802505977531328202394733904604196204720320471920319891668906893392770808904169926407983961207021402882960658169986826353092981683103816733106230025659368916935595363707199858329451892148684579031443652798359491000627687694431463125055441710225979467031771307978701638015397668221233586162015815887634872900448919683649935135535670002924450597408812782262640567448074729452211107586785924432651515708114130743158855374045379203704151608310403036952671138027586110178636459578248671343877581792504550086617635437950108934956095535254748805555320733812263461312881503661063747643128646179882970816235562765697994337952783116698291146934992215737929602406271965595867759899017234006756383942720758385928510427992709946197847379533470625462365074109690673738059160700584054062201740393733349327865027239896351077757300889242122014382582898761249721307392226072428349420437836510859084583169508072894853311752004705680189102217521376697313133734287177438159206880043992855943526730980443465329143949164350723033471648934202980376755887269688684905174797477010173850812542546382944598783830891701408754622789076719492101278491995728859446681645562732522082220959355981817584662977940697635746142249697166126025590111543568940581674997450338943326702128204273004482413298682490406277058953793952351959652027563829897507821622678861854198443125884859229493930008039407117581858846386957098836307412019391610325759002642556410618810130852367568980332720678989104759273615671200445336821502606171962613302276286104206757749349141310555967071734024544941101744898345252657436776936770582492019520788836955273362160353172164968544374709801205821967580329284020946367296484508918467133483329191817365159012547720883480828104806040700024553982905277605908845467241518719589078609523455675426482129979693972906618387208387128403048092678633071119256275572697594168772241779354173450756292156143453175073007250716665169055092769602638301736029214766701683986174599798685216902046467992841534456453228572621226212404182655391427918462647630800616536692304764708363274219049968058834541495256959273383500373023658381506318915313142286108583533392209816657106396836636880118159836781574280611780101094211779060744882290815712512458735291805900201327107502391894485744531396688709284921665247718729013481279500946186602239812050545413689133257576634955865930490354987684971130780302361712553521047363478982726814465981670042623882167794250418463164991330660429529747572209766840606048431379210407126715490779907109962993648235863870098224028549130035871931625555036921299826096630970415147245180941743817976044012706821788562073874090067793167681224358633803529459948528007558399652196610890270786071591326343827818420326942320804971333045104240234937403839430999240138045034348648438223048207808409497536468987304227692169493050000035298225323005512598582305353907275500520351851009893469067254315800072268782464522828618009135146678839227324260498 521054237738593094364164235863247766605635782753125605505146753447943758393459872327310062904157015238798968879260524568331055323672524869865204830168190182761370260722174559136661384925869432043117888799331331152698670208225458970823999439095858481407507727773690674389384184092030169445963575994837922018488579096501991831419573683175593550941549959237461835005381237605193334938755498322969884616244233518559958077789891566606521471473114366739992040055012951795088030588883513934173941827504716560009061662746720889901526392699864073588652568011820342704215646952986206773925088461625437701229428351392009619296653810305171625451922477221895444638756647584455002559497657556390689183086159681384975565884987026169227542972574848361522590451768385425997398613651493316324232943151765493147642836502082840554965556824543075437071549966219491511058443413584023735783126189206585347884229509753440310564494019552297351412311418275729067393645834822417857714232112783998997003235728533438651878374479742599519319076088941897072809940913622573441781066746731810852256967122300121713801678451901495685422390358206259107764960117313305736804736795652042219820408720898730253741328267030052287425013110110163020559479050846674769604522605046476174493374362289976340691282684348680956794059901047316000245676969264130992068937350847341590478701480098309161556874603469904702993717418793264016539456283368824513043526758487377428305682600347053749393719521846684274501421139325230643690182771205477754075483340636369058490025390554733283159219292683985215023401506996637259748746387800347939788553101261398469814879865998329940327534250433898973899409841459640176305300570129274983019321557930294958706388424204954539328846605404346711491793120538715124064486003815429242886780823022157924240912281758625040065644564315556153632970849498464653538838082221517496449015642561840390219693712897127838382067777262320949829976222390579635018734086756973741513352426378755483366737149237743524703571629182510322904621717349512064293283635311649186697964983250216731776377209556250343589641763411827109170549301160769839415151869801753764351364146737782367840008383166079531249301384366868311188739109495485250971928955990651421382639926781719582262057161627732788098023459839456769641751089577146947026490073932649106595421802377794824850084786611640139160114476186486068821495491289454323081616284949259663514313487661396998345273573221379005395926587684192849485756537876043650384204474304578310705075401338105261517706720702263297774767456246229420222707694793105933177186281086961082992044078049343132072659082260169913064489480549915316769050058910409134727656185768330968569070872434528719180228014917128573573833433003255996632086816969289823645915355241231073861090065346979685776646946399539627789012595240873056432136099406185559973585254428212176910517129869449366184237746625247974089784125969905718660898494160659125749749766499217495017267177287915822125871288186626632267593214911207878823412582384616233825617130046454301223722152315475977271273630848765044573524381051159072647769612381120279732542906341334631044799516890446999077258544821434905405035713726673817790057156944057391061180078311437711332391195518855410234697721950532284425243012263689773503521749543951832645263081057816732253270855851042945253472941563602178731012436105757604200538805522753240500971475225313501732118455786848890305844776397219096287789275240500284190775138551099427943208134131139515609855594807175750405911017167695790352416304614232420856369253991719169048545515440625133056663589176520847525982461058691272690591105131734690331232549012013983870681980773680800051983279908704191084414459743248451033038211765328047314181123618743213416412533639733443642948110149 843083466643211774498647952104587374239873693512224567543197163889088281792037771295707499003087806956424605820475163361973180295216446894465692557509242603374165015384035139370085829989517820566821138492123347705408596213247269867367101512265721730941075693477968837577883713903876821058206655281006983620401200070466881567429773388041047647521409464860343819241562588316895601202420066392730156617371620284051503112233320753902276075121111999165673481703637405632075303807141746152323987665899094738739156945094921485414364942233301626330454342780243053891059760617846758396931551667853272772781356274998234911148778198586783638176085189257510907430715822220711557731648589868728122776077920327000441587844504340271851624158743052386349503360920757335576349197168040745620635499220521261222253641961027327773088123933961283452874055943750819713453177318188219940503446661126905239553136403146211119468663945960281312619332821158689725563632661175510839397335929517105227028895097450374247242081679600928971211224773520928516462739273113574069468761178194935907698677348279588745572986430603133700820058579439845269780776004948178637253656479301977355356078723823180851150141049292692854873087839562374128146264975279326285312636735789635029867419741493680492299593087385633627932087487157494636705255217935474869650729855397428208114139430207244117652409858218710258314451231056725329420959944432572156172172938370348244541245366045048087346502638544975421436413355063160246096454736801345513974500574643125442432746148940661793587212002630183062402934977622099624822856078474085998949253685315460671555273599347657805354774146784976731200299083581654558888199331378996290411547630358644379144224935064039122498354678299200023243797826218904226282007380512742376621068000460317131120956274614568566796625007780885297582135200221498125187772285201894252336285331246745565017170723070978650924614160206919733660867923799334257807810806249075020005348155238202165012299881759825745662927611000094985882562414985258206542980801437674776809508552190798406773827548499577045717846036416309522469231791567046898368945822153713416378927976635290189462687245020277974375186243596362241196778516613067109818315913089487728794659318392045341264699718038351598228875827408437102362430078681906220642161274377985928098027974340408127126370890818397888509255786742453140555520036230556067979961537606696440451084070153416519134110528494741165749098752652737224195557743698011230713488495250945607189584319805238744846898538067422310322488339727057525028748394817659916082463886995806550233562797638421741596114757686652043044183453456533703977437187313457227406289256887587244141768466603300960959582188367884865729976886178329003882803482138344916415517993542967103075856767030965860376445631616441674257005436775329509660708720632397964156240645856130639558147930485986058489002454988522193139752184804447213917857767544159498773408148005536410330409463396499355518081104843733029104230095029367715604986862996396334919828909107199183514537864827934712563079531050092152075916275536903604044458321666041944980261635354815910545745703492686811127803958510568162981670669592604308145044841915188171363541790864958758695870178245669876216367764574414452219493430726854764834182179073699404855029921663865163632481262977758436033380051526595826966876306203981632749668841394684866056008396525139598363088870934094071247588594373263108994611063802574158280842931718780652301841937660599464137863153206827947016801287953767381678760132432652747798690058963052214152785750378028972487662829314565881874630899281739480499000602668203677635460241181507033870717278999003805564581862214058098359914980095099460926507279019643847386449906083266042034421668786412282870272370647 1364137704381804868862812187967835140845509476265350173048343917337032040185497643623017561907244822195223574699735687930304235618888971764330897387677432786135535276106209698506747214915387252609939027291454678858107266421472728838191100951361580212348583421251659511967267897995906990504170231275844905638889779166968873398849347071216641198462959424097805654246943825922088936141175564715700041233615853802611461190023212320508797546594226365905665521758650357427163334396025260086497929493403811298748218607841642375315891334933165699919106910792063396595275407570832965170856640129478710474010784626390244530445432008891955263628007666479406352069472469805166560291146247425118811959164080008385417153729491366441079167131317900747872093812689142761573747810819534061944868442372286754369896478463110168328053680758504358889945605909970311224511620731772243676286572850333490587437365912899651430033157965512578664031644239434418792957278495997928697111568042301104224032130825983812899120456159343528490530300862462825589272680186736147511249827924926746759955644470579710459374664882504629386242448937646104377545736122261484374058393274954019575176487444721911104891469316322745142298100949672537148705744026126001054917159340836111204360794103783656832990875771734314584726147388204810636950932187199605861719667206244769798592840910305553279209284461688614961308168649849989345960416227801396669215699696857725672846927966392101836740222160391659695937834494388390889786637508006823268049983915279494500922771539495395076746431295314168277426336484618736884571602466274433938737806786576859141370153465345987745682308397218875705099708925041294735193499901508271273430869188288939337850613359268993661827201283703546734735590946757619350346493384328171619507848823482475055361868556373193606862269572096441451215106049719962778726610367423411748785300973808585955236864435968106489306681937469240683490844146189913892826544893006048761518700581616957648379037030997569270366499240182605308787184132334770270836264436749323963507473535441015138550204758055827389307487799828136631639781092727816737784097691955467180730292123373072557302695628186357505624487627963230552385517626108552360790244869080139150177299245173764923526756879666084386326899287247893872004181168259053167668651348310635034693449776718202951976455677430038027669370262928939209377015527520010391061577822555956103965397557814813517479384101716120171145025340336930073681314281574054881097692969555523917894659721143344006364605258769685608097255795973286945251456089610765849259650168082767633225606875687764873668773839946821956108672934006449020746487246223866362133945442655918212710839339037829680139810203285013439303810319181585000514890299107634740061433348784198176936946832377945546153092578015981302046018032016202566092844820038583524129825900284342816468665060355435424673240201613770167229536310774352932578756261704818624523157914504753905347676640684415177643952393030359661371823309940575594428399445381012568745446039153653484738260017143410689834353161898857196649440656588062676692227934047162224712804541696150541590545220383133810205062503332003068386706383319278125935101998859245562424721869176396470028261373764525286451065486524946736644736442990544538337703928617651237500293002721681895885752118828801381286852993090198005697888742309739236950207646917438106556979871750453100095207326720942961553433370770482205282400339043074442471618070269880080245050071791738979747718748014003697422712305121463172031176437046885168655059312954771383201331265818654105544326418491086729400613360340430753189591707799938367966692790193521017741399259772684605616565142122762289444329439838347911959545490784971894700631029702009255450834202426145726513220480796 2207221171025016643361460140072422515085383169777574740591541081226120321977535414918725060910332629151648180520210851292277415914105418658796589945186675389509700291490244837876833044904905073176760165783578026563515862634719998705558202463627301943289659114729628349545151611899783811562376886556851889259290979237435754966279120459257688845984368888958149473488506414238984537343595631108430197850987474086662964302256533074411073621715338365071339003462287763059238638203167006238821917159302906037487375552936563860730256277166467326249561253572306450486335168188679723567788191797331983246792140901388479441594210207478738901804092855736917259500188292025878118022794837293846934735242000335385858741573995706712930791290060953134221597173609900097150097007987574807565503941592808015592150120424137496101141804692465642342819661853721130937964798049960463616790019511460395826990502316045862549501821911472859976650977060593108518520911157173439536508903971818209451061025923434187146362537838944457461741525635983754105735419459849721580718589103121682667654321818859299204947651313107763087062507517085949647326512127209663011312049754255996930532566168545091956041610365615437997171188789234911276852009001405327340229796076625746234228213845277337325290468859119948212658234875362305273656187405135080731370397061642198006706980340512797396861694319907325219622619880906714675381376172233968825387872635228073917388173332437149924086724798936635117374247849451551135883092244808168782024484489922619943355517688436056870333643297944351339829271462240836509394458544748519937687060471892319812925427064693645551037082544003852436300008008622949294081699232887267563842416818647583716994838294333032784325555962002746757979388772976523576628500764840913996128916823942792186482824830987762173658894579877326748797241249941460903914382652625306001121586305055331520254035159039085140231296097676160417151712069989248150634355699255123781524048736855159813391336912757395016029426851182700294669746547320028477379245238186998740316982087631813545324032306555404435025333836244446154109012884294863636153043514109180597109220100008362746765382873206635479999673871559592793582296142721619470608560782169626878971958563565810264791456597704435984555775114656330974366611246940959388310812622688620962791477751058611079102826568248435916178626049671392349932535563750566459041539360162652544416481627968230036613494630210861336894124092989667297876872025272066111811181464806469525084244040948582751211503796837107918419744135700344470280204484428425765342114055078574183459169673326186615264888597633473999152856387462982724723924433537323589540234699543505456852607805641130641099392391652898305033787205359914004397693781245979656476951342327165280012803599408911406529538209632422976303023468791532075753553540670981488286066546140473456026812990841421483162242656602292360369288495578800146496614029248978123296566062510290315678086104080914533162033497874092690476053404969943310033386308377408903665274948260852668252797881971345402397432692948949348725356932124966280736686255713204169693066177050966452136290923875820621332866461842571231368377052911882434080146840774433733788263660041355228724131552010195162667433251099361188864229873717399303171886107691350642355322924385547059518233381806559817320233044616793832664765048513720869699876488312122972612988268275592698458296197655037032801021965143745314277011402845648600752461001988660732546892009452338443885581901220831644439513593075230553709936569479537916453749371917823597354117016196683078031989247805652611275244259622170233688592310468142045602153031375028051612116538771688411181147004336820387804244419933447372886052769804615742087080935785275297485255871212558009383492851443 3571358875406821512224272328040257655930892646042924913639884998563152362163033058541742622817577451346871755219946539222581651532994390423127487332864108175645235567596454536383580259820292325786699193075032705421623129056192727543749303414988882155638242535981287861512419509895690802066547117832696794898180758404404628365128467530474330044447328313055955127735450240161073473484771195824130239084603327889274425492279745394919871168309564730977004525220938120486401972599192266325319846652706717336235594160778206236046147612099633026168668164364369847081610575759512688738644831926810693720802925527778723972039642216370694165432100522216323611569660761831044678313941084718965746694406080343771275895303487073154009958421378853882093690986299042858723844818807108869510372383965094769962046598887247664429195485450970001232765267763691442162476418781732707293076592361793886414427868228945513979534979876985438640682621300027527311478189653171368233620472014119313675093156749418000045482993998287985952271826498446579695008099646585869091968417028048429427609966289439009664322316195612392473304956454732054024872248249471147385370443029210016505709053613267003060933079681938183139469289738907448425557753027531328395146955417461857438589007949060994158281344630854262797384382263567115910607119592334686593090064267886967805299821250818350676070978781595940180930788530756704021341792400035365494603572332085799590235101298829251760826946959328294813312082343839942025669729752814992050074468405202114444278289227931451947080074593258519617255607946859573393966061011022953876424867258469178954295580530039633296719390941222728141399716933664244029275199134395538837273286006936523054845451653602026446152757245706293492714979719734142926974994149169085615636765647425267241844693387360955780521164151973768200012347299661423682640993020048717749906887278863917475490899595007191629537978035145401100642556216179162043460900592261172543042749318472117461770373943754964286395926091365305603456930679654798748215509674936322703824455623072828683874237064611231824332821636072582785748793977022680373937141206064647777839512223381435304068078501392992985624161499522823345967813768830171831398805651249766029149257808739575188318213477370520370882674401904224846370792415200012555979463970999255997484927527776814031079282245678473943847996312600331559309551091270576850103117182718608648381879185783043554092878731926981508039149433326597371558186306846120992908874434361993442978903762091926757576109055606793526516999931673631415531660574039191614601764223161341816684776549013951488933662437580295955261529321469431745470411679761189951674180142199423669563447144678960321239202594937911744337597524541499004912584080353614396538384691111363456949750431786856952682630787648404278349041500807734641846398360709565012415892446424816272495478051196856907835482858216062527598824806353153079075370290953796747819723977015044221025762744765329710805985890904452351847876714910518904461785753758421472410720987414506152991057899114756092231785854847806545374797588713028957428914189760366394405870718747116993726836144258954431537928965174574299755083436231160560015248839633679296212985529217751698752392925774720449118498737624307925508966316707943841509590036309001879855615927107228955403985500635361198607086037706991838362653790823460106650084135229561079169968140026045798553503524375979994354455335914227519559411741888723043224079072258540812791942081244077423633300649234835341862225898196693725741113006526423085108808684872594980555448282015337183576315666296739340675857619962600986878184018268080413568845821568549069353515798544373016797712146459582677248573859771795284845598260589587636787711965487284552936090073638703735896713332239 5778580046431838155585732468112680171016275815820499654231426079789272684140568473460467683727910080498519935740157390514859067447099809081924077278050783565154935859086699374260413304725197398963459358858610731985138991690912726249307505878616184098927901650710916211057571121795474613628924004389548684157471737641840383331407587989732018890431697202014104601223956654400058010828366826932560436935590801975937389794536278469330944790024903096048343528683225883545640610802359272564141763812009623373722969713714770096776403889266100352418229417936676297567945743948192412306433023724142676967595066429167203413633852423849433067236193377953240871069849053856922796336735922012812681429648080679157134636877482779866940749711439807016315288159908942955873941826794683677075876325557902785554196719311385160530337290143435643575584929617412573100441216831693170909866611873254282241418370544991376529036801788458298617333598360620635829999100810344807770129375985937523126154182672852187191845531837232443414013352134430333800743519106435590672687006131170112095264288108298308869269967508720155560367463971818003672198760376680810396682492783466013436241619781812095016974690047553621136640478528142359702409762028936655735376751494087603672817221794338331483571813489974211010042617138929421184263306997469767324460461329529165812006801591331148072932673101503265400553408411663418696723168572269334319991444967313873507623274631266401684913671758264929930686330193291493161552821997623160832098952895124734387633806916367508817413717891202870957084879409100409903360519555771473814111927730361498767221007594733278847756473485226580577699724942287193323356898367282806401115702825584106771840289947935059230478313207709040250694368492710666503603494914009999611765682471368059428327518218348717954180058731851094948809588549602884586555375672674023751028473583919248995744934754046276769769274132821561517794268286168410194095256291516296324566798055327277275161710856512359302425352942548005898126677226974827225594754913123321444141437710704642229198269371166636259358155472317028939857806861317544010090184720173828374948732323389798050833461374599628465623835371082416139550109911551791302007366433419392908121216372305385453109670075074956355438449516560555820737403662140971944290276593687876960276405278835425110182108813926909860026622362271723909242086655021143309144656542881261192798360813751273590706373362137842844933273526316264669435058332118187104720055899168462968063147803040509508787612852443901444936744067373975885811865058467617379943878278239916000143946222340138104198551035213769954414385708932414470194336113298513541214414841742929126416054950320090962338594986590810049371384729901413009310277861599594053015336033438528736962554031195768359212168997280827254652064969599266717599951901380546500701958992565289728522291042038278390997725514818354887968113301931953225571984320202774871116290039525334536703848848846244243968019388778545042323930119880462214495172062135830376075995935675358821243855781086101494629218547796755894100154520837995238165600445473570564098936895798083445863127068134775052870795427017145531123460489143042994095395680408113030001249189259106927476524477784915611785931988723669114373196190425343144681476144000352522210938851492776014922218882441921015927319082323785671027418839337180976349960623541684051782956408301638497011799722031017027155477301057972833836423144734371643976540074247201545338834090696415867518882550455666986301739491271924279451049576005961001562558056790418577909565298212020261608304914102391951951101879584771220566776328736222459170998852943577120965632337316061427978859150796403065052818279705242657731651030394203378874792901272559850421345944851261745280206183682 9349938921838659667810004796152937826947168461863424567871311078352425046303601532002210306545487531845391690960103929737440718980094199505051564610914891740800171426683153910643993564545489724750158551933643437406762120747105453793056809293605066254566144186692204072569990631691165415695471122222245479055652496046245011696536055520206348934879025515070059728959406894561131484313138022756690676020194129865211815286816023864250815958334467827025348053904164004032042583401551538889461610464716340709958563874492976332822551501365733378586897582301046144649556319707705101045077855650953370688397991956945927385673494640220127232668293900169564482639509815687967474650677006731778428124054161022928410532180969853020950708132818660898408979146207985814597786645601792546586248709522997555516243318198632824959532775594405644808350197381104015262917635613425878202943204235048168655846238773936890508571781665443737258016219660648163141477290463516176003749848000056836801247339422270187237328525835520429366285178632876913495751618753021459764655423159218541522874254397737318533592283704332548033672420426550057697071008626151957782052935812676029941950673395079098077907769729491804276109768267049808127967515056467984130523706911549461111406229743399325641853158120828473807426999402496537094870426589804453917550525597416133617306622842149498749003651883099205581484196942420122718064960972304699814595017299399673097858375930095653445740618717593224743998412537131435187222551750438152882173421300326848831912096144298960764493792484461390574340487355959983297326580566794427690536794988830677721516588124772912144475864426449308719099441875951437352632097501678345238388988832520629826685741601537085676631070453415333743409348212444809430578489063179085227402448118793326670172211605709673734701222883824863148821935849264308269196368692722741500935360862783166471235834349053468399307252167966962618436824502347572237556156883777468867609547373799394736932084800267323588821279033913311501583607906629625973810264588059644147965893333777470913072506435777868083690977108389611725606600838340224384027325926238476152788244546771233354901539875992621451247996870605239485517923680381963133406172084669158937270474181044960641427883552445476726321123918464780667108196077340984500269740564687132957761332806612239141261391059605383803874618674872055468551637746291720159247773725599869841180239999534317144799252094064824352972422959642862040993244638964308097628930333530456411042051565132436266363721908050694971453743999047607301343525632506808994545642501401257816828722771354089593132213472794065909675915030401846215664747793059703492888594983942352795979502094999051283577797581528721793708982254442912014222861941953208449553720724549892193912304462982625311894799784929231533001106470407001359446350262090111513117851438990106001017769093235135298833208373034417415566938108285106304647354611156571618936014016540378757729611593611573954774005279682997394171806834790981118956957815894251848486716923089864974234913680200857586861004402644562439474952109551024195594514635233936958504807614545200439589963212393729484408724392191719830878543925374203554110644520041792326214234718476858626228917403559636060904430726347977039882162507133286986191066180309354402066554778600004970326204383077282214534405120030777509390072630160641083000044758771245130952924548327684295565303246406997021509932636972200353395834886623094687200619146505742358130776171940493291152183199690502328163965389468618005192162582532384086671366741663013558465013580227357445184620580399131292626959499547372207444960347004302872739844674512126190319148135860434444776571297255985742301392139477037942577249290983791015662504866759844403357436018489965481176919515921 15128518968270497823395737264265617997963444277683924222102737158141697730444170005462677990273397612343911626700261320252299786427194008586975641888965675305955107285769853284904406869270687123713617910792254169391901112438018180042364315172221250353494045837403120283627561753486640029324395126611794163213124233688085395027943643509938367825310722717084164330183363548961189495141504849689251112955784931841149205081352302333581760748359370923073691582587389887577683194203910811453603374276725964083681533588207746429598955390631833731005127000237722442217502063655897513351510879375096047655993058386113130799307347064069560299904487278122805353709358869544890270987412928744591109553702241702085545169058452632887891457844258467914724267306116928770471728472396476223662125035080900341070440037510017985489870065737841288383935126998516588363358852445119049112809816108302450897264609318928267037608583453902035875349818021268798971476391273860983773879223985994359927401522095122374429174057672752872780298530767307247296495137859457050437342429290388653618138542506035627402862251213052703594039884398368061369269769002832768178735428596142043378192293176891193094882459777045425412750246795192167830377277085404639865900458405637064784223451537737657125424971610802684817469616541425958279133733587274221242010986926945299429313424433480646821936324984602470982037605354083541414788129544574034134586462266713546605481650561362055130654290475858154674684742730422928348775373748061313714272374195451583219545903060666469581907510375664261531425366765060393200687100122565901504648722719192176488737595719506190992232337911675889296799166818238630675988995868961151639504691658104736598526031549472144907109383661124373994103716705155475934181983977189084839168130590161386098499729824058391688881281615675958097631524398867192855751744365396765251963834446702415466980769103099745169076526300788524136231092788515982431651413175293765192176345429126672012093795656779682891246631976461317399710285133604453199405019501182965592107331044482113142270775806944504343049132580706640665464407699657768394117510646412304527736976870161031405735001250592249916871832241687655625068033591933754435413538518088551845391690553350346094537553627520433081759573435025336487845599739481956444560017158375009918037738085447664251443499873532293663901241037143779377793724401312863468392430268481131033978600813285590735505625456202667197905696485959126710428302971082495202348986232698919379105199368172945775151334760494596416390488066421583187155390690974426374489520779641173816972668993694227697330764508007835864090300739334260685859083906358217034103009825685281922395557045319142245916392568119531843080366984344325023533139803552802502569056757988420930874858494178393671106968782210058787653171440006268077046302163470658013819810431555395729540060135273413689830933887852772303535051410217059530219338931359346490052304056065713294433460442457818198742024668461542436495736954671443333452129878030082224562712858765223795478769461286959081490222950441318333575106630389019433760115080707507522603744510343283885453090280528504537279519819208865362002004414517246548206040200449905356215483907735965553705441881344551672690362715071646154255358697558630130872542324309706924277493630092780985248423265519203230461724202354563180417491469497822059350005382312929182735880956629322792577102968438014048665409938030173187232258031357466331177159220752943903469610262636909158671065750146169314465704880740542284643212158538345088233924798453432136374578878439377706792925494501523244578061379132143428011736675740525331910843527455703311284780473176495872755430448052388807354210419182280600308900321377994394537297768032404253778781963341227226457125699603 24478457890109157491205742060418555824910612739547348789974048236494122776747771537464888296818885144189303317660365249989740505407288208092027206499880567046755278712453007195548400433816176848463776462725897606798663233185123633835421124465826316608060190024095324356197552385177805445019866248834039642268776729734330406724479699030144716760189748232154224059142770443522320979454642872445941788975979061706361020368168326197832576706693838750099039636491553891609725777605462350343064984741442304793640097462700722762421506891997567109592024582538768586867058383363602614396588735026049418344391050343059058184980841704289687532572781178292369836348868685232857745638089935476369537677756402725013955701239422485908842165977077128813133246452324914585069515117998268770248373744603897896586683355708650810449402841332246933192285324379620603626276488058544927315753020343350619553110848092865157546180365119345773133366037681916962112953681737377159777629071986051196728648861517392561666502583508273302146583709400184160792246756612478510201997852449607195141012796903772945936454534917385251627712304824918119066340777628984725960788364408818073320142966571970291172790229506537229688860015062241975958344792141872623996424165317186525895629681281136982767278129731631158624896615943922495374004160177078675159561512524361433046620047275630145570939976867701676563521802296503664132853090516878733949181479566113219703340026491457708576394909193451379418683155267554363535997925498499466596445795495778432051457999204965430346401302860125652105765854121020376498013680689360329195185517708022854210254183844279103136708202338125198015898608694190068028621093370639496877893680490625366425211773151009230583740454114539707737513064917600285364760473040368170066570578708954712768671941429768065423582504499500821246453460248131501124948113058119506752899195309485581938216603452153213568383778468755486754667917290863554669207570059071234059785892802926066749025880457047006480067911010374628901293893040234079173215284089242609740073224378259584055343282242722372426740109689096252391071008537997992778144836572650780680525221416932264760636541126584871368119829112292895110585957272315717568819710602757710782662164734395306735965437179965909808080697353490117154953795816822940944829757723062142875799070892059903392704890933137677467775859712015834846345362147604583627640203994081000875158840812819907880304877550267491550878119445601988751421547610046803299977916566229375790147250933305382041515056668545291387844232065469190488498916323481235369035163281042431633801391765048317290462977980801901773766215769736106901523831699417920526991604809627634718375059140318193529494190149648253636789349238787237037756001745506010952122777482538313124787162957161018983001768567139290320654277910413269436492652425560769526937661870545501730557829228508548988664142260887189719101989518502165834866693542515918108988318072606092052163072036069392153516029948144539830667543789462424452409087693924334073049429781855088769713683141487816668351227353085880773050058739940043629354629715941444481108552124888484325043053492922234021688244211400585192880548339891450102316684720491697682429718626212824179934359284904187733594793441419623194137521204691917117063608504619061326344048408692785955574627648596485444996129322385340689807564099658463142350050141084174313688805504957007088142406214845011070175342575002373540628092917980561018377778367258686261600386434577402449823248949836671642629670270209160289835374741070729174905291540116445694839592458666735151977546074900654537205020878679515635456697022744828204650688201967829501603928609036930317532001745308374549655602558659318542886149612361785410199802634792248657136217981831192707634045215524 39606976858379655314601479324684173822874057017231273012076785394635820507191941542927566287092282756533214944360626570242040291834482216679002848388846242352710385998222860480452807303086863972177394373518151776190564345623141813877785439638047566961554235861498444639825114138664445474344261375445833805481900963422415801752423342540083084585500470949238388389326133992483510474596147722135192901931763993547510225449520628531414337455053209673172731219078943779187408971809373161796668359018168268877321631050908469192020462282629400840597151582776491029084560447019500127748099614401145466000384108729172188984288188768359247832477268456415175190058227554777748016625502864220960647231458644427099500870297875118796733623821335596727857513758441843355541243590394744993910498779684798237657123393218668795939272907070088221576220451378137191989635340503663976428562836451653070450375457411793424583788948573247809008715855703185761084430073011238143551508295972045556656050383612514936095676641181026174926882240167491408088741894471935560639340281739995848759151339409808573339316786130437955221752189223286180435610546631817494139523793004960116698335259748861484267672689283582655101610261857434143788722069227277263862324623722823590679853132818874639892703101342433843442366232485348453653137893764352896401572499451306732475933471709110792392876301852304147545559407650587205547641220061452768083767941832826766308821677052819763707049199669309534093367897997977291884773299246560780310718169691230015271003902265631899928308813235789913637191220886080769698700780811926230699834240427215030698991779563785294128940540249801087312697775512428698704610089239600648517398372148730103023737804700481375490849837775664081731616781622755761298942457017557254905738709299116098867171671253826457112463786115176779344084984646998693980699857423516272004863029756187997405197372555252958737460304769544010890899010079379537100858983234364999251962238232052738761119676113826689371314542986835946301004178173838532372620303590425575332180555422741697197614058049666876769789242269802893056535416237655761172262347219063085208262198287093296166371542377177121284991661353980550735653990864249472004233249120846262628053855287745652830502990807486342889840270788515453642799395556304897389389774881437152793836808977507567644148390806669971131677100749159614224139086548917447096032634262562131909137441626105498615810503006470158748783815931561115461849850581129298502326902798928295169252450301478327816666391429039887804234720131890773675654307014455661743524684060683605450774060758742544987793742488809737637856516509070367587382915605776137561094614635312916640770616185637335775410582717767785479869716223131562061289141549058813454691834240526734055662021451339412654108737349349349108307449350419537513538954589031427540757472302100897460097889363781962678495076148739962022637040928719225365086032473875264599040622128671805346596532478527210352258054616606082267163280744133867785861217571954416297612142640620312565192452602774775749841450303527199106625165370329063063114744796648952003712296635231768210496143773450738558967764030609450554882552754408696650522724920941603038645202533948789733639801166248739406285156156491269348392879902250547247936150828928768250621542038785566940823050914115688675457853524739903870225055569156285201700055523397103496424686461586329880719509183283025118840752513032546727860350949338027349554937588011630165069996697214311608494314699982840957095375150949702574478586899609074263139216338569877831214171337106112858770471569402177781783082257811659063468433698485353536561531729423532812888709082213426190287432193360763357009812977841599143195049933739779804737100402824652910914999945172419934091170915127 64085434748488812805807221385102729647784669756778621802050833631129943283939713080392454583911167900722518262020991820231780797241770424771030054888726809399465664710675867676001207736903040820641170836244049382989227578808265447713206564103873883569614425885593768996022666523842250919364127624279873447750677693156746208476903041570227801345690219181392612448468904436005831454050790594581134690907743055253871245817688954729246914161747048423271770855570497670797134749414835512139733343759610573670961728513609191954441969174626967950189176165315259615951618830383102742144688349427194884344775159072231247169269030472648935365050049634707545026407096240010605762263592799697330184909215047152113456571537297604705575789798412725540990760210766757940610758708393013764158872524288696134243806748927319606388675748402335154768505775757757795615911828562208903744315856795003690003486305504658582129969313692593582142081893385102723197383754748615303329137367958096753384699245129907497762179224689299477073465949567675568880988651084414070841338134189603043900164136313581519275771321047823206849464494048204299501951324260802220100312157413778190018478226320831775440462918790119884790470276919676119747066861369149887858748789040010116575482814100011622659981231074065002067262848429270949027142053941431571561134011975668165522553518984740937963816278720005824109081209947090869680494310578331502032949421398939986012161703544277472283444108862760913512051053265531655420771224745060246907163965187008447322461901470597330274710116095915565742957075007101146196714461501286559895019758135237884909245963408064397265648742587926285328596384206618766733231182610240145395292052639355469448949577851490606074590291890203789469129846540356046663702930057925424972309288008070811635843612683594522536046290614677600590538444895130195105647970481635778757762225065673579343413976007406172305844083238299497645566927370243091770066553293436233311748131034978805510145556570873695851382453997210575202298071214072611545835587679668185072253779801001281252957340292389249196529351958899145447606424775653753950407183791713865888787419704025560927008083503761992653111490466273445846239948136565189573052959723603973410716020022140959566468427987452252697920968142005570797753191373127838334219532604499295669635879869567471036853281739807648599452960461175449070484448696522030723672838256643132784296282438925406496115380556737650299661935377163104213271398191176101802304819365157670959399701234783709858181448097585179192078952197359964164153223337936897112559847341726037084575452523790862278256720469611639411622732278806474488906747305194058088086219444940551359145675325955529304904772867416039116659065461918799099045143294564824406814611723065047180449184408500431637110505916488639428961727260832806950031607014592197067695134172646399190655718592290511667159218409627151741739030447221391199952726016391182708028940201277897398759604514596602505774084564750622097830824533596292238270305265878750370661572422475401334906135744262592418192677656613079879675224110269106692469374512590396484820848760120252535539197266372972580656008242010035747763101094300146752839409641433300721074921160161613913574160451152927139879949597910892542530401106942464364999759333547829576965590447478352896397678562712174120453982847125244560032619668814748344050105664481277810113491966543336968861915398128036189016095088034920268488443867318588367932715955270316426670383131791714058317563649819512599725045421158862864313961640679803438044507878686323526053763795772848010748017644302832318988103136491174698925130721230181741212219931391362314492637691250356507819433938669137906665415536500917686081199546101565214936903037616901568051217927003612641725216130651 103692411606868468120408700709786903470658726774009894814127619025765763791131654623320020871003450657255733206381618390473821089076252641450032903277573051752176050708898728156454015039989904792818565209762201159179791924431407261590992003741921450531168661747092213635847780662506696393708388999725707253232578656579162010229326384110310885931190690130631000837795038428489341928646938316716327592839507048801381471267209583260661251616800258096444502074649441449984543721224208673936401702777778842548283359564517661146462431457256368790786327748091750645036179277402602869892787963828340350345159267801403436153557219241008183197527318091122720216465323794788353778889095663918290832140673691579212957441835172723502309413619748322268848273969208601296152002298787758758069371303973494371900930142145988402327948655472423376344726227135894987605547169065872880172878693246656760453861762916452006713758262265841391150797749088288484281813827759853446880645663930142310040749628742422433857855865870325652000348189735166976969730545556349631480678415929598892659315475723390092615088107178261162071216683271490479937561870892619714239835950418738306716813486069693259708135608073702539892080538777110263535788930596427151721073412762833707255335946918886262552684332416498845509629080914619402680279947705784467962706511426974897998486990693851730356692580572309971654640617597678075228135530639784270116717363231766752320983380597097235990493308532070447605418951263508947305544523991621027217882134878238462593465803736229230203018929331705479380148295893181915895415242313212790594853998562452915608237742971849691394589282837727372641294159719047465437841271849840793912690424788085572472687382551971981565440129665867871200746628163111807962645387075482679878047997307186910503015283937420979648510076729854379934623429542128889086347827905152050762625254821861576748611348562659131043304388007843508536465937449622628870925536527801232563710369267031544271265232684700385222696996984046521503302249387911143918455891270093760404434335223742978450571398342056125966318594228702038504141841013309515122669531010776951097049617991118857093379625880939113938103151820253996581893939000814661577286208844450236038769875309886612396971418794938595587761238930521024440552586929432735723609307485936448463472688847075038681001672546477619731130061210335063294623535245439477819705472519205264693433724065030905111925883563207809048445751308724219675121248772305400304631722164085966128652151536262037674847839526625066996313672329250737839807530352392558856084531402409642535349513282533407266050462958421377049479248787876842076289662910970195649180834080253467999916291511592865080315355585183824596528781685050361160334284843623637861506445963591781236111205859839844291219243265837988537269176611252344463570561603623624608452606474747296650753607956072474345654294558367113764376071375940616565038758490266447307069562329949702745356136993123812858032139181356704364994105277730160024131522837833166668273715063095713900098588347037368168034127960140278986300389480598169755584119309239348488533145395352020746035341039823711139623772272619486302645653848708843403362134562374903759720123694110403647213961617401666546165105754402161890923281009193011612935910162476597827587132486263919837220729476827862795911836371865148430257675237971033545750161187878381306538178428129666849581424581411061307856847601067466996348794816656615717487653543281946591740379829006025666811878349802353556820420572108565438792548540288877701183724217256201357267935132878960869518489213705010100771185394302833762393564419715535277773751660814895127381346773463782698106866132029901263675228514342516829276249479841345019674003440441554478966217872176032575816387045778 167777846355357280926215922094889633118443396530788516616178452656895707075071367703712475454914618557978251468402610210705601886318023066221062958166299861151641715419574595832455222776892945613459736046006250542169019503239672709304198567845795334100783087632685982631870447186348947313072516624005580700983256349735908218706229425680538687276880909312023613286263942864495173382697728911297462283747250104055252717084898537989908165778547306519716272930219939120781678470639044186076135046537389416219245088078126853100904400631883336740975503913407010260987798107785705612037476313255535234689934426873634683322826249713657118562577367725830265242872420034798959541152688463615621017049888738731326414013372470328207885203418161047809839034179975359236762761007180772522228243828262190506144736891073308008716624403874758531113232002893652783221458997628081783917194550041660450457348068421110588843727575958434973292879642473391207479197582508468750209783031888239063425448873872329931620035090559625129073814139302842545850719196640763702322016550119201936559479612036971611890859428226084368920681177319694779439513195153421934340148107832516496735291712390525035148598526863822424682550815696786383282855791965577039579822201802843823830818761018897885212665563490563847576891929343890351707422001647216039523840523402643063521040509678592668320508859292315795763721827544768944908629841218115772149666784630706738333145084141374708273937417394831361117470004529040602726315748736681274125046100065246909915927705206826560477729045427621045123105370900283062092129703814499350489873756697690800517483706379914088660238025425653657969890543925666232171072454460080939307982477427441041921636960403462587640030421556071660669876474703467854626348317133408104850357285315257722138858896621015502184556367344531980525161874437259084191995798386787829520387479887535156092025324570065303349148471246143006182032864819865720640992089821237465875458500302010349781410789255574081074079450981257096705600320601983755464291478949761945476688115024744259703528738634445375162847946187601183951748265788963269073076714802490816985837037695144418020387709384701106591214642286527442428133887137379851150339168568054209449485895332027571963439846782390848285682207072526595238305778302560574057828840090435744133108568716642509717854954286285268330583021671510512365107983941961508543378310775848397477730006503956311608041264119945459348107686685887323888392646963481502106936541529243637088051852771045747533029287624210246188392624526610702003960753690329455968644378744135679619924965806324269544307183428033016461101981066683316565196410216164253737267053525194019359061966837548394385220128452599863713187847146969160259379428138188462268321057686656828416560390268340275928329749182326627966230903872085151413602168618215821676147740647393695841409326548362986012813512967994265506115101823162007764991484506657630015098502531227600144115741507720415363806223746107326462824929811326452262401828103711917038935287485571115235004724091299960586226805616753358865975613590867276448053493821829744973353994155472273281574538306196683720279780514629522050408754943008990156201544203808204480795044854272017560788122068554593686045055352313054433453682116135475977935669496024427404552722933742272733618408039540036916365819218990392990290294906785781889800266852359659116651670394673003818443339979539097496872942689102387264837238683975204085420369498552263018410762960797739725129441999621866156545465993267428303106510180968681139228232095942524883321698928651808880266506858007842419759288530794008461318695140945717018985971592206257441873984464714139205926300070699039170340644050843434515357449025942910234610906478058456047017435799179645217541603176429 271470257962225749046624622804676536589102123304798411430306071682661470866203022327032496325918069215233984674784228601179422975394275707671095861443872912903817766128473323988909237816882850406278301255768451701348811427671079970895190571587716784631951749379778196267718227848855643706780905623731287954215835006315070228935555809790849573208071599442654614124058981292984515311344667228013789876586757152856634188352108121250569417395347564616160775004869380570766222191863252860012536749315168258767528447642644514247366832089139705531761831661498760906023977385188308481930264277083875585035093694675038119476383468954665301760104685816952985459337743829587313320041784127533911849190562430310539371455207643051710194617037909370078687308149183960532914763305968531280297615132235684878045667033219296411044573059347181907457958230029547770827006166693954664090073243288317210911209831337562595557485838224276364443677391561679691761011410268322197090428695818381373466198502614752365477890956429950781074162329038009522820449742197113333802694966048800829218795087760361704505947535404345530991897860591185259377075066046041648579984058251254803452105198460218294856734134937524964574631354473896646818644722562004191300895614565677531086154707937784147765349895907062693086521010258509754387701949353000507486547034829617961519527500372444398677201439864625767418362445142447020136765371857900042266384147862473490654128464738471944264430725926901808722888955792549550031860272728302301342928234943485372509393508943055790680747974759326524503253666793464977987544946127712141084727755260143716125721449351763780054827308263381030611184703644713697608913726309921733220672902215526614394324342955434569205470551221939531870623102866579662588993704208890784728405282622444632641874180558436481833066444074386360459785303979387973278343626291939880283012734709396732840636673132724434392452859253986514718498802269488349511917626349038698439168869569041894052676021940274466296776447965303618208902569989894899382747370219855705881122450248487238154100136976501501129166540416303222455890106802272784195746245813267768082886655686263275113767335265640220529317794106781439010027826138194512727625377412504445488255770641914184360411265577329443873443446003047619678858365231993309781438147576372192596581257563717548398856626832762888061713082881845575659731519187400986363083783295053662171163730568987216719967147683153268396553437994611543563513895735786902411568263693329603216704004307307785207877127150835313184706296855861439843768284042722014824728910146545322155274479088857676810357646386454393510581229854560158641486073127134449386447887605447487358978258349141259465535484037783688309716628832019521419713712981812100129827503650248609652671596128180120219548992448164616503500080483337495877172730221839446284600347122140992492162934504435460358467807526361379270491173199102624330030242996924077322168064861177302889471878500844228221838362927464030827819035089056612286533350941545083707209002548666829135103312438337328754260933576893637852276003071465446203637613131069093461887139550824294027609879346020394859903552787249008353054408791717833559563678766183108240515168548382421208002083685956260232210161106715216324376963125328487590871579658501025232139855420006192570839137516367899712277655590855541420547970144756815435550428040238040423189848822802670668024764560950158804729790290169854261186033500631819802908023041834209610151142789803765391941320349424219713365886565375993741899058721257558840411956313198726240589634061530769749784996071712852520530473925096842223712259560661252296759723253021152569255331238177921904033166202728940434015872565185951344633698505784255254284909918500010525983653671355677793357990222207 439248104317583029972840544899566169707545519835586928046484524339557177941274390030744971780832687773212236143186838811885024861712298773892158819610172774055459481548047919821364460593775796019738037301774702243517830930910752680199389139433512118732734837012464178899588675035204591019853422247736868655199091356050978447641785235471388260484952508754678227410322924157479688694042396139311252160334007256911886905437006659240477583173894871135877047935089319691547900662502297046088671795852557674986773535720771367348271232721023042272737335574905771167011775492974014093967740590339410819725028121548672802799209718668322420322682053542783250702210163864386272861194472591149532866240451169041865785468580113379918079820456070417888526342329159319769677524313149303802525858960497875384190403924292604419761197463221940438571190232923200554048465164322036448007267793329977661368557899758673184401213414182711337736557034035070899240208992776790947300211727706620436891647376487082297097926046989575910147976468340852068671168938837877036124711516168002765778274699797333316396806963630429899912579037910880038816588261199463582920132166083771300187396910850743330005332661801347389257182170170683030101500514527581230880717816368521354916973468956682032978015459397626540663412939602400106095123951000216547010387558232261025040568010051037066997710299156941563182084272687215965045395213076015814416050932493180228987273548879846652538368143321733169840358960321590152758176021464983575467974335008732282425321214149882351158477020186947569626359037693748040079674649942211491574601511957834516643205155731677868715065333689034688581075247570379929779986180770002672528655379642967656315961303358897156845500972778011192540499577570047517215342021342298889578762567937702354780733077179451984017622811418918340984947178416647057470339424678727709803400214596931888932661997702789737741601330500129520900531667089354070152909716170276164314627369871052243834086811195848547370855898946560714914502890591878654847038849169617651357810565273231497857628875610946876292014486603904406407638372591236053268822960615758585068723693381407693134155044650341327120532436393308881438161713275574363877964545980558654937741665973941756323851112359720292159125653075574214917164143534553883839266987666807936729689826280360058116711581119048156392296104553356088024839503129362494906462094070902059648893737072943528328008411803098727744661124680498867451906542699268404518504805222573240304755857078353532740906414775045559373098921382472141847729037733051470793373288890681001775199444895181946354664829814487409971683210921243475206682483343298703123714941130641506718040225186689653850755612490383552022904475978988681679093141120000562398148561336905438069231986396520396147878741630491244469730984355422647290774898840055267960748087769534688333572261052798446371281320494355644776606275022264632095021727503581707337266567392404903033587620008564643585644586673571357290643964900383064548935179045257000746144290034237944370108036529637289340487739193646996718251616662332722651691106952898838435241133706296567309184417652217078580183333301878530403463163734726823715765222969991312721310213402654438768790205754510853918255216459028270757830645241463963568807249154525452636692578353748465304457545555907936628643474809845934410838265051542597325350694892597699539841519217475674486468104540489256301602732979272241526023272184607023888328392540386472628561905750601505117070762349046085869911352558643422045005568902226239979640188409141251123911332990182578630051502929720694940289762455890850685030954701606969315745694845227410011129315702892061109959466273427979604356516616029385859991147531727165488895816396558466573001089470535323010899593398636 710718362279808779019465167704242706296647643140385339476790596022218648807477412357777468106750756988446220817971067413064447837106574481563254681054045686959277247676521243810273698410658646426016338557543153944866642358581832651094579711021228903364686586392242375167306902884060234726634327871468156609414926362366048676577341045262237833693024108197332841534381905450464204005387063367325042036920764409768521093789114780491047000569242435752037822939958700262314122854365549906101208545167725933754301983363415881595638064810162747804499167236404532073035752878162322575898004867423286404760121816223710922275593187622987722082786739359736236161547907693973586181236256718683444715431013599352405156923787756431628274437493979787967213650478343280302592287619117835082823474092733560262236070957511900830805770522569122346029148462952748324875471331015991112097341036618294872279767731096235779958699252406987702180234425596750591001220403045113144390640423525001810357845879101834662575817003419526691222138797378861591491618681034990369927406482216803594997069787557695020902754499034775430904476898502065298193663327245505231500116224335026103639502109310961624862066796738872353831813524644579676920145237089585422181613430934198886003128176894466180743365355304689233749933949860909860482825900353217054496934593061878986560095510423481465674911739021567330600446717829662985182160584933915856682435080355653719641402013618318596802798869248634978563247916114139702790036294193285876810902569952217654934714723092938141839224994946274094129612704487213018067219596069923632659329267217978232768926605083441648769892641952415719192259951215093627388899907079924405749328281858494270710285646314331726050971523999950724411122680436627179804335725551189674307167850560146987422607257737888465850689255493304701444732482396035030748683050970667590086412949306328621773298670835514172134054189754116035619030469358842419664827342519314862753796239440094137886762833136123013667632346911864333123405460581773554229786219389473357238933015521718736011729012587448377421181027020207628863528479393508837464569206429026353151610349067670968247922379915981547649850230500090320448189539413768876605589923393063100425997436615855940684262377937049736032569099078621834596022508766547193620705135243180129326271083844077606515568207951811044454009187435201663684571022316763481269545877365955721820057467641930745047975559486251996141214562675110411015420438435055306930073068915902843521459861385661317948783541925880872557805218238333581691497321775773485618102199037226323930473923984039623165022476200941803482264440775803633848168556470433152510162828736088994077018483535830913316291096528167240332621104811008203098806854101812662527976064987154047721903582524700516367427734078655860973231064838760143167947629061894714245348434891675680825735195557233906729749128020717024047097448221367256425051970500505784659434632253582205923059498509408871807482949601035388118462999989439676835468529986802084453353292582904773505211348967974618094748672770540634570527619733798168855328720083967931897128273257120861336794296998237473440086886089127538756517572526444657275328901736174420961825381951036859976792289440467114150465377565743487082207608366792451159678828813026477868832433773754657875296683072275836340921130400701475831386235196299412760901122932835739963031368040278345154492869101439415106332523269442095787209305685238843691236415582220682238713048540405270509012082698470305583277239124019415786904627623483798820052144722339977364500967051713348379836499001433547460820236380987692908743214262268221612505418098248562580384646941069983013992632476156920038372389181215337204624846037511420743180726315058477098984743141891000804257583620843 1149966466597391808992305712603808876004193162975972267523275120361775826748751802388522439887583444761658456961157906224949472698818873255455413500664218461014736729224569163631638159004434442445754375859317856188384473289492585331293968850454741022097421423404706554066895577919264825746487750119205025264614017718417027124219126280733626094177976616952011068944704829607943892699429459506636294197254771666680407999226121439731524583743137306887914870875048019953862023516867846952189880341020283608741075519084187248943909297531185790077236502811310303240047528371136336669865745457762697224485149937772383725074802906291310142405468792902519486863758071558359859042430729309832977581671464768394270942392367869811546354257950050205855739992807502600072269811932267138885349333053231435646426474881804505250566967985791062784600338695875948878923936495338027560104608829948272533648325630854908964359912666589699039916791459631821490241429395821904091690852151231622247249493255588916959673743050409102601370115265719713660162787619872867406052117998384806360775344487355028337299561462665205330817055936412945337010251588444968814420248390418797403826899020161704954867399458540219743088995694815262707021645751617166653062331247302720240920101645851148213721380814702315774413346889463309966577949851353433601507322151294140011600663520474518532672622038178508893782530990516878950227555798009931671098486012848833948628675562498165249341167012570368148403606876435729855548212315658269452278876904960949937360035937242820492997702015133221663755971742180961058146894246012135124233930779175812749412131760815119517484957975641450407773335198785473557168886087849927078277983661501461927026246949673228882896472496777961916951622258006674697019677746893488563885930418497849342203340334917340449868312066912223042429679660812682088219022475649395299889813163903260510705960668538303909875655520254245556519562136448196489817737058689591027068423609311146381720849644331971561038488245858425048037908351173652209076825068559091008596743580794950233869357888198395253713195513624112035271166851984744890733392167044784938220334042449078661382077424566322874770382666893399201886351252689343240483554469373621755363739102589797697008113490296770028191694752154196049513186652301101077459972122909988066055960910124437664632279789070859200846305291988557751709410525446125976176007971436857781468951204714874273375983971289350723885875687355609278467326981134323711448577874138476083826215718464014850689689956700926431930904139620805723539226359508824956411475487927907325705673368879221569519687306015429213453947651697047109054851039813731855633877769866730500795058708722520567167046709018550792355525580789996884777899995221813224926124626324059485791135568921220912515306475709147105442962049194182790458722527901949982206096522661210369159307456610032353101030448515072668823703723243631888520073698004087491996701199645987108956647118517973515393127536274606745409106964889822741384403709032059085199497582617142717875319385497611907435236411964187631288779236396130891507019827036866770332369406963417428645978714650454552020270219391006069159980736261171480991094124706165733683135595353691298745582495194977968068720594024771757840038253608256414728486077967551930505525012127503123179754228628183772969564605210547410242224500247842010086251817825433439502872887257754019640960973641928671407935256248714337313232577869845867579564808122607154867274954291006775626082845047516391453188591682662837831910196525710038799692333131481228488412300041895927009888001931154242401109998836878543593774168963875190928251112943475972591513962643962044123952098749584899642728905797244723064615993569238586232076542711616943671985832612426323815157177019479 1860684828877200588011770880308051582300840806116357607000065716383994475556229214746299907994334201750104677779128973638013920535925447737018668181718264147974013976901090407441911857415093088871770714416861010133251115648074417982388548561475969925462108009796948929234202480803325060473122077990673181874028944080783075800796467325995863927871000725149343910479086735058408096704816522873961336234175536076448929093015236220222571584312379742639952693815006720216176146371233396858291088886188009542495377502447603130539547362341348537881735670047714835313083281249298659245763750325185983629245271753996094647350396093914297864488255532262255723025305979252333445223666986028516422297102478367746676099316155626243174628695444029993822953643285845880374862099551384973968172807145964995908662545839316406081372738508360185130629487158828697203799407826354018672201949866566567405928093361951144744318611918996686742097025885228572081242649798867017236081492574756624057607339134690751622249560053828629292592254063098575251654406300907857775979524480601609955772414274912723358202315961699980761721532834915010635203914915690474045920364614753823507466401129472666579729466255279092096920809219459842383941790988706752075243944678236919126923229822745614394464746170007005008163280839324219827060775751706650656004256744356018998160759030897999998347533777200076224382977708346541935409716382943847527780921093204487668270077576116483846143965881819003126966854792549869558338248609851555329089779474913167592294750660335758634836927010079495757885584446668174076214113842082058756893260046393790982181058365898561166254850617593866126965595150000567184557785994929851484027311943359956197736532595987560608947444020777912641362744938443301876824013472444678238193098269057996329625947592655228915719001322405527743874412143208717118967705526620062889976226113209589132479259339373818082009709710008361592138592605807038909482564401208905889822219848751240519607612477468094574706120592770289381161313811755425763306611287948564365835676596316668969881086900785843631134376540644319664134695331378253728197961373473811291371944391516749629629999804482304422420232897393489522334540792103112117089144392766684855789736539205653637692375868233819764224263851232817884109209161067648271080677258153168195382231993968515271147847997022670245300314479423759415393981547762889457445553848802813503289008672356805018423959530775602720027090250030719689482747419569379018378650943054378927347675579849676168638473498626807304488709357859139305230723681284598442029577686965133649636147292863261192684709782216371016936212092472850742903019596284165008144040598602819494872077192258351480483337805546718032688146685601005087876706849323625887454100691311213533513039151445921428882734209787802966416193114032942933626670156963844696451444957552886049985042652167266259830779576535789692870801171464999144945125668504593276656135831899569314879706617027382387200610485875642133527569964879262418219872239018861169652850875200047491380530734465586525529985084734728265859306856129929060362348547120834702229497680220538289982773011648692025460357105480133607916498308787616138266423026442340154644960977304728158722374784635445082219185971590515244922245861975048865888164906780578408374357445901257781055050911700459609310485735611248886073610735444141422847152940758269179465904255298032364795453842743368086514267779518156433100441883555084711270801223704827837105988002831412046135094927745986697036465830806682253618814824149193837619744477853821205852913267093609275389724500932587789861930235217866236502517383226143412540756531041724535171898609585032027137944731225741819681101294978460060269240839606750006975257269026675420770970575754317324619414760640322 3010651295474592397004076592911860458305033969092329874523340836745770302304981017134822347881917646511763134740286879862963393234744320992474081682382482608988750706125659571073550016419527531317525090276178866321635588937567003313682517411930710947559529433201655483301098058722589886219609828109878207138642961799200102925015593606729490022048977342101354979423791564666351989404245982380597630431430307743129337092241357659954096168055517049527867564690054740170038169888101243810480969227208293151236453021531790379483456659872534327958972172859025138553130809620434995915629495782948680853730421691768478372425199000205608006893724325164775209889064050810693304266097715338349399878773943136140947041708523496054720982953394080199678693636093348480447131911483652112853522140199196431555089020721120911331939706494151247915229825854704646082723344321692046232306558696514839939576418992806053708678524585586385782013817344860393571484079194688921327772344725988246304856832390279668581923303104237731893962369328818288911817193920780725182031642478986416316547758762267751695501877424365186092538588771327955972214166504135442860340613005172620911293300149634371534596865713819311840009804914275105090963436740323918728306275925539639367843331468596762608186126984709320782576627728787529793638725603060084257511578895650159009761422551372518531020155815378585118165508698863420885637272180953779198879407106053321616898753138614649095485132894389371275370461668985599413886460925509824781368656379874117529654786597578579127834629025212717421641556188849135134361008088094193881127190825569603731593190126713680683739808593235316534738930348786040741726672082779778562305295604861418124762779545660789491843916517555874558314367196449976573843691219338166802079028687555845671829287927572569365587313389317750786304091804021399207186728002269458189866039277112849643185220007912121991885365230262607148658154742255235399300301459898496916890643458062386901328462121800066135744608838628714429199222162929077972383436356507655374432420177111619203750444788984238884847572054268431699405862183362998618931353540518596229592278433965828291012077229048627297190615564286888724220892044792455357572698862140306611153475641795451334700489358530589792415958603387013933622395813368749348540649381063156261438192904092952935780127786093529446146619771412317167103392073209015433621561820239671284757959877071679291799943502064953443912965937386328967950074400703702729827228817192855011173891298313691019328163455327733736419613497479945028769950040793423398441053174893040975341820661742482762204397088231800230390159744169897851957870636097896863777918368469549995667135900980872047650384514565268825043672266391001972654606844545439112380225317635273019304174720367142341398040685496950071859155163227125724085392684865794678657541480214096419144350108777298612931810025050862361694504894708631033465199366508680768652837031545556423836353735545355902593738022150248878936676929769085159604275948050920254852348457817190209255850119963198432965221496698915897148086092526059951869368374157701472561867087183955718628751726299146577480627324871139677076479045048787619257517151148505888328096572658419457467957279830423050287906565615287002762284115583305280616650984748130338879882458028760904234805140328643382280050340821796296315835235691983432933404758583702618968777142555786384436414816385296757922203035766870770413674461424930578850366031827434991973262957122418821761177772793503088489654422489345091450725020674903876419436810985302434341325567135505202399612502863742032263040234054744780096291552190018603469007643985200507763412572228994071261896829975326719323830200775704783333856833175988593207333811738292364442956408366743648434571937659801 4871336124351792985015847473219912040605874775208687481523406553129764777861210231881122255876251848261867812519415853500977313770669768729492749864100746756962764683026749978515461873834620620189295804693039876454886704585641421296071065973406680873021637442998604412535300539525914946692731906100551389012671905879983178725812060932725353949919978067250698889902878299724760086109062505254558966665605843819578266185256593880176667752367896792167820258505061460386214316259334640668772058113396302693731830523979393510023004022213882865840707842906739973866214090869733655161393246108134664482975693445764573019775595094119905871381979857427030932914370030063026749489764701366865822175876421503887623141024679122297895611648838110193501647279379194360821994011035037086821694947345161427463751566560437317413312445002511433045859313013533343286522752148046064904508508563081407345504512354757198452997136504583072524110843230088965652726728993555938563853837300744870362464171524970420204172863158066361186554623391916864163471600221688582958011166959588026272320173037180475053704193386065166854260121606242966607418081419825916906260977619926444418759701279107038114326331969098403936930614133734947474905227729030670803550220603776558494766561291342377002650873154716325790739908568111749620699501354766734913515835640006178007922181582270518529367689592578661342548486407209962821046988563897626726660328199257809285168830714731132941629098776208374402337316461535468972224709535361380110458435854787285121949537257914337762671556035292213179527140635517309210575121930176252638020450871963394713774248492612241849994659210829182661704525498786607926284458077709630046332607548221374322499312141648350100791360538333787199677112134893278450667704691782845040272126956613842001455235520227798281306314711723278530178503947230116326154433528889521079842265390322438775664479347285940073895074940270968740796747348062274308782865861107402806712863306813627420936074599268160710450729431399003810360535974684503735690047644456219740268096773428288173631531689770082515981948594912751363540557514741252347129314913992407520964222825482577920642077033530931719610848461680378246555432836895567474661843254906991466943212181001104972392865226764409556640222454619831817731604974436397619621326639216324456820424898061468206927975783116199691446934250836076582497373620971904891067115669042484788046968549428484310223903032840556163940056187417048657432821820273081748205879760247233938521566878163367187966636953954541040908322855339084334000673722078021840470630861858174624977967954605743954889106870448171247326371836642748594860890232382061871921958967072369490539213093239223528133722320111986857731818951992007060531313693869064999834326008946486552817213871813063770280774895284753038275348277260068657712062841829639375108986437766982469129392760944564872762589601586652054565306066173630178410325035013274045308972863445125738716060352572738289794348508025891012464246894648347577824148187069781424505199333017237700636380854428784958495206581433644163007392948655989012231716921278536174791364767404494008611524737947838602940984430351273284992977353836403757523940177590846042973057549963147616190332064465868132507092537205802247684529977558354146504815891528708747254239903930018685289856052029102991590536076433045182389445971136124855780557699341971798434681397853818749231868659128664844436470815285027203514116344980015290121167255532262829079250959953830867896272700539489785526120253296027345069539844824097714039181288839123640194238834229114477789337003796329822124970469272611016598808935416162016009764175026925042935311181814026098399841561201068539004931495754164843603097672782738600182591080764967785213926984121060973053986698300123 7881987419826385382019924066131772498910908744301017356046747389875535080166191249015944603758169494773630947259702733363940707005414089721966831546483229365951515389152409549589011890254148151506820894969218742776522293523208424609753583385337391820581166876200259895836398598248504832912341734210429596151314867679183281650827654539454843971968955409352053869326669864391112075513308487635156597097036151562707603277497951540130763920423413841695687823195116200556252486147435884479253027340604595844968283545511183889506460682086417193799680015765765112419344900490168651077022741891083345336706115137533051392200794094325513878275704182591806142803434080873720053755862416705215222054650364640028570182733202618352616594602232190393180340915472542841269125922518689199675217087544357859018840587281558228745252151496662680961089138868237989369246096469738111136815067259596247285080931347563252161675661090169458306124660574949359224210808188244859891626182026733116667321003915250088786096166262304093080516992720735153075288794142469308140042809438574442588867931799448226749206070810430352946798710377570922579632247923961359766601590625099065330053001428741409648923197682917715776940419048010052565868664469354589531856496529316197862609892759939139610837000139425646573316536296899279414338226957826819171027414535656337017683604133643037060387845407957246460713995106073383706684260744851405925539735305311130902067583853345782037114231670597745677707778130521068386111170460871204891827092234661402651604323855492916890506185060504930601168696824366444344936130018270446519147641697532998445367438619325922533734467804064499196443455847572648668011130160489408608637903153082792447262091687309139592635277055889661757991479331343255024511395911121011842351155644169687673284523447800367646893628101041029316482595751251515533341161531158979269708304667435288418849699355198062065780440170533575889454902090317509708083167321005899723603506764876014322264536721068226846195338270027718239559758137613581708073484000963875114700516950539907377381976478754321400829520649181183062946419698104250966060668454511003750556501259448406211654154262579559016801464025967266970776324881688022832234542117047298078096687822796556307093354585294999349056181058006845751354000787805146968161976020279480718258617802154421142708103569209729137593554022248393749600765694180920324688677489282156072804928426500163602023846534905509607853022124803377625382896220976784478033108577440088949695458176477058207294800409282274777327936352819029362770623762871445238911684036751215600319788616348226717093503958679971477716531580812646446818760868479958735699877335541919486206348994220095575784106834677255682775491218383009033185920538414504112214551326581759572121388592180206111678815580781703110134503440487194381797455526695434053766527917981078888273742869721863485694399626637514416259810960882261211875524401521954813961809894990682162552414088118094192388086530176139891400923824417432737428424135120701679357547790834427909892230974391983391460428078132560060155479041182048964101085295436237647353231854588449727240276464246985180421611755222412962069456398885191376781457328739351931301154122621567073658289344296291182794999102821089250446814093141659427121466876276839086134122361958779589524661192357746373870586417254841478705281206828108288713962457925674417403458540409605133668283475513961602358673851051897973927790806404945868971533287359697821052513917076249689657450473332992874015774675785372436520264865499001590458618099824426074535564401364619680188949506660071854388010703327355796695100487606180619478771819012125550698723754043020169661738391176395258328761696529869626936954505958727193389924892503260149656883392487804621488558635959924 12753323544178178367035771539351684539516783519509704837570153943005299858027401480897066859634421343035498759779118586864918020776083858451459581410583976122914280072179159528104473764088768771696116699662258619231408998108849845905824649358744072693602804319198864308371699137774419779605073640310980985163986773559166460376639715472180197921888933476602752759229548164115872161622370992889715563762641995382285869462754545420307431672791310633863508081700177660942466802406770525148025085454000898538700114069490577399529464704300300059640387858672505086285558991359902306238415987999218009819681808583297624411976389188445419749657684040018837075717804110936746803245627118072081044230526786143916193323757881740650512206251070300586681988194851737202091119933553726286496912034889519286482592153841995546158564596499174114006948451881771332655768848617784176041323575822677654630585443702320450614672797594752530830235503805038324876937537181800798455480019327477987029785175440220508990269029420370454267071616112652017238760394364157891098053976398162468861188104836628701802910264196495519801058831983813889187050329343787276672862568245025509748812702707848447763249529652016119713871033181745000040773892198385260335406717133092756357376454051281516613487873294141972364056444865011029035037728312593554084543250175662515025605785715913555589755535000535907803262481513283346527731249308749032652200063504568940187236414568076914978743330446806120080045094592056537358335879996232585002285528089448687773553861113407254653177741095797143780695837459883753555511251948446699157168092569496393159141687111938164383729127014893681858147981346359256594295588238199038654970510701304166769761403828957489693426637594223448957668591466236533475179100602903856882623282600783529674739758968028165928199942812764307846661099698481631859495595060048500349550570057757727194514178702484002139675515110804544630251649438379784016866033182113302530316370071689641743200611320336387556646067701426722049920294112298085443763531645420094854968613723968195551013508168524403916811469244093934426486977212845503313189983368503411271520724084930984132296231296110490736412312487647645217331757718583590306896385371954289545039900003797661279486219812059408905696403512626677569085605762241544587783302659495805175079042700215889349636079352325928829040488273084470332098139315152825215755793158324640860851896975928647912247749567746065771793078312220426282815718041249866226238988337687322888217025054640425395261437363236815818236259208158113696771297484949467079382314898609390225297756570953970671982610829128142725042903417455395041679651100862020607621836302614288976745562087459319103917829154789242540507310170375016093717234232283569112048877335528246124938602463993269881959590476066456148409851717747263039509518368525073428875514355748061357403135630666428358456989228224166470825117027055891390285849436535228859270782758435807901268474440690832482182435038202030903865170719065780315252572322190483103862747123851665610528611828820768349955634659566204223162871989838037976332802216714773822144596621992943735851801202194823783362596185573686247062433752721595134305397506330197974274211672584714689848621408762159315302091640026891498131344070700013573626282767805547833388362265888798274814517244386849365461122493687886661094727177964233144494520157267646215838139938263423882900152134642626446795144666336925177441907151384961159092700542891960650131764877030080557553723173872482659541894929081399781589804710323099304497799388663549714729803235593734157978286510456401676512981172599966813293909423022342635488535994039050593634034935857046268061579952377463797333693192284034470540052178741465793572515973268227934870810376608865594542545334260047 20635310964004563749055695605483457038427692263810722193616901332880834938193592729913011463392590837809129707038821320228858727781497948173426412957067205488865795461331569077693485654342916923202937594631477362007931291632058270515578232744081464514183971195399124204208097736022924612517415374521410581315301641238349742027467370011635041893857888885954806628556218028506984237135679480524872160859678146944993472740252496960438195593214724475559195904895293861498719288554206409627278112794605494383668397615001761289035925386386717253440067874438270198704903891850070957315438729890301355156387923720830675804177183282770933627933388222610643218521238191810466857001489534777296266285177150783944763506491084359003128800853302490979862329110324280043360245856072415486172129122433877145501432741123553774903816747995836794968037590750009322025014945087522287178138643082273901915666375049883702776348458684921989136360164379987684101148345370045658347106201354211103697106179355470597776365195682674547347588608833387170314049188506627199238096785836736911450056036636076928552116335006925872747857542361384811766682577267748636439464158870124575078865704136589857412172727334933835490811452229755052606642556667739849867263213662408954219986346811220656224324873433567618937372981161910308449375955270420373255570664711318852043289389849556592650143380408493154263976476619356730234415510053600438577739798809880071089303998421422697015857562117403865757752872722577605744447050457103789894112620324110090425158184968900171543683926156302074381864534284250197900447381966717145676315734267029391604509125731264086917463594818958181054591437193931905262306718398688447263608413854386959217023495516266629286061914650113110715660070797579788499690496514024868724974438244953217348024282415828533575093570913805337163143695449733147392836756591207479619258874725193015613363878057682064205455955281338120519706551528697293724949200503119202253919876836565656065465148041404614402841405971454440289480052249911667151837015646383969969669130674508102928395484647278725317640989893275117489433396910949754279250651823014415022077225344379390343950385558690049753213776513614912188108082600271613139130927489001587623136587826594217586579574397354408254752584570633523320439606550046691555945278679775285893337660502370310492344182921535657966634042295332864081698905009333745540444470647606796933656825402428811514271596102651575379646100437023803908198614262226650704272096915127411837912483231117483602556237772519090595564195560977143059541921247820912318293998935360605825617545187302197389076114787808114202759434998268041488498411969341979343321713638156208462951911081679414679701935989466498223282801388758025126903154770698073224263428662110005697059991056173475993638406056848159258544355158234457421306973895220507482642042273729140245676878500388291844151388854861680887084927987938152602161373838057183673232592653426490063820888528808926674570521568378170795266094543483213052680996457311184783220294914686093520420842803212751741416062737698764283318351031020086940433887512151011469497828476581393463092077666441808963784207940796099209131890151606786511086854835069549905575365795206281763506910753058450498097090742847980748578158163841673000747749644082386919522484627847577864339178436744595739331708910942728139800008384792341433208482615193320633241598478673029016568435610156588049153818517388823151369697957789907028064233830251658471184278794106330247211173647205475533557669604866772218110069575822100894956417488487975789265367636958353838167236017116473530900991875927322609989009910628523254967307813051176144332758689900066437723318343553859055662454888813904097477006684700192986962440865771488084527693769096670216031103970219971 33388634508182742116091467144835141577944475783320427031187055275886134796220994210810078323027012180844628466817939907093776748557581806624885994367651181611780075533510728605797959418431685694899054294293735981239340289740908116421402882102825537207786775514597988512579796873797344392122489014832391566479288414797516202404107085483815239815746822362557559387785766192622856398758050473414587724622320142327279342203007042380745627266006035109422703986595471522441186090960976934775303198248606392922368511684492338688565390090687017313080455733110775284990462883209973263553854717889519364976069732304128300216153572471216353377591072262629480294239042302747213660247116652849377310515703936927860956830248966099653641007104372791566544317305176017245451365789626141772669041157323396431984024894965549321062381344495010908974986042631780654680783793705306463219462218904951556546251818752204153391021256279674519966595668185026008978085882551846456802586220681689090726891354795691106766634225103045001614660224946039187552809582870785090336150762234899380311244141472705630355026599203421392548916374345198700953732906611535913112326727115150084827678406844438305175422256986949955204682485411500052647416448866125110202669930795501710577362800862502172837812746727709591301429426026921337484413683583013927340113914886981367068895175565470148239898915409029062067238958132640076762146759362349471229939862314449011276540412989499611994600892564209985837797967314634143102782930453336374896398148413558778198712046082307426196861667252099218162560371744133951455958633915163844833483826836525784763650812843202251301192721833851862912739418540291161856602306636887485918578924555691125986784899345224118979488552244336559673328662263816321974869597116928725607597720845736747022764041383856699503293513726569645009804795148214779252332351651255979968809444782950742807878056760166066345131470392142665149958200967077077741815233685232504784236246908255297808665759361741001959487473672881162339400346362209752595600547291804064824637744398476298479408992815803129234452459137369051915920374123795257592440635191517826293597949429310374476246616854800540489626089001262557405439840318855203446027312860955877168176487830391878866065794209413817160448988083260200889525212312288236143728581339271091068416703202586199841980262273861586795674530568417334413797044324486570756200263805931437794508722378357459426519345670397641151439178749244230191014332303476516930511085252814734726129508285757908997817675135755906413800454769135256756313218732770379397676313833969996050915301758256168061058725616936256927802338415723436530178063070203999950943549940770497439697473169138733783619765144255740763790111559133041220620389002981642336312305997638251821998593520166745875597996532914615406954206875981720460816492263745580911517556629477201603080014131054720202608378083085847357910045014994043992447223274592412532503375411862297965089362969499759156752956606580201699131265262548993367933568779501667887083042038537759130949454632033520091371697397264968506481223020858124916766689728865785291642425098574337198943878868636632747146804126369785456194323904328381645392252341399747879849577467790996453355532161820609813399182382874872246709502234541686574374032411887934752910846893736376139153695681131445104792831404630614800894735562756574577703002772460966849079738416936452899468587744799214495948963183725748328811605109174868187156934373143619121316043671136410804764896821077958193099564533948171999699874286145200199454216877151525503995170872552087996145522527572875207413973048527289423282919333650865890455843807090226737966793625757112705784898295931322852996148081097938568017058863441658780534956839039716019398504145705535810573649304480018 54023945472187305865147162750318598616372168047131149224803956608766969734414586940723089786419603018653758173856761227322635476339079754798312407324718387100645870994842297683491445072774602618101991888925213343247271581372966386936981114846907001721970746709997112716787894609820269004639904389353802147794590056035865944431574455495450281709604711248512366016341984221129840635893729953939459885481998289272272814943259539341183822859220759584981899891490765383939905379515183344402581311043211887306036909299494099977601315477073734566520523607549045483695366775060044220869293447779820720132457656024958976020330755753987287005524460485240123512760280494557680517248606187626673576800881087711805720336740050458656769807957675282546406646415500297288811611645698557258841170279757273577485457636089103095966198092490847703943023633381789976705798738792828750397600861987225458461918193802087856167369714964596509102955832565013693079234227921892115149692422035900194423997534151161704542999420785719548962248833779426357866858771377412289574247548071636291761300178108782558907142934210347265296773916706583512720415483879284549551790885985274659906544110981028162587594984321883790695493937641255105254059005533864960069933144457910664797349147673722829062137620161277210238802407188831645933789638853434300595684579598300219112184565415026740890042295817522216331215434751996806996562269415949909807679661124329082365844411410922309010458454681613851595550840037211748847229980910440164790510768737668868623870231051207597740545593408401292544424906028384149356406015881880990509799561103555176368159938574466338218656316652810043967330855734223067118909025035575933182187338410078085203808394861490748265550466894449670388988733061396110474560093630953594332572159090689964370788323799685233078387084640374982172948490597947926645169108242463459588068319508143758421241934817848130550587425673480785669664752495774371466764434188351707038156123744820953874130907403145616362328879644335602628880398612121419747437562938188034794306875072984401407804477463081854552093449030644169405353771034745011871691287014532241315675174773689764820197002413490590242839865514877469593547922919126816585158240349957464791313075656986096452645368606768225415201572653893724209964818862334927699673860019046376961754363704956510334324445195397244762308572863750198495495949333820316296644734453538234728165547780786270940790941773049216531085279186268034099212946565703167634783182167942146564041991516875392600373912908274997009364650330112399815855139980591291715970312769330601876532846945558365450134840404744371130561773413991478018676475039545979294265263578926705902649384250818148463321701133722238987072912947891066347523543773679715560575734659748257519058584576340221869236402589762774665498562034216177882123466158966088394159598903206341848756892631443012046759766937947528244994973002932196594608597112649596205735968065288788028910251498308685831323478174958372494397359806032206420614565236812852670303336953223852651370297435246271832787760134963732789799574051878211857200577241016796761140253575155730662035956535078441710931012067165884665326214055935168156479107176469297785424943262997278216862442914879060311496273125722852995287660398383359575121782055970321672433331521583954003492874117876040844124540315573342940694743947548916010911485387654287482321336895609481916037023354955802545102781701114571480181303066964775215221168203395277592500322465242741051976070468283433726657234138814944217809943861967301094410634365639501293260538509510441834312758544689348738314964924454612033271929244279389145423151620141402882299552315657179143508216639485181908658602969911842665494065548141851767497397704811204103926197914802206026604753274699989 87412579980370047981238629895153740194316643830451576255991011884653104530635581151533168109446615199498386640674701134416412224896661561423198401692369568712425946528353026289289404491206288313001046183218949324486611871113874503358383996949732538929757522224595101229367691483617613396762393404186193714273878470833382146835681540979265521525351533611069925404127750413752697034651780427354047610104318431599552157146266581721929450125226794694404603878086236906381091470476160279177884509291818280228405420983986438666166705567760751879600979340659820768685829658270017484423148165669340085108527388329087276236484328225203640383115532747869603806999322797304894177495722840476050887316585024639666677166989016558310410815062048074112950963720676314534262977435324699031510211437080670009469482531054652417028579436985858612918009676013570631386582532498135213617063080892177015008170012554292009558390971244271029069551500750039702057320110473738571952278642717589285150888888946852811309633645888764550576909058725465545419668354248197379910398310306535672072544319581488189262169533413768657845690291051782213674148390490820462664117613100424744734222517825466467763017241308833745900176423052755157901475454399990070272603075253412375374711948536225001899950366888986801540231833215752983418203322436448227935798494485281586181079740980496889129941211226551278398454392884636883758709028778299381037619523438778093642384824400421921005059347245823837433348807351845891950012911363776539686908917151227646822582277133515023937407260660500510706985277772518100812364649797044835343283387940080961131810751417668589519849038486661906880070274274514228975511331672463419100766262965769211190593294206714867245039019138786230062317395325212432449429690747882319940169879936426711393552365183541932581680598366944627182753285746162705897501459893719439556877764291094501229119991578014196895718896065623450819622953462851449208579667873584211822392370653076251682796666764886618321816353317216764968280744974331172343038110229992099618944619471460699887213470278884983786545908168013221321274145158540269464131922206050067609273124203000139296443619268291130732465954516140026998987763237982020031185553210913341959489563487377975318711162816182042575650560737153925099490031174623163843402441358317468030171066907542710176304707469258831557983103432167532909292993658306887052844998259469672522674270159143730367310287443446857682524457935512264290227278869179684565294267420756881290171499802633301598191588044030903423165105099247656572168358713361671113646626603300597927448148703814533511193566021680628058364111829714914548854538109749979245208813519697203342346857419956882246941466277977979750863024507024107568143932776661357896888040657386509341057178096506967744834399122677390072452768910197898342939958422711669305677155532683543451836906762497732249368145021033375602905018017926240587055820387242008738239343477151085993999614467808444988076434781538574193528625068581199788548134016314520557386378991761611782319752067279791924159457532228701296280797072736336773967266969882582052782678673730067860979835403715074458077816193535670121520537960263549801871359517869045665274520730788274670217975076699670124895455508597725241997162632925046149495814467858256425344178415320330142646569799007485948917371720203957741589479510305490588614488160115254331401075312545934815505611099755017041051744884840319808992908176139643402378102576538896713816366136379151856740967289361391919756798672763116217509818148112501293864851242791026797255709382062529830458281072262223945728937972981901456554848577930255035878995427231629620266345941414291849293114935416504761654751051009781233511124411583510548032354543850920123324702060507741837178402579180007 141436525452557353846385792645472338810688811877582725480794968493420074265050168092256257895866218218152144814531462361739047701235741316221510809017087955813071817523195323972780849563980890931103038072144162667733883452486840890295365111796639540651728268934592213946155586093437882401402297793539995862068468526869248091267255996474715803234956244859582291420469734634882537670545510381293507495586316720871824972089526121063113272984447554279386503769577002290320996849991343623580465820335030167534442330283480538643768021044834486446121502948208866252381196433330061705292441613449160805240985044354046252256815083979190927388639993233109727319759603291862574694744329028102724464117466112351472397503729067016967180623019723356659357610136176611823074589081023256290351381716837943586954940167143755512994777529476706316861033309395360608092381271290963964014663942879402473470088206356379865725760686208867538172507333315053395136554338395630687101971064753489479574886423098014515852633066674484099539157892504891903286527125625609669484645858378171963833844497690270748169312467624115923142464207758365726394563874370105012215908499085699404640766628806494630350612225630717536595670360694010263155534459933855030342536219711323040172061096209947830962087987050264011779034240404584629351992961289882528531483074083581805293264306395523630019983507044073494729669827636633690755271298194249290845299184563107176008229235811344230015517801927437689028899647389057640797242892274216704477419685888896515446452508184722621677952854068901803251410183800902250168770665678925825853082949043636137499970689992134927738505355139471950847401130008737296094420356708039352282953601375847296394401689068205615510589486033235900451306128386608542923989784378835914272742039027116675764340688983227165660067683007319609355701776344110632542670568136182899144946083799238259650361926395862327446306321739104236489287705958625820675344102061935918860548494397897205556927574168032234684145232961552367597161143586452592090475673168180134413251494544445101295017947741966838338639357198657390726627916193285281335823209220582308924948298976689904116640621681781720975305820031017496592535686157108836616343793560870806750802639144364071771356531422950267990852133391047649309454850036958091543076301377363844991925430612499220510629152664656076320291676295917731404788942992127203349489732713007907250839817939930001308101229216496074213609737121780298389440225434882852200077449588699027854213491319508694198565500952305900432529755429360056388023498693952962829616939372631199803980995649372898961328406426424999188925885243706392567531013149295958539474077098623909244996241670775030710263167411700218737935937454915173915667476550341073457463775317134766860115762672847189614070801712440164737951330944414076225063424581677757699836754435889885300593799393940744296127911958980903847899991020858437181664417499891604943975311542439874022909865966117130819399912956496946687925984874613406209162699253127373227689715944985464433690049502526063756947217667192434086080371124614548631167844210899378813922932248885798523015791938793516169008828260701554786846752016198717958350466694338343450699463993785552887080417991578730436391728634320578237284823031308405724617596523828578097777509936904284146139443916883526793041912035777300682284223457854406599525973547769541813722412208155416731542634454710819586154526585954891289174211243104418617599270779934174306316688601621892908717037757644825646414032811578060435319762010079802388275485608430528090516247891572971664771039616951572684043902897436513489826777822209644181302147047373032502565898257071470992801331574901686670313354020921623899005189959725362315529752248662124227250899975309947863783155853879996 228849105432927401827624422540626079005005455708034301736785980378073178795685749243789426005312833417650531455206163496155459926132402877644709210709457524525497764051548350262070254055187179244104084255363111992220495323600715393653749108746372079581485791159187315175523277577055495798164691197726189576342346997702630238102937537453981324760307778470652216824597485048635234705197290808647555105690635152471377129235792702785042723109674348973791107647663239196702088320467503902758350329626848447762847751267466977309934726612595238325722482288868687021067026091600079189715589779118500890349512432683133528493299412204394567771755525980979331126758926089167468872240051868578775351434051136991139074670718083575277591438081771430772308573856852926357337566516347955321861593153918613596424422698198407930023356966462564929779042985408931239478963803789099177631727023771579488478258218910671875284151657453138567242058834065093097193874448869369259054249707471078764725775312044867327162266712563248650116066951230357448706195479873807049395044168684707635906388817271758937431482001037884580988154498810147940068712264860925474880026112186124149374989146631961098113629466939551282495846783746765421057009914333845100615139294964735415546773044746172832862038353939250813319266073620337612770196283726330756467281568568863391474344047376020519149924718270624773128124220521270574513980326972548671882918708001885269650614060211766151020577149173261526462248454740903532747255803637993244164328603040124162269034785318237645615360114729402313958395461573420350981135315475970661196366336983717098631781441409803517258354393626133857727471404283251525069931688380502771383719864341616507584994983274920482755628505172022130513623523711820975373419475126718234212911918963543387157893054166769098241748281374264236538455062090273338440172028029902338701823848090332760879481917973876524342025217804727687308910659421477269883923769935520130682940865050973457239724240932918853005961586278769132565441888560783764433513783398172234032196114015905801182231418020851822125185265366670612047902061351825550799955131426632376534221423179690043413084240950072851707771774547157523591523449395090856647529346771784148710292202631742047090067694239132310566502694128201574408944881211581255386478742735681313022096497520041930686933860133914907878274779728085264314081936650434090402334730972477579773514088099073731675411516659942931896134195057292562679667504304062536765371717009455909144384991122141995796757088996336803855694860528607712960191857407314633943263565975931797731429144353187432472521972448105627247289997073421307116385551259045937784682890618321112587343099090731912957204633689678198488798961961939281483811409327002431354351815974521276201172940769354157358905200835117554810404099854611974568003383004389427005513909968573428752430706156438476545496056980014279450805009038784677768720237887133613682214655019590960016909480433925575807476347738035520881454609943194605997710833269441893785076094936747076216009801569805855681106675199421135382361168197350885405135111180781960866705610922615866383995627342508590627086644454237224908367289976462267760221826212207389115973984724573827557298393068278400561287184142918303479281985664233451874113410991686834523121688352224614288786013715891012741959283755981258423873702968159897188140461707884796145123487520701351547048245554465836627206271470795211098167119419244062019977373356473071020133054738001044765458005047006217566170831484341176652829580158192303682140336851221554887771957273635501495229320689213796629772840870418414946381626400139899217181142474604662122832244198485762842094446510318191431968105071931405132516314371308872863562106792513044350575602035817689700961558433060003 370285630885484755674010215186098417815694267585617027217580948871493253060735917336045683901179051635802676269737625857894507627368144193866220019726545480338569581574743674234851103619168070175207122327507274659954378776087556283949114220543011620233214060093779529121678863670493378199566988991266185438410815524571878329370193533928697127995264023330234508245067219683517772375742801189941062601276951873343202101325318823848155996094121903253177611417240241487023085170458847526338816149961878615297290081550947515953702747657429724771843985237077553273448222524930140895008031392567661695590497477037179780750114496183585495160395519214089058446518529381030043566984380896681499815551517249342611472174447150592244772061101494787431666183993029538180412155597371211612212974870756557183379362865342163443018134495939271246640076294804291847571345075080063141646390966650981961948346425267051741009912343662006105414566167380146492330428787264999946156220772224568244300661735142881843014899779237732749655224843735249351992722605499416718879690027062879599740233314962029685600794468662000504130618706568513666463276139231030487095934611271823554015755775438455728464241692570268819091517144440775684212544374267700130957675514676058455718834140956120663824126340989514825098300314024922242122189245016213284998764642652445196767608353771544149169908225314698267857794048157904265269251625166797962728217892564992445658843296023110381036094951100699215491148102129961173544498695912209948641748288929020677715487293502960267293312968798304117209805645374322601149905981154896487049449286027353236131752131401938444996859748765605808574872534291988821164352045088542123666673465717463803979396672343126098266217991205258030964929652098429518297409259505554148485653957990660062922233743149996263901815964381583845894156838434383970982842596166085237846769931889571020529843844369738851788331539543831923798198365380103090559267871997456049543489359448870662796651815100951087690106819240321500162603032147236356523989456566352368445447608560350902477249365762818660463824622565328002774529977545110832135778340647214685459169722156379947529724862631854572683077594578175020184059135552199693263873140332654955461094841776106118861424225662082578557354827519249223718399731248539346929555044113045158014021928132541151197563012798570984198566456024002995718870879642561293751824463685485487024353906039003732983512745876439006109743932179072861069107729738945388965449166598154936998598482441650689995322589948642704288224615957967769348215356101267596772880505348562997535410140002560331433850378874530626436215882317127699683916564408341896324156967716945021832339340761506943667467801101378417226734899416854455399478885877343504811815591291656043061288703442201346972976002547557719548355430799026050793066807586067184705350664404463314053024505550379220841623968938995183298705000059643114950384655387025218626189966562030834039819346400042706626876260694532467569380594817808012206873532522569267012765810881732540649699851072331919438053892866613569468441539321965434036302955391681339680628543171501664907011419281302106796095472714938779695214041992660985718572292906545732566673448718359380444378811059857130997678912777238881716566808695541857598731007515515412620899198289128898434925457632774539535001195791758559106157926426014303787666435255654337958845899728856768278590880009176656213360798056750102387341330662348480637576644136407245326449743339622937674175042804651043212584864295919237088149342168272106070415822459652082978288205165208473160000360306165369313816743767854928436208404222349543398483289521977694625398142455557233834895778085219878102281459092853029031521504331034235179091859041175168577826502011127637564744714286939999 599134736318412157501634637726724496820699723293651328954366929249566431856421666579835109906491885053453207724943789354049967553500547071510929230436003004864067345626292024496921357674355249419311206582870386652174874099688271677602863329289383699814699851252966844297202141247548873997731680188992375014753162522274508567473131071382678452755571801800886725069664704732153007080940091998588617706967587025814579230561111526633198719203796252226968719064903480683725173490926351429097166479588727063060137832818414493263637474270024963097566467525946240294515248616530220084723621171686162585940009909720313309243413908387980062932151045195068389573277455470197512439224432765260275166985568386333750546845165234167522363499183266218203974757849882464537749722113719166934074568024675170779803785563540571373041491462401836176419119280213223087050308878869162319278117990422561450426604644177723616294064001115144672656625001445239589524303236134369205210470479695647009026437047187749170177166491800981399771291794965606800698918085373223768274734195747587235646622132233788623032276469699885085118773205378661606531988404091955961975960723457947703390744922070416826577871159509820101587363928187541105269554288601545231572814809640793871265607185702293496686164694928765638417566387645259854892385528742544041466046211221308588241952401147564668319832943585323040985918268679174839783231952139346634611136600566877715309457356234876532056672100273960741953396556870864706291754499550203192806076891969144839984522078821197912908673083527706431168201106947742952131041296630867148245815623011070334763533572811741962255214142391739666302343938575240346234283733469044895050393330059080311564391655618046581021846496377280161478553175810250493670828734632272382698565876954203450080126797316765362143564245755848082432611900524657309423014624195987576548593779979903781409325762343615376130356757348559611107109024801580360443191641932976180226430224499844120036376056033869940696068405519090632728044920708020120957503239964524602477643722576256703659480783783670482589009887931998614822432038896936382935733472073847061993391145336069990942809103581927424390849369125332543775582584947290549911402487104439104171387044407848165951491919901214889123857521647450798127344612460120602316033786848726471036118425652583081884496872932485892076841235752088260032952816292995384154159194657963066797867994138077464658924262536381938005878127236365423748775234043007925730820883607610846142983473563792685792079678944979508143919476486575482308407213508582230716144071324494795266839284355747763906372351322636253683505879390549006800302115667387834108839858335266134419682439852238856624672434791056615715533861378793736883290295204345936166167407266177319262461644211555504331881203382675274358759530653638025361070190590456611710864574373036742805455211706817697387120025919009462749510009098427792719104893274158832308404621581621794056728826833968282434352608432567988450835204761002618204584365792011160797841905818479616865709652642137775119160568066034704850802707519316319441438066572463300547334154094117531291007046623810697423182117169176004603581331969123253478794119118753121682647433442933208001677204128135531558966096920157185195848794359775309472844418507202247144020886641353512723711471348665552276960479547739817530031629394174200975806896963539134103969387249558119825639125563642492840567069527545313485508450081592542657554017492880316346582798077623982439633047851657260778755695780260413740978922326464409752556159310873637866060162438843974655229680995379165943589584638273343382590030622489442615664431996582356748230386654042996676990224595538069534249564164784434164037818702343108042653965833688212928402104046945327265706272720000002 969420367203896913175644852912822914636393990879268356171947878121059684917157583915880793807670936689255883994681415211944475180868691265377149250162548485202636927201035698731772461293523319594518328910377661312129252875775827961551977549832395320047913911346746373418881004918042252197298669180258560453163978046846386896843324605311375580750835825131121233314731924415670779456682893188529680308244538899157781331886430350481354715297918155480146330482143722170748258661385198955435982629550605678357427914369362009217340221927454687869410452763023793567963471141460360979731652564253824281530507386757493089993528404571565558092546564409157448019795984851227556006208813661941774982537085635676362019019612384759767135560284761005635640941842912002718161877711090378546287542895431727963183148428882734816059625958341107423059195575017514934621653953949225460924508957073543412374951069444775357303976344777150778071191168825386081854732023399369151366691251920215253327098782330631013192066271038714149426516638700856152691640690872640487154424222810466835386855447195818308633070938361885589249391911947175272995264543322986449071895334729771257406500697508872555042112852080088920678881072628316789482098662869245362530490324316852326984441326658414160510291035918280463515866701670182097014574773758757326464810853873753785009560754919108817489741168900021308843712316837079105052483577306144597339354493131870160968300652257986913092767051374659957444544659000825879836253195462413141447825180898165517700009372324158180201986052326010548378006752322065553280947277785763635295264909038423570895285704213680407252073891157345474877216472867229167398635778557587018717066795776544115543788327961172679288064487582538192443482827908680011968237994137826531184219834944863513002360540466761626045380210137431928326768738959041280405857220362072814395363711869474801939169606713354227918688296892391534905307390181683451002459513930432229769919583948714782833027871134821028386175224759412132890647952855256477481492696530876970923091331136607606136730149546489143052834510497326617596962016442047215071511812721061747452560867492449938472533966213781997073926963703507563959641720499490243175275627437094059632481886183954284812916145563297467681212349166700021845744343708659949245588830961771629050140353785124233082059885731056876275407691776091255751823695935556677905983658343448553822221900177081197642437008412820944115622059415438284817882963781953314696270050205765783141581956005443375787402268893622212432144092444543251656622569609849827489024576673057792802249424358308095340222730197166880119721761707676706484218680075729730432996826052211156252021780613745800292140235892435032942268760795648192282769181081689440977982998557833362323750347653756851304857205930232993907114961452664076154136998176523796416215238777500056858479717257196918228743994858004646048215009158070907669489548661184050934594588143652628096548173234010989061228869127100456020215799578810630411457898314580427810607716700212157515409503714469694557214460932648274319244246841281753477741021964144640227962697265619196198018465905112804219277589884114784298795373961784239197366412025298854249320882161292588446056015187992662556645009697396066912415603055317167071575426022717659764920084930482411158636928981440091811961675339498376636189555820188504763473332219193472062815286978414888104230005572819149053927867584295415872849780743941023295130661629287561673032541417246920113808090656308303991340560076179650829128264494736515822971981770525720844348367604052447815230041301544535257406328406128271818798434844838986014147721518560051373628529109600230511886002680757947636531023257637463195559323033377343221745824874863381506228606058072964830450987006940001 1568555103522309070677279490639547411457093714172919685126314807370626116773579250495715903714162821742709091719625204565994442734369238336888078480598551490066704272827327723228693818967878569013829535493248047964304126975464099639154840879121779019862613762599713217716083146165591126195030349369250935467917140569120895464316455676694054033506407626932007958384396629147823786537622985187118298015212125924972360562447541877114553434501714407707115049547047202854473432152311550384533149109139332741417565747187776502480977696197479650966976920288970033862478719757990581064455273735939986867470517296477806399236942312959545621024697609604225837593073440321425068445433246427202050149522654022010112565864777618927289499059468027223839615699692794467255911599824809545480362110920106898742986933992423306189101117420742943599478314855230738021671962832818387780202626947496104862801555713622498973598040345892295450727816170270625671379035259533738356577161731615862262353535829518380183369232762839695549197808433666462953390558776245864255429158418558054071033477579429606931665347408061770674368165117325836879527252947414942411047856058187718960797245619579289381619984011589909022266245000815857894751652951470790594103305133957646198250048512360707657196455730847046101933433089315441951906960302501301367930857065095062373251513156066673485809574112485344349829630585516253944835715529445491231950491093698747876277758008492863445149439151648620699397941215871690586128007695012616334253902072867310357684531451145356093110659135853716979546207859269808505411988574416630783541080532049493905658819277025422369507288033549085141179560411442469513632919512026631913767460125835624427108179983579219260309910983959818353922036003718930505639066728770098913882785711899066963082487337783526988188944455893280010759380639483698589828871844558060390943957491849378583348495369056969604049045054240951146012416414983263811445651155863408409996349808448558902869403927168690969082243630278502765618692873563276598438995936495401573400735053712864309796210933330159625641844398429325232419394055338983598007245284794908809445952012828519929415343069795709421464776332828840107735224305446780793086678114541533163803868930591802450764408065464512356805069870814150819973088956168780551561622617810498100086258779437707314966556758663542768352248927528179515784776512228552062060142853001411620620089894315158662301361270949202882121500186651803708566658197824961240427090933813376629284565429569236061579481947838601720576063568931118733965029783118432058205168647997552588069088708714055859246595081519803133803227641098225713284520795743117564541836684387477290671704220465984656916812670683491648657802622174441929166059476286035377144150405824010681586211991865312355636738409312908268265874492106302101515207188766980408127079813150536799663934928964014615615864020777014108797725018256498700388594441935342883242999209725274422153277000067979271495581477559668444471051004339813248616042264106591588608449622518691774381119156356607469676375028998682979170046954360598072919179088536607940775296851359736727489025512528923501642459707053290788902376705930907492676160531144051975931968315604225796447733219316128194115611106617553252108264397415092476544419844529919906908940971571835923882348400330105644088922154887238194166221185214362705739280229182732606166784674227973007929869131136461641894494937111840729358358230825533565952684679122167878019615339494870902553441138507965564770096255856440064570107186821200925575528141081399358710408530042896422470459722296923701200995913044401615201388465467328428629812153515142408121858915763643227188876227276296017170780587422421897359597141735720451264399790708551594434630710105018292096157259726940003 2537975470726205983852924343552370326093487705052188041298262685491685801690736834411596697521833758431964975714306619777938917915237929602265227730761099975269341200028363421960466280261401888608347864403625709276433379851239927600706818428954174339910527673946459591134964151083633378392329018549509495921081118615967282361159780282005429614257243452063129191699128553563494565994305878375647978323456664824130141894333972227595908149799632563187261380029190925025221690813696749339969131738689938419774993661557138511698317918124934338836387373051993827430442190899450942044186926300193811149001024683235299489230470717531111179117244174013383285612869425172652624451642060089143825132059739657686474584884390003687056634619752788229475256641535706469974073477535899924026649653815538626706170082421306041005160743379084051022537510430248252956293616786767613241127135904569648275176506783067274330902016690669446228799007339096011753233767282933107507943852983536077515680634611849011196561299033878409698624325072367319106082199467118504742583582641368520906420333026625425240298418346423656263617557029273012152522517490737928860119751392917490218203746317088161936662096863669997942945126073444174684233751614340035956633795458274498525234489839019121817706746766765326565449299790985624048921535076260058694395667918968816158261073910985782303299315281385365658673342902353333049888199106751635829289845586830618037246058660750850358242206203023280656842485874872516465964260890475029475701727253765475875384540823469514273312645188179727527924214611591874058692935852202394418836345441087917476554104981239102776759361924706430616056776884309698681031555290584218932484526921612168542651968311540391939597975471542356546365518831627610517607304722907925445067005546843930476084847878250288614234324666030711939086149378442739870234729064920133205339321203718853385287664975770323831967733351133342680917723805164947262448110669793840639766269392397273685702431798303511997468418855037914898509340826418533075920488633026278544323826384849471915932941082876648768694678908926651850016356071781030813078757097515970556898512880320969867887877036009491418538703296532347671694866025946271036261953741978627223436350816775756735577324211027809824486282219980850841818833299877440500807211448772269729136399133222831548048616644394599644627656619304270771536600208164108739966126511344860174442311794492239859943798279362023826237122246067241993384541161606914555123360984019142412426147385574679437366884216732223933008207661375661985621652352728281885694193224670610380871338133072363954586817811716970013922949402805902419768739475818847294974833510439688446923726001079730457208952906575926681600071382970090121448828657367724818122133404381844043909962339519069206941595615243141262172989453558966177669344186943504204543295051928036856522414646221211533844608015635018754845940027414569608058083990596526934177593797868927050249825173301990260556810346686768900491266803918623879027500162421172016419057339218903931896528660071077164233589489931331253489291201201879826396920110500752581003259548625355923687043978434036305861737296937405573201172079892691731873526943169350830181289197765518384893789234504120856672256116314949319020680000470409643615995270552637566673861056502318335040985329311545735900883830226736570802410741034551210502753561401926078229599961206387896034099136709280790948422804696136145231208011569474589247815340751455439692647880912117822667249229164273868761436815932619715399235451315937441398500122851925079554756897646948870285689763598468236458402241450529887020186900312167414643959875033702459495487444873243457700762229957053964807311610680059360555156464769097794486145615583414975940859316163091256926608246733880004 4106530574248515054530203834191917737550581419225107726424577492862311918464316084907312601235996580174674067433931824343933360649607167939153306211359651465336045472855691145189160099229280457622177399896873757240737506826704027239861659308075953359773141436546172808851047297249224504587359367918760431388998259185088177825476235958699483647763651078995137150083525182711318352531928863562766276338668790749102502456781514104710461584301346970894376429576238127879695122966008299724502280847829271161192559408744915014179295614322413989803364293340963861292920910657441523108642200036133798016471541979713105888467413030490656800141941783617609123205942865494077692897075306516345875281582393679696587150749167622614346133679220815453314872341228500937229985077360709469507011764735645525449157016413729347194261860799826994622015825285478990977965579619586001021329762852065753137978062496689773304500057036561741679526823509366637424612802542466845864521014715151939778034170441367391379930531796718105247822133506033782059472758243364368998012741059926574977453810606055032171963765754485426937985722146598849032049770438152871271167607451105209179000991936667451318282080875259906965211371074260032578985404565810826550737100592232144723484538351379829474903202497612372667382732880301066000828495378761360062326524984063878531512587067052455789108889393870710008502973487869586994723914636197127061240336680529365913523816669243713803391645354671901356240427090744207052092268585487645809955629326632786233069072274614870366423304324033444507470422470861682564104924426619025202377425973137411382212924258264525146266649958255515757236337295752168194664474802610850846251987047447792969760148295119611199907886455502174900287554835346541023246371451678024358949791258742997439167335216033815602423269121923991949845530017926438460063600909478193596283278695568231968636160344827293436016778405374293826930140220148211073893761825657249049762619200845832588571835725472202966550662485316417664128033699981809674359484569521680117724561438562336225729152016206808394336523307355977082435750127120014411086002382310879366344464893149489797303220105805200840003479629361187779430090331393051829348631856520160387240219747367559186341732276492322181291352090795001661791922256046221052368834066582767829222657912660538863015173403058142412979905546832450287321376720392660802026269364346271795062401688807398522245159550311226708358622432719045701951199359431875795550451917832519041710712815143915498946366164570825653584271230306780719586682135846713943899361872668162968940426841786419813833412893236773147726177043904128133053260271561964859516670194827165737595430221545715114125765577259418330257874005144532050614888133653760195266283810205854725496174331384381562578334024556049530438863945665268279184551375710484612670374865078573656186349575185226149460472036412032863643665045671068308446678432531869817420593007594201472403102173369969532052391824246437344962317808258437127643542426527763605027506961737595706277647816427684633909964518930014232659338155562477899316099199037360521778556399985092651176069490962959807504197003990696362103548785823599224549687474313402806113257513369744181341522453820249050787867222932502571128944397885502120160415115082557473582802028074154258923333729641651379989805985113974764968631926248913916242033790584658684396384635434360903963968267845742432842917741807976874589566242395008155200500019873623317712263220406988725220690367672239433531533071789059779969342638137138366974028263933324438265165427689845292756149485895391937659398154494931502221575365779495843273772028548844867617346360636886684889638457233349981978092198102481257914753606504818245750545406291966570375490026268109549022765506460820007 6644506044974721038383128177744288063644069124277295767722840178353997720155052919318909298757830338606639043148238444121872278564845097541418533942120751440605386672884054567149626379490682346230525264300499466517170886677943954840568477737030127699683669110492632399986011448332857882979688386468269927310079377801055460186636016240704913262020894531058266341782653736274812918526234741938414254662125455573232644351115486332306369734100979534081637809605429052904916813779705049064471412586519209580967553070302053525877613532447348328639751666392957688723363101556892465152829126336327609165472566662948405377697883748021767979259185957630992408818812290666730317348717366605489700413642133337383061735633557626301402768298973603682790128982764207407204058554896609393533661418551184152155327098835035388199422604178911045644553335715727243934259196406353614262456898756635401413154569279757047635402073727231187908325830848462649177846569825399953372464867698688017293714805053216402576491830830596514946446458578401101165554957710482873740596323701295095883874143632680457412262184100909083201603279175871861184572287928890800131287358844022699397204738253755613254944177738929904908156497147704207263219156180150862507370896050506643248719028190398951292609949264377699232832032671286690049750030455021418756722192903032694689773660978038238092408204675256075667176316390222920044612113742948762890530182267359983950769875329994564161633851557695182013082912965616723518056529475962675285657356580398262108453613098084384639735949512213172035394637082453556622797860278821419621213771414225328858767029239503627923026011882961946373293114180061866875696030093195069778736513969059961512412116606660003139505861927044531446653073666974151540853676174585949804016796805586927915252183094284104216657593787954703888931679396369178330298329974398326801622599899287085353923825320597617267984511756507636507847864025313158336341872495451089689528888593243106274274267523775714964019081340354332562637374526400342750279973202547958662048387823411808141662093099083457163031202216282628932452106198901045224164759479826849923242977773470459665191097141814692258542182925893535451124956357339322865610585598498787610676570564143315921919056487520132005777634310775852503610755555923661553176045515355037558359057045883370411063790047452742057607562166136721058857976928556769541992395875691131969504713483299638382188957829673250534595744678786287695335740521038790350673812901851661454136860200718594936313250381303049586592478891682442705208334488574995829593555097338773349811764974858783768420230704953743161649126446710030552821999747380812154491503705266854184519156222625445571334718483835345011857945388114622172063716791021485013388417214587698769406136670903450769519929639799190792611853399224234456853895562653988817213669917006610512708764221406437683305080052047051618489605073085637916504762423128396751598186805463128522652927346671959792609202170933206245453584612177061006671042588948935621446564300956499638174176476498761798143554008861345486148629356764357725713019309538113102781815948610448574863113469396996113365934300928101935304720865716290956423214417482753636294546711135262566235311688324369907460123339247451890149624398355911763776410385635195040256663084576472593964319058953197115890689815340711335771042667283465126744787351986584762625984596640748799998067404555023223791340546504113019820774253964482744448315360625078757404911101319106547887939596836513302292969887721679495368578089453075808372528386785249517819922325336794163041839249493860174117800395945461389241762266091663257917731903582547327112833805510130142590400687190403946785403808782540618469910071273916040236691021875381546316349342431200805949373753194700011 10751036619223236092913332011936205801194650543502403494147417671216309638619369004226221899993826918781313110582170268465805639214452265480571840153480402905941432145739745712338786478719962803852702664197373223757908393504647982080430137045106081059456810547038805208837058745582082387567047754387030358699077636986143638012112252199404396909784545610053403491866178918986131271058163605501180531000794246322335146807897000437016831318402326504976014239181667180784611936745713348788973693434348480742160112479046968540056909146769762318443115959733921550016284012214333988261471326372461407181944108642661511266165296778512424779401127741248601532024755156160808010245792673121835575695224527017079648886382725248915748901978194419136105001323992708344434043632257318863040673183286829677604484115248764735393684464978738040266569161001206234912224776025939615283786661608701154551132631776446820939902130763792929587852654357829286602459372367866799236985882413839957071748975494583793956422362627314620194268592084434883225027715953847242738609064761221670861327954238735489584225949855394510139589001322470710216622058367043671402454966295127908576205730190423064573226258614189811873367868221964239842204560745961689058107996642738787972203566541778780767513151761990071900214765551587756050578525833782778819048717887096573221286248045090693881517094069126785675679289878092507039336028379145889951770518947889349864293691999238277965025496912367083369323340056360930570148798061450321095612985907031048341522685372699255006159253836246616542865059553315239186902784705440444823591197387362740240979953497768153069292661841217462130529451475814035070360504895805920624988501016507754482172264901779614339413748382546706346940628502320692564100047626263974162966588064329925354419518310317919819080862909878695838777209414295616790361930883876520397905878594855317322559985665424910704001290161881930334778004245461369410235634321108338739291507794088938862846103249247917930569743825670750226765408226382152424639457772069638779772949261974144367391245115290265557367725523638606014887856326021059635250761862137729289587442666619949462494317247619893098545662555254723230555046688732374694959217455018947997916790311510875108260788764012454187068986401570854165402677811969882605544879581937805387581714958543909274078963450510884470587467712969171346179353648949430344018665240037403764567115172107036904434117379984477242954367111505333397286939880470666146224264819684180495847573015862510435259616545873875240176750121989223424795016624421709773492916970006936318752191816645203582253643598190516309375303490614158685875260018942777014008173900094019922114586444171160685460484061094763342115819393259154222678604924675245208654701024793553494902311002287832332098263664355240323050717344889502736038446938364473429884044782085184168895113796591663832765552088459084482133270118756706224951440855660266569018779813057329995056029520041929324661593995179643590415902420435498134314585015476699226474071262694095344451824292926446432053518527791359718807967512326835625029118508575473624560372348595541226039182960359955920870131304918798297408269651539890180972901891796156442407804224505006747576834142144618958247990562179954461278568796241413883936825500717752513839465112650626852887652788594848495880495800454686100739674593532379042986821142571243447022369232075109703962035672400765656634258288312089894410340496359490899648815380498702075117174321726095273108629964508752735824502959510739275337920727590214175346556650718573956085087753026639455797988735389252111777198550440392891463337631871159101191503932131392194730180166147016827480039144423753928763496006885021876384663677778734285987236428167348116691839368699310354972139259655520018 17395542664197957131296460189680493864838719667779699261870257849570307358774421923545131198751657257387952153730408712587677917779297363021990374095601154346546818818623800279488412858210645150083227928497872690275079280182591936920998614782136208759140479657531437608823070193914940270546736140855300286009157014787199098198748268440109310171805440141111669833648832655260944189584398347439594785662919701895567791159012486769323201052503306039057652048787096233689528750525418397853445106020867690323127665549349022065934522679217110647082867626126879238739647113771226453414300452708789016347416675305609916643863180526534192758660313698879593940843567446827538327594510039727325276108866660354462710622016282875217151670277168022818895130306756915751638102187153928256574334601838013829759811214083800123593107069157649085911122496716933478846483972432293229546243560365336555964287201056203868575304204491024117496178485206291935780305942193266752609450750112527974365463780547800196532914193457911135140715050662835984390582673664330116479205388462516766745202097871415946996488133956303593341192280498342571401194346295934471533742325139150607973410468444178677828170436353119716781524365369668447105423716926112551565478892693245431220922594732177732060123101026367771133046798222874446100328556288804197575770910790129267911059909023128931973925298744382861342855606268315427083948142122094652842300701215249333815063567329232842126659348470062265382406253021977654088205327537412996381270342487429310449976298470783639645895203348459788578259696635768795809700644984261864444804968801588069099746982737271780992318673724179408503822565655875901946056534989000990403725014985567715994584381508439617478919610309591237793593702169294844104953723800849923966983384869916853269671701404602024035738456697833399727708888810664795120660260858274847199528478494142402676483810986022527971985801918389566842625868270774527746577506816559428428820396387332045137120370773023632894588825166025082789402782752782495174919430974617597441821337085385952509053338214373722720398927739921234947339962524922104859415521341964579212830420440090409127685414389434585357087845481148258681680003046071697560569803053517735608593360875654191030179845251532586192846620712346706669013433367893544158720925097292842945940772004427279685142753497963626528195029879105892405037330577506199886011061115728535734071828655406675286623075209657727777550111790291621092622680401509456496898077721535841949984433216581105371572866927176924826769229013671666130003351112996705603086472067345709668563956791503987350673874303144259471024429937324189238697259766323589168499677605360874106633742666796606256795202544930108353973764781373776394742321715696730222043118239381252264308447673191283101618193304154431115662570744113737192892342501018462247097714699091794681603878017998101516070632140506136100622875191842344141456203278788663320616966618520458517708956866713889117270796166112849835869487032612559140985627604425634847920635563650594982626000769425208230197072536652705204956596869091193350742137818113586727342188297205989800902296429756952034236065605846900232712990517256181137396116309278910078702350935640269313812145830468988865708113901427406351428193194597325647713235886352947554096128197227099446851971847548045611771185615795397436510717260815844169731608494557828209648353828715858503960103076955788880425598834816202914231114750323973644097130741123780832522085423045201820996569561345266038117472847232418770706498817043289983719085037503823473905010078363433618839827984883112285894998946385854280705099897962822359109235835713939521843013971657146970070439831614157875548899815667562494854573749052650326223927450042729663008188711130511160921513012850220029 28146579283421193224209792201616699666033370211282102756017675520786616997393790927771353098745484176169265264312578981053483556993749628502562214249081557252488250964363545991827199336930607953935930592695245914032987673687239919001428751827242289818597290204570242817660128939497022658113783895242330644708234651773342736210860520639513707081589985751165073325515011574247075460642561952940775316663713948217902937966909487206340032370905632544033666287968763414474140687271131746642418799455216171065287778028395990605991431825986872965525983585860800788755931125985560441675771779081250423529360783948271427910028477305046617538061441440128195472868322602988346337840302712849160851804091187371542359508399008124132900572255362441955000131630749624096072145819411247119615007785124843507364295329332564858986791534136387126177691657718139713758708748458232844830030221974037710515419832832650689515206335254817047084031139564121222382765314561133551846436632526367931437212756042383990489336556085225755334983642747270867615610389618177359217814453223738437606530052110151436580714083811698103480781281820813281617816404662978142936197291434278516549616198634601742401396694967309528654892233591632686947628277672074240623586889335984219193126161273956512827636252788357843033261563774462202150907082122586976394819628677225841132346157068219625855442392813509647018534896146407934123284170501240542794071220163138683679357259328471120091684845382429348751729593078338584658354125598863317476883328394460358791498983843482894652054457184706405121124756189084034996603429689702309268396166188950809340726936235039934061611335565396870634352017131689937016417039884806911028713516002075470476756646410219231818333358692137944140534330671615536669053771427113898129949972934246778624091219714919943854819319607712095566486098224960411911022191742151367597434357088997719999043796651447438675987092080271497177403872516235897156813141137667767168111904181420983999966474022271550825158568991695833016168190979164647599558888746687236221594286347360096876444583329663988277766653263559840962227818850943164494666283204102308502417863106710358590179731637054478455633508036402981912235049734804072255529020508536683606510151187165066138440634015545040379915607113917560834416111179863426764265804679230648333522486962971188959221716948474510998782497592075063751216684226455630230029726355765939498638943827513712191057192589642205020504478901796954489909620281980122643122342541220022445832006232443615806832483473050800066945979135660889554798367737418415376579389037352645987316148608149190932927517901334775780399733427938347924572519785266366182507851505454894028748329110967766942255686606024871696089584174632930617420926640371975430697819264174805759210758675479115433716456968509671438713288089003239928930789439382935676981759481176978850498991814589765348836184228965220582756145310599050366407644134448929889635746431577788512764986386755818441932390161292493426285389453048057275300212619902334074394706826344690327077825062351654662250591064444064923764564381418028975771256326689060351902560645801531026941479390116907955106196910765698530121260168796071318369018201075066521110155160145276061388979972613607823956104463607360812706761990838739531650061387070700067935593309877726299739624636142894107651681416250083537250391854348223212718429637129071656670723060790968207922138749356554537059857123128292808641455246683464543745946121622482907639259744771297094105199525854018773941975806743158046044419544633504159065641688222397429990097831390073074637816720272364397672197496826247172168437529833981460300739767845331716573194137804163797550478976037911804312395822552584371239237426831384612211163878210077779700028079829821515893652272505740047 45542121947619150355506252391297193530872089879061802017887933370356924356168212851316484297497141433557217418042987693641161474773046991524552588344682711599035069782987346271315612195141253104019158521193118604308066953869831855922427366609378498577737769862101680426483199133411962928660520036097630930717391666560541834409608789079623017253395425892276743159163844229508019650226960300380370102326633650113470729125921973975663233423408938583091318336755859648163669437796550144495863905476083861388415443577745012671925954505203983612608851211987680027495578239756786895090072231790039439876777459253881344553891657831580810296721755139007789413711890049815884665434812752576486127912957847726005070130415290999350052242532530464773895261937506539847710248006565175376189342386962857337124106543416364982579898603294036212088814154435073192605192720890526074376273782339374266479707033888854558090510539745841164580209624770413158163071256754400304455887382638895905802676536590184187022250749543136890475698693410106852006193063282507475697019841686255204351732149981567383577202217768001696821973562319155853019010750958912614469939616573429124523026667078780420229567131320429245436416598961301134053051994598186792189065782029229650414048756006134244887759353814725614166308361997336648251235638411391173970590539467355109043406066091348557829367691557892508361390502414723361207232312623335195636371921378388017494420826657703962218344193852491614134135846100316238746559453136276313858153670881889669241475282314266534297949660533166193699384452824852830806304074673964173713201134990538878440473918972311715053930009289576279138174582787565838962473574873807901432438530987643186471341027918658849297252969001729181934128032840910380774007495227963822096933357804163631893762921119521967890557776305545495294194987035625207031682452600426214796962835583140122675527607637469966647972893998661064020029740787010424903390647954227195596932300568753029137086844795295183719747394157720915805570973731947142774478319721304833663415623432746049385497921544037710998165581003481075909567781375865269354081804546066887715248283546800767717865146026489063812721353517551240593915052780875769816098823562054419215103512062819257168620479267077626572762227826264267503429544547756970922986729776523491279463258967398468644364470446438137526977527471180956156254014803961830116040787471494475232710772482920387477680267799299932798054590692088575582532300683489579140020420262755864395816439449024721178405350400227724893715208149332555684801718850415120979665861104698355655880105399653178283601392204479035251424163365262537163269779551589955351007529110815768135382071777764373199050889150954980050063348956006707012163248356068705652740937503556058023519206348670398535334650272664102554375858833116977121823131940401397924079474180268773532102869832587866864906816369471356683379020502441394507863847413237593210252713050098247030473943253469707559203186327405343262154876485660616416285840224327968922315342389995285309703825831776862892447663601096770128721161250509222326513394144802647079244748943007520827843775819873859989342262516612598762834250686052252455765134510353976599812506095785545375201125803082596689664218365034767164134955185436065179363297273423647622031721507104825746591596483690939719422867032045480973761109115164067382450038131686899866319076889506826711882241826312343417485455957944495722872569997007438187843076862746263740161345167816498915101769087199284812059448653975576816750918361676794142784726725726220903895107909753506693477644705155476683567196443212101452873537427796803819409975603559271238416208109461310767620918807652069679861295638220146866093811175884034938435091328252807442708216790960332676815165285355960076 73688701231040343579716044592913893196905460090343904773905608891143541353562003779087837396242625609726482682355566674694645031766796620027114802593764268851523320747350892263142811532071861057955089113888364518341054627557071774923856118436620788396335060066671923244143328072908985586774303931339961575425626318333884570620469309719136724334985411643441816484678855803755095110869522253321145418990347598331373667092831461182003265794314571127124984624724623062637810125067681891138282704931300032453703221606141003277917386331190856578134834797848480816251509365742347336765844010871289863406138243202152772463920135136627427834783196579135984886580212652804231003275115465425646979717049035097547429638814299123482952814787892906728895393568256163943782393825976422495804350172087700844488401872748929841566690137430423338266505812153212906363901469348758919206304004313411976995126866721505247605716875000658211664240764334534380545836571315533856302324015165263837239889292632568177511587305628362645810682336157377719621803452900684834914834294909993641958262202091718820157916301579699800302754844139969134636827155621890757406136908007707641072642865713382162630963826287738774091308832552933821000680272270261032812652671365213869607174917280090757715395606603083457199569925771798850402142720533978150365410168144580950175752223159568183684810084371402155379925398561131295330516483124575738430443141541526701173778085986175082310029039234920962885865439178654823404913578735139631335036999276350028032974266157749428950004117717872598820509209013936865802907504363666482981597301179489687781200855207351649115541344854973149772526599919255775978890614758614812461152046989718656948097674328878081115586327693867126074662363512525917443061266655077720226883330738410410517854140834441911745377095913257590860681085260585618942704644342577582394397192672137842674571404288917405323959986078932561197433613303246322060203789091894962765044204750174013137053318817566734544905963149416748821739164711111790374037208467992069885009909780106146261942504873701699275932234267040916871795600226808433848748087750169196217666146653511126308044877663543542268354861553954222506150102515679842071627844070591102821613663249984323307061113282622666952677834940181828337845655727620397687252534455754139612985745930369657603586187394912648525760025063256019907470699030417460346070513827260414731349716310434099668737460388942137818559069593885530072441920965469701783142762803975886841648445681468336985237833873278524960661187284993445239600086587833536356245250142051001643196254007802369216528910105813811031823896793200885087842299336856321533515380616270662164130400888732140141306575756979851746152933130639637629584174996440681083438756767730863782729965024149513969051107241173773993089146922120217050753921379784333601061233661445752382601861647177632213743000598436577266135165813040444874271491547686523099888459481676035543238929640225526001135576488697836688440265938708673691586052844230302996710049216339975636781650894128517554698254665540835052485725631927251302284650471491707431147309588809051854785255209990767944448459427378297292955510854848323774134152711429043120922661255930821436590105775696204513620322828642127976841717176274804711013358660494347689967314816982552046331221119833833827074548448295564511011500969512290595168467768815971522989799950297794919804380575668897954545313081072788531514025243690902731589022984368746647800604912587796009206968613053303586001424460718734862795337906310298301850368413948618333885205741143579768115461425427841081239393940038348625041974957630785279710715371404602954989402247265474565171397783689981484173691460772731237333048602715419550646255206462885222408244870790154192708817557861700123 119230823178659493935222296984211086727777549969405706791793542261500465709730216630404321693739767043283700100398554368335806506539843611551667390938446980450558390530338238534458423727213114161974247635081483122649121581426903630846283485045999286974072829928773603670626527206320948515434823967437592506143017984894426405030078098798759741588380837535718559643842700033263114761096482553701515521316981248444844396218753435157666499217723509710216302961480482710801479562864232035634146610407383893842118665183886015949843340836394840190743686009836160843747087605499134231855916242661329303282915702456034117017811792968208238131504951718143774300292102702620115668709928218002133107630006882823552499769229590122833005057320423371502790655505762703791492641832541597871993692559050558181612508416165294824146588740724459550355319966588286098969094190239284993582577786652786243474833900610359805696227414746499376244450389104947538708907828069934160758211397804159743042565829222752364533838055171499536286381029567484571627996516183192310611854136596248846309994352073286203735118519347701497124728406459124987655837906580803371876076524581136765595669532792162582860530957608168019527725431514234955053732266868447825001718453394443520021223673286225002603154960417809071365878287769135498653378358945369324336000707611936059219158289250916741514177775929294663741315900975854656537748795747910934066815062919914718668198912643879044528373233087412577020001285278971062151473031871415945193190670158239697274449548472015963247953778251038792519893661838789696609211579037630656694798436170028566221674774179663364169471354144549428910701182706821614941364189632422713893590577977361843419438702247536930412839296695596308008790396353436298217068761883041542323816688542574042411617061953963879635934872218803086154876072296210825974387096943003797191360028255277965350099011926387371971932880077593625217463354090256746963594437046122158361976505318927042274140163612861918264653357307137664627310138443058933148515528189296903548425533212852195647440426417739410274097815270521992781363381602673703202829892296236083932914430200311894025910023690032606081076215071505463100065155296555611887726667632645522036717175312803580475681592549700293525440062766446095841275200275377368610239264232277630892449004897768126247950657841350786052737552534436976063724713834379290462111301298754889964060488793354487146417728188242070616613660285974105654974221648959280923163183066731751237464885130493058163643184273506249854376395434326000924401805438248657335911111246749357299076359407455547500130302310292846283248060158463422251112078888446276884522909727086430299512472666496513340357464907934831796216282086646344641747423352509386736179694271286921806249171372819912504385757513837876547465005755237194172577053320185731525140707841714525914704731479765499078649816967907933949514186315481839382135338960924116310141172531774282573712872893695233560338762816103179950595142424369290107871893068558271919025391606335260946485476725905380447145918266637605181206886882436473628798044616294354510392058531816572682629031029864627933790721943990896055789761540900576229899287221783019720735167351716366811791231578778801203284541193676895140976672361710869890376655933917995311999036324087377792922817603524773546497415480341045484772610084676357977618505900502871389308876839804621631686622401981241372030769039017284254386595240698340919432099847115010387961950080404294924308737700252588398060873114694311679546256267987092444635095139674839237780313650897086461593106130583317764806590383250450077915512385427589099120690974963874193405610356726785332792316591342051164034987098992878103426859778599454489081346534715692665116461661750486869523982843217660199 192919524409699837514938341577124979924683010059749611565699151152644007063292220409492159089982392653010182782754121043030451538306640231578782193532211249302081711277689130797601235259284975219929336748969847640990176208983975405770139603482620075370407889995445526914769855279229934102209127898777554081568644303228310975650547408517896465923366249179160376128521555837018209871966004807022660940307328846776218063311584896339669765012038080837341287586205105773439289687931913926772429315338683926295821886790027019227760727167585696768878520807684641659998596971241481568621760253532619166689053945658186889481731928104835665966288148297279759186872315355424346671985043683427780087347055917921099929408043889246315957872108316278231686049074018867735275035658518020367798042731138259026100910288914224665713278878154882888621825778741499005332995659588043912788881790966198220469960767331865053301944289747157587908691153439481919254744399385468017060535412969423580282455121855320542045425360799862182097063365724862291249799969083877145526688431506242488268256554165005023893034820927401297427483250599094122292665062202694129282213432588844406668312398505544745491494783895906793619034264067168776054412539138708857814371124759657389628398590566315760318550567020892528565448213540934349055521079479347474701410875756517009394910512410484925198987860300696819121241299536985951868265278872486672497258204461441419841976998630054126838402272322333539905866724457625885556386610606555576528227669434589725307423814629765392197957895968911391340402870852726562412119083401297139676395737349518254002875629387015013285012698999522578683227782626077390920254804391037526354742624967080500367536376576415011528425624389463434083452759865962215660130028538119262550700019280984452929471202788405791381311968132060677015557157556796444917091741285581379585757220927415808024670416215304777295892866156526186414896967393503069023798226138017121127020710069101055411193482430428652809559320456554413449049303154170723522552736657288973433435442992958341909382931291441109550030049537562909653158981829482137051577980046405280150580576853823020333954901353576148349431076625459685606215257812235453959354511703236624858330838562787903782742705832322960478117897706627924179120856002997766297491798688031770505434750828137783851536845236263434578497577597692995971195412864796750808181815126015304695410205103788586815155188577184208435172729879859635727416142614428982706305945870707638079113330811961395148881018146784774815037582719319446164001892026082193692156361388800358942272613415257916716659212416106657315071956951664307338954378225302598418038290343357092463642873555228653481664040664914683542369215217285982271331598348950067819618451039017785588979136396969426473436864755011650540554152677357411223330974699970065126201941503160278297306593126943131292392817566344511215649352128522284256406830508610639410029632013450318116951802533920759561474339304801016639035408363077963799457945912788574915735440822675236583267127620033898001844172932178440233692612514363724931082695087786061941539368120625624537414286239855395878239181371369193348745272395748900004033439933212062841657828607647188248381337354475005716904864022319023117818389537985674601390014594412343001966351141069929839254038723358607373571963928636609995784111054188648572786973669318842912298676790102416551491002977650139326576082120090072785900620484389243651021122831483757035762554992992090933515706313305891984062297575413046542341594174297390746485463553623457571665519392040666229708567556011158846045984323288798702957487343058374378831406346368477148395012603992259897963714375032032648208678559765609340759908381314874039727601741178577887524706532540641062232800401079360322 312150347588359331450160638561336066652460560029155318357492693414144472773022437039896480783722159696293882883152675411366258044846483843130449584470658229752640101808027369332059658986498089381903584384051330763639297790410879036616423088528619362344480719924219130585396382485550882617643951866215146587711662288122737380680625507316656207511747086714878935772364255870281324633062487360724176461624310095221062459530338331497336264229761590547557590547685588484240769250796145962406575925746067820137940551973913035177604068003980536959622206817520802503745684576740615800477676496193948469971969648114221006499543721073043904097793100015423533487164418058044462340694971901429913194977062800744652429177273479369148962929428739649734476704579781571526767677491059618239791735290188817207713418705079519489859867618879342438977145745329785104302089849827328906371459577618984463944794667942224858998171704493656964153141542544429457963652227455402177818746810773583323325020951078072906579263415971361718383444395292346862877796485267069456138542568102491334578250906238291227628153340275102794552211657058219109948502968783497501158289957169981172263981931297707328352025741504074813146759695581403731108144806007156682816089578154100909649622263852540762921705527438701599931326501310069847708899438424716799037411583368453068614068801661401666713165636229991482862557200512840608406014074620397606564073267381356138510175911273933171366775505409746116925868009736596947707859642477971521721418339592829422581873363101781355445911674219950183860296532691516259021330662438927796371194173519546820224550403566678377454484053144072007593928965332899005861618994023460240248333202944442343786975078823951941941264921085059742092243156219398513877198790421160804874516707823558495341088264742369671017246840350863763170433229853007270891478838228585176777117249182693773374769428141692149267825746234119811632360321483759815987392663184139279488997215388028097685333646043290571074212677763692078076359441597229656671068264846585876981860976205810537556823357709180519824127864808084902434522363432155840254407872342641364083495007054134914359864925043608754430507291696965148706280413108791065847081179335882146895048013875591484258424298382023254003557960473074020020396056278375134907731062920309401397883755725905910099487503077614220631235130132129972034920126699176041270293116424770194659470693897143073961572916765426279051786390165833741382390364263388263629469128937439389316578215942454453312524202420291024669413978153645447088403697464330851028067472635549716241348972822713464216789514726399503598320017110127729590066457113748875302561200070443522763155346221725166822021505572849515338585497303932326913079021701459454555798145310304707395228307769789338977822622268849527088019158432594605395908028020155796651342649344874804212011324606708630371042634534252445165163538444004123638542169469534755720170804545224600690664675427615993121813102120904196589630550787447253907329838981346846834760832429010497529752604345939278448990091198816045414899499396800198559880739704080416451931426652442197220043317269720023812029903315360089404535033936649476233932727154995082562392995959363555060172568933253806920189405215995918258795061899696544491766670528330338313965387465157307632176856326883380920069379408977655480556721138865006550405479569821714301607553629907038183177625379631380698606851159107357040287215725087584570453222678598767423724505073396385857824444013558480382123170690107358221887850442284483191120558693298296809445833042937752691301673686594476610852574706539248780872999728485963477952097321332351341800622960719045230756030966374083812243665658758487444186768159914328528808948275894270552641168194291127931756783244297020521 505069871998059168965098980138461046577143570088904929923191844566788479836314657449388639873704552349304065665906796454396709583153124074709231778002869479054721813085716500129660894245783064601832921133021178404629473999394854442386562692011239437714888609919664657500166237764780816719853079764992700669280306591351048356331172915834552673435113335894039311900885811707299534505028492167746837401931638941997280522841923227837006029241799671384898878133890694257680058938728059889179005241084751746433762438763940054405364795171566233728500727625205444163744281547982097369099436749726567636661023593772407895981275649177879570064081248312703292674036733413468809012680015584857693282324118718665752358585317368615464920801537055927966162753653800439262042713149577638607589778021327076233814328993993744155573146497034225327598971524071284109635085509415372819160341368585182684414755435274089912300115994240814552061832695983911377218396626840870194879282223743006903607476072933393448624688776771223900480507761017209154127596454350946601665230999608733822846507460403296251521188161202504091979694907657313232241168030986191630440503389758825578932294329803252073843520525399981606765793959648572507162557345145865540630460702913758299278020854418856523240256094459594128496774714851004196764420517904064273738822459124970078008979314071886591912153496530688301983798500049826560274279353492884279061331471842797558352152909903987298205177777732079656831734734194222833264246253084527098249646009027419147889297177731546747643869570188861575200699403544242821433449745840224936047589910869065074227426032953693390739496752143594586277156747958976396781873798414497766603075827911522844154511455400366953469690545474523176175695916085360729537328818959280067425216727104542948270559467530775462398558808482924440185990387409803715808570579514166556362874470110109581399439844356996926563718612390645998047257288877262885011190889322156400616017925457129153096527128473719223883771998220246491525408744751400380193621001503874850415296419198768879466206289000621629374157914345647812087681345261637977305985852389046644234075583907957934693819826397184902779938368322424834312495670921026519806435691039118771753378852438379388041167004214346214481675858179701944199516912281372901205222861608341171903318506554043693951024348313877655209732707729822968006115539563972792078474931550785499354880899000931660776728105342610487486959120045693377109806506877817246335775074808147027395691546754415848461405220567075799484451560872964893252405589490413044720223834024350075183621586237971380933448727142506160913391974061792036929020835339051473720599490413800615226798219776953820303685546237764198880954712521218309184410620050409522375416596349322492984207444166758765451259487023861177628573311109952016619239002720125861777544590848035082509317917733651761663435452100596956380812890572526407894948999978145395130200436558674918807616477961536752683287441425705213228665959150525217706787784894135421750496273251685734113019731965973176450834264130994485648592111911163923490963434791866478393470794773067821757457603509575419690269084686729282753280306332398376237966167088207145404050824567010743308553906287728812637094269238314941376613451437682219093156685122742681315931738606227237471430895050241988293641343337614265476340832193053655123192453239140557213906230420009454734668628357281520025182933279197429826187836209476828221474345510082524459487060066388476791340150326864372366185468265520404764229444616581873937606022246921754381111352434978418921010241242605635456898559029828047483830487071544337856783503667700828490195635564711305128719745341406116460452344218524096784946676541229202568536550017072848440165874726831768993989583645376380843 817220219586418500415259618699797113229604130118060248280684537980932952609337094489285120657426712045597948549059471865762967627999607917839681362473527708807361914893743869461720553232281153983736505517072509168268771789805733479002985780539858800059369329843883788085562620250331699337497031631207847256991968879473785737011798423151208880946860422608918247673250067577580859138090979528471013863555949037218342982372261559334342293471561261932456468681576282741920828189524205851585581166830819566571702990737853089582968863175546770688122934442726246667489966124722713169577113245920516106632993241886628902480819370250923474161874348328126826161201151471513271353374987486287606477301181519410404787762590847984613883730965795577700639458233582010788810390640637256847381513311515893441527747699073263645433014115913567766576117269401069213937175359242701725531800946204167148359550103216314771298287698734471516214974238528340835182048854296272372698029034516590226932497024011466355203952192742585618863952156309556017005392939618016057803773567711225157424758366641587479149341501477606886531906564715532342189670999769689131598793346928806751196276261100959402195546266904056419912553655229976238270702151153022223446550281067859208927643118271397286161961621898295728428101216161074044473319956328781072776234042493423146623048115733288258625319132760679784846355700562667168680293428113281885625404739224153696862328821177920469571953283141825773757602743930819780972105895562498619971064348620248570471170540833328103089781244408811759060995936235759080454780408279152732418784084388611894451976436520371768193980805287666593871085713291875402643492792437958006851409030855965187941486534224318895410955466559582918267939072304759243414527609380440872299733434928101443611647732273145133415805648833788203356423617262810986700049417742751733139991719292803354774209272498689075831544358624765809679617610361022700998583552506295680105015140845157250781860774517009794957984675983938569601768186348630036864689266350460727397157395404579417023029646709802149198285779153732714522203708693793817560393724731688008317570590962092849053684751440793657210445660019389983018776084029817585653516870375000918648426866313970872299591302596369468485233818652775964219912968559748036112953924528650573301202262279949604050511851391491875840967837861952940041035666263148833348768047975555694014351592898074734738301022108036766538745510211527118492196871141205509965244203745586416712269762696870301773929422987366824153865539026610340340809286954743895748291306659899791424970559060684845150238241868905664511711991171919766519087292452800349023160690484244137989953565998678987125707051810613714219540209825150636097489641751868976931214741659627200379435751936548104429082109292710704716592469542546622015147030740281658428887240192909886721329242340360392034478086634849401545976429016530531533491169447680150850371241103899519498281153389152745805100543546609409818296509937972471614117623875482268585257105680696231642772336311912454899824355329810531063491611307964122050844174495946894845402221425510018977500920779295443502298988002089372157815340269047852471898894243202227966443820526374298368726475220982619557283674454310859635408513337378763584923355651073019629897126071384545103607751377125369213710722746591920956897553331918661673597932808962271515513784049916492917846253736912900723789784438304786866475051934564412791927568188681291883211565139784862649164594340422852748308638955627762986117295058866357128726580940220051190557185477916171612311914929200112067751133736367296264703486800030301334735600989033179831996258525430350359475776307780200272696009877282584229133444701143531097345498292967118992807042921122896925746366889673401364 1322290091584477669380358598838258159806747700206965178203876382547721432445651751938673760531131264394902014214966268320159677211152731992548913140476397187862083727979460369591381447478064218585569426650093687572898245789200587921389548472551098237774257939763548445585728858015112516057350111396200547926272275470824834093342971338985761554381973758502957559574135879284880393643119471696217851265487587979215623505214184787171348322713360933317355346815466976999600887128252265740764586407915571313005465429501793143988333658347113004416623662067931690831234247672704810538676549995647083743294016835659036798462095019428803044225955596640830118835237884884982080366055003071145299759625300238076157146347908216600078804532502851505666802211887382450050853103790214895454971291332842969675342076693067007801006160612947793094175088793472353323572260868658074544692142314789349832774305538490404683598403692975286068276806934512252212400445481137142567577311258259597130539973096944859803828640969513809519344459917326765171132989393968962659469004567319958980271265827044883730670529662680110978511601472372845574430839030755880762039296736687632330128570590904211476039066792304038026678347614878548745433259496298887764077010983981617508205663972690253809402217716357889856924875931012078241237740474232845346515056501618393224632027429805174850537472629291368086830154200612493728954572781606166164686736211066951255214481731081907767777131060873905430589337478125042614236352148647025718220710357647667718360467718564874850733650814597673334261695339780001901888230154119377668466373995257676968679402469474065158933477557431261180148242461250851799425366590852455773454484858767488032095997989624685848880646012034106094443634988390119972951856428339720939724950162032644391882207199803920595814364457316712643542414004672614702508619997256918289502866189402912936173649116855686002395262971015411807726874899238285586009774441828452080721033066302286403878387902990729018841756674204185061127176931100030417058310267854335577812453814603348296489235935710423778572443693499380526609885053955431794866379577120734652551646174870050783747504577837978559990384028341814817331271754950844105459952561414119690401805718752350260340758306810715682966909676832477908419429880841120937318176786136991745204520768833993298001536199705369531050700545591775908047151205827121625427242979526341193369232491899006395515029127450647254025704630257220495602003378019022756301019278553733444107961309451286150235334643554442623638317099899575233593214876445156940468515140684249866608592145298656226083686969011411825425103965233711803448108127791851822743760180898044753216751785775632807429392598048377913100494922346368945281900261802278499306631338008949693363643196103306869880341596316571882345165780652498638634386033460407520206431831040944969230647160074012153697913538735446357926789319589056939428440169425825545980571677662574438305897631350689498488387984972314623046962469088497689320905408769617690335753378932381965755792068277885631350658619460805016712083723219128045541807609287813373238873016198577840734958524288870863192568072688818654911095646601446228709865061331409373370494645093385041677280381508711432194377943692625801012021964775060982678080040773815700945828864677611782575038646427367357507352066084206186433238385524972316796790386048102828729420014469925947652514882094194420748972717717502216692662888144041241013401913698763816342698625206173339440504744667287225114494107221148167750346739675448231066332603187141805571668537912894590533322156171805747524649692766195343748533973871574639191519104656734008322191894090141655488195521649186316733148354095806681014080121242372733665882048310039967432972917647954665919735950535049782207 2139510311170896169795618217538055273036351830325025426484560920528654385054988846427958881188557976440499962764025740185922644839152339910388594502949924896669445642873204239053102000710345372569305932167166196741167017579006321400392534253090957037833627269607432233671291478265444215394847143027408395183264244350298619830354769762136970435328834181111875807247385946862461252781210451224688865129043537016433966487586446346505690616184922195249811815497043259741521715317776471592350167574746390879577168420239646233571302521522659775104746596510657937498724213797427523708253663241567599849927010077545665700942914389679726518387829944968956944996439036356495351719429990557432906236926481757486561934110499064584692688263468647083367441670120964460839663494430852152302352804644358863116869824392140271446439174728861360860751206062873422537509436227900776270223943260993516981133855641706719454896691391709757584491781173040593047582494335433414940275340292776187357472470120956326159032593162256395138208412073636321188138382333586978717272778135031184137696024193686471209819871164157717865043508037088377916620510030525569893638090083616439081324846852005170878234613059208094446590901270108524983703961647451909987523561265049476717133307090961651095564179338256185585352977147173152285711060430561626419291290544111816371255075545538463109162791762052047871676509901175160897634866209719448050312140950291104952076810552259828237349084344015731204346940222055862395208458044209524338191774706267916288831638259398202953823432059006485093322691276015760982343010562398530400885158079646288863131378905994436927127458362718927774019328174542727202068859383290413780305893889623453220037484523849004744291601478593689012711574060694879216366384037720161812024683596960745835493854932077065729230170106150500846898837621935425689208669414999670022642857908695716290947858389354375078226807329640177617406492509599308287008357994334747760826048207147443654660248677507738813799741350188123630728945117448660453922999534204796305209611210007927713512265582420225927770729472653113241132088762649225612426773301852422660869216765832143632801189329278772217200829688361204800350047838980661691113469431789120609050232585066321132640349609407085151452143495485253872639342849400868973431130710665642318505723031113942902052048051096861406891668383453728848088186872090270458776011027501896887383584084797081130253330149558684020564450140468747614094200249160228266266263482299319860820231072148156452009264066541809447792182638926185573934024163399900836216806447344149658033562704359341071233925210880317489936815956405631569967195420244652171766920871382288891206705351774311794555099649858991627320035132171519581379389903554147476237846079668576893743078948039854974309423705609282587061758250195045260649533064200689178635319071233854855951976402414372545732391625370295759472765748605587470961931338873505696830942918766473957804178784739842244293488528518924032865258979026470160935023032645099958921010484613078197398564404589798086250482974790615547775575334527092167592651783783760268084275237624087859712459445068166306694867060690908027068910986870494081181763955574611601336938465619759340046006856729694051751661618146936660647430478112439746263003396424888720575725990748996327678646397804492726721062788830798107390135938856890978470388318857065100244933798519842440570361135831107321472762502155807003559137940078605653805329481887445108225910190345958202089669339007710077862802746176775930736464034734314588195059184127361856762225723390810762145634071101005859592400826502562640013237460671604940526254705645767188154188152615572005847671297956966517005844363973089265243213565943516264763227546603007086425779960569077562845482317424723183571 3461800402755373839175976816376313432843099530531990604688437303076375817500640598366632641719689240835401976978992008506082322050305071902937507643426322084531529370852664608644483448188409591154875358817259884314065263368206909321782082725642055275607885209370980679257020336280556731452197254423608943109536519821123453923697741101122731989710807939614833366821521826147341646424329922920906716394531124995649589992800631133677038938898283128567167162312510236741122602446028737333114753982661962192582633849741439377559636179869772779521370258578589628329958461470132334246930213237214683593221026913204702499405009409108529562613785541609787063831676921241477432085484993628578205996551781995562719080458407281184771492795971498589034243882008346910890516598221067047757324095977201832792211901085207279247445335341809153954926294856345775861081697096558850814916085575782866813908161180197124138495095084685043652768588107552845259982939816570557507852651551035784488012443217901185962861234131770204657552871990963086359271371727555941376741782702351143117967290020731354940490400826837828843555109509461223491051349061281450655677386820304071411453417442909382354273679851512132473269248884987073729137221143750797751600572249031094225338971063651904904966397054614075442277853078185230526948800904794471765806347045730209595887102975343637959700264391343415958506664101787654626589438991325614214998877161358056207291292283341736005126215404889636634936277700180905009444810192856550056412485063915584007192105977963077804557082873604158427584386615795762884231240716517908069351532074903965831810781375468502086060935920150188954167570635793579001494225974142869553760378748390941252133482513473690593172247490627795107155209049084999189318240466059882751749633758993390227376062131880986325044534563467213490441251626608040391717289412256588312145724098098629227121507506210061080622070300655589425133367408837593873018132436163199841547081273449730058538636580498467832641498024392308691856122048548690870981309802059131883022065024611276010001501518130649706343173166152493767741973816604657407293152878973157313420862940702194416548693907116750777191213716703019617681319593931505796573421993203240299452038303818671392981107916217800834419053172317731781058772730241989910749307496802634063710243799947936200053584250802230937942368929045504756135338077917392084203254007028238080752816576696087525768359277009331274590154770725968109696203627179251022567282760853053304928192381599442602244598710096252071430499738825760807527239039845057776685321588028399524642154849657997297317612179891729315361919921639343373415303548036503994510681052280333644423457137549944601984492247907369540420530054517888526661290165356425975544477417677526587106722144143161844189765301925854469406924030847543899283919097661096698841750902274799825182623562488384699430305164105742117399555068194644410390371508299331242811514596429048396110076416090531742781876513491238655912221448114967850255928441414717649256763863545460163154356472867683717601141594251420564487659057746220213134459393071573641323148253822665700447417969357037169887435133379726681980006633471940309891629016906020974707433110713144381723287238238405483946039561839562461659452442887500728941083437198704421521554855426608110253685044231860084228414854915004293823374324381863295267178704905167928974353812989768388222876017925301742221735219873309220251800828222646894818731395586208924568608815552131541530174083674997302977296853397924098486810774409762819261391787314503662333894261303705352678956227272811607117050519268757983761771434543179579717773810302501196476380046705713661335866819606152833738992718068895946257293687185888998429109594913047053858752878217032228765218267959772965778 5601310713926270008971595033914368705879451360857016031172998223605030202555629444794591522908247217275901939743017748692004966889457411813326102146376246981200975013725868847697585448898754963724181290984426081055232280947213230722174616978733012313441512478978412912928311814546000946847044397451017338292800764171422073754052510863259702425039642120726709174068907773009802899205540374145595581523574662012083556480387077480182729555083205323816978977809553496482644317763805208925464921557408353072159802269981085611130938701392432554626116855089247565828682675267559857955183876478782283443148036990750368200347923798788256081001615486578744008828115957597972783804914984186011112233478263753049281014568906345769464181059440145672401685552129311371730180092651919200059676900621560695909081725477347550693884510070670514815677500919219198398591133324459627085140028836776383795042016821903843593391786476394801237260369280593438307565434152003972448127991843811971845484913338857512121893827294026599795761284064599407547409754061142920094014560837382327255663314214417826150310271990995546708598617546549601407671859091807020549315476903920510492778264294914553232508292910720226919860150155095598712841182791202707739124133514080570942472278154613556000530576392870261027630830225358382812659861335356098185097637589842025967142178520882101068863056153395463830183174002962815524224305201045062265311018111649161159368102835601564242475299748905367839283217922236767404653268237066074394604259770183500296023744237361280758380514932610643520907077891811523866574251278916438470236690154550254694942160281462939013188394282869116728186898810336306203563085357433283334066272638014394472170967037322695337463848969221484119866783109779878405684624503780044563774317355954136062869917063958052054274704669617714337340089248543466080925958827256258334788582006794345518069365895564436158848877630295767042539859918436902160026490430497947602373129480597173713198885258006206646441239374580432322585067165997351324904309336263928188231676234619203723513767100550875634113902638805607008874062579253883019719926180825579974290079706534338049349883236395522994392043405064224418031367432912167487686891424992360908502270888884992525621457525624885985871196667802985653698115579642858884180438207468276382215966831061879102105632301899092344834037312499233604223524950007662542979265034530134968136400661493168656021689426568015295154604911194715723790403876339479288833546243152373165748423453747599054253862776638061519222682377751946381461263203244958612902128035372549182675717554017338368551537390772046805298735878044974943382498968281156166277601923662622535630162489324256396539591897766361167740565186689408108040680068910573451782323497346103480849801092183016818499189007535137056468682281042589159933452161861785877477069973508654681134599964902757245162696789476037876872320816800231881352302847172836939642457515195522353914255200830373987075365042010162688777480427141438011190951474059817608177774348158538360552920877457481803851624569042036112263234392273312380727111176855333909407423491446753560159877414425203476582302194070634709048917620342434391073392972480632576044371576332903721769294094968099535697701179986499122306882920999940475204086833623593142097280846175604437932331442036352810949477643745802401213510263238754273737567023762233029219287611509610828793237153756409063694497722029116223810938768301252548624060877473654032794519005898089743619843422682707380840099599574700029223274809144077407456450971441865519096119984694516114824590298373817466709451345771320623775008895214784520244028515948268384630568199321285667183538117563119350744837082041985211500507253129405263192337141516054140284532838786109791610700585384496149349 9063111116681643848147571850290682138722550891389006635861435526681406020056270043161224164627936458111303916722009757198087288939762483716263609789802569065732504384578533456342068897087164554879056649801685965369297544315420140043956699704375067589049397688349393592185332150826557678299241651874626281402337283992545527677750251964382434414750450060341542540890429599157144545629870297066502297918105787007733146473187708613859768493981488452384146140122063733223766920209833946258579675540070315264742436119722524988690574881262205334147487113667837194158641136737692192202114089715996967036369063903955070699752933207896785643615401028188531072659792878839450215890399977814589318230030045748612000095027313626954235673855411644261435929434137658282620696690872986247817000996598762528701293626562554829941329845412479668770603795775564974259672830421018477900056114412559250608950178002100967731886881561079844890028957388146283567548373968574529955980643394847756333497356556758698084755061425796804453314156055562493906681125788698861470756343539733470373630604235149181090800672817833375552153727056010824898723208153088471204992863724224581904231681737823935586781972762232359393129399040082672441978403934953505490724705763111665167811249218265460905496973447484336469908683303543613339608662240150569950903984635572235563029281496225739028563320544738879788689838104750470150813744192370676480309895273007217366659395118943300247601515153795004474219495622417672414098078429922624451016744834099084303215850215324358562937597806214801948491464507607286750805491995434346539588222229454220526752941656931441099249330203019305682354469446129885205057311331576152887826651386405335724304449550796385930636096459849279227021992158864877595002864969839927315523951114947526290245979195839038379319239233084927827781340875151506472643248239512846646934306104892974745190873401774497239470947930951356467673227327274496033044622866661147443920210754046903771737521838504674479082737398972741014441189214546042195885619138323060071253741259230479733515268618681525340457075804958100776616036395858540427013079059798737287710942647236532465898577143512273771583257121767244035712687026843673284260313418195601207954309192703663918602565441842686820290249840120717434756888309884848794929745704270910445926210631009815302159216552701323282776406241544738360358863027925054627182519041558373048889217238189256181790048703577346569744759681920683833486607503518730311400829004005426470676615835347041656498461486734313590653182116577707188988502243090016389587449623400948707317872403675335665869149570663776120660655799684318316797802516317660160788282975942956180053619626874200998524084145673730708161095241207296634701970234266999427326800915023630067956523236326178662688954309460991525875606311890133059217371259522882576318820875783454506317223527391141944593001953581779994271875884994876291742674355472168182453972111624570750024331616920905729857241555501401344689701875256405861446879915474535257434538211703998523707277350325165521452766163293456676750893450019532593861570569926907550730571745269419260607295383782240646469737327450361391028924253814374700965021989386653550751804687046048103492581333206505019643740741826061583966335363887441204145170270822297563618835701602212548186016486268212895177892498660806695036884587620617569004745728667400958193641424499379217016113171681710805916232941902425444062739596523899443442792273059862957363127821450221285150017506357704683817396452972624127710085583553840226717842758756369181430014245998221467503546525646629073826501865040078607536780329757964099961802326250769581106948246026999328519404937169272184483829800110881157757800940315294261621446736429101194143285717003142020375918853344269115127 14664421830607913857119166884205050844602002252246022667034433750286436222611899487955815687536183675387205856465027505890092255829219895529589711936178816046933479398304402304039654345985919518603237940786112046424529825262633370766131316683108079902490910167327806505113643965372558625146286049325643619695138048163967601431802762827642136839790092181068251714959337372166947444835410671212097879441680449019816702953574786094042498049064693776201125117931617229706411237973639155184044597097478668336902238389703610599821513582654637888773603968757084759987323812005252050157297966194779250479517100894705438900100857006685041724617016514767275081487908836437422999695314962000600430463508309501661281109596219972723699854914851789933837614986266969654350876783524905447876677897220323224610375352039902380635214355483150183586281296694784172658263963745478104985196143249335634403992194824004811325278668037474646127289326668739721875113808120578502404108635238659728178982269895616210206648888719823404249075440120161901454090879849841781564770904377115797629293918449567007241110944808828922260752344602560426306395067244895491754308340628145092397009946032738488819290265672952586312989549195178271154819586726156213229848839277192236110283527372879016906027549840354597497539513528901996152268523575506668136001622225414261530171460017107840097426376698134343618873012107713285675038049393415738745620913384656378526027497954544864490076814902700372313502713544654439818751346666988698845621004604282584599239594452685639321318112738825445469398542399418810617379743274350785009824912384004475221695101938394380112437724485888422410541368256466191408620396689009436221892924024419730196475416588119081268099945429070763346888775268644756000687489473619971879298268470901662353115896259797090433593943902702642165121430123694972553569207066769104981722888111687320263260239297338933398319825561247123510213087245711398193071113297159095046293340234644077484936407096510881125523976773553173337026256380543393520789928474586988259485417493849683457029035719232400974570978443763707785490098975112423446733005240624317262001022353770870515248460379907796765975300526831468453744054459755840771947204843187962116456580081588656444224022967467572806161446507923703088455003889527707679110183911739186828142177462071694404264848854600415627610443554043971964582387977932717170161784076088508017025617899682424837811738130145361864899364593115399557277011379858209600234375247157799636425039289094640710752324263372375109875864494329653570449765446334975002489577658773497889993589957692674034420686961435822925959391677729293260180301484598816327065884899605578715683782116198457395063676043440091875901660427896704742742650303177572879109124412369733548806324328509195481188143316996128582344288592932722219150823421384668453795890849292109187451823492293899189755698743057817871144196701795108173094977202645005122096429626820093103938586817751279716932606597511564033467182302397843872637831389534352865612312559862536884260198227782647325304390732335492789014127842292844974588681746782241460137995236716172820767172798207444123052039521520996100077841874156809092038414961867286126796176263378951825261875428174604555341441921812560706273218284887381679349257104445890705716116547777816986118347928304565706127370142406609096250394850859371842742312752429633987412929036008990045809350325438119869610730663931541667873678364825151992066853150533516990157646827348311028769860929040412064657496052547324156933360392697917634174293730198234700526134230692737582328136824020446540535953210811399231311789224972748620205830842199037965737516445348284995702943054732391535228666882152866369258308193444699524813783877945155334427818555789251811986619438728765264476 23727532947289557705266738734495732983324553143635029302895869276967842242668169531117039852164120133498509773187037263088179544768982379245853321725981385112665983782882935760381723243073084073482294590587798011793827369578053510810088016387483147491540307855677200097298976116199116303445527701200269901097475332156513129109553014792024571254540542241409794255849766971324091990465280968278600177359786236027549849426762494707902266543046182228585271258053680962930178158183473101442624272637548983601644674509426135588512088463916843222921091082424921954145964948742944242359412055910776217515886164798660509599853790214581827368232417542955806154147701715276873215585714939815189748693538355250273281204623533599677935528770263434195273544420404627936971573474397891695693678893819085753311668978602457210576544200895629852356885092470349146917936794166496582885252257661894885012942372826105779057165549598554491017318284056886005442662182089153032360089278633507484512479626452374908291403950145620208702389596175724395360772005638540643035527247916849268002924522684716188331911617626662297812906071658571251205118275397983962959301204352369674301241627770562424406072238435184945706118948235260943596797990661109718720573545040303901278094776591144477811524523287838933967448196832445609491877185815657238086905606860986497093200741513333579125989697242873223407562850212463755825851793585786415225930808657663595892686893073488164737678330056495376787722209167072112232849425096911323296637749438381668902455444668009997884255710545040247417890006907026097368185235269785131549413134613458695748448043595325821211687054688907728092895837702596076613677708020585589109719575410825065920779866138915467198736041888920042573910767427509633595690354443459899194822219585849188643361875455636128812913183135787569992902770998846479026212455306281951628657194216580295008451112699113430637790773492198479977886314572985894226115736163820242490213550988690981256673928935015555604606714172525914351467445595089435716675547612910048330739158753080163190544304337913926315028054248721808562106135370970963873746084300423054549711965001007402981147037523420070537558557648598712489456741486599514056207518261383563324410889274292320362826588409310259626451696348044420523211892199412556474039929616010097274068388093081509706424065407301738910386849795588710324941251005857771797344303117646881065914835137871681019601786833722708434644124275036083390763618883376939911635204251163226107101655124441682367250785750106688700529046610907360759438267689424991392077027282174446597311462361368009700289836532099599046620047477413611576978104000916476487854167875548534895737401743072658393587760189113822584062755669104001377444620537444572306435925327393363616762847564835374143877097626457120108219894904822855278368194680907551030114711725075563693769047019685041134348700696639597865416072586789984464837651558117173304550401738444663853962918434672185446789848153012965378156884177654249734084711305008888123046850771566535407967475578107812846757156895628949465765021292312377568450252316709149010868566981985592081374468181989684769521776848971357491106766127971183793003436951253939677547980950424999928754456761381109574985182663638622290239553648774822883494427375268188269334952249380029534304364414572778601305262641067415791287279438479989411747058481097034945606570460508369262825463497119830675526963605833967111936417961349051435509645423593379947520774648798532313919878435398116748474892505519948284643445976251757860892136488954603881956148476690959049831683349667075614362455075851477838848569554730712720167633168449807546844464691375284324222347991901663719712496682263747527016109133759993786435230614374256528571104272792393832362538292073034379603 38391954777897471562385905618700783827926555395881051969930303027254278465280069019072855539700303808885715629652064768978271800598202274775443033662160201159599463181187338064421377589059003592085532531373910058218357194840686881576219333070591227394031218023005006602412620081571674928591813750525913520792613380320480730541355777619666708094330634422478045970809104343491039435300691639490698056801466685047366552380337280801944764592110876004786396375985298192636589396157112256626668869735027651938546912899129746188333602046571481111694695051182006714133288760748196292516710022105555467995403265693365948499954647221266869092849434057723081235635610551714296215281029901815790179157046664751934562314219753572401635383685115224129111159406671597591322450257922797143570356791039408977922044330642359591211758556378780035943166389165133319576200757911974687870448400911230519416934567650110590382444217636029137144607610725625727317775990209731534764197913872167212691461896347991118498052838865443612951465036295886296814862885488382424600298152293965065632218441134283195573022562435491220073658416261131677511513342642879454713609544980514766698251573803300913225362504108137532019108497430439214751617577387265931950422384317496137388378303964023494717552073128193531464987710361347605644145709391163906222907229086400758623372201530441419223416073941007567026435862320177041500889842979202153971551722042319974418714391028033029227755144959195749101224922711726552051600771763900022142258754042664253501695039120695637205573823283865692887288549306444907985564978544135916559238046997463170970143145533720201324124779174796150503437205959062268022298104709595025331612499435244796117255282727034548466835987317990805920799542696154389596377843917079871074120488056750850996477771715433219246507127038490212158024201122541451579781662373051056610380082328267615271711351996452364036110599053445603488099401818697292419186849460979337536506891223335058741610336031526436730130690946079087688493701975632829237465476087497036590224576246929846647573340057146327289599032692485516347596234346083387320479089541047371811712987354778273496395497903327867303533858175430180943200795946355354828154723104571525440867469355880976807050611376777832432613142855968123611666896088940264153150113527749284102210565555153204110688914261902154537997293349632682289523638983790488967506087193735389082940453037554105857413524963868070299543488868151482948040630263235149511869579498321025743526694413536323078003110013479063810404911105237014329888033135759966394566604940947944487305052319060683734710523493535421972579439155142904837158405485515292814920052775154113611421183859271115788651436232553914459964416097000706120187270840622145185545049739763097165569171893344569625065240943453248690564183497755577497519018102292219483910602574367672881220870511978940324104399439697415736560269288585092637932628760762178426646831365264756957901505252423465163722454750524529411624066480052093606722542694543240988659163331429072292227673805890460172061547627964442254779149134605222543038934063491390471006562218701764902141640980197128892573816370492353591184608002127992885041851913121225804344157213803951754016332189555714130326624585451182996512771933662204562843684479714078975051068797157846520422712342877344307432632783474024887537674289339361254489371233526668933019499496517359308634813822557950545137694269765508779810096326174203427576498574126896937678421476146843342689739364438528813132388558067272441576806368949675495066430219152838582482282707383696632159820173687522154898408286662877070160358779703461340373464010648845512581981136723569319925291046634055254941163564416613896274417327204693311249014492319411862998922828581645644349157730801799644079 62119487725187029267652644353196516811251108539516081272826172304222120707948238550189895391864423942384225402839102032066451345367184654021296355388141586272265446964070273824803100832132087665567827121961708070012184564418740392386307349458074374885571525878682206699711596197770791232037341451726183421890088712476993859650908792411691279348871176663887840226658871314815131425765972607769298234161252921074916401807099775509847031135157058233371667634038979155566767554340585358069293142372576635540191587408555881776845690510488324334615786133606928668279253709491140534876122078016331685511289430492026458099808437435848696461081851600678887389783312266991169430866744841630979927850585020002207843518843287172079570912455378658324384703827076225528294023732320688839264035684858494731233713309244816801788302757274409888300051481635482466494137552078471270755700658573125404429876940476216369439609767234583628161925894782511732760438172298884567124287192505674697203941522800366026789456789011063821653854632471610692175634891126923067635825400210814333635142963818999383904934180062153517886564487919702928716631618040863417672910749332884440999493201573863337631434742543322477725227445665700158348415568048375650670995929357800038666473080555167972529076596416032465432435907193793215136022895206821144309812835947387255716572943043774998349405771183880790433998712532640797326741636564988569197482530699983570311401284101521193965433475015691125888947131878798664284450196860811345438896503481045922404150483788705635089829533828905940305178556213471005353750213813921048108651181610921866718591189129046022535811833863703878596333043661658344635975812730180614441332074846069862038035148865950015665572029206910848494710310123664023192068198360539770268942707642600039639839647171069348059420310174277782150926972121387930605994117679333008239037276544847910280162464695565794673901372545644083465985716391683186645302585624799580026720442212026039998284264966541992334737405118605002039961147570722264954141023700407084920963735000010009838117644395060253604627086941207324909702369717054351194225173841470426361424952355785676477542535426747937841092415824028893432657537432954868884362241365955088765278358630173297169877199786088092059064839204012544134878788288352820627190043143759381376278953648234713817112979669203893448384143145221392614464889989648260764850390311382270148855288175425786877015311797590778734187613143187566338804249146612089423504783749484251850628349537978005445253895763585752510933957716144375089326300825184957786643632223122391084616514680428693435000360025635021019199486632556516414136509486431769302774220650702648507158585602343774182239196421667737044027171766104707497631891378066717491980975067156460782332019458179943768942338569910368798784078402578432775887212783199770514025314299443236574989917531663981458453100136337013601976341875375077102770280318879351731197233103709420811864423687095650610512302903537494789780950657706343340807253999552129111706014102995607700195149383998273018818704523593391720544170426917600111489186380200539481875129200687356983516109162186813662095593219463711082291374130099176678045288864375165481892138164228951682770788950936823705311807249089805286752325582437027446338111854982267244386021046537876054727076757450122908737895424541440678824953727819350666236429714623703878626069957025728571460277319677781220664657875599475891746514287523254863086143997720276885199196124945375656609617799836645561607281063587220726220252345201433355958566708107442464438431184074655681991503523354597769260863362514354909008928334434174060541097179098653059426445828098853644147639038535718974653660246680361423290526460964687097684245106693668391570027101374039476711696022874834023682 100511442503084500830038549971897300639177663935397133242756475331476399173228307569262750931564727751269941032491166801044723145965386928796739389050301787431864910145257611889224478421191091257653359653335618128230541759259427273962526682528665602279602743901687213302124216279342466160629155202252096942682702092797474590192264570031357987443201811086365886197467975658306170861066664247259996290962719606122282954187437056311791795727267934238158064010024277348203356950497697614695962012107604287478738500307685627965179292557059805446310481184788935382412542470239336827392832100121887153506692696185392406599763084657115565553931285658401968625418922818705465646147774743446770107007631684754142405833063040744481206296140493882453495863233747823119616473990243485982834392475897903709155757639887176393000061313653189924243217870800615786070338309990445958626149059484355923846811508126326959822053984870612765306533505508137460078214162508616101888485106377841909895403419148357145287509627876507434605319668767496988990497776615305492236123552504779399267361404953282579477956742497644737960222904180834606228144960683742872386520294313399207697744775377164250856797246651460009744335943096139373100033145435641582621418313675296176054851384519191467246628669544225996897423617555140820780168604597985050532720065033788014339945144574216417572821845124888357460434574852817838827631479544190723169034252742303544730115675129554223193188619974886874990172054590525216336050968624711367581155257523710175905845522909401272295403357112771633192467105519915913339315192358056964667889228608385037688734334662766223859936613038500029099770249620720612658273917439775639772944574281314658155290431592984564132408016524901654415509852819818412788446042277619641343063195699350890636317418886502567305927437212767994308951173243929382185775780052384064849417358873115525551873816692018158710011971599089686954085118210380479064489435085778917563227333435361098739894600998068429064868096064684089728454849546355094191606499787904121511188311246939856485690984452206580894226119633692841257298604063137738514704263382517798173137939710563949973938033330075805144626273999459074375858333379310223712516964470526614206145827986054273976927811162865924491677982059980667746545684377293084780340156671508665478489519203387917927801893931106047986381436494854074903988528973438749732356477505117659231795741212979892734428836761458849033731102011339049286844879409847238935374363247805277594155043951514328523257005777064816321338868821381389419214333960944924181210237164070335571921566999489377169710883519170442991778925787699421251294914971947062117694273425856762118579769461614889970890632654221651503991587863105413617819162218688862677526024806919557947901191351524513394007579513363617489348261900334010273406230885491989997935916873810909456210788043642921782557499576034429338536611163960169740702909079641530157844064468974177769765928939519115774234757654062024201405017137758436947529796694095370100365177434424679992422823189888733190880252151557833975323319561522822654528120443691929952881691419389121885657750142383942554669409589956064673475982132227169563087140777496391286236295378032903436787121140492537835638431834540988283265097516099232009181796334696346219437089843695722575149789100327467216170528208015465566362628017158711920725800948150372811645569453543087880095091142235731765802352145364984671556610613697458290662642571847173822877617601092218999299357164275174374739669621654493167797058714151108851024996927260281046920713891458352314151323697042119924159271649177231979169287114137635400914561189747498572008426964822422964072930085169774229594823811096975319564943788169380408933259599013080254568949929955685121060853753676633667761 162630930228271530097691194325093817450428772474913214515582647635698519881176546119452646323429151693654166435330268833111174491332571582818035744438443373704130357109327885714027579253323178923221186775297326198242726323678167666348834031986739977165174269780369420001835812477113257392666496653978280364572790805274468449843173362443049266792072987750253726424126846973121302286832636855029294525123972527197199355994536831821638826862424992471529731644063256503770124504838282972765255154480180923018930087716241509742024983067548129780926267318395864050691796179730477362268954178138218839017982126677418864699571522092964262015013137259080856015202235085696635077014519585077750034858216704756350249351906327916560777208595872540777880567060824048647910497722564174822098428160756398440389470949131993194788364070927599812543269352436098252564475862068917229381849718057481328276688448602543329261663752105196393468459400290649192838652334807500669012772298883516607099344941948723172076966416887571256259174301239107681166132667742228559871948952715593732902504368772281963382890922559798255846787392100537534944776578724606290059431043646283648697237976951027588488231989194782487469563388761839531448448713484017233292414243033096214721324465074359439775705265960258462329859524748934035916191499804806194842532900981175270056518087617991415922227616308769147894433287385458636154373116109179292366516783442287115041516959231075417158622094990578000879119186469323880620501165485522713020051761004756098309996006698106907385232890941677573497645661733386918693065406171978012776540410219306904407325523791812246395748446902203907696103293282378957294249730169956254214276649127384520193325580458934579797980045731812502910220162943482435980514240638159411612005903341950930276157066057571915365347747387045776459878145365317312791769897731717073088454635417963435832036281387583953383913344144733770420070834602063665709792020710578497589947775647387138738178865964610421399605501183289091768415997117077359145747523488311206432152046246949866323808628847266834498853206574900166167000973780192089708929437223988224534562892066349626451480568756823742985718689823487967808515870812265092596879205836481702971424186616227571146805010948954016550742821263993211881424472665645905407530199815268046854768472851622631744914873600309941434765579640075467518453418963087010497206867816499929380651029388405679611444148559049627767918715154526615625649128556459328358879146997289529444783393489492333968510901540650568832272826537525764508540634786129881967853869387192726656538081679918070604711243544805464010978412420255937665431424458378831420468494076559410625738355063958664153129829075889388548018759629210121115451053596755580169506999874076018730233210809704457162949918083273986288132340302912443049293443668691760511961231173254146031200705575306903241010599712371442940512953039335246843473189398520881889041297572683598581630352626614766384747060557599518991185967795464780288337050693647499212071191537420287692617972573887006209698956675151225695867489988440422766017306823892469434756820620076478869173859304570756216765002809419775755767356262326346241132429641871556768128433542261855119557910091429361540950239083630793570017423098536259455519908189678613463823110890233598629876865857777590124908423632556906245187581744978062586962230662774076690271639410568816451555368461913512986467010020964460563303124901220713153748786569567450708076813726037594655908974964111819936346950685241713894017311059352542206983563635367723511359145075533007996142827220396717693420135011691586888178215448571809461455658368846151631434872792921276608220569123705493204248484057777336742855470249134067506617504705706748646138977031329724597772549776551467691443 263142372731356030927729744296991118089606436410310347758339122967174919054404853688715397254993879444924107467821435634155897637297958511614775133488745161135995267254585497603252057674514270180874546428632944326473268082937594940311360714515405579444777013682056633303960028756455723553295651856230377307255492898071943040035437932474407254235274798836619612621594822631427473147899301102289290816086692133319482310181973888133430622589692926709687795654087533851973481455335980587461217166587785210497668588023927137707204275624607935227236748503184799433104338649969814189661786278260105992524674822862811271299334606750079827568944422917482824640621157904402100723162294328524520141865848389510492655184969368661041983504736366423231376430294571871767526971712807660804932820636654302149545228589019169587788425384580789736786487223236714038634814172059363188007998777541837252123499956728870289083717736975809158774992905798786652916866497316116770901257405261358516994748361097080317364476044764078690864493970006604670156630444357534052108072505220373132169865773725564542860847665057442993807010296281372141172921539408349162445951337959682856394982752328191839345029235846242497213899331857978904548481858919658815913832556708392390776175849593550907022333935504484459227283142304074856696360104402791245375252966014963284396463232192207833495049461433657505354867862238276474982004595653370015535551036184590659771632634360629640351810714965464875869291241059849096956552134110234080601207018528466274215841529607508179680636248054449206690112767253302832032380598530034977444429638827691942096059858454578470255685059940703936795873542903099569952523647609731893987221223408699178348616012051919143930388062256714157325730015763300848768960282915779052955069099041301820912474484944074482671275184599813770768829318609246694977545677784101137937871994291078961383910098079602112093925315743823457374155952812444144774281455796357415153175109082748237478073466962678850464473597247973181496870846663432453337354023276215327943340357493889722809499613299473415393079326208593007424299577843329828223633700606506022707700831776913576425418602086899548130344963822947042184374204191575316309396170307008317177570014602281845123732822111819941042420803323973879627970157042938990187870356486776712333257992055010549672716767531415989421147016134929542422441947936525760229563345321617588612446770601385572345872985320508476801649817165865664912494007966306567294253510245094807038938437441006662491767907317715385153611695358907153927754968747074806149064106551263062228459648679407447774422127063975907002757338207955358916726339430325893538162767502416172744318124525573554124020461730111040052010347492315534733270215815444442847033024680995576678134402161228970556957497596637603777480602203246453322699674554183750509897148047065055487411493618949825023568099288405872279049564203295416584176098478162412046885362041657776351396281566133882158981818211661543192590984933223217235866847387742869312436368971844967685040795763775739400579208826709059671190809549963245420545427267584399387638512039465600754831609446954698771434412399375840429243338394553515804219570419367948054364728920294758556345031231921899376588670918171781853282520614635491464701704524374959683260200733929321205026654958105057341078951840572371811550209762136774507688031610924449501917208864111904331650459604149244752269362166329445234859735514918171444411429141414624530954431327129813655208332128386994311086620306896207061814369773503651058008560562628004558279858966991360310294150917438837617579406660868818867347502562709444862370219558593650203443299757743699572293499208875267433843307868874312062420414037303447915550764304719828900707926961285409718833403530228101359204 425773302959627561025420938622084935540035208885223562273921770602873438935581399808168043578423031138578273903151704467267072128630530094432810877927188534840125624363913383317279636927837449104095733203930270524715994406615762606660194746502145556609951283462426053305795841233568980945962148510208657671828283703346411489878611294917456521027347786586873339045721669604548775434731937957318585341210664660516681666176510719955069449452117919181217527298150790355743605960174263560226472321067966133516598675740168647449229258692156065008163015821580663483796134829700291551930740456398324831542656949540230135998906128843044089583957560176563680655823392990098735800176813913602270176724065094266842904536875696577602760713332238964009256997355395920415437469435371835627031248797410700589934699538151162782576789455508389549329756575672812291199290034128280417389848495599318580400188405331413618345381489081005552243452306089435845755518832123617439914029704144875124094093303045803489441442461651649947123668271245712351322763112099762611980021457935966865072370142497846506243738587617241249653797688381909676117698118132955452505382381605966505092220729279219427833261225041024984683462720619818435996930572403676049206246799741488605497500314667910346798039201464742921557142667053008892612551604207597440217785866996138554452981319810199249417277077742426653249301149623735111136377711762549307902067819626877774813149593591705057510432809956042876748410427529172977577053299595756793621258779533222372525837536305615087065869138996126780187758428986689750725446004702012990220970049046998846503385382246390716651433506842907844491976836185478527246773377779688148201497872536083698541941592510853723728368107988526660235950178706783284749474523553938464567075002383252751188631551001646398036622931986859547228707463974564007769315575515818211026326629709042397215946379467186065477838659888557227794226787414507810484073476506935912743122884730135376216252332927289271864079098431262273265286843780509812483101546764526534375492403740839589133308242146740249891932532783493173591300551623521917932563137830494247242263723843263202876899170843723291116063653646435009992890075003840408906275376143490020148994201218509416270537833060773957593163624587967091509394629708584895595400556302044759188026464906633181417631641131725930855912595775005009940895366899612770726770213138117517993097799989791251957317133879558104569568532320392280538143136522765895653132657242384336483721830930498996460278808858365953985884521896432918436295603533204688116917975938455788884997730359325518379133370608781371013735750628211296582157763888704724958631261578975583370056479589532218277150290806000428600029107121525655848721269412200023016540024555071595408367612970933427719907415679911590065612942506158896371993118222875511021858379220319201518612199194256728264578699000777315219562517242630663427649287876683293935926659614341374933026634192748648543728878769261062183776952728687997524203898081390368524507560509265255377658768337662745610278165501860285367058299538403668186562734091476868822395332659542079624005468751525454988199415208795616185010694656879862045352000061239504822493162462556613675902941323351260917538910001802575423299943713171750920221612714053573147083311624162919834903520815882647465987375473129278056737791507114837094650262273698526192188848274680720783205828066062757738736372187293905798162860416138884598160215710982075239031245053167408311117307092498814247433570992137920955831680832856193264992124197995728069639004042524368306436978137835555310999541672560405755525718011281254323825877927439801834878172550664976180514068332580760638091791926651648805275884286437515422168269010426577546846903992615134316605953306779569050647 688915675690983591953150682919076053629641645295533910032260893570048357989986253496883440833416910583502381370973140101422969765928488606047586011415933695976120891618498880920531694602351719284970279632563214851189262489553357546971555461017551136054728297144482686609755869990024704499257800366439034979083776601418354529914049227391863775262622585423492951667316492235976248582631239059607876157297356793836163976358484608088500072041810845890905322952238324207717087415510244147687689487655751344014267263764095785156433534316764000235399764324765462916900473479670105741592526734658430824067331772403041407298240735593123917152901983094046505296444550894500836523339108242126790318589913483777335559721845065238644744218068605387240633427649967792182964441148179496431964069434065002739479928127170332370365214840089179286116243798909526329834104206187643605397847273141155832523688362060283907429099226056814711018445211888222498672385329439734210815287109406233641088841664142883806805918506415728637988162241252317021479393556457296664088093963156339997242235916223411049104586252674684243460807984663281817290619657541304614951333719565649361487203481607411267178290460887267481897362052477797340545412431323334865120079356449880996273676164261461253820373136969227380784425809357083749308911708610388685593038833011101838849444552002407082912326539176084158604169011862011586118382307415919323437618855811468434584782227952334697862243524921507752617701668589022074533605433705990874222465798061688646741679065913123266746505387050575986877871196239992582757826603232047967665399687874690788599445240700969186907118566783611781287850379088578097199297025389420042188719095944782876890557604562772867658756170245240817561680194470084133518434806469717517522144101424554572101106035945720880707898116586673317997536782583810702746861253299919348964198624000121358599856477546788177571763975632380685168382740226951955258354932303293327896297993812883613694325799889968122328552695679235454762157690443942265820455570040741862318832761234729311942807855446213665285011858992086181015600129466851746156196838437000269949964555620176779302317772930622839246408617469382052177264279195415725215671546450498337326564215820791261394270655172593898635584427911940971137364786751523885783270912788821471521284456961643731090348408663141920277059611909934552363337314836138530956333558459735106605544570591176824303190119200066581371218349486257945450637144489072462947386167487479143522660268371505658952046716176081339139496217255340072364050572280279494265982082489718851113457379038732966153555497672757278016493088836166655498884103319030618496794029081391756114374604115105772401170752536111468652039454613841190581991485227644465863573049236067172086502015132162398276864913276549193843093544709405349694692792777059261531755527267384257006023692813206553288146798289183187498612081445926080011825386354845705982812021655999151284422915758882530702710696980922605376367937661911214760070745469133237836943929481110223062699564101438485010857374328569345038249109088366913607108161359061268210033844699007680378837078198480153759633827608171456614254033051433377849571570480607452876857891382851372232247972555273160294127580919974357276582464327807242384923317238428532830343512358092241039930175773987704807066327313701649868288001269251611602338293884622975694106057138792625114856287670212002491005734353623351033022595931057056042571644852396699769985676380297221966325639220885808558520191299034128017646050606359844323000684760623732627918863009515728616731129055274392928578948333429224622873220573990699186196097486033452038321472308408675752807567541456028071935099795525960867696298323740963337719033315146406447554830953900544035439356837007670409851 1114688978650611152978571621541160989169676854180757472306182664172921796925567653305051484411839941722080655274124844568690041894559018700480396889343122230816246515982412264237811331530189168389066012836493485375905256896169120153631750207519696692664679580606908739915551711223593685445219948876647692650912060304764766019792660522309320296289970372010366290713038161840525024017363177016926461498508021454352845642534995328043569521493928765072122850250389114563460693375684507707914161808723717477530865939504264432605662793008920065243562780146346126400696608309370397293523267191056755655609988721943271543297146864436168006736859543270610185952267943884599572323515922155729060495313978578044178464258720761816247504931400844351249890425005363712598401910583551332058995318231475703329414627665321495152942004295597568835446000374582338621033394240315924022787695768740474412923876767391697525774480715137820263261897517977658344427904161563351650729316813551108765182934967188687296247360968067378585111830512498029372802156668557059276068115421092306862314606058721257555348324840291925493114605673045191493408317775674260067456716101171615866579424210886630695011551685928292466580824773097615776542343003727010914326326156191369601771176478929371600618412338433970302341568476410092641921463312817986125810824700007240393302425871812606332329603616918510811853470161485746697254760019178468631339686675438346209397931821544039755372676334877550629366112096118195052110658733301747667843724577594911019267516602218738353812374526046702767065629625226682333483272607934060957886369736921689635102830622947359903558552073626519625779827215274056624446070403169108190390216968480866575432499197073626591387124278233767477797630373176867418267909330023655982089219103807807323289737586947367278744521048573532865226244246558374710516176828815737559990525253709163755815802857013974243049602635520937912962609527641459765742428408810229240639420878543018989910578132817257394192631794110497728027444534224452078303557116805268396694325164975568901076116097592953915176944391775579354606900681090373664088759976267494517192228279463439982179216943774346130362472271115817062170154354199256134121946922593988357475558417039300677664808488233367856228748052499908062646759416460108781378671469090866230709310921868276912507980049794867851132972207684939562304232681735751301683103771597852624598642370580968076260507253079624685940786881806650225988780281011838358600518824729863480006382099302004655412325525034447293125380739151772990800346175813484182382900058428174639998455109398058484532688868281538649030228839464377952081041867207735343455425290660367339484431083704637990678321043342111897252068561735366846430712754639844488880113073791138767494869628103095825996772328956460783908706487215564246066685910999934772553613906487703458524635892007463281552725497289960502718174598688556743439474674231528999918738681270340526217449549951631179246439575750183667560144890390599212284274643550523606361451489990375478440358332439101230621135539830429630405307408626770581793670895450538137032429177358549760002842546950005608747833242816967072799264727708313239894923570541846957699351053845407985908150913878624421211666490921776932699882408040978993305144929952482105977426823982255160874833696589870352273053702786830927925025792776366448696988556158321501886294905413473345898062115736274760229742106540917256831185456347195940640731860563378775009016921433464630277442946313384622805953762291172048973477731439216037587992808958619460697557867052040096923168107193109948239578490005989630378398938585271953510021975413473253873199644859073651933321635874036788710026891722177609672972182610178478759887302325572983994401734946515678352045310143787239460498 1803604654341594744931722304460237042799318499476291382338443557742970154915553906801934925245256852305583036645097984670113011660487507306527982900759055926792367407600911145158343026132540887674036292469056700227094519385722477700603305668537247828719407877751391426525307581213618389944477749243086727629995836906183120549706709749701184071552592957433859242380354654076501272599994416076534337655805378248189009618893479936132069593535739610963028173202627438771177780791194751855601851296379468821545133203268360217762096327325684065478962544471111589317597081789040503035115793925715186479677320494346312950595387600029291923889761526364656691248712494779100408846855030397855850813903892061821514023980565827054892249149469449738490523852655331504781366351731730828490959387665540706068894555792491827523307219135686748121562244173491864950867498446503567628185543041881630245447565129451981433203579941194634974280342729865880843100289491003085861544603922957342406271776631331571103053279474483107223099992753750346394281550225014355940156209384248646859556841974944668604452911092966609736575413657708473310698937433215564682408049820737265228066627692494041962189842146815559948478186825575413117087755435050345779446405512641250598044852643190832854438785475403197683125994285767176391230375021428374811403863533018342232151870423815013415241930156094594970457639173347758283373142326594387954777305531249814643982714049496374453234919859799058381983813764707217126644264167007738542066190375656599666009195668131861620558879913097278753943500821466674916241099211166108925551769424796380423702275863648329090465670640410131407067677594362634721645367428558528232578936064425649452323056801636399459045880448479008295359310567646951551786344136493373499611363205232361895390843622893088159452419165160206183223781029142185413263038082115656908954723877709285114415659334560762420621366611153318598130992267868411721000783341113522568535718872355902603604903932707225516521184489789733182789602224668394344124012686846010259013157926210298213018923953039167580461956250767665535622500810557225410244956814704494787142192835083616761481534716704968969608880888585199114347418633394671859337618469044486694802122632860091939059079143405961754864332480411849033784124203211632667161942381879687702230595378829920643598328458458009771410031819594874114667569996571889832639437330057587731204186941172144900563697372279691267312005231292908171439417425500910821547904992217342623529042367673510314364372241210528632264876956407113063164396748093763676648882140917893491111912488436791450686244365954295927046721928300544607579925970526765961952219319741759095598805687819743763079491795878223365904108016349208037012704239867488954743686123027205939581371643235258224273637242233009977751800031924969595761378703776994034085369433755087715530659584820669834840872295579143690216786680134482823451300060586374705901550702926339677501872465710513709949150272731106272936512828052510427044345389019656844198395419471485701503057896540539715631992914158998975443556517715137495400779056809599405242463022057557440381679625148485762507467070425138529413518760759746617744495141022454410576208945228259358140398886433897581505794071841751289976464872368786235690068247190910638807770336340347401914763872363858057080120030100532577793313794045618060299326850042944477580400962552265971012918403406486762720747840894540607864208052278252996683303505415775474779002597813761852243768585534270431364473953590206176991123782045575881910993493719243193325476730061555825539899236248384341168157438339418855001272159159262652696218072899506705911521117167482327686129203415492816781961991517703570540668480933919442097606335640719390441956565900416222387484666980794909870349 2918293632992205897910293926001398031968995353657048854644626221915891951841121560106986409657096794027663691919222829238803053555046526007008379790102178157608613923583323409396154357662730056063102305305550185602999776281891597854235055876056944521384087458358300166440859292437212075389697698119734420280907897210947886569499370272010504367842563329444225533093392815917026296617357593093460799154313399702541855261428475264175639115029668376035151023453016553334638474166879259563516013105103186299075999142772624650367759120334604130722525324617457715718293690098410900328639061116771942135287309216289584493892534464465459930626621069635266877200980438663699981170370952553584911309217870639865692488239286588871139754080870294089740414277660695217379768262315282160549954705897016409398309183457813322676249223431284316957008244548074203571900892686819491650973238810622104658371441896843678958978060656332455237542240247843539187528193652566437512273920736508451171454711598520258399300640442550485808211823266248375767083706893571415216224324805340953721871448033665926159801235933258535229690019330753664804107255208889824749864765921908881094646051903380672657201393832743852415059011598673028893630098438777356693772731668832620199816029122120204455057197813837167985467562762177269033151838334246360937214688233025582625454296295627619747571533773013105782311109334833504980627902345772856586116992206688160853380645871040414208607596194676609011349925860825412178754922900309486209909914953251510685276712270350599974371254439143981521009130446693357249724371819100169883438139161718070058805106486595688994024222714036651032847504809636691346091437831727636422969153032906516027755555998710026050433004726712775773156940940823818970054253466517029481700582309040169218680581209840455438196940213733739048450025275700560123779214910931394468945249131418448870231462191574736663670969246674256511093601795509871486743211749923751809175139750898921593515482065524482910713816283900230910817046758892846422427569803651278655707483091185867114095040050632121495638900642543244890229401491647599074333716790971989304334421114547056743660751660479315099971353159701016176517572987593927993459565391638475052277681049899392616723887631639329611093080532911757096430883619671741448540613850970553932939906300698197556106308508252877622543004027279813676971802678307641134322541101655440355802829311753112976824204625359315953252792113099558397428197706512749180148423816947206103535424466975514969776697766244975925390257695558886053964742923907247859031782199346068131110367597834849935218933234235834576076950767764922559660967837734501305407644610402126435083236771524381753757812839220335263156176578084574883443416994507333443623799196818344707076241271338354050270409571189470761660506519140533841828064614776928806638983340242791174055295476828133116393597792869104192934961278823039566890774734817903705820289384196680203719322015662144889195589848481289940496657718443109639328620032570180450559846909461861179943416228979640946253128453989428605848863926341908077194449952260137542274892199416107200384522172098491371255300313242105602212783488468059857639418711564301368275559999073667344048549800312522002717460562763528222676347280409765228995213177143392744785197160322602562789597568953728409353173732887363505718339586821984508996315406201265979466695867965739316910980519142761522950489947435457864695393508625448937324035365979154249788019519247226482521211531847655054170427715881378225964601513484791919498986302677862654023034597113595922463067343441494289407735928345408485379671097744534606206240048312979959784720762026555979619450839289529605491988883239881180213640663544097920857493637966292374436358300846931900739529977124582149330847 4721898287333800642842016230461635074768313853133340236983069779658862106756675466908921334902353646333246728564320813908916065215534033313536362690861234084400981331184234554554497383795270943737138597774606885830094295667614075554838361544594192350103495336109691592966166873650830465334175447362821147910903734117131007119206080021711688439395156286878084775473747469993527569217352009169995136810118777950730864880321955200307708708565407986998179196655643992105816254958074011419117864401482655120621132346040984868129855447660288196201487869088569305035890771887451403363754855042487128614964629710635897444487922064494751854516382595999923568449692933442800390017225982951440762123121762701687206512219852415926032003230339743828230938130316026722161134614047012989040914093562557115467203739250305150199556442566971065078570488721566068522768391133323059279158781852503734903819007026295660392181640597527090211822582977709420030628483143569523373818524659465793577726488229851829502353919917033593031311816019998722161365257118585771156380534189589600581428290008610594764254147026225144966265432988462138114806192642105389432272815742646146322712679595874714619391235979559412363537198424248442010717853873827702473219137181473870797860881765311037309495983289240365668593557047944445424382213355674735748618551766043924857606166719442633162813463929107700752768748508181263264001044672367244540894297737937975497363359920536788661842516054475667393333739625532629305399187067317224751976105328908110351285907938482461594930134352241260274952631268160032165965471030266278808989908586514450482507382350244018084489893354446782439915182403999326067736805260286164655548089097332165480078612800346425509478885175191784068516251508470770521840597603010402981311945514272531114071424832733543597649359378893945231673806304842745537042252993047051377899973009127733984647121526135499084292335857827575109224594063378283207743995091037274377710858623254824197120385998231708427235000773689964093606648983561240766551582490497288914720641017396165327113964003671289076100856893310910425851902302204824484578673605676484091476613949630673505142286377184284069580234048286215290864991620988599852797183860682961747079803682759484555782966775045291365957413013323606130215007822883374115702556232850241635170501679528118199704636966710887393953035846874687791639372674879530966961978431713028087007016252925257877387901997639007220564797344392466568867615132013660001696328809164548727064466834649025284141070007455504557655134651965999117129139672001011535680664340263961622222280086271641385905177600190130503123672696065467167240893808261267267359863930143885530682042459344125516837304635098558629060284594433782920456121234374822398367485319845550646657612914573612274544046813422480739412306551065503437589443318553922840724352773997878889585955061648802951234470088448247883151747958957522390342074795404278411721840087123019881221194481372658599144740121212396213433170546495620066372965421589837294758242328933346881446474125520180661885121368148427581292420444057045572595229009069736947517355221473664640766201797246977133762767383667244131626302249227806475383913852586755778851768944301926702188948686746419584223254634605279512652812152778551464685281424334303383592967496662949964704361441317586466433293762987896083511653380867602569295642256244210457047096830518005287923898922549248285671237788329998472559601560903701934007338871394929724567022117060988334764980117381925485534901669471584402955725295530367801409979796397105847348511327175151748002966579689878630575893366684827340380943256903797258902458121212486665696241879194038307305580042705022422273950874757584750754309144478017362955099973607011764878314866747348123127014644105377059201196 7640191920326006540752310156463033106737309206790389091627696001574754058597797027015907744559450440360910420483543643147719118770580559320544742480963412242009595254767557963950651741458000999800240903080157071433094071949505673409073417420651136871487582794467991759407026166088042540723873145482555568191811631328078893688705450293722192807237719616322310308567140285910553865834709602263455935964432177653272720141750430464483347823595076363033330220108660545440454729124953270982633877506585841419697131488813609518497614567994892326924013193706027020754184461985862303692393916159259070750251938926925481938380456528960211785143003665635190445650673372106500371187596935505025673432339633341552899000459139004797171757311210037917971352407976721939540902876362295149590868799459573524865512922708118472875805665998255382035578733269640272094669283820142550930132020663125839562190448923139339351159701253859545449364823225552959218156676796135960886092445395974244749181199828372087901654560359584078839523639286247097928448964012157186372604858994930554303299738042276520924055382959483680195955452319215802918913447850995214182137581664555027417358731499255387276592629812303264778596210022921470904347952312605059166991868850306490997676910887431241764553181103077533654061119810121714457534051689921096685833239999069507483060463015070252910384997702120806535079857843014768244628947018140101127011289944626136350744005791577202870450112249152276404683665486358041484154109967626710961886020282159621036562620208833061569301388791385241795961761714853389415689842849366448692428047748232520541312488836839707078514116068483433472762687213636017413828243092013801078517242130238681507834168799056451559911889901904559841673192449294589491894851069527432463012527823312700332752006042573999035846299592627684280123831580543305660821467903978445846845222140546182854878583717710235747963305104501831620318195858888154694487206840961026186885998374153745790635868063756191337948817057590195004423695742454087188979152294148567570428124108582032441209004054303410571739757535854155316081303793852423558912390396648473395811035064177730248803038037663599169551587207987231467382564608582527846256749252321436799357484732658877172506854406684620977050493546235363226645891442555115564243170083820795568110407980226315755810945474963765016496039874154501468611175353187172101284519533368468442809845564678370854212106622998323173817589457492024966295812838526409181844752626111754830599891301624540253917767773700480483045392347524885171093882595908259394712446539610029753332647684106491321124110834425965079200623463830389726901861645995768572767508540546011965765279230868507270595117474318893892216461172518357803899538228882155841991284516663895353733854185911966324814456384611951501072813070206037279417507933330851647363336114240670063641250538476936067628067881317352076086709237780561957232849530222182117542129471319700084940516497034803488340329969693686153929828264938729705701585454160017745318089238395208061389890354499821608138249822137856187141284370398953649789678961329874489792247420889771841150723969345468505018067696909349733839085737695866333023332564151057147127328943375594046237498487058941586940715197368807735329159433188316693680494601477696128378164656985552527493959010271314875786467495875259589229992967689587078291957662445476436513792698483744604834879441692009808621727735765456337254995069529150871331374237374083974355041636308214817286191649229580539705329385352962628920326809015159720908966099074968501371545924288747670466033923131372919983629295030235825760614354648331865108698169525466625480962641220594286925030881994552027765939757997465930967949808022115283812593611573304139314673167594280023866544621229959208532043 12362090207659807183594326386924668181505623059923729328610765781233616165354472493924829079461804086694157149047864457056635183986114592634081105171824646326410576585951792518505149125253271943537379500854763957263188367617119748963911778965245329221591078130577683352373193039738873006058048592845376716102715365445209900807911530315433881246632875903200395084040887755904081435052061611433451072774550955604003585022072385664791056532160484350031509416764304537546270984083027282401751741908068496540318263834854594386627470015655180523125501062794596325790075233873313707056148771201746199365216568637561379382868378593454963639659386261635114014100366305549300761204822918456466435555461396043240105512678991420723203760541549781746202290538292748661702037490409308138631782893022130640332716661958423623075362108565226447114149221991206340617437674953465610209290802515629574466009455949434999743341341851386635661187406203262379248785159939705484259910970055440038326907688058223917404008480276617671870835455306245820089814221130742957528985393184520154884728028050887115688309529985708825162220885307677941033719640493100603614410397407201173740071411095130101895983865791862677142133408447169912915065806186432761640211006031780361795537792652742279074049164392317899322654676858066159881916265045595832434451791765113432340666629734512886073198461631228507287848606351196031508629991690507345667905587682564111848107365712113991532292628303627943798017405111890670789553297034943935713862125611067731387848528147315523164231523143626502070914392983013421581655313879632727501417956334746971023819871187083725163004009422930215912677869617635343481565048352299965734065331227570846987912781599402877069390775077096343910189443957765360013735448672537835444324473337585231446823430875307542633495658971521629511797637885386051197863720897025497224745195149673916839525705243845734832255640962329406729542789922266437902231201931998300564596856997408569987756254061987899765183817831280159098030344726015327955530734784645856485148765125978197768322968057974699647840614429165065741933206096057248043491064002324957487287649013808403753945324414847883239131821256273446758247556229571127699053933113004398546437288415418361728289821181729912343007906559558969356860899265438489679945726316671037203280909659754433955515582441674652410449075721029189260250548028066703068246497965081496529816861817603628731600008620637330394382386801884491535163427970540069183541081435276303557664358136273565538058837781155985040700526999490884288223022267909270930393110879873991375554927770378132707029288434616095582324296159895856894142755454257035840127372470689897496447321690212632787432422109417452521276745766952140724355659463256978240358769836509446000391467100485578599358503198034432240485119621271540717006951251884774488087688888238548953227205600125739018862537969765599959238457196738084347574924325626460529263969558442719966161710978407462087485070090906082367362998811434349772074550875749855040076331567328554942836364480020002270023371190286283768433704814455999222384907970399611437309602642363436481916925766592445638780835080576593865465387986923672808407246416737812925979097887677520748426447173805361171163969831974087247981971585966868158365776025811999511971132153648502492198320451588901342219761258863155672741646348557189647587599918689686893560889529001749892758778364241258094292965524095454809814596630432852805338713108769013698922063753369203152051171766611506025240231054824547031876052104545527522318945895472074348720057251463899418469000502821251550559522661715063166141557611552129124011156290737953291177204520414632594230610924699574450039890632755050681722258952500132646767693585180315904192988034341628146993559265335336267733239 20002282127985813724346636543387701288242932266714118420238461782808370223952269520940736824021254527055067569531408100204354302756695151954625847652788058568420171840719350482455800866711272943337620403934921028696282439566625422372985196385896466093078660925045675111780219205826915546781921738327932284294526996773288794496616980609156074053870595519522705392608028041814635300886771213696907008738983133257276305163822816129274404355755560713064839636872965082986725713207980553384385619414654337960015395323668203905125084583650072850049514256500623346544259695859176010748542687361005270115468507564486861321248835122415175424802389927270304459751039677655801132392419853961492108987801029384793004513138130425520375517852759819664173642946269470601242940366771603288222651692481704165198229584666542095951167774563481829149727955260846612712106958773608161139422823178755414028199904872574339094501043105246181110552229428815338466941836735841445146003415451414283076088887886596005305663040636201750710359094592492918018263185142900143901590252179450709188027766093163636612364912945192505358176337626893743952633088344095817796547979071756201157430142594385489172576495604165941920729618470091383819413758499037820807202874882086852793214703540173520838602345495395432976715796668187874339450316735516929120285031764182939823727092749583138983583459333349313822928464194210799753258938708647446794916877627190248198851371503691194402742740552780220202701070598248712273707407002570646675748145893227352424411148356148584733532911935011743866876154697866810997345156728999176193846004082979491565132360023923432241518125491413649385440556831271360895393291444313766812582573357809528495746950398459328629302664979000903751862636407059949505630299742065267907337001160897931779575436917881541669341958564149313791921469465929356858685188801003943071590417290220099694404288961555970580218946066831238349860985781154592596718408772959326751482855371562315778392122125744091103132634888870354102454040468469415144509887078794424055576889234560230209531972112278110219580371965019221058014509889909671602403454398973430883098684077986134002748362452511482408683408464260678225630120838153655545310682365325835345794773148077238900796675588414533320058400105794332583506790707993605244188896400491832771391317639980749711326527916638417426945115595183690728861723381253875169531017498449964972626707382281999585812115243635653568199976259376516501459240809066478365385834061388058388264249437898105791976605554856465523745919347015769459316904863817530325105557419484021128887575454484624028153399269042060661524919623726246621044617100252804412894881011235909462212600921081140058027539583736346413493206939470498528255197692139134082350054353173341354125321286397544924172959582646383741557932691477577996424459185215626135451025002479219016868456138602675086490605851082952035325166434518646304807773855848642646806099029762420051102227475442265575825400060599768521292827076373079477776136329909872785394420805723763004226254834519823878161621012424139955574989184854952872174586931729485927101850063253208323067649735937914143798902777485943599304473724619539141430578980888870073106426831053114794663945660864302758104685029342894983311131019155184852046270627289695640349296810634055019692279461860216218006228754738415261971639316246776725879557581135163330074682227485494497593657805933267902914693259860911147069591699962003676670087346143097673277105389677417969337363415841086564945560440177509660796378913560687243227911994547042850091603175752647088935034425952624470543151956745298991902171966200460989119854460263419916658167161635226881155641806694126477805830390752516612690208760522247930580287196753620043507661201935908170860103886565295476265282 32364372335645620907940962930312369469748555326637847748849227564041986389306742014865565903483058613749224718579272557260989486742809744588706952824612704894830748426671143000960949991964544886874999904789684985959470807183745171336896975351141795314669739055623358464153412245565788552839970331173309000397242362218498695304528510924589955300503471422723100476648915797718716735938832825130358081513534088861279890185895201794065460887916045063096349053637269620532996697291007835786137361322722834500333659158522798291752554599305253373175015319295219672334334929732489717804691458562751469480685076202048240704117213715870139064461776188905418473851405983205101893597242772417958544543262425428033110025817121846243579278394309601410375933484562219262944977857180911426854434585503834805530946246624965719026529883128708276263877177252052953329544633727073771348713625694384988494209360822009338837842384956632816771739635632077717715726996675546929405914385506854321402996575944819922709671520912819422581194549898738738108077406273643101430575645363970864072755794144050752300674442930901330520397222934571684986352728837196421410958376478957374897501553689515591068560361396028619062863026917261296734479564685470582447413880913867214588752496192915799912651509887713332299370473526254034221366581781112761554736823529296372164393722484096025056781920964577821110777070545406831261888930399154792462822465309754360046958737215805185935035368856408164000718475710139383063260704037514582389610271504295083812259676503464107897764435078638245937790547680880232579000470608631903695263960417726462588952231211007157404522134914343865298118426448906704376958339796613732546647904585380375483659731997862205698693440056097247662052080364825309519365748414603103351661474498483163226398867793189084302837617535670943303719107351315408056548909698029440296335612439894016533929994205401705412474587029160645079403775703421030498949610704957627316079712368970885766148376187731990868316452720150513200484385194484743100040621863440280540725654360538427977854940170252809867420986394184286799947715985966919645894518401298388370386333091794537756693686867359365647815229720534124983877677067724783244364615478330233892232061563495600629086496770144445663066306665353301940367689973432094924134622717162869974672227299735183666842110358313069837394191316212879989112271409320578237777515463531461502443569199885628317412123864272983962582363061261008036622668779606547548926915496664361945928607574171671330035443336012450564446446346506653747539927131726801255498668299358012504442503224862756735182687703658156243849215783622103515187372554509840253022253481925806958659922611293772845459961693153798934769952706422639252610857155396112322708824189682787354516788386883123523531462780680815982043052312749118713431410437100400623538713890717767970095661738728414105353143820848551994563623631256730652382698181475103176070068588205140017263938453849727663310470151505850888655825887807429249850687205659727825470752373052317947062619314539826148184992202710423724008693999310952094559494902129097364411452705616644804984575502530359782579737858062537464769861711543211949837825397626682999085524718730635543090392834669663929268654861316982231293102605122053010412046653101695152320428964282557511890599913449117560225990013601570934713285664803966373467157499824850223635571756487244390352436170174525997207658783956365956884188330394856482008800454912111372199169143046621121388535182452592590185791495002056692672431018106214765546857890019117198811660427216546507404034928773876021102674618460362158043729577752590113131010751001373207835371682049859475386252731393700927845721023507567294412467713022380577347980781933935947700649236277536317853663151900631743998521 52366654463631434632287599473700070757991487593351966169087689346850356613259011535806302727504313140804292288110680657465343789499504896543332800477400763463250920267390493483416750858675817830212620308724606014655753246750370593709882171737038261407748399980669033575933631451392704099621892069501241284691769358991787489801145491533746029354374066942245805869256943839533352036825604038827265090252517222118556195349718017923339865243671605776161188690510234703519722410498988389170522980737377172460349054482191002196877639182955326223224529575795843018878594625591665728553234145923756739596153583766535102025366048838285314489264166116175722933602445660860903025989662626379450653531063454812826114538955252271763954796247069421074549576430831689864187918223952514715077086277985538970729175831291507814977697657692190105413605132512899566041651592500681932488136448873140402522409265694583677932343428061878997882291865060893056182668833411388374551917800958268604479085463831415928015334561549021173291553644491231656126340591416543245332165897543421573260783560237214388913039355876093835878573560561465428938985817181292239207506355550713576054931696283901080241136857000194560983592645387352680553893323184508403254616755795954067381967199733089320751253855383108765276086270194441908560816898516629690675021855293479311988120815233679164040365380297927134933705534739617631015147869107802239257739342936944608245810108719496380337778109409188384203419546308388095336968111040085229065358417397522436236670824859612692631297347013649989804666702378747043576345627337631079889109964500705954154084591234930589646040260405757514683558983280178065272351631240927499359230477943189903979406682396321534327996105035098151413914716771885259024996048156668371258998475659381095005974304711070625972179576099820257095640576817244764915234098499033383367926029730114116228334283166957675992693533095991883429264761484575623095668019477916954067562567740533201544540498313476081971449087609020867302938425662954158244550508942234704596302543595098658187386912282530920087001358359203507857962225875876591248297972800271819253485017169780671759442049319870848056498638184794803209507797905878438789675297843656069238026834711572839529883172358558978983124706771147634523874480681425700168323519117654702746063544939715933378168638274951487264339306911396570717973994790574453407308532961981426475070276582167627903224239107908637530782339320637524538081909588673025914312749558052420334192857012069777122012048890868916088192365693522423206856831995544331580604225718842033633330078679347380763336086972700216905374135407348350136231989654762644665917134493161716420872523532374912903487501276890145348263159645893137780866054847535246405058878542856128708642109673280668447704422363327199723600985004226696709855869622316026758989738893196986986964117877331089191843749671931504029888790065775376957190472037323745822876167617967560068366165929291993239135870212105619409948652964180508727626823535569600610865173178776080951288874149059650026346613215134563679583683184165904966734081833858583291513302768869853128052225238468273926378640635548481064074335436162751091268404378515553072191951549783750337754338495533966687373339890659877214604233624277237862458317280391390792669725774916612531582879375309333778232218768339986196684924981050743099346715080960013553710253983972738887946093976107793900122352043817277103953780030356860158678887801055209045476274532724039090725898598293679155131351935179566353468809931666902008774769884566160048903263602969193596339069354726500491645826575205661149945901543953051102250865211264793124493538843685086356541894538087827405651551414260083907102676473544628507928267978687555991208310438213444488713767038465927220263803 84731026799277055540228562404012440227740042919989813917936916910892343002565753550671868630987371754553517006689953214726333276242314641132039753302013468358081668694061636484377700850640362717087620213514291000615224053934115765046779147088180056722418139036292392040087043696958492652461862400674550285089011721210286185105674002458335984654877538364968906345905859637252068772764436863957623171766051310979836085535613219717405326131587650839257537744147504324052719107789996224956660342060100006960682713640713800488630193782260579596399544895091062691212929555324155446357925604486508209076838659968583342729483262554155453553725942305081141407453851644066004919586905398797409198074325880240859224564772374118007534074641379022484925509915393909127132896081133426141931520863489373776260122077916473534004227540820898381677482309764952519371196226227755703836850074567525391016618626516593016770185813018511814654031500692970773898395830086935303957832186465122925882082039776235850725006082461840595872748194389970394234417997690186346762741542907392437333539354381265141213713798806995166398970783496037113925338546018488660618464732029670950952433249973416671309697218396223180046455672304613977288372887869978985702030636709821281970719695926005120663905365270822097575456743720695942782183480297742452229758678822775684152514537717775189097147301262504956044482605285024462277036799506957031720561808246698968292768845935301566272813478265596548204138022018527478400228815077599811454968688901817520048930501363076800529061782092288235742457250059627276155346097946262983584373924918432416743036822445937747050562395320101379981677409729084769649309971037541231905878382528570279463066414394183740026689545091195399075966797136710568544361796571271474610659950157864258232373172504259710275017193635491200399359684168560172971783008197062823664261642170008132762264277372359381405168120125152528508668537187996653594617630182874581383642280109504087310688874501208072839765540329171380503422810857438901344591130805674985137028197955637086165241852452783729954422344753387794657909941861843510894192491201570207623871350261575209516135736187230213704313867905328928193385474973603222034039913321986303130258896275068440158969669128703424646191013436500936464242170654857795092458141834817572720735772239451117045010748633264557101733498227609450707086266199895031645086048425512887977513845782053256220636362972181621493364702381898532574704578368279573463239665054716782280121464586241448452047492226881366652638812040029076954396759127271132836102894018200046137772581904210137498518774676358373149223351190970453651419362209272484918939387975087523379532446143668685748947462970043944283033112352315777033476912002931358727767702732538916063158898060163791971235885144008015705644037316975815423287280059416427382528452783914754957059779616059503297196893492780056024452413697032107609573170218798848998946236206172700085630104383141720902446340363611470298604478851987937977477510741229328436335925551828398898351493463599476174531605417844987403592377183476857061293576735987680655924755474486497933036800740998633708958378493611018528844197147705963041106229776142236071277476268514385880844731330203630616641994751976859445897336229399290872870363933493085944990154739199170043473479288758451338458208781941557131398210645854709472813872580784863777345825740459983278298530146282319897330010827773643060837968360751716640687688255967320417675443675770660212114433780746271745317143430181623046141240949773116774321627774585277247714924030185740103743104283500376512748501193666023307989631121705641215381875962266166332328910525734945831928147269481528333497272437767651201515144186567009085276248760621491938908959674490980806567430190366558964262324 137097681262908490172516161877712510985731530513341780087024606257742699615824765086478171358491684895357809294800633872191677065741819537675372553779414231821332588961452129967794451709316180547300240522238897015270977300684486358756661318825218318130166539016961425616020675148351196752083754470175791569780781080202073674906819493992082014009251605307214712215162803476785420809590040902784888262018568533098392280885331237640745191375259256615418726434657739027572441518288984614127183322797477179421031768122904802685507832965215905819624074470886905710091524180915821174911159750410264948672992243735118444754849311392440768042990108421256864341056297304926907945576568025176859851605389335053685339103727626389771488870888448443559475086346225598991320814305085940857008607141474912746989297909207981348981925198513088487091087442277852085412847818728437636324986523440665793539027892211176694702529241080390812536323365753863830081064663498323678509749987423391530361167503607651778740340644010861769164301838881202050360758589106729592094907440450814010594322914618479530126753154683089002277544344057502542864324363199780899825971087580384527007364946257317751550834075396417741030048317691966657842266211054487388956647392505775349352686895659094441415159220653930862851543013915137851343000378814372142904780534116254996140635352951454353137512681560432090978188140024642093292184668614759270978301151183643576538578954654797946610591587674784932407557568326915573737196926117685040520327106299339956285601326222689493160359129105938225547123952438374319731691725283894063473483889419138370897121413680868336696602655725858894665236393009262834921661602278468731265108860471760183442473096790505274354685650126293550489881513908595827569357844727939845869658425817245353238347477215330336247196769735311457495000260985804937887017106696096207032187671900122248990598560539317057397861653221144411937933298672572276690285649660791535451204847850037288855229372814684154811214627938192247806361236520393059589141639747909689733330741550735744352628764735314650041423703112591302515872167737720102142490464001842026877356367431355881275577785507101061760812506090123731402893272879481660823715211165642372368285730986641279688852841487262403629315720207648570988116651336283495260781660952472275466799317179167050423179386908216044366072805139006021425060260990469485052394581387494314452584122364220884123860602080090259024147041702536057112786487956952599377552414612769202614314321598311225574059541117750282740831177733551500161253591122815464416707119737042079771102660583557518261854861649058590054597486598318803787651351864035129584856522468249239800404969676043598652434964246934089631296271998208914814342966850466605132826581275395044771801007733444460418940307507335215429245022321202512133143149681732454141518191677111741944023897493390592489040643164711560054341203762807484566763642256122594821822403824140260153996270312433714141582210575717089708553131816168446705104334276798929047201098730604479849640367612659126200878218632979551083176060367642762028027658569846263947438058243356351061089025979466907635337019129159499592918532583868714132374634154657789143469427818298136218599069825737597304015334642636736660501569853676528735328681213884476737659880514115782575056358664067785116690427550281543328083135626905452572160587661744877331056079724432722166244624122390113797452362871590920164791748391108576799366576057022529463151718208494699302840332379039950900448495365361189399610050881440018783096397659151437296618187633154933700082173638226877004394327768871684457935532665658692317632741173530959456822449369420032188470041807569355739148823852027735108617820660111637593204516739309047930117270112704425295281197228832486184526127 221828708062185545712744724281724951213471573433331594004961523168635042618390518637150039989479056649911326301490587086918010341984134178807412307081427700179414257655513766452172152559956543264387860735753188015886201354618602123803440465913398374852584678053253817656107718845309689404545616870850341854869792801412359860012493496450417998664129143672183618561068663114037489582354477766742511433784619844078228366420944457358150517506846907454676264178805243351625160626078980839083843664857577186381714481763618603174138026747476485416023619365977968401304453736239976621269085354896773157749830903703701787484332573946596221596716050726338005748510148948992912865163473423974269049679715215294544563668500000507779022945529827466044400596261619508118453710386219366998940128004964286523249419987124454882986152739333986868768569752042804604784044044956193340161836598008191184555646518727769711472715054098902627190354866446834603979460493585258982467582173888514456243249543383887629465346726472702365037050033271172444595176586796915938857648983358206447927862268999744671340466953490084168676515127553539656789662909218269560444435819610055477959798196230734422860531293792640921076503989996580635130639098924466374658678029215596631323406591585099562079064585924752960426999757635833794125183859112114595134539212939030680293149890669229542234659982822937047022670745309666555569221468121716302698862959430342544831347800590099512883405065940381480611695590345443052137425741195284851975295795201157476334531827585766293689420911198226461289581202498001595887037823230157047057857814337570787640158236126806083747165051045960274646913802738347604570971573316009963170987243000330462905539511184689014381375195217488949565848311045306396113719641299211320480318375975109611470720649719590046522213963370802657894359945154365110858800114893159030696449314070130381752862837911676438803029773346296940446601835860568930284903279843666116834847127959541376165918247315892227650980168267363628309784047377831960933732770553584674870358939506372830517870617188098379995846047865979097173782109599563613036682955203412234501227717692931090791713521694331275465126373995452659596278747853084882857755124487628675498544627261709719847822510615965828275506733644149507452358821991141290353239802787289848187535089418618167468190135541480601467806303366615472132146527190364516697480629813007202430097968146274140344496965052271880517511744084434589687491066325232172840792079667485984894435786184552674026107033344631649393469989773580577115650350250086597252810013755242125908875242487767655760373636325416963203820837789289257439070714073307614503795910443336763179937415819712284401382427216978033914329384350524691847819878853397963860594284007933960834959905793608252390176192651343231134889059638178327556430429741148881524046644461026496901083677109450095786237536657491616078793617459839592176336812474921443820768640030312960239626374695575435044028550939328560007157610668156384682581845018028257483537024282432878747991861076258602375409824050824538486768437551119619089321235305833944603362813717842848994125826720465541344295397622770518121762729731574677173480863930800025214746904086812522099443801155941227920657329394613596106398906083075819608199045147377562682650035253314952618529837952826236455148636332223100459481346272760162044974460242529741108401905464892705444543154268672433694782373699364563225629716751860293440054264312989849880827161884265359514954766159786222645765638795542812445751291831213135557418025433736714544333111663340673803825277921727253517142828962537707765925163787364333533014617135797125789151359895154978020398189077050884072646096289795386310132964846678646678480765499930539869026229787195406101848627419199045148788451 358926389325094035885260886159437462199203103946673374091986129426377742234215283723628211347970741545269135596291220959109687407725953716482784860860841932000746846616965896419966604269272723811688101257992085031157178655303088482560101784738616692982751217070215243272128393993660886156629371341026133424650573881614433534919312990442500012673380748979398330776231466590822910391944518669527399695803188377176620647306275694998895708882106164070094990613462982379197602144367965453211026987655054365802746249886523405859645859712692391235647693836864874111395977917155797796180245105307038106422823147438820232239181885339036989639706159147594870089566446253919820810740041449151128901285104550348229902772227626897550511816418275909603875682607845107109774524691305307855948735146439199270238717896332436231968077937847075355859657194320656690196891863684630976486823121448856978094674410938946406175244295179293439726678232200698434060525157083582660977332161311905986604417046991539408205687370483564134201351872152374494955935175903645530952556423809020458522185183618224201467220108173173170954059471611042199653987272418050460270406907190440004967163142488052174411365369189058662106552307688547292972905309978953763615325421721371980676093487244194003494223806578683823278542771550971645468184237926486738039319747055285676433785243620683895372172664383369138000858885334308648861406136736475573677164110613986121369926755244897459493996653615166413019253158672358625874622667312969892495622901500497432620133153808455786849780040304164686836705154936375915618729548514051110531341703756709158537279649807674420443767706771819169312150195747610439492633175594478694436096103472090646348012607975194288736060845343782500055729824953902223683077486027151166349976801792354964709068126934920382769410733106114115389360206140170048745817221589255237728636985970252630743461398450993496200891426567441352384535134533141206975188929504457652286051975809578665021147620130576382462194796205555876116145283898225020522874410301494364603689681057108574870499381923413030037269750978570399689654277337283715179173419205254261378584085124286972067291307201432337225938880085576390999172020732566543681470335653271047866830358248350999536675352103228231904822453851798078440475473327424785614021463739762123654334406597785217891369522449696645833879108505621493557206788180834001749875211200501516882682090510495024468357567132362139541658785786970646800277554282184772218344494280255187508750107782863899600166574462381932134301167507132077276903941372902061669517133492284205679977903071325174022228497974475553258418324387608061226722065937342744088652432911586002980342385495755883053817391463912123545625656348733606662162845703864568993420865283329005606760913527052712809116500158678446564134081959380839689573579422881335665564836138138238845107574602840688275278179822203176133134821222647076743100454731044038642591043854453220393622645008009149185610761515045649715710742484324831387686179294827186530738123013037358597632228688917728576288042683804089569944497918762381117348893875680208550800871961199200055214852699932448979632416751930017714681262315443391305855498085457814358216331905110658318042870981678825224672664037250332766900475936752348343527726361262039420309915767430735193586196616894021571839063882504643787564481899665614617135047904274618439457985189325427610787778391062547492234736570955483390421465142968870239420840370012379343978880092760058817795098538826173546214134160904001845361342712653154340514423092888151840951299296495607503907451559954130521537156731409392223860696453023025850647358309328085245973809264575010208868230884620239811794920141823121418750785506790284271685282239239587799143499899899831397129824648031531333314578 580755097387279581598005610441162413412674677380004968096947652595012784852605802360778251337449798195180461897781808046027697749710087895290197167942269632180161104272479662872138756829229267076075961993745273047043380009921690606363542250652015067835335895123469060928236112838970575561174988211876475279520366683026793394931806486892918011337509892651581949337300129704860399974298996436269911129587808221254849013727220152357046226388953071524771254792268225730822762770446946292294870652512631552184460731650142009033783886460168876651671313202842842512700431653395774417449330460203811264172654051142522019723514459285633211236422209873932875838076595202912733675903514873125397950964819765642774466440727627405329534761948103375648276278869464615228228235077524674854888863151403485793488137883456891114954230677181062224628226946363461294980935908640824316648659719457048162650320929666716117647959349278196066917033098647533038039985650668841643444914335200420442847666590375427037671034096956266499238401905423546939551111762700561469810205407167226906450047452617968872807687061663257339630574599164581856443650181636320020714842726800495482926961338718786597271896662981699583183056297685127928103544408903420138274003450936968611999500078829293565573288392503436783705542529186805439593368097038601333173858959994316356726935134289913437606832647206306185023529630643975204430627604858191876376027070044328666201274555834996972377401719555547893630948749017801678012048408508254744470918696701654908954664981394222080539200951502391148126286357434377511505767371744208157589199518094279946177437885934480504190932757817779443959063998485958044063604748910488657607083346472421109253552119159883303117436040561271449621578135999208619796797127326362486830295177767464576179788776654510429291624696476916773283720151294535159604617336482414268425086300040383012496324236362669935003921199913738292831136970393710137260092209348123769120899103769120041187065867446468610113174964472919504425929331276056981456607180855079039474048620563481405388369999111511410033115798844549496863436386936847328215856374408666495879811802817218062859004828895763612691065254081029050595450768585651426539225460140899723365374985510060719384497862719194060180329187495947585892834295318566075967261266527051971841869496016403385359559657991177247301685411872236965689353315371198518447355841013508719312780058656769164812854532184634020059170529871405236487768620607416945059136573947741172403185893967416573626273607807013581527771157280712654392554291622988658922327147247526331588853145559092829782602134299892516462239162176897318665792780010650358592448343354922766160279801315468167455199818680890157459955040699258298509982724557262532854015149291262966441720819320660965199292692810021677699023141597559167246004009164030217189611480599164735746191251712290784061515716479694792211928438682486668919437267205965482463359683884766180633249019703584584229639312454374209722868353152481216070268024312855444014275147295470237345624089765176330951697866734628628056712935469882000206670129181514153154163685679042049049340679420397990323927814374700535836443992047018068479336362016257839572963235991923180417486672137620053145329993431863928873299382019828167951726771508639602102959951020745687812116034569720258026987700214727744247045828172425776662109508146804359547859890654218133055330932659734981187017110270320046616051181894829163679475104683002229224806041977025418332749864698612396191979772956446814291112634543866289897932448526624866385284410959836281307732729481681384038679985693947099989785860240387359383661975445125211035125169159729988229266419961671123884441016431618507728883750353468930950166047739170127668169729687095237498978452067230576482103029 939681486712373617483266496600599875611877781326678342188933782021390527086821086084406462685420539740449597494073029005137385157436041611772982028803111564180907950889445559292105361098501990887764063251737358078200558665224779088923644035390631760818087112193684304200364506832631461717804359552902608704170940564641226929851119477335418024010890641630980280113531596295683310366243515105797310825390996598431469661033495847355941935271059235594866245405731208110020364914814911745505897640167685917987206981536665414893429746172861267887319007039707716624096409570551572213629575565510849370595477198581342251962696344624670200876128369021527745927643041456832554486643556322276526852249924315991004369212955254302880046578366379285252151961477309722338002759768829982710837598297842685063726855779789327346922308615028137580487884140684117985177827772325455293135482840905905140744995340605662523823203644457489506643711330848231472100510807752424304422246496512326429452083637366966445876721467439830633439753777575921434507046938604207000762761830976247364972232636236193074274907169836430510584634070775624056097637454054370480985249633990935487894124481206838771683262032170758245289608605373675221076449718882373901889328872658340592675593566073487569067512199082120606984085300737777085061552334965088071213178707049602033160720377910597332979005311589675323024388515978283853292033741594667450053191180658314787571201311079894431871398373170714306650201907690160303886671075821224636966541598202152341574798135202677867388980991806555834962991512370753427124496920258259268120541221850989104714717535742154924634700464589598613271214194233568483556237924504967352043179449944511755601564727135077591853496885905053949677307960953110843479874613353513653180271979559819540888856903589430812061035429583030888673080357434705208350434558071669506153723286010635643239785634813663431204812626481179645215672104926851344235281138852581421406951079578698706208213487577044992575369760678475380542074615174282001979481591156573404077738301620589980258869381034924440070385549823119896553090664274131043395029793613920757258395887941505034926296136097195949917004134166605441594622789318217970220695795794170771232205343758411718921173214822422292085151641347745664333309768645990861581282730266814095496203902614188603250929180440873893135564520377858459246560103552032520197231052214010236195462149167264189281212099316996159600829315658375883288046174889601717277481068227996359911936001750280473226440182269395513662072324787844731669458232995890720591844280739810537268831048630418003804830632274368069720657486564505379892514845947993102681100776266508769140622186811224050509017210144802281005580697047991905172145570261127101847436014574591972048481732847713678008409192968700124263157223556940006935577588586911552855176316737302974591298826315131472336793896301897968345063259905133745662537721937009521105950727739219401026871664711593733415250073969419859438579095636806047457954203607682630545013270308507595943256318454094059527985909418432717626657433388644381324019023057194361704964557640241249104555532120330439303560231126630553551125254362461459785191860101715653931179567897033838735529543119298878370002657469114261640199857956580516295254497869901641523269866788176423005702231186614279598826764097232388034610310072091391279244556051078977987317875843543560666118711050797528679251846841275530006472647037798033918895945053014608568784922069785477150544963237438569738193907117350816136473977256519444238446871619513018226235710256331888811640181041635514560217142425356492213646556693410385234309333754453296281098978424304998438134650846291363696235936573441629147634535860259215221851329978409715467313229586995068896108276715262107815417607 1520436584099653199081272107041762289024552458706683310285881434616403311939426888445184714022870337935630059391854837051165082907146129507063179196745381196361069055161925222164244117927731257963840025245482631125243938675146469695287186286042646828653423007317153365128600619671602037278979347764779083983691307247668020324782925964228336035348400534282562229450831726000543710340542511542067221954978804819686318674760715999712988161660012307119637500197999433840843127685261858037800768292680317470171667713186807423927213632633030144538990320242550559136796841223947346631078906025714660634768131249723864271686210803910303412112550578895460621765719636659745288162547071195401924803214744081633778835653682881708209581340314482660900428240346774337566230994846354657565726461449246170857214993663246218461876539292209199805116111087047579280158763680966279609784142560362953303395316270272378641471162993735685573560744429495764510140496458421265947867160831712746872299750227742393483547755564396097132678155682999468374058158701304768470572967238143474271422280088854161947082594231499687850215208669940205912541287635690690501700092360791430970821085819925625368955158695152457828472664903058803149179994127785794040163332323595309204675093644902781134640800591585557390689627829924582524654920432003689404387037667043918389887655512200510770585837958795981508047918146622259057722661346452859326429218250702643453772475866914891404248800092726262200281150656707961981898719484329479381437460294903807250529463116596899947928181943308946983089277869805130938630264292002467425709740739945269050892155421676635428825633222407378057230278192719526527619842673415456009650262796416932864855116846294960894970932926466325399298886096952319463276671740679876140010567157327284117068645680243941241352660126059947661956800508729240367955051894554083774578809586051018655736109871176333366208733826394917938046809075320561481495373348200705190527850183347818747395279355023513602688544725151394884968003946450338983436088772011652443551786922184071385647239380146435850103501348667669393416527051210978371610886168022587253138207690758723097785300964992959562608069388247634492190073557903869396759921255935070494597580329268472438305671077541616352265480828843693250226144063964556937548543996793866067338073398630591988610488838432051140437249932250095424935913418923231038644586893227518955508242207824033354094066631501630179659999845529781119775814795497018662336617642175737532315121895717697046852713790076409095189843482068557386062012524618879379514171427987336868857684194189510833587432766574260586182896648741402698558307625958643461273549119621431535300901988126692217964217028825692438465535737747250203682128294818389634701451163865854938490202552168374643207701885778721801962180365154499174181581597750941770044787797336467710337490078027422256398309612781592760556991698587620414581974989142975003569310411623985581660120684415178317644889386423794069161447448789287263528222227920538074559288417603977833288880408219270390479683776153061345683370368858526381530689152238708514859128243319283298153896211540728429627488045501331089387569246409479528264528222117973493504142803888957019153016215256918931515332650900978190513499239976408684246981269378541243626229817808922110817818265756334537625814464311960132281656138244517167941354064197883337535177766497761693721449643710532509866268957111595576622523828932627197598371049736016837793590964046810895483294827936050965930173680073797630427586611800385734136379320146137884611520121216168170119372910523316898598897128119303592203432416933797744617971309199578507316224147584034986667401070807962487580676953005060136876518286213728146172017377717579843135482959274090306395086728782492684297520636 2460118070812026816564538603642362164636430240033361652474815216637793839026247974529591176708290877676079656885927866056302468064582171118836161225548492760541977006051370781456349479026233248851604088497219989203444497340371248784210830321433278589471510119510837669328965126504233498996783707317681692687862247812309247254634045441563754059359291175913542509564363322296227020706786026647864532780369801418117788335794211847068930096931071542714503745603730641950863492600076769783306665932848003388158874694723472838820643378805891412426309327282258275760893250794498918844708481591225510005363608448305206523648907148534973612988678947916988367693362678116577842649190627517678451655464668397624783204866638136011089627918680861946152580201824084059904233754615184640276564059747088855920941849443035545808798847907237337385603995227731697265336591453291734902919625401268858444140311610878041165294366638193175080204455760343995982241007266173690252289407328225073301751833865109359929424477031835927766117909460575389808565205639908975471335729069119721636394512725090355021357501401336118360799842740715829968638925089745060982685341994782366458715210301132464140638420727323216073762273508432478370256443846668167942052661196253649797350687210976268703708312790667677997673713130662359609716472766968777475600216374093520423048375890111108103564843270385656831072306662600542911014695088047526776482409431360958241343677177994785836120198465896976506931352564398122285785390560150704018404001893105959592104261251799577815317162935115502818052269382175884365754761212260726693830281961796258155606872957418790353460333686996976670501492386953095011176080597920423361693442246361444620456681573430038486824429812371379348976194057905430306756546354033389793190839136887103657957502583833372053413695555642978550629880866163945576305486452625753280732532872061654298975895505989996797413546452876097583262481180247412825730654487053286611934801262926517453603492842600558595263914485829870265510078561624620985415570363168225847629525223804661365906108761181360290173886898490789289969617715485109415005915961636508010396603578700228132711597101090155512525073522414239933784696347222087366980617051729241265829785673026884157226844292364038644350632470191438914559453832610547799129826727060680162834277301244780591861418018872925033572814452627953884182473522475263558841817945441529191703704356991297543375278730818626339260829161188157003063860970386620379614098710403733892227057897467977520079153972345804608851915806856402117731470757614770100106015708727147406126515242819928837392263398848628655903554135305908078450822471906636563954649895887940304441524174937916268473234238970494719471116434795242108854273865079516736548887178440446910538684285016088321216111078747421926225337588711439181117159186337853322899964114073770684928788904342553728735103509083490728902054958492754160244512711079984524675261139363204982686992349126772051060139460393213928600026544426093310986176431528220705104301687912485429232136726673364450007669685571494063310027802247170762854708175295902876564092800959524547258451743661058868931048276627961642938694500771940988049720082219689147435322371785990857888545758376217809885335308370092452153699097932989200542235767248442885149499684597098533823520496942948817224641228409192520316266448316608559220598620248962315522495642341305254387568354761330038545520803952871106628996475970425231517266994789031446362375886116596372633839791173489535668367587191148446564060589056905178374826191765650902837755831472500058931013091564952413159114270544660084417078973627208129852280642954031803597323126008339985105535721654253851276912889578501766024152822073987361393868707695989558602796188861085375291195005497754792112938243 3980554654911680015645810710684124453660982698740044962760696651254197150965674862974775890731161215611709716277782703107467550971728300625899340422293873956903046061213296003620593596953964506815444113742702620328688436015517718479498016607475925418124933126827991034457565746175835536275763055082460776671553555059977267579416971405792090094707691710196104739015195048296770731047328538189931754735348606237804107010554927846781918258591083849834141245801730075791706620285338627821107434225528320858330542407910280262747857011438921556965299647524808834897690092018446265475787387616940170640131739698029070795335117952445277025101229526812448989459082314776323130811737698713080376458679412479258562040520321017719299209258995344607053008442170858397470464749461539297842290521196335026778156843106281764270675387199446537190720106314779276545495355134258014512703767961631811747535627881150419806765529631928860653765200189839760492381503724594956200156568159937820174051584092851753412972232596232024898796065143574858182623364341213743941908696307263195907816792813944516968440095632835806211015051410656035881180212725435751484385434355573797429536296121058089509593579422475673902234938411491281519436437974453961982215993519848959002025780855879049838349113382253235388363340960586942134371393198972466879987254041137438812936031402311618874150681229181638339120224809222801968737356434500386102911627682063601695116153044909677240368998558623238707212503221106084267684110044480183399841462188009766842633724368396477763245344878424449801141547251981015304385025504263194119540022701741527206499028379095425782285966909404354727731770579672621538795923271335879371343705042778377485311798419724999381795362738837704748275080154857749770033218094713265933201406294214387775026148264077313294766355681702926212586681374893185944260538347179837055311342458112672954712005377166330163622280279271015521309290255567974307226027835253991802462651446274336200998772197624072197952459210981265150478082508074959968851659135179878291181312145988732751553348141327796140277388247158458683386144766696087786616802129659095263534811269458951230496898066083115075133142910661874425974769905125956763740538307664311760427366002295356595532515369905654996616113299035132164785597896575104736678370723854546230172350699875372580471906857304976174010064384878049309118386941398494597486404838669048147211946564815330897469345362320256518920829006717938122839675765883639041950716352579471424542179793185674566931867762422213704041759288924959503793483282233649479620187136714484274984199437009439670979696165422889242086450784047310777009130097865280025228199015509371839742426163064608486437451267796187157936652172542492312536402159897906371250338342306301849028886837184462964423812964526143728187517953865938355298740784088795092944751911410238395266278982369975985133413121865083489459046657080374574826487700222959528244571550987190564347113033541950368705028846817007997761473993215380574514398659448758779663590105516463262521017134892634840487353461724555408993398171105697144385397327534611391423221044278807845412347955201787298558536322129292732326263747181420516314248304337662640939465175674947877041561973633136741400667959271070642667198337909397884789217036626984128775729502406020644641338762699283354850455692721152652597922586561125727161952684446845653057673408839066948109017998471862548411789761064466683251520304903052429115638044525048284155966850163407268117134619109540501598541267264946076991647200857290912511205511911788787449275952688668229050386002088269311758011398663963676620511390561005874470251952153610310913547273592374971772936792462216338857589842583561902900671108287715507565886085413569401738279148135175681686281734280247476410458879 6440672725723706832210349314326486618297412938773406615235511867891990989991922837504367067439452093287789373163710569163770019036310471744735501647842366717445023067264666785076943075980197755667048202239922609532132933355888967263708846928909204007596443246338828703786530872680069035272546762400142469359415802872286514834051016847355844154066982886109647248579558370592997751754114564837796287515718407655921895346349139693850848355522155392548644991405460717742570112885415397604414100158376324246489417102633753101568500390244812969391608974807067110658583342812945184320495869208165680645495348146334277318984025100980250638089908474729437357152444992892900973460928326230758828114144080876883345245386959153730388837177676206553205588643994942457374698504076723938118854580943423882699098692549317310079474235106683874576324101542510973810831946587549749415623393362900670191675939492028460972059896270122035733969655950183756474622510990768646452445975488162893475803417957961113342396709628067952664913974604150247991188569981122719413244425376382917544211305539034871989797597034171924571814894151371865849819137815180812467070776350356163888251506422190553650232000149798889975997211919923759889692881821122129924268654716102608799376468066855318542057426172920913386037054091249301744087865965941244355587470415230959235984407292422726977715524499567295170192531471823344879752051522547912879394037113424559936459830222904463076489197024520215214143855785504206553469500604630887418245464081115726434737985620196055578562507813539952619193816634156899670139786716523920813370304663537785362105901336514216135746300596401331398233262966625716549972003869256302733037147289139822105768479993155037868619792551209084097251274212763180076789764448746655726392245431101491432983650847910685348180051237345904763216562241057131520566024799805590336043875330174327253687900883156326961035826732147113104571771435815387132956682322307278414397452709200853654602265040224630793216373696811135415988161069699580954267229498348104138810837369793394117459456902509156430451275145649247973355762482181197201622718091295603273931414848159179363208495167173270587658216433076114359759466252348044130721155359393553026257151675322240752759359662269693640966745769226571079345051729185652535808197450915226393006628001120153172333324876177901207582878837506003193300860463873758156328222784110577338915650921806628440844624093138882858181658167906095125903536736270259421564815062983205316769237690653652087011021734768018312893675095781361621524954039848419579726202845441631681110714679829368508371959564271517897990004919353218855459952569771916589182848911397312144183950338002524754910685506766681877407768607337734421390676024977423107799225520746748759567571122200551285639924043273565654412855542577377536415899970426648415844716025484009080195067886712529713868516630948574218361101615573128735071000411302944052919832690350395547034105382668722419765168307210221926361500537641473885500575090976979484767891793428948691753153861565999290495023147296049472303425973352867907240105502830514267987313845238332392670799698862846167489584598757254375264958247953361504363968386557351788374787547460938734930107732009354551286003267641163094820897435842387085331452803875427013925229187003119178464859259642232172075096921130345172914189034877734286382551304695807968580169051180372202496586353233192586957310565017337789880516780873477660632905039314079730518342736280003640750974410283030037266908854456094523555707789914196090886031703677439690287031784161168287981399093653221724917125669208623761037590364188214004322532595107642114510870399600714956878472514116470190134502732162063668924823930361702868959754793109558960341075336996261056977476739778002268523397122 10421227380635386847856160025010611071958395637513451577996208519146188140957597700479142958170613308899499089441493272271237570008038772370634842070136240674348069128477962788697536672934162262482492315982625229860821369371406685743206863536385129425721376373166819738244096618855904571548309817482603246030969357932263782413467988253147934248774674596305751987594753418889768482801443103027728042251067013893726002356904067540632766614113239242382786237207190793534276733170754025425521534383904645104819959510544033364316357401683734526356908622331875945556273434831391449796283256825105851285627087844363348114319143053425527663191138001541886346611527307669224104272666024943839204572823493356141907285907280171449688046436671551160258597086165800854845163253538263235961145102139758909477255535655599074350149622306130411767044207857290250356327301721807763928327161324532481939211567373178880778825425902050896387734856140023516967004014715363602652602543648100713649855002050812866755368942224299977563710039747725106173811934322336463355153121683646113452028098352979388958237692667007730782829945562027901730999350540616563951456210705929961317787802543248643159825579572274563878232150331415041409129319795576091906484648235951567801402248922734368380406539555174148774400395051836243878459259164913711235574724456368398048920438694734345851866205728748933509312756281046146848489407957048298982305664795488161631575983267814140316858195583143453921356359006610290821153610649111070818086926269125493277371709988592533341807852691964402420335363886137914974524812220787114932910327365279312568604929715609641918032267505805686125965033546298338088767927140592182104380852331918199591080278412880037250415155290046788845526354367620929846822982543459921659593651725315879208009799111987998642946406919048830975803243615950317464826563146985427391355217788287000208399906260322657124658107011418128625881061691383361440182710157561270216860104155475189855601037237848702991168832907792400566466243577774540923118888633527982429992149515782126869012805043836952570728663392807706656741907248877284988239520220954698537466226117618130593705393233256385662791359343737988785734236157474000894461693667057864786684517677617597348291875032175348637582859068261703244130649625760757272486568174769772623178978700995525752805231733482877381592943222384052502419247405272252753814627622779625486127597486621959338313969455459139377102487174624033248743212502153898463515531415562676741311417483839326653942889497190232016935434384706321125318437322082069059346389982156115956094914116838808179351655729694407140076455703400529632469082667637196614411047926906683983926376501067133241348136774562869035344420779880226733927078184875329479049563863053050608596457959385014250063737007799709382600373496443315891714640754515443508789467936894247475461346869082505699001929752813657707820148272653503309897488111525903581164404241337586111381218416210672788470197154027229924122974530856854460014973750425738264431481898945411954274170996458634130982376609020604881296824144458565051625502830365125659410534889517140238083147654064633466048120920886547107591221995134782020678216690895014429314252723135886611971669705642491292686671226912233737488095773751784970120669840502411142700958689409139823106198022341515526925552613851497825512111621438860013544503989142653621637842460019439150605604351705055135369100326081804473132037085776530089748543083839128014674309586443410908868109029392570538865450121721040600547354990771487003397237215589228477736307736849836517031785095741491036675137067872587437658101754749219878792784547261252425424417673193089928651409306578686528992092574745625571825495038649418376525640878523128362079354485131436738663758474058249744933856001 16861900106359093680066509339337097690255808576286858193231720387038179130949520537983510025610065402187288462605203841435007589044349244115370343717978607391793092195742629573774479748914360018149540518222547839392954302727295653006915710465294333433317819619505648442030627491535973606820856579882745715390385160804550297247519005100503778402841657482415399236174311789482766234555557667865524329766785421549647897703253207234483614969635394634931431228612651511276846846056169423029935634542280969351309376613177786465884857791928547495748517597138943056214856777644336634116779126033271531931122435990697625433303168154405778301281046476271323703763972300562125077733594351174598032686967574233025252531294239325180076883614347757713464185730160743312219861757614987174079999683083182792176354228204916384429623857412814286343368309399801224167159248309357513343950554687433152130887506865207341750885322172172932121704512090207273441626525706132249105048519136263607125658420008773980097765651852367930228624014351875354165000504303459182768397547060029030996239403892014260948035289701179655354644839713399767580818488355797376418526987056286125206039308965439196810057579722073453854229362251338801298822201616698221830753302952054176600778716989589686922463965728095062160437449143085545622547125130854955591162194871599357284904845987157072829581730228316228679505287752869491728241459479596211861699701908912721568035813490718603393347392607663669135500214792114497374623111253741958236332390350241219712109695608788588920370360505504355039529180520294814644664598937311035746280632028817097930710831052123858053778568102207017524198296512924054638739931009848484837417999621058021696848758406035075119034947841255872942777628580384109923612746992206577385985897156417370640993449959898683991126458156394735739019805857007448985392587946791017727399093118461327462087807143478984085693933743565241730452833127198748573139392479868548631257556864676043510203302278073333784385206604603535982454404647474121877386118131876086568802986885575520986472261946346109001179938538456954630097669731058482189862238312250301811397640965777309956913888400429656250449575776814103145493702409822045025182849026451417812941669352939838101051234694445042278549604837488274323475701354946409808294765625684999016185606702115678925138556609660778589175822059890055695720107869146010910142850406890202825043248408428587779158593548598022235284145342530128374646749238424157885080346478545882058080655174492978740953911231958250329829109480487682746843391361930488639072592827597747637205628796668176687723615293965925038066460622753748487929035237409113203593896838303996128110326839069657996258822281329550912752189387217961155317754209852752586848789383799799368164029081585565535703661051073275037013229039020693428130540724942091924634183962378256555656414755795035412870446383762231926181249888226632044968488522828847634084236931687981658415323798879395208235365461237451850484475068498328345515548841402717749199373692374360646027324858024633421477399756316654353600250117811432958865608333195639927397848734755472630753947352927479633537705519643801482856180243088143525042185077452366217689040270596825346901777437651845843972674494553396832308993209594172055452122644377838156626187876412259001571057281983747699000649534981842998426300656316594299927055293838461590218011511199811353102190704938247722326410891099142263012553866650007750381448123153207745192652322723414549619083439675600576132358976177135124103062780685683094283268919266668168023339521011004805013184189394712761592262737081211198695692118937433883115317142368894539935288072793804885529881820695156719126595306907689240750318969011121245485395671632687322420429822127697795641235213836252013457253123 27283127486994480527922669364347708762214204213800309771227928906184367271907118238462652983780678711086787552046697113706245159052388016486005185788114848066141161324220592362472016421848522280632032834205173069253775672098702338750122574001679462859039195992672468180274724110391878178369166397365348961421354518736814079660986993353651712651616332078721151223769065208372534717357000770893252372017852435443373900060157274775116381583748633877314217465819842304811123579226923448455457168926185614456129336123721819830201215193612282022105426219470819001771130212475728083913062382858377383216749523835060973547622311207831305964472184477813210050375499608231349182006260376118437237259791067589167159817201519496629764930051019308873722782816326544167065025011153250410041144785222941701653609763860515458779773479718944698110412517257091474523486550031165277272277716011965634070099074238386222529710748074223828509439368230230790408630540421495851757651062784364320775513422059586846853134594076667907792334054099600460338812438625795646123550668743675144448267502244993649906272982368187386137474785275427669311817838896413940369983197762216086523827111508687839969883159294348017732461512582753842707951521412274313737237951188005744402180965912324055302870505283269210934837844194921789501006384295768666826736919327967755333825284681891418681447935957065162188818044033915638576730867436644510844005366704400883199611796758532743710205588190807123056856573798724788195776721902853029054419316619366712989481405597381122262178213197468757459864544406432729619189411158098150679190959394096410499315760767733499971810835608012703650163330059222392727507858150440666941798851952976221287929036818915112369450103131302661788303982948005039770435729535666499045579548881733249849003249071886682634072865075443566714823049472957766450219151093776445118754310906748327670487713403801641210352040754983370356333894818582110013322102637429818848117661020151233365804339515922036775554039512395936548920648225248662800505006765404068998795136401357647855485066990183061571908601931264661286839576979935767178101758533205000348863867083395440550619281633686041913240935120552091931227938567296045919644542693509282599626187030557435449343109726620390916132463905749977567606350980707167080781333800454771639364585403111204677943788343143655970768765282274108198139355274418263663957478029669828311170845895050547117472563004057161612386632517154161623389961740578056348595877894108558799392072658332305394896800729148482346764543865194003872161828684012557698418982809753863593300542913506984867075271023660332178142916326154278120398117905046309818004944765210680112036703340136791237606959055892419948096610167098187889244832394728082065898353246852849976760487040970579785767398058872984419613602535464009319845181479457535433423651899272504031117761624877541111872376136575889634001398160880135354865976634354751215248641173025567769796542215090067996705562615264681774607449599355182805530522591828456013630855591319772600301495854483267552459776365337259234897074262269998010491111163560765586808383624272612868837095006992113099585826440530348590447402238222925545720401768347380647003292993732711958873447143294337136659345721465630569797088983345957025572792484880249299327146565821398824677255304325263225926202148833340823938412277755454313471559282981115211855853971219250503707795056643302857695511217180946736144590952426537840129991206992335759866961909166825458487192469068171114997809097898175724650417771457170097680506134855896645759647257860841322044969285136203798267399804953798636353793873686653761908101689630146965359705745986894814181291127273843248118687881653314812575814007660539622011036550155815684499784307259134534304993687894501758391109124 44145027593353574207989178703684806452470012790087167964459649293222546402856638776446163009390744113274076014651900955141252748096737260601375529506093455457934253519963221936246496170762882298781573352427720908646729974825997991757038284466973796292357015612178116622305351601927851785190022977248094676811739679541364376908505998454155491054457989561136550459943376997855300951912558438758776701784637856993021797763410482009599996553384028512245648694432493816087970425283092871485392803468466583807438712736899606296086072985540829517853943816609762057985986990120064718029841508891648915147871959825758598980925479362237084265753230954084533754139471908793474259739854727293035269946758641822192412348495758821809841813665367066587186968546487287479284886768768237584121144468306124493829963992065431843209397337131758984453780826656892698690645798340522790616228270699398786200986581103593564280596070246396760631143880320438063850257066127628100862699581920627927901171842068360826950900245929035838020958068451475814503812942929254828891948215803704175444506906137007910854308272069367041492119624988827436892636327252211316788510184818502211729866420474127036779940739016421471586690874834092644006773723028972535567991254140059921002959682901913742225334471011364273095275293338007335123553509426623622417899114199567112618730130669048491511029666185381390868323331786785130304972326916240722705705068613313604767647610249251347103552980798470792192356788590839285570399833156594987290751706969607932701591101206169711182548573702973112499393724926727544263854010095409186425471591422913508430026591819857358025589403710219721174361626572146447366247789160289151779216851574034242984777795224950187488485050972558534731081611528389149694048476527873076431565446038150620489996699031785366625199323231838302453842855329965215435611739040567462846153404025209655132575520547280625296045974498548612086786727945780858586461495117298367479375217884827276876007641793995370559939246116999472531375052872722784677891124897280155567598123286933168841957328936529170573088540469721615916937246710994249367963996845455302160261508049172750507533170034115698163690510897366195076721640977118090944827391719960700412567856383497273550394344421065433194682068743238251891082052335653576889076099426139770655550192105226883603082344952804434559944587342164163893859463143564274574100328436560031136214094303479134896631156552655183847670777859684289998036710979002214233676224372654440857472727832825284135850711961106732676593653345681686619005220045943046337491575637351611230506171710175161554798886317626257216209376948908026608327153142455423021598841603514676240147030179206449233865781337221970860848799554316149044562586604580834652747142630652649344924516122556145321471059109946259456626831574484702747975722204399627358057835861650760586774176380672576524742822520338121560182648049106767399834465157183598849332878104713549428211866013969463204940928076502133625091924667853511151046071433231173762830229283694133246328820712507900973937176121653913588497324380081430969356719496756405514206232359028085499591042359919592733123531960174150073303582481311069070762586845799746864692333264329537305775224580946182980632020216019027402106082192940129081024915129258087455953334442233657826248312586309010924926851683815183822364712934072048613398614576819576802073865482419061856809985761581550580021922108280088999157144819076545590511439330145543505059614231890240008106275908743771691130168074075310848753480552142853191963775054122564813782986778871846127058153474530916559859662542035009835049485992624087645023418831999041505294993818780699699711172947968999967245283188561004053326132976671660867496432221788503006920214129386832329946228901730753771848362247 71428155080348054735911848068032515214684217003887477735687578199406913674763757014908815993171422824360863566698598068847497907149125277087380715294208303524075414844183814298718512592611404579413606186632893977900505646924700330507160858468653259151396211604850584802580075712319729963559189374613443638233094198278178456569492991807807203706074321639857701683712442206227835669269559209652029073802490292436395697823567756784716378137132662389559866160252336120899094004510016319940849972394652198263568048860621426126287288179153111539959370036080581059757117202595792801942903891750026298364621483660819572528547790570068390230225415431897743804514971517024823441746115103411472507206549709411359572165697278318439606743716386375460909751362813831646349911779921487994162289253529066195483573755925947301989170816850703682564193343913984173214132348371688067888505986711364420271085655341979786810306818320620589140583248550668854258887606549123952620350644704992248676685264127947673804034840005703745813292122551076274842625381555050475015498884547379319892774408382001560760581254437554427629594410264255106204454166148625257158493382580718298253693531982814876749823898310769489319152387416846486714725244441246849305229205328065665405140648814237797528204976294633484030113137532929124624559893722392289244636033527534867952555415350939910192477602142446553057141375820700768881703194352885233549710435317714487967259407007784090813758568989277915249213362389564073766176555059448016345171023588974645691072506803550833444726786900441869959258269333160273883043421253507337104662550817009918929342352587590857997400239318232424824524956631368840093755647310729818721015703527010464272706832043865299857935154103861196519385594476394189464484206063539575477144994919883870338999948103672049259272188307281869168665904802922981885830890134343907964907714931957982803063233951082266506398015253531982443120622764362968599783597754728186327492878904978510241811981309917407335493285629395409080295701097971447478396131662684224566393259688290816697442395926712232144997142400986277203776823690930016546065755378660302509125375132568191058152451667801740076931446017918287007949579544414136864471934413469983012194043414054708999737454147685824110814532648988229458688403316360743969857433226594542294914777508338088281026133295948090530713352624438272091998818417982538238057806466229859447384940198529682014103719556712345460057410376838451621426672719580270582272102266762999656864800491157589530747512690255215023358197210875690491167048729955604035910558447105474823806714623682146421874157341286589394352293275062304728725271047501732839603786368725356352183733519343240471472740393114390808945409721414336933807418999308916718645495877505499321685003163526725107238457168819243876240434109948712067820903683857162791481487760923264617891938005550117636615198656914011194184046209986902754700441791538350064581519277739117198008408229059531201646490691766815399699374267208693956576594025059629776461084875013905846630316566991168526396952486991172823394398642351428979847830660317171101014615983300698368428137366911705832709358400704498663750984719533994616482988614147127511695626258062249264648671724240520117291365937484657971903171176286086106597707614138336755280481008055056650925567890634274150853053832648524646303125211827502926870173859800692013929719453638312360517780818224853437717433325461035735301735771503083430641430537137879264926576141057065466593468377811942806127977171973486573403898323600023289644281188978461459542634036732687449103122759667120358127062346988808471403279866310741406931520521629188470654699564767594513892464075242843215363971070214318865901946984332200489507468771944318691419998436645966864251222589625255530239471371 115573182673701628943901026771717321667154229793974645700147227492629460077620395791354979002562166937634939581350499023988750655245862537688756244800301758982009668364147036234965008763374286878195179539060614886547235621750698322264199142935627055443753227217028701424885427314247581748749212351861538315044833877819542833477998990261962694760532311200994252143655819204083136621182117648410805775587128149429417495586978238794316374690516690901805514854684829936987064429793109191426242775863118782071006761597521032422373361164693941057813313852690343117743104192715857519972745400641675213512493443486578171509473269932305474495978646385982277558654443425818297701485969830704507777153308351233551984514193037140249448557381753442048096719909301119125634798548689725578283433721835190689313537747991379145198568153982462667017974170570876871904778146712210858504734257410763206472072236445573351090902888567017349771727128871106918109144672676752053483050226625620176577857106196308500754935085934739583834250191002552089346438324484305303907447100351083495337281314519009471614889526506921469121714035253082543097090493400836573947003567399220509983559952456941913529764637327190960905843262250939130721498967470219384873220459468125586408100331716151539753539447305997757125388430870936459748113403149015911662535147727101980571285546019988401703507268327827943925464707607485899186675521269125956255415503931028092734907017257035437917311549787748707441570150980403359336576388216043003635922730558582578392663608009720544627275360603414982458651994259887818146897431348916523530134142239923427359368944407448216022989643028452145998886583203515287460003436471018970500232555101044707257484627268815487346420205076419731250467206004783339158532682591412651908710440958034490828996647135457415884471511539120171622508760132888197321442629174911370811061118957167637935638754498362891802443989752080594529907350710143827186245092872026553806868096789805787117819623103912777895432531746394881611670753970694232156287256559964380133991382975223985539399724863241402718085682870707893120714070401924265914029752224115604669386883181740941565685621701917438240621956915284482084671220521532227809299326133430683424761899797551982550131798568751257305496601392226481349770455652014320858933532652734312950464969613564971884108478248752525090657939966602435985858281561546812812158134902789890583599034502008816910734876109367529307728188236522741619463383698582484815948326639417440514337528323982873666598224651361947699951850556557377110172268775898650373402134084457086054312886333857307976673043658912846610561670223970331337052424189957155861202627972240032592330763698549689705338521730336361669794209275730485978370005603889751371392638508158148666609519286082870428709516278765503332867265684433414815796625888256790149539323622574025204666114386222694161358021177252132754366694259093670154534906948721948913914397382452666626220274243028994406587418768268949024791298935062205107622665458290803539291314158708039092959137279499069500334128608645086411891723022432859949204550157073576615220848342328783868019179726831298565832890360878648737054567200845063687245575459946874376387959522391786570423896305186703097923386153503685374009253369226215187622622743396424211233815450288714477173880476943285075779905516463708468667838145899551540268788436620268816003584936057374217327766579806404017739355433741124734458880590579629021152869867283422769986190372947305474699744286555714497258145246048797422157378875742876481608056243101026273325620815604533576161276234198036917986724889023818306452765858934829051954939353628229975949693383548294213603637023211843182609254258775322919228079961003861357003900993732821698340212566032799194197451491356009302087833618 187001337754049683679812874839749836881838446797862123435834805692036373752384152806263794995733589761995803148049097092836248562394987814776136960094510062506085083208330850533683521355985691457608785725693508864447741268675398652771360001404280314595149438821879286227465503026567311712308401726474981953277928076097721290047491982069769898466606632840851953827368261410310972290451676858062834849389618441865813193410545995579032752827649353291365381014937166057886158434303125511367092748257770980334574810458142458548660649343847052597772683888770924177500221395311650321915649292391701511877114927147397744038021060502373864726204061817880021363169414942843121143232084934115980284359858060644911556679890315458689055301098139817509006471272114950771984710328611213572445722975364256884797111503917326447187738970833166349582167514484861045118910495083898926393240244122127626743157891787553137901209706887637938912310377421775772368032279225876006103400871330612425254542370324256174558969925940443329647542313553628364189063706039355778922945984898462815230055722901011032375470780944475896751308445517337649301544659549461831105496949979938808237253484439756790279588535637960450224995649667785617436224211911466234178449664796191251813240980530389337281744423600631241155501568403865584372673296871408200907171181254636848523840961370928311895984870470274496982606083428186668068378715622011189805125939248742580702166424264819528731070118777026622690783513369967433102752943275491019981093754147557224083736114813271378072002147503856852417910263593048092029940852602423860634796693056933346288711296995039074020389882346684570823411539834884127553759083781748789221248258628055171530191459312680787204355359180280927769852800481177528623016888654952227385855435877918361167996595239129465143743699846402040791174664935811179207273519309255278775968833889125620738701988449445158308842005005612576973027973474506795786028690626754740134360975694784297359631604413830185230925817375790290691966455068665679634683388222648604700384642663514802236842120789953634863082825271694170324490894092854282460095507602775907178512258314309132623838073369719178317553402933202769092620800065946364673771260546900666436955943211606691549869252716437081416311134041214710808458858968375064828790965879328855245379747121903060165134611544700615621371292591040708077857099979529351050215941369019750030983974700538498924838595666079874767785598613361193240890056418162755398220428906180440171202328815140463197345737341617162723310047767433067601339317505854254409312692531562560878119600957539454398547201000199436004913963499032636065777695237458888700806414340965388944514497217892930176811262123450752478739618997144822912177424603198668090038134385663647988294522449609595535947973447584747209107699794382126883617529572113952941020811383497289822558052391772811797973219834166143948550740469080572909235348740260298978495916660191783824228682472088525608233909460035764424490673202270899064199259483350433315752399033721944939589453846490238026731081095636259235286121664784288929052380817390747716235464325629482236447317093743004398542248761583147400805551920379058303728564074094001888083585780454035835072568029427223215214752090988343345912424545512301294220330357534760966514296458343771128099448367577559226632959349112233114970963357727054467138962296420960829933304389695686577845547398031257455456788759202160469760616362082712451794300404421302034912766514004370941293212664367657303386122418022283995561277199342899771252337432079487732868254852337221025264398993865157276113787236012626777856045725245570458886459875257418446604392948315888727496101098454686397973225328989641785130026945336061846511369765677140389760211002678766058448674080981264832327304989 302574520427751312623713901611467158548992676591836769135982033184665833830004548597618773998295756699630742729399596116824999217640850352464893204894811821488094751572477886768648530119359978335803965264754123750994976890426096975035559144339907370038902666038907987652350930340814893461057614078336520268322761953917264123525490972331732593227138944041846205971024080614394108911633794506473640624976746591295230688997524234373349127518166044193170895869621995994873222864096234702793335524120889762405581572055663490971034010508540993655585997741461267295243325588027507841888394693033376725389608370633975915547494330434679339222182708203862298921823858368661418844718054764820488061513166411878463541194083352598938503858479893259557103191181416069897619508877300939150729156697199447574110649251908705592386307124815629016600141685055737917023688641796109784897974501532890833215230128233126488992112595454655288684037506292882690477176951902628059586451097956232601832399476520564675313905011875182913481792504556180453535502030523661082830393085249546310567337037420020503990360307451397365873022480770420192398635152950298405052500517379159318220813436896698703809353172965151411130838911918724748157723179381685619051670124264316838221341312246540877035283870906628998280889999274802044120786700020424112569706328981738829095126507390916713599492138798102440908070791035672567255054236891137146060541443179770673437073441521854966648381668564775330132353664350370792439329331491534023617016484706139802476399722822991922699277508107271834876562257852935910176838283951340384164930835296856773648080241402487290043379525375136716822298123038399415013762520252767759721480813729099878787676086581496274550775564256700659020320006485960867781549571246364879294565876835952851996993242374586881028215211385522212413683425068699376528716148484166649587029952846293258674340742947808050111285994757693171502935324184650622972273783498781293941229072484590084477451227517742963126358349122185172303637209039359911790970644782612984834376025638738787776241845653195037581168508142402063445204964494778548374125259826891511847899141496050074189523695071636616558175359848487251177292020587478592483070586680331349861717843009158674100001051285188338721807735433441192158229314620389385687724498532063168195844716735468032049243089793453140712029232557643144063715381541076163862374076271809640614583009202547315835573471775447404075513786849883934860353440116745240214168755545597880685539857139123336863943961992979110423261898323990444711511586281752904782714826616019646932432487291396762375220244659112282615475633723002967402830119427416044562009042313205421536845260916442619882149783853787114148533828272875308890547430207088419461430772893821796654904041735692465964657489726350250541974965478815541699414155460370743090560135006071315027224166777995505959331241011418276702917434728174243063770255688982247892410314042644450450448956715117520014821328228304713449281972137333104171821924941641236855043713192429984032548591125989307527065209704281345647177844687217148878256930974464324331456312667958266104466496820574302964375139122461796137860119121224121990974139534040876264471545302845822405496464334613926313138138244492028719921677914738516481842953100931185177748111908632485605273328844520844302412864865575941583638801503626606007407750733041229645936889325753060795173313977837661473196144192943285204219496952662341472947170271704724804898956886951676415992956950923371800644267664071081417718656075085776252860393675180514006193875667941754601425675228063194194100512125036445084308811584180399510841399228885648422554086331864182941099738121666529580582479587764964704358106906339923203515270759409962088100423568711565252646125572337274134415138607 489575858181800996303526776451216995430831123389698892571816838876702207582388701403882568994029346461626545877448693209661247780035838167241030164989321883994179834780808737302332051475345669793412750990447632615442718159101495627806919145744187684634052104860787273879816433367382205173366015804811502221600690030014985413572982954401502491693745576882698159798392342024705081202085471364536475474366365033161043882408070229952381880345815397484536276884559162052759381298399360214160428272378660742740156382513805949519694659852388046253358681630232191472743546983339158163804043985425078237266723297781373659585515390937053203948386770021742320284993273311504539987950139698936468345873024472523375097873973668057627559159578033077066109662453531020669604219205912152723174879672563704458907760755826032039574046095648795366182309199540598962142599136880008711291214745655018459958388020020679626893322302342293227596347883714658462845209231128504065689851969286845027086941846844820849872874937815626243129334818109808817724565736563016861753339070148009125797392760321031536365831088395873262624330926287757841700179812499760236157997467359098126458066921336455494088941708603111861355834561586510365593947391293151853230119789060508090034582292776930214317028294507260239436391567678667628493459996891832313476877510236375677618967468761845025495477009268376937890676874463859235323432952513148335865667382428513254139239865786674495379451787341801952823137177720338225542082274767025043598110238853697026560135837636263300771279655611128687294472521445984002206779136553764244799727528353790119936791538397526364063769407721821287645709662873283542567521604034516548942729072357155050317867545894177061755130923436981586790172806967138396404566459901317106680421312713871213164989837613716346171958911231924253204858090004510555735989667793421928362998786735418879413042731397253208420127999763305748475963297659157418758302474125536034075590048179374381837082831931573148357284166497975462995603664108025591425654033005261589534760668302253590013083966443148672444251333414096233769695858587632830834220767429667419026411399810359206813361768441355794875728762781690020269912820653424957156841847227232016298673786220765365649870304001625420138118869474655902966688173588764450516515464411392023441224463857371092214377701338153756333400525148683852141572481520605514912590017640829390645566983903085814760412067441527278843299385463245128101243496534907995612389184451778320856742185954263800061289699334596273146571946091423512312850903787607159192027519147582207810552088248936216773767445659311718620389597222035603468607814664874933262815456654170810481359758134335550058961045977237866627273447270020131802724854810287087551468907279485444643198564185302061500605463173934997751082665273197668583031685032484696031580946389568604849782219169768317757304460845584420651468175197254815973005604429242546870906230702836234274677639187206045623055237688340477873772645339604003236021184424991670170796112226151928972138044972479545553796290799917604882463966352001437807309311791855072047691776993587748340913813914317307362917387884044943538665671041603180294702703608134878152555131083299858240569032364041149528352890335480372065834102460250817776063283458465946144262408366976256733372777212098403529045824214688174698609764861353660474546713029462190475870193715448747373018861375868918928652932952145445673980113314745053924741470676126026839811723400956047357286169615291029104030390082093365413279933274428676024112731107260001739062130520278975626690074221928351470214299361049071862164857309425969969727859104143066869158479280180071668595839220121215978555704916754606489488133851675985050026640525087102477860634571390331311094799653318538966742443596 792150378609552308927240678062684153979823799981535661707798872061368041412393250001501342992325103161257288606848289326486246997676688519705923369884133705482274586353286624070980581594705648129216716255201756366437695049527592602842478290084095054672954770899695261532167363708197098634423629883148022489923451983932249537098473926733235084920884520924544365769416422639099190113719265871010116099343111624456274571405594464325731007863981441677707172754181158047632604162495594916953763796499550505145737954569469440490728670360929039908944679371693458767986872571366666005692438678458454962656331668415349575133009721371732543170569478225604619206817131680165958832668194463756956407386190884401838639068057020656566063018057926336623212853634947090567223728083213091873904036369763152033018410007734737631960353220464424382782450884596336879166287778676118496189189247187909293173618148253806115885434897796948516280385390007541153322386183031132125276303067243077628919341323365385525186779949690809156611127322665989271260067767086677944583732155397555436364729797741052040356191395847270628497353407058178034098814965450058641210497984738257444678880358233154197898294881568263272486673473505235113751670570674837472281789913324824928255923605023471091352312165413889237717281566953469672614246696912256426046583839218114506714093976152761739094969148066479378798747665499531802578487189404285481926208825608283927576313307308529462027833455906577282955490842070709017981411606258559067215126723559836829036535560459255223470557163718400522171034779298919912383617420505104628964658363650646893584871779800013654107148933096958004468007785911682957581284124287284308664209886086254929105543632475673336305906487693682245810492813453099264186116031147681985974987189549824065161983079988303227200174122617446465618541515073209932264705816277588577950028739581712138087383474345061258531413994520998919978898621843808041730576257624317328016819120663964466314534059449316111483642515620160635299240873147385503216624677787874574369136693940992377789325812096343710025419841556498297214900823082411379208346027256558930874310541306409281002885463512992411433904122630177271447204841240903549639912433907563366160391629229924039749871355286813758859926604908097095124917488209153836204239962943455191637069180592839124263620791131606897045429757706326996205287863061681678774964093912639031260149993105633130595985539216974682918813172313129062961596936651653235826557939997376201542282043093387136925233661327575383569833844415413957024362490069360063974742345763601854742984575540332979148987690318424001235865230945038570871437934092290977824824498967376232018205019050778169941110829831024980775807275542895440693272285017375507012899680173307241298102605920994527465262952900285248293057630752013210282445840492855439122141081395639919877006385947763823716635701857002697354385609925429059036775860118224794763316544745480684725126595902323565637876565916645191323054617476937107407843109366632907025839825418581913004686636098468853080861500504198950529641811039218586685566242766319396379148089661546014445380310734891610327292527006506739676525790162827302285676843142175754417026676386145680646065496698655075841491028579972400785755780374989334257906236559397131322010520275608742338646106056619247831458689080264116282248566364980266481954463762503420121807083041201808168192175353706580401849077145088730878199610267407395397688640947830751644710680287907723773279126566214400904674657746164446830998589349514452276973124782440515745256006188220730228115749449991545664314811486085516946473668893606369480569258333028715291712565612044254609695577341787745559138184504519571193846240758015908253541911284497064565961058140101896563740925225655813101157582203 1281726236791353305230767454513901149410654923371234554279615710938070248994781951405383911986354449622883834484296982536147494777712526686946953534873455589476454421134095361373312633070051317922629467245649388981880413208629088230649397435828282739307006875760482535411983797075579303807789645687959524711524142013947234950671456881134737576614630097807242525567808764663804271315804737235546591573709476657617318453813664694278112888209796839162243449638740320100391985460894955131114192068878211247885894337083275390010423330213317086162303361001925650240730419554705824169496482663883533199923054966196723234718525112308785747118956248247346939491810404991670498820618334162693424753259215356925213736942030688714193622177635959413689322516088478111236827947289125244597078916042326856491926170763560769671534399316113219748964760084136935841308886915556127207480403992842927753132006168274485742778757200139241743876733273722199616167595414159636190966155036529922656006283170210206375059654887506435399740462140775798088984633503649694806337071225545564562162122558062083576722022484243143891121684333345935875798994777949818877368495452097355571136947279569609691987236590171375133842508035091745479345617961967989325511909702385333018290505897800401305669340459921149477153673134632137301107706693804088739523461349454490184333061444914606764590446157334856316689424539963391037901920141917433817791876208036797181715553173095203957407285243248379235778628019791047243523493881025584110813236962413533855596671398095518524241836819329529209465507300744903914590396557058868873764385892004437013521663318197540018170918340818779292113717448784966500148805728321800857606938958443409979423411178369850398061037411130663832600665620420237660590682491048999092655408502263695278326972917602019573372133033849370718823399605077720488000695484071010506313027526317131017500426205742314466951541994284304668454861919502965460488878731749853362092409168843338848151616891380889259840926682118136098294844537255411094642278710793136163903897362243245967802409778539492382469671174970594530984596681670044210042566794686226349900721941116768487816247231954348206309632885411867291717117661894328506796754281134795382459065415450689405399741659288439178998045474382752998091605661797918286720755427354847215078293644450210216477998492469760653378830282855010848346860344582287193687554111553468421905716977008718945356397606658501961762112557776374191062840433186561231438947124449154522399024229047650936986523360662171656716405790506837469337213393856967223166769864911184062553536663789269195922755135977735719856254828167074174340045748757165911087639955621547042499564777185113720000071875808262847403080722812915572495997139827662594564368587452792685941301170106296588965868416074220246044140296025210878865477525525340135153722027785208524726788605117532141473940162702587118005853785122683875009781464547467341634222775448316918999804235089529611260931803604985669196827262816541110643864293791624577196635937644733841976824681070948398634657791304116555412105777391220024492875554558174468426839866655133762786294124649208917690209914890551683215191461204430482580379546750310632569581807469445538886634529062696225369843918915452772851589882835240152033969520017863077466272928642584999072018883268717651360504513294952290980858331226333926956501176791965610597677276756650555541211036729575499330502010097234176552179723582152449322430111623956778484522403688863771130565296181505430008705047828257812244278522623943128301085855889700517484318136708499705854805823671919897134529110847134588808638526203032339450297117437171782160871044892224326278291416561908961537693889421274177683334374609691893303568551809584167043821692711492227874835724878974352067900025799 2073876615400905614158008132576585303390478723352770215987414582999438290407175201406885254978679552784141123091145271862633741775389215206652876904757589294958729007487381985444293214664756966051846183500851145348318108258156680833491875725912377793979961646660177796944151160783776402442213275571107547201447593997879484487769930807867972661535514618731786891337225187302903461429524003106556707673052588282073593025219259158603843896073778280839950622392921478148024589623390550048067955865377761753031632291652744830501152000574246126071248040373619109008717292126072490175188921342341988162579386634612072809851534833680518290289525726472951558698627536671836457653286528626450381160645406241327052376010087709370759685195693885750312535369723425201804051675372338336470982952412090008524944580771295507303494752536577644131747210968733272720475174694232245703669593240030837046305624316528291858664192097936190260157118663729740769489981597190768316242458103773000284925624493575591900246434837197244556351589463441787360244701270736372750920803380943119998526852355803135617078213880090414519619037740404113909897809743399877518578993436835613015815827637802763889885531471739638406329181508596980593097288532642826797793699615710157946546429502823872397021652625335038714870954701585606973721953390716345165570045188672604691047155421067368503685415305401335695488172205462922840480407331321719299718085033645081109291866480403733419435118699154956518734118861861756261504905487284143178028363685973370684633206958554773747712393983047929731636542080043823826974013977563973502729044255655083907106535097997553672278067273915737296581725234696649457730089852609085166271148844529664908528954810845523734366943898824346078411158433873336924776798522196681078630395691813519343488955997590322800572307156466817184441941120150930420265401300348599084263056265898843155587809680087375725482955988805303588433760541346773502219454989374170690109228289507303314466150950830205371324569197738296733594085410402796597858903388581010738273034056184238345591735590635836092495091016527092828199497504752455589250912821942785280775032482423177768819132695467340617743537008042044563164322503135232056436666715042358748619457044680613445149613014575252937857972079290850093216523150007072122924995390298302406715362825043049340741619283601367550424260040561337844552148207643968872462518205466107453165866970114352075952383145875476644680925730089503254024437369838214467265505064446530723941306272141038073911757021989747040286239634922251426361575883926327287141512210674785917296521239329602175071742826296159721092120059112112745211483682849456888912464454588923274517769796235891889941182705639287828178887998355811013189269424845038101577268267626099927239403776027291116431131368974505494337197926777224089147923366018195574275863109180848444603794991065295965190575864559589815360239395048112934046557324665692136397539320193797603724930830991853176898808369521630860519881880293478218051707403158257484222475763063315754981511317169417251715519291808315505941747588430438611178441797324493864805987956316679777231674435384100528017502441897058422891717251367257784866056389892486386986608483855591219532700025761351301211334947495425173637345663210229486291875756577260208788283448918193741410664989325336899191963202375216407263106897591314193438455640554469030719484359797852363709403212083282079732351087242322907430379333849559844720118752571787530129233083976771494903844422747719830913379705574422259075277111973457580578058980672141033229574142896720436082921573121911442798843922333220105755112195096638708930866375770200497452583610504268580887986993903696707096832073925793748877180615367707801557110463094081231609782750851594124438576650104630165169057608002 3355602852192258919388775587090486452801133646724004770267030293937508539401957152812269166965034002407024957575442254398781236553101741893599830439631044884435183428621477346817605847734808283974475650746500534330198521466785769064141273161740660533286968522420660332356134957859355706250002921259067071912971736011826719438441387689002710238150144716539029416905033951966707732745328740342103299246762064939690911479032923852881956784283575120002194072031661798248416575084285505179182147934255973000917526628736020220511575330787563212233551401375544759249447711680778314344685404006225521362502441600808796044570059945989304037408481974720298498190437941663506956473904862789143805913904621598252266112952118398084953307373329845164001857885811903313040879622661463581068061868454416865016870751534856276975029151852690863880711971052870208561784061609788372911149997232873764799437630484802777601442949298075432004033851937451940385657577011350404507208613140302922940931907663785798275306089724703679956092051604217585449229334774386067557257874606488684560688974913865219193800236364333558410740722073750049785696804521349696395947488888932968586952774917372373581872768061911013540171689543688726072442906494610816123305609318095490964836935400624273702690993085256188192024627836217744274829660084520433905093506538127094875380216865981975268275861462736192012177596745426313878382327473239153117509961241681878291007419653498937376842403942403335754512746881652803505028399368309727288841600648386904540229878356650292271954230802377458941102049380788727741564410534622842376493430147659520920628198416195093690448985614734516588695442683481615957878895580930886023878087802973074887952365989215374132427981309955009911011824054293574585367481013245680171285804194077214621815928915192342373944440190316187903265340725228650908266096784419609590576083792215974173088235885829690192434497983089608256888622460849738962708333721124024052201637458350642162617767842211094631165495879856432831888929947658207692501182099374146902176931418427484313394145369175328474964762191497687359184094186422499799293479616629011630675754423539946256635379927421688824053169893453911854881440165029560563233420996177154131078522460131302850549354673863692116856017553673603091308128811804990409645750817653149621793656469493259557219617776071128203803090323416348692899008552226256066150072317019575875071583947123071021308780752533978606443038287865877445087277803024775698704452188895685246340330501188689010898280382651918697002645425429088895698789277783294510308282075585969979850057903118871370994497962273895440948374887279186919551529431606622800000104410210470317017334573421005609941254581447550675581968721168726585685266564672700696141636855078892613180704946133587705396999785048725740381338222802434968013400891543535709429585136966056969330583596182828106664516027262176933366093180170796809056338789213159478031762095642114522724735066081382788159740173126616529716709143110019328695571696949882061419111700708049596958335998240365650350177083112432061353853365821658635671317351882668333232827822971813540017968560033309445707712356787610106106908712571688267446435936642797019556190291325036758419334554824047526581178866410877946488935546045469638325845276595123286254556377560778740482683872594054550552467715670168698243965228817648120394956817346434641317161636554502919250614248812857579062853097339557083982559057431712294042548864195744308613755487665635266034409718929225260922084753402680071319555634597400708879144836561841550713892279605220141937727396793831339933373033180354694563750721299671048381163493207372279613454655396492907166278410465605668634525963347067926560514989977399694860679014903665398653604443563086352313412374983604517236957633801 5429479467593164533546783719667071756191612370076774986254444876936946829809132354219154421943713555191166080666587526261414978328490957100252707344388634179393912436108859332261899062399565250026321834247351679678516629724942449897633148887653038327266930169080838129300286118643132108692216196830174619114419330009706203926211318496870682899685659335270816308242259139269611194174852743448660006919814653221764504504252183011485800680357353400842144694424583276396441164707676055227250103799633734753949158920388765051012727331361809338304799441749163868258165003806850804519874325348567509525081828235420868854421594779669822327698007701193250056889065478335343414127191391415594187074550027839579318488962206107455712992569023730914314393255535328514844931298033801917539044820866506873541815332306151784278523904389268508012459182021603481282259236304020618614819590472904601845743254801331069460107141396011622264190970601181681155147558608541172823451071244075923225857532157361390175552524561900924512443641067659372809474036045122440308178677987431804559215827269668354810878450244423972930359759814154163695594614264749573914526482325768581602768602555175137471758299533650651946500871052285706665540195027253642921099308933805648911383364903448146099712645710591226906895582537803351248551613475236779070663551726799699566427372287049343771961276768137527707665768950889236718862734804560872417228046275326959400299286133902670796277522641558292273246865743514559766533304855593870466869964334360275224863085315205066019666624785425388672738591460832551568538424512186815879222474403314604827734733514192647362727052888650253885277167918178265415608985433539971190149236647502739796481320800060897866794925208779355989422982488166911510144279535442361249916199885890733965304884912782665174516747346783005087707281845379581328531498084768208674839140058114817328676045565917065917917453971894911845322383002196512464927788710498194742310865747857945477083918793041300002490065077594729565483015358061004290360085487955157640449965474611722658985880959811164567459853208024780187383591691174955388544392438571796911450786905963124025454512622889029441796706901495956418045762668164792619670087711219512879697979504811916295698967688438945054713989632964453184524651961812062532570746207951452028509019294536308897961237059672495754227350363977686537451156759870224938612590522485683328237450917237423097261163898409455251123964017955380699111715172862990165969957253342215970281636773329727084810037404641665737288885060351340322060365161709621797449794286260755897146579142448473546066240788570055162040494946391299664763013114456079688912568864799393591535104369656897499882437287086838503760856719524537598874535989517738797718905122704992540420108722160878821828131154023231234718536149579659057161324257561731283705448246146905413934378587248124071855091891821766748726332575218909743102896113878851614429301415835912126449665897073235965058548542648247390236591023403497546747279100108139545641587463771365351939847315409782902065696374920747567295600954252097246849759149207162198038815779288493317249642995417409973725214798684668528998625963938946052312492326535283406542798775180627977952034580585398827792513813906303120126281209255699124617721033172383495042839826478972481893348861919391449744430918045385105507072126408962313833412457900903672036645996352355282960017460896139658795204184581879991412938391281272138762667616767531838742988571642406760938254141676945091835464458977102330394832746570858289457203817233982583943466422501940578020648969915742782732216955513574800318862916396309757312029868977572777066038265900761488054265404369302375731358037272861675437695605345107496417789477997746630263387194414680476751989025088234682406015241803 8785082319785423452935559306757558208992746016800779756521475170874455369211089507031423588908747557598191038242029780660196214881592698993852537784019679063829095864730336679079504910134373534000797484993852214008715151191728218961774422049393698860553898691501498461656421076502487814942219118089241691027391066021532923364652706185873393137835804051809845725147293091236318926920181483790763306166576718161455415983285106864367757464640928520844338766456245074644857739791961560406432251733889707754866685549124785271524302662149372550538350843124708627507612715487629118864559729354793030887584269836229664898991654725659126365106489675913548555079503419998850370601096254204737992988454649437831584601914324505540666299942353576078316251141347231827885810920695265498607106689320923738558686083841008061253553056241959371893171153074473689844043297913808991525969587705778366645180885286133847061550090694087054268224822538633621540805135619891577330659684384378846166789439821147188450858614286604604468535692671876958258703370819508507865436552593920489119904802183533574004678686608757531341100481887904213481291418786099270310473971214701550189721377472547511053631067595561665486672560595974432737983101521864459044404918251901139876220300304072419802403638795847415098920210374021095523381273559757212975757058264926794441807589153031319040237138230873719719843365696315550597245062277800025534738007517008837691306705787401608173119926583961628027759612625167363271561704223903597755711564982747179765092963671855358291620855587802847613840640841621279310102835046809658255715904550974125748362931930387741053176038503384770473972610601659881373487881014470857214027324450475814684433686789276271999222906518734365900434806542460486095511760548688041421202004079967948587120813827975007548461187537099192990972622570608232236797594869187818265415223850330791501764281451746756110351951954984520102211005463046251427636122431622218794512503206208587639701686635252394633655560957451162397371945305719211982861267587329304542626896893039206972380026328986493042424615399522467546567685877597455187837872055200808542126541329503070282089892550310718265849876794949868272927202833194353182903508707396667010776501964943219146248322362302637171570007186638056275832780773617052942216497025604601650302675764029568455180854835743623958030440687394035230350165312096481004762662839505259203309034864360494118569944650943433857567002305821258144198992975887765864674409442237901216621967274518416095708317787293584434291530485780429217759154439492916307758076361846725876996637045567344917060738750843950602988869833670486584314542546062702488912673275009863908552438943077903109823691868534389179342825440693264184559802554190439493860541977783885153600813668294466527225130939071956975099874372382094025174725149105266993135033383112962383264962183430952178519607919083943682092425755389706552159234903092011092461063511478026649174400963154618753218288715774863919953300166513516875442850797058021607060699164479414948898183313650148552415873458033179628649454320073755882521076501089830531271643602260306857267611555450719419432927155472278635105534676510634319758928263178080426098989066505664736371369135409446354373692680317181066615216755301168762943566309767506781297396204039751222376032734513446000296898633715553803751037355226610434228369275247338313353807632906858202210631709708997237858057281921437075395497448712984432805216480963276147356744059308042026972663860606170352757549212379782401714388381168258998336348653795824134657358702107160719958376366709574122665589988693929494882613637695980805693193362184945056679492921297254395220543814834908044365884000619929601998210595322507191278468492901412028916991637977766829065401400071839199642972875604 14214561787378587986482343026424629965184358386877554742775920047811402199020221861250578010852461112789357118908617306921611193210083656094105245128408313243223008300839196011341403972533938784027119319241203893687231780916670668859407570937046737187820828860582336590956707195145619923634435314919416310141810396031239127290864024682744076037521463387080662033389552230505930121095034227239423313086391371383219920487537289875853558144998281921686483460880828351041298904499637615633682355533523442508815844469513550322537029993511181888843150284873872495765777719294479923384434054703360540412666098071650533753413249505328948692804497377106798611968568898334193784728287645620332180063004677277410903090876530612996379292511377306992630644396882560342730742218729067416146151510187430612100501416147159845532076960631227879905630335096077171126302534217829610140789178178682968490924140087464916521657232090098676532415793139815302695952694228432750154110755628454769392646971978508578626411138848505528980979333739536331068177406864630948173615230581352293679120629453201928815557136853181504271460241702058377176886033050848844225000453540470131792489980027722648525389367129212317433173431648260139403523296549118101965504227185706788787603665207520565902116284506438642005815792911824446771932887034993992046420609991726494008234961440080662812198414999011247427509134647204787316107797082360897951966053792335797091605991921304278969397449225519920301006478368681923038095009079497468222581529317107454989956048987060424311287480373228236286579232302453830878641259558996474134938378954288730576097665444580388415903091392035024359249778519838146789096866448010828404176561097978554480915007589337169866017831727513721889857789030627397605656040084130402671118203965858682552425698740757672722977934883882198078679904415987813565329092953956026940254363908445608830440327017663822028269405926879431947533388465242763892563911142120413536823368954066533116785605428293694636145626035045891962854960663780216273221353075284462183076862367650929631365907288797657609884468607547247733951277568772410576382264493772605453577328235466194307544405173199747707646583696445824690972965501359145802573596418616179890474481469755135441947290050741582226283996819602509460357432735429115474787243233556053678811695058565877353142091895416119712257791051371721767801322071966705943375253361990942531546485781597917215831108549352889108690966323776638843310708148750756030644366695580117186903604047848143180518355191935250171580415546131769539819519601202538105207870648107481774143216188015818463126979539414005765029364780061786249077555660518782177825242139809257500087543312734800609706129155621227683103682160217801783434338543708178291579447100488877694020922390455345349053262093095188209818410521961753082336049406666998276840481629259867797199340770679076250374699810905710430818758330608616295262131016970862706890364927313938775624066860227854718276837258423111310189891189917014422190129897166161152702286628250780300838030629059931454481569832953927195945055274325853129370835650296992729310459381548800174517254550868129393158141954156947164104160640449580372071420589713363832641787841686292714323403715994845182166206494223484186741497964556867887561287342939890276340236030518723704269381596432837450041329551760938909258109481635572748061781733148241985390453629259213485170649170605136896653261466503317066808435839994256571567884097730807986099732630950448787910918002283115444593013671356884732109221127739117287793552471029806718600825124609101297979025336625316905397806944207504295201476554092290563005223231162517833745531187198015883274809219204210420097242037892791277435906200667614687696257970899158659180378832392447305817390425160073882048988117407 22999644107164011439417902333182188174177104403678334499297395218685857568231311368282001599761208670387548157150647087581807408091676355087957782912427992307052104165569532690420908882668312318027916804235056107695946932108398887821181992986440436048374727552083835052613128271648107738576654433008658001169201462052772050655516730868617469175357267438890507758536845321742249048015215711030186619252968089544675336470822396740221315609639210442530822227337073425686156644291599176040114607267413150263682530018638335594061332655660554439381501127998581123273390434782109042248993784058153571300250367907880198652404904230988075057910987053020347167048072318333044155329383899825070173051459326715242487692790855118537045592453730883070946895538229792170616553139424332914753258199508354350659187499988167906785630016873187251798801488170550860970345832131638601666758765884461335136105025373598763583207322784185730800640615678448924236757829848324327484770440012833615559436411799655767077269753135110133449515026411413289326880777684139456039051783175272782799025431636735502820235823461939035612560723589962590658177451836948114535474424755171681982211357500270159579020434724773982919845992244234572141506398070982561009909145437607928663823965511592985704519923302286057104736003285845542295314160594751205022177668256653288450042550593111981852435553229884967147352500343520337913352859360160923486704061309344634782912697708705887142517375809481548328766090993849286309656713303401065978293094299854634755049012658915782602908335961031083900419873144075110188744094605806132390654283505262856324460597374968129469079129895419794833222389121498028162584747462481685618203885548454369165348694378613441865240738246248087790292595573087883701167800632818444092320208045826631139546512568732680271439122420981391069652526986596045802126687823143845205669587758776400332204608469410578138621357881863952049744393928289015320200033573742632331335872160275120756487292063546089269801186992497054360226905969499428256082620662613766725703759260690136603745933617784150652309084007069715280518963446369865764220136548973413995703869564969264589634297723510465973496460491395692963900168334553498985477105126012846901250983434698354588195612413044219397854004006240565736190213509046168417003740259160655329114370822595445808322946731159743670288231738765756998151487384063186948137916201496201734855520645958411334401053200296322966257968629597896987509701124638521895318776137818018403525571322366559276226672979228834605871946031912198757578674040695454412965947009954207651139853233583163380187718290257956368018234613732272833392098206581484666737915414819121408639982255812703719529821024155616862446507600911065967994141097898617785439989078272762847621736058749811876278393032167145184918284894343847107510774555772265269975515012372830180464302954110028428894307729989654112911184085998322847421365920062873799351428438791965424798467823382473471495125974197975230143191356430531297632980694224182759762985792730195249736213942710080006897443290987106824594509594399609011891912151386823260582102983809107031784866106318848812591069109629225799209695316960214691830348852891444258740776908191957450694772851404291536539899174540665253356714719858036650504853652707397057637632234558474926645414330946283450338228185476492713009146836862183182290151008395580298744261262166071687381280880314134134511318748424754142203933288707241004373100578694084133456476690258490814883581862889285797350562883736667133823609508907376286129901124825630853258183826716262017937401703334891028063396932901433790084090191788271368698416593347462890425024108495270278495353034039118464463126038512720879434116795990121878974726463800570688097370470370214134882791825231913081691960993011 37214205894542599425900245359606818139361462790555889242073315266497259767251533229532579610613669783176905276059264394503418601301760011182063028040836305550275112466408728701762312855202251102055036123476260001383178713025069556680589563923487173236195556412666171643569835466793727662211089747928074311311011858084011177946380755551361545212878730825971169791926397552248179169110249938269609932339359460927895256958359686616074873754637492364217305688217901776727455548791236791673796962800936592772498374488151885916598362649171736328224651412872453619039168154076588965633427838761514111712916465979530732405818153736317023750715484430127145779016641216667237940057671545445402353114464003992653390783667385731533424884965108190063577539935112352513347295358153400330899409709695784962759688916135327752317706977504415131704431823266628032096648366349468211807547944063144303627029165461063680104864554874284407333056408818264226932710524076757077638881195641288384952083383778164345703680891983615662430494360150949620395058184548770404212667013756625076478146061089937431635792960315120539884020965292020967835063484887796958760474878295641813774701337527992808104409801853986300353019423892494711545029694620100662975413372623314717451427630719113551606636207808724699110551796197669989067247047629745197068598278248379782458277512033192644664633968228896214574861634990725125229460656442521821438670115101680431874518689630010166111914825035001468629772569362531209347751722382898534200874623616962089745005061645976206914195816334259320186999105446528941067385354164802606525592662459551586900558262819548517884982221287454819192472167641336174951681613910492514022380446646432923646263701967950611731258569973761809680150384603715281306823840716948846763438412011685313691972211309490352994417057304863589148332431402583859367455780777099872145923951667222009162644935487074400166890763808743383997277782393531779212763944715863045868159241114341653873272897491839783905946813027542946323081866633279644529303973737898228908780621628341066235111840906581808262193552614616963014470241015142276340602401042746019449281197800435458897178702896710213681143044187841517654873133835912644788050701544629026791725464904453490030142902463785801624138000825843075196547646244475283891790983492716709007926065881161323161465038626575863382546022790137478765952809456029892891513169563487144266402006427556328550232161749649212074948934953374535830820409273389277925963142833398135590429175370214702456745028171164084777452361578043968297398193641897992518173817658061689425283069421598981843314697829671962133047599393794059082469653867100266844563157554628378908727525568547504329235950179776844545550189761128867751428479641606796077019436178761640541642658449205157225331655125262333394736695416305600189846823962439263546815996641632697977663643724789104679269007540895364543729942416606939142683496937033736506241793366105904200422534683610328189771963232621086540333082546347545719823110591390343912465272420980975550574244571770011461379013123941034020539564868725462141262747801683815989892562365357907206302120657186978205749211063786172963313855957409795063901769442604808091382564749878250165018176567399136718706105668764149440098212684414904538066140995647287333977868265077198630914795927379120900379557737237431622267256318497755930351932741543822284134714891425285172551930050919271031164580214928071209012369128701497575940984676424892119556209321208939602794499865172401241943576555093551865932830636646493573923453595855437571859008951325363315916427039960207933461203877108938085285566745880561931703639824509980724170555295693286161770162253243328884560368076405512156870022996657736566670984434699729347277749302762661440700182250391986963740949110418 60213850001706610865318147692789006313538567194234223741370710485183117335482844597814581210374878453564453433209911482085226009393436366270020810953264297857327216631978261392183221737870563420082952927711316109079125645133468444501771556909927609284570283964750006696182963738441835400787744180936732312480213320136783228601897486419979014388235998264861677550463242873990428217125465649299796551592327550472570593429182083356296189364276702806748127915554975202413612193082835967713911570068349743036180904506790221510659695304832290767606152540871034742312558588858698007882421622819667683013166833887410931058223057967305098808626471483147492946064713535000282095387055445270472526165923330707895878476458240850070470477418839073134524435473342144683963848497577733245652667909204139313418876416123495659103336994377602383503233311437178893066994198481106813474306709947605638763134190834662443688071877658470138133697024496713151169468353925081405123651635654122000511519795577820112780950645118725795880009386562362909721938962232909860251718796931897859277171492726672934456028783777059575496581688881983558493240936724745073295949303050813495756912695028262967683430236578760283272865416136729283686536092691083223985322518060922646115251596230706537311156131111010756215287799483515531362561208224496402090775946505033070908320062626304626517069521458781181722214135334245463142813515802682744925374176411025066657431387338716053254432200844483016958538660356380495657408435686299600179167717916816724500054074304891989517104152295290404087418978590604051256129448770608738916246945964814443225018860194516647354061351182874614025694556762834203114266361372974199640584332194887292811612396346564053596499308220009897470442980176803165007991641349767290855758620057511944831518723878223033265856179725844980217984958389179905169582468600243717351593539425998409494849543956484978305512121690607336047022176321820794532963978289605678199495113274616774629760189555385873175748000020040000683308772602779072785386594400511995634484380889031202838857774524365958914502636621686678294989204461512142104822537591719433444985067365404723486813000620220679654639504679237210618773302170466143773527806670641873692976448339151844618338514876830021021992004832083640932737859753521452308794723751877364337040436703756768969787985357735607052834254528903235764104296840093079839651085764983346001257527073514739884633214949945535041206903582972432818330110398027799821281918971216153993954746692581261732971701150392919383324307609956167054976867682593446931139764668015897076422922655182145223502416119929918501065834007526331915861752073681751511301072969447500317367507824360208048765771203932461407996697362039933719422620739505413862459425257034403389264394507954969101610048157429478579654980310649447297357598518211528816791511654005528158127946678899133108163315270885018656641126502605261990104862857096610305593221804897869625221002506992801661267089206819061770476273902778077017456091285614526672228258213711170800310458514480091468276456414928140845134074463125071153154659953070639250474665349167014238086986763505827018340280173415398762523551274370009755732118295496252350123341658070207615712949418803428255246004843304814693454927404272941188570994648354684391615500499635673557560210258325404350717785922713924335276403155359939112642083749939402582878976153591356859933210931233405165675898963352825351216302417408738580314085255118976253012686011467430417678081728061687039294139438830218999756440145553869860053354720681068425117192778041625333853828743295098961524600810010371875369656937668833300402056417857443614595579404188556440265515287282447349023494114918233036304139792647858445645710898500300035375119773132875575582974075623900045432910103429 97428055896249210291218393052395824452900029984790112983444025751680377102734377827347160820988548236741358709269175876588644610695196377452083838994100603407602329098386990093945534593072814522137989051187576110462304358158538001182361120833414782520765840377416178339752799205235563062998833928864806623791225178220794406548278241971340559601114729090832847342389640426238607386235715587569406483931687011400465850387541769972371063118914195170965433603772876979141067741874072759387708532869286335808679278994942107427258057954004027095830803953743488361351726742935286973515849461581181794726083299866941663464041211703622122559341955913274638725081354751667520035444726990715874879280387334700549269260125626581603895362383947263198101975408454497197311143855731133576552077618899924276178565332258823411421043971882017515207665134703806925163642564830575025281854654010749942390163356295726123792936432532754545466753433314977378102178878001838482762532831295410385463603179355984458484631537102341458310503746713312530116997146781680264464385810688522935755317553816610366091821744092180115380602654174004526328304421612542032056424181346455309531614032556255775787840038432746583625884840029223995231565787311183886960735890684237363566679226949820088917792338919735455325839595681185520429808255854241599159374224753412853366597574659497271181703489687677396297075770324970588372274172245204566364044291512705498531950076968726219366347025879484485588311229718911705005160158069198134380042341533778814245059135950868196431299968629549724274418084037132992323514802935411345441839608424366030125577123014065165239043572470329433218166724404170378065947975283466713662964778841320216457876098314514665327757878193771707150593364780518446314815482066716137619197032069197258523490935187713386260273237030708569366317389791763764537038249377343589497517491093220418657494479443559378472402885499350720044299958715352573745727923005468724067654354388958428503033087047225657081694813047582947006390639236058717314690568138410224543265002517372269073969615430947767176696189236303641309459445476654418445424938634465452894266265165840182383991703516930893335782548867078728273646436006378788561578508215270900484701913243605334648481417340615822646130005657926716129285505997996736200585707244594073344966502584918092131253023984311470435380277319040714530057106296122972731164255328470490267659533501071068434865376699594747116155838536346968649150519671417077747245061804614289584383922062795964189716729321557004160776669188000135352375061324491439449313582326077586501705992076781127066817113949601880634113433401320390998331405940782018355864230524075879226095033392907712378001721383709305953546887123168801470851100381112209939478861435796043930907052957160126326941703282691811974391675726955047487204422480650792363607508295638226135791590403688237787432322811780383200371068919212201132788359794130346811835015171003773825643537190603129851039052439440148310809356449125622737279201877004870584693530634692146350884703086250102929655469538869174865673639331850533294417407754754455240367227714524921444389107420692805224089491237201571725837407231779804819633887738101060441505906407948457780731125986202564973952110512068964133553140088687845726637135644001971725593368764712872188475006185704525251097343659951355957543659473857695042994016491483224867013691045016642032485140982152676196840479178280896560228671546110236156255069931543868372568895332676370020472581593234088281237715993923770865689270782200363433976808316536505996976201729366988649770255783255306894985804687119309960655223683549395232105696242367424338766134699881842602035677540525776233583862191323745193174162789305595012316695333200029382652869075895537016283156326015887009173859213847 157641905897955821156536540745184830766438597179024336724814736236863494438217222425161742031363426690305812142479087358673870620088632743722104649947364901264929545730365251486128756330943377942220941978898892219541430003292006445684132677743342391805336124342166185035935762943677398463786578109801538936271438498357577635150175728391319573989350727355694524892852883300229035603361181236869203035524014561873036443816723853328667252483190897977713561519327852181554679934956908727101620102937636078844860183501732328937917753258836317863436956494614523103664285331793984981398271084400849477739250133754352594522264269670927221367968427396422131671146068286667802130831782435986347405446310665408445147736583867431674365839802786336332626410881796641881274992353308866822204745528104063589597441748382319070524380966259619898710898446140985818230636763311681838756161363958355581153297547130388567481008310191224683600450457811690529271647231926919887886184466949532385975122974933804571265582182221067254190513133275675439838936109014590124716104607620420795032489046543283300547850527869239690877184343055988084821545358337287105352373484397268805288526727584518743471270275011506866898750256165953278918101880002267110946058408745160009681930823180526626228948470030746211541127395164701051792369464078738001250150171258445924274917637285801897698773011146458578019289905659216051515087688047887311289418467923730565189381464307442272620779226723967502546849890075292200662568593755497734559210059450595538745113210255760185948404120924840128361837062627737043579644251706020084358086554389180473350595983208581812593104923653204047243861281167004581180214336656440913303549111036207509269488494661078718924257186413781604621036344957321611322807123416483428474955652126709203355009659065936419526129416756553549584302348180943669706620717977587306849111030519218828152344023400044356777915007189958056091322135037173368278691901295074402267149467663575203132793276602611530257442813067622947689699411838837790100077162538922220177749383406403471912827389955313726091198825857990319604448649938166560550247476226184886339251332531244905870804704137151572990422053546315938892419738176844932335106314885912774177678361582757179266819932217445843668122010490010357062023365751518188509380430996471437682006939288674861101041009342047077488214531847943950294161403136216052570815341093453836268917060574585808319498591649540282157362742119319401467480630069444877568526980775830443578338668755377225922688430471949923544100976797956302407351929007084886380453346994093483578128914731963272290319530069531799135179267408846722914193158014463769867165303493523379543462541217267920426767492587641767361543584485208735190273721120617623801938286692830447320171447465115095428551751440121290554046656037604494784562020998862321180399019949643754293919537082587370895595638082665401857012195421817463122893222651226957117428236975901643450864539697595931512306141646259210081285630351903699754735293162619397256921788848403317151195161600730194397931925953797315710807713794975604447572067707825094490841893063691935682476094184198632242429771410616970488360958506149814575366006033597312791629248066018665396444075405005993229198115355373778827008067492960786915208130292356656117208869264348545746035216444029929601815129582665280292820062629217634155636100241422627449892667198607998892418351913386081362516378141633721911444973963518974736569155186662844625581581344143800438150663321295775320531855432753989865445710927754233294030163037217574422093394507408613983624084526550405856510405497129681836024880621218228532507752660224867953361714104070399042301192827808223582607356306241978229478302581953453457962406231700329418027988849028412591866130401639787054606769317276 255069961794205031447754933797580655219338627163814449708258761988543871540951600252508902852351974927047170851748263235262515230783829121174188488941465504672531874828752241580074290924016192464358931030086468330003734361450544446866493798576757174326101964719582363375688562148912961526785412038666345560062663676578372041698453970362660133590465456446527372235242523726467642989596896824438609519455701573273502294204265623301038315602105093148678995123100729160695747676830981486489328635806922414653539462496674436365175811212840344959267760448358011465016012074729271954914120545982031272465333433621294257986305481374549343927310383309696770396227423038335322166276509426702222284726698000108994416996709494013278261202186733599530728386290251139078586136209040000398756823147003987865776007080641142481945424938141637413918563580844792743394279328142256864038016017969105523543460903426114691273944742723979229067203891126667907373826109928758370648717298244942771438726154289789029750213719323408712501016879988987969955933255796270389180490418308943730787806600359893666639672271961419806257786997229992611149849779949829137408797665743724114820140760140774519259110313444253450524635096195177274149667667313450997906794299429397373248610050130346715146740808950481666866966990845886572222177719932979600409524396011858777641515211945299168880476500834135974316365675984186639887361860293091877653462759436436063721331541276168491987126252603451988135161119794203905667728751824695868939252400984374352990172346206628382379704089554389852636255146664870035903159054641431429799926162813546503476173106222646977832148496123533480462028005571174959246162311939907626966513889877527725727364592975593384252015064607553311771629709737840057637622605483199566094152684195906461878500594253649805786402653787262118950619737972707434243658967354930896346628521612439246809838502843603735250317892689308776135622093752525942024419824300543126334803822052533631635826363649837187339137626115205894696090051074896507414767730677332444721014385923775740986797005386261493267895015094293960913908095414820978995672414860650339233517597697085088254796407654082466326204602413394667166066174183223720896684823101183674662380274826362513915301349558061666314252016147937073191308871749514924709966138241065511026973441873592953232294033326358547923594809166984664824218509432339025301979596421924326536576594075656876754363968349135029273518580655666370116631149740861955315772042580444733162722590818173190112405159793506927704877645985956437759726990331576325829766929320171070079834906808744399357136644019133679769292700810167113912524563955245788223029534017599258769557574610175632804769213971351073315090471608377536661124821501729833741417148128626491251078500422275221755493454722813102528438331764559542271766443479513113544006528245281980429711127486275608683027960894445785057383264341029664255681582445357303929263252146905417276508076888199061363345194085699358392094986801029322492014495039624267841615319483095463502079864686980297327587395492666490576481353126826137741989475462579549731209120778216857126865201604891437466519262647818542214198365737929619394999893771698373233135154473967123177175201391208558203150225867442742960561207581648632641845265936358627842802238029061417934510222629734454852912473242616636250363722103075329198630116732905852316906358243624640924903492895538757559356857319914618471673645509629210892824225118206712998150476676820170458623244914529863601769571426677760731134981709954596728006971353754080419069596236775602633394340309805712751496210184248991796680104304767623764613448902592292292127848803952241644336870368333999816191218497565723422652465371259048470279101564900358800680857924923949608149286727655674063780628531123 412711867692160852604291474542765485985777224342838786433073498225407365979168822677670644883715401617352982994227350593936385850872461864896293138888830405937461420559117493066203047254959570406579873008985360549545164364742550892550626476320099566131438089061748548411624325092590359990571990148467884496334102174935949676848629698753979707579816183802221897128095407026696678592958078061307812554979716135146538738020989476629705568085295991126392556642428581342250427611787890213590948738744558493498399645998406765303093564471676662822704716942972534568680297406523256936312391630382880750204583567375646852508569751045476565295278810706118902067373491325003124297108291862688569690173008665517439564733293361444952627041989519935863354797172047780959861128562348867220961568675108051455373448829023461552469805904401257312629462026985778561624916091453938702794177381927461104696758450556503258754953052915203912667654348938358436645473341855678258534901765194475157413849129223593601015795901544475966691530013264663409794869364810860513896595025929364525820295646903176967187522799830659497134971340285980695971395138287116242761171150140992920108667487725293262730380588455760317423385352361130553067769547315718108852852708174557382930540873310873341375689278981227878408094386010587624014547184011717601659674567270304701916432849231101066579249511980594552335655581643402691402449548340979188942881227360166628910713005583610764607905479327419490682011009869496106330297345580193603498462460434969891735285556462388568328108210479229980998092209292607079482803306347451514158012717202726976826769089431228790425253419776737527705889286738179540426376648596348540270063000913735234996853087636672103176272251021334916392666054695161668960429728899682994569108336322615665233510253319586225312532070543815668534922086153651103950279685332518203195739552131658074962182526243648092028232899879266832226944228789699310303111725595617528601953289716108834768619640252448717596580439182828842385789462913734297514844893216254664898763769330179212899624395341575219359093840952284280518356745352987539545919891086835225572768930228329994125601111791234039316626655959710606058485912360068653231791137987096448840058636409119693182121281775507509982374026637947430253332237501033113219346569237536948708980381162267814333335042668405625411809341014928615118379912568555077872794937515378162805493654650242685073862559998675311430881322774985771584111779810306832884299023356275176741061259573550416035093590265456851248978622783912740167078919338661212210220276314264553657963821540707671647456174088665478904471968219013836826717721969709558090194837511122638313020115827443553231536706558992840676634056093586271851398542622347457543355434821456938571249947887390317184045206162934393082484987802164037056328464478375434724405548194925734723630664568862979578623598977111186914395459762847127378574805096584261046691489122807060727372616585794992875651335731958568473380617152933022246749788202243665098537108331498780653275026287710491725519321446463806287289066921801742189561543170404644222051013841908792809341295789090069708949034058435512702559324244079433970365899805295686024764402539985788573619276796214551432348341222816521787569275074609419557053396228715283960011107293409963680545439073764384454727602825281916543183784732292963354266216974328479766799025442232639817321844808924838921873235461548340383118619473148185629393380304869557623732058020963970896773908235825638922301426859431750596580692637708830022037134390971654841162990744184216617018424836356118608006615681378673632704984925985852297121201562817160245489562908022640686638063196142223398798574803807701652130767953212501928241507796600688218708846773952362200015417129295461118387397848399 667781829486365884052046408340346141205115851506653236141332260213951237520120422930179547736067376544400153845975613829198901081656290986070481627830295910609993295387869734646277338178975762870938804039071828879548898726193095339417120274896856740457540053781330911787312887241503321517357402187134230056396765851514321718547083669116639841170281640248749269363337930753164321582554974885746422074435417708420041032225255099930743883687401084275071551765529310502946175288618871700080277374551480908151939108495081201668269375684517007781972477391330546033696309481252528891226512176364912022669917000996941110494875232420025909222589194015815672463600914363338446463384801289390791974899706665626433981730002855458230888244176253535394083183462298920038447264771388867619718391822112039321149455909664604034415230842542894726548025607830571305019195419596195566832193399896566628240219353982617950028897795639183141734858240065026344019299451784436629183619063439417928852575283513382630766009620867884679192546893253651379750802620607130903077085444238308256608102247263070633827195071792079303392758337515973307121244918236945380169968815884717034928808247866067781989490901900013767948020448556307827217437214629169106759647007603954756179150923441220056522430087931709545275061376856474196236724903944697202069198963282163479557948061176400235459726012814730526652021257627589331289811408634071066596343986796602692632044546859779256595031731930871478817172129663700011998026097404889472437714861419344244725457902669016950707812300033619833634347355957477115385962360988882943957938880016273480302942195653875768257401915900271008167917292309354499672538960536256167236576890791262960724217680612265487428287315628888228164295764433001726598052334382882560663261020518522127112010847573236031098934724331077787485541824126358538193938652687449099542368073744097321772021029087251827278550792568575608362566322542225252327531549896160654936757111768642466404446003902285904935718065298034737081879513988630804929612623893587109619778155253954953886421400727836712626988856046578241432264840767808518541592305947485564806286527925415082380397519445316505642831258373105273224552086543292374128475961088280123502438911235482207097422631333569176296626042785884503444641109250548037929312707478602459735953823035860767565629075994764173335404150181913279942598422000894103174774533937302489342070248725899561828226528347810340704399903430652141700742929551168788200071065936719909903783850391723606147498750058963778953856268769869177926805909670237538039987205634435623737798728349452071004592818107799158673764669029180950739242285924955346313224371528721897082577690437619186036305920530343913991724527701963808512523364124077291284772582950083429822328448309665538939538660885747495610923319566723579328094907957888548268412076440207715153341792055138588261651559871556971971778724103876791634256387541941564975954741269712478003880693473994054238996529817657926865475603953962344738764283241867932940152427814594244155354890974690789053106716939130296863770420048627879931551018632984193953260134620125649936206497393981507175468296706254054916757689982009053365365793576994059257899557013952911750794478187423109635498567090259264748130482656258052198898662165073911802813345322471381615055661703498839307640076067898552793547506835368292552896333707234332083705383685857280742225337704463596481230092781462958854792264982777396522217605423076270621882534697784141355397153150355502524070998286109511327715674347663426750044105744725735260232586980959819250412765146161831359502825865627665429385089230753476061734650465409452537617411711974882330974933564476223214989793301373425074783233324471550398520609361501047019389704698876311808164703856951135182168026379522 1080493697178526736656337882883111627190893075849492022574405758439358603499289245607850192619782778161753136840202964423135286932528752850966774766719126316547454715946987227712480385433935333277518677048057189429094063090935646231967746751216956306588978142843079460198937212334093681507929392335602114552730868026450271395395713367870619548750097824050971166491433337779861000175513052947054234629415133843566579770246244576560449451772697075401464108407957891845196602900406761913671226113296039401650338754493487966971362940156193670604677194334303080602376606887775785827538903806747792772874500568372587963003444983465502474517868004721934574530974405688341570760493093152079361665072715331143873546463296216903183515286165773471257437980634346700998308393333737734840679960497220090776522904738688065586885036746944152039177487634816349866644111511050134269626370781824027732936977804539121208783850848554387054402512589003384780664772793640114887718520828633893086266424412736976231781805522412360645884076906518314789545671985417991416973680470167672782428397894166247601014717871622738800527729677801954003092640056524061622931139966025709955037475735591361044719871490355774085371405800917438380285206761944887215612499715778512139109691796752093397898119366912937423683155762867061820251272087956414803728873530552468181474380910407501302038975524795325078987676839270992022692260956975050255539225214156769321542757552443390021202937211258290969499183139533196118328323442985083075936177321854314136460743459131405519035920510512849814632439565250084194868765667336334458115951597219000457129711285085104558682655335677008535873806579047534040098915609132604707506639891704998195721070768248937590604559566650223144556961819128163395558482063282565555232369356841137792345521100892822256411466794874893456020463910280009642144218338019967302738107625875755396734203555330899919306783692447842440589510551331924562630643275491778183538710401484751301173065644154734622532298504480863579467668976902365102444457517109841774518541924584134166786045796069411931986082696998862521950621586120796058087512197034320790379055458153745076505998631236550544959457914332815879283037998903361027360267099075376572342497547644601900279543913109076686279000069423831933697973346751581151148659276716139408444934204198128581898964118663169798747213491196841895060978334569449181047569471452680652147563903376142246902089088346485652135281226205637913284854709361475621084370089292995086644845109965274022182592340324420630202834891553781918093884829008898750250207481948700177395762549890159742652048992196464637578236637248194787565960007894664904403419209039844535395597806265062739267842627089336754668358583795550080363921906746424748828128017771540368393578396197055856123583867048681888693408307368887616384423372436263982992817624635133449876972456624001567840275158848668158886174183866723919012831192638525826022646230392519538731253310059789047114647865549616495338856221106895366985514071444111598038689536146093024808629917262401280778626038385594103151059486970429622121112561803388838175311148462034442745547793183071576884417330764689567619317014226088487335731693382289745282663959553938700324413754983637661067846908313075786535699757730867471755952058393789195762824452615881345295601100777263223762367678893180469336731291567661255907162550681562811850504409128089920559547182513388435403103328243011299237910884455925582151610985727945828245614592718748112252171061386181141446372425145541261924296366985372256772081240135697390101395577725144035867431189982517949967509441547006339062090074156739328358855852028226612783106974619997523017612996760618446613788368105181126726914001277684052326762117158101735238098551472828674008180120986246596300555424227921 1748275526664892620708384291223457768396008927356145258715738018653309841019409668538029740355850154706153290686178578252334188014185043837037256394549422227157448011334856962358757723612911096148457481087129018308642961817128741571384867026113813047046518196624410371986250099575597003025286794522736344609127633877964593113942797036987259389920379464299720435854771268533025321758068027832800656703850551551986620802471499676491193335460098159676535660173487202348142778189025633613751503487847520309802277862988569168639632315840710678386649671725633626636072916369028314718765415983112704795544417569369529073498320215885528383740457198737750246994575320051680017223877894441470153639972421996770307528193299072361414403530342027006651521164096645621036755658105126602460398352319332130097672360648352669621300267589487046765725513242646921171663306930646329836458564181720594361177197158521739158812748644193570196137370829068411124684072245424551516902139892073311015118999696250358862547815143280245325076623799771966169296474606025122320050765914405981039036500141429318234841912943414818103920488015317927310213884974761007003101108781910426989966283983457428826709362392255787853319426249473746207502643976574056322372146723382466895288842720193313454420549454844646968958217139723536016487996991901112005798072493834631661032328971583901537498701537610055605639698096898581353982072365609121322135569200953372014174802099303169277797968943189162448316355269196896130326349540389972548373892183273658381186201361800422469743732810546469648266786921207561310254728028325217402073890477235273937432653480738980326940057251577279544041723871356888539771454569668860874743216782496261156445288448861203078032846882279111372721257583561165122156534397665448115895630377359659919457531948466058287510401519205971243506005734406368180338156990707416402280475699619852718506224584418151746585334485016418048952076873874149814958174825387938838475467513253393767577511648057020527468016569778898316549548490890995907374070141003428884138320079838089120672467196797248644613071553045440763382886426888604576629104502981806355185341986079160158886396150681867050602289172705921152507590085446653401488743060163656695844936458880084107376966544442645862575626112209716437142614456002129189077971984194741868180888027233989349464593194657933972082617641378755175003576756570343284222344005389983141489634152102041808730315616694295992839681129636290054985597638912644409284441155229714996548628960356997628330091090383384409156691160323651096020690738679136288290194687583135801133561278239611813656641810304263796252001306277375738305202293819620250716643580568566432478175496702681925304148547619680668660083111497513888876445270870502040112900600721623798215906844506721395063122527934429384304331626935611195712518280394152531261229701075341165030314248679140156101926718720225130857952907970600710647087580180467390998600971662232016735134003533783101353644395367274422204331825060857711724278354685979530978841963960687268963984808237092069831732755324724400014829907019057502052663580436373032128571283082160092681754290577053084059885627470943622536074704208097540701097486959283804540563516567891612075208233171060770703345475403335051283830240387125523954850720558863107565637797938352726910656762480762063070007754961079022130278798403029548460058884388797143934209792813947201301772520217852031884333421024474258092703149438702978673828591151022098867497127416532253607568214536536643970443423431650773252012041333035683522125345880423125361628164706103855117843955128679781327012267412634004491475163387492804420590502493636065320724386331972405348587930325094669828778161406554551801697234602155602725282726519602782257488256171704985816344824843197731482723450607443 2828769223843419357364722174106569395586902003205637281290143777092668444518698914145879932975632932867906427526381542675469474946713796688004031161268548543704902727281844190071238109046846429425976158135186207737737024908064387803352613777330769353635496339467489832185187311909690684533216186858338459161858501904414864509338510404857878938670477288350691602346204606312886321933581080779854891333265685395553200572717744253051642787232795235077999768581445094193339381089432395527422729601143559711452616617482057135610995255996904348991326866059936707238449523256804100546304319789860497568418918137742117036501765199351030858258325203459684821525549725740021587984370987593549515305045137327914181074656595289264597918816507800477908959144730992322035064051438864337301078312816552220874195265387040735208185304336431198804903000877463271038307418441696464106084934963544622094114174963060860367596599492747957250539883418071795905348845039064666404620660720707204101385424108987335094329620665692605970960700706290280958842146591443113737024446384573653821464898035595565835856630815037556904448217693119881313306525031285068626032248747936136945003759719048789871429233882611561938690832050391184587787850738518943537984646439160979034398534516945406852318668821757584392641372902590597836739269079857526809526946024387099842506709881991402839537677062405380684627374936169573376674333322584171577674794415110141335717559651746559299000906154447453417815538408730092248654672983375055624310069505127972517646944820931827988779653321059319462899226486457645505123493695661551860189842074454274394562364765824084885622712587254288079915530450404422579870370178801465582249856674201259352166359217110140668637406448929334517278219402689328517715016460948013671127999734200797711803053049358880543921868314080864699526469644686377822482375328727383705018583325495608115240428139749051665892118177464260489541587425206074377588818100879717022014177914738145068750577292211755150000315074259761896017217467793361009818527658113270658656862004422223287458512992866660576599154250044303285333508013009400634716616700016127145564397444232905235392394781918417595561747087038737031790628084350014428849010159239033268187434006524686007656510457551722548854626181633548370840587802753710340226631260910881276625822231432117931363557313321103770829831132575597070064555091139792465269913476842663793637198055478184055632404705040781644974962355841927968270452348274120030368811244522710083193474070322271650512683430707805039359526051877433014114575567688035038540402169531835978529323828129771556308690802500728433830237943525570525871162301714285155120062789608410967873773302967744664571991174709017423328441695293063969240367177616926788941028618493164166609485240703777251186706394983111272997739934304498812096941652830416514254047325710474614907286705303141723942201877568893289744127091837324629659918772818993217021247202054751555466387313593572148468292260916890917543188046167753078709792426130091129017531500106780293772614725499493350610358793710318503165889393989487124173776142239761870303882431544194535427302083760124660944302958235633190155391718434186028036829180341573549823227476121830312399621988154698431771192383716410837819529998117992995710802778952652303328462250554234072206257863258025286832375433854259491467010089970690804367221435070359955784714201942037121861319702731240467287436749267485557330614033894628560825439576878967927113111720135280365859739275922717785416815848577192035176308408318407940294206586016120515463023742431247890985275145111197731294521708959640343553565237544232132779446354521862678103831360951969928366200927085713116442566529511735678528611235879839655052044843677704517495586807644533659824524945829444327783278874835364 4577044750508311978073106465330027163982910930561782540005881795745978285538108582683909673331483087574059718212560120927803662960898840525041287555817970770862350738616701152429995832659757525574433639222315226046379986725193129374737480803444582400682014536091900204171437411485287687558502981381074803770986135782379457623281307441845138328590856752650412038200975874845911643691649108612655548037116236947539821375189243929542836122692893394754535428754932296541482159278458029141174233088991080021254894480470626304250627571837615027377976537785570333874522439625832415265069735772973202363963335707111646110000085415236559241998782402197435068520125045791701605208248882035019668945017559324684488602849894361626012322346849827484560480308827637943071819709543990939761476665135884350971867626035393404829485571925918245570628514120110192209970725372342793942543499145265216455291372121582599526409348136941527446677254247140207030032917284489217921522800612780515116504423805237693956877435808972851296037324506062247128138621197468236057075212298979634860501398177024884070698543758452375008368705708437808623520410006046075629133357529846563934970043702506218698138596274867349792010258299864930795290494715092999860356793162543445929687377237138720306739218276602231361599590042314133853227266071758638815325018518221731503539038853575304377036378600015436290267073033068154730656405688193292899810363616063513349892361751049728576798875097636615866131893677926988378981022523765028172683961688401630898833146182732250458523386131605789111166013407665206815378221723986769262263732551689548331995018246563065212562769838831567623957254321761311119641824748470326456993073456697520508611647665971343746670253331208445889999476986250493639871550858613461787023630111560457631260584997824938831432269833286835943032475379092746002820532319434800107299059025115460833746652724167203412477452662480678538493664299080224192546992926267655860489645427991538836328088940268775677468331644038660212566765958684356917192597799116699542795182084260312408130980189663909221212225803089744048716394439898005211345721202997933500749739430312065394278790932600284646164036259744658184298218169796667830337753219402689964032370465404770115033477001994368411430252293843264807983202258755839529304603245105623144806710258666107280828150507979037742912448773954352245068131847710135749492257482232646935126832207580225864362720321735077637814643485478218023256049987186764439653252399752425079742103030679269278842774521091189448516217212201084110135266306367171326830596857114971779662885106369383369965332612804992230082239249802946264176364595533905405836706370176977400351948799670426589876139722328698091988524806790577858116812448487428829053929219214787964825392085210498646249828922917540657302071561240110007809459933224569045515277026785815779937600953982281880044128596289118420602079999807925340307006352999460608019848173716983572201521317127355249821936656284165339747519871228610790434070780816070659996373464067467562736599533736585420442091549035042903180719301008544626226439722676134902432453714626354628109056374337177745004188585706576812691466422642283568737926667300857354363790992689721924474830221325759202474537859119745889103360238505118519665653499511515410894100048492586799116914625738787349902383188815338513597288888373720352827280319459157099718923994755984323163092222949092499171770170291959815423317183333331539499268168029990025980608847551812619467307490459254429387259272008842808428320449651443623816331931896543640824651907137351746103119100239877512621533976372274348045040400931724937200036857015498743424555747283942333714788857410807786271344690918290230330308470481995257777327570197307299753075063816238645640869770672642059266002325442807 7405813974351731335437828639436596559569812933767419821296025572838646730056807496829789606307116020441966145738941663603273137907612637213045318717086519314567253465898545342501233941706603955000409797357501433784117011633257517178090094580775351754317510875559390036356624723394978372091719168239413262932844637686794322132619817846703017267261334041001103640547180481158797965625230189392510439370381922343093021947906988182594478909925688629832535197336377390734821540367890424668596962690134639732707511097952683439861622827834519376369303403845507041112971962882636515811374055562833699932382253844853763146501850614587590100257107605657119890045674771531723193192619869628569184250062696652598669677506489650890610241163357627962469439453558630265106883760982855277062554977952436571846062891422434140037670876262349444375531514997573463248278143814039258048628434108809838549405547084643459894005947629689484697217137665212002935381762323553884326143461333487719217889847914225029051207056474665457266998025212352528086980767788911349794099658683553288681966296212620449906555174573489931912816923401557689936826935037331144255165606277782700879973803421555008569567830157478911730701090350256115383078345453611943398341439601704424964085911754084127159057887098359815754240962944904731689966535151616165624851964542608831346045748735566707216574055662420816974894447969237728107330739010777464477485158031173654685609921402796287875799781252084069283947432086657080627635695507140083796994031193529603416480091003664078447303039452665108574065239894122852320501715419648321122453574626143822726557383012387150098185482426085855703872784772165733699512194927271792039242930130898779860778006883081484415307659780137780407277696388939822157586567319561475458151629845761255343063638047183819375354138147367700642558945023779123825302907648162183812317642350611068948987080863916255078369570839944939028035251724286298570135811027147372882503823342729683905078666232480530827468646718298422108583983426477717927011125457229970201452044088682535695589493182530569797811380053134047334049902452907405846062337903014060646314136874544970629671185714518702241725783346783395216088846254146682259186763378641723232219804471929456122689987459546090960284878475476813178823790061509549869531234506016504421432532490098225212191707821300141513742279906529949315132686938849928214762170959075310728764030263058409919995125026775859282789605841320145991526502335460884470022063644275135162935577101001540929355457951798994487875743264078517124249841874055206365370999026646807758192208934499154926274023415305720663912477193328516790047526897248190560956769159785388368225722102638171254448130897037715515316966502083641827357179626104355617994957837707952131434877325914275897436535317900651930299811495544608819906401586054985559769324352496290394844887659285423603986330473858011710346207091645249969966925125818453825041095375771735127667908630720927398290228917201056257290707917396363869143863206946161789013904964174247856509214259236078771052450342745361406346608694998031750400215864915896772736336146170549163536358458097302405948491543942210002846858141076469596774755847642430904187018468811552236874452209480457634245730242836156726922890236623111515376456278464167714222562299046820871323172488996812636734758622669598005064298978344411157194501754529517055503638196698021445024411925680332966459206919559445372753931217227960100324707744908957953093720567687092985327046766381972214804075120586034843604628857969851564110538517912664156287675649568599637088394245351075243916055685331914691598605638475957069979483211537361421528387108235912262080989784496520902713911220430025908858919706361834912829372413875011817248661871460772305465394716502086387049281200278171 11982858724860043313510935104766623723552723864329202361301907368584625015594916079513699279638599108016025863951501784531076800868511477738086606272904490085429604204515246494931229774366361480574843436579816659830496998358450646552827575384219934154999525411651290240528062134880266059650222149620488066703830773469173779755901125288548155595852190793651515678748156356004709609316879298005165987407498159290632843323096232112137315032618582024587070626091309687276303699646348453809771195779125719753962405578423309744112250399672134403747279941631077374987494402508468931076443791335806902296345589551965409256501936029824149342255890007854554958565799817323424798400868751663588853195080255977283158280356384012516622563510207455447029919762386268208178703470526846216824031643088320922817930517457827544867156448188267689946160029117683655458248869186382051991171933254075055004696919206226059420415295766631012143894391912352209965414679608043102247666261946268234334394271719462723008084492283638308563035349718414775215119388986379585851174870982532923542467694389645333977253718331942306921185629109995498560347345043377219884298963807629264814943847124061227267706426432346261522711348650121046178368840168704943258698232764247870893773288991222847465797105374962047115840552987218865543193801223374804440176983060830562849584787589142011593610434262436253265161521002305882837987144698970757377295521647237168035502283153846016452598656349720685150079325764584069006616718030905111969677992881931234315313237186396328905826425584270897685231253301788059135879937143635090384717307177833371058552401258950215310748252264917423327830039093927044819154019675742118496236003587596300369389654549052828161977913111346226297277173375190315797458118178174937245175259957321712974324223045008758206786407980654536585591420402871869828123439967596983919616701375726529782733733588083458490847023502425617566528916023366522762682803953415028742993468770721222741406755172749306504936978362337082321150749385162074844203723256346669744247226172942848103720473372194479019023605856223791382766296892805411057408059106011994147063876304857036023949976647118986887889819606528053400387064423943350089524516598044413196252174937334226237723464461540459371715130769320077986806992320265389398835837751122127566239242748764332493019858329279179256654728680484301560200818786560063964254428441307957663890862470638635784357845348510936920604249326798364014782552322647648909675316044027560242677680131680810208198232472890183936391960476279601234385108180422377692201595883761779537855094040868538296239356028110712893994716443131463054223891492782095966793475529962365768577670902308597844324270619366413607305491308874219685473992074591784447048887056922740096260269411124774543686364240818192587601883056784718827715861519279554605284601379282106174782488613267705484030459070147130130948287091453175310273931478817914433060943549488718699869429947848282648112165573485221597038227788624974659577933987762232449010278428241715419245813792972664191494541891780404309527327996006576376626655587592031675168789860796903791645414832434480150952680129648786815538324563718753165512682514943288258550809461501274161349282430806216836720268101955902616026250475128230035042109777975683125116662347539407670440087114735599986637141811484936518661587866718131510021782073988674155222562191454005768187504148629425465630977089851405188177248400561291639823975912938947979074329415238905604794354256841226644191334392594877652032949307621295187926870449809207797112327556705951383191513345590952756537589661704189039643646039407682007179520068552860164952942855519854595795778641907328688985255911348316139189228176843830170606699984072319117001736935277010951106264487174728446315283525720978 19388672699211774648948763744203220283122536798096622182597932941423271745651723576343488885945715128457992009690443448134349938776124114951131924989991009399996857670413791837432463716072965435575253233937318093614614009991708163730917669964995285909317036287210680276884686858275244431741941317859901329636675411155968101888520943135251172863113524834652619319295336837163507574942109487397676426777880081633725865271003220294731793942544270654419605823427687078011125240014238878478368158469260359486669916676375993183973873227506653780116583345476584416100466365391105446887817846898640602228727843396819172403003786644411739442512997613511674848611474588855147991593488621292158037445142952629881827957862873663407232804673565083409499359215944898473285587231509701493886586621040757494663993408880261684904827324450617134321691544115257118706527013000421310039800367362884893554102466290869519314421243396320496841111529577564212900796441931596986573809723279755953552284119633687752059291548758303765830033374930767303302100156775290935645274529666086212224433990602265783883808892905432238834002552511553188497174280080708364139464570085411965694917650545616235837274256589825173253412439000377161561447185622316886657039672365952295857859200745306974624854992473321862870081515932123597233160336374990970065028947603439394195630536324708718810184489924857070240055968971543610945317883709748221854780679678410822721112204556642304328398437601804754434026757851241149634252413538045195766672024075460837731793328190060407353129465036936006259296493195910911456381652563283411507170881803977193785109784271337365408933734691003279031702823866092778518666214603013910535478933718495080230167661432134312577285572891484006704554869764130137955044685497736412703326889803082968317387861092192577582140546128022237228150365426650993653426347615759167731934343726337598731720814451999713569216594342370556594564167747652821332818614980562401625497292113450906646485421405229837332405625080635504429734732811639792771214848713576639945699270261625383799309966554725048816834985909357838716816199345712816903470397009026054793378013179402006653621162361637689129615602953311448616475910678090032348711279976686136428471979409263682360413451921086550332000009244796891165630782381774939268367072257138631987671775238862557705211566150579320770397008587014250875333505725409992179016599400383268392654892733697045704352970375286796203393855168118510006309054658108533379697379688302695405613257232682351137553690424689178424267703740358118358634950054477584057572594910408587296047302975367693222513379443416433557907193636459979844271418390030286527750244689747754136803393004946769098772401516404129122622457810957861512831171700696140065043844894630692227695146737039050441122899558718844517901694552329327647622263105334540165053925731778396569627376272553129088016789544005141841294494183098425280240856604636368258102038925260453827537338578569210046402394490686277854328935706021338528721797194708394238024183392415963275755028052208742962546992234525765715873936691004608127026871452507928447905126006967452955181773290531782556901171673590996818385182704795222762287438362585719162737827930312826398223734640286674470965998344792059342949140711751341550418566056439850839339224646586228541763259603732412623371900434154534523725886845062542667216283828518191210726200388152027213211916074309758432090184009410850560931179617789251740148683657847905932168049982925998590121401023223198858995409513180912495637578165591146752037408967721871953400003206274551020279907590942028000453645347036103731242251677883639077159003280090221586481329963755766857876768426403849591699167131778342048048147883205665083436072397947330934250398806737783256571659203676814833364564725999149 31371531424071817962459698848969844006675260662425824543899840310007896761246639655857188165584314236474017873641945232665426739644635592689218531262895499485426461874929038332363693490439326916150096670517134753445111008350158810283745245349215220064316561698861970517412748993155510491392163467480389396340506184625141881644422068423799328458965715628304134998043493193168217184258988785402842414185378240924358708594099452406869108975162852679006676449518996765287428939660587332288139354248386079240632322254799302928086123627178788183863863287107661791087960767899574377964261638234447504525073432948784581659505722674235888784768887621366229807177274406178572789994357372955746890640223208607164986238219257675923855368183772538856529278978331166681464290702036547710710618264129078417481923926338089229771983772638884824267851573232940774164775882186803362030972300616959948558799385497095578734836539162951508985005921489916422866211121539640088821475985226024187886678391353150475067376041041942074393068724649182078517219545761670521496449400648619135766901684991911117861062611237374545755188181621548687057521625124085584023763533893041230509861497669677463104980683022171434776123787650498207739816025791021829915737905130200166751632489736529822090652097848283909985922068919342462776354137598365774505205930664269957045215323913850730403794924187293323505217489973849493783305028408718979232076201325647990756614487710488320780997093951525439584106083615825218640869131568950307736350016957392072047106565376456736258955890621206903944527746497698970592261589706918501891888188981810564843662185530287580719681986955920702359532862960019823337820234278756029031714937306091380599557315981187140739263486002830233001832043139320453752502803675911349948502149760404681291712084137201335788926954108676773813741785829522863481549787583356151651551045102064128514454548040083172060063617844796174161093083771019344095501418933977430368490760884172129387892176577979143837342603442972586750885482196801867615418571969923309689946496434568231903030439926919527835858591765581630099582496238518227960878456115038048940441889484259042677571139008756676017505422559839502016862975102033382438235796574730549624724154346597908598136916382627009703715140014116969152437774702040328667202910008260759553911017987626890198231424479858500027051737267498552435534324511970056143271027841691226056545755204335681488710815723797733123998104494916874021091606980756182289372695732330255648290937364363161345751922897579362360659664216637719593020058234899961749774190794170366833902397016236231518752735471527146451901910079591442898495309882812382494543720219710119905381063907255366943096672135770542729927949119832081198305163775287924512092731951553432323955416148163824984809263799537037105503577609114046475338124624614094770338527111060502744409864885820834572047248614152271972242781274551600590514788083454282691162982474749172527406768526417492694514560064171499451367163494646313188299731182470626687034461820657678695000841845181407154041534126306170025401264687011184503653527040099960123073915867764356746827188122966262707853851803239783633923507268513975927800120877529007421288637391814100559573017071092891307686266446747961958975391186879571585460675834415533964455886994125636212203346718468012610009042245639471042387474711780674177238065902506865365948762579606032981399420222939183897721161099262255749108428018350543379972659570786853911242379398164904194915755280064425503186743905775790147670527473212441939964279417531079750512330762980502403471420936532980756991235008740292770885897717291321084338523348643081751434272819275621453672547068311178280684423043126658187237376060049495254042772382019650051252135742014794207677923690851543279679848251720127 50760204123283592611408462593173064289797797460522446726497773251431168506898363232200677051530029364932009883332388680799776678420759707640350456252886508885423319545342830169796157206512292351725349904454452847059725018341866974014662915314210505973633597986072650794297435851430754923134104785340290725977181595781109983532943011559050501322079240462956754317338830030331724759201098272800518840963258322558084573865102672701600902917707123333426282272946683843298554179674826210766507512717646438727302238931175296112059996854685441963980446632584246207188427133290679824852079485133088106753801276345603754062509509318647628227281885234877904655788748995033720781587845994247904928085366161237046814196082131339331088172857337622266028638194276065154749877933546249204597204885169835912145917335218350914676811097089501958589543117348197892871302895187224672070772667979844842112901851787965098049257782559272005826117451067480635767007563471237075395285708505780141438962510986838227126667589800245840223102099579949381819319702536961457141723930314705347991335675594176901744871504142806784589190734133101875554695905204793948163228103978453196204779148215293698942254939611996608029536226650875369301263211413338716572777577496152462609491690481836796715507090321605772856003584851466060009514473973356744570234878267709351240845860238559449213979414112150393745273458945393104728622912118467201086856881004058813477726692267130625109395531553330194018132841467066368275121545106995503503022041032852909778899893566517143612085355658142910203824239693609882048643242270201913399059070785787758628771969801624946128615721646923981391235686826112601856486448881769939567193871024586460829724977413321453316549058894314239706386912903450591707547489173647762651829039563487649609099945229393913371067500236699011041892151256173857134976135199115319383485388828401727246175362492082885629280212187166730755657251518672165428320033914539831993988052997623036034377597983208981169748228523608091180620215008441660386633420683499949635645766696193615702340406481644576652693577674939468816398695584231044864348853124064103733819902663661049331192301370394365147121025513150950633338885780123414786947076551416686053196133755861590958550368303713560035715149258913860318068557083815267935569982265399391541582793226489447903442990630437820797448745854512803310867830237380048322287627242074494449200647938032727193063786099084529327391959663035384027400661638864715669070075420632951053904194597045512483305613322268540784927367956995837951655008289377545807346785704578954129949699991603924741266114914943580009809103716051422742766728272842669022293964909457874042184456912202136041869073652174671852550406930789942711136335475984064577136576846184124551650562885202875425932163358255881623405272161443374122960387729948634935392452842838899314037241158373963660064038158157413813537275457650025870755644688090650949265021400009626354944107104986702740916954554857777305696099200667651717021528377179020925058645213073641970755869897390150116588526360831935741275201378015792630680398492607888570979041874731809702008961413498045264755023476830780452308689973309198690087559240114726584026465322126926957796751711379565778652264791540021301924531898630913135879241890855384803795111640711864753966606322200425233380942679794005566113361556843216844454349731025056576674962967758060194611336297248942329811345108673106310039607636139795120121343228634759843410429381090902785037156303287624362182153418956702643308105638803588692001688385252951703912333969255053423751328527475008757444880355776396502128149395174960161497526628733303337915602783031388311549315494715027872383590174905000235285523943255160337478844779966980985502534548752577464249582894528358113044412977719276 82131735547355410573868161442142908296473058122948271270397613561439065268145002888057865217114343601406027756974333913465203418065395300329568987515782008370849781420271868502159850696951619267875446574971587600504836026692025784298408160663425726037950159684934621311710184844586265414526268252820680122317687780406251865177365079982849829781044956091260889315382323223499941943460087058203361255148636563482443282459202125108470011892869976012432958722465680608585983119335413543054646866966032517967934561185974599040146120481864230147844309919691907998276387901190254202816341123367535611278874709294388335722015231992883517012050772856244134462966023401212293571582203367203651818725589369844211800434301389015254943541041110161122557917172607231836214168635582796915307823149298914329627841261556440144448794869728386782857394690581138667036078777374028034101744968596804790671701237285060676784094321722223514811123372557397058633218685010877164216761693731804329325640902339988702194043630842187914616170824229131460336539248298631978638173330963324483758237360586088019605934115380181330344378915754650562612217530328879532186991637871494426714640645884971162047235622634168042805660014301373577041079237204360546488515482626352629361124180218366618806159188169889682841925653770808522785868611571722519075440808931979308286061184152410179617774338299443717250490948919242598511927940527186180318933082329706804234341179977618945890392625504855633602238925082891586915990676675945811239372057990244981826006458942973879871041246279349814148351986191308852640904831977120415290947259767598323472434155331912526848297708602844683750768549786132425194306683160525968598908808330677841429282293394508594055812544897144472708218956042771045460050292849559112600331189323892330900812029366595249159994454345375784855633937085696720616525922782471471035036433930465855760629910532166057689343830031962904916750335289691509523821452848517262362478813881795165422269774561188125007090831966580677931505697205243528002051992653423259325592263130761847605370846408564104488552169440521098915981191822749272825227309239102152674261792147920092008763440379151041164626448072990452650201860882156797225182873126147235677920288102459499556687284686340569739430289273030829470506331785855596602772892273660151095493811214116338101674415110296320824500483122011355746402154749350104465558655083765720505746403142368408681774601822882262451390064157952258048492268619620897958442771152963206702195131961408673829057536219847903145587032173633557544675066524277507557120976498749320963852097007840156260018850386470726461711013795642865641262038155655051516837685129167993947565520819457502984965745787945214582478356050622023909441499251271989089229308797737556875605979033366700410741427157792918728908849770557420598298512354562729705730979953899402058447106044194798232111286772309685785780056732201626461270432771544933640428003874758798882350875631404195435431514619029276757063262695313964905321259559649647612093107033731320665756711742571557270630060487138105766676466065026977134333925532707848694052957742496166448836149536464307972608875280070564086232197241823174617887680117643734005315102713941027517369768782472457086338531238287983260899923085510484721339917725270918768250998634837500966169953040668437843389984925433476608500836268623891021692415633531921942623725547364093176010756520188126227532506207935362059148035654490338500094002799421613754652808779255806979952911583352049865368897324732492790978633112016030631965967802784031454424664732235555827222749464007989514436115364516689273014047112466281245836049977376385089349875602307009765221862563026206153068013218031658422522900003304655591521617161986631036754670290767371671927506585379901392724261229439403 132891939670639003185276624035315972586270855583470717996895386812870233775043366120258542268644372966338037640306722594264980096486155007969919443768668517256273100965614698671956007903463911619600796479426040447564561045033892758313071075977636232011583757671007272106007620696017020337660373038160970848294869376187361848710308091541900331103124196554217643632721153253831666702661185331003880096111894886040527856324304797810070914810577099345859240995412364451884537299010239753821154379683678956695236800117149895152206117336549672111824756552276154205464815034480934027668420608500623718032675985639992089784524741311531145239332658091122039118754772396246014353170049361451556746810955531081258614630383520354586031713898447783388586555366883296990964046569129046119905028034468750241773758596774791059125605966817888741446937807929336559907381672561252706172517636576649632784603089073025774833352104281495520637240823624877694400226248482114239612047402237584470764603413326826929320711220642433754839272923809080842155858950835593435779897261278029831749573036180264921350805619522988114933569649887752438166913435533673480350219741849947622919419794100264860989490562246164650835196240952248946342342448617699263061293060122505091970615870700203415521666278491495455697929238622274582795383085545079263645675687199688659526907044390969628831753752411594110995764407864635703240550852645653381405789963333765617712067872244749570999788157058185827620371766549957955191112221782941314742394099023097891604906352509491023483126601937492724352176225884918734689548074247322328690006330553386082101206125133537472976913430249768665142004236612245027050793132042295908166102679355264302259007270807830047372361603791458712414605868946221637167597782023206875252160228887379980509911974595989162531061954582074795897526088341870577751502057981586790418521822758867583006805273024248943318624042219129635672407586808363674952141486763057094356466866879418201456647372544397106176839060490188769112125912213685188388685413336923208961238029826955463307711252890208681141245747115460567732379887406980317689576162363166256408081694811581141339955741749545406311747473586141403283540746662280212012129949677563921731116421858321090515237652990054129775145438531944689788574888869670864538342874539059542637076604440605786005117405740734141621949228976524159057269984986730152787846282325840214954947051080401135874838387921966791778782023820987642075892930258485613627512846573596157756099326558454186312363149542116443930514400130629395496330074813655053364467762203328275093801796999444081001284965301414306471520117511694288384028766428497720539131650038625867989749977731659639026834819440119886435028762981411966620577834727256053666365885643921681427256541918569575836673590516048800352314121932000794721258900084511364641123432796738301372484347202568761892175324930467099599317332189851652332026077459635584589693025274768425237294982736390898176348469173887054062759361895981616622342787936828668537151752246804962636512581639961707387218586847970041507951667443042769765014324025315737265031999617227976150845110949962353237363898756901344538540887215132373307975239357758460589341568036067954475166520493852022864990796029828004562824454984141397857219159616126303572046110275549365720136559362868863076770927605227482174614197825467107866146765364556978519298688515122153370622092817437068557343851316608468369187643290630133620215346028056373598063238160346709764990067886639674227551050743689195434286738750819619323967656188036983158336998701490609250974077991482998271880995720293085775142196507641241407333576606109688427265478385338398076771178057741234025451603392936658657808423946559815929000461941953612022257204839519949136177089479908259505768674207158679 215023675217994413759144785477458880882743913706418989267293000374309299043188369008316407485758716567744065397281056507730183514551550308299488431284450525627122882385886567174115858600415530887476243054397628048069397071725918542611479236641061958049533917355941893417717805540603285752186641290981650970612557156593613713887673171524750160884169152645478532948103476477331608646121272389207241351260531449522971138783506922918540926703447075358292199717878045060470520418345653296875801246649711474663171361303124494192352237818413902259669066471968062203741202935671188230484761731868159329311550694934380425506539973304414662251383430947366173581720795797458307924752252728655208565536544900925470415064684909369840975254939557944511144472539490528827178215204711843035212851183767664571401599858331231203574400836546275524304332498510475226943460449935280740274262605173454423456304326358086451617446426003719035448364196182274753033444933492991403828809095969388800090244315666815631514754851484621669455443748038212302492398199134225414418070592241354315507810396766352940956739734903169445277948565642403000779130965862553012537211379721442049634060439985236023036726184880332693640856255253622523383421685822059809549808542748857721331740050918570034327825466661385138539854892393083105581251697116801782721116496131667967812968228543379808449528090711037828246255356783878301752478793172839561724723045663472421946409052222368516890180782563041461222610691632849542107102898458887125981766157013342873430912811452464903354167848216842538500528212076227587330452906224442743980953590320984405573640280465449999825211138852613348892772786398377452245099815202821876765011487685942143688289564202338641428174148688603185122824824988992682627648074872765987852491418211272311410724003962584411691056408927450580753160025427567298368027980764058261453558256689333438767435183556415001007967872251092540589157922098055184475962939611574356718945680761213366878917147105585231183929892456769447043631609418928716390737405990346468286830292957717310913082099298772785629797916555981666648361079229729590514803471602268409082343486959501233348719182128696447476373921659131855933742607544437009237312822803711157409036709960780590071924937676394699514575727804975519259081220655526461141115766812719693732570415654722124106791820851030462446449712098535514803672139736080257253404937409605935460693454222769544556612989744849054230172087978939900124385198878106511585955617726559364458294458519862860141420685761964347076101432304262953041005141337932560921588738702077596057653894007284237261303815687885032933231131307337154025290804584152772055969335167793861937315498551117142011800565228065101017507119032033990530019333978528042755595194441659238302862520951936276247415017673841719081222971702558215319557412439074094346854412750637703430931453246763560124286611702776785385097388922053278793296510231180518230121029149527224119645858367795093611779983792916330819822624591295581527664047496478316149244859280536283302269293382533264657848647335108147274628133508069746899348249558023585959084957359724142599681260486426661209972774036971908624773084456955547925862919475402194594656670750008981992536289276324479951329327268115987823724378069651882578559077341397222340297108910386866686306512403537300920160912530660958783115034094090998887839180998088900461922414062486246546632849337625194784876357524543830428335678945120472120309348827477987352716046939602516744942979469991724092919948068421688225265371862835649955933623990821014612761663433726165078196827455490987786317111084809775048156243620107522653169626583486073516615353987645407841993040620767440178519616610968317080331323949864471520522079103940243059011875130287320808104596065288160898492935436598082 347915614888633416944421409512774853469014769289889707264188387187179532818231735128574949754403089534082103037587779101995163611037705316269407875053119042883395983351501265846071866503879442507077039533823668495633958116759811300924550312618698190061117675026949165523725426236620306089847014329142621818907426532780975562597981263066650491987293349199696176580824629731163275348782457720211121447372426335563498995107811720728611841514024174704151440713290409512355057717355893050696955626333390431358408161420274389344558355154963574371493823024244216409206017970152122258153182340368783047344226680574372515291064714615945807490716089038488212700475568193704322277922302090106765312347500432006729029695068429724427006968838005727899731027906373825818142261773840889155117879218236414813175358455106022262700006803364164265751270306439811786850842122496533446446780241750104056240907415431112226450798530285214556085605019807152447433671181975105643440856498206973270854847728993642560835466072127055424294716671847293144648257149969818850197967853519384147257383432946617862307545354426157560211518215530155438946044401396226492887431121571389672553480234085500884026216747126497344476052496205871469725764134439759072611101602871362813302355921618773449849491745152880594237784131015357688376634782661881046366792183331356627339875272934349437281281843122631939242019764648514004993029645818492943130513008997238039658476924467118087889968939621227288842982458182807497298215120241828440724160256036440765035819163961955926837294450154335262852704437961146322020000980471765072670959920874370487674846405598987472802124569102382014034777023010622479295892947245117784931114167041206445947296835010168688800535752480061897537430693935214319795245856895972863104651647098652291920635978558573574222118363509525376650686113769437876119530038745645051872080079448201021774240456580663944326591914470222176261565508906418859428104426374631451075412547640631568335564519649982337360768952946958216155757521632613904779422819327269677248068322784672774220793352188981466771043663671442234380740966636709908204379633965434665490425181771082374688674923878241853788121395245273259217283354206717221249442772481275079140153131819101680587162590666448829289721166336920209047656109525197325679458641351779236369647020095327910111909226591764604068398941075059673860942124722810410041251219735446150415640505303170680431451377666815846008954111799927542200278129136592125213468464300155522214393785078317046453783835304080791006615832434892348537335216151587614286056500905405871151455691006728318262588780989299339404751248819031442409319571012650492595100985206419729927065476282776781038635384668184987452535882013445957150597168705784096421961080085580919730119062870505852084088608189890519433537093634559010040816312523585458987977845547376004803415800449332322016461936633243884984414721111904931125322587690816102819814054424295649356940841104185991788128452966803384882581986487277198150006835433306984686396611527341245938781875022494972045067234183078188782579800951112516664362573583339323224116956976952118750526371436389014447336672793873253163313971672087921233838158833160655183998238786076936467702809770176502816320123297943992386548833053793280435778236957523525912343219185936232406443071766406163996931840135888440957729231919558106753985946362645878981221102577608399917254942155062263342220208841152298797523322235750605740524694855534360950779285099949226509933047356631398320470998812110883659552110613655269279901280178857997771098662135216774329170905446973986058198106805102860823298440127748764060503203189595761943880832372983805918764218678508674203971220003904975738139747896424287449522541045893855081269079969807269944281685545196420404261609643756761 562939290106627830703566194990233734351758682996308696531481387561488831861420104136891357240161806101826168434868835609725347125589255624568896306337569568510518865737387833020187725104294973394553282588221296543703355188485729843536029549259760148110651592382891058941443231777223591842033655620124272789519983689374589276485654434591400652871462501845174709528928106208494883994903730109418362798632957785086470133891318643647152768217471250062443640431168454572825578135701546347572756872983101906021579522723398883536910592973377476631162889496212278612947220905823310488637944072236942376655777375508752940797604687920360469742099519985854386282196363991162630202674554818761973877884045332932199444759753339094267982223777563672410875500445864354645320476978552732190330730402004079384576958313437253466274407639910439790055602804950287013794302572431814186721042846923558479697211741789198678068244956288933591533969215989427200467116115468097047269665594176362070945092044660458192350220923611677093750160419885505447140655349104044264616038445760738462765193829712970803264285089329327005489466781172558439725175367258779505424642501292831722187540674070736907062942932006830038116908751459493993109185820261818882160910145620220534634095972537343484177317211814265732777639023408440793957886479778682829087908679463024595152843501477729245730809933833669767488275121432392306745508438991332504855236054660710461604885976689486604780149722184268750065593149815657039405318018700715566705926413049783638466731975414420830191462298371177801353232650037373909350453886696207816651913511195354893248486686064437472627335707954995362927549809408999931540992762447939661696125654727148589635586399212507330228709901168665082660255518924207002422893931768738850957143065309924603331359982521157985913174772436975957403846139197005174487558019509703313325638336137534460541675640137078945334559786721314716850723431004474043904067365986205807794358228401844935214481666755567568544698845403727663199389131051542621170160225317616145534898615742390085133875451487754252400841580227423901029102045866439498719183105567703074572768668730583608037394106006938301264495316904405115151025961751154230486755595284986236549189841779882270659087528342843528804296894141895728306737330180723786820574408164498930102217435750050034218701047442795066514848653173595188664614264458890667294656157145052085876333959525940224988064367411664900239126199778867442324663328014698636799424082026714886672688243598179906595204521066045138082717264739155301578340357489520175207645239607483467209109585014012555523892596677184372337982380126368596434610375596803264651070320374213591864380974833893923050435949896250088470043001045479947680616502684312139177556274527240158032981583822442128331503625863732238514760065337117225360373724962659553334832258298013708234347253696095882140748548336020670369512110033958209918619097921996621049935083573822873476586699471981085399908436759719715702404611078572779677670882929785300835641470807877529241051168405028236702915881518186336057207934459182263563710823141362909183201914336676261350207631922815675657309446830845161788087056129043469159701078308562849778654909536085918460239099046500982767649450566059980210273211123445163014337314298920748252640328096323099092749584169943464917092752666549399740844266013649105641825127360734779443143516640094646463887791492687458127096566365696129225859001180871077860834043683012348303495332039551743254876026826623122413390946880532571884817482476490919235834904169679012383860325568942939407367732902464973844515217889912635871454683747856286713672829773081835460496186360629213760757259299276114382490836614873292818471071846288758970044620149834098140280955100094590752386281610484581302754545080354843 910854904995261247647987604503008587820773452286198403795669774748668364679651839265466306994564895635908271472456614711720510736626960940838304181390688611393914849088889098866259591608174415901630322122044965039337313305245541144460579861878458338171769267409840224465168658013843897931880669949266894608427410222155564839083635697658051144858755851044870886109752735939658159343686187829629484246005384120649969128999130364375764609731495424766595081144458864085180635853057439398269712499316492337379987684143673272881468948128341051002656712520456495022153238875975432746791126412605725424000004056083125456088669402536306277232815609024342598982671932184866952480596856908868739190231545764938928474454821768818694989192615569400310606528352238180463462738752393621345448609620240494197752316768543275728974414443274604055806873111390098800645144694928347633167823088673662535938119157220310904519043486574148147619574235796579647900787297443202690710522092383335341799939773654100753185686995738732518044877091732798591788912499073863114814006299280122610022577262659588665571830443755484565700984996702713878671219768655005998312073622864221394741020908156237791089159679133327382592961247665365462834949954701577954772011748491583347936451894156116934026808956967146327015423154423798482334521262440563875454700862794381222492718774412078683012091776956301706730294886080906311738538084809825447985749063657948501263362901156604692670118661805496038908575607998464536703533138942544007430086669086224403502551139376376757028756748525513064205937087998520231370454867167972889322873432069725380923333091663424945429460277057377376962326832419622410836885709693057446627239821768355035582883234222676019029245653648726980197686212859421322218139788664711714061794712408576895251995961079731560135293135946501334054532252966443050607088058255348365197718415585735482315916096717742889661151701191536893112288939910892903332171792360837258869770776042476503550046186405549905905467798350685879355146652684156525949583044644885822782966938527062859354668803676735719171885243898866135409843012503149406923562739533137740063193850501665982726069029885180155052616712149678374368309315957871451736198367766261315689342973598983951246250119009292358094018060478815937354393439705921112500033049516278166471864455845377944330610274034559670583247594248654862525556389181701077335907376880498236291974464829110905419515745078480746248080311578794984524941457151290762012892546326870408887082028676496953048988356370125929089333097174047650115675573641107789493701740512889338360565276020740873786481377666483711742733628945400038843929946609453757246171305580633321791446451116670704089071334564435075922578883058925904831213671390096235599517354612821077763100646692947980415592234053622757948297158971676235401190037486245012322810103845389713037763054145428204157210484969264555353926831145863141043941685612812723869749137998118522833527540576167077188036889726523100584986597565849977827677718363092285522038082335218775179833043427523208747983115701264524839787735410294780228073396724702232407318871313628380100734003359204690104646119624718414951401027801131390393539237141723504962653148322162854927941908816677485583969573864003972596822044177238443450115551256444274164983547282259331499192655936349628914024592802437840698573497933207212395811073723380658424364619217703046381142733647749721469316775206848428023382323416621683601358738538546709254274617139500969764809074183254520733861945692643455544369593090146188515736184348537010154958987704159713736538638349438959902713324695015496694753123875605050774176032962677597404377018733613019679521477977784788586462056618778268556610819742713046419567161195727953221550035069901860696667967155681001707016154724111604 1473794195101889078351553799493242322172532135282507100327151162310157196541071943402357664234726701737734439907325450321445857862216216565407200487728258179904433714826276931886447316712469389296183604710266261583040668493731270987996609411138218486282420859792731283406611889791067489773914325569391167397947393911530154115569290132249451797730218352890045595638680842148153043338589917939047847044638341905736439262890449008022917377948966674829038721575627318658006213988758985745842469372299594243401567206867072156418379541101718527633819602016668773635100459781798743235429070484842667800655781431591878396886274090456666746974915129010196985264868296176029582683271411727630713068115591097871127919214575107912962971416393133072721482028798102535108783215730946353535779340022244573582329275081980529195248822083185043845862475916340385814439447267360161819888865935597221015635330899009509582587288442863081739153543451786006848367903412911299737980187686559697412745031818314558945535907919350409611795037511618304038929567848177907379430044745040861072787771092372559468836115533084811571190451777875272318396395135913785503736716124157053116928561582226974698152102611140157420709869999124859455944135774963396836932921894111803882570547866693460418204126168781412059793062177832239276292407742219246704542609542257405817645562275889807928742901710789971474218570007513298618484046523801157952840985118318658962868248877846091297450268383989764788974168757814121576108851157643259574136013082136008041969283114790797587220219046896690865559169738035894140720908753864180705974786943265080274171819777727862418056795985012372739889876641828622342377878472140997108323365476495503625218469633435183349257955554817392062857941731783628324641033720433450565018937777718501498583355943600889546048467908383477291458378392163448225094646077765051678523356751723269942857591736854821834995711487912851609963012370915366947236239158347043066664129004444321438764527853161117474450166643754413542554535783735699147119743269962501968317865554269452944488544255164489971572726824126290036438945058369588905642745845100840814635962519232249590763463135892118456317112029054083489519335277709025682222953963051247552238532815378866221905337647352135886898314954620711665661130769886644899320607457680777096574081891595427978549311321477354737098096247422250051190170653640591744630563534025550322168308424355051130407580112490145646487206511357662426849604785165989398812316628353585295559770272274676859644192877436171067172050361913202951694015931130627964701346980120372805569674861034753429310373974343668084080716009071768635278540322206257021897241625954846913655827425950564627139507284460685164392621884104405852511830174074408374777073629140061235796082230515390108747095859917354996463057224308793460761563762448904565657642362143403421272110307841524086297959033305285225723438941179821350962560783534809344919684221571941396310114240048148162587945326486242816287391208644422757505348601292877586357679553143096304420884211832551445450898997219450860896995669869477043791784219866065141590520785650304641450941635282020365761955566455563576739488083930174859553240315450286354741308057858248773388181007863178468351619024430063952807095255300683606464452865555365022417623875378582430591942240106293093831117345468987240439417763946856318037636201084115437867508135857797692845030525140437179596413341572544557249241324597492761462192782221559057557769949179052713019685101009877643147252892573176027429187075566637107751571088518216022538819313273102653143906371251903933747228542584928132566207807623461337487848862735759432864873205094242233440278737277060902968952893233651561375081891589001805389611781345562051361830990169996451449054248766165583009770699804466447 2384649100097150325999541403996250909993305587568705504122820937058825561220723782667823971229291597373642711379782065033166368598843177506245504669118946791298348563915166030752706908320643805197813926832311226622377981798976812132457189273016676824454190127202571507871780547804911387705794995518658062006374804133685718954652925829907502942588974203934916481748433578087811202682276105768677331290643726026386408391889579372398681987680462099595633802720086182743186849841816425144112181871616086580781554891010745429299848489230059578636476314537125268657253698657774175982220196897448393224655785487675003852974943492992973024207730738034539584247540228360896535163868268636499452258347136862810056393669396876731657960609008702473032088557150340715572245954483339974881227949642485067780081591850523804924223236526459647901669349027730484615084591962288509453056689024270883551573450056229820487106331929437229886773117687582586496268690710354502428690709778943032754544971591968659698721594915089142129839914603351102630718480347251770494244051044320983682810348355032148134407945976840296136891436774577986197067614904568791502048789747021274511669582490383212489241262290273484803302831246790224918779085729664974791704933642603387230506999760849577352230935125748558386808485332256037758626929004659810579997310405051787040138281050301886611754993487746273180948864893594204930222584608610983400826734181976607464131611779002695990120387045795260827882744365812586112812384296585803581566099751222232445471834254167174344248975795422203929765106826034414372091363621032153595297660375334805655095152869391287363486256262069750116852203474248244753214764181834054554950605298263858660801352867657859368287201208466119043055627944643049646859173509098162279080732490127078393835351904680621106183761044329978625512910645129891275701734136020400043721075167309005425173507833572564724656863189104388503075301310826259850568410950707880325533899780486797942314574039566667380355634442105099421909682436419855673069326314607387791100832492796515803843213058841225690744612068025156171848788070872738312566308584633978554699156369733915573489532165777298611369728741203761863887644593666897133959152330817508867927875788977850173151587766361428244992333015099527603015524209592566011820640507197055263045946347440805922879921595511914407681343841670904913715727042822292821966470910906048558460282889184162035827095857568626392735286822936457411374546242317280160825209174680455704446852300951173812693181233806296996261383459087250601809691504771735754195048720633262143930240137055494303096855352010151795823449638017168674122470268815710779143412931535480235447273877067235331228578619025120240315200767163331757343043845464504610376590983752882313559182877208338089162688093970977754411354383280469696162753799935149577980452465988793134309873361986952290455169518274549781077365772325684492006502469147622068789433359570059919143641780624315239775982216212765916872377806210272735333026319655969871879717635478315079600717255260074654198882112920715385736783405279771824019857616590767373997839656963933021551675638641225055866601686080281991690889111731306249946779552592009859703961206180411628316122916679855953935588598294067925403917299477922049914568416811809296582607422660841762091134896042642722745141938271425081137991261880063530433447274807496096291872755075500739226173258788186901065730116779392985272623648014114445063551520760105766812044566318553682784494175193132163881114838265819482973556668656783296267307272866753032693778300977262366880445009601342893649941867279943629260960931499066388262024895698437030269250223827855253119800215254845691555414949852429829931692711331714851809178942541290004583381025239898312145722215921846584716786854528578051 3858443295199039404351095203489493232165837722851212604449972099368982757761795726070181635464018299111377151287107515354612226461059394071652705156847204971202782278741442962639154225033113194493997531542577488205418650292708083120453798684154895310736610986995302791278392437595978877479709321088049229404322198045215873070222215962156954740319192556824962077387114420235964246020866023707725178335282067932122847654780028380421599365629428774424672524295713501401193063830575410889954651243915680824183122097877817585718228030331778106270295916553794042292354158439572919217649267382291061025311566919266882249861217583449639771182645867044736569512408524536926117847139680364130165326462727960681184312883971984644620932025401835545753570585948443250681029170214286328417007289664729641362410866932504334119472058609644691747531824944070870429524039229648671272945554959868104567208780955239330069693620372300311625926661139368593344636594123265802166670897465502730167290003410283218644257502834439551741634952114969406669648048195429677873674095789361844755598119447404707603244061509925107708081888552453258515464010040482577005785505871178327628598144072610187187393364901413642224012701245915084374723221504628371628637855536715191113077547627543037770435061294529970446601547510088277034919336746879057284539919947309192857783843326191694540497895198536244655167434901107503548706631132412141353667719300295266426999860656848787287570655429785025616856913123626707688921235454229063155702112833358240487441117368957971931469194842318894795324276564070308512812272374896334301272447318599885929266972647119149781543052247082122856742080116076867095592642653975051663273970774759362286019822501093042717545156763283511105913569676426677971500207229531612844099670267845579892418707848281510652232228952713455916971289037293339500796380213785451722244431919032275368031099570427386559652574677017240113038313681741626797804650109054923392198028784931119381079101892727784854805801085859512964464218220155554820189069584569889759418698047065968748331757314005715662317338892151446208287733129242327218209054429734819369335118888966165164252995301669417067686840770257845353406979871375922816182106293868756420166408604356716395056925413713564131890647969720239268676654979479210911141247964877832359620028239036233901429232916989269144779440089093154964905897696462884566597034444931598880628591313539213166234675970058772039222493334294119838224151027483269559637525803034041000006622573225850672337374111242468063433433821000453553503707435902363718896395700753634949499914998090247732407229326353819879904165647088937309401010591021967801040654557490327149103101303017799958368085903485805404707822651267737609854874019538912985153664612892943549355265107723728197909783953888332750874411607589263156924317562384054143638094828132196555581983669828476376753128551579835006800804713505505842969063252682431413709117581142001315453756020672463402363927542699008733159769014854695492838374920948847458237397188621411384021601467092626099649781110140166246633779075149248867811641836456832515588360442614237663002617273923245421628557252535845568430377195661481109500019868042296214445269264038660401704303924543034422287207622724131878211012554778605656379021282367174319000231298039424192683077136148935816576259283740412321577409025826919848471083475891611534159380890933298432071203783928624080662143458351937542521864972611607206525744302981664824369814515497606395804179276203009807028367730838995510402743744223420404018878361384969055232597614250365020024351380853246827397170409864871761827168739122527725749873758434196463134123428922097486560078952531906594524367843086081391306774602920716657198790723886852055945212015409894763594776464688012167726557554333044498 6243092395296189730350636607485744142159143310419918108572793036427808318982519508738005606693309896485019862666889580387778595059902571577898209825966151762501130842656608993391861133353756999691811458374888714827796632091684895252910987957171572135190801114197874299150172985400890265185504316606707291410697002178901592024875141792064457682908166760759878559135547998323775448703142129476402509625925793958509256046669607752820281353309890874020306327015799684144379913672391836034066833115531767404964676988888563015018076519561837684906772231090919310949607857097347095199869464279739454249967352406941886102836161076442612795390376605079276153759948752897822653011007949000629617584809864823491240706553368861376278892634410538018785659143098783966253275124697626303298235239307214709142492458783028139043695295136104339649201173971801355044608631191937180726002243984138988118782231011469150556799952301737541512699778826951179840905284833620304595361607244445762921834975002251878342979097749528693871474866718320509300366528542681448367918146833682828438408467802436855737652007486765403844973325327031244712531624945051368507834295618199602140267726562993399676634627191687127027315532492705309293502307234293346420342789179318578343584547388392615122665996420278528833410032842344314793546265751538867864537230352360979897922124376493581152252888686282517836116299794701708478929215741023124754494453482271873891131472435851483277691042475580286444739657489439293801733619750814866737268212584580472932912951623125146275718170637741098725089383390104722884903635995928487896570107693934691584362125516510437145029308509151872973594283590325111848807406835809106218224576073023220946821175368750902085832357971749630148969197621069727618359380738629775123180402757972658286254059752962131758415989997043434542484199682423230776498114349805851765965507086341280793204607403999951284309437866121628616113614992567886648373061059762803717731928565417917323393675932294452235161435527964612386373900656575410493258395899177277550519530539862484552174970372846941353061950960176602380136521200115065530775363014368797924034275258700080737742527467446715679056569511461607217294624465042819950141258624686265288094284393334566568208513180074992376882980984819766871692179189071776922961888472074887622665974586477039824309154512501183552460783930764059878621624739285177388563505355837647439088874202723375202061771827627398431957780157230577249598697269800549720462734977714496704453474874177024485030555345048765059694817280087704155313398940674099473091444421386897093430155135145742035504084678363971675727615285106105983523480859837678580184067489025807384550375180085035289596664522510925645023023418431069367197917865003417595530255596645825862914447984932066287072472047859310505285765990869732853087071362319203721618547294120989689891857031815428667208298069854384787878170485831190334975565721830053482498550940712061234597397801296778642139909758911774650032146821064968228171401240604817330117114824099726463622318722352700753848663223060881632370562480429020691831499453047599889586200099578170684554292912564470477495158938616127560121266307392787359446799420634306074149230470219072030020426841222890376222796221018199803614929854256527706293589699178983615582838720700265954774212032191578539321401222011837402715400287706983378904530750699107630451253646008799171297377042716810981727873575131330527794488620625721651589295823741770591181859081816160078588673451396141970909482569104814993376300412880203700286185634251722087926375915227627386904796390454589721047112277144815391088129670621594114011898654132633493403373652749952739679879167786752286079782792938511221238467314252431509007969666428142060528593040649793075740498680609858752443344408861622549 10101535690495229134701731810975237374324981033271130713022765135796791076744315234808187242157328195596397013953997095742390821520961965649550914982813356733703913121398051956031015358386870194185808989917466203033215282384392978373364786641326467445927412101193177090428565422996869142665213637694756520815019200224117465095097357754221412423227359317584840636522662418559739694724008153184127687961207861890632103701449636133241880718939319648444978851311513185545572977502967246924021484359447448229147799086766380600736304549893615791177068147644713353241962015536920014417518731662030515275278919326208768352697378659892252566573022472124012723272357277434748770858147629364759782911272592784172425019437340846020899824659812373564539229729047227216934304294911912631715242528971944350504903325715532473163167353745749031396732998915872225474132670421585851998947798944007092685991011966708480626493572674037853138626439966319773185541878956886106762032504709948493089124978412535096987236600583968245613109818833289915970014576738111126241592242623044673194006587249841563340896068996690511553055213879484503227995634985533945513619801489377929768865870635603586864027992093100769251328233738620393668225528738921718048980644716033769456662095015935652893101057714808499280011580352432591828465602498417925149077150299670172755705967702685275692750783884818762491283734695809212027635846873435266108162172782567140318131333092700270565261697905365312061596570613066001490654855205043929892970325417938713420354068992083118207187365480059993520413659954175031397715908370824822197842555012534577513629098163629586926572360756233995830336363706401978944400049489784157881498546847782583232840997869843944803377514735033141254882767297496405589859587968161387967280073025818238178672767601243642410648218949756890459455488719716570277294494563591303488209939005373556161235706974427337843962012543138868729151928674309513446177711168817727109929957350349036704472777825022237089967236613824125350838118876730965313447465483747167309938228586928453300506727686852657015379289852328048588424254329357392748984417444103617293369394147666245901995522769116132746743410281719452570701604336418742766323364918555021708260692997691282963265438593788556508773628954540006140368834168550987834103136436952719982286002825513273725738387429490452697240224019857214843527522435748061955160539800769246319717465516262588368296447797686170471180273491524697087822848297283819280100260780748537704460097447402875157367929456291233123128251101088157708817106376576463191987840122140532042930070133235989767911314004717791555631780932195043292924491450859646381224722046516134533653476483102835247964750425996731049730846069698806977052791884542330580683920209538769412269713092655794484982256001747643256160177598458996010011388924703257865256642122253186245473840701643905043961426621434219794678975199336696177944628974512484896207668521854062550051153821969242044503837301610783383191915835919663721009776161553664788354512012721137847643920189445326853498444333201047879004341555578269559643141289504432405174560542192408347556910186487715899123716191151973128551643503054268468946819288676602288594499734257732431724730765765924798510003843742331681825942409035133362672610981546157934583070018739690147457289168340514355897660505752249724292809313533903227375614226590719164610634536942097603368580826645435062390017033483268070316353593237328858115040126723435415551673597313766474392852727599151777937850299943810503779044157103624104305063995636691143158973529477992406929147771307836548444282687009687152915298409744121839761772412566829956537497081672050226239958120318658880604150636024592612545241917173148166206760390314994116473805056059687839335275145297870920169901963194667047 16344628085791418865052368418460981516484124343691048821595558172224599395726834743546192848850638092081416876620886676130169416580864537227449124808779508496205043964054660949422876491740627193877620448292354917861011914476077873626275774598498039581118213215391051389578738408397759407850717954301463812225716202403019057119972499546285870106135526078344719195658210416883515143427150282660530197587133655849141359748119243886062162072249210522465285178327312869689952891175359082958088317474979215634112476075654943615754381069455453476083840378735632664191569872634267109617388195941769969525246271733150654455533539736334865361963399077203288877032306030332571423869155578365389400496082457607663665725990709707397178717294222911583324888872146011183187579419609538935013477768279159059647395784498560612206862648881853371045934172887673580518741301613523032724950042928146080804773242978177631183293524975775394651326218793270953026447163790506411357394111954394256010959953414786975330215698333496939484584685551610425270381105280792574609510389456727501632415055052278419078548076483455915398028539206515747940527259930585314021454097107577531909133597198596986540662619284787896278643766231325702961727835973215064469323433895352347800246642404328268015767054135087028113421613194776906622011868249956793013614380652031152653628092079178856845003672571101280327400034490510920506565062614458390862656626264839014209262805528551753842952740380945598506336228102505295292388474955858796630238538002519186353267020615208264482905536117801092245503043344279754282619544366753310094412662706469269097991223680140024071601669265385868803930647296727090793207456325593264099723122920805804179662173238594846889209872706782771403851964918566133208218968706791163090460475783790896464926827354205774169064208946800325001939688402139801053792608913397155254175446091714836954440314378427289128271450409260497345265543666877400094550772228580530827661885915766954027866453757316689325128672141788737737212019533306375806705861382924444860457759126790937852681698059699598368441240812504650968560775529472458279759780458472415217403669406366326639738050236562848425799979793181059787996228801461562716464623543241286996354977391025849531473951773863548885656609939359773012061013357622764757065024909027607604951977411990313550047541941991636249701007950621274722149147175033239343724045156606893758806339718985963570358219625313568903138053648755274337421545567084369000562995758463034408913572321579899642398484801339998182823068381175861864130505317250562665079284543527429136360225268381731803415398683081763231359396217301149276447972310697324961408789535541941918203851663187870537561414948507656694753869488129876344250709749545748176214175806184595275184161077587860772054728049606953761445943589328728863098460287022461586875189416374175935365697733459333711169724691288604582557145685167886512920194696342538378706219462566123784648551623266020686643747060522558033224062656984631949181177402158482118471626836820864311266238911798027607347107556261929511374904036007290251474640742552032294760760641770579032111203099052186376618875129768100688672909810447055828393618709310908362743730204476804461745157606988815174732800064760531485440872263291661068966200680725141550165908739439956102231501200532092895219061727764087127008209601240886606280144977289826795061888182950896774665957869362246044117890608614598598110842213863050509704335950465206006733532679129926552981526178995293748847332869048625497155344569983827804591249629888413231085349444705619793833944161762426269491394964154502544003428080365715953773671066699463449940870734422002965919837288105411166683933428963103833783709231425579675214730056743136177002398096709480915075773825907729672613246372056289596 26446163776286647999754100229436218890809105376962179534618323308021390472471149978354380091007966287677813890574883771872560238101826502877000039791592865229908957085452712905453891850127497388063429438209821120894227196860470851999640561239824507027045625316584228480007303831394628550515931591996220333040735402627136522215069857300507282529362885395929559832180872835443254838151158435844657885548341517739773463449568880019304042791188530170910264029638826055235525868678326329882109801834426663863260275162421324216490685619349069267260908526380346017433531888171187124034906927603800484800525191059359422808230918396227117928536421549327301600304663307767320194727303207730149183407355050391836090745428050553418078541954035285147864118601193238400121883714521451566728720297251103410152299110214093085370030002627602402442667171803545805992873972035108884723897841872153173490764254944886111809787097649813247789952658759590726211989042747392518119426616664342749100084931827322072317452298917465185097694504384900341240395682018903700851102632079772174826421642302119982419444145480146426951083753086000251168522894916119259535073898596955461677999467834200573404690611377888665529971999969946096629953364712136782518304078611386117256908737420263920908868111849895527393433193547209498450477470748374718162691530951701325409334059781864132537754456455920042818683769186320132534200909487893656970818799047406154527394138621252024408214438286310910567932798715571296783043330160902726523208863420457899773621089607291382690092901597861085765916703298454785680335452737578132292255217719003846611620321843769610998174030021619864634267011003129069737607505815377421981221669768588387412503171108438791692587387441815912658734732216062538798078556674952551057740548809609134643599594955449416579712427896557215461395177121856371331087103476988458742385385097088393115676021352854626972233462952399366074417472341186913540728483397398257937591843266115990732339231582338926415095908755612863088050138410037341120153326866671612170395987713719391153188425746552255383820530664832699556985029858829851028744197902576032510773063554032572541733573005678981172543390074900512358697833137880305482787988461796308704615670388717132494739390367652105394430238893899779152429847526173752591168161345980327587237980237503587275785929371482088946941231970478489565676669610781301298884584957376140078523805235248551938654667422999739374318327140279971425244393864368188280663256539211572113373669768982774799766414257631231305951319482264019572947611693827025857067124665667961179290295401617721571326712687799554786991177149496192569372463761556971342633511582058076451857328146290705785526165374504387744484715557828683321303501634088078756898096015723364687453874170243655257036984051354597017606121187787724873109849211725719452131831538627362180839538435103238755131151312722824377236120884504582690864823670855023274913887984420186334699705445235262731147584362133341416415978492904295670190953563712146906826138849542002158910159101243354460845551889462977390379245591585559811117782032056464699935321183962987379668113285539902275742591320920073817224553313501324297340437997987510651338229938734536893469888372754739973242803908502863167266814672326794431638811662271299484748978758179646249688790368872607251116722233516336851301018914774789833655759203880545959672522719892994378034538696007681106507907642097866668427195807100379367819376077188641422285206276443693027374378906594445526785183168992436000934388727087451908896313625525104374244322974183612200763091933070262817935677651164189696918726490109837793535443479266293406478367816094053192159795408424070047288084064987696446328951148598727841421490447058130293476203152769168754411048971205600592783148335250956643 42790791862078066864806468647897200407293229720653228356213881480245989868197984721900572939858604379759230767195770448002729654682691040104449164600372373726114001049507373854876768341868124581941049886502176038755239111336548725625916335838322546608163838531975279869586042239792387958366649546297684145266451605030155579335042356846793152635498411474274279027839083252326769981578308718505188083135475173588914823197688123905366204863437740693375549207966138924925478759853685412840198119309405879497372751238076267832245066688804522743344748905115978681625101760805454233652295123545570454325771462792510077263764458132561983290499820626530590477336969338099891618596458786095538583903437507999499756471418760260815257259248258196731189007473339249583309463134130990501742198065530262469799694894712653697576892651509455773488601344691219386511615273648631917448847884800299254295537497923063742993080622625588642441278877552861679238436206537898929476820728618737005111044885242109047647667997250962124582279189936510766510776787299696275460613021536499676458836697354398401497992221963602342349112292292515999109050154846704573556527995704532993587133065032797559945353230662676561808615766201271799591681200685351846987627512506738465057155379824592188924635165984982555506854806741986405072489338998331511176305911603732478062962151861042989382758129027021323146083803676831053040765972102352047833475425312245168736656944149803778251167178667256509074269026818076592075431805116761523153447401422977086126888110222499647172998437715662178011419746642734539962954997104331442386667880425473115709611545523909635069775699287005733438197658299856160530814962140970686080944792689394191592165344347033638581797260148598684062586697134628672006297525381743714148201024593400031108526422309655190748776636843357540463334865523996172384879712390385613996560831188803230070116335731281916100504913361659863419683016008064313635279255625978788765253729181882944760205685339655615740224580897401600825262157943343716926859188249596057030853746840510329005870123806251853752261771477337350525545805388302309308503978361048447728176732960398899181471623242241829598343369868081572146694061939341868199252612005037595700970647779742982026213342141515654280086848833259552164490860883796517348233186255007935192189957649493900825833471313473725196642239921099764287825816785814540642608630113983033837330144954234515509012887048313308277456380789035245762665939431452557281226252297674606522287242090562674442164899058971229488774387863439881437078117011077588522146409209195390315650520669999453374742111370881318018350573366797341845820436072254296304042301117600018370061179809478576323087580323012044439238585045958559665554211383633826933112271821907959962638035247831516029091712100961550779052064777116453736208309498748181039007020955001538116205236168562572466300876004011428959793266569672469203785018367197561653620107446986310119348257068501283417791331422655899449640041149888927619372130965870629025297765686362866470176398013041382068192659445724906901754149627592850062592422774608496994696081825733566411779316384592088652361466450688174505897463123948380125734056707298419014081960143211341355215045979743555147975603973263394652707686935618455500605012342996441034914887497619602351920291569404700146335783961280423978309228516015676439935904181170372754734410902843891152700496565369927150625798250712465266538038020963429877523712027653847429018738955573619580355905085589739275632516038041061498089733297071279713487563255413517605329672418889231994597036094832689087427072615318692240922154570475553747309114545965756856419238550516056158079632696529481213972017493950800280112660380024307516636220503801266470478601249478649669486822797113330265396394707307246239 69236955638364714864560568877333419298102335097615407890832204788267380340669134700254953030866570667437044657770654219875289892784517542981449204391965238956022958134960086760330660191995621970004479324711997159649466308197019577625556897078147053635209463848559508349593346071187016508882581138293904478307187007657292101550112214147300435164861296870203838860019956087770024819729467154349845968683816691328688286647257003924670247654626270864285813237604964980161004628532011742722307921143832543360633026400497592048735752308153592010605657431496324699058633648976641357687202051149370939126296653851869500071995376528789101219036242175857892077641632645867211813323761993825687767310792558391335847216846810814233335801202293481879053126074532487983431346848652442068470918362781365879951994004926746782946922654137058175931268516494765192504489245683740802172745726672452427786301752867949854802867720275401890231231536312452405450425249285291447596247345283079754211129817069431119965120296168427309679973694321411107751172469318599976311715653616271851285258339656518383917436367443748769300196045378516250277573049762823833091601894301488455265132532866998133350043842040565227338587766171217896221634565397488629505931591118124582314064117244856109833503277834878082900288000289195903522966809746706229338997442555433803472296211642907121920512585482941365964767572863151185574966881590245704804294224359651323264051082771055802659381616953567419642201825533647888858475135277664249676656264843434985900509199829791029863091339313523263777336449941189325643290449841909574678923098144476962321231867367679246067949729308625598072464669302985230268422467956348108062166462457982579004668515455472430274384647590414596721321429350691210804376082056696265205941573403009165752126017265104607328489064739914755924730042645852543715966815867374072738946216285891623185792357084136543072738376314059229494100488349251227176007739023377046702845572447998935492544916921994542155320489653014463913312296353381058047012515116267669201249734554229720159058549552804109136082302142170050082530835247132160337248176263624480238949796514431471723205196247920810770886759942982084505391895077222173682040600466833904405586318168460114520952732509167759674517087727159331316920708409970269939401347600988262779427937886997488101619400684955814143583471891578253853502486396595841941493215071359173915853950189483067447667554471313047651774707929315217187910333295820745561889508836886178635660911859545449241931313316602460794725707345703901010025728704904614379213533874863351494940816071617174946068824058680872805341750516293534415192899833811267646675812699658094821918507955769282108613745697516432183723300603787242986857713017721905690010367837631324650091909418075171286128696152316147796658185964904178609318158710473900491138852493628900297044774603665811221432027316734253337029387454177051894649842038052584928533995431406496454047962513736546148938915784789240866056019642793223289563084529582775932123904535904868629086557114284736529038211335187884292133395219178409873710204806664961694631403009696553791447429670131990928104057771608248323122016437449704423074494705285929665420190081945878248684934352498295121218407881766257819974501607945249932243824005267740519663866255799248601609081938277307397452506194796760829610247430790466273591663385050918714406933622736885530735035261377608257133705892810331934965233828063809245343088104842488851303945232017312607730283992184184802417699207033497499024122024158731622383876880938621979573995393072844195360128027902951905362750266482881937840881060585391540844558025232050262897606366610109350239428104953551261260101558938496726441611528623035358057710950859396763954804402247818423897871768318930858179543042558202882 112027747500442781729367037525230619705395564818268636247046086268513370208867119422155525970725175047196275424966424667878019547467208583085898368992337612682136959184467460615207428533863746551945529211214173198404705419533568303251473232916469600243373302380534788219179388310979404467249230684591588623573638612687447680885154570994093587800359708344478117887859039340096794801307775872855034051819291864917603109844945127830036452518064011557661362445571103905086483388385697155562506040453238422858005777638573859880980818996958114753950406336612303380683735409782095591339497174694941393452068116644379577335759834661351084509536062802388482554978601983967103431920220779921226351214230066390835603688265571075048593060450551678610242133547871737566740809982783432570213116428311628349751688899639400480523815305646513949419869861185984579016104519332372719621593611472751682081839250791013597795948342900990532672510413865314084688861455823190377073068073901816759322174702311540167612788293419389434262252884257921874261949256618296251772328675152771527744095037010916785415428589407351111649308337671032249386623204609528406648129890006021448852265597899795693295397072703241789147203532372489695813315766082840476493559103624863047371219497069448298758138443819860638407142807031182308595456148745037740515303354159166281535258363503950111303270714509962689110851376539982238615732853692597752637769649671896492000708026920859580910548795620823928716470852351724480933906940394425772830103666266412072027397310052290677036089777029185441788756196583923865606245446946241017065590978569950078030843412891588881137725428595631331510662327602841390799237430097318794143111255147376770596833859802506068856181907739013280783908126485319882810673607438439979354142597996409196860652439574759798077265701583272296388064908169848716100846528257759686735507047474694853255908692815418459173243289675719092913783504357315540811286994649355835468099301629881880252750602261650157895545070550416064738574454296724774973871703365863726232103481394740049164928673359055962888344073619507400608076640635434469645752154624672927967126529474830370904676819490162640369230129811063656652085957016564041881293212471871500106556965948203096547166074650683413954603936560418883481411569293766787287634533855996197971617895536491388927452871998429539340225711812678018141328303182410382584101845185342207753184095143717582956680441519626355929231088718350462950576272727273302843115761134560785157948153950108123684096212375573690283500095209143782447103845715982202901359943084058741810591336741616628320810935429562190823692323883090876261013335906065563950718113817258113191979687765247858431701326020528476622961885649745802652411924401355732623122639659539284612729944665906687315220408253277698575710250742020632345526468209222081530145873448630438413250010772228383687732903320745682296822654023849521098434860405250146582154102878392806573396219582237829566730247207445140315696060792682150908935215495453404957421670222267735099262955127326118597230870780912791193887544846771259936302627581273458689327484835430120203226746054724079580465524222296422829019479561398084548808551412584348679502150225157219603899980332241850269194011855029652472682188543563705432848836348264181554578753753418850953529373507682007543788290156077184807919475946806142713527567566221291469141344525580776683435531826747535407759504143522797201503271849027239122866800132496336280322684187590932188086189077773924078050215245074558997113855321230011335871440136352139584903667811962076189957164122735640992789822881801574178763035631060945288153672571197807119316844917126165508319060801483032475232119052889297006554271908647342874693931454660663234433405651726468093384694565432261123575937749865449121 181264703138807496593927606402564039003497899915884044137878291056780750549536254122410479001591745714633320082737078887753309440251726126067347573384302851638159917319427547375538088725859368521950008535926170358054171727730587880877030129994616653878582766229094296568772734382166420976131811822885493101880825620344739782435266785141394022965221005214681956747878995427866819621037243027204880020503108556246291396492202131754706700172690282421947175683176068885247488016917708898284813961597070966218638804039071451929716571305111706764556063768108628079742369058758736949026699225844312332578364770496249077407755211190140185728572304978246374632620234629834315245243982773746914118525022624782171450905112381889281928861652845160489295259622404225550172156831435874638684034791092994229703682904566147263470737959783572125351138377680749771520593765016113521794339338145204109868141003658963452598816063176392422903741950177766490139286705108481824669315419184896513533304519380971287577908589587816743942226578579332982013121725936896228084044328769043379029353376667435169332864956851099880949504383049548499664196254372352239739731784307509904117398130766793826645440914743807016485791298543707592034950331480329105999490694742987629685283614314304408591641721654738721307430807320378212118422958491743969854300796714600085007554575146857233223783299992904055075618949403133424190699735282843457442063874031547815264759109691915383569930412574391348358672677885372369792382075672090022506759931109847057927906509882081706899181116342708705566092646525113191249535896788150591744514076714427040352075280259268127205675157904256929583126996905826621067659898053666902205277717605359349601502375257978499130566555329427877505229555836011093615049689495136244560084171399418362612778456839864405405754766323187052312794950815701259816813344125133759474453263760586476441701049899555002245981665989778322407883992706566767987294733672732882170944874077880815745295519183644700050865560203430528651886750650105833020884218482131395433353215948969769323987222911860072024426375761677450690607475882566629983000330888297408206076325989261842627882015738083451140116889754045741157477852093786215563333812938705404512143284116663211068118807159851173629121024287578214798332277703737057227035881456984460751045833423488877029072272683385353483809183704256271994830789579006224525595060256701381669038045333200650404347995990939403581005796647665680138486606023094048405005269971446963793609065809653572926027525692176151078225802554847683457129574420886817280573476958922093305532152813233803266879759488243063629034074399384410676206235739876831597393926516916208013898195721017140540315071718044908806685186253533045639269637419077638313133007497170609262821854083981858601349104405593846372368436706924810954844626919695982021284725942259338710294785375894194909164930637479935633852041478026572993084702443302731510688098309799303027444182095974375715669162992234381181752080435475374198498300025036180889545574758172603728349512241610855126269082116100675486020940065949669810012832387938420383958887845126673994674175724856070508569581993904671152141495998847788971883046117870278344922340307103097852584914684740145390412419736795910292656690151508955365092660353531922074242620009218099555138455445959314941240796350873945637529723377596608987119230951272210183548278148317662214170567088125143664893210036333129136468505677091048368209888237338825131626629419608244795816473069958108880467914452108056496137977345388742958255317017290761564477663205034920385317292150638592898152573148284456116603916691646336828998230596429857382214451283736274858558488906436583736492220611827793732995883437270378232751642405520059998388210053974286517282566333751191981755480792423652003 293292450639250278323294643927794658708893464734152680384924377325294120758403373544566004972316920761829595507703503555631328987718934709153245942376640464320296876503895007990745517259723115073895537747140343556458877147264156184128503362911086254121956068609629084787952122693145825443381042507477081725454464233032187463320421356135487610765580713559160074635738034767963614422345018900059914072322400421163894506337147259584743152690754293979608538128747172790333971405303406053847320002050309389076644581677645311810697390302069821518506470104720931460426104468540832540366196400539253726030432887140628654743515045851491270238108367780634857187598836613801418677164203553668140469739252691173007054593377952964330521922103396839099537393170275963116912966814219307208897151219404622579455371804205547743994553265430086074771008238866734350536698284348486241415932949617955791949980254449977050394764406077382955576252364043080574828148160931672201742383493086713272855479221692511455190696883007206178204479462837254856275070982555192479856373003921814906773448413678351954748293546258450992598812720720580749050819458981880646387861674313531352969663728666589519940837987447048805632994830916197287848266097563169582493049798367850677056503111383752707349780165474599359714573614351560520713879107236781710369604150873766366542812938650807344527054014502866744186470325943115662806432588975441210079833523703444307265467136612774964480479208195215277075143530237096850726289016066515795336863597376259129955303819934372383935270893371894147354848843109037056855781343734391608810105055284377118382918693150857008343400586499888261093789324508668011866897328150985696348388972752736120198336235060484567986748463068441158289137682321330976425723296933576223914226769395827559473430896414624203483020467906459348700859858985549975917659872382893446209960311235281329697609742714973461419224955665497415321667497063882308798581728322088717639044175707762695998046121445294857946410630753846593390461204946830607994755921847995121665456697343709818488915896270916034912770449381184851298684116518001099628752485512970336173202855464092213532558835228246091509347019565109397809563809110350257444627025410576904618700250064866307615284881810534587583724960847997098279743846997503844514670415312980658722663728959980265956525144681814892824034895516934290136159092761416607109696905442043589422222140476918233361028437510565759510236885366016143089062878750367351248121031106007748951557219759761696610123738067749841361725897763991465904233420136869020181933420042980835116123489554850431587690694917805254452726398282475286937219571645942395548112040334174321205877883486264998972016397738573385429647071903278848291681561820433370936255647156709893875551798749888545916569512658871544948078687448945443300371095128918063551430599390889777123544796148122578596897833958225617930674695501876094091519562848552878092842201188192109600840401678212205282399410199679521497448141228157525107433515520489585846967244980440338827612467368936973723499952897013466679908484912720929746315459969211879073286372680556794197900921779580150089035106216201093981160975560245873520691597530454627024424490532260317456484895016981995659606431591825562765338878695072660797941496701796103628821373762636950508667828953641322485029086506951130445449199324402751700646798517493501652689622673898438897606098914872679072652714179855926337971777526118287491076688369835161411949313607199176983902662147732032958518129697182615493251832666618754294126757153642901149381331016996996575274456273374233890942396030086030295366952322707282117151903167627664501531296200862440366877549707919616211724339664717090739550155345917721107445573860180723232821615705700754610667260899183453105331418542289101124 474557153778057774917222250330358697712391364650036724522802668382074871307939627666976483973908666476462915590440582443384638427970660835220593515760943315958456793823322555366283605985582483595845546283066513914513048874994744065005533492905702908000538834838723381356724857075312246419512854330362574827335289853376927245755688141276881633730801718773842031383617030195830434043382261927264794092825508977410185902829349391339449852863444576401555713811923241675581459422221114952132133963647380355295283385716716763740413961607181528283062533872829559540168473527299569489392895626383566058608797657636877732151270257041631455966680672758881231820219071243635733922408186327415054588264275315955178505498490334853612450783756241999588832652792680188667085123645655181847581186010497616809159054708771695007465291225213658200122146616547484122057292049364599763210272287763159901818121258108940502993580469253775378479994314220847064967434866040154026411698912271609786388783741073482742768605472595022922146706041416587838288192708492088707940417332690858285802801790345787124081158503109550873548317103770129248715015713354232886127593458621041257087061859433383346586278902190855822118786129459904879883216429043498688492540493110838306741786725698057115941421887129338081022004421671938732832302065728525680223904947588366451550367513797664577750837314495770799262089275346249086997132324258284667521897397734992122530226246304690348050409620769606625433816208122469220518671091738605817843623528486106187883210329816454090834452009714602852920941489634150248105317240522542200554619131998804158734993973410125135549075744404145190676916321414494632934557226204652598553666690358095469799838610318463067117315018397869035794367238157342070040772986428712468474310940795245922086209353254488608888775234229646401013654809801251235734473216508027205684413574995867806139310792614528463665206621655275737729551489770449076785876461994821599809989049785643511743341640628939557997276190957277122042347955596936441015640140330126517098809913292679587812903119182776106937196825142862301989291592400567729611752816401267744379279181453354056160440850966329542649463909319155138967041661204136473007960838349282309130843534181529518683403688970385761212845985135575313078076124701240901741706296769965119473709562383469142985597417365200246307844079221190562130989882340422831635291965698744971091260185810118883765376433501505163091242682013681823227549484773461399653126301077454712745166285569415269536151263759925992439951700318839149361362994557755837462506897001902928421655642368084234854570454406048318081760472681859697613425807385819227145505966851090529219776079207282139512331469456618294236332258156811893930951199239511009249388654653880503138373652833870404517918617064465391320447124155870254255215722048614045572715325333149115833839581524016773506062764595705553564526736979902667084604265291855609603530299497991412628284583774186580998068573191913902679200221663632899305931815545525766736512819738612942555961979610547828849769035013114142165929424978670599556328292357150299457245260525683468192575097504436220597604688210105765133302471559093662492574643648324905369346830839363415309069809701722141050018851328621473057995568846581616163034157055328025703063993771855050063806284399600637426269882857825076082978922701999360687766029468765711836237900822216101111776666002997822737545924216189055474440283203209335859286576607173986543575943026807421779719135217690141838986044149290671989389810012007497252382074170933662713858994222031916960591748424012826789094969178370486411970869014353618946150133764057521883745747484598715225436038614356199948216560276544884472546038783188099340197216265700783231209825759675041127949827232934645087086899334712753127 767849604417308053240516894258153356421284829384189404907727045707368992066343001211542488946225587238292511098144085999015967415689595544373839458137583780278753670327217563357029123245305598669741084030206857470971926022258900249134036855816789162122494903448352466144676979768458071862893896837839656552789754086409114709076109497412369244496382432333002106019355064963794048465727280827324708165147909398574080409166496650924193005554198870381164251940670414465915430827524521005979453965697689744371927967394362075551111351909251349801569003977550491000594577995840402029759092026922819784639230544777506386894785302893122726204789040539516089007817907857437152599572389881083195058003528007128185560091868287817942972705859638838688370045962956151783998090459874489056478337229902239388614426512977242751459844490643744274893154855414218472593990333713086004626205237381115693768101512558917553388344875331158334056246678263927639795583026971826228154082405358323059244262962765994197959302355602229100351185504253842694563263691047281187796790336612673192576250204024139078829452049368001866147129824490709997765835172336113532515455132934572610056725588099972866527116889637904627751780960376102167731482526606668270985590291478688983798289837081809823291202052603937440736578036023499253546181172965307390593509098462132818093180452448471922277891328998637543448559601289364749803564913233725877601730921438436429795693382917465312530888828964821902508959738359566071244960107805121613180487125862365317838514149750826474769722903086497000275790332743187304961098584256933809364724187283181277117912666560982143892476330904033451770705645923162644801454554355638294902055663110831589998174845378947635104063481466310194083504920478673046466496283362288692388537710191073481559640249669112812371795702136105749714514668786801211652133088890920651894373886231149135836920535329501925084431577320773153051218986834331385584458190316910317449033225493406207741387762074234415943686821711123715432809160543767049010396062178121638764266610636389406301819015453692141849967274524047153287975708918568829240505301914238080552482036917446269692999686194575634158810928884264536776605470314486730452587863759859213749543784246395826298688570780920348796570945983572411357819971698744746256376712082945778196373291343449408942122562047015139131878974738124852267148975101839438744988871140788560513482326287037117126404871012070922601479567379697966316612363523828750901247332183462461696723505329176966146275001827675833801677598082830615265596414694624857644440317044883763537779131922934666442261149323853572534486870964334984550645379031761622693618007185264850425653962693547138484347867195191679665979330060090742222632761059944380185644301810590397013925451583758950434488129723336936268525811604815697555586817177532109124145924724038892957384377672139352102960598553931171495201432481778761176123828140408487696372500686183522229124985452398786280467983391593424176648362891790424413365331066015352583480064719053281383574446979484802573268987910127608845837909891391529302643752326362178530531633206240262390476019284016370686639794426306859114463447119339536013266241178779532393771321371623732765554704718704136709625282920447035823334447541654276960975653757124129331885367534492000572474113353241959911298969364776206528428122026402112388412827986259213488927523496114540009382764917870501810198638396044981812412060729327623350363264977009147955525256634006598763621797365422174797504173846473287482641642678626251546508831324576563863240325239028913535866204697387060680037365208456516707337821337060901063302036931685186385277043685461155592313588322275816159940899941261975212096194129105820447642790125881506464031441465375795738617088132118098192418317877001854251 1242406758195365828157739144588512054133676194034226129430529714089443863374282628878518972920134253714755426688584668442400605843660256379594432973898527096237210464150540118723312729230888082265586630313273371385484974897253644314139570348722492070123033738287075847501401836843770318282406751168202231380125043939786041954831797638689250878227184151106844137402972095159624482509109542754589502257973418375984266311995846042263642858417643446782719965752593656141496890249745635958111587929345070099667211353111078839291525313516432878084631537850380050540763051523139971519151987653306385843248028202414384119046055559934754182171469713298397320828036979101072886521980576208498249646267803323083364065590358622671555423489615880838277202698755636340451083214105529670904059523240399856197773481221748937758925135715857402475015301471961702594651282383077685767836477525144275595586222770667858056381925344584933712536240992484774704763017893011980254565781317629932845633046703839476940727907828197252022497891545670430532851456399539369895737207669303531478379051994369926202910610552477552739695446928260839246480850885690346418643048591555613867143787447533356213113395791828760449870567089836007047614698955650166959478130784589527290540076562779866939232623939733275521758582457695437986378483238693833070817414046050499269643547966246136500028728643494408342710648876635613836800697237492010545123628319173428552325919629222155660581298449734428527942775946482035291763631199543727431024110654348471505721724479567280565604174912801099853196731822377337553066415824779476009919343319281985435852906639971107279441552075308178642447621967337657277736011780560290893455722353468927059798013455697410702221378499864179229877872158636015116507269269791001160862848650986319403645849602923601421260570936365752150728169478588052447386606305398947857578787461227016941976231327944030388749638198976048890780770476604780462370334652311731917259022275279049719484729402703173973940963012668400837475157116140703490026036202508248155863076523929068994114722134636468248787164099666909455277267301319136558852258118315505824931761218370800325853440537160905176808274838203419675743647131518623203460548702109141522880387318427925344982092259751306110009416931119147724435896096399985647998083008852910897670082853726918551927719979412215385439723053959315414398138857442262270380280836839533531604742512097156000891781304513576085692722249393379789544161848297290150554373633260917174441889790898592235682426265587601826241629298401669764626959409252380695106947214046786691959434774291018901296831603729901890616247343646194682164071186417580849839123974036355379645430041900829277996679336651809973902311588216902636153583960299455389435032956464470900152299104417629354952406746787802327588972935760685951810802539226146154696861250057188008791223959196156125609023363149636725059728169461681428260728093432264097299902800184174934857409569226585367278536556583507326855848584555423323719297146611541119319992884457666223939536426590032631423038022923241751011767334870062128858972044683512477987776893731923730583051116788452591284244482636412624247765918678433198505840884827104437763118152210987148074624514420426277759644134249068508881330016388235893124009810812452155034949361306347050636280397752842597337568852222601282611407044728401473076178857455024925325165424318330641121159430920868324547744562612234037286852343932536959209649841584183134499101199660814020543340932583112316636490217995763959472031452690633748798890905495510226577099319461060830496457953121399887469132334386827003119308690351414520009452170695742708269022791170059870817749626936632016108157460217806859684642232912293919787840006391582289695241267225050836866566915365052743279505217211714607378 2010256362612673881398256038846665410554961023418415534338256759796812855440625630090061461866359840953047937786728754441416573259349851923968272432036110876515964134477757682080341852476193680935327714343480228856456900919512544563273607204539281232245528641735428313646078816612228390145300648006041887932914798026195156663907907136101620122723566583439846243422327160123418530974836823581914210423121327774558346721162342693187835863971842317163884217693264070607412321077270156964091041895042759844039139320505440914842636665425684227886200541827930541541357629518980373548911079680229205627887258747191890505940840862827876908376258753837913409835854886958510039121552966089581444704271331330211549625682226910489498396195475519676965572744718592492235081304565404159960537860470302095586387907734726180510384980206501146749908456327375921067245272716790771772462682762525391289354324283226775609770270219916092046592487670748702344558600919983806482719863722988255904877309666605471138687210183799481122849077049924273227414720090586651083533998005916204670955302198394065281740062601845554605842576752751549244246686058026459951158503724490186477200513035633329079640512681466665077622348050212109215346181482256835230463721076068216274338366399861676762523825992337212962495160493718937239924664411659140461410923144512632087736728418694608422306619972493045886159208477924978586604262150725736422725359240611864982121613012139620973112187278699250430451735684841601363008591307348849044204597780210836823560238629318107040373897815887596853472522155120524858027514409036409819284067506565166712970819306532089423334028406212212094218327613260819922537466334915929188357778016579758649796188301076358337325441981330489423961377079114688162973765553153289853251386361177392885205489852592714233632366638501857900442684147374853659038739394289868509473161347458166077813151863273532313834069776296822043831989463439111847954792842628642234708055500772455927226117164777408389884649834379524552907966276684470539036432264686369794627343134565458400416541150090160390637131374190956608565243010237705388092763420229743905484243255288246595546440223355480810967085767087684212520252601833109933913136565869000736629931102674321171280780830532226458805987877102720135793716068098730394254459720935856675866456145070367960869842541459230524571602028697440266665287832544101709125269707980322092118224838384193118018186175525647008294201816773077755860774211821118901455620965444379636138613296227769201828701267415277660043306896484500379892555823947005552751387531091670455497213906213953567739092753053755463150734214610529666714716565449342472532741981221620230071084004594376416481027203847001653568290918276993378376216721359399769620677258275061297166224556001388305386894876511139263857498747365501649366389356403678263821007174781226901748608336868295477711983961703567896554929601943460189436851921572672584996275300870358457086534554678984153559004539975100751032496947447213748132662477677556471903472949176719505323110873569517433996307010833369359857605244761453658161615797009874656518308526938163992973527136072468961970884277062719483362229365797772734519107126005883970156889473582610880840179219139130414469269417169515544704664463929890170084985464569576284366834728840839051208754511106084557248867821587377489139835166754803585464591685441284138814092947814445181130542195838738826357943201008279019099264404661864582560013106561192282454626456294820619306962729948534491433994391842237246954673095369260000345399736820086790440339644700089744032324157818786948149169699595283519826646511688475421072754207627427894654299834855521026410063215258907832268098360159068834896738427041399740235482796517463796159272708690426632605184003497170841471923535088716461629 3252663120808039709555995183435177464688637217452641663768786473886256718814908258968580434786494094667803364475313422883817179103010108303562705405934637972753174598628297800803654581707081763200914344656753600241941875816766188877413177553261773302368562380022504161147480653455998708427707399174244119313039841965981198618739704774790871000950750734546690380825299255283043013483946366336503712681094746150542613033158188735451478722389485763946604183445857726748909211327015792922202629824387829943706350673616519754134161978942117105970832079678310592082120681042120345068063067333535591471135286949606274624986896422762631090547728467136310730663891866059582925643533542298079694350539134653294913691272585533161053819685091400515242775443474228832686164518670933830864597383710701951784161388956475118269310115922358549224923757799337623661896555099868457540299160287669666884940547053894633666152195564501025759128728663233477049321618812995786737285645040618188750510356370444948079415118011996733145346968595594703760266176490126020979271205675219736149334354192763991484650673154323107345538023681012388490727536943716806369801552316045800344344300483166685292753908473295425527492915140048116262960880437907002189941851860657743564878442962641543701756449932070488484253742951414375226303147650352973532228337190563131357380276384940744922335348615987454228869857354560592423404959388217746967848987559785293534447532641361776633693485728433678958394511631323636654772222506892576475228708434559308329281963108885387605978072728688696706669253977497862411093930233815885829203410825847152148823725946503196702775580481520390736665949580598477200273478115476220081813500370048685709594201756773769039546820481194668653839249237750703279481034822944291014114235012163712288851339455516315654892937574867610051170853625962906106425345699688816367051948808685183019789383191217562702583707975272870934612759940043892310325127494940374151967077776051505646710846567480582363825612847047925390383123392825174029062468467194617950490419658494527394531263284726628639424295473857866063842510311556841946945021538545249730416004473659046921399880760516385987775360605291103888263899733351733137373685267978142259510318421102246516262873090283532568815404808221867860229612164498716042252542729788767573536538998797286512797562520871445910011325082656755681063426689986363979505550544819855623722967350481349118909967480039223093986924066166457545404936060118409052009994598705296810580503087126361437511127533002879486284936194886170144519515233199386247858334745138457147456648680504972469035924356783657353766981558256724348878787751866923322371865955257975609716514046495205694477706540498811627470602506493896014529800681658855159055710214739532197318523660419017660339301623298941591446471683126187601177191895629824418517868424838414910539832296064451603321007324853204621614657771405141617697580015004936682296178101054533391943944123905569520837541096558608077888345532002637071851959624289097591223465833634385729262647300159550065419345033756611110869372579631515787020587841693387134506085420670087723556578252860921553255128759699132107609995284476205933024948010832988407920007625793598028914803733559556692228913551418584053585994480318126063208995275382028439401784090147186101845034908858927154586436673809978771751242211483205058540770542896309064139258372132775822251701626759607150905687763620513056386116748594401541769662948145375416953727655955634639850303662531646808070484609838001206426704548059893749144290642315597017017438964161150574528782110940186835618302033982110522945955202039889941082206378323170602923322626025580897227812842195539848376255820376875694581380659953693660023322802909046085854513975915477469471750918862223584751428752300431069007 5262919483420713590954251222281842875243598240871057198107043233683069574255533889058641896652853935620851302262042177325233752362359960227530977837970748849269138733106055482883996434183275444136242059000233829098398776736278733440686784757801054534614091021757932474793559470068227098573008047180286007245954639992176355282647611910892491123674317317986536624247626415406461544458783189918417923104216073925100959754320531428639314586361328081110488401139121797356321532404285949886293671719430589787745489994121960668976798644367801333857032621506241133623478310561100718616974147013764797099022545696798165130927737285590507998923987220974224140499746753018092964765086508387661139054810465983506463316954812443650552215880566920192208348188192821324921245823236337990825135244181004047370549296691201298779695096128859695974832214126713544729141827816659229312761843050195058174294871337121409275922465784417117805721216333982179393880219732979593220005508763606444655387666037050419218102328195796214268196045645518976987680896580712672062805203681135940820289656391158056766390735756168661951380600433763937734974223001743266320960056040535986821544813518800014372394421154762090605115263190260225478307061920163837420405572936725959839216809362503220464280275924407701446748903445133312466227812062012113993639260335075763445117004803635353344641968588480500115029065832485571010009221538943483390574346800397158516569145653501397606805673007132929388846247316165238017780813814241425519433306214770145152842201738203494646351970544576293560141776132618387269121444642852295648487478332412318861794545253035286126109608887732602830884277193859297122810944450392149270171278386628444359390390057850127376872262462525158077800626316865391442454800376097580867365621373341105174056829308109029888525304213369467951613537773337759765464085093978684876525110156143349097602535054491095016417777751569692978444749403483004158279920337569016386675133276823961573936963732257990753710262681427449943291089669509644568098900731880987745117762793059985794947804434816789030061426848048822672407753321794547335037784958774993635900247728947293516946320983871866798742446372378788100784152335184843071286821833847142996140249523776567687543653920815759027621392685324587996023328232597446436507002450724624249402995143867654473667405062330676434582927111354195947728714522530465688630820252800177715841192188865542236928153655564870102281125882939535301265710271939527953465615564149676446719116383354130639339828800418157146328243091370670524412071057146391800609722276230127602953862586718926036775017109837412816917715772867254015593504317316265794904607936479595839787598051089582110958733744345813281038893424770889392906017403018254928676387473014593494484748216420405965726196499810080855303970430491689250543581252033502682338875599619641812288440632932747081032991286556772518169587373348601807134431936577609267292453401924891849030478678584553674396545636533708828920842479449850819984622101966654063126938782811105234585758173729067499415652044589980470726977824392969445182203638703261791024393947608251716530105388933390515226013036761851590972224650273978667544055136838872378076897099376208909754982952698687106698182968588099598290658944248016233293980739951604723768618818988025153053789419965011711835304495397356260891077378238008644005362228337593202953351319947221003382243822598345977263630964628792075485381153256266124329676054706567699408354112250455259157266392480181299504479001680238453381377643429153749489690379135683807457778608861240318561106268758973783767471733577394042772601713728365362154960585950598497577622460881101923637876057454447680644354180535944529478119086995093400258805599426509882013786684605904102076934922359394426223352287389147530636 8515582604228753300510246405717020339932235458323698861875829707569326293070442148027222331439348030288654666737355600209050931465370068531093683243905386822022313331734353283687651015890357207337156403656987429340340652553044922318099962311062827836982653401780436635941040123524225807000715446354530126558994481958157553901387316685683362124625068052533227005072925670689504557942729556254921635785310820075643572787478720164090793308750813845057092584584979524105230743731301742808496301543818419731451840667738480423110960623309918439827864701184551725705598991603221063685037214347300388570157832646404439755914633708353139089471715688110534871163638619077675890408620050685740833405349600636801377008227397976811606035565658320707451123631667050157607410341907271821689732627891705999154710685647676417049005212051218245199755971926051168391038382916527686853061003337864725059235418391016042942074661348918143564849944997215656443201838545975379957291153804224633405898022407495367297517446207792947413543014241113680747947073070838693042076409356355676969624010583922048251041408910491769296918624114776326225701759945460072690761608356581787165889114001966699665148329628057516132608178330308341741267942358070839610347424797383703404095252325144764166036725856478189931002646396547687692530959712365087525867597525638894802497281188576098266977317204467954343898923187046163433414180927161230358423334360182452051016678294863174240499158735566608347240758947488874672553036321134001994662014649329453482124164847088882252330043273264990266811030110116249680215374876668181477690889158259471010618271199538482828885189369252993567550226774457774323084422565868369351984778756677130068984591814623896416419082943719826731639875554616094721935835199041871881479856385504817462908168763625345543418241788237078002784391399300665871889430793667501243577058964828532117391918245708657719001485726842563913057509343526896468605047832509390538642211052875467220647810299738573117535875528475375333674213062334818597161369199075605695608182451554513189479067719543417669485722321906688736250263633351389281982806497320243366316252202606340438346201744388252786517806977669891989048052068536576208660507101825285255650567944878814203806527011099291596436797493546455856252940397096162478759545180513391822939534142664940986464967583202122344594252194010951628792141212516829668136370797620033339564159539346891355838121135604093196268049949105992846670646332057937005475610162854973257299619470480492076850956333421036632613179286256840668931586290345778048468057021368584750410511267223898505810941466621070170684697331123978364472292069183189117276473891737571449504112097584787805436440284844624908509495931264785407435818084677110087732097687754125691803271876839423626065498123109022446750442113617876851720773147663327100856744024458056722828272928997198684353998611409977139784245144753743424832011951582545949588631502979425240974422802490123195234086733092316906809188011452487891836581726255751654350404616445490963848405473888617564834997078346591581596350404024485232202791480396648925530479368278339440086683641794312068481141796460983698582219934750184600569003147671860785996904725169806938669786686258243798927096520006683651876653424566142296502976015333633163170402909135211254898824328823938866421741169207335032642319589721213702546132771233902267092609692079996825633945449357953128169318728249305131871497901850667666099339002851943116362081768206089899007570055011828107574963611518239659808082191489047498633981021451280824475217573022390893089888379699160619385773767559504565718556915768255303237166964273769100500945086906682820865688899649987529020610000912820224059499746948787060282128402335555967868300660521381571548685841221618010974781039689578599643 13778502087649466891464497627998863215175833699194756059982872941252395867325976037085864228092201965909505968999397777534284683827730028758624661081876135671291452064840408766571647450073632651473398462657221258438739429289323655758786747068863882371596744423538369110734599593592452905573723493534816133804949121950333909184034928596575853248299385370519763629320552086095966102401512746173339558889526894000744532541799251592730107895112141926167580985724101321461552276135587692694789973263249009519197330661860441092087759267677719773684897322690792859329077302164321782302011361361065185669180378343202604886842370993943647088395702909084759011663385372095768855173706559073401972460160066620307840325182210420462158251446225240899659471819859871482528656165143609812514867872072710046525259982338877715828700308180077941174588186052764713120180210733186916165822846388059783233530289728137452217997127133335261370571161331197835837082058278954973177296662567831078061285688444545786515619774403589161681739059886632657735627969651551365104881613037491617789913666975080105017432144666660431248299224548540263960675982947203339011721664397117773987433927520766714037542750782819606737723441520568567219575004278234677030752997734109663243312061687647984630317001780885891377751549841681000158758771774377201519506857860714658247614285992211451611619285792948454458927989019531734443423402466104713748997681160579610567585823948364571847304831742699537736087006263654112690333850135375427514095320864099598634966366585292376898682013817841283826952806242734636949336819519520477126178367490671789872412816452573768954994798256985596398434503968317071445895367016260518622156057143305574428374981872474023793291345406244984809440501871481486164390635575139452748845477758845922636964998071734375431943546001606545954397929172638425637353515887646186120102169120971881214994453300199752735419263478412256891502258747009900626884968170078406925317344329699428794584774031996563871246138209902825276965302731844463165260269930956593440725945244614498984426872154360206699547149169955511408658016955145936617020591456095237002216499931553633955292522728260119585260253350048680089832204403721419279947328935672428251790817468655381891350180931915050624058190178871043852276268629693608915266547631238016072342529286532595460132372645532798779177179305365147576520855735047295356767191050420211055405351728212433592766274791168963298549175832045528147936356603997464958941225727004649704018735853834622716190785133839193778941422377627511193343657347492169849077779297598712353364373853942824542585958576458482987602413103991232380065796386499454912181081828217167289291710148674369916395174029190438189548389356035674800341835487695365016408485160768719186288020093259829591791694622919103302054412544109566102264354399696829783195619624077698535116713561929945765386989897966749657953832518102345231966443888160155216881084904904317090004901481074676869630632369626025735730030490902338711821203828222405717477343399256596198434163647617685064250649122936572052323328228417454677384995119099910716554873315886591156616789030727702583707154833222835289554444585024163268113058284510733164073801824546015848424769638956930905625279488594783250167312368814158529796956755285237886939021728123236407952613748788950578257045664604691293533396967959222346551494999571495470045961012027217829016189271956299105432949692878097207356879055106933790429015057558510815770435880456545158164836447492009407079442613198478113189459834918201248123671400586964631932996181883631211650994648458134403153245501136898608491158629496620665392127550224367598078567547787784744503564957104435209664964181448764753537618833943880460540934001762065849882087345127285673625620763581012437198133327078726130279 22294084691878220191974744033715883555108069157518454921858702648821722160396418185113086559531549996198160635736753377743335615293100097289718344325781522493313765396574762050259298465963989858810554866314208687779080081842368578076886709379926710208579397825318805746675639717116678712574438939889346260363943603908491463085422245282259215372924453423052990634393477756785470660344242302428261194674837714076388105329277971756820901203862955771224673570309080845566783019866889435503286274807067429250649171329598921515198719890987638213512762023875344585034676293767542845987048575708365574239338210989607044642757004702296786177867418597195293882827023991173444745582326609759142805865509667257109217333409608397273764287011883561607110595451526921640136066507050881634204600499964416045679970667986554132877705520231296186374344157978815881511218593649714603018883849725924508292765708119153495160071788482253404935421106328413492280283896824930353134587816372055711467183710852041153813137220611382109095282074127746338483575042722390058146958022393847294759537677559002153268473553577152200545217848663316590186377742892663411702483272753699561153323041522733413702691080410877122870331619850876908960842946636305516641100422531493366647407314012792748796353727637364081308754196238228687851289731486742289045374455386353553050111567180787549878596602997416408802826912206577897876837583393265944107421015520762062618602502243227746087803990478266146083327765211142987362886886456509429508757335513429052117090531432381259151012057091106274093763836352850886629552194396188658603869256648931260883031087652112251783879987626238589965984730742774845768979789582128887974140835899982704497359573687097920209710428349964811541080377426097580886326470774181324630325334144350740099873166835359720975361787789843623957182320571939091509242946681313687363679228085800413332386371545908410454420749205254820804559768090536797095490016002587797463959555382574896015232584331735136988782013738378200610639515794179281762421639130032199136334127696169012173905939873903624369032871491862200144908280588497325899003397953415480368532752134159974393638724472648372371778060327718572078880256472257995488607836037497713507441385413534196095156707943014342220494987672417499708529209026789771394026092811751407895282063429197536446597340228734921123771431499376099205312996947564125024903561848040244394969511267559324948604395926773056494817225781151520994607002936055401964416835889859622961318355324315114793041741467260230411554601663884351862275243637837947897545836318967297103774885121166723048396900043079553158287110435115210744538088455682644029457555719954738738795822246259157721831614314035063098057885287300460207777653572372475104140582848522844878091291970099253217857192746028125748804854657727442953985127547360156884052363648535755257944986490927144449740988509376726797738077662856088656798455839742701166469716407883742330979324283564800064864719102718342642539218502354826603657785554478157371827748015702087162282569121506302629085646201283163633919678632441939909587786599496559642085352684164930596703472672522014652188296629683818988136664519774347868682061432182593950070706549715822787094556325215174704552376008601466902043965793380300826299932770618871050109424637258447662851438077612889444678786833812026326175716557680436049097627770805397737138570704107214654650134721314252233602268421127402339228376956957601456528354060410453932132517648662635057172406502503837514654406224716717772997542026407248746757652422038245456408213754906022104740883028157295022539019268696403174209715545264875968629294514498136698579512634694467565369253856754422738685574182361584977597118580892667520823062404097621817750388005648667245174306604802630448172914366768304729922 36072586779527687083439241661714746770283902856713210981841575590074118027722394222198950787623751962107666604736151155277620299120830126048343005407657658164605217461415170816830945916037622510283953328971429946217819511131692233835673456448790592580176142248857174857410239310709131618148162433424162394168892725858825372269457173878835068621223838793572754263714029842881436762745755048601600753564364608077132637871077223349551009098975097697392254556033182167028335296002477128198076248070316438769846501991459362607286479158665357987197659346566137444363753595931864628289059937069430759908518589332809649529599375696240433266263121506280052894490409363269213600756033168832544778325669733877417057658591818817735922538458108802506770067271386793122664722672194491446719468372037126092205230650325431848706405828411374127548932344031580594631398804382901519184706696113984291526295997847290947378068915615588666305992267659611328117365955103885326311884478939886789528469399296586940328756995014971270777021134014378996219203012373941423251839635431338912549451344534082258285905698243812631793517073211856854147053725839866750714204937150817335140756969043500127740233831193696729608055061371445476180417950914540193671853420265603029890719375700440733426670729418249972686505746079909688010048503261119490564881313247068211297725853172999001490215888790364863261754901226109632320260985859370657856418696681341673186188326191592317935108822220965683819414771474797100053220736591884857022852656377528650752056898017673636049694070908947557920716642595585523578889013915709135730047624139603050755443904104686020738874785883224186364419234711091917214875156598389406596296893043288278925734555559571944003001773756209796350520879297579067050717106349320777379170811903196662736838164907094096407305333791450169911580249744577517146596462568959873483781397206772294547380824846108163189840012683667077696062026837546697722374984172666204389276899712274324809817358363731700860028151948281025887604818526023744927681909060988792577060072940783511158332812028263831068580020661817711553566297543643262516023989409510717370749252065713608348931247200908491957038313677767252168712460875979414768555164973170141759232202882189577986506888874929392844553177851288543560805477656483380309292640442989423967624592715730131906729712874267719902948610804741246781833852682611420381670752898460455450374862995771758541370670717942019793366401613197049142543359540052866923358061616864272665337091178149737509232526601099424190496024041511863055618900985330117746623615616566009457139258975109547590982858619538036145889523539106443124603884842182098941638637548171906028087532394933527638226788343225501287606274643336135008119489060067840120549068009291564064379312063359082809648887368947229050859267201837009056249481947056986667247983272613453793061700052857090215127978407343476455691910180958433888764899727902856383350801312788059420984225764639476934495351472344368378269248993257165315478989382700563089305091414958683360716732769123987693336295324219735686243006860859394586972781718596470358640226000051521753320261703249717235895451462906654277691109104798511136795119716693327114144508374261838635519325964172105610177655497196250152211278162194459356096889525904108937048446365381684070804051826401840022935832498416717619709113525639658395649122770376893207184531716134432483666323993270551339035218114005499546585256012064535246957369117968964747902953529119180215337242949995846921733848837915195886187001861325449994881323822625210088341209936789653316391877676615429425692264769833301782700874174761496634021422064722504296658080182482252309872818813858857948350538363810349731134737414836547981363996405859687667632475350775952918799927368383642885371047693847030860201 58366671471405907275413985695430630325391972014231665903700278238895840188118812407312037347155301958305827240472904533020955914413930223338061349733439180657918982857989932867090244382001612369094508195285638633996899592974060811912560165828717302788755540074175980604085879027825810330722601373313508654532836329767316835354879419161094283994148292216625744898107507599666907423089997351029861948239202322153520743200355195106371910302838053468616928126342263012595118315869366563701362522877383868020495673321058284122485199049652996200710421370441482029398429889699407474276108512777796334147856800322416694172356380398537219444130540103475346777317433354442658346338359778591687584191179401134526274992001427215009686825469992364113880662722913714762800789179245373080924068872001542137885201318311985981584111348642670313923276502010396476142617398032616122203590545839908799819061705966444442538140704097842071241413373988024820397649851928815679446472295311942500995653110148628094141894215626353379872303208142125334702778055096331481398797657825186207308989022093084411554379251820964832338734921875173444333431468732530162416688209904516896294080010566233541442924911604573852478386681222322385141260897550845710312953842797096396538126689713233482223024457055614053995259942318138375861338234747861779610255768633421764347837420353786551368812491787781272064581813432687530197098569252636601963839712202103735804790828434820064022912812699231829902742536685940087416107623048394286531609991890957702869147429450054895200706128000053832014480478948436410208441208311897794333916880788534311638474991756798272522754773509462776330403965453866762983854946180518294570437728943270983423094129246669864212712202106174607891601256723676647937043577123502102009496146047547402836711331742453817382667121581293793868762570316516608655839409250273560847460625292572707879767196392016573644260761888921898500621794928083494817865000175254001853236455094849220825049942695466837848810165686659226498244334320203026690103548191020991713394200636952523332238751902167455437612892153679911698474578132140588415027387362926197739282004199873582742569971673556864328816374005485824247592717348237410257163001010667855266673588295723774081663596817943735065048165523706043269334686683273151703318733254740831862906656144927668353327053103002641026720042304117345987146849630175545406574314746500699845344374263331083489975066644715076288183627394348570137150362476108268887774897506723895626655446502464852302274268068359654602050625705396214917894144623168065644169451935533306560914144096276270639379758662617589304176633974221653869141973297864742971096193268126644766883354641192685360058402657260564385664159930636595215897142632440315224689650857814408942470604033458336027506080114975354799664121859564452010234609494417143551300346921149209051006686543784234664868966916720203253429987843814522545563355567645557549820517720671801751963550048204276999360070575062711020808467495611991919136774937178720461132839430660770522999301890630290322421941525502899320162685493301334496560568318093030000725578684216452350023734375771731888083748092590473265827773624572859005477181148875921064215214923977661422613882289387280314730031505797717054255243955574760182396822296522979987157871002640131733655489904014729467614619332228743945884830083320094444746750541182290944323102420241647138316458714584803572637486535132901885813632969022136703485723178379418680035471177781815272509649452499684436388255062631913659184543887732698741638976244663455544749423691695675421132760704772724448231284038529704956910589720026372602650716579220640995237592817176719875242072670613280687036112546171934708731855995729215502187058809957309485382863356424620163974233973186273333543962060615335590123 94439258250933594358853227357145377095675874870944876885541853828969958215841206629510988134779053920413493845209055688298576213534760349386404355141096838822524200319405103683921190298039234879378461524257068580214719104105753045748233622277507895368931682323033155461496118338534941948870763806737671048701729055626142207624336593039929352615372131010198499161821537442548344185835752399631462701803566930230653381071432418455922919401813151166009182682375445179623453611871843691899438770947700306790342175312517646729771678208318354187908080717007619473762183485631272102565168449847227094056375389655226343701955756094777652710393661609755399671807842717711871947094392947424232362516849135011943332650593246032745609363928101166620650729994300507885465511851439864527643537244038668230090431968637417830290517177054044441472208846041977070774016202415517641388297241953893091345357703813735389916209619713430737547405641647636148515015807032701005758356774251829290524122509445215034470651210641324650649324342156504330921981067470272904650637293256525119858440366627166669840284950064777464132251995087030298480485194572396913130893147055334231434836979609733669183158742798270582086441742593767861321678848465385903984807263062699426428846065413674215649695186473864026681765688398048063871386738008981270175137081880489975645563273526785552859028380578146135326336714658797162517359555112007259820258408883445408990979154626412381958021634920197513722157308160737187469328359640279143554462648268486353621204327467728531250400198909001389935197121544021933787330222227606930063964504928137362393918895861484293261629559392686962694823200164958680198730102778907701166734621986559262348828684806241808215713975862384404242122136021255714987760683472822879388666957950744065573549496649547913789972455372743963780342820061094125802435871819233434331242022499345002427148021238124736834100774572588976196683821765630192540239984347920206242513354807123545634867301059198538708838317634940252385849152846226771617785457252009784290454273577736034490571563930431286506192912815497623252040875675783850931051376772436915110031256265587191091501218874465356285854687683253076416305178224216825025718165983837997025905791177913352068170485692873127909601343374994586830140164339756532012611373697730255830531248860657800260056765977270360929668653108858592768980702312786965788245067644961155295719237259102842031345737362657096081550029007545619279693722016161135811132959123588168291992537680614589811506794669459078792546649746908077973513045608498183390793067552099316018053403071385818230362617282155625450066157513328096993745858140046841912734830816298550794970887036126212998285191000486065673270434573972730224016631692508155345238718867105973006849916096817418837154967483922583850523389061401461066484091441474130218548330193762662844068386596641324879996945324063679709121898024772956434328255295548413933171319033459861172947775812843753933855422047407079399077716488869157234615764319879283550437930845619453883716034659754278015758236849722635006405692354160729083533350036689500359365804684267974103343996079021449123979199555497127543518882729371370142272300865569248178359723298239500058133208253559385924907687002993967206466522117769219538493711822427088924206317368021815804459541730416569490550451830645461565593943608959752840395873311559184151507634136376079621982782707855354911672704649138401432398888981086671950443092296348383427938424706900995487846892402495531358122103900547109545371545749058148736520300067288665633090633628485328737524638381388153873923548808363006739611463894787869236672138643943145291895672999658972185114891484472138635386650909982284439866593410565763483551055215816997153015338707200573082774161341569916218915009754462366450324 152805929722339501634267213052576007421067846885176542789242132067865798403960019036823025481934355878719321085681960221319532127948690572724465704874536019480443183177395036551011434680040847248472969719542707214211618697079813857660793788106225198157687222397209136065581997366360752279593365180051179703234565385393459042979216012201023636609520423226824244059929045042215251608925749750661324650042769252384174124271787613562294829704651204634626110808717708192218571927741210255600801293825084174810837848633575930852256877257971350388618502087449101503160613375330679576841276962625023428204232189977643037874312136493314872154524201713230746449125276072154530293432752726015919946708028536146469607642594673247755296189398093530734531392717214222648266301030685237608567606116040210367975633286949403811874628525696714755395485348052373546916633600448133763591887787793801891164419409780179832454350323811272808788819015635660968912665658961516685204829069563771791519775619593843128612545426267678030521627550298629665624759122566604386049434951081711327167429388720251081394664201885742296470986916962203742813916663304927075547581356959851127728916990175967210626083654402844434564828423816090246462939746016231614297761105859795822966972755126907697872719643529478080677025630716186439732724972756843049785392850513911739993400693880572104227840872365927407390918528091484692714458124364643861784098121085549144795769983061232445980934447619429343624899844846677274885435982688673430086072640159444056490351756917783426451106326909055221949677600492458343995771430539504724397881385716671674032393887618282565784384332902149739025227165618825443182585048959425995737172350929830245771922814052911672428426177968559012133723392744932362924804260596324981398163103998291468410260828392001731172639576954037757649105390377610734458275281069506995178702647791917710306915217630141310478361536461510874697305616693713687358104984523174208095749809901972766459917243754665376557648483321599478884093487166429798307889005443030776003848474214688557822810315832598741943805804969177534950515453807924439346078764135363112849313260465460773834071190548022220614671061688738900663897895572454235282881166994505852292579379473637126149834082510816862974649508898700630099474851023029683715930106952471087693437905005585468613383819080273001956388695412975938756127551942962511194819382391461855141063611522433925521320804007372172369733656401894189416844084492269404698907856630312063918647984183079442113781062737818733394597275452304292891407190231666249034962519487632622578967547167662088869742375944773214754242791487549750862887831437911584883831024084425195561854241677318898358343593657746630058934594504609325439913774324948470569928369724920381949320520130275754864661047598897938650187510920965913076718700935891273769848677114911871895075073140425559544865912240783882962551885868587478979891610863193971482991836754131662924911325861048030933215492622469790419886183984481149153752539257058004011570770276280224406715336550384568338180178375225534326568377847462063580093918354782530360091383368484426453367730454793181012062947648087600809346656353944229147749482014445169242574938222217161480747090542946666239637718508791684260721766073343979720890534118950068911364188370661947538115031634431298958165071162874205511478773692279847285142623852741475095830736556617726760299241422440158484310191184271303318212521950108808653928815474727802107973895884682810760356541854995215794510358963179023204556089636790847478159276311952121177840057320181004158657399086160878322154832846892711696522053614814241839322855223163786287133265816835692060356964155085419322422763456154219148598449406294978985738114025774306638398202063625193246748395314756189552458971815077702040447 247245187973273095993120440409721384516743721756121419674783985896835756619801225666334013616713409799132814930891015909618108341483450922110870060015632858302967383496800140234932624978080082127851431243799775794426337801185566903409027410383733093526618904720242291527078115704895694228464128986788850751936294441019601250603552605240952989224892554237022743221750582484763595794761502150292787351846336182614827505343220032018217749106464355800635293491093153371842025539613053947500240064772784481601180023946093577582028555466289704576526582804456720976922796860961951679406445412472250522260607579632869381576267892588092524864917863322986146120933118789866402240527145673440152309224877671158412940293187919280500905553326194697355182122711514730533731812882125102136211143360078878598066065255586821642165145702750759196867694194094350617690649802863651404980185029747694982509777113593915222370559943524703546336224657283297117427681465994217690963185843815601082043898129039058163083196636909002681170951892455133996546740190036877290700072244338236447025869755347417751234949151950519760603238912049234041294401857877323988678474504015185359163753969785700879809242397201115016651270166409858107784618594481617518282568368922495249395818820540581913522414830003342107358791319114234503604111710765824319960529932394401715638963967407357657086869252944073542717255242750281855231817679476651121604356529968994553786749137687644827938956082539626857347057153007414462354764342328952573640535288427930410111556084385511957701506525818056611884874722036480277783101652767111654461845890644809036426312783479766859046013892294836701720050365783784123381315151738333696903906972916389508120751498859153480644140153830943416375845528766188077912564944069147860786830061949035533983810325041549644962612032326781721429448210438704860260711152888740429509944670291262712734063238868266047312462311034099850893989438459343879898344968871094414338263164709096312094784544813863915266486800956539731269942640012656569925674462695040560294302747792424592313381879763030028449998717784675158202556329483708290277130140907800027959344516731047964925572409422487576900525749371991977080203073796671060308599332978343849318485170651550478218004568203689990884250852273695216929615015362786215728541480650201343523969153866243268873440585057543362886057348521834531525108254255749476983064450036423010436782848781536767552666541370029268451283685409439808696537806508430540510040815753900232210640521863694031925287857407277812187143925199212370864920235840164432425755587039731938597020950239047907100104993226928840204308949000877847856633689577958426796565854900723746356825128713445111356628784658232695732205029078582055663930406017456625915167088592026354956170436227093173701816015082820522500710899982367374143202792377365403988397007308674534739143459737066884424862857564847562671673783893360435414219866158742385416163155787591524097859101673891784867070914669876869818963900473350306388368303576937287562008701121899678290431371210138846353938415224948169332974070201622792663627268391472030719457188052752400556711726533814630136042147203584728352865539083315599290021782880014417420934661520456661538880298796506052164545405511785651467188288191113199259384245941377157835570505738683763342574573364847868448715522993519667077072717301239600125538497164300659247338370692993806382282024130295513395982895833409704750611410931195480604371907771076185535912320591583806248203434257490747152632462863726132749927635385848996214679576379240786810930690948666332896182037467549032196078381655255718436133517509602111075994993867106931579028938816494664245471855639557557957809414366136503588465042816860742469289169241591303791413540770825766329522556656326105771373981569540068490771 400051117695612597627387653462297391937811568641297962464026117964701555023761244703157039098647765677852136016572976130937640469432141494835335764890168877783410566674195176785944059658120929376324400963342483008637956498265380761069821198489958291684306127117451427592660113071256446508057494166840030455170859826413060293582768617441976625834412977463846987281679627526978847403687251900954112001889105434999001629615007645580512578811115560435261404299810861564060597467354264203101041358597868656412017872579669508434285432724261054965145084891905822480083410236292631256247722375097273950464839769610512419450580029081407397019442065036216892570058394862020932533959898399456072255932906207304882547935782592528256201742724288228089713515428728953181998113912810339744778749476119088966041698542536225454039774228447473952263179542146724164607283403311785168572072817541496873674196523374095054824910267335976355125043672918958086340347124955734376168014913379372873563673748632901291695742063176680711692579442753763662171499312603481676749507195419947774193299144067668832629613353836262057074225829011437784108318521182251064226055860975036486892670959961668090435326051603959451216098590225948354247558340497849132580329474782291072362791575667489611395134473532820188035816949830420943336836683522667369745922782908313455632364661287929761314710125310000950108173770841766547946275803841294983388454651054543698582519120748877273919890530159056200971956997854091737240200325017626003726607928587374466601907841303295384152612852727111833834552322528938621778873083306616378859727276361480710458706671098049424830398225196986440745277531402609566563900200697759692641079323846219753892674312912065153072566331799502428509568921511120440837369204665472842184993165947327002394071153433551376135251609280819479078553600816315594718986433958247424688647318083180423040978456498407357790823847495610725591295055153057567256449953394268622434012974611069078554701788568529291824135284278139210154036127179086368233563468138071336298151222007113150136192195595628770393804522753852693153071783291632729623208905043163140808657777196508738759643599970509797515196811060730877744100969369125295591480499972849701611064550125187604367838650714506853858900361172395847029089866385815899444471587602672431217407058871828737486824404137816364842446043934810470281235806198711988177883832427884865577846460303970693073987345377401440821017341811333998113381891000699945208948672384212296129288506046773474039068920145096545581741200651516663756327426071830681460718106527364561175988497406709995969847369171702054958551740488427598719521521015870011680396878985148941918679370390764009714972378315979325791139623583191381103844180342405096485095458316946736905490956357368928566477062681718461150898410903333287219921493313256677758245684423586406634218532877492443969728769805631445634225669761947914394111477021936356899154992541723187022770427534939815800286407292346660238850084457831455542120842833995291573579471398179902697146707760523414692118593600173703659542448049084856243721186746254561079548571421236827010079456988607811148105094851672329162212195437259828437771264894459586663509599742673823019627389339452718404183124020577335727910054264457178980274780060327226746934694109345710880689604999279167406880594156393872588551490993519447410681121017042134343169107249611533142581265552735671880293087017681008068823932881304289258300723245803987643886216476266617008559976112485962947142821826905155954483725022639843692838852691192907988770748268847337054839436553709910518233214502148430132655571124416352915317849090270717866162204633330356305828819794642977280232177822290722737063492223155721455027283267365610429811742834450959576270951971082295323832953384617770531218 647296305668885693620508093872018776454555290397419382138810103861537311643562470369491052715361175476984950947463992040555748810915592416946205824905801736086377950170995317020876684636201011504175832207142258803064294299450947664478848608873691385210925031837693719119738228776152140736521623153628881207107154267432661544186321222682929615059305531700869730503430210011742443198448754051246899353735441617613829134958227677598730327917579916235896697790904014935902623006967318150601281423370653138013197896525763086016313988190550759541671667696362543457006207097254582935654167787569524472725447349243381801026847921669499921884359928359203038690991513651887334774487044072896224565157783878463295488228970511808757107296050482925444895638140243683715729926794935441880989892836197967564107763798123047096204919931198233149130873736241074782297933206175436573552257847289191856183973636968010277195470210860679901461268330202255203768028590949952067131200757194973955607571877671959454778938700085683392863531335208897658718239502640358967449579439758184221219168899415086583864562505786781817677464741060671825402720379059575052904530364990221846056424929747368970244568448805074467867368756635806462032176934979466650862897843704786321758610396208071524917549303536162295394608268944655446940948394288491689706452715302715171271328628695287418401579378254074492825429013592048403178093483317946104992811181023538252369268258436522101858846612698683058319014150861506199594964667346578577367143217015304876713463925688807341854119378545168445719427044565418899561974736073728033321573167006289746885019454577816283876412117491823142465327897186393689945215352436093389544986296762609262013425811771218633716706485630445844885414450277308518749934148734620702971823227896362536377881478475101021097863641607601200508001811255020454979697586846987854198591988374443135775041695366673405103286158529710576485284493612401447154794922265363036772276139320165390649486333382393207090622085234678941423978767191742938159237930833111896592453969799537742449574075358658798843803240538527851355628112775341019900339045950963168768002293927556703685216009392997374415722560432722854824304043165796355900079832951193550929549720776738082585843218918196844743151213446091063958704881748602115173013068252873774741376212738072006360264989195359727728503392456645001806344060454461465160948282464307876014629309085507460626653886747430709272301027220773806809919697509130485718989488138112528339929027910467505964356777552374357768885125850729034621247661911995113886473693567096499773009447645757903069952362398630895162860689489305446576155210593828438476962733885872688275504499104209121071601162974212021523344652661773436767774586359861722400262546908973091861661392584462102268293077764538983651609310885700661363124285690622081746642691732260941373361992614559328394591627370479008305899453655308349808331343180678742315318148329314711120629529208831600667357321962223530057813984931181761930489146410932579135588172520079580987578078970662261046057008825121872992516518250707648907348455137726591799005759473989227566791183522422441284147242055257057515077734520575427727793047774474004084444261263130484558507688135958770568728529532362987195098342455570378239659026001704384582505199848029474223264178364127035855596117149913539665624208294759047536219618181342793590507477942605339524863289683031185276275982851090712819435343812499769862672631016880173179798537067850423256763410369976710099775284690631288704411360408488839907518429070433694799701439217513669951021474021258942714311596157404148568789088634018463991312842957377649445191143449825020551300675434200535238041592188427226325528535040016463924316452508956914221225283605276725905793508627408401095206934954157839021989 1047347423364498291247895747334316168392366859038717344602836221826238866667323715072648091814008941154837086964036968171493389280347733911781541589795970613869788516845190493806820744294321940880500233170484741811702250797716328425548669807363649676895231158955145146712398341847408587244579117320468911662278014093845721837769089840124906240893718509164716717785109837538721290602136005952201011355624547052612830764573235323179242906728695476671158102090714876499963220474321582353702322781968521794425215769105432594450599420914811814506816752588268365937089617333547214191901890162666798423190287118853894220477427950750907318903801993395419931261049908513908267308446942472352296821090690085768178036164753104337013309038774771153534609153568972636897728040707745781625768642312317056530149462340659272550244694159645707101394053278387798946905216609487221742124330664830688729858170160342105332020380478196656256586312003121213290108375715905686443299215670574346829171245626304860746474680763262364104556110777962661320889738815243840644199086635178131995412468043482755416494175859623043874751690570072109609511038900241826117130586225965258332949095889709037060679894500409033919083467346861754816279735275477315783443227318487077394121401971875561136312683777068982483430425218775076390277785077811159059452375498211028626903693289983217179716289503564075442933602784433814951124369287159241088381265832078081950951787379185399375778737142857739259290971148715597936835164992364204581093751145602679343315371766992102726006732231272280279553979367094357521340847819380344412181300443367770457343726125675865708706810342688809583210605428589003256509115553133853082186065620608829015906100124683283786789272817429948273394983371788428959587303353400093545156816393843689538771952631908652397233115250888420679586555412071336049698684020805235278887239306457623558816020151865080762894110006025321302076579548765459014411244875659631659206289113931234469204188121950922498914757369512818151578014894370829306392801398971183232890605191806650892585766270954287569237607763292380544508699896066973749523547950994126309576660071124065442444859609363507171930919371493453732568405012534921651491560332924043252540614270901925686953681869632703698602051574618486910987794748134418014617484655855546205958783271609900743847089393333176092570949436391455472087579866653173453338832114892192741592475769389478153700641232124832150093318369032107804923301588509830430927938160522324824469217533957240980003425697697470903350626326502245698377575087983825795347191800094461060948997945052467899039799731570332950121412429977733045295676731609698450157359612871021630194183869494973130786573541290191347314484276244964817871618766702266818885358005225919828767152348941831030834770140446257444802507721789033948583045779003878759504888376155847348007580525492051772364320397176110453940125123417256264202442820202615099214473140871037898143399956743771416467643729254570190296664069389013217472609989244927870709167643918259483684724786731185675738175602425295576652058966299792505151069641883981152878554330895226054576870640511030252432252336906929386677289929957835256165564312668933590747953861005804307578135077475411488972911653552940322923008396720027557219933806062031611329439893957375185103953783363406203262476711306307412254175699288278494946900739198384927933676585192216872667444555235766857156569069868771720888259276693804059120973354262684160823684753544117040265323386482462673046918106517536444658895085431128683600357281761626602788472187486361007005860910574968853232544810659552578701444659758434816906630692047648367311353348083155376857129495228843512518273770010717949062592027263172185379343735776322524651037026439727685482064460598490696419039888338775609553207 1694643729033383984868403841206334944846922149436136726741646325687776178310886185442139144529370116631822037911500960212049138091263326328727747414701772349956166467016185810827697428930522952384676065377627000614766545097167276090027518416237341062106156190792838865832136570623560727981100740474097792869385168361278383381955411062807835855953024040865586448288540047550463733800584760003447910709359988670226659899531463000777973234646275392907054799881618891435865843481288900504303604205339174932438413665631195680466913409105362574048488420284630909394095824430801797127556057950236322895915734468097276021504275872420407240788161921754622969952041422165795602082933986545248521386248473964231473524393723616145770416334825254078979504791709216320613457967502681223506758535148515024094257226138782319646449614090843940250524927014628873729203149815662658315676588512119880586042143797310115609215850689057336158047580333323468493876404306855638510430416427769320784778817503976820201253619463348047497419642113171558979607978317884199611648666074936316216631636942897842000358738365409825692429155311132781434913759279301401170035116590955480179005520819456406030924462949214108386950836103497561278311912210456782434306125162191863715880012368083632661230233080605144778825033487719731837218733472099650749158828213513743798175021918678504598117868881818149935759031798025863354302462770477187193374077013101620203321055637621921477637583755556422317609985299577104136430129659710783158460894362617984220028835692680910067860851609817448725273406411659776420902822555454072445502873610374060204228745580253681992583222460180632725675933325775396946454330905569946471731051917371438277919525936454502420505979303060394118280397822065737478337237502134714248128639621740052075149834110383753418330978892496021880094557223326356504678381607652223133085831294832066694591061847231754167997396164555031878561864042377860461566039797924994695978565253251399859853674455333315706005379454747497093001993661562572244552039329804295129483059161606188635035340346312946368081411003830908395864328008842314769423886996945089478344662365051622146130075618756504546346641931926176587392709055700718007391640165875236803470163991678663769539525088550900543345202788064577974946499629883020129790497724108419980700159484347972750207354382528535820299452828848100473893923927107634918499780397356500617607105078474985614327295118872262859365619396252881611733221286018960916646927648660437352809146561867708485967782475249845261119511452352974732998822749895820909233665493661557560722007392698225802109752093968963845284273119467038491871831942203526888634322346756894318469688368599182251858174704264403368837828928906738254639393353062128541285620552134892920628813741526293133103063218210796428454117032674734609946170064694500841251531067888108289380942518106611100758912024546589462246024577072564614010774163383293841529791289200352609264029485952603017135001051216793720354478054320194979403099135655860449844755816438339064672302865701847936784232611250417449644575484550500154058418097021707744677560090369215282143661824033452693716399578962186444192367664478410683893357360443407594832398122268934792136642765611370259541640183085303310118106739175597935459592832063735995911945093805404659327217961727533239118072828456220951919799907583037542483120357379727721524184063134822212192307844918798042432845052719862433707694620506303828983645985279564334003483290611967463522086796852439383146693391208167733363306445839617523507875710832060297588173626703874676956882384596227795946856406816956727270233748392453280897943535005026016756544491532980397408430170663044047756315362199145175388120562303188649303660188285279438872262310045004411387857969225899097514246823292933448575196 2741991152397882276116299588540651113239289008474854071344482547514015044978209900514787236343379057786659124875537928383542527371611060240509289004497742963825954983861376304634518173224844893265176298548111742426468795894883604515576188223600990739001387349747984012544534912470969315225679857794566704531663182455124105219724500902932742096846742550030303166073649885089185024402720765955648922064984535722839490664104698323957216141374970869578212901972333767935829063955610482858005926987307696726863629434736628274917512830020174388555305172872899275331185441764349011319457948112903121319106021586951170241981703823171314559691963915150042901213091330679703869391380929017600818207339164049999651560558476720482783725373600025232514113945278188957511186008210427005132527177460832080624406688479441592196694308250489647351918980293016672676108366425149880057800919176950569315900313957652220941236231167253992414633892336444681783984780022761324953729632098343667613950063130281680947728300226610411601975752891134220300497717133128040255847752710114448212044104986380597416852914225032869567180845881204891044424798179543227287165702816920738511954616709165443091604357449623142306034303450359316094591647485934098217749352480678941110001414339959193797542916857674127262255458706494808227496518549910809808611203711724772425078715208661721777834158385382225378692634582459678305426832057636428281755342845179702154272843016807320853416320898414161576900956448292702073265294652074987739554645508220663563344207459673012793867583841089729004827385778754133942243670374834416857684174053741830661572471705929547701290032802869442308886538754364400202963446458703799553917117537980267293825626061137786207295252120490342391675381193854166437924540855534807793285456015583741613921786742292405815564094143384442559681112635397692554377065628457458411973070601289690253407081999096834930891506170580353180638443591143319475977284673584626355184854367182634329057862577284238204920136824260315244580008555933401550944840728775478362373664353412839527621106617267233937319018767123288940373027904909288518947434947939215787921322436175687588574935228120011718277561303419630319961114068235639658883200498799280056010778262580589456493206958183604241947254362683064885934294378017438144407982379963966186658942755957873494054443775861711912870402265239555945981503793760808371838612512248693359199580847864463768027936350997095009458937765284989416656522874528791347574865809182762177278364095824949465971208172947316164470137778855220431376397837879646704580857293756018621671005337750693701149551825539296795405685549444771537167508673813225338791681959627915948663872238094155382644748245554594716152313205151703072511012119764395360170978557360812749395966090468124163937833358657053873256624754463768558529215843698379600756419444043955637388523043598662873123232421722699916186149700489820878213216983585908940744264430071390507407429442696374433602644780471363910651142123709208196875709124900788320553923460356598548357027652433033612522408213675713026296634450850292659209487738905688897556114421264441336720532464544482946148651915869115830869657594436245940058921673112341185580351983274739099714777843086781748514551836638243633041115135895625492679526638125767607241384987762779844431171745090939442380549539762528364173975606871316037430021096578112649457860648327039084859752400154564899589414122588634154595953897200107888104619339542248494827168044156084503787410183334902056193611497725704178022201531270746207108232992593686900376645814190235683962743295171196649179401217476509305971678408150888097804574227052674384067897839616135774265559665891887560274589132209863124450712589566360834683003924061601963523299336484732096869922429824389793933286711631709058128403 4436634881431266260984703429746986058086211157910990798086128873201791223289096085956926380872749174418481162787038888595591665462874386569237036419199515313782121450877562115462215602155367845649852363925738743041235340992050880605603706639838331801107543540540822878376671483094530043206780598268664497401048350816402488601679911965740577952799766590895889614362189932639648758203305525959096832774344524393066150563636161324735189376021246262485267701853952659371694907436899383362309531192646871659302043100367823955384426239125536962603793593157530184725281266195150808447014006063139444215021756055048446263485979695591721800480125836904665871165132752845499471474314915562849339593587638014231125084952200336628554141708425279311493618736987405278124643975713108228639285712609347104718663914618223911843143922341333587602443907307645546405311516240812538373477507689070449901942457754962336550452081856311328572681472669768150277861184329616963464160048526112988398728880634258501148981919689958459099395395004305779280105695451012239867496418785050764428675741929278439417211652590442695259610001192337672479338557458844628457200819407876218690960137528621849122528820398837250692985139553856877372903559696390880652055477642870804825881426708042826458773149938279272041080492194214540064715252022010460557770031925238516223253737127340226375952027267200375314451666380485541659729294828113615475129419858281322357593898654429242331053904653970583894510941747869806209695424311785770898015539870838647783373043152353922861728435450907177730100792190413910363146492930288489303187047664115890865801217286183229693873255263050075034562472080139797149417777364273746025648169455351705571745151997592288627801231423550736509955779015919903916261778357669522041414095637323793689071620852676159233895073035880464439775669858724049059055447236109681545058901896121756947998143846328589098888902335135385059200307633521179937543324471509621051163419620434034188911537032617553910925516279007812337582002217495973795496880058579773491856723515019028162656446963580180305400429770954197336237355913751603288371321944884305266265984801227309734705010846876516264624203235345806907353823123936357666274840664674516859480942254259253226032732046734504785292457150747642860880794007900458274198480104072386167359102240305846244261798158390247733169855094087656419875427720868443290338392909605193976806685926339449382355231469869357868824557161537871028389744160547752264221793457843199530087510657692657951938990648197161425589649231208195164375220587775467613814522787417576182393012730448919503259303919508260640689958668911810029039340616016752227426004306384810267133560606693337634502922949818998084990142134058441327150405472826523901456599109495705670024779831994417297040896576867850301710741787138503168475385908392880442007950511932063926769465561705273973882144446269289378432174277562385492223991146969202782274055719271743116671458928648977450737645831688157631005620178029403176278808260556648770398679276794937613029330518134881549306640824926130475941209935400792813267905835927396642233674511633656618864194288577935639865051494831302275062025258914656623952279033555748780412750105543673891851420608698152008056192019723546943159221875071223428139119470189503603153330081568184503758389706818472681498622368218749316093775514454353579913141453957840370982044711461861297052060245073362942022259175308496588303648517706411717088265324821812828830651334768051967309496980187341439340304888933871911385507977110363730616108703425747197964819440894110360919625679767424445126257624293466033241912156543341378702517762057700400824442331149116171673989836554931608030904494409008299838833151869549483986664112346881402395561646529736508257780399050288891447533534924642506703599 7178626033829148537101003018287637171325500166385844869430611420715806268267305986471713617216128232205140287662576816979134192834485446809746325423697258277608076434738938420096733775380212738915028662473850485467704136886934485121179894863439322540108930890288806890921206395565499358432460456063231201932711533271526593821404412868673320049646509140926192780435839817728833782606026291914745754839329060115905641227740859648692405517396217132063480603826286427307523971392509866220315458179954568386165672535104452230301939069145711351159098766030429460056466707959499819766471954176042565534127777641999616505467683518763036360172089752054708772378224083525203340865695844580450157800926802064230776645510677057111337867082025304544007732682265594235635829983923535233771812890070179185343070603097665504039838230591823234954362887600662219081419882665962418431278426866021019217842771712614557491688313023565320987315365006212832061845964352378288417889680624456656012678943764540182096710219916568870701371147895439999580603412584140280123344171495165212640719846915659036834064566815475564826790847073542563523763355638387855744366522224796957202914754237787292214133177848460392999019443004216193467495207182324978869804830123549745935882841048002020256316066795953399303335950900709348292211770571921270366381235636963288648332452336001948153786185652582600693144300962945219965156126885750043756884762703461024511866741671236563184470225552384745471411898196162508282960718963860758637570185379059311346717250612026935655596019291996906734928177969168044305390163305122906160871221717857721527373688992112777395163288065919517343449010834504197352381223822977545579565286993331972865570778058730074835096483544041078901631160209774070354186319213204329834699551652907535302993407594968565049459167179264906999456782494121741613432512864567139957031972497411447201405225845425424029780408505715738239838751224664499413520609145094247406348273987616668517969399609901792115845653103268127582162010773429375346441720787355251854230387868431867690277553580847414242719448538077486276610383818660891807318756892823521054187307237402997323279946074996527982901764538765437227314937192171997325158041163473796915491720516839842682525939004918109027239711513430707746815088385917896418606462484036352354018044996263719738316241934251959646040257359327212365856931514629251662177005421853887336006266774203913150383167820866452878283494926822860445046267035076543611796659267025961707365874753517607417910198821144477590059787010063415595751618425655114318395380081173594804064018068199613204408855745047557436095644218356581566206849289829977566217686266012726215797432844787493017147671195373592801142455339210144399661417592590919261627577666856518419420745922462541460978729935524904174967366541602271727004601752091260042764369955976019564157988605303936847005376867991989294618323978052206370437208130555111723018320149343133624078888371345351884340290612159521541656762301738611373154517385457437090952602737151536161386358170567915161829049038601843502237844386251085472477393574833085539789788932898097955584726753122418586013703410700418105931682853350902564011200706668089965993102088818412991566198451784933756570743856361790576200337010966848920818646108315271210394715069330964348189561451909412123879171907981277680267751121325669617343162550535953020439905359788900381911812645227927841611673297897130742899602414906519605192884664364061323657819378924136471096907163522243495533916386659576089407709508381109937724341696019434098341465255084346044882368974938621094305658841769975339213590564694229476507091989110374784892340170765251945939549502446819168305493626618871424289545741435910318669668036408483365918860983014468605127702828874678685380820246556351564832002 11615260915260414798085706448034623229411711324296835667516740293917597491556402072428639998088877406623621450449615705574725858297359833378983361842896773591390197885616500535558949377535580584564881026399589228508939477878985365726783601503277654341216474430829629769297877878660029401639241054331895699333759884087929082423084324834413898002446275731822082394798029750368482540809331817873842587613673584508971791791377020973427594893417463394548748305680239086679218878829409249582624989372601440045467715635472276185686365308271248313762892359187959644781747974154650628213485960239182009749149533697048062768953663214354758160652215588959374643543356836370702812340010760143299497394514440078461901730462877393739892008790450583855501351419252999513760473959636643462411098602679526290061734517715889415882982152933156822556806794908307765486731398906774956804755934555091469119785229467576894042140394879876649559996837675980982339707148681995251882049729150569644411407824398798683245692139606527329800766542899745778860709108035152519990840590280215977069395588844937476251276219405918260086400848265880236003101913097232484201567341632673175893874891766409141336661998247297643692004582558073070840398766878715859521860307766420550761764267756044846715089216734232671344416443094923888356927022593931730924151267562201804871586189463342174529738212919782976007595967343430761624885421713863659232014182561742346869460640325665805515524130206355329365922839944032314492656143275646529535585725249897959130090293764380858517324454742904084465028970159581954668536656235411395464058269381973612393174906278296007089036543328969592378011482914643994501799001187251291605213456448683678437315930056322363462897714967591815411586939225693974270448097570873851876113647290231328992065028447644724283354240215145371439232452352845790672487960100676821502090874393533204149403369691754013128669310840851123299039058858185679351063933616603868457511693608050702706880936642519346026771169382275939919744012990925349141938600845935025346087111383450895852934000544427594548119878309031683612847739732412495095690078837707826320453292038630307057984956921873044247525967774111244134668760316108354991432881828148313774972662771099095908558671051652613812532168664178350607695882393818354692804942588108738521377147236569565982578040092642207379210112453414868785732359235497694952515398331459081312812952700543362532738399290735810747108052088360731473436011195624295876018452724869161237453385411210265369849189469341639015649436241271610760126839013430581932209902868591170986457030798648532707668159664555818076785602887268391595246189905846729793643690572397536482930993451480830651650594145192590886132597473268585726811823065417443163084176776352224089445525754456958758019626512392754476678108328740774895479987660484140484772320467908083490927454167009210820887521314261278673050498255614591862661199277524314505292375868614876740750347299994329335077936443847679172662382479768014549433325646014085861351282013946473774415688688702796711135689863527973978179054321651878285745299410760482182023463444531754574448921041700354225878754905531720380993708112265559187963479740223838746405852194362086883417619060483085764626935876085337519359558886038072348957765578504774813548045150899148851947951158727884805377794276200026996361526635780023197256304004493793391421950071250761678963872890301290783633932473205627331203250932612931322281149989185874152488470713692188438406404143709584934874221275593448000793217485491473668340450399445181296306284695978456405801994654706045539431916466063441372455502721237570855209609751168075185716782501914368117613539339001750776336398121027879724128378893305459802656332148755364768314422629544205113385483227924967576828353781480994071535601 18793886949089563335186709466322260400737211490682680536947351714633403759823708058900353615305005638828761738112192522553860051131845280188729687266594031868998274320355438955655683152915793323479909688873439713976643614765919850847963496366716976881325405321118436660219084274225528760071701510395126901266471417359455676244488737703087218052092784872748275175233869568097316323415358109788588342453002644624877433019117880622120000410813680526612228909506525513986742850221919115802940447552556008431633388170576728415988304377416959664921991125218389104838214682114150447979957914415224575283277311339047679274421346733117794520824305341014083415921580919895906153205706604723749655195441242142692678375973554450851229875872475888399509084101518593749396303943560178696182911492749705475404805120813554919922820383524980057511169682508969984568151281572737375236034361421112488337628001180191451533828707903441970547312202682193814401553113034373540299939409775026300424086768163338865342402359523096200502137690795185778441312520619292800114184761775381189710115435760596513085340786221393824913191695339422799526865268735620339945933863857470133096789646004196433550795176095758036691024025562289264307893974061040838391665137889970296697647108804046866971405283530186070647752393995633236649138793165853001290532503199165093519918641799344122683524398572365576700740268306375981590041548599613702988898945265203371381327381996902368699994355758740074837334738140194822775616862239507288173155910628957270476807544376407794172920474034900991199957148128749998973926819540534301624929491099831333920548595270408784484199831394889109721460493749148191854180225010228837184778743442015651302886708115052438297994198511632894313218099435468044624634416784078181710813198943138864295058436042613289332813407394410278438689234846967532285920472965243961459122846890944651350808595537179437158449719346566861538877810082850178764584542761698115863859967595667371224850336252421138142616822485544067501906023764354724488380321633290277200317499251882763543211554125275008790839326847109169889458123551073386903008835730531347374640599276033304381264902996869572230427732312876681361983697508280352316590922991622110690464383287938938591084610056570722839771880177609058354510970779736251111411405072145090875395192232833285720894282026894167025250369812742081151589290750126946614692403753312968648819219474747275683121567111602263625391547015183591918482278230700839487815111991895122944819260164727872787759388290486116605709223251335026355878457439085696250605282949764765790521048866848145912077015409603375512881247105624973161453039195676707359861376838410262698728426296268323668798265340566183687275052812478730126473240658008362424711754443208742508866271676919500218998356447917658651645474870343046622484589412575400527536690423884103055085442772313147667892898182253267967668822233666798233098407408079426228310696017958010364829235671339681219418227056007200714319144781506625922587843031471522952303884751098009935802046859270711872964738902129817480416898707902963758222692985593567721813252377429852530033647794822772811892458316232138486925390965616461751974680446891928712398954283180499874983817512268019521197679732447128095559895897004921269776411686820046023942760220230113200137512610637296929256966184181304676629277757105692814599466555029746411861855431039662060875685535529218625245605771102758074102853347519450927474034653549935476146290092616324909503311307231828430408137662253024090200926993872583606064792095464615394647749951062802450684363629644666633737575307833416711669093285931800331716701740278449970609122672679620063553088841448569944641891747646751148417924634741370121326000185163848134233283612558673718513186056799646262209174028037345636367603 30409147864349978133272415914356883630148922814979516204464092008551001251380110131328993613393883045452383188561808228128585909429205113567713049109490805460388472205971939491214632530451373908044790715273028942485583092644905216574747097869994631222541879751948066429516962152885558161710942564727022600600231301447384758667573062537501116054539060604570357570031899318465798864224689927662430930066676229133849224810494901595547595304231143921160977215186764600665961729051328365385565436925157448477101103806049004601674669685688207978684883484406348749619962656268801076193443874654406585032426845036095742043375009947472552681476520929973458059464937756266608965545717364867049152589955682221154580106436431844591121884662926472255010435520771593263156777903196822158594010095429231765466539638529444335805802536458136880067976477417277750054882680479512332040790295976203957457413230647768345575969102783318620107309040358174796741260261716368792181989138925595944835494592562137548588094499129623530302904233694931557302021628654445320105025352055597166779511024605533989336617005627312084999592543605303035529967181832852824147501205490143308990664537770605574887457174343055680383028608120362335148292740939756697913525445656390847459411376560091713686494500264418741992168837090557125006065815759784732214683770761366898391504831262686297213262611492148552708336235649806743214926970313477362220913127826945718250788022322568174215518485965095404203257578084227137268273005515153817708741635878855229606897838140788652690244928777805075664986118288331953642463475775945697088987760481804946313723501548704791573236374723858702099471976663792186355979226197480128789992199890699329740202638171374801760891913479224709724805038661162018895082514354952033586926846233370193287123464490258013616167647609555649877921687199813322958408433065920782961213721284477855500211965228933450287119030187417984837916868941035858115648476378301984321371661203718073931731272894940484169387991867820007421650036755280073630318922479225302546404610635333659396145554669702603338959205156140853502305863283485881998698914568239173695093891314663611439249859918742616477953700086987925496652457824388707308023804819770424465437046059038034499643281108223336652304048841787408962206853173554605804216347660253829396772339469402851703472322119536374404460482266156949937321649985624641567207802084772049961632172175290638215859966402338074372499599103544323391918289426325135363833564716764284182272645575938138157608577759827755621358659492606637116005296452516278182815185818355936776978079665496678619745175074159193589666849992893364756699229101523437153505067410807799181659419747749154320448859485758774573407650285747315853285063723425805587795931219560966598311797431376458977017982960310413128323583199083821517964577073059541012309010891792186546012896939322358488780419496514546640719320489281390095759606685603740733603071886572887105579582971334010554496163499854879886981527261274640472021168677485608813655166765044483710217735547973508584100428765657791458595953029554842043967992396354049903836715821961607104482568836523127037771213221763858867919099077882020939938160187115767458804806477542586758401436572751105285824615608532465614919454783042993618734177265324820837490805371129262052085463769365181734634760460381331672990804392885716011855770559523539803283805502290423739839558425830509408879538244308385405306104280132382249755184642735809628634760806308513347909715450941413365282358937846472090994144479364057274405242494909796690954034647041258856486358284350712173169491773896858084124596007169371186926311491446525156325905174593988181166628180450320720978289868674630872546303528046829923982332333919212902547706242102878831898669284724613839037527809518339707903204 49203034813439541468459125380679144030886134305662196741411443723184405011203818190229347228698888684281144926674000750682445960561050393756442736376084837329386746526327378446870315683367167231524700404146468656462226707410825067422710594236711608103867285073066503089736046427111086921782644075122149501866702718806840434912061800240588334106631845477318632745265768886563115187640048037451019272519678873758726657829612782217667595715044824447773206124693290114652704579273247481188505884477713456908734491976625733017662974063105167643606874609624737854458177338382951524173401789069631160315704156375143421317796356680590347202300826270987541475386518676162515118751423969590798807785396924363847258482409986295442351760535402360654519519622290187012553081846757000854776921588178937240871344759342999255728622919983116937579146159926247734623033962052249707276824657397316445795041231827959797109797810686760590654621243040368611142813374750742332481928548700622245259581360725476413930496858652719730805041924490117335743334149273738120219210113830978356489626460366130502421957791848705909912784238944725835056832450568473164093435069347613442087454183774802008438252350438813717074052633682651599456186715000797536305190583546361144157058485364138580657899783794604812639921231086190361655204608925637733505216273960531991911423473062030419896787010064514129409076503956182724804968518913091065209812073092149089632115404319470542915512841723835479040592316224421960043889867754661105881897546507812500083705382517196446863165402812706066864943266417081952616390295316479998713917251581636280234272096819113576057436206118747811820932470412940378210159451207708965974770943332714981043089346286427240058886111990857604038023138096630063519716931139030215297740045176509057582181900532871302948981055003965928316610922046780855244328906031164744420336568175422506851020560766112887445568749533984846376794679023886036880233019140000100185231628799385445156581609147361622312004814353364074923556060519634798118699244112515579746722109887216422939357108794977612129798532003250023391763986834559268901707750298770521069734490590696915820514762915612188708381432399864606858636155332669059624614727811392535155901429346976973090727891164794059492075929019396467316717823953290856915627752732398920272167531702236137424366604146430541429710852078899031088910940735751588181900205838085018610451391650037913898981533513940337997891146118727915310400567657025974851648676708659407127091905740666010945367966050313872227067882743941663471883753891601974433420468768120702567499128532344824531822190483762569102548097098518337918152268297200144513366444249218061880387846044017477989247124826324958260682703098226045979758304381434168012507685662769709107178069108295959196016339408228071779969058069426868140449166485634941539845701315676289601098339711635506156673317678767814608388142722948188328858014093683166961913767904530897470408818642673691773914390555862080601300672042781266394609011708957131765959051516142493646019782407244220457065167667787608939012851737457805802190685381947617625649968199391459634516216631345899849663671537995997354844490043498482691912840634007696171203760760723086633385254085019124807022295340979593710479350680047914888510588952144866861433565591359375252222976380002478663891726644562636349620082149991408826455237114553286215145660933330085800715243961359728034125144015411143479408957627651833177229219296285745104781050898924838257413026758173241795690496600099496181195071473236640880470034590374412085601784598104061307170721913995378806907067081730274795793689293101171518643013231724975126935027847273608244719717021898890665620181616321382020964228162788200045308332519083061036780989854661552550411855341524260101246701837555685344270807 79612182677789519601731541295036027661035057120641712945875535731735406262583928321558340842092771729733528115235808978811031869990255507324155785485575642789775218732299317938084948213818541139569491119419497598947809800055730283997457692106706239326409164825014569519253008579996645083493586639849172102466934020254225193579634862778089450161170906081888990315297668205028914051864737965113450202586355102892575882640107683813215191019275968368934183339880054715318666308324575846574071321402870905385835595782674737619337643748793375622291758094031086604078139994651752600366845663724037745348131001411239163361171366628062899883777347200960999534851456432429124084297141334457847960375352606585001838588846418140033473645198328832909529955143061780275709859749953823013370931683608169006337884397872443591534425456441253817647122637343525484677916642531762039317614953373520403252454462475728142685766913470079210761930283398543407884073636467111124663917687626218190095075953287613962518591357782343261107946158185048893045355777928183440324235465886575523269137484971664491758574797476017994912376782550028870586799632401325988240936274837756751078118721545407583325709524781869397457081241803013934604479455940554234218716029202751991616469861924230294344394284059023554632090068176747486661270424685422465719900044721898890302928304324716717110049621556662682117412739605989468019895489226568427430725200919094807882903426642038717131031327688930883243849894308649097312162873269814923590639182386667729690603220657985099553410331590511142529929384705413906258853771092425695802905012063441226547995598367818367630672580842606513920404447076732564566138677405189094764763143223414310783291984457802041819778025470082313762828176757792082414799445493982248884666891409879250869305365023129316565148702613521578194532609246594178202737339097085527381550289459900362351232525995046337732687779721402831214711547964921894995881495518302084506603290003103519088312882042302106481392806221184082345206097274914871749018166591740882293126720522550082335502663464680215468757737159390876894069850118045150900406664867009694764828381905360527259764622834354805186335132486852532355288613157057766932638532631162959621338475406015007590371172273017396144379977861183876278924677126845462719844100392652749668939871171638989127838926265966915834171334345055981026232590721376229749108007922857068572083563825328552114841499916278412370390745222272238702318857083351110215482241425423691309364551316604149102976543810141627848426542236548300587889050344118252616235654586476639344477208197841503151567365557921762692214947091411702674851497398723581666871511660025861062047265791766632309695984312083732834090353383973361833043368104859973600303616882330675705489866539672418173034322368538484908292641268510689658413743558694482552154712207468476147111236650957864645453737175282361249107463212229578424617620779286907695516839791103784575988401614007702328410554055716960488282199304055906866630180386442740579614218281186977356237517955217729041165596433445400397608804767012647846158677778301667529486684021353066738998785467869026887434884759759856222763589121380503631851000821123463630008567238265673391786690657770230092846910949512059325398805463090908507244766217469687698924370962488637304308440149367660398526487104943968022610886542877124838311007674076826018429466435620509540554802387190237443004682259719528884715061907784215426984403939021554733415811705233351605322742209114655160972855537945968272189215952600698154875277085284208776555819245145320163657080198346090980076558855627132879918285300270542705569324723171500283260933021867596425886345202349211386598471484996012893510531690835029969290664853002273939328696096764431382310524626248873940284229647074025052174011 128815217491229061070190666675715171691921191426303909687286979454919811273787746511787688070791660414014673041909809729493477830551305901080598521861660480119161965258626696384955263897185708371094191523565966255410036507466555351420168286343417847430276449898081072608989055007107732005276230714971321604333636739061065628491696663018677784267802751559207623060563437091592029239504786002564469475106033976651302540469720466030882786734320792816707389464573344829971370887597823327762577205880584362294570087759300470637000617811898543265898632703655824458536317333034704124540247452793668905663835157786382584678967723308653247086078173471948541010237975108591639203048565304048646768160749530948849097071256404435475825405733731193564049474765351967288262941596710823868147853271787106247209229157215442847263048376424370755226268797269773219300950604584011746594439610770836849047495694303687939795564724156839801416551526438912019026887011217853457145846236326840435354657314013090376449088216435062991912988082675166228788689927201921560543445579717553879758763945337794994180532589324723904825161021494754705643632082969799152334371344185370193165572905320209591763961875220683114531133875485665534060666170941351770523906612749113135773528347288368875002294067853628367272011299262937848316475033611060199225116318682430882214351777386747137006836631621176811526489243562172192824864008139659492640537274011243897515018830961509260046544169412766362284442210533071057356052741024476029472536728894480229774308603175181546416575734403217209394872651122495858875244066408905694516822263645077506782267695186931943688108786961354325741336917489672942776298128612898060739534086556129291826381330744229281878664137460939917800851314854422145934516376633012464182406936586388308451487265556000619514129757617487506511143531293375033447066245128250271801886857635322869202253086761159225178256529255387677591506226988807931876114514658302184691834918802488964244894491189663728793397620574548157268762157794549669867717410704256462039848830409766505274859772259657827598556269162640900285833836952604419802114415165780215834562872496057443080279385749966993894716564886717139213924768489726826557253260442555494777239904752991980681099063437811455636455906880580343595642501080136319635471853125051669941107402873875126552205530412397457263882186423955012115143531457127817931008213760942087182534955475366466013823033430218750368281891341000154012719424740377085067130918134083098436456457057270160048344509860455500075494424980489964059772804235720227049656123354597341911976336730186327683389556041684331794763044189930040593003765695923726180237955909243922942435111835784110298943109138408691094773056482199407812801672486294141612811302545100384812667935647968377369050661776766556688261699337937557798862910044329424092000413523144765748209576362593370802127054854050175857495605935177766753475634872970074657430607695634682046397220256681394102324944611579041089582871346837173261239192095399872345573269797329471002257300362461949498230764101233009336621656504470453648349363160249285155136652220744526373515002099214926737098556297755853577608079164878986323763841455131159801212327998988760025171944742789354899869206290491653035878156143138823395755355169614554560357936553848012556531416529370139062418213749506604372230968692868533664766244788630112233575127368950595341270046348549965477129826275130672364124019535436048604213623235307299838196862604158189862735768967287896956663352138045464453384287425837339035345311675658620862157603843249381470827802112341469786983625937357407675711974593371714224212337954896475410195960869141204670606062224248102052218653101317394914474759853623230014598997372085334976109685951425983932722379967773134041530931484629710396444818 208427400169018580671922207970751199352956248546945622633162515186655217536371674833346028912884432143748201157145618708304509700541561408404754307347236122908937183990926014323040212111004249510663682642985463854357846307522285635417625978450124086756685614723095642128242063587104377088769817354820493706800570759315290822071331525796767234428973657641096613375861105296620943291369523967677919677692389079543878423109828149844097977753596761185641572804453399545290037195922399174336648527283455267680405683541975208256338261560691918888190390797686911062614457327686456724907093116517706651011966159197621748040139089936716146969855520672909540545089431541020763287345706638506494728536102137533850935660102822575509299050932060026473579429908413747563972801346664646881518784955395275253547113555087886438797473832865624572873391434613298703978867247115773785912054564144357252299950156779416082481331637626919012178481809837455426910960647684964581809763923953058625449733267300704338967679574217406253020934240860215121834045705130105000867681045604129403027901430309459485939107386800741899737537804044783576230431715371125140575307619023126944243691626865617175089671400002552511988215117288679468665145626881906004742622641951865127389998209212599169346688351912651921904101367439685334977745458296482664945016363404329772517280081711463854116886253177839493643901983168161660844759497366227920071262474930338705397922257603547977177575497101697245528292104841720154668215614294290953063175911281147959464911823833166645969986065993728351924802035827909765134097837501331390319727275708518733330263293554750311318781367803960839661741364566405507342436806018087155504297229779543602609673315202031323698442162931022231563679491612214228349315822126994713067073827996267559320792630579129936079278460231009084705676140539969211649803584225335799183437147095223231553485612756205562910944308976790508806217774953729826871996010176604269198438208805592483333207373231965835274790426795732239613968255069464541616735577295997344332975550932316587610362435724338043067314006322031777179903687070649570702521080032789910599391254401417970340044008584321799081051697373569671569213381646784593489891793073718454398578380159006988271470235710828851780835884741764219874567178206981782355315953517704419610047274045514115680044456678364373098053520769010993141376122178504047680116221683799155754618519300695018128664533346497162738672636563272392715038281823728195282613159559506789745821008373874309151321053670597127923920967217038264647661854579838479665891777941073981256453544928027830834956921599606094486977991281341743267855263094647307847109467569269784004482377627550742608639093450492423928863409866172769645845040591154115213114919427431060518157802187640795542084984145305041596554340606448247457276653603023906644155125730613241895320813013551235447580792029332537106603069147407345178093255652256982352947447486738466622385621870689096430735498667296001577865070650893080127869372481842612925187488078516448358494818317679678539396360534678409734230461271483101494508040938550952684623336242097593112513787567083953624533441057515709800371668286259489955614842276254623431220895237254433416958635400559584992716117240003712361276961606229731903000121387084242259282307516336649860839856678737799460944700854450572394841855235745658503077252462706938252004593804571104881824848735740202920134508534850201248839081443220264031198027174328854571612674309391541468058511176402552117636207675991432725573503378438037190220588760942829638713423088394701634484882310687560767060184792984540555630259893642256929781662678067975693456893891008801096492407426597313438817124586313407807985291544458259983889662225087608915438382048190415315032904594022007981815161131703735448618829 337242617660247641742112874646466371044877439973249532320449494641575028810159421345133716983676092557762874199055428437797987531092867309485352829208896603028099149249552710707995476008189957881757874166551430109767882814988840986837794264793541934186962064621176714737231118594212109094046048069791815311134207498376356450563028188815445018696776409200304236436424542388212972530874309970242389152798423056195180963579548615874980764487917554002348962269026744375261408083520222502099225733164039629974975771301275678893338879372590462154089023501342735521150774660721160849447340569311375556675801316984004332719106813245369394055933694144858081555327406649612402490394271942555141496696851668482700032731359227010985124456665791220037628904673765714852235742943375470749666638227182381500756342712303329286060522209289995328099660231883071923279817851699785532506494174915194101347445851083104022276896361783758813595033336276367445937847658902818038955610160279899060804390581313794715416767790652469244933922323535381350622735632332026561411126625321683282786665375647254480119639976125465804562698825539538281874063798340924292909678963208497137409264532185826766853633275223235626519348992774345002725811797823257775266529254700978263163526556500968044348982419766280289176112666702623183294220491907542864170132682086760654731631859098210991123722884799016305170391226730333853669623505505887412711799748941582602912941088565057237224119666514463607812734315374791212024268355318766982535712640175628189239220427008348192386561800396945561319674686950405624009341903910237084836549539353596240112530988741682255006890154765315165403078282056078450118734934630985216243831316335672894436054645946260605577106300391962149364530806466636374283832198760007177249480764582655867772279896135130555593408217848496591216819671833344245096869829353586070985324004730546100755738699517364788089200838232178186397724001942537758748110524834906453890273127608081447578101864421629564068188047370280396882730412864014211484452988000253806372824381342083092885222207983995870665870275484672677465737524023253990504635495198570126433954126897475413420323394334288792975768262260286810783138150136511420047145053516273949175818284911998968952569299148640307417291791622344563470209679287118101990787806642756089551154676919389242232249987090761830361935707192966005256519653635631865611124435444741242937153474776061484142487566776715913106954527904272546727757706564105280349744077693589888182277465431144469199665563531052627999415392197528228707434658815558706715547901295671323168429881658214158518346477641290426281741035471271783860859028790571034027347423478513706946917489463334852907582202588901115023636466348372177458646713077448256825926221972531445330825737835609172911135645922071598284816039944385805256139563647353330736155539253758007643530389376144606249707846883382712964098675082585111931568890525227057010378055182373148668782842127370490533060443278875042667447941997730253389108564577242485270760757875845919360752118680141628037627124635911419070852117775953555142857404098800237839759988462842119486028789666298880361631997355271563377979747451138476279378683731385783232433223236243193442130580143348939892585323530495365397155117749368555298755476556698796819640244070184662417371273208107938523362914603957176767072823928614192167843497251337050485579721173521700223094895084290168397264334809980873612963100978656312635411650409636154409809536913549731330794280143690449074299559814036897178957790804275376225565900436601450500871026931644083105312684423029030554043810730341948231342234487013971153994000632964451103652854760150005767098469650845415491035777687630802722460051398081489998488659597172943891548067999616399247755284561795142023346092616333445845063647 545670017829266222414035082617217570397833688520195154953612009828230246346531096178479745896560524701511075356201047146102497231634428717890107136556132725937036333240478725031035688119194207392421556809536893964125729122511126622255420243243666020943647679344272356865473182181316486182815865424612309017934778257691647272634359714612212253125750066841400849812285647684833915822243833937920308830490812135739059386689376765719078742241514315187990535073480143920551445279442621676435874260447494897655381454843250887149677140933282381042279414299029646583765231988407617574354433685829082207687767476181626080759245903182085541025789214817767622100416838190633165777739978581061636225232953806016550968391462049586494423507597851246511208334582179462416208544290040117631185423182577656754303456267391215724857996042155619900973051666496370627258685098815559318418548739059551353647396007862520104758227999410677825773515146113822872848808306587782620765374084232957686254123848614499054384447364869875497954856564395596472456781337462131562278807670925812685814566805956713966058747362926207704300236629584321858104495513712049433484986582231624081652956159051443941943304675225788138507564110063024471390957424705163780009151896652843390553524765713567213695670771678932211080214034142308518271965950204025529115149045491090427248911940809674845240609137976855798814293209898495514514383002872115332783062223871921308310863346168605214401695163616160853341026420216511366692483969613057935598888551456776148704132250841514838356547866390673913244476722778315389143439741411568475156276815062114973442794282296432566325671522569276005064819646622483957461171740649072371748128546115216497045727961148291929275548463322984380928210298078850602633148020887001890316554592578923427093072526714260491672686678079505675922495812373313456746673413578921870168761151825769332309224312273570351000145147208968695203941776896267585620106535011510723088711336413673930911309237653595399342978474166012636496698667933478753101188565296251150705799932274399680495584643708333913733184281806704454645641211093903561207156575231360037033345381298893383760367402918610592056819959633856482352351531783296013537036846589992403574396665071005957224039534859469159198127676364108783344776857494099884346103760160460509161201950964903357912294443769126203459989227961976998397895775814135913291240657128540398691771994076756502271152100123213075845627164467544939442795988387833475632357237253096677928098473805018778350986617201649755923336359414566493355096513395397186381439679236745304424883426586241989353303399240896520768719026752613527128714291885218341874456891047783490951399867090885595516221296039393538952499876214544947104491753668602372039041141399962505848983540023249968453220630067376639881370380550834052713416217250377237380310664984371249538851202389695841697288638912715250070701744229992457109662146177484039363325502669111615291168463998059586963795941946171044245313012648623333516977937059085098195948245954362367719246936997821306577023485170589828805082579047436656637365445037351190524383324704939712598542577233382833986165438412787273178351415737397966234993526007640406663654118473497626859089215543908524885301440770499077758432079355598287201755597943783039078922551586521312278211129886845737984307615458407749161914679164359850670920749714043988737584314978092805104919743820030371317398843344831074861802182421876576666609677583965008981422211222941272798852791320093001191935767490028329904531294182713413415786489197544280139584450020038784739797566733716591321103995523326488786972494380656228083775663311032426797109748651158806863590877077442728929852902273944210530445342942539749982378321822260552806986450047806814562788189155817150005161253748037181293682476 882912635489513864156147957263683941442711128493444687274061504469805275156690517523613462880236617259273949555256475583900484762727296027375459965765029328965135482490031435739031164127384165274179430976088324073893611937499967609093214508037207955130609743965449071602704300775528595276861913494404124329068985756068003723197387903427657271822526476041705086248710190073046888353118143908162697983289235191934240350268925381594059506729431869190339497342506888295812853362962844178535099993611534527630357226144526566043016020305872843196368437800372382104916006649128778423801774255140457764363568793165630413478352716427454935081722908962625703655744244840245568268134250523616777721929805474499251001122821276597479547964263642466548837239255945177268444287233415588380852061409760038255059798979694545010918518251445615229072711898379442550538502950515344850925042913974745454994841858945624127035124361194436639368548482390190318786655965490600659720984244512856747058514429928293769801215155522344742888778887930977823079516969794158123689934296247495968601232181603968446178387339051673508862935455123860139978559312052973726394665545440121219062220691237270708796937950449023765026913102837369474116769222528421555275681151353821653717051322214535258044653191445212500256326700844931701566186442111568393285281727577851081980543799907885836364332022775872103984684436628829368184006508378002745494861972813503911223804434733662451625814830130624461153760735591302578716752324931824918134601191632404337943352677849863030743109666787619474564151409728721013152781645321805559992826354415711213555325271038114821332561677334591170467897928678562407579906675280057587991959862450889391481782607094552534852654763714946530292741104545486976916980219647009067566035357161579294865352422849391047266094895928002267139315484206657701843543242932507941154085156556315433064963011790935139089345985441146881601665778838805344368217059846417176978984464021755378489411102075224963411166521536293033379429080797492964585641553296504957078624313616482773380806851692329784399054557291377132111378735117157551711792070429930163467299508196368797180690797252899385032588221894143293135489681919807433584181900106266352750214949983004926176608834008109466615419467986453346814986536781217986336891566803216598712356627884292600144544430859888033821924935154943003654415429449767778902365092573281641628925468852817986413639666899928988952581692371817486170553694951938755982101314946686566110375939236163247550652180732702383922751751612094722062531172210955893096987580532416627593313308244456147871649876882186947050460062223885310989573320675789375901804314526297197898317356554220448423803498628294653976136342562917124563138466746050628864967363372493951179809277858859141364356275989448238166186420495219857969555780897730568116466204238129257182381591765840447946996485796097963034800419312577569041231036702711096373703557851484763959951306125430077496856385225046086912760954646353586906086501636327583466709003830208287079999055677962934614650609806501247875934696823390211780222849136151428364143313167781832084571366899681714347797435768058836556331163188536442514372209739026189896087341709740820301219795687257464777886764300994443155587197104966842500511074500481835898562795656705974695582403094953676507670530062364925928987503092974042838764246965381039223164036151614505328014638904320539714663178154811948474765283400532889302021327993601163391231748136491004129647071463783450266235327304065227083489084986988789641352389634145730640455476951682867845110251156745621875147806253668437018314728867670199237769663943996877900762603411308812630689346728288144420888679961575013252905394340621239980866981419433496698534518047423213810543473717612292028507346364370627138746123 1428582653318780086570183039880901511840544817013639842227673514298035521503221613702093208776797141960785024911457522730002981994361724745265567102321162054902171815730510160770066852246578372666600987785625218038019341060011094231348634751280873976074257423309721428468177482956845081459677778919016433347003764013759650995831747618039869524948276542883105936060995837757880804175361977846083006813780047327673299736958302147313138248970946184378330032415987032216364298642405465854970974254059029425285738680987777453192693161239155224238647852099402028688681238637536395998156207940969539972051336269347256494237598619609540476107512123780393325756161083030878734045874229104678413947162759280515801969514283326183973971471861493713060045573838124639684652831523455706012037484592337695009363255247085760735776514293601235130045763564875813177797188049330904169343591653034296808642237866808144231793352360605114465142063628504013191635464272078383280486358328745814433312638278542792824185662520392220240843635452326574295536298307256289685968741967173308654415798987560682412237134701977881213163172084708181998083054825765023159879652127671745300715176850288714650740242625674811903534477212900393945507726647233585335284833048006665044270576087928102471740323963124144711336540734987240219838152392315593922400430773068941509229455740717560681604941160752727902798977646527324882698389511250118078277924196685425219534667780902267666027509993746785314494787155807813945409236294544882853733489743089180486647484928691377869099657533178293387808628132507036402296221386733374035149103169477826186998119553334547387658233199903867175532717575301046365041078415929129959740088408566105888527510568242844464128203227037930911220951402624337579550128240534010957882589949740502721958424949563651538938781574007507943061811296579971158590216656511429811322846308382084765374187324064505490089491132650115576805607555735072929988323594857927900067695800435429309400720339728820362754144995702305669876127748730971717686830118592756107784424245890882453876391495400663698132238839098081586757019946211061112918948645661290200500644889495262180941058200171509977089408181527999775487841213703103447121218746696258756324611615054010883400648368867578625813547144350562130159763394275317870682995326963677107873558578849195958056838874629014237281914163116920002052311205263903692193605749701822040320697462929574488684791767023142064798208856839362425613349683339772231614458552199783244038474413041182025901638797934352139846088111026661215417627685606353079478427259769161932018196734830698137224953276123083467819179088976498838118287612561007717776261205574080688849717223645106043940024794667688192928636218777462071667630220414653000904008504772456457028792817882109109817576906056824878047556801046053910682971998148107805496776869222500506721232794155536289644285124708813213105502163542570026150893182880195135737029060520596379251119770123489664460652327171217131158073967294976920423064438695412681662657249784570654799245992675784241191674094977091076681017275870826868417588294173502618888526637872721544683113944133064548333962874180846109734682578925934408749365735746666596559741460183238447160309011231165989663188205071493520914019276460565129702266672444264874977485347243227286973793532981799414491978145520772675090902182257333893509684996679425027960748351129707310432934382724350911032062021499643023336567465822409465968631005577566172372653959359432276928499862783876451458171094794093556988020379169702203057138878831690010780039926971721652584907817890462213196251801776994925805287223248326427321545327255029304697872352062467619494280223805730873350741582235519223783350737283160989963245303241694049505520968095230028373331662873429442033668600112407808432428599 2311495288808293950726330997144585453283255945507084529501735018767840796659912131225706671657033759220058974466713998313903466757089020772641027068086191383867307298220541596509098016373962537940780418761713542111912952997511061840441849259318081931204867167275170500070881783732373676736539692413420557676072749769827654719029135521467526796770803018924811022309706027830927692528480121754245704797069282519607540087227227528907197755700378053568669529758493920512177152005368310033506074247670563952916095907132304019235709181545028067435016289899774410793597245286665174421957982196109997736414905062512886907715951336036995411189235032743019029411905327871124302314008479628295191669092564755015052970637104602781453519436125136179608882813094069816953097118756871294392889546002097733264423054226780305746695032545046850359118475463255255728335690999846249020268634567009042263637079725753768358828476721799551104510612110894203510422120237568983940207342573258671180371152708471086593986877675914564983732414340257552118615815277050447809658676263420804623017031169164650858415522041029554722026107539832042138061614137817996886274317673111866519777397541525985359537180576123835668561390315737763419624495869762006890560514199360486697987627410142637729784977154569357211592867435832171921404338834427162315685712500646792591209999540625446517969273183528600006783662083156154250882396019628120823772786169498929130758472215635930117653324823877409775648547891399116524125988619476707771868090934721584824590837606541240899842767199965912862372779542235757415449003032055179595141929523893537400553444824372662208990794877238458346000615503979608772620985091209187547732048271016995280009293175337396998980857990752877441513692507169824556467108460181020025448625306902082016823777372413042586204876469935510210201126780786628860433759899443937752476931464938400198439150335855440629178837118091262458407273334573878274356540654704345077046680264457184687890131441804045326165311517238598703255556829528464682272471671889261064863048559507365227257198347092993482531293396389458718868398681328218664630740716091220363967944397691630978121748997424409362121996403422143068623330895622910880705400646802525109074826565037015809577257202875688092428966612337015476974749931056535857019886893766893706585915206733488558201383305488902271103839098271863005706726634713671471095970842275103681949622931782392475098431433923071053750790549211179911783903378291710987596559867146469810148850352277345273452290978667054523768839862638755937480158857817308972575414840301578559611510043075154285096603153005270414869639151200384149107860933236797093678065520100377886748034580199326492363828293295982846904772561340379196230768687160703629768975868144950408208602095740968251181933182046273116213743221541273768652527779045838373613243073460629763903614385921376737591281610504911176140302582855147595192124219582906232110732618372081143211071076248919741957508712396263218070834921941330507329150940331740265129366253614778941879245048353747175806324704783592324556951972694217080197811143309654047252669951040503376767685311032746262681760309948904946291013742114470851263737945485692786455828801892979267461528806918423454441074969372487964069606473565531972202777746944746710876048142899933261669375936076753090999648675583137601019889685350307936348449243644806067183912387281321815760949021628671450746725199654454971811332749222942355270652333571167335763885707495923281058146934247659901724406422098158784071509464156690992698491268465835741420495403923404520430018069047207835071399608030663362823601952115996626559314991199026182598634955473776432124969570534019017771630262197094237036256131623782229944112284661127546204055486142653242183875136591041734062175946476778435571174722 3740077942127074037296514037025486965123800762520724371729408533065876318163133744927799880433830901180843999378171521043906448751450745517906594170407353438769479113951051757279164868620540910607381406547338760149932294057522156071790484010598955907279124590584891928539059266689218758196217471332436991023076513783587305714860883139507396321719079561807916958370701865588808496703842099600328711610849329847280839824185529676220336004671324237946999562174480952728541450647773775888477048501729593378201834588120081472428402342784183291673664141999176439482278483924201570420114190137079537708466241331860143401953549955646535887296747156523412355168066410902003036359882708732973605616255324035530854940151387928965427490907986629892668928386932194456637749950280327000404927030594435428273786309473866066482471546838648085489164239028131068906132879049177153189612226220043339072279317592561912590621829082404665569652675739398216702057584509647367220693700902004485613683790987013879418172540196306785224576049792584126414152113584306737495627418230594113277432830156725333270652656743007435935189279624540224136144668963583020046153969800783611820492574391814700010277423201798647572095867528638157365132222516995592225845347247367151742258203498070740201525301117693501922929408170819412141242491226742756238086143273715734100439455281343007199574214344281327909582639729683479133580785530878238902050710366184354350293139996538197783680834817624195090143335047206930469535224914021590625601580677810765311238322535232618768942424733144206250181407674742793817745224418788553630291032693371363587551564377707209596649028077142325521533333079280655137662063507138317507472136679583101168536803743580241463109061217790808352734643909794162136017236700715030983331215256642584738782202321976694125143658043943018153262938077366600019023976555955367563799777773320484963813337659919946119268328250741378035212880890308951204344864249562272977114376064892613997290851781532865688919456512940904373131684578259436399959301790482017172647472805398247681133589842493657180663532235487540305625418627539279777549689361752510564468589287186893159062807197595919339211404584950142844111172109326014327826619393498783865399438180091026692977905571743266718242513756687577607134513325331853727702882220730570814459473785582684516258222180117916508385753261388783007759037839977575163289576591976925722270320394711966963783223200946213118548999406050542337397253061631483219211018419346253054187324765318527299353929776601406663614927973665417152897786543423662052053842100070740491629706777905852422321556429128353882688818240176882987226148545797804811454326725674458575597751803844432536303853087963671039833408780117841267898398907575356630672984372917406865237394913623077360999510088103097994261300022587327679335499777193946179110019942683130270624847180076913027235566735213724389245804746397717621343017402463101367847761678892677522462190846372409406418161039567480349228908889236307427752215379027152946792023503399349596678491041029531416997998799760683401237969248565043948615399437483156666141196588913224921450799255165810811015723184129751056025696321040405260013103681232359383015570262076217714621837818149589444104263174443981484983625750026097101905044419389011585853533490143160548643169469058552505491626821103910276110791867607641829858134240324231095144660738411029126193883404353022361778787221154097995147900215045351821239283339148733508136539666855355557986646797031536353182577516892252341059529843326393195755630147297525752200535330895126173014925886937670048267651409807658288628889175364323053880860318454055487296507307536244051619249794339749891122371844432613460819606868906943219907357587902821595709576454237883270557206799464471176095844546589186244003603321 6051573230935367988022845034170072418407056708027808901231143551833717114823045876153506552090864660400902973844885519357809915508539766290547621238493544822636786412171593353788262884994503448548161825309052302261845247055033217912232333269917037838483991757860062428609941050421592434932757163745857548699149263553414960433890018660974923118489882580732727980680407893419736189232322221354574416407918612366888379911412757205127533760371702291515669091932974873240718602653142085921983122749400157331117930495252385491664111524329211359108680431898950850275875729210866744842072172333189535444881146394373030309669501291683531298485982189266431384579971738773127338673891188361268797285347888790545907910788492531746881010344111766072277811200026264273590847069037198294797816576596533161538209363700646372229166579383694935848282714491386324634468570049023402209880860787052381335916397318315680949450305804204216674163287850292420212479704747216351160901043475263156794054943695484966012159417872221350208308464132841678532767928861357185305286094494014917900449861325889984129068178784036990657215387164372266274206283101401016932428287473895478340269971933340685369814603777922483240657257844375920784756718386757599116405861446727638440245830908213377931310278272262859134522275606651584062646830061169918553771855774362526691649454821968453717543487527809927916366301812839633384463181550506359725823496535683283481051612212174127901334159641501604865791882938606046993661213533498298397469671612532350135829160141773859668785191933110119112554187216978551233194227450843733225432962217264900988105009202079871805639822954380783867533948583260263910283048598347505055204184950600096448546096918917638462089919208543685794248336416963986692484345160896051008779840563544666755605979694389736711348534513878528363464064858153228879457736455399305316276709238258885162252487995775386748447165368832640493620154224882829478701404904266618054161056329349798685180983223336911015084768030179503076387241407787901082231773462371278237510521364905612908390788189586650663194825631876999024493817308867498442180430077843730928436533684878524137184556195020328701333400988372285912734503004948925208532020040301308974474264745128042502555162774618954810671480369024593084109263256388389584722769114497464521045388992316173074459605485606818779489592359660646013465764474691246634385547434252029404219943326494359438881654634869284172299789955261722249181156439923194206807578286492722864336175117595872572806220755268461187383767836304173090377945401240971024629256940372319051241216820981006707418159582133624297558457391377267136334009479034601905132392245774836462345786384043759028667681381259653886738181341458220464129167594736060260441960241062357273445997009364045612181443270149371110475043244128601447988027556239784552723263016143760034528461565998289764826848345718635565386107329252865216535141622046007599958494297264758665673261922621329148375669751963743567299743811177637935081366319358893211921389757014128538557736089383278592804323504544275725794921221259261028813210580792810713393866539953728298218484566198557073697483494078656002316710063154876111276841626718052169471399063969196982083366625068012898545338143816469449053232223591629074107822166333758296729581633043093810312545405135305596491275496687047877130681552957949766206583483969037162328573125692350941954832425981693812525512420808552966959232964268294176509935672719900843900425374351278839044793731279196254906983938990411125131039307483084188454121415763361493621030734818530693444943955984877883339051017838321651452491127480319680440175309653081669895142263010020483744219364873768908894002106629707697855863000530725449851469872563949141913631940380536512741081936055512910158020493065964679574778043 9791651173062442025319359071195559383530857470548533272960552084899593432986179621081306432524695561581746973223057040401716364259990511808454215408900898261406265526122645111067427753615044359155543231856391062411777541112555373984022817280515993745763116348444954357149000317110811193128974635078294539722225777337002266148750901800482319440208962142540644939051109759008544685936164320954903128018767942214169219735598286881347869765043026529462668654107455825969260053300915861810460171251129750709319765083372466964092513867113394650782344573898127289758154213135068315262186362470269073153347387726233173711623051247330067185782729345789843739748038149675130375033773897094242402901603212826076762850939880460712308501252098395964946739586958458730228597019317525295202743607190968589811995673174512438711638126222343021337446953519517393540601449098200555399493087007095720408195714910877593540072134886608882243815963589690636914537289256863718381594744377267642407738734682498845430331958068528135432884513925425804946920042445663922800913512724609031177882691482615317399720835527044426592404666788912490410350952064984036978582257274679090160762546325155385380092026979721130812753125373014078149888940903753191342251208694094790182504034406284118132835579389956361057451683777470996203889321287912674791857999048078260792088910103311460917117701872091255825948941542523112518043967081384598627874206901867637831344752208712325685014994459125799955935217985812977463196438447519889023071252290343115447067482677006478437727616666254325362735594891721345050939451869632286855723994910636264575656573579787081402288851031523109389067281662540919047945112105485822562676321630183197617082900662497879925198980426334494146982980326758148828501581861611081992111055820187251494388182016366430836492192557821546516727002935519828898481713011354672880076487011579370126065825655695332867715493619574018528833035115191780683046269153828891031275432394242412682471835004869776704004224543120407449518925986047337482191075252853295410157994170303860589524378032080307843858357867364539330119235936406778219730119439596241492905122972065417296247363392616248040544805573322428756845675114274939536358639433800092839873702925219069195533068346362221528913994125712170691243776581720243312425651335228035335504862777898857590717827665724735287875345621049429021224802314668821797675124026228955126490263721206326402664877835815497290848789361312264586578409501554677426018596705838975918523499882914399872160150531869867850998695809969590243275731944664633076683099040443059542870923598886859129739716011261978180247275631554150123560158024832406716586718971449295037943538187888191564971534469223324926571590121576061732027566502311416891114944613979764138683391922987122973180953358252469104736343266715929127323527333433730731833282958826890305153308746075202792062415080932359954631912075650582837878159024509108967806255976157436188135452768993738554793830791531223916528652700413945362833581698386046158713413260413478135236227130412810009802322304304959127032890469824304977428610018275967379535063128866953219669283821364367884713206678208407058342406384195281371289945307950411552486969326045414696705204443217602342649601318260450934036857973617726176012866585722769882583115123186254358955714874193858101982902317790958153241473420565591596064717724293268257473233864103380068148715830334716174304299641962650962107133179313645997749219011868634352036965041206634397031440528310732608089561455882663466190569150809477384209751563060887245821566065713656866459869842922547931606702427645979940081380302844642734321035628107137157191649570546264535363469159213518800016373951062321158675469869437668669758827460466770737623208394618419783298288735519984086253865039655150923578381364 15843224403997810013342204105365631801937914178576342174191695636733310547809225497234812984615560221982649947067942559759526279768530278099001836647394443084043051938294238464855690638609547807703705057165443364673622788167588591896255150550433031584247108106305016785758941367532403628061731798824152088421375040890417226582640920461457242558698844723273372919731517652428280875168486542309477544426686554581057599647011044086475403525414728820978337746040430699209978655954057947732443294000529908040437695578624852455756625391442606009891025005797078140034029942345935060104258534803458608598228534120606204021292552539013598484268711535056275124328009888448257713707665085455511200186951101616622670761728372992459189511596210162037224550786984723003819444088354723590000560183787501751350205036875158810940804705606037957185729668010903718175070019147223957609373947794148101744112112229193274489522440690813098917979251439983057127016994004080069542495787852530799201793678377983811442491375940749485641192978058267483479687971307021108106199607218623949078332552808505301528789014311081417249620053953284756684557235166385053911010544748574568501032518258496070749906630757643614053410383217389998934645659290510790458657070140822428622749865314497496064145857662219220191973959384122580266536151349082593345629854822440787483738364925279914634661189399901183742315243355362745902507148631890958353697703437550921312396364420886453586349154100627404821727100924419024456857651981018187420540923902875465582896642818780338106512808599364444475289782108699896284133679320476020081156957127901165563761582781866953207928673985903893256601230245801182958228160703833327617880506580783294065628997581415518387288899634878179941231316743722135520985927022507133000890896383731918249994161710756167547840727071700074880191067793673057777939449466753978196353196249838255288318313651470719616162658988406659022453189340074610161747674058095509085436488723592211367652818228206687719088992573299910525906167393835238564422848715224573647668515535209473497915166221666958507053183499241538354613053245274276661910549517439972421341656656943941433431919587636576741878206561694714669580178119223864744890659474101401814347967670347111698088231120981176339585474494736763775353039838108632897148420449725499856550251770215030665177433151331554067364937980710075034690566789360068432060671460480984530710207047700685841546532470684781463148579316573986835759565941477871632826174992331698782859675000510272444966371287138329038382463646273763333653677345905604101312355980815378594112140419867865837157875593395602477805733022931417259894167503867008621719111217224131500289324571931950593639215850482978813309771463034282196156734097047477151556904855042121412129388932351168585362396628401840215211386510844530575311554889673515284556545974970650339681770312073492556889263426650995520018019404903448054413300646555116567764750273422194853808714691615067703169500543494967483828396511591583297914948017744939370634803017427606673793963219796088602606645808849234852827811691083566006241820599068778092928929668820681517887768387562924958410690172287063060659116447350157482566786934668463721958368390014611678788571068285615241194939462076920383090090197209355250120688752056528179312696756229348169268260279329163698474177814478006030372154973523541362271301208262305419801806989795731010103548256316409986829812062771203929066366143581940174259154684588535195937390415557913236076234259589928862996545394873074591321608458292561572663872978824248739442596800532187559904813798907425814945753445484301591533871430324962414761210937760218827086791833556285019107688524087287708910376057692028856531332869968394119610297333030719879536840334998956296039370671575496996411885532721115603153159407 25634875577060252038661563176561191185468771649124875447152247721632903980795405118316119417140255783564396920290999600161242644028520789907456052056295341345449317464416883575923118392224592166859248289021834427085400329280143965880277967830949025330010224454749971142907941684643214821190706433902446628143600818227419492731391822261939561998907806865814017858782627411436825561104650863264380672445454496795226819382609330967823273290457755350441006400147886525179238709254973809542903465251659658749757460661997319419849139258556000660673369579695205429792184155481003375366444897273727681751575921846839377732915603786343665670051440880846118864076048038123388088741438982549753603088554314442699433612668253453171498012848308558002171290373943181734048041107672248885203303790978470341162200710049671249652442831828380978523176621530421111715671468245424513008867034801243822152307827140070868029594575577421981161795215029673694041554283260943787924090532229798441609532413060482656872823334009277621074077491983693288426608013752685030907113119943232980256215244291120618928509849838125843842024720742197247094908187231369090889592802023253658661795064583651456129998657737364744866163508590404077084534600194263981800908278834917218805253899720781614196981437052175581249425643161593576470425472636995268137487853870519048275827275028591375551778891271992439568264184897885858420551115713275556981571910339418559143741116629598779271364148559753204777662318910232001920054090428538076443612176193218581029964125495786816544240425265618769838025377000421241335073131190108306936880952038537430139418156361654034610217525017427002645668511908342102006173272809319150180556828210966491682711898243913398312487880061212674088214297070480284349487508884118214993001952203919169744382343727122598384332919629521621396918070729192886676421162478108651076429683261417625414384139307166052483878152607980677551286224455266390844793943211924400116711921117834624050124653233076464423093217116420317975425093379882576046613923968077869057826509705513334087439544253747266350911541366606077684732289181681054881640668957036213914246779629009358729679282980252824782423012135017143426425853233498804281249298907901494654221670595566180893621299467343397868499468620448934466596816419828876209574071784953535192055114548113888255895260817056289355240283601759504055915369104028890229735795486709939657200470768907012244211410306500278753997368677886251422337975443032549058844771698170674701383174883424672317126521819008196889381159456243353576929409290570237177995455021258438136983064018754724966897591604657580658053008654485567383454325528699415338305830188673426538232862759820142158610750319706303739881361584610343928184300599358894042671849469021885550812780855338291558543349986654309319947729777560459702635082223107246016389828933797540644835079058148695348951678507583355474649931480554030892291459671064225535571006249579631041944167460608806257963331335026191400357049212005528660748529716130985529348216277841084809030190350208898612408968113154193979860702160907870983670430617344745472463992797687634737557052208927292843123896850495470119001522831545438853856732242618875274445337716060026375493775511503217583844540780337371317126948170827081426133555337779298061895811879415602528223975153523021800457080132268964183613628394089132958336018932555573677275040853899111078252264086651126161134111704733854891173499322895586172008373696457169547974355456764547633107674787900661471086106850755738057512177609102038956873624541885135985264162866245844426364683641829973746552455873130281531615251733169605149082246565867355984278441404102549554471157683300806508926750008754350015206802739406062789369124793497490617160048729617376079337659407095481082665750572376266526731540771 41478099981058062052003767281926822987406685827701217621343943358366214528604630615550932401755816005547046867358942159920768923797051068006457888703689784429492369402711122040778809030834139974562953346187277791759023117447732557776533118381382056914257332561054987928666883052175618449252438232726598716564975859117836719314032742723396804557606651589087390778514145063865106436273137405573858216872141051376284419029620375054298676815872484171419344146188317224389217365209031757275346759252189566790195156240622171875605764649998606670564394585492283569826214097826938435470703432077186290349804455967445581754208156325357264154320152415902393988404057926571645802449104068005264803275505416059322104374396626445630687524444518720039395841160927904737867485196026972475203863974765972092512405746924830060593247537434418935708906289541324829890741487392648470618240982595391923896419939369264142519117016268235080079774466469656751168571277265023857466586320082329240811326091438466468315314709950027106715270470041960771906295985059706139013312727161856929334547797099625920457298864149207261091644774695482003779465422397754144800603346771828227162827582842147526879905288495008358919573891807794076019180259484774772259565348975739647428003765035279110261127294714394801441399602545716156736961623986077861483117708692959835759565639953871290186440080671893623310579428253248604323058264345166515335269613776969480456137481050485232857713302660380609599389419834651026376911742409556263864153100096094046612860768314567154650753233864983214313315159109121137619206810510584327018037909166438595703179739143520987818146199003330895902269742154143284964401433513152477798437334791749785748340895825328916699776779696090854029445613814202419870473435906625347993892848587651087994376505437878765932173646701221696277109138522865944454360611944862629272782879511255880702702452958636772100040811596387336573739413795341001006541617270019909202148409841426835417777471461283152142182209689720228501331260773717814611036772683302442705495025240722807585354710475414224857964724865847616039345342426955331543551218474476186335588436285953300163111202567889401524301218696711858096006031352722669026139958382002896468569638265913292591709530588324574208084943115185698241949856257937509106722492234679035048605366318328918921072693968387843422605221582469579090605935893388958661796466947190924187910677816607698085757942777185060217145947994460238258097541384510420691670946690502373484242849883934944762092893106146525927763623102517116910583086636475841279307811002073816731095204438622590804055467198053183135858741677416984643348493032566423960024941405897558038522187331752092752249966170189282553191133047644626124341034696406371194228754324064006962942169787689460143905746615056149535159116288404990277946637112780761300946374908768190984516849370222187905840941934234350994667950885457478946704760317619342103335756523001825895752882152223873961132831878521158884185445723597111958663477733875924899983019295268691482824153570004987215015613922003428832688513851991436989912251216413523565392922466508316255444820596490217801534587022782533179660639278895596336423519177287338996403706106074638054282346579788832825039480242414291700217038368036436676254244089835826241208508635644950697492235432852185498931257946746970213985783367612674320607320140817879097076847843694842088355812342967536147963923767505058820239865466477526346267528381045704743911745872322460869183909047490590334082652245628812648833786067394600529537497520709384724706759666778031986269497440737399561498209318614583123149123163494567563843457503627574811365233237658834573578846207388094217837126066446378871738135609374456908979422126528210496696889064616332375377030078670978079077636105097382129884700178 67112975558118314090665330458488014172875457476826093068496191079999118509400035733867051818896071789111443787649941760082011567825571857913913940759985125774941686867128005616701927423058732141422201635209112218844423446727876523656811086212331082244267557015804959071574824736818833270443144666629045344708576677345256212045424564985336366556514458454901408637296772475301931997377788268838238889317595548171511238412229706022121950106330239521860350546336203749568456074464005566818250224503849225539952616902619491295454903908554607331237764165187488999618398253307941810837148329350913972101380377814284959487123760111700929824371593296748512852480105964695033891190543050555018406364059730502021537987064879898802185537292827278041567131534871086471915526303699221360407167765744442433674606456974501310245690369262799914232082911071745941606412955638072983627108017396635746048727766509335010548711591845657061241569681499330445210125560525967645390676852312127682420858504498949125188138043959304727789347962025654060332903998812391169920425847105089909590763041390746539385808713987333104933669495437679250874373609629123235690196148795081885824622647425798983009903946232373103785737400398198153103714859679038754060473627810656866233257664756060724458108731766570382690825245707309733207387096623073129620605562563478884035392914982462665738218971943886062878843613151134462743609380058442072316841524116388039599878597680084012129077451220133814377051738744883028296965832838094340307765276289312627642824893810353971194993659130601984151340536109542378954279941700692633954918861204976025842597895505175022428363724020757898547938254062485386970574706322471627978994163002716277431052794069242315012264659757303528117659910884682704219960944790743562986894800791570257738758849165001364316506566330743317674027209252058831130781774422971280349212562772673506117086592265802824583918964204368014125025638250607391851335560481944309318860330959261459467902124694359616565275426806140546476756354153600390657650696651380311763321534946236141672794254729161491208876266232453693724077631608636386425191887431512400249835215914962658892790485548142226306724230831729001522431884586221473307389257289904391122791308861479473485330830055667972076584411735634632708546672677766385316296564019632570240660480866442807176967954785444132777845505184229083146521304997417848891532262433900863845111148585514710329969353083685338971143316672346489680435516827542969750515718388673048185626024767359617079219414925154722817144782558760470487512495927046078457303266023332254868078268457377315770953058802710763793911750331902552026802818561265839298330771594570984576755050091572234910860716489895586293072494632254970052525335295765265236900603793085892513754950643027751702449096601710458855106846065965449980581719335888007317336203842565731629351928428370883254792620441817706469317882366011509838996219988683567638906762772581456937697049612832680219096163213547350284542494935602640619412007450006910429331235573109776291854343920213885827424582035157622812549216012899307973582681833758269037856915264195950993001872805417510644658483873278003298662162110441035190280251419906214270849043822134664429776122091292050408884021022751663017343986538863518102387799427615124303104320515060553225716210586375207299388338079015934397599411761701807278943339073373452774351888697593953166608076429618662309098035472238913711413364789373112518275902077502874291886101329087008502291583835391251805168759096384550706345963676496639486411122062594520709970922533023876412634181082567373308050665191744864654764374896664172712925704069494930795643674641761384128050003890688900726763876075200728886944938348780519698348546920025701113856937794233708454714689485766459161743386677473648656616240949 108591075539176376142669097740414837160282143304527310689840134438365333038004666349417984220651887794658490655008883920002780491622622925920371829463674910204434056269839127657480736453892872115985154981396390010603446564175609081433344204593713139158524889576859947000241707788994451719695582899355644061273552536463092931359457307708733171114121110043988799415810917539167038433650925674412097106189736599547795657441850081076420626922202723693279694692524520973957673439673037324093596983756038792330147773143241663171060668558553214001802158750679772569444612351134880246307851761428100262451184833781730541241331916437058193978691745712650906840884163891266679693639647118560283209639565146561343642361461506344432873061737345998080962972695798991209783011499726193835611031740510414526187012203899331370838937906697218849940989200613070771497154443030721454245348999992027669945147705878599153067828608113892141321344147968987196378696837790991502857263172394456923232184595937415593503452753909331834504618432067614832239199983872097308933738574266946838925310838490372459843107578136540366025314270133161254653839032026877380490799495566910112987450230267946509889809234727381462705311292205992229122895119163813526320038976786396513661261429791339834719236026480965184132224848253025889944348720609150991103723271256438719794958554936333955924659052615779686189423041404383067066667644403608587652111137893357520056016078730569244986790753880514423976441158579534054673877575247650604171918376385406674255685662124921125845746892995585198464655695218663516573486752211276960972956770371414621545777634648696010246509923024088794450207996216628671934976139835624105777431497794466063179393689894571231712041439453394382147105524698885124090434380697368910980787649379221345733135354602880130248680213031965013951136347774924775585142386367833909621995442283929386819789045224439596683959775800755350698765052045948392857877177751964218521008740800688294885679596155642768707457636495860774978087614927318205268687469334682754468816560186958949258148965204575716066840991098301309763422974035591717968743105905988586585423652200915959055901688116031627831025449528440859618437915938944142333529215671907287591360947127392766077040360643992546284669354850820330950496528935703894423019056254311605289265847184771726098040648753831976200450726766698662237127240890806807553328729381091788033021826402122408415727295860870399188289264666806727938533058212053390442186665079175421669868874651294561841312308031301248744908405661277587398095582563521919736611077025406071599173472895999906575008526000763946929770492009319536670151311593832263258355713000468542615277237423324327663110682660084868846263627679899596176866369992171636431129358117149899476697120430717211846354843216766608390265962354370440258528356448668768618282578751333922613868777798593071160633562376052057463985833251468988785700980306302909742242519295583282833449931765056554180228995092068509168727940659199752578075485183882835329314254868378467774678497490218873042440195957161051645237729864890744963494933050171792603249837730704267248446693401907728446193070896060536478322801389336631526703770597193553267252749928209302484058468671080883233923501265165954717561024906899954778642043517450950544312829150705503923208446019227392798319596025762904611585195129314481599550659214191331871428736541288795254963888772586198457061959239743972531653230255850638864543430458548579035797847201409469371475492882881842139251411342013363355179749743891240015948619583303905434677682199801908398903678523304772869548874510359447777913498060158740276769161573122505607008907879420218701628850098076994944601002141647107758683073958154976607327969046553911610553826858850040830091719564437437240821022782571030786500941127 175704051097294690233334428198902851333157600781353403758336325518364451547404702083285036039547959583769934442658825680084792059448194783834285770223660035979375743136967133274182663876951604257407356616605502229447870010903485605090155290806044221402792446592664906071816532525813284990138727565984689405982129213808349143404881872694069537670635568498890208053107690014468970431028713943250335995507332147719306895854079787098542577028532963215140045238860724723526129514137042890911847208259888017870100390045861154466515572467107821333039922915867261569063010604442822057145000090779014234552565211596015500728455676548759123803063339009399419693364269855961713584830190169115301616003624877063365180348526386243235058599030173276122530104230670077681698537803425415196018199506254856959861618660873832681084628275960018764173072111684816713103567398668794437872457017388663415993875472387934163616540199959549202562913829468317641588822398316959148247940024706584605653043100436364718691590797868636562293966394093268892572103982684488478854164421372036748516073879881118999228916292123873470958983765570840505528212641656000616180995644361991998812072877693745492899713180959754566491048692604190382226609978842852280380512604597053379894519094547400559177344758247535566823050093960335623151735817232224120724328833819917603830351469918796621662878024559665749068266654555517529810277024462050659968952662009745559655894676410653257115868205100648238353492897324417082970843408085744944479683652674719301898510555935275097040740552126187182615996231328205895527766693911969594927875631576390647388375530153871032674873647044846692998146250279114058905550846158095733756425660797182340610446483963813546724306099210697910264765435583567828310395325488112473967682450170791603471894203767881494565186779362708331625163557026983606715924160790805189971208005056602892936875637490242421267878740005123364823790690296555784709212738233908527839869071759949754353581720850002385272733063302001321454843969080918595926338165986063066232138095133195090930943219933737207275717257330755003487500605644228104393934993337500986835258868115878617948692173664173854137749680360169861140869800525165615640918472961811678714152255988872239562371190699660518361253766586454963659043201613470279739315620273944175529926328051214533275008603539276108978296231950927745383648545888224656444860991814992651878132974987637118745696648944555738159432581339153217618968575039596360192702383467848469855494899418654178920531722956455971562053188220038057885608078490567998193914343048738326467251741353377222345961584803474710723682242341222088696954130155098102556686484595039527192032287514896562573971399149980455139336122312154566229391705287936901668029961910235791990452071073744963548803939818477067245372808420335890239110075784556775935618782593899654243220706226963954415426182817869763933303715617480498624697200294986477381149282068164739771146981377889234399325158305615859453270435594802393197487492633889745758645490441488244066532841410432758869864777992318674457786945877790052937077614883930061641106752994900218241448566207325239090851554769338539776984963499777666716984022017099767538101793750343966913834590762372933642807522287917617734905011445763472881029842945066074847417149665766057148924656605602600097707934104778839009184606891016288878493998287564784645780625238882748421571965202204860766159994711982886243066595045223751382819332536051453327683948530496477873767076718273093944420170438397914061525713420387879502359741645898426144648604732825784811537859605872146177599539702104312432677872956822912989694865642617436402652582521181602829678853988765895671364878216847836645628012306935496305676515966579612724410764653083749284806409050203896402564409460044679443117182076 284295126636471066376003525939317688493439744085880714448176459956729784585409368432703020260199847378428425097667709600087572551070817709754657599687334946183809799406806260931663400330844476373392511598001892240051316575079094686523499495399757360561317336169524853072058240314807736709834310465340333467255681750271442074764339180402802708784756678542879007468918607553636008864679639617662433101697068747267102553295929868174963203950735686908419739931385245697483802953810080215005444192015926810200248163189102817637576241025661035334842081666547034138507622955577702303452851852207114497003750045377746041969787592985817317781755084722050326534248433747228393278469837287675584825643190023624708822709987892587667931660767519274203493076926469068891481549303151609031629231246765271486048630864773164051923566182657237614114061312297887484600721841699515892117806017380691085939023178266533316684368808073441343884257977437304837967519236107950651105203197101041528885227696373780312195043551777968396798584826160883724811303966556585787787902995638983587441384718371491459072023870260413836984298035704001760182051673682877996671795139928902111799523107961692002789522415687136029196359984810182611349505098006665806700551581383449893555780524338740393896580784728500750955274942213361513096084537841375111828052105076356323625310024855130577587537077175445435257689695959900596876944668865659247621063799903103079711910755141222502102658958981162662329934055903951137644720983333395548651602029060125976154196218060196222886487445121772381080651926546869412101253446123246555900832401947805268934153164802567042921383570068935487448354246495742730840526985993719839533857158591648403789840173858384778436347538664092292411870960282452952400829706185481384948470099550012949205029558370761624813866992394673345576299904801908382301066547158639099593203447340532279756664682714682017951838515805878715522555742342504177567089915985872746360877812560638049239261317005645153980190699797862096432931584008236801195025635320745820700954655320154040189092185138312923342558248429056313250923579679819822362678099243489573420682520316794577004593861780205481968775129888610720759307716464109757974447688633718966305513203116265005639411551343653064645923121437275294609539730549174174162334676528255780819192175235986259373049252293108085178746958717626407620775786779031463998189721196084439911154801389759527161423944805426137347721846005959945557501633251649750634889048547023891525363774069948740761844030987757220306961593881315645283703661054089917930525420074144398066425214249377128920970110804238657653452734350541625367105441748930365815042197595508069807309524938220890237082081810065323985599749992054162406258075280108538099159320027385691467149191504462175395158783035243675635638770774706330497638432233225544553901361345233576857089484025557025576059745193921821397289548868949487410398180601289387123391801363748022604596913142945788579554153397684368621998376254002145775562977817772581087959745309866711841211338900651631912304973949479726103024675742680797900572547934101854244356590725604485489895259609232967537044625665399076255307764889114298243687792614293320805354543678553269397893059433453816876731023553083572452466036352663427659671886462517025391729978816471561072133102624829992896027530130541743620769802020330770478044657501756116517209361780171543676535853974791059223221953951726858774719825301074390247362762994600032363481795731905947245242569601154936083671581780411277416705463164279119518308361229202331579326286932627693210441538129176919047148414212463760210591371016981653266464027215739942009661490400601821531307704086842890615965880358494944404311086265090472913004485013133524334964591511933790114898128614641333643385432242615710229618123203 459999177733765756609337954138220539826597344867234118206512785475094236132814070515988056299747806962198359540326535280172364610519012493588943369910994982163185542543773394205846064207796080630799868214607394469499186585982580291613654786205801581964109782762189759143874772840621021699973038031325022873237810964079791218169221053096872246455392247041769215522026297568104979295708353560912769097204400894986409449150009655273505780979268650123559785170245970421009932467947123105917291400275814828070348553234963972104091813492768856667882004582414295707570633560020524360597851942986128731556315256973761542698243269534576441584818423731449746227612703603190106863300027456790886441646814900688074003058514278830902990259797692550326023181157139146573180087106577024227647430753020128445910249525646996733008194458617256378287133423982704197704289240368310329990263034769354501932898650654467480300909008032990546447171806905622479556341634424909799353143221807626134538270796810145030886634349646604959092551220254152617383407949241074266642067417011020335957458598252610458300940162384287307943281801274842265710264315338878612852790784290894110611595985655437495689235596646890595687408677414372993576115076849518087081064185980503273450299618886140953073925542976036317778325036173697136247820355073599232552380938896273927455661494773927199250415101735111184325956350515418126687221693327709907590016461912848639367805431551875759218527164081810900683426953228368220615564391419140493131285681734845278052706773995471319927227997247959563696648157875075307629020140035216150828708033524195916322528694956438075596257217113782180446500496774856789746077832151815573290282819388830744400286657822198325160653637874790202676636395866020780711225031673593858916152549720804552676923762138643119379053771757381677201463461828891989016990707949444289564411452397135172693540320204924439219717255811002080346346432639059962276302654219781274200746884320587803592843037855647539252923763099863417887775553089155397121363801306808886933092750453349131120035405072050130618275505759811316738424185324047926756613092580990560255941388432673194953286035444379336106524810248780581900177516989275373615366161595530645019665459105137245201782742043313583007176888023730258268582932162644453901650296802199956349118503287200792648057855832384194157043190668554153004424332667256120443050713011077091789287776377396645907120593749981875507154427345113163176470208291246110827591432014872361380858673488602919682375753944213191869014782101353703169311739544657916124439763122882724533676955602754351266931695607713368377134976691763714064059571904028468371728682190547596999341812453117452811053480960045779124935872304208728635649780568045439767189281937621483457601262578207138943962722853720742881011579195042220736748508017782320489520143939133231100310190252520979991485928011791585330593264486429986035095380896275864504541083431912762375743894520835022978879311703300228075268811848804538973050470451662326846605235751354955907744180311084390782169751941798400560811621620470850837650162818031915885463343720504703731343825816558206627896180434737616032292728388891964960671814631393088343456337428897236311727650195826750519538545841001190187371047798426900540701729407583100239147128482237618221057759230432592993735464235320582629954408911347059356538655789320901162989987019054292098107819176995919989381948663709745017786420346298141630182095530651485691165744262402425119009646319428030028091752218809191478231176584666999020668102875100757723974891665453478021979397735049065224747953914568072643269243973804566256158892858357378412314072921783424360986558075608786287330758575342781049939098572025969218681000979713137059375356165017539399704537664845230045949841702660389672735305279 744294304370236822985341480077538228320037088953114832654689245431824020718223438948691076559947654340626784637994244880259937161589830203343600969598329928346995341950579655137509464538640557004192379812609286709550503161061674978137154281605558942525427118931714612215933013155428758409807348496665356340493492714351233292933560233499674955240148925584648222990944905121740988160387993178575202198901469642253512002445939523448468984930004337031979525101631216118493735421757203320922735592291741638270596716424066789741668054518429892002724086248961329846078256515598226664050703795193243228560065302351507584668030862520393759366573508453500072761861137350418500141769864744466471267290004924312782825768502171418570921920565211824529516258083608215464661636409728633259276661999785399931958880390420160784931760641274493992401194736280591682305011082067826222108069052150045587871921828921000796985277816106431890331429784342927317523860870532860450458346418908667663423498493183925343081677901424573355891136046415036342194711915797660054429970412650003923398843316624101917372964032644701144927579836978844025892315989021756609524585924219796222411119093617129498478758012334026624883768662224555604925620174856183893781615767363953167006080143224881346970506327704537068733599978387058649343904892914974344380433043972630251080971519629057776837952178910556619583646046475318723564166362193369155211080261815951719079716186693098261321186123062973563013361009132319358260285374752536041782887710794971254206902992055667542813715442369731944777300084421944719730273586158462706729540435472001185256681859759005118517640787182717667894854743270599520586604818145535412824139977980479148190126831680583103597001176538882495088507356148473733112054737859075243864622649270817501881953320509404744192920764152055022777763366630800371318057255108083389157614899737667452450205002919606457171555771616880795868902174981564139843392570205654020561624696881225852832104354861292693233114462897725514320707137097392198316389436627554707634047405773503171309127590210363053960833754188867629989347765003867749119291191824480133676623908749467771957879897224584818075299940137391302659485233453385131589813850229249611325178662221402250841194293386966647653100009461005552878122662711818628063984973330455737168310678523187052021107108125492279335790149386180560625200119446287584441240434207161531700442577767156173068544538555408012854876273351073108733971841542895861462480480561896252906222447558551660444219784931970412175976375982669348453015400598747834054965183197027122600102169852131480187901806411952026030587711042305339431165013652958834186770879786055666806651337391338343048135562770111103110535622296262891041907855848153977866348601965007174924750454082669314339121505888964418516650349969748551234386940251007865043421505284366807957399674278078005567545673205713406727882813355379473445493561497565251627932884795660784980340807663780811558433465100984596697267188102806684748613448269434907934564981061221667748955519211736022694474725891278126663836297363151648738222710752133770129819934446109189221239085425791174164940806100136692287600493278006263204359607245686409148810881107450505709620709629280567396269569394084762639837084151090328200373615870100125630877107298709179293190861855262585889762994365862326250724210931677829834583313291077017680199348799225835774643673151786979212603902615436603792506245647372531877544858525251518054647539994308372364252215920582966111763333999220468894936639748946118538976464104303089303301178598081171232420935864225984271896368127031832853860614990786219522622920074097320421975563322385245892294262162451676903296638933837725454250184837116442131685485992846661394339947676951329514602666279486563689335273945276099902353428482 1204293482104002579594679434215758768146634433820348950861202030906918256851037509464679132859695461302825144178320780160432301772108842696932544339509324910510180884494353049343355528746436637634992248027216681179049689747044255269750809067811360524489536901693904371359807785996049780109780386527990379213731303678431024511102781286596547201695541172626417438512971202689845967456096346739487971296105870537239921451595949178721974765909272987155539310271877186539503667889704326426840026992567556466340945269659030761845759868011198748670606090831375625553648890075618751024648555738179371960116380559325269127366274132054970200951391932184949818989473840953608607005069892201257357708936819825000856828827016450249473912180362904374855539439240747362037841723516305657486924092752805528377869129916067157517939955099891750370688328160263295880009300322436136552098332086919400089804820479575468277286186824139422436778601591248549797080202504957770249811489640716293797961769289994070373968312251071178314983687266669188959578119865038734321072037829661024259356301914876712375673904195028988452870861638253686291602580304360635222377376708510690333022715079272566994167993608980917220571177339638928598501735251705701980862679953344456440456379762111022300044431870680573386511925014560755785591725247988573576932813982868904178536633014402984976088367280645667803909602396990736850251388055521079062801096723728800358447521618244974020539713287144784463696787962360687578875849766171676534914173392529816532259609766051138862740943439617691508473948242297020027359293726193678857558248468996197101579210554715443194113898004296499848341355240045456310332682650297350986114422797369309892590413489502781428757654814413672697765143752014494513823279769532669102780775198991622054558877082648047863571974535909436699979226828459692360335047963057527678722026352134802625143745323124530896391273027427882876215248607620624102119695224425435294762371581201813656424947392716940232486038225997588932208482690186547595437753237934363594567140156226852302429162995282413184579109259948678946727771950327915675875904284405470693932565297182140966911165932668964154181824750386171884559662750442660505205180011824780256344844121326539496042977035430280230660276897484735811146705594874463081965635270132655693517429181810387844669164963957876473492833340054734713629624452113543704884291147218238623489730354144552818975665132305389888362030700696186271910442049834141972290071912576768614287081121047154580126595538876183604044991158084023051622327140143405750179404946319909847133779125454885831454833502019665394407722687734069053495224585556987302558499561976603263805993149844455795859189043730156882235471494600471619677557636416199417633537883902628658382351716660876453283084228742685161397661929164790771971135448268790185532941649223500039057709864530598985559031601217504992058476077841809459480588942393841116132473968227573547356084702184615834537312776804284824772535999951611223721663918721097234781170216812576623656699699522820413476644477833076527224647918983622499575872873570165686015283278166613892952582911242349380792836986534874308319893221666898228165031421877079497492267218536347742021348359825107317915808115235085952827208131949517228741075345277683225870024235780946797514248621085695178883498458601182908880678619843024889191121969080397918843189335818280127872751492328782899201985851279146348810292665993670673507726954055903003745813284256710797483261862240010996139855086218029660373167816333613117559644566979403847027276070263534649254400333599275049496644322041599905497129858964590785778781812932454698834289636244168670253280820238060463190627397509180506504189283409142411350366486972559798453715303841968868914307203944331793735285115647936489575088733761 1948587786474239402580020914293296996466671522773463783515891276338742277569260948413370209419643115643451928816315025040692238933698672900276145309107654838857176226444932704480864993285077194639184627839825967888600192908105930247887963349416919467014964020625618983575740799151478538519587735024655735554224796392782257804036341520096222156935690098211065661503916107811586955616484339918063173495007340179493433454041888702170443750839277324187518835373508402657997403311461529747762762584859298104611541986083097551587427922529628640673330177080336955399727146591216977688699259533372615188676445861676776712034304994575363960317965440638449891751334978304027107146839756945723828976226824749313639654595518621668044834100928116199385055697324355577502503359926034290746200754752590928309828010306487318302871715741166244363089522896543887562314311404503962774206401139069445677676742308496469074271464640245854327110031375591477114604063375490630700269836059624961461385267783177995717049990152495751670874823313084225301772831780836394375502008242311028182755145231500814293046868227673689597798441475232530317494896293382391831901962632730486555433834172889696492646751621314943845454946001863484203427355426561885874644295720708409607462459905335903647014938198385110455245524992947814434935630140903547921313247026841534429617604534032042752926319459556224423493248443466055573815554417714448218012176985544752077527237804938072281860899410207758026710148971493006937136135140924212576697061103324787786466512758106806405554658881987423453251248326718964747089567312352141564287788904468198286835892414474448312631538791479217516236209983316055830919287468442886398938562775349789040780540321183364532354655990952555192853651108162968246935334507391744346645397848262439556440830403157452607764895300061491722756990195090492731653105218165611067879641251872470077593950326044137353562828799044763672084150782602188241963087794631089315323996278083039509257051747578232925719152688895314446529189827283939793754142674561918302201187562000355473738290585492776238539943014137546576717119715331783424995195476229950827609189205931608738869045829893548972257124690523563187219147983896045636794993862054029867670022783547941746884171328817246878313376906945741364024828257586281710029620243463111430685739860333574896690272072083368752828623489440915274254824571559831289325531581425400155190172931911708992044209670860797901216906974047259380644413891377037833752552393138664867193303568605706240570815323808154016220967534066692400075342540742153584234370129516936969733881295307017311642735308431617420438310398776374392926389599209946136745270441762658930612644487235794138907324606500267985346007116896734510719465492264353395499886485867635833307102170743545767622205734631649579914312279134539323205522388519798050576363154507866847015109538808676991126577274423218398786358891197188932926082503891406367760406853023234332336425509848396646095746241905269421469803188054417908470277366990532142715735197873798291405655218734556436171119203724354653888484216346774148314095584322299456145103212612723082173821996668140554957777792635011000607493714944904491369391029122765906641078099643798247730969069454387885312077684629170715467045216100607556941448961147783351500901343079655976807439482940957764773261452967045235131402830774702719025705282371474936523388684617505963647395165480569878414589753894582952602798911641043205385271812581154521800460824251019169847514078160593962251618420217250129268104456082559236098621031083706936330577248861615820486821269463501033768540690168631738350990473955377005301404733006552019256265199566553916145575082400512140093924036443018231958439468246258853482051972965406459848055251518920198428909870223818357424620389593212589477442162243 3152881268578241982174700348509055764613305956593812734377093307245660534420298457878049342279338576946277072994635805201124540705807515597208689648616979749367357110939285753824220522031513832274176875867042649067649882655150185517638772417228279991504500922319523354935548585147528318629368121552646114767956100071213282315139122806692769358631231270837483100016887310501432923072580686657551144791113210716733354905637837880892418516748550311343058145645385589197501071201165856174602789577426854570952487255742128313433187790540827389343936267911712580953376036666835728713347815271551987148792826421002045839400579126630334161269357372823399710740808819257635714151909649146981186685163644574314496483422535071917518746281291020574240595136565102939540345083442339948233124847505396456687697140222554475820811670841057994733777851056807183442323611726940099326304733225988845767481562788071937351557651464385276763888632966840026911684265880448400950081325700341255259347037073172066091018302403566929985858510579753414261350951645875128696574046071972052442111447146377526668720772422702678050669303113486216609097476597743027054279339341241176888456549252162263486814745230295861066026123341502412801929090678267587855506975674052866047918839667446925947059370069065683841757450007508570220527355388892121498246061009710438608154237548435027729014686740201892227402850840456792424066942473235527280813273709273552435974759423183046302400612697352542490406936933853694516011984907095889111611234495854604318726122524157945268295602321605114961725196569015984774448861038545820421846037373464395388415102969189891506745436795775717364577565223361512141251970118740237385052985572719098933370953810686145961112310805366227890618794860177462760758614276924413449426173047254061610999707485805500471336869835970928422736217023550185091988153181223138746601667604007272702737695649168668249954101826472646548299399390222812344082783019056524610086367859284853165681999140295173158205190914892903378737672517470487389191895912496281896768327718227207776167453580775189423119052274086225523444891665659699100871099760635421521541754503113749705780211762562513126438949440909735071778810734338706142000173873878810124014866904874481242927148364247527108973653804430477175171533852460744791995255513595767124203169042143962741359437036041245226321456829495649987884449023673374994209822728643638778679903286056261811019874803166187789578937674743445652554855941211179806042624305715433481480384689652860820697410862684337620265958692150715451697669680885559334413775075836846816867660420761903143097568810451282814846033086510443446421614184766933439303770003739262194418637637080249934766513650230424867581478611497206130397023128680552813133424369770264491689453887404422220905289963374334741311974208299330095176657836788588236109304803731366886072819403339275976685608875640723390844834969038998392406671446285247483892880821250807879692510212033012480633059018709554246242339188006029132191941285711629377496905414686374915062354918257376849647763681557431181113132135330396647889968457892465142160386490779336975126404907910489935750614779169885308927386936611802719534422450999845404133345318180145989752317429279495203227885799864256668294253348050124785682524306425466577370925578860602774321688104026652943656759911568228144012081450617727608216827251451872855366578020435786091520146657809352777616575605173729301413091577634713878892998766637057525546274108507729967330775940400604958391473506435279789641272272416172353658265598063110783357853319125150469741221603062776083265185012210231643848120332919967791080186545939006718090554835810722586398855902638572603284551433952198738462628751655401264832418459937966258301770555360889067343217074168150151159905505241149079052530896004 5101469055052481384754721262802352761079977479367276517892984583584402811989559406291419551698981692589729001810950830241816779639506188497484834957724634588224533337384218458305085515316591026913361503706868616956250075563256115765526735766645199458519464942945142338511289384299006857148955856577301850322180896463995540119175464326788991515566921369048548761520803418313019878689065026575614318286120550896226788359679726583062862267587827635530576981018893991855498474512627385922365552162286152675564029241825225865020615713070456030017266444992049536353103183258052706402047074804924602337469272282678822551434884121205698121587322813461849602492143797561662821298749406092705015661390469323628136138018053693585563580382219136773625650833889458517042848443368374238979325602257987384997525150529041794123683386582224239096867373953351071004637923131444062100511134365058291445158305096568406425829116104631131090998664342431504026288329255939031650351161759966216720732304856350061808068292556062681656733333892837639563123783426711523072076054314283080624866592377878340961767640650376367648467744588718746926592372891125418886181301973971663443890383425051959979461496851610804911481069343365897005356446104829473730151271394761275655381299572782829594074308267450794297002975000456384655462985529795669419559308036551973037771842082467070481941006199758116650896099283922847997882496890949975498825450694818304513501997228121118584261512107560300517117085905346701453148120048020101688308295599179392105192635282264751673850261203592538414976444895734949521538428350897961986133826277932593675250995383664339819376975587254934880813775206677567972171257587183123783991548348068887974151494131869510493466966796318783083472445968340431007693948784316157796071570895516501167440537888962953079101765136032420145493207218640677823641258399388749814481308855879742780331645975212805603516930625517410220383550172825000586045870813687613925410364137367892674939050887873406083924343603788217825266862344754427182946038587058200198969515280227563249905744166267965661658995288223772100162011380991482525866295236865372349150943709045358444649257592456062098696074131433298258997958718234751778795167735932839991684889688422422989811319693064773987287030711376218539196362110047026502024875757058878554888908902477537638049709108124613979150080318936565262139273595233206283535354310069038933870076217967970803064084474026985690795844648790705033199269832588217639795176698854098348673688258258567061268226186492491636486926226217407851773012221627712918648145205353783786601541716068920454740304118882900235284343485286817839348003783976879576049040445501921125031282124316044073673838256730692852927485728393940641116488620944906208633310855637900324996556058147967988527495698005984321226286487433869418382180225308386286685667958239233733087928942147952967812186150063941789631193860236187325332753950176653851653287674274042212028935721881409126728805260614823667712142376060447040662218652702161520212640612560173206468010136991933285818882885281785835001616351677170796204064042214764598305489703392060057300226904578630490708392571804896309534880651556707210903813480122611310774423417823944237483286498733883088539963484493427383761298564150732342623973267573249928871826921940258751129127586967610708430021364535273379143484281392430327242532533823347791889966705053292055167541823289922656031165359068312254015890489275757084278270579218212047346734932758749137178290018561198920643091926652529918909376728498731589756886629146817719688430567986766290228042872526277117033725702378863382199110806875344796381591278945558737346820035377276502544430985039084743378475470395216970421068219901660118314470432903372718149825806879809265772126944391968508584525894834361668529973058247 8254350323630723366929421611311408525693283435961089252270077890830063346409857864169468893978320269536006074805586635442941320345313704094693524606341614337591890448323504212129306037348104859187538379573911266023899958218406301283165508183873479450023965865264665693446837969446535175778323978129947965090136996535208822434314587133481760874198152639886031861537690728814452801761645713233165463077233761612960143265317564463955280784336377946873635126664279581052999545713793242096968341739713007246516516497567354178453803503611283419361202712903762117306479219924888435115394890076476589486262098703680868390835463247836032282856680186285249313232952616819298535450659055239686202346554113897942632621440588765503082326663510157347866245970454561456583193526810714187212450449763383841685222290751596269944495057423282233830645225010158254446961534858384161426815867591047137212639867884640343777386767569016407854887297309271530937972595136387432600432487460307471980079341929522127899086594959629611642591844472591053824474735072586651768650100386255133066978039524255867630488413073079045699137047702204963535689849488868445940460641315212840332346932677214223466276242081906665977507192684868309807285536783097061585658247068814141703300139240229755541133678336516478138760425007964954875990340918687790917805369046262411645926079630902098210955692939960008878298950124379640421949439364185502779638724404091856949476756651304164886662124804912843007524022839200395969160104955115990799919530095033996423918757806422696942145863525197653376701641464750934295987289389443782407979863651396989063666098352854231326122412383030652245391340430039080113423227705923361169044533920787986907522447942555656454579277601685010974091240828517893768452563061240571245497743942770562778440245374768453550438634972003348568229424242190862915629411580611888561082976459887015483069341624381473853471032451990056768682949563047812930128653832744138535496731996652745840621050028168579242129534518681121204004534862224914572137934499554482095737842998454771026073197747043155084778047562309997623606903046651181626737394997500793870692698212159108150429469355018575225135023572343033330776769452573457920795341609811650115699756593296904232738468057312301096260684515806695714367895962507771294020131270654645679092077944621500379409146144165859205471537148432215250023722618906581277745177038712677712549979504024232614083959277193173480374782323534150685754125773799397445837801004569531830154072947911427881965637049176829256752884918368123303470681902513272253061920281190630603469202136830823597837872929334183050130376571797261285769617968743813015352810449241183319449919761396294008440351906961117720508964339891146771513511749625459021766735225408164816686009945552390209432785661380319062538260695733199513558838062096974522794972761970600619160748345487228944497795025704665180476028829275185717739425396461901335546168495524850091721445933914421607361864279324377913954481564066476172854159938413790897709546027246548121530365055249310135466646566839217016114748487007567444094032500107229740465876194171397032426631812489120426459007350974781618462267588168509930438235931122456714907768736004090227235603928013378291767849284357684052055551912200857128306497573998716506242752500800861525450815690994263652086781276103501523155565732010157935459359785275220647256544725489078146687688481099275433647740964242041555428982066910470963171269345855269572893009041266479104509065958961803879034565433087809708550649000914903943415152227209928503046283887111916759969264475589053200298910714589095026047231139795312587461777824884565455437374871187999088943286887677657346663026904347415708883696971557061383146888892841338976451596362240698333115344018560118659744431400075510747582503954251 13355819378683204751684142874113761286773260915328365770163062474414466158399417270460888445677301962125735076616537465684758099984819892592178359564066248925816423785707722670434391552664695886100899883280779882980150033781662417048692243950518678908543430808209808031958127353745542032927279834707249815412317892999204362553490051460270752389765074008934580623058494147127472680450710739808779781363354312509186931624997291047018143051924205582404212107683173572908498020226420628019333893901999159922080545739392580043474419216681739449378469157895811653659582403182941141517441964881401191823731370986359690942270347369041730404444002999747098915725096414380961356749408461332391218007944583221570768759458642459088645907045729294121491896804344019973626041970179088426191776052021371226682747441280638064068178444005506472927512598963509325451599457989828223527327001956105428657798172981208750203215883673647538945885961651703034964260924392326464250783649220273688700811646785872189707154887515692293299325178365428693387598518499298174840726154700538213691844631902134208592256053723455413347604792290923710462282222379993864826641943289184503776237316102266183445737738933517470888988262028234206812641982887926535315809518463575417358681438813012585135207986603967272435763400008421339531453326448483460337364677082814384683697921713369168692896699139718125529195049408302488419831936255135478278464175098910161462978753879425283470923636912473143524641108744547097422308225003136092488227825694213388529111393088687448615996124728790191791678086360485883817525717740341744394113689929329582738917093736518571145499387970285587126205115636716648085594485293106484953036082268856874881673942074425166948046244398003794057563686796858324776146511845556729041569314838287063945880783263731406629540400108035768713722631460831540739270669980000638375564285315766758263400987599594279456987963077507466989066499735872813516174524646431752460907096134020638515560100916041985326053878122469339029271397206979341755083973086612682294707358278682334275978941913311120746437042850533769723768914427642664152603690234366166219843641921204466595078726947474637323831097703776331589774728170808209699590509345744490107384646281719327222549787750377075083547715227182914253564258072554797796045007027713524233980986847099038017458855252290473184621617467368780512162996214139787561280531348781716646420055721992203417148043751220159171170626972324855718953395606387615085632977703423630178827761206169994943233863235669320893239811144585531155243694124140985171710065486544414390070743852899744052578177048217083285414720057084079125117621752720692591401850894743104444481201885712338082114190163691810573436450068285087412630000370570365230400046081046065141682566003700358197960281359386303383764547183167068931941018287405360809480640720209834352248677287635181912309981175768606970107222689511373043072179346638555187199456169798892303750381655795830734090669539939201581666623940126923213516378591115952417922186639806721327998375192241243421285529452121002851116364838684738240298096542321994338771365897563457089726858717067750917167399922779677927997148239725217141342049411245068025682192153828034464718890426747261380307812768851111435816850476351589470930470841571966435114579422741120276579943277961874360516802640638774902299050013402588262701892319098568439146511430542370201855230304389198089678906323310353809444872556186228047449539925073481620239743974025228241687355977523002799677657359740339627460025729413635533172038856356746222734714455098683050197307348115330317332636416967958408246341946670657383843369103830124192784194906565275591487717872716742090041502374742632679304765191458721501461359325744711694601422169120507598887470962952087168328957294909872416112477012498 21610169702313928118613564485425169812466544351289455022433140365244529504809275134630357339655622231661741151422124101127699420330133596686871884170407863263408314234031226882563697590012800745288438262854691149004049992000068718331857752134392158358567396673474473725404965323192077208705603812837197780502454889534413184987804638593752513263963226648820612484596184875941925482212356453041945244440588074122147074890314855510973423836260583529277847234347453153961497565940213870116302235641712167168597062236959934221928222720293022868739671870799573770966061623107829576632836854957877781309993469690040559333105810616877762687300683186032348228958049031200259892200067516572077420354498697119513401380899231224591728233709239451469358142774798581430209235496989802613404226501784755068367969732032234334012673501428788706758157823973667579898560992848212384954142869547152565870438040865849093980602651242663946800773258960974565902233519528713896851216136680581160680890988715394317606241482475321904941917022838019747212073253571884826609376255086793346758822671426390076222744466796534459046741839993128673997972071868862310767102584604397344108584248779480406912013981015424136866495454713102516619927519671023596901467765532389559061981578053242340676341664940483750574523825016386294407443667367171251255170046129076796329624001344271266903852392079678134407493999532682128841781375619320981058102899503002018412455510530729448357585761717385986532165131583747493391468329958252083288147355789247384953030150895110145558141988253987845168379727825236818113513007129785526802093553580726571802583192089372802471621800353316239371596456066755728199017712999029846122080616189644861789196390016980823402625521999688805031654927625376218544599074906797300287067058781057626724321028638499860179979035080039117281952055703022403654900081560612526936647261775653773746470329223975753310458995529497523757749449298920626446303178479175890996403828130673384356181150944210564568183412641150460233275932069204256327221907586167164390445201277137105302052139660354275831215090412843767347375817474293845779341085231866960090536340133363574745508196302493212548966121276119364920551497623381667620385850955556140223084402875016231455288255807689376179808399742989609967932154035062569090065138298368169913073064791720538396868001396456332390093154615800995762186718833046368839025708387494394358970035226016436031232003028413332651545409295859006404707521380187012531470778707993162008981834154081422825199500284846150149992696062953654458714376026654257424771985767735044993539945989730567650416049977551266335545096628881340410887239721464505606754661343984287763931121647108632090554542070652928293945414408176234184143512120195824252166781306454229958368575949252748407393067020766622446302807878900268445499856349502335332275613482180434971409425633122410856807776201473272150583251518786558760811604743100456522745624665323742395471827589710252341452533819263579495621105504193399386370538529529743315631732667053269449528740247490553556752176018960219867231113325692305684392129042429224079237242091734854122153490529556871343626407273754459546459415827893727071780285342367524740589960889832124691954494354760639672075662053208795487872402388552446599236968415570682941357331923541981802030758968956138012603583916742276425454615745412746198161252104373789086403056156031448348542918785488473523326647287552395364873854623096699010620809270928751193132753015291707346196421936484806678712222792828149336010674730328539476587191083566674725780998342210599810166571823704383517631547131557053434293573086465969971305146928714689648221569777753274680431004760394399436704529279090048388188462163015782884608248218586050671053018531361205932002814981512205828073388694985383163694980966749 34965989080997132870297707359538931099239805266617820792596202839658995663208692405091245785332924193787476228038661566812457520314953489279050243734474112189224738019738949552998089142677496631389338146135471031984200025781731135380549996084910837267110827481684281757363092676937619241632883647544447595914772782533617547541294690054023265653728300657755193107654679023069398162663067192850725025803942386631334006515312146557991566888184789111682059342030626726869995586166634498135636129543711327090677607976352514265402641936974762318118141028695385424625644026290770718150278819839278973133724840676400250275376157985919493091744686185779447144683145445581221248949475977904468638362443280341084170140357873683680374140754968745590850039579142601403835277467168891039596002553806126295050717173312872398080851945434295179685670422937176905350160450838040608481469871503257994528236213847057844183818534916311485746659220612677600866494443921040361101999785900854849381702635501266507313396369991014198241242201203448440599671772071183001450102409787331560450667303328524284815000520519989872394346632284052384460254294248856175593744527893581847884821564881746590357751719948941607755483716741336723432569502558950132217277283995964976420663016866254925811549651544451023010287225024807633938896993815654711592534723211891181013321923057640435596749091219396259936689048940984617261613311874456459336567074601912179875434264410154731828509398629859130056806240328294590813776554961388175776375181483460773482141543983797594174138112982778036960057814185722701931038724870127271196207243510056154541500285825891373617121188323601826497801571703472376284612198292136331075116698458501736670870332091405990350671766397692599089218614422234543320745586752354029328636373619344690670201811902231266809519435188074885995674687163853944394170751540613165312211547091420532009871316823570032767446958607004990746815949034793439962477703125607643457310924264694022871741251860252549894237290763619799262547329276183598082305880672779846685152559555819439578031081573665396577652133263377537071144731901936509931944775466233126310379982054568041340586923249967849872797218979895696510326225794189877319976360301300630330469049156735558677838043558066451263356114970172524221496412107617366886110145326081694147054051638819576414326856648746805574714772083169776274349715047186156400306239736276111005390090948008639448380046779633491822716036268183862123660916986574627617103756411416792187809595360251417768433363520515471043232507207539185613958070150795242596482051254279459383610689842630311702994227025768349620959816685965419536004861474185198198156512238727392208412323532820970172668732234344738867381864476461321596773512490766189482566827387500295100051141952953106605353348380152925830067355062067337377440874636907696141756254202390269323658102920757592769117757377241879120690474208297931803883784089739011709945080835122634699222209245506083075543203359202781077287729444320322599886917120645695733553919306859990777527115439731796978037705471081222718347478164377043924690225584751218418008607989298311211880349246624622260793807196534137474456564067618944213122334753612592766272153043660159156673384781507901052383474822059906923689252864904036070167439257142649376471911346283102078610702246918012373120386557381051327753665758815334460863144423472357525549567586573818550398149089877671613005553610862749174318727179282927058070349196002232813372496989316935587883777914007809478389880152568488963470700459742175009759229939923420948515712797309282860363879171819713834964183548525011842539915033136627355148516032544813841005764684318550271918722633111141526746031653832681067493227354474504386069607544330762365654440700481713530890285944464292996402345989895255579807457979247 56576158783311060988911271844964100911706349617907275815029343204903525168017967539721603124988546425449217379460785667940156940645087085965922127904881975452633052253770176435561786732690297376677776408990162180988250017781799853712407748219302995625678224155158755482768058000129696450338487460381645376417227672068030732529099328647775778917691527306575805592250863899011323644875423645892670270244530460753481081405627002068964990724445372640959906576378079880831493152106848368251938365185423494259274670213312448487330864657267785186857812899494959195591705649398600294783115674797156754443718310366440809608481968602797255779045369371811795373641194476781481141149543494476546058716941977460597571521257104908272102374464208197060208182353941182834044512964158693653000229055590881363418686905345106732093525446863083886443828246910844485248721443686252993435612741050410560398674254712906938164421186158975432547432479573652166768727963449754257953215922581436010062593624216660824919637852466336103183159224041468187811745025643067828059478664874124907209489974754914361037744987316524331441088472277181058458226366117718486360847112497979191993405813661226997269765700964365744621979171454439240052497022229973729118745049528354535482644594919497266487891316484934773584811050041193928346340661182825962847704769340967977342945924401911702500601483299074394344183048473666746103394687493777440394669974104914198287889774940884180186095160347245116588971371912042084205244884919640259064522537272708158435171694878907739732280101236765882128437542010959520044551731999912797998300797090782726344083477915264176088742988676918065869398027770228104483629911291166177197197314648146598460066722108386813753297288397381404120873542047610761865344661659151329615703432400402317394522840540731126989498470268114003277626742866876348049070833101225692248858808867074305756341646047545786077905954136502514504565398333714066408780881604783534453714752395367407227922402804463114462420703404770259495823261345387854409527788258947011075597760832956544880083221234019672408867223676221304418520549376230355711285860698100086400916322187931616086095119552461062421763340256015061430877723417571544940362211256856770553553452031751790133126299365755827443164514713162134189428566142679935976175283624449864060127116430540114811194858045203137964807926698970772036536433880232525239331948123770505364360126174025075479612049808046824474261445564042868528368438366761640148574535119409954196791429514332840593632863805361621193225203270492840072672446177449500021254037022014504377150635832360879353410277003319615956504913314846759946892101195649703804911173582711679972343445179929602263223274304997667161327278884637555780917024610962013734733608693954525058419717902205855012746415400919548276370162940967605822940730986410031474031867684570704295067528553880003625925533578715151271273725727084490564695388832839468232690705500446377094694036835216335416995737178466360572908834948513721986257455650175439049185651973913260227055855687222350534789881490041442585578591490069349609082354627180442497245850081033165334033839776181493604420214470288597020915979895512671284902620095980117506862113933492283848627879136268540724459136875268702411561655253456482669404407672713332317829243269825083880641461215874150385723970474123327753208281504228080659024396527846146611952623742605266898941067875366145136332200898415144539192581802379626068691158466930984006505250004608642934080199850492616157102102945396638299481375190070714486346421023490095674296711139519882670530450995524097352595730680082065276833488119602597326453662961259503489227334462071824952349727393505540963450560932922729455681689517490287270677855762916813036707459231842919462893100925976498824475734684880638743502438945996 91542147864308193859208979204503032010946154884525096607625546044562520831226659944812848910321470619236693607499447234752614460960040575244972371639356087641857790273509125988559875875367794008067114555125633212972450043563530989092957744304213832892789051636843037240131150677067315691971371107926092972332000454601648280070394018701799044571419827964330998699905542922080721807538490838743395296048472847384815087920939148626956557612630161752641965918408706607701488738273482866387574494729134821349952278189664962752733506594242547504975953928190344620217349675689371012933394494636435727577443151042841059883858126588716748870790055557591242518324339922362702390099019472381014697079385257801681741661614978591952476515219176942651058221933083784237879790431327584692596231609397007658469404078657979130174377392297379066129498669848021390598881894524293601917082612553668554926910468559964782348239721075286918294091700186329767635222407370794619055215708482290859444296259717927332233034222457350301424401425244916628411416797714250829509581074661456467660157278083438645852745507836514203835435104561233442918480660366574661954591640391561039878227378542973587627517420913307352377462888195775963485066524788923861336022333524319511903307611785752192299440968029385796595098275066001562285237654998480674440239492552859158356267847459552138097350574518470654280872097414651363365007999368233899731237048706826378163324039351038912014604558977104246645777612240336675019021439881028434840897718756168931917313238862705333906418214219543919088495356196682221975590456870040069194508040600838880885583763741155549705864177000519892367199599473700480768242109583302508272314013106648335130937054199792804103969054795074003210092156469845305186090248411505358944339806019747008064724652442962393799017905456188889273301430030730292443241584641838857561070355958494837766212962871115818845352912743507505251381347368507506371258584730391177911025676660061430099663654664715664356657994168390058758370590621571452491833668931726857760750320388775984458114302807685068986519356939598841489665281278166865643230636164333212711296304242499657426682042802428912294560559235910757941203949211761422260338571558157400884022501188487348810964342923822278706520629683334658410924978250297302862285428950531558207181168069359691225521714693949943539522698782140548310886148927418681639638187860046616369750217122033714927992096587680316296977481832226730652029355353336267765678291530826746384601024874584258362066227325877092236457710478032025686630516328244742617736088276293963760761325674991191056404504029087965577464730000812179482896962669834902003067685821439072180755768712750572435892006539342406028709143361098877377690537101728203217300436081454820158470859855158961618099763781072474106437518003034943200381605623317727615788121886960973618725631474637596395043290955957030391964199935382422368579172922578479942635786335569011793916246080722418492538940537669141650196564392834044586144372770821134782739571280773251004582971126954147512827586961122665303926069654446393533772580211931660915254458070331476545914189022806115865214021666822734495372543963131615498024954849592710273134266977152443005301263917776441776842611697328609335250908118360518739571846929855981694301154616108185959252163462792162758844357031504379080961947263043415119887540951318504137502191329179085449339216965243816749337754509277893713511308981662553126761507662933216819877746993925578521963977764500425635491983097965127262952075649812889496105650963413516622812423936829165530894330167343811187559914228607077119373403152739224681602178993804317330233099146390375224268450026616682490196592586755410523174916871964791656747463307247575402361899932324632993783386870440791820878080674775894323309896925243 148118306647619254848120251049467132922652504502432372422654889249466045999244627484534452035310017044685910986960232902692771401605127661210894499544238063094490842527279302424121662608058091384744890964115795393960700061345330842805365492523516828518467275792001792722899208677197012142309858568307738348749228126669679012599493347349574823489111355270906804292156406821092045452413914484636065566293003308138296169326566150695921548337075534393601872494786786488532981890380331234639512859914558315609226948402977411240064371251510332691833766827685303815809055325087971307716510169433592482021161461409281869492340095191514004649835424929403037891965534399144183531248562966857560755796327235262279313182872083500224578889683385139711266404287024967071924303395486278345596460664987889021888090984003085862267902839160462952573326916758865875847603338210546595352695353604079115325584723272871720512660907234262350841524179759981934403950370820548877008431631063726869506889883934588157152672074923686404607560649286384816223161823357318657569059739535581374869647252838353006890490495153038535276523576838414501376707026484293148315438752889540231871633192204200584897283121877673096999442059650215203537563547018897590454767383052674047385952206705249458787332284514320570179909325107195490631578316181306637287944261893827135699213771861463840597952057817545048625055145888318109468402686862011340125907022811740576451213814291923092200699719324349363234748984152378759224266324800668693905420256028877090352484933741613073638698315456309801216932898207641742020142188869952867192808837691621607229667241656419725794607165677437958236597627243928585251872020874468685469511327754794933591003776308179617857266343192455407330965698517456067051434910070656688560043238420149325459247492983693520788516375724302892550928172897606640492312417743064549809929164825569143522554608918661604923258866880010019755946745702221572780039466335174712364740429055428837327586057469178778819078697573160318254193851966959306901361457190673868836348081221732529338197524041704741395386580615820145908185830654397221354516496862433299112212626430431273512777162354889974716323899491925819372081672629332967200700782815014171437575953220239138944090642289578106149685144396496792600353544392977238838460712574981422267308284499899806036716572739153081504330625481111320347422582807651206878970135983817121734110343296058790407604146395727140771238927396269599180397793720097907914252826650236700581392454388917098955699091131238713429682913748524865759302962505694242638990125298308468137911961507352070409814781032407581533969643315658939429789063865484605807978859404150752153099213892680174699115280844340073190036422245736433158607561712690216952034044775409345216890577757364816630846179181992022382807680944002549023322336609727759089819989571531677913793160028517600020968824534672181663237925662466912933274561755417948175326491836015388888610282915938753909534677716135502223105399341347766572401828420996573831925223254686511231638826814176498047617468451164107889504661144515743142854934839112103412500308151364641879948028798987609469634236137111331516288523858644286782927574945572827779996380910644726853929143054044982501301748572597311746812563371817001408976254602569314012130397885933269839893624678666313144568327505627706834170228767271495778911937479164650749454815071784352348280284840609961885669955407693038252703890784042179195452666129864200826382996998534221456044177614993041792594086043361765562433450839883603982452071986903612297109135076349048201424781162867908540155644908689142396206891272341822008055841955063820819460433608462200176618177420122223453647153519678139978856606389455078927425319070164388439069359164167552456676487796417290645353815359656533066812335871239 239660454511927448707329230253970164933598659386957469030280435294028566830471287429347300945631487663922604594459680137445385862565168236455866871183594150736348632800788428412681538483425885392812005519241428606933150104908861831898323236827730661411256327428844829963030359354264327834281229676233831321081228581271327292669887366051373868060531183235237802992061949743172767259952405323379460862341476155523111257247505299322878105949705696146243838413195493096234470628653814101027087354643693136959179226592642373992797877845752880196809720755875648436026405000777342320649904664070028209598604612452122929376198221780230753520625480486994280410289874321506885921347582439238575452875712493063961054844487062092177055404902562082362324626220108751309804093826813863038192692274384896680357495062661064992442280231457842018702825586606887266446485232734840197269777966157747670252495191832836502860900628309549269135615879946311702039172778191343496063647339546017728951186143652515489385706297381036706031962074531301444634578621071569487078640814197037842529804530921791652743236002989552739111958681399647944295187686850867810270030393281101271749860570747174172524800542790980449376904947845991167022630071807821451790789716576993559289259818491001651086773252543706366775007600173197052916815971179787311728183754446686294055481619321015978695302632336015702905927243302969472833410686230245239857144071518566954614537853642962004215304278301453609880526596392715434243287764681697128746317974785046022269798172604318407545116529675853720305428254404323963995732645739992936387316878292460488115251005397575275500471342677957850603797226717629066020114130457771193741825340861443268721940830507972421961235397987529410541057854987301372237525158482162047504383044439896333523972145426655914587534281180491781824229602928336932935554002384903407370999520784063981288767571789777423768611779623517525007328093070729079151298051065565890275766105715490267427249712133894443175736691741550377012564442588530759393195126122400726597098401610508513796311826849389810381905937555418987397851111932564086997747133026766511823508930672930930939459205157318887010884458727836577313285621841094389461039354373171572321598454408726487755054985213400384856205774079831451011278522643274541700746141525512980474489452569259497262238287433103025043853324263251868658308731735069888518608323843863738103860560418092505335596242983407457068216409228496329832427149073434175679931118181063446965993479263501357317765318457115805666140624226556891445933478833938985256726213574602431898673287182343261466219285061495547111434373316471118912686026535319507811046545225589824333854982605430747135007287383682479218745565606835310536298098814418420169334480856864165375361437612523778248945942963064496489245198947037492223703942233045486705608111458492651532518791503155196416012115490629212055202125597849335301853734677996428117962278171584400682526528996661172402073618253804643873301963734181811158546201191817708614664794535459762236221797941130645560445055412286773193430730798962136676627515051043764327754766221696118425862217821793725334848257803934066011661067821775902280952529795165538053130647887797169859230406971821424278144360269925921082063471490177520148548101532425295706431552502041455799145788141458475903412684537132085915132176030314910898799478430483154886957006400963437797619501805853778635007709916970931966215199765704732322214173792797417646260743992459799978008155379493467428086069141326892825385526489696493478557722950317128919921559013178213732319111330211719727715559137296219515580294425081046689658020948868138149693532754852575400886627446738905943843746106433550502031523261419870584172782377411963841431259096492185450459874666858082466231896034432427390122232796482 387778761159546703555449481303437297856251163889389841452935324543494612829715914913881752980941504708608515581419913040138157264170295897666761370727832213830839475328067730836803201091483976777556896483357224000893850166254192674703688729351247489929723603220846622685929568031461339976591088244541569669830456707941006305269380713400948691549642538506144607284218356564264812712366319808015526428634479463661407426574071450018799654286781230539845710907982279584767452519034145335666600214558251452568406174995619785232862249097263212888643487583560952251835460325865313628366414833503620691619766073861404798868538316971744758170460905416397318302255408720651069452596145406096136208672039728326240368027359145592401634294585947222073591030507133718381728397222300141383789152939372785702245586046664150854710183070618304971276152503365753142294088570945386792622473319761826785578079915105708223373561535543811619977140059706293636443123149011892373072078970609744598458076027587103646538378372304723110639522723817686260857740444428888144647700553732619217399451783760144659633726498142591274388482258238062445671894713335160958585469146170641503621493762951374757422083664668653546376347007496206370560193618826719042245557099629667606675212025196251109874105537058026936954916925280392543548394287361093949016128016340513429754695391182479819293254690153560751530982389191287582301813373092256579983051094330307531065751667934885096416003997625802973115275580545094193467554089482365822651738230813923112622283106345931481183814845132163521522361152611965706015874834609945803580125715984082095344918247053995001295078508355395808840394853961557651271986151332239879211336668616238202312944606816152039818501741179984817872023553504757439288960068552818736064426282860045658983219638410349435376050656904794674375157775825943573427866420127967957180928685609633124811322180708439028691870646503527544763274838772950651931337517400740602640506534770919104754835769603073221994815389314710695266758294555490066294556583313074595433446482832241043134509350891094551777292518171239133306036942586961308352263629889199810935721557103362204452236367512208861727208358219762396685367294470427356661740137188185743759174407628965626699145627502978491005890918476328243611632067036251780539206854100494402741797737069159303298954860172256106548183949744363189005731314542721095397578459827680859837970903714151295743200389379134597839455336624765929012824942793532083594183944831300147547385933652418456273464409588354519095823537975081757205236441339633227895716338872910900036585248689695331876034066093903128645404016632130058342475090400804113619025404629740576486954196498110921834122568228022552408781987852571743694905660527108637121368525632273510592252015369888594879792122145056518872052879891040041247026278842773245795428101030024329446311951531672796436980940025301393718440051260316248235128296433414376293288770007599789571136811912599926311608295969940146096407363075529577730948029612814282446590017790146273467860624755307143608062523863450881082935391943477879819482449890155867740255074373060760305810246620781334804482493941045397527949591680420189063880104740738365833127028798441896713159550025866406779446108842523232828876034861994521557524356134994609718561950387974725639039412820124789047981012042759792749302404797586406677711415909647805636411821472747790145899786646463740520677665324663970218919090549746911517666839922661618472643740990994021434052332994486509220680155184688658387818977329580097461009794937220741217030694089527261933743892493079628267871204045985361911787185697422868697713862903931958969153966363314775577504804866861129397490899626111690480888129650874949511598101447576352280500618260659737907136362463275373111585711394088960456934568667721 627439215671474152262778711557407462789849823276347310483215759837523179660187202343229053926572992372531120175879593177583543126735464134122628241911426364567188108128856159249484739574909862170368902002598652607827000271163054506602011966178978151340979930649691452648959927385725667810872317920775400990911685289212333597939268079452322559610173721741382410276280306307437579972318725131394987290975955619184518683821576749341677760236486926686089549321177772681001923147687959436693687569201944589527585401588262159225660126943016093085453208339436600687861865326642655949016319497573648901218370686313527728244736538751975511691086385903391598712545283042157955373943727845334711661547752221390201422871846207684578689699488509304435915656727242469691532491049114004421981845213757682382603081109325215847152463302076146989978978089972640408740573803680226989892251285919574455830575106938544726234462163853360889112755939652605338482295927203235869135726310155762327409262171239619135924084669685759816671484798348987705492319065500457631726341367929657059929256314681936312376962501132144013500440939637710389967082400186028768855499539451742775371354333698548929946884207459633995753251955342197537582823690634540494036346816206661165964471843687252760960878789601733303729924525453589596465210258540881260744311770787199723810177010503495797988557322489576454436909632494257055135224059322501819840195165848874485680289521577847100631308275927256582995802176937809627710841854164062951398056205598969134892081278950249888728931374808017241827789407016289670011607480349938739967442594276542583460169252451570276795549851033353659444192080679186717292100281790011072953162009477681471034885437324124461779737139167514228413081408492058811526485227034980783568809327299941992507191783837005349963584938085286456199387378754280506363420422512871364551928206393697106100089752498216452460482426127045069770602931843679731082635568466306492916272640486409372182085481736967665170552081056261072279322737144020825687751709435475322030544884442749556930821177740484362159198455726658120703888054519525395350010762915966322759230487776293135391695572669527748738092816947598973998652916311521746122779491561357316080772862037692114454200612716378875862096692556159694622910589679526322239952995626007383216287189638418800561193147605359131592037274007615057664040046277790983916186783671544597941831464132243801078796632362542054907671745853262258845252091866966259274115063012363594513379412915919813591229728045470324761964162201638648651169920173572213152442552447513331935258535872038593342253351155398675756838389948601177255161116936123621430071949855330400820809179103541668969129855611705031627527553459407054231203759341527057290703006489137675967613452982412373128738065108121015361298078838077533470730221075818732501036212488516980978830743034827992852993055515930605773642176858165583536982031111410804411251048179184190253663340909261098713681914223744789969709326809711388889494230804631991061254812325606035704082422696437789168507579275737654276366122742440016496109964941199632068009840594756878731672464442575060139330751744979463539610659502196091344832634535903903886257676686239066572389956997687831057590469112449153910939506352172041706072457667419905424993502890016181438185200961583264951393696579891878664434580827901317576510894340130960523368827873711227943519288452317519155685375241634902185134290315451643839881013715459036118904484983453821412060488373979976648766224326015551213204503819276590939567517887537870136952253102705475666063003823291347995586763183281581427367480122503915387371883852800097118847499118167350978391432313600035341334645732545240982919652912294820095770883824988316121931877357151923357596237130133455577817607428521387847056801464203 1015217976831020855818228192860844760646100987165737151936151084381017792489903117257110806907514497081139635757299506217721700390905760031789389612639258578398027583456923890086287940666393838947925798485955876608720850437417247181305700695530225641270703533870538075334889495417187007787463406165316970660742141997153339903208648792853271251159816260247527017560498662871702392684685044939410513719610435082845926110395648199360477414523268157225935260229160052265769375666722104772360287783760196042095991576583881944458522376040279305974096695922997552939697325652507969577382734331077269592838136760174932527113274855723720269861547291319788917014800691762809024826539873251430847870219791949716441790899205353276980323994074456526509506687234376188073260888271414145805770998153130468084848667155989366701862646372694451961255130593338393551034662374625613782514724605681401241408655022044252949608023699397172509089895999358898974925419076215128242207805280765506925867338198826722782462463041990482927311007522166673966350059509929345776374041921662276277328708098442080972010688999274735287888923197875772835638977113521189727440968685622384278992848096649923687368967872128287542129598962838403908143017309461259536281903915836328772639683868883503870834984326659760240684841450733982140013604545901975209760439787127713153564872401685975617281812012643137205967892021685544637437037432414758399823246260179182016746041189512732197047312273553059556111077757482903821178395943646428774049794436412892247514364385296181369912746219940180763350150559628255376027482314959884543547568310260624678805087499505565278090628359388749468284586934640744368564086433122250952164498678093919673347830044140276501598238880347499046285104961996816250815445295587799519633235610159987651490411422247354785339635594990081130574545154580224079791286842640839321732856892003330230911411933206655481152353072630572614533877770616630383013973085867047095556779175257328476936921251340040887165367470370971767546081031699510891982308292748549917463991367274990600065330528631578913936490973897897254009924997106486703702274392805166133694952044879655339843931940181736610465301175167361370684020210781949102784519628749543059839947269666657741153346240219357366867987611032487938234542656715778102779159849726501785958084926707578103860148007777615238140221223751978246669771360820512079313765243499225457779802367846395096821997021741676652747127082478028187858077034660498342868299007843663742060765346568338269864694137633824843857787700176720405856406361513205441048158891320424231971843784561733925218287417249301804402242406580731235597636207336927735049097354485070977307763375601652590803252423839727584036309541311978797926109419868635694412071532121411186559865468352300968008530187253177534233350958729117574717756499918591978296464313518541310425142694566500789289973995541231999492082228118481831772110327544825180704539818186783979824800152821861025025290210193684936066116689885240966620442260417446273507844830115752309171943047451744932776570103139188535359301514685917896315592414831355499808264914967817639037482711063356394943813245686024861067560251182616280408712739276642269719384705484680963285549507023554237837036577954972386739815541214166563263596813802414515143555453277990907077224613781708053999374708622651671413736985625487724254222310249778766159780649346459018089419075098781259676363040566298872404053380865198555357547853638120654591548225974447842846112821368466485869446379510704209601023481148856688400577312824758611353982947192232737599806896316370976263457967229266943339154665819926784085085746756732056088001465481482126555896237180461164738825545358656931463807782563169769607368985272564668402432495617811661264732599593408828689403318822610348303991370131924 1642657192502495008081006904418252223435950810442084462419366844218540972150090319600339860834087489453670755933179099395305243517641224165912017854550684942965215691585780049335772680241303701118294700488554529216547850708580301687907712661709203792611683464520229527983849422802912675598335724086092371651653827286365673501147916872305593810769989981988909427836778969179139972657003770070805501010586390702030444794217224948702155174759755083912024809550337824946771298814410064209053975352962140631623576978172144103684182502983295399059549904262434153627559190979150625526399053828650918494056507446488460255358011394475695781552633677223180515727345974804966980200483601096765559531767544171106643213771051560961559013693562965830945422343961618657764793379320528150227752843366888150467451748265314582549015109674770598951234108683311033959775236178305840772406975891600975697239230128982797675842485863250533398202651939011504313407715003418364111343531590921269253276600370066341918386547711676242743982492320515661671842378575429803408100383289591933337257964413124017284387651500406879301389364137513483225606059513707218496296468225074127054364202430348472617315852079587921537882850918180601445725841000095800030318250732042989938604155712570756631795863116261493544414765976187571736478814804442856470504751557914912877375049412189471415270369335132713660404801654179801692572261491737260219663441426028056502426330711090579297678620549480316139106879934420713448889237797810491725447850642011861382406445664246431258641677594748198005177939966644545046039089795309823283515010904537167262265256751957135554886178210422103127728779015319931085856186714912262025117660687571601144382715481464400963377976019515013274698186370488875062341930522622780303202044937459929643997603206084360135303220533075367586773932533334504586154707265153710686284785098397027337011501685704871933612835498757617684304480702460310114096608654333353588473051815743737849119006733077008552335919551427232839825403768843531717670060002184025239494536251717740156996151706372063276095689429624555374713813051626012099052285155721132456454182532655948475235627512851264359203393992114960344682673127093470848907299120310900375920720131704349855607546852935736242730084303588647632857453246395304425019112845352509169174372116345996904421341155382974369732258497759593304333811407098303063229952027170770055721633831978638897900793654104218707654798828331290446703329126527464602142414070856027336574144759484258083455923865679295168619751862378359054507576281686777654200601443767937563907102320433772518560540768404700480159080796529332412852797324273051356479169304340401378128572554705194259772382279451432615663837094771385852157313179210162751702774538610548862527478921334713341137268252361298549594649037567195108188486720994410710797500526007058291403973437601328782142967051057162605265724404976647415309092358656235985115790866365968170078463493731122123738972124417429726035826016694952355509936491222078264569099642441358344876025470148182721945077682414926189635667637428357912811702379772555131876274755562574517769155175505931455083143997431004324607170910684812371753545373812546173605642382170920029857939464021242068894627047067421540650755047566338604969669271469834420568548956168007088515409814743291318950768405202543550078171566453389041830733204589909726683149477220170246032938363551098778832048415807933774589187671180650199197428867353579690710452710957901664258173309742446462518212603836719760814227984968133279340144830712296481490935200294938213265869900139662324259044730412548524766522145942430699472457630609532153206848964599649477534287669494061200080160191091202172446727435475464589703139869097552984524364372974963584622328836723542284267220926251131736151048171596127 2657875169333515863899235097279096984082051797607821614355517928599558764639993436857450667741601986534810391690478605613026943908546984197701407467189943521363243275042703939422060620907697540066220498974510405825268701145997548869213413357239429433882386998390767603318738918220099683385799130251409342312395969283519013404356565665158865061929806242236436445397277632050842365341688815010216014730196825784876370904612873148062632589283023241137960069779497877212540674481132168981414263136722336673719568554756026048142704879023574705033646600185431706567256516631658595103781788159728188086894644206663392782471286250199416051414180968542969432742146666567776005027023474348196407401987336120823085004670256914238539337687637422357454929031195994845838054267591942296033523841520018618552300415421303949250877756047465050912489239276649427510809898552931454554921700497282376938647885151027050625450509562647705907292547938370403288333134079633492353551336871686776179143938568893064700849010753666725671293499842682335638192438085359149184474425211254209614586672511566098256398340499681614589278287335389256061245036627228408223737436910696511333357050526998396304684819951716209080012449881019005353868858309557059566600154647879318711243839581454260502630847442921253785099607426921553876492419350344831680265191345042626030939921813875447032552181347775850866372693675865346330009298924152018619486687686207238519172371900603311494725932823033375695217957691903617270067633741456920499497645078424753629920810049542612628554423814688378768528090526272800422066572110269707827062579214797791941070344251462700832976806569810852596013365949960675454420273148034512977282159365665520817730545525604677464976214899862512320983291332485691313157375818210579822835280547619917295488014628331714920642856128065448717348477687914728665945994107794550008017641990400357567922913618911527414765188571388190298838358473076940497110581740200400684029830991001066326055927984417049439501287021798204607371484800543042609652368294932575156958527618992730757061482235003642190032180403522452628723738048732498802754559548526298590149134577535603815079559453033000969668695167282321715366693337875419951691818749060443435760667401371007596760893093155093609598071914621135571091995903111082527798272695079010955132457043053575008281489163160589607872479721511571551003582767918815142543717270669995513501436199825033994722790675845895360401925910809318634561406161187962945010713078699691078634910106052596353320618003313120012477539562555079460363982643199983095248760335088361795878946104995506443778828185654002284561323203110063648450433531609979091528266658825472355436335930306846850575634703291160199700146636083364650083422599078798446114846070731960049087344389687014309145798439614476083827999996296312682906243220913002689093964839525599601829116132167829571432941046598394604757806633095129247081202686201061165820330684552752149903263646552983148764262334611114662101942706580193322130378751639524538076944472557110654047968517599927654721647785554114724994969152114275809127294794603910631684539670530392156806637886569287850026957243117029185674731161867428652162258113089188443325027087655600993143488971044796306731663625022393927390570588780505168233266085272248935712104409445997995592634428524999372950143113825195221491908552078876766084955514839688492842930126566629264122357438649880038508411456374232646993241052045848754554976720991700345302000936932349507104286131110912948387658983347423970415251466116989967740722143537055092844918147487170950865676796456033300522502697641815468105676811762357483557543377366264209294850430081131604090183906674522364818985736449859103910535218038634359310508854370117652926796868592775245887061436316951112956624245073742084455039541728051 4300532361836010871980242001697349207518002608049906076774884772818099736790083756457790528575689475988481147623657705008332187426188208363613425321740628464328458966628483988757833301149001241184515199463064935041816551854577850557121126018948633226494070462910997131302588341023012358984134854337501713964049796569884686905504482537464458872699796224225345873234056601229982337998692585081021515740783216486906815698830098096764787764042778325049984879329835702159311973295542233190468238489684477305343145532928170151826887382006870104093196504447865860194815707610809220630180841988379106580951151653151853037829297644675111832966814645766149948469492641372742985227507075444961966933754880291929728218441308475200098351381200388188400351375157613503602847646912470446261276684886906769019752163686618531799892865722235649863723347959960461470585134731237295327328676388883352635887115280009848301292995425898239305495199877381907601740849083051856464894868462608045432420538938959406619235558465342968415275992163197997310034816660788952592574808500846142951844636924690115540785992000088493890667651472902739286851096140935626720033905135770638387721252957346868922000672031304130617895300799199606799594699309652859596918405379922308649847995294025017134426710559182747329514373403109125612971234154787688150769942902957538908314971226064918447822550682908564526777495330045148022581560415889278839150129112235295021598702611693890792404553372513691834324837626324330718956871539267412224945495720436615012327255713789043887196101409436576773706030492917345468105661905579531110577590119334959203335601003419836387862984780232955723742144965280606540276459862946775002399820053237121962113261007069078428354190919377525595681477702974566375499306340833360126037325485079846939485617834416075055946076661140816304122410221249233252100701372948260694302427088797384904934415304616399348378024070145807983142839175537250611207190394533754272502882806744804175174934717494057991837206573225437447196888569386574327322428297116600396453063870710470914057633941375705466127869833147008003437551100358510901806844704247431046603317110191552290315186965884265328872089159397282060049366464968890800599117869371343811681387533075357452368439946090829852328156218209783203949449149506386952817385540431520124306829159399571912702830318543563977604738219271164855337394175017118205773669297840765569223070031803672892623584329950114068056724739140609081264735287715427547153127149555718415209054865536854436776541868992415181097291424933438514871558924886760749449361778856299359786048425429278962339368954058702764720403999639396061303230855883030448007435963165873733564908485012041110348016982742592815363983730854750502240735778288961197817620609342508911614823311021727650283066691975774633422649033863507791094729941907413399891465365532657893233089569769158353575908097655557210023531038071776662390295044857297150936121550918720319981727140284105272503234459028544388137768723275145677640315242861602802646044114998468998923993987748110376666725467969040914630636789542633721938997174376465763560814426092966674575793062075219305110101240548033510281902072552241023915803486901734616930669469826521023001428435066038375626290672089815468041325636346843773202935356742083356280653365614005084108044243268290691900911519027738771570080118532265807915688719429598219526079603786799510155295802200978817340459872182166421582428723226498953752405588345280036012453647890251171362459440853359410905871587184143731229479451085123247080866974249351574335853347782109164131546696595695624781547428054363992872198957704788183030001007975796362501699394680781081624471576168583564899145927541061276357262653514098949013648723467670637451161241567738830509390273040493397223845171324873820606087713324178 6958407531169526735879477098976446191600054405657727691130402701417658501430077193315241196317291462523291539314136310621359131334735192561314832788930571985691702241671187928179893922056698781250735698437575340867085253000575399426334539376188062660376457461301764734621327259243112042369933984588911056276445765853403700309861048202623323934629602466461782318631334233280824703340381400091237530470980042271783186603442971244827420353325801566187944949109333579371852647776674402171882501626406813979062714087684196199969592261030444809126843104633297566762072224242467815733962630148107294667845795859815245820300583894874527884380995614309119381211639307940518990254530549793158374335742216412752813223111565389438637689068837810545855280406353608349440901914504412742294800526406925387572052579107922481050770621769700700776212587236609888981395033284168749882250376886165729574535000431036898926743504988545945212787747815752310890073983162685348818446205334294821611564477507852471320084569219009694086569492005880332948227254746148101777049233712100352566431309436256213797184332499770108479945938808291995348096132768164034943771342046467149721078303484345265226685491983020339697907750680218612153463557619209919163518560027801627361091834875479277637057558002104001114613980830030679489463653505132519831035134248000164939254893039940365480374732030684415393150189005910494352590859340041297458636816798442533540771074512297202287130486195547067529542795318227947989024505280724332724443140798861368642248065763331656515750525224124955542234121019190145890172234015849238937640169334132751144405945254882537220839791350043808319755510915241281994696733010981287979681979418902642779843806532673755893330405819240037916664769035460257688656682159043939948872606032699764234973632462747789976588932789206265021470887909163961918046695480742810702320069079197742472857328923527926763143212641533998281981197648614191108317772134734154956532713797745870501230862701911107431338493595023642054568373369929616936974796592049175553411591489703201671119116176379347656160050236669460632161289149091009704561404252773729636752451687727156105394746418917266298540784326679603775416059802844310752290936618431787247442054934446365049129333039245923461926228132830918775041445052617469480615658235510531079439286202453146920984319481704153585477217940782736406340976942935933348317386568510761082724506231628706887346375005796009428458650649949927715826141448903390492163840228255409493843964971589450790097159872305535193574830987488517975235541568086743844698122113944661155664994530424785406118197139712705049281727202749459709753664387493009539535702621991346089001244415318887960923651686033753015064130366938115152324158377367759643932466680074468960702167700708741959428865131590250717250649030159820474000973162820416088985430205058257495062205701936987925008849144253951814781337671166905909471497731058358316756452235471472469884990786837088421267496793639659050239711429855338999770693994501127340722988587555579652971962505348038031388373253523155639625605941656909531066291968980376395245354096623358831382430948644507155137058483665062695956633234419669676078061599990923060255696557482122016144917406110834682357954297112209395431896225127348941436201442014332291992757775060003079700678671793290064851054632852933993061988670611142574000644234269286712369009730353428774277653240850858855848871328556399068575669775272347708307382309336980381314454584822600678466745571964272359293530570531567701644730917202113214821589117786406667180771495269280114997223493051728925304050125696179460977875769467145666587544385342060571796549824761912685714655482843105929718131663990920380267797871552733308324157577837788290377958110160514076396451709357444510180469416398615905061127255052229 11258939893005537607859719100673795399118057013707633767905287474235758238220160949773031724892980938511772686937794015629691318760923400924928258110671200450020161208299671916937727223205700022435250897900640275908901804855153249983455665395136695886870527924212761865923915600266124401354068838926412770240495562423288387215365530740087782807329398690687128191865390834510807041339073985172259046211763258758690002302273069341592208117368579891237929828439169281531164621072216635362350740116091291284405859620612366351796479643037314913220039609081163426956887931853277036364143472136486401248796947512967098858129881539549639717347810260075269329681131949313261975482037625238120341269497096704682541441552873864638736040450038198734255631781511221853043749561416883188556077211293832156591804742794541012850663487491936350639935935196570350451980168015406045209579053275049082210422115711046747228036500414444184518282947693134218491814832245737205283341073796902867043985016446811877939320127684352662501845484169078330258262071406937054369624042212946495518275946360946329337970324499858602370613590281194734634947228909099661663805247182237788108799556441692134148686164014324470315803051479418218953058256928862778760436965407723936010939830169504294771484268561286748444128354233139805102434887659920207981805077150957703847569864266005283928197282713592979919927684335955642375172419755930576297786945910677828562369777123991093079535039568060759363867632944552278707981376819991744949388636519297983654575321477120700402946626633561532315940151512107491358277895921428770048217759453467710347741546258302373608702776130276764043497655880521888534973192873928062982081799472139764741957067539742834321684596738617563512346246738434824064155988499877300074909931517779611174459250297163865032535009450347081325593298130413195170147396853691071396622496167995127377791744228144326111521236711679806265124036824151441719524962529267909229035596604490674676405797419405165423175700168249079501765261939316191264297224889165775949864655360413672585176750117755053122287920069816468635598840249449520606368248957021160683355768797918708395709933384801531627412873486076885835465426267813201552890054487803131059123442467521722501497772985336753314254384351040701978990894202123856433433043775942051203746115361852718833687149800247717563081956160053901261678371117953051554091055866351526651947576263432379779969959335746123496515375389090536797090876736618818039316967377811127909053019837126305226873701741297950374672122412421956490107100492973504594147483892800960515451042955854064368457566093771407814002131202388855771056895243376039987543138585157219822566152900330929071271668668776345830428114097792865654564894155656720841750087289416977872316991011730469609711931823566025350673298064023328265095703104727829488876895570590915388295295271706146278584757241909509024804868709238682571861792775915655467692573786390192789866717927121193693770731252668203438377480153130484677411009237362730143369032702554048651895956493096148408055098721492196554256242731199543253005289143356842158806168522716325505958224010719726460247159724213096206238535306971910699993865086892657677186366027308643039146345841176873057984244969202024863473221861474192714639136798756415648273411140674008163808722915061580756751966151880672764632068789143408381916332953698884931895089334140228284432949043051837673189331200738565490158098498498846662059787897682260417326908232712851849829205012817631770199402157715711432874210368287236461902456092035758241516624843051389279128770189647424550085597553750543453850074727171933849617545393317856934298249219442693767339127059011689494617277591531981656625060525066832257337806301305458927829119351728252906905841982397937907404314587723489725667214968376407 18217347424175064343739196199650241590718111419365361459035690175653416739650238143088272921210272401035064226251930326251050450095658593486243090899601772435711863449970859845117621145262398803685986596338215616775987057855728649409790204771324758547246985385514526600545242859509236443724002823515323826516941328276692087525226578942711106741959001157148910510496725067791631744679455385263496576682743301030473188905716040586419628470694381457425874777548502860903017268848891037534233241742498105263468573708296562551766071904067759722346882713714460993718960156095744852098106102284593695916642743372782344678430465434424167601728805874384388710892771257253780965736568175031278715605239313117435354664664439254077373729518876009280110912187864830202484651475921295930850877737700757544163857321902463493901434109261637051416148522433180239433375201299574795091829430161214811784957116142083646154780005402990129731070695508886529381888815408422554101787279131197688655549493954664349259404696903362356588414976174958663206489326153085156146673275925046848084707255797202543135154656999628710850559529089486729983043361677263696607576589228704937829877859926037399375371655997344810013710802159636831106521814548072697923955525435525563372031665044983572408541826563390749558742335063170484591898541165052727812840211398957868786824757305945649408572014744277395313077873341866136727763279095971873756423762709120362103140851636288295366665525763607826893410428262780226697005882100716077673831777318159352296823387240452356918697151857686487858174272531297637248450129937278008985857928787600461492147491513184910829542567480320572363253166795763170529669925884909350961763778891042407521800874072416590215015002557857601429011015773895081752812670658921240023782537550479375409432882759911655009123942239553346347064186039577157088194092334433882098942565247192869850649073151672252874664449353213804547105234472765632827842734664002064185568310402236545177636660121316272854514193763272721556333635309245808201272021481214951503276246850116874256295866294134400778447970306485929267760129398540530310929653209794890320108220485645864501104679803718797925953657812756489610881486070657512305180991106234918306565497401968087550627106024582676776180612483871620754032339254741325914048702011452582283185401564305865754671469281951871148559174100836637668019348060888984902408442434862287734672082495061086667316334341542132924974026039040464512917018185522208531480807606066537402896984808715756016970861613603485568246953399910474465342642061060248438845606006745621671116037486278849774575763233484112863283858405138315480810559630869049527078841207148565911567397315649817032195320354810098845492244464730980806889052533024480485682553969491446833019158712439211569140796955156276067923947094183148739096676267548245577862325775649172883357500973643134203593606386163460839586206380405588481333290506974013784449026021861665259751708713958282115038228046307862488617191582985823677181703231863857484092021290109628304867918998444186439443471975015352193881848672856452784071581112337218554051522619339684337340654959364233615384218207878158902195168541391580376071926686883580737442062584790765055291263247287707740342199266314234258905118086601541656075338240770747940266168915734011243509401586854870821603020784733606757694057459754550955916977187968171644264099064493657058710602283902696529038202529294964558733768273771194370367170207019240798641362817535452528295950584781904129492932728247279134518941285489349676724045209822164908697396338320669394125993682699153475389647679446722914827950496639079516205089778659917506094799044204606453053782541854795424335409255522902036892858396619565565661963879143247218207077461888766983302293691755382417584784004122105630728342223428636 29476287317180601951598915300324036989836168433072995226940977649889174977870399092861304646103253339546836913189724341880741768856581994411171349010272972885732024658270531762055348368468098826121237494238855892684888862710881899393245870166461454434117513309727288466469158459775360845078071662441736596757436890699980474740592109682798889549288399847836038702362115902302438786018529370435755622894506559789163191207989109928011836588062961348663804605987672142434181889921107672896583981858589396547874433328908928903562551547105074635566922322795624420675848087949021888462249574421080097165439690885749443536560346973973807319076616134459658040573903206567042941218605800269399056874736409822117896106217313118716109769968914208014366543969376052055528401037338179119406954948994589700755662064697004506752097596753573402056084457629750589885355369314980840301408483436263893995379231853130393382816505817434314249353643202020747873703647654159759385128352928100555699534510401476227198724824587715019090260460344036993464751397560022210516297318137993343602983202158148872473124981499487313221173119370681464617990590586363358271381836410942725938677416367729533524057820011669280329513853639055050059580071476935476684392490843249499382971495214487867180026095124677498002870689296310289694333428824972935794645288549915572634394621571950933336769297457870375233005557677821779102935698851902450054210708619798190665510628760279388446200565331668586257278061207332505404987258920707822623220413837457335951398708717573057321643778491248020174114424043405128606728025858706779034075688241068171839889037771487284438245343610597336406750822676285059064643118758837413943845578363182172263757941612159424536699599296475164941357262512329905816968659158798540098692469068258986583892133057075520041658951689900427672657484169990352258341489188124953495565061415187997228440817379816578986185686064893610812229271296917074547367697193269973414603907006727219854042457540721438277689893931521801058098897248561999465569246370380727453140902210530546841472616411889453900735890376302397903358969647990050917297902166816051003463989283564572896814613188520329553366531298833375446346912338470713858071045594038049365688939869489810052124879009919430090434996834912322733023233456865182347481745787394633486931516926158584588358619082199588711641130260890538929697719178842036456499498301213814386619658758493466447286293677288256421489401428131001310007894922141026570797774983877665311950004645842061243844563354901435942919075812332430955449742554033753032993089899546582186567080442132914143033329327255520677285989607527171251867454874245089514621979792305785734133550215980746103466989023586444675920358562523846461453946688681201327432641258908424705336149724169681178852728778722301418597245158206477004192379372276075066739221346240088271652796245349280482178363628072969864391075089644271053195083282889669252141599808251858049618426641079475808808959298976065926994671736116308354592712469226587627461053992663676956763875491540334847498570696507548748138091404055996037076870255694060712857691142056009843298878970083960075631377932091255108433703848363491076065791773776238414628428612099408094437609088464580798326444235516259122378339948075734370714475039527163588539580056408019407318124501916451578354986936614279522326126248897959337833310141667056576159188398633885343143551326954534202227533730033530048891866772270041032426958104701501215968271050248304378125155597599535899692334885962990567393151653776586138626501301857923150214021181372058673254763872346578025475245233197266368678025223811013365822635171977774440393048263647300220392909600866484918952686847054883693517918921686397822999770180448706146036196813617019890208135674153320324989098591845595356395557191805043 47693634741355666295338111499974278580554279852438356685976667825542591717520637235949577567313525740581901139441654668131792218952240587897414439909874745321443888108241391607172969513730497629807224090577071509460875920566610548803036074937786212981364498695241815067014401319284597288802074485957060423274378218976672562265818688625509996291247401004984949212858840970094070530697984755699252199577249860819636380113705150514431465058757342806089679383536175003337199158769998710430817223601087501811343007037205491455328623451172834357913805036510085414394808244044766740560355676705673793082082434258531788214990812408397974920805422008844046751466674463820823906955173975300677772479975722939553250770881752372793483499487790217294477456157240882258013052513259475050257832686695347244919519386599468000653531706015210453472232980062930829318730570614555635393237913597478705780336347995214039537596511220424443980424338710907277255592463062582313486915632059298244355084004356140576458129521491077375678675436518995656671240723713107366662970594063040191687690457955351415608279638499116024071732648460168194601033952263627054878958425639647663768555276293766932899429476009014090343224655798691881166101886025008174608348016278775062755003160259471439588567921688068247561613024359480774286231969990025663607485499948873441421219378877896582745341312202147770546083431019687915830698977947874323810634471328918552768651480396567683812866091095276413150688489470112732101993141021423900297052191155616688248222095958025414240340930348934508032288696574702765855178155795984788019933617028668633332036529284672195267787911090917908770003989472048229594313044643746764905609357254224579785558815684576014751714601854332766370368278286224987569781329817719780122475006618738361993325015816987175050782893929453774019721670209567509346535581522558835594507626662380867079089890531488831860850135418107415359334505769682707375210431857272037600172217408963765031679117662037711132204087694794522614432532557807807666841267851595678956417149060647421097768482706023854679183860682788327171119099046530581228227555376610941323572209769210437397919292992239127479320189111589865057228398409128226163252036700272967672254437271457897602751985034502106866615609318783943487055572711606508261530447798847215770116918490464450343030088364151459860200304361727176597717067239731021358907940736076102121291741253554553114602628018830389346463427467171465822924913107663235102278582589944202714846989454557817260815424968504921511166029212242905420792384615094001471838695906292203857683117928411763917609092560739633540569848012665486732678014505114139041700820999454351645700947531630563135662309378396543521412603027254827268342999221705681813115195228399871538355308436608892747993525733878577486521192252389625743289055639824320644601547121889261155010297218992414685771970014236430703977281470049859534528373789863683036590625830113523309370135355037757923847187345283928415611863319102132031774415701090445111553075282773305261631794489984521286942042671522900942019940076912448821148451368031279266909213761395694180639533929448193691015596139969414010628872389755071452137718460659819152070491196890173149728872335752288538668643501830493381283458034677276026789813280297911528805748972142030650827526088771322399958007721347886280020183708652510293750287329635228220423287463127542401854153610857230731265736259328494607625635046041235402794128311720742014609633867783756906421106182381440029185267614210269701912092939265935815350546511680088058911417519692728067380757555045731500864892912643989283505975720450092882027724950637691946487847307851906673446692142721280343288096102577785730410777318305963388661734059591953364243274275505786873510429365908702742573882595967700987123899415233679 77169922058536268246937026800298315570390448285511351912917645475431766695391036328810882213416779080128738052631379010012533987808822582308585788920147718207175912766511923369228317882198596455928461584815927402145764783277492448196281945104247667415482012004969103533483559779059958133880146148398797020031815109676653037006410798308308885840535800852820987915220956872396509316716514126135007822471756420608799571321694260442443301646820304154753483989523847145771381048691106383327401205459676898359217440366114420358891174998277908993480727359305709835070656331993788629022605251126753890247522125144281231751551159382371782239882038143303704792040577670387866848173779775570076829354712132761671146877099065491509593269456704425308844000126616934313541453550597654169664787635689936945675181451296472507405629302768783855528317437692681419204085939929536475694646397033742599775715579848344432920413017037858758229777981912928025129296110716742072872043984987398800054618514757616803656854346078792394768935896863032650135992121273129577179267912201033535290673660113500288081404619998603337292905767830849659219024542849990413150340262050590389707232692661496466423487296020683370672738509437746931225681957501943651292740507122024562137974655473959306768594016812745745564483713655791063980565398814998599402130788498789014055614000449847516082110609660018145779088988697509694933634676799776773864845179948716743434162109156847072259066656426944999407966550677445237506980399942131722920272604993074024199620804675598471561984708840182528206403120618107894461906181654691567054009305269736805171925567056159479706033254701515245176754812148333288658956163402584178849454935617406752049316757296735439288414201150807931311725540798554893386749988976518320221167475686997348577217148874062695092441845619354201692379154379557861604877070710683789090072688077568864307530707911305410847035821483001026171563777066599781922578129050542011014776124415690984885721575202759149409893981626316323672531429806369807132410514221976406409558051271177967939241099117913308579919751059090725074478068694520632145525457543426992327036199052775010294733906180759457032686720410423240503575310747598940021323082294311017037943377140947707654876864044421536957050606153696266220078806168471690609012193586241849257048435416623034931388707446351048571841434622617715527414786418573057815407439037289916507911400012048019561888921696118645767952828895302467132932808029804261673076357573821868026796994100399878504659988323406357454085105024575336376242127169127754504831785805838786044250198370544678060642421887995154217855837620192657984545469379359228556322800791760137379834497747611309239129298401982988197332961589778673729796945910386883140547836487308296243691458160778573926846254512600878905118437410596102747481435012100395711340768468129349426663093464341695167950333642309400568368356559694130587723457072753352288732225638365381358988561996117233732656146644259994342606535055218440386367128170317032739014129275436982218395669981524856134440613368030449690158031480968444858225321623725339979766904903451704023938412899532153766646974072060669119062576238118562528203510234436057566698919808989581244166481424216869336995087737346752503661797982753010397504288319825075117345329028550050058145650590687773978312994657962165802346309957550469631583597471302284796582475861761427744997704937811764933493269989362024656517501818311276435221086416422243230577904918032061284546261779980975928877602500173260269305244593042521953977047813538011209125438701064786740635521427392309526340138145841255652184000944261106247850360122615466386880895571499206893839601743587765262240782949632669423928696239992361211661504240040659510279471089122806763718565040062023067562981187813296343519456607038722 124863556799891934542275138300272594150944728137949708598894313300974358412911673564760459780730304820710639192073033678144326206761063170206000228830022463528619800874753314976401287395929094085735685675392998911606640703844102996999318020042033880396846510700210918600497961098344555422682220634355857443306193328653325599272229486933818882131783201857805937128079797842490579847414498881834260022049006281428435951435399410956874766705577646960843163373060022149108580207461105093758218429060764400170560447403319911814219798449450743351394532395815795249465464576038555369582960927832427683329604559402813019966541971790769757160687460152147751543507252134208690755128953750870754601834687855701224397647980817864303076768944494642603321456283857816571554506063857129219922620322385284190594700837895940508059161008783994309000550417755612248522816510544092111087884310631221305556051927843558472458009528258283202210202320623835302384888573779324386358959617046697044409702519113757380114983867569869770447611333382028306807232844986236943842238506264073726978364118068851703689684258497719361364638416291017853820058495113617468029298687690238053475787968955263399322916772029697461015963165236438812391783843526951825901088523400799624892977815733430746357161938500813993126096738015271838266797368805024263009616288447662455476833379327744098827451921862165916325172419717197610764333654747651097675479651277635296202813589553414756071932747522221412558655040147557969608973540963555623217324796148690712447842900633623885802325639189117036238691817192810660317084337450676355073942922298405438503962096340831674973821165792433153946758801620381518253269208046330943755064292871631331834875572981311454040128803005140697682093819084779880956531318794238100343642482305735710570542164691049870143224739548807975712100824589125370951412652233242624684580314739949731386620598442794242707885956901108441530898282836282489297788560907814048614948341824654749917400692864796860542098069321110846286963962364177614799251782073572085365975200331825389037009581823937163259103611741879052245597167741051213373753012920037933650608408821985447692653199172998584512006909522013105560803709156727166184575118994583984710197814412405605257628849078923643823666215472480209707134378880078198870542641385089065027165353907087485274418795810502508432041738984344892125131853658304079174315379773366018629203141265602572676491549714949035114416256362473932955857721137467496775354940163766070741643983554957695765475413291911278965251134236818241797034511784221755976670481712130989901933316298956441978251514448734787758425685632858144717223483884473367598023621791214489025535445279241872374791607780379531718745564617033500998139945132092564953663031715708167782046766597387466674839780246479456391639629662985728490770490651924716355942315590018610581673390683334109853722303656545831272345638029743990122251830862617035325322851468478904668358697351154991656503333989543922758218398374320572418141543871407477850567204558210287480027464471509377421382656039553350632177971557880893679373772991756619246676118664847398204577946828980347457662570212030083129691448627873633980341228695095876718769411005879754393895353759969157875663731239177245884945256017430286424294101600122986646151078000692080708973176679459096378271002379310052082366493666202979925333884800937513017005763324888970146851858548668995664759006248690519264143136864352511838015214728142985245187538785815818190967367962362415958062870114383529971217337532308457769327594325218099268036856220757514808016278982438041027205031058485244935689976664711199129878085073253158333368742879351113567286293886309045605528879052210455154339473558298324600323238299632612874522745364628593637228994405970725810136863783780997330643356022272401 202033478858428202789212165100570909721335176423461060511811958776406125108302709893571341994147083900839377244704412688156860194569885752514586017750170181735795713641265238345629605278127690541664147260208926313752405487121595445195599965146281547812328522705180022133981520877404513556562366782754654463338008438329978636278640285242127767972319002710626925043300754714887089164131013007969267844520762702037235522757093671399318068352397951115596647362583869294879961256152211477085619634520441298529777887769434332173110973447728652344875259755121505084536120908032343998605566178959181573577126684547094251718093131173141539400569498295451456335547829804596557603302733526440831431189399988462895544525079883355812670038401199067912165456410474750885095959614454783389587407958075221136269882289192413015464790311552778164528867855448293667726902450473628586782530707664963905331767507691902905378422545296141960439980302536763327514184684496066459231003602034095844464321033871374183771838213648662165216547230245060956943224966259366521021506418465107262269037778182351991771088878496322698657544184121867513039083037963607881179638949740828443183020661616759865746404068050380831688701674674185743617465801028895477193829030522824187030952471207390053125755955313559738690580451671062902247362767620022862411747076946451469532447379777591614909562531522184062104261408414707305697968331547427871540324831226352039636975698710261828330999403949166411966621590825003207115953940905687346137597401141764736647463705309222357364310348029299564445094937810918554778990519105367922127952227568142243675887663396991154679854420493948399123513613768714806912225371448915122604519228489038083884192330278046893328543004155948628993819359883334774343281307770756420564809957992733059147759313565112565235666585168162177404479978968683232556289722943926413774653002817518595694151306354099653554921778384109467702462059902882271220366689958356059629724466240345734803122268067556009951992050947427169959495392170547421931662296295548491775533251603003356976250680941850471839023362800969777320075236435571845519278470463464925977644607874760457987387105353758041544693629932436346064379019904326106205898201288895001748141191553353312912505713123345180780716821626176475927213185048549889479554834971330914284213789323710520205807503256853557003883173606962607652546640076877136989722818810655935137114541277650592238380471411067680882369085257776400088790529167271758448431297737587938768440977655357574270135401615317636419336239261393578173276638953349510481502267517969775946183514669501120038893936336729941976281523253050802701768953263832596154346422582974626405369943026853181613920906182362519916078526206812174727936891042479448094210868203016464025738224758166040601686034759080335296758067073581831238251925664025112067283084058147960008336484147675805021672637298855231840713994589438120709975287935370387614055077106844286027347259347272225389159480633803917100824933429539012804508672041724510589581333833647269698423134453034233555823269407583800322336003038849338537599094615481959226443023568299102228516359728512501224309544284090752248754024865992196508544738929531934285468330814869335638061835184186027212658818976523998388607054000183296821798389919948061763496407029242130767118827270146870356583997037272217884712803623753449556917482272239797813588239186650397891849563486480760598252276238052543920660638682663788273236301144565228475765443703847879475513629742343391886940472614556790240522582125350979723304642138756110477162294921822301548651800409830350553545169204326500587873977608972305377728445195868624720249638450850320461125895629896810867769662001843124578268169798290685811984742539673272384802216453751400400947559446032748877699844971594293674162812629311123 326897035658320137331487303400843503872279904561410769110706272077380483521214383458331801774877388721550016436777446366301186401330948922720586246580192645264415514516018553322030892674056784627399832935601925225359046190965698442194917985188315428209175033405390940734479481975749068979244587417110511906644201766983304235550869772175946650104102204568432862171380552557377669011545511889803527866569768983465671474192493082356192835057975598076439810735643891443988541463613316570843838063581205698700338335172754243987330771897179395696269792150937300334001585484070899368188527106791609256906731243949907271684635102963911296561256958447599207879055081938805248358431687277311586033024087844164119942173060701220115746807345693710515486912694332567456650465678311912609510028280460505326864583127088353523523951320336772473529418273203905916249718961017720697870415018296185210887819435535461377836432073554425162650182623160598629899073258275390845589963219080792888874023552985131563886822081218531935664158563627089263750457811245603464863744924729180989247401896251203695460773136994042060022182600412885366859141533077225349208937637431066496658808630572023265069320840080078292704664839910624556009249644555847303094917553923623811923930286940820799482917893814373731816677189686334740514160136425047125421363365394113925009280759105335713737014453384349978429433828131904916462301986295078969215804482503987335839789288263676584402932151471387824525276630972561176724927481869242969354922197290455449095306605942846243166635987218416600683786755003729215096074856556044277201895149866547682179849759737822829653675586286381553070272415389096325165494579495246066359583521360669415719067903259358347368671807161089326675913178968114655299812626564994520908452440298468769718301478256162435378891324716970153116580803557808603507702375177169038459233317557468327080771904796893896262807735285217909233360342739164760518155250866170108244672808065000484720522960932352870494090120268538016246459354534725036730914078369120577141508451934828746013260262765787635098126974542848829565672404176623058893031483383502859628253016696745905680040304526756626056700539454449451625182729061053272390473320283478986458339005965758918170134562202268824604383037098656685634347563928628088350097476356419979311379143230798005480226299067356065435924912591307499777678493735181216164038198584021953766317682543253164914872021126016715996785341620250333044648250304739255223786237901354009510084961210315270035610814907228915384587373498211819970311150737571266458172749230100765848116830968457562017145450785464729734707208885908947418992437148305963752370044374189115430905388306095053988712513962742051634824090823845675726076836174572013047873899918724631807784991355553507276525815005559791688397696736567559729022416315949828423225399648166570590009874831009914875394940955401063113059632619182110832227118797987422939377928575323190695705956698427217045662814623347839859043331803859585222650215913131988440148538391857557178450598924543610977205925447137150954513974596730232216972867607238578473119142233146500433094306557492848681972114496120835378445473493865830488885967624627811004237741820749090031957188944155185088322550215701244273552310017613583246092491520071048409647485029934211476092003949605966734854999416582269967079297289956429482251367073177310830594002511539368038701422035149756263011282486743063184803775547016300111251515872708213720952982489663697666480997704705807845003342728940320211739919657659437492632236463974209745199151142579816356668079392268391580750200262811745523563954273683504507606530269121783053618381330201434028412189516205856473298541054053579732607643356589010412307980839305885259324961818379994038176553852003474687836708755375291004806168651583524 528930514516748340120699468501414413593615080984871829622518230853786608629517093351903143769024472622389393681481859054458046595900834675235172264330362827000211228157283791667660497952184475169063980195810851539111451678087293887390517950334596976021503556110570962868461002853153582535806954199865166369982210205313282871829510057418074418076421207279059787214681307272264758175676524897772795711090531685502906996949586753755510903410373549192036458098227760738868502719765528047929457698101646997230116222942188576160441745344908048041145051906058805418537706392103243366794093285750790830483857928497001523402728234137052835961826456743050664214602911743401805961734420803752417464213487832627015486698140584575928416845746892778427652369104807318341746425292766695999097436238535726463134465416280766538988741631889550638058286128652199583976621411491349284652945725961149116219586943227364283214854618850567123090162925697361957413257942771457304820966821114888733338344586856505747658660294867194100880705793872150220693682777504969985885251343194288251516439674433555687231862015490364758679726784534752879898224571040833230388576587171894939841829292188783130815724908130459124393366514584810299626715445584742780288746584446447998954882758148210852608673849127933470507257641357397642761522904045069987833110442340565394541728138882927328646576984906534040533695236546612222160270317842506840756129313730339375476764986973938412733931555420554236491898221797564383840881422774930315492519598432220185742770311252068600530946335247716165128881692814647769875065375661412199329847377434689925855737423134813984333530006780329952193786029157811132077719950944161188964102749849707499603260233537405240697214811317037955669732538851449429643093934335750941473262398291201828866060791821275000614557909885132330521060782526491836063992098121095452233886320374986922774923211150993549817729513669327376935822402642047031738521940824526167874397274305346219523645228999908880446082171215965186205954746705272458662576374664669068917041703537832102989510943707638106937150337343818606885747640612194904412309953846967785605897624571506363667427409880514667601394169386885797689561748965379378596371521572373988206480197519112231082640275325614005385099858724833161561560748977177977829652311327750893595592932554508525686033802324209622439808086198270107430225133812058353153761017394677888903432223820903757153252492537084396879154426878026733133438779472011013672217535638941948278525938865672844305746216522546551803923612759605398143587789690920776939675016748070541794300345637958682056039387122194671710988732138959750120761390412138559906716466957163741836275331332948235602633420145104571550902617030657850454013727217051461142084768121741095833523216113719547878211849764640126985155763810149390967274341979974940490508483706314530598346358978685719897067578254256294953773627208620231542202406733357810553433005682167476723053216045699442434822295257151756959868265233398598027158887954856499029729872225504826876873733377577844533029194854720951276849977635579570754571962222720537699562165801445602661610666286005349906281658780211587627199498359858026997430706554159745289706072635618425670019024128341212300981369192225242662159364017796880067890881440019110173143892059176342243210831219752837091438996453854487851792100913709879039168849345417108644182241698189765930550985521630516861263558724795607105464414229680088384487817017273442196718426193511577141994627447049199731943815343497110452262501783010417215936878602730320222361446064402117905319879802098742134295369467138246111437931882655809885334975464990407773868019781051754489538085146102667341068203055896704310875813154879696224292723378979157644127178272131394439124113298036223565536553726969584678968981280894647 855827550175068477452186771902257917465894985546282598733224502931167092150731476810234945543901861343939410118259305420759232997231783597955758510910555472264626742673302344989691390626241259796463813131412776764470497869052992329585435935522912404230678589515961903602940484828902651515051541616975678276626411972296587107380379829594021068180523411847492649386061859829642427187222036787576323577660300668968578471142079836111703738468349147268476268833871652182857044183378844618773295761682852695930454558114942820147772517242087443737414844056996105752539291876174142734982620392542400087390589172446908795087363337100964132523083415190649872093657993682207054320166108081064003497237575676791135428871201285796044163653092586488943139281799139885798396890971078608608607464518996231789999048543369120062512692952226323111587704401856105500226340372509069982523360744257334327107406378762825661051286692404992285740345548857960587312331201046848150410930040195681622212368139841637311545482376085726036544864357499239484444140588750573450748996267923469240763841570684759382692635152484406818701909384947638246757366104118058579597514224602961436500637922760806395885045748210537417098031354495434855635965090140590083383664138370071810878813045089031652091591742942307202323934831043732383275683040470117113254473807734679319551008897988263042383591438290884018963129064678517138622572304137585809971933796234326711316554275237614997136863706891942061017174852770125560565808904644173284847441795722675634838076917194914843697582322466132765812668447818376984971140232217456476531742527301237608035587182872636813987205593066711505264058444546907457243214530439407255323686271210376915322328136796763588065886618478127282345645717819564084942906560900745462381714838589670598584362270077437435993449234602102483637641586084300439571694473298264490693119637932455249855695115947887446080537248954545286169182745381211792256677191690696276119070082370346704244168189932261750940172291484503202452414101239997495393490453033789646058550155472660849002771206473425742035277311886667436451420044788817963305341437230470645234150641268252269347467714407271293658094708841335249314744478026432650986844841855852974664819203484871149252774837527882829989482895823489847195908312905806066179749787684170872906972075785306531166260101391565687875732998789577607207903627547239569317799215978699842669749906364156922068124513663101112875939768498277066178087029776750268896003773540295957788610900075988114341357031429775467188510986257817218113898940428492043397847765978171307642417176606416244073184837907659401445695941024868697539753827560444523659086511331352857267180719639043289591345934107846623185726707854503526180090563391623474189958668040465727641308207469273055154737664770199918673553460546716950696296758295924768913733883354481101188356233809695634772462519209657358066833259827802342374429525531345233492810934257490667418759172744126659480485109880499596818911597037258183249809103867988487469878410617362384055324332302121455510235120301858102231363952232309802971544829829959116172681308034592103094704972843498198588253773276332423005644971853723857486316674178787556293943814456367515701976213072496397389303919407926486935711674035410463313983372960090158582791377089110553719302835169358803826293995870436757818871398203666308521420216418594419474776244209729133969252407556780273124274841211538670290268189776696388495739332889981655917671408683175274808475625151755007576947158072437430664002421440669854708569115066704529967560597206981934261987959194367133715045569729949991635001886156339314392941505734112190827486401111253188517950274662308523814366744109950284043483456511468706636600704218285042903452140090511388477300667150039698253373262482344875683775149932478171 1384758064691816817572886240403672331059510066531154428355742733784953700780248570162138089312926333966328803799741164475217279593132618273190930775240918299264837970830586136657351888578425734965527793327223628303581949547140286216975953885857509380252182145626532866471401487682056234050858495816840844646608622177609869979209889887012095486256944619126552436600743167101907185362898561685349119288750832354471485468091666589867214641878722696460512726932099412921725546903144372666702753459784499693160570781057131396308214262586995491778559895963054911171076998268277386101776713678293190917874447100943910318490091571238016968484909871933700536308260905425608860281900528884816420961451063509418150915569341870371972580498839479267370791650903947204140143316263845304607704900757531958253133513959649886601501434584115873749645990530508305084202961784000419267176306470218483443326993321990189944266141311255559408830508474555322544725589143818305455231896861310570355550712726698143059204142670952920137425570151371389705137823366255543436634247611117757492280281245118315069924497167974771577381636169482391126655590675158891809986090811774856376342467214949589526700770656340996541491397869080245155262680535725332863672410722816519809833695803237242504700265592070240672831192472401130026037205944515187101087584250075244714092737036871190371030168423197418059496824301225129360782842621980092650728063109964666086793319262211553409870795262312496297509073074567689944406690327419103600339961394154895820580847228446983444228528657713848930941550140633024754846205607878868675861589904735927533891324606007450798320735599847041457457844473704718589320934481383568444287789021060084414925588370334168828763101429795165238015378256671013514586000495236496403854977236880872427450423061898712436608007144487234814158702368610792275635686571419359942927005958307442172630618327098880995898266762623872663105005148023258823995199132515222443993467356675692923767813418932170631386254462700468388658368847945269954056066827698458714975591859010492951992282150181063848972427649230486043337167685401012867717651391077438430840048265839758633014895124287785961259488878228221047004306226991812029583216363428226962871299401003983380335415112853496835374582754548323008757469061882984044009402099011921766502565008339815056852293903715775310315541084987847714638128761359297922471560233373377731573182130185060679221377006200185509755094195376303799311525809248761282568221309179237906067136838941660958647103247952322018992434599017422616257486730119412820337522782726241849436717522244374926129224225029854073156684673163828447660515217972583083565802978288516599103456050971991525193979354252951194736629324885161376634104290608674935332043436162206823474831423582992603032949514534840045658709224356866341663571100275899709404242367060795631786702592788381354669530097463913653020606887036422573916631932264703044046243939939658144141812388789826101915307405137651353778779862270656781276967991822844986499608282842867210932198065679699300043264315156579053508213929867889373726116792052679653872243473836037705756315639129503548494535432056544010632844470213581884483747380732947301583649887091985941371995237200837609690285288600151729597871038053207343381874254400109268755935269148286895962513666389111640917732992324291245670663499117376187560589065764011528118958485907918899899803393078410789985538399936334277395732604006376476880227149907255098114389834876686851950470252598804207308890973415934541116264923223680271924505993669434850189922043271384052167307838996465875849340939197088237746439818038995124278276481199102598601354420892304943007488359808411191155434947165846988354359269666348402860893427597264200547579318362642782916424780448075921818909816209314460362744131213372818 2240585614866885295025073012305930248525405052077437027088967236716120792930980046972373034856828195310268213918000469895976512590364401871146689286151473771529464713503888481647043279204666994761991606458636405068052447416193278546561389821380421784482860735142494770074341972510958885565910037433816522923235034149906457086590269716606116554437468030974045085986805026931549612550120598472925442866411133023440063939233746425978918380347071843728988995765971065104582591086523217285476049221467352389091025339172074216455986779829082935515974740020051016923616290144451528836759334070835591005265036273390819113577454908338981101007993287124350408401918899107815914602066636965880424458688639186209286344440543156168016744151932065756313930932703087089938540207234923913216312365276528190043132562503019006664014127536342196861233694932364410584429302156509489249699667214475817770434399700753015605317428003660551694570854023413283132037920344865153605642826901506251977763080866539780370749625047038646173970434508870629189581963955006116887383243879041226733044122815803074452617132320459178396083545554430029373412956779276950389583605036377817812843105137710395922585816404551533958589429223575680010898645625865922947056074861186591620712508848326274156791857335012547875155127303444862409312888984985304214342058057809924033643745934859453413413759861488302078459953365903646499405414926117678460699996906198992798109873537449168407007658969204438358526247927337815504972499232063276885187403189877571455418924145641898287926110980179981696754218588451401739817345840096325152393332432037165141926911788880087612307941192913752962721902918251626046564149011822975699611475292270461330247916507130932416828988048273292520361023974490577599528907056137241866236692075470543026034785331976149872601456379089337297796343954695092715207381044717624433620125596239897422486313443046768441978804011578417949274187893404470616251876324205918720112537439046039628011981608864432382326426754184971591110782949185267449449557280732248361034142014483153800995053356654489591007704961117153479788587730189830831022992828307909076074198907108010902362362838695057254917583587069556296319050705018244680570061205284079937536118604488854529588189950381379665364065650371812855953377374788790110189151886696092639409537084125121588018554005107340998191274083777425321846032388906537491789359449352077574242932036549217601289501519863286622631033963874580865489612839025511551464225082719533863855747739017649072988460279382097486180945585275239834371385670547904863735370548704413157079134698850791170202409062937513474602380614188697145200269045533027607224889489619869456370636770611034814785325288360797817922356032739664902814194854000298409522002104202672551116139631052265658187687179305039964332262684903583292359867858571824478317976250415276732975058826598076989441992616673571011087440146864224916291061457796048277539054874197148811560571561533952761395792515018150950597691459307914964526777095690833473969486693460229594987522397981820755553499435458437155739577882100199176697661621882638770044924781870629808851020611973001747082789205332876433638489442067305741970064054911734857877593701548353457073971450273334007079589208008078216533582712088617806695857627360199427338726646237397449681816501558470444744026988194728003489534897321042496082009282182605947593734730117648033869055800635191063109813241147872947686000793783072865375966482797236754032061243559862126758945877750559214885838131488371971780267344664350126633075108736139380157482640478365986429295798190833009564386508927038229381441704195334438671217986933214789428840822003558131525438634470719714969801691275797272397842726177817109497494131815549243451031458453154171393725447598115620072283078691659336046519281145850989 3625343679558702112597959252709602579584915118608591455444709970501074493711228617134511124169754529276597017717741634371193792183497020144337620061392392070794302684334474618304395167783092729727519399785860033371634396963333564763537343707237931164735042880769027636545743460193015119616768533250657367569843656327516327065800159603618212040694412650100597522587548194033456797913019160158274562155161965377911549407325413015846133022225794540189501722698070478026308137989667589952178802681251852082251596120229205612764201042416078427294534635983105928094693288412728914938536047749128781923139483374334729432067546479576998069492903159058050944710179804533424774883967165850696845420139702695627437260009885026539989324650771545023684722583607034294078683523498769217824017266034060148296266076462668893265515562120458070610879685462872715668632263940509908516875973684694301213761393022743205549583569314916111103401362497968605676763509488683459060874723762816822333313793593237923429953767717991566311396004660242018894719787321261660324017491490158984225324404060921389522541629488433949973465181723912420500068547454435842199569695848152674189185572352659985449286587060892530500080827092655925166161326161591255810728485584003111430546204651563516661492122927082788547986319775845992435350094929500491315429642307885168747736482971730643784443928284685720137956777667128775860188257548097771111428060016163658884903192799660721816878454231516934656035321001905505449379189559482380485527364584032467275999771374088881732154639637893830627695768729084426494663551447975193828254922336773092675818236394887538410628676792760794420179747391956344635885083493206544143899264313330545745173504877465101245592089478068457758376402231161591114114907551373738270091669312351415453485208393874862309209463523576572111955046323305884990843067616136984376547131554547339595116931770145649437877070774202290612379193041427729440247075456721141164106004795721732551779795027796603013712681216885439979769151797130537403505624108430707076009733873493646752987335506835553439980132610347639523125755415590843698740644219385347506914247172947769535377257962982843216177072465297777343323356932010056710153277568712306900407418005492837909923605063234876500738648404920135864710846436671774154198553985708014405912102092464936644870847908823116308506815168765273036484161150265835414260919682725455305816114166734278280510878526063472132386128159250884664801138648274272834032446391898771769922884577959310031635563527334419505173380184292662450628872400667317684072893331430655006515852221095166096331633287967367547759065287352525592860784263505610690790692467908386055474092821583026339979304642613749012658985357624826279448299144608973344854045540364879374590971054635258261220636693839880009990971909260449634023438958847724187722218617476072364761761419386458344111522714137484664108047033900647490207693390060751321585298814136806955702383950323778863311099920155802304376471321578571745803745087513678460469094976303096805919720463661520055596763750615016209247791811968088550423778413935318423917168255706667514607336251102505295577324637389420444271333912280887626453811435644682159461243588640339398445966687474171616769874496608229946131453750141825150077731881760308696094661915385684345644330167947582085661759980519019249160198396438418683642598347946617475712693216025566933768859193713601853095351641084207225081733397789449342256193632704491852146451078436548978709416130349363422194729104904306512896532267888030398557581102405574230347404683749750038596603637187298885413727448124126467127881522234329562949494468132317388030195242895863074532926994279130906125236638441644260752201995844165512358387559412813443998610776815796954310150228046191541891192894900973796409263412359223807 5865929294425587407623032265015532828110320170686028482533677207217195286642208664106884159026582724586865231635742104267170304773861422015484309347543865842323767397838363099951438446987759724489511006244496438439686844379526843310098733528618352949217903615911522406620085432703974005182678570684473890493078690477422784152390429320224328595131880681074642608574353220965006410463139758631200005021573098401351613346559159441825051402572866383918490718464041543130890729076190807237654851902719204471342621459401279829220187822245161362810509376003156945018309578557180443775295381819964372928404519647725548545645001387915979170500896446182401353112098703641240689486033802816577269878828341881836723604450428182708006068802703610779998653516310121384017223730733693131040329631310588338339398638965687899929529689656800267472113380395237126253061566097019397766575640899170118984195792723496221154900997318576662797972216521381888808801429833548612666517550664323074311076874459777703800703392765030212485366439169112648084301751276267777211400735369200210958368526876724463975158761808893128369548727278342449873481504233712792589153300884530492002028677490370381371872403465444064458670256316231605177059971787457178757784560445189703051258713499889790818283980262095336423141447079290854844662983914485795529771700365695092781380228906590097197857688146174022216416731033032422359593672474215449572128056922362651683013066337109890223886113200721373014561568929243320954351688791545657370714767773910038731418695519730780020080750618073812324449987317535828234480897288071518980648254768810257817745148183767626022936617985674547382901650310207970682449232505029519843510739605601007075421421384596033662421077526341750278737426205652168713643814607510980136328361387821958479519993725851012181810919902665909409751390278000977706050448660854608810167257150787237017603245213192417879855874785780708561653380934832200056498951780927059884218542234767772179791776636661035396039107971070411570879934746315804852955181389162955437043875887976800553982388863490043030987837571464793002914343145780674529763637047693256582988446080055780437739620801677900471094656052367333639642407637028301390723338773996386837943536609981692439511795013616256166102714055291948720664223811460564264387705872404107045321639176590058232889401913930457306698089252542698358330193539172372906050279132077532880059046203283495881800380045926758755017162123125465530290751487299784385496671474618305633778632316976959104624023806716516991354325769567902285000258071215222547808263880135068163594986919945957266534042350904881022361445901541222738061053309038638298015581957528255511844729592194061154764629930974546830581341390364491182262493998609271754376047644567551925707110685687523919408323873144919974323234594164032926383306817419548666040194867891349097736820245984535333553515330811055675195487180764872406498754847856799599124353688333955767262955511857731624706892435173953254974162780886486710330522183204511934438581669763326400907242861643340811150263186073453364987369694068287727121440035817957193962093037577297323458356863075507042660113842722296877909823354348193368423875490556417017338837290188692855519938137747505623849463704616308162665036462230442956773589509120508123433388561623081795326146669506052530405786968713747252649733293759461179724607630129223423306427946143214967637914994348792916205164882232080172767734191572522207632160115501728606178512321996411105468362008099922637080567236392678484676799612552380525190656211141713610504887324228116025025899435378131894978113957051164696509323226429664001620712455065532177459036064899421206058365628749850621095038329717441533150044722021982621855881691228362687449642235268951125703875675644307161963475973592633132455782693505074796 9491272973984289520220991517725135407695235289294619937978387177718269780353437281241395283196337253863462249353483738638364096957358442159821929408936257913118070082172837718255833614770852454217030406030356471811321241342860408073636077235856284113952946496680550043165828892896989124799447103935131258062922346804939111218190588923842540635826293331175240131161901414998463208376158918789474567176735063779263162753884572457671184424798660924107992441162112021157198867065858397189833654583971056553594217579630485441984388864661239790105044011986262873113002866969909358713831429569093154851544003022060277977712547867492977239993799605240452297822278508174665464370000968667274115298968044577464160864460313209247995393453475155803683376099917155678095907254232462348864346897344648486635664715428356793195045251777258338082993065858109841921693830037529306283451614583864420197957185746239426704484566633492773901373579019350494485564939322232071727392274427139896644390668053015627230657160483021778796762443829354666979021538597529437535418226859359195183692930937645853497700391297327078343013909002254870373550051688148634788722996732683166191214249843030366821158990526336594958751083408887530343221297949048434568513046029192814481804918151453307479776103189178124971127766855136847280013078843986286845201342673580261529116711878320740982301616430859742354373508700161198219781930022313220683556116938526310567916259136770612040764567432238307670596889931148826403730878351028037856242132357942506007418466893819661752235390255967642952145756046620254729144448736046712808903177105583350493563384578655164433565294778435341803081397702164315318334315998236063987410003918931552820594926262061134908013167004410208037113828436813759827758722158884718406420030700173373933005202119725874491020383426242481521706436601306862696893516276991593186714388705334576612720176983338067317732945559982999174032573976259929496746027237648201048324547030489504731571571664457638409751789187955851550649086543446342256460805497593662513053609761470447306969724370325596470967970181812432526040098561371518228504281267078604089902693253003549973116878764660743687271728517665110982965764569038358100876616342708693738350954615474530349435400076851132666841362460212084585375070248132338418586259858112121451233741269054994877760249822753573615204904421307971394814354689438208320311198814802988185875160370017774162311258571990230887403290282376350195091890135574057219529117866517077403701516894936269136259587334050936496527705953860564735629130471882540231881157211565723170110839141041123362865675638872248570120511188893748330921837572544248988806274425436641567318822413777087494743934573588295843240326747989317461710793143218245099230093184932431300298081740322782180628960566984799984314206503424482560406745776267272853762413485367421462498581665370993677665038044948540339303534214665519896706448237917550920709652502470762722965339462181510488017992355329755559350634102465058456134267270718190394907676646066423206826963325304860866747026936688469574235161506036376277545218449753275617879261293283964838065693114178012338237438480111717322181157266629080994877686926201099176800080878829032253965904825221677240619338201224538108796490212372268106851321390880816819528050477008766140970476837453634616067546949232766501809931690197879863367205978075840899019121162168781901406774188062394769300516523316287397849467589361971549888353748206220458324963400432960084177778138449286059275296341296984997573331880440410923748237313547287840852292007977866063622503072565430780391841405175291163637204748663993564570206923197849565489231307795284280591292623028981527220274968159085793902246717866148134214269250641176131448253012084748080014025903690498703854668868493606928865046105864298603 15357202268409876927844023782740668235805555459980648420512064384935465066995645945348279442222919978450327480989225842905534401731219864175306238756480123755441837480011200818207272061758612178706541412274852910251008085722387251383734810764474637063170850112592072449785914325600963129982125674619605148556001037282361895370581018244066869230958174012249882739736254635963469618839298677420674572198308162180614776100443731899496235827371527308026483159626153564288089596142049204427488506486690261024936839039031765271204576686906401152915553387989419818131312445527089802489126811389057527779948522669785826523357549255408956410494696051422853650934377211815906153856034771483851385177796386459300884468910741391956001462256178766583682029616227277062113130984966155479904676528655236824975063354394044693124574941434058605555106446253346968174755396134548704050027255483034539182152978469735647859385563952069436699345795540732383294366369155780684393909825091462970955467542512793331031360553248051991282128882998467315063323289873797214746818962228559406142061457814370317472859153106220206712562636280597320247031555921861427377876297617213658193242927333400748193031393991780659417421339725119135520281269736505613326297606474382517533063631651343098298060083451273461394269213934427702124676062758472082374973043039275354310496940784910838180159304577033764570790239733193620579375602496528670255684173860888962250929325473880502264650680632959680685158458860392147358082567142573695226956900131852544738837162413550441772316140874041455276595743364156082963625346024118231789551431874393608311308532762422790456501912764109889185983048012372286000783548503265583830920743524532559896016347646657168570434244530751958315851254642465928541402536766395698542748392087995332412525195845576886672831303328908390931457826879307840402943964937846201996881645856121813630323422196530485197588820345763707735685954911092129553244979018575260932543089265257276911363348301118673805790897159026263121529021289762147109415986886756617950097485649447247860952113233815639501955807753277225528954441707152192758267918314771860672891139333059330410856499566338644158366384570032444622608172206066659491599955116705080576294491225456222788947195090467388832944076515504033306039294059592902682973965730516228496555380445645053110649651736684030921902993673850669753144548228610581226361477946880521065934206573301270044111638617916989642420452405501815725382641622873841605025789341135383037480149211913228240883611140767453487882031723428467020629388543097762779689421091700791333705826060987080629399717989777129592481957090434971068982890881582887286821856382964897079163552005971148649508564504562842673821668138353808643973287141827516853606140829499983226005192426010306100037284440129719958637441097588515486790052593686821519802608353258770560235401911355529011218553375759596014499021395430392303205203085774350519834006190804718490228294974039242112724884790503708814324796883351545166464789453922702329346258315829749607734206186948201677897290122761922939222531200104664004666658485571232811841354330861262161524049977253519380897552322834014200090980620977274363301562416757516194138918169017725109485842962969182864468801905840846271461526674602711063624910900001324942961439038631847936296623506959687146473333917946513754459664983957341043091813608205064322325549108311996869044689182411187685505681405548367570617201780934493757520513863707949064503475722429371189646140146549208696355863577689663482250131492992791448938893524689001451357179332205982088648402507943562675369955362226455860146527975093657566190919378263381742948267372694705486649658251778832148315313297876527327052291439888130756070150941869538818897895247353699205717901579334805865818144842086240061320828799369373399 24848475242394166448065015300465803643500790749275268358490451562653734847349083226589674725419257232313789730342709581543898498688578306335128168165416381668559907562184038536463105676529464632923571818305209382062329327065247659457370888000330921177123796609272622492951743218497952254781572778554736406618923384087301006588771607167909409866784467343425122870898156050961932827215457596210149139375043225959877938854328304357167420252170188232134475600788265585445288463207907601617322161070661317578531056618662250713188965551567640943020597399975682691244315312496999161202958240958150682631492525691846104501070097122901933650488495656663305948756655719990571618226035740151125500476764431036765045333371054601203996855709653922387365405716144432740209038239198617828769023425999885311610728069822401486319620193211316943638099512111456810096449226172078010333478870066898959380110164215975074563870130585562210600719374560082877779931308478012756121302099518602867599858210565808958262017713731073770078891326827821982042344828471326652282237189087918601325754388752016170970559544403547285055576545282852190620581607610010062166599294349896824384457177176431115014190384518117254376172423134006665863502567685554047894810652503575332014868549802796405777836186640451586365396980789564549404689141602458369220174385712855615839613652663231579162460921007893506925163748433354818799157532518841890939240290799415272818845584610651114305415248065197988355755348791540973761813445493601733083199032489795050746255629307370103524551531130009098228741499410776337692769794760164944598454608979976958804871917341077954890067207542545230989064445714536601319117864501501647818330747443464112716611273908718303478447411535162166352965083079279688369161258925280416949168422788168706345530397965302761163851686755150872453164263480614703099837481214837795183596034561456390243043599179868552515321765905746706909718528887352059049991006256223461980867636295746781642934919965576312215542686346982114672178107833208489365876792384350280463151095410917695167921837604141235972923777935089658054994540268523710986772199581850464762793832586062880383973378330999387845638113087697555605573936775105017592476571459413774314645445840930753138382595167318521499785438975716117891414364307725241101560225588628349947789121714700047988409901559437604537107898095158641147958902918048789546672676761683509251809366943319044206422897189907220529823742687878165920474531758447898824554907207652460441181666106849497377143198474818389984409737677289031756258519014980303011570578303266514503816665202028203992265393628649378162602468279328719399904728454127136275628130808401538646482374419748236144252499078151138517061994886343126105684080285045761952836234014432414526303274166333088280666245007114519942951647601012998047196798369954094373565021838626192022733983576726522688883591420708136353802555610095912199911651323691901440543658693275481213193634436220752600742877145833464373675430985816603622599056724640892724253934961896172814561169512253062544644317059450392513457692706141040282211876935324508429720615624145226999589743091431531719134990802945731522272137887606355358179249342958615370938999047846757363451747788190860105088140107065384380258016886974979170476232290882141762489489515640614077267100344413321762540880867179280256269596674155220906459019586280905221344670270480778770451463370473582454806197928864654968466669370296465307408867611914169522828439122862331273823918284998494755631159918986648479823463373433202372687130838236289292209471340183848152270905580508993455761796767401747023783732723757651130761126301461231308437498680489989767240950874807813675535588266035613120954538157754278890284420192510714950346148259438447285731927483025304569672813710579846990185874905233672002 40205677510804043375909039083206471879306346209255916779002515947589199914344729171937954167642177210764117211331935424449432900419798170510434406921896505424001745042195239354670377738288076811630113230580062292313337412787634910841105698764805558240294646721864694942737657544098915384763698453174341555174924421369662901959352625411976279097742641355675005610634410686925402446054756273630823711573351388140492714954772036256663656079541715540160958760414419149733378059349956806044810667557351578603467895657694015984393542238474042095936150787965102509375627758024088963692085052347208210411441048361631931024427646378310890060983191708086159599691032931806477772082070511634976885654560817496065929802281795993159998317965832688971047435332371709802322169224164773308673699954655122136585791424216446179444195134645375549193205958364803778271204622306626714383506125549933498562263142685710722423255694537631647300065170100815261074297677633793440515211924610065838555325753078602289293378266979125761361020209826289297105668118345123867029056151316478007467815846566386488443418697509767491768139181563449510867613163531871489544475591967110482577700104509831863207221778509897913793593762859125801383783837422059661221108258977957849547932181454139504075896270091725047759666194723992251529365204360930451595147428752130970150110593448142417342620225584927271495953988166548439378533135015370561194924464660304235069774910084531616570065928698157669040913807651933121119896012636175428310155932621647595485092791720920545296867672004050553505337242774932420656395140784283176388006040854370567116180450103500745346569120306655120175047493726908887319901413004767231649251490967996672612627621555375472048881656065914124668816337721745616910563795691676115491916814876164038758055593810879647836682990084059263384622090359922543502781446152683997180477680417578203873367021376399037712910586251510414645404483798444188603235985274798722913410725561004058554298268266694986021333583506008377793707129122970636475292779271106898413248581060364943028873950837956875474879585688366883583948981975675903745040117896622325435684971919122210794829877897338032004004497657730000228182108981171677084076526576118854890939937066386975927329790257785910332729515491220151197453658367318143784534191319144578444344502160345101099059553296121635459010891769009310901103451146659370773034154708564030317743573516620314250534535807824210172244195093379981645857173381321740429580696548787843478661815318762725618026809615585843472291769400717498776887907558078065791259999394967305837522491263015284621665111618426507755084425369763690468887619335710023562449987191366435725645926425719384793761063582713981190883663024696934749657367426873278806442374843932397752308466592343394380703529447244239901589088698601513533986850963640915893367630191884962582969385488082051700102144796467732368301577005526304503116854409466251960377664884080199703421929410259994713467761936337173188000227869168148789063846178563595053600193277725922422295375699201264222541607182212315452680223906245704286878535420895741241561969955006489161113793068685051100032543125779745722363118508583629721480811759716131565077917216864482472937590751160042969556942012906230651719543561577690234101143190883466705450928554272462013563723851373008909014214785125794010729261658112561949550833194485969543670219378792775639496152552884770140311879334413022539083871151230959064929381475622118587331914845291702463470058431547703451987023496676311962073594866425993821626024362925290743566650672389830240919308088452556131131752129628202883930260698851308696952045679724613051385766053184695253890609126586645823850901563912140448006829597642409646354571134380253769244043506792146491449829062360110435490958552666087051506703704603045401 65054152753198209823974054383672275522807136958531185137492967510242934761693812398527628893061434443077906941674645005993331399108376476845562575087312887092561652604379277891133483414817541444553685048885271674375666739852882570298476586765136479417418443331137317435689400762596867639545271231729077961793847805456963908548124232579885688964527108699100128481532566737887335273270213869840972850948394614100370653809100340613831076331711903772295434361202684735178666522557864407662132828628012896181998952276356266697582507790041683038956748187940785200619943070521088124895043293305358893042933574053478035525497743501212823711471687364749465548447688651797049390308106251786102386131325248532830975135652850594363995173675486611358412841048516142542531207463363391137442723380655007448196519494038847665763815327856692492831305470476260588367653848478704724716984995616832457942373306901685796987125825123193857900784544660898138854228986111806196636514024128668706155183963644411247555395980710199531439911536654111279148012946816450519311293340404396608793570235318402659413978241913314776823715726846301701488194771141881551711074886317007306962157281686262978221412163028015168169766185993132467247286405107613709115918911481533181562800731256935909853732456732176634125063175513556800934054345963388820815321814464986585989724246111373996505081146592820778421117736599903258177690667534212452134164755459719507888620494695182730875481176763355657396669156443474094881709458129777161393354965111442646231348421028290648821419203134059651734078742185708758349164935544448120986460649834347525921052367444578700236636327849200351164111939441445488639019277506268879467582238411460785329238895464093775527329067601076291021781420801025305279725054616956532441085237664332745103585991776182409000534676839210135837786353840537246602618927367521792364073714979034594116410620556267590228232352157257121555123012685796247653226991531022184894278361856750840197233188232271298236876269852990492465885236956179125841169571655457178876399676471282638196795788442098111447803363623456541638943522244199614731812317478472790198478804505185091178803256228337419849642610745427555833756045756276694676553098035532629205585382907317729065712385425104431832514954466936269088868022675043384886094416907772928392133623875045149087469454855559239996118789864167952049062354064708160319706831470247539569552940459939358456957432997731430702067937781258147566331705139769639254135603756440303919843481425612222995170008090404233456701507078006530533146426573058368802830577698233820341339156465043488613930505247075885917686893649092409868792347789837159838078117999767974372128300845467620938013562660865119707945657911040060855341447711919040759278608858364812278611740758676482661369774454358759844540736299614511581183649333595010266932652030511154605703369064808574388985736217175868722104132615622216703028505733158153400921323577355680916615563846480747314210639082170637561675658854984752411662902903204487777854128239622095236856545211454326767185924241662707966137916612386744569090412356220249671282585579151716160703536160116582819167533928725477244635256396189985079660061102674746936016916264711239836389338539350903074645082119971615031977560448552669404577375481765608467940418069913076090830824195786330671555095652305074266998858332267782856009852780766874765014889649273554409947615923358352595118077263277677507550540521527424372338249087536288110160353968154033737293976716546198207618183415662960441897058239859196194313155201161580035776122012573678393190213668961549586893548897029949907713993422608959827713171981185844359823264733674685021131560001394459499386489829947753568961367755396688536638991326890968719590191766230593777181756545385415005163772263245934041692578609836717403 105259830264002253199883093466878747402113483167787101916495483457832134676038541570465583060703611653842024153006580430442764299528174647355996982009209392516563397646574517245803861153105618256183798279465333966689004152640517481139582285529942037657713090053002012378427058306695783024308969684903419516968772226826626810507476857991861968062269750054775134092166977424812737719324970143471796562521746002240863368763872376870494732411253619312456393121617103884912044581907821213706943496185364474785466847934050282681976050028515725134892898975905887709995570828545177088587128345652567103454374622415109966549925389879523713772454879072835625148138721583603527162390176763421079271785886066028896904937934646587523993491641319300329460276380887852344853376687528164446116423335310129584782310918255293845208010462502068042024511428841064366638858470785331439100491121166765956504636449587396519410381519660825505200849714761713399928526663745599637151725948738734544710509716723013536848774247689325292800931746480400576253681065161574386340349491720874616261386081884789147857396939423082268591854908409751212355807934673753041255550478284117789539857386196094841428633941537913081963359948852258268631070242529673370337027170459491031110732912711075413929628726823901681884729370237549052463419550324319272410469243217117556139834839559516413847701372177748049917071724766451697556223802549583013329089220120023742958395404779714347445547105461513326437582964095407216001605470765952589703510897733090241716441212749211194118286875138110205239415984960641179005560076328731297374466690688718093037232817548079445583205448155855471339159433168354375958920690511036111116833729379457457941866517019469247576210723666990415690597758522770922190288850308632647933002052540496783861641585587062056837217666923269399222408444200459790105400373520205789544551395396612797989777641932666627941142938408767536200527496484240436256462976805820907807689087417754898751531456498966284258209853358998870259592366079149762316462350926564077289648257531647581225669739280054986922682949311823425222892504219875518476852435375095115634163776424307301973633134125675451853647108403157556061938154737448371760629624611651484096525319973704704993042175682890342165244469958156420286321681042361528670628608226917506836478126035390250186529008151680875455129681633177262950165805211367531092740986178811569887296513976559672707491968805555640874312132874638129212188878521091379683716300305228147398505296744374948613196817705990076928993276478724029310034334131136434594090577093201126178861647728058773235595616865502393672771319018856100337679967125547183400528105191134410097774227271187005731774626243579100898829320935736995604998815138792319565720983702297210030920207351019877042073303901602999746129824998216025115170500297235926160300282222396117188672754552890626089087881013643601090405709621148521206145360142624405361298988461435880620037493256740742027678401018507810749675886724152901200726749081768082831454321517348017659151920910655590989727531423875023418818140518632448855968947777115990912844555534158205321817329228801633919200077054505222966998374904773614801140872862390878501094833481575722309326929290510946044202024132877845683697104010130359638678518672649075173391346624185538104394548047159339580569310437430868277728119990380344805560685975252844308685109028066330049443768476243122735429956597690700046634411672758383437267630563158406697492268813445736200764035148093901659605206912339272403970653106285190015939179564086870779342772684963508634109521757414105718025301026658152791644254121460268524665217660910457411209030786859380275022169127981105323237391393859894016968197353039098182993562461271222488834235273022740268631585607745525440654730815912021093199282314439762804 170313983017200463023857147850551022924920620126318287053988450968075069437732353968993211953765046096919931094681225436436095698636551124201559557096522279609125050250953795136937344567923159700737483328350605641064670892493400051438058872295078517075131533384139329814116459069292650663854240916632497478762620032283590719055601090571747657026796858753875262573699544162700072992595184013312769413470140616341234022572972717484325808742965523084751827482819788620090711104465685621369076324813377370967465800210406549379558557818557408173849647163846672910615513899066265213482171638957925996497308196468588002075423133380736537483926566437585090696586410235400576552698283015207181657917211314561727880073587497181887988665316805911687873117429403994887384584150891555583559146715965137032978830412294141510971825790358760534855816899317324955006512319264036163817476116783598414447009756489082316397507344784019363101634259422611538782755649857405833788239972867403250865693680367424784404170228399524824240843283134511855401694011978024905651642832125271225054956317203191807271375181336397045415570635256052913844002705815634592966625364601125096502014667882357819650046104565928250133126134845390735878356647637287079452946081941024212673533643968011323783361183556078316009792545751105853397473896287708093225791057682104142129559085670890410352782518770568828338189461366354955733914470083795465463253975579743250847015899474897078321028282224868983834252120538881310883314928895729751096865862844532887947789633777501842939706078272169856973494727146349937354725011873179418360927340523065618958285184992658145819841776005055822503271372609799864597939968017304990584415967790918243271105412483563023103539791268066706712379179323796227470013904925589180374087290204829528965227577363244465837752343762479535060194798040997036708019300887727581908625110375647392106188262488934218169375290566024657755650509170036683909689968336843092701967449274505738948764644731237582495086123211989362725477603035328888157631922582021256166047934002930219422465527722153098370486312935279966861836026464075133208664752853567905832642580929492393152436390354012871703289719148585111895694200493725066437182722647184113302110702881022434058754561107994773997759424425092689375189703717404913556723025134690435228611749910435399273998463007240115451248471497345214999228159276075691412447817649059109456849454436499031164449401803287071576380070655896276778520583660861018937851904061668451318348778169987171608366825796394310385694783556730559843180760704194803396921154791434946520200804193102261849526122112578279590458212667948510206472314915384343238606223190902384469902528116654626669788188904444220606774978846777056460340262850711360324999592560662022309531948109696359703443078355961759590670561297830536696354149630830936427232934252907271794376123617699200478073617230819469812509842236770737909173865875782558762220312038791561536653057103221489341889040100678448311351545579137653612389651984972570609308449756970112896008466122109917756913455665537731384956057131019193425059360133336240584127141113309921482520865388918216738367610983230700211633631300963599880800933965065625437111749746286962145716267829861849118847106252849460715674664458683029043255894154414683641331764694098614195225372242945670252124406089735942544726978322648127661570538756019719073699998677339884459391384399601475330548033860968377554184952194285807809605879650694694807652622781599769938058011864640099867223390328002232845867711346144386210252334765248450815118894697537187027299735426375655304918849923688102699358247544069228352378389642096301771032295520534065296153729129375564822623881223807647585929565108435786719632553788162191208424427039253334045813342153130940445818503079157955134891860924276480207 275573813281202716223740241317429770327034103294105388970483934425907204113770895539458795014468657750761955247687805866878859998164725771557556539105731672125688447897528312382741205721028777956921281607815939607753675045133917532577641157825020554732844623437141342192543517375988433688163210601535916995731392259110217529563077948563609625089066608808650396665866521587512810711920154156784565975991886618582097391336845094354820541154219142397208220604436892505002755686373506835076019820998741845752932648144456832061534607847073133308742546139752560620611084727611442302069299984610493099951682818883697968625348523260260251256381445510420715844725131819004103715088459778628260929703097380590624785011522143769411982156958125212017333393810291847232237960838419720029675570051275266617761141330549435356179836252860828576880328328158389321645370790049367602917967237950364370951646206076478835807888864444844868302483974184324938711282313603005470939965921606137795576203397090438321252944476088850117041775029614912431655375077139599291991992323846145841316342399087980955128772120759479314007425543665804126199810640489387634222175842885242886041872054078452661078680046103841332096486083697649004509426890166960449789973252400515243784266556679086737712989910379979997894521915988654905860893446612027365636260300899221698269393925230406824200483890948316878255261186132806653290138272633378478792343195699766993805411304254611425766575387686382310271835084634288526884920399661682340800376760577623129664230846526713037057992953410280062212910712106991116360285088201910715735394031211783711995518002540737591403047224160911293842430805778154240556860658528341101701249697170375701212971929503032270679750514935057122402976937846567149660302755234221828307089342745326312826869162950306522674970010685748934282603242241456826813419674407933371453176505772260190095965904421600846110518228974792193956178005654277120166152945142664000509656536692260637700296101230203866753295976570988232985069969114478650474094273508585333455696191534577800648135267002208085293169262247103392084728530683950651685517188228663021466806357353799695126069524479688323556936827551742667957632355231173438197812347258835597398636022854727139051796736790885116163003894383249109661511384759766442227351633361607942065089875945825649460527471158920990906378153130522477949393964487443222505188803827870679344145968413058703871941370608842712450692203530534405990709462181952398621568204366896598716854074914362120221563643502384387314688060035454589153215094835331237991011731884636072699062451921161035085121738978080673263229531686804610544152282040931526639134328382036794567676755387841632401562815148023321505604299782514052065339077989503679890720576262959232340452155460716236745516382257564759336800386296046561811524649928066862587533216475303388983048878170589826567161498244463070902915551857919259115319226018406964123519300500227442156690550359962231369567441119186259061027432303290554813116401066740653440762771274318130555160387032765508746640987089412754803774197649651642281028307910452231496971696647468126804338194617719850657567688037735923178632006205737214681941806827456503938206583227862684455043197120372795163049130385727306399371768468813388681934412827063758814723111318284152299619920290105009832693716527166810822455098313028472467131224731272563382385107705406214508835152875844598065977990458659077600819363867044191246873510213853101505144891595045506138822047012734001526828597240341505249838364452429576226191514329335321594461667382500695661409257183789761022944150950346255491002501665529496877043607303006759182241326307393445571175898257356670145861272617667541602897762461474884902626116249433413697258662312276074314444927760876465886473233895069976228091143238716243011 445887796298403179247597389167980793251954723420423676024472385393982273551503249508452006968233703847681886342369031303314955696801276895759116096202253951734813498148482107519678550288951937657658764936166545248818345937627317584015700030120099071807976156821280672006659976445281084352017451518168414474494012291393808248618679039135357282115863467562525659239566065750212883704515338170097335389462027234923331413909817811839146349897184665481960048087256681125093466790839192456445096145812119216720398448354863381441093165665630541482592193303599233531226598626677707515551471623568419096448991015352285970700771656640996788740308011948005806541311542054404680267786742793835442587620308695152352665085109640951299970822274931123705206511239695842119622544989311275613234716767240403650739971742843576867151662043219589111736145227475714276651883109313403766735443354733962785398655962565561152205396209228864231404118233606936477494037963460411304728205894473541046441897077457863105657114704488374941282618312749424287057069089117624197643635155971417066371298716291172762400147302095876359422996178921857040043813346305022227188801207486367982543886721960810480728726150669769582229612218543039740387783537804247529242919334341539456457800200647098061496351093936058313904314461739760759258367342899735458862051358581325840398953010901297234553266409718885706593450647499161609024052742717173944255597171279510244652427203729508504087603669911251294106087205173169837768235328557412091897242623422156017612020480304214879997699031682449919186405439253341053715010100075090134096321371734849330953803187533395737222889000165967116345702178387954105154800626545646092285665664961293944484077341986595293783290306203123829115356117170363377130316660159811008681176632950155841792096740313550988512722354448228469342798040282453863521438975295660953361801616147907582202154166910535064279893519540816851711828514824313804075842913479507093211623985966766376649060745961441449248382099782977595710547572149807538631726196090606589621744125537508020070600794724361183663655575182383358946564557148025784894181941082230927299448938283292088278505914833701195260226546700327779853326555724898504634995069906019710700746725735749573110551297898879890160763318808341799036701088477171355784074658496298377293701625856261048734525934166161106357626624627867692948622123763518913917636621476929788800995422849557735036390772412129784027072274186430682769230045842813417559420108428565050035202853084349291829930469298778697700382843592185148996395855539526041387932886676071019219263256114263296934647861090658952853687744354753120750624596956315869877740551572939179037579283504496259071351004052467542112379278629291108525679340840215040215720168823621254649984103570412596448959460613526518927470947593877098507878799558897799014766150728210660777425001788289027045235115475282540715425394094689997024493091894189522885739612539019003693343607463183720711456481219864707372378977882428208425506053051713224050071221031288243451168853154875426503554442754950486188730254780670835706087668043788472081098837760778048286859060006638067395935299020966623390265637506700814562742740792522129375318332974149646600759464950234644281896236638576767115046432927496417725190306981478442456054876012382766494845292533050680084818122616902753367182076635676600128701763487292282456085106382746098968226537275446073396526024319627455155004316061329999056479389864547796312797514376645276076880058877374101394051987568343738095706075798573962436443849094583772409580562080037882688708992610165416327863000874034358190360749209598725229421996945103060953273621827927510867329627386732234968485153841475189188827327569910671622258670037595604905683089351529408360258269914007406332291736974227931362983004162992723218 721461609579605895471337630485410563578988826714529064994956319819889477665274145047910801982702361598443841590056837170193815694966002667316672635307985623860501946046010419902419756009980715614580046543982484856572020982761235116593341187945119626540820780258422014199203493821269518040180662119704331470225404550504025778181756987698966907204930076371176055905432587337725694416435492326881901365453913853505428805246662906193966891051403807879168268691693573630096222477212699291521115966810861062473331096499320213502627773512703674791334739443351794151837683354289149817620771608178912196400673834235983939326120179901257039996689457458426522386036673873408783982875202572463703517323406075742977450096631784720711952979233056335722539905049987689351860505827730995642910286818515670268501113073393012223331498296080417688616473555634103598297253899362771369653410592684327156350302168642039988013285073673709099706602207791261416205320277063416775668171816079678842018100474548301426910059180577225058324393342364336718712444166257223489635627479817562907687641115379153717528919422855355673430421722587661166243623986794409861410977050371610868585758776039263141807406196773610914326098302240688744897210427971207979032892586742054700242066757326184799209341004316038311798836377728415665119260789511762824498311659480547538668346936131704058753750300667202584848711833631968262314191015350552423047940366979277238457838507984119929854179057597633604377922289807458364653155728219094432697619383999779147276251326830927917055691985092729981399316151360332170075295188277000849831715402946633042949321190074133328625936224326878410188132984166108345711661285073987193986915362131669645697049271489627564463040821138180951518333055016930526790619415394032836988265975695482154618965903263857511187692365133977403625401282523910690334858649703594324814978121920167772298120071332135910390411748515609045668006520478590924241995858622171093721280522659027014349356847191645316001678076353965828695617541264286189105820469599191923077440317072085820718736061726569268956824837429486751031293087831976436579699129310893948766255295637091783404575439313389518817163374252070447810958910956071942832807417164855308099382748590476712162348034689765006323767213191590908698212473236937798011426291857906319358791501802086698195053405325082097264004777758390170898016088250962136422825425304800468145141391262616438908332143020972496477764477716965088759939508024765816180988312795461648752056927998711412051494112801163085015070903627639738149610950374857279378944618560707091918325708035424332019769600068739626116917276041557731294776878997247396516874879954975973605256038892337891472913819200490863617983578411805160591018418829718720106440745086580486990436259031128833194475842871091278264271333889923660319403449486964661602299367203514049760473879958878853612396613719745611618340945952609256139812317912596487009258913039246445850034157823145952081023922339050966433406410185718763238622454118453877490833992305606374006329240187640935250195429844363240992504452430322477987115975954240703578070534408246175091197254624357918053502987058702546568897643712438029244684547619978633313524916202012331055802662070607439444945367024304073514418201396309806407124719808542201270777987330666918794465212823155689917511839144069564189637174948705072595832988218564845838470214088152313477061690151290671462504014778286532755823679928374190303352900078400897817942405971690782215702105890108102920880584808685243345544440251003538662635363423919094004042229462538578350118249793955177350807151824380613681363250875128222106465604248109820135514948135320956438505525644088905114346426459142730791725090031385556524884786287029018602941751663805482674703197674883872218764970869297907591074147401708966229 1167349405878009074718935019653391356830943550134952741019428705213871751216777394556362808950936065446125727932425868473508771391767279563075788731510239575595315444194492527422098306298932653272238811480149030105390366920388552700609041218065218698348796937079702686205863470266550602392198113637872745944719416841897834026800436026834324189320793543933701715144998653087938578120950830496979236754915941088428760219156480718033113240948588473361128316778950254755189689268051891747966212112622980279193729544854183594943720939178334216273926932746951027683064281980966857333172243231747331292849664849588269910026891836542253828736997469406432328927348215927813464250661945366299146104943714770895330115181741425672011923801507987459427746416289683531471483050817042271256145003585756073919241084816236589090483160339300006800352618783109817874949137008676175136388853947418289941748958131207601140218681282902573331110720441398197893699358240523828080396377710553219888459997552006164532567173885065599999607011655113761005769513255374847687279262635788979974058939831670326479929066724951232032853417901509518206287437333099432088599778257857978851129645498000073622536132347443380496555710520783728485284993965775455508275811921083594156699866957973282860705692098252096625703150839468176424377628132411498283360363018061873379067299947033001293307016710386088291442162481131129871338243758067726367303537538258787483110265711713628433941782727508884898484009494980628202421391056776506524594862007421935164888271807135142797053391016775179900585721590613673223790305288352090983928036774681482373903124377607529065848825224492845526533835162554062450866461911619633286272581027092963590181126613476222858246331127341304780633689172187293903920936075553843845669442608645637996411062643577408499700414719582205872968199322806364553856297624999255278176779738068075354500274238242670974670305268056425897379835035302904728317838772101678186932904508625793390998417593153086765250060176136943424406165113414093727737546665689798512699184442609593840789336856450930452620480412611870109977857644980002221473881070393124876065704233920383871683081354147090714077389920952398227664285466680970447467802487070875018800129474326226285272899332588644896484530531999932707734913561714109153795500950354204696652493127658347746929579339491243203621631402386257863846638212014481050340462046781730256946136814112174173944722915433102280504836751903395771529169553867579233740408421224026698787259781083060703881424582099941782715453747219824887146006805914383320766877505236778111137588964149687628954417461159398578970605020396310852045401475953563266394615431527915152642835322396834150544264823252958405730362857041096269116697759669933760322160913910201741640420362601541429643435303484617797191742281483800758827282249045862460617065517931724710537898881747167880657631729195028152333766340047299253164305409806786009894998525578265449543377765286329672792480403558915673805785388068146971664128507170167101540905213336894617457498093342516361753749872599313727181234707210993313693203643998029175659169372169024223378056314630995985449438286079669169959163281219138843807427288412500762688843249176161977656562127020842083726841603662880840629464634323806224132315026790020643726832863343049685289310505356206370002329961760972317556819251584381672724534751705857128294555320470898412445288227426736744859030039097913987910827995989704189359832289942948694130739920348336058292582164767482204314932572377028981441250516049577501099079212518502866413622791542576461038827242404120593678670152698414971871724000084726947335887601193212881088788569963248467305835153030821140082831580300617919980552417601296228147143456324624623508624841015334891034961467588891278551056707843525838954057151564701689447 1888811015457614970190272650138801920409932376849481806014385025033761228882051539604273610933638427044569569522482705643702587086733282230392461366818225199455817390240502947324518062308913368886818858024131514961962387903149787817202382406010338324889617717338124700405066964087820120432378775757577077414944821392401859804982193014533291096525723620304877771050431240425664272537386322823861138120369854941934189024403143624227080131999992281240296585470643828385285911745264591039487328079433841341667060641353503808446348712691037891065261672190302821834901965335256007150793014839926243489250338683824253849353012016443510868733686926864858851313384889801222248233537147938762849622267120846638307565278373210392723876780741043795150286321339671220823343556644773266899055290404271744187742197889629601313814658635380424488969092338743921473246390908038946506042264540102617098099260299849641128231966356576282430817322649189459309904678517587244856064549526632898730478098026554465959477233065642825057931404997478097724481957421632071176914890115606542881746580947049480197457986147806587706283839624097179372531061319893841950010755308229589719715404274039336764343538544216991410881808823024417230182204393746663487308704507825648856941933715299467659915033102568134937501987217196592089496888921923261107858674677542420917735646883164705352060767011053290876290874314763098133652434773418278790351477905238064721568104219697748363795961785106518502861931784788086567074546784995600957292481391421714312164523133966070714109083001867909881985037741974005393865600476629091833759752177628115416852445567681662394474761448819723936721968146720170796578123196693620480259496389224633235878175884965850422709371948479485732152022227204224430711555490947876682657708584341120151030028546841266010888107084716183276593600605330275244191156274702849602991757859988243126798394309574806885060717016572034943047841555781495652559834630723849280654185031284820405347774440344732081251738252490909253101782654678379916843367135288990435776624759681679661508072918177499721577305250041356861009150732811978658053580199704018824831959529557475655087656793460480232894553295204468675475244377637042390300609904235730326899512222916702997435247367278409902808297745191523616433126034951046951806927242212111016011284629460434445124632744816325300885636180144648034744654300265443186763287472086530725091278205374790612853055058454074776982601229620360860289109061892345049921396734019488347539316709081772115932918694901104867730524650847464625295617756289240600145822123797485203055914672185111960974187061228138205087522296437868583340178354950810662911490311482891126248091361289172042017178642453449269348346435452901429707716178499652480428601658996782228630856621632670262837911146355709075456013615373724419146685698532827122219364885135238760298372761706046734270028342914773763952107285999908509304117727719382496904257438617511895393411923109475624873504325897966640239191798253865734902750961288620979031739205642500991463827333530157297003945302443676968173739159641315791680319619952269879237239906577270398469253569255353903502941273138371716528060924931576873052111836032479396002368165378174308712364789091449523171786970687184914143882835720116030539439746598562844997610850673716604083775718179362059919841800905041881746456426533086745320367739924421974133025534559050725922349917578027416321534053876200520666651675918078379663185190021349591948682326320026840508284270657590307235813157185714224786794956300581039761714575942421960417665021005115039388945492198075771029477304522795585553087250959855169442353205441322701224303518098569423744340678674910045197178006759760650772277507632681784672028242611653642111566592679140373709664665263775150769821678712823746545131298966410655676 3056160421335624044909207669792193277240875926984434547033813730247632980098828934160636419884574492490695297454908574117211358478500561793468250098328464775051132834434995474746616368607846022159057669504280545067352754823538340517811423624075557023238414654417827386610930434354370722824576889395449823359664238234299693831782629041367615285846517164238579486195429893513602850658337153320840374875285796030362949243559624342260193372948580754601424902249594083140475601013316482787453540192056821620860790186207687403390069651869372107339188604937253849517966247316222864483965258071673574782100003533412523759379903852985764697470684396271291180240733105729035712484199093305061995727210835617533637680460114636064735800582249031254578032737629354752294826607461815538155200293990027818106983282705866190404297818974680431289321711121853739348195527916715121642431118487520907039848218431057242268450647639478855761928043090587657203604036758111072936460927237186118618938095578560630492044406950708425057538416652591858730251470677006918864194152751395522855805520778719806677387052872757819739137257525606697578818498652993274038610533566087568570845049772039410386879670891660371907437519343808145715467198359522118995584516428909243013641800673272750520620725200820231563205138056664768513874517054334759391219037695604294296802946830197706645367783721439379167733036795894228004990678531486005157655015443496852204678369931411376797737744512615403401345941279768714769495937841772107481887343398843649477052794941101213511162474018643089782570759332587678617655905764981182817687788952309597790755569945289191460323586673312569463255803309274233247444585108313253766532077416317596826059302498442073280955703075820790512785711399391518334632491566501720528327151192986758147441091190418674510588521804298389149561799928136639798047453899702104881168537598056318481298668547817477859731022284628460840427676591084400380877673402825527467587089539910613796346192033497818846501798428627852677507947768092473644580913800978788948475809202291273502297409774628430174197785662653226970987008377791980879527461270097143700897663763477859526770738147607570946971943216156866903139529844318012837768412391306605345699641697242929282708146699867054799292828277191456324168039596665156105602428192566315712663777757118782192054212084307568504507267582530905898591292512279924237103749518868260982037415019486964786797777973887177057487437981523756631818278615759924283661805155243515046326576490164832819814343277001046650445978398067289512441624562203623920912699629034263314193503636334799589928604522387536784058127316834179435385579830904373929306105743010806278890926683686006192561443465706407675078709292493997698824413938169586240750762572906983970271276984234211692481346449840326872647755896857525177973967947578689582836430403066963470836271643453214614927660072109801916285873626047207762468423137526168506799255964195777344936789688395805297665984729456882314044977186322012706566879468458788080572644418979395608921325426872673658757695175042990695354973866852309105373523263950299054896409278746294621847309883886349888952379559218040886487224206150715716859539124444980158691211414554336286368926916112291606898628574350065754773347470043922254671754773388583488724443714016766289373086223535568429922171762666014199303275678117468418044902491630279102427580855029949138367638145004764161180564092974114508577479671907782569023017479964298286079422246668362898800866435425072511550745729562743206228045472350158540860793788460924826831287812547691500427772734602196364708147457221210557424811251044582116778240806634535582313092088061817891050175831705731185280009587060378570752829925233978012819171698936278265620191433694475264744626132852666429320878386556349585499188450531112345123 4944971436793239015099480319930995197650808303833916353048198755281394208980880473764910030818212919535264866977391279760913945565233844023860711465146689974506950224675498422071134430916759391045876527528412060029315142726688128335013806030085895348128032371755952087015997398442190843256955665153026900774609059626701553636764822055900906382372240784543457257245861133939267123195723476144701512995655650972297138267962767966487273504948573035841721487720237911525761512758581073826940868271490662962527850827561191211836418364560409998404450277127556671352868212651478871634758272911599818271350342217236777608732915869429275566204371323136150031554117995530257960717736241243824845349477956464171945245738487846457459677362990075049728319058969025973118170164106588805054255584394299562294725480595495791718112477610060855778290803460597660821441918824754068148473383027623524137947478730906883396682613996055138192745365739777116513508715275698317792525476763819017349416193605115096451521640016351250115469821650069956454733428098638990041109042867002065737552101725769286874845039020564407445421097149703876951349559972887115988621288874317158290560454046078747151223209435877363318319328166832562945649402753268782482893220936734891870583734388572218180535758303388366500707125273861360603371405976258020499077712373146715214538593713362411997428550732492670044023911110657326138643113304904283948006493348734916926246474151109125161533706297721921904207873064556801336570484626767708439179824790265363789217318075067284225271557020510999664555797074561684011521506241610274651447541129937713207608015512970853854798348122132293399977771455994404044022708305006874246791573805542230061937478383407923703665075024300276244937733626595742765344047057449597210984859777327878298471119737259940521476628889014572426155400533466915042238610174404954484160295458044561608097062857392284744791739301200495783475518146865896033437508033549376748241274571195434201693966473842550927753536681118761930609730422770853561424280936267779384252433961972953163805482692805929895775090912694583831996159110603959537581041469801162525729623293035335181858394941068051179866496511361335578614774221955055228069022295542335672599153920159632280143394067145464702101126022382979940601165631616203057409355434778426728675062386579216637178844829123893805392903762675553933335946812545367423867036990954791707128693224861755399650833032341251834470039211144117492107387677652269333583201889263003393865893199246604935747261971902151518176503048914754137737242318492864521058521752831748517249418308519911550902791583615674989145649613272048018725758185855184592217596054493697405139018044975178234578622108159856944427055727946899128532130116669238721179364231903766198902133605866881955319257596196035948103769512231249597120653646111516705055795288202202231134644405159261349197688415024575680237980912047116271772540865245551003703513402813289240330201611505280922539489055354848954284168984575878441469630429747409059604383624621896600385152760402830955761640477486667663528713026493624897053842883902568934133649185323565020316563453141703792455320832356412603015285131082292589911650960477459554693579579932510595081291705203741130070415545037250668917230305764038285211194519987146333722054564690482893456861941714930489842013563571056081049732104650555163365270231554701076560606389588999864289988062582791577502098146850315029244131347825860948686202669985647878028104572988389739309150706082662818786558886748457431014840428650739580622508364403346787248952833552806539816718226800272135737624761744006142977898502004437286220594012075858283537395606160387314794516510380641230477187593820139221525107432866659797491199941547931907731758026373615638454290798116441580090700065269173332044319749497523000799 8001131858128863060008687989723188474891684230818350900082012485529027189079709407925546450702787412025960164432299853878125304043734405817328961563475154749558083059110493896817750799524605413204934197032692605096667897550226468852825229654161452371366447026173779473626927832796561566081532554548476724134273297861001247468547451097268521668218757948782036743441291027452869973854060629465541887870941447002660087511522392308747466877897153790443146389969831994666237113771897556614394408463547484583388641013768878615226488016429782105743638882064810520870834459967701736118723530983273393053450345750649301368112819722415040263675055719407441211794851101259293673201935334548886841076688792081705582926198602482522195477945239106304306351796598380725412996771568404343209455878384327380401708763301361982122410296584741287067612514582451400169637446741469189790904501515144431177795697161964125665133261635533993954673408830364773717112752033809390728986404001005135968354289183675726943566046967059675173008238302661815184984898775645908905303195618397588593357622504489093552232091893322227184558354675310574530168058625880390027231822440404726861405503818118157538102880327537735225756847510640708661116601112790901478477737365644134884225535061844968701156483504208598063912263330526129117245923030592779890296750068751009511341540543560118642796334453932049211756947906551554143633791836390289105661508792231769130924844082520501959271450810337325305553814344325516106066422468539815921067168189109013266270113016168497736434031039154089447126556407149362629177412006591457469135330082247310998363585458260045315121934795444862863233574765268637291467293413320128013323651221859826887996780881849996984620778100121066757723445025987261099976538623951317739312010970314636445912210927678615032065150693312961575717200461603554840286064074107059365328833056100880089395731405209762604522761585828956623903194737950296414315181436374904215828364111106047998040158507340369774255335109746614608117678190863327206005194737246568332728243164264226666102892467434360069972876575347810802983167488395940417108502739898306226627287056513194708629133088675622126838439727518202481754304066273068065837434686848941018298795617402561562851540767012519501393954299574436264769205228281359163011783627344742441338840143697998829233056913431462309900171345206459831927239324825291660970786509823052689166108244348720186448611006228428891957477192667874123925666293412193617245007044506518440192469689411437755561605248903198168622481446982043650178866880696488441971221381866011831442921944854711140831396106003211773203776930106227454111338016759558521523701797504503684029944728661184427140065573866264619505765020440896827356544054838824961930126804810750169173410590101093647800604046036362820751525409088774775094621593690206287892225691269165701970916048612475964125348487134377596523854538094324034240964002771719510502769367009066585266991299901086220205473784811731268329146170897891148036509898206197140177028043601292209306478187275504614519335652529658358883686893345934002427366147852867989030058464069859642163873337028053681407700391574453489502509337233008306771190084922439713384790994486846881450218621316032736969044119387316423690577775807960539882949293375729822446498278707249182829948165250498919764185326237070280353007782768023581410172723184980178988187244618949002657626207587555738682662239824429537821611019733643517709220149949946164107526819656752638110017141507735330337304616311200637242885901000898121483302152864271614080240646100498040244490961402468500445772218965216700402709753049019402998834818710393865850487694222205205844692342086372415757197180880517792277937358100637810310371640484210173351949460068090903198916930969108009411578451825522917543508200028635345922 12946103294922102075108168309654183672542492534652267253130211240810421398060589881690456481521000331561225031409691133639039249608968249841189673028621844724065033283785992318888885230441364804250810724561104665125983040276914597187839035684247347719494479397929731560642925231238752409338488219701503624908882357487702801105312273153169428050590998733325494000687152161392137097049784105610243400866597097974957225779485160275234740382845726826284867877690069906191998626530478630441335276735038147545916491841330069827062906380990192104148089159192367192223702672619180607753481803894873211324800687967886078976845735591844315829879427042543591243348969096789551633919671575792711686426166748545877528171937090328979655155308229181354034670855567406698531166935674993148263711462778626942696434243896857773840522774194802142845903318043049060991079365566223257939377884542767955315743175892871009061815875631589132147418774570141890230621467309507708521511880764824153317770482788790823395087686983410925288478059952731771639718326874284898946412238485399654330909724230258380427077130913886634629979451825014451481517618598767506015853111314721885151965957864196904689326089763415098544076175677473271606766003866059683961370958302379026754809269450417186881692241807596964564619388604387489720617329006850800389374462441897724725880134256922530640224885186424719255780859017208880282276905141294573053668002140966686057171318233629627120805157108059247209761687408882317442636907095307524360246992979374377055487431091235781961705588059665089111682353481711046640698918248201732120582871212185024205971600971230899169920282917577156263211346221263041335490001718327002260115225027402056949934259265257920688285853124421343002661178652583003865320585681400914950296870747642514744383330664938555553541779582327534001872600995070469882524674248512013849489128514145441697492794262602047349314500887029452407378712884816192447752689469924280964069638682301482199734124981182920702008871790865376538727408613634180767429475673514347716980677126237179829908375160240289965747967488042394634979326598999899954689544209699468752356910349548529890487528029743673306704936238879538060369078288228123293906456982391276690897949537562193842994934834157984203495080321957416205370370859897562220421139062123169170013902530277215466411901742555356115293075107882013765263186137370659084837823500777844396294801469210475586099444038569680726427516403811991616033053971064462950828208933769521834058362888658042691308867220805349686798984495896797787916109199189352963029743134697760348692340253374622691734187689618886762349426543378275472837096202614743113741297851998201089168962773636362661718687682026121563932820748387795955888674171508063683109491036714516368075544195967975603119861642232398768855294921320024372215275239801722992948020979471367933105560453771737313323036902158953276761835450141440306013504868017270514206282769822355825597192911406367142744962840166580222613315155473769589506140327953606199781411668223188809691630947678335570280976130016326022412399919839558899481209031755436923163707649393424662480436790169757473863021223930866092517794468315300896682841045399899268078370574419357476531510326519773867039459664424567092607808081571998825094143813362876156168552843397732076286810106965429409606198889808126361402739887418578744775442954739681255548793634207948866947614270170347316184760386674744567065742367559504466395422819935594042135631392645142377419167847590398149123863503059658068257726329651637702105810517267618401329193479653304580061209188202740636183396980709222843380608255053456689219428830786252149387883300382592520639208852467013646234384774700657013803044790967297607801571582032142081083707486441706541653207729085549589502278517094696249587827949526158346721 20947235153050965135116856299377372147434176765470618153212223726339448587140299289616002932223787743587185195841990987517164553652702655658518634592096999473623116342896486215706636029965970217455744921593797270222650937827141066040664265338408800090860926424103511034269853064035313975420020774249980349043155655348704048573859724250437949718809756682107530744128443188845007070903844735075785288737538544977617313291007552583982207260742880616728014267659901900858235740302376187055729685198585632129305132855098948442289394397419974209891728041257177713094537132586882343872205334878146604378251033718535380344958555314259356093554482761951032455143820198048845307121606910341598527502855540627583111098135692811501850633253468287658341022652165787423944163707243397491473167341162954323098143007198219755962933070779543429913515832625500461160716812307692447730282386057912386493538873054835134726949137267123126102092183400506663947734219343317099250498284765829289286124771972466550338653733950470600461486298255393586824703225649930807851715434103797242924267346734747473979309222807208861814537806500325026011685677224647896043084933755126612013371461682315062227428970090952833769833023188113980267882604978850585439848695668023161639034804512262155582848725311805562628531651934913618837863252037443580279671212510648734237221674800482649283021219640356768467537806923760434425910696977684862159329510933198455188096162316150129080076607918396572515315501753207833548703329563847340281314161168483390321757544107404279698139619098819178558808909888860409269876330254793189589718201294432335204335186429490944485042217713022019126444920986531678626957295131647130273438876249261883837931040147107917672906631224542409760384623678570264965297124305352232689608881717957151190295541592617170585606930275640495577589801456674024722810738322619073214817961570246321786888525667811809953837262472858409031281907622766488862067870906299185179898002793407530197774283488523290476264206900611991146845086804497507973434670410760916049708920290501406496011267627674650035720844063390205437962494087395840371798046949597774978984197406061724599116661118419295433543375966397740542123382354501191359743891669240217709196745154964755405846475601170503704889034621531852470139576088178921383432922689467911611352742673975214295644958655986818425193246453088473597190425462195950745808610010600897085460909713559195772548055044798109618384993596479865739958720264476656568073215978276040274250832578069480446870472469708547855421465942878841438094976079885841405000964516563772180135262198229333832565583795622098535553203473484502926948434219374301635264999649502704773198907502297547088858753255892386183438585768828692783245218226346888645039617841525266537248954786069069250920465688268761589606820330408799147309896833491929280840246670740533635076476502384213277448385389293330873285689988235764340254468870788990024709052136831422410864184211307453362950436624978311490942461326371660737542650226159803339958439711824481018998109134953840184800311782545984381296086813185492901908575179608304912193766113463284304644310127197811155270721615505319582020303805548309203454031130322338981463161568906204357981728947835806604008503783811883516298385857379959364977093106738605978615051122104981259116758272215928329370384216045196641755747670186602326185615677924661434536980878826897869605240477757903054867422626499174104887353387293147984104642969885540206243158212301895015529184989098133479461168119370858705500612230652535823589112670131890015409434125753802620305700149605209136629169199674439543783318008102476092218263649496646015238370994604797726483901194553386061991581955581174806080982149067935418111943222516352254435656946509797444852124660054657598913856968920219167131336149554793692643 33893338447973067210225024609031555819976669300122885406342434967149869985200889171306459413744788075148410227251682121156203803261670905499708307620718844197688149626682478534595521260407335021706555646154901935348633978104055663228503301022656147810355405822033242594912778295274066384758508993951483973952038012836406849679171997403607377769400755415433024744815595350237144167953628840686028689604135642952574539070492712859216947643588607443012882145349971807050234366832854817497064961933623779675221624696429018269352300778410166314039817200449544905318239805206062951625687138773019815703051721686421459321804290906103671923433909804494623698492789294838396941041278486134310213929022289173460639270072783140481505788561697469012375693507733194122475330642918390639736878803941581265794577251095077529803455844974345572759419150668549522151796177873915705669660270600680341809282048947706143788765012898712258249510957970648554178355686652824807772010165530653442603895254761257373733741420933881525749964358208125358464421552524215706798127672589196897255177070965005854406386353721095496444517258325339477493203295823415402058938045069848497165337419546511966916755059854367932313909198865587251874648608844910269401219653970402188393844073962679342464540967119402527193151040539301108558480581044294380669045674952546458963101809057405179923246104826781487723318665940969314708187602118979435212997513074165141245267480549779756200881765026455819725077189162090150991340236659154864641561154147857767377244975198640061659845207158484267670491263370571455910575248502994921710301072506617359410306787400721843654962500630599175389656267207794719962447296849974132533554101276663940787865299412365838361192484348963752763045802331153268830617709986753147639905752465599665934678872257555726139148709857968029579462402451744494605335412571131087064307090084391763484381319930413857303151763359887861438660620507582681309820560376223466143967641475709012397508408469706211178273078691477367685572495418131688740864146084275263766689597416738586325919642787914940001468811551432600072941820686395740326487591159297243731341107755610254489604189148162968740248312205277278602492460642729314653650348651631494400094694692526949248841410435328487908384114943489268675509946948076483603854061751591080781366645204252429762056860398542174540486321560970487362453611599566609830646433511378741481755711182769671358647499083367790344812510000291857355991774235541119518901424912045562108309195466727523138179339690513897542220450438775639226011085279075194368030707651261532528827602451603956524299771485240985297902630016862778399785530421989044749006297501500905862367870275933909750577440937918507747371406517216488739133892397854952328149108878239782905324498982037044854040327330501160358462115251728823519525172073293652273788267650211901568182036956155950590771422291452284150047525438377204646267973738806260538915334906653778236461377122713820505695399465144891713555776481845430327048790554113409539739851380047669828689740082632175755081287912562310403708486733025051801389784211363741835357473762856708967124746917367568629133742839436185674538098273863610100136872175722238249541532143325561834513239274355580471047963448236450608906193938951958190071236920101482134783603965502713335403568379181357738976583105853323003158487557605181070961058632664342690085774513034846736552854747928250371052183013173918671953095754852652450500065789821134248378789604947037392948352836688531628585031622430516773758338560304173525694923187399508416738627605407107200366909337807949772812566180383662387163926263155932781437692480282898164626254294987390247123110047020399708225966730281831819884026940035233025913514804548494335519364432951503986505332389140207188416135486014915416719164099080952039364 54840573601024032345341880908408927967410846065593503559554658693489318572341188460922462345968575818735595423093673108673368356914373561158226942212815843671311265969578964750302157290373305239162300567748699205571284915931196729269167566361064947901216332246136753629182631359309380360178529768201464322995193668185110898253031721654045327488210512097540555488944038539082151238857473575761813978341674187930191852361500265443199154904331488059740896413009873707908470107135231004552794647132209411804526757551527966711641695175830140523931545241706722618412776937792945295497892473651166420081302755404956839666762846220363028016988392566445656153636609492887242248162885396475908741431877829801043750368208475951983356421815165756670716716159898981546419494350161788131210046145104535588892720258293297285766388915753889002672934983294049983312512990181608153399942656658592728302820922002541278515714150165835384351603141371155218126089905996141907022508450296482731890020026733723924072395154884352126211450656463518945289124778174146514649843106692994140179444417699753328385695576528304358259055064825664503504888973048063298102022978824975109178708881228827029144184029945320766083742222053701232142531213823760854841068349638425350032878878474941498047389692431208089821682692474214727396343833081737960948716887463195193200323483857887829206267324467138256190856472864729749134098299096664297372327024007363596433363642865929885280958372944852392240392690915297984540043566223002204922875315316341157699002519306044341357984826257303446229300173259431865180451578757788111300019273801049694614641973830212788140004718343621194516101188194326398589404591981621262806992977525925824625796339559473756034099115573506162523430426009723533795914834292105380329514634183556817124974413850172896724755640133608525157052203908418519328146150893750160279125051654638085271269845598225667256989025832746270469942528130349170171888431282522651323865644269116542595282691958229501654537285592089358832417582222629196714298816495036179816398517707239992821930910415589590037189655614822805510904314773791580698285638108895018710325305161671979088720850266582264173791688171675019144615842997230506013394240320871712109291439847491704654687886036498991613273149565021121145649523036255404987286984441058992392719387878227644057701819054528992965679568014058960959644037061762560576455043521979638567216620896328867131195554128165899963197503596771723095950494500017776086974640890321602382560028044797003585049812160222445397641916381654480664106061358961035773031672167825304708962864649833290356865355280863083833455833490347281326733964641363346384271297151003610635566777778231456839436194193810893930809992286045181522379110624201840973188726719765049442573453768106114104960793018769921948068935582137622666835068906785581554628514320952435203258513458540163868219807680745615023333215426612968986522442609595250563624387043485200647325561334021273868645836090123203204498237808217091064591440780273212879698291091872150847687849217586015939881599695108294785004573546210544703298359390972046747551239876319993271769057044565379784404464454941505256558402079411919303590903306044577231004693712231766192494968222191387075056467232048334125204579796331917555048330026840088113398655087607694594520326651397286068346967321898519644914235227791783397146674310589004124622755391861744606158095225686153425919605639673092776840449142145800434604708759706674454621947817248932408477537825786665108046199741801375479258950790956709349284035857531398432148061731160909820672609487413158909441735380058101930947244271258408873655956129779544179864625289592187973607011241573785770217548685863006625965009089103168444025458027064846589955021379461301431357457049194864787329992454935134583850500248635745732007 88733912048997099555566905517440483787387515365716388965897093660639188557542077632228921759713363893884005650345355229829572160176044466657935249833534687868999415596261443284897678550780640260868856213903601140919918894035252392497670867383721095711571738068169996224095409654583446744937038762152948296947231681021517747932203719057652705257611267512973580233759633889319295406811102416447842667945809830882766391431992978302416102547920095502753778558359845514958704473968085822049859609065833191479748382247956984980993995954240306837971362442156267523731016742999008247123579612424186235784354477091378298988567137126466699940422302370940279852129398787725639189204163882610218955360900118974504389638281259092464862210376863225683092409667632175668894824993080178770946924949046116854687297509388374815569844760728234575432354133962599505464309168055523859069602927259273070112102970950247422304479163064547642601114099341803772304445592648966714794518615827136174493915281494981297806136575818233651961415014671644303753546330698362221447970779282191037434621488664759182792081930249399854703572323151003980998092268871478700160961023894823606344046300775338996060939089799688698397651420919288484017179822668671124242288003608827538426722952437620840511930659550610617014833733013515835954824414126032341617762562415741652163425292915293009129513429293919743914175138805699063842285901215643732585324537081528737678631123415709641481840137971308211965469880077388135531383802882157069564436469464198925076247494504684403017830033415787713899791436630003321091026827260783033010320346307667054024948761230934631794967218974220369905757455402121118551851888831595395340547078802589765413661638971839594395291599922469915286476228340876802626532544278858527969420386649156483059653286107728622863904349991576554736514606360163013933481563464881247343432141739029848755651165528639524560140789192634131908603148637931851481708991658746117467833285744825554992791100427935712832810364283566726517990077640760885455162962579311443583088115123978579147850553203504530038658467166255405583846135460187321024773229268192262441666412917282233578325039414745232914040000376952297747108303639959820667044588972503206509386134540018653903529296471827479521657264508510389821159469984331888591141046192650073174086033082480073819758679453071167506165889575029448322097648661329170407101477033358380048972332079098538489843053211533690308010013597063580451942268735558895605876065802367164490869223511524526723229151850736342939862366820430119890117146638036230141062379819086837237790467101437246881165126766104069131358463507210059726519495063352391133277594652504516497934648054165366590013635131729401678181398803261670261513003022056793301337835598004832347897952750143158959001120349271082306531050833866446186360240980079233828416781971164336771440550414696114458991229972197899173380740864990173632790416348401511102539721950138978883786938456735094374341235555268094918054014290062521391640231334386622419438142471919820676377589300218191694962887607670605188713060279235596504688143602335788582908713639176702238893803961932948413538207294377690931096500353275529403727775481766815480546225855557328027008207496546967546104430680284784734110773735283875745119566946941570248182259053110407929923895030578643807323550427751842648072722785396964468107732943253346814708529904896591342710949973614403796971788652847011448793544896998452885104774549527808703000737422195969801425890662475196736631231364231892253017289351260882874978959044930906848886689336568017021039518825221108682254301560441764318111170534414341655093648610062442344490879584579578220730121288594185478443515416144838445849036029138401469938972831613340925474385812412805417862789438335071975746127940950050000569664347716697771371 143574485650021131900908786425849411754798361431309892525451752354128507129883266093151384105681939712619601073439028338502940517090418027816162192046350531540310681565840408035199835841153945500031156781652300346491203809966449121766838433744786043612788070314306749853278041013892827105115568530354412619942425349206628646185235440711698032745821779610514135722703672428401446645668575992209656646287484018812958243793493243745615257452251583562494674971369719222867174581103316826602654256198042603284275139799484951692635691130070447361902907683862990142143793680791953542621472086075352655865657232496335138655329983346829727957410694937385936005766008280612881437367049279086127696792777948775548140006489735044448218632192028982353809125827531157215314319343241966902156971094150652443580017767681672101336233676482123578105289117256649488776822158237132012469545583917865798414923892952788700820193313230383026952717240712958990430535498645108621817027066123618906383935308228705221878531730702585778172865671135163249042671108872508736097813885975185177614065906364512511177777506777704212962627387976668484502981241919541998262984002719798715522755182004166025205123119745009464481393642972989716159711036492431979083356353247252888459601830912562338559320351981818706836516425487730563351168247207770302566479449878936845363748776773180838335780753761058000105031611670428812976384200312308029957651561088892334111994766281639526762798510916160604205862570992686120071427369105159274487311784780540082775250013810728744375814859673091160129091609889435186271478406018571144310339620108716748639590735061147419934971937317841564421858643596447517141256480813216658147540056328515590039457978531313350429390715495976077809906654350600336422447378570963908298935020832713300184627699957901519588659990125185079893566810268581533261627714358631407622557193393667934026921011126865191817129815025380402378545676768281021653597422941268768791698930013942097588073792386165214487347649875656085350407659863390082169461779074347623399486632831218571969781463619094120075848122781078211094750450233978901723058867377087281151991718078954212667045889681327497087831688548627316891724146637190326680438829293374918618677574387510358558217182508326471134930414073531510966808993020587293578428030633709065566805420960707717877460498507600160471845457589088409281741685723091730983556520555338018616188952975427405621038607339699590271207517193835303547892763235576671692850706692688766873429251556321530308278964010958788337504283202084600554223207996997265914094051986912141946753331751270537238030482046967152964814296997557341053253459704715737517548891803508127133501425832396823429449829325540295608991391089306851783892113646258634274526562317769881790471406518249273063961913368041004254599986416004068853195309886864815383045296292116771974699063873236278327211037652943514196713956291603142619312858957996761666164108993624179531112499790756368242987071645391298122552252098279612456231672114659835299136433563791971524065438517804207634844487302778899973717633825446141207986502993307835330459953515496695510662861006498328197942671749319196187654902432687448707318678787811392711550919567789094219503175718738354621160897912333118859315353531615793300167896973781658361580914140718102524444221681975929875670517749650362292986958013188747865254407253842350939331285296758335948869045199300557222891394292520104225633994039144253319709483309234483157622685239444902209903428488261861844677431106033267732276240142217592224262994902462305281034751067728926841712128312634267591696036940499866249058414805672750528749604739841986524355504874171766194337132530167971248661064102007845071814045118241569913964430858678187515429407191874106849220246487529936763076120395885184584420164596352443503378 232308397699018231456475691943289895542185876797026281491348846014767695687425343725380305865395303606503606723784383568332512677266462494474097441879885219409310097162101851320097514391934585760900012995555901487411122704001701514264509301128507139324359808382476746077373450668476273850052607292507360916889657030228146394117439159769350738003433047123487715956463306317720742052479678408657499314233293849695724635225486222048031360000171679065248453529729564737825879055071402648652513865263875794764023522047441936673629687084310754199874270126019257665874810423790961789745051698499538891650011709587713437643897120473296427897832997308326215857895407068338520626571213161696346652153678067750052529644770994136913080842568892208036901535495163332884209144336322145673103896043196769298267315277070046916906078437210358153537643251219248994241131326292655871539148511177138868527026863903036123124672476294930669553831340054762762734981091294075336611545681950755080877850589723686519684668306520819430134280685806807552796217439570870957545784665257376215048687395029271693969859437027104067666199711127672465501073510791020698423945026614622321866801482779505021266062209544698162879045063892278200176890859161103103325644356856080426886324783350183179071251011532429323851350158501246399305992661333802644184242012294678497527174069688473847465294183054977744019206750476127876818670101527951762542976098170421071790625889697349168244638648887468816171332451070074255602811171987316344051748254244739007851497508315413147393644893088878874028883046519438507362505233279354177320659966416383802664539496292082051729939156292061934327616098998568635693108369644812053488087135131105355453119617503152944824682315418445993096382882691477139048979922849822436268355407481869783244280986065630142452564340116761634630081416628744547195109277823512654965989335132697782782572176655504716377270604218014534287148825406212873135306414600014886259532215758767652580864892814100927320158014159222811868397737504150967624624741653659066982574747955197151117632016822598650114506589947333616678596585694166222747832096645279543593658130996236446245370929096072730001871688925579614638832450277150147347483418265878125128063708927529012461746478980153950656587678582041900787968463004919182169569076826359138740891454043187791697219177960671327978011347164117857603839334384420901390657997588696398665161285054525944110881660551233280579217530790898883999835031971135567298726772495055931364298475067846057031508115861695131277366650022514720444340354635033496055156431805998979184543798852707784119195608813071222096172760504767400779772954768068128650826486456012643631436073886562190019463464457269697287172789892568522045405116668315427575864397915774714138369359268392432022963033717312086561131037249870515039555550866944049211462078263281108746139614287932392786202267625141413370094697156593316252103275306398272768703830943763158414899438247491462617328307200659393040606266388342133847871903449046457718574576035711792200443027818022399329807374910449505162430694104681737712674646595643623913368667154673397749556664968431276611480879043696887118751402785962978111046454269578208192097145423346422246511383215285322167265328592617903593426127266899669045287463920723228609763173193828510454368116712554573682994068177402204941059680798585712333362140197095697754039815201654927291579995172914961019863182945367115674427538936142706204814257858762291860623422661640872011329319150737058581308662470265159985293529493478475099241953947393212129921440404296943862751647137855376273950338500941630567169585340087092183843253349904428868846384458751344415067253818762156727104579518152683517663081147379971383903403690291528440903793004286912267083035925865008738822248336835234584989828944069141274749 375882883349039363357384478369139307296984238228336174016800598368896202817308609818531689971077243319123207797223411906835453194356880522290259633926235750949620778727942259355297350233088531260931169777208201833902326513968150636031347734873293182937147878696783495930651491682369100955168175822861773536832082379434775040302674600481048770749254826734001851679166978746122188698148254400867155960520777868508682879018979465793646617452423262627743128501099283960693053636174719475255168121461918398048298661846926888366265378214381201561777177809882247808018604104582915332366523784574891547515668942084048576299227103820126155855243692245712151863661415348951402063938262440782474348946456016525600669651260729181361299474760921190390710661322694490099523463679564112575260867137347421741847333044751719018242312113692481731642932368475898483017953484529787884008694095095004666941950756855824823944865789525313696506548580767721753165516589939183958428572748074373987261785897952391741563200037223405208307146356941970801838888548443379693643598551232561392662753301393784205147636943804808280628827099104340950004054752710562696686929029334421037389556664783671046471185329289707627360438706865267916336601895653535082409000710103333315345926614262745517630571363514248030687866583988976962657160908541572946750721462173615342890922846461654685801074936816035744124238362146556689795054301840259792500627659259313405902620655978988695007437159803629420377195022062760375674238541092475618539060039025279090626747522126141891769459752761970034157974656408873693633983639297925321630999586525100551304130231353229471664911093609903498749474742595016152834364850458028711635627191459620945492577596034466295254073030914422070906289537042077475471427301420786344567290428314583083428908686023531662041224330241946714523648226897326080456736992182144062588546528526365716809493187782369908194400419243394936665694502174493894788903837541283655051231145772709750168938685200266141807505664034878897218805397367541049794086520728006690382061380786415723087413480441692770190354712728411827773347035928145124470890964022366824745649849075190658912416818777400227089703377474206931530556596914340474027922247559253043746741283315039371019963661488480421791518092655573411754777456025506475747997107460068204307696875003895509574679676468271488449856804753206266885581020107512632374214518144034417281350238029953349731920267890932870850425047984734187547727795206712238991577479187744698237727726624167587339787079872653919614870933224599320998563562632030761969250483792911121131297130603978321357226090860038375060987057502324741833026414472783866168375378259520770764937499718959013448913293782809992896164180981875373829297230314574061850390960233544595928840765786641705086924947085353090815731023665874583892750860753808864594507374555397880720838678161168671113413305278084927566808653448196458871416134264395034434867939937387337946011938038247830860315378846050691163158518486621746304103575563706293017711009599503763724508466335826606964651862213228405136148327930127878920661149588951459243828620670170093260219525974929604809423550793016083306406305218650426818365133057389600903648064991135516466014558934023676788426226504951022452741480798515462345455360894504886971344087334546612978812338394530503558664585927052567234046638811774460198616547450938048693371100498413263240449040372215518242754577237887219900061532975286959524523741167996775018246107901085774221232747638998920425986093576298427717569769635696067323504948849855517410956191472025870704463775450489643865646375441441496816228000145759842712592858089746415393201889332923110609404386348930127975765643620160528589477126265621541297867834548969715956333200196161019116303282413394945501898368732720419169409993540421584778127 608191281048057594813860170312429202839170115025362455508149444383663898504733953543911995836472546925626814521007795475167965871623343016764357075806120970358930875890044110675394864625023117021831182772764103321313449217969852150295857036001800322261507687079260242008024942350845374805220783115369134453721739409662921434420113760250399508752687873857489567635630285063842930750627932809524655274754071718204407514244465687841677977452594941692991582030828848698518932691246122123907681986725794192812322183894368825039895065298691955761651447935901505473893414528373877122111575483074430439165680651671762013943124224293422583753076689554038367721556822417289922690509475602478821001100134084275653199296031723318274380317329813398427612196817857822983732608015886258248364763180544191040114648321821765935148390550902839885180575619695147477259084810822443755547842606272143535468977620758860947069538265820244366060379920822484515900497681233259295040118430025129068139636487676078261247868343744224638441427042748778354635105988014250651189383216489937607711440696423055899117496380831912348295026810232013415505128263501583395110874055949043359256358147563176067737247538834405790239483770757546116513492754814638185734645066959413742232251397612928696701822375046677354539216742490223361963153569875375590934963474468293840418096916150128533266369119871013488143445112622684566613724403368211555043603757429734477693246545676337863252075808691098236548527473132834631277049713079791962590808293270018098478245030441555039163104645850848908186857702928312200996488872577279498951659552941484353968669727645311523394850249901965433077090841593584788527473220102840765123714326590726300945697213537619240078755346332868064002672419733554614520407224270608780835645835796452866673189672089161804493788670358708349153729643526070627651846270005656717554535863659063499592065364437874624571671023461409470952843327580706767924210252141298541310763361531477402749803578014367069127663678194101709087203134871692017418711262381665757364636128741612874205045497264291420304861302675745444451943621622311347218723060667646368339307980071427105157787747873472957091575066399786546169389047191490621375405665825131168874804992242568383481710140468634372448105771237615312542745919030425657917566184286427343048588329047083301271898854428942816427868151917324124489420354491933533764872515732730815946511523084479293842801928442166151429642578775633071547562827177847806290304251682800629602026201692013644371295195734349050892237583247114041442903917267064258024406915598910100315840929456686105476421699673109597157159818007092142612799369240851994819201864715533414396373573605521203468376758240079690183336970874443895874702346982889489426255358149319310067210125055034137109887980802665177376862060915745098932306411620752913805969452818678989466978292449101063899615572903226340936903350604789775123519409570793307203571770881150496360911376285739293477643686046710084203764784874963880151975479012752750736285585635215555924951494153849006294459237123677910298579022034809616633335796184595083157197287824843491009776190943360881420904429836712970425157708004613404929411587326967809095745210414481938712525942149308998955691555097568926046167608065415131390742824815228115581107260528375123433180455107085077241658654104454772175106319610360172531978687648033746447410915700068190532029035545130479262617760183254335574489071911429665729337999026759066878869530562726646232562066789735979007294756046563587702863299129174542422746902797248729540877631876322814567215422588345020139596713942383127383397585485846934896436111439650844262048273791674455024471640167692284702870223138313212107140207413001512681771238239261244397236993200447931383386318339259954240720617069555653754399822484490726052876 984074164397096958171244648681568510136154353253698629524950042752560101322042563362443685807549790244750022318231207382003419065980223539054616709732356721308551654617986370030692214858111648282762352549972305155215775731938002786327204770875093505198655565776043737938676434033214475760388958938230907990553821789097696474722788360731448279501942700591491419314797263809965119448776187210391811235274849586713090393263445153635324594905018204320734710531928132659211986327420841599162850108187712590860620845741295713406160443513073157323428625745783753281912018632956792454478099267649321986681349593755810590242351328113548739608320381799750519585218237766241324754447738043261295350046590100801253868947292452499635679792090734588818322858140552313083256071695450370823625630317891612781961981366573484953390702664595321616823507988171045960277038295352231639556536701367148202410928377614685771014404055345558062566928501590206269066014271172443253468691178099503055401422385628470002811068380967629846748573399690749156473994536457630344832981767722499000374193997816840104265133324636720628923853909336354365509183016212146091797803085283464396645914812346847114208432868124113417599922477622814032850094650468173268143645777062747057578178011875674214332393738560925385227083326479200324620314478416948537685684936641909183309019762611783219067444056687049232267683474769241256408778705208471347544231416689047883595867201655326558259512968494727656925722495195595006951288254172267581129868332295297189104992552567696930932564398612818942344832359337185894630472511875204820582659139466584905272799958998540995059761343511868931826565584188600941361838070560869476759341518050347246438274809572085535332828377247290134908961956775632089991834525691395125402936264111035950102098358112693466535013000600655063677377870423396708108583262187800780143082392185429216401558552220244532766071442704804407618537829755200662713114089682582196361994507304187152918742263214633210935169342228980606306008532239233067212797783109672447746697509528028597292458977705984190495216015404157272225290657550456471689614024690013193084957829146617764070204566650873184181278443873993477699945644105831095403327913384384212621546275557607754501673801957114794239623863893188724297523375055932133665563291746495547356285204050978810846578530897214304877724956670530391375001374599446166139087033876765233227861761114432643574722196333099022280067626760367259095290622384560045281881730870545327839753928316181231711082275607002970507108516471713362441467479899095019993657399391821221447138060060664426833647790533147972218146875509416884445825783713635860987577242975054185161311073324480216917290052022889683079501151856319269703999577297463551276646318382863905996050890841675842196812927888018268192593084581619682825057272374561778400476827374076870187816970610269735013028878181311268503712004052986233994935543835188341638439710818537834306923314323987124337959064892760775366923303361585626456079054576459043753996595234719319649459960489675613259111099336906315434727349964937495553996945773546542401025908495013584269995716918290486230327980629729053731564013223263831747776720384357409999393275405617455178540501083332675744117781602519948498909088863930593736198185709733002552451347862921736411992793501615580800323240031507339409152958422134632730595235098971795140782016198481453772478075917345997505372337421141555474550604886716625253861740194755841897115638463812420453794814428734899433280849622862015420433068764870609746251851647104246951833823348348685271679198038834664005243089383824624199625585631606777609028969529397259655250163124597565633876026516622412678635866758473740696617333678623053979639072788230960353570193396608950499689600752654899742618985802276072923809816024912310831003 1592265445445154552985104818993997712975324468279061085033099487136223999826776516906355681644022337170376836839239002857171384937603566555818973785538477691667482530508030480706087079483134765304593535322736408476529224949907854936623061806876893827460163252855303979946701376384059850565609742053600042444275561198760617909142902120981847788254630574448980986950427548873808050199404120019916466510028921304917497907507910841477002572357613146013726292562756981357730919018666963723070532094913506783672943029635664538446055508811765113085080073681685258755805433161330669576589674750723752425847030245427572604185475552406971323361397071353788887306775060183531247444957213645740116351146724185076907068243324175817910060109420547987245935054958410136066988679711336629071990393498435803822076629688395250888539093215498161502004083607866193437536123106174675395104379307639291737879905998373546718083942321165802428627308422412690784966511952405702548508809608124632123541058873304548264058936724711854485190000442439527511109100524471880996022364984212436608085634694239896003382629705468632977218880719568367781014311279713729486908677141232507755902272959910023181945680406958519207839406248380360149363587405282811453878290844022160799810429409488602911034216113607602739766300068969423686583468048292324128620648411110203023727116678761911752333813176558062720411128587391925823022503108576682902587835174118782361289113747331664421511588777185825893474249968328429638228337967252059543720676625565315287583237583009251970095669044463667850531690062265498095626961384452484319534318692408069259241469686643852518454611593413834364903656425782185729889311290663710241883055844641073547383972023109704775411583723580158198911634376509186704512241749962003906238582099907488816775288030201855271028801670959363412831107513949467335760429532193457497697618255844492715993623916658119157337742466166213878571381157335907430637324341823880737672757868835664555668545841229000280062833020423082315393211667110925084631509045491338205111333638269641471497504474970275610800077318079902716677234279172767818908337085357659561424265809218044869227992314524346141272853510273780023869334691297321716778733579209515381496351267800176137983383942425749166687729635130804036840269294086357791583129476032922890404873533098062112118477385326157121305593108587854515864421729091379699903959549609496049174373284198911937417524124775265173709710205536000330642853449562407851572185982553345957441780130008194876082377471341352021399346099718827403884371397166159278018064314990731321762978989517350532310069490206257569375306693516509027058625152954487855806779107690587599557684646930001420385666810262969373262838122730763165578701924280353040702901676532183216063261015896709979306700908690683445569455145497364781757363683995314692206446280192755859654795263059370798912644451084537609440615354657776009118454953405981648842011481699688330667834690609726417815602750939470859570688088236549506608054533589211794490282180869934875574411454643524619553570336460584225733306371999747112187332741958141625558223196319857075279771907861651367651232410466442024156721721227877236677188307711325219095138485820099393891066443232641674699809336700088874545076696929345725126941010524961118133558608391296859845173248608700658041981894135962111584259278032494805262573922747005541588192931898549644304507111462476476767990097604395891049039676798146290983199739221514908775985169026539066686356881218470878440575605669425603123296367894045152168998754444352976492711455224671499838894620627179684144839803326207751583023171117453712505465080969048103917298436916272020658347666684314697381506089896786952803757541091624566661410311027492204750807186597056881883075919091914853983339602871831726678209638509403036883879 2576339609842251511156349467675566223111478821532759714558049529888784101148819080268799367451572127415126859157470210239174804003583790094873590495270834412976034185126016850736779294341246413587355887872708713631745000681845857722950266577751987332658818818631347717885377810417274326325998700991830950434829382987858314383865690481713296067756573275040472406265224812683773169648180307230308277745303770891630588300771355995112327167262631350334461003094685114016942905346087805322233382203101219374533563875376960251852215952324838270408508699427469012037717451794287462031067774018373074412528379839183383194427826880520520062969717453153539406891993297949772572199404951689001411701193314285878160937190616628317545739901511282576064257913098962449150244751406786999895616023816327416604038611054968735841929795880093483118827591596037239397813161401526907034660916009006439940290834375988232489098346376511360491194236924002897054032526223578145801977500786224135178942481258933018266870005105679484331938573842130276667583095060929511340855346751934935608459828692056736107647763030105353606142734628904722146523494295925875578706480226515972152548187772256870296154113275082632625439328726003174182213682055750984722021936621084907857388607421364277125366609852168528124993383395448624011203782526709272666306333347752112207036136441373694971401257233245111952678812062161167079431281813785154250132066590807830244884980948986990979771101745680553550399972463524024645179626221424327124850544957860612476688230135576948901028233443076486792876522421602683990257433896327689140116977831874654164514269645642393513514372936925703296730222009970786671251149361224579718642397362691420793822246832681790310744412100827448333820596333284818794504076275653399031641518364018524766877386388314548737563814671560018476508485384372864043869012794381258277840700648029921932395182468878363690103813908871018286189918987091108093350438431506462934034752376139851708587288104443633490998002362652062921699220199350158151844306828601010652858031147797670068789963452676259801295293333484059988902524936723224290597951110047672754509223638364662633298196881175219325454131954147773501569280335403152812182061492593899594117897543357783892485057744382863960927353499023992761137792669142289925248692767779418437761158737149040922965055916223371426183318065258384907239423103690825866043046583486261282402235045313344580992246321108364195989777832296367589738144071946967896854067713423891285281534058324376107793459746948354991906454616190540766325838877065254298011721714382552543210117049578014959143717280739405541593453569025925911504450936668123716794356350665641784718995720254481637302956862285859056342339274587082435282701501577816591979547994915047122059311906738385821503513836578701713762048230078984464582420956369876470606923107566832729842612233669640533925673329265848877944327358710762243113390497241169990480451192518226164974758004933713542153561815832231634937611391598135133064133588165670838244278776104654195223871415133200232812681435797490541168033721964684607741329687731688167959249104814870659549767624779941853881560391096171077888285734451141068424965028095682629094531761225716849069606944315974350443927118302608823043985785793276318863139196234694120686009956254218596257166042110316238842305134167469450993412236454629437993169157845977336728974948097031098076985187379822474273362435025537446523590281684862916237061479416270750673100807490351487140151695647205777873856455292287618543729436658915761915250606091457223444545278573020185110573818666014348150082892710032375782648756749060490114494050498445363572548600040869586292223693200937110060141956655260693500374874770247620641049383815723165104377379993665832382765519844569753725958588674107799602019454534315347714882 4168605055287406064141454286669563936086803289811820799591149017025008100975595597175155049095594464585503695996709213096346188941187356650692564280809312104643516715634047331442866373824381178891949423195445122108274225631753712659573328384628881160118982071486651697832079186801334176891608443045430992879104944186618932293008592602695143856011203849489453393215652361557581219847584427250224744255332692196548086208279266836589329739620244496348187295657442095374673824364754769045303914298014726158206506905012624790298271461136603383493588773109154270793522884955618131607657448769096826838375410084610955798613302432927491386331114524507328294198768358133303819644362165334741528052340038470955068005433940804135455800010931830563310192968057372585217233431118123628967606417314763220426115240743363986730468889095591644620831675203903432835349284507701582429765295316645731678170740374361779207182288697677162919821545346415587838999038175983848350486310394348767302483540132237566530928941830391338817128574284569804178692195585401392336877711736147372216545463386296632111030392735573986583361615348473089927537805575639605065615157367748479908450460732166893478099793682041151833278734974383534331577269461033796175900227465107068657199036830852880036400825965776130864759683464418047697787250575001596794926981758862315230763253120135606723735070409803174673089940649553092902453784922361837152719901764926612606174094696318655401282690522866379443874222431852454283407964188676386668571221583425927764271467718586200871123902487540154643408212483868182085884395280780173459651296524282723423755739332286246031968984530339537661633878435752972401140460651888289960525453207332494341206218855791495086155995824407606532732230709794005499016318025615402937880100463926013583652674418516404008592616342519381889339592898322331379629442326574715775538318903874414648388806385536482847441556375037232164761300144427015523987762773330343671707510244975516264255833945672633771060835383075145237092431866461083236475815874092348857969364786067311540287467927646535412095370651563962705579759215895992109506288195405332315933489447582707502526189195699565466726985464421553525438615026700474528960795071803414975614248811157960030468441686808613127615083134154796797978061963228647716831822243812341328166032270247103035083533301549528547488911173846239423103844832782205565947006133095757331576608329512256518409770445883629369699488037832367920380997521509375748426253695977237242723314188332570983875837218289707013305800715909368170210210274231413576029786029373283864973096039095365491453786770945663110968760262542434938563076089622611572601135458356229384276680367184483057688623672548828429605177397317845600861403425858169632682449671447230338122572922635095800810214745269385159331503375576349246339784640365191162813369387759588589497407496729011332838317780350386487384942713368538252231845450647151639322462674217914495642592695543439959969164566771702494508299479834684639672188121754882632734560956974589070798282869776724852366251772258074766901340093964431719928662429689829793517472301134727734829539532641593221532792801562613102045007455679018305102153335807007848189670247045816242960673387548616025143736455002697697589062482722622043990080206759655238819568564645515456102339290719016896884287028303431562577671514487124243255743080592982878317167879995580742381492298842298951041352532629933337572629958483009207220261218637785659449085976516890553826508576865676656314432060961713221667025804552960914084249360535810199937256733797691684949468439293194032294922696036240127365671927866514202619959131467493467489847036957141606950571359885251807441648046552047646304132415861872187302459694843215369855184566590722714265841438936484607709298191545939526280229093043718384598761 6744944665129657575297803754345130159198282111344580514149198546913792202124414677443954416547166592000630555154179423335520992944771146745566154776080146517619550900760064182179645668165627592479305311068153835740019226313599570382523594962380868492777800890117999415717456997218608503217607144037261943313934327174477246676874283084408439923767777124529925799480877174241354389495764734480533022000636463088178674509050622831701656906882875846682648298752127209391616729710842574367537296501115945532740070780389585042150487413461441653902097472536623282831240336749905593638725222787469901250903789923794338993041129313448011449300831977660867701090761656083076391843767117023742939753533352756833228942624557432453001539912443113139374450881156335034367478182524910628863222441131090637030153851798332722572398684975685127739659266799940672233162445909228489464426211325652171618461574750350011696280635074188523411015782270418484893031564399561994152463811180572902481426021391170584797798946936070823149067148126700080846275290646330903677733058488082307825005292078353368218678155765679340189504349977377812074061299871565480644321637594264452060998648504423763774253906957123784458718063700386708513790951516784780897922164086191976514587644252217157161767435817944658989753066859866671708991033101710869461233315106614427437799389561509301695136327643048286625768752711714259981885066736146991402851968355734442851059075645305646381053792268546932994274194895376478928587590410100713793421766541286540240959697854163149772152135930616641436284734905470866076141829177107862599768274356157377588270008977928639545483357467265240958364100445723759072391610013112869679167850570023915135028465688473285396900407925235054866552827043078824293520394301268801969521618827944538350530060806830952746156431014079400365848078282695195423498455120955974053379019551904336580783988854414846537545370283908250450951219131518123617338201204836806605742262621115367972843122050116267262058837745727208158791652065811241388320122702693359510827395933864981609077431380322795213390663985048022694482284152619216400104239305453005070442713085947370135824386076874784792181117418569327027007895362103627341142856564397314569732146354515743922953499431191477088542436633178789559115854632370937642080515011591759765927191007396143958048589217772899973672229239104624330343267936473031431990052716582018613978843374825601099402016766991993565689265870128735510119141593456343645280321409401128528004848246656947091669296965238062005212255332099908936536049151296667874041507743755836408183213088673380450597504051685068652562213831568360850067527026290735289395491809021871168995676087438964694991580534834687485947516671904928036144104927435986224661997666362277460181884829373481622313728581848086873093551605655333710922205596735067633420292495326421319340019730398651866763991109616235365329270072079300495345235947888321629802913866736140660617350700477153502122726382603934129445910871432819772736321709920553470978839733079243266022154284909925085178933208055565308069373815929116327669992117421517961476721405949598394379307157421535075414353192658784179933293190130159373527118363902690477284202008271533092030280331864590375587663573305306520633048268515898362853219402994349359505578520899734052359505332829333135726592162470901013571083750941753681248912238438960215046142828092611840458477486222121425314714967655470784096220240167872123457322698054056410122186784007242040966660272512882434188288516254000840210755241211876675999499966627267423381802012370711870060042257959208380445005588746272503148320684615574692734453181965938831062395636998011193242795053086188917501790003207308339804507290632119807943509078658938534959561946584388546648606958781054361435256780220047325882248547578033732313643 10913549720417063639439258041014694095285085401156401313740347563938800303100010274619109465642761056586134251150888636431867181885958503396258719056889458622263067616394111513622512041990008771371254734263598957848293451945353283042096923347009749652896782961604651113549536184019942680109215587082692936193039271361096178969882875687103583779778980974019379192696529535798935609343349161730757766255969155284726760717329889668290986646503120343030835594409569304766290554075597343412841210799130671690946577685402209832448758874598045037395686245645777553624763221705523725246382671556566728089279200008405294791654431746375502835631946502168195995289530014216380211488129282358484467805873391227788296948058498236588457339923374943702684643849213707619584711613643034257830828858445853857456269092541696709302867574071276772360490942003844105068511730416930071894191506642297903296632315124711790903462923771865686330837327616834072732030602575545842502950121574921669783909561523408151328727888766462161966195722411269885024967486231732296014610770224229680041550755464650000329708548501253326772865965325850902001599105447205085709936794962012931969449109236590657252353700639164936291996798674770242845368220977818577073822391551299045171786681083070037198168261783720789854512750324284719406778283676712466256160296865476742668562642681644908418871398052851461298858693361267352884338851658508828555571870120661055457233170341624301782336482791413312438148417327228933211995554598777100461992988124712468005231165572749350643276038418156796079692947389339048162026224457888036059419570880440101012025748310214885577452341997604778619997978881476731473532070665001159639693303777356409476234684544264780483056403749642661399285057752872829792536712326884204907401719291870551934182735225347356754749047356598782255187671181017526803127897447530689828917338455778751229172795239951329384986926658945482615712519275945139141325963978167150277449772866090884237098955995788901033119673128802353395884083932272324624795938576785708368796760719932293149364899307969330625486034636611985400062043368515208509610527500858337386376202533530077638350575272574350258908102882990880552446510388804101870103651636200729545346395165673703953421941118000090216157519767333586357093916595599585358912337255404101094093223277643246993132122519322428521161140412950863753447112769255236997937058849677775945555451704337857617811787212875622935388753907961103430500139114965719393706575105378365770728162434989518075545134183527769018518056048009277106746259425528081450071293773129120273156309127768745942051290822630731763530974094110795788630603115913346861996627267378100553272356454623447752680204207383515915552694069222773637005508353294155857344447337809507798304457752008577423123943327117472032425054981231682957261990237100258796233661883086009908837427227127663199602308889966621852714212785447838747577081398535473269125376540954055156259943396020593462091890949375636623954210351267504412408509831675436103713400690053832336820437154686649937545184980313640074970713909893548047598654547111347754994193707084326129208846690063128296947145994221397281978300645809177678629271699709698325473872255317349334990953719413206400731400028308004218222110751238520406843299609754004598325147085545249508461844623548350032610879190774332576148755265428877924504655319031943093363310708088192582839969785064420376356067500285404121668850198650881330677583916691842069571272760524132594793168849378559090502720577215714061877781045764837590083749327163077623319058746168403555009510697252402412739928284782512630513992612482088895354412313433432298552242673955152800193366412971440724943438049759355986108639706493991995245968773502153904814746513175111260914448397717538969144554971765986852162477640621752116912404 17658494385546721214737061795359824254483367512500981827889546110852592505224424952063063882189927648586764806305068059767388174830729650141824873832969605139882618517154175695802157710155636363850560045331752793588312678258952853424620518309390618145674583851722650529266993181238551183326822731119954879506973598535573425646757158771512023703546758098549304992177406710040289998839113896211290788256605618372905435226380512499992643553385996189713483893161696514157907283786439917780378507300246617223686648465791794874599246288059486691297783718182400836456003558455429318885107894344036629340182989932199633784695561059823514284932778479829063696380291670299456603331896399382227407559406743984621525890683055669041458879835818056842059094730370042653952189796167944886694051299576944494486422944340029431875266259046961900100150208803784777301674176326158561358617717967950074915093889875061802599743558846054209741853109887252557625062166975107836655413932755494572265335582914578736126526835702532985115262870537969965871242776878063199692343828712311987866556047543003368548386704266932666962370315303228714075660405318770566354258432556277384030447757741014421026607607596288720750714862375156951359159172494603357971744555637491021686374325335287194359935697601665448844265817184151391115769316778423335717393611972091170106362032243154210114007725695899747924627446072981612866223918394655819958423838476395498308292245986929948163390275059960245432422612222605412140583145008877814255414754665999008246190863426912500415428174348773437515977682294809914238168053634995898659187845236597478600295757288143525122935699464870019578362079327200490545923680678114029318861154347380324611263150232738065879956811674877716265837884795951654086057106628153006876923338119815090284712796032178309500905478370678182621035749463712722226626352568486663882296358007683087809956784094366175922532296942853733066663738407463262758664165183003956883192035487206252209942078045905168295178510874529561554675735998083566013116061279479067879624156653797274758442330688292125838876698621660008094544327521134424909714766806311342456818915619477447774174961349449135051089220301560207579454405750907729211246508200598044115078541520189447876375440549191567304699956400512375916209771227970523000992852266995860860020414285039390951180711737095328494833369652055488083790380705728268429927111566259794559534295079163458717213803979867616501078019778089838940619280708422063038986896514779494298733010681646465167214431148765831023730311380109186043282308576824749324112801516884956681339522216442126392648794874315800416093187925679156638698130142204082151392119076399971722268032542062412447671784742218203401500210741127701673149613280730142082006445004171785258486342581382059045437671908965558905518606586887016668184195833835326429653954378412431228177446957526315066366299999582857218043482857527139242922317346423794898928290407690195816877294096497746964214617331979570753400121222700324185144831541595989574692240423133075602842591439596575022724118188369205383040087725822664375268646664532865716470915113033924523588153847484663372361499186880181461911593835939337052156390063612388802758074263588882427021234051277796776319063601613310738855159019754418769696519012748353957830725606444983560821349956377683168337471353245233589719839016370631605753567557470903308409453536180804423298447271286541801670782467940874905765070438818753454134906614745898479693459544531374635759829121891441524691009093469714902088536286976714266083249293790345046700860758539115425069552955211610793184933873528785133662313297097663588088865495399371129614638310953163993436161466057629642445228052966664325913146997126111803189477852161092439774308459759499807563055356498593330579811751986034178044726188199785849226047 28572044105963784854176319836374518349768452913657383141629893674791392808324435226682173347832688705172899057455956696199255356716688153538083592889859063762145686133548287209424669752145645135221814779595351751436606130204306136466717441656400367798571366813327301642816529365258493863436038318202647815700012869896669604616640034458615607483325739072568684184873936245839225608182463057942048554512574773657632195943710402168283630199889116532744319487571265818924197837862037261193219718099377288914633226151194004707048005162657531728693469963828178390080766780160953044131490565900603357429462189940604928576349992806199017120564724981997259691669821684515836814820025681740711875365280135212409822838741553905629916219759193000544743738579583750273536901409810979144524880158022798351942692036881726141178133833118238672460641150807628882370185906743088633252809224610247978211726204999773593503206482617919896072690437504086630357092769550653679158364054330416242049245144437986887455254724468995147081458592949239850896210263109795495706954598936541667908106803007653368878095252768185993735236280629079616077259510765975652064195227518290315999896866977605078278961308235453657042711661049927194204527393472421935045566947188790066858161006418357231558103959385386238698778567508436110522547600455135801973553908837567912774924674924799118532879123748751209223486139434248965750562770053164648513995708597056553765525416328554249945726757851373557870571029549834345352578699607654914717407742790711476251422028999661851058704212766930233595670629684148962400194278092883934718607416117037579612321505598358410700388041462474798198360058208677222019455751343115188958554458124736734087497834777002846363013215424520377665122942548824483878593818955037211784325057411685642218895531257525666255654525727276964876223420644730249029754250016017353711213696463461839039129579334317505307519223601799215682376257683408401899990129161171107160641808353297136447041034041694069328298184003331914950559819930355890637911999856264776248420917373729567907807229996261456464362733258271993494606370889649633419325294307169679843195118153007525412525536622023485309997323184551088131900916139711831081350159836798773660424936685863151829797381667191657520857476167845962273303687823570108359905189522399961954113637562682637944312834256417757015994510065006351837237493474983505427864170415937570505089746783501316335025591192743239436466773686050942371119419823387782432693471620157860069461173116635983242759565332293600042248367428118463150028568002352830774184095290014076954495831344210872334700085696946532179624162019789952427328733258117429013388746343778072275540388996685860200351988949601719317052904810350475310155121634024297939350892341981293056790800333390636468561615236083030937943661568118699625446186070935585225887616261498441137014874184653978265968608889549479070757695642974977990499398744959268168053666948644250973137237492518340426306508281355207377354331573967828597553341373271425678405641113186907939663028594283224960269303168682845458010801635716212422867301211644213471465108820118250652797000537547791669308645181101578743889894481748514730785661763322087128231946518906231762012187770691003177050463629921314957077269770992939176539818622502358556155872691990233069283194579926033200948350544019566165868594281799509530258222876502846401772764244268997006138417056350962178026849968226279027433920637469634784812490531437740549264732305055507230552997971270000615193729670685428963966317332741551856166998620953422670019919504707518980079063652464013205924862158311297764176305909579752483443277808832803428166880984908316793629527879029070367388666102726020312021786703620103798435446625663246344589054972934611068477503754216132299724366723752021030207203828821537966138451 46230538491510506068913381631734342604251820426158364969519439785643985313548860178745237230022616353759663863761024755966643531547417803679908466722828668902028304650702462905226827462301281499072374824927104545024918808463258989891337959965790985944245950665049952172083522546497045046762861049322602695206986468432243030263397193230127631186872497171117989177051342955879515607021576954153339342769180392030537631170090914668276273753275112722457803380732962333082105121648477178973598225399623906138319874616985799581647251450717018419991253682010579226536770338616382363016598460244639986769645179872804562361045553866022531405497503461826323388050113354815293418151922081122939282924686879197031348729424609574671375099595011057386802833309953792927489091205978924031218931457599742846429114981221755573053400092165200572560791359611413659671860083069247194611426942578198053126820094874835396102950041463974105814543547391339187982154936525761515813777987085910814314580727352565623581781560171528132196721463487209816767453039987858695399298427648853655774662850550656737426481957035118660697606595932308330152919916084746218418453660074567700030344624718619499305568915831742377793426523425084145563686565967025293017311502826281088544535331753644425918039656987051687543044384692587501638316917233559137690947520809659082881286707167953328646886849444650957148113585507230578616786688447820468472419547073452052073817662315484198109117032911333803302993641772439757493161844616532728972822497456710484497612892426574351474132387115703671111648311978958876638362331727879833377795261353635058212617262886501935823323740927344817776722137535877712565379432021229218277415612472117058698760985009740912242970027099398093930960827344776137964650925583190218661248395531500732503608327289703975756560004097955147497259170108442971256380602584504017593510054471144926849086363428683681230051520544652948749039996090871664658654294344175064043833843840503388656983112087599237623476694877861476505235555928439456651028061135743844128045074027526842666249560684553582303239431879932001589150698410784058329040061113481022300014033772484973186700497971472620361086543486111295711355321890619560292596668037396817775503478206052599706172822216383224825557432568358338189513459051540631360898041789395822814134051847722028895493545993513085510827879717061839921027874180711773857791281982197365064624041862664775052239395172610855937544793464140781311738700531809845471680368134937354368194183798282448409973996481059431065978678808227649193310876579177580098296896806899033635835353560652998727348880571262332595717349945469109066026863400321511164780865420178043997808421538748272648023773691819922718553115551478176983304734914754440021357337346153078315277142914772695513999287145048589843462268155005716293630381904770911655541570639910872365192321142180293332334908889132336288801178500502117233421716091383063066981957356334446790014531589016087390521125613334778130754452796668152782698172914867415253097881536319983542505620033879799982993421357052050841050889361538876798135947876177079187936023933152175176385154385032455041670144367981760205801488317687851782942051826934475930990020782495114189033421821968799953369527231534625695932428790747357946236337635250712513986598298435216630104544536303716369285821897264799755588433298170141136011790433973749710182217780449801429436864327637503979697632436167153933198991076288388238947397146183639028958191849586881866312827093161442139884738764155143866054853619718266122250247914743767716720780263246634405148616607675623999109796031840082897838619206677416071532143304232174557781519295861480787065689345086700009833894155692684637934933700746215601624924477824338784363363432694110876040559110714725630304178475738055208251930017021323815364498 74802582597474290923089701468108860954020273339815748111149333460435378121873295405427410577855305058932562921216981452165898888264105957217992059612687732664173990784250750114651497214446926634294189604522456296461524938667565126358055401622191353742817317478377253814900051911755538910198899367525250510906999338328912634880037227688743238670198236243686673361925279201718741215204040012095387897281755165688169827113801316836559903953164229255202122868304228152006302959510514440166817943499001195052953100768179804288695256613374550148684723645838757616617537118777335407148089026145243344199107369813409490937395546672221548526062228443823583079719935039331130232971947762863651158289967014409441171568166163480301291319354204057931546571889537543201025992615789903175743811615622541198371807018103481714231533925283439245021432510419042542042045989812335827864236167188446031338546299874608989606156524081894001887233984895425818339247706076415194972142041416327056363825871790552511037036284640523279278180056436449667663663303097654191106253026585395323682769653558310106304577209803304654432842876561387946230179426850721870482648887592858016030241491696224577584530224067196034836138184475011339768213959439447228062878450015071155402696338172001657476143616372437926241822952201023612160864517688694939664501429647226995656211382092752447179765973193402166371599724941479544367349458500985116986415255670508605839343078644038448054843790762707361173564671322274102845740544224187643690230240247421960749034921426236202532836599882633904707318941663107839038556609820763768096402677470672637824938768484860346523711782389819615975082195744554934584835183364344407235970070596853792786258819786743758605983242523918471596083769893600621843244744538227430445573452943186374722503858547229642012214529825232112373482590753173220286134852600521371304723750934606765888215942763001186537570744146452164431416253774280066558644423505346171204475652193800525104024146129293306951774878881193391455795375858795347288940060992008620376465991401256410574056790680815038767602165138203995083757069300433691748365355420650702143209151925492498599226034593496105671083866670662383843256238030331391373946827874195591435928414891915751535970203883574882346414908736204300462817146875110739720803231311795784768247689410404666839806380249930842526822389782068191758265367655695279285655452398134935569713788646166091387264986365354095374011567150191723682858120355197627904373839755095214437655356914918431652733561813353031108227046236346112343339444581530410872480992096913110590331184904863871062048966268208864775341511965259061493355596658438940178169611763956116273348810535434132848375762641421642035606020361828652293459856548778737960708229688134371372067943248163331982560902381131620781405929723124415919076567975706496881429186901409313502207195326834271598303517778681815359558874143477095223921114836342331235035624304978697763151769081534427816827633894689985508108784370635981380251514288138840931503522649506891482168648628163024943262724525734896299061690997255089221003249087821292659401132753270425829182154922580246710978789549083338949691382799436366513727713590256563059221967301401345951045609592659803130419990861455940653009698561740297122776156257753071070142470990425449699387739116229749570234172441284365921457027579969650666270013310476596111954982024718798435575281383988466157724482404393432960632911713758023023759887677621379578222924154642389096865825064431442755078468434840572830021170952459817978417246535697190386740699767954153385227680260139637205034658190151380662014925116257168554975421113064977985948400280769797580695217224115770377222560258418704949956720404366319400060371103487585128952418405628721944518062864930857930028545199490076238459133845842861781502949 121033121088984796992003083099843203558272093765974113080668773246079363435422155584172647807877921412692226784978006208132542419811523760897900526335516401566202295434953213019878324676748208133366564429449560841486443747130824116249393361587982339687063268143427205986983574458252583956961760416847853206113985806761155665143434420918870869857070733414804662538976622157598256822225616966248727240050935557718707458283892231504836177706439341977659926249037190485088408081158991619140416168898625101191272975385165603870342508064091568568675977327849336843154307457393717770164687486389883330968752549686214053298441100538244079931559731905649906467770048394146423651123869843986590441214653893606472520297590773054972666418949215115318349405199491336128515083821768827206962743073222284044800921999325237287284934017448639817582223870030456201713906072881583022475663109766644084465366394749444385709106565545868107701777532286765006321402642602176710785920028502237870678406599143118134618817844812051411474901519923659484431116343085512886505551454234248979457432504108966843731059166838423315130449472493696276383099342935468088901102547667425716060586116414844076890099139898938412629564707900095485331900525406472521080189952841352243947231669925646083394183273359489613784867336893611113799181434922254077355448950456886078537498089260705775826652822638053123519713310448710122984136146948805585458834802743960657913160740959522646163960823674041164476558313094713860338902388840720372663052737704132445246647813852810554006968986998337575818967253642066715676918941548643601474197938824307696037556031371362282347035523317164433751804333280432647150214615385573625513385683068970851485019804796484670848953269623316565527044597238376759807895670121417649106821848474687107226112185836933617768774533923187259870741760861616191542515455185025388898233805405751692737302306191684867767622264691105113180456249865151731217298717849521235248309496034303913761007258216892544575251573759054867961030931787234803939968122127752464504511065428783253240306351365368621070841597018135996672907767711217750077405416534131724443223185697977471785926532564968726032170410156773679554611559920950951666543495911592409211431893097968351242143026099958107171972341304562638652330605926651371081701273101191607582381741258126695735299926243443928037650269499130031679293241836407053143446734380332300634337830508830866439504381537964951311556360614332504994596820887007473376054207890032568805849540713200880062707558294412462174205725044573761536650321160707990970777888903812144226166538465516869789397846839471197371058861910728170559382460058760451342950477184134160271157232074182405496399536333241564754159135913306829276764591463533177982065567034287449687345086162936027496560189526180210624868197878130132212706949880477408536970757541320185867399516469014564930638426667814151648360052643979212457342830927725394302017581661313144553166300670550515207348759508024763638863237167304134162949687203006256184601404185826875024674268662042824926256145882786947140112580358793966019139196963998371847337156686422601005567309307612701752648933917065099155492871117124218296669765417191038990211988083896460140079031414628603083789518092990566348942127352487655069012493893003783584129069288860666329492283652533465939519994338549165677045460878139791802281803744450345822137199805168599865012145711625970137422114840560586893831902790046411262707284823805018607181116004229270963178652157592884894963207198995716696076024572178084100667494450440958103461480031200787790376296867815261204144454221991463559853544322934584626507564417297152543729919576631278367760906569202470387056454414111389587891654105112535001685295581311923913315781838322832820558621975645583560332723675228131446711063862864185596867447 195835703686459087915092784567952064512292367105789861191818106706514741557295450989600058385733226471624789706194987660298441308075629718115892585948204134230376286219203963134529821891195134767660754033972017137947968685798389242607448763210173693429880585621804459801883626370008122867160659784373103717020985145090068300023471648607614108527268969658491335900901901359316998037429656978344115137332690723406877285397693548341396081659603571232862049117341418637094711040669506059307234112397626296244226076153345408159037764677466118717360700973688094459771844576171053177312776512535126675167859919499623544235836647210465628457621960349473489547489983433477553884095817606850241599504620908015913691865756936535273957738303419173249895977089028879329541076437558730382706554688844825243172729017428719001516467942732079062603656380449498743755952062693918850339899276955090115803912694624053375315263089627762109589011517182190824660650348678591905758062069918564927042232470933670645655854129452574690753081576360109152094779646183167077611804480819644303140202157667276950035636376641727969563292349055084222613278769786189959383751435260283732090827608111068654474629363966134447465702892375106825100114484845919749143068402856423399349928008097647740870326889731927540026690289094634725960045952610949017019950380104113074193709471353458223006418795831455289891313035390189667351485605449790702445250058414469263752503819603561094218804614436748525650122984416987963184642933064908016353282977951554405995682735279046756539805586880971480526286195305174554715475551369407369570600616294980333862494799856222628870747305706984049726886529024987581735049798749918032749355753665824644271278624583228429454936512147235037123128367131977381651140414659645079552395301417873481948616044384163259780989063748419372244224351614789411828650307785546760202957556340358458625518248954686054305193008837557277611872503639431797775943141354867406452785148228104438865031404346185851527026452640248259416826307646030151228908183119761084880977056830039663814363142046183659838443762156339991756664837011651441825770771954782426586432337623469970385152567158464831703254276827436063397867797951282343040490323785788000647360307989884102778113229983532989518387250040766939115147752801762110802504504412987392350629430668531362575106306493374770564472659281198223437558609492102332429102186778467236204051619154996957826769367903319046685567927764524228677454941242205101280428047645127783243504897628119311715441120107765493282432771280919873879989765742238401843258881000725254816497723370380740851446813107680062146400373875987232052738056717199391521120088948090276544506042609616538344775298974663206789765156275135481570224448012311915942773796722421821059413029411099359479121091907311831406274127601254548131783517856183905418399944442729499369606711795848836528941944446495967007918926787456307681263945764067725537053205966291842316318069752084943024176393402714749146972021537940115543201201491145097116104926835333766506842917290205849869518870408521843439174271356049055240142446051819664506738289439693026834749464230192948463627723466148438105184253916560584810397479007447602049433955385297806091124641007288406214209508954446507001951825914227952191788650150756854654271540279286116028880022768763215509754166779833531598502488458109442468551817054926941934092181829887398300587427095614436295146597244954019854464814503804434286467172501426398185404040158871660060044477222024327650041675633836289526097195524637902079084740986138148490202179799154941175603977127954898409179112412142844221868469439191753181482985530362130529678319857401075948456123793318240764279014672530094537848374509478854401745666684799509042268200243951554765076684840576441490361268874718207685170197708707047378370396 316868824775443884907095867667795268070564460871763974272486879952594104992717606573772706193611147884317016491172993868430983727887153479013793112283720535796578581654157176154408146567943342901027318463421577979434412432929213358856842124798156033116943853765231665788867200828260706824122420201220956923134970951851223965166906069526484978384339703073295998439878523516915254859655273944592842377383626281125584743681585779846232259366042913210521975366378609122183119121828497678447650281296251397435499051538511012029380272741557687286036678301537431302926152033564770947477463998925010006136612469185837597534277747748709708389181692255123396015260031827623977535219687450836832040719274801622386212163347709590246624157252634288568245382288520215458056160259327557589669297762067109287973651016753956288801401960180718880185880250479954945469858135575501872815562386721734200269279089373497761024369655173630217290789049468955830982052991280768616543982098420802797720639070076788780274671974264626102227983096283768636525895989268679964117355935053893282597634661776243793766695543480151284693741821548780498996378112721658048284853982927709448151413724525912731364728503865072860095267600275202310432015010252392270223258355697775643297159678023293824264510163091417153811557625988245839759227387533203094375399330560999152731207560614163998833071618469508413411026345838899790335621752398596287904084861158429921665664560563083740382765438110789690126681297511701823523545321905628389016335715655686851242330549131857310546774573879309056345253448947241270392394492918050971044798555119288029900050831227584911217782829024148483478690862305420228885264414135491658262741436734795495756298429379713100303889781770551602650172964370354141459036084781062728659217149892560589174728230221096877549763597671606632114966112476405603371165762970572149101191361746110151362820555146370922072815273528662390792328753504583528993241859204388641701094644262408352626038662563078396102278026399303127377857239433264955168876305247513549385488122258822917054669493411552280909285359174475988429572604722869191903176188488914151029655523321447442171079099723433557735424686984209742952479357872233294707033819697380409858792201087852454020256256083491096690359591345329577767478358728413481884205777514178999933011171926658058310406232736818698602122928780328255116851851328509385572548921158799536838389449663827824266273749441283997997124288378856733672051762129212574656482255535160352049354438341320191778148678402177955456638496325493635416640086902946392814036769904537399042664261835897610640844659947151259517459235786715402612120516775959842864070566132224436815663274683798943841174835307904771543924292188442310846989039475845093924839363756709270746758115574035386975681281433492042031142325479384680344490467736661313955370701984049685237006228264863401459580371114310118656278979431435520138606776691793119839070787627604986869484370422635458231525152910739512785835258705244249706150888694151353300706331021160641531517185952248674795775016291308790579286851714843021259281643015818036354075446126115627840316773537805650216276657383213537260677125033684803107067244424638641039645943469194266231203672421917009297999027047437073350893953266715607260801144043760638238400609568146782358372306421296681449274161118382697275547949336249234270833620799377287756229381635055998165599572807240406432568712085514606748296717293850845549174457325231416792585156163100931023223129379617212545004882832832006222173220096815986179752235436579106593663659830355728965980273995770159613323566634134307781722013762126337807990549947659283073408239434032354316217030362520711151335469086641484125740028614591389403430962266111432955583982082274387585635306816222025050693992549946339131881261571571232975237843 512704528461902972822188652235747332582856827977553835464304986659108846550013057563372764579344374355941806197367981528729425035962783197129685698231924670026954867873361139288937968459138477668688072497393595117382381118727602601464290888008329726546824439387036125590750827198268829691283079985594060640155956096941292265190377718134099086911608672731787334340780424876232252897084930922936957514716317004532462029079279328187628341025646484443384024483720027759277830162498003737754884393693877693679725127691856420188418037419023806003397379275225525762697996609735824124790240511460136681304472388685461141770114394959175336846803652604596885562750015261101531419315505057687073640223895709638299904029104646125520581895556053461818141359377549094787597236696886287972375852450911934531146380034182675290317869902912797942789536630929453689225810198269420723155461663676824316073191783997551136339632744801392326879800566651146655642703339959360522302044168339367724762871541010459425930526103717200792981064672643877788620675635451847041729160415873537585737836819443520743802331920121879254257034170603864721609656882507848007668605418187993180242241332636981385839357867831207307560970492650309135532129495098312019366326758554199042647087686120941565134837052823344693838247915082880565719273340144152111395349710665112226924917031967622221839490414300963703302339381229089457687107357848386990349334919572899185418168380166644834601570052547538215776804281928689786708188254970536405369618693607241257238013284410904067086580160760280536871539644252415825107870044287458340615399171414268363762545631083807540088530134731132533205577391330407810620314212885409691012097190400620140027577053962941529758826293917786639773301331502331523110176499440707808211612451310434071123344274605260137330752661420026004359190464091195015199816070756118909304148918086468609988338804101056976378008282366219668404201257144015326769185000559256048153879792490512791491070066909264247629304479039551386794683547079295106397784488367274634266465179088862580869032635457735940747729121330815980186237441734520633728946960443696577616087860944917412556231666881898389438678963811645806350347155823515637747524143483168410506152509077736556798369486067024086208746841386096516882626111530175592686710281927166392283640602595189420885512539230193469166595588061526478554410460820611718001651107937266773042441068818824782093043117344603044682692216143380962349506703371417675936910303180288135292859335969439503493589798509943448739071267606413509296629852645184794657295650905262653859161985206278351492291473054831321663859609662702634664858573493159234385190655080314713360169317293415482185950134282567978333689448463577792417213487488157009867613160479131091806171144985134746454802373340803873437416453080639228476273985592845219373770646426779184606612940060712237988522315560806085664197906218891827819870722455860845376123993593896829185802440174720401255701546313454261932807280243184365249352090185296450416811257856494408038360103242454524665293886699830634018461123070892076499424089067637700860813735565808654675066237767998598679904380849361975365861378950245387917464723432086243089079898854492072322328313429205415512208536001883580352845779180943559452589794194517492892672149847432898387252329190059896959028327898216228874050437794358676739385437854304229690321563464943396466186999902854842727715309330468626602761531797655279835641629826657814977989196321972591083267606601641540195046558466668295748270415621453888258836976422717255083865839629510670141584251123725058022502679046277152003590483201318090989473535478021413603086559291433430264673154155838951915614483759171578663588403124070243805176628950910941997852182326225942350711991656798466541055261424664546817051459280278280353608239 829573353237346857729284519903542600653421288849317809736791866611702951542730664137145470772955522240258822688540975397160408763849936676143478810515645205823533449527518315443346115027081820569715390960815173096816793551656815960321133012806485759663768293152267791379618028026529536515405500186815017563290927048792516230357283787660584065295948375805083332780658948393147507756740204867529799892099943285658046772760865108033860600391689397653905999850098636881460949284326501416202534674990129091115224179230367432217798310160581493289434057576762957065624148643300595072267704510385146687441084857871298739304392142707885045235985344859720281578010047088725508954535192508523905680943170511260686116192452355715767206052808687750386386741666069310245653396956213845562045150212979043819120031050936631579119271863093516822975416881409408634695668333844922595971024050398558516342470873371048897364002399975022544170589616120102486624756331240129138846026266760170522483510611087248206205198077981826895209047768927646425146571624720527005846516350927430868335471481219764537569027463602030538950775992152645220606034995229506055953459401115702628393655057162894117204086371696280167656238092925511445964144505350704289589585114251974685944247364144235389399347215914761847649805541071126405478500727677355205770749041226111379656124592581786220672562032770472116713365727067989248022729110246983278253419780731329107083832940729728574984335490658327905903485579440391610231733576876164794385954409262928108480343833542761377633354734639589593216793093199657095500264537205509311660197726533556393662596462311392451306312963755281016684268253635828039505578627020901349274838627135415635783875483342654630062716075688338242423474295872685664569212584221770536870829601202994660298072504826357014880516259091632636474156576567600618570981833726691058405340279832578761351159359247427898450823555894882059196530010648598855762426859763644689854974436752921144117108729472342643731582505438854514172540786512560061566660793614788183651953301347685497923702128869288221657014480505291968615810046457389825632123148932610728645743384266364854727310766605331947174103650795855549302826513695748932454557963180548820364944710165589010818625742150515182899106432731426094650104470258589074570916059441345392216651774521847479195918771967012167768718516841854733671262312149121103574200029096066309880830518482652606359316866785887042679816504522237696021558465500630250593392558715448487342213774310759695271738476912121404195709763931907144713269939548131187471332420809800052901826247042175962133136133001982581181318845449418037276979090269119077249261221212539150175832591977214426027124969590472749877613740652020103264202526964002103792452524235840362552929260559170133430483654774295915468558778560023908820764453329506533329141348410828869843619168325575639448102686675116204320476885650327347958477499147653965215194781221501816055286810597355859487226699224193774718642538948428614955502978879447803717517588877655049569877289194703199461068902991139424597747974785735097758705732083455737214889181691924282515383011305804248896181038232575512626538503983930191024531967856724884128725842323686338553531985851122424810207563049320653703739732447659166713390938238278131131072759415579680745624635611356578408302489016598926149598387130607911010219058653681517446550945099999394631786572710095249160284021415983233351058249091506125384816087151889231770574352485073522106490735981258752740051441299500301970443635718269874438589211859296361677529499459866399107564525119495217635826245680411459785312496963444428797464085425680696676494798725465784580890184518359663066949952845813062789328431738661633208607591217022374953436164408500329936347298473020491591749253974610885948932720851849513328846082 1342277881699249830551473172139289933236278116826871645201096853270811798092743721700518235352299896596200628885908956925889833799812719873273164508747569875850488317400879454732284083486220298238403463458208768214199174670384418561785423900814815486210592732539303916970368855224798366206688580172409078203446883145733808495547661505794683152207557048536870667121439373269379760653825135790466757406816260290190508801840144436221488941417335882097290024333818664640738779446824505153957419068684006784794949306922223852406216347579605299292831436851988482828322145253036419197057945021845283368745557246556759881074506537667060382082788997464317167140760062349827040373850697566210979321167066220898986020221557001841287787948364741212204528101043618405033250633653100133534421002663890978350266411085119306869437141766006314765764953512338862323921478532114343319126485714075382832415662657368600033703635144776414871050390182771249142267459671199489661148070435099538247246382152097707632135724181699027688190112441571524213767247260172374047575676766800968454073308300663285281371359383723909793207810162756509942215691877737354063622064819303695808635896389799875503043444239527487475217208585575820581496274000449016308955911872806173728591335050265176954534184268738106541488053456154006971197774067821507317166098751891223606581041624549408442512052447071435820015705108297078705709836468095370268602754700304228292502001320896373409585905543205866121680289861369081396939921831846701199755573102870169365718357117953665444719934895399870130088332737452072920608134581492967652275596897947824757425142093395199991394843098486413549889845644966235850125892839906311040286935817536035775811452537305596159821542369606124882196775627375017187679389083662478345082442052513428731421416779431617152211268920511658640833347040658795633770797904482809967709489197919047371339498163348484874828831838261101727600731267792614182531611860322900738008854229243433935608178796381606891360886984478405900967224333591855167964445281982062817918418480436548078792734764327024162404743601836107948802047488191910459361070109376307306261831245211282267283542433487230336612782614607501355653173669519264570202082106663717230871097219243325567616995228217539269107853274117522611532730581788764667257626341368511784500292377117036900081431311197205636935314104903381212225672772969732821575851137033333082923271587301477388452359984130490087362508720665618658371065168872047926530302861895736622635073110280199198765328275422064852934781031538320654009899792193315982128628071715062706760988232248454313625427606056813902845178455112120671941837663762278311634451876292853863536001909270629908213075103873040728211303189115597895681416014452159113660065684714971454359100405544304879885286028115099788905975231640663137297038438922351752702911994837608054450232108386287877436625002235922289984674791869219175778348221603514810591318774815398645241089250772076260742928245537648036651449819191612980204855069064744254134328846734149457608237392437157724126362789690970058616209097856627174258129821151093438075702917257732937190449249073802847576085419081937487992399882934175578941996691288811127217805741178178410875860299280327840322416099051204234056585511628602726165980732432795624023744909263012579132876964801416475367330816914815155023648824924966587749604496507985747136872508564942791097973572612950091887999330746451859953819780889161405220457716978547046748563548807046113189758342582900292935097999766168597718714051339723762697426188282013616761395339089377069249148776243220275658328924726688611788902980164762519786937620903702110279581358016899214845563338674198614982564436604984641452916834862731877013784220167933316951288346734726272287059290129818958132804515399275432765984180132127793682454321 2171851234936596688280757692042832533889699405676189454937888719882514749635474385837663706125255418836459451574449932323050242563662656549416643319263215081674021766928397770175630198513302118808118854419023941311015968222041234522106556913621301245874361025691571708349986883251327902722094080359224095766737810194526324725904945293455267217503505424341953999902098321662527268410565340657996557298916203575848555574601009544255349541809025279751196024183917301522199728731151006570159953743674135875910173486152591284624014657740186792582265494428751439893946293896337014269325649532230430056186642104428058620378898680374945427318774342324037448718770109438552549328385890074734885002110236732159672136414009357557054994001173428962590914842709687715278904030609313979096466152876870022169386442136055938448556413629099831588740370393748270958617146865959265915097509764473941348758133530739648931067637544751437415220979798891351628892216002439618799994096701859708769729892763184955838340922259680854583399160210499170638913818884892901053422193117728399322408779781883049818940386847325940332158586154909155162821726872966860119575524220419398437029551446962769620247530611223767642873446678501332027460418505799720598545496987058148414535582414409412343933531484652868389137858997225133376676274795498862522936847793117334986237166217131194663184614479841907936729070835365067953732565578342353546856174481035557399585834261626101984570241033864194027583775440809473007171655408722865994141527512133097474198700951496426822353289630039459723305125830651730016108399118698476963935794624481381151087738555706592442701156062241694566574113898602063889631471466927212389561774444671451411595328020648250789884258445294463124620249923247702852248601667884248881953271653716423391719489284257974167091785179603291277307503617226396252341779738209501026114829477751626132690657522595912773279655394155983786797261278441213038294038720086545427863828665996355079725287525853949535092469489917260415139765120104415229531106075596851001570371781784233576716436893196312384061758082341399917417857534649300284993193258308918034907574629477647122010853200092562283786886265403356904956000183215013502656640069844266051236041929408914578435620970368054452006959706848948706182835052047353741828542400809857176716944151638884379277350083164217804704032621745235945896935085118853925150051166129399392804102105784129994811676850916377130042325225187856354392623634372678177123695420611185109977286884590958894037066752334186257130490795470227798723169731741447169599960492524862759662814479290630275758563739058796484026497300561538709218816754031397388883713097505393013711834501247844334240200073463513478088916929767617998945618541416161217452518208950811816912029666103475013315769682889395704374534010200687046117802892251858286032053343248436924293851276711863516884727688911038494305151677519546523736825720751168775806513556036900461296376061369432120230154944761841811370092358140041595160358047944192057851846435611804507178114681631860923587431692682109483213957072642362272016835553234549175290592098949657219705832260379607096472266457314513000618938386918105769966528659145536011346531583501864749429392285131450265132623662100524887760325244076261892879371670671073755154817668678592259878501600412773053775633305931414081173247212055574498759823555161667264583423453664942185729760145323045341048283352162435093304878029980667530605273804130436278519137901292119635296249078564159045675149441065668899689157687057993637136015400141309978438924838549243468356713301362715493294155170407100071574215477128206948584401706329382806956076156742364999426453523192558278049514389450797704242245266601393510222391811384955691904724511143226602223406588602839449724553769373886318714916900983977307011300403 3514129116635846518832230864182122467125977522503061100138985573153326547728218107538181941477555315432660080460358889248940076363475376422689807828010784957524510084329277224907914281999522417046522317877232709525215142892425653083891980814436116732084953758230875625320355738476126268928782660531633173970184693340260133221452606799249950369711062472878824667023537694931907029064390476448463314705732463866039064376441153980476838483226361161848486048517735966162938508177975511724117372812358142660705122793074815137030231005319792091875096931280739922722268439149373433466383594554075713424932199350984818501453405218042005809401563339788354615859530171788379589702236587640945864323277302953058658156635566359398342781949538170174795442943753306120312154664262414112630887155540761000519652853221175245317993555395106146354505323906087133282538625398073609234223995478549324181173796188108248964771272689527852286271369981662600771159675673639108461142167136959247016976274915282663470476646441379882271589272652070694852681066145065275100997869884529367776482088082546335100311746231049850125366396317665665105037418750704214183197589039723094245665447836762645123290974850751255118090655264077152608956692506248736907501408859864322143126917464674589298467715753390974930625912453379140347874048863320369840102946545008558592818207841680603105696666926913343756744775943662146659442402046437723815458929181339785692087835582522475394156146577070060149264065302178554404111577240569567193897100615003266839917058069450092267073224525439329853393458568103802936716533700191444616211391522429205908512880649101792434095999160728108116463959543568299739757364306833523429848710262207487187406780557953846949705800814900588006817025550622720039927990751546727227035713706229852123140906063689591319303054100114949918140850657885191886112577642692310993824318675670673504030155685944397648108487232417085514397992546233827220825650580409446165872682895239789015333466322235556426453356474395666316106989453696270397495551357578913819488790262220781655509171657523336546466501684177507866219905022841210744354263367685225341169405874688929389294395633579792620399668880010858260609173852734278072858722176507983282107139148652240146052616198585593721114812980966471317715565633836118409086168742178368961217236528755921279358781394361423441639346726648617158122607858088586746725902303162732475727373693085607383264036835046867217404833945853475012763688803244726103653998282506921732612359994871158092802395027756251110065271827008548452733069523934763151728588564239925466423802711539084589383991345115610386871675755673659381160654417793675700518164973798246877247836410518474242453275177336554206300220118883215894627034555868320331112583893665783271271130071647779893201055711004495493280509241841350183414841331174210038734965338086044978744083385098151394321352691146960784289826469388765699515173942354683586397832330852299106537465312141508380973083190299489848021542177331654575365213117008936311986175282345953964786352074069018647713794482373079541830166170498989446274965374385642613366295016207390156896281509453409944048351876396450488611338269852281348908525350434347138564337324680043160305252584411778105455039761151729121816910755704864619045352403103869379178562577941604839011378565214189529142964122846229236196896036980541086509428051669653011720295962229884976827733717935995432936282682908886953258697810869828935825731521108983325267701450099165748486007421147059338610247440831837497407871738397717399833441588423323595200320177638620537605862077605935768952484095133788683363118457292969468371339327233084917235657514759264214272016861866756893032078826055782345695162101464125387236176031552889008856012857877952874510465878732658407857358284773161751480901081116105100693754724 5685980351572443207112988556224955001015676928179250555076874293035841297363692493375845647602810734269119532034808821571990318927138032972106451147274000039198531851257674995083544480512824535854641172296256650836231111114466887605998537728057417977959314783922447333670342621727454171650876740890857269736922503534786457947357552092705217587214567897220778666925636016594434297474955817106459872004648667441887619951042163524732188025035386441599682072701653267685138236909126518294277326556032278536615296279227406421654245663059978884457362425709491362616214733045710447735709244086306143481118841455412877121832303898416951236720337682112392064578300281226932139030622477715680749325387539685218330293049575716955397775950711599137386357786462993835591058694871728091727353308417631022689039295357231183766549969024205977943245694299835404241155772264032875149321505243023265529931929718847897895838910234279289701492349780553952400051891676078727261136263838818955786706167678467619308817568701060736854988432862569865491594885029958176154420063002257767098890867864429384919252133078375790457524982472574820267859145623671074302773113260142492682694999283725414743538505461975022760964101942578484636417111012048457506046905846922470557662499879084001642401247238043843319763771450604273724550323658819232363039794338125893579055374058811797768881281406755251693473846779027214613174967624780077362315103662375343091673669844148577378726387610934254176847840742988027411283232649292433188038628127136364314115759020946519089426514155478789576698584398755532952824932818889921580147186146910587059600619204808384876797155222969802683038073442170363629388835773760735819410484706878938599002108578602097739590059260195051131437275473870422892176592419430976108988985359946275514860395347947565486394839279718241195448354275111588138454357380901812019939148153422299636720813208540310421388142626573069301195253824675040259119689300495991593736511561236144095058753848089505961545825964312926731246754573800685627026657433175764821059162044005015232225608550719648930528259766518907783637762557490511029347456625994143376076980504166576511305248833672354904186555145414215165565174035949291575515362246352249333343181078061154724488237168953648173121772687815420023898400685883472150914711142988226137934180680394805658636131477525641246343379348393853104019542943207440671875953469292131868531475798869737378075713685963244347447159171041331367156312437617404280777693703118106842589646879462116986839461780090437367195762622478776251456239255676210321328549056764788226086617190829714865142555084174406870898173056235198090379471171825073089401878071303639890959670911766318576693475250800067684389137048650833893572653097284481548565102102616595088183159737751254906516825393893891197655043252042037229532644223426068324767018681334481903037934661810014911206080380057999278594978146908312223251999663105852362204345886889199567833841373510940501203238135061331659391634535471696170525571164953128369838021717957758471964466755700879571301226175055189025044123243141351718291800927620191788656887115157047376602113769833017040520618333710963489230276656770387118875054009579883149910868908181907909734644869543228370587663423252254009577235999781126511924724073774943134333380246620197098889880165626962582918597428777643317370143249036115585269251606831320276303719415894827162557493863259040773984566035071322046563575840850496466431005325239419603786839351391285383782256499711218384285396881897506397097029425455711036969456988564633573639245016187864005962575378968651262246639265540888754937333934421176416955741033562467724191733671501629213698470385059315171081593215506580049937407368065518897458567842937844700760737369021179476733872467335497857581912054147048070195817982100082407705055127 9200109468208289725945219420407077468141654450682311655215859866189167845091910600914027589080366049701779612495167710820930395290613409394796258975284784996723041935586952219991458762512346952901163490173489360361446254006892540689890518542493534710044268542153322958990698360203580440579659401422490443707107196875046591168810158891955167956925630370099603333949173711526341326539346293554923186710381131307926684327483317505209026508261747603448168121219389233848076745087102030018394699368390421197320419072302221558684476668379770976332459356990231285338483172195083881202092838640381856906051040806397695623285709116458957046121901021900746680437830453015311728732859065356626613648664842638276988449685142076353740557900249769312181800730216299955903213359134142204358240463958392023208692148578406429084543524419312124297751018205922537523694397662106484383545500721572589711105725906956146860610182923807141987763719762216553171211567349717835722278430975778202803682442593750282779294215142440619126577705514640560344275951175023451255417932886787134875372955946975720019563879309425640582891378790240485372896564374375288485970702299865586928360447120488059866829480312726277879054757206655637245373803518297194413548314706786792700789417343758590940868962991434818250389683903983414072424372522139602203142740883134452171873581900492400874577948333668595450218622722689361272617369671217801177774032843715128783761505426671052772882534188004314326111906045166581815394809889862000381935728742139631154032817090396611356499738680918119430092042966859335889541466519081366196358577669339792968113499853910177310893154383697910799502032985738663369146200080594259249259194969086425786408889136555944689295860075095639138254301024493142932104583170977703336024699066176127638001301411637156805697893379833191113589204932996780024566935023594123013763466829092973140750968894484708069496629858990154815593246370908867479945339880905437759609194456475933110392220170325062387999182438708593047353744027496956024522208790754678640547952306225796887734780208242985476994761450696415649857667580331721773701719993679368717246386378855505900599644467252147524586224025425073426174347888683569648374084422860232615450320226713394870540853367539241894236585668781891341613966319719590560000879885166595099151417209150726937994912871887064687982726075042470262142150801296027418601855772454864344258849491955344761339750521010111564851993116894806379920001240862130384431691985625028575202006874333275079641856807846688477261034449487324704189308779610973473057137621004713692510419902368799454526546429290017257769848811908857471540125589618748789920043045101886768207507322284792819146750428136621890689357167534049788199687653152801879677685996282378359454289809399034799717881104898386690935552493883387412947485554600278363501984019420526881782018046908166305527433071204960062884804616297077922767173605460535948602178217741498674371306685652448882176321325360821507413176712803350745890784281962064681824197000303712436750818829769898219015020657428268566874289413640341164566766302005834402023182131364437533498395279286426984568970210107413977841614926622668467783579360014230288475206232861951070039897453955006476042703184403983131394146755485991130970076476878812513511942824561801937901258730841152112061561551623872553567039286016656671778679658500973288024015378124712139385227581195036206920848717980208999822273651720325402256736846348402929054540801490451132268263920858277722895644322729343894504901163853428436802898576987957168839565193826484543568437456574587031199123360674677438300452391714145885327080360795552641427391186260893427970487246926072064113672041562362395632569469529644284694743874490733709616750226899132351244338346068156265439270338920209821676719063216187508398809851 14886089819780732933058207976632032469157331378861562210292734159225009142455603094289873236683176783970899144529976532392920714217751442366902710122558785035921573786844627215075003243025171488755804662469746011197677365121359428295889056270550952688003583326075770292661040981931034612230536142313347713444029700409833049116167710984660385544140198267320382000874809728120775624014302110661383058715029798749814304278525481029941214533297134045047850193921042501533214981996228548312672025924422699733935715351529627980338722331439749860789821782699722647954697905240794328937802082726688000387169882261810572745118013014875908282842238704013138745016130734242243867763481543072307362974052382323495318742734717793309138333850961368449568158516679293791494272054005870296085593772376023045897731443935637612851093493443518102240996712505757941764850169926139359532867005964595855241037655625804044756449093158086431689256069542770505571263459025796562983414694814597158590388610272217902088111783843501355981566138377210425835870836204981627409837995889044901974263823811405104938816012387801431040416361262815305640755709998046362788743815560008079611055446404213474610367985774701300640018859149234121881790914530345651919595220553709263258451917222842592583270210229478661570153455354587687796974696180958834566182535221260345750928955959304198643459229740423847143692469501716575885792337295997878540089136506090471875435175270819630151608921798938568502959746788154609226678042539154433569974356869275995468148576111343130445926252836396909006790627365614868842366399337971287776505763816250380027714119058718562187690309606667713482540106427909026998535035854354995068669679675965364385410997715158042428885919335290690269691576498363565824281175590408679445013684426122403152861696759584722292092732659551432309037559208108368163021292404495935033702614982515272777471782103025018490884772485563224116788500195583907739065029181401429353345706017712077205450974018414568349545008403021519778600498601297641651548866223930443461607114350230812119960388758962634407523021217215323433495430137822232803049176619673512093323366883022082411904893300924502428772779170839288591739521924632861223889446669212481948793501304774549595029090536492890067358358356597311365512367005603062710915591028154821237085597889545532596631044349412705934326105423436323366161693744503468090477809241746996212790325290825082139415464206973355912299152287936137747076313678479534665209385688743135417791653753795392066481318587937125844456797071966100955645548035287183794385686677769501918597037093198514319669101513464424128668021868144055561919596761443821879321921116405526659167178234051111395840225678936689575078494216184883681772340750437283428242788098898973447637449547150289706234706498792277888590595745925424642480129778026346688269002700755008784819952708718181216733513451262959341479782763205390146019173268566388310806524104630698242205148059163389383379559460422153166804811248275046916416355446915193051662218718261470908715285585470777790316246832483457591918412656781692882858567229626026190680069246521484910100509049119444025089588543818377467071891583393055586658633369594113438386075141043858979774542323498234846630366607656237140971382755267117642894800550653755647845323071181999036791138896468114694980158980401515870937182535052772257047931265332293564327734794019539301942721444454076980905414753051531046385849492570821868687742171587822532841380152881736516050520420569496107181041204626850291601930589309139473772355565552590742478810210014348549531012835543238293445762626215566193237786326135322302282821394358020365619124857762522641668957631985387235195265257068942445569976837595163182153311717428578410377487595920311827978210813403654123021182393067257891872537045316269916103864978 24086199287989022659003427397039109937298985829543873865508594025414176987547513695203900825763542833672678757025144243213851109508364851761698969097843570032644615722431579435066462005537518441656968152643235371559123619128251968985779574813044487398047851868229093251651739342134615052810195543735838157151136897284879640284977869876615553501065828637419985334823983439647116950553648404216306245425410930057740988606008798535150241041558881648496018315140431735381291727083330578331066725292813120931256134423831849539023198999819520837122281139689953933293181077435878210139894921367069857293220923068208268368403722131334865328964139725913885425453961187257555596496340608428933976622717224961772307192419859869662878891751211137761749959246895593747397485413140012500443834236334415069106423592514044041935637017862830226538747730711680479288544567588245843916412506686168444952143381532760191617059276081893573677019789304987058742475026375514398705693125790375361394071052865968184867405998985941975108143843891850986180146787380005078665255928775832036849636779758380824958379891697227071623307740053055791013652274372421651274714517859873666539415893524701534477197466087427578519073616355889759127164718048642846333143535260496055959241334566601183524139173220913479820543139258571101869399068703098436769325276104394797922802537859796599518037178074092442593911092224405937158409706967215679717863169349805600659196680697490682924491455986942882829071652833321191042072852429016433951910085611415626622181393201739741802425991517315028436882670332474204731907865857052653972864341485590172995827618912628739498583463990365624282042139413647690367681235934949254317928874645051790171819886851713987118181779410386329407945877522856708756385758761386382781038383492298530790862998171221879097790626039384623422626764141105148187588227428090058047466081811608245918222750997509726560381402344553378932381746566492775219010369062306867112954900474188010315843194188739630737544190841730112825954242628794597676071075014685122102155066656456609007695168967205619884517782667911739083353097718153954576750896613352880810569753261877588312504537768176649953359003196264362017913869813316430872263531092072714564243821531487944465569943904032131961594944025379202707126333325322653270916470913321416336237015098696259534625957221299770622308831498478793628303844545799495509079665014201860557049174782780426900755214727983467477151145404830944126996314919341665049641077674368163992993660628128667146123175395783814321717831521453425659834856814898157267442824298774215611107456995567313774195647942754441386437870680052913033459722351062570669241964161507413427374685556335904214986976107073311465767851383718933469972028403590085307920474095181351807091739356549324505952587603690664579526148239808812055427615332626625051770986720175535666601970755626347522260946522467919404364587379502468068786346874026924259408702322372196916576454744815838265555880785782974674217987961078397662307139728877257733486415718565183345466104415240676009331267489911726158792702070422034047425333531631860592703251377885922443598904328405871009658558753925791444913506510015724054442212729608343726861281373905810049814439777453241322673069792060220272365529510753108773864877027532568161357265895743800974692397627309266807041720532025388424504221821069428928826610923833266852351750172144251441327949025649113187826263471031740046208123144291147270944479017936225461895920954372187648318784341427773830076685527356194186106831753162567910575254142540547911318375403840833093099450292117825324644885986890243631538238717849468187609901755153573007046516044023416069639444878911459299308937298631304841202546307124807466848055591919312119994237822819444179222549159471810388460452731987467713549256108532457424502674829 38972289107769755592061635373671142406456317208405436075801328184639186130003116789493774062446719617643577901555120775606771823726116294128601679220402355068566189509276206650141465248562689930412772815112981382756800984249611397281668631083595440086051435194304863544312780324065649665040731686049185870595166597694712689401145580861275939045206026904740367335698793167767892574567950514877689304140440728807555292884534279565091455574856015693543868509061474236914506709079559126643738751217235820665191849775361477519361921331259270697912102922389676581247878982676672539077697004093757857680390805330018841113521735146210773611806378429927024170470091921499799464259822151501241339596769607285267625935154577662972017225602172506211318117763574887538891757467145882796529428008710438115004155036449681654786730511306348328779744443217438421053394737514385203449279512650764300193181037158564236373508369239980005366275858847757564313738485401310961689107820604972519984459663138186086955517782829443331089709982269061412016017623584986706075093924664876938823900603569785929897195904085028502663724101315871096654407984370468014063458333419881746150471339928915009087565451862128879159092475505123881008955632578988498252738755814205319217693251789443776107409383450392141390696594613158789666373764884057271335507811325655143673731493819100798161496407814516289737603561726122513044202044263213558257952305855896072534631855968310313076100377785881451332031399621475800268750894968170867521884442480691622090329969313082872248352244353711937443673297698089073574274265195023941749370105301840553023541737971347301686273773597033337764582245841556717366216271789304249386598554321017154557230884566872029547067698745677019677637454021220274580666934351795062226052067918420933943724694930806601389883358698936055731664323349213516350609519832585993081168696794123518695694533100534745051266174830116603049170246762076682958075398243708296466300606491900087521294168207154199087089199244751632604554741230092239327619941238615565563762181006687421127655557726168254292040803885127062516848527855976187379800073233026392903893120144899670724409431069101152382131782367103650609653391737949292096152977761285196513037322836262494060599034440525022028953302381976514072638700330925715981832061941476237573322612988241792131257001570712476556634936921915116994465538290302963599557474255948856769839500073605509040170678934956823389450297692767081874072628597821199714850463363111299410785314381924059212604493983720940166174628593419526615480404850185341061828510976543717529704494088765828093864749456218865515105892548196968595379319112506392548563885277912940086541863790387015610827201786010001040846345599903817151744369154027368736163262194080325254729188903699614212187294102482942468116743985734236697907745110652971740039989420930544451421923464344528738994459973730878745844370142707858214805520142593312570215226427002895158781602803979227648935440246205127841022799209353444578723495175792450785148634436826654254181390000711453799647514322395183750711114727203726930283900761257886783383320624407407353699413377525315034748147297744168911985398093408779641100846099202457165247356514949669029588982100951476169303436399716457413336912266020226416759677578186323809202588966925800011483536523777381502021879512426904295441404356122201185874542189165560416679484966163790743270670470103190168731678224083271092593972636861969139632221189524047994737301107253924164369304761997269937257726731983044477708762342471707384347609708093138653797185613855181642630463127661063618090648613105809824776025043984790489892723149511593372665640901785938711308402510896846534504202555700247286772523144719970649001367309347890530371725418739756007200759972875464511481635125054725605421793153848727340606539807 63058488395758778251065062770710252343755303037949309941309922210053363117550630484697674888210262451316256658580265018820622933234481145890300648318245925101210805231707786085207927254100208372069740967756216754315924603377863366267448205896639927484099287062533956795964519666200264717850927229785024027746303494979592329686123450737891492546271855542160352670522776607415009525121598919093995549565851658865296281490543078100241696616414897342039886824201905972295798436162889704974805476510048941596447984199193327058385120331078791535034384062079630514541060060112550749217591925460827714973611728398227109481925457277545638940770518155840909595924053108757355060756162759930175316219486832247039933127574437532634896117353383643973068077010470481286289242880285895296973262245044853184110578628963725696722367529169178555318492173929118900341939305102631047365692019336932745145324418691324427990567645321873579043295648152744623056213511776825360394800946395347881378530716004154271822923781815385306197853826160912398196164410964991784740349853440708975673537383328166754855575795782255574287031841368926887668060258742889665338172851279755412689887233453616543564762917949556457678166091861013640136120350627631344585882291074701375176934586356044959631548556671305621211239733871729891535772833587155708104833087430049941596534031678897397679533585888608732331514653950528450202611751230429237975815475205701673193828536665800996000591833772824334161103052454796991310823747397187301473794528092107248712511362514822614050778235871026965880555968030563278306182131052076595722234446787430726019369356883976041184857237587398962046624385255204407733897507724253503704527428966068944729050771418586016665249478156063349085583331544076983337052693113181445007090451410719464734587693102028480487673984738320679154291087490318664538197747260676051128634778605731764613917284098044471611647577174669981981551993328569458177085767306015163579255506966088097837137362395893829824633390086481745430508983858886837003691016253300687665917247663144030135350726693373874176558586553038801600201625574130141956550969846379273714462873406777259036913968837277802335490785563368012627567261551265722968416508853357911077281144367750438526168978344557153990548246407355716779765033656248369252748532854797653909559628086938051665882958792012247178943768420393910622769382836102459108637139270150717326888674856385935940925893662940290866601443097598026001068943517162864764491541037479463403778975010052726358727669379504754487892460114872952275315261665083498329271335275317933140811951084333141868060397398973306901543763228249881628839041463568963217805849439420353513916549346722919825814177893083312506614196983622750621716397557617454044083736289261677061820928260248938718139881706173607047642892225543048753335360443279596791810976141106080118023894219970876261255406496198798150208957522210326283591867016620236829623928749375092075358057548795065914491321031988102515240787170431842241030634904669708518635050155391837599647494415952129808978781812306909909503816797625760977709234292889747376086572002293329797298317705931186044406706051669960356898904603424503695543058828810800892108637888855479079403421878404717491976506191776677685702441776773335190624554605718891970559854862669600986175934151086648309063600044452292719945626177191630114701153112998827269031235138308042184598619495752303356557941695115011138802095781153116410576700207460273456633222061626111812688089103425043767334412259339238663815594095634275294922863850633686565115561017696014735729913419778888942735534599996053456314263761834258677502624904665166379712156945809354780947847389808305833813139854331552127975069451844778115849422901267202650365963241559200186423309132347274899942087857042193318971049262381184765109214636 102030777503528533843126698144381394750211620246354746017111250394692549247553747274191448950656982068959834560135385794427394756960597440018902327538648280169776994740983992735349392502662898302482513782869198137072725587627474763549116836980235367570150722256838820340277299990265914382891658915834209898341470092674305019087269031599167431591477882446900720006221569775182902099689549433971684853706292387672851574375077357665333152191270913035583755333263380209210305145242448831618544227727284762261639833974554804577747041662338062232946486984469307095788939042789223288295288929554585572654002533728245950595447192423756412552576896585767933766394145030257154525015984911431416655816256439532307559062729015195606913342955556150184386194774045368825181000347431778093502690253755291299114733665413407351509098040475526884098236617146557321395334042617016250814971531987697045338505455849888664364076014561853584409571507000502187369951997178136322083908767000320401362990379142340358778441564644828637287563808429973810212182034549978490815443778105585914497437986897952684752771699867284076950755942684797984322468243113357679401631184699637158840358573382531552652328369811685336837258567366137521145075983206619842838621046888906694394627838145488735738957940121697762601936328484888681202146598471212979440340898755705085270265525497998195841029993703125022069118215676650963246813795493642796233767781061597745728460392634111309076692211558705785493134452076272791579574642365358168995678970572798870802841331827905486299130480224738903324229265728652351880456396247100537471604552089271279042911094855323342871131011184432299811206631096761125100113779513557753091125983287086099286281655985458046212317176901740368763220785565297257917719627464976507233142519329140398678312388032835081877557343437256734885955410839532180888807267093262044209803475399855283309611817198579216662913752004786585030722240090646141135161165549723460045556113457988185358431530603048028911722589331233378035063725088979076331310957491916253229679428669831451263006284419542128468599390438165864117050153430106329336351043079405666618355993551676929761323399906378954717622567930471663237220653289215015064569486614643107590318467204012932586768012785082176019501548789332230852403733987174085234580594796273891482882241075179843797139960362724723735578705342309027617234921126405422708194613526099574096728174929991444981096572597897114256051740790365107875141572114984064479342004400590762814564289391976785571332163363225694654067088708292478890795666515268839391099846251861650670516445173098969961925146855192172416649655776446850224218360576075355766369734717333293600458413137109935436641379679093313547460542583526567773460766711644822780246998483342002316550117163948552930327175808656549515759636211277285451243105553932568531850965562036624569445817684315405000249866469929676896053327664918184498397387159213549399839155176377987234139660352774293563426761278193230356263586379785286819754130080462159303783684592218491853828884416663583608626296134702093660214931524829487907993135054147634159469892626700737150997731083456501079154853349414129268884302696833283336643904928013258057355994403805148108992403979356193661279942591493135099039354042793561607384232183905215779762443829595400997659470674864029811085479556879197015387030533313831300575695302164387685710720104471832927869289965855493525289619919198282231396068418015085550208921396984321451370523168880035977057393865422313704592138991322283141524356438105982679270473558726825218912746631551196378360376547439952560826183213101863281090288805819049167395348054176759752377797847595293492256249900705152368317342410031799414747592596564748764850790210615093180737688660298956193624069105222739411423722982096918924392842416229912105715754443 165089265899287312094191760915091647093966923284304055958421172604745912365104377758889123838867244520276091218715650813248017690195078585909202975856894205270987799972691778820557319756763106674552254750625414891388650191005338129816565042876875295054250009319372777136241819656466179100742586145619233926087773587653897348773392482337058924137749737989061072676744346382597911624811148353065680403272144046538147855865620435765574848807685810377623642157465286181506103581405338536593349704237333703858087818173748131636132161993416853767980871046548937610329999102901774037512880855015413287627614262126473060077372649701302051493347414741608843362318198139014509585772147671361591972035743271779347492190303452728241809460308939794157454271784515850111470243227717673390475952498800144483225312294377133048231465569644705439416728791075676221737273347719647298180663551324629790483829874541213092354643659883727163452867155153246810426165508954961682478709713395668282741521095146494630601365346460213943485417634590886208408346445514970275555793631546294890170975370226119439608347495649539651237787784053724871990528501856247344739804035979392571530245806836148096217091287761241794515424659227151161281196333834251187424503337963608069571562424501533695370506496793003383813176062356618572737919432058368687545173986185755026866799557176895593520563579591733754400632869627179413449425546724072034209583256267299418922288929299912305077284045331530119654237504531069782890398389762545470469473498664906119515352694342728100349908716095765869204785233759215630186638527299177133193838998876702005062280451739299384055988248771831261857831016351965532834011287237811256795653412253155044015332427404044062877566655057803717848804117109374241254772320578157952240232970739859863412900081134863562365231328175577414040246498329850845427005014353938095338438254005587047923529101296623688274561329179456567012274233419215599312246932855738623624811620424076283195568892998941858736355979417715123465572708947865913335001973745216940895596676332975481398357011112916002645157976991204665717251779004236471292902012925784940332818866958454188798237368743656757053113353493839675864787914840480738032985995468001018667599611571763371112936991129639330010049795196687947632168767643422454487329127651071545392441869162117895463022919154736970914522473762702938240004303962507881816831752796250291423616849786377380922022466260837405122653183887963133876210515632146929243833545438070226218343264402029511930059832742730449141959548823165431166110928180352337720371181527179583811328396257432111829985544254165479318193419004696731853057402039644318984175584156753647114374962483832855262455557572176626054074739567149318395177164269262276824330734772603679378371045424197491648467057514830156563402528436820334204578465997212165323661941703142704687469711904286281261505272966128475046262285187128510781989254175833786229463083925753079309497717901569359477918082310181332871504373550217129060784764985131867822418734747610329453476378832615713417605077947009003569718748322455248885702369347037381535556464628994066948296048789387687123561559401084089625783207300257787032186963756824058949464632292660627188395825857760911153256448783269812784741795819566896798008786789624107750322298692265001983835404825950678120149079601331489735332656710505461415276848415163214954741955242779875112467909461607796881847561614313293370198164199168201960785621604444594908003745230506147789745482968847357471926551250661521805339950533740257974193337409360511784028307649247211114090289967218841503561717813097916737404552567653307844897972958841926132089954793404648273204097290513458202130482264363351542722662048409526880700213111882295831103651901858156380047378237570014311365810839139112243363891678611096870824969079 267120043402815845937318459059473041844178543530658801975532422999438461612658125033080572789524226589235925778851036607675412447155676025928105303395542485440764794713675771555906712259426004977034768533494613028461375778632812893365681879857110662624400731576211597476519119646732093483634245061453443824429243680328202367860661513936226355729227620435961792682965916157780813724500697787037365256978436434210999430240697793430908000998956723413207397490728666390716408726647787368211893931964618466119727652148302936213879203655754916000927358031018244706118938145690997325808169784569998860281616795854719010672819842125058464045924311327376777128712343169271664110788132582793008627851999711311655051253032467923848722803264495944341840466558561218936651243575149451483978642752555435782340045959790540399740563610120232323514965408222233543132607390336663548995635083312326835822335330391101756718719674445580747862438662153748997796117506133098004562618480395988684104511474288834989379806911105042580772981443020860018620528480064948766371237409651880804668413357124072124361119195516823728188543726738522856312996744969605024141435220679029730370604380218679648869419657572927131352683226593288682426272317040871030263124384852514763966190262647022431109464436914701146415112390841507253940066030529581666985514884941460112137065082674893789361593573294858776469751085303830376696239342217714830443351037328897164650749321934023614153976256890235905147371956607342574469973032127903639465152469237704990318194026170633586649039196320504772529014499487867982067094923546277670665443550965973284105191546594622726927119259956263561669037647448726657934125066751369009886779395540241143301614083389502109089883831959544086612024902674671499172491948043134459473375490069000262091212469167698644242788671612834148926201909169383026315812281447200139548241729405442331233140918495202904937475081184243152042996473509861740447408098405462083670367733882064468554000423601989887648078568748948501500636434036844989666312931237133194125276105002806932661363295532458131113757367429370529834301932434342800629253056005190606951174860510131118559560768650035711770735921424311339102008568129695753097555482082644126257918078775776303699705003914721506029551343986020178484572501630596539721909722447345436875324110237297739260162879517461694650101179105011965857239225088913304525026366322349865520345024716368825903119038858734519378704924678328241751352087747130993723175549838660989032907553794006297501391996105956143796026637531457910056906594695621177111471027779041234481844841430531081791910691109357651734843074781143582077275762615719674750545318874086940714833375620942790699096937251269939601535282150675886168637930980907099604577733255945681694921162588146044578794233323486706079162164648097619655821571551144733855512907265179329256915529588601686261755139436058151942315612852046695280386641335047335629302239102131066543637378254343653041344843588374563227767959930002415880538895065594027126202419339828821307305263249279297026231374081711097229933679847284736793695504401185015695026357255694804099293779872844188202716412750498218894667509997091070368830868684837317006820626696465775297388229837117104814536391374762947883781149862360458405393018973529323530084742521860402981494875500814707931234559158210686750719687243819292715852543717327602640452675347251708040337199427463290407137181533511575601594232617183287510994543001428916359374268399386183766802876834269671176518690241983804946864306971846240653463810968087337002941054280798407492450666514658794064387901026199780018494841373472357012293321013018685884467752640999941765460347191218610570447824674395150957470254644974275645551003322497389011841340562157112573671447342792753722789533821236031167756734094841008976540723522 432209309302103158031510219974564688938145466814962857933953595604184373977762502791969696628391471109512016997566687420923430137350754611837308279252436690711752594686367550376464032016189111651587023284120027919850025969638151023182246922733985957678650740895584374612760939303198272584376831207072677750517017267982099716634053996273285279866977358425022865359710262540378725349311846140103045660250580480749147286106318229196482849806642533790831039648193952572222512308053125904805243636201952169977815470322051067850011365649171769768908229077567182316448937248592771363321050639585412147909231057981192070750192491826360515539271726068985620491030541308286173696560280254154600599887742983091002543443335920652090532263573435738499294738343077069048121486802867124874454595251355580265565358254167673447972029179764937762931694199297909764869880738056310847176298634636956626306165204932314849073363334329307911315305817306995808222283015088059687041328193791656966846032569435329619981172257565256524258399077611746227028874925579919041927031041198175694839388727350191563969466691166363379426331510792247728303525246825852368881239256658422301900850187054827745086510945334168925868107885820439843707468650875122217687627722816122833537752687148556126479970933707704530228288453198125826677985462587950354530688871127215139003864639851789382882157152886592530870383954931009790145664888941786864652934293596196583573038251233935919231260302221766024801609461138412357360371421890449109934625967902611109833546720513361686998947912416270641733799733247083612253733450845454803859282549842675289167471998333922110983107508728094823526868663800692190768136353989180266682432807793396187316946510793546171967450487017347804460829019784045740427264268621292411713608460808860125504112550302562206608019999788411562966448407499233871742817295801138234886679983411029379156670019791826593212036410363699719055270706929077339759655031261200707295179354306140751749569316600931746384434548166663624966209142984710903001314904982350135020872781335782414059720306645374133758915344420575195551553711438579271922155068930975547283993727468585307357798137393692468823849274918151014966796482970176491130541477550645144925517690347539674812641995044360836039601139182708126116741269274018994209238850098416982267765979399415634723185798672198665564623652867714904097243529051421186341858119118600156943961874502746206825141505119571924501358108566291375627562603379277922967009095276731215251250818196035809431451828848686592937986186354623341223017522875973514831842209306220818293173237687963193621896235363523131053036493785840313930333164655363993734720903030840587829208338104775645961552494823446565655610021717825204563815095250169376428908468028549361073292208012343536227261290838316862642564693084917953860400037548356899179174848968322033944385241492887967523260412402186626988577898039175206062375895510881121858765323027884145853135096155913012519262925898555896099272333480219544941323660050725894948621154087439150760781642081895010443836452028720100799652428169739985679397873748222397230582821884688871047589828662231875326277972151582308520450717297348857401017832441661375956285258989126402485784055694878015967792840158032760668522945681927355203401805763153431280407041214125404965330280326765386051383638759542176486052343954324754131129392132490817595194630590031583152805108889071087288984743147824868971792396816351489471780164605873511267378013629892331556548359803117028648445241492645326752204257505586498627657148377447848786969361930045618606540956481877635567949618839297696755899393941125664857191293971860612016557707434404590038664444481732068772578306938758502500192916693383802526251216434379684842944992464015268953718825580362768034155344660375143411120625773452105847365692601 699329352704919003968828679034037730782324010345621659909486018603622835590420627825050269417915697698747942776417724028598842584506430637765413582647979176152517389400043321932370744275615116628621791817614640948311401748270963916547928802591096620303051472471795972089280058949930366068011076268526121574946260948310302084494715510209511635596204978860984658042676178698159539073812543927140410917229016914960146716347016022627390850805599257204038437138922618962938921034700913273017137568166570636097543122470354004063890569304926685769835587108585427022567875394283768689129220424155411008190847853835911081423012333951418979585196037396362397619742884477557837807348412836947609227739742694402657594696368388575939255066837931682841135204901638287984772730378016576358433238003911016047905404213958213847712592789885170086446659607520143308002488128392974396171933717949283462128500535323416605792083008774888659177744479460744806018400521221157691603946674187645650950544043724164609360979168670299105031380520632606245649403405644867808298268450850056499507802084474263688330585886683187107614875237530770584616521991795457393022674477337452032271454567273507393955930602907096057220791112413728526133740967915993247950752107668637597503942949795578557589435370622405676643400844039633080618051493117532021516203756068675251140929722526683172243750726181451307340135040234840166841904231159501695096285330925093748223787573167959533385236559112001929948981417745754931830344454018352749399778437140316100151740746683995273647987108736775414262814232734951594320828374391732474524726100808648573272663544928544837910226768684358385195906311249418848702261420740549276569212203333637330618560594183048281057334318976891891072853922458717239599756216664426871186983950877860387595325019470260850850808671401245711892650316668616898058629577248338374434921712816471710389810938287029498149511491547942871098267180438939080207063129666662790965547088188205220303569740202921634032513116915612126466845577021555892667627836219483329146148886338589346721083602177832264872672711849945725385855643872922072551408124936166154235168587978716425917358906043728180594585196342462354068805051099872244228096959633289271183435769123315978512346998959082342069152483168728304601313770904615533931148572545762419143090089636713373983348678189660360214724831972726869954482754140334490866884485440950022464306899219115032728260543978306443880063033244619617378914691126408916690184645115392204284158371990042106932843824954642736734012823886081251279924117571594691943313237085262052775018079118494275413806926472880782787879568566983896007608927271083668485266221904927528544041713725718436660649432074716505257145303868501090732453026231076476033486201284495042768213370600489580806055524161803568721726857733015573516221609099501633034687756233501363201300771081489653785015551838244778930893510891221901342762536845928457488067562130015212396772474410256665560607769486930459327040293410221960821862555116319922074823573427267972068086905331174307470067826110431198029586108017024722473093378149407412925609179140383675146883608535076063528994384902080527415118227294439927769848701126498692963105885685592177783172285531995120782329231532795708552304095544287813608794824736682754810491783735985807946825155827580093982618197917752863236772031198144046846981935849818420235647305937283291193142308316534377696121924681336444573386629433534776982774707607302427626752282029278515323351236637386699824963931734629131699068564477432739281120959345535185789910416210844026098991622996536429632337519865497476774394235314598021869484614984879297901025460075404531804124791672950679343026131613153653457663171338358078171802219756877073854786333026172381527390272923155521756944878481611174578877359868293114823906416123 1131538662007022162000338899008602419720469477160584517843439614207807209568183130617019966046307168808259959773984411449522272721857185249602721861900415866864269984086410872308834776291804228280208815101734668868161427717909114939730175725325082577981702213367380346702040998253128638652387907475598799325463278216292401801128769506482796915463182337286007523402386441238538264423124390067243456577479597395709294002453334251823873700612241790994869476787116571535161433342754039177822381204368522806075358592792405071913901934954098455538743816186152609339016812642876540052450271063740823156100078911817103152173204825777779495124467763465348018110773425785844011503908693091102209827627485677493660138139704309228029787330411367421340429943244715357032894217180883701232887833255266596313470762468125887295684621969650107849378353806818053072872368866449285243348232352586240088434665740255731454865446343104196570493050296767740614240683536309217378645274867979302617796576613159494229342151426235555629289779598244352472678278331224786850225299492048232194347190811824455252300052577849550487041206748323018312920047238621309761903913733995874334172304754328335139042441548241264983088898998234168369841209618791115465638379830484760431041695636944134684069406304330110206871689297237758907296036955705482376046892627195890390144794362378472555125907879068043838210518995165849956987569120101288559749219624521290331796825824401895452616496861333767954750590878884167289190715875908801859334404405042927209985287467197356960646935021153046055996613965982035206574561825237187278384008650651323862440135543262466948893334277412453208722774975050111039470397774729729543251645011127033517935507104976594453024784805994239695533682942242762980027020485285719282900592411686720513099437569772823057458828671189657274859098724167850769801446873049476609321601696227501089546480958078856091361547901911642590153537887368016419966718160927863498260726442494345972053139056803853380416947665082275751433054720006266795668942741201833464167021667674371760780803908823206398631588056270520920937409355311501344473563193867141701519162315447301733275157043437420649418434471260613369035601534070048735358638437183934416108953459470855653324988994003443178108753622351436430718055040178634528140387422644179401410856069036129008706534476861859025779348484840441774051726283191755677208742604559550179408268773721861239553402049097878368381421141810910993006477294505686839657193740392123419535409190186077916364295653803329329671999010240704592502941640447568206775155446391482871068191316806457469035703161836403913840916062352824209937942091926447662219987124935768116373250051830494082622201926898163070912755325586326295296268121481245852462394669313044403841505578612833117033316815000120431364291550817933527376621646647858532213862605201823397145686012574377621308275964240431405919471408930397107405138432356809579346832885157899358249907570566169678079870695385486355426312626890441505763186215167045817023444727514707122828868547413069317913904278139151298829238536186764708152491251897629810156192001025072546194473437197307938855272357053662835935568944591788785170866533568160068919391144674718580268956341226873136750122071690828469220827041226215168812196630499836186090898824950111212912155436154345480034001836677295039722824375152468800978111327982309237830841936527314874345947417205605464985106667829161313545179026249886266454554872213175938894130295659170846879899596440503728473409173227274458451272821983019237908778107722983034576879778140889644705532579478414065200287138704795173530293629255723686726675908956739909917583167509809121842789236154682748115604438551912155957856088031741880698053436191256758697731325490187650481109098503518289791100223141986317989997985641745220671272108724 1830868014711941165969167578042640150502793487506206177752925632811430045158603758442070235464222866507007902550402135478121115306363615887368135444548395043016787373486454194241205520567419344908830606919349309816472829466180078856278104527916179198284753685839176318791321057203059004720398983744124920900409539164602703885623485016692308551059387316146992181445062619936697803496936933994383867494708614310669440718800350274451264551417841048198907913926039190498100354377454952450839518772535093442172901715262759075977792504259025141308579403294738036361584688037160308741579491487896234164290926765653014233596217159729198474709663800861710415730516310263401849311257105928049819055367228371896317732836072697803969042397249299104181565148146353645017666947558900277591321071259177612361376166682084101143397214759535277935825013414338196380874856994842259639520166070535523550563166275579148060657529351879085229670794776228485420259084057530375070249221542166948268747120656883658838703130594905854734321160118876958718327681736869654658523567942898288693854992896298718940630638464532737594656081985853788897536569230416767154926588211333326366443759321601842532998372151148361040309690110647896895974950586707108713589131938153398028545638586739713241658841674952515883515090141277391987914088448823014397563096383264565641285724084905155727369658605249495145550654035400690123829473351260790254845504955446384080020613397569854986001733420445769884699572296629922221021060329927154608734182842183243310137028213881352234294922129889821470259428198716986800895390199628919752908734751459972435712799088191011786803561046096811593918681286299529888172659195470278819820857214460670848554067699159642734082119124971131586606536864701480219626776701950146154087576362564580900694762589243083908309637342590902986751749040836467667860076450297814983756523409043972799936291896365885589511059393459585461251805067806955500173781290594526289226273530682551192356708797006775014449460781997887877899900297027822688336570577421316793313170554012961107501887511001038663504260768120466646323264999184423417024971318803307855754330903426018159192515949481148830013019667603075723104406585169920979586735396817223687292389228594171631837335992962525520177906105520164735319368811083250062071535995189941820553946158672842382689883155051519385994073316813168644006209037332090168075627090000500201872575672940976272281662593076184812261484175055530610385391985632095756347378385507515623819567562176120023297139478757972066406011834126785843782865758019162898718468683476744923843209395924951744449510088309284696628795630919808105945551019197531330705253346840695644917291765556212519282851358972879576169900629454827386028721147712322328495880870597539446609718949213322697839372339161924000086018408550949100892843255747360165248550361435324760346986783655867275093291516078676184850364919821619008747900969202738036834900447287914570646680044976426343640478464872416814753352920300663466585048770283365739098268300941975094896955452744243625383972104249582496858824644203789430625584630047037223081801180165456221341357045732384002384266741955743363350687171886228712940715234694658761882497030360310758052128626758868257532451303223624177773131136770502982420991455236518940901390608686097020858980591981925574016620034595047902959596406350612847825093263832127658066489242464598165539089725522139842681228592510497758118565655683421043437329579820478366520882577688449362203250833077890428298373104961903590150341386460451977189899067068518220366790194351733670804524202474950494832624658570292650304687864570321708596160523941619207818608627585213653646914027827633427458630570165065809415519259370099958869855655948133832552517658516360032008499371426673811548045101623597492568875345510038335495178524847 2962406676718963327969506477051242570223262964666790695596365247019237254726786889059090201510530035315267862324386546927643388028220801136970857306448810909881057357572865066550040296859223573189039422021083978684634257184089193796008280253241261776266455899206556665493362055456187643372786891219723720225872817380895105686752254523175105466522569653432999704847449061175236067920061324061627324072188211706378734721253684526275138252030082839193777390713155762033261787720208991628661899976903616248248260308055164147891694439213123596847323219480890645700601500680036848794029762551637057320391005677470117385769421985506977969834131564327058433841289736049245860815165799019152028882994714049389977870975777007031998829727660666525521995091391069002050561164739783978824208904514444208674846929150209988439081836729185385785203367221156249453747225861291544882868398423121763638997832015834879515522975694983281800163845072996226034499767593839592448894496410146250886543697270043153068045282021141410363610939717121311191005960068094441508748867434946520888202183708123174192930691042382288081697288734176807210456616469038076916830501945329200700616064075930177672040813699389626023398589108882065265816160205498224179227511768638158459587334223683847925728247979282626090386779438515150895210125404528496773609989010460456031430518447283628282495566484317538983761173030566540080817042471362078814594724579967674411817439221971750438618230281779537839450163175514089510211776205835956468068587247226170520122315681078709194941857151042867526256042164699022007469952024866107031292743402111296298152934631453478735696895323509264802641456261349640927643056970200008363072502225587704366489574804136237187106903930965371282140219806944243199653797187235865436988168774251301413794200159015906965768466013780560261610847765004318437661523323347291593078125105271473889482772854444741680872607295371228051405342955174971920140499451522389787486999973176897164409847853810628394866408447080163629332955017034089484005513318623150257480192221687332868282691419824245062135848824390987567260674354495924761498534512670449557273493218873319892467672992918569479431454138863689092140008119239969714945373834001158103401342688065027285162324986965968698286659727871601166037423851261884590211923417834121221964802227708971391396417631913378411773421801653610418057935320523845845284369694560050381280844446662837511835064642174063180642905316866441603391869280137782596004572125899639043354976752362197939661435132561301396078010844367490436285807398466731105493624129868227794911400712731409213485213250145688610469711693272632315883493111123978992925240471776463761290541817386706601905053285871042647082655955041153681324989269193568180958275539910583850451224527826155814872689154162044431450309959368882628269464902395218697462412966637148157492672796230244896401567480319107590769836328752016116153039401559547616181733332445813928896587615542596021720349160257903170179665547191104972348234985450411556121713028456682217725824000157312943297876382388733795688063180390554138778075881944667033237993181190528767535830482929691941239539099009406199286256116478017498111581768262818830801888175035029338321084967985741394282573374914452646993958177996718151233188085736355126992289433636208233771136028136271054050621871272342942682420781503081648803204591814436895897331178991913039885037142727745307666335260339659071663744681933307309891884452033654305415012873347620209083150429518394156771782278189178048601614208443471215098677174791501254943669972492623315510056781953364560032911797275087823834981493826045395322836432898359117736191795095022775489703263982316175574235008716977965373375347401841839567909092139390591250248984006547682489608469930192101339145324765583810558873331151783556166450633571 4793274691430904493938674055093882720726056452172996873349290879830667299885390647501160436974752901822275764874788682405764503334584417024338992750997205952897844731059319260791245817426642918097870028940433288501107086650269272652286384781157440974551209585045732984284683112659246648093185874963848641126282356545497809572375739539867414017581956969579991886292511681111933871416998258056011191566896826017048175440054034800726402803447923887392685304639194952531362142097663944079501418749438709690421162023317923223869486943472148738155902622775628682062186188717197157535609254039533291484681932443123131619365639145236176444543795365188768849571806046312647710126422904947201847938361942421286295603811849704835967872124909965629703560239537422647068228112298684256415529975773621821036223095832294089582479051488720663721028380635494445834622082856133804522388564493657287189560998291414027576180505046862367029834639849224711454758851651369967519143717952313199155290817926926811906748412616047265097932099835998269909333641804964096167272435377844809582057176604421893133561329506915025676353370720030596107993185699454844071757090156662527067059823397532020205039185850537987063708279219529962161791110792205332892816643706791556488132972810423561167387089654235141973901869579792542883124213853351511171173085393725021672716242532188784009865225089567034129311827065967230204646515822622869069440229535414058491838052619541605424619963702225307724149735472144011731232836535763111076802770089409413830259343894960061429236779280932688996515470363416008808365342224495026784201478153571268733865733719644490522500456369606076396560137547649170815815716165670287182893359440048375215043642503295879921189023055936502868746756671645723419280573889186011591075745136815882314488962748258990874078103356371463248362596805840786105521599773645106576834648514315446689419064750810627270383666688830813512657148022981927420314280742116916076713273503859448356766556650817403409315869229078051507232855314061912172342083896044467050793362775700293975784578930825283725640109592511454213583939353680348178523505831473757413027824122299338051660188942399718309444473806466764815244414704409890694532109230818381790693731916659198916999660979928494218464565833391765901356792662345134652283459413024063042518748386381813774086300786964897797767495118466779062064144357855936013359996784560550583153420119603813784116727235250247992904389491921972213777261265769878352351950511407154667174544314538317962958574611319273462484022678494276280068673156485894004212092813344972718754610108656360957934723338454973307098507324192440421829044130321510323630493818617159406207833582942919121187904644843922223252556584495981067353710416905890509454156410508123297060943477039478512712061493323968431536328367919831729162308158142578862710963328072472917839659579886112171494858996397783775620201248573635124900940370762285653016633779733728499543267660519022365360827625130319984933018467491768438933283755733777295219981329398657312622779452901556568681848486638316292546887824594343569403660511991704256319794361355984988877187528662075943623805840965149562636943288364246211052297002957477592684385205395340096373213594744609651815024678138076824767089314767221133654179540972874067893680042322305254630116620118196628067241905867390845642017187853694496628297855646564553963820421456511205424126868249885150347563852850156829782310337616728353329214031854132671935895451036069571286401262596284585070155383151081638751955594903923192288576241860019475310460166844356986314580984428315054865536455845380474139669358396367103918996956839978325554800422680236429136617291809949603032865578882043774788894606771941798437764748087524423802766642522907714498107841356865912887190426389181303127748676661821891661629158418 7755681368149867821908180532145125290949319416839787568945656126849904554612177536560250638485282937137543627199175229333407891362805218161309850057446016862778902088632184327341286114285866491286909450961517267185741343834358466448294665034398702750817665484252289649778045168115434291465972766183572361352155173926392915259127994063042519484104526623012991591139960742287169939337059582117638515639085037723426910161307719327001541055478006726586462695352350714564623929817872935708163318726342325938669422331373087371761181382685272335003225842256519327762787689397234006329639016591170348805072938120593249005135061130743154414377926929515827283413095782361893570941588703966353876821356656470676273474787626711867966701852570632155225555330928491649118789277038468235239738880288066029711070024982504078021560888217906049506231747856650695288369308717425349405256962916779050828558830307248907091703480741845648829998484922220937489258619245209559968038214362459450041834515196969964974793694637188675461543039553119581100339601873058537676021302812791330470259360312545067326492020549297313758050659454207403318449802168492920988587592101991727767675887473462197877079999549927613087106868328412027427607270997703557072044155475429714947720307034107409093115337633517768064288649018307693778334339257880007944783074404185477704146760979472412292360791573884573113073000096533770285463558293984947884034954115381732903655491841513355863238193984004845563599898647658101241444612741599067544871357336635584350381659576038770624178636431975556522771512528115030815835294249361133815494221555682565032018668351097969258197351693115341199201593808998811743458773135870295545965861665636079581533217307432117108295926986901874150886976478589966618934371076421877028063913911067183728283162907274897839846569370152023509973444570845104543183123096992398169912773619586920578901837605255368951256273984202041564062490978156899340454780193639305864200273477036345521176404504628031804182277676158215136565810331096001656347597214667617308273554997387626844067270350649528787775958416902441780844613708176272940022040344144206970301317341172657944127861935318287788875927945330453907384422823649860409477483064819539894095074604724226202161985966894462916751225561263367067394216513607019242495382830858184264483550614090785165482718418878276209540916920120389480122079678379781858644366479120600964434264566266651295951791877424311173547294808788413817169130545907660948356522637306793710529521066900515902620009743880574858562033522861766716354480554952625109705716943213200513666010821387770171419936588600661917568219017465072737712537241445489316555734290393623167498375400329625723092957930714964870335212539537134748678699686099458690412431950418707147512168004865634327584750647486012862986638327288714357431773060537797560173376294709621075332332376116357067896426476716891366390037577325651241053979772321833269198367112179542428439855276061618387081176785388223155112684014682873411281518741184188851341694357855339530348603453058869511979724869027050088234951004984897708181736393936371289557787542546513756413018011591767884863344939974555761923199404842263709163878771220296423486273380430369434694298562730351046097598053052529471761047492763939284887367626709229194885969475958513488401252648254467682117863777139733788324437969356776145431502447461001449861151600448424245309164010977630458013899113189815901446055019550035663221098483887786977350908324383689780369551692114678741841937661340259687353569803347394407387253416651520730254130139336980301824637766381679614898448253120468297974650852222412499241833389738337443290992217775259204626320555792265778607100587599021740162269954173783638005673840226915015053015626529455396987716311287058014226335751154765113686622007813605447828079791989 12548956059580772315846854587239008011675375869012784442294947006680571854497568184061411075460035838959819392073963911739172394697389635185648842808443222815676746819691503588132531931712509409384779479901950555686848430484627739100581049815556143725368875069298022634062728280774680939559158641147421002478437530471890724831503733602909933501686483592592983477432472423399103810754057840173649707205981863740475085601361754127727943858925930613979147999991545667095986071915536879787664737475781035629090584354691010595630668326157421073159128465032148009824973878114431163865248270630703640289754870563716380624500700275979330858921722294704596132984901828674541281068011608913555724759718598891962569078599476416703934573977480597784929115570465914296187017389337152491655268856061687850747293120814798167604039939706626713227260128492145141122991391573559153927645527410436338018119828598662934667883985788708015859833124771445648944017470896579527487181932314772649197125333123896776881542107253235940559475139389117851009673243678022633843293738190636140052316536916966960460053350056212339434404030174237999426442987867947765060344682258654254834735710870994218082119185400465600150815147547941989589398381789908889964860799182221271435853279844530970260502427287752910038190518598100236661458553111231519115956159797910499376863003511661196302226016663451607242384827162501000490110074116607816953475183650795791395493544461054961287858157686230153287749634119802112972677449277362178621674127426044998180641003470998832053415415712908245519286982891531039624200636473856160599695699709253833765884402070742459780697808062721417595761731356647982559274489301540582728859221105684454796576859810727997029484950042838377019633733150235690038214944965607888619139659047883066042772125655533888713924672726523486758336041376685890648704722870637504746747422133902367268320902356065996221639940673032855076719639001138826760769060935756221940913546980895793877942961155445435213498146905236266643798665645157913828689681110712084359066917773087920819851849281474812513416068009413895994428553061856621118545546175617964383329141463471995995788050877718006098320401751797218722628837528059751104009592295637921684788806521383425119161646946822957135215791394655132968751009175952153894778842243882247307002299000472598939569019205843174007308412038587168542186224036235717872004363263681151547587684685870465080068519112674559166451684300710386030946391811677539300708473148713948377704065381438833865578584355199848321046056201356042996423153711438519113917809756558173232420620930044131129354659927055635224666726341657513159541581371766999640186228109010782573706208983272544844280862575558887093587769124033115816032410103005349199866588360926830444573111481905112840296812140809981294522966695208546086594081218680376422884339622782093993171991956002469239391285473114675142010238825899286365954920143084118922215000891913270927983122936580640752442004410518543140045702482174641850214802496917966146561675687253996842971382905960426080661573355665366380781838829579241277585396905928075545877581903902498745290205540253843828487150780939705324560142693206509920216175774177774016170658585825709531067512157474960697912622731190606296528136807531160418541547167682103262779649518280818743031369268372664310185105683007124633966455157210470642059800303107566003824972021904935450733290879227515608361462966039972731228365357166764016550312515741919649286803775419759351655952954710963326912093044491341326105525398251317599675829658511540205564590306181337288139218750809994669763984708965848772114320210618779603160830346578315768845792640455495633762937847602215381639966166481065514951164560945725436443438588314439438855782269052363111485824152643923927113526177543946416814370684475427339489708950407 20304637427730640137755035119384133302624695285852572011240603133530476409109745720621661713945318776097363019273139141072580286060194853346958692865889239678455648908323687915473818045998375900671688930863467822872589774318986205548875714849954846476186540553550312283840773448890115231025131407330993363830592704398283640090631727665952452985791010215605975068572433165686273750091117422291288222845066901463901995762669473454729484914403937340565610695343896381660610001733409815495828056202123361567760006686064097967391849708842693408162354307288667337587761567511665170194887287221873989094827808684309629629635761406722485273299649224220423416397997611036434852009600312879909601581075255362638842553387103128571901275830051229940154670901394405945305806666375620726895007736349753880458363145797302245625600827924532762733491876348795836411360700290984503332902490327215388846678658905911841759587466530553664689831609693666586433276090141789087455220146677232099238959848320866741856335801890424616021018178942237432110012845551081171519315041003427470522575897229512027786545370605509653192454689628445402744892790036440686048932274360645982602411598344456415959199184950393213237922015876354017017005652787612447036904954657650986383573586878638379353617764921270678102479167616407930439792892369111527060739234202095977081009764491133608594586808237336180355457827259034770775573632410592764837510137766177524299149036302568317151096351670234998851349532767460214214122062018961246166545484762680582531022663047037602677594052144883802042058495419646070440035930723217294415189921264936398797903070421840429038895159755836758794963325165646794302733262437410878274825082771320534378110077118160114137780877029740251170520709628825656657149316042029765647203572958950249771055288562808786553771242096675510268309485947530995191887845967629902916660195753489287847222739961321365172896214657234896640782129979295726101223841129395527805113820457932139399119365660073467017680424581394481780364475976253915485037278325379701667340472770475547663919119632124341301192026426316337775273166770032894058567586519762171353630458804644653939915912813036293887196329697127672630013260351709611513487075360457461578883881126107651321323632913717420051967016955918500036145225689559173137274225074740431571485849614563384105051737624721450216849328958707558022308303714615499730648729742801752512021949252137116376020310990098870339998979109498799848115522357585200249064995786020742088233586448339349768198594099080423179608089724217809712777634266391144223623526699771373746086631751431901300774596515656297142234945359122585897254118613212488956741962399404405741204584383602170567373820506273851963922981663570250564711109789104807890279020311345537592085279486770747167881562788295994157509605022497260444025854279218173983057715917491715068504324332118826307287711949831566508400276403224937607008899915405952191413368004092813356422978212642259139523181195906766295158386496857515261496321238102154997903370045109336373319986359019295592641298224692416469016789834564138985767133299864446835435369446449012501703223551845611713350495720914261086483342098048773629380054545398070439656931966256078965761810720205311744010220784243135768289184300295099703428914794391332457665618994239332231432621916627131992302969460146858422290893126567246787491302750568567453686123622353359696042454890205146066375362079229788632674420376716799679771410999629706626637712099803449132025504646825642068754030705831601013459095201598712007063083075163060935818720445518317589963856517191674284662432962086317070088971062841192102402663736316653212136784858230754838389258403394481160247066754080087255113434515119509074449112428541354453908797895581818508473540463930981941339861928698711530500992692289032787317788742396 32853593487311412453601889706623141314300071154865356453535550140211048263607313904683072789405354615057182411347103052811752680757584488532607535674332462494132395728015191503606349977710885310056468410765418378559438204803613944649456764665510990201555415622848334917903501729664796170584290048478414366309030234870174364922135461268862386487477493808198958546004905589085377560845175262464937930051048765204377081364031227582457428773329867954544758695335442048756596073648946695283492793677904397196850591040755108563022518035000114481321482772320815347412735445626096334060135557852577629384582679248026010254136461682701816132221371518925019549382899439710976133077611921793465326340793854254601411631986579545275835849807531827725083786471860320241492824055712773218550276592411441731205656266612100413229640767631159475960752004840940977534352091864543657260548017737651726864798487504574776427471452319261680549664734465112235377293561038368614942402078992004748436085181444763518737877909143660556580493318331355283119686089229103805362608779194063610574892434146478988246598720661721992626858719802683402171335777904388451109276956619300237437147309215450634041318370350858813388737163424296006606404034577521337001765753839872257819426866723169349614120192209023588140669686214508167101251445480343046176695394000006476457872768002794804896812824900787787597842654421535771265683706527200581790985321416973315694642580763623278438954509356465152139099166887262327186799511296323424788219612188725580711663666518036434731009467857792047561345478311177110064236567197073455014885620974190232563787472492582888819592967818558176390725056522294776862007751738951461003684303877004989174686936928888111167265827072578628190154442779061346695364261007637654266343232006833315813827414218342675267695914823198997026645527324216885840592568838267407663407617887391655115543642317387361394536155330267751717501768980434552861992902065151749746027367438827933277062326815518902231178571486630748424163141621411829313726959436091786026407390543563468483770968913599153814608094435730233769701719831889515177113132695380135736959600268116649935703963690754299985516731448924891352642097879769362617496667656095383263672687647491076440485279860540377187182808350573633004896234865511327032053067318622678878488148615035983044620756830564624224157740997294726564494527750851217602653093006482904059609633938007581456088830102773429506450663410209185879061914169262739549773468934734690465937651829778183633777178454280271500654145925573852709200787977829663337541336456329546978507252681476032430129256442711932366901671700780099056795699984979488596928190508415188314910793366874715411654683081832739057510750787603366380743519892110157090145608672272368036658390968675860008178374929105975452032571717705806530619935497898550405942055540273809061676316288121295546678997422946241650410515229124223972963820058490071113628368896006084284406101149222899891965185606425309435204088979032157111711123735020121144465045732363333216291369264979721673302871580357782849798628664143380263352530205792522381312951350351511246993429092099455541837646501853966411043484791255283549596230319575844455827590552081788496829322877680272441922843515433742064817321107826260121970461962073435720445268512520150974463991184999796302488075143153983056257348283777717429551103053676133457511095644258295146775745769432661674736825045269761363902785733883563696321723515371626275924515875223208483681457601536605395666123750322942339564620599850029606738912733674601141383310751699654878103075268001668954426417671052165842203291273459971705563494082894968980982577498686250472152196250996696541887032920561152770064599076065234510892551016855793892764580164634181619959364616574905868453388106242657947315363376764460126807497692803 53158230915042052591356924826007274616924766440717928464776153273741524672717059625304734503350673391154545430620242193884332966817779341879566228540221702172588044636338879419080168023709261210728157341628886201432027979122600150198332479515465836677741956176398647201744275178554911401609421455809407730139622939268458005012767188934814839473268504023804933614577338754771651310936292684756226152896115666668279077126700701037186913687733805295110369390679338430417206075382356510779320849880027758764610597726819206530414367743842807889483837079609482685000497013137761504255022845074451618479410487932335639883772223089424301405521020743145442965780897050747410985087212234673374927921869109617240254185373682673847737125637583057665238457373254726186798630722088393945445284328761195611664019412409402658855241595555692238694243881189736813945712792155528160593450508064867115711477146410486618187058918849815345239496344158778821810569651180157702397622225669236847675045029765630260594213711034085172601511497273592715229698934780184976881923820197491081097468331375991016033144091267231645819313409431128804916228567940829137158209230979946220039558907559907050000517555301252026626659179300650023623409687365133784038670708497523244203000453601807728967737957130294266243148853830916097541044337849454573237434628202102453538882532493928413491399633138123967953300481680570542041257338937793346628495459183150839993791617066191595590050861026700150990448699654722541400921573315284670954765096951406163242686329565074037408603520002675849603403973730823180504272497920290749430075542239126631361690542914423317858488127574394935185688381687941571164741014176362339278509386648325523552797014047048225305046704102318879360675152407887003352513577049667419913546804965783565584882702781151461821467156919874507294955013271747881032480414805897310580067813640880942962766382278708726567432369987502648358283898959730278963216743194547277551141187896760072676181692475592369248858996068025230204527617597665744798764237761471487693747863314039016147690088545723495115800120862046571544974886601922409235680719215142307090590059072761303875619876503790593872713061146052563982655358231478974130983743016552844842556568773598727761808912774257797239149825306492133041041460555070500169327292393363110449973998229599367149672494455286074441007069956002284586802831465466717333301822749284656571631583190144697832109141092872299846449642519707985727177436526847939798838464720755432554171238278117533401975772553360694680262235649791662421978422244220807561164863156100920724593884432907933730903852958368229509136617059902684954049818598191977553670152907819594056115377750476885979028503588106591021433732451173616945454629681214964980424628983617905628743670455446607176059937717401969609542176740203066974645789777116724388999771457765524130180640620240121853966709372777808158810791632349161579972719973896023305041736900098897640829079361865159031488366802332075730362475475889672373207444973122276142368415777472669589611355623999017265944169805050199318815418498707519249119663505656969216748320796800523748696652643945067255188142222768227497526826889304057178976284864973914895484522518337867462591133597885584185933064299676877833106505408121359825399376756464768178110887506759483205896613101626928294791044603300841478548241410344964217042405804244700911197219266611654842818200659637807741112187124499549996577206110600363376093134515001332902562227975026657615706962248362247464420154456154543353023715801448741613801995808837662077202031197217972468066931785193343239088850633138482912292262336301163807966157819211622193119362356917005310541454654391177702134099674641240025178033591184743585341663445397148346673378060216000128432905080505887809793250034941369477816356069053492914125286435199 86011824402353465044958814532630415931224837595583284918311703413952572936324373529987807292756028006211727841967345246696085647575363830412173764214554164666720440364354070922686518001420146520784625752394304579991466183926214094847789244180976826879297371799246982119647776908219707572193711504287822096448653174138632369934902650203677225960745997832003892160582244343857028871781467947221164082947164431872656158490731928619644342461063673249655128086014780479173802149031303206062813643557932155961461188767574315093436885778842922370805319851930298032413232458763857838315158402927029247863993167180361650137908684772126117537742392262070462515163796490458387118164824156466840254262662963871841665817360262219123572975445114885390322243845115046428291454777801167163995560921172637342869675679021503072084882363186851714654995886030677791480064884020071817853998525802518842576275633915061394614530371169077025789161078623891057187863212218526317340024304661241596111130211210393779332091620177745729182004815604947998349385024009288782244532599391554691672360765522470004279742811928953638446172129233812207087564345845217588267486187599246457476706216775357684041835925652110840015396342724946030229813721942655121040436462337395502022427320324977078581858149339317854383818540045424264642295783329797619414130022202108929996755300496723218388212458038911755551143136102106313306941045464993928419480780600124155688434197829814874029005370383165303129547866541984868587721084611608095742984709140131743954349996083110472139612987860467897164749452042000290568509065117364204444961163213316863925478015407006206678081095392953111576413438210236348026748765915313800282193690525330512727483950975936336472312531174897507550829595186948350047877838057305074179890036972616881398710116999494137089163071743073504321600540595964766873072983644164718243475431528272598078310024596096087961968525317770400075785667940164831825209645259699027297168555335588005953244019291111271480037567554655978628690759219077574112491197197563273720155253857602484631461057459322648930408215297776805314676606433811924412793851910522442827549659340877953811323840194544893858229792594977455335297456111248336748480410672648228106229256421089804202294192634798174426332633657065766045937695420581827201380359711985789328462146844635350194293251285850698665164810953297011151297359216317934935954915755767560631241217128152279288197971195645729352900305929917171606239350696110679348611933655490123020108890107895717035752951007640966180916381575365515131179210222050470898706199612430467703101137114383966161033109401080161876038288760682784010845518583171466150598343416234782371026171117351601390683186669939330078944483238776983326198149573325122070570237655890273665402061424122467184238312646507945061574748457908873505265725275015274794941826998039333191856956908361417400645706795724049809221306861473385552936540032386094418670105796104981925235180511088058923453552408757385165566564454921829484918568708142397286833461509836002805902724888978738939247041385407982168614047162850899512472193711449491598061272147152034995690081736044522797025788724622193908570311680559340728572515184549759351312113070419655959420456475565856627855907815110619897923826515947619947369838718538203898556156019279634180360604286626724597279119746454824534805589694122681646593508857920834368708314910869949989593946429070469415849012169769311360479991844483927072414858030372959178486743850249866099388419849898852860086278206477485692588336401298771220540908542512263218585341948917627346170007053195012193515268304190648754495553609761135513529651902106591174101939855603255782693650905387874244021132595202392795242632667249978096234214462252942239437958224850181748392269697080793678246638141184027425131719445817953040932784128002 139170055317395517636315739358637690548149604036301213383087856687694097609041433155292541796106701397366273272587587440580418614393143172291739992754775866839308485000692950341766686025129407731512783094023190781423494163048814245046121723696442663557039327975645629321392052086774618973803132960097229826588276113407090374947669839138492065434014501855808825775159583098628680182717760631977390235843280098540935235617432629656831256148797478544765497476694118909591008224413659716842134493437959914726071786494393521623851253522685730260289156931539780717413729471901619342570181248001480866343403655112697290021680907861550418943263413005215905480944693541205798103252036391140215182184532073489081920002733944892971310101082697943055560701218369772615090085499889561109440845249933832954533695091430905730940123958742543953349239767220414605425777676175599978447449033867385958287752780325548012801589290018892371028657422782669878998432863398684019737646530330478443786175240976024039926305331211830901783516312878540713579083958789473759126456419589045772769829096898461020312886903196185284265485538664941012003792913786046725425695418579192677516265124335264734042353480953362866642055522025596053853223409307788905079107170834918746225427773926784807549596106469612120626967393876340362183340121179252192651564650404211383535637832990651631879612091177035723504443617782676855348198384402787275047976239783274995682225814896006469619056231409865454119996566196707409988642657926892766697749806091537907197036325648184509548216507863143746768153425772823471072781563037654953875036705452443495287168558321429524536569222967348046762101819898177919191489780091676139560703077173656036280280965022984561777359235277216386911504747594835353400391415106972494093436841938400446983592819780645598910630228662948011616555553867712647905553398450062028823543245169153541041076406874804814529400895305273048434069566899895110788426388454246304848309743232348078629425711766703640728896563622681208833218376816743318911255434959034761413903117171641500779151146005046144046208336159823376859651493035734333648474571125664749918139718413639257686943716698335487730942853741030019317952814342727310879464153689201072948785825194688531964103105409055971665482458963557899086979155975652327370707652105348899778436145074234717343965745741136773106171880909299295738100190681784652269256738505052217202872800318296977120307112288518029199349948449625157333416787222958619147450398376245555574280128386013250437728723561001660861178617225157177553157632466271278459871062768531388427695021547291899891936962359448391385174905820585468964895337181363443704268496324054376427141548867828487369711690258045921100378215689950600271652779254540087050994866639508179294145731879569074360298250363909914671116925198111940479911515052131999183941598455804857322037597528601539254612416168501857968032098493822547132909260006282117723711842696203879566064259872953217954941919211089460895929039930811501858126013681264673429201877287308672395514080512977756205191211190458181487429465661558418761591857217106460814809592943952558744386734379989590052213930947390421406097138569863397907548800049523674246796635588757523422011590073451440813788972114787497731030331924068979772769215475002972076667043526039117386257217388253652892070164349755666013353831104467645863635914662165535279905534177481604832412147088708277156961199294268861357057197955084290448507992545374292081048971825276523715095382098261100324506432662632029045612052202747512834342904351349925295787373146135599814236938838388355432604118937329131666787815946062299321495809721318213367221302212520261093235105559779051946155232269843632820420666258434721681575877907650090586111336285066181876825174777586681488039888176125396902948075514871445955058070563201 225181879719748982681274553891268106479374441631884498301399560101646670545365806685280349088862729403578001114554932687276504261968507002703913756969330031506028925365047021264453204026549554252297408846417495361414960346975028339893910967877419490436336699774892611441039828994994326545996844464385051923036929287545722744882572489342169291394760499687812717935741827442485709054499228579198554318790444530413591394108164558276475598609861151794420625562708899388764810373444962922904948136995892070687532975261967836717288139301528652631094476783470078749826961930665477180885339650928510114207396822293058940159589592633676536481005805267286367996108490031664185221416860547607055436447195037360923585820094207112094883076527812828445882945063484819043381540277690728273436406171106470297403370770452408803025006321929395668004235653251092396905842560195671796301447559669904800864028414240609407416119661187969396817818501406560936186296075617210337077670834991720039897305452186417819258396951389576630965521128483488711928468982798762541370989018980600464442189862420931024592629715125138922711657667898753219091357259631264313693181606178439134992971341110622418084189406605473706657451864750542084083037131250444026119543633172314248247855094251761886131454255808929975010785933921764626825635904509049812065694672606320313532393133487374850267824549215947479055586753884783168655139429867781203467457020383399151370660012725821343648061601793030757249544432738692278576363742538500862440734515231669651151386321731294981687829495723611643932902877814823761641290628155019158319997868665760359212646573728435731214650318360301158338515258108414267218238546006989939842896767698986549007764915998920898249671766452113894462334342781783703448269253164277568273326878911017328382302936780139735999793300406021515938156094463677414778626382094226747067018676697426139119386431470900902491369420623043448509855234840059942613636033713945332145478298567936084582669731057814912208934131177337187461909136035820893023746632156598035134058371029243985410612203464368792976616551457600182174328099469546258061268423036187192745689377754517211498267556892880381589172646336007474653250270453975647627944564361849301055015081615778336166397298043854146091815092620623665132916851396234154572088011817334689106898291918870067538258997026987471771336691862596306889397549898102587205211654260819777834114017446449256408505083484163758552250254379542328939656137919069298496062332031735678594389018493908967473481674568642627042094998800522692684336842688321749358577262380961856130796158661675866052970071760528553261213194581268252975740855764534909854866839740289158798167719985180088760394876927985251179322698928727583597850928827865209121565104295398452959547793303691541544536563010417859732691673656020813985177240327147273978883425453844190513894554436962956655258122964225907777253405355295932685845800038668212142381948492308861491299440384041276878395471619846846061495604385733331343044582389407070716035338797144675201416805401956495144438252575866163656043512824409318274064050928555952412870865091104593740076816116034112849239719672012615314667450250422738636121315234073433598108748659177179381432046549017297441644879929898117628954158440016599720139054193541175975223199545318751566617821674880377489349284096210490548159420798590327510229423520086369648613849088351554822006093517778746572810211464038172717537189799568217520922850575747251259535715675526389814483801948159953184592710869109514738200388604046284054883812893862188514372715095053227160406945891583367626119387241519780421283369555823434835025461623424804541323242068123516875928756465166926190176364865046025615663298925684699777810092369903032825549294509916363625217444474667475166286526317309424328079794960689398995990854691203 364351935037144500317590293249905797027524045668185711684487416789340768154407239840572890884969430800944274387142520127856922876361650174995653749724105898345337410365739971606219890051678961983810191940440686142838454510023842584940032691573862153993376027750538240762431881081768945519799977424482281749625205400952813119830242328480661356828775001543621543710901410541114389237216989211175944554633724628954526629725597187933306854758658630339186123039403018298355818597858622639747082630433851985413604761756361358341139392824214382891383633715009859467240691402567096523455520898929990980550800477405756230181270500495226955424269218272502273477053183572869983324668896938747270618631727110850005505822828152005066193177610510771501443646281854591658471625777580289382877251421040303251937065861883314533965130280671939621353475420471507002331620236371271774748896593537290759151781194566157420217708951206861767846475924189230815184728939015894356815317365322198483683480693162441859184702282601407532749037441362029425507552941588236300497445438569646237212018959319392044905516618321324206977143206563694231095150173417311039118877024757631812509236465445887152126542887558836573299507386776138137936260540558232931198650804007232994473282868178546693681050362278542095637753327798104989008976025688302004717259323010531697068030966478026482147436640392983202560030371667460024003337814270568478515433260166674147052885827621827813267117833202896211369540998935399688565006400465393629138484321323207558348422647379479491236046003586755390701056303587647232714072191192674112195034574118203854499815132049865255751219541327649205100617078006592186409728326098666079403599844872642585288045881021905460027031001729330281373839090376619056848660668271250062366763720849417775365895756560785334910423529068969527554711648331390062684179780544288775890561921866579680160462838345705717020770315928316496943924801739955053402062422168191636993788041800284163212095442824518552937830694800018396295127512852564211935002067115632796547961488200885486189763349469414937022824887617423559033979592505280591709742994161851942663829096168156469185211273591215869320115500077037493971203084796702958507408718051050374003800906810466868130500403452910117757297551584181564219896007371886481942795663922683588885334436993104784882224742768124244877508572771895602627497740579887239474468392765871995036986817764746233528812195772681787751600202829167486273072925142027917643512730407981234168669146879922217911210398129644287903273616025679870237494475154593027818448325149493244558491180208967765944907034119976944646388100401853721940636192945898353559135336064343535225309268853008576130106567186031172279700914618678183869503708082405296172559970934906632253693525183260615904834813374327774403808598854132754465088755379279273162825023909649047835932151965564495909870539132727765745285503849118479818755060044950329866093791188512741057363700256994494833337390830936306957424644316544833201170596070671744145237216084453347596930885914934251349629463766324345143472978485967737035655908145662413227680458035057152484463550496023702901453650619403036720764588820286136543670115283597107844905384247934702803443636622468738255433852044685615359984490364085579492908269668544148051890243071357868952875039063134030381419448445966156561513251903057973373865338182251904928519383265833159654418240606487023729771410758307034074594387754652507969430843121121543340584687500802913529579184046421053509099143531741543783812440806793796889226717245212113810160088241188826974643884729971723058723506178848912088071185501885734156521271344743017908544544280643777969163862024945978136331597134889658436083965184119421459385970277553123411660630794982545502042619252254156654326414493434821231027870475560844951048925254404 589533814756893482998864847141173903506898487300070209985886976890987438699773046525853239973832160204522275501697452815133427138330157177699567506693435929851366335730786992870673094078228516236107600786858181504253414856998870924833943659451281644429712727525430852203471710076763272065796821888867333672662134688498535864712814817822830648223535501231434261646643237983600098291716217790374498873424169159368118023833761746209782453368519782133606748602111917687120628971303585562652030767429744056101137737018329195058427532125743035522478110498479938217067653333232573704340860549858501094758197299698815170340860093128903491905275023539788641473161673604534168546085757486354326055078922148210929091642922359117161076254138323599947326591345339410701853166055271017656313657592146773549340436632335723336990136602601335289357711073722599399237462796566943571050344153207195560015809608806766827633828612394831164664294425595791751371025014633104693892988200313918523580786145348859678443099233990984163714558569845518137436021924386998841868434457550246701654208821740323069498146333446463129688800874462447450186507433048575352812058630936070947502207806556509570210732294164310279956959251526680222019297671808676957318194437179547242721137962430308579812504618087472070648539261719869615834611930197351816782953995616852010600424099965401332415261189608930681615617125552243192658477244138349681982890280550073298423545840347649156915179434995926968619085431674091967141370143003894491579218836554877209499808969110774472923875499310367034633959181402470994355362819347693270515032442783964213712461705778300986965869859687950363439132336115006453627966872105656019246496612571629134295810797020826358276702768181444175836173433158402760296929921435527630640090599760435103748198693340925070910216829474991043492867742795067477462806162638515522957580598564005819279849269816606619512139736551359945453780036580014996015698455882136969139266340368220247794765173882333465146764825977355583757036648888385104958748699272230831682019859230129471600375552933783729999441439075023741208307691974826849771011417198039135409518473922673680683478830484096250909288146413044968624453355250678606135353282412899675058815988426245204296897701496764263849112644204805229352812858768120636514883675740018277992232728911974852420483739795111716648845264634491909516895290477989826679680047026691772871100835211195489937317279256845546303850457208709815212729063061097216139575062439716912763058165373831185384692072698286914945368614826202562921831317842914777177025587530455100689287338870643631997877105880505497907601294983121974916377048710433263414002175804632694023476988838188664890501444114016423459023613547405767467354636910270505294125075230305085213241318486952157449371376384745634136500272510153568450265995706426547141708449363493238349826706402527452565128662096953673522538909204414412504600860083618542008475739680821602548663140641035771711732862450783153018920248702278164544215178460078814861272554881598022798347691316890746494067716342190508799516491310377055309719959074218365640551323126161746224540366612057815750693370291415652035432039070708875179791430517670541443014132907111882184875683171486035697078731974583732988938648804102179213047323862085324027113442616676620519492860738014407870768732542176647109672672701648300884094761702338274577133232354184714476424334124265770302581622222345206792131577554220725490353693696868794600120403176329303344062985994581006693691854400851058522012829410840080944110530139074302324532803336242054135050830621555090684842893420368692509354555057709168991546732968167822449867786348767294845092618490112904326507961999935684051747264109804121237196062647456156237209925304898909127260063726921631820612940810744245559107665436250243947039779945607 953885749794037983316455140391079700534422532968255921670374393680328206854180286366426130858801591005466549888839972942990350014691807352695221256417541828196703746096526964476892984129907478219917792727298867647091869367022713509773976351025143798423088755275969092965903591158532217585596799313349615422287340089451348984543057146303492005052310502775055805357544648524714487528933207001550443428057893788322644653559358934143089308127178412472792871641514935985476447569162208202399113397863596041514742498774690553399566924949957418413861744213489797684308344735799670227796381448788492075308997777104571400522130593624130447329544241812290914950214857177404151870754654425101596673710649259060934597465750511122227269431748834371448770237627194002360324791832851307039190909013187076801277502494219037870955266883273274910711186494194106401569083032938215345799240746744486319167590803372924247851537563601692932510770349785022566555753953648999050708305565636117007264266838511301537627801516592391696463596011207547562943574865975235142365879896119892938866227781059715114403662951767787336665944081026141681281657606465886391930935655693702760011444272002396722337275181723146853256466638302818359955558212366909888516845241186780237194420830608855273493554980366014166286292589517974604843587955885653821500213318627383707668455066443427814562697830001913884175647497219703216661815058408918160498323540716747445476431667969476970182297268198823179988626430609491655706376543469288120717703157878084767848231616490253964159921502897122425335015484990118227069435010540367382710067016902168068212276837828166242717089401015599568539749414121598640037695198204322098650096457444271719583856678042731818303733769910774457210012523535021817145590589706777693006854320609852879114094449901710405820640358543960571047579391126457540146985943182804298848142520430585499440312108162312336532910052479676442397704838319970049417760878050328606133054382168504411006860616706852018084595520777373980052164161740949316893750766387863628229981347431014957790138902403198667022266326692447300242287284480107441480754411359891078073347570090830149868690104075312120229403646490082462595656440047381564642762000463950049062616895236712072427398104949674381606410195788986793572708866140007118457679339662701866877567165905079637302708482563235961526353837406387512144393031057877066154148439792563767908087652975941723466129475029527334055450660037877301485801988203125133783087792847698146931727312253753403295902470827931202848642230851882433159325792997507804995473912679948345247778519079611397942784140000482442553989395384975696857013241656331616973137511868976229248786257691197241020608011300047595738724528166083951336858344992675801466685046165211717466934843670212773354206189759073408540308871364286322915354751085705820304533473273142286185758858368091948474999201229681439267824413053532892323355920128568871874569530869334343606026840898030266545070253281719459976344893018822997745385774530750559006509770966051370395278577231824997843697180108514853942989469796344792345375867219880778868231781161218898709003917108081518652147020910818688756196627890995011723461545801267649287919517155046584988319319793954773952512584019269348348923139168187758705955593530629472079003685688034489472367899801148438252188180988142803671185924604706274257960099884590179505652615620017874130842574730752794032353032980652240866725965308873233459784536817990337940705090677132216873642170041002060202790997932592602305825270217633877833337247384286416134692891577430881109694715351526813743566399599217604597425740559594903148068004312910840358412330629411072814256480515058882462839559134825342487831229293923542696582032925009279648870556099881454629302682979175788474939355304179066790135535911811088898088705200011 1543419564550931466315319987532253604041321020268326131656261370571315645553953332892279370832633751209988825390537425758123777153021964530394788763110977758048070081827313957347566078208135994456025393514157049151345284224021584434607920010476425442852801482801399945169375301235295489651393621202216949094949474777949884849255871964126322653275846004006490067004187886508314585820649424791924942301482062947690762677393120680352871761495698194606399620243626853672597076540465793765051144165293340097615880235793019748457994457075700453936339854711969735901375998069032243932137241998646993170067195076803386570862990686753033939234819265352079556423376530781938320416840411911455922728789571407271863689108672870239388345685887157971396096828972533413062177957888122324695504566605333850350617939126554761207945403485874610200068897567916705800806545829505158916849584899951681879183400412179691075485366175996524097175064775380814317926778968282103744601293765950035530845052983860161216070900750583375860178154581053065700379596790362233984234314353670139640520436602800038183901809285214250466354744955488589131468165039514461744742994286629773707513652078558906292548007475887457133213425889829498581974855884175586845835039678366327479915558793039163853306059598453486236934831851237844220678199886083005638283167314244235718268879166408829146977959019610844565791264622771946409320292302547267842481213821266820743899977508317126127097476703194750148607711862283583622847746686473182612296921994432961977348040585601028437083797002207489459968974666392589221424797829888060653225099459686132281924738543606467229682959260703549931978881750236605093665662070309978117896593070015900853879667475063558176580436538092218633046185956693424577442520511142305323646944920370287982862293143242635476730857188018951614540447133921525017609792105821319821805723118994591318720161377978918956045049789031036387851484874899985045433459333932465575272320722536724658801625790589185483231360346754729563809200810629334421852499465660094459912001206661144429390514455336982397021707765767471041450594976454934291251765828557930213482866044013503830552168934559408371138691792903127431220109795298060170778115282876849724121432883662957276724295806446438645455522839993792022925521724908127754972563015402720144869799894817054489723192222358347678175199102040879421661288321535866892833828486819255540779188488187137213403446754286372880359301117246587116698531051264222349922662855287415059694785477627584588680594543526218117794010845678084996081157110840422582172499500210403445937065857950255029940661245880987940461590690368097671773390290366764880387139687673608923272263246529385905911109455414064019197748141713489718804212981902946306760810121395516802680176162157164930803577566143819042676809143874439891365620746792132367446241922636635524535585564770619401040127863326635112790363322257947304827956780212187413883045270550155946154689981539066038256803115732502612995265141721101162289600952990829373867782325847649393193626268548715744337764896450705362742505961106721847655095826294099144508783104287380644933544283720139334402840391202234340791628666961703886903252976318938190730933650062158467173195002965440809649591315993853081337861787972289937919002917392714796106117128304711109991860760539162846122956913530319450780858597306354575142054861586928454082785847974202588607266908855018564334934655202997447658857542863093958950138230514859132540825493853461520217705156035583066896482852333443660827838099628473958777447777523360718459225694913672935244745545973081904428409293019586297106780295617304072139614737281078662808280116978178367659349099005171786789347521134761026539578493403727663933778095572465435886080481404780363756562746706097420295552296114923312349243201348061332845128485145618 2497305314344969449631775127923333304575743553236582053326635764251643852408133619258705501691435342215455375279377398701114127167713771883090010019528519586244773827923840921824459062338043472675943186241455916798437153591044297944381896361501569241275890238077369038135278892393827707236990420515566564517236814867401233833798929110429814658328156506781545872361732535033029073349582631793475385729539956736013407330952479614495961069622876607079192491885141789658073524109628001967450257563156936139130622734567710301857561382025657872350201598925459533585684342804831914159933623447435485245376192853907957971385121280377164386564363507164370471373591387959342472287595066336557519402500220666332798286574423381361615615117635992342844867066599727415422502749720973631734695475618520927151895441620773799078900670369147885110780084062110812202375628862443374262648825646696168198350991215552615323336903739598217029685835125165836884482532921931102795309599331586152538109319822371462753698702267175767556641750592260613263323171656337469126600194249790032579386664383859753298305472236982037803020689036514730812749822645980348136673929942323476467525096350561303014885282657610603986469892528132316941930414096542496734351884919553107717109979623648019126799614578819500403221124440755818825521787841968659459783380632871619425937334232852256961540656849612758449966912119991649625982107360956186002979537361983568189376409176286603097279773971393573328596338292893075278554123229942470733014625152311046745196272202091282401243718505104611885303990151382707448494232840428428035935166476588300350137015381434633472400048661719149500518631164358203733703357268514300216546689527460172573463524153106289994884170308002993090256198480228446394588111100849083016653799240980140861976387593144345882551497546562912185588026525047982557756778049004124120653865639425176818160473486141231292577959841510712830249189713219955094851220211982794181405375104705229069808486407296037501315955867532103543861364972370283738746250232047958088141982554092159387180653357740181064043974092459918341692882260935041732732520239917821291556213614104333980420859038634720491368095439393209893815766235345441735420877283340799773184049778899669349151693911396113027061933035782778816498230591048134873430242355065422011747367060722134127025900704921583639701552939447266933805681352593743958987976926611819308687276141163078936869576229315900214414751777284464418184333039467347483705750648135113206626512789881337991976497014354149320642653076529967429240482903837930387167973412890351791184844377029866427883445385881470383015580085753073368630403532023096497360277199542585152521049504220583146931717466714111614936472669879573670141071326895622108227495167560728520147111005827377704157783755902892451217118015238726214280975497877838187750775395909777810721344423138711349515127064556316552058187735311480197151312700340756285757614801419490289760716822437096304801873369014222072971610034739924160034986727521579932874292096813700763588904845780540742181462076559220216685495430903066640000471693513979923377014885448599543642548200828220853054987412113053029547825294852698898626714522120205840018853167217205052161514322759395583602103900013122429686784927140477696624958510923344268185120813992745599464228660340311284375145094518462254452044521911060849400014961471518633588438463594220462738109483585771358367287688183649688525583508171967192409922767332849470481530584530593737091347326076585127099273850266036263133663369846107836610785024907647134593918586491103816354440261324608718171975692618803901704206036176898975287682741593989503166692447607589440473605579520230669252187080269586369027409722697651206630360128497474715534951037504661818385865429685273208770491651419102379139378737259872421743217190345629 4040724878895900915947095115455586908617064573504908184982897134822959497962086952150984872524069093425444200669914824459237904320735736413484798782639497344292843909751154879172025140546179467131968579755612965949782437815065882378989816371977994684128691720878768983304654193629123196888384041717783513612186289645351118683054801074556137311604002510788035939365920421541343659170232056585400328031022019683704170008345600294848832831118574801685592112128768643330670600650093795732501401728450276236746502970360730050315555839101358326286541453637429269487060340873864158092070865446082478415443387930711344542248111967130198325799182772516450027796967918741280792704435478248013442131289792073604661975683096251601003960803523150314240963895572260828484680707609095956430200042223854777502513380747328560286846073855022495310848981630027518003182174691948533179498410546647850077534391627732306398822269915594741126860899900546651202409311890213206539910893097536188068954372806231623969769603017759143416819905173313678963702768446699703110834508603460172219907100986659791482207281522196288269375433992003319944217987685494809881416924228953250175038748429120209307433290133498061119683318417961815523905269980718083580186924597919435197025538416687182980105674177272986640155956291993663046199987728051665098066547947115855144206213399261086108518615869223603015758176742763596035302399663503453845460751183250388933276386684603729224377250674588323477204050155176658901401869916415653345311547146744008722544312787692310838327515507312101345272964817775296669919030670316488689160265936274432632061753925041100702083007922422699432497512914594808827369019338824278334443282597476073427343191628169848171464606846095211723302384436921870972030631611991388340300744161350428844838680736386981359282354734581863800128473658969507575366570154825443942459588758419768136880634864120150248623009630541749218100674588119940140284679545915259756677695827241953728610112197885222984547316214286833107670565782999618160598749697708052548053983760753303816571167813077163461065681858227389383143477237389976023984286068475751505039079658117837810973027973194128862506787232296337325035876030643501906198992566217649497305482662562626625875989717842551672517455875776570839423752315956262628402805370468142156617166955539188616749092927279931317876752041488146355466969674129610851821805413431074849466464629350216150273022983602273094774052894531051534882864090731569833628413503422528266321298267508922580657091557880367438436663922208052425321640014678352969340472913100755237121910234980121457824106631762458323477170776121171040403793822389861377747416887216194075793312750749969052842826922128175634134220811593063388945284308798568414988305288956245322827287167984542634961361322046711493893927159113166105646596244669970555197017318546413335256929987909330750555254927882951664848551057569427501979269480552943699640660071969646235915406803976162343058676484746724685966875176461025322324587680512409306742074422661350156782531114329256486519226973009925579428001392009788487655567519808079067885797989735980188576092484548360187457827803315287370339453961814402785529967498439144030749786817279363519334709325724836393251695216006975511024646715112767634543961428316059064291237942297456709456089420879474130498102008048781705232903119217415424542069823058447087671224311568423051345376392440789922702222343386647136184441051035061151360060997847708603022356078384055257309052482112168193995756702599479923961501469474581795388232802431007853053144281404776751599185807297690622600384985638390198810986331794203047427297478875068165974972564585767808132954678525402456041534601404347395566988216101378870564138224069940151421031518909442182142428176391370629066043947534025691488621938607933754588345675491247 6538030193240870365578870243378920213192808126741490238309532899074603350370220571409690374215504435640899575949292223160352031488449508296574808802168016930537617737674995800996484202884222939807911765997068882748219591406110180323371712733479563925404581958956138021439933086022950904125374462233350078129423104512752352516853730184985951969932159017569581811727652956574372732519814688378875713760561976419717577339298079909344793900741451408764784604013910432988744124759721797699951659291607212375877125704928440352173117221127016198636743052562888803072744683678696072252004488893517963660819580784619302513633233247507362712363546279680820499170559306700623264992030544584570961533790012739937460262257519632962619575921159142657085830962171988243907183457330069588164895517842375704654408822368102359365746744224170380421629065692138330205557803554391907442147236193344018275885382843284921722159173655192958156546735025712488086891844812144309335220492429122340607063692628603086723468305284934910973461655765574292227025940103037172237434702853250204799293765370519544780512753759178326072396123028518050756967810331475158018090854171276726642563844779681512322318572791108665106153210946094132465835684077260580314538809517472542914135518040335202106905288756092487043377080732749481871721775570020324557849928579987474570143547632113343070059272718836361465725088862755245661284507024459639848440288545233957122652795860890332321657024645981896805800388448069734179955993146358124078326172299055055467740584989783593239571234012416713230576954969158004118413263510744916725095432412862732982198769306475734174483056584141848933016144078953012561072376607338578550989972124936246000806715781276138166348777154098204813558582917150317366618742712840471356954543402330569706815068329531327241833852281144775985716500184017490133123348203829568063113454397844944955041108350261381541200969472052462048349864301339895235135899757898053938083070931947182798418598605181260485863272081818936651531930755369901899344999929756010636195966314845463203751821170817344525109655950687307724836359498325017756716806308393572796595293272222171791393887011828849353874882671689547218851642265988943641619869849558449270489532441462295975027683629238664699579388911559349655921982907004397501833047725533564168364534016261322743774993632201514957578304980935413289272651026723354810809782340042894158153740770513295087142599212918173309188804671815515953067197130198917317334164151557641472947811057390260572633588572234516759079316998738019854562122918516283356508446325991107028306754612009987885707552017643928706492750861874244409034197354412957875107694086758779228314362254970552199774544388842287249070693481472637059086355635694190523215800456516973842974398173811920339119145077949603945111045174351892319927571742547808742947792714456191145978274411048042100070381992439268216906738792880907699130582180893699985398274873389136525676123626413258647860549853760946758938485211200949482359574408033989239616366519475050920371435960109797228700689049569145796113496822912855127656039213322058991262812875184579732218640685376581040512815215428340399887279256667101684156682020559349870768639984496568571496223648484231976853799116020097940711431642253245331168919939239403332476358756290202308920318081219785414873247102567243959684947641128476273942084784529965721259662775162643514083485876026561281069510031570296824710024559207028343769983765180558073503886662914648994400399808188753321095030552865516187095164839320689631999017827338654987647062867895880567953626068622299340772360678257194100515192367971102022714980220469057669141665012193357248606560258045633125293721681673933764594397938799030077194498352567414866955982556414104000528293606076643837836535598953128070628000675867806176331562865836876 10578755072136771281525965358834507121809872700246398423292430033897562848332307523560675246739573529066343776619207047619589935809185244710059607584807514274830461647426150680168509343430402406939880345752681848698002029221176062702361529105457558609533273679834907004744587279652074101013758503951133591741609394158103471199908531259542089281536161528357617751093573378115716391690046744964276041791583996103421747347643680204193626731860026210450376716142679076319414725409815593432453061020057488612623628675289170402488673060228374524923284506200318072559805024552560230344075354339600442076262968715330647055881345214637561038162729052197270526967527225441904057696466022832584403665079804813542122237940615884563623536724682292971326794857744249072391864164939165544595095560066230482156922203115430919652592818079192875732478047322165848208739978246340440621645646739991868353419774471017228120981443570787699283407634926259139289301156702357515875131385526658528676018065434834710693237908302694054390281560938887971190728708549736875348269211456710377019200866357179336262720035281374614341771557020521370701185798016969967899507778400229976817602593208801721629751862924606726225836529364055947989740954057978663894725734115391978111161056457022385087010962933365473683533037024743144917921763298071989655916476527103329714349761031374429178577888588059964481483265605518841696586906687963093693901039728484346055929182545494061546034275320570220283004438603246393081357863062773777423637719445799064190284897777475904077898749519728814575849919786933300788332294181061405414255698349137165614260523231516834876566064506564548365513656993547821388441395946162856885433254722412319428149907409445986337813384000193416536860967354072188338649374324831859697255287563680998551653749065918308601116207015726639785844973842986997708489918358655012005573043156264713091921743214381531789823979102594211266450538889459835375420579303813313694760766759189136527028710803066483470410588296105769759202496538369520059943749627464063184249950075598767020322988983894507986175337808914697107979836735714993780701092376869324301634372930340009602366914985022978216381669903985884543887518296632445547818862415776098767795015104024922600903673347081216372096844787335920495345735222960660130235853096001706324981700971800511360524086559481446275455057022423559644739620700852965662631587753473969007620205399863511237415622196520446403962857566346567487950061220930487150962577654980169739269109324899183153290680130114884197515980920946072279883762933194636325848919239091862265428664846990109343531658649406387029969921637995415449437991176802819252855110973974973304107675005720521252617371310970462883204914293065700448031639944492758938204105745473219165801685341796462974080506399996315439004972333465058425574167987217779298144810033002604481235204398957372850625636920322219881755289850450335201109851661446643685038934945358782761591530430389420990919226338507671444905360387661974804684162088546398546358440942136401077153967074439053715219916022579071375541498214922643615311606733130138059148610864920559920794733169924941227970643018743627770226733218481504469686649518998493901518426801775932090830932974209068370105494332027073451736078357366012965712881367555462396767596698587659018376407502099259545371349110616025664917850760345891698484154607588412808930887086731066565428862268467351203771732374956943960894465610242089495130044763028266676526242741298704251709452290300921515090787255464996111056666308795271427387250629769662840700207149300657319552811875919989963372745663895584299326178699765305070142277699344125835116637576779125056739514936571035581335256283078281160161386154900408947758636576637355018377014075323546182670721782468014466902579546487153762116622614475739930919908541328123 17116785265377641647104835602213427335002680826987888661601962932972166198702528094970365620955077964707243352568499270779941967297634753006634416386975531205368079385101146481164993546314625346747792111749750731446221620627286243025733241838937122534937855638791045026184520365675025005139132966184483669871032498670855823716762261444528041251468320545927199562821226334690089124209861433343151755552145972523139324686941760113538420632601477619215161320156589509308158850169537391132404720311664700988500754380217610754661790281355390723560027558763206875632549708231256302596079843233118405737082549499949949569514578462144923750526275331878091026138086532142527322688496567417155365198869817553479582500198135517526243112645841435628412625819916237316299047622269235132759991077908606186811331025483533279018339562303363256154107113014304178414297781800732348063792882933335886629305157314302149843140617225980657439954369951971627376193001514501825210351877955780869283081758063437797416706213587628965363743216704462263417754648652774047585703914309960581818494631727698881043232789040552940414167680049039421458153608348445125917598632571506703460166437988483233952070435715715391331989740310150080455576638135239244209264543632864521025296574497357587193916251689457960726910117757492626789643538868092314213766405107090804284493308663487772248637161306896325947208354468274087357871413712422733542341328273718303178581978406384393867691299966552117088804827051316127261313856209131901501963891744854119658025482767259497317469983532145527806426874756091304906745557691806322139351130761999898596459292537992569051049121090706397298529801072500833949513772553501435436423226847348565428956623190722124504162161154291621350419550271222505705268117037672331054209830966011568258468817395449635842950059296871415771561474027004487841613266562484580068686497554109658046962851564642913331024948574646673314800403190799730610556479061711367632843837691136319325447309408247743956273860377924706410734427293739421959288749557220073820445916390444230224074810154711852511284993759602004832816196234040011537417898685262897098229666202562181393760801996851827570256552575675431762739160562621389189438732265334548038284547545487218575931356976319881071676233698895270151267718129965057632068900821535270493346234988061834104299080191682961233033362003358972934012271727576320473441370093516863165773946170376806324558221409438619713151662238162083441017258351129404468296741806537811212216920382289443725924268702349400956595297919684092134445885851710919682357365565082969293735419459000097229239210667050315736462672499869659858472188531215777127962805060733752532422037260691073452391915699812750132275607774538337507117995580186949461419906201990193008776083515608383313199651477945919384116017507816950745501739729765588041092602747458795627213478810005414950696018912761488098662028643331242900240433842340343670437209818747919287267654056802679638779776192268618203843845598862924287043736496580387785974807461611451997525403034548850943920605072148217171654995037835498742967645946452197050411423740105139653013373855301522268483458234171968170114012475148606153843331539557843772287066786272500662327156622693300346959293448047171392447509999619258296881801306794865729243955454877861327296725583319044960244596213183269624602798401474367972426239392118378530190549861893710079512348144493912484841242406527240785604490169449117838900028528208824750030129404213353246109852098489674836185817808330512298151831148115961059386268457108317828347270017196537887506437944542289304145106342152778399841371067736407092857257919813183504258302588972482305346075194616668706628977964752214924755784093699439024953134929204769885332996631737650183199015388544658304739115145440281832744623290343546107251471407164999 27695540337514412928630800961047934456812553527234287084894392966869729047034835618531040867694651493773587129187706318399531903106819997716694023971783045480198541032527297161333502889745027753687672457502432580144223649848462305728094770944394681144471129318625952030929107645327099106152891470135617261612641892828959294916670792704070130533004482074284817313914799712805805515899908178307427797343729968626561072034585440317732047364461503829665538036299268585627573575579352984564857781331722189601124383055506781157150463341583765248483312064963524948192354732783816532940155197572718847813345518215280596625395923676782484788689004384075361553105613757584431380384962590249739768863949622367021704738138751402089866649370523728599739420677660486388690911787208400677355086637974836668968253228598964198670932380382556131886585160336470026623037760047072788685438529673327754982724931785319377964122060796768356723362004878230766665494158216859341085483263482439397959099823498272508109944121890323019754024777643350234608483357202510922933973125766670958837695498084878217305952824321927554755939237069560792159339406365415093817106410971736680277769031197284955581822298640322117557826269674206028445317592193217908103990277748256499136457630954379972280927214622823434410443154782235771707565302166164303869682881634194133998843069694862201427215049894956290428691620073792929054458320400385827236242368002202649234511160951878455413725575287122337371809265654562520342671719271905678925601611190653183848310380544735401395368733051874342382276794543024605695077851872867727553606829111137064210719815769509403927615185597270945664043458066048655337955168499664292321856481569760884857106530600168110841975545154485037887280517625294694043917491362504190751465118529692566810122566461367944444066266312598055557406447869991485550103184921139592074259540710374371138884594779024445120848927677240884581250942080259565985977058365524681327604604450325455852476020211314227426684448674030476169936923832108942019232499184684137004695866466042997244397799138606360497460331568516701940796032969755005318118991062132221399864039132902190996127716981874805786638222479661316306626678859253834737257594681110646806079562649512141176835030323401097443773078486231190646613453352925717762304753917536976818327935959862345464823166751164407508488419025782532578751892428429286136072957846990832173394151570240317561973843605959066117114519804508650928967319572059891619259319461517980951486029707188626879214948832464285154111278840630164414329648784905556008206284804174831559164084305990206572770869316456702766432594137865075307910179708018596380817916034708725836529712266411594705009287010783213015480522067604037955149635524679708399624011947463412174577768857404846287280157877942234823120989841282009171075907716983367339237412780461400108448683208962787801321655833083707980417318493781578101350285503786987355476144764106702048859184487192100629699002530776289648749205986524899091727898585126786332333248403747853074679370108987904659140521094727288547196493252758142358279252679582335109560034605025699573808107025226463496454101252915595940340745693630110623529981058556337673805493588048432753158089596902368717064787780074244844183588356985271262594682674350328126011552153465520345673133085418304505615945323799295289520649161820259670910393999706791339121436948624776644941210412961263688612974781484184746498955779691207334030073291237091426556372145512057497819304388790596351276605063795508409208497456911232486773519086877980669047477166497195207059249820462279267517852006048362699167549767501712162999535619157309339374940165751607362085590131187704287964234247830496084917170248599847972711771505842124903710010707061196365869737171012672771641694691927435594861245904819286038171379948493122 44812325602892054575735636563261361791815234354222175746496355899841895245737363713501406488649729458480830481756205589179473870404454750723328440358758576685566620417628443642498496436059653100435464569252183311590445270475748548753828012783331803679408984957416997057113628011002124111292024436320100931483674391499815118633433054148598171784472802620212016876736026047495894640109769611650579552895875941149700396721527200431270467997062981448880699356455858094935732425748890375697262501643386890589625137435724391911812253622939155972043339623726731823824904441015072835536235040805837253550428067715230546194910502138927408539215279715953452579243700289726958703073459157666895134062819439920501287238336886919616109762016365164228152046497576723704989959409477635810115077715883442855779584254082497477689271942685919388040692273350774205037335541847805136749231412606663641612030089099621527807262678022749014163316374830202394041687159731361166295835141438220267242181581561710305526650335477951985117767994347812498026238005855284970519677040076631540656190129812577098349185613362480495170106917118600213617493014713860219734705043543243383737935469185768189533892734356037508889816009984356108900894230328457152313254821381121020161754205451737559474843466312281395137353272539728398497208841034256618083449286741284938283336378358349973675852211201852616375899974542067016412329734112808560778583696275920952413093139358262849281416875253674454460614092705878647603985575481037580427565502935507303506335863311994898712838716584019870188703669299115910601823409564674049692957959873136962807179108307501972978664306687977342962573259138549489287468941053165727758279708417109450286063153790890235346137706308776659237700067896517199749185608400176521805674949495704135068591383856817580287016325609469471328967921896995973391716451483624172142946038264484029185847446343667358451873876251887557896051345271059296596533537427236048960448442141461775177923329619561971382958309051955182580671351125848363978521248741904210825141782856487227468472609293318213008745325328118706773612229203795016855536889747395118498093705335464372389888518978726633356894775055336748069365839421875223926696326946445194844364110194999359752766387299720978515449312185126460797881171482890775394373654739072247311674170947924179569122246942847368741521781029141505512764164156005606609514327940507695339168097740617123886532065015397685830266182042670734369984577923189296087556061268055792163702950089478070605139217534813686110706576760314256548775534636616475690563650369257800852899503764990303802010079983507018502895266637734735166382368239234373508780721095442478368951749527102668157401202710595963147756129842142375462267631104866657861043918149453605183353852373013229600479809355888154207237007349098959916577647446748955380330015527920195735662162018968202752017674745845196079079347137112821001590719346127331025913354582854621336126838543994780268478778723044907852593051585387823378771635081707174118308055865359305072204773143536755603061126166875505718851488290593641101246898626034532159971458345130839226821480880527985764937559487087564110454758168778716777373312598114181446092560374320933415485246219595669064024081228121416236631098356604529559476483981145193855255507608343381672969858668737349465860541536982564914123447563294627643336633391825169869311986810518486724453558557455176173454217188011425532103445949140325172930101819445916176586501549725410743929156487280271187462422872126020707360328605027193546159787543986298497394747183693733094565687765004568571662958348201141099008920835238119255856793538970492843633242754724089667431665325804372994593212212582711009672954342299286997664906435046894789043007338798846549068752559557331076380809837367717427605869195162832145422851355658121 72507865940406467504366437524309296248627787881456462831390748866711624292772199332032447356344380952254417610943911907579005773511274748440022464330541622165765161450155740803831999325804680854123137026754615891734668920324210854481922783727726484823880114276042949088042735656329223217444915906455718193096316284328774413550103846852668302317477284694496834190650825760301700156009677789958007350239605909776261468756112640749002515361524485278546237392755126680563306001328243360262120282975109080190749520491231173068962716964522921220526651688690256772017259173798889368476390238378556101363773585930511142820306425815709893327904284100028814132349314047311390083458421747916634902926769062287522991976475638321705976411386888892827891467175237210093680871196686036487470164353858279524747837482681461676360204323068475519927277433687244231660373301894877925434669942279991396594755020884940905771384738819517370886678379708433160707181317948220507381318404920659665201281405059982813636594457368275004871792771991162732634721363057795893453650165843302499493885627897455315655138437684408049926046154188161005776832421079275313551811454514980064015704500383053145115715032996359626447642279658562137346211822521675060417245099129377519298211836406117531755770680935104829547796427321964170204774143200420921953132168375479072282179448053212175103067261096808906804591594615859945466788054513194388014826064278123601647604300310141304695142450540796791832423358360441167946657294752943259353167114126160487354646243856730300108207449635894212570980463842140516296901261437541777246564788984274027017898924077011376906279492285248288626616717204598144625424109552830020080136189986870335143169684391058346188113251463261697124980585521811893793103099762680712557140068025396701878713950318185524731082591922067526886374369766987458941819636404763764217205578974858400324732041122691803572722803929128442477302287351318862582510595792760730288053046591787231030399349830876198809642757725985658750608274957957305997753747926588347829837649322530224712870408431924573506205656896635408714408262173550022173655880809527339897957744468366563386016235960601439143532997534998064375992518281129058663953921627555841650443672844511500929601417623122075959222390671357651444494624835816493156678408656609224130002106907786525033945413694011776250010200054924038091516056584434892745587285787498527512562249310857441448505908621356751947380701847179385298951897495249187706815380729573773115188979796666697484354166367277971264817855600944420963105183421522031698769935173432632412063588070980510374780949299963721269327860775599810474292547947252969889598637130151204205481461793514262862410489721379176163236651909746413417417266629546366260667930096917017357931621230418075887759967233830389030357997190380969087653555163732322719567428308381595844110845227930990553339330578928904059496665630894399102941004849914318381389499346961323384986023031186880898177781253821197501342257571912722470499533666833960450641304269107158146884143252524660262201647261602794266047981543351783459526151305616867269531492950156538800629587905754449261391660740003160050795503862408827400903293656670519119898053962369366168643335816498037781088869008195661080814686713589800822071166655495521981267059761808902018642991754155653971476486860781860203644096725114887314247027391531961208433423759143263369394768970416439862067191969495610278602401728831532506960175110683007603142873695237468241748460876070867538739027935921529116568826061938426032933306630864279166442224350190928301624937585466847839180810354249503798176470602739831418856329158127802183008182920475697029517255456992077282557446460413207094590124590899134970376677940889019692753018045860042914938489730570003848022504529295153022467115099982118183594231304151243 117320191543298522080102074087570658040443022235678638577887104766553519538509563045533853844994110410735248092700117496758479643915729499163350904689300198851331781867784184446330495761864333954558601596006799203325114190799959403235750796511058288503289099233459946145156363667331347328736940342775819124579990675828589532183536901001266474101950087314708851067386851807797594796119447401608586903135481850925961865477639841180272983358587466727426936749210984775499038427077133735959382784618495970780374657926955564980774970587462077192569991312416988595842163614813962204012625279184393354914201653645741689015216927954637301867119563815982266711593014337038348786531880905583530036989588502208024279214812525241322086173403254057056043513672813933798670830606163672297585242069741722380527421736763959154049476265754394907967969707038018436697708843742683062183901354886655038206785109984562433578647416842266385049994754538635554748868477679581673677153546358879932443462986621693119163244792846226989989560766338975230660959368913080863973327205919934040150075757710032414004324051046888545096153071306761219394325435793135533286516498058223447753639969568821334649607767352397135337458289642918246247106052850132212730499920510498539459966041857855091230614147247386224685149699861692568701982984234677540036581455116764010565515826411562148778919472298661523180491569157926961879117788626002948793409760554044554060697439668404153976559325794471246293037451066319815550642870233980839780732617061667790860982107168725198821046166219914082759684133141256426898724671002215826939522748857410989825078032384513349884943798973225631589189976343147633912893050605995747838415898403979785429232838181948581534250957772038356362680653418329093542288708162857234362815017521100836947305334175003105018098917531536998215342291663983432333536087888387936360151617239342429510579487466359162024596680181016000373353632622378159179044133219996779248501488733249006208322679450438170192601066777940841331279626083805669976274996668492558654979432179017452181343017725242786514950982224754115488020491377345039029192770556922458396051449803830935775904754939328072500427772590334812445358357703004282590650248574001036494807783039510860682367804922843054474671702856484112242375796318707268551052063395681471441676277855710704603067660636859144991531981084065543604280220740440499355101613728006222851730347051474565335037973636754437777646883889850119668936475418438483794371441997629565278891929886144768089493383902091657375524432361258677511880718058138507389333585542690433264963091835970814176791029283470739772223127413334545640674916186487343398379358225593682574433211320616931019811692431975139310992781751888788879684897734413024121711848246370622541285473603431305488239776589718543237595004539479929004231202610481278099897443836301791579773007246899193305357005324774100138576012768007220104531724196041649407302853929815944721112861575181661166656559976866105353935309157300545849271168748541134568949360134466463219088916396061415865262773428478299984899469833945424560773049931651399429502951295287378027451068786282435026329220227090724161250262031187544178276606254784700565990614336690299584128582036093706845112950236317077317445785070194330381547650636640715836522567370152283691612850422893003437337028397764425117767544288409514957583660783357131077745410569661750093848327527871616035521409157507035810705847677971857679890276930128923779729375244962878985677617363351138726201450808047549823929154666965619579093094174850577663836971533884661396190625350471416410843768702450644897185391437977950674713122697098295026641425675199786696948920782796450277150658672995918104263078933198421968041584375935914481796025384658889464007242290127334924403314366662870450072984295144950329017082659809364 189828057483704989584468511611879954289070810117135101409277853633265143831281762377566301201338491362989665703644029404337485417427004247603373369019841821017096943317939925250162495087669014808681738622761415095059783111124170257717673580238784773327169213509502895233199099323660570546181856249231537317676306960157363945733640747853934776419427372009205685258037677568099294952129125191566594253375087760702223334233752481929275498720111952005973174141966111456062344428405377096221503067593605050971124178418186738049737687551984998413096643001107245367859422788612851572489015517562949456277975239576252831835523353770347195195023847916011080843942328384349738869990302653500164939916357564495547271191288163563028062584790142949883934980848051143892351701802849708785055406423600001905275259219445420830409680588822870427895247140725262668358082145637560987618571297166646434801540130869503339350032155661783755936673134247068715456049795627802181058471951279539597644744391681675932799839250214501994861353538330137963295680731970876757426977371763236539643961385607487729659462488731296595022199225494922225171157856872410846838327952573203511769344469951874479765322800348756761785100569301480383593317875371807273147745019639876058758177878263972622986384828182491054232946127183656738906757127435098461989713623492243082847695274464774323881986733395470429985083163773786907345905843139197336808235824832168155708301739978545458671701776335268038125460809426760983497300164986924099133899731187828278215628351025455498929253615855808295330664596983396943195625932439757604186087537841685016842976956461524726791223291258473920215806693547745778538317160158825767918552088390850120572402522573006927722364209235300053487661238940140987335391807925537946919955085546497538826019284493188629749181509453604525101716661430970891275355724293151700577357196214200829835311528589050965597319484110144442850655919973697021761554729012757509536554535325036237238722029281314369002243824503926500081887901041762975974028744595080906484817081501547676894213426157167360021156639121389524202428753550895061202848651366449798294009194272197499161920990899929511643960770125332876821350875984133341254604170201556878145251455884022361611969222545965130433894093527841763686870421154523761707730472052290695571678384763497229637013074330870921241542181138989581695796277324875392100688899515504750364292596362332006783543882258111189725027585737029504967888372913687671501186822727203338394080909682811465573847550269369628640342287962203098474985901479660539088103520716123065677026679906951324551571978583434461041550988188934356114967464133740313287977995355744886779914673114131193882222182153354315474229433661635202297102164363959390382379778343287639899217094833849381375999743823548932267953001729860898091884757774213600819464872144683387423883852474830183858696335903703004198072678398901619207472729045955967788692353276777268106098884606368542064834341230687302855277566729213268319770702415375095019590664403573621365973059648586076127464420690081094250947451377297208020299201237268266699034444245443916828080656692036884287720880967093884212045765893596371579179899911455219685888668299059665752771917852591744626201819244512738398260471783784131203618817292136237817789627131961185710255842177048657408813515258546285321411641013524402271830688174889092286178834328805013463243096498288055897588601127002646089308249406803390186850452040811931382872248940200347227426078239422006264940478743969078940497980728904045612026400805714856830279195884075589697815562935938264250024579056700148695361862040717782093569451855226097209649608595675483726466176239788527559708105133409125198853203524097556938418262316824934174549043430518932378945732020697338772425818895958023472540099395127068512611313963960607 307148249027003511664570585699450612329513832352813739987164958399818663369791325423100155046332601773724913796344146901095965061342733746766724273709142019868428725185724109696492990849533348763240340218768214298384897301924129660953424376749843061830458312742962841378355462990991917874918796592007356442256297635985953477917177648855201250521377459323914536325424529375896889748248572593175181156510569611628185199711392323109548482078699418733400110891177096231561382855482510832180885852212101021751498836345142303030512658139447075605666634313524233963701586403426813776501640796747342811192176893221994520850740281724984497062143411731993347555535342721388087656522183559083694976905946066703571550406100688804350148758193397006939978494520865077691022532409013381082640648493341724285802680956209379984459156854577265335863216847763281105055790989380244049802472652053301473008325240854065772928679572504050140986667888785704270204918273307383854735625497638419530088207378303369051963084043060728984850914304669113193956640100883957621400304577683170579794037143317520143663786539778185140118352296801683444565483292665546380124844450631426959522984439520695814414930567701153897122558858944398629840423928221939485878244940150374598218143920121827714216998975429877278918095827045349307608740111669776002026295078609007093413211100876336472660906205694131953165574732931713869225023631765200285601645585386212709768999179646949612648261102129739284418498260493080799047943035220904938914632348249496069076610458194180697750299782075722378090348730124653370094350603441973431125610286699096006668054988846038076676167090231699551804996669890893412451210210764821515756967986794829906001635360754955509256615167007338409850341892358470080877680516088395181282770103067598375773324618668191734767280426985141523317058953094954323608891812181539636937508813453543259345891016055410127621916164291160443224009552596075180940598862232754288785056024058285243447044708731752539194844891281867341413167527125568645950303741263573465139796513680565129075556443882410146536107621346143639690449244928240100232041421923372256690060644076028434937825745839257584144388542715667689266709233687137623845254418775557914640059238923533222294337027468808184908565796384325875929246217473231030258782535447972167013354662619207934240080734967730066233074162223055125300076498065315891455790513243510973216022943413806572118581855894865627502674469626879624636824848332126155295558264724832903672972839568956233663340934171461286015866720323461775986866619537799046477437106258813498941989771742922138728363007866905200813774115602268901755642380320227656686357353581338569354347884434748124902033874585329454785222215413523991176787062098372414504091626589658262440502568437280686864239520413267475505548006269340827096115960384694878919362315980985179003656859721729377164053341228477104336648691166908839312004453241997617195995207206593212827211746181550203231490901207553408209212875886513814169041871163916229588540024538040084585061976044647491992727194118559394235846921211242632581072251168919666128537395540731294855531725478319319314050101194184608373296027924783915757456506166239920251879282635749965336900499888685451471314769480829815715706256853978461585166467928776953654312194502113469401868692599941660846150543656310710439179185301933917229414348958246223363924244898466763557091424026159671933110010284509681900014097084775247866740728970940855162601624185163226213103695602773144991141929552016628764427135395869665191119494980565434494116167417960251094006188286409680660868347759150793592547253478695732768282574552324392236291034270875270423415097022584977836858763806405043303116282457295978906459846692760848656345068815177821842952974310824673696829133262620893922613083690272018841628396623769971 496976306510708501249039097311330566618584642469948841396442812033083807201073087800666456247671093136714579499988176305433450478769737994370097642728983840885525668503664034946655485937202363571922078841529629393444680413048299918671097956988627835157627526252465736611554562314652488421100652841238893759932604596143317423650818396709136026940804831333120221583462206943996184700377697784741775409885657372330408533945144805038823980798811370739373285033143207687623727283887887928402388919805706072722623014763329041080250345691432074018763277314631479331561009192039665348990656314310292267470152132798247352686263635495331692257167259648004428399477671105737826526512486212583859916822303631199118821597388852367378211342983539956823913475368916221583374234211863089867696054916941726191077940175654800814868837443400135763758463988488543773413873135017805037421043949219947907809865371723569112278711728165833896923341023032772985660968068935186035794097448917959127732951769985044984762923293275230979712267842999251157252320832854834378827281949446407119437998528925007873323249028509481735140551522296605669736641149537957226963172403204630471292328909472570294180253368049910658907659428245879013433741803593746759025989959790250656976321798385800337203383803612368333151041954229006046515497239104874464016008702101250176260906375341110796542892939089602383150657896705500776570929474904397622409881410218380865477300919625495071319962878465007322543959069919841782545243200207829038048532079437324347292238809219636196679553397931530673421013327108050313289976535881731035311697824540781023511031945307562803467390381490173472020803363438639190989527370923647283675520075185680026574037883327962436978979376242638463338003131298611068213072324013933128202725188614095914599343903161380364516461936438746048418775614525925214884247536474691337514866009667744089181202544644461093219235648401304886074665472569772202702153591245511798321610559383321480685766738013066908197088715785793841495055428167331621924332485858654371624613595182112805969769870039577506557264260467533163892877998479135161434890073289822054984069838348225934099746736739187095788349312841000566088060109671270965099858588977114792785310694807555583906306250014773315342459889912167639616116638627754791966513007500262862585033047382705163877093809298600987474616343362044706995872775390191283556479412759015723580315539776138578902125738152976817227702055363909129604713221245813826796745087452036242067053749251767699237188484440830914656209008285664874461852521017459585565540626974936564619016451649873463279934986450339661855325103791203257870609844453967969974335348937083456134262557548879318784256056738683770259451649075159193473889226462331804886471404932945902339719663271130068240239264236816407773501007999201725188000718158908479738827188125668566427540712196559561022749677132180108534721369565810458519477182287953584984687560483370480933310630787918745296325242438240711064490442615727082488812573579291324608130688941613705951035035693233568120191614808640488486794372588539840601371452406187932827571839786175211683612382170356203601770982161278492585341793818380287336636406077695139937767950934809631089672417741277196097516588725342554113966728637762592788785285220913191472101821634074655112124534776990318254964058914856995760590826315458319501245037133135315650103079227271777020334520524447727830698611411512327989322346491578638053591181011752786545473873125363573440529773842195151256082408295985707704925116124773710803145895786280291324395363302035840791821751222347944910892926815850942287909115519413514861852026407550489445940642866550754149881273262373505396566868939814168501969485981393535844878109009585782830894112245696754221898706331522012469254952158578917395153183085399087354239710587730578 804124555537712012913609683010781178948098474822762581383607770432902470570864413223766611294003694910439493296332323206529415540112471741136821916438125860753954393689388144643148476786735712335162419060297843691829577714972429579624522333738470896988085838995428577989910025305644406296019449433246250202188902232129270901567996045564337277462182290657034757908886736319893074448626270377916956566396226983958593733656537128148372462877510789472773395924320303919185110139370398760583274772017807094474121851108471344110763003830879149624429911628155713295262595595466479125492297111057635078662329026020241873537003917220316189319310671379997775955013013827125914183034669771667554893728249697902690372003489541171728360101176936963763891969889781299274396766620876470950336703410283450476880621131864180799327994297977401099621680836251824878469664124398049087223516601273249380818190612577634885207391300669884037910008911818477255865886342242569890529722946556378657821159148288414036726007336335959964563182147668364351208960933738792000227586527129577699232035672242528016987035568287666875258903819098289114302124442203503607088016853836057430815313348993266108595183935751064556030218287190277643274165731815686244904234899940625255194465718507628051420382779042245612069137781274355354124237350774650466042303780710257269674117476217447269203799144783734336316232629637214645795953106669597908011526995604593575246300099272444683968223980594746606962457330412922581593186235428733976963164427686820416368849267413816894429853180007253051511362057232703683384327139323704466437308111239877030179086934153600880143557471721873023825800033329532603440737581688468799432488061980509932575673244082917946235594543249976873188345023657081149090752840102328309485495291681694290372668521829572099283742363423887571735834567620879538493139348656230974452374823121287348527093560699871220841151812692465329298675025165847383642752453478266087106666583441606724132811446744819447391933607067661182908222955292900267874636227122227836764410108862677935045326313921987653093371881813676803583327243407375261666931495213194311674130482424254369037572482578444679932737855556668255354769343358408588945113007752672707425369933731088806200643277483581500251025686296493515545362856100985822225295542948235029598387710001913098117174544266331053707690505585099832295949273455507175012269926002526696796338483189945151020707594047842444730376524990788754241538069577939982092303352176869145740026588820723932900529418612292200672075728609126650448719140555258632042977733233750063561006223392795602008297994317244862669099219393472159626252224774195626660692702518422025488610441983627443686289931324013225044673864488683184650676288560704219390563031522604164780222231708410755104478784650083883279049014268542552284116678543603358658189504106653745431197571918288938186803018360657212871370060732719297831481635529951202180682767689963693760522376969468948527816143645794119273703318502240896657854444743207554196670713479653790536097011737881060112918808927199882722641293799782473182443703575107598956109235326906506539144107648675522915821083355463100958637821743164203094092912243935060189647233570559596426572917629962647568831358206172369829672985491741054373951753149690145126414016136188124513993227376931979101114602571167706199770011617392236730659386091381539014027324125738540577425944550607399763808621696022009889336443576353885920331909982693641708075497310526799653633469444968296247224337848002336469352251520643375994265390766845725818511530719996091885827939508757625571761274575001735880456368998109247630134600959874881682231677137426024573296370284958483233425632746219211805085768438689514751337955702346631487239181060874576064851680642346686166084085421199811317766266775671106195868107211500549 1301100862048420514162648780322111745566683117292711422780050582465986277771937501024433067541674788047154072796320499511962866018882209735506919559167109701639480062193052179589803962723938075907084497901827473085274258128020729498295620290727098732145713365247894314601464587620296894717120102274485143962121506828272588325218814442273473304402987121990154979492348943263889259149003968162658731976281884356289002267601681933187196443676322160212146680957463511606808837423258286688985663691823513167196744865871800385191013349522311223643193188942787192626823604787506144474482953425367927346132481158818489226223267552715647881576477931028002204354490684932863740709547155984251414810550553329101809193600878393539106571444160476920587805445258697520857771000832739560818032758327225176667958561307518981614196831741377536863380144824740368651883537259415854124644560550493197288628055984301203997486103028835717934833349934851250241526854411177755926323820395474337785554110918273459021488930629611190944275449990667615508461281766593626379054868476575984818670034201167535890310284596797148610399455341394894784038765591741460834051189257040687902107642258465836402775437303800975214937877715436156656707907535409433003930224859730875912170787516893428388623766582654613945220179735503361400639734589879524930058312482811507445935023851558558065746692083873336719466890526342715422366882581573995530421408405822974440723601018897939755288186859059753929506416400332764364138429435636563015011696507124144763661088076633453091109406577938783724932375384340753996674303675205435501749005935780658053690118879461163683610947853212046495846603396768171794430264952612116083108008137166189959149711127410880383214573919492615336526348154955692217303825164116261437688220480295790204972012424990952463800204299862633620154610182146804753377386885130922311967240832789031437708296105344332314060387461093770215373340497735619586344906044723777885428277142824928204818578184757886355589022322853455024403278383460231889798968712980882208389023704044790741015096183961565159650636142281209967476205241886510423101821568503016366658200320772480303137319219317631775721087168397668821442829453029679554044971596729787500210680628538644390106949527498354815593485576208661155161479494728740614191808550448497892183420757384618261994268353564932041182306848947144539291822048845698458568749338761542420376654022966083729922833332200819261958078580354697883846251290823753808889048439628905387807080338072491632137717903053123115328284736894791524910571661572718217608518360208686628180022675042669065288232980767584524524424323184675417496862069228163596635028051455505481622872999532506762470545988062696995304125513563842378124565515023036024277034436455550067119941894979540823344718048886900291052550022267744277472117396702511838397016692232322311858738284114848499209552695492837321406091430298529756350958817817904787165370328173334174693833007757387693824141386084034830338193761117967979146667018322498878804801402421267496487132047431114628233110423735840371209435666388322313783815155981295531783681075113081718222756489819031726517592065516741593543979615561544490430729318321630200127415184505369227516245335371239843666347946931514923943639714129503647162737038370603336598515837770262779626117762153922297356078661486024701960360837932850556231904423224516854664130403353010317597760465075055127594507233107534337878658790067932523973923090994446428253549370435890373094163243287163447503306746143988044174277367645417086797411286553126017142906894022031932677649690731105570482654201390852678168365484517522762491986627367425371128172320003976778723177643547331988629992501686033380307055254420083050596216064711932414318133293306571330286750386973868698635339037579778728712919449861070193550107817799231127 2105225417586132527076258463332892924514781592115474004163658352898888748342801914248199678835678482957593566092652822718492281558994681476643741475605235562393434455882440324232952439510673788242246916962125316777103835842993159077920142624465569629133799204243322892591374612925941301013139551707731394164310409060401859226786810487837810581865169412647189737401235679583782333597630238540575688542678111340247596001258219061335568906553832949684920076881783815525993947562628685449568938463841320261670866716980271729301776353353190373267623100570942905922086200382972623599975250536425562424794810184838731099760271469935964070895788602407999980309503698759989654892581825755918969704278803027004499565604367934710834931545337413884351697415148478820132167767453616031768369461737508627144839182439383162413524826039354937963001825660992193530353201383813903211868077151766446669446246596878838882693494329505601972743358846669727497392740753420325816853543342030716443375270066561873058214937965947150908838632138335979859670242700332418379282455003705562517902069873410063907297320165084815485658359160493183898340890033944964441139206110876745332922955607459102511370621239552039770968096002626434299982073267225119248834459759671501167365253235401056440044149361696859557289317516777716754763971940654175396100616263521764715609141327776005334950491228657071055783123155979930068162835688243593438432935401427568015969901118170384439256410839654500536468873730745686945731615671065296991974860934810965180029937344047269985539259757946036776443737441573457680058630814529139968186314047020535083869205813614764563754505324933919519672403430097704397871002534300584882540496199146699891725384371493798329450168462742592209714693178612773366394578004218589747173715771977484495344680946820524563083946663286521191890444749767684291870526233787153286419615655910318786235389666044203534901539273786235544672015522901466969987658498202043972534943726266534928951389631502705802980955929921116207311501338753132157673604940103110045153433812907468676060422497883552812744008024094886771059532485293885684768753063716210678332330803196734672174891701896076455653825023954337076797598796388088142990084604482460207636050562269733196307592804981936315844511262505154670706842350829726436417104093396732921781808467386531360111442897831263094889997354532244371587771322301205633581019264764069117172992506156028880943540926248661706688455105345486638087789360401693790981351791805774533547106926893215565038247321665415316000360465503918175359290802127976849651496093442436691741028898435464667296530975084829387193523542578147577123114294002359223295720753973927507111483441516134206156835919386710220348799378052525562775241803583740243667597467978154231900164126687951578449196833536984174331599036536286829756234075246115197055206196338976057289935856033137437396355713853494534277461491031249054182440453347855989346053095863297868454355384726856642351957529729828949611897079620208875804521463065706433001472115900921287023229059168995688346029232663040253932076960188104786966258859556403130739790310439988224761900597467707249433413148872204694502617437304708693524822230565565260317062418075928823942818253001202491235179305137687293773312699621244701536688791520293481724929853906450904140110989530854276457193264057192408160130849550242792962563809315898393678157727478748858175186409625662527358315854803556347767995233644286409894255000977140069961624867746417172747796712732131743750531083991990380643629619166060462791676677319971742961418424742028024563477630239863196054415475965854414048821853515632010122121228327300252810403997141402803296474013832290471863418134432252592112141022858772565347554020414279045805372474367445906351602067616215384801423123000978540030685716636741299745975925010731676 3406326279634553041238907243655004670081464709408185426943708935364875026114739415272632746377353271004747638888973322230455147577876891212150661034772345264032914518075492503822756402234611864149331414863952789862378093971013888576215762915192668361279512569491217207192839200546238195730259653982216538126431915888674447552005624930111283886268156534637344716893584622847671592746634206703234420518959995696536598268859900994522765350230155109897066757839247327132802784985886972138554602155664833428867611582852072114492789702875501596910816289513730098548909805170478768074458203961793489770927291343657220325983539022651611952472266533436002184663994383692853395602128981740170384514829356356106308759205246328249941502989497890804939502860407176340989938768286355592586402220064733803812797743746902144027721657780732474826381970485732562182236738643229757336512637702259643958074302581180042880179597358341319907576708781520977738919595164598081743177363737505054228929380984835332079703868595558341853114082129003595368131524466926044758337323480281547336572104074577599797607604761881964096057814501888078682379655625686425275190395367917433235030597865924938914146058543353014985905973718062590956689980802634552252764684619402377079536040752294484828667915944351473502509497252281078155403706530533700326158928746333272161544165179334563400697183312530407775250013682322645490529718269817588968854343807250542456693502137068324194544597698714254465975290131078451309870045106701860006986557441935109943691025420680723076648666335884820501376112825914211676732934489734575469935319982801193137559324693075928247365453178145966015519006826865876192301267486912700965648504336312889850875095498904678712664742382235207546241041333568465583698403168334851184861936252273274700316693371811477026884150963149154812045054931914489045247913118918075598386856488699350223943685771388535848961926734880005760045356020637086556332564542925821857963220869091463133769967816260592158569978252774571231714779722213364047472573653083992253542457516952259417075518681845117972394644166376096738535737727180396107870574632219227044990531123969214975312210921213708231374912192352005898240428249417767697035056201212247707846731190808377586414542332480291131437996838713815825868321845558467050608912643845230813965229224771149622105711251396195136072304203479388910879593371146904092149768603525611537549646529122112610866374258449480968646533685700184521934040651225447599870400231434679921354187264965707197175965224718538431328645202398709700269862463700695067260014453651123319921051573478133732584763955852413911717947865762822994619976363230522819930748805429432988734356441048640968627381907449407215652924891616367940899807318606776267944631904433704299020106021667492401793914882423884465384149058804031107228351471948627035452222888571298369148674140147985936605908409346331855683552921329778810533399271165760776511423424036632043148188392484244336176098915813863779950090840738176854951188481388205311806273518322188783510361106600110316579139656398880625141512626576427100750074015537698662523471385553069942984657087286738975951005214388946288046597052866253183955551548887195460444477602581298051459063588372442334901527252069202217716952413750748348699425829890896818323445691676713683766228751684776573813271925543217110120491687483093349194468232540415248342288130831759175772946874700717654952823087911090685646654023712218933868178091971586498215174238182307545841959956019295191253837830135978424817906986811477549589087963873097760104325318764059957241127320970968766537069677356707092217187338033154772614107855694725623938576317145379582019651657379622460493410636118285972419196277278855615943770085126211460123505767674017236638352454590084083436762160580757268743605166497811493296083742809962803 5511551697220685568315165706987897594596246301523659431107367288263763774457541329520832425213031753962341204981626144948947429136871572688794402510377580826426348973957932828055708841745285652391578331826078106639481929814007047654135905539658237990413311773734540099784213813472179496743399205689947932290742324949076306778792435417949094468133325947284534454294820302431453926344264445243810109061638107036784194270118120055858334256783988059581986834721031142658796732548515657588123540619506153690538478299832343843794566056228691970178439390084673004470996005553451391674433454498219052195722101528495951425743810492587576023368055135844002164973498082452843050494710807496089354219108159383110808324809614262960776434534835304689291200275555655161122106535739971624354771681802242430957636926186285306441246483820087412789383796146724755712589940027043660548380714854026090627520549178058881762873091687846921880320067628190705236312335918018407560030907079535770672304651051397205137918806561505492761952714267339575227801767167258463137619778483987109854474173947987663704904924926966779581716173662381262580720545659631389716329601478794178567953553473384041425516679782905054756874069720689025256672054069859671501599144379073878246901293987695541268712065306048333059798814769058794910167678471187875722259545009855036877153306507110568735647674541187478831033136838302575558692553958061182407287279208678110472663403255238708633801008538368755002444163861824138255601660777767156998961418376746075123720962764727993062187926093830857277819850267487669356791565304263715438121634029821728221428530506690692811119958503079885535191410256963580590172270021213285848189000535459589742600479870398477042114910844977799755955734512181238950092981172553440932035652024250759195661374318632001589968097626435676003935499681682173337118439352705228884806472144609669010179075437432739383863466008666241304717371543538553526320223041127865830498164595357998062721357447763297961550934182695687439026281060966496205146178593187102298695891329859728093135941179728670785138652190470983509595270212474281792639327695935437723322861927165949647487102623109784687028737216306342975038027045805855840025140805694707915482781753078110782722135137462227447282508101218970496575164196388193487026016737241963735747037692157680982217154149227458230962301558011633282467364693448109725730787868289680654722639035278141491809915184698142675334988791045671160021830011627141390851752023240454454901294191858922762214212546383953747329005667902627875629153265828671916911510547093560011662080471913598399881294930937243298911471408340970571743090657232882043226469559403360495845839882564775174784217826836117436001724269668893503675049122190516511612229372411858530920270148355443980243111715960868639715748095340317936984585547194742232507429084910274426438609996181123374002264123199826389961014412361027864715839724513616765857476519899929911602543777211100978528056445543692729561987920358385730755709944453911744807745634223110070533590165769106004925168889061920879073589586764531887716332875094101793263261695993058167746557684754446225384418363261150982549214490170961877480373779452760720761540020657226875401881841373644826136706557206889511490265113371993050236114621411190300048375545583164587906339741215630850270465189600409518280622537033336142157032041856313642020445858310508033948133284326380182311138942714647033414649257356505343762433092948726568176799105928724718589756668751426935004368914127968805461536605977538012380764641193069503065743743506087981804604951210831962591485153322561506266009191548786782736229084022025876748980314286782385316125671211912932356828770550538564531337300137628181291324105540490505928878242041463142989954522206299468238185283581735808774290883134552793042059667820694479 8917877976855238609554072950642902264677711010931844858051076223628638800572280744793465171590385024967088843870599467179402576714748463900945063545149926090459263492033425331878465243979897516540909746690030896501860023785020936230351668454850906351692824343225757306977053014018417692473658859672164470417174240837750754330798060348060378354401482481921879171188404925279125519090898651947044529580598102733320792538978021050381099607014143169479053592560278469791599517534402629726678142775170987119406089882684415958287355759104193567089255679598403103019905810723930159748891658460012541966649392872153171751727349515239187975840321669280004349637492466145696446096839789236259738733937515739217117084014860591210717937524333195494230703135962831502112045304026327216941173901866976234770434669933187450468968141600819887615765766632457317894826678670273417884893352556285734585594851759238924643052689046188241787896776409711682975231931082616489303208270817040824901234032036232537217622675157063834615066796396343170595933291634184507895957101964268657191046278022565263502512529688848743677773988164269341263100201285317814991519996846711611802984151339308980339662738326258069742780043438751616213362034872494223754363828998476255326437334739990026097379981250399806562308312021339873065571385001721576048418473756188309038697471686445132136344857853717886606283150520625221049222272227878771376141623015928652929356905392307032828345606237083009468419453992902589565471705884469017005947975818681185067411988185408716138836592429715677779195963093401881033524499793998290908056954012622921358987855199766621058485411681225851550710417083829456782473537508125986813837504871772479593475575369303155754779653227213007302196775845749704533791384340888292116897588276524033895978067690443478616852248589584830815980554613596662382366352471623304483193328633309019234122761208821275232825392743546247064762727564175640082652787584053687688461385464449461196491325264023890120120912435470258670741060783179860252618752246271094552238348846811987510211459861573788757533296356847080248131007939654677900509902328154664768313393051135164622799313544323492918403649408658348873278455295223623537060197006906955623329512943886488369136677469942518578720504939932786322443486041946660537634929381087194549712266916928830604322865400623653367034605761491022193346958064595013817880556471815292192272285564400254102676289443147623643981522476745855681955870662852588990722152254675134376255481456824629959390177771102492178657650870301337575899015729529366984171525000744683331583132045391732132466058886789657210629419274103793566363067020463404863157218364832793484580196323613416143411599734285524651654649161285261444574856440797292779556861276845562829940376170022936382037026598384753105099897154144349044212937019143369267959651973481572795587284136329109310608172532546158245644567333690806675249238995679377542368899943936561954750732169695345314704155361357556509512078761096562585706898425842117056614019152545298854043951272369216321504308545460801504215102213340958988466406890631800455786733081546128110731214772041185201335423577650097270595811543037215061435925328339956181206017623238524926860945429746087161038233809276091729207217527122741398935540451302087118371821237259878271672568492900407424083737115143626628401114224516429491351500274396728890362733989142267209721080159027097837263962030625737719061303281068724277630611184920313066391973344111032264431716624770722126258206744263947230279443592789015561969852605066167263170069062270147939045732272181800729128554830679268598483196529581941555350336939716751500687556631432161967335777328591535392850239406668824536950533577416483797235094190666701966052384009715480379628306976796383551674947444162493077517896049632364286338143410630657282 14429429674075924177869238657630799859273957312455504289158443511892402575029822074314297596803416778929430048852225612128350005851620036589739466055527506916885612465991358159934174085725183168932488078516109003141341953599027983884487573994509144342106136116960297406761266827490597189217058065362112402707916565786827061109590495766009472822534808429206413625483225227710579445435163097190854638642236209770104986809096141106239433863798131229061040427281309612450396250082918287314801683394677140809944568182516759802081921815332885537267695069683076107490901816277381551423325112958231594162371494400649123177471160007826763999208376805124006514610990548598539496591550596732349092953045675122327925408824474854171494372059168500183521903411518486663234151839766298841295945583669218665728071596119472756910214625420907300405149562779182073607416618697317078433274067410311825213115400937297806405925780734035163668216844037902388211544267000634896863239177896576595573538683087629742355541481718569327377019510663682745823735058801442971033576880448255767045520451970552927207417454615815523259490161826650603843820746944949204707849598325505790370937704812693021765179418109163124499654113159440641470034088942353895255962973377550133573338628727685567366092046556448139622107126790398667975739063472909451770678018766043345915850778193555700871992532394905365437316287358927796607914826185939953783428902224606763402020308647545741462146614775451764470863617854726727821073366662236174004909394195427260191132950950136709201024518523546535057015813360889550390316065098262006346178588042444649580416385706457313869605370184305737085901827340793037372645807529339272662026505407232069336076055239701632796894564072190807058152510357930943483884365513441733048933240300774793091639442009075480206820346216020506819916054295278835719484791824328533367999800777918688244301836646254014616688858752212488369480099107714193608973010625181553518959550059807459259212682711787188081671846618165946109767341844146356457764930839458196850934240176671715603347401041302459542671948547318063757726278152128959693149230024090102491636254978301114270286416167433277605432386624964691848316482341029479377085337812601663538812294696964599151858812607404746026003013041151756819018650238334854024660946118329158285459304609086511586540019549851111597996907319502655475814322758043123543611344340104972846994924599678395594486204627845766319316511267791526841977700674479730381573904277915588831156775648683552721604390317486445925986656538203965451528168995358038901083035547838243343245212517305330532347353817726900509540890682444764138106157677696286906383687924236153980426036206178191318195817561121642087656373430954154948249905562987809291169090649257421360860646318378380362280138314345621744815645249484666981197522566338111500467081058391847222025894132510232684610436655745984635605581746051834539965078720192994308226376463836491866353275946906446293232211806901249239074066681454948316462608370296028801421764786768408924577541438138322326429477434522722383288691800105490876182739765725902249049994777539186278477772456795631426719841940911248253145026033208176938916299107792716901967557643895751802262827271119731987174940366482981240697482640494734449171655072713277418420196782843042859578908234116038274354202304744036146681736761549765633508532316253042532383179847452775243669213443353478019575100973340384752475952538425229621393044277869039634568772450039756983021473293522149061262575658391916035740980198766553574350617246259236766235812805776235920850337223392632691720039984001830104749205721130728338086566023738777377436536945718944352651902999803448325207068177219363101481870877554111978526418296207192471981262251756943522618261499002683019913132727744228886292186932766917079380203078451351761 23347307650931162787423311608273702123951668323387349147209519735521041375602102819107762768393801803896518892722825079307752582566368500490684529600677433007344875958024783491812639329705080685473397825206139899643201977384048920114839242449360050693798960460186054713738319841509014881690716925034276873125090806624577815440388556114069851176936290911128292796671630152989704964526061749137899168222834312503425779348074162156620533470812274398540094019841588082241995767617320917041479826169848127929350658065201175760369277574437079104356950749281479210510807627001311711172216771418244136129020887272802294929198509523065951975048698474404010864248483014744235942688390385968608831686983190861545042492839335445382212309583501695677752606547481318165346197143792626058237119485536194900498506266052660207379182767021727188020915329411639391502243297367590496318167419966597559798710252696536731048978469780223405456113620447614071186776198083251386166447448713617420474772715123862279573164156875633161992086307060025916419668350435627478929533982412524424236566729993118190709929984304664266937264149990919945106920948230267019699369595172217402173921856152002002104842156435421194242434156598192257683396123814848119010326802376026388899775963467675593463472027806847946184415438811738541041310448474631027819096492522231654954548249880000833008337390248623252043599437879553017657137098413818725159570525240535416331377214039852774290492221012534773939283071847629317386545072546705191010857370014108445258544939135545425339861110953262212836211776454291431423840564892260297254235542055067570939404240906223934928090781865531588636612244424622494155119345037465259475864010279004548929551630609004788551674217299403814360349286203680648017675749854330025165830828577298826987617509699518958823672594805605337635896608908875498101851144295951837851193129411227707478424597855075289849514251495758735434242826671889833691625798209235241207420935524256920455704007975811078201792759053636204780508402627326216710383683085729291403172589023483703113558860902876248300205244904165144005857286091783637593659132352244767259949648029436278893085729711756770523836036033623040721594937636253102914145534819508619162141807640851087520995490077347264604723517981084543141462136280281514562295875499416352835171571526015342190862884950474764965031513080993677669161280822638137361491900811920265039267210164078649697162494070993389963298033744537382523933571337332319372296056532590723207412257105508182680994568088588938104644307408505303027427184724887405885254560548582926674828344562697062664813412704516557720170309956548557704469224698159691769540906289068947465006232529791607461607417295407166739311022592239416392824762003785102070725951926102984190801022488401316744317164912730374849915542403629016025410459585481480768426733031873420017613178268839341995218609188292142881250149079742641215214317715872371850595276407773053821104008116601791607936367168258805748586145442551510902169506796138145858035783939313707778621492710507538647933785979983523887503794013446449864649146656357702704836727859085314389208987228836816628055265518561345523740837576245392000352224436132673083173575267134276729123772700865819148213174175759072969904700167617475848107195524015364536792018020102921131251476727016445698437939419887662775082850986066195124860032590649771422745913836595042453390293602380575856839063003966122471537255819493953899023655462789352700960745794150789247453189918292871187520782402655863266020423791555569136320469851325404029405881868046383859896069495574433420848594814681098703232402250712669893436902963455528878124093577151106319987680328394983718057307583888187638432404454970595775761512486873894438033646261472423902246568475799066571588080171906721963810082982399281365718346489082009043 37776737325007086965292550265904501983225625635842853436367963247413443950631924893422060365197218582825948941575050691436102588417988537080423995656204939924230488424016141651746813415430263854405885903722248902784543930983076903999326816443869195035905096577146352120499586668999612070907774990396389275833007372411404876549979051880079323999471099340334706422154855380700284409961224846328753806865070522273530766157170303262859967334610405627601134447122897694692392017700239204356281509564525268739295226247717935562451199389769964641624645818964555318001709443278693262595541884376475730291392381673451418106669669530892715974257075279528017378859473563342775439279940982700957924640028865983872967901663810299553706681642670195861274509958999804828580348983558924899533065069205413566226577862172132964289397392442634488426064892190821465109659916064907574751441487376909385011825653633834537454904250514258569124330464485516459398320465083886283029686626610194016048311398211492021928705638594202489369105817723708662243403409237070449963110862860780191282087181963671117917347438920479790196754311817570548950741695175216224407219193497723192544859560964695023870021574544584318742088269757632899153430212757202014266289775753576522473114592195361160829564074363296085806522565602137209017049511947540479589774511288275000870399028073556533880329922643528617480915725238480814265051924599758678942999427465142179733397522687398515752638835787986538410146689702356045207618439208941365015766764209535705449677890085682134540885629476808747893227589815180981814156629990522303600414130097512220519820626612681248797696152049837325722514071765415531527765152566804532137890515686236618265627685848706421348568781371594621418501796561611591501560115367771758214764068878073620079256951708594439030492941021625844455812663204154333821335936120280371219192930189146395722726434501329304466203110247971223803722925779604027300598808834416794726380485584064379714916690687598266283464605671802150890275744471472573168148613925187488254106829200155418716906261944178707842877193451483207763583564243912597286808362376334869751585903007737393163372145879190048129268422658587732569911419977282582291230872632110282700954102337815686672854302684752010630726531022236299960480786518616368586956821617745511120630876135101853777402904500325876563028420400496333144975603580681260905103245152025237886262134763757045291648698698839156282614545012328909365911272011812049753869960810506312038569032754191735402598958406075384030630963946709268478955353720245444786337596096421170018073557080002393197160766522243458229711200638993321842575382375855978675924594213305101445432268735969798779803234856528808826967396023193571341074667566772911361895042575360405551661668806779697106597303227075996594731187653113683006607982151819592268893814090265267239639072401349574679829045844038127516855730825794475755179396436065366158821652871609545687457284063508237901168578975160054987660212124006459218632115166434174659457548726082116703199034148645860974363263414506246270792485813551940740831886422083604953886722636624500667686759685632448054775107459472593776885863609453568939268523543925389985141132911030028531386599971985551135388114542242054210602182808112210297278850596728641955212214802945963990830384961132483972792141724631698921764587747615960758368564906902813955129093684047817697059507045734053876414163977306507224013208357919183520416699740658392335529518244190546230474663211815020248783358061047779301761403990322122710671087097584640795641694673822619780746406718967066112568634798682928807981607971843398231523468987194306255560630522870050672639583328198432043264375761107550739914275332524707754287930783081086910014908513229367424864829974801749591501212899650950850102269915166198445098549567533360804 61124044975938249752715861874178204107177293959230202583577482982934485326234027712529823133591020386722467834297875770743855170984357037571108525256882372931575364382040925143559452745135344539879283728928388802427745908367125824114166058893229245729704057037332406834237906510508626952598491915430666148958098179035982691990367607994149175176407390251462999218826485533689989374487286595466652975087904834776956545505244465419480500805422680026141228466964485776934387785317560121397761335734373396668645884312919111322820476964207043745981596568246034528512517070280004973767758655794719866420413268946253713035868179053958667949305773753932028243107956578087011381968331368669566756327012056845418010394503145744935918991226171891539027116506481122993926546127351550957770184554741608466725084128224793171668580159464361676446980221602460856611903213432498071069608907343506944810535906330371268503882720294481974580444084933130530585096663167137669196134075323811436523084113335354301501869795469835651361192124783734578663071759672697928892644845273304615518653911956789308627277423225144057134018461808490494057662643405483244106588788669940594718781417116697025974863730980005512984522426355825156836826336572050133276616578129602911372890555663036754293036102170144031990938004413875750058359960422171507408871003810506655824947277953557366888667312892151869524515163118033831922189023013577404102569952705677596064774736727251290043131056800521312349429761549985362594163511755646556026624134223644150708222829221227559880746740430070960729439366269472413237997194882782600854649672152579791459224867518905183725786933915368914359126316190038025682884497604269791613754525965241167195179316457711209900242998670998435778851082765292239519235865222101783380594897455372447066874461408113397854165535827231182091709272113029831923187080416232209070386059600374103201151032356404594315717361743729959237965752451493860992224607043652035933801421108321300170620698663409344485257364725438355670784147098798789878532297010916779657279418223639121830465122847054956143082438355648351769440850335696234880467494728579637011535551037173672056457875590946818653104458692210773291506357613535685205376407451618901863095909978666774193849792762099275235450049003320843101942922798897883149252697117161863955802447661117195968265789450800641528059933481490010814136884403319398266595145963945502925529344927835694988811192769832546245912578756866291889844843349144369126166017343097035245981289859699918083593526494664322135275271355214571506382538445132850671592156645004096692901901642699455861974179226760015949881510595541879547044607074015670445465500502374048910438501265761406241410652151935975566278418615432987733899429570558013432620994501463389742462691295181013850914468139806371444646730056742699032018441737301073037320547122138687257252250670188916675047655032330270398105879905537116970393714151937738009416929279382599508561292180110029509104946143418860736246357566557970120801621962572320517493332665395824481820526859153399622297049394489770158296279826998390605481033078441307658723450495709815056895746914469264682830372978033939300626701185698960939620747980058063068314708178164305260510372672851370283601288718001127180506882975729686145386046120744006492004232823048885122081861688148929671230081144519361696847438733682155883228597497552585377875007520642860150449800648114629733253226981272629695550464177413137419440355203447745036490264038341335477927853130107891436304140463703642567781827781877691846991556948910044825047576541869003640642476214541499533417229613364027511214010222556068124960371950649835133684724100021156992627263656593415761321683344995738378346679787495303530049443269954981348048554774701791327111398450600816163089293071557672813912352897565479810816896056615369847 98900782300945336718008412140082706090402919595073056019945446230347929276865952605951883498788238969548416775872926462179957759402345574651532520913087312855805852806057066795306266160565608394285169632650637705212289839350202728113492875337098440765609153614478758954737493179508239023506266905827055424791105551447387568540346659874228499175878489591797705640981340914390273784448511441795406781952975357050487311662414768682340468140033085653742362914087383471626779803017799325754042845298898665407941110560637046885271676353977008387606242387210589846514226513558698236363300540171195596711805650619705131142537848584851383923562849033460045621967430141429786821248272351370524680967040922829290978296166956044489625672868842087400301626465480927822506895110910475857303249623947022032951661990396926135957977551906996164873045113793282321721563129497405645821050394720416329822361559964205805958786970808740543704774549418646989983417128251023952225820701934005452571395511546846323430575434064038140730297942507443240906475168909768378855755708134084806800741093920460426544624862145623847330772773626061043008404338580699468513807982167663787263640978081392049844885305524589831726610696113458055990256549329252147542906353883179433846005147858397915122600176533440117797460570016012959075409472369711986998645515098781656695346306027113900768997235535680487005430888356514646187240947613336083045569380170819775798172259414649805795769892588507850759576451252341407801781950964587921042390898433179856157900719306909694421632369906879708622666956084653395052153824873304904455063802250092011979045494131586432523483085965206240081640387955453557210649650171074323751645041651477785460807002306417631248811780042593057197352879326903831020795980589873541595358966333446067146131413116707836884658476848857026547521935317184165744523016536512580289578989789520498923877466857733898781920471991701183041688678231097888292823415878068830660181906692385679885537389351007610768721970397240506561059891570271363046680910936104267911386247423794540547371384791233663985959631807131559533024414579608832167275857104914506763121454044911065219830021470136866782372881350798505861417777590818267496607280083729184564050012316482460866704095446851285866176580025557143062423709317514251736209518734907375076433323796219049745668693951126518091088353881986343959112487984000659171698391115970740811791479691592740280459891468671702528527123769195201255756115360956418880035978153603347284550322613891653486192484900739706165906235301923839985337892165378295457929752741425266710975458722701849059134945749003474179592711234535201389619989449871649121390094715679150355870770001731205021213887008464784393245814638626559074974097137330924794516037076823795294124360101960710957511771366882368039377917709856382038626423889120665306214361212403954496891323071538491354876700876368397914961610731331592725573110588003104168238582150992145196018576243618267410273525118578915723906569690564429339433737129006495176950881391477941185019561007799260596660312808996016429088765640550331346312919500524912612610173132334315724582506600101712737605480437506533077512564795152529878889271523983453053455841089194333791896972644836921418989403260243181391109065783841896442664896717472648447216447625994849112912246649281413644022222869151060618612026481298116641597162404455399333004101204690677847509307693848683609667390958579136919563672535332320939857054944106137372019782282531881708402516341922911685087498524751421869543231772199814557662644046494685620689271215691623421388882933508565645985864412046956319195618194399466356483840937844141389245354622891207665266846984791847804586059106103289118260955120020011284337374053036068258063463287931158751976228425402565754590505971208623664014622812731678255915445624148730651 160024827276883586470724274014260910197580213554303258603522929213282414603099980318481706632379259356270884610170802232923812930386702612222641046169969685787381217188097991938865718905700952934164453361579026507640035747717328552227658934230327686495313210651811165788975399690016865976104758821257721573749203730483370260530714267868377674352285879843260704859807826448080263158935798037262059757040880191827443857167659234101820968945455765679883591381051869248561167588335359447151804181033272062076586994873556158208092153318184052133587838955456624375026743583838703210131059195965915463132218919565958844178406027638810051872868622787392073865075386719516798203216603720040091437294052979674708988690670101789425544664095013978939328742971962050816433441238262026815073434178688630499676746118621719307626557711371357841320025335395743178333466342929903716890659302063923274632897466294577074462669691103222518285218634351777520568513791418161621421954777257816889094479624882200624932445229533873792091490067291177819569546928582466307748400553407389422319395005877249735171902285370767904464791235434551537066066981986182712620396770837604381982422395198089075819749036504595344711133122469283212827082885901302280819522932012782345218895703521434669415636278703584149788398574429888709133769432791883494407516518909288312520293583980671267657664548427832356529946051474548478109429970626913487148139332876497371862946996141901095838900949389029163109006212802326770395945462720234477069015032656824006866123548528137254302379110336950669352106322354125808290151019756087505309713474402671803438270361650491616249270019880575154440766704145491582893534147775344115365399567616718952655986318764128841149054778713591492976203962092196070540031845811975324975953863788818514213005874524821234738824012676088208639231207430213997667710096952744789359965049389894602125028499214138493097637833735431142279654430682591749285048022921720866593983327800706980056158088014416955253979335122678862231844038669070152925213207947021047568665665647433662377836507638288620129042070162779911302465264915305067047743351833494143774657005082084737276287897061083685435477340043009279152924135204353952701983687535348086427145922295149235060553888208950561101626629028877986164366632116412134885462215852069239032235771457336245713934483401927159619148287363476354773249372387320057438293537079916243737320824619428435269271084238504248774439702526061493145600958710100788006201995496700382530531612473591571569786011395404028301181506657138411491720430610511146129521909386429363403877360365401304921109124975763490129474221830077080936664596523887319566855595218053199266309271267492611262624539160400759959524233254059546808873526707888938227137031578287185036587051397141724808426239506688739484024647766599081070644865626421738343534908334542641754143573741727408029924355908698668313067490636868709695966824739940842177655511430374744704579868423728296919378471261997776460152927257122399460235359091578815694444214056873765666840087866952660218957362203485786587385045467548721951793952578966220271333623628044130781478253514570977420435853415540472378139265980851490818510019504041516121770549267358639052407345317688291702590691978244308571615948759571582588050942838216654939220680449043734234994108337430343315252304013670422315459465214980272524825759902007984710879108725333537997959108341963313342920617939851766615114136712745458359297410147553882408510046320873217186330369472030803121391638988455064437325059554077506404654200995404730445736847757560627062031359148050065179403094025410983830409628416955534481444212888493976522930078722912364657894110641385263565907742451099027496607634907515314814386817322991049606112018062632950079087626876003381917679799042766296477926975710297158066732341680764100498 258925609577828923188732686154343616287983133149376314623468375443630343879965932924433590131167498325819301386043728695103770689789048186874173567083056998643187069994155058734171985066266561328449622994229664212852325587067531280341151809567426127260922364266289924743712892869525104999611025727084776998540309281930757829071060927742606173528164369435058410500789167362470536943384309479057466538993855548877931168830074002784161437085488851333625954295139252720187947391353158772905847026332170727484528105434193205093363829672161060521194081342667214221540970097397401446494359736137111059844024570185663975320943876223661435796431471820852119487042816860946585024464876071410616118261093902503999966986837057833915170336963856066339630369437442978638940336349172502672376683802635652532628408109018645443584535263278354006193070449189025500055029472427309362711709696784339604455259026258782880421456661911963061989993183770424510551930919669185573647775479191822341665875136429046948363020663597911932821788009798621060476022097492234686604156261541474229120136099797710161716527147516391751795564009060612580074471320566882181134204753005268169246063373279481125664634342029185176437743818582741268817339435230554428362429285895961779064900851379832584538236455237024267585859144445901668209178905161595481406162034008069969215639890007785168426661783963512843535376939831063124296670918240249570193708713047317147661119255556550901634670841977537013868582664054668178197727413684822398111405931090003863024024267835046948724011480243830377974773278438779203342304844629392409764777276652763815417315855782078048772753105845781394522407092100945140104183797946418439117044609268196738116793321070546472397866558756184550173556841419099901560827826401848866571312830122264581359137287641529071623482489524945235186753142747398163412233113489257369649544039179415101048905966071872391879558305727132325321343108913689637577871438799789697254165234493092659941695477365424566022701305519919368792903930239341515971894118883125315480051913071228202925207892429522284115001701969911470835489679494913899215019208938408650537778459126995802496117918531220552217850221393807785014341912795172220198590967619077270991195934611631695927257983655801846967803209054435129226790341433926386621671734586976614108669095253555295459603177353053677710236641245462698732361860371320716609991928195886984549112304311021175549730975707175951302966826295256694401357074071057206886237973650303729815081935087483225055978496296143734467087741959062251477058322775889441587451662127854630114852819088103153980244070724766964309066933064612282326284585973758968688245689933732349622180041269223816283838426168865544352770047892686105883847623845219863021653068655110980330711411499102435765938010873571107523402565476455463109271289515542403649749269546946596251034896813265899384801056785067066228029101368200302421539935327943946345894093581366889900598444667346564329651996380576692184059496947686828799669096220585310871395095448351706851859648874751920815617675012481803016473811108099053298106872079491132883943796760378446506060760114672690158041333853047005455651830776004020697399291028024969175226390356552972844304317962525213121580095238487489962725014543413479030715839555689303386437128075038583347906354986711756959274526882821482934071491696278389166422922306463384043883209930024215845468416035811996952588008898430903534677809248077779299154465091660019780529828603405098894732885813953714806479137513206486306868291326277320962316845041899416066426118973252250483420242081558630825388958437457940149605246611355000837928053826338117912175433345803572323160957626177111370493801557202316614868590027535326098724191376027117864175481350564108831063855301405947672270305013974920141941598523028836322647787304912831149 418950436854712509659456960168604526485563346703679573226991304656912758483065913242915296763546757682090185996214530928027583620175750799096814613253026684430568287182253050673037703971967514262614076355808690720492361334784859832568810743797753813756235574918101090532688292559541970975715784548342498572289513012414128089601775195610983847880450249278319115360596993810550800102320107516319526296034735740705375025997733236885982406030944617013509545676191121968749114979688518220057651207365442789561115100307749363301455982990345112654781920298123838596567713681236104656625418932103026522976243489751622819499349903862471487669300094608244193352118203580463383227681479791450707555555146882178708955677507159623340715001058870045278959112409405029455373777587434529487450117981324283032305154227640364751211092974649711847513095784584768678388495815357213079602368998848262879088156492553359954884126353015185580275211818122202031120444711087347195069730256449639230760354761311247573295465893131785724913278077089798880045569026074700994352556814948863651439531105674959896888429432887159656260355244495164117140538302553064893754601523842872551228485768477570201484383378533780521148876941052024481644422321131856709181952217908744124283796554901267253953872733940608417374257718875790377342948337953478975813678552917358281735933473988456436084326332391345200065322991305611602406100888867163057341848045923814519524066251698451997473571791366566176977588876856994948593672876405056875180420963746827869890147816363184203026390590580781047326879600792905011632455864385479915074490751055435618855586217432569665022023125726356548963173796246436722997717945721762554482444176884915690772779639834675313546921337469776043149760803511295972100859672213824191547266693911083095572143162166350306362306502201033443825984350177612161079943210442002159009509088569309703173934465286010884977196139462563467600997539596281386862919461721510563848148562293799639997853565379841521276680640642598231024747968908411668897107326830146363048717578718661865303044400067810904244043772132691382137954944410218966262762560771902794312435464209080539772405815592304237653327561436817064167266047999526172900574655154425357418341856906780930987811871864752408069429838083313115391156973550338521507133950439045853140904866710891541173537660754980837329384928608939053505611232758640774048285465275803228286433128930449610819002059945680200077406528821318187546958032781157994892439969147004112345613547561074796625764507691547762768269248616200662968778753386400587716973571514283993518730179453504458901353195700530454438541154894689363262949182497646288255101285151785548888489312536716427546462965329266304312294281146745652692721150553108801248790100233398165367298462896244160574364250380259847007427213243054544179916155141964141993284177881489238005178470554993307414725412693765734541096592005069012117506760067884788523549605011741634605178313091074861249030467642574468644212424204809228259904455312164126565839309505225472518699736741704581034575037215967589603858856575647775249900824658457353155277420388422577287539013629243667578477187268587477833791096756855511515909310532066485296996939623911611896711663280213504824170787216731798534340963302985061618766782393905958325657808524082317582900463324142100274526830896491905249530956911258661691248682208471368754762318655357753843427524377775310295508626838282670149791945960823237658451875239213902189039874924278316081063255285984517927870776501661550744193350880354827366971046037304146512162966730812877545451601229608696004792052462868923980014875028310535319372266714832094435105512068715936981055068267562374936401544008301344111476224935050640913111008699018167470287499413197058910151482177409329589950104056741216619868574233325994389380128985676931647 677876046432541432848189646322948142773546479853055887850459680100543102363031846167348886894714256007909487382258259623131354309964798985970988180336083683073755357176408109407209689038234075591063699350038354933344686921852391112909962553365179941017157939184391015276401185429067075975326810275427275570829822294344885918672836123353590021408614618713377525861386161173021337045704416995376992835028591289583306194827807239670143843116433468347135499971330374688937062371041676992963498233697613517045643205741942568394819812662506173175976001640791052818108683778633506103119778668240137582820268059937286794820293780086132923465731566429096312839161020441409968252146355862861323673816240784682708922664344217457255885338022726111618589481846848008094314113936607032159826801783959935564933562336659010194795628237928065853706166233773794178443525287784522442314078695632602483543415518812142835305583014927148642265205001892626541672375630756532768717505735641461572426229897740294521658486556729697657735066086888419940521591123566935680956713076490337880559667205472670058604956580403551408055919253555776697215009623119947074888806276848140720474549141757051327149017720562965697586620759634765750461761756362411137544381503804705903348697406281099838492109189177632684960116863321692045552127243115074457219840586925428250951573363996241604510988116354858043600699931136674726702771807107412627535556758971131667185185507255002899108242633344103190846171540911663126791400290089879273291826894836831732914172084198231151750402070824611425301652879231684214974760709014872324839268027708199434272902073214647713794776231572137943485580888347381863101901743668180993599488786153112428889572960905221785944787896225960593323317644930395873661687498615673058118579524033347676931280449807879377985788991725978679012737492925010324492176323931259528659053127748724804222840431357883276856754445189695792922340648509971024440790900521300261102313796786892299939549042745266087299381946162517599817651899147753184869001445713271678528769491789890068228252292497333188359045474102602852973444623905132865477781769710311444850213923336076342268523734123524789871177782830624849181607960794698393099165622773502628409537791518412626915069855520554255037233047137748244617947314984264908128805685026022467249573961964446836633140838108034515039621569854401752237973093129961490658277393471690212835545433241470786368733035652856151380373355116574881948315106852215201778677942797307842160695482648558021681743003987691497235356990575262914445837076162290029304425233642138623633582998541607612881597266425297418747608087959301645589233768471405256943346975085517898510669353805940243830301391498131848665064329039431758576568774398328664270443168888509145698009874395346596340302261253830954530829778719510007289187444657506545643033447428435834256213367368259206799526469478832800769125693373269314539046695395828734869443698593108524505776757758421425578682464023151160828271921152496057059573551532749437437234404953577179370559385616456501850192712228449392620332667683746828548007696737948486039221217148801023793599773743916357736518521121634483289442927532859532213308601560091454472223329980464584741015981242738717945750882455219288497065977846398540649482621949595261712094936599120900930806818310853857233801357779313388183602448607537050857671604514934752798645528585381969688895940413587307248096635736713573684469755208901016957606340330873921969569703527683414975796141099938232734349914014868037051061642206632148329287891079203562578589085704065128028871843311167326830181010900326864129620121639665536157300320541170212347280945414519509304216025893739486306895345565503660726344814962585967011835200075045285334462980763761167741215337478815277262220409070716136761810172756354830712027916290589762796 1096826483287253942507646606491552669259109826556735461077450984757455860846097759410264183658261013689999673378472790551158937930140549785067802793589110367504323644358661160080247393010201589853677775705847045653837048256637250945478773297162933754773393514102492105809089477988609046951042594823769774143119335306759014008274611318964573869289064867991696641221983154983572137148024524511696519131063327030288681220825540476556126249147378085360645045647521496657686177350730195213021149441063056306606758306049691931696275795652851285830757921938914891414676397459869610759745197600343164105796511549688909614319643683948604411135031661037340506191279224021873351479827835654312031229371387666861417878341851377080596600339081596156897548594256253037549687891524041561647276919765284218597238716564299374946006721212577777701219262018358562856832021103141735521916447694480865362631572011365502790189709367942334222540416820014828572792820341843879963787235992091100803186584659051542094953952449861483382648344163978218820567160149641636675309269891439201531999198311147629955493386013290711064316274498050940814355547925673011968643407800691013271703034910234621528633401099096746218735497700686790232106184077494267846726333721713450027632493961182367092445981923118241102334374582197482422895075581068553433033519139842786532687506837984698040595314448746203243666022922442286329108872695974575684877404804894946186709251758953454896581814424710669367823760417768658075385073166494936148472247858583659602804319900561415354776792661405392472628532480024589226607216573400352239913758778763635053128488290647217378816799357298494492448754684593818586099619689389943548081932963038028119662352600739897099491709233695736636473078448441691845762547170829497249665846217944430772503423611974229684348095493927012122838721843102622485572119534373261687668562216318034507396774896643894161833950584652259260523338188106252411303710362242810824950462359080691939937402608125107608576062586805115830842399868056164853766108772543418041577487070508551933531296692565144092603089246235294235111399568315351831740544330482214239162649387545156882040929549715829027524505344267441913348874008794224565999740277927927985827879648425193557902881727385306663106662885221061360009104288534603429635939635465068320390478828675338377806678498863015352369006498463340805743584325888602264706562858747493441121978562171920397187735095598536351457779883937893069495273139633373196671117911944311954506309030209632818307507511679239260003626239191463577414615829548690617021398805156422617152313177995112071782950462125827873186149242853991008852182950969051545198448260237303447399158666342656671376764356827398152977358610186177411269289924951437465519233269121907311065308337291590756914666511634090801538256991962564551469103599799470687636317625309925072261391837923252514214251882172598535310222285378338326656553455463713523392993303604850159110955070849496286827712931665725629472484345357305285319478006844913564003073714458802651889259122358161082884767749444416982224191524259394603797908521396405839194498637537223601081138787373160025314995708390221961123234024289715043729217912092157939769220269604376196637727644522952222769921669671951087031406941149383602268249404343501220037752745123203218513707281634995957508328188675805293433133405518795712548920286723406121553407847240739723532323464791362617543605262574996243834261701169724254616058215570087824158609578451961731056859396385922750662220690516529587795254993086986975696258937116507709090752052434878005574323444540776022834973063363195788109634996667976071476672587256002306782386457483235446285271094161301861243296889573805004837821039897636607924946208774063452804750480176958226651366819656224606852170513127457353381678746989680825101408045276266694443 1774702529719795375355836252814500812032656306409791348927910664857998963209129605577613070552975269697909160760731050174290292240105348771038790973925194050578079001535069269487457082048435665444741475055885400587181735178489642058388735850528113695790551453286883121085490663417676122926369405099197049713949157601103899926947447442318163890697679486705074167083369316156593474193728941507073511966091918319871987415653347716226270092263811553707780545618851871346623239721771872205984647674760669823652401511791634500091095608315357459006733923579705944232785081238503116862864976268583301688616779609626196409139937464034737334600763227466436819030440244463283319731974191517173354903187628451544126801006195594537852485677104322268516138076103101045644002005460648593807103721549244154162172278900958385140802349450505843554925428252132357035275546390926257964230526390113467846174987530177645625495292382869482864805621821907455114465195972600412732504741727732562375612814556791836616612439006591181040383410250866638761088751273208572356265982967929539412558865516620300014098342593694262472372193751606717511570557548792959043532214077539153992177584051991672855782418819659711916322118460321555982567945833856678984270715225518155930981191367463466930938091112295873787294491445519174468447202824183627890253359726768214783639080201980939645106302565101061287266722853578961055811644503081988312412961563866077853894437266208457795690057058054772558669931958680321202176473456584815421764074753420491335718491984759646506527194732230003897930185359256273441581977282415224564753026806471834487401390363861865092611575588870632435934335572941200449201521433058124541681421749191140548551925561645118885436497129921697229796396093372087719424234669445170307784425741977778449434704061782109062333884485652990801851459336027632810064295858304521216327615344066759311619615328001777438690705029841955053445678836616223435744501262764111086052776155867584239876951650870373695875444532967633430660051767203918038635110218256689720106256562298442001759548985062477280962134720337897088084844192220484697218326100192525684012863310881233224309453283839353817395683127098066762530481969588922959098905900701430614237417439943606184817951582905860918143895932358809604627051603518868337764745320491090787640052790639785214439819336971049867408628068317742557981557419018563755364840252219183653957523995413391183556468131251392502838153239054467951443588246485588398449795854741619796667004512858190839989250515666930757238983229766726491860452905710980646325824038798561240785896176536719684664547728551125291933757330813292654441416719440456802141795235322821345909828020148596915207065748325530001642422939225609169845858699349766129789676438010416456763318211686937353254968772887921756069086770682074558758291044456977233279351072738360906517605205291511721013778351651431336079347978751607641195600150859542258262437002197958683616731828607917712406395395688876790300756266509801342379051558377663001440308119412379831259818507974617584734960461672866374844524191943141432345916218134354325233719854686024624874738561117076383051514229511856444412676951822574575942526513652249394241443599584840781378743625765690940715672552127170375528472918995782142917732026293096481749847681722324119444514099945849814742129546455118681616735854126332763406591891238340874352053375826121693221219405204949924791701898311709817518731456378625271573664555900961746128179281979645146032655537485860983396570604531397624846316635293619124025546828195711271669341138138943133603195287851943349665154074263522652239255118307641607633972907797172519129667402897754955589487120055041347550192235139308665564165854860222574936781408849108738139213460940719394392582157135039884114390922198173490143488919746035655813435961566856457239 2871529013007049317863482859306053481291766132966526810005361649615454824055227364987877254211236283387908834139203840725449230170245898556106593767514304418082402645893730429567704475058637255298419250761732446241018783435126893003867509147691047450563944967389375226894580141406285169877411999922966823857068492907862913935222058761282737759986744354696770808305352471140165611341753466018770031097155245350160668636478888192782396341411189639068425591266373368004309417072502067419005797115823726130259159817841326431787371403968208744837491845518620835647461478698372727622610173868926465794413291159315106023459581147983341745735794888503777325221719468485156671211802027171485386132559016118405544679348046971618449086016185918425413686670359354083193689896984690155454380641314528372759410995465257760086809070663083621256144690270490919892107567494067993486146974084594333208806559541543148415685001750811817087346038641922283687258016314444292696291977719823663178799399215843378711566391456452664423031754414844857581655911422850209031575252859368740944558063827767929969591728606984973536688468249657658325926105474465971012175621878230167263880618962226294384415819918756458135057616161008346214674129911350946830997048947231605958613685328645834023384073035414114889628866027716656891342278405252181323286878866611001316326587039965637685701617013847264530932745776021247384920517199056563997290366368761024040603689025161912692271871482765441926493692376448979277561546623079751570236322612004150938522811885321061861303987393635396370558717839280862668189193855815576804666785585235469540529878654509082471428374946169126928383090257535019035301141122448068089763354712229168668214278162385015984928206363617433866269474541813779565186781840274667557450271959922209221938127673756338746681979979580002924690181179130255295636415392677782903996177560384793819016390224645671600524655614494214313969017024722475847048211625006921911003238514948276179814354258995481304451507119772749261502451635260082892401218990800107761683743632806993935290845677627621373565223966573191323196243760535836528958870430674739923175512698426390106350382833555182844920188471365508675879355978383147525098646178629358600065297088368799742720833310291167581250558817579870964636155892053471767400684955956159108030531619315123592246497835834065219777634566781083363725141744907166020071403110966677095079502557585311580744203226849928854295933122992361020938861386118961595120913766685931751173313543067823658296758027346170017242609468958190069275068735259671263347222843954983857938209354531831756447498190676953165119906573667283663293599670409508347340243495560124793308986686491253586583830105152928154619781549411786581115148624301203595308909707132323767828626548978528110169635284522012557607343762644639110227394644256447920915668698048285978778997043214764235228030233824029871389570264129945967852153606323255781655430305802808842727686899457413999234108327354602419773240611867106627698529565222576565443381833871182483149077630332778667619728211117283357068715716202536036143824739530760164428218492223248225955877348490236408366509937902078405535910976112289619671744425744407334010663869189216978016471270288643163485594221799121462559879860145165745185981430636597701787600426845527337958221381580845772250457735130923975049869259645128475955512177961746995905461223066861416753542869996312542335307160886706061352993157548349526189722771471049570286788860431606877089514933871783734058791295047927212641571628380606099721805765312218980760093190573821139177518732392719372500127137626718440348890114975617679110645495053174825912053860380990401874758214216343208793489124713113670401986894757859182861727617623172190943963941117677621043948976791264490966561435325630843525167666735716480914844006843123151682 4646231542726844693219319112120554293324422439376318158933272314473453787264356970565490324764211553085817994899934890899739522410351247327145384741439498468660481647428799699055161557107072920743160725817617846828200518613616535062256244998219161146354496420676258347980070804823961292803781405022163873571017650508966813862169506203600901650684423841401844975388721787296759085535482407525843543063247163670032656052132235909008666433675001192776206136885225239350932656794273939624990444790584395953911561329632960931878467012283566203844225769098326779880246559936875844485475150137509767483030070768941302432599518612018079080336558115970214144252159712948439990943776218688658741035746644569949671480354242566156301571693290240693929824746462455128837691902445338749261484362863772526921583274366216145227611420113589464811070118522623276927383113884994251450377500474707801054981547071720794041180294133681299952151660463829738801723212287044705428796719447556225554412213772635215328178830463043845463415164665711496342744662696058781387841235827298280357116929344388229983690071200679236009060662001264375837496663023258930055707835955769321256058203014217967240198238738416170051379734621329902197242075745207625815267764172749761889594876696109300954322164147709988676923357473235831359789481229435809213540238593379216099965667241946577330807919578948325818199468629600208440732161702138552309703327932627101894498126291370370487961928540820214485163624335129300479738020079664566992000397365424642274241303870080708367831182125865400268488903198537136109771171138230801369419812391707304027931269018370947564039950535039759364317425830476219484502662555506192631444776461420309216766203724030134870364703493539131096065870635185867284611016509719837865234697701899987671372831735538447809015864465232993726541640515157888105700711250982304120323792904451553130636005552647449039215360644336169367414695861338699282792712887771032997056014670815860419691305909865855000326951652740382692162503402464000931036329209056797481790000195105435937050394662690098654527358686911088411281087952756321226177196530867265607188376009307623330659836117394536662315871598463575438409837947972070484197552079330789214302714528312405927538784893197028499394454749938680569263207495572340105165430276447249895670584409954908806686317172805115087186262635098825921706699163925729775436243363185860749037026552998702764300671358101321357134086362046828972382449632604549993570709621427551547840318055926014498286008543013100774481592698724916561135521640970651909673046882753545098724105531068551441112045919228078457053663904480576317735016389849965149482038730882946139218814706639850501790895853478458156262204488637395750961007323650969725098586145142740224591944760665465463424604057409934313676430533326713668985685688713425154195019770786646885296602248506275956241808585475461207468918242881553609047753757182798039917867308000767526344418728065331711640503723043479210073996878376907970077581123600239566883689953283562314408896138307396252354688672790149731913239908145677468489740957665114489661938346909272850830615909607312791418024167413934849948587927934864195614270939396656728252107468774057759395214896054334104201266773926291838088352779140947888103713456929694183537448108567851457402735481526695586992587281586042656666605113771461239362104069200087870257514598892983109974762275201262467127009059198415878871724613926974797763387327372011316414968142411252023122170471357644717455361899579324837487888263674225223747352593507930252429434328712764272780714020244662722165281211890241092588145233283259286744618402850347345041721263278745357464245334271384556343681359852422335966152749618081757798509026472280929083177402058397015436531133926304375080952357523804333668656586481752136728279968409979608921 7517760555733894011082801971426607774616188572342844968938633964088908611319584335553367578975447836473726829039138731625188752580597145883251978508953802886742884293322530128622866032165710176041579976579350293069219302048743428066123754145910208596918441388065633574874650946230246462681193404945130697428086143416829727797391564964883639410671168196098615783694074258436924696877235873544613574160402409020193324688611124101791062775086190831844631728151598607355242073866776007043996241906408122084170721147474287363665838416251774948681717614616947615527708038635248572108085324006436233277443361928256408456059099760001420826072353004473991469473879181433596662155578245860144127168305660688355216159702289537774750657709476159119343511416821809212031381799430028904715865004178300899680994269831473905314420490776673086067214808793114196819490681379062244936524474559302134263788106613263942456865295884493117039497699105752022488981228601488998125088697167379888733211612988478594039745221919496509886446919080556353924400574118908990419416488686667021301674993172156159953281799807664209545749130250922034163422768497724901067883457833999488519938821976444261624614058657172628186437350782338248411916205656558572646264813119981367848208562024755134977706237183124103566552223500952488251131759634687990536827117459990217416292254281912215016509536592795590349132214405621455825652678901195116306993694301388125935101815316532283180233800023585656411657316711578279757299566702744318562236719977428793212764115755401770229135169519500796639047621037817998777960364994046378174086597976942773568461147672880030035468325481208886292700516088011238519803803677954260721208131173649477884980481886415150855292909857156564962335345176999646849797798349994505422684969661822196893310959409294786555697844444812996651231821694288143401337126643660087024319970464836346949652395777293120639740016258830383681383712886061175129840924512777954908059253185764136599505660168861336304778458772513131953664955037724083823437548199856905243473743827912429872341240340317720028092582653484279734477331713292157755136066961542005530363888707734013437010218950949719507236060069829084114289193926355218009296198257960147814368011616681205670259618203488196080645013567518551533899363387625811872566115232403409003701116029270032398932815008639180306963897201879909285431840908832895795507646474152537844116529110584014345044874584951250211430019485039189993321311018723511588691623388113483299013631598993838156582766570359270791724202167683106630410590376230323173020269726708528956662314885600383197559544109905031622173570478147859981028616060259473496822282226443070932527801393131104088374725958631386310881986038049182332076155947952173320407495852275063992420571309643993573594239341931946871283774295971352779213080332969873075110688468834932864075599291721040191469838819299491078858488507011499576899907363506053821573297613803576369072105627522745710874612050398081629847237490244014597776110688822816132327071787154744797557973768640174919974416883907433088981955624348213504633565697195874654090156839132521076786493258097549199784534105316013255484498904047153815286015365141064062262771337963274737411686166342977267686860995725413300648232639286113633289694887566291885325048535413378795360956863107541359243045016716966631716474373416589715317616247161834866162975821959844526728305145197575009462316220085121940224717771475324323953110098843060886701757002842858900211685405229428451514153194627252050129459892054831323469158358820149233189527519286585411958232752637382094665408349516959532937035348258876965855263897903522170953775123659735759339003548487727765137170484565536006368139644375940940660236644095453120027141343176074636480480110717568866047513792849435177193824253217468617643123975253102760603 12163992098460738704302121083547162067940611011719163127871906278562362398583941306118857903739659389559544823939073622524928274990948393210397363250393301355403365940751329827678027589272783096784740702396968139897419820662359963128379999144129369743272937808741891922854721751054207755484974809967294570999103793925796541659561071168484541061355592037500460759082796045733683782412718281070457117223649572690225980740743360010799729208761192024620837865036823846706174730661049946668986686696992518038082282477107248295544305428535341152525943383715274395407954598572124416593560474143946000760473432697197710888658618372019499906408911120444205613726038894382036653099354464548802868204052305258304887640056532103931052229402766399813273336163284264340869073701875367653977349367042073426602577544197690050542031910890262550878284927315737473746873795264056496386901975034009935318769653684984736498045590018174416991649359569581761290704440888533703553885416614936114287623826761113809367924052382540355349862083746267850267145236814967771807257724513965301658791922516544389936971871008343445554809792252186410000919431520983831123591293789768809775997024990662228864812297395588798237817085403668150609158281401766198461532577292731129737803438720864435932028401330834092243475580974188319610921240864123799750367356053369433516257921523858792347317456171743916167331683035221664266384840603333668616697022234015227829599941607902653668195728564405870896820941046707580237037586782408885554237117342853435487005419625482478596966351645366196907536524236355134887731536132277179543506410368650077596392416691250977599508276016248645657017941918487458004306466233460453352652907635069787101746685610445285725657613350695696058401215812185514134408814859714343287919667363722184564683791144833234364713708910045990377773462209446031507037837894642391144643763369287900080288401329940569678955376903166553048798408747399874412633637400548987905115267856579997019196966078727191305105410425253514645827458440188084754473877408913702725263744023017865809391635003007818682619941340395368145758419666048478981313263492409271137552264717041636767670055068344256169551931668292659552699031874327288493493750337290937028670726144993611597798403096685224580039468317457232103162570883198151977731545508850658899371700439224941205619132181444295394150159836978735207138540072758625570943889837338398593153555663582717109345545943052571568564105847086018965703760651328061582262333009541034846853949654919852654868775113372371566205794866408023191546112017200975082693316609462074055386420416668934638671590029133110079227234382628436298763632450109438646304320957326017071746616099770954590165621812109844467144190526686578083037163271603143045506081997417804217012516070309459037018843399341881184960204829298066448198766021683298229305708239621579749372201540227316147711647404774952286327406749893053185947661120688851861491164921804343895416524355588077422515115773441560839921234368620922567853691812423055699210761740438307111966869906947571172329105556697582820895195532493890973123306654860989143752095186041793927617109167704861991202558272729948105433086831982018010900286304537720790514878806737332496806901062397311371888127769651705138736585418427061521393408344495986068862496643981230252763692344634236946235632298303009288383079487188050954679720316361922736420490420852827636703067420398837476589325279283537819096442385402299121716497426215072203116725145254110923333855876587073168969515094206576887617348155729056547216510952328079485618961847999349684738946772882044816830689561407200625525180581542136252599882300753869515995496386938481116803248882759112321480851844417958342334292393994022698458745670567734049110318745234471651917011244643873241128466150373239510862480839699220754371403943663082369524 19681752654194632715384923054973769842556799584062008096810540242651271009903525641672225482715107226033271652978212354150117027571545539093649341759347104242146250234073859956300893621438493272826320678976318432966639122711103391194503753290039578340191379196807525497729372697284454218166168214912425268427189937342626269456952636133368180472026760233599076542776870304170608479289954154615070691384051981710419305429354484112590791983847382856465469593188422454061416804527825953712982928603400640122253003624581535659210143844787116101207660998332222010935662637207372988701645798150382234037916794625454119344717718132020920732481264124918197083199918075815633315254932710408946995372357965946660103799758821641705802887112242558932616847580106073552900455501305396558693214371220374326283571814029163955856452401666935636945499736108851670566364476643118741323426449593312069582557760298248678954910885902667534031147058675333783779685669490022701678974113782316003020835439749592403407669274302036865236309002826824204191545810933876762226674213200632322960466915688700549890253670816007655100558922503108444164342200018708732191474751623768298295935846967106490489426356052761426424254436186006399021074487058324771107797390412712497586012000745619570909734638513958195810027804475140807862053000498811790287194473513359650932550175805771007363826992764539506516463897440843120092037519504528784923690716535403353764701756924434936848429528587991527308478257758285859994337153485153204116473837320282228699769535380884248826101521164866993546584145274173133665691901126323557717593008345592851164853564364131007634976601497457531949718458006498696524110269911414714073861038808719264986727167496860436580950523207852261020736560989185160984206613209708848710604637025544381457994750554128020920411553354858987029005283903734174908374964538302478168963733834124247029940797107233690318695393161996936730182121633461049542474561913326942813174521042344133618702626247588527609883869197766646599492413477912168577911425608770607968737487850930295681732875343325538710712523993879647880235751379340636736449330453951276667916153424775650204680274019293975676787991738121743666988225800682506502789948595251084843038737761674817268058021300173420660684481884975783637061934270823963850297660741254067903072816468494973604551947190083475701114057038858644492570380981591521366451536311490936437270084774166731454390420528003821779994125332125208959025071670051573170953956397654518145867581253913690811451541683731642357929997034091129821956702393431298255713586336170603012048735302269317836231134139038141701400804860776296279792248510368912143126603183769088004274417492902058678540347770741230778026176564735760415113319219555316365913577849692868209433087379953452610613082741273828056243979125269419227411846354653171304416396708456512613447800831948356339181486224074443365185895256904552762847568484194905683064462535607920264488629983110823133389727823839642469768471858864937165629802501245871831537833527593051909524843675587746092303522440605015909877151156842104477756872352056863797842252025174315004403602425802411190987092378045961360917585736029171826186301669678784852777650144700607234218587228740288639574988765377118439384818057713175154683103232062277954187545179394609048124649207741778305478677315019975920099553860604640669997336563523757602583466242812672163431372565596412486051641499368659759321160156877623445669607525058133089818482148096969823545541281816501620483668288833828937746808047783887870685669311148228718808489367285935096697179525519426911496097910924160158462215929801013218455146198657391686949271510598216876142252431246840086618022328983494348702432038369963639118982314663187169137460088410546288397491355361442107175979943222674688056305092916689372014527918916185130127 31845744752655371419687044138520931910497410595781171224682446521213633408487466947791083386454766615592816476917285976675045302562493932304046705009740405597549616174825189783978921210711276369611061381373286572864058943373463354322883752434168948083464317005549417420584094448338661973651143024879719839426293731268422811116513707301852721533382352271099537301859666349904292261702672435685527808607701554400645286170097844123390521192608574881086307458225246300767591535188875900381969615300393158160335286101688783954754449273322457253733604382047496406343617235779497405295206272294328234798390227322651830233376336504040420638890175245362402696925956970197669968354287174957749863576410271204964991439815353745636855116515008958745890183743390337893769529203180764212670563738262447752886149358226854006398484312557198187823784663424589144313238271907175237710328424627322004901327413983233415452956475920841951022796418244915545070390110378556405232859530397252117308459266510706212775593326684577220586171086573092054458691047748844534033931937714597624619258838205244939827225541824351100655368714755294854165261631539692563315066045413537108071932871957768719354238653448350224662071521589674549630232768460090969569329967705443627323815439466484006841763039844792288053503385449329127472974241362935590037561829566729084448808097329629799711144448936283422683795580476064784358422360107862453540387738769418581594301698532337590516625257152397398205299198804993440231374740267562089670710954663135664186774955006366727423067872810233190454120669510528268553423437258600737261099418714242928761245981055381985234484877513706177606736399924986154528416736144875167426513946443789052088473853107305722306608136558547957079137776801370675118615428069423191998524304389266566022678541698961255285125262264904977406778746113180206415412802432944869313607497203412147110229198437174259997650770065163489778980530380860923955108199313875930718289788898924130637899592326315718914989279623020161245319871918100253332385303017684310694001231873948161491124510346333357393332465334275016025994171045389115717762593946360547805468418141817286972350329087638231846339923406414403219687257675009794996283698932542021871709463906668428865856424396858645240723950202433015740224505154022115828029206250104726802444516907719914810171079371527771095264216875837379699708921054350146937395426148829335030423640437749448563735966471056393348558231179211227924728832321379634753216289407195552992721530908833543466320316797104013924135791900499153013502814410632273338406902945632677067435155718938252474902724168171251780628039243404732578555880960478350789430924141095105076021033592673013268705969582851075245170367091422338498150482491158459411419659847110672426445603450262911647631926140615709241204183954567485675610612376336469533722104948078092362820002372175672486893133628849395651513302006797605948795229604883757544555627457412264159905154338698900555904843597281203309689706227485859733483494313668927530748595268031359021491713582535317264632627997302598730772346689335995450880179006917852941594347211216108932020711593507273182189650650775909466350672568011189837086587974216505643292528951437939731025488291137600011463116535028823578121403476140236676076511576558264023050041823375839300888341552376015251714309613322985208482633347792691624677056879885680339003956663665499800134439985995249962640966778652197578417602542279922567386104951273205292935207293351080746879397158403574789453183383040405825364156203512944417902180263476308204427451215285284781436126298401471728326787472331360783987396511343149471055028499411261202944767897536697992945501314005952408098874173401452691036724432363986337577727985230921218247778833645017940314502600005315348304446093595914198918785932615910126385931862579267499651 51527497406850004135071967193494701753054210179843179321492986763864904418390992589463308869169873841626088129895498330825162330134039471397696046769087509839695866408899049740279814832149769642437382060349605005830698066084566745517387505724208526423655696202356942918313467145623116191817311239792145107853483668611049080573466343435220902005409112504698613844636536654074900740992626590300598499991753536111064591599452328235981313176455957737551777051413668754829008339716701854094952543903793798282588289726270319613964593118109573354941265380379718417279279872986870393996852070444710468836307021948105949578094054636061341371371439370280599780125875046013303283609219885366696858948768237151625095239574175387342658003627251517678507031323496411446669984704486160771363778109482822079169721172256017962254936714224133824769284399533440814879602748550293979033754874220634074483885174281482094407867361823509485053943476920249328850075779868579106911833644179568120329294706260298616183262600986614085822480089399916258650236858682721296260606150915229947579725753893945489717479212640358755755927637258403298329603831558401295506540797037305406367868718924875209843665009501111651086325957775680948651307255518415740677127358118156124909827440212103577751497678358750483863531189924469935335027241861747380324756303080088735381358273135400807074971441700822929200259477916907904450459879612391238464078455304821935359003455456772527365054785740388925513777456563279300225711893752715293787184791983417892886544490387250976249169393975100184000704814784701402219115338384924294978692427059835779926099545419512992869461479011163709556454857931484851052527006056289881500374985252508317075201020604166158887558659766400218099874337790555836102822041279132040709128941414810947480673292253089276205536815619763964435784030016914381323787766971247347482571231037536394140169995544407950316346163227160426509162652014321973497582761227202873531464309941268264256602218573904246524873148820786807844812285396012421910296728626454918662738719724878457172857385689658896104044989328154663906229922424729752454211924400311824473384571566592937177030603106932207523127915144536146886675483475692301499073647527793106714748201668343246133914445697032065901408432087408799377286439424846079678326866991358794705517333376214888414723026561611246796378273914696024192279302035941668303846962460320271467693725211916180018126386999060215128552356511336436883753903991431207924170245804850071138589112162747234277771858480835656282065788934590282835459516804063571594120489281803280079483891021207570311133858307209393482028844104181028858348129470847262932557527324864193080295451085575071947246317353592306023196543656158098913263801710713775777333237696803540635878690830216364258245008881889537297448163079836904903022458730989640838138501656534604976267803204124028826074619852923839016699197263702158711642798089078663227620089993020184424393784321809723689294571421120845779458178086350796899113296814914799362286428795624410931016557258123063356936150437907614640649497846178099928637051358974716739436599236390423936424314019309684373176743028821870827268258304040361663272889643895290496070179096138546965244075519877888651038105300405942017506221533853411830759614808620541977237587002770448349012990760117793557192986928342961128582187208397332294674393443409437941587422906478171963565812551591662448692608278020857337738762699157546013055712476331338382753689441448050570424938440220076409936851671874234763110964251296832288587849574624536923235940582571219878133305823920898639822885383255520942449612441144162689510174698068652889894039408134914869087753745252792494716896502384947039739156470733949976696710299894108387385238922055564228711993955366757455480426036818588886975091025532599498400459781495452629778 83373242159505375554759011332015633663551620775624350546175433285078537826878459537254392255624640457218904606812784307500207632696533403701742751778827915437245482583724239524258736042861046012048443441722891578694757009458030099840271258158377474507120013207906360338897561593961778165468454264671864947279777399879471891689980050737073623538791464775798151146496203003979193002695299025986126308599455090511709877769550172359371834369064532618638084509638915055596599874905577754476922159204186956442923575827959103568719042391432030608674869762427214823622897108766367799292058342739038703634697249270757779811470391140101762010261614615643002477051832016210973251963507060324446722525178508356590086679389529132979513120142260476424397215066886749340439513907666924984034341847745269832055870530482871968653421026781332012593069062958029959192841020457469216744083298847956079385212588264715509860823837744351436076739895165164873920465890247135512144693174576820237637753972771004828958855927671191306408651175973008313108927906431565830294538088629827572198984592099190429544704754464709856411296352013698152494865463098093858821606842450842514439801590882643929197903662949461875748397479365355498281540023978506710246457325823599752233642879678587584593260718203542771917034575373799062808001483224682970362318132646817819830166370465030606786115890637106351884055058392972688808882239720253692004466194074240516953305153989110117881680042892786323719076655368272740457086634020277383457895746646553557073319445393617703672237266785333374454825484295229670772538775643525032239791845774078708687345526474894978103946356524869887163191257856471005580943742201165048926888931696297369163674873711471881194166796324948175179012114591926511221437469348555232707653245804077513503351833952050531490662077884668941842562776130094587739200569404192216796178728240948541250399193981582210313996933292323916288143182395182897452690960541078804249754098840192394894501810900219965439862428443806969090132157314112675242682031644139229356739951598826618663981896035992253497377454662429679932224093470118868171974518346672372278852989708410224149380932194570439369467838550950550106362741150702096495357346460335128586457665575011674999770870093890711142132382289841815117510944578868195506356073241463521507961850283934803224894105933139017891642490790533403891988223090291815241242388609149606498117365649665628581862353470116608477110587690547664808482736312810842677386535212045624131310643071580777744092175277939670206201580835089435848962331214695844932527392227435957146919046740145822786036582475380645262656883347585761436904010431325613721988451465959298156316484678248085215952286936443381268366910747580437411414284201872235188752897543914213062324294280479275905876935022505246538652347034404390578633071107326110371860606604612697339087805576299701312967753481773234668212499270499764660438027693962420772175717450432448584298938660508624245199415018402049089147884313836656632596791128583726893035024063655769952508270840658380621568778435210213371421844535514095379517230365892569681030946447606532868445025612816957555366393679597780293618930872051551500359477618111796139362708047576486696269563811015488662501221835434765595627625009993648506836126385178806000287628826146287649901332312493808808907296541665946337064820556190023919351450323295118280591379570143671763700252537586912411333575056673054916156365241437468580441817427604543675688896734799131317304335598623651199390035054914640588475120454809776706490029838100845127663391797856504659569432122322370368149672855586881726437008952487312160565203197479914092838807305671612862033255059258744902815770675786399730775880903097936314274438285125029605633017755700582169026496555372072803784872130414503085893876958148509624786391644074720129429 134900739566355379689830978525510335416605830955467529867668420048943442245269452126717701124794514298844992736708282638325369962830572875099438798547915425276941348992623289264538550875010815654485825502072496584525455075542596845357658763882586000930775709410263303257211028739584894357285765504464010055133261068490520972263446394172294525544200577280496764991132739658054093743687925616286724808591208626622774469369002500595353147545520490356189861561052583810425608214622279608571874703107980754725511865554229423182683635509541603963616135142806933240902176981753238193288910413183749172471004271218863729389564445776163103381633053985923602257177707062224276535572726945691143581473946745508215181918963704520322171123769511994102904246390383160787109498612153085755398119957228091911225591702738889930908357741005465837362353462491470774072443769007763195777838173068590153869097762546197604268691199567860921130683372085414202770541670115714619056526818756388357967048679031303445142118528657805392231131265372924571759164765114287126555144239545057519778710345993135919262183967105068612167223989272101450824469294656495154328147639488147920807670309807519139041568672450573526834723437141036446932847279496922450923584683941755877143470319890691162344758396562293255780565765298268998143028725086430350687074435726906555211524643600431413861087332337929281084314536309880593259342119332644930468544649379062452312308609445882645246734828633175249232854111931552040682798527772992677245080538629971449959863935780868679921406660760433558455530299079931072991654114028449327218484272833914488613445071894407970973407835536033596719646115787955856633470748257454930427263916948805686238875894315638040081725456091348393278886452382482347324259510627687273416782187218888460984025126205139807696198893504432906278346806147008969062988336375439564278749959278484935390569189525990160630343096519484342797305834409504870950273721768281677781218408781460659151104029474124211964735577264593776934944442710125097152978760270594148019478671323705075836839281725651149601422443990584343838454015894848620626186442746984196752237561275003161326411535301502646892595753695486696993038224626394397994430993988128235301205867243354921133685315790922777043540814377250614494797384003714275184682940232822316213479183660149691639617132494750264688020764705229428084267525126233483545089351069469877965811090861581808599988740469176823605662944201884101692236640304242050601556781016895695269899755234328012021864033758775326488267369769679718684421848018759416526647881509239237226402937761353393097170440782590038744685727451766790295252139902172876654545978790823491236611935763823157163198604290035687291563454403738536324678085912586010966086135240717753698202985110695640164121943904394783836100510114241295481655529838315751209999108261147302315355608780423730139042373334697073684911696534201923372080825783041083999795807443452633008692722982318347934493986439522894868606062400187453531710087943498526255321452859280180883524828098781443978504928873117828012071342381692195308154281724867286420467545683996956804869339632126641928543136708419651120887189176091913163632367262007086635432887143715033661513639330893377313539327135840707613133846543847060337595741193799347977525215828916735998914323072611602366100283470008907465647007764587356214025843766704556222178802476621843727266065089178574860026183334693912253895127940595014593497529903935882058442586176247181887729274038843727609326886726788875351586084706106608995077879412725382050899332380427724537702737946243269007972558238842402668886621393631474850075377895548566982732846713806527731121008804511537397532667178171346770515037373831886290971148585019137993018256677756146397738490510738830259265298167233091972868967983681109123186851425570172759207 218273981725860755244589989857525969080157451731091880413843853334021980072147911663972093380419154756063897343521066945825577595527106278801181550326743340714186831576347528788797286917871861666534268943795388163220212085000626945197930022040963475437895722618169663596108590333546672522754219769135875002413038468369992863953426444909368149082992042056294916137628942662033286746383224642272851117190663717134484347138552672954724981914585022974827946070691498866022208089527857363048796862312167711168435441382188526751402677900973634572291004905234148064525074090519605992580968755922787876105701520489621509201034836916264865391894668601566604734229539078435249787536234006015590303999125253864805268598353233653301684243911772470527301461457269910127549012519820010739432461804973361743281462233221761899561778767786797849955422525449500733265284789465232412521921471916546233254310350810913114129515037312212357207423267250579076691007560362850131201219993333208595604802651802308274100974456328996698639782441345932884868092671545852956849682328174885091977694938092326348806888721569778468578520341285799603319334757754589013149754481938990435247471900690163068239472335400035402583120916506391945214387303475429161170042009765355629377113199569278746938019114765836027697600340672068060951030208311113321049392568373724375041691014065462020647203222975035632968369594702853282068224359052898622473010843453302969265613763434992763128414871525961572951930767299824781139885161793270060702976285276525007033183381174486383593643927545766932910355783375160743764192889671974359458276118607993197300790598369302949077354192060903483882837373644426862214414490458619979354152848645103055402550768027109921275892252416296568457898566974408858545696979976242506124435433022965974487376960157190339186860971389101848120909582277103556802188905779631781074928687519433476640968383507572370944340029811808259085449016804687768402964682309360482030972507621653054045605840374344177404598005708400746025076600024237772395660791914733377376218622922531694500821177761643403098799898653014023770678109364967488798160961093656569031090550983413385475792467496073086262063592246437247099400965777096494489788340448463363887663532818366596133456185884813488185673196667092429612308328582582470691039013474285837721441033944084494864511238427889282579663255495762831976255748216525298786331739678619484463928456511247437181851093939293432082773531892431766500719376617052893278943316228941319401210398305908789765956209036714996694468950604769154533384179233455261459175273736675194373321984501499215883207023257970684007342610799352551732156150333498490376534430256782789392928420442071242379150891226479068559930365151318973736092370114458246154839032784631966760527279391174916069998878926900030374752857148645686060288600945641861581859714865759999654443414356723431452010126816470308353124195804701688032518853477003504771971524893885081592991661642826972179693401457924943957753946714024110164306879072082253148356476922935950836033098939439824600073707308328041383493186917206290687671512090759856101498492131603489673314365244943599483909530388017431414506120048143464663991844880118882774795595191291520357783203141908865976040548971275473208761471553840708844431867578978153977812844655063023648815655385105411175007580011674853802711828320777380133377294089999674502770182046765515490966317626765487271359758391366967170051493182032483173939347331540425734131482911046313205033609637467378808716921781703515940061205160916385701567909250826227178562724178284229197272170068565639376122231094429284395323630346118787010640581093028481075571654019478140593154263863770282300348437853957746501290918276929822605245586870144167598651274433456728566764987066110903063050170297647595058762844941829618747973243069644892888636 353174721292216134934420968383036304496763282686559410281512273382965422317417363790689794505213669054908890080229349584150947558357679153900620348874658765991128180568970818053335837792882677321020094445867884747745667160543223790555588785923549476368671432028432966853319619073131566880039985273599885057546299536860513836216872839081662674627192619336791681128761682320087380490071150258559575925781872343757258816507555173550078129460105513331017807631744082676447816304150136971620671565420148465893947306936417949934086313410515238535907140048041081305427251072272844185869879169106537048576705791708485238590599282692427968773527722587490206991407246140659526323108960951706733885473071999373020450517316938173623855367681284464630205707847653070914658511131973096494830581762201453654507053935960651830470136508792263687317775987940971507337728558472995608299759644985136387123408113357110718398206236880073278338106639335993279461549230478564750257746812089596953571851330833611719243092984986802090870913706718857456627257436660140083404826567719942611756405284085462268069072688674847080745744330557901054143804052411084167477902121427138356055142210497682207281041007850608929417844353647428392147234582972351612093626693707111506520583519459969909282777511328129283478166105970337059094058933397543671736467004100630930253215657665893434508290555312964914052684131012733875327566478385543552941555492832365421577922372880875408375149700159136822184784879231376821822683689566262737948056823906496456993047316955355063515050588306200491365886082455091816755847003700423686676760391441907685914235670263710920050762027596937080602483489432382718847885238716074909781416765593908741641426662342747961357617708507644961736785019356891205869956490603929779541217620241854435471402086362330146883059864893534754399256388424112525865177242155071345353678646797918412031537573033562531574683126331292601882754851214192639353238404077642159812190916403113713196709869848468389369333582972994522960021042734362869548639552185327525395697294246236770337660459487294552700222342643598367609132125259816109424347403840640765783328112258416546802204002797575733154659345941923944092439190403490892484219334436591599188869400061721517267141501675736265229214011044343044107105712586296745875721953707108153934920217604234186504128370922639547267684020200992260060523273342758782331421090748089362429739547372829245781839834408470255688436476094315868192956016921294943880500097245837014671110153540236801787820242795490323182736320374448873217806027252214677985823155245914431599724922262852608980377464040560722752028338251119342027408290235671367031080409047606280629540356205894399542349495516514755851493819555057510060770456027044257120925168025349720458730264501870556234120822831294814210853367262886981541944130783957612791858823126907301969799023137147161591052500151167382038035892338903611404599679260044588771767332337337714601684384625145320114187387897447838826360009114211563696016967015580779403677929782216131719557927038221268578578636181445869395564529298898485995825793815627142521966037815600446478183704877070241412452667096437082535393309224235377827624212142125969410228482335006554019296842472802243289579876107116180821895318097687769182027608772777501955338060483979759647729978457717013541107863481683761268358836085364736347403137856704230724948984523387359218232382715944062131385941726060879423946621122627497767436877235476307792574069087293495092762883676311106418043808508492391291647289867022994696645788663551609229462056558711953734974908014808908384094789333271687064210251739750261860715958988577048058304500733284668324275272668281819697881105032129093271805955650761708896216735455163305591669531111212874964503477576849733322315468464880687031631812925510727871160094495215065647843 571448703018076890179010958240562273576920734417651290695356126716987402389565275454661887885632823810972787423750416529976525153884785432701801899201402106705315012145318346842133124710754538987554363389663272910965879245543850735753518807964512951806567154646602630449428209406678239402794205042735760059959338005230506700170299283991030823710184661393086597266390624982120667236454374900832427042972536060891743163646107846504803111374690536305845753702435581542470024393677994334669468427732316177062382748318606476685488991311488873108198144953275229369952325162792450178450847925029324924682407312198106747791634119608692834165422391189056811725636785219094776110645194957722324189472197253237825719115670171826925539611593056935157507169304922981042207523651793107234263043567174815397788516169182413730031915276579061537273198513390472240603013347938228020821681116901682620377718464168023832527721274192285635545529906586572356152556790841414881458966805422805549176653982635919993344067441315798789510696148064790341495350108205993040254508895894827703734100222177788616875961410244625549324264671843700657463138810165673180627656603366128791302614111187845275520513343250644332000965270153820337361621886447780773263668703472467135897696719029248656220796626093965311175766446642405120045089141708656992785859572474355305294906671731355455155493778288000547021053725715587157395790837438442175414566336285668390843536136315868171503564571685098395136715646531201602962568851359532798651033109183021464026230698129841447108694515851967424276241865830252560520039893372398046135036510049900883215026268633013869128116219657840564485320863076809581062299729174694889135569614239011797043977430369857882633509960923941530194683586331300064415653470580172285665653053264820409958779046519520486069920836282636602520165970701216082667366147934703126428607334317351888672505956541134902519023156143100860968203868018880407756203086387002641843163424024766767242315710222812566773931588681395268985097642758600641944300344100060902771915917168768464838481637248937955799022241296612391379810234624783598222508364934297334814418663241829932277996470293648819416722938188361191191840156180587386974007674885054963076532932880088113400597687560549753414887207711435473719414041168879216566760967181393991656361251548318681368639609350528829847347275696755092036779021559284081117752830426708846893668003884076682963690928347763687771210007986747634693675393538347837159443413474778334072320551846145591553776451832205319877205270979218027751190206485669939444998428982589625973046906764351824863584487298531406759370949050471893759564440569169857407614839304389070022468776647965641921500386742993824411424184706376483796862826141502503275764200809981687219257543893045472304119701758194844585606224411532667602232731729599474373718537992667301624242437493870593043062626967637690391160088143605299437118532737048093543738857231222796194676046267972292293880789355372782784113955828235673860323846087663032552034406705152082555591025977661093178652343489773910779057716216104776683497305906386998623464529947203936151498070122013840896362197484454513949899429272378842491616057022244852185024077526298074377080045614711109265620425078391654030656789651528478026459476351755655933150905139042783296545633842822424716115443493358615071070664406142116480780431946703905227719166570152874709198700342709549402745700117427846593998114304659980941376224567016733526705551998339808297796493313778485226760730290195907231708495027939380398213697914377836408024780736996182932247078083374547760217020427700971459533882085869048871356540081605529133876154752762808917429536532052101998229542886086839773096873927691531501462322325307473190320805544669603531268464642960636385365638762528282090394657867340346619133337564859958536479 924623424310293025113431926623598578073684017104210700976868400099952824706982639245351682390846492865881677503979766114127472712242464586602422248076060872696443192714289164895468962503637216308574457835531157658711546406087074526309107593888062428175238586675035597302747828479809806282834190316335645117505637542091020536387172123072693498337377280729878278395152307302208047726525525159392002968754408404649001980153663020054881240834796049636863561334179664218917840697828131306290139993152464642956330055255024426619575304722004111644105285001316310675379576235065294364320727094135861973259113103906591986382233402301120802938950113776547018717044031359754302433754155909429058074945269252610846169632987110000549394979274341399787712877152576051956866034783766203729093625329376269052295570105143065560502051785371325224590974501331443747940741906411223629121440761886819007501126577525134550925927511072358913883636545922565635614106021319979631716713617512402502748505313469531712587160426302600880381609854783647798122607544866133123659335463614770315490505506263250884945034098919472630070009002401601711606942862576757348105558724793267147357756321685527482801554351101253261418809623801248729508856469420132385357295397179578642418280238489218565503574137422094594653932552612742179139148075106200664522326576574986235548122329397248889663784333600965461073737856728321032723357315823985728356121829118033812421458509196743579878714271844235217321500525762578424785252540925795536599089933089517921019278015085196510623745104158167915642127948285344377275886897072821732811796901491808569129261938896724789178878247254777645087804352509192299910184967890769798916986379832920538685404092712605843991127669431586491931468605688191270285609961184102065206870673506674845430181132881850632952980701176171356919422359125328608532543390089774471782285981115270300704043529574697434093706282474393462850958719233073047109441490464644801655354340427880480439025580071280956143265171654389791945118685492963511492939896285388428167613211415005235176142096736232508499244583940210758988942359884599707646855768774938100597746775500246479080200473091224552571382284130285135284279346584078279458227009321646562265402332941809630667739189236286018644101218755778517826519753755175962442482920888502145591281469152552867872767980273168377115031295897747352097302294902042863449173921174798209323407551256905928745530762756233943459646484081063502886631410459642781039943510720615348743430705386382393341596694627695643059941591353666900968996233737884617430821584228504057572771829027204433843961951339092129511399287301591235786972730804841224438695248351995350652009132853860041463849882259508580262918004261433993857633282168546760396689368835331407677987808394916028538240524589489658796459591674419649144176862513557087165577361119574603594041460631017754634115127118805072429195980482508910841718211997092682315506189568560510796360430893117612408068177252820621610473964942447237556340813103243811955712336487368214275148953015882361757230979671219780174622245515003262679323099722014141145430567762804382629681774999084082308814864580891596485292738496614220319240269164370821595252559861304628396376888087513352555200301185507834852552107749216247208487085124533157888488965623022542944275612300539438257223306975042376339429500491506852828183569803408135952668151093540233927431083058653611534131641843488726017944735427287478708813101802493041319279621085633303390559376990089591644804538798688298523355784894962375094859486577929445637486837295708136667221986098183456144311809760972658523744133825619310732072499070182577192180655486047477241704809200333921696110647918215933044902829578453240397679057780470778781990336655882478495771942219810369707681107227408969122026470792851074490293432060075024184322 1496072127328369915292442884864160851650604751521861991672224526816940227096547914700013570276479316676854464927730182644103997866127250019304224147277462979401758204859607511737602087214391755296128821225194430569677425651630925262062626401852575379981805741321638227752176037886488045685628395359071405177464975547321527236557471407063724322047561942122964875661542932284328714962979900060224430011726944465540745143799770866559684352209486585942709315036615245761387865091506125640959608420884780820018712803573630903305064296033492984752303429954591540045331901397857744542771575019165186897941520416104698734173867521909813637104372504965603830442680816578849078544399350867151382264417466505848671888748657281827474934590867398334945220046457499032999073558435559310963356668896551084450084086274325479290533967061950386761864173014721915988543755254349451649943121878788501627878845041693158383453648785264644549429166452509137991766662812161394513175680422935208051925159296105451705931227867618399669892306002848438139617957653072126163913844359509598019224605728441039501820995509164098179394273674245302369070081672742430528733215328159395938660370432873372758322067694351897593419774893955069066870478355867913158620964100652045778315976957518467221724370763516059905829698999255147299184237216814857657308186149049341540843029001128604344819278111888966008094791582443908190119148153262427903770688165403702203264994645512611751382278843529333612458216172293780027747821392285328335250123042272539385045508713215037957732439620010135339918369814115596937795926790445219778946833411541709452344288207529738658306994466912618209573125215586001880972484697065464688052555994071932335729381523082463726624637630355528022126152192019491334701263431764274350872523726771495255388960179401371119022901537458807959439588329826544691199909538024477598210893315432622189376549486115832336612729438617494323819162587251953454865644576851647443498517764452647247681341290294093522917196760335785060930216328251564153437240240385449330939529128583773700014623733985170464298266825236823150368752594509383305869364133709235435412165438742076411358196943384873371988105222318646326476119502764665666432234684206701525341935265821897744068336876796835772058988426467213991545933794924055179009243888069896137247642720700871549241407589623697206962378571594502444134081316461326944566926751601507056217075555140982611709221691103997631230856492067811137580306803997990618199386924195393682815751257232527984895373146459900962937146862332884928720186440223554556875820013211093683545818735791556258707546438637623536270770236352063129546537171374011081846310087656384420674477909501825683385350269002502404674342188967810477654496108310049263672453569645313094897245352287961500842360226347684503382065816085952316746409594243156561539295899112241905218283898124888347677177754086442762820356068626114210278836744734140775859245046799783306991036477161089904701948966608193404394587920770682911416664659190906844507746743192520296830739978993543454935883323160993690953679961731108039362820405628401139768895097710008318781179845121097923205177062065346110435192167768993062810856326186615673780276637387602702773456933702224461820820726263899488883208897400744725234946561476288813821639870762065326240821246143361862973338750468400991410500164897648969308964001750112041180387317663693108636629783401363160936877341960916572611942849731947459650189326369509774845985173083973111688355870303868076871565269088884205755064279922901755493073184492307282045511618032704319599469064181558003904528830188673629983278015911488359603429039151788106326056810238810286159134345732386023694340190804302772817999703506144771899141380105778251972311142200552082027040406862771006093046745989937251212421128660191421109426769624934982720801 2420695551638662940405874811487759429724288768626072692649092926916893051803530553945365252667325809542736142431709948758231470578369714605906646395353523852098201397573896676633071049718028971604703279060725588228388972057717999788371733995740637808157044327996673825054923866366297851968462585675407050294970613089412547772944643530136417820384939222852843154056695239586536762689505425219616432980481352870189747123953433886614565593044282635579572876370794909980305705789334256947249748414037245462975042858828655329924639600755497096396408714955907850720711477632923038907092302113301048871200633520011290720556100924210934440043322618742150849159724847938603380978153506776580440339362735758459518058381644391828024329570141739734732932923610075084955939593219325514692450294225927353502379656379468544851036018847321711986455147516053359736484497160760675279064562640675320635379971619218292934379576296337003463312802998431703627380768833481374144892394040447610554673664609574983418518388293921000550273915857632085937740565197938259287573179823124368334715111234704290386766029608083570809464282676646904080677024535319187876838774052952663086018126754558900241123622045453150854838584517756317796379334825288045543978259497831624420734257196007685787227944900938154500483631551867889478323385291921058321830512725624327776391151330525853234483062445489931469168529439172229222842505469086413632126809994521736015686453154709355331260993115373568829779716698056358452533073933211123871849212975362057306064786728300234468356184724168303255560497762400941315071813687518041511758630313033518021473550146426463447485872714167395854660929568095194180882669664956234486969542373904852874414785615795069570615765299787114514057620797707682604986873392948376416079394400278170100819141312283221751975882238634979316359010688951873299732452928114252069993179296547892490080593015690529770706435721091887786670121306485026501975086067316292245153872104880527728120366870365374479060461931990174852875335013744527664930180136670837759107142339998778935190765830721402972797511409177033909357694954393983013516219902484173536009912214242322890438397416476097924559487506448931461760398849348743945890461693528348087607337598763707374736076066033121790703089645222992509372453548679231141451726808958398282838924189853424417114175569896865584077409867492249796231383611363369808016100672776305265540483106397888540454752453860231574690502976148874640466938214457633399239330434916009031559181962618910378236969841087596605997088453686551829689182673961439174306641597439597741118590564818760692551508389976715665782169523653654365333509902178852306285005336008379771326487042355685724849200151262010984937260193229244471512129390478596024069142938480644502575233160682877529380600750937174162178525407760371965890586456756713648704873260231816508812325358755906102311292881205247835249552049108623121120554956731233458174751236368343817787396908054207517110017143861014026005061885713130148973005472294150656463459079679888511105888932009425816693114302832213471128302207246111302042143505350415280914325665472812701410861620120182005513991926646237706920484906265607283130096595350986495375529197248907331169833821789737814376021027449407323735761005149960972443433646600821971710128836385087869185096858443901301230562057443443367749929665389155822137147571553520177133055468757233342564060866460016772471008983804405298629887585159234938359002428172002816165264794169606415078915247293957668516369807887572504278420064817864130587932671070236727682998455328412456266691050279741460048840639949646288507022149737107670335501538221970683518237465724857763400839154932719945390450838722518705862902533084598012296820437886249030754301478856434560522812349082581375800727853217346220334447599453042495599720201685010006905123 3916767678967032855698317696351920281374893520147934684321317453733833278900078468645378822943805126219590607359440131402335468444496964625210870542630986831499959602433504188370673136932420726900832100285920018798066397709348925050434360397593213188138850069318312052807099904252785897654090981034478455472435588636734075009502114937200142142432501164975808029718238171870865477652485325279840862992208297335730492267753204753174249945253769221522282191407410155741693570880840382588209356834922026282993755662402286233229703896788990081148712144910499390766043379030780783449863877132466235769142153936115989454729968446120748077147695123707754679602405664517452459522552857643731822603780202264308189947130301673655499264161009138069678152970067574117955013151654884825655806963122478437952463742653794024141569985909272098748319320530775275725028252415110126929007684519463822263258816660911451317833225081601648012741969450940841619147431645642768658068074463382818606598823905680435124449616161539400220166221860480524077358522851010385451487024182633966353939716963145329888587025117247668988858556350892206449747106208061618405571989381112059024678497187432272999445689739805048448258359411711386863249813181155958702599223598483670199050234153526153008952315664454214406313330551123036777507622508735915979138698874673669317234180331654457579302340557378897477263321021616137412961653622348841535897498159925438218951447800221967082643271958902902442237932870350138480280895325496452207099336017634596691110295441515272426088624344178438595478867576516538252867740477963261290705463724575227473817838353956202105792867181080014064234054783681196061855154362021699175022098367976785210144167138877533297240402930142642536183772989727173939688136824712650766951918127049665356208101491684592870998783776093787275798599018778417990932362466138729668204072611980514679457142501806362107319165159709382110489283893736979956840730644167939688652389869333174975801708160659468001977658692325959913805551341996091818367420377056287090046671468582552635205389564706573437095778234413857059726447548903366319385584036193408971422077652984399301796594359860971296547592728767577788236518352113409612322696377735049612949272864585605118804412942829957562762078071690206500918387343603286320460970697028294420086566910554295966355583159520562791039788439086752240365464927824696752583027424377812321757558661538871152163974144964229205921359468216685778047245018455624017438717359111402714374933219851438363132342987547497568934235316019436758409369114184993731182461610650691424664409300610316951259054828614339202052939760005717494880047073552863388131315423664764192000964951857511408234550420264513389611602382197054949166625498788645287741596508125957597472478512970839030222960977284858665560591223846324282636996050999870210244169159344058414030609256880794449988470635291690598069908117734737331399391701465374234033996283168127124778433385215297421811966110469207430399649806483813060389670131485057500971205822872408807936628911002969271628997625993207162081982168977219341404963910978816420683220763182821020192041465241279928719168988711583817355677074034600345940952921537602169155805834636510033943290755491962276196841753713306812618969902550705697678380208077110785531768707147153195425918104587263164203900807911844359160429830286804791446111573303632218313442786420926451200690649861379933407886325765321871241830434891182398009191754541512591011249967253579526767271117597825745387935076976456710033484344740765886081005855562544009728510073361116775866160114461299463953369470138319918490300165648596029938930577373758789844294275963668049559973500665105969084791029526821478680902236590742784195961817992027282726612621056986642549852755945352381893774599207283471546868728113233916709146971309944989625924 6337463230605695796104192507839679711099182288774007376970410380650726330703609022590744075611130935762326749791150080160566939022866679231117516937984510683598161000007400865003744186650449698505535379346645607026455369767066924838806094393333850996295894397314985877862023770619083749622553566709885505767406201726146622782446758467336559962817440387828651183774933411457402240341990750499457295972689650205920239391706638639788815538298051857101855067778205065721999276670174639535459105248959271745968798521230941563154343497544487177545120859866407241486754856663703822356956179245767284640342787456127280175286069370331682517191017742449905528762130512456055840500706364420312262943142938022767708005511946065483523593731150877804411085893677649202910952744874210340348257257348405791454843399033262568992606004756593810734774468046828635461512749575870802208072247160139142898638788280129744252212801377938651476054772449372545246528200479124142802960468503830429161272488515255418542968004455460400770440137718112610015099088048948644739060204005758334688654828197849620275353054725331239798322839027539110530424130743380806282410763434064722110696623941991173240569311785258199303096943929467704659629148006444004246577483096315294619784491349533838796180260565392368906796962102990926255831007800656974300969211600297997093625331662180310813785403002868828946431850460788366635804159091435255168024308154447174234637900954931322413904265074276471272017649568406496932813969258707576078948548992996653997175082169815506894444809068346741851039365338917479567939554165481302802464094037608745495291388500382665553278739895247409918894984351776390242737824026977933661991640741881638084558952754672602867856168229929757050241393787434856544675010217661027183031312527327835457027242803967814622974666014728766592157609707730291290664815394252981738197251908528407169537735517496891878025600880801269897159405200222006458815816711484231933806261974213702703922075031024842481038120624316134766680886355740619483297600513727124849153813808581331570396155395427976409893289643590890969084142503297349332901803938677582507431989867226722192234991776337069221107080235216509249996917201462153558213158071263397700556610463349312493540489008863079353465167716913199010290840892282517461912697505986692702925491100407720383469758729417428375117198306579002036596848539188066560599128097154117587298041767936759692618726598824460780611862444365560418514183232913257416678047794027411745934115182470348741369312828635094174931323769705988588098551788146432905489103208090289165782999865429077643810563218591054867835109283659371860213556975731715694416320759673143963327451994213197133083750571526524374548862575426299420678754889267241311810739446606602100047711673653716559603561728222032827739116631606696248527582507756583858949042419575874922842934615636700552299763516496938433319460166843360452519946658196607692208747519536470942565830293269504938921983254330221456404711692196943209362675603779208157434664902552297319042517843012395088322111928825420633210284376223330643447107416329231701597546428655633721602903085361461934233160915357821524276161980300207629071049516888588664531335031885417365113124577281700090572862781162714136354730907700666670121813854677932757241897543532241064611014963031164465434462865355287726910359495675960613583259144857152395446498255178159793764751516321396705878895309569727169871718020050417336368194182713515407176514761423185941846186364891783413904304884864029214311904409558630016668938526632780737411508528689529232132851164741040924002210110087966206997322315385703700274432115595729473362531741688525812960812655597825914475241868249340184543804769675340796492782255878276313480914099913421203072665105027933757694502452424629691881316327566276412308867172994954996531047 10254230909572728651802510204191599992474075808921942061291727834384559609603687491236122898554936061981917357150590211562902407467363643856328387480615497515098120602440905053374417323582870425406367479632565625824521767476415849889240454790927064184434744466633297930669123674871869647276644547744363961239841790362880697791948873404536702105249941552804459213493171583328267717994476075779298158964897947541650731659459843392963065483551821078624137259185615221463692847551015022123668462083881298028962554183633227796384047394333477258693833004776906632252798235694484605806820056378233520409484941392243269630016037816452430594338712866157660208364536176973508300023259222064044085546923140287075897952642247739139022857892160015874089238863745223320865965896529095166004064220470884229407307141687056593134175990665865909483093788577603911186541001990980929137079931679602965161897604941041195570046026459540299488796741900313386865675632124766911461028542967213247767871312420935853667417620616999800990606359578593134092457610899959030190547228188392301042594545160994950163940079842578908787181395378431316980171236951442424687982752815176781135375121129423446240015001525063247751355303341179091522878961187599962949176706694798964818834725503059991805132576229846583313110292654113963033338630309392890280107910474971666410859511993834768393087743560247726423695171482404504048765812713784096703921806314372612453589348755153289496547537033179373714255582438756635413094864584204028286047885010631250688285377611330779320533433412525180446518232915434017820807294643444564093169557762183972969109226854338867659071607076327423983129039135457586304592978388999632837013739109858423294703119893550136165096571160072399586425166777162030484363147042373677949983230654377500813235344295652407493973449790822553867956208726508709281597177860391711406401324520508921848994878019303253985344766040510652007648689093958986415656547355652171622458651843546877679723783191684310483015779316642094680486437697736711301665020890783411939200485277163884205601544960134549846989067878004748028810590052200715652287387974870991478854067520211121494031586136198040517654672963984087038233435553575563170535854448998447313505883327934917612344901951693036916227245788603405511209228235885803782373668203014987123012058010962016349825341888937991166156986745665754276962313467012763313182155521531929909055600429475630844782700743788689986533221912582246196561428251368881434116765153138814460309048402321787104501655816182591743865559085725425346507920902331426636671564818740980590447409166039394595069618047205394069888049043665089355093604049284579082547636183337908155328416946070708541318300991791037764160464957623354369845380388055886599552335954732559697520190186624555589826522705506891493299707855453020531164578558756454069193211578919933336873543872517495002288234151788629031389368284578097783919338359661981926242743802704598067344263678484802360733949364799428886804361498680756269752345735264265658405870725424706126979146754015364359951109554818627795292266545200549984852071327308048122280767191838454741794944550602741862952329904069405341631839054334807975012002438426190833687140866521927399056415332773662366769704534876020948973700810251372367800194062755043542773666250679394260036933067618427629638363673267132086070789325962765405029370718160784613759941041599086244965442166182776639286781635335049041113548454941599734377385937255027998187764728676765468613457482489609159292239961840485924345388754299395902749944382195324747140018602050646007999011279202340387955579580226286125487622481034299730213362692969488263206826017652193862520786156262931883560032897776161663224707006266083580688744073870303596207526720970407845622517860973286139588277051631913163428185055679510329018014144304899986156971 16591694140178424447906702712031279703573258097695949438262138215035285940307296513826866974166066997744244106941740291723469346490230323087445904418600008198696281602448305918378161510233320123911902858979211232850977137243482774728046549184260915180730638863948283808531147445490953396899198114454249467007247992089027320574395631871873262068067381940633110397268104994785669958336466826278755454937587597747570971051166482032751881021849872935725992326963820287185692124221189661659127567332840569774931352704864169359538390891877964436238953864643313873739553092358188428163776235624000805049827728848370549805302107186784113111529730608607565737126666689429564140523965586484356348490066078309843605958154193804622546451623310893678500324757422872523776918641403305506352321477819290020862150540720319162126781995422459720217868256624432546648053751566851731345152178839742108060536393221170939822258827837478950964851514349685932112203832603891054263989011471043676929143800936191272210385625072460201761046497296705744107556698948907674929607432194150635731249373358844570439293134567910148585504234405970427510595367694823230970393516249241503246071745071414619480584313310321447054452247270646796182508109194043967195754189791114259438619216852593830601312836795238952219907254757104889289169638110049864581077122075269663504484843656015079206873146563116555370127021943192870684569971805219351871946114468819786688227249710084611910451802107455844986273232007163132345908833842911604364996434003627904685460459781146286214978242480871922297557598254351497388746848808925866895633651799792718464400615354721533212350346971574833902024023487233976547330802415977566499005379851740061379262072648222739032952739390002156636666560564596887029038157260034705133014543181705336270262587099620222116948115805551320460113818434239000572261993254644693144598576429037329018532613536800145863370366921311921904808094294180992874472364067136403556264913817760580383645858222709152964053899940958229447167324053477330784962621404510536788354299085745215775997700355562526256882357521595638997894732555498064985189191913548573986286057387437843686266577912535109738761753199200596288230352755037716728749012520261845014062493791284230105885390960556116269692413505516604521500069128168321244286365709001679825937549111369736733295100618355419541274185052244756313559162006200829873781283618686047496353642197412390537401427342613150767145084356947806615075611484282138850794812947166226206243163584792135845870968644817685918796882855431413934606472690477859542160668026831269756230409031468472238880181265796448937723158327324461215307161025016294776963956943011052118655868940283905674402051563317562138709327533049653790524135277323127911363075401339161797567901860278272149430084433728924321038824487059716779692161066513037928142253998495808259716478488154195554587997668285567464708828451421458236439285017858589618451491322241069009910093971754307299655932619129650343209073190877699479115021339043473815840535627977003446021664597027759448273221483644048428502550921423880628299178743637279823878313620494088463397847635964203797185490819427226865908001034635015604083051955314779498218475898407344764169539910055362457342567316038735085328431717952039037922007917432976300015563794211635324647948030649592095072826538622419812981148821638726018612629863017937009206439296777246038730193682504173345165676944904776210985266474992017070745580119968543405364279490099951410459643847381392573196544846704515138657293163858025919418882908828105484551527130740175240131862443943381311957789690314252332484944796420003430487794808565217736569357759340719675481598811860757798035274766025501847768511775941424377181526329748579909688440820883829048695182966001219897282779504056542855309501383245786741326881317299854982688018 26845925049751153099709212916222879696047333906617891499553866049419845549910984005062989872721003059726161464092330503286371753957593966943774291899215505713794402204889210971752578833816190549318270338611776858675498904719898624617287003975187979365165383330581581739200271120362823044175842662198613428247089782451908018366344505276409964173317323493437569610761276578113937676330942902058053613902485545289221702710626325425714946505401694014350129586149435508649384971772204683782796029416721867803893906888497397155922438286211441694932786869420220505992351328052673033970596292002234325459312670240613819435318145003236543705868443474765225945491202866403072440547224808548400434036989218596919503910796441543761569309515470909552589563621168095844642884537932400672356385698290174250269457682407375755260957986088325629700962045202036457834594753557832660482232110519345073222433998162212135392304854297019250453648256249999318977879464728657965725017554438256924697015113357127125877803245689460002751652856875298878200014309848866705120154660382542936773843918519839520603233214410489057372685629784401744490766604646265655658376269064418284381446866200838065720599314835384694805807550611825887705387070381643930144930896485913224257453942355653822406445413025085535533017547411218852322508268419442754861185032550241329915344355649849847599960890123364281793822193425597374733335784519003448575867920783192399141816598465237901406999339140635218700528814445919767759003698427115632651044319014259155373745837392477065535511675893397102744075831169785515209554143452370430988803209561976691433509842209060400871421954047902257885153062622691562851923780804977199336019118961598484673965192541772875198049310550074556223091727341758917513401304302408383082997773836082837083497931395272629610921565596373874328070027160747709853859171115036404550999900949546250867527491556103399848715132961822573912456783388139979290128911422788575178723565661307458063369641414393463447069679257600324127653761751214042086627642295293948727554784362909099981599245315697076103871425399600387026705322607698780637476579888419565465140124907648965180298164048733150256416426163184683326463788308613279899284866969260292327568377119219147718230292912249153185919659294120010032709297364054125026660033912016666948949607122331753083120442507293410707431171797910510590521475473213593186963439140217977405409242626888021382184128086401840753678306269530052811637039735651020284911578100305040666552211987113922950372624461000277662662441941156839281114393592809286178832232845572250346677818197507866833949799313001843007611207370989550570400765074300873859511593126348960273984285886354614215720352555108599902869792490673008160369515665379014510915411356071721495088092046902827739256607139235815814338532342512737310856739625269491997335465577415741596590022360671690556876231820074196496098196735999556020358623377520571544694235124945667077254357650239109660389881983929079230013434689558455748867367074307739474246406353401709573000811351043123808224331038462676223794817466624430613151250070945327946159080812332543205192792186566945660137820723496632207539840088969823579095054393740970331905616764929272163225955242829024824112271850914756034302132528203411405722201980188019842789230044891029584684881098268019724711190211889551899051938147601491423642000581178721622966380338376332283695635848686949984452458580239825252098814929933616805122966057223571403552044218776716879073101329871001732488784808545001063002681918157421822168827291023430231691545732790821248130873723145721699913369270540538457972567277454303160701157501534705999776183776992913538002384968123689681595307663801663510993218782207507957870270403618883505895967541854236894317700826974506036871056555688456018737686438925297070344895461604754968844989 43437619189929577547615915628254159399620592004313840937816004264455131490218280518889856846887070057470405571034070795009841100447824290031220196317815513912490683807337516890130740344049510673230173197590988091526476041963381399345333553159448894545896022194529865547731418565853776441075040776652862895254337774540935338940740137148283226241384705434070680008029381572899607634667409728336809068840073143036792673761792807458466827527251566950076121913113255795835077095993394345441923596749562437578825259593361566515460829178089406131171740734063534379731904420410861462134372527626235130509140399088984369240620252190020656817398174083372791682617869555832636581071190395032756782527055296906763109868950635348384115761138781803231089888378590968368419803179335706178708707176109464271131608223127694917387739981510785349918830301826469004482648505124684391827384289359087181282970391383383075214563682134498201418499770599685251090083297332549019989006565909300601626158914293318398088188870761920204512699354172004622307571008797774380049762092576693572505093291878684091042526348978399205958189864190372172001361972341088886628769785313659787627518611272252685201183628145706141860259797882472683887895179575687897340685086277027483696073159208247653007758249820324487752924802168323741611677906529492619442262154625510993419829199305864926806834036686480837163949215368790245417905756324222800447814035252012185830043848175322513317451141248091063686802046453082900104912532270027237016040753017887060059206297173623351750489918374269025041633429424137012598300992261296297884436861361769409897910457563781934083772301019477091787177086109925539399254583220954765835024498813338546053227265189995614231002049940076712859758287906355804542439461562443088216012317017788173353760518494892851727869681401925194788183845594986710426121164369681097695598477378583579886060105092903545712085499883134495817264877682320972164601275489924978734988479479068038447015499637102616411123579198558553574821085804691372871590263699804485515909083448654315757596945671259602360753782921196026024600055163196845622665771801968139451426182295086808866564741961268259995178179362385279614694141063650996628033879489522137341630870910503377824115683872805269455612072799636614554209366492222446270946399621018346774887156233701489816415543125648830248705356850155266904080637479414423060744722758904024901762884824300411919585555429014991520823390626477859426712651219933159135706391047471266872795375571906058796243593105817963581459324796588253215720866283287145720992900872403520102908227228976339072829980578798291945334365698314011785707926099317168636475550069360012392640154826638519890122404118426162041579120023722661950893650942702142422278486757410883292655993907181099888686691572964740135377356829572454090548900691782529925477719575911549856306500848825886111464229488359763960807025187421014256797908395379161163145726447186736087164451621993416960045814603058729573222507880436155227982388413351213290086941981378713019022475948070883256497552522106724652297368388048311241450428814582607770037394432826631668590639822531149457323311542923859073447841123604839183178106349055749830124092663336616927395495152884387281454839166953491119630564246155450443644209897620996142804793839102664909332829128917611819784016750511971712033086969240217442254630444196658632172819635153578322425829531191123329618135525144601463084081404925633875868546177192114808916323708876668289532745177252394305685329655249516201659975082015447741587710199851535716243072863530996488262736167089103011871158960854790790457512073874306591188952310099923736345541536333633213483983779984447479630582429827165358761730558148932335051796733367463415584408362738065943012883792975725934153836059744998874047187822171083811671776778904609951533007 70283544239680730647325128544477039095667925910931732437369870313874977040129264523952846719608073117196567035126401298296212854405418256974994488217031019626285086012226727861883319177865701222548443536202764950201974946683280023962620557134636873911061405525111447286931689686216599485250883438851476323501427556992843357307084642424693190414702028927508249618790658151013545310998352630394862682742558688326014376472419132884181774032653260964426251499262691304484462067765599029224719626166284305382719166481858963671383267464300847826104527603483754885724255748463534496104968819628469455968453069329598188675938397193257200523266617558138017628109072422235709021618415203581157216564044515503682613779747076892145685070654252712783679451999759064213062687717268106851065092874399638521401065905535070672648697967599110979619792347028505462317243258682517052309616399878432254505404389545595210606868536431517451872148026849684570067962762061206985714024120347557526323174027650445523965992116451380207264352211047303500507585318646641085169916752959236509278937210398523611645759563388888263330875493974773916492128576987354542287146054378078072008965477473090750921782942981090836666067348494298571593282249957331827485615982762940707953527101563901475414203662845410023285942349579542593934186174948935374303447187175752323335173554955714774406794926809845118957771408794387620151241540843226249023681956035204584971860446640560414724450480388726282387330860899002667863916230697142869667085072032146215432952134566100417286001594267666127785709260593922527807855135713666728873240070923746101331420299772842334955194255067379349672330148732617102251178364025931965171043617774937030727192457731768489429051360490151269082850015248114722055840765864851471299010090853871010437258449890165481338791246998299069116253872755734420279980335484717502246598378328129830753587596649006945560800632844957069729721661070460951454730186912713553913712045140375496510385141051496079858193258456158877702474847555905414958217905995098434243463867811563415739196190986956678464625208320796413051305377770895626260142351690387704916566307202735774046862906010001410251594605525569962941157929372264276527318746458782429669199248029722525542345976785054422641531732093756624586918663856276571297606433533035013723836763356033242899535985632942240956136528648065777494602112952628016247708161899122002307172127451188433301769683515416832274501696896007912238349690955584179420617969147776307539347587559019981746616217566818241244121766737745092496835259876096431899825133717975770449586045426484205906779779891800134952945573069303562356108691173618042495987143195708972666624440712993134105842756673534761944448912514395670111263166608081156933193898113482604787744085954083927627943298712200555949715889172085191401405640317052021922813185153327291452896523209497576668340461308433960456905221923420570277156531772899732707839961572132403164418809272232526620435696586987808803235942569994610976849755487658952764333348334780422592023287299114007064721883560569400876092185854672741854601678885527935716196475245159174873783432009098095117461132266420491280987681212574662762273160742796720162029709428265889090621450395713412105567111017868247153932696774358861849366411877809015985594023883993694494017710227185631544495206962401523611085025116841708865896631025375380255139199973529910606121465379878073314070594105384426715182896334859250680991512234415686212468367927653385168605846507123396038174114463794517264662657000172869563756537490874965947934618596321817736393609890234824711784528231395329248430079351328609751890109811634629736121725313326546751486368748108137161225890093628828869754949340356440292922067136986346921480375904592302837330584619950231971024892615433454892784874261096380882016672240509364920377996 113721163429610308194941044172731198495288517915245573375185874578330108530347545042842703566495143174666972606160472093306053954853242547006214684534846533538775769819564244752014059521915211895778616733793753041728450988646661423307954110294085768456957427719641312834663108252070375926325924215504339218755765331533778696247824779572976416656086734361578929626820039723913152945665762358731671751582631831362807050234211940342648601559904827914502373412375947100319539163758993374666643222915846742961544426075220530186844096642390253957276268337547289265456160168874395958239341347254704586477593468418582557916558649383277857340664791641510809310726941978068345602689605598613913999091099812410445723648697712240529800831793034516014769340378350032581482490896603813029773800050509102792532674128662765590036437949109896329538622648854974466799891763807201444137000689237519435788374780928978285821432218566015653290647797449369821158046059393756005703030686256858127949332941943763922054180987213300411777051565219308122815156327444415465219678845535930081784030502277207702688285912367287469289065358165146088493490549328443428915915839691737859636484088745343436122966571126796978526327146376771255481177429533019724826301069039968191649600260772149128421961912665734511038867151747866335545864081478427993745709341801263316755002754261579701213628963496325956121720624163177865569147297167449049471495991287216770801904294815882928041901621636817346074132907352085567968828762967170106683125825050033275492158431739723769036491512641935152827342690018059540406156127974963026757676932285515511229330757336624269038966556086856441459507234842542641650432947246886731006068116588275576780419722921764103660053410430227981942608303154470526598280227427294559515022407871659183791018968385058333066660928400224263904437718350721130706101499854398599942196855706713410639647701741910491272886132728091565546986538752781923619331462402638532648700524619443534957400640688598696269316837654717431277295933360596787829808169694902919759372951260217731496793136658216280825378991241992439075905432934092471882808123492355844367992489497822582913427647971269670246772784887955242555852070435915273155352625948304567010830118940225903366461660657859692097143804893393239141128030348499017568552833154053360498723919589734732715951528758591071204841885498221044398682750432042439308452884658026027208935012275488845221355238944431823795325087522485771665062342175517338556324360195247574412142963130926040542859810672636204825581091534333345712556126159383577620818034590379290552494272655460544979609760470598426898279938767617574141816617272935211132462693265068985059264595539631653995965160791960923986028032538118332062156817550783299355472384870893488080400079861265027516629990285165296085093246001657645491954541008834551848290904729238841309203024058323462779804690796793724417712247110841584533954440168278893870985688019319139251583260894225943580481511190046538376458450450430766204832143901010166054420290316159135611045763247184890321219436082676125528389554242721053096052107700110543486233869677985806542374071831629244574784443809344350354435522336179501945451267091852469992153802091602506018016945548597799387021950184821738273563261020514312293010621775430012128398817723096359403350539356103243364279223712913495323118112086081926308151261469572038887312019608683488928547294911069196643688729630529028178266977739784884556860058411607801021384691636530053458138591684375790343859444119044033466322632082188317305344247690726501664177691459852814224656346057323927723655687192250120038887591425202916343079062121734553472467266849660179964970352528092584640856472523455994228516679898505372627973863870353810337064784267330368780343468412925957905178728675178453766832062083267464693688449019413974871911003 184004707669291038842266172717208237590956443826177305812555744892205085570476809566795550286103216291863539641286873391602266809258660803981209172751877553165060855831790972613897378699780913118327060269996517991930425935329941447270574667428722642368018833244752760121594797938286975411576807654355815542257192888526622053554909421997669607070788763289087179245610697874926698256664114989126534434325190519688821426706631073226830375592558088878928624911638638404804001231524592403891362849082131048344263592557079493858227364106691101783380795941031044151180415917337930454344310166883174042446046537748180746592497046576535057863931409199648826938836014400304054624308020802195071215655144327914128337428444789132675485902447287228798448792378109096794545178613871919880838892924908741313933740034197836262685135916709007309158414995883479929117135022489718496446617089115951690293779170474573496428300754997533105162795824299054391226008821454962991417054806604415654272506969594209446020173103664680619041403776266611623322741646091056550389595598495166591062967712675731314334045475756175732619940852139920004985619126315797971203061894069815931645449566218434187044749514107887815192394494871069827074459679490351552311917051802908899603127362336050603836165575511144534324809501327408929480050256427363368049156528977015640090176309217294475620423890306171075079492032957565485720388838010675298495177947322421355773764741456443342766352102025543628461463768251088235832744993664312976350210897082179490925110566305824186322493106909601280613051950611982068214011263688629755630917003209261612560751057109466603994160811154235791131837383575159743901611311272818696177111734363212607507612180653532593089104770920379251025458318402585248654120993292146030814032498725530194228277418275223814405452175398523333020691591106455550986081835339116102188795234034843241393235298390917436833686765573048635276708199823242875074061649315352086562412569759819031467785781740094776127510096110876308979770780916502202788026075690001354002836819071781147235989327645172959290004199562788852127210810704988098142950475182743549284558796700558356960290553981271080498367390413525205497009999808179549682671372407086996680029366969948428908807637442914114738675536987149863728046694204775588866159266687088374222560682945767975615487514391533312160978414146286821893284863384670455556161046557148029516107139726677278523124922459848656069826784418493683903412033131101517976942329343023881951490550689946022289476028239454446069702858272078438209391386035480009520643168308355061002080318081944750886389540362398561851225511836921136497925308446553253628449836460777957725889036252624788101807917465495685930476945052514002173419984158864456288666282984376092868144165815348955144573288997365852034809135173742836893360181325886573771104089882566132762099547267821039448145152105227684874617469034262154811110971941178626578825649591451542416002070166458470200917207777034347179694393020425377181681899388669118818753638650939558203069050546298897385941319643245526404481740097393794950653786585638479202430344923144981416157503840727339692245576075764841635423203548754164707724427834649190154183511519868395108638395944311211492589061202689985427495957794873174142377033653239028113992841607090053897368249583288874908774430675315018934203137202923635174047892494947419142451219582213399534668760290947269957759323735913454893449874074644135237851570646023487233853059564183438626744438191499186382033558582838550730985289082361186869100785181601467612112310056174631961049955947558752435440215423645449287317670776531526094969171933369183208588992162986726716456721276200721802082362617084823098271629238861812920895931007340157258545160171922671617674053032876189876203621290611908659616936344363845575705121259923339792288999 297725871098901347037207216889939436086244961741422879187741619470535194100824354609638253852598359466530512247447345484908320764111903350987423857286724086703836625651355217365911438221696125014105677003790271033658876923976602870578528777722808410824976260964394072956257906190357351337902731869860154761012958220060400749802734201570646023726875497650666108872430737598839851202329877347858206185907822351051628476940843013569478977152462916793430998324014585505123540395283585778558006071997977791305808018632300024045071460749081355740657064278578333416636576086212326412583651514137878628923640006166763304509055695959812915204596200841159636249562956378372400226997626400808985214746244140324574061077142501373205286734240321744813218132756459129376027669510475732910612692975417844106466414162860601852721573865818903638697037644738454395917026786296919940583617778353471126082153951403551782249732973563548758453443621748424212384054880848718997120085492861273782221839911537973368074354090877981030818455341485919746137897973535472015609274444031096672846998214952939017022331388123463201909006210305066093479109675644241400118977733761553791281933654963777623167716085234684793718721641247841082555637109023371277138218120842877091252727623108199732258127488176879045363676653075275265025914337905791361794865870778278956845179063478874176834052853802497031201212657120743351289536135178124347966673938609638126575669036272326270808253723662360974535596675603173803801573756631483083033336722132212766417268998045547955358984619551536433440394640630041608620167391663592782388593935494777123790081814446090873033127367241092232591344618417702385552044258519705427183179850951488184288031903575296696749158181350607232968066621557055775252401220719440590329054906597189378019296386660282147472113103798747596925129309457176681692183335193514702130992089741556652032883000132827928106572898301140200823694738576024798693393111717990619211113094379262566425186422428693472396826933765593740257066714277098990617834245384904273762209770331998878732782464303389240115383190804781291203116243639080570025758598675099393652551286198380939873718201952540750745140175301480448052862070244094822838023998355391563690859485910174332275269298100773806835819341880543102869174724553274606434712099841141734721284602535502708331439043150124383365820299644507866291967613816712894864613931215174056725042152002166123744480161404280479865151871940979455568474375306618856533266689538271456363633513820872062832335838912090650895283949806411783921947512194863587141461202898734351554574590737405295865999300832996988749505450604538710639741925719488464760912529725846942785153631792256442097773078257456609916504977590632334235576801709647755644138667855269580948544245676613982661203279282531148119902381175400482385314722334721125619394994611804974071302571326144502227949842902021409292329716145103739345065412109457520449811337610770681667585331060684413781398718967080885556152843470856143386514043289679284873173928967098693814114813793483787707160755725921651932871294340114848046705894285749022688664214601130787958531575672356584267030019885109191989858725884933666653175694926501660146337313611470901126655341492909010879611011387511723701059218815387486435387655428669040242391659330186413300718788939392118273053654388228514257321249289005561482199153964519458029763239190896888463216055202016466601448053366442483071716851814429019794711629057631288255237751200713492084883029875874976725893002701882584197307921164549504174445032872327969276290001516027446185706302004882680159095902615895569326205262201734442438048234055103736681056259012646906681427073804293306442938835140540817326788309137367185548869794877693967595609944439253040398017521445802147781382349965790362426448998427631310269393570279337314664200002 481730578768192385879473389607147673677201405567600185000297364362740279671301164176433804138701575758394051888734218876510587573370564154968633030038601639868897481483146189979808816921477038132432737273786789025589302859306544317849103445151531053192995094209146833077852704128644326749479539524215970303270151108587022803357643623568315630797664260939753288118041435473766549458993992336984740620233012870740449903647474086796309352745021005672359623235653223909927541626808178182449368921080108839650071611189379517903298824855772457524037860219609377567816992003550256866927961681021052671369686543914944051101552742536347973068527610040808463188398970778676454851305647203004056430401388468238702398505587290505880772636687608973611666925134568226170572848124347652791451585900326585420400154197058438115406709782527910947855452640621934325034161808786638437030234867469422816375933121878125278678033728561081863616239446047478603610063702303681988537140299465689436494346881132182814094527194542661649859859117752531369460639619626528565998870042526263263909965927628670331356376863879638934528947062444986098464728801960039371322039627831369722927383221182211810212465599342572608911116136118910909630096788513722829450135172645785990855854985444250336094293063688023579688486154402684194505964594333154729844022399755294596935355372696168652454476744108668106280704690078308837009924973188799646461851885932059482349433777728769613574605825687904602997060443854262039634318750295796059383547619214392257342379564351372141681477726461137714053446591242023676834178655352222538019510938704038736350832871555557477027288178395328023723182001992862129453655569792524123360291585314700791795644084228829289838262952270986483993524939959641023906522214011586621143087405322719572247573804935505961877565279197270929945820900563632232678265170532630804319787323776399893426118298523745364940259663874188836100402938399267673767454761033342705773525664139081597892972204168788248524337029876470049236837495193601193405860321074905627765046589403780025968771791948562199405387390367570143330327054344068668168709073857842942937110082898939296834008755933811831243507565715005653549872070052274372520695370762478560370888852880122761184076935543687921574494878867692966597221418758050195300871366528230108943845285481270683946926557541657695526798713790794688185252477201383350420774977772322086241149291728843402267605083864129135934978656359473139471886408437720374510209018881295338315124064510818085121811867151545096964986808078490222131338898230343596662104371207089412556654908819350046752388841195395550600730962441459847137667234166041718389362366186624900511042668044881230199580995722952295846981922643146336408996785868512211932804950839645673816688411491962937805776568279897000154711516349143319278674903660607699390499084494371106833402118593965541676094995007249094166947185179365894156176384050636147028636987202222224083587401227142883982315926744115232735847236491281520568195942678348403691927567618038252017183864339782685093102075369167178337353034437508642997359680871387501891094559524275769374689079513083923959275595960874033625281929433687831360900122761150850300520825131339296235293737437220222372200072590201709128555176610260660577764689081908068356384500937276467198087038522680993181828085063543533191524386491929196656247046459466877172214458773110287997884815492963736559207377102355937965166725889073155032563199703654775489090810764896930711627468067374163107926561284721134928293210246910691043545818053929436888402311572202078146756257952441432594536118039541018613522932978265968533017405988472919889645251175633633397883795080494028245021197757625640425059938376228998469765725885034124854155104611175712015691574478678337657585971256402271086065934771995155845098691539260654456489001 779456449867093732916680606497087109763446367309023064188038983833275473772125518786072057991299935224924564136181564361418908337482467505956056887325325726572734107134501407345720255143173163146538414277577060059248179783283147188427632222874339464017971355173540906034110610319001678087382271394076125064283109328647423553160377825138961654524539758590419396990472173072606400661323869684842946806140835221792078380588317100365788329897483922465790621559667809415051082022091763961007374993078086630955879629821679541948370285604853813264694924498187710984453568089762583279511613195158931300293326550081707355610608438496160888273123810881968099437961927157048855078303273603813041645147632608563276459582729791879086059370927930718424885057891027355546600517634823385702064278875744429526866568359919039968128283648346814586552490285360388720951188595083558377613852645822893942458087073281677060927766702124630622069683067795902815994118583152400985657225792326963218716186792670156182168881285420642680678314459238451115598537593162000581608144486557359936756964142581609348378708252003102136437953272750052191943838477604280771441017361592923514209316876145989433380181684577257402629837777366751992185733897537094106588353293488663082108582608552450068352420551864902625052162807477959459531878932238946091638888270533573553780534436175042829288529597911165137481917347199052188299461108366923994428525824541697608925102814001095884382859549350265577532657119457435843435892506927279142416884341346605023759648562396920097040462346012674147493841231872065285454346047015815320408104874198815860140914686001648350060415545636420256314526620410564515005699828312229550543471436266188976083675987804125986587421133621593716961591561516696799158923434731027211472142311919908950266870191595788109349678382996018526870950210020808914370448505726145506450779413517956545459001298656573293046832562175329036924097676975292472460847872751333324984638758518344164318158626597481720921163963642063789493904209470700184023694566459809901527256359735778904701554256251951439520770581172351434533443297983149238194467672532942336589661369097320236707726957886352581988647741016486101602734140296369195358719369117870124061748338790297093459346233644461728410314220748236069466396143311324801735583466369371843665129888016773392278365600691782078892619013435302554477220091018096245285388908987496142966191443731009526012085245268409615800130528300452595040360783744339231043475708419566794678757578331690147954147706063635747860270757884902006053286410425207183803565574105823764111229499556755342618388142028392539350236413045998557777409159885530183150274895912471843296196299837137672297354073980408905763486900233778670644573587578159967576943618694915254765232657168576920466979847562428148274613897524543801663989625995328825009894079106176080904704689920110043904044837909270503459276901324469633501241796160093667478448324812992905751172732287827297763714645711196118292000079962137663954709985968027688565101496585136945831298678133266472800262831095088830270224328777623491044065575157136524579758774125406557333220655185440508226305615845983225615140655318621498014075817687652510446858138742810197361949078930129233251811083977713432829614395425648147013152344510577108598776160267462880498805827462073111454881739451772047448845635780934758138446200423986335201977697964007176461100870694980203160655430468798421036883577703502174827274828761286063744328561965610422796510497943249139833819563986603719125601131411460195217990850926257406164692313088229524332462559957324112753632020655436587939728195180000410971065640043576656570701510188280540079310868884787334687960032898166457751848247513596184018635520762728092449765049050428752413709095924480485438968321222192633512514933199626466114492261818597969120689003 1261187028635286118796153996104234783440647772876623249188336348196015753443426682962505862130001510983318616024915783237929495910853031660924689917363927366441631588617647597325529072064650201278971151551363849084837482642589691506276735668025870517210966449382687739111963314447646004836861810918292095367553260437234446356518021448707277285322204019530172685108513608546372950120317862021827687426373848092532528284235791187162097682642504928138150244795321033324978623648899942143456743914158195470605951241011059059851669110460626270788732784717797088552270560093312840146439574876179983971663013093996651406712161181032508861341651420922776562626360897935725309929608920806817098075549021076801978858088317082384966832007615539692036551983025595581717173365759171038493515864776071014947266722556977478083534993430874725534407942925982323045985350403870196814644087513292316758834020195159802339605800430685712485685922513843381419604182285456082974194366091792652655210533673802338996263408479963304330538173576990982485059177212788529147607014529083623200666930070210279679735085115882741070966900335195038290408567279564320142763056989424293237136700097328201243592647283919830011540953913485662901815830686050816936038488466134449072964437593996700404446713615552926204740648961880643654037843526572100821482910670288868150715889808871211481743006342019833243762622037277361025309386081555723640890377710473757091274536591729865497957465375038170180529717563311697883070211257223075201800431960560997281102028126748292238721940072473811861547287823114088962288524702368037858427615812902854596491747557557205827087703724031748280037708622403426644459355398104753673903763021580889767879320072032955276425684085892580200955116501476337823065445648742613832615229717242628522514443996531294071227243662193289456816771110584441147048713676258776310770566737294356438885119597180318657987092226049517873024500615374560146228302633784676030758164422657425762211130830766269969445500993518533838730741704664301377429554887534715529292302949139558930670326048200513638926157971539921577863770352327217906363176746390785279526771451996259533541735713820164413232155306731491755152606210348643567879414739880348684432637191670419854643423169188149649984809099615929036063617562069374997036454832897601952608975173498044076225292158233439774419417727226097242662472568219479595706163886759818229207340735459852928279690329132538751735109184659925734512247192182059605553684727300862132993881642842508233075959573215180844825257565963392228184625308655550780465669945312913176667884408376105389370776983223788089950967375487458404915076394051571901539637262099096743807238967882018902496935069703361201610468822876925007053570373446672179509748569534560928581921068660539858272756415842325148429325413873687120942664529655936524400393163600547187738106808514075585580139832916519597626224086503835527657418180210729814507085312015215129834760133514970181746030572455311351027847316453419184522905928646376092257029064203175197848482542473049157893364906464256008607577363215132134041425256028524026470853333649682326707909734698524432185581211806857259240422584752309329374975940448803360747378963874149493597242816367349455624011156567915141958169572035908807590917033592485176955160661204739347696892865984754104636709824515315580640370022272863954794693246883453212374192156737117464458985686187943939719862807571154359002050303592575329859838028464940839233419372730507353508137966010623302941746125271324854053894341658370886261536668980186843053094624660431602479218817909765545348168138694977606553251128158266379504083046032049576460346761363914173477194663965281362932981230655792098176908185889825182488401246647762217303920153661604464429400670403158823096554292478594904598580867971621621959590953357858623577178004 2040643478502379851712834602601321893204094140185646313376375332029291227215552201748577920121301446208243180161097347599348404248335499166880746804689253093014365695752149004671249327207823364425509565828940909144085662425872838694704367890900209981228937804556228645146073924766647682924244082312368220431836369765881869909678399273846238939846743778120592082098985781618979350781641731706670634232514683314324606664824108287527886012539988850603940866354988842740029705670991706104464118907236282101561830870832738601800039396065480084053427709215984799536724128183075423425951188071338915271956339644078358762322769619528669749614775231804744662064322825092774165007912194410630139720696653685365255317671046874264052891378543470410461437040916622937263773883393994424195580143651815444474133290916896518051663277079221540120960433211342711766936538998953755192257940159115210701292107268441479400533567132810343107755605581639284235598300868608483959851591884119615873926720466472495178432289765383947011216488036229433600657714805950529729215159015640983137423894212791889028113793367885843207404853607945090482352405757168600914204074351017216751346016973474190676972828968497087414170791690852414894001564583587911042626841759623112155073020202549150472799134167417828829792811769358603113569722458811046913121798940822441704496424245046254311031535939930998381244539384476413213608847189922647635318903535015454700199639405730961382340324924388435758062374682769133726506103764150354344217316301907602304861676689145212335762402418486486009041129054986154247742870749383853178835720687101670456632662243558854177148119269668168536352235242813991159465055226416983224447234457847078743962996059837081263013105219514173917916708062993034622224369083473641044087372029162537472781314188127082180576922045189307983687721320605250061419162181984921817221346150812312984344120895836891951033924788224846909948598292349852618689150506536009355742803181175769926529289457363751690366664957160597628224645914135001561453249453994525430819559308875337835371880304452465078446928552712273012397213650310367144557644418923727616116432821093579770249462671706516995220803047747977856755340350645012763238134108998218808494385530460716948102769402832611378395123320364165105530013705380699798772038299266973796274105061514817468503657758925221853312036740661399797139692659237575840991552795747314372173532179190862454291775574400948367535239712960378329552607975926398836597160435720428927672639221174198381030107279278816592685528323848294234237911719080757964269235519418736940779113907932860731989165125252180629301203788533456962692485553937102084689912158011568587103435267719156574794289143683770107373955723110703677698143961024832147086692188229476183347153725829116778739736263404753296703939311398230922606654155651265349410287242706723268642811498434185629484184670825790101085500987828305161158659976370823481985533636828208035585932865802797479509745218166507469319847396415556848477615914614403780822130560788312143679781220606315630693627737559344838877801691992755625085490831185660551050612107775088884041130389883964940411886827652840484855563240070930827389051758136455871194237102616959690959191895297478688875822240545628574787783967461556954604069378103062285553936821472202228195698693446827216091591563967087628089215658053798712933139447307439547576169854701124640920086556882924142880518238039952780038933881296077504687112857226226902977747934696117776304648463953872442775565689257928573179495473069831081479527519906444249217786937748661126811681377867089658101800159350414194492979323338266790475148686075626233031048271552194713556505532850068697620941263553958555928756433403421366507036767410490309753685202712033216843109766327639308535522613700787538111095801171248088074083215176456592697867007 3301830507137665970508988598705556676644741913062269562564711680225306980658978884711083782251302957191561796186013130837277900159188530827805436722053180459455997284369796601996778399272473565704480717380304758228923145068462530200981103558926080498439904253938916384258037239214293687761105893230660315799389630203116316266196420722553516225168947797650764767207499390165352300901959593728498321658888531406857134949059899474689983695182493778742091111150309876065008329319891648247920862821394477572167782111843797661651708506526106354842160493933781888088994688276388263572390762947518899243619352738075010169034930800561178610956426652727521224690683723028499474937521115217447237796245674762167234175759363956649019723386159010102497989023942218518980947249153165462689096008427886459421400013473873996135198270510096265655368376137325034812921889402823952006902027672407527460126127463601281740139367563496055593441528095482665655202483154064566934045957975912268529137254140274834174695698245347251341754661613220416085716892018739058876822173544724606338090824283002168707848878483768584278371753943140128772760973036732921056967131340441509988482717070802391920565476252416917425711745604338077795817395269638727978665330225757561228037457796545850877245847782970755034533460731239246767607565985383147734604709611111309855212314053917465792774542281950831625007161421753774238918233271478371276209281245489211791474175997460826880297790299426605938592092246080831609576315021373429546017748262468599585963704815893504574484342490960297870588416878100243210031395451751891037263336500004525053124409801116060004235822993699916816389943865217417803924410624521736898350997479427968511842316131870036539438789305406754118871824564469372445289814732216254876702601746405165995295758184658376251804165707382597440504492431189691208467875858243698127991912888106669423229240493017210609021017014274364782973098907724412764917453140320685386500967603833195688740420288130021659812165950679131466955387618799302938882804341529240960111862258014896766042206352652978717373086524252194590260984002637585050920821165314512895643204273089839303791198385526681408452958354479469611907946560993656331117548848878567492927022722131136802746192572020761028379932419980094141593631267450074795808493132164575748883080235012861544728949917158661627731454467887497039802165227457055436697716682507132601380872914650715382571465903533487119270348897620304064064855168108458442150845163021291060666520864016706614106066852493997437510785889811686462422537027736308744734905464731650117446998316308966121359942108475968719252171164020915367607561947988673986229549420110665330910674235601175477291224213387131308984424545987628684751714334471504326596440757764037111929074794489656637012492679247078445133264725271918043549318685307201873810680406307270456380918306948261215064324503742309698711725074332140688816078156581553296492618948843423165420692999317767661255775790621818820347694712868976033000521843260779873079159624991487341528263763079364788586992644023600847485379055207887759126916087214184577521465441424771210749040124582489372597468039459697744095985824823240156764027698585259231941616066491109184556434711664828144499833397113543716745953539497465762194986411695547462509097482676941575892591559431581320728301388482403208729585680326662667727832694190892759950362011438242105379072243070868082600381045611107139040984184888652834546950885691167742211167307426625129812786429964495745717311814529253427233389814728201967741064188886631092270881562409092729290900195776855203449968298045391801046230451496533169979231732107675809491395032916108887033700196815350060553922494209750654105664619293246548995438014058252527057605356373637681272510436730798131632076906179382442709676669142869710033674168534315216275045011 5342473985640045822221823201306878569848836053247915875941087012254598207874531086459661702372604403399804976347110478436626304407524029994686183526742433552470362980121945606668027726480296930129990283209245667373008807494335368895685471449826290479668842058495145029404111163980941370685349975543028536231225999968998186175874819996399755165015691575771356849306485171784331651683601325435168955891403214721181741613884007762217869707722482629346031977505298718805038034990883354352384981728630759673729612982676536263451747902591586438895588203149766687625718816459463686998341951018857814515575692382153368931357700420089848360571201884532265886755006548121273639945433309628077377516942328447532489493430410830913072614764702480512959426064858841456244721132547159886884676152079701903895533304390770514186861547589317805776328809348667746579858428401777707199159967831522738161418234732042761140672934696306398701197133677121949890800784022673050893897549860031884403063974606747329353127988010731198352971149649449849686374606824689588606037332560365589475514718495794057735962671851654427485776607551085219255113378793901521971171205691458726739828734044276582597538305220914004839882537295190492689818959853226639021292171985380673383110477999095001350044981950388583864326272500597849881177288444194194647726508551933751559708738298963720103806078221881830006251700806230187452527080461401018911528184780504666491673815403191788262638115223815041696654466928849965336082418785523783890235064564376201890825381505038716910246744909446783879629545933086397457774266201135744216099057187106195509757072044674914181383942263368085352742179108031408963389465850938720122798231937275047255805312191707117802451894524920928036788532627462407067514183815689895920789973775567703468077072372785458432381087752571905424192213751794941269887038040228619945213259038918982407573361388854102560054941802499211692921697200074265383606603646856694742243770785008965615269709745493773350178830907839729095180033532934304500336053795523766390931421566890234601414086657105443795820015076964467602658197652947952195478465584238240511759637094183419074040661057233198403673761402227447468663286911638669094355682957876786301421408252591853750848961974853372406775055740344259247123644972830774594580531431431549545157185296527679013232607676083883481043491208548896836941857886694631277689269478254446973554405093841577836863241477934435486805588610580682393617463144034857278748005598741719988339160085190904995136174131772814030196314213659980696660448746817066709004140984150387058226112224241826853349107233728149348553374952554372330300047501925776070919461578122233918014109503320332052085513357070901416358380269098332362449858295496336473683132945993513295276228520318773415752228942651831741837204036670148966155972840958467223220967649013993725023729805382446844548509174568099799797226062160445849974738132952376778478152585671631201006625865120565140765521008788326289667542109284532881478137757875183653901290185779799485208044983685680419280620381582945686363180747200643384212406918399845128572077549199860094790170514466454313009354867112538228951549064894170984153079456721715103135853169108068875515626606962306833375655637659172291533737506959022716799055789798609748063034304149143804088290252878408536819892952449490836818801338380461380660972141498332307526531866139366746299158799953792225480899283651059919079918066184730339234063742917394645188915242122742906117434893918368188492877503787182000412885287798033049220591708793075341488668500157753856102581573643944861551768457395805995539209774834799960454380418183302042522443304468303600590205729665418758174863757763709210034421052696667915502474781468742836811290559085670898115620203058437440167599519880169980820772470314117798107757383710771808972912018 8644304492777711792730811800012435246493577966310185438505798692479905188533509971170745484623907360591366772533123609273904204566712560822491620248795614011926360264491742208664806125752770495834471000589550425601931952562797899096666575008752370978108746312434061413662148403195235058446455868773688852030615630172114502442071240718953271390184639373422121616513984561949683952585560919163667277550291746128038876562943907236907853402904976408088123088655608594870046364310775002600305844550025237245897395094520333925103456409117692793737748697083548575714713504735851950570732713966376713759195045120228379100392631220651026971527628537259787111445690271149773114882954424845524615313188003209699723669189774787562092338150861490615457415088801059975225668381700325349573772160507588363316933317864644510322059818099414071431697185485992781392780317804601659206061995503930265621544362195644042880812302259802454294638661772604615546003267176737617827943507835944152932201228747022163527823686256078449694725811262670265772091498843428647482859506105090195813605542778796226443811550335423011764148361494225348027874351830634443028138337031900236728311451115078974518103781473330922265594282899528570485636355122865366999957502211138234611147935795640852227290829733359338898859733231837096648784854429577342382331218163045061414921052352881185896580620503832661631258862227983961691445313732879390187737466025993878283147991400652615142935905523241647635246559174930796945658733806897213436252812826844801476789086320932221484731087400407081750217962811186640667805661652887635253362393687110720562881481845790974185619765257068002169132122973248826767313876475460457021149229416703015767647628323577154341890683830327682155660357191931779512803998547906150797492575521972869463372830557443834684185253459954502864696706182984632478354913898472318073205171927025651830802601881871313169075958816773576475894796107798678148524056787177380128744738388842161304010130033623795009990996858518860562135421151733607439218858137053007351043283824905131367456293009758422513193101601216662192919181655585537246399286749552753407402841367273258377831859442759879812126719756706917080571233472632325425473231806755353794348430974722990553595154546874133435154988160324353388717276240280849390389024563596125294040265531540540557961557593242545108774945676436393876744023114151686714386986160761579574935278008492293219434707381467922606075937508200986457682318312143315720898850761763011049005680949207611609242240984266811467707100103471667159082985774553375453739046448882037175673110540550792974709049342204118067805546116575287697907609449914450057149010998232899248924783738921507529376737570458032725342804815085961047201572629967840800279573703757550407205303314808430052764721621898910186970468761942067009705291526265669097031648055321264181404648112330708059612833678310409498508951136492586538790816289533930074970771534515054366427318864438332802021296799410145110015236822153508914478659601135963526980449810771286826736308746765045207867613025606546533848559802408531143339323005614029706093542990624631305539210639048943685606822906572235973047534889717411140917107155306974335077469235599178060072061318627134977875489034772716008279691046456488478994042201494157210572131786826085379980881812309989857548194340931894045548387018707124048388804835689225067476893877577608851678231043024660308081280329262167058120902251073383173781014628608562387400082549549368035930221323882863934210189318316435427646275102526235016961655897679706433759550062566846585393481769420800065001736755441197796585440226331333130433612150290977852013838337384412487623905926480768818728786251973459864140085671989914464497912795526995363868895915459308579388130639789235571799676426059552423530449139456987508141431552245087025247957029 13986778478417757614952635001319313816342414019558101314446885704734503396408041057630407186996511763991171748880234087710530508974236590817177803775538047564396723244613687815332833852233067425964461283798796092974940760057133267992352046458578661457777588370929206443066259567176176429131805844316717388261841630141112688617946060715353026555200330949193478465820469733734015604269162244598836233441694960849220618176827914999125723110627459037434155066160907313675084399301658356952690826278655996919627008077196870188555204311709279232633336900233315263340432321195315637569074664985234528274770737502381748031750331640740875332098830421792052998200696819271046754828387734473601992830130331657232213162620185618475164952915563971128416841153659901431470389514247485236458448312587290267212466622255415024508921365688731877208025994834660527972638746206379366405221963335453003782962596927686804021485236956108852995835795449726565436804051199410668721841057695976037335265203353769492880951674266809648047696960912120115458466105668118236088896838665455785289120261274590284179774222187077439249924969045310567282987730624535964999309542723358963468140185159355557115642086694244927105476820194719063175455314976092006021249674196518907994258413794735853577335811683747922763186005732434946529962142873771537030057726714978812974629790651844906000386698725714491637510563034214149143972394194280409099265650806498544774821806803844403405574020747056689331901026103780762281741152592420997326487877391221003367614467825970938394977832309853865629847508744273038125579927854023379469461450874216916072638553890465888367003707520436087521874302081280235730703342326399177143947461353978063023452940515284272144342578355248610192448889819394186580318182363596046718282549297540572931449902930229293116566341212526408288888919934779573748241951938700938018418430965944634238375963270725415729130900619272788168816493307872943532130660434034074870988509173851126919279839779117568360169827766358589657315454684667911939554911932576773741974705391795365968870379666863866309013116678181129795577379308533489441877752333790993919162478461456677451872520499993078215800481158934364549234520384270994519828914764632140095769839227314844304444116521727505841930043900668612635840921213111623984969555995027674839197450828068219571194165269326428589818436884985290713685881000846317992076255639016026548489683102333871056297948859402358092881526118781668851299781456178172999646856360504731037344841034398516604378415116039625497903414317131647855743434521370442162743187433032424233899222764792619828058156575932267416358921069129660028207656951840226128068472576355133166938893242241839581462250927528934141701185084184293409651430925464177273962706649751063702481531835127203468516950564550741928807672798612215975861264367224136320252615704335257906428377917713154904161342852878509298306177198653032388765554422486306853448924120186685567433944729558897942786817808198471399682778931438041795956797359011147180881739996551086311944353730450725627148233407189492220211740549609174527551729924013874834665620539824491400329381153515397998616177773684774201999083954611582125070186612028689438213322404707246935587687925589441811251144672431888299813428553415511195793097991292766958635166090975229184069172065188398394368087293381384882367188357087585429049776977187557375003425743716975597977389842978452533562179612913226977200820317258113513015078371525957032588997791672110942047656217801232122703066822103617428059160390324268066182247606472781775248218562724600441496063343064744926553505212837003792124650001166133090887992568474279894536281641852716088214111656146187576903650009737169074174506724686582380000387576995738200680186474544979477503750842847673011967275945939722404351221609771105306249188935955858834220869047 22631082971195469407683446801331749062835991985868286752952684397214408584941551028801152671620419124582538521413357696984434713540949151639669424024333661576323083509105430023997639977985837921798932284388346518576872712619931167089018621467331032435886334683363267856728407970371411487578261713090406240292457260313227191060017301434306297945384970322615600082334454295683699556854723163762503510991986706977259494739771822236033576513532435445522278154816515908545130763612433359552996670828681234165524403171717204113658660720826972026371085597316863839055145825931167588139807378951611242033965782622610127132142962861391902303626458959051840109646387090420819869711342159319126608143318334866931936831809960406037257291066425461743874256242460961406696057895947810586032220473094878630529399940120059534830981183788145948639723180320653309365419064010981025611283958839383269404506959123330846902297539215911307290474457222331180982807318376148286549784565531920190267466432100791656408775360522888097742422772174790381230557604511546883571756344770545981102725804053386510623585772522500451014073330539535915310862082455170408027447879755259200196451636274434531633745868167575849371071103094247633661091670098957373021207176407657142605406349590376705804626641417107261662045738964272043178746997303348879412388944878023874389550843004726091896967319229547153268769425262198110835417707927159799287003116832492423057969798204497018548509926270298336967147585278711559227399886399318210762740690218065804844403554146903159879708919710260947380065471555459678793385589506911014722823844561327636635520035736256862552623472777504089691006425054529062498017218801859634165096690770681078791100568838861426486233262185576292348109247011325966093122180911502197515775124819513442394822733487673127800751594672480911153585626117764206226596865837173256091623602892970286069178565152596728898206859436046364644711289415671621680654717221211454999733247562693288223289969812741363370160824624877450219450875836401519378773770069629781093017989216700497336326672676622288822206218279397791988496560964119026688277039083343747326565319828729935829704379942752958027927200915641281629805753856903319945302146571387493890118270202037834858039271068601639277085032060992966024558197453392473375358580558623800133237716359608760129155722862568973698593382561421684590429904114998004706463241799777606123424961110826164275732656240870280698957463626982655308982099768321488720545707122267742086350521983606128213620656100306436965610514420603315014826420295923817616482233881914461409572333305343412802767205918136385484164467185704947726115266401754676185217483574588032415863676981163347110838988497986966867043989899270254456853003555432018074242280353508614109686835149935633521281672186449652115778141560554282985566555893489805417284263759656522087833026030043862963774176531188918796815128335145618927556370712020236928419695654701739933861263593997230744808114607608616509698015753591550710435456960147110707862189807322373138680662477215770835015846432796038754060300352017705670891052929627904540759163530449122705868591792564341684223000680257010175046618844328993265987293767335663773290791640306424995659749244216576789126633707204604308093119599871999674787140192786924169207297877801314564050053877498388251916281634313278927915575375794709477438581812876782442480319621294584449655620886003112841643459942175394035321722568331496686796093000134519419989080341221478977977877541684096056913256140420052855705435492850503083143903504152488209007768625291447026889545112485544991555241968278201588710090227497466221321604718765257746550119979237128575838017582626956395632436261710628938314592396676496844498300372522733564549082390004288056891881482636908583766952371999274827881670749228092814390620488200945859468826076 36617861449613227022636081802651062879178406005426388067399570101948911981349592086431559858616930888573710270293591784694965222515185742456847227799871709140719806753719117839330473830218905347763393568187142611551813472677064435081370667925909693893663923054292474299794667537547587916710067557407123628554298890454339879677963362149659324500585301271809078548154924029417715161123885408361339744433681667826480112916599737235159299624159894482956433220977423222220215162914091716505687497107337231085151411248914074302213865032536251259004422497550179102395578147126483225708882043936845770308736520124991875163893294502132777635725289380843893107847083909691866624539729893792728600973448666524164149994430146024512422243981989432872291097396120862838166447410195295822490668785682168897741866562375474559339902549476877825847749175155313837338057810217360392016505922174836273187469556051017650923782776172020160286310252672057746419611369575558955271625623227896227602731635454561149289727034789697745790119733086910496689023710179665119660653183436001766391846065327976794803359994709577890263998299584846482593849813079706373026757422478618163664591821433790088749387954861820776476547923288966696836546985075049379042456850604176050599664763385112559381962453100855184425231744696706989708709140177120416442446671593002687364180633656570997897354017955261644906279988296412259979390102121440208386268767638990967832791605008341421954083947017355026299048611382492321509141038991739208089228567609286808212018021972874098274686752020114813009912980299732716918965517360934394192285295435544552708158589626722750919627180297940177212880727135809298228720561128258811309044152124659141814553509354145698630575840540824902540558136830720152673440363275098244234057674117054015326272636417902420917317935885007319442474546052543779974838817775874194110042033858914920307554528423322144627337760055319152813527782723544565212785377655245529870721756736544415142569809591858931730330652391236039876766330521069431318328682002206554834992694608495863305197052343486155131219334957578921784073940272652516130154791417134741245727798290186613281576900442746036243727682074575646179040274241174314465131061336019633985888109429352679162483387590329145119015075961661578660399118666504097360328136553651474972435167187676979700349888131895402288411819446406975304115785115844322698539497438793632671914644213160035332030605100272638791838989745764324160281881224499661720192563482772473123695363018004644817999071216346062463513928737734962870569854817294259779225421314946885643471556070136032630825362494068652900523388254834607754322923353594902313285956150943165582802570223405186692301239425515901008745174983454547866504434480896195348204987003259677812168366985062836989798622751000394044585814359166498961427820260713941737536879463991779994261403947757017867935519384067428095121305533798651316321925134506543781868619774888425501295208323556128687594932415807087909380794685029592506392254319158257888743929803873459450625016207666496462164079839985530974272040901626880198442782853641779375424784070273614106197972946079739682839178453941784377045702798940575391057480379364353211504114045013671931247437169806018600377778379636492607906548153287510870580238184079691127842463968776543748119225942686786646284368927694663810282763732882294906488358790064339817483745365011560047633010728981565375205639555088621012522542885589610199811171371660476452578078132893589920025533759485328179616322962523670283764595883174771149326151110625269984255987188016047468385608455550289918108747181115205380834740228663599312209597287239537641086401621089844664052129238773143972536086271447798012489099121363079224498687949518471765229268864549267534395632325484581595734228317938997232232892358999198120639809424156804693689695123 59248944420808696430319528603982811942014397991294674820352254499163320566291143115232712530237350013156248791706949481679399936056134894096516651824205370717042890262824547863328113808204743269562325852575489130128686185296995602170389289393240726329550257737655742156523075507918999404288329270497529868846756150767567070737980663583965622445970271594424678630489378325101414717978608572123843255425668374803739607656371559471192876137692329928478711375793939130765345926526525076058684167936018465250675814420631278415872525753363223285375508094867042941450723973057650813848689422888457012342702302747602002296036257363524679939351748339895733217493471000112686494251072053111855209116767001391096086826240106430549679535048414894616165353638581824244862505306143106408522889258777047528271266502495534094170883733265023774487472355475967146703476874228341417627789881014219542591976515174348497826080315387931467576784709894388927402418687951707241821410188759816417870198067555352805698502395312585843532542505261700877919581314691212003232409528206547747494571869381363305426945767232078341278071630124382397904711895534876781054205302233877363861043457708224620383133823029396625847619026383214330497638655174006752063664027011833193205071112975489265186589094517962446087277483660979032887456137480469295854835616471026561753731476661297089794321337184808798175049413558610370814807810048600007673271884471483390890761403212838440502593873287653363266196196661203880736540925391057418851969257827352613056421576119777258154395671730375760389978451855192395712351106867845408915109139996872189343678625362979613472250653075444266903887152190338360726737779930118445474140842895340220605654078193007125116809102726401194888667383842046118766562544186600441749832798936567457721095369905575548718069530557488230596060172170307986201435683613047450201665636751885206376733093575918873525544619491365517458239072139216186893440094876456984870455004299237703365859779404600295100491477016113490096217206357470950697102452071836335928010683825196360641523725020108443953425553236976713772570501236771542818431830500478488572293118118916549111281280385498994271654882990216927808846028098077634410433207907407127876006379631390514020522658658930784396100108022654544684957316119896570735686717112275275105672883547285739829505610994464375987005202007828659894545689230842327405002739238571238795339605323986199607763261341142919490796453372746979469263980992821150440738270605040215210045885001610773031619727316652499429124443158338277885396275113218077395707655196861347053043889375479445433592568412205038384687855440539555480438189755349578498503439725531197998666247204568533803140227923502867875789164882724802323357438036328213422447267356768291921855202134998470511080294937450046160363955919720781946994376154203747154821143223648302082094429977800880831709695915256346891936433868944270243878295846526780710288315429590165435156471917553359432403047023415704419078810438621143216827711279305368596606119611195832589305678684882267297179926272781569728332341253644585869333835783269683916183947600722736812066564738644081367062179134198794552092321643269568657044774146700016984794905685320096926907186414022595389504412086841096915999667753159510545367378376866615297049761846577858312169279820185174898200650562007942738198339108677004383926940602941122259964064986306144497288631614984678216849099497264015047844265453921106886607264371794995872567158474115068898003411301169424236529579102943723139470031376025274232470054614777758193263755813307494495275153568035834909663989149393406969544830456161065533531202006004795387636521600326973239890146821400100368168522533158426950803691518039576068996988322041205329778351254553555591287513808121490179501180689938272060114563108227290935030429912357750553158521199 95866805870421923452955610406633874821192803996721062887751824601112232547640735201664272388854280901729959062000541266374365158571320636553363879624077079857762697016543665702658587638423648617325719420762631741680499657974060037251759957319150420223214180791948216456317743045466587320998396827904653497401055041221906950415944025733624946946555572866233757178644302354519129879102493980485182999859350042630219720572971296706352175761852224411435144596771362352985561089440616792564371665043355696335827225669545352718086390785899474544379930592417222043846302120184134039557571466825302782651438822872593877459929551865657457575077037720739626325340554909804553118790801946904583810090215667915260236820670252455062101779030404327488456451034702687083028952716338402231013558044459216426013133064871008653510786282741901600335221530631280984041534684445701809644295803189055815779446071225366148749863091559951627863094962566446673822030057527266197093035811987712645472929703009913954988229430102283589322662238348611374608605024870877122893062711642549513886417934709340100230305761941656231542069929709228880498561708614583154080962724712495527525635279142014709132521777891217402324166949672181027334185640249056131106120877616009243804735876360601824568551547618817630512509228357686022596165277657589712297282288064029249117912110317868087691675355140070443081329401855022630794197912170040216059540652110474358723553008221179862456677820305008389565244808043696202245681964382796626941197825436639421268439598092651356429082423750490573399891432154925112631316624228779803107394435432416742051837214989702364391877833373384444116767879326147658955458341058377256783184995019999362420207587547152823747384943267226097429225520672766271440002907461698685983890473053621473047368006323477969635387466442495550038534718222851766176274501388921644311707670610800126684287621999241018152882379546684670271766854862760752106225472531702514741176761035782118508429588996459226830822129407349529972983536878540382015431134074042890763003378433692223946720777363594599084644888194555635556644441509424058948586621917613229818020916409103162392858180828245030515382565064792573987886302339251948875564269243426761861894489060743193183006046249259929515115183984316123345356434786400668096014853665926750078108050734962719529855499126359778275417021454235635198661474346686650103542236677364871467254249537146234939793866441415558282635443118511303629545862217320812160930834087812688333741248019615417849618798532998561892638371896073240755966129930512337174933076511808232696515445445615478064417930906273691285211243695374163234761113108944480811789395876474363581468817427973720495441467349018768884534339866179350189861872517224408770652254360027969734023569120061307500878917688450440204949770278887280908422196414917688892358022687640082076355833925557898699645215299323774987057739402742921560200220981033324492156935204478590936451680241109488119997979439222792328459605123650735723219965598463626485350049415069292039930694892548763759344006112767100702604382155271466067776618636911463291608731670996350918264537684723821049901357588140578929138024442210144048102254526064370196299019730333768858154623583828613989882190466477589523906215906447021415947616560946306424892225815354402060288505762871961544485019489702606548481102841559299290415299393005462077447810351317704544921642343966243592054739052352636060366808339510717086418435743455472325145236607008658818028945060654752416145902065467393423234627259200045381796205725403028177519743001323541963660762023586124827772736330508612350379570684824664845740799293244333028722923221416817903942276060173244340704608804606224963292790639402655293495676271559677095007620119102823125683146133606071775235409007877269292347455467226489055670239336514555246848216322 155115750291230619883275139010616686763207201988015737708104079100275553113931878316896984919091630914886207853707490748053765094627455530649880531448282450574805587279368213565986701446628391886888045273338120871809185843271055639422149246712391146552764438529603958612840818553385586725286726098402183366247811191989474021153924689317590569392525844460658435809133680679620544597081102552609026255285018417433959328229342856177545051899544554339913855972565301483750907015967141868623055832979374161586503040090176631133958916539262697829755438687284264985297026093241784853406260889713759794994141125620195879755965809229182137514428786060635359542834025909917239613041874000016439019206982669306356323646910358885611781314078819222104621804673284511327891458022481508639536447303236263954284399567366542747681670016006925374822693886107248130745011558674043227272085684203275358371422586399714646575943406947883095439879672460835601224448745478973438914446000747529063343127770565266760686731825414869432855204743610312252528186339562089126125472239849097261380989804090703405657251529173734572820141559833611278403273604149459935135168026946372891386678736850239329515655600920614028171785976055395357831824295423062883169784904627842437009806989336091089755140642136780076599786712018665055483621415138059008152117904535055810871643586979165177485996692324879241256378815413633001609005722218640223732812536581957749614314411434018302959271693592661752831441004704900082982222889773854045793167083263992034324861174212428614583478095480866333789869884010117508343667731096625212022503575429288931395515840352681977864128486448828711020655031516486019682196120988495702257325837915339583025861665740159948864194045993627292317892904514812390206565451648299127733723271990188930768463376229053518353456996999983780634594890393159752377710185001969094513373307362685333061020715575159891678426999038050187730005927001976938999665567408159499611631765335019821874289368401059521931313606423463020069200743236011332712533586145879226691014062258888584588244502383703043038070441431532349329214942746195601767018452418091718390314034528019711504139461213744024787037448055009501796732330437329583285997477150833889737900868692133707203528704908190713911215292006970668030313750906297238831701570778202025183780934282248459359361110120824154262422223462064295093207163577528977508544975915936110262593854861132434547557127782558477773431896491258283098809843210141962601669104692852903543787133021226190881238525849651061321762815054411518641362405043730414570640731708669579749559334821094923498010499318478729669899099135913718715199302864294059310292835602005561580135064632542254298581695272521636760323504748904152513219310553552622193099521716796261655878771255059778011959212625900486365313726198608062855416572569121436047179165911288384158450263903358779531354911214580121878994173271687191804078516827560105202445250634068756371608152158662847552401026462638496747538415562271878940047676877768995081956169026265124629236373577431031056523932385548670430936723408916051937110454420181147207792679271719087730331102423367902416963536722339373481230346085479712705147028672764387181093925415653865785061809997851209379386602553318686439905883659606531961314994937812921721941987661932260372457785583057136442685670051710549286679441950236303674342239995946584337411875337623849042210273958950921808903838549616651108211073793431823973025700115250468197712395081123727716032356361824176652675481168411116562704658635225319614266260340180786370783498814631036458935915591621959737436725479902019319924401140985730379272001299249128416359444821743791143832422881573344708873131337764651914096482157442231362492664593600882424785971373656378716970659941727561954736589697815541352462018575453779990700669248872305800006737521 250982556161652543336230749417250561584400005984736800595855903701387785661572613518561257307945911816616166915708032014428130253198776167203244411072359530432568284295911879268645289085052040504213764694100752613489685501245115676673909204031541566775978619321552175069158561598852174046285122926306836863648866233211380971569868715051215516339081417326892192987777983034139674476183596533094209255144368460064179048802314152883897227661396778751349000569336663836736468105407758661187427498022729857922330265759721983852045307325162172374135369279701487029143328213425918892963832356539062577645579948492789757215895361094839595089505823781374985868174580819721792731832675946921022829297198337221616560467580611340673883093109223549593078255707987198410920410738819910870550005347695480380297532632237551401192456298748826975157915416738529114786546243119745036916381487392331174150868657625080795325806498507834723302974635027282275046478803006239636007481812735241708816057473575180715674961255517153022177866981958923627136791364432966249018534951491646775267407738800043505887557291115390804362211489542840158901835312764043089216130751658868418912314015992254038648177378811831430495952925727576385166009935672119014275905782243851680814542865696692914323692189755597707112295940376351078079786692795648720449400192599085059989555697297033265177672047464949684337708217268655632403203634388680439792353188692432108337867419655198165415949513897670142396685812748596285227904854156650672734364908700631455593300772305079971012560519231356907189761316165042620974984355325405015129898010861705673447353055342384342256006319822213155137422910842633678637654462046872959040510832935338945446069253287312772611578989260853389747118425187578661646568359109997813717613745043810403815831382552531487988844463442479330673129608616011518553984686390890738825080977973485459745308337574400909831309378584734858001772781864737691105891039939862014352808526370801940382718957397518748762135735830812550042184280114551714727964720219922117454017440692580808534965279747297642122715329626087984885859384255619660715605074335704948208334950937122873896997642041989055302420013119802075784618632776581532161561746394260651599795357752876900386534751157450643426330475991286791375670185692697906927716424444128775261888985017211178889216609247183932537839244916299930291868637924215627612087212593300981729848104398278669487350994223974036056067339609769586728355705427462774762599938780665591877528381040841608730857324382649623214401186950484759397328534974242751745573808220477812446074780266710401562428430224752420955110342831287881949960415973238540122082231478479925161603882060515974794023162621540405644857844615083502703081183070777030963751776076824231389902340375121085512838130314350926570263496477495343763838768984039124939537188598928466234806097828916678231000126513903896866051912674430113364278737808593429694602185838547347308059832399772335672399005901861289075998020685922614663267642476232621567306218441334416669167068469979794815867938498315771133541105564187518004887073057092610499401410942715438648595640108091723466864894310479952410368370527689856753249283198828757377392945145987634643216433581679823369268793019796275963812099566053553377262611498759228146834213477286662432746291345929097987170689541413155835160544791795602964757539388952046414859685688941553587131916302917165400958577601969287168577882132942541059444135858705940522857631688132386534061301422478929068821383233878509985939285894425364996062466065583814548303241815954578422596677615208084565209461810410631670303971825810395225012800592493461445082368043160609047774698941746589049577740142370876877389272796844886655988340865160559519793591492759201842653806075333633729971998705692810644809474042680269046370908585386861046854953843 406098306452883163219505888427867248347607207972752538303959982801663338775504491835458242227037542731502374769415522762481895347826231697853124942520641981007373871575280092834631990531680432391101809967438873485298871344516171316096058450743932713328743057851156133681999380152237760771571849024709020229896677425200854992723793404368806085731607261787550628796911663713760219073264699085703235510429386877498138377031657009061442279560941333091262856541901965320487375121374900529810483331002104019508833305849898614986004223864424870203890807966985752014440354306667703746370093246252822372639721074112985636971861170324021732603934609842010345411008606729639032344874549946937461848504181006527972884114490970226285664407188042771697700060381271709738811868761301419510086452650931744334581932199604094148874126314755752349980609302845777245531557801793788264188467171595606532522291244024795441901749905455717818742854307488117876270927548485213074921927813482770772159185244140447476361693080932022455033071725569235879664977703995055375144007191340744036648397542890746911544808820289125377182353049376451437305108916913503024351298778605241310298992752842493368163832979732445458667738901782971742997834231095181897445690686871694117824349855032784004078832831892377783712082652395016133563408107933707728601518097134140870861199284276198442663668739789828925594087032682288634012209356607320663525165725274389857952181831089216468375221207490331895228126817453496368210127743930504718527531991964623489918161946517508585596038614712223240979631200175160129318652086422030227152401586290994604842868895695066320120134806271041866158077942359119698319850583035368661297836670850678528471930919027472721475773035254480682065011329702391051853133810758296941451337017033999334584294758781585006342301460442463111307724499009171270931694871392859833338454285336170792806329053149560801509736377622785045731778708866714630105556607348021513964440291705821762257008325798578270693449342254275570111385023350563047440498306365801344145031502951469393123209782131000685160785771057620334215074327001815262482623526753796666598648985465142585401137103255733080089457461174811577581350963213911115447559223545094541337696226445010607590063456065641357337545767998257459405983936598995145759417995222330800445669919299459638248577719368008086800261468378364225385075801501744605120632188509237091992441959259411104034908122006532513829499236101027869827165548637604737364269043473518495421315514062067799612095850232300684536164002004896278038690940017973166316214539929147392195634115087805325060438929543231150625009441967201600665159718837532599432375067080485486741738946693058229092604857894062042405181349363987655216300493624329653156851297793620493045781111630180863524797342940251412935577222676103406619255341553160560986716354510216850393256361732275457762355037728484018745046085946117305168357254636153534897047436472616103679667984558435183224800032364499785823536436248194493603315319354001616649262387467599541298403442047410825872391870883864441564477828973103569941997527477273757707194090214434526378926742531459625883828431032819325891598716613169569458396311871593144558486870561641500428278243579531032748655395573114962403717983225660085338577606436572149868776201139218922805204076928986234429856359593123705121839986742031906639099779384898630752271561026565402629342190261868087209862416151585938276788955926374365032469835973956408720570026769256114250093657784303105721496864402289626548643944529650684610328726405764600919086740630585614881532593206830044302646187290312650990228372966796125604284801891742589861441812864904400191607121823319933758450871480135528791485754954287118018481005458761441944579562866415580559624466017061195684708588403508351997271492618134049037071577834259166846861691364 657080862614535706555736637845117809932007213957489338899815886503051124437077105354019499534983454548118541685123554776910025601025007865056369353593001511439942155871191972103277279616732472895315574661539626098788556845761286992769967654775474280104721677172708308751157941751089934817856971951015857093545543658412235964293662119420021602070688679114442821784689646747899893549448295618797444765573755337562317425833971161945339507222338111842611857111238629157223843226782659190997910829024833877431163571609620598838049531189587042578026177246687239043583682520093622639333925602791884950285301022605775394187756531418861327693440433623385331279183187549360825076707225893858484677801379343749589444582071581566959547500297266321290778316089258908149732279500121330380636457998627224714879464831841645550066582613504579325138524719584306360318104044913533301104848658987937706673159901649876237227556403963552542045828942515400151317406351491452710929409626218012480975242717715628192036654336449175477210938707528159506801769068428021624162542142832390811915805281690790417432366111404516181544564538919291596206944229677546113567429530264109729211306768834747406812010358544276889163691827510548128163844166767300911721596469115545798638892720729476918402525021647975490824378592771367211643194800729356449050918289733225930850754981573231707841340787254778609931795249950944266415412990996001103317518913966821966290049250744414633791170721388002037624812630202092653438032598087155391261896900665254945511462718822588556608599133943580148169392516340202750293636441747435242282299597152700278290221951037450662376141126093255021295500853201753376957505045082241620338347503786017473918000172314785494087352024515334071812129754889969713499702169868294755168950762077809738400126141334116494331145923884942441980854107625182789485679557783750572163535263309656252551637390723961711341045756207519903733551490731452321211447647287883528317248818076623702639727283196097019455585078085088120153569303465114762168463026585723461599048943644050201658175061878298327283501100683708319100933711257434923198228601089501614806983936402265459298134745297722135391877474294613653365969595990492647609120969939355192937491584197887507976598207223092000763876243989544250781654122291693052687134419666459575707558904316670817137794328615192019338100713294664155676944439425960232732719401102538073722290063657689773522259116230506549885566575710797456555521254065067512126868982254184087298843895102909408342953174614950307750565188955381037436019474992215918061788348149625204641708895354515726622867359767983571580119784798489482615120134810771139554457298558965411903342828753574203886628020515602448050039193979071157919381676695106684120603073870444724435683452005301949037635473254602339505840719153598750383094110537199685926253543109145316628062459561192135993355164242387915611097998620547418532635992444746964591649622311163450987727816958207518897199038266361074899534456934117108266582961830234238216568605908933957967570510517390620688259809382180212698018934537291087946884600534366368206595501157149965027522382639551349350693325343299278301967087140859426211645595070421901935879815707629135071494677161210856117924188592911238367530082791713638715840217935331378015610414616505585237950368274915332417027049134536860957000531533827509603857318773850677167131246715506956216474106564785252610820993753555225445366838059316906091913971832662349243427658457388500784154959206782034790318247636168136534583230424076049606391192471348415467389982446540193304129270822038128867855649100723282660532344792606520829297602484236051306524180908065009239381820765066522808028611622506405668875027751132004674469346323922001464373154359174782402278272092394829414680587109201162642080966660814318083442486419646027893716645207 1063179169067418869775242526272985058279614421930241877203775869304714463212581597189477741762020997279620916454539077539391920948851239562909494296113643492447316027446472064937909270148412905286417384628978499584087428190277458308866026105519406993433464735023864442433157321903327695589428820975724877323442221083613090957017455523788827687802295940901993450581601310461660112622712994704500680276003142215060455802865628171006781786783279444933874713653140594477711218348157559720808394160026937896939996877459519213824053755054011912781916985213672991058024036826761326385704018849044707322925022096718761031159617701742883060297375043465395676690191794278999857421581775840795946526305560350277562328696562551793245211907485309092988478376470530617888544148261422749890722910649558969049461397031445739698940708928260331675119134022430083605849661846707321565293315830583544239195451145674671679129306309419270360788683250003518027588333899976665785851337439700783253134427961856075668398347417381197932244010433097395386466746772423076999306549334173134848564202824581537328977174931693641558726917588295743033512053146591049137918728308869351039510299521677240774975843338276722347831430729293519871161678397862482809167287155987239916463242575762260922481357853540353274536461245166383345206602908663064177652436386867366801711954265849430150505009527044607535525882282633232900427622347603321766842684639241211824242231081833631102166391928878333932852939447655589021648160342017660109789428892629878435429624665340097142204637748655803389149023716515362879612288528169465469434701183443694883133090846732516982496275932364296887453578795560873075277355628117610281636184174636696002389931091342258215563125059769814753877141084592360765352835980626591696620287779111809072984420900115701500673447384327405553288578606634354060417374429176610405501989548645827045357966443873522512850782133830304949465330199598166951317004254635905042281689109782445464896735608994675290149034420339363690264954326815677809608961332951524805744080446595519594781384844009299012444286871741328653316008038259250185680852127843298281405632921867408044699271848553455215481334935469425230947320559204403763056680193484449734275187810642898115566661663288733358101422011987801710187638058890688198446552414888790376153228823616130455386372047983200106138362181673028381062020240927704837853351589611775165714732022917100877557167238237039063715065811811825326382686802702672249491138025727702582720159409164977207955049024847250992286729190960277315474710415010189084378002888078772596837343010442321051683306289311214722205129226765691083280279853648303738986832365639450898645081775446632432979232878409664490455220543343058813135682170319436337277454371664065217481464563635482812562432816194853752441417941829702157002349452090360246912969897619362167021318821293467593755710201970871934356144084566664723700993247080900499488697058783779554667395801516642702121999070630860860723070893182311601869898281184235854865830993376533499265973952564801446560651680266044654262496763510394657888882128011640125913789591371584491406449125171010975234521756376118604193565803754028995670041906942015046494366686269270635499772920740741888866579584166026200771248066017373724054417824371903527884386615755724508043154445203901566846883408727660566078840518275859416242957098158749307919402807742072358845816296826653339820683409905141163722155793985691271124383807806618757963997685226644615034248616991085140511815112038457763083227174953726734216719918877113016386476723077125808185661864028868173170501836391035933650760717759402646433582404375978641167965993772969409430988942588386456566479483102641934460360782705419122692950351782683443408952717225590362961902738109456025099389175512709514639352459278948367120514064253905194740578336571 1720260031681954576330979164118102868211621635887731216103591755807765587649658702543497241297004451827739458139662632316301946549876247427965863649706645003887258183317664037041186549765145378181732959290518125682875985036038745301635993760294881273538186412196572751184315263654417630407285792926740734416987764742025326921311117643208849289872984620016436272366290957209560006172161290323298125041576897552622773228699599332952121294005617556776486570764379223634935061574940218911806304989051771774371160449069139812662103286243598955359943162460360230101607719346854949025037944451836592273210323119324536425347374233161744387990815477088781007969374981828360682498289001734654431204106939694027151773278634133360204759407782575414279256692559789526038276427761544080271359368648186193764340861863287385249007291541764911000257658742014389966167765891620854866398164489571481945868611047324547916356862713382822902834512192518918178905740251468118496780747065918795734109670679571703860435001753830373409454949140625554893268515840851098623469091477005525660480008106272327746409541043098157740271482127215034629718997376268595251486157839133460768721606290511988181787853696820999236995122556804067999325522564629783720888883625102785715102135296491737840883882875188328765360839837937750556849797709392420626703354676600592732562709247422661858346350314299386145457677532584177166843035338599322870160203553208033790532280332578045735957562650266335970477752077857681675086192940104815501051325793295133380941087384162685698813236882599383537318416232855565629905924969916900711717000780596395161423312797769967644872417058457551908749079648762626452234860673199851901974531678422713476307931263657043709650477084285148825689270839482330478852538150494886451789238541189618811384547041449817995004593308212347995269432714259536849903053986960360977665524811955483297909603834597484224191827890037824853198881690329619272528451901923788570598937927859069167536462892190772309604619498424451810418523630280792571777424359537248267343129390239569796439559905887597339727787972425036972416941749516685108879080728932799896212616858269673503997406593851177350873212409764038884313290155194896410665801163423804927212679394840785623543259870511825358865298255977345960969292181182381251133686834555249951860787727932801272524166376598392125476462894967692536738964680353665070586070990714313239437022086574790651079426354467545613600632387522622782938208056767739761618007007981886670019003304267886616298002199462201300037294379915658352910729890002405002439791236228397801479051905796836778306173649079198293785249011564180565895399988459074878541289664198416310548424604200206636865860898925266938505259737322129971055063847014543021398057445534509941917148015640784761600068289449456091947258660983300907385443562627559932839223440728507483649381280854659729749065366213259849967242083187212142233629239525647464080346681094943005655123618474850221019198108897221935622605350116428710136481243014470093082399599285467457233544463082192067248911489648224866960515698047685745835766728546006494120385092528734456433971507810562324585215081719417882495532890894888421881687502012436948430246501976899770571267597901952744984503772758937439138778148809087362770258042307234905899997030372230093281104813478816899263910457862197427035841049809686925846814416932599985086534054457579315062290403391438592431504403658696389167522632045008177216297779639281107207425343684033115818403576197867175302133359674625899617810405377802783823111111348461431853866705523666001489791134850906302038357485491759216311293062552009167262880006860214692474490174681034418670370763353452979374508094725148340129235810456551127367419698106605444873325871584765145364181010201850854514069762621910677281433425939762685203956550673551222634294981778 2783439200749373446106221690391087926491236057817973093307367625112480050862240299732974983059025449107360374594201709855693867498727486990875357945820288496334574210764136101979095819913558283468150343919496625266963413226316203610502019865814288266971651147220437193617472585557745325996714613902465611740429985825638417878328573166997676977675280560918429722947892267671220118794874285027798805317580039767683229031565227503958903080788897001710361284417519818112646279923097778632614699149078709671311157326528659026486157041297610868141860147674033221159631756173616275410741963300881299596135345216043297456506991934904627448288190520554176684659566776107360539919870777575450377730412500044304714101975196685153449971315267884507267735069030320143926820576022966830162082279297745162813802258894733124947948000470025242675376792764444473572017427738328176431691480320155026185064062192999219595486169022802093263623195442522436206494074151444784282632084505619578987244098641427779528833349171211571341698959573722950279735262613274175622775640811178660509044210930853865075386715974791799298998399715510777663231050522859644389404886148002811808231905812189228956763697035097721584826553286097587870487200962492266530056170781090025631565377872253998763365240728728682039897301083104133902056400618055484804355791063467959534274663513272092008851359841343993680983559815217410067270657686202644637002888192449245614774511414411676838123954579144669903330691525513270696734353282122475610840754685925011816370712049502782841017874631255186926467439949370928509518213498086366181151701964040090044556403644502484627368692990821848796202658444323499527512216301317462183610715853059409478697862354999301925213602144054963579566411924074691244205374131121478148409526320301427884368967941565519495678040692539753548558011320893890910320428416136971383167514360601310343267570278471006737042610023868129802664211889927786223845456156559693612880627037641514632433198501185447599753653918763815500683477957096470381386385692488773073087209836835089391220944749896896352172074844166365625732949787775935294559932856776098177618249780137081548696678442404632566354547345233464115260610714399300173722481356908254661487867205483683739109921533800558716966720267965147671156930240073069449580239249444040328014016551548931727910538424581592231614825076640720917800984921281369908439422580326088405151754109491891528636593592704584677315698199334448109320894859470412011109145033709589252739162713432863824253051224309452292324023570875935668385440305012594086817794124307170398316394916239157829989479938390413015990378238329871649175679842107378617528122029837867209193506379646839069845093777334931428960480280665188784190746017333979358675511817198575159398612579276267574162501105644309844388676602813003064387793014717920179752193338347869650670700102148127323504775568184131784323386167753876865934622486606547963569043739878722560322519419991492923141197179528082796345676243298740312006379524198705947948230592662000956499518415646993513809563169914269521223012461558080403724648856557646620034174683900318947840420632981573299819736838095536486689098694648917417551729408954451994924613188246170406071040518642694633851083356924963639910026214826461086824675866679138433784383646127954601324259258682718466110793866589857993114681568085546342089771515091349293005936862199651673908106700218091932252187813563837552889678426030699448340681587445899865171423028910677730852652193188952315813948471713083662701037580331529518039831030225574448240343428600791809675452998879774475208859321882795149962053780311411813696462411236193333642456168454003828101359705941839435940987577827790274589596593161970250060370049889288888282278588810355508326083748311306879613458938134620191920785885218711052324470614927456417374873318349 4503699232431328022437200854509190794702857693705704309410959380920245638511899002276472224356029900935099832733864342171995814048603734418841221595526933500221832394081800139020282369678703661649883303210014750949839398262354948912138013626109169540509837559417009944801787849212162956404000406829206346157417750567663744799639690810206526267548265180934865995314183224880780124967035575351096930359156937320306002260264826836911024374794514558486847855181899041747581341498037997544421004138130481445682317775597798839148260327541209823501803310134393451261239475520471224435779907752717891869345668335367833881854366168066371836279005997642957692628941757935721222418159779310104808934519439738331865875253830818513654730723050459921546991761590109669965097003784510910433441647945931356578143120758020510196955292011790153675634451506458863538185193629949031298089644809726508130932673240323767511843031736184916166457707635041354385399814402912902779412831571538374721353769320999483389268350925041944751153908714348505173003778454125274246244732288184186169524219037126192821796257017889957039269881842725812292950047899128239640891043987136272576953512102701217138551550731918720821821675842901655869812723527122050250945054406192811346667513168745736604249123603917010805258140921041884458906198327447905431059145740068552266837372760694753867197710155643379826441237347801587234113693024801967507163091745657279405306791746989722574081517229411005873808443603370952371820546222227291111892080479220145197311799433665468539831111513854570463785856182226494139424138468003266892868702744636485205979716442272452272241110049279400704951738093086125979747076974517314085585247531482122955005793618656345634864079228340112405255682763557021723057912281616364600198764861491046695753514983015337490682634000752101543827444035153427760223482403097332360833039172556793641177174113068490961234437913905954655863093580257405496373908058483482183479564965500583799969661393376219909358273417188267311102001587377262953163810052026021340430339227074659187660504655784493691899862816591402598149891537292620403439013585708898073830866638406755052694085036255809917227759754997502999573900869594196584388282520332059588700546600324469362653181404312384075832018523942493632126222421255450700713926083999290279874804279481733000434704801179984357091287971608413454539949601635034979025493571040401644588776196066682179716019947172130290916330586857070892259102916238151772727152041691475922758166017700750440551053423771653592361317950791594021296170195014999089257585360535568199795446822035994608295653587469611309775627249894052215071079830566453496069411694036283519741930983847045706710954676260198367465740017987318755245809864348522380073569262733085101315760594917052335762569395093765936335935263796303971773236577345480112591416779076377134320081383002787053253840934397391634290628250941089008168251726132195427649390420973665565977643038466343144160395288425304731968281593415169022142860767213176041030630191947468413733062878729185581058474659562494388183528159605766149560415585103653114154559776429053404274392140792135624404951919814954369184631585543805839433416910966888943354859690223070176642308116544647378835587129683901079048804363635548449594933908986373339684380676500184694605364072161535365374704324452055420150522617895233267936585932023949278092470916657230988970397103609530524683692217222533942057201058075707625556979367085180972378848372594710846671055769386819491116081831387709562318847985709332301862942141574035880094210134124457811165244133730680777247216807374554366273346842863420980959342418096408026116946343135038246771730469295292415315495672552938614718832403618521377427789747995894333155604460395120653690264758513157734127528700756530869202219311158473737528427165601007640009168300127 7287138433180701468543422544900278721194093751523677402718327006032725689374139302009447207415055350042460207328066052027689681547331221409716579541347221996556406604845936240999378189592261945118033647129511376216802811488671152522640033491923457807481488706637447138419260434769908282400715020731671957897847736393302162677968263977204203245223545741853295718262075492552000243761909860378895735676736977087989231291830054340869927455583411560197209139599418859860227621421135776177035703287209191116993475102126457865634417368838820691643663457808426672420871231694087499846521871053599191465481013551411131338361358102970999284567196518197134377288508534043081762338030556885555186664931939782636579977229027503667104702038318344428814726830620429813891917579807477740595523927243676519391945379652753635144903292481815396351011244270903337110202621368277207729781125129881534315996735433322987107329200758987009430080903077563790591893888554357687062044916077157953708597867962427262918101700096253516092852868288071455452739041067399449869020373099362846678568429967980057897182972992681756338268281558236589956181098421987884030295930135139084385185417914890446095315247767016442406648229128999243740299924489614316781001225187282836978232891040999735367614364332645692845155442004146018360962598945503390235414936803536511801112036273966845876049069996987373507424797163018997301384350711004612144165979938106525020081303161401399412205471808555675777139135128884223068554899504349766722732835165145157013682511483168251380848986145109757390253296131597422648942351966089633074020404708676575250536120086774936899609803040101249501154396537409625507259293275834776269195963384541532433703655973655647560077681372395075984822094687631712967263286412737842748608291181792474580122482924580856986360674693291855092385455356047318670543910819234303744000553533158103984444744391539497698277047937774084458527305470185191720219364215043175796360192003142098432402859894561667509111927335952082811785479544473733334550195744514794413517549063909748578881449405681390044071937660757768223882841325068555697998946442484996251449116418543836601390763478660442483582307100230967114834511583993496758110763877240314250188413805808153101763102938112942792798738791907641303283152661328520150294165333443330607888820831030664728345243225761576588706113048249134372340934522916404887464916151366490049740530305558573708352613539876714968232028786191519001579997775708563783836297075401065175497328731133614264804104648081105884685341521667529689681610500027593176075379484842738598111841738275152438285133525860024325766005488223923864246759672673832113597533723874150728935437363493884776556048453595129796426220298652507539436555881682501738749081079931660260714373174193319909925070500738075780724611866609307036161029592063400292343610117424246784990781485150914376758616502581523418614014418694965874102874212738743391218434160852388126300162458457836067301592467953387528313957836713909334149240291411881988978860784609469370232581294376179094868037829476763909406540621163846553285064441661299734188734460329372352114812773773708924224688757910490855873730280192723256985146319921340938279472878469240582713348635187342012686670486608864718958830578462009536419609775665511773468764322628139295929623330844253831485498191041913413265204185980779610026357447115298571098407778856882662878503803827622456935880030786371494946879484106407073897660954531080837550271401505388577523707962575771806930030303100793225019885566040861819902773171799610328334553562725249620840697132610455252456076129257349516235400623174832794655804829332601359759402511589042074873090175237131851256483250380728889308428996780491627488159797885183221437883049205476162016348506824464613740987638891151061123005196377184789852897780528464057384041618476 11790837665612029490980623399409469515896951445229381712129286386952971327886038304285919431771085250977560040061930394199685495595934955828557801136874155496778238998927736380019660559270965606767916950339526127166642209751026101434778047118032627347991326266054457083221048283982071238804715427560878304055265486960965907477607954787410729512771810922788161713576258717432780368728945435729992666035893914408295233552094881177780951830377926118684056994781317901607808962919173773721456707425339672562675792877724256704782677696380030515145466767942820123682110707214558724282301778806317083334826681886778965220215724271037371120846202515840092069917450291978802984756190336195659995599451379520968445852482858322180759432761368804350361718592210539483857014583591988651028965575189607875970088500410774145341858584493605550026645695777362200648387814998226239027870769939608042446929408673646754619172232495171925596538610712605144977293702957270589841457747648696328429951637283426746307370051021295460844006777002419960625742819521524724115265105387547032848092649005106250718979230010571713377538163400962402249131146321116123671186974122275356962138930017591663233866798498935163228469904971900899610112648016736367031946279593475648324900404209745471971863487936562703650413582925187902819868797272951295666474082543605064067949409034661599743246780152630753333866034510820584535498043735806579651329071683763804425388094908391121986286989037966681650947578732255175440375445726577057834624915644365302210994310916833719920680097658964327854039152313823916788366490434092899966889107453313060456515836529047389171850913089380650206106134630495751487006370250352090354781210916023655388709449592311993194941760600735188390077777451188734690321198694354207348807056043283521275875997907596194477043308694043956636212899391200746430767393222331636104833592705714897625621918504607988659511485851680039114390399050442597216593272273526657979839756968642682232372521287937887418470200753140350122887481131850996287714005796540815753947888290984407766541954061465883735971800477349170822032732862361176101437960028193894325279983056950591654084848514916252400810066855228470114408412453587693342499046397572373838888960406132622464416284342425326868630757315850134935409375082583970851008091417442620887763625110512397728779948026941560945797401019857547826880884124551439866490409722406891694329306501625255888068633487048845259148359373048589893839100691946715556563449117092541098255494748834364705355158071852759477046659472459123710977780695042592265332964845378306797907288560311147046580787113329635635541632738117976079317839503240285609666945417910434248677368347340930483267003129855328163891960316639826294682365746031024118822650342664745362030133769110372245687639895831841717060547130405611007934266169408880404935026896500623919310862868153701430012457436978915052904642669636054882271125938870938818867824581826053692277805496924179211461987756378692260282239430129078356292101058625058030009490976556937783965644173105364675926512489039258297590068780769612702845480026764952848343294236758425756389204914565844548629640677725445225058361865736529096418563230888229881634332568692310759355656751731989391522257616292765798007634942097557986014543684651885113153144999128323990534987403005789196860202515493968833415726803876012877962943379139247849190878695514113651848900907437152981619572248008905437004080542182114699454640321616261809929119774100099424194763731962591298046112134488502787338733551750194121765715313373646208428763696849707432005941266341136029703292936631903882508747466038253775615147247429009385876348854724080321644820644532424266571978922933667504027261400399013004915949545881077554593487509600596815706613265337622347868516339647681930325224507535658527381324946129471697393209918603 19077976098792730959524045944309748237091045196753059114847613392985697017260177606295366639186140601020020247389996446227375177143266177238274380678221377493334645603773672621019038748863227551885950597469037503383445021239697253957418080609956085155472814972691904221640308718751979521205430448292550261953113223354268070155576218764614932757995356664641457431838334209984780612490855296108888401712630891496284464843924935518650879285961337678881266134380736761468036584340309549898492410712548863679669267979850714570417095065218851206789130225751246796102981938908646224128823649859916274800307695438190096558577082374008370405413399034037226447205958826021884747094220893081215182264383319303605025829711885825847864134799687148779176445422830969297748932163399466391624489502433284395362033880063527780486761876975420946377656940048265537758590436366503446757651895069489576762926144106969741726501433254158935026619513790168935569187591511628276903502663725854282138549505245854009225471751117548976936859645290491416078481860588924173984285478486909879526661078973086308616162203003253469715806444959198992205312244743104007701482904257414441347324347932482109329182046265951605635118134100900143350412572506350683812947504780758485303133295250745207339477852269208396495569024929333921180831396218454685901889019347141575869061445308628445619295850149618126841290831673839581836882394446811191795495051621870329445469398069792521398492460846522357428086713861139398508930345230926824557357750809510459224676822400001971301529083804074085244292448445421339437308842400182533040909512161989635707051956615822326071460716129481899707260531167905376994265663526186866623977174300565187822413105565967640755019441973130264374899872138820447657584485107092050097415347225075995855998480832177051463403983387335811728598354747248065101311304041565939848834146238873001610066662896147486357788533789454123572917704520627788936812636488569833776199948971784780664775381182499554927582128089092432934672960676324729622264201541055610167465437354894156345423403467147273780043738138106939045915574187429731799436906470678890576729099475494428255475611993576694884392373955459437229242924037581190100609810274812688089077374211940775566179387280538269661429496107757776238692527743912491001302256750885951495652445941543062457125191252703137534503514068106682199221818647467844753955325873773381744069836807183829596421247026925560227380388159240108895419098467655279340399746192493606273752823479967978970159262719933865361732000994126653400659391195070185441408344330221045396019130298586299484865920639189659961307638226341899943564599175914117723264479141784584977612805710834815259823051583450457960318180615292333834118921627713525857571731422596405622744506943303692155612710396569917497785158997014918044095295761472280697278637013924870704301644353304615806771073939560438471518657088331020756374000151609682210086258742678441818577967955382015278763580224332079788596197266842987690441341350036940018988351761166407154198225467481543770794550318516022206996609401933459256130544468426252582532028697087798108504017688339553472854329435635936080932092145929252353403709550809570819913805447161551342069005386919331404208928102901630516966465520559567522434153460317396886621909321756463286464610733850043028345700706535882246680930989856792487989300826254546420289286474370996314727404711264775438555452278795276931950960026288521773352301276147342647479391175605488001718471694538363104976142437589296012358619117791055941668488485173256536763317259574957052846638398951591282159369065889253398744148089213086570270952076761610745635751366313122396517910819769556117828462173314396393335690397179504632404109343766260776031370558806072977722961772162086961609503978538832991448229703912843317234222726657935754777251537079 30868813764404760450504669343719217752987996641982440826976899779938668345146215910581286070957225851997580287451926840427060672739201133066832181815095532990112884602701409001038699308134193158653867547808563630550087230990723355392196127727988712503464141238746361304861357002734050760010145875853428566008378710315233977633184173552025662270767167587429619145414592927417560981219800731838881067748524805904579698396019816696431831116339263797565323129162054663075845547259483323619949118137888536242345060857574971275199772761598881721934596993694066919785092646123204948411125428666233358135134377324969061778792806645045741526259601549877318517123409118000687731850411229276875177863834698824573471682194744148028623567561055953129538164015041508781605946746991455042653455077622892271332122380474301925828620461469026496404302635825627738406978251364729685785522665009097619209855552780616496345673665749330860623158124502774080546481294468898866744960411374550610568501142529280755532841802138844437780866422292911376704224680110448898099550583874456912374753727978192559335141433013825183093344608360161394454443391064220131372669878379689798309463277950073772563048844764886768863588039072801042960525220523087050844893784374234133628033699460490679311341340205771100145982607854521824000700193491405981568363101890746639937010854343290045362542630302248880175156866184660166372380438182617771446824123305634133870857492978183643384779449884489039079034292593394573949305790957503882391982666453875761435671133316835691222209181463038413098331600759245256225675332834275433007798619615302696163567793144869715243311629218862549913366665798401128481272033776538956978758385216588843211122555158279633949961202573865452764977649590009182347905683801446257446222403268359517131874478739773245940447292081379768364811254138448811532078697263897575953667738944587899235688581400755475017300019641134162687308103571070386153405908762096491756039705940427462897147902470437442346052328842232783057560441808175725909978207337596425921413325645878564111965357528613157516015538615456109867948307049790907900874866498872784902009082532445019909560460508492947285202440810687907343651336491168883443108856672385061927966334618073398030595671622963596530060253423607911174101902826496461852310348168328572383416071052055460185905139279644698480300915087964230026102702772019284620445735596180273438399143308809085484489880513974405486528747532288698789258199159601994896963195309586147372008318228802343675514420791786624838778660466585777111637171890112777706741309175599352193926418858897446531446707752519295596849270964459876022882438679154403332931424559695019226290174058175745743090054713305786124210140931932160128801287373744549976394381765261150984774640712414064401300350292401759214845706127420529052029561930881161102213663910425494623612507221458317236783531376539353524423299757967075638645126090480621028954083324504495510855773452306194490225567980710772048878436696972066046733442408661998048997842737723344938163869640586908446721062807555280504586678182703071958976024495191205430875322933846223864893222602905398021483970113361381305990454011665781449822272781697800701548138015853862101424662138651320795731185719194396314974100462657125508448697144969281999775054320884787276999598136855832225205903222029851080096657793732805365952244205393794269480165169885109966576305618701928420175024526804182368955040568470636472806941597763604457408510949705587425913235426500954403022254572077798799697352669541250063434203798546902745192080956424664484852579665292727311862662002521157281252895555251340345886099324190620131512100221037202718162731464301980384400441096248063897362951797578517637320058889647338330624858068406669793429575037499709309478020318186514921773454211448501844615547672787407452170461455682 49946789863197491410028715288028965990079041838735499941824513172924365362406393516876652710143366453017600534841923286654435849882467310305106562493316910483447530206475081622057738056997420710539818145277601133933532252230420609349614208337944797658936956211438265526501665721486030281215576324145978827961491933669502047788760392316640595028762524252071076577252927137402341593710656027947769469461155697400864163239944752215082710402300601476446589263542791424543882131599792873518441528850437399922014328837425685845616867826817732928723727219445313715888074585031851172539949078526149632935442072763159158337369889019054111931673000583914544964329367944022572478944632122358090360128218018128178497511906629973876487702360743101908714609437872478079354878910390921434277944580056176666694156260537829706315382338444447442781959575873893276165568687731233132543174560078587195972781696887586238072175099003489795649777638292943016115668885980527143648463075100404892707050647775134764758313553256393414717726067583402792782706540699373072083836062361366791901414806951278867951303636017078652809151053319360386659755635807324139074152782637104239656787625882555881892230891030838374498706173173701186310937793029437734657841289154992618931166994711235886650819192474979496641551632783855745181531589709860667470252121237888215806072299651918490981838480451867007016447697858499748209262832629428963242319174927504463316326891047976164783271910731011396507121006454533972458236136188430706949340417263386220660347955716837662523738265267112498342624049204666595662984175234457966048708131777292331870619749760692041314772345348344449620627196966306505475537697302725823602735559517154031033535660724247274704980644546995717139877521728829630005490168908538307543637750493435512987872959571950297403851275468715580093409608885696876633390001305463515802501885183460900845755244296902961375088553430588286260225808091698175090218545250666325532239654912212243561923283652936997273634456931325215992233402484500455532242408878652036088878763000772720457388760995760431296059276753563048913863881237220639700311772969551675478738182007939448165036072502069642169594814766147344572894260528750073543718666947197750017043708830014173596775058903501866191489749531365687412794430570408952853612604919214523879068516993598522643030330532347836014804429156070912225324521419487129374401061469953655182468980115992915080911127540899965713909135691528807684677297627257274237362941502079753645761141708770322645673683511720490200510661460712430512296563085182963148149653505820397589945549157483746016312628391708955558156909190801775966447037855068521056195903701479604203902979769010561002913106296756244084528321547224493962920209001458075833966113187857556607519147655717756556913060688971676712630865124435447096124857692353441799492300924350365327914151574762933043554605316099791995941956846298096395019126242090303239040342067182937329433741407688209768989148205042851837474633963815053737174783758698938067986194498889752092362095108068452217515613126071302711583287584636531215106568963617458013407351630934021973397240291244951494338299548997317386922546157595033803225982332507371521461943463015413443493667525570652199940113822096026831940565983216693030882850605286678886396963642641250563464208870705875253551603928565733326777588783589597853941545031648340689769451644256106281303710329966703858730476805599459300906000594759158246159242873910947104887902125311075427631707121039317507998397009667094812055971787332306005102692283720159281955398215999621537699218064244318594022031068410410679997043644464426916157051400952230877147851587350325114680642284071536502228903269562460290698642194758022269724168233413599106656228627212742771152536809661796271087524296725347913221683915361345161849770399445343206947712992761 80815603627602251860533384631748183743067038480717940768801412952863033707552609427457938781100592305015180822293850127081496522621668443371938744308412443473560414809176490623096437365131613869193685693086164764483619483221143964741810336065933510162401097450184626831363022724220081041225722199999407393969870643984736025421944565868666257299529691839500695722667520064819902574930456759786650537209680503305443861635964568911514541518639865274011912392704846087619727678859276197138390646988325936164359389695000657120816640588416614650658324213139380635673167231155056120951074507192382991070576450088128220116162695664099853457932602133791863481452777062023260210795043351634965537992052716952751969194101374121905111269921799055038252773452913986860960825657382376476931399657679068938026278641012131632144002799913473939186262211699521014572546939095962818328697225087684815182637249668202734417848764752820656272935762795717096662150180449426010393423486474955503275551790304415520291155355395237852498592489876314169486931220809821970183386646235823704276168534929471427286445069030903835902495661679521781114199026871544270446822661016794037966250903832629654455279735795725143362294212246502229271463013552524785502735073529226752559200694171726565962160532680750596787534240638377569182231783201266649038615223128634855743083153995208536344381110754115887191604564043159914581643270812046734689143298233138597187184384026159808168051360615500435586155299047928546407541927145934589341323083717261982096019089033673353745947446730150911440955649963911851888659508068733399056506751392595028034187542905561756558083974567206999533993862764707633956809731079264780581493944733742874244658215882526908654941847120861169904855171318838812353395852709984564989860153761795030119747438311723543344298567550095348458220863024145688165468698569361091756169624128048800081443825697658436392388573071722448947533911662768561243624454012762817288279360852639706459071186123374439619686785773557999049793844292676181442220616216248462010292088646651284569354118524373588812074815369019158781812188287011547601186639468424460380747264540384468074596533010562589454797255576835251916545597019918956986827523619582811945010043448087571627370730526465462721550002954973598586896333396905414705922953087543096262484588045653982828935469811992534495105344244035142251427224191506413994846797066133928620868123424802000565401008054874371200437883223817506473935496786859269134326136811665901017769459937572666321188104303507115039289321927298207623933734975295740854890962681419749783871968016381192547759336144228251155006180155261651989329476534222924389127328261174623430193153827186306746003161010062030208738462479156654091721496375202625810360494953118707592293788368131820958213410981373435927476571251855976148154419623234602901705964834775859951526658796221250280338136692639145520365256604265172033664252332570924267994425391687432840289514859994404259214716185753623886353070660787119783908226167360936116984037236613097030525964748655360664236675933626583216169965767339603174082593458808663444282674564780245838290462894150349515822269662358698692913000169260815253048255114205172223010081478869275544918329664221972995671299541290423146914666445873818539331547750255960886172017963526037840463807007561707478757507150595584406874246577322403219893789237042134959249616814141216247880015948668632278905501332403641669861041163229794718966184471674551562296413075016662853544942547540271911020651581744893611753324456873556068536896082267062027147479172424286022551797729537045905884693070931567961249939199715767262043150725142851008659951808387527832843373748373516886629344365810524188061593992336539907044227123060937437281086695619412564582111847161505580565544614911862834995138126809847006465318072232750659118174448443 130762393490799743270562099919777149733146080319453440710625926125787399069959002944334591491243958758032781357135773413735932372504135753677045306801729353957007945015651572245154175422129034579733503838363765898417151735451564574091424544403878307821338053661622892357864688445706111322441298524145386221931362577654238073210704958185306852328292216091571772299920447202222244168641112787734420006670836200706308024875909321126597251920940466750458501656247637512163609810459069070656832175838763336086373718532426342966433508415234347579382051432584694351561241816186907293491023585718532624006018522851287378453532584683153965389605602717706408445782145006045832689739675473993055898120270735080930466706008004095781598972282542156946967382890786464940315704567773297911209344237735245604720434901549961338459385138357921381968221787573414290738115626827195950871871785166272011155418946555788972490023863756310451922713401088660112777819066429953154041886561575360395982602438079550285049468908651631267216318557459716962269637761509195042267222708597190496177583341880750295237748705047982488711646714998882167773954662678868409520975443653898277623038529715185536347510626826563517861000385420203415582400806581962520160576362684219371490367688882962452612979725155730093429085873422233314363763372911127316508867344366523071549155453647127027326219591205982894208052261901659662790906103441475697931462473160643060503511275074135972951323271346511832093276305502462518865778063334365296290663500980648202756367044750511016269685711997263409783579699168578447551643683303191365105214883169887359904807292666253797872856319915551449154621059731014139432347428381990604184229504250896905278193876606774183359922491667856887044732693047668442358886021618522872533497904255230543107620397883673840748149843018810928551630471909842564798858699874824607558671509311509700927199069994561397767477126502310735207759719754466736333842999263429142820519015764851950020994469776311436893321242704883215042027246777176636974463025094900498099170851647424005026742879520134020108134092122582207695676069524232187301498412437976135859485446548323916239632605512632231624392070342982596489439857548669030530546190566780561962053752278101745224145789429967328913039752486339285999690763967314367559535558006757620141553105039252505471965800344340370509909773400106054476751745610993543369247858536087583803337103540794915646312135595774336914347018915346314158612794414116543371689078313745654663530601646342988966861787815227605239799983388010638136230298060478704003040616187240147373817517173864938564071964535937206713163089346063427955776514389291445445323231962654227634096133596196867748916267306818274293266784026381148054641705376660701644326608140976264199812936023849577515126471670345112640107436376291423244279277315588044701198265759126225279440810370984183323892742008738937516307213450563268428683378574661227507034767458870370169723256267682614028203864390796475723827704624602173521083009926059874184970231735502849122888059856723812881752289059697885927753253351976134389189162422426121457690026195714267811687703185395301010160569211356016079835546326855849056274237446712543744472024941884688988411997189792625195611413363386449978855232429090511570214398355542639772568981606167288403928015878267582732309111079161317733651835360912001073835334268690475649019068458397322529183726278635336137635978138003100970767041757988952965125427345585498667184315200327738281176649668579589419019048591411988423809296244205862073639588365987221309102877388423907560251015793781364499906724139341978641246982844180194178200202126095081885807803395737852947524016032445053388858247635372984478760236187094562176768395356474536543937315322832155335734648656823301851653068911637210748216822042171192168315088471678093866065887441204 211577997118401995131095484551525333476213118800171381479427339078650432777511612371792530272344551063047962179429623540817428895125804197048984051110141797430568359824828062868250612787260648448927189531449930662900771218672708538833234880469811817983739151111807519189227711169926192363667020724144793615901233221638974098632649524053973109627821907931072468022587967267042146743571569547521070543880516704011751886511873890038111793439580332024470414048952483599783337489318345267795222822827089272250733108227427000087250149003650962230040375645724074987234409047341963414442098092910915615076594972939415598569695280347253818847538204851498271927234922068069092900534718825628021436112323452033682435900109378217686710242204341211985220156343700451801276530225155674388140743895414314542746713542562092970603387938271395321154483999272935305310662565923158769200569010253956826338056196223991706907872628509131108195649163884377209439969246879379164435310048050315899258154228383965805340624264046869119714911047336031131756568982319017012450609354833014200453751876810221722524193774078886324614142376678403948888153689550412679967798104670692315589289433547815190802790362622288661223294597666705644853863820134487305663311436213446124049568383054689018575140257836480690216620114060610883545995156112393965547482567495157927292238607642335563670600701960098781399656825944819577372549374253522432620605771393781657690695659100295781119374631962012267679431604550391065273319990480299885631986584697910184852386133784184370015633158727414321224535349132490299440303191371924764161721634562482387938994835571815554430940294482758448688614922495721773389157159461255384765723448984639779522852092489301092014864338788718056949587864366507254712281874328507437523358058017025573227367836195397384092448410568906277009851334933988252964327398444185699314841133439558501008642895692219834159865699574033184155293631417235297577467453276191960108798376617491656480065655899685876513008028478441214091821091069852818416683641311148960109462940294075289596096998044507608920208907491601366477488257811243734902685051906400596240232711088708384314229138523194821079189325919817848405985454568587987517373714186363373907063795726189316851516519956432791634589755441312884586587097364219782265458511094300716404037693084906488300901270156332905005015117644141196728178969802499957364094655602221512424205226965596916211713143650648708114784902139163820632548291200975812506015215125411555681300061583915655288049892118734720279089305315308845760164033035774444857931578868659897157689485190246131111831300680165457868169269501325079945105990923514369834450560223828851064289287423383174494919428316880304502005246505537802146363201751863327454687103094094971792106724391981398473339882651718548567584007628147399392433696938822647602904230593902085230967469167205433604230878701378083036672470054828440462347630907232151775029192850557803010012771127677018287418580576550099610180775285389293304991236093420810301954268972115946153414024605379173545988964993324469143923219119315737563271755881234784901972700760494513649978166079545650525982838873714714772748546496116664309322492560917715967482106420753964533330326854014598191282712904676873125769898874964330109545946105798600658740999569693326244391822885829290211066618229756902140526081938234404293729123505732610608268685272538538777063742227303968416541479470406742640628082921218747684091611817260050229480728275344401134721592216119861330039700173156882035562620701079418142176484448254283336250356560848193582802813523318410405791417210273546602496922043895961440243352851237932894467755204125380780367389780818570275487592001183508666821830179431102083812622479535473981218402018451567900316760503984807432218613526549073583211960168981039174780406543910844525184061889647 342340390609201738401657584471302483209359199119624822190053265204437831847470615316127121763588509821080743536565396954553361267629939950726029357911871151387576304840479635113404788209389683028660693369813696561317922954124273112924659424873690125805077204773430411547092399615632303686108319248290179837832595799293212171843354482239279961956114124022644240322508414469264390912212682335255490550551352904718059911387783211164709045360520798774928915705200121111946947299777414338452054998665852608337106826759853343053683657418885309809422427078308769338795650863528870707933121678629448239082613495790702977023227865030407784237143807569204680373017067074114925590274394299621077334232594187114612902606117382313468309214486883368932187539234486916741592234792928972299350088133149560147467148444112054309062773076629316703122705786846349596048778192750354720072440795420228837493475142779780679397896492265441560118362564973037322217788313309332318477196609625676295240756666463516090390093172698500386931229604795748094026206743828212054717832063430204696631335218690972017761942479126868813325789091677286116662108352229281089488773548324590593212327963263000727150300989448852179084294983086909060436264626716449825823887798897665495539936071937651471188119982992210783645705987482844197909758529023521282056349911861680998841394061289462590996820293166081675607709087846479240163455477694998130552068244554424718194206934174431754070697903308524099772707910052853584139098053814665181922650085678558387608753178534695386285318870724677731008115048301068746991946874675116129266936517732369747843802128238069352303796614398309897843235982226735912821504587843245988949952953235536684801045969096075275374786830456574943994320557414175697071167895947030310056855962272256116334988234079071224840598253587717205561481806843830817763186098319010306873512642751068201935841965686781231927342826076343919363053351171702033911310452539621102929317392382343606501060125675997313406329271183324429133848337847029455391146666406049458208633791941499294622839877564641629028342999614183574173164327335475922204183464344376732099718157637032300553861744035827052703581396262800444895425312117257018047919904753143935869117548004291062075662309386400120547629507927652170586277861331534149824994069101058336545590798124158993772867070500673275514924891044247251204930715413493500733342514138309096227542330506391831858025279246423045029131921054510134791161085615092355877704293439157210344830663230258644254911679933962325518889288703319483896394331096253148860972195055900044531507002364111069675903265216102664581332358847388507900882505312805815279773792186483078698385421019580042243835695623698578795272030531918950201004907128524029099013711235071235991919660415830975988466354322063661207691444004438822636712974254410692304102496353028310510408279538189616928123620710117020552979683505391708891031009481893379282063960309428173179736027395359632315622444967346575334008479909991466826074246019480684486924500707618795276302084462102986427741254053022355071676472471291871952460918303660906359662726956208781461665869264940951536143408085070730852584092822972513365596730007630259711954131362638653521742324043807223386894126268063323104625131304054841679760344461341240431309981175860614648319838764096872943375729308918219874177917299146405367564457774423086257287753730935861306247468505939304554177457608409843611395124679207700649217039162845548896665043475672139415898241884699450749058748764568870459371916945285280215816072814241504645353233949272101143053829317099774905698141349615525243743904888076155618443554977333014780275558599863233727891405813263623664345839636556493145582066366525664260581017836010010525155717341283723236051409160808109283871682438186284331428782211152231343095495015588938391249949330851 553918387727603733532753069022827816685572317919796203669480604283088264624982227687919652035933060884128705715995020495370790162755744147775013409022012948818144664665307697981655400996650331477587882901263627224218694172796981651757894305343501943788816355885237930736320110785558496049775339972434973453733829020932186270476004006293253071583936031953716708345096381736306537655784251882776561094431869608729811797899657101202820838800101130799399329754152604711730284789095759606247277821492941880587839934987280343140933806422536272039462802724032844326030059910870834122375219771540363854159208468730118575592923145377661603084682012420702952300251989142184018490809113125249098770344917639148295338506226760531155019456691224580917407695578187368542868765018084646687490832028563874690213861986674147279666161014900712024277189786119284901359440758673513489273009805674185663831531339003772386305769120774572668314011728857414531657757560188711482912506657675992194498910894847481895730717436745369506646140652131779225782775726147229067168441418263218897085087095501193740286136253205755137939931468355690065550262041779693769456571652995282908801617396810815917953091352071140840307589580753614705290128446850937131487199235111111619589504454992340489763260240828691473862326101543455081455753685135915247603832479356838926133632668931798154667420995126180457007365913791298817536004851948520563172674015948206375884902593274727535190072535270536367452139514603244649412418044294965067554636670376468572461139312318879756300952029452092052232650397433559046432250066047040893428658152294852135782796963809884906734736908881068346531850904722457686210661747304501373715676402220176464323898061585376367389651169245293000943908421780682951783449770275537747580214020289281689562356070274468608933046664156623482571333141777819070727513496763196006188353776190626702944484861379001066087208525650377103518346982588937331488777905815813063038115768999835262981125781575683189919337299661765643225669428916882273807830307717198418318096732235574584218936875609149237948551907105784940650652585146719657106868516250777328339950868725740684868090882559021873782770722182618293301410766685845005565293618939507309776181343730480378927178829342832912182219263368965055172864958695753932090452580195359052949628491209065482073768340657006180519940008688388447933109685215993458097437169740530608651747557471988748069738422897071753143916823193673955423709376816068168383719508564568766026130724814174299542961572052697045797978594018628329656558364132027593718903773924559941689196487554357200787734565896268122449501628348713587845988496236320185114224352410311929762674708442963216738755123940578883297277277037456752347368108880387356553700814329166207784026384807812374461806236973782209775275451632586222029146671193233339907006726946930395741375748705395050532354499411495103589652153560220149353378640389125531057093153159985976189748798523036650603041025543896674944189255195380760131065482112901494788878769679734741429716109067482159973730219046346824215599691590607609515732674184895691261635427716703295111644035344486602062126246958785445625332639319089177674919222568547975679436237783392618055072650897821821578176839172740196230395030179019171789306290567139841090050980745553940892711661649926163154442347538675122014703999237380809661293581280155696865556439003474400083311210733243272970718937078816586252023207600426448333308650980105599126145771751016540550619834100819312079098448937725752494934537646364698357992557262495787981603590510120294725856642840418185311489558559889071846240826931972117058686907828570947674743313803988614508258795594082193939833431637740001812403896545956766344393640315545484506374119359735291136368169664792916716090295964735357914640742380133270517875901559499782916434011220498 896258778336805471934410653494130299894931517039421025859533869487526096472452843004046773799521570705209449252560417449924151430385684098501042766933884100205720969505787333095060189206040014506248576271077323785536617126921254764682553730217192069593893560658668342283412510401190799735883659220725153291566424820225398442319358488532533033540050155976360948667604796205570928567996934218032051644983222513447871709287440312367529884160621929574328245459352725823677232088873173944699332820158794488924946761747133686194617463841421581848885229802341613664825710774399704830308341450169812093241821964520821552616151010408069387321825819989907632673269056216298944081083507424870176104577511826262908241112344142844623328671178107949849595234812674285284460999811013618986840920161713434837681010430786201588728934091530028727399895572965634497408218951423868209345450601094414501325006481783553065703665613040014228432374293830451853875545873498043801389703267301668489739667561310997986120810609443869893577370256927527319808982469975441121886273481693423593716422314192165758048078732332623951265720560032976182212370394008974858945345201319873502013945360073816645103392341519993019391884563840523765726393073567386957311087034008777115129440526929991960951380223820902257508032089026299279365512214159436529660182391218519924975026730221260745664241288292262132615075001637778057699460329643518693724742260502631094079109527449159289260770438579060467224847424656098233551516098109630249477286756055026960069892490853575142586270900176769783240765445734627793424196940722157022695594670027221883626599092047954259038533523279378244375086886949193599032166335147747362665629355455713149124944030681451642764437999701867944938228979194858648854617666222568057637069982561537805897344304353539833773644917744340688132814948621649888490699595082206313061866418941694904880326827065782298014551351726721022881400333760639365400088358355434165967433161382178869482185907251680503325666570845090072359517766763911729198976974123247876526730524177073878841776753173790866976894906719968514823816912482195579311051980595154060439669026362772985421952626594848926486352118445418738196836078803102023613213523692651245645298891734771441002841138729233032729848771296617225759142820027288081915446649296417389495219289333224475846635411157679456034864899732635699138040400629486958830779683878839704879289887978380579927763702143494798173048744248184090214870462431160524261423802003725976370961388044432943797873251986659371316867882721947813552952695228280742579875968980459986220703489918468270463637831112370787030833987196102095746871001549126000393998144596795008461060129462543258982590819564277462092549307569375702548373016008911385652714525564237443775946045223643350450272591295845870982966895637025044665859645447644032211109223299958706251784028243584667460478120121612124142631837065611858244409649871018910339157113469414149369484825918396282918663470511243250278197735105372226957139728132382179275803270387353536706018193529585146401471473099369179287276164061899481468193592488556597621298154672912076573309904609427553598269655043856176477916732142061691040515952576178235391390369146031271576814974941629044965070965440803519335020161483074013469066635028481081521360961921414555541031500414023036097818076847593341888881916536527215028858039054578783122844192734410261389558679239182577524896394687226429863418332279634148982525690142951148022810815226688679966518075985518762828157197702294622954306454591649978573808630076737292626956824459392395868910472157517960217187699909504597089984731820048272677130462805903962455018872403851848236150201407345817604179271274296494957985962912482430604974658151555495031529836701019014372419578825601025999961978402921642246069524591285501860971396575088721307683960551349 1450177166064409205467163722516958116580503834959217229529014473770614361097435070691966425835454631589338154968555437945294941593141428246276056175955897049023865634171095031076715590202690345983836459172340951009755311299718236416440448035560694013382709916543906273019732621186749295785658999193160126745300253841157584712795362494825786105123986187930077657012701177941877466223781186100808612739415092122177683507187097413570350722960723060373727575213505330535407516877968933550946610641651736369512786696734414029335551270263957853888348032526374457990855770685270538952683561221710175947401030433250940128209074155785730990406507832410610584973521045358482962571892620550119274874922429465411203579618570903375778348127869332530767002930390861653827329764829098265674331752190277309527894872417460348868395095106430740751677085359084919398767659710097381698618460406768600165156537820787325452009434733814586896746386022687866385533303433686755284302209924977660684238578456158479881851528046189239400223510909059306545591758196122670189054714899956642490801509409693359498334214985538379089205652028388666247762632435788668628401916854315156410815562756884632563056483693591133859699474144594138471016521520418324088798286269119888734718944981922332450714640464649593731370358190569754360821265899295351777264014870575358851108659399153058900331662283418442589622440915429076875235465181592039256897416276450837469964012120723886824450842973849596834676986939259342882963934142404595317031923426431495532531031803172454898887222929628861835473415843168186839856447006769197916124252822322074019409396055857839165773270432160446590906937791671651285242828082452248736381305757675889613448842092266828010154089168947160945882137400975541600638067436498105805217284002850819495459700374628008442706691581900964170704148090399468959218213091845402319250220195132321607824811688444783364101759877377098126399747316349576696888866264171247229005548930382014132463311688827363693245003870506855715585187195680794003006807281840446294844827256412648463060713628782940104925446813825753455474469497628915236417920496845931388779619895088513670290043509153870800269122840628037031498246845488947029178507142632158555421480235465251819930019968072065944912068034665582280932007778723042014005899229491776442444847780542289957920403751814685636554804908421024147071150085845480416928216853619370313531037445450369327997502125040566551316965567441858045638579839247228692645143310568294742397092112858607243340834824039356417114846476740576143209511059360308336298779742905019927909899977472825471251372397008638909480335615544815683592859497785446185508222497007106938223734837905506475721345943504856345389826584606832454895741124889298742206415339893403651559972430031455724912078828269628080758242347269611266695006316640877372118115950246889101993159776948979717992832619533107227732283990625832007597788290260144441396250266629400125559233624441432933521704496055139925222386990300752987088205210245283674064682040067088278135734302597067306375201692145716003502875855652507090983926266673452288882933582389615371684953939953914155660395902002641622103249371461150868715435175144726211070826606929423889631887625839450866543247804613543715565415191662093185258372925595620922611411942666968496433743162063949199252260424386268463903585915773908024690151620334734479988400631737884661472869889972425850495615331766043016115441539880060597315834341123056747148956586977705220517137910086338074907255646640020375449240992238014676931801187339233080608560414969512690594767114997936145528677258469393668936225558752020389735817370634474910129762186207840462744408997001428011544012702912036496770389859458439196949368298467100979537903956060754305508787748490393942716052274367657000160710266971418772378847298134588504224117971771847 2346435944401214677401574376011088416475435351998638255388548343258140457569887913696013199634976202294547604221115855395219093023527112344777098942889781149229586603676882364171775779408730360490085035443418274795291928426639491181123001765777886082976603477202574615303145131587940095521542658413885280036866678661382983155114720983358319138664036343906438605680305974147448394791778120318840664384398314635625555216474537725937880607121344989948055820672858056359084748966842107495645943461810530858437733458481547715530168734105379435737233262328716071655681481459670243782991902671879988040642852397771761680825225166193800377728333652400518217646790101574781906652976127974989450979499941291674111820730915046220401676799047440480616598165203535939111790764640111884661172672351990744365575882848246550457124029197960769479076980932050553896175878661521249907963911007863014666481544302570878517713100346854601125178760316518318239408849307184799085691913192279329173978246017469477867972338655633109293800881165986833865400740666098111310940988381650066084517931723885525256382293717871003040471372588421642429975002829797643487347262055635029912829508116958449208159876035111126879091358708434662236742914593985711046109373303128665849848385508852324411666020688470495988878390279596053640186778113454788306924197261793878776083686129374319645995903571710704722237515917066854932934925511235557950622158536953468564043121648173046113711613412428657301901834363915441116515450240514225566509210182486522492600924294026030041473493829805631618714181288902814633280643947491354938819847492349295903035995147905793424811803955439824835282024678620844884274994417599996099046935113131602762573786122948279652918527168649028890820366380170400249492685102720673862854353985412357301357044678981548276480336499645304858836963039021118847708912686927608632312086614074016512705138515510565662116311229103819149281147650110216062288954622526681394972982091764193001945497596079044196570670441351945787944704962444705732205784255963694171371557780589722341902490381956730971902341720545721970298286410111110815728972477441085449219288921451286655711996135748719726755474959073455769695082924292049052791720666324809801066779127200023260932861106801298977641916805962199506691150598750330095921345878788193831940067069875514433767039162972365092589669808153659846209190486474967375758996537498210018410327333428749907925265827184061349490014311690042135853450301678389216906567112572020718768053500903040187138708076026015788431714359462523956762463754588589078878655711885479914130603467391293741715010228121009696511169602740917779339730499334572185902220641603901946684794967368049734703936763069133807482375892176208157444114140898210127859129865457641095335918475255099075362351419565473951741209242906636311360865962088521404329225173546847808244943805192564385453310739654719351874915827691443865842197940131163351735407380098814274928718450359829216440367966566383175500584725406125214045344938377665853340485310454441814841752496126652452776673165245085182790152019714406572452119859162008886504231737062527448258263844563341709258665557046497798581166103603212559755951127720904446462216976075455161208702600781079911508318770054347234900435353145167198727439560624102004132772904588383051974774662477972235350078501233861805792467832310435239719009659389313263111244824472294922862428569211608428020511726453269445978859872159694746298360031266007895171767402204393900483655986071856837735412844342314998403547446829664655505609817415970373235517239428905086463677587155454105745864958378898266026210290572068662412947833440378872584781058611692310980559198408773829148191974186332991728375822370921627554342956618656474569433792761773319881207327315994968716014252770578642406779791562704274239818694709677225531801932323196 3796613110465623882868738098528046533055939186957855484917562817028754818667322984387979625470430833883885759189671293340514034616668540591053155118845678198253452237847977395248491369611420706473921494615759225805047239726357727597563449801338580096359313393746480888322877752774689391307201657607045406782166932502540567867910083478184105243788022531836516262693007152089325861015559306419649277123813406757803238723661635139508231330082068050321783395886363386894492265844811041046592554103462267227950520155215961744865720004369337289625581294855090529646537252144940782735675463893590163988043882831022701809034299321979531368134841484811128802620311146933264869224868748525108725854422370757085315400349485949596180024926916773011383601095594397592939120529469210150335504424542268053893470755265706899325519124304391510230754066291135473294943538371618631606582371414631614831638082123358203969722535080669188021925146339206184624942152740871554369994123117256989858216824473627957749823866701822348694024392075046140410992498862220781499995703281606708575319441133578884754716508703409382129677024616810308677737635265586312115749178909950186323645070873843081771216359728702260738790832853028800707759436114404035134907659572248554584567330490774656862380661153120089720248748470165808001008044012750140084188212132369237627192345528527378546327565855129147311859956832495931808170390692827597207519574813404306034007133768896932938162456386278254136578821303174783999479384382918820883541133608918018025131956097198484940360716759434493454187597132071001473137090954260552854944100314671369922445391203763632590585074387600271426188962470292496169517822500052244835428240870807492376022628215215107663072616337596189836702503781145941850130752539218779668071637988263176796816745053609556719187028081546269029541111129420587806927125778773010951562306809206338120529950203955349026218071106480917275680894966459792759177820886697928623978531022146207134408809284906407889815674311858801503529892158125499735212591537804140466216385037002370804963204010739671076827788534371475425772755907740026052146892974287016837998908816539800326002039644902590527024597799701492801193329769780996081970227808956968356488259362665275080862881074873364922553984840627781787623158377473372109927245108279970274384914850417804391687442914787050729144474716574683993280340572320447792687213391117580331941364778879119235922767952224627900806979879131900181492030140925617909551710423140315461165145613761647430479542900065372205546560836203100099971974813948897415177435454790499842040503444864119212966382625129648605991505218285733462932589997120018371410443138611008884908529805273556210425282706573990152872202476783040612339855265787508870065545205351044746895890905286554800274430247835102032499451590176247578055872278729398776447341123793736910238103582141544103446143359187826579607199818317275873439986230391307793131657646728214400487952074801262149962072462621523100722971715706878201133550148622949527405167350521530092977486798723719759151874857390801186293027875366913663436046125835461175387165319452142819943217784517255864919061459049139420684415475064363428471386302865630657533043583004879050840590226620530778051566574667890950465850544807260383985812486219722926744184847255351548408517824541921434602338925620130269696053748084343264409161279724047743099645456210179584335298459184034278516127058219312462094301412039755343614194372389064642320723989182099121000793896158194912642668490982335373852788439067679332437411004755203453844077654398417777058444702153390251274542216848291934962435849324089052148765204074853782714543244819532773724968195410201840692204677098369488498765681829360824503711255085757454107337748822527625389995075806388911432066527138235642567490058534123046618665992844265729755919904095043 6143049054866838560270312474539134949531374538956493740306111160286895276237210898083992825105407036178433363410787148735733127640195652935830254061735459347483038841524859759420267149020151066964006530059177500600339168152997218778686451567116466179335916870949055503626022884362629486828744316020930686819033611163923551023024804461542424382452058875742954868373313126236774255807337426738489941508211721393428793940136172865446111937203413040269839216559221443253577014811653148542238497565272798086388253613697509460395888738474716725362814557183806601302218733604611026518667366565470152028686735228794463489859524488173331745863175137211647020267101248508046775877844876500098176833922312048759427221080400995816581701725964213492000199260797933532050911294109322034996677096894258798259046638113953449782643153502352279709831047223186027191119417033139881514546282422494629498119626425929082487435635427523789147103906655724502864351002048056353455686036309536319032195070491097435617796205357455457987825273241032974276393239528318892810936691663256774659837372857464410011098802421280385170148397205231951107712638095383955603096440965585216236474578990801530979376235763813387617882191561463462944502350708389746181017032875377220434415715999626981274046681841590585709127138749761861641194822126204928391112409394163116403276031657901698192323469426839852034097472749562786741105316204063155158141733350357774598050255417069979051874069798706911438480655667090225115994834623433046450050343791404540517732880391224514981834210589240125072901778420973816106417734901751907793763947807020665825481386351669426015396878343040096261470987148913341053792816917652240934475175983939095138596414338163387315991143506245218727522870161316342099623437641939453530925991973675534098173789732591104995667364581191573888378074168441706654636038465700619583874393423280354633235088719465914688334382335584736424962042616570008821466775509224610018951513113910400136354306880985452086386344753210747291474597120570205467418375793767834637587942817592093146865694392696402048730130254917197396071042317851136867875865451728102287218197737991086981714035780651310253780072758774948570888412694073045134761948475281778157555038489865298341795742181674663900195901646589981294314308976223702205848590987068164106324981920293318825454482077759415821734144524728343839489531058795415168446209928615790350351692112307869143848033779408689250296994190821942317345480442604007126458277535712336179933199114664687617618250976091387993978275195665624056734438568537486494056091166675979756171106912255412954681392853250658302502674821026651242272320496454590557312663780214910831593324772641605945129219469643123960354578368959248769783969406685718997924675070808685842231809380541653875636781667400575984240660833082883889416738240817920180776566297340584718483047387334108488899454098842545931482115646008719739282184170522471144867065026827028675416670525161091366402440429187906276223556441113003415178895087000615380745652660975971907819239294850372211928548022635886369083179895081320235888165984997470061891397056514670268201481629080597574177727016095637219265581578667575988227337430586535103995260559080334212049292827401610689559885344722238185366285897952427582713252046843824930876957751843734600383292487019893669952417426853992075488521580394778504128170939113361006210890280682474507197727028395642706536638784672581908073161284199450089912554403655072537492491391386493021484449882230051750378081335324650372256335885897343987943020822171173827079594893827322863522122289308844357020407175227190200988646139896157714561713037515232655299324303431225084705527393818975669840396651284702480227141504200282452058054211704413928676771541584300945271202403122383880148080779908814284974269850096827320858484687553942955287721836418239 9939662165332462443139050573067181482587313725914349225223673977315650094904533882471972450575837870062319122600458442076247162256864193526883409180581137545736491079372837154668758518631571773437928024674936726405386407879354946376249901368455046275695230264695536391948900637137318878135945973627976093601200543666464118890934887939726529626240081407579471131066320278326100116822896733158139218632025128151232032663797808004954343267285481090591622612445584830148069280656464189588831051668735065314338773768913471205261608742844054014988395852038897130948755985749551809254342830459060316016730618059817165298893823810152863113998016622022775822887412395441311645102713625025206902688344682805844742621429886945412761726652880986503383800356392331124990031823578532185332181521436526852152517393379660349108162277806743789940585113514321500486062955404758513121128653837126244329757708549287286457158170508192977169029052994930687489293154788927907825680159426793308890411894964725393367620072059277806681849665316079114687385738390539674310932394944863483235156813991043294765815311124689767299825421822042259785450273360970267718845619875535402560119649864644612750592595492515648356673024414492263652261786822793781315924692447625775018983046490401638136427342994710675429375887219927669642202866138955068475300621526532354030468377186429076738651035281968999345957429582058718549275706896890752365661308163762080632057389185966911990036526184985165575059476970265009115474219006351867333591477400322558542864836488422999922194927348674618527089375553044817579554825856012460648708048121692035747926777555433058605981952730640367687659949619205837223310639417704485769903416854746587514619042553378494979063759843841408564225373942462283949754190181158233198997629961938710894990534786200661714854392662737842917919185297862294461563164244473630535436700232486692753765038923421263714552453442065653700642937583029801580644596395922538642930044136056607270763116165891859976202019065069548795004489278695705202630967331571975103804327854594463951828898403436073125557918789288672821843798225591162920022758426015119125217106554530887307716075425553900780804670558476441372081742463854041216732176284238746514043297852530573422658623256548028822749886487217763081937467353697074315775836095348134380709896770711123217141924992546466550878619241303027832769871631115862961133423319733370682293056891186988379770801731633317151103974069953842498837510583529625036009987958852651641098344728426335048097793876156760199524836031868724156706413382486383909233526621466479598211610357119532167647775478380306908494180039312384705204910493574608928723106918825919716501854577915162155554502176217114113226780845742289382123824672473227867990220276159730589127700285828208675911211915235678016740112423259131467472610519547318957223907421134321628721150969475652592345597458030372511089315464325995612722170400913778937998722673555243075904622599962353516364512891809429376946528156819881616312445235623564908150820011497502000796726093574091971080422880026687555376207770448233899324212110832931237278562375966813088144699413597853439096788475144776639949997053731939416698723733452165761528304142085213262889883054022141467611451919390129135832136442759687966699064533063547857621142599099086148791810311561815104554756352474122345184575328479121768537332218837408749310535736892654091533025487579676985052765842891894370167462696239205433526748776044137179813215380568592142485243778388246663020749826306985746109124324965023320380431826926377280923672548225740640580566991462234608294949392075482135951081989220246766710478241590086438013867548250757858430495589229177510532601328383071968725907186029643276561765466790171382784109290406828570661197478928772791580147307047049927541759908630950367477150680398208685043641740513282 16082711220199301003409363047606316432118688264870842965529785137602545371141744780555965275681244906240752486011245590811980289897059846462713663242316596893219529920897696914089025667651722840401934554734114227005725576032352165154936352935571512455031147135644591895574923521499948364964690289648906780420234154830387669913959692401268954008692140283322425999439633404562874372630234159896629160140236849544660826603933980870400455204488894130861461829004806273401646295468117338131069549234007863400727027382610980665657497481318770740351210409222703732250974719354162835773010197024530468045417353288611628788753348298326194859861191759234422843154513643949358420980558501525305079522266994854604169842510287941229343428378845199995383999617190264657040943117687854220328858618330785650411564031493613798890805431309096069650416160737507527677182372437898394635674936259620873827877334975216368944593805935716766316132959650655190353644156836984261281366195736329627922606965455822828985416277416733264669674938557112088963778977918858567121869086608120257894994186848507704776914113545970152469973819027274210893162911456354223321942060841120618796594228855446143729968831256329035974555215975955726596764137531183527496941725323002995453398762490028619410474024836301261138503025969689531283397688265159996866413030920695470433744408844330774930974504708808851380054902331621505290381023100953907523803041514119855230107644603036891041910595983692077013540132637355234231469053629784913783641821191727099060597716879647514904029137937914743599991153974018633685972560757764368442471995928712701573408163907102484621378831073680463949130936768119178277103456335356726704378592838685682653215456891541882295054903350086627291748244103778626049377627823097686729923621935614244993164324518791766710521757243929416806297259466304001116199202710174250119311093655767047387000127642887178402886835777650390125604980199599810402111371905147148661881557249967007407117423046877312062588363818280296086479086399265910670049343125339809741392270672186557098694592796132475174288049044205870217914840543442299787898623877743221412435304292521974289430111206205211034584743317251389942970155157927086351494124759520524671598336342395871764454365438222692722945788133807744376251776329920776521624427082416298487034878691004442042596407070305882372612763766031371672259402689911278129579633248349161032644749003494857523618835511042006401400968260775784816182991026133632162468265494564987821031543843091022665716044852248148193503111227534348213440851951023870403289617788142459354382717269374945122329168331630965210996854860339035947477230990029199486035770699040830548095179350556768100683721645860238073581359214701538151907794079158946865914895346968416431359509666369862551547993582636254000980773256342015356889348760365239138000473718474906347204198356809761081245051556872918442571431110334715352004354571436250082865787700382271751321293125123444882766953320997335653170084597932885031491340322624180288896472672473473908615965388424464183008970902662573924459387665529554135212378095830401299169959432481483356346181042678451013274515491240413859215578632399515404926061164038700865523564701165547474939175881423752157171337264112367321198422340712115549412316579907372788498100350942820749175102798581708774507173779328114420673096908873900272665503157950769755521426017575128598730752515975319691589404627564476278240623980438655523439303179699209717305706771955085163969693660618298413398831161631636118365460210862367308323452649097551108003267442053063504102689280771078965315356567302672336939728129116404481272191279105319093313191851681982943136022983048153180372997979667774448953048690229925728619819678494585311460880831991129515932399882051156671728228086955864212516029758727777688335635367952151640331363576931521 26022373385531763446548413620673497914706001990785192190753459114918195466046278663027937726257082776303071608611704032888227452153924039989597072422897734438956021000270534068757784186283294613839862579409050953411111983911707111531186254304026558730726377400340128287523824158637267243100636263276882874021434698496851788804894580340995483634932221690901897130505953682888974489453130893054768378772261977695892859267731788875354798471774375221453084441450391103549715576124581527719900600902742928715065801151524451870919106224162824755339606261261600863199730705103714645027353027483590784062147971348428794087647172108479057973859208381257198666041926039390670066083272126550511982210611677660448912463940174886642105155031726186498767799973582595782030974941266386405661040139767312502564081424873274147998967709115839859591001274251829028163245327842656907756803590096747118157635043524503655401751976443909743485162012645585877842937311625912169107046355163122936813018860420548222353036349476011071351524603873191203651164716309398241432801481552983741130151000839550999542729424670659919769799240849316470678613184817324491040787680716656021356713878720090756480561426748844684331228240390447990249025924353977308812866417770628770472381808980430257546901367831011936567878913189617200925600554404115065341713652447227824464212786030759851669625539990777850726012331913680223839656729997844659889464349677881935862165033789003803031947122168677242588599609607620243346943272636136781117233298592049657603462553368070514826224065286589362127080529527063451265527386613776829091180044050404737321334941462535543227360783804320831636790886387325015500414095753061212474282009693432270167834499444920377274118663193928035855973618046240909999131818004255919928921251897552955888154859304992428425376149906667259724216444764166295577762366954647880654747793888253740140765166566308442117439289219716043826247917782629611982755968301069687304811601386023614677880539212769172038790382883349844881483575677961615872680310456911784845196598526781021050523491199568548299845967833494543039758638769033462707921382303758340537652410847052861597146186631759111815389413875727831315051897621781127568226301043759271185641634194926445187112988694770721545695674621025507458189243683617850837400263177764432867744775461715565259738332062852348923491383007334399505029274321027141090713056568082531714937805894681845903389637242675323552504942330729627315020501609663257198478253453417639462129888571517357713813838728404908393027947259403072370147265333510254312523144409608938952594327626494477289976943810011272119491034899651420652682141483603808414758877617866750264597033928471930256238223822077352186808140060443827534031618751632174733905115623128147020487209952198071227459205497871932017720885679601146824361959279912558095224381139609227975925349326285413673590649014903290953660746574660710964726524972350029020864510373937514827225915725085798399131466212806765030116612754752766647803785558247745197047292683970975909412691481998556154089393782689261479835595435977788034536590206663332536448521808448296444490880456276304452371303966385190499165575686131454821624784897490866627051868843250760737829058935445893624782789183502496457030558783471803516111381112970920646119242950041906897966913110143523879061930131802236765857672237353022041202835376788178504831961754467782690263778003554996676642170470456370648408086676677860956966051955743346897118922152523677306454937439006545076419580987938621864474584535827390628703884476023928388926939990278804144683256272233313573610305959378154472890810118336651247982669520695405531327059399932740801566518572277330690905599308050846417678955876259569005181585145284756694244990122397958086593597360979929463308375394002914140057789667358728055812786048350360325375005317444803 42105084605731064449957776668279814346824690255656035156283244252520740837188023443583903001938327682543824094622949623700207742050983886452310735665214331332175550921168230982846809853935017454241797134143165180416837559944059276686122607239598071185757524535984720183098747680137215608065326552925789654441668853327239458718854272742264437643624361974224323129945587087451848862083365052951397538912498827240553685871665769745755253676263269352314546270455197376951361871592698865850970150136750792115792828534135432536576603705481595495690816670484304595450705424457877480800363224508121252107565324637040422876400520406805252833720400140491621509196439683340028487063830628075817061732878672515053082306450462827871448583410571386494151799590772860439071918058954240625989898758098098152975645456366887946889773140424935929241417434989336555840427700280555302392478526356367991985512378499720024346345782379626509801294972296241068196581468462896430388412550899452564735625825876371051338452626892744336021199542430303292614943694228256808554670568161103999025145187688058704319643538216630072239773059876590681571776096273678714362729741557776640153308107575536900210530258005173720305783456366403716845790061885160836309808143093631765925780571470458876957375392667313197706381939159306732208998242669275062208126683367923294897957194875090626600600044699586702106067234245301729130037753098798567413267391192001791092272678392040694073857718152369319602139742244975477578412326265921694900875119783776756664060270247718029730253203224504105727071683501082084951499947371541197533652039979117438894743105369638027848739614878001295585921823155444193777517552088417939178660602532117952821049956336462259569173566544014663147721862150019536048509445827353606658844873833167200881319183823784195135897907150596676530513704230470296693961569664822130774058887544020787527765294209195620520326124997366433951852897982229422384867340206216835966693158635990622084997962259646484101378746701630140967962662077227526542729653582251594586588869198967578149218083995701023474134016877700413257673479312475762495820006181501561950087715139574835886576297837964322849974157192979221258022052779708213919720425803279795857239970537322316951567354132993414268641462754833251834441020013538627359024690260180731354779654152720007302334739133158231296104146773365771177288677010938419220292689816431692747582554898176703427008472753717329953905910591505412131203492635796889360946518947982627283161432414608380379529883580653056586531058486937420583588117284534124715812762197751398306977044895869422412306112141642237330487889759990456600159372473633007900794648316907580812692213279028698356921945467937590260389499275145365685939412830791121599820010970096563451846719618567933779007199080508186018701658935943162181251308040277797233224854858084134323129547683095174754835700571776209396232177684995426316730879543786279103730298074319786578547208850209243281898419533804100683286697352685651679295125880871925485943765356444449818028656870423020337098364685351835404294983101507342169748968302493733835618481240929779800837061498954755465645819457625604358381154318530970226550846061529567492575433544416308212768234816869645781954126447614863778228981124183919065523697692878293434617343300984727647142015908725232653569103911130351186530769146226922313868338534738948260353387772042911288994530519530316368231575098020846926648710657116516480405355135442556614424628924478762470424631099624843489818412149570257982840044746689757937027337125121479496930207432331867648785945553004392538925662526680826809830538247453055729254860799800724624640251251614723744702541555325483871278597287718620866632004566489494733801404823779342005705870954389087602525997243031086135036603480958778352573819426086505744148421416302511965706368894376324 68127457991262827896506190288953312261530692246441227347036703367438936303234302106611840728195410458846895703234653656588435194204907926441907808088112065771131571921438765051604594040218312068081659713552216133827949543855766388217308861543624629916483901936324848470622571838774482851165962816202672528463103551824091247523748853083259921278556583665126220260451540770340823351536495946006165917684760804936446545139397558621110052148037644573767630711905588480501077447717280393570870751039493720830858629685659884407495709929644420251030422931745905458650436129561592125827716251991712036169713295985469216964047692515284310807579608521748820175238365722730698553147102754626329043943490350175501994770390637714513553738442297572992919599564355456221102893000220627031650938897865410655539726881240162094888740849540775788832418709241165584003673028123212210149282116453115110143147422024223679748097758823536253286456984941826946039518780088808599495458906062575501548644686296919273691488976368755407372724146303494496266108410537655049987472049714087740155296188527609703862372962887289992009572300725907152250389281091003205403517422274432661510021986295627656691091684754018404637011696756851707094815986239138145122674560864260536398162380450889134504276760498325134274260852348923933134598797073390127549840335815151119362169980905850478270225584690364552832079566158981952969694483096643227302731740869883726954437712181044497105804840321046562190739351852595720925355598902058476018108418375826414267522823615788544556477268511093467854152213028145536217027333985318026624832084029522176216078046832173571076100398682322127222712709542769209277931647841479151652942612225550222988884455781382636843292229737942699003695480196260446047641263831609526587766125730720156769474043128776623561274057057263936254730148994636592271723936619470011428806681432274527668530460775504062637765414217082477778100815764859034367623308507286523271504760022014236762878501472415656140169129584979985849446237755189142415409964039163379431785467725748599199741575195269571773979984711194956297432118081509225203741388485259902487740125986627697483722484469723434665363571068707052573073950401489341487946726847039067042881604732248762138680342827764135814337137375858759292630263697156478196424953437945164222524429614435572562073071196010580219595529780700170682317951331965560311005746384514224462520360792858549330398109996392653506410852922235039446223994245460146559424772401400266745291320986125738093343722309057964979559005746340492953735382618044379028335906607360337259571372522363899702283055951653509449978924659641877252841513957236816315553525934774331077289247207500628613160169290014942447197639335589193219971031582423296333725126593224710472333929570766005006466404578380118036422544615544309005613267320190355328449235997693362299054897009380588428426349586679500349892924259656137281457404516136308124594808448257301405773124575295041681029885746610865713403310107438418327098911439119670682991058040415425727441348352421576491187758468041096884130578537485130204285558509157066372067003049378076245327941955231059918017123424010794857546730004662425048175630959020434119627302387667068950597293752315539406736915631117360235259539907655722581635078805849214080736586251026634545108929018868756532631034042932587952388441383579944355071173911527126765185349526510693979258308523085313044873745568477217575056797333794377437371407091185903511543551077002439776879568538631388566237993137508879847314629282517148565731221601145407885857147422610671793469201825237706112535968486058981282721348365789706977237530320496130155967310651547464546269060127602814562184196595769467284310960442749063738982989969064098699950861076787045689119594604011015598344978874961692492631609093445233799961207464652872291081374211821127 110232542596993892346463966957233126608355382502097262503319947619959677140422325550195743730133738141390719797857603280288642936255891812894218543753326397103307122842606996034451403894153329522323456847695381314244787103799825664903431468783222701102241426472309568653721319518911698459231289369128462182904772405151330706242603125825524358922180945639350543390397127857792672213619860998957563456597259632177000231011063328366865305824300913926082176982360785857452439319309979259421840901176244512946651458219795316944072313635126015746721239602230210054101141554019469606628079476499833288277278620622509639840448212922089563641300008662240441684434805406070727040210933382702146105676369022690555077076841100542385002321852868959487071399155128316660174811059174867657640837655963508808515372337607050041778513989965711718073836144230502139844100728403767512541760642809483102128659800523943704094443541203162763087751957238068014236100248551705029883871456962028066284270512173290325029941603261499743393923688733797788881052104765911858542142617875191739180441376215668408182016501103920064249345360602497833822165377364681919766247163832209301663330093871164556901621942759192124942795153123255423940606048124298981432482703957892302323942951921348011461652153165638331980642791508230665343597039742665189757967019183074414260127175780941104870825629389951254938146800404283682099732236195441794715999132061885518046710390573085191179662558473415881792879094097571198503767925167980170918983538159603170931583093863506574286730471735597573581223896529227621168527281356859224158484124008639615110821152201811598924840013560323422808634532698213403055449199929897090831603214757668175809934412117844896412465796281957362151417342346279982096150709658963133246610999563887357650793226952560818697171964207860612785243853225106888965685506284292142202865568976295315196295754984699683158091539214448911729953713747088456752490648713503359238197918658004858847876463732062140241547876286610126817408899832416668958139617621414974018374336924716177348959659190970595248114001588895369555105597393984987699561394666761464437827841126202533370298782307687757515337728261686273831096003181197555407667152650318862900121575269571079090247696960757550082978600130692011127071283710695105555449643698125895577304083767155579864407810329168811515699676554065941859606628342903979531298436200945917210102915691035252757406582750109983460316763513740451577427486881257035920371291349382894028452753400734118472873605889711021566090064233277913537323499902578503744148668805111735566548417418233322114589168093295746780466814419632333853000886430869824216348174251681911889981460486529326970082114757952532707587138610734558905910444413214417933545137563321273924180649189333938785473603658888304055124203551487471186864575360468152561674090855777496622184444692475763183262050158455709746125101944651563598188284059922587228325106522577087984320333425504284962928305280414966396690007460124070006394037319991596168934823396859875545470005222844596828286123153392932288425561638992472374034526811650800207685484290307856046165003454185815383662942881636399215927884323193395274726477020550001612202735932083377163365528569185185188691042078732224013488521031839641647158776498727507515353929552011362192250944927593989186200137954062939138919210529806866668939512446266075025538737298553605268252839042615629413105320666498064501705507990910893917776762226628460125968180001481202247304199638256232056056405287079137830154674029206906502758558726266887382787354854942539442255147378242098651461631012739808092551886613242762706492391120296854780607561903162188290971601682928298433462793883488088150942965009238558472784394792843440705656732031176133291645591847042101733381582355920470845205428519531739544109628880955384256787743106197451 178360000588256720242970157246186438869886074748538489850356650987398613443656627656807584458329148600237615501092256936877078130460799739336126351841438462874438694764045761086055997934371641590405116561247597448072736647655592053120740330326847331018725328408634417124343891357686181310397252185331134711367875956975421953766351978908784280200737529304476763650848668628133495565156356944963729374282020437113446776150460886987975357972338558499849807694266374337953516767027259652992711652215738233777510087905455201351568023564770435997751662533976115512751577683581061732455795728491545324446991916607978856804495905437373874448879617183989261859673171128801425593358036137328475149619859372866057071847231738256898556060295166532479990998719483772881277704059395494689291776553828919464055099218847212136667254839506487506906254853471667723847773756526979722691042759262598212271807222548167383842541300026699016374208942179894960275619028640513629379330363024603567832915198470209598721430579630255150766647835037292285147160515303566908529614667589279479335737564743278112044389463991210056258917661328404986072554658455685125169764586106641963173352080166792213592713627513210529579806849880107131035422034363437126555157264822152838722105332372237145965928913663963466254903643857154598478195836816055317307807354998225533622297156686791583141051214080315807770226366563265635069426719292085022018730872931769245001148102754129688285467398794462443983618445950166919429123524070038646937091956535429585199105917479295118843207740246691041435376109557373157385554615342177250783316208038161791326899199033985170000940412242645550031347242240982612333380847771376242484545826983218398798818867899227533255758026019900061155112822542540428143791973490572659834377125294607514420267270081337442258446021265124549039974002219743481237409442903762153631672250408569842864826215760203745795856953431531389508054529511947491120113957220789882509702678680019095610754965204477796381717005871590112666855137587605811373549581660578353450159804650464776548701234386240167022093986300090325852537715475494212903302783152021366925567967112830230854021266777411192180701299330393326404169953582686896895613879497357929943003180001819841228928039788521685897315737506550770419701547407851583751874597136071059799828513381591152426480881525179391735295206334766112541924579674869539842304182585460141672623276483893802087804692746502636966727616435975491023651481126717182479796063750783160773744074386859856566217328198768986545649069979618406491058882520622882772484575412472072826119789940597221816872224044949256230445739079274211105842400388106640531901700186456242967270707694029955583242284047967475154784777946323752125881475995637714267270264156545984396514578760099943791940008237268422091546748167031780192477842680658507890123326853470858921239341701856351611688399745135210096018026204307700879645688576058895352919914970834389390093458000799326643958191027025832110093317567562488333492948759111266851925881437275301272911353575266173319473881621434029172556140176477602578320085320807866579752487339685932291492945409416875301680066305647194073474614327855820322902107979570435731830038319750446113962822321500724595427957709849584248748060939495364228793855304576721596090515803037996737359873946462745718831171996995527091307651913386811024010686357793201790724086825064299247511147565700942457979066234975282076762305324705271355148169317814363637511731078483642024183768176887620622294398424588017677469303311724055068489780327412295268644502277553211235724349203479804763997599498798789375273234979032469683729921440792984936574872554709652837240661810531112995646990479257555435253925451987622211767384761907539405607593107963178980765186451053117331726561230882163337837037612976973344070836345608256547869117318018578 288592543185250612589434124203419565478241457250635752353676598607358290584078953207003328188462886741628335298949860217165721066716691552230344895594764859977745817606652757120507401828524971112728573408942978762317523751455417718024171799110070032120966754880943985778065210876597879769628541554459596894272648362126752660008955104734308639122918474943827307041245796485926167778776217943921292830879280069290447007161524215354840663796639472425931984676627160195405956086337238912414552553391982746724161546125250518295640337199896451744472902136206325566852719237600531339083875204991378612724270537230488496644944118359463438090179625846229703544107976534872152633568969520030621255296228395556612148924072838799283558382148035491967062397874612089541452515118570362346932614209792428272570471556454262178445768829472199224980090997702169863691874484930747235232803402072081314400467023072111087936984841229861779461960899417962974511719277192218659263201819986631634117185710643499923751372182891754894160571523771090074028212620069478767071757285464471218516178940958946520226405965095130120508263021930902819894720035820367044936011749938851264836682174037956770494335570272402654522602003003362554976028082487736107987639968780045141046048284293585157427581066829601798235546435365385263821792876558720507065774374181299947882424332467732688011876843470267062708373166967549317169158955487526816734730004993654763047858493327214879465129957267878325776497540047738117932891449238018817856075494695032756130689011342801693129938211982288615016600006086600778554081896699036474941800332046801406437720351235796768925780425802968972839981774939196015388830047701273333316149041740886574608753280017072429668223822301857423306530164888820410239942683149535793080988124858494872071060497033898260955617985472985161825217855444850370203094949188054295834537819384865158061121970744903428953948492645980301238008243259035947872604605934293241747900597338023954458631428936539936623264882158200239484264037420022480331689199281993327468534141575180953897660893577210762270207987888985695407643312869479200602864177818782831363395808239032764224320049085098949696039027592079600235265956763884452303281032147676792843124755271390920319175736749279235980294337637242781546772831118546689307324240834196955377132597148746732290888691854348203250994882888832054401531208017773519373602618786406058882726192174929054845211275496612620427044379949715942601078968007974218400167355100166054802196827787593975039090934088480008111739134212896320028382382423201386516633244217583808392668207358830543931461392138245003010912553498906544958843286818976464748249874438138154857252168180559282553324398805920007862371916557058311031791920408852132200815401719867258320695227949433882577413611896156726146670951718519251379342418041126660451797417709248355543423786394332114794950449903590919842143128148959264477833972635981482581245021493411477374413791426303611606886496307440798506783325027686558339886986079102863020860704834135176818381358798110770147760004774826961460981701815470074952354612132458666787437971629993788337657948863602690685343009187283593289402498651049215597628585000120437344032774251833823277328350890685909784118999788581808262236581971335005875952631803304229111444445355049358929610818874056734905031309951058466230226862443193677692950198804059276816262824123617904515763986608316571871084386901473346578467813315616165272924931544442823763479911079964844271487967815143852678350803711667155507623977340930961571248339053679182651431857132495750677979496581721903415459230511538597467825121592275232390222312561089839717182434457871841128212263493459411429109784362745643586196890461226180684551779554750980111264325139139312272410778298095219065108143586802634183042466132508712888180465226563640804656860424216029 466952543773507332832404281449606004348127531999174242204033249594756904027735580863810912646792035341865950800042117154042799197177491291566471247436203322852184512370698518206563399762896612703133689970190576210390260399111009771144912129436917363139692083289578402902409102234284061080025793739790731605640524319102174613775307083643092919323656004248304070692094465114059663343932574888885022205161300506403893783311985102342816021768978030925781792370893534533359472853364498565407264205607720980501671634030705719647208360764666887742224564670182441079604296921181593071539670933482923937171262453838467353449440023796837312539059243030218965403781147663673578226927005657359096404916087768422669220771304577056182114442443202024447053396594095862422730219177965857036224390763621347736625570775301474315113023668978686731886345851173837587539648241457726957923846161334679526672274245620278471779526141256560795836169841597857934787338305832732288642532183011235201950100909113709522472802762522010044927219358808382359175373135373045675601371953053750697851916505702224632270795429086340176767180683259307805967274694276052170105776336045493228010034254204748984087049197785613184102408852883469686011450116851173234542797233602197979768153616665822303393509980493565264490450079222539862299988713374775824373581729179525481504721489154524271152928057550582870478599533530814952238585674779611838753460877925424008049006596081344567750597356062340769760115985997905037362014973308057464793167451230462341329794928822096811973145952228979656451976115643973935939636512041213725725116540084963197764619550269781938926720838045614522871329017180178627722210895472649575800694868724104973407572147916299962923981848321757484461642987431360838383734656640108452915365250153102386491327767115235703214064006738109710865191857664593851440504392091816449466210069793435000925948186505107174749805446077511690746062772770983438992718563155083124257603276018043050069386394141017733004981888029790352151119175007628291705238780942571680918693946225645730446362127963450929292301974189076021260181028344973413506166960970804198288963775351862995078341315862510141876740326922472926639435910346571349198894911645034722786127935273210761548103776537800921877610075143793551966474378526398273059198837970268015176961110530337884717369573379527594986290089223598166943455787692643059215906801371866200555349468658822856933015968243115257393771996385691433624730449134691400879963418850949215575940902174453831605308262287248994657388204192514726519441264943824269289117819630055881218787997299427765748333616183194259241358292578180756064685687207083105280151574624594397824522875874589238136566682853887483017156694503382063157673396404489846468085665876413242717209806709533826369353620133425148238217699885551031571820260721785168341920744562719214464663128096188466406638849648726129938161154353266965357479661212040377934164936464245866764507249427102938250844687334466630616876642595249046673379934838214129872786586271410478091292712373376943467233886396260990633537841991947677530674697453266533367190458969679720629150894273019565987023075492930787362877112978905035920530692979690873075862812571584269391291173212186634379546957498431392510984642910830370104746487107880950707534961158087355666970692820519480623862481948053993321534514356580488716960885161852478606986910948682203763275134174017514329063453136448628655230118640321436628073100862257187400991642158448486295671735992031473300645202136255173185093280652655016639738119381091477920076359410048961913703845785201708179456830010337386843098356571307702073952234001882824653757307012581493965452925303990524424756774842003199021450815913213802896319164316658519516871918247102491253175964749148336396834704817684797520879503745485686232251301572171897352525977742234607 755545086958757945421838405653025569826368989249809994557709848202115194611814534070814240835254922083494286098991977371208520263894182843796816143030968182829930329977351275327070801591421583815862263379133554972707784150566427489169083928546987395260658838170522388680474313110881940849654335294250328499913172681228927273784262188377401558446574479192131377733340261599985831122708792832806315036040580575694340790473509317697656685565617503351713777047520694728765428939701737477821816758999703727225833180155956237942848697964563339486697466806388766646457016158782124410623546138474302549895532991068955850094384142156300750629238868876448668947889124198545730860495975177389717660212316163979281369695377415855465672824591237516414115794468707951964182734296536219383157004973413776009196042331755736493558792498450885956866436848876007451231522726388474193156649563406760841072741268692389559716510982486422575298130741015820909299057583024950947905734002997866836067286619757209446224174945413764939087790882579472433203585755442524442673129238518221916368095446661171152497201394181470297275443705190210625861994730096419215041788085984344492846716428242705754581384768058015838625010855886832240987478199338909342530437202382243120814201900959407460821091047323167062725996514587925126121781589933496331439356103360825429387145821622256959164804901020849933186972700498364269407744630267138655488190882919078771096865089408559447215727313330219095536613526045643155294906422546076282649242945925495097460483940164898505103084164211268271468576121730574714493718408740250200666916872131764604202339901505578707852501263848583495711310792119374643111040943173922909116843910464991548016325427933372392592205670623614907768173152320181248623677339789644245996353375011597258562388264149133964169681992211094872690409713109444221643599341279870745300747889178300158987070157250010603703753938723491991984071016030019386865323169089376366005503873356067004528017823077557669628246770187990591635383212427650772036927980224565008387228087800826684344023021540661691562509962078061716667824341214452614109031138789587029652359583590895759302661364947609091572779354514552526874701867110455801502175943792711515629252690544601681867279513287080157857904412781036333513247209644944962366523078804464970554093707679084617008258265233875798237284972112430221344986995710416578589509420158272259438075660833751911778227243739727877820816376335407376225809417142665619280130773951115270378137729962047806644399196375729002769127338405411046547823647367025655805751063847639689611456204658258309679795008321439262252270846077087301023528974026059570028401449062732552681775044055148520689891081659807490879528611060440374189465316813341978668901067596280501037905034658967708946767232029581874384888651604070282951162678762911828793718162271967570008086914490520581201589299552317049780304282502226229835313633848021860515409957957657344138921040853406549857731183641907429123659967622935605013266920917316992893647291105545654909674071171487713614993891171087952094519543807417752483029309585725200154628430599673508966808843136622256672366084680214380652279611629954251518159277979811310419895586823418092668619524102872544163665957287013200773221224882165375980699118911185179818979406513136714596581511694576215528893791899112459551761376799774166409911083965911755423249735072300108279039120782334086200147840037921975233697931955937601900998032406700011164471553238413330567159703807175325978996005847922328692717257993585978210986458434770660571508216542544712591683342366923611594916060521875984310923478163582934464174546562972664370939741470453335093665188797449935853866559204748842607647706374439983580870943871409499628136243386241803525586743047243555461942848404487431703921969877994399120431766798735538157182838166450636 1222497630732265278254242687102631574174496521248984236761743097796872098639550114934625153482046957425360236899034094525251319461071674135363287390467171505682114842348049793533634201354318196518995953349324131183098044549677437260313996057983904758400350921460100791582883415345166001929680129034041060105553697000331101887559569272020494477770230483440435448425434726714045494466641367721691337241201881082098234573785494420040472707334595534277495569418414229262124901793066236043229080964607424707727504814186661957590057058729230227228922031476571207726061313079963717482163217071957226487066795444907423203543824165953138063168298111906667634351670271862219309087422980834748814065128403932401950590466681992911647787267034439540861169191062803814386912953474502076419381395737035123745821613107057210808671816167429572688752782700049845038771170967846201151080495724741440367745015514312668031496037123742983371134300582613678844086395888857683236548266186009102038017387528870918968696977707935774984015010241387854792378958890815570118274501191571972614220011952363395784767996823267810474042624388449518431829269424372471385147564422029837720856750682447454738668433965843629022727419708770301926998928316190082577073234435984441100582355517625229764214601027816732327216446593810464988421770303308272155812937832540350910891867310776781230317732958571432803665572234029179221646330305046750494241651760844502779145871685489904014966324669392559865296729512043548192656921395854133747442410397155957438790278868986995317076230116440247927920552237374548650433354920781463926392033412216727801966959451775360646779222101894198018582639809299553270833251838646572484917538779189096521423897575849672355516187518945372392229816139751542087007411996429752698911718625164699645053716031264369667383745998949204583555601570774038073084103733371687194766957958971735159913018343755117778453559384801003682730133788801002825858041732244459490263107149374110054597404217218575402633228658217780943786502387435279063742166761167136689305922034026472414790385149504112620854811936267137737928005369559426027615198099760391227941323358942758754381002680810119233449519681437025453514137777457027150701070855437746238415380625817812443415383289824881079735514487924829885479721588171343235425721916774732985731054818209422501725627838613403393223575061336028388288442783403059637805416221530138459993425129492574768711243211982843135214588372721098809850539866277357020160094192802064485954078632136501638249707458662977997426515542597925773067264912310849925094868883477695570830244201957686075428128624504633521493629138655268057088214661233142675308553023687326950506297919929737758826457764513694973896685305563822437347138713217831825136986733472693743755114841368501535316120852163007022623106351489621314522982939484696997135638906834686784472750042586709047608228149201043179718465436855493195192793295060062238449574894421903210903428290280509488108575870976374059740536610218184651686646855755531122766433877376956133000966783544864657082227777567348942728057385799365430013704007038991733521818889569353229595959737409641822659389160173145168015156724608859287438689970959502183495758399395002362059910697315059178543212914785444593284205867792995746085445606019066130526514367671224070263552204515095696152756273847166452873295891156354655126871969127764234030236646020982312042314254956351600529211293174370603888928050596259038529071133268957198565463195396861816862831439799206799279641207984177501877810538646240994850724577815862138491584575952593674505387188152125319774372890532213371154021834734890636538126780564855489024697048483034829059118114101440460278623334046752041629098522287653786477190108188068019145008161633344294778762707796391891858777553222172229224801473623480085352683068370907435509708815908685243 1978042717691023223676081092755657144000865510498794231319452945998987293251364649005439394317301879508854522998026071896459839724965856979160103533498139688512045172325401068860705002945739780334858216728457686155805828700243864749483079986530892153661009759630623180263357728456047942779334464328291388605466869681560029161343831460397896036216804962632566826158774988314031325589350160554497652277242461657792575364259003737738129392900213037629209346465934923990890330732767973521050897723607128434953337994342618195532905756693793566715619498282959974372518329238745841892786763210431529036962328435976379053638208308109438813797536980783116303299559396060765039947918956012138531725340720096381231960162059408767113460091625677057275284985531511766351095687771038295802538400710448899755017655438812947302230608665880458645619219548925852490002693694234675344237145288148201208817756783005057591212548106229405946432431323629499753385453471882634184454000189006968874084674148628128414921152653349539923102801123967327225582544646258094560947630430090194530588107399024566937265198217449280771318068093639729057691264154468890600189352508014182213703467110690160493249818733901644861352430564657134167986406515528991919603671638366684221396557418584637225035692075139899389942443108398390114543551893241768487252293935901176340279013132399038189482537859592282736852544934527543491054074935313889149729842643763581550242736774898463462182051982722778960833343038089191347951827818400210030091653343081452536250762809151893822179314280651516199389128359105123364927073329521714127058950284348492406169299353280939354631723365742781514293950601418927913944292781820495394034382689654088069440223003783044748108393189568987299997989292071723335631089336219396944908072000176296903616104295413503631553427991160299456246011283883482294727703074651557940067705848150035318900088501005128382157313323524495674714204804831022212723364901333835856268611022730177059125422040296133072261475428405771535421885599862929835779094741391701697693150121827299099134408171044774312417321898345199454595829710773878641724229238549978257593682942533654513683664045757728325022299035951577980388839644567482952203246799230457754044633316362414125282662803111961237593418900705866218992968797816288197792244995579197956285148525888507118733886103847279191460860033448458609633429779113476216394925641688410719431500790326326680489470455722571013035404749056506186076349283420022639440224966753179756332216362098549444894106655038707000195642881003336819615088559677875580900619947325335260441700406615944385107923632826072783745899984732355358111743635259202245336954472750059503188072963984886279516348846173502464776213916624262811536604030031173803805887801068974244793019876027469244262888084192588897007995003093691597474145618247608825929357069106654354480836957077229628809817448753360229498769719357719425028106928908084098964984852379560555042349331133916037966307054618281488864196577841120256699913776672848115660081168482501787910640854716352370697221668738436894822576929606783182496733316624716933676447320169026738562768580546264079331755244853359548667436336238813538956849248939313493915653986218420454728530221417931722706878872072457794057427092675161122066144724930251310345493774184360784860133716209671911681650065746278912425057267956128821536783053093675989453486381093282420321353375738685686729359133212292579122625982552196640430069165675657209729934748635275147429991143606382125258637213832099830570527796639826973061711036250632799063092792495138387097070530519048931369288951054089355464945312898473571002301327127828153395636789953488164152783302898890396132489893251500884236746228662093770058061052059477518773144405019586098304349450843635447320720401626659660928723443501474484473114835169642973666891654075135879 3200540348423288501930323779858288718175362031747778468081196043795859391890914763940064547799348836934214759897060166421711159186037531114523390923965311194194160014673450862394339204300057976853854170077781817338903873249921302009797076044514796912061360681090723971846241143801213944709014593362332448711020566681891131048903400732418390513987035446073002274584209715028076820055991528276188989518444342739890809938044498157778602100234808571906704915884349153253015232525834209564279978688214553142680842808529280153122962815423023793944541529759531182098579642318709559374949980282388755524029123880883802257182032474062576876965835092689783937651229667922984349035341936846887345790469124028783182550628741401678761247358660116598136454176594315580738008641245540372221919796447484023500839268545870158110902424833310031334372002248975697528773864662080876495317641012889641576562772297317725622708585229972389317566731906243178597471849360740317421002266375016070912102061677499047383618130361285314907117811365355182017961503537073664679222131621662167144808119351387962722033195040717091245360692482089247489520533578841361985336916930044019934560217793137615231918252699745273884079850273427436094985334831719074496676906074351125321978912936209866989250293102956631717158889702208855102965322196550040643065231768441527251170880443175819419800270818163715540518117168556722712700405240360639643971494404608084329388608460388367477148376652115338826130072550132739540608749214254343777534063740237409975041041678138889139255544397091764127309680596479672015360428250303178053450983696565220208136258805056300001410945467636979532876590410718481184777544620467067878951921468843184590864120579632717103624580708514359692227805431823265422638501332649149643819790625340996548669820326677873298937173990109504039801612854657520367811806808023245134834663807121770478813106844760246160610872708325499357444338593632025038581406633578295346531718172104287113722826257514708474894704086623552479208387987298208899521261502558838386999072155853771513924793320548886933272133834612337192523835080333304669339427338310369485535006301476413268064666726567847558471818717388603433902977422024510102904317654668203992460013942180226568698046092936842317328933388630696104472690385987631433217966912353930942016203344097929620459513942460682584684435094784486997921872562516535854200341863218549179424925919818901449200713667705414148249993121777604995926889149697379659600319159555244242286294994235051083143814113701684997622158423601262592682353471988725505995488830803030831271944608573630460536052257330706305239529123387623415199958296492344920645507496437386453694370883914624038342806610687197438672899222188085248883742743249005628942874534541667988548134717395970779579008936355595919631101354583312911997128557732305823064995975941341138953586999663938676418045597954403409217235156213212620220900223968146337414559746801463765945777621414425526074882925594655548604733188059304908386560632428379238426515045859457920911607638261217027779449446305785837550634315406148612510437323663708667198266209738379968158728317955905901991144405026504716682593060847672826395539219898815677411412385613422816788440918732990901250091786857902387341632960468156868151590330949317440872008141855584855123685920724767607834406339593445365298353159112483476663655022221440223483723027114264732363667630695037287258570426386663183011554033148455678959140298944614408295397944032136964292822583405588924538278421816277332448338335286067967912435614066494937554677368447732061602457718671174251143661841586302726618967147633364207540428107692683642420333838436522993211901417000330856411113227298252925865844750949747556535251160247545537918152566652930393083112158640027339179497954848831890153524917124954569825797903540550409176600469983821122 5178583066114311725606404872613945862176227542246572699400648989794846685142279412945503942116650716443069282895086238318170998911003388093683494457463450882706205186998851931255044207245797757188712386806239503494709701950165166759280156031045689065722370440721347152109598872257261887488349057690623837316487436363451160210247232192816286550203840408705569100742984703342108145645341688830686641795686804397683385302303501895516731493135021609535914262350284077243905563258602183085330876411821681577634180802871898348655868572116817360660161028042491156471097971557455401267736743492820284560991452316860181310820240782172015690763372073472900240950789063983749388983260892859025877515809844125164414510790800810445874707450285793655411739162125827347089104329016578668024458197157932923255856923984683105413133033499190489979991221797901550018776558356315551839554786301037842785380529080322783213921133336201795263999163229872678350857302832622951605456266564023039786186735826127175798539283014634854830220612489322509243544048183331759240169762051752361675396226750412529659298393258166372016678760575728976547211797733310252585526269438058202148263684903827775725168071433646918745432280838084570262971741347248066416280577712717809543375470354794504214285985178096531107101332810607245217508874089791809130317525704342703591449893575574857609282808677755998277370662103084266203754480175674528793701337048371665879631345235286830939330428634838117786963415588221930888560577032654553807625717083318862511291804487290782961434858677743280326698808955584795380287501579824892180509933980913712614305558158337239356042668833379761047170541012137409098721837402287563272986304158497272660304343583415761851732973898083346992225794723894988758269590668868546588727862625517293452285924622091376930490601981269803496047624138541002662539509882674803074902369655271805797713195345765374542768186031849995032158543398463047251304771534912131202800329194834464172848248297810841547156179515029324014630273587161138735300356243950540084692222277681070613059201491593661245689455732957536647119664791107183311063656576860347743128689244010067781748330772325575883494117753340181414291817066591993055107564453898661746504647258542640693980708896048803554922352289336562323465659183803919631010211907933128898301351869986436739193400046307961776145295128232945607555302341630012070595267504906959898856426710145228129690184123427985161285397870834111182003238433117402299040544126308423998618511356333600528037920768740391997817801304604599412297442031666601086896108778128366091713645015189574845643975890156779088985429108119978773311701931751547165982461969187445956882443847899510317859155456860699903449113138812348060420346773280179432748762335610642233341154593423440023841897020548184816639096357677004509471274175979914648994353045047995493434423956741168305227863046707763638716004875570932045249007152876230436379544599181024320988126952548341564041189980212937037468929765900425165086474409101227354086596214341959708822248492977569398476671115044222732373211245012931795007170640288425600874713529907406706721496898502169981322899649879864265350029397086486365352388468838129171327066371831843271516971140150922623956970658930360181399060053143317990217735055879568751217501916039945639983819636934439519516056405339724277723410427068612298200438075315116212937209408207547152685021006433722973987929559598955762134180015700652319389209464620271618025332692667412111722813727011971049796915635648377163018866131925894940974146650317127736617770160942870448699528249190223182512950792640392082083912460531837778542729434820511795815970628390011157364684719899221252543603120549753810102590979611841326593312212307023056691296971672516491387461609483662786500218356475491551082248360626429054298912738710193382843492124058957001 8379123414537600227536728652472234580351589573994351167481845033590706077033194176885568489915999553377284042792146404739882158097040919208206885381428762076900365201672302793649383411545855734042566556884021320833613575200086468769077232075560485977783731121812071123955840016058475832197363651052956286027508003045342291259150632925234677064190875854778571375327194418370184965701333217106875631314131147137574195240348000053295333593369830181442619178234633230496920795784436392649610855100036234720315023611401178501778831387539841154604702557802022338569677613876164960642686723775209040085020576197743983568002273256234592567729207166162684178602018731906733738018602829705913223306278968153947597061419542212124635954808945910253548193338720142927827112970262119040246377993605416946756696192530553263524035458332500521314363224046877247547550423018396428334872427313927484361943301377640508836629718566174184581565895136115856948329152193363269026458532939039110698288797503626223182157413375920169737338423854677691261505551720405423919391893673414528820204346101800492381331588298883463262039453057818224036732331312151614570863186368102222082823902696965390957086324133392192629512131111512006357957076178967140912957483787068934865354383291004371203536278281053162824260222512816100320474196286341849773382757472784230842620774018750677029083079495919713817888779271640988916454885416035168437672831452979750209019953695675198416478805286953456613093488138354670429169326246908897585159780823556272486332846165429672100690403074835044454008489552064467395647929830128070233960917677478932822441816963393539357453614301016740580047131422855890283499382022754631151938225627340457251168464163048478955357554606597706684453600155718254180908092001517696232547653250858290000955744948769250229427775971379307535849236993198523030351316690698048209737033462393576276526302190525620703379058740175494389602881992095072289886178168490426549332047366938751286571074555325550022050883601652876493838661574459347634821617746509378471691294433534842126983994812142548178961589567569873839643499871440487980403083915170717228663695545486481049812997498893423441965936470728784848194794488616503158011882108566865738964661200722867262678754988985645872251285677967258427938349569791551064228178820287059840317555214084366359652913988768644360829730223017432605477174904146547924795609368125509078281352629964129578890897791133399309535390992611716177930127582814781958640863285863668240904806350568651611181734882442076995439959728205862004979795503655326592891597608931396922985589623763205306180028147487485394224958231507602188511660228243892086627969465624832410576814731814134356201962067547897342122012361000433309304089516529185061691636870152310221889289310819410803420905956903780736270197712260317421468402733712220472059349020989336632388010956405106981645908644662167047933240031784144665469907376844376773794104345982488086933904573962767090116072905807592586073662953959730073473035041529606592513111260201417629733856131238786426256120561350008569923845560419080407517607963952134268072979739645786674880225216458075883314044054906368982032622457934159191747927688736944848738478757445266088305412058883913525207062445788262568740693013611474858369325386828886192089510057895530495107505557659207127350462744933169643021763586181095774864093097536556436420932435321811885048688637128760261246499985985618945145734048849107998348349763564886026320730636699549076015636310417559974335194057464654495467204467211962908886582264383622674172447529390602510301985967861397433656612634226694808702879608165201986083157542513195438236304466826534150576586136899552108954716347848006735968435730561588883128563372554568594609449538325446884470573768123690125679716311324323441235773277751383624124710642250743792020092594042778123 13557706480651911953143133525086180442527817116240923866882494023385552762175473589831072432032650269820353325687232643058053157008044307301890379838892212959606570388671154724904427618791653491231278943690260824328323277150251635528357388106606175043506101562533418276065438888315737719685712708743580123343995439408793451469397865118050963614394716263484140476070179121712293111346674905937562273109817951535257580542651501948812065086504851790978533440584917307740826359043038575734941731511857916297949204414273076850434699959656658515264863585844513495040775585433620361910423467268029324646012028514604164878822514038406608258492579239635584419552807795890483127001863722564939100822088812279112011572210343022570510662259231703908959932500845970274916217299278697708270836190763349870012553116515236368937168491831691011294354445844778797566326981374711980174427213614965327147323830457963292050550851902375979845565058365988535299186455025986220631914799503062150484475533329753398980696696390555024567559036344000200505049599903737183159561655725166890495600572852213022040629981557049835278718213633547200583944129045461867156389455806160424231087587600793166682254395567039111374944411949596576620928817526215207329238061499786744408729853645798875417822263459149693931361555323423345537983070376133658903700283177126934434070667594325534638365888173675712095259441374725255120209365591709697231374168501351416088651298930962029355809233921791574400056903726576601317729903279563451392785497906875134997624650652720455062125261752578324780707298507649262775935431409952962414470851658392645436747375121730778713496283134396501627217672434993299382221219425042194424924529785837729911472807746464240807090528504681053676679394879613242939177682670386242821275515876375583453241669570860627159918377952649111031896861131739525692890826573372851284639403117665382074239497536290995246147244772025489421761425390558119541190949703402557752132376561773215459419322853136391569207063116682200508468935161620486370121973990459918556383516711215912740043196303736209424651045300527410486763164662547671291466740492031064971792384789496548831561328271218999325460054224068966262486611555208496213119446562465527485469308459265507956659463885034449427173637967303820751404008753595470695238390728220188738618907084070803098846314035076606136975025351250378213032477245776559995390876873032468977137779340109357708581081914561384470820788863445827359933366015932184257681407412172092239523317706902252139219655651182468993257761032810461417277237535321927679787706387059763014699234638952780151824004037644264483210387339627580961823362159995439252610431434812278367459258579713644674061117524408597245571125499812781369724436289809364494440399205762952455230443904242850827262802977451965552909294069937321930939676909692135121053702066037332125822434913146275286873771691369930686649244907355076710718914529720607210173648945163512407922031526511108654157262886020529623542592719860155238559509450630833946599707474543377338556104624216355824732791676394231302297056805432012202524778604240559868947693269553193381601722114960245864636943704786233247382651855020645557100316157575074020065545129277109359822383199034836149164033104718622750139753066754792848587060442708454943307011973935476135091325194593646646866519150272893920745174013249708073064531172851672649358141843529359037733709643562483235234429545584574707279914064549760317737559228185157644346063329366961187738450037429531024132109693113031658486070599137857849860728914700750410790217690333472959001514217051620616169563426867086890786792068697039764625886977333707234052275095216545307941270856798773361498319468397760546071026710173430209721875584861591651300746509997963375858035377607352912179934667799814992318021638377812678423623380960937174863584718101735124 21936829895189512180679862177558415022879406690235275034364339056976258839208667766716640921948649823197637368479379047797935315105085226510097265220320975036506935590343457518553811030337509225273845500574282145161936852350338104297434620182166661021289832684345489400021278904374213551883076359796536409371503442454135742728548498043285640678585592118262711851397373540082478077048008123044437904423949098672831775782999502002107398679874681972421152618819550538237747154827474968384552586611894151018264228025674255352213531347196499669869566143646535833610453199309785322553110191043238364731032604712348148446824787294641200826221786405798268598154826527797216865020466552270852324128367780433059608633629885234695146617068177614162508125839566113202743330269540816748517214184368766816769249309045789632461203950164191532608717669891656045113877404393108408509299640928892811509267131835603800887180570468550164427130953502104392247515607219349489658373332442101261182764330833379622162854109766475194304897460198677891766555151624142607078953549398581419315804918954013514421961569855933298540757666691365424620676460357613481727252642174262646313911490297758557639340719700431304004456543061108582978885893705182348242195545286855679274084236936803246621358541740202856755621777836239445858457266662475508677083040649911165276691441613076211667448967669595425913148220646366244036664251007744865669046999954331166297671252626637227772288039208745031013150391864931271746899229526472348977945278730431407483957496818150127162815664827413369234715788059713730171583361240081032648431769335871578259189192085124318070949897435413242207264803857849189665720601447796825576862755413178187162641271909512719762448083111278760361132995035331497120085774671903939053823169127233873454197414519629877389346153924028418567746098124938048723242143264070899494376436580058958350765799726816615949526303512200983811364307382653191831077127871892984301464423928711966745990397408461941591257946718335077002307596736079834004943591736969297028074811144750754867027191115878757603612634868097284326406664533988159271869824407201782200456080334983029881374325770112422767425990694797751110681406043824999371131328671032393224433969659988375219338218874020095299424923645271079179342358323387021759466569548507248578936462298155169458499228023845250497804755574267810818509652149923107920186486241157978055419131970073487287471979705694783780356179856057543537863493598746966216322270698035760480428124057470903750401390533624545988697720761016323422257033038977254272679303995991159937684824262715985458004032185131749877435345571135183150335022388239331339238400900437110778036073311527779030263079591956494587693137860813214679028525806338549556132036075915262677119733215062261630683708934355746289179491782197639352408079643404355593113051087026668758210445869551382268519680336032097734582484939139221376188821906564983983967753291146000494855936100473875744273335791828122209616255673819885312032544492160440539112818734744794968289960755455142250988912237744239872220902365851092610042386568192694137020673009198980056481947331418321747950987759692602229415274312954804748848243846312018868804023886722375448127795257918749674371095550506885318880446080366267706956385829537341135396522031831006630198830752252853774216981895206063563766937599430803847928624270388229085779074278851170922782398280691243496480929531570193652425648113398868316085908991750043670666793966066510263754086347847090998467303750577686153953275066349820758747311179084373084962665219724075469303500184913018049826176061093781699489671676862241750709044519846902672288579562043079458517856993698325470453035816245767282039462440735019092850438957416160245910196048323410260328609145731043037859650979124138433553794916129196302548334023211680966883677312144513247 35494536375841424133822995702644595465407223806476198901246833080361811601384141356547713353981300093017990694166611690855988472113129533811987645059213187996113505979014612243458238649129162716505124444264542969490260129500589739825792008288772836064795934246878907676086717792689951271568789068540116532715498881862929194197946363161336604292980308381746852327467552661794771188394683028982000177533767050208089356325651003950919463766379533763399686059404467845978573513870513544119494318123752067316213432439947332202648231306853158185134429729491049328651228784743405684463533658311267689377044633226952313325647301333047809084714365645433853017707634323687699992022330274835791424950456592712171620205840228257265657279327409318071468058340412083477659547568819514456788050375132116686781802425561026001398372441995882543903072115736434842680204385767820388683726854543858138656590962293567092937731422370926144272696011868092927546702062245335710290288131945163411667239864163133021143550806157030218872456496542678092271604751527879790238515205123748309811405491806226536462591551412983133819475880324912625204620589403075348883642097980423070544999077898551724321595115267470415379400955010705159599814711231397555571433606786642423682814090582602122039180805199352550686983333159662791396440337038609167580783323827038099710762109207401746305814855843271138008407662021091499156873616599454562900421168455682582386322551557599257128097273130536605413207295591507873064629132806035800370730776637306542481582147470870582224940926579991694015423086567362992947518792650033995062902620994264223695936567206855096784446180569809743834482476292842489047941820872839020001787285199015917074114079655976960569538611615959814037812389914944740059263457342290181875098685003609456907439084090490504549264531876677529599642959256677574416132969837443750779015839697724340425005297263107611195673548284226473233125732773211311372268077575295542053596800490485182205409720261598333160465009835017277510776531897700320375065565727429215584458327855966667607070387419614967028263680168624694813169829196535830563336564899232847172248465124479578712935654041331422092886044918866717373168017599033495584250775233497920709903278119253883175997682759054544726598561612574899930746367076982492454704960276727437317555369382225972557345542058921856634779780925518189031542129395699667915577363114190447032556911310182844996053061620256168251176968719503370897796859614679150474003678110207852719951441764373155889621046184807014981955481793826784839534270574299181952467010383050922952384058901668765609828036222776014360645732910762764112158384548234770591848832335249389145495331891241423704324197116365091833264263360625996048752962096147914050572435281678215132350177119305112457946511911807711842088785852134961283347756553096490714166753153064000884032880782697657555393452027402028421231729846494298086907736436285591194141402236309512902777967626984984398430598677848651833158848393680040550592053942791274485712526209288172306846065379671498075721703914138471174517959171283104812567165172433254005968366278752173438083669446378567612587931464478835476797926167975450305948560003887092888869569015999484807950178456953585823535128655225508069020199147121060555543446272245796078703534005766482765290155946846500421083501045478957484512111612680511920993155443239901735137216122380529960516107924253726731715359077154768359705562177948628633823468219935201315012857295433471451492536385276622022599413443690717812439345665487678608608040093785123495752882910057548428305014401964638665995739487960868590276463745559281515334931497180609906340854657259624766459127850497098831951355284643527828110489150908449302572314542277751897210942558321373636186644523338395950039585646923953425871816554507008980971957404172618141747262030246248371 57431366271030936314502857880203010488286630496711473935611172137338070440592809123264354275929949916215628062645990738653923787218214760322084910279534163032620441569358069762012049679466671941778969944838825114652196981850927844123226628470939497086085766931224397076107996697064164823451865428336652942087002324317064936926494861204622244971565900500009564178864926201877249265442691152026438081957716148880921132108650505953026862446254215735820838678224018384216320668697988512504046904735646218334477660465621587554861762654049657855003995873137585162261681984053191007016643849354506054108077237939300461772472088627689009910936152051232121615862460851484916857042796827106643749078824373145231228839470113491960803896395586932233976184179978196680402877838360331205305264559500883503551051734606815633859576392160074076511789785628090887794081790160928797193026495472750950165858094129170893824911992839476308699826965370197319794217669464685199948661464387264672850004194996512643306404915923505413177353956741355984038159903152022397317468754522329729127210410760240050884553121268916432360233547016278049825297049760688830610894740154685716858910568196310281960935834967901719383857498071813742578700604936579903813629152073498102956898327519405368660539346939555407442605110995902237254897603701084676257866364476949264987453550820477957973263823512866563921555882667457743193537867607199428569468168410013748683993804184236484900385312339281636426357687456439144811528362332508149348676055367737949965539644289020709387756591407405063250138874627076723119102153890115027711334390330135801955125759291979414855396078005222986041747280150691678713662422320635845578650040612194104236755351565489680331986694727238574398945384950276237179349232014194120928921854130843330361636498610120381938610685800705948167389057381615623139375113101514650273392276277783298775771096989924227145199851796427457044490040155864503203345205447188526355061224419197148951400117670060274751722956553352354513084128633780154380009157464398512612533139000717422474097578535493724631876315036721979139576493730523989835206389306434629372704545459462608594309979811443844860312035613664468483849423642858494955382103904530313934337247779242258395335901633074640026023485257845979110088725400369514214171529825234685896491831680381142015844770082767107132584536499785999850051781545622775835763849355348425087976043280256332283525041325950952031533148575560914435660353213426116690325948808243613200379565821844059640022436718431560970653202554843108261791303613276436225146314379042082890068883164384751067832068407907764238081078481897947262493406936474101931087233235686499923531405202769202734587276708321586420957401221439210727781487902486463606704471357593477809469910334367374088630220846163458131268277634332600635755836196500846307279804240090669642243326652249039823913132363434126155814214785633519463096558342850575178109155527455513397633903727458860142703934469676774042775104067499925862624598434951715024825344944032967275136026135126640326710616151882711046738861537134197422609551740625948142989039287951153494565616777796889360538919224171437706213200480930255054796803850199111757673592902721860256077973714872335497906224205732393387900645227487328262499832101783137214100056037597489395488986699099354195300482940685021048279049212111315768921779713628130820916290401231700883298506204944970228196288608724962012131210291347496949909377211685244985679651261499981715246622733123713021066717194268403966392620731837499367355351272869496580715548129781623897608514586877656715821915549054650289766135422421523266043976017027512578629434219302704224976984844195424302404391100889295110149951591643468395422753499693912143121138606644783896515253669069438987899236626048091859425611470636205283520291427384299108630939342390761618 92925902646872360448325853582847605953693854303187672836858005217699882041976950479812067629911250009233618756812602429509912259331344294134072555338747351028733947548372682005470288328595834658284094389103368084142457111351517583949018636759712333150881701178103304752194714489754116095020654496876769474802501206179994131124441224365958849264546208881756416506332478863672020453837374181008438259491483199089010488434301509903946326212633749499220524737628486230194894182568502056623541222859398285650691092905568919757509993960902816040138425602628634490912910768796596691480177507665773743485121871166252775098119389960736818995650517696665974633570095175172616849065127101942435174029280965857402849045310341749226461175722996250305444242520390280158062425407179845662093314934633000190332854160167841635257948834155956620414861901364525730474286175928749185876753350016609088822449056422737986762643415210402452972522977238290247340919731710020910238949596332428084517244059159645664449955722080535632049810453284034076309764654679902187555983959646078038938615902566466587347144672681899566179709427341190675029917639163764179494536838135108787403909646094862006282530950235372134763258453082518902178515316167977459385062758860140526639712418102007490699720152138907958129588444155565028651337940739693843838649688303987364698215660027879704279078679356137701929963544688549242350411484206653991469889336865696331070316355741835742028482585469818241839564983047947017876157495138543949719406832005044492447121791759891291612697517987396757265561961194439716066620946540149022774237011324400025651062326498834511639842258575032729876229756443534167761604243193474865580437325811210021310869431221466640901525306343198388436757774865220977238612689356484302804020539134452787269075582700610886487875217677383477767032016638293197555508082938958401052408115975507639200776394253031838340873400080653930277615772929075814575613283022484068408658024909682331156809837931658607912187966388369632023860660531480474755074723191827728196991466856684090081167965955108691660139995205346673952746322927059820398542954205667476544953010583942187307245633852775266953198080532531185857017441241891990539632879138028234644240525898496141571333584392129184752622046870420879040835092477352006668876490101962123214047201062607114573190312141688963767364317425304188881593910941322443751341212469538872120532954590439177279578102946207120282710117295064285333457212828105267164329626918451465920331007586217215529643482903238575952608684348669893101325574187575618177613324762093005842452942066053516677660104630683778598726811392660711374651791484708872522936065570935889069026737094010626438911473824686678254221664582065206776534449998634377657276906639271692941820087453672486546576732757971169973357063486467561919103592749597337021446557393154670526276207434946697379306584390836154577045944632127817550004294779136166372250557763765026300411871354443844541134533147525425875933952461179966413216652377742989510537871153321139581982091514798138402432320066021182221256820708417302235176716913059202148957405566703326932649286224175456973126850688650273183011126648905705360745363854086204646543161918721345064028152171825921321441352860957901456920844374608388818043278374028933292803590043363972160779142645945854616383983986163978532791160824791827689914935156868032556053506523612230843814614129198696959911647685879730371836772469296125583732845431620446300692508556933453166739159118400335043666130637959121778831966397325177975963391366654620076468431039839172325913528988842295381817655037015518880042599167980804781378907514208122484970288876562328991436112694692523134355746385532822938260440742551917697995068041971664040332081164966157532701898192407834937938822272972045285297428025143214264492248831556917250378201372637009989 150357268917903296762828711463050616441980484799899146772469177355037952482569759603076421905841199925449246819458593168163836046549559054456157465618281514061354389117730751767482338008062506600063064333942193198794654093202445428072245265230651830236967468109327701828302711186818280918472519925213422416889503530497059068050936085570581094236112109381765980685197405065549269719280065333034876341449199347969931620542952015856973188658887965235041363415852504614411214851266490569127588127595044503985168753371190507312371756614952473895142421475766219653174592752849787698496821357020279797593199109105553236870591478588425828906586669747898096249432556026657533706107923929049078923108105339002634077884780455241187265072118583182539420426700368476838465303245540176867398579494133883693883905894774657269117525226316030696926651686992616618268367966089677983069779845489360038988307150551908880587555408049878761672349942608487567135137401174706110187611060719692757367248254156158307756360638004041045227164410025390060347924557831924584873452714168407768065826313326706638231697793950815998539942974357468724855214688924453010105431578289794504262820214291172288243466785203273854147115951154332644757215921104557363198691910933638629596610745621412859360259499078463365572193555151467265906235544440778520096516052780936629685669210848357662252342502869004265851519427356006985543949351813853420039357505275710079754310159926072226928867897809099878265922670504386162687685857471052099068082887372782442412661436048912001000454109394801820515700835821516439185723100430264050485571401654535827606188085790813926495238336580255715917977036594225846475266665514110711159087366423404125547624782786956321233512001070436962835703159815497214417961921370678423732942393265296117630712081310731268426485903478089425934421074019908820694883196040473051325800392253290937976547491242956065486073251877081387322105813084940317778958488469672594763719249328879480108209955601718882663910922941721986536944789165260629135083880656226240809524605857401512555265544490602416292016310242068653092322816657583810233749343512102105917657556043404795901555613664219111813510116146195654340866864884750485495014983042558548578577773677738399966669486025203824778645532128266858150923817877721520883048019927196809110539032742988256589035082224456070899948853925090188731645692486945219587105061824887297208508997870695509563103144272158072314243265870625199769117566041531383854655575726695079120710573408061275169665919621670136923261886903513001363116877800852054402759639141135088732521825230438267745492173038591542836807889874558658637145198421182974454023298806622388992558142296779829173498750533008264675179065803504417504315937901120841263981377996865170751289997788039860635206953604134628104625341120800162554859428946098183328726361633245340168519534087195737203219716754270280732860159417761337013100853121986741550359713291220539698045775081902704683838467617202199918709056528679892275841250812694704535363216097354106857118117649924778729142936217903893267995682245551499657786268653685150291946444854654480427214903001972346333665769912821710889224327129835960415542167704285316404216754821443205320106125886698256819347577066690294844821489602095717080543110475812070506903646080961461556268129345045208811684466926848999581070210036903143458836714870496163376969796924843931727113120334143667188107936294604692383967982760643622533642222643305691286372159818433434881985781851524048064732847832227525745224587129162677343318742639524116657183979169620796223522043575719952097639570586070169169808734590402328047422883531235635063599723095865033216413097538887947436760137486422118048410392334195386093417821541665576183453219771610941429217151861477273925838058899020137144723039495779419548012540258941216359009140715027771607 243283171564775657211154565045898222395674339103086819609327182572737834524546710082888489535752449934682865576271195597673748305880903348590230020957028865090088336666103433772952626336658341258347158723045561282937111204553963012021263901990364163387849169287431006580497425676572397013493174422090191891692004736677053199175377309936539943500658318263522397191529883929221290173117439514043314600940682547058942108977253525760919514871521714734261888153480990844606109033834992625751129350454442789635859846276759427069881750575855289935280847078394854144087503521646384389976998864686053541078320980271806011968710868549162647902237187444564070883002651201830150555173051030991514097137386304860036926930090796990413726247841579432844864669220758756996527728652720022529491894428766883884216760054942498904375474060471987317341513588357142348742654142018427168946533195505969127810756206974646867350198823260281214644872919846777814476057132884727020426560657052120841884492313315803972206316360084576677276974863309424136657689212511826772429436673814485807004442215893173225578842466632715564719652401698659399885132328088217189599968416424903291666729860386034294525997735438645988910374404236851546935731237272534822583754669793779156236323163723420350059979651217371323701781999307032294557573485180472363935165741084923994383884870876237366531421182225141967781482972044556227894360836020507411509246842141406410824626515667907968957350483278918120105487653552333180563843352609596048787489719377826934859783227808803292613151627382198577781262797015956155252344046970413073259808412978935853257250412289648438135080595155288445794206793037760014236870908707585576739524692234614146858494214008422962135037307413635351272460934680718191656574610727162726536962932399748904899787664011342154914361121155472903701453090658202018250391278979431452378208508228798577177323885495987903826946651957735317599721586014016132354571771492156663172377274238561811265019793533377490576098889330091618560805449696741103890158603848053969006516072714085602636433510445711107952156305447415327045069139584643630632292297717769582462610566627346983208801247516994378766708196678726840197884306126642476034647862180586783222818299576234541538003070417333009531267578998687737191758910355073527551924510029158932324586233805595371162225394366145034667313171350394377613239603428267663338446274294426169329041952461134686842681247218365192596953383165689485102574778869636651018985202645146545041041580994278490699309402524908712875870571252182894464442451988427672580372963903228094574974767296491784423152277669275321435534701267219370011796989905891846976959364377558278061584879390790455612410224357694942929400730385569624280850387899755218921258284636136863693110085241712347181783686362105798077982404607267724473963021695695520350172919026400010694795741522142434582526301145106435309906104049889154563105147901122907922610271054985565998457646436346549224973000764727625794643008989859858689057903190437694045901087250675246439100209164722917131575256283925075489252502953968801892962985566744352440903850421357807359864189226147803306792620601471984072235453778741665776287531558371521050759916740164550384134278058524178140788929927648196301742333976704105898586388849841003799707236124325433717047271990991063428068450913012978113861370861694971148751650027364195933023303448456162570927734463342364148019583980484422755804755229939748117375068074926137587064668375366888048724940969924383108398978470186647524056553526487855319282134006178736733652410209459968549435572564562247479457225623085688049851333758383132828801791045443757548570011972427362207849210233580470571115883871954940986670833076747303791412889583637240223785300936577098961919050053885108863776881171992182430020467520922633812504789090498133609387342087664781596 393640440482678953973983276508948838837654823902985966381796359927775787007116469685964911441593649860132112395729788765837584352430462403046387486575310379151442725783834185540434964344720847858410223056987754481731765297756408440093509167221015993624816637396758708408800136863390677931965694347303614308581508267174112267226313395507121037736770427645288377876727288994770559892397504847078190942389881895028873729520205541617892703530409679969303251569333495459017323885101483194878717478049487293621028599647949934382253507190807763830423268554161073797262096274496172088473820221706333338671520089377359248839302347137588476808823857192462167132435207228487684261280974960040593020245491643862671004814871252231600991319960162615384285095921127233834993031898260199396890473922900767578100665949717156173492999286788018014268165275349758967011022108108105152016313040995329166799063357526555747937754231310159976317222862455265381611194534059433130614171717771813599251740567471962279962676998088617722504139273334814197005613770343751357302889387982893575070268529219879863810540260583531563259595376056128124740347017012670199705399994714697795929550074677206582769464520641919843057490355391184191692947158377092185782446580727417785832933909344833209420239150295834689273975554458499560463809029621250884031681793865860624069554081724595028783763685094146233633002399400563213438310187834360831548604347417116490578936675593980195886218381088017998371410324056719343251529210080648147855572606750609377272444663857715293613605736777000398296963632837472594438067147400677123745379814633471680863438498080462364630318931735544161712183829631985860712137574221696287898612058658018272406118996795379283368549308484072314108164094496215406074536532097841150269905325665045022530499745322073423340847024633562329635874164678110838945274475019904503704008900482089515153871376738943969313019903834816704921827399098956450133530259961829257936096523567441291373229749135096373240009812271813605097750238862001733025242484504280209816040678571487115191699054936313524244172615689483980137391956242227440866041641229871688380268122670751779110356861181213490580218312824922494538751171011392961529662845223145331801396073253972941504672556442536834309913111126954595342682728232795048434972529956355741435125266548583627751260476590601105567262025275484566344885295915212882925551336119313466537550950331830196405784391490523264911196649036314684871692344911168034873640778371841624161752154402339765868975322146578849799132458155695895827559329789279726983132603044363183307496592526930052168644450707866864272342591141778028648942188327074821430982663184180667054143021687570284785908974890703207604579796189074041785166325800876060185239662633002034444400083029752207816990639966240426182607745728067887028822450641793703678899280659645350863315275609338171785746017899376716042766263467650491576206001023109649472969984346206105696503421518249253908811468381929825713352065518539750964899154003132398581264303348029353296218326814647695860718192501828968757248185199520301550749254220429502732850295276012287787079092228120149640458390514293694961459780908577626191829699262656837454976671561607755704240403945222434960136506994338491146563823578799822979129499325653074306610882205286895273315401336036272239752917839861977694931580898598114607588364897860359309993100373300094298040854797486031336127520275089115139772737990583370651017290718231828873436828193800322930710722821448431173131826302414173269281140655650532662600876645702853390836389379080764772957616140282199577096796209155857219660068348785460876224674576679392612169735068292395424262307772468418007876021358377059035081225410942689884830711125302816407238520708188040391136201915362382789614940071012319574743507016702053360517329349439349968396482802692553203 636923612047454611185137841554847061233329163006072785991123542500513621531663179768853400977346099794814977972000984363511332658311365751636617507532339244241531062449937619313387590681379189116757381780033315764668876502310371452114773069211380157012665806684189714989297562539963074945458868769393806200273513003851165466401690705443660981237428745908810775068257172923991850065514944361121505543330564442087815838497459067378812218401931394703565139722814486303623432918936475820629846828503930083256888445924709361452135257766663053765704115632555927941349599796142556478450819086392386879749841069649165260808013215686751124711061044637026238015437858430317834816454025991032107117382877948722707931744962049222014717567801742048229149765141885990831520760550980221926382368351667651462317426004659655077868473347260005331609678863706901315753676250126532320962846236501298294609819564501202615287953054570441190962095782302043196087251666944160151040732374823934441136232880787766252168993358173194399781114136644238333663302982855578129732326061797379382074710745113053089389382727216247127979247777754787524625479345100887389305368411139601087596279935063240877295462256080565831967864759628035738628678395649627008366201250521196942069257073068253559480218801513206012975757553765531855021382514801723247966847534950784618453438952600832395315184867319288201414485371445119441332671023854868243057851189558522901403563191261888164843568864366936118476897977609052523815372562690244196643062326128436312132227891666518586226757364159198976078226429853428749690411194371090197005188227612407534120688910370110802765399526890832607506390622669745874949008482929281864638136750892632419264613210803802245503586615897707665380625029176933597731111142825003876806868258064793927430287409333415578255208145789035233337327255336312857195665753999335956082217408710888092331195262234931873139966555792552022521548985112972582488102031453985921108473797806003102638249542668473863816108701601905223658555688558742836915401088352334178822556751285572717828132565382024632196328921136899307182461095826871071498333938947641270842878689298098762319158108698207869346926509503649334736635477138035437564310707403732115024214372830207483042675626859869843841180690125642332534441638587868575986897039985514673759711500354178998913485870956746140234575196625878943958124899343480546263997610413739635866592902792964883248465638708888457508150032202004169974267123780804685892625981016988169202793735396618256568284724671487562675003029407878790292001781777707399563505566947591277882471359823421836591796728377142185707877292408997398660739178232966668407942027561738945115727901078360740398319199248398150533980526574643666066016713700631279106497947269138898137510168271464554998774326328346224260590150335335611502785472337489224029072199686045361558111017131480606368272319044483151352672367517539646139311148924232557395580255401191671694961067954595803133784469146657451507995074508399609653957057193570092627165390598704599735318535979370612992293448785754044246500688153489103443712239787173855173754145697370095146943281454267952947251011115765679033695234687319291968117230821028358505736588301772306088374682003746613100925436921986687448306157555503928877715888175494078106318118329612328990362673327027335667821368752874955808792951760293085756340014925224555243016403821756256868968589260828395484147104255573537895577493220523118768392358793157966460501496569167210979435663791372814281530804772600820793337694182138387981883010651881590124488799588540733322393188704844447056554021832241545269511402107168593705026465622123150160739747040719757632111518006048888578991905230332000021752058487689993676243600708940056631023821644765139353055251969247491653391821243004502004763974537624687173022118439937483577783824890357334799 1030564052530133565159121118063795900070983986909058752372919902428289408538779649454818312418939749654947090367730773129348917010741828154683004994107649623392973788233771804853822555026100036975167604837021070246400641800066779892208282236432396150637482444080948423398097699403353752877424563116697420508855021271025277733628004100950782018974199173554099152944984461918762409957912449208199696485720446337116689568017664608996704921932341074672868391292147981762640756804037959015508564306553417376877917045572659295834388764957470817596127384186717001738611696070638728566924639308098720218421361159026524509647315562824339601519884901829488405147873065658805519077735000951072700137628369592585378936559833301453615708887761904663613434861063013224666513792449240421323272842274568419040418091954376811251361472634048023345877844139056660282764698358234637472979159277496627461408882922027758363225707285880601167279318644757308577698446201003593281654904092595748040387973448259728532131670356261812122285253409979052530668916753199329487035215449780272957144979274332932953199922987799778691238843153810915649365826362113557589010768405854298883525830009740447460064926776722485675025355115019219930321625554026719194148647831248614727902190982413086768900457951809040702249733108224031415485191544422974131998529328816645242522993034325427424098948552413434435047487770845682654770981211689229074606455536975639391982499866855868360729787245454954116848308301665771867066901772770892344498634932879045689404672555524233879840363100936199374375190062690901344128478341771767320750568042245879214984127408450573167395718458626376769218574452301731735661146057150978152536748809550650691670732207599181528872135924381779979488789123673149003805647674922845027076773583729838949960787154655489001596055170422597562973201420014423696140940229019240459786226309192977607485066638973875842452986459627368727443376384211929032621632291415815179044570321373444394011479291803570237056118513873718828756305927420744569940643572856614388638597429857059833019831620318338156440501536826383287319853052069098512364375580177512959223146811968850541429514969879421359927144822328571829275386648149428399093973552626877446825610446084180424547348183302406678151093801252596927877124366820663624421869569941870415194836766902762626664746347547347245801837221901363510303010195258693429189548946533053102404143853124795079654250030199411722419346681238318854845959468691972720766266759388829793364545889798958022437260046818066412474135487563574686119561111566987126546638169991954461189967952350351888760441179085009049980219883550775427309681366560041489838924690745919612169870922765931025184228174139101358138560322763717707851183039501507339291737609902140932581910251301216762815764966294586650443197896063403498531607922979282927707971480345690712421426292740818778154018336943859867395438630985190137715517149947342206868550239747397777391464489472845057042595937528587277221347140026939360618856211196702491208429693946733953031536862794018308853011641287583013003748873353009404994461494007603357906604440973382382934022373682388102587709401630059373995155015595896918159946930083685195960713259863380061792615085948969048061061943916325178594869981134303751856845387501147152412929000534899224263678074663063607907574286592736933503724532658891200363928379823084914553009504195056351167009444058314426820274624530662653035350231211106489419409649511389795333938324762967533910146386612821245454662631075014994062618834837788920644483887297584443515325188967621498095350804845126646633650818041397402489171470455954054581251140198802542772909482109012153056373825778517306586867926588709059056833283898632683561074311834242873038262342352953179744191453884609874443006761314016821579507481554326740533539447789376833546180307693049888002 1667487664577588176344258959618642961304313149915131538364043444928803030070442829223671713396285849449762068339731757492860249669053193906319622501639988867634504850683709424167210145707479226091924986617054386011069518302377151344323055305643776307650148250765138138387395261943316827822883431886091226709128534274876443200029694806394443000211627919462909928013241634842754260023427393569321202029051010779204505406515123676375517140334272469376433531014962468066264189722974434836138411135057347460134805491497368657286524022724133871361831499819272929679961295866781285045375458394491107098171202228675689770455328778511090726230945946466514643163310924089123353894189026942104807255011247541308086868304795350675630426455563646711842584626204899215498034553000220643249655210626236070502735517959036466329229945981308028677487523002763561598518374608361169793942005513997925756018702486528960978513660340451042358241414427059351773785697867947753432695636467419682481524206329047494784300663714435006522066367546623290864332219736054907616767541511577652339219690019445986042589305715016025819218090931565703173991305707214444978316136816993899971122109944803688337360389032803051506993219874647255668950303949676346202514849081769811669971448055481340328380676753322246715225490661989563270506574059224697379965376863767429860976431986926259819414133419732722636461973142290802096103652235544097317664306726534162293386063058117756525573356109821890235325206279274824390882274335461136541141697259007482001536900447190752466067120465095398350453416492544330093818889536142857517755756269858286749104816318820683970161117985517209376724965074971477610610154540080260017174885560443283110935345418402983774375722540279487644869414152850082601536758817747848903883641841794632877391074563988904579851263316211632796310528675350736553336605983018576415868443717903865699816261901208807715592953015419920749964925369324901615109734322869801100153044119179447496649728834472044100872227215475624052414861615979487406856044661208948567461154181142632550847964185700362788636830457963282594502314147895969583862709519125154230066025501266949303748673078577629229274071331832221164012022125287463836658284260030609561849824818914387907590023810162276521992274491378239260411566005408532200408766609927385088954548267256941625578232218504093386036412418527242454261135094602173975453546556946792738270736755917759962902715668908300179927496713440323024820226592472777406658892740405817962567339625195576279005544771489553975149138516971453476411562893344694526110143736939545739072439312173773725352237907462151235688097175959772825970420544793008158246866718307658557285598823844291765582547373387499508672540849338361373917199753202138618398235557171279830719420419572681317814539292622932874703788046398739110034393395316772151737043680031736073979537309872299384522290655988343018748110998502729783854828298871574764264130495148589449086425557427440860176380406675244728729342214535338970272813268390272583835595084545438552766855398773388921845305090073337057250249561506498508438173733794777213080358586670752478080965655136656055534960412745825053028850250283216210128064160904713554466449848165152367880989767952715661161987380838311866043176138689807680734561275676641230519247118864511553254040747990090943575395655345611889312517484419184286120268394748309469796025908016812608035978033319142822304421728786236190930927724431629608187802008304547761794439821332134744889582050404194059736193435847615814855956529019927308626366897949466033639813988556162231417743993549971093690204839873638947758682872563122648286277605820925692933649229149731910688485343784566195165859831819041059078585342386322677237317912543182929669286163997718319097246705853857366096398582557021323584271456091951427706561566229314317123964132583407222801 2698051717107721741503380077682438861375297136824190290736963347357092438609222478678490025815225599104709158707462530622209166679795022061002627495747638491027478638917481229021032700733579263067092591454075456257470160102443931236531337542076172458287630694846086561785492961346670580700307995002788647217983555545901720933657698907345225019185827093017009080958226096761516669981339842777520898514771457116321194974532788285372222062266613544049301922307110449828904946527012393851646975441610764837012722537070027953120912787681604688957958884005989931418572991937420013612300097702589827316592563387702214280102644341335430327750830848296003048311183989747928872971924027893177507392639617133893465804864628652129246135343325551375456019487267912440164548345449461064572928052900804489543153609913413277580591418615356052023365367141820221881283072966595807266921164791494553217427585408556719341739367626331643525520733071816660351484144068951346714350540560015430521912179777307223316432334070696818644351620956602343395001136489254237103802756961357925296364669293778918995789228702815804510456934085376618823357132069328002567326905222848198854647939954544135797425315809525537182018574989666475599271929503703065396663496913018426397873639037894427097281134705131287417475223770213594685991765603647671511963906192584075103499425021251687243513081972146157071509460913136484750874633447233326392270762263509801685368562924973624886303143355276844352173514580940596257949176108232028885640332191886527690941573002714986345907483566031597724828606555235231437947367877914624838506324312104165964088943727271257137556836444143586145943539527273209346271300597231238169711634369993933802606077626002165303247858464661267624358203276523231605342406492670693930960415425524471827351861718644393581447318486634230359283730095365160249477546212037816875654670027096843307301328540182683558045939475047289477408301753536830647731366614285616279197614440552891890661208126275614337928345729349342881171167543400231976796688234065562956099751610999692383867795806018700945077331994789665881822167199965068096227085099302667189289172313235799845178188048457050589201216154160792993287408773436892235752257812657487008675435264998568332137371993464683200143368292630836188288690372229195824830636179869255504149385034159704252242978566051440631838249640428605964564145289860867404643095503479845840674880609042555042556965699107711902346843394678641879666186061164750127425159499794647755931885514994534301442804818307620387623274004535028162531124004911681652656781906931500200262407264524125614112679086547160285668317059510548253280101911353049648085791409053578169455469746610222790766775547526600866811101172102079081768382792703645957689973167073420763301330670873898080630304258917519525146985942462142608566001318296055079445015160377426786400963602613118162676308992932202886143549629487919921570345448818916971132680734895987226477890046900285917218976344203832005950689354562278330891669479586975075044024778492172505798392261567407230698316731360920070253998434859507913432635227802380570986963027644134861014988028819044158122669814375884427024005265879113128288011090988398750427163108028532429673604853901684709223049324754637044638046119824111432591406663177788382932176119399410777517718822653154551482969941938348822816242017078075486484196774571394384349035412211868959202987477377457249124696353316898843966277955642736097607211657815937557128378146095102278799728437017015305190856066922630808918575363857716229270850785247050477155139177523783729513094798395097740323855657915036350247854343019076702867528746019728235706558711258744063744859169563083501752727758407750118135418626284955360798392224377425802707548506350671498841438159738467240539405343871038145163778937646278168240101014018691150670144440276457110803 4365539381685309917847639037301081822679610286739321829101006792285895468679665307902161739211511448554471227047194288115069416348848215967322249997387627358661983489601190653188242846441058489159017578071129842268539678404821082580854392847719948765937778945611224700172888223289987408523191426888879873927112089820778164133687393713739668019397455012479919008971467731604270930004767236346842100543822467895525700381047911961747739202600886013425735453322072917895169136249986828687785386576668112297147528028567396610407436810405738560319790383825262861098534287804201298657675556097080934414763765616377904050557973119846521053981776794762517691474494913837052226866113054835282314647650864675201552673169424002804876561798889198087298604113472811655662582898449681707822583263527040560045889127872449743909821364596664080700852890144583783479801447574956977060863170305492478973446287895085680320253027966782685883762147498876012125269841936899100147046177027435113003436386106354718100732997785131825166417988503225634259333356225309144720570298472935577635584359313224905038378534417831830329675025016942321997348437776542447545643042039842098825770049899347824134785704842328588689011794864313731268222233453379411599178345994788238067845087093375767425661811458453534132700714432203157956498339662872368891929283056351504964475857008177947062927215391878879707971434055427286846978285682777423709935068990043963978754625983091381411876499465098734587498720860215420648831450443693165426782029450894009692478473449905738811974604031126996075282023047779561531766257414057482356262080581962452713193760046091941107717954429660795522668504602244686956881455137311498186886519930437216913541423044405149077623581004940755269227617429373314206879165310418542834844057267319104704742936282633298161298581802845863155594258770715896802814152195056393291523113745000709007117590441391491273638892490467210227373227122861732262841100937155417379350658559732339387310936960747658438800572944824966933586029159379719383652732895274511523560905792142324934715759991719063733714162452752948476324481347861037680089794618427821419355197814502749148926861127034679818475287485993014157299430898724356072410542072688096570525260083912956239727395803626959722135642784009075448700256377637728025239402789796640593103933301416645877821210784555534017874662058955848418825280384463041380096642060426638578945617364960315005459681368016012082274340108118964904486412653637527534084052240200465718499225140190110580448349589797174362772412521506481638942686898256376178766925643871045939334846576697899339464916994009311521356414235470321079250522456146057806332658127361236726741068570454514556349322920914100375483642021440440455685582545905784576088208724244700594020751090446579398444843551540452399850773988860881718600394713612827231182058840409162860380500912485417547198599648920545904891660627990649705425173747690491735396811230044576675564315604327726777395356750879076734680031569097617301164482747977247658879619863037611058565247660340796152543621821434257127504247996366006421870808961597157784067321614314887339095953683955700213657630227121709480052855516162329338416075251893112304893612956193684797554594621854400370385036705592948910681222258513919113325967938854429613451423238263922330771759570643245495058365597283960712128759501497259772604465169319703854145061320228681567238965510696600071429118082103135034897205680074365705795013666120485318922817967427237023689310487421209364927049502770246623774531892877643537897217683196516510794953166079945960930838791945068834014060497788675298006537215582199351153806351840653928640207940408475974433344513347649696918587590226791177214003968671278038035710136920608732376834670348389817938684865592324606635803926428059468748050393738229595946662580248005467794108572859864333604 7063591098793031659351019114983520684054907423563512119837970139642987907288887786580651765026737047659180385754656818737278583028643238028324877493135265849689462128518671882209275547174637752226110169525205298526009838507265013817385730389796121224225409640457311261958381184636657989223499421891668521145095645366679885067345092621084893038583282105496928089929693828365787599986107079124362999058593925011846895355580700247119961264867499557475037375629183367724074082776999222539432362018278877134160250565637424563528349598087343249277749267831252792517107279741621312269975653799670761731356329004080118330660617461181951381732607643058520739785678903584981099838037082728459822040290481809095018478034052654934122697142214749462754623600740724095827131243899142772395511316427845049589042737785863021490412783212020132724218257286404005361084520541552784327784335096987032190873873303642399661992395593114329409282880570692672476753986005850446861396717587450543525348565883661941417165331855828643810769609459827977654334492714563381824373055434293502931949028607003824034167763120647634840131959102318940820705569845870450112969947262690297680417989853891959932211020651854125871030369853980206867494162957082476995841842907806664465718726131270194522942946163584821550175938202416752642490105266520040403893189248935580067975282029429634306440297364025036779480894968563771597852919130010750102205831253553765664123188908065006298179642820375578939672235441156016906780626551925194312422361642780537383420046452620725157882087597158593800110629603014792969713625291972107194768404894066618677282703773363198245274790873804381668612044129517896303152755734542736356598154300431150716147500670407314380871439469602022893585820705896545812221571803089236765804472692843576532094798001277691742745900289480093514877988866081057052291698407094210167177783772097552314418918981574174831684831965514499704781528876398562910572467551441033658548273000285231277972145087023272776728918674174309814757196702779951360449421129340074479660657403142017318583555797737764678791494447542614358146648547826105776316879717730488608644370127738548994105049175491730407676503640153807150586839672161248308162799885345583579200695348911524571864767797091642922279011076639911636988946749866923850070038969665896097253318335576350130064189350606974649712911699384454383389425674323908784739737563906484419620497974002870048016647067123723984621183502797606784152598714802277661509211739995113474431110655184644881891154408104794750395686526041509801473810903168057831423707550802546139597253841222024953577596080556471807024731294980869332530624367499107454418449536414814896196538317064737347116098468440701242294743193542519537453965338609430533778181891318121357322081761320477479075147810457971924997759931323024327166396031908882310627074000786589646781464515098535709874908641852748791035210257478569626995519196509408706529491964940563902042205651228012694614333095082908740630720923659895632056152227564222733923644641529783564363639921908203383241938552795177197758246431225514335303444189399538355054284641959022200110941712774744371780300041497593907076860782041442466704086342881511055320776064222217227228199475756085079608086030347585955319268378338030545917374602032217996383599357663333108289478393296400046541335539222309534945001518575335259088661943891098238494096732440550526441952988074057320553814435420033878863483635717101803402225323936422876051196113522339302489038924438224670117905569692877432693107256735359767168068468443566987950092343603729690443933590340166574337916155703711648254391558601276054021335097860382164346766651667220038178203682910733198671315348634541295349422594956233398834102361298034535084383176699061316780123025330791847175209270299097613911829331384507764186763594266696618464253013136321444407 11429130480478341577198658152284602506734517710302833948938976931928883375968553094482813504238248496213651612801851106852347999377491453995647127490522893208351445618119862535397518393615696241385127747596335140794549516912086096398240123237516069990163188586068535962131269407926645397746690848780548395072207735187458049201032486334824561057980737117976847098901161559970058529990874315471205099602416392907372595736628612208867700467468385570900772828951256285619243219026986051227217748594946989431307778594204821173935786408493081809597539651656515653615641567545822610927651209896751696146120094620458022381218590581028472435714384437821038431260173817422033326704150137563742136687941346484296571151203476657738999258941103947550053227714213535751489714142348824480218094579954885609634931865658312765400234147808684213425071147430987788840885968116509761388647505402479511164320161198728079982245423559897015293045028069568684602023827942749547008442894614885656528784951990016659517898329640960468977187597963053611913667848939872526544943353907229080567533387920228729072546297538479465169806984119261262818054007622412897658612989302532396506188039753239784066996725494182714560042164718293938135716396410461888595020188902594902533563813224645961948604757622038355682876652634619910598988444929392409295822472305287085032451139037607581369367512755903916487452329023991058444831204812788173812140900243597729642877814891156387710056142285474313527170956301371437555612076995618359739204391093674547075898519902526463969856691628285589875392652650794354501479882706029589551030485476029071390476463819455139352992745303465177191280548731762583260034210871854234543484674230868367629688923714812463458495020474542778162813438135269860019100737113507779600648529960162681236837734283910989904044482092325956670472247636796953855105850602150603458700897517098261321536509422965666105323724455981709932154755999260295173413568488596451037898931560017570665283082047770931215529491618999276748343225862159670744102154024614586003221563195284342253299315789456828412505656900295562834471129895687143456406674336158310027999567942241298143031910302526410226151791126146821307886270570885604380573341958033680149725955432824480811592163600718602644414653860648987085689203127504651875309441759462536690357251636992996007885400135162508667587573758340302802214706058786950164836379624333122998566115338963185053476328435139736066895523610916571688639011368439805195593263980195579192930335795374755462339503997901969113168099047547991440416497801424434010190633194673592078932100417919924293042513074565783328381145530451190411781146823645165260751107663776051622937606887519251903465421389354801617778385214982959993139547884515215109866390615562821951342832851767056877519991361998424324848533920183906045766790745521709541809132841195752507161965427583953257073508290773294695926870885469219332420692944199900441926303194985140577606521255555739472009689845961985475310752492757512933220634975541470392803264504567394622928887582248999535785560374229434325262494427591520757174253150996696139121606256273909539206895396730444585437930268619303387129716298203771805120161594774623360214389020415902024782794097610485449993122735940534866000490636851949659243342540886647609835022595927255439061237963939645541599701136506270247073761020072595031693127113210802092639158052669232093680918498770657391982932517523168913760689315791467509197238990056908194974014080949576326178349411859434035044955072463124056467639149613003305065286151640083498745045509683675651374772382285235408351976653492386946260928774183475405175141449701036092986974592075696012611548196258382895589902938861332472563426563627511436869812498218643267461217847047451134718807890923116453811013196727157082659879725122737360133426174514702086258361585996185778011 18492721579271373236549677267268123190789425133866346068776947071571871283257440881063465269264985543872831998556507925589626582406134692023972004983658159058040907746638534417606793940790333993611237917121540439320559355419351110215625853627312191214388598226525847224089650592563303386970190270672216916217303380554137934268377578955909454096564019223473775188830855388335846129976981394595568098661010317919219491092209312455987661732335885128375810204580439653343317301803985273766650110613225866565468029159842245737464136006580425058875288919487768446132748847287443923197626863696422457877476423624538140711879208042210423817446992080879559171045852721007014426542187220292201958728231828293391589629237529312673121956083318697012807851314954259847316845386247967252613605896382730659223974603444175786890646931020704346149289404717391794201970488658062545716431840499466543355194034502370479644237819153011344702327908640261357078777813948599993869839612202336200054133517873678600935063661496789112787957207422881589568002341654435908369316409341522583499482416527232553106714060659127100009938943221580203638759577468283347771582936565222694186606029607131743999207746146036840431072534572274145003210559367544365590862031810401566999282539355916156471547703785623177233052590837036663241478550195912449699715661554222665100426421067037215675807810119928953266933223992554830042684123942798923914346731497151495307001003799221394008235785105849892466843191742527454462392703547543554051626752736455084459318566355147189127738779225444183675503282253809147471193507998001696745798890370095690067759167592818337598267536177269558859892592861280479563186966606396970900082828531299518345836424385219777839366459944144801056399258841166405831322308916597016366453002653006257768932532285188681646790382381806050185350236502878010907397549009244813625878681289195813635955428404539840937008556421496209636936284875658858083986036040037484696447204560302801943255227134794203992258410293173586563100422564939622104551575153954660482882220598426359571882871587194593091297151347838177192617778443513249232723554053888798636643938069979847137136959478018140633828294766300628458473110243046852688736141843379263728926650781736005383456931397810245566693664937288898722678149877371575725379480729128432787610569972569346137949589485769483317300485457724757185604131733110858949576117188239607418186613312966055101492975502263460051516707113714178472791610083242082857102475720190692667361446450559400344230658406006763863563785573589501241890308704592491841614340745476138218529354259141949246620109155122255135405876825432059744311771191144272715169557200190866519134145204583989250581519857795502860073128408525479530593513223124645643644572506880943308664914613087534356595139172456396249846293851506930372933186777430591852436206841982342153943429942682488966948416932626043486962081142947788959416212140709309148455795159925704479648726906783752166624022941044894215941473416417408565276787203105693126726909146097178187292527504157202919027498927024611523020740858817035092477697340396234494175890898232931739317837109505188957218230310116897294206577080245214271824247937656134415535165084638119252010993573366570529601208766288120821319759015189980205160717142918865606218621953590588547350716357236045588141036675728579782018762538647930290781789057101900331133254785109782620122871486844714712536746952943202792624172951508569312599464313993331071025210194471915628667388336297658705162860642156001489160746406348363072233354620083650486695137853287405341818705972625401982689892809196098594515320332784751459196476547561418257333741243742916050789751879169116094261218287495873767912849158583744835703914859516677802545601023746512451498930916253908300986222467026254696571709056507245124320189768781398704722614599132507222418 29921852059749714813748335419552725697523942844169180017715924003500754659225993975546278773503234040086483611358359032441974581783626146019619132474181052266392353364758396953004312334406030234996365664717875580115108872331437206613865976864828261204551786812594383186220920000489948784716881119452765311289511115741595983469410065290734015154544756341450622287732016948305904659967855710066773198263426710826592086828837924664855362199804270699276583033531695938962560520830971324993867859208172855996775807754047066911399922415073506868472828571144284099748390414833266534125278073593174154023596518244996163093097798623238896253161376518700597602306026538429047753246337357855944095416173174777688160780441005970412121215024422644562861079029167795598806559528596791732831700476337616268858906469102488552290881078829388559574360552148379583042856456774572307105079345901946054519514195701098559626483242712908359995372936709830041680801641891349540878282506817221856582918469863695260452961991137749581765144805385935201481670190594308434914259763248751664067015804447461282179260358197606565179745927340841466456813585090696245430195925867755090692794069360371528066204471640219554991114699290568083138926955778006254185882220712996469532846352580562118420152461407661532915929243471656573840466995125304858995538133859509750132877560104644797045175322875832869754385553016545888487515328755587097726487631740749224949878818690377781718291927391324205994014148043898892018004780543161913790831143830129631535217086257673653097595470853729773550895934904603501972673390704031286296829375846124761458235631412273476951260281480734736051173141593043062823221177478251205443567502762167885975525348100032241297861480418687579219212696976436265850423046030104795967101532613168939005770266569099671550834864474132006855822484139674964762503399611395417084579578806294074957491937827505507042332280877477919569091040874919153257399604528633935734346136120320372608538309182565135207787901912172863311443648427099292848653729178569246486103783793710701825182187376651421503802808248133740027088908339200392689130228390047108664643506012221145280168869780544550859980085892447449766359380813932457069309483801412943878652606214560486195049094998528848211108318797937885808367353004876227600688922488590969477967821609562342145834989620931991984888059216065059987818837791897809114412496812572730416752728651929240154969303937403196118412230724630750161430621451681888052695739700386271860291782245934155806570162403908732976731884621137492682306806506016925851804973940149730297461454677061873539662622229688038463787022355883250156092918014789437975920664863966918142071752092103241154046941247150304477851513623508439523733061107639860753510963122443765260007747464854591234115130534454820574694827771690836418699977522952301394245339683178094661105395370266442224021925223399338182888952028417008291836905084909209590382098354910845057255248162339491638633712787006879691252225909174921498497422178647163519530173650664572810221415086406202454813059301254045848283235286408555849651950491392930633297497154506841278524732506235633542656160578736200681336293378448986076944409532430757775749554105054021276793787670977055979594331502228655687320249652041929864404059683805513216053644549517843986411954321175691129740737812234850029092523558720525322474916170312702423772412837779014713803789985615372104519679470466371706384862267300036821796703304050239265999224275421491954845737748157092740207815714619125545628385555961366377298640771723733985440183362971080993193478354910637391041869462688485540776249106968226864371617997262454350320715835818612063401300075427498989851121226357206240476275722211256272573727357735321070006818870793963586217738807177024754797235663753411779231588781629982484453615943296100790980976185128693000429 48414573639021088050298012686820848888313367978035526086492871075072625942483434856609744042768219583959315609914866958031601164189760838043591137457839211324433261111396931370611106275196364228607603581839416019435668227750788316829491830492140452418940385039120230410310570593053252171687071390124982227506814496295733917737787644246643469251108775564924397476562872336641750789944837104662341296924437028745811577921047237120843023932140155827652393238112135592305877822634956598760517969821398722562243836913889312648864058421653931927348117490632052545881139262120710457322904937289596611901072941869534303804977006665449320070608368599580156773351879259436062179788524578148146054144405003071079750409678535283085243171107741341575668930344122055446123404914844758985445306372720346928082881072546664339181528009850092905723649956865771377244826945432634852821511186401412597874708230203469039270721061865919704697700845350091398759579455839949534748122119019558056637051987737373861388025652634538694553102012808816791049672532248744343283576172590274247566498220974693835285974418856733665189684870562421670095573162558979593201778862432977784879400098967503272065412217786256395422187233862842228142137515145550619776744252523398036532128891936478274891700165193284710148981834308693237081945545321217308695253795413732415233303981171682012720983132995761823021318777009100718530199452698386021640834363237900720256879822489599175726527712497174098460857339786426346480397484090705467842457896566584715994535652612820842225334250079173957226399217158412649443866898702032983042628266216220451525994799005091814549527817658004294911065734454323542386408144084648176343650331293467404321361772485252019137227940362832380275611955817602671681745354946701812333554535266175196774702798854288353197625246855938057041172720642552975669900948620640230710458260095489888593447366232045347979340837298974129206027325750578011341385640568671420430793340680623174551793536317359339200046312205346449874544070992038914953205304332523906968986004392137061397065058963846014595099959595971917219706686782713641921853782443935907301287444082200992417305829258562691493808380658748078224832491056979309758045625644792207607579256996296491578506026396339093777801983735226784531045502882247803326068403217719402265578391582131688283784579106701475302188544673789817173422969525008668063988614000812337834939341964895295256462279439666656169928937838344928634222231534923970909798215420576964527653228696493556150800820809915496840295670194726993924197115210609417693419314685625868515990808936203822786282731384810293599192899181315309900404689205933710691090222064157784661205897296687230404628461104945807337924642032033919054326574330764506397155535629324708568672662077942125590710269706911216824541121623197766791633164300382893246681546525160436815048825312948931190970342156025381669851033171364797251253117225618518738837893514836549536903975069123243805257735728051773907193699325592330063774209381752856646257082796761750997513942590563405373840558228278657371303976145225590942129647831789165127473388052739773017842569615740822499874390888853097975542870458694200348768657470086892191284719189692140528804781244343626509195540268516776508640008667231910069564776826724378822272266503108432533762670678411736717881774487963429811111286097368455613256705227414602754905667622888797333926661472460086817056426423409574499009035218808606134396167618043570337024434469893407583513126084454751445370676356775127034789131962309729449531995391807384472135321216258486335012184327536039373731762271884584135291569439752978323568094544823872607654457079561528114191051954596615084112339513853080008389124880795001108277642217251998872552419894540476037716669723430933055783458130779666475803297838137227608773805712077499495703590784261200222847 78336425698770802864046348106373574585837310822204706104208795078573380601709428832156022816271453624045799221273225990473575745973386984063210269932020263590825614476155328323615418609602394463603969246557291599550777100082225523443357807356968713623492171851714613596531490593543200956403952509577747538796325612037329901207197709537377484405653531906375019764294889284947655449912692814729114495187863739572403664749885161785698386131944426526928976271643831531268438343465927923754385829029571578559019644667936379560263980836727438795820946061776336645629529676953976991448183010882770765924669460114530466898074805288688216323769745118280754375657905797865109933034861936004090149560578177848767911190119541253497364386132163986138530009373289851044929964443441550718277006849057963196941787541649152891472409088679481465298010509014150960287683402207207159926590532303358652394222425904567598897204304578828064693073782059921440440381097731299075626404625836779913219970457601069121840987643772288276318246818194751992531342722843052778197835935839025911633514025422155117465234777054340230369430797903263136552386747649675838631974788300732875572194168327874800131616689426475950413301933153410311281064470923556873962626473236394506064975244517040393311852626600946243064911077780349810922412540446522167690791929273242165366181541276326809766158455871594692775704330025646607017714781453973119367321994978649945206758641179976957444819639888498304454871487830325238498402264633867381633289040396714347529752738870494495322929720932903730777295152063016151416540289406064269339457642062345212984230430417365291500788099138739030962238876047366605209629321562899381787217834055635290296887120585284260435089420781519959494824652794038937532168400976806608300656067879344135780473065423388024748460111330070063896995204782227940432404348232035647795037838901783963550939304059550855021673118176452048775118366625497164598785245097305356165139476800943547160331845499924474407834214117519313185987719419138207801859033511093153455089788185847763222247246340497436098902767844105657246795595121914034610984010833983015965930950094422137697474699039107242353788466551195527991191871870911766827355109446205151486231863210856977773555121394867941988910302533164670339412855887124030926757325706310371743546213191694030429619568727633467287076603889854877161241807316906477178401110813385068251692070616824535411431583377069852288341168562975678795652852986605858962493955120963236387945010942427711957370983213824229817027554815864486606503921716626343545224288625775598813452263613265696325945353614498332062979921537198560056497607220723148667010886928124702803277649388790471558675402352096111815776155655542358578059635438404367150666498751768473828680409542796716824825400241366037399235949394888603210333141823335194640926886208338531476154220683215373414992267379424719852739985199781805543090022310527728329219991869747394594159223231462735443891448515058653598445925234767251562271631560400020165787256447426323807735357676969607828653617529532703219587211431634146791781598323182095760770885207246614296367302121976456042530551467589298656879163837143186425713067002517649967034273294746161805598568915320682488789871770745432195960258319273839933968836510529892038325911052626276520174624999587427847622512300198279840203809656088980935731621397727305178678080460667812047730451458075458921576105893875946205393897486108642956192870922093809603023658745314899538358863832611844185578492071394252580417517518271095826830636163531118457575504579229567328205662682446676764773631734573069676067818546721205187939712542086326957975172915380140177592352030024114073963460740210286248865400603006257380851369574987319942559238765334439623934408530607957810580693794533078255034886619767210093227421655373600286684566969389893223276 126750999337791890914344360793194423474150678800240232190701666153646006544192863688765766859039673208005114831188092948505176910163147822106801407389859474915258875587552259694226524884798758692211572828396707618986445327833013840272849637849109166042432556890834844006842061186596453128091023899702729766303140108333063818944985353784020953656762307471299417240857761621589406239857529919391455792112300768318215242670932398906541410064084582354581369509755967123574316166100884522514903798850970301121263481581825692209128039258381370723169063552408389191510668939074687448771087948172367377825742401984064770703051811954137536394378113717860911149009785057301172112823386514152236203704983180919847661599798076536582607557239905327714198939717411906491053369358286309703722313221778310125024668614195817230653937098529574371021660465879922337532510347639842012748101718704771250268930656108036638167925366444747769390774627410012839199960553571248610374526744856337969857022445338442983229013296406826970871348831003568783581015255091797121481412108429300159200012246396848952751209195911073895559115668465684806647959910208655431833753650733710660451594267295378072197028907212732345835489167016252539423201986069107493739370725759792542597104136453518668203552791794230953213892912089043048004358085767739476386045724686974580599485522448008822487141588867356515797023107034747325547914234152359141008156358216550665463638463669576133171347352385672402915728827616751584978799748724572849475746936963299063524288391483315337548263971012077688003694369221428800860407188108097252382085908278565664510225229422457106050315916796743325873304610501690147596037465647547558130868165349102694618248893070536279572317361144352339770436608611641609213913755923508420634210603145519332555175864277676377946085358186008120938167925424780916102305296852675878505496098997273852144386670291596203001013955475426177981145692376075175940170885665976776595932817481566721712125381817283813607880526322865763060531790411177122755064337843617060424075792577984824619312305304343450694002727440077574466502281904627676532837793277918923267218394176623130114780528297669933847596847209943606216024362927891076585400735090997359093811120207153469352061147791207035766712286268391454870458358769371834252825728924029774009124604773825718713404147834334942589265148563644694334664776841915145242389724814197406086631412581719830667893862816736508458270106401320607429875084521529829872292170541540200915598239638921268108171804023739726657323225010591480530701036927235761238643603311401467329443072549469519112228084999308625662172820718513869956902296426656859358101108992282487464483546685477701963303863457041919153700797687576277632386209769168873547822034381093182397353071620738842415535669948277254223777071018086370001966306123718087887608432733498968291203045996164304605962609535450101522591018371146602794343139536146247068057885384583944131063198300585979249149184243110427505639624560359581626045840942152876812044339244188074805249300267533013202494175757811360590891187576859737733911246154971260888244273259986387314209871737717278542404942356442396632422034295837386774481724472604542158318992484438302334403350159664308997985412039262208704600266986505750003533613337254270860598177555734709053937295677999164565504286788161709651315095753457436548988326625141907933583748083556609381657112930535545738632532317285520704402932704917249090589038540137379940048093215208307121871989917066595630949168428169379615206649480580825276362631555338502929710825795488053663217847009982716138505394006457653811359387986474183511507807086910199565629629994941668291783403984620729158075800254063366257254525483801258489129011792239318815111658659874915661651078254038890866364151925312744730838184457904437702001227367451099782388157753651093446123 205087425036562693778390708899567998059987989622444938294910461232219387145902292520921789675311126832050914052461318938978752656136534806170011677321879738506084490063707588017841943494401153155815542074953999218537222427915239363716207445206077879665924728742549457603373551780139654084494976409280477305099465720370393720152183063321398438062415839377674437005152650906537061689770222734120570287300164507890618907420817560692239796196029008881510345781399798654842754509566812446269289627880541879680283126249762071769392020095108809518990009614184725837140198616028664440219270959055138143750411862098595237601126617242825752718147858836141665524667690855166282045858248450156326353265561358768615572789917617790079971943372069313852728949090701757535983333801727860421999320070836273321966456155844970122126346187209055836319670974894073297820193749847049172674692251008129902663153082012604237065129671023575834083848409469934279640341651302547686000931370693117883076992902939512105070000940179115247189595649198320776112357977934849899679248044268326070833526271819004070216443972965414125928546466368947943200346657858331270465728439034443536023788435623252872328645596639208296248791100169662850704266456992664367701997198996187048662079380970559061515405418395177196278803989869392858926770626214261644076837653960216745965667063724335632253300044738951208572727437060393932565629015606332260375478353195200610670397104849553090616166992274170707370600315447076823477202013358440231109035977360013411054041130353809832871193691944981418780989521284444952276947477514161521721543550340910877494455659839822397551104015935482356835543486549056752805666787210446939918085999404737984915136013655820540007406781925872299265261261405680546746082156900315028934866671024863468335648929701064402694545469516078184835163130207008856534709645084711526300533937899057815695325974351147058022687073651878226756264059001572340538956130763282132761072294282510268872457227317208288015714740440385076246519509830315330556923371354710213879165580763832587841559551644840886792905495284183231713297877026541711143821804111901939233149344271045267812255227336777176201385313761139134207216234798802843412755844537202510580042983418010447125616269186074977755622588801556125209871214656495865179583054630340145752670817965519749143023716561968409876341752453499571495906584158821622420790835627582474338323483198544366079325446193806360746611274964296286225527937508135688834786125662503437303543250581348980065542787237563956474350779826455967137204958643862104783867891937177066142895336162735215438173438613806957725152742255712430013399903647380008025111995920407190267761196074268173521979265809138030969476953343118636210445845207573240698488533132861656226033481163535559240361070189643291623013020412974973212299447947053282528535318941837499767357266679379678020954876914874821375331003570928408337433161846673975397277877254331338725222421532048714693040632758169081104085549795126833188317472502552896977831595691614398612984657944502621031147793287344063810478399008493884525692844478153356649015158467233001610577173859693734584935493824031695289301198132980573200194791475122192125353265779184464140001919074984991486775283810007640900560525305779589937502449847784162898924088608360985574111920677586592413126799088359989491518905409546417484719948022869213112261828544224421429387564388611004660208638211161466909796830191025892046781909462231189543071751960523206660230853749678439816527660499563632195624166998851921103193267718869621387286330374717620991423509692429392903279025741030723487427206533195388699447519628996526523604802910321808469375756014644843232039260994273652506119926086807515869980381367226638757670897425209355285585486784646848676944845719845822985873071077671647795228649022824700069072724723040986669399 331838424374354584692735069692762421534138668422685170485612127385865393690095156209687556534350800040056028883649411887483929566299682628276813084711739213421343365651259847712068468379199911848027114903350706837523667755748253203989057083055187045708357285633384301610215612966736107212586000308983207071402605828703457539097168417105419391719178146848973854246010412528126467929627752653512026079412465276208834150091749959598781206260113591236091715291155765778417070675667696968784193426731512180801546607831587763978520059353490180242159073166593115028650867555103351888990358907227505521576154264082660008304178429196963289112525972554002576673677475912467454158681634964308562556970544539688463234389715694326662579500611974641566927888808113664027036703160014170125721633292614583446991124770040787352780283285738630207341331440773995635352704097486891185422793969712901152932083738120640875233055037468323603474623036879947118840302204873796296375458115549455852934015348277955088299014236585942218060944480201889559693373233026647021160660152697626230033538518215853022967653168876488021487662134834632749848306568066986702299482089768154196475382702918630944525674503851940642084280267185915390127468443061771861441367924755979591259183517424077729718958210189408149492696901958435906931128711982001120462883378647191326565152586172344454740441633606307724369750544095141258113543249758691401383634711411751276134035568519129223787514344659843110286329143063828408456001762083013080584782914323312474578329521837125170419457662957059106784683890505873753137354665622258774103629458619476542004680889262279503601419932732225682708848097050746900401704252857994498048954164753840679533384906726356819579724143070224639035697870017322155959995912823823449569077274170382800890824793978740780640630827702086305773331055631789772637014941937387404806030036896331667839712644642743261023701029127304404737409751377647516479127016429258909357005111764076990584582609134492101623595266763250839307051300241492453311987709198327274303241373341817412460871856949184337486908222724260806179800158931169387676659597389820862500367738447668397927035755634447110048982160971082740423240597726693919998156579628199869673854103625163916477677416977282013522334875069947580080329573425867699432408783554369919761795422739345467856427864396303352465606901017144265830571361000736767663180560441779880424954895780264196747219309010542869204881381365616893655403022029665518707078296204043638219141490220270248173714591261303683131674004837047447667905995571097866022511495248578533472338408712204734550401523613115583387325562974226299970302200074036867383213104912689677732244742759745875485283129266179950123177751030694913842832054976742114246310567513954838623386552784274401655896740137920545846790091431061343214265754070771370416143751675336468058560312675543982626917486450324922897922021942075011131776301382820222465335762638915282856285619832634693942189817001279508609725174355486414814363313444705773789875934935802473418233958212035634233641969045155424401369586585353622259604090633124617537259431727219388924787045597411013127340436180474091921723232428817959974676515947726734283672258263622766474405269234649300484760695849269849605160792292285339941036063185038433759522266164095694628049216355585756978631085876521699142834001163003854033708274648011121045845576627781030811044677319146550398841170528446987614199762895943141137370948002368569483119845175731513782102843666745035447476828927733011810830816479432746379555899274208124316997156170205674654641356702412109041784419747488377298786594519669572210955326715906726089234432905263476761159159999265572390115061248337018763374451570608774359109393159465957572782556085084270947236565038685739543308997645158567716711255535576085497229876390275799851460882476692080115522 536925849410917278471125778592330419594126658045130108780522588618084780835997448730609346209661926872106942936110730826462682222436217434446824762033618951927427855714967435729910411873601065003842656978304706056060890183663492567705264528261264925374282014375933759213589164746875761297080976718263684376502071549073851259249351480426817829781593986226648291251163063434663529619397975387632596366712629784099453057512567520291021002456142600117602061072555564433259825185234509415053483054612054060481829734081349835747912079448598989761149082780777840865791066171132016329209629866282643665326566126181255245905305046439789041830673831390144242198345166767633736204539883414464888910236105898457078807179633312116742551443984043955419656837898815421563020036961742030547720953363450856768957580925885757474906629472947686043661002415668068933172897847333940358097486220721031055595236820133245112298184708491899437558471446349881398480643856176343982376389486242573736011008251217467193369015176765057465250540129400210335805731210961496920839908196965952300867064790034857093184097141841902147416208601203580693048653225925317972765210528802597732499171138541883816854320100491148938333071367355578240831734900054436229143365123752166639921262898394636791234363628584585345771500891827828765857899338196262764539721032607408072530819649896680086993741678345258932942477981155535190679172265365023661759113064606951886804432673368682314403681336934013817656929458510905231933203775441453311693818891683325885632370652190935003290651354902040525565673411790318705414302143136420295825173008960387419499136549102101901152523948667708039544391583599803653207371040068441437967040164158578664448520920382177359587130924996096938300959131423002702706078069724138478503943945195246269226473723679805183335176297218164490608494185838798629171724587022098931106563974795389483535038618993890319046388102779182631493673810379219857018083147192541042118077406046587259457039836451700389639310007203635915553570810071807783868911080553037488182406954105650000302431408594025224279813718008444037893098035957711098820481401501722801733517082718713665739290982971224286250367474732221874630456832525496763410912424165402380253897087043174363603293686163356991277957463871503705290200788082363564611991838184710065514466240704865216999451580958271762341948653470643837326477945159558390083971396069362354763278378978808562826544755204349229951492656329913179880930959537801207541864421866547075522684740801619228239257378498867639606024784663503414805110954214959970806379387185755599615233744874939949988574962226922541112478305229938729983702103721416875408325100833096868000005938834014049007262395075317981092654704373813550053277900184315354944799100646816494849420033947809960896257810327563837469803111844036316426565202017824652944679070617173967825917579354923660647872363365199744273253025513003419469209463229494197862613639893246621581508041364683408635230449759448589713810724150613248002680785947258670767707530627416872031218616156538255264789762332499488211847985593847506785296935111277974186274590194452390535364219457104747712275930004505787211024430561798533174871307422848926409025524042807230614407188309634291971535979659277490505721317598064929878538513032822596658446354772456680202161137033172349391757884964881688634352906572550271518428222670880334158107405172005452240432241707757555059049808739608454523996593086969033184152857464599759026191597136254720442333697416423475264004489427296644006454983478284667482749166993077745704283486544923295646064866394841501945063445488519100786213801052864960910402846344903252612839235815585285230534916013910415622154322242610671269494377657416290229089774526692596330453453510293626232822051823332588220253843365004390702584326613247733292458525413100499920533607199733066784921 868764273785271863163860848285092841128265326467815279266134716003950174526092604940296902744012726912162971819760142713946611788735900062723637846745358165348771221366227283441978880252800976851869771881655412893584557939411745771694321611316451971082639300009318060823804777713611868509666977027246891447904677377777308798346519897532237221500772133075622145497173475962789997549025728041144622446125095060308287207604317479889802208716256191353693776363711330211676895860902206383837676481343566241283376341912937599726432138802089170003308155947370955894441933726235368218199988773510149186902720390263915254209483475636752330943199803944146818872022642680101190363221518378773451467206650438145542041569349006443405130944596018596986584726706929085590056740121756200673442586656065440215948705695926544827686912758686316251002333856442064568525601944820831543520280190433932208527320558253885987531239745960223041033094483229828517320946061050140278751847601792029588945023599495422281668029413350999683311484609602099895499104443988143942000568349663578530900603308250710116151750310718390168903870736038213442896959793992304675064692618570751928974553841460514761379994604343089580417351634541493630959203343116208090584733048508146231180446415818714520953321838773993495264197793786264672789028050178263885002604411254599399095972236069024541734183311951566657312228525250676448792715515123715063142747776018703162938468241887811538191195681593856927943258601574733640389205537524466392278601806006638360210700174028060173710109017859099632350357302296192458551656808758679069928802467579863961503817438364381404753943881399933722253239680650550553609075292926435936015994328912419343981905827108534179166855068066321577336657001440324858666073982547961928073021219365629070117298517658545963975807124920250796381825241470588401808739528959486335912594011691721151374751263636633580070089131906487036231083561756867373497210163621799951475082517810664250041622445586192491262905273966886754860622110313300237180898789751364762485648327447467412763303265543209561766721940732704844072898194888880486497140998891543664233884821166382063666326738605671396299349635703304615053697430252190683409069003793602249927751190668338280080971103140639004800292338941451285370530361508231264044400621739079985276261663444210684855879445354575114807555554487788103157049306160295157747151956511142235188233274759072759573764064214892099156374037695530073536333981567466726248942718070590713741826231021889476412971969760171322737698789500550862473016949786057836828890882434334133087572153587144684538976485840038124499803868204165029954004303795453742791538205745786545732250681593759924492545524341497931215832455404508463896109955161057469191109668160771333472806586732084362552154550465484383316593203275097659640830956088596023360822822292510435884477892030467643274789849815524667171175047455078430600985764612314420327949402532161904437793661197318102577420266760728098323535898506099662817044099391964444557583465563219345449452574368573889498431731377654912613217572179201129044901025744402591723534021921671779460151265054515760839616366184979879132747662990616493149547823370575660692697782306429997088812457544283592456296675508547340110882109890350269819574576217861030417968620936552374830210353388758106370388970841403387777186907735554125552136497318891455203952981799786483051476919026904105457890979268055442138196355982912174321523805466968328509311442311986234224436541083168510711481318355029655817285799957717413862305066267285870021280642715128970300706223097253610986847865236007478085000395572534533121358173060809978702073668720848761991694076013175988012269383490947690032868829228025064588199167686158553903236009595377897180058616862018327763562841010162958419295582148823818789688401803376299771994489676425146900443 1405690123196189141634986626877423260722391984512945388046657304622034955362090053670906248953674653784269914755870873540409294011172117497170462608778977117276199077081194719171889292126402041855712428859960118949645448123075238339399586139577716896456921314385251820037393942460487629806747953745510575824406748926851160057595871377959055051282366119302270436748336539397453527168423703428777218812837724844407740265116885000180823211172398791471295837436266894644936721046136715798891159535955620301765206075994287435474344218250688159764457238728148796760232999897367384547409618639792792852229286516445170500114788522076541372773873635334291061070367809447734926567761401793238340377442756336602620848748982318560147682388580062552406241564605744507153076777083498231221163540019516296984906286621812302302593542231634002294663336272110133501698499792154771901617766411154963264122557378387131099829424454452122478591565929579709915801589917226484261128237088034603324956031850712889475037044590116057148562024739002310231304835654949640862840476546629530831767668098285567209335847452560292316320079337241794135945613019917622647829903147373349661473724980002398578234314704834238518750423001897071871790938243170644319728098172260312871101709314213351312187685467358578841035698685614093438646927388374526649542325443862007471626791885965704628727924990296825590254706506406211639471887780488738724901860840625655049742900915256493852594877018527870745600188060085638872322409312965919703972420697689964245843070826218995177000760372761140157916030714086511163965958951895099365753975476540251381002953987466483305906467830067641761797631264250354206816446332994877373983034493070998008430426747490711538753985993062418515637616132863327561372152052272100406576965164560875339343772241338351147310983422138415286990319427309387030980464115981585267019157986487110634909789882630523899116477234685669667724757372136087230515293310814340993593159923857251509498662282037892880902215281170522670414192920385108021049809870304402250668055281553117413065734674137234786046535658741148881965996230846591585317622400393266465967401903885095729405617721576895682549717110435526489684154262777687446819981427959004630181648277711512643684264789303995996078249802812954990660731149590594828656392459923790050790727904149075901855331026312846877149504207958431940483527251319853547831123352580504589951511653737881322400308819419241329107866694025443253417264941105267933790807139937137789264510971823508704652229348259038962343723574164054277278127904001017807635270269620089732702805898462084634527551448066960665612282173434103759937706407516870618199863306578883413732256620427773973499807919416815912308487159778322013949387855345372824135908768807587828322226620679894323448412360793048220786396315119133976067396158106420676305501892909684403710395471385391303922662213180724411444428072968081850070195227841808618190563042425408526019301702562001511212650716520176688037346622656712910819724885339223115325290996190636217480671190525112144763221493710154400825065557773048635830197960855680565909808612116124169995515484511620508551892296189485666343772093552415026324419130793424587101723306349237227703219645853917884427832655167824830616603427488415199698113089250683627076414975709009055032371490421930455762146855806285076411539814308104397070564719989771789362060386971791935291909160734661660516940788007663896662192949069881207505676662931568087535503039448240954666770238499591985975485807782326299823740783436002081345054233260363615725564129260052265946771089492095112931911310724526578871214196625399494031761019405713231314912904536434047222228992027086403634423705733558361302363206885441354817288942212851150233689463105671523412880668685350915983816684375167349121879908762071552082146927216476799692528096876158213685364 2274454396981461004798847475162516101850657310980760667312792020625985129888182658611203151697687380696432886575631016254355905799908017559894100455524335282624970298447422002613868172379203018707582200741615531843230006062486984111093907750894168867539560614394569880861198720174099498316414930772757467272311426304628468855942391275491292272783138252377892582245510015360243524717449431469921841258962819904716027472721202480070625419888654982824989613799978224856613616907038922182728836017299186543048582417907225035200776357052777329767765394675519752654674933623602752765609607413302942039132006906709085754324271997713293703717073439278437879942390452127836116930982920172011791844649406774748162890318331325003552813333176081149392826291312673592743133517205254431894606126675581737200854992317738847130280454990320318545665670128552198070224101736975603445138046601588895472649877936641017087360664200412345519624660412809538433122535978276624539880084689826632913901055450208311756705074003467056831873509348604410126803940098937784804841044896293109362668271406536277325487597763278682485223950073280007578842572813909927322894595765944101590448278821462913339614309309177328099167774636438565502750141586286852410312831220768459102282155730032065833141007306132572336299896479400358111435955438552790534544929855116606870722764122034729170462108302248392247566935031656888088264603295612453788044608616644358212681369157144305390786072700121727673543446661660372512711614850490386096251022503696602606053771000247055350710869390620239790266388016382703622517615760653778435682777944120115342506771425830864710660411711467575484050870944900904760425521625921313309999028821983417352412332574599245717920841061128740092974273134303652420038226034820062334649986383926504409461070758996897111286790547058666083372144668779975432789203644941071602931751998178831786284541146267157479186566366592156703955840933892954604012503474436140945068242441667915759540284727624085372165120555137409425274815030698408258230708660055767013153703609000584825829037939680444347813257599473853726038894425735472071814763399284810130201286725051477793071944460182567078849066746138831104737851693029878130229050431752606880109399468379850923765235892444635000878542141754406276031261511098826092700793081662870036066989567593286586711210471667421991957059762446220043640576557480148705578275309091646825139744928496954081974072883634133428264240731720973326953598922672734660039749858007728503006337202845398181065201318019210285081422363664605139751144853787075644464161152054423865790378052049229319066527933906998790112086041638268789891710711312324360991401512324669959464507302021533897992353443758313843524319615182830477845497810506430293327018436968359161795033207411978686000566911258532604102989518394231635708227114195016699666324715202194839594873363415858947197452062996249078615603120423160280671180992454123038518512444957570430457095363759319613790070983280904786360882521162812573636768984731187559882874461753855562930123764893686034261653225087809313438283129952249764875098986600083157633342634037795949455666749566136269391508662374465545476519756543031519473966954164000247794421088655667224792032103398201476884129330676372170727485537378765469517687665468544657494383596645561429862581843810688562132535826647688464188726722043658522622701217308663244566013368771578418343386079761565765974831767275719338800389305052793381827200468398536416044814481760227188891206779582760496686967126137355955641026583393719495207359299527649485746844771975181236247477312589348723918759175960534056956214592197934027153119192466523210016986573257282809213923068040262391646693089224506051335232036113466419405488109899009704136925472701049420592939285547369243747379525385330307541175490910895370871835329019853099464522586552583360585807 3680144520177650146433834102039939362573049295493706055359449325248020085250272712282109400651362034480702801331501889794765199811080135057064563064303312399901169375528616721785757464505605060563294629601575650792875454185562222450493493890471885763996481928779821700898592662634587128123162884518268043096718175231479628913538262653450347324065504371680163018993846554757697051885873134898699060071800544749123767737838087480251448631061053774296285451236245119501550337953175637981619995553254806844813788493901512470675120575303465489532222633403668549414907933520970137313019226053095734891361293423154256254439060519789835076490947074612728941012758261575571043498744321965250132222092163111350783739067313643563700495721756143701799067855918418099896210294288752663115769666695098034185761278939551149432873997221954320840329006400662331571922601529130375346755813012743858736772435315028148187190088654864467998216226342389248348924125895503108801008321777861236238857087300921201231742118593583113980435534087606720358108775753887425667681521442922640194435939504821844534823445215838974801544029410521801714788185833827549970724498913317451251922003801465311917848624014011566617918197638335637374541079829457496730040929393028771973383865044245417145328692773491151177335595165014451550082882826927317184087255298978614342349556008000433799190033292545217837821641538063099727736491076101192512946469457270013262424270072400799243380949718649598419143634721746011385034024163456305800223443201386566851896841826466050527711629763381379948182418730469214786483574712548877801436753420660366723509725413297348016566879541535217245848502209151258967241967958916190683982063315054415360842759322089957256674827054191158608611889267166979981410378087092162741226951548487379748804843000335248258597773969197081370362464096089362463769667760922656869950909984665942421194331028897681378303043601277826371680598306029041834527796785250481938661402365525167269038947009661978253067335836307932095689007951083516279280518530360169263821758890553702238894772613817679133859793258215002608004890656582063657132385799678076596168688628936573522477562181759462761398783856574357594422005955807565577049031859711611510291047746091363567449500681748630996956791944567361266691992660689420921357185541586660086857717471742362488566541497980268869106563970404651984124103808800002253409398661672151415091256582234835404374381703053374757372107425746416580370863863778002593830556997944866292270848174668906885717430666278249247425145937828659417029272757788093452099431421674513598493183950511313953594079381973959455724368215072372549829417118829194979191264818903553373196763922449307871492161363175129755832806774961152491794885665851803117462927205775946990117259828091873009448979272051580824889385833513365611775623272301437375971826608111879243305268834801250251120114276176973490060031193391242130741376220295931656709075487382978956476397066321321125002721699801081474398229143819525484456493870070410675208165457944491780410794955418798179024874718797963714263348687725298400705296947455763723543151246153920119451182234077756777943400958563951211820291850095446545798386084957424834896144395004904452495251749252119361311961985844197001344088964867180669215800754719228284570798572354570484894953334232619017894682682453973540600266536351762919693265937298435033928073755743370353635295240496227426491772555283383235462582254122674589332877131330104503580317521208468143557977018082352482662452933919682255464767366829721576552413532788013101472408901235233502194248402081443836850670486685060635827428788823333521184880211872236441331899477793716856436152060067348795281116794958064412637595242998907774222777052111860854370614935806720944005819954232720159731196209760497656663055399672966922953982256236329899157050683428741574271171 5954598917159111151232681577202455464423706606474466722672241345874005215138455370893312552349049415177135687907132906049121105610988152616958663519827647682526139673976038724399625636884808079270876830343191182636105460248049206561587401641366054631536042543174391581759791382808686626439577815291025510369029601536108097769480653928941639596848642624058055601239356570117940576603322566368620901330763364653839795210559289960322074050949708757121275065036223344358163954860214560164348831570553993387862370911808737505875896932356242819299988028079188302069582867144572890078628833466398676930493300329863342008763332517503128780208020513891166820955148713703407160429727242137261924066741569886098946629385644968567253309054932224851191894147231091692639343811494007095010375793370679771386616271257289996563154452212274639385994676529214529642146703266105978791893859614332754209422313251669165274550752855276813517840886755198786782046661873779733340888406467687869152758142751129512988447192597050170812309043436211130484912715852825210472522566339215749557104210911358121860311042979117657286767979483801809293630758647737477293619094679261552842370282622928225257462933323188894717085972274774202877291221415744349140353760613797231075666020774277482978469700079623723513635491644414809661518838265480107718632185154095221213072320130035162969652141594793610085388576569719987816001094371713646300991078073914371475105639229545104634167022418771326092687081383406383897745639013946691896474465705083169457950612826713105878422499154001619738448806746851918409001190473202656237119531364780482066016496839128212727227291253002792729899373154052163727667489584837503993981092137037832713255091896689202974595668115319898701586162401470632401448604121912225075876937932413884158265913759332145369884564516255747453734608764869337896558871405863728472882661982844774207478872175164838857489609967869983075636439239921996438540300259686622883729644807193083028579231737286063625232456391445341520963822981781924537511227190415936276975462499554287064723810553498123481673050857688856334043785082317535728947149198962886726369975353988051315549506641942029840247850602713188699159857648837443707278082291464218390400447214471214491214736574193265997835334086321767542723254171788247014057978623249530122924707039335649075277751969647690861063623732850872027764680366280150958987673970763798240231001510731789486348454586687508185636348157467389907324462786450737253870306855952594795277185377514305066782631984297459532506568301493264556780417611575169096563592573728937464283562002560543272660607315880958245836454256710641339721127830141519340182666331228223332661271224470841769484514806933443599357126390143982969640383476358233410789945642744306151912293035503851695449546183310113428992375351907597247483850386496454075638151323314074082900142198217109198317566339173222568675634313814402411412557212750054695227587932340549386933492430080640738792792683081986260759111664982338058093262854801598235091039919698347343340918720312484213286527943885773027701631817677548165580395934055846881176493880191716068906848983643893047334909620938416757296811606638478065272353039121425082690565483660571677287283852650320838196091316520569172071574502245946138733488420187772942065182169000131914757535178043307580027218509101662004788993258395421442315967154607098278494087124514948771978681320257793192466604322559102574262971559175467971160077599728640919625132002968695332449183797665112979349420060057038211105793950223441071759772832315662587219253673210414738441725714670792560769429662645594692783643381021267548337999404338759651348886051050999665650075128107611186927809884182570463972827279112374193628265162010870558507540408507770364598759239780089403478575735145827964204230890583862293825817585256182998621573269981324934856978 9634743437336761297666515679242394826996755901968172778031690671122025300388728083175421953000411449657838489238634795843886305422068287674023226584130960082427309049504655446185383101390413139834171459944766833428980914433611429012080895531837940395532524471954213282658384045443273754562740699809293553465747776767587726683018916582391986920914146995738218620233203124875637628489195701267319961402563909402963562948397377440573522682010762531417560516272468463859714292813390198145968827123808800232676159405710249976551017507659708308832210661482856851484490800665543027391648059519494411821854593753017598263202393037292963856698967588503895761967906975278978203928471564102512056288833732997449730368452958612130953804776688368552990962003149509792535554105782759758126145460065777805572377550196841145996028449434228960226323682929876861214069304795236354138649672627076612946194748566697313461740841510141281516057113097588035130970787769282842141896728245549105391615230052050714220189311190633284792744577523817850843021491606712636140204087782138389751540150416179966395134488194956632088312008894323611008418944481565027264343593592579004094292286424393537175311557337200461335004169913109840251832301245201845870394690006826003049049885818522900123798392853114874690971086809429261211601721092407424902719440453073835555421876138035596768842174887338827923210218107783087543737585447814838813937547531184384737529909301945903877547972137420924511830716105152395282779663177402997696697908906469736309847454653179156406134128917382999686631225477321133195484765185751534038556284785440848789526222252425560743794170794538009975747875363203422694909457543753694677963155452092248074097851218779160231270495169511057310198051668637612382858982209004387817103889480901263907070756759667393628482338485452828824097072860958700360328539166786385342833571967510716628673203204062520235792653569147809447317037545951038273068097044937104822391047172718250297618178746948041878299792227753273616652830932865440816791745720776105540797221390107989303618583167315802615532844115903858942048675738899599386079534998640963322538663982924624838027068823701492601646634459287546293581863604645009284327114151175829900691494960562578058664237255941896994792126030889128809415246832477667935415164164836190209782424511078011563844293467627959730170187703255524011888784175080153212397072632435949655322258092966624890722836289740882943008455583213806487695326650228739847700863853897461087548033552183211952500062650575708779931714239321923973809690369363262548663023995403451062776745953071857226254686697854917701560822471783013889550544948970714319373931150131776705858035146920149640976676170108573355189933165105135461435269142210036528252872848520253142029552863595724704898525455361694253881761185420962859259473658797891451609977931425953326205411033018359449437680615350196058735665507205644542153933433045986351936663419723528343409889496401961863795514382883067735157340808801863542549756724872008910299205377642839123751713675731282392311402662683736741964980505402846566285692881511610604719645126345636188358031217721649825278310579502367969117103456733924611070739124078849917586709878665476129782535601902440199508053302364766173415663467113126807949289174907001226635980741354702399652488512275926597921901191555635545389259794747184362009233091905533312422160880258319125613976560754020618958376877842485809725553813298142560492954731058745423205449524177163476007160815747465462011872993976720466570561317053162648312186365103675688691662574445648240635974116752236397620100149330655328611072169844601069522879616210996092680785528844716522086227188174959982208926679140634876610422522111281967851042214122731412878155344314491308604579194012809563209771944906325620867286290256829216779799841492512897778623953410066509128149 15589342354495872448899197256444850291420462508442639500703932016996030515527183454068734505349460864834974177145767701893007411033056440290981890103958607764953448723480694170585008738275221219105048290287958016065086374681660635573668297173203995027068567015128604864418175428251960381002318515100319063834777378303695824452499570511333626517762789619796274221472559694993578205092518267635940862733327274056803358158956667400895596732960471288538835581308691808217878247673604758310317658694362793620538530317518987482426914440015951128132198689562045153554073667810115917470276892985893088752347894082880940271965725554796092636906988102395062582923055688982385364358198806239773980355575302883548676997838603580698207113831620593404182856150380601485174897917276766853136521253436457576958993821454131142559182901646503599612318359459091390856216008061342332930543532241409367155617061818366478736291594365418095033897999852786821913017449643062575482785134713236974544373372803180227208636503787683455605053620960028981327934207459537846612726654121354139308644361327538088255445531174074289375079988378125420302049703129302504557962688271840556936662569047321762432774490660389356052090142187884043129123522660946195010748450620623234124715906592800383102268092932738598204606578453844070873120559357887532621351625607169056768494196268070759738494316482132438008598794677503075359738679819528485114928625605098756212635548531491008511714994556192250604517797488558779180525302191349689593172374611552905767798067479892262284556628071384619425080032224173051604485955658954190275675816150221330855542719091553773471021462047540802705647248517255586422576947128591198671944247589130080787352943115468363205866163284830956011784214070108244784307586330916612892980827413315148065336670518999538998366903001708576277831681625828038256887410572650113815716233950355490836152075379227359093282263537017792522953476785873034711608397304623727706120691979911333326197410484234105503532248619198615137616653914647365354302972911192041817772683889662276368342393720813926097205894973592715276092460821217135115026684197603850048908639336912676153576575465643522441894485062000734992741721253482452991605196442640048291091942175033792549878973830135162992627460117210896352138501004265914949473142788085720332707131550413660639122045437275650591233811436106396039653464541360304171384746603199747895553259603698414377071290876428391128644803740681196395019789436679477101571170709850055882825218929697517019282694634873168312438282540815188530590107980938431645226616569132388527060307955632400498915294013735875947397276728493655229271672779112233659556597481360000038519306371390991410461190977042016954547059555249118431075652618568269939042818491264559293941845899099576400348071638671807682874136537328560106743324045294345527248129254740027409105553231235468647755246954523418627411299821020046953566490645796041047164251352064077730343381926482602602588307065965053995916452473784201600643019579673607145390245297341186467092632396043766605597930606569509769666612323080394731866088815567457485896139006537352257264880201365542872613220200440784726413915063372402676343092163200275000277275362326047807069819454552761037704144618885335345487237969359072946682777595094774168701162910354834314410023690319234177949119700657297550178253053142605804325200246512631590916248004773267897592657881011813811424981200401588383988525372473610531653032330787386342830581527145858808456344613412578441361293054033758677676355267276603720071959197419338275910916247656062979077699831423028958389529811976250021394715550865868617860879020549755744029671579895716187736302316282571169136736563323205340583249801223656161479307376133601971385695752822261673203338433792898966688347680052153585071517180840691510605617426748695896400197223391391443985127 25224085791832633746565712935687245118417218410410812278735622688118055815915911537244156458349872314492812666384402497736893716455124727965005116688089567847380757772985349616770391839665634358939219750232724849494067289115272064585749192705041935422601091487082818147076559473695234135565059214909612617300525155071283551135518487093725613438676936615534492841705762819869215833581713968903260824135891183459766921107354044841469119414971233819956396097581160272077592540486994956456286485818171593853214689723229237458977931947675659436964409351044902005038564468475658944861924952505387500574202487835898538535168118592089056493605955690898958344890962664261363568286670370342286036644409035880998407366291562192829160918608308961957173818153530111277710452023059526611262666713502235382531371371650972288555211351080732559838642042388968252070285312856578687069193204868485980101811810385063792198032435875559376549955112950374857043988237412345417624681862958786079935988602855230941428825814978316740397798198483846832170955699066250482752930741903492529060184511743718054650580019369030921463391997272449031310468647610867531822306281864419561030954855471715299608086047997589817387094312100993883380955823906148040881143140627449237173765792411323283226066485785853472895577665263273332084722280450294957524071066060242892323916072406106356507336491369471265931809012785286162903476265267343323928866173136283140950165457833436912389262966693613175116348513593711174463304965368752687289870283518022642077645522133071418690690756988767619111711257701494184799970720844705724314232100935662179645068941343979334214815632842078812681395123880459009117486404672344893349907403041222328861450794334247523437136658454342013321982265738745857167166568539921000710084716894216411972407427278666932626849241487161405101928754486786738617215949739436499158549805917866207464825278583289879329074917106165601970270514331824072984676494349560832528511739152629583623815589231182147381832040846951888754269484847512806171094718631968147358569905279770265671960976888129728712738739089496574218141136560116734501106219196244813371447303319837300991603644289345015043541119521288281286323584858127462275932310593815878191783437135596370608543211086077059987419586148100025161553747836743582884888306952921910542489556061491672202966338904903610321403999139361920051542248716440457383781819235635697550875517696665039267794127166169274071653259323895002882715116086908216949272034563747516970373252481880728971782757285448877092369996780137112504399798350301694193889640564535839589837053908704257725169980711590793648958099200276669118822217728082947978930528631491776744377341518311141051437867147150590309736992720354253892510921760778306467295691339784812435971398762695301105246597094033501936755897722749522966002797704092236978858107186165980735310964264253828097192927569873614686146965328225691495720424078842027399100914771787606073753271422884564466383821448848121731073793282586065143192776304545616055689450674984025590844346071775048997909333269253246511631592828483241298151781697079068090615784132882988445622911419087192697891530779943152695531018520106327287413831287279124917863985240991523936852355056455201237212197921250101518902901436472199754632066770001775395337143651709536714062512202595160775871020892212933095567512847889790166334433338418164903338408885031587023206634441765834430383358078244074193714079185771753092145987061846131766036031051323022284463505429160043903373166048010479144246916584329766368384145562523013964602578822101711219713673948175265356009629961306905350005787720710469687383758636760751836710457108740432709822529504457531151345663242463840217193672323334938129330349590256333384263851097136752981807917627805708529898119624958479205938803471097520727385417268241208794178821176801457953113276 40813428146328506195464910192132095409837680918853451779439554705114086331443094991312890963699333179327786843530170199629901127488181168255987006792048175612334206496466043787355400577940855578044268040520682865559153663796932700159417489878245930449669658502211423011494734901947194516567377730009931681135302533374979375588018057605059239956439726235330767063178322514862794038674232236539201686869218457516570279266310712242364716147931705108495231678889852080295470788160599714766604144512534387473753220040748224941404846387691610565096608040606947158592638136285774862332201845491280589326550381918779478807133844146885149130512943793294020927814018353243748932644869176582060016999984338764547084364130165773527368032439929555361356674303910712762885349940336293464399187966938692959490365193105103431114394252727236159450960401848059642926501320917921019999736737109895347257428872203430270934324030240977471583853112803161678957005687055407993107466997672023054480361975658411168637462318766000196002851819443875813498889906525788329365657396024846668368828873071256142906025550543105210838471985650574451612518350740170036380268970136260117967617424519037062040860538657979173439184454288877926510079346567094235891891591248072471298481699004123666328334578718592071100184243717117402957842839808182490145422691667411949092410268674177116245830807851603703940407807462789238263214945086871809043794798741381897162801006364927920900977961249805425720866311082269953643830267560102376883042658129575547845443589612963680975247385060152238536791289925667236404456676503659914589907917085883510500611660435533107685837094889619615387042372397714595540063351800936092021851650630352409648803737449715886643002821739172969333766479808854101951474154870837613603065544307531560037744097797666471625216144488869981379760436112614776874103360312086612974266039868221698300977353962517238422357180643183394493223991117697107696284891654184560234632431132540916950012999715416252885364289466150503891886138762160171525397691543160189176342589169432542040303370608943654809944634063089289494233597381333869616132903393848663420355942656749977145180219754988537485435604583289016279065306111609915267537507036455926482875379310630163158422184916212222980047046265310921513692248841009497834361449741007630875196687611905332842088384342179260912637810575468316091195713257800761555166565838835445446428777300363453644865418042597665200298063064576199277734905523587694050843205273597572853198471411578245991065451920322045404808279320952301034989906331240125839116257133668228116897361864336658224085274725326669596355375928770324348093890507195181638487126112851776782896647889702132461899058124192607264284052275603372323586574379346576406338509831049371729913244661794877505594668732705309619630034260078083072746121749386582506106236440906008144416517495489296744948174524397033313558265149245738449286914724638068446265166123851683804096653349367167068972128514813175726990245756370266743835795884219223201079695972325212057936978467818815603507263875822756281298205151563636030017870512646525576511923139420340702887791620452735570504750980383937421944933583478729963756923450479399918141260603317571743922174511007962274916342540135436864390139405831272701314844365096549564038306562064371028472535892914394953820140592870230645745765901032395970659633584930796494254656889804854920799292322777648241808339278645662577702604558245363623799019392633518108866612578468881092919850042572622344734459102044237821923271851606370088456104759942352240513495069757774198791373779598294314399159773283155371400503271576338305244637657310507580740128688636148897558831820740102320482399805787045557776922124558594290809656966389935355649546849959014655011256061598607496586467305010632791010320651938212237991034694989904690579018400192849397098403 66037513938161139942030623127819340528254899329264264058175177393232142147359006528557047422049205493820599509914572697366794843943305896220992123480137743459714964269451393404125792417606489936983487790753407715053220952912204764745166682583287865872270749989294241158571294375642428652132436944919544298435827688446262926723536544698784853395116662850865259904884085334732009872255946205442462511005109640976337200373664757083833835562902938928451627776471012352373063328647594671222890630330705981326967909763977462400382778335367270002061017391651849163631202604761433807194126797996668089900752869754678017342301962738974205624118899484192979272704981017505112500931539546924346053644393374645545491730421727966356528951048238517318530492457440824040595801963395820075661854680440928342021736564756075719669605603807968719289602444237027894996786633774499707068929941978381327359240682588494063132356466116536848133808225753536536000993924467753410732148860630809134416350578513642110066288133744316936400650017927722645669845605592038812118588137928339197429013384814974197556605569912136132301863982923023482922986998351037568202575252000679678998572279990752361648946586655568990826278766389871809891035170473242276773034731875521708472247491415446949554401064504445543995761908980390735042565120258477447669493757727654841416326341080283472753167299221074969872216820248075401166691210354215132972660971877665038112966464198364833290240927943418600837214824675981128107135232928855064172912941647598189923089111746035099665938142048919857648502547627161421204427397348365638904140018021545690145680601779512441900652727731698428068437496278173604657549756473280985371759053671574738510254531783963410080139480193514982655748745547599959118640723410758614313150261201747972010151525076333404252065385976031386481689190599401515491319310051523112132815845786087905765802632545807117751432097749348996463494505449521180680961386003745392763144170285170500573828588946598400267196330313102392646155623609672977696492410175128336534912494449202807712264347497073383522683373152585863712374733941450604117239122590093476791803245976587278136783864044333552528976724104577297565388890969737377543469817630271804674658816446226533766965396002289282967466632413410946675245996677753080719249756693929541417686243673397005045054723247082871234041809714830236142737961974241218938948385074471142997304294997028492912659545208766939271951322388471202160450021610495911000115239837345089823571723893458974962848209205770922497178276101089413539389704681541820033005897698204067706734415773040915949255255436917463245313475129046993466916108235278129617417654744343553527273989408013273513336925271343197574021044995957626216097496140124882873634201170834184165884643424490178610841265826738811556385931982827606038748919453478819484964343627071988879727481759743124842141102094270647999705230477471429945007338803480095845366080895639289877849924772251731535355949963661297458064039038956331887028572188764839256769146647309237648781324539593864601416597145076002792929797980046877328169652209725593667127707272303329148510703039539928268396281760327090117475952103585057251170754737758524836005245844309095680774529567463163512128540461385538383293040842303472455946911135098324959375450213773907742535048095509555729691161485083163741313278748922186136994066923348961397593065774836441944005926764543482672191697356889736771416683744017116715945006454479649874902643629791903377383355471732666248107625150054716966170188435936136456840250322465366205116073891859485418505047727773559670408789734590060721406290992286807992628396294071259417450585797376581607381361325197633471828063048250885774970594447893532420140006556646268739913397947095767636819173689404316026484586929969111996949124123035732965376451963231113484757839576994307350211679 106850942084489646137495533319951435938092580248117715837614732098346228478802101519869938385748538673148386353444742896996695971431487064476979130272185919072049170765917437191481192995547345515027755831274090580612374616709137464904584172461533796321940408491505664170066029277589623168699814674929475979571130221821242302311554602303844093351556389086196026968062407849594803910930178441981664197874328098492907479639975469326198551710834644036946859455360864432668534116808194385989494774843240368800721129804725687341787624723058880567157625432258796322223840741047208669526328643487948679227303251673457496149435806885859354754631843277487000200518999370748861433576408723506406070644377713410092576094551893739883896983488168072679887166761351536803481151903732113540061042647379621301512101757861179150783999856535204878740562846085087537923287954692420727068666679088276674616669554791924334066680496357514319717661338556698214957999611523161403839615858302832188896712554172053278703750452510317132403501837371598459168735512117827141484245533953185865797842257886230340462631120455241343140335968573597934535505349091207604582844222136939796966189704509789423689807125313548164265463220678749736401114517040336512664926323123594179770729190419570615882735643223037615095946152697508138000407960066659937814916449395066790508736609754460588998998107072678673812624627710864639429906155441086942016455770619046935275767470563292754191218889193224026558081135758251081750965500488957441055955599777173737768532701358998780641185527109072096185293837552828657608884073852025553494047935107429200646292262215045549586489822621318043455479868675888200197613108274217077393610704301927148159058269233679296723142301932687951989515225356454061070114878281596227916215805509279532047895622873999875877281530464901367861449626712016292365422670363609725107081885654309604066779986508324356173789278392532390956718496567218288377246277657929952997776601417711417523841588662014653152560619779252896538041762371833149221890101718288525711255083618635349752567718106017038332628007215675153206608331322784473733372025983942140212159188633337255281964083799322090014412328687866313844454197081347292811007324666727731157534195756856696925387580918501505947513678678721868188938245518762578553611206434937172292882931285302337887143107589262132146679620290298552233933675232041980494114950913306588443733072297391946557524963251364604472249385453047401438184927134083605050958445110942662676770195305037220953913661126092967901986555422041714574379611012781945872122154831872295823631777637377574173340530162244132841668851057817317815009998742473311255904780857195330310170637297715405975235983395535804838305097271560998539684070519471459279972711001883555895797888086285056116435934559444121176015966242905689111495041202865401991070580067977997024143999255232421587089276618667681313263495626717168394294253528118164291631247019490973681946578121618898604328078478474473185054284795326598630864368072984062457848842619634449706718303007412680204923861020898759074228003131610513358187522722372119243639630411723669851398494659992663838901032740711027539420885687063787214927678188237924754146506447626667424696704078471125787044883001520975247683180248134745157261755500194874523413756775838278771007583988423950683511302077953394387059044649954582107653700508279757891847722664641296864805219087321130914000036635535399349119288302262480339744025847113167983769256208260784470303205514305288592842084252098954788093460287542506545296355082407718445629568961617259617296421507371853984807949507873216092806794263863146297873033951381766998190714486012730504940193145937735792310462854037931332747516572452126710949663523036204095562944797054782291830429751002923523071054234979744787959444774973945203367486658221018175336857977187156747310082 172888456022650786079526156447770776466347479577381979895789909491578370626161108048426985807797744166968985863359315594363490815374792960697971253752323662531764135035368830595606985413153835452011243622027498295665595569621342229649750855044821662194211158480799905328637323653232051820832251619849020278006957910267505229035091147002628946746673051937061286872946493184326813783186124647424126708879437739469244680013640226410032387273737582965398487231831876785041597445455789057212385405173946350127689039568703149742170403058426150569218642823910645485855043345808642476720455441484616769128056121428135513491737769624833560378750742761679979473223980388253973934507948270430752124288771088055638067824973621706240425934536406589998417659218792360844076953867127933615722897327820549643533838322617254870453605460343173598030165290322115432920074588466920434137596621066658001975910237380418397199036962474051167851469564310234750958993535990914814571764718933641323313063132685695388770038586254634068804151855299321104838581117709865953602833671881525063226855642701204538019236690367377475442199951496621417458492347442245172785419474137619475964761984500541785338753711969117155091741987068621546292149687513578789437961054999115888242976681835017565437136707727483159091708061677898873042973080325137385484410207122721631925062950834744061752165406293753643684841447958940040596597365795302074989116742496711973388733934761657587481459817136642627395295960434232209858100733417812505228868541424771927691621813105033880307123669157991953833796385179990078813311471200391192398187953128974890791972863994557991487142550353016471523917364954061804855162864747498062765369757973501886669312801017642706803281782126202934645263970904054020188755601692354842229366066711027504058047147950333280129346916440932754343138817311417807856741980415132837239897731440397509832582619054131473925221376141881387420213002016739469058207663661675345760920771702881918097670177608613053419756950092355289184197385981506126918382511893416862246167578067838157464832065603090421855311380368261016918983065264235077850611148574035617003962434609924533418747947843655642543389052792443611409843088051084670354477142296999535832193012203083230692352976920790788914980311092132814864184242196515659272860963128866713710569174958699342932197830836345003380721430005128788376671637206283199433063335987777731441037367294420439470184508460131543744200707841518603598634948744579516051073684948287752500341919198496195916761870331863890399164831523131128113769315694323765905128052530076363530366193410418490122595785599161596086982326186864311281926106977751440873322435601538883837444626705728679488572908666879002412326142267518624755781566659596342153606912172717740061682531510775234727277200386182932732401898225733295150243960656344221476034923695049985903871481014975546429230378712938329312968726104188598339301592331598260136997327915130263559796502893870630139684028442135770643118323834282930517892940261748901714617989266943687355499627547006544806340458165974761867157801111657390686357174932097712910767337684026998999909197699532592107297314501038117656896837790648844466098432925996449590151752291935763105471233645934289299173423462906513630976221090438217613208666635293199482789206989612186513542632083933506413202463563036558128372323398876768244647767431628719289440788439477738808811145851864613586191733992425136120535972046279597055689032301592817858671899838052687847686560986037954840949709402153671754263648723478643002136605404873084650745642853476745035801469235145413655216739242463276814213085256149954290501430245453026415641300283389312112321554471135369264138525902288817107718111020345659131089670079682472835476342744150549928649603440407239549555641164948856784908568898009678168743938621452131660094697554181464097521761 279739398107140432217021689767722212404440059825499695733404641589924599104963209568296924193546282840117372216804058491360186786806280025174950384024509581603813305801286267787088178408701180967038999453301588876277970186330479694554335027506355458516151566972305569498703352930821674989532066294778496257578088132088747531346645749306473040098229441023257313841008901033921617694116303089405790906753765837962152159653615695736230938984572227002345346687192741217710131562263983443201880180017186718928410169373428837083958027781485031136376268256169441808078884086855851146246784084972565448355359373101593009641173576510692915133382586039166979673742979759002835368084356993937158194933148801465730643919525515446124322918024574662678304825980143897647558105770860047155783939975200170945045940080478434021237605316878378476770728136407202970843362543159341161206263300154934676592579792172342731265717458831565487569130902866932965916993147514076218411380577236473512209775686857748667473789038764951201207653692670919564007316629827693095087079205834710929024697900587434878481867810822618818582535920070219351993997696533452777368263696274559272930951689010331209028560837282665319357205207747371282693264204553915302102887378122710068013705872254588181319872350950520774187654214375407011043381040391797323299326656517788422433799560589204650751163513366432317497466075669804680026503521236389017005572513115758908664501405324950341672678706329866653953377096192483291609066233906769946284824141201945665460154514464032660948309196267064050019090222732818736422195545052416745892235888236404091438265126209603541073632372974334514979397233629950005052775973021715140158980462275429034828371070251322003526424084058890886634779196260508081258870479973951070145581872220307036105942770824333156006628446905834122204588444023434100222164650778742562346979617094707113899362605562455830099010654534413778376931498583957757435453941319605298758697373120593335621511766270627706572317569871608185722239148353339276140272613611705387957422661686473507217399783709107460187939387583936170125591396587019551583983174557977757216121623243261788700712031642977732557801381480309925254297285132431963165484466963727266989727207959939927617740557839292294862493989770854683053122487715278237826472169563803886003452106244001680819340938425607135527401050295427340610605312438325179927178286901084319884770439591812386027709471711496148216450093294566005036819875878663121102032130059230415177112114503533416870675531457956858301151386945172842688148926707105711777250207361948659353997971047796064295936315761405728928651177244681629096936105720224752129227216458734214147615264003444085463808892062414807250631239539079623295465637179067801433579623174601295957480419597060290843713134945627053908417864468638984261739001859209623467105503763027982928015480270207968016319655331606010626232221730905766733595845859716424428628574934621237241743081015489528744012106920610243828172608629609529148757308334732964172466831886578137062217930554419225011264319186873520941385804243267904044544697654469832154406968095750668851307692359525255946198347241749145196317723477712631681026111114234374344298258739562430530167937724405415086218306464427488878659401338572962770470422135488074006202963765450465284550216072357457096713765640989952515431368048831350352301467939908477181288511104119035673616364939185744500191770627960535469655260348542077395433058148705985842441156046313472317989766500343243433791793654252626542357109011021149547432960487280803096375211815094004653097890742517267640024688750336492907019879520013100588374464196834793413832014769402042617261747617073105056448988756326748440465627592797785842039333602718676931039287541205332220480033191410163072626695399928601572868013672983623372111425279673149835431555531368620844831843 452627854129791218296547846215492988870787539402881675629194551081502969731124317616723910001344027007086358080163374085723677602181072985872921637776833244135577440836655098382695163821855016419050243075329087171943565755951821924204085882551177120710362725453105474827340676584053726810364317914627516535585046042356252760381736896309101986844902492960318600713955394218248431477302427736829917615633203577431396839667255922146263326258309809967743833919024618002751729007719772500414265585191133069056099208942131986826128430839911181705594911080080087293933927432664493622967239526457182217483415494529728523132911346135526475512133328800846959146966960147256809302592305264367910319221919889521368711744499137152364748852560981252676722485198936258491635059637987980771506837303020720588579778403095688891691210777221552074800893426729318403763437131626261595343859921221592678568490029552761128464754421305616655420600467177167716875986683504991032983145296170114835522838819543444056243827625019585270011805547970240668845897747537559048689912877716235992251553543288639416501104501189996294024735871566840769452490043975697950153683170412178748895713673510872994367314549251782474448947194815992828985413892067494091540848433121825956256682554089605746757009058678003933279362276053305884086354120716934708783736863640510054358862511423948712503328919660185961182307523628744720623100887031691091994689255612470882053235340086607929154138523466509281348673056626715501467166967324582451513692682626717593151776327569066541255432865425056003852886607912808815235507016252807938290423841365378982230237990204161532560774923327350986503314598584011809907938837769213202924350220248930921497683871268964710329705866185093821280043167164562101447626081666305912374947938931334540163989918774666436135975363346766876547727261334851908078906631193875399586877348535104623731945224616587304024232030676295165797144500600697226493661604981280644519618144823475253719181943879240759992074519963963474906436534334845403058655125505122250203590239754311664682231849312197882043250767952197187044574461851254629434594323132013374220084057853186322119459979486633375101190434272753536664140373183516633519961609260726802821920220163023158310093534760083083777474300862987497917306729911793897099333132692670599714021281202701023751538769261952138908122480300556128987276949644608379360241622888862051325807806886232825497893980171627691960650801136084608635454824623242637153105815007518167677454033702029612787437401789820748700316218468303970801918242401429477682378259892025022884364164458214554418532101360567325015633503431545940378862212697976193002549652060273097985059890709172764952381800729293809662957381806598248051247203838664143587186535347319036019162951107835525570990335331809986640819762694372279411982962515553844943140427458077968831886961285183514445550034044544339939200947835094365072897438191314684565625902849751500801539583909360158883696135362746014471290932463892459666650248596481865887084821153521824417717558101425769817604777352848282808543605354925294730901872586567545065174305779777667851216890059057848053495661742787262853214561268361476147124544040230823934450011031498193635639171370339704385391729927334002509635622429011180383679088770781273488992170755062651798092848156290963509916229204026510643803691447708118596949235371537196470729299543596774482427510791050358086383504620385671590191232394821674451122090450298803701113055884366160165676327486381198274741503056406298296620757734499792549569565892153887747120854668570749688899359977662681295241427992799769721232964776163054878875894442287819829473315052791354729583302088208474320587514658615565548183738613143444973129003682401149766515630285355882149129636631817402622182336564877458357776582570993301540855363901125281495526253085550084942353604 732367252236931650513569535983215201275227599228381371362599192671427568836087527185020834194890309847203730296967432577083864388987353011047872021801342825739390746637941366169783342230556197386089242528630676048221535942282301618758420910057532579226514292425411044326044029514875401799896384209406012793163134174445000291728382645615575026943131933983575914554964295252170049171418730826235708522386969415393548999320871617882494265242882036970089180606217359220461860569983755943616145765208319787984509378315560823910086458621396212841971179336249529102012811519520344769214023611429747665838774867631321532774084922646219390645515914840013938820709939906259644670676662258305068514155068690987099355664024652598489071770585555915355027311179080156139193165408848027927290777278220891533625718483574122912928816094099930551571621563136521374606799674785602756550123221376527355161069821725103859730471880137182142989731370044100682792979831019067251394525873406588347732614506401192723717616663784536471219459240641160232853214377365252143776992083550946921276251443876074294982972312012615112607271791637060121446487740509150727521946866686738021826665362521204203395875386534447793806152402563364111678678096621409393643735811244536024270388426344193928076881409628524707467016490428712895129735161108732032083063520158298476792662072013153363254492433026618278679773599298549400649604408268080109000261768728229790717736745411558270826817229796375935302050152819198793076233201231352397798516823828663258611930842033099202203742061692120053871976830645627551657702561305224684182659729601783073668503116413765073634407296301685501482711832213961814960714810790928343083330682524359956326054941520286713856129950243984707914822363425070182706496561640256982520529811151641576269932689598999592142603810252600998752315705358286008301071281972617961933856965629811737631307830179043134123242685210708944174075999184654983929115546300885943278315517944068589340693710149868466564392089835571660628675682688184679198927739116827638161012901440785171899631633021305342231190155536133357170165858438274181018577497689991131436205681096448110820172011129611107658991815753063461918437658315948596685446076224454069811647428122963085927834092599375378639968290633842180970429217627072134925805302256474485717473387446702704570879707687559274435523530595983469597882262082933559287419909789946371210578246478045211525603451883123840177100894430650613672274700501905758255137945066748582854566148205563029658112933247777607001467605413476813490067169108535189459628467253973682238362135506010618714468417121973053944284680676227569475798318418200945131776868519007312132675154712616850416190692791708616913588621345677871346712841017731945020766158521920331976643370704895816414703470277437040549237627163011263673721964374763468410245931221105951759902441555391482461869689376150350565433169566000131806493284051031108994254477784372738043282664924849687627708242283356258299463541093501988815407556931214830059551653040099961479935488655844994828869096539721803749929409598193198775446570241037377219581273875528336702524582418583103999694008984536408049532284746074107828150655154465198278748269771060624165807109094745119471610036391761491388295023767584143154149510906269347495195134520513117082643064228648420606629994845016463159235059496539468949250703311445673652017810647715810156043875730236102586575275248346207059846492743363751846555148599004789543554211930679632483666093986724441708533296710658924838977866745520942097002526379434690843496066483664754341997250720179948935266116743136262628252844296176155467250358639122613243305329822193397346845049705281579377036503414942313988649366205941230815168337285119826697554917826561214369609669823227565694809031964806059930644596243976924912966789180798431330957808616918705787185447 1184995106366722868810117382198708190146015138631263046991793743752930538567211844801744744196234336854290088377130806662807541991168425996920793659578176069874968187474596464552478506052411213805139485603959763220165101698234123542962506792608709699936877017878516519153384706098929128610260702124033529328748180216801253052110119541924677013788034426943894515268919689470418480648721158563065626138020172992824945838988127540028757591501191846937833014525241977223213589577703528444030411350399452857040608587257692810736214889461307394547566090416329616395946738952184838392181263137886929883322190362161050055906996268781745866157649243640860897967676900053516453973268967522672978833376988580508468067408523789750853820623146537168031749796378016414630828225046836008698797614581241612122205496886669811804620026871321482626372514989865839778370236806411864351893983142598120033729559851277864988195226301442798798410331837221268399668966514524058284377671169576703183255453325944636779961444288804121741231264788611400901699112124902811192466904961267182913527804987164713711484076813202611406632007663203900890898977784484848677675630037098916770722379036032077197763189935786230268255099597379356940664091988688903485184584244366361980527070980433799674833890468306528640746378766482018779216089281825666740866800383798808531151524583437102075757821352686804239862081122927294121272705295299771200994951024340700672770972085498166199980955753262885216650723209445914294543400168555934849312209506455380851763707169602165743459174927117176057724863438558436366893209577558032622473083570967162055898741106617926606195182219629036487986026430797973624868653648560141546007680902773290877823738812789251424185835816429078529194865530589632284154122643306562894895477750082976116433922608373666028278579173599367875300042966693137916379977913166493361520734314164916361363253054795630438147474715887004109971220499785352210422777151282166587797933662767543843059875654029109226556466609799535135535112217023030082257582864621949888364603141195096836581863482333503224274440923488330544214740320289528810453171820822004505656289738949634432939631990616244482760182250025816998582578031499465230205407685485180872633567648285986244237927627359458462417442591496829678887735947538866032025138434949145085431494668649403728322418476949511413343646010896539598585159211727541938647661532678808422536386053364278037023497432054751532137751695566735222307729525125148395408243760074266750532020181907592642445550335037598355701783823881780784291985411509964667142006727145998705122726299964225173133000518482540378959918184107773509854660531116177138134326520579280410117735045421789615368572493521002426576546003152276119397960044856396088607952693869239367995806321812731341985693805609247027190057389857383543085704926890317313353386358679183920591789402840574996907419723420694690504634117401094496879390722242345793559880380634124238844822248834209846511404377646102272770754473557394448482057805527696695946636474193621785897653046757270764646473873892570086558473014953118493506348442827604922284755579655306004553741472477640952053189670727323670902746846014435583975275199194696022213198280802558817801446280465084823857001766319095493897930646196595323537828599677050620984187305275575768880735912384939384116546224049042973803038750944247587546199938682982870122747110191312584638471386521286460672958779868731878650037725138185426297677239049303593244667267815045792649342421473105639983274799767065223135598624480020734646572092271588578590616921152235504030896610697842630230507544735936032349485809072339210346126253081410433072778644874984752076428351793490053697624018073557879536833104819084675788297340967520976464070548111917096518739306455044968316991368529683518288421178814970226453822153081923712826484061702468790729539051 1917362358603654519323686918181923391421242737859644418354392936424358107403299371986765578391124646701493818674098239239891406380155779007968665681379518895614358934112537830722261848282967411191228728132590439268386637640516425161720927702666242279163391310303927563479428735613804530410157086333439542121911314391246253343838502187540252040731166360927470429823883984722588529820139889389301334660407142408218494838308999157911251856744073883907922195131459336443675450147687284387646557115607772645025117965573253634646301348082703607389537269752579145497959550471705183161395286749316677549160965229792371588681081191427965256803165158480874836788386839959776098643945629780978047347532057271495567423072548442349342892393732093083386777107557096570770021390455684036626088391859462503655831215370243934717548842965421413177944136553002361152977036481197467108444106363974647388890629673002968847925698181579980941400063207265369082461946345543125535772197042983291530988067832345829503679060952588658212450724029252561134552326502268063336243897044818129834804056431040788006467049125215226519239279454840961012345465524993999405197576903785654792549044398553281401159065322320678062061251999942721052342770085310312878828320055610898004797459406777993602910771877935053348213395256910731674345824442934398772949863903957107007944186655450255439012313785713422518541854722225843521922309703567851309995212793068930463488708830909724470807772983059261151952773362265113087619633369787287247110726330284044110375638011635264945662916988809296111596840269204063918550912138863257306655743300568945129567244223031691679829589515930721989468738263011935439829368459351069889091011585297650834149793754309538138041965766673063237109687894014702466860619204946819877416007561234617692703855297972665620421182983851968874052358672051423924681049195139111323454591279794728098994560884974673572270717401097713054145296498970007194351892697583052531076249180711612432400569364178977693120858699635106796163787899711214761456510603738777526525616042635882008481495115354808566505631079024463901384906178727802991471749318511995637092495420046082543759804001745855590419174065778880460501015689815413826890853761709634942445215076408949330165761719958833841057410882130671859858165165165938166950943737205619571148968056096106432893298184637070687779169541492523068183041473810475497935081442468754793746964299842323248549100883937875372314852589997385835980004225627054153663381705141015333386586330113155672103663268285375962703251429295257597782052580618499856601635194399972387361088435470235791847468935604513432904202864784001079330458849534378083266103389098287722250410200134406465784763186312711043490134624497953990744672885874128033628718852391159699972449692517627158400397275886684067739295017020394806759426891265080781763632289900289872351691844395966479369289412796845041070067286967094628685884006293376902554134858418496976888104913759059534139112619929458531070218014650896437297465362458911526006188127233721747377588535413115759475342970432291890308402424551311692281795013068642299504336853530834341256266054896224056052883679711860078952279130760509691803425854349161220491946550573619441967253389559829943328611802710856985286225669964179466691978110583319968479382439796088885963378976613587804723176218894059436962273810440787056495450641994428543774764920839028394794515262251522563259534055117078085709884217881549178144232387648308382788221479745725425133008515459830081691808096477724147974576491225541676743574618651023269434112987635900258372893861418022579165773661479072294977738653368515365813376611720533046316083974697178149423273401498771633074660521488500193525482471025025906603465678252640803161625465938478310888348976278272534011800400494489578219065775058947151366788942262722144157441870319387496516724498 3102357464970377388133804300380631581567257876490907465346186680177288645970511216788510322587358983555783907051229045902698948371324205004889459340957694965489327121587134295274740354335378624996368213736550202488551739338750548704683434495274951979100268328182444082632813441712733659020417788457473071450659494608047506395948621729464929054519200787871364945092803674193007010468861047952366960798427315401043440677297126697940009448245265730845755209656701313666889039725390812831676968466007225502065726552830946445382516237544011001937103360168908761893906289423890021553576549887203607432483155591953421644588077460209711122960814402121735734756063740013292552617214597303651026180909045852004035490481072232100196713016878630251418526903935112985400849615502520045324886006440704115778036712256913746522168869836742895804316651542868200931347273287609331460338089506572767422620189524280833836120924483022779739810395044486637482130912860067183820149868212559994714243521158290466283640505241392779953681988817863962036251438627170874528710802006085312748331861418205501717951125938417837925871287118044861903244443309478848082873206940884571563271423434585358598922255258106908330316351597322077993006862073999216364012904299977259985324530387211793277744662346241581988959774023392750453561913724760065513816664287755915539095711238887357514770135138400226758403935845153137643195014998867622510990163817409631136259680916407890670788728736322146368603496571711027382163033538343222096422935836739424962139345181237430689122091915926472169321703707762500285444121716421289929128826871536107185465985329649618286024771735559758477454764693809909064698022107911211435098692488070941711973532567098789562227801583102141766304553424604334751014741848253382772311485311317593809137777906346331648699762157451336749352401638744561841061027108305604684975325593959644460357813939770304010418192116984717164116516998755359404774669848865219118874182843479156275460445018208086919677325309434641931698900116734244843714093468360727414890219183830978845063358597688311790780072002512794445599646499017331801924921139334000142748785158995716976699435992362100073179356315804697459083593721314879057096261447194815815078782724694935574403689347318292303474853473627501538745901112704804198976082172154764656580462724745510161215716661586582101122815552389062666768200685538017436582742975147563216283350353206601285572598315992626904452604285564121058287733750752202549071625465215282083918606512020748314549213603322974318405035253177038382074037992128464523743641921545971092483814735434460964980469454087053811864121048891774589185119380650555221400429909677568132368145245556196081153335679833713470066680627650230110142632930730524122236671546260399067968256014330358500386091081495931094929352406877778349845131818155398095117018648579473792943481247236541476276709136217539731574701404368189125565274728535722696114015239052621215732927162593269380650516997575560803840972488208290885779523167986608221952824601427343533275241582170386524121816844324861976866875439504430185788143455896247221789092433186140345810007527373865008106073350439183749855025976774945275778701053543857242705144831376178259768699670024914767185613569029952479184156316160774790229806710260370589463569745071664654844114888998527188839722442943102410765312561385034644041650580677411413897512031030340979432986648772809023932492834985809964359921943019734604441909626697611976032888747560771217782350936932935721675082896244789371110175115705562411390146710922611848024729908788135762403790472115865209396281206215008327327224462440854576159502864801943479388862619572162901499701753292261686772284539562058073062315575844110582391763019220161779625696014050395407407088282733317502328791769024173096507486953873917377820611095344645856983925932021856287246263549 5019719823574031907457491218562554972988500614350551883700579616601646753373810588775275900978483630257277725725327285142590354751479984012858125022337213861103686055699672125997002202618346036187596941869140641756938376979266973866404362197941194258263659638486371646112242177326538189430574874790912613572570808999293759739787123917005181095250367148798835374916687658915595540289000937341668295458834457809261935515606125855851261304989339614753677404788160650110564489873078097219323525581614998147090844518404200080028817585626714609326640629921487907391865839895595204714971836636520284981644120821745793233269158651637676379763979560602610571544450579973068651261160227084629073528441103123499602913553620674449539605410610723334805304011492209556170871005958204081950974398300166619433867927627157681239717712802164308982260788095870562084324309768806798568782195870547414811510819197283802684046622664602760681210458251752006564592859205610309355922065255543286245231588990636295787319566193981438166132712847116523170803765129438937864954699050903442583135917849246289724418175063633064445110566572885822915589908834472847488070783844670226355820467833138640000081320580427586392377603597264799045349632159309529242841224355588157990121989793989786880655434224176635337173169280303482127907738167694464286766528191713022547039897894337612953782448924113649276945790567378981165117324702435473820985376610478561599748389747317615141596501719381407520556269933976140469782666908130509343533662167023469072514983192872695634785008904735768280918543976966564203995033855284547235784570172105052315033229552681309965854361251490480466923502956821844504527390567262281324189704073368592546123326321408327700269767349775205003414241318619037217875361053200202649727492872552211501841633204318997269120945141303305623404760310795985765742076303444716008429916873754372559352374824744977582688909518082430218261813497725366599126562546448271649950432024190768707861014382387064612798184009069748727862688016445459605170604072099504941415835226466860853544853713043120357285703081537258346984552677745134793396670457845995779841280579041799520459239994107955663598530381583577919584609411130292883987115208904450757523997801103884904569451067277126144532264355758173398604066277870742365927025909360384227729430780841616594109014846223652788901985093881585734951242159348492934517824417616318010030314653048924534121699199930502276767456875561506894267737976379256702735007170356297417305192842133903986652876871608350281108286682472295979856090572746964380345277115945943479844903170904696756827938389691567244768323913675775668515578230184933304666533298775855854618555445690602546938098866146424513556815252148184100887305816604652155865390398651558767940705706847985658786488357382615162668647423898173156604558709420478876880650938479763665295173091632507955645998549014384772644768691335283754251158734829099598668150097471118192621032076352328914789629617505019334911190502859187323076988530445519747959012728661065280652830117583502283597159814757153867175277864055741878069938468964889521293429286716974687066273582270089064158957030151043828807305107535454967582126907893018463197091381949797701735953059584744710514225371740809464470381986124954256921784820843690557942952184867753540807493865612114993562898661837161847727586371825821700537101222671839957672276951869369374227501911024331587192026890102888050069806160901283782586142014345920358821110227306496642915359452392765803366890992722513519084751606931104088133721329573635117458842896424036020776684333533887788562054867694080622304963115809369941972879476522476525704946594269341050922975154791033319846945061050558266587798046869136488995228697472802582787321479988873718295437259011590036340592169518662674726552728932864529187400037607368001141367802341243783762988047 8122077288544409295591295518943186554555758490841459349046766296778935399344321805563786223565842613813061632776556331045289303122804189017747584363294908826593013177286806421271742556953724661183965155605690844245490116318017522571087796693216146237363927966668815728745055619039271848450992663248385685023230303607341266135735745646470110149769567936670200320009491333108602550757861985294035256257261773210305376192903252553791270753234605345599432614444861963777453529598468910051000494047622223649156571071235146525411333823170725611263743990090396669285772129319485226268548386523723892414127276413699214877857236111847387502724793962724346306300514319986361203878374824388280099709350148975503638404034692906549736318427489353586223830915427322541571720621460724127275860404740870735211904639884071427761886582638907204786577439638738763015671583056416130029120285377120182234131008721564636520167547147625540421020853296238644046723772065677493176071933468103280959475110148926762070960071435374218119814701664980485207055203756609812393665501056988755331467779267451791442369301002050902370981853690930684818834352143951695570943990785554797919091891267723998599003575838534494722693955194586877038356494233308745606854128655565417975446520181201580158400096570418217326132943303696232581469651892454529800583192479468938086135609133224970468552584062513876035349726412532118808312339701303096331975540427888192736008070663725505812385230455703553889159766505687167851945700446473731439956598003762894034654328374110126323907100820662240450240247684729064489439155571705837164913397043641159500499214882330928251879132987050238944378267650631753569225412675173492759288396561439534258096858888507117262497568932877346769718794743223371968890102901453585422038978183869805310979411110665328917820707298754642372757161949540547606803103411750320693405242467714017019710188764515281593107101635067147382378330496480726003901232395313490768824614867669924983321459400595151532475509318504390659561588133179704448884697540460232356306054410297839698608212310731432148065775084050052792584199176762466595321591597179995922590065738037516497158675986470055736777886697388275378668203132445171941083376656099266572602780525798820478973140414595418448007117829385674937349967390575546564903108081515148884309893505587126755324731507810234890024800646270648401719442844886510371100567392763881226313665006255525819694297515923129181220061161125627952555471727131459251806632635571579501223799354154652301202090474931324599513321935649334361930128564875428904088919037491914572328717906339157721808407843778621056632444962567550257700697610835488526066963208453423986986700691246798628091434545980137983623495879798414211029938747335176278102061944911957835908961721178344159172579438878546257597999830775951506449690527575876971997669587059237458238654338869049431922707685231924504219470095703472879816433463364822294782165336523739408353959238945598295440146615080580138752162991067478208856511698432127969911837330088408813928071699753888807718976659082015844042153303560172063858081924861136743082521719903115032876281109643954072265030380590227578662331084310400243360827961436875705902236213325975961504652729609659477699838940770761943654538302285729047151591531104061147406521929939418195651608754610642182402621104780264258492898933210856344578751803349251371569788982899710353660488559797140611124519725088698014429728103921018387028051641043532334853998974867267860697710389325701525041973888967302890194926722636666499523868040496246965483572805212171783180474805649752997958336073909088949632187578250224518132382341324420005093809213841503952422676908083295006619229600612616339650113622713247071386991716692964362413017494039269125702525541744907538669383938542835771234039682806781907008011132952013858125293734363100071009251596 13141797112118441203048786737505741527544259105192011232747345913380582152718132394339062124544326244070339358501883616187879657874284173030605709385632122687696699232986478547268744759572070697371562097474831486002428493297284496437492158891157340495627587605155187374857297796365810037881567538039298298595801112606635025875522869563475291245019935085469035694926178992024198091046862922635703551716096231019567311708509378409642532058223944960353110019233022613888018019471547007270324019629237221796247415589639346605440151408797440220590384620011884576677637969215080430983520223160244177395771397235445008111126394763485063882488773523326956877844964899959429855139535051472909173237791252099003241317588313580999275923838100076921029134926919532097742591627418928209226834803041037354645772567511229109001604295441071513768838227734609325099995892825222928597902481247667597045641827918848439204214169812228301102231311547990650611316631271287802531993998723646567204706699139563057858279637629355656285947414512097008377858968886048750258620200107892197914603697116698081166787476065683966816092420263816507734424260978424543059014774630225024274912359100862638599084896418962081115071558791851676083706126392618274849695353011153575965568509975191367039055530794594852663306112583999714709377390060148994087349720671181960633175507027562583422335032986627525312295516979911099973429664403738570152960917038366754335756460411043120953981732175084961409716036439663308321728367354604240783490260170786363107169311566982821958692109725398008731158791661695628693434189426990384400697967215746211815532444435012238217733494238540719411301770607453598073752803242435774083478100634808126804220185209915444962767336282652551773133036061842409186765463954653788071766471056422016812821044314984326186941652440057947996161922260336533372545179715195036701835159341468389579062563589260259175796011153149577600640143994206092603027794941761762418775046891860693691182473782982216145273693327574139387424276149625164054055301612559737297721889636764700552153066023774552505351478165587311139568751854507601388718262055025991702431346317079316017617915980578011400376417078971853298252812543575464825070491865003717330126778326902705383542591481872544592539382185143848335954033668446288930830133990875533112039324286428743349433746354033887678926785740152234136670685004235003305618391810380199236343979659304450353815996715853631457987518036687134846823209703510715954541639805927876918528992196288556287854967346539674880621608618121630341786219137622393284434196153437858052173621077243854478636346233470188301400768876243325926216275841020421830733496507229279841605256136937401175029533412126562497180311131946598311917244563939828433967452343563516603849667428026329817959067796261161420266647254674124663054249236996355848878320525539001123533827430501557387568706234246309276864238787038756634067592198193921893450315433994857600974991315297927210229776232585599473663353493926665531933500228877647717870850058749474094580901817337391091316136473839169711217431167615913941928020393826026264375951006620089719942554691914043136423987410741271407469636191845855210942954869329894169099327595275773663240605789194404188214064312511571408124920288410683304073376351947751705349474114807171736459102620222757175965519766617426106220485305036678045115853026021091329242065934769079727887990470821472198316546615191586064499534264822302169614193655389452693675109202173764503613069841718467328408864881689816409279678329567770587657589370069882082942415701636207803957159139183640786520390941603169571937150694059594460105261817846896530798755808110845003345652062874328326466174661663174606237911669582383560382220414165766945200338974028142843997962800756497575009976108061498445960592411739646436195411170559381859266661536704343854772239643 21263874400662850498640082256448928082100017596033470581794112210159517552062454199902848348110168857883400991278439947233168960997088362048353293748927031514289712410273284968540487316525795358555527253080522330247918609615302019008579955584373486732991515571824003103602353415405081886332560201287683983619031416213976292011258615209945401394789503022139236014935670325132800641804724907929738807973358004229872687901412630963433802811458550305952542633677884577665471549070015917321324513676859445445403986660874493130851485231968165831854128610102281245963410098534565657252068609683968069809898673649144222988983630875332451385213567486051303184145479219945791059017909875861189272947141401074506879721623006487549012242265589430507252965842346854639314312248879652336502695207781908089857677207395300536763490878079978718555415667373348088115667475881639058627022766624787779279772836640413075724381716959853841523252164844229294658040403336965295708065932191749848164181809288489819929239709064729874405762116177077493584914172642658562652285701164880953246071476384149872609156777067734869187074273954747192553258613122376238629958765415779822194004250368586637198088472257496575837765513986438553122062620625927020456549481666718993941015030156392947197455627365013069989439055887695947290847041952603523887932913150650898719311116160787553890887617049141401347645243392443218781742004105041666484936457466254947071764531074768626766366962630788515298875802945350476173674067801077972223446858174549257141823639941092948282599210546060249181399039346424693182873344998696221565611364259387371316031659317343166469612627225590958355680038258085351642978215917609266842766497196247661062317044098422562225264905215529898542851830805065781155655566856107373493805449240291822123800455425649655104762359738812590368919084209877080979348283126945357395240401809182406598772752353775540768903112788216724983018474490686818606929027337075253187599661759530618674503933183577367677749202646078530046985864282804868502939999153019969654027944047062540250761278334505984653417253249637363932152951031270067984039853652205987625021412055116832514776591967048067137154303776360128676921015676020636766153868521102983902729558852701525862515731896467963040546500014529523273304001059021835495733242072390681996349217792015870104758477861844122568951586386422882538390127849121513676718959203144080462657644665559976173510294231776760639207579197812762799378681430642175206348272441499456419752791550443208589057057821470999480134930553770964703716347702497822188523115190929772624502338983583012200444754077248809358033213838810876183916973451855910356800459715682703828591956828184199803120967958106700480803807011745012522947183311275004712069514288475474439758629149204673977131647235139707677864647085450076169503939764572232820875990112598238581772481769370606819491413919478233781083708882742229513884025661558744188232480770518597009328950554243525505669922847666179612415516484994143740790011927309775687782687388837882908508973517091279899035113132921185555259584471176086005786102318687163007458472726523204752818835801557997208689017791331498986131967276156255454303782830766769875001563808601749624745258518804063665913903253282333351779458590696412351224967883051812852755996044746589932110711374833399358368140871397690364713384238247534389694604829370342700811854917668790081548479030618612809441066340280284078929262368743320556642245296432985028529108177041032364310780231044168853450838770657119299474605052204437087181457410566129048425988506848379587137633944833393784478727015512258521569338272309818978237644159171316535892565021952348955768328970957623333085404262275790945888025292295630631769212130858731307613356468067411969700488342501405113679360046604334217194632094546428343203422303511395717391955271067443925781491239 34405671512781291701688868993954669609644276701225481814541458123540099704780586594241910472654495101953740349780323563421048618871372535078959003134559154201986411643259763515809232076097866055927089350555353816250347102912586515446072114475530827228619103176979190478459651211770891924214127739326982282214832528820611317886781484773420692639809438107608271709861849317156998732851587830565442359689454235249439999609922009373076334869682495266305652652910907191553489568541562924591648533306096667241651402250513839736291636640765606052444513230114165822641048067749646088235588832844212247205670070884589231100110025638817515267702341009378260061990444119905220914157444927334098446184932653173510121039211320068548288166103689507428282100769266386737056903876298580545729530010822945444503449774906529645765095173521050232324253895107957413215663368706861987224925247872455376325414664559261514928595886772082142625483476392219945269357034608253098240059930915396415368888508428052877787519346694085530691709530689174501962773141528707312910905901272773151160675173500847953775944253133418836003166694218563700287682874100800781688973540046004846468916609469449275797173368676458656952837072778290229205768747018545295306244834677872569906583540131584314236511158159607922652745168471695662000224432012752517975282633821832859352486623188350137313222650035768926659940760372354318755171668508780236637897374504621701407520991485811747720348694805873476708591839385013784495402435155682213006937118345335620248992951508075770241291320271458257912557831008120321876307534425686605966309331475133583131564103752355404687346121464131677766981808865538949716731019160045040926244597831055787866537229308338007188032241498182450315984866866908190342421030810761161565571920296713838936621499740633981291704012178870538365081006470213614351893462842140394097075561150650796177835315943035799944699123941366302583658618484892911209956822278837015606374708651391312365686406966559583823022895973652669434410140432430032556995300765579706951749833683827240802914344358280537158768731415224675071721702885777669372758115707231979327452758372196148532394507947626078537530720855331981975173828219596101591224360386106701232856337179604231246058323378340507633085882199673371609258034727468124426563376063266215108388542078444613454192224215878010247878372126575116675060812853356516982337351013524279699001624324864426527326290947630392097195097234499897646201891134152891160889912247427333338281783746731764876912025168010674360756539171892595045502566840120215472957311344367630676675960060826866679081100310718997659433982715054202110133249292876332187533956222911983670197212965121600978150501370233262977984118143691610834864427875214833146036966632038991043608296577231003795090715031400869098131294340124200832558189001568588669754310638137239705306309199872164207060120153724543057947947669780986147951617859752666081682796204513454610303941869541452715899699080251779086078869978920809272723512156187423405653537447587357003089875334428670990351249606760355266477015638791999947714122712513189271834423733143294472761390493472040345113005202072770393601603468002110665246737700096664044100891403877523287985864307998467854127967565793904759904378879107095655298344234999564558105470159553761668569813995056156534333660638015116470933869543284212434810457855391434030053920852437869809436469501440085007757612955471870143428796633565622726256438951822437722204217379214796867923850072762636181859703652346935708754283381772207674839046780636011131368404208484587391094793084017034570999117957115428093506488966369413438342905977018213066691320830063193959113981033831951659551578923938965552125936961878014192151432545024498252813695442095554813698451143257902688689336154665832663155224506286074779398833474070777576658616807771787780553730882 55669545913444142200328951250403597691744294297258952396335570333699617256843040794144758820764663959837141341058763510654217579868460897127312296883486185716276124053533048484349719392623661414482616603635876146498265712527888534454652070059904313961610618748803193582062004627175973810546687940614666265833863945034587609898040099983366094034598941129747507724797519642289799374656312738495181167662812239479312687511334640336510137681141045572258195286588791769218961117611578841912973046982956112687055388911388332867143121872733771884298641840216447068604458166284211745487657442528180317015568744533733454089093656514149966652915908495429563246135923339851011973175354803195287719132074054248017000760834326556097300408369278937935535066611613241376371216125178232882232225218604853534361126982301830182528586051601028950879669562481305501331330844588501045851948014497243155605187501199674590652977603731935984148735641236449239927397437945218393948125863107146263533070317716542697716759055758815405097471646866251995547687314171365875563191602437654104406746649884997826385101030201153705190240968173310892840941487223177020318932305461784668662920859838035912995261840933955232790602586764728782327831367644472315762794316344591563847598570287977261433966785524620992642184224359391609291071473965356041863215546972483758071797739349137691204110267084910328007586003764797537536913672613821903122833831970876648479285522560580374486715657436661992007467642330364260669076502956760185230383976519884877390816591449168718523890530817518507093956870354545015059180879424382827531920695734520954447595763069698571156958748689722636122661847123624301359709235077654307769011095027303448928854273406760569413297146713712348858836697671973971498076597666868535059377369537005661060421955166283636396466371917683128734000090680090695331241745969085751492315962959833202776608068296811340713602236729583027566677092975579729816885849615912268793974370410921931040190340150136951500772098619731199481396004715234901059935299918599676605777777730889781053675622692786521812185984664862039003874653917047737356797969359437966952474170427312981047171099914674145674685024631692110652094843895616738357378228907209685135585896032305757108574055274808470673632382214202894882562035786489959922296618135656897104737759870460483558950702077722132816829958512997999213450940702478030659056310216668360161659268990424402700836585179407152736402676432312660445580572564795066367238184688926789758034575297174973465969082989481673840891469725663559749218914542618037661480426535297403301178299044409878879525854387967807017467196553865078294050222744732242544334415938594687498789169793305800781271469328339963458787925155436623357811611186489837858106480920514465483366925726435677772222362266540576775995941425574277002062128766140821490630300750735478287078790969242771026551534073202776839031656552523215661835643521311410269915276975032051619632892423784978221569621927917958698494386463914953013513524083497199093436224836425239911598848851519950889386362739681540821736600109968085953500225031200352279292896459666499225580226295030037553802022993404269379733570744158366119550520530863433919102455212479272912731122826802531520041870819076238111683837469803508006523312118051377410861466204300351600680525369889555892701801509412806835647253781531746824505062684761776730865775770106659890984948532058697817198679295752154222358059002308943282898684248255422750733325556255829232234630303806805035310542423004055008228888433976644762020504191202140179794392715332966978232427028850428355477844972627686615075827238679232416580550136189529602583885852015542914882310004789574992636983186214756498013962254173644823920644675883229560427051910162966783398939485759307802368696201270166880349856600832503122602255777582173294050572078839231706335222121 90075217426225433902017820244358267301388570998484434210877028457239716961623627388386669293419159061790881690839087074075266198739833432206271300018045339918262535696792812000158951468721527470409705954191229962748612815440475049900724184535435141190229721925782384060521655838946865734760815679941648548048696473855198927784821584756786786674408379237355779434659368959446798107507900569060623527352266474728752687121256649709586472550823540838563847939499698960772450686153141766504621580289052779928706791161902172603434758513499377936743155070330612891245506234033857833723246275372392564221238815418322685189203682152967481920618249504807823308126367459756232887332799730529386165317006707421527121800045646624645588574472968445363817167380879628113428120001476813427961755229427798978864576757208359828293681225122079183203923457589262914546994213295363033076873262369698531930602165758936105581573490504018126774219117628669185196754472553471492188185794022542678901958826144595575504278402452900935789181177555426497510460455700073188474097503710427255567421823385845780161045283334572541193407662391874593128624361323977802007905845507789515131837469307485188792435209610413889743439659543019011533600114663017611069039151022464133754182110419561575670477943684228915294929392831087271291295905978108559838498180794316617424284362537487828517332917120679254667526764137151856292085341122602139760731206475498349886806514046392122207064352242535468716059481715378045164478938112442398237321094865220497639809542957244488765181851088976765006514701362665336935488413850069433498230027209654537579159866822053975844304870153854313889643655989163251076440254237699348695255692858359236795391502715098576601329388211894799174821564538882161840497628477629696624949289833719499997043454906917617688170384096553667099081097150304309683135208811226145589391524110483998954443384239847140658301360670949330150335711460472641026842671894749284400349079062313243405876747116696535323794994593383868915806145147664933616930600684179383557527611414717021856589967051067058970954716080086714075596356802825406729556085066669946279926928799509129579565607862300224212215745487024092627268672115212839948602589293316386368442233211909988354632378653148978306718264413876266491820070513958084348859994198923112213126301948905097013142926293600143064708330639573115888511753555834547641393661230192639860660893315288829228162876127037544833597773666812558091782463698947957528128096936354123096316359043906738342881108157492348201648008897556154794721481382738253134437737879665033977854259105236745558606954698686804676901179268919280404183472037608574731868372161506671168986382758427401759421970698573226436772043299128234192676039061704671004143447552553456526975222303666681567313077297941445874127235765698477834620317767709410160384611388872717992385100169114935233611654226927319896979604222304201809787261381064076351598073179545506229936834293326430937469321008169737784573256442835762286237036239684622499089762284012596914688724185948621879737612346441896088213615748760085901214347743713541551127320192809793698341616788502077898915028195477039773335174212160476784797258230960097963203346616356796200716987134800999374169838384870142871588216348910603661821656353050941968966936363854113269250339364945712427035462147427923306581123324815959259315520540153210760919696622544529700421418033498782824956292251224024365786855635874566009155123200077860472937542935470626100158480376569441217170246075350990716983171815748852436859550971838151311162796923817554369327220112867462926476962929743114708582316205048645854923456113207742669275206682078736873996291038621526652188562110153722050139899216051659016072077220907727813240747352258521597097390629017210491058032355935999543505081107118577902001089251652950870709188886611019486888953003 145744763339669576102346771494761864993132865295743386607212598790939334218466668182531428114183823021628023031897850584729483778608294329333583596901531525634538659750325860484508670861345188884892322557827106109246878527968363584355376254595339455151840340674585577642583660466122839545307503620556314813882560418889786537682861684740152880709007320367103287159456888601736597482164213307555804695015078714208065374632591290046096610231964586410822043226088490729991411803764720608417594627272008892615762180073290505470577880386233149821041796910547059959849964400318069579210903717900572881236807559952056139278297338667117448573534158000237386554262290799607244860508154533724673884449080761669544122560879973180742888982842247383299352233992492869489799336126655046310193980448032652513225703739510190010822267276723108134083593020070568415878325057883864078928821276866941687535789666958610696234551094235954110922954758865118425124151910498689886136311657129688942435029143861138273221037458211716340886652824421678493058147769871439064037289106148081359974168473270843606546146313535726246383648630565185485969565848547154822326838150969574183794758329145521101787697050544369122534042246307747793861431482307489926831833467367055697601780680707538837104444729208849907937113617190478880582367379943464601701713727766800375496082101886625519721443184205589582675112767901949393828999013736424042883565038446374998366092036606972496693780009679197460723527124045742305833555441069202583467705071385105375030626134406413207289072381906495272100471571717210351994669293274452261030150722944175492026755629891752547001263618843576950012305503112787552436149489315353656464266787885662685724245776121859146014626534925607148033658262210856133338574226144498231684326659370725161057465410073201254084636756014236795833081187830395005014376954780311897081707487070317201731051452536658481371903597400532357717012804436052370843728521510661553194323449473235174446067087266833486824567093213115068397202149862899834676865900602779060163305389145606802910265589743853580783140700744948753079471010719873144086354054426107913232401099226822110626736707776974369886900770118716203279363516010829578305980818200526071504028129244215745463206433927957448980350646628079161374382106300448044271156612334580009317864061819365580572093628371322275881538289152571115101962694258312578300449971446861000022320162305713231928999461306444697570000450099125218537363036263743023895366281625280912854350934341081711808850191146974022042539478623219714543940395925356290795918164414962437279032558149646624438132809086654611694368375822784358698233694782340817276202788100101358667775552551733202540693440026913189895559968454564857550487650248194508862249928473067922010342148030102359339535439564482022650123177191272754836682446533850231651014912139608196279463891138357706260163188300130096736011260774827417471622904902375486621513350154577557849569726717111409159038942936087696483067642906750715299750560323181821592525987120437836826287573037468572769123975086123436909950215858728171854714572774913893830420216652476292923921843083532115452717051188881309153068744956318842904347778761823531882305801828836069113448109961603530894211709203946380983272053818714111668344968471102319379828402568154464869930864734835268319737263656840730142228377106347706083820583224914987491785472392651189591406366565557480642154971546976178588144914638183509292053807448333283223670868491726455332393110680376246252480788498355045725212060249725497198880055163040291490957189639150521347559647141717891281954807902370801323658143443727878271504006249397272271859092534094279788878601043411101644825545296368478548153861470225303839992721896790957373667799262421488380496330114776518293426728557206166423854937707951081024603345029235124164759760965450251193224175124 235819980765895010004364591739120132294521436294227820818089627248179051180090295570918097407602982083418904722736937658804749977348127761539854896919576865552801195447118672484667622330066716355302028512018336071995491343408838634256100439130774596342070062600367961703105316305069705280068319300497963361931256892744985465467683269496939667383415699604459066594116257561183395589672113876616428222367345188936818061753847939755683082782788127249385891165588189690763862489917862374922216207561061672544468971235192678074012638899732527757784951980877672851095470634351927412934149993272965445458046375370378824467501020820084930494152407505045209862388658259363477747840954264254060049766087469091071244360925619805388477557315215828663169401373372497603227456128131859738155735677460451492090280496718549839115948501845187317287516477659831330425319271179227112005694539236640219466391832717546801816124584739972237697173876493787610320906383052161378324497451152231621336987970005733848725315860664617276675834001977104990568608225571512252511386609858508615541590296656689386707191596870298787577056292957060079098190209871132624334743996477363698926595798453006290580132260154783012277481905850766805395031596970507537900872618389519831355962791127100412774922672893078823232043010021566151873663285921573161540211908561116992920366464424113348238776101326268837342639532039101250121084354859026182644296244921873348252898550653364618900844361921732929439586605761120350998034379181644981705026166250325872670435677363657696054254232995472037106986273079875688930157707124521694528380750153830029605915496713806522845568488997431263901949159101950803512589743553053005159522480744021922519637278836957722615955923137501947208479826749738295179071854622127928309275949204444661054508864980118871772807140110790462932162284980699314697512163591538042671099011180801200685494836776505622030204958071481687867348515896525011870571193405410837594672528535548417851943834383530022148362087806498937313008295010564768293796501286958443720833000560323824766855556794920639754095416825035467155067367522698550815910139492777859512328028026331240206302315639274594099116515605740295906632188126042418254583407493842457872470362456125733817838812581106427287068911041955427866202176814406128620016606533503121530990363768270677585236554664922418946246619792144230990474447814147125941843632677053639882981055621002061157162337433482242403598223765937776629145499962690981423494378561635035950667293384988450151731299304466370244187487520775869338661877308094543930355902294627471256886817254883369996739763785341416371269555091703639102417166819949392008071160261608029836761935310160604300115410725486416332332011753693091743163689309899179866393376025621378537317370333769040906848516862423468524250412956971232671302764301559641811399523528480914271848991307472641493774842527057416632990864997131619281410166283439562973111423334123064079506561010437840096508263944257434267640899349586477585987596562866444091615749404450433740976297223417194648861587432565332998163831607488257755928920518627435381547536845286086622263459872034193351632079384358348926403919168479319689145036992783629845509148445192865314165097096404530268381547588816523854860270167624715330166624824153261348795338932008578139181204099780980746772725804268653448809500431163665343136103765068198252705169015195719291827784599056263467111263798200202953931770274058075301208930648411143696608411427197081432551591056945687469651034573706036442195232065474349635739606134878442802119986562968075716886867254585354208431770832113916032240459648776524126427462362605014941134299216173016662874892082032628297014107406522200598293760686276962856064799117698685186908546614680009977593720743793728784484760913142165967360018815069658926604434280888075035468949852061270680113128127 381564744105564586106711363233881997287654301589971207425302226039118385398556963753449525521786805105046927754634788243534233755956422090873438493821108391187339855197444532969176293191411905240194351069845442181242369871377202218611476693726114051493910403274953539345688976771192544825375822921054278175813817311634772003150544954237092548092423019971562353753573146162919993071836327184172232917382423903144883436386439229801779693014752713660207934391676680420755274293682582983339810834833070565160231151308483183544590519285965677578826748891424732810945435034669996992145053711173538326694853935322434963745798359487202379067686565505282596416650949058970722608349108797978733934215168230760615366921805592986131366540157463211962521635365865367093026792254786906048349716125493104005315984236228739849938215778568295451371109497730399746303644329063091190934515816103581907002181499676157498050675678975926348620128635358906035445058293550851264460809108281920563772017113866872121946353318876333617562486826398783483626755995442951316548675716006589975515758769927532993253337910406025033960704923522245565067756058418287446661582147446937882721354127598527392367829310699152134811524152158514599256463079277997464732706085756575528957743471834639249879367402101928731169156627212045032456030665865037763241925636327917368416448566310738867960219285531858420017752299941050643950083368595450225527861283368248346618990587260337115594624371600930390163113729806862656831589820250847565172731237635431247701061811770070903343326614901967309207457844797086040924827000398973955558531473098005521632671126605559069846832107841008213914254662214738355948739232868406661623789268629684608243883054958816868630582458063109095242138088960594428517646080766626159993602608575169822111974275053320125857443896125027258765243472811094319711889118371849939752806498251118402416546289313164103402108555472014045584361320332577382714299714916072390788995978008783592298010921650363508972929181019614005710210444873464602970662401889737503884138389705930627677121146538774220537236117569984220234538378242571694902264193918885772744729127253153350833039023416248963986017285724456499185995704136871996560564225694368529376498491700341479281045246509063876267419557670034589240584283114854172891173218868083130848854425587636258157330183036244694827784908944715346092437142072459704242293604123914639905301217926715293086161798739926939973598673865062995166508536226434005318860660186915948805018227726070161960581490451440392286726966143995583882602273233450834726274066709589908535919375404529994434872572871996028065637930914487997800650861602290209284273948361709388504537487861893806840808850752399606227891980208257949293651339558093688728643304498689300547659518363871400246383956426905491174373590148243987507985210835409873462414435668089110551312882445830347753938030827187513369002125771959036753033071185815049594624773488700621929076287727549249255547206880345130750708542256337192885738156886048265684141736524888270567263870260885767417985562518688769908114047466216429610643493293541329211967753497762379546185302955566308804349130573239658079472664124798162593492815754607161727814950274028934427613207058008061162593256792762904838132323986338826998511593295255580728623741500163043009112068834616249066509989461109383591037877537511371426956686989983185744490641407846908883234151164613744109266235345176381542076684912241584593262738096744426920279279918923536764944701737321933722131823072061082167407292315199846834619661297918734293077176202118597064446514396303245490386578734484717355898603092504402397931468612002287212993391750267296451753493125443729941839652702890679146447622156502266696057521014489642560576345877101498358090050858570247077911489470348332391214956523020739951207779310123199200228710817511521873337303251 617384724871459596111075954973002129582175737884199028243391853287297436578647259324367622929389787188465832477371725902338983733304549852413293390740685256740141050644563205453843915521478621595496379581863778253237861214786040852867577132856888647835980465875321501048794293076262250105444142221552241537745074204379757468618228223734032215475838719576021420347689403724103388661508441060788661139749769092081701498140287169557462775797540840909593825557264870111519136783600445358262027042394132237704700122543675861618603158185698205336611700872302405662040905669021924405079203704446503772152900310692813788213299380307287309561838973010327806279039607318334200356190063062232793983981255699851686611282731212791519844097472679040625691036739237864696254248382918765786505451802953555497406264732947289689054164280413482768658625975390231076728963600242318302940210355340222126468573332393704299866800263715898586317302511852693645765964676603012642785306559434152185109005083872605970671669179540950894238320828375888474195364221014463569060062325865098591057349066584222379960529507276323821537761216479305644165946268289420070996326143924301581647949926051533682947961570853935147089006058009281404651494676248505002633578704146095360313706262961739662654290074995007554401199637233611184329693951786610924782137544889034361336815030734852216198995386858127257360391831980151894071167723454476408172157528290121694871889137913701734495468733522663319602700335567983007829624199432492546877757403885757120371497489133728599397580847897439346314444117876961729854984707523495650086912223251835551238586623319365592692400596838439477816203821316689159461328976421459666783311749373706530763520333795774591246538381200611042450617915710332723696717935388754088302878557779614483166483140033438997630251036235817721697405757791793634409401281963387982423905509431919603102041126089669725432313513543495733451709836229102394584870908321483228383668506544332010149954756033893531121291268826112943023218739884029371264458903176695947604971390266254452443976703333694860291331534395019687389605745765270245718174333411663632257057155279484591039341339055523558085133801330196795092627892262914414815147633188210987248968854156467213098884059090170303554488468711990017106786459929260301511189825401586252379844789355906935742566737701167113774031528736859577082911589886606830184137236800968279788282273547717354243324136173409182377196897631000771795654036189124986742355038748550984755685521111058612112312789755906762530914453664771453221264150541545378656629969004217379792806192659413364431612336657337444436907486006191636903068028422239601292345108623317418341299423172054411140924261477886022560223991961951041036815028867992868595036680524310679084976888697640441153232473289328959698624003105215220179287975136969515273813959196570024823161873753302989247712873354244930001992990769090656034443237469254612567736196822823686008582848737987089352055470824602565018349441605923670471725753448914709775757485929338704308240167484302962066847149951254102906277879073704687366572413812168764593515290343048466168448762827600502155981209957598007005876583293277482282637852747390791573324098719221799741778304154412591430974804381579428692992594153963542328678218119408842077419080432171621148293272934397229813282715265378037039847377968675036770092790755051383997195810423042628175061935763670007576377499143376584496008455186299659894471668745155570616887691346120618197496292794267621191782857645767118609602524380674196470359267432797177095197162765086672781333381650888599698818349566598633388139062741280926524358930974607302154127690966440313114628385207476358238853760109412879744741382842779229552122320132188327747484892491781508335683771602363975862396250383490498358574975338090398877812213591011274235697660669572792553450431378 998949468977024182217787318206884126869830039474170235668694079326415821977204223077817148451176592293512760232006514145873217489260971943286731884561793647927480905842007738423020208712890526835690730651709220434480231086163243071479053826583002699329890869150275040394483269847454794930819965142606519713558891516014529471768773177971124763568261739547583774101262549887023381733344768244960894057132192995226584934526726399359242468812293554569801759948941550532274411077283028341601837877227202802864931273852159045163193677471663882915438449763727138472986340703691921397224257415620042098847754246015248751959097739794489688629525538515610402695690556377304922964539171860211527918196423930612301978204536805777651210637630142252588212672105103231789281040637705671834855167928446659502722248969176029538992380058981778220029735473120630823032607929305409493874726171443804033470754832069861797917475942691824934937431147211599681211022970153863907246115667716072748881022197739478092618022498417284511800807654774671957822120216457414885608738041871688566573107836511755373213867417682348855498466140001551209233702326707707517657908291371239464369304053650061075315790881553087281900530210167796003907957755526502467366284789902670889271449734796378912533657477096936285570356264445656216785724617651648688024063181216951729753263597045591084159214672389985677378144131921202538021251092049926633700018811658370041490879725174038850090093105123593709765814065374845664661214019683340112050488641521188368072559300903799502740907462799406655521901962674047770779811707922469605645443696349841072871257749924924662539232704679447691730458483531427515410068209289866328407101018003391139007403388754591459877120839263720137692756004670927152214364016155380248296481166354784305278457415086759123487694932360844980462649230602887954121290400335237922176712007683038005518587415402833828834422069015509779036071156561679777299170623237555619172664484553115602447965677684257040094220449845726948733429184757493974235121305066433451489109779972185080121097849872469080828567651965003907624144124007841940620438527330549405001786282532637941872380362471772522071151087054653294278623596399786411375711858882579516625467345856808692379929305599234179821908026382024606347370743044114474402363044269669383228699214943543193899896920737411808601816437681574923175348731959066534426430840924882919693583491474432647329485934913336122350795571496063766962162572415558992061215698935466933560703748837128774072894280207347154817641419808767037103866423774996213382904035713807288328725568063943358866484909529333472502545416920679634703718890024529810576619056985026806845836911033948217981733112230285628788115972170208990330466368426086557323679985022999979632636407061511841399616429716234450872997593253459207687273185972379388736228394864659135374474756199133337001650904181432443370995116541049692787476308655069662162360970311524307937659136465536338607602677704947695769057983862260863357463910334962975459899222454226974875504037745188729484832712469942872814391926539921116977215907105710093805483043840810845714634065783166810960330340530837665085349247418075644876130668501997953301139048993250734169391511212420652593568061174342333531124918140302369327189811414664422806042821932334664157405341769013478879792704726487420630885255506186408197049477745034569741686451830889537058296086928283751685643734488552966038085140098541244487734406841899997537166971265044154962440994531589554913914680717828200777009816695874043304978928730715911388274338967205269845779896047191845189204928301083350744037665833785328922290399586609589367121082716707609566381878332920088180693412812303558891189004999281496248179841146677970308061238368883006693773822460934222940307739853838830749789931861111138829019992901134473435926371487084314426787734629 1616334193848483778328863273179886256452005777358369263912085932613713258555851482402184771380566379481978592709378240048212201222565521795700025275302478904667621956486570943876864124234369148431187110233572998687718092300949283924346630959439891347165871335025596541443277562923717045036264107364158761251303965720394286940387001401705156979044100459123605194448951953611126770394853209305749555196881962087308286432667013568916705244609834395479395585506206420643793547860883473699863864919621335040569631396395834906781796835657362088252050150636029544135027246372713845802303461120066545871000654556708062540172397120101776998191364511525938208974730163695639123320729234922444321902177679630463988589487268018569171054735102821293213903708844341096485535289020624437621360619731400215000128513702123319228046544339395260988688361448510861899761571529547727796814936526784026159939328164463566097784276206407723521254733659064293326976987646756876550031422227150224933990027281612084063289691677958235406039128483150560432017484437471878454668800367736787157630456903095977753174396924958672677036227356480856853399648594997127588654234435295541046017253979701594758263752452407022428989536268177077408559452431775007469999863494048766249585155997758118575187947552091943839971555901679267401115418569438259612806200726105986091090078627780443300358210059248112934738535963901354432092418815504403041872176339948491736362768863087740584585561838646257029368514400942828672490838219115832658928246045406945488444056790037528102138488310696846001836346080551009500634796415445965255732355919601676624109844373244290255231633301517887169546662304848116674871397185711325995190412767377097669770923722550366051123659220464331180143373920381259875911081951544134336599359724134398788444940555120198121117945968596662702160054988394681588530691682298625904600617517114957608620628541492503554266735582559005512487780992790782171884041531559038847556332991097447612597920433718150571215511718671839891756647924641523345499580208243129399094081170238439532565074553206163941119899186360023595013749869773112186338612860742213037258843437812122532911721701527296080156284888384850089371251488662700826190859492070790503874436200013275905478813364689404483376396495094014623454157202973374775913552869671255635608544004299450129642463658438578922375847966418434500258260321845673364610568077725851199481865765022150001572810071086745304727992469127064538757816608604683978803570737684017918316389269948187386185207069963253917348555873473538490325130574316541592039534004718024668121531760723356723298097246186670916939452902926871271606786918446769411868964165608344225187136334206002629122657373708171651348339964132160031367281397294079425918716665547310658717613295759152282552848903005563410571621596358674427866561161109348904010042354061229160197636629952436326249363777535677373372988107310140348821919546124324274730097167134347993946241985203523427959658148529550260787407425468184533829189663783877685235656708383565679183744205229491691551679862421196975720669805613625804343788320917878858398998334183859311883082828610767313116311550488435672091225830711353127158768521249388744874463147712472533911169815366833244024542865555921762224117512294265911655868029534073264883461902364506285305698614703410708693075419991865457670732633474861444967142268500085953738882262253932165233358022691953759262021233631929550534093595284840904382206075587055568154054662611164773159937287325857176105697538363595319386612341076548239775338196163513088483471501732291942627113277698080444888023277867681984132176728575066255446649330561216891521248773683147922681010263540396446419547172921716438635930387842060725800302161278866298055546130860664515029457594063298198802703990237329329108364907199201537706832206492145747671624032156657106980238166007 2615283662825507960546650591386770383321835816832539499580780011940129080533055705480001919831742971775491352941384754194085418711826493738986757159864272552595102862328578682299884332947259675266877840885282219122198323387112526995825684786022894046495762204175871581837760832771171839967084072506765280964862857236408816412155774579676281742612362198671188968550214503498150152128197977550710449254014155082534871367193739968275947713422127950049197345455147971176067958938166502041465702796848537843434562670247993951944990513129025971167488600399756682608013587076405767199527718535686587969848408802723311292131494859896266686820890050041548611670420720072944046285268406782655849820374103561076290567691804824346822265372732963545802116380949444328274816329658330109456215787659846874502850762671299348767038924398377039208718096921631492722794179458853137290689662698227830193410082996533427895701752149099548456192164806275893008188010616910740457277537894866297682871049479351562155907714176375519917839936137925232389839604653929293340277538409608475724203564739607733126388264342641021532534693496482408062633350921704835106312142726666780510386558033351655833579543333960109710890066478344873412467410187301509937366148283951437138856605732554497487721605029188880125541912166124923617901143187089908300830263907322937820843342224826034384517424731638098612116680095822556970113669907554329675572195151606861777853648588261779434675654943769850739134328466317674337152052238799172770978734686928133856516616090941327604879395773496252657358248043225057271414608123368434861377799615951517696981102123169214917770866006197334861277120788379544190281465395001192323597513785380488808778327111304957511000780059728051317836129925052187028125445967699514584895840890489183093723397970206957244605640900957507682622704218997569542651982082633863826777329524797995614139215956895337383101157651574515291523852149352461949183212154796594466728997475650563215045886111402407611309732168517566840490077109399017319734701513309562850583190950210624612686172403078633021948466838325027502637893993780954126959051388072762442260629720344760474784102063999068602227435975439503383649875085062487237566571350953370020499903545870084597858742670288638663198304521476039229801527946017489250315915913940925018837243219242993323542360579175990730977664404100009423433609053804739899036998918650734119175449256496582648902296006000081427078788040623128305719979181020242970864786436619484851877093018785316160258101350170601072166197293282305527428996998091537805422438040431831956450257328787300082164582155716004389441998319847550906310505808471299222445583222593371032032973245239950847104390485938457280136455936302369021697747765720165983242396650570310638350249702820664123952465332721797861444619189612133635553834347081728292746270748925888295572111386151569663251014681717109816743983223851190041609395854779393936892458137445872301883901121669059766567260826234497956556465409330445397186653574118840660695555930837792654059248242974680421036512574891139848535061732153546921321004228023588952204481378024670157597716894393934124076641891019273337176575078129428772034899189751386698175602196705723268080561326579253896618110926730264095755242430434568280983057840948737687689504724296840949463103956472424187572868124718352878301617888981047853164191746245120523480568714084821702291654109620237510947664968120482516572178735383382148869940482428955565691221633876208928122378281857446731019612219081423520163622157772422283080317124894228999871745840699497212472893173745272290077228206168765334876214394408851584368939730147826480888369856399855532247392141873316534600240585734019997527119392841342222048482002425544268363607369229547521723231416524232421743011730091168159858154839060312676535852199393280221107550403643741421407025900636 4231617856673991738875513864566656639773841594190908763492865944553842339088907187882186691212309351257469945650762994242297619934392015534686782435166751457262724818815149626176748457181628823698064951118855217809916415688061810920172315745462785393661633539201468123281038395694888885003348179870924042216166822956803103352542775981381438721656462657794794162999166457109276922523051186856460004450896117169843157799860753537192652958031962345528592930961354391819861506799049975741329567716469872884004194066643828858726787348786388059419538751035786226743040833449119613001831179655753133840849063359431373832303891979998043685012254561567486820645150883768583169605997641705100171722551783191540279157179072842915993320107835784839016020089793785424760351618678954547077576407391247089502979276373422667995085468737772300197406458370142354622555750988400865087504599225011856353349411160996993993486028355507271977446898465340186335164998263667617007308960122016522616861076760963646219197405854333755323879064621075792821857089091401171794946338777345262881834021642703710879562661267599694209570920852963264916032999516701962694966377161962321556403812013053250591843295786367132139879602746521950821026862619076517407366011778000203388441761730312616062909552581280823965513468067804191019016561756528167913636464633428923911933420852606477684875634790886211546855216059723911402206088723058732717444371491555353514216417451349520019261216782416107768502842867260503009642890457915005429906980732335079344960672880978855707017884084193098659194594123776066772049404538814400117110155535553194321090946496413505173002499307715222030823783093227660865152862580712518318787926552757586478549250833855323562124439280192382497979503845433446904036527919243648921495200614623581882168338525327155365723586869554170384782759207392251131182673764932489731377947041912953222759844498387840937367893234133520804011633142143244121067253686355633314285330466748010827643806545120558182525243887189406732246725034040540665234281721552692249677272120449064145251246956284796963068366024685051097651643863554066313297664248814975479519473158156883007695823765526364682383720863824353473021126573725188063757430843024160524374339745883360503337556034978043146574701016570053853255685148990864026229468783612180654445787223542443453184824237614569653353512370518443923691869375650413263647566996376585318657315021518732650475106077086826731806780509750192844477795789624926949668357174303502770193482288733503546443308420133854989514753166755844017754127572408079397461972045149856624571789089510656805462679401902675306381451222774422177917292726918068634314547388201715257220109579445953476227047859646628931484795900434529053065029163014245409161113316117621297067862998579816406505314235727361272016240785970808063420395508191077196756313102987117455769748016104005989500378459252787190116971331161330390431315400903718211622555304580220295830143106872583194526918974764048217343872834798629931015843237902718345931212639221358333242992448204172112588192437312336824255731537767172725664792548941467810603479712208529469480799723004701437192953441507709009267800908840781899193667711000775443050065344418195801991731141946087140642653792286185857979359942728834192638925870482810952572966626661347234768802571175834896265943544710218335972350522455909298131334014745206477219450976338753867525012132312191270209686201752412067106272330668223053252146558016011133845276296487373701282315569183303907125309757445018839550234498848970522855655321057742088355217342431789155100006451443352734965251484036447319008391122983917839815589060709043372409618630083003454928402405413712981019787758655736436163049780683402947848784163704410566419153500090212036752689010587530620545715720328497488966519746259514214242684405885425968779174435800398528387264066643 6846901519499499699422164455953427023095677411023448263073645956493971419621962893362188611044052323032961298592147748436383038646218509273673539595031024009857827681143728308476632790128888498964942792004137436932114739075174337915998000531485679440157395743377339705118799228466060724970432252377689323181029680193211919764698550561057720464268824856465983131549380960607427074651249164407170453704910272252378029167054493505468600671454090295577790276416502362995929465737216477782795270513318410727438756736891822810671777861915414030587027351435542909351054420525525380201358898191439721810697472162154685124435386839894310371833144611609035432315571603841527215891266048487756021542925886752616569724870877667262815585480568748384818136470743229753035167948337284656533792195051093964005830039044722016762124393136149339406124555291773847345349930447254002378194261923239686546759494157530421889187780504606820433639063271616079343353008880578357464586498016882820299732126240315208375105120030709275241719000759001025211696693745330465135223877186953738606037586382311444005950925610240715742105614349445672978666350438406797801278519888629102066790370046404906425422839120327241850769669224866824233494272806378027344732160061951640527298367462867113550631157610469704091055380233929114636917704943618076214466728540751861732776763077432512069393059522524310158971896155546468372319758630613062393016566643162215292070066039611299453936871726185958507637171333578177346794942696714178200885715419263213201477288971920183311897279857689351316552842167001124043464012662182834978487955151504712018072048619582720090773365313912556892100903881607205055434327975713710642385440338138075287327577945160281073125219339920433815815633770485633932161973886943163506391041505112764975891736495534112610329227770511678067405463426389820673834655847566353558155276566710948836899060455283178320469050885708036095535485291495706070250465841152227781014327942398574042689692656522965793834976055706973572736802143439557984968983234862255100260463070659688757937419359363429985016832863010078600289537857335020440256715636887737921780102878501643482479925829525433284611156839263856856671001658787675301324002193977530544874243291753445101196298705266681809773005538046093083057213095008353276545384697553105673283030442785436776727184816790560384331176774618453347125478429455153162684565915027319437832764278015315299377402083086908158885568550373321150197774970645169920533143610922987622070575307518819706701409770304456061680950460038149545183124570499617202884410085581688581022046418297956887627261557618679695823449542621973084227798535389367856760130610795086289253082824685904323331438345585086211621251836736898074762776928734411392403509966687931935418112701400480530457779568449159133460859975582941698974229855272805489502583851913005751341859402255575652751393140969897006860954555012520432040711255683112148515013442026092597714044228541642961094179800998546173900338244129075328202496812021559006626768570059150987302240691178852533624705012203476672790793269920719646985796776965056762807961090233199627078516617398635561269595332526982346444375986970210671228566900752162141225667541123919070072292468525341037260764719016449953734602373163402473621983711431548640262471350958188184231906527648259083838811669428571214273968411436957151295525760990327000700019690423575569816666241932428781157351169872894583678451066051605202122087040444966699536497930363582629404693851040750638144921976526442359713856656621392805935972445951971088226963183131286367572899625188625025042479690205212653884605517392769424184528790856869853297988486482858987175794547287029515620028344389756433690169173524745169897266166129954834782760869319759558475920427111763042288727450419665648824674585319826890778536605278706189886724839444139949794289967279 11078519376173491438297678320520083662869519005214357026566511901047813758710870081244375302256361674290431244242910742678680658580610524808360322030197775467120552499958877934653381247310517322663007743122992654742031154763236148836170316276948464833819029282578807828399837624160949609973780432248613365397196503150015023117241326542439159185925287514260777294548547417716703997174300351263630458155806389422221186966915247042661253629486052641106383207377856754815790972536266453524124838229788283611442950803535651669398565210701802090006566102471329136094095253974644993203190077847192855651546535521586058956739278819892354056845399173176522252960722487610110385497263690192856193265477669944156848882049950510178808905588404533223834156560537015177795519567016239203611368602442341053508809315418144684757209861873921639603531013661916201967905681435654867465698861148251542900108905318527415882673808860114092411085961736956265678518007144245974471895458138899342916593203001278854594302525885043030565598065380076818033553782836731636930170215964299001487871608025015154885513586877840409951676535202408937894699349955108760496244897050591423623194182059458157017266134906694373990649271971388775054521135425454544752098171839951843915740129193179729613540710191750528056568848301733305655934266700146244128103193174180785644710183930038989754268694313410521705827112215270379774525847353671795110460938134717568806286483490960819473198088508602066276140014200838680356437833154629183630792696151598292546437961852899039018915163941882449975747436290777190815513417200997235095598110687057906339162995115996225263775864621627778922924686974834865920587190556426228961173366890895661765876828779015604635249658620112816313795137615919080836198501806186812427886242119736346858060075020861267976052814640065848452188222633782071805017329612498843289533223608623902059658904953671019257836944119841556899547118433638950191317719527507861095299658409146584870333499201643523976360219942896380304983527177480098650203264956414947349937735191108752903188666315648226948085198887695129697941181720889086753554379885702713401299576036658526490175749595051797966994877703088210329692128232512863365081433037001691069248583037636805604533854740244724956347706554616146936312898243999217302774853481165286327728817666327880229912009054405130037684689145136897270817347805105566426332132911403904756490079299534047949852508160173734890692349060123513994675570760270096870201500785226490392264057596252323253144718190438311051195703626793993562937252142907696600346382130731545205593835507808613693089940959521355002204900765396395262145091262307436491074677998996801546473192404131857799558486205231715143106047737171427127827806091748656801564623282805553232485975699980296936963093804176520405477100761553749762394625363463882686258896954900123207111607418359581642251771600222684196977925886173850822472026656586830360137568746606312893544187335414226155621098775762594391244211078927705259218340049924277352557981209280509320545233139383024646212897449515813497046524807687892372650589325906524573411440802441729096559316340403336998462548774034691355712176895810992570422234611752937584275732885542114872064023610471428177903418511302635811713962315892236666260909581914359592835437977619535419000709098824093980104755214138789550246318933892866449426859775735533477919470666762329437341678374244620051367037371625306650784723396719828255374233598460977833381774226850956330687009420224054545270231733971461199264091155470363328791627767009713176582180525563075522672906076631977760007731174241659972892996640376687264000117851565913225707607116565862442104196952700742496639816103045492869853218954208148117746050329834365401201914369409971595228609437699293662834443170748163137791194331579341105021221011164132158665899275244538478181554033922 17925420895672991137719842776473510685965196416237805289640157857541785178332832974606563913300413997323392542835058491115063697226829034082033861625228799476978380181102606243130014037439405821627950535127130091674145893838410486752168316808434144273976425025956147533518636852627010334944212684626302688578226183343226942881939877103496879650194112370726760426097928378324131071825549515670800911860716661674599216133969740548129854300940142936684173483794359117811720438273482931306920108743106694338881707540427474480070343072617216120593593453906872045445149674500170373404548976038632577462244007683740744081174665659786664428678543784785557685276294091451637601388529738680612214808403556696773418606920828177441624491068973281608652293031280244930830687515353523860145160797493435017514639354462866701519334255010070979009655568953690049313255611882908869843893123071491229446868399476057837771861589364720912844725025008572345021871016024824331936481956155782163216325329241594062969407645915752305807317066139077843245250476582062102065394093151252740093909194407326598891464512488081125693782149551854610873365700393515558297523416939220525689984552105863063442688974027021615841418941196255599288015408231832572096830331901903484443038496656046843164171867802220232147624228535662420292851971643764320342569921714932647377486947007471501823661753835934831864799008370816848146845605984284857503477504777879784098356549530572118927134960234788024783777185534416857703232775851343361831678411570861505747915250824819222330812443799571801292300278457778314858977429863180070074086065838562618357235043735578945354549229935540335815025590856442070976021518532139939603558807229033737053204406724175885708374877960033250129610771386404714768360475693129975934277283624849111833951811516395380586382042410577526519593686060171892478851985460065196847688500175334850896557965408954197578305995005549592995082603725134656261568185368660088876313986351545158913023191858166489770195195998603353877720329320919656635172248191277202450198198261768441661126085675011656933102031750705208298230719578224107193811095522590451323079678915160169972655675424577231251606034542352067186363129891300538666405435230979221614122826329390250705730153445511406766120712092662240019370111339007570579320238178718392001011848109113317006639193871195690422015865919755350617942826234560719589016698826431224194322843577549363249229910243260643049577917610496835144873345730915266790734644396149478014334632903771142959846127960742767112876654086832143108120376713407313803230792216313233786615881926106570580717202517140034698028350308018368346372889797696804347834808609791887835726275228817762122889924550816801354727299573908325202590583020483068193968133249493485167904088401380777467420873372625679538937960737136691461368855218736688175761480806813128958453466820615157295003164741192581203838880441186371254512737912269942508652582188632405491258231563955869116715278576761140565144549323056780587420836861945836359184749779339660307847473830561877179837602461719290169837318077608612019636386102871581336219401892674928723637832957801972559732144106561673702156552882781203241650801512505099725501400426666033942136316078996769215164183230319085765448564689055639139882893293345908233097909328577723603232615626472353063943566883567360764520287345329823600722385536725860478619490357185905007158344616177048832524388541498201234463174462771433457496320638905944532918272157214538960091703271264805183415153710497903558977947812091756134727600212961684264809143708694361890245805701820602785050210864446872626777602157769456688184646642422783079005595603048721429279991499987772012259844447435249303543388127732893287643316495964320235984675238729731153704529864811056705123170621167828786615868916899167995799757616442838348552624114688678427975844001201 29003940271846482576017521096993594348834715421452162316206669758589598937043703055850939215556775671613823787077969233793744355807439558890394183655426574944098932681061484177783395284749923144290958278250122746416177048601646635588338633085382609107795454308534955361918474476787959944917993116874916053975422686493241965999181203645936038836119399884987537720646475796040835068999849866934431370016523051096820403100884987590791107930426195577790556691172215872627511410809749384831044946972894977950324658343963126149468908283319018210600159556378201181539244928474815366607739053885825433113790543205326803037913944479679018485523942957962079938237016579061747986885793428873468408073881226640930267488970778687620433396657377814832486449591817260108626207082369763063756529399935776071023448669881011386276544116883992618613186582615606251281161293318563737309591984219742772346977304794585253654535398224835005255810986745528610700389023169070306408377414294681506132918532242872917563710171800795336372915131519154661278804259418793738995564309115551741581780802432341753776978099365921535645458684754263548768065050348624318793768313989811949313178734165321220459955108933715989832068213167644374342536543657287116848928503741855328358778625849226572777712577993970760204193076837395725948786238343910564470673114889113433022197130937510491577930448149345353570626120586087227921371453337956652613938442912597352904643033021532938400333048743390091059917199735255538059670609005972545462471107722459798294353212677718261349727607741454251268047714748555505674490847064177305169684176525620524696398038851575170618325094557168114737950277831276936896608709088566168564732174119929398819081235503191490343624536580146066443405909002323795604558977499316788362163525744585458692011886537256648562434857050643374971781908693953964283869315072564040137221723783958752956216870362625216836142939125391149894629722158773606452885904896167949971613644760691743783356691059810013746555415941499734182703856498399755285375513147692149800135933452877194564314751990659883881187230638400337996171901299113193947365475408293164724379254951818696462831425019629029218600912245440277516055258123813402031486868267980912683371409367027056310264008185756131722468418647278386955683009583006787882095091659883678328740665775441197236551202925600820459700555064892247888760174039666286015348831737835128950812922877083411199082418403434377940270266670620349139548916491185363660936145181375968406598690500023466212990846151181078164072357713626136671057628856315010403577174347044778992209717433915184273807143476661389700233251073414763608517981060004240838909486608788689382199467632949619922448410756048516497833347311079752330418389112231724995532756532299038400390064101361074404383967176802199944415061498690441223763480582200570862020377761713252165565074238974738937254936341415265400816806327360222076984764568856772868790150935238718384802418899370095272336377352523734956388760401984485846639176911870113711742730988620169628392706969944901826050499911235103666883842885296504392286975428778105909630842695116657820197149298205309558194692880596365057868729778592195812073036124258037309777133312208148814200339689468197393067601741621721577162527004947875806143802875260267825933347306197259022233324725296447044048322097706150314766606279222690050149245312461393956538961023948234444500022990421668883891425913123507885247897859491261712870554237366922366300046384065495290778712691488859728685385444469364758242038967562119463519227979971397441391324234257437412918711778452580545057942038688532599670598798146143952184764493988696304713202719614583871384188452688514508899660550480742173396607081941041405389366825798685637186589608139702748933139302510350367957613791915991924407063248478509100820978627606970507218523389933216906157398035123 46929361167519473713737363873467105034799911837689967605846827616131384115376536030457503128857189668937216329913027724908808053034268592972428045280655374421077312862164090420913409322189328965918908813377252838090322942440057122340506949893816753381771879334491102895437111329414970279862205801501218742553648869836468908881121080749432918486313512255714298146744404174364966140825399382605232281877239712771419619234854728138920962231366338514474730174966574990439231849083232316137965055716001672289206365884390600629539251355936234331193753010285073226984394602974985740012288029924458010576034550889067547119088610139465682914202486742747637623513310670513385588274323167554080622882284783337703686095891606865062057887726351096441138742623097505039456894597723286923901690197429211088538088024343878087795878371894063597622842151569296300594416905201472607153485107291234001793845704270643091426396987589555918100536011754100955722260039193894638344859370450463669349243861484466980533117817716547642180232197658232504524054736000855841060958402266804481675689996839668352668442611854002661339240834306118159641430750742139877091291730929032475003163286271184283902644082960737605673487154363899973630551951889119688945758835643758812801817122505273415941884445796190992351817305373058146241638209987674884813243036604046080399684077944981993401592201985280185435425128956904076068217059322241510117415947690477137002999582552105057327468008978178115843694385269672395762903384857315907294149519293321304042268463502537483680540051541026052560347993206333820533468276927357375243770242364183143053633082587154115972874324492708450552975868687719007872630227620706108168290981348963135872285642227367376051999414540179316573016680388728510372919453192446764296440809369434570525963698053652029148816899461220901491375594754125856762721300532629236984910223959293603852774835771579414414448934130940742889712325883908262714454090264828038847927631112236902696379882917976503516750611940103088060424185819319411920547761338969352250334131714645636225440837665671540814289262389105546294402620877337301141176570930883616047458933866978866435487100444206260470206946787792344702418388015113940697892303498960134297494235696417307015994161631267538488589130739940626975053120922014358461415329838602070329752513884554514243190396796796510881716420984647598506703000274227005604365530564266353145135766454632774448312328646695020989848184281117184284422262222100630451670789577525446420933323403794609172836974111923845276949011800458279779178005569722324206807966563358012778825599360021754854524345993801424398261601381433131954890870857701045186744295218580577217925742861767382045338335306865317852560646884988077533008972132714793189500889781792523568294152502741851871804840549427879483353022235827132685132335800937259037781858568526381124018541059589896232258101082607846604655686768546593331497502481126715377442733123871123876060650463325964389051655929284875521533309725041266434060013773815950070927480767959829936240180800506779005888102372954393836721160962905116411923361531649687245850244587791586543834982256007282117926836987158038760025282661373399053723837636763137035278533738874182756336655768464966608231784971940807342611091694003514946026696168606176059031256634774982625465940351768800107991888981273511079286893624552513650871630849187254435158451381134139451658367606598717716415814454621709119711072322262695170366874876272866899218318541280034250870415962753664912100539154967268317219986779653875598246828192933081706200467942951799303164517480273183330108152903135405226448200955915600640369411136411479383718798322663305300664179952676286521159504997915991476939995209673934693032683321763005873171264846869433902637669167321407073080784413083820711022932165377677096620736244049808855771147504621895334133242036324 75933301439365956289754884970460699383634627259142129922053497374720983052420239086308442344413965340551040116990996958702552408841708151862822228936081949365176245543225574598696804606939252110209867091627375584506499991041703757928845582979199362489567333643026058257355585806202930224780198918376134796529071556329710874880302284395368957322432912140701835867390879970405801209825249249539663651893762763868240022335739715729712070161792534092265286866138790863066743259892981700969010002688896650239531024228353726779008159639255252541793912566663274408523639531449801106620027083810283443689825094094394350157002554619144701399726429700709717561750327249575133575160116596427549030956166009978633953584862385552682491284383728911273625192214914765148083101680093049987658219597364987159561536694224889474072422488778056216236028734184902551875578198520036344463077091510976774140823009065228345080932385814390923356346998499629566422649062362964944753236784745145175482162393727339898096827989517342978553147329177387165802858995419649580056522711382356223257470799272010106445420711219924196984699519060381708409495801090764195885060044918844424316342020436505504362599191894453595505555367531544347973088495546406805794687339385614141160595748354499988719597023790161752556010382210453872190424448331585449283916151493159513421881208882492484979522650134625539006051249542991303989588512660198162731354390603074489907642615573637995727801057721568206903611585004927933822573993863288452756620627015781102336621676180255745030267659282480303828395707954889326207959123991534680413454418889803667750031121438729286591199419049876565290926146518995944769238936709272276733023155468892534691366877730558866395623951120325383016422589391052305977478430691763552658604335114020029217975584590908677711251756511864276463157503448079821046590615605193277122131947743252356808991706134204631250591873256331892784342048042681869167339995160995988819541275872928646479736573977786517263306027881602822243128042317719167205923274486661502050470065167522830789755589656331424695476493027505884290574522176450495088542046339176780771838188818797562898318525463835289688807859033232622218473646138927342729379171766941046980865645063444363326258169817023670211057549387219013930736130505021146343510421498485748658493179659995711479741599722397331341416976049539846395463174313893291619714362302101482095948689331716185647394747050129398930118450951737533423971178713285994112606934758901414827532013903818075385827820263104923441021369514084416450235634426037334610385140910402791771035316793936939128331489470462814098494852454847895563408851917705286025653781827369266600125210494717001967786746062913834350393994196067829863427361244946518185033646314091561968684216604102926276188807726230079427768083734517573908895816383137829899802236330239633289583615298564635169513037424023112005472493095906815408482267049983488246232884059109842260863069362696059661388033281808610477922070127025752280699190685686063782670211756579999564632887770451680831938602284189497503605003848201620804210336960427793155481087282908244364032131554212591676121529867754403817894012439965594865796873761021174345055667051082331570536995457933164001299386713562528919773618698951390752170499043866443884964603940972241647699265077065247152040211078979661394053499903775203701020876161648648391697412405082373896158390597020386600307240367745217004958970181753956883237429113639789265518364925345529541649128654242524640785924599436633075462025747215995061766056172904479147591792177209236716083229258725763875166094941823937826118799754061744592554175630400175688432001042277889172048368405364801030059165548396733650336602291614976098422050147561691510357854455009136651570808469831757441038398204999812635429995413856186197441714871656779362989670894555112240290640071447 122862662606885430003492248843927804418434539096832097527900324990852367167796775116765945473271155009488256446904024683611360461875976744835250274216737323786253558405389665019610213929128581076128775905004628422596822933481760880269352532873016115871339212977517161152792697135617900504642404719877353539082720426166179783761423365144801875808746424396416134014135284144770767350650648632144895933771002476639659641570594443868633032393158872606740017041105365853505975108976214017106975058404898322528737390112744327408547410995191486872987665576948347635508034134424786846632315113734741454265859644983461897276091164758610384313928916443457355185263637920088519163434439763981629653838450793316337639680753992417744549172110080007714763934838012270187539996277816336911559909794794198248099624718568767561868300860672119813858870885754198852469995103721508951616562198802210775934668713335871436507329373403946841456883010253730522144909101556859583098096155195608844831406255211806878629945807233890620733379526835619670326913731420505421117481113649160704933160796111678459113863323073926858323940353366499868050926551832904072976351775847876899319505306707689788265243274855191201179042521895444321603640447435526494740446175029372953962412870859773404661481469586352744907827687583512018432062658319260334097159188097205593821565286827474478381114852119905724441476378499895380057805571982439672848770338293551626910642198125743053055269066699746322747305970274600329585477378720604360050770146309102406378890139682793228710807710823506356388743701161223146741427400918892055657224661253986810803664204025883402564073743542585015843902015206714952641869164329978384901314136817855670563652519957926242447623365660504699589439269779780816350397883884210316955045144483454599743939282644560706860068655973085177954533098202205677809311916137822514107042171702545960661766541905784045665040807387272635674054373926590131881794085425824027667468906985165549176116456895763020780056639821705910303552228137038579126471035825630854300804196882168467015196427322002965509765755416611430584977143053787796229718617270060396819297122685776429333805625908041550159014805821024966920892034154041283427271475265901181278359880759861670342252331448291208699646680127159640905789251427035504804925751337087818988245693544550225722931996519193842223133397034187444902166174588120297224079892866367835241084455786348960095707075696824419919966635232854717708393440935386624564277724336426861248465337307612684558664794375028768717970381314542696229413639995759658817193107473760804549860916153958693982855835464264238496756453836281027518299722775406331212398077045949843818050953356484384013125081369779152202954641081055907396436333377661311374534536095884085536978369106844778147993648275657958911121105970344706594028152184075088937584094898766014413602156358154531401771138506630958610128179864453408739979769531110203623675617182980966136923719826022024050439689211093485999455379852067018714759204459502013853597692524539829500873068570958459837826704657143891340326164811106737216133698492077480401331331870699830907867113810219873794048366854912442577919295101338993919520711397784311380334200789956514326873651226398130609531171685503336262384710392954905698197195212472619943995860575747224273165205428834047260032100060253172473340393528327717351892507010835902826855863786216513347816758203619104316723054822366926124670042504016652053604303989912656164736683466625563792519544616996189552886463754403901392682012526869870660012884365837560853792260120161036019247746738998947205274247844959343052567000709977345232923586766811655072150799364941194472712548358041087551218670546312725127276597501288910791454733469324697383529119301878570554208477637153164514119182618083633346452927579233863294062451115706588218760818399177007574423882107771 198795964046251386293247133814388503802069166355974227449953822365573350220217014203074387817685120350039296563895021642313912870717684896698072503152819273151429803948615239618307018536067833186338642996632004007103322924523464638198198115852215478360906546620543219410148282941820830729422603638253488335611791982495890658641725649540170833131179336537117969881526164115176568560475897881684559585664765240507899663906334159598345102554951406699005303907244156716572718368869195718075985061093794972768268414341098054187555570634446739414781578143611622044031673665874587953252342197545024897955684739077856247433093719377755085713655346144167072747013965169663652738594556360409178684794616803294971593265616377970427040456493808918988389127052927035335623097957909386899218129392159185407661161412793657035940723349450176030094899619939101404345573302241545296079639290313187550075491722401099781588261759218337764813230008753360088567558163919824527851332939940754020313568648939146776726773796751233599286526856013006836129772726840155001174003825031516928190631595383688565559284034293851055308639872426881576460422352923668268861411820766721323635847327144195292627842466749644796684597889426988669576728942981933300535133514414987095123008619214273393381078493376514497463838069793965890622487106650845783381075339590365107243446495709966963360637502254531263447527628042886684047394084642637835580124728896626116818284813699381048783070124421314529650917555279528263408051372583892812807390773324883508715511815863048973741075370105986660217139409116112472949386524910426736070679080143790478553695325464612689155273162592461581134828161725710897411108101039250661634337292286748205255019397688485108843247316780830082605861859170833122327876314575973869613649479597474628961914867235469384571320412484949454417690601650285498855902531743015791229174119445798317470758248039988676915632680643604528458396421969272001049134080586820016487010182858094195655853030873549538043362667703308732546680270454757746332394310312292356351274262049691297804952016978334390205242248444117314875551665230238291318260663609237177591135311504573992232124151371876839847822664854257589139365680292968626156650647032842228259225525823306033668510501265314878910704229514378654836525381932056651148436172835573567646738873204545937202673596241591173564550373083727291297629348902013588843794255168469317337033145118065145743101822746953818850085086184592251132364619648672618676884659095328276075997351211430759944492614638133692158991750828627112679649274421796993427578248384163596320896232947895633111187324934727052595251306291128923081708574693111617238051858873319110418176163851201385980911827432692986553348635277123737259863694622607829559568182409975647505662585710947704424182456001888038338889189704862280502923968567212918837386331229005647703185771656719166571284175930654070615600672960360224148462036581093691869908501242090808397786789188718083711827722492902096477377449979092770995458395145188077636267904281119829065505956341410140669765306941333388843931168659308358020344035452505273556812419153608075271899245364432465470169896722666846395813307541304588785317585158805485725389867841038845897410646684331294610830558399065865182158329091906296450367694256339063828960464516719465920864470505899294412072311139232833867393893432102921052913383172484551218553276191298887243975148800639490917030295190112143129629012685770608936841733103552445430255048391971093334168673271238714193672388353840534468144038274085865721778940538742040001384052297370272735330975997724711080440342786783280878685800464039089825477762397211830760582800407219083644760916763405888581277836094709458777613199792903886889876783616886388893886973756887707205779286106984921955157580823083445981882922993090049491504165987363367581750489293732119814714522179218 321658626653136816296739382658316308220503705452806324977854147356425717388013789319840333290956275359527553010799046325925273332593661641533322777369556596937683362354004904637917232465196414262467418901636632429700145858005225518467550648725231594232245759598060380562940980077438731234065008358130841874694512408662070442403149014684972708939925760933534103895661448259947335911126546513829455519435767717147559305476928603466978134948110279305745320948349522570078693477845409735182960119498693295297005804453842381596102981629638226287769243720559969679539707800299374799884657311279766352221544384061318144709184884136365470027584262587624427932277603089752171902028996124390808338633067596611309232946370370388171589628603888926703153061890939305523163094235725723810778039186953383655760786131362424597809024210122295843953770505693300256815568405963054247696201489115398326010160435736971218095591132622284606270113019007090610712467265476684110949429095136362865144974904150953655356719603985124220019906382848626506456686458260660422291484938680677633123792391495367024673147357367777913632580225793381444511348904756572341837763596614598222955352633851885080893085741604835997863640411322432991180369390417459795275579689444360049085421490074046798042559962962867242371665757377477909054549764970106117478234527687570701065011782537441441741752354374436987889004006542782064105199656625077508428895067190177743728927011825124101838339191121060852398223525554128592993528751304497172858160919633985915094401955545842202451883080929493016605883110277335619690813925829318791727903741397777289357359529490496091719346906135046596978730176932425850052977265369229046535651429104603875818671917646411351290870682441334782195301128950613938678274198460184186568694624080929228705854149880030091431389068458034632372223699852491176665214447880838305336216291148344278132524789945772722580673488030877164132450795895862132930928166012644044154479089843259744831969487769312558823419307525014642850232498591796325458865346137923210652078458931859764820148444300337355715008003860728745460528808284026087547979280879297574410432434190350421565929777279918390006837470675282556060257714447009909583922122298743409537585406583167704010762832713606087610350909641538295742314633359092155953361924172661386634984566749096162925605592760785015787683770117914736199795523490133886067874148034837152578117600904414105838808898443778238770051721417446968840758060584059243241162383431755137324462688519043444503157409013162460876962132143169808909062914417556652244771355857924400870757149101854327094043160398991291092007760127409950600008297468517948450449935919268954236227117207685769994036908802472138756303276358179644656300028000269140934102718505859733042640954817792482572176104277545997250010295675206987096952120751288007774970426127771662116787928014873697973055314437285029225728852824813632888441806112203895493584118425071774534710509014740107762267411703995582476832829831159789710217599604690091489865596805659658566379024912368600507592011598477280184257333470415095236477733944582753958143751024307906179766359174652339264218263577579288973732602642643582704838296556589797105724068630995360224284297910729425220361730084569201444543039484861202148564889468811683772956325092466690194029675934733341672104411199486006340734286960430638404805890183320454045409139977515400591791907004258595233753350012479069254299055189787260990446037093465101594991731858596657126688217888234903746558852108244435860826050800955736381791824904579600855176312417531308754578722736723658285714590631742623931252801174016435058401349164023485832733599772160278117473465121446976132496506641022183904889797294192797681331517086211086277416093058766277759987763744138086469276763441167079328335850572323912785566617103069955800511307692909127389138404286989 520454590699388202589986516472704812022572871808780552427807969721999067608230803522914721108641395709566849574694067968239186203311346538231395280522375870089113166302620144256224251001264247448806061898268636436803468782528690156665748764577447072593152306218603599973089263019259561963487611996384330210306304391157961101044874664225143542071105097470652073777187612375123904471602444395514015105100532957655458969383262763065323237503061686004750624855593679286651411846714605453258945180592488268065274218794940435783658552264084965702550821864171591723571381466173962753136999508824791250177229123139174392142278603514120555741239608731791500679291568259415824640623552484799987023427684399906280826211986748358598630085097697845691542188943866340858786192193635110709996168579112569063421947544156081633749747559572471874048670125632401661161141708204599543775840779428585876085652158138070999683852891840622371083343027760450699280025429396508638800762035077116885458543553090100432083493400736357819306433238861633342586459185100815423465488763712194561314423986879055590232431391661628968941220098220263020971771257680240610699175417381319546591199960996080373520928208354480794548238300749421660757098333399393095810713203859347144208430109288320191423638456339381739835503827171443799677036871620951900859309867277935808308458278247408405102389856628968251336531634585668748152593741267715344009019796086803860547211825524505150621409315542375382049141080833656856401580123888389985665551692958869423809913771408891176192958451035479676823022519393448092640200450739745527798582821541567767911054854955108780874620068727508178113558338658136747464085366408479708169988721391352081073691315334896460134117999222164864801162988121447061006150513036158056182344103678403857667769017115499476002709480942984086789914301502776675521116979623854096565390410594142595603283037985761399496306168674481692590847217865134133980062246599464060641489272701353940487822518642862096866781975228323375396912769046554071791259656450215567003352720981551062625100461278671745920250252304846060336080473514264378866239944488534752001567745694924413798053928651795229854660135529540145199623394739978535740572769331585637796810932406473737679273333978920966521055139155916950578840015291148807101798097008234954281723439953642100128279189002376189352234143201642027497424872392147474911668403203306469915150746022479251581910721190732057620136807602039219973122680232731861918047042527083413400460039730474204447650023651296153035953882971796921588712188839353645672349604242087997191653382049749960205230485333718343687259066418538873681716872161629565688501794792588064654403281058887155974948736235165125309651911635303381916163722622876970493670900915835380548303540528740186996358560279434035588899485380069267599876089318500926612356757356777309819973699671592864544339490367939099841329525785173857036903842693297587363492619667162582932497298203458191474095134196897678954210279810252560705675994749878169126133501086779487631884981253778741177357318539810669028188502129723453256821769397088027514956170177915981451665604539084804734388160300246135369545910183948171490155881715395282831113936472034206121694944595060719831192288483635066626701368576767498598932583725150747601916789609186156114894146440632636084176722338718840208128180392533559457719273355805005263962416168814287835767055804898086150783645202591212383928067875557869927287770197017547025246780250567750460856891159473617940231240462084970328970089075041602103570765443321640856560364714901581489909698734448369366154933418525904809938601638055524883879111561235316593316400179379361762234381884852864713774342735731642682502997087096684571208300703097475171303066815653984965767049851123008424434344264250525310218773565413962277070783090433323382261796986641247203852926466207 842113217352525018886725899131021120243076577261586877405662117078424784996244592842755054399597671069094402585493114294164459535905008179764718057891932467026796528656625048894141483466460661711273480799905268866503614640533915675133299413302678666825398065816663980536030243096698293197552620354515172085000816799820031543448023678910116251011030858404186177672849060635071240382728990909343470624536300674803018274860191366532301372451171965310495945803943201856730105324560015188441905300091181563362280023248782817379761533893723191990320065584731561403111089266473337553021656820104557602398773507200492536851463487650486025768823871319415928611569171349167996542652548609190795362060751996517590059158357118746770219713701586772394695250834805646381949286429360834520774207766065952719182733675518506231558771769694767718002440631325701917976710114167653791472042268543984202095812593875042217779444024462906977353456046767541309992492694873192749750191130213479750603518457241054087440213004721482039326339621710259849043145643361475845756973702392872194438216378374422614905578749029406882573800324013644465483120162436812952536939013995917769546552594847965454414013949959316792411878712071854651937467723816852891086292893303707193293851599362366989466198419302248982207169584548921708731586636591058018337544394965506509373470060784849846844142211003405239225535641128450812257793397892792852437914863276981604276138837349629252459748506663436234447364606387785449395108875192887158523712612592855338904315726954733378644841531964972693428905629670783712331014376569064319526486562939345057268414384445604872593966974862554775092288515590562597517062631777708754705640150495955956892363232981307811424988681663499646996464117072060999684424711496342242751038727759333086373623166995529567434098549401018719162138001355267852186331427504692401901606701742486873735807827931534122076979656705358856723298013760996266910990412612108104795968362544613685319792006412174655690201282753338018247145267638350397250125002588138777655431179913410827445248905579009101635258256165574805796609281798290466414219225367832326412000179885274835363983705931713619861497606204822701259881109186988445324494891630329047334396338989641441690036166692527054131406048797455246321154648650240963055160021180896340916708006702738263053884781763161205139917913319556763697220395882281360979542551238143622493268346926893357420719619634510296390188529019486188813880740816791105159209425958838550724922728249517648950807432664458613912916015114966730497775103256910297917120960100012398062410531151604287299273645732709634779266826545948824281725169630147514138951730711857018890630398266572925968985645037637264065955187993483026572463750623146111427773619421695113590944495346532669568534664556980032838909781055276254696828210069788934387327183484548971936761627686466562517394804805224129067058378609987489925345648805501482857076738092234357467207807218198299236362545900893261431043109641412350415893594354568260615999097892439146198264006166147341684949330138287949212445835600138548493299503341670781473099921202223887631431963713737143998606423877825424343278512826591754194994178271985079936838005103029566345979242505790145051554018568204268071244408061628700747497473193962431374873114701652846308923822375365977756281133538204846548862467352964197862525163539125459309371556146329688427558962809156681384536995215070281638227123065345130917733807290482648620238512109164407587545109047708521686790092570329406189796139875997338485362590347901241711736677132432890244488421471172027651869524050268528741191402812071959942280460725258802426049999951539639879707847006299840846270849376753826587392794381289482252539817789308561448719159874420262725754813595261094893711107705417604638554624137737875062637400193503279182773104679550374592991330753196 1362567808051913221476712415603725932265649449070367429833470086800423852604475396365669775508239066778661252160187182262403645739216354717996113338414308337115909694959245193150365734467724909160079542698173905303307083423062605831799048177880125739418550372035267580509119506115957855161040232350899502295307121190977992644492898343135259793082135955874838251450036673010195144854331435304857485729636833632458477244243454129597624609954233651315246570659536881143381517171274620641700850480683669831427554242043723253163420086157808157692870887448903153126682470732647300306158656328929348852576002630339666928993742091164606581510063480051207429290860739608583821183276101093990782385488436396423870885370343867105368849798799284618086237439778671987240735478622995945230770376345178521782604681219674587865308519329267239592051110756958103579137851822372253335247883047972570078181464752013113217463296916303529348436799074527992009272518124269701388550953165290596636062062010331154519523706405457839858632772860571893191629604828462291269222462466105066755752640365253478205138010140691035851515020422233907486454891420117053563236114431377237316137752555844045827934942158313797586960117012821276312694566057216245986897006097163054337502281708650687180889836875641630722042673411720365508408623508212009919196854262243442317681928339032258251946532067632373490562067275714119560410387139160508196446934659363785464823350662874134403081157822205811616496505687221442305796688999081277144189264305551724762714229498363624554837799983000452370251928149064231804971214827308809847325069384480912825179469239400713653468587043590062953205846854248699344981147998186188462875628871887308037966054548316204271559106680885664511797627105193508060690575224532500298933382831437736944041392184111029043436808030344002805952052302858044527707448407128546498466997112336629469339090865917295521573285825379840549314145231626130400891052659211572165437457635245967625807614525055036752556983257981661393644058036684904469041384659038354344658783900894961890070349366857680847555508508470420866132689755312554845280459169856367078413567925580199249162037634583508849716157741734362846459504503926966981065067660961914685131207271396115179369309500671448020652461187953372196899994663941389770156958118189131295198431446656380363182163970765537394492152056521198791194645268274428835891210954441450092408419092949372609002630340825242354010325336621525408787003421049522967077256468485921964125382767979991853398457456315754766948869898086763652086487292096263943589470564342100395254063913201354247504504131066427978466525892964487697963442041791777079827453525504445083545033679325460081943934381272802389375607099628786408488627473246023081921444520337530494139248035875272856564893224836414068427809266435345522296704299388289860999683940841326281756735327358059427061734295173163228908387904395161346962249491498799070220569357759396940399705105421656490710457680097790940385253389451664911121569589104446429742132598979218633830148987419926082862306648678098618240634337729862001750121272738758808988056091380139869083097568252821948732994584178071559712824423010539925685150059987380362767951941575063772467674187100850864882746307051839334697945776638396199346430056919113178976789904310839002423817968815998613840457855876923686756990647745497757320244436894930464573333972315143976263326018614054767535320640417661494022155190940903000845021577487500195645485292359732158048402000207182139627021333032414376518766228951038940588933355791222882568297041847334471734398120205620397018024457468794433551130004450127484826159572286494119019366400130919001641942228891152705560045192112485469269895791468386166823748118492406036620022226690074247691521863446384103318145451969668129948773397703151837339708183283936602565034901666191621796844257219403 2204681025404438240363438314734747052508726026331954307239132203878848637600719989208424829907836737847755654745680296556568105275121362897760831396306240804142706223615870242044507217934185570871353023498079174169810698063596521506932347591182804406243948437851931561045149749212656148358592852705414674380307937990798024187940922022045376044093166814279024429122885733645266385237060426214200956354173134307261495519103645496129925982405405616625742516463480083000111622495834635830142755780774851394789834265292506070543181620051531349683190953033634714529793559999120637859180313149033906454974776137540159465845205578815092607278887351370623357902429910957751817725928649703181577747549188392941460944528700985852139069512500871390480932690613477633622684765052356779751544584111244474501787414895193094096867291098962007310053551388283805497114561936539907126719925316516554280277277345888155435242740940766436325790255121295533319265010819142894138301144295504076386665580467572208606963919410179321897959112482282153040672750471823767114979436168497938950190856743627900820043588889720442734088820746247551951938011582553866515773053445373155085684305150692011282348956108273114379371995724893130964632033781033098877983298990466761530796133308013054170356035294943879704249842996269287217140210144803067937534398657208948827055398399817108098790674278635778729787602916842570372668180537053301048884849522640767069099489500223763655540906328869247850943870293609227755191797874274164302712976918144580101618545225318357933482641514965425063680833778735015517302229203877874166851555947420257882447883623846318526062554018452617728298135369839261942498210629963897217581269022383263994858417781297512082984095362549164158794091222265569060374999936028842541684421559197070030415015351106558610870906579745021525114190304213312379893779834633238900368603814079116343074898693848829643650265482085199406037443245387126667802043071823680270233425997790581311127406531467211408247184540734999411891203304323254866291509661626493122314215080808372717515598272436689949190766764635995671929299037110845311694678395224199404825568105465474084526021340515222469577655347939185547719385613113955426389562552592243732465603610385756621059345667363975074783867236750827443221149312591630733212118139370027636115139453359118626236048752528698599632069969840755554891865664156710196870753505679593714901687439876265966423349960459752650400513865641011597600884161866314072236465894444760514850305496229509502349264888980213380861785913201730382584262395353174241506591524442112793316474444352958534803777776799137613245792719510436522245167211421924593966405256216302102435664077592033007912920026310439653441562287622269435061091223869169193349218139759225607730192531221805526133427889393394101266719047490621776993532509458078795387011124325875253693496955044525989579129099978387357975446283005148836887595140304300553077646095851631297866912912639854789946820225998684201816296499093077261537463183459014690358131696871657780028412993586073424547255978816386567453080173330000550243420776080429590461156012582363756714529531966559092731601008055896984056102935837131679880144238259365442704789946678093338813653429606641009934300325620043602769190184700024900093927530113075610351663019012491848732741791191364591596738989415128533305853115098461955182769600434055923882705528461473664690884981423211448919857635632731775660382314006248131762755384777982844265723804468896565635947109254890661313811425602743782708562368827036279074295946139124124280033718979767361978886541676792424669893981519062962292321407262199444768440033011752921445416400082458641521650075897452546406316041489239295857288585849675649076287936281714598068741386564494510417276677041645198211856559675085734587328021840889712402345583477439881747808006345741996389835587972599 3567248833456351461840150730338472984774375475402321737072602290679272490205195385574094605416075804626416906905867478818971751014337717615756944734720549141258615918575115435194872952401910480031432566196253079473117781486659127338731395769062930145662498809887199141554269255328614003519633085056314176675615059181776016832433820365180635837175302770153862680572922406655461530091391861519058442083809967939719972763347099625727550592359639267940989087123016964143493139667109256471843606261458521226217388507336229323706601706209339507376061840482537867656476030731767938165338969477963255307550778767879826394838947669979699188788950831421830787193290650566335638909204750797172360133037624789365331829899044852957507919311300156008567170130392149620863420243675352724982314960456422996284392096114867681962175810428229246902104662145241909076252413758912160461967808364489124358458742097901268652706037857069965674227054195823525328537528943412595526852097460794673022727642477903363126487625815637161756591885342854046232302355300286058384201898634603005705943497108881379025181599030411478585603841168481459438392903002670920079009167876750392401822057706536057110283898266586911966332112737714407277326599838249344864880305087629815868298415016663741351245872170585510426292516407989652725548833653015077856731252919452391144737326738849366350737206346268152220349670192556689933078567676213809245331784182004552533922840163097898058622064151075059467440375980830670060988486873355441446902241223696304864332774723681982488320441497965877433932761927799247322273444031186684014176625331901170707627352863247032179531141062042680681503982224087961287479358628150085680456897894270572032824472329613716354543202043434828670591718327459077121065575160561342840617804390634806974456407535217587654307714610089024331066242607071356907601228241761785398835600926415745812413989559766125165223551307465039955351588477013257068693095731035252435670883633036548936935021056522248160804167798716660805535261341008159335332894320664847466972998981703334607585947639294370796746275273106416538061988792423400156975137565080566483239136031045673333688058975098731319293813089673548394178890117040922407454630213554158417596810881781871800428655168035423095436328424704199640121143976533020503369076257559158931313570900015498989418212723294235994124222026361954346086510932431139032761964460121043807310106532825638575425980301284995004410839202262537006387887582915837039313722362930682478975688264209501355747722345295968147810655811288494034670749687449438185096062088784213188570538357554312782308281907865565591712318612474924220208609253213701673793858781720747185980697756917493089856854407583242042817169387251055843549718697115192275270662660096756101869440567097078382698321114229808169694528313925967299290236808846368656386695065167201535450232282402585416640863395151550586883834187400310183849844631803099623298215453611028238266618018061511280657277906096475142201549888544742172659032772563461120100264295850876413858561981005999507409562627494485185693714511059862551993542048819188399449212103962503625797627100219381041464595592233968543768927358847671605565294298246745805472741888253157111281327616707491874817046632671882937467135961338421099440357587032188789328452923323330851156559760007363205437196845292052220062843762843959712503014037328986388456039500776617640954211000037266216455178276050393269682537504947151132607776962265483039911209096828628723684349109462072800940832758635158159227328597778075219663229301930347006848330760827101833713284661882412821687918438987857395843451411712326929594599605298247040464782800213377643163592304788605251966361233601724765127184377318061815900036054774120634688763613254568758108798540488029301530002011644753864536101419544041549742053766761376484312842908011933618186679845192002 5771929858860789702203589045073220037283101501734276044311734494558121127805915374782519435323912542474172561651547775375539856289459080513517776131026789945401322142190985677239380170336096050902785589694332253642928479550255648845663743360245734551906447247739130702599419004541270151878225937761728851055922997172574041020374742387226011881268469584432887109695808140300727915328452287733259398437983102246981468282450745121857476574765044884566731603586497047143604762162943892301986362042233372621007222772628735394249783326260870857059252793516172582186269590730888576024519282626997161762525554905419985860684153248794791796067838182792454145095720561524087456635133400500353937880586813182306792774427745838809646988823801027399048102821005627254486105008727709504733859544567667470786179511010060776059043101527191254212158213533525714573366975695452067588687733681005678638736019443789424087948778797836402000017309317119058647802539762555489665153241756298749409393222945475571733451545225816483654550997825136199272975105772109825499181334803100944656134353852509279845225187920131921319692661914729011390330914585224786594782221322123547487506362857228068392632854374860026345704108462607538241958633619282443742863604078096577399094548324676795521601907465529390130542359404258939942689043797818145794265651576661339971792725138666474449527880624903930950137273109399260305746748213267110294216633704645319603022329663321661714162970479944307318384246274439897816180284747629605749615218141840884965951319949000340421803083012931302497613595706534262839575673235064558181028181279321428590075236487093350705593695080495298409802117593927223229977569258113982898038166916653836027682890110911228437527297405983992829385809549724646181440575096590185382302225949831877004871422886324146265178621189834045856180432911284669287495008076395024299204204740494862155488888253614954808873816789550239361389031722400383736495138802858932705904309630827130248062427587989459569051352339451660217426464645331414201624403982291340589287214062511707325101545911731060745937042037742412209991287829534245468669815960304765888064704136511147418214080315613953788871468437612733941898275730154877833844192766146402150062414492167628421488000835399398170220195661455027083342293289124651236581194396929186567428710353374617615654261475822934593756291996202709900978376596587849229632717965800637522211793972701904541849330261744747654811353067903548603988771744782151111550188257375442993825993760439010858096987234276181528672441724490224417255012082802612426602653613226325981887012801907271317112059684664703204958111331985360742453776464635626267760264037937049288416361834509526097769774433893681696258731674873325278610809920984361468619880799855981709599633098318883908831749003623202270961247361416589076283769318304447451773706189493076789143729237447111406219992495129937944859280470405459020737439772107400176375861549462659536133530930701366070604098132095159344017846387637819434196495956022475810458395992722534193886974974592072931956818606310871753146794684389863102236962824899617989910368116544867382512156632185940134196196600289865527825030294684803285445438536506111248177531834931250450094981046314132884751346958291926540236326146038445999534285117145264399680115942335822699889301551198727797033935834707180753368696877942421667685783637763042312338745029238091305645095981460477665375035911683125045342919818953399264370532347043465884176932901297525289320296218716963462254644184237901941935890966605111498737525248069471131128364479806869195692171203559205246357812420506920358135772818974526374363039638309999961910199200295836284685242380686057798372677275090964060984472963167737464976323991055835232757504999819063268526075217529674499741858571319839599123429441384931262144399350238816366060650914357675614576515433164601 9339178692317141164043739775411693022057476977136597781384336785237393618011110760356614040739988347100589468557415254194511607303796798129274720865747339086659938060766101112434253122738006530934218155890585333116046261036914776184395139129308664697568946057626329844153688259869884155397859022818043027731538056354350057852808562752406647718443772354586749790268730546956189445419844149252317840521793070186701441045797844747585027167124684152507720690709514011287097901830053148773829968303691893847224611279964964717956385032470210364435314633998710449842745621462656514189858252104960417070076333673299812255523100918774490984856789014214284932289011212090423095544338151297526298013624437971672124604326790691767154908135101183407615272951397776875349525252403062229716174505024090467070571607124928458021218911955420501114262875678767623649619389454364228050655542045494802997194761541690692740654816654906367674244363512942583976340068705968085192005339217093422432120865423378934859939171041453645411142883167990245505277461072395883883383233437703950362077850961390658870406786950543399905296503083210470828723817587895706673791389198873939889328420563764125502916752641446938312036221200321945519285233457531788607743909165726393267392963341340536872847779636114900556834875812248592668237877450833223650996904496113731116530051877515840800265086971172083170486943301955950238825315889480919539548417886649872136945169826419559772785034631019366785824622255270567877168771620985047196517459365537189830284094672682322910123524510897179931546357634333510161849117266251242195204806611222599297702589350340382885124836142537979091306099818015184517456927886264068578495064810924408060507362440524944792070499449418821499977527877183723302506150257151528222920030340466683979327830421541733919486335799923070187246675518356026195096236318156809698039805666910607967902877813381079974097368097015279316740620199413640805188234533894185141575193263863679184997448644511707729855520138168321022961725986339573536957298302956188056260213044215041932687493551025431542683317310848828748053276621957645625644953525385332371303840167556820751902139290712685108165281527286282336077165847195800241298822979700560567659225373949500221916656003434821265656524086159226723463437265657671739950270654488345498742281253390116605072474199117170587880514022564664247064887529018988262394682425921681329521900505527543117275310563029742659222192270166085610376659327697988150863910620306125472801682024648512213844709579572149676483097535778718451925761770252050611698715702010539170457551159461584099420341592530268796670429944460284962662385717849327941554122819657796474397059591427019187626628841476923739075901062124381122160528618099553743890543459952737811469073665415962291530070117853010440655775675342556375574006127150816108160401254660278324593961519849696822860855890281488531743114657805769204587284403910499799674077003073687774400148948762877351261376038191634486219396276182561606855528728585936930558660288573410607745536955598072439366381233805356938840509195449725654230504873718806389359580220507371008309783732405321175660792192523834071593957653532474891010732834752857053650273723184407561376308663021624759568393590963809477703462107376867098974642704177453189008568865659153551045861311206091002471132679999232973431540640786381380188797675092028700794784530014708946599306981497743881830214187733518315025457323900550396978309309308948924088141998126154013004645328179036263195476942873060101163219564383186718400754549999818137976695240633971029405455865441618068045730859494777753979224230686853303957639243608247002374982000509213927848834685474663050339038508692688826111657340485799280876360045829955867446268613073632026634873758017703801271860582964593463659530860928972811886453117000192850373493822369609232763195278356603 15111108551177930866247328820484913059340578478870873825696071279795514745817026135139133476063900889574762030208963029570051463593255878642792496996774129032061260202957086789673633293074102581837003745584917586758974740587170425030058882489554399249475393305365460546753107264411154307276084960579771878787461053526924098873183305139632659599712241939019636899964538687256917360748296436985577238959776172433682909328248589869442503741889729037074452294296011058430702663992997041075816330345925266468231834052593700112206168358731081221494567427514883032029015212193545090214377534731957578832601888578719798116207254167569282780924627197006739077384731773614510552179471551797880235894211251153978917378754536530576801896958902210806663375772403404129835630261130771734450034049591757937856751118134989234080262013482611755326421089212293338222986365149816295639343275726500481635930780985480116828603595452742769674261672830061642624142608468523574857158580973392171841514088368854506593390716267270129065693880993126444778252566844505709382564568240804895018212204813899938715631974870675321224989164997939482219054732173120493268573610520997487376834783420992193895549607016306964657740329662929483761243867076814232350607513243822970666487511666017332394449687101644290687377235216507532610926921248651369445262556072775071088322777016182315249792967596076014120624216411355210544572064102748029833765051591295191739967499489741221486948005110963674104208868529710465693349056368614652946132677507378074796235414621682663331926607523828482429159953340867773001424790501315800376232987890544027887777825837433733590718531223033277501108217411942407747434497144378051476533231727578244088190252551436173229597796855402814329363337426908369483946725353741713605222256290298560984199253307865880184664956989757116043427108429640695482591244394551833997244010407405470123391766066996034782971184886565518678129651921814024541683373336753117847479502894690809433059876232501167298906872477619981240388190631670987738581702285247528645547427106726749257789039462756492288620359348591240958044564451491891094314769485690098259368544304067968170116219606326638897036749964899016277975441577350678075143015745846962717721639866117128643404656838834219435876719747614253806805730554782322976531465051417532066170991606764734220726735674940105181636806018767374148043264125606837492027400391722318851733694478229447659124640824774490314033545338069634214365431072480139262414098877681568466627675785087523071941696813848331205155539260268942869180773853054663038301369315236865152344563961368855416532401277194972001628541276445645705116162182484954209314386857594845762813421425936545285396403275370605435334632736997706400771338539083915212510424259808719521068706763734846200361819121476212711617023036759145451857775445455263559934107444153355113737690757296808229080848385411426476602395128211228225324724176017899976049938552536347310533679879464243421865474170286793830237242663820381041052024684608412741017056281295944801632511930190145371323199840116228691987303879839588756467467698618424379269948337052238390821940364591261309856988792813699599418987948217278176456171371258968301827805558115658011471289709335757644319740549255736017939788253415313098508927821322717588688684807994976250935162862404818799505068514706413726800237518728803047874581312855071013133529559252800252244402962958221547205250099416643360368377142853949661348841656352414808265074899423679302324941546895999725450121127110962043099110530988298217138279798069289269105059720440840225097627069000823314403543280001698112114997049661379678320678881918246964285181200805050212534077066160720848711715783783652887096130303653536745852684036885791100203773612892695295160948975547378301013719154284433062782960302313904074030852467239009216434144736727284847339710711521204 24450287243495072030291068595896606081398055456007471607080408065032908363828136895495747516803889236675351498766378283764563070897052676772067217862521468118721198263723187902107886415812109112771221901475502919875021001624085201214454021618863063947044339362991790390906795524281038462673943983397814906518999109881274156725991867892039307318156014293606386690233269234213106806168140586237895079481569242620384350374046434617027530909014413189582172985005525069717800565823050189849646298649617160315456445332558664830162553391201291585929882061513593481871760833656201604404235786836917995902678222252019610371730355086343773765781416211221024009673742985704933647723809703095406533907835689125651041983081327222343956805094003394214278648723801181005185155513533833964166208554615848404927322725259917692101480925438032256440683964891060961872605754604180523689998817771995284633125542527170809569258412107649137348506036343004226600482677174491660049163920190485594273634953792233441453329887308723774476836764161116690283530027916901593265947801678508845380290055775290597586038761821218721130285668081149953047778549761016199942364999719871427266163203984756319398466359657753902969776550863251429280529100534346020958351422409549363933880475007357869267297466737759191244212111028756125279164798699484593096259460568888802204852828893698156050058054567248097291111159713311160783397379992228949373313469477945063876912669316160781259733039741983040890033490784981033570517827989599700142650136872915264626519509294364986242050132034725662360706310975201283163273907767567042571437794501766627185480415187774116475843367365571256592414317229957592264891425030642120055028296538502652148697614991961118021668296304821635829340865304092092786452875610893241828142286630765244963527083729407614104151292789680186230673783947996721677687480712708643695283816074316078091294643880377114757068552983580797994870272121227665346871607870647302989054696158554488618057324877012875028762392615788302263349916618010561275539000588203716701807640150941791190476533013781923831303676659440069706097841073449536719959723011075430630672384471624788922018358897039324005202031492185298614052607424546478316441838725547523285380865240066628865321312842269040701533243833773480530269167820439994716481735705905877564913272860154850825799209874057275769517320041332038395108151654625825754422082817644000181255594983756990776399951387804232973255737608235719824742090400178127413278009497987693939429357809736035285786406393420480881638636796047661321106535623306713650000085017247404322802115120830439515952742869725240798298971220905930667778547900334282150868509677252642237210481017363564473023032116847529174410533799122087522931867157183468956400967719761457332537780429150808491891889239329223152272798712101701827431781572606079668094508698813633438331652277146505051941704275692915008345509786016997429912008579928399775724015555610035084933828828227120773126850208478428316456638940002942647907553413194349671575716569869355409378048885788217810689581073921585630827813075289314410697972572337230768629528557559609399131724096996582485517780985337533671012945601749753067466904206011825355478079281300065572847598372357382403888134140219545495643250360792180197483570525500170777697253673654129801981024173610909801976201194705646700231778159515184428063378987947099713928314089267509198843709944455965429035464287150161675393834466754500058327150965661363732353216897549833315329586875075035988645598069984022144262330095371484935539034348069107407081754961074811254503082934442441382449274139496475866094221280348232982278318125526493966660163201314264140382911751635383899050754292476341713207787644139336026729044082715746967650042225966327321795822733565082102285579737249026526442491163242876885917305584239202066807638559096894080102905989877807 39561395794673002896538397416381519140738633934878345432776479344828423109645163030634880992867790126250113528975341313334614534490308555414859714859295597150782458466680274691781519708886211694608225647060420506633995742211255626244512904108417463196519732668357250937659902788692192769950028943977586785306460163408198255599175173031671966917868256232626023590197807921470024166916437023223472318441345415054067259702295024486470034650904142226656625279301536128148503229816047230925462628995542426783688279385152364942368721749932372807424449489028476513900776045849746694618613321568875574735280110830739408487937609253913056546706043408227763087058474759319444199903281254893286769802046940279629959361835863752920758702052905605020942024496204585135020785774664605698616242604207606342784073843394906926181742938920644011767105054103354300095592119753996819329342093498495766269056323512650926397862007560391907022767709173065869224625285643015234906322501163877766115149042161087948046720603575993903542530645154243135061782594761407302648512369919313740398502260589190536301670736691894042355274833079089435266833281934136693210938610240868914642997987405748513294015966674060867627516880526180913041772967611160253308958935653372334600367986673375201661747153839403481931589346245263657890091719948135962541522016641663873293175605909880471299851022163324111411735376124666371327969444094976979207078521069240255616880168805902002746681044852946714994242359314691499263866884358214353088782814380293339422754923916047649573976739558554144789866264316069056164698698268882842947670782392310655073258241025207850066561898588604534093522534641900000012325922175020171531561528266080896236887867543397291251266093160224450158704202731000462270399600964634955433364542921063805947726337037273494288816249779437302274100892377637417160278725107260477692527826481721548214686409947373149540039737870146316672999924043041689888554981207400420836534199053245298051117201109514042327669265093408283503738107249681549014120702873451245347355067257668540448265572476538416119924036008031310664142405524941427814274492496765528890040928775692757092134578503365962902238781457084314892028049001897156391584854471394486003102505106183757508725969681103260137409963581387734337074898375222317693013200757323409631084264466919585046525945548997380951154126060099412543151415780232663246449483209366319032989289461986438435524592212578723287289282946305354039107521472658266675692108375669262406057033594823558357728103207268812086794176056316604190287309476361376688301454332484269475146679082199294932485144146920212799927512497351576372894710082819236360182896534847488000023902443300109758419435392218134609745166536119793923703205696267384168911391979570176853606487192885654692253708360805435863889821748860847279289557018061343228028616142966988552069343034443313281022552661104341484947904914228225655236732755946299751773954108146382395467508707691364194992324378765222146693881603823323688959578097802762412592772851165300211010560815978363182012780914037814322815116955128903167165440270955655147899476894611847789953664461587843795374769778151233270431933549967031243923075577270793657305884839415723584318888081693140048207874689475281513583038614207493295992498346822888366385938481649106052916187036015728601481269709412060427032015678243987475937960300802170727061843648520309451088112907414186976240714386566805035762211609608449719675992622013778540618291796973512617654528421971035714095719197094984187361440626359783152677314146138396676186814681515651479600710003443264696852817419498173978209218330009612660598997007444740930945344402119314352916988817796104747762470076259994600303917947792872772581728119601538067853815838859022616956771709112460403299298891533459589225451465556780959948158051478211283241783295824178927442616701399011 64011683038168074926829466012278125222136689390885817039856887409861331473473299926130628509671679362925465027741719597099177605387361232186926932721817065269503656730403462593889406124698320807379447548535923426509016743835340827458966925727280527143564072031349041328566698312973231232623972927375401691825459273289472412325167040923711274236024270526232410280431077155683130973084577609461367397922914657674451610076341459103497565559918555416238798264307061197866303795639097420775108927645159587099144724717711029772531275141133664393354331550542069995772536879505948299022849108405793570637958333082759018859667964340256830312487459619448787096732217745024377847627090957988693303709882629405281001344917190975264715507146908999235220673220005766140205941288198439662782451158823454747711396568654824618283223864358676268207789018994415261968197874358177343019340911270491050902181866039821735967120419668041044371273745516070095825107962817506894955486421354363360388783995953321389500050490884717678019367409315359825345312622678308895914460171597822585778792316364481133887709498513112763485560501160239388314611831695152893153303609960740341909161191390504832692482326331814770597293431389432342322302068145506274267310358062921698534248461680733070929044620577162673175801457274019783169256518647620555637781477210552675498028434803578627349909076730572208702846535837977532111366824087205928580391990547185319493792838122062784006414084594929755884275850099672532834384712347814053231432951253208604049274433210412635816026871593279807150572575291270339327972606036449885519108576894077282258738656212981966542405265954175790685936851871857592277217347205662291586589824804583548385585482535358409272934389465046085988045068035092555056852476575528197261506829551829050911253420766681108392967542569117488504774676325634138837966205819969121387811642556037626305981053827750264297108290853727114667870196164269355235426589078047723825588895211799786669174525986526917356431657709196585767088023867692110289659703461654962049162707408610331638742105490320339951227712667471380370240246598390964534234215507840959520713313247317546014152937400405286907440812949269613506080656426443634708026693196942009288483370346250386374047282523372300838943207415161214867344066195662312409494936463229287195997537327074435872325155423054656720671446101431450938259567434858489000871566027010319214244884445743429211924543600382956260545020554541073863849611872836394088970117873656956345486391404559593643514509600689292968432812852364265511393845099668090338301539349731673797948794203029734448437887016645453598226483718257507040673257983153518511051406212100130237234383460663674231442467509065663784155700335241881446635072853450853125312359699331634186144267622036463184145597600134659016162620460962549106721338590667422896123124841780621990400995311589818332964256936797256493293414700245223085148741335874699527497969663756417480401337535918484968119174587243650463150520543826266336867131510997112084168489421034655620388609701766580992702361987959399953642930030418217577863412843292885916529005452171457189085388558584426280892550763488766941444879151716784311389979783282619012783964120715789157166486454050522452096008829694827009226288974999673493476068872323059144083192155303235854897211209626638403457470904117707127263793837759171904001339288749270440990157737787818649931822851870152405276178673716966711156046076362949778003143587675142272971508694523345932984115297046071702741317267079006331623770721731268088216348494207504083268569642590462734103792937885706079302091558994649844303439610357845642877315132971234897605507603433578493299900569431488646813224368736336313511705591932208799310772202317285035503858064825349938752594442677542505584878628782486115667942628799657845865463635717413350049421854921073007545522691276818 103573078832841077823367863428659644362875323325764162472633366754689754583118462956765509502539469489175578556717060910433792139877669787601786647581112662420286115197083737285670925833584532501987673195596343933143012486046596453703479829835697990340083804699706292266226601101665424002574001871352988477131919436697670667924342213955383241153892526758858433870628885077153155140001014632684839716364260072728518869778636483589967600210822697642895423543608597326014807025455144651700571556640702013882833004102863394714899996891066037200778781039570546509673312925355694993641462429974669145373238443913498427347605573594169886859193503027676550183790692504343822047530372212881980073511929569684910960706753054728185474209199814604256162697716210351275226727062863045361398693763031061090495470412049731544464966803279320279974894073097769562063789994112174162348683004768986817171238189552472662364982427228432951394041454689135965049733248460522129861808922518241126503933038114409337546771094460711581561898054469602960407095217439716198562972541517136326177294576953671670189380235205006805840835334239328823581445113629289586364242220201609256552159178796253345986498293005875638224810311915613255364075035756666527576269293716294033134616448354108272590791774416566155107390803519283441059348238595756518179303493852216548791204040713459098649760098893896320114581911962643903439336268182182907787470511616425575110673006927964786753095129447876470878518209414364032098251596706028406320215765633501943472029357126460285390003611151833951940438839607339395492671304305332728466779359286387937331996897238189816608967164542780324779459386513757592289543269380682463118151353070664444622473350078755700524200482625270536146749270766093017327252077540163152694871372472892856858979757803954602681783792348554790778875568703271555998244930927229599080339469037759174520667463775123413837148028723873431340870120207311045123981570285448144662123094265045084720291727096040959684100922802604869270826131117373659303780406335106207396517774666278872087007677966858756071151748675502691034382652123332392348508708004606488410754242023010303106287515903771249809679594406353928398108705428340791099611547668336495291585875452434143882773252204475560976353170996548949204418964570884630102508137220552696827081801793994020918851100972052037671825572161530863481410983215091152247321049236376638247234173907729867647449135812961679547834303500846427902957133345494660764662226249326218751543424999383152001242612807958105055226988908680869701681154576029467026602993682215943273095473285229029380923031163565666398153996215609083413567968065972754871234302746947618237258285903963783989861902901283798393900866871361675370338278549718237294223751678901811039750754814922117876399305960940094880052442209823396386010895608728766124151740984747610542470338346033131613986809597901597978241319614473448740385474091820999279271923771902799875868846243609849163111498966008872609844402147649590025826709608799874496761262272199955831399170517744944174715142901997214276458046985547120745028853114248541064428482346783304979039053020172270076267320541640000211876812701683815555313055360553412670089848960131512741485374535743662500303883519170108522809327589207166789468567219145947510469130636952341907813398245642367004938740613529767554295809516003159379939299589551441168052001386308128101019935759284339381516893060283771746918257685971399497679136209688920813589800491496858550638643719017107416837036464173990518985211348091051240893662640345900759455384324106114213704502941328970776154908978492823822512657940367458303476312140415975828550852005552892846216889387227593394575694444996330913815623539725081571892500321918823103357673903684372555709366151790002908884177520315945704893394094356438805813621687195624633291205150745251934988139392675829 167584761871009152750197329440937769585012012716649979512490254164551086056591762882896138012211148852101043584458780507532969745265031019788713580302929727689789771927487199879560331958282853309367120744132267359652029229881937281162446755562978517483647876731055333594793299414638655235197974798728390168957378709987143080249509254879094515389916797285090844151059962232836286113085592242146207114287174730402970479854977942693465165770741253059134221807915658523881110821094242072475680484285861600981977728820574424487431272032199701594133112590112616505445849804861643292664311538380462716011196776996257446207273537934426717171680962647125337280522910249368199895157463170870673377221812199090191962051670245703450189716346723603491383370936216117415432668351061485024181144921854515838206866980704556162748190667637996548182683092092184824031987868470351505368023916039477868073420055592294398332102846896473995765315200205206060874841211278029024817295343872604486892717034067730727046821585345429259581265463784962785752407840118025094477432713114958911956086893318152804077089733718119569326395835399568211896056945324442479517545830162349598461320370186758178678980619337690408822103743305045597686377103902172801843579651779215731668864910034841343519836394993728828283192260793303224228604757243377073817084971062769224289232475517037725999669175624468528817428447800621435550703092269388836367862502163610894604465845050027570759509214042806226762794059514036564932636309053842459551648716886710547521303790336872921206030482745113759091011414898609734820643910341782613985887936180465219590735553451171783151372430496956115465396238385615184566760616586344754704741177875247993008058832614114109797134872090316622134794338801185572384104554115691349956378202024721907770233178570635711074751334917672279283650245028905694836211136747198720468151111593796800826648517602873678134256319577600546008740316371580400359408159363495868487711989476844871389466253082567877040532580511801455037914154985065769593440109796761169445680482074889203725749783457179096022379461342974071404622898721723356882742923512447447931467555270327849120440453304176536717120407355623541904189361854784425807638240865278504580069245798684530256820534727847861815296378411710164071763030766546942512003073683781984023079339121068456791176256395106694392497018262962314419670550649949641248192615263386957461479058353473296859373679413344635808379324055387501766806745218331054853632344122983175097029816403942745644757122408647398023659801761045135213074999675697557364904533031947617071044267488258763829360918180211119996380479933866590454241226049126273382285708959047748474492669364627458221304370410349462178056567206603556816973351403169090419536111378233445225895022436958581060544903561074753896215062670785945492732234199396189020274865826528232532871333657622949946951066534698854471534734314718671825534215427695698806769893435659217356270183779528334131230673553252523072994922691475856362693841119796986580929751693234611451787780219511525167417504889956614230100977015965338322892265957541426980957487798954762168124441578756696357159871305128767153321691853400599866703035143836031682873813080847301898651860989794184952399892348864935532035616564206840282944636091469006654552322792255577762710609455269005408396211517647474681559603353762331283940638878300711609042159124095946750951758611154491786793071734000738458074303762334349275682279797364063086561309186020204483622759016063179119578353731252996850608982069822319329110011134553404842723953966696576947808295879214676855457000537487473666816097550725303946353627273387210726156359608986471339516789956659082041388918813732667227327329131657290371203272524236108138861531968509722494461960594467545414469056149098431820561336723156096651679085322913037983340627005666324942533662083952647 271157840703850230573565192869597413947887336042414141985123620919240840639710225839661647514750618341276622141175841417966761885142700807390500227884042390110075887124570937165231257791867385811354793939728611292795041715928533734865926585398676507823731681430761625861019900516304079237771976670081378646089298146684813748173851468834477756543809324043949278021688847309989441253086606874831046830651434803131489349633614426283432765981563950702029645351524255849895917846549386724176252040926563614864810732923437819202331268923265738794911893629683163015119162730217338286305773968355131861384435220909755873554879111528596604030874465674801887464313602753712021942687835383752653450733741768775102922758423300431635663925546538207747546068652426468690659395413924530385579838684885576928702337392754287707213157470917316828157577165189954386095777862582525667716706920808464685244658245144767060697085274124906947159356654894342025924574459738551154679104266390845613396650072182140064593592679806140841143163518254565746159503057557741293040405254632095238133381470271824474266469968923126375167231169638897035477502058953732065881788050363958855013479548983011524665478912343566047046914055220658853050452139658839329419848945495509764803481358388949616110628169410294983390583064312586665287952995839133591996388464914985773080436516230496824649429274518364848932010359763265338990039360451571744155333013780036469715138851977992357512604343490682697641312268928400597030887905759870865871864482520212490993333147463333206596034093896947711031450254505949130313315214647115342452667295466853156922732450689361599760339595039736440244855624899372776856303885967027217822892530945912437630532182692869810321335354715587158281543609567278589711356631655854502651249574497614764629212936374590313756535127266227070062525813732177250834456067674428319548490580631555975347315981377997091971404348301473977349610436578891445483389729648944013149835083741889956109757980178608836724633503314406324308740286102439428897220516131867376842198256741168075812757461424037852093531210018476762439005550845055749231251631517053936342221797293338152226727969207947786526800001761977470302298067283125216907249788533614999871655121251118674139593786932323422791649549408259113276181995337431572614511210904334680850161140915062477710027357367158732064322590424493177901081533865040793495513664499763595708713232261203164506822815226306315356213627556233929669763878563825715618294570372309393848573241403325897645999735216605503078886790669726004914756154251727024391507526714163560344139740773487793210283949343776786394534476149475673867809194115099028253520011705995366711750955268591242211166273311633260571957434077965232187311629952887327713759863057135256265645777251880698936944209522014848776267504880609341878743129808124955144426606811275843075341672003656081560937876132600452449776053929192120565919689519516698086041817207562017232139030023138183294342172519261395682839324839125446388520550728596861077691013965434567283186950737256469342132647791953828506559024001512459067921119071789968045385970145738067147163494598928966433427191846768767365198504555084415422016090504389444352963662040978814640137235525537847452703775868035044054844944153414007072413203310614954165021453429207919670524007700911372413334952131177242235855412869765490663879938467852152777094160510404074851971694370438831168309964794284510204992561448305748773361416007052983900151109677517063034261402735080286536415390195426987369594193417913370570003673774899305602179338290802691161512798820543647631611909515980297489328755491092762249829939413803186554707211614539364185733679343886675435964613258728998141142952671382371943095772846154931242219205872194095050171326746257548323353233669414377525454730817512535457492707010108662616631832156411576877521801476628476 438742602574859383323762522310535183532899348759064121497613875083791926696301988722557785526961767193377665725634621925499731630407731827179213808186972117799865659052058137044791589750150239120721914683860878652447070945810471016028373340961655025307379558161816959455813199930942734472969951468809768815046676856671956828423360723713572271933726121329040122172748809542825727366172199116977253944938609533534459829488592368976897931752305203761163867159439914373777028667643628796651932525212425215846788461744012243689762540955465440389045006219795779520565012535078981578970085506735594577395631997906013319762152649463023321202555428321927224744836513003080221837845298554623326827955553967865294884810093546135085853641893261811238929439588642586106092063764986015409760983606740092766909204373458843869961348138555313376340260257282139210127765731052877173084730836847942553318078300737061459029188121021380942924671855099548086799415671016580179496399610263450100289367106249870791640414265151570100724428982039528531911910897675766387517837967747054150089468363589977278343559702641245944493627005038465247373559004278174545399333880526308453474799919169769703344459531681256455869017798525704450736829243561012131263428597274725496472346268423790959630464564404023811673775325105889889516557753082510665813473435977754997369668991747534550649098450142833377749438807563886774540742452720960580523195515943647364319604697028019928272113557533488924404106328442437161963524214813713325423513199406923038514636937800206127802064576642061470122461669404558865133959124988897956438555231647318376513468004140533382911712025536692555710251863284987961423064502553371972527633708821160430638591015306983920118470226805903780416337948368464162095461185771545852607627776522336672399446114945226024831286462183899349346176058761082945670667204421627040016641692225352776173964498980870770105660667879074523358350752950471845842797889012439881637547073218734827499224233261176713765166083826207779346654441087505198490660625928628546287878738816057279538507244881216948115910671361450833843628449566779106113994555029501384273689352563666001347168422512124323243920409117601012206487429137909642714888029398893504451724367049803204396414321660171284606945927819969277347945026103978515126514284588116664873240480036130934501203613762265426456819608687455492320752084514990434743706279763150553170192290614676461366196494639650951164592951611621431436570623782156770471926914495292568945603057807268643290756857625252901102546592430771140127831153927424581756412059746111177415184008261746557039644867523987906390914956083342264322050420164225301635805720665043115186243624633218700432470643721982722750014001284568789004284981356056418133295974435368701491540799688839279997489113083089602672482567551395287371475364007521144164701472637804075608213005661279031507888942667299306921310788243910792391453904947212396892811710643221234588409213802666517425572846072513918755834247530601302751214391848393847658620765658669178734974730956767994509550152681910442736660001017477797390813385029331395026343457944692829315287936177685662790587063151897534518520196408485015288719125648225476035837475121826116538789096515332032405103668216899979586880560717620847355357839402083960819573776221463497433234617156180377821731163648824716917415016223527821947820577346152864386136319634500021602923452981593322955103036528285248663066865210640098049043695804417046986712418863537267517884161751143465655993743926679984220203175487735689899113684909452710444903292257499268109321094699758324487068910053467771156144853041818066196183566687190397280863571223525835525250469300545757477353532072461665368470281803039662314299045370391039381080737840703817544633287340725093737822289818512809346016067540668632109171792333021700599972459162077901820055463560581123 709900443278709613897327715180132597480786684801478263482737496003032767336012214562219433041712385534654287866810463343466493515550432634569714036071014507909941546176629074210022847542017624932076708623589489945242112661739004750894299926360331533131111239592578585316833100447246813710741928138891147461135975003356770576597212192548050028477535445372989400194437656852815168619258805991808300775590044336665949179122206795260330697733869154463193512510964170223672946514193015520828184566138988830711599194667450062892093809878731179183956899849478942535684175265296319865275859475090726438780067218815769193317031760991619925233429893996729112209150115756792243780533133938375980278689295736640397807568516846566721517567439800018986475508241069054796751459178910545795340822291625669695611541766213131577174505609472630204497837422472093596223543593635402840801437757656407238562736545881828519726273395146287890084028509993890112723990130755131334175503876654295713686017178432010856234006944957710941867592500294094278071413955233507680558243222379149388222849833861801752610029671564372319660858174677362282851061063231906611281121930890267308488279468152781228009938444024822502915931853746363303787281383219851460683277542770235261275827626812740575741092733814318795064358389418476554804510748921644257809861900892740770450105507978031375298527724661198226681449167327152113530781813172532324678528529723683834034743549006012285784717901024171622045418597370837758994412120573584191295377681927135529507970085263539334398098670539009181153911923910507995447274339636013298891222527114171533436200454829894982672051620576428995955107488184360738279368388520399190350526239767072868269123197999853730439805581521490938697881557935742751806817817427400355258877351019951437028659051319816338587821589450126419408701872493260196505123272096055359565132272856908751521280480358867862077065016180548500707961189529363291326187618661383894787382156960624783608982213439785550489799587140614103655394727189944627387881142060495923130076995557225355351264706305254800209441881379927596282634000411834855345246186546555320615911149857004153573896391720072109770720410879578482508785496421034859622137817932508504323379488300921878536008108592494707398595477228228390624127021441410087741025495492451345723401620951193412211230971129424158521142199111948670221833618380031228239219944262914148878905522875879625873019309865957266520806579167855361106334502345982486090221484867601962794176299210594540936756592841858404181433383100497145042587308179151606147919586460274737759323749035234350249928816867764692785449432232817938189859614279324329889325732371038481897994579901809942643636917033615983321971435362534021191596611308943745847055837492503957757186576940719978934433322605104451448750072432004629250218493815646099309128079449079918683554677664935113068826818799899759371086842173102912957373594466729094978853527850783251820548243825804700719915018591775314438673572369726749139734942576990708736311779624103746018161681694024463851682800473864271243219025018990256458734504101121363071729428090430896462451430776614629224014254998666301883718700963569430710735216152614920388801137162804931178926332040869879857807444084935023641725504871034854427771042712698914984595229650671417103758624857091750235066115780001959153270429093293312611700515814005017163230480144904096454895147352032154123413001322569758868059426658945846822405111811470030886863528541054330552145564486223752192409134122106971589797368905649060469117358684352016047082630548301959270833893520301972118680819569448068645473608532910828446013506100993583835570782838065199710984148644432432913318145331190663509613234474422034257394818216545970623299943712897912594804614086982642061175523487927186871470798358181167566664499343130363216604291318489478697577265037209599 1148643045853568997221090237490667781013686033560542384980351371086824694032314203284777218568674152728031953592445085268966225145958164461748927844257986625709807205228687211254814437292167864052798623307450368597689183607549475766922673267321986558438490797754395544772646300378189548183711879607700916276182651860028727405020572916261622300411261566702029522367186466395640895985431005108785554720528653870200409008610799164237228629486174358224357379670404084597449975181836644317480117091351414046558387656411462306581856350834196619573001906069274722056249187800375301444245944981826321016175699216721782513079184410454643246435985322318656336953986628759872465618378432492999307106644849704505692692378610392701807371209333061830225404947829711640902843522943896561205101805898365762462520746139671975447135853748027943580838097679754232806351309324688280013886168594504349791880814846618889978755461516167668833008700365093438199523405801771711513671903486917745813975384284681881647874421210109281042592021482333622809983324852909274068076081190126203538312318197451779030953589374205618264154485179715827530224620067510081156680455811416575761963079387322550931354397975706078958784949652272067754524110626780863591946706140044960757748173895236531535371557298218342606738133714524366444321068502004154923623335336870495767819774499725565925947626174804031604430887974891038888071524265893492905201724045667331198354348246034032214056831458557660546449524925813274920957936335387297516718890881334058568022607023063745462200163247181070651276373593315066860581233464624911255329777758761489909949668458970428365583763646113121551665359351469348699702432891073771162878159948588233298907714213306837650558275808327394719114219506304206913902279003198946207866505127542288109428105166265042363419108051634025768754877931254343142175790476517682399581773965082261527695244979339738632182725684059623024066311942479835137168985507673823776424929230179359611108206446700962264254965670966821883002049168277449825878541767989124469417955734373282634889771951186471748325352552741378430126262449978613961459240741576056704889600502420670154921064814232196433014640819997179494715272925558944502337025847331402008775103855350725082932422430252665992005541405048197667972072047545388602867539780080568010596642100987324346712434584891689584977961807799404162542585702895021662982926224026064702049097813490556087239215804505608217685399530779476792542905126128139256562148399362894531739779357017863184227513450467111305283979975531268285170418462106576187904331646206385915174507757296980907289573684391752599176364388316160202511910034443549631525131453036081597084238204535028643076107560755598706071985436647102810195881592665000163980351811927872659248727376629559258931922435688194054121232639983399916621693857823167243473829552086883994291767683326214144576715761467199066292397630417013705348827499413941491871665238494004486408957457628471218145487864664289233194507819900328051890949334425384556394932545282772924753136412650792458361232953155774713979879026036468053849547889130452758098072886035123725777739366954300292014601318150563836402238897372054445999454341800840396424638612284631047717715428556201912262911112301835003228606065588655701783128882114782875804169005872134914536993242013272128056797279428826676070685445316821134559521093160157881549366799779404118057818600333625477078516037850855007531126291869585944871448807615887077873575947404591598070029726237367217848402878048786955810000544393384750368231043593804726491985922805801227380154988220060296605749729622915839801618461574728894642197072788183981116434354061591035236234617944978190390671677403652328878083516277461696571693863586937010004380681553601730139437901427707735798997813306439996217486865898849799675836291676152063816576750480567380517632728597790722 1858543489132278611118417952670800378494472718362020648463088867089857461368326417846996651610386538262686241459255548612432718661508597096318641880329001133619748751405316285464837284834185488984875331931039858542931296269288480517816973193682318091569602037346974130089479400825436361894453807746592063737318626863385497981617785108809672328888797012075018922561624123248456064604689811100593855496118698206866358187733005959497559327220043512687550892181368254821122921696029659838308301657490402877269986851078912369473950160712927798756958805918753664591933363065671621309521804456917047454955766435537551706396216171446263171669415216315385449163136744516664709398911566431375287385334145441146090499947127239268528888776772861849211880456070780695699594982122807107000442628189991432158132287905885107024310359357500573785335935102226326402574852918323682854687606352160757030443551392500718498481734911313956723092728875087328312247395932526842847847407363572041527661401463113892504108428155066991984459613982627717088054738808142781748634324412505352926535168031313580783563619045769990583815343354393189813075681130741987767961577742306843070451358855475332159364336419730901461700881506018431058311392010000715052629983682815196019024001522049272111112650032032661401802492103942842999125579250925799181433197237763236538269880007703597301246153899465229831112337142218191001602306079066025229880252575391015032389091795040044499841549359581832168494943523184112679952348455960881708014268563261194097530577108327284796598261917720079832430285517225574856028507804260924554221000285875661443385868913800323348255815266689550547620466839653709437981801279594170353228686188355306167176837411306691380998081389848885657812101064239949665709096820626346563125382478562239546456764217584858702006929641084152188163579803747603338680913748613737759146906237939170279216525459698606494259790700240171524774273132009198428495173126335207671212311387139984394717188660140747814744765258107435986657443895467394453266422910049620392548032729930507990241036657491726548534794434121306026408896450390448816804486928122612025505511652277674308494961205952268542785361230876757977224058421979979361959163665263910513098483343651646961468430538845160699404136882276426058596199068986798690608565275573019356320043721938517758923665556021113743499104006911352832764419321275052891222146168288978850928003336366435713112235114371565484206206109947332153649239628474121742652369884230496494533955656228457725164270043308969709465413358631765430213005770285727794052251232666660652933831506332215257539502501259517291961813820548978140701769648722873961414457185407120078982232784436838585719744477789214689393956872009636831387478203973943909827407649420376617005913953570279237866355758293298505569982712415404545871912351638813342782957631535963912975322360991149257645542580267098825663484472590116618306201093880670586850518766344787738229505701454275918865402883256064547633181392270054801030684277002375265131244324906876670771298094344816922212915753629638985223098051055458310308282393231574121169802314125554622240190797730914921238615573149230138285957598335623876710189557953455316813439749447435978896641760597071792120718556386770026870331570459690556210899924827481790788764235522806331640751866870363878291863395208828635223955874410114447171221608974162898712597279924308214512713747685657631201929039173424766399185718528531791693853919427357108760439475945645928622175290723590970040812012170893927399797913299033810837348402278156742539068553354103186650988881740362268724430549192363908447092070107639723088210578889177564952005136899656234947218766589410623303989822734842992387696750751883730829088681803482980627680625266499642734242515514690377860173336794367183088957664257030967242500791019282427033181041799056859215209993635000321 3007186534985847608339508190161468159508158751922563033443440238176682155400640621131773870179060690990718195051700633881398943807466761558067569724586987759329555956634003496719651722126353353037673955238490227140620479876837956284739646461004304650008092835101369674862125701203625910078165687354292980013501278723414225386638358025071294629300058578777048444928810589644096960590120816209379410216647352077066767196343805123734787956706217870911908271851772339418572896877866304155788418748841816923828374507490374676055806511547124418329960711988028386648182550866046922753767749438743368471131465652259334219475400581900906418105400538634041786117123373276537175017289998924374594491978995145651783192325737631970336259986105923679437285403900492336602438505066703668205544434088357194620653034045557082471446213105528517366174032781980559208926162243011962868573774946665106822324366239119608477237196427481625556101429240180766511770801734298554361519310850489787341636785747795774151982849365176273027051635464961339898038063661052055816710405602631556464847486228765359814517208419975608847969828534109017343300301198252068924642033553723418832414438242797883090718734395436980420485831158290498812835502636781578644576689822860156776772175417285803646484207330251004008540625818467209443446647752929954105056532574633732306089654507429163227193780074269261435543225117109229889673830344959518135081976621058346230743440041074076713898380818139492714944468448997387600910284791348179224733159444595252665553184131391030258798425164901150483706659110540641716609741268885835809550778044637151353335537372770751713839578912802672099285826191123058137684234170667941516106846136943539466084551624613529031556357198176280376926320570544156579611375823825292770991887606104527655884869383849901065426037692718177956918457735001946480856704225131420158728680203021431806911770439038345126442516384299794548840585074489033565664158634009031447637240617319344005825395106841710078999730929074257869659493063744844279144964678038744861965988464303790625130808608678198296860146986862684456535158900369062778263727669698668730395112154698344463416026020184464975800002050873937471939331347538923864296189512595312521873587199002372044400852969097826691409678287324623726568271116532187293476105055653587366916685822925842105636100140912803328477065814710756995307005024170074554205072392315043552977101149856991800351450918877173701891605640726808946192144754602260999214518283593391026273735013246320909391783493776081014749393334163033715383424232392303981956582878873046568108339263629196164829076185651269891138178208865138343213679683166423592939588638443201676066470988971867228795852038544813395465942308656739641583359796638944073807759461348249276254641330199838496798278193981492559691215352398804462493606209461980586256787183622847907267090044317363402222258341734297891955882103007130323655028593294612078722184004838792224638463159082747137010890747920353780827689212170382852921633611427759821526176870189649595524434506995609380574148706785413699202977077091926364157830282362026879267875200160678348017930164685215213253216891299793974688196495707678322709643899754295713238078361732067026614357189153273704383629668688605030098937636048346257994028806942264666592933241394941246177745108883636006348660674637655311294641319726935581730742702134320780261964079703712332570532348019283108280445077024279773930312010398117736565302727043244186634015423350237526692205016960958187889214890219680883209798457692418561205579445871961469031054476159904414031143869960422565330180278815279748248710531682368617730407651677361546068439490961247270183453384534388813694661500138495321265780267029345427400782545390419990632061306820101372873680416942398113659171150100807179306444530155880766918337082695434490849757792279624239732842722232791043 4865730024118126219457926142832268538002631470284583681906529105266539616768967038978770521789447229253404436510956182493831662468975358654386211604915988892949304708039319782184489006960538842022549287169530085683551776146126436802556619654686622741577694872448343804951605102029062271972619495100885043750819905586799723368256143133880966958188855590852067367490434712892553025194810627309973265712766050283933125384076811083232347283926261383599459164033140594239695818573895963994096720406332219801098361358569287045529756672260052217086919517906782051240115913931718544063289553895660415926087232087796885925871616753347169589774815754949427235280260117793201884416201565355749881877313140586797873692272864871238865148762878785528649165859971273032302033487189510775205987062278348626778785321951442189495756572463029091151509967884206885611501015161335645723261381298825863852767917631620326975718931338795582279194158115268094824018197666825397209366718214061828869298187210909666656091277520243265011511249447589056986092802469194837565344730015136909391382654260078940598080827465745599431785171888502207156375982328994056692603611296030261902865797098273215250083070815167881882186712664308929871146894646782293697206673505675352795796176939335075757596857362283665410343117922410052442572227003855753286489729812396968844359534515132760528439933973734491266655562259327420891276136424025543364962229196449361263132531836114121213739930177721324883439411972181500280862633247309060932747428007856446763083761239718315055396687082621230316136944627766216572638249073146760363771778330512812796721406286571075062095394179492222646906293030776767575666035450262111869335532325298845633261389035920220412554438588025166034738421634784106245320472644451639334117270084666767202341633601434759767432967333802330145082037538749549819537617973745157917875586440960602086128295898736951620702307084539966073614858206498231994159331760344239118849552004459328400542583766982457893744496187181693856316936959212238732411387588088365254514021194234298615371845266169924845394941420983990482944055350759511595068214597821280755900623806976018771910987226136733518585363281750695449163389769518903226255353177859223034972070542654019005869283507942987390813815169601049785164470185518985984084670331226606723236729544864359864559765696933917071976169821622109828071424345445127445427218560604022403905104486223427513463686033248739186097811750674141099841384383076382741866888167823887520807690669474778634556053537085050724214806692794799145596430002678031776008834111539707221042170769961411422368578686910787183099992029414116483915449331889297554354045823850321755048703773408705814515596516334028084859899180666376472970838000612887983635167110768625893260555283770117734664633952274791065261198064814209008365518561100793929039744815158811820242412405308512659867800922001396717619366575597246941961229687175282665572702771183579962867968860537023055876293631176418328460870604440437653952317888430135086657421195096526266295732601340426302787064460415052684426075128147384674466112675593601000437677514286232970258120962416130134491832464449024112974154094043302199419833457707751030051518111179503005510998949750345496504348225075375056969269206508036814204928731769746457381697476917747577818496975753999884640524069846483946518597194137050028901964311108483678974561359628020547083246095704940739482374116197704540329497728926649528259156646470601295394454899295883455314380307684549157930026902390574810609596370991452372042927848150118211570123029514007600682132751700784834054610828007643656695802601790008340818618230566539111020444627860903505130672151123799436998651322873338313653477017781229158229871227193902971259741932086601015607922932457088491519344486895174362395402194412911734160837873714716917882938834078681098948052715867791364 7872916559103973827797434332993736697510790222207146715349969343443221772169607660110544391968507920244122631562656816375230606276442120212453781329502976652278860664673323278904140729086892195060223242408020312824172256022964393087296266115690927391585787707549713479813730803232688182050785182455178023764321184310213948754894501158952261587488914169629115812419245302536649985784931443519352675929413402360999892580420616206967135240632479254511367435884912933658268715451762268149885139155174036724926735866059661721585563183807176635416880229894810437888298464797765466817057303334403784397218697740056220145347017335248076007880216293583469021397383491069739059433491564280124476369292135732449656884598602503209201408748984709208086451263871765368904471992256214443411531496366705821399438355996999271967202785568557608517684000666187444820427177404347608591835156245490970675092283870739935452956127766277207835295587355448861335788999401123951570886029064551616210934972958705440808074126885419538038562884912550396884130866130246893382055135617768465856230140488844300412598035885721208279755000422611224499676283527246125617245644849753680735280235341071098340801805210604862302672543822599428683982397283563872341783363328535509572568352356620879404081064692534669418883743740877261886018874756785707391546262387030701150449189022561923755633714048003752702198787376436650780949966768985061500044205817507707493875971877188197927638310995860817598383880421178887881772918038657240157480587452451699428636945371109345314195112247522380799843603738306858289247990342032596173322556375149964150056943659341826775934973092294894746192119221899825713350269620930053385442378462242385099345940660533749444110795786201446411664742205328262824931848468276932105109157690771294858226502985284660832859005026520508102000495273751496300394322198876578076604266643982033893040066337775296747144823468839760622455443280987265559823490394353270566486792621778672406367978873824167972744227116255951725976430022957083011556352266127110116480009658538089240502653874848123142255088407846674939479214251128574373331942267519949486295735961674363235327013246321198494385365332624632921102721117057827090551542690454535556845657741656391050270136477040814082223493456925673511732741302051173277560775386880194090153415367790201970195865837846720400453235636332866823378429369615201999632290952919065956882205636080419313815136952125912887989417391400950046033529137678643741081406451417278547081425682721099543947837030861131738964200026957832860979854235070335757965416990412753789150510033590607587197654872562057074238170238279254827129129015055721147293634462293523431115174762380573043311448554878841480325841489323116114554197797251832057442926572116875169515196613969956231462912146256283624952413417213013470859124770562774515296531998781659727509502449625876062090059263735694609575248678604377265616258280469894744294886776022372187506432019619770192887184379096772109288559816610820506873951499857894908183598065286175861820167108336035683361213167200466383629052205239311038623942957955627879705552714446911318276051127101345347745049355748818087662350589750980522129477357462046743289596472911570032125356138903619200887977893763980087068206842556383072198957538712011123974630718312688823996242084637635890989184744484139257813238513863985610632707013242804459236525439331732879653778443724223847762819193221984314259809739324767264824459373513845482028470322646120982006585324645507345819241792610255693819394828683870933248507294022079680601177505673912014713276621661207399384791106822923404944513133472376958549025882243900657088884118822150775314125535658188250693312823011833634919257284810574585630653772584322961891803238906702388481603349399486605178515636995981541701846724568792501079174956410151408732696626358305338680895438100582407 12738646583222100047255360475826005235513421692491730397256498448709761388938574699089314913757955149497527068073612998869062268745417478866839992934418965545228165372712643061088629736047431037082772529577550398507724032169090829889852885770377550133163482579998057284765335905261750454023404677556063067515141089897013672123150644292833228545677769760481183179909680015429203010979742070829325941642179452644933017964497427290199482524558740638110826599918053527897964534025658232143981859561506256526025097224628948767115319856067228852503799747801592489128414378729484010880346857230064200323305929827853106071218634088595245597655032048532896256677643608862940943849693129635874358246605276319247530576871467374448066557511863494736735617123843038401206505479445725218617518558645054448178223677948441461462959358031586699669193968550394330431928192565683254315096537544316834527860201502360262428675059105072790114489745470716956159807197067949348780252747278613445080233160169615107464165404405662803050074134360139453870223668599441730947399865632905375247612794748923241010678863351466807711540172311113431656052265856240182309849256145783942638146032439344313590884876025772744184859256486908358555129291930346166038990036834210862368364529295955955161677922054818334829226861663287314328591101760641460678035992199427669994808723537694684284073648021738243968854349635764071672226103193010604865006435013957068757008503713302319141378241173582142481823292393360388162635551285966301090228015460308146191720706610827660369591799330143611115980548366073074861886239415179356537094334705662776946778349945912901838030367271787117393098412252676593289016305071192165254777910787541230732607329696453969856665234374226612446403163840112369070252321112728571439226427775438062060568136586719420600291972360322838247082532812501046119931940172621735994479853084942635979168362236512248367847130553379726696070301487485497553982822154697509685336344626238000806910562640806625866488723303437645582293366982169321743967739854215475370994030852772387855874499141018047987650029828830665422423269601888085968400156865341230242196359768650382007238000472457932012970728614375328370266110886576730316806895868313758591817728284310410056139419984983801473037308626526723296897211487570159261645445718106800813390144912654561834755631534780637472429405457954976651449853715060329445059509513523088360787310122303846827278822985374652074087229142075091145874913520755026482948294619241166067889116352195878178503890567946182463179006719752632006576284237748367533974251101952461010192680803552019009566233559472844257338162267693371311044578346945018701647680286143845186163878535789278857827045071212869565185740669989492587525035797864720041078093682885501062775751897740073966127546098531074690213611482027222479224643331663568444336276813940471547751914854934388721957860185737091327194615254201624207577487967645177409867589547205952150374400880156793248763478010273190437749430421051258160826269388288029994841019260382702128115899709676461986148277627615519068055127333386695713090055633549228880143230228733144288534172089517475482236881820197842200636504683794282721549310815169797773341114584091073037636355088653964697392326118839355144037476049064419886403886270481757581356328195230436401814739060391635775629708814330623204331835708001035639534671324351288138211086798959753426737024539429164587245193309419688854589307468251416793083616019984446777422925221942004437320965632330056503749268695000830504428991199675323305291435142172197892171300535187919615395409373361992233439401934830567061640315735262385299367644112810439768109328746683054280444797686781987687691964145885171948572734302591803743860524999778225933151545170993303404089526281856575096697860123891155904097248918981704235240012830124868326615635460436986437628948153968373771 20611563142326073875052794808819741933024211914698877112606467792152983161108182359199859305726463069741649699636269815244292875021859599079293774263921942197507026037385966339992770465134323232142995771985570711331896288192055222977149151886068477524749270287547770764579066708494438636074189860011241091279462274207227620878045145451785490133166683930110298992328925317965852996764673514348678617571592855005932910544918043497166617765191219892622194035802966461556233249477420500293866998716680293250951833090688610488700883039874405487920679977696402927016712843527249477697404160564467984720524627567909326216565651423843321605535248342116365278075027099932680003283184693915998834615897412051697187461470069877657267966260848203944822068387714803770110977471701939662029050055011760269577662033945440733430162143600144308186877969216581775252355369970030862906931693789807805202952485373100197881631186871349997949785332826165817495596196469073300351138776343165061291168133128320548272239531291082341088637019272689850754354534729688624329455001250673841103842935237767541423276899237188015991295172733724656155728549383486307927094900995537623373426267780415411931686681236377606487531800309507787239111689213910038380773400162746371940932881652576834565758986747353004248110605404164576214609976517427168069582254586458371145257912560256608039707362069741996671053137012200722453176069961995666365050640831464776250884475590490517069016552169442960080207172814539276044408469324623541247708602912759845620357651981937005683786911577665991915824152104379933151134229757211952710416891080812741096835293605254728613965340364082012139290531474576419002366574692122218640220289249783615831953270356987719300776030160428058858067906045440631895184169581005503544335585466209356918794639572004081433150977386843346349083028086252542420326262371498314071084119728924669872208428574287545114991954022219487318525744768472763113806312549050780251823137248016673213278541514630793839232950419693597308269797005126404755524092120342585487474040511310477096377153015866171129905118236677340361902483853016660341732099132861179728492095730324745242565013718779130507356093946999961291368832003634557407358438558768294148663386025966801106409556462024615555260802083452396808629952789621332539206221104986994903543560280444763804951497372627357872882641094287843474828283084675531444691800466442154317669515758384266141093959937500564962076646533476041191908442658433670224029701070658444614970542034916977722451727598807314202143206746710464867556138472818703291939668092365214799343190837142626596763888432034901331576332505972626138173707362000739848941314748437368617279053298169851901138493626091711045511582159312608702079233595116552098521020255002376232290948511710030197590458244787358315166024899240235950083768102226342959632808812722131275261417304560264784047919449472785936769863932806001473193746248115072154162476323228324337880832899776563441650662389369962547037990237662078667700220888145924903024617325668877989936066818012497669509490794815985451684179538626006751713998591504856759848782943180055606810223216618820829981931175946660288298855273545263243678788172631844516630711057002643069761711227557583898280304012603335231105682891620802958602843809193768705330958913543125225810981145029271666618893558814762462145074221865021250167378337594092597447612238291486306390802983153388435008012502641673168849117207576184057908075393498292259451395544588125419327550956975563849568510487611086198248386028359194238539942436194277572772478040861831630108685995023199632824193041653490466584828868734762257916669995054340425198212865505205055758923222440175938385276968897005583491991587402378329491178772362548895043348409900005792571129631256061701876375760887137445799095643550496736319187786535019735348332086795291776309843592068956178 33350209725548173922308155284645747168537633607190607509862966240862744550046757058289174219484418219239176767709882814113355143767277077946133767198340907742735191410098609401081400201181754269225768301563121109839620320361146052867002037656446027657912752867545828049344402613756189090097594537567304158794603364104241293001195789744618718678844453690591482172238605333395056007744415585178004559213772307650865928509415470787366100289749960530733020635721019989454197783503078732437848858278186549776976930315317559255816202895941634340424479725497995416145127222256733488577751017794532185043830557395762432287784285512438567203190280390649261534752670708795620947132877823551873192862502688370944718038341537252105334523772711698681557685511557842171317482951147664880646568613656814717755885711893882194893121501631731007856071937766976105684283562535714117222028231334124639730812686875460460310306245976422788064275078296882773655403393537022649131391523621778506371401293297935655736404935696745144138711153632829304624578203329130355276854866883579216351455729986690782433955762588654823702835345044838087811780815239726490236944157141321566011572300219759725522571557262150350672391056796416145794240981144256204419763436996957234309297410948532789727436908802171339077337467067451890543201078278068628747618246785886041140066636097951292323781010091480240639907486647964794125402173155006271230057075845421845007892979303792836210394793343025102562030465207899664207044020610589842337936618373067991812078358592764666053378710907809603031804700470453008013020469172391309247511225786475518043613643551167630451995707635869129532388943727253012291382879763314383894998200037324846564560600053441689157441264534654671304471069885553000965436490693734074983562013241647418979362776158723502033442949747166184596165560898753588540258202544120050065563972813867305851376790810799793482839084575599214014596046255958260667789134703748289937159481874254674020189104155437419705721673723131242890563163987295726499491831974558060858468071364082864952251652156884219117555148065508005784325753454904746310132255998202409970688455498975127249803014191237062520326822561375289661634942890211287724165334427082052740481114310277211162548976447008417028298110709979120105527164277191491800851666823093795716933705193099325639707128907407995345312046552242820126278136799735860889751309979965242678456825880688112968372782922875217036163875675551132337783356179188696706977995689899610682859658387112855900955618166753496665322213466463096874132422710567070825913919194317675809535871640694645606330121991507745588914494773665997449218285708945758550588995034581213803442931833959130758965538697304580610697322829302101289604269392981272139599113937887877295066700409450104163718004343318433005379636381267458429308411433889911403969085626662602823013332159494653506005779635209877263964479187007625680771234215760249564030065870434276488255233779933356690414140399643152984787420658713336828526490276433954897865636586051580118051966527688959655657768422431504519739306872012702464804054225054085639992013171913199895344395306136296312218812996144502488935359957339545965228098987801642289971825641093716107398066316211548595672630131442690375143158940685222845006730079675526286687287108773561627625720205420907442248602373145385666476909929866056889702049661945380735658699037251239733127827522582553022253205812061362023438424675827600850991691413482739036874320766530129856648516589305620353317779182611916702677377228034517543831377578366475464943778576049751245504095368385191866263594976484057528225144603997147557284314107864780193307541612188259336203720909222163626077241114782177532064725889994182073351703772140774828194893580893309196660655913112636798574235884778293349896344562532200971559200616659888061963967547232278213938791746037329949 53961772867874247797360950093465489101561845521889484622469434033015727711154939417489033525210881288980826467346152629357648018789136677025427541462262849940242217447484575741074170666316077501368764073548691821171516608553201275844151189542514505182662023155093598813923469322250627726171784397578545250074065638311468913879240935196404208812011137620701781164567530651360909004509089099526683176785365162656798839054333514284532718054941180423355214671523986451010431032980499232731715856994866843027928763406006169744517085935816039828345159703194398343161840065783982966275155178359000169764355184963671758504349936936281888808725528732765626812827697808728300950416062517467872027478400100422641905499811607129762602490033559902626379753899272645941428460422849604542675618668668574987333547745839322928323283645231875316042949906983557880936638932505744980128959925123932444933765172248560658191937432847772786014060411123048591150999590006095949482530299964943567662569426426256204008644466987827485227348172905519155378932738058818979606309868134253057455298665224458323857232661825842839694130517778562743967509364623212798164039058136859189384998568000175137454258238498527957159922857105923933033352670358166242800536837159703606250230292601109624293195895549524343325448072471616466757811054795495796817200501372344412285324548658207900363488372161222237310960623660165516578578243117001937595107716676886621258777454894283353279411345512468062642237638022438940251452489935213383585645221285827837432436010574701671737165622485475594947628852574832941164154698929603261957928116867288259140448937156422359065961047999951141671679475201829431293749454455436602535218489287108462396513870410429408458217294695082730162538975930993632860620660274739578527897598707856775898157415730727583466593927134009530945248588985006130960584464915618364136648092542791975723585219385087338597831038597818701333121791024431023781595447252799070188982619122271347233467645670068213544954624142824840198832960992422131255015924094900646345942111875393342048628805172750390247460266302185346146228237307921406651864355131063589699180551229299872492368027910016193027682916508375250953003774893845845131523772985850346889144500336244012268958532909033032583558912793431516914157117066812824340057887928080790620477265473544089444658626280035353218194687646530663601106419884411392334443110446407396996126341639072379109466742860375781998240522209027173529691798837622366931007696760558055297830200422029833623407345765560810867465420213173561741688561183385774117853587286682890608879062477837272203094010423542646920490827279638623587391993070946498399530309783018582420721985132128982660104032323396291656208904988614709991683502988097824238120134192890253527357648921160134361308462588105791320545661280507694379392179536116254363601894439384734098274749464054918290053699084682663200734343119813627153964980463875321718192542193662600826136066679709920132064802789013115531825410896375415496226711164579879800890253911720458107988033345701457325167259217247489971423486410638709216518052816558942399840796115093255502154618522755117142200744172091162777234215230884809208906887160433486806602536698096359177159777543769132493952934144046025606248841832306025803609573888869294992018246022316686853436701350450179108867495931960148128621984151731078139869427999539473333106311275542726039518630505735941457261218314703035192287541883403784908899766806981031296325716311118255275976067546281184202886289670223002900925763256393711782371320014560753037716256616911582875612781363408391499087788018137547994809973472731909815200984102919120618505754477693464391962644131662339564462518083679183115556717477396560402842882544503323723238241990793314989231785544368698500450611645665430795695440206082697707878388403194907797312299634027569990248635338106286127 87311982593422421719669105378111236270099479129080092132332400273878472261201696475778207744695299508220003235056035443471003162556413754971561308660603757682977408857583185142155570867497831770594532375111812931011136928914347328711153227198960532840574776022639426863267871936006816816269378935145849408868669002415710206880436724941022927490855591311293263336806135984755965012253504684704687735999137470307664767563748985071898818344691140954088235307245006440464628816483577965169564715273053392804905693721323729000333288831757674168769639428692393759306967288040716454852906196153532354808185742359434190792134222448720456011915809123414888347580368517523921897548940341019745220340902788793586623538153144381867937013806271601307937439410830488112745943373997269423322187282325389705089433457733205123216405146863606323899021844750533986620922495041459097350988156458057084664577859124021118502243678824195574078335489419931364806402983543118598613921823586722074033970719724191859745049402684572629366059326538348460003510941387949334883164735017832273806754395211149106291188424414497663396965862823400831779290179862939288400983215278180755396570868219934862976829795760678307832313913902340078827593651502422447220300274156660840559527703549642414020632804351695682402785539539068357301012133073564425564818748158230453425391184756159192687269382252702477950868110308130310703980416272008208825164792522308466266670434198076189489806138855493165204268103230338604458496510545803225923581839658895829244514369167466337790544333393285197979433553045285949177175168101994571205439342653763777184062580707589989517956755635820271204068418929082443585132334218750986430216689324433308961074470463871097615658559229737401467010045816546633826057150968473653511459611949504194877520191889451085500036876881175715541414149883759719500842667459738414202212065356659281574962010195887132080670123173417915347717837280389284449384581956547360126142100996526021253656749825505633250676297865956083089396124979717857754507756069458707204410183239476207000880457329634609365015414367693351930553990762826152961996611129265999669869006728274999742171042101253255548009739069750540614638717784057132855689107412932399629625614646521223431507509356041449611857023503410637019684281344004316140909554751174586337410970666643415084365755187443348563506734198773483727384556684147253224194420426372639674583167519760492077839525783250999034404397884578305867475155016811063637985692450457665980689858809142689524362963932314307532787633679636658615820983893952844943767506481000566418414934118531917809424132415050392509405322053304621036610278779892256950119304817599796224164916966088113419069571020700872266906227817916811281287772381079096377719248130778130822424349330610238525026466931424224325925297661775152808700590970006165767570980066047336921288081623549571796059478719892540464698822306821252834736214679635571282222608064096877314391300459643276822478943188656268516612831555088752324753201441013834698755890497772038226039999873390416980825027639678994491162793282651411681322107041613028039832809287006455397499013828891413454419557168235665266169575188224355174134986148235129096574362339190075284557843859980681089625564275488715981392000772991248648616303968544821278705533131090248481062421555871086551116098305105533795098894081597135029571477661484854068765010312793965772646458028318494479514424126764397215725966559231385759891458220463770333200037077648385132624584135586804556204068852834919603603140484428229326202697592927228502660035192961334121116876731793583365351382994621605523035118076729057372485298210783900811813296089881723728166365040884503190539759198461360647621443367390742476194586316644098551433135571686624185892441457481335299024847530443724145591784768614898679437589019854795859276267181259848204187427084143616076 141273755461296669517030055471576725371661324650969576754801834306894199972356635893267241269906180797200829702402188072828651181345550431996988850122866607623219626305067760883229741533813909271963296448660504752182653537467548604555304416741475038023236799177733025677191341258257444542441163332724394658942734640727179120759677660137427136302866728931995044501373666636116874016762593784231370912784502632964463606618082499356431536399632321377443449978768992891475059849464077197901280572267920235832834457127329898744850374767573713997114799131886792102468807353824699421128061374512532524572540927323105949296484159385002344820641337856180515160408066326252222847965002858487617247819302889216228529037964751511630539503839831503934317193310103134054174403796846873965997805950993964692422981203572528051539688792095481639941971751734091867557561427547204077479948081581989529598343031372581776694181111671968360092395900542979955957402573549214548096452123551665641696540146150448063753693869672400114593407499443867615382443679446768314489474603152085331262053060435607430148421086240340503091096380601963575746799544486152086565022273415039944781569436220110000431088034259206264992236771008264011860946321860588690020837111316364446809757996150752038313828699901220025728233612010684824058823187869060222382019249530574865710715733414367093050757754413924715261828733968295827282558659389010146420272509199195087525447889092359542769217484367961227846505741252777544709949000481016609509227060944723666676950379742168009527709955878760792927062405620118890341329867031597833163367459521052036324511517864012348583917803635771412875747894130911874878881788674187588965435178611541771357588340874300506073875853924820131629549021747540266686677811243213232039357210657360970775677607620178668966630804015185246486662738868765850461427132375356778338860157899451257298547229580974470678501161771236616680839628304820308230980029209346430315124720118797368487124395495573846795630922008780923288229085972139989009523680164359353550352295114869549049509262502384999612475680669878698076782228070747559613860966260329589369049557957574872234539070011269448575692655578125791567642492677902977987212880398782746518770114982765235700466042265074482195415936296842153933841398410817140480967442679255376957888236140187504529024381467478701781701421845304147328490976568558645558637530872780036670709509158832871187306268643626781032644920093605479397166953854433430568993389211015721278520059231172523147770309697875118400253053892810220357509545077338619061621093767683457027293996596369190012518142838593039429896149332943244624002271850838755349649614600618378644886902098217096079173603344097163923115132806531521272971275369176920615839382323668384349781998251770372886334929519530015646470958942282847188092770506122420131172874505432071019562831087604490086113177804575203665433165426634879988701195143510893000415150257759478140527367139353196954543745977669384048438242451464167820979912605593714499646144409492496334028033219091874305992286856926484462586279693290120897840159858171970439673605402099710899653632351646530596620301340326828043403790419109164383041873308668615903176899037286434461717621403749813583578498419534741587640842605297274452225877857414116270723779153406935334499122906321265659983594237065681923720878233328213169440905661024327401871321588336691812165088534054435936775642441467432408013508442635170668791225027444801629525753388766640408600651681867988759090358523057922504528903740821941108574017607487981540376291809872916996729658095201974864439171012759153517845091549460967187686282313703021430319050567575188120129009172546842755002277282140543763178160844787302879037468861147422274671377562479939175124227001850033799475459176109154941287224974697596387315977423049703656588566815287418194436062422249902203 228585738054719091236699160849687961641760803780049668887134234580772672233558332369045449014601480305420832937458223516299654343901964186968550158783470365306197035162650946025385312401311741042557828823772317683193790466381895933266457643940435570863811575200372452540459213194264261358710542267870244067811403643142889327640114385078450063793722320243288307838179802620872839029016098468936058648783640103272128374181831484428330354744323462331531685286013999331939688665947655163070845287540973628637740150848653627745183663599331388165884438560579185861775774641865415875980967570666064879380726669682540140088618381833722800832557146979595403507988434843776144745513943199507362468160205678009815152576117895893498476517646103105242254632720933622166920347170844143389319993233319354397512414661305733174756093938959087963840993596484625854178483922588663174830936238040046614262920890496602895196424790496163934170731389962911320763805557092333146710373947138387715730510865874639923498743272356972743959466825982216075385954620834717649372639338169917605068807455646756536439609510654838166488062243425364407526089724349091374966005488693220700178140304440044863407917830019884572824550684910604090688539973363011137241137385473025287369285699700394452334461504252915708131019151549753181359835320942624647946837997688805319136106918170526285738027136666627193212696844276426137986539075661018355245437301721503553792118323290435732259023623223454393050773844483116149168445511026819835432808900603619495921464748909634347318254289272045990906495958665404839518505035133592404368806802174815813508574098571602338101874559271591684079816313059994318464014122892938575395651867935975080318662811338171603689534413154557533096559067564086900512734962211686885550816822606865165653197799509629754466667680896360962028076888752525569962269799835095192541072223256110538873509239776861602759171284944654532028557465585209592680364611165893790441266821115323389740781145321079480046307219874737006377625210951857846764031436233818060754762478354345756050389719832019608977491095037572050007336218833573712575857577389595589038918564685849871976710112112522704123702394647876332182281210461960110842901987811715146148395729629286459131973551621115931807272959800252790953525679754821456621876997430429963295299206806830919613390136654922050345208156044077631055875533252705898782831951299152676345292676678593363265145794426877780067049317978183785264642108871244494206979081661473387259209918040315212672133273630189425933040687572446878973330528971291464005388600248684023445708930714901107821942275253643431939301471386247865660612550630731012299768919418218174869051819064305209498243174364798036190021360624448332554259047750256016993558630454446515172206347582380611411361396450954239972396256604057999996793361476128585898743854571479407940850912711154061882172656524467744130131987733456132823437409823146464282637758321856355454918667598996473777022689166325652565051074006552920145733114046607549198402034907264534560068033092482291286817314496605478953749072975941532579162266899784998479506414689106166297152646180537944051039858508562493309573365607333519557176859456903744999751261376476509746275465263730494673204062695023457569032843378288523100842181825958937549429312284497183815561544462192352211099692542171215718819772314925348199012383322509181470636331901130657584811546562372930416290066568231829623739475001866556428682683247908571962725790466415025541225235817454793315294427375892842108132044225250170434776715200415210043036327002834251117846534826995558229790554007380759040880209626190024560171580524486922242132346657456911848295374213431345945542036480601904410799604212178045355232055177791520826104513134166563361016668459331369098500306706552879086879009743312495066753566442904499515864833996547266398623489506393518279 369859493516015760753729216321264687013422128431019245641936068887666872205914968262312690284507661102621662639860411589128305525247514618965539008906336972929416661467718706908615053935125650314521125272432822435376444003849444537821762060681910608887048374378105478217650554452521705901151705600594638726754138283870068448399792045215877200096589049175283352339553469256989713045778692253167429561568142736236591980799913983784761891143955783708975135264782992223414748515411732360972125859808893864470574607975983526490034038366905102162999237692465977964244581995690115297109028945178597403953267597005646089385102541218725145653198484835775918668396501170028367593478946057994979715979508567226043681614082647405129016021485934609176571826031036756221094750967691017355317799184313319089935395864878261226295782731054569603782965348218717721736045350135867252310884319622036143861263921869184671890605902168132294263127290505891276721208130641547694806826070690053357427051012025087987252437142029372858552874325426083690768398300281485963862113941322002936330860516082363966588030596895178669579158624027327983272889268835243461531027762108260644959709740660154863839005864279090837816787455918868102549486295223599827261974496789389734179043695851146490648290204154135733859252763560438005418658508811684870328857247219380184846822651584893378788784891080551908474525578244721965269097735050028501665709810920698641317566212382795275028241107591415620897279585735893693878394511507836444942035961548343162598415128651802356845964245150806783833558364285523729859834902165190237532174261695867849833085616435614686685792362907363096955564207190906193342895911567126164361087046547516851676251152212472109763410267079377664726108089311627167199412773454900117590174033264226136428875407129808423433298484911546208514739627621291420423696932210451970879932381155561796172056469357836073437672446715891148709397093890029900911344640375240220756391541234120758227905540816653326841938141883517929665854296923997835773555116398177414305114773469215305099898982334404608589966775707450748084118446904321272189718543649925178407968122643424744211249182123792152699395050226002123749923703139863088830114868210497892667165844612051694832439593886190414002688896097094944887367078165638597102844440109685340253187442947018424142414518122400752126909577889381778384366509821264544341469482171932713016002185837426234452452063070504561099694238071789264661809062725677924775972470872489108537729977271487735819903583328064544333293741465257099330840074048630083067009694016367480473002927311270297834460418092236471369197620719191110284614822481569767649418534018836553513938721162522305577416777708895200113136493430979853827230323119432937609398012778114899521988345834150984297696325970484255618867215546340847184886131982251006029916729076911478960413743798758551968285834329042947795565153160091012812138604966657357283052908579615833595446034738349670731566435143995036613489316458017087966713026652201263698048179316757030894096066311574165592809601353531963416335352669231653477002426757956968919180020091205877196806278532184474647660159848889321352977156026442683940218732765572360902928160413762944207993086667480308256782561114558199156673685983585797553068059683373053820153091437904119150060667368513617871083286779236897642540650548253561368453288983533508872507653489467349396976635096427366353065709009699262031752983444501727097473908275353373592251543855181665949825887499322782074384785898950764612660947966072111543350732807903191583412618812707168114576192922197533094229725020139912558725301175650991747857862838189943672451397225032099968424383385978188700544313762742448173977765056965348234269524038938943100775890696646502536140895461181402897975765882662034028166234718010091454069543865954203172453400811834684593059551928643420482 598445231570734851990428377170952648655182932211068914529070303468439544439473300631358139299109141408042495577318635105427959869149478805934089167689807338235613696630369652934000366336437391357078954096205140118570234470231340471088219704622346179750859949578477930758109767646785967259862247868464882794565541927012957776039906430294327263890311369418571660177733271877862552074794790722103488210351782839508720354981745468213092245888279246040506820550796991555354437181359387524042971147349867493108314758824637154235217701966236490328883676253045163826020356637555531173089996515844662283333994266688186229473720923052447946485755631815371322176384936013804512338992889257502342184139714245235858834190200543298627492539132037714418826458751970378388015098138535160744637792417632673487447810526183994401051876670013657567623958944703343575914529272724530427141820557662082758124184812365787567087030692664296228433858680468802597485013687733880841517200017828441073157561877899727910751180414386345602512341151408299766154352921116203613234753279491920541399667971729120503027640107550016836067220867452692390798978993184334836497033250801481345137850045100199727246923694298975410641338140829472193238026268586610964503111882262415021548329395551540942982751708407051441990271915110191186778493829754309518275695244908185503982929569755419664526812027747179101687222422521148103255636810711046856911147112642202195109684535673231007287264730814870013948053430219009843046840022534656280374844862151962658519879877561436704164218534422852774740054322950928569378339937298782641900981063870683663341659715007217024787666922178954781035380520250900511806910034460064739756738914483491931994913963550643713452944680233935197822667156875714067712147735666587003140990855871091302082073206639438177899966165807907170542816516373816990385966732045547163421004604411672335045565709134697676196843731660545680737954559475239493591709251541134011197658362349444147968686686137732806888245361758254936043479507875855682537586552631995475059877251823561061150288702166424217567457870745022798091454665737894984765576121039520767446886687329274616187959294236314856823097444873878455932204913601823199673016856022213038815561574241338153964413145507306345809961855897347735840892757920460053724721437540115303548486649753849343755804654777322802472117733933459409440242043073970443124301433471085389361294862516019597717597857497382341166743556049973049926451171596922418982951552533962495796939895311802948492036856958253970266334429037703978304170603019921547072398294265051503918711858026171405656402693345879903308499092105438975945227373112300779949187453437054728382990540226827515075659952073693236303157854055428186381489370869688954602956643232561414694194693416531595709057722421438495591263472150398847181679493458379591928660583648390886901264656509912613850458490853510691925697140893547145635576014789803821565690666901472189050364702337346144508589124310320689178540390464570008112446140698808812896450214224021565454164099404056456879626915850137442370084425645173186056164693657741967398686434780312043493958924712722418698700018357451814662550521633776203497395592222476105902679421790239453954268551931210802929986623809581656725706529361874320653910241509331991369582403722401302965622211830705970082182979321408113361360422863178909567465672306042690343143985390598006981788181658800296769355775577931091655492458446368283526156591523261945554977334321596691491051123316777575389679213274843606720792992191322281978127448008318401626448945815541419232422727749193091324020279027520671599605510801841016308029443362676865914583743882489011816719757599409534646086350243344352584777369269143393589501579216730463926880403830813065897157563920512771996476072589214913115045244461322586520823110308858702688318234808381950991683041435036938761 968304725086750612744157593492217335668605060642088160171006372356106416645388268893670829583616802510664158217179046694556265394396993424899628176596144311165030358098088359842615420271563041671600079368637962553946678474080785008909981765304256788637908323956583408975760322099307673161013953469059521521319680210883026224439698475510204463986900418593855012517286741134852265120573482975270917771919925575745312335781659451997854137032235029749481955815579983778769185696771119885015097007158761357578889366800620680725251740333141592491882913945511141790264938633245646470199025461023259687287261863693832318858823464271173092138954116651147240844781437183832879932471835315497321900119222812461902515804283190703756508560617972323595398284783007134609109849106226178099955591601945992577383206391062255627347659401068227171406924292922061297650574622860397679452704877284118901985448734234972238977636594832428522696985970974693874206221818375428536324026088518494430584612889924815898003617556415718461065215476834383456922751221397689577096867220813923477730528487811484469615670704445195505646379491480020374071868262019578298028061012909741990097559785760354591085929558578066248458125596748340295787512563810210791765086379051804755727373091402687433631041912561187175849524678670629192197152338565994388604552492127565688829752221340313043315596918827731010161748000765870068524734545761075358576856923562900836427250748056026282315505838406285634845333015954903536925234534042492725316880823700305821118295006213239061010182779573659558573612687236452299238174839463972879433155325566551513174745331442831711473459285086317877990944727441806705149805946027190904117825961031008783671165115763115823216354947313312862548775246187341234911560509121487120731164889135317438510948613769246601333264650719453379057556143995108410809663664255999134300936985567234131217622178492533749634516178376436829447351653365269394503053891916374231954049903583564906196592226954386133730183503641772865709333804799853518311141669030172889364992025292776366250187684500828826157424646452473546175573112642216256955294664689445945854854809972699360399208476360107009522492495099880579682128616741686288503131724232710931482727418853389848796852739393496759812650751994442680728259836086098650827565877649800643801674092700867767898219172899723554599027311822841187824608552895234987465770915643018102377297048353445832170049920567886902266437794121762314588260234322600343758924023406451604334669872583290684311940440286318514599628170502961077635010677068551630139407988281418984391714785337441703490863111438116374677696712824630086229842195593870547598605987455891281896929261389349820653076729782588436416294347486408040208719693989121892212354656010676314216183039250682580006754048391922751210130687696739694366565625440630597958577312725302365861678400308671165818744325182553639721262294053638158447714619756461178848743575481088022645810737075695815240155559454315725792029706922587096079159167351010076594498393540778596348260165715630622472436517203669405786419778314404839533167120415698936317866454871517920690765203244906893346360178206341136015527677660218887437614324988048466805607582204002398162261638598691111186769184924139855882380215345460118206978301192705045189735495160305422115682879199219587953266266100645011003901073411432470935918961289576199215651638880065356378764816755227663122421484587630353687245441890870010623630499798615319147228878176778357440877010816100357464063999173794371333453940157394393521478180816221593209861564628248587346998920671390624418250004047660584158330811977492008055887306200866809587035141107521111785144140985387723346630664006086800758755134326108741823771103255669407027656294527459568433298459381694174894451838471876947143211479179332677974892654174812905860771635620216635584742593363680359243 1566749956657485464734585970663169984323787992853157074700076675824545961084861569525028968882725943918706653794497681799984225263546472230833717344285951649400644054728458012776615786608000433028679033464843102672516912944312125479998201469926602968388768273535061339733870089746093640420876201337524404315885222137895984000479604905804531727877211788012426672695020013012714817195368273697374405982271708415254032690763404920210946382920514275789988776366376975334123622878130507409058068154508628850687204125625257834960469442299378082820766590198556305616285295270801177643289021976867921970621256130382018548332544387323621038624709748466518563021166373197637392271464724572999664084258937057697761349994483734002384001099750010038014224743534977512997124947244761338844593384019578666064831016917246250028399536071081884739030883237625404873565103895584928106594525434946201660109633546600759806064667287496724751130844651443496471691235506109309377841226106346935503742174767824543808754797970802064063577556628242683223077104142513893190331620500305844019130196459540604972643310811995212341713600358932712764870847255203913134525094263711223335235409830860554318332853252877041659099463737577812489025538832396821756268198261314219777275702486954228376613793620968238617839796593780820378975646168320303906880247737035751192812681791095732707842408946574910111848970423287018171780371356472122215488004036205103031536935283729257289602770569221155648793386446173913379972074556577149005691725685852268479638174883774675765174401313996512333313667010187380868616514776762755521334136389437235176516405046450048736261126207265272659026325247692707216956715980487255643874564875514500715666079079313759536669299627547248060371442403063055302623708244788074123872155745006408740593021820408684779233230816527360549600372660368925401195630396301546297721941589978906466263187887627231425831359910036982510185306212840508888094763143457508243151708265933009054165278913092118940618428865400027801752813312675709200848728221662168364424869277116337427400476386667253043724882517197496344267027778380111241720870785728966713301741497301973976587167770596421866345589939973759035614333530343509488176148580254923970298288993094728002761265884900803105622612607891790416569152594006558704552287315189915947350160742454717111654023827677046357071145045756300597264850595969205430590072349114103491738591910869465429887647778065269243433181350171735364514711405919522762741875575940414100131609767895093632803977297244572484865962599540665055939181280088473177211806282546470488310426643363613109147265804783996277986195804930069062175069568706171327547793440892946010279919801616177335728736681856281672719452201541836226590209064858810846815311299243237728910377732667214175715811770813361246801394159847138541548245118899010189887237896373693252762943056818583779669202816036064331646959434947185304083290634546265000414434242382560211696175439413041959748744683764636414970570097387157104191605308049818889490948607764800161802424265119687079352063433053806848156504203959578025589331814073440903716552889651829964184724127957629312045060196563792950678078199293995090935009917210524572708287003994241852116530190529901914116755808733721512608086744707334438860888542702037036559317898882706725081305091029925558035449245422053124365261496274611380503384633595618889558795624270663363360552998414027959891777260165561445342737900337238294149787091321877264702206212498375048931928134132877932853743212448637978054246932348716675499605628824539994836310510443790006579421648420583715742270283075181255757936322779333024363916749563543675501618884990010123601863898584797257992717014249431153343532503595252135413272682472399870954536698358272634330456023302206946890927911061091860258256723640655264495715764483671608549089870428598586576425634798717298004 2535054681744236077478743564155387319992393053495245234871083048180652377730249838418699798466342746429370812011676728494540490657943465655733345520882095960565674412826546372619231206879563474700279112833481065226463591418392910488908183235230859757026676597491644748709630411845401313581890154806583925837204902348779010224919303381314736191864112206606281685212306754147567082315941756672645323754191633990999345026545064372208800519952749305539470732181956959112892808574901627294073165161667390208266093492425878515685721182632519675312649504144067447406550233904046824113488047437891181657908517994075850867191367851594794130763663865117665803865947810381470272203936559888496985984378159870159663865798766924706140509660367982361609623028317984647606234796350987516944548975621524658642214223308308505655747195472150111910437807530547466171215678518445325786047230312230320562095082280835732045042303882329153273827830622418190345897457324484737914165252194865429934326787657749359706758415527217782524642772105077066679999855363911582767428487721119767496860724947352089442258981516440407847359979850412733138942715517223491432553155276620965325332969616620908909418782811455107907557589334326152784813051396207032548033284640366024533003075578356915810244835533529425793689321272451449571172798506886298295484800229163316881642434012436045751158005865402641122010718424052888240305105902233197574064860959768003867964186031785283571918276407627441283638719462128816916897309090619641731008606509552574300756469889987914826184584093570171891887279697423833167854689616226728400767291715003786689691150377892880447734585492351590537017269975134513922106521926514446547992390836545509499337244195076875359885654574860560922920217649250396537535268753909561244603320634141726179103970434177931380566495467246813928657928804364033812005294060557545432022878575546140597480810066119765175465876088413419339632657866205778282597817035373882475105758169516573960361871140046505074348612369041800667462147117475562719159869890692341253789861302409113793650664071168081869882307163649969890442600891022327498676165450418412659156596307274673336986376246956528875868082435073639615296462147085195776679280304487634901781016411948117851558118624294299865435263359886233097297412430092657355379853192839716591151834835155584879552243000576769911670172357579141785089459148864440418055843264757121594115888959222911262057697698633156145699619144293497679102971640242123106500799599346865704466279640478384317115917737530890999465590770043626133574191957157024807351214270827889472702141428701054812638128916222112652663892517754699148404911764300041875146399428348837292176849063005527156381813411638870109135746549028244266798928758847932739027665955253914043126560771917896755722565819205283998011524847543878235914810744339640787845815209098995618624621457127254945487947141218617971368221729000823462531005254302726179263177817863648234341986176488737774988900243218952140762599804309744200270764475400828966085447001305578758150684430835317701824499950257476253942923982273982865122498934489139840034419344523347884875489331202536205391420374770134086693605876954213978372624242198573039513894586198244250278791829128593025303524993657861368490466960052794557067866843894742081749053394043012147196987970229145145988715511522698135369162569686043851439303594885195088774447263150728719739317815169255623014198744753191799029983342228108304773417591120492583849435090675153406372805144948978290317807211622432349387700872506111069021083809640761588046172075072038593926420569091974340160520287122841839916267134756825032419804055764410485088654026097531235387008039570184981339347678255517954102287637921360877237043785728069277982192992885732202763754482683901121785379749532968807401468202819987942470608418658484514409861506048815222161168228162397657247 4101804638401721542213329534818557304316181046348402309571159724005198338815111407943728767349068690348077465806174410294524715921489937886567062865168047609966318467555004385395846993487563907728958146298324167898980504362705035968906384705157462725415444871026706088443500501591494954002766356144108330153090124486674994225398908287119267919741323994618708357907326767160281899511310030370019729736463342406253377717308469292419746902873263581329459508548333934447016431453032134703131233316176019058953297618051136350646190624931897758133416094342623753022835529174848001756777069414759103628529774124457869415523912238918415169388373613584184366887114183579107664475401284461496650068637096927857425215793250658708524510760117992399623847771852962160603359743595748855789142359641103324707045240225554755684146731543231996649468690768172871044780782414030253892641755747176522222204715827436491851106971169825878024958675273861686817588692830594047292006478301212365438068962425573903515513213498019846588220328733319749903076959506425475957760108221425611515990921406892694414902292328435620189073580209345445903813562772427404567078249540332188660568379447481463227751636064332149566657053071903965273838590228603854304301482901680244310278778065311144186858629154497664411529117866232269950148444675206602202365047966199068074455115803531778459000414811977551233859688847339906412085477258705319789552864995973106899501121315514540861521046976848596932432105908302730296869383647196790736700332195404842780394644773762590591358985407566684225200946707611214036471204392989483922101428104441021866207555424342929183995711699616863196043595222827221139063237907001702191866955712060010215003323274390634896554954202407808983291660052313451840158976998697635368475476379148134919696992254586616159799726283774174478258301464732959213200924456859091729744820165525047063743997953746996601297235998450401849817964079046287170692580178831390718257466435449583014527150053138624014967041234441828469214960430151271920008598112354509618214730579525451221051140457835334913607189680847466234709628669402438740397036236147379372458337804576647313573544017552950742213672375047398650910795677428705264855428884742558872079305405042845854319384509195102971057875967778023513866565024099216059932140508029632538501995577610301991206266828253816268741317403335442382354309744833645848645915613871225085854480870092376691945345476698425389132800494465233043617683046161645869242675175287279804597889408373477949919895034775463484331553369584291189513373237245497984563020553374359961012568072064667921785394721006108930650088322684768210579981333006213202694192869241783302456768864621704492110550093495151781855198750570080493389137823706743585842977254497151772036938504585110931438377590018645244812919007391016777463055863238650977733053105472688871387564513945838725157149957254682303015181163948008766614295888848991179677612060246208446038161615901779734737644926983588555733169901696901304462369783450647855576395609070378919953108695955004781176563383311283102099428186233560890711830748562580743750972234175177849060213459160165517436480571333927037371684076248209069307634159409097612222181590192486102395322019658494939420280802391582881098553704760128995928755386596779118308371292925718872278293061259070704024164756944751259734424065960655231942688228480813978333242887421392083099870813583283582905976004918753244372721242565346598923204682442369848551641303173528455304733279081856223171550424071070327441947804854827744520689438465301582882482585515828600505842217512558055902790570198023095674203457536158056783720805327954160590272911087541358988871938154982239332064692504949107445820141516613012650316468200469148936729691244004837094210505986108068676307660594060667659724926460643206966324183142156122958951376477413808737593862961114955251 6636859320145957619692073098973944624308574099843647544442242772185850716545361246362428565815411436777448277817851138789065206579433403542300408386050143570531992880381550758015078200367127382429237259131805233125444095781097946457814567940388322482442121468518350837153130913436896267584656510950692255990295026835454004450318211668434004111605436201224990043119633521307848981827251787042665053490654976397252722743853533664628547422826012886868930240730290893559909240027933761997204398477843409267219391110477014866331911807564417433446065598486691200429385763078894825870265116852650285286438292118533720282715280090513209300152037478701850170753061993960577936679337844349993636053015256798017089081592017583414665020420485974761233470800170946808209594539946736372733691335262627983349259463533863261339893927015382108559906498298720337215996460932475579678688986059406842784299798108272223896149275052155031298786505896279877163486150155078785206171730496077795372395750083323263222271629025237629112863100838396816583076814870337058725188595942545379012851646354244783857161273844876028036433560059758179042756278289650895999631404816953153985901349064102372137170418875787257474214642406230118058651641624810886852334767542046268843281853643668059997103464688027090205218439138683719521321243182092900497849848195362384956097549815967824210158420677380192355870407271392794652390583160938517363617725955741110767465307347299824433439323384476038216070825370431547213766692737816432467708938704957417081151114663750505417543569501136856117088226405035047204325894009216212322868719819444808555898705802235809631730297191968453733060865197961735061169759833516148739859346548605519714340567469467510256440608777268369906211877701563848377694245752607196613078797013289861098800962688764547540366221751020988406916230269096993025206218517416637161767698741071187661224808019866761776763112086863821189450621945252065453290397214205273193363224604966156974889021193185129089315653603483629136677107547626834639168468003046850872004591881934565014701804529003416783489496844497436125152229560424766239073201686565792031614934111851320650559920264509479618081754810121038266207257824513901041534709189230193773860321816990963705877503133489402836493139327664256611163977454191873415311993700869349129653830412765886870758509828830586180411489760914584167443768893698086266701758878628346679970369829315287954003043175331581534832419638758730722720654686403768975743474774634145509064169048851862267035812772306354483797144139627917323087565194402522791914234824202249433714709500765722734423523637228221583313980840439467358984893097306255077840592297590620594633617927627231648492363505134021890990945299598324760188066582554676324870643209751065815163499276503007687160943409223929242824443854934895013377866607578291765578868314571684490012185971073093670645097098473300274383402892948832229145301143151717358940789878109856680380147792390517509726545170202540696495769706006645504733134258851476821661842610375957678103793126790322483001063333568759356042352168507543755834329683051720583785391578698525733935702790362701722827900946104061124065289953202423047680258401607670651736076176390730352674113848787087964723805796049444249589020664812923552996622230491521200057424686968731019475281031488215850012880268467449395103586635646699083381991823366009067107690150572120802839188628752539205920174749671945043402704584793454903696622273562862432401076393848681861677538424030834513489357635693502676829648677360938813541773248106063170928654660587867194432262786604532396063310857320864935590470592292983089203524861092364645678926937185072594375879977725167220671412370760467061548107779437973889887360253928538426918922684129737039857964988670009190461687410127029475061193129280631149436932601800640637368812882526229030898762091123512612498 10738663958547679161905402633792501928624755146192049854013402496191049055360472654306157333164480127125525743624025549083589922500923341428867471251218191180498311347936555143410925193854691290158195405430129401024424600143802982426720952645545785207857566339545056925596631415028391221587422867094800586143385151322128998675717119955553272031346760195843698401026960288468130881338561817412684783227118318803506100461162002957048294325699276468198389749278624828006925671480965896700335631794019428326172688728528151216978102432496315191579481692829314953452221292253742827627042186267409388914968066242991589698239192329431624469540411092286034537640176177539685601154739128811490286121652353725874514297385268242123189531180603967160857318572023908968812954283542485228522833694903731308056304703759418017024040658558614105209375189066893208260777243346505833571330741806583365006504513935708715747256246221980909323745181170141563981074842985672832498178208797290160810464712508897166737784842523257475701083429571716566486153774376762534682948704163970990528842567761137478272063566173311648225507140269103624946569841062078300566709654357285342646469728511583835364922054940119407040871695478134083332490231853414741156636250443726513153560631708979204183962093842524754616747557004915989471469687857299502700214896161561453030552665619499602669158835489357743589730096118732701064476060419643837153170590951714217666966428662814365294960370361324635148502931278734277510636076385013223204409270900362259861545759437513096008902554908703540342289173112646261240797098402205696244970147923885830422106261226578738815726008891585316929104460420788956200232997740517850931726302260665529929343890743858145152995562979676178889503537753877300217853222751304831981554273392437996018497954943351163700165948034795162885174531733829952238407142974275728891512518906596234724968805973613758378060348085314223039268586024298352623982977393036663911620691040415739989416171246323753104282694837925457605892067977778106559177066115401360490219322461460016235752944986838751697096686525344902359861858229827204979470237922713171404073271916427967964133464282062430360295427185168436917118053501942606306390138073972752645939627222033809560196887642684505807551015295442280125030542478291089475244134208898981668155825990376188861964776657084402449152807164250026549798078638531732115347674492499571765824850699407664645948388652030006923965220133223963766338337732565414844986149949921425313662058457225340216955707807081817968128697509212208512600938431648020776477255377576609394727277572830390656208918358234330513964069163124235569564874430312468280534785166832403897090386792248936140602913598629173672846144050168405253577204406261419910713620464248217587200437781088118618599320999242574487637362862325911790840922470816942743311921420044373361399750485018932395802247055727982577398584056896840995759597032000708538618401938356065126418309408292297244464190097186129252228939607703546809195504042302124677238238219446336598056901822745327264177626716880042458141780354741104646546160431614301327536363812873703582995916249522867240264381517437988161436974029450632116987892561016768263958257766583216455069435868445582904144086598441027130687574369573052548925377617088300318365795979894449891753574092747286554037045025412200654838010701607354315324680051846823045440933037993512885939059442335822788826150754590698287775425827358801502619826956005232280952717697022210316982271703112690736660908059764573004271596482215766558062462686571364753811137246103695794938105004117090451966101427518888031264674049829141145987245666420318806269199848272613953364751915880149460003477063265416168993927920954586902537676722129007575855652375373741876952175494656117259137995070721090142720918055741274356403256784942796760327764259003642839636355954084627567749 17375523278693636781597475732766446552933329246035697398455645268376899771905833900668585898979891563902974021441876687872655129080356744971167879637268334751030304228318105901426003394221818672587432664561934634149868695924900928884535520585934107690299687808063407762749762328465287489172079378045492842133680178157583003126035331623987276142952196397068688444146593809775979863165813604455349836717773295200758823205015536621676841748525289355067319990008915721566834911508899658697540030271862837593392079839005166083310014240060732625025547291316006153881607055332637653497307303120059674201406358361525309980954472419944833769692448570987884708393238171500263537834076973161483922174667610523891603378977285825537854551601089941922090789372194855777022548823489221601256525030166359291405564167293281278363934585573996213769281687365613545476773704278981413250019727865990207790804312043980939643405521274135940622531687066421441144560993140751617704349939293367956182860462592220429960056471548495104813946530410113383069230589247099593408137300106516369541694214115382262129224840018187676261940700328861803989326119351729196566341059174238496632371077575686207502092473815906664515086337884364201391141873478225628008971017985772781996842485352647264181065558530551844821965996143599708992790931039392403198064744356923837986650215435467426879317256166737935945600503390125495716866643580582354516788316907455328434431736010114189728399693745800673364573756649165824724402769122829655672118209605319676942696874101263601426446124409840396459377399517681308445122992411421908567838867743330638978004967028814548447456306083553770662165325618750691261402757574033999671585648809271049643684458213325655409436171756944548795715415455441148595547468503912028594633070405727857117298917632115711240532169785816151292090762002926945263613361491692366053280217647667422386193613993480520154823460172178044228719207969550418077273374607241937104983915645381896964305192439508882193598348441409086742569175525404941198345534118448211362223914343394581250454749515842168480586183369842338485014087790251971218543439609278963435688206028279288614693384546571909978377181995289475183325311326456507347924847263202946419799949039024773266074390776173908644044154623106536736194519932482962890556127909768330797809656403142075732723286485914988629564296925164610717241847532229818382049433371127918445795220528722952599951431827361588458797639771982694489058992418969183820729624724555570822726227506077202483991520579388172451925841648840125835688503626050543568391490201778858828441987073596113390632441995462552097278050003563702928549767527618723358375377464423024491724004719876167789095277103763195563837089349766730013765270988816096235584263673999283402363937057591126305760264408466503730461806717260806804218789078395234508890789734616057851411936456092026066447344154201282851781986949845673224904898175152425897559191816465921806798457200682814754190735267388669948724709313710192313928638301153601498900080829822294276160694949535649747178690050448801814184132523248648402380490114666021911321755391572229316931619039885568963092282463542049285502263982653055164668150962624438915694333942973946807743549717232670868867892394490471380276595034385976101921999847579821518423220666863180911228855124235502404049925293879650049941597337254053398706671875212832112548623188565633688778248071088361994746325504262643331178130412152256406316449229568094713353794090870892178659810127143525250150265695458075681101245159576705371604235934677427924739791906691562989370367790721622848029412284839752966855144642122124235190770527512683451948126785457686547740631893605316680674889434025883230542035700392560792425036976057546002774575059503478916810140483326126449599682480848119617782111185021905505840189386743437397696577141529871870535118045208140180247 28114187237241315943502878366558948481558084392227747252469047764567948827266306554974743232144371691028499765065902236956245051581280086400035350888486525931528615576254661044836928588076509962745628069992064035174293296068703911311256473231479892898157254147608464688346393743493678710759502245140293428277065329479712001801752451579540548174298956592912386845173554098244110744504375421868034619944891614004264923666177539578725136074224565823265709739287540549573760582989865555397875662065882265919564768567533317300288116672557047816605028984145321107333828347586380481124349489387469063116374424604516899679193664749376458239232859663273919246033414349039949138988816101972974208296319964249766117676362554067661044082781693909082948107944218764745835503107031706829779358725070090599461868871052699295387975244132610318978656876432506753737550947625487246821350469672573572797308825979689655390661767496116849946276868236563005125635836126424450202528148090658116993325175101117596697841314071752580515029959981829949555384363623862128091086004270487360070536781876519740401288406191499324487447840597965428935895960413807497133050713531523839278840806087270042867014528756026071555958033362498284723632105331640369165607268429499295150403117061626468365027652373076599438713553148515698464260618896691905898279640518485291017202881054967029548476091656095679535330599508858196781342704000226191669958907859169546101398164672928555023360064107125308513076687927900102235038845507842878876527480505681936804242633538776697435348679318543936801666572630327569685920090813627604812809015667216469400111228255393287263182314975139087591269786039539647461635755314551850603311951069936579573028348957183800562431734736620727685218953209318448813400691255216860576187343798165853135796872575466874940698117820611314177265293736756897502020504465968094944792736554263657111162419967094278532883808257492267267987793993848770701256352000278601016604606685797636953721363685832635297881043279334544348461243503183047757522600233849571852443236804854597486207694502680920177682869895187240844875946020079176198013677531992134839761477944707256578826848828634340338672609180457912100443364828399113654314985337175699065739576261058582826271278418858414451595169918548816861225062410774052365800262118667312465965482393518264594688063142999391078717104089414637267039926170761550497397107863627490211620071228130617245899820479391595382762859905206658255397330151534598665715774674476996136388285963302542700947228386469990420054539158052334348289442057698564344868745579355468223169264646426504046841360353696882611242119166687938498114641957931191638910162631255428388814391512125103929698190702392369236683233399935135267342475395077516146297884138247500989564374838679244924359585407709078218099169579586718595059711549212177252202711154660431212811686941110958462249591209929265429180571006742514220664495207153134436177593754821986933216766608975111998654925364574799200953648921413739123124142343455726176138319049268630874217596772280977011356316767328844272325912877989753048926650546280323238858119204445932899927535289408436203356663980980037446939238012103687281656043523641207179652591709557163262812985585678253773011978992931498510964169403959028650847377464668121836789016646757630802982429216982788958086970319291850704779608038861407714031351927059655157989556226559146574717307513424184783572476258853341618953556239511057908936276185573326994306511787893102495642081830256215986811173755222648685372841641792471929666698621248792678550929152795258784308472794838713299995513712358640998119818691951265381178016193933002258217326633730300501105383809485466140678366497291299399535963621347147694962713698186553578630227434877220793762315977982243708737677551569209760503029240763179862243446171686234158024341400533514710171473999292767747996 45489710515934952725100354099325395034491413638263444650924693032944848599172140455643329131124263254931473786507778924828900180661636831371203230525754860682558919804572766946262931982298328635333060734553998669324161991993604840195791993817414000588456941955671872451096156071958966199931581623185786270410745507637295004927787783203527824317251152989981075289320147908020090607670189026323384456662664909205023746871193076200401977822749855178333029729296456271140595494498765214095415692337745103512956848406538483383598130912617780441630576275461327261215435402919018134621656792507528737317780782966042209660148137169321292008925308234261803954426652520540212676822893075134458130470987574773657721055339839893198898634382783851005038897316413620522858051930520928431035883755236449890867433038345980573751909829706606532747938563798120299214324651904468660071370197538563780588113138023670595034067288770252790568808555302984446270196829267176067906878087384026073176185637693338026657897785620247685328976490391943332624614952870961721499223304377003729612230995991902002530513246209687000749388540926827232925222079765536693699391772705762335911211883662956250369107002571932736071044371246862486114773978809865997174578286415272077147245602414273732546093210903628444260679549292115407457051549936084309096344384875409129003853096490434456427793347822833615480931102898983692498209347580808546186747224766624874535829900683042744751759757852925981877650444577065926959441614630672534548645690111001613746939507640040298861794803728384333261043972148008878131043083225049513380647883410547108378116195284207835710638621058692858253435111658290338723038512888585850274897599879207629216712807170509455971867906493565276480934368664759597408948159759128889170820414203893710253095790207582586181230287606427465469356055739683842765633865957660460998072954201931079497356033960574798687707268429670311496707001963399188778529726607520538121588522331179533918026556125341517491479391720743631091030419028587988955868134352297783214667151148249178736662444018523088658269053265029579329890033810331147416557117141271098275449683972986545193520233375206250317049791175747387283768676154855621002239832600378645485539525300083356092345669195032323095639324541655353597419582343257015256356390028435643263775138796660340327411349628914379708281401014579247984281773702991368879446541234755408657415291756853569845851252306753183841560499677189352744456322570503782486445399399032566959114513469379745184938748965858162871980380806892460183977945683749107913260235781134327051611251720022617437473802349159434708520169170251641426664409485549914997285540095678452880538396232001271718793467806155564800520322749701865281107746383893612381882147812246784391928311896270371230119849816175581948560976296847525399278500627607411761093500889276489064223623397202984528696935364130548280962557956588187445569393382305560333736785571287908740015223809657926752845660631963469149678358235123931437052780644609327675038399879090925150378291721816626758535006817777646086510045401238401451307140660946345150179874596018162216859154329294005166448946444522086732441501994756742446324194486265646095346925652531110070556535302910924641879871387421969891240764438345004752769377312247943355212237313620811714211284341218291362136895613171500754721205376115461112738023802272487270538179415124780263495555584512546778318801763115984950131686651663314315252725415141421707660305878763994674301891957399741236961439450680724366474086801369177301270934555926220603290721059486821773678840585560336148024925997198393964974963334073389616368786721445685710165453419187987048846015703090782821353255931317182630077999321739708487387750674244099581404802494380699710572456461308370158337360032417329378285140425785085368083635558429671555720918542063386580706592044500907928243 73603897753176268668603232465884343516049498030491191903393740797512797426438447010618072363268634945959973551573681161785145232242916917771238581414241386614087535380827427991099860570374838598078688804546062704498455288062308751507048467048893893486614196103280337139442549815452644910691083868326079698687810837117007006729540234783068372491550109582893462134493702006264201352174564448191419076607556523209288670537370615779127113896974421001598739468583996820714356077488630769493291354403627369432521616974071800683886247585174828258235605259606648368549263750505398615746006281894997800434155207570559109339341801918697750248158167897535723200460066869580161815811709177107432338767307539023423838731702393960859942717164477760087987005260632385268693555037552635260815242480306540490329301909398679869139885073839216851726595440230627052951875599529955906892720667211137353385421964003360250424729056266369640515085423539547451395832665393600518109406235474684190169510812794455623355739099692000265844006450373773282179999316494823849590309308647491089682767777868421742931801652401186325236836381524792661861118040179344190832442486237286175190052689750226293236121531327958807627002404609360770838406084141506366340185554844771372297648719475900200911120863276705043699393102440631105921312168832776214994624025393894420021055977545401485976269439478929295016261702407841889279552051581034737856706132625794420637228065355971299775119821960051290390727132504966029194480460138515413425173170616683550551182141178816996297143483046928270062710544778336447816963174038677118193456899077763577778227423539601122973820936033831945844704897697829986184674268203137700878209550949144208789741156127693256534299641230186004166153321874078046222348851014345749747007758002059563388892662783049461121928405427038779646621349476440740267654370423628555942865690756194736608518453927669077220591076687162578764694795957247959479786078607799139138193129016977170871747919811174152789360435000078175439491662531771036713390734586147355067110387953103776222870138521204008835951923160216820174765979830410323614570794673263233115211161917693801772347082203840590655722400356205299384212040983254734656554817937554344551279101561141938918616947613890737547234494460204170458644644754031067622156652147102955729740621190178604922099412771913770786998505103993885251321699873752919376843649098382898869035362984984187091751072786144779224323359582396010999853652722038381152161174073509563095502799432682287885885977352328153292034919964944794532267387741447672258128981360489795274780516366449121484315162702856317319762288336939579924779051443481106636195702726933881269352787744126375648491658508547934037203556149637000548450221778971128528180031950494285381492686734949616154479435223884660166660145876434243994338212176819589013296212043936920277035310338313942990946526574059813710143128963330701666233888589458694769914379326109895673231990418633038751500585996538268350632007156537670560176922988065053851176718928359556024595888494097603769891323585106490358835958279228154500233791207226668389037993800464095116786689618702441369805610425502124179380740006860429727980238009906853274999517362088273333369520888589178414891850380353468402204933842304033403616754776916065192001253960378442517193713558201080320223865932463351459500813414976868826769375729332142428527735641683926838212863097936731561891278021969326569085242891174372224189001600714748701966817666657097169943973787655957223772613205903373051846928443161649230937633177175013281841650212282080557987313380399049448020439709557034963094782026024654997546802915378687968382780052918287549951399512576248962031622428608482029613962943086856182350464372430653160035029929257920504334772439290613867075037583986539138788169666548265230327081730115905713745259942596901290878066043793675676239 119093608269111221393703586565209738550540911668754636554318433830457646025610587466261401494392898200891447338081460086614045412904553749142441811939996247296646455185400194937362792552673167233411749539100061373822617280055913591702840460866307894075071138058952209590538705887411611110622665491511865969098556344754302011657328017986596196808801262572874537423813849914284291959844753474514803533270221432414312417408563691979529091719724276179931769197880453091854951571987395983588707046741372472945478465380610284067484378497792608699866181535067975629764699153424416750367663074402526537751935990536601318999489939088019042257083476131797527154886719390120374492634602252241890469238295113797081559787042233854058841351547261611093025902577046005791551606968073563691851126235542990381196734947744660442891794903545823384474534004028747352166200251434424566964090864749701133973535102027030845458796345036622431083893978842531897666029494660776586016284322858710263345696450487793650013636885312247951172982940765716614804614269365785571089532613024494819294998773860323745462314898610873325986224922451619894786340119944880884531834258943048511101264573413182543605228533899891543698046775856223256953180062951372363514763841260043449444894321890173933457214074180333487960072651732746513378363718768860524090968410269303549024909074035835942404062787301762910497192805306825581777761399161843284043453357392419295173057966039014044526879579812977272268377577082031956153922074769187947973818860727685164298121648818857295158938286775312603323754516926345325948006257263726631574104782488310686156343618823808958684459557092524804098140009356120324907712781091723551153107150828351838006453963298202712506167547723751280647087690538837643631297010773474638917828172205953273641988452990632047303158693033466245115977405216124583033288236381289016940938644958125816105874487888243875908298345116832890261401797920647148258315805215319677259781651348156704789774475936515670280839826720821806530522081560359025669258868938445138281777539101352954959532582539727097494220976425246399504656013640741471031127911814534331390660845890680346965867315579046840972772191531952686667980717138110355658794650537932990036818626861225295010962616808923060642873819001859524056064227097288082878513042175538598993515759986838945249510762400828150495279906118573133235603473576744288256290190333138307526450654741837756937602325092897963065883859259585363744309975292542163638606573472542130054617312902062033070824726318186316164015300771837254716245333425196780171389217141624122326391768086471738921788965052015752028282457507191221351443460929031021633481242822612334149891183976127647367285126314703498837723878899338865829557968162864740910062179762741069773420998631219987384599285040060242115221122173281769393616712804427000774389712933213409341258933735516927519643461938190361991105686919918889111803281971764255103651164897397804413247214228290965504346246628501737500310365391661601997229703632674381526215118807450481174974180215914230528426330402884136445346003680466555951540931868173013539217868396482257333645843947996446536254556870024210911822242001617172174304432496172499370346443014619383403926056191500103056771721767775438293445698280649038156386132089164008547213491273999254231404997899419371682360761545634852214222018791092329939507399531604629699065915056808707101708418682449278340210079785085311519216929542837686539441727015856170409627123545421091844245865745055698460734052656584097418321015244530826532208567733101233885132371271768902331666153965959385596045365706755428928069745360098044613915589636824373678548233472106274598797415215667031783384878359925664659691962264826564669738215046674752741439832423638620214907228900598984025412397616403868517073310092333350598410717288545577269466178484660287871584658088294583604482 192697506022287490062306819031094082066590409699245828457712174627970443452049034476879473857661533146851420889655141248399190645147470666913680393354237633910733990566227622928462653123048005831490438343646124078321072568118222343209888927915201787561685334162232546729981255702864256021313749359837945667786367181871309018386868252769664569300351372155767999558307551920548493312019317922706222609877777955623601087945934307758656205616698697181530508666464449912569307649476026753081998401144999842378000082354682084751370626082967436958101786794674623998313962903929815366113669356297524338186091198107160428338831741006716792505241644029333250355346786259700536308446311429349322808005602652820505398518744627814918784068711739371181012907837678391060245162005626198952666368715849530871526036857143340312031679977385040236201129444259374405118075850964380473856811531960838487358957066030391095883525401302992071598979402382079349061862160054377104125690558333394453515207263282249273369375985004248217016989391139489896984613585860609420679841921671985908977766551728745488394116551012059651223061303976412556647458160124225075364276745180334686291317263163408836841350065227850351325049180465584027791586147092878729854949396104814821742543041366074134368334937457038531659465754173377619299675887601636739085592435663197969045965051581237428380332226780692205513454507714667471057313450742878021900159490018213715810286031394985344301999401773028562659104709586997985348402534907703361398992031344368714849303789997674291456081769822240873386465061704681773764969431302403749767561681566074263934571042363410081658280493126356749942844907053950311092387049294861252031316701777496046796195119425895969040467188953937284813241012412915689853645861787820388664835930208012837030881115773681508425087098460505024762598754692565323300942606804917572883804335714320552714392941815912953128889421803995469026096593877895107738101883823118816397974780365133875661522395747689823070200261720899981970013744092130062382649603524592493348887927054456731182402721060931106330172899585463219679421993471151794645698706487797564505872007808374148738214397782887431628494591888157986052192758121365090315349468475487334588097728422367233929579564422813798190108313462063694514708871851319150500669694322641554723256381177017550171610175172741921282278411222567018486925173450497207633133839431521206395486017726821944029353397879042742290207218841981374744163628014580544790767747546051693150120112334744320956710703670514469456050220736782049248512721166644452429518198502113917601172284452920860406104127754872069348044745844130801276222512372512128269676945549546215419243971720254023015776784823251432874927435048975866378008189941835869438242211713235355154913685366169603539078720263944902281881268049716013387954924981246589787685924977150329618294244073830870510589988512250175701248815883249590778037170561222949873565544223507700086479204646924004255846832625040005850942372548199272557406626620739435377391837735810037199570068710011834298317653987990626804181961959694710451774723075399681928255862196946352450432533566698887906060167295526335091202982008477601902284670506079352645345960376707656737295577080089281471663572148128906695650632122953071560002886866080073739214745234377696748598711457620452002584627478098203673722832206069198766276775260936772127593650698492633939921281780386009902101357807054638088302172434012058763630728616570919111593941212078189014189839532711655684506665862487470470167943687692475763146200910276247166974021484050982889653467346358435044065805416312463891164527386122699611462392552203061646931013525024562148748814728243280745416500788534146689305925207913420852088679419105405901474862352896540719242001339889597892487435200390407655861479758881615828737799018661482983211438427257189162462724132088259280721 311791114291398711456010405596303820617131321368000465012030608458428089477659621943140875352054431347742868227736601335013236058052024416056122205294233881207380445751627817865825445675721173064902187882746185452143689848174135934912729388781509681636756472221184756320519961590275867131936414851349811636884923526625611030044196270756260766109152634728642536982121401834832785271864071397221026143147999388037913505354497999738185297336422973361462277864344903004424259221463422736670705447886372315323478547735292368818855004580760045657967968329742599628078662057354232116481332430700050875938027188643761747338321680094735834762325120161130777510233505649820910801080913681591213277243897766617586958305786861668977625420259000982274038810414724396851796768973699762644517494951392521252722771804888000754923474880930863620675663448288121757284276102398805040820902396710539621332492168057421941342321746339614502682873381224611246727891654715153690141974881192104716860903713770042923383012870316496168189972331905206511789227855226394991769374534696480728272765325589069233856431449622932977209286226428032451433798280069105959896111004123383197392581836576591380446578599127741895023095956321807284744766210044251093369713237364858271187437363256248067825549011637372019619538405906124132678039606370497263176560845932501518070874125617073370784395014082455116010647313021493052835074849904721305943612847410633010983343997433999388828878981586005834927482286669029941502324609676891309372810892072053879147425438816531586615020056597553476710219578631027099712975688566130381341666464054384950090914661187219040342740050218881554040984916410070636000099830386584803184423852605847884802649082724098681546634736677688565460328702951753333484942872561295027582664102413966110672869568764313555728245791493971269878576159908689906334230843186206589824742980672446368820267429704156829037187766920828359287498391798542255996417689038438493657756431713290580451296871684205493351040088441721788500535825652489088051908472463037631630665466155809686141935303600658203824393876010709619184078007111893265676826618302331895896532853699054495704081713361934272601266783420110672720173475259475445974144119013420324624916355283592528940542181231736858832982132463923218570773098948607233379182736498180153716772141163856495421120937573570071777558317341140151722528647027241495889424029764659513921936672468659700966955722971940705356091078101566738488473603307122708429374321018593823204737425236806354027535429988700785620065521508619303964758054591841232600907415643738039927564052539392599327893092806887821376327203351322022627665973301543149903158188372158549569135155696381670383061911137954931712651313948314732207566158104700610348304391475976424928334683997389590923678005304005144397102390222997782781571637785673590562075637910363738959553177809347798030233450450440537692354502803168479889840452532987204977216709120905504499726418875214969760193079253541743351252737939860874554636330253413816903606956543260518374544248925926064826743984390874763249527965640161266403315654943572695467473730593428609784078377514695334442314724165550546003025224010094774076589103002251852015692403391327040141221633271589384528435293915904344989096330403602109716389018955244082286428236508376950980003709357039823684945389023733055887944850997161528705784174792541401826659565755301341041629700462835288242311437592139949607519101976849745303072455632427089521221064757499280858435705277767354145240718519071567888488958932223302295354768643377481052106392755819885221319621312317820640111171123067892819234272746220744225377982189027435325479246997130836747546229943910312528801379148459811348997887472739985521826894465780158642914694776535160934149230240488581917899832816794276172934789851214966427148516307207060252677616911917477034047382220382842885203 504488620313686201518317224627397902683721731067246293469742783086398532929708656420020349209715964494594289117391742583412426703199495082969802598648471515118114436317855440794288098798769178896392626226392309530464762416292358278122618316696711469198441806383417303050501217293140123153250164211187757304671290708496920048431064523525925335409504006884410536540428953755381278583883389319927248753025777343661514593300432307496841502953121670542992786530809352916993566870939449489752703849031372157701478630089974453570225630663727482616069755124417223626392624961284047482595001786997575214124118386750922175677153421101452627267566764190464027865580291909521447109527225110940536085249500419438092356824531489483896409488970740353455051718252402787912041930979325961597183863667242052124248808662031341066955154858315903856876792892547496162402351953363185514677713928671378108691449234087813037225847147642606574281852783606690595789753814769530794267665439525499170376110977052292196752388855320744385206961723044696408773841441087004412449216456368466637250531877317814722250548000634992628432347530404445008081256440193331035260387749303717883683899099740000217287928664355592246348145136787391312536352357137129823224662633469673092929980404622322202193883949094410551279004160079501751977715493972134002262153281595699487116839177198310799164727240863147321524101820736160523892388300647599327843772337428846726793630028828984733130878383359034397586586996256027926850727144584594670771802923416422593996729228814205878071101826419794350096684640335708873477945119868534131109228145620459214025485703550629122001020543345238303983829823464020947092486879681446055215740554383343931598844202149994650587101925631625850273569715364669023338588734349115416247500032621978947703750684537995064153332889954476294641174914601255229635173449991124162708547316386766921534660371520069782166077188724823828313594985676437363734519572861557310055731212078424456112819267431895316421240350162621770470549569744619150434558075987630124979553393210266417324338024661589310154566775596172838863500000583045060322525324790129460402404861507428644442296111144821704229761375308268658772366233380840536289493587488907659213014083705959762870121745654550657023090445925986913085481970799926383879852430820821708440028522340874045592731112746311993059836728563707170209453820477738703522557869196180720317422690195481644996309120850983447646298296943548113232637231321703253220142068564645516354857537571550674984246133659215255076115742245401353213270775758485685030425614145851957528736336992313459733997220561759890724371949195452823903888485674055278172835133921704764988379127416635693398838695961206364587578748997290598585574348046536479786546603189211780083248369363559194462756725567950046678983658272713796169526562766920180349761562887514068577847421883178668540823438962690713393603318686418070667877623094210154850782253344413204586205623522138974016039911878581749202195110488060147112042956874153252280998794279070555574114317635937899125061638378865390053709927599855976855090378018972377395729592790374962234510911081394222348374891461076881094228206018572375978873773508331204661038363768034696878517210351678666000098866064033251684746962526555181276391905821324156025642981742754647728602420814660275687530016501831259561667683203230727472060950053478173954253216453793974981550982243221298144412795399194587695821274410861804066703184248998008632815005969577469872625544810479009829747384381559038358656902619915778058500969553653728219080414239870868110973088658676255684176976539380356710398800132343443836840374741230496972410260522155398896295044672153593274217879936993958038303812680653406373915573884885564544389557129431701653391231580378179810387268017184683828796269610096582255886315325868543235889055339174666196510106352471102165924 816279734605084912974327630223701723300853052435246758481773391544826622407368278363161224561770395842337157345128343918425662761251519499025924803942705396325494882069483258660113544474490351961294814109138494982608452264466494213035347705478221150835198278604602059371021178883415990285186579062537568941556214235122531078475260794282186101518656641613053073522550355590214063855747460717148274896173776731699428098654930307235026800289544643904455064395154255921417826092402872226423409296917744473024957177825266822389080635244487528274037723454159823254471287018638279599076334217697626090062145575394683923015475101196188462029891884351594805375813797559342357910608138792531749362493398186055679315130318351152874034909229741335729090528667127184763838699953025724241701358618634573376971580466919341821878629739246767477552456340835617919686628055761990555498616325381917730023941402145234978568168893982221076964726164831301842517645469484684484409640320717603887237014690822335120135401725637240553396934054949902920563069296313399404218590991064947365523297202906883956106979450257925605641633756832477459515054720262436995156498753427101081076480936316591597734507263483334141371241093109198597281118567181380916594375870834531364117417767878570270019432960731782570898542565985625884655755100342631265438714127528201005187713302815384169949122254945602437534749133757653576727463150552320633787385184839479737776974026262984121959757364945040232514069282925057868353051754261485980144613815488476473144154667630737464686121883017347826806904218966735973190920808434664512450894609674844164116400364737848162343760593564119858024814739874091583092586710068030858400164406989191816401493284874093332133736662309314415733898418316422356823531606910410443830164135035945058376620253302308619881578681448447564519751074509945135969404293177330752533290297059213290354927801224226611203264955645652187601093377474979619730937261899995803713487643791715036564116139116100809772280438604343558971085395397108238486466548450667756610218859366076103466273328262247513978960651606882458047578007694938325999351943092461356298937715206483140146377824506755976831028158728379331492539708640315982263637706502327983837930438989552291810663926886287515856072578389910131656255069748533617259035167319001862156800663504730541013852050319882064837395045904847321931982467504980199411981898960840234239359362664141345963264843822924153002389375045114851721110834628825961649516389583239339559594962808357029011781563647916040696181263754020657178028830350326917631333029789589997456300389531706059061890313368647712100699152546774846531554458975598428075993322293863314557514283113017363781900607099161296300230062945605330793140506151237090134850994665188205011583053360948785386434730871955191076086048495711578951098200552593770911837200797877807537400599692526466571056889413131251085957821489586550557718075627197359827998962465318709085932042397353943776232991132123492553447848427921021666679287127567069184605750822331073948658566561863963951805622769740153303237893240017243258406032962545072863203323383803572018589288596089556790689615626627427097253430028667150055462876510583056676730767159361737019738843623268050528534159979937596673843292930157290992780924776568238312071218251131598708606130171700099372475405525564315449612534200392256177845124846019575780912782209095316023180682706056586386724232991334537303340376387711549369775639881425098154036070727076750731061250088246363974988102900630606247145861552139080353855738197031209271186806995690753332292709970994076324288147662448249529633072878564188062218356930257932297889507519286235643841274616063905803019259085453769387301700153393391895742468350665723187304251905966862587540461820866761728287100833978960001731059461311548683034831633075603488566672251092143230557488572853945051127 1320768354918771114492644854851099625984574783502493051951516174631225155337076934783181573771486360336931446462520086501838089464451014581995727402591176911443609318387338699454401643273259530857687440335530804513073214680758852491157966022174932620033640084988019362421522396176556113438436743273725326246227504943619451126906325317808111436928160648497463610062979309345595342439630850037075523649199554075360942691955362614731868303242666314447447850925963608838411392963342321716176113145949116630726435807915241275959306265908215010890107478578577046880863911979922327081671336004695201304186263962145606098692628522297641089297458648542058833241394089468863805020135363903472285447742898605493771671954849840636770444398200481689184142246919529972675880630932351685838885222285876625501220389128950682888833784597562671334429249233383114082088980009125176070176330254053295838715390636233048015794016041624827651246578948437992438307399284254215278677305760243103057613125667874627316887790580957984938603895777994599329336910737400403816667807447433414002773829080224698678357527450892918234073981287236922467596311160455768030416886502730818964760380036056591815022435927838926387719386229896589909817470924318510739819038504304204457047398172500892472213316909826193122177546726065127636633470594314765267700867409123900492304552480013694969113849495808749759058850954493814100619851451199919961631157522268326464570604055091968855090635748304074630100656279181085795203778898846080650916416738904899067140883896444943342757223709437142176903588859302444846668865928303198643560122755295303378141886068288477284344781136909358162008644563338112530185073589749476913615904961372535748000337487024087982720838587940940266007468133681091380162120341259525860077664167657924006080370937840303684034911571402923859160925989111200365604577743168454915241837613445980211889588172744296393369342144370476015914688363151416983465456834761553113769218855870139492676935406547996126193520788766965329441634965141727388921024624438297881589772252576342520790611352923836824133527427203055296911078008277983386321877267882590816701342576713911784588673935651577681060789534036647990264905942021156518553131293991235643050944522695512054680785672540838172879163024315897044741737040548460001138887598139823570596829185845604586606583163066194057897231774468554492141436287982718902934539768157020954556782052859622990959573964673907600648687671988662964953748065950529214869658458147884855914452500379907703996027697307131295772297005999422010391299606108812602661758643935441954985036726524019518795887533930407602825071101742227670435442944649653706248828456215568079545893410529653057180739303060367660887808811942895929378714854197773569921397597854399985094831422724507979849191456439905237755069706768425375120624763319513951261598763685391876115248021575705135111880328375821964479561140176004621225595698721407514678781215809731913672137665919492917792272903010705241755642958915981168778722244001720321465604545101401629522772884197801863076867261148605543356947820839873220113496410981517450258932916174178534253100199677483779139064507087704308191481636047239526034336650018914261337769130927396433898256053974946716528633026043970848358590255456712472269172830597892394337714199993886246437208550986360375060005422027395575011280217403622983649906074899497749735165998662889291004731664949277884531137028390529124999161650798573353436478824130423106786851076696654220603686794898725373804735487282189644605802764172054858412356707750684937490267221235561621443265798629670332008465124201828606240031873010907631899058731671488429270299768041441634540136319288217499077237139022447727425605512834046798269658042235551287731693809035398564240931693401244941538674368851163643830527329071408130938921146958944146724455727590266809427067594925325047217051 2137048089523856027466972485074801349285427835937739810433289566176051777744445213146342798333256756179268603807648430420263752225702534081021652206533882307769104200456821958114515187747749882818982254444669299495681666945225346704193313727653153770868838363592621421792543575059972103723623322336262895187783719178741982205381586112090297538446817290110516683585529664935809406295378310754223798545373330807060370790610292921966895103532210958351902915321117864759829219055745193942599522442866861103751392985740508098348386901152702539164145202032736870135335198998560606680747670222392827394248409537540290021708103623493829551327350532893653638617207887028206162930743502696004034810236296791549450987085168191789644479307430223024913232775586657157439719330885377410080586580904511198878191969595870024710712414336809438811981705574218732001775608064887166625674946579435213568739332038378282994362184935607048728211305113269294280825044753738899763086946080960706944850140358696962437023192306595225492000829832944502249899980033713803220886398438498361368297126283131582634464506901150843839715615044069399927111365880718205025573385256157920045836860972373183412756943191322260529090627323005788507098589491499891656413414375138735821164815940379462742232749870557975693076089292050753521289225694657396533139581536652101497492265782829079139062971750754352196593600088251467677347314601752240595418542707107806202347578081354952977050393113249114862614725562106143663556830653107566631061030554393375540285038564075680807443345592454490003710493078269180819859786736737863156011017364970147542258286433026325446688541730473478020033459303212204113277660299817507772016069368361727564401830771898181314854575250250254681741366551997513736985651948169936303907828302693869064456991191142612303916490252851371423680677063621145501573982036345785667775127910505193502244515973968523004572607100016128203515781740626396603196394096661548917482706499661854529241051545664096935965801227371308888412720360538835627407491172888965638199991111942418624256884681186084338112488078809937754958656015972921712321229210975052173000280291920394924735051760158333657891817692765027321757445650661472500816769000493563626888874961685064346491449599427125688735235602705807176397992110296993618397922765458825432753629849350335127620435213386076122734626820373401814073418755487699102346521667117861188796141415523764336922838808496831753651077047033777816674858900579355176519174847731124195474047463188264733007809260955047336468478269753442667569328436459139520293091673725031952441337116055725577857777847299055314925770254289002516966997403625252134324821778509431394103407693642670420962639910159528957188038874888501260171855360349010660056248592519588190106414476085456765235626187311860428831155755264136954071722963872107722173435964483269683652648621268231601682937217788953215565518961665591171783313774348604874506780178275050622758069708316846861568505894142828734309090807343902190445401531129287390650210295923732703471431450759665827028672883918345696660185714079890463371902443944062523122136239557982106271689488273573335929754122714331735288735066075906676089799526529497318014499898086758170917994897598214767057167186023908445032433548386869763261953755374460632649785418245017845145814681158060474432480827552959890460892751604015239827751199745517325516078780871984607027912347655334470917861261381863662302502027186284902806254464011848204940887147423730971334748044986971737779723590182820250852948625724193938766212445947716146761454028231252374775558508600664408332753271864276855769664945889471819961277088601746361568189275560727870183977593904281404880256398107901496812907212987440190165400510586217010918998060941365426828472155222111703266961469685142603832258388532719679621955978592019750213022399841358952657625083498178992268178 3457816444442627141959617339925900975270002619440232862384805740807276933081522147929524372104743116516200050270168516922101841690153548663017379609125059219212713518844160657568916831021009413676669694780200104008754881625984199195351279749828086390902478448580640784214065971236528217162060065609988221434011224122361433332287911429898408975374977938607980293648508974281404748735009160791299322194572884882421313482565655536698763406774877272799350766247081473598240612019087515658775635588815977734477828793655749374307693167060917550054252680611313917016199110978482933762419006227088028698434673499685896120400732145791470640624809181435712471858601976497069967950878866599476320257979195397043222659040018032426414923705630704714097375022506187130115599961817729095919471803190387824379412358724820707599546198934372110146410954807601846083864588074012342695851276833488509407454722674611331010156200977231876379457884061707286719132444037993115041764251841203810002463266026571589753910982887553210430604725610939101579236890771114207037554205885931775371070955363356281312822034352043762073789596331306322394707677041173973055990271758888739010597241008429775227779379119161186916810013552902378416916060415818402396232452879442940278212214112880355214446066780384168815253636018115881157922696288972161800840448945776001989796818262842774108176821246563101955652451042745281777967166052952160557049700229376132666918182136446921832141028861553189492715381841287229458760609551953647281977447293298274607425922460520624150200569301891632180614081937571625666528652665041061799571140120265450920400172501314802731033322867382836182042103866550316643462733889566984685631974329734263312402168258922269297575413838191194947748834685678605117147772289429462163985492470351793070537362128982915987951401824254295282841603052732345867178559779514240583016965523951173714134104146712819397941949244386604219430470103777813586661850931423102031251925355531994021917986952212093062159322016138274217854355325680563016328515797327263519789763364518761145047496034109921162246015506012993051869734024250905098643106478857642989701622868634306709323725695809911338952607226801675312022351592682629019369900294484799269939819484380576401172235271967963861614398627021704221139729150845453619536810363598649003350459035195939714227018376452270180631858594841956306214855043470418005281061435274882143352923468383387327882412773170739354299764719022440781628606966529884391388833305879009051388499963568172437003836958262178632240775275752864677960628042567952122954850317660473907426373842579745096653665381229462917750841356031230187402440348274905840573650234724999473649301104172323478143379213219896618075847686831397189550570214546784229977646190373988175201245898809964745084817643751765666586225462032562329192347727191621673435034728168661559767896642843936736794817546164775180045080101841595793008909473070012389185561394084782536430207374236339779360778797153533976064733766259883359224123775131007712115814841025134332994204334957467690105540145066951240017133534919763683485398854925579973381069155732160640524789687951057115068818629802036043480216702123146202124136176548411579352269029014154604816250951573161483585800212067879293391023803843582235531126585972353026987499618238904091583023232144420849492486249580355465472172969007638223477657274645015075251244779534873898032644012604612355448998289772392787301663677984858256242733288142271311727738224120385191938434839885697111584459077465009895458751389896248797178569153698401084251721249466813996218824307230334740341218396066105462009696818900379451860335820273234790838489043602169504724113913192498903957493537130349224238512725821486988435058552821768298650691869976763991069403848623356644805635838536306247662785717604127810560877125550963896937478127431625762084692678423504039485229 5594864533966483169426589825000702324555430455377972672818095306983328710825967361075867170437999872695468654077816947342365593915856082744039031815658941526981817719300982615683432018768759296495651949224869403504436548571209545899544593477481240161771316812173262206006609546296500320885683387946251116621794943301103415537669497541988706513821795228718496977234038639217214155030387471545523120739946215689481684273175948458665658510307088231151253681568199338358069831074832709601375158031682838838229221779396257472656080068213620089218397882644050787151534309977043540443166676449480856092683083037226186142108835769285300191952159714329366110475809863525276130881622369295480355068215492188592673646125186224216059403013060927739010607798092844287555319292703106506000058384094899023257604328320690732310258613271181548958392660381820578085640196138899509321526223412923722976194054712989614004518385912838925107669189174976580999957488791732014804851197922164516947313406385268552190934175194148435922605555443883603829136870804828010258440604324430136739368081646487863947286541253194605913505211375375722321819042921892178081563657015046659056434101980802958640536322310483447445900640875908166924014649907318294052645867254581676099377030053259817956678816650942144508329725310166634679211921983629558333980030482428103487289084045671853247239792997317454152246051130996749455314480654704401152468242936483938869265760217801874809191421974802304355330107403393373122317440205061213913038477847691650147710961024596304957643914894346122184324575015840806486388439401778924955582157485235598462658458934341128177721864597856314202075563169762520756740394189384492457648043698095990876803999030820450612429989088441449629490201237676118854133424237599398467893320773045662134994353320125528291867892077105666706522280116353491368752541815860026250792093434456367216378620120681342402514556344402732422946251844404210189858245028084650948734631855193848551159038497876189998125123243509583106267075686219398643736006970216229157989754476461179769304380715296005500358503584822930806828390040223826810964335689832695162701903160554701634058777455968244996844424919566702633779797243344101520186669294978362896828694446065640747663684871395089550349634229727511397537721261142447237934733129057474436104088884546274841847453589838346303366485415215358120288273798958117107627583102392743332149064883907151664805251581667571107950841766056218598303465867109239567908008153610133246862547426756437170011646219217225968709253545506307345529956479027091643247941991385505859867710958635470674511443228528518232676611610320232704369437751900157974898472013234430867752708797814993899106019123379425575263886561719898449722425574895794890033894782893576365307660374895421510320443831063626095417381217296699283264070691063729395608470692651931243420545264112168338477754763953728395610599063507186964792223247418617263692341572359833159188277082553186640929284691296362710373824573603785549669525306260295102766025136948867036465635785717133517134213028985296936677319248999654146857301298869642496503205395290142746796479176224630450998572752516367778768951768199052878213935703077908897366768927100912775734245849171376250642967398091787738423457352230451998793080341346813659637285036483921936728837913302481323924967077133315355933065720611653463305408474390532400767323560406858505060556360259946826366859551154256449604165705171143159048987752154119516668625371544116163273182884872668849364182667647830146311700015620442735944781599646117231013175277698066370994382815830999148673971667930382317779361764789851271821612908874981152406678319162897374908091507096780308837749935238250721051419938808927178600459063407985309569689930918129417897876003845468348072597308221448851495044106136847490182833104142983647150500527272984714742317761921683031753407 9052680978409110311386207164926603299825433074818205535202901047790605643907489509005391542542742989211668704347985464264467435606009631407056411424784000746194531238145143273252348849789768710172321644005069507513191430197193745094895873227309326552673795260753902990220675517533028538047743453556239338055806167423464848869957408971887115489196773167326477270882547613498618903765396632336822442934519100571902997755741603995364421917081965503950604447815280811956310443093920225260150793620498816572707050573052006846963773235274537639272650563255364704167733420955526474205585682676568884791117756536912082262509567915076770832576968895765078582334411840022346098832501235894956675326194687585635896305165204256642474326718691632453107982820599031417670919254520835601919530187285286847637016687045511439909804812205553659104803615189422424169504784212911852017377500246412232383648777387600945014674586890070801487127073236683867719089932829725129846615449763368326949776672411840141944845158081701646353210281054822705408373761575942217295994810210361912110439037009844145260108575605238367987294807706682044716526719963066151137553928773935398067031342989232733868315701429644634362710654428810545340930710323136696448878320134024616377589244166140173171124883431326313323583361328282515837134618272601720134820479428204105477085902308514627355416614243880556107898502173742031233281646707656561709517943165860071536183942354248796641332450836355493848045489244680602581078049757014861195015925140989924755136883485116929107844484196237754364938656953412432152917092066819986755153297605501049383058631435655930908755187465239150384117667036312837400203128078951477143280018027830254189206167289742719910005402926632644577239035923354723971281196527028860631878813243397455205531715449108444279819293901359961989363883169085837235931101595374266833809058958407540930512724267394161800456505588789336642376721948182023776520095959507752979986557210725842573077025450088283060284445259647857324121431011899961660064522767543492677779517840979940914351876749405926662604519090835923858698124064474731909607442168690338152403526029189008343382503151778156335797032146368377945802148836026730539556569589463162166768513930446217148835920143363053411964032856749215618677450411987900857471543492656123439454547919742214556074471966290616483998344010057314426503128842428535112908644537667625475501988352290538992687664354838310462250606485078659379932072833639123959296841459489142298251047390324609607015483177479404600950028821259172023490584521595043766202792309045979767294084801215215771165108609757981150427452966351462891771878100175063815472122247959430341402009901987317377249398336599322193339734248551295639272995789442579120011540973267564540508906273705386255405261474815391762003606679329261612456418418255351069043505420820592803188441906956105075272572310118503575655679165348782757801132720488629652877902966444615695618484456789526420290063488449896686438558339863668908893649081391302814881839977974001369459840120674601207239753174052248176694452783919417830342700153795222469884274551022303387321268864175687566067391382318403822249168470322199080338071879626320476719037956115067380550496800744537734228767610159667031814481156074034234324206927319166686624784654722826028311861145446902173417453326713670821405238689619291686783065749035547476018568339941732403093200372864559181815857840926649236905829383156001415291721040296390828396363595664501355211617724758365960948641745112840041770451405516691533123350753344518315264896527164880367213207123061333889015190063996487779789058583690230723681948729148215943245167362765066879632205420289279212795243472368599945289932664630414167035517616229753608220381800894893408967279852468824992878233146757755099157829823740975300743710229693947544087978654704610476827010440345187071238636 14647545512375593480812796989927305624380863530196178208020996354773934354733456870081258712980742861907137358425802411606833029521865714151095443240442942273176348957446125888935780868558528006667973593229938911017627978768403290994440466704790566714445112072927165196227285063829528858933426841502490454677601110724568264407626906513875822003018568396044974248116586252715833058795784103882345563674465316261384682028917552454030080427389053735101858129383480150314380274168752934861525951652181655410936272352448264319619853303488157728491048445899415491319267730932570014648752359126049740883800839574138268404618403684362071024529128610094444692810221703547622229714123605190437030394410179774228569951290390480858533729731752560192118590618691875705226238547223942107919588571380185870894621015366202172220063425476735208063196275571243002255144980351811361338903723659335955359842832100590559019192972802909726594796262411660448719047421621457144651466647685532843897090078797108694135779333275850082275815836498706309237510632380770227554435414534792048849807118656332009207395116858432973900800019082057767038345762884958329219117585788982057123465444970035692508852023740128081808611295304718712264945360230454990501524187388606292476966274219399991127803700082268457831913086638449150516346540256231278468800509910632208964374986354186480602656407241198010260144553304738780688596127362360962861986186102344010405449702572050671450523872811157798203375596648073975703395489962076075108054402988681574902847844509713234065488399090583876549263231969253238639305531468598911710735455090736647845717090369997059086477052063095464586193230206075358156943522268335969600928061725926245066010166320563170522435392015074094206729237161030842825414620764628259099772134016443117340526068769233972571687185978465628695886163285439328604683643411234293084601152392863908146891344388075504202971061933192069065322973792586233966378340987592403928721189065919691124236063947964473058409568503157440430388506698119360303800529737759721835769272317441120683656257464701932162963022675658854665526514104698558720571777858523033315105429189743709977441280607746401332641457065935080579581946079370832059743238884441525063597208376511857896499605014758142962313667086476727016215171673130348095406276621713597875558636804288489397921925556128962787364829425272672546791402641386652220536227640060368807651053236197690657492915936505881570201448251134877978235538700748363527204849613099275545113594817081046777027129396696630569659282366765479369020541000622135409450734300431485627161795759850686445676551838286499383104064576671695596141315852075221790370594261193861209154718699802311276355417459978747768603620810271194088995421364338374010045435756161140905816566648600807765725705305879017857420987896625960895720489109319080464651976113472524046608987171068273413750327074072231971266278228855969722593355967907246916570244538804448854806761539342713061219348179746259396812382913467454458563174387651597917647865114922868405925475906391734724373966203037545113371772032919071977200001452664864966387479946312446134117748040400318017065964134834771601018120238521251958552007582704229374085806883215980156284742649915913984871735008251454770237938508304486233117287268665980346262069691206747965040699058749383497342420403846986177338304410230945150088474223426079876785891900348590908153756733124506008182717392080905686509995088327144574340708792450510345064988967208617518484800609631034810312824412760670188082151421137134269068132352990635546278071804862946738207589938892333037689161731926870097568420348480081995503561638023197095651845681927964254540296927386059521632993407606850666341352603439341345635976679637738917790071731813022826865155856314293340950830454979203950652873929877822790926543333836931191238479181977595191569328202266870102992043 23700226490784703792199004154853908924206296605014383743223897402564539998640946379086650255523485851118806062773787875871300465127875345558151854665226943019370880195591269162188129718348296716840295237235008418530819408965597036089336339932099893267118907333681068186447960581362557396981170295058729792733407278148033113277584315485762937492215341563371451518999133866214451962561180736219168006608984416833287679784659156449394502344471019239052462577198760962270690717262673160121676745272680471983643322925500271166583626538762695367763699009154780195487001151888096488854338041802618625674918596111050350667127971599438841857106097505859523275144633543569968328546624841085393705720604867359864466256455594737501008056450444192645226573439290907122897157801744777709839118758665472718531637702411713612129868237682288867167999890760665426424649764564723213356281223905748187743491609488191504033867559692980528081923335648344316438137354451182274498082097448901170846866751208948836080624491357551728629026117553529014645884393956712444850430224745153960960246155666176154467503692463671341888094826788739811754872482848024480356671514562917455190496787959268426377167725169772716171321949733529257605876070553591686950402507522630908854555518385540164298928583513594771155496447966731666353481158528832998603620989338836314441460888662701107958073021485078566368043055478480811921877774070017524571504129268204081941633644926299468091856323647513292051421085892754578284473539719090936303070328129671499657984727994830163173332883286821630914201888922665670792222623535418898465888752696237697228775721805652989995232239528334614970310897242388195557146650347287446744208079753756499255216333610305890432440794941706738783968273084385566796695817291657119731650947259840572546057784218342416851506479879825590685250046454525165840614745006608559918410211351271449077404068655469666003427567521981405707699695740768257742898436947100156908707746276645533697313089398052756118694013762805297754509937710019321963865052505303214513548790158421061598008134214107858825567541766494778524224638169173290630179220027213371467508955218932718320823783759524557668438489212303458525384094915397562599299808473904687230365722306958075045335525158121196374277699943225942634892622085118248952877820114369721315013184724030703953996397522419579271363173435329986973294531483815187333444872177727994283153041588488229650180580291344192032452054736213537358167611534387487486501691072588417843364642207405656384042612574176035170609311188024651392511125522217179175653526609477465394455880561065902216841660448044480533531517543023158487913193952250285605842716509153291550556728601789628653604815796578069961943355058822489728268417153780953130056976729428705446325472922306194021130966780694409619424594575955222508176907527574431533695481534293116849797429078024378489022899384190735546921957394204752480394488688395876569448147505249064550425245996132239481509411668196156083250941253331123367456823469042900732529705092896869775385316027066335931613719377089793290066224816838489807542701606460087436271754497334749521439016904576005583133355517153175423267288708843451038890079462330549850804844839331047536835239450660451719100502618411121802052419664378520467441494195985147032886854345929573993352560204196285670759873730560656998743543099850236836871539972461627352804460240290323311246957105989065189998575233007554923415824471483145989632429832746901173461352562873118873696418334389400771261466157873510229852602826653825802191483106335153861542968332027827105420797061953666926704351795923357877357478932170312719185510367171413038897013044693031134172502347675338734428236879975450611631285268069755512671494295867492526010453532707916235832435708783118333829063601736959049810703753618798091670253563530878735326457836682205668396338642612057174230679 38347772003160297273011801144781214548587160135210561951244893757338474353374403249167908968504228713025943421199590287478133494649741059709247297905669885292547229153037395051123910586906824723508268830464947329548447387734000327083776806636890459981564019406608233382675245645192086255914597136561220247411008388872601377685211221999638759495233909959416425767115720118930285021356964840101513570283449733094672361813576708903424582771860072974154320706582241112585070991431426094983202696924862127394579595277948535486203479842250853096254747455054195686806268882820666503503090400928668366558719435685188619071746375283800912881635226115953967967954855247117590558260748446275830736115015047134093036207745985218359541786182196752837345164057982782828123396348968719817758707330045658589426258717777915784349931663159024075231196166331908428679794744916534574695184947565084143103334441588782063053060532495890254676719598060004765157184776072639419149548745134434014743956830006057530216403824633401810904841954052235323883395026337482672404865639279946009810053274322508163674898809322104315788894845870797578793218245732982809575789100351899512313962232929304118886019748909900797979933245038247969870821430784046677451926694911237201331521792604940155426732283595863228987409534605180816869827698785064277072421499249468523405835875016887588560729428726276576628187608783219592610473901432378487433490315370548092347083347498350139542380196458671090254796682540828553987869029681167011411124731118353074560832572504543397238821282377405507463465120891918909431528155004017810176624207786974345074492812175650049081709291591430079556504127448463553714090172615623416345136141479682744321226499930869060954876186956780832990697510245416409622110438056285378831423081276283689886583852987576389423193665858291219381136209739964494445298388417842853003011363744135357224295413043545170206398629455173474773022669533354491709276777934692560837428935342565224821549153346017229177103582265962738184898444408138682267665582243062936349318062475862182281664391678809790988530564442153633189751152273871849350750997885736404782614384408676428298265064367270959001079946278238539104966040994768394659043047358346212293962930683469932941835130172879339336591367029702669651107793758248597048284096736083319190571821528319193351918323078548542058728002860602659520085934125201839553981099817788363090804094824685920307673496227850073602653502987348415336403150235135851013706540685687693388478237024486703161069741970872665740268593554790130761531666522839314585104260909908951021617676320916588662518212286330979916635582119694854084054509804325507396213310770347152759711447301591939929960233256556817730546975869093683817263838518119327140102412485589846352142039570907001786856672086573427476845582472581183403897396636893511998347457647765640896406416249092651902773226458262967518188235623060722202987844656303123486018392044053513405232007535474952542728759847942415480063324166798577826019997856694498650177570207819738181310791933458070655987685580127338403437996849757561784742703059124952402659234443647195655556764944976323600199319651987947024285408947364702997442087045034779224890651722547027693119982100576365703972237626662576572290358172683006700558781464651127379148924037136321958393259262945669168102294134407643176081847510081181986960014195887707229590352140638914219400713839113571198181292625088460609925819559810290563973138625197411518526341530081736392181218944020435581574290570634180417934754247790960071259615459325789407821040136890773843628387000845999964393513527850227974925899280650394714689072005194610134548858726620995388712799275061398256061230287582301277972637871509096858307470975505231443800525264520939062697591565097411674779894056716163000463577683496620882596796897367809926564937018659800859965666844878927277222722 62047998493945001065210805299635123472793456740224945694468791159903014352015349628254559224027714564144749483973378163349433959777616405267399152570896828311918109348628664213312040305255121440348564067699955748079266796699597363173113146568990353248682926740289301569123206226554643652895767431619950040144415667020634490962795537485401696987449251522787877286114853985144736983918145576320681576892434149927960041598235865352819085116331092213206783283781002074855761708694099255104879442197542599378222918203448806652787106381013548464018446464208975882293270034708762992357428442731286992233638031796238969738874346883239754738741323621813491243099488790687558886807373287361224441835619914493957502464201579955860549842632640945482571737497273689951020554150713497527597826088711131307957896420189629396479799900841312942399196057092573855104444509481257788051466171470832330846826051076973567086928092188870782758642933708349081595322130523821693647630842583335185590823581215006366297028315990953539533868071605764338529279420294195117255295864025099970770299429988684318142402501785775657676989672659537390548090728581007289932460614914816967504459020888572545263187474079673514151255194771777227476697501337638364402329202433868110186077310990480319725660867109458000142905982571912483223308857313897275676042488588304837847296763679588696518802450211355142996230664261700404532351675502396012004994444638752174288716992424649607634236520106184382306217768433583132272342569400257947714195059248024574218817300499373560412154165664227138377667009814584580223750778539436708642512960483212042303268533981303039076941531119764694526815024690851749271236822962910863089344221233439243576442833541174951387316981898487571774665783329801976418806255347942498563074028536124262432641637205918806274700145738116810066386256194489660285913133424451412921421575095406806301699481699014836209826196977154880480722365274122749452175214881792717746136681619210758518862242744069985295797596028768035939408382118158004231530634748366150862866852634283243879672525892917649814098106208648411713975790443045139980930217912949776250123339627609146619088848126795516669518435490541997630350135910165957258342855832250899524328652990428007987170655331000535710869066972928612286000415843366846001161916850453040505585006252349897305914720600968121330091176295932646493380465609017026887425971995516357373957136413174149957854076519194265635105557723561952694570761769523338500208231758276111231842879231892359545112354545048700910877904742814782154042792045056493760757787519386416416073556881982490879359872734375460450167099662718012571967703756575793002056027279500444310268175903381568583565049053134887692490330927916173545532255671900280270159389215018551798467512493213195807987638867267837096270177048536405912074304164467943532042939182058757746203845327117030391796125842453703065110193017265474683382333344699000055466539549302577955657253531607192024238171516138571563314265420129701193476821325737399382707275300716607956696107960524406587601404957217131693504221666596051592285404665585039838930988940981945176995781849552329183332675169141122447552697656208154036332166507365329075695496561878075229955221551236817423072740245073698374342777837061527168000275660636274412035778383065895951745819467141954838862167864968300174825390609931418823831554168349334582394812380929237530647670945102636388179867858096015533341644031293436553605568457944312691987694092954855265877637278409836352835756728507690647787357074444785873451098565660943269364008468918600949049184062799666891097865323773585852283378212820707433874582372366023173445871771314026522885301622736736990489467167557751889603923139578852370978965271372723969810978797228855298530027273880530008608957658453122050274281437115418974267050460898688661891394855342006528362005487490984451453401 100395770497105298338222606444416338021380616875435507645713684917241488705389752877422468192531943277170692905172968450827567454427357464976646450476566713604465338501666059264435950892161946163856832898164903077627714184433597690256889953205880813230246946146897534951798451871746729908810364568181170287555424055893235868648006759485040456482683161482204303053230574104075022005275110416422195147175883883022632403411812574256243667888191165187361103990363243187440832700125525350088082139122404726772802513481397342138990586223264401560273193919263171569099538917529429495860518843659955358792357467481427588810620722167040667620376549737767459211054344037805149445068121733637055177950634961628050538671947565174220091628814837698319916901555256472779143950499682217345356533418756789897384155137967545180829731564000337017630392223424482283784239254397792362746651119035916473950160492665755630139988624684761037435362531768353846752506906596461112797179587717769200334780411221063896513432140624355350438710025657999662412674446631677789660161503305045980580352704311192481817301311107879973465884518530334969341308974313990099508249715266716479818421253817876664149207222989574312131188439810025197347518932121685041854255897345105311517599103595420475152393150705321229130315517177093300093136556098961552748463987837773361253132638696476285079531878937631719624418273044919997142825576934774499438484760009300266635800339922999747176616716564855472561014450974411686260211599081424959125319790366377648779649873003916957650975448041632645841132130706503489655278933543454518819137168270186387377761346156953088158650822711194774083319152139315302985326995578534279434480362713121987897669333472044012342193168855268404765363293575218386040916693404227877394497109812407952319225490193495195697893811596408029447522465934454154731211521842294265924432938839542163525994894742560006416224826432328355253745034807477241161451992816485278583565616961775983340411396090087214472901178294730774124306826526296686499196216991429087212184915110145426161336917571727440802628670650802044903726942716916989331681215798686181032737724036285574917353912494066475670598381768780536735316176904934351917385903190597111818291583673897940929005785503879875047460434002631281937108209601615443049446013586536359696156827780669090657833043679516663388819179156535306013466399734218866441407071813304720464761231237860070265527572747044339237759060710910368030973912004659189513914772443963804620321116256379062706182096515921366651146498297604912915574458567895808345862048429295367437691233202899079541878085020706440366802681782412866656022213560901300398269338049847597069979623204973508513525282309691705423037306797009857362796094190019607410261801700608398150609552064120197594844310953841264573115759521117589315971700801361455530390396829824398642610261576209682294569352300716670583298428640326196886370178001002123541484931593356091360889261067082144566966931364080987043377589586928279019496819182431898032884845508536346138006899893982477243589090537344470096942218516353613377028107724709992241590223384629140832552546794528652783531994821129069471838106603572857033774253552400108300586148284425102923075203651813183127044977871736274946633136009744533868559057125287401791184702420202217910139078730087624006964461999375943350907238120012600810791568364237041811985164521568151750048384784216207586361160483184476143267463591103727117578707083141724210514035623036591658058856222430271934410047299141871065722111322235745944710714024986732677185048605809374792677571063645666855491378851623813827209277493471102148563654377560633307994730497935021911598100897798135246550697455140053167576561011087949229286436246877955413611504061749794361227618838977941683388851715169285050737859120612039856863847358266498588456331874001807388327672332369911728676123 162443768991050299403433411744051461494174073615660453340182476077144503057405102505677027416559657841315442389146346614177001414204973870244045603047463541916383447850294723477747991197417067604205396965864858825706980981133195053430003099774871166478929872887186836520921658098301373561706131999801120327699839722913870359610802296970442153470132413004992180339345428089219758989193255992742876724068318032950592445010048439609062753004522257400567887274144245262296594408819624605192961581319947326151025431684846148791777692604277950024291640383472147451392808952238192488217947286391242351025995499277666558549495069050280422359117873359580950454153832828492708331875495020998279619786254876122008041136149145130080641471447478643802488639052530162730164504650395714872954359507467921205342051558157174577309531464841649960029588280517056138888683763879050150798117290506748804796986543742729197226916716873631820194005465476702928347829037120282806444810430301104385925603992436070262810460456615308889972578097263764000941953866925872906915457367330145951350652134299876799959703812893655631142874191189872359889399702894997389440710330181533447322880274706449209412394697069247826282443634581802424824216433459323406256585099778973421703676414585900794878054017814779229273221499749005783316445413412858828424506476426078199100429402376064981598334329148986862620648937306620401675177252437170511443479204648052440924517332347649354810853236671039854867232219407994818532554168481682906839514849614402222998467173503290518063129613705859784218799140521088069879029712082891227461650128753398429681029880138256127235592353830959468610134176830167052256563818541445142523824583946561231474112167013218963729510150753755976540029076905020362459722948752170375957571138348532214751867127399414001972593957334524839513908722128943815017124655266745678845854513934948969827694376441574842626051023409483235734467400081599990613627207698277996329702298580986741859273638834157199768698774323498810063715208644454690730726851739795238075051767744428670041009443464645090616726776859450456617702733159962129312611433711635957282861063663894721536442760620861992340116817259322534365666312815100309175728759022848011342620236664325948916176440834880410758329500975559894223108625444982289050607930436989400201741834033018987963747764280484784718910355452467952506846865343235893328833043808821077838718367651034220223381649266238604872864618434472320725544673774182528014123004202239915852163995488271422251294451060970067562024403040419695069617250612952302106619835948681783853764790084881570421237957755081900816969781445130879227989917317477093400325365329348041380247799108355077097090331362826593115527637724926030908328349861919887680421190915626949949077064557333393402831949821109101669385936569653995228046004965829399062433336011883156388814106903326712686365478143170373648408621657591671569752511345701123596951471142658669316546514598689336591205102880219558606691855007057980212973640508169297415592120809252954094703007854506883831190495494561601790446440182949664969313512390295032080521212325611086009548328644080981966864669990270191919390804259781011070106420059765437376281644846303178153030425203050000550117718116809973320975913846806061036559332785923676203220480803268113861884898197229578845826629864344243525732628729944019634623122532586376394379976902497389280696055729318843974541028341280491676609107622397163671184275541086036902501729715991446923936493500840108287245804027649561713509468396680531818161812590647675946549057074727975741726755126445333746589244175397399679492655706291809582438236749926656481440602269249048434483402520534872237040164622697805057180484150666801600265401518250679383422482858978649659757646112858471691997809373622407101012140557727458831130897819165187250347726729343813916689677819860896180129524 262839539488155597741656018188467799515554690491095960985896160994385991762794855383099495609091601118486135294319315065004568868632331335220692053524030255520848786351960782742183942089579013768062229864029761903334695165566792743686893052980751979709176819034084371472720109970048103470516496567982290615255263778807106228258809056455482609952815574487196483392576002193294780994468366409165071871244201915973224848421861013865306420892713422587928991264507488449737427108945149955281043720442352052923827945166243490930768278827542351584564834302735319020492347869767621984078466130051197709818352966759094147360115791217321089979494423097348409665208176866297857776943616754635334797736889837750058579808096710304300733100262316342122405540607786635509308455150077932218310892926224711102726206696124719758139263028841986977659980503941538422672923018276842513544768409542665278747147036408484827366905341558392857629367997245056775100335943716743919241990018018873586260384403657134159323892597239664240411288122921763663354628313557550696575618870635191931931004838611069281777005124001535604608758709720207329230708677208987488948960045448249927141301528524325873561601920058822138413632074391827622171735365581008448110840997124078733221275518181321270030447168520100458403537016926099083409581969511820381172970464263851560353562041072541266677866208086618582245067210351540398818002829371945010881963964657352707560317672270649101987469953235895327428246670382406504792765767563107865964834639980779871778117046507207475714105061747492430059931271227591559534308645626345746280787297023584817058791226295209215394243176542154242693453328969482355241890814119979421958304946659683219371781500485262976071703319609024381305392370480238748500639642156398253352068248160940167071092617592909197670487768930932868961431188063397969748336177109039944770287452774491133353689271184134849042275849841811590988212434889077231775079200514763274913267915542762725199685034924244414241599952618229584188022035170751377229923068731224325287236682854574096202346361036372531419355447510252501521429675876879118644292649510322138315598787700180296453796673114928468010715199028103071100982489720034661093114662213445123160911820338223889845182226338760285805789934978191176160216835046597732100053944023525759897898661813688078621580807960001448107729534609003258520313265077454759770240115622125798303479598888894290488909222013282944110623679145382688756518585778841717528037776646203720472485111744650484957476547576891434213170901338024607985191709180848110452481884377977151291456023287780649963116042775788341183772463227543745884012130878378393798594703379195638450227422313328585610615613672518298538564944521935888271124444051939495090682992616235348099686616621453590997676260774950366242501696090771584544017705767190854592823732841707555031424368479536394980934830443887044231707050297917868456122689346703247138436402736014760677435775665771481158172034244300545650069444593986259232470459690601195448476966317789300232709907748489361074779586031906071887388658699303278346341620115005024322111435710240226842100875438609634750396664811399261391228910863353868103880673612165545676867793130728281076105628854863183677162695988546248267609049856550594905118389911211077994405183223470331772023976927317202852791091863720186876639866849956620445414690896823418206365141424065541030744440513535051560902188824464967819876571213500890788762982624227761113015765339028038581995349723270380221655851326791432779231579718916277762872526615634408623734105680537350534404326190091000602080623027021213506701933199762911731001891127487289789435332767184070346081503418333007483590862077837858224757045161754750829551837765128634797033986920728444020985264951836413375386661088791692151749999678339498687994745177431685838804058603345621305017350152230807908805647 425283308479205897145089429932519261009728764106756414326078637071530494820199957888776523025651258959801577683465661679181570282837305205464737656571493797437232234202255506219931933286996081372267626829894620729041676146699987797116896152755623146188106691921271207993641768068349477032222628567783410942955103501720976587869611353425924763422947987492188663731921430282514539983661622401907948595312519948923817293431909453474369173897235679988496878538651733712034021517764774560474005301762299379074853376851089639722545971431820301608856474686207466471885156822005814472296413416442440060844348466036760705909610860267601512338612296456929360119362009694790566108819111775633614417523144713872066620944245855434381374571709794985924894179660316798239472959800473647091265252433692632308068258254281894335448794493683636937689568784458594561561606782155892664342885700049414083544133580151214024593822058432024677823373462721759703448164980837026725686800448319977972185988396093204422134353053854973130383866220185527664296582180483423603491076237965337883281656972910946081736708936895191235751632900910079689120108380103984878389670375629783374464181803230775082973996617128069964696075708973630046995951799040331854367426096903052154924951932767222064908501186334879687676758516675104866726027382924679209597476940689929759453991443448606248276200537235605444865716147658160800493180081809115522325443169305405148484835004618298456798323189906935182295478889790401323325319936044790772804349489595182094776584220010497993777234675453352214278730411748679629413338357709236973742437425776983246739821106433465342629835530373113711303587505799649407498454632661424564482129530606244450845893667498481939801213470362780357845421447385259110960362590908568629309639386509472381822959744992323199643081726265457708475339910192341784765460832375785623616141966709440103181383647625709691668326873251294826722679834970677222388706408213041271242970214123749467058958673758401614010298726941728394251737243815206067960649920471019563362288450599002766243355804501017622036082224369702958139132409036841247956904083221958095598459851364075017990239433735790460350832016287425605466648802535134970268843421236293134503532057002549838761358667173640696564119435953751070383325460491580021150661874460515160099640495846707066585328572240486232826639890061471211027160130420690653099073159430946876142197966539928510712290871279521548983488297579855009482063259553024245542160780848443636324649107232921907208770998637861501775195304378444303054808959793800412559101720326658935145220813372662220384354000530870242000742244672674625112002048195855487198920068708543679830475221421683662707705945035344891654092582246861919179452793913859382771104183531862298048763681178786984400508210596059467911887632660425579772063710733020253655257068853590711420238475382863107667300308587057417880115671955509540025875200692404370735387873878673429993982290264460817749377137124520104256761299601044239445444100198770492864069087127042254327412915602996244905970081526467673677835098882252943315655132505300056402632648035851312851649204082690616717261334801669453310619715123134879173987093671930983053149437977031459229136054057913184227280414105356221588584963703356655941677722697134754197625664026738445633908875124546781698617721728064430402372495579900640080037813429409794600745118326562930311440496242853895535443217165745459496485678835898054459947258165313798015517495055019485505931843224110488508901655354440994492741048115596809581034339206282084570283162755265326276131081316536334348669867202418613186194588906054721313440127877413946270875935036433118780564905938867879720631026700535663281937529312421552429817239283379314180456469779707093680742911064694885067384470462414099252762140236066957519125642996596873089151785332689435221707027972091704088935171 688122847967361494886745448120987060525283454597852375311974798065916486582994813271876018634742860078287712977784976744186139151469636540685429710095524052958081020554216288962115875376575095140329856693924382632376371312266780540803789205736375125897283510955355579466361878038397580502739125135765701558210367280528082816128420409881407373375763561979385147124497432475809320978129988811073020466556721864897042141853770467339675594789949102576425869803159222161771448626709924515755049022204651431998681322017333130653314250259362653193421308988942785492377504691773436456374879546493637770662701432795854853269726651484922602318106719554277769784570186561088423885762728530268949215260034551622125200752342565738682107671972111328047299720268103433748781414950551579309576145359917343410794464950406614093588057522525623915349549288400132984234529800432735177887654109592079362291280616559698851960727399990417535452741459966816478548500924553770644928790466338851558446372799750338581458245651094637370795154343107291327651210494040974300066695108600529815212661811522015363513714060896726840360391610630287018350817057312972367338630421078033301605483331755100956535598537186892103109707783365457669167687164621340302478267094027130888146227450948543334938948354854980146080295533601203950135609352436499590770447404953781319807553484521147514954066745322224027110783358009701199311182911181060533207407133962757856045152676888947558785793143142830509723725560172807828118085703607898638769184129575961966554701266517705469491339737200844644338661682976271188947647003335582720023224722800568063798612332728674558024078706915267953997040834769131762740345446781403986440434477265927670217675167983744915872916789971804739150813817865497859461002233064966882661707634670412548894052362585232397313569495196390577436771098255739754513797009484825568386429419483931236535072918809844540710602723093106417710892269859754454163785608727804546156238129666512192258643708682646028251898679559957978439759278985957445190572989202243888649525133453576862445702165537390153455437671879955459660562084913720366601196732732280233914058639064255314444036106850718928361547215315528676567631292255169631361958083449738257664443877340773728606540893512400982369909370931942246543542295538177753250715818484040919997539157660395145206909380200487680934369424670474469547473395498145412869313275053072674445677565428822801201200093292804493094111976725237698238581845331865963070198557494647356797134218977572392166247546214752935988366205716468911040000668974648523011583604704636086436676836660442870347470043306658583184514707900218370996014179074233880997514772087739318280702643735012248318321558707863190192657526768797807450577237965798877861787176148097646148450297800240575398184471371009834154389328751197164316081416500211108248080801695298266451662843862399502648235139030944462111822722253427408481997890039107617873824276614688190671418065930232298907549171368820649906830744195030498677914559889371688312546053444831554560122823351485605980749667558373745565223757581556221661996752620305080724744083746091539693750079521300251467657999613068714701848625986488747277867767284096528730017231107759740305241682912776367904443110093902469856194013559907250846796112608345832192030847250208777405932852051863984551408813591784617279012362429857260525452504326233212807110259750628471342184936756388947096345405990210427316362250049398945248710240789541559128533260394047524087927192947380868730557506681232427271972627834513087343906865821916493194017268435802676810535407506627334950750490229439826692896522105817633044442019004901236060311267803617189126646409357200887204221888778373521506694574474176303259369077048507948977490456700435537701728176016531298442771131551205791404512139914406456207120388174028558927955843936035056526724378124322511997740818 1113406156446567392031834878053506321535012218704608789638053435137446981403194771160652541660394119038089290661250638423367709434306941746150167366667017850395313254756471795182047808663571176512597483523819003361418047458966768337920685358491998272085390202876626787460003646106747057534961753703549112501165470782249059403998031763307332136798711549471573810856418862758323860961791611212980969061869241813820859435285679920814044768687184782564922748341810955873805470144474699076229054323966950811073534698868422770375860221691182954802277783675150251964262661513779250928671292962936077831507049898832615559179337511752524114656719016011207129903932196255878989994581840305902563632783179265494191821696588421173063482243681906313972193899928420231988254374751025226400841397793609975718862723204688508429036852016209260853039118072858727545796136582588627842230539809641493445835414196710912876554549458422442213276114922688576181996665905390797370615590914658829530632361195843543003592598704949610501179020563292818991947792674524397903557771346565867698494318784432961445250422997791918076112024511540366707470925437416957245728300796707816676069665134985876039509595154314962067805783492339087716163638963661672156845693190930183043071179383715765399847449541189859833757054050276308816861636735361178800367924345643711079261544927969753763230267282557829471976499505667861999804362992990176055532850303268163004529987681507246015584116333049765692019204449963209151443405639652689411573533619171144061331285486528203463268574412654196858617392094724950818360985361044819693765662148577551310538433439162139900653914237288381665300628340568781170238800079442828550922564007872172121063568835482226855674130260334585096996235265250756970421364823973535511971347021179884930717012107577555596956651221461848285912111008448081539279257841860611192002571386193371339716456566435554232378929596344401244433572104830431676552492016940845817399208343790261659317602382441047642262197406501686372691496522801163513151222909673263452011813584052579628689057970038407775491519896249658417799694493950561614558100815954238329512518490428330332434275540586509388712379231602954282034280094790304601630801504686031392167975934343323567367899560686041678934028806885693316926867756029757774401377692944556080097179653507102211792237952440973913761009314731945680574633525918836065968386434484019550587875531968751311913490964572326042077600274305092707720645104884890208612359338343090993121783326210494299375018544852614437763561510094913214094809628768448935570685325031295021581897650033105090731824043837528825185256952572892996108016227270089368196434840796282998111177865156695911026027503743208081846750109015659726630030031879658260632891359679959944197213978979027559798692681967069302066276961411622744088145127233231361903337870548888977871901319245262610315535447618001879991938394208936948507873090731511988609212150493361620665400356194693116656926308493340754163592043796074738123358660088142181176615140571873808887535738954481850886719749084841419243058856463809164977651885125605137127376731781942852545399283603990868184919334414738168012468341109623626451854860956027511783166669084791199534377736970689552131723524199258691444778977263263906788473835305480586389656511276947223039841727176410766250026535319849047681384858009757900605490317755643007407855378077191401653625432999242842631788623155955886812847928885296999708657498954855357144050755449067009593859036171491357239459162035673421764713675950109896924941205028198577764300431191068003086666488823163669299420357431858439879091111011872354357882146882315182331187202840050307907211315296068766924852915478909184788632103786597855689186316331887263157946926480142631382471087081226183510155602013619890657274280150473413726246031170625432017107629268724491748431406096414216086675989 1801529004413928886918580326174493382060295673302461164950028233203363467986189584432528560295136979116377003639035615167553848585776578286835597076762541903353394275310688084144163684040146271652927340217743385993794418771233548878724474564228373397982673713831982366926365524145144638037700878839314814059375838062777142220126452173188739510174475111450958957980916295234133181939921600024053989528425963678717901577139450388153720363477133885141348618144970178035576918771184623591984103346171602243072216020885755901029174471950545607995699092664093037456640166205552687385046172509429715602169751331628470412449064163237446716974825735565484899688502382816967413880344568836171512848043213817116317022448930986911745589915654017642019493620196523665737035789701576805710417543153527319129657188155095122522624909538734884768388667361258860530030666383021363020118193919233572808126694813270611728515276858412859748728856382655392660545166829944568015544381380997681089078733995593881585050844356044247871974174906400110319599003168565372203624466455166397513706980595954976808764137058688644916472416122170653725821742494729929613066931217785849977675148466740976996045193691501854170915491275704545385331326128283012459323960284957313931217406834664308734786397896044839979837349583877512766997246087797678391138371750597492399069098412490901278184334027880053499087282863677563199115545904171236588740257437230920860575140358396193574369909476192596201742930010136016979561491343260588050342717748747106027885986753045908932759914149855041502956053777701222007308632364380402413788886871378119374337045771890814458677992944203649619297669175337912932979145526224232537362998485138099791281244003465971771547047050306389836147049083116254829882367057038502394633054655850297479611064470162787994270220716658238863348882106703821293793054851345436760389000805677302576251529485245398773089532319437507662144464374690186130716277625668650363555446473456773851576246091123693670514096086061644351131255801787120958341795898875507340661338717506156491134760135575797928946957568129613877460256578864281981159297548686518563426577129492585646878311647437228317073926446918482958601911387045474232992759588135769649832419811684097295974440454198442661303938177817635563470410051567935527652093511428597000094718811167497356999147332641461594695378739402420150122106921416981478837699709537092225033553097397574113114691057865130535171712251030330405959226950216756171682557895837738349918917545188066691541266091067367373751927715811382125134810297743097458582268929735931108018574486693547961079294087144187408369771660473111367104030406344323249193949612884022316391880508891708159344349062451071272039407635784457534080607269845457138494678535828057590345664276779268135196877153338079136220666290162819908404226543733442470151418672244187244323564163107662112963770586648946342103761116462364356989870980770619606483036427108049811336818422124925415564475479862161404070422787991105236801273219977513869489161194016705363447658562305967456867469416643215164808282614045365386639648637745910217852120815528034392239149363125291119652577334027806882714316967096112373729722628240124040513183900192550939839619419883465920036166634293161161300972990823171157635269947913826418581687358527156000445774579228274750801435348911633664960397220439615161130942822081876220214965637827819872995810369755631789728134029146166314129210178934695944957367739744396916272584015843114533681786229118872225970016668716905849036686303784622984268848070850115070958317699626870679897201896329791004250170847661298266571987633117689987402324165887216418391498470643667497033857724653269654129074804257282706295326678260774158948555393380395212135437383180578169084199263097757481952926733564825682061786420064879869933366419344653990945063473204759548275155784220736728084416807 2914935160860496278950415204227999703595307892007069954588081668340810449389384355593181101955531098154466294300286253590921558020083520032985764443429559753748707530067159879326211492703717448165524823741562389355212466230200317216645159922720371670068063916708609154386369170251891695572662632542863926560541308845026201624124483936496071646973186660922532768837335157992457042901713211237034958590295205492538761012425130308967765132164318667706271366486781133909382388915659322668213157670138553054145750719754178671405034693641728562797976876339243289420902827719331938313717465472365793433676801230461085971628401674989970831631544751576692029592434579072846403874926409142074076480826393082610508844145519408084809072159335923955991687520124943897725290164452602032111258940947137294848519911359783630951661761554944145621427785434117588075826802965609990862348733728875066253962109009981524605069826316835301962004971305343968842541832735335365386159972295656510619711095191437424588643443060993858373153195469692929311546795843089770107182237801732265212201299380387938254014560056480562992584440633711020433292667932146886858795232014493666653744813601726853035554788845816816238721274768043633101494965091944684616169653475887496974288586218380074134633847437234699813594403634153821583858882823158857191506296096241203478330643340460655041414601310437882971063782369345425198919908897161412644273107740499083865105128039903439589954025809242361893762134460099226131004896982913277461916251367918250089217272239574112396028488562509238361573445872426172825669617725425222107554549019955670684875479211052954359331907181492031284598297515906694103217945605667061088285562493010271912344812838948198627221177310640974933143284348367011800303731881012037906604401677030182410328076577740343591226871938120087149260993115151902833072312693206047952391572191870673915967986051680953005468461915781908906578036479520617807268769642609496180954654817247035510893848473564741312776293492563330723822752324588284471493018808548770792673152301558736119823818105614205704438477464379272295259951072814843595717398364640756892939095619920915979312587188023737705786305678521437240636191481835778834623561092821801042000395746027420863342340014884484340237966984703328880397277807597693302053471204373153080191898464674599568791385285082435508456388054134365830696740447335817544806086144021111775621428629366325425028182022437456577249312525335423113679872055101646380294917234180829343040700871398560990916284635919981811515489225906295339229619926511546394152954254767226129600472136726653051811118130981716233555028613046004363212046633614412617390384453680305314503058374048404070370376566194279353886157744800117260710637301725115399127569895508017534542878255758295694995569835305148438286943251574442652492371670966673832054756542793076222195465482352924723279306034266948222095699510671301305497744071502131595092248577601411432002218778319618532221401788355502158234014831787179974924631880065656050665776334588579172335194301260449307754189165728056584051341470509174551617300522871515354979497547309977244784548646729281987837496668442545050726785308205736000181577489196151552296350569277342139373997156854155472167890158492419852745751968086435064423743783219307004971343869804103223485616306404685517051461884231482712641782078449373061736433139837519227622821015905011274649435802754874632359922652302122200942058107819992944666025238699252273416634771292181543275645265290363583209475830752579270801399979734732881193789275878313648722618130817938682983868385152954673549591205093156706451078744129562341760206312769531600722685673483717804941069039949338421053927719736191891083958782047372014637741709712282475293384309660720800466670350178983665463082335578445572719060700215353283659612450515279422962171102473484040023587190317150944171092796 4716464165274425165868995530402493085655603565309531119538109901544173917375573940025709662250668077270843297939321868758475406605860098319821361520192101657102101805377847963470375176743863719818452163959305775349006885001433866095369634486948745068050737630540591521312734694397036333610363511382178740619917146907803343844250936109684811157147661772373491726818251453226590224841634811261088948118721169171256662589564580697121485495641452552847619984631751311944959307686843946260197261016310155297217966740639934572434209165592274170793675969003336326877542993924884625698763637981795509035846552562089556384077465838227417548606370487142176929280936961889813817755270977978245589328869606899726825866594450394996554662074989941598011181140321467563462325954154178837821676484100664613978177099514878753474286671093679030389816452795376448605857469348631353882466927648108639062088803823252136333585103175248161710733827687999361503086999565279933401704353676654191708789829187031306173694287417038106245127370376093039631145799011655142310806704256898662725908279976342915062778697115169207909056856755881674159114410426876816471862163232279516631419962068467830031599982537318670409636766043748178486826291220227697075493613760844810905505993053044382869420245333279539793431753218031334350856128910956535582644667846838695877399741752951556319598935338317936470151065233022988398035454801332649233013365177730004725680268398299633164323935285434958095505064470235243110566388326173865512258969116665356117103258992620021328788402712364279864529499650127394832978250089805624521343435891333790059212524982943768818009900125695680903895966691244607036197091131891293625648560978148371703626056842414170398768224360947364769290333431483266630186098938050540301237456332880479889939141047903131585497092654778326012609875221855724126865367544551484712780572997547976492219515536926351778557994235219416568722500854210803937985047268278146544510101290703809362470094564688434983290389578624975074954008126375405429834814707424278133334491019064892610958578241190003633385435032508886172720207651679125576876695913327275456365672749413501626190898835460966022860232125439920199238102868881253067616320680957570691832815557711518159316780469082927001541905162520964443867687859165628829705564715801750080286617275842096925790532617723897103151766793536785980818847368752799023643785853558204000654981726763899538142873080302587112421024776365753519639099005318402551977475130018567692959618416586627682457550726987349185267416941717677464364430224254643852735223184503157237619046623420201012890412218125903641924800273519115730316077039958735866584334066564327630894938882940112229714725628645350625925565380584574794791244571570572537622248431336075124888542532537563830192446988643227574507609541737262560896598214700116302206175215037263466519029645460586836243076620915894564199460627133665662487615052272751201575285004709461243339037200444543947785877268217663562304437619778285211725905100043169920154937528605284535782852863566416764621658582371271748859624084554539938256949160617425572831618362838011637023698009854573107490074002470351933441102275301848373911300117436275592809534469469893079213616576737621392204056792785581014046724958909606222059013731133133423553031228331259223931390885632960267852897233143116377602179298888988222867375961919395447837786653732831147645246172510506422088056681448288515071268286754688889623392978443649189689218787135296076957431494409235809179492499469485119838086283519355865462637346728428719680935830444809362881070281482745677799762052754454973023066377247252329162530478656748019114184144127385301974926764602608075183002523993474597379285460308146173586297103092677687428821692841298969550869613276741147416009069143271254780847120280233153592978869859933413907234575678243588298742974537887672255509603 7631399326134921444819410734630492789250911457316601074126191569884984366764958295618890764206199175425309592239608122349396964625943618352807125963621661410850809335445007842796586669447581167983976987700868164704219351231634183312014794409669116738118801547249200675699103864648928029183026143925042667180458455752829545468375420046180882804120848433296024495655586611219047267743348022498123906709016374663795423601989711006089250627805771220553891351118532445854341696602503268928410418686448708351363717460394113243839243859234002733591652845342579616298445821644216564012481103454161302469523353792550642355705867513217388380237915238718868958873371540962660221630197387120319665809695999982337334710739969803081363734234325865554002868660446411461187616118606780869932935425047801908826697010874662384425948432648623176011244238229494036681684272314241344744815661376983705316050912833233660938654929492083463672738798993343330345628832300615298787864325972310702328500924378468730762337730478031964618280565845785968942692594854744912417988942058630927938109579356730853316793257171649770901641297389592694592407078359023703330657395246773183285164775670194683067154771383135486648358040811791811588321256312172381691663267236732307879794579271424457004054092770514239607026156852185155934715011734115392774150963943079899355730385093412211361013536648755819441214847602368413596955363698494061877286472918229088590785396438203072754277961094677319989267198930334469241571285309087142974175220484583606206320531232194133724816891274873518226102945522553567658647867815230846628897984911289460744088004193996723177341807307187712188494264207151301139415036737558354713934123471158643615970869681362369025989401671588339702433617779850278430489830819062578207841858009910662300267217625643475176723964592898413161870868337007626959937680237757532665172145189418650408187501588607304784026456151001325475300537333731421745253816910887642725464756107950844873363943038253176296066683071188305798776760450963689901327833515973048926007643320623628730782396346804209337823912496888158467980158724493969172594094277968032349304768369334417605503486023484703728646537803961357439874294350717031902239881773779371733833211303738939022659120483967411341779872147224293324264965666763322131759035920174903160478515740516696494581917902806332611608154847671151811515587816088616568449871997579315776276410356130224963171055102740043689670337301701176633318971060420048932272392364199397036000319287985188673373835362907330996782906167623972803594050150766190246888177439270383367219518760146854064701530349107619875479828886565120093528123673573148483974718520244632945397997256988516300085102194839629979811723125384692055501881873295687936749818326844092659431420788295859525188016823948376012794552793311705213388969885666790134260931757830339688714495127813511559522382655182842786295160137804966967985359123774882796667533582310872675341255978764162480007279056573165720538452451565465186650536980108825970820713863193863708118047164826866072375847748099328332910965555063714489874249683488940927811115910147988881808246656583855095327570670912896984167887583507584374092877606632427145105885038747235218587613733591776864371946951278000866792476926996041286482757514352440428524375098135362447417007192037645784904359117374599090243961377338361284603809101756914675460607669637842422294681975265381054447979333750410716013326394574681834289418217142901463105853558427477620233076759699599392388968330222064390639486263254088746656426622606742368403553961262748045864938666635700351349353257847611679474145121376814670922736791426279619836869817611103106915995804551946496236930243729666488463244242355518188224038812804960162722206002502019770017539963455724812879091404721716827499907820495586437252591320375212836869405678151727628322330164855038616426602399 12347863491409346610688406265032985874906515022626132193664301471429158284140532235644600426456867252696152890178929991107872371231803716672628487483813763067952911140822855806266961846191444887802429151660173940053226236233068049407384428896617861806169539177789792197011838559045964362793389655307221407800375602660632889312626356155865693961268510205669516222473838064445637492584982833759212854827737543835052086191554291703210736123447223773401511335750283757799301004289347215188607679702758863648581684201034047816273453024826276904385328814345915943175988815569101189711244741435956811505369906354640198739783333351444805928844285725861045888154308502852474039385468365098565255138565606882064160577334420198077918396309315807152014049800767879024649942072760959707754611909148466522804874110389541137900235103742302206401060691024870485287541741662872698627282589025092344378139716656485797272240032667331625383472626681342691848715831865895232189568679648964894037290753565500036936032017895070070863407936221879008573838393866400054728795646315529590664017859333073768379571954286818978810698154145474368751521488785900519802519558479052699916584737738662513098754753920454157057994806855539990075147547532400078767156880997577118785300572324468839873474338103793779400457910070216490285571140645071928356795631789918595233130126846363767680612471987073755911365912835391401994990818499826711110299838095959093316465664836502705918601896380112278084772263400569712352137673635261008486434189601248962323423790224814155053605293987237798090632445172680962491626117905036471150241420802623250803300529176940491995351707432883393092390230898395908175612127869449648339582684449307015319596926523776539424757626032535704471723951211333545060675929757113118509079314342791142190206358673546606762221057247676739174480743558863351086803047782309017377952718186966626900407017125533656562584450386220742044023038187942225683238864179165789269974857398654654235834037602941611279357072649813280873730768577339095331162648223397327059342134339688521341740974587994212971209347529397044640700366376173094749470790191295307805670441118747919231694384858945669751506769929401277639112397219598284969856202454736942425666026861450457181975900953050338343321777309745257768132653525928950961464600635976653240765133016358793420372450520530229714759921641207937792334435184841415592093657851137519776931392082894124501313928183042630802091362078066930152958070065738451484249867494217964728959937704571816355831386089894680182050323109341650267958480375020834099623400623773540604838565383567055077591942567233523517404629160084235823844200713531884350559052586808960576292936139928628529799827823484980605737288505969266850293126444866260474372066758180167784319963320833423355380463812591603587302162335048967774285568100366906436467106972867603155233524773274098395765459276098737350494620764938632630472974176047633998242818587020333918680293179208706427793156324790829282842890071343750398376442080151995890975651391799148243900900028393282836997506330470600081770589639618254428131198844106366500642734272986000518831944666438428202817644673383248917608989858809432748004177724068702737915419508217128297801230310329398256576003744063581880839201885905647508541771245485573852077406326466621671348398077670606052757256350517715467846140676227349507471185063676310123298394323370673569939928147775887476536036015198699231084594681329370723912811195586550652795072345562773697190508254108835201568460829691549510477572546773444612119063969335171088084489791707557408746008948118446029149115310602066652497211498624067000085267270083027638951053961738488408890922569154554571419932767723141085842529702663664361810335915897637850151027695343318739568409576732465960295100473864988082280754940775819590845570190235146250776640253829971216621073139392926288682112002 19979262817544268055507816999663478664157426479942733267790493041314142650905490531263491190663066428121462482418538113457269335857747335025435613447435424478803720476267863649063548515639026055786406139361042104757445587464702232719399223306286978544288340725038992872710942423694892391976415799232264074980834058413462434781001776202046576765389358638965540718129424675664684760328330856257336761536753918498847509793544002709299986751252994993955402686868816203653642700891850484117018098389207571999945401661428161060112696884060279637976981659688495559474434637213317753723725844890118113974893260147190841095489200864662194309082200964579914847027680043815134261015665752218884920948261606864401495288074390001159282130543641672706016918461214290485837558191367740577687547334196268431631571121264203522326183536390925382412304929254364521969226013977114043372098250402076049694190629489719458210894962159415089056211425674686022194344664166510530977433005621275596365791677943968767698369748373102035481688502067664977516530988721144967146784588374160518602127438689804621696365211458468749712339451535067063343928567144924223133176953725825883201749513408857196165909525303589643706352847667331801663468803844572460458820148234309426665095151595893296877528430874308019007484066922401646220286152379187321130946595732998494588860511939775979041626008635829575352580760437759815591946182198320772987586311014188181907251061274705778672879857474789598074039462330904181593708958944348151460609410085832568529744321457008288778422185262111316316735390695234530150273985720267317779139405713912711547388533370937215172693514740071105280884495105547209315027164607008003053516807920465658935567796205138908450747027704124044174157568991183823491165760576175696716921172352701804490473576299190081938945021840575152336351611895870978046740728020066550043124863376385277308594518714140961346610906537222067519323575521673647428492681090053431995439613506605499109197980641194787575423755721001586672507529028302785232490481739370375985349777660312150072523370934798422309033260026285203108680525100667063922064884469263340154975209488082336837197870882430373480153307733362635078986691570315316872096084228516314159499238165189396204635021437017749685101649456969551092397619192692273093223636556151556401243648756875489914954368423336562326368076488879089603850023000930032160543529848716835553207802439024349464484983285782674491761699379768106786277041126158500416522259858417361764960256992557005029205221452802011178833229276965623071552530525787024346511578063043923972058084143713909142293472916341143392884458046649355917372324387105032834533771107053593521690933396917144829884930018324610585549011631353958905795008318161948411121885085024260443751384109129282880568480636539979600096715128360672987674537986033696570728038730697942843948019901087609955287841931281580136789780902743599598458333299822516794910352169331206594021549157972868907800435381363995003381342522909215585026979060260821861796365254993011952018947193220148909373354078569928414681555194681968918005448527595307428453850183133989400640191323022283298145215344296145901776877442317017122097055330701129883021304546964363516388844043921175120947950695341582747631678812901688795024528759838014280601781424601984118765405269708251837661615467892314558090102053565710792074994165433224798759001993008515992234610123041268530984015348949109947097921075904052558202229412729452115900925903990251317423585013808434593957429159913613901117058810027533358775490591941913456488043752970305454610947614754146380498468568449678331971356620000881671008004061509307258787923779349591515806918373706501067656863011452807574305773945019182550034374728702598012873233697845338509585949540188190773174191878586704909780662761271406028098161510610359087646045931981698844943403304247964905108714401 32327126308953614666196223264696464539063941502568865461454794512743300935046022766908091617119933680817615372597468104565141707089551051698064100931249187546756631617090719455330510361830470943588835291021216044810671823697770282126783652202904840350457879902828785069722780982740856754769805454539485482781209661074095324093628132357912270726657868844635056940603262740110322252913313690016549616364491462333899595985098294412510722874700218767356914022619099961452943705181197699305625778091966435648527085862462208876386149908886556542362310474034411502650423452782418943434970586326074925480263166501831039835272534216107000237926486690440960735181988546667608300401134117317450176086827213746465655865408810199237200526852957479858030968261982169510487500264128700285442159243344734954436445231653744660226418640133227588813365620279235007256767755639986741999380839427168394072330346146205255483134994826746714439684052356028714043060496032405763167001685270240490403082431509468804634401766268172106345096438289543986090369382587545021875580234689690109266145298022878390075937165745287728523037605680541432095450055930824742935696512204878583118334251147519709264664279224043800764347654522871791738616351376972539225977029231886545450395723920362136751002768978101798407941976992618136505857293024259249487742227522917089821990638786139746722238480622903331263946673273151217586937000698147484097886149110147275223716726111208484591481753854901876158811725731473893945846632579609159947043599687081530853168111681822443832027479249349114407367835867915492641900103625303788929380826516535962350689062547877707168045222172954498373274726003943117490639292476457651393099492369772674255164722728915447875504653736659748645881520202517368551841690333288815226000486695492946680679934972736688701166079088251891510832355454734329133543775802375567421077581563351904209001535839674617909195356923442809563346613709615873111731545269219221265414470905260153345032018244136398854780828370814867546238297605641880563653129962767703044691912000000671414264345522792635280242607555682247749380891476840158671535674660558647960645650606830256068892255741376043231660077662763912718099088789913601841952286683253256585165265026639853386610922390068088028423426766714808860530272718621224054688237192128209642008781773234283335326818943866792041127998130087027396184458185771447752637187699854355330139194521918473965798911468825305293853061457835036939235111191896951900772127352635326493920194697128821385036607542696691360883552386307273339511010900807858446134978686817464576896649527280964219885415483574666910289087206733591741216525100636917185092823693862554097983869536845773359684757841809591191286300137323225756088134763028208885493951843204428228071347429962706235948944449131583187398877463409640761960106086400603007195145703565545999181544674361708351053301207380317487284401667682232228931307475870150793153170756351540512701842337181575335593591706154824286224232594252965983403421140412817752772016646792160195919847221613431746370860409040528496452144834300223346136647371701673929096584456119989919472135989460711500962860017679394819385867301126449870101233054769832620936724055181491814190074354250573377523954439405164628470880698807336303566300005323588132679187751068605790113803347378857890418871818410030025936242729793060299546179229109534922057396316379189562174538270817156007520051364147809178182515757233423282115040608316002768695998249553025014614093267917269795525889989605163411594631356800977970894554561277084544572533544677862863356956562872592409647583879051744984468568118624948671093271331592334897738977741088079924697840942861055639076795779175948660148303647682846911844710644600235863024261393188657249154359116920656733469292352451692992061417702047225618943731700845505338422686185811670061564476443640891193790826403 52306389126497882721704040264359943203221367982511598729245287554057443585951513298171582807783000108939077855016006218022411042947298386723499714378684612025560352093358583104394058877469496999375241430382258149568117411162472514846182875509191818894746220627867777942433723406435749146746221253771749557762043719487557758874629908559958847492047227483600597658732687415775007013241644546273886377901245380832747105778642297121810709625953213761312316709487916165106586406073048183422643876481174007648472487523890369936498846792946836180339292133722907062124858089995736697158696431216193039455156426649021880930761735080769194547008687655020875582209668590482742561416799869536335097035088820610867151153483200200396482657396599152564047886723196459996325058455496440863129706577541003386068016352917948182552602176524152971225670549533599529225993769617100785371479089829244443766520975635924713694029956986161803495895478030714736237405160198916294144434690891516086768874109453437572332771514641274141826784940357208963606900371308689989022364823063850627868272736712683011772302377203756478235377057215608495439378623075748966068873465930704466320083764556376905430573804527633444470700502190203593402085155221544999684797177466195972115490875516255433628531199852409817415426043915019782726143445403446570618688823255915584410851150725915725763864489258732906616527433710911033178883182896468257085472460124335457130967787385914263264361611329691474232851188062378075539555591523957311407653009772914099382912433138830732610449664511460430724103226563150022792174089345571106708520232230448673898077595918814922340738736913025603654159221109490326805666457083465654446616300290238333190732518934054356326251681440783792820039089193701192043007450909464511942921659048194751171153511271926770640111100928827043847183967350605307180284503822442117464202444939737181517596054553815579255806263460664877082670189231289520540224226359272653260854084411865652454229998885331186430204584091816454218745826633944665796143611702138079030041689660312821486787716457591057589275867581967450858061416577507222593600559129821988115620860094912592906090126623806416711813385396126547797085780360228918714048370911769570744664503191829249591245943827085837713525076223684359952927891911313497147911873748279766043252430530109773250281187367203354367496074618966117000034481186701479913180717548571190883346996960942823430283894754607979785614760837603143725512152318055452317294387211052688258880451689685826414241828995498702539716781663272896411063541426594882792646556749861388548954733670994873362178888399915810303173545253382947658588849487741950019626594800916147619674802933762918189569687860134201776835311768677184661883143081190157296615836928228688671822731539091989116517425085671562787495592591770313749634644072434299577923184434263488843129564575449318306341143138661897624074182570425831827389640775692667588063522925682747106723391495154444243394027087518819289605575117162181568430400200673639614568381901785172147938794414833580655744214487610456911133700028982192264142095899296981357550434639253979320112327312482994799108075361975540721162744743443466992198288385470962503958028602145855330578918398171748498471905134746747376102559511709025098590828765161602413280969175670589908879208617087109728080487286302344584026344783358771091621173394542759720816398309387705554409148393858424538504066713096919125280436833137475840317270021045454884596924153543276332037678281725704389483319149518777312711690166828511329670045153218998001060577297648168317967904177626738790146052447501423316439924738625830342101275393101642156526901520437671440504759316567556706733658790628756234454077592702029461879085373302833875897495091033995758740308657108847506643484231038397901842080463318631647041893211455864426068732117793368906507879747888856098899540804 84633515435451497387900263529056407742285309485080464190700082066800744520997536065079674424902933789756693227613474322587552750036849438421563815309933799572316983710449302559724569239299967942964076721403474194378789234860242796972966527712096659245204100530696563012156504389176605901516026708311235040543253380561653082968258040917871118218705096328235654599335950155885329266154958236290435994265736843166646701763740591534321432500653432528669230732107016126559530111254245882728269654573140443296999573386352578812884996701833392722701602607757318564775281542778155640593667017542267964935419593150852920766034269296876194784935174345461836317391657137150350861817933986853785273121916034357332807018892010399633683184249556632422078854985178629506812558719625141148571865820885738340504461584571692842779020816657380560039036169812834536482761525257087527370859929256412837838851321782129969177164951812908517935579530386743450280465656231322057311436376161756577171956540962906376967173280909446248171881378646752949697269753896235010897945057753540737134418034735561401848239542949044206758414662896149927534828679006573709004569978135583049438418015703896614695238083751677245235048156713075385140701506598517538910774206698082517565886599436617570379533968830511615823368020907637919232000738427705820106431050778832674232841789512055472486102969881636237880474106984062250765820183594615741183358609234482732354684513497122747855843365184593350391662913793851969485402224103566471354696609459995630236080544820653176442477143760809545131471062431065515434074192970874895637901058746984636248766658466692629508783959085980102027433947113433444296305749559923305839715792660011007445897241662969804201756335177443541465920609396218560594849141242753327168922145743687697851833446244663459341277180017078935358016322805339636313828279624817684885280026503089085726597590393490197165001620384107686646016802940905393651955771628491874526268555317125805799262017129467585284985412462631321764984124239586546359796741664905782074733601660313492901052061980383692869518475137649698607442308054347381265136233790380636076266510701742848974982382365182459943473463058890460515184869150142520556000657595022827329829768218469102977856866217153925741948502990399168813458164629934721202600110940407975685261212303344056585608006311070146408624072749053144396218939372472927665817905248425546213486191482861297396082806223433285079467822295438180664747263509952404218066514563688014752800646386814647799278436538195393900600334049580169750574552327402741238781535436678853125851383198275837582064303883490477213462632460116539399805374588378867204719418494778701717658672470608691549254445701943792968121611906000410417971277844218366182109788771433116899894078969054695352466369534803145974894470055179954511594750158834902585118330137829034842311109249811026657394444346042215111358584238108064056320948251562818381216693682034287619425233832336019578987618793673643575829807711415147551833821341086457367340398548577332343858641636447012402115074896650985407585844863282415610278743270998655286647019095373969239584463301943706300070935379654935540548612044569916862299521440240795124894752657327347144768992752422321875995859574151912004573440210516361402157128770485190545960156926739195698993011964465967618499359104712374609962587513151831391167352623652294642873794625766895116583686664675580546024118077244728303462952590370899122432310629361457653292922403096301346651771549642974185009209139123940724306321523629489300564599714496082545633110842326031181324860740499331199793636326553168300908492857250779013194546724693977054265879261525751365202600259428612345810454569804704894602381240384876373723796017903069738921756484222653007894667774029504240112776583490090893903498165365857265985624912301369764491418303605038968072356191529747292690367207 136939904561949380109604303793416350945506677467592062919945369620858188106949049363251257232685933898695771082629480540609963792984147825145063529688618411597877335803807885664118628116769464942339318151785732343946906646022715311819149403221288478139950321158564340954590227795612355048262247962082984598305297100049210841842887949477829965710752323811836252258068637571660336279396602782564322372166982223999393807542382888656132142126606646289981547441594932291666116517327294066150913531054314450945472060910242948749383843494780228903040894741480225626900139632773892337752363448758461004390576019799874801696796004377645389331943862000482711899601325727633093423234733856390120370157004854968199958172375210600030165841646155784986126741708375089503137617175121582011701572398426741726572477937489641025331622993181533531264706719346434065708755294874188312742339019085657281605372297418054682871194908799070321431475008417458186517870816430238351455871067053272663940830650416343949299944795550720389998666319003961913304170125204924999920309880817391365002690771448244413620541920152800684993791720111758422974207302082322675073443444066287515758501780260273520125811888279310689705748658903278978542786661820062538595571384164278489681377474952873004008065168682921433238794064822657701958144183831152390725119874034748258643692940237971198249967459140369144497001540694973283944703366491083998268831069358818189485652300883037011120204976514284824624514101856230045024957815627523782762349619232909729618992977959483909052926808272269975855574288994215538226248282316446002346421290977433310146844254385507551849522695999005705681593168222923771101972206643388960286332092950249340636629760597024160528008016618227334285959698589919752637856592152217839111843804791882449022986957516590229981388280945905979205200290155944943494112783447259802349482471442826267244193644947305776420807883844772563728686992172194914192179997987764527787122639728991458253492016014798771715189996554447775983729950873531212155940353367043861104775291320626314387839778437974750458794342719617149465503724631854603858736792920202624191887370796655441881072508988988876655286848455017008312270649510371439270049028506792398074494271410298352569102810044239763455473579214083528766386056541248218350511984688687741728513642833453829835889193678273500776120147368019261396253420559174407578998622796996737096833188443804120826366700978041264865082583133041324390259415828007856535360901774740703011681098076500474213520265533694096440317115712853066161638093753997624031428092186540241674806116869270710944243192283406287516636177713499487058394224076120817224346013295694849337333475404371609738824133562077994744956923674677595079854420925408523478725625699661805571716810508146684468983794620474708762390062646950268261229394231269202163041514572092523685440673825260344963735587484704112735432766808533895883710589027255485969280216607717034726148625327490463822381645881192462865435382828577329120264221541760096981908780450362504491797436051280593057859289384261442318719544892264607874420839170295636644197453734627948559696790614426701099179010741630476261711356788013383854497809825711757628852781259473202475347911150594070374467764708898659380675999722225386500747957535646792959241126102409785607872220581553077346579846391014719193988932296510602482788526018195054363690192935154600670992835058534005084528184790341647428743389423508374962749580650406912537889846556639577678689449831368678574492528288642718037018011690458000630234644867715080546693688139974199499292764918126069989939688774054591617348417595876609355295822117795619210792780781963422805707359575996169052544113360433461129056458833086905835602881391205903614819251575256648766634976431138351746756260814528488795745578628684488913027518123757234190560150421398407874580235939418603391589908011 221573419997400877497504567322472758687791986952672527110645451687658932627946585428330931657588867688452464310242954863197516543020997263566627344998552211170194319514257188223843197356069432885303394873189206538325695880882958108792115930933385137385154421689260903966746732184788960949778274670394219638848550480610863924811145990395701083929457420140071906857404587727545665545551561018854758366432719067166040509306123480190453574627260078818650778173701948418225646628581539948879183185627454894242471634296595527562268840196613621625742497349237544191675421175552047978346030466300728969325995612950727722462830273674521584116879036345944548216992982864783444285052667843243905643278920889325532765191267220999663849025895712417408205596693553719009950175894746723160273438219312480067076939522061333868110643809838914091303742889159268602191516820131275840113198948342070119444223619200184652048359860611978839367054538804201636798336472661560408767307443215029241112787191379250326267118076460166638170547697650714863001439879101160010818254938570932102137108806183805815468781463101844891752206383007908350509035981088896384078013422201870565196919795964170134821049972030987934940796815616354363683488168418580077506345590862361007247264074389490574387599137513433049062162085730295621190144922258858210831550924813580932876534729750026670736070429022005382377475647679035534710523550085699739452189678593300921840336814380159758976048341698878175016177015650082014510360039731090254117046228692905359855073522780137085495403952033079520987045351425281053660322475287320897984322349724417946395610912852200181358306655084985807709027115336357215398277956203312266126047885610260348082527002259993964729764351795670875751880307986138313232705733394971166280765950535570146874820403761253689322665460962984914563216612961284579807941063072077487234762497945915352970791235340795973585809504228880250374703795113100307844135769616256402313391195046117264052754033144266357000175409017079097748714075113117758515737095031949643179508892980939807288891840418358443328312817857266848072946032686201985123873026710583260268153881498398290856054891354171336598760311513907468827455518660513959826049686101815225404324039628767455546959676261393689197422082204482697579844221171182939553112095629095717413774855136797886421497199989343647184744220117072405792472359931647335244816528045422283310319379926665418222449507201474549944550405428479505055006679337960260753427416338428717764481744463315122012798702071889490340917449762433235912212646081400365270209627623219094800657500067546548526307496166896764730098810173616026458199598664499684429065431790473551054992147874980301288078579264021787713078535580678005497825698769626889660835414471094922471610889477201379821450164155277854737284532702130222772824144390104104748159844709921558527751783075071371621130031830746327846791351046641959940031537278818304350496910289751322345573859159826483401369264674866106441265190539992476672098042882846554349249178998939836835656077687727605459974364280912427726305389755547023484699582441294291930844472830001917799281253916370407399249946121285411802259968832583300716797331265952552753747533916800549620116903903016392250463624283050571385249439932741747902905086306131983505201283029148981306865232546019044965079205495727093803951519809662433873955878641847349006563987560921495787576521723209585630552302867586375732206342013879274085181891279768370191182768959735879025341221381011652759501737427766658761324333214087489930799244582211163092326798982300230680617625658625401189733325100607759918256910453127388368490368842489596265058660043489174170909959835424781398354567930238166023658840073471782209326677409108973353741008059479301774529644205167855986869037398018579689649076794050346179013143036058603955051568725003446842652592130948350684280275218 358513324559350257607108871115889109633298664420264590030590821308517120734895634791582188890274801587148235392872435403807480336005145088711690874687170622768071655318065073887961825472838897827642713024974938882272602526905673420611265334154673615525104742847825244921336959980401315998040522632477204237153847580660074766654033939873531049640209743951908159115473225299206001824948163801419080738599701291165434316848506368846585716753866725108632325615296880709891763145908834015030096716681769345187943695206838476311652683691393850528783392090717769818575560808325940316098393915059189973716571632750602524159626278052166973448822898346427260116594308592416537708287401699634026013435925744293732723363642431599694014867541868202394332338401928808513087793069868305171975010617739221793649417459550974893442266803020447622568449608505702667900272115005464152855537967427727401049595916618239334919554769411049160798529547221659823316207289091798760223178510268301905053617841795594275567062872010887028169214016654676776305610004306085010738564819388323467139799577632050229089323383254645576745998103119666773483243283171219059151456866268158080955421576224443654946861860310298624646545474519633342226274830238642616101916975026639496928641549342363578395664306196354482300956150552953323148289106090010601556670798848329191520227669987997868986037888162374526874477188374008818655226916576783737721020747952119111325989115263196770096253318213162999640691117506312059535317855358614036879395847925815089474066500739620994548330760305349496842619640419496591886570757603766900330743640701851256542455167237707733207829351083991513390620283559280986500250162846701226412379978560509688719156762857018125257772368413898210037840006576058065870562325547189005392609755327452595897807361277843919304053741908890893768416903117229523302053846519337289584244969388741620214984880288101750006617388073652814103390787285295222036315767604020930100513834775108722306246049159065128715365405571526873732444025986648970671677448398993504284284184301566121676731618856333193787107160576883997538449757318056588982609819630785884460041252295053732737127400343160213254047159968924477139726168170885399096098714608607623478818311039065808116062486305633452652895661418566226346230277712431157903624080317783459142288497970251716257386393667617147960864367485091667188725780490821742823815150842419020407152568370469539048816208179515814809632988561520829445266095165968117288788318113169420776162842539815596226318967605583586781234565475286302073850739835397989301637719809759336475463616936817259470550688450303052246734987887115513516593822740620501653411445086168400392325623279351911026902712826099782458035459255355600577680119695035413139561040170756728043327699985348064290433958775752563499674595349080491034053538621373306911201359282014082213192456900331716584865619315450440582224117855175855823742126306073790319777126897468357071722484487316947223750910556058569306700573368569805792362264424606651331157959449302341327453513739008198517833653665173870045024934647811631359120421611589928575041926564629866358978044530797108498428956862915888063971325620596684571295141091664310382600315176273752095464815053610462624931388991949230765925439654967134403653043841778776464442409131558766914737453127572122311659051886741812997940452106173036356744404660042403370254180496076096458569356781743590715080487657928023160949731437387649047931471930175282729072615516375456704030671212380331333994265716409376798342344904545490561033889449926243639020487122274430179910390576751471179673013874662351535605328049003997723786190960285215475851440825452596976617319411420950450898681290671627152715298906558688044929558800314876968560259634735950541164620636306207733625298212547068485394655422734835092040661159815838145611719146401854717232828070366954075870183229 580086744556751135104613438438361868321090651372937117141236272996176053362842220219913120547863669275600699703115390267004996879026142352278318219685722833938265974832322262111805022828908330712946107898164145420598298407788631529403381265088058752910259164537086148888083692165190276947818797302871423876002398061270938691465179930269232133569667164091980065972877813026751667370499724820273839105032420358331474826154629849037039291381126803927283103788998829128117409774490373963909279902309224239430415329503434003873921523888007472154525889439955314010250981983877988294444424381359918943042567245701330246622456551726688557565701934692371808333587291457199981993340069542877931656714846633619265488554909652599357863893437580619802537935095482527523037968964615028332248448837051701860726356981612308761552910612859361713872192497664971270091788935136739992968736915769797520493819535818423986967914630023028000165584086025861460114543761753359168990485953483331146166405033174844601834180948471053666339761714305391639307049883407245021556819757959255569276908383815856044558104846356490468498204486127575123992279264260115443229470288470028646152341372188613789767911832341286559587342290135987705909762998657222693608262565889000504175905623731854152783263443709787531363118236283248944338434028348868812388221723661910124396762399738024539722108317184379909251952836053044353365750466662483477173210426545420033166325929643356529072301659912041174656868133156394074045677895089704290996442076618720449329140023519758080043734712338429017829664991844777645546893232891087798315065990426269202938066080089907914566136006168977321099647398895638201898528119050013492538427864170770036801683765117012089987536720209569085789720314562196379103268058942160171673375705863022742772627765039097608626719202871875808331633516078514103109994909591414776819007467334656973185776115628897723592426892302533064478094582398395529880451537220277332413905029821225986359000082303331485715540814588605971481158101099766729187414543430943147463793077282505928965623459274691637115419978434150845611395790004258574106482846341369144728195133793452023593182291697331549852807471482831945967181686831399358922148400710422848883142350667833263663022162567027141850317743623048923926074498883614097456736175946879176556063353107049602678883593656960795145608587602164072981198140422469078068631678887841303717471948297134957271265715380990364754183393990000334500272774503928378042215734451598138540644587003130718239117669677473077122152015237719537986063385916798354571847347432978431276121117004363807996858184617199816976833798060731539974793421405120186082476876876641951447317771154332212314981292090121570171113994836033606075505818464662302800396454641851650514938589462549444111884122931030418236959128051210713806877683011477411659361203991935640740944239975403088205995651146196768429015468901817815763773663584892094670274037187219679417296343647143430625120175230924675747965763908562282464460307307453205680407138448242178163109591426735803977808017946086297771330324403358654843820004052884220505886399394631784158259298447167515897678902984201299866231294453179985288092472357616863136347849093074301715581718956626854875395013274999802151174879587708882306558130147910759969643692160707748221602685673591167276738257382468906801891971915835470230700283301889752376818168056997592246145878504953176345632790525514398893156073451266923133113363209943652920255384476111335729371892593391984093496003144176035559666678118632980491833134032137406731347286104574660860528016235376872369406338975270111453862238502131386092276559802774811740910100868941771147527279246845731849253249220909793176374138980030470254256236209423850322301267694215252315694264841474063720494335610565648175043732216785181271053804195874442100663287871405301559885420201315304760150458447 938600069116101392711722309554250977954389315793201707171827094304693174097737855011495309438138470862748935095987825670812477215031287440990009094372893456706337630150387335999766848301747228540588820923139084302870900934694304950014646599242732368435363907384911393809420652145591592945859319935348628113156245641931013458119213870142763183209876908043888225088351038325957669195447888621692919843632121649496909143003136217883625008134993529035915429404295709838009172920399207978939376618990993584618359024710272480185574207579401322683309281530673083828826542792203928610542818296419108916759138878451932770782082829778855531014524833038799068450181600049616519701627471242511957670150772377912998211918552084199051878760979448822196870273497411336036125762034483333504223459454790923654375774441163283654995177415879809336440642106170673937992061050142204145824274883197524921543415452436663321887469399434077160964113633247521283430751050845157929213664463751633051220022874970438877401243820481940694508975730960068415612659887713330032295384577347579036416707961447906273647428229611136045244202589247241897475522547431334502380927154738186727107762948413057444714773692651585184233887764655621048136037828895865309710179540915640001104547173074217731178927749906142013664074386836202267486723134438879413944892522510239315916990069726022408708146205346754436126430024427053172020977383239267214894231174497539144492315044906553299168554978125204174297559250662706133580995750448318327875837924544535538803206524259379074592065472643778514672284632264274237433463990494854698645809631128120459480521247327615647773965357252968834490267682454919188398778281896714718950807842731279725520840527974030215245309088623467295827560321138254444973830384489349177065985461190475338670435126316941527930772944780766702100050419195743626412048756110752066403252436723398593400760995916999473599044280376185878581485369683690751916767304824298262514418864596334708665246131462396614430906220160132845213602127086415699859091991829936651748077261584072050642355078131024830902527139011034843149845547322315163089092665972155029188236386088505756330309692040491763106854631451756423106907855002284758018247115319030472361960661706899071779084648872660594503213405041615150272304776596045255360360256264662635698351851077301318936269987324577943106472955087255740169923920913290820892446829730260324124624516667604496320081923560506179563816382551521163945538869669896495331004052564767559316807429542946314465436637283056663903386580713005840059914125752196343873485067242737767751584733941181067467408873067502869223568785947847053491387244145740687735888321962810351839643394433684123341884004916221352629149454091389206653185938159697715939957494812608378558266289447897508402318081706782981736633723400291204840931221632850718570562563273949722954136696875734804790861270461647209011239586756993671587515789890965884990051164084688036489018828134460377848871085786983245054666337277132088256822571732059857011565097897544519490563105165744002495641671611260167816355259051170286202940425664474149080928325959261650517237342977964624396107859847117187930202620073776669859387613449281173518948164269348053811046534010237317500326402266949032917100319242676016710211173989689536434086101292266515136340138801163289588397309269210719799832424022008506587444687961932155747072348553073688704715235286696767060713278183442422054105804888654572181044835140118935649327999992486792433402563805772315427490268860585412358009023023178471052867023482063650370367773226849091040438406812128343549079352849932462989467566551135383816062750763060027216761541694394368124144598658266682300151930511581420329089437886589158299185795009738727290861527328951202856858885477780271454119633823112716660438387639520016363094465355690280246275007017807156277118248271682258836020641676 1518686813672852527816335747992612846275479967166138824313063367300869227460580075231408429986002140138349634799103215937817474094057429793268327314058616290644603604982709598111571871130655559253534928821303229723469199342482936479418027864330791121345623071921997542697504344310781869893678117238220051989158643703201952149584393800411995316779544072135868291061228851352709336565947613441966758948664542007828383969157766066920664299516120332963198533193294538966126582694889581942848656521300217824048774354213706484059495731467408794837835170970628397839077524776081916904987242677779027859801706124153263017404539381505544088580226767731170876783768891506816501694967540785389889326865619011532263700473461736798409742654417029441999408208592893863559163730999098361836471908291842625515102131422775592416548088028739171050312834603835645208083849985278944138793011798967322442037234988255087308855384029457105161129697719273382743545294812598517098204150417234964197386427908145283479235424768952994360848737445265460054919709771120575053852204335306834605693616345263762318205533075967626513742407075374817021467801811691449945610397443208215373260104320601671234482685524992871743821230054791608754045800827553088003318442106804640505280452796806071883962191193615929545027192623119451211825157162787748226333114246172149440313752469464046948430254522531134345378382860480097525386727849901750692067441601042959177658640974549909828240856638037245348954427383819100207626673645538022618872280001163255988132346547779137154635800184982207532501949624109051882980357223385942496960875621554389662418587327417523562340101363421946155589915081350557390297306400946728211489235706902049762322524293091042305232845808833036381617280635700450824077098443431509348739361167053498081443062891356039136557492147652642510431683935274257729522043665702166843222259904058055566586537111545897197191471172678718943059579952082086281797218842044575594928323894417560695024246213765728100146447034748738816694760228186182429046506535260879799211870338866577979607978537405716468017947117445185688761241337326573737195575512313524173916431519881957779923491983737823312959662102934588369074089541833684116940395516029453321245103012374732335442106811439687736353531148664664074198379275479659352817096432211541812254415204184350921615153580981538738252081542689419813151122061335759898961078508618101627842096464964739453591347638941496544317999776541521498445811644173824873373219787016365697857452016546077032704554306960529741025538595950725378045977511668994698445332414675716199027705850945544875464267057684702686200402584008578593466180665550860873818365198839452303286961165588016335656865297006342922800263448927422812728691756624360018740353949454460029073204878910446952514202204637813399973592851451501918647808904644328130229923767265885363695080936851137892996856921607843977440255055658811487351289453475857979660325201271907715906315171781603808473991261017907920802632101185694370721282879039513062691972236345786697653672696592479806473449689557346465587685583454528941046760429717358369586814725353893434675496641425132140293786762831318487796433914526956655147480085806898036655296013362422355526628252966864172375721415541948835068275198830384899016769304137600296403729793452974263357942824474754456865135566651679626601724395937843976818144971263821908123890516610071280950861113791649943406346068708956820947261878339921495314158198350062588569583384468598128162774456399164299520986272004761447917675701141811451544700157514201057101715059331423751900966423047505215918485691825202574443329805053266769908339310565834838957671642563336139271671877905112414149405179732491213505463576866619628553442031219162577613162795023166455172553150319254335174613969433678364835482119856305197634148269551564722346938294889212457837003668472997563596171100123 2457286882788953920528058057546863824229869282959340531484890461605562401558317930242903739424140611001098569895091041608629951309088717234258336408431509747350941235133096934111338719432402787794123749744442314026340100277177241429432674463573523489780986979306908936506924996456373462839537437173568680102314889345132965607703607670554758499989420980179756516149579889678667005761395502063659678792296663657325293112160902284804289307651113861999113962597590248804135755615288789921788033140291211408667133378923978964245069939046810117521144452501301481667904067568285845515530060974198136776560845002605195788186622211284399619594751600769969945233950491556433021396595012027901846997016391389445261912392013820997461621415396478264196278482090305199595289493033581695340695367746633549169477905863938876071543265444618980386753476710006319146075911035421148284617286682164847363580650440691750630742853428891182322093811352520904026976045863443675027417814880986597248606450783115722356636668589434935055357713176225528470532369658833905086147588912654413642110324306711668591852961305578762558986609664622058918943324359122784447991324597946402100367867269014728679197459217644456928055117819447229802181838656448953313028621647720280506384999969880289615141118943522071558691267009955653479311880297226627640278006768682388756230742539190069357138400727877888781504812884907150697407705233141017906961672775540498322150956019456463127409411616162449523251986634481806341207669395986340946748117925707791526935553072038516229227865657625986047174234256373326120413821213880797195606685252682510121899108574745139210114066720674914990080182763805476578696084682843442930440043549633329487843364821065072520478154897456503677444840956838705269050928827920858525805346628243973420113498017672980664488265092433409212531734354470001355934092421812918909625512340781454159987298107462896670790515453054904821641065321765777033713986146868873857442742759013895403689492345228124714577353254908871661908362355272598128905598527090816450959947600450650030250333615536741298920474256456220531911086884648888900284668178285679203104667905970463536253801675778315076066516734386344792180997396835968874958642631348483793607063674081631407221191460312348330856744553706279224470684052075704608177456688476204447952767055261652240551423568306116681358554497776675553321045982249050719853525338348361951966720981632343949911429562502002723881816159093042662391350513843721368704223839581133257174259446089023347169990944243586404928925176663731218105891637421191042318817481918453966779290584886725942931675930752205555423971369956425646957567909696601561554253520802262655126604560021700458998749301922564275429412903018812019381877694784057734680311444267068407631471168358344460916520286344596381710226574851793123488740126277178848800486330539835086649217633726872697787718192069491186451494642415805158938805243366823864650376365356595752395333999916064186322862346804891165857298438462826458978105450771572919703537334243331217144235801758223808969091361168606633404040842505699227249700855381832518667743051313155085192733984403096764689894622678435675726636534600733325006867699256179210174244177631770409337674786977101489876047817808897867985375518073060915726980478127289832837815894745240778494282963275917746453532875920890346401556819959852483405589659225754063870962865163144969655576349078346710467059346892399243001367683228576067495203033490181524218911384461084920596177020204936614948476540865346860275684724164989922597567180996264707472082832558272842941404829859633559467565044675135037432797371604402153724402061328894866174433184257730507395816476563379096449557110244072633834553014753208786852627826228901304904024322352117658029412035797034606628733603256791081495920507495825213997242734907255002593213301907019614114121916744679822432191741799 3975973696461806448344393805539476670505349250125479355797953828906431629018898005474312169410142751139448204694194257546447425403146147027526663722490126037995544840115806532222910590563058347047658678565745543749809299619660177908850702327904314611126610051228906479204429340767155332733215554411788732091473533048334917757288001470966753816768965052315624807210808741031376342327343115505626437740961205665153677081318668351724953607167234194962312495790884787770262338310178371864636689661591429232715907733137685448304565670514218912358979623471929879506981592344367762420517303651977164636362551126758458805591161592789943708174978368501140822017719383063249523091562552813291736323882010400977525612865475557795871364069813507706195686690683199063154453224032680057177167276038476174684580037286714468488091353473358151437066311313841964354159761020700092423410298481132169805617885428946837939598237458348287483223509071794286770521340676042192125621965298221561445992878691261005835872093358387929416206450621490988525452079429954480139999793247961248247803940651975430910058494381546389072729016739996875940411126170814234393601722041154617473627971589616399913680144742637328671876347874238838556227639484002041316347063754524921011665452766686361499103310137138001103718459633075104691137037460014375866611121014854538196544495008654116305568655250409023126883195745387248222794433083042768599029114376583457499809596994006372955650268254199694872206414018300906548834343041524363565620397926871047515067899619817653383863665842608193579676183880482378003394178437266739692567560874236899784317695902162662772454168084096861145670097845156033968993391083790171141929279256535379250165889114156114825711000706289540059062121592539156093128027271352367874544707795297471501556560909029019801045757240086051722963418289744259085456136087515085752847772244839509726573835219008793867981986625733623764700645273847863315511204988913449452371066653431456098713738558993852814723800289657610478603122583458780557952105062351696250171817939317228009858312152942457766938421373901406220672328221975462637480243690599203377021099425852421316177293659516138389026178837320933161255086938669652991899038147377937114852166686456363742663298271752036067210275702370943298669063327555363960994553120687746260207182259446003162166577149287655419610636040466095366472168043584810618814603846966463579808817446597083403502777201443499268199815935634564160837162158017546242077443626597498955031711462635100379874545251204116145954463772614456596151869149090185740764149896594170165806996435832270818395942988436908241624373953965004240423748575247462435372618719641714958413565725609716794655614598928907198229676351946234832110569451408417753420665393721528436704676047268791413430722490982409781683819426303295042136549030921506979030410097805720450344298570578010590784575113677335163891749698074616646290094696842681844310701566628503468301649171697667994796853607822799086659930539648520829699388329811085982395509570589117914797908498350703615442541050725953098991726425960228168296461285099190888254557776667048519868230625828228904983681385509754163523070449127689980154347785063077246829540190994192764864303039943965662251769233350846703053650716903445814743749782264890129241545688198215041852225787750672203318668442572569973003281215897696460223734630489575971994853381773216250606437462869996653873405415601356063948629561568497562809361231840244112788494768929683048758951476604100914469462812870108308193360425306801374142267338510465764573797891889696594842371252907138775386050736500337611876127176657668923632741371894729705132104826821066646667488354468491510598962289976563847340016591619828415406069857448063882517187117375284113201965186116288941803347572690469446331402627352130411631391004458819724940151596796232071951125585217677386028362841922 6433260579250760368872451863086340494735218533084819887282844290511994030577215935717215908834283362140546774589285299155077376712234864261785000130921635785346486075248903466334249309995461134841782428310187857776149399896837419338283376791477838100907597030535815415711354337223528795572752991585357412193788422393467883364991609141521512316758386032495381323360388630710043348088738617569286116533257869322478970193479570636529242914818348056961426458388475036574398093925467161786424722801882640641383041112061664412549635609561029029880124075973231361174885659912653607936047364626175301412923396129363654593777783804074343327769729969271110767251669874619682544488157564841193583320898401790422787525257489378793332985485209985970391965172773504262749742717066261752517862643785109723854057943150653344559634618917977131823819788023848283500235672056121240708027585163297017169198535869638588570341090887239469805317320424315190797497386539485867153039780179208158694599329474376728192508761947822864471564163797716516995984449088788385226147382160615661889914264958687099501911455687125151631715626404618934859354450529937018841593046639101019573995838858631128592877603960281785599931465693686068358409478140450994629375685402245201518050452736566651114244429080660072662409726643030758170448917757241003506889127783536926952775237547844185662707055978286911908388008630294398920202138316183786505990787152123955821960553013462836083059679870362144395458400652782712890042012437510704512368515852578839042003452691856169613091531500234179626850418136855704123807999651147536888174246126919409906216804476907801982568234804771776135750280608961510547689475766633614072369322806168708738009253935221187346189155603746043736506962549377861362178956099273226400350054423541444921670058926702000465534022332519460935495152644214260441390228509328004662473284585620963886561133326471690538772502078788528586341710595613640349225191135782323309813809412445351502403230904221977529301153544566482140511484938731378686857703589442512701131765539767878040108645768479199065858895630357626752583415106624351537764911868884882580125767331822884852431095335294453465092695571707277953436084335505621866857680778726420908459230360537995149884489732064384398067020256077222523139747379631068569172009809163950708159949314707655402718000717593772100969190538242770919793214025833861338668129185314825531775538428229427353414206763945501992081632094727606823228512671861267610781667466178632212205970908724123727044536195447702550883388949278187814257760786511376783082967378512624132586287020718996761327618919189113797048345323921429887381316484944063996926872240443977613540170285631417253654363900851471473659089254965046851492447146192475488100976837988596844336147215627135874347242777327006163394046001155088165625289157198685827830896428345555536993516204304883288572293305746826350343244340490421805228899940209505708961077931985099220696983171613732181119715954627690252517228978111347288677493780582658902099046904832449131942144300108927424411632411894559732395767268465927395546162140481023406922300827980203605060964610231325669673576008188189839249706983728423305161215484319256457003784368625963174201977826921067152127817051159744571039026234976506730470730260392179962079361582943455820346508751026589949772201318493460319404838035857548943629324289715330035865816246936361220262013811948343364340464762493755306949997244797073630304564265330425637007406153390767969355128496809037529417939353735455168469045149471791296739834519506730472045880724447969437783776082766772334853615781175472649308924548262071077357143433223624571306538011078797154063304831031870607048519400220636481174569606373037202258697683676965187421211439727401771231377221913323548432081175947260527827323134847955625628633739366074727533364898703251686065247501962357208460554583721 10409234275712566817216845668625817165240567783210299243080798119418425659596113941191528078244426113279994979283479556701524802115381011289311663853411761823342030915364709998557159900558519481889441106875933401525958699516497597247134079119382152712034207081764721894915783677990684128305968545997146144285261955441802801122279610612488266133527351084811006130571197371741419690416081733074912554274219074987632647274798238988254196521985582251923738954179359824344660432235645533651061412463474069874098948845199349860854201280075247942239103699445161240681867252257021370356564668278152466049285947256122113399368945396864287035944708337772251589269389257682932067579720117654485319644780412191400313138122964936589204349555023493676587651863456703325904195941098941809695029919823585898538637980437367813047725972391335283260886099337690247854395433076821333131437883644429186974816421298585426509939328345587757288540829496109477568018727215528059278661745477429720140592208165637734028380855306210793887770614419207505521436528518742865366147175408576910137718205610662530411969950068671540704444643144615810799765576700751253235194768680255637047623810448247528506557748702919114271807813567924906914637117624453035945722749156770122529715905503253012613347739217798073766128186276105862861585955217255379373500248798391465149319732556498301968275711228695935035271204375681647142996571399226555105019901528707413321770150007469209038709948124561839267664814671083619438876355479035068077988913779449886557071352311673822996955197342842373206526602017338082127202178088414276580741807001156309690534500379070464755022402888868637281420378454117544516682866850423785214298602062704087988175143049377302171900156310035583795569084141917017455306983370625594274894762218838916423226619835731020266579779572605512658458570933958519526846364596843090415321056830460473613134968545480484406754488704522152351042355869461503664736396124695772762184876065876807601116969463215830344024953834224092619114607522190159244809808651794208951303583479085106049966957921421656832797317004259032973255743328599814175245155559484085957146866757675306168608388994810591854118874409028211114691171274175274858756718926104358023311397046994358892547788003816420465277295958448165821808810707186432530166562929851696968367131574153658564884577866881427520579826578708866286265382069418671957482733032281289111584355874826510756916983965389001260281448030362170984065674829878813852859111092776131167237682371359224106919081446651818696837852721892644410409629935601562523847117275106794298393283456551267579723561907626022038672719277886434127805065060191526432299490960085692571953736011241134048309978499780378671888765606911281683603016597600893241521642231710125281040823262895927287777965268309415945077865427458383207761838188120192806861306526151275987337814774882893879356868419424161514234994038565038451518994637052187553271779498613602688998632343311400175916569562450489339177159517759868118376882110393744884494556475421567046740052798459631039854173462620512831387493694426155563842623425580214295176858604647252124929195236059554574657257393697944002772777432856113285315563269382333703833324559620155939066280866865032814379586284510591274092676951879952545214480042657070091320907271141670862198734538777262153090869761066030292408119251755245403853058920204906007860669628709577470868451274818340018213870178095111370898626806365571193113925497170669749795900922320451018114079973413138443887402166605563476662405574778592670882101858017196236619678616337666032626147335673911110239666517675810261185051724919740000989884805118354276438642837899863800730793185500362117647481690197200328514586197992865617664767541125029069938398557102685884433342408029612490235428748637729974158725762200086037260024743824894452473516495499483758016373087180034594488917425643 16842494854963327186089297531712157659975786316295119130363642409930419690173329876908743987078709475420541753872764855856602178827615875551096663984333397608688516990613613464891409210553980616731223535186121259302108099413335016585417455910859990812941804112300537310627138015214212923878721537582503556479050377835270684487271219754009778450285737117306387453931586002451463038504820350644198670807476944310111617468277809624783439436803930308885165412567834860919058526161112695437486135265356710515481989957261014273403836889636276972119227775418392601856752912169674978292612032904327767462209343385485767993146729200938630363714438307043362356521059132302614612067877682495678902965678813981823100663380454315382537335040233479646979617036230207588653938658165203562212892563608695622392695923588021157607360591309312415084705887361538531354631105132942573839465468807726204144014957168224015080280419232827227093858149920424668365516113755013926431701525656637878835191537640014462220889617254033658359334778216924022517420977607531250592294557569192572027632470569349629913881405755796692336160269549234745659120027230688272076787815319356656621619649306878657099435352663200899871739279261610975273046595764904030575098434559015324047766358239819663727592168298458146428537912919136621032034872974496382880389376581928392102094970104342487630982767206982846943659213005976046063198709715410341611010688680831369143730703020932045121769627994923983663123215323866332328918367916545772590357429632028725599074805003529992610046728843076552833377020154193786251010177739561813468916053128075719596751304855978266737590637693640413417170659063079055064372342617057399286667924868872796726184396984598489518089311913781627532076046691294878817485939469898820675244816642380361344896678762433020732113801905124973593953723578172779968236593106171095077794341416081437499696101871952174945526990783310680937384066465075144013961587260478096071998685478322159103520200367437807873326107378790574759626092460921537931667512241236721652435349018852984090075603689900855898656212634616659725839158435224165713010067428368968537272634089498191021039484330105045319211569980735489068127255609680896725614399704830778931770627407532354042432277735880804863344316214525388344948558086817501099338572739015647676527080888861313967602578584475199621549017116951637206058596095252533296150862217596114643359894303055938110331190729334503252363080125089777807294187501740081463640778558954763379443653280083347833963617642099521247721241671170832224667390722112939306930084653619418430979570477270264341051180826815135835721064601807864015186381545135590429226363200529670185493906296872551301964342400631850145547854861876328535095463743793368729622619069698722125376970478523063162125208045636422108471911428613471373387127345318878634692202954496831524331330979187777167929161725170987864578238379055460256747894577261693262232857430598701909695615514925132357036285517078179591694388495871215407054375890976403786593603380254016178682197098568558464265805874515072563783260962892082959388785566061237702099159432627455729990159846290880244330833401886133842022484416584536590476778753701590160837108928246119113268258693786099966507403335670335845131703186856459275685210303049250053400268854085126682545243289803852102863071079559490611812957287612794347482383209920236043726485875645938691130465086766683382554334940588866677848624051162644823418489762501095386803307075711218987469208470222175973305341520341018645131450724250383967621936377523926708665559340785635470409923418440683445093282298851282910493976273181811078347028238341978847745180848978660954794098016532232724696001090417836809689155804365902819923465224801994257359609996830087655664719629942936038667509924584990501986048897048041662888658483190969180006881394202735444081620589142391802949472009364 27251729130675894003306143200337974825216354099505418373444440529348845349769443818100272065323135588700536733156244412558126980942996886840408327837745159432030547905978323463448569111112500098620664642062054660828066798929832613832551535030242143524976011194065259205542921693204897052184690083579649700764312333277073485609550830366498044583813088202117393584502783374192882728920902083719111225081696019297744264743076048613037635958789512560808904366747194685263718958396758229088547547728830780389580938802460364134258038169711524914358331474863553842538620164426696348649176701182480233511495290641607881392515674597802917399659146644815613945790448389985546679647597800150164222610459226173223413801503419251971741684595256973323567268899686910914558134599264145371907922483432281520931333904025388970655086563700647698345591986699228779209026538209763906970903352452155391118831378466809441590219747578414984382398979416534145933534840970541985710363271134067598975783745805652196249270472560244452247105392636131528038857506126274115958441732977769482165350676180012160325851355824468233040604912693850556458885603931439525311982583999612293669243459755126185605993101366120014143547092829535882187683713389357066520821183715785446577482263743072676340939907516256220194666099195242483893620828191751762253889625380319857251414702660840789599258478435678781978930417381657693206195281114636896716030590209538782465500853028401254160479576119485822930788029994949951767794723395580840668346343411478612156146157315203815607001926185918926039903622171531868378212355827976090049657860129232029287285805235048731492613040582509050698591037517196599581055209467481184500966526931576884714359540033975791689989468223817211327645130833211896272792922840524414950139578861219277768123298598164040998693581477730486252412294512131299495082957703014185493115398246541911112831070417432659352281479487832833288426422334536647678697983385173868834183561544198966704637169830653638217351061213014667378740699983111697176477320893030930603738932497938090140042561611322512731453529638875692699094901763823979888255222987853054494419500847173497189647873324915637173330444389763700182818426883856171584371118630935136955082024454526712934980065739697225328621612172973554166757368794003933629505135668867344644894212463014972532487156451356627142128843695660503492323978164671205253633595249877403754944250177882448867248174694723504512644528155451948791359862331618895316499889651730894546681335651442571940882699088751339944559094393063476635077020657714501830777201928726212729372853933821531920774742734441157874393783879694298142991446605327116861525854160615362757447642308113685350274320900412228817436620468787610218698480341394261971144261301408847406417793741418990449903173313945838053549776856071854581148965533439071441553509480648107511669145754070671047286030144595149378813232417620498708266889214313880815504636929212304598694247858236532532952855079528668930871548013631083525431258001370148671088159855675583225422249897028189504119979337135585395170754657318238523231408991641451997276018037274707854919355082350434818988090795584077844795261849440649875792342023083923864670433487866275052334539560651132780886989620180927119224380138736411820899690345706320144721176125226797544743977828581114255953940840625520904221076539368039751335442130125142051587155504355516161998916361585023400768205118683978048747250857528216016532415259671765136599207998031670005583288443635314417192743686946582121793856299028976638504038235541122945285237957123301503036070754114594555332948816527093171679027998101551079336913043460333124183823686878524755524891202032594842343482780615037138203742002358768437588232765927023327298008553932773540098062037972548528902938673222720476144774659248127700148683227015863632480397889702219202097993676322426397438389435007 44094223985639221189395440732050132485192140415800537503808082939279265039942773695009016052401845064121078487029009268414729159770612762391504991822078557040719064896591936928339978321666480715351888177248175920130174898343167630417968990941102134337917815306365796516170059708419109976063411621162153257243362711112344170096822050120507823034098825319423781038434369376644345767425722434363309895889172963607855882211353858237821075395593442869694069779315029546182777484557870924526033682994187490905062928759721378407661875059347801886477559250281946444395373076596371326941788734086808000973704634027093649385662403798741547763373584951858976302311507522288161291715475482645843125576138040155046514464883873567354279019635490452970546885935917118503212073257429348934120815047040977143324029827613410128262447155009960113430297874060767310563657643342706480810368821259881595262846335635033456670500166811242211476257129336958814299050954725555912142064796790705477810975283445666658470160089814278110606440170853055550556278483733805366550736290546962054192983146749361790239732761580264925376765182243085302118005631162127797388770399318968950290863109062004842705428454029320914015286372091146857460730309154261097095919618274800770625248621982892340068532075814714366623204012114379104925655701166248145134279001962248249353509672765183277230241245642661628922589630387633739269393990830047238327041278890370151609231556049333299282249204114409806593911245318816284096713091312126613258703773043507337755220962318733808217048655028995478873280642325725654629222533567537903518573913257307748884037110091026998230203678276149464115761696580275654645427552084538583787634451800449681440543937018574281208078780137598838859721177524506775090278862310423235625384395503599639113019977360597061730807383382855459846366018090304079463319550809185280570909739662623348612527172289384834297808470271143514225810488799611791692659570645651964906182247022521125808157370198091446090677168591805242138366792444033235108144833134267652256174281516791074230118165301223368630109742273492352424934060199048145601265290416222023031692134936671688210687357655020682492542014370499189250945682493537068309985518335765915886852651862059066977412343475578030191965928387498942511705926880821434728843708407882992321421293351876286500089735035831826763677860812612140698382574259923738549784457467473518398304144480938386977579365424058007765007608280541726598654049833358976780140668210685657926124988931525919774846316730850861192280336064234308859744411379827441137707286582345631160352424411091796261825923561256293710114848481502162158177828150462707290752217361145032942941548604986236652238663301044078962984475330663938753793944085187630700766880371107569531794764219942053612028381359582260162021688284685325954536092878757950076245712435144939036000476733258448215215191869766137243391470796675958965014783791575574077737494359811006508389863373161664889989140596606848522565936509502298932485633892346552457681763235929599404104446995596747968385785211650657958954015620210321482620194557702689699375177469902163584909514928641315063318924197470211686817746266025186466269120776785514025507542416112394165602798254437232747394392955851262964356083325592871096584900648755570198121444979311924227289221118384966358817011920185011516034033826980834098817825340045378095313641380001454853129381448351706783322540059272844726595874908690860839950905022172860523402515073742888993052496913857490390498085207287600766925307023279360606125974613065049653950797297908936973445994172555278000426231115378376082173004271283362157683941281802311971929004535857185710318989218564827567039483871032873947892897806724671257511697990729017584657618550762861195762781667915484567570448597807710978130823556296169363037341710206832812487279283904954646179614265464818200387861444371 71345953116315115192701583932388107310408494515305955877252523468628110389712217513109288117724980652821615220185253680972856140713609649231913319659823716472749612802570260391788547432778980813972552819310230580958241697273000244250520525971344277862893826500431055721712981401624007028248101704741802958007675044389417655706372880487005867617911913521541174622937152750837228496346624518082421120970868982905600146954429906850858711354382955430502974146062224231446496442954629153614581230723018271294643867562181742541919913229059326800835890725145500286933993241023067675590965435269288234485199924668701530778178078396544465163032731596674590248101955912273707971363073282796007348186597266328269928266387292819326020704230747426294114154835604029417770207856693494306028737530473258664255363731638799098917533718710607811775889860759996089772684181552470387781272173712036986381677714101842898260719914389657195858656108753492960232585795696097897852428067924773076786759029251318854719430562374522562853545563489187078595135989860079482509178023524731536358333822929373950565584117404733158417370094936935858576891235093567322700752983318581243960106568817131028311421555395440928158833464920682739648414022543618163616740801990586217202730885725965016409471983330970586817870111309621588819276529357999907388168627342568106604924375426024066829499724078340410901520047769291432475589271944684135043071869099908934074732409077734553442728780233895629524699275313766235864507814707707453927050116454985949911367119633937623824050581214914404913184264497257523007434889395513993568231773386539778171322915326075729722816718858658514814352734097472254226482761552019768288600978732026566154903477052550072898068248361416050187366308357718671363071785150947650575523974364818916881143275958761102729500964860585946098778312602435378958402508512199466064025137909165259725358242706817493650089949758976347514236911134148439371357554030825833740365808566720092512794540028745084308028229804819909517107492427144932284622154027298582859913214014729164370160726912545881361563271912368045124028961962872125489520513404075077526111635783845185400335230979936319665872458760262889433764109377393239894356636966701052841934676316585779912392409215275255520587540560472496678463295674825368358348844076750336966315505814891259032576891487188453905806704508272644190706552424594943803418052717350922153248394658820835844827540118781512277652136435993675390013912164977872096640557862416552472806324582968491715729015819602201136839430457297785494821432037541942968484488511071843889725278344913328182600666295697451584508632361196460301169274755789824152278071521760395700389190913099922002512984201456307780421095799451548972492424426581892671911141672516416938212557961361044061931554673528098215571465140757180535685058412197021517799221915793046547669622487329119262501222014361286622204703214296457673281673005889454893242131289023311107084111231398197422941995676135517453437484523133382457916891893716701128769923091605182629526696892624937472505764548786243354124770277528560005851603549344141696651195507176871439828870010991749882307014993054289531613008115465836342061462799869437890177975903978669217937337815088365528281382576032190083580463464329282917484590994461890342842621104538721772033198946966080614770952760810532420255110366348873850153267470170520146900796884356971015128297809936730184090745177956822775343125766219076856483320281844625660001723071774558998635785357492804807690828894234182888719163322308337244630012848606172599236035255032238476482064926669872555759179931905469253852032269384913237020854325262645096112828222735710465843880420597422409382966651647911086096639809083439695099930756656040911955627104695634735860843705888033096473387271030431454275598215544297063186024937222696444967677173607173848277607941787244597826250879378 115440177101954336382097024664438239795600634931106493381060606407907375429654991208118304170126825716942693707214262949387585300484222411623418311481902273513468677699162197320128525754445461529324440996558406501088416595616167874668489516912446412200811641806796852237883041110043117004311513325903956215251037755501761825803194930607513690652010738840964955661371522127481574263772346952445731016860041946513456029165783765088679786749976398300197043925377253777629273927512500078140614913717205762199706796321903120949581788288407128687313449975427446731329366317619439002532754169356096235458904558695795180163840482195286012926406316548533566550413463434561869263078548765441850473762735306483316442731271166386680299723866237879264661040771521147920982281114122843240149552577514235807579393559252209227179980873720567925206187734820763400336341824895176868591640994971918581644524049736876354931220081200899407334913238090451774531636750421653809994492864715478554597734312696985513189590652188800673459985734342242629151414473593884849059914314071693590551316969678735740805316878984998083794135277180021160694896866255695120089523382637550194250969677879135871016850009424761842174119837011829597109144331697879260712660420265386987827979507708857356478004059145684953441074123424000693744932230524248052522447629304816355958434048191207344059740969721002039824109678156925171744983262774731373370113147990279085683963965127067852724977984348305436118610520632582519961220906019834067185753889498493287666588081952671432041099236243909883786464906822983177636657422963051897086805686643847527055360025417102727953020397134807978930114430677747908871910313636558352076235430532476247595447414071124354106147028499014889047087485882225446453350647461370886200908369868418555994163253319358164460308348243441405945144330692739458421722059321384746634934877571788608337885414996202327947898420030119861740047399933760231064017124676477798646548055589241218320951910226836530398705398396625151655474284871178167392766987161566235116087495531520238600278892213769249991673014185860397548963022161920271090785803820297100557803770720516873611022588634957002158414473130762078684709791870930308204342155302466968728787328178644846889804752690853285712553468947971439190169222555646803087192552484633329287736799166767545532666626523020280669484565320884784889089126684518682353202510184824440551552539139759222822406905542839520042659744716535401988667961998336848876781226073102210398931313514494411490575332550453062329119766521532094354565843417369384106191775093417475050077702756005124444426589856953745294623480842698622459347102906252531443030288882905428643330739518086158654751647502500386743405571130115487726286368511769523372678022043623986470007322181303097673959936033110358377593153425442506490221151290954971594044934350937985583670099220587567477716413884127423865596174010972416638296456797465028970979625648834317615473974604559862312931136272742365976003421032635681390402525786063253586451686327534782033631143888221685440891549760436901313078785897738881488471798107046831396026372977079035024738384939633064945625939190524501218430754381491022808330583576654951915685518320091063383540136069525598275675775531883453047936546789922154014069491643217460540964066083850645999322420065351046973587964680995543936289144193329707948971092810215898242214438264358425868257679258288436967413285237229667501939000674909937696434225304017486183404238145517447991688282271350295198188914101521783655644470345587697850755987461671222253186832552941175449928059099225150556185411047283845336025036540668275394704795607064957068041832758592896176162869639162249976422450522680785033989537615808110952611628747385058496613245655458495931623625373803517664043835868838142432406421771840466426223366647429529257454956457512128494457222207252062798214112323749 186786130218269451574798608596826347106009129446412449258313129876535485819367208721227592287851806369764308927399516630360441441197832060855331631141725989986218290501732457711917073187224442343296993815868637082046658292889168118919010042883790690063705468307227907959596022511667124032559615030645759173258712799891179481509567811094519558269922652362506130284308674878318802760118971470528152137830910929419056176120213671939538498104359353730700018071439478009075770370467129231755196144440224033494350663884084863491501701517466455488149340700572947018263359558642506678123719604625384469944104483364496710942018560591830478089439048145208156798515419346835577234441622048237857821949332572811586370997658459206006320428096985305558775195607125177338752488970816337546178290107987494471834757290891008326097514592431175736982077595580759490109026006447647256372913168683955568026201763838719253191939995590556603193569346843944734764222546117751707846920932640251631384493341948304367909021214563323236313531297831429707746550463453964331569092337596425126909650792608109691370900996389731242211505372116957019271788101349262442790276365956131438211076246696266899328271564820202770332953301932512336757558354241497424329401222255973205030710393434822372887476042476655540258944234733622282564208759882247959910616256647384462563358423617231410889240693799342450725629725926216604220572534719415508413185017090188019758696374204802406167706764582201065643309795946348755825728720727541521112804005953479237577955201586609055865149817458824288699649171320240700644092312358565890655037460030387305226682940743178457675837115993466493744467164775220163098393075188578120364836409264502813750350891123674427004215276860430939234453794239944117816422432612318536776432344233237472875306529278119267189809313104027352043922643295174837380124567833584212698960015480953868063243657703019821597988369789096209254284311067908670435374678707303632386913864155961310833746450255581614706733628201445061172581777298323099677389141188864817976000709546249402970439619126315131353236286098228442672991984124792396580306317224372178083915406504362059011357819614893321824286931891024968118473901248323548098698792269168021570722004495230626802197161906128541233141009508443935868632518230472171445541396561383666254052304981658804565243518010208734575291269829157429079795679109113626156620562902175362704800933798580058667234445661621032320311881152529077378681874163314720973421783935518762871737638097462903206304348370055263465959196978829879849387275454911327074676263604489318939802981100918452627027256152651196879132113203895082760516377662042355595308360404665824343719930431186080657264631703956694523826666929567036698778792938351416044589163716140403408219880142664141735891490706638456593164618566199687025906209703151993111844156266731032131339721707916686740217635898488710487800877225268874311578129803354483864221756937857628722558085835958059735873131948877883429440905555769063848319417679779954715221609419139964663157840780846622913397314309223144667203556175267441494323401656390973092677568484255906464567254950624814827932954183578790750043762496956859150392046376524389805863494224069732601477473884613963803957158107915643131517010254251436931554082637679350883806687188389367771355619012317127588358917441806076356544254559678581799124360280386418389115235148715396883385977068225167151504030415186490277282126441129014552917545585862111843405961217292006990324067628843100005879742995755966544363633667896035095386000310277394852422867807973413926410124025895023111944590979189314589877068810053188631725649932327602164154660981328606642006750059759672385805417174328696120086177424891550647711559504041099408568872760154130667484469079691550760517223139868573886682019987384763489409391584652225702422633631119302342734830149039307396040363203127 302226307320223787956895633261264586901609764377518942639373736284442861249022199929345896457978632086707002634613779579748026741682054472478749942623628263499686968200894655032045598941669903872621434812427043583135074888505335993587499559796237102264517110114024760197479063621710241036871128356549715388509750555392941307312762741702033248921933391203471085945680197005800377023891318422973883154690952875932512205285997437028218284854335752030897061996816731786705044297979629309895811058157429795694057460205987984441083489805873584175462790676000393749592725876261945680656473773981480705403009042060291891105859042787116491015845364693741723348928882781397446497520170813679708295712067879294902813728929625592686620151963223184823436236378646325259734770084939180786327842685501730279414150850143217553277495466151743662188265330401522890445367831342824124964554163655874149670725813575595608123160076791456010528482584934396509295859296539405517841413797355730185982227654645289881098611866752123909773517032173672336897964937047849180629006651668118717460967762286845432176217875374729326005640649296978179966684967604957562879799748593681632462045924575402770345121574244964612507073138944341933866702685939376685042061642521360192858689901143679729365480101622340493700018358157622976309140990406496012433063885952200818521792471808438754948981663520344490549739404083141775965555797494146881783298165080467105442660339331870258892684748930506501761920316578931275786949626747375588298557895451972525244543283539280487906249053702734172486114078143223878280749735321617787741843146674234832282042966160281185628857513128274472674581595452968071970303388825136472441071839796979061345798305194798781110362305359445828281541280122169564269773080073689422977340714101656028869469782597477431650117661347468757989066973987914295801846627154968959333894893052742476401129072699222149545886789819216070994331711001668901499391803383781431033461919745202529154698360482418145105439026598070212828056062169501267070156128350431053092088205077769641570718511340084381344909300284088840221955006286712667671092121044669278641719177224878932622380408249850323982701405021787046803183693119253856303040947571634990299509332673875473692001914596981826945694478456415375058801740786118974532733949046016995541789104148426350097910144533229015244775835150042213968884805793632308509823073086999803256353472938339281489641351204460552362971625869064479367349836161651569850203010008620973270668951611957314696879680920508325795078963500361974203953118872280711180868038697906793989880683856923577071453846009604942173755594046593705219863480568294887038338649287571252987050669949272239312016279206457081267232238059682524425065161450120939417267185759764389878227202323967239409851426739748814970757771991642193516127360994106964705889090617669017715009820928504254217934049782616134353397051236241290949874586600819512835201382586691946338032060440517922048804268221620249405444326588404745238721943465843208301673295746674746696788984669068308354288864069660045980282342073006322982795199763437804488703941461334941489305639890257879773558893374103291968474516878447881958722629953179341721549012544160795985017609954139562079632933639799096179453557044173590945623574280896811424770753272240013770678039077668174561946882122801620292833398753008289748095453090602316631329673413073822751643656326513604118917315652416157779221127116038952249351770889879598026810199362809454982012349900193395204068657097277750200008104013483732946141987771948617105609700360914589376338183125120173668130002026473159925902105350721464026430445539392559232196493739921502818169619698921922362227867697009481154075715040699661600323188251426157905182118415612626599108094453495068424561059008706716319088441759225229915632758232081754959877590088631430837192052356291370194254475526876 489012437538493239531694241858090934007618893823931391897686866160978347068389408650573488745830438456471311562013296210108468182879886533334081573765354253485905258702627112743962672128894346215918428628295680665181733181394504112506509602680027792328222578421252668157075086133377365069430743387195474561768463355284120788822330552796552807191856043565977216229988871884119179784010289893502035292521863805351568381406211108967756782958695105761597080068256209795780814668446758541651007202597653829188408124090072847932585191323340039663612131376573340767856085434904452358780193378606865175347113525424788602047877603378946969105284412838949880147444302128233023731961792861917566117661400452106489184726588084798692940580060208490382211431985771502598487259055755518332506132793489224751248908141034225879375010058582919399170342925982282380554393837790471381337467332339829717696927577414314861315100072382012613722051931778341244060081842657157225688334729995981817366720996593594249007633081315447146087048330005102044644515400501813512198098989264543844370618554894955123547118871764460568217146021413935199238473068954220005670076114549813070673122171271669669673393139065167382840026440876854270624261040180874109371462864777333397889400294578502102252956144098996033958962592891245258873349750288743972343680142599585281085150895425670165838222357319686941275369130009358380186128332213562390196483182170655125201356713536672665060391513512707567405230112525280031612678347474917109411361901405451762822498485125889543771398871161558461185763249463464578924842047680183678396880606704622137508725906903459643304694629121740966419048760228188235068696464013714592805908249061481875096149196318473208114577582219876767515995074362113682086195512686007959753773058334893501744776311875596698839926974451496110032989617283089133181971194988553172032854908533696344464372730402241971143875159608312280248616022069577571934766482091085063420375783901163839988444810737999759812172654799515274000637839467824366747545269539295871068088914624019044541158130466399512698145586382317282894946990411505064251398438269041456725634583729240991633738227864743645806988336912812014921657594367577404401739739840803011870231337169106100494199076503110368178835487964859310927434259016591145978275345607400661795841409130085154663153662543437749820067104979199643048680484902745934666443635989175165961154406736919340156875796866081584683283507021593556746031710324966290823624793944139736142406589709420217903184029290563589261038160479191854053340394327192038255544302302396112929683664957842029698481102162256139052887707250488787980379858230337242633647009692237077330770600380458319969280910910413775791058904989249561123843954388472355461856349475904793286447082466631381145742917446387271563922390557841880542033570697258957817733246884400049846349542636420940958151685681104844841197928461510165261452716404173996699423139524549575060590146276475981784677400170498132834885232144173809087041361145623163016894905165814711359946825449914931267686178378883190647485898248273764477118601419828777581381509945590847953872894840882694601491847557682082718518279375404741109114676329703731527412506768230528586495083838753525883590091747714739310970567298425027877177656918576162308577440460629381542033658089985302150305799564607696649377653312686871547219813370988735020444908561789219635029633394738771270421346067602648056503253557167966802269316475741709870216160580101461972336417529036495209948400093033716744371737681379768041527988082226011958032568168888003302748307151015196780074593005662474515779174160774652658156095471720161396351154721250109460176369758681594748033284871338177274161892465591212248034747755467257313750991175766757266592563533186619185078282148575290205770461746609993405042149816733980662300223719750733179926882505330677590294838730003 791238744858717027488589875119355520909228658201450334537060602445421208317411608579919385203809070543178314196627075789856494924561941005812831516388982516985592226903521767776008271070564250088539863440722724248316808069899840106094009162476264894592739688535277428354554149755087606106301871743745189950278213910677062096135093294498586056113789434769448302175669068889919556807901608316475918447212816681284080586692208545995975067813030857792494142065072941582485858966426387851546818260755083624882465584296060832373668681129213623839074922052573734517448811311166398039436667152588345880750122567485080493153736646166063460121129777532691603496373184909630470229481963675597274413373468331401391998455517710391379560732023431675205647668364417827858222029140694699118833975478990955030663058991177443432652505524734663061358608256383805270999761669133295506302021495995703867367653390989910469438260149173468624250534516712737753355941139196562743529748527351712003348948651238884130106244948067571055860565362178774381542480337549662692827105640932662561831586317181800555723336747139189894222786670710913379205158036559177568549875863143494703135168095847072440018514713310131995347099579821196204490963726120250794413524507298693590748090195722181831618436245721336527658980951048868235182490740695239984776744028551786099606943367234108920787204020840031431825108534092500156151684129707709271979781347251122230644017052868542923953076262443214069167150429104211307399627974222292697709919796857424288067041768665170031677647924864292633671877327606688457205591783001801466138723753378856969790768873063740828933552142250015439093630355681156307038999852838851065246980088858460936441947501513271989224939887579322595797536354484283246355968592759697382731113772436549530614246094473074130490044635798964868022056591271003428983817822143522131366749801586438820865501803101464120689761949427528351242947733071246473434158285474866494453837703646366369143143171220417904917611681397585486828693901637325633817701397889726924160177119701788686111876641806483894043054886666406123116901996698217731922490559313710735367353760954119924256118636114593969789689741934599061724841287486831260704780687412438002169740669842981574186200991100092195124529966421274685986235999802710120511009294653417657337630513278511504761063807076666765064842940129241857017565290696378243176266709076174969217507879675258621646517148070542137046255132890658036113381546486617860673827803952760709413075541321377532600063710211071915056117123979553828257293513199472749436412341000302906919564348814765606769934948171861081226643301297082493200243338798632129671985658979808330317821270329730559281297190116870857058291143048932085548909115838593294879123535235669183164674284790598620555594344186136086534680162549484074058160931691365922523622337502069067561359363564925195176085735463720979194594979697751456211327303004993509534624522111241521398622206716993903833481668392118382240329558732578554325763304611466371318568200912489458056735810118983239621975042448543236627768240321280087459913801183266582070085451406925789443178534731140574375050740931785374686992796253852623067837306282883073248961519312391324571512693792893087963223025387513835490424124342598618822801231199472973733348193732869395312711697167653476712252681687409316942211052065695161295315266461591051651774581974863042386673289721252375389338661720018805835724380673206919051621087365621307897026359942910916954348767429229890414017057190311466944379841694863500987669975854174629063642268529802592679086490276135370448204595032135634441681279511496116684586541011112720628547648461171612278345989457603517110261152568347658428237607506290873848357936006893415218933109591379383865700657986681687609639341157282006524858903505835223320674908048815735622177813808382164017118934861622047784549314256879 1280251182397210267020284116977446454916847552025381726434747468606399555385801017230492873949639508999649625758640371999964963107441827539146913090154336770471497485606148880519970943199458596304458292069018404913498541251294344218600518765156292686920962266956530096511629235888464971175732615130940664512046677265961182884957423847295138863305645478335425518405657940774038736591911898209977953739734680486635648968098419654963731850771725963554091222133329151378266673634873146393197825463352737454070873708386133680306253872452553663502687053429147075285304896746070850398216860531195211056097236092909869095201614249545010429226414190371641483643817487037863493961443756537514840531034868783507881183182105795190072501312083640165587859100350189330456709288196450217451340108272480179781911967132211669312027515583317582460528951182366087651554155506923766887639488828335533585064580968404225330753360221555481237972586448491078997416022981853719969218083257347693820715669647832478379113878029383018201947613692183876426186995738051476205025204630197206406202204872076755679270455618903650462439932692124848578443631105513397574219951977693307773808290267118742109691907852375299378187126020698050475115224766301124903784987372076026988637490490300683933871392389820332561617943543940113494055840490983983957120424171151371380692094262659779086625426378159718373100477664101858536337812461921271662176264529421777355845373766405215589013467775955921636572380541629491339012306321697209807121281698262876050889540253791059575449046796025851094857640577070153036130433830681985144535604360083479107299494779967200472238246771371756405512679115909344542107696316852565658052888337919942811538096697831745197339517469799199363313531428846396928442164105445705342484886830771443032359022406348670829329971610250460978055046208554092562165789017132075303399604710120135165329874533503706091833637109035840631491563755140824045368924767565951557874213487547530209131587981958417664729784336197100760829331741105150000565246667429022795228266034325807730653034772272883406741200473048723406011848987109722796173888997582752192092988344683360915889856863979337615596678078847411076646498881854408665106520427253241014039972007012087674680400067603202563303365454386133996913670258819301266489284640260818319133471922408596659424217469620104514884910045108441500066245775599124177842710345065350135178662286412177961803392944936623721729538639912251592859413256811584151497452597896900445555482131030797750503247739501635504317155284458745682310633907526664787691956643302699019849248013772607636468416050334117220279531008547571281180623197028969372305632668672045407648591870710188879250578101027284632849350048038181646672753070227065650340979884711573976451121367257230001701337261632523358098602553107325954600194502388624880341355584386469117407708906201346136134237421144825824035792908159261621472780019409167506234047661635791096459212352993469885618159068562616515075214790876752363412804665757089534335463106078304169416682635568898170889661220827426427275254138569553851937032402603095359651466961352516637397051429572023268976542588489467457405511075629257364176951982612586804776374026080621853158007777631646613846813117135228574801394691641023646699978888118049136041925634193498776854745355257638778862558481252017013591588705378382032842535079832579786672219490536652262021702923115991146659760007787621453892227634230374885853890403841363017767242520523012378926685184958266385623965457283345183688751579376243269029197963936400641021674836698690595981834797427150567228279188037798108957460453672270769342742636482832882024898803182421721738522359216285111858294437439685835702399499971882086096392683762360672532684100767146141132293221519868306794717623305857296730629365252445216725717057865549716284478037528132897197045817366952725374844152986882 2071489927255927294508873992096801975826076210226832060971808071051820763703212625810412259153448579542827939955267447789821458032003768544959744606543319287457089712509670648295979214270022846392998155509741129161815349321194184324694527927632557581513701955491807524866183385643552577282034486874685854462324891176638244981092517141793724919419434913104873820581327009663958293399813506526453872186947497167919729554790628200959706918584756821346585364198402092960752532601299534244744643724107821078953339292682194512679922553581767287341761975481720809802753708057237248437653527683783556936847358660394949588355350895711073889347543967904333087140190671947493964190925720213112114944408337114909273181637623505581452062044107071840793506768714607158314931317337144916570174083751471134812575026123389112744680021108052245521887559438749892922553917176057062393941510324331237452432234359394135800191620370728949862223120965203816750771964121050282712747831784699405824064618299071362509220122977450589257808179054362650807729476075601138897852310271129868968033791189258556234993792366042840356662719362835761957648789142072575142769827840836802476943458362965814549710422565685431373534225600519246679606188492421375698198511879374720579385580686022865765489828635541669089276924494988981729238331231679223941897168199703157480299037629893888007412630398999749804925586198194358692489496591628980934156045876672899586489390819273758512966544038399135705739530970733702646411934295919502504831201495120300338956582022456229607126694720890143728529517904676841493336025613683786610674328113462336077090263653030941301171798913621771844606309471590500849146696169691416723299868426778403747980044199345017186564457357378521959111067783330680174798132698205402725216000603207992562973268500821744959820016246049425846077102799825095991149606839275597434766354511706573986195376336605170212523399058463368982734511488212070518803083053040818052328051191193896578274731153178835569647396017594686247658025642742475634382948065318749719388443154027596416764911414079367300784255359715129529128750983807940528096379556896462927460342105637480840145975500093931585386367820782010138371340169341239925811301114665679016209712676855069248866601058703294758427895420807408682899906258622011387000293934914235976471102435687108164185281276696771279949752985237683357083811066295502421018977054141525104396170166087436583449910093007165858775793772802909628972794803298202012171280401849661154968557672352175283103311449712707419373272408438299510567927420726137537128368984303001926768812362587373243238350998505978301506174309844653774380866535827601501977618327651853737966413141039919438531875291144155489907641191087113732221662186065658945220103419947243159615795652047828622256931605818659444633282715656810028658355434079990802864977921888538184969068269766271331310323156608546803230387887857013077684107322414161015768672183747032617857834559710463789451640736954734897315544349609330917738567970368555905654031306990793627473418445687881410511636263275969663903022378890833939396946203786361941721552412759442426840229964303163843351593329421252832092503871883109987244789288895469878025335545393013177729520471424539701810036142522742410291818815983622265522780119317522109775273827926368172167457052425292255574811162939426330533799757444077194137850346294170838323994072511515304408376212837243522049098669507640259727952014903581804905511491206984325664268880465923295881033952387496276037982514473656650633131421071106770016867939790575270085317105228493188660921287703285937676483783069933743399141733183766886027329177493945602653446451643593334016868348673888628968555590008033494130637107478172959944750619769254087751617210358525524997993879506549994404356964463139303255488268758280440046391965914365451906655851336515061214164752228574773159393467243761 3351741109653137561529158109074248430742923762252213787406555539658220319089013643040905133103088088542477565713907819789786421139445596084106657696697656057928587198115819528815950157469481442697456447578759534075313890572488528543295046692788850268434664222448337621377812621532017548457767102005626518974371568442599427866049940989088863782725080391440299338986984950437997029991725404736431825926682177654555378522889047855923438769356482784900676586331731244339019206236172680637942469187460558533024213001068328192986176426034320950844449028910867885088058604803308098835870388214978767992944594753304818683556965145256084318573958158275974570784008158985357458152369476750626955475443205898417154364819729300771524563356190712006381365869064796488771640605533595134021514192023951314594486993255600782056707536691369827982416510621115980574108072682980829281580999152666771037496815327798361130944980592284431100195707413694895748187987102904002681965915042047099644780287946903840888334001006833607459755792746546527233916471813652615102877514901327075374235996061335311914264247984946490819102652054960610536092420247585972716989779818530110250751748630084556659402330418060730751721351621217297154721413258722500601983499251450747568023071176323549699361221025362001650894868038929095223294171722663207899017592370854528860991131892553667094038056777159468178026063862296217228827309053550252596332310406094676942334764585678974101980011814355057342311911512363193985424240617616712311952483193383176389846122276247289182575741516915994823387158481746994529466459444365771755209932473545815184389758432998141773410045684993528250118988587499845391254392486543982381352756764698346559518140897176762383903974827177721322424599212177077103240296803651108067700887433979435595332290907170415789149987856299886824132149008379188553315395856407672738165959221826709151525250870108876304357036167499209614226075243352894564172007820606769610202264678741426787406319135137253234377180353791787008487357383847625634948194732747772514616709188353404147417946186352250707525455832763852935140599970917663324270268554479215119553330450320841756035832364073269200983045899629421215017839051195648590917821541918920030249684683867156923547001126306497321731260875193542679813576517441312653489578575175054295604574358095704823609498746316875794834663030346124857150056841894626598861687399206875239574832452499614545253303037943789580505332412715161221832208060109786163668732999746561600524039803382973033606559189214342923690427692897045192878561328252802324820325627605700946618060376359980879706767048840095521785705318392225055561489732856570874283250996323899145615005011750108317782453392171440122756991239125295378894415256292724595561083304658817136066917019305058623958268867451182802731885268764135983258549936468615683206333506275007302376777175967617467444560577753372627266180796016274699156887341823328522002719845382823714317046912703933675069799805517351412390759140486083281151372636125645439989494413069097796890101081256779581401297484103396091178276517460387791333978606389457301373019374111959064237281393875187112328135917910720289498014947512367351421741271508056682801709571473635030887528249056186315656849259657970985093213507624645912222759007435571245817199462119866949022202407682931034437369644191443344125388462822459226980385426126750624996213563048167566430079135953234668708858677295261713620179649133956690759401895048347343431511400988935674807719137345762661661947971757001834321883000447350039046065903726975911106991941927183784642756085130436504904762971107731852356602186856037655370071813976778484678345254826015055755390707890173740826850027447719329833036607450055046041143303531614760284301311125671666130287101026418301199074587768996599986117634010725656772109023779915168191133888864647958411210569595527498534237620230643 5423231036909064856038032101171050406568999972479045848378363610710041082792226268851317392256536668085305505669175267579607879171449364629066402303240975345385676910625490177111929371739504289090454603088500663237129239893682712867989574620421407849948366177940145146243996007175570125739801588880312373436696459619237672847142458130882588702144515304545173159568311960101955323391538911262885698113629674822475108077679676056883145687941239606247261950530133337299771738837472214882687112911568379611977552293750522705666098979616088238186211004392588694890812312860545347273523915898762324929791953413699768271912316040967158207921502126180307657924198830932851422343295196963739070419851543013326427546457352806352976625400297783847174872637779403647086571922870740050591688275775422449407062019378989894801387557799422073504304070059865873496661989859037891675522509476998008489929049687192496931136600963013380962418828378898712498959951223954285394713746826746505468844906245975203397554123984284196717563971800909178041645947889253754000729825172456944342269787250593868149258040350989331175765371417796372493741209389658547859759607659366912727695206993050371209112752983746162125255577221736543834327601751143876300182011130825468147408651862346415464851049660903670740171792533918076952532502954342431840914760570557686341290169522447555101450687176159217982951650060490575921316805645179233530488356282767576528824155404952732614946555852754193048051442483096896631836174913536214816783684688503476728802704298703518789702436237806138551916676386423836022802485058049558365884260587008151261480022086029083074581844598615300094725298059090346240401088656235399104652625191476750307498185096521779570468432184556243281535666995507757278038429501856510792916888037187428158305559407992160748970004102349312670209251808204284544465002695683270172932313733533283137720627206714046516880435225962578596960586731564965082975090873647587662530315869935323365681050288316088804024576371386473256145383026590101269331142798066522234005152342381000564182857600431618008309711192478982464269350954725603852366648111375678047013672555958322596181807864167200786369413720411431353389179220536888516729122656584599046459397360722226172413602185009792080159156296000951362713482776063324040489872510089290272075676793782812987794780023013647074784416015583808214233867908190129019880664453348400343971002618587051128703213130950955439281126185518070850805002863407988175840013401596222755492597475735148316709870638927050343063700101335344703446488748978939861948694611908702873386872738947354122945118047346073823291879628236878829942356268684172376260869323975752883581418152790027756314328683315595612664632430212409111116077442358383540781186724606060295682712671352887246215200473269842247365167984420946011916905370548606486071311428163545487345845445733888798754883734361919430496568683873287776840994664237489537771392029129856332174881472414397464521440542472086309706303490095414198889940606494201345643525720059891424363519526944660991912933747379365755081298896351221730730924810175819243094571786871401491077511358178350955679729247331973121590518819395477338666530560403526560827045116866648208617048720480726017466885402180713395385032323608268177745539126753093355592473290046235121189659460108223290012180807130869674659188220266536421118235772420921463320207635559682870838455348790478190757957346802901973348131664037538495664913386255331669095780281454858970688753089733258937699930486230658484955014421518456809062933843517551181192309047155676973303677372833722442581246754177665595755743920039804541397400991470724087331791706469608389772259056564062369795405617455752823963673714928228005985893923300868848035918521484197191128280980532968295603431552232135903241605902769006096818500989694280620097789740201163019625375321824102271693631087474404 8774972146562202417567190210245298837311923734731259635784919150368261401881239911892222525359624756627783071383083087369394300310894960713173059999938631403314264108741309705927879529208985731787911050667260197312443130466171241411284621313210258118383030400388482767621808628707587674197568690885938892411068028061837100713192399119971452484869595695985472498555296910539952353383264315999317524040311852477030486600568723912806584457297722391147938536861864581638790945073644895520629582099028938145001765294818850898652275405650409189030660033303456579978870917663853446109394304113741092922736548167004586955469281186223242526495460284456282228708206989918208880495664673714366025895294748911743581911277082107124501188756488495853556238506844200135858212528404335184613202467799373764001549012634590676858095094490791901486720580680981854070770062542018720957103508629664779527425865014990858062081581555297812062614535792593608247147938326858288076679661868793605113625194192879044285888124991117804177319764547455705275562419702906369103607340073784019716505783311929180063522288335935821994868023472756983029833629637244520576749387477897022978446955623134927868515083401806892876976928842953840989049015009866376902165510382276215715431723038669965164212270686265672391066660572847172175826674677005639739932352941412215202281301415001222195488743953318686160977713922786793150144114698729486126820666688862253471158919990631706716926567667109250390363353995460090617260415531152927128736167881886653118648826574950807972278177754722133375303834868170830552268944502415330121094193060553966445869780519027224847991890283608828344844286646590191631655481142779381486005381956175096867016325993698541954372407011733964603960266207684834381278726305507618860617775471166863753637850315162576538119991958649199494341400816583473097780398552090942911098272955359992289245878076822922821237471393461788211186661974917859647147098694254357272732580548676750153087369423453342038401756725178260264632740410437726904279337530814294748621861530734404711600803786783868715835167025242835399409950925643267176636916665854893166567003006279164352217640228240469987352459620040852568407018271732537107646944198503519076709082044589383095960603311316289401890417171194494042527059293504636693979451085264344567680251151878517811404278769330522869619079045929933071383924750084755618742351852555275583545835071086665673956516168894745019786458598233232072637210923517774339508746401342784356016637279118121350316429828141393266754127794232389896325050077231742186769020239514403820004933115307335002651885096186169345077584946629103885503846001540743250544120320299652029196423164540136074096782075487035735421623669337704490010492698651108136342270029264877431749629690657945870173469340721025050097053253185081995175455307017222169277644934438552789722622621701506266199444312115292057762749479889562475997882006060818059774111874512680046491928385118331139591240347989437722097062630581497480041313242619846785633020133128989221253620608201440573314231231482761846259575413811609522064903416565276544467591160983360555314792752053538068007865165242693411088533766907844690088271831911583243628754688340283239504576969536912333123734661838684380478245831232914089968298134188664601409672752166102070211861867791154324449550451322313018784576683088995648098621198547672088316421198607850437268534484743712859466816024098163686968311313171495186424315281303679012527291682443794645496472227079021599361878457987660319276897421965806848108999747244527092299300989082860757946433457964158947486009725285397448112346106895842196767472805447502572010136961295623445527649764454236110622255644903472153796710322378283052027037226832483608320219832609868857258568081559386596802506140001132503227723536779731753590610013474195788288923629065810978036585891419629770227868707705047 14198203183471267273605222311416349243880923707210305484163282761078302484673466180743539917616161424713088577052258354949002179482344325342239462303179606748699941019366799883039808900948490020878365653755760860549572370359853954279274195933631665968331396578328627913865804635883157799937370279766251265847764487681074773560334857250854041187014111000530645658123608870641907676774803227262203222153941527299505594678248399969689730145238961997395200487391997918938562683911117110403316695010597317756979317588569373604318374385266497427216871037696045274869683230524398793382918220012503417852528501580704355227381597227190400734416962410636589886632405820851060302838959870678105096315146291925070009457734434913477477814156786279700731111144623603782944784451275075235204890743574796213408611032013580571659482652290213974991024650740847727567432052401056612632626018106662788017354914702183354993218182518311193025033364171492320746107889550812573471393408695540110582470100438854247683442248975402000894883736348364883317208367592160123104337165246240964058775570562523048212780328686925153170633394890553355523574839026903068436508995137263935706142162616185299077627836385553055002232506064690384823376616761010253202347521513101683862840374901016380629063320347169343131238453106765249128359177631348071580847113511969901543571470937448777296939431129477904143929363983277369071460920343908719657309022971629829999983075395584439331873123519863443438414796478556987249096590444689141945519852570390129847451530873654326761980613992528271927220511254594666575071429560464888486978453647562117707349802605056307922573734882224128439569584705680537872056569799014780590658007147651847174514511090220321524840839196290207885495933203192591659317155807364129653534663508354291911943409723154737287089996060998512164550652624787757642245401247774213084030586688893275426966505283536969338117906619424366808147248706482824730122189567901944935262896418612073518768419711769430842426333096564733520778123437027828173610480328880816982627013873115405275783661387215486724144878217721817863679301880368871029003564777230571213580675562237486948399448092407670773721873340452283921796197492269425624376066855088118123168479405311609268374205496326081482049573467195445405240542069567960734469323595353634839755927945661330799199058792344169944403495061513741285617792658274884638623016305903675927516837689673716802659729299845700459067584783751302923442213786925762515348759802939007111509234754853269667026300467068443609817827895567734599771538826210682048717714851423106693391805854254689125597003143532243168369464574865982715446202270224915626804989644275404912777841317330163830411110758802631348086256099550113601126570141009491677123456753870937727432342362010833116388669813990867297462221237606028007092360677565828655348956362602098277068468067435395064954328046477211488259318163762850252838876670298307597545503903642536378666809857532728604112680890461524031803366120676911678931253849114048131276545853188880645617140135146101565227164978862127601340874310162831252795828226741095787562162947854762046392304110231889023687594412574666532679052586303322028754802392315109804455799805206931448121625690017638350590620064019397775863278154841182267713837260941757957002146042212337191401521327899377614461731258453182693443764903355532069216856970968593551636628834167533308106989833534191050224773370901065660316442977209033682089228667559010681623071963898653616185225316812280537061808944218318804231911843484263657171933590762078273491610036238537731250110830797881390067256479463063043868090026935646738164873796918226659341928667765231835299908821018298480417661262359224977760384037306511058012931150133352456356138354094066048386849062092354892405937692233268406469329439548737850409111003168476408386713369266973997661961213243732041921499795179451 22973175330033469691172412521661648081192847441941565119948201911446563886554706092635762442975786181340871648435341442318396479793239286055412522303118238152014205128108109588967688430157475752666276704423021057862015500826025195690558817246841924086714426978717110681487613264590745474134938970652190158258832515742911874273527256370825493671883706696516118156678905781181860030158067543261520746194253379776536081278817123882496314602536684388543139024253862500577353628984762005923946277109626255901981082883388224502970649790916906616247531070999501854848554148188252239492312524126244510775265049747708942182850878413413643260912422695092872115340612810769269183334624544392471122210441040836813591369011517020601979002913274775554287349651467803918802996979679410419818093211374169977410160044648171248517577746781005876477745231421829581638202114943075333589729526736327567544780779717174213055299764073609005087647899964085928993255827877670861548073070564333715696095294631733291969330373966519805072203500895820588592770787295066492207944505320024983775281353874452228276302617022860975165501418363310338553408468664147589013258382615160958684589118239320226946142919787359947879209434907644225812425631770876630104513031895377899578272097939686345793275591033435015522305113679612421304185852308353711320779466453382116745852772352449999492428175082796590304907077906064162221605035042638205784129689660492083471141995386216146048799691186972693828778150474017077866357005975842069074256020452276782966100357448605134734258791747250405302524346122765497127340374062880218608072646708116084153219583124083532770565625165832956784413871352270729503712050941794162076663389103826944041530837083918863479213246208024172489456199410877426040595882112871748514152438979521155665581260038317313825209988019647711658892053441371230740025799799865155995128859644253267716212383360359892159355378012886155019333910681400684377269288262156302207995476967288823671855789135222772880828089821742993785410863847465555077889817859695111731248875403849809987384465173999355439980045242964653263089252806012138205640481443085464380147678568516651300617088320648140761074332960493136490203215764001962732023011053591637199877561449900992364334808807642370883939990638389939447767601363072597428448774680617979407436179097539848610603337561674692814022574107443674357001717408359640257365368158458951511062672760760382476616245468740445478854043381984534996079424710443536854857506204281791467525872033971391017342730295209836876571955689800124496096588903442424235486735090937510513396738969562024128248888239718412513447049521495086600950048271765658877349109964575056941974264481870299904507892834289667083507879768887818091137062839660599813465726783135815159181972052668778986562139154711892347559274490791110002267815984583050824626601297040651066791090689136901331153772358592503546022067643652412728836758676359125657319615778155216425158738242651059743703921238450961753900428751258409158972567091733894916909565986317869866870760743347542138541396210344889447600449723974440774860731643306372332029754108838122601707096862285427091695459577817359943767586353211166718843074224226693048084554493547214687626202659554550683714354725858082156341523986074096357682135395130422558411818794378439261613383195690531938911281709775495712228341586444527717315478169516265639953050032775383745375524318277903909691589394999229347284754290380528868513543948862689694150363646342448261681697543891302136423687402205979123508809265450070505280933338006605365790911025321398489196544288762040337553266204748460491980436133831488934932346602365729231352065629060855280827558585472534591039916907262697131557094359684794110039968376965836064676358186703934905645417143651741489208443832234400909697052976328469603999721016642672196675636998332784975698547104663361812149368502884498 37171378513504736964777634833077997325073771149151870604111484672524866371228172273379302360591947606053960225487599797267398659275583611397651984606297844900714146147474909472007497331105965773544642358178781918411587871185879149969833013180473590055045823557045738595353417900473903274072309250418441424106597003423986647833862113621679534858897817697046763814802514651823767706932870770523723968348194907076041675957065523852186044747775646385938339511645860419515916312895879116327262972120223573658960400471957598107289024176183404043464402108695547129718237378712651032875230744138747928627793551328413297410232475640604043995329385105729462001973018631620329486173584415070576218525587332761883600826745951934079456817070061055255018460796091407701747781430954485655022983954948966190818771076661751820177060399071219851468769882162677309205634167344131946222355544842990355562135694419357568048517946591920198112681264135578249739363717428483435019466479259873826278565395070587539652772622941921805967087237244185471909979154887226615312281670566265947834056924436975276489082945709786128336134813253863694076983307691050657449767377752424894390731280855505526023770756172913002881441940972334610635802248531886883306860553408479583441112472840702726422338911380604358653543566786377670432545029939701782901626579965352018289424243289898776789367606212274494448836441889341531293065955386546925441438712632121913471125070781800585380672814706836137267192946952574065115453596420531211019775873022666912813551888322259461496239405739778677229744857377360163702411803623345107095051100355678201860569385729139840693139360048057085223983456057951267375768620740808942667321396251478791216045348174139185004054085404314380374952132614070017699913037920235878167687102487875447577524669761472051112299984080646223823442706066158988382271201047639369079159446333146543143178888643896861497473284632310521827481159387883509107391477830058247143258373385900897190624208846992203723254422918307727306188987284493383251500298188575928713875889276965215263168126561214842164124923460686471126768554686381009234644046220316035593728354130754138249016536413055811534796206300945420411999413256271388356399077908679755323046040855212601632709014303968452365989564105585384853008143432640558162918098275971614247192107043201179409802396354018862758426069168957415642619510066634524895988384464362627438579510450434099279275974768586145937921628165735837919521638497369299370206266007220798579035106788824660684369030762278280486389783585367859095868127729653106284204449942360617206788544823816713253845891383250655681816514096361069316396250541990574504154099608850461854752105799200463734919003593092298431594135868437931692263632980670091490589183537006752886614314414679612102950808968702759645021495728397138009360176662148879479975557659642749343859558756572296396108100405069715034281385807415262981675635346657433254865119681797752803825548100183788347816602128912485785703794871935320837903820940847943048186111839506750512487900878493643703768561189207017048941324034137272027656559870047468119591917056692884648099400972517316115383053990392026476446638939514488747597876616541802852540354298754146135747828349572189034304974789877479932204802140915278625395972656072180515413964836590776453014904523589909553373012968228678405672106489800059786532335140484859191589678866942917053482514151812094959916362765900295007601197267589562550602772616421700375773435610241101877866922860703582673485496346424297927740721108934334162452866928768683639282521061559936220446655119559921727620522684211523535848526160767135673097220399283955890693994296826087116127467406490833071457578169621922109317478396991305168052899527099188521032496540798000954032266205744096381614381524467669316166382415877207454408832019811148605062350367599758973360508317907093854070868298063949 60144553843538206655950047354739645406266618591093435724059686583971430257782878366015064803567733787394831873922941239585795139068822897453064506909416083052728351275583019060975185761263441526210919062601802976273603372011904345660391830427315514141760250535762849276841031165064648748207248221070631582365429519166898522107389369992505028530781524393562881971481420433005627737090938313785244714542448286852577757235882647734682359350312330774481478535899722920093269941880641122251209249229849829560941483355345822610259673967100310659711933179695048984566791526900903272367543268264992439403058601076122239593083354054017687256241807800822334117313631442389598669508208959463047340736028373598697192195757468954681435819983335830809305810447559211620550778410633896074841077166323136168228931121309923068694638145852225727946515113584506890843836282287207279812085071579317923106916474136531781103817710665529203200329164099664178732619545306154296567539549824207541974660689702320831622102996908441611039290738140006060502749942182293107520226175886290931609338278311427504765385562732647103501636231617174032630391776355198246463025760367585853075320399094825752969913675960272950760651375879978836448227880302763513411373585303857483019384570780389072215614502414039374175848680465990091736730882248055494222406046418734135035277015642348776281795781295071084753743519795405693514670990429185131225568402292613996942267066168016731429472505893808831095971097426591142981810602396373280094031893474943695779652245770864596230498197487029082532269203500125660829752177686225325703123747063794286013788968853223373463704985213890042008397327410221996879480671682603104743984785355305735257576185258058048483267331612338552864408332024947443740508920033107626681839541467396603243105929799789364937509972100293935482334759507530219122297000847504525074288305977399810859391272004256753656828662645196676846815070069284193484660766092214549351253850353189720862479997982214976604082512740050721091599851131958938329390116048271040445124764680815025250552591735214197604104968703651124389857807492393147440284527663401499973876032699270789549633624733703952295870539261438556902202629020273351088422088962271392522923602305113593997043823111610823249929554743975324300775744795713155591366872956589593654628286140741028020405733915693555572448643276401089999621227474994165153353752622821578949642183211194481755892220237326591416775671547720372915601063207812836225063772211502590046560978822796051701711761057488117362961739275167983591964716633095530519691185033298127720185283793378737382094779622969068195263563617856155917346298813756233381503209573425518796726370281070763639426896427381965515102015637325749783400695820330691304054910320142568045796286467348391089512948123414651992580770219188248011627992646731930304602158956683400410650649445709197727261872763662218580303453451067675710512394023016558912184735459952969228984286342834848091520523367363447539604223623193729996876388032581837965095677825824620379358661621841185842309957399551906496541773758111712802517291513353840451621671165531007249806497834802743207078513568209386420214225292725655466440950840768495900624908792301360823374031009126739718019329515735562088546326126989374983078108051202603073825783630969215714628287719280441492284294678004174117900448076244587503847813310001124831542728899718300798858038470089998869607952160899524354885951557970091419116316565284390069923799256583550139548620404594884809909183748630277051249530374384404667733800266775289005073432086881334709643199408321962065173788888959984027828962294598624608029567001649685122046059925886942396955025991963367662497495076884619240874572756676099278092867904065024585708854727501935859677683349395837870822825356702070225863435392205677058408553036453820801737987365932543949059055422570455666220236800948447 97315932357042943620727682187817642731340389740245306328171171256496296629011050639394367164159681393448792099410541036853193798344406508850716491515713927953442497423057928532982683092369407299755561420780584894685191243197783495630224843607789104196806074092808587872194449065538552022279557471489073006472026522590885169941251483614184563389679342090609645786283935084829395444023809084308968682890643193928619433192948171586868404098087977160419818047545583339609186254776520238578472221350073403219901883827303420717548698143283714703176335288390596114285028905613554305242774012403740368030852152404535537003315829694621731251571192906551796119286650074009928155681793374533623559261615706360580793022503420888760892637053396886064324271243650619322298559841588381729864061121272102359047702197971674888871698544923445579415284995747184200049470449631339226034440616422308278669052168555889349152335657257449401313010428235242428471983262734637731587006029084081368253226084772908371274875619850363417006377975384191532412729097069519722832507846452556879443395202748402781254468508442433231837771044871037726707375084046248903912793138120010747466051679950331278993684432133185953642093316852313447084030128834650396718234138712337066460497043621091798637953413794643732829392247252367762169275912187757277124032626384086153324701258932247553071163387507345579202579961684747224807736945815732056667007114924735910413392136949817316810145320600644968363164044379165208097264198816904491113807766497610608593204134093124057726737603226807759762014060877485824532163981309570432798174847419472487874358354582363214156844345261947127232380783468173264255249292423412047411306181606784526473621533432197233487321417016652933239360464639017461440421957953343504849526643955272050820630599561261416049809956180940159305777465573689207504568201895143894153447752310546354002570160648153615154301947277507198674296229457167702592052243922272796494512223739090618053104206829207180327336935658358448397788838416452321580890414236846969159000653957780240513720718296429039768229892164337595516626362178774156674928573883717535567604386830024927798650161146759763830666745562383977314202042276544739444821166870951147845969643160326195629752837415579275615919118849560709153783888228353713754284971232561207901820393183942207430208130269712418330874712445358505642240737541628690049342137087184206388221693661628581035168195005912737354697299713456210835122701705182135595270038218723388625596085611620712386080791819766397849351522860535842687832844362748636803895634975658744926973828617195450635940671006219723877080077714217225233742549355746807885657309182275980651478476080271227374345900020474263946696151505763681475664328801000782794644093857149320932410600882028003192463757092117411637602265947585386020988169308880809784577716616326149754510208202281494123369973168731933614584839258482938692188029369673992167049855141750722032809834443018636439337125496275933325308018495129050834780208973429781013281789665331370891846562500334829546078518588758923545483097792248984830173851383401308571213588222223891897905898807320059322461567558601412896660864232240144214038827457310298753165263091055506959121859358698928752324304305613042020751128267904653608474080707274783589239748467559992167643192242870351045657307646232852523572554566044647290380148450485984023132407766661217852340552621902093829524314926799819362487148825559653969719089181706090445697234866824652017415543265298467483394680095054574978990251483318738830186667195543972644355953148441270930089854527881883792794311573171507563677488455365760281126787400933641012740054222713029513082493398454200733955073246506541350192051153667404446145767431164213106741351268299936813709949555139934252437206881169739542029817808082884512817385056264969406800337733532302922419563740477549520291105099012396 157460486200581150276677729542557288137607008331338742052230857840467726886793929005409431967727415180843623973333482276438988937413229406303780998425130011006170848698640947593957868853632848825966480483382387870958794615209687841290616674035104618338566324628571437149035480230603200770486805692559704588837456041757783692048640853606689591920460866484172527757765355517835023181114747398094213397433091480781197190428830819321550763448400307934901296583445306259702456196657161360829681470579923232780843367182649243327808372110384025362888268468085645098851820432514457577610317280668732807433910753480657776596399183748639418507813000707374130236600281516399526825190002333996670899997644079959277985218260889843442328457036732716873630081691209830942849338252222277804705138287595238527276633319281597957566336690775671307361800109331691090893306731918546505846525688001626201775968642692421130256153367922978604513339592334906607204602808040792028154545578908288910227886774475229202896978616758805028045668713524197592915479039251812830352734022338847811052733481059830286019854071175080335339407276488211759337766860401447150375818898487596600541372079045157031963598108093458904402744692732292283532258009137413910129607724016194549479881614401480870853567916208683107005240927718357853906006794435812771346438672802820288359978274574596329352959168802416663956323481480152918322407936244917187892575517217349907355659203117834048239617826494453799459135141805756351079074801213277771207839659972554304372856379863988653957235800713836842294283264377611485361916158995795758501298594483266773888147323435586587620549330475837169240778110878395261134729964106015152155290966962090261731197718690255281970588748628991486103768796663964905180930877986451131531366185422668654063736529361050780987319928281234094788112225081219426626865202742648419227736058287946164861961432652410368811130609922703875521111299526451896076713010014487345845766074092280338915584204811422156931419448398409169489388689548411259910280530285118009604125418638595265764273310031643237372334860867988719906484169671167304115213101547119035541480419529295717348283785880463716126537284823822534216404671296818090533243255833222540368893245465439789626796660527190098865848673593536033454559633024066869345651844189150801556448679324683235450613864185405973903323355721759595641861965016622855202695889710005785337863876872823062791060415243239328771472971261176583750723764912994971820333810430225978672157064434416764087792552877254515212313262135703826279797560995844167323586820008956872647159112410574188018035450629188792072343641332073381151088848169503041267160518755701499448204846361341991013772796447856229461798167143089431259065024621331474098699004177291888978206887349376394281976705215532063630183036166773634032616161955612740089179875573009550165160857647990691850631845932394152194888292709550614402700423392690551079234590601703691261794120785853484530857648863639380864912242118322780831656597006011618978377467491155991271205224122176015388388475988310830042024871550360697632691142896755149022835259387754899147712396642122802529540081126810799316875089524965799680479778298078794653790171883356867782495890367825668470343633821348604109297454394894028591552188758477386663065532098529207882271479962150792537941602324237026641473002642289234794227961760487108854675136666379518651198591091992092699132267087699343717373100383529745388835405746990480515621034123408202156964163669893352293303863843684852030239781857703143497920467462319261649429385235322605639733053936203845857968100462131491591506450749964384889156354402583326134786114148599971910037519390417568396452568323391160591066623910343503724238635335229237692450205995801872673387632904535772123260032237871809767893253200288561571225938092718790208538325099464846871478619163048005186511341899960843 254776418557624093897405411730374930868947398071584048380402029096964023515804979644803799131887096574292416072744023313292182735757635915154497489940843938959613346121698876126940551946002256125722041904162972765643985858407471336920841517642893722535372398721380025021229929296141752792766363164048777595309482564348668861989892337220874155310140208574782173544049290602664418625138556482403182080323734674709816623621778990908419167546488285095321114630990889599311642451433681599408153691929996636000745251009952664045357070253667740066064603756476241213136849338128011882853091293072473175464762905885193313599715013443261149759384193613925926355886931590409454980871795708530294459259259786319858778240764310732203221094090129602937954352934860450265147898093810659534569199408867340886324335517253272846438035235699116886777085105078875290942777181549885731880966304423934480445020811248310479408489025180428005826350020570149035676586070775429759741551607992370278481112859248137574171854236609168445052046688908389125328208136321332553185241868791404690496128683808233067274322579617513567177178321359249486045141944447696054288612036607607348007423758995488310957282540226644858044838009584605730616288137972064306847841862728531615940378658022572669491521330003326839834633174970725616075282706623570048470471299186906441684679533506843882424122556309762243158903443164900143130144882060649244559582632142085817769051340067651365049763147095098767822299186184921559176339000030182262321647426470164912966060513957112711683973403940644602056297325255097309894080140305366191299473441902739261762505678017949801777393675737784296473158894346568525389979256529427199566597148568874788204819252122452515457910165645644419343129261302982366621352835939794636380892829377940704884367128922312197037129884462174254093889690654908634131433404637792313381183810598492518864531593300563983965432557200211074195407528983619598668765253936760142340278297831370956968688411640629337258756384056767617887177527964863581491170944521964978763126072596375506277994028328072277140564753032326315423110531849941460790141675430836571109084806359320645146933947027223479957204030386206511530606713573362829978064422704173688214862888625765985256549497942769374481767792443096742608343521252420583099936815421712009458269072508625442880821994455118392234198068167118101284102702558251545252038026797189991726085570534451643826228610249152066126170270974632794585846466618177107415603848648949367297753150046037476473873344697020913061664784996239668967630405358592804127482454984615617574132941027769638653976121635408515949423719046290606384831397525249849152817827937977480099683322441613218388118696468330493408494318648853112734729353422332256893343098034441209910617488231404397474440462307649475267785302114359020053604331264493549873757592189335699919671065850272185974001819101126085809473131968033553094888452762364543246284445743454413294603955228872120970194774359915314190220260613451831666436805979441399991659257156487362163051786622510844934466994577069753587507969342609682462864994280156457594048847609978791045618295449442861852001648685412212213535953757205943894518605755389093406955434974412374741617749726524597222667938126961646130048582662798682200026269465752170252305280566089200049914672205021143583598909970469879165045557208333882084608110210973092877807544433040736503539143713894186528656582014499163079860249209089399358554494928696570961318268990232854174379706935191819776698543938739427009230033341021882328107134657863234293785338383763876569822908464085729650762412035302999155183939205330145170283141803516967147526168371313001423120012788871769130407641569897701941258675064010908170384402766393450799191557264101809487097582459675706375697239119041549309923071008371446084043323148983759615338662832997149793898182903525554706802446998973239 412236904758205244174083141272932219006554406402922790432632886937431750402598908650213231099614511755136040046077505589731171673170865321458278488365973949965784194820339823720898420799635104951688522387545360636602780473617159178211458191677998340873938723349951462170265409526744953563253168856608482184146938606106452554038533190827563747230601075058954701301814646120499441806253303880497395477756826155491013814050609810229969930994888593030222411214436195859014098648090842960237835162509919868781588618192601907373165442364051765428952872224561886311988669770642469460463408573741205982898673659365851090196114197191900568267197194321300056592487213106808981806061798042526965359256903866279136763459025200575645549551126862319811584434626070281207997236346032937339274337696462579413600968836534870804004371926474788194138885214410566381836083913468432237727491992425560682220989453940731609664642393103406610339689612905055642881188878816221787896097186900659188708999633723366777068832853367973473097715402432586718243687175573145383537975891130252501548862164868063353294176650792593902516585597847461245382908804849143204664430935095203948548795838040645342920880648320103762447582702316898014148546147109478216977449586744726165420260272424053540345089246212009946839874102689083469981289501059382819816909971989726730044657808081440211777081725112178907115226924645053061452552818305566432452158149359435725124710543185485413289380973589552567281434327990677910255413801243460033529487086442719217338916893821101365641209204654481444350580589632708795255996299301161949800772036386006035650653001453536389397943006213621465713937005224963786524709220635442351721888115530965049936016970812707797428498914274635905446898057966947271802283713926245767912259014800609358948103658283362978024449812743408348882001915736128060758298607380440732608919868886438683726493025952974352776563167122914949716518828510071494745478263951247488186044371923651295884272616452051494190175832455176787376566217513274841401451474807082988367251491234970772042267338359715514512899613900315035329594701521108764905354776977955606650565225888616362495217732907687196083741315210029045747011384870180920511307678537396228583756134091205774883346158469959473347616466036632776062903154276487452445588659610862811014717751833308678331435858640524366137521423888877696925964667574874400454733916507195777063949447407274706617289025492391394897643242235809378336570231531172079235937659079175345969910214480454240561665897574275428273978047131943495247427966354436971451069274993572490221292053438343826672011572264597308021767360378363987535920245694752890419978346693678979547888168802955209401891492916186722870292485791942543993794378043663730992042102211733098888824375580780791756417167523181538897968338281132654086220493220106289962937467762345250084831923498262877824633665033520238004361424677584167497588876155055094325519036345158104556398076014725605501052423223554695055132502731774612498093402985453018970036724647643353434257010744686860322855470565380583629532840892970380095556137176911606616884106997733690193330692091565664381541729812223011530411043282171743574998384053467888060745606857769242524113640094350265693011571948310250239346037057692710791578458224229556915370812664618407932186152167171936121540512294706905806518559850623116878836071971460201732482681099420255154737734805886279227788849102198506797233349592619144747389900675687051476939303113641056331343870605085172070002407782424279039469815198725025826027602120182495943214723619086482209555962400289575508730512497434490746690389955294530059439496206100293282312282519912973333157532179289337526860209893288862532325298974354411894623038101622688491641763259903682160485215364211478498957271356913359077816324208660007655269261241702549823876987932461996665376802066573559893313788898934082 667013323315829338071488553003307149875501804474506838813034916034395773918403888295017030231501608329428456118821528903023354408928501236612775978306817888925397540942038699847838972745637361077410564291708333402246766332024630515132299709320892063409311122071331487191495338822886706356019532020657259779456421170455121416028425528048437902540741283633736874845863936723163860431391860362900577558080560830200830437672388801138389098541376878125543525845427085458325741099524524559645988854439916504782333869202554571418522512617719505495017475981038127525125519108770481343316499866813679158363436565251044403795829210635161718026581387935225982948374144697218436786933593751057259818516163652598995541699789511307848770645216991922749538787560930731473145134439843596873843537105329920299925304353788143650442407162173905080915970319489441672778861095018317969608458296849495162666010265189042089073131418283834616166039633475204678557774949591651547637648794893029467190112492971504351240687089977141918149762091340975843571895311894477936723217759921657192044990848676296420568499230410107469693763919206710731428050749296839258953042971702811296556219597036133653878163188546748620492420711901503744764834285081542523825291449473257781360638930446626209836610576215336786674507277659809086056572207682952868287381271176633171729337341588284094201204281421941150274130367809953204582697700366215677011740781501521542893761883253136778339144120684651335103733514175599469431752801273642295851134512912884130304977407778214077325182608595126046406877914887806105150076439606528141100245478288745297413158679471486191175336681951405762187095899571532311914688477164869551288485264099839838140836222935160312886409079920280324790027319269929638423636549866040404293151844178550063832470787205675175061579697205582602975891606391036694889732012018233045990103679484931202591024619253538336741995724323126023911926357493691093414243517888007630526322669755022252852961028092680831448932216511944405263743745478138422892622419329047967130377563831346278320261366687787791653464366932641350752705233371050225695496452408792177759650032247937007642151679934910676040945345596235557277618098443543750489372101241569916798619022716971760139895656412728847829384258479729518671246675528908035545525475032574820472986824341934121212257853095642758371719492055995798210067370133125945706771943304385768790035017941726350443517635741543461023813513210442172922416698149349186651541507728124713267663364526491717035539242271296341335642832128183164215058371713029775578551729978188107795424994466113465325987693900005823971191079424654593920751643220002739572796174631656459647571491244568427790010189384517216278786804440795656728523731465995987885385200246174308799441863812185189230857629830831014165753640395491674139824824484599839836695059951680950004502989348535063798635484134646323813834556645617720592477328917419637571803482088612517851002031243597726471247197583470009245352763345226444164530208964894418961695981804130715597308797367197705257322465142450337217040810235580062558421131457068064210932954607712481238948987541008526233543378497635223743946997039377687469516989808856981467701041832181617265731389820874862915679510075271896369394619720491392991604727689981727167676093230707607982100824372193079705139422265176784971564117058956998963444182182433294610290225532460991658276878519780465756445431116697669877093598801708544105944395604383622438257572103873910505723577540276991846700951721163706048699848539746908154134736778045730237000062002850358779378870864375305159492924532737489901874329160624675229722638009617260429838450891225974756277544968161106657267851463186564473583974038365320065007440868016139290833320524005491647582797823887184874654510475954908387739395217031453739312584390686309439215650765459146459274984970099114600116235897907321 1079250228074034582245571694276239368882056210877429629245667802971827524321002796945230261331116120084564496164899034492754526082099366558071054466672791838891181735762378523568737393545272466029099086679253694038849546805641789693343757900998890404283249845421282949361760748349631659919272700877265741963603359776561573970066958718876001649771342358692691576147678582843663302237645164243397973035837386985691844251722998611368359029536265471155765937059863281317339839747615367519883824016949836373563922487395156478791687954981771270923970348205600013837114188879412950803779908440554885141262110224616895493991943407827062286293778582256526039540861357804027418592995391793584225177773067518878132305158814711883494320196343854242561123222187001012681142370785876534213117874801792499713526273190323014454446779088648693275054855533900008054614945008486750207335950289275055844886999719129773698737773811387241226505729246380260321438963828407873335533745981793688655899112126694871128309519943345115391247477493773562561815582487467623320261193651051909693593853013544359773862675881202701372210349517054171976810959554145982463617473906798015245105015435076778996799043836866852382940003414218401758913380432191020740802741036217983946780899202870679750181699822427346733514381380348892556037861708742335688104291243166359901773995149669724305978286006534120057389357292455006266035250518671782109463898930860957268018472426438622191628525094274203902385167842166277379687166602517102329380621599355603347643894301599315442966391813249607490757458504520514900406072738907690090901017514674751333063811680925022580573279688165027227901032904796496098439397697800311903010373379630804888076853193747868110314907994194916230236925377236876910225920263792286172205410858979159422780574445489038153086029509948990951857893522127164755648030619398673778599023548371369886317517645206512689518558891446040973628445186003762588159721781839255118712367041678673548737233644544732325639108048967121192640309962991413264294073894136130955497629055066317050362528705047503306166363980832956386082299934892158990600851229386747784410215258136553370137369412842597872124686660806264603024629483313724671000679779778966145382375156808177535023241814882688321177000724516362294734149829805395487991114134643437631487704576175242799543693711736167124509240915944873495136032037708000346161505859811581545853984465349001057060806661233934855921456755446251551258986929680521265887479166807300059237573579006945957597205139845571769609620879260126659462486338067466747029621004971760598016717047904457291997999266164603131992958439803018581456671888914755629992774521325335439195459660047523637191901682300703939149079290232738200722318109509659718877427302457907407688266239392965980987274797354012553063721978676624328226045317704706129799632527714026200089334912846797941623269149168166561818195981323201888090066205072474731897322518433770622407400107258323331972299620807024704300485266077001056662623611950347437931732706451774069031565808111884565580177935707830920846573651128550442653977268633979670827817061605446171432279679632574190615085108309858235274358040321549431044515373862324869528446648689950859789845029915225128608691082023582146608740656778184103783183185914211284083046905895326015914286976539365015826679934559883690778082676909580115842280254153893496342772906631881246813014613325666744984234280218896176674326948394327688853334296280070673915196875217514966837067448145362163916703359503587985088169663738471933980162338898228226180214785621936840988934833264664880668223437030171980648564719115919205289162134215717553712150733411138948089435077147450444184128061356475427005909273012719731959630478969638827782475083783909173808068013188098663373611781832868267465555719425691461394581845632388859263092638697921143124651787036672674493430024796841403 1746263551389863920317060247279546518757558015351936468058702719006223298239406685240247291562617728413992952283720563395777880491027867794683830444979609727816579276704417223416576366290909827106509650970962027441096313137666420208476057610319782467692560967492614436553256087172518366275292232897923001743059780947016695386095384246924439552312083642326428450993542519566827162669037024606298550593917947815892674689395387412506748128077642349281309462905290366775665580847139892079529812871389752878346256356597711050210210467599490776418987824186638141362239707988183432147096408307368564299625546789867939897787772618462224004320359970191752022489235502501245855379928985544641484996289231171477127846858604223191343090841560846165310662009747931744154287505225720131086961411907122420013451577544111158104889186250822598355970825853389449727393806103505068176944408586124551007553009984318815787810905229671075842671768879855464999996738777999524883171394776686718123089224619666375479550207033322257309397239585114538405387477799362101256984411410973566885638843862220656194431175111612808841904113436260882708239010303442821722570516878500826541661235032112912650677207025413601003432424126119905503678214717272563264628032485691241728141538133317305960018310398642683520188888658008701642094433916425288556391672514342993073503332491258008400179490287956061207663487660264959470617948219037997786475639712362478810912234309691758969967669214958855237488901356341876849118919403790744625231756112268487477948871709377529520291574421844733537164336419408321005556149178514218232001262992963496630476970360396508771748616370116432990088128804368028410354086174965181454298858643730644726217689416683028423201317074115196555026952696506806548649556813658326576498562703157709486613045232694713328147609207154573554833785128518201450537762631416906824589127227856301088908542264460051026260554615769166997540371543497453681573965299727262749238689711433695801590194672637413157088040265479065597904053708469551687186696313465178922628006618897663328682790071735291097819828347765597736835005168263209216296347681795539962169865290384490377779521092777508548165632006402500160302247581757268421490051881020536062180994179525149295163137471295417169006384982996091813405396505334303523536639609676012451960691400517176920755951564831809882880960408000869293346099407841126291868277803115967314644019483290727407504324296975478316945270268656693724181403627829870452539020674535424772505236943533437674632744382116868110945263711388309823677544709780496522608172734949948705812142042370570757323986960064608955964149519227673175377423532134758369565570695956991898843031151292092064981911871685221155427866094673533857450841840975655706762812502704081716487708103205151170218132427184843567229475619072116002365870142189305969636327587665707150093837902195333005421904633302812885632030537968819608682543533989894369469126000522383140258402138501921058443546818390494713545838029422227500827153820915241856893428688255904784628874605479082270837500400850281258063614461364130505212398400091047735038750016213158652671228667173582716848628486807493459018305037360927118514032363671181850996147690522132477055576419736099991524370592098854042978135276498675496774787913604193011250722999126033623896387800911558095531819356825060475749646793968537114805724436336326790953063132164342238471291491845447210740679711335593846551420547196036232959278691884454296353454447321388877342791025685639155763404311224751691136869512278218842134297075676273956417214847624787199768313704129040185827716361562909470550439048276543880518884772225334814141989184302364922845712622115611550841395912819661991479493247051085052024637919837654967073308404307914665455650811011985848248266292308823175853295114642722915133894430023075168702308289463380289583926772006771789093546260694748724 2825513779463898502562631941555785887639614226229366097304370521978050822560409482185477552893733848498557448448619597888532406573127234352754884911652401566707761012466795746985313759836182293135608737650215721479945859943308209901819815511318672871975810812913897385915016835522150026194564933775188743706663140723578269356162342965800441202083426001019120027141221102410490464906682188849696523629755334801584518941118386023875107157613907820437075399965153648093005420594755259599413636888339589251910178843992867529001898422581262047342958172392238155199353896867596382950876316747923449440887657014484835391779716026289286290614138552448278062030096860305273273972924377338225710174062298690355260152017418935074837411037904700407871785231934932756835429876011596665300079286708914919726977850734434172559335965339471291631025681387289457782008751111991818384280358875399606852440009703448589486548679041058317069177498126235725321435702606407398218705140758480406778988336746361246607859726976667372700644717078888100967203060286829724577245605062025476579232696875765015968293850992815510214114462953315054685049969857588804186187990785298841786766250467189691647476250862280453386372427540338307262591595149463584005430773521909225674922437336187985710200010221070030253703270038357594198132295625167624244495963757509352975277327640927732706157776294490181265052844952719965736653198737709779895939538643223436078930706736130381161596194309233059139874069198508154228806086006307846954612377711624090825592766010976844963257966235094341027921794923928835905962221917421908322902280507638247963540782041321531352321896058281460217989161709164524508793483872765493357309232023361449614294542610430896533516225068310112785263878073743683458875477077450612748703973562136868909393619678183751481233638717103564506691678650645366206185793250815580603188150776227670975226059909666563715779113507215207971168816729501216269733687081566517867951056753112369350327428317182145482727148314446186790544363671460964951480770207601309878125635673963980379045318776782794403986192328598554122917305103155368206897198911182287746580080548521043747916890505620106420290318667208764763326877065070993092490731660799502207563369336333326830186379286178105490183385707512454108139546335139699011527753744319450083448395976692419720299645276567977007390201323945742788482131445549126638029783662927548860498003948639728464565130958209413172866727024102945275440390557510391718426499841342724831742810522540383632229949521962439880554884590648436483140031047847963269637793739921709303828859090275028049321986226229212087957107959030691756834095421049513999558345217282327338038490811339615702173813553985925094576945384906272058173159950485315425640239805161989124175974342598117151205407224538856120293197597748740330591915459894012099435960115379733350183172815042130947045173782470979447450226519292021496772609739062369101366448518956153762665802245760244390415846439197519417846323295499228557489777432865589294825161394707678853660440413590966836417678336558112178910188112492680947866375668725027405866567077818604824103508346806156907463713595117351694292663077682476549558547737533506720524594339212083336845421449651325120133061674122436189586875933276859600557971099518404295333769905021359639810674777450923111358499291384944166527729470878117230648004690490220287295836038796223485284306105171113955724913991554490023225747495590363921812612988164524970268651322538903844179858473831001319680107670728339676225039176016690776114459414574502182597429633246724040757248537393705066495939798593081451199003767392463085808046906441052367854139917713503870935147699263061995025523974176137418485402520063804783984268398807293794855783488091823839263718824200084511621878074141691443318850834068414376528476275655464027965400928161301432708578559043444463586976285491590127 4571777330853762422879692188835332406397172241581302565363073240984274120799816167425724844456351576912550400732340161284310287064155102147438715356632011294524340289171212970401890126127092120242118388621177748921042173080974630110295873121638455339668371780406511822468272922694668392469857166673111745449722921670594964742257727212724880754395509643345548478134763621977317627575719213455995074223673282617477193630513773436381855285691550169718384862870444014868671001441895151678943449759729342130256435200590578579212108890180752823761945996578876296561593604855779815097972725055292013740513203804352775289567488644751510294934498522640030084519332362806519129352853362882867195170351529861832387998876023158266180501879465546573182447241682864500989717381237316796387040698616037339740429428278545330664225151590293889986996507240678907509402557215496886561224767461524157859993019687767405274359584270729392911849267006091190321432441384406923101876535535167124902077561366027622087409934009989630010041956664002639372590538086191825834230016472999043464871540737985672162725026104428319056018576389575937393288980161031625908758507663799668328427485499302604298153457887694054389804851666458212766269809866736147270058806007600467403063975469505291670218320619712713773892158696366295840226729541592912800887636271852346048780660132185741106337266582446242472716332612984925207271146956747777682415178355585914889842941045822140131563863524191914377362970554850031077925005410098591579844133823892578303541637720354374483549540656939074565086131343337156911518371095936126554903543500601744594017752401718040124070512428397893208077290513532552919147570047730674811608090667092094340512232027113924956717542142425309340290830770250490007525033891108939325202536265294578396006664910878464809381247924258138061525463779163567656723555882232487427777278004083972064134602174126614742039668122984374968709188272998669951307652381293780617189746464546065151917622989819558639815188579925252388448417379930516638667466521066488800753642292861643707728108848518085501806020676364151859752310271418577423193546592977827708749945838905534125696411598397614968455950673611264923629124646828261513980783541820038269744363515858476125349516757473522659189770690508545921544942840474002535064393353995462535409087377209596641055596841399786890271161731946612081828230853390252929898061466043516175142023431930455872069455255184891489811997292759638999621794185340262170965520515878149604248047466073821306862693904079307991500148302036746306817575757628459792245966474871658009641001132645598806645973186293821043921257478258364932211518953184272369123915913239319236881521962631707767155725425671146250004811479579805915624001791460971132403052307866070840663682445803268321423539651723699687522673216820856332957785602083318069072287703045440500277010717237463952467078415773792333082257057260841105455153273052263470835574519478536902924204384262165448859393257588014131392161324921456058316931253780831151718590082963583638289315019070049107255178737408393436973802573856811453078774068816075140905317094031763476774737013979739624312342081924845153310968115043403668072580101204688571520742029734215813900997869387425111657432266221290232565011209775535097332759013122597306584492904147393263707062578362481206890318648210004642277376264846654345453729126826547078248899170960565723755597597016561166465593702890083869777168042786400154771891680048979266622105769860292721522649499516640475443511981953091367361908688294909618248756490250776139014644480871511240525562241522745252323656160155990921749442815669006966326931678666387181996129102015868793780860321378673545866919886995799409964895767114889836008906318644948761929091892399738504719369635212070359870144366450514619172145948711137291662370705678539196667709217624681722292505331050216252680522546186338851 7397291110317660925442324130391118294036786467810668662667443762962324943360225649611202397350085425411107849180959759172842693637282336500193600268284412861232101301638008717387203885963274413377727126271393470400988033024282840012115688632957128211644182593320409208383289758216818418664422100448300489156386062394173234098420070178525321956478935644364668505275984724387808092482401402305691597853428617419061712571632159460256962443305457990155460262835597662961676422036650411278357086648068931382166614044583446108214007312762014871104904168971114451760947501723376198048849041803215463181400860818837610681347204671040796585548637075088308146549429223111792403325777740221092905344413828552187648150893442093341017912917370246981054232473617797257825147257248913461687119985324952259467407279012979503223561116929765181618022188627968365291411308327488704945505126336923764712433029391215994760908263311787709981026765132326915642868143990814321320581676293647531681065898112388868695269660986657002710686673742890740339793598373021550411475621535024520044104237613750688131018877097243829270133039342890992078338950018620430094946498449098510115193735966492295945629708749974507776177279206796520028861405016199731275489579529509693077986412805693277380418330840782744027595428734723890038359025166760537045383600029361699024057987773113473812495042876936423737769177565704890943924345694457557578354716998809350968773647781952521293160057833424973517237039753358185306731091416406438534456511535516669129134403731331219446807506892033415593007926267265992817480593013358034877805824008239992557558534443039571476392408486679353426066452222697077427941053920496168168917322690453543954806774637544821490233767210735422125554708843994173466400510968559552073906509827431447305400284589062216290614886641361702568217142429808933862909349133048068030965428780311643039360662083793178457818781630199582939878005002499886221041339462860298485140803217658434502245051307001704122542336894371439178992781051391481590148236728667798678879277966825624086773427625300879905792213004962705982669615374573945630090745504160115455330026387426577873613302104017721388746269340820029686956001711899254606471515202619540477307732852191802955535896043651628149373156398021000029684489175613701546592147098314912618857483353902016361355242117967763897661363055892354870310362298939379567927845128971065035640027380570184336634586213394304662678724316862584275062184742850653889392020357220874435990857988614204939092643426041747872055032892685182789957606805476423061883760214793367313469860222920626855967959412523033131878365437289056689045614374233786368682261130521646574920012773971323469329538979657071344581756864486077973797161741946286558043292113028059964839656788401385472628946876262555807815870814569596663549701061977330168508247818425173850460183532279594899512252198244771780532483576552862602227763012114632572202023038434690665590006630022409839275239696785533549238484620420684615806708686646420446543751477671262491949755432661015943672857073966505615883990686349492400945149737541102546771884171850368300878245360785896531776055677042196847603631192725880217631127838738195292045336368946299150746419319038750231790493940343726422151887143052394697890730112641001601918262809168752903517737355813404318248817939594948808805105735724771576101733817316767365544735209756789209039903702187675122190507694444573893002915538376764076584504668213504236890757092399196565702507973347641795123619652681431043586947864311600394363215904825278321612074114118235281282810778916450318819595958749072372948446583061470052134978585107439549850269019729372664716008020641735540892443861171936828450298287178694619993174717452242556784875380491562343983088459412154871492022440592206062490996782779551668190846981334003224633110145785983155001083890093660716267498831677928978 11969068441171423348322016319226450700433958709391971228030517003946599064160041817036927241806437002323658249913299920457152980701437438647632315624916424155756441590809221687789094012090366533619845514892571219322030206105257470122411561754595583551312554373726921030851562680911486811134279267121412234606108984064768198840677797391250202710874445287710216983410748346365125720058120615761686672077101900036538906202145932896638817728997008159873845125706041677830347423478545562957300536407798273512423049245174024687426116202942767694866850165549990748322541106579156013146821766858507476921914064623190385970914693315792306880483135597728338231068761585918311532678631103103960100514765358414020036149769465251607198414796835793554236679715300661758814864638486230258074160683940989599207836707291524833887786268520059071605018695868647272800813865542985591506729893798447922572426049078983400035267847582517102892876032138418105964300585375221244422458211828814656583143459478416490782679594996646632720728630406893379712384136459213376245705638008023563508975778351736360293743903201672148326151615732466929471627930179652056003705006112898178443621221465794900243783166637668562165982130873254732795131214882935878545548385537110160481050388275198569050636651460495457801487587431090185878585754708353449846271236301214045072838647905299214918832309459382666210485510178689816151195492651205335260769895354395265858616588827774661424723921357616887894600010308208216384656096826505030114300645359409247432676041451685593930357047548972490158094057610603149728998964109294161432709367508841737151576286844757611600462920915077246634143742736229630347088623968226842980525413357545638295319006664658746446951309353160731465845539614244663473925544859668491399109046092726025701406949499940681099996134565619840629742606208972501519632905015280555458742706784395615103495264257919793199858449753183957908587193275498556172348991844154079102330549682204499654162674296821262762357525474296691567441198431321998228815703249734287479632920259687267794501536473818965407598233681326857842421925645992523053284292097137943164079972226332111999309713702415336357202220014431294610585126358727516120452298744439578747052096368050279080885412801125150808562927088529545951229432016087704081656540452310375154266570731111613002410838959367550787932524787838966952138593152329632497825906595014581210782050812500640208704041468579196152490721609622223274683978928190916060357540873099024040238905454688026245955337330121055863555181194721929096775182563104882854129726689665025323110861355566225662613932598816854175799622915547421621257133327418058737806177043760965811801534736603031236485264405328217594586568344065883889421163533407257690446344420894130805503339234204653794052486527986255495338544031390452996507486664060648237580535521470614350737194249517058851979330614018564113614740633813703707682916285166896043037597557913227568514211014284575288134632954373547680630645945342140674123639940427251598262341560634846130239070451731065050928035811374899052857793260206303854023923806357177687677201265882131777652982374765636156088397758967042000914599307769283885703707939942883863566078398680514964647417188426175343447926206565016654716898352827929795223489125763598908502755713316146167224799934175885525139136587804953451082482000571425921555462944143314443793634380717354932795501299204236288656101397334657762780083581163164231356396348262483503512862862259489287225157472864282270567131634634522410948856552606510012611972395076054460626718594989746521808373020439195571143252118905063294697889398730477018461910263773826731846398121745241458496868342020409086759363748167736238415194054293584456002081036097191318713967272891300848702458094624225231362166807042720681663142731490688959853217687012542421300819363410664877293589221143876968948021377864267829 19366359551489084273764340449617568994470745177202639890697960766908924007520267466648129639156522427734766099094259679629995674338719775147825915893200837016988542892447230405176297898053640946997572641163964689723018239129540310134527250387552711762956736967047330239234852439128305229798701367569712723762495046458941432939097867569775524667353380932074885488686733070752933812540522018067378269930530517455600618773778092356895780172302466150029305388541639340792023845515195974235657623055867204894589663289757470795640123515704782565971754334521105200083488608302532211195670808661722940103314925442027996652261897986833103466031772672816646377618190809030103936004408843325053005859179186966207684300662907344948216327714206040535290912188918459016640011895735143719761280669265941858675243986304504337111347385449824253223040884496615638092225173870474296452235020135371687284859078470199394796176110894304812873902797270745021607168729366035565743039888122462188264209357590805359477949255983303635431415304149784120052177734832234926657181259543048083553080015965487048424762780298915977596284655075357921549966880198272486098651504561996688558814957432287196189412875387643069942159410080051252823992619899135609821037965066619853559036801080891846431054982301278201829083016165814075916944779875113986891654836330575744096896635678412688731327352336319089948254687744394707095119838345662892839124612353204616827390236609727182717883979191041861411837050061566401691387188242911468648757156894925916561810445183016813377164554441005905751101983877869142546479557122652196310515191517081729709134821287797183076855329401756600060210194958926707775029677888723011149442736047999182250125781302203567937185076563896153591400248458238836940326055828228043473015555920157473006807234089002897390611021206981543197959748638781435382542254148328623489708135564707258142855926341712971657677231383383540848465198277998442393390331307014377587471352899862934156407725603822966884899862368668130746433979482713479818963939978402086158512198226512891881274964099119845313390446686289563825091541020566468683375037601298058619409998613758689872923015806433057745948489355251324297541128070626770726923813947059119224359829220242082036421308844776778957936083486550545980913921191701405628248687550625287773124054085013629363766081077335314685593887843731321822448955451269012065753751723985646246422078193070824545338627681973500815169445926484807549746163671041569949749561230319898476229763443302231185047980756162803735610214087407111886732789368581305916013486904458392636580721578486852518581892011339887307677988352836478310302747701651845106488438174282612386721547510574354705814803384985288939168325208551961863218325275353544248489636533922190770342996022606039266681433404248811303154414845960049660057187726037978406088783339895788201197377781796653751491582812263335894147224210366566309910679297281528615239620596347918234104217644306985127409872651159081229869130565762825289930348627073672044806093038306108622188825884392080994600892885341404668741783946555796254969073543898280234449085437732500078531227735551532687864453436009238848518230500495164103334835778681079155611414767626814115393836507464925575238420146908743076868785495880324493114219238404600510421018522484899070742537289989289843387954527399902259887587736296197497657196761460081809338369590474144141835405001391911410846609091779231655782999119539928307940901016475987740403619954658685852927665446211924065690751287315953454535804416918110406975188299901332782238792709107981803091183799355645889962848077654135667646335981791947070596888848881266281696667141474614123212876362662144627651807609339673066865492341472279075995255753549433875498842653382863192685546554036380102854189247634926744154139514270240628044064668346545645933929509196648032294673111237537685215520209542196807 31335427992660507622086356768844019694904703886594611118728477770855523071680309283685056880962959430058424349007559600087148655040157213795458231518117261172744984483256452092965391910144007480617418156056535909045048445234797780256938812142148295314269291340774251270086415120039792040932980634691124958368604030523709631779775664961025727378227826219785102472097481417118059532598642633829064942007632417492139524975924025253534597901299474309903150514247681018622371268993741537192958159463665478407012712534931495483066239718647550260838604500071095948406029714881688224342492575520230417025228990065218382623176591302625410346514908270544984608686952394948415468683039946429013106373944545380227720450432372596555414742511041834089527591904219120775454876534221373977835441353206931457883080693596029170999133653969883324828059580365262910893039039413459887958964913933819609857285127549182794831443958476821915766778829409163127571469314741256810165498099951276844847352817069221850260628850979950268152143934556677499764561871291448302902886897551071647062055794317223408718506683500588125922436270807824851021594810377924542102356510674894867002436178898082096433196042025311632108141540953305985619123834782071488366586350603730014040087189356090415481691633761773659630570603596904261795530534583467436737926072631789789169735283583711903650159661795701756158740197923084523246315330996868228099894507707599882686006825437501844142607900548658749306437060369774618076043285069416498763057802254335163994486486634702407307521601989978395909196041488472292275478521231946357743224559025923466860711108132554794677318250316833846694353937695156338122118301856949854129968149405544820545444787966862314384136385917056885057245788072483500414251600687896534872124602012883498708214183588943578490607155772601383827702354847753936902175159163609178948450842349102873246351190599632764857535681136567498757052391553496998565739323151168456689801902582067433810570399900644229647257387842964822313875177914035478047779643228136373638145118486200159675776500572938810720988680367616421667513466666558991736659329698436001783489970840090801872232729508848394103150709369682618908126254429354286847376112691498697971411925588292361117306721645901929766499010575080091932143353207789109709905228002935662927390624816125242366176920036702865473526412631570288774587548603598644563579658319000227457204129005571464754042669150552696967660167536107030824430142599232486010107102103418922516468668897990257431003318086283859599165395282129040983507971931686188770143213594123417959691582934053078181195824610156741483477611268383899931559881029069903844294615218043578198523082247177385942300067790313506533754893552617845752639488808760801938935980954816321575846335256810693060733919932235066798492958877350502656564674390098626643669318861366402551934572031313712603470913426281900007761964844180270017593595582448424658277218154261145802618428658591560415544505605532628910499776511104965964053988567500923643068434598940954752427896336123146045528928696716303721599577206762100108992997350255457922126286703614631856184210110317168843952851194976280849432829808264447989038543718623963019177493166307329080041253695891100918686346353473759731585683848708254288337708364168199418923774235801045237967337224165175368527091115204855710970069736867623419212659705603396253132003971191499074630906300596147699502710489113889418563082700703092539297297364738471243916482816918175140152822919076206336257882921950475865484660969524620419587160694977387242865511304097728324899556819794841461106100196559198962344225380522424089058799112655093013543065263219855581709744704682553714411171357507409305280686395765863531997336789646625194212809926274164041388004648660605334216356054677647425817282245760929587897282355359088067234748872607312909588262332381414654163541587406464636 50701787544149591895850697218461588689375449063797251009426438537764447079200576750333186520119481857793190448101819279717144329378876988943284147411318098189733527375703682498141689808197648427614990797220500598768066684364338090391466062529701007077226028307821581509321267559168097270731682002260837682131099076982651064718873532530801252045581207151859987960784214487870993345139164651896443211938162934947740143749702117610430378073601940459932455902789320359414395114508937511428615782519532683301602375824688966278706363234352332826810358834592201148489518323184220435538163384181953357128543915507246379275438489289458513812546680943361630986305143203978519404687448789754066112233123732346435404751095279941503631070225247874624818504093137579792094888429956517697596722022472873316558324679900533508110481039419707578051100464861878548985264213283934184411199934069191297142144206019382189627620069371126728640681626679908149178638044107292375908537988073739033111562174660027209738578106963253903583559238706461619816739606123683229560068157094119730615135810282710457143269463799504103518720925883182772571561690576197028201008015236891555561251136330369292622608917412954702050300951033357238443116454681207098187624315670349867599123990436982261912746616063051861459653619762718337712475314458581423629580908962365533266631919262124592381487014132020846106994885667479230341435169342531120939019120060804499513397062047229026860491879739700610718274110431341019767430473312327967411814959149261080556296931817719220684686156430984301660298025366341434821958078354598554053739750543005196569845929420351977754173579718590446754564132654083045897147979745672865279410885453544002795570569269065882321321462480953038648646036530722337354577656516124578345140157933040971715021417677946475881218176979582927025662103486535372284717413311937802438158977913810131389207116941345736515212912519951039605517589831495440959129654458182834277273255481930367966978125504467196532157250211632953060309157396748957866743583206538459796657316712713051557051464672058656034379127053905985492605007687125460420034367299734060402899969453849491745155745315281451849099198724933943205667382499981057574299926638557817195771754808534443153728030490678708724435094061630637913057274399490515338153915553560950700514678901138871729943001114038180159120300475301610597036504054867656629333410042985873703626207198642289299381296832526197782829613462591838374176306270274055959856663333738820992698432341292488616051298842446663334775609369536152870240761300267494686156700498581810596272304512539930699777716621496628791155599621220378241862628730721748950783053392326190585244629757751740648114871175298795472923218761169807615857814084114346187425617488738512346189331279416732327415353336483878101647373723310552316621862116136605049758102201262190753131949813110366354962496238545235901909189054546836327504274879729953273516838750609064036722646302898545542954378256691710140368907076867791253984337194574595687874527637247063374616722220515227040129821582057708390341361153317896363962070894153738156575372141347131934715437845868701531817304630985519697951060308759612092373379497305042174788907933934143195435090203356026493924766500382502808454469344588578781451927602572799929344792758285944308709874514154465211915045642604757970857657473163820916869856467063478062470373561665643216466311301988059110349319580893121074346081820243020847238198381214458984320102771576860993080488365288130401948634209266429320020465386442730826562348994878720025104304013205710127990740619150487351068948274213334629990561362314371159655687961536359295239732404694469704922621067344698342062978966847082372146178737238142607992592543196059069711652579657027234073551202696985437070545302312574169971421760031170215941347023705633713168678381803960941882935443618952339379061796948661443 82037215536810099517937053987305608384280152950391862128154916308619970150880886034018243401082441287851614797109378879804292984419034202738742378929435359362478511858960134591107081718341655908232408953277036507813115129599135870648404874671849302391495319648595832779407682679207889311664662636951962640499703107506360696498649197491826979423809033371645090432881695904989052877737807285725508153945795352439879668725626142863964975974901414769835606417037001378036766383502679048621573941983198161708615088359620461761772602952999883087648963334663297096895548038065908659880655959702183774153772905572464761898615080592083924159061589213906615594992095598926934873370488736183079218607068277726663125201527652538059045812736289708714346095997356700567549764964177891675432163375679804774441405373496562679109614693389590902879160045227141459878303252697394072370164848003010906999429333568564984459064027847948644407460456089071276750107358848549186074036088025015877958914991729249059999206957943204171735703173263139119581301477415131532462955054645191377677191604599933865861776147300092229441157196691007623593156500954121570303364525911786422563687315228451389055804959438266334158442491986663224062240289463278586554210666274079881639211179793072677394438249824825521090224223359622599508005849042048860367506981594155322436367202845836496031646675927722602265735083590563753587750500339399349038913627768404382199403887484730871003099780288359360024711170801115637843473758381744466174872761403596244550783418452421627992207758420962697569494066854813727097436599586544911796964309568928663430557037552906772431491830035424293448918070349239384019266281602622719409379034859088823341015357235928196705457848398009923705891824603205837768829257204021113217264759945924470423235601266890054371825332752184310853364458334289309186892572475546981386609820262913004635558307540978501372748593656518538362569981384992439524868977609351290967075158063997801777548525405111426179414638054597775374184335310784435914523226434674833434802435198913211232827965244997466755367807421522407160118474353684452156693696998170062186389940293940293617388474824129845952249908094616562113793636929335344421676039330056515167183680396826804271034752136580638490934104636710729845200627607279625048059143556496613627905303717264114096119921150741045632646713106871899371624052658466301192913068361986101160830336204213754053423965983078894750489780998698869198606448869506541969963765437157743509167101239282746047054616928730522933941004651665193853748733231953683456299914092705228555963887446593008880973541231653370274633210889604278173422509759791652795077668610369768783767712004929126590414938965612302006678112313787653368497302892875148126361598443554833922035666536227425388149273268718944900140332600661054973186536506235231693427421062628593305066521844424078958433409664827135909671153898727106345097870462178377931794056904870209839341074961490105958498883862224339050868683587972757218038325762075519330942962236188018127044618556638373085658750278774012111940938360079996472955068244409196078701658844961763790899647956185870375770155825961800547383890117024060081411923215929005193966401100241472275476343899247127412611112853856262540040153193296833069789635966740999348268566994086989546677211738319640580442136757809613681827727210031444336082516172666874315602377532857142291097217602584206809852030070007010492909164520946113386535495745952930228236585588495036133233311284364336738206517131216905185505126355967351246149509689856107267969815317303438452890297438945328812175048470772533592334786742836795248714487074191452308782797667914325286632365772027252056474150324354491677426865133004006139989929332842684263924462505931191275461555851357590771286901356990221595788704005792099803838629379064721780403427254411273851471197776000366993542603384355126079 132739003080959691413787751205767197073655602014189113137581354846384417230081462784351429921201923145644805245211198159521437313797911191682026526340753457552212039234663817089248771526539304335847399750497537106581181813963473961039870937201550309468721347956417414288728950238375986582396344639212800322630802184489011761217522730022628231469390240523505078393665910392860046222876971937621951365883958287387619812475328260474395354048503355229768062319826321737451161498011616560050189724502730845010217464184309428040478966187352215914459322169255498245385066361250129095418819343884137131282316821079711141174053569881542437971608270157268246581297238802905454278057937525937145330840192010073098529952622932479562676882961537583339164600090494280359644653394134409373028885398152678090999730053397096187220095732809298480930260510089020008863567465981328256781364782072202204141573539587947174086684097219075373048142082768979425928745402955841561982574076098754911070477166389276269737785064906458075319262411969600739398041083538814762023023211739311108292327414882644323005045611099596332959878122574190396164718191530318598504372541148677978124938451558820681678413876851221036208743443020020462505356744144485684741834981944429749238335170230054939307184865887877382549877843122340937220481163500630283997087890556520855702999122107961088413133690059743448372729969258042983929185669681930469977932747829208881712800949531959897863591660028059970742985281232456657610904231694072433586687720552857325107080350270140848676893914851946999229792092221155161919394677941143465850704060111933860000402966973258750185665409754014740203482203003322429916414261348295584688789920312632826136585926504994079026779310878962962354537861133928175123406913720145691562404917878965442138257018944836530253043509731767237879026561820824681471609985787484783824768798176723136024765424482324237887961506176469577968087571216487880483998632067534125244348413545928169744526650909578622711571888266230728434493492707533393781266809641213293231459751911626262789879429917056122789746934475428392652723482040809912576728064297904122589289909747789785362544220139411297801349106819550505319461019429316401995975965968614332362955435205361247424762782627259347215369198698341367758257902006770140386213059110057564328419982618402985826062922264779225791767013582173509968660556713333957822246478404971974864456543402856043352805262815605092533319394461290707572782755139780597929820428770896564501865533580575234663105915771177186268716614021201346723989494532221178142456614591287039152236191959132939580751257853149999065788810510824656415285138490513401745860722002695959369012341762680867238529810140911097479601331074957460984355116976989494313787215932293346268224997815644157715564626605202823001787706323971607289808398622371836743185523263890784058198471657534445313395905903372371811580342953273942672602145341908331205310895655479273876063721264388651501453262118916049191237590664840548472022662956650115018817489873435081501661340777153600125788571860831720502282299513397892836917139138562934235277030986308895725615085802054571907587460456947320245334950425783672173785302713234047368755309034175615470911434102603153906535879354238765348494622537885411851241563569313799277613359752372933855387086252474105792357182400414371652685384683195265252952372639730352378072751094522785507563528904572265920201349650900131567255246341189134233773694127167389212556688360071897126313799649652467140155151340483334505525591742410082072711858684734827293074119330509148580881038058095816163243996744985868222325348105151166408370175035727811604022530072608794991554986839371950398537129291201574049573043870242148747982521876038743333636115085588218509535107054054576208357446659302795765760125765823270019779976402770355493572105636215234793354133219619319332921665181303787522 214776218617769790931724805193072805457935754964580975265736271155004387380962348818369673322284364433496420042320577039325730298216945394420768905270188816914690551093623951680355853244880960244079808703774573614394296943562609831688275811873399611860216667605013247068136632917583875894061007276164762963130505291995372457716171927514455210893199273895150168826547606297849099100614779223347459519829753639827499481200954403338360330023404769999603668736863323115487927881514295608671763666485929006718832552543929889802251569140352099002108285503918795342280614399316037755299475303586320905436089726652175903072668650473626362130669859371174862176289334401832389151428426262120224549447260287799761655154150585017621722695697827292053510696087850980927194418358312301048461048773832482865441135426893658866329710426198889383809420555316161468741870718678722329151529630075213111141002873156512158545748125067024017455602538858050702678852761804390748056610164123770789029392158118525329736992022849662247054965585232739858979342560953946294485978266384502485969519019482578188866821758399688562401035319265198019757874692484440168807737067060464400688625766787272070734218836289487370367185935006683686567597033607764271296045648218509630877546350023127616701623115712702903640102066481963536728487012542679144364594872150676178139366324953797584444780365987466050638465052848606737516936170021329819016846375597613263912204837016690768866691440316419330767696452033572295454377990075816899761560481956453569657863768722562476669101673272909696799286159075968889016831277527688377647668369680862523430960004526165522617157239789439033652400273352561813935680542950918304098168955171721649477601283740922275732237159276972886060429685737134012892236170924166804779669677824889912561492620211726584624868842483951548732391020155113990658502558263031765211378618439636140660323732023302739260710099832988116330657552601480320008867609676885416211423571609925971522075176314690048890986526320828503808677828018317829695790036075888126666262187110539474022707395162053589545114741896950799812841956394494364733421761296074184775679850041730078979932694963541143753599014914167067433254656358651746417652005298670847530139115602188051695797534763839985706303303335052097603458529614049765434272202666554177956325286335667099922182843415520271424413726689045409340284609371800259015159546766958076025286879607069797406229228798683987283809175459989576771389204009287139899784194208054308011032634819857980710160532699907709202657618672866540577738227764174861598756528683992267708200079405725948461724799084803369340422021400428934588707648250305054540938390613065728152780053767609993828944749106523399486279443388745114352852419869864642440148814375848180190260664351871583103713899873921767901928038924632662262994935128607068436612944326519377363264993501958524271829315568199507721251496852001049017700015804086709137104952560349483715404796225878757459952145981140388242106274252813305690060988718725634349760452109623099628705959333791973211447322139605732614223237873477889309872207382972130313978689831270659516514733758240442283357616282909120792718840542807732255197225929163052562721710134417087746387778001850281319146992208095027888534775731182244921031199536054798625881926746459923402064297990793746372799319158223985334513111893226709589034888812397226693675128627379927798660746507156472730053379720907142060164410862135247620309189873120319440793273948566933259547110934016803878361668471700239691030718098377433318861368374590934561043934647812587033771335497041144975419045215758401814660134847987961657084662109919263912805327740523120278187352611399202455011279615556065726999909003246154887972451208881427597560577591519409784996662905412166979644348016293017361548829771615369823618605781835077273975532890626508644825330995619686326464268565658913601 347515221698729482345512556398840002531591356978770088403317626001388804611043811602721103243486287579141225287531775198847167612014856586102795431610942274466902590328287768769604624771420264579927208454272110720975478757526083792728146749074949921328938015561430661356865583155959862476457351915377563285761307476484384218933694657537083442362589514418655247220213516690709145323491751160969410885713711927215119293676282663812755684071908125229371731056689644852939089379525912168721953390988659851729050016728239317842730535327704314916567607673174293587665680760566166850718294647470458036718406547731887044246722220355168800102278129528443108757586573204737843429486363788057369880287452297872860185106773517497184399578659364875392675296178345261286839071752446710421489934171985160956440865480290755053549806159008187864739681065405181477605438184660050585932894412147415315282576412744459332632432222286099390503744621627030128607598164760232310039184240222525700099869324507801599474777087756120322374227997202340598377383644492761056509001478123813594261846434365222511871867369499284895360913441839388415922592884014758767312109608209142378813564218346092752412632713140708406575929378026704149072953777752249956037880630162939380115881520253182556008807981600580286189979909604304473948968176043309428361682762707197033842365447061758672857914056047209499011195022106649721446121839703260288994779123426822145625005786548650666730283100344479301510681733266028953065282221769889333348248202509310894764944118992703325345995588124856696029078251297124050936225955468831843498372429792796383431362971499424272802822649543453773855882476355884243852094804299213888786958875484354475614187210245916354759016470155935848414967546871062188015643084644312496342074595703855354699749639156563114877912352215718786611417581975938672130112544050516549036147416616359276685089156505626977148671606009457694298745123817968200492866241744419541455771985155854141266601827224268671602558414587059232243171320725851223477056845717101419897721939022165736812586825079109712334861676372379192465565438435304277310149825593978307364969759789519864342476915102952441554948121733717572752715675787968148413627971267285179893094550807549299120560317391099332921672502033393465361716431620819905820485261776611742284745268954070085748245765680299497216180740271218919308945166085134216837406025171930050889743423009925840759034491614289079817128569921280284344171959149067737829604622978950872512898168400433215373266448471084895471374232694067887301727722296396039741213143275279306860436271364858888042476056937953368406210831911253591003992786740818456286799112615761687521792395530290861067474559247434496965880774463702575337207536846854136753936030308141526458485662167515740819278526479124590903715745248604269552803333750978905179798467590410161421463465159492969585225221471571879532831839805274991690302161145995040342415848215828757591468517490267408961405408100056437433343864917653854162083651675375749368577941983058181130367300110945573337235894000437453116505537386875782146789346521535064549255720817579555242129819560295014190945076739856441038053790968591404428982528642397099931477019168592703217299212104453435225682871562333793237029398269067656772272763105368597903495286498832857257451384243267852165156501558638356987198496576421974841987261452127579071747879721902713306224275411728738650254729371807273627419657203324381854082884000287708653349962308638830385860910583669271018516819812183574196556309840787515391573227059325761854118053978321735614652373555136961138663041960744270036985482953139128065454837145647075516827857813131915269742339450771152853548408906757639776572952873488303635954973084920170931196692677107628294531769959466743188001794675595813127308955537438639843398582184605432767547638526841743438179464215239005659385933746962701123 562291440316499273277237361591912807989527111943351063669053897156393191992006160421090776565770652012637645329852352238172897910231801980523564336881131091381593141421911720449960478016301224824007017158046684335369775701088693624416422560948349533189154683166443908425002216073543738370518359191542326248891812768479756676649866585051538653255788788313805416046761122988558244424106530384316870405543465567042618774877237067151116014095312895228975399793552967968427017261040207777393717057474588858447882569272169207644982104468056413918675893177093088929946295159882204606017769951056778942154496274384062947319390870828795162232947988899617970933875907606570232580914790050177594429734712585672621840260924102514806122274357192167446185992266196242214033490110759011469950982945817643821882000907184413919879516585207077248549101620721342946347308903338772915084424042222628426423579285900971491178180347353123407959347160485080831286450926564623058095794404346296489129261482626326929211769110605782569429193582435080457356726205446707350994979744508316080231365453847800700738689127898973457761948761104586435680467576499198936119846675269606779502189985133364823146851549430195776943115313033387835640550811360014227333926278381449010993427870276310172710431097313283189830081976086268010677455188585988572726277634857873211981731772015556257302694422034675549649660074955256458963058009724590108011625499024435409537210623565341435596974540660898632278378185299601248519660211845706233109808684465764464422807887715265802015097261397766392828364410373092939953057232996520221146040799473658906862322976025589795419979889332892807508282749708446057787775347250132192885127830656076125091788493986838630491253629432908734475397232608196200907879255568479301121744273528745267261242259368289699502781194699670335343808602131052662788615102313548314247526035055995417345412888528929716409381705842445810629402676419448520501733851421304957667195556765780112788677003538958720493544940907887736051849148744169053172846881792989546563984126132705210835294220241163301879976418269329992278407394829798642043571586890052492140649609831249943322409610066493585308547136647884640185970332146619894831279976565956027423233666409737350816357852154939318627975805368445562965174961234869671254757464443165920241070555289737185670428609095819768640594466960264328649229775456934475852565571938888126915030302616995638165263720412973067100937745381269861115561163158354877729388817187005180523930803220291196083426981170992604674031851366934427879465950060570901339969671959271574568636350770584836504200856022756737746632853311682525592700434991123510827737503228827415674572449297900854896419308353957896452160217852447689690059956716718779194084844683989706648746326519387323922992426353046358805643784173236931815798268879585973616411411916929538784728458661451493857054537039771387254083336657276040708002176950081749479520800776178241306873313716146166421357554081196825675450139170467159852144640394101383718338394092681280759073259444737546548683216140043185730728775260353671456661553904507194863234410648850214758644553318535456474302693022765561830772631511399136684179754571560152494198729303009790963686990106303716544829863770428821125564174000249901693303962641423396529377213245292780659515682234061598537955820716862342321711608469648684431022150264524805765423008349282641104885021918885211380308109092714415687584068065459629474392073873408028094143236257205763645408021517686074896878488283883813887587027939164948710434595433916696415161988626134322648423709052178106114082087176502671851645617801127089722539499255566339429633185553655035547929692062170355308559688522313705503572861876734458523927424293801598528757270268627038079528432864878910167646142691888830488857785309054009667017187966440510041523171417468252083004795210858691985850202312621614724 909806662015228755622749917990752810521118468922121152072371523157781996603049972023811879809256939591778870617384127437020065522246658566626359768492073365848495731750199489219565102787721489403934225612318795056345254458614777417144569310023299454518092698727874569781867799229503600846975711106919889534653120244964140895583561242588622095618378302732460663266974639679267389747598281545286281291257177494257738068553519730963871698167221020458347130850242612821366106640566119946115670448463248710176932586000408525487712639795760728835243500850267382517611975920448371456736064598527236978872902822115949991566113091183963962335226118428061079691462480811308076010401153838234964310022164883545482025367697620011990521853016557042838861288444541503500872561863205721891440917117802804778322866387475168973429322744215265113288782686126524423952747087998823501017318454370043741706155698645430823810612569639222798463091782112110959894049091324855368134978644568822189229130807134128528686546198361902891803421579637421055734109849939468407503981222632129674493211888213023212610556497398258353122862202943974851603060460513957703431956283478749158315754203479457575559484262570904183519044691060091984713504589112264183371806908544388391109309390529492728719239078913863476020061885690572484626423364629298001087960397565070245824097219077314930160608478081885048660855097061906180409179849427850397006404622451257555162216410113992102327257641005377933789059918565630201584942433615595566458056886975075359187752006707969127361092849522623088857442661670216990889283188465352064644413229266455290293685947525014068222802538876346581364165226064330301639870151549346081672086706140430600705975704232754985250270099588844582890364779479258388923522340212791797463818869232600621960991898524852814380693546915389121955226184106991334918727646364064863283673451672354694030502045034556693558053311851903504928147800237416720994600093165724499122967541921634254055278830763227392096103355494946968295020469470020276649903727510090966461706065154870947647881045320273014214838094641709184743972833265102919353721412484030799505619369620769807664886525169446026863495258381602212938686007934588043244907947833241207316328217217286649936918169546038651549648307401839028326891392855689577075242726219777662525815824243807271418674374776119265856775207231483247958174941542068692689971597110818177804773725626921478924298212027262146918066315302550145459733122307422615558993440165956053036828971620724411456693429642077500145406084061002315181193672356966941081182815234550881429072622135443724546676912960710106152843685222936116596693221731941967114536615844589103196364844828191715963893867601392393418040992316150265027267493563572915948020874992131233107231988686903064742270952832170949709359529421841201368601602630564878796209879507339700206191923820944463442279758511343266786915176462551032398304338096076789821936648992006998898341831206413575382762962181253263108794004088121014014228292069477133086916336075739461889440559555683119885919110140480638847234312647229453603450900426042259412490131466429770000774372878830470665247769762622002868826422479990541113162283213957252425675748471602494180986202210757151770512735332762614362593572269317558465576725746791994432872499744125637916967066477329450703112322275500699308910105046070659273009411716652384837170888071185354411109297330613950030562838464521689315003725268784011328474957873695736747493198565844594031268932101355345915395308096067388084143337779952464102007822493242458269280042604456058263076082607315067252745129137246941888631100754266217787994336401213414946461043366786950817672031512941508162108097429071345280145814750222762159882397378721769459953962945734666374060202824345653355647937367484643616166740846492649510415770151045942809070809944309995521184259426097697645236136059584315847 1472098102331728028899987279582665618510645580865472215741425420314175188595056132444902656375027591604416515947236479675192963432478460547149924105373204457230088873172111209669525580804022714227941242770365479391715030159703471041560991870971648987707247381894318478206870015303047339217494070298462215783544933013443897572233427827640160748874167091046266079313735762667825634171704811929603151696800643061300356843430756798114987712262533915687322530643795580789793123901606327723509387505937837568624815155272577733132694744263817142753919394027360471447558271080330576062753834549584015921027399096500012938885503962012759124568174107327679050625338388417878308591315943888412558739756877469218103865628621722526796644127373749210285047280710737745714906051973964733361391900063620448600204867294659582893308839329422342361837884306847867370300055991337596416101742496592672168129734984546402314988792916992346206422438942597191791180500017889478426230773048915118678358392289760455457898315308967685461232615162072501513090836055386175758498960967140445754724577342060823913349245625297231810884810964048561287283528037013156639551802958748355937817944188612822398706335812001099960462160004093479820354055400472278410705733186925837402102737260805802901429670176227146665850143861776840495303878553215286573814238032422943457805828991092871187463302900116560598310515172017162639372237859152440505018030121475692964699427033679333537924232181666276566067438103865231450104602645461301799567865571440839823610559894423234929376190110920389481685807072043309930842340421461872285790454028740114197156008923550603863642782428209239388872447975772776359427645498799478274557214536796506725797764198219593615741523729021753317365762012087454589831401595781271098585563142761345889222234157893142513883474741615059457299034786238043997707342748677613177531199486728350111375914933563486409967435017694349315557550476656865241496333944587029456790163098687414366843955834302186112589648296402834704346869618214189329822750609303080513025690191287576158483175265561436316094814512911039177022380228094901561397292999374083291646268979452019750987296135235939612172042395029486853124656340081207938076187924399197234739561883627024000753276021700977970177624112770284591292066354090559248330000190662943582766886379533544457089102983871939034497369674191747576607404716999003168542537169049706304719804028243917117089561932440235214019004060683820006575294285465777493288382257352961233560759774841015607540120410813070104819437935427936743060659622417537842421152487193822455997708972906028561050877768983466843899476538534618642189393656723065477942274119073416518870937294126092570860313175955350289870201210168597954717327450280291695142105719676120939755978315206290388665263379185217308515003313595078133184399871510150852412621291424269238990920382482395957299334295551114654040998513119827073106306515046158539301457449768185240205215144922559741804120516262450088784244143258588173866372932463578516805254730168420742648513819000420666434602326280523824577963087907583125060112454330549454275724542115279984759418926197365927139550462785387564699599053991389677797342037785517404919874477774612285144673192317060868315342599103191435488157746269567460158880688388215390962249712989418418576482748711391049241068142992363041630621713515719343704031561981177190602593896420467995515994319249499161410870947557236105002587793334243640802867031747103764841636434823050357676676953619041420812273796379951201971730365719117412812442417927159154684442031230590380911499791659493173366827216313749613740276718555393307510533835656779754376094228920441986365601723575111863470667785951385050783718676626957220683809821672523367988711233214361704453588635689224563523294080059373474105024526155546659177432958117486452850593981361778247604189054636956389631086338372205930571 2381904764346956784522737197573418429031764049787593367813796943471957185198106104468714536184284531196195386564620607112213028954725119113776283873865277823078584604922310698889090683591744203631875468382684274448060284618318248458705561180994948442225340080622193047988737814532550940064469781405382105318198053258408038467816989070228782844492545393778726742580710402347093023919303093474889432988057820555558094911984276529078859410429754936145669661494038193611159230542172447669625057954401086278801747741272986258620407384059577871589162894877627853965170247000778947519489899148111252899900301918615962930451617053196723086903400225755740130316800869229186384601717097726647523049779042352763585890996319342538787165980390306253123908569155279249215778613837170455252832817181423253378527733682134751866738162073637607475126666992974391794252803079336419917119060950962715909835890683191833138799405486631569004885530724709302751074549109214333794365751693483940867587523096894583986584861507329588353036036741709922568824945905325644166002942189772575429217789230273847125959802122695490164007673166992536138886588497527114342983759242227105096133698392092279974265820074572004143981204695153571805067559989584542594077540095470225793212046651335295630148909255141010141870205747467412979930301917844584574902198429988013703629926210170186117623911378198445646971370269079068819781417708580290902024434743926950519861643443793325640251489822671654499856498022430861651689545079076897366025922458415915182798311901131204056737282960443012570543249733713526921731623609927224350434867258006569487449694871075617931865584967085585970236613201837106661067515650348824356229301242936937326503739902452348600991793828610597900256126791566712978754923935994062896049382011993946511183226056417995328264168288530448579254260970345035332626070395041678040814872938400704805406416978598043103525488329546252820485698276894281962490934037752753955913130640609048620899234665065413504685751651897781672641890087684209606472654336813171479487396256442447106131056310881709330309652607552748361766353061360004480751014411858114091151888349072789558652182660405385639035537653411089066063342348015795981321095872232438442055890100844310650690194191247016621727272420172123619618957746946248825405242916882721245292702203777351728507777358648058300354144881423230824565579658541071861232508766160524482524577753870838596013860144467497360937070375986370152035027407773200108847375697518917286597588746461740018996813840455147604964844019488939058241853294774504783502335302428373337426781595041472285597554681944176950052320223757554758786086878455007445056810734918005622067302138954284286824207043556742683288242202484748219744594943843864611090126594668252172863210303893193453407534332017388258224362843016919334553001474140715731208831170931608939197112306303340420741614054062457920827913689582378105504610853142235329123394098760192239103556976128973317186883478443703351893038147346709187880601224533055649892171066244160204537954378556103786320521436421004463425197400554812578663563354756591713688214673581709754760193299076196397804798232548009567568425476471380218910504320999474657345550226246214779325659394527818020085855334435954049850751318538885018624457414135007385395122212733544056493449815188720499944180465267863740939531818561790002977040973697829575439764784491653349927103616580113111441433786021757794317591518603027652131341989620799501589129633388894951707945885720396766727669104476018590055873703499069876914450240420401612953722073835046439174575874266808240619572345450996555628907819309659525298528172057993169322555272287228937183273755088053371632775883380456396063864491377179982843692219051245137448665196160096370827648838513570216878942017426858117721191267002039308687848728268532395659664791306088243125373314063054087276322474431790246418 3854002866678684813422724477156084047542409630653065583555222363786132373793162236913617192559312122800611902511857086787405992387203579660926207979238482280308673478094421908558616264395766917859816711153049753839775314778021719500266553051966597429932587462516511526195607829835598279281963851703844321101742986271851936040050416897868943593366712484824992821894446165014918658091007905404492584684858463616858451755415033327193847122692288851832992192137833774400952354443778775393134445460338923847426562896545563991753102128323395014343082288904988325412728518081109523582243733697695268820927701015115975869337121015209482211471574333083419180942139257647064693193033041615060081789535919821981689756624941065065583810107764055463408955849866016994930684665811135188614224717245043701978732600976794334760047001403059949836964551299822259164552859070674016333220803447555388077965625667738235453788198403623915211307969667306494542255049127103812220596524742399059545945915386655039444483176816297273814268651903782424081915781960711819924501903156913021183942366572334671039309047747992721974892484131041097426170116534540270982535562200975461033951642580705102372972155886573104104443364699247051625421615390056821004783273282396063195314783912141098531578579431368156807720349609244253475234180471059871148716436462410957161435755201263057305087214278315006245281885441096231459153655567732731407042464865402643484561070477472659178175722004337931065923936126296093101794147724538199165593788029856755006408871795554438986113473071363402052229056805756836852573964031389096636225321286746683684605703794626221795508367395294825359109061177609883020495161149148302630786515779733444052301504100671942216733317557632351217621888803654167568586325531775333994634945154755292400405460214311137842147643030145508036553295756583079330333413143719291218346072425129054916782331912161529513492923347240602136043248753551147203987267982339783412703293739296462987743190499367599617275399948300616376988759705898398936295404946116251992513086447730023264614231576443145646404467120463787538788733289454906042148307411232197382798157328524809309639478795641325251207580048440575919187998688097003919397283796631635676795451984471334651443470212947994591904896532942408210911024101036808073735243107545664828059588583310896185596880342519997334851514555614978401172984375540075029775045935210230787244381782114755713103422076907732574956074436670190158610321693238977602135757954871878520158348521302755626536934251268217709784281954916875801302512917192042625923487789622195793424490567947500846648432450927643793951796762292173400975480535178072922999084853991422140938239433080376857684520219512092973158443412653346174461922394124156306232232314344373112619188619099483842072797711202605566739366156611997467737401345650866583621452462355878178188032688785736378040948349613572574868912202702205178610917368188393868424851548528377479308772121051533058991003994706153440677282290605297361746974156996634166697425796412580947186468197556524452755123762701528288003160488462395703723675809087141167963939215696989739519612225273562324944348695333397132268024530462769896707846358784992062265424704020827064470332586844878888401197933539145485338909064808452478783338102523222776357371925722962475069932563900111549185248608260226782570153532077509346681072535679006766042358680912121345443097935829612272852304733578993899320179311937271292934209021367903266430766068211945309384622839339438187539942900855969792027604069218187289726892658347560767638164105065636820086075665926301413986399561764746169369184537865052832809062007714772923698649501207670923548875478663165235103443669331841446847583168004137203527502040723768505437376429374458075281237474202794780402236097486231591826215793157585967865281686386018848510258772667866490729562368700010476907408812803996176989 6235907631025641597945461674729502476574173680440658951369019307258089558991268341382331728743596653996807289076477693899619021341928698774702491853103760103387258083016732607447706947987511121491692179535734028287835599396339967958972114232961545872157927543138704574184345644368149219346433633109226426419941039530259974507867405968097726437859257878603719564475156567362011682010310998879382017672916284172416546667399309856272706533122043787978661853631871968012111584985951223062759503414740010126228310637818550250373509512382972885932245183782616179377898765081888471101733632845806521720828002933731938799788738068406205298374974558839159311258940126876251077794750139341707604839314962174745275647621260407604370976088154361716532864419021296244146463279648305643867057534426466955357260334658929086626785163476697557312091218292796650958805662150010436250339864398518103987801516350930068592587603890255484216193500392015797293329598236318146014962276435883000413533438483549623431068038323626862167304688645492346650740727866037464090504845346685596613160155802608518165268849870688212138900157298033633565056705032067385325519321443202566130085340972797382347237975961145108248424569394400623430489175379641363598860813377866288988526830563476394161727488686509166949590555356711666455164482388904455723618634892398970865065681411433243422711125656513451892253255710175300278935073276313022309066899609329594004422713921265984818427211827009585565780434148726954753483692803615096531619710488272670189207183696685643042850756031806414622772306539470363774305587641316320986660188544753253172055398665701839727373952362380411329345674379446989681562676799497126987015817022670381378805244003124290817725111386242949117878015595220880547341249467769396890684327166749238911588686270729133170411811318675956615807556726928114662959483538760969259160945363529759722188748890759572617018411676786854956528947030445429166478202020092537368616424379905511608642425164433013121961151600198398049630649793582608542768059282929423472000482704172470370745287887324854976714119728016535900555086350814910522899321823090311473950045677597598868291661456046710890243117701851664985251341036112799900718379668864074118851342085315645302133664404195011213632168953114531830529981847983056899140486024428386073352290787088247914104657701168055635205659437038209225738564034081146891007554701370755269768959535985594309117282221375229935893144812656560310645349101012177710983133652390795806755937267764495645533748091723365314749125974405814859544366211966547409425823092050569130851272162988973132245987132871820744004116986049728159761567413633080368055895588909427763005541572034661144508727263068835656446685615138094394206517337968020917322358909012625285482398922992677295480332043219993824963728999628916802290402819791582314830283633287487117385144995089076798782562403676030495696825892284583284115528221330629197548245647288569718412329097180506376177887473149856792570320437952006549627575381529689816589596862656741151724422576112628239075645199122532751428357889017208282387239163843732881652153889278699494279805524349758722749146927881406699836450006934150115618350679784466719610974930267041843795991981372696908487053267975099535189660383347337497407795516658230161752494138456506531563382379088832049129429073528090523509685350639299349658113509376836341482123465403774695370201552409725384293738519600751693637770830540298945065551010988702768019895701600840261092568725059834954267612005331988382083477772717257166641342898767962380591886178900683259260651540193109654605971907215742724998092357174712358107590179772766093021204773494899860732149233751218606736219552712297842911447659381317186371194259775013642886041625534554446108886312716364997281178114913089709547407060159625276553130414654551244169923563973954733854935682763064564183731287235786423407 10089910497704326411368186151885586524116583311093724534924241671044221932784430578295948921302908776797419191588334780687025013729132278435628699832342242383695931561111154516006323212383278039351508890688783782127610914174361687459238667284928143302090515005655216100379953474203747498628397484813070747521684025802111910547917822865966670031225970363428712386369602732376930340101318904283874602357774747789274998422814343183466553655814332639811654045769705742413063939429729998455893948875078933973654873534364114242126611640706367900275327472687604504790627283162997994683977366543501790541755703948847914669125859083615687509846548891922578492201079384523315770987783180956767686628850881996726965404246201472669954786195918417179941820268887313239077147945459440832481282251671510657335992935635723421386832164879757507149055769592618910123358521220684452583560667846073492065767142018668304046375802293879399427501470059322291835584647363421958235558801178282059959479353870204662875551215139924135981573340549274770732656509826749284015006748503598617797102522374943189204577897618680934113792641429074730991226821566607656308054883644178027164036983553502484720210131847718212352867934093647675055910790769698184603644086660262352183841614475617492693306068117877323757310904965955919930398662859964326872335071354809928026501436612696300727798339934828458137535141151271531738088728844045753716109364474732237488983784398738643996602933831347516631704370275023047855277840528153295697213498518129425195616055492240082028964229103169816675001363345227200626879551672705417622885509831499936856661102460328061522882319757675236688454735557056872702057837948645429617802332802403825431106748103796233034458428943875300335499904398875048115927574999544730885319272321504531311994146485040271012559454348821464652360852483511193993292896682480260477507017788658814638971080802921102130511335024027457092572195783996576370465470002432320781319718119201974596385615663800612739236551548499014426619409499481007479063464229045675464513569151902493635359519463768000623118586848480323439343819640269816565047629234322508856748203006122408177931140251688036141450697750292240904439339724209803820115663465495709795646794069786979953577134617143005805537065486056940041441005949019864972875729131974050901411879370399144099701538043688052970057173992653187626911548409621221920782600636580986057013341318100350022220704298282962510849219249326750469255670794251155313118891607262674326914285789067251272070682342991583024533407929322690660846879129158590035349310881672764924275762730936473978894419583799464537955913748341901560737047948811153291054980442900849903943781005115038002193247482580928629605129027791440568668439732092177223554591223356998398101587542092161137553129754422599391703095156240914270027804165442448898451736095643365295573177683874813176823510753289603070565738094986788462726445589519023065973097195816947197721101218232039435168891467856010233247602728557303911374549538526323983287022659069322098910890773669152691830768961824061039431518377479603986110914972930874049616093104975689233799417749623321047693495623214803832104474537396920012326197038569458781876399634287868908266324568217575796888251201514245020528569448155789976191133619181452938109866064179469006633314942988943598314677681788317306079838882716808696339186045055843107524482146315896040813299488239337657146043253179745592957950142477570237999760032356606034450661769812785570477191564399273141807554906187958174111081841935444456368235557115523148230050283966320079346727206119411068592371468980488894367276895039765190916652187487539016719854274702570784281024712414383841839663222044139289759030827385454389898696300498782148323418054909012521390123786919159777683414212399321301373622853317211244418412101040570092680182336641821224584498051463075041091140100039782600396 16325818128729968009313647826615089000690756991534383486293260978302311491775698919678280650046505430794226480664812474586644035071060977210331191685446002487083189644127887123454030160370789160843201070224517810415446513570701655418210781517889689174248442548793920674564299118571896717974831117922297173941625065332371885055785228834064396469085228242032431950844759299738942022111629903163256620030691031961691545090213653039739260188936376427790315899401577710425175524415681221518653452289818944099883184172182664492500121153089340786207572656470220684168526048244886465785710999389308312262583706882579853468914597152021892808221523450761737803460019511399566848782533320298475291468165844171472241051867461880274325762284072778896474684687908609483223611225107746476348339786097977612693253270294652508013617328356455064461146987885415561082164183370694888833900532244591596053568658369598372638963406184134883643694970451338089128914245599740104250521077614165060373012792353754286306619253463550998148878029194767117383397237692786748105511593850284214410262678177551707369846747489369146252692798727108364556283526598675041633574205087380593294122324526299867067448107808863320601292503488048298486399966149339548202504900038128641172368445039093886855033556804386490706901460322667586385563145248868782595953706247208898891567118024129544150509465591341910029788396861446832017023802120358776025176264084061831493406498320004628815030145658357102197484804423750002608761533331768392228833209006402095384823239188925725071814985134976231297773669884697564401185139314021738609545698376253190028716501126029901250256272120055648017800409936503862383620514748142556604818149825074206809911992106920523852183540330118249453377919994095928663268824467314127776003599488253770223582832755769404182971265667497421268168409210439308656252380221241229736667963152188574361159829693680674747529746700814312049101142814442005536943672022524858149936142499107486205028040828233625861197703148697412476250059293063616021831523511975098936514051856074964006104807351092855599832706576496859339898905991084727087946951057412820330698248683720007046222801707734747031693815452143905889690680760322603720834043134359783914498136155102625255710799021338017019169234439171471871970987797002921872016215156402436974764170157487392013806195744856108605262833429691396852650112443702368811790155337951741326782300854085944331337986519658192446742364061983310779901019895263333024102025259653470133670223056831746917604430434714948339282533903728505520391245341125137444775133973723334055127034893925447111140406716671285281960030734391629720498615362444233659110876031810277666949322577149699146701974745649764286051814642929534962874957070060198140876950132369623683583986465084838433033461797642593216666824155869831072318206985234031213282019728930852412958322678963889975606073156965633566262563987271371746841973810849652263521342843105516916133430315412545811346778941005867025817923166509310461002124920056013799876619521726063250635313349781780930906414160946593790859876266496812268498154136774606931268246994254388728079223273973079770442642551096210531940924544331070127944547718353925501487374564554910752062316549590272705375304469489344555718229831503127473598929135839683099862360202635975538196697322077775647444106755316407829589524233356108045997299554432679449006605611719670736183501040649063041439781772780497286595720973017869183065311043345308802470557471413625831569760289459108096075166911519946556194559614652701623009578455883485528821936462867003338607378746312520723198343376196231619365369252214477549024242367260305109741059048197470645013173946165602448575882774756437132670478486766771576269890560273795791209459680443566967499010099635524774964592327312411010921029913476836520971542515695121336850105900615775958439433734226139605274871387275569023803 26415728626434294420681833978500675524807340302628108021217502649346533424560129497974229571349414207591645672253147255273669048800193255645959891517788244870779121205239041639460353372754067200194709960913301592543057427745063342877449448802817832476338957554449136774944252592775644216603228602735367921463309091134483795603703051700031066500311198605461144337214362032115872362212948807447131222388465779750966543513027996223205813844750709067601969945171283452838239463845411219974547401164897878073538057706546778734626732793795708686482900129157825188959153331407884460469688365932810102804339410831427768138040456235637580318068072342684316295661098895922882619770316501255242978097016726168199206456113663352944280548479991196076416504956795922722300759170567187308829622037769488270029246205930375929400449493236212571610202757478034471205522704591379341417461200090665088119335800388266676685339208478014283071196440510660380964498892963162062486079878792447120332492146223958949182170468603475134130451369744041888116053747519536032120518342353882832207365200552494896574424645108050080366485440156183095547510348165282697941629088731558620458159308079802351787658239656581532954160437581695973542310756919037732806148986698390993356210059514711379548339624922263814464212365288623506315961808108833109468288777602018826918068554636825844878307805526170368167323538012718363755112530964404529741285628558794068982390282718743272811633079489704618829189174698773050464039373859921687926046707524531520580439294681165807100779214238146047972775033229924765028064690986727156232431208207753126885377603586357962773138591877730884706255145493560735085678352696787986222620482627478032241018740210716756886641969273993549788877824392970976779196399466858858661322871809758301535576979240809675195530720016318885920529261693950502649545276903721490214174980940847389000130910496601776878041081724841769141673338598438581907409142024957178931255860618309460801413656492034238600434254697196426902869468792544623500894987741020774401027621007977457641464326814860856222951293424977182779242725631354543652994580291735329187446451689842415224153941959422783173144513202436146794130020484532407540949706599855493710144930224889605209287933638481022824706299925228411913411993746022786844891944288376487876176049527886536113507733788544161575320007422344584479561660853323590732572755974532727383795642172186294353558690817941154957591583311310061249156690689514488337220916866916144460584508845898998189675112777706531363815941833051196181238124470283727480124444855396098979402797624861921090034826300470749819915944482733531281235663311255386950165856474711127570893103582264737148895222228230692915656943670720975531543396802152375364431541355726622081685574007176999570586591552065192608369919312110745342346011150676480111733755824574217708531500362838703152429583910255236636828302082258160209568419400368675329494440038922464113854531533644585246515670408861877259065525895066614372376674458582337783163642180795385349546204123450933622737183122770654830291394643976416254609069109705480980884340099230077961878641023596400818136138174311014364045399081727990140270744756923384283363774198842779660328641117807848502263555671003589576246799279658917449790062755021136037972226266815444544830012265066719245758784437104725135669363116072916742336485599488522556531087758035566776996800528888400698585825025960242879553671115495439421065071075701914836921219241226411402046951853858381237882721817707904730305641456588146079377814012999008677051986746833323417954105952431931791790714845176720513732646147254242739940894554747844126460913322900041429294198658579986290415545996800576422429509314152225966168586860772577939532877735352579488889133886554684552648006539711732312294652766794047765389954616735691429530288237257597183023931785689214646366011487315351624199 42741546755164262429995481805115764525498097294162491507510763627648844916335828417652510221395919638385872152917959729860313083871254232856291083203234247357862310849366928762914383533124856361037911031137819402958503941315764998295660230320707521650587400103243057449508551711347540934578059720657665095404934156466855680659488280534095462969396426847493576288059121331854814384324578710610387842419156811712658088603241649262945074033687085495392285844572861163263414988261092441493200853454716822173421241878729443227126853946885049472690472785628045873127679379652770926255399365322118415066923117714007621606955053387659473126289595793446054099121118407322449468552849821553718269565182570339671447507981125233218606310764063974972891189644704532205524370395674933785177961823867465882722499476225028437414066821592667636071349745363450032287686887962074230251361732335256684172904458757865049324302614662149166714891410961998470093413138562902166736600956406612180705504938577713235488789722067026132279329398938809005499450985212322780226029936204167046617627878730046603944271392597419226619178238883291460103793874763957739575203293818939213752281632606102218855106347465444853555452941069744272028710723068377281008653886736519634528578504553805266403373181726650305171113825611291092701524953357701892064242483849227725809635672660955389028817271117512278197111934874165195772136333084763305766461892642855900475796781038747901626663225148061721026673979122523053072800907191690080154879916530933615965262533870091532172594199373122279270548703114622329429249830300748894841976906584006316914094104712387864023394863997786532724055555430064597469298867444930542827438632452552239050930732317637280738825509604111799242255744387066905442465223934172986437326471298012071759159811996579079378501985683816307188697670904389811305797657124962719950842944093035963361290740190282451625570828425656081190774481412880587444352814047482037081192003117416947006441697320267864461631957845893839379119528085608239522726511252995873337541672864052421647569134165953711822784000001474042119141631622439270740941531349148149518144700373562422270376743667157530204838328654580052683820701244855011261783749734215277624643066379992230464998732659819039843875534364399883785382981543025708716908159444778924850940219685373928127313929533400270180582840852035981332211773297025959544362911312484468710577943026272238684896677337599347404333947373293372029057710584777821361322942126569614594254731902730745107279543212421479703098475736779701701629369811408864924899578829119433034529832518787368201175233017142035101875975217125161001734278673699620609276732506521405237842426159414436295597196973880457201708758313650510494418353872212573505308491488096245765269560472261838003620053349707785825036743467980576414664218135910511325015775553505070121489823041802593128035657067220870203090866069529531956410393211218327593015782882027981029987961849057131057862449349867744284883449061575924833378799378638351583040261702521448600181517473232714553643597283717248621151270910473228523107223246480087912152587093484466689957864297569480588578780725407224895986323626059060268215292475277309784851148763397690412390957667398121207638860140492934131965029111162044923388991890860819137834586469451420083026709587144494893202891192421132965258887349429024788333785153921202005537693369755237513180301569537463740025606798740740166149392088513308604130382119047223639391776712640037233616712143317489333957888729227851286500201071240847702387392468882494205873923209700326756561484698744452514989058221372952133098015399468720288965136922008149236201972371097512074307372604745588738991428771557013555099987800918997542438477421046373730742337415796146456388143986190209327612598867024143323215682680270884286361497132430812766380394137873373141463365519915354251640882874590920648002 69157275381598556850677315783616440050305437596790599528728266276995378340895957915626739792745333845977517825171106985133982132671447488502250974721022492228641432054605970402374736905878923561232620992051120995501561369060828341173109679123525354126926357657692194224452804304123185151181288323393033016868243247601339476263191332234126529469707625452954720625273483363970686746537527518057519064807622591463624632116269645486150887878437794562994255789744144616101654452106503661467748254619614700246959299585276221961753586740680758159173372914785871062086832711060655386725087731254928517871262528545435389744995509623297053444357668136130370394782217303245332088323166322808961247662199296507870653964094788586162886859244055171049307694601500454927825129566242121094007583861636954152751745682155404366814516314828880207681552502841484503493209592553453571668822932425921772292240259146131726009641823140163449786087851472658851057912031526064229222680835199059301037997084801672184670960190670501266409780768682850893615504732731858812346548278558049878824993079282541500518696037705469306985663679039474555651304222929240437516832382550497834210440940685904570642764587122026386509613378651440245571021479987415013814802873434910627884788564068516645951712806648914119635326190899914599017486761466535001532531261451246552727704227297781233907125076643682646364435472886883559527248864049167835507747521201649969458187063757491174438296304637766339855863153821296103536840281051611768080926624055465136545701828551257339273373413611268327243323736344547094457314521287476051074408114791759443799471708298745826796533455875517417430310700923625332554977220141718529050059115080030271291949472528354037625467478878105349031133568780037882221661623401031845098649343107770373294736791237388754574032705700135193109226932598340313955342934028684210165017925033883352361421650686884228503611910150497850332447820011319169351761956072439216012447863735726407807855353812302103062066212543090266281988996878152863023621498994016647738569293872029879289033460980814568045735293426451224898384357253793814393936111640883478705591152063404837494530685626580313377982841857016199477950721729387418802733456334070771334787996604881835674286666298300062668581834289628295698794975289048495561800103733155412727116269213260464240821663321944431755902848274380565811773434150349550276935667287017196094373585198458533038455368155540502361925530684603433278214401274292309698543858993485759054839240748629743296954655990128011066914417569830897882867494281692592405024023684515532013932630143649289291210059317612784921791919699858692282969941984955007559442588981232532808735529741679173444492419202111150117365701984371486025961750674364948869740032843822867846955134479438837574206644901772978433406662780091321757010229286586991436749531378079287830021323404641296280465240977476106839919168151787692165978812611587002922510222920950445143842493382701716304378119758729621543948974956642539205755473837220689366203903883316833949727721596683648176380780406487903451442665554449644777716292356185568893036927192714544651836505321165881406714918899718239260031722707787050408486037232200694068214922962240470072719598785205969709902415811496523708211828390820962373179054645881955175806812736266864627856721852211214138961675629525858100928250465501941530670270753409724562068781127790804290177102098425864438611431824700983045703063204008748025195453194749138476312995953866448635663663997175870571840610546935756016805842527828993781765206481881502882925909956533650174515590651176384306779773066549672646830661546722963028906031476755993362662885693997553503601571263325575029406974768357589977529497115071223508607064281818951670275215151148725945277277872744893880260605406735875635510335447064932051751451749166504195910682375130970324487297305604568898006894361906272272201 111898822136762819280672797588732204575803534890953091036239029904644223257231786333279250014141253484363389978089066714994295216542701721358542057924256739586503742903972899165289120439003779922270532023188940398460065310376593339468769909444232875777513757760935251673961356015470726085759348044050698112273177404068195156922679612768221992439104052300448296913332604695825501130862106228667906907226779403176282720719511294749095961912124880058386541634317005779365069440367596102960949108074331522420380541464005665188880440687565807631863845700413916935214512090713426312980487096577046932938185646259443011351950563010956526570647263929576424493903335710567781556876016144362679517227381866847542101472075913819381493170008119146022198884246204987133349499961917054879185545685504420035474245158380432804228583136421547843752902248204934535780896480515527801920184664761178456465144717903996775333944437802312616500979262434657321151325170088966395959281791605671481743502023379385420159749912737527398689110167621659899114955717944181592572578214762216925442620958012588104462967430302888533604841917922766015755098097693198177092035676369437047962722573292006789497870934587471240065066319721184517599732203055792294823456760171430262413367068622321912355085988375564424806440016511205691719011714824236893596773745300474278537339899958736622935942347761194924561547407761048755299385197133931141274209413844505869933983844796239076064959529785828060882537132943819156609641188243301848235806540586398752510964362421348871445967612984390606513872439459169423886564351588224945916385021375765760713565813011133690819928319873303950154366256353689930024276087586649071877497747532582510342880204845991318364292988482217148273389313167104787664126847335204831535975814405782445053896603233967833952534691383951500297924603502730125261140591153646930115860869126919315722712390877166680129182738576153931523222301424199756796114770119921253093639866853143354814297051132569967523698170388984105661108524963761102546348010247012521076110966736082300936602595146768279868519293427925267017525988876233085134877642990031628223735852436967259764907429293737843582821170511596252161771422974242430064517206068286048959431062984874066139285398958119102512457368654028179484177956832074204278708263177934337578056488898634392368135592855344701936485689126416547143985207447375509821298578599501664804951528224730771723352045493139849766259478057896805307272111859070131059866801120055373649093972651360488404234199202549490770012893306610599584496864093101457329923602513634965048462462662436657492385292334754820023667894916983853284704220658654628168719321487753938046577955901093609740089616175991607319074460298021996520380104546577522375048524331919113612224694951700675577826698251480764258443406248071898171674447422497502761765306931584357951511146446443889408500898044696977043010034221317224122389205822805330515526005802978426173830455231758847362240569108597365828832424018218464039134273215859040949244165585838282549909239069916362730024377690205152072593936464922873300823515602665656805189514286199011341794369618735361995293699625125464156018046333846110676701329707478003853066071725638160485110556452604090917541275951989457840176857501983007296568046536742774313641399205718284710883431439355709032164566821946991066187137814930966319004055907330926567606474497546041803357403667963328178637038623441723211852455292522056629325835313796362115704772666506485869280376140493359905798499276163607303306043599069841484152598950763997088799833166233976931077075349920836821768831287922624779928676946191683317871168398764142598864858065095065577908943868071163768398403539914603532629484915990221051045541702865325401017552566944872401665421858935103207873204273760018958726018127335816338112948881597316962291076513004343465950662825519923149647777236497192920203 181056097518361376131350113372348644626108972487743690564967296181639601598127744248905989806886587330340907803260173700128277349214149209860793032645279231815145174958578869567663857344882703483503153015240061393961626679437421680641879588567758229904440115418627445898414160319593911236940636367443731129141420651669534633185870945002348521908811677753403017538606088059796187877399633746725425972034401994639907352835780940235246849790562674621380797424061150395466723892474099764428697362693946222667339841049281887150634027428246565791037218615199787997301344801774081699705574827831975450809448174804878401096946072634253580015004932065706794888685553013813113645199182467171640764889581163355412755436170702405544380029252174317071506578847705442061174629528159175973193129547141374188225990840535837171043099451250428051434454751046419039274106073068981373589007597187100228757384977050128501343586260942476066287067113907316172209237201615030625181962626804730782781499108181057604830710103408028665098890936304510792730460450676040404919126493320266804267614037295129604981663468008357840590505596962240571406402320622438614608868058919934882173163513977911360140635521709497626574679698372624763170753683043207308638259633606340890298155632690838558306798795024478544441766207411120290736498476290771895129305006751720831265044127256517856843067424404877570925982880647932314826634061183098976781956935046155839392170908553730250503255834423594400738400286765115260146481469294913616316733164641863889056666190972606210719341026595658933757196175803716518343878872875700996990793136167525204513037521309879517616461775748821367584676957277315262579253307728367600927556862612612781634829677374345355989760467360322497304522881947142669885788470736236676634625157513552818348633394471356588526567397084086693407151536101070439216483525182331140280878794160802668084134041564050908632794648726651781855670121435518926147876726192360469106087730588869762622152404944872070585764382932074371943097521841913965569969509241029168814680260608112180225636056127582847914254586854376491915910346130026899528813754630915106929327004500372097259438114920318156960804012368612451639722144703629848867250662402356820294219059589755901813572065256419165181039202943656475182972932121122699840508366911089750305172758111894856608957256177289133692388537400797112955758641597725060098234245886518860899325113423189304761807413648680352128185008742500238585486513133362440758410660113541132703933213399990231701188855192677501836927310876441497467364358374794049734947626198150497062395092806085946783595351652367604945459814616842545567674162643609635728161910468986470855313485642772783184582035378102757436440162282393482546341855220942471244788557175741981459179829431139513152033343153253742691850069028163219928684676709084494198514838309663645781532469851085185688966139022173083882929202373104916288368018434392333438036228723928871317672948614460563666618688867326987372781398974861003244889747053079730315448069469155116499636960666600010906405158096693055524036602019372518078539807958851225698226441478913555993630874939901243402008618524843703416049769041633161085187366939678697921280994687878630557830155237810060627443691763485981548388685892803969669747101182624729489448211941985149338740153291566923171126242451472849167115388280432907849674326660740651129675255625336846093534505766389192617248470448142706257555518496530804654521288508545500592017768620372934504944040137669230477639109823099363320111886126898835265917805432645499971725743122767627105592666001097221128548604354472297426759338492914646346777199875520135961527743759092619081510515131396738797805378308272193510158982031061444559652605984684277071292767718093598346942699731679997088133809680495894594236353574400748389864400630763821158201758888135313790437960131124492047654671598403465192404 292954919655124195412022910961080849201912507378696781601206326086283824855359530582185239821027840814704297781349240415122572565756850931219335090569535971401648917862551768732952977783886483405773685038429001792421691989814015020110649498011991105681953873179562697572375516335064637322699984411494429241414598055737729790108550557770570514347915730053851314451938692755621689008261739975393332879261181397816190073555292234984342811702687554679767339058378156174831793332841695867389646470768277745087720382513287552339514468115812373422901064315613704932515856892487508012686061924409022383747633821064321412448896635645210106585652195995283219382588888724380895202075198611534320282116963030202954856908246616224925873199260293463093705463093910429194524129490076230852378675232645794223700235998916269975271682587671975895187356999251353575055002553584509175509192261948278685222529694954125276677530698744788682788046376341973493360562371703997021141244418410402264525001131560443024990460016145556063788001103926170691845416168620221997491704708082483729710234995307717709444630898311246374195347514885006587161500418315636791700903735289371930135886087269918149638506456296968866639746018093809280770485886098999603461716393777771152711522701313160470661884783400042969248206223922325982455510191115008788726078752052195109802384027215254479779009772166072495487530288408981070126019258317030118056166348890661709326154753349969326568215364209422461620937419708934416756122657538215464552539705228262641567630553393955082165308639580049540271068615262885942230443224463925942907178157543290965226603334321013208436390095622125317739043213631005192603529395315016672805054610145195291977709882220336674354053455842539645577912195114247457549915318071441508170600971919335263402529997705324422479102088468038193705076139603800564477624116335978070396739663287721983806846432441217588761977387302805713378892422859718682943991496312281722199727597442013117436449456077442038109462553321058477604206046805675068116317519488041689890791227344194481162238651274351127782773880282301758933436335006259984663691397620946735153062856937339357024345544214056000543625182880208703801493567677872278931767868470642869253650122574629967952857464214538267693496571597684654667150888953196904119216630089024087883229247010529248977092849032633835628874226527213660099743849045100569919532824486020525704276641647920076485159459141820201894444486800397043892758624992432571818277461233596506353027186051350720105423054395226992606940204183052097051861222467895507064871228711785462110857555468522604275980643987122424969127709533826398852378383302264263896881231956740408901891441543866392924671651554094364755514622580415479066721959767519993619837081507661095071404524382840188729860041404734506950293475276235118100359124131581996960280145241248003733043616297529075097467037066870060925939236594422140410757224257197663953562234526907297491503403846219411028859257975924353201613822993079467284024020268938771264692235054993399049546199736516373636429535786898207596630538484295391379363323561516882503415955765112567335425244558636605397302318149969167572067815375479271761888696647156701774347066413516791042940711690414151544984967715475439388565543394786976966315147719367503803089611147703434049623584730922632203290809273419840233302526095363874168678382568071577697281730122882887896891909434352520795885509071584429469407973789052861283847123822341862707722541286879420374224416278162590383437609099262970623417929725968676750070404383409497060525576289001604036669741351018057950317435642394922206688015439106329664648368274284278560392601824187684659419458999467902566203781848186797042788466947051665610698147687549602472310320285038470748608121590615100296007013954255913552962371701736564727977349512361138120492835401139657256388622956644415197302448834900658112607 474011017173485571543373024333429493828021479866440472166173622267923426453487274831091229627914428145045205584609414115250849914971000141080128123214815203216794092821130638300616835128769186889276838053669063186383318669251436700752529086579749335586393988598190143470789676654658548559640620778938160370556018707407264423294421502772919036256727407807254331990544780815417876885661373722118758851295583392456097426391073175219589661493250229301148136482439306570298517225315795631818343833462223967755060223562569439490148495544058939213938282930813492929817201694261589712391636752240997834557081995869199813545842708279463686600657128060990014271274441738194008847274381078705961047006544193558367612344417318630470253228512467780165212041941615871255698759018235406825571804779787168411926226839452107146314782038922403946621811750297772614329108626653490549098199859135378913979914672004253778021116959687264749075113490249289665569799573319027646323207045215133047306500239741500629821170119553584728886892040230681484575876619296262402410831201402750533977849032602847314426294366319604214785853111847247158567902738938075406309771794209306812309049601247829509779141978006466493214425716466434043941239569142206912099976027384112043009678334003999028968683578424521513689972431333446273192008667405780683855383758803915941067428154471772336622077196570950066413513169056913384952653319500129094838123283936817548718325661903699577071471198633016862359337706474049676902604126833129080869272869870126530624296744366561292884649666175708474028264791066602460574322097339626939897971293710816169739640855630892726052851871370946685323720170908320455182782703043384273732611472757808073612539559594682030343813923202862142882435077061390127435703788807678184805226129432888081751163392176681011005669485552124887112227675704871003694107641518309210677618457448524651890980474005268497394772036029457495234562544295237609091868222504642191305815328030882880058601861022314108695226936253132849547303568647589033686287028729070858705471487952306661387874707401933975697028467136678250849346681136286884192505152251861842082389861437711454283783659134374157504429195248821155441215712381502127799018530872999689547869182164385869766429529470957432874535774541341129850123821074319603959724997000113838188402005122424105586050105209922969321262763928010773055502490642825630017767070372539386603601755071109381246966872790500554022629495542897282478245138125795012576688121347137639056960399451340951806611909587904494443867515059493594519225580842689556799818854909935959173252648274608551059575995639490029914587524150668944420052545945873899625043142425726879757204927186639176109253686932197122191954784862808961613063814988462464864625638683403076530584353813979701881893384557988249642143544304398338029043800840666491158794983550911649514576086148614260786433176089043144808868438967527056699125242691589997391598463250836168809176352460679974695477946843251340574395221967940470528913767322018501580140304524148515549183160403116384542834693883591263120667140503667909457903131520368108201642397244026123329056119498537848799310936674812870988117584417112432847076063586835399695628061101395421600770866928224212172428659478961420936954229287590946636062248901992233292537823089688583388363738022489555374417051724892689400417914375796782018352709228812228826956985748219733990426415200741713413133979519727135726963492285583665938368412330887363299740309907252354879168456415831820861076718922362333943529815852867512015988209816054997032251319411769231142262407352115279078866039996867219633447353932020976011425568149804414521920345583280303740929974130864641364009160156458990552947448978113110170350753672233879543603088003132069095550821322295097384140823634751808147198725276137313117841750143124959278694594289274971046826583087768907244957120433304123305011 766965936828609766955395935294510343029933987245137253767379948354207251308846805413276469448942268959749503365958654530373422480727851072299463213784351174618443010683682407033569812912655670295050523092098064978805010659065451720863178584591740441268347861777752841043165192989723185882340605190432589611970616763144994213402972060543489550604643137861105646442483473571039565893923113697512091730556764790272287499946365410203932473195937783980915475540817462745130310558157491499207990304230501712842780606075856991829662963659871312636839347246427197862333058586749097725077698676650020218304715816933521225994739343924673793186309324056273233653863330462574904049349579690240281329123507223761322469252663934855396126427772761243258917505035526300450222888508311637677950480012432962635626462838368377121586464626594379841809168749549126189384111180237999724607392121083657599202444366958379054698647658432053431863159866591263158930361945023024667464451463625535311831501371301943654811630135699140792674893144156852176421292787916484399902535909485234263688084027910565023870925264630850588981200626732253745729403157253712198010675529498678742444935688517747659417648434303435359854171734560243324711725455241206515561692421161883195721201035317159499630568361824564482938178655255772255647518858520789472581462510856111050869812181687026816401086968737022561901043457465894455078672577817159212894289632827479258044480415253668903639686562842439323980275126182984093658726784371344545421812575098389172191927297760516375049958305755758014299333406329488402804765321803552882805149451254107134966244189951905934489241966993072003062763384539325647786312098358400946537666082903003365590249441815018704697867379045401788460347272175637584985619106879119692975827101352223345153693389882005433484771574020163080817303815308671568171731757854287281074358120736246635697826906446486086156749423332263208613454967154956292035859718816923913505542925472895997495051317099756146804689489574191327151509615453264101802604548217112548596262715296501142550113358676285103479802347418980009782783016142546868856196549872808577235452718375050811308129203348430158048054378129029859242709280059374406730786399343642558801519304739015837719286993685495700568032346139025784517274710027516508078941627089137926071631252132953354563142954242556804950136990455224433155246339687926199937299894858559912307878396719029457732126331932320755917073982343294326371003763118227584394965582580734145409987585502691671912034963983131487050807719242545691571086803310585063864690083621721421284110203743131155335556639626612454883715233684495343272430929248138163521924374382467288659096368730505569033925338486291486947469407443224440679785774755982458484462720191064171601988878196819890611753425962722756592437019580633456129402924972248488119075128792159653247619702446143335883900213155913205734807675561949197109882466948787661345160697777743466300679756306899385724337204819175693776009044961019937812937787590957272844832539579141914598729360139632758179264229670489470717297678987963300837266455081884990705058353009138690664481364057174454196613254824782038560185399792591704608964760233992101469975127514912212643711578618638363717413627194436860325519772682377923602377396621359737095627434237392017437987322753412187577707860998312529633720440471160656187031091796883806524238715871102621887318324635094234209019488591311565196371466074636527222215536153229226007462851194131775253392872693994411244514328021625304566947745578836188766058614199464494092776895700770835178932148703133337029183475639262141840135369371127305676073936424088693082312947407467988400349433130332543930212942004645787595735915925164775781048901359783482015913408288170539844158942912910197680147837589007721700161096977873877845819099655486097399187429690414628303215206044413322442259569268204781417618 1240976954002095338498768959627939836857955467111577725933553570622130677762334080244367699076856697104794708950568068645624272395698851213379591336999166377835237103504813045334186648041424857184327361145767128165188329328316888421615707671171489776854741850375942984513954869644381734441981225969370749982526635470552258636697393563316408586861370545668359978433028254386457442779584487419630850581852348182728384926337438585423522134689188013282063612023256769315428827783473287131026334137692725680597840829638426431319811459203930251850777630177240690792150260281010687437469335428891018052861797812802721039540582052204137479786966452117263247925137772200768912896623960768946242376130051417319690081597081253485866379656285229023424129546977142171705921647526547044503522284792220131047552689677820484267901246665516783788430980499846898803713219806891490273705591980219036513182359038962632832719764618119318180938273356840552824500161518342052313787658508840668359138001611043444284632800255252725521561785184387533660997169407212746802313367110887984797665933060513412338297219630950454803767053738579500904297305896191787604320447323707985554753985289765577169196790412309901853068597451026677368652965024383413427661668448545995238730879369321158528599251940249085996628151086589218528839527525926570156436846269660026991937240336158799153023164165307972628314556626522807840031325897317288307732412916764296806762806077157368480711157761475456186339612832657033770561330911204473626291085444968515702816224042127077667934607971931466488327598197396090863379087419143179822703120744964923304705885045582798660542093838364018688386483555447646102969094801401785220270277555660811439202789001409700735041681302248263931342782349237027712421322895686797877781053230785111426904856782058686444490441059572287967929531491013542571865839399372596491751976578184771287588807380451754583551521459361720703848017511450193901127727941321566104811358253503778877553653178122070255499916425827324176698813184100853135488891576946183407301734203248807803937988066078219079176830814555658260632129697278833753048701702124670419317842579812762265591912862482804315552483573377851014683924992440876534529804930216642248349388486903401707485716523156453133442568120680366914367398531101836112038666624089251764260033257255377460149193059452479774271399754383235206210748830330751829955066965231099298911480151790138838979093204722821309939703477886191608849248901244022596971653703927871784466947984954032623718646873571035981494675234302039286090312384153274620664508938531657380457362852017739706395132635266102484798302757835164287692483475194012063146967516808194168416301295917144745143179025418488609139424192306033402292849589744444923349088358874467248132573232010799592493646810520711006234580563885031794158446725812914979277870112343071302762195788594757596670333389244956350543676114529476253809007709640377658736759161028579635109856108767579360419815151662427034350404266928960408341851554912975774424972844103290430147912520542749142722098923554080733837964819491631210295169586602253098906700750253164813993537483555712302995924191499594909548302984209704137456040823820827501165603188616307634244482445546862575889842286673398281262474001969968870238439645523351970388165257327080600826351060775901742952124912723205219034138354846957438205383801025696035351195701619322355877744739835835947622153468111038700923334958360220193160583948484116589307203161101384130132561329109826232105591046943987638510477561431703700782046824015519491125028215112540066321194556055248616108049515636129361473582723303148281687499504573893107604233292990748292141279407261197185294222102161104778148683364903277885951399655032017361559516496291302608939709764235205295064288661223759529847359822254011190963660849798611056677882023979689599350041789132182229687216689701508904722629 2007942890830705105454164894922450179887889454356714979700933518976337929071180885657644168525798966064544212316526723175997694876426702285679054550783517552453680114188495452367756460954080527479377884237865193143993339987382340142478886255763230218123089712153695825557120062634104920324321831159803339594497252233697252850100365623859898137466013683529465624875511727957497008673507601117142942312409112973000672426283803995627454607885125797262979087564074232060559138341630778630234324441923227393440621435714283423149474422863801564487616977423667888654483318867759785162547034105541038271166513629736242265535321396128811272973275776173536481579001102663343816945973540459186523705253558641081012550849745188341262506084057990266683047052012668472156144536034858682181472764804653093683179152516188861389487711292111163630240149249396024993097330987129489998312984101302694112384803405921011887418412276551371612801433223431815983430523463365076981252109972466203670969502982345387939444430390951866314236678328544385837418462195129231202215903020373219061354017088423977362168144895581305392748254365311754650026709053445499802331122853206664297198920978283324828614438846613337212922769185586920693364690479624619943223360869707878434452080404638318028229820302073650479566329741844990784487046384447359629018308780516138042807052517845825969424251134044995190215600083988702295109998475134447520626702549591776064807286492411037384350844324317895510319887958840017864220057695575818171712898020066904875008151339887594042984566277687224502626931603725579266183852740946732705508270196219030439672129235534704595031335805357090691449246939986971750755406899760186166807943638563814804793038443224719439739548681293665719803129621412665297406942002565917570756880332137334772058550171940691877975212633592451048746835306322214140037571157226883772826334698921017923286634286898240669708270882693983912461472478605150193163587660138490018316901178976674875048704495221826402304605915401515503850322799554117237291496125163295955897996918545308946488101424754504182656633161974638270414912713421380621904898251997478996553295298187813076900042065831234473600537951506880873926634272500250941260591329560284807150907791642417545205003516841948834010600466819392698884673241129352620117608251178389690331664509388330814712336013695036579221536744838459639365995170018678029892366860089659211219358548509168296711219536655142065856777460229485935220252664362250181366619286508605929876935570456724295630681837554167468545482953544584977661399187463859684529199022153378801741473055760870861730689274892714939682017991519659630964914404442150226668891891190661457075397664647650314177104363904780096086893599749257842972635364500427381833551079065531419734562110207619483105400236483433762827017583465665250287849650785163467396945241135230956009815491040900932554233602400869556278483790091425450918890176589165320081919858806323101410535865074478746144152356481602728126413311889980346154789342503933047269805383682432344746641880682381900901363153224570204555262498479594511132436041684138089611759103262303504658018847612886757192537446324376948108488384002295842065005584054819602635578316131219846888194024165500939607255913867835141587993774652346793840817042144711707483792691564472618264338383529313930529832773721517748667858795318118094392414892822579841875434417490424977765063064470930181831172956702350266119706424434856720382799484637345815314666012295515905385954201803820643350105374965612943077425307010539889548105438214983985217805110813310901500126704758381953137232991275391503313718092674275587363573440997981800686546240398216280541628840391529729224435044165750565744419280828442661732448556391800843575429904579473148783868707148115492744436498812767251547520919231885068809479949454097154077069453670104227653256995176595552129476258969713686140247 3248919844832800443952933854550390016745844921468292705634487089598468606833514965902011867602655663169338921267094791821621967272125553499058645887782683930288917217693308497701943108995505384663705245383632321309181669315699228564094593926934719994977831562529638810071074932278486654766303057129174089577023887704249511486797759187176306724327384229197825603308539982343954451453092088536773792894261461155729057352621242581050976742574313810545042699587331001375987966125104065761260658579615953074038462265352709854469285882067731816338394607600908579446633579148770472600016369534432056324028311442538963305075903448332948752760242228290799729504138874864112729842597501228132766081383610058400702632446826441827128885740343219290107176598989810643862066183561405726684995049596873224730731842194009345657388957957627947418671129749242923796810550794020980272018576081521730625567162444883644720138176894670689793739706580272368807930684981707129295039768481306872030107504593388832224077230646204591835798463512931919498415631602341978004529270131261203859019950148937389700465364526531760196515308103891255554324014949637287406651570176914649851952906268048901997811229258923239065991366636613598062017655504008033370885029318253873673182959773959476556829072242322736476194480828434209313326573910373929785455155050176165034744292854004625122447415299352967818530156710511510135141324372451735828359115466356072871570092569568405865062002085793351696659500791497051634781388606780291798003983465035420577824375382014671710919174249618690990954529801121670129562940160089912528211390941183953744378014281117503255573429643721109379835730495434617853724501701161971387078221194224626243995827444634420174781229983541929651145911970649693009828264898252715448537933562922446198963406953999378322465653693164739016676366797335756711903410556599480264578311277105789210875441667349995253259792342055704616309489990055344094291315601460056123128259432480453752602357673343896657804522341228839680549135983654970372780387702109479363199731121794116750426089490832723261833463976530296531047042410700214374953599954122149415871137878000575342491954928314038789153021524884731888610559264941127475790396259776927055500296278545819252690720039998401967453168587499759613252071772231188732156274875267641454591697766643708274861529073147516353492936499221694845576744000349429859847433825320758510130838700299307135690312741377963375796480938115677544069501565606272778338272990436477714343883555410756919349328711125203450040158187846624263751711571617134305193707960685036182198835907778610568125821910158817424480320749354823918657397879636162289815859407998855625491698960564795059320283389323268705226317792055291245265484954244872305182639437939998667867135342218419075599047047004144769061598147350697044446296376598078446674815353478302258772011279635658529224566991645825906822159904620901704727897886229542978818679019834902736520391973842058106563967508144029762476817578818940754496640897416908821694778227785722774894554401225131043623462076778650938393227317971225721427605628286391188518459853515468318651556331168599060188461637823971857656791368211999979521046407875647103801181504747527481132676469712363515497098200541233422850467776622315664079256687668063677871957948891553219090689444305215673481957686444722967701997150165075532597798693848275877226630119109747333642807804306766129453326424813388967043041382795076913543383433121462404621869173396900035518515530913646875455696421909600581587902868442243590330152262230503476342833325925850967821321260813630569245282506911520864787300815977423869051072945571874908290779533388964572682908247652726914518657146326855343893102645731720547683848211423818205134946400870775757723578471383320787808725160036526781394880741485896259773140799252708210754951477649793827003298784308777781816692948671222590862876 5256862735663505549407098749472840196633734375825007685335420608574806535904695851559656036128454629233883133583621514997619662148552255784737700438566201482742597331881803950069699569949585912143083129621497514453175009303081568706573480182697950213100921274683334635628194994912591575090624888288977429171521139937946764336898124811036204861793397912727291228184051710301451460126599689653916735206670574128729729778905046576678431350459439607808021787151405233436547104466734844391494983021539180467479083701066993277618760304931533380826011585024576468101116898016530257762563403639973094595194825072275205570611224844461760025733518004464336211083139977527456546788571041687319289786637168699481715183296571630168391391824401209556790223651002479116018210719596264408866467814401526318413910994710198207046876669249739111048911278998638948789907881781150470270331560182824424737951965850804656607556589171222061406541139803704184791361208445072206276291878453773075701077007575734220163521661037156458150035141841476305335834093797471209206745173151634422920373967237361367062633509422113065589263562469203010204350724003082787208982693030121314149151827246332226826425668105536576278914135822200518755382345983632653314108390187961752107635040178597794585058892544396386955760810570279200097813620294821289414473463830692303077551345371850451091871666433397963008745756794500212430251322847586183348985818015947848936377379061979443249412846410111247206979388750337069499001446302356109969716881485102325452832526721902265753903740527305915493581461404847249395746792901036645233719661137402984184050143516652207850604765449078200071284977435421589604479908600922157553886164832788441048788865887859139614520778664835595370949041592062358307235206900818633019294813895059780971021957125940070200440866326757190065423202103657970851940981713826364037404645976026807134162075954248235922968063224749688528770962468660494287454903261598546141445160611457128627651062168565723060109128256630355184399458783209087610071883827272775319097728040339425696914190915587227444490097138504934801461955124121594996858498206119628412424433176188388419391996994145273262753559476391612762537193537441378417050987589337211862651204070188236797895723556840350801463769054319152312136745013360541352273883126446031144923362276032039089573865086842552932714473244060154484942739170368107889739800685410417721350197248808475432401532278033105441653258398345163479289754229968522959704892276945083644220819125867481214980010548679370918585641141391209241413110759080993989722906982838414983940308963539481429856511185051532364162338740874483549622312284078312516484751299189517082567096625212445373497387753228048801313211391804549088238120318745299687016190517005530087601697452426038558704447283487578531888615730816362294734146027383241914071760594613533214781826770676559461778800594046695463100643694712327155646788062818708298900598878641225837930927838916536852708119864625632490603230890708921100651430239920841868964583611468155119641196281907512944524825230003221142948489816450820232560041669970529278130218956777771823309575178781485817380999084148348805765279752214295821586051991930466706436759820878747328020870493877864455104354114409068564438461551274662457920073729812775385355750640456025837355027827834529604011790460166240716369855945483193626990213586670855719102064536600172311407870868777696311284499381515739233162747807229933633926182917758808219936535185692415940904469732717467518805801796875213524665328175452783479878257700445487461560638436739161869321447965572012522382515498186912368101018908651699456414646386569856708977325773787180853224537088044256643743092190492605909637521926560163209416296767815619048710376305450248906507447178531436280553161658849294032942401660717781328582620748706805364832020931319898054656555779485373333946169207640936277003123 8505782580496305993360032604023230213379579297293300390969907698173275142738210817461667903731110292403222054850716306819241629420677809283796346326348885413031514549575112447771642678945091296806788375005129835762356678618780797270668074109632670208078752837212973445699269927191078229856927945418151518748545027642196275823695883998212511586120782141925116831492591692645405911579691778190690528100932035284458787131526289157729408093033753418353064486738736234812535070591838910152755641601155133541517545966419703132088046186999265197164406192625485047547750477165300730362579773174405150919223136514814168875687128292794708778493760232755135940587278852391569276631168542915452055868020778757882417815743398071995520277564744428846897400249992289759880276903157670135551462863998399543144642836904207552704265627207367058467582408747881872586718432575171450542350136264346155363519128295688301327694766065892751200280846383976553599291893426779335571331646935079947731184512169123052387598891683361049985833605354408224834249725399813187211274443282895626779393917386298756763098873948644825785778870573094265758674738952720074615634263207035964001104733514381128824236897364459815344905502458814116817400001487640686684993419506215625780817999952557271141887964786719123431955291398713409411140194205195219199928618880868468112295638225855076214319081732750930827275913505011722565392647220037919177344933482303921807947471631547849114474848495904598903638889541834121133782834909136401767720864950137746030656902103916937464822914776924606484535991205968919525309733061126557761931052078586937928428157797769711106178195092799309451120707930856207458204410302084128940964386027013067292784693332493559789302008648377525022094953562712051317063471799071348467832747457982227169985364079939448522906520019921929082099568900993727563844392270425844301982957253132596345037517621598231176227855566805393145080452458715838381746218863058602264573420043937582380253419841909619717913650597859194864948594766864057982852271529382254682297459162133542447340280406419950706323561115035231332508997534821809371812098160241777828295571054188963761883951922459312051906581001276344651147752802382505892841383849114138918151500348734056050586443596838752768916937641818911925388816785591730084430158001713672599515060042675747364435394159990069286207409743281849330519483170717537749587234510731176231481035949107782568091845019411068817449739336460841023359255795574795738043165267381561358564702681278238134329339259804574368625799329237833505164822330698128294916614943523451166139144871318091997982333095210349788642659490229307468279710163714474806300610707188372708058795585777240432817671142551317506539529183859840333503605272990171992198829954945528755468832794644457634303494330491723300950213878167059339180442403981320360746575948091835473553838050312217991003367585692521369922803599333228860374685949048251277719277898476128574451319812758594959272087372769662253080048469527861855148071137337750690659361839253877894535750683132643988148287306781872081341717134422045953987647298256920466648678810293240141961131509950084877569460721972320663422071120426295801107098399806113810237941325626274809153546963590227970601452314950301987288929327896978121999330417480839063227708589347579056445717272139745277493748146610963684071853095648269159588012280519131596328694655709919645050678673084462440737825806329128200205789190025010547469566350880270624558404359089315976422985263631114394261498218784814106253231043895027070208409962675990937903471762665012837142769226385643091627798005098433232888319724629123325465719332141731617268105307176145425907445335696983558261749336819461253530624572291883757100144979239437253845322706321024664231025649914757068361886818885820814337282402203677588355761547959513575586972408969691881659854563794151115762862156312158867865999 13762645316159811542767131353496070410013313673118308076305328306748081678642906669021323939859564921637105188434337821816861291569230065068534046764915086895774111881456916397841342248894677208949871504626627350215531687921862365977241554292330620421179674111896308081327464922103669804947552833707128947920066167580143040160594008809248716447914180054652408059676643402946857371706291467844607263307602609413188516910431335734407839443493193026161086273890141468249082175058573754544250624622694314008996629667486696409706806491930798577990417777650061515648867375181830988125143176814378245514417961587089374446298353137256468804227278237219472151670418829919025823419739584602771345654657947457364132999039969702163911669389145638403687623900994768875898487622753934544417930678399925861558553831614405759751142296457106169516493687746520821376626314356321920812681696447170580101471094146492957935251355237114812606821986187680738390653101871851541847623525388853023432261519744857272551120552720517508135868747195884530170083819197284396418019616434530049699767884623660123825732383370757891375042433042297275963025462955802861824616956237157278150256560760713355650662565469996391623819638281014635572782347471273339999101809694177377888453040131155065726946857331115510387716101968992609508953814500016508614402082711560771189846983597705527306190748166148893836021670299511934995643970067624102526330751498251770744324850693527292363887694906015846110618278292171190632784281211492511737437746435240071483489428825819203218726655304230521978117452610816168921056525962163202995650713215989922112478301314421918956782960541877509522405685366277797062684318903006286494850550859801508341573559220352699403822787313213120393043995154774409624298678699889981487127561353042008141007321205879518723347386346679119147522771004651698415785373984252208339387603229159403479199593575846467099195918791555081673851414927376332669201122124657148406018580655394711007904482010475342778022778854489550049348053550073145592924155356655030001395187202472968144254471322007178150813658253540166133970952658943404368670596366361406240720004230377352181275948916604585314660140477667957413684946339823884309892371438451350780802704418922292848482167153679103570380706696138064237525561798952271436704041128159703744438422318707786454009259246832622218921882987342003815462222341085645639327035196141593952831233197916258000493377297444174259102997734806004502649010025543318697748057544326645002785521807145719349309349808483945287211440470629042746577933089779122284639521926361866150079453834857573427838844280261882152804998231103791017902022447792787322785362006377889790625892210989685806315058895779366307852740575664389421741725591735471679215020471951058843070530247070496193007941613979301832838829608983421633914588431364562274818336542705368688335664820988777452782168179739216833023447294045556016021474011866959576619876777117354412382247651675131811980207237395294743683279360236782955799501377258592559623945450722033014176946965040156932673112536785093224290206950872866186547688968227449744778897767071011965270706688731570694950459806120669469187350872640591622693150391736580516674701146505022137174417457468092425705806429359370551727390879171640579919404147293614448583459229803604893800745099974274881505538606777204400441709041131462786578225867189987315430759192310091956458549541862158752022325187844867433368536997254944181395749268639078844494939544781731917327454996348581913067300015660027630918559219347810550086667663121478399464110199404174706464217191957655614010313503285345600989338633280822781880365718711588326245431080963326279131982423741240202004841527312067163168146498852046966516441747055056302555699011771273570738472828446193348915048477735114847279684062921458916938382296666318940418993340289589936316410343279524449709031363953095144869122 22268427896656117536127163957519300623392892970411608467275236004921356821381117486482991843590675214040327243285054128636102920989907874352330393091263972308805626431032028845612984927839768505756659879631757185977888366540643163247909628401963290629258426949109281527026734849294748034804480779125280466668611195222339315984289892807461228034034962196577524891169235095592263283285983246035297791408534644697647304041957624892137247536526946444514150760628877703061617245650412664697006266223849447550514175633906399541794852678930063775154823970275546563196617852347131718487722949988783396433641098101903543321985481430051177582721038469974608092257697682310595100050908127518223401522678726215246550814783367774159431946953890067250585024150987058635778764525911604679969393542398325404703196668518613312455407923664473227984076096494402693963344746931493371355031832711516735464990222442181259262946121303007563807102832571657291989944995298630877418955172323932971163446031913980324938719444403878558121702352550292755004333544597097583629294059717425676479161802009958880588831257319402717160821303615391541721700201908522936440251219444193242151361294275094484474899462834456206968725140739828752390182348958914026684095229200393003669271040083712336868834822117834633819671393367706018920094008705211727814330701592429239302142621823560603520509829898899824663297583804523657561036617287662021703675684980555692552272322325075141478362543401920445014257167834005311766567116120628913505158611385377817514146330929736140683549570081155128462653443816785088446366259023289760757581765294576860040906459112191630062961155634676818973526393297134004520888729205090415435814936886814575634358252552846259193124795961590645415138948717486460941362150498961329954960308811024235310992685285818967246253906366601048229622339905645425979629766254678052641370560482291999824237111197444698275423774358360474818931867386092171050947340987715750670592000699332293388157901852384962495936429452348744914296648316937203575776426886037284683692646364606510591594751728427128857137219368575397466479950193765213740482694526603184069015575284566315943159900839063897366566721478944302064832699142206390202733755287565489698954204767656348899068610750517856339297644337956976162914378584544001521134199129873376343953482361383533818444653406822691505129292730623853145981705511803183388914269706872770184312269147024040568585222316855243076552737071266845526008265821118114435791222811708206361350224488423957483638689068288519655837239799866876251742755420477250579556136869885317316218598706175665425821177375472231941447657721333098486181732611507262129085972713566262498684687796766926239132730038330683814392269759524229755245330864725643671413850426896587598539363041714953827311435944471025133789043487150480973095030835345882635564912490797204161889502871300995443785535765431738202946250893378784876396159960915210854339154675593482986833567464433726771252294610164956996763327829764644810947572514596343250283307289975910908712697648172800920821399843566965305631924085294912140535336266484370211427576577364252107231838198681655572519920528092990132609421993066887423800248791542694326912642472131296946327964421058320396307258744309672539016320207068618701918734564774453511811167819151183950246462372114020158999286753388168084513562136779731946166238147709118911759453848020011601509228214946621192760150994173995633574326187279954728865315619519349469053343903871047893750440259979696307328798234444841737171790263242837620295077625797469337367581962069187543606986418343298705638111508383778833877658357909946107346085050853319943513536388139471705039427759438223760266590864131528416698771071143930723616586726294493556401021718092298234969498478360950417276935296620935661616966465125136505294143844625832516005965749259281817976264907073675565471893520265254012735121 36031073212815929078894295311015371033406206643529916543580564311669438500024024155504315783450240135677432431719391950452964212559137939420864439856179059204579738312488945243454327176734445714706531384258384536193420054462505529225151182694293911050438101061005589608354199771398417839752033612832409414588677362802482356144883901616709944481949142251229932950845878498539120654992274713879905054716137254110835820952388960626545086980020139470675237034519019171310699420708986419241256890846543761559510805301393095951501659170860862353145241747925608078845485227528962706612866126803161641948059059688992917768283834567307646386948316707194080243928116512229620923470647712120994747177336673672610683813823337476323343616343035705654272648051981827511677252148665539224387324220798251266261750500133019072206550220121579397500569784240923515339971061287815292167713529158687315566461316588674217198197476540122376413924818759338030380598097170482419266578697712785994595707551658837597489839997124396066257571099746177285174417363794381980047313676151955726178929686633619004414563640690160608535863736657688817684725664864325798264868175681350520301617855035807840125562028304452598592544779020843387962964696430187366683197038894570381557724080214867402595781679448950144207387495336698628429047823205228236428732784303990010491989605421266130826700578065048718499319254104035592556680587355286124230006436478807463296597173018602433842250238307936291124875446126176502399351397332121425242596357820617888997635759755555343902276225385385650440770896427601257367422784985452963753232478510566782153384760426613549019744116176554328495932078663411801583573048108096701930665487746616083975931811773198958596947583274803765808182943872260870565660829198851311442087870164066243452000006491698485969601292713280167377145110910297124395415140238930260980758163711451403303436704773291165374619693149915556492783282313468503720148463112372899076610581354727004396062383862860305273959208306838294963644701867010349168700582242692314685087833567079478735849223050434307007950877622115563600450902852708618109153290892964590309735579514943668124435849755668482681226861956612259478517645482030274512626126726016840479756909186578641747550777904196959909678351034095040400439940383496272957838240258033080088391904680091320272453912653655313724051175717965856961443927852888829028241304903014364137143502344940298569078599614299417335655734806072850028657275846661433133539280356034851364135746295569676832948038876772464943048680270495918998320688510256372864195658796247183466298052541033238853660021655734114094252655952436889504083755059300049451871334719944152289310580007756612045447788934110050122245010335188619176987056456461115350628870898847646441609893288785450020319377558450326966627873096133902607009619266710444910383249033502572850225167692289772896567703945170955035969698187424340892417633972782170430959031452710837399215815116108858583232501847560251740446607190001427766747073891854935809907252740697943922889644613212957853494512380352058529922131036167778327083025234711819956206474344435264072502544887413226267470380334213659601796772865707479046493399183279274843587343618636319083502381878526412822013065173669043090743711086240259281838138712068067960394627048954788844047207472088295040504825360165372484955271177911194732744464014899106227190213040330103557967777756808779944782476182018863066942863184534898910261064888158428313548283448652779811077895256328278220396098250104869368090349482590648170381745288918947736831692161473362250071203610300954319648425011669124434866996991190768889226450769564908269758967469102797984171410183179463962271432391443595579866917569995977690133028473349549858956720729863571805707971306807143766191983774356050508896650528046595422232526141292151456424959089548871754292675250353200015180924884218349157604243 58299501109472046615021459268534671656799099613941525010855800316590795321405141641987307627040915349717759675004446079089067133549045813773194832947443031513385364743520974089067312104574214220463191263890141722171308421003148692473060811096257201679696528010114871135380934620693165874556514391957689881257288558024821672129173794424171172515984104447807457842015113594131383938278257959915202846124671898808483124994346585518682334516547085915189387795147896874372316666359399083938263157070393209110024980935299495493296511849790926128300065718201154642042103079876094425100589076791945038381700157790896461090269315997358823969669355177168688336185814194540216023521555839639218148700015399887857234628606705250482775563296925772904857672202968886147456016674577143904356717763196576670964947168651632384661958143786052625484645880735326209303315808219308663522745361870204051031451539030855476461143597843129940221027651330995322370543092469113296685533870036718965759153583572817922428559441528274624379273452296470040178750908391479563676607735869381402658091488643577885003394898009563325696685040273080359406425866772848734705119395125543762452979149310902324600461491138908805561269919760672140353147045389101393367292268094963385226995120298579739464616501566784778027058888704404647349141831910439964243063485896419249794132227244826734347210407963948543162616837908559250117717204642948145933682121459363155848869495343677575320612781709856736139132613960181814165918513452750338747754969205995706511782090685291484585825795466540778903424340244386345813789044008742724510814243805143642194291219538805179082705271811231147469458471960545806104461777313187117366480424633430659610290064326045217790072379236394411223321892589747331507022979697812641397048178975090478762992691777517453215855199079881215606767450815942550375044906493608313622128724193743403127673815970735863650043467508276031311715149699560674771095804100088649747202582054059297784220285715245267769895637759187039877941350183947552744477009128729599368780479931685989327443974778861435865088096990690961066930853046473831849635985419567774378751154799509984067595750594732380047793583435556561543350344624236664715359882013582330178711113954234990646619388654714816248975995372052016563354318968040274478972439387906456432345387041474854090898566060478005229180468448589710107425633364692012417155574609887134321455771491964339137663821931154660412208471877339695554665541667779547569330503167743057725485970783993634316586727945060984598885920070362795250063443930733623443751795666132500782516651247208904279481199031206346035700313673769987990265487670807311580957307433510414787995267804523538284580518972440733936637280094712848932232387321186759022042721325744234040149256330500403847630813502921352100416916583284383580104650102056327545948161524299777012114670563590768340353239710602693238915949080803125768813793933697381285298186128304320386049382580542585354484796457725208737209935019766072577694646406451279060190560030673854831602342261385758774315912223919023835554055121462690467618361501196190167634050921799516179734383086094881839990300862306649734406194858774366470293647974821969170499986090767616029830346299584733218320323917978715629760031293308877983756873276842521472205794868105972794293669844202315199504112113553540569468833314690926678910702162608225138949666888350115159477005971755401137542627176192858700517189371814853639126380507677777782601627352523827704828335516307974527724896484549711105262139745833485790676822914716417074199274123542549793678190028644253025286536520052903268744655349100714996572535820418228213272503857242269689210837942617687722538023255575123996565688641139908413749615199644043415357742447955870040677469785168094183468919070976986170513616993171731927526669985917983972430924838808153572268940157426875580652818404483603170339364 94330574322287975693915754579550042690205306257471441554436364628260233821429165797491623410491155485395192106723838029542031346108183753194059272803622090717965103056009919332521639281308659935169722648148526258364728475465654221698211993790551112730134629071120460743735134392091583714308548004790099295845965920827304028274057696040881116997933246699037390792860992092670504593270532673795107900840809152919318945946735546145227421496567225385864624829666916045683016087068385503179520047916936970669535786236692591444798171020651788481445307466126762720887588307405057131713455203595106680329759217479889378858553150564666470356617671884362768580113930706769836946992203551760212895877352073560467918442430042726806119179639961478559130320254950713659133268823242683128744041983994827937226697668784651456868508363907632022985215664976249724643286869507123955690458891028891366597912855619529693659341074383252316634952470090333352751141189639595715952112567749504960354861135231655519918399438652670690636844552042647325353168272185861543723921412021337128837021175277196889417958538699723934232548776930769177091151531637174532969987570806894282754597004346710164726023519443361404153814698781515528316111741819288760050489306989533766784719200513447142060398181015734922234446384041103275778189655115668200671796270200409260286121832666092865173910986028997261661936092012594842674397791998234270163688557938170619145466668362280009162863020017793027264008060086358316565269910784871763990351327026613595509417850440846828488102020851926429344195236671987603181211828994195688264046722315710424347675979965418728102449387987785475965390550623957607688034825421283819297145912380046743586221876099244176387019962511198177031504836462008202072683808896663952839136049139156722214992698269215939185456491793161382983912561726239674770460046732538574602886887905194806431110520744027029024663160658191587804498432013029178491244267212461548823813163408786302180282669578105573043854846066025334841586052050957901913177591371421914053868313498765468063293197829295742873038974612806524667381755899182449958789276312532364688486734314453652192031600350400862729020445392168821021867990106266939227986008739599170658468023140813632394170166558911776158654346406147056963794259351536547436810679645939536520737291721566174363352478714133318953231644166555567068869561217580841445396879512901498458599273836904637706742421545454077747864206683412545583322817514440980702869783523777909089621717079563311149534766821833449541934600340858714248384132440989996307947454462379684248814703788242143133141220686940460129952969626206877494349242730107361032828642153454567077305847812280150330028307906550784058882290429901468109219443777647874372671592224591880481759149619285853867950191061371679067044789679418286187114269368766772456331410557802349862339838255880541236920943655773648274885647268227466661231427906479551716257217581015157785265197696651443937717298305285460477656542209767500344441720298306214870097812771371798754491986874598716627810424604271082365476186157630468794701386735908010123840525266234780252236927973508108107460681196520309336202967724481845516787047158101244014087329709403935113332728178111146040333389091647758720503742379549137265595011988910589432600421917060761638340877316290610240008937473718913054424104492602121411655166177507331366139879928680218717444783728564181082325103358211721767460052556349752549387445395836206096149910801176607515906230772636252748120994734654580473352489228424133961058568203635364811030966285015912043749393638945207344934961531722027703611652340291483885798986589983136483031471326345067673382248125797151684809455647018719576432606211135886103882643672993593274314463177819441846385441091975237949660902845333036679410267521218327349759196127210135428855883928357025326561615407780075595833743288701952327943607 152630075431760022308937213848084714347004405871412966565292164944851029142834307439478931037532070835112951781728284108631098479657229566967254105751065122231350467799530893421588951385882874155632913912038667980536036896468802914171272804886808314409831157081235331879116069012784749588865062396747789177103254478852125700403231490465052289513917351146844848634876105686801888531548790633710310746965481051727802070941082131663909756013114311301054012624814812920055332753427784587117783204987330179779560767171992086938094682870442714609745373184327917362929691387281151556814044280387051718711459375270785839948822466562025294326287027061531456916299744901310052970513759391399431044577367473448325153071036747977288894742936887251463987992457919599806589285497819827033100759747191404608191644837436283841530466507693684648469861545711575933946602677726432619213204252899095417629364394650385170120484672226382256855980121421328675121684282108709012637646437786223926114014718804473442346958880180945315016118004339117365531919180577341107400529147890718531495112663920774774421353436709287259929233817203849536497577398410023267675106965932438045207576153657612489326485010582270209715084618542187668669258787208390153417781575084497152011714320812026881525014682582519700261505272745507923127331487026108164914859756096828510080254059910919599521121393992945804824552929921154092792114996641182416097370679397533774994336163705957584483475801727649763403140674046540130731188424237622102738106296232609302021199941126138313073927816318467208247619576916373948995000873002938412774860966120854066541967199504223907185154659799016623434849022584503413792496602734470936663626337013477403196511940425289394177092341747592588254826729051755533579706788594476594236184228114247200977985390046733392401311690873042598590680012542182225145504953226146888225015612098938209558784336714762892674706628166467619116213581712589853262340071312550198571015745462845599964502955293350840813750483825212374719527402234905454657654600500151513422648793430451457390737172608157178738127071603497485734312608945656281808425261732100139067237889113963636259627350945133242776814028827725382565218334730503603943345890753181500837179137095048623040789555213626592407630341778199073527148578319576821915783119033845992953082678763041028454251044774611324182412112615145277176295194582272853862552454122788632780055045328868976844406243476608738160072678560752241137988359182220528272200286691520966815107687863556945466121494766894434140820520411221509498447576371723619751699250128512185031331355035451047412622419718146806165653283299976865484614730400914672613785949586964981865301115616803688614608826878991517995519570524614317041451831098834633394714313550336114521908405949786257715581004564293031167461706262702669767218919470823100002279572082102126874454508819471309577274183366376341513801596349030592430045221840176933001555403709319478171314580277194029292202094763010669214866477229533572922136366704757493930288372802045653586094329135984475402126336828190106201030241279093159262319748237104200291474576188034296431971311059602989947450982058826959070609162583256211987080695132923213184587315800171551143163074477695879258653713009626474350263773672858015249351885265753110904806216785166734432634547160492925439513049587272453623892937807293048090565868340115556505089546817030333876921789700319582219867730534404580467977241928164606188513825903513983878751538153700435220734566288944227275845891219204291578614628974257619751735391118351781885230240408558461837427583667589460370221498051774930972356307689392198882371522410401364696303975183587337362593086068414839407347478902593843572998294852275794517632258872637636689672205625775311887062910877143332133129821916310022849923884514390059277285866113128119401286808767165178898830555565206951176486561693185555498282971 246960649754047998002852968427634757037209712128884408119728529573111262964263473236970554448023226320508143888452122138173129825765413320161313378554687212949315570855540812754110590667191534090802636560187194238900765371934457135869484798677359427139965786152355792622851203404876333303173610401537888472949220399679429728677289186505933406511850597845882239427737097779472393124819323307505418647806290204647121016887817677809137177509681536686918637454481728965738348840496170090297303252904267150449096553408684678382892853891094503091190680650454680083817279694686208688527499483982158399041218592750675218807375617126691764682904698945894225496413675608079889917505962943159643940454719547008793071513466790704095013922576848730023118312712870313465722554321062510161844801731186232545418342506220935298398974871601316671455077210687825658589889547233556574903663143927986784227277250269914863779825746609634573490932591511662027872825471748304728589759005535728886468875854036128962265358318833616005652962556381764690885087452763202651124450559912055660332133839197971663839311975409011194161782594134618713588728930047197800645094536739332327962173158004322654052508530025631613868899317323703196985370529027678913468270882074030918796433521325474023585412863598254622495951656786611198905521142141776365586656026297237770366375892577012464695032380021943066486489021933748935466512788639416686261059237335704394139802832068237593646338821745442790667148734132898447296458335022493866728457623259222897530617791566985141562029837170393637591814813588361552176212701997134101038907688436564490889643179469642635287604047786802099400239573208461021480531428155754755960772249393524146782733816524533570564112304258790765286331565513763735652390597491140547075320277253403923192978088315949331586768182666203981574592574268421899915964999958685462827902500004133015989894857458789921699369788824659206920712013725619031753584338525011747394828908871631902144785624871456413857605329891237709561113454285863356570832191871573427476517106929216925454030370437452921611166046216304010401694364844838731767214538044632503755724623428417288451658951295534105505834474219894203587086324836770543171331899492780671495647160235862255434959721772538368566284688184346130490942837671113369352593798679785529473819970484607202817603523488744643135643756781700844245164755799853695307949333635690131238654319165773614551148665022062815907936885244164786721311176696661508975070070215298875904729404943120256615656261588727883682755120752080223746831708812713616059646704590891869280146058823693190545763640405087266295606252926183742978963973131022033646614591740419548942606963429083838944637134785542302054401860954515785150671274876482507767385905774927995003667555569072111583531195625664710234506495942120955954333188839589872458610982639904476736794347075351850814195127022149989788687243617258059091276649746656484717812621290334635956579777973845473229919393068296129692523019439301073266578087003063708800386185573417452340586316010583192029936761432461188566506427436723628057021134973012210415315101454269076684208239033111098054911663255347268406812130307738057503867742291024457198674645509575486256495802655807025298987102101274233070767516052407152514946897254663700337406638702227496070975424476783535679521987060991366678317042299895169502221034517622887871229426745710552594366573428883763302192833892616302235437294484514358737901271299350189974901448954877042736640797061580480023966885953858872051967118202681753712793959321987146696261206693574373881176977306534667715156459583496958675967960029683682768170509000384501179335446509932405035975334194211991092156934549612563149430901063411680621514902545631229963986668803594753733448351969118570082790724761643059529334152035608386627045062240338254830142692695522204225392170972987026772320304981887507826226578 399590725185808020311790182275719471384214118000297374685020694517962292107097780676449485485555297155621095670180406246804228305422642887128567484305752335180666038655071706175699542053074408246435550472225862219436802268403260050040757603564167741549796943233591124501967272417661082892038672798285677650052474878531555429080520676970985696025767948992727088062613203466274281656368113941215729394771771256374923087828899809473046933522795847987972650079296541885793681593923954677415086457891597330228657320580676765320987536761537217700936053834782597446746971081967360245341543764369210117752677968021461058756198083688717059009191726007425682412713420509389942888019722334559074985032087020457118224584503538681383908665513735981487106305170789913272311839818882337194945561478377637153609987343657219139929441379295001319924938756399401592536492224959989194116867396827082201856641644920300033900310418836016830346912712932990702994509753857013741227405443321952812582890572840602404612317199014561320669080560720882056417006633340543758524979707802774191827246503118746438260665412118298454091016411338468250086306328457221068320201502671770373169749311661935143378993540607901823583983935865890865654629316236069066886052457158528070808147842137500905110427546180774322757456929532119122032852629167884530501515782394066280446629952487932064216153774014888871311041951854903028258627785280599102358429916733238169134138995774195178129814623473092554070289408179438578027646759260115969466563919491832199551817732693123454635957653488860845839434390504735501171213575000072513813768654557418557431610378973866542472758707585818722835088595792964435273028030890225692624398586407001549979245756949822964741204646006383353541158294565519269232097386085617141311504505367651124170963478362682723988079873539246580165272586810604125061469953184832351052918112103071225548679194173552814374076416991126826036925595438208885015924409837561945965844654334477502109288580164807254671355813716450084280640856520768811228486792371724940899165900359668382844767543045610100349293117819801496136006973790495013575639799776732642822962512542380924711286302240667348282648503047619586152304659567274147114677790245962172332826297330910878475749276986164960973915029962545204018091415990690191268376917713631522426902649247648231271854568263355967318055869396846121421459950382126549170501787758478764018709364494642591395554908498671554068009563804917027859299535878882037247270356906819842719837092806677202081777756355622317823575641163301733245279285184437235811345954719404054311477413859144237958386060123234072461259536226160608463578703531936706260400541327384530807908079045887527559245961664533820049921431479130102192123105975317141162100219325264109525575961518858369299112200189957741401968202204823625721552108310412972460890554722006603611248855894823160391469310388526331302488839966288651521321871586833417719368024999654114127894358251039502522121487831306798907389496668834646188714453707821202730674558375463105926680645146567667432063098260651294767536668715816787319340883210116410706789677642303373116179550092714088002362645314174227477421292890994269490948437423947670383261961309747037399658877133502904557640815110900707421031289725265167764298782520416811242212855487394230503609971637276461119035036648263820302209980107188217592786902857738444376318973562740886471288363129203345522060564427020882703414536412678964926415097202864173853652987108577477957375363350524707299812777173063163630581747176939373464529350440338928581491447102132835718604560974124128085377957635271889648324267719075881650542031410785865875639421693519742398568420262626830499504413452206406722429195915687475139147161418268866653658874429370065620511262846261902215920546677953082379258036549998445904330928353466374231429501462687383124222726538193977948806866675073063324509549 646551374939856018314643150703354228421423830129181782804749224091073555071361253913420039933578523476129239558632528384977358131188056207289880862860439548129981609510612518929810132720265942337238187032413056458337567640337717185910242402241527168689762729385946917124818475822537416195212283199823566123001695278210985157757809863476919102537618546838609327490350301245746674781187437248721148042578061461022044104716717487282184111032477384674891287533778270851532030434420124767712389710795864480677753873989361443703880390652631720792126734485237277530564250776653568933869043248351368516793896560772136277563573700815408823692096424953319907909127096117469832805525685277718718925486806567465911296097970329385478922588090584711510224617883660226738034394139944847356790363209563869699028329849878154438328416250896317991380015967087227251126381772193545769020530540755068986083918895190214897680136165445651403837845304444652730867335225605318469817164448857681699051766426876731366877675517848177326322043117102646747302094086103746409649430267714829852159380342316718102099977387527309648252799005473086963675035258504418868965296039411102701131922469666257797431502070633533437452883253189594062639999845263747980354323339232558989604581363462974928695840409779028945253408586318730320938373771309660896088171808691304050813005845064944528911186154036831937797530973788651963725140573920015788619489154068942563273941827842432771776153445218535344737438142312337025324105094282609836195021542751055097082435524260108596197987490659254483431249204093097053347426276997206614852676342993983048321253558443509177760362755372620822235328169001425456753559459045980448585170835800525696761979573474356535305316950265174118827489860079283004884487983576757688386824782621055047363941566678632055574848056205450561739865161079026024977434953143517813880820612107204241538574051632342736073446205815786032957637609163827916769508748362573693360673563206109404254074205036263668528961143607687793841754310806632167799318984243298368375683007288885308298797913483063021960459164036105506537701338635333745342854337821365146578687135970798213162945253536201453788482977267513789739390984404044690286009689738742843828473457566773133910708998758703329540199718146891334509034253661803560620970716393417051900722619732255434089458091752100610453699626178546965666624706181980244478451121394168895257363683660416205946703573520734369975946449049081814580610712575543546222340427122118718624566497749797458697434017944350201506330761915381956992110993997150851870992659310295923591623472682837428504149700528321338756865789152344351442542676662958739907015133067804079750515042474971366503883096450076122104323292433645887342794380851799648929486125100192104529243517087930480882643395815622451636474698146944581675885297150002844919501537361911080348043202970175011205664437410676321091176083583546710612598521333489902437180646289988750084474136224884975752040880899602928599912516108135719455292540710884911531060743948880558267266961157150859461999859693112483334043096152540415376362018183128621122104779096572449800387789125825186057274308569521495884233423198732326994816179714972127581936606819322523656154679789309929856627917212174940491798805777672320279245679775080511579619494189621726574585396114059996798557023709255186980527022407083387095007937375361332247548400308451439065654936558087108824253398319637184938851830897193323664316368502214363828554436063454520694016160412105187323779663126922035682548865379621127177323309762326075277752653795707209599781538280658795800534417218768848324292227748759564418712540411170367054974868203452147434543754456838821591661348001818969871860096979099155760662063963900096617645543232964819353959614815380472298711271439596141908592188585606832531375990593804629061572194158209587349614897511181004721127171656960571150736127 1046142100125664038626433332979073699805637948129479157489769918609035847178459034589869525419133820631750335228812934631781586436610699094418448347166191883310647648165684225105509674773340350583673737504638918677774369908740977235951000005805694910239559672619538041626785748240198499087250955998109243773054170156742540586838330540447904798563386495831336415552963504712020956437555551189936877437349832717396967192545617296755231044555273232662863937613074812737325712028344079445127476168687461810906411194570038209024867927414168938493062788320019874977311221858620929179210587012720578634546574528793597336319771784504125882701288150960745590321840516626859775693545407612277793910518893587923029520682473868066862831253604320692997330923054450140010346233958827184551735924687941506852638317193535373578257857630191319311304954723486628843662873997153534963137397937582151187940560540110514931580446584281668234184758017377643433861844979462332211044569892179634511634656999717333771489992716862738646991123677823528803719100719444290168174409975517604043986626845435464540360642799645608102343815416811555213761341586961639937285497542082873074301671781328192940810495611241435261036867189055484928294629161499817047240375796391087060412729205600475833806267955959803268010865515850849442971226400477545426589687591085370331259635797552876593127339928051720809108572925643554991983768359200614890977919070802180732408080823616627949905968068691627898807727550491775603351751853542725805661585462242887296634253256953232050833945144148115329270683594597832554518639851997279128666444997551401605752863937417375720233121462958439545070416764794389892026587489936206141209569422207527246741225330424179500046521596271557472368648154644802274116585369662374829698329287988706171534905045041314779562927929744697141905137747889630150038904906328350164933738724210275467087253245805895550447522622806912858994563204602036801785433158200135639326518217540586906363362785201070923200316957324137878122395167327400979027805776615023309274848907648553691143565456528673122309752281855907002673708312425828758918494137598097789401649648513179137874231555776868802071131480315133375891695643971318837400687479984705016161299754897684012386458275744868290514114748109436538527125669652493751889347634107048574327625268979903665361312660015456577771755495575393087088084656564106793648952909152647659276073048155058797342258482019405924043956012853998842439910248454425583469610784028938561344403590556474660779211774299972519329906403078683690237390279181588087682338614029699977903100886541981666462535760651555411218125325378504959906121380194895446167415674395188610558423121520858894063129058114609942154244723912775989534917486827116790091586344425456214054819478606788850181755596005580193038442900351768207397437405460415817380392092083917683959292058864998171597133747799202652393664923549835362133920392920323320156548671289642864212368494475924478274162368730909727507302012776970365644006994418706114261735302324343664193947606303718526894062957953763778101579764868357202695702901393245031828894456738875822916567339218539274059636953883695723361654716089726596485764617138919797965198568129069561055813556922812834414268732323075647912830095502937488043544462295497322821832349677015957078195367751336457917592060357519007282737002514271604687794840233099776623867373871192325536943299687290454346313962746658067642266367309872288590731465705078537682207423172031998651391523762629894623592440299985199313130612556560500641852660202665003859244100897840045318386099254782923885912374854040737972616495467835446069254571821956232930614289896971889833112174719465652091165761454025376594289292894786630899809225382168963271304417662334884974470877661642374514631818117549224287850225135605278435706918947271003293001695620896970473837624049374982669934038332033634475245676 1692693475065520056941076483682427928227061778258660940294519142700109402249820288503289565352712344107879574787445463016758944567798755301708329210026631431440629257676296744035319807493606292920911924537051975136111937549078694421861242408047222078929322402005484958751604224062735915282463239197932809896055865434953525744596140403924823901101005042669945743043313805957767631218742988438658025479927894178419011297262334784037415155587750617337755225146853083588857742462764204212839865879483326291584165068559399652728748318066800659285189522805257152507875472635274498113079630261071947151340471089565733613883345485319534706393384575914065498230967612744329608499071092889996512836005700155388940816780444197452341753841694905404507555540938110366748380628098772031908526287897505376551666647043413528016586273881087637302684970690573856094789255769347080732157928478337220174024479435300729829260582749727319638022603321822296164729180205067650680861734341037316210686423426594065138367668234710915973313166794926175551021194805548036577823840243232433896146007187752182642460620187172917750596614422284642177436376845466058806250793581493975775433594250994450738241997681874968698489750442245078990934629006763565027594699135623646050017310569063450762502108365738832213264274102169579763909600171787206322677859399776674382072641642617821122038526082088552746906103899432206955708908933120630679597408224871123295682022651459060721682121513910163243545165692804112628675856947825335641856607004993942393716688781213340647031932634807369812701932798690929607866066128994485743519121340545384654074117495860884897993484218331060367305744933795815348780146948982186589794740258008052943503204903898536035351838546536731591196138014724085279001073353239132518085154070609761218898846611719946835137775985950147703645002908968656175016339859471867978814559336317479708625827297438238286520968828622698891952200813765864718554941906562709332687191780746696310617436990237334591729278100931825671964149478134033146827124760858321677650531914937438999442363370011736144270211445892012509211409651061162504261348475419462935980336784483977351037176809313070255859614457582647165631086628375363527686697169723447859989773212464457146297167274503571620054314466256327873036159923314297312510318350500465626228347888712159099450770751767557188225455121753940052754709362746087038127404030546816554533436731815475003288962055540140294019902461903080657020520961029969129691951211151057279968970088306272119476645792244322720836237164994065647229501273178738939553331273339995901494724359224819094966685461179876749974991114530849311348664056857854186074430807462992690308938163995830260567012154564686064258568016346421876877711867678916439021072469525648318584062995694719331064398991821202644674917598498712789073322702610418662299893629445828764307335261835173182802798185209878973484841007133382072746518914253813222593729317579631614296842630700809454026203249630512656107214528885106085099299535129591025792796046273224222461214567460869386356062817646876261435622861020897618072064919576373652950999235835448272716955128344364460116911262453217219245888139288458923480580796853891925547135174948392084711968236712122764270896649535250588404628901280609808322790142070577834401451843866637683652780763865396454716149084066774194263264024921354991782802777608461108871415774179643764602598236245377563170567361066295252581118198207065612255047834207292901510761859235486519345407684174735081947372103426907234995679477936181627819175969964991079136996754693547254918167637535441719686446792072809586296908723216595010487967112233126599985589158100424037267655929176304473682827109455844346466149389873885786660471289346069059888949960895299704328430492477022846813343089557145366196442413721212110967082909541075632354573889779106557823452521560555987391061209988994205625981803 2738835575191184095567509816661501628032699726388140097784289061309145249428279323093159090771846164739629910016258397648540531004409454396126777557192823314751276905841980969140829482266946643504585662041690893813886307457819671657812242413852916989168882074625023000378389972302934414369714195196042053669110035591696066331434470944372728699664391538501282158596277310669788587656298539628594902917277726895815978489807952080792646200143023850000619162759927896326183454491108283657967342048170788102490576263129437861753616245480969597778252311125277027485186694493895427292290217273792525785887045618359330950203117269823660589094672726874811088552808129371189384192616500502274306746524593743311970337462918065519204585095299226097504886463992560506758726862057599216460262212585446883404304964236948901594844131511278956613989925414060484938452129766500615695295326415919371361965039975411244760841029334008987872207361339199939598591025184529982891906304233216950722321080426311398909857660951573654620304290472749704354740295524992326745998250218750037940132634033187647182821262986818525852940429839096197391197718432427698743536291123576848849735266032322643679052493293116403959526617631300563919229258168263382074835074932014733110430039774663926596308376321698635481275139618020429206880826572264751749267546990862044713332277440170697715165866010140273556014676825075761947692677292321245570575327295673304028090103475075688671588089582601791142352893243295888232027608801368061447518192467236829690350942038166572697865877778955485141972616393288762162384705980991764872185566338096786259826981433278260618226605681289499912376161698590205240806734438918392731004309680215580190244430234322715535398360142808289063564786169368887553117658722901507347783483358598467390433751656761261614700703915694844845550140656858286325055244765800218143748298060527755175713080543244133836968491451429611750946764018367901520340375064762844972013709998287283216980799775438405514929595058255963550086544645461434125854930537473344986925380822585992690585928826540409266579963727747919511885117963486991263179842613017560725381986432997156488911408365089939057930745937897780541522782272346682365087384649708152876151072967362141158683625550248439910568429214365764411563285592966791064399665984607514200555973157692062764812083411783013765997210617329333139842794019310193831776356939699464213809509779970533800631220537559546218063858474757079499460431209484394713161561995179995841313373678862746780255857566544295240166143568072749337466891552360327027235669887369695879397825245766800761429221221831432161193116439909354271254785437052749632241846481858181300867361285516689154630141212679296006412812740259197866412629354506033229112658813951104532638882474301508181246154587826782837713360498850480996470760108070834479680285721529746448266627320700171354399931933009081625878505930683217434880439307174136542750277988869274478509211125176733932300365618361422383614516541662076450743306529548297140054531348597567886655162173764587913250125775600640039537202625889254820767767820969618684779893692574324095633522467562903734176548216336912942607542855378185519966345413992811723512333743077461645767781793634935598685165381858326236317458996783547296366334604366075157223284193543653640730976131616732912633741144424293201546001027435626596470597617841560885495283148050836090139541535932668017516881323812953320223384565516937900845779299912371439192969282407518517996799207937364976570964543726892434308810090492742128461028630167656082996240855591387300236553736790224643572359166926850324269525218684430456557221684055082832916203447997395927100768103895770125773992870909869723060438682768672417560280514728238023160254378557634589302901370138665221327974907674694590484292638856817389402789828488346635647575585400003528297290145609930970060995248321027840101227479 4431529050256704152508586300343929556259761504646801038078808204009254651678099611596448656124558508847509484803703860665299475572208209697835106767219454746191906163518277713176149289760552936425497586578742868949998245006898366079673484821900139068098204476630507959129994196365670329652177434393974863565165901026649592076030611348297552600765396581171227901639591116627556218875041528067252928397205621074234989787070286864830061355730774467338374387906780979915041196953872487870807207927654114394074741331688837514482364563547770257063441833930534179993062167129169925405369847534864472937227516707925064564086462755143195295488057302788876586783775742115518992691687593392270819582530293898700911154243362262971546338936994131502012442004930670873507107490156371248368788500482952259955971611280362429611430405392366593916674896104634341033241385535847696427453254894256591535989519410711974590101612083736307510229964661022235763320205389597633572768038574254266933007503852905464048225329186284570593617457267675879905761490330540363323822090461982471836278641220939829825281883173991443603537044261380839568634095277893757549787084705070824625168860283317094417294490974991372658016368073545642910163887175026947102429774067638379160447350343727377358810484687437467694539413720190008970790426744051958071945406390638719095404919082788518837204392092228826302920780724507968903401586225441876250172735520544427323772126126534749393270211096511954385898058936100000860703465749193397089374799472230772084067630819379913344897810413762854954674549191979691770250772109986250615704687678642170913901098929139145516220089899620560279681906632386020589586881387900579320799049938223633133747635138221251570750198689345020654760924184092972832118732076140639865868637429208228609332598268481208449838479901644992549195143565826942500071584625272086122562857396845234884338907840682372123489460280052310642898964832133766238895316971325554304700901779033979527598236765675740106658873159187789222050694123595467272682055298331666664575912737523431690028292196552145410850175173639932021096527614548153767441191088437023661362323217481133839948585174403009313790360395480427707153868900722045892774081819431600736140846179826598304980792824752011530622743680622092284599445516281088376909984335107979826784321046404221864262854163550570954222665739083273192597503382056280869903760970246280768342946511786008803920182593099686512083760936660160156480952170514363842853513206331053121282343767169018899732503358788617961002380733066814984696392825539065966789001160709691780892549604991619856395906683011308911168107554440203582603449493910603818316277289321173991176299449512519415197153367243982070671380756605619743290341222184949668133731283476752851222945469996227512310553579647985482388278097349193785544082810681253141980179350975575212573962582535344537202730118218960599363346937816599507626958221427949765344007306448906092806053755877543386326568867991935039721731070547182535842606064677888165847327394870792109116376741225457299606188593247516300972825486910152438839832740545992337730892928409772368350477595907268194293459478790130161853430994666644443446926210846703649059468918025853730479750030347058362956062031393576824722087898064157104689124746436652991624736037410291324383756895482129367349890228491067395809265052356981588253400395450021994366698922230479854742139772178045580687448684879248572804502763724003513100827134119664340703731141643005037342206892112100058518336647153799669304489568428923756280204600132647162133237610284934555154721374325666363258805958999659910566433941901025467045188796288209432901792606097819964368424033072074599456819980365714069526588072642558204220751804074307083049204339452934293631331862615688068141317997231839956680735052578029500369872738029422268002149475179110086120742667170486957452056458310022045727209282 7170364625447888248076096117005431184292461231034941135863097265318399901106378934689607746896404673587139394819962258313840006576617664093961884324412278060943183069360258682316978772027499579930083248620433762763884552464718037737485727235753056057267086551255530959508384168668604744021891629590016917234275936618345658407465082292670281300429788119672510060235868427297344806531340067695847831314483347970050968276878238945622707555873798317338993550666708876241224651444980771528774549975824902496565317594818275376235980809028739854841694145055811207478248861623065352697660064808656998723114562326284395514289580024966855884582730029663687675336583871486708376884304093894545126329054887642012881491706280328490750924032293357599517328468923231380265834352213970464829050713068399143360276575517311331206274536903645550530664821518694825971693515302348312122748581310175962897954559386123219350942641417745295382437326000222175361911230574127616464674342807471217655328584279216862958082990137858225213921747740425584260501785855532690069820340680732509776411275254127477008103146160809969456477474100477036959831813710321456293323375828647673474904126315639738096346984268107776617542985704846206829393145343290329177264848999653112270877390118391303955118861009136103175814553338210438177671253316316709821212953381500763808737196522959216552370258102369099858935457549583730851094263517763121820748062816217731351862229601610438064858300679113745528250952179395889092731074550561458536892991939467601774418572857546486042763688192718340096647165585268453932635478090978015487890254016738957173728080362417406134446695580910060192058068330976225830393615826818972051803359618439213323992065372543967106148558832153309718325710353461860385236390799042147213652120787806695999766349925242470064539183817339837394745284222685228825126829391072304266311155457372990060051988383926505960457951731481922393845728850501667759235692036088399276714611777321262744579036541114145621588468217443752772137238769056901398536985835805011651501293560109424380614221023092554677430138901387851532981645578035145030621033701454584386744309650478290328859993539492948371721106333378208248676651173068728257861466469139753612291919147188739463664418375000451441191172894987856696162731109247879441309650319715494027340294204096284629074937575333584720219876356412606332440297401366474701680117909945744982152456291756542604551403130659232730147619411417239655941383379998758556015075201511048962595717446031765679988360925332913201168524301139564322163284377899392994024671048079387660290374850758420617825127904842741072361223994349557853858234930963353450558123771179355292043660735029208569827294579923278077084193496864817609702970576690982897246390097427857383861827944297735693556708167474768320101638596199674782014842918752087621660465072505321660840589903235515891602662051228042225241852868499816942507397528602086308094285295318180571315264881054277318626934486353357423336247612209258986585912594226185305901858743468359995771538914990045212856314368848156340510028112799407259607600561515611022510786620984096463984000063470171928470007695127043104460973850044829963413271624839515372571802661103315376247531823981993961641227413251903061039546894847704401055459350802728148848020230953944965114733027098862279983631372915360597355266079792608184723998013291582879861982070281315944881681308110713598204330008692201893027887329240941413946606434032035779896700424050523555339006100049465035089301190880692103613299658921665884741233230300303245129478465876321855391275111115891006831165125926510234835959160585455923602410480343292265817996054095215891469192136967844725230812851275583792587026755411230621781032318802545106209458718010568882934233232754353289469292904906534547165027691434846889772662566517768903649725060579113614418032812780417927513051706631049885828436761 11601893675704592400584682417349360740552222735681742173941905469327654552784478546286056403020963182434648879623666118979139482148825873791796991091631732807135089232878536395493128061788052516355580835199176631713882797471616403817159212057653195125365291027886038918638378365034275073674069063983991780799441837644995250483495693640967833901195184700843737961875459543924901025406381595763100759711688969044285958063948525810452768911604572784677367938573489856156265848398853259399581757903479016890640058926507112890718345372576510111905135978986345387471311028752235278103029912343521471660342079034209460078376042780110051180070787332452564262120359613602227369575991687286815945911585181540713792645949642591462297262969287489101529770473853902253772941842370341713197839213551351403316248186797673760817704942296012144447339717623329167004934900838196008550201836204432554433944078796835193941044253501481602892667290661244411125231435963725250037442381381725484588336088132122327006308319324142795807539205008101464166263276186073053393642431142714981612689916475067306833385029334801413060014518361857876528465908988215213843110460533718498100072986598956832513641475243099149275559353778391849739557032518317276279694623067291491431324740462118681313929345696573570870353967058400447148461680060368667893158359772139482904142115605747735389574650194597926161856238274091699754495849743204998070920798336762158675634355728145187458128511775625699914149011115495889953434540299754855626267791411698373858486203676926399387661498606481195051321714777248145702886250200964266103594941695381128087629179291556551650666785480530620471739974963362246419980497214719551372602409556662846457739700510765218676898757521498330373086634537554833217355122875182787079520758217014924609098948193723678514377663718984829943940427788512171325198414016344390388874012854218224944390896224608878083947412011534233036744693682635433998131009007413953581415513556355242272177273306789885728247341376631541994187932892652368671219041134136678316077206297632856070642513219644700088280314075027783554078173192583298798062224789891608048106632867959424168808578713895957685511466728858635955830520073790774150635548288571354348432765327015337768645211199752462971813916575609948980762176625528967818219634654823473854124615250500506493337791738884155674442542095495879525037800783422755571583878880192025750495402803542551408471585723758919242231380348077399812422335550513122398868588407842102083878061213200784579720864284121531162170905034206379306859677203438458960813672208789079441182924455750040474221034587854049983529331548789761436461684424873957268874401060500529283219960184541727985024447947167260147755574253470437352993311798875932565380121380904610235084773414293963205867261747122753802489916693548868567558925729433340763640644423480896873414552485770860428805392169447002824605199806316416450134355750030036073438292601767086664121318636931820704953503354345292463057978682756441522428518658904073471749186138339152104887915656215502512462502962095672641482853599709559698447433302061603360241679549393868832334477659377440122763467173917173266314404844711474406860197835686219021631271579129169106727281854329052324597289444645479885761634792911861505744584097239381140472756268364236289498489922580991647333521601406427993164531132149589772977398408741604874228680992511795799623821080288759178891778693571450465832390092964944927047433568151700120600431565693528592681212992161565093607637838034491772917789227350589641021437830432950407262716076161256410545996485441557370089971084926170145402393102486481390647599276631501698719788660193035855837616170039919324687632831641297862113614828053788826001784122876852189258663057463503176565565095370041357610610902138374503845762744012876390142535304547191171651874535758223700538775479950904884965108164941071931555646043 18772258301152480648660778534354791924844683966716683309805002734646054453890857480975664149917367856021788274443628377292979488725443537885758875416044010868078272302238795077810106833815552096285664083819610394477767349936334441554644939293406251182632377579141569878146762533702879817695960693574008698033717774263340908890960775933638115201624972820516248022111327971222245831937721663458948591026172317014336926340826764756075476467478371102016361489240198732397490499843834030928356307879303919387205376521325388266954326181605249966746830124042156594949559890375300630800689977152178470383456641360493855592665622805076907064653517362116251937456943485088935746460295781181361072240640069182726674137655922919953048187001580846701047098942777133634038776194584312178026889926619750546676524762314985092023979479199657694978004539142023992976628416140544320672950417514608517331898638182958413291986894919226898275104616661466586487142666537852866502116724189196702243664672411339189964391309462001021021460952748527048426765062041605743463462771823447491389101191729194783841488175495611382516491992462334913488297722698536670136433836362366171574977112914596570609988459511206925893102339483238056568950177861607605456959472066944603702202130580509985269048206705709674046168520396610885326132933376685377714371313153640246712879312128706951941944908296967026020791695823675430605590113260968119891668861152979890027496585329755625522986812454739445442399963294891779046165614850316314163160783351165975632904776534472885430425186799199535147968880362516599635521728291942281591485195712120085261357259653973957785113481061440680663798043294338472250374113041538523424405769175102059781731765883309185783047316353651640091412344891016693602591513674224934293172879004821620608865298118966148578916847536324667338685712011197400150325243407416694655185168311591215004442884608535384044405363743016155430590422533137101757366701043502352858130125333676505016756309847904031349835809594075294766325171661709270069756026969941689967578499857742280451256734242737254765710452976415635087059818770618443828683258491346192434850942518437714497668572253388906057232573062236844204507171246859502408497014757711107960724684474204077232309629574752914413005089470597805676924907734776847259529284974538967881464909454596791122412729314217740394662418451908485857478098184789230273263996790137770732647859095299094013022988854418151972378999759494639468363718930511880954883663609353151046473778659232550259709225209454444363339429335345943629022961581337851954838343256868467101473299306508461092046162492696791055890555543139319290319919355837310719432524831679884575263620919570936554851742527090538224839767750335254962696282375566915462626511478332467618946601358591698899423969914597522122591555289748543349573768648185428385301109495986218534255142389006376320408054220675045049847052674816233392641753278632122381532577897085267235436583517986098023580437840698649886394226294965700509014431253130258777651044881807512100659454571205547725318817330943828981992881712508966958055033863577214382752466170377965296318477722847612051233474869044216370775378694756304370273469460525734394203074240232484482974813678311046286238516857897382946801181687759565906800043448042109289320776499318181254613222949679853927317152974321788590519797211942197957701396422033187754090663062793111744505502388399472777096108702263652358860277422205886340994040002183735900497131989744052148020219092211030128696939028915183876531088886272255525762671060733253652392194542037578265937271596557448376921136210852680380238352263071937314250009756974793964537784714288251747306808307007764049918445682916881654700641583465019447782816441679397295468121775474072059499798328124394647079903807044909051010790435447723279915197871064960075301599596337337314956808292731322812478159871572121817384082804 30374151976857073049245460951704152665396906702398425483746908203973709006675336027261720552938331038456437154067294496272118970874269411677555866507675743675213361535117331473303234895603604612641244919018787026191650147407950845371804151351059446307997668607027608796785140898737154891370029757558000478833159611908336159374456469574605949102820157521359985983986787515147146857344103259222049350737861286058622884404775290566528245379082943886693729427813688588553756348242687290327938065782782936277845435447832501157672671554181760078651966103028501982420870919127535908903719889495699942043798720394703315671041665585186958244724304694568816199577303098691163116036287468468177018152225250723440466783605565511415345449970868335802576869416631035887811718036954653891224729140171101949992772949112658852841684421495669839425344256765353159981563316978740329223152253719041071765842716979793607233031148420708501167771907322710997612374102501578116539559105570922186832000760543461516970699628786143816829000157756628512593028338227678796857105202966162473001791108204262090674873204830412795576506510824192790016763631686751883979544296896084669675050099513553403123629934754306075168661693261629906308507210379924881736654095134236095133526871042628666582977552402283244916522487455011332474594613437054045607529672925779729617021427734454687331519558491564952182647934097767130360085963004173117962589659489742048703130941057900812981115324230365145356548974410387668999600155150071169789428574762864349491390980211399284818086685405680730199290595139764745338407978492906547695080137407501213348986438945530509435780266541971301135538018257700718670354610256258074797008178731764906239471466394074404459946073875149970464498979428571526819946636549407721372693637221836545217964246312689827093294511255309497282626139799709571475523657423761085044059181165809439948833780833144262128352775754550388467335116215772535755497710050916306439545638890031747288933583154693917078083150970706836760513104554361638740975068104078368283655706155375136521899247462381954853990767051443418641137991963201742626745483281237800482957575386397138666477150967284863742744039791095480160337691320650276559132563046282462309157449801219415000954840774505377384819006046207754657687084360305815077748919629362441735589524705097297615750521053101896069104960547404365382515898968211985844847875670329796483143261898841645421494574578177071214610380107572039280786054481025003353752252017195253130351839872433334839430089493575975525510334369552322935882638784776310915652015465657546542656223762258501566267197080550841039419887091929080726781603780711267988306925892180413858483581104112664539876190474257798372595342003805692315689594174442848028006632859237077854031374772885662105291231661720275925081471983297411917132694377618769148941753919467115407669694874777236749213446390122047874452252481132649842776109028662158454970870498852353899557902154917918728533941195043942349452204977722142031442949912034332249400231020146664205547370227421050237781320293039501623475735312218526656502467165638817742994145719771834128652955382225052173996942042961389637089783539467778777133667296211953415834345819361653589702095532640098610835806302542862832562816480671427412544627545281490429793532767682417544111712872260845574650674575728216583684328344091787730678794830774792628319344055304907544129323468688231955987887395835102824692667515170831268041473570335436021097563555437580740701432084372595222304576866949675649448878113622845166784108891166204059654910618198834676483268081999005747011107295778850525640745365558418704897609033606295663257573374481287603144424477047683374606078514558179516814256411518808273784600564556249484726784832937575236065363423494436004690514709183283554856553179460599670057733175612151246953474132095561015495583772682227697443268036513193748939728847 49146410278009553697906239486058944590241590669115108793551910938619763460566193508237384702855698894478225428510922873565098459599712949563314741923719754543291633837356126551113341729419156708926909002838397420669417497344285286926449090644465697490630046186169178674931903432440034709065990451132009176866877386171677068265417245508244064304445130341876234006098115486369392689281824922680997941764033603072959810745602055322603721846561314988710090917053887320951246848086521321256294373662086855665050811969157889424626997735787010045398796227070658577370430809502836539704409866647878412427255361755197171263707288390263865309377822056685068137034246583780098862496583249649538090392865319906167140921261488431368393636972449182503623968359408169521850494231538966069251619066790852496669297711427643944865663900695327534403348795907377152958191733119284649896102671233649589097741355162752020525018043339935399442876523984177584099516769039430983041675829760118889075665432954800706935090938248144837850461110505155561019793400269284540320567974789609964390892299933456874516361380326024178092998503286527703505061354385288554115978133258450841250027212428149973733618394265513001061764032744867962877457388241532487193613567201180698835729001623138651852025759107992918962691007851622217800727546813739423321900986079419976329900739863161639273464466788531978203439629921442560965676076265141237854258520642721938730627526387656438504102136685104590798948937705279448045765770000387483952589358114030325124295756745872170248511872204880265347259475502281344973929706784848829286565333119621298610343698599504467220893747603411981799336061552039190920728723297796598221413947906866966021203232277383590242993390228801610555911324319588220422538150223632655665866516226658165826829544431655975672211358791634164621311851810906971625848900831177779699244349477400654953276665441679646172758139497566543897925538748909637512864411094418659297675764223708252305689893002597948427918960564782131526838276216070908810731095074020058251234206013117416973155981705119209619701220027859053728197810733820186455428741772583992917808517904834853164145723220673769799976612853332324364844862567509778967629577803993570269882134275423492233264470349258291797824095516805560334611992095082662337278204603901409617054434159694088738163250367319636463767378999312851239993997153001216118111872460467567215791120994140739434517563432595223186989379867066678749149773411536884308635915626548404176825618531665885099139314703030419888849763704898266564905600366114162870490358722526013644129523068766962658313359573247632095310442635068400017101523136548578707739450723860298433747202023683601094727933001348336597435109754140947278385876550009763490633144337569545472977976131477361004715201576317798047673027273045955266706463025804197534242863415453333941924837263783613069621500610797092924299305155948883235417862307294280836503448395937621134994485672904016752114379035742592235846431272687842540457381165164591027051275901954176306206824798626597963100137623983330605468617024727493614557501029216032125746611890149799424971433105072664225230416912005606007865162234224083147407136756737687810037420059594138072676909210951144897074323160440245779363998168430993319344670993323599719114309267000598798724935821940699501967827550050005174204125556033985688380191252807980382410007118098019288634825857087704733083996098098755183552944937376717609035513572519171921594695545181632888721651176583625351001515895864859525979966999895100692546779951899457712047105160236412942420539678556454123932243506631530905879097628630356019147618790581089627795358088769539350451232784055447424524524197475061171514897994983827721567417006235646780194906608411647295565161751618830651770418516228192605867343614908322949972931046677111322255073728432898330452392065413550509921427908085315566323811651 79520562254866626747151700437763097255638497371513534277298819142593472467241529535499105255794029932934662582578217369837217430473982361240870608431395498218504995372473458024416576625022761321568153921857184446861067644752236132298253241995525143798627714793196787471717044331177189600436020208690009655700036998080013227639873715082850013407265287863236219990084903001516539546625928181903047292501894889131582695150377345889131967225644258875403820344867575909505003196329208611584232439444869791942896247416990390582299669289968770124050762330099160559791301728630372448608129756143578354471054082149900486934748953975450823554102126751253884336611549682471261978532870718117715108545090570629607607704867053942783739086943317518306200837776039205409662212268493619960476348206961954446662070660540302797707348322190997373828693052672730312939755050098024979119254924952690660863584072142545627758049191760643900610648431306888581711890871541009099581234935331041075907666193498262223905790567034288654679461268261784073612821738496963337177673177755772437392683408137718965191234585156436973669505014110720493521824986072040438095522430154535510925077311941703376857248329019819076230425726006497869185964598621457368930267662335416793969255872665767318435003311510276163879213495306633550275322160250793468929430659005199705946922167597616326604984025280096930386087564019209691325762039269314355816848180132463987433758467445557251485217460915469736155497912115667117045365925150458653742017932876894674615686736957271455066598557610560995546550070642046090312337685277755376981645470527122511959330137545034976656674014145383282934874079809739909591083333554054673018422126638631872260674698671457994702939464103951581020410303748159747242484786773040377038560153448494711044793790744345802765505870046943661903937991610616543101372558254938864743303530643210094902110446274823908301110915252116932365260654964682173268362121145334965737221403113739999594623476157291865506002111535488968287351380770432547551706163178098426534889912168492553495055229167501164473691987079302472369335802697021929082174225053821793400766093291231991830622874187958633542720652644427804525182553888160055526762140850276032579039584076642907234219311123763669182643101563013314992299076455388477415027124233263851352643958864791386353913771420421532532872339546717216622509896121213201962959748130797363698934382892982384856012138010772294401599759974638718029935827892561887662388167643743657307177458404099219938569404196606395414360098074450589500788239150890473786142374188183560186785746831025464224580556653798473134730329726997480743883126917259846696046376616040712292230783127796265634604123475606134970030451757946639594075470724452611518639777196806623327009350904363023110006433238038073972754499256343367183839157403422966683184617334920449349594532138560849818834947000919140798751557637081533078193971335956439291474318894789975034552387827821935480648320230786534585298636250409984571900331077198923276451506922100840511754195026047648200881457917022832228944352336946020271059968194854849868740757609921633553624388487297716399227358954966995644954945773691861924540804052949641225871765878955791662379004743591243507910129462983108611926814649102420731889298538605090148907842034683016342836648694201545076618502125778221757888453900125773419058986083582773010729351173402926832764149325775936689071883493933858008245612452547548877076987142854607942692259100619213629423083260956220573306092762814535175428845113517945859330888843065661771702015778435247618903807760555459870943350802410381431519842994188774724045227824187385291052931463250826953595657261103130799130602712033240688329154406502635995352017570791896264921691441349222531630525175113266656460933225411476160723896794368922620030664222289262569208547860528459345947975838095778207364695944598509315263540498 128666972532876180445057939923822041845880088040628643070850730081213235927807723043736489958649728827412888011089140243402315890073695310804185350355115252761796629209829584575529918354441918030495062924695581867530485142096521419224702332639990841289257760979365966146648947763617224309502010659822018832566914384251690295905290960591094077711710418205112453996183018487885932235907753104584045234265928492204542505895979401211735689072205573864113911261921463230456250044415729932840526813106956647607947059386148280006926667025755780169449558557169819137161732538133208988312539622791456766898309443905097658198456242365714688863479948807938952473645796266251360841029453967767253198937955890535774748626128542374152132723915766700809824806135447374931512706500032586029727967273752806943331368371967946742573012222886324908232041848580107465897946783217309629015357596186340249961325427305297648283067235100579300053524955291066165811407640580440082622910765091159964983331626453062930840881505282433492529922378766939634632615138766247877498241152545382401783575708071175839707595965482461151762503517397248197026886340457328992211500563412986352175104524369853350590866723285332077292189758751365832063421986862989856123881229536597492804984874288905970287029070618269082841904503158255768076049707064532892251331645084619682276822907460777965878448492068628908589527193940652252291438115534455593671106700775185926164385993833213689989319597600574326954446849820946565091131695150846137694607290990924999739982493703143625315110429815441260893809546144327435286267392062604206268210803646743810569673836144539443877567761748795264734210141361779100511812056851851271239836074545498838281877930948841584945932854332753191576321628067747967665022936996673032704426669675152876871623335176001778437717228838577826525249843421523514727221459086116644442547880120610749855387111716503554473869054749683476263186193713591810781226532239753625034897167337448251900313369159889813933921072100271099814189656986503456362437258252118484786124118181609970468211210872620374093393207107161526097533613430842115537602966826405786318574611196066844994768597408632403342697265497760128890027416455669834494391718654269602848921718352066399467483781473021960980467197079818875326911068550471139752305328837165260969698393024485475092077021787741168996639718546030067862503893274214418081071620591264930914725503887123124290529701443367517588589139841705396779085601304098771971024083270292061484003076935765105037708718899636815303209861779348856065693839517004636656632732910709573830915269899792426882893916227046105230040772362065880760984650053808425403785827339901010725977985151479866729332056476954471567465561512087586872461347274462375009272921534376168799987327035840384114721634814355872020427526529389322450545620429227164217427480750373783291519369402344462888456447611716233723050862793030416313611833643250720127977767290727596169546873500725952232762699266529126821145067523097827112357712242363514303502782824055016817961019824674246163981595541006162834412969361673513885617469224070881994487369500071432978595821592370380624457775866972601652820108007915945071947940809687329035909185938549929735055913954542388404984452623423354391290812817533414051233969531928689868022151301683615141561584516142244578586329675828226932092579456159759107439177336390753393139358291500946121398975182863641422155879592032613191798557389924266486112500715373779864286954645800846518144734437539845924307608658679394701408812113413046551877668794965119483749120938671660561324347439111913994875594309041912337398940622819130743192846614768474918848289552020366304046890045158578223655126909508301859844052401486463716919434577027543045116598049760869827195686926732097308231351741639668766591240409277245570003595268966373891463621588961357676400367903509328717286123852683824881587352149 208187534787742807192209640361585139101518585412142177348149549223806708395049252579235595214443758760347550593667357613239533320547677672045055958786510750980301624582303042599946494979464679352063216846552766314391552786848757551522955574635515985087885475772562753618365992094794413909938030868512028488266951382331703523545164675673944091118975706068348673986267921489402471782533681286487092526767823381336125201046356747100867656297849832739517731606789039139961253240744938544424759252551826439550843306803138670589226336315724550293500320887268979696953034266763581436920669378935035121369363526054998145133205196341165512417582075559192836810257345948722622819562324685884968307483046461165382356330995596316935871810859084219116025643911486580341174918768526205990204315480714761389993439032508249540280360545077322282060734901252837778837701833315334608134612521139030910824909499447843276041116426861223200664173386597954747523298512121449182204145700422201040890997819951325154746672072316722147209383647028723708245436877263211214675914330301154839176259116208894804898830550638898125432008531507968690548711326529369430307022993567521863100181836311556727448115052305151153522615484757863701249386585484447225054148891872014286774240746954673288722032382128545246721117998464889318351371867315326361180762304089819388223745075058394292483432517348725838975614757959861943617200154803769949487954880907649913598144461278770941474537058516044063109944761936613682136497620301304791436625223867819674355669230660415080381708987426002256440359616786373525598605077340359583249856274173866322529003973689574420534241775894178547669084221171519010102895390405905944258258201184130710542552629620299579648872318436704772596731931815907714907507723769713409742986823123647587916417125920347581203223098885521488429187835032140057828594017341055509185851410763820844757497557991327462774979970001800408628446848678273984049588653385088590772118570451188251494936845317181679439923183635760068101541037756936003914143421430216911321014030350102523963266440040121538567085194186463998466869416127864044619777191880227579719340704487298836825391471596591036885417918142187933415209970343829890021153859504545635427961302428709306701703092596785630163110298642832190319210145005859617167332453070429112322342351889276861445990793208162701529512058092747284485013789395427620044031368722062294613659886780105509146541839454139811990188899816344114809021429196660659633412250914035718791180535339864324976278123096243210717569959853799445566482078667895110442775107098893134017701016730817891107474472880844578364771102089063361504867776971068272099832203955941723018208768279276132363936179952560606537496013270034226466536817998914986527912698731182792126996677940203407224728068052393945993182025785732689634384777832650130900612098085294232641113901540905312707291394612635374521802420430111949391805804979207159419452086185517571204099261328547887713411019497315661406443703773507811684258043319562437579954289746155857329715214850721894364863053458028995063357321698619534156677437418925731863228127109993066532220210079668097023685134821939597297775053781607806996488744862636970261780951817505721397434918698133631912894582086406463003217627466635834783123268070533780016929993336366631484398233210343789655204831801606448689981033356285532526498163419973526403868709464903872954163124508639578111227763085966471200044169842471815363189487858228387806979213746420060147567817698496066497613701421493929876837657226930992411208557638030781255451136717106908180228155199667373865818945111452293768918783617007905467238074438955860209901221015271193257642547306261709022785729621541542548173206807989099712271452147819439310038289491110092358826212101845363964692284967051144927315137203646168190034259491255636460672169449489817022348343741605106924650819797282334196850892647 336854507320618987637267580285407180947398673452770820419000279305019944322856975622972085173093487587760438604756497856641849210621372982849241309141626003742098253792132627175476413333906597382558279771248348181922037928945278970747657907275506826377143236751928719765014939858411638219440041528334047320833865766583393819450455636265038168830686124273461127982450939977288404018441434391071137761033751873540667706942336148312603345370055406603631642868710502370417503285160668477265286065658783087158790366189286950596153003341480330462949879444438798834114766804896790425233209001726491888267672969960095803331661438706880201281062024367131789283903142214973983660591778653652221506421002351701157104957124138691088004534774850919925850450046933955272687625268558792019932282754467568333324807404476196282853372767963647190292776749832945244735648616532644237149970117325371160786234926753140924324183661961802500717698341889020913334706152701889264827056465513361005874329446404388085587553577599155639739306025795663342878052016029459092174155482846537240959834824280070644606426516121359277194512048905216887575597666986698422518523556980508215275286360681410078038981775590483230814805243509229533312808572347437081178030121408611779579225621243579259009061452746814329563022501623145086427421574379859253432093949174439070500567982519172258361881009417354747565141951900514195908638270338225543159061581682835839762530455111984631463856656116618390064391611757560247227629315452150929131232514858744674095651724363558705696819417241443517334169162930700960884872469402963789518067077820610133098677809834113864411809537642973812403294362533298110614707447257757215498094275729629548824430560569141164594805172769457964173053559883655682572530660766386442447413492798800464788040461096349359640940327724099314954437678453663572555815476427172153628399290884431594612884669707831017248849024751483884891633042391865794830815185624842215807015737788636503395250214477071493373844255736031167915730694743439460276580679682335396107138148531712494431477650912741912660478401293625524564403029558706160157380158706633366037915315683365681820160069005223440228115183639948062305237386799499724515545578158815238276883020780775706169186874069807591143577495722651065646121213556330756919637781907594373292040744913762336538067814995903870526151776638777352347517682669642038125102989313327225528385390667228633437071540897507329578778039658049511588107030500759431604436334184327780275183612275629430013986841995880026020779821633148301632175918184899747099407840009602707848616286630610317990368389107890683594811874451129242265852427024876697503618031295842733744186753430755999093268236429515078104961574782121813338998165273377361537185620265558960926984004976043791339449702866749818013609552315122012084930398261877295118039578835668015932633270943249775595747842224351608244853283223142365705417638622457879547429853476245167373646134829273839946173718763844788227588771296605638796615755561925951883457072570210874147676234675396140528844648999035157897770291060293048042294906642996613857715496610064499510816031672038477648142910688912198950595161789523752068436685672324299297690137756055651132490832652676020317879034709829817394508440284169248834357237602462469884952144638050246625959817726486034233791161477434675622073612812445291633937340756364279797008067756404819075562099691503219533383642677999084391842727232396081849301988573602167671266168392220906665712552136035912421921310080173324578246469340344038963086226432995900739200257655778568741552502638779287860694539420494206106317724239827036210430921053724335128749510567291559561689437351420287246440856531049844408017259209475563429190886724846982355154887540870962186021899028577461272923636708690813693906377612923413760037854760222010352135791038451174698748711645114435641936943649966159078438244796 545042042108361794829477220646992320048917258864912997767149828528826652717906228202207680387537246348107989198423855469881382531169050654894297267928136754722399878374435669775422908313371276734621496617801114496313590715794036522270613481911022811465028712524491473383380931953206052129378072396846075809100817148915097342995620311938982259949661830341809801968718861466690875800975115677558230287801575254876792907988692895413471001667905239343149374475499541510378756525905607021690045318210609526709633672992425621185379339657204880756450200331707778531067801071660371862153878380661527009637036496015093948464866635048045713698644099926324626094160488163696606480154103339537189813904048812866539461288119735008023876345633935139041876093958420535613862544037084998010136598235182329723318246436984445823133733313040969472353511651085783023573350449847978845284582638464402071611144426200984200365300088823025701381871728486975660858004664823338447031202165935562046765327266355713240334225649915877786948689672824387051123488893292670306850069813147692080136093940488965449505257066760257402626520580413185578124308993516067852825546550548030078375468196992966805487096827895634384337420728267093234562195157831884306232179013280626066353466368198252547731093834875359576284140500088034404778793441695185614612856253264258458724313057577566550845313526766080586540756709860376139525838425141995492647016462590485753360674916390755572938393714632662453174336373694173929364126935753455720567857738726564348451320955023973786078528404667445773774528779717074486483477546743323372767923351994476455627681783523688284946051313537152360072378583704817120717602837663663159756352476913760259366983190189440744243677491206162736769785491699563397480038384536099852190400315922448052704457587016696940844163426609620803383625513485803630384409493768227662814250701648252439370382227699158480023828994753284293520079891070139778880403839009930806579134308239824754890187059794253172813767439371791236017271732500375464190724101112552307428152178881815018394744090952863451227563595480089523031272445686570204777157350586860945757256020170664518645551540601814477113533101782135995720447357143329614536699437663360873704844323209485012870889966666593221306687794365483255965331358562190374086970234978023485614383096803039197984058608204066572055663834731524636832531472065069658169134358035389520142045277447334142583613380351647141568966939474393626397128459697420091237848585098363499066364147615493754990264965092123236738349781486947747198657996852794857542182947108495841866317303361428209097842861988735261959582976540192603770720203995944969603450235251784456762395521710032131457204416382075684642457588052156039805534983272292348065098318996741753053980682916247198564177770919143764006791578100854701719315176094527426018651676920962248573747172484155088303039236836986982766655703653254315097223443601665038966881939661762738577745396157821727659584738261160449634032475070113450480873798881488389463411362316366731477391449526118034893707702457064152961127612758912582198972344061922345720943623720057566043036241751706574671828045510851796248370215571131559064925430534961269559471089573561372529925751350809652230773616796236280397726067750805083617480505672996249901882137974416878110358050936829823888995993279041124312054646168730824160435504176337806200876777221308692029725224200142797644611405763965555591886897074867897212491476431830555478245382138640966813280369834531978919535011501667254455084126567275031374294784071026681994651394372885476921780657838446661726513484531946499875236507856834941677668995492680195338650731582562752819331984657681996269226586152591386956190466017464663141462338872666421665193177031981054544848111130422825237615921675741958621221514816569581950072114251477646812807960487940991721097055386719542566587763447248493275289137443 881896549428980782466744800932399500996315932317683818186150107833846597040763203825179765560630733935868427803180353326523231741790423637743538577069762758464498132166568296950899321647277874117179776389049462678235628644739315493018271389186529637842171949276420193148395871811617690348818113925180123129934682915498491162446075948204020428780347954615270929951169801443979279819416550068629368048835327128417460614931029043726074347037960645946781017344210043880796259811066275498955331383869392613868424039181712571781532342998685211219400079776146577365182567876557162287387087382388018897904709465975189751796528073754925914979706124293456415378063630378670590140745881993189411320325051164567696566245243873699111880880408786058967726544005354490886550169305643790030068880989649898056643053841460642105987106081004616662646288400918728268308999066380623082434552755789773232397379352954125124689483750784828202099570070375996574192710817525227711858258631448923052639656712760101325921779227515033426687995698620050394001540909322129399024225295994229321095928764769036094111683582881616679821032629318402465699906660502766275344070107528538293650754557674376883526078603486117615152225971776322767875003730179321387410209134689237845932691989441831806740155287622173905847163001711179491206215016075044868044950202438697529224881040096738809207194536183435334105898661760890335434476695480221035806078044273321593123205371502740204402250370749280843238727985451734176591756251205606649699090253585309022546972679387532491775347821908889291108697942647775447368350016146287162285990429815086588726359593357802149357860851180126172475672946238115231332310284921420375254446752643389808191413750758581908838482663975620700942839051583219080052569045302486294637813808721248517492498048113046300485103754333720118338063191939467202940224970195399816442649992532684033983266897406989497272678019504768178411712933462005573711219024634773022386150046028461258285437274271324666187611695107822403933002427243814924467304780794887703535290327413527512826221741865605363888041996773715047595675475245276364934537509293494311795171335854030200465711609607037917341648285422084058025684743942829339052245015822176111981727343990260719040076840736400812450265290088134321611452572118521131006608016885617858906423841716801534522126423199970442581815611370301989180049154734711696294237347348716745670430668114562776020684921249154471147744979132443137985235490198179522842284919282691279341547759891123185004251807088003262759129603120096048830833915037694604641590787118098549714933589992038527088211251096625945554394850991321846036572631020821667107068266547627190506582275140788130550472652811590762747419162834277853144533148545669709602283939262300713980964687892290989903627473785893582020401130415976713804245574356404721136691255756630264506380443427404863898787079061338591011508986876396680802641082224122918514311793138007905951391530987095567605758457025005237861621246366719089277489554443414341346868434886577605625067684201514175422552351456099310858897903819205630241267250704918959578659120330122065553852273423745052319970956199763995198965377360655311133362116207285568857161227329617023662416584003485672548652651506066097792234508034974332451837743275458719786834282612467124736317868663315858122787154756475799934128258981176115794372844932702085997884844977713511105287323891646017177995048441964639983729624307263979061793465005432723149511550530861873478992921970567891341456321581840579033330595907619070337381010504022582733851652028664045663333160477225949587208023952440705981554232096661977888099916546404530467400242149854312381021422009102283515667442683641231364207725226940226570653225597513404020348064572852016730870010159000286510539558384432772315127892429492995710109969011699657164943751526392166419845767031833978208524707097214652353727382239 1426938591537342577296222021579391821045233191182596815953299936362673249758669432027387445948167980283976417001604208796404614272959474292637835844997899513186898010541003966726322229960649150851801273006850577174549219360533352015288884871097552449307200661800911666531776803764823742478196186322026198939035500064413588505441696260143002688730009784957080731919888662910670155620391665746187598336636902383294253522919721939139545348705865885289930391819709585391175016336971882520645376702080002140578057712174138192966911682655890091975850280107854355896250368948217534149540965763049545907541745961990283700261394708802971628678350224219781041472224118542367196620899985332726601134229099977434236027533363608707135757226042721198009602637963775026500412713342728788040205479224832227779961300278445087929120839394045586134999800052004511291882349516228601927719135394254175304008523779155109325054783839607853903481441798862972235050715482348566158889460797384485099404983979115814566256004877430911213636685371444437445125029802614799705874295109141921401232022705258001543616940649641874082447553209731588043824215654018834128169616658076568372026222754667343689013175431381751999489646700043416002437198888011205693642388147969863912286158357640084354471249122497533482131303501799213895985008457770230482657806455702955987949194097674305360052508062949515920646655371621266474960315120622216528453094506863807346483880287893495777340644085381943296413064359145908105955883186959062370266947992311873370998293634411506277853876226576335064883226722364849933851827562889610535053913781809563044354041376881490434303912164717278532548051529942932352049913122585083535010799229557150067558396940948022653082160155181783437712624543282782477532607429838586146828214124643696570196955635129743241329267180943340921721688705425270833324634463963627479256900694180936473353649125106147977296507014258052471931792824532145352591622863644703828965284354268286013175624334065577839001379134479613639950274159744190388658028881907440010963442506295342531220965832818468815115605592253804570626947920931846569711694859880355257552427356024694719111263150208852394455181387204220053746132101086158953588944453485536985686571667199745731910966807402994033756953084453617577576783930680711505093578251863641344520806938519840732506185031404037014637479446101826626012580626799781354463371705384106265812475945561896918604298301600801612716711918606836764382363949895599614080133504381054778407911907506616939994516772180126499497479384607043796029491911890489462183773734226594391581250893353466736186054113085361207513977827531514449807292835016766636710518501799411647268977796850820262007677069193666447389876750886433892950068131817962057667382258259042467034945370808538188467805244705037346027192708516831415523560750450932147155342932677592513080127615911559952201826315898325573778164690529650995899864525825787957481193732799770644529136927144917295265343195286165687495653721436832539758363353324902730810279797202944337102459133727632210316260053913163463820025516578118212440239594766841305299602744050179631596888515175451626991799001710615791447335592931786870198287546742246838416632316903178396192342335354295324779426268302302378189960575785779416069318248948454969688716420586884002846675919600145682011783148035516924246182905149906939954808349109039892198761622199022203135012548091788814822606454205930195575616521382131876274284941437263278627756932669502840292273291805099870260991333083507833488414722474894101711675794575049264728503046401549522585113818315672611313721508484387205856790739953496919565768912039084725806050973732417065200353406666784279784894028836232618320398191244404889712115564470179825685541241604833071275718121289423111748155480060174730936349407246062577660182083263177303977751712014333158140942822418553520775112470544463145629016519682 2308835140966323359762966822511791322041549123500280634139450044196519846799432635852567211508798714219844844804784562122927846014749897930381374422067662271651396142707572263677221551607927024968981049395900039852784848005272667508307156260284082087149372611077331859680172675576441432827014300247206322068970182979912079667887772208347023117510357739572351661871058464354649435439808215814816966385472229511711714137850750982865619695743826531236711409163919629271971276148038158019600708085949394754446481751355850764748444025654575303195250359884000933261432936824774696436928053145437564805446455427965473452057922782557897543658056348513237456850287748921037786761645867325916012454554151142001932593778607482406247638106451507256977329181969129517386962882648372578070274360214482125836604354119905730035107945475050202797646088452923239560191348582609225010153688150043948536405903132109234449744267590392682105581011869238968809243426299873793870747719428833408152044640691875915892177784104945944640324681070064487839126570711936929104898520405136150722327951470027037637728624232523490762268585839049990509524122314521600403513686765605106665676977312341720572539254034867869614641872671819738770312202618190527081052597282659101758218850347081916161211404410119707387978466503510393387191223473845275350702756658141653517174075137771044169259702599132951254752554033382156810394791816102437564259172551137128939607085659396235981742894456131224139651792344597642282547639438164669019966038245897182393545266313799038769629224048485224355991924665012625381220177579035897697339904211624649633080400970239292583661773015897404705023724476181047583382223407506503910265245982200539875749810691706604561920642819157404138655463594866001557585176475141072441466027933364945087689453683242789541814370935277061040059751897364738036264859434159027295699550686713620507336916022513137474569185033762820650343505757994150926302841888279476851351434400296747271461061608336902505188990829587436043883276586988005313125333662702327714498732833708870044047187574684074179003647589027519618222623396177122934646232369173849569347598691878724919576974759815890311796829672626304111771816845028988292641189469307713097668299011190006450951043648139394846207218374541751899188236502799232636100186268749259203427230780236642267028311454604007457219295057472128615192629781534493050757609052732823011482906613676459694624983222849956083864456897739279902367599440093779136922418423663746057749459667397740124998768579268129762256608987727139844860325826928184066825364521344692941296184483345505263274265364181987153068372678522836295843865466037588303817586768347038837775560071991608392558149722005257210137295913720711746094601280363631767269666197521343181015910058700829178371432718490930928047593838932808129327806324807336868292034188434222777586508059338964816100613394959664164789673677406047676702505608049910875995505525937778550480528458132012862871101652311170925357274967803551629035852907768317072157148232089521942727526817929146385738812405369262774678923420397323842681506845471760264878261864380301697150740788599196679311769957910379786646300970292442181331649662949532407273793544232795419854758919357780997328078919808368475982195083820753748521155992223913689475550703199351127582993788263461540134570302791992724180311164131083055749181194041741978196646467176735714240299871983434832000601502647894835559346145689395855336078406442696001777268483200364713771266213775667761602447654665348412521745318382513172049056805079071847462354698430213568248446978792898560900929532436827911838344972050158897453868828585489256273451215882271377581374828675886563300561471519873849684605916471345116282768790067693229705889306177685088006588131448423398258695038444607503251477299675555573370292052274876961142695463540725324560788589450387498983637177641677797982743901921 3735773732503665937059188844091183143086782314682877450092749980559193096558102067879954657456966694503821261806388770919332460287709372223019210267065561784838294153248576230403543781568576175820782322402750617027334067365806019523596041131381634536456573272878243526211949479341265175305210486569232521008005683044325668173329468468490025806240367524529432393790947127265319591060199881561004564722109131895005967660770472922005165044449692416526641800983629214663146292485010040540246084788029396895024539463529988957715355708310465395171100639991855289157683305772992230586469018908487110712988201389955757152319317491360869172336406572733018498322511867463404983382545852658642613588783251119436168621311971091113383395332494228454986931819932904543887375595991101366110479839439314353616565654398350817964228784869095788932645888504927750852073698098837826937872823544298123840414426911264343774799051430000536009062453668101941044294141782222360029637180226217893251449624670991730458433788982376855853961366441508925284251600514551728810772815514278072123559974175285039181345564882165364844716139048781578553348337968540434531683303423681675037703200067009064261552429466249621614131519371863154772749401506201732774694985430628965670505008704722000515682653532617240870109770005309607283176231931615505833360563113844609505123269235445349529312210662082467175399209405003423285355106936724654092712267058000936286090965947289731759083538541513167436064856703743550388503522625123731390232986238209055764543559948210545047483100275061559420875151387377475315072005141925508232393817993434212677434442347120783017965685180614683237571776006123979935432136530091587445276045211757689943308207632654627215002802974339187576368088138148784035117783904979658588294242058008641657886409318372532783143638116220401961781440602790008869589493898122654774956451380894556980690565147619285451865692048020873122275298582526296278894464751924180680316718754565033284636685942402480344190369964067049683833550746732195701783362544609767725462175340004212575268153407502542994119253181281324188849571317108969504357927229054204826900026047903419638688237910024742706252011059830524165517948946115147246230133922793250083354870678389752182862010455542388879964171458995369476765020433479944141193764520612900547948037718756482999534496486008044471856774503573955241205210408334274405220980758116929277295382559238356613229281524450757696581168816346116666749963389989378751002551928044800836157371574904357064993285351448256261754088372334183640889817738818673529009138255571287332877435376698971999460319477267348360582350506054350745651158301054354940528105270146450485044537868842428654565826791198923657527172664607145639044669412181593824937048455780385648050855429509367366839237963195968274074786547449639544851367075258269015447377121111815290666635675250524768302439710857989738567838367935698672602370133875698833476699258737549195009665385276930158136444847597336612852928689240384168794216261093219802967428029292466279829985951656778596055072459282426238498948936975442055121746440238601570177864608430481328747629303774648306303568959620995578093636563224229051529937209691779245690425861135973816047101254712076322107505188110670854172155659606533164590474241172368659164267123786235130429669707863607222146353450827509648426494069280989995703989543150781870395408089375757917375312420075223646823207956853825031134962667071527731610363347879959280405025415869867554063539505580767631863438987748856246010160040857407273760732599654121112190857744831763090833560797108571172214651040921215117695135712003655817019637740624573982079502189614688442781728235342670843085455500356106468005004107715750005994884354537873055391430547782518159282306252737846510006850518504782234187826706921618151030474135538054265120447175555058482701731411868941019758749648186140943611760421603 6044608873469989296822155666602974465128331438183158084232200024755712943357534703732521868965765408723666106611173333042260306302459270153400584689133224056489690295956148494080765333176503200789763371798650656880118915371078687031903197391665716623605945883955575385892122154917706608132224786816438843076975866024237747841217240676837048923750725264101784055662005591619969026500008097375821531107581361406717681798621223904870784740193518947763353210147548843935117568633048198559846792873978791649471021214885839722463799733965040698366350999875856222419116242597766927023397072053924675518434656817921230604377240273918766715994462921246255955172799616384442770144191719984558626043337402261438101215090578573519631033438945735711964261001902034061274338478639473944180754199653796479453170008518256547999336730344145991730291976957850990412265046681447051948026511694342072376820330043373578224543319020393218114643465537340909853537568082096153900384899655051301403494265362867646350611573087322800494286047511573413123378171226488657915671335919414222845887925645312076819074189114688855606984724887831569062872460283062034935196990189286781703380177379350784834091683501117491228773392043682893543061604124392259855747582713288067428723859051803916676894057942736948258088236508820000670367455405460781184063319771986263022297344373216393698571913261215418430151763438385580095749898752827091656971439609138065225698051606685967740826432997644391575716649048341192671051162063288400410199024484106238158088826262009583817112324323546783776867076052390100696292182720961405929733722205058862310514843317360075601627458196512087942595500482305027518814359937598091355541291193958229819058018324361231776923445793496591715023551733014785592702960380120731029760269991373586745575863001615322324958009051497463001841192500154746905854353332281682070656002067608177488027481170132422926434877081783693772618804340520447205197306640203657531668153154861780556097747550739382849379360793654485727716827333720201014908696207312095439960908173713082619315340982186617173122900770308843807072194713286092439004159598228054396247624739782144558265212669840633018048840732456828277289765791144135538871323392100963181023169689579758633813054103681783726171389833537121375953256936279176777293950789362159751375268498993125266562807940612051929076069561046083856397840189868767455978589810849752288778289172914816307854264747300713780445625714085396569117562830083157887924970351708546893906831242302097189992053930716386024010697360061323485750143565746857595834502776915980274173619860044477262734584841449335513650723184577187041495023767091943244345692038493489322820097940834037047123976513204180867664468578327857385139270692545225592206714653301728829066765488210196545210670681686899202122380386382447674179173400065605883739411309546038068253143734589489584403053105817653903357512045341746349304875741925609709472204784675327745490193843408943021007546499908507538210203657043935797830069168861536875124576261381988222557512769585924981793884864651689013177872357372765897803253285710361835056126472810783025898370092373844985615338917531375364739937533516671232861586872641311652964219405368769235901860174069857319435584107919039330154350743427286913111630233396282348639817826985586258012663496127068762280923753619502372606805233412073051453170737192523848592054556552493631615612292058658478823809459501719866694308812760923586946441754322655282182293899070232267834805719356435393465886642414204658531905359239920445809789404733192959653212443261976659082007775901469733115580573358043029533480684053814714473506569210063238352953405496959820363103064018557406386016971875980317689610024187095122277653144605566285097319853960203247288894384186269908265545556949389737439304006597173724400766187812931226263142639095783807262520001319328518742386825827818741594504323524 9780382605973655233881344510694157608215113752866035534324950005314906039915636771612476526422732103227487368417562103961592766590168642376419794956198785841327984449204724724484309114745079376610545694201401273907452982736884706555499238523047351160062519156833818912104071634258971783437435273385671364084981549068563416014546709145327074729991092788631216449452952718885288617560207978936826095829690493301723649459391696826875949784643211364289995011131178058598263861118058239100092877662008188544495560678415828680179155442275506093537451639867711511576799548370759157609866090962411786231422858207876987756696557765279635888330869493979274453495311483847847753526737572643201239632120653380874269836402549664633014428771439964166951192821834938605161714074630575310291234039093110833069735662916607365963565515213241780662937865462778741264338744780284878885899335238640196217234756954637921999342370450393754123705919205442850897831709864318513930022079881269194654943890033859376809045362069699656348247413953082338407629771741040386726444151433692294969447899820597116000419753996854220451700863936613147616220798251602469466880293612968456741083377446359849095644112967367112842904911415546048315811005630593992630442568143917033099228867756525917192576711475354189128198006514129607953543687337076287017423882885830872527420613608661743227884123923297885605550972843389003381105005689551745749683706667139001511789017553975699499909971539157559011781505752084743059554684688412131800432010722315293922632386210220128864595424598608343197742227439767576011364187862886914162127540198493074987949285664480858619593143377126771180167276488429007454246496467689678800817336405715919762366225957015858991926248767835779291391639871163569627820744285100389618054512049382228403462272319987855108101647167717864963622633102944755775443847230404336845612453448502734468718046317751708378300569129804566894894102923046743484091771392127838211984871909426813840734433493141863193569730757721535411550378080452396716692058751921863165423083513717295194583494389689160167242153951590167995921766030395061943362086827282259223147650787685564196953450579865375724300851792287352442807714737259282785101457314894213264378040367969510816675064559224172606135561292532490852718277369759120918487715309975060299323306217749608266097304426620096400932844064620039097603050598203041861199570568966681566073671732153172921083546271751471477026794530431513235867526220072536638927522279753347730064202817206454254985339282164642285764785732395507126639961304565531124843641032487267607051055236743449262194904318716683874233073690631537787146182068146298184873797308639939807864635809676465701689803304403104525191641242935003024183940104726819417143763109082114477117620917719563912049908644882867476197166933832087219030540475323874899186788430657853358919779409840014352705492816675643641925350413277445021907245875801308542948904043412876940499859228685873179143991347505844151063132346284319966624285429954756678092004290674454502387498721242703577848957323934115251676821294348207952924999725948963405233991081241264354645999396148493291918907877152370942833574096740900284391524082333090898654645266504743051948961428781933641543089296029710184326506403033820077702104474568651007804084950771821388442333203990675984427277204447012021033299302693063047157160280343305718987462645928251548990924712133882125647017416355544897829271479832451318556805102202614562587319314940099821898345224937203025329325630163060904542065400097327719570522004387314071844070188093739749915568573010040905330231614279258147228616396057470531493144309834637220432455595111648263144831299361228249471472472232086785694614131902845128272537499143439340488750401742721406571200636924116418272396075454171971627130713518791875431240323350985491383589814650842289964251413188269538501136474013959685206264745127 15824991479443644530703500177297132073343445191049193618557150030070618983273171475344998395388497511951153475028735437003853072892627912529820379645332009897817674745160873218565074447921582577400309066000051930787571898107963393587402435914713067783668465040789394297996193789176678391569660060202110207161957415092801163855763949822164123653741818052733000505114958310505257644060216076312647626937271854708441331258012920731746734524836730312053348221278726902533381429751106437659939670535986980193966581893301668402642955176240546791903802639743567733995915790968526084633263163016336461749857515025798218361073798039198402604325332415225530408668111100232290523670929292627759865675458055642312371051493128238152645462210385699878915453823736972666436052553270049254471988238746907312522905671434863913962902245557387772393229842420629731676603791461731930833925846932982268594055086998011500223885689470786972238349384742783760751369277946414667830406979536320496058438155396727023159656935157022456842533461464655751531007942967529044642115487353106517815335825465909192819493943111543076058685588824444716679093258534664504402077283802255238444463554825710633929735796468484604071678303459228941858872609754986252486190150857205100527952726808329833869470769418091137386286243022949608623911142742537068201487202657817135549717957981878136926456037184513304035702736281774583476854904442378837406655146276277066737487069160661667240736404536801950587498154800425935730605846751700532210631035206421532080721212472229712681707748922155126974609303492157676707656370583848320091861262403551937298464128981840934221220601573638859122762776970734034973060856405287770156358627599674149581424244281377090768849694561332371006415191604178355220523704665221120647814782040755815149038135321603177433059656219215327965463825603099502681298200562686018916268455516110911956745527487884131304735446211588260667512907263567190689289078032331495743653025064288594396832181043881246042949091551376021139267205414172597731600754959233958605383991687430377813898835371875777340365054721899011802993960743681154382366246425510313619395275527467708755218663249706008742349692524744180720097480528403418323972780706995176445401210057549269450488118662905956332306951126069612228671534306038297695781666099337220050698574716742733532660112367232148330008913625666122954000890788071809317178160379816433854851960905067989228937811019052185257472420244516909804985089050155694526852492631461894623971034059508551444977393212881028309775483092456830612390104870312388720678143809403247881224675096787926524929489160166019387883796875208724828641205835238241429219489347133429130684733750510502748813779817607285392856109821262860409323210797272045009350477762383843306184386405929760457260579326569766678319547320214534893209713875389480782926199740203891427172923144429503937108545922493297545282862458619191371212121617726918252421108828088204685990053072094816200151537847414351689273336003328255764454354598816293553216580552056442724945011490828628559642842188585804264854693651720973850728253011659325240290117554052047380544369488522338277534246794683746307573511630257571517253110954974402551618864671873512287850821602851790960978673403948749514480857146461106990813734707964933356443902777757407646454996700117744746708200958066514393640104536105136098610331017535829567579517202480745180606537004192540604470826875857264764523580292593374905503246856525269844769613214010332089733150944293638418795212272577265563073970759337248165380311409120507031497282631355716408997576348911510638445812187637301176762097080111285245966650879044700458785409000608608083507934363379785655857489444108067103384224156089940250550190643749005625586070255702924653860095021110386326537941632403561709066434720115965599832006511163916717646732453746626097226771414507598057243523299841778426800769068651 25605374085417299764584844687991289681558558943915229152882100035385525023188808246957474921811229615178640843446297540965445839482796554906240174601530795739145659194365597943049383562666661954010854760201453204695024880844848100142901674437760418943730984197623213210100265423435650175007095333587781571246938964161364579870310658967491198383732910841364216954567911029390546261620424055249473722766962348010164980717404617558622684309479941676343343232409904961131645290869164676760032548197995168738462142571717497082822110618516052885441254279611279245572715339339285242243129253978748247981280373233675206117770355804478038492656201909204804862163422584080138277197666865270961105307578709023186640887895677902785659890981825664045866646645571911271597766627900624564763222277840018145592641334351471279926467760770629553056167707883408472940942536242016809719825182171622464811289843952649422223228059921180726362055303948226611649200987810733181760429059417589690713382045430586399968702297226722113190780875417738089938637714708569431368559638786798812784783725286506308819913697108397296510386452761057864295314056786266973868957577415223695185546932272070483025379909435851716914583214874774990174683615385580245116632719001122133627181594564855751062047480893445326514484249537079216577454830079613355218911085543648008077138571590539880154340161107811189641253709125163586857959910131930583156338852943416068249276086714637366740646376075959509599279660552510678790160531440112664011063045928736826003353598682449841546303173520763470172351530931925252719020558446735234253988802602045012286413414646321792840813744950765630302930053459163042427307352872977448957175964005390069343790470238392949760775943329168150297806831475341924848344448950321510265869294090138043552500407641591032541161303386933192929086458706044258456742047793090355761880908964613646425463573805635839683036015341392827562407010186613934173380849424459333955637896973715408237566614537023109236518822309097556550817583494624994448292813711155821770807075201147673008482329761564937507607208673489179798915726774076216325728333252792572842542926315153272952172113829571384466650544317031533162905195265662701109074238021889389709779250425518780267163183222130128938442512418602103081389811675797418614269381409312280350021880934492341798757416793852244730941757690286162051603941386274851178377730948783115420925632637221162150021357290803656734499214774948423040852615270228231165780014911215242354035236876715005699962732495045670595540268824852337739030066174877919845521784841890515488275730333531375787124393478882703262116870565840262615787387903384539614093286655773368938549369560186968450503583122010389918047751064197863433507150901998864426494240871465957783302007323649324369310487971452634154516714254046622112240254350713355682112988170861744786092702554269518289814038739168941187208212871896636393119367493528226795370012871501081626489912300780689379295529194920195840336468349612575731078640028771050231308584842730897227332510212071332137491799512519919516531514946069181803653252737608288645524108635293311735190368884670831569453154671836117250407085726998471801644635037307493450273509938378255339799783031633724602521762699978459698807363549494927068515839182533584364247987728529229034897329904108420731135478162513526414673403838798199145767491297879135286566979848408996729597461716326422730117844292212809662352851772425826224060051958727884407356932528950431911631496169230841444124537902740326467616036159434575884950833413507821103341352819449456158913144921921551543776043801916559323990713476168755777459795188879337679217864595720256346652765662741013905328961916340153889078838287992785378822728142892444966074820657445646060431295658034502744810337707857733680693565433634757475263246834514902209030322268397468387191022827695867595744659773855738112007033813778 41430365564860944295288344865288421754902004134964422771439250065456144006461979722302473317199727127129794318475032977969298912375424467436060554246862805636963333939526471161614458010588244531411163826201505135482596778952811493730304110352473486727399449238412607508096459212612328566576755393789891778408896379254165743726074608789655322037474728894097217459682869339895803905680640131562121349704234202718606311975417538290369418834316671988396691453688631863665026720620271114419972218733982148932428724465019165485465065794756599677345056919354846979568631130307811326876392416995084709731137888259473424478844153843676441096981534324430335270831533684312428800868596157898720970983036764665499011939388806140938305353192211363924782100469308883938033819181170673819235210516586925458115547005786335193889370006328017325449397550304038204617546327703748740553751029104604733405344930950660922447113749391967698600404688691010372400570265757147849590836038953910186771820200827313423128359232383744570033314336882393841469645657676098476010675126139905330600119550752415501639407640219940372569072041585502580974407315320931478271034861217478933630010487097781116955115705904336320986261518334003932033556225140566497602822869858327234155134321373185584931518250311536463900770492560028825201365972822150423420398288201465143626856529572418017080796198292324493676956445406938170334814814574309420562993999219693134986763155875299033981382780612761460186777815352936614520766378191813196221694081135158358084074811154679554228010922442918597146960834424082929426676929030583554345850065005596949584877543628162727062034346524404489425692830429897077400368209278265219113534591605064218925214714519770040529625637890500521304222023079520280068868153615542630913684076130893858701538542963194209974220959606148520894550284309143761138040248355776374678149364480724558382209101293519970987771461552981088229919917450181124862669927456790829699290922038004002634398795580904355279467913860473577690084788908797592179893568670389780376191066888578050822381165133440714847972263395388191601909687517757370708094579678302886461938201842620981707390777079277393209000236841775713883002675794066119433047018728884566155180460483068049717651301885036085270749463544671715310061345981835716310051047508649500400720455651235075331417529161084393060950671315952285005604832174346660495555891328599549275777593542289151378959168309855841991971635019465332845837704320383925692632507542677136978006270936223557144940125707926698905315751917309168351420171045190308566199928651293763369500405430319302312053882639048722650000667441048987444428593738622781043312776002906798069234103310697471199317362939617675310903860885460723842830361699270909435844718633849801089486393729579084826571067298022400832836261574261157005449968226102836465039187911065636213265625698699022226922584661662238732491075330515827764331489111255145047791121699589286312479965372875505579447067042334547529609804352940831495532994627587343784525165394787339952277521702899960697134641701105723781386208597790155654381505749267613885814226189345359115734738373193169846987401466519863557980597357256043318897745992281896001892374610251767627650604634485515563500436103927209213288220695956034059329573890498517720691890506286636681352326604226165477843679120580040808313508374903335244377822315414964854146497050889741910203998720518963334588671168070074426876432065019201129563298815253154252126545742960764001364647113524479862919750175317592030690006918771824050331144822628328134838635450805172567910721270833062182221855989553860500752810556280041023426446067924038138003273596328864430160700026120799561186451360448220992463062444082725629372918786641450591660890913148570714291390679144889071348279340261295389760000153750723075095253345678818926677054722144094484417794242203465652988183073697516538807802882429 67035739650278244059873189553279711436460563078879651924321350100841669029650787969259948239010956742308435161921330518934744751858221022342300728848393601376108993133892069104663841573254906485422018586402958340177621659797659593873205784790233905671130433436035820718196724636047978741583850727377673349655835343415530323596385267757146520421207639735461434414250780369286350167301064186811595072471196550728771292692822155848992103143796613664740034686098536824796672011489435791180004766931977317670890867036736662568287176413272652562786311198966126225141346469647096569119521670973832957712418261493148630596614509648154479589637736233635140132994956268392567078066263023169682076290615473688685652827284484043723965244174037027970648747114880795209631585809071298383998432794426943603708188340137806473815837767098646878505565258187446677558488863945765550273576211276227198216634774903310344670341809313148424962459992639236984049771253567881031351265098371499877485202246257899823097061529610466683224095212300131931408283372384667907379234764926704143384903276038921810459321337328337669079458494346560445269721372107198452139992438632702628815557419369851599980495615340188037900844733208778922208239840526146742719455588859449367782315915938041335993565731204981790415254742097108041778820802901763778639309373745113151703995101162957897235136359400135683318210154532101757192774724706240003719332852163109203236039242589936400722029156688720969786057475905447293310926909631925860232757127063895184087428409837129395774314095963682067319312365356008182145697487477318788599838867607641961871290958274484519902848091475170119728622883889060119827675562151242668070710555610454288269005184758162990290401581219668671602028854554862204917212602565864141179553370221031902254038950604785242515382262993081713823636743015188019594782296148866730440030273445338204807672675099155810670807476894373915792326927636795059036050776881250163654928819011719410871965410117927464515986736169571134240902372403422586628186382381545602146998142089725723830863494895005652355579472068877371400825414291833587033822912931095459304481128157774254659562890908848777675650781158807247045907871059728820542121256750773955864959710908586829984814485107166214209191975963273818391451157657633134924320428917961780750742336585727417130174945954936637791892429006238447057208773560621511673933622277382664696703226179510313528980525600659498726470849794413755886690319590612156858412522453892379332041507812938562844902858202972369500856020742161506090450237220068228411721713493184278857776135763850678099178276117931425912117538006889250060215981642007320657406062658680167007783472870884439649820946061628065228951611949658587276337512601269773862338959505315758872788401053228409195881555269475034987352975828307779117690222576816192147152176081927380999358328252968540516736623400831179919699288202412464157450856604783371843161134571090367938969877673656194958742596237254743369946272702553407226611634656358394015833750237518237179610031914971292834626441213625643297917723543859337458034758486875902531338334824638670850925107257864001416440556138355980808387683084254515120542381029589389452165884548630022967450387666119240166022198803905668912095584245450961127845413073032102084939878234815865716249656508334586208979157283093567222986912213701534390145313613294100140713476899298738639801460436845386064706515460282884089229283837445027353623350773981038659483478271911195912996143282755321307044288078057918498306043078206399935281978236136149238179988270254628726823866192754613725997899791470419824743524032448796800886241256803375817221138192049120776813465688861813466515413276788374881541900732075511008195646929533895557735711570594216774722686337179391816158617048119029070453565587385480550358500180193721135707376990541562871608817069899333248732842847553254650814836696207 108466105215139188355161534418568133191362567213844074695760600166297813036112767691562421556210683869438229480396363496904043664233645489778361283095256407013072327073418540266278299583843151016833182412604463475660218438750471087603509895142707392398529882674448428226293183848660307308160606121167565128064731722669696067322459876546801842458682368629558651873933649709182154072981704318373716422175430753447377604668239694139361521978113285653136726139787168688461698732109706905599976985665959466603319591501755828053752242208029252240131368118320973204709977599954907895995914087968917667443556149752622055075458663491830920686619270558065475403826489952704995878934859181068403047273652238354184664766673290184662270597366248391895430847584189679147665404990241972203233643311013869061823735345924141667705207773426664203954962808491484882176035191649514290827327240380831931621979705853971267117455558705116123562864681330247356450341519325028880942101137325410064257022447085213246225420761994211253257409549182525772877929030060766383389909891066609473985022826791337312098728977548278041648530535932063026244128687428129930411027299850181562445567906467632716935611321244524358887106251542782854241796065666713240322278458717776601937450237311226920925083981516518254316025234657136866980186775723914202059707661946578295330851630735375914315932557692460176995166599939039927527589539280549424282326851382802338222802398465235434703411937301482429972835291258383907831693287823739056454451208199053542171503220991808950002325018406600664466273199780091111572374416507902342945688932613238911456168501902647246964882437999574609154315714318957197228043771429507887184245147215518507194219899277933030820027219110169192906250877634382484986080756181406772093237446351925760955577493567979452489603222599230234718187027324331780732822544504643105118179637926062763189881776392675781658578938447355004022246845086976183898720704338040993354219741049723413506364205698831819795454650030044711930987161312220178808079951051935382523189208978303774653244660028446367203551735464265563002735101809590957741917492609398345766419330000395236366953667988126170884651018000582960928910546853794939975168275479658522020140171391654879702465786992202299479941439507945533701512503639468851234371476426611281151462792236962492461592475116021030852843100322190732062813605734968172169489513605982213972480819721799464907939693910515340718442484813879088732528023910996082551045029996569516310047778749162119989842983910899068406171772659470674441870408265258536977921642144478042227276541194169980411232158756980148562118205447938237504644575380630101700718838661586965077017576181581910849138309001245740539855472835119311119167874300540683298183678139165559962274794782807494022452622567497435820189237402568936123140190802919028612191363992993017212623953951667562743659208062493418652190363532928291921782345716038516890952256270679654251449843046531700538189663279589290899556077055494238722144629283945737800358915632305577131887553617871253531761082914731367079303932141649493112416264236143516417152561013984029966659845631057171263427957604875844366368280441510558439440127021871285454058259158881790595100992300604755729522634907832878125383804941406995187174986963530619805631768741102502397601983112560751686822836403673608031300420588604869634523135928709064994859973950188480550005459157364349399295186628352958516105715902464228483186649589234192911610024014871959914360790396279801169964038253375510528996049996978223985613123058764477373018623721059801294734587463587675908219755781024280325496334588728837824312687324727413955224411788377985206974165714982613027701864637236595874004963176158236637568565716175346149396602483742787489014077016324280887506896388380324460213565741136203625453753525872540062384431712685657356026611312102798901721025921250771189622639578636 175501844865417432415034723971847844627823130292723726620081950267139482065763555660822369795221640611746664642317694015838788416091866512120662011943650008389181320207310609370942141157098057502255200999007421815837840098548130681476715679932941298069660316110484248944489908484708286049744456848545238477720567066085226390918845144303948362879890008365020086288184430078468504240282768505185311494646627304176148897361061849988353625121909899317876760825885705513258370743599142696779981752597936784274210458538492490622039418621301904802917679317287099429851324069602004465115435758942750625155974411245770685672073173139985400276257006791700615536821446221097562957001122204238085123564267712042870317593957774228386235841540285419866079594699070474357296990799313270587232076105440812665531923686061948141521045540525311082460528066678931559734524055595279841100903451657059129838614480757281611787797368018264548525324673969484340500112772892909912293366235696909941742224693343113069322482291604677936481504761482657704286212402445434290769144655993313617369926102830259122558050314876615710727989030278623471513850059535328382551019738482884191261125325837484316916106936584712396787950984751561776450035906192859983041734047577225969719766153249268256918649712721500044731279976754244908759007578625677980699017035691691447034846731898333811551068917092595860313376754471141684720364263986789428001659703545911541458841641055171835425441093990203399758892767163831201142620197455664916687208335262948726258931630828938345776639114370282731785585565136099293718071903985221131545527800220880873327459460177131766867730529474744728882938598208017317055719333580750555254955702825972795463225084036096021110428800329837864508279732189244689903293358747270913272790816572957663209616444172764695004985485592311948541823770339519800327604840653509835558209911371400967997554451491831592329386415341728919814573772723771242934771481219291157009148560061442824378329615816759284311441386199615846171889533715642765436266333433480984670187351068029498484108154923452019559131207533142934403560516101424544775740405540493805070900458158169491026516558896974948560301799159390207974818417913523760517289532230432477885099882300241709687280272099368513689133415471219352092963661297101986158691905344573061902205128822689909591767421070957668644735529328429179120022379295589683843423135883364878669184045901309778436920219511174839444913334608292844619218343501608239409457552450461895642089286562100682834745842113871437907027793401632180532320645485326765389643355637662321085052676958020658510410434874911574474235743454827487564860557022637422358124901320267132084801049052466350498959255062873805768807084784777898395505386901810457160522637644481318835063195836035903218334177836972470807542213230876715240830413379735220759343540074920398211982282204636103260395831463324598571889651735340756079233202320821888734113390841770022190419720720187895496932259516844034269502349758047645948756263940304131816192665869823814311497585532842546366387524128357010377221655685508830570451022723019418948490895838622700817584952888921172679868513743231825174755963525765073559982508051460674906224143707511813562551379966723995895544833711738547037479389186857956315020400036562721890571646975918368113851639620895337895801993686767175254287332802306404024668449542003165135573450849487219189806919594209735464001702088635842605334999739909255836810000363215231571093502286783155827356933679035122477008326331433429027302093075184623920895101294900626611198611991314430021558453656342289634217655572494700150239858621177634625198928581530789772445549980427105983787631403844426494217277914024970755546863908233747645764212645709241707132314054337004263736763353503672703665513436499353530667131328521684175812253706066261198091808703227220227635428382002132150453868768804025840437476274843 283967950080556620770196258390415977819185697506567801315842550433437295101876323352384791351432324481184894122714057512742832080325512001899023295038906415402253647280729149637220440740941208519088383411611885291498058537298601769080225575075648690468190198784932677170783092333368593357905062969712803605785298788754922458241305020850750205338572376994578738162118079787650658313264472823559027916822058057623526502029301544127715147100023184971013486965672874201720069475708849602379958738263896250877530050040248318675791660829331157043049047435608072634561301669556912361111349846911668292599530560998392740747531836631816320962876277349766090940647936173802558835935981385306488170837919950397054982360631064413048506438906533811761510442283260153504962395789555242790465719416454681727355659031986089809226253313951975286415490875170416441910559247244794131928230692037891061460594186611252878905252926723380672088189355299731696950454292217938793235467373022320005999247140428326315547903053598889189738914310665183477164141432506200674159054547059923091354948929621596434656779292424893752376519566210686497757978746963458312962047038333065753706693232305117033851718257829236755675057236294344630691831971859573223364012506295002571657216390560495177843733694238018299047305211411381775739194354349592182758724697638269742365698362633709725867001474785056037308543354410181612247953803267338852283986554928713879681644039520407270128853031291685829731728058422215108974313485279403973141659543462002268430434851820747295778964132776883396251858764916190405290446320493123474491216732834119784783627962079779013832612967474319338037254312526974514283763105010258442439200850041491302657444983314029051930456019440007057414530609823627174889374114928677685366028262924883424165193937740744147494588708191542183260010797663851581060427385158152940676389549297463731187436227884507373987965353789083923836820617810747426833492185557332150363368301111166237884693821515591104106896036229660558102876695027862944244346284485416367193376560046333273137352814951898386762682942997408497406295617911015502517657898149892150837319788158564727393470226885101119444952817159973168903728964767318700492457807710090999905240053691896589389746059091570813169074854979164885794476164936570837393063381771184343053667921059652402053359896186978699497578629650619911182835985030557856012912649489347092641664865623109243344859913421690180163355819422171933351746367412604321960502582447031411952137065311262802824588826024770506313199566061102854974191053750585302367564997782140363312329218152190638921642593631891723036353948902765725069505132403267524058843739981854097161818625234048261348097564064119546308662557619897209514673261202351140458706315783646878797337990618843397240786800404469906627731450633445651363970604182654249371534904067913415424606236156303666004055039525818017224080015268269048001015548036860405625065647112449676441869563766719596035121922796433325169058426813541884670900893224249869616551581502129391443385139150713799898148607043088377456525587827158323682867286959162935365643456852606730784244798519978343943296471348107669541124243967275631999422635073331960360282402866393604157652372267328751625067468619571425162863194128264951502195387000093341696203415717020870511453622733456089582624830090440783285587753390911273659191585470712230130433424799675699739812378751574084863296888716988801121440715642373484319996649952449424482703526301655115741717724075314923646972364584808939556298143072162847906508224353665103984217235712374231316293041119929965542437411353518980475736193209906472449511615906258203727669961768805091190761797118827039521919142551261566629551827084391984283332778361884587856528916538079791752750840369827953591172409824879677990880697069657887801266007231938801260476240415912877583662039694104931052174894690054797030060115853479 459469794945974053185230982362263822447008827799291527935924500700576777167639879013207161146653965092931558765031751528581620496417378514019685306982556423791434967488039759008162581898039266021343584410619307107335898635846732450556941255008589988537850514895416926115273000818076879407649519818258042083505865854840148849160150165154698568218462385359598824450302509866119162553547241328744339411468685361799675399390363394116068772221933084288890247791558579714978440219307992299159940490861833035151740508578740809297831079450633061845966726752895172064412625739158916826226785605854418917755504972244163426419605009771801721239133284141466706477469382394900121792937103589544573294402187662439925299954588838641434742280446819231627590036982330627862259386588868513377697795521895494392887582718048037950747298854477286368876018941849348001645083302840073973029134143694950191299208667368534490693050294741645220613514029269216037450567065110848705528833608719229947741471833771439384870385345203567126220419072147841181450353834951634964928199203053236708724875032451855557214829607301509463104508596489309969271828806498786695513066776815949944967818558142601350767825194413949152463008221045906407141867878052433206405746553872228541376982543809763434762383406959518343778585188165626684498201932975270163457741733329961189400545094532043537418070391877651897621920108881323296968318067254128280285646258474625421140485680575579105554294125281889229490620825586046310116933682735068889828867878724950994689366482649685641555603247147166128037444330052289699008518224478344606036744533055000658111087422256910780700343496949064066920192910734991831339482438591008997694156552867464098120670067350125073040884819769844921922810342012871864792667473675948598638819079497841087374810381913508842499574193783854131801834568003371381388032225811662776234599460668864699184990679376338966317351769130812843651394390534518669768263666776623307372516861172609062263023437332350388418337422429276404274766228743505709680612617918897351863563911114362771621460969875350406321814150530551431809856134012440047293398303690385955908220246316734218419986785782076068005254616319363376878547382680842461009747339940523477790339935992138299077026331190939326858208270450384237887439826233672823551755287115757404955873049882342311645127317257936368142314158979049090302858364326147539856335785372711971310848911524419021781780132932865019608269154030464777970964710914212561369960134897493307594226351873363485659334668138641944220227359462735035506511699235912067757208353419802684397381895110211297432053028506803297510589692357593212634365689425904946416968641302121229246619674286514611847056819126993352077469642404675107910178648104161597619228953428128197632401186454879300459120978241442377435273663864322366604801017562389470130878444142833813636588518360939769264450870989142615795969667003609804080248750357682294359179037954219698632289284486907491532054182313277359438560776571589530619657157164554001432744247371953205754882724683556346264536131171445387833747243512667154253318309682182354314134352691229431601829751408899516623164985091339494715880207493040705559405143124792635266506546573905417720203752234052747520612302331309972200342583315122907817215787036656063586775062692939238625305262354351427478426823777207958539875086193217677683860035012715395266006875649162918929619298345783820327298590805624643726775715382282740156806650315664656053797028588438271569074657754350046123980690916242368583600236147347471827403325648565730595415847703688661337851494776272255176655066926013680625976051831084107074710544487788993500115511749232197174549428522671466016136420465286537385098690992625731929096991007593829563661230592416796016487603723331626294837923261379031521547828398179571977078260938005062458568049119140097811297468076107063202628763458858822870497592128322 743437745026530673955427240752679800266194525305859329251767051134014072269516202365591952498086289574116452887745809041324452576742890515918708602021462839193688614768768908645383022638980474540431967822231192398833957173145334219637166830084238679006040713680349603286056093151445472765554582787970845689291164643595071307401455186005448773557034762354177562612420589653769820866811714152303367328290743419423201901419664938243783919321956269259903734757231453916698509695016841901539899229125729286029270558618989127973622740279964218889015774188503244698973927408715829187338135452766087210355035533242556167167136846403618042202009561491232797418117318568702680628873084974851061465240107612836980282315219903054483248719353353043389100479265590781367221782378423756168163514938350176120243241750034127759973552168429261655291509817019764443555642550084868104957364835732841252759802853979787369598303221465025892701703384568947734401021357328787498764300981741549953740718974199765700418288398802456315959333382813024658614495267457835639087253750113159800079823962073451991871608899726403215481028162699996467029807553462245008475113815149015698674511790447718384619543452243185908138065457340251037833699849912006429769759060167231113034198934370258612606117101197536642825890399577008460237396287324862346216466430968230931766243457165753263285071866662707934930463463291504909216271870521467132569632813403339300822129720095986375683147156573575059222348884008261419091247168014472862970527422186953263119801334470432937334567379924049524289303094968480104298964544971468080527961265889120442894715384336689794532956464423383404957447223261966345623245543601267440133357402908955400778115050664154124971340839209851979337340951836499039682041588604626284004847342422724511540004319654252989994162901975396315061845365667222962448459610969815716910989009966328430372426907260846340305317122919896767488215008345266096601755852333955457735885162283775300147717258847941492525233458658936962377642923771368653924958902404313719056940471160696044758813784827248793084497093527959929216151751923455549811056201840278106745540034475298945813457012667177187450207433479336545782276347448161161502205147650614477695579989684034888466772390282510140027283125429549123681915991170243660944818668886941748009540970941994713698487213444915067639892788629669001485694349356705395869248434862059063952513777147528265126640046354555199771624973452636711322711078326816883330462717344524719546363417184626288483923494163412450533426925523837890480702752986497370124773351201943047709711113262401936353695622138695020546943641260358937703870821829172470475812381283975326408438299520562873195154383191112898386132200024572317424851909306512738077935269211775076429739177073722697699907778645912284063005114497768017968771621745043719502413348210747229061194754517243435268505910514960633020049682271878852081264298394542699984244685066669375074158848253627087567176105109710684607619203385131415290558050388803871049295828874082597198267863834270146162684738214533765290272831339825477936185596641345289679777809543836162386074549928877860566461456439447164257004451460316337558827778198124595626788949440299021877856124501381499145679770950881397363205777443387859319411174036749405282978478409960109136758885087807517061051653867648741825462839584128951343051620483427625396440300448838618669431677097357905190595479522613444848216431024656224476803300268114080536500554890093387310792381829664969770953055501051308139898379219510319733911550002230834579633083416062892654144535896202220719092478279532661101712245040990579524222160394047197227785473518037288365311225641498505538055563016548104014650518077017716212429769369478417420190147130496587769238444093159579886010333086258709512428525467837459778344268169943863719044289535052975394959507770211994254803658148913619900557707981801 1202907539972504727140658223114943622713203353105150857187691551834590849437156081378799113644740254667048011652777560569906073073160269029938393909004019262985123582256808667653545604537019740561775552232850499506169855808992066670194108085092828667543891228575766529401329093969522352173204102606228887772797030498435220156561605351160147341775497147713776387062723099519888983420358955481047706739759428781222877300810028332359852691543889353548793982548790033631676949914324834200699839719987562321181011067197729937271453819730597280734982500941398416763386553147874746013564921058620506128110540505486719593586741856175419763441142845632699503895586700963602802421810188564395634759642295275276905582269808741695917990999800172275016690516247921409229481168967292269545861310460245670513130824468082165710720851022906548024167528758869112445200725852924942077986498979427791444059011521348321860291353516206671113315217413838163771851588422439636204293134590460779901482190807971205085288673744006023442179752454960865840064849102409470604015452953166396508804698994525307549086438507027912678585536759189306436301636359961031703988180591964965643642330348590319735387368646657135060601073678386157444975567727964439636175505614039459654411181478180022047368500508157054986604475587742635144735598220300132509674208164298192121166788551697796800703142258540359832552383572172828206184589937775595412855279071877964721962615400671565481237441281855464288712969709594307729208180850749541752799395300911904257809167817120118578890170627071215652326747425020769803307482769449812686564705798944121101005802806593600575233299961372447471877640133996958176962727982192276437827513955776419498898785118014279198012225658979696901260151293849370904474709062280574882643666421920565598914814701567761832493737095759250446863679933670594343836491836781478493145588470635193129557417586637185306622668892050709611139609398879784766370019519110578765108402023456384362410740696180291880943570881088213366652409152514874363605571520323211070920504382275058816380274754702599199406311244058511361026007885935895597104454505530664062653760280792033164233443798449253255455462049798699922660823730129003622511952487591137955485919925676173187543798721473449466885491395879933361569355817403916484496573956002699152965414020824337025343614530702851435782206947608718091788552713682852935725584220234771035263362688671947286908420179287420219379894127483101489293675789241029444700422852242018027140589769057989774143258162302054394753654284986572925987214452222409437881981704621745732107093008372613233785748650645498318057533333617952150338236511255077416892781022586096555655057973807077485042211202318106250463601842429247425335030557410674335697164222639903274062140363528601998159028756887354661498278778362090384573572639307433189633291792353581042697783272878183204532956781504103248816019349275488656161513048752224994343423723020889073706448132740534579099230287422988044046179979956720945910215207553357872482040076246035802953150588517826492427220869385979153124020074852492632189503906323527643993912162235065593987904301337777377189626441530786658972884658953357043118232921322917230893295496014204439598059876735434246666292073282191369563548360758510767136626961073405468869753541102899347762064147442158944539478477644856700365337925777346629026911655496143020662447176098001537599050975443141725517894070328238088574992146406938964633609950583778736590297583478531658879867039584015015894933746417293676723498615366857791561314875650796565175048931119751553991996030672474475895747545205546341727688296872074686598932704881836190727900985267269485539860654164169971554191983481834641399749209069643448141526760377072246983851377722913383785726047816491206180848256347637741033976353866017031755422529107948926177612338654193073206256975846319057457432421607772442771055300110123 1946345284999035401096085463867623422979397878411010186439458602968604921706672283744391066142826544241164464540523369611230525649903159545857102511025482102178812197025577576298928627176000215102207520055081691905003812982137400889831274915177067346549931942256116132687385187120967824938758685394199733462088195142030291463963060537165596115332531910067953949675143689173658804287170669633351074068050172200646079202229693270603636610865845622808697717306021487548375459609341676102239738949113291607210281625816719065245076560010561499623998275129901661462360480556590575200903056511386593338465576038729275760753878702579037805643152407123932301313704019532305483050683273539246696224882402888113885864585028644750401239719153525318405790995513512190596702951345716025714024825398595846633374066218116293470694403191335809679459038575888876888756368403009810182943863815160632696818814375328109229889656737671697006016920798407111506252609779768423703057435572202329855222909782170970785706962142808479758139085837773890498679344369867306243102706703279556308884522956598759540958047406754315894066564921889302903331443913423276712463294407113981342316842139038038120006912098900320968739139135726408482809267577876446065945264674206690767445380412550280659974617609354591629430365987319643604972994507624994855890674595266423052933032008863550063988214125203067767482847035464333115400861808297062545424911885281304022784745120767551856920588438429039347935318593602569148299428018764014615769922723098857520928969151590551516224738006995265176616050519989249907606447314421280767092667064833241543900518190930290369766256425795830876835087357258924522585973525793543877960871358685374899676900168678433322983566498189548880597492245685869944156750650885201166648513764343290110454819021222014822487899997734646761925525299337817306284951447751294210056577480601521559929844493898031646927986014970606378627824407225050862971775371444534222844287185740159662558457955028233373468804339747150329030052076286243017530530422727524789977444853435754861139088539529847992490808337586471290242159637859351146915510707370942169399300315267332110046900811116430442905669483278036468443100077577164784014157635241752433181499915360208076010571111755959606912774521309482485251271808574160145441392624889640900974954991766331739042101744147766503422099736238387093274247063039558331594832655096830099215876465819475552035060225641975419151519100935738200616386867567846328030885569586542746686953186242616062627181656465466845287081210510410816467917205208906808006755055823688779816804121635015170139444272784193338604476974878311088042107333084249887368593403870071882063496273327640358237365585509219148849734042453819742759882466717187073775099491851678350491879540602324695858936535533266945561283892859858402542344261052476909135705140564328271758978027395426639801462692019063881836069031547367508242777347146767694327668408087558448780606980994161666666406392532698728653799183341852361200773257942161743531335905120118400151418452352096638589905607600512918414292906192318110125689502964872933673689971778901756373978851266655237756087897970233823229889110413673380677060699521041826520084445454503461475916001236815745811971844233072766926754138201898626456038135110154874152732019512859456898823032529966461600530131512505442190800765361475580369963275979570646058887476546840156268482652540499630708489549850851533423208577431595189110413250851892817126798138368625046190659421413679985665886801918344984863396994586368111295226425653027399754682014535814446646140566568676696614840023485079002829400541913065266123154865275883387955686458785306773905171879805668477092247546498382745414399727146661164353956529746550664404041524853409971554964491909650786066858589433896450546404879333854491533766797277892789896656628189246048601216483616531051712236079756686062671613008091924 3149252824971540128236743686982567045692601231516161043627150154803195771143828365123190179787566798908212476193300930181136598723063428575795496420029501365163935779282386243952474231713019955663983072287932191411173668791129467560025383000269896014093823170831882662088714281090490177111962788000428621234885225640465511620524665888325743457108029057781730336737866788693547787707529625114398780807809600981868956503039721602963489302409734976357491699854811521180052409523666510302939578669100853928391292693014449002516530379741158780358980776071300078225747033704465321214467977570007099466576116544215995354340620558754457569084295252756631805209290720495908285472493462103642330984524698163390791446854837386446319230718953697593422481511761433599826184120313008295259886135858841517146504890686198459181415254214242357703626567334757989333957094255934752260930362794588424140877825896676431090181010253878368119332138212245275278104198202208059907350570162663109756705100590142175870995635886814503200318838292734756338744193472276776847118159656445952817689221951124067090044485913782228572652101681078609339633080273384308416451474999078946985959172487628357855394280745557456029340212814112565927784835305840885702120770288246150421856561890730302707343118117511646616034841575062278749708592727925127365564882759564615174099820560561346864691356383743427600035230607637161321585451746072657958280190957159268744747360521439117338158029720284503636648288303196876877507608869513556368569318024010761778738136968710670095114908634066480828942797945010019710913930083871093453657372863777362644906320997523890944999556387168278348712727491255882699548701507985820315788385314461794398575685286692712520995792157169245781857643539535240848631459713165776049292180186263855709369633722789776654981637093493897208789205233008411650121443284532772703202165951236714689487262080535216953550654907021315989767433806104835629341794890555112987952689209196544024969198651208525254412375220835363695682461228801117381136101943050735860897949235710813677519363294232447191897119581644982651268167523795246744019965212901606232053060596059365274280344609565683698361131533076736391103923807706168406526110122832890388667419841036381263554369833229409073798265917189415846820627625978076629937966580892340053940369012590668764385716274850617939204306683847105185062799776722411267320416875331601134479239154491422838943480404929395638531413228418839689910062656808875772731308421828560773827542955300605836770439818767521240040735495496983742455131657431316245888736760445434511923897130007628403925192923429691656662010308496263238380343844339327304261374426456168437718554247134717843279576787827325399313335884883067168094913024127861409472263714491581624554019904130926694017965292420621607059562671221948787115916900359910098768996932917909314456761300273609844334419473523167130652088380822856164404290395898992688671092131108447522487055113734696245765636679955686772699979163298573307110988465495519616013375981366154203104569040869923131017126476986492071538312981044810742315193409288400577667602134013967350361883152604432614945714339501020482202773769367030423795293620843959057413379941468707901073975877972249992478263917515264136490302498960409393592665096183560343022485560615758804660887179972125406140008609157362142556138691138822209396874931475713666721334652644841693867533627983641356226383620179089621998200723838534153744023201435671553717095721847156705070526460997695001560820548335638661586895609953225902856541301303823964929730945655566000638136597241151172510587568690625344557088838785139952722087570157719578683587444052576259445032533969838448646439529980217386814148936216304612495483290123622911387892902576323355340690539726141992247706845781534191580381233199871523289189326385841716074268966843439121807473459462850109169668501364458505442668308202047 5095598109970575529332829150850190468671999109927171230066608757771800692850500648867581245930393343149376940733824299792367124372966588121652598931054983467342747976307963820251402858889020170766190592343013883316177481773266868449856657915446963360643755113087998794776099468211458002050721473394628354696973420782495803084487726425491339572440560967849684286413010477867206591994700294747749854875859773182515035705269414873567125913275580599166189417160833008728427869133008186405179317618214145535601574318831168067761606939751720279982979051201201739688107514261055896415371034081393692805041692582945271115094499261333495374727447659880564106522994740028213768523176735642889027209407101051504677311439866031196720470438107222911828272507274945790422887071658724320973910961257437363779878956904314752652109657405578167383085605910646866222713462658944562443874226609749056837696640272004540320070666991550065125349059010652386784356807981976483610408005734865439611928010372313146656702598029622982958457924130508646837423537842144083090220866359725509126573744907722826631002533320536544466718666602967912242964524186807585128914769406192928328276014626666395975401192844457776998079351949838974410594102883717331768066034962452841189301942303280583367317735726866238245465207562381922354681587235550122221455557354831038227032852569424896928679570508946495367518077643101494436986313554369720503705102842440572767532105642206669195078618158713542984583606896799446025807036888277570984339240747109619299667106120301221611339646641061746005558848464999269618520377398292374220750039928610604188806839188454181314765812812964109225547814848514807222134675033779364193749256673147169298252585455371145843979358655358794662455135785221110792788210364050977215940693950607145819824452744011791477469537091228543970714730532346228956406394732284066913258743431838236249417106574433248600478640921991922368395258213329886492313570261999647210796976394936703687527656606236758627881179560582514024712513305087360398666632365778260650875394089146568538658451833762295184387927919231453941510327161654597890935475920272548401452360911326697384327245420682114141266801016354772859547023885283333190540267758074642821848919756396589339564940944985368680711040438498898332071899434552236775379359205781980954915324004357000503427818018998384442626406420085492278337046839761969598915249530428431233695115620310898390978540630571371057682932329354577890526449524376722100762193991415103520514496141543221899397621475232988085327816706007394558923048862640223053895491816269123291740701251642643574064637196213884995266487283374574326422451177423577191629967830326240319782050520462358201516942373336544548163069927336886910854795490845048483247363206343259975045899444733251389876901827953888552620846564081807189658261161412387007904702073482237586215739327669036484135882165542231012488157412370223672647067743045760382998760539196005971267662094728857912432043072488385501353778346640425668311761723437681359544711886486272603255987493222019769607032084587004989952605887237128852440882912253273511341292105792869106735862003871087852701802237471254305432662879780703804472354320365000883933464386923211362549891879209065738290235761748336903417056637162308020048703231293715217175217580128618261559710212502091867740538740669867584746939456500297789766838207455284312780222129191681850136016280524140986934873170029941155421409301270129342854436452287564370843893860215781751261185882411374987226707350253983646450292604539594014151767726956851364684412960191380447284277163809827869125427592175704347386489380698205218845242435433602966639273902837883033350204413775506925738687076478600132228548663362965776849439819870173575791934427429733326895655031635792778314565435215430642126786112533726014822956123663734505970925595032685170408689943079381160881904581121144568114281316293971 8244850934942115657569572837832757514364600341443332273693758912574996463994329013990771425717960142057589416927125229973503723096030016697448095351084484832506683755590350064203877090602040126430173664630946074727351150564396336009882040915716859374737578283919881456864813749301948179162684261395056975931858646422961314705012392313817083029548590025631414623150877266560754379702229919862148635683669374164383992208309136476530615215685315575523681117015644529908480278656674696708118896287314999463992867011845617070278137319492879060341959827272501817913854547965521217629839011651400792271617809127161266469435119820087952943811742912637195911732285460524122053995670197746531358193931799214895468758294703417643039701157060920505250754019036379390249071191971732616233797097116278880926383847590513211833524911619820525086712173245404855556670556914879314704804589404337480978574466168680971410251677245428433244681197222897662062461006184184543517758575897528549368633110962455322527698233916437486158776762423243403176167731314420859937339026016171461944262966858846893721047019234318773039370768284046521582597604460191893545366244405271875314235187114294753830795473590015233027419564763951540338378938189558217470186805250698991611158504194010886074660853844377884861500049137444201104390179963475249587020440114395653401132673129986243793370926892689922967553308250738655758571765300442378461985293799599841512279466163645786533236647878998046621231895199996322903314645757791127352908558771120381078405243089011891706454555275128226834501646410009289329434307482163467674407412792387966833713160185978072259765369200132387574260542339770689921683376541765184509537641987608963696828270742063858364975150812528040444312779324756351641419670077216753265232874136871001529194086466801568132451174184722441179503935765354640606527838016816839616460909383074950938904368654968465554029295829013238358162692019434722121655365152554760198749665604133247712496855257445283882293554781417877720394974533888477779802734308828996511773343324857382216177815127994742376285047500876436592778494685449844634955441133174154633505421507386062658607590030247797839627932549431509250650947692989501597066377880907533210516339597432970603119310778214777754509306355688314178892527060530313405317325786674321008855693016947669267813534293849002381830713103932597463399846616484380866235666405760032368174354774802321229922021035500766696214345557773417580436512181185597873493502413243664294342039096843827736168061294000509325368552201504378301378180520071539299784228576714557803664598381650271977989830119643576651928497591870837564802795021762904495891342256782408757500604767597076044796519161163869947476405812219954078949708514972909892719626920834841599599919348864178083894867120374510159680409235303755976774178061772297106673699006400146900672500627942646328470301639065398143140245793193079837051358138944753071669852670304453493754717208463554158197679752444072274053757509938998975422750188933200975558087867852426806360556534091942900624158561573497061490918868281939594756076321541674089008894239806836457097745156475520467647516576972274787635436649147734228267647941208959941346844328391919263623867757181315730768499679263601039907359136122717413641368327477275560197703140744377066220597392474217273880547349827229727303078147639119999163713138930997979501556781836523544003549908507782343161256790209030777419610025108663496598459653723235924560989582062938456331712343409069988787527898589622308037188214492819917008309028260675329614143905846946447922413761050979041636015160866329691943578219483345171567330005591322545322861346890459292795236947745345374385126606458817519042697599579270389344923109993796487179827330006056682236345571361934770562272280996964833707167345733597538112145450049576222045194561876124292216163402542231270051573082485603073556949624496018 13340449044912691186902401988682947983036599451370503503760367670346797156844829662858352671648353485206966357660949529765870847468996604819100694282139468299849431731898313884455279949491060297196364256973959958043528632337663204459738698831163822735381333397007880251640913217513406181213405734789685330628832067205457117789500118739308422601989150993481098909563887744427960971696930214609898490559529147346899027913578551350097741128960896174689870534176477538636908147789682883113298213905529144999594441330676785138039744259244599340324938878473703557601962062226577114045210045732794485076659501710106537584529619081421448318539190572517760018255280200552335822518846933389420385403338900266400146069734569448839760171595168143417079026526311325180671958263630456937207708058373716244706262804494827964485634569025398692469797779156051721779384019573823877148678816014086537816271106440685511730322344236978498370030256233550048846817814166161027128166581632393988980561121334768469184400831946060469117234686553752050013591269156564943027559892375896971070836711766569720352049552554855317506089434887014433825562128646999478674281013811464803642511201740961149806196666434473010025498916713790514748973041073275549238252840213151832800460446497291469441978589571244123106965256699826123459071767199025371808475997469226691628165525699411140722050497401636418335071385893840150195558078854812098965690396642040414279811571805852455728315266037711589605815502096795768929121682646068698337247799518230000378072349209313113317794201916189972840060494875008558947954684880455841895157452720998571022519999374432253574531182013096496799808357188285497143818051575544548703286898660756132995080856197435004208954509467886835106767915109977462434207880441267730481173568087478147349018539210813359609920711275950985150218666297700869562934232749100906529719652814913187188321475229401714154507936751005160726557950232764608613968935414554407409546641999069951400024511863682042510174734342000391745107487838975838178469366674607257162648737414003950754836266961757037560672975420107890534288821847104442525890917053446703034957782418712760042934835450929911980894733565786282110197971578272834787606645638982176032365259353829559942684251723200146435220346794187212510964426495082550180696684992456301963771017021304669771241352312847386824457119524018089741736893456246350465150915936188463601869470395113219620900561666072137753897277887127995470962961705562319974255696404658767814856535238387049635565682769233497410696368907511772860301229382711762353679720392983681095405299633292915552054467315857461647194984875245411891225246199186481687521310087108649077282655288059434246313461534500414495639475739556840989804504005817958375966990127178101574645818793597429473771768948328398712301255799385563166432439223184684114578401079882384486888239955611682812606183804607629155628403205563303509698425881990513454668613209500459465022379303192412070629722824932457775407535856579424643734511912370882335102799754338699409616544027313962670231190646160502051443524755519068447196959233794947600350186345599705563833607160346608320349318814443529093068099528928438032740002261573960825280308715315130626173759636390381469058735441011937943324415773285025433690071558770990777372920720872995327780307604976309141621086090497097312050017604139417788930551346386282292281778911028205394139566189031923330096129960238971932841019326378792839452896106010800295404883442278720207592898225820444976014235248843605954487480819032413931160076755217526694298556866038326895206690924860806910761442753042034039330067600181550390412572441024925511962135249728342326145441361520852300123813682937417651271246262942236166194362929863970062971761757435790009132000602997727548876837716212395475833953458267323552935101573713310728016120156908809462624853345621612430933477663606747641671230940789989 21585299979854806844471974826515705497401199792813835777454126582921793620839158676849124097366313627264555774588074759739374570565026621516548789633223953132356115487488663948659157040093100423626537921604906032770879782902059540469620739746880682110118911680927761708505726966815354360376089996184742306560690713628418432494512511053125505631537741019112513532714765010988715351399160134472047126243198521511283020121887687826628356344646211750213551651192122068545388426446357579821417110192844144463587308342522402208317881578737478400666898705746205375515816610192098331675049057384195277348277310837267804053964738901509401262350933485154955929987565661076457876514517131135951743597270699481295614828029272866482799872752229063922329780545347704570921029455602189553441505155489995125632646652085341176319159480645219217556509952401456577336054576488703191853483405418424018794845572609366483140574021482406931614711453456447710909278820350345570645925157529922538349194232297223791712099065862497955276011448976995453189759000470985802964898918392068433015099678625416614073096571789174090545460203171060955408159733107191372219647258216736678956746388855255903636992140024488243052918481477742055087351979262833766708439645463850824411618950691302355516639443415622007968465305837270324563461947162500621395496437583622345029298198829397384515421424294326341302624694144578805954129844155254477427675690441640255792091037969498242261551913916709636227047397296792091832436328403859825690156358289350381456477592298325005024248757191318199674562141285017848277388992362619309569564865513386537856233159560410325834296551213228884374068899528056187065501428117309733212824540648365096691909126939498862573929660280414875551080694434733814075627550518484483746406442224349148878212625677614927742371885460673426329722602063055510169462070765917746146180562197988138127225843884370179708537232580018399084720642252199330735624300567109167608296307603203199112521367121127326392468289123418269465502462372864315958272100983436253674422080738861332971014082089751779936958022920984327127067316532554287160846358186620857668463203926098822701542425481177709820522666115217791360848919271262336384673023519889709242881598951262530545803562501414924189729653149875526689856953555612863586014010779130622972626710038252339039054886606696389206287832627950687205136740072730731331386582341948495970043825169915540850822582701572904450111623444901413051399473886747917847749198817902432109198574335230877371733744063234006736064921109016151161679409902783301653463948969698238899069898014943187530044297435501038299123482467116249456028041220949386183412652343891057834783260055656510291109980695664284443115881551776795068754212520790868268686617048012943174245738142461607557666636068702908871981665034689319143206617284956981221252100086282531387560740583554329141076485443673027298768648998756383346749784020935266526338465879804912958777096511655966228827402577376530049461293366518423619157262101304083310660887622191126215977100561405905570855349207733999112934443623801008041953035555336621689359080585406542020931352316822128787996835391415803880703536178076172261007650202782920766627153043707049889797627393571697199827235120275538983231774909407742847331439886248266337570623861617372394000904997450526415501633440324327039353095751778537788094264485317280271783335692864728938143116097539705673257386750448002710260629351487456336051355759734036219965873024341658663924610569229514964801763147433228262524669033525233848168385783478202023912700771885273343129104685911785952397457913908363731273645819664895561979902446616248057284996596618801618940678309266197674508940289396235170313943862521506555539286039857766550151589087441846691368346174359662319439109997209360309541120804000921091047247023762886950061314718784933754841016748163843700985050746092350715228180565286007 34925749024767498031374376815198653480437799244184339281214494253268590777683988339707476769014667112471522132249024289505245418034023226335649483915363421432205547219386977833114436989584160720822902178578865990814408415239722744929359438578044504845500245077935641960146640184328760541589495730974427637189522780833875550284012629792433928233526892012593612442278652755416676323096090349081945616802727668858182048035466239176726097473607107924903422185368599607182296574236040462934715324098373289463181749673199187346357625837982077740991837584219908933117778672418675445720259103116989762424936812547374341638494357982930849580890124057672715948242845861628793699033364064525372129000609599747695760897763842315322560044347397207339408807071659029751592987719232646490649213213863711370338909456580169140804794049670617910026307731557508299115438596062527069002162221432510556611116679050051994870896365719385429984741709689997759756096634516506597774091739162316527329755353631992260896499897808558424393246135530747503203350269627550745992458810767965404085936390391986334425146124344029408051549638058075389233721861754190850893928272028201482599257590596217053443188806458961253078417398191532569836325020336109315946692485677002657212079397188593824958618032986866131075430562537096448022533714361525993203972435052849036657463724528808525237471921695962759637696080038418956149687923010066576393366087083680670071902609775350697989867179954421225832862899393587860761558011049928524027404157807580381834549941507638118342042959107508172514622636160026407225343677243075151464722318234385108878753158934842579408827733226325381173877256716341684209319479692854281916111439309121229686989983136933866782884169748301710657848609544711276509835430959752214227580010311827296227231164888428287352292596736624411479941268360756379732396303515018652675900215012901325315547319113771893863045169331023559811278592484963939349593235981663575017842949602273150512545878984809368902643023465418661210609950211840154136741467658043510837070818152865283725850349051508817497630998341092217661356138379658729686737275240067560703420986344811582744477260932107621801417399681004073471046890849535171172279669158871885275246858305092090488487814224615070624949999944062739200821380050695413766710695771586924936397727059557008810296238919543776030744952151968776946873633528977081796537498278136959571913295565028760471723144367645042204008901332029408522362435592310237822004895222561199924055109573617927007299426832467504146761290016527924021980639285495064007143669362681919994475197648236103082098764751358499946318467342361661347253287420135867870933962430999706912065915343715944537423442230164698938755357291333636058558716526608826644653607175191044748891556936059037031438405017031307584282920834074882309639056508141665335830501166164915874448980539166011953682669248280656454397052204319686856448209902925779981007079089305372423799475814848378299457125402308987824868829223097848262891774013674965645763687376529825625593644588719868241086539853894501164377968379320076489149994789131569289709266931006247584764959477168737108346154205859332973771635707004610293747652464356881591907461759022180515971387029962078668885970561287476926556190682692768281021511445019257114943544582490367721781212602426835557122719530821424351403113355917955577024815831703562564065114603892934332282682286571629003353516710686974643101648677866249175504251865744836515370756466620378871517508795049959940815998396276834217012149852557647779328462538695728718211257637923600238335795610772592863158900666950397770603713419846445952392474887641173569247131846347143945086119670787049974632753972333652821585190125463742721733648969721736613123350844877636700500346777357389868315947713421755785375074262268244643982348597476197678077434875693743217465870093785456131918528409699098356899411506075996 56511049004622304875846351641714358977838999036998175058668620836190384398523147016556600866380980739736077906837099049244619988599049847852198273548587374564561662706875641781773594029677261144449440100183772023585288198141782285398980178324925186955619156758863403668652367151144114901965585727159169943750213494462293982778525140845559433865064633031706125974993417766405391674495250483553992743045926190369465068157353927003354453818253319675116973836560721675727685000682398042756132434291217433926769058015721589554675507416719556141658736289966114308633595282610773777395308160501185039773214123384642145692459096884440250843241057542827671878230411522705251575547881195661323872597880299228991375725793115181805359917099626271261738587617006734322514017174834836044090718369353706495971556108665510317123953530315837127582817683958964876451493172551230260855645626850934575405962251659418478011470387201792361599453163146445470665375454866852168420016896692239065678949585929216052608598963671056379669257584507742956393109270098536548957357729160033837101036069017402948498242696133203498597009841229136344641881594861382223113575530244938161556003979451472957080180946483449496131335879669274624923676999598943082655132131140853481623698347879896180475257476402488139043895868374366772585995661524026614599468872636471381686761923358205909752893345990289100940320774182997762103817767165321053821041777525320925863993647744848940251419093871130862059910296690379952593994339453788349717560516096930763291027533805963123366291716298826372189184777445044255502732669605694461034287183747771646734986318495252905243124284439554265547946156244397871274820907810164015128935979957486326378899110076432729356813830028716586208929303979445090585462981478236697973986452536176445105443790566043215094664482197297837809663870423811889901858374280936398822080777210889463442773162998142073571582401911041958895999234737163270085217536548772742626139257205476349625067246105936695295111312588836930676112412584704470095013568641479764511492898891726616696864431141260597434589021262076544788423454912213016847583633426688418371884190270910405446019686413285331621940065796221864831895810120797507556952692678761594518128457256354621034291376726029994814679653093938265890678333606308277352724706550717547909024437097809347849351125526240165237032784779919464152010373601707813127924080620085455541957120734944301322545727069217946654120524776930821573761909479058155669754094040463632033253683908848804379033170895701510882826211125544075183660049188278365660607618332380158893545095663179290612143062186859538245441949809477910803281328641085254054346614774890764746849175399372454828533422925828983381871238843110431127312929047399694913340224223203987923137295078520644589105041085734216456264585868764201452845673793098646557082601252447447262009721122720341094759154691953683753165701203076070203197993923861046507345544969110285382576572326504344528284527979685517874330122589616271882049036114979048956424574998720951841570745150125773811941889061628500277312412003121084531103030344468190979068347516412789605696311793990865896342989597275136854475171885080782554755302667139802358534614802729230405769014423533775868713205681563015909787965592100511128352951331267523452514168444107740115782117599877361972624352971145751390756209107696493365119080317020842835848450296757663270425798384111334676610903461134977353362278029353705511555607625478872735336629490962037535442119364279474905617761543710062479536818886082881627496848322173930742123958409808873581464900296684378815556358580858761501877359239511341514372377334257421626532128442965945564026797980053247649141694261729887991899133987985249277272935009579503163274939932319483391868692951717052187755057710631116094916195066269165735029595621239084628138749594478676972306886841949299832903579155791449072127592071362003 91436798029389802907220728456913012458276798281182514339883115089458975176207135356264077635395647852207600039086123338749865406633073074187847757463950795996767209926262619614888031019261421865272342278762638014399696613381505030328339616902969691801119401836799045628799007335472875443555081458133597580939736275296169533062537770637993362098591525044299738417272070521822067997591340832635938359848653859227647116192820166180080551291860427600020396021929321282909981574918438505690847758389590723389950807688920776901033133254701633882650573874186023241751373955029449223115567263618174802198150935932016487330953454867371100424131181600500387826473257384334045274581245260186696001598489898976687136623556957497127919961447023478601147394688665764074107004894067482534739931583217417866310465565245679457928747579986455037609125415516473175566931768613757329857807848283445132017078930709470472882366752921177791584194872836443230421472089383358766194108635854555593008704939561208313505098861479614804062503720038490459596459539726087294949816539927999241186972459409389282923388820477232906648559479287211733875603456615573074007503802273139644155261570047690010523369752942410749209753277860807194760002019935052398601824616817856138835777745068490005433875509389354270119326430911463220608529375885552607803441307689320418344225647887014434990365267686251860578016854221416718253505690175387630214407864609001595935896257520199638241286273825552087892773196083967813355552350503716873744964673904511145125577475313601241708334675406334544703807413605070662728076346848769612499009501982156755613739477430095484651952017665879646721823412960739555484140387503018297045047419266607556065889093213366596139697999777018296866777913524156367095298412437988912201566462848003741332674955454471502446957078933922249289605138784568269634254677795955051497980992223790788758320482111913967434627571242065518707277827222127209434810772530436317643982206807749500137613125090746064197754336054255591886722362796544624231755036299523275348563717044591900422714780192769414932220019603168762449779593291871746534320908666755979075305176615721988190496947345392953423357465477225938302942700970332678729232361837633479793375315561446711522779190950645065439629653038001005091499713657003691119435402322304472845422164157366356659647364445783941267777736931888241098884007130684894924461578898222415113870416299973061794268871436862988858129426108960230096124345071368393491758989263024831957308793482466731386332597728169015029587501142071999205640688473773429667751287695062078888020293311415393694241826938218038191760417151839572150534616061221121925280577205890471658915090743088399365956865155993682320626596134444067185871645574008521557993831398395032672028852014579681620543446102765524040547506702839083762484730301240311892913102418612363136458701661886353048441823940234340207562753407395757059646203826786826488352624058415657806376048141352722827741653381994505699198951812714120144940810128654014602188262375250777467164389738845642053028428915523001441690380382441161020253025133599760268777614447419037190461271271159603004689143803134469828246807592085392848502955131496683950442076561751410921740401453495854537599176242850492836344156274793279409374462776286780567457713026598107837563330202304197529747072501967175742159322463614448942143896148724405399913564900650597602708480670682963679964420171821951996463926707219954687059859491223709250707385957582416406959628159329434846433759939986896696548968738640529406825310860869659460335216047732473819800695907456971678715259247809159272481072659357787466764852221898595195779260289313089509112917650840297623774448234063540813484324113448991999006583979301239776398290777197120092369039729074442056071005424052871880291269328537410379011944218715282306216184470172420189772756935734755964822107565490547429027003577437999 147947847034012107783067080098627371436115797318180689398551735925649359574730282372820678501776628591943677945923222387994485395232122922040046031012538170561328872633138261396661625048938683009721782378946410037984984811523287315727319795227894878756738558595662449297451374486616990345520667185292767524689949769758463515841062911483552795963656158076005864392265488288227459672086591316189931102894580049597112184350174093183435005110113747275137369858490042958637666575600836548446980192680808157316719865704642366455708640671421190024309310164152137550384969237640223000510875424119359841971365059316658633023412551751811351267372239143328059704703668907039296850129126455848019874196370198205678512349350072678933279878546649749862885982305672498396621022068902318578830649952571124362282021673911189775052701110302292165191943099475438052018424941164987590713453475134379707423041182368888950893837140122970153183648035982888701086847544250210934614125532546794658687654525490424366113697825150671183731761304546233415989568809824623843907174269088033078288008528426792231421631516610436405245569320516348078517485051476955297121079332518077805711265549499162967603550699425860245341089157530081819683679019533995481256956747958709620459476092948386185909132985791842409163222299285829993194525037409579222402910180325791800030987571245220344743258613676540961518337628404414480357323457340708684035449642134322521799889905265048578492705367696682949952683492774347765949546689957505223462525190001441908416605009119564365074626391705160916892992191050114918230809016454464073533296685729928402348725795925348389895076302105433912269769569205137426758961295313182312173983399224093882444788203289799325496511829805734883075707217503601457680761393916225610175552915384180186438118746020514717541621561131220087099269009208380159536113052076891450320061769434680252201093645110056041006209973153107477603277061959290479520028309079209060270121464013225849762680371196682759492865648643092522562834775381249094326768604941003039860056615936318517119579211334030012366809040865245307238203048204084763381904542093444397447189366886632393636516633758678285045297531273447803134838511091130186286185054516395074311503772817801332557070567676675060254309306131939270982178047263311968472160108873022020754446601255175704508998489972024106504810521711807705250894380732392708052385659518307870655827537034917363116814598506080935512249950885891051669886254550426549161513083303488463990562477391315535765365768623870525912413712267616074389300737662051795328358906027442237781565388974594684306384889125077576437202366961317482953815944702306375979627191980781236405764266142460854194490288081822665702497834977554498313184574621408216471334055621599020595166147093100326209648487188499740496812092571603285215330404094338958449995703671059810398468422784606694143200978632188023960728454610471827262844197750647872995698169027525943188952620467857067356026181361680023573529074402330392026989846243633063558612837373971729308735134888971415864970317977151501719002792385562245551356055478067951247845961963831826796157583065150468901032133400409606682721979477166175403258257798636486308976691364480641327509415877029630406312381924413508746132121866893790537727414107554304019971881470705847953345447802181559502371425473112927132915531571310942307262976465745248235762015197408260873134279054794298356575323632956929349826204736573660198615467116702581986044015448544453942401747523608909752051521483696959176085787624723411034322159183043590202459174457541347401265596204141350494271617828667920774358431898869128981137229556156016822311388732279035073139715630893545272916142495793428805383458101434241276279518988880742939673230709516603484237732680791494243826063134683987975207464394806576114041539839954366934354934064651097162079643777684055797725686721281996501154595648800002 239384645063401910690287808555540383894392595599363203738434851015108334750937417729084756137172276444151277985009345726744350801865195996227893788476488966558096082559400881011549656068200104874994124657709048052384681424904792346055659412130864570557857960432461494926250381822089865789075748643426365105629686045054633048903600682121546158062247683120305602809537558810049527669677932148825869462743233908824759300542994259363515556401974174875157765880419364241547648150519275054137827951070398880706670673393563143356741773926122823906959884038338160792136343192669672223626442687737534644169515995248675120354366006619182451691503420743828447531176926291373342124710371716034715875794860097182365648972907030176061199839993673228464033376994338262470728026962969801113570581535788542228592487239156869232981448690288747202801068514991911227585356709778744920571261323417824839440120113078359423776203893044147944767842908819331931508319633633569700808234168401350251696359465051632679618796686630285987794265024584723875586028349550711138856990809016032319474980987836181514345020337087669311894128799803559812393088508092528371128583134791217449866527119546852978126920452368270994550842435390889014443681039469047879858781364776565759295253838016876191343008495181196679282548730197293213803054413295131830206351488015112218375213219132234779733623881362792822096354482625831198610829147516096314249857506743324117735786162785248216733991641522235037845456688858315579305099040461222097207489863905953053542182484433165606782961067111495461596799604655185580958885363303233686032306187712085157962465273355443874547028319771313558991592982165876982243101682816200609219030818490701438510677296503165921636209829582753179942485131027757824776059806354214522377119378232183927770793701474986219988578640065142336388874147992948429170367729872846501818042761658471040959414127221970008440837544395172996310554889181417688954839081609645377914103670820975349900293496287428823690619984697348114449557138177793718558523641240526315208620332980910417542293991526799427299029060468414069687982641495956509916225450760200376522494543502354381827013581104071238468654996750673741437781212061462865015417416354028554104879088379248044079849758627320125693938959169940276073677760920315659591595511195326493599868765412542061168645854417808047772588258643695946349778387863077602976847238416530285769697953334890424911083469942943924370379376994851281766010599621794942653272072566513295947871270873782267151698366352039540942001213409688073594941426135825224996110193722504316669585682286010078000626716063295614628962784113157055104350560763527497904907769186671708064679356885549253560447153237816348023124431111998565499056220195416738029327887019994053267194999107680007830191933291265264537359599274442368977815134395579270342908806089672173534927124446493047191642802572422364168291208017867584322490401577434699484050793085941600995328668609209790183767834743674529272728026215044512171930656372287078160801099749222506775899524627817057917998746892674503160693172768003406571609080611667711516623576411250863986618854336310071905721277203544076510968787069251568251761212930133170259418767926232052249249817330525484943911558167264001582476278141687069947101876883841084587429594497303955790908778004485757032118497975080102875074854034925391249406872614469653635675580098058858475842759725477262036539743804778881346290131443793614885675326607926291236751401406126870349361375682938344598485281423683855872634756363363940441147470043913249662794390505273821221066292111598322172986877076477080046839504558226916447902081778054612018090649021592124582252633281733842896690590729856969618867782214883233275286102968181982716071521486713723576606772409865936299897068558736859855498733723343986493053484058669649240571118534823517351852400713418811762547794286772543930181599226238001 387332492097414018473354888654167755330508392917543893136986586940757694325667700101905434638948905036094955930932568114738836197097318918267939819489027137119424955192539142408211281117138787884715907036655458090369666236428079661782979207358759449314596519028123944223701756308706856134596415828719132630319635814813096564744663593605098954025903841196311467201803047098276987341764523465015800565637813958421871484893168352546950561512087922150295135738909407200185314726120111602584808143751207038023390539098205509812450414597544013931269194202490298342521312430309895224137318111856894486140881054565333753377778558370993802958875659887156507235880595198412638974839498171882735749991230295388044161322257102854994479718540322978326919359300010760867349049031872119692401231488359666590874508913068059008034149800591039367993011614467349279603781650943732511284714798552204546863161295447248374670041033167118097951490944802220632595167177883780635422359700948144910384013990542057045732494511780957171526026329130957291575597159375334982764165078104065397762989516262973745766651853698105717139698120319907890910573559569483668249662467309295255577792669046015945730471151794131239891931592920970834127360059003043361115738112735275379754729930965262377252141480973039088445771029483123206997579450704711052609261668340904018406200790377455124476882495039333783614692111030245678968152604856804998285307148877646639535676068050296795226697009218917987798140181632663345254645730418727320670015053907394961958787493552729971857587458816656378489791795705300499189694379757697759565602873442013560311191069280792264442104621876747471261362551371014409002062978129382921393014217714795320955465499792965247132721659388488063018192348531359282456821200270440132552672293616364114208912447495500937530200201196362423488143157201328588706480781949737952138104531093151293160507772332026049447047517548280473913831951140708168474867390688854438184225134834201199662973867484111583183485633340440637012391913559042812885292246181529355068676948917228934661873202860829439665838101333659376926185689700041273298129992853644773969683910388986775463530214862749523513952528024121544572619723152593051301602470870423628416382861197049376636920326303995185948248265301879547055855808183627628063755620068348514354315366667717765677644344389832154277398780355503651600672768595470311029232897934838156425525490369807788027898068449024859882629327880742333435896854172221491814785155870001759938433748265097802917064134975910066854414925677304147984242163797877020324469099749946554451151071260604762307011605188373191066165151074474538058166505465833873884534961167452944470443623028010107754937441319639013725622266089553063812240794816824954500661942641593073862361146200780334039840420479765005034171691846045654193145538489918228792904509760731983933395547231099741334843781204610388129019662628339411585334599328082572479748962113467544184281289077066857539794016105354552846257100617374904198920502615920141719413937123194236084634659516788473782969064869826004879695965153565652122965136089735662764469538375082690782776437401460540806753410603953683193690766546417743655019470728769656568395459290712693576759233207555115350223940091677510328608400008580860484829290991395388607401475968009803744254225806667316534489923448193030007990385606236333556669849080214901871437595295467119348977038780271560393115067437735810696116336180367275084290793724628873222795416854671324291763123206547254350536802907380815048720543988087351475469629226956839865253564962815168622331888315739672667258494905145000821197936457096045429039311334210628840402037753871159655392348912627388169606733225650398424251240316317474551565621957062725655744752196230327060844505090657430543723131693420847830706198118150562607095023898624016174926052599474614513932044491102867560273481008054540431336194875038003 626717137160815929163642697209708139224900988516907096875421437955866029076605117830990190776121181480246233915941913841483186998962514914495833607965516103677521037751940023419760937185338892759710031694364506142754347661332872007838638619489624019872454479460585439149952138130796721923672164472145497735949321859867729613648264275726645112088151524316617070011340605908326515011442455613841670028381047867246630785436162611910466117914062097025452901619328771441732962876639386656722636094821605918730061212491768653169192188523666837838229078240828459134657655622979567447763760799594429130310397049814008873732144564990176254650379080630984954767057521489785981099549869887917451625786090392570409810295164133031055679558533996206790952736294349023338077075994841920805971813024148208819466996152224928241015598490879786570794080129459260507189138360722477431855976121970029386303281408525607798446244926211266042719333853621552564103486811517350336230593869349495162080373455593689725351291198411243159320291353715681167161625508926046121621155887120097717237970504099155260111672190785775029033826920123467703303662067662012039378245602100512705444319788592868923857391604162402234442774028311859848571041098472091240974519477511841139049983768982138568595149976154235767728319759680416420800633863999842882815613156356016236781414009509689904210506376402126605711046593656076877578981752372901312535164655620970757271462230835545011960688650741153025643596870490978924559744770879949417877504917813348015500969977985895578640548525928151840086591400360486080148579743060931445597909061154098718273656342636236138989132941648061030252955533536891391245164660945583530612045036205496759466142796296131168768931488971241242960677479559117107232881006624654654929791671848548041979706148970487157518778841261504759877017305194277017876848511822584453956147292751622334119921899553996057887885061943453470224386840322125857429706472298499816098328805655176549563267363771540406874105618037788751461949051736836531443815887422055670277297281898139352204167194387628866964867161802073446614168331195997783214355443613845150492178453891341157290543795966820761982607524774795286010400935214055916317019887224452182521261949576297420716770084931315311642187224471819823129533569103943287655351131263675007954184132080259826846290198807640202049987038999199597950451156458547914006080136351368442195223443704698212938981538391968784253008704875593615201907453794016434468057228436515055886305019138880070068762501327949607796416139086992221579183589933702245320579293472450871120736753546614840307638321251668805695127935187631593162517066229361371789442730354124652535122979913559361315384594557455361748746697201551629311297015012241692529989829661587127129556145308460341870032353771030269571531291120488023170960672885497499135813315850404157468322671677592788526486583777032752297310870646206995907825000905517271963799755199409145179609957686276647723561850849029082118985126832419416370851158988207219880215036872416742860534184144605531700967811762500508040389137921569058694574216701403374281093114786333554769395291737770612712474687807497759704659553615669311906780683658902826827814227216944745826009050538080600294135498258941511911084678150267930431931167875236473194831070465313759535163003811153073566608421423273132883065239641161724806076721694684555507113175393525977824819798505748822429654811242514692042406467624160889969966120332555164459546818260798194641124498889485598949022084331064670921355300351451291916617099270870089528047955468088989843398180427337994840245371981622080868037441015322961876941393112265240858492686775463284237644982194361231066297323955507368043119022531200707826851724925244708371816273682944050637451277500523366843620200252157707686204931841494549100148507957293665415497171134298131865784445204521679322821275294827084361517794101276004 1014049629258229947636997585863875894555409381434450990012408024896623723402272817932895625415070086516341189846874481956222023196059833832763773427454543240796945992944479165827972218302477680644425938731019964233124013897760951669621617826848383469187050998488709383373653894439503578058268580300864630366268957674680826178392927869331744066114055365512928537213143653006603502353206979078857470594018861825668502270329330964457416679426150019175748037358238178641918277602759498259307444238572812956753451751589974162981642603121210851769498272443318757477178968053289462671901078911451323616451278104379342627109923123361170057609254740518141462002938116688198620074389368059800187375777320687958453971617421235886050159277074319185117872095594359784205426125026714040498373044512507875410341505065292987249049748291470825938787091743926609786792920011666209943140690920522233933166442703972856173116285959378384140670824798423773196698653989401130971652953570297640072464387446135746771083785710192200330846317682846638458737222668301381104385320965224163115000960020362129005878324044483880746173525040443375594214235627231495707627908069409807961022112457638884869587862755956533474334705621232830682698401157475134602090257590247116518804713699947400945847291457127274856174090789163539627798213314704553935424874824696920255187614799887145028687388871441460389325738704686322556547134357229706310820471804498617396807138298885841807187385659960071013441737052123642269814390501298676738547519971720742977459757471538625550498135984744808218576383196065786579338274122818629205163511934596112278584847411917028403431237563524808501514318084907905800247227639074966452005059253920292080421608296089096415901653148359729305978869828090476389689702206895094787482463965464912156188618596465988095048979042457867183365160462395605606583329293772322406094251823844773627280429671886022107334932579491733944138218791462834025904573862987354254282553940489377749226241231255651990057591251378229388474340965295879344329108133603585025345974230815368286866040397248458306630705263135732823540354020896039056512485436467489924461862364280327932754074010829570285496560052798916830583020658366648967618622358094875810937644810773346797353690411235310497590435489773699370185389377287570915719106751332023522308499498747977592523934543197472356327385819354703249551123925054018225035313034286206598620748934074506000966879606840993644135638032756335948637804307966237926282842384306516815824738767403977872985826636303859674650831064764296369563425753731579265645048393222397425571887824807219602614649926440041996761293086262106131220683571695195245673977691521577597005566602941569469070322035877094375474368963291104693123537809829066647030651772303180200991917291509240675909872774250795274605702982966533677364106211375415727928717825611136141401718218908692529861330364981643140426330533274546407493159600233599844443548717312876689363891246763343505263355866954383634965242227449794320569771661604127361599628973995610978945168843661394005483936876632326512920085103075134710817539352791139037045562653161416245552171729139231153519228098411451442898350320162087055561800154387672483396209686507657439402768283745635715644359438350619022239693078158848790916760458866631861802232546433323563279417229617820390101098344871466162891055625247398058362746570774899457378550770688993097173796837286020382822769878680250502738522803804528165054256914057184037682342235115469518932887622096032853299558887238445485970075844339538643392086728497826929393301520430904158465730068743077667507503866886767081689235377472419007305980704446475869698894724529334443893037331106988619235904057181157766467370262847518182378417346882307434027561025879174377698295782591180797387343331945578555516911129959645111707243531855917681590423223733772746379716489695624546883094756302881624792853988976314007 1640766766419045876800640283073584033780310369951358086887829462852489752478877935763885816191191267996587423762816395797705210195022348747259607035420059344474467030696419189247733155487816573404135970425384470375878361559093823677460256446338007489059505477949294822523606032570300299981940744773010128102218279534548555792041192145058389178202206889829545607224484258914930017364649434692699140622399909692915133055765493576367882797340212116201200938977566950083651240479398884916030080333394418875483512964081742816150834791644877689607727350684147216611836623676269030119664839711045752746761675154193351500842067688351346312259633821149126416769995638177984601173939237947717639001563411080528863781912585368917105838835608315391908824831888708807543503201021555961304344857536656084229808501217517915490065346782350612509581171873385870293982058372388687374996667042492263319469724112498463971562530885589650183390158652045325760802140800918481307883547439647135234544760901729436496435076908603443490166609036562319625898848177227427226006476852344260832238930524461284265989996235269655775207351960566843297517897694893507747006153671510320666466432246231753793445254360118935708777479649544690531269442255947225843064777067758957657854697468929539514442441433281510623902410548843956048598847178704396818240487981052936491969028809396834932897895247843586995036785298342399434126116109602607623355636460119588154078600529721386819148074310701224039085333922614621194374135272178626156425024889534090992960727449524521129138684510672960058662974596426272659486853865879560650761420995750210996858503754553264542420370505172869531767273618444797191492392300020549982617104290125788839887751092385227584670584637330970548939547307649593496922583213519749442412255637313460198168324745436475252567757883719371943242177767589882624460177805594906860050399116596395961400351571440018165222817641435187414362605631784959883334280335285854070380882746144554298789508595027192396931696869416018139936290017032715875772924021025640695623271512713507639070207591636087173595572424937806270154522352092036839726840880081335074954040818171669090044617806796391047479167577573712116593421593580704883935642245319327993458906760349644218070460496166625809232622714245519193314922946391514203374457882595698530262683630828237419370224742005112558377372858353902847501575081512566139041393170637575040815972377779204213905861145232962428388646737631929563839711761760254360750899612743031871711043786542857943054589137631809282447247203851288591142609343665281510965627686694848296692624578353834442922288247691710802456421021449737724383200637924556617463420421875702249540689582855128830385706630434549737223115660492656322434834824841308339560641601964767328121473436817701017779905128021825544177234274087021700535066884260913227064531141461540298870040890586285318387816948758675892723641403920753403400984601139117116407348472512285834543501204449620152986917717803412717084227354282213736940622820592334581479844010868027721805703027805999537184904688394827020960474240996703769512113569492542411326655767947749800321567020877001766231702786218949202603009873777756367468580838046575310224023913724602185228777334283716315938494936609560534150777756309116721348691626741868334997063616898637322814580233428973463667706766294739295774120864888559783168823292469584012885663946082519074998616635791769205252424689922765194780929271428689055024223034389739202141889053376267713574012120985518452248580971569510156891431144690989935308703827768697018921349475898993148309128249170415662347749238868389162557272818487741969182922097558741110557387411304797728130682313301349850302201381136665134510489285378718890205269071807552142399377299562118428335747060091704164230963532197736263203116061801139660807392039813211347005920394868070878245500934900146226205916031597708709154371783077590011 2654816395677275824437637868937459928335719751385809076900237487749113475881150753696781441606261354512928613609690877753927233391082182580023380462874602585271413023640898355075705373790294254048561909156404434609002375456854775347081874273186390958246556476438004205897259927009803878040209325073874758468487237209229381970434120014390133244316262255342474144437627911921533519717856413771556611216418771518583635326094824540825299476766362135376948976335805128725569518082158383175337524571967231832236964715671716979132477394766088541377225623127465974089015591729558492791565918622497076363212953258572694127951990811712516369868888561667267878772933754866183221248328606007517826377340731768487317753530006604803155998112682634577026696927483068591748929326048270001802717902049163959640150006282810902739115095073821438448368263617312480080774978384054897318137357963014497252636166816471320144678816844968034324060983450469098957500794790319612279536501009944775307009148347865183267518862618795643821012926719408958084636070845528808330391797817568423947239890544823413271868320279753536521380877001010218891732133322125003454634061740920128627488544703870638663033117116075469183112185270777521213967843413422360445155034658006074176659411168876940460289732890408785480076501338007495676397060493408950753665362805749856747156643609283979961585284119285047384362524003028721990673250466832313934176108264618205550885738828607228626335459970661295052527070974738263464188525773477302894972544861254833970420484921063146679636820495417768277239357792492059238825127988698189855924932930346323275443351166470292945851608068697678033281591703352702991739619939095516434622163544046080920309359388474324000572237785690699854918417135740069886612285420414844229894719602778372354356943341902463347616736926177239126607338229985488231043507099367229266144650940441169588680781243326040272557750220926921358500824423247793909238854198273208324663436686633932048015749826282844386989288120794247528410630982328595220102032154629225720969245743528875925936247988884545480226277688073539093694876372988075896239326316548824999415903182451997022798691817625961332975727630372628947176442251947353851554264603414203804396551571122991015424150907401936306823058204019218563500312323679085119093564633927722052571183129576215011894159285202584914704758677708606097052699006566584364076706204923781639436721311853710214872740752073956072524284770388265512477516069726492287033741997049548687535782553946835816040415773935668957098078268615584960706035097396860776610676079917245722264512403161054045536938174131752799217714107711843855603884209619751863137398113397279846546256185796698299456028666311644112697484623783761015558372634670374986591293374267947529113390728326941693689777902272620818782937257053555377899173095636328954993248967072676440271759109494977848249147313740319033149971937195299810894144201372716960850897189825162523907392451212963658250273584757796352049469581732008057510394482196461943079472984863638700750871871467393542668841565027153533880559344071838480329652922283681448372218421109166045873738750016232919750930884630400645501360193939843423030380992434247793620233600232259624631545618029352031582854374960179556390470834467965512265452085608500196799296163331960886093997463046793853768805111166205458665176490135957841531569863244483470264214716771512172172413473077789588075194568603015697519452075233217220078479948446923239824231288491737232506899743081551305548139858807955642861506989030528578700790556266523948314650996329897306774858317913493329855253105755156244246508195960160976488902802005216980256282135834132172023719644408338469538105438317822900977859548226237072583686418689859576426938325441292806034042842682884961618306864143314818720027191760784772514635571669129028596343618601843624625217424595770773089010787900590333947225772053904018 4295583162096321701238278152011043962116030121337167163788066950601603228360028689460667257797452622509516037372507273551632443586104531327282987498294661929745880054337317544323438529278110827452697879581788904984880737015948599024542130719524398447306061954387299028420865959580104178022150069846884886570705516743777937762475312159448522422518469145172019751662112170836463537082505848464255751838818681211498768381860318117193182274106574251578149915313372078809220758561557268091367604905361650707720477679753459795283312186410966230984952973811613190700852215405827522911230758333542829109974628412766045628794058500063862682128522382816394295542929393044167822422267843955235465378904142849016181535442591973720261836948290949968935521759371777399292432527069825963107062759585820043869958507500328818229180441856172050957949435490698350374757036756443584693134025005506760572105890928969784116241347730557684507451142102514424718302935591238093587420048449591910541553909249594619763953939527399087311179535755971277710534919022756235556398274669912684779478821069284697537858316515023192296588228961577062189250031017018511201640215412430449293954976950102392456478371476194404891889664920322211745237285669369586288219811725765031834514108637806479974732174323690296103978911886851451724995907672113347571905850786802793239125672418680814894483179367128634379399309301371121424799366576434921557531744724737793704964339358328615445483534281362519091612404897352884658562661045655929051397569750788924963381212370587667808775505006090728335902332388918331898311981854577750506686353926096534272301854921023557488271978573870547565048865321797500183232012239116066417239267834171869760197110480859551585242822423021670403857964443389663383534868633934593672306975240091832552525268087338938600184494809896611069849515997575370855503684904962136126195050057037565550081132814766058437780567862362108772863430055032753792573134533559062395044319432778486346805258421310036783920984990210265668346920999361311095874956175654866416592517256242383565006455580520632653821850113011345363849398725080112735966167196630160074369944000623666112843309624422352380454895207946341063769863845528058735489906848733531797855458331472635233494611403568562116055680918264737756815235270070599322468022516523420582833866760404452431264384027207697473082131536062508944554274088079150503118099375561356680252693689632914428778601897306918500912931508020195076317227831486746647784641609792580559246826340489693759095004911567478239545325472466873551848644441062142287576303766612094018957136981514888488459226421823463601674135129161581579987084847544308480600818535272982096086945768651827129841735296746193849920600284276417337993207459511683326151934976232714857234864165144642711469683030294446362960171531140577078434239979897242182057780108534216739141800000081263166636964262498994925873613341116053214295128802511834077258245662337448358450893655662583811237191302561209069133696936014221794451017302788796524559316995731666422556574899273393079853746253421980554841033585068542249841766491776223859698874189056915846195305770893234685982633670849349848104370067717599790498961830480823103844257513956861809860322952313068347521349311569740090541248590777082233614143712350368531796359780230598208908577696475767317436511877460944754439297355024517624700393155714067483149878662854031247171030108869558793327619258525780892300381346661906275102702982836662441966120341868004946080911864067069757796720830377465799752938133721518514009494384035220967236000472228890455083986567083908992203002344623545406803781014447902945671824899563958090813669547138929900154401957709688319840306819454488035488348833604955962788955490497411718826315625003411234369789902774589125849270396341051081923143253561924433322027611482340375602264013469914502870718359495916999294926819498299043101597555131494029 6950399557773597525675916020948503890451749872722976240688304438350716704241179443157448699403713977022444650982198151305559676977186713907306367961169264515017293077978215899399143903068405081501259788738193339593883112472803374371624004992710789405552618430825303234318125886589908056062359394920759645039192753953007319732909432173838655666834731400514493896099740082757997056800362262235812363055237452730082403707955142658018481750872936386955098891649177207534790276643715651266705129477328882539957442395425176774415789581177054772362178596939079164789867807135386015702796676956039905473187581671338739756746049311776379051997410944483662174315863147910351043670596449962753291756244874617503499288972598578523417835060973584545962218686854845991041361853118095964909780661634984003510108513783139720968295536929993489406317699108010830455532015140498482011271382968521257824742057745441104260920164575525718831512125552983523675803730381557705866956549459536685848563057597459803031472802146194731132192462475380235795170989868285043886790072487481108726718711614108110809726636794776728817969105962587281080982164339143514656274277153350577921443521653973031119511488592269874075001850191099732959205129082791946733374846383771106011173519806683420435021907214099081584055413224858947401392968165522298325571213592552649986282316027964794856068463486413681763761833304399843415472617043267235491707852989355999255850078186935844071818994252023814144139475872091148122751186819133231946370114612043758933801697291650814488412325501508496613141690181410391137137109843275940362611286856442857547745206087493850434123586642568225598330457025150203174971632178211582851861431378217950680506469869333875585815060208712370258776381579129733270147154054349437902201694842870204906882211429241401947801231736073850196456854227560859086547192004329365392339700997478735138761914058092098710338318083289030131364254478280547701811988731832270719707756119412418394821008247592881170910273111004513196757551981689906315976988330284092137561762999771259490942703569405178134048127801084884457544275098068188632205493513178985073785847183075663135642001442048313713430622838318970010946306097475412587044171452147735602252009902595626248918762310970498422878739122283956320315547593749684441561587150451142635405049889980667443158543312410282387786890213771115041606973094645734867194805580485138319689415001486624643651342649380874573437216278408460588794743901213238934818383606842129246782608894436529575135420685503147196643403741082458512554679538459003064186979846529339741221649384675942533996164595955216400891849236873425435590969057164060343738216648670261942633201954448525429297763963057837962618084908060178353551580094182058312743228350500662386348254893471584405159460932567067181743108788194132456333413075533571137051029075606893179413559109576241014886111576239313959023585278311353025189273003884551038109142852162610882358286106875547469487464887319005421183166517746229851961411784985258467638789980595305123307446770740786622522587818449134088721592929140380730171419414059905308071092610166081892069044520909467605733564555479750493605730261657443213529342822915070897464491114189121434491868570342420379104203686529919646931719425245047745879595797958868728595655943562559095002575159522561171205316988627150213104473845160475466231963018958550953414093379625543419343443581947348381402813827128796589819833421895123495181182931283585681790351630359742178587811607148621063344860689185421442614445122752047092710284940301744915550651468558787761858844884997402322058255450378701651050289210408063922160727701569175071069951682973062072178121602118026789378412257772310936466208381831193035372641909187271295253253950444704040403832745457474087467577260484365900643170445322709205836663183151469404198607632071758127495935784091687772383937607398889377048823327185398047 11245982719869919226914194172959547852567779994060143404476371388952319932601208132618115957201166599531960688354705424857192120563291245234589355459463926444763173132315533443722582432346515908953957668319982244578763849488751973396166135712235187852858680385212602262738991846170012234084509464767644531609898270696785257495384744333287178089353200545686513647761852253594460593882868110700068114894056133941581172089815460775211664024979510638533248806962549286344011035205272919358072734382690533247677920075178636569699101767588021003347131570750692355490720022541213538614027435289582734583162210084104785385540107811840241734125933327300056469858792540954518866092864293917988757135149017466519680824415190552243679672009264534514897740446226623390333794380187921928016843421220804047380067021283468539197475978786165540364267134598709180830289051896942066704405407974028018396847948674410888377161512306083403338963267655497948394106665972795799454376597909128596390116966847054422795426741673593818443371998231351513505705908891041279443188347157393793506197532683392808347584953309799921114557334924164343270232195356162025857914492565781027215398498604075423575989860068464278966891515111421944704442414752161533021594658109536137845687628444489900409754081537789377688034325111710399126388875837635645897477064379355443225407988446645609750551642853542316143161142605770964840271983619702157049239597714093792960814417545264459517302528533386333235751880769444032781313847864789160997767684362832683897182909662238482297187830507599224949044022570328723035449091697853690869297640782539391820047061008517407922395565216438773163379322346947703358203644417327649269100699212389820440703580350193427171057882631734040662634346022519396653682022688284031574508670082962037459407479516580340547985726545970461266306370225136229942050876909291501518534751054516300688843046872858157148118885945651138904227684533313301494385123265391333114752075552190904741626266668902917954831258101214778865104472981051217411851944505938958554154280256013643055949159149925810787869977914096229821393673823148301368171660709809145148155791183699329248485311066470666093885518046265311074716169943003471322534078300881267400107468234068261482413373714539060538934420040548694077130782863820283764029609666974563218238916650385119874422927339617979860869021749833623986161247182724885370312904956046494999942108691119539072429944546687793074350147786428655665111971732699985582603025216634709806029435234926223334230425597070625436188729213549332064403323979521145351763283613141433760178786366190831022455391017778680002565984366035007015578053904708368824339035183943244038720147723100352559139499259804031812538685192336595691544787553693741638895163326733377243583119058616227116629143962861513544703280319334709534767653055430813319108809184141109918555359109657504181523075838738308884897198619427406239484401806396385115367388514500059240809179762538131280724656189880214490316863453760451646412429087774054992198106976326971545864021670014179702376334071871114643562626514208922980013185905836129167769966799222997738264350291802702291716198226329100341710100329375043004028304653395894001308748628145983244352191522655488726625552998099659737472968016022129979493739510309237260392015723793157303911152855998328488641828866088094967543771200184993090932356174672618436563972042479574666514473690816907174730433085654577482120214768557029770283885914120248123756471972227747124668723471215690821141581519562887242367383256473565606719779324336965882786651940787678216942831452081311314261257795002247057854070224855966867832552601133133161883621230111991972332523559827715109218719077226798971954557215436148998161597399684683014079569575448115274773622648232063213316847656825416982566313698884633639158690794633809779800871645541672630366654143587604771678864426897188420150420882316892076 18196382277643516752590110193908051743019529866783119645164675827303036636842387575775564656604880576554405339336903576162751797540477959141895723420633190959780466210293749343121726335414920990455217457058175584172646961961555347767790140704945977258411298816037905497057117732759920290146868859688404176649091024649792577228294176507125833756187931946201007543861592336352457650683230372935880477949293586671663575797770603433230145775852447025488347698611726493878801311848988570624777863860019415787635362470603813344114891348765075775709310167689771520280587829676599554316824112245622640056349791755443525142286157123616620786123344271783718644174655688864869909763460743880742048891393892084023180113387789130767097507070238119060859959133081469381375156233306017892926624082855788050890175535066608260165771515716159029770584833706720011285821067037440548715676790942549276221590006419851992638081676881609122170475393208481472069910396354353505321333147368665282238680024444514225826899543819788549575564460706731749300876898759326323329978419644874902232916244297500919157311590104576649932526440886751624351214359695305540514188769719131605136842020258048454695501348660734153041893365302521677663647543834953479754969504493307243856861148251173320844775988751888459272089738336569346527781844003157944223048277971908093211690304474610404606620106339955997906922975910170808255744600662969392540947450703449792216664495732200303589121522785410147379891356641535180904065034683922392944137798974876442830984606953889296785600156009107721562185712751739114172586201541129631231908927638982249367792267096011258356519151859006998761709779372097906533175276595539232120962130590607771121210050219527302756872942840446410921410727601649129923829176742633469476710364925832242366289690945821742495786958282044311462763224452697089028598068913620866910874452051995035827604960930950255858457204028940169035591939011593849196197111997223603834459831671603323136447274916495799125741531212219292061862024962741123727828932836223050691716043255784902546891862719330988921918105715181114278937948921216490000377154222988130221941638366774992384127312508518979807316140884584281085662476040478883909578249753029003002359478136663887731332136025509558961813159162832650397446330457569968205591196817425705853643966540365787317581470652028262248655911963604739027768220277370620237507710536531633319631523692606163716081287196068667647787364064837116253906715633913224517421408823476839052812044129362752909365846282573772632832132954631790576958003517980148415950263459670773501400435750866773556451555613733896403457833602908432451169022961872429168077251832613505981353349677548877988437263222861869775156770100396774045096367647875799951638391677234039629931373952087811521788604895428580726446389107528841991101066130964384456159838259748003097968918219233745196409187414977622843920783897738759264673674810280936153476531366662670123167465869413678750212121077199219911500029971506681498373840872759313459836896956922276669171468440754966324898921890320248732284219443349303710184605319896034475841059409389079630333394812712169897449762781808850835315830591032486217557647476310964898773239742335104678844060092997909105729756684629579384404687441267177725373335308268105988987671667355716398913728015520889659847145854715245180648245045345468557164319193631169389978065422105118085857917272764255556133246912783374071940048190452153265465068845403833805546823602587489303256535078364311884486442208748308684981828379225612699430064264638710798337303409346465978801676337078713636319513245380948708904359435264030789993280302702308232953572913085054044510645161945741898597131334999109908420765597267342033534239308871954309332823525892819315177455393689537300784424917309782883209484144207342844995353977785279183999479277613430757862589927679292544062802034296077797199244209502290123 29442364997513435979504304366867599595587309860843263049641047216255356569443595708393680613806047176086366027691609001019943918103769204376485078880097117404543639342609282786844308767761436899409175125378157828751410811450307321163956276417181165111269979201250507759796109578929932524231378324456048708258989295346577834723678920840413011845541132491887521191623444589946918244566098483635948592843349720613244747887586064208441809800831957664021596505574275780222812347054261489982850598242709949035313282545782449913813993116353096779056441738440463875771307852217813092930851547535205374639512001839548310527826264935456862520249277599083775114033448229819388775856325037798730806026542909550542860937802979683010777179079502653575757699579308092771708950613493939820943467504076592098270242556350076799363247494502324570134851968305429192116110118934382615420082198916577294618437955094262881015243189187692525509438660863979420464017062327149304775709745277793878628796991291568648622326285493382368018936458938083262806582807650367602773166766802268695739113776980893727504896543414376571047083775810915967621446555051467566372103262284912632352240518862123878271491208729198432008784880413943622368089958587115012776564162602843381702548776695663221254530070289677836960124063448279745654170719840793590120525342351263536437098292921256014357171749193498314050084118515941773096016584282671549590187048417543585177478913277464763106424051318796480615643237410979213685378882548711553941905483337709126728167516616127779082787986516706946511229735322067837208035293238983322101206568421521641187839328104528666278914717075445771925089101719045609891378921012866881390062829802997591561913630569720729927930825472180451584045073624168526577511199430917501051219035008794279825697170462402083043772684828014772729069594677833318970648945822912368429409203106511336516448007803808413006576089974591307939819623544907150690582235262614936949211907223794227878073541585398717080572789313434070926966497943792341139680877342162009245870323511798545602841021869256799709788083629277344100331622744364791368548814932797275370097429550474321632612623574989645901201658930849592160378645983482355232112328053910270402466946370732149213745509740048619500747579203381344474577113321390251969620806484400269071882883190750907192004397991646242109524933713438363013929467460095505607820615492578128319573632383725702788511231742756460722137511851265771919018687366613210100024434040111548858841479364288976243596271879644398069020862168181122641361327497501293767713547072812207261579222117057604578906946631512576406023817968943439466747076866580797992416287016556750020073497400649230547576762482665901587695455292733369736641155201569541590533555003967416873514493010704038638417748858290094271149669426863551525868719186395197775268647443889113016524277328891249377932263253715931728817982517166165504158076616677321268843919881162729363976645631951810030936777267079434401816893425267133144786269960533368452035003933249248215035490110769146027275255962191363375846845957558226690197791225732163643611026208612077368597745104514872189165961008137951177025930920407529221585952129706858900081988370481087923196251615653397832355309682729239121877655457289307704867074818577343249379687391148873702824880871519218148488974720803340148192016245530461648096675368303787826542037464584692752372390963581162730863679998437951554060262959009183035748954759524081929303295574815236427925258549580002705628023728311195927349211635699178306149843588975676681123955350134144195744507789160024950580771040383195766758429660119997657825832903835441394837194143197046016843168721773457007815850412225908880375322812703491031695836708556637323412393101340934589951078041921600514101272574135199865775797843091976484154044772419088963800350923155103388229244071266897315741666461193266217349665091819182199 47638747275156952732094414560775651338606839727626382694805723043558393206285983284169245270410927752640771367028512577182695715644247163518380802300730308364324105552903032129966035103176357889864392582436333412924057773411862668931746417122127142369681278017288413256853227311689852814378247184144452884908080319996370411951973097347538845601729064438088528735485036926299375895249328856571829070792643307284908323685356667641671955576684404689509944204186002274101613658903250060607628462102729364822948645016386263257928884465118172554765751906130235396051895681894412647247675659780828014695861793594991835670112422059073483306372621870867493758208103918684258685619785781679472854917936801634566041051190768813777874686149740772636617658712389562153084106846799957713870091586932380149160418091416685059529019010218483599905436802012149203401931185971823164135758989859126570840027961514114873653324866069301647679914054072460892533927458681502810097042892646459160867477015736082874449225829313170917594500919644815012107459706409693926103145186447143597972030021278394646662208133518953220979610216697667591972660914746773106886292032004044237489082539120172332966992557389932585050678245716465300031737502422068492531533667096150625559409924946836542099306059041566296232213801784849092181952563843951534343573620323171629648788597395866418963791855533454311957007094426112581351761184945640942131134499120993377394143409009665066695545574104206627995534594052514394589443917232633946886043282312585569559152123570017075868388142525814668073415448073806951380621494780112953333115496060503890555631595200539924635433868934452770686798881091143516424554197608406113511024960393605362683123680789248032684803768312626862505455801225817656501340376173550970527929399934626522191986861408223825539559643110059084191832819130530407999247014736533235340283655158506372344052968734758668865033294003531476975411562556500999886779347259838540783671738895397551014520816501894516206314320525653362988828522906533464867509810178385059937586366767583448149732884588587788631706189344458458379269571665581281368925969155785405592039067917249314016739936083508625708517799815433873246041122023961239141690577806939273404826424507396036945077645765558178462560738366213994872023443778960220175212003301825974925526849731116694509585868643674504358180845677043102041697687737466125845328326029109761639205156076331866504592518938825128369924875916102888172925403000526434617445842863588387911653523493651729152962118162218170701852995122812913218319331015481442183663810532482980762979657867924378135358502245246472809481651571851871917916099828453227160493538849170256001426847078198108536014025705527771362852225393130143781737522849445341542171946681201456503445866962791850160206353753718674997596058534392393516969785317359582231428485703637116114493195548124994574341450668693554572738766414904924768831751426958257422320451247825399487144111501365488781148898344278654313316923396773814643160110833292681911871900890171524884206958551524112352174177852511612108131065400907530400382396545628198119452085618001156998931139917227042086615723789946802012341761511440015439143599606017823798855228112816192602040311708651306938085066367358818506282342898556485430240410126845449238367359058504590101738608887040107808336120575518585328840261290875930205260994561934957216520102886689810838230308236345418286996926911221325626000311149461336301214023604927915734850119177402725731181793627944314590114465937059504612331040014924791005579907853614387479461258759480610174546184126238738586900284285764144475662789095384028447819113206537749627790767056282100061353813883719198906412981747225018788796088409970833065230076017428591632745216627233753905128533435611137814885697491444982748985281987299319329149398750204368147799830200768534146091833998946189859804468495489344014548909301321472322 77081112272670388711598718927643250934194149588469645744446770259813749775729578992562925884216974928727137394720121578202639633748016367894865881180827425768867744895512314916810343870937794789273567707814491241675468584862169990095702693539308307480951257218538921016649336890619785338609625508600501593167069615342948246675652018187951857447270196929976049927108481516246294139815427340207777663635993027898153071572942731850113765377516362353531540709760278054324426005957511550590479060345439313858261927562168713171742877581471269333822193644570699271823203534112225740178527207316033389335373795434540146197938686994530345826621899469951268872241552148503647461476110819478203660944479711185108901988993748496788651865229243426212375358291697654924793057460293897534813559091008972247430660647766761858892266504720808170040288770317578395518041304906205779555841188775703865458465916608377754668568055256994173189352714936440312997944521008652114872752637924253039496274007027651523071552114806553285613437378582898274914042514060061528876311953249412293711143798259288374167104676933329792026693992508583559594107469798240673258395294288956869841323057982296211238483766119131017059463126130408922399827461009183505308097829698994007261958701642499763353836129331244133192337865233128837836123283684745124464098962674435166085886890317122433320963604726952626007091212942054354447777769228312491721321547538536962571622322287129829801969625423003108611177831463493608274822799781345500827948765650294696287319640186144854951176129042521614584645183395874788588656788019096275434322064482025531743470923305068590914348586009898542611887982810189126315933118621272994901087790196602954245037311358968762612734593784807314089500874849986183078851575604468471579148434943420802017684031870625908583332327938073856920902413808363726969895960559445603769692858265017708860500976538567081871609383978122784915231186101408150577361582522453477732883646119191778892594358087293233286887109839087433915795020850325806007190687520547069183456690279381993752573906457844588341494272973735802479601194409946072737474784088582680962136497467723635649352559658498271609719458746283465406419768007443594373802905860849543807293370878128186158823155505606797963308317569595339346600557100350472144832809786226243997409732921867601701590266635320746467705779390481465055627155197561631453148941521687889958778788460057569293103750681581589092062387767368660091944090367139644717470276903699936770495002857940705396558390041862568770873857290994035859680658512982735951377357605295188024558879984981982714265448876759049215505469540795311384663176695034025152909825865727006021500344478847339083590788188193672950547680685863513518378678051014883132705501685168873376960359973495888798624102612008769268745727961255945042838504503754780006697133147526229131017472877016243952273713922409486301556748932071090272989828043635578691164371128988128851120757133317298812085675611358088715133816822040947787946380793826050363906904823420773099242448662293258379449433814702975483977911358465757090580187771360361763063111826613234367528885021741914275781684798084753189367692431847544660729551735724682698937216483297280525236563324304704770440376050088057628159998355845793135107484945422792487747046449653463804563489758559325956825095296321925477032277536406391853357669930238745043062140351274503590602699199926581017860606909659277180060574108470519336962978364451997664153414752217962159107052177524317295742489665370700539680251650623969311729751442590064160585214109614754370290691915398763537481055326147340242421218755504026105644946110373191022627961199479146078196982605492655914228832159450927669171411222674324096925912725985228956157609728574688495079611477532738328986970065580182614761079830391295813303443522623457111600181123923637534321078070213087175546134956682610231898574393140654521 124719859547827341443693133488418902272800989316096028439252493303372142982015562276732171154627902681367908761748634155385335349392263531413246683481557734133191850448415347046776378974114152679137960290250824654599526358274032659027449110661435449850632535235827334273502564202309638152987872692744954478075149935339318658627625115535490703048999261368064578662593518442545670035064756196779606734428636335183061395258299399491785720954200767043041484913946280328426039664860761611198107522448168678681210572578554976429671762046589441888587945550700934667875099216006638387426202867096861404031235589029531981868051109053603829132994521340818762630449656067187906147095896601157676515862416512819674943040184517310566526551378984198848993017004087217077877164307093855248683650677941352396591078739183446918421285514939291769945725572329727598919972490878028943691600178634830436298493878122492628321892921326295820869266769008901205531871979690154924969795530570712200363751022763734397520777944119724203207938298227713287021502220469755454979457139696555891683173819537683020829312810452283013006304209206251151566768384545013780144687326293001107330405597102468544205476323509063602110141371846874222431564963431251997839631496795144632821368626589336305453142188372810429424551667017977930018075847528696658807672582997606795734675487712988852284755460260406937964098307368166935799538954173953433852456046659530339965765731296794896497515199527209736606712425516008002864266717013979447713992047962880265846471763756161930819564271568336282658060631469681739969278282799209228767437560542529422299102518505608515549782454944351313298686863901332642740487316229679108412112750590208316928160992148216795297538362097434176594956676075803839580191951778019442107077834878047324209670893278849734122891971048132941112735232938894134969142975295978839109976513423524081204553945273325750736642677981654261890642748657909150464140929782292018516555385014589329907115174589187749493201430364740796904623543756859270874700497698932129121043057046965441902306791046432376973200462318194260858870766075527354106400753244368086554175565384972949666092495742006897318237258561717338652460890031404833515493483667788817212119795385524223103900801271164976425869055935809334218624000879310692320044813088052218922936582652984296211176135278995250825886625067524567097324842935027757298477267550797651597983944536389435797696269620406717461987263683471548264869493367666079334916119767288324682148526351592434549520508204080739472726852413806949077999989528464178135041168137778168787538537852906360849623951122005522024987121112647183302579276523487252313403364714897262022927191557045447619604813893721444313399906078993657300116200900460224674877448366370329880406226936287738958830456365727444266341786495648338559808289821114362238125618851163345245510668425141238526615164591103040874295515346976015041821579470593836113484822376813528338264868634682787593234573955636743028450740218814762431106491627118732275778805713592297983449407213817370731623611667214587592108976759373287490962584316988559882515197444614391366460024938968956362397408588031555201709453943287560099873151341742506497792444596113473127276875032956011708525442417446876134442341254402278565347895072268241726114405508158053906302098645599433765161215871840510805872538827282322058618664492173702259582243237964314428833007436271999304857533820880602806060885257931855638177001969379913399003533929620687890288845805468631885856955602430205152011291665548760317309659296204451640046472869095364544836876041637502124381339611911484718084007850888054553464059316910940650418728255761246139550796489211854820641813906675946457967499632645157162155988743413820588902826355808442400208144913143876143872667557025165363746361817690615142452842272827825259400011324692171680412912069159277035350603452171954246447483694462126843 201800971820497730155291852416062153206995138904565674183699263563185892757745141269295097038844877610095046156468755733587974983140279899308112564662385159902059595343927661963586722845051947468411527998065315896274994943136202649123151804200743757331583792454366255290151901092929423491597498201345456071242219550682266905303277133723442560496269458298040628589701999958791964174880183536987384398064629363081214466831242131341899486331717129396573025623706558382750465670818273161788586582793607992539472500140723689601414639628060711222410139195271633939698302750118864127604730074412894793366609384464072128065989796048134174959616420810770031502691208215691553608572007420635880176806896224004783845029178265807355178416608227625061368375295784872002670221767387752783497209768950324644021739386950208777313552019660099939986014342647305994438013795784234723247441367410534301756959794730870382990460976583289994058619483945341518529816500698807039842548168494965239860025029791385920592330058926277488821375676810611561935544734529816983855769092945968185394317617796971394996417487385612805032998201714834711160875854343254453403082620581957977171728655084764755443960089628194619169604497977283144831392424440435503147729326494138640083327328231836068806978317704054562616889532251106767854199131213441783271771545672041961820562378030111285605719064987359563971189520310221290247316723402265925573777594198067302537388053583924726299484824950212845217890256979501611139089516795324948541940813613174962133791403942306785770740400610857897242705814865556528557935070818305504201759625024554954042573441810677106464131040954249855910574846711521769056420434850952103313200540786811271173198303507185557910272955882241490684457550925790022659043527382487913686226269821468126227354925149475642706224298986206798033637646747257861939038935855424442879669371688541790065054921811892832608252061959777046805873934759317301041502512304745496249439031133781108799709532676480982780088540203828230820418564607185076881891185219479198304499747326347435654880697504276965314694735291930063338471960485473426843875537332950767516312062852696585315445055400505168927956717308000804058880658038848427889296389528638361019413166263652409262723956776771774389177373505404673565224557979661164464877622874278462920346315574851897912766401914315997293592404458006032152951998132589388751626209072485541556762732996447005090800020301988306554049651450840208356813583734805724052386396670988261452643529209533139946078898245943308243600709704800984937680648041446914086418525743073356812097417837888343563889399998764571240492590653442494687242453218521277466313190580624268044427536035892786703195602081915117263947586764857170818494878951475107807582950051539203257366586909783627757454558977736213535087514456904283602646794324869142244822751998689574376528141302157482478888878513512527175852264279047105314811407514229414804649193505801657189385625768000086405320249566994831743584557040855710219052872420944782639685710537013071082691855876110629111073045481917563076086888117839044581542772088348921645578309271227625733988909960710870638179093386116308391077146375135104760602703077467189196729661079410753652513438357260716478965818467534933762602339610248071700455380017691034213861451957811517710865588404158759721986311168162436282904816363688713911976334422412447302644383589238818019435706636198580322718140730539879986121459366402374975139980333831911063156948681838650049395897982992949181599445267800905691691543316172729629039410738794515800631686978710118915127567957036265661862394938058824960505226606392080659109005427284131673046689455240392217747779094704510734870646066126874127138910855319481259081901469399049545060436084383130895287756390676614472859637622605347978507441648081910955756285795451282371000192448615809214733990139372364210896738408854564478346058087602781364 326520831368325071598984985904481055479796128220661702622951756866558035739760703546027268193472780291462954918217389888973310332532543430721359248143942894035251445792343009010363101819166100147549488288316140550874521301410235308150600914862179207182216327690193589563654465295239061644585370894090410549317369486021585563930902249258933263545268719666105207252295518401337634209944939733766991132493265698264275862089541530833685207285917896439614510537652838711176505335679034772986694105241776671220683072719278666031086401674650153110998084745972568607573401966125502515030932941509756197397844973493604109934040905101738004092610942151588794133140864282879459755667904021793556692669312736824458788069362783117921704967987211823910361392299872089080547386074481608032180860446891677040612818126133655695734837534599391709931739914977033593357986286662263666939041546045364738055453672853363011312353897909585814927886252954242724061688480388961964812343699065677440223776052555120318113108003046001692029313975038324848957046954999572438835226232642524077077491437334654415825730297837895818039302410921085862727644238888268233547769946874959084502134252187233299649436413137258221279745869824157367262957387871687500987360823289283272904695954821172374260120506076864992041441199269084697872274978742138442079444128669648757555237865743100137890474525247766501935287827678388226046855677576219359426233640857597642503153784880719622797000024477422581824602682495509614003356233809304396255932861576055227980263167698468716590304672179194179900766446335238268527213353617514732969197185567084376341675960316285622013913495898601169209261710612854411796907751080631211725313291377019588101359295655402353207811317979675667279414227001593862239235479160507355793304104699515450437025818428325376829116270034339739146372879686151996908181911151403281989645885112065871269608867085218583344894739941431308696516683417226451505643442087037514765994416148370438706824707265668732273289970568569027725042108364044347756591682918411327425542804373312877557187488550709342287895197610124324197342726561000780950276290577318854070487628237669534981537551142512066246193975869718142711341548070253261404789873196427178231532961649176632366624758047936750815046429441214007783848558858971856784922435962330681843282898227836194123942537193311248119479029525530599250276841067617146050103476623283193154746677532836440888496289922395024016036915134311756621683077102471803387302516438276586134792055561125574495599406450024047716327562118607934015680637569911092221459693880851525599635955690794704413513351120770093265479711766089677989821729742008529779716555295521530067354727592938234322800415975636561577347492843850828118611079851935332482460398417909533137772813846071366716285015343463657801429300952552622162455084145983504482948370849852919622038809727298721005504043104615568050147779626023120356632986984823250918134015882615185527650494402682873998554823522631574772035297259670472650159364048063514915464516250605369066141263089927999842696657149132150668195864877212332072505356405337481528093506715842017100448934899679827000576501974147863592786600318422664860475854419209695694522105675524226779790313390216728187491260884981809897044680864650350265803275089959275939975857465969571617167687049758193487147527040002947088777355190971035970594998914586149562226626827203132448268714072470579627575674551420482792182344624334230613316982303211824462160482611459337939684743788461581067456400870231110843702834981721489946349070034998967440678159847805483459964443998673767786243734549970309678589234457280135212573064744195072323465417711001638357298575583916365555512459972802820585106410487964638421237890212812870133963262440191573295495901303820490616732305179630513342253803465772526098209128068279107630400203773307980895146902208531641246247341861026518724793541782064908207 528321803188822801754276838320543208686791267125227376806651020429743928497505844815322365232317657901558001074686145622561285315672823330029471812806328053937311041136270670973949824664218047615961016286381456447149516244546437957273752719062922964513800120144559844853806366388168485136182869095435866620559589036703852469234179382982375824041538177964145835841997518360129598384825123270754375530557895061345490328920783662175584693617635025836187536161359397093926971006497307934775280688035384663760155572860002355632501041302710864333408223941244202547271704716244366642635663015922650990764454357957676238000030701149872179052227362962358825635832072498571013364239911442429436869476208960829242633098541048925276883384595439448971729767595656961083217607841869360815678070215842001684634557513083864473048389554259491649917754257624339587796000082446498390186482913455899039812413467584233394302814874492875808986505736899584242591504981087769004654891867560642680083801082346506238705438061972279180850689651848936410892591689529389422690995325588492262471809055131625810822147785223508623072300612635920573888520093231522686950852567456917061673862907271998055093396502765452840449350367801440512094349812312123004135090149783421912988023283053008443067098823780919554658330731520191465726474109955580225351215674341690719375800243773211423496193590235126065906477347988609516294172400978485285000011235055664945040541838464644349096484849427635427042492939475011225142445750604629344797873675189230190114054571640775502361045072790052077143472261200794797085148424435820237170956810591639330384249402126962728478044536852851025119836557324376180853328185931583315038513832163830859274557599162587911118084273861917157963871777927383884898279006542995269479530374520983576664380743577801019535340569020546537180010526433409858847220847006827724869315256800607661334663788897111415953146801901208355502390618176543752547145954391783011015433447282151547506534239942149715053378510772397258545460672971229424638482868137890525730042551699660313212068186054986307602589932902054387535814687046474207794151827910269621586799691090366120296982606543017235174150693177718946770222206109101689294086262725065539250946127912829041629348714824708525204223802946618681349073116838633021249800058836609144763629213802688092036708939107627245413071433983536631403228839200206534801729685695768734711509410529283445979296310224383330570086566585151964978496660837277527439688913109264847587435584770658714441678304695967355959928271823408918953361285611358006307878219623924882411733373528683047977402751119534664505972302419532172677064182960529807246029745876145798111782263628831021025996018057551678841295079608707998937105958803410440290043348469448736395139400755854994473739574321199871336516815409456905765101878470852646727771122848542493998566951029456203484392921618128095226000043905070225671444394499052665722783209388416842717036120170682960403875073089626406515619854300526182869212236469008297555150226787618440148833118966038628953769702631049713744282752995051376654048128493686403173671815987069642834437844860390697638755595360264171983863746693557769621078557496676884891251766754934980432303751747477444666457079352516743659647020474898421966258655107650310153837309423781089328033275453916953209133838208165383371682171554659749882571333336998596864871010416441950467704420708669159950293815281960362778303803990736605588456962637043735525317431293297987989080641771454530249055846138032016535394378297894219575388480773793483241309846826515602375092011955710033448106129488029134639094461063672215871682070171479203996512107166242030575046354678620876290383106038929694712245321343284119680319791682211919679023698524574704190783657694497105089591942802235861320761245113854437053965413863730390001400396221923790109880892347904005457144080269881083203139599869667689571 854842634557147873353261824225024264166587395345889079429602777296301964237266548361349633425790438193020955992903535511534595648205366760750831060950270947972562486928613679984312926483384147763510504574697596998024037545956673265424353633925102171696016447834753434417460831683407546780768239989526277169876958522725438033165081632241309087586806897630251043094293036761467232594770063004521366663051160759609766191010325193009269900903552922275802046699012235805103476342176342707761974793277161334980838645579281021663587442977361017444406308687216771154845106682369869157666595957432407188162299331451280347934071606251610183144838305113947619768972936781450473119907815464222993562145521697653701421167903832043198588352582651272882091159895529050163764993916350968847858930662733678725247375639217520168783227088858883359849494172601373181153986369108762057125524459501263777867867140437596405615168772402461623914391989853826966653193461476730969467235566626320120307577134901626556818546065018280872880003626887261259849638644528961861526221558231016339549300492466280226647878083061404441111603023557006436616164332119790920498622514331876146175997159459231354742832915902711061729096237625597879357307200183810505122450973072705185892719237874180817327219329857784546699771930789276163598749088697718667430659803011339476931038109516311561386668115482892567841765175666997742341028078554704644426244875913262587543695623345363971893484873905058008867095621970520839145801984413933741053806536765285418094317739339244218951349744969246257044238707536033065612361778053334970140153996158723706725925362443248350491958032751452194329098267937230592650235937012214526763827123540850447375916894817990264325895591841592825243286004928977747137514485703502625272834479220499027101406562006126396364456839054886276326383406119561855755402758158231006858961141912673532604272655982329999298041541842639664198907301593770204052789396478820525781427863430521986213358947207818447326668481340966286270502781335273772395074551056301853155585356072973190769255674605695649890485130512178711733157413607474988744428118487588475657287319328035655278520157685529301420344669047437089481563754179354950698876135921492717482479089562005673995973472872645276019270232387832689132921675697604878034722494798939826606912112030524286160651476300938493532550463509067230653505680267823680851833162319051927866256088062119886867792600146778354586123481719463721600179737939749330826991429547541433722227640331784288937277711145991403676255833942016852969041923181269098529337913504776408011369329219477752390916102240304757771452014185621850666885912702538337025746301171667328179136991221769255348796434033188240418642572452558827055717038655345772772503746887358269532912214601926361190024589664663529137946116362009527927556962616836151210719493698395413620605760756754924489896964722743663276147823531093346028077381483875916640917225271032028244686614573365834402429896612257981287655151560196655519371600517071812470614743038223809214974382055966628796466359780181864412478617872263708726553484899023884701765322702911659934886779760070524639332097334412035576650347011980434481554411915886580585773872430459207212094065137694172853948340237498553556691701339548772232061930197609586093813166889750660945200962503675146696281365248168330460459526745630785853166332251584746427097637243645082915973134781139739577869489833380845570486148615070836201773944940255559987477913904757325928765385559916111316512247008263127379097213279615709521737550808792450681988006674321085835056455954383801234349864037999444317683695520952351084255134915674276319977524877243668932344930262537241845895566011732515297351731831248758101557681895024789812986960964766277486279558998317595706324247981866374663015048579626963152174541932009497631800599995231771005027794556435646703391422130907601927933141651732597778 1383164437745970675107538662545567472853378662471116456236253797726045892734772393176671998658108096094578957067589681134095880963878190090780302873756599001909873528064884350958262751147602195379471520861079053445173553790503111222698106352988025136209816567979313279271267198071576031916951109084962143790436547559429290502399261015223684911628345075594396878936290555121596830979595186275275742193609055820955256519931108855184854594521187948111989582860371632899030447348673650642537255481312545998740994218439283377296088484280071881777814532628460973702116811398614235800302258973355058178926753689408956585934102307401482362197065668076306445404805009280021486484147726906652430431621730658482944054266444880968475471737178090721853820927491186011246982601758220329663537000878575680409881933152301384641831616643118375009767248430225712768949986451555260447312007372957162817680280608021829799917983646895337432900897726753411209244698442564499974122127434186962800391378217248132795523984126990560053730693278736197670742230334058351284217216883819508602021109547597906037470025868284913064183903636192927010504684425351313607449475081788793207849860066731229409836229418668163902178446605427038391451657012495933509257541122856127098880742520927189260394318153638704101358102662309467629325223198653298892781875477353030196306838353289522984882861705718018633748242523655607258635200479533189929426256110968927532584237461810008320989969723332693435909588561445532064288247735018563085851680211954515608208372310980019721312394817759298334187710968736827862697510202489155207311110806750363037110174764570211078970002569604303219448934825261606773503564122943797841802340955704681306650474493980578175443979865703509983207157782856361632035793492246497894752364853741482603765787305583927415899797408075432813506393932552971714602623605165058731728276398713281193938936444879441415251188343743848019701297919770313956599935350870603536796861310712673533719893187149968162380046992113363544815963454306503197033557419194192378885627907772633503981323860660681957493075063414233099268972100653949196538579946397858097244087010418401775575502764228546536594495362225156036251785960288456639992962398646558256733425217474834715625322187697353801223494035334451370481994792536237899284522553635548971370541325833212378197360415408565738945621897492603862056734519468030215653562848014820662577765498591403332847088910371161685156210048304615686578676398777026858266680342656806281309663225102443003378956015841958759636184105765425771922403208792627104837216133128701290423102702748160800368318853359839422277424316605154023343950095663068144271776047047813126290919254850600276374792452090739919259937652061266825992822997458756213062547095356807005928051615357781355663764163985863400474462931771466433692658841087688797938490616546937907619172711786211127974289886340871758502147867436163571699521775982928582363700434659448870961722734744048794806304969701884387803275005860722838388583836986080110025764969825842249363807501022005257750236062411231578156761370867315085380601613392710287875437138689981302769324624620461222278087692694676207560514093705538204102632969412563465477025639185394187644397816885171617520405419590015297216338721814447194198320585305259896247650476313531750273234237957592099905415203456333713832141698300290535735737665588583343291968647660087033383677555489808899528163305115341208348789952605807441790230907577299295512795345198055313917846027331370641565568093146295143914491591577509929097126031582585933923297853500836688210148467910093834682455993526028578956778156584624566955937205087153480316489632043485699507391284941158118136278672050662210009597053174532877781877473577236709492010659489340981677063216692814700795916190784102235983776293693481400206139955795739887633200996217155561114908686904339652160535502400788685131072741521400287349 2238007072303118548460800486770591737019966057817005535665856575022347856972038941538021632083898534287599913060493216645630476612083556851531133934706869949882436014993498030942575677630986343142982025435776650443197591336459784488122459986913127307905833015814066713688728029754983578697719349074488420960313506082154728535564342647464993999215151973224647922030583591883064063574365249279797108856660216580565022710941434048194124495424740870387791629559383868704133923690849993350299230274589707333721832864018564398959675927257432899222220841315677744856961918080984104957968854930787465367089053020860236933868173913653092545341903973190254065173777946061471959604055542370875423993767252356136645475434348713011674060089760741994735912087386715061410747595674571298511395931541309359135129308791518904810614843731977258369616742602827085950103972820664022504437531832458426595548147748459426205533152419297799056815289716607238175897891904041230943589363000813282920698955352149759352342530192008840926610696905623458930591868978587313145743438442050524941570410040064186264117903951346317505295506659749933447120848757471104527948097596120669354025857226190460764579062334570874963907542843052636270808964212679744014379992095928832284773461758801370077721537483496488648057874593098743792923972287351017560212535280364369673237876462805834546269529821200911201590007699322605000976228558087894573852500986882190120127933085155372292883454597237751444776684183416052903434049719432496826905486748719801026302690050319263940263744562728544591231949676272860928309871980542490177451264802909086743836100127013459429461960602355755413778033093198837366153800059956012368566168079245531754026391388798568439769875457545102808450443787785339379173307977950000520025199332961981630867193867590053812264254247130319089832777338672533570358026363323289738587237540625954726543209100861771414549229885586487683900205221364084160652724747349424062578289174143195519933252134357786609706715473454329831086466235641776969428631970250494232041213263845606694750579535266377607383560193926411811002129514261424185283008064885446572901374329746437430854022921914075838014840031272593125733349714467811590691838534568050974215904307036840389621295660569999077242764267722284059614916468233842777319245048434488797977453437863736664358011891709504232478172361001671092710240199735853896505396010333872590444021586653523219714881510517940039742333530024079408178856136716776189093671772204347715031890865434227292316233726987950163312439939707442624891445131973896203366554046633477698434472031967638552759234955600144180048876330790775874010836008365606481297522348219480454470056246072369531723588886123928159678580224513825653048540036114101985835050842244165275460963829959707716853788753650526929612409048133475961620215803704524949149210110245333321239778472542966052464186851063615421778295690967256917727599157466804499004617659930480899206409349317414629208734866314142369090930157420919493907955437503151922496379712864066058578781883077971886546702422191413442569239988739578794107155098291734172577202461392892962704211404380531746917419790029088243137164440717518638584187381328450046062799511615853394856491882022865790374353759827513850773030423153995966430382515502869482341463643203282411218435200461267246601696568704502044292601225045921321588903997840168089719066284903732116299650690270948639106032794948722053919276101220878277992004852517554855500273259102812639846611412891286752882080340154558271293588804857125638618863582391378384605285860175157774045204923864477635916805857564028023274461852105576918040192340002827756636467156920729368439736215203695359982174238062394725306948785005781635883435155472261499304997620454107259163342775691132296502240438765968610646791342273108363358314497727749385265001596212387332119936481460775298863926924531696287059005883173132885127 3621171510049089223568339149316159209873344720288121991902110372748393749706811334714693630742006630382178870128082897779726357575961746942311436808463468951792309543058382381900838428778588538522453546296855703888371145126962895710820566339901152444115649583793379992959995227826559610614670458159450564750750053641584019037963603662688678910843497048819044800966874147004660894553960435555072851050269272401520279230872542903378979089945928818499781212419755501603164371039523643992836485755902253332462827082457847776255764411537504781000035373944138718559078729479598340758271113904142523546015806710269193519802276221054574907538969641266560510578582955341493446088203269277527854425388983014619589529700793593980149531826938832716589733014877901072657730197432791628174932932419885039545011241943820289452446460375095633379383991033052798719053959272219282951749539205415589413228428356481256005451136066193136489716187443360649385142590346605730917711490435000245721090333569397892147866514318999400980341390184359656601334099312645664429960655325870033543591519587662092301587929819631230569479410295942860457625533182822418135397572677909462561875717292921690174415291753239038866085989448479674662260621225175677523637533218784959383654204279728559338115855637135192749415977255408211422249195486004316452994410757717399869544714816095357531152391526918929835338250222978212259611429037621084503278757097851117652712170546965380613873424320570444880686272744861584967722297454451059912757166960674316634511062361299283661576139380487842925419660645009688791007382183031645384762375609659449780946274891583670508431963171960058633226967918460444139657364182899810210368509034950213060676865882779146615213855323248612791657601570641701011209101470196498414777564186703464234632981173173981228164051655205751903339171271225505284960649968488348470315513939339235920482145545741212829800418229330335703601503141134398117252660098220027599375150484855869053653145321507754772086762465567693375902429689948280166462189389444686610926841171618240198731903395927059564876635257340644910271101614915373381821588011283304670145461340164839206429525686142622374609335393497749161985135674756268230684800933214609230949329524511675105246617848267352878466258303056735430096911260770080676603767602070037769347994763696949042555372307118069971423794258494274954766974719203884112158958858348693253021787085244926552561970420889101724898543578328695094757532535493803047360352114861153996341554090536670295695189742829908922948624045472868396813848340766523308203770179762178988857574734715799353127553808959983602326300647395929897354786104028674625569298395267293580760975500922969808098381338214668078938517876575092479041363033572858198897597937600972281389015445317489072517552917636390330086871979904942395312874644792213747087700726792271228858951184329177180438476737404487180280443558403420489427120933449733081368318094589929770168132084061463424015039836016026756894205163281642332296539274489232032522144682689908307942589384099977144296938484602645020726001359606893879487756711684444460452639600082874265473536029000992969195507482723764450697678534423056842686820350741013511539825150801247582500889698908037407894759179417529147989369144968443160628703100808129378589114119516814161491669438418859346507111772160835758124742923346211857324641663428751433011034932563819149683328245760757538634196100064063262268066053826685719782235760094854151013068604300867953764457440222657394447648433300853415208080396434635567715989613973964318528583713675994462255353391774571470599261851090056602231240008690201484996129545089981236952956788964215067947127500144853478118452910113056935316545838180314513665312629049498208797008279943448240840405992383946997298156629550070846630567635966589763564454453523489272898202592429542893234845168365114951024462426932484972190078624694533172476 5859178582352207772029139636086750946893310778105127527567966947770741606678850276252715262825905164669778783188576114425356834188045303793842570743170338901674745558051880412843414106409574881665435571732632354331568736463422680198943026326814279752021482599607446706648723257581543189312389807233938985711063559723738747573527946310153672910058649022043692722997457738887724958128325684834869959906929488982085301941813976951573103585370669688887572841979139370307298294730373637343135716030491960666184659946476412175215440338794937680222256215259816463416040647560582445716239968834929988913104859731129430453670450134707667452880873614456814575752360901402965405692258811648403278419156235370756235005135142306991823591916699574711325645102264616134068477793107362926686328863961194398680140550735339194263061304107072891749000733635879884669157932092883305456187071037874016008776576104940682210984288485490935546531477159967887561040482250646961861300853435813528641789288921547651500209044511008241906952087089983115531925968291232977575704093767920558485161929627726278565705833770977548074774916955692793904746381940293522663345670274030131915901574519112150938994354087809913829993532291532310933069585437855421538017525314713791668427666038529929415837393120631681397473851848506955215173167773355334013206946038081769542782591278901192077421921348119841036928257922300817260587657595708979077131258084733307772840103632120752906756878917808196325462956928277637871156347173883556739662653709394117660813752411618547601839883943216387516651610321282549719317254163574135562213640412568536524782375018597129937893923774315814047005001011659281505811164242855822578934677114195744814703257271577715054983730780793715600108045358427040390382409448146498934802763519665445865500175040764035040428305902336070993171948609898038855318676331811638208902751479965190647025354646602984244349648114916823387501708362498482277905384845569451661953439658999064573586397455865541381793477939022023206988895925590057135890821359695180842968054435463846893482482931193437172260195451267056721273231129176797567104596076168751243046835669911276637283548608056698212624175424770342287718485389224079821376639467782660205165233831548515494867913508837351955709022570779019489711827729003923453923012650504526567325448201560685706913384198827574203901966619495946047477214918939738008664354868682565843465808671898449772276851931407041764640877108352774502936388672210579236454023887065501711373444955970897588011423469817859086261063985180311021705293472740419511570324226395656687292046766683437905886788764560127782375176978186705771365622112394281106866820743486774035231031746995339339821970224338596238617098101088918132089903069686960184732648779845137556849979275277196789371341671286917259699281028038418356933090448496738696236910837037604550098729656872143232902663588468102602058739249370677407154720090916537580372935754520410669374541433378878053223774702330169125985135320702561826204494711992383955018524395553974366521371267177949030843640906794058463295241348346472673594911809976178633029842061475767228177747433381524716112927272752852693834842975140575481271007732069463557602624662417100977357381580930903198269112939245042998762399568122439127059085616310998860930577762720096572710104638880126593108808340865337802417344148392133178913545661268919522730101217467551265982978936031706177740228895012785316187342155047563997774240612612409006513341863403680593611068853113944147329728773455411686501669201291761206334853196365342703133869573851152236300558315639049106516067708654084625505701860795778403036321885092808993589423945884944436386863715348548838100627148175451660623494623186096149548747784521759708102005900397555500003748768075079293800397068316039457277358978239698126922768951251238658163204188641930225354781649825890249888389351464181259249084507867666057603 9480350092401296995597478785402910156766655498393249519470077320519135356385661610967408893567911795051957653316659012205083191764007050736154007551633807853467055101110262794744252535188163420187889118029488058219939881590385575909763592666715432196137132183400826699608718485408102799927060265393389550461813613365322766611491549972842351820902146070862737523964331885892385852682286120389942810957198761383605581172686519854952082675316598507387354054398894871910462665769897281335972201786394213998647487028934259951471204750332442461222291589203955181975119377040180786474511082739072512459120666441398623973472726355762242360419843255723375086330943856744458851780462080925931132844545218385375824534835935900971973123743638407427915378117142517206726207990540154554861261796381079438225151792679159483715507764482168525128384724668932683388211891365102588407936610243289605422005004461421938216435424551684072036247664603328536946183072597252692779012343870813774362879622490945543648075558830007642887293477274342772133260067603878642005664749093790592028753449215388370867293763590608778644254327251635654362371915123115940798743242951939594477777291812033841113409645841048952696079521740011985595330206663031099061655058533498751052081870318258488753953248757766874146889829103915166637422363259359650466201356795799169412327306094996549608574312875038770872266508145279029520199086633330063580410015182584425425552274179086133520630303238378641206149229673139222838878644628334616652419820670068434295324814772917831263416023323704230442071270966292238510324636346605780946976016022227986305728649910180800446325886946275872680231968930119725645468528425755632789303186149145957875380123154356861670197586104042328391765646929068741401591510918342997349580327706368910100133156213938016268592357557541822896511119881123544140279326300299986679218265419304426567507500192344197074150066344247159091103211503632880395158044943789479261328590143854933627239542777373296153880240404589716582891325615538337302353010749139867453894895607082087092214386327120496737136830708607701631544332744092170948926184087452055913192297010076115843713074294199320587233510818268091449703621063980348052061440400997269436114563356060190600114531357104704834175280873835754919808738989774004130526780252574564336673442965257634749468756505945644175325760877990221002244189638143622120823313727031259096487595757143376324838822352296143489539420686681469597693921207704382283814376001926655707714999046507567883706613212647768009209688030653179418519141813506942819774094406157835676149621501399237259014342573520111384701477625582635668720408216422955732436119138754067615992007247918309147920351562553264317555615977664010611131266103259818383630246717446109838238994720594685861888894588923307589786153007943360752245965093288952443324611563829875778957680841201320413341140325872589782339182807774097896581841024366270661741253849110340439542673517440341477238814538346195882879340483984204158501033986481615987540669078243882674463960651277926175140579391396703484021242707953366553082668521660623093482481661558641493651283462382517685308434755476617144532521509563632323957828082810477069142449813218348559858271279838940606163872118662572146751768713090882287687788717119128239519691882236910734201774077298985939615920113026173560542087071738345036238187324697670955741136150031370415666307181792463716374424995076848578455408208874249717556476372707263157526410467704548547375526293336601541777377206756265101709749597726396774050842810339307021662453287527146698555911707413620577115329559744141227736941869485979888032451430182790230542380734849159504333991215493402316219080058288508595940040461366410663214060413571257916899014180341003740844154760459026291098553697866110303907926614206287890487223404774727931061406781071473118589626818191005200912851778396666231439163132562199230079 15339528674753504767626618421489661103659966276498377047038044268289876963064511887220124156393816959721736436505235126630440025952052354529996578294804146755141800659162143207587666641597738301853324689762120412551508618053808256108706618993529711948158614783008273406257441742989645989239450072627328536172877173089061514185019496282996024730960795092906430246961789624780110810810611805224812770864128250365690883114500496806525186260687268196274926896378034242217760960500270918679107917816886174664832146975410672126686645089127380141444547804463771645391160024600763232190751051574002501372225526172528054427143176490469909813300716870180189662083304758147424257472720892574334411263701453756132059539971078207963796715660337982139241023219407133340794685783647517481547590660342273836905292343414498677978569068589241416877385458304812568057369823457985893864123681281163621430781580566362620427419713037175007582779141763296424507223554847899654640313197306627303004668911412493195148284603341015884794245564364325887665186035895111619581368842861711150513915378843114649432999597361586326719029244207328448267118297063409463462088913225969726393678866331145992052403999928858866526073054031544296528399792100886520599672583848212542720509536356788418169790641878398555544363680952422121852595531032714984479408302833880938955109897373897741685996234223158611909194766067579846780786744229039042657541273267317733198392377811206886427387182156186837531612186601416860710034991802218173392082474379462551956138567184536378865255907266920617958722881287574788229641890510179916509189656434796522830511024928777930384219810720591686727236969941779007151279692668611455368237863263341702690083380425934576725181316884836043991873692287495781791973920366489496284383091226034355965633331254702051309020663459877893889683068491021582995598002632111624888121016899269617214532854838947181318499714459163982478604919866131362673063429789358930923282029802853998200825940233238837535673718343611739789880221541128394438243832108835048296862950042545933985696869258313933909397026159874758352817563873268968516030780163620807156239132679987392480996622902256018799857686243038433737422106453204427873438079868779929641279797187608706094982444865942056789884303444614774409520566718777927584449792903079090903998891166818320456382140704773218379227727497486167049721404557083360129487668595713824939953404429041826097115674283703185254180297795034244100630309879914961520268399888992157419088444002478465471718036682465627095470752015833490440224435286247362331344418632553492363441668268082675164901131338080239167076654603769341440086030328817236839302939882240841651223038994913648487742321786891860556172714078752928743221169172946778568362895497291247395088973995871882651260236260210224849485434035981779109179055541785691139561522400867480329056410498073463646243803914340692384397922057144775303736561115282808242114189603630751108917214950819219530462589240676365008864475804686765984705528698473999942559193473797857040985331918455875205984220298190761947316484056299839226677580331636801726512323723034408721829030895764042401421362028229469838367364484704207805228835814879940626745074475635449537215652860769843804432985057907615145514168281213321414746874333430127100450269644957007306911878716179112532724728453891511362959431220130478215151732985966590478471237367498921681649286117824169894114653890089633894642750363921813715330716985319672164039752331108229140986595146450545689107105980211676788211418799018157980385696006704649724796322861378298934856470023052669683631397268398225853242643730281758291068773315275599224131804680734103940720854930841951154319707206463960256563535084552506812762808198093017625001020080738559240847903528534105584898950766182149761185285592445986017409992356025966589224610969713403343944408468016895450801241129860847490688247640429865287682 24819878767154801763224097206892571260426621774891626566508121588809012319450173498187533049961728754773694089821894138835523217716059405266150585846437954608608855760272406002331919176785901722041213807791608470771448499644193832018470211660245144144295746966409100105866160228397748789166510338020718086634690786454384280796511046255838376551862941163769167770926121510672496663492897925614755581821327011749296464287187016661477268936003866703662280950776929114128223626270168200015080119603280388663479634004344932078157849839459822602666839393667726827366279401640944018665262134313075013831346192613926678400615902846232152173720560125903564748414248614891883109253182973500265544108246672141507884074807014108935769839403976389567156401336549650547520893774187672036408852456723353275130444136093658161694076833071409942005770182973745251445581714823088482272060291524453226852786585027784558643855137588859079619026806366624961453406627445152347419325541177441077367548533903438738796360162171023527681539041638668659798446103498990261587033591955501742542668828058503020300293360952195105363283571458964102629490212186525404260832156177909320871456158143179833165813645769907819222152575771556282123729998763917619661327642381711293772591406675046906923743890636165429691253510056337288490017894292074634945609659629680108367437203468894291294570547098197382781461274212858876300985830862369106237951288449902158623944651990293019948017485394565478737761416274556083548913636430552790044502295049530986251463381957454210128671930590624848400794152253867026739966526856785697456165672457024509136239674838958730830545697666867559407468938871898732796748221094367088157541049412487660565463503580291438395378902988878372383639339216564523193565431284832493633963418932403266065766487468640067577613021017419716786194188372145127135877328932411611567339282318574043782040355031291378392649780803411141569708131369764243068221474733148410184610619946708931828065483010612133689553958748201456372771547156666731740596842857974915750757845649628021077911255585434430646533856868482459984361896617361139464956964251072863069431429690063508324709697196455339387091197061306525187125727517184775925499520269777199077394360543668896695096976223046761624059584318450529329329305708551931714976573155653655240672334132075955205850897210718862554553488375476388051965594195226982250310982322745084036441000186185202421954496635999328743719718481715713698324231087619343804082775890918813126803443048986033355424649895113395104680440046486669858743577099754305151118513038711328039591289769481912423915473911600350551778132229351977108806438545240192571739059020994909267215046242831957635662673349445124873728330056416939354352435276206596951993142214737357233327968716466568513149130849133532439271587043925139861425020635074643582886133964697356108014091339274784059584944240213282166737104864918873200318402139649078903855443452741091548459888468259561007701403779022560891743816288670970143206562684955615930099862552041739715449292569733801381124799689587465431337726764253205779760248853297424819994805384593050215480314358146560086729796783706086982899885994267840129186663897690417695887524288853798097073924140608784410596857176570187292265936994304203702434663050549255339969961527193918041113652793478098472340648566917684923501518291868823251389920310664261434212373517530292097315593299616633610489078885166482473098158572796063432887193358026935321566162798812777688362121439787147230884483186967941889921168396744554754436538817043956746458776148905445633412381730466290260746726828142367080979585599767738179101224745458389454674185415583263445054846146335353470538787264752468852503575545918917475976868611664275541900034261079562981692058288993131875997504464048260065093212206652273907897215760800694520286017750784876462534035286207900651714092908257513722127410772992064517761 40159407441908306530850715628382232364086588051390003613546165857098889282514685385407657206355545714495430526327129265465963243668111759796147164141242101363750656419434549209919585818383640023894538497553728883322957117698002088127176830653774856092454361749417373512123601971387394778405960410648046622807567959543445794981530542538834401282823736256675598017887911135452607474303509730839568352685455262114987347401687513468002455196691134899937207847154963356345984586770439118694188037420166563328311780979755604204844494928587202744111387198131498472757439426241707250856013185887077515203571718786454732827759079336702061987021276996083754410497553373039307366725903866074599955371948125897639943614778092316899566555064314371706397424555956783888315579557835189517956443117065627112035736479508156839672645901660651358883155641278557819502951538281074376136183972805616848283568165594147179071274850626034087201805948129921385960630182293052002059638738484068380372217445315931933944644765512039412475784606002994547463632139394101881168402434817212893056584206901617669733292958313781432082312815666292550896608509249934867722921069403879047265135024474325825218217645698766685748225629803100578652129790864804140261000226229923836493100943031835325093534532514563985235617191008759410342613425324789619425017962463561047322547100842792032980566781321355994690656040280438723081772575091408148895492561717219891822337029801499906375404667550752316269373602875972944258948628232770963436584769428993538207601949141990588993927837857545466359517033541441814969608417366965613965355328891821031966750699767736661214765508387459246134705908813677739948027913762978543525778912675829363255546884006226015120560219873714416375513031504060304985539351651321989918346510158437622031399818723342118886633684477297610675877256863166710131475331564523236455460299217843660996573209870238559711149495262575124048313051235895605741284904522507341107892649749562930028891423243850971225227677091813196162651768697795126178840674966809964047620795692173955063608124843748364555930883028357218337179460490630107980987744414693670225670562370050900805706320098711358186948883304344958924547833970389203798937600138557128718674157731277602790079421088988818413943887763065303738849872427329859299426366058732746144671225298894275662233037915492080933781215872962555101686998752310342379798650918458908976394404615227028519070170919702513997900016276749957798954540967534305324351175779910970545891887051464498827142686577579022200151192062320160298968012386001667482462931671264820403032958037564587588816605249680589718854786833121318548892468874057429411041998903235750918438085237745606123404995136336985429901044135169868097573604449153375520356037712028604628416942712338451164409367109343757288757021079906918970604076176860334722447656365564836437070501837348247705828748154553974551135026922063648504054963254931887145969633056371842657377103419078780538163993019698925900608292093357736127912091383429615872659056025839596756434624488189676587109019987778227378654210820553045006437829184934226546507129107627458937309345253910602488151158811935556821267250478972047934415499712570358322632598764489247634289577001378628215029842234477802437780105275517525117181537383979382440420231172150925348025531509657211005065377020809196286460949511999301466541653296630851912683610885029213778964879417440803504603732775256116367740908936717877148217910343346607485605915129921006829348716586237692919991589167179618678132587195762712734822234823748606471255099010283744568268851753518959944378124096540592934222229330049496470169998060733988678805990096317367385775701077177304624858494471216429109067110630471424288739676809757293166901054341818122222539961817527237460896455230230409826278497799098259925307208116826661109510628720498279806478443754224796102515334038118361212815658413421929805443 64979286209063108294074812835274803624513209826281630180054287445907901601964858883595190256317274469269124616149023404301486461384171165062297749987680055972359512179706955212251504995169541745935752305345337354094405617342195920145647042314020000236750108715826473617989762199785143567572470748668764709442258745997830075778041588794672777834686677420444765788814032646125104137796407656454323934506782273864283811688874530129479724132695001603599488797931892470474208213040607318709268157023446951991791414984100536283002344768047025346778226591799225300123718827882651269521275320200152529034917911400381411228374982182934214160741837121987319158911801987931190475979086839574865499480194798039147827689585106425835336394468290761273553825892506434435836473332022861554365295573788980387166180615601815001366722734732061300888925824252303070948533253104162858408244264330070075136354750621931737715129988214893166820832754496546347414036809738204349478964279661509457739765979219370672741004927683062940157323647641663207262078242893092142755436026772714635599253034960120690033586319265976537445596387125256653526098721436460271983753225581788368136591182617505658384031291468674504970378205574656860775859789628721759922327868611635130265692349706882232017278423150729414926870701065096698832631319616864254370627622093241155689984304311686324275137328419553377472117314493297599382758405953777255133443850167122050446281681791792926323422152945317795007135019150529027807862264663323753481087064478524524459065331099444799122599768448170314760311185795308841709574944223751311421521001348845541102990374606695392045311206054326805542174847685576472744776134857345631683319962088317023821010387586517453515939122862592788759152370720624828179104782936154483552309929090840888097166306191982186464246705494717327462071445235311837267352660496934848022799581536417704778613564901529938103799276065986265618021182605659848809506379255655751292503269696271861856956906254463104914781635840014652535423315854461857919437517824784879798378641341801976141519380429182795202464739896839678321541357107991247445944708665766533295101992060114409130416017295166697574040080365651484111673561487573979724437120408334327796068518274946499485176397312035580038003472081515833068179178135881791014402939214386401385343559430970230868083935126210943488334704248438943153652592947537324630109633241203993012835404801412230941024667555701842741619734758465671497278772055153649128433951670829783672695330100450532182567336472692417304831632108806830157711589485755972633581444709976148442624247807046500012732079161280940270632919062473295657698907419297621982781057924230660185653131480577563759067668485782110303629374191586807451926039725359972472349179926765961861744911428805019677558497958477289728028608123832058832029096811934978305333790330262192545084593176623031765413692394767256717872131786982521704373365394580966049825076509112934205836991887338341545865396798721486792352108382028706271118654068385231802758918577881336471883917057923477968233819677365692809991937584806250786198078038231651366501934492220509152789659612057162574880955595641643804167136473239888063602163610260776018520123053343045731363501141987412625626699411047989730046042269821728819616200434528637780390192699344843389139184303135309477406025587726881209962467803868124717931573607295113346895984402559505876280472717057437115092811660422598840839067509513940581105103701373542807172077928733784517710838026024840150876072354147560568053755592507267489258773640792563217713875159189190201681233483985250205124850924682960015201814929817234649271222806192378133480175511900630830830547223512658095397281735968897961570686176390341764716545421421568708801088602897685204232020106520369336893959694278669891371710005750533833204423877627355629796646471283156269012479040432696754229426946375874934943069186413994323204 105138693650971414824925528463657035988599797877671633793600453303006790884479544269002847462672820183764555142476152669767449705052282924858444914128922157336110168599141504422171090813553181769830290802899066237417362735040198008272823872967794856329204470465243847130113364171172538345978431159316811332249826705541275870759572131333507179117510413677120363806701943781577711612099917387293892287192237535979271159090562043597482179329386136503536696645086855826820192799811046437403456194443613515320103195963856140487846839696634228090889613789930723772881158254124358520377288506087230044238489630186836144056134061519636276147763114118071073569409355360970497842704990705649465454852142923936787771304363198742734902949532605132979951250448463218324152052889858051072321738690854607499201917095109971841039368636392712659772081465530860890451484791385237234544428237135686923419922916216078916786404838840927254022638702626467733374666992031256351538603018145577838111983424535302606685649693195102352633108253644657754725710382287194023923838461589927528655837241861738359766879277579757969527909202791549204422707230686395139706674294985667415401726207091831483602248937167441190718603835377757439427989580493525900183328094841558966758793292738717557110812955665293400162487892073856109175244744941653873795645584556802203012531405154478357255704109740909372162773354773736322464530981045185404028936411884341942268618711593292832698826820496070111276508622026501972066810892896094716917671833907518062666667280241435388116527606305715781119828219336750656679183361590716925386876330240666573069741074374432053260076714441786051676880756499254212692804048620324175209098874764146387076557271592743468636499342736307205134665402224685133164644134587476473470656439249278510128566124915324305350880389972014938137948702098478547398827992061458084478259880754261365775186774771768497814948771328561389666334233841555454550791283778163092400395919445834791885848329498314076140009312931827848698075084552256984098278192791594843845999437033975931205127505272931159758395622925196896658720817598621355426932453080460203520772554430165309936122337393878055760988963669996443036221395457963183523374720546891456514742676006224102275255818401024398451947359844581136807029050563211650313829305273119147530014784729864506530316973041703024422115920121401498255339591699847667009908284159662901989229809416639259460094838475404356739519751035215629296233313022687954452785127450740754218587217151915031009710023050271439504982824171126990456679601871757640116044376381240968845657205844611087601548684410961529989487705895594614206591376293355051393823056827466411104091216718323169882472663622119095733530418326756675549499644174513347992705217638794566490161854141143470841967865067821047016785629203738977802633172988795313027781446695827028982155095013971279471242440549321231269007158709046170208428328649512853195794709565484776863214095306417122084029389818420412692960400475386442399030745451814847675417974603720933228318541546113154555342839665143920188646148405359295792635907223165877913009063599847968090099004865967765063032114407577200625434386952211935998017663322831134341152721817832293365653078143366040840656541645525792167826147545339253936797737818508020220810423871495768737164715812792520482471402608536077496423417315867426184473226903925965259579595287588719655245352134498240619696544435678715208579976446231817729323014044720150292777993058654791347059554612262533070867661521327179246186342788269980224081008464541169688968974169472934769950085237504210149502975021223552949424044259866731119441220866926366812286165608217998216606248300689962720255776207185327070637796806861766053456222231178861875702142944715807426771981924047606797790414924509079717650207804848793758511631994454016739307275191781436075490922794657492856744760984494236147758727599835924128647 170117979860034523119000341298931839613113007703953263973654740748914692486444403152598037718990094653033679758625176074068936166436454089920742664116602213308469680778848459634422595808722723515766043108244403591511768352382393928418470915281814856565954579181070320748103126370957681913550901907985576041692085451539105946537613720128179956952197091097565129595515976427702815749896325043748216221699019809843554970779436573726961903462081138107136185443018748297294401012851653756112724351467060467311894610947956676770849184464681253437667840381729949073004877082007009789898563826287382573273407541587217555284509043702570490308504951240058392728321157348901688318684077545224330954332337721975935598993948305168570239344000895894253505076340969652759988526221880912626687034264643587886368097710711786842406091371124773960661007289783163961400018044489400092952672501465756998556277666838010654501534827055820420843471457123014080788703801769460701017567297807087295851749403754673279426654620878165292790431901286320961987788625180286166679274488362642164255090276821859049800465596845734506973505589916805857948805952122855411690427520567455783538317389709337141986280228636115695688982040952414300203849370122247660105655963453194097024485642445599789128091378816022815089358593138952808007876064558518128166273206650043358702515709466164681530841438160462749634890669267033921847289386998962659162380262051463992714900393385085759022248973441387906283643641177030999874673157559418470398758898386042587125732611340880187239127374753886095880139405132059498388758305814468236808397331589512114172731448981127445305387920496112857219055604184830685437580183477669806892418836852463410897567659179260922152438465598899993893817772945309961343748917523630957022966368340119398225732431107306491815127095466732265600020147333790384666180652558392932501059462290679070553800339673298435918748047394547655284355416447215303360297663033818843692899189142106653742805235752777181054790948771842501233498400406718842017715710616379723644378078375777907346646885702113954960860362822036574980262174706612602872877161746226736815874546490279719066538354689044753335029044035647927147894956945537163247811840955225784310811194281170601760432215713059978489950831926096969875208228699093441328232244487505548915358344160834737398400908167913967910450624369840441408992184647384991640017917400866895002065214218051490401119506031106199481139485793681300793512085077841603581219079121570537891282547252365563192277359522963856809814456279933820614391191357513612749625821091217117288281453651657587614280763572242470260120624958067909864290283712652673376604114751697071289744348198900733641540332107901206037159792518343483001425683899873320465054397565560528351906765569948490519526363026298336744814237327571036634662269800730291333115237026089221527239688190594311236656132944088487986879290496028691912801694044093819245619786074597711069051087193755463629894786617141899485312508857415148670149399520200079478176893181602269700202458604036632523576659342509612998638085990165546578833985261397529279510998092068477242888664478024927637913070003218844429601523425451824061619826933091910359672844871175339097016579285353453466283241056573781897872189815160982756413938253036658001200616570840612126303900115927829959877428196262958706385885119735550902404800511221078606475579690148225531525824851555677734789356096101314049419043955745758310428117746093693099950070987388575864770392638287373221743733875474739814240098380777247713339782105333732906682849328662124971631318721489460354627825945906512964625859189683965768712443673118744945766341120118629047436795524202620815653057943154225032208482983252107818172767652600430584503231547613492631004002030567976134684374618787749609021917810599327591716055872081372369103921663064592344503401835090189610974187930870111082701796786249918451851 275256673511005937943925869762588875601712805581624897767255194051921483370923947421600885181662914836798234901101328743836385871488737014779187578245524370644579849377989964056593686622275905285596333911143469828929131087422591936691294788249609712895159049646314167878216490542130220259529333067302387373941912157080381817297185851461687136069707504774685493402217920209280527361996242431042108508891257345822826129869998617324444082791467274610672882088105604124114593812662700193516180545910673982631997806911812817258696024161315481528557454171660672845886035336131368310275852332374612617511897171774053699340643105222206766456268065358129466297730512709872186161389068250873796409184480645912723370298311503911305142293533501027233456326789432871084140579111738963699008772955498195385570014805821758683445460007517486620433088755314024851851502835874637327497100738601443921976200583054089571287939665896747674866110159749481814163370793800717052556170315952665133963732828289975886112304314073267645423540154930978716713499007467480190603112949952569692910927518683597409567344874425492476501414792708355062371513182809250551397101815553123198940043596801168625588529165803556886407585876330171739631838950615773560288984058294753063783278935184317346238904334481316215251846485212808917183120809500172001961918791206845561715047114620643038786545547901372121797664024040770244311820368044148063191316673935805934983519104978378591721075793937458017560152263203532971941484050455513187316430732293560649792399891582315575355654981059601876999967624468810155067941667405185162195273661830178687242472523355559498565464634937898908895936360684084898130384232097993982101517711616609797974124930772004390788937808335207199028483175169995094508393052111107430493622807589397908354298556022630797166007485438747203737968849432268932065008644619851016979319343044940436328987114445066933733696818723109044950689650288770757911088946811981936093295108587941445628653565251091257194800261703670349931573484958975826115993903407974567490377515409753838551774390975045114719255985747233471638982992305233958299809614826686940336647100920445029002660692082922809096018007705644370184116352403500346771186561502117240825553870287394704035688034114084376941898191770678106682237279262305091642061549760624696445373128890699243928717881209616992332566544491241939664331776347232658649926201560529796991295023634690749861214344506510556220659236828896930089745398100529558034004206572311292109869764404280594201987382573235296314797280451060811071070793229271252865670197472458086133938659496268675215829447983204000249608330853662524070881660006007724770427171579163482393835564917223903524012995730020301770690210845100158550925328074386668457759615204355094842068619711091961361494228094119383761599866531310014437295442789525604360896683721916250509394783204565590707898573493409719255886449205074862121230022693606672441414495640082487932265182500172585713924176435562312178272909332801591069180144972014927153594867785323202928521000150149787078919499007653533187284234395524842371469892484563407192520061691916445332987669343992692700945184410796045055035910377663760059637490255923044700825566689007632462669657428719494306939782702099574065698337360500236693211676071544678222011040442336380863468615928720350442348830804799036202809302435602977086878027415147043866055174977736945186771176986053918354485900531780029257999020401977576039751131790813843392728064046043367211829947250549906292611395396801919060426441169047227937420790569874902595651823498135059741581403958993670504130800967130065914049903449550696888153664540045111758052506728336627264043043824892583535908834150339552102846279790113873871628989883779292460205374492329300057775983954615582932474789543296829326672125615448121350227687866535389108411196854846028419994324629747682467718948915364347230460524386085842580498 445374653371040461062926211061520715214825813285578161740909934800836175857368350574198922900653009489831914659726504817905322037925191104699930242362126583953049530156838423691016282430998628801362377019387873420440899439804985865109765703531424569461113628827384488626319616913087902173080234975287963415633997608619487763834799571589867093021904595872250622997733896636983343111892567474790324730590277155666381100649435191051405986253548412717809067531124352421408994825514353949628904897377734449943892417859769494029545208625996734966225294553390621918890912418138378100174416158661995190785304713361271254625152148924777256764773016598187859026051670058773874480073145796098127363516818367888658969292259809079875381637534396921486961403130402523844129105333619876325695807220141783271938112516533545525851551378642260581094096045097188813251520880364037420449773240067200920532478249892100225789474492952568095709581616872495894952074595570177753573737613759752429815482232044649165538958934951432938213972056217299678701287632647766357282387438315211857166017795505456459367810471271226983474920382625160920320319134932105963087529336120578982478360986510505767574809394439672582096567917282586039835688320738021220394640021747947160807764577629917135366995713297339030341205078351761725190996874058690130128191997856888920417562824086807720317386986061834871432554693307804166159109755043110722353696935987269927698419498363464350743324767378845923843795904380563971816157208014931657715189630679603236918132502923195762594782355813487972880107029600869653456699973219653399003670993419690801415203972336686943870852555434011766114991964868915583567964415575663788993936548469073208871692589951265312941376273934107192922300948115305055852141969634738387516589175929517306580030987129937288981134580905479469337988996766059316731189297178243949480378805335619506882787454118365369652444866117656700235045066735986061271386609845800779786194297730048099371458801003868438249591210475512851165071885365694668133709614024354291134755593785531745898421276677159069680116348569270046619245167011846561172686776572913677152521647410724748069199046771967562431047051741292297332011309349037510018998402457343025136365064568565305796120249827144355431849023696775076557445507961398532970293794248130245360731473051533981327118789377530960243017168861082381073323960994617650289944118961396691993360237852742240262333850537616755701798722622578230883257483178371161615223285693881830001152311656646157394264742096199153124611736730994631685461984586784865615296018563675203422220113147926262830110211555446470509728955811730433935171943718660398147031286330860553683579913116124637165553327837921507807850003363443641552351011974259988922814012769915623193975385281040451881020591120417720506414103858881051071957712590255895694011920748005472036634471395159901944554706437498207242765739701103554034031716737700491687034281714680199001316269693928049343818963052704211663585418190216739739329544492215006631771760966925472628723458754186419602496158350163146185922320385690388950303877745960936472031059783984922575876333822017620338858254414014889484637433803115584121257317189014955060498411560182971559686236714072947773223023758673355963570527175661219449625614324581336223211657013176992989772516044648180402226259001061994909195187555338527989282827926368122472530754667885170718297001837609596089275256627881343307418064357723334350179249536907536492678135033431943076600339888837279514355129272276658874666539549824475650760572675208635502334672826797184713212722680483130858758626913036578878675762639234662656866108213163856703818847848455256311479839349095204351561892093493777135054762773365981689801757536379723044708606039942792688779985985183559067159164162084578935694043426047448941943743738616761477515118517910620764497726464837872078693136846234458313162321172335761032349 720631326882046399006852080824109590816538618867203059508165128852757659228292297995799808082315924326630149560827833561741707909413928119479117820607650954597629379534828387747609969053274534086958710930531343249370030527227577801801060491781034282356272678473698656504536107455218122432609568042590350789575909765699869581131985423051554229091612100646936116399951816846263870473888809905832433239481534501489207230519433808375850069045015687328481949619229956545523588638177054143145085443288408432575890224771582311288241232787312216494782748725051294764776947754269746410450268491036607808297201885135324953965795254146984023221041081956317325323782182768646060641462214046971923772701299013801382339590571312991180523931067897948720417729919835394928269684445358840024704580175639978657508127322355304209297011386159747201527184800411213665103023716238674747946873978668644842508678832946189797077414158849315770575691776621977709115445389370894806129907929712417563779215060334625051651263249024700583637512211148278395414786640115246547885500388267781550076945314189053868935155345696719459976335175333515982691832317741356514484631151673702181418404583311674393163338560243229468504153793612757779467527271353794780683624080042700224591043512814234481605900047778655245593051563564570642374117683558862132090110789063734482132609938707450759103932533963206993230218717348574410470930123087258785545013609923075862681938603341842942464400561316303941403948167584096943757641258470444845031620362973163886710532394505511337950437336873089849880074654069679808524641640624838561198944655249869488657676495692246442436317190371910675010928325553000481698348647673657771095454260085683006845817520723269703730314082269314391950784123285300150360535021745845818010211983518915214934329543152568086147142066344226673075957846198328248796197941798094966459698148380559943211774568563432303386141684840765745185734717024756819182475556657782715879489406317989545000112366254959695444391472179183201096645370324670494249703517432328858625133109195285584450195667652204184399372334316503518258228159317080519472496391399600617489168748331169777071859738854890371527065059446936667516127661752537856790184963959460265961918934855960009831808283941228732373747215467453183239682787223703624612355344008754941806104601942233225255836670587147952575583713352324320737655737341850308939870320521926488984655261487432990123548195044127311922457959451475160973002881278900719649227492266193122111022076060926751596252124669434449439409017182055442756532777816056118480966216036133289556158772644194938045939659538650470759337286665392958006053603724668122917458457910024036077415478033348540689566323567941809578540214208543800103276340048646657380573627974270718036044004992132413242514819214537104268013970390191065509253155379781500054908604469921722546029254599725492652453279930907926498652188906178416155261739431307164128448777354762686933581452194100635057743139488266523841858327523018330808509689464229933785366628752248675557244458904336206681415657357816679373206554781215231321773770230524343664551121475901367908864003166010313039803438824810934539673344180779344180894807444937999761323978249190604022355894142792442080162806460772930029268864536161456142837290396126014445222697455513373853241131973368530844575089805861031112004489990941505076160855341515166338585929645622115905068178823663514443761157159661372565417084759700910389930381327721379885406199079475310288430287139387185806966524669078577935092980718871703588181363245083538097986496324932244454794126639476801362889427880166644792725666088785359545019772753208968461871354576791883575522883173987787887470726243833329237901042563479855561430747420159015504913980532272092746555969939799141999633953705381408262366169041495570292171431605152150585926315372756649184492051094585554546412085761598805543622845558421603612847 1166005980253086860069778291885630306031364432152781221249075063653593835085660648569998730982968933816462064220554338379647029947339119224179048062969777538550678909691666811438626251484273162888321087949919216669810929967032563666910826195312458851817386307301083145130855724368306024605689803017878314205209907374319357344966784994641421322113516696519186739397685713483247213585781377380622757970071811657155588331168868999427256055298564100046291017150354308966932583463691408092773990340666142882519782642631351805317786441413308951461008043278441916683667860172408124510624684649698602999082506598496596208590947403071761279985814098554505184349833852827419935121535359843070051136218117381690041308882831122071055905568602294870207379133050237918772398789778978716350400387395781761929446239838888849735148562764802007782621280845508402478354544596602712168396647218735845763041157082838290022866888651801883866285273393494473604067519984941072559703645543472169993594697292379274217190222183976133521851484267365578074116074272763012905167887826582993407242963109694510328302965816967946443451255557958676903012151452673462477572160487794281163896765569822180160738147954682902050600721710895343819303215592091816001078264101790647385398808090444151616972895761075994275934256641916332367565114557617552262218302786920623402550172762794258479421319520025041864662773410656378576630039878130369507898710545910345790380358101705307293207725328695149865247744071964660915573798466485376502746809993652767123628664897428707100545219692686577822760181683670549461981341613844491960202615648669560290072880468028933386307169745805922441125920290421916065266313063249321560089390808554756215717510110674535016671690356203421584873085071400605206212676991380584205526801159448432521514360530282505375128276647249706142413946842964387565527387238976338915940076953716179450094562022681797673038586550958422445420779783760742880453862166503583495665683704048037644371571167258828133693982682654696052261717255690365162383413131456683149759888702980817330348616944329363254079488682885773564877473326328927080645183167972514294641690395741894525141058785626857933958112111188228964848138971101575366809183366416803291098283999424525315627928533768373087805596239164228259797128295185102157582649138256885187166836074993767206582955459964678912818600882213406701810979698336467959229814439483323180978015499340175230385882045581744067624256682074053391856260364457271881264450777960074952112174387717572908990516866765633602564020753913050074441994762402840984096262234599808492978378885792121200876049871094096941269066242477123391941225547443328521064489744240884589760995391149473177855119651405863317386390217571987441655627352022906646303387640744186341230019390273172865123535410334954824774428074249072116581210867970037395748920525217927194582663725994885394597007986368406133741417928607281970189293456169007655815483059069442885934897721888028684401562102540970735505443745713235070547839233956444940417138389719174148185967917658522626283911815707979825559128875166905620272077647976485280136582181259886290484740336988027933378661693238825824024310777983894928302152124633952954821822389809373575582042130856865389853385830219446285992839391711822675592462904720707350668434354468690366843013648018016711246801348806923026021199677546280033065443683267883288811116684313507286623365180661273110533036413787542715872835149117424244740109630864628916378084334112907253365030627028224465321321653941355236809759520268696179238941935920292173600321169151729429168006849319959932221648054793203223671401428728020022201885880966372825165690202425247139887002722523082992239032618337327106372955805336845837251232504956538738549622586572214885435335955924982701066793117867465987198060212467543019234115175343768912063441433890667269948989777559423426625105222607833263856785166730757364645196 1886637307135133259076630372709739896847903051019984280757240192506351494313952946565798539065284858143092213781382171941388737856753047343658165883577428493148308289226495199186236220537547696975279798880450559919180960494260141468711886687093493134173658985774781801635391831823524147038299371060468664994785817140019226926098770417692975551205128797166122855797637530329511084059670187286455191209553346158644795561688302807803106124343579787374772966769584265512456172101868462235919075783954551315095672867402934116606027674200621167955790792003493211448444807926677870921074953140735210807379708483631921162556742657218745303206855180510822509673616035596065995762997573890041974908919416395491423648473402435062236429499670192818927796862970073313700668474224337556375104967571421740586954367161244153944445574150961754984148465645919616143457568312841386916343521197404490605549835915784479819944302810651199636860965170116451313182965374311967365833553473184587557373912352713899268841485433000834105488996478513856469530860912878259453053388214850774957319908423883564197238121162664665903427590733292192885703983770414818992056791639467983345315170153133854553901486514926131519104875504508101598770742863445610781761888181833347609989851603258386098578795808854649521527308205480903009939232241176414394308413575984357884682782701501709238525252053988248857892992128004952987100970001217628293443724155833421653062296705047150235672125890011453806651692239548757859331439724955821347778430356625931010339197291934218438495657029559667672640256337740229270505983254469330521401560303919429778730556963721179828743486936177833116136848615974916546964661710922979331184845068640439222563327631397804720402004438472735976823869194685905356573212013126430023537013142967347736448690073435073461275418713593932815489904689162715814323585180774433882399775102096739393306336591245229976424728235799188190606514500785499699636337723161366211545173110366027189371683533513787829138374154833879253358362626015035656633116648889012008385021812176102914798812611981567438478861017202277083135701485646007600117679559372114912130859144073064302212918524481748305485177170635165632364266632854113223599368330376263557060202934280485325459736817709601820179343454631681443036811082408805782195004482265640128972940676936000431838792130551826865394184595565731022548635435678318268169684760005249669962670760827608220509430240625871379546714641525528552829263245736172600913678270226268074223196463778499660586768991435068052003429771095105517198527540218897102577228450635941782534537658436316138921989530632747412028403529142516349947279151167996643981948202150908625838410869182821718544685974973805126964930431780531241758903692071553303683961268718457059266063395265305278366050229549491929042442044639263182090464023349818895803829129687848917128692980594610887249461266299314060240070117513460386344555195600314819943931836424205572868479174082129319459305242029237259347302073236253401356348923420674874202505018471422823743212376562858832965327473065796504932335429948120851593851418207009623801133302735787658393604340154038246418465132063636758563984122164674272483046932078890954583146368058564179604398024999657831933548636680219216022108256247984131735300195116833365113657051924203740696254779991385242091376438612784057133204167537221538141604538609398455149702613959129402528433359484936624976797570947204088438252233877125155130040012192350296263490533192382563653460914167611651128288178610433814744852500987567882827123299165375711698307665476661673622800975959436733584537482673369868464127094816805381746905653719581793627561557002039023462525605697070780126503344581160435610856847900325692812663252376697754054536567104486978181891925864781843066427071572847395460426381509038589526286606948921062649367749263423919133481828654008981171517308369432069400408012289178968258043 3052643287388220119146408664595370202879267483172765502006315256159945329399613595135797270048253791959554278001936510321035767804092166567837213946547206031698987198918162010624862472021820859863600886830369776588991890461292705135622712882405951985991045293075864946766247556191830171643989174078346979199995724514338584271065555412334396873318645493685309595195323243812758297645451564667077949179625157815800383892857171807230362179642143887421063983919938574479388755565559870328693066124620694197615455510034285921923814115613930119416798835281935128132112668099085995431699637790433813806462215082128517371147690060290506583192669279065327694023449888423485930884532933733112026045137533777181464957356233557133292335068272487689135175996020311232473067264003316272725505354967203502516400607000133003679594136915763762766769746491428018621812112909444099084740168416140336368590992998622769842811191462453083503146238563610924917250485359253039925537199016656757550968609645093173486031707616976967627340480745879434543646935185641272358221276041433768364562871533578074525541086979632612346878846291250869788716135223088281469628952127262264509211935722956034714639634469609033569705597215403445418073958455537426782840152283623994995388659693702537715551691569930643797461564847397235377504346798793966656526716362904981287232955464295967717946571574013290722555765538661331563731009879347997801342434701743767443442654806752457528879851218706603671899436311513418774905238191441197850525240350278698133967862189362925539040876722246245495400438021410778732487324868313822481604175952588990068803437431750113215050656681983755557262768906396832612230974774172300891274235877195195438280837742072339737073694794676157561696954266086510562785889004507014229063814302415780257963050603717578836403695360843638957903851532127103379850972419750772798339852055812918843400898613927027649463314786757610636027294284546242580090199889664949707210856814414064833743254700772615962832356837488575305620079881705400819016529780345695158144910515156920245147429556310930692558349700088050648013174811974934680762862727344629206772549539814958827353977310108606239443289281823394597212405603955688590408551696793066848158486933705010641087665351477974907984939693795909702833939377593907939777653620522525316139776751929767638421747590516505778212785477779137724359615134014786227399499199488572850940686260167783450895312286207615447170971323599581944685523610193444482178129048186343026335370851496072569577285858200701654567450525008155591640522302621738086673490685235750275512916544228437339798039401726844353297469771619639741888504698611325165046437946391793215599406260332294896399805626379668444351320649352518683414531044094459949987348909462643400496082785538478143489585639884446753816870118888335298671674891319856291552749654905776111711356706589496281846469252667720193981488046120742356533848651769322475759414895493648458803376895970158003860867344570207994852745818949488471904188157377119814619643408190596971929180294221381459249239288773776330491464305115026471865929066183494903937715483995673948878344677142066179797126825302462582588294900148569200785199056712843909404968757867937755186440155856523221786934466899665502014947647959806807327763099837540715782091406392894107539268428009401953338177787419707083154403845083501571207048221877281743960819298272636689151798540146209735509833984734746804311087382994549399870149643056979212641574867305289817018491541195836116449609832551789051554612021256264062066065235085667885298628834628391102790807825279396665806185537466573092135528523544825403948791534685954618793251759427286163349528328220153772365535962918487541983812653237171530063895757333236492604159153676701863617227881789764544133220189440313382658486593976581608760401782292689974712809183154091189082471606213432407796622530977265333257193179019936332903239 4939280594523353378223039037305110099727170534192749782763555448666296823713566541701595809113538650102646491783318682262424505660845213911495379830124634524847295488144657209811098692559368556838880685710820336508172850955552846604334599569499445120164704278850646748401639388015354318682288545138815644194781541654357811197164325830027372424523774290851432450992960774142269381705121751953533140389178503974445179454545474615033468303985723674795836950689522839991844927667428332564612141908575245512711128377437220038529841789814551287372589627285428339580557476025763866352774590931169024613841923565760438533704432717509251886399524459576150203697065924019551926647530507623154000954056950172672888605829635992195528764567942680508062972858990384546173735738227653829100610322538625243103354974161377157624039711066725517750918212137347634765269681222285486001083689613544826974140828914407249662755494273104283140007203733727376230433450733565007291370752489841345108342521997807072754873193049977801732829477224393291013177796098519531811274664256284543321882779957461638722779208142297278250306437024543062674420118993503100461685743766730247854527105876089889268541120984535165088810472719911547016844701318983037564602040465457342605378511296960923814130487378785293318988873052878138387443579039970381050835129938889339171915738165797676956471823628001539580448757666666284550831979880565626094786158857577189096504951511799607764551977108718057478551128551062176634236677916397019198303670706904629144307059481297143977536533751805913168040694359151008002993308122783153003005736256508419847533994395471293043794143618161588673399617522371749159195636485095280222459080945835634660844165373470144457475699233148893538520823460772415919359101017633444252600827445383127994411740677152652297679114074437571773393756221289819194174557600525206680739627157909658236707235205172257625888043022556798826633808785331742279726537612826315918756029924780092023114938234286403791970730992322454558978442507720436475649646429234707166529932327333023159946242168292498131037210717290327731148876297620942280880542286716744118903408683888023129566895834590354544928466452458560229576672236809801814007920027169330405218689867985495966547402169187576728164283148427591145870750460002713721972658102788165445112717428865768070260539721068332643606970073344868746908250569693104495569183959493822520903357020995391671404742526833486826717685965125110497514786855929617083091807318412611100558567315274572230164054849635769706570880296103261108839049842840635189250719135871692058047454202664753478720028932359591765325873300762156091835783849779321809028386148542701841437817129515116614944491601353473571316251081133049925173434736166013253671310178181100459762146180803783421855635869433938682859312163527598480762138914669675187356578784593625028840049687184107169095930518967034254221558163634202742878403847369637295703346731917854031671856070052287323320172586599445254200047892185741873260537080797794688822148426662019795672392670784240292214566761839572835423799735063147323459780484390504527738848786731461607271949017296104426215591957366099341152279022313243473268245988791734863988115125926501934790838180856181053720483103579884718037055904207790939063063294954374080895748458317097848235523208000787195429554226032491140287608012620723109348652760486680199110521912231766091680231899631146360486631555681950892749339616871674555000189655249329508905065400497672380671952455363447767577898011162222866299464522243831944893188534251043596996936500105052776413608801238833399390723020139942960599655618361630785695697188405536412420813316429325186812053933917224552492039307499647977594669501137497222876559009709934246658695720781188841799119807654546387199647261013160778118912975485620198286688389241611037362176932417515108215953434867441388968139839346697402657601191309115301161282 7991923881911573497369447701900480302606438017365515284769870704826242153113180136837393079161792442062200769785255192583460273464937380479332593776671840556546282687062819220435961164581189416702481572541190113097164741416845551739957312451905397106155749571926511695167886944207184490326277719217162623394777266168696395468229881242361769297842419784536742046188284017955027679350573316620611089568803661790245563347402646422263830483627867562216900934609461414471233683232988202893305208033195939710326583887471505960453655905428481406789388462567363467712670144124849861784474228721602838420304138647888955904852122777799758469592193738641477897720515812443037857532063441356266026999194483949854353563185869549328821099636215168197198148855010695778646803002230970101826115677505828745619755581161510161303633847982489280517687958628775653387081794131729585085823858029685163342731821913030019505566685735557366643153442297338301147683936092818047216907951506498102659311131642900246240904900666954769360169957970272725556824731284160804169495940297718311686445651491039713248320295121929890597185283315793932463136254216591381931314695893992512363739041599045923983180755454144198658516069935314992434918659774520464347442192749081337600767170990663461529682178948715937116450437900275373764947925838764347707361846301794320459148693630093644674418395202014830303004523205327616114562989759913623896128593559320956539947606318552065293431828327424661150450564862575595409141916107838217048828911057183327278274921670660069516577410474052158663441132380561786735480632991096975484609912209097409916337431827221406258844800300145344230662386428768581771426611259267581113733316823030830099125003115542484194549394027825051100217777726858926482144990022140458481664641747798908252374791280870231134082809435281210731297607753416922574025530020275979479079479213722577080108133819099285275351357809314409462661103069877984859816737502491265625966886739194156856858192935059019754803087829811029864598522389425837294666176209580402324674842842489943405093671724603428823595560417378378379162051109595876961643405014061373325675958223702981956920873144698960784371755734281954826789077840765490404416471723962397253377176801690506607635067520665551636149222842223500848704689837596621661750311723310690761252494180795535708682287311584838421819755551124006471267865703707890722968683158982395371844043281163175122300054813041102273888657288724692442200310466123061565269936366598954126893938166770644799741340707836471361138330821111416700479572145462373275924209821107442333560370746893190818518068334086436118623343072381795833724288548390646974074824094934495057037223389847411511344297227733142015667571730485568608587965780260473203658659087643743860258228966342261565345221509318385436676182282415933779433813805989531478909328439499401140551406393773603450942399771634754448203046209754945099412252499138959771462761627411502490475232966022445327181039931169653249052793711135230345164725238174914503441791834852616767601572965005621751463806050613349165915264040178173795325709550573999431676564270727135556150293694438170606012718782668561923740573922461812674053445045504578773393083883794439689977278336712704275507417570479550220052003552167597746390826394791914796677839864709991955774791636010189148767732013452198223442011857704224680555700982363961943071341210504402780832030439777356095996465540416697697060426999866223954870339298306308721546640267802962197690443996559283884027507843714011917854076543500096006959253769336711482295565334733443879204416626518230065196908557606516052735184141906456189644488723091491031214065075856611350161582262137378324857575270418135519578482154374668752940454767043170739262854874457890705416347689444310931332867450453474160777399569462201807047090171534301012074986115571606297298425041080873796764762370323962735914794370329051634064521 12931204476434926875592486739205590402333608551558265067533426153492538976826746678538988888275331092164847261568573874845884779125782594390827973606796475081393578175207476430247059857140557973541362258252010449605337592372398398344291912021404842226320453850777158443569526332222538809008566264355978267589558807823054206665394207072389141722366194075388174497181244792097297061055695068574144229957982165764690742801948121037297298787613591237012737885298984254463078610900416535457917349941771185223037712264908725998983497695243032694161978089852791807293227620150613728137248819652771863034146062213649394438556555495309010355991718198217628101417581736462589784179593948979420027953251434122527242169015505541524349864204157848705261121714001080324820538740458623930926726000044453988723110555322887318927673559049214798268606170766123288152351475354015071086907547643229990316872650827437269168322180008661649783160646031065677378117386826383054508278703996339447767653653640707318995778093716932571092999435194666016570002527382680335980770604554002855008328431448501351971099503264227168847491720340336995137556373210094482393000439660722760218266147475135813251721876438679363747326542655226539451763361093503501912044233214538680206145682287624385343812666327501230435439310953153512152391504878734728758196976240683659631064431795891321630890218830016369883453280871993900665394969640479249990914752416898145636452557830351673057983805436142718629001693413637772043378594024235236247132581764087956422581981151957213494113944225858071831481826739712794738473941113880128487615648465605829763871426222692699302638943918306932904062003951140330930622247744362861336192397768866464759969168489012628652025093260973944638738601187631342401504091039773902734265469193182036246786531958022883431761923509718782504691363974706741768200087620801186159819106371632235316815369024271542901239400831871208289294911855209727139543275115317581544722916663974248879973131169345423546773818822133484423576964897146273770315822638815109491204775169822966565039913892895926954632771134668706110310927407216819242523947300778117444579366907591005086487768979289315329300222186740515056365750077575292218424391751131727658595866669676002574182469689853128364313505990651091994575440297599335383722969826098856206365211609661303778942827032653171065426725624468875218176116273400995218537867118476217892747400302158566793704797339874589100606343253849802939715097322052678648361743685011565227452505482045217029905395557472241067709211117214677809318621988303008465174928956979134391607824949557944297238097266446027883949216373143951925560072398169968783103210243477196898475040519362528126288788829086615586983822811618618533761400516426486457329969265824844320020375147146044987200857378752324119535494445943532260195952720659206666265907224093026169391456080957710620038330290601788702424604373389147842290656346508597067166108359329356522147089036074732650501212517769098503252841603320972218425262318972709192263940261514636563273965635789862043678372812452922001339063775241321118785490034964503959415413057458597163422242711734275032228310740034661264892852944775056147321691034296313637381199009720941624768116517568885329227900674059434938089059456375388685453889689746288877573588323027089804010314844010976344197286239484689363729619870324947789904353742850642142181863122736168872512262339408502456483097096098648589809766616737898509870528953555638230451705668300634578362396451922731651605405854876234784153541065743927951852442303587755079292501834838496655618025427757063464587631577746459013334839760268086975340185911497027443634878392285936536973636196054602877349614577917783497173151655512165975817013776753104985921550595239079547215467497098857318532514711466634938896312544947822005333778560775912049437163047989121405514378475948315185732902209670660138572395561638166935225803 20923128358346500372961934441106070704940046568923780352303296858318781129939926815376381967437123534227048031353829067429345052590719974870160567383468315637939860862270295650683021021721747390243843830793200562702502333789243950084249224473310239332476203422703670138737413276429723299334843983573140890984336073991750602133624088314750911020208613859924916543369528810052324740406268385194755319526785827554936306149350767459561129271241458799229638819908445668934312294133404738351222557974967124933364296152380231959437153600671514100951366552420155275005897764275463589921723048374374701454450200861538350343408678273108768825583911936859105999138097548905627641711657390335686054952445918072381595732201375090853170963840373016902459270569011776103467341742689594032752841677550282734342866136484397480231307407031704078786294129394898941539433269485744656172731405672915153659604472740467288673888865744219016426314088328403978525801322919201101725186655502837550426964785283607565236682994383887340453169393164938742126827258666841140150266544851721166694774082939541065219419798386157059444677003656130927600692627426685864324315135554715272582005189074181737234902631892823562405842612590541531886682020868023966259486425963620017806912853278287846873494845276217167551889748853428885917339430717499076465558822542477980090213125425984966305308614032031200186457804077321516779957959400392873887043345976219102176400164148903738351415633763567379779452258276213367452520510132073453295961492821271283700856902822617283010691354699910230494922959120274581473954574104977103972225560674703239680208858049914105561483744218452277134724390379908912702048859003630442449925714591897294859094171604555112846574487288798995738956378914490268883649081061914361215930110940980944499161323238893114565844732944999993235988971728123664342225617641077165638898585585354812396923502843370828176590758641185617751956014925087711999360012617808847170689803403168405736831324104404443301576906651944514288175487286572111064981998848395511815879618012312909970133585617499355778228331552047084489472978516812696204167352314839490770255325131293987043408642123988276113671977921022469883154827918340782622840863475094124911973043471366509181817537210518680000462728832874592843280130135195957045473281549409546967617705790456839487625114344238009487246481175592881689443981977108885941506550277458613264591443583321741916004852152915691374495000542574495381915407788175740213631680051610519354346443648815861829646736265308712428847541938326094509798194133765381741099138778086576725168195696451135115756165600532464002572559445525747759284360946560615757178034338411691955512263909209939637633086056819757602651394542104187142349366296686959660988628353468588180278604113488306552546078888070709556211676728359466039629766526648738145175235663592427309942862474731314070980730062236543150627650583144092941702908845647556838628869986740859012622322002097177977682252448938751752305635314456202563589987557147623695705732096367253330875538600795483795142178863066271167254327815419494914111199585538503391091977328185732719572536406172445638241029522703223188633426867236868821375136079800892410774282893515381314745394854281589604735318244538985158141063008542986431844716084538203674251428187737081759785106480021165492965018252936887587171631728029172470460054725214604085253204333240571653344292779185858552479562636515346286870193616604122464740868251861946951998345936103596776052840448482015535632913698590246702007617609244023958811696072924466561588067169571940534822442054275293529784540135352975066070023902174543164984674634588518474848943468142547887135218458191981202207189848335919016751633809886834728757468543796275725184405469696970252631815186543168249865382161920109099673712114410023812380868732310213061512149163560727702812803517029188982497664579994622874487189931967218569290324 33854332834781427248554421180311661107273655120482045419836723011811320106766673493915370855712454626391895292922402942275229831716502569260988540990264790719333439037477772080930080878862305363785206089045211012307839926161642348428541136494715081558796657273480828582306939608652262108343410247929119158573894881814804808799018295387140052742574807935313091040550773602149621801461963453768899549484767993319627048951298888496858428058855050036242376705207429923397390905033821273809139907916738310156402008417288957958420651295914546795113344642272947082299125384426077318058971868027146564488596263075187744781965233768417779181575630135076734100555679285368217425891251339315106082905697352194908837901216880632377520828044530865607720392283012856428287880483148217963679567677594736723065976691807284799158980966080918877054900300161022229691784744839759727259638953316145143976477123567904557842211045752880666209474734359469655903918709745584156233465359499176998194618438924314884232461088100819911546168828359604758696829786049521476131037149405724021703102514388042417190519301650384228292168723996467922738249000636780346717315575215438032800271336549317550486624508331502926153169155245768071338445381961527468171530659178158698013058535565912232217307511603718397987329059806582398069730935596233805223755798783161639721277557221876287936198832862047570069911084949315417445352929040872123877958098393117247812852721979255411409399439199710098408453951689851139495899104156308689543094074585359240123438883974574496504805298925768302326404785859987376212428515218857232459841209140309069444080284272606804864122688136759210038786394331049243632671106747993303786118112360763759619063340093567741498599580549772940377694980102121611285153172101688263950195580134162980745947855196915997997606656454718775740680335702830406110425705261878351798717691956987047713738871867642371077830159473056826041250926780297439138903287733126428715412720067142654616804455273749866848350725474077998711752452183718384835297821487210621307084393182135876535173499510395282732861102686715790599783905924029515446691299615617608214834692038884992129896411103277591442972200107762984939520577995916074841265255226225852570568910141042511756000006900371808364776234823525684837855570432795292429196251375508403173982917400118143266567941376891180552673206800061756907620098250509881160044417395934831157338843885480308709709649492790280475101343796424298321630505110228418861993423736622084581798949130861078859552131822780953496556753055540772319116816122068390206274067735065711116776020646009079412994262866978491886521775818669699684844433344730584540281244581888888853987304428572467763921874885906373189635217353722805676110766813113446118318597619293432500298979260634351539746936266823033675747171174302998299825719247307944811441142887685453479334318555689024691019060352838331853052254956533240783993565192156153905794978346070215534769411038171910628183464966707850255558476917777174782015249876120332887969672357881889894149504236585345838820551675519193168593391590660816032896689620503007350507390385644329882994779117906720670469340262737884453526279812011924968696827114097206048155481903236322939513511371850474933963218918598420096230122464918375117298605774284492551825016510764171563795421324032141837162304492421576950901251598354120260364408468065246227435067455976740525856555118594361008962659732613994876679960233342020974611397205417585182450051604404231354415236900404747187238319553466481486161158674987951910664138376512221640880569004410437190440467482032356994372171713099434079404863662442630140324860546085545918483821860428484424108854654246584079556804426253702513924785465399000704574482320549380711105956064936049799847282683642025568397896873386744038570024659357845817714647293086125110949312211549849108327181992977504168230566789665283013059585493605385504516127 54777461193127927621516355621417731812213701689405825772140019870130101236706600309291752823149578160618943324276232009704574884307222544131149108373733106357273299899748067731613101900584052754029049919838411575010342259950886298512790360968025320891272860696184498721044352885081985407678254231502260049558230955806555410932642383701890963762783421795238007583920302412201946541868231838963654869011553820874563355100649655956419557330096508835472015525115875592331703199167226012160362465891705435089766304569669189917857804896586060896064711194693102357305023148701540907980694916401521265943046463936726095125373912041526548007159542071935840099693776834273845067602908729650792137858143270267290433633418255723230691791884903882510179662852024632531755222225837811996432409355145019457408842828291682279390288373112622955841194429555921171231218014325504383432370358989060297636081596308371846516099911497099682635788822687873634429720032664785257958652015002014548621583224207922449469144082484707251999338221524543500823657044716362616281303694257445188397876597327583482409939100036541287736845727652598850338941628063466211041630710770153305382276525623499287721527140224326488559011767836309603225127402829551434431017085141778715819971388844200079090802356879935565539218808660011283987070366313732881689314621325639619811490682647861254241507446894078770256368889026636934225310888441264997765001444369336349989252886128159149760815072963277478187906209966064506948419614288382142839055567406630523824295786797191779515496653625678532821327744980261957686383089323834336432066769815012309124289142322520910425606432355211487173510784710958156334719965751623746236043826952661054478157511698122854345174067838571936116651359016611880168802253163602625166125691075143925245109178435809112563451389399718768976669307430954070452651322902955517437616277542341860110662374711013199254420918114242443793206941705385151138263300350935275886102523470311060353635779378154310149927632126022512999927939470290495900279820335606133122964011194448786505307085127894638511089434238762875089256884440842211650858651930457098985090017170178979173305053227265867556644178028785454822675405914256857464106118701319977482541953612409020937817544110890488365238963656400277681135700567991249474669532924917950141600623190574982754193055721129190039919687975654638597064080227618767101550967673393444421930287468802050625714501645705971849596344338998793703545912898404159075625103788232603936145392779676940689198868088089665925404294993866866828915010255833771947373206513152287841944216342460214528750428467510955889094335264195447444128794291291200297459278920300580809499568337782407401554960942726130792286611895826992818460133109800405779307225972762020680577583374122658092293015154893743231958847902662464339455485773956682956616378551277880789277181030420338761999790415074875003679905539677333725696474037803710744423848332811074547391733040269088605865717415646602007864112232233377345605237433267956583675404454249143225025042837380829633962730538585464335847719406080310947007889206041510741599367713830062602567315524079166308710369785441107642159706679248793790071963193898098458929764796751704254258906226132064538698537163137405254371185473461361549143321858822696226076444698501253323580527804053307330127322745358464538072883326383292730824463193279850312688271789217312179200847897780219561442222369129341163550153849946143439352265457279532134448397540507828130468077348886762722871233252056728188168776284231975869475834449436688202468636173982377725262909536307650524156711848452409145474887564617173305309535180674064393332765328571032311244073112438565281763994274589621530676419275285835433331950864345656436290361534633020052479097870185193818263279035306853138243736773767869630095516025396338172461461375110576811139985510006693150728231369659905887546775425572604073806451 88631794027909354870070776801729392919487356809887871191976742881941421343473273803207123678862032787010838617198634951979804716023725113392137649363997897076606738937225839812543182779446358117814256008883622587318182186112528646941331497462740402450069517969665327303351292493734247516021664479431379208132125837621360219731660679089031016505358229730551098624471076014351568343330195292732554418496321814194190404051948544453277985388951558871714392230323305515729094104201047285969502373808443745246168312986958147876278456192500607691178055836966049439604148533127618226039666784428667830431642727011913839907339145809944327188735172207012574200249456119642062493494160068965898220763840622462199271534635136355608212619929434748117900055135037488960043102708986029960111977032739756180474819520098967078549269339193541832896094729716943400923002759165264110692009312305205441612558719876276404358310957249980348845263557047343290333638742410369414192117374501191546816201663132237333701605170585527163545507049884148259520486830765884092412340843663169210100979111715625899600458401686925516029014451649066773077190628700246557758946285985591338182547862172816838208151648555829414712180923082077674563572784791078902602547744319937413833029924410112311308109868483653963526547868466593682056801301909966686913070420108801259532768239869737542177706279756126340326279973975952351670663817482137121642959542762453597802105608107414561170214512162987576596360161655915646444318718444690832382149641991989763947734670771766276020301952551446835147732530840249333898811604542691568891907978955321378568369426595127715289729120491970697212297179042007399967391072499617050022161939313424814097220851791690595843773648388344876494346339118733491453955425265290889116321271209306905991057033632725110561058045854437544717349643133784476563077028164833869236333969499328907824401246578655570332251077587299269834457868485682590277166588084061704601515243537453714970440234651904176998278357600100511711680391654008880735577641822816754430048404376584663040480584638289921243950536925478665689040790364871727097549951546074707199924709209063971303201464330543458999616378136548439762195983910172932305371373927545830053110863753451532693817551011262296730015198479925962518991271000786541903865784300426353315583540590693126020760997098020370592592894775716395504684178478128648261595385069328275579269131354282359335424151138496252324697688135423092025176418008632577937618527524854688517944341910538019548750999910870619421961048049407639148031826377902162153647274248217998958720236988469293941744691334489447775616111082865147128973227636021784837740523502189469663486872766354875165476835828632503981921829249549798494570899922913851897625823592055453180876562634757009632039951421716776907706019076965462639281205021264627768057521438963334268611499586109363453018850767913206856732160496210574509690039229959864650218826678881290082161144078440999234049182382354452263422589150010552127620487309388289471645076812131033119174547073966175472783282214104657504441110996741126979904578826544518092106758099474392485562094641985886979179710048178992095685986491260718758768790307995304507085246699988027193772417597982539472661756081735825350601307938379736666441927633107188777901461209265424887375949128085449167289627237780041488974134924737412991188871661345096540123339245194052705057403016374580570404882101743336040230114083288164413963662662697117316898449144912059484883314249291509910109552805523209674329934959219927780139972825948909843349205178392814915703377018340007518528883561551843224879751227059803445634395726759610311816587188999516735352927766685149361320798700843324044601204740684836137906433184895037147396317599569069852326380553827219386661175908693597176813761433125715447810163318482463283410773586660425919467167502984197318958798159325188900606360919177989578322578 143409255221037282491587132423147124731701058499293696964116762752071522580179874112498876502011610947629781941474866961684379600330947657523286757737731003433880038836973907544156284680030410871843305928722034162328524446063414945454121858430765723341342378665849826024395645378816232923699918710933639257690356793427915630664303062790921980268141651525789106208391378426553514885198427131696209287507875635068753759152598200409697542719048067707186407755439181108060797303368273298129864839700149180335934617556627337794136261089086668587242767031659151796909171681829159134020361700830189096374689190948639935032713057851470875195894714278948414299943232953915907561097068798616690358621983892729489705168053392078838904411814338630628079717987062121491798324934823841956544386387884775637883662348390649357939557712306164788737289159272864572154220773490768494124379671294265739248640316184648250874410868747080031481052379735216924763358775075154672150769389503206095437784887340159783170749253070234415544845271408691760344143875482246708693644537920614398498855709043209382010397501723466803765860179301665623416132256763712768800576996755744643564824387796316125929678788780155903271192690918387277788700187620630337033564829461716129653001313254312390398912225363589529065766677126604966043871668223699568602385041434440879344258922517598796419213726650205110582648863002589285895974705923402119407960987131789947791358494235573710931029585126265054784266371621980153392738332733072975221205209398620287772030457568958055535798606177125367969060275820511291585194693866525905323974748770333687692658568917648625715335552847182184385807963752965556302111038251240796258205766266085868575378363489813450188947716226916812610997698135345371622757678428893514282446962284450831236166212068534223124509435254156313694018950564738547015728351067789386673950247041670767935063621289668769586671995701541713627664810191067741415429888434996980487617767007764775324076014030058487148205989726123024711608331124299376635857462158422887553012415571033449545787669766184559755039971164241540778297674805713938748408603476531806185014726379242950476506517557809326556260556165333894584871389824429789769477492628865807535652817365860553631635095122152785095254162136326240200126971568777791378535317225344303457184163781268108774954052819149560632512582751371034101748258705747415363146352742721720001199418823084409961138652784202224174294032474421885728722330907036737013243631313087292454089734690214960237949867998960285347365343043274505976946836633735934101020480761370286800664453330929508470495119802000403664710446347060594573102021927312985135199802422490050472986441104137282567031796771358634774208441145376791313031033032714257676933049564817473861454146008879667724332966576610520139664866979627926978736690795221310724673899990241215057888680616529702215018641182988081860412066035887908235386513267763575394642675011692364629552877118710087839914899798001054271286701382243929473225724742656246055320481266380176344199589911347005106746012752690121840288830402821437926912468032586028833706125813304455088129410166065053287890079833620099737845693170509512548840753501893402966015011496739731448031323824114604011360293244873230604972493411841098215585249491929885003977905907766678210956476932138756497416949983138506027047018251120705722013334854624946852811611034411364884258250914154800131847104470872677203780267933234307853315928119976649451346846685419887615351391598178272632980786057579937862498711243451903649615807275385598045817841352375192640966286554647658042685595410004252370354638791676976750943930907433674705149352517570549046597000879123714643084792975432945575277624015970671571238384049240693583686679134202089904805478424012413204924454944000450315057498206893585077905679343878801455872234961771002730607153012990890469687029528985094788153136344750593652129029 232041049248946637361657909224876517651188415309181568156093505634012943923653147915706000180873643734640620558673501913664184316354672770915424407101728900510486777774199747356699467459476768989657561937605656749646706632175943592395453355893506125791411896635515153327746937872550480439721583190365018465822482631049275850395963741879952996773499881256340204832862454440905083228528622424428763706004197449262944163204546744862975528107999626578900799985762486623789891407569320584099367213508592925582102930543585485670414717281587276278420822868625201236513320214956777360060028485258856926806331917960553774940052203661415202384629886485960988500192689073557970054591228867582588579385824515191688976702688528434447117031743773378745979773122099610451841427643809871916656363420624531818358481868489616436488827051499706621633383888989807973077223532656032604816388983599471180861199036060924655232721825997060380326315936782560215096997517485524086342886764004397642253986550472397116872354423655761579090352321292840019864630706248130801105985381583783608599834820758835281610855903410392319794874630950732396493322885463959326559523282741335981747372249969132964137830437335985317983373614000464952352272972411709239636112573781653543486031237664424701707022093847243492592314545593198648100672970133666255515455461543242138877027162387336338596920006406331450908928836978541637566638523405539241050920529894243545593464102342988272101244097289252631380626533277895799837057051177763807603354851390610051719765128340724331556100558728572203116792806660760625484006298409217474215882727725655066261027995512776341005064673339152881598105142794972956269502110750857846280367705579510682672599215281504046032721364615261689105344037254078863076713103694184403398768233493757737227223245701259333685567481108593858411368593698523023578805379232623255910284216540999675759464867868324339918923073288840983462122678676750331692596476519058685089133010545218490294516248681962664146484347326223536423288722778308257371435103981239641983060819947618112586268254404474480998990508089720206467338465170585665845958555022606513384939435588306921779707981888352785555876934301882334347067373734602722074848866556411637588763681119312086325452646133415081825269360616252202719118242569564333282401101525770656772767704371961234795715049917169931225105477527087429606432437183876063624741737812049995580468550177366769296562803922698476498991720609844977753898748915669314950862158837941980972034076600752979786700867909830904769326391092682145124978663011638096254667755009588285759384690319398802412239811136489851440326557429925741702075249563334769972940325924679520136473313870492157732508632599991138756130270394926589807601932955628109574558873156872927042330708643636677356372917998327297047370886056593389618017895816485938492731421429204549326500180202639065668037491950901288717144226532098482745076552497723440044861501690573654711714021197151087073964082180355506534709290532254481600846212052044535526965558078511209463374136985313180579529294966794779344729941399562564906817046859130546925812883912778847573691504808050940267069789881799091833531679661770231307609543809888707473100258196727758641803741422097143484022049326609055955573801350220834882027177125037073781879367117032103098332426060224205664706577220918547516021153175858118713202206515970043392934950279605417589315653930529380702251986572616013244010382016522472267279590782673766768245295830331947100234705847469782543090338863103147536828646202671831429755780101334507889167046530768007556669663572987665561214478971556095595234390018736780196578326634193285016965939706570065781949928645808864004405591676276269619878828756655507709144817234135730731082996733771159757131858977839632591585630852694047491871259640019300525715842662361264739283008548431428650074320515975087788645827688310283688759497263928583230451607 375450304469983919853245041648023642382889473808475265120210268386084466503833022028204876682885254682270402500148368875348563916685620428438711164839459903944366816611173654900855752139507179861500867866327690911975231078239358537849575214324271849132754275301364979352142583251366713363421501901298657723512839424477191481060266804670874977041641532782129311041253832867458598113727049556124972993512073084331697922357144945272673070827047694286087207741201667731850688710937593882229232053208742105918037548100212823464550978370673944865663589900284353033422491896785936494080390186089046023181021108909193709972765261512886077580524600764909402800135922027473877615688297666199278938007808407921178681870741920513286021443558112009374059491109161731943639752578633713873200749808509307456242144216880265794428384763805871410370673048262672545231444306146801098940768654893736920109839352245572906107132694744140411807368316517777139860356292560678758493656153507603737691771437812556900043103676725995994635197592701531780208774581730377509799629919504398007098690529802044663621253405133859123560734810252398019909455142227672095360100279497080625312196637765449090067509226116141221254566304918852230140973160032339576669677403243369673139032550918737092105934319210833021658081222719803614144544638357365824117840502977683018221286084904935135016133733056536561491577699981130923462613229328941360458881517026033493384822596578561983032273682415517686164892904899875953229795383910836782824560060789230339491795585909682387091899164905697571085853082481271917069200992275743379539857476495988753953686564430424966720400226186335065983913106547938512571613149002098642538573471845596551247977578771317496221669080842178501716341735389424234699470782123077917681215195778208568463389457769793556810076916362750172105387544263261570594533730300412642584234463582670443694528489157993109505595068990382697089787488867818073108026364954055665576750777552983265618592262712021151294690337052346561134897053902607634007292566139662529536073235518651562132055924170659040754030479253961747245636139976299604594367158499138319569954161967549872256214499446162112112137490467216228931938763559032511844326359185277445124416498485172639957087741255567866920523522752578442919245214138342124660936418751114960229951868153229343570669102736319491857618060278458463708180695889623478987888090554771715581667969000451179257701456706900700673285753084266863482621079822706051964105790151029273426123811290967940024650735908791190116691734135956651101925499645374030355688235770958572560049143650328310882734930938490255105037003776986336275177271490647755108140128347169570609459754974629440299540429371349773530338711540303381120632965988342367251491922721690400903784854652516345080705884574937817187035753036221316596754586611707249217405321419445764384388860819168767883056133133889370577556292567986390980463065765487015439504176702266019341266898315861174913878981978356560805995991914498411074071936794700781582286039344891385807573726896660185686275307719484901185018771802384002833729514891716575759519009726083302661820914974115993554959869715419191571377372832279743856450297311782110439115269693467490089835065246211747495382342571482286560546294762061933097612426616966958785857273024798781309288902992362962162123527204057053543068171426978824435215541370594990245746561314016782473573904844684180834099091043488690447790649949756780120595518902650416219592142515751834715586097445648055176071124920683085399327357446123735079371587376720105934984887883143200197635950127635323603900074381560347965589028810413756947522257541626959722115292224140614828546929524932578647490384651709215195156452772626179280383201283376424314769675867973249661937337401852045796510085796694497806928757846912885603621522006240066195155243510202431380681473528965978258332857217295378476912633608679176882580636 607491353718930557214902950872900160034077889117656833276303774020097410427486169943910876863758898416911023058821870789012748233040293199354135571941188804454853594385373402257555219598983948851158429803933347661621937710415302130245028570217777974924166171936880132679889521123917193803143085091663676189335322055526467331456230546550827973815141414038469515874116287308363681342255671980553736699516270533594642085561691690135648598935047320864988007726964154355640580118506914466328599266717335031500140478643798309134965695652261221144084412768909554269935812111742713854140418671347902949987353026869747484912817465174301279965154487250870391300328611101031847670279526533781867517393632923112867658573430448947733138475301885388120039264231261342395481180222443585789857113229133839274600626085369882230917211815305578032004056937252480518308667838802833703757157638493208100971038388306497561339854520741200792133684253300337354957353810046202844836542917512001379945757988284954016915458100381757573725549913994371800073405287978508310905615301088181615698525350560879945232109308544251443355609441203130416402778027691631421919623562238416607059568887734582054205339663452126539237939918919317182493246132444048816305789977025023216625063788583161793812956413058076514250395768313002262245217608491032079633295964520925157098313247292271473613053739462868012400506536959672561029251752734480601509802046920277038978286698921550255133517779704770317545519438177771753066852435088600590427914912179840391211560714250406718647999723634269774202645889142032542553207290684960853755740204221643820214714559943201307725464899525487947582018249342911468841115259752956488818941177425107233920576794052821542254390445457440190821685772643503097776183885817262321079983429271966305690612703471052890495644397471344030516756137961784594173339109533035898494518680123670119453993357026317449424518142279223680551910167544568404800622841473114350665883788098201755913108511393983815441174684378570097558185776680915891378727670120902171519134055466269674718324178575133521753020987343681953712974605146885270440325713521744832954893597555856794035922481334514897668014424769098563279006137293635233919175225741689082713180179604484726282540387388982948745792883368830645638363456707906457943337520276885617002719572525190578366384152653489423082723537805545893314613133073499542612629828366821711162136519177817948554264260629599177172277473694111841236519828738375366914967948988971254398157887891720919811351603818622094886018125228638796226904162657012126610355990780546858319433833969727113294974742074980106545363561206912077977252521053982525081080454271849090745933068845121598032049061971340912286468981935229970928234898943970476826050795878563327946115563296153022437078802573265114234406639092814706214772482428193187710136742848650313710889041021807833551093625084790659294700519100084873725539618263210455484365678392839674052980919513012261987843064158712067340705282446752892674918148846745317109251597423402595270947863881973366265804602686279680529748713201946567740546561750847122685331893638862150235512419782166933822029659597218283404909052494049975164059841121670817912215527890195248731638806668308890979404391898091342516120096112282767979639603742004032567736640141830884407621329052587167826830104424975601059089324602836943148417747886565033638681511593622200062889558775213561536351077616104703691801031966279252387875109685324182987837438346083781815820803293117837719161463783786232936156003648795566509127367478054613824151934413911207754305613700622989165114553353116443560823418829150537144100584175820244739081231930710680610496858170741442651895976327985484815035281529281686989528018517512155045852672601744409419069196379691678388095716649388545298800017486932186129337364668601330934438252058633860030755794044941066046978684905605662165672130872607760113032243 982941658188914477068147992520923802416967362926132098396514042406181876931319191972115753546644153099181425558970239664361312149725913627792846736780648708399220410996547057158410971738491128712659297670261038573597168788654660668094603784542049824056920447238245112032032104375283907166564586992962333912848161480003658812516497351221702950856782946820598826915370120175822279455982721536678709693028343617926340007918836635408321669762095015151075215468165822087491268829444508348557831319926077137418178026744011132599516674022935166009748002669193907303358304008528650348220808857436948973168374135778941194885582726687187357545679088015779794100464533128505725285967824199981146455401441331034046340444172369461019159918859997397494098755340423074339120932801077299663057863037643146730842770302250148025345596579111449442374729985515153063540112144949634802697926293386945021080877740552070467446987215485341203941052569818114494817710102606881603330199071019605117637529426097510916958561777107753568360747506695903580282179869708885820705245220592579622797215880362924608853362713678110566916344251455528436312233169919303517279723841735497232371765525500031144272848889568267760492506223838169412634219292476388392975467380268392889764096339501898885918890732268909535908476991032805876389762246848397903751136467498608175319599332197206608629187472519404573892084236940803484491864982063421961968683563946310532363109295500112238165791462120288003710412343077647706296647818999437373252474972969070730703356300160089105739898888539967345288498971623304459622408282960704233295597680717632574168401124373626274445865125711823013565931355890849981412728408755055131357514649270703785168554372824139038476059526299618692538027508032927332475654667940340238761198625050174874154002161240846447305721313834094202622143682225046164767872839833448541078753143706340563148521846184310558930113211269606377641697656412386477908649206427170016242634565651185021531700774106004966735865021430916658693082830583523525386020236260564701055207290984921236850380102745792562507051466597643700958610745123184875034692872020883152524847759523406666292136980780677009780151915236314792210944900852667745763501584926966527837596678089657366239628128644550815666316406121409088557608670846248582604273939028000577232671440678419921937053255389808914940341598084004357022793828963123021600517918921593426743804488178269127811965717336499877845563226778378704719140908561081418879073739140000527824281699182688859836002339727413285002709859364595447328829662302386156966044226551505430879482977620055424177709673013470361650400564983898414252429792544630280189220582619018661355392823819751038331589491342690685816807693475533352048867864932312844077542718600253728849900417948669367517784687148202931421442392129036022811527069039900436927542064268096078095277901840976601434149758218680029872256811668071264706002684028697470923869855095105693394247817828873436901722046137068628146701274361251303748990085641446098691537636768293981078521590778633551952079910405764581714767485004330570574276076642563698444850903364945452897333334756282927376989529312637474976286425326329719020510138433452928351330797583662738821473871914520638474786734469573629076666390874344701077252030358970991353593913166629665716910232044950129988953631629032654602157496029815767583633289257160023884428072907638982536463463619897742370450168659593394139591681916036032508470628587974599207429580861835616531406900738765892895232588704469318335483361094919301588498954854774719759136822297054407951941563828258312769014627734676791526412447639564294091622841717447204461196524154851295439043787695674021299386360979694700010191734301907866269911219800888579360622348469717659081006533781543724184605802446083043105728775333845071732958886674841397129593495568836291411437267573907044305311542122901040642584764481286936995612879 1590433011907845034283050943393823962451045252043788931672817816426279287358805361916026630410403051516092448617792110453374060382766206827146982308721837512854074005381920459415966191337475077563817727474194386235219106499069962798339632354759827798981086619175125244711921625499201100969707672084626010102183483535530126143972727897772530924671924360859068342789486407484185960798238393517232446392544614151520982093480528325543970268697142336016063223195129976443131848947951422814886430586643412168918318505387809441734482369675196387153832415438103461573294116120271364202361227528784851923155727162648688679798400191861488637510833575266650185400793144229537572956247350733763013972795074254146913999017602818408752298394161882785614138019571684416734602113023520885452914976266776986005443396387620030256262808394417027474378786922767633581848779983752468506455083931880153122051916128858568028786841736226541996074736823118451849775063912653084448166741988531606497583287414382464933874019877489511142086297420690275380355585157687394131610860521680761238495741230923804554085472022222362010271953692658658852715011197610934939199347403973913839431334413234613198478188553020394299730446142757486595127465424920437209281257357293416106389160128085060679731847145326986050158872759345808138634979855339429983384432432019533332417912579489478082242241211982272586292590773900476045521116734797902563478485610866587571341395994421662493299309241825058321255931781255419459363500254088037963680389885148911121914917014410495824387898612174237119491144860765337002175615573645665087051337884939276394383115684316827582171330025237310961147949605233761450253843668508011620176455826695811019089131166876960580730449971757058883359713280676430430251838553757602559841182054322141179844614864711899337801365711305438233138899820186830758941211949366484439573271823830010682602515203210628008354631353548830058193607823956954882709272047900284366908518353749386777444809285499988782177039705809486756251268607264439416764747906381466872574341346451190911568704281320926084260072453941325654671585350270070145475018585542627985479741357079263460328059462115191907448166340005413355489951038146302979682676810668655610550776857694142092522168516033533764412109289490239734195972127554155040547611459304886194235391013203610500303437408043298338023065135889550250337406962036622564213147747288415137905941007356087076366229977966099055017840700472490545955660737299456785794041688128971782222439587074409779647353943546035379888727984593234243555733824959398283576400217332052289198916811589782537472684415088450468195764126190810492229682313598612805270301036890867752101325892664872636363638553314031598103276675410763322977102763876283320903593514478817056796015981244822389954863489721468045655849031221850729026299551468093624637678807116746391806166942862784434985243383303470689166957330768156138431542302291907926408235533487945367447228737341885698889565110295780695487406556808004196423908234488191415800789234191696576349469454660606918217884513092044262244516198206277138314822638393410821130182797003807603132845754538449861199019188909855758381195477820379694184569979555123746263546325473857987553112678582829529454191126367664971592786486986627469056891634100975023921330553308460550124531561097537297815783736054008255661246820632652710732051037143725057523109584501261182599353022395111303906801246275698097831392713882315284896345738273298782195267019207919398347227704031883730614394052488255551271639364743714868097626322332829333583288756710965615706247177528881301934129181087793235087235866468714831235723425893267449200277756085561976049540645866415463951282337307680184825227015831189553259439238318400734406475021071462068500075730161235402572701519095471588404528792820777257862296251343442728064031747627470151442193061618848110352290227028506702808256895353894697108645122 2573374670096759511351198935914747764868012614969921030069331858832461164290124553888142383957047204615273874176762350117735372532492120454939829045502486221253294416378467516574377163075966206276477025144455424808816275287724623466434236139301877623038007066413370356743953729874485008136272259077588344015031645015533784956489225248994233875528707307679667169704856527660008240254221115053911156085572957769447322101399364960952291938459237351167138438663295798530623117777395931163444261906569489306336496532131820574333999043698131553163580418107297368876652420128800014550582036386221800896324101298427629874683982918548675995056512663282429979501257677358043298242215174933744160428196515585180960339461775187869771458313021880183108236774912107491073723045824598185115972839304420132736286166689870178281608404973528476916753516908282786645388892128702103309153010225267098143132793869410638496233828951711883200015789392936566344592774015259966051496941059551211615220816840479975850832581654597264710447044927386178960637765027396279952316105742273340861292957111286729162938834735900472577188297944114187289027244367530238456479071245709411071803099938734644342751037442588662060222952366595656007761684717396825602256724737561808996153256467586959565650737877595895586067349750378614015024742102187827887135568899518141507737511911686684690871428684501677160184675010841279530012981716861324525447169174812898103704505289921774731465100703945346324966344124333067165660148073087475336932864858117981852618273314570584930127797500714204464779643832388641461798023856606369320346935565656908968551516808690453856617195150949133974713880961124611431666572077263066751533970475966514804257685539701099619206509498056677575897740788709357762727493221697942798602380679372316053998617025952745785107087025139532435761043502411876923709084789199932980652024967536351245751037049394938567284744564818436435835305480369341360617921254327454383151152919400571798976510059605993748912904727240403414944351437847962942150768142642031573629548637436112148419084384066718646767123920538969355630196095393255020509711457563511138004589116602670126620196442895868917228318255241728147700895938998970725446178395595622138388373535783799458761796644678084580078425695611648822753580798400403623151885398332886771468062453882030422240490663433107252963406733973554607360200790999745585813665666210008564649745495534356204178195695302598932863403927250869250674801645860538204673115427268972310046721286257098639483356283273448664891437843957829690884563487261784440542444443883557720078399789209837961650394088101920829846164691174708906482112106143243085459521619509886413456718716484623674695228044656722283920084368886296675025970628808596164981136233079070785645916399193491757472648176869670977077291423350886751837826620507994061565220871384842469901444844703761036419393141522150719039214142436227403137544986320605397332105388583051060841476555170759135791287156432849323634107831169255500172898320129637514492326870959990557427991045439240470169964423497808843959283683210607708889098715035974519575033700368753056030179089294732788576008718222493233357481903146709413205080117988576674614877123057520726374586550497350167928977860837238600669452877860972170134143664459946015274924466475090215841441793142487427804737367683040910263404316662468478315684326400885081407537657408900165135816486015009046277251414935291491970984395798351317404816366861273381402696600069755014878634604770649623509626641192724869607122725838634169686125277187604053342425579008020023658188741357139614703143808822470026613648314108279125327346267610714653661474280240413271488584433562089485250668698287374884835418750133097419529350458119289313767097369541179727581082263942779126757307321541554631510257568154622329595255138018284125193625243196306442853630329192755154657601769151407743450841659835181634104258001 4163807682004604545634249879308571727319057867013709961742149675258740451648929915804169014367450256131366322794554460571109432915258327282086811354224323734107368421760387975990343354413441283840294752618649811044035381786794586264773868494061705422019093685588495601455875355373686109105979931162214354117215128551063911100461953146766764800200631668538735512494342935144194201052459508571143602478117571920968304194879893286496262207156379687183201661858425774973754966725347353978330692493212901475254815037519630016068481413373327940317412833545400830449946536249071378752943263915006652819479828461076318554482383110410164632567346238549080164902050821587580871198462525667507174400991589839327874338479378006278523756707183762968722374794483791907808325158848119070568887815571197118741729563077490208537871213367945504391132303831050420227237672112454571815608094157147251265184709998269206525020670687938425196090526216055018194367837927913050499663683048082818112804104254862440784706601532086775852533342348076454340993350185083674083926966263954102099788698342210533717024306758122834587460251636772846141742255565141173395678418649683324911234434351969257541229225995609056359953398509353142602889150142317262811537982094855225102542416595672020245382585022922881636226222509724422153659721957527257870520001331537674840155424491176162773113669896483949746477265784741755575534098451659227088925654785679485675045901284343437224764409945770404646222275905588486625023648327175513300613254743266892974533190328981080754515696112888441584270788693153978463973639430252034407398273450596185362934632493007281438788525176186444935861830566358372881920415745771078371710426302662325823346816706578060199936959469813736459257454069385788192979331775455545358443562733694457233843231890664645122908452736444970668899943322598707682650296738566417420225296791366361928353552252605566575639375918367266494028913304326296243327193302227738750059671273149958576421319345105982531089944433049890171195620045112402358915516049023498446203889983887303059987788665387644731027196374480295010301781445663325165984730043106139123484330473681933586948255905011060824676484595247141503190846977145273705128855206264277748939150393477941551283965160711618344490534985101888556949552925954558663699496857637772965703453467085640922543928071476405590986471869863104857697607753036368150026813413498423702555686502890443280544425673268697987881244627723359796630462383159994990467157115397944092269160873331508419130710226819484044780165828551063934440297312221182724118844661215610009277316600799620499123078503190371298041928817365519398711794419741855890729822656400754165558044609149496311058866597970753882023361044297059998003073392684879485884729747557887842441932380438314147427511666591139022733140454572737480864126171976087686202899678501588861707611787566545471404636524825621408206171473204383541569087288612513323740340922070996428288705292512644834680852266728630019121514387977259696596806554617828930293116105151687133777460500099847388387848936589853106203799881416884847203921353429385340705216497372560659163024843833182649775027907132348991738677380967089107389650097543700420878423448531378713927699229080179697383168987204903572262239364847599639191035298560921039196255019783550765965973354240024725620521103737049165924651137295121189047735363544610138930647241910161347735169508410120350184052661210989589802377109680666602301162105134572163597963619277674413225862308802533354124020693680980420878762090582349037783751599520433386925714335718985639364435918886020916637272989910263261700884180576993956563069693503982102861752036325975247538125079428504949201951035595055069660645765964286972788789696437690048173572390612641796081157994104014529330008840637026219914786360975399587457551389361726853257656990823776594295823390811603265009891996179914446259098555189076331212903123 6737182352101364056985448815223319492187070481983630991811481534091201615939054469692311398324497460746640196971316810688844805447750447737026640399726809955360662838138855492564720517489407490116771777763105235852851657074519209731208104633363583045057100752001865958199829085248171117242252190239802698132246773566597696056951178395760998675729338976218402682199199462804202441306680623625054758563690529690415626296279258247448554145615617038350340100521721573504378084502743285141774954399782390781591311569651450590402480457071459493480993251652698199326598956377871393303525300301228453715803929759503948429166366028958840627623858901831510144403308498945624169440677700601251334829188105424508834677941153194148295215020205643151830611569395899398882048204672717255684860654875617251478015729767360386819479618341473981307885820739333206872626564241156675124761104382414349408317503867679845021254499639650308396106315608991584538960611943173016551160624107634029728024921095342416635539183186684040562980387275462633301631115212479954036243072006227442961081655453497262879963141494023307164648549580887033430769499932671411852157489895392735983037534290703901883980263438197718420176350875948798610650834859714088413794706832417034098695673063258979811033322900518777222293572260103036168684464059715085757655570231055816347892936402862847463985098580985626906661940795583035105547080168520551614372823960492383778750406574265211956229510649715750971188620029921553790683796400262988637546119601384874827151463643551665684643493613602646049050432525542619925771663286858403727745209016253094331486149301697735295405720327135578910575711527482984313586987823034145123244396778628840627604502246279159819143468967870414035155194858095145955706824997153488157045943413066773287841848916617390908015539761584503104660986825010584606359381527766350400877321758902713174104589302000505142924120483185702929864218784695637603945114556555193133210824192550530375397829404711976280002849160290293586139971482960365301066284191665530019833438621323415208406873049454363377794320295019264365931977541056580186494441500669650261488919590284603713568452347906929741904802850488869650891742916144244430575033601859899887327523929261741010045761805389702924568960680713537379703133724354962286851382255970659737171515920967671344784418734909512843949878603836659465057808544036113735840479079708432267205431998424799484722621368571296920744648554974229047305264029020533195140272542666916402315882159588607058614066510092932709671603672508893625324860799482967164661289105099167729355716390009458460773472591292292127888093508540228305193906525885098976189344275910640579014763325634119985754094642627476165943445413183356673029044021493475650865865980636958628087848779631805904900159843460809999810431877923624232701952792484081747768120549886431331609056632270306507824029666347772127245385615640610944706632274933118721072446310654047489130181847683403970472139423161479342755622219146515196769704874747466444785442976111677691205451545539087858557813360087661950163083564627492556093020068465359860280250197741313715193203933127915438351036625354842225096159284113798520594730215532277095493300571588899440302285779577529865312146848042142172931692242708571809325178963020867054471179486258640981807415147382512153425258471420090076188055453957589667363419689945495220338184899319061512870985994425129396461304076146281081773361505479017919705978471995845545000660219347429428104496913573182977633647334873705290485884816420983207469876876708037440268139914727005663022624660243160531340416798732733288314532494685273081890415961114696756523226316566388519026709512990594434452619733882429954496064516097384392318140154556979361940669760153821523662240258046793656087316162178580851425043929130021917052806527380010978451282234020083037149453720004358419667493765331322189709940215024257965317161124 10900990034105968602619698694531891219506128348997340953553631209349942067587984385496480412691947716878006519765871271259954238363008775019113451753951133689468031259899243468555063871902848773957066530381755046896887038861313795995981973127425288467076194437590361559655704440621857226348232121402017052249461902117661607157413131542527763475929970644757138194693542397948396642359140132196198361041808101611383930491159151533944816352771996725533541762380147348478133051228090639120105646892995292256846126607171080606470961870444787433798406085198099029776545492626942772056468564216235106535283758220580266983648749139369005260191205140380590309305359320533205040639140226268758509230179695263836709016420531200426818971727389406120552986363879691306690373363520836326253748470446814370219745292844850595357350831709419485699018124570383627099864236353611246940369198539561600673502213865949051546275170327588733592196841825046602733328449871086067050824307155716847840829025350204857420245784718770816415513729623539087642624465397563628120170038270181545060870353795707796596987448252146141752108801217659879572511755497812585247835908545076060894271968642673159425209489433806774780129749385301941213539985002031351225332688927272259201238089658931000056415907923441658858519794769827458322344186017242343628175571562593491188048360894039010237098768477469576653139206580324790681081178620179778703298478746171869453796307858608649180993920595486155617410895935510040415707444727438501938159374344651767801684653972532746439159189726491087633321221218696598389745302717110438135143482466849279694420781794705016734194245503322023846437542093841357195507403568805223494954823081291166450951318952857220019080428437684150494412648927480934148686156772609033515489506146761230521685080807282036030923992498029473773560930147609292289009678266332767821102618550269075102458141554606071718563496401552969423893132089021933847272307858782931883270495465700488951819148749817958811092793593340183757335591528072767659981800240689028466037328605210718268394661714842008108821516669499559376233758986719905352479171543775789384973250063966537300516708252917990566581287445736011154082589893289518135703888808124177636266674322739682561329726966101321269059495665815425936652686650309520950550879113608432702874969388053312267328346806385918434936350473699764322755416297072481885867292493206855969761118501315242765267047041839994908625893182697588843935726412180528185607429658064860494585043032920115477744776736912416754451769501059957559765158111704149888780133766314777738633032990809078959896551094482663425930022325905747703905700945626954866919166932311394744572807934783616296812961240598230047966806457480416671032117414178355136750595728194846470529781160070120052327671510051949022543572332496361713566078964460169433971020228388020193316668419836851979228666191173393535451557088844994486275719563545632044812787232725043917418887140196048805152991689890109361877136607123774893366511429365295375078559081263364824982912045638935246945662296677515056366883446044377403296941421894745200985466695113874374356228776961098088126064532487191216834836665080887627984380313075977516371724020120278154229985008657709562695315835247045745193931607556171448516214261581788093667434506042191747773388501622536879045779575157139242112706591252710856411155053490105359268832141229222860606155502835249746645356737357270671575738615159684522007140577130417708598623838625103841330359222375716331757668028554685711364646907003332245253628476228470827193854250445991302387060579129181447977689788642996550015416675262267038453485654618678859384978352892363766564834592419099383654570769477485024156710282061671365106929850994669410114242150766463319743398252150808185417325002815607071339830290105421504510357916741737831708939224843859631445277110815961684677385761511236635969038770213334296530064247 17638172386207332659605147509755210711693198830980971945365112743441143683527038855188791811016445177624646716737188081948799043810759222756140092153677943644828694098038098961119784389392256264073838308144860282749738695935833005727190077760788871512133295189592227517855533525870028343590484311641819750381708675684259303214364309938288762151659309620975540876892741860752599083665820755821253119605498631301799556787438409781393370498387613763883881862901868921982511135730833924261880601292777683038437438176822531196873442327516246927279399336850797229103144449004814165359993864517463560251087687980084215412815115168327845887815064042212100453708667819478829210079817926870009844059367800688345543694361684394575114186747595049272383597933275590705572421568193553581938609125322431621697761022612210982176830450050893467006903945309716833972490800594767922065130302921975950081819717733628896567529669967239041988303157434038187272289061814259083601984931263350877568853946445547274055784967905454856978494116899001720944255580610043582156413110276408988021952009249205059476950589746169448916757350798546913003281255430483997099993398440468796877309502933377061309189752872004493200306100261250739824190819861745439639127395759689293299933762722189979867449230823960436080813367029930494491028650076957429385831141793649307535941297296901857701083867058455203559801147375907825786628258788700330317671302706664253232546714432873861137223431245201906588599515965431594206391241127701490575705493946036642628836117616084412123802683340093733682371653744239218315516966003968841862888691483102374025906931096402752029599965830457602757013253621324341509094391391839368618199219859920007078555821199136379838223897405554564529567843785576080104392981769762521672535449559828003809526929723899426938939532259613976878221916972619876895369059794099118221979940309171788276562730856606576861487616884738672353757350873717571451217422415338125016481319658251019327216978154529935091095642753630477343475563011033132961048084432354558485870767226534133476801534764296371486615836964518823742165736527776485538973613044445439646462169654251141014085160600824920308486090296224880804974332809433762566278922409984077523594198252001423571375488771491024193628456346528963316355820374664483237402261369579092440046485309020983612112765541295431278886229077536423787813224841108595621707771572915288236966550499740042249989668410411291829370541737671817891240990441201061380747702200731776896900925192508722536358843247005349464123373173568851185090018911187117053441422871413945467988749380818537420670023685774955553818115834445976009099607471512053843108511208222035323587571260417736282567055883225706213910251870663773344061161435671830787616461708831805098617629939701925957227831353512759022354004210419985946268031756944251181739140778274451524925725052107158487052695857521165662696942704485605430982351838478750765885233543379091406549068987879452775625131113051588704632758826270290090136216304112761819864002057375042516188363591178023105503475656765177006529967010671869959389961490360105061265716892855188089549432710089013526477101157842033441930995949194686148579110528608254611865024591709177594532270788235239428007462683289187918125623850264743257841393224602655148138613992300832729580803649005049032471038046577229318300762045210300523774574743435600579607017040548284373477141497260379143106660813503551753349100120638702441713119049126263253599284057972533269434856135948899309391315363428391001850531723424315452723505352936508267461994165172996965409685239372341979318106587375729838329949169947540120343901615733375615908204669458752285591544105409693818107190503359914978652774798159055757425070005551648772054911910920284843405638510197601841504641164994187922764874219235443421563164444121748810160221458863942668594730830820320104344879526842558825678978985237592261847225371 28539162420313301262224846204287101931199327179978312898918743952791085751115023240685272223708392894502653236503059353208753282173767997775253543907629077334296725357937342429674848261295105038030904838526615329646625734797146801723172050888214159979209489627182589077511237966491885569938716433043836802631170577801920910371777441480816525627589280265732679071586284258700995726024960888017451480647306732913183487278597561315338186851159610489417423625282016270460644186958924563381986248185772975295283564783993611803344404197961034361077805422048896258879689941631756937416462428733698666786371446200664482396463864307696851148006269182592690763014027140012034250718958153138768353289547495952182252710782215595001933158474984455392936584297155282012262794931714389908192357595769245991917506315457061577534181281760312952705922069880100461072355036948379169005499501461537550755321931599577948113804840294827775580499999259084790005617511685345150652809238419067725409682971795752131476030752624225673394007846522540808586880046007607210276583148546590533082822363044912856073938037998315590668866152016206792575793010928296582347829306985544857771581471576050220734399242305811267980435849646552681037730804863776790864460084686961552501171852381120979923865138747402094939333161799757952813372836094199773014006713356242798723989658190940867938182635535924780212940353956232616467709437408880109020969781452836122686343022291482510318217351840688062206010411900941634622098685855139992513864868290688410430520771588617158562961873066584821315692874962935816705262268721079279998032173949951653720327712891107768763794211333779626603450795715165698704601794960644592113154042941211173529507140151993599857304325843238715023980492713057014253079138542371555188024955706589234331212010531181462969863524757643450651782847120229169184378738060431886043082558859440863379020872411212648580051113286291641777650482962739505298489730274121056899751815123951508279036126904347893902188436346970661100811154539105900621029884673043586951908095831744851745196196479138379595437353634018383118399495514496390891452784588221229031435419718217678314601868853742910875067377741960891959056922702723280701982811218108255159860872574741106132705215737592345462687952012344389253008507024974004187953140483187525142921454697074295879441112347681349713822579551236188110568641138181077507575064066122144206727669001055285015256715452251286737996434920369406735176716853381589566355131858796637391485968225428838014103619983917766218575142674628808744855177022891266942221556637728723206621782371627616380566574780257618979748138160351723713005308417139008710027678140533430068160379195201352579380017123823936261877058328144190015093278849850185924367057437026651569147411099772046009555502863564708044897576542916347659834110721404420615710161006662471718242393471944010466281362048694559198148499793330599917258071402024382810698020776104135323967956128075501580778122802941698066509895433394064983502727733478057194942561138638407341171275636816958352449137953442692062896850456716247362686902912254850262251183587969062463905661487050111614603165690329224658765832614275573776563490841684232128236748611829455748762255796892948990702778518536233663319555457820914706357607486184443241806048498343024477354192150627585911516817621734368560413468636463011380185729796925705938875849181777507234083297000095628889752017550860822424924838735798386963720259626256680962197907896597637110765215358324615641148983391983076713215178630427647697977133829164979094655848415618988267796745818501523427295796376018726388345365845209807158797387270352054475293183022351116052156378697828793201761761272837400002809485080220727122531999856546318182169154061686748163149036762348410026921966167809794994104704509340864926073522360863486641869160683707802300040007941636281789022265288353795461648017755450926558377289618 46177334806520633921829993714042312642892526010959284844283856696232229434642062095874064034724838072127299953240247435157552325984527220531393636061307020979125419455975441390794632650687361302104743146671475612396364430732979807450362128649003031491342784816774816595366771492361913913529200744685656553012879253486180213586141751419105287779248589886708219948479026119453594809690781643838704600252805364214983044066035971096731557349547224253301305488183885192443155322689758487643866849478550658333721002960816143000217846525477281288357204758899693487982834390636571102776456293251162227037459134180748697809278979476024697035821333224804791216722694959490863460798776080008778197348915296640527796405143899989577047345222579504665320182230430872717835216499907943490130966721091677613615267338069272559711011731811206419712826015189817295044845837543147091070629804383513500837141649333206844681334510262066817568803156693122977277906573499604234254794169682418602978536918241299405531815720529680530372501963421542529531135626617650792432996258822999521104774372294117915550888627744485039585623502814753705579074266358780579447822705426013654648890974509427282043588995177815761180741949907803420861921624725522230503587480446650845801105615103310959791314369571362531020146528829688447304401486171157202399837855149892106259930955487842725639266502594379983772741501332140442254337696197580439338641084159500375918889736724356371455440783085889968794609927866373228828489926982841483089570362236725053059356889204701570686764556406678554998064528707175035020779234725048121860920865433054027746234643987510520793394177164237229360464049336490040213696186352483960731353262801131180608062961351129979695528223248793279553548336498633094357472120312134076860560405266417238140738940255080889908803057017257427530004764092849046079747797854531004265062499168612651655583603267819225441538730171030314131407833836457076749707152689459181916233134782202527606253105058877828993284079100601138444286717550139033582077969105398145437778863058278985221997731243434751082053190598537206860565232042272876430426397632666668677897589372468819328687029454567831183553468038185772764031255512157043268261733628092332683455070826742529704080704509083369656316408358873352569364327399638487425355401852766617582967940006095279491553877888976780992708808628772611898381865979289673129282835639037432443694219500795327265246383862662578567366976658041224626417707294582650947102834059528414288386893417937560550462463230923115682698515848197659929945195934078383995662979509142668674610531752446153801236598466032574533566253994797699722104915888651062553136189348755465391747950455619088861947073007049642475787310198807963359154440285522016711983519145858456667765041039473971966783334217077467067251580753336333606102142478348671797449301784936923243168118524051168953334057906215724860845442497816205348240423240503133576583254319483226730517025115954954356403253915993286771142654259664355073638944037590819014806563196013449857359639227994981457952613610207869069426817467388117322076864402614955323516900480824250553455094197139125141080266848171258100696828563470259925142601370292486740101773203538633343294526585128188418710241201825421581445179308085657964199000710787098389944662490643857206934995799632634943987855668311597878714230681673311903960304540361306518482866222325791607560438497356008032858678364364374178273938856437089405433378675382944215797191954570170380200071494273514950540298755411467715065710353851963150700639182101487362117842580791985233206431057873865406613902963394456226675315015157347279141288886085430091201387691809868337747922803238487019868951776197314981462259878379782879957069862097966954224065972607033006554675272546011868426607332803982916869578728576308347636686804985235452029382142571744968634738772456601893367144815196354287326996740688518820224514989 74716497226833935184054839918329414574091853190937597743202600649023315185757085336559336258433230966629953189743306788366305608158295218306647179968936098313422144813912783820469480911982466340135647985198090942042990165530126609173534179537217191470552274443957405672878009458853799483467917177729493355644049831288101123957919192899921813406837870152440899020065310378154590535715742531856156080900112097128166531344633532412069744200706834742718729113465901462903799509648683051025853097664323633629004567744809754803562250723438315649435010180948589746862524332268328040192918721984860893823830580381413180205742843783721548183827602407397481979736722099502897711517734233147546550638462792592710049115926115584578980503697563960058256766527586154730098011431622333398323324316860923605532773653526334137245193013571519372418748085069917756117200874491526260076129305845051051592463580932784792795139350556894593149303155952207767283524085184949384907603408101486328388219890037051537007846473153906203766509809944083338118015672625258002709579407369590054187596735339030771624826665742800630254489654830960498154867277287077161795652012411558512420472446085477502777988237483627029161177799554356101899652429589299021368047565133612398302277467484431939715179508318764625959479690629446400117774322265356975413844568506134904983920613678783593577449138130304763985681855288373058722047133606460548359610865612336498605232759015838881773658134926578031000620339767314863450588612837981475603435230527413463489877660793318729249726429473263376313757403670110851726041503446127401858953039383005681466562356878618289557188388498016855963914845051655738918297981313128552844507305742342354137570101503123579552832549092031994577528829211690108610551258854505632048585360973006472471950950786262352878666581774900878181787611213078215264126535914962890308145058028053515034604475679031874021589843457321955909058316799196582048196882963580238815984949906154035885289231963225722895472515447571799545097872089244934203107853778441732389686958890023836967193927722573130677490544232555589978964727556769267321879182220887897709333009090686497643288898308310742058620845780146664723088178214880323970244544846200587843315943401483635836785920246675715119004360371217741822372834424612491613308542335954142725889394703169575370994990236658130706531388180008800008950507117470750636857899705159576650421888501850612280503099314913865305363411578410631361594424147964240513457965918325051679872861643366398564566083214840881901273658522826468674800372956969650937884536146871391881232314124073770181803173246290193513314392155149423435110224305790071263163867489288895459908329650820441441327090130873578737664368526952153374247719135372202636350576582885108236912452139246017976338837080642175112149157296252681265936253199753092413159462791599394961410511995995179419615419954910284058993942291146805265498494642527516387281275095587362054484981244030455937181376718934984837652549693058420057141671771068876209749124334651857198530914864811939810401751563650561132323667924104364684763767314869805585768084068793313017360755684189236755683432538500482759462661177745833701706092211976718868338521815368089092056782382021137409413019720361655244764734765906572670556608196971541631750710988986881684289187950260220855504673290045966439127699318136323284146034337287012457358715404103298841643735497451636922610695915225196603198777592235476369153638301639625177995099851167807490965286852598130591689282147394544428280888984279610848677773011266466456773690996410973501003176876375388833909699339413182615020680860367154437938676156437484566494570714160984389904301501067280221630713049034714984271744958600510002489069718644285136393220034293781169703712034894421895348573500613777910974283237917173273710209165848722093898542826279547268674746714092883682389410103550149748975014496139445378601804607 120893832033354569105884833632371727216984379201896882587486457345255544620399147432433400293158069038757253142983554223523857934142822438838040816030243119292547564269888225211264113562669827642240391131869566554439354596263106416623896308186220222961895059260732222268244780951215713396997117922415149908656929084774281337544060944319027101186086460039149118968544336497608185345406524175694860681152917461343149575410669503508801301550254058996020034601649786655346954832338441538669719947142874291962725570705625897803780097248915596937792214939848283234845358722904899142969375015236023120861289714562161878015021823259746245219648935632202273196459417058993761172316510313156324747987378089233237845521070015574156027848920143464723576948758017027447933227931530276888454291037952601219148040991595606696956204745382725792131574100259735051162046712034673351146759110228564552429605230265991637476473860818961410718106312645330744561430658684553619162397577783904931366756808278350942539662193683586734139011773365625867649151299242908795142575666192589575292371107633148687175715293487285669840113157645714203733941543645857741243474717837572167069363420594904784821577232661442790341919749462159522761574054314821251871635045580263244103383082587742899506493877890127156979626219459134847422175808436514177813682423656027011243851569166626319216715640724684747758423356620513500976384829804040987698251949771836874524122495740195253229098918012467999795230267633688092279078539820822958693005592764138516549234549998020299936490985879941931311821932377285886746820738171175523719873904816059709212797000866128810350582565662254085324378894388145779131994167665612513575860568543473534745633062854253559248360772340825274131077165710323202968023379166639708909145766239423710612689891041343242787469638792158305711792375305927261343874333769493894573207557196666166690188078946851099463128573628352270040466150635653658797904035653039420732218084688356563491542337022103551888756594548172937989384589639383967785185822883839877827465821948302822189191658966007881759543734831092796839529959599042143752305579853554566387230598463155316971975927762878573242174313818332437487119433727037367238506278474292920526771014228226165540866624755759084775320768730091094391737161824250979038663944188720760308857334709264854862548868125634911699240196808781411907332373096760423766140735344197009094116108002645939545749483177576443872730388236451855988012131442546891460560799977853465968259755061303959115028546445763997583972174371024128604745568891048034933547515656014060555842845876519923983039771712322768046880646149947123157215140194441133816300056838044360851656280106439530303274163137923221213451678725760116733402159420894219348334095728743564904677493178719989943122171297719642179400738049589014872038395678101764210608764576536318204578630520046348372949477861126008919839384788963010613738917883030649963864529415070588785002006359985410293584630634928271608795203952722775130780615808659695224555687530665307055890554092806921268354365173858430201750485391492482006840631717484760909284984549617563570815849881328361896763699386671740860159489741216093626848693582269205608440295018906722435351308967149325828123260922187076826209914073992230634755608907758640021695373479630738891224183749892855799492528958357564317841929999809635188106338877648318975841581626429090449204173994807644955469374279589570781472716448672565774587016977022569393792291805737977871165358346871645542229580902806012143346599338131573999378412193367953818891533577202958734209607934249254240523602302807638841695995875524501717079965042522914657695958405970852727652224304305767241499664825232029965734004836980292882446139580742252090617286006900814176258387307440433763775180833417760827843861966493481621346895970833957545927924968851292237309485486549485575756554918746504036302011236827964198826319596 195610329260188504289939673550701141791076232392834480330689057994278859806156232768992736551591300005387206332726861011890163542301117657144687995999179217605969709083801009031733594474652293982376039117067657496482344761793233025797430487723437414432447333704689627941122790410069512880465035100144643264300978916062382461501980137218948914592924330191590017988609646875762775881122266707551016762053029558471316106755303035920871045750960893738738763715115688118250754341987124589695573044807197925591730138450435652607342347972353912587227225120796872981707883055173227183162293737220884014685120294943575058220764667043467793403476538039599755176196139158496658883834244546303871298625840881825947894636996131158735008352617707424781833715285603182178031239363152610286777615354813524824680814645121940834201397758954245164550322185329652807279247586526199611222888416073615604022068811198776430271613211375856003867409468597538511844954743869503004070000985885391259754976698315402479547508666837492937905521583309709205767166971868166797852155073562179629479967842972179458800541959230086300094602812476674701888808820932934903039126730249130679489835866680382287599565470145069819503097549016515624661226483904120273239682610713875642405660550072174839221673386208891782939105910088581247539950130701871153227526992162161916227772182845409912794164778854989511744105211908886559698431963410501536057862815384173373129355254756034135002757052939046030795850607401002955729667152658804434296440823291551980039112210791339029186217415353205307625579336047396738472862241617302925578826944199065390679359357744747099907770954160270941288293739439801518050292148978741066420367874285815888883203164357377138801193321432857268708605994922013311578574638021145340957731127212430183084640841827605595666136220567059183893579986519005476608000869684456784881352615224719681724792554625882973484718417085674225949524467434850240846100918616619659548203034594510599376831568985329274784229109995744737534482461728628901988293676662281610217152780838326659156385586688581012437034279063648386818494687155811411074184762074442464096563607553841814615264826071189315300795159598479102210207611941917691208750823320493508370086957629709801377652545002434799894325129101308836214109996248863470651972486524674903034746729412434430233543858362293042405771584988790211916282880214231174402998635049356585744537996504496551826252582492490309178093799814862487349606555590511131974018765896178517648132616704670357679594629660604879485245832893850597279545941848017685871432051802885452437075160000593694164842944958612961560195038305096546592325364500231205079463924327333256311564609757259971744601253268796799951116047252712270107649878556266421984684672311628673141589945317966007919461008378361817291549895345841696137974648877854856623768227368135713165989142516041527792564897816036292978833327080109815879237412525558166351145804510657950839486987604015866230766007353863256446447753645781195187922287579728571434304811865317164254421468957618861078756116737508991334074153315596846691604399032354566495053068618410876588176605565517598652447131925172223619622150918961927328554785794245924476778816834274811527408091349170463237536280642548732070974648839898803305312217104730181653446084468617620575513371700153076654997202248403530756969629317945958472252373214935331433200297030532389290847909492259281878080070194814767384671494040908042143740655278662194571787391656905785362130645199469776133918863050200556571627488322411184848056185204634420275665224573613932235212784810624643074433301642220821456716676735891656155018641198960399224190529120131837117556525805373047463130377874266744950005749795580802884935209299386537227010506041194595345962099342334855659123754334031538738818145204410654895057105136682679639826467795130839505984232200642369258145965022296653785277025732967409577428124203 316504161293543073395824507183072869008060611594731362918175515339534404426555380201426136844749369044144459475710415235414021476443940095982728812029422336898517273353689234242997708037322121624616430248937224050921699358056339442421326795909657637394342392965421850209367571361285226277462153022559793172957908000836663799046041081537976015779010790230739136957153983373370961226528790883245877443205947019814465682165972539429672347301214952734758798316765474773597709174325566128365292991950072217554455709156061550411122445221269509525019440060645156216553241778078126326131668752456907135546410009505736936235786490303214038623125473671802028372655556217490420056150754859460196046613218971059185740158066146732891036201537850889505410664043620209625964467294682887175231906392766126043828855636717547531157602504336970956681896285589387858441294298560872962369647526302180156451674041464768067748087072194817414585515781242869256406385402554056623232398563669296191121733506593753422087170860521079672044533356675335073416318271111075592994730739754769204772338950605328145976257252717371969934715970122388905622750364578792644282601448086702846559199287275287072421142702806512609845017298478675147422800538218941525111317656294138886509043632659917738728167264099018939918732129547716094962125939138385331041209415818188927471623752012036232010880419579674259502528568529400060674816793214542523756114765156010247653477750496229388231855970951514030591080875034691048008745692479627392989446416055690496588346760789359329122708401233147238937401268424682625219682979788478449298700849015125099892156358610875910258353519822525026612672633827947297182286316644353579996228442829289423628836227211630698049554093773682542839683160632336514546598017187785049866876893451853893697330732868948838453605859359217489605372361824932737951875203453950679454560172421385848414980633572734072947846990714026495989990618070503899644004954269659080280421119282867162868373906007432826672985704543917675523867051368012869773479499546121488044618602786629481345577245654588894196578013894741183658024646754853554826490341927997030483794206016997131587240753834067888542969473416811539697327045668955058447257101794786428896857971857935966918519169758193884669645897831399930605847158073114449690636430713395663343604064121699285096092726487927954105011781797571623823615253310991598169139370393553594838654104507142491372002065670066753050824188051314343337618687033058023434579565874031983616392371765974316794623176106368877069218007264874725884291510739065720804979567458899512992918005877113618147882716670935729607075684455043669749540504694672338895763981165377617163220889863699502047875416406720021164567725978472386841052037977160641333018768040372238046267438496685997862583179676081459470950633395430711010013044555956620834376991944672031370567773036087876165514375677162301898672711869072826492976330408588816315010333925728539624488993964001276524350637988791528055242957598503970318702903388388266658860499395982471310312023050425782347110481911367421535824638707089328698445030749839327404338053168028440158992455446845960549210831311843964479781640660178020955403479376515130085219111853181533962759400316319789065659541564735808897184562913891033940067826012488821675141457948248359466737555450045932454489731206761095074811559317755593660358712092583650409041878656961479740052083487066926833549444474404338166144210489580607918327672255684763965579683462643763233296003546341421676148443953006568714974087660542758847434597398002374094556758150816890969422392744873897314956903945028460298412672611416157872098606241483313881886487526102689845208750109678814704630042699498774915739754632561095767381348880128789317627792048095409522220486649775289422898935167449299566662007170904136516404001107516637185754392763982131743293717687191854833902519941043157821579036969795373776254443799 512114490553731577685764180733774010799136843987565843248864573333813264232711612970418873396340669049531665808437276247304185018745057753127416808028601554504486982437490243274731302511974415606992469366004881547404044119849572468218757283633095051826789726670111478150490361771354739157927188122704436437258886916899046260548021218756924930371935120422329154945763630249133737107651057590796894205258976578285781788921275575350543393052175846473497562031881162891848463516312690718060866036757270143146185847606497203018464793193623422112246665181442029198261124833251353509293962489677791150231530304449311994456551157346681832026602011711401783548851695375987078939984999405764067345239059852885133634795062277891626044554155558314287244379329223391803995706657835497462009521747579650868509670281839488365359000263291216121232218470919040665720541885087072573592535942375795760473742852663544498019700283570673418452925249840407768251340146423559627302399549554687450876710204909155901634679527358572609950054939985044279183485242979242390846885813316948834252306793577507604776799211947458270029318782599063607511559185511727547321728178335833526049035153955669360020708172951582429348114847495190772084027022123061798351000267008014528914704182732092577949840650307910722857838039636297342502076069840256484268736407980350843699395934857446144805045198434663771246633780438286620373248756625044059813977580540183620782833005252263523234613023890560061386931482435694003738412845138431827285887239347242476627458971580698358308925816586352546562980604472079363692545221405781374877527793214190490571515716355623010166124473982795967900966373267748815232578465623094646416596317115105312512039391569007836850747415206539811548289155554349826125172655208930390824608020664284076781971574696554434119742079926276673498952348343938214559876073138407464335912787646105530139773188198617046432565407799700721939515085505354140490105872886278739828624153877377762245205474992762101457214814539662413058349513096641771761773176208403098261771383624956140501962832343169906633612292958389570476519333910664965900675104002439494580357813570838946202505579905257203843764633015290641907534657610872749656007925115279937266944929487645768296171714760628684563971026932708766819957154321977920342608917238070566378350793534133715329636584850220996510783366786361835739898133525222772572138005442910180583192101011639043198254648162557062228917987866176830687225242623569155408598331770210501264524988470644674474217805766973756554463840158725323163837452587083406676411619261784965429993165877707312312725661629548691167270722760140216341865869194903543975227905492710873474785499620959473792476669675516821115683773231184656948701916533427063317703440352000911187857383814652005782044188054443276762500528741272407147987693433811477458145219312807744536556915552129403958079273493198594877506038949182642372213742934146982666156138436386490463975981568017142755116645342654784501690711244285165506625190968116838093165311261299635564733492008044643425866598648876412869898792022686175390049429782193893899391121786439316747169061012363559201657963237016188099403791579139948283958265170761054561997928687456345490167491665490252303195822207284540968159211753789837245380043117219003328587542416865980042250927150199009109486933455164625831781188635701552132611085307518981842242175687493869030899992979326208711629514669219105550815704530488650062068327534346958537367075119549548595426648745811197810067307003207125286601575982953943695490782602636794370221982724430823204635177555498540389390205587249281755129349347307814027117247440443713106077016646234526962765275915051862167760420573765519865745504428141898652316558179515326544638298089290004868182585992110145082022689501480838305480152375314791411461106244199316825580860559112971249277949887834224092048484963339811606856062702762783353682568002 828618651847274651081588687916846879807197455582297206167040088673347668659266993171845010241090038093676125284147691482718206495188997849110145620058023891403004255791179477517729010549296537231608899614942105598325743477905911910640084079542752689221132119635533328359857933132639965435389341145264229610216794917735710059594062300294900946150945910653068291902917613622504698334179848474042771648464923598100247471087248114780215740353390799208256360348646637665446172690638256846426159028707342360700641556762558753429587238414892931637266105242087185414814366611329479835425631242134698285777940313955048930692337647649895870649727485383203811921507251593477498996135754265224263391852278823944319374953128424624517080755693409203792655043372843601429960173952518384637241428140345776912338525918557035896516602767628187077914114756508428524161836183647945535962183468677975916925416894128312565767787355765490833038441031083277024657725548977616250534798113223983641998443711502909323721850387879652281994588296660379352599803514090317983841616553071718039024645744182835750753056464664830239964034752721452513134309550090520191604329626422536372608234441230956432441850875758095039193132145973865919506827560342003323462317923302153415423747815392010316678007914406929662776570169184013437464202008978641815309945823798539771171019686869482376815925618014338030749162348967686681048065549839586583570092345696193868436310755748492911466468994842074091978012357470385051747158537618059220275333655402932973215805732370057687431634217819499785500381872896761988912228201194259824176228642229315590463672074966498920424477993805320994513639007095696112414864782267448226412824759944394736140875618780638534900301508980222354387972316186686340671770672396715440691484914116137970479302307565503272573347939285494163104324710168870952511751276592358143790472960067491378554753821771351119380412398513727217929505703575858040134110827155937820109045273160244925113579381000194928130200519083580088582216564464654641535252675754524586306389986411585621847540077997758800830190306853130754134543980665518520727165445930436525064152019587836077789746333739325092386734106432102181604861703279827808103265026910066366163802901345581735214690884518822569233616924764108697425804312395092370033245347951466229721954857655833000425729311338148950615795148583933459563513386836214370741277375836463775421846205518781534570256713832623815279742175917491174024843929656627178843177897644242484880917360236618991268840981873342633623681847423600049048128963326149127481391186720684478422911171754820930460608378300484420774346407215183886091406373889575882870991886658088490638006389484658975840352086082236842280251499209657043789753954510587704650722208392373149234124822311338003644627367730524736233451162136703118158000737989768098292522211257479775907124688588217280123593649170360896776178750818255468865190073342735798981166472362115030088464975532018419279467283331446312556933668842789135825328094356505104752025810657282106875045515058470425772977080560243834405723430729775504088494460532033221303729174954467756906161516459209519750868794548860152579185432239317969239361744547276184647217040540637879452926891981810041368855363772020349865343774667680871185447869129707825003729000365114339508988482600244941563976664661925720906592747953457145792969797400102632251284054344455348770952076466393135545178959143623443716959915020069257980395999790031722502946758582193311828722652292152619486215750956213694001575663643496702542925380000639168464778740875247714174057570300372437704347109532277742053542021958723971899215853681927026987963504172337216807974026024730676872390463273264294781485259060702994419697907059644115862266090137385414390403072641885434504921624668930137872142159546218927927865107351715954011335253323095102992571667575026078925951004904382969428435099672558157129937011801 1340733142401006228767352868650620890606334299569863049415904662007160932891978606142263883637430707143207791092584967730022391513934055602237562428086625445907491238228669720792460313061270952838601368980946987145729787597755484378858841363175847741047921846305644806510348294903994704593316529267968666047475681834634756320142083519051825876522881031075397446848681243871638435441830906064839665853723900176386029260008523690130759133405566645681753922380527800557294636206950947564487025065464612503846827404369055956448052031608516353749512770423529214613075491444580833344719593731812489436009470618404360925148888804996577702676329497094605595470358946969464577936120753670988330737091338676829453009748190702516143125309848967518079899422702066993233955880610353882099250949887925427780848196200396524261875603030919403199146333227427469189882378068735018109554719411053771677399159746791857063787487639336164251491366280923684792909065695401175877837197662778671092875153916412065225356529915238224891944643236645423631783288757069560374688502366388666873276952537760343355529855676612288509993353535320516120645868735602247738926057804758369898657269595186625792462559048709677468541246993469056691590854582465065121813318190310167944338451998124102894627848564714840385634408208820310779966278078818898299578682231778890614870415621726928521620970816449001801995796129405973301421314306464630643384069926236377489219143761000756434701082018732634153364943839906079055485571382756491047561220894750175449843264703950756045740560034405852332063362477368841352604773422600041199053756435443506081035187791322121930590602467788116962414605380363444927647443247890542872829421077059500048652915010349646371751048924186762165936261471741036166796943327605645831516092934780422047261273882262057706693090019211770836603277058512809167071627349730765608126385747713596908694527009969968165812977806313427939869020789081212180624216700042216559937669427037622687358784855992957029587415333623242501640566077561296413297025851962927684568161370036541762349502910340928707463802599811520324611063314576183486627840549932876019644509833158675023992251913644582296230498739447392823512396360890700557759272952025346303430747830833227503510862599279451253797587951696817464245761466717070290375854265189536796100305651189966715755365896188369947126578515370295295303411520361437143313415381279373956005038306530420577768511361995180877508660163783668004712069172280196334251776229414452986145442348707263665743058787640316390178145687582325372211966415913232534157802805982469443852904337632528242773334039930033111941617129975324102433272243084479426846219792150799364112791889105618449632828755757753663395935272440841700738455871044014767968425648744374060421982206125990009426671555784968012995951690877975525305988431423579575750667430570287520443681604140346684081672922663559491653684789767438111237403816276882781647322610798501520552440957100035562034583928674101097058624380087074301331953285324621942845191121918581742439779007066515069198843679209120247275622222752461679478543890314227115203120296740907073653330577471573078952526757785876340678589223818457917523320009718037239209214969228094224943094383647300293672051185979304890833502986421470708430827912246926828332316542781980319551239409750443950673463598117090346738373936589158697925580882707621614093526230031949217801852069445719344256808473812842549267775619550557908042464327324378681040313833701742860424149301037963817296283057959420819288177239626450646238416162603275962835000723599678537378692747855870978093737315119527023808671371306031785926333101122370740094040520818571743770739301939782539040150883847029814647230763488844893072014465239159442406904388226675419258585658633995579586944314170410976177622311921533719339326213595915270836916113882208074241849617462860303017999489867722781035291162375320940483619579803 2169351794248280879848941556567467770413531755152160255582944750680508601551245599314108893878520745236883916376732659212740598009123053451347708048144649337310495494019849198310189323610567490070210268595889092744055531075661396289498925442718600430269053965941178134870206228036634670028705870413232895657692476752370466379736145819346726822673826941728465738751598857494143133776010754538882437502188823774486276731095771804910974873758957444890010282729174438222740808897589204410913184094171954864547468961131614709877639270023409285386778875665616400027889858055910313180145224973947187721787410932359409855841226452646473573326056982477809407391866198562942076932256507936212594128943617500773772384701319127140660206065542376721872554466074910594663916054562872266736492378028271204693186722118953560158392205798547590277060447983935897714044214252382963645516902879731747594324576640920169629555274995101655084529807312006961817566791244378792128371995776002654734873597627914974549078380303117877173939231533305802984383092271159878358530118919460384912301598281943179106282912141277118749957388288041968633780178285692767930530387431180906271265504036417582224904409924467772507734379139442922611097682142807068445275636113612321359762199813516113211305856479121770048410978378004324217430480087797540114888628055577430386041435308596410898436896434463339832744958478373659982469379856304217226954162271932571357655454516749249346167551013574708245342956197376464107232729920374550267836554550153108423059070436320813733172194252225352117563744350265603341517001623794301023229985077672821671498859866288620851015080461593437956928244387459141040062308030157991099242245837003894784793790629130284906651350433166984520324233787927722507468714000002361272207577848896560017740576189827560979266437958497264999707601768681680119583378626323123751916858707781088287249280831741319285193390204827155157798526492657070220758327527198154380046714700197867612472364236993151957717615852706822590222782642025951054832278527717452270874551356448127384197042988338687508293992906664651078745607295241702007355005995863312544708661852746511101781998247383907388617232845879495005117258064170528365862537978935412669594550732178809238725553483798273823031204876460926161671565779112162660409099613141003025822260508845799716181095207526518897742373663954228754866924907197651514054692757115837731426884512049202112338768075827804692788402339701159178736913101936823513094954127058695471026359708943882657011899769513659023801827535005925421260095379239381661639193992703153922275815509387349173233942418230517532715963537190507988524678616974055309717211678808887854750798278590277425473180841839990505676186771650498744528209825554602472619147857136747209656107028437328013071298923515492749229402853014678643463989169413347674043189641827767296350806292728563964205266571833920388429863540585693580102593889619618580628489083160616550640905932632053981314051212005547409615558048929863437157281379681127047597216932575863849314824522124985494971820759769364081681345653482237183567038350846260336506849471695374830559492093930782598703395552334736493257774656057775886762681754265313423856432009768732104396021275629110335040906549751325240698846761089151579616275781376634653336045543147094659060227892350688892237440262779016067644966684542615843718550680107724246344810284376404566572804145912112479801987432956465992984735534570627166022860327114410403543260592283936172252871953330116436782498808915634513289752903269947348781341542603915131299779464474926251552750318156243415798084424651804765862213393264755757825548954804297767082004024990908960578713327964513215912541347120294109428716022549547887491712372298803558269170478364060833648988731275881014091865938839341114049764471467752647267191320947631224848251367205303177234421285037886381943950494772105750463726262047879097613556591604 3510084936649287108616294425218088661019866054722023304998849412687669534443224205456372777515951452380091707469317626942762989523057109053585270476231274783217986732248518919102649636671838442908811637576836079889785318673416880668357766805894448171316975812246822941380554522940629374622022399681201561705168158587005222699878229338398552699196707972803863185600280101365781569217841660603722103355912723950872305991104295495041734007164524090571764205109702238780035445104540151975400209159636567368394296365500670666325691301631925639136291646089145614640965349500491146524864818705759677157796881550763770780990115257643051276002386479572415002862225145532406654868377261607200924866034956177603225394449509829656803331375391344239952453888776977587897871935173226148835743327916196632474034918319350084420267808829466993476206781211363366903926592321117981755071622290785519271723736387712026693342762634437819336021173592930646610475856939779968006209193438781325827748751544327039774434910218356102065883874769951226616166381028229438733218621285849051785578550819703522461812767817889407259950741823362484754426047021295015669456445235939276169922773631604208017366968973177449976275626132911979302688536725272133567088954303922489304100651811640216105933705043836610434045386586824634997396758166616438414467310287356321000911850930323339420057867250912341634740754607779633283890694162768847870338232198168948846874598277750005780868633032307342398707900037282543162718301303131041315397775444903283872902335140271569778912754286631204449627106827634444694121775046394342222283741513116327752534047657610742781605682929381554919342849767822585967709751278048533972071666914063394833446705639479931278402399357353746686260495259668758674265657327608007103723670783676982065001850072089618685959527977709035836310878827194489286655005976053889360043244455494685195943807841711287451006368011140583097667547281738282401382544227240370939984384127235490299831149092986108987305031186330065091863348719587247468129304379680379955442712726484669146546545898679616215757795506476171403356670609817885493982846545796188564353171685905186125774250161028489684847731585326887828629654425061228923621810930960758973025298563012036742236416083077725076828792828157743625917327245829232950784953878330539821922566160035766431936461103714888844868952179324524050170336427559088657368108138395211687431922818579622690107279437822985570297062503484827183448982274217019847346730356473148457171802057651146322754958557153975413979973222588250793472061795152614195796996798685623366128719847019877416007276458160550644657580667165832090957950860058534736563431470959687218863590167695895875106009597597744169072122044091340445266665696598617240587573505881121270078089234563318022497970479300460762225354543892654168769977600836927249793857072398054816794487896868910648286939494497479880083548330353131691339997705896501362275811693959118071193346889732089543348635140679648506674182429016937738489234665005748990442408054494445591754603529191500564170664438978484328956967876234698863045582241160487451709969768436281904212822671402355677655922310120612833936363879876233804286001763983350663065646978996826329339115659276410628712957735730630131532349747510622288047103693623561481668362085929074978611467302101132842910903860896106414383340621131774541644131562815345860438336514408353784374656215357831824058795906769308542252511154121185074065324654438789084583574425985679032677021254368080254078781866875055332577930142896397995019757705207191094134780188074604788931443066012114393891821739771331789670884764570787543751882055926668507176044545809480704349452629904295754952692230967323924075946786038392780563726837537963000676074866590736252907574389909876593678810253009752090227386783389286366606517534543546495685167481087511251476270902500746684961949984639828531499017424423200038097176171407 5679436730897567988465235981785556431433397809874183560581794163368178135994469804770481671394472197616975623846050286155503587532180162504932978524375924120528482226268368117412838960282405932979021906172725172633840849749078276957856692248613048601586029778188001076250760750977264044650728270094434457362860635339375689079614375157745279521870534914532328924351878958859924702993852415142604540858101547725358582722200067299952708880923481535461774487838876677002776254002129356386313393253808522232941765326632285376203330571655334924523070521754762014668855207556401459705010043679706864879584292483123180636831341710289524849328443462050224410254091344095348731800633769543413518994978573678376997779150828956797463537440933720961825008354851888182561787989736098415572235705944467837167221640438303644578660014628014583753267229195299264617970806573500945400588525170517266866048313028632196322898037629539474420550980904937608428042648184158760134581189214783980562622349172242014323513290521473979239823106303257029600549473299389317091748740205309436697880149101646701568095679959166526009908130111404453388206225306987783599986832667120182441188277668021790242271378897645222484010005272354901913786218868079202012364590417534810663862851625156329317239561522958380482456364964828959214827238254413978529355938342933751386953286238919750318494763685375681467485713086153293266360074019073065097292394470101520204530052794499255127036184045882050644050856234659007269951031223505591583234329995056392295961405576592383512084948538856556567190851177900048035638776670188643245513726590789149424032907523899363632620763390974992876271094155281727007772059308206525071313912751067289618240496268610216185053749790520731206584729047596481181734371327610368375931248632573542082742426261917179665225965936206300836018480595876169406238384602377013111960103163275773483193088673452606736199758215967738255466073774395352622140871754438525320031098827433357912303513329979260945022647039036887682086131361613198522961582907397832226317264082932796530743588887018303724051788413140822482102277905059587501337852541659501109061833538651697227556248408412397073464964431206382833746912489231757289484348909896171642619849295190845980961969566875998899859997704618669787588893024941395611194053491471542847744826668881566148117556311241407742611325843278752805037261334756740171422800895511049418858807330628824802446047513650790263085464843185986362185895376153843360441684483531843928198161766595028979766858326667634437781800757594176214732157174391995857436190791388777288404535356407226589241218876391068177373544204356340079482629477032590046280643149768575073614388446286173300579190439437734674748308815741839189794875522153219713206721363017868479734196263000646035569269402815953511454757396907332812233966770250274923837046714225822113145294189597474612492206066331400268513411870938825271442591595516119942904300777119734621834252822364143524662686352685195916289740477946801175646516044686876038039624987070309441069428051316486059142485198747848410638313529716936046612620592006747788216819240131656734772314765333138276359317862455349327194138535934009691048683518248664086922078988765558433735136934905520963753864285481955372231196508599773867663379475000196135004407629076169637671695194451821735148344123675122482028307305674390385362682242923070106783146798784758350947460361269944303860783339725774535237246688691812240088184981553199488126835018269615204929893207698196690861280675790689845867683046166345343801099247811106225434559652549531040484193384168357809689906164423136555533098157835543301577431010730966274258048570800389664928165957868808970865233578087618033504662808587940668055439209836766558945245344954797086556563121185757607770676191849093204277151254857039013873708855491177720533418848292814428710692187538633066905900479411934281962743686471079135710732763011 9189521667546855097081530407003645092453263864596206865580643576055847670437694010226854448910423649997067331315367913098266577055237271558518249000607198903746468958516887036515488596954244375887833543749561252523626168422495157626214459054507496772903005590434824017631315273917893419272750669775636019068028793926380911779492604496143832221067242887336192109952159060225706272211694075746326644214014271676230888713304362794994442888088005626033538692948578915782811699106669508361713602413445089601336061692132956042529021873287260563659362167843907629309820557056892606229874862385466542037381174033886951417821456967932576125330829941622639413116316489627755386669011031150614443861013529855980223173600338786454266868816325065201777462243628865770459659924909324564407979033860664469641256558757653728998927823457481577229474010406662631521897398894618927155660147461302786137772049416344223016240800263977293756572154497868255038518505123938728140790382653565306390371100716569054097948200739830081305706981073208256216715854327618755824967361491158488483458699921350224029908447777055933269858871934766938142632272328282799269443277903059458611111051299625998259638347870822672460285631405266881216474755593351335579453544721457299967963503436796545423173266566794990916501751551653594212223996421030416943823248630290072387865137169243089738552630936288023102226467693932926550250768181841912967630626668270469051404651072249260907904817078189393042758756271941550432669332526636632898632105439959676168863740716863953290997702825487761016817958005534492729760551716582985467797468103905477176566955181510106414226446320356547795613943923104312975481810586255059043385579665130684451687201908090147463456149147874477892845224307265239856000028655218375479654919416250524147744276334006798351185493913915336672329359423070658692893390578430902472003347618770458679136896515163894187206126227108321353133621056133635023523415981678896260015482954668848212134662422965369932327678225366952773949480081200445991090887287078212181759976809417465677290134785697919939809583919616993885458948514877472995320699087455689673415005224556883353330498569440886758312696016533270662376566914292986213106159840856930615645147858202882723198385649953723976688790532776413413506220270770628561979007369802082669667392828917332580054017414956296587480278022603276855207597762315828828790909033906261106290730149208447492553326951473775833382527346670813545634877650370863207788414840004992385369963824246175302521816883821609851761773980182427008204218969544610053233187590074400654533255203427104005248495334551618822031124871522172170440580337091124782844074620728262292477978613982069175685200037035478843820430859833179635061541218751836953794294868898989749812285497563964058067239882116414273680111940799986981003944371087202173630903786623876929939782086466385260779145560828880148596960201291956962782589301412621305180112471078852693027599712096233068011321493364844422963922906963738914135750709692625028482033041564755032824031580507986623313149637726332739595281405951634909658202833167235239926789008567938638985137436735493954015240172575962161130502415810243495334685282232014749987725967762384763074252594181931592466822021212585503763546256110396155710483168623757616672769715005244616283162496552954578059247984571228896411647926806164927006813805738415967221483313193112135322116576627776127919579246495083077489757842812997314153509635991988572710409444255294237606914462066276944940062542665745178445613189062743338820856953018297319569339840624135829415636450180472203581727904194468345203982922406330845329313066657634781434093116609870369277618587773104725817925809054941957580609594626333448619166047374729559621320211545533339464137511095634201449486444858845294504538038246325380480226390034724216218586329380325680186963090039379751867850464051762813461761110894279173807908934418 14868958398444423085546766388789201523886661674470390426162437739424025806432163814997336120304895847614042955161418199253770164587417434063451227524983123024274951184785255153928327557236650308866855449922286425157467018171573434584071151303120545374489035368622825093882076024895157463923478939870070476430889429265756600859106979653889111742937777801868521034304038019085630975205546490888931185072115819401589471435504430094947151769011487161495313180787455592785587953108798864748026995667253611834277827018765241418732352444942595488182432689598669643978675764613294065934884906065173406916965466517010132054652798678222100974659273403672863823370407833723104118469644800694027962855992103534357220952751167743251730406257258786163602470598480753953021447914645422979980214739805132306808478199195957373577587838085496160982741239601961896139868205468119872556248672631820053003820362444976419339138837893516768177123135402805863466561153308097488275371571868349286952993449888811068421461491261304060545530087376465285817265327627008072916716101696467925181338849022996925598004127736222459279767002046171391530838497635270582869430110570179641052299328967647788501909726768467894944295636677621783130260974461430537591818135138992110631826355061952874740412828089753371398958116516482553427051234675444395473179186973223823774818423408162840057047394621663704569712180780086219816610842200914978064923021138371989255934703866748516034941001124071443686809612506600557702620363750142224481866435435016068464825146293456336803082651364344317584008809183434540765399328386771628713311194694694626600599862705409470046847209711331540671885038078386039983253869894461584114699492416197974069927698176700363648509898938395209099429953354861721037734399982828743855586168048824066230486702595923978016411459850121637508347840018946828099131775180807915583963450782046232162329985188616500923405884443076059608599694830528987645664287736117421580046581782102206124438175752944630877350325264403840456035611442813644514052470194476044408077240892350262208033723672716223663861372332757816367561226419937060496658551629115190782476838763208580580886746977853283831777660447739653496123479403524743502590508750753102258264997153393728704160355216829722876548788237395083201095113295712024173173060861273625517412219497798898728171573726197704330091603865882029660244859097072569000213709929417310525149537479837272294999374465124566096467992189856799907820773026524706568230099323536836313568125590841204282288675210489244289543574737776603222936376143936605910669378381463177942937790559834330594489714210942686999404669075878512249923209814123714829124717770496837366092367060268242476264390476473213518568739675575018824856416740905056667001016231916858229546481760564610093636509284932367785134869337707319793237911141337477097467950500849699043085076276063859873271351627160280417110372072230782234225180896928741248084413248198587314861852534460376592674007846050040339253663384910540089782266754379501066521658028635064473893459631824472682455634836474181150233594935668570956270823425173983028143608248699595373757452202068632230374558035031311488324640951744253186383368800480678836909804956527943196809389529087452556220686306694540875994742764710170023373862643623953751677177344081414253954857691004776313207592108246351378439955232480555312369496048661486074004630111977870486269576937897720431780362586220857612727004531504809554241694617545188060837244462524909442536807669764473635801343218456435024313296235229088682621956200829403545003899493173666869899829834348830013271634068617604900737081080241874146906744077388601055692141687410260034205784545641913696683159387142559991085272403214274116674605257211496118566565556500330426020700632281391809220162636707938498781689293103364394353935245525901936752005177673140108897655277578012818773750943463697095424504797365358309518641697429 24058480065991278182628296795792846616339925539066597291743081315479873476869857825224190569215319497611110286476786112352036741642654705621969476525590321928021420143302142190443816154190894684754688993671847677681093186594068592210285610357628042147392040959057649111513391298813050883196229609645706495498918223192137512638599584150032943964005020689204713144256197079311337247417240566635257829286130091077820360148808792889941594657099492787528851873736034508568399652215468373109740598080698701435613888710898197461261374318229856051841794857442577273288496321670186672164759768450639948954346640550897083472474255646154677099990103345295503236486724323350859505138655831844642406717005633390337444126351506529705997275073583851365379932842109619723481107839554747544388193773665796776449734757953611102576515661542977738212215250008624527661765604362738799711908820093122839141592411861320642355379638157494061933695289900674118505079658432036216416161954521914593343364550605380122519409692001134141851237068449673542033981181954626828741683463187626413664797548944347149627912575513278392549625873980938329673470769963553382138873388473239099663410380267273786761548074639290567404581268082888664346735730054781873171271679860449410599789858498749420163586094656548362315459868068136147639275231096474812417002435603513896162683560577405929795600025557951727671938648474019146366861610382756891032553647806642458307339354938997776942845818202260836729568368778542108135289696276778857380498540874975744633688887010320290094080354189832078600826767188969033495159880103354614181108662798600103777166817886919576461073656031688088467498982001490352958735680480716643158085072081328658521614900084790511111966048086269686992275177662126960893734428638047119335241087465074590378230978929930776367596953764036974180677199442017486792025165759238818055966798400816690841466881703780395110612010670184380961733315886662622669187703717796317840062064736771054336572838175910000809678003489770793229985091524014090505143357481554256589837217701767727885323858458414143603670956252374810253020174934814533491979250716570880455891843987765463934217245547294170590090356464272924158500046317817729715696668591610032873910145011596611427358740866783446853237578770171496614601333566482652735152068231075708187079612326716231308225591141154000917571881888485306515452456859388397829004618963323571631440267629045719787552701416598341929850519536527613453455650676895569776018514163541828698938089415087379584810492094310854141305348717959030231140595113481215963902565971537578597471045763261434599738209545494305821435793947400684420363790151214839611968792391225099658570345674250311651949590513508692362389170535408198459917957959656893620795311100815847979358767258128574151703749167048782058814981278507306774241855512424679271098854287473575973024858362530245134050497187989160565707332273522739197007770198341362553264525719277440007889452246556609660685329339414884762217586291874279003918017464072126095003691070199819506717491212332459305768784474200513889828876341620205865929026258341218268070397257267534012742589638804126184389798207607273649455143367554496681718054082712693586897530924290327959883642123269384148687508327907126379758289020820566179084345812247711368349947059086658870238020187557730891266840092817580274851603159286720239376309854399902041226113425170982621591693514525496559699941832715940690216762374317806868395204253537176633547653906780203680143722131830750580741405761122180202758909424291832021442813153847700864573239333797802699315466284529302216853361972812073245941064002648204992236057144046235837126234804020130403483403133415018422501085196197501948665881997840607565293771304586225678187885768045863765484838143377026010669649081566783793286227331349689774834161635560626152970591507053465789084618367617392570641601407515459908886265908259637483326550631847 38927438464435701268175063184582048140226587213536987717905519054903899283302021640221526689520215345225153241638204311605806906230072139685420704050573444952296371328087397344372143711427544993621544443594134102838560204765642026794356761660748587521881076327680474205395467323708208347119708549515776971929807652457894113497706563803922055706942798491073234178560235098396968222622787057524189014358245910479409831584313222984888746426110979949024165054523490101353987605324267237857767593747952313269891715729663438879993726763172451540024227547041246917267172086283480738099644674515813355871312107067907215527127054324376778074649376748968367059857132157073963623608300632538670369572997736924694665079102674272957727681330842637528982403440590373676502555754200170524368408513470929083258212957149568476154103499628473899194956489610586423801633809830858672268157492724942892145412774306297061694518476051010830110818425303479981971640811740133704691533526390263880296358000494191190940871183262438202396767155826138827851246509581634901658399564884094338846136397967344075225916703249500851829392876027109721204309267598823965008303499043418740715709709234921575263457801407758462348876904760510447476996704516212410763089814999441521231616213560702294903998922746301733714417984584618701066326465771919207890181622576737719937501983985568769852647420179615432241650829254105366183472452583671869097476668945014447563274058805746292977786819326332280416377981285142665837910060026921081862364976309991813098514033303776626897163005554176396184835576372403574260559208490126242894419857493294730377766680592329046507920865743019629139384020079876392941989550375178227272784564497526632591542598261490874760475947024664896091705131016988681931468828620875863190827255513898656608717681525854754384008413614158611689025039460964314891156940940046733639930249182862923003796866892396896034017895113260440570333010717191610314851991453913739420108646518873260461011013928854631687028328754174633686020702966827735019195827676030300997914458594117990093357582131130367267532328585132626620581401354751593988637802345686071238368682750974044515103992525147454421868016912012577654623525721342473218287177342363135132175142164990340131519096083613169729786367007566579815696446862194676908325129092349333704491831824515130036397164867351705247663485754367336175697315956460966829218328892740882156589805108882992082552075881722908026318511726384413361276423703420276344248613487078665012506215005928583867099167304800098430848923455735633454076971257417821874571944353000756540408836323095765194227923756436992820840463023279196670286999965338554441093510161721937024662712734518554128213980989981905880957910210983217284774374700561950287796327332732706208905249018693184245340258451981149843949850616214626567479766653762156368566804788323275016109934638594105007321848815149440982817704345753521431232951095270103801348938967476027322751304781016986253359337185464925101471249676784819093700284218451627161525349098834883980610950844156931988224419310674695040062471277288776822199849683515201296214005505967129386500041840872758414764356242638585137779784319298749868101422883193372423807335880818271156693031652356836704908194634601667255753031785530736202458208455871665120027124403168073124192877878562507204474432201063931653291558391767275551745805903061388115230743537148853107861270452423216991480304418936798302943766905822616422636898871082364694384898369305113122680529801595224216542748979578615227072205659520920704064769354677104409577138826971469569215296118878132230124996041429678146678145082890079139142801221434836892818376491430390437689187679056932119184244583340061939751154401054881681968376561797721796754451324546194191505538775658417819889811718274722292067916624453054169188096881086528089722596684726605897982273645195405389415352350979157004310770705624995792845192329276 62985918530426979450803359980374894756566512752603585009648600370383772760171879465445717258735534842836263528114990423957843647872726845307390180576163766880317791471389539534815959865618439678376233437265981780519653391359710619004642372018376629669273117286738123316908858622521259230315938159161483467428725875650031626136306147953954999670947819180277947322816432177708305470040027624159446843644376001557230191733122015874830341083210472736553016928259524609922387257539735610967508191828651014705505604440561636341255101081402307591866022404483824190555668407953667410264404442966453304825658747618804298999601309970531455174639480094263870296343856480424823128746956464383312776290003370315032109205454180802663724956404426488894362336282699993399983663593754918068756602287136725859707947715103179578730619161171451637407171739619210951463399414193597471980066312818065731287005186167617704049898114208504892044513715204154100476720470172169921107695480912178473639722551099571313460280875263572344248004224275812369885227691536261730400083028071720752510933946911691224853829278762779244379018750008048050877780037562377347147176887516657840379120089502195362025005876047049029753458172843399111823732434570994283934361494859890931831406072059451715067585017402850096029877852652754848705601696868394020307184058180251616100185544562974699648247445737567159913589477728124512550334062966428760130030316751656905870613413744744069920632637528593117145946350063684773973199756303699939242863517184967557732202920314096916991243359744008474785662343561372607755719088593480857075528520291894834154933498479248622968994521774707717606883002081366745900725230855894870430869636578855291113157498346281385872441995110934583083980308679115642825203257258922982526068342978973246986948660455785530751605367378195585869702238902981801683182106699285551695897047583679613845263748596177291144629905783444821532066326603854232984039695171710057260170711255644314797583852104764632496706332243945426916005794490841825524339185157584557587751676295885717978681440589544510871203284837507436873601576289566127480617053062256951694260526738739508449321238072441625011958373376285501813123572039160202933983845933973168006085287176586951558877836950396616583023945777738076430297780428677329643477197323425041891571444151231361344622756008505706165235367642852642691149772815849364658222947856064453788030072737928711870104777298321249956169031262912026814732074380315846120267127650620493711444304421015963451909659399110952572154272173694663685217566370899037838474510324538335137879882086357199793966133301931298642276256970679881090650790116553394053062302552947036683233058408768865780163571503490598243347080746391415744692332660218843908591638433548554188264016276821758397044007619029931902764831894721933341721622166186835639665659075796850989134793001124350141372346003138601548525036619276260628240721293611466354613464686753467330640757027573595914044666524879809863688835968659098097618301682523753256529040169034703487328442056489391293993203784875208929891347618908982688128875941856419564284402763234663399242631479676884599154154450245858787234927686853246549819476965906066010704866805108599116576673775626220853595702962508793635511320806351302381542554268119376488377071462254731994430898066120238095741272293881511928143161551053995791122115757461290156456856962319835729452963966948713551180246251652738993160529280140423291032103124619541327932552276085316802824251933425974797284154740700795429831115083812752725507582508524805274150378160769272268530762403407434446978358014241751392619209085538284131378858365481072729944611295450520841172590812471950541685329779537563888417036398895489247262147866383947474942337092592057956990376919035443830559460799841506085354143955802743944022258516647154242693188191780071687066892012812797960056953758494616913197036613884633276171742961123 101913356994862680718978423164956942896793099966140572727554119425287672043473901105667243948255750188061416769753194735563650554102798984992810884626737211832614162799476936879188103577045984671997777880860115883358213596125352645798999133679125217191154193614418597522304325946229467577435646708677260439358533528107925739634012711757877055377890617671351181501376667276105273692662814681683635858002621912036640023317435238859719087509321452685577181982783014711276374862864002848825275785576603327975397320170225075221248827844574759131890249951525071107822840494237148148364049117482266660696970854686711514526728364294908233249288856843232237356200988637498786752355257096921983145863001107239726774284556855075621452637735269126423344739723290367076486219347955088593125010800607654942966160672252748054884722660799925536602128229229797375265033224024456144248223805543008623432417960473914765744416590259515722155332140507634082448361281912303625799229007302442353936080551593762504401152058526010546644771380101951197736474201117896632058482592955815091357070344879035300079745982012280096208411626035157772082089305161201312155480386560076581094829798737116937288463677454807492102335077603909559300729139087206694697451309859332453063022285620154009971583940149151829744295837237373549771928162640313228197365680756989336037687528548543469500894865917182592155240306982229878733806515550100629227506985696671353433887472550490362898419456854925397562324331348827439811109816330621021105228493494959370830716953617873543888406365298184870970497919933776182016278297083607099969948377785189564532700179071577669476915387517727346746267022161243138842714781231073097703654201076381923704700096607772260632917942135599479175685439696104324756672085879798845716895598492871903595666341981640285135613780992354197558727278363946116574339047639332285335827296766542536849060615488574187178647800896705262102399337321045843298891686625623796680279357774517575258594866033619264183734660998120060602026497457669560543535012833614858585666134890003708072039022720674878138735613422640063494182977644317721469254855407943022932629209489713552964425230597589079433826390288298079467747097760502676152271023276336303138260429341577291690396933034009786312810312785304656245994227290872006551802326415774375596063275975746491381019920875857411412898853397219978866847088772310331487441276748805335944619877846811703952656853180044157982487542989296440176008498083736122464515741137699158723950519426944547319008826703911051003003195629430297139294537628316859713046454677539091678288718409452964988194057058368291463116719993959077760937790081891948494155812714668973707895771143287419908377552493472504124304990957374633029466707360780794196387965766281260397169265295514942642384266071011081746714682510936559909201388819948992008232463864120126005244727639718455148694194818288042531342740965029782059473672388881570155962403654229494653392061808590582167404003710344734965160085645443917191318585900975380418054389267869587467939392900646323282217623095549903969953818896197759510328725625371620860498408269201792785742673320549643013918510692884443925014712006151996417920899849099438434512202685926870273269705427983057558503897597110460891264352591882038584000762723991041608404195865422805118623775944682745300215704494945443581434719942821271342867921660522678271687600499468688837314234419371930542660550670589537296104296185963039713669001995701906022317450645390429925504781735021199013826903720279410656903320743333673429572351863201909683727516987740741837746058522285566677103354055671429539297354168428363270521659586915909622762987786880911278861778491528882660869574362877625828168190799950370929230524428181669271696788417138252148495915694693861650449272518116228377422060580255798113210355397733682332415784876506677585049165658008203349472306109473773917507807319509629069016935290399 164899275525289660169781783145331837653359612718744157737202719795671444803645780571112961206991285030897680297868185159521494201975525830300201065202900978712931954270866476414004063442664424350374011318126097663877866987485063264803641505697501846860427310901156720839213184568750726807751584867838743906787259403757957365770318859711832055048838436851629128824193099453813579162702842305843082701646997913593870215050557254734549428592531925422130198911042539321198762120403738459792783977405254342680902924610786711562503928925977066723756272356008895298378508902190815558628453560448719965522629602305515813526329674265439688423928336937496107652544845117923609881102213561305295922153004477554758883490011035878285177594139695615317707076005990360476469882941710006661881613087744380802674108387355927633615341821971377174009299968849008326728432638218053616228290118361074354719423146641532469794314704468020614199845855711788182925081752084473546906924488214620827575803102693333817861432933789582890892775604377763567621701892654158362458565621027535843868004291790726524933575260775059340587430376043205822959869342723578659302657274076734421473949888239312299313469553501856521855793250447308671124461573658200978631812804719223384894428357679605725039168957552001925774173689890128398477529859508707248504549738937240952137873073111518169149142311654749752068829784710354391284140578516529389357537302448328259304500886295234432819052094383518514708270681412512213784309572634320960348092010679926928562919873931970460879649725042193345756160263495148789771997385677087957045476898077084398687633677550826292445909909292435064353150024242609884743440012086967968134523837655237214817857594954053646505359937246534062259665748375219967581875343138721828242963941471845150582615002437425815887219148370549783428429517266927918257521154338617837031724344350222150694324364084751478323277706680150083634465663924900076282931381797333853940450069030161890056178718138383896680440993242065487518032291948511386067874197991199416173417811185889426050720463310219389009938898260147500367784553933883848949871908470199974626889736228453061413746468670030704445784763664583581280870669799662879086254869210309471144345716518164243249274769984406402895834258563042732676292007719549336195279523739199417487634720126977852725642676884363117578134221040072621557996861588159696145664224604869789732649950584740415822761630478365407938656574252208466990740572464051968584782868788319652435394823847960510770918486103022003575157467803124960824512103999215897551520965002077426816168600495810164782160190360299590105392976964638958851588580198445342547218115267616010391128829552056285688541123996963102367652071703766048774159040020999638104979604199829814585433281572336701039428273690041013649479514405658493250923010986135827647898122939916976994379520640842805290066540821426644079867777584306042687714393682493036510575868340982961984032818836164178081448670235224544828848921614103015288936887583499133674583429436904290955267834957135714576210826880425112899845166515106742198457601567228040424782811032436456184985304800226527613072665143130302712249639693005242967740376815005504445217069491035469389846379203609278412099600559619254526775673398233340965543316992110418096781267327677537113054674010802983395956976788826955509577881493875267133990037417983968428144457461788524566767198386320644093840796922242276289264825466103463004701105120321447350250002921475746728329033668447173811111058460980206086734435827146426155079934371726714957877895148510014106276820925693001124081712069913180931916563253966647401900517952396982352707599082331432120034369304000833202554904142415189716585227198845860176492672294565616746639125509730310105486292613729305481008733317957734462776204536058542057232613914380836575108973068286749272116057670821001309529259867968390830704843933394262345188678251522 266812632520152340888760206310288780550152712684884730464756839220959116847119681676780205155247035218959097067621379895085144756078324815293011949829638190545546117070343413293192167019710409022371789198986213547236080583610415910602640639376627064051581504515575318361517510514980194385187231576516004346145792931865883105404331571469709110426729054522980310325569766729918852855365656987526718559649619825630510238367992493594268516101853378107707380893825554032475136983267741308618059762981857670656300244781011786783752756770551825855646522307533966406201349396427963706992502677930986626219600456992227328053058038560347921673217193780728345008745833755422396633457470658227279068016005584794485657774567890953906630231874964741741051815729280727552956102289665095255006623888352035745640269059608675688500064482771302710611428198078805701993465862242509760476513923904082978151841107115447235538731294727536336355177996219422265373443033996777172706153495517063181511883654287096322262584992315593437537546984479714765358176093772054994517048213983350935225074636669761825013321242787339436795842002078363595041958647884779971458137660636811002568779686976429236601933230956664013958128328051218230425190712745407673329264114578555837957450643299759735010752897701153755518469527127501948249458022149020476701915419694230288175560601660061638650037177571932344224070091692584270017947094066630018585044288144999612738388358845724795717471551238443912270595012761339653595419388964941981453320504174886299393636827549844004768056090340378216726658183428924971788275682760695057015425275862273963220333856622403961922825296810162411099417046403853023586154793318041065838178038731619138522557691561825907138277879382133541435351188071324292338547429018520673959859539964717054178281344419066101022832929362903980987156795630874034831860201977950122367551641116764687543384979573325665501925507576855345736865001245945919581823068422957650620729426804679465314773584172003160864175654240185548120058789406180946611409210824814274759083946075893134122759486030894267148674511682787563861967531578201570419126763878142997559518945718166614378171699267619783879611153952881660748617767560165555238525892486645774282606145859741534939671703018416189208644571348347388922286235010421342747081850154973793083697996102724344106662597760220528991033074437292600424843950360470027633105501353675125677269828431552119775418483658409565921144117241504907166749070547788091049298609926018811159345343274905058089927312806933054578160663432555257963806641627532757264567419679616518494457318905263129770354247418667881568509696958598036612526370280337291041373927982284984099024600695343705596918676490435606491957062661140681803625747381780432301367569966111074982602546867851643681812539761052095396194196916595053160124399806084819656130586804037102999624248280561260438760735639714686611210518549335824747188066071374606666538271995212456637424880644754760248852673945569279794009007259546932480255473484474514092637818704773878423207227857782037858428449975975016869798985411304501708786327192599661285281219301638248970727978120776170626991175836014746637264351699157239385661276664104942879729272176962339663116084631592335970603498156729715418040025990115379549544079716101459705185463193100342231678449955485728696172681283772399091012601436696538476857959078506646699832057961257213404081432805692574636501347592831813585369121652066502718370107116023353372567453566866176653833815403468372824937962181259616743637756570480099584652286234928624641605412136250755944022879447978567801185066125584610471213917422395010672422177539312891975470586869212343398896147795529715863424478505292815544753417998796231105723196722747286018335913926868562253982208308423167131458005836073962840198265116314340170442969312114518907524757944793426857165223328829204659001565977442164748212651252903891414205613541921 431711908045442001058541989455620618203512325403628888201959559016630561650765462247893166362238320249856777365489565054606638958053850645593213015032539169258478071341209889707196230462374833372745800517112311211113947571095479175406282145074128910912008815416732039200730695083730921192938816444354748252933052335623840471174650431181541165475567491374609439149762866183732432018068499293369801261296617739224380453418549748328817944694385303529837579804868093353673899103671479768410843740387112013337203169391798498346256685696528892579402794663542861704579858298618779265620956238379706591742230059297743141579387712825787610097145530718224452661290678873346006514559684219532574990169010062349244541264578926832191807826014660357058758891735271088029425985231375101916888236976096416548314377446964603322115406304742679884620728166927814028721898500460563376704804042265157332871264253756979705333045999195556950555023851931210448298524786081250719613077983731684009087686756980430140124017926105176328430322588857478332979877986426213356975613835010886779093078928460488349946896503562398777383272378121569418001827990608358630760794934713545424042729575215741535915402784458520535813921578498526901549652286403608651961076919297779222851879000979365460049921855253155681292643217017630346726987881657727725206465158631471240313433674771579807799179489226682096292899876402938661302087672583159407942581590593327872042889245140959228536523645621962426978865694173851867379728961599262941801412514854813227956556701481814465647705815382571562482818446924073761560273068437783014060902173939358361907967534173230254368735206102597475452567070646462908329594805405009033972701876386856353340415286515879553643637816628667603695016936446544259920422772157242502202823481436562204760896346856491916910052077733453764415586312897801953089381356316567959399275985466986838237709343658077143825203214257005429371330665170845995864754450220291504561179495834841355370952302310387057544616647482251035638091081354692332679283408816013690932501757261782560173479949341113656158613409942935064229752085512085419368998672348342972186408681946619675791918167937650488325395917617465242029488437359828434324780761696955245426951862377905778188946473002822592104478829911390121598578242729970678942361373894173210571332716229702196832305274644583646569167295477365221982840811948629723778769725958544915409919779016292535598180114136774973859800691493713374157489643011840059634081478714338463594740167122865568860845798909955058153318131235680218788318745626748654816088384681693945310625919401073294552514437778967471673902673923236995464114950478782633588592043249900994490153430247399991285459800487398708859609134364906730577784787402780070406347174165940889568035828440188344721240813451093109045673711322253546411047410792220647304028709743954079994003768921404065728827276461141330691078296133641867434902459753867643177114140336195418621457699480918938330301344180793824622857928873649947769192361067973647767221248141678169378475062814917752434639276856400129769644151926411243907243928759827701710064030334074705155713282921002698240063840979145049349513991392162482353401653479110447324946341667997809052962463835201614382703098716348969944815699388348720515087396708211877801966730520777879344733123966288712092129658072599354600590482930571805610847996496490615127976515423045737970848631192013218730342144515074089874633947118169965723071212236344800722817456488341923382162849071915546636049020642239822830372192397626525739732220606655339599483307284760770050299700373671568925266778195497791403130480676361658074322695491709874328178185951543775518930517099530549065979382647708005261338645197642091282215869017312902764975039436598872359468500922152472612466739154031697302974469652372882227675583226495355482633731013080176129281280999650205968530825845410555578917495186298153759394291793443 698524540565594341947302195765909398753665038088513618666716398237589678497885143924673371517485355468815874433110944949691783714132175460886224964862177359804024188411553303000388397482085242395117589716098524758350028154705895086008922784450755974963590319932307357562248205598711115578126048020870752599078845267489723576578982002651250275902296545897589749475332632913651284873434156280896519820946237564854890691786542241923086460796238681637544960698693647386149036086939221077028903503368969683993503414172810285130009442467080718435049316971076828110781207695046742972613458916310693217961830516289970469632445751386135531770362724498952797670036512628768403148017154877759854058185015647143730199039146817786098438057889625098799810707464551815582382087521040197171894860864448452293954646506573279010615470787513982595232156365006619730715364362703073137181317966169240311023105360872426940871777293923093286910201848150632713671967820078027892319231479248747190599570411267526462386602918420769765967869573337193098338054080198268351492662048994237714318153565130250174960217746349738214179114380199933013043786638493138602218932595350356426611509262192170772517336015415184549772049906549745131974842999149016325290341033876335060809329644279125195060674752954309436811112744145132294976445903806748201908380578325701528488994276431641446449216666798614440516969968095522931320034766649789426527625878738327484781277603986684024253995196860406339249460706935191520975148350564204923254733019029699527350193529031658470415761905722949779209476630352998733348548751198478071076327449801632325128301390795634216291560502912759886551984117050315931915749598723050099810879915118475491862972978077705460781915696010801145130368124517868552258970201175763176162683021401279258939177691275558017932885007096357745402743108528675987921241558294518081766827626583751525781094323231402809327128721833860775108195666416791915446577518643249155181908922639520820685725886482390218408792301722436583758149870760873279290692619640827965691585703337675694296239435372007923307287921625722628091719617090286989788125436226485969745927627664786290170089867205270272205007071570346902778106204919993989563306654183601019709558008237647313128618176021238781313123401259737510520864477740392021689443224049147003655030712332426540938967872404804175560200369914657822407684762309099751411875227312220041087189607447844655373598597795184539780944808735218281324238713559628150683380088640357274754085510397770626950773111716888112731478794668235476752125387254281412080655804361310463805083238306336424322868685197635353242412370881835032076641320759119924629965971232185978589178030942743696882378476977834315351566197026047412381410534784560502707714744132051964550638375308039988403053353212145204441867908238848599571171810598305466960159296547991182993628017201965326167588012100856017302288814682977692182090525825242249843652412331407875258882580125673698579154018126363104416866936133196880249447834552448161859859066846452047801682290672699790293067726832375146639443137337715745616030255952427362995345249635712954126441261041778868867055016815159795986778343091319721739062930143215390204675613844960148716078548466793950353306596873078685362855725378464100064631476424313337507152193713878221576411573921774440788302339356371753691603084367268344087705955574997261827808573384302951374930063997705793366843492107905903460003068770236468441441319352368154095384910055208100035996664475383919460986982823499439574009948968106625324384506841583964241088719421011525994322579821650136726451844321082401874344398098756668746744873031022766303648772820756118917826664895060264929403861153000820806092063196438322387939065740060188783310953363467434613450709230575639743924744990105660143172734768687222398118552538609874390158488957873602986446504328479410627532391822852720327130146439202045173599905335364 1130236448611036343005844185221530016957177363492142506868675957254220240148650606172566537879723675718672651798600510004298422672186026106479437979894716529062502259752763192707584627944460075767863390233210835969463975725801374261415204929524884885875599135349039396762978900682442036771064864465225500852011897603113564047753632433832791441377864037272199188625095499097383716891502655574266321082242855304079271145205091990251904405490623985167382540503561740739822935190610700845439747243756081697330706583564608783476266128163609611014452111634619689815361065993665522238234415154690399809704060575587713611211833464211923141867508255217177250331327191502114409662576839097292429048354025709492974740303725744618290245883904285455858569599199822903611808072752415299088783097840544868842269023953537882332730877092256662479852884531934433759437262863163636513886122008434397643894369614629406646204823293118650237465225700081843161970492606159278611932309462980431199687257168247956602510620844525946094398192162194671431317932066624481708468275884005124493411232493590738524907114249912136991562386758321502431045614629101497232979727530063901850654238837407912308432738799873705085585971485048272033524495285552624977251417953174114283661208645258490655110596608207465118103755961162762641703433785464475927114845736957172768802427951203221254248396156025296536809869844498461592622122439232948834470207469331655356824166849127643252790518842482368766228326401109043388354877312163467865056145533884512755306750230513472936063467721105521341692295077277072494908821819636261085137229623740990687036268924968864470660295709015357362004551187696778840245344404128059133783581791505331845203388264593585014425553512639468748825385060964412812179392973333005678365506502837841463700074038132049934842937084829811509818329421426477941010622914611086041166103612050738364018803666889479953152331936090866204479526331587637911311331968863540659743088418474362176056678188792777275953408949204687619396240952115565611969976028456841656624087460599458254469719384713121579465901331568657692321471702602372409157124108574828941932336309611405965962008035142920760530402989187812144807594642279822423888087415880556265136509870615553091317564649024061373417602231171127632119442720470362700631804597943320214226363428562128737771273147049387822129367665392023044390525574257729475190644953270764956497109386464137190971778711931959513640745500228931655481728356571468210317461567354695738348825677520636195811618910626843170884796925903915695540444132881030066896744189043004409115709157707409718875383122976602824916315044805072027540756271237902558218558014482086973079331461190143688167838277465233024211175331390954142959195322187340573114061918297992854118674203748228333124294166663238313487541619561102145982219221390526114264188006291945262987631786123369391896415288561997347993367110816619559616992985579109893020766552667603293880340279606592636909455362307156929039724865006846828018640195620421809627080314988130217180157353487617542727707003688775276409087289264126989523274184712255064705409279969787659282154543962781567107118857794304845336292334483482204092464583622325837529621955512957957769041012301995564736009695589427655307671424766812820579718873132525215309118924234656100921144697888063152880431997428971108292193567297840149698553952071487876955785088807348689345778695189719012097185636622979993334637015888406434164512531588712954818202366543550023418159513547299466097036003465739262404382141365733151064116727448239303840572026705772296044622280195321705651718622516580193277474878775118326821067568522732640631826958772299894436757181994590813995383243800708826067430708394080413670154934757373091548285992800066306972919210152728112356391484144137357446147204421060104625794135765105229872792219970953779115727785328129616596063217668263275906047641625500198932994197128807 1828760989176630684953146380987439415710842401580656125535392355491809918646535750097239909397209031187488526231711454953990206386318201567365662944756893888866526448164316495707973025426545318162980979949309360727814003880507269347424127713975640860839189455281346754325227106281153152349190912486096253451090742870603287624332614436484041717280160583169788938100428132011035001764936811855162840903189092868934161836991634232174990866286862666804927501202255388125971971277549921922468650747125051381324209997737419068606275570630690329449501428605696517926142273688712265210847874071001093027665891091877684080844279215598058673637870979716130048001363704130882812810593993975052283106539041356636704939342872562404388683941793910554658380306664374719194190160273455496260677958704993321136223670460111161343346347879770645075085040896941053490152627225866709651067439974603637954917474975501833587076600587041743524375427548232475875642460426237306504251540942229178390286827579515483064897223762946715860366061735531864529655986146822750059960937932999362207729386058720988699867331996261875205741501138521435444089401267594635835198660125414258277265748099600083080950074815288889635358021391598017165499338284701641302541758987050449344470538289537615850171271361161774554914868705307894936679879689271224129023226315282874297291422227634862700697612822823910977326839812593984523942157205882738260997833348069982841605444453114327277044514039342775105477787108044234909330025662727672788310878552914212282656943759545131406479229626828471120901771707630071228257370570834739156213557073542623012164570315764498686951856211928117248556535304747094772161094002851109233594461706623807337066361242671290475207469208650269893955753185482281364438363174508768854528189524239120722639251729407607952775822091926169255221072529955153928931864472905604122932931238634489889799897990120882762479460657924726979587721998004429826757909487506789814924997341113882996742404075275167494362201250927124203154390822876438891260668648097669622315673163937133948765958820085129502773189253194380320413191319692659398945249544801314911678263937276192256132097902348191032735410060758159047585700847199816413451394070064157284846067878853200404446182825045300154730725632430865142640307198210754722321247821992467217881394140894555278710241019454191997689568035306680866798210336566829226602520180582984997584298993911981846345377309727144053421690308964149936805967070131096361000841655995053013102911187918406822762392022343731283616275720572151172292569520135311478977399993404314872920792396013746143198251808174238178158727415686907059617397591997022482848523985714272951668509492132887385050216754443067339562741528417001555340605856971901075821776662430044818669312579056268321527347519875383517929409527799950745553391031988831581224347302839936445981259803325334718064003300662853365295655925499597251799083511404352142864418964999011169139222859732266335488609380433520033456591801140043708268088030172869971486939381834582264981839644160317333020774730521150423048530426601842735139304440664682427700754529605500613408595805004560435974173874609464641323070677574801925831527513765541227734297569357918106485119560768789515089316292462506340670527150145276920644350349556838552816271117948534322497556271809837593668734336785342861983796651665108493786259907646485138783593662191651640720708759187424805464029128730885896794640084658642902605953850941081108913587276598758123454156178022683385558022986289238701978392090333839776388501234289823268081660746126783822038944860016971842378170466837662595151819276873874995567812441553755406935475731593056013354583846889651078924787104953709646873522771590518736058094000497433280331596946163533741586369919383303752100316229134243017589319939189747327023912688303715104262950708928827382102174289656609027223595609491115996233177788064702244106594102464171 2958997437787667027958990566208969432668019765072798632404068312746030158795186356269806447276932706906161178030311964958288629058504227673845100924651610417929028707917079688415557653371005393930844370182520196697277979606308643608839332643500525746714788590630386151088206006963595189120255776951321754303102640473716851672086246870316833158658024620441988126725523631108418718656439467429429161985431948173013432982196726222426895271777486651972310041705817128865794906468160622767908397990881133078654916581302027852082541698794299940463953540240316207741503339682377787449082289225691492837369951667465397692056112679809981815505379234933307298332690895632997222473170833072344712154893067066129679679646598307022678929825698196010516949905864197622805998233025870795349461056545538189978492694413649043676077224972027307554937925428875487249589890089030346164953561983038035598811844590131240233281423880160393761840653248314319037612953032396585116183850405209609589974084747763439667407844607472661954764253897726535960973918213447231768429213817004486701140618552311727224774446246174012197303887896842937875135015896696133068178387655478160127919986937007995389382813615162594720943992876646289199023833570254266279793176940224563628131746934796106505281867969369239673018624666470657578383313474735700056138072052240047066093850178838083954946008978849207514136709657092446116564279645115687095468040817401638198429611302241970529835032881825143871706113509153278297684902974891140653367024086798725037963693990058604342542697347933992462594066784907143723166192390471000241350786697283613699200839240733363157612151920943474610561086492443873612406438406979168367378043498129139182269749507264875489633022721289738642781138246446694176617756147841774532893696027076962186339325767539657887618759176755980765039401951381631869942487387516690164099034850685228253818701657010362715631792594015593184067248329592067738069241456370330474668085759588245172799082264067944770315610200131811822550631774992004503230644676554511278939760624536592203235678204798251082239090584763038012734663022295031808102373653376143853610600246887598222094105937491111793265813049945971192393295489479638837339481485944713549982577749468753495763747474069361528148327863601992774759749918681117422953052419935787432107757569456684016481514166503579819818935700698703911188735910824558701793165133853749954081408380376119037317156021659103567062435809193081592287695426702564571318303223349748751451736865439043018574010932970574454501072646476066867833013653016341545874144182447319282036501553721155862073634931150841003075042460491979087158153863234925041067082000196359924747840953323031073218055031908300363773916859807955698299801179159241648935838580728037672787986782804496654651641686538621831416951147361052891535610253379357695488535309131881708968891589448704109960418589224850713289023036316216811416076496983462035885185517666614463019563139338858972398064742740676962496316666146890536286728225793291781114019696822712482161996997647934875748481734209925699457617715865969724662578625376937492406163809575288272690750348967342003081292732403769486659363012058284129923992097387867065263919524870876064254160573070785079825325988051933995978198574912089741224069222689363768125390042183190423418700969697900746549166334214313970275990218962948643484813859717973015739378750999000330066487454377143817561214765353865890129277100547049336770466382529794063731789643142308146872315691569982851655058989754977964382774231699572927452617961738062571922232772832556118083567140212293548029889089354242788429294155648993322388880010076488047567302690365355907791341028884241892920170348754418472940953479984599149728248935254806371879882938963600048559289129536031864456707713278380375035467143610807431649706824068820334135742928899781161217902074984738643819658827159379272139225429690202443039588299592978 4787758426964297712912136947196408848378862166653454757939460668237840077441722106367046356674141738093649704262023419912278835444822429241210763869408504306795555156081396184123530678797550712093825350131829557425091983486815912956263460357476166607553978045911732905413433113244748341469446689437418007754193383344320139296418861306800874875938185203611777064825951763119453720421376279284592002888621041041947594819188360454601886138064349318777237542908072516991766877745710544690377048738006184459979126579039446920688817269424990269913454968846012725667645613371090052659930163296692585865035842759343081772900391895408040489143250214649437346334054599763880035283764827047396995261432108422766384618989470869427067613767492106565175330212528572342000188393299326291610139015250531511114716364873760205019423572851797952630022966325816540739742517314897055816021001957641673553729319565633073820358024467202137286216080796546794913255413458633891620435391347438787980260912327278922732305068370419377815130315633258400490629904360269981828390151750003848908870004611032715924641778242435887403045389035364373319224417164290768903377047780892418405185735036608078470332888430451484356302014268244306364523171854955907582334935927275012972602285224333722355453139330531014227933493371778552515063193164006924185161298367522921363385272406472946655643621801673118491463549469686430640506436850998425356465874165471621040035055755356297806879546921167918977183900617197513207014928637618813441677902639712937320620637749603735749021926974762463583495838492537214951423562961305739397564343770826236711365409556497861844564008132871591859117621797190968384567532409830277600972505204752946519336110749936165964840491929940008536736891431928975541056119322350543387421885551316082908978577496947265840394581268682150020260474481336785798874351860422294287031966089319718143618599647131245478111253251940320163654970327596497564827150943877120289593083100702128169541486339343112264677811451058936025705022597868443394491313324652180901255433788473726152001637024883380585012279837957418333147854341987691207047623198177458765288864184163790478226203839839302826001223110704130239978996336679455250790875556008870834828645628321953900209930299114661682879053496032857917400057116891872145274300241928254649989151710351239295191755185957771817508503736005384777986946247391387928395685314436734951665707374288100883662533331386247620484126118157231529093662496833660932319144879344801764554648053357449841336402955314305738117348367048218040125583173151653024851544175851634154957293949734902005271886739325079181233769876178886146775551455231947523915605985910632876416350445455918458268271786351367703336658388224957253640407036131142724757615243158082491457299361860764976178989206414005349346360675161003637089001285368189276712882611971818154950151392774038828024421889887704078584678961815814063215160008387814178749604482665625632158785999071125307886674123174196995952908467286934244554816255966161752600959078657294747143836641808252208769256464731076122506148142467812459801883066041619920106918339180788886099346153971902439055466607013234127982433689633086055755519611153408292998217094228794170739280133839574594914642280514440336648725725057366661868419572246202320941661160131724745916257241507738340217900670999656832259786870628057137271073767364458154522972413190651970787196213564568623025243894084751786923917185205692239376420233470875172645376919741066270326471869592666237213081976044216666361166322033412703841119196027885840003893518959339940122512000229265390408059556191905383581113432522868317956692451630243454502778421958411921145924875773892971844957453708128119814476251575117885786342935752239652211479885127133790145659048919335616557023942412623392624787082800554758673619512372535438398693637828608543320076364641347671043254436650495268372403217754904687146182402057149 7746755864751964740871127513405378281046881931726253390343528980983870236236908462636852803951074444999810882292335384870567464503326656915055864794060114724724583863998475872539088332168556106024669720314349754122369963093124556565102793000976692354268766636542119056501639120208343530589702466388739762057296023818036990968505108177117708034596209824053765191551475394227872439077815746714021164874052989214961027801385086677028781409841835970749547584613889645857561784213871167458285446728887317538634043160341474772771358968219290210377408509086328933409148953053467840109012452522384078702405794426808479464956504575218022304648629449582744644666745495396877257756935660119741707416325175488896064298636069176449746543593190302575692280118392769964806186626325197086959600071796069701093209059287409248695500797823825260184960891754692027989332407403927401980974563940679709152541164155764314053639448347362531048056734044861113950868366491030476736619241752648397570234997075042362399712912977892039769894569530984936451603822573717213596819365567008335610010623163344443149416224488609899600349276932207311194359433060986901971555435436370578533105721973616073859715702045614079077246007144890595563547005425210173862128112867499576600734032159129828860735007299900253900952118038249210093446506638742624241299370419762968429479122585311030610589630780522326005600259126778876757070716496114112451933914982873259238464667057598268336714579802993062848890014126350791504699831612509954095044926726511662358584331739662340091564624322696456046089905277444358674589755351776739638915130468109850410566248797231225002176160053815066469678708289634841996973970816809445968350548702882085701605860257201041454473514651229747179518029678375669717673875470192317920315581578393045095317903264486923728013340445438130785299876432718417668816839247938984451131000940004946397437301304141608193743045845955913347722218657188565302896392400247450764261168860290373342340568603411057034993421651190747848255654372860447897721958001206692180195194413010318355237315229681631667251370422720456345882517364282723015149996851553602618899464431051388700320309777330414619267036160650101432372291826159094088130357041953584384811223377790707395973677773184023211027381359634850692159807035572989568227352661864042082096909279807923311673269352461351637327439436704088689175682158215946630188850448290484905747115754664219920979689353045351187546561927350313121381357923536225503637448102694550516006384918796492859910413888284880192618421013524284907958596826167994570725688358298953436993795503456057867345521670475920184308812336670865233933705318466872564982687986106992801164191398778949531486326818259668067110575248032912951940208215290384373693453823886120164245286144665261630830630892952627180763311822522056528624611538747546972201417921103699863919042982222742937984840479112554791873701998132030874631236505371276214634790000332240095178349138409984280284738865914873958449225133433824780841544481759453533714978775480007229305833639456187084517738198941001821963765858333782184464461691418557412513082148756077158790096502939244442136759339417003614641796701691370185679511708541275358262136619099670234993440706910359674739968268566374332626924299969456403092488794935566089067051202314915169334958211205639086767067005213970802535777089591005780755887627082431170262351164189652300853683667941712440586458659438617677053194285752741576146886616000669236377166562883374417198787561162649088868140965799194630743940553732985631293737157765948411926126291791896058206079140441558938437948645546148172010407588171861640345572461706731502070081112323767828937265904658134864765127802462546592755429731559717035514591871007046024091362824090733838704948178455367481013731655691003767660254226411362190323326336441355772534436566728389704537978439626086314862913263809874540511628647445107130185770701650127 12534514291716262453783264460601787129425744098379708148282989649221710313678630569003899160625216183093460586554358804782846299948149086156266628663468619031520139020079872056662619010966106818118495070446179311547461946579940469521366253358452858961822744682453851961915072233453091872059149155826157769811489407162357130264923969483918582910534395027665542256377427157347326159499192025998613167762674030256908622620573447131630667547906185289526785127521962162849328661959581712148662495466893501998613169739380921693460176237644280480290863477932341659076794566424557892768942615819076664567441637186151561237856896470626062793791879664232181991000800095160757293040700487167138702677757283911662448917625540045876814157360682409140867610330921342306806375019624523378569739087046601212207925424161169453714924370675623212814983858080508568729074924718824457796995565898321382706270483721397387873997472814564668334272814841407908864123779949664368357054633100087185550495909402321285132017981348311417585024885164243336942233726933987195425209517317012184518880627774377159074058002731045787003394665967571684513583850225277670874932483217262996938291457010224152330048590476065563433548021413134901928070177280166081444463048794774589573336317383463551216188146630431268128885611410027762608509699802749548426460668787285889792864394991783977266233252582195444497063808596465307397577153347112537808399789148344880278499722812954566143594126724160981826073914743548304711714760250128767536722829366224599679204969489266075840586551297458919629585743769981573626013318313082479036479474238936087121931658353729086846740168186686658328796330086825810381541503226639723569323053907635032220941971007137207419314006581169755716254921110304645258729994792542861307737467129709128004296480761434189568407921714120280805560350914055203467691191108361278738162967029324664541055900951272853671854299097896233511377188984785062867723543344124571053854251960992501511882054942754169299671233102249683873960676970728891292213271325858873081450628201484044507238952254565012252263650260677874679030371706270414222197620049731061384188328615215179178546513617169717445268259271354231672351288162838549338921232597962455219639869006112661296183608072298684893906434855667708609559864152464861713501652903792296732086060990159162606865024538419123454835943172709473467162628405607334558584535762727219857412823128952320804642222684431598808030688045507544650475020420369886435956592982039352280561032972153942701246816843599185930735769380572502948084179999319647595577232534150587591951089453190959872617408409800999365542582212849751380709256773698820088898293972017625677580541844234867989754598604611035770447233636257870205580615251421527098451069067044202655702585506526026607009620099366632530109672497683060165713612824115736248914300533075518018869194374996781766009262369000258870458380959947844937846396513759090393384394482997865727337135137481109588171412989089070954402133600720759025396360737725615286315937854137301976449670281264439293286994663672077944469914000801594644266344757460177332620000487936866044889442656911146881192225946430237742624230391324456241435031319694683651260353713328464405732720840749934269654610549080814669275650025026823064960908367181768410008712362446639915251215452713377426984967676213627634795563960219062918026961394446889324785323577380304271640879881506281063611702553523369463977111470958433815523306849471544409022543482624440687525259430755315326081222941843411297105106875766398335134856353793834251930019810751235998328591140670824328846008201738053555591521020694729958302264913336974956572859534282179750083190780432027836610085256170674712569905983134834921300934806759285676302842709217867628850607227374703097570755598103627160285041309211916948996945848813891210933130204556998247858054804267433985906167700460369808884031865200011817331953103707276 20281270156468227194654391974007165410472626030105961538626518630205580549915539031640751964576290628093271468846694189653413764451475743071322493457528733756244722884078347929201707343134662924143164790760529065669831909673065026086469046359429551316091511318995971018416711353661435402648851622214897531868785430980394121233429077661036290945130604851719307447928902551575198598577007772712634332636727019471869650421958533808659448957748021260276332712135851808706890446173452879606947942195780819537247212899722396466231535205863570690668271987018670592485943519478025732877955068341460743269847431612960040702813401045844085098440509113814926635667545590557634550797636147286880410094082459400558513216261609222326560700953872711716559890449314112271612561645949720465529339158842670913301134483448578702410425168499448472999944749835200596718407332122751859777970129839001091858811647877161701927636921161927199382329548886269022814992146440694845093673874852735583120730906477363647531730894326203457354919454695228273393837549507704409022028882884020520128891250937721602223474227219655686603743942899778995707943283286264572846487918653633575471397178983840226189764292521679642510794028558025497491617182705376255306591161662274166174070349542593380076923153930331522029837729448276972701956206441492172667760039207048858222343517577095007876822883362717770502664067723244184154647869843226650260333704131218139516964389870552834480308706527154044674963928869899096216414591862638721631767756092736262037789301228928415932151175620155375675675649047425932300603073664859218675394604707045937532497907150960311848916328240501724798475038376460652378515474043449169537673602610517117922547831264338248873787521232399502895772950788680314976403870262735179228053048708102173099614384025921113296421262159558411590860227346773621136508030356300263189293967969329610938493202255414461865597344943852146859099407641973628170619935744372021818115420821282874854222623546165226334664654753440431722216331343589339189935229327065565261645822614494362862476267484246643919515020683398331024912889070553137237347616901284664003087793046266567878866823394500132064535295432004333104723579988997643427051589639916039604451092383903368692157285845482708104933816215302559301719671188037851281729005565656338814182970269967085918538293890880475092163382609413562156338310563823281188773386211017704763159938883616540725621912037476949995577249972857857771856378343906111939594041084733902796567417890950435561157230731884066123354190394096787856042776825487642166302920892449541028944884956647017739962930080276919549851394549520616614642962092165692653880981958124618478744733243013817521240925422870703837557808884290783157520823466711911472144522890930322819947871651191288237840250992319259710872984320205116694338224362863283221115718454179217882788237357219524703994102848112813662332082958079875812477633019130366608019184483330105822515484275891093868456151855003944912851358734154583806237905219485068820030916629617309205755503920720626377804732862613079766433679859135376828730806448878734745133082636692943203679539159850391323328985285847241357266027093015826427114543028235959009522490332428134640726161547660293944394578817647189001902574324996279468053397162117334499075763564761555084586173663919016513752034681427598437331341049810068698782849021529320495047674741569956572494563549447993504198161212961987141030305756711175391670193465472213645399710045507815104724046991917964414949363907642605927849047429499383966428593511559782663856146102543132056534670281112383267283956847284201727601928608866591598647837375043706458642940646605947579020456685090162701375213058633221305325335714694551956815526677766331700394205533308601467555555405830070578584487253794630927945295535623279139320272185255246983467566771285387952396033243893520300769080964270244349395660512645118947517723805357403 32815784448184489648437656434608952539898370128485669686909508279427290863594169600644651125201506811186732055401052994436260064399624829227589122120997352787764861904158219985864326354100769742261659861206708377217293856253005495607835299717882410277914256001449822980331783587114527274708000778041055301680274838142751251498353047144954873855664999879384849704306329708922524758076199798711247500399401049728778273042531980940290116505654206549803117839657813971556219108133034591755610437662674321535860382639103318159691711443507851170959135464951012251562738085902583625646897684160537407837289068799111601940670297516470147892232388778047108626668345685718391843838336634454019112771839743312220962133887149268203374858314555120857427500780235454578418936665574243844099078245889272125509059907609748156125349539175071685814928607915709165447482256841576317574965695737322474565082131598559089801634393976491867716602363727676931679115926390359213450728507952822768671226815879684932663748875674514874939944339859471610336071276441691604447238400201032704647771878712098761297532229950701473607138608867350680221527133511542243721420401870896572409688635994064378519812882997745205944342049971160399419687359985542336751054210457048755747406666926056931293111300560762790158723340858304735310465906244241721094220707994334748015207912568878985143056135944913214999727876319709491552225023190339188068733493279563019795464112683507400623902833251315026501037843613447400928129352112767489168490585458960861716994270718194491772737726917614295305261392817407505926616391977941697711874078945982024654429565504689398695656496427188383127271368463286462760056977270088893106996656518152150143489802271475456293101527813569258612027871898984960235133865055278040535790515837811301103910864787355302864829183873678692396420578260828824604199221464661541927456934998654275479549103206687315537451644041748380370476596626758691038343479088496592871969672782275376366104678488919395634335887855690115596177008314318230482148500652924438343096450815978407369715219738811656171778670944076205703943260776823551459545236951015725387276121661481747057413337011669849509803554703358564777074868151836192765972822237878494824090961390016029988340893917781392998840251070970267911279535340502712995230658469448635546269031260126248525403318429299598546999325782123035623500938969430615747357921973744924620572762012568861530264134721908548803607938018365402422331398764275998375550634066773255077128450863104378262404047575483252054089959774669290804126956824807289761880153426600128620895974409837977612580338490077918915393976762370367995352218865864512742779275930142244156325275087248685510995524027481739608005042520548653363101438718133438570595591957974525475650457157717314844849871091685892240982656817888176860051837186979019470030018987254735901657431732216306470003365217113072532790463918027720750324029532889457001403578966327971549852619413372203456627564844093015867253492334875342831634265957210684106346854483754611182205174201985065671091727526285157710903593859936971472997151206338912077753083124629809248568981816761538204521211232277479099890257484340282668549574347930642660782844045756599046458882388410228214049189366728003671178224350023102533014305529299102909084475927208194999837389116632393940737002357641226072126905010029131616809810415976209819832998318950260844135443430954274567809863766485356605007417227669609207193500314943758054422253528132255792249306422673279741030586849486017224954154305265782301563449865353616915786165913294368054863261421783207596129965049022255283193449629561321556950102288380681415215800180888127329103647465522190537985298314803896017895241697829386878116461484525617376697048242526469096406162633204773676155242851898258088230336844835196088317218034069138194400696975842386200254088048160954286675248664730614158279692377845130764849676909064679 53097054604652716843092048408616117950370996158591631225536026909632871413509708632285403089777797439280003524247747184089673828851100572298911615578526086544009584788236567915066033697235432666404824651967237442887125765926070521694304346077311961594005767320445793998748494940775962677356852400255952833549060269123145372731782124805991164800795604731104157152235232260497723356653207571423881833036128069200647923464490514748949565463402227810079450551793665780263109554306487471362558379858455141073107595538825714625923246649371421861627407451969682844048681605380609358524852752501998151107136500412071642643483698562314232990672897891862035262335891276276026394635972781740899522865922202712779475350148758490529935559268427832573987391229549566850031498311523964309628417404731943038810194391058326858535774707674520158814873357750909762165889588964328177352935825576323566423893779475720791729271315138419067098931912613945954494108072831054058544402382805558351791957722357048580195479770000718332294863794554699883729908825949396013469267283085053224776663129649820363521006457170357160210882551767129675929470416797806816567908320524530147881085814977904604709577175519424848455136078529185896911304542690918592057645372119322921921477016468650311370034454491094312188561070306581708012422112685733893761980747201383606237551430145973993019879019307630985502391944042953675706872893033565838329067197410781159312428502554060235104211539778469071176001772483346497144543943975406210800258341551697123754783571947122907704888902537769670980937041864833438227219465642800916387268683653027962186927472655649710544572824667690107925746406839747115138572451313538062644670259128669268066037633535813705166889049045968761507800822687665275211537735318013219763843564545913474203525248813276416161250446033237103987280805607602445740707251820961805116750902967983886418042305462101777403048988985600527229576004268732319208963414832868614690085093603558251220327302035084621969000542609130547318393339657907569672083729979990003604742273430472770232191487223058300091293691627474536728856149847376688696892853852300389390363914707748314936280160406169981574338850135362897881798448140833836193024411877794534428542053773919398680498179763264101103774067286272827212999206528540564276959664035104974360452001530093334443941612320180073639162708391536597779839249533253896936131308184762629383732700896185402255886046759385498799185187991223260194187777108182110315144675151507157873695868754054813823561278307367318177444150168766078660169733650294931928183074319049669649840859366484995352543268570354838465245371311890984609995180958030205396660257888266862635070008330262503032236449450352443445562851404839436520622262184845350042740114848904848295598328808908603082690122084005151951855641138093293554390061549842302691145737441433953784445669089435831173997468065225886195122546876107596562801662552019823609422763449658077372368103689263297325083716699096960780104851069029926637872171176695752926377771113371920387960678122705692048896460388898237477337273719072348301727957655217646822886165761322752452248520976611929527850196518124720457156284577356109095664117376166601670305334378184733687185043936070522158443768184375192673080798675019382001067702691416437408160239491969750084423562780551410454489037039068824509458246059839200315592659437505530314880673060520217416630006980402268072008024979447343746037722984380784598863693780415971699821963573640070896973353414591244155979950757128623152803201734765166267992043376913399579642312015837500111397931702895590863413921896306457010795378238427913155597939663424387873858740827494074908124104150612353239360511373437117323220577412523938834931988162291949077091253775835070563961718039034844254739730105692889016175632380458475227637490219324385177868263747127774152650121292054474587444329629000858507675352890490249712367400714422082 85912839052837206491529704843225070490269366287077300912445535189060162277103878232930054214979304250466735579648800178525933893250725401526500737699523439331774446692394787900930360051336202408666484513173945820104419622179076017302139645795194371871920023321895616979080278527890489952064853178297008135229335107265896624230135171950946038656460604610489006856541561969420248114729407370135129333435529118929426196507022495689239681969056434359882568391451479751819328662439522063118168817521129462608967978177929032785614958092879273032586542916920695095611419691283192984171750436662535558944425569211183244584153996078784380882905286669909143889004236961994418238474309416194918635637761946025000437484035907758733310417582982953431414892009785021428450434977098208153727495650621215164319254298668075014661124246849591844629801965666618927613371845805904494927901521313646040988975911074279881530905709114910934815534276341622886173223999221413271995130890758381120463184538236733512859228645675233207234808134414171494065980102391087617916505683286085929424435008361919124818538687121058633818021160634480356150997550309349060289328722395426720290774450971968983229390058517170054399478128500346296330991902676460928808699582576371677668883683394707242663145755051857102347284411164886443322888018929975614856201455195718354252759342714852978162935155252544200502119820362663167259097916223905026397800690690344179107892615237567635728114373029784097677039616096793898072673296088173699968748927010657985471777842665317399477626629455383966286198434682240944153835857620742614099142762599009986841357038160339109240229321094878491053017775303033577898629428583626955751666915646821418209527435807289161459990576859538020119828694586650235446671600373291260299634080383724775307436113600631719026079629906915796383701383868431270344906473285623347044207837966638161897591408668789092940500633027348907600052600895491010247306893921365207562054766385833627586431980524004017603336430464820662914570347972225800154232230632914441947838724246451177601906706961869956263072362571550742432799410624200240156438090803316114777640036369230061993693497417839831084142404838721462658873316292670028958997234115673029252633015163935428668839073681045494102614318357243095124278741869043277272190322504553609906721032790219582969344930749479672186162034173659633403340188502684512683489230158507554004305462908754263786150181481294047602793126009588662616519175872458108690695309218280412950824319617159192085965325882850570231534109943435369464296690475102221690063227745649798270736833776322972965123607060432757380639348074261352605347399823894718139439533818409106791395283417511188543231973477834183053567893925388089883723700902978788613335706806879373771248785966625917927539993175691044192838297955981470414441898736821322161175756428688689686103100821652137644000833282338958727913010794135317313125692084909280610826342415986048922220723102635500781711281543189976647358343403905269469506437133906437032724625597126531570165852324690757719988187915183395188240867579009319774725108861556558900639248885952561700817502793373467732371407750402199557046542061696391764213691724097244331088178423941332733643926324480750372492957551103196344259023025042484534082008220715540317244715419177945084260951897183804395226039396710050581585151069868331932402469853481740134713671379470478260765450411356542639817888745932700351045140212050393806057194095359729754244217101772326689222659837264523897010537606614640377757356040030948569555493242267016495428477929131868166261193124678798459543886945328712293988827867989234712548041951805069289074541008382202237227751616134543777345809688241013341115819110353325713048449646817566453788302018361539660367880672239617930894972957591147104405969225293671315954708253393523372268960722970160352904209340215428874119578293731472665955045268335380477217077623486761 139009893657489923334621753251841188440640362445668932137981562098693033690613586865215457304757101689746739103896547362615607722101825973825412353278049525875784031480631355815996393748571635075071309165141183262991545388105146538996443991872506333465925790642341410977828773468666452629421705578552960968778395376389041996961917296756937203457256209341593164008776794229917971471382614941559011166471657188130074119971513010438189247432458662169962018943245145532082438216746009534480727197379584603682075573716754747411538204742250694894213950368890377939660101296663802342696603189164533710051562069623254887227637694641098613873578184561771179151340128238270444633110282197935818158503684148737779912834184666249263245976851410786005402283239334588278481933288622172463355913055353158203129448689726401873196898954524112003444675323417528689779261434770232672280837346889969607412869690550000673260177024253330001914466188955568840667332072052467330539533273563939472255142260593782093054708415675951539529671928968871377795888928340483631385772966371139154201098138011739488339545144291415794028903712401610032080467967107155876857237042919956868171860265949873587938967234036594902854614207029532193242296445367379520866344954695694599590360699863357554033180209542951414535845481471468151335310131615709508618182202397101960490310772860826971182814174560175186004511764405616842965970809257470864726867888101125338420321117791627870832325912808253168853041388580140395217217240063579910769007268562355109226561414612440307182515531993153637267135476547074382381055323263543530486411446252037949028284510815988819784802145762568598978764182142780693037201879897165018396337174775490686275565069343102866626879625905506781627629517274315510658209335691304480063477644929638249510961362413908135187330075940152900370982189476033716085613725106585152160958740934622048315633714130890870343549622012949434829628605164223329456270308754233822252139859989391878806759282559088639572336973073951210232963687630133369826315960612904445552580997676923947834098194184928256354366054199025279161655560471576928853330944655616504168003951076978376929973657824009812658481254974084360540671764433503865152021645993467563681175068937854827349337253444309595206388385643515922337277948397583841549149986539658584267173034320312917413286543069659745825324742565196231183179438035938409619620538343270183388038163804939666042036228240679546401978314000811922810706952980640219005839984369787570824520188371214005909526604190217888408978260112201448124466424125397153618246302064699467920577693142807968317666875630787595845884719386152337215342580781924923536099791706675969426465291747773691575468422928186626499130745330227526404345963087824138656075821655784222066847114775534521010230115259696196144693939094074763968831960286663624852321493870122643470548769911087968817998301347564844923035557670242913875927354636929104220249105865644126294588826791898798106794998242286937427463194472935196107378608310602189959102396710498451958126530447396449768884648304081632665578141298081668076453066516774205723525414647275314153066023769985397260221604268526920014202826639052500859877809100263846001393512802126066420828970260551272530936725735478389017339821700061866535149710912131977725404954911147695168684514677735214849715076435778875091043397129707532247995129290987270449594344439990695677395457391758810711825913725380044097082863196431178404920887875775701454066180675412397586196013251855768052990488363743263530560557774796114837547536619180416075070789944969368277659124827574389322957808841635169304784206106417147868145981615229457162933281835876277145351855766746897016706321061678130664336396522877264547980437809109515530879555794196610224329598711274462185634703063284036120581601605752146543592198472717908550137224470097934505554330632269903461563907922732331173630398158825630189584478337908843 224922732710327129826151458095066258930909728732746233050427097287753195967717465098145511519736405940213474683545347541141541615352551375351913090977572965207558478173026143716926753799907837483737793678315129083095965010284222556298583637667700705337845813964237027956909051996556942581486558756849969104007730483654938621192052468707883242113716813952082170865318356199338219586112022311694140499907186307059500316478535506127428929401515096529844587334696625283901766879185531597598896014900714066291043551894683780197153162835129967926800493285811073035271520987946995326868353625827069268995987638834438131811791690719882994756483471231680323040344365200264862871584591614130736794141446094762780350318220574007996556394434393739436817175249119609706932368265720380617083408705974373367448702988394476887858023201373703848074477289084147617392633280576137167208738868203615648401845601624280554791082733368240936730000465297191726840556071273880602534664164322320592718326798830515605913937061351184746764480063383042871861869030731571249302278649657225083625533146373658613158083831412474427846924873036090388231465517416504937146565765315383588462634716921842571168357292553764957254092335529878489573288348043840449675044537272066277259244383258064796696325964594808516883129892636354594658198150545685123474383657592820314743070115575679949345749329812719386506631584768280010225068725481375891124668578791469517528213733029195506560440285838037266530081004676934293289890536151753610737756195573013094698339257277757706660142161448537603553333911229315326534891180884286144585554208851047935869641548976327929025031466857447090031781957445814270935831308480791974148004090422312104485092505150392028086870202765044801747458211860965746104880936064595740363111725313363024818397476014539854213409705847068696754683573344464986430520198392208499205166578901260210213225122799679963284050255040298342429681206059714339703577202675599029814194626375225506393191263083092657175673403538771873147534035602359169980548191245818887500419721923375125436004901146798212617438416770576021594454971095777169009769035458932618945643987446208438923667155241849643742623659812805823199545080726173894111018880109140592933808084101790256018176327125355089309002704000759017461556690266627118821340309044212194173894067110532500382631473819139418011486776738855864586519626538622922303109768501777737392343626713693929828186409721973594004771440010400585427226128853098327696535293588067983775344507988373197995491930073068458640512370055636817588763114600499375308309529810349266191314526919130941282790482691220353226524067460413689820689980605819641675539325525085076217860575165284880118700396406020809552698639255615616288069663990802927269411528462663595838095900742160438937770108435387240337532237050056234383273859023484947013497250298811333156651870732740106461999134629903803650948568464378231189053046721838384831075448281630175216809549894534298888506279785476914074821537876840465576885045444508626991827022307624983528292382772087207488872836219265027853819008877090987851178175378330764624164663533227875853883526563358864992593012018929119571249368700748892624091500824361090332481691226067399154472896585032022903429683286581585361598844725104351069231719132847518042649670330325640252945466574919019244941115832488925672628548199575864180397599144469010584308015819461173938160907803115353351643802471312744448128003408481572210978081971135431208310397777184724275418673089120291950001025970357903908317913814827063407103029861447432570499267874101236443920317952253187782501695786963881598773033974406382580694023567034526452007822844258479382579607382881440794052130749919144005452215633230590261028887455927081984667857812558149884697479383514080116529676020875183224987570831045817859546906726111431922406185193068094858458539972485332335683486216463803839585443427161010666801555961395604 363932626367817053160773211346907447371550091178415165188408659386446229658331051963360968824493507629960213787441894903757149337454377349177325444255622491083342509653657499532923147548479472558809102843456312346087510398389369095295027629540207038803771604606578438934737825465223395210908264335402930072786125860043980618153969765464820445570973023293675334874095150429256191057494637253253151666378843495189574436450048516565618176833973758699806606277941770815984205095931541132079623212280298669973119125611438527608691367577380662821014443654701450974931622284610797669564956814991602979047549708457693019039429385360981608630061655793451502191684493438535307504694873812066554952645130243500560263152405240257259802371285804525442219458488454197985414301554342553080439321761327531570578151678120878761054922155897815851519152612501676307171894715346369839489576215093585255814715292174281228051259757621570938644466654252760567507888143326347933074197437886260064973469059424297698968645477027136286294151992351914249657757959072054880688051616028364237826631284385398101497628975703890221875828585437700420311933484523660814003802808235340456634494982871716159107324526590359860108706542559410682815584793411219970541389491967760876849605083121422350729506174137759931418975374107822745993508282161394632092565859989922275233380888436506920528563504372894572511143349173896853191039534738846755851536466892594855948534850820823377392766198646290435383122393257074688507107776215333521506763464135368203924900671890198013842657693441691240820469387776389708915946504147829675071965655103085884897926059792316748809833612620015689010546139588594963973033188377956992544341265197802790760657574493494894713749828670551583375087729135281256763090271755900220426589370243001274329358838428447989400739781787221597125665762820498702516133923498793651366125319835882258528858836930570833627599877053247777259309811223937669159847511429832852066334486364617385199950545642181296748010376612723083380497723232492539806864151858723333053000719600299073270103095331726468971804470969601300756110531567354097863099980114549123113647938523186815853640813065859456401104914786890183740216845159677759263040526102608156614983153039645083367513580569664684515391089644274939798834638664210960370490295583870778441067101430845417795918016888799163836811519304052095769699064574561331922730306845047920780381790518633595870222637962653140406749754011212508237933081833738546702375277957855554599864696359587203905018534263286347049490630167838265713229538725896528926555831875048734111892220061938909600457358322007949072408786846566027036032561387744565211639117231761045644325866913058571694168819334207436051829384585843142692415627078627065925487350118447817904943015517694959948000223695083436482226176144130998352105819310148571865818744168933976627200640643828075279997435977468648573984126134621145064980401358767489051324554147274301511398376686433096995301278027763851502284732349775661684263653755110816950929419018123435486418913219483657257757484523346660519397150175172655927631241895104970347690078180503190006949550333344262252814616287456039585452195339801393483969309924624936333875204028193465575301866845583295434366409022059974378938666425166217604381430044979495768054625241473335421629981252654234094656192268267800763671945329283396428392728435456281033902360259451869615556365194874164063469716196692788545210866604912750615898969846911132662376578452597121861614686340976060002991514334101167438878471589623178244650566480627848645570057819070604721579442779827577105459504628599050903557240080823530448840005182263983614941104680134756527931463149628337810758451811597274669788612156107854809009325265036597515547413606754760109027078094788542302164379084159219345569172436797964403139105198829340472543409663166029364012870604755235797247394139196135013215841585986640856386034299304447 588855359078144182986924669441973706302459819911161398238835756674199425626048517061506480344229913570173688470987242444898690952806928724529238535233195456290900987826683643249849901348387310042546896521771441429183475408673591651593611267207907744141617418570815466891646877461780337792394823092252899176793856343698919239346022234172703687684689837245757505739413506628594410643606659564947292166286029802249074752928584022693047106235488855229651193612638396099885971975117072729678519227181012736264162677506122307805844530412510630747814936940512524010203143272557792996433310440818672248043537347292131150851221076080864603386545127025131825232028858638800170376279465426197291746786576338263340613470625814265256358765720198264879036633737573807692346669820062933697522730467301904938026854666515355648912945357271519699593629901585823924564527995922507006698315083297200904216560893798561782842342490989811875374467119549952294348444214600228535608861602208580657691795858254813304882582538378321033058632055734957121519626989803626129990330265685589321452164430759056714655712807116364649722753458473790808543399001940165751150368573550724045097129699793558730275681819144124817362798878089289172388873141455060420216434029239827154108849466379487147425832138732568448302105266744177340651706432707079755566949517582742589976451004012186869874312834185613959017774933942176863416108260220222646976205045684064373476748583850018883953206484484327701913203397934008981796998312367087132244519659708381298623239929167955720502799854890228844373803299005705035450837685032115819657519863954133820767567608768644677834865079477462779042328097034409234908864496858748966692345355620114895245750079643886922800620031435596385122545940996247002867971207820495960789701095556364299147756314442987843614149487634290293880349336164963688946654121891002150571291898737142468742083959730250796911650132093546119688991017283652008863424714105431881880529112739842891593141808725273953923683780151494956528031758834851709787412343104542220553420441523674198706107996478524681589242887740177322350565502663131266872869015573481742059291925969395254777307968307709100143728574599696006939761925885851653374059406211748749548791237141435339385689907695019773824393793645033957260391328930838079191830604628082972614961168541377918178549490707938581848298296042907960356218691113184254225840075346825658172725417232327525698409047684626734411521194021613093665159210686836874398910571545923538375209204347960401900510464336354805690003000223475083301992653326395904234865361685398000303206746981069850883247841013228302298932854306979716856722541993564206887178442756846121862186442078343451812869215740228245604528023841458758980485291069429993194898878581111413743038916259855398885770332130470676819758413194187232735379678333633518879315994467745309783852511376568181741996570607372452224932694598999376254033448080605873882400002428904476728207926580967395883807557813240765577106270226616127261148699199619443942756441325748419014711295991570864746630320742611688373216159052263643778809417273435734971854741713731065860833076896703127245407628306385159156701564040550286108060810748986026666356895254260864729774763430615318337796092308641559740537511150270568673613149177827013810704295571798975674575447827573253339597308100756726436300493528859260608790327579925291618210376078913043553717272997989517415113518668005532993338870013394322826877051818046563870686976229781846137033359430096351952992540304459071347196385404450241651753596342075281216069325693171841165499760732080764887961200415562932502330274055229913029534028749298510066948927524393235910511070532509778604810582561516418675240827789338445070038212720963679500215271419312909993724557478302622418694055105034402570556743267843782262686011924940772394949594856234124222471410577240568132930880355659938852801285013147651523187590260700051 952787985445961236147697880788881153674009911089576563427244416060645655284379569024867449168723421200133902258429137348655840290261306073706563979488817947374243497480341142782773048896866782601355999365227753775270985807062960746888638896748114782945389023177393905826384702927003733003303087427655829249579982203742899857499991999637524133255662860539432840613508657057850601701101296818200443832664873297438649189378632539258665283069462613929457799890580166915870177071048613861758142439461311406237281803117560835414535897989891293568829380595213974985134765557168590665998267255810275227091087055749824169890650461441846212016606782818583327423713352077335477880974339238263846699431706581763900876623031054522516161137006002790321256092226028005677760971374405486777962052228629436508605006344636234409967867513169335551112782514087500231736422711268876846187891298390786160031276185972843010893602248611382814018933773802712861856332357926576468683059040094840722665264917679111003851228015405457319352784048086871371177384948875681010678381881713953559278795715144454816153341782820254871598582043911491228855332486463826565154171381786064501731624682665274889383006345734484677471505420648699855204457934866280390757823521207588030958454549500909498155338312870328379721080640852000086645214714868474387659515377572664865209831892448693790402876338558508531528918283116073716607147794959069402827741512576659229425283434670842261345972683130618137296325791191083670304106088582420653751283123843749502548140601058153734345457548331920085194272686782094744366784189179945494729485519057219705665493668560961426644698692097478468052874236623004198881897685236705959236686620817917686006407654137381817514369860106147968497633670131528259631061479576396181216290465799365573477115152871435833014889269421511891006015098985462391462788045389795801937417218573024727270942796660821630539250009146793896948300828507589678023272225535264733946863599104460276793092354367455250671694156764218039908529482067344249594276494963265553606421161123973271976211091810251150561047358709778623106676034230485364735968995688030865172939864492582070630948781373568556544833489386586190679978771045529412637099932314356906163774390181080422753203488264684458339784883289308897059225967595049039562320900211953751056028269972223335974467507596737745685109815346960056125917755687745586148570382191873578953107207750961121568631685647279874818270948032825601903092292520575421101285849503779092975073900707547605805528998599641152739493630391313349015222192052292433161421193560446734415098967043008760483705199335236251371341641153545743892755103381308772098817559988607167506512308991402023507038035074435681656357408427301901672900918148057059120386228699559231647981931777550358833770555825554113301984589338318231087485497643782090745134738636679286411053152020396257021994006584841100798916820733620521319013849439373362933724556576178778239606303267400492879108835841004617079391002576391788945412352954730260893685860343871854501130209211054522004387805265958348892613309227436299706440659168540705319544819894234255867782627230047389498222244593841198742153759380351679592030120673610963000232099282454330305076630276198613772162501330701534119476177575436786277994579222806509578758920813272311096205429080227487434253500369024527199972438858142657037183056015381572652112736338364913169273638192863681478583234864698321538549736618307073442776021664957696533063554682378967998648045771072411955984054638560238786074856994073419896404162822703129861639383512242445887079203511908341993420705044161983405887514136053443478374033931562493681890032204527992438442533682138116415569034373113693345029439945446299879047537986000277015762685026067670102751635573091164720858434189193621916125915704641746665825117123770112867493004519400153586484281181995803930178274494856073866017126599134292379573624560004498 1541643344524105419134622550230854859976469731000737961666080172734845080910428086086373929512953334770307590729416379793554531243068234798235802514722013403665144485307024786032622950245254092643902895886999195204454461215736552398482250163956022527087006441748209372718031580388784070795697910519908728426373838547441819096846014233810227820940352697785190346352922163686445012344707956383147735998950903099687723942307216561951712389304951469159108993503218563015756149046165686591436661666642324142501444480623683143220380428402401924316644317535726498995337908829726383662431577696628947475134624403041955320741871537522710815403151909843715152655742210716135648257253804664461138446218282920027241490093656868787772519902726201055200292725963601813370107641194468420475484782695931341446631861011151590058880812870440855250706412415673324156300950707191383852886206381687987064247837079771404793735944739601194689393400893352665156204776572526805004291920642303421380357060775933924308733810553783778352411416103821828492697011938679307140668712147399542880730960145903511530809054589936619521321335502385282037398731488403992316304539955336788546828754382458833619658688164878609494834304298737989027593331076321340810974257550447415185067304015880396645581170451602896828023185907596177427296921147575554143226464895155407455186282896460880660277189172744122490546693217058250580023256055179292049803946558260723602902032018520861145299179167614945839209529189125092652101104400949507785995802783552130801171380530226109454848257403222148929568075985787799779817621874212061314387005383011353526433061277329606104479563771574941247095202333657413433790762182095454925929031976438032581252157733781268740314989891541744353620179611127775262499032687396892142005991561355729872624871467314423676629038757055802184886364435150426080409442167280797952508709117310167196013026756391072427450900141240340016637291845791241686886696939640696615827392711844303168386234163092729204595377936915712996436561240902195959381688838067807774159841602647647470682319088288775832150290246449955945457241536893616631608838011261512607232231790461977325408256749681277656688562063986282197619740696931381066011159338526105655712565627322515762138893395959704232164178676934342854319617296525887118754151504840036723670989438513601254153016998304676327533408111389868016482136446800929840374410457538699237125832624983288647267040733331906609229792142054438695568251503207412295500196421049702631350283105055508007706039462935995958429496630614788432317214845378688337396286555245844734718305714024078611366953040348464553670274495460525460749477645374872978985996002745453289368698751069745475319907250814663927260885432268760660653386209217487052315285107280670645391020848037405757719540887956024790121743002532505463822865175977415609624450733104424596194905663396964438763990577192213553023849515332619897573047297519979236816124559005083254967814229848367888762916393654245382656497272803007916206561052154349704836442301669620273515841505202625386751018126008570037265829468279699943485250076441976440291399561607965321728615704126750516743629872900226357898855323420901965700090931422596989666588994536715195034851393706813932109958593639343093860013688725707354951607728400633523389463216385071286770780876907800740773850808469781253636272932387001917645973383595306864270323112417277956722990911190853198893696753532703854531888606631701396269653073483004260403750530912160814135681405201168763908976594943019310133271242398523661548157759164778411077708709205414287052578964243989106881381905459724915908217788191283356507908062680861003748838959728921228348953604214647895020379616934630112020270267734784744949085750706963956515977956445380580096476193051393787139552489294228024486682658972485528928511129048710885262442599375634277808955691759236372063109154850516012718818411612281943902761214820704549 2494431329970066655282320431019736013650479642090314525093324588795490736194807655111241378681676755970441492987845517142210371533329540871942366494210831351039387982787365928815395999142120875245258895252226948979725447022799513145370889060704137310032395464925603278544416283315787803799000997947564557675953820751184718954346006233447751954196015558324623186966430820744295614045809253201348179831615776397126373131685849101210377672374414083088566793393798729931626326117214300453194804106103635548738726283741243978634916326392293217885473698130940473980472674386894974328429844952439222702225711458791779490632521998964557027419758692662298480079455562793471126138228143902724985145649989501791142366716687923310288681039732203845521548818189629819047868612568873907253446834924560777955236867355787824468848680383610190801819194929760824388037373418460260699074097680078773224279113265744247804629546988212577503412334667155378018061108930453381472974979682398262103022325693613035312585038569189235671764200151908699863874396887554988151347094029113496440009755861047966346962396372756874392919917546296773266254063974867818881458711337122853048560379065124108509041694510613094172305809719386688882797789011187621201732081071655003216025758565381306143736508764473225207744266548448177513942135862444028530885980272728072320396114788909574450680065511302631022075611500174324296630403850138361452631688070837382832327315453191703406645151850745563976505854980316176322405210489531928439747085907395880303719521131284263189193714951554069014762348672569894524184406063392006809116490902068573232098554945890567531124262463672419715148076570280417632672659867332160885165718597255950267258565387918650557829359751647892322117813281259303522130094166973288323222282027155095446101986620185859509643928026477314075892379534135888471872230212670593754446126335883191923283969553051894057990150150387133913585592674298831364909969165175961349774256310948763445179326517460184455267072093679931036345090722969540208975965333031073327766262763771620742658530180099026982711337605159734568563917571124101996344807006949543472405171654954559396039205531054846213233395553372868388299719467976910478648259270840462561876340017503596184892096884224388690503963560223651751378843264120936158316472405051990474727017708485824590127484505901414073218517926736828072608054202488675426522980839730572816078939832734249768835672418979186484048063090087264297471343795727987716601482270553481724325357005763055613511568461535637111168990261006101781332437037430980770557707748806291469133404681067087371850658239683700805041616136614071204642232748756181751084813562734060456875211060061147498826945285889099608917242840696062562326287127365544111435671335980229877039002779814956116553311443781578903423727591870823694910350673621197700369585471741103882605958815417360695785984583777054653822766336066240418892061146959352599749849115581262033207420533115768381642025229495249999735888275379399705151973405109079965730128162013492128016971714413679908755405931274528386158442777507136243191690735610517145610944381502199577596398331356797906241852117494067556641009082801253645292121052096207952666821093819169525339928023983012545882121094970044627979489866301144141229602307623440032968222137198343597866986305988028228208104308838805780836245371245144574683156439610688436922435848755642869892264549383716880372279988397402176070438343250008469712429095147961956936814085594539782134329450972241175864960649581579548919346099392597081444561921987481540939348092717656732939658167755897448874802610503886899314105302327336799986282096612423497430728991933449220787396137896786011435948651307743805365299707680231044828133288692964233531740641471448250199227828624484951860410923483421646402808574677127275594336246172480998129935603895034431395439972941232175993287429345372086584835538211416236282334839380709047 4036074674494172074416942981250590873626949373091052486759404761530335817105235741197615308194630090740749083717261896935764902776397775670178169008932844754704532468094390714848018949387374967889161791139226144184179908238536065543853139224660159837119401906673812651262447863704571874594698908467473286102327659298626538051192020467257979775136368256109813533319352984430740626390517209584495915830566679496814097073993065663162090061679365552247675786897017292947382475163379987044631465772745959691240170764364927121855296754794695142202118015666666972975810583216621357990861422649068170177360335861833734811374393536487267842822910602506013632735197773509606774395481948567186123591868272421818383856810344792098061200942458404900721841544153231632417976253763342327728931617620492119401868728366939414527729493254051046052525607345434148544338324125651644551960304061766760288526950345515652598365491727813772192805735560508043174265885502980186477266900324701683483379386469546959621318849122973014024175616255730528356571408826234295292015806176513039320740716006951477877771450962693493914241253048682055303652795463271811197763251292459641595389133447582942128700382675491703667140114018124677910391120087508962012706338622102418401093062581261702789317679216076122035767452456044354941239057010019582674112445167883479775582397685370455110957254684046753512622304717232574876653659905317653502435634629098106435229347471712564551944331018360509815715384169441268974506314890481436225742888690948011104890901661510372644041972354776217944330424658357694304002027937604068123503496285079926758531616223220173635603826235247360962243278903937831066463422049427615811094750573693982848510723121699919298144349643189636675737992892387078784629126854370180465228273588510825318726858087500283186272966783533116260778743969286314552281672379951391706954835453193359119296996309442966485441050291627473930222884520090073051796666104816657965601649022793066613565560680552913659862450030595644032781651963871736168357654171098881101926104366419268213340849268387802814861627851609690514021159108017718627953645018211056079637403445416536721447462280736123869921957617359150585919460164908291544659418609366568217588905644826111947030990280184092922668142237157994605698460560646823277070623909892027198398007146999425844280501504206090400751926038126696089090190649289605266897391297269272053204772457717538416102713152311093093277855232141702993039595298935400012101678691603184355675640110818563621217607924471633069598486891620890213649651882809669107953994304052136203851710395091165983217611280032165358711890632074596665391710394131054730070809565479513746243909811130892974146852536703763536178128272964823222979673336583031163750956443260900522430023627852361874272852331737603693545470594403329158733215849598613309994036204845528478800864478814325134549975160969268206846615851398860316465108444479331836565973674586345288175234762964136270404941623149495382392385548182407621358534457263429670566570463683112401532813219616305295506424057283098423424272245786836186676940812052493585902343943110164899325014035483548422985481990394293914539864406222155610992211983518804942333410088355884720374779417689826477992079688609387721839503555026851496181210036024073556357685353583414884637767182895828968981955117308587034472518303632146492329129823205995301192758961172920826615255460574570079265976741930106030602326949881709865982082168630966217340564616506700596270010856173409939773937244524598859052617341791120742992719681152259952017056801923071019992237131999886555756184515963611815222323090518620156494190159293284501179567951662370449136349742111433906456328268242373917385569975415015789777219039399928190047718597916828830295704021675878738999963412777649670889491233649612804522847375221191883392378203270668709204395664700468548056396584195888099303653949823698180185096054201413596 6530506004464238729699263412270326887277429015181367011852729350325826553300043396308856686876306846711190576705107414077975274309727316542120535503143676105743920450881756643663414948529495843134420686391453093163905355261335578689224028285364297147151797371599415929806864147020359678393699906415037843778281480049811257005538026700705731729332383814434436720285783805175036240436326462785844095662182455893940470205678914764372467734053779635336242580290816022879008801280594287497826269878849595239978897048106171100490213081186988360087591713797607446956283257603516332319291267601507392879586047320625514302006915535451824870242669295168312112814653336303077900533710092469911108737518261923609526223527032715408349881982190608746243390362342861451465844866332216234982378452545052897357105595722727238996578173637661236854344802275194972932375697544111905251034401741845533512806063611259900402995038716026349696218070227663421192326994433433567950241880007099945586401712163159994933903887692162249695939816407639228220445805713789283443362900205626535760750471867999444224733847335450368307161170594978828569906859438139630079221962629582494643949512512707050637742077186104797839445923737511366793188909098696583214438419693757421617118821146643008933054187980549347243511719004492532455181192872463611204998425440611552095978512474280029561637320195349384534697916217406899173284063755456014955067322699935489267556662924904267958589482869106073792221239149757445296911525380013364665489974598343891408610422792794635833235687306330286959092773330927588828186434000996074932619987187148499990630171169110741166728088698919780677391355474218248699136081916759776696260469170949933115769288509618569855973709394837528997855806173646382306759221021343468788450555615665920764828844707686142695916894810010430336671123503422203024153902592621985461400961789076551042580965862494860543431200442014607843808477194388904416706635269992619315375905333741830058744887198013098115129522124275575069126742686841276377333619504129954429692367130190888955999379448486829797572965456769425082585076679141820624298452025160599552042575100371096117486667811790970083155353170732018974219179632885202023307677880207030779465245662329708131923087164408481613172105797381646357077303824767759435387096314944017673125024855485250434407986010107504473970443964863524161698244851778280693420372136999844869283712290451788184938385571290279577325918322228967290510939094663387728703160962156666080000997116581619234729176386007270180767477152626991994982088920240649878511702052858427672985115076158253355068269519715866163753506768688667870033943142887236481155623128213574203119120871192040472973797822592863145095371113660885785305960463948575275186627779241130399469026407667317990826163775519182596969198186274152853643566523219811010363621676586632361406823294231685830335959744746322860669382187465100735357169591438684436315822790167607321382655296079904652046966852644745382128273823561807326510507862372509636296698625696604529549784934029985204261829988557626809582715023293972429868631547663010731513288324612364476921412366840346329227334107888361471180873489023409256284333035615012895000231182175054245714707441672839023874200783579432349818993421327995637410812343647513589325907490781758482504753488883857197190059426147392815308763674877291067012286262816683738115194809928563696507520009958286959638256730327508206672765293131718335694511263778928174277378702101240378404340307145651115638897894106178407971963441183717824437281603139741492956404894640727752931895299755784004630987126467498714536428392845956956480472255905707998610296943595819669923745880008219917892276919550117722750869683095246834605352328092892423579459239388277080494931850300363690860374336261071317292299808326740080117183621393672881522313807165703140599835637641700724049684013541260185888489488035114416467430893582122643 10566580678958410804116206393520917760904378388272419498612134111856162370405279137506471995070936937451939660422369311013740177086125092212298704512076520860448452918976147358511433897916870811023582477530679237348085263499871644233077167510024456984271199278273228581069312010724931552988398814882511129880609139348437795056730047167963711504468752070544250253605136789605776866826843672370340011492749135390754567279671980427534557795733145187583918367187833315826391276443974274542457735651595554931219067812471098222345509835981683502289709729464274419932093840820137690310152690250575563056946383182459249113381309071939092713065579897674325745549851109812684674929192041037097232329386534345427910080337377507506411082924649013646965231906496093083883821120095558562711310070165545016758974324089666653524307666891712282906870409620629121476714021669763549802994705803612293801333013956775553001360530443840121889023805788171464366592879936413754427508780331801629069781098632706954555222736815135263720115432663369756577017214540023578735378706382139575081491187874950922102505298298143862221402423643660883873559654901411441276985213922042136239338645960289992766442459861596501506586037755636044703580029186205545227144758315859840018211883727904711722371867196625469279279171460536887396420249882483193879110870608495031871560910159650484672594574879396138047320220934639474049937723660773668457502957329033595702786010396616832510533813887466583607936623319198714271417840270494800891232863289291902513501324454305008477277659661106504903423197989285283132188461938600143056123483472228426749161787392330914802331914934167141639634634378156079765599503966187392507355219744643915964280011631318489154118059038027165673593799066033461091388347875713649253678829204176746083555702795186425882189861593543546597449867472708517576435574972573377168355797242269910161877962171937827028872250733642081774031361714478977468503301374809277280977554356534896672310447878566011774991972154871219101908394650713012545691273675228835531618471496610157169340228716874632612434593308379115596606235787159539252252097043371655631679978545787632838934130092527093953077310788091169560138639797793493567967096489573598997054151307155820078954077444592574535840248034539640962775764385414582712457720224836044871523032002484676278688487514313594874722370002990220250788435501067885960317763434269116922488484748169326601041098723601372670603773554370670283550534393598787740804839653759850435676637227400182855946784310478903250365964044247882208631740803050318986465696356910563876836825471249419338285880799748031522465397400763264535425653537018291211226432693693087949363030682322933447120650359296626681273499386625709008285633800531606438937584222502030921899050035519679865099016107256786290514668780677482012376782372818424320357657881432160840207687773046010964885934905715591067515998038863961051822278035918016272881796464753952609557890059044040922451908475794240764520659371744214947869042319635939306863269089379716931082598153646290499768254045840725233006987269080808616545572359715504317415632267722529376246426402323894752212816098282655385720737895245564867276545019133817837333641270530938966089486859362665501866280472188820071658496976354847133592022379671587145683592844365173367142520671779686166172014543455979849781281978509437559341416086022679039307953771101484523122775470532857038904233472257614237275092243013428201676593432409894391617943318607940974674351163319061055412835138630777267024580782974838567430001284292001444973461696563798772924132431755670560387171642431110529758751483364577112974662415198992499789864895258190119060095622119653824348605187792491640136439658510262624382571367492820613627177837305105910790635871976242429860337749038720988181791041976352884640030996614864764914692010436371849804231302342169272106080597737148285192143437858812596652526947783536239 17097086683422649533815469805791244648181807403453786510464863462181988923705322533815328681947243784163130237127476725091715451395852408754419240015220196966192373369857904002174848846446366654158003163922132330511990618761207222922301195795388754131422996649872644510876176157745291231382098721297548973658890619398249052062268073868669443233801135884978686973890920594780813107263170135156184107154931591284695037485350895191907025529786924822920160947478649338705400077724568562040284005530445150171197964860577269322835722917168671862377301443261881866888377098423654022629443957852082955936532430503084763415388224607390917583308249192842637858364504446115762575462902133507008341066904796269037436303864410222914760964906839622393208622268838954535349665986427774797693688522710597914116079919812393892520885840529373519761215211895824094409089719213875455054029107545457827314139077568035453404355569159866471585241876015834885558919874369847322377750660338901574656182810795866949489126624507297513416055249071008984797463020253812862178741606587766110842241659742950366327239145633594230528563594238639712443466514339551071356207176551624630883288158472997043404184537047701299346031961493147411496768938284902128441583178009617261635330704874547720655426055177174816522790890465029419851601442754946805084109296049106583967539422633930514234231895074745522582018137152046373223221787416229683412570280028969084970342673321521100469123296756572657400157862468956159568329365650508165556722837887635793922111747247099644310513346967436791862515971320212871960374895939596217988743470659376926739791958561441655969060003633086922317025989852374328464735585882947169203615688915593849080049300140937059010091768432864694671449605239679843398147568897057118042129384819842666848384547502872568578106756403553976934120990976130720600589477565195362629756759031346461204458928034432687572303451175656689617839838908867881885209936644801896596353459690276726731055335076579109890121494279146794171035137337554288923024893179358789961310838626801046125339608165361462410007558765148540679191312466301359876550549068532255183722553646158728956420797904318064036232663958823188534357819430678695591274774369780629776519396969485528210877164609001056149012353831921287319853068210182342147844816539780062544648056857969926713096473524421099348692813967853744412486680352846166653738135571268961791772197038621114785979484294891652247929691876599637574061473488262175469508000615916516515677634343981802090675960696486173431133441196874874203613829723290968864977398409768991549821940547407672693354150319463897686218904169451932405459596679905527692382055821906662152482151553514973920094448181889489826368870500286594793591594264480181714124212001743161321368076443186997855925179882775968887483866966951634866020348896038235330721279558018793201614511067277696795221894650461913928185380226329061787179447627356700709197619254921559930940545355123945574498875328438986146648933195306022274379550182008448943159967715076321460632383087676275704030084034398352042589702292374781046414203907378515048928920592334893853167838769164241081440150206171016856901611384268974123560878054748830732333872452705993211804194301035504525740481255768252421477490397682842771002834723319100735009500335146931849647274160663543363362073969603372665090045653386728626353702348839362777423148581030048219630295480491143998542490202585122443947857536145146537371104696188822565895322020709181353078691470464712171051733032736955674996544224158556391867282887431742937929866591204526525856027731511454565018158768898609244295179876210534069455134671104700498400161838854009788983841502127873742240882107342609362887309341605509458987923695585713037206637076693382991285567722276606120720712085299792305474090850303092964757214618008537646437005817602074990404066939983869996155764611278408471080632925893927013119957841365658882 27663667362381060337931676199312162409086185791726206009076997574038151294110601671321800677018180721615069897549846036105455628481977500966717944527296717826640826288834051360686282744363237465181585641452811567860075882261078867155378363305413211115694195928145873091945488168470222784370497536180060103539499758746686847118998121036633154738269887955522937227496057384386589974090013807526524118647680726675449604765022875619441583325520070010504079314666482654531791354168542836582741741182040705102417032673048367545181232753150355364667011172726156286820470939243791712939596648102658518993478813685544012528769533679330010296373829090516963603914355555928447250392094174544105573396291330614465346384201787730421172047831488636040173854175335047619233487106523333360404998592876142930875054243902060546045193507421085802668085621516453215885803740883639004857023813349070121115472091524811006405716099603706593474265681804006349925512754306261076805259440670703203725963909428573904044349361322432777136170681734378741374480234793836440914120312969905685923732847617901288429744443931738092749966017882300596317026169240962512633192390473666767122626804433287036170626996909297800852617999248783456200348967471107673668727936325477101653542588602452432377797922373800285802070061925566307248021692637429998963220166657601615839100332793580998906826469954141660629338358086685847273159511077003351870073237358002680673128683718137932979657110644039241008094485788154873839747205921002966447955701176927696435613071701404652787791006628543296765939169309498155092563357878196361044866954131605353488953745953772570771391918567254063956660624230530408230335089849134561710970908660237765044329311772255548164209827470891860345043404305713304489535916772770767295808214024019412931940250298058994460296617997097523531570858448839238177025052537768739798112556273616371366336890206370514601175701909298771391871200623346859353713238019611173877331014046811623403365782955145121665113466434018013272943531988267301468716166854587625492929310123411203294679836882236095022442152073527656275797548253460899128802646111903910815402532191946361795354927996845157989309974746914358094496459228472189159241870859354228773573548276641348289831242053593630684852601866460928282628832595596924860302536764616107416171088860454602991784961038734694223415183970843964663275115853914052614055899005538078714260681786790441387020583018493024918533465430970307857612007881860963210312840269676366951354271571381984946622745006965076681499405241122756412245570526341287851443094766679555426658766018657092031640031119211929208684301570215196940885250216923818903608488515599750101845182235837907367215098541186116507642369886912303801877228065011788153061796224245192243267126478706677721024195990032755177998535747629116878397131268856659651078937439450954041822198840323707760107829556177504995701378265193022839001725663274716982079415719675512540498435414167986496950783804233226911169592567050237222248592501644388250023236804456038391714981241322566203798338080239077275596689561455589662959776267094019366344552860057423229414265171488135833652966304453672242622349279514538990837423073882648569667513723236932177893681160398170027606761727957072493135987374037689904594857102990687880693093179512105216789794832443229529534088513059352514871327631896166185695118434862041816731102352131532742753070951024001037446723674842736681222949779158574739047698128598716957513265339317122327753042633783773226464568171367732942021125007133394959297284171723744382903328287768325298780160163267125125405330411329719774053931359575111182429797086303692998190026734112199908043937124247527566589487295135101003023749000115772083370495063078533650833814913998488902076203594252848550581049834338513293655881892279445849397245614623402411351697828038446840208298242326039268261845209015556756272776363752739609772484789149195121 44760754045803709871747146005103407057267993195179992519541861036220140217815924205137129358965424505778200134677322761197171079877829909721137184542516914792833199658691955362861131590809604119339588805374943898372066501022286090077679559100801965247117192578018517602821664326215514015752596257477609077198390378144935899181266194905302597972071023840501624201386977979167403081353183942682708225802612317960144642250373770811348608855306994833424240262145131993237191431893111398623025746712485855273614997533625636868016955670319027227044312615988038153708848037667445735569040605954741474930011244188628775944157758286720927879682078283359601462278860002044209825854996308051113914463196126883502782688066197953335933012738328258433382476444174002154583153092951108158098687115586740844991134163714454438566079347950459322429300833412277310294893460097514459911052920894527948429611169092846459810071668763573065059507557819841235484432628676108399183010101009604778382146720224440853533475985829730290552225930805387726171943255047649303092861919557671796765974507360851654756983589565332323278529612120940308760492683580513583989399567025291398005914962906284079574811533956999100198649960741930867697117905756009802110311114335094363288873293477000153033223977550975102324860952390595727099623135392376804047329462706708199806639755427511513141058365028887183211356495238732220496381298493233035282643517386971765643471357039659033448780407400611898408252348257111033408076571571511132004678539064563490357724818948504297098304353595980088628455140629711027052938253817792579033610424790982280228745704515214226740451922200340986273686614082904736695070675732081730914586597575831614124378611913192607174301595903756555016493009545393147887683485669827885337937598843862079780324797800931563038403374400651500465691849424969958777614530102964102427869315304962832570795818240803202173479153084955461009711039532214741238923174664413070473684473737088350134421118031724231555234960713164807443978669325821590391741060033946415454240148750212249420019445047597557432449710838676196954988860719762259005353195180436165999125085838105090751775725901163222025542638705737546628854278659150884750516645229134858550092945246126876500708406662594686833864955698382215602481900805779267008147353304396169960819145718424529704881434563155793572107997938697709075761796206760219267794034576807040506032878825411556173000067313384677166463157307569945431673481370123138679820840885592883467031905915363787037298705703451250112632846437997630615859400249632256716420493176448546976480706566064764724994181438675826894903205739667129346344846896829346595990544337506412254327333789352881287309546723075606334011240387198898595468822329491969867186008225988353564635202921893675576949375872808724065482402714580751744417480164894894981800216997469747243436709907601404555329724206639418923886758491522084626181173290631417691277034974597072471438980769291932071449659132672213057818525762356259496628142683652837193183204519532359852347364328998841907828422114637429318186391853830370709373980174472534415273473452392317082582103940652376915093116510624689099523960663783513114398301128631479302001386175942925389697875461433674553347242983725324914613477771720532675597691826309788615702593514659037066437068993106772892896162482662725179961373285282894812048820783701404594154250933161580962383366431515145035989213877427859125170807315303721276418802824787539523408587360026303680831734104248485397516301204104688617017669231291951351164567059155487320833194878972851824636187894778579690423489180228329018349111235785645251884931757408393496590188572966209697027778626375401308830369402477710365911058341721281542358418758664246688040451990691871893361771316529454671301761919638305599129972742582538814154460232631940057788703645640521830612365182309909264417609820293965227353409289646666622892442630514854003 72424421408184770209678822204415569466354178986906198528618858610258291511926525876458930035983605227393270032227168797302626708359807410687855129069813632619474025947526006723547414335172841584521174446827755466232142383283364957233057922406215176362811388506164390694767152494685736800123093793657669180737890136891622746300264315941935752710340911796024561428883035363553993055443197750209232344450293044635594247015396646430790192180827064843928319576811614647768982786061654235205767487894526560376032030206674004413198188423469382591711323788714194440529318976911237448508637254057399993923490057874172788472927291966050938176055907373876565066193215557972657076247090482595219487859487457497968129072267985683757105060569816894473556330619509049773816640199474441518503685708462883775866188407616514984611272855371545125097386454928730526180697200981153464768076734243598069545083260617657466215787768367279658533773239623847585409945382982369475988269541680307982108110629653014757577825347152163067688396612539766467546423489841485744006982232527577482689707354978752943186728033497070416028495630003240905077518852821476096622591957498958165128541767339571115745438530866296901051267959990714323897466873227117475779039050660571464942415882079452585411021899924775388126931014316162034347644828029806803010549629364309815645740088221092512047884834983028843840694853325418067769540809570236387152716754744974446316600040757796966428437518044651139416346834045265907247823777492514098452634240241491186793337890649908949886095360224523385394394309939209182145501611695988940078477378922587633717699450468986797511843840767595050230347238313435144925405765581216292625557506236069379168707923685448155338511423374648415361536413851106452377219402442598652633745812867881492712265048098990557498699992397749023997262707873809196954639582640732842225981871578579203937132708447173716774654854994254232401582240155561600592636412684024244351015487783899973537786900986869353220348427147182820716922201314088891860457226888534040947169458873623452714699281929833652454891862912203853230786408973223158134155841292340076814527618030051452547130653898008380014852613452651904723350737887623073909758516088489087323666493522768224790539648716188317518717557564843143885110733401376191868449890069012277376990234578879132696666395601890487795523181909541673739036912060674271881849933582345119220293560612201997560020650331877702084996622738540253289285489251984101890133681155269250418386177486745771983921450710416326794132251679120387028104970775973544567863587943128102403139472584721856756634212557887756103587507309882326287230097113753165499599032853106162356172516025190788654524645264261722841653610274111202397346050394503758020247804450233545807902329400600353297973571862841479243480938462209868622814611433751554632879154436920701285258908747925112315437553762816923919588136756715107465182898953906134673356450694272585011937416183459918568400442936905439968988118329406496718876735185297225443206441323988398244062345570321408111626760194876506593783081415285960372333756441566553781618026312449740311996369112140512748746082815078361342146309943298052105235724202514127871668899899179857567591556621831844580954004711682397407749465145758222580192548929300476496395686694171142283226863825550002422430250995722077694832700917179060997743939218563446410885353285293113705136437382539146073435937552270595806393757094462296015466500953386256480921852699343426008584776738032258623980869375472421559038794238425346310461851230879231703736523166741177123416348058045704815828819591558048792403042595360756434314728843712086494780215307078409605071715750622928875419856697612811368934807341837053625728913821742780338874266904690360795437974910782303221882811753976818892785854634861984663551705847255342469140401473678968670820663424635948532679455029309521983626185653399406232664927419664049124 117185175453988480081425968209518976523622172182086191048160719646478431729742450081596059394949029733171470166904491558499797788237637320408992313612330547412307225606217962086408545925982445703860763252202699364604208884305651047310737481507017141609928581084182908297588816820901250815875690051135278257936280515036558645481530510847238350682411935636526185630270013342721396136796381692891940570252905362595738889265770417242138801036134059677352559838956746641006174217954765633828793234607012415649647027740299641281215144093788409818755636404702232594238167014578683184077677860012141468853501302062801564417085050252771866055737985657236166528472075560016866902102086790646333402322683584381470911760334183637093038073308145152906938807063683051928399793292425549676602372824049624620857322571330969423177352203322004447526687288341007836475590661078667924679129655138126017974694429710503926025859437130852723593280797443688820894378011658477875171279642689912760490257349877455611111301332981893358240622543345154193718366744889135047099844152085249279455681862339604597943711623062402739307025242124181213838011536401989680611991524524249563134456730245855195320250064823296001249917920732645191594584778983127277889350164995665828231289175556452738444245877475750490451791966706757761447267963422183607057879092071018015452379843648604025188943200011916027052051348564150288265922108063469422435360272131946211960071397797455999877217925445263037824599182302376940655900349064025230457312779306054677151062709598413246984399713820503474022849450568920209198439865513781519112087803713569913946445154984201024252295762967936036504033852396339881620476441313298023540144103811900993293086535598640762512813019278404970378029423396499600264902888112426537971683411711743572492589845899922120537103366798400524462954557298779155732254112743696944653851186883542036507928526687976918948134008079209693411293279687776341831559587348437314824699961520988323672208019018593584775583387860347628160900870639910482252198286922480456401409607623835702134718726977431209887341573750880050185775269692985417139509036472776242813652703868156543298906379799171602040395252158389451352205016546773958660275161317623945873759438768895101291248055378783004352582513263225359487592634207155458876597243373408447337809380297303662401547830165046281367631179848239382814798708267434491149643968159152159726326439437613553733020717645262379251459780046110198720958970622107240569954522040862133885418083402109559021220156413867576906765098117118017643964371025605801284284081119576649379620179150786621481628393996563582998490713049549455633574944010582512095589577190612574610499849814543669941834191987337329175664850661310100992814872723995727887433812676221899372537532322494028874922947735650203308963341176790620367232091598646449614679371434390448528695618655526516870767277969456342843474895248237192091364072244537552364633485668869657483376396952751850639850102069577653026806644091762756215504877868950062636389645843520758096409709899320250019455182309513935911969473269116331081707736616039088196891499764842057394578473052792889663839199325703050441670270607081565219634025331145607173670286075122782957289432083265519134301247695407722322362942917478755255790240755610265112098280208830179349663932818656775315326413478384802874794074202461955809792760002264851005039604218454694667519803814054291109425151429698454931564564409766017291885303778173796004330440059369729689416510842280744021497170579577110176056463469717297661626418290034719024569718045714028948052535952824284506252308771786377810752153831146401686199660601120479991370403880044619302099494376998330184250226100090521734845865683558335168087332580407027026914718895382232688799746227311757893184573673615124491915827377444523477706166079887282526929105119319490501433028606945857797097064849603487210979594943046072855557370050178903127 189609596862173250291104790413934545989976351168992389576779578256736723241668975958054989430932634960564740199131660355802424496597444731096847442682144180031781251553743968809955960261155287288381937699030454830836351267589016004543795403913232317972739969590347298992355969315586987615998783844792947438674170651928181391781794826789174103392752847432550747059153048706275389192239579443101172914703198407231333136281167063672928993216961124521280879415768361288775157004016419869034560722501538976025679057946973645694413332517257792410466960193416427034767485991489920632586315114069541462776991359936974352890012342218822804231793893031112731594665291117989523978349177273241552890182171041879439040832602169320850143133877962047380495137683192101702216433491899991195106058532512508396723510978947484407788625058693549572624073743269738362656287862059821389447206389381724087519777690328161392241647205498132382127054037067536406304323394640847351159549184370220742598367979530470368689126680134056425929019155884920661264790234730620791106826384612826762145389217318357541130439656559473155335520872127422118915530389223465777234583482023207728262998497585426311065688595689592902301185880723359515492051652210244753668389215656237293173705057635905323855267777400525878578722981022919795794912791451990410068428721435327831098119931869696537236828034994944870892746201889568356035462917633705809588077026876920658276671438555252966305655443489914177240946016347642847903724126556539328909947019547545863944400600248322196870495074045026859417243760508129391343941477209770459190565182636157547664144605453187821764139603735531086734381090709775026545882206894514316165701610047970372461794459284088917851324442653053385739565837247606052642122290555025190605429224579625065204854893998912678035803359196149548460217265172588352686893695384429786879833058462121240445061235135150635722788863073463925812875519843337942424196000032461559175715449304888297209994920005462937995931815007530448877823071953999374112655513811014497348579066497459154849418008907264862342233436663083903416561678666208575273664877765116319628180321898207995846037033697179982055247865611041356075555754434397032570033677406113033197425932291663326081787704094971321871300070828068503372703367608531650745047133442420724714799614876182795098214225766936769163154361757781056553835620328108763031493901741497278946620000049815551293041367977140081336456402784650452010244459874091342460088203196131384303804260888855331005141607124283903700897349796238404672069341801579345852147669062704751782759651735508478238262606554451339102078220359431781920805041124335677595188610043718736966672365839734458596358837251599052017318460935421303390160923118499485907681617126455445180439861723094382172896519598491682552444279639000488990046703032398004247558525871311149813954527403451629186204831732273266763063032004952299556546971198443687037989936363142242495313813136211769208250545006483092995794762421169252934381613054247288079596087167509156340472055469641658131081942504390442505752554684402291454041493057605641978509526077291797706574842164933402412585282140781411783816580550379617324869749533659735045339185974302640524880988705097363715255252407090119730112408063236977835982789684910741608493966903001321632890796644206777737756664474106880569626775119641016807536699220828297415924957503747808372656241196593437182861088981969050737958321504228313307351804731560052485252292758713155698001287580313002645478039955049531735095257708142643972088269520913950728306241212455206071468884010869989322081128363344426603155196426507158120514389444832566486150619187123028907171210127621259059670082797703333103780673025395388793816246402149807365788985800072593484237721138094061115067385427591943384701682012306508141257871927142624996069506592998459172253692031581806329776519878913009194605780596445479088222297469842952251 306794772316161730372530758623453522513598523351078580624940297903215154971411426039651048825881664693736210366036151914302222284835082051505839756294474727444088477159961930896364506187137732992242700951233154195440560151894667051854532885420249459582668550674530207289944786136488238431874473895928225696610451166964740037263325337636412454075164783069076932689423062048996785329035961135993113484956103769827072025546937480915067794253095184198633439254725107929781331221971185502863353957108551391675326085687273286975628476611046202229222596598118659629005653006068603816663992974081682931630492661999775917307097392471594670287531878688348898123137366678006390880451264063887886292504854626260909952592936352957943181207186107200287433944746875153630616226784325540871708431356562133017580833550278453830965977262015554020150761031610746199131878523138489314126336044519850105494472120038665318267506642628985105720334834511225227198701406299325226330828827060133503088625329407925979800428013115949784169641699230074854983156979619755838206670536698076041601071079657962139074151279621875894642546114251603332753541925625455457846575006547457291397455227831281506385938660512888903551103801456004707086636431193372031557739380651903121404994233192358062299513654876276369030514947729677557242180754874174017126307813506345846550499775518300562425771235006860897944797550453718644301385025697175232023437299008866870236742836352708966182873368935177215065545198650019788559624475620564559367259798853600541095463309846735443854894787865530333440093211077049600542381342723551978302652986349727461610589760437388846016435366703467123238414943106114908166358648207812339705845713859871365754880994882729680364137461931458356117595260644105652907025178667451728577112636291368637697444739898834798572906725994550072923171822471367508419147808128126731533684245345663276952989761823127554670922871152673619224168799531114284255755587380898874000415410825876620882202939024056522771515202867878077038723942593909856364853800733494953749988674121294856984136735884696072229575010413963953602336948359193992413173914237892562441833025766364539144943413496351584095643117769430807427760770981170991230308838723736979071185371060558427373035759473754326223882584091293862860296001815687109621644376815829172052608995173486457499762055931983050530785541606020439368634328595543254181137869900649438672946439487429105026062085622402460587916182830760650731203430496198583030042725236993518189222344290964890026361763538151480607662447913356422316033712827185147136431750182281401162379830886295099719891000551014922100568933408981237554379985134918189690778187234331311577172215654278128538193029238936381192983311596731404382975795842495213795115429802677344552977394045588411047819467334141885861407620815791109357278794631044453862237897305701598342650146058978146056972109701729609606537927253189491647911043442981239402623422032011899978690210088963619848100647076060746022601406512932009149886490923197350715985733011029914436881765368961908150537124813904378417722027953518622535749229673644730175401025842133855101153315217726292076424481466484462225486851157461182544503774864805342219009472049425423482170420788362882849556500102497842052475350980715733091773030440521006720592247111831500982554729462863553053083077952491683444420849322102972617329459223093148420964561722202503040176045010647728292286240411667505669522885913994330599237108509733848489582732818082885387417798422593746666975210534626641911151721177859941633714687810948669752875959258169235019521419963694273828333437135130804413907350257653559806714050045953046477521023067167648209270704504619589243920308897793854838626538708953723961903578982556834392703704695454826173037467365405819008251959101207067876617509389751031618964038007029907522998611712317949673686720638527664126873584728516496405585375539491551943779667520021855378 496404369178334980663635549037388068503574874520070970201719876159951878213080401997706038256814299654300950565167812270104646781432526782602687198976618907475869728713705899706320466448293020280624638650263609026276911419483683056398328289333481777555408520264877506282300755452075226047873257740721173135284621818892921429045120164425586557467917630501627679748576110755272174521275540579094286399659302177058405161828104544587996787470056308719914318670493469218556488225987605371897914679610090367701005143634246932670041809128303994639689556791535086663773138997558524449250308088151224394407484021936750270197109734690417474519325771719461629717802657795995914858800441337129439182687025668140348993425538522278793324341064069247667929082430067255332832660276225532066814489889074641414304344529225938238754602320709103592774834774880484561788166385198310703573542433901574193014249810366826710509153848127117487847388871578761633503024800940172577490378011430354245686993308938396348489554693250006210098660855114995516247947214350376629313496921310902803746460296976319680204590936181349049978066986379025451669072314848921235081158488570665019660453725416707817451627256202481805852289682179364222578688083403616785226128596308140414578699290828263386154781432276802247609237928752597353037093546326164427194736534941673677648619707387997099662599270001805768837543752343287000336847943330881041611514325885787528513414274907961932488528812425091392306491214997662636463348602177103888277206818401146405039863910095057640725389861910557192857336971585178991886322819933322437493218168985885009274734365890576667780574970438998209972796033815889934712240855102326655871547323907841738216675454166818598215461904584511741857161097891711705549147469222476919182541860870993702902299633897747476608710085190699621383389087643955861106041503512556518413517303807784517398050996958278190393711734226137545037044319374452226679951587413360433176130860130764918092197859029519460767447017875408525916547014547909230477509314544509451098567740618754011833554744791960934571808447077047857018898627025402567686838792003008882070013347664572534990980447193531566150890983380472163503316525415568023800342516129850012268611303352221753454823463568725648095182654919362366232999369424218760366691510258249896767408610049669252597976281698919819693939903363801495922469948923652017212631771642146717619566439537244656319103453599542541924372585615411102741447890370289925490130928433124902493026605179820221031503370662435384308559797709594826988103054628764492988579419244986152945139482621803577958153607105466261202647153768413019475185026259253867285966797278050048543844581494012587134551866490535433210301772532152707773136718960994699702797046929132789733417255768682793220715986932633568413851900454791598347325497663442458109796423177012748156604673462429775243176941434002876369600959258141791204458014641424926440613358395154142474004023225175389056351192082543839018396168934101262084268103977444638795581820178539070777353820838603566281619067318294820923474582637920913989790722731250372153910551919425652807728157382659694489009763607265874009303431707840799869373524398465077264348658023728064007051409493460246564811752509587961782587759043952710927755820125431748329086214014832822615445526107070330790839742426598564014047624441743989424866158443921445836889519225950311412832286207241165475147329393636556407481207418222643906588913241293900974835025576796041085419086002906749312453250489676173646246978886002585605802957331862620481182200470624441090990303974564263150414565498475231017062546684160717927228439490785612963671642254290677116441914632240848303590391695497187942407211734349112755719825384706641758492690495527419657275188503499880123319344528799011261319191402057539760221909934172532519068118305316408845940412670109470456650104607429505600191156135937031032001964989864807629 803199141494496711036166307660841591017173397871149550826660174063167033184491828037357087082695964348037160931203964184406869066267608834108526955271093634919958205873667830602684972635430753272867339601496763221717471571378350108252861174753731237138077070939407713572245541588563464479747731636649398831895072985857661466308445502061999011543082413570704612437999172804268959850311501715087399884615405946885477187375042025503064581723151492918547757925218577148337819447958790874761268636718641759376331229321520219645670285739350196868912153389653746292778792003627128265914301062232907326037976683936526187504207127162012144806857650407810527840940024474002305739251705401017325475191880294401258946018474875236736505548250176447955363027176942408963448887060551072938522921245636774431885178079504392069720579582724657612925595806491230760920044908336800017699878478421424298508721930405492028776660490756102593567723706089986860701726207239497803821206838490487748775618638346322328289982706365955994268302554345070371231104193970132467520167458008978845347531376634281819278742215803224944620613100630628784422614240474376692927733495118122311057908953247989323837565916715370709403393483635368929665324514596988816783867976960043535983693524020621448454295087153078616639752876482274910279274301200338444321044348448019524199119482906297662088370505008666666782341302797005644638232969028056273634951624894654398750157111260670898671402181360268607372036413647682425022973077797668447644466617254746946135327219941793084580284649776087526297430182662228592428704162656874415795871155335612470885324126327965513797010337142465333211210976922004842878599503310138995577393037767713103971556449049548278579599366515970097974756358535817358456172647889928647759654497162362340599744373796582275181616811185249694306560910115323369525189311640683249947201549153447794351040758781405745064634605378811164261213118905566510935707174794259307176546270956641538974400798053575983538962220743286602955270957141819086842363115278004404848556414740048868817691480676657006801383457491011810621235575384596560100012706240901444511846373430937074135923860689883150246534101149902970931077296396739015030651354853586991339796674412780180827859223042479974319065239010656229093295371239905869988335887074079068820017605223155710097738337630902870224725444969821935291104277519195271393769641542796156292512879024673761345165539221945002512288768446171753472651320866488508520173653670118420682248949470785111057865134200586864916222245622951249304136767455949640125011169427267554107519313508098677678044607656481183303216087177394257029565011394172056976744984512381360121016797148290715672744895729471814403285084128884112156112514803489913497912476731810134286394649814271204268535454266775454275259521270582707704604292294486911972034320482714346499254819521407921300149051135732485976138886511331282852369058084406165843236780427166042452694233314139008904451839158604585040997575447033271234154594900641989511567553189568985214235586207565474432156192132199199341196610591439536525539952404895102329311577761559507908881472600385986565434245073750336234790282865301982413877299263270419483358130073153487489221830281823129414368252612085803835063110024668444019528850565952755049678461126664323598000255569933883843922820379090247458468473763846962042195617667014594257854080948152814453008331217888893767433569805304062077004093332216974505826021751027749464417758394878926472836884425500495979428461024302815557398700063862527239517645142811290234058159728793676110511723938258536978748002633606035430969896941814277733942489536738659441192665321458325325712619136860437547510700593291042781033750443302836717623404367263476151196395190982245830312655868905699131571303630006079137936700791808571379185947941202440042066730017634358519627133308637134583523689335946002005776531675428582975781632509886663007 1299603510672831691699801856698229659520748272391220521028380050223118911397572230035063125339510264002338111496371776454511515847700135616711214154247712542395827934587373730309005439083723773553491978251760372247994382990862033164651189464087213014693485591204285219854546297040638690527620989377370571967179694804750582895353565666487585569011000044072332292186575283559541134371587042294181686284274708123943882349203146570091061369193207801638462076595712046366894307673946396246659183316328732127077336372955767152315712094867654191508601710181188832956551931001185652715164609150384131720445460705873276457701316861852429619326183422127272157558742682269998220598052146738146764657878905962541607939444013397515529829889314245695623292109607009664296281547336776605005337411134711415846189522608730330308475181903433761205700430581371715322708211293535110721273420912322998491522971740772318739285814338883220081415112577668748494204751008179670381311584849920841994462611947284718676779537399615962204366963409460065887479051408320509096833664379319881649093991673610601499483333151984573994598680087009654236091686555323297928008891983688787330718362678664697141289193172917852515255683165814733152244012598000605602009996573268183950562392814848884834609076519429880864248990805234872263316367847526502871515780883389693201847739190294294761750969775010472435619885055140292644975080912358937315246465950780441927263571386168632831159930993785359999678527628645345061486321679974772335921673435655893351175191130036850725305674511686644719154767154247407584315026982590196853289089324321497480160058492218542181577585307581463543184007010737894777590840358412465651448940361675554842188231903216366876795061271100481839831917456427529064005320117112405566942196358033356043502044007694329751790326896375949315689949997759279230631230815153239768360718852961232311749091755739683935458346339604948709298257438280018737615658762207619740352677131087406457066598657083095444306409238618695128871817971689728317319872429822513855947124155358802880651246225468617941373191904568059667640134202409999127786851498243910326581859721095509609126904307883414716397425084530375134434393821812307038830993870983437003608407977765001934282682686611205622414247893930018595326294740664124630355027397332328965587426215272824962695714619329822689918665348333623431213574226442847288606401413184942873912079318561918417664268992821487544436661354061582856214099211236778434010304582103243323175275554650605332089368504863022249224782043332546076292239822084714133113590588672253707052658796129902255636198214761947444505863240945807276504750037653425924262711781790431408664861378642303302807296762220007247613586856661036819929249233764484613200709523660942924019811905582953997489251441199409022689111421725374306051929789957929370081830743659727094655859492983837696543325992569735362345739845769473074056827072725831092283850138822320184926698256539314397960803031241148424059393744381134533318422698878086628307149373368108055991589407046169040713775259450494020264671193229360450515330675136145474483222129680985160716609629983045681054444008681016210244093714573142782283250823661735496747706788096881551496273239775283375979180005121673765617650869068621154947284670691384503378764675141497146213445781677004214634762562805688811472516098205590951467061776110936040094743600174103125865840617425130059242580899198940618484485300750439618412414934992321650439252783971674967558255970428407245291881711513978989203645678949865112845320602474673910715240360199418117201502027912822800129162568132081266448032443625974995661170929027524272404864307575749002442154533769101285851101092288788230723440962177651949473343229751970117909689085686509665487587844372405579254890648158805090399255892193866111139407857875374972561134848322950767365567545978746605040173793943375507605967687811365614007783597499751470636 2102802652167328402735968164359071250537921670262370071855040224286285944582064058072420212422206228350375272427575740638918384913967744450819741109518806177315786140461041560911690411719154526826359317853257135469711854562240383272904050638840944251831562662143692933426791838629202155007368721014019970799074767790608244361662011168549584580554082457643036904624574456363810094221898544009269086168890114070829359536578188595594125950916359294557009834520930623515232127121905187121420451953047373886453667602277287371961382380607004388377513863570842579249330723004812780981078910212617039046483437389809802645205523989014441764133041072535082685399682706744000526337303852139164090133070786256942866885462488272752266335437564422143578655136783952073259730434397327677943860332380348190278074700688234722378195761486158418818626026387862946083628256201871910738973299390744422790031693671177810768062474829639322674982836283758735354906477215419168185132791688411329743238230585631041005069520105981918198635265963805136258710155602290641564353831837328860494441523050244883318762075367787798939219293187640283020514300795797674620936625478806909641776271631912686465126759089633223224659076649450102081909337112597594418793864550228227486546086338869506283063371606582959480888743681717147173595642148726841315836825231837712726046858673200592423839340280019139102402226357937298289613313881386993588881417575675096326013728497429303729831333175145628607050564042293027486509294757772440783566140052910640297310518349978643809885959161462732245452197336909636176743731145247071269084960479657109951045382618546507695374595644723928876395217987659899620469439861722604647026333399443267946159788352265915155374660637616451937806673814963346422461492765002334214701850855195718384101788381490912026971943707561199009996510907874602600156420126793923018307920402114680106100132514521089680522980944983759873559470557185585248551365937001879047529223402044047996040999455136671427845371459361981731827088928831547404162235545100518260795680570098851749468937706145274948174575362059071478261369777794595687886864204484811771093706094526446683262828168573297866643959185680278105365471118209046053861645225837023994948204652177782115110541909653685596733313132940674824419590111904030500343363284406408034407443820495980672793452956960725560143390793303445366504678503962042560000171054727739030204592197586592179009434532043432546948950122507754609686750532103266942530478235773361743857524504121390443147233639063609114141004288955497325596376589540663773238601758099521261160178109638000933314242822418428627809079328123201533534315049047597981239456766302812768785878175790594018480041657949479062016871940789920932085361748567974526698622000392753058306206555397225201757786895466184476964370942995957013756534082252416282053865064142441441155114312505245617843475043705467848321878732280804356909196130810237258127086919249486227379392489853453406865254870399753009100391319828167804552577293778728617818716926557677041205824993253734515145931451582693219605867803820799987040870627541040576812533707442544668625491102583431667619878253754766546478883997438444764697128122925005916231064918170035038985495070057106505393548257733759569452713979093289598966813521257337258428443136268161469811446037246938098478685383184779058930984571969437913509257393777950634352597681122255940318848948643018953010014469004244680561489394082656592918240956743349399903670542366553894031092854853907741271310172538281804761044379013727640084838247617485200949298519928211793312013751851081337107910570765687301879002340567789273395113418564262931846056972897207327767867152905961723398611792882079273504474712620954786190966634119233594060885480877491911317900500241311278386461951788811169537192592985674682518593805816577412603201578340585125885194679287383739623697483279321509611744219486794196983565230009638133643 3402406162840160094435770021057300910058669942653590592883420274509404855979636288107483337761716492352713383923947517093429900761667880067530955263766518719711614075048415291220695850802878300379851296105017507717706237553102416437555240102928157266525048253347978153281338135669840845534989710391390542766254462595358827257015576835037170149565082501715369196811149739923351228593485586303450772453164822194773241885781335165685187320109567096195471911116642669882126434795851583368079635269376106013531003975233054524277094475474658579886115573752031412205882654005998433696243519363001170766928898095683079102906840850866871383459224494662354842958425389013998746935355998877310854790949692219484474824906501670267796165326878667839201947246390961737556011981734104282949197743515059606124264223296965052686670943389592180024326456969234661406336467495407021460246720303067421281554665411950129507348289168522542756397948861427483849111228223598838566444376538332171737700842532915759681849057505597880403002229373265202146189207010611150661187496216648742143535514723855484818245408519772372933817973274649937256605987351120972548945517462495696972494634310577383606415952262551075739914759815264835234153349710598200020803861123496411437108479153718391117672448126012840345137734486952019436912009996253344187352606115227405927894597863494887185590310055029611538022111413077590934588394793745930904127883526455538253277299883597936560991264168930988606729091670938372547995616437747213119487813488566533648485709480015494535191633673149376964606964491157043761058758127837268122374049803978607431205441110765049876952180952305392419579224998397794398060280220135070298475273761118822788348020255482282032169721908716933777638591271390875486466812882114739781644047213229074427603832389185241778762270603937148325686460905633881830787650941947162786668639255075912417849224270260773615981327284588708582857727995465603986167024699209498787881900533131454453107598112219766872151780697980676860698906900521275721482107974923032116742804725457654630120183931613892889547767266627131145901503980204594815673715702728722097675565815621956292389732476456712583041384270210653239799864940021353092692639096820460998556612629942784049393224596264891219147561026870693419745884852568155130698390681738736999994870035768805635489167576290548250062056141637068797718252730404889848606572467912681904116671516148510596673703524864920091385611476569337465900849743340045376540782817876605067032800058771995775236602143926631363365786332288043401888616411625377906352192346771774968212836905767903188950441037180376072314942569069008810039065086701023905502168548093244177450739554432897321287338420169486309630458797450957752014610982332459139899331524053695982326018460980179199247038336665593499653482364721331319808463872210345652135695807802168535810973805489083314386801036275203210667618578050277430966023203536068350410937058071806412306090746392767804826057901640901433159785064209302337870999992656815246125866299925785097197414400299903555859706711033187239870538997050160437556201302677186051295755837123529829342100732566477348674322262435782756722977712011587546980378946586741412978771706266916590481768309832389881372728262855433335070364848161910753914098191948721761807207811409658616024891818923942313113447945990467870403500670175028864976319169888886674447341281296359066184689566068149012252595368203185299045974694833096211330655891735671050342923326338228861589348825282314986563191884052260793964690057963592752930158850092159111664538880127629910513515779763904137237073138897768568327034784193764269056284347591787204250921280472956330210021686675063009249712885170867504227915674798606735664309863871203711970574566564001576805488344613716857641352599947616259936448485179540793658001663691952385164336426663535893250762225266130344663871277222697017217711907298159810991348827509389604279 5505208815007488497171738185416372160596591612915960664738460498795690800561700346179903550183922720703088656351523257732348285675635624518350696373285324897027400215509456852132386262522032827206210613958274643187418092115342799710459290741769101518356610915491671086708129974299043000542358431405410513565329230385967071618677588003586754730119164959358406101435724196287161322815384130312719858622054936265602601422359523761279313271025926390752481745637573293397358561917756770489500087222423479899984671577510341896238476856081662968263629437322873991455213377010811214677322429575618209813412335485492881748112364839881313147592265567197437528358108095757999273272659851016474944924020478476427341710368989943020062500764443089982780602383174913810815742416131431960893058075895407796402338923985199775064866704875750598842952483357097607489964723697278932199220019693811844071586359083127940275410763998161865431380785145186219204017705439018006751577168226743501480939073118546800686918577611579798601637495337070338404899362612901792225541328053977602637977037774100368137007483887560171873037266462290220277120288146918647169882142941302606614270905942490070071542711352184298964573836464714937316062686823195794439597725673724638923654565492587897400735819732595799826026478168669166610507652144980185503189431347065118653941456536695479609429650335048750640424337771014889224201708675132924493009301102130634579291028381027240290822597344076617213779655713231400034504911195519653903053953541477173945796227829994138345077592834612109210059161828066679937802489273084339391459010283635717382250823729311557572326776597029321295974442986057694018529720081857674945501607160562090734507808607748197187544382546333385715445265086354221908928305647117073996345898068424792811705620770676153805734214311498347335682971813508484430944071068741085804976559657190592523949356784781863296504308229572468456417198552651189234718390636211377835411123935175502449148597567356438299997152157342658592525995829352823125644343520023550377538485295556506379589121637759167837722342628686202624162873757999190503560579907213533868769271910148402975652560645030010449685343455890931345165336058230399146554284322657484993504817282120566164503766505918576815880874159811368244165474964472185631041753966145145034402313856264786308282620533251273810205446934940514164222931234366932408606743522640420934321263713735102775683138056908352638334561599077092075587600275443312319071261053649966810890324562893386218383835782990240477506790621243540727484993001166041679590794104871296229373015015405904122264683859598804700124021897192210343573380135748621886741625314396056946236617730223491339767380078118965371647330738240878684099972730900433666597953524446449040632225016377404401004825232131777976617853307717288333564997954462761934189560871944609976966088117994328932230276079980671058989497310331081787875219334346305608538023977321292639685483236246221211691312772040654442260176384037470142423577286435543863944583226483462138403239393553638071005638162615880459476406800870960424597071930218226628108289544566074497967591835149909016294200516190549303201861709450032311677507069511747329209836624436951629467263379889496386766276520589192904523078827255200352880911713206059020235650947677820085836337856170880411592133329175246929334485242144466778485576563666837308799938962418615006503538514711167965262609837207429979607464088915752804248896848479020450246593868704782755620441680136222727834502056590542598725734436977320393014997097709644312613837400055841703825529531614985474344983709663455870206037124761553542451397766156050136096978253370163657977888839581024732648324678052946777732390387419561521855276497990437306031460047441493488123388844855028136027814551736427429473641078165215476176595469508529797767538005004121019135956904553514084287568760502018526829456126784954007974914057519027737922 8907614977847648591607508206473673070655261555569551257621880773305095656541336634287386887945639213055802040275470774825778186437303504585881651637051843616739014290557872143353082113324911127586061910063292150905124329668445216148014530844697258784881659168839649239989468109968883846077348141796801056331583692981325898875693164838623924879684247461073775298246873936210512551408869716616170631075219758460375843308140858926964500591135493486947953656754215963279484996713608353857579722491799585913515675552743396420515571331556321548149745011074905403661096031016809648373565948938619380580341233581175960851019205690748184531051490061859792371316533484771998020208015849893785799714970170695911816535275491613287858666091321757821982549629565875548371754397865536243842255819410467402526603147282164827751537648265342778867278940326332268896301191192685953659466739996879265353141024495078069782759053166684408187778734006613703053128933662616845318021544765075673218639915651462560368767635117177679004639724710335540551088569623512942886728824270626344781512552497955852955252892407332544806855239736940157533726275498039619718827660403798303586765540253067453677958663614735374704488596279979772550216036533793994460401586797221050360763044646306288518408267858608640171164212655621186047419662141233529690542037462292524581836054400190366795019960390078362178446449184092480158790103468878855397137184628586172832568328264625176851813861513007605820508747384169772582500527633266867022541767030043707594281937310009632880269226507761486174666126319223723698861247400921607513833060087614324813456264840076607449278957549334713715553667984455488416590000301992745243976880921680913522855828863230479219714104455050319493083856357745097395395118529231813777989945281653867239309453159861395584496484915435495661369432719142366261731722010688248591645198912266504941798581055042636912485635514161177039274926548116793220885415335420876623293024468306956902256195679576205172148932855323335453224902729874098847126451494946582494281290021014161009709305569373060727270109895313333770064377738203785319234295609942255966444837725770359268042293121486723032726727726101584584965200998251752239246923419477945992061429912063350213896991102183468035028435186682061663911359817040340761740144647883882034397183892033591943771788109541822060267503076577582961941183964771822257213315990553102838437935229883613372356841581773272729720173075646429541488450018783357695612043871526571877923124621665381993620437926916871840872576953531584129373609412791419585942986451643071197585851921173807311215124896779180772438964466261219153612445222449645792243793862489301123687357284656388661054718498288451681277789535691836436114583713232892806497285048500145022958243477357583600251863568797371476271335672438619653373461826673107586325256679746778512777061923483412246617077116255874269657115888381359218841242537882373958948961035393099051991573982638989016517370673681555875419961448246772480294577279092359110070449526409247235600653793853541626865344873649067699346945797921120862153273232895412679404045381689604327309692567716386364968522778626332059924839421461619858657886016098488742188608330703868219949031689721886268139004783444626239593443675417111106795009905154780782042858759087478701861229675094822724705581275165714799737985912319495643461895733555723983247280243714974072688228080779316977515205205410615278653438783748849015579552740214691500589517195043011617209790505418537714397693940642803392690424494940913145945155947801803424278376280183471614339045311378889611582056848561224438533071908955317811507682113747837340347899533843119988187910526256087741898037563223814281960306062218168257519586361861641018002034614005495064928877189468744993669167151684043689410089563344756269834597133200482182931874431667656912386719129819644428951440037724715544047168034083113818966262885028417342201 14412823792855137088779246391890045231251853168485511922360341272100786457103036980467290438129561933758890696626994032558126472112939129104232348010337168513766414506067328995485468375846943954792272524021566794092542421783788015858473821586466360303238270084331320326697598084267926846619706573202211569896912923367292970494370752842210679609803412420432181399682598132497673874224253846928890489697274694725978444730500382688243813862161419877700435402391789256676843558631365124347079809714223065813500347130253738316754048187637984516413374448397779395116309408027620863050888378514237590393753569066668842599131570530629497678643755629057229899674641580529997293480675700910260744638990649172339158245644481556307921166855764847804763152012740789359187496813996968204735313895305875198928942071267364602816404353141093377710231423683429876386265914889964885858686759690691109424727383578206010058169817164846273619159519151799922257146639101634852069598712991819174699578988770009361055686212728757477606277220047405878955987932236414735112270152324603947419489590272056221092260376294892716679892506199230377810846563644958266888709803345100910201036446195557523749501374966919673669062432744694709866278723356989788899999312470945689284417610138894185919144087591204439997190690824290352657927314286213715193731468809357643235777510936885846404449610725127112818870786955107369382991812144011779890146485730716807411859356645652417142636458857084223034288403097401172617005438828786520925595720571520881540078165140003771225346819342373595384725288147290403636663736674005946905292070371250042195707088569388165021605734146364035011528110970513182435119720383850420189478488082243004257363637470978676407258487001383705208529121444099319304323424176348887774335843350078660051015073930537549390230699226933842997052404532650850692675793079429334396621758569457097465747937839824500208989943743733645495692125100767982455603805971632254458704148403482459351404793246932643472146085012665994045750898559226921972770795014970132871819775316570667389298427207132228564992452523999536394227251496202975822794875517155789835214109635918762243694853766516733482412071181992515930130537056482151385801207742135430985566247194183916378400757608102044850909309346493429908076834781512526392781898614029027068799497748298378252054408642793095870472950011518097126164115199138754665820059513193523772759198943618716148039979638681625368054734674723521617076050294226670014683304925176538688813449184558768212004273709907112318379367574775124856858602413957461265533780556514367426958866936579711433479808756377985472562986363453429497185825358198267678985419176885358069923975014879880000822098576407417052925120273932715120214556444133326473095238572946594063590468493734988001256688800929149452889188980155907986938459781135869520514817551691388489743150041477741178847353196236545328646613198712441006716461872228679567486985012714391691677057218885210228208683445722210317680137832284242622718154565527902974015032752892709374003893187407179697870983036264948158823352598792081286750345163113639307512334926255678825277284402866295381262723294816881363126701130911652170335393085610236071398444955140819849416295069611382654905281304033819144116522502672311459675921618360839802278509706765298787697567531265703136297714604340961729072471154463962421947472297222561292047219206133589079191766595490484942777815042618045258260902872664601819828449588693711950836111063747794372830232185554760442232195997233345991416158931918233538960153045511447736892213680239313318164574842993875085927040558224680308739109033716871353959079879903887476444877787213283646165799365837112474546362241276761059692696449637729779374862859852078324033494661446988553052266034323773129696981703420471118883730641509971746011192602709011980699412436671777931522676034373158513239008798226734070876624160868067826941176942547445080123 23320438770702785680386754598363718301907114724055063179982222045405882113644373614754677326075201146814692736902464807383904658550242633690113999647389012130505428796625201138838550489171855082378334434084858944997666751452233232006488352431163619088119929253170969566687066194236810692697054714999012626228496616348618869370063917680834604489487659881505956697929472068708186425633123563545061120772494453186354288038641241615208314453296913364648389059146005219956328555344973478204659532206022651727016022682997134737269619519194306064563119459472684798777405439044430511424454327452856970974094802647844803450150776221377682209695245690917022270991175065301995313688691550804046544353960819868250974780919973169595779832947086605626745701642306664907559251211862504448577569714716342601455545218549529430567942001406436156577510364009762145282567106082650839518153499687570374777868408073284079840928870331530681806938253158413625310275572764251697387620257756894847918218904421471921424453847845935156610916944757741419507076501859927677998998976595230292201002142770012074047513268702225261486747745936170535344572839142997886607537463748899213787801986448624977427460038581655048373551029024674482416494759890783783360400899268166739645180654785200474437552355449813080168354903479911538705346976427447244884273506271650167817613565337076213199469571115205474997317236139199849541781915612890635287283670359302980244427684910277593994450320370091828854797150481570945199505966462053387948137487601564589134360102450013404105616045850135081559391414466514127335524984074927554419125130458864367009163353409464772470884691695698748727081778954968670851709720685843165433455369003923917780219466334209155626972591456434024701612977801844416699718542705580701552325788631732527290324527090398944974727184142369338658421837251793216954407515090117582988266957481723602407546518894867137121475579257894822534967051648884775676489221307053131081997172871789416253660988926508848644295017867989329498975801289101020819897246509916715366101065337584828399007732776505289292262562419312870164291629234406761142029171127098045801658947361689121511737146888003456515138798908094100515095738054733903625048131161613376977627677106247266592297748710285512885937744533175491571988194598552867154522043261912909103196681640331970195826196752334917930740453088095680088105299163910576923033375503746626611197134173502329520396821220454898097774907750369951158564500313010027710295348796703110566736573806224150205624711636823984159251944528306708986232211826748880851476767008157438624544718857753518744694933653157166245001950829714648650798270580647913471229213039374659193611332299536268661876817074695868734202909809624551556329140157366219279592523621446739086548711971092571601508552369726520929160524652594527640311921607808977106840074231438167002520211964961153425464430312492419598303729087093800225557704410111053526435946048107490743668631201524199244726054119403766193100099280531015103012731844620262084085482279301956609604546981260721324736327909914015858170298396713202148903618396009051986916380307945283152586976970582681746231246073443213423051540552373272028993279101708724813587053285844688069365326759333268923044286087478445383709966178089422566470931523515620584321368465852777489558797206360525861003295879506676528810457066783458065409368030778285275294499449848563151879994676269801920293020248028660536914341656413450835408002328908403451425628258790805990040022690973298156629889937876149384106583426859146684905308993313251161170589960422784932503620154372764697509097406785904747272180942672189165466761993651724816792777321056403634353709892093200216444399804500575341653002511855898036894449221713719342035529275452483617981143223792518123366148855104514808293820204854728015845789735909494163631286868339434843909395164192802942190448835951449614923792194951181645907439827575862422324 37733262563557922769166000990253763533158967892540575102342563317506668570747410595221967764204763080573583433529458839942031130663181762794346347657726180644271843302692530134324018865018799037170606958106425739090209173236021247864962174017629979391358199337502289893384664278504737539316761288201224196125409539715911839864434670523045284099291072301938138097612070201205860299857377410473951610469769147912332732769141624303452128315458333242348824461537794476633172113976338602551739341920245717540516369813250873054023667706832290580976493907870464193893714847072051374475342705967094561367848371714513646049282346752007179888339001319974252170665816645831992607169367251714307288992951469040590133026564454725903700999802851453431508853655047454266746748025859472653312883610022217800384487289816894033384346354547529534287741787693192021668833020972615725376840259378261484202595791651490089899098687496376955426097772310213547567422211865886549457218970748714022617797893191481282480140060574692634217194164805147298463064434096342413111269128919834239620491733042068295139773644997117978166640252135400913155419402787956153496247267094000123988838432644182501176961413548574722042613461769369192282773483247773572260400211739112428929598264924094660356696443041017520165545594304201891363274290713660960078004975081007811053391076273962059603919181840332587816188023094307218924773727756902415177430156090019787656287041555930011137086779227176051889085553578972117816511405290839908873733208173085470674438267590017175330962865192508676944116702613804530972188720748933501324417200830114409204870441978852937492490425842062783738609889925481853286829441069693585622933857086166922037583103805187832034231078457817729910142099245943736004041966881929589326661631981811187341339601020936494364957883369303181655474241784444067647083308169546917384888716051180699873294456734691637330465523001628468030659176749652758132093027278685385540701321275271875605065782173441492116441102880655323544726699848327942792668041524886848237920840654155495788306159983637517857255014943312406558518880730609736964824046644253835636873056997607883755432000654520189997550870090086616445226275111216055010849338903748807963193924300431182970698506318387557736847053879668921480065029380065393547303941875941936171996179388630348447880605395128013801213403099613777214269414363049331588853435016940150383956333117121045668436800859136523465829642425093472775640550607236697724978653721879649255550022990782918417628985346731096477631312103081833843090814240706342117010547564671806051503585794333230178174742409535151717564937193168078147984095938846181150214632216260017263535307314416148662698915651103285787128030083557266676543696601499545752687762194393333150139180464827559602765241170655670382049713632750435627250381388944846627354891783129555492263362006438894604311783508728964926950342285806241232274166282339733093922931060821882435345688420409409472934737565125976510780237112815257725730886410148165058100515032194665983608440168667901022607310946178964016993650995505283435653963559122691294428715234200961977864261373448977127493969368260094786178241683284924199328672187318960884985498240985507918781621828944651577949567391512264527826488680761734026146853141876460386599878172618076277256364737626228997301010483847638257882928221247420487356840328000846567341718655982152231071761271760286863070835290646705795175244529078052655236451917602115402261739322538600362870254876528058598862085935109495375522742358777380223865462038824698898062803640662098250668194997366639783436137965010585056011289976389060519425841873555612293237655108269687280519509257930312690990762045777336401345698961493627816269312081565797666069023936899472171033409258116291253063130558524985927177550846364699761856982338618506144330699305011212775432071198565961455429457634178183685800416355819249472848616770123307502447 61053701334260708449552755588617481835066082616595638282324785362912550684391784209976645090279964227388276170431923647325935789213424396484460347305115192774777272099317731273162569354190654119548941392191284684087875924688254479871450526448793598479478128590673259460071730472741548232013816003200236822353906156064530709234498588203879888588778732183444094795541542269914046725490500974019012731242263601098687020807782865918660442768755246606997213520683799696589500669321312080756398874126268369267532392496248007791293287226026596645539613367343148992671120286116481885899797033419951532341943174362358449499433122973384862098034247010891274441656991711133987920858058802518353833346912288908841107807484427895499480832749938059058254555297354119174305999237721977101890453324738560401840032508366423463952288355953965690865252151702954166951400127055266564894993759065831858980464199724774169740027557827907637233036025468627172877697784630138246844839228505608870536016797612953203904593908420627790828111109562888717970140935956270091110268105515064531821493875812080369187286913699343239653387998071571448499992241930954040103784730842899337776640419092807478604421452130229770416164490794043674699268243138557355620801111007279168574778919709295134794248798490830600333900497784113430068621267141108204962278481352657978871004641611038272803388752955538062813505259233507068466555643369793050464713826449322767900714726466207605131537099597267880743882704060543063016017371752893296821870695774650059808798370040030579436578911042643758503508117080318658307713704823861055743542331288978776214033795388317709963375117537761532465691668880450524138539161755536751056389226090090839817802570139396987661203669914251754611755077047788152703760509587510290878987420613543714631664128111335439339685067511672520313896079036237284601490823259664500373155673532904302280840975629558774451941102259523290565626228398537533808582248585738516622698494147061291858726771099950340760736120748644653043702501137428963612565288034803563604021905991740324187313892760142807149517577362625276722810509965016498106853217771351881438532004359297005267169147542523646512689668998180716960322013165949958635897470065362184940821601406678449562996255028673070622784798412844413052053223978618260701825985137854845275192861028962318643706802147462931731953856187709457302374713526959908511886810520686776995153467290623375188833622079591421563604550175463423934205050920246725435274002518582759822286596797007068623253696983555080636883256631388542829323026067455222968487314572829244676048304652086748922869676062692317962566888022882726798782366519494094621443845255634676457146639613952417324575732725799154521330939893181818232872836758865765032280285815840072236687892435920131204273793540382191311210238285344963267562302996753823734194966014567722494783573971400048029776213821221384525254071372900041457831870692450786620358877108929373179014319621933608717660791684529742703880336393346272828743618254768427142185997311496622593212987149928622347343638856092979875163949392218485584557581955131743281345095542146245130451238344031658873725215441703308209229782235658196228321951289027685698572551526830195988146948588277920500993853478990709911536454858851156592617784665392080970921246638470853766815161943986754858304306363354314786693385288030878552766208358779131842636218105830715382951755948030088783363855538675366332089586185491503490644454246510518853687367581329406352910277567501356755491975872985644759629325785636526908770771032137950059233393601084883183171815151739404480945235371796489803283470919061249684892603867207337110030432429326090914873219150023512907435161850277911742998701473349525853163761303279517008104553212351955789014552481908809376429279413629500735471371051219427777702772074528000307961986173350647619341466362758764397619906470129633300724208550770431118756056597699169924771 98786963897818631218718756578871245368225050509136213384667348680419219255139194805198612854484727307961859603961382487267966919876606159278806694962841373419049115402010261407486588219209453156719548350297710423178085097924275727736412700466423577870836327928175549353456394751246285771330577291401461018479315695780442549098933258726925172688069804485382232893153612471119907025347878384492964341712032749011019753576924490222112571084213579849346037982221594173222672783297650683308138216046514086808048762309498880845316954932858887226516107275213613186564835133188533260375139739387046093709791546076872095548715469725392041986373248330865526612322808356965980528027426054232661122339863757949431240834048882621403181832552789512489763408952401573441052747263581449755203336934760778202224519798183317497336634710501495225152993939396146188620233148027882290271834018444093343183059991376264259639126245324284592659133797778840720445119996496024796302058199254322893153814690804434486384733968995320425045305274368036016433205370052612504221537234434898771441985608854148664327060558696461217820028250206972361655411644718910193600031997936899461765478851736989979781382865678804492458777952563412866982041726386330927881201322746391597504377184633389795150945241531848120499446092088315321431895557854769165040283456433665789924395717885000332407307934795870650629693282327814287391329371126695465642143982539342555557001768022137616268623878824443932632968257639515180832528777043733205695603903947735530483236637630047754767541776235152435447624819694123189279902425572794557067959532119093185418904237367170647455865543379824316204301558805932377425368602825230336679323083176257761855385673944584819695434748372069484521897176293731888707802476469439880205649052595354901973003729132271933704642950880975701969370320820681352248574131429211417758044389584085002154135432364250411782406625261151758596285405148190291940675275864423902163399815422333167463792553273391832877177223629299976588429200985756906405233329559690411841942746645895819975620052743780325006772592305937683281329390695626235071677264415605717075405061356904889022601148197043836510240539088267333405548288277166013646746808969110992904015525707109632533694761347060628359631852292513334532118253358683654249129927013796781447189040417592667091587407542590945533167259287323234516644127890009240100740245537626927379109800407744420857270422938727945029434192600556896709845601527483423160252656240462409077836619787789987040882682330286177114514568734470376672413840308161565085497862137501050727551890446419979101044418472227469680131825216050804946766462458340275771658477471894693720681946928368565987274648376902440308458969976739084909416533360365310784968048010233405386827072900747690807039034711037861693259951918095398894812684385698670361549857797697277987046935977838942634087997329950349452204413658706282690106036974790519714281808169751255614360008042343018190595529249655719214660573506161530554474504664916592200286512343691288576821427318596523369950949802271943892157600387723769020211545514254434575773810776347207108315499717480636001219184809963402995408023918943120427650623476346646583558049767815703906928570417222572078943420870502974439362943539612890618764637807268541357521124811088930044071526681612983855605316847201953044576313509278299040123048686779978409977936761812867614023517219790375646434690829322072127264830714569556145880906164112634255949106903868006715780532444029415354354061808095140135152068144413907132636233070962648957296197241746981433840010149106044264381373336807074859294760895450310204318445740762949403268087537595778195392728407953825598425923896055248144344400434843153669433073384845314674173577149251427960047961740025100629492409972154486662648921897584127539559754413146506452292685478361860394773537561324725853049364104307816986524624906589680591604673367822477427218 159840665232079339668271512167488727203291133125731851666992134043331769939530979015175257944764691535350135774393306134593902709090030555763267042267956566193826387501327992680649157573400107276268489742488995107265961022612530207607863226915217176350314456518848808813528125223987834003344393294601697840833221851844973258333431846930805061276848536668826327688695154741033953750838379358511977072954296350109706774384707356140773013852968826456343251502905393869812173452618962764064537090172782456075581154805746888636610242158885483872055720642556762179235955419305015146274936772806997626051734720439230545048148592698776904084407495341756801053979800068099968448885484856751014955686776046858272348641533310516902662665302727571548017964249755692615358746501303426857093790259499338604064552306549740961288923066455460916018246091099100355571633275083148855166827777509925202163524191101038429379153803152192229892169823247467893322817781126163043146897427759931763689831488417387690289327877415948215873416383930924734403346306008882595331805339949963303263479484666229033514347472395804457473416248278543810155403886649864233703816728779798799542119270829797458385804317809034262874942443357456541681309969524888283502002433753670766079156104342684929945194040022678720833346589872428751500516824995877370002561937786323768795400359496038605210696687751408713443198541561321355857885014496488516106857808988665323457716494488345221400160978421711813376850961700058243848546148796626502517474599722385590292035007670078334204120687277796193951132936774441847587616130396655612811501863408071961632938032755488357419240660917585848669993227686382901563907764580767087735712309266348601673188244083981807356638418286321239133652253341520041411562986056950171084636473208898616604667857243607373044328018392648222283266399856918636850064954688875918131200063116989304434976407993809186234347727520675049161911633546727825749257524450162418786098309569394459322519324373342173637913344377944629632131702123185870017798617594493975445964652637636144162933945503923132156290169668562960004139900660642733178530482186957598513937065716201894289770295739567483022930208086448050365870301443115972282644279034473177844837127113788082096691016375733698982416650705357747584171477337301914950955912151651626722381901446554985735294209690053877265121115475032691819018841416969148612627056058313704374263267698367796046104045018319366593038742776020320644050652447730148595526658759045168900123216584797055664136379313841257751397825365858919501736866375616788053985176710330295403600195098506728023914094534919787642698713238933531745548828977834370393102322727529370177828586542320983311850381102701594829789909869920903142289370119231075817248333826073477623514965336667822011312828251420053004470190203440362162374987382452494095744823812265000481830509949238990663864211151171733977458485031606324147937907667241306334640685278680628793374327664276626908256320934185461918540909899507803383218122919685019342472509655187911170034414468525145717294588658364923767321549779942254604769127469386177857118906318493452238766738061512294874944400251666711204637806154601316655972574765374332282130601294645899895075519005500492579937274349493684350899398398464047211382422472660622328442371449559783810886688625599738713909623210556267831269698797309177592889257045559110252614154867643582996975273167820464429798546367997438459354416900061059636525360410623153109636474485197413068690810011530772109846037681080784894781393930050434041407004103100599016529590842831864617011825300845448745326608708603564662578231814511559889211049607970286513298519966921869110265947557977338505861085746333159887343101908192679522596834688124831682278130361603383749062514221933910005921689385783987398120292948803555317262526487674506760254671651712508014115003924083490250669270574437450287248833457360111710360729965521647351989 258627629129897970886990268746359972571516183634868065051659482723750989194670173820373870799249418843311995378354688621861869628966636715042073737230797939612875502903338254088135745792609560432988038092786705530444046120536805935344275927381640754221150784447024358166984519975234119774674970586003158859312537547625415807432365105657730233964918341154208560581848767212153860776186257743004941414666329099120726527961631846362885584937182406305689289485126988043034846235916613447372675306219296542883629917115245769481927197091744371098571827917770375365800790552493548406650076512194043719761526266516102640596864062424168946070780743672622327666302608425065948976912910910983676078026639804807703589475582193138305844497855517084037781373202157266056411493764884876612297127194260116806289072104733058458625557776956956141171240030495246544191866423111031145438661795954018545346584182477302689018280048476476822551303621026308613767937777622187839448955627014254656843646179221822176674061846411268640918721658298960750836551676061495099553342574384862074705465093520377697841408031092265675293444498485516171810815531368774427303848726716698261307598122566787438167187183487838755333720395920869408663351695911219211383203756500062363583533288976074725096139281554526841332792681960744072932412382850646535042845394219989558719796077381038937618004622547279364072891823889135643249214385623183981749001791528007879014718262510482837668784857246155746009819219339573424681074925840359708213078503670121120775271645300126088971662463512948629398757756468565036867518555969450169879461395527165147051842270122659004875106204297410164874294786492315278989276367405997424415035392442606363528573918028566627052073166658390723655549429635251930119365462526390051290285525804253518577671586375879306748970969273623924252636720677599989098639086118087335889244452701074306589111840358059598016754352781826807758197038694918117689932800314586320949498124991727626786311877646734006515090568007244606220560903108942776423031947154184387287907399283531964138553998247703457163062761974500643285469291356268968250207746602563315589342127073106783312371443936611319533170747174715383771418589720281985929391088003584170748852652820897714630385777722794327342048502997871082116289730695985569200085839165448408169570941864147652826881617232644822798288374762355926335662969306978388713367301595940631753373068106112216903374467957047311622472935376577217353896253975213571755779314999507577977959836372587042705019061644127434865912394100329296174150706683778353139483038847831346131152085544926707124958513007147257322830538454984336692315291436174646164760800199424063898510533470689549299125029479604035138248879846659988051705903479596386602216381836306883010342038237415512818351862962457914697730142121535761057187671768151164457294681609962278468877445927077933297952208481122083429662898690312606838043944642031826048922493448431884407734335706619645098851850183841181133201483405669333937692627584601611542759021998879199746855841787121669087245538460636867659479150167666023624980672983640612432892717094840659347082237778992930876163585061630114200045830073544437083623198241720978865688651062461603802004089422723064658880695219996658790262341938076937830147060279929163685963496260648713854958215307212722569514940057758220875846012306587476633012305732339088662592091629456450610998790387610840076233237197319510586619247614630615782406266574735787365585581389065419784471342455560187464200099489175925029933462074464341174043237174063247973825788084578846050851835449951493009707982045410639521872992709961870093529495348733235916566607504517647305658675965931164104287009642388408031687502343035833192029908072970146356451707510854811709110475961959010635414099357938474060769214846387682856822280900821013212547357130074368408888541485408216103718634678745267273773458363949792301965403333344124779207 418468294361977310555261780913848699774807316760599916718651616767082759134201152835549128744014110378662131152747994756455772338056667270805340779498754505806701890404666246768784903366009667709256527835275700637710007143149336142952139154296857930571465240965873166980512645199221953778019363880604856700145759399470389065765796952588535295241766877823034888270543921953187814527024637101516918487620625449230433302346339202503658598790151232762032540988032381912847019688535576211437212396392078998959211071920992658118537439250629854970627548560327137545036745971798563552925013285001041345813260986955333185645012655122945850155188239014379128720282408493165917425798395767734691033713415851665975938117115503655208507163158244655585799337451912958671770240266188303469390917453759455410353624411282799419914480843412417057189486121594346899763499698194180000605489573463943747510108373578341118397433851628669052443473444273776507090755558748350882595853054774186420533477667639209866963389723827216856792138042229885485239897982070377694885147914334825377968944578186606731355755503488070132766860746764059981966219418018638661007665455496497060849717393396584896552991501296873018208662839278325950344661665436107494885206190253733129662689393318759655041333321577205562166139271833172824432929207846523905045407332006313327515196436877077542828701310298688077516090365450456999107099400119672497855859600516673202472434756998828059068945835667867559386670181039631668529621074636986210730553103392506711067306652970204423175783150790744823349890693243006884455134686366105782690963258935237108684780302878147362294346865214996013544288014178698180553184131986764512150747701708954965201762162112548434408711584944711962789201682976771971530928448583340222374921999013152135182339443619486679793298987666272146535903120534518625948704040806963254020444515818063611024088248351868784251102080302501856920108672241645943439190324764748739735596434561122086108831202020076180153003912385189235852692605232128646440830564748678362733872051921168108301487943751626589319352931643063603289609192016911701428738228789520914103279192789308677602141739676178802556100955261163434137288891163397958212035367038057348593689779934685796727076794098528026324465153703228829700461208033287484151041751317100034891952843310702638562175826922698700063409490237388618154681810723947537325994357654254336127636335804480012949478512975366678215511678152597537997946906422943720351305973758552746878083052957384098369155440957968692617310219466188215675887573059395141193468215558161641534752280643433435148872607542067044965529251693917868437864120414009016557863122926953434076339120013010532610975410582305629968038789716580891193995273598827462419464715662380360633857003574083334829664691213877967702200332324976123219562659150603658553039505422227278950707955876316923961816419632293817407121383721918930985981852309273132383563178727112513201108663370896272007108171118026643051742393305177137320910750504286630885231531654067110916890256255646814804540127119001791426800699947608278229749800453026790290011623413334111585848975840505225751107985313296825404683636228145753739595773007095311147819252357107503697079608428223557238817969569490343141161740336540985041529482752589786014405867710208497665844903932812461283424563268314488707115711103896654225901562777898198915206246497100033607974063555431304506031783565316949045973664514691675418931626985358940475222055874262832853162152467090959574046137170256709924714856004514775215450241277163846990355378927410710667863660750796941755034590754014204184451224524473429982740544956703522429865127471439516415924623523908502610148095388721567919030604251228512714626742761094978038729837872458195458172990183892920641335788743722461458889507795191238174084807388495519972802028781786876423003545409491706354387905253182717561022291821309904012326133298865772131196 677095923491875281442252049660208672346323500395467981770311099490833748328871326655922999543263529221974126531102683378317641967023303985847414516729552445419577393308004500856920649158619228142244565928062406168154053263686142078296415081678498684792616025412897525147497165174456073552694334466608015559458296947095804873198162058246265529206685218977243448852392689165341675303210894844521859902286954548351159830307971048866544183727333639067721830473159369955881865924452189658809887702611375541842840989036238427600464636342374226069199376478097512910837536524292111959575089797195085065574787253471435826241876717547114796225968982687001456386585016918231866402711306678718367111740055656473679527592697696793514351661013761739623580710654070224728181734031073180081688044648019572216642696516015857878540038620369373198360726152089593443955366121305211146044151369417962292856692556055643807415713900105145874994777065300085120858693336370538722044808681788441077377123846861032043637451570238485497710859700528846236076449658131872794438490488719687452674409671706984429197163534580335808060305245249576153777034949387413088311514182213195322157315515963372334720178684784711773542383235199195359008013361347326706268409946753795493246222682294834380137472603131732403498931953793916897365341590697170440088252726226302886234992514258116480446705932845967441588982189339592642356313785742856479604861392044681081487153019509310896737730692914023305396489400379205093210696000477345918943631607062627831842578298270330512147445614303693452748648449711571921322653242335555952570424654462402255736622573000806367169453069512406178418582800671013459542460499392761936565783094151561328730336080141115061460784751603102686444751112612023901650293911109730273665207524817405653760011029995365986542269956939896070788539841212118615047343126925050589909688968519137917613200088709928382267856433084328664678305710936564061129123125079335060685094559552849712895143079666810186668094480392433842073253508341071422863862511902862750021779451204700072440041941999330046482415693617564246575078483373180669678945975392084229692621319862415460914513183612790122089271702435878817908707480883679944141426455041641519342542432755583511357462571821322353666513656701099911816750938729273053351127590482548443061523785174850291389057444155343522861697864999744544490344780030925926039361659250194967881009403910592229852852980932413989837984613529174755351843160398157292107085288758060324856042889329971141074174502602096127483222613566517511850038279743173494332951254405992987665904366188360142273831120549214302288359790148902205130179411850183662722623923126377497974849653483700081910100440061909665106287669563240879245701177078423849021681097498687243644199041811498847648016554176335882399930474446511884276750330918754823010334187032189557419585401803394857259768628113415900836784282412231537824025796951304958432485672175544397608842999077515917105960021301867824184943876710846471258603378088888242427990553652946310663746098042768483891785665579638659086279850115274301854730473436667402722904340508174770932931213619498156627271570374926939604729466301690190823218971248816290013507903419569107499083697850946621897698664789487001931424082274617922871676543032518949700369363970857211520803119240025183852939503326072709582961723410484130858913868510237287577798338126556484218972853943042144582265020762636459632592912129322291201337893560094727840807637263328252637633494922651147038246236659432634954648318078979116389493478451227094964181167011989556718715496200748434764742572799424843706324217234435300076270040305436758346431734975957163721583299489839666714435105031109975950718106594264345906656650834065124395181545383313007167283466145851931276749888101660935519658722641578921030907088289316533185349385911861244831892086894899922458106539931927984834795750185259696314291536632209896910403 1095564217853852591997513830574057372121130817156067898488962716257916507463072479491472128287277639600636257683850678134773414305079971256652755296228306951226279283712670747625705552524628895851501093763338106805864060406835478221248554235975356615364081266378770692128009810373678027330713698347212872259604056346566193938963959010834800824448452096800278337122936611118529489830235531946038778389907579997581593132654310251370202782517484871829754371461191751868728885612987765870247100099003454540802052060957231085719002075593004081039826925038424650455874282496090675512500103082196126411388048240426769011886889372670060646381157221701380585106867425411397783828509702446453058145453471508139655465709813200448722858824172006395209380048105983183399951974297261483551078962101779027626996320927298657298454519463781790255550212273683940343718865819499391146649640942881906040366800929633984925813147751733814927438250509573861627949448895118889604640661736562627497910601514500241910600841294065702354502997742758731721316347640202250489323638403054512830643354249893591160552919038068405940827165992013636135743254367406051749319179637709692383007032909359957231273170186081584791751046074477521309352675026783434201153616137007528622908912075613594035178805924708937965665071225627089721798270798543694345133660058232616213750188951135194023275407243144655519105072554790049641463413185862528977460720992561354283959587776508138955806676528581890864783159581418836761740317075114332129674184710455134542909884951240534935323228765094438276098539142954578805777787928701661735261387913397639364421402875878953729463799934727402191962870814849711640095644631379526448716530795860516293932098242253663495869496336547814649233952795588795873181222359693070496040129523830557788942350473614852666335568944606168217324442961746637240996047167732013843930133484337201528637288337061797166518958513386830521598414383178210004568313449844083800420690994113971799003974281686886366821098392777623077925946113573200069304693076651541112755651503125868180741529885750956635801768625260627849864687675390092371107684204181605143795900512651724138516654923288968924645372657697042252045996372047077902353461822079698867936232212690269308084539365919850379990978810404328741517212146762560537502169341799648477953476628485552929951233271078042222925107355237133162645026590754873463365356016904449304008645739715072242802331493907780668053496291681772293349790066821101012458391262516613071734125942287355239443329943560064820100532833032705727525925852802568635526419469964154629200656646831793577422703728091281347253889041842820073568043532264192679280487046053330932051188773496710614521075850644215295074326459279821770439696450677251311441145813161067604278056045385582182477681245390213850102130806771488007496312990069358481563373692454416836370293357679711781221585047745709718243905666134150468810007649260578090816048850902656910809951662448412189113068192419894467236686270016023608579514128593174873313222085307013421580636354298415298696325792698640450513080550062882580084480273889694193012915963921508882518780189460003382378379555688223765009413102529835944562814744255911601161327155776676611196163306279170179136516634358977345072585822611158907913206025785108735714775231681065709186648023172837645136364066594387198290077434514380785084815431288135486493004584623656517826946917498473449088296804327953408678566576644013966620269520545453668316029693137591085490795647389742106612292373829689344879363174083493891604943719728390941954536545939400267386579156951545376519777163553439047890775441758908730059010585262140280776296862447396680137507923013748169324583200419831543869748710845492858621283393595160102433911383255771202625456456329744851918085676845383396978548230436770159204991895677812053158151414693648121254895632304391628812494445185110702395818042006569600326617669931075669041599 1772660141345727873439765880234266044467454317551535880259273815748750255791943806147395127830541168822610384214953361513091056272103275242500169812957859396645856677020675248482626201683248123993745659691400512974018113670521620299544969317653855300156697291791668217275506975548134100883408032813820887819062353293661998812162121069081066353655137315777521785975329300283871165133446426790560638292194534545932752962962281300236746966244818510897476201934351121824610751537439955529056987801614830082644893049993469513319466711935378307109026301516522163366711819020382787472075192879391211476962835493898204838128766090217175442607126204388382041493452442329629650231221009125171425257193527164613334993302510897242237210485185768134832960758760053408128133708328334663632767006749798599843639017443314515176994558084151163453910938425773533787674231940804602292693792312299868333223493485689628733228861651838960802433027574873946748808142231489428326685470418351068575287725361361273954238292864304187852213857443287577957392797298334123283762128891774200283317763921600575589750082572648741748887471237263212289520289316793464837630693819922887705164348425323329565993348870866296565293429309676716668360688388130760907422026083761324116155134757908428415316278527840670369164003179421006619163612389240864785221912784458919099985181465393310503722113175990622960694054744129642283819726971605385457065582384606035365446740796017449852544407221495914170179648981798041854951013075591678048617816317517762374752463249510865447470674379398131728847187592666150727100441171037217687831812567860041620158025448879760096633253004239808370381453615520725099638105130772288385282313890012077622662434322394778557330281088150917335678703908200819774831516270802800769705337048647963442702361503610218652877838901546064288112982802958755856043390294657064433839822452856339446250488425771725548786814946471159186276720094114774065697436574923418861105785553666821511899117361353696553489192873170056919999199621914271492168555588554403862777430954330568253181571827750286682284184318878192096439766158763273040786630179573689373488521832514139599431168106901759046734644360132921069954703852930757846494888277121340387278774645445852819442001937741172733657492467105428653333963085491833590853296932282196921015000413660403221340290715233385745786805220236877707135371370785799389404717676154644271889655143625664472655184474840194657891480905210947048701633227219258304565476551274673396590168831617326380517504446162160947583755446599223239375964132545742129859370724370147616866561013020153719696534848640495649542248831991722278698222944114376342003110969179708430026038426980410696431176290706124960180614128843062649685397627755675160462826910659754847922255087197081030125697799566549732502061281217999891773063320988113304573707879486606393789878759483106638481353675859125619080689948546382006634033446211883049248534523078201308418794661525928106219028213721762291421630146726870079838117506682063115741212638959959732244382452341183782588111458278279109599360400178156881939210747326361595735820304429683653451711403079501539005651126063150704614142568831526135386033715504727891174835059196245718695247004130116801034215299148464347004009904885776830784882568817627685415144595651922920707451142412862828989303569920459907873039157924864915943729299798372774070802922750213002045919771441515593670561825090589868311159488773336257821607414105548396156837330400919338128429142312393253650538610489121979834011492162473007994437198179618036918717712951389824105294653152293811284519736352863891597099658993344030135280625567577039122728597423353843859091222503587836039018305450941519820466817439757204527940044429225226829092928639084209792739922475596783194835564947044332498206953078349080235898983967128586343500800605509366086787719199291551270600985117038687230613792191829296640909206563285565952002 2868224359199580465437279710808323416588585134707603778748236532006666763255016285638867256117818808423246641898804039647864470577183246499152925109186166347872135960733345996108331754207877019845246753454738619779882174077357098520793523553629211915520778558170438909403516785921812128214121731161033760078666409640228192751126080079915867178103589412577800123098265911402400654963681958736599416682102114543514346095616591551606949748762303382727230573395542873693339637150427721399304087900618284623446945110950700599038468787528382388148853226554946813822586101516473462984575295961587337888350883734324973850015655462887236088988283426089762626600319867741027434059730711571624483402646998672752990459012324097690960069309357774530042340806866036591528085682625596147183845968851577627470635338370613172475449077547932953709461150699457474131393097760303993439343433255181774373590294415323613659042009403572775729871278084447808376757591126608317931326132154913696073198326875861515864839134158369890206716855186046309678709144938536373773085767294828713113961118171494166750303001610717147689714637229276848425263543684199516586949873457632580088171381334683286797266519056947881357044475384154237977713363414914195108575642220768852739064046833522022450495084452549608334829074405048096340961883187784559130355572842691535313735370416528504526997520419135278479799127298919691925283140157467914434526303377167389649406328572525588808351083750077805034962808563216878616691330150706010178292001027972896917662348200751400382793903144492570004945726735620729532878229099738879423093200481257680984579428324758713826097052938967210562344324430370436739733749762151814833998844685872593916594532564648442053199777424698731984912656703789615648012738630495871265745466572478521231644711977225071319213407846152232505437425764705393097039437462389078277769955937193540974887776762833522715305773459857989707875134477292984070265750024767502661526476547780793310903091643040582920310291265947679997925145735487471561473248665205944975533082457456436433923101713501243318085952944138819946304453834153365411894314383755294517284422345165863737947823030190727971380017017829963322000700224977835748848350099201039255215006858136122127526541303661023113648471277509757394851175232254394128355466274081845398968477042145956151291523986311427968711912575474010869780397961540672852770073693059093575898300883340736715457515968747975325944977196892719342051423294040359317023867813791286468324294773904681619960834389722225767684288279631928966901889985348310765385790194334302246067217659851947297119238576731776996796137873834542352266266476378569021283598015233039362077227200477121310952252141350340255254940588122884420125094078432926471903972723820822452200311132582663212603379044956763582604192087989487899269376311057471786137081571941023230160172117162818419702938723604835337324595614680532475444041095472461140064583373980858219228746323974340295332096406141656758658316416742893688417631635275237989054434724266973153825018806639599081284437250976919560112440950241039462023691021216055788748736268351192535970491592539504921384030681751374469623555671361362079948848459760639492336162214972922329891410310409286980170731933507441692076595727496935738698088594602736421129919827332988629894099165585700474125667636514847106163116592439245701028544731086508260563807507373869519872866688939989042758858629418543276989726065417350224441876934651002064472867023538510423619224789702135360262830984318811324713374666245966899599380917908008978873254258890790091491873810103839187804296899906302939487875100752252760194291210829717319899025459870750523996599145517336005363601505870773063690215528285250063149223438024385329263004311894855412418196378805341635112921241792427729476755183515119239440890879644940639501652215299157487341683351503683180083095430302149389626431834198398896967526876494361234993601 4640884500545308338877045591042589461056039452259139659007510347755417019046960091786262383948359977245857026113757401160955526849286521741653094922144025744517992637754021244590957955891125143838992413146139132753900287747878718820338492871283067215677475849962107126679023761469946229097529763974854647897728762933890191563288201148996933531758726728355321909073595211686271820097128385527160054974296649089447099058578872851843696715007121893624706775329893995517950388687867676928361075702233114706091838160944170112357935499463760695257879528071468977189297920536856250456650488840978549365313719228223178688144421553104411531595409630478144668093772310070657084290951720696795908659840525837366325452314834994933197279794543542664875301565626089999656219390953930810816612975601376227314274355813927687652443635632084117163372089125231007919067329701108595732037225567481642706813787901013242392270871055411736532304305659321755125565733358097746258011602573264764648486052237222789819077427022674078058930712629333887636101942236870497056847896186602913397278882093094742340053084183365889438602108466540060714783833000992981424580567277555467793335729760006616363259867927814177922337904693830954646074051803044956015997668304530176855219181591430450865811362980390278703993077584469102960125495577025423915577485627150454413720551881921815030719633595125901440493182043049334209102867129073299891591885761773425014853069368543038660895490971573719205142457545014920471642343226297688226909817345490659292414811450262265830264577523890701733792914328286880259978670270776097110925013049117722604737453773638473922730305943207018932725778045891161839371854892924103219281158575884671539256966887043220610530058512849649320591360611990435422844254901298672035450803621126484674347073480835289972091246747698296793550408567664148953082827757046142711609778390049880421138265188605248264092588406329148894151854571407758135963186599690921522632262101447614822802209004394279473799484139117736917924345357401743053641804253760348838310513411787004687104673541251530000370137263017012042744219992916638452680944563328983890772944177680003337378991137092487018114661377962884391955404077908593595343238376322379642493781503581974946968543241402195847305963744615186048185138317746227719208763206364042319983477455806359372631814701544813714498717795710888576915769332326472242174791369213737847787956026966401188112700443588169983836458102103666390753056521259617621589344365065959864914463605522008000478338835884386715268043726231152206277854117894052895245160918704449862933778672872101016815773425372272646338386705826264630964489420492945363286708984412747792103265627457532007383428432056465215435554716965947069810491706188601632366799634480577300122566219779744242729076844523313315106253369207487791042439632045585090710789451427629623950050876645925058184292399463960956405285563226914482078074541684344189313117897059059527647540985500268401551124619863419050079946563469763768255749141957301104795647363226932886069401258980782863872548709255198669711801350419196343962901768542417384484556572780876189422202995619006460389681807814525174237698240192888215334882175265367383510997274169168048586657314539403781204947232655906039080605632382712569482971163420364106545064422984911550601550307998563303114971206435307014036155750364110616972274030884881034634610430124082521918786460381504636429420454509133145300885554190686482263484348756550460629704353939429761747653932014528613913369594807933304547386158408439907593818116087627015791971971842179915597168463256132999088816636259166831084974759745596790329571836397294359021754057294104367855690368020923841402619811321714583510682345725007267677163482453610556092097240533939622210936301280938418307756806739472061974962136593468319676789863612069225845153015904666853428471070702974731353696415419188076857045626390228193608436083057646800945603 7509108859744888804314325301850912877644624586966743437755746879762083782301976377425129640066178785669103668012561440808819997426469768240806020031330192092390128598487367240699289710099002163684239166600877752533782461825235817341132016424912279131198254408132546036082540547391758357311651495135888407976395172574118384314414281228912800709862316140933122032171861123088672475060810344263759471656398763632961445154195464403450646463769425276351937348725436869211290025838295398327665163602851399329538783271894870711396404286992143083406732754626415791011884022053329713441225784802565887253664602962548152538160077015991647620583693056567907294694092177811684518350682432268420392062487524510119315911327159092624157349103901317194917642372492126591184305073579526958000458944452953854784909694184540860127892713180017070872833239824688482050460427461412589171380658822663417080404082316336856051312880458984512262175583743769563502323324484706064189337734728178460721684379113084305683916561181043968265647567815380197314811087175406870829933663481431626511240000264588909090356085794083037128316745695816909140047376685192498011530440735188047881507111094689903160526386984762059279382380077985192623787415217959151124573310525299029594283228424952473316306447432939887038822151989517199301087378764809983045933058469841989727455922298450319557717154014261179920292309341969026134386007286541214326118189138940814664259397941068627469246574721651524240105266108231799088333673377003698405201818373463556210077159651013666213058480668383271738738641063907609792856899370514976534018213530375403589316882098397187748827358882174229495070102476261598579105604655075918053280003261757265455851499451691662663729835937548381305504017315780051070856993531794543301196270193605005905991785458060361291304654593850529298987834332369542050122265219435220989379734327243421396026041951438770979398361866187138602026989048700742206228936624458424184158738649228408133705300647434862394109775405065416915849491092889214615115052918966293813843595869243441121027775254752773318456090207155831989048673827070003864575258947084278408057366522845867075326814167283214989494678395792847713956104302886429344191588475523418897708788361718097074495084545063218960954435022124943443036313550000621847564229480445887718951954497952315523923338687856241683210630371184899446696167293867145094944865062272831423686256910307137903570216412336145309781435298996385732804479815299976938613212178857246333238758379426689620439173225606612482952332005863081173179744103242363660630951113038752109000996332724048313935012002104049643134524579660806983230755896871514384570306999645787154180492827934653318335680573406805470690495305088831489935585784621528104270772358301399752322877352362407455332455889480076897710445457196975690311815943103056876847871023368652854110222993808743477887231123068796293729881177907446957522115637156805329377701271039917746876287309474608696883221026005075808738262980212657456673380777232539093850082087493906039894420065620381945156985960232118229824242300660235805986592789758473173233292841132068725392694588158511381773712489565899643861253911554250295283730635026006875847159489142090378478067624948690761375679166163347731157201359879648308181059758023100527674984250317900180495649473584263777240638842950154120199272342803356318000818761971389295198417937497952041791653149321493679188279083927676422290611619608036706705361283407552525102571377477940185366878721716663974176200579126744629260760824654406807193199033995635994665226230732970007089042273359972186893113536165469770572849860497849550523863047227011678920779517164854891852289513538259846766221317192487647200897874010257330826386920477995885355101552428795034629132680086280053420678048531899791451717320108587559117680743257009865346805231203824340770154422206657911436791845721337466483477460588627090575962959552008035939204 12149993360290197143191370892893502338700664039225883096763257227517500801348936469211392024014538762914960694126318841969775524275756289982459114953474217836908121236241388485290247665990127307523231579747016885287682749573114536161470509296195346346875730258094653162761564308861704586409181259110743055874123935508008575877702482377909734241621042869288443941245456334774944295157938729790919526630695412722408544212774337255294343178776547169976644124055330864729240414526163075256026239305084514035630621432839040823754339786455903778664612282697884768201181942590185963897876273643544436618978322190771331226304498569096059152179102687046051962787864487882341602641634152965216300722328050347485641363641994087557354628898444859859792943938118216590840524464533457768817071920054330082099184049998468547780336348812101188036205328949919489969527757162521184903417884390145059787217870217350098443583751514396248794479889403091318627889057842803810447349337301443225370170431350307095502993988203718046324578280444714084950913029412277367886781559668034539908518882357683651430409169977448926566918854162356969854831209686185479436111008012743515674842840854696519523786254912576237201720284771816147269861467021004107140570978829829206449502410016382924182117810413330165742815229573986302261212874341835406961510544096992444141176474180372134588436787609387081360785491385018360343488874415614514217710074900714239679112467309611666130142065693225243445247723653246719559976016603301386632111635718954215502491971101275932043323058192273973472531555392194490052835569641291073644943226579493126194054335872035661671557664825381248427795880522152760418477459548000021272561161837641936995108466338734883274259894450398030626095377927770486493701248433093215336647073814731490580338858938895651263395901341548826092538242900033691003205092976481363700989512717293301817164307140044019243490950272516287496178843620108500342192123224149345706791000750676022956507509651829141867909259544183153833773836450290957668756857172726642652154109281030445808132448796004303318826227470172844031792893819986642317256203510413262298830310700525870412705805304375702007609339773755732105911508380795022939534826851845798540202569865300072021463627786465414808260398766740129491221451867746849566772992686809930038935431953758674896555153389401055397709348166895788023611936626193617337119656431486569271474212937273539091682916855924315293617893401100052123557536336559594560202556543923206198153221984948697620917512061490999198220375732094233379457598221136416555876112031743201971934775005596149330750785427476322289472911285487071614195245317364459747857015984058534946283758455392185325719109005463270686126050022054778559746077490810129736637571992781977052445443572142151698061532734003390212816698826404463481354255575148641967558660474796282478060273870454668536071523522532757250135166741134361439600190178841149518690819168098977274523828294974877098434345645868494858818209543682421224929129919189840198645729450720838925963821324601164809029534669487316899536043651079432149949494558300890557717849413912944914814897583777517842163394297380424818098952151747138510618612810291374259358156763311258427064724939488094542580626398819253770237806992262360877664030921443464634220048673302811731097199781582827080355610049385461134235428093167466934973092792856270329833028367622034563710439609702998315617699538436809567591497173798723188968845632164102985732275731417369947114532653731192588089570173934677933808146983062846714787017150083263010457198202575149922686210736616105185981930172424636601657824620243446340853434883624306037942533574458959259707979881559183688168841128514202230711580219735264598503550402931606441447198792962734656840068981367218471728434855271371853426679456702055878794470606869079091191958247108491194198625492909632642790488261140525543340523086978855284184399042609654836884807 19659102220035085947505696194744415216345288626192626534519004107279584583650912846636521664080717548584064362138880282778595521702226058223265134984804409929298249834728755725989537376089129471207470746347894637821465211398350353502602525721107625478073984666227199198844104856253462943720832754246631463850519108082126960192116763606822534951483359010221565973417317457863616770218749074054678998287094176355369989366969801658744989642545972446328581472780767733940530440364458473583691402907935913365169404704733911535150744073448046862071345037324300559213065964643515677339102058446110323872642925153319483764464575585087706772762795743613959257481956665694026120992316585233636692784815574857604957274969153180181511978002346177054710586310610343182024829538112984726817530864507283936884093744183009407908229061992118258909038568774607972019988184623933774074798543212808476867621952533686954494896631973380761056655473146860882130212382327509874636687072029621686091854810463391401186910549384762014590225848260094282265724116587684238716715223149466166419758882622272560520765255771531963695235599858173878994878586371377977447641448747931563556349951949386422684312641897338296481102664849801339893648882238963258265144289355128236043785638441335397498424257846270052781637381563503501562300253106645390007443602566834433868632396478822454146153941623648261281077800726987386477874881702155728543828264039655054343371865250680293599388640414876767685352989761478518648309689980305085037313454092417771712569130752289598256381538860657245211270196456102099845692469011806050178961440109868529783371217970432849420385023707555477922865982998414358997583064203075939325841165099399202450959965790426545937989730387946411931599395243550537564558241964887758637843344008336496486330644396956012554700555935399355391526077232403233053327358195916584690369247044536723213190349091482790222889312138703426098205832668809242548421059848607769890949739399904431090212810299264004262019034949248570749623327543180172283871910091692936465997705150273886929160224050757076637282317677328676020841567647056646181831462457497540706887677223371737488032619471658916997104018169548579819867612683681452283726415327369217437911358227018169095958712331528633769214833788865072934257765417747471414337222167255817757887386451710990420478492077257297080919978538080687470308103920060762432064521493759400695160469847580676995253133268260460603399328700096437856362016151859571498815768722780452531391980364375387241356685287097611681172707737957314552637342324378780216507063144781954080935771338320197644685797429580371932607435865147878597426001214235974132427322983704322100464251283326838644054789578870076156816545327143610049681663275431657840908344351083376804768320924504559153393988623483467110527144283601439171666071518251698844406531498164935332170496864263412013958754645601553543865047919041808397122305815997954848068520439138895021400115604449485795317566671873570667556472523895078681602510696422379292495811538214744965858241390221546754186520629719435129360285951739667955936087348059363730951142255045013640207592171936029223937106786946324461960206063301388805902343445317381135205316252453348805542792564436785303956305564982601501395008352142009185845090679466565161895032923620711911592849255167090857596248892335615254434700435970823252973911554827659625031446305119986605502092759024491994805978622364485989882108793406759895674206915571655510834847108895310132481411375447856562265770753061422563068907807717253521980216184078899005122424433308119929775253009976077372875043708590106372230674480741295891377297930851317716863313091623814151560269395097443534935062445706689877912478093745521929329937323409602326802300345391529691469201661453498525149112903803271644878396776810643437912151350126088956538763478312315534968779915116290554227280106861863009824000547567482374760362002161662872824011 31809095580325283090697067087637917555045952665418509631282261334797085384999849315847913688095256311499025056265199124748371045977982348205724249938278627766206371070970144211279785042079256778730702326094911523109147960971464889664073035017302971824949714924321852361605669165115167530130014013357374519724643043590135536069819245984732269193104401879510009914662773792638561065376687803845598524917789589077778533579744138914039332821322519616305225596836098598669770854890621548839717642213020427400800026137572952358905083859903950640735957320022185327414247907233701641236978332089654760491621247344090814990769074154183765924941898430660011220269821153576367723633950738198852993507143625205090598638611147267738866606900791036914503530248728559772865354002646442495634602784561614018983277794181477955688565410804219446945243897724527461989515941786454958978216427602953536654839822751037052938480383487777009851135362549952200758101440170313685084036409331064911462025241813698496689904537588480060914804128704808367216637145999961606603496782817500706328277764979956211951174425748980890262154454020530848849709796057563456883752456760675079231192792804082942208098896809914533682822949621617487163510349259967365405715268184957442493288048457718321680542068259600218524452611137489803823513127448480796968954146663826878009808870659194588734590729233035342641863292112005746821363756117770242761538338940369294022484332560291959729530706108102011130600713414725238208285706583606471669425089811371987215061101853565530299704597052931218683801751848296589898528038653097123823904666689361655977425553842468511091942688532936726350661863520567119416060523751075960598402326937041139446068432129161429212249624838344442557694773171321024058259490397980973974490417823067987066669503335851663818096457276948181484064320132436924056532451172397948391358759761830025030354656231526809466380262411219713594384676288917742890613183072757115597740740150580454046720319951093146129928294493431724583397163993471129952628767264419579118151814431304332737292672846761379956108545147501520052634461467043288499087665967910803005717987923897607900738424776034619004713357943304311925779121064476475223261242179215015978113928092318241117422340117994048577475232555605202425479217285494320981110214854065747796822818405469665317033645466658352478629326704976475493920040546254379769184177925245969966634682784854216086936050124184775897017222101196489979919552488419166059018325266703658729545202349324084862274197348588610879393083470051547932094940545515196772383175176525156052870546343916346975436582857056694222080347150634950211621246531600433880284338967762857046748009738719023969773898584333346842942595349198388609427740766241787577545916343865353857213764496646710851455521357486857323343843110005902653020327093400340811965191972961217810230770734718080550030278168134310794000214660176169836722495994839104366759339607237872295923943899424362893751912317742065526374682067577499906531640615612219491141540988935583891822062714822711563216055299206752028896329602819100105885581906360254288668991668957958555022489755713547066100501084326749280059158215048527316520956255608755394563473015764607232607517503924879846536931963801855271632815344404370063509121600910029796115081596923523642690049036749917937951858941721076388670128529138290187947004347683929954864474672742021169212532368727490310423678160801295557473605967205483084643052547735758496567122840312680079595944029179049150355340926996100496877054790780100236767233334162162015579622635883269852461463746592182558856973881014742973888499100984742232230732814475623754805846666082773411268249276656627223103903574220892108624058313480786527833487726341208768249499138354264348309270642820716996877547759074643498305076233512699316706621956995168047730721725420806729167405408025923197017768368002388553164523634546337658944761044771317709708818 51468197800360369038202763282382332771391241291611136165801265442076669968650762162484435352175973860083089418404079407526966567680208406428989384923083037695504620905698899937269322418168386249938173072442806160930613172369815243166675560738410597303023699590549051560449774021368630473850846767604005983575162151672262496261936009591554804144587760889731575888080091250502177835595436877900277523204883765433148522946713940572784322463868492062633807069616866332610301295255080022423409045120956340765969430842306863894055827933351997502807302357346485886627313871877217318576080390535765084364264172497410298755233649739271472697704694174273970477751777819270393844626267323432489686291959200062695555913580300447920378584903137213969214116559338902954890183540759427222452133649068897955867371538364487363596794472796337705854282466499135434009504126410388733053014970815762013522461775284724007433377015461157770907790835696813082888313822497823559720723481360686597553880052277089897876815086973242075505029976964902649482361262587645845320212005966966872748036647602228772471939681520512853957390053878704727844588382428941434331393905508606642787542744753469364892411538707252830163925614471418827057159231498930623670859557540085678537073686899053719178966326105870271306089992700993305385813380555126186976397749230661311878441267138017042880744670856683603922941092838993133299238637819925971305366602980024348365856197810972253328919346522978778815953703176203756856595396563911556706738543903789758927630232605855128556086135913588463895071948304398689744220507664903174002866106799230185760796771812901360512327712240492204273527846518981478413643587954151899924243492036440341897028397919587975150239355226290854489294168414871561622817732362868732612333761831404483553000147732807676372797013212347536875590397364840157109859809368314533081728006806366748243545005323009599689269574549923139692590508957726985439034242921364885488690479550484885136933130250357150391947329442680295333020491536651302236500677356112515584149519581578219666452896897518456593390862824830196073476029114099934680919128425408343712605665147269345388771044247693536001817376112852891745646733748157927506987657506584233416025286319336410213381052449522682346690066344470275359736982703241792395447437021321565554710204857180655737512137543915649559549305243057162964228144466315142201248699419005370661795152632434893082189183392445236500416550801292927836281568640278737557834093989484111260937182713699472103630882635686222560565791208008862484732282869893976988890238321307110133806317682236544620122380286637066154687783015782828809047247745836408012711661951467179147212261022045862613828688163203422999759140676341998659109404041673445418454260694948730661982085421151270004849509980970324433870987393607341824686398611652039656371723471126153142401267598981492563989032813735864337865262579217978233844801810837059214827860046376767317324059503873848689069478989615636193931154591472578588134151312034598783637352527150328857680304105044258317402575928926187158256615554558768061821669254419618019620133924002972195230081927649576290037607871273073742019364278349916122423299700926136529768789268217956038150310068361665150493237528784456773027823696546379249354212280376594958010114520544235554282898291917008795548107834056691643104828965109113440920915902511589579895920977862007774714625127751982305229656783165781547355714760612242980317259463307414007401969949207990212077355404626905712621111680057523059945962598497353758747449518241061020702047069191389782236716756568259931732017589604849346119173581726038123608030745326941471669159757706587562828518671754070758038966019927581986536536407226308457163425049750811095051799483745794039778472304274215522026660662877915143183473010323342754618773307121257004269485203733122264136185323142213751245048474864251562988524182113820033705123046932980582532829 83277293380685652128899830370020250326437193957029645797083526776873755353650611478332349040271230171582114474669278532275337613658190754634713634861361665461710991976669044148549107460247643028668875398537717684039761133341280132830748595755713569127973414514870903922055443186483798003980860780961380503299805195262398032331755255576287073337692162769241585802742865043140738900972124681745876048122673354510927056526458079486823655285191011678939032666452964931280072150145701571263126687333976768166769456979879816252960911793255948143543259677368671214041561779110918959813058722625419844855885419841501113746002723893455238622646592604933981698021598972846761568260218061631342679799102825267786154552191447715659245191803928250883717646808067462727755537543405869718086736433630511974850649332545965319285359883600557152799526364223662895999020068196843692031231398418715550177301598035761060371857398948934780758926198246765283646415262668137244804759890691751509015905294090788394566719624561722136419834105669711016698998408587607451923708788784467579076314412582184984423114107269493744219544507899235576694298178486504891215146362269281722018735537557552307100510435517167363846748564093036314220669580758897989076574825725043121030361735356772040859508394365470489830542603838483109209326508003606983945351895894488189888250137797211631615335400089718946564804384950998880120602393937696214066904941920393642388340530371264213058450052631080789946554416590928995064881103147518028376163633715161746142691334459420658855790732966519682578873700152695279642748546318000297826770773488591841738222325655369871604270400773428930624189710039548597829704111705227860522645818973481481343096830048749404362488980064635297046988941586192585681077222760849706586824179654472470619669651068659340190893470489295718359654717497277081166392260540712481473086766568196773273899661554536409155649836961142853286975185246644728329647425994122001086431219701065339183653450201450296521875623936112019916417655530122432189129444620532094702301334012882552403745569744279836549499407972331716126110490581143223180006794393319146718323653071166953289509469023728155006530734056157203671425854812634402730248899685799249394139214411654651330803392567516730924165298900075477785216199988736113376557651875387313351533023262650321054545783010574002038178631948033638458148185012569521970432877344251340628429835417289109169125233516630012397433772902489417816201121128697903616852419256187769990482385063023556965905079984274833439958874678060410416827223415409173761273413497832266186676864026152891595558963143693760376768130166417779020668494277436841892996000919230036193960270760764886583602586747536769842701736025540387268537144807915232996000177038814084519195849917797980856305031338457181757214830503613244477706725705052380468336915444087370952632038333699573114019310981870175131865477239394148070567297805676163581587199653614639613248003403298211582821391307357701720305836659050078494665791927646818274778893516085912749502366819866969880618631228132939187152945157377868167707251160779872308289125592960930750252571683363123356138108955599823022078522493398443438944255956534891924332262283982563270757827572286544997030169492586312044660639040950749312863333881286624754125196117467759196972947328666926733499966775777768031774957494247403628867920250195519534760395650604028943927157496479472615653334943967077104829320727817726064960312011043172503969092789520670291673299433805954862976452607053623556823017389277453995514682852403223036281669705074659634698180503160442490588991470619592320007672682710780355838763559802565226475006423789360974096767948410697981142869594148474095160594720707094984996912776092019863301298622100058388087742947094932518904208421952558641488549243836042071325395264116425052000206929153928993303590731168136948262816842866640116153047816660157692649884091704298292241647 134745491181046021167102593652402583097828435248640781962884792218950425322301373640816784392447204031665203893073357939802304181338399161063703019784444703157215612882367944085818429878416029278607048470980523844970374305711095375997424156494124166430997114105419955482505217207852428477831707548565386486874967346934660528593691265167841877482279923658973161690822956293642916736567561559646153571327557119944075579473172020059607977749059503741572839736069831263890373445400781593686535732454933108932738887822186680147016739726607945646350562034715157100668875650988136278389139113161184929220149592338911412501236373632726711320351286779207952175773376792117155412886485385063832366091062025330481710465771748163579623776707065464852931763367406365682645721084165296940538870082699409930718020870910452682882154356396894858653808830722798330008524194607232425084246369234477563699763373320485067805234414410092551666717033943578366534729085165960804525483372052438106569785346367878292443534711534964211924864082634613666181359671175253297243920794751434451824351060184413756895053788790006598176934561777940304538886560915446325546540267777888364806278282311021671992921974224420194010674178564455141277828812257828612747434383265128799567435422255825760038474720471340761136632596539476414595139888558733170921749645125149501766691404935228674496080070946402550487745477789992013419841031757622185372271544900417990754196728182236466387369399154059568762508119767132751921476499711429585082902177618951505070321567065275787411876868880108146473945648457093969386969053982903471829636880287822027499019097468271232116598113013921134897717556558530076243347699659379760446889311009921823240125227968337379512728335290926151536283110001064147303894955123718439199157941485876954172669798801467016563690483701643255235245114862117238276252069909027014554814773374563521517444666877546008844919411511065992979565694204371713768681668915486886575121699251550224320586580451807446913822953378792315249438147066773734425630121976644610286450853594460772070198466641798293142890270797161912199586519695243157860925922818727490430929318218436298678280513271421691008348110169010095417072588560792330237236557192383482810164500730991061544184445017039413270855365244545753144953182691977905772005088896708878906243228119830976792057920554489651597727937191090801422376329478884664171681576763256711290224988049724002251314416909075248897850323703782345652482689768976641174686513245671881251419567776723029069535962619961056000524665886069272901559506285303150750163651819139376320483181708389436215681343430330826531455913182200607829715742023273249905707662870697215341172531782810749197431274910740192842460876701882385927646548849588678414454437733762815181177935338949250861154541319427506191085817897220586302393124316704420124708638915213524095033305932681065678008343795606039469730739818612126304412099616513222796415059699991406930572062907172060271890870296973337914236991250522657082799943239681417058416246043236241607182670924911228198021207157059126345409560711936636229528920415199490327909259516963902945482653611012699646175716826872896764097886771748359561367555657461028454101051552200519308908137640648210147523407021370768817688462737497128562217546161663219712135310638011994751255845620583935529048074609834459674879786459356517069788836152707109114656316628466036718641782624231454920882991727132858652185035488429969045277571474350586511371062738728660503750654838432860575597564287111146616768979987774807754262132370644284056983716774266049416934897259728702422321009060224441666126846264436818479446794305129506698144166181495948536925286620164768739181835614076056081697131127933403442160337825842830958353098105845852427866215251369148040930869084830473784672022254159384825944168571237682056269692132887051257439776054310350699507865317730891679141571998773977726355007138637278874774476 218022784561731673296002424022422833424265629205670427759968318995824180675951985119149133432718434203247318367742636472077641794996589915698416654645806368618926604859036988234367537338663672307275923869518241529010135439052375508828172752249837735558970528620290859404560660394336226481812568329526766990174772542197058560925446520744128950819972086428214747493565821336783655637539686241392029619450230474455002635999630099546431633034250515420511872402522796195170445595546483164949662419788909877099508344802066496399977651519863893789893821712083828314710437430099055238202197835786604774076035012180412526247239097526181949942997879384141933873794975764963916981146703446695175045890164850598267865017963195879238868968510993715736649410175473828410401258627571166658625606516329921905568670203456418002167514239997452011453335194946461226007544262804076117115477767653193113877064971356246128177091813359027332425643232190343650181144347834098049330243262744189615585690640458666687010254336096686348344698188304324682880358079762860749167629583535902030900665472766598741318167896059500342396479069677175881233184739401951216761686630047170086825013819868573979093432409741587557857422742657491455498498393016726601824009208990171920597797157612597800897983114836811250967175200377959523804466396562340154867101541019637691654941542732440306111415471036121497052549862740990893540443425695318399439176486820811633142537258553500679445819451785140358709062536358061746986357602858947613459065811334113251213012901524696446267667601846627829052819348609789249029717600300903769656407653776413869237241423123641103720868513787350065521907266598078674073051811364607620969535129983403304583222058017086783875217315355561448583272051587256732984972177884568145785982121140349424792339449870126356754583954190938973594899832359394319442644330449739496027901539942760294791344328432082418000569248472208846266540879451016442098329094909608887661552918952615563504240030653257743435698577314904335165855802596896166614759566597176704988752187607343324473944036386078129692389678769493628325697010276386381040932717212046637149252971289603251967789982295149846014878844225167299088498443373426732967485456878182732204303715142645712874987837584556144195020664144621230930169382680714019148562740772096192257776251382481297846603703565063653635906569139124439880524514491454186142114454107508051918654823467013111420439650425705261295284096606271763468683810897674544791538932501859651241901952839746586035441042604235889440483540564129683318386729700712324511437065316971642507160045734542327811240306574024586908224043348618386850384236300710091798703663789927251535132802543575635781033861658276962685162612727422773196183693657503911410454614772576899700373785256747231717459572657884687948300648400833830780099850021756800593045554359300895047665344266380638792027654777476214601596217058006274374979397422189386378002259353606046543820066310470271854712261604331039634542827909572735577465735167328235333195139559322154356685037744778198078639838385192065532562505869314504397236171575979362636198385109924833695735225294375823002313825782472719786176409265146803000311811613995920378433313836183082579665965212934755144553576513957080862349101778447877875080880042949844466260506755479753948228792949250862262548041385612227706654743953603920698656756402902628649416712279070065662568940120710927536536326671099935757014356216247695110237883485393759015340155528249330795423954272238815438574016894164770173591997377052261749776815223047507093265386479340709051633077762889144912910000530844033986134518947147598835285557864932071924619172605285309511022054568575466720324705208224530176857725848640498427157250601934850821654396727945910815953958198464080559835077506783032426160571497995426897269563835354107108269899062040980250743366785478487647770682160597531795294619815434135419004891230341577167016123 352768275742777694463105017674825416522094064454311209722853111214774605998253358759965917825165638234912522260815994411879945976334989076762119674430251071776142217741404932320185967217079701585882972340498765373980509744763470884825596908743961901989967642725710814887065877602188654959644275878092153477049739889131719089519137785911970828302252010087187909184388777630426572374107247801038183190777787594399078215472802119606039610783310019162084712138592627459060819040947264758636198152243842986032247232624253176546994391246471839436244383746798985415379313081087191516591336948947789703296184604519323938748475471158908661263349166163349886049568352557081072394033188831759007411981226875928749575483734944042818492745218059180589581173542880194093046979711736463599164476599029331836286691074366870685049668596394346870107144025669259556016068457411308542199724136887670677576828344676731195982326227769119884092360266133922016715873433000058853855726634796627722155475986826544979453789047631650560269562270938938349061717750938114046411550378287336482725016532951012498213221684849506940573413631455116185772071300317397542308226897825058451631292102179595651086354383966007751868096921221946596776327205274555214571443592255300720165232579868423560936457835308152012103807796917435938399606285121073325788851186144787193421632947667668980607495541982524047540295340530982906960284457452940584811448031721229623896733986735737145833188850939199927471570656125194498907834102570377198541967988953064756283334468589972233679544470726735975526764997066883218416686654283807241486044534064235896736260520591912335837466626801271200419624823156608750316399511023987381416424440993325127823347285985424163387945650646487600119555161588320880288867133008286584985140062626226378965009248671593373318274437892582228830144947221511557718896400358766510582716313317323816308788995309628426845488659983274839246106573655388155867010763825095774236674618204165787824826611105065190349521530693696650415293949663669901040389688573821315275203041201804096544142503027876422835279949566655540525283529971629538901858640030774127580182289508039550646070495566571537023226954394177394505571031934219063204722014070566215014468215873636774419172282601595557465876029389166984075122565372691924920567829668805071164019479502312274638661624119553305233634506330215241302900843970338850313796030870764763208879811516737113671754067334780510193134420310054109121166500666651185966225445747531532493321520616469615104977005224196945441008206450198956219946235986015475261600717136111018827643227442931764026921650004355413439679956530818994680099978323983341704411326660624466876305334326386384978465136569017155527623489429305159123830242507092589824909052506339714881551720595696482578614113977312194139386466298054417082492974338461220717754193274514419142698650199061704470035998573082254071326956876618400679391497038702609174417319053597453474392129217642332126603131901304377548779819160095392660265678407009652391611385602558395963867708669689426276661045542251191877972066581251140626765091991178852964107644626888736641217878905388522648489542609345616550274296036895162561679367271456948832534365388383601888574102853582965292076983535327849680037564515945006437298426204613064178395817393491748699484638569834797791596115995446687381534530412960437768445592555609737764073028907536102381210722744942382457419318398232794409199391704677664155515454959744345526711218266977991299174609110671676014171581181275916790360977364827069504038947593691791150249103253606758468567975022617847335231009591068475652261365211584417314732352170061578622763338786781258047947341188740235459506540822300586258554856976573901869317588427777681780007494833791763243820173449833228600765946591613506210832593752154811723213732406591789164539591194928031508183142839788838347278547478328423474436191814208113145359898368978856041790599 570791060304509367759107441697248249946359693659981637482821430210598786674205343879115051257884072438159840628558630883957587771331578992460536329076057440395068822600441920554553504555743373893158896210017006902990645183815846393653769660993799637548938171346001674291626537996524881441456844207618920467224512431328777650444584306656099779122224096515402656677954598967210228011646934042430212810228018068854080851472432219152471243817560534582596584541115423654231264636493747923585860572032752863131755577426319672946972042766335733226138205458882813730089750511186246754793534784734394477372219616699736464995714568685090611206347045547491819923363328322044989375179892278454182457871391726527017440501698139922057361713729052896326230583718354022503448238339307630257790083115359253741855361277823288687217182836391798881560479220615720782023612720215384659315201904540863791453893316032977324159418041128147216518003498324265666897017780834156903185969897540817337741166627285211666464043383728336908614260459243263031942075830700974795579179961823238513625682005717611239531389580909007282969892701132292067005256039719348759069913527872228538456305922048169630179786793707595309725519663879438052274825598291281816395452801245472640763029737481021361834440950144963263070982997295395462204072681683413480655952727164424885076574490400109286718911013018645544592845203271973800500727883148258984250624518542041257039271245289237825279008302724340286180633192483256245894191705429324812001033800287178007496347370114668679947212072573363804579584345676672467446404254584711011142452187840649765973501943715553439558335140588621265941532089754687424389451322388595002385959570976728432406569344002510947263162966002049048702827213175577613273839310892854730771122183766575803757348698541719730072858392083521202425044779580905877161540730808506006610617853260084111100133323741710844846057908455483685512647453106404597965339858734704661898227537156781351329066641758322933785220108008600985581149752260566067655149255170998020263955228809147421018086539413954552527669628336149168850980540248015919942791357242820764729435260797642802613860477861721383038105798619344693594069475307645796172207470948748947218771931016282487294160120186151701660896693533788215005291948053405944069130570440901263421795730884793572485265327684616958869541075469339681183425358461793036455910484978272815127534634983750225092193717760485771488418516916325872589850311564325730757764378249391183735223473456216201140418047828432834881491747014328639538332965686727799773037782453082661334803273177474091838161956578380000347903999879437381530484214624693433503114990450551718411438136869962020759498998227294118212786102156727932320013936164596501235363667278916614581925505852443714296073686635196882087687114698888247862592824360218021310799747633815314190363994465442343262063653350558468672923173934624675054370894460891995552419578407203500018212195528112603981315393505635417183322647069668128237731413574337887724806525161880550320552746414467624355300883927443257410534572450565645024001263567158215600306029736813570336953104199764345650803368391818336336450705302041965561991178885452869210967679224566684468240068066517720436630560049284930542386666294392884312379306247562908644656324148971502647713431519085660054144157381058915088189274366564358467102348958512366413489741186606168043779662865653309993955645069332730166213747920925359265753338445138104542051373795227322094598563382910491452745598075440686963952974741879331253815762816739298243514489732947467520201052785506992248141010121912509638395884158732016150017910034993650547382511392066567558969395757315702179831246030525116435412582825214400296474839029712532601661891561737674059774131648297309160601024098396538636993165250150238620483296241945896272809490256969011758926509625267325995049229638925955269730811629642248564364789599320433208806722 923559336047287062222212459372073666468453758114292847205674541425373392672458702639080969083049710673072362889374625295837533747666568069222656003506308512171211040341846852874739471772823075479041868550515772276971154928579317278479366569737761539538905814071712489178692415598713536401101120085711073944274252320460496739963722092568070607424476106602590565862343376597636800385754181843468396001005805663253159066945234338758510854600870553744681296679708051113292083677441012682222058724276595849164002810050572849493966434012807572662382589205681799145469063592273438271384871733682184180668404221219060403744190039843999272469696211710841705972931680879126061769213081110213189869852618602455767015985433083964875854458947112076915811757261234216596495218051044093856954559714388585578142052352190159372266851432786145751667623246284980338039681177626693201514926041428534469030721660709708520141744268897267100610363764458187683612891213834215757041696532337445059896642614111756645917832431359987468883822730182201381003793581639088841990730340110574996350698538668623737744611265758514223543306332587408252777327340036746301378140425697286990087598024227765281266141177673603061593616585101384649051152803565837030966896393500773360928262317349444922770898785453115275174790794212831400603678966804486806444803913309212078498207438067778267326406555001169592133140543802956707461012340601199569062072550263270880936005232024974971112197153663540213652203848608450744802025807999702010543001789240242763779681838704640913626756543300099780106349342743555685863090908868518252628496721904885662709762464307465775395801767389892466361156912911296174705850833412582383802384011970053560229916629987935110651108616648536648822382374763898493562706443901141315756262246392802182722357947213313103391132829976103431255189726802417434880437131167272517193334166577407927408922319051339271691546568438758524758754026761792753832350622559800436134902155360947139153893252863388124134741638702297635996443701924235968695538943744819335539158270010951517562229042441830975362949577902804709376264070219645458844649997273594892309617550305682353259930973428292920061332753013522088099640507241864859376929485019315162233240146889919261713332402787747259126772722922955199080414513426097868989698400109706334585815210387105847123926951804170264103175581799554922486326202432131886769706515849037578336414446500487338763947785095266281681552937226379981711016812230976916723989823996922716228544994072685816245395053052629780322499953464527595758279201672743275034638499589193680162446500620405855865083606582735413787583956410256376210584192948676775207526317111176185287743471196348405737964134796311273740409591586033091443844178671689091060272719785256329463477226448140196874687800612509076227073580996942664945085798698679242028553940908329733333062644664504047732099651923640722744250130811243075733762391499594604726836897460800953492604324745754936107918525406939794732102466229763520897997091981347540116417910764438946284420455084157050631961929469694449288506639031816785650766355558337068564413674363702306978170983105152868299292911001163952886725001338937128123670546156909818043502044612950286356814170920100685728707543584612780222424230810337890749677732452175972823052141542463251347198070088920457845740273376505602469723804779524796235547941514122104177562770094142270424990385610595692451374963467565524575413139625603023421268793404882450068762592062205313393773172493582167466917179256716603754313952106706400757854710410431089393763592986554225988769027808124839583372019712980985290657249370316433464750262205055229170145850178847825606916736946055937639337786852825702693967439801788302165792427457490214381669386395529437303594305098130537761366970690010044847825759002305050343697028648537685437349081451897043267109652465056164342327777117254378744167003443850361709724687968299289250597321 1494350396351796429981319901069321916414813451774274484688495971635972179346664046518196020340933783111232203517933256179795121518998147061683192332582365952566279862942288773429292976328566449372200764760532779179961800112395163672133136230731561177087843985417714163470318953595238417842557964293329994411498764751789274390408306399224170386546700203117993222540297975564847028397401115885898608811233823732107239918417666557910982098418431088327277881220823474767523348313934760605807919296309348712295758387476892522440938476779143305888520794664564612875558814103459685026178406518416578658040623837918796868739904608529089883676043257258333525896295009201171051144392973388667372327724010328982784456487131223886933216172676164973242042340979588239099943456390351724114744642829747839319997413630013448059484034269177944633228102466900701120063293897842077860830127945969398260484614976742685844301162310025414317128367262782453350509908994668372660227666429878262397637809241396968312381875815088324377498083189425464412945869412340063637569910301933813509976380544386234977276000846667521506513199033719700319782583379756095060448053953569515528543903946275934911445927971381198371319136248980822701325978401857118847362349194746246001691292054830466284605339735598078538245773791508226862807751648487900287100756640473636963574781928467887554045317568019815136725985747074930507961740223749458553312697068805312137975276477314212796391205456387880499832837041091706990696217513429026822544035589527420771276029208819309593573968615873463584685933688420228153309495163453229263770948909745535428683264408023019214954136907978513732302689002665983599095302155801177386188343582946781992636485973990446057914271582650585697525209587939476106836545754793996046527384430159377986479706645755032833463991222059624633680234506383323312041977861975778523803952019837492038509055642793050116537604476894242210271401479868197351797690481294505098033129692517728490482959894621711057919961746710898621577593454184802036350688198915817355803113498820098938580315581855785527890619206238953878227244610467661378787441354516415657039052811103325155873791451290014303099438551632866781693709982549510655549136955968064109452012077906201749007492522973898960787669416456743414085706461479503813058828970550607598007610941271899419609192279488787222972716657268894603669751560893924923225617000827310393463949081484237563856141502855752053169971454142705854300867123795302647481754202246313899963768467528902017385813100881062615203991700478856235296612167359471074807676282042276341497249773797879947703245563161115414135487956289693757741068407573370208710641307561727903699181608066310426497463133023605391953195693742761023763858114836285592295636387064172944045402732300583911170761487247705958314760695695830912807678623058897263339353688542145047523426639129946390994163305274199191417173304745867750788133285960486600279256475868004453510816520273867540089233918912575211915425113299431649135728505555685427841224435926319496604973201498624674987262813397137706699041211482382430674767619125495284164719704100515877315124087304917213950096279392982289223175706640979093685661725042362687254469723837516970825054238986618406165338103633897710764810897104730775062057038699738881467708465691434753994911501608006117899884430757564517557913079146089154702650290472634470591052511280748438468770048476249002445330608536898254741626887546528382687022131850020554610813965857432635488371735876492658919662777332157290718266926848585732011670473227170387637278082719501693508970080593631831831513029834893494929053133529048449614768172240048879717528361570914393165886132703371639819169032883350819129380022627002702462267266487202746983331277957267111363368436746427846921967994788406583484818924252455288964180324890483581710158571708866055026036162090323490337377006756180334013897815073492610274089477567619722459404043 2417909732399083492203532360441395582883267209888567331894170513061345572019122749157276989423983493784304566407307881475632655266664715130905848336088674464737490903284135626304032448101389524851242633311048551456932955040974480950612502800469322716626749799489426652649011369193951954243659084379041068355773017072249771130372028491792240993971176309720583788402641352162483828783155297729367004812239629395360398985362900896669492953019301642071959177900531525880815431991375773288029978020585944561459761197527465371934904910791950878550903383870246412021027877695733123297563278252098762838709028059137857272484094648373089156145739468969175231869226690080297112913606054498880562197576628931438551472472564307851809070631623277050157854098240822455696438674441395817971699202544136424898139465982203607431750885701964090384895725713185681458102975075468771062345053987397932729515336637452394364442906578922681417738731027240641034122800208502588417269362962215707457534451855508724958299708246448311846381905919607665793949662993979152479560640642044388506327079083054858715020612112426035730056505366307108572559910719792841361826194379266802518631501970503700192712069149054801432912752834082207350377131205422955878329245588247019362619554372179911207376238521051193813420564585721058263411430615292387093545560553782849042072989366535665821371724123020984728859126290877887215422752564350658122374769619068583018911281709339187767503402610051420713485040889700157735498243321428728833087037378767663535055711047523950507200725159173563364792283031163783839172586072321747516399445631650421091393026872330484990349938675368406198663845915577279773801152989213759769990727594916835552866402603978381168565380199299122346347591962703374600399252198695137362283646676552180169202064592968345936855124052035728064935424233185740746922414993143051040997286186414899965917977961844389388229151045333000735030155506629990105630041103854305534168031847878675629636853147485099182054703385413196257574037156109038005046227142660636691342271768831050456142544624297616503253568784141758587603508680687306837632091351790010549348670361409007509133722424718307223160771304646388869793350489791375514926066440987379271685252224796121010720824925761646219914442139379698613166120974905601682048527370660313932593426151659005266733119231292957487075892239068449526156077763326056809995323516676347971800363527984724902620089287951018334851524391369085836011883936026279564205744026243236616192313461601587833631208153933692395526491653943383831054891369032214349842314781631470021659696274418285803568329169743850827923071912699950133951652600522046983918167624672904088986925079262658832235427267819916665693605285328794115207702293507974683355909106849429273508879958748724108045449287860215034541834276692773577752764421757576505367907629450474780856489283794450438726262957197839914161423435557110826521895677460081205006093373328805407003420845019622476197152444319515006647527579529195170033725597537032967957642346690758442889393656582781725619224742866832155987547850514199216325533974683832352729133378464218184293295070410070082249389190394146242109900707979916221809332271199272505297971768450467257181868409906719091894045647218510490987235127915068665811734771151914854290760607233898005342109571696926575745624704134070120027636883925613950938198231986756574768615281374890708893760434086844694896705572004463779317040027172131406108290925254903004679576557919637948882144908370074826386579956588873894472580878955292132769525183637601477031041675706055919497739108401756671414885049547874480219710382899364883079518434445104108887674211749762218772802869649427577458506819736176521823347462428791004628059693944692961365000664352796548666962741844558384683334965478416628332644683254760339307877353539021267147507653160763098293145814555379654679704783873434712758064818517342971983814165535919011710001364 3912260128750879922184852261510717499298080661662841816582666484697317751365786795675473009764917276895536769925241137655427776785662862192589040668671040417303770766226424399733325424429955974223443398071581330636894755153369644622745639031200883893714593784907140816119330322789190372086217048672371062767271781824039045520780334891016411380517876512838577010942939327727330857180556413615265613623473453127467638903780567454580475051437732730399237059121355000648338780305310533893837897316895293273755519585004357894375843387571094184439424178534811024896586691799192808323741684770515341496749651897056654141223999256902179039821782726227508757765521699281468164057999027887547934525300639260421335928959695531738742286804299442023399896439220410694796382130831747542086443845373884264218136879612217055491234919971142035018123828180086382578166268973310848923175181933367330989999951614195080208744068888948095734867098290023094384632709203170961077497029392093969855172261096905693270681584061536636223879989109033130206895532406319216117130550943978202016303459627441093692296612959093557236569704400026808892342494099548936422274248332836318047175405916779635104157997120435999804231889083063030051703109607280074725691594782993265364310846427010377491981578256649272351666338377229285126219182263780287380646317194256486005647771295003553375417041691040799865585112037952817723384492788100116675687466687873895156886558186653400563894608066439301213317877930791864726194460834857755655631072968295084306331740256343260100774693775047026949478216719584011992482081235774976780170394541395956520076291280353504205304075583346919930966534918243263372896455145014937156179071177863617545502888577968827226479651781949708043872801550642850707235797953489133408811031106711558155681771238723378770319115274095352698615658739569064058964392855118829564801238206252392004427033604637439504766755522227242945301556986498187457427731585148810632201161540396404120119813042106810239974665132124094879151630610293840041396915341576454047145385267651149394722860206153402031144187990380712465830753291154968216419532706306426206387723172512332665007513876008321526260209856279255651487060472340886170475203396955443381137264302702322759728317448735545180702111555836442027251827436385105495107356341210921530601037092930904686342311510781744710048608896337344129825829324219981733220940517503658365264312609468962466476230790806770388021495845511791690312751059821582211687498228489550516156081929130489851017021254814755010730483354422240066351503536391685424649991063673746363156946048216165751271574732904966242058559868989643891692721008095417192628808932234631992686106687328969258732890400843522057646800979071555138971560408344260275651545493913602217554282691049308019216210775107920992856594972388604490560443044816473768707261317992619828379915922924396829720426262472039105578596740302978577310028963420567805285349849196809860514237365293490016286386363232090218562952692828626819169454103092718395798866782617077939494366858081406400606487556263969862686589061996581647000301593809327636893853082564734061608419157714987296199485469787128531333076414620895315494993996241635192552441492287984228006922648893337498059383750852408201752046025019799440873791809851653735758469072925332759337021073304932693645509134891634637585549963071703105640848522459391045359667792655639147362530482563093697342036180541362034058666914718659788795313057104923559290390523777070584370516644246567485306242733921031185190847805803877864781195656864771864668319758425557613006709188995388503246398079382767975148763516428413332694286606685152988605202573320676611938689002352799217277675852619527340952727485055793707090326960431895708348331942310063660030331178590986231605302960266823211817463607507215628272057678429504848857666224869629153319181976645703145017081790629615046771962633590835582257903643103538734169405407 6330169861149963414388384621952113082181347871551409148476836997758663323384909544832749999188900770679841336332549019131060432052327577323494889004759714882041261669510560026037357872531345499074686031382629882093827710194344125573358141831670206610341343584396567468768341691983142326329876133051412131123044798896288816651152363382808652374489052822559160799345580679889814685963711711344632618435713082522828037889143468351249968004457034372471196237021886526529154212296686307181867875337481237835215280782531823266310748298363045062990327562405057436917614569494925931621304963022614104335458679956194511413708093905275268195967522195196683989634748389361765276971605082386428496722877268191859887401432259839590551357435922719073557750537461233150492820805273143360058143047918020689116276345594420662922985805673106125403019553893272064036269244048779619985520235920765263719515288251647474573186975467870777152605829317263735418755509411673549494766392354309677312706712952414418228981292307984948070261895028640796000845195400298368596691191586022590522630538710495952407317225071519592966626209766333917464902404819341777784100442712103120565806907887283335296870066269490801237144641917145237402080240812703030604020840371240284726930400799190288699357816777700466165086902962950343389630612879072674474191877748039335047720760661539219196788765814061784594444238328830704938807245352450774798062236306942478175797839895992588331398010676490721926802918820492022461692704156286484488718110347062747841387451303867210607975418934220590314270499750747795831654667308096724296569840173046377611469318152683989195654014258715326129630380833820543146697608134228696926169798772780453098369291181947208395045031981248830390220393513346225307635050152184270771094677783263738324883835831691724707174239326131080763551082972754804805886807848261880605798524392667291970345011566481828892995906567560243680331712493128177563057772689003116166369193388275079749756666189591909422029368517537291136725667766402878046443142484237090738487657036482199850865404830451018534397756774522471053434261971842275054051624058096436755736393533921340174141236300726628749420981160925644521280410962132261685401269837942822652822516527498443770449142374497191400616553695216140640417948411290707177155883711871235463194463244589909953075430742074702197124501135405793655981907087546038543216264034180006337064676137453687369096320078757788722873020236880877526324634995847861775893242254732787132348395390732077684648229408748447406256975008365623897406394905423899774492305845305216384816642322634451554839903902648817069981631781689594025644373608617464176546976556907536081673031766591628090968317668663438723340406264400349254179262701852234959007454600763031491063162649798032127261660062968136027398429249081378068313207466574050274075168947443094609236405206718847268446689219669879019740020175860089403831924640880649010291443222525615267517658210313112492483538807551605225210480272357821989203179700629751363756509129307836382383760514664188126225712299130802018674136912510780863325835568493159989622986461028952245901714228125057378448874660181274773442977122600811537304326267440907697850413260738451485188791058800056589953429398070918692739281152934868106685526581003568590049229680159230764679130645001859269391133839025704757613186846997317056579046754446147620128283074030529856256290916649938392238741752545825813375706941890791194903603982359826563969967081696708533252661552616642311692822690509905079663428684759169997550720840502373341699361434131613532504448297397145174661283128930642455368473899327778215773805041130257097492876785070438830711491872002226794736182672355703862776074947484584711718386654376588669713332606662860208697293920435544616288637925745239840150108290761975967579935031968526116005173878030392251612327791201082799696786574503049759530027452108178554241717808639457745879406771 10242429989900843336573236883462830581479428533214250965059503482455981074750696340508223008953818047575378106257790156786488208837990439516083929673430755299345032435736984425770683296961301473298129429454211212730722465347713770196103780862871090504055937369303708284887672014772332698416093181723783193890316580720327862171932698273825063755006929335397737810288520007617145543144268124959898232059186535650295676792924035805830443055894767102870433296143241527177492992601996841075705772654376531108970800367536181160686591685934139247429751740939868461814201261294118739945046647793129445832208331853251165554932093162177447235789304921424192747400270088643233441029604110273976431248177907452281223330391955371329293644240222161096957646976681643845289202936104890902144586893291904953334413225206637718414220725644248160421143382073358446614435513022090468908695417854132594709515239865842554781931044356818872887472927607286829803388218614844510572263421746403647167878974049320111499662876369521584294141884137673926207740727806617584713821742530000792538933998337937046099613838030613150203195914166360726357244898918890714206374691044939438612982313804062970401028063389926801041376531000208267453783350419983105329712435154233550091241247226200666191339395034349738516753241340179628515849795142852961854838194942295821053368531956542772572205807505102584460029350366783522662191738140550891473749702994816373332684398082645988895292618742930023140120796751283887187887164991144240144349183315357832147719191560210470708750112709267617263748716470331807824136748543871701076740234714442334131545609433037493400958089842062246060596915752063806519594063279243634082348869950644070643872179759916035621524683763198538434093195063989076014870848105673404179905708889975296480565607070415103477493354600226433462166741712323868864851200703380710170599762598919683974772045171119268397762662089787486625633269479626365020485504274151926798570354928671483869876479231698719662004033649661386015877298376696718087840057825813544785633042304133349245588265036604420565541944764903183519265015262997243270471156764402862962124116706433672839148750176734950275681191017204900172767471434473147855876473234898266033959780830200766530177459823232736581318665251052582667669775847675812672263240053082156993795500337520814639417742252856446907173110031743137785807736411766020276437204551683664702328988746922649835572550869564559110894516082392669216637386055669443987580740483222337648504477319862567535665250663563202416987458362787863963757898441815585199142296908978962747973588370850617306111478635553783312040191650679237917337094616712881369175785489142168074359138453920597349701208069506960780987207243471904393150823110196495234659000094676633708617445340847340146477870838076057020255024221469982558873650511390524042782430265435714437616321129643244098167115482141918125318616916163067981141953604301216815576793071722425128031895575606602508769925170783695443773432965186448808372633803722469759555375911924914321878127372745594526832199855394771881360725974507362510326137162302487626516839543593686307510133385840044674648360129968403304776053537221706852799320263682542890402854753026435713195713707693394088012813148923326894491327177954667547559318390855222325807698753084563524016151718306791963036642973917339395198736810069020162219895276905538665487950866686169003618821399213032089580777933087187847434373856609450983698917039464750123260357605473779117623178196863209796999065424430936264854276490563047862331916497367145206367681192557171145511157486392533677907681208313410430517237415756191548468091647815410086098079358391115442650180874355026012013858524975231203728802432540378418808713614808484378061664548972923868727625099026530847893940886012063051967571898269191595851992710398030964862840102900021404931509767846785944713868365132664806301990085699014136499621451742996480048812178 16572599851050806750961621505414943663660776404765660113536340480214644398135605885340973008142718818255219442590339175917548640890318016839578818678190470181386294105247544451808041169492646972372815460836841094824550175542057895769461922694541297114397280953700275753656013706755475024745969314775195325013361379616616678823085061656633716129495982157956898609634100687506960229107979836304530850494899618173123714682067504157080411060351801475341629533165128053706647204898683148257573647991857768944186081150068004426997339984297184310420079303344925898731815830789044671566351610815743550167667011809445676968640187067452715431756827116620876737035018478004998718001209192660404927971055175644141110731824215210919845001676144880170515397514142876995782023741378034262202729941209925642450689570801058381337206531317354285824162935966630510650704757070870088894215653774897858429030528117490029355118019824689650040078756924550565222143728026518060067029814100713324480585687001734529728644168677506532364403779166314722208585923206915953310512934116023383061564537048432998506931063102132743169822123932694643822147303738232491990475133757042559178789221691346305697898129659417602278521172917353504855863591232686135933733275525473834818171648025390954890697211812050204681840144303129971905480408021925636329030072690335156101089292618081991768994573319164369054473588695614227600998983493001666271811939301758851508482237978638577226690629419420745066923715571775909649579869147430724633067293662420579989106642864077681316725531643488207578019216221079603655791415851968425373310074887488711743014927585721482596612104100777572190227296585884349666291671413472331008518668723424523742241470941863244016569715744447368824313588577335301322505898257857674951000386673239034805449442902106828184667593926357514225717824685078673670738008551642590776398286991586975945117056737601097290758568657347730305964981972754542583543276963155042964939548316946563619633145421290629084033402167198677152602966143099596134283200310050635524120699340615549096453669867055439099939701539425654572699277234839518324522780822499299717860510240355013013289986477461579025102172178130544694047882396605409541277743072841088686782297357699210300626602197729927981935218946268723308087724258966519849419123764953392456989963582110724592493172994931149104297611167148931441789643499312058819653468585863671039393664884376337204668870948322347833767536319273546742962021051517305763473982737955124780852872710594645220313480072311649823244433371153487861164293347239484973634602754284179132790230693485068860951382538202600382021823432368831942981468225330345545722762046049704156032170220512225440669525738170399504327613507872253647330085812048730193666454695439665199680607990645372273739530901044193047653453470551360627186857977964574316857599212878809046852726336362091366613804701811797145058637092023157384973878245181865825868236294248040395549553785919715001253463978335300668983913237544270797575813504352221123311885041232750704261887887409782653057912154525573900034862887018143373651972730795647616139826004622638553411847613965102053097234790149678078219030659822518390103646531123450588253268013764887198384504766493450677966242546994245587230608330889535654244844971858790915856928433243794288695282363308651232427776812943044152811923657066337218798942031351686285616233940716698859875112315862970481819519685633013660810080798500242178602521021824576687230324687170487650875839749479852108691888114940841344517705175322217859882637337869518548067042626688784678015605783789678852568964337244052885885711315083969764241896688945667183590956143461554273361672746357252806750041197330935066504877380024963130527100269185073047774997155635784077424919019462075464182578811757302892117680189031167563431927742366557080868013980930413656543837559047868744410654939635714565832017537807192690741339260382454225928218949 26815029840951650087534858388877774245140204937979911078595843962670625472886302225849196017096536865830597548848129332704036849728308456355662748351621225480731326540984528877578724466453948445670944890291052307555272640889771665965565703557412387618453218323003984038543685721527807723162062496498978518903677960336944540995017759930458779884502911493354636419922620695124105772252247961264429082554086153823419391474991539962910854116246568578212062829308369580884140197500679989333279420646234300053156881517604185587683931670231323557849831044284794360546017092083163411511398258608872995999875343662696842523572280229630162667546132038045069484435288566648232159030813302934381359219233083096422334062216170582249138645916367041267473044490824520841071226677482925164347316834501830595785102796007696099751427256961602446245306318039988957265140270092960557802911071629030453138545767983332584137049064181508522927551684531837395025531946641362570639293235847116971648464661051054641228307045047028116658545663303988648416326651013533538024334676646024175600498535386370044606544901132745893373018038099055370179392202657123206196849824801981997791771535495409276098926193049344403319897703917561772309646941652669241263445710679707384909412895251591621082036606846399943198593385643309600421330203164778598183868267632630977154457824574624764341200380824266953514502939062397750263190721633552557745561642296575224841166636061284566121983248162350768207044512323059796837467034138574964777416476977778412136825834424288152025475644352755824841767932691411411479928164395840126450050309601931045874560537018758975997570193942839818250824212337948156185885734692715965090867538674068594386113650701779279638094399507645907258406783641324377337376746363531079130906095563214331286015049972521931662160948526583947687884566397402542535589209255023300946998049590506659919889101908720365688521230747135216931598251452380907604028781237306969763509903245618047489509624652989348746037435816860063168480264519796314222123258135864180309753741644748898342041934903659859665481646304328838091964292497836761594993937586902162679984626946788685852438736654196529300783363195335444866815353831078557397154216307739354720742078187899976830804062020962664563253884197321305975757500106642332521682363818035549450785463919631539231910915247787596011470721198892069227597379911078079096090673137547335741722653631298987040241421817886906944662052401666215959599407107186749751054723221177462429357350030457212755978730735874852240231891733941351824922191789055070172776899663263141880763819064335686167062861173756383694062015083048069860318562842043226914898547535191872230391308674432822790370733807677360285314820751344158040480908922245225428325454790116298908298053331492712420217401739120250067908477692021343186060508489355098359640029478314523484469047466005335464780920183953715270377254008186225366115831849483082641445029365970465523581449361526317510023389149118996112757346202730719605948447308074690882867260953157665026140015260155377179890112009920345781395588861525505883978109893098135242656665548216324860921980999805146727745594920118081382995084197044225242902966794805993478656122766791322911580218474186844765979055695917572481721935508844203201804163362714013241664627186328357812711434081615443195464419786860383548010660467135357381018837308257224951104184807402867863493933715076002571400297618720201508244454655109693162301438061289326810490682292644266768499017946343061905690953539371777609371981665885265722214553835236663754434723819245955823526763270182212530476645545557463316402948730840161312709988336761077269689035501852669716011853620712278818763899722306166270233679812565341549335813883993557425836661704608707946152544118488606312076519697769365944085252087300359159283920452764588045730854083830435061475347326894654689124523304768379372134007623506206827240960712125450705977031127 43387629692002456838496479894292717908800981342745571192132184442885269871021908111190169025239255684085816991438468508621585490618626473195241567029811695662117620646232073329386765635946595418043760351127893402379822816431829561735027626251953684732850499276704259792199699428283282747908031811274173843917039339953561219818102821587092496013998893651311535029556721382631066001360227797568959933048985771996543106157059044119991265176598370053553692362473497634590787402399363137590853068638092068997342962667672190014681271654528507868269910347629720259277832922872208083077749869424616546167542355472142519492212467297082878099302959154665946221470307044653230877032022495594786287190288258740563444794040385793168983647592511921437988442004967397836853250418860959426550046775711756238235792366808754481088633788278956732069469254006619467915845027163830646697126725403928311567576296100822613492167084006198172967630441456387960247675674667880630706323049947830296129050348052789170956951213724534649022949442470303370624912574220449491334847610762047558662063072434803043113475964234878636542840162031750014001539506395355698187324958559024556970560757186755581796824322708762005598418876834915277165510532885355377197178986205181219727584543276982575972733818658450147880433529946439572326810611186704234512898340322966133255547117192706756110194954143431322568976527758011977864189705126554224017373581598334076349648874039923143348673877581771513273968227894835706487046903286005689410483770640198992125932477288365833342201175996244032419787148912491015135719580247808551823360384489419757617575464604480458594182298043617390441051508923832505852177406106188296099386207397493118128355121643642523654664115252093276082720372218659678659882644621388754081906482236453366091464492874628759846828542452941461913602391082481216206327217806665891723396336582093635865006158646321462979279799404482947237563233425135450187572058200462012728449451562564611109142770074279977830070837984058740321083230662895910356406458445914815833874440985364447438495604770715298765421347843754492664663569732676279919516718409401462397845137187143698865728723131658108325885535373465989560863236227683966938431959380580443407524375545599187131430664218692592545189103143590029283845224365608852371101487582988941907775427501742263824404088242718745115768332366041000669387023410390137915744141723411006781116318515675324244910292766209254778429588720939762702561428158704055514528705959132587210210222741051857976292210808186502063476325105094839686086485136294555146411502417547321013554049757820755028014243711958984076083838515416901803300031067373572460621309581241576386423478894945048231040259545847759789642434259216411687810994734293955621991909485555964107978661322138084693956932640164443115561931162572703813247366467319672676497628691193332531321773802367426831394724885765512415435891100209382751089710094664948467313265660218505919131003147446032511276853127454296781741259440274990403524260812426912006179145994390415730401903147565159832948024164445919681430451748543649257630082623893782858796491552838963414333828613770248780842829710267759461214114856866743633006613325929444066909390780556210109964723240680295443945298242911818068952543839733738856049008334572804157521555619572152101406716444924094427892196599803427700822584124201694599817779339608911236720418748119566723369046030938973053219817304353215169054535453609935340903959083113903497721006979814754419374857695822914014382841654312618953889686841207483582097191173106182302501766445934740501542369053971891383045609882801516202288660045924131076951885025706744453279991645314223989373526367069531625513940919637101336738557192590304679862914153178630473611658860244492023577463137950681776259098509526668836202932276331526722715848195131145126598868064760848718019184885942523433535178244404093937966025161313399517982299972507904931905250076 70202659532954106926031338283170492153941186280725482270728028405555895343908210337039365042335792549916414540286597841325622340346934929550904315381432921142848947187216602206965490102400543863714705241418945709935095457321601227700593329809366072351303717599708243830743385149811090471070094307773152362820717300290505760813120581517551275898501805144666171449479342077755171773612475758833389015603071925819962497632050584082902119292844938631765755191781867215474927599900043126924132489284326369050499844185276375602365203324759831426119741391914514619823850014955371494589148128033489542167417699134839362015784747526713040766849091192711015705905595611301463036062835798529167646409521341836985778856256556375418122293508878962705461486495791918677924477096343884590897363610213586834020895162816450580840061045240559178314775572046608425180985297256791204500037797032958764706122064084155197629216148187706695895182125988225355273207621309243201345616285794947267777515009103843812185258258771562765681495105774292019041239225233983029359182287408071734262561607821173087720020865367624529915858200130805384180931709052478904384174783361006554762332292682164857895750515758106408918316580752477049475157474538024618460624696884888604636997438528574197054770425504850091079026915589749172748140814351482832696766607955597110410004941767331520451395334967698276083479466820409728127380426760106781762935223894909301190815510101207709470657125744122281481012740217895503324513937424580654187900247617977404262758311712653985367676820348999857261555081603902426615647744643648678273410694091350803492136001623239434591752491986457208691875721261780662038063140798904261190253746071561712514468772345421803292758514759739183341127155859984055997259390984919833212812577799667697377479542847150691508989490979525409601486957479883758741916427061689192670394386172600295784895260555041828667801030151618164169161484877516357791600839437768982491959354808182658598652394727269326576108273800918803489563495182692224578529716581778996143628182630113345780537539674375158430902994148083330756627862230513041514510655996303625077829764133932384718167459785854637626668898568801434427678590058762524335586175688319798128266453733499163962234726239655257108442987340911335259602724472251184892783851401024491358560891421373803056315003490506341127239053564933069896984403321468217011834814860958342522838972146974311285151714584096161723091641122605978662160835265890805265583429180310049639567572771509070732270941544061354303708216839036191511008676925349625319188402080810462894317868822156441195077104885715367770145853598464971663618593909416799375519857116433448616814787569377871021410993353525120074957255010560569728291903656539181050317364275672263016276714653630797114174334379284693183470408854594046999307874956674771036137658169507856015790821268372762296175645069719227685813145108395608117205541944148031108758295026188971442712452508972350021300242276573292894498605643005710009472708120501602889046406947548080756541918407720537012838136174366265462826040610069155141608192516991918101453157101055288275255809613575395508588424630385840844209199053910968875909580120735437545565513547347533021544941714867140209924353938829390550674479348577942057853171697286817399186182805900509914118150526539537623356616386663811248833244591337051980836616647866136187824603555522434586862979746014975624620114923073416677298990108719628503205397144403230308211689272459021187873875642165975920073795193684396563261668507092749304311745008342846056936490265180696325069132324154103913522255428358979518691608776764292389661873362467821722969027147166893705385379987781810444277840641943267606972237005155646229198728037172187899448320564853199969730007256439288088335618207296034780288184363631885881999768647895733172329722148591283779494532212837178122659701549172473310100032784819606345223260684633355637882281203 113590289224956563764527818177463210062742167623471053462860212848441165214930118448229534067575048234002231531725066349947207830965561402746145882411244616804966567833448675536352255738347139281758465592546839112314918273753430789435620956061319757084154216876412503622943084578094373218978126119047326206737756640244066980631223403104643771912500698795977706479036063460386237774972703556402348948652057697816505603789109628202893384469443308685319447554255364850065715002299406264514985557922418438047842806852948565617046474979288339294389651739544234879101682937827579577666897997458106088334960054606981881507997214823795918866152050347376961927375902655954693913094858294123953933599809600577549223650296942168587105941101390884143449928500759316514777727515204844017447410385925343072256687529625205061928694833519515910384244826053227893096830324420621851197164522436887076273698360184977811121383232193904868862812567444613315520883295977123832051939335742777563906565357156632983142209472496097414704444548244595389666151799454432520694029898170119292924624680255976130833496829602503166458698362162555398182471215447834602571499741920031111732893049868920439692574838466868414516735457587392326640668007423379995657803683090069824364581981805556773027504244163300238959460445536188745074951425538187067209664948278563243665552058960038276561590289111129598652455994578421705991570131886661005780308805493243377540464384141130852819331003325893794754980968112731209811560840710586343598384018258176396388690789001019818709877996345243889681342230516393441751367324891457230096771078580770561109711466227719893185934790030074599132927230185613167890240546905092557289639953469054830642823893989064326947422630011832459423847528078643734657142035606308587294719060036121063468944035721779451355818033432466871515089348562364974948243644868355084393790722754693931649901419201363291647080829556101111406724718302651807979172897638230995220408806370747269707795164801549304406179111784977543810646725845588134934936175027693811977502623615477793219033144445090457196324341991837823421291431963189321434027374405705087475674901321076083583896182917512745952554433942267423988541826286446491274018135068900241535790829279098351093665390458347849653632090484501364543447948837860037263885338984013433266336318923116066880719091733225086243007385930974070566371426731858354927578956584369349303955290662649635530062007350305416501521229843545741364722263424594860780112135139442636849777795512560928708563152352247856367184541944131031197095162061644180465599904498357783907871918579977196223091348597674351846229692113881873466918624976790371836141166697675025003238266464322919252451252899372879864599689269776981416102898390833136672309273761228227124255375975768881808131267019449136299032340017166750812555241423994443712635286860701188547112595070740189127570369955484740101249036208604990868295252038812979576071560686407477361843455656418382532577095404027589676239865083280700412996968932928514895225552941938496486943821555285696845786160338812185144256492358612804399238275140885700960249648653894251689589638227345644289431254340653600305423313910777712508916193446664881612474904327903743131509664955547435653869652181741208619627023188311680913902180031859621556707738425472662015524866971463632051248812986467238949655828715538746580654395987475047424545022303642001310232025776953948677839932227426631846353525562329563844109356227517133805932696252273775607248733337988889934456636847997015517151355348300232886408936181449028359438256711115436826611501378125995296567865311160495720980268822688423466613758388174566176249018792481117694758906354851342069791781561580368943710794197745950909061642190350818373059979425097691993307470394389969864594716716822703616491116639963412604715616843026878298928590213352132497513717098779701556194879793576567248066057946133005863205560657141260569787531279 183792948757910670690559156460633702216683353904196535733588241253997060558838328785268899109910840783918646072011664191272830171312496332297050197792677537947815515020665277743317745840747683145473170833965784822250013731075032017136214285870685829435457934476120747453686469727905463690048220426820478569558473940534572741444343984622195047811002503940643877928515405538141409548585179315235737964255129623636468101421160212285795503762288247317085202746037232065540642602199449391439118047206744807098342651038224941219411678304048170720509393131458749498925532952782951072256046125491595630502377753741821243523781962350508959633001141540087977633281498267256156949157694092653121580009330942414535002506553498544005228234610269846848911414996551235192702204611548728608344773996138929906277582692441655642768755878760075088699020398099836318277815621677413055697202319469845840979820424269133008750599380381611564757994693432838670794090917286367033397555621537724831684080366260476795327467731267660180385939654018887408707391024688415550053212185578191027187186288077149218553517694970127696374556562293360782363402924500313506955674525281037666495225342551085297588325354224974823435052038339869376115825481961404614118428379974958429001579420334130970082274669668150330038487361125937917823092239889669899906431556234160354075557000727369797012985624078827874735935461398831434118950558646767787543244029388152678731279894242338562289988129070016076235993708330626713136074778135166997786284265876153800651449100713673804077554816694243746942897312120295868367015069535105908370181772672121364601847467850959327777687282016531807824802951447393829928303687703996818479893699540616543157292666334486130240181144771571642764974683938627790654401426591228420507531637835788760846423578568930142864807524411992281116576306042248733690160071930044277064185108927294227434796679756405120314881859707719275575886203180168165770773737075999977712368161178929928306447559528818630982287385585896347300210221028280359513465891609472808121130806245591138999570684119465615627227336139921154177919294193702362948538030402008712553504665455008468302063642703367383579223332511068858416220416345209015609604310757220039664057283012597515055900116698003106762075077825412699803050673310111222156669190385037924624897210344489869937034095223731427370246439495907140463355830053326571939413771445327691826794262809623946815213721934401578224612870966151720026883098690485666045695564319752686489345368284069999440834093896309210670892758783167222708103838986993805784788306579168246802189787402133637418168453483389719616375545712346845130537218886207171211661023814108473620053054033700790273862246252897999939556944280337551144394802047372317722626638036900490140532090629399678922305601398733829482502748871760797811863116380669214748772945030209044562903416339112951423746015025203967787062181317000598985500793982961010684829855712596448804555908165390732553877337680600882570738470726286410422469677053430117784271959889486577243485739963006233858624296513178450607082532968681959540846467657877619061702805754949539964845447840921039798019678971039441149632512964688681384825773567400319158040417875251276153054606670414575863794006120570599170301502536889622971755351729146438955893921231373171929643017498003169674605429373131050198489073306875798561491012635341183612369625859164435897095005522968924302460047150500048523652515671049192347314753371920364114144385524732796795122608980154865854530432041681412080413023855392982190720681189791874416374746976296133151680633702280099210090120739519475239671877599452715856275631750642387899218045939648011400144286342633152514069622203523636550683031202901597138260370227523006272508299989950891963037477650829257952930334924118738396779301003595298486715385490922611471258312361943416277008249311616879678854581342749040558166090730952612208428821341774616207669812482 297383237982867234455086974638096912279425521527667589196448454102438225773768447233498433177485889017920877603736730541220038002278057735043196080203922154752782082854113953279670001579094822427231636426512623934564932004828462806571835241932005586519612151352533251076629554305999836909026346545867804776296230580778639722075567387726838819723503202736621584407551468998527647323557882871638086912907187321452973705210269840488688888231731556002404650300292596915606357604498855655954103605129163245146185457891173506836458153283336510014899044871002984378027215890610530649922944122949701718837337808348803125031779177174304878499153191887464939560657400923210850862252552386777075513609140542992084226156850440712592334175711660730992361343497310551707479932126753572625792184382064272978534270222066860704697450712279590999083265224153064211374645946098034906894366841906732917253518784454110819871982612575516433620807260877451986314974213263490865449494957280502395590645723417109778469677203763757595090384202263482798373542824142848070747242083748310320111810968333125349387014524572630862833254924455916180545874139948148109527174267201068778228118392420005737280900192691843237951787495927261702756493489384784609776232063065028253366161402139687743109778913831450568997947806662126662898043665427856967116096504512723597741109059687408073574575913189957473388391455977253140110520690533428793323552834881396056271744278383469415109319132395909870990974676443357922947635618845753341384668284134330197040139889714693622787432813039487636624239542636689310118382394426563138466952851252891925711558934078679220963622072046606406957730181633006997818544234609089375769533653009671373800116560323550457187603774783404102188822212017271525311543462197537007802250697871909824315367614290709594220625557844459152631665654604613708638403716798399361457975831681988159084698098957768411961962689263820386982610921482819973749946634714230972932776967549677198014242724330367935388466497370873891110856946873868494448402066637166620098633429861068932218603828564556072823551678131758977599210726156891684382565404807713800029179566776084551885959825620880129531777766453336282404762242631655506883622445826120281199848112291695866149565507156350956415707168309914064346498622147971259420554529369051357891233529267605936817753186956956513613253825426881211029727256785184926866992728029697041130749553472273582345275729284706994726134100809697461391605362115080526825807699459195323339123163796630928149397246248557067038077300727298253905199001048637986250388211077526030710061705982110833641259802081064071462605237826228718597455843862997543047802190511783498623291320498023709526313499152270879804156633550114532560497700438205454394935911798128717264787466605168560730436868418182965781535088888927548624418357804663658461408231890910233110016011409853140551316384980688707888311217525605589853796046021773990260901416399003926166399363821809115086454433084628472246978335809567110835466645986358632679497512831425073730429561518291930704410456851990635751339025327294763940084742798763320021952454408843791654435086068266684087450933311693041455055826875466393893741967014065200770515322203155019284564271625962011517663658302311807789928525725201303885657531761006060512601659656845833945167884469466801725854242359598289148144902022414545142145408622816231036914648162806437207327031299922872980299979377926680370006041233378756191424109599437497920077081777006572402371342318143755788987068889678427597564379203693215077129617371240902775813003687411569978292135080406094506657986050679970960652146422141139322889390138816954075467064732129129094903192697484494583861403765104005494393825400647548047322012417873824645568279415048583956344948045219227817525051640941442013270417643558711091431002333949489770186902575295548774521966410396581235049461136325607806232148677085618071634381998915876777457343761 481176186740777905145646131098730614496108875431864124930036695356435286332606776018767332287396729801839523675748394732492868173590554067340246277996599692700597597874779231022987747419842505572704807260478408756814945735903494823708049527802691415955070085828653998530316024033905300599074566972688283345854704521313212463519911372349033867534505706677265462336066874536669056872143062186873824877162316945089441806631430052774484391994019803319489853046329828981147000206698305047393221652335908052244528108929398448055869831587384680735408438002461733876952748843393481722178990248441297349339715562090624368555561139524813838132154333427552917193938899190467007811410246479430197093618471485406619228663403939256597562410321930577841272758493861786900182136738302301234136958378203202884811852914508516347466206591039666087782285622252900529652461567775447962591569161376578758233339208723243828622581992957127998378801954310290657109065130549857898847050578818227227274726089677586573797144935031417775476323856282370207080933848831263620800454269326501347298997256410274567940532219542758559207811486749276962909277064448461616482848792482106444723343734971091034869225546916818061386839534267131078872318971346189223894660443039986682367740822473818713192053583499600899036435167788064580721135905317526867022528060746883951816666060414777870587561537268785348124326917376084574229471249180196580866796864269548735003024172625807977399307261465925947226968384773984636083710396980920339170952550010483997691588990428367426864987629733731383567136854756985178485397463961669046837134623925013290313406401929638548741309354063138214782533133080400827746847922313086194249427352550287916957409226658036587427784919554975744953796895955899315965944888788765428309782335707698585161791192859639737085433082256451433748241960646862442328563788728443638522160940609282386519494778714173532276844548971539662558497124662988139520720371790230950645145128728607126320690283859186566370753882956770238411067167902148853961867958246639428219764236106660071218174512684021688450779014271680131777130020350594047331103435209722512582684232231093020188023468324247513111001098964405140820982658976864522493226756583340320863905395304293381205465623854354063177782246135326764149549295458082481577223719754089282516130739612095806754787282180687940983500264922788351493083086838511498806406499475024732957543816281897529160489451219108572950746971775849181418488460805566192871503263778948009828468532080700927590231340144866277708970059510465476613302840035631792035176517656694277512251493384244471059428255564453791078980783538575563727993062749204714259463214325891972243344374531724499800175745405168879743713577830452083704892502485577772117562549835029207405319557234568239652742469816916795264037837760688346436281474185332873210181176921119277672919427748966091975062400005892675675373398842606188839296840004735000945731272111600374970955271987199847640331770765229354817716806535853521257936323039788750463769472720911650973915301481298164563034753365169086358421558295976723480931210456640939083655260163793331619280533909187723885470612282732482604688339840155075278567740581465519928555740078406295437618878296376587381457664422882406960230028262090926857412883490152499468495580888219005874810901967469971400459671732729339346633975329290343703636421258157414649284274021970873104422036822891797282760026528426728893658556904427948538738862971357862034221467301739369197493951298298621643517500931359839677977403059086197267850298561032777192187750663707703129972768782686193716748106790199446200324024021593855179165021889459341974685110671777140495047479040117647097931025968627642045076856603549145185582382645396830918076579404999475919382425696048485770455386565060180410049718647154009578146387824872101241445214937238965051530215722013460913904042479074648364398239408038230280063203340690492985127156243 778559424723645139600733105736827526775534396959531714126485149458873512106375223252265765464882618819760401279485125273712906175868611802383442358200521847453379680728893184302657748998937327999936443686991032691379877740731957630279884769734697002474682237181187249606945578339905137508100913518556088122150935102091852185595478760075872687258008909413887046743618343535196704195700945058511911790069504266542415511841699893263173280225751359321894503346622425896753357811197160703347325257465071297390713566820571954892327984870721190750307482873464718254979964734004012372101934371390999068177053370439427493587340316699118716631307525315017856754596300113677858673662798866207272607227612028398703454820254379969189896586033591308833634101991172338607662068865055873859929142760267475863346123136575377052163657303319257086865550846405964741027107513873482869485936003283311675486857993177354648494564605532644431999609215187742643424039343813348764296545536098729622865371813094696352266822138795175370566708058545853005454476672974111691547696353074811667410808224743399917327546744115389422041066411205193143455151204396609726010023059683175222951462127391096772150125739608661299338627030194392781628812460730973833670892506105014935733902224613506456301832497331051468034382974450191243619179570745383834138624565259607549557775120102185944162137450458742821512718373353337714339991939713625374190349699150944791274768451009277392508626393861835818217943061217342559031346015826673680555620834144814194731728880143061049652420442773219020191376397393674488603779858388232185304087475177905216024965336008317769704931426109744621740263314713407825565392156922175570018961005559959290757525786981587044615388694338379847142619107973170841277488350986302436112033033579608409477158807150349331306058640100910586379907615251476150966967505526842999980136772291270545604192877671941944238807238235360049541108046145808113270667006504461923577922096278284324334933008189554501759220380327644129521924114776017348410270024883806048318397665967729003436778341248577761274330692403439109376340746507485731713668840017436312611863799007177572073983293945127642642778865417741423225744901608520029376849202409460602063753507595989247355031131010705019593489414445240828496047917606053740997778249123140640407364268879701743572540469137644454596754090349669562522810343623696425673399227504721774088293369754171111505765180503815567676881072585546642810093822920646719697310963238143333167591695877331855739628586393423344747047360237763730518501841084269778285564728734220308222313199366355304700688057645517862541586021364804282325448906612202257307265404837675470866635695029748209326489244557439759547870211380566616265390202923783226512498461633157924670107023839736800383179338235099761045572926649615895060699831989996531671589408812029510782935439158819232526378784986581383563684616368211778693092886026508991206632688510604301137354635809008962726786203849857827064695142345420632093402969026147383143266985552336724704344862999590095267445210217159722109760583623271487421015953255404259105607714572637123273715619977454407972921545594425524059744166715621469172309707595530720699071062281561314722183149922338598899121322725194214750158553987292230743070415251158559981097240545064839819978786436936773126313914092327628494778877351704888845781829880973645686198922184777310311749068122814670263060005906353409263664598137806704730162972570795359954298549078745941599865293616442377432504569821038267275541782262779412344979915932273679968000754351119273108264903863092288223406092840879417160976170443734994502054412028276296050152175403906269589950671737602141681792429733731647539470682004196693232904395063270655563644858820048059875727373741267713587980438206001622423320136290712720669577390158821591011632117512534513826052182132410042148953503615400256170630388085123848351697585339606369762584500004 1259735611464423044746379236835558141271643272391395839056521844815308798438981999271033097752279348621599924955233520006205774349459165869723688636197121540153977278603672415325645496418779833572641250947469441448194823476635452453987934297537388418429752323009841248137261602373810438107175480491244371468005639623405064649115390132424906554792514616091152509079685218071865761067844007245385736667231821211631857318473129946037657672219771162641384356392952254877900358017895465750740546909800979349635241675749970402948197816458105871485715920875926452131932713577397494094280924619832296417516768932530051862142901456223932554763461858742570773948535199304144866485073045345637469700846083513805322683483658319225787458996355521886674906860485034125507844205603358175094066101138470678748157976051083893399629863894358923174647836468658865270679569081648930832077505164659890433720197201900598477117146598489772430378411169498033300533104474363206663143596114916956850140097902772282926063967073826593146043031914828223212535410521805375312348150622401313014709805481153674485268078963658147981248877897954470106364428268845071342492871852165281667674805862362187807019351286525479360725466564461523860501131432077163057565552949145001618101643047087325169493886080830652367070818142238255824340315476062910701161152626006491501374441180516963814749698987727528169637045290729422288569463188893821955057146563420493526277792623635085369907933655327761765444911445991327195115056412807594019726573384155298192423317870571428476517408072506950403758513252150659667089177322349901232141222099102918506338371737937956318446240780172882836522796447793808653312240079235261764268388358110247207714935013639623632043173613893355592096416003929070157243433239775067864421815369287306994638950000009989068391491722357362020128149575898338593295531294255286638502297712900552932123687656386115476515651787206899712099605170808796252791387378294692874223067225006891450655623292048741068129974263284414367932991282678166202372137983130445476538161902074389074654952853932599449725109706675119241153470766858079779044772275227158825194548031238270592262006762269375155753779964382146564046727560585384551870075958992800922927658902900282628560496754865059082771271660580567592645597213064136222575001968877229922923495008491797550327327751318332395580254355272457914015893430462207924479805726979746507045837186036068640666254631722924140627628044361395824228582283726212912568814227017091342996060227958032783329859926538289622456017419748229207131804681119901570320741246390914585734564692750599775760116313209971653620566804903379846053441969361406971566728619163567443109980069561472709126664989962608639291583789211018699970282705409360998630061011468187132075426581074305040035921808052016556309610764410304241496981306175329404881770585733148788455854866907785324501441184992474059239058015210817967532389726031243992152363960622204676108309907796208810367117974615087181882411948881274153351339292065936133607036458273248375678260164480888259830479963582328808468182141919248210901947163712045198189262974736430454892996153886642131858392157877158006664432506555776544450877448176996240627626802359967610159802028218715186280578987148076621710388582249383157600483298741311059449592821433283845694789688404406744526773585825056967841412852680995232549418251139131060335483196206748183416171104945706467545820032434780138157323155042234653268901835542153221988520016380485310797359244914740999076022070752398106953519185321865609612830214493306457160188505014826976238237672645778481940154199631078863361300194465328849681219433917735638024837286075683410084998150777719788779723455702359289584547538607745838418486777708667486481721438225047535795109799437316199358435824771061802833369854937866730247723777983693692253077332449773478877582397854423503062857546094474904535028627493162078631760788680296862747711656247 2038295036188068184347112342572385668047177669350927553183006994274182310545357222523298863217161967441360326234718645279918680525327777672107130994397643387607356959332565599628303245417717161572577694634460474139574701217367410084267819067272085420904434560191028497744207180713715575615276394009800459590156574725496916834710868892500779242050523525505039555823303561607062465263544952303897648457301325478174272830314829839300830952445522521963278859739574680774653715829092626454087872167266050647025955242570542357840525801328827062236023403749391170386912678311401506466382858991223295485693822302969479355730241772923051271394769384057588630703131499417822725158735844211844742308073695542204026138303912699194977355582389113195508540962476206464115506274468414048953995243898738154611504099187659270451793521197678180261513387315064830011706676595522413701563441167943202109207055195077953125611711204022416862378020384685775943957143818176555427440141651015686473005469715866979278330789212621768516609739973374076217989887194779487003895846975476124682120613705897074402595625707773537403289944309159663249819579473241681068502894911848456890626267989753284579169477026134140660064093594655916642129943892808136891236445455250016553835545271700831625795718578161703835105201116688447067959495046808294535299777191266099050932216300619149758911836438186270991149763664082760002909455128607447329247496262571438317552561074644362762416560049189597583662854507208669754146402428634267700282194218300112387155046750714489526169828515280169423949889649544334155692957180738133417445309574280823722363337073946274088151172206282627458263059762507216478877632236157437334287349363670206498472460800621210676658562308231735439239035111902240998520921590761370300533848402866915404116108807160338399697550362458272606508057191149814744262498799782129638482434485191823477727880534058057420754459025442259761640713216954604366062054384799154797800989321285175774990556300238295569889194643612058497454915397454183550782408008014251524856559568042118078091731195181177210999440399078558350529811513365565510758441115244595137806411830245448164335990056214502798396558829799887987272472462193904581246925161402261524991412410496271875915527885875764102364761075025808421141645130670189963572780218000370563330859277371499293899868220455976850177008445622127476538703774085904350153204954484468281134130555790239752172019812226739708304509116946942467038676106646859632266125190255234676163651923835364639069488512931712967203064779985992937650306522204171348606305975125134893956877892116955080460804370855489516162152826268184128378890875973609228873994024001242913976615764591220918453154234520048398839454000591585316235672908333144225142559473101345056745533604914041840419101146287116317355183691059920136557681138165325936553359994545178299238790306066604557027819969979055442802742631579029746225482612057752983358996649132808977245664543605217773093904178464945008947107091226694785444742261092083516750303443825585100382605027480478355097925173799488530577942725542519698322963116967449457294870689309067578166711773864096539831313703471583530724176673271398013623187155772526961326697864641528924881985178141053785179700309873270836460547136236675388343553713992469619430690061978348685514768474841343517653087499917384596336191730032700121395200081020104706021682118391525493727920173068521137808880038341133547420987753180041357999064808112948581942818565459231252397224538531183376508526640573436374229060967584645021957810130425580137128189259365946249346502576508870770163560292471958280522276364909063844183273845946011934074989461479589679674948822515321930461515885436090937124018220611942531651391172771938142045366297045095595670837173178583912946416262977063425256689991228579450917301168142515283264709449962307992703634579986833545211811049709875160705659015578285926983458374019903232510296156251 3298030647652491229093491579407943809318820941742323392239528839089491108984339221794331960969441316062960251189952165286124454874786943541830819630594764927761334237936238014953948741836496995145218945581929915587769524694002862538255753364809473839334186883200869745881468783087526013722451874501044831058162214348901981483826259024925685796843038141596192064902988779678928226331388959549283385124533146689806130148787959785338488624665293684604663216132526935652554073846988092204828419077067029996661196918320512760788723617786932933721739324625317622518845391888799000560663783611055591903210591235499531217873143229146983826158231242800159404651666698721967591643808889557482212008919779056009348821787571018420764814578744635082183447822961240589623350480071772224048061345037208833359662075238743163851423385092037103436161223783723695282386245677171344533640946332603092542927252396978551602728857802512189292756431554183809244490248292539762090583737765932643323145567618639262204394756286448361662652771888202299430525297716584862316243997597877437696830419187050748887863704671431685384538822207114133356184007742086752410995766764013738558301073852115472386188828312659620020789560159117440502631075324885299948801998404395018171937188318788156795289604658992356202176019258926702892299810522871205236460929817272590552306657481136113573661535425913799160786808954812182291478918317501269284304642825991931843830353698279448132324493704517359349107765953199996949261458841441861720008767602455410579578364621285918002687236587787119827708402901694993822782134503088034649586531673383742228701708811884230406597412986455510294785856210301025132189872315392699098555737721780453706187395814260834308701735922125091031335451115831311155764354830536438164955663772154222398755058807170327468089042084815634626636206767048153337558030094037416276984732198092376409851568190444172897270110812649159473740318387763400618853441763093847672024056546292067225646179592287036638019168906896472865387906680132349753154545991144697001394721470116507152746684049113776660724550105753677591683282280223645289803213390471753963000959861483718756597996818483877954150338794182034551319200022779289133117001120395062447919071313396554504476024640740823185136032735606376013787242343734326186147782186877600486254354285863296844227195971774309245757262800894585390554597204548112274633010681464214788179967741826308392838274443949663848932137161308338291267258390373072544834939417272326019159712151793397422399348439470002589659082199734222144782111203324072918927047221516049479691442584867554856220920684065461169782719631171563974432332845335016200440722643164810357086595834152693627579819224482657038131037789802604016205955613742505223772620484569532188820960185988346880455022954339132873664794455470224378054662444340655341435130580278327087694645172974389881529261154971529502041800646789847713757872338088996975511360609755013653353974451401426583461022153080032190829519040107968938796081553158019650357339902098833476060865191961366614928405137381817339046124867461767909224910280679494655484133664045498033059707927750738671689705861348741537388609179827174558074064603949523201954324667001496535041787206359768971460279297021347458170935718486058545944037012733780678880282883411632531209558163245750262179861085742441564177604582713695353944618332159235766357165314598273677144091278014227605354700070775913685578310908222276011267966643655101803931338581839716563194583783445924375584548711325834481182580152906510631570640344918886594288377764380773225584740249154649252103714492103037143883576559374392693864493279863747572099826747555273089759946973293041719241239341138450226708565759219688370069877950480605628527087735270143131465946972615900112304852087748125228090059846166446181165024946126208975517786782412081471581216977841257048274668595804350065240687643071448005615219162700200095258007812498 5336325683840559413440603921980329477365998611093250945422535833363673419529696444317630824186603283504320577424670810566043135400114721213937950624992408315368691197268803614582251987254214156717796640216390389727344225911370272622523572432081559260238621443391898243625675963801241589337728268510845290648318789074398898318537127917426465038893561667101231620726292341285990691594933911853181033581834472167980402979102789624639319577110816206567942075872101616427207789676080718658916291244333080643687152160891055118629249419115759995957762728374708792905758070200200507027046642602278887388904413538469010573603385002070035097553000626857748035354798198139790316802544733769326954316993474598213374960091483717615742170161133748277691988785437447053738856754540186273002056588935946987971166174426402434303216906289715283697674611098788525294092922272693758235204387500546294652134307592056504728340569006534606155134451938869585188447392110716317518023879416948329796151037334506241482725545499070130179262511861576375648515184911364349320139844573353562378951032892947823290459330379205222787828766516273796606003587215328433479498661675862195448927341841868756965358305338793760680853653753773357144761019217693436840038443859645034725772733590488988421085323237154060037281220375615149960259305569679499771760707008538689603238873781755263332573371864100070151936572618894942294388373446108716613552139088563370161382914772923810894741053753706956932770620460408666703407861270076129420290961820755522966733411372000407528857065103067289251658292551239327978475091683826168067031841247664565951065045885830504494748585192738137753048915972808241611067504551550136432843087085450660204659856614882044985360298230356826470574486227733552154285276421297808465489512175021137802871167614330665867786592447273907233144263958197968081820528893819545915467166683284199887579448724502230318024569838091419235381031604718004984915496147893002469825045867577243000636735892525332207908363550508531362842822077586533303936953999158948526251281038158625230838415244294953871723990504832235942213093793589210800561654505716349100807371691729166920933986874698380752546897623981922538591672484973193714363926281797323972910483723892826380391552526616587287500793810632184434928887474404516149720562404877971049585213563234796138127064192230286095934271246516712867093300978634016624786215635948683069314098297616548145010294256176403557236646278255280758305934497019932177101064607527560695323364075628762061468836952401715556862146979720215082432417725528244267533353196641184373648320476984509936681725054920950685944872457439748102811223721308625429314716667166053271063211598743914546032973459002705436970491790394189332441628522075649448915179957670877245566493790902388720874124100626249191019978146530144514612343582505981277988490574823505386933435479040994438557081124950584944844543278368877459983354950146749958870357258887822630599638995006644356554926331544977199776626131334663724240823814250103167107643345924418576443470219441844970026330311181305869624067593004287607547873397646944112779004353354565611226419701614835211521019564820325068112785853098572571697251759722050163281022531643025459923772384500822756639979606894618294631482854722733934287590726726250298310972945389981216724326638087093779832948585659826160513796312746395475339818413179340472378847432989799170872011451082748743163580109117047232999298661402317369267031451768050385874157147298947815591808321977107752093075351899270855411641120491155653528450475344466731416567023746719474931242825663520022267274784574995424405852924283456538047767125809759506174816209034862769434895795808363649702755226574541163832583979831630901721269123252543770572454032315238727136784145794484025251268350725188653346749837395025632082326114268724258782496232374389464284851557828090593486479645514225225946346658649733932598677536720103327768303968749 8634356331493050642534095501388273286684819552835574337662064672453164528514035666111962785156044599567280828614622975852167590274901664755768770255587173243130025435205041629536200729090711151863015585798320305315113750605373135160779325796891033099572808326592767989507144746888767603060180143011890121706481003423300879802363386942352150835736599808697423685629281120964918917926322871402464418706367618857786533127890749409977808201776109891172605292004628552079761863523068810863744710321400110640348349079211567879417973036902692929679502053000026415424603462088999507587710426213334479292115004773968541791476528231217018923711231869657907440006464896861757908446353623326809166325913253654222723781879054736036506984739878383359875436608398687643362207234611958497050117933973155821330828249665145598154640291381752387133835834882512220576479167949865102768845333833149387195061559989035056331069426809046795447890883493053394432937640403256079608607617182880973119296604953145503687120301785518491841915283749778675079040482627949211636383842171231000075781452079998572178323035050636908172367588723387929962187594957415185890494428439875934007228415693984229351547133651453380701643213912890797647392094542578736788840442264040052897709921909277145216374927896146416239457239634541852852559116092550705008221636825811280155545531262891376906234907290013869312723381573707124585867291763609985897856781914555302005213268471203259027065547458224316281878386413608663652669320111517991140299729423210933546311775993286325531544301690854409079366695452934321801257226186914202716618372921048308179766754697714734901345998179193648047834772183109266743257376866942835531398824807231113910847252429142879294062034152481917501909937343564863310049631251834246630445175947175360201626226421500993335875634532089541859780470725246121419378558987856962192451898881376576297431016914946403215294680650740578709121349992481405603768937910986850141849102413869310226282915484812368845927532457405004228230728757718883057091499990303645527646002508275132383585099293408730532448540610585913533896376073812856090364867896188103063808331553212885677531983693182258706697236418163957089910872507752482847480927402192386420829555037289380884867577167357410472636826546238560448716129818138842335868344591755571535839567849098092982354260164004595341691534047411298257647898183182128899419226317412897857494066039442856537848568700126067406168783439563619049573192887393004721936004024799886714483076227422159483868185391871718146521229179454437227214528928852317186460400418157233853339763061852064792902645738986411855727592088611312077243556566643641629755439310330863628149807432896608173612792683485362475101529580196793348647584135818154672687800442240409434387453976890735601329147054965382064684772602000368892667006026846636619423621155101832474628080652015384320086342279922114446886343925158725173741227288235746934381717868642836283953613446408070940015948484625009390606145171442632663036905367408122817464983248023252052504335411403211584954735448563123208670192460466055516772783678326438768263138017400063644286127629365573883210725426169066605501395032925747129771316363671573365235347198644521994965559590860591728100258903915965752802418573208792480231627739460030977191255828801613747933884801332844042012809671402267724691400895460090829284436745338576238736012747588072848016102729096976348518280179892960918577609569624593380534998095423152189805495729138664378786392105423032127677624063225105336594221273397666285099090820263353325704944788127492700515983074818169274370989276678032568289429483657849231912260405673507078274642956590135859194842769101405368943994567712991390541149739051319271791147073733149399099541767585381858602731118410384137556120438473313881436809683561471813247351060394933234300283014786470935866068535669347641761148241318575291187034301721181938213896699420303423026311781247 13970682015333610055974699423368602764050818163928825283084600505816837948043732110429593609342647883071601406039293786418210725675016385969706720880579581558498716632473845244118452716344925308580812226014710695042457976516743407783302898228972592359811429769984666233132820710690009192397908411522735412354799792497699778120900514859778615874630161475798655306355573462250909609521256783255645452288202091025766936106993539034617127778886926097740547367876730168506969653199149529522661001565733191284035501240102622998047222456018452925637264781374735208330361532289200014614757068815613366681019418312437552365079913233287054021264232496515655475361263095001548225248898357096136120642906728252436098741970538453652249154901012131637567425393836134697101063989152144770052174522909102809301994424091548032457857197671467670831510445981300745870572090222558861004049721333695681847195867581091561059409995815581401603025335431922979621385032513972397126631496599829302915447642287651745169845847284588622021177795611355050727555667539313560956523686744584562454732484972946395468782365429842130960196355239661726568191182172743619369993090115738129456155757535852986316905438990247141382496867666664154792153113760272173628878886123685087623482655499766133637460251133300476276738460010157002812818421662230204779982343834349969758784405044646640238808279154113939464659954192602066880255665209718702511408921003118672166596183244127069921806601211931273214649006874017330356077181381594120560590691243966456513045187365286733060401366793921698331024988004173649779732317870740370783650214168712874130831800583545239396094583371931785800883688155917508354324881418492971964241911892681774115507109044024924279422332382838743972484423571298415464334907673132055095934688122196498004497394035831659203662226979363449092924734683444089501199087881676508107919065564660776185010465639448633533319250488831997944502381597199410588684434058879852611674148281446553226919651377337701053835896007913535591073550835305416361028453989462594053897283546433757614423514537703684404172531115418149476109469867402066890926522401904452164615703244942052598465970567880639459244134042145879628502544992725676561844853683989710393740038761182207265259129693973997760137620356870744883645017292543358485588906996633542585424781412332889120481324356234881437625805293928011124741199161816145524205441953361580926808164337059404682858862956302470963405429717818899807879127384412936899037068632327447409806440303050921545337022344273433703383376159174652309646946654380561453993753614798418226988083538836574729584370793907362541672464546051060180054780287952267059070155977496916899213019031640522719645766142488067912072021370590982681089212657893804121602980399911286679953947767793124322203271155591631255704750748530513407279349609352617897412111729925337861561516131056378758643423404872699391730887203527602633724582238382496893252075127530658914553252441414715296570874816169986590382771302777296387277729181658225984572626593947670628947805630845056554981065759744429078294260053470343124320657075973382881042142370754629255512547330980409094731744990989391673614180886024319701468568123393623528516369730287547454889331975361414484740238510810584047433901427931526414519218466186281275502228774191594964658211439419937821845758257062093885205197208206486304624255158517916711114860180577872018888114180179725091681860289010008151576908231026910749802029547191202575679652876437612194378200427400139879770699415124376192005862393888821938627541295607820057121511811874212175447225900481689296638264061253027992695282407941305769960027531483266584449459165624998628629738564909769018646749794287532554373733718882950173512416196985693169671995799900620585739515264204868162807388789198502534783559520956497445329677174663657493082779247160860400150920093497438235247627886832800517133380960370915870812574236140406750794615749996 22605038346826660698508794924756876050735637716764399620746665178270002476557767776541556394498692482638882234653916762270378315949918050725475491136166754801628742067678886873654653445435636460443827811813031000357571727122116542944082224025863625459384238096577434222639965457578776795458088554534625534061280795921000657923263901802130766710366761284496078991984854583215828527447579654658109870994569709883553469234884288444594935980663035988913152659881358720586731516722218340386405711887133301924383850319314190877465195492921145855316766834374761623754964994378199522202467495028947845973134423086406094156556441464504072944975464366173562915367727991863306133695251980422945286968819981906658822523849593189688756139640890514997442862002234822340463271223764103267102292456882258630632822673756693630612497489053220057965346280863812966447051258172423963772895055166845069042257427570126617390479422624628197050916218924976374054322672917228476735239113782710276034744247240797248856966149070107113863093079361133725806596150167262772592907528915815562530513937052944967647105400480479039132563943963049656530378777130158805260487518555614063463384173229837215668452572641700522084140081579554952439545208302850910417719328387725140521192577409043278853835179029446892516195699644698855665377537754780909788203980660161249914329936307538017145043186444127808777383335766309191466122956973328688409265702917673974171809451715330328948872148670155589496527393287625994008746501493112111700890420667177390059356963358573058591945668484776107410391683457107971580989544057654573500268587089761182310598555281259974297440581551125433848718460339026775097582258285435807495640736699912888026354361473167803573484366535320661474394360914863278774384538924966301726379864069371858206123620457332652539537861511452990952705205408690210920577646869533470300370964446037352482441482554395036748613931139572576653623731589680816192453371969866702753523250695315863453202566862150069899763428465318539819304279593024299418119953979766239581543286054708889998008613831112414936621071726004063010005845941214922981291390298092555228424034798154938275997954261062898165941370460309836718413417500478159409325781086182096814569593798471588150126706861331408232774446903109305332361147110682200821457251588389114121264349261430982102835584520239476779317339341339309382389097344998274423624668270774478784302230376502261220707431656428538369574213157382518857452320271805941620973072657127334124289516530473081029205207736145151849904605338629089536861475583232878640454154032955652080327846600688639522487016532893774397400056634662372257298336854595908688825595287827780527362826464537130893258558825973430387173550950787776029736796793711958794290780842151696114341401744683859923532418210557013320389523350530882299946355636199254516835732885027170336189596783071763078729765684794813838617231128686327807465809526618243827633792996173495198506865887822786236586823300794995980988916474219929050314634549066348802037609841970922681452141042248268139935801208307552286964452513936398641093440754299821649305280388154692899798674960345982977942470417158458279115575918950066831239884487065196893751716928932069449854891566222006212840497414726549800236320001140318894750846205646312252693484602993208712592096240752781863858567928464361609896598103666577133908691903856492949850872928165944866904216909276701440200140468902969070154517800651504130337027642614354765485148605576276573164592532823172007448323478349481528600083667286488223726632115871173382826456600001704875963208975299858571009253337931060560984711891599155001872287937156773662724102122215134487824581334011174387590744362000523944914883457934269445303563270718842568771537567486002444342246382615252300363509227671816416220369204517969258577028235058590727383062261947331336016988629166785877008776128151375808320415262092097809026470935560710173820927531243 36575720362160270754483494348125478814786455880693224903831265684086840424601499886971150003841340365710483640693210548688589041624934436695182212016746336360127458700152732117773106161780561769024640037827741695400029703638859950727385122254836217819195667866562100455772786168268785987855996966057360946416080588418700436044164416661909382584996922760294734298340428045466738136968836437913755323282771800909320405341877827479212063759549962086653700027758088889093701169921367869909066713452866493208419351559416813875512417948939598780954031615749496832085326526667399536817224563844561212654153841398843646521636354697791126966239696862689218390728991086864854358944150337519081407611726710159094921265820131643341005294541902646635010287396070957037564335212916248037154466979791361439934817097848241663070354686724687728796856726845113712317623348394982824776944776500540750889453295151218178449889418440209598653941554356899353675707705431200873861870610382539578950191889528448994026811996354695735884270874972488776534151817706576333549431215660400124985246422025891363115887765910321170092760299202711383098569959302902424630480608671352192919539930765690201985358011631947663466636949246219107231698322063123084046598214511410228144675232908809412491295430162747368792934159654855858478195959417011114568186324494511219673114341352184657383851465598241748242043289958911258346378622183047390920674623920792646338405634959457398870678749882086862711176400161643324364823682874706232261481111911143846572402150723859791652347035278697805741416671461281621360721861928394944283918801258474056441430355864805213693535164923057219649602148494944283451907139703928779459882648592594662141861470517192727852906698918159405446878784486161694238719446598098356822314552191568356210621014493164311743200088490816440045629940092134300421776734751209978408290030010698128667451948193843670281933181628404574598126113186880226781137806028746555365197398976762416680122218239487770953599324473232075410377830428329715779148407969228833635440569601142647612432128368816099340793602841422212486115315808616989872217912699997007393039738043096990874463924828943537625185504502455716346915962493203835971170634770171807208309632559653795415385836555305405992912067259980050216006164403225559307046158585022656706689130673763871223316908876474358216943144635267320507130296506814419947830110224136059711110394713561665903566294612731009332979642875201418665331447656218878520010141289454781534095956833524002574542230080418585553287981497803741846508422237613440094447907647754070307315930139525214252071387326801136939072521180713432437353117142548175747895751265324697426575845496177653612904324968461498299245572321378758710826009451605762915893761242062982794295349512476984245735689366148644576094274099061395707225705245551872414247844614952508197751112914128141837373189089667513230348118332213930441190391765000740720885868123704154113060118329237501533157698116964982571371687776997225437592363730724574786610236435918593310399946673093324694916866968051981365258712567406741765414097830273204530347422758909322155311222291326392072674215408147849952729756804974386532708452610458820422268086659219616904744223541583420697580735925537133847670221429071845309270064671832593528195713377184803677250307680172719685704326185526455495101795311873063438532947062374409660965733108743816885792331089456426531882000757912977221731426031678414880139057189805557341164801482013888767542792960223311887219022893473857720605946061175310162354173411478993439947968411875917051410434875781547867647517399184088553679994299540460771832315468640040247173561287840133116454319898920943406237494156288056499288617176817219618815979467704535738443533367386623030081761646820120463170898016870318951003928725474466703906705409722248220465841509108191736167908722664224112256404014984176325453796222463013679839045171701116924615543281239 59180758708986931452992289272882354865522093597457624524577930862356842901159267663512706398340032848349365875347127310958967357574852487420657703152913091161756200767831618991427759607216198229468467849640772695757601430760976493671467346280699843278579905963139534678412751625847562783314085520591986480477361384339701093967428318464040149295363684044790813290325282628682566664416416092571865194277341510792873874576762115923806999740212998075566852687639447609680432686643586210295472425339999795132803201878731004752977613441860744636270798450124258455840291521045599059019692058873509058627288264485249740678192796162295199911215161228862781306096719078728160492639402317942026694580546692065753743789669724833029761434182793161632453149398305779378027606436680351304256759436673620070567639771604935293682852175777907786762203007708926678764674606567406788549839831667385819931710722721344795840368841064837795704857773281875727730030378348429350597109724165249854984936136769246242883778145424802849747363954333622502340747967873839106142338744576215687515760359078836330762993166390800209225324243165761039628948736433061229890968127226966256382924103995527417653810584273648185550777030825774059671243530365973994464317542899135368665867810317852691345130609192194261309129859299554714143573497171792024356390305154672469587444277659722674528894652042369557019426625725220449812501579156376079329940326838466620510215086674787727819550898552242452207703793449269318373570184367818343962371532578321236631759114082432850244292703763473913151808354918389592941711405986049517784187388348235238752028911146065187990975746474182653498320608833971058549489397989364586955523385292507550168215831990360531426391065453480066921273145401024973013103985523064658548694416260940214416744634950496964282737950002269430998335145500824511342354381620743448708660994456735481149893430748238707030547112767977151251749844776561042973591177998613258118720649672078280133324785101637840853362752938550615229682110021354015197268361948995073216983855655851537610440742199928514277414674567426275496121161749831912853509302998089562621463772841251929150461879090006435791126874962765553065329379993681995380496415856353904022879226358125383565512543416636814225686514163089355548367311513907760128503410173411770827953479935194853326152493396713834996260483976606629889519393851812694371454778494910538495412625090063927124273726269159547702553856032583937522783767928024820140983213946582115658385473363997083603747437816563737403192586836432831383369897820846318734902061680709722387643776740213853774558403859694911336472577815375804694651453997144084436721346553152477953938671960714784506162883794434928686419123272166534740562806245317721710184542084214678908636751257160844169268107576705657896483797449592278007172060881751126931083577499979678533940709697199904916102954774462327068965349460900258248656201291618984548519661119877649311566984217060287769744521417759978552360604251217154487906998279790923588647846277889515991852087715341592834852668176359533652223165081343140406507538584573026179652703147064015055109897251672375050616685825306308231845332723924453363948337097524017316019803588151686354599115107805426910421233340263683647906541430212164204020910877478905780889197980178012389842403920925501549562894113990817104998393415539640572441638966230902610816606036909761752696547998733127972082141226815946291885943832329919010476084832419912106649950087590165340707385493046483894667346371823339249206029728461798386080805527350166822774425011877621927373643851081406438656770737115149114664706191139615773704603405796813909897663410055267604278901232932117793828238518288580444203500634751489064119542738423378307215070934872625474424008029435372763534407244542135367224297929992435962483733644780838947848903771055523072184897351831009989265180143135552133774211484555111488865516107261827098436470812482 95756479071147202207475783621007833680308549478150849428409196546443683325760767550483856402181373214059849516040337859647556399199786924115839915169659427521883659467984351109200865768996759998493107887468514391157631134399836444398852468535536061097775573829701635134185537794116348771170082486649347426893441972758401530011592735125949531880360606805085547588665710674149304801385252530485620517560113311702194279918639943403019063499762960162220552715397536498774133856564954080204539138792866288341222553438147818628490031390800343417224830065873755287925618047712998595836916622718070271281442105884093387199829150860086326877454858091551999696825710165593014851583552655461108102192273402224848665055489856476370766728724695808267463436794376736415591941649596599341411226416464981510502456869453176956753206862502595515559059734554040391082297954962389613326784608167926570821164017872562974290258259505047394358799327638775081405738083779630224458980334547789433935128026297695236910590141779498585631634829306111278874899785580415439691769960236615812501006781104727693878880932301121379318084542368472422727518695735963654521448735898318449302464034761217619639168595905595849017413980071993166902941852429097078510915757410545596810543043226662103836426039354941630102064018954410572621769456588803138924576629649183689260558619011907331912746117640611305261469915684131708158880201339423470250614950759259266848620721634245126690229648434329314918880193610912642738393867242524576223852644489465083204161264806292641896639739042171718893225026379671214302433267914444462068106189606709295193459267010870401684510911397239873147922757328915342001396537693293366415406033885102212310077302507553259279297764371639472368151929887186667251823432121163015371008968452508570627365649443661276025938038493085871043965085592958811764131116371953427116951024467433609817345378942082377312480294396381725849875957963441269754728984027359813483918048648840696813447003341125611806962077411782690640059940449683730976416769918223906852424425256994185222872870568744613618208277408848487982236477558448902725727215698086570014503510884348920024925803918949973416312379465221269412245342486885831351667050626525711231188858917779178980898379971942220218598581423069405764373475917133319435549568758434427534642610608958724549469402273188193213203628611873950396649690358627114319284888719046598206523019803625593027840020881890557035533498907785356188115215584243698660993355236036897192481430197521086178289667896982322956480568334236573229878320058459758829349969328463792694959706879739068026629791186496048275545098996089237132004571139692260184617097818477175380514517456892438119067208762896426985664695593545293451388815696923484626078303326277661702932100769637828415003796942854302472578071548653673714397766127302999345331422114932186731691822611328046753476143864129840299313467793114188689846593056619725269405529243581803424627102546297789302902219534724961123732292028214379925499362010515498375258082713808109302252034388434917529769535144411515017481877648749882171921636414846230710000125905973337210421119542998767123290901233454158184575089528898839896656789707982837738287890247371303259343338649388847608001969265800817495576762859284009513290975549311499309084911357362816067092711601098221235267220299517272600100188727412704010974586028605312271782339145653578638488879088189554503964141984728923513617369864008333890615142022225469447814751569604054108250178453269795781886369265297196969811975789637108548434978938829160262722393423753538978784078726862954306304288136299237668344700490680076545536918874436854157071224697895400720733221131853061200065732674576636943492117811568708682935522206127914045658604302259248504505769676255493226705305261412454318228226655466902666390439054503087168314745280163714808352806074495234101521584158119728459228007707018125168704561278962944023052014093721 154937237780134133660468072893890188545830643075608473952987127408800526226920035213996562800521406062409215391387465170606523756774639411536497618322572518683639860235815970100628625376212958227961575737109287086915232565160812938070319814816235904376355479792841169812598289419963911554484168007241333907370803357098102623979021053589989681175724290849876360878990993302831871465801668623057485711837454822495068154495402059326826063239975958237787405403036984108454566543208540290500011564132866083474025755316878823381467644832661088053495628515998013743765909568758597654856608681591579329908730370369343127878021947022381526788670019320414781002922429244321175344222954973403134796772820094290602408845159581309400528162907488969899916586192682515793619548086276950645667985853138601581070096641058112250436059038280503302321262742262967069846972561529796401876624439835312390752874740593907770130627100569885190063657100920650809135768462128059575056090058713039288920064163066941479794368287204301435378998783639733781215647753454254545834108704812831500016767140183564024641874098691921588543408785534233462356467432169024884412416863125284705685388138756745037292979180179244034568191010897767226574185382795071072975233300309680965476410853544514795181556648547135891411193878253965286765342953760595163280966934803856158848002896671630006441640769682980862280896541409352157971381780495799549580555277597725887358835808309032854509780546986571767126583987060181961111964051610342920186224177067786319835920378888725492140932442805645632045033381298060807244144673900493979852293577954944533945488178156935589675486657871422526646243366162886400550885935682657953370929419177609762478293134497913790705688829825119539289425075288211640264927417644227673919703384713448785044110284394158240308675988495355302042300231093783323106485497992696875825612018924169090967238809690321084343027407164358877101625802740002312728320162025973071602638698320918976946771788442763452660324830350333305869742050471037746173685131867218980069408280912845722833313612768673127895622951976274763478357639308280815579236518696176132635967283725600849175387683008956409207439254427986822477574722480567826732163466482879615254068085275904562546410923388579034444285095586158761312740787431041079564052978931846198362596090544153577875621895669902028209464112588480580286169084210439808690739667213957136701935644893689520152113747151050104738087354940369293710898983512268518801976569182619012850866903561518169782037105713546060359673155170669404613248217879306077564252031009173515082603483619952921801188195046190959612017676811465041826656025136836344621338444371629653334453189417607222625230092557331355672083818865711828191951621942241206336262845410492340611568852026798672584271904519559960369061868998245951721569827009054126276414999614911865265632532308527951669579098638592167368278817254014446938502794348238709817925190363459452736194086763358077072646740952484939676092896279431534413406360290306421963905928991697625294104122103776510364622203320771048669705042730093022578429174999419256889652829053037352265531016794671142173907587058760466416420422252823293260605126805506855054307693835522989613942453757194274518423202606064501143483304289496173717311886426790405089974109337540828456935115522023722784830114413508089705098582142952344583416224994836214882598945182563340391185427086922682476046283211544869805503313696338252901091226854645381554464701657194219448957563946316279676553715637120536219018005518098906934515784466179327085496818435631160906157722577944360744961058873414386783009406681819692319241522280233668066968888107950668325012122364785178993893971192865217387695618446320197747055064944551292352873675237131873978929777705690865990239712505954589685452524585459338628874172699283926116163649051219237880537703426326244090786764301255280593002219191573236657570077386224771121488484906203 250693716851281335867943856514898022226139192553759323381396323955244209552680802764480419202702779276469064907427803030254080155974426335652337533492231946205523519703800321209829491145209718226454683624577801478072863699560649382469172283351771965474131053622542804946783827214080260325654250493890681334264245329856504153990613788715939213056084897654961908467656703976981176267186921153543106229397568134197262434414042002729845126739738918400007958118434520607228700399773494370704550702925732371815248308755026642009957676223461431470720458581871769031691527616471596250693525304309649601190172476253436515077851097882467853666124877411966780699748139409914190195806507628864242898965093496515451073900649437785771294891632184778167380022987059252209211489735873549987079212269603583091572553510511289207189265900783098817880322476817007460929270516492186015203409048003238961574038758466470744420885360074932584422456428559425890541506545907689799515070393260828722855192189364636716704958428983800021010633612945845060090547539034669985525878665049447312517773921288291718520755030993042967861493327902705885083986127904988538933865599023603154987852173517962656932147776084839883585604990969760393477127235224168151486149057720226562286953896771176899017982687902077521513257897208375859387112410349398302205543564453039848108561515683537338354386887323592167542366457093483866130261981835223019831170228356985154207456529943277981200010195420901082045464180671094603850357918852867496410076821557251403040081643695018134037572181847817350938258407677732021546577941814938441920399767561653829138947445167805991359997569268662399794166123491801742552282473375951319786335453062711974788370437005467049984986594196759011657577005175398307516750849765390689290712353165957355671475933837819516334614026988441173086265316686742134870616614364650302942563043391602700784584188632403461655507701560740602951501760703443582483049146053332885086556746969759673760218791783889064467286907762115996509801990920721477150101901785442886921832706169839908056186483337417741513831229385123251460594116866729718304963734394262702650470794609949769200313486927906382623751633893208091889820064967453658083830517109405326485256944193683741527309303360521254662883677009228167077114263348174398999602547690280625897238701153112302425091297943090221422667741200354530682818774569066923010024555933003734908458664697315113179953768032940661773620853848154649899014199096512217462969924418655910043348333759039255960326773610528383316153723504905977843126537937765836393602000337637307777563190499691989827817986232687007887562775807554278958660596276528604805955542190106828714967706874499660744297301320227782657748514459257121643340437639164690962341148736770002314500952796436500999275701462414262841639940546899625435967593136357125621746421729844051997324354919855998423055242502722007667592285047128635628349387404858435087330719607041256160821189309655866375548960487209900799825188307645914338905722300821920339164011705505734596356156492211427894391738465182563687186920378842904750350811414265487599652954959010689475952136337669909297198488292214624600995511781722133157261916513489692792595584082894292873285792406583122126425171871865318639060067148780183230602861976101904399059020694903644524027827123121944020097334713025362305198770870365048594390811023441527154381284328216919029674306175112236980010425196273793319120683560346586791706368876870851002279453226798273557207742399586075458440084902417733188829981307736015482950763405008487348219211859384699884941801304807315051265347009713624451354107172499768864778441154670522224040112805846069045745343496638240193959703867441854331187736257888906429990587150679206398532279539391122483435547381946359216945017767367044003680751240926241295264611753787013284478394331382952688890509500821478192308348459375009052230226898591361826274638665187715144540498999924 405630954631415469528411929408788210771969835629367797334383451364044735779600837978476982003224185338878280298815268200860603912749065747188835151814804464889163379939616291310458116521422676454416259361687088564988096264721462320539492098168007869850486533415383974759382116634044171880138418501132015241635048686954606777969634842305928894231809188504838269346647697279813047732988589776600591941235022956692330588909444062056671189979714876637795363521471504715683266942982034661204562267058598455289274064071905465391425321056122519524216087097869782775457437185230193905550133985901228931098902846622779642955873044904849380454794896732381561702670568654235365540029462602267377695737913590806053482745809019095171823054539673748067296609179741768002831037822150500632747198122742184672642650151569401457625324939063602120201585219079974530776243078021982417080033487838551352326913499060378514551512460644817774486113529480076699677275008035749374571160451973868011775256352431578196499326716188101456389632396585578841306195292488924531359987369862278812534541061471855743162629129684964556404902113436939347440453560074013423346282462148887860673240312274707694225126956264083918153796001867527620051312618019239224461382358029907527763364750315691694199539336449213412924451775462341146152455364109993465486510499256896006956564412355167344796027657006573029823262998502836024101643762331022569411725505954711041566292338252310835709790742407472849172048167731276564962321970463210416596300998625037722876002022583743626178504624653462982983291788975792828790722615715432421772693345516598363084435623324741581035484227140084926440409489654688143103168409058609273157264872240321737266663571503380840690675424021878550947002080463609947781678267409618363210415737879406140715586218231977756643290015483796475128565547780525457977102112357347178768175062315771791751822998322724545998535108725099480053127563443445895211369308079305956689195445290678650706990580226652517127611738112449302379544041391759223323787033652661866991240987082685630889500096106090869409454181361398014938951756175010533884200253090438835286438078335550618375701169936862791831190888321194914367394787448021484815993983592284941739325029469588304073720226749100289107168772595386928389855050779215478563655526622126824259834791697265880300713193612992249632131853788835110968987858779506731700764223146960871610394309591004633332067515183990766511708208788523943609913182608780736264946493601274922894215237320557425742363879324074443675826878675575382456374755817071913957854031346810822860166674119644911629006181278877967499580452619019320785316621413364949427293986561736482049420896292106883369527393877559138329832333324968949835292059581405897298603994147262342926069804823235173583547605981974223210701809545145577157537420145411251898161421344755917262956887228383950092634341141314175035871102301143082566852181753097144905255909970500708897015276073013943448195701439694840475918084587077448752312082591128342303069940697203359890460278595987938259013941785953612356891963108935927328779986413684744489305784012048041741483153132341051471106075350975091017415934034545426417867043318996547846903277918417282487228246163777396644848374477929819782543371438276356947914748402892309489033130032444472980962942645145666804927449126533452010297353013317393177807036018277742036980229510780259420859733262034919456056708407818663124623997256684839692797595731516232556744154883992493006165306345902355134993800539538269407847986825834922417466547871187814433716030295015860791099523882751675796226405883128011234363513854319461184019963434904190291009000913796737370757465861423419187853675060307071718883354704209104177045652095230498751405954776522996462365325087637225207184730273321633689133275826385579924138784453070939400642043382602190569428212927147722283095112760630289645232446090164598483844716051412486266028983906127 656324671482696805396355785923686232998109028183127120715779775319288945332281640742957401205926964615347345206243071231114684068723492082841172685307036411094686899643416612520287607666632394680870942986264890043060959964282111703008664381519779835324617587037926779706165943848124432205792668995022696575899294016811110931960248631021868107287894086159800177814304401256794224000175510930143698170632591090889593023323486064786516316719453795037803321639906025322911967342755529031909112969984330827104522372826932107401382997279583950994936545679741551807148964801701790156243659290210878532289075322876216158033724142787317234120919774144348342402418708064149555735835970231131620594703007087321504556646458456880943117946171858526234676632166801020212042527558024050619826410392345767764215203662080690664814590839846700938081907695896981991705513594514168432283442535841790313900952257526849258972397820719750358908569958039502590218781553943439174086230845234696734630448541796214913204285145171901477400266009531423901396742831523594516885866034911726125052314982760147461683384160678007524266395441339645232524439687979001962280148061172491015661092485792670351157274732348923801739400992837288013528439853243407375947531415750134090050318647086868593217522024351290934437709672670717005539567774459391767692054063709935855065125928038704683150414544330165197365629455596319890231905744166245589242895734311696195773748868195588816909800937828373931217512348402371168812679889316077913006377820182289125916083666278761760216076806501280333921550196653524850337300557530370863693093113078252192223383068492547572395481796408747326234575613146489885655450882434560592943600325303033712055034008508847890675662018218637562604579085639008255298429117175009052501128091045363496387062152069797272977904042472237648214830864467267592847718726721997481710738105707374492536407186955128007654042810285840083004629324146889477694418454132638841775752192260438324467209372010541581594898645874565298889346032312480700473888935438104753913073693252525538945686579443508610923285410746521266399545873041740252189163987484701537936908872945500387576014656864769174454942522214403006257214852415475142899824500701690268224581973663272045601029530109621543770052449604615095466969314127389877563258074312407450157073492850378182725804491556082471054799594989189641651806633348573654710788779079964606518852974288319746512021283216931428285329062636678593508927381705292953727916418019930832937563571079596681702690652934602826991980602180481360299501293754837750351456031684448130637729864619336901456824167511564975387143228426573599743977217689893554233249528751843310764388603166606544113824695197786920987580847784226071478632497220570588260945142884032345240570757619671674582823307444388486052341750092045202593505013281768377519907843074599969260281242148239948515689583644036182703463387348271718195201569157955579992586629577541965057836465382669809823744661926904741275743272894723363091217804891950262642233952402709094486816435088199366153405680251136176044078883487778832079130797827950232088958738971058731217435289470010960768304563643189715618411445816267559575128959832486240639498862001311575360514038570360518771273546349795138421603438587056540178517610378994213888092150727348117504990769768267610825024783839558814315496123883682441772197847041719269191361513838997178450534039437147156436067133604092456443744680817031426484503964608387083559023608110790766563373048745488430593433885441956002596677968133570937900417311276196301781935242154400560676041325187558990847491752892841635685717621026819230048798404589574712515049113719642806416502809358061659381813378927748926050071090962098010607036239245909705149938234315914118945800872469583584424129748040688677692814027067311821219403396206857952685120437713985143258318722427969200475403461220005298697462672988755960310119354716600201410569482906051 1061955626114112274924767715332474443770078863812494918050163226683333681111882478721434383209151149954225625505058339431975287981472557830030007837121840875983850279583032903830745724188055071135287202347951978608049056229003574023548156479687787705175104120453310754465548060482168604085931087496154711817534342703765717709929883473327797001519703274664638447160952098536607271733164100706744290111867614047581923612232930126843187506699168671675598685161377530038595234285737563693113675237042929282393796436898837572792808318335706470519152632777611334582606401986931984061793793276112107463387978169498995800989597187692166614575714670876729904105089276718384921275865432833398998290440920678127558039392267475976114941000711532274301973241346542788214873565380174551252573608515087952436857853813650092122439915778910303058283492914976956522481756672536150849363476023680341666227865756587227773523910281364568133394683487519579289896056561979188548657391297208564746405704894227793109703611861360002933789898406117002742702938124012519048245853404774004937586856044232003204846013290362972080671297554776584579964893248053015385626430523321378876334332798067378045382401688613007719893196994704815633579752471262646600408913773780041617813683397402560287417061360800504347362161448133058151692023138569385233178564562966831862021690340393872027946442201336738227188892454099155914333549506497268158654621240266407237340041206447899652619591680235846780389560516133647733775001859779288329602678818807326848792085688862505386394581431154743316904841985629317679128023173245803285465786458594850555307818691817289153430966023548832252674985102801178028758619291493169866100865197543355449321697580012228731366337442240516113551581166102618203080107384584627415711543828924769637102648370301775029621194057956034123343396412247793050824820839079344660478913168023146284288230185277852553652577919010939563057756887590335372905787762211944798464947637551116975174199952237194098722510383987014601268890073704239923797675969090766620904314680335211169835186675549599480332739592107919281338497629216750786073364240575140373223346951281051005951715826801631966286133410535597920624609639863496627715818484293975209963907003132860349674749756858721832877221222200002023856824364906605356126913600934534274416908284547644063026517685169074720686931448778024752620794492128080386411553002226925478129247283879324379844088798400922194797037271425202537118840564314073689992862911621205755831778808400154107445054532258677270667807480856056742755876049571909664309310063031258953497896538738981813085830348790442942886723681045592920529293839103258503660543515313579792813809499458713427483352089075346059317413181109195021313924556801976485559549137031294688166640562442906848166370913426362709263043559637190779751042433427179629418069264419355886523238129376623898608323924785350357739334489649414800762053750911052724897842539548042673954851741455683753271940363366599581751661357481800811843529887483078604945303893099912454377276713684187304412419622037089788400970846596714759407910784241634976578264522983106772958918442602352012239410638994164806635827379850812985992996003151482788486402139919728857847742284734137915416121920827724958204146810025332897126432358781886523377125280759792590485953712413413277629952232966092266325793476896999834950004883059997011228341743349777437871393772699182075892123842011911119568368678073716266177301560339903316115767762994783259569538355091390785728427685981494272004525954959405860317883859147384116215651272449416421467140849070310666643718158775969646920081134881138691232818368024478902806058114633439543787260275219485078569667053988055997768954445666307114784081891341140203901344189092437115408166197557220809631314478314010311381947302893697401143542180659928892085762481096587333827746935355116922758498573980635588342695119078920558793964070768012687676598466812178 1718280297596809080321123501256160676768187891995622038765943002002622626444164119464391784415078114569572970711301410663089972050196049912871180522428877287078537179226449516351033331854687465816158145334216868651110016193285685726556820861207567540499721707491237534171714004330293036291723756491177408393433636720576828641890132104349665108807597360824438624975256499793401495733339611636887988282500205138471516635556416191629703823418622466713402006801283555361507201628493092725022788207027260109498318809725769680194191315615290421514089178457352886389755366788633774218037452566322985995677053492375211959023321330479483848696634445021078246507507984782534477011701403064530618885143927765449062596038725932857058058946883390800536649873513343808426916092938198601872400018907433720201073057475730782787254506618757003996365400610873938514187270267050319281646918559522131980128818014114077032496308102084318492303253445559081880114838115922627722743622142443261481036153436024008022907897006531904411190164415648426644099680955536113565131719439685731062639171026992150666529397451040979604937692996116229812489332936032017347906578584493869891995425283860048396539676420961931521632597987542103647108192324506053976356445189530175707864002044489428880634583385151795281799871120803775157231590913028777000870618626676767717086816268432576711096856745666903424554521909695475804565455250663513747897516974578103433113790074643488469529392618064220711607072864536018902587681749095366242609056638989615974708169355141267146610658237656023650826392182282842529465323730776174149158879571673102747531201760309836725826447819957579578909560715947667914414070173927730459044465522846389161376731588521076622041999460459153676156160251741626458378536501759636468212671919970133133489710522371572302599098100428271771558227276715060643672539565801342142189651273730520776824637372232980561306620729296779646062386211737224850600206216344583640240699829811555299641409324247735680317409029861579900158236106016720624271564904528871374817388373587736708780873254993108091256025002854440547738043502258491038262528228059841911160255824226551393527730483666401140741075932750000926881824492278971770615642984995665478188488976796132395275779286968343376647273671804617119323793679033995233690171675246941724573981777398022245752322176725157191741731043767214394272601125476654041122341781306890084648100258167644126356110081617853623082366334061881130627767946019366643720779329641136588769342379479750789147745185193280097659788083036538103055377343326747414660766094715707084135626403358318714542654516302007918273866909472166520273271056793152057893793044065423103578198102625319971597176784273132980304994028893421092792557054022547073820494279915327033407211320062578522749194220870751195315385309729235982344547446708948006937977107493955855783519371524863847124013508429386540442797876997686518957255320069008304890429169125584639012688206838353563095685025293504323027404630376524174934747692375028867587537845502621548864093148772386670565825302288225964445049730084493591487041582069585208667223261954165504176353732072362973007715202637354522254238825667080545568124962983969029125901001921040433208256323304498434187395467177520096625750248612389437304949969160880737265217431487140707990944482181680888454977016805651080641289600780682276722202730101716280419703257188774616321927812136329232328190975616003576012113358890747692661805524948290399674791371105574026132911403836879216321861571423450274601203923092976798218301170423580417997586514603816982143182174257869657491209911668811282605798755907957921281616772614053615321107228353082350203763084577546737951480432915804923819025536628405125391118130587049909051282423408351234353967070026804394055444226354698989074761329961009222362945576866786844770882918810572477086065657783086123233902035200640887040157792067676519104083425484612889087167949718229 2780235923710921355245891216588635120538266755808116956816106228685956307556046598185826167624229264523798596216359750095065260031668607742901188359550718163062387458809482420181779056042742536951445347682168847259159072422289259750104977340895355245674825827944548288637262064812461640377654843987332120210967979424342546351820015577677462110327300635489077072136208598330008767466503712343632278394367819186053440247789346318472891330117791138389000691962661085400102435914230656418136463444070189391892115246624607252986999633950996892033241811234964220972361768775565758279831245842435093459065031661874207760012918518171650463272349115897808150612597261500919398287566835897929617175584848443576620635430993408833172999947594923074838623114859886596641789658318373153124973627422521672637930911289380874909694422397667307054648893525850895036669026939586470131010394583202473646356683770701304806020218383448886625697936933078661170010894677901816271401013439651826227441858330251801132611508867891907344980062821765429386802619079548632613377572844459736000226027071224153871375410741403951685608990550892814392454226184085032733533009107815248768329758081927426441922078109574939241525794982246919280687944795768700576765358963310217325677685441891989168051644745952299629162032568936833308923614051598162234049183189643599579108506608826448739043298947003641651743414363794631718899004757160781906552138214844510670453831281091388122148984298300067491996633380669666636362683608874654572211735457796942823500255044003772533005239668810766967731234167912160208593346904021977434624666030267953302839020452127125879257413843506411831584545818748845943172689465420900325145330720389744610698429168533305353408336902699669789707741417844244661458643886344263883924215748894902770592358892673347332220292158384305894901623688962853694497360404880686802668564441753667061112867557510833114959198648307719209120143099327560223505993978556528438705647467362672274815609276484929779039919413848594501427126179720960548069240873619637995721703053922947878616059930542707571588764594962359829076541131475241824335892468634982284383602775507602399479446310468033107027209343285598847506434132142468398331461469289640688152395979928992744950529043827065209524494894004619143180618043940600589817085276181475998990890061945666308778839861894231912428662492545239146893395617604734427533894783533815562777347542046968506200198880018775817879403605487083667746608510333440333713642241262342344601121187879904896592799717451957368327595563892594845811253392898657078970076157746966037633522942097300527628484865092450861160590590517759440802564895896410561554336559379002896392007602084033399080528873348479039622407210002616114106481610824523559380043416946621721573851882505485370915565134297113904578428869366426762095589880136127636356046371913311742306757500901487745732337433214736898182132366647101319719309070980061029788271708673627312967539948294037316367625388660103904779065987858324986778277579858107472532841738602534003241369862456573974978244924325315752846020576681208350894952366311220185245487784937272277135272174674714985247125841631519328890066205517893531561120966135451817612303141840769291055998608038636349603517388005245054829897058637722334431382327942767260642342712246933298476898194595094166084929249771743346967083077677682111672207613161713291648045000538552054193321584835511308220314817627914695580482036964463958839107085288193715790559134100357285702449758928270002050289257404944546605729878052382658536185029570964534213237787053233403610323023328180324134928070444780929525879890789096612514435140638532518127165342986521893991023359797031816521147486903860921587979982294712240175200021928190112952626612500788349762133267584025203686758704668709300456708632854706623506487757526715736856645399907159810913812593138203045992400609181276475382852911146597077898047496252625576763766416530407 4498516221307730435567014717844795797306454647803738995582049230688578934000210717650217952039307379093371566927661160758155232081864657655772368881979595450140924638035931936532812387897430002767603493016385715910269088615574945476661798202102922786174547535435785822808976069142754676669378600478509528604401616144919374993710147682027127219134897996313515697111465098123410263199843323980520266676868024324524956883345762510102595153536413605102402698763944640761609637542723749143159251651097449501390434056350376933181190949566287313547330989692317107362117135564199532497868698408758079454742085154249419719036239848651134311968983560918886397120105246283453875299268238962460236060728776209025683231469719341690231058894478313875375272988373230405068705751256571754997373646329955392839003968765111657696948929016424311051014294136724833550856297206636789412657313142724605626485501784815381838516526485533205118001190378637743050125732793824443994144635582095087708478011766275809155519405874423811756170227237413856030902300035084746178509292284145467062865198098216304537904808192444931290546683547009044204943559120117050081439587692309118660325183365787474838461754530536870763158392969789022927796137120274754553121804152840393033541687486381418048686228131104094910961903689740608466155204964626939234919801816320367296195322877259025450140155692670545076297936273490107523464460007824295654449655189422614103567621355734876591678376916364288203603706245205685538950365357970020814820792096786558798208424399145039679615897906466790618557626350195002738058670634798151583783545601941056050370222212436962605083861663463991410494106534696513857586759639348630784189796243236133772075160757054381975450336363158823465863901669585871119837180388103900352136887668865035904082069415044919634819390258812577666459850965677914338169899970682028944858215715484187837937504929743813676265819377604498855182529311064785074106200194901112078946347297174227574457018600732665459357328443710174401585362285737681172340805778148509370539091427510684587396933185535815662844789597816800376814584633733732862598420696694824195543858599734153793007176794134434247768285276035599774388258624421440168947104454285306166340884956725125140226308330795408586171768565809236262504411722974595823507256951428417723564871839343688554531162038619389104170393536312453541165996743081388468656236564840705647425447800214612632556308961636629440961769939548964798374376456352806977434421570903478933370463567359655685740544902645237465987383646929132948866630736225404493630842252462673121769149345455619242171139381394458779434457499989925961075835952689562619448129603444425999970205704709353370677705657621612019927401238896037206899038664847070633200537696861948754981063202568063893664759355167865099893814179095662744440137326845075643294023479407267598090276872426351592856350941644123438624930243644787838676564391049069334678700877799211951980228155132390879463310413953608227806470618234849161713025272233136340120379584105155552105463011228960645544070226613541717291070306765701942381993948380805393912711046891437781311625906747077958254841044268873851144305031184974077129245929119420846738204143761809724264254931343134783790912855182765151455647307250111771736332297103647997907560143734074006467842676776775054539906266577394427608372678458364388394410343263429572067748257727326670515249396971840540548505793243918271592595395855211651500912610236484115465350505205931311835361162765149218372150828828394821206933801145359456754486199994544952210824301657050385753505197586049981626137982113592212131678646697054533796051913252586133448272571339604244194786444374578554472627919819665845407005518923117365566318152515240022003909035909139584116100337610829597742202931023408289531469962815715845869433334393502581627528318717732287999878250921289169226302644381917362423010703214273597002130921737238465850934366248636 7278752145018651790812905934433430917844721403611855952398155459374535241556257315836044119663536643617170163144020910853220492113533265398673557241530313613203312096845414356714591443940172539719048840698554563169428161037864205226766775542998278031849373363380334111446238133955216317047033444465841648815369595569261921345530163259704589329462198631802592769247673696453419030666347036324152545071235843510578397131135108828575486483654204743491403390726605726161712073456954405561295715095167638893282549302974984186168190583517284205580572800927281328334478904339765290777699944251193172913807116816123627479049158366822784775241332676816694547732702507784373273586835074860389853236313624652602303866900712750523404058842073236950213896103233117001710495409574944908122347273752477065476934880054492532606643351414091618105663187662575728587525324146223259543667707725927079272842185555516686644536744868982091743699127311716404220136627471726260265545649021746913935919870096527610288130914742315719101150290059179285417704919114633378791886865128605203063091225169440458409280218933848882976155674097901858597397785304202082814972596800124367428654941447714901280383832640111810004684187952035942208484081916043455129887163116150610359219372928273407216737872877056394540123936258677441775078819016225101468968985005963966875303829486085474189183454639674186728041350637284739242363464764985077561001793404267124774021452636826264713827361214664355695600339625875352175313048966844675387032527554583501621708679443148812212621137575277557586288860518107162946652017538820129018408211632209009353209242664564088484341275506970403242078652353445359800759449104769531109335126963625878382773589925587687328858673265858493255571643087430115781295824274448164236061103417759938674674428307718266967039682417196883561361474654640768032667260375562715747526780157237854899050372487254646791225018025912218064302672410392345297612194173457640517651994764536899849272627877217595238397247857558768903012488465458641720410046651768147366260794481433632466012993116078523234433554192779160205891125765208974686934313165329806479927461375241756192486623104602467354795494619321198621894692756563908567278565923574946854493280936654117885176837374622473795696263459813855405685029766915196413324342227609893722555761901289354863310001900513621016599056028857692688059392360686122896190131348374521210202795342261581138756507841655405258841173545036048466120984966686247311148063812165821277971584755239560582333344620097194834314979210821727794677884129124061572600918410209639159402672287552919769799624246486909640595048090507685401878400848585973181002466162823428896362213306793386769758234530970091059549808448898653321005520275671594192580581113808570476554915085073549264580324489464979004472243048462089506535727206981203279650069851320579340397034373327839338588688374858860336807062610291889158395873462029130364466972586472839264947768103426428195830935802613712132585536606093174148491302852091243812653221322707689555346832873685534620522315150938857470137090883446910293276946314692025579158198831828710058446898081421792943501966885900393180034371236702867608690366895254872664350507285602579015320253539381771133394430243188010206285544365887834106167714625046415258549902855981007304944740871371869220624835516349137774575455756136046500066617956425142863715793258265878724708570981807351848768820610871832967173077432819675610340019695524677831255909639306288597537810921693419220422440086233339367812663679197742115290671229565509486424062088710283789363828220914230305761066052558373141657558537486151146310487053891118651575437914326126138185809804171610370993775406723526766994985501217829605741518174443430134956535648409927933878233605194854801428961635692117589988178595670422469375921091920218318484173718624892098913690844059492215218703253563193837805863614360870674900178417989864042614700782779043 11777268366326382226379920652278226715151176051415594947980204690063114175556468033486262071702844022710541730071682071611375724195397923054445926123509909063344236734881346293247403831837602542486652333714940279079697249653439150703428573745101200818023920898816119934255214203097970993716412044944351177419771211714181296339240310941731716548597096628116108466359138794576829293866190360304672811748103867835103354014480871338678081637190618348593806089490550366923321710999678154704454966746265088394672983359325361119349381533083571519127903790619598435696596039903964823275568642659951252368549201970373047198085398215473919087210316237735580944852807754067827148886103313822850089297042400861627987098370432092213635117736551550825589169091606347406779201160831516663119720920082432458315938848819604190303592280430515929156677481799300562138381621352860048956325020868651684899327687340332068483053271354515296861700317690354147270262360265550704259690284603842001644397881862803419443650320616739530857320517296593141448607219149718124970396157412750670125956423267656762947185027126293814266702357644910902802341344424319132896412184492433486088980124813502376118845587170648680767842580921824965136280219036318209683008967268991003392761060414654825265424101008160489451085839948418050241234023980852040703888786822284334171499152363344499639323610332344731804339286910774846765827924772809373215451448593689738877589073992561141305505738131028643899204045871081037714263414324814696201853319651370060419917103842293851892237035481744348204846486868302165684710688173618280602191757234150065403579464877001051089425137170434394652572758888141873658346208744118161893524923206862012154848750682642069304309009629017316721435544757015986901133004662552064588197991086624974578756497722763186601859072676009461227821325620318682370837160346244744692384995872722042736987877416998460467490837403516716919485201721457130371718394368358752596598342061711127423729646477950260697754576301268943304597850751196322892750852429916656736799885908944317053409926301614338897278343790595960582705710398942707549532733862024630675471319974975909985493799898736901602563779895356798396282951380985348736225670377860253020834165893379243025403145705417882381868032025623091668189441489889792236831599179038311446120633740633043417841163939133010120769449565170146229225389103767511364846367913215226857628243142476193771312816803292034699802943484585013264495361423039054288582485383069300211342048322599216268073889522742432300302362857750860743544514865349466066231760662672312281171821633008539011970763627881368420029505590497611362954236801275535800450595766267854896332419011502740140435940188591703079477209687794690527904558940518664825781118810670519231535978287641613158245083844632844104366057227557752250975864533826278922944093330727846938487311245754190931445039316502983775431992853936676997072437853078199699145673464272051216927996258558819075294246216567320360392007224328023310204328124324380152773600906812845107452295884914495266066385377552399187428161190212612235658940263072830973070909878720147839758523988168870901756807930169267031178676267887841685819612824374293511088711429364388739584508470724905917185343098370775357741191673137945877904046922150063256457462999715081311412583548148644275164741782926532202183828434594410888461028299688572435783541515993205395223820378779192389317326404115751238765672828674887261840932305761161946721260144512219909373172084458568438794590915061734189019597480343101572045157429560054438634886390367334175117333418500280287387204034671965353789237184183205680106538967143704785023710485665730382380596248546188925466403326543192612401991020140946971307836326958670156960444684319067517994333942805684399171164566715525879519648558486138315245354426313720900111702037342624386913569094980781384445005897945111200228874317575144271902309339727102508465635149027679 19056020511345034017192826586711657632995897455027450900378360149437649417112725349322306191366380666327711893215702982464596216308931188453119483365040222676547548831726760649961995275777775082205701174413494842249125410691303355930195349288099478849873294262196454045701452337053187310763445489410192826235140807283443217684770474201436305878059295259918701235606812491030248324532537396628825356819339711345681751145615980167253568120844823092085209480217156093085033784456632560265750681841432727287955532662300345305517572116600855724708476591546879764031074944243730114053268586911144425282356318786496674677134556582296703862451648914552275492585510261852200422472938388683239942533356025514230290965271144842737039176578624787775803065194839464408489696570406461571242068193834909523792873728874096722910235631844607547262340669461876290725906945499083308499992728594578764172169872895848755127590016223497388605399445002070551490398987737276964525235933625588915580317751959331029731781235359055249958470807355772426866312138264351503762283022541355873189047648437097221356465246060142697242858031742812761399739129728521215711384781292557853517635066261217277399229419810760490772526768873860907344764300952361664812896130385141613751980433342928232482161973885216883991209776207095492016312842997077142172857771828248301046802981849429973828507064972018918532380637548059586008191389537794450776453241997956863651610526629387406019333099345692999594804385496956389889576463291659371588885847205953562041625783285442664104858173057021905791135347386409328631362705712438409620599968866359074756788707541565139573766412677404797894651411241587233459105657848887693002860050170487890537622340608229756633167682894875809977007187844446102682428828937000228824259094504384913253430926030481453568898755093206344789182800274959450403504420721807460439911776029959897636038249904253107258715855429428934983787874131849475669330588541816393114250336826248027273002274355167855936151824158827712207610339216654964613160899081684804103060680390377949519422919417692862131711897983375120788596836164151682236467047027354437155398781350217666177980423003339368957359274514677997018177644137549257303504236301435199875327446830033360910579983080040356177564295485436947073874471256804988650155941406648205168676395641922398281151165839646631137368505594027838917284781464453634261036499261589748067831038484737774910069324644947439958644117029621061730616346389725301599730549195235121489313633077838776850407234142839627134617342068572588538222398994473527638832679072881951440574493920561458781770387874368278060624553681005296764832637649861508981453061929091283792694632318296126910194174719561794139027018136693343848910079216190259018361699924479089708090893372715162422825408334097823108838300276019841757511591740807482202594163182048426278884345619082030270033727691361844112239055464228566155468311315107330063612646050744890481875764361985247271125182019181032492977543830421197458695630976415623965426822229520534662799128758600029886588700528491256657565252073659522528935886577764856552229108710548857898205422069590663845258774816069660211213047504590709294509979719629166175439218714966967754904762010106677050579773341558785564026736039025779984071761547196478515007365855696088616357324419520513495789577299275669976759284190730457388527646256113715299499334774259084119932391360586544238086147014987584205938750261494562872180952001285839777977169783818508506910983006151987659217031001295073556832261159540843687335828659125563925058948479077617964481161639414510593148270087230338495446795721669356826417026021034823436599148399991856520566406052717799296460178733266719379396976521358776577049354501402100291916980332728995451872567548000539200600126202407643469507827154156560784621275518233939218595875755967516485827259939040273599663709151508305038034737931936014946802487757716966551080335931806722 30833288877671416243572747238989884348147073506443045848358564839500763592669193382808568263069224689038253623287385054075971940504329111507565409488550131739891785566608106943209399107615377624692353508128435121328822660344742506633623923033200679667897215161012573979956666540151158304479857534354544003654912018997624514024010785143168022426656391888034809701965951285607077618398727756933498168567443579180785105160096851505931649758035441440679015569707706460008355495456310714970205648587697815682628516021625706424866953649684427243836380382166478199727670984147694937328837229571095677650905520756869721875219954797770622949661965152287856437438318015920027571359041702506090031830398426375858278063641576934950674294315176338601392234286445811815268897731237978234361789113917341982108812577693700913213827912275123476419018151261176852864288566851943357456317749463230449071497560236180823610643287578012685467099762692424698760661348002827668784926218229430917224715633822134449175431555975794780815791324652365568314919357414069628732679179954106543315004071704753984303650273186436511509560389387723664202080474152840348607796965784991339606615191074719653518075006981409171540369349795685872481044519988679874495905097654132617144741493757583057747586074893377373442295616155513542257546866977929182876746558650532635218302134212774473467830675304363650336719924458834432774019314310603823991904690591646602529199600621948547324838837476721643494008431368037427603839877616474067790739166857323622461542887127736515997095208538766253995981834254711494316073393886056690222791726100509140160368172418566190663191549847839192547224170129729107117451866593005854896384973377349902692471091290871825937476692523893126698442732601462089583561833599552293412457085591009887832187423753244640170757827769215806017004125895278132774341581068052205132296771902681940373026127321251567726206692832945651903273075853306606041048982910175145710848678887959154696731920833118116633906400460096655512208189967851287505911751511601460839860566299322266572832845719307201028990241773971081371302546563094389785999780889379067830870101325193576163474222902076270559923054410034795414460595518534606039729906679295452896161612723412603935983128785458238559432327511060038742063912746694780886987540585686516614797029382555441698992329778779641258137955159197985146510170568221145625882867174804974925459281627213968681382141448239474658447060514206074995111707812764355888313034578304421700655681400437993118481123665582059434919704926323449281766913859822993705064439735554263721746315553569997793741151502249646480654059271502908127786874451137044781903657695359138689027051329798867050630114908153497218504227824488034376814638156708923844142818735149608939626871660356775581070492178730667213204357503577594008487456274633761125538256512776273217371656864836221201478767007864827887671048318165243152540749168185529762758319515016941698803760620544066346419428235748352853369551054749220768899959100740004118200423136333379770251424643514525152655085906043655844993413263872134764594826840837687525300018589269005737963946057759534747015582746238927242391723772478550980329592544003459686527930144331356494489270480831582967765116439929560921767927712163725861975808469346541771464828855411169927769907967669157770954319082202202178943112625324868276988674555802287735282876290252289515156211739365736627403473419103335444704423090169450134021884307047001724698429928330728416284155090610556098011621916356807745851858639883945259380986088685618363693834869444952139598495057914790880535474121902303849236032905852562506523564988178528221622858885657586902947002301263988221926582059809911991798967541499723548357190828360770448877425017048062969866901490806223599771290769123169349027475712642699099866629944547660118707577793310140872740829034021054984108715049453416238263612249511159218704797097444069059545971080834401 49889309389016450260765573825701541981142970961470496748736924988938413009781918732130874454435605355365965516503088036540568156813260299960684892853590354416439334398334867593171394383393152706898054682541929963577948071036045862563819272321300158517770509423209028025658118877204345615243303023764736829890052826281067731708781259344604328304715687147953510937572763776637325942931265153562323525386783290526466856305712831673185217878880264532764225049924862553093389279912943275235956330429130542970584048683926051730384525766285282968544856973713357963758745928391425051382105816482240102933261839543366396552354511380067326812113614066840131930023828277772227993831980091189329974363754451890088569028912721777687713470893801126377195299481285276223758594301644439805603857307752251505901686306567797636124063544119731023681358820723053143590195512351026665956310478057809213243667433132029578738233303801510074072499207694495250251060335740104633310162151855019832805033385781465478907212791334850030774262132008137995181231495678421132494962202495462416504051720141851205660115519246579208752418421130536425601819603881361564319181747077549193124250257335936930917304426792169662312896118669546779825808820941041539308801228039274230896721927100511290229748048778594257433505392362609034273859709975006325049604330478780936265105116062204447296337740276382568869100562006894018782210703848398274768357932589603466180810127251335953344171936822414643088812816864993817493416340908133439379625014063277184503168670413179180101953381595788159787117181641120822947436099598495099843391694966868214917156879960131330236957962525243990441875581371316340576557524441893547899245023547837793230093431899101582570644375418768936675449920445908192265990662536552522236716180095394801085618349783726093739656582862422150806186926170237583177846001789859665572208547932641838009064377225504674984922548262374586887060949985156081710379571451991538825099015714207181969734195188285972570058224618924367719818529184506252119072650593286264942921246689700216092255765137000063160702139757346202159899382727246072022466827916733504986268882675411242341454645905415639517282328924712792432638239656083863343234142980730652771489059553445964846563111865498594736996622996496985815938384003499769537143481992334721783473425024477839980143495618426272395506460753225824063794952032674779886919366436394722993290320111951743591451466093186914617091177543827136725728054202489657488043583773539543189969314478276769968888357808421686569537046994896037819989312854296521343897118808436215162320809474131456575511539376617924541278612952508204892619512100998553763356719624450422481721683648094993960824289627715291357531245961181378225724717372899182862504518659628698647717765033071938003895900512828490322042657779597435765999048015441243328132419694824699496256002483918251471512494699226671999910103782393809308009060483292859826370965565761832180679524982529313617544610254929385346347094885170418227595590077155628083627245365853914433050553402114555039243786434534912502558665337531657293530713418602544077529127299817863636169368127350198592274357562308587453604771277069260274839572263632625861967148859298324249394032490938260018344889781488346485794663751189505846047570016543020286472194711107258544127232387189671266743896381477872155702396816055325665516320811916003034782211064511373635088603099952280865489620434090919650643173351664013006202836308332841502675599712149236923195138096762543757228652917651881302684119799424788946716814747811182288752783348522570104079656697329301473683744209132642344682828627521919332940591009213351658222007285649443423513408353981787518386760793076631371195944062858500125406545329762870740794405349777058421739469038806762800371416971530812818535302866799259884487905462781599337303453549277657358568088973061328583772424200961721276298350181447174165507284855161035610626307012641123 80722598266687866504338321064691426329290044467913542597095489828439176602451112114939442717504830044404219139790473090616540097317589411468250302342140486156331119964942974536380793491008530331590408190670365084906770731380788369197443195354500838185667724584221602005614785417355503919723160558119280833544964845278692245732792044487772350731372079035988320639538715062244403561329992910495821693954226869707251961465809683179116867636915705973443240619632569013101744775369253990206161979016828358653212564705551758155251479415969710212381237355879836163486416912539119988710943046053335780584167360300236118427574466177837949761775579219127988367462146293692255565191021793695420006194152878265946847092554298712638387765208977464978587533767731088039027492032882418039965646421669593488010498884261498549337891456394854500100376971984229996454484079202970023412628227521039662315164993368210402348876591379522759539598970386919949011721683742932302095088370084450750029749019603599928082644347310644811590053456660503563496150853092490761227641382449568959819055791846605189963765792433015720261978810518260089803900078034201912926978712862540532730865448410656584435379433773578833853265468465232652306853340929721413804706325693406848041463420858094347977334123671971630875801008518122576531406576952935507926350889129313571483407250274978920764168415580746219205820486465728451556230018159002098760262623181250068710009727873284500669010774299136286582821248233031245097256218524607507170364180920600806964711557540915696099048590134554413783099015895832317263509493484551790066183421067377355077525052378697520900149512373083182989099751501045447694009391034899402795629996925187695922564523189973408508121067942662063373892653047370281849552496136104815649173265686404688917805773536970733910414410631637956823191052065515715952187582857911870704505319835323778382090504546756242711129241095320238790334025838462687751428554362166684535947694602166336666466116021404089203964625079021023232026719152357539624984402104887725782781812989022482665088610856307264189692381531317283531201929290340461808466608806112572817138984000604818504928868807491910077205383334747587847098835174618469382964049660026105667650672276858568782546240650956833296428950507557024558002296750194550424131022578021238398270454407033281679135825397205913653644415912423809210305122600895925512802233611199697918749601739165712272833607541426389275538238058033211720839762015254013376356618351843964890624995878714763087369481474003746004456751921219487101756226714119515048961558543990478884067125027701454369252690878867571021932672224011113020406386552135598545260377319809561170748734977893861011454404535868788576035473785669412602539355529608106706647337394778307587344636693428713584966392691559157535247015283175029774486504290075004453670676207600972713627659348754472672991261707091499887581152100559052460549809651478389589129285080778773879483285603073379963964038490677738199716645939919638996495549177895632201827668502187294203301978045629080191898872340578568347552078601403792058125540259440231602829145889086869374133314185109733339289940308547514695996495049547811255169164807636085548495079003629680743883302971769842986110006221417907407562591463353231708023378485889562057937023566518428471897140354858829037698215463680074334645509441380193942504995367718290770065087354763663150244814839318017492893093853194255095347596441833463140224720615379843227374029640479965339479293187373099855240274834008689048535978439308734206097800836496800652446618217967522243678151755244092354219218331034946193918861533374481839464155997391879879844866171307030326460410655245775740313342852886543362994911604358223673763736158123641189671830366825121391606370529612986400142707740653982167562778579441958984354535407329259456011031342587798231308918007082383567881139250415137514561962430958333384212081952605104670172278093475524 130611907655704316765103894890392968310433015429384039345832414817377589612233030847070317171940435399770184656293561127157108254130849711428935195195730840572770454363277842129552187874401683038488462873212295048484718802416834231761262467675800996703438234007430630031272904294559849534966463581884017663435017671559759977441573303832376679036087766183941831577111478838881729504261258064058145219341010160233718817771522514852302085515795970506207465669557431566195134055282197265442118309445958901623796613389477809885636005182254993180926094329593194127245162840930545040093048862535575883517429199843602514979928977557905276573889193285968120297485974571464483559023001884884749980557907330156035416121467020490326101236102778591355782833249016364262786086334526857845569503729421844993912185190829296185461955000514585523781735792707283140044679591553996689368938705578848875558832426500239981087109895181032833612098178081415199262782019483036935405250521939470582834782405385065406989857138645494842364315588668641558677382348770911893722603584945031376323107511988456395623881311679594929014397231648796515405719681915563477246160459940089725855115705746593515352683860565748496166161587134779432132662161870762953113507553732681078938185347958605638207082172450565888309306400880731610805266286927941832975955219608094507748512366337183368060506155857128788074921048472622470338440722007400373528620555770853534890819855124620454013182711121550929671634065098025062590672559432740946549989194983877991467880227954094876201001971730342573570216197536953140210945593083046889909575116034245569994681932338828851137107474898327173430975332872361788270566915476792950694875020473025489152657955089074991078765443361431000049342573493278474115543158672657337885889445781799490003424123320696827650070993494060107629377978235753299130033584647771536276713867767965616391154881772260917696051789357694825677394975823618769461808125814158223361046710316373518636200311209690061774022849697945390951845248336863791744057052698173990725703059678722698757344375993307327350394521288663485691101312017586533830933436722846077803407866676016060846383514712907549594487712259460380279737074830702332726198192640756758439139731830304533629109352516455428033425573504054010373940680753694319961274504570355960181743879431511121659279321015632186049150876665649633274100074633570705399721600047594420912039921851117455864285073634613303892629415601860348446567816217743670864400202125383508080594310356991533056257839282425432573993798916115524921745539568416036392858677352426694046387934501832910944764230255485495563211285176519317913025898653134152308617096944259983652470418625988854972278694163584079933566719746850790828264072902507289569151856054407006235062401726500651588862293204387647857289673062772465540485552305516247781803095902425672209883661832672724144503756406318171887491255882952861768558870134771249415500250646540606060162810585602693581508648745607123546063740825090057224091139255051260285454913868041208636352531447743635231142658775113480850110743938935449351656253678042775680358273188904733010302682312459931931564297870856102149601266326617071530008737071268711410462227862928004993277335462708103004454896002906253893357255214542737554070948502432582344409218277625687016024372742048500304442111845157946490347906257435519608021316179634293804847298419275036785333417939270298358382714287285174745990769793497476146427556923712684730049629352629202262674431284135643612468927751660570351220098238733523152814615584307982941199401566490092347757808452573393827902962540167588538601690160896401172404747006605231538066873456956473749973819009227563258700103645963174734190855667216723799170281487886511930466235716602179813345839568419749200514124712184794986098081446241218868842440870110858793314484891865455589877006980143712151653563451376858790860312612405507549719366807766140280798585106116647 211334505922392183269442215955084394639723059897297581942927904645816766214684142962009759889445265444174403796084034217773648351448439122897185497537871326729101574328220816665932981365410213370078871063882660133391489533797622600958705663030301834889105958591652232036887689711915353454689624140003298496979982516838452223174365348320149029767459845219930152216650193901126133065591250974553966913295237029940970779237332198031418953152711676479650706289190000579296878830651451255648280288462787260277009178095029568040887484598224703393307331685473030290731579753469665028803991908588911664101596560143838633407503443735743226335664772505096108664948120865156739124214023678580169986752060208421982263214021319202964489001311756056334370367016747452301813578367409275885535150151091438481922684075090794734799846456909440023882112764691513136499163670756966712781566933099888537873997419868450383435986486560555593151697148468335148274503703225969237500338892023921332864531424988665335072501485956139653954369045329145122173533201863402654950244967394600336142163303835061585587647104112610649276376042167056605209619759949765390173139172802630258585981154157250099788063294339327330019427055600012084439515502800484366918213879426087926979648768816699986184416296122537519185107409398854187336672863880877340902306108737408079231919616612162288824674571437875007280741534938350921894670740166402472288883178952103603600829582997904954682193485420687216254455313331056307687928777957348453720353375904478798432591785495010572300050561864896987353315213432785457474455086567598679975758537101622925072206984717526372037256987271410356420075084373407235964576306511692353490505017398213185075222478279048399586886511304093063423235226540648755965095654808762153535062711468204178921229896857667561560485404125698064452569030301269015082221167505683406981219187603289394773245386319017160407181030453015064467729001662081457213236680176324907896994404918539855302666427231094150977987474776966414183871967489221331369041454803061716508484872667745181422432986849614591540086902819980769222303241307926995639400045528958650620546850676620879351312383520399459671693095594207968126835910005320802109162242300782864106790404107163102411655593167412261329854524011611034931942977503888870385405527148377198580014333838544403338415146412838099702795292578073442484405197234466630912523833658794118830789523590283168137118681176039693168167653659893560167407578232997684240756820477227472971219306235706296143627320756429178578450550837335012023501766282535551441820235896417172930455059529534365314016921134353066585143957400530430933432285205269750853877474264069544823219153603882715983733098699452868509602193532520203430803428432115396275799193449185313822407038419929365173828685895946805392536688345947495314972056595591252235473772110026644923511321181427196817495018113409671775072407983511914229108679786249639004629535727319379939646096188676073545472687236284861745780386765009696220586688432946892487282582370228502839654509493372715423041531115692049197662822540339241409781793937483007283187419077991602384435996497569665270854238179403616845597761376164882785177901878904796958957306866557685737160638434477945990564902224324161300919846677895969262094326988322144402346241844144115487921513096907329342140327308838020824993415698815713550526311547352584574912385774038699935578232778588315851275808140479429841338366235330939286652277539092527957423658993109167602153724471508743467709202585669259399756076678042257358912416420804783593646019784457614591435960207817486182122180871202534732520551694270883011868903003997111417911739628263504076434229664473338999013446498849718097185767271574947472934017646010153120138066083427301204952210098032735600656832452838777153660860025683177853196976277440118249325516234453253821185924987226095719534702701791996305422275043363840933931448760371244950970863199592171 341946413578096500034546110845477362950156075326681621288760319463194355826917173809080077061385700843944588452377595344930756605579288834326120692733602167301872028691498658795485169239811896408567333937094955181876208336214456832719968130706102831592544192599082862068160594006475202989656087721887316160415000188398212200615938652152525708803547611403871983793761672740007862569852509038612112132636247190174689597008854712883721038668507646985858171958747432145492012885933648521090398597908746161900805791484507377926523489780479696574233426015066224417976742594400210068897040771124487547619025759987441148387432421293648502909553965791064228962434095436621222683237025563464919967309967538578017679335488339693290590237414534647690153200265763816564599664701936133731104653880513283475834869265920090920261801457424025547663848557398796276543843262310963402150505638678737413432829846368690364523096381741588426763795326549750347537285722709006172905589413963391915699313830373730742062358624601634496318684633997786680850915550634314548672848552339631712465270815823517981211528415792205578290773273815853120615339441865328867419299632742719984441096859903843615140747154905075826185588642734791516572177664671247320031721433158769005917834116775305624391498468573103407494413810279585798141939150808819173878261328345502586980431982949345656885180727295003795355662583410973392233111462173802845817503734722957138491649438122525408695376196542238145926089378429081370278601337390089400270342570888356789900472013449105448501052533595239560923531410969738597685400679650645569885333653135868495066888917056355223174364462169737529851050417245769024235143221988485304185380037871238674227880433368123390665651954665524063472577800033927230080638813481419491420952157250003668924654020178364389210556397619758172081947008537022314212254752153454943257933055371255011164400268091278078103232819810709890145123977485700226675044805990483131258041115234913373938866738440784212752010324474911805135717215826085123113098507501235707234187932346467880179777362842921918890481424108644254913404553325513529470333482251804728423954717352636940197695898233307009266180807853668348406572984836023134835360434941539622545930135937467636040764945683867689363280097515665045305883658257583190346680031718733158761758213270055524997694467428470285751946169243723075758505271868037336312245433706388539742829445441400624001403754810652997060797069261753908613975394450741355105157022602610981051813616592697829199885160038854611152444349753450536945247305850951587834678913248843866976842994031367276258781151389838562148355242577049748846458183858403903162494571208329528475689572229871570956011792863036948443168913279370994259067501334622685844951049503592320057469440146430016762690979100334453249826361408719960855457608901107500017276868012452317133394983014099920961998774519727843662563663866464775997667549921020888420129786373859985999808906774278767126981335981891985291844127590099753444677827687998152772737496238269711476007040941116350654184189890805530047773566479274690761438047615525782963545692266896335394738678810029597202418536050259718995199027702781954315186638950173508369419534729485690730437973897186048995019798227230415194277101892438706816165275490754726746755460121769802503945885838955829646582439153995967315341321956251233158547627726986878379759684193313736720911650717858614209658522427764604587329136028828415433079834462805212687473288345738369864828155755644387080178130337329829750976174916775780511727032005112766534845421350947706939193768660390880010025143411370123271122241855167284184273650010602342955978613085219977826408048673700902257713550144812892831376622938791671272104299133896665050604301800029481018298049666452484801170957165023572139758941471924396722039417147550977042640001126318709411062931967369807871188266153168855096282587655769348483650815568137385231769448305708818 553280919500488683303988326800561757589879135223979203231688224109011122041601316771089836950830966288118992248461629562704404957027727957223306190271473494030973603019719475461418150605222109778646205000977615315267697870012079433678673793736404666481650151190735094105048283718390556444345711861890614657394982705236664423790304000472674738571007456623802136010411866641133995635443760013166079045931484220115660376246186910915139991821219323465508878247937432724788891716585099776738678886371533422177814969579536945967410974378704399967540757700539254708708322347869875097701032679713399211720622320131279781794935865029391729245218738296160337627382216301777961807451049242045089954062027746999999942549509658896255079238726290704024523567282511268866413243069345409616639804031604721957757553341010885655061647914333465571545961322090309413043006933067930114932072571778625951306827266237140747959082868302144019915492475018085495811789425934975410405928305987313248563845255362396077134860110557774150273053679326931803024448752497717203623093519734232048607434119658579566799175519904816227567149315982909725824959201815094257592438805545350243027078014061093714928810449244403156205015698334803601011693167471731686949935312584856932897482885592005610575914764695640926679521219678439985478612014689696514780567437082910666212351599561507945709855298732878802636404118349324314127782202340205318106386913675060742092479021120430363377569681962925362180544691760137677966530115347437853990695946792835588333063798944116020801103095460136548276846624402524055159855766218244249861092190237491420139095901773881595211621449441147886271125501619176260199719528500177657675885055269451859303102911647171790252538465969617126895813026574575986045734468290181644956014868718207847845883917036031950771041801745456236534516038838291329294475919659138350239152242974544405937645654410295238510413850263724954612852979147781683888281486166808039155035520153453229241533165671878363729997799251878219319589183315306454482139962304297423742672805014213061602210349692536510430568326928625024135707794633440525109733527780763379044501568029257819549008281753706468937873903447876316533408894841343936944522677242322486652720540044630738452420538851279950693134621527276080237826635761472060732085558867110357341772547108599928336109613841308385454741461821796518242910469102503967224769267365182658573618969031683792138522435986692690228964722921647468781382972683739039345913843079838454023032922828404125343512480795283789730894900590785548968749072133487139276499149145261039907298053560901641572798072524191628733499199977580179779890469063673654016372045472399073298908725833754286939744891562489816952771106811891197689870929766738082120750242952777633879876478566359381936519664996281258642363049754667456170429665496698752252750640122478962056906304195527117779493792633137515437636071849976690226776229707270527424759322101179365939455002962954840672454023218176847037624514355109449665264516120945045260020078608498214315661550434489066077225721006497579245436389019613932171219841553008790246733111344887937779174675307599262473272774229663335840796789078946837100364540829078305328376841596043376467598612331663994985584700451554576495196948570334676078259602479076871149101701965913917991867398935863158988722766462833988140334737655066946709073939274339462954672069967352436656489883496446930060934330568244034428667502264159354719732112001897740644896947338847537466981880227153130547887332922999089150732251594818037870639448425917550128491441135405321530629728868208366192147324282572658003642793549438167196142553014599454373890352713483481902842278338174241256726996643662610928562390210366618745038316779906818170742367883456782223250259764485220401827789617862349293419801497607574575236393424991095291965517360771963232248856954595903590722968854960851401704862699133189417582264328508630182740311505300989 895227333078585183338534437646039120540035210550660824520448543572205477868518490580169914012216667132063580700839224907635161562607016791549426883005075661332845631711218134256903319845034006187213538938072570497143906206226536266398641924442507498074194343789817956173208877724865759434001799583777930817809982893634876624406242652625200447374555068027674119804173539381141858205296269051778191178567731410290349973255041623798861030489726970451367050206684864870280904602518748297829077484280279584078620761064044323893934464159184096541774183715605479126685064942270085166598073450837886759339648080118720930182368286323040232154772704087224566589816311738399184490688074805510009921371995285578017621884997998589545669476140825351714676767548275085431012907771281543347744457912118005433592422606930976575323449371757491119209809879489105689586850195378893517082578210457363364739657112605831112482179250043732446679287801567835843349075148643981583311517719950705164263159085736126819197218735159408646591738313324718483875364303132031752295942072073863761072704935482097548010703935697021805857922589798762846440298643680423125011738438288070227468174873964937330069557604149478982390604341069595117583870832142979006981656745743625938815317002367311234967413233268744334173935029958025783620551165498515688658828765428413253192783582510853602595036026027882597992066701760297706360893664514008163923890648398017880584128459242955772072945878505163508106634070189219048245131452737527254261038517681192378233535812393221469302155629055376109200378035372262652845256445868889819746425843373359915205984818830236818385985911610885416122175918864945284434862750488662961861265093140690533530983345015295180918190420635141190368390826608503216126373281771601136376967025968211516770537937214396339981598199365214408616463047375313643506730671812593293497085298345799417102045922501573316613646670074434844757976956633481910563326292157291170413076635388366603180399904112662576482008123726790024455306399141391577595238469805533130976860737360680941781987712535458429321049751037269279049112347958954054580067010032568107468456285381894759746704179987013478204054711301544664939981879677367071779883112183862109198650675982098374493185484535147640056414719042941125543710294019055251078765590585843516103530760378655453333804081269778671206687631065519594001415740970541303537014701071571198316448414473084416139926190797345687289761792183401377395358367134480394451070865682449435074846539421101954543397640834138400883339250344236085913996377984438727111178062394104906884141047592268917831579223914030190881854442554629928626348652922077557178866616680728601774598298063625857895756684425526765395940020091262191948938431101360767965701292456369953937345918712789398699210644096615711892189411163387417025887274397806252270027508134931279190301287209627038741492567152865359100199735716441466224443779628291415844889108475039351939263909737233607799435359200068832329468641945209203109942343808943198032757574846767925791668591375605416731409910897303109293209955498888622932657889168534573210278803611784273173913354117628859675691310279923054835995816781728791415551179779251813697796376325529067198036586228850043980604498678784991689474050462773382894424877969831597895857162087683720495813284774818988635305205616829955455676059611318179867621567001326341334431754160666173377401534214305544270592852996008639015996638292987770152811946464702953332370235684585907331810035982797517628065463260328918901708426511593818382366480431030316663336862486353028469823497528599246202172467693942781274765035404605451380416203025201797329868965798703459729250327011875143514440546788475503759939013149158290017142615913803483221346669683486263241548309430937705202998746782885921433178742969531971297275810572542072334605518487090672643311788921965711461911235008129706497987450354902537901233079896646015414509759811009807 1448508252579073866642522764446600878129914345774640027752136767681216599910119807351259750963047633420182572949300854470339566519634744748772733073276549155363819234730937609718321470450256115965859743939050185812411604076238615700077315718178912164555844494980553050278257161443256315878347511445668545475204965598871541048196546653097875185945562524651476255814585406022275853840740029064944270224499215630406010349501228534714001022310946293916875928454622297595069796319103848074567756370651813006256435730643581269861345438537888496509314941416144733835393387290139960264299106130551285971060270400250000711977304151352431961399991442383384904217198528040177146298139124047555099875434023032578017564434507657485800748714867116055739200334830786354297426150840626952964384261943722727391349975947941862230385097286090956690755771201579415102629857128446823632014650782235989316046484378842971860441262118345876466594780276585921339160864574578956993717446025938018412827004341098522896332078845717182796864791992651650286899813055629748955919035591808095809680139055140677114809879455601838033425071905781672572265257845495517382604177243833420470495252888026031044998368053393882138595620039404398718595563999614710693931592058328482871712799887959316845543327997964385260853456249636465769099163180188212203439396202511323919405135182072361548304891324760761400628470820109622020488675866854213482030277562073078622676607480363386135450515560468088870287178761949356726211661568084965108251734464474027966566599611337337490103258724515512657477224659774786708005112212087134069607518033610851335345080720604118413597607361052033302393301420484121544634582278988840619537150148410142392834086256662466971170728886604758317264203853183079202172107750061782781332981894686419364616421854250428290752640001110670645150979086213604972801206591471731643736237541320343823039691576911868555124060520338159799370829935781263594451607778324099209568112155541819832421933069784540940212005922978668243774895582456698032077378432109830554719533542374894003384198062227994939751618077965894303184820142592394579689800537813331486512957853411152579295712461740719947141928614749420981473390774518711008724405789426184595851371216026729112945606023386427590749549340570217205781536929780527311810851149452953873445303307487255381669913695111087056661429092887316112244326210073045270761783968436753856890067383504768208278448626784038377518726515105048846176741339818219433796984708762287889097879462249506079886910121629422190614234150935021634882745450117925866387677211539365946791439101153170559404377296438221819615353642532210108406239121985751211195238662153127675073507023897380144835501575988016582348711126903153389638809360868098850086451535409147587817222397279148780635730309092896970534552460918054873196316939894505004522778148257410241247207591405154156520986359786002874537835807566418156451220009335561943269648430576218717878718912700188448471889382418245679367093156300318652775206859929888243292777653455266140107330141810094482808635631903800688538646344518502555103877730721543363457011914956672210953088029425228122148964084509586390676792605860675628515915720608330119026173217921572443665635198560514038966189199130339568184670999033108058972684480448908469044958864053597638487680683710682147624027972079663943596010797266385126576695506275665804289103824128018610033891417710752474331527183564252673444664140557147124872544058466600693977267183023433444798791916209950648175952796183328008052440678106411856253005928856947866791828303621758350000453226396807612394319791976515439278407828954043618576558756039801251703759318512186941632092605350049384771167543432138114688501403359524908762180932693710301392089037566943045464798569195422925604826536400748270726598544467139545872512203997533167626571035847862635875560645876561615052634203863090557899692313054035727318815344225154645597250071316310796 2343735585657659049981057202092639998669949556325300852272585311253422077778638297931429664975264300552246153650140079377974728082241761540322159956281624816696664866442155743975224790295290122153073282877122756309555510282465151966475957642621419662630038838770371006451466039168122075312349311029446476293014948492506417672602789305723075633320117592679150375618758945403417712046036298116722461403066947040696360322756270158512862052800673264368242978661307162465350700921622596372396833854932092590335056491707625593755279902697072593051089125131750212962078452232410045430897179581389172730399918480368721642159672437675472193554764146470609470807014839778576330788827198853065109796806018318156035186319505656075346418191007941407453877102379061439728439058611908496312128719855840732824942398554872838805708546657848447809965581081068520792216707323825717149097228992693352680786141491448802972923441368389608913274068078153757182509939723222938577028963745888723577090163426834649715529297580876591443456530305976368770775177358761780708214977663881959570752843990622774662820583391298859839282994495580435418705556489175940507615915682121490697963427761990968375067925657543361120986224380473993836179434831757689700913248804072108810528116890326628080510741231233129595027391279594491552719714345686727892098224967939737172597918764583215150899927350788643998620537521869919726849569531368221645954168210471096503260735939606341907523461438973252378393812832138575774456793020822492362512772982155220344800135423730558959405414353570888766677602695147049360850368657956023889353943876984211250551065539434355231983593272662918718515477339349066829069445029477503581398415241550832926365069601677762152088919307239899507632594679791582418298481031833383917709948920654630881386959791464824630734238200475885053767442133588918616307937263284324937233322839666143240141737499413441871737707190412594644128806892414745505014934070481390379981188790930186435602332973897203516694014046705458268230201981598089609672616901915363685696394279735574945166185774763453369072667829003163582233932490551348634269867547845899593981414138793047339042416641727733425345983326050965646413372654196078080504288901610046705050021892008827487438791507921575230805964059613158331325247223799582562889616740038797389548834067865910835003717776380865727868116723952835706245741951043586574298798669508325055206515797977852624418374817581384064808488307288450223572099706952699828248055574444737324172726001670608034430307762463560591497573401279257720796741828102364593498855273933470853675580148745439477235956520352252010497208085086840037032587774907828768374105278833856276848105321961006002731258260413543347744651146994415581587747791969459618052152827865517541754568315991938179334940953189512682426741872081442290222204214292311256792805656392341520437508878614781195262478926938868233638035543282859622675663788963853359114537539051258069817982822437422056271324741618314511696561798245527855885149203738831441325535228302034065898998733185699899540045542801103797831856300017391178036535619890077936667290718568456484127001383542856981824655394789509445512788422642404419931466900387581932723969594247101510863671784789364082946793697809124559874145049495881441867109358418740066940816026141281358983493968485501136259333177696493899051686856877703306444317073276992145623535578288684783411292951925058018602120036560261312460660778850134895025356004931303647309637418708019352130601952192748165804018259443656926954149104618005674635372409287978183455165166108111378470276723925406858596492259670458220553172864358649069956974959065003049033628284310890401361342932361924528285608090220613618448440416508683198779323548607513784613435707250429308706346878626360630807825283183634192159777287436671517169788014570075239961176554334953308518872434798527326514545438871220264397679763408938265220048424121800661011759831127320603 3792243838236732916623579966539240876799863902099940880024722078934638677688758105282689415938311933972428726599440933848314294601876506289094893029558173972060484101173093353693546260745546238118933026816172942121967114358703767666553273360800331827185883333750924056729723200611378391190696822475115021768219914091377958720799335958820950819265680117330626631433344351425693565886776327181666731627566162671102370672257498693226863075111619558285118907115929460060420497240726444446964590225583905596591492222351206863616625341234961089560404066547894946797471839522550005695196285711940458701460188880618722354136976589027904154954755588853994375024213367818753477086966322900620209672240041350734052750754013313561147166905875057463193077437209847794025865209452535449276512981799563460216292374502814701036093643943939404500721352282647935894846564452272540781111879774929341996832625870291774833364703486735485379868848354739678521670804297801895570746409771826741989917167767933172611861376426593774240321322298628019057674990414391529664134013255690055380432983045763451777630462846900697872708066401362107990970814334671457890220092925954911168458680650016999420066293710937243259581844419878392554774998831372400394844840862400591682240916778285944926054069229197514855880847529230957321818877525874940095537621170451061092003053946655576699204818675549405399249008341979541747338245398222435127984445772544175125937343419969728042973976999441341248680991594087932500668454588907457470764507446629248311366735035067896449508673078086401424154827354921836068855480870043157958961461910595062585896146260038473645581200633714952020908778759833188373704027308466344200935565389960975319199155858340229123259648193844657824896798532974661620470588781895166699042930815341050246003381645715252921486878201586555698918421219802523589109143854756056580969560380986487063181429076325310426861767710750754443499636828196009099466541848805489589549300946472006268024266043681744456906019969684126512005097564054787641749995334025194240415927822110468948550383836991448308824285906969057885418752633143743213959668085659231080494371992204199918338129103468453372487911940800386627886763428714789089228694691036231300901393108035556600384397531308002821555513400183375537106784153580109874700467889491751262994137375353166216673631471491952784529545816840151818490068161116631845060582637945078912096583181482620832696823444365422442327214822393499069748841046770919262045040283207025213270605463920114114317217884092982782111807552214279355679487278220290459886532485472836800467019249898610036640333816790473830112561727619050145438826896893579979569343940986983951921612345858386147566759836401559930093362273897568971226557152837558468138604363274665129571790713271086959970671262282409652961294332999497163418521154186816261315583804649751761684716470019935351783465286724871108175871350849277779126883798299415302384185969627476787696701735137610504743214124036560191063654954545846508660356063668719684618312881757300206006328874995794382348681174704904486370502644535893733140413350611621300124302633525128695080089412968085103973619479299095836189581028503080048447382620995912051750142812168673954529306983349878121912982896939464128058816048528989500839793838867648535985774890194878997471174652196183283883361149776157842647697654144088433021012579552657949912639402416703393445184369635810492933647220124513985905324919407282019897900063397904341286904601731452796929393868402698813979971055626984935006589782724417530888378338144926050246993469729869728470729950322214470990812051646973659831580693312692688533533715104804300737387602823077342993435537711973913056775633652751733136941819868208107541504481301224086005524744817372354171145447821783556412651819584382462886375831903811063042300218567608407587747590182815944394433080675088941567179642734310822297372076462973992538863768346955306609009902443631399 6135979423894391966604637168631880875469813458425241732297307390188060755467396403214119080913576234524674880249581013226289022684118267829417052985839798788757148967615249097668771051040836360272006309693295698431522624641168919633029231003421751489815922172521295063181189239779500466503046133504561498061234862583884376393402125264544026452585797710009777007052103296829111277932812625298389193030633109711798730995013768851739725127912292822653361885777236622525771198162349040819361424080515998186926548714058832457371905243932033682611493191679645159759550291754960051126093465293329631431860107360987443996296649026703376348509519735324603845831228207597329807875793521753685319469046059668890087937073518969636493585096882998870646954539588909233754304268064443945588641701655404193041234773057687539841802190601787852310686933363716456687063271776098257930209108767622694677618767361740577806288144855125094293142916432893435704180744021024834147775373517715465567007331194767822327390674007470365683777852604604387828450167773153310372348990919572014951185827036386226440451046238199557711991060896942543409676370823847398397836008608076401866422108412007967795134219368480604380568068800352386390954433663130090095758089666472700492769033668612573006564810460430644450908238808825448874538591871561667987635846138390798264600972711238791850104746026338049397869545863849461474187814929590656773938613983015271629198079359576069950497438438414593627074804426226508275125247609729949833277280428784468656166870458798455408914087431657290190832430050068885429705849527999181848315405787579273836447211799472828877564793906377870739424256099182255202773472337943847782333980631511808245564225460017991275348567501084557332529393212766244038769069813728550616752879735995681127390341437180077552221116402062440752685863353391442205417081118040381518202883220652630303323166575738752298599474901163349087628443720610754604481475919286879969530489737402192703626599017578947973600034016389584780235299545652877251422612235940557926112322101846043893716569611754901677896953735972221467652685123695091848229535633505130674475786130997247257380545745196186797833895266851352274300136082910867169732983592646278005951415000044384087823189039229578052361477459796533868432031377379692437590084629530548652542971443219077051677349247872818512397662540792987524735810112160218419359381307453403967303098979460473457115198261946806507135703129681949293320940753723619090293095857651762537443331465590722148747525646556543373609380953493537076476229106322655053385387759406307654142599398644049513876290337142725840609769812705890182471414671801408747943449219820840228769717667819392150298018096815103277838013420891984552814304944807018086190757191140182671326359029263025139305612215471922335388036205080939453640725368479127518108389461042093282122225348634716547045944213663739341813906894132137401802547587263268661498723508678734857514684557575032561014538865654874702760216752791374364545505267407551125943848110059334271905327608181494281888726717506008284202358944553284911176948970501699236791593352093585179207090796510942085798274874088605281702369451145484468378849521383493984474112406415775465392978768139242204859776594748588687932961098024870942706903197286388602926590916336160356454668620681684420142694327472651741699384511021791739465329652829650095536174980705388176856477321560868511535767256684775298365985698257416914923256068329207988596542020439472149059995820595446979783989315070641861960738887342423205523750747432904233702158635837981106941006674247621329587304311317431880384753557671341758490508674169807349771015887133967744354778470073898441342383723873365351585382236376891306320828029908737870618960452067801662877492326448144187220477102768016655046153119340482580212088233137683647548924144517769252913305515473616268081725081605531086695051839871912257758912192468755967620769733570952002 9928223262131124883228217135171121752269677360525182612322029469122699433156154508496808496851888168497103606849021947074603317285994774118511946015397972760817633068788342451362317311786382598390939336509468640553489738999872687299582504364222083317001805506272219119910912440390878857693742955979676519829454776675262335114201461223364977271851477827340403638485447648254804843819588952480055924658199272382901101667271267544966588203023912380938480792893166082586191695403075485266326014306099903783518040936410039320988530585166994772171897258227540106557022131277510056821289751005270090133320296241606166350433625615731280503464275324178598220855441575416083284962759844654305529141286101019624140687827532283197640752002758056333840031976798757027780169477516979394865154683454967653257527147560502240877895834545727256811408285646364392581909836228370798711320988542552036674451393232032352639652848341860579673011764787633114225851548318826729718521783289542207556924498962700994939252050434064139924099174903232406886125158187544840036483004175262070331618810082149678218081509085100255584699127298304651400647185158518856288056101534031313034880789062024967215200513079417847640149913220230778945729432494502490490602930528873292175009950446898517932618879689628159306789086338056406196357469397436608083173467308841859356604026657894368549309564701887454797118554205829003221526060327813091901923059755559446755135422779545797993471415437855934875755796020314440775793702198637407304041787875413716967533605493866351858422760509743691614987257404990721498561330398042339807276867698174336422343358059511302523145994540092822760333034859015443576477499646410191983269546021472783564763381318358220398608215694929215157426191745740905659239658595623717315795810551336731373393723082895330473707994603648996451604284573193965794526224972796438099172443601639117366504595652064062725461242611914103531128080548806763703948017768092369559079790683874198971650865061260692430506053986073711292240397109707664893172607569965752166528249923956512842266953448746349986721239642941279353071437756838835062189203719164361754970158123201447175718674848664640170321807207651738902186899511625656258961678283682509306852808108079940688207586570537580873916990859979909405538815530959802312290552519022299915537108818572243268350980719364771296927208357633139343225878273276850264419963945398482879399682160943094289812021706312228949462917952075448363069781800494538352338136140858787750713936929510836263064743530649526155721188505707816432155716384542945513271920244879144454609618648542659550516624153933199670722331540324940327910241568694988727512793160807824180691330013677778297864777933216663207931375694789553524040862097644576554329361554414847800898149742534112099276283477754331988349330538080436617059246522665943779423973265691845043806941818654651898829409500388610449989778244981415180929431385562683963882909478306211645211386292712643065757752989691434893823871707337220873205861331076270810562160991816634477911656483177288664237407892210912770572861589089178644317362321113320536915895985618713874287180209479027189771894353387701117891950479648564516826232142379406036224255218584449419922285751489120326772759491688052815991777146553860443546697036154037138912365806531039353925843272877867704026055477248809584347082165165880172486342232382308045448814383122091570301661691196679004469414476809289284271310617664698934821156131727112329883446622170924945989389688998145793763960370697626796967328670066840736412129085577830283949152105567850835411736624569835800578116362964405540216334250984034447024042389274611650508403489957045087348214007785872354399159357526117084722324056245099413862332511209961956624485196885174017048637774269927743633128922352399117932528951244293643254388451705292055136671734700585197307738596148705209648904724339841908992423916334886250297775960815711274229779636014583401 16064202686025516849832854303803002627739490818950424344619336859310760188623550911710927577765464403021778487098602960300892339970113041947928999001237771549574782036403591549031088362827218958662945646202764338985012363641041606932611735367643834806817727678793514183092101680170379324196789089484238017890689639259146711507603586487909003724437275537350180645537550945083916121752401577778445117688832382094699832662285036396706313330936205203591842678670402705111962893565424526085687438386615901970444589650468871778360435829099028454783390449907185266316572423032470107947383216298599721565180403602593610346730274642434656851973795059503202066686669783013413092838553366407990848610332160688514228624901051252834134337099641055204486986516387666261534473745581423340453796385110371846298761920618189780719698025147515109122095219010080849268973108004469056641530097310174731352070160593772930445940993196985673966154681220526549930032292339851563866297156807257673123931830157468817266642724441534505607877027507836794714575325960698150408831995094834085282804637118535904658532555323299813296690188195247194810323555982366254685892110142107714901302897474032935010334732447898452020717982020583165336683866157632580586361020195345992667778984115511090939183690150058803757697325146881855070896061268998276070809313447232657621204999369133160399414310728225504194988100069678464695713875257403748675861673738574718384333502139121867943968853876270528502830600446540949050918949808367357137319068304198185623700475952664807267336847941400981805819687455059606928267179926041521655592273485753610258790569858984131400710788446470693499757290958197698779250971984354039765603526652984591810327606778376211673956783196013772489955584958507149698008728409352267932548690287332412500784064520075408025929111005711437204290147926585407999943306090836819617375326822291747669827762227802815024060717513077452618756524269417518308429493687379249528610280421276391675277464078839640404106088002463296072475696655360542144595219805906310092640572025802556735983523060501251664618193378913500820724122880533926910418739352669492429445944254198694433099220593860826968155702474503091176487035594536523428694661876328787312804223108124324776030775609767158926278468319776443273970846908339494749880637148552848568080080261791320320028329967237589809324870898426126867961688385437068683779345252851886846702781140403567746927219968259035456598621081757397656390722554218157442631231998510550288157268395101558411812269177206069529330569459201353508631945490865600566657308004285452108752218047186709064392914491075925511332101353030830510381656240496397475456242380628664409461047681497170448162796030031766485769389115681538076855167042451594640520118745555030472224508771797137238581895693226254323737366743161376070699971891145071297532362726733938325929167167289368445875353714052349791803685139113552582731978972825952625381632986984946502726070850287675626772291855346309596584088460128595237751366598483821936506009101875968749816984091358782946126134609716921054775220533642463555494311291615019773707489337712299053494271005989969275570169227476306399594319930794048985205081663762900020698367625000224885315264519628362531632536086436641503924738244578731386253600233440425741838956722867199710380511893559552124168749804721461326046466676187671911951671885211958140984989363827479747158139012757547516005181733494064582637296315922115849744412200056320318479988642610397095049385509593592773547949685768268658928067557409263941935879833010734517651310741405831942352743298817457130165420674281837420601087808655376205514551063444419000279419377091012831702992477859770795741543081399482436307706292621990720183160541118699827243445648952975679926130100718071930853606025120415772978682070584776223466476684842975702685595879218354450221044111622321477730629805945372995687475756206798508056688153284467241850549369585535403 25992425948156641733061071438974124380009168179475606956941366328433459621779705420207736074617352571518882093947624907375495657256107816066440945016635744310392415105191934000393405674613601557053884982712232979538502102640914294232194239731865918123819533185065733303003014120561258181890532045463914537720144415934409046621805047711273980996288753364690584284022998593338720965571990530258501042347031654477600934329556303941672901533960117584530323471563568787698154588968500011352013452692715805753962630586878911099348966414266023226955287708134725372873594554309980164768672967303869811698500699844199776697163900258165937355438070383681800287542111358429496377801313211062296377751618261708138369312728583536031775089102399111538327018493186423289314643223098402735318951068565339499556289068178692021597593859693242365933503504656445241850882944232839855352851085852726768026521553825805283085593841538846253639166446008159664155883840658678293584818940096799880680856329120169812205894774875598645531976202411069201600700484148242990445314999270096155614423447200685582876614064408400068881389315493551846210970741140885110973948211676139027936183686536057902225535245527316299660867895240813944282413298652135071076963950724219284842788934562409608871802569839686963064486411484938261267253530666434884153982780756074516977809026027027528948723875430112958992106654275507467917239935585216840577784733494134165139468924918667665937440269314126463378586396466855389826712652007004764441360856179611902591234081446531159125759608451144673420806944860050328426828510324083861462869141183927946681133927918495433923856782986563516260090325817213142355728471630764231748873072674457375375090988096734432072564998890942987647381776704248055357248387004975985248344500838669143874177787602970738499637105609360433655894432499779373794469531063633257716547770423930865036332357879866877749521960124991556149884604818224282012377511455471619087690071105150590646928329140100332834612141988537007364716093765068207037767827375872062259168821949759069578250476509247601651339433021854780173795560637372761972607943071833854184416102377400141608817895442525467138477509682154830078673935106162179687656340160011296619657031216204265464238362180304739800195459179756352679509662439299297062171189667575148483617189080363563588379310686602361106252079256059266211187566658713918948199309198250369726102463301346662036739241674571264406061539033832846019460504354712695794969368139369338038871205324612394674877012707855595685051757964909169940787661875408546079929228249164596563361836695729368614909538645009125182054432893355770838291897809191386202969035541436488590152377695174948746027573963248429693700764810471091600896029140096171194849480299969878273122658514331249337858179170980586312086697281241812687759218413811015076956335992425783369736108985944020344704763214440960241793463384094967763661410358388636589264542465291158147937457143000318692530044845037744490407960167465816110957227929560092747068170093692603227728640574536071610363542501927833825348082122731642199811673612728340310623385323331012927781451215468996465342063580864007517486270410442613502031313806142306056922622843584674305237550271117482858405295578124694319916515391132591829800297269594462880751322529398239064306355166437419828194805281970270910393548841353552084438014117594266186433803746949571317459800703954226520474596210303353866908606933586814784565568331783432648363435264781322041038775198591738567311910056465895455895396227476104678348008918588564801600462846973682777764479923387292930743537037246242960817422059639410652538593452719030650787822867048057919051206485645643150140702438925599521030030348867090134045493052328661783867930845838149696974767874987999674486734947472814890911211021829069866720865136548267757822267613918939647528782707771026687379534530285214904679899672541684758354464114100178516080329005600118804 42056628634182158582893925742777127007748658998426031301560703187744219810403256331918663652382816974540660581046227867676387997226220858014369944017873515859967197141595525549424494037440820515716830628914997318523514466281955901164805975099509752930637260863859247486095115800731637506087321134948152555610834055193555758129408634199182984720726028902040764929560549538422637087324392108036946160035864036572300766991841340338379214864896322788122166150233971492810117482533924537437700891079331707724407220237347782877709402243365051681738678158041910639190166977342450272716056183602469533263681103446793387043894174900600594207411865443185002354228781141442909470639866577470287226361950422396652597937629634788865909426202040166742814005009574089550849116968679826075772747453675711345855050988796881802317291884840757475055598723666526091119856052237308911994381183162901499378591714419578213531534834735831927605321127228686214085916132998529857451116096904057553804788159277638629472537499317133151139853229918905996315275810108941140854146994364930240897228084319221487535146619731699882178079503688799041021294297123251365659840321818246742837486584010090837235869977975214751681585877261397109619097164809767651663324970919565277510567918677920699810986259989745766822183736631820116338149591935433160224792094203307174599014025396160689348138186158338463187094754345185932612953810842620589253646407232708883523802427057789533881409123190396991881416996913396338877631601815372121578679924483810088214934557399195966393096456392545655226626632315109935355095690250125383118461414669681556939924497777479565324567571433034209759847616775410841134979443615118271514476599327441967185418594875110643746521782086956760137337361662755205055257115414328253180893191126001556374961852123046146525566216615071870860184580426364781794412837154470077333923097246222612706160120107669692773582677638069008768641129087641800320807005142850868616300351526426982322205793218939973238718229991000303437191790420428749182363047181778372351809393975561626314233999569748853315957626400768280994519683517906688883026682424503346613862046631598836041917116036386294106633212156657921255160970700698703116351002036340083932461254324328590240269137790071898726473927499532795953480509347638791812051826816127997051697269342154883908407640653839950915576950154485393079149255044150987631978654451102256572805244441750229783666461642830299862660160115590243675851226908930853237600600137879888327028473719713953086689281885061665214382327424110523449419607366274146646586536253450048672114054742916077679302453136085050693386534246386601348673554049687783678425277922065152999613425376672119194190369993280196179470153926152629677751196182547765835369599045524908745347167286128386576440074864206840635824064024403188758459190304956086374488698719159721695665276153233388790580116928493310033597148523208520346393389331214589214646175452276104650663527993287994319302336700384054086992048627594411348708594528043914683574179195568571977545624665894854556489677111644754880123302656374105755305984904343360084330874661043311981275722221458965740912232808340313917080590341236662487236395469905206077620990468584899190552814790745845390037831664561335823841253635711323216053897503034888622590279252265438774686867059996971952363555086691732236440015517541223996389686002806224327418793110777051064617939716711774036479777943797418449545903249508930634309980531839752966843423907391719136088160708185331340859859742234164114823463784885368620283888751599299319251773588379514720117223222204750060908957711528080381418509868294786858053144516163449651067242244139070750754198963505413945882245520325081957337736641489080854228653593447361611111376494791125376900897975706071605340340972593230663889893092413846090187341821391243460507863493137294097749826819393348165110164336230587900367375428748483266411152267384645757930878375185654207 68049054582338800315954997181751251387757827177901638258502069516177679432182961752126399727000169546059542674993852775051883654482328674080810889034509260170359612246787459549817899712054422072770715611627230298062016568922870195397000214831375671054456794048924980789098129921292895687977853180412067093330978471127964804751213681910456965717014782266731349213583548131761358052896382638295447202382895691049901701321397644280052116398856440372652489621797540280508272071502424548789714343772047513478369850824226693977058368657631074908693965866176636012063761531652430437484729150906339344962181803290993163741058075158766531562849935826866802641770892499872405848441179788532583604113568684104790967250358218324897684515304439278281141023502760512840163760191778228811091698522241050845411340056975573823914885744533999840989102228322971332970738996470148767347232269015628267405113268245383496617128676274678181244487573236845878241799973657208151035935037000857434485644488397808441678432274192731796671829432329975197915976294257184131299461993635026396511651531519907070411760684140099951059468819182350887232265038264136476633788533494385770773670270546148739461405223502531051342453772502211053901510463461902722740288921643784562353356853240330308682788829829432729886670148116758377605403122601868044378774874959381691576823051423188218296862061588451422179201408620693400530193746427837429831431140726843048663271351976457199818849392504523455260003393380251728704344253822376886020040780663421990806168638845727125518856064843690328647433577175160263781924200574209244581330555853609503621058425695974999248424354419597726019937942592623983490707915245882503263349672001899342560509582971845075819086780977899747784719138367003260412505502419304238429237691964670700249139639726016885025203322224432304516079012926144155588882368218103335050470867670153477742492477987536570523104637763060564918525733905866082333184516598322487703990422631577572969134122359040306073330371979537310801907884185496956220130874557650434610978215925320695892484476078996454967297059422623061168315244155279450855634625496337200798278149008998977650735011478911761245110721838812751333834905806860882804007342196351380552118285540532855704507499970376638526669386679289148632990171786938088874223016483703145535314458422518447496786951340442312021829029410544659290336821702864906580177963649352626298907707743096891820405703317401564268721699149423089695311731263643549032569968277249226365899679044326347761566294592917260899434085389019693390207269241682692726515764502614645235475891438645446294211991781094175875440967139742372186965451858879169881394313463501641589765803071847067940217943956528625873170918736623721278647225322643937030219079345494787018469825800459635914298254035187426947910761305645001446218408718767101451445034711585505065401385139177409135284880142934270275390611907303488110054799689603225803910717917567262798600985136288313011832381545421798577400008795060227459665822457604007430642349289261175205274265240430926166853219613572588705471384779105747955117658517071700394954259984374324909057173436927962206254296389204321434566860751679275989267709276047512134543613312169573495790365061863328248443127242686030143757769026843915045854194772629351503341601781663677838993222226434391780558360368662003146833564358894776080827700120400490513852596857726622382077740420666000556954374154100772316454510183095745418875548863623185615206859172173041177126935906777069908171769798700059570718860012361473298631897670187864120852236435353197497881703145592042991652494748774323342235931927934197510591737968882480301855065111187128669805405449151057096022947959250681478367766990356170988274146645776023394979307340629275073875665850694071279827075920066045554801104114242915956908206957939511218330131107056233745278609527164374852489698866515802805047275101290168024765616381484824274011207380785773011 110105683216520958898848922924528378395506486176327669560062772703921899242586218084045063379382986520600203256040080642728271651708549532095180833052382776030326809388382985099242393749495242588487546240542227616585531035204826096561806189930885423985094054912784228275193245722024533194065174315360219648941812526321520562880622316109639950437740811168772114143144097670183995140220774746332393362418759727622202468313238984618431331263752763160774655772031511773318389554036349086227415234851379221202777071061574476854767770900996126590432644024218546651253928508994880710200785334508808878225862906737786550784952250059367125770261801270051804995999673641315315319081046366002870830475519106501443565187987853113763593941506479445023955028512334602391012877160458054886864445975916762191266391045772455626232177629374757316044700951989497424090595048707457679341613452178529766783704982664961710148663511010510108849808700465532092327716106655738008487051133904914988290432647675447071150969773509864947811682662248881194231252104366125272153608987999956637408879615839128557946907303871799833237548322871149928253559335387387842293628855312632513611156854556239576697275201477745803024039649763608163520607628271670374403613892563349839863924771918251008493775089819178496708853884748578493943552714537301204603566969162688866175837076819348907645000247746789885366296162965879333143147557270458019085077547959551932187073779034246733700258515694920447141420390293648067581975855637749007598720705147232079021103196244923091911952521236235983874060209490270199137019890824334627699791970523291060560982923473454564572991925852631935779785559368034824625687358861000774777826271329341309745928177846955719565608563064856507922056500029758465467762617833632491610130883090672256624101491849063031550769538839504175376263593352508937383295205372573412384393964916376090448652598095206263296687315401129573687166862993507882653991521741173356320290774158004555291339915577980279312048601970537614239099674605925705402493921739428806962787609900882322206718475648745308283254685823391342162834927673186139738661307920840547412140195640597813692652127515298055351743933995470672588995876507559585920358344232691464484579539864861445944776637760448537253143314178821944586470681134576880686274843299831142587011727764673331405194591994282262937405979565030052369486076747015894212156618100454882871712952184847121604072164960231864131381859265013333371162958172574402270170568415129114692928152764040300848255576477978926113816412813130216839626876607956839373102300756064693907589946181561523973514444917179226568827501386128973535639005908566953559819591385566794589379228448519187134408313949808822052641072662776350956398421505191702865588678391019695763816993086588022490738328899394267583734825330048190204677599023723187825933733430745226761066661292410797925864997071427580308987760430512008456448189020817815018556893369843367449264513129576307331134718245805852664392057422654638808374416985647922114216528484829747182819889906325780723342896725217343585594687435479853710423643421415060479285134645417636890332895658386927947166529197544635351647451092915938476504104745952718212164603780754472686343179852609173638480958907247365967599022662555238261908092275664240125931881033929116613680089286431363732921915455353735383273579876436000077217386123206714841271389968503673446695680137377774593434152097898190766000413432604676053185529395462938582050283079564760313215096614962401249031629540934223685542323797246841918915786421787163440104010023732712217998926367796793052561452460302403723654441796228984368644882485045929952922307355326199420559604412656471041905193479575763435705503631845251842502800239223385006090683835420400450776563826400142885167416892659276218690997206656762047095548779330754678837994600193527843028436346557723017599863202746390705414650530038651291176768648869470031942085755971427218 178154737798859759214803920106279629783264313354229307818564842220099578674769179836171463106383156066659745931033933417780155306190878206175991722086892036200686421635170444649060293461549664661258261852169457914647547604127696291958806404762261095039550848961709209064291375643317428882043027495772286742272790997449485367631835998020096916154755593435503463356727645801945353193117157384627840564801655418672104169634636628898483447662609203533427145393829052053826661625538773635017129578623426734681146921885801170831826139558627201499126609890395182663317690040647311147685514485415148223188044710028779714526010325218133657333111737096918607637770566141187721167522226154535454434589087790606234532438346071438661278456810918723305096052015095115231176637352236283697956144498157813036677731102748029450147063373908757157033803180312468757061334045177606446688845721194158034188818250910345206765792187285188290094296273702377970569516080312946159522986170905772422776077136073255512829402047702596744483512094578856392147228398623309403453070981634983033920531147359035628358667988011899784297017142053500815485824373651524318927417388807018284384827125102388316158680424980276854366493422265819217422118091733573097143902814207134402217281625158581317176563919648611226595524032865336871548955837139169248982341844122070557752660128242537125941862309335241307545497571586572733673341303698295448916508688686394980850345131010703933519107908199443902401423783673899796286320109460125893618761485810654069827271835090650217430808586079926312521493786665430462918944091398543872281122526376900564182041349169429563821416280272229661799723501960658808116395274106883278041175943331240652306437760818800795384695344042756255706775638396761725880268120252936730039368575055342956873241131575079916575972861063936479892342606278653092972177573590676747434864832586529568191145076082742833819791953164190138605692596899373964987176038339495844024281196789582128260474037937020585385378973950074925041007558791422661622624796297079241573765825826203018099202951727741763250551745246014403331150171828465590594295933417177748210418344649596791343387138994209816596854655834283423922830782314420468724365686429042845036697825405394301649284137730825175779812700858111093219460852921514969560497859783534288122326186187191778901981543334724574959235008975574711659822898449880800792334581749807509170620659927944013424477868277633428400103558414436423066474689436217951302740536692378341058827831808366648609821871070896187013250498202149910229834145849639532099618065258679339143065837620206970267726436698273402444268468525871345722604457767446123441213904849068436179145031520366255074626257906337447925811991399400072235045646827835639895807757736514482782286818887047658405036582934581694531645586635693191650896007742490289277378768142330731826468046431588207061149877214361850584378372337815496566502988710421040822467611287410630247865498265864620342967099791227651241792066217714866268040239443251929544858877774090922388094155146756706890196116338789932291066072214585601665541301938486760874239394629791961799390069095314890153420825586748956786214311844595214465771814022000230346708217092924046182133544914472501886924086149933396111356791689399153307762287048293591629273482815592794452673311512865755513480275824015738530107144235330776158045086243607205355123986826230295828773420558043775150388526251998963082454923615700421472061078259086124197257142251737801490342032521739471157203399339634283256261183809608315217547684091975027560956246459085909715880629513388836044213947209076727065890373724163181879236620453928410254777372466513328090365009861807528137928141438826444914073270622201422830776946884999408401069991176049675524652229677094214164994492812725321773492101320899678004003755737270265897168125707249761588307045873722097870089562069262193510461925631328819315942385030354294305953293136757200229 288260421015380718113652843030808008178770799530556977378627614924021477917355397920216526485766142587259949187074014060508426957899427738271172555139274812231013231023553429748302687211044907249745808092711685531233078639332522388520612594693146519024644903874493437339484621365341962076108201811132506391214603523771005930512458314129736866592496404604275577499871743472129348333337932130960233927220415146294306637947875613516914778926361966694201801165860563827145051179575122721244544813474805955883923992947375647686593910459623328089559253914613729314571618549642191857886299819923957101413907616766566265310962575277500783103373538366970412633770239782503036486603272520538325265064606897107678097626333924552424872398317398168329051080527429717622189514512694338584820590474074575227944122148520485076379241003283514473078504132301966181151929093885064126030459173372687800972523233575306916914455698295698398944104974167910062897232186968684168010037304810687411066509783748702583980371821212461692295194756827737586378480502989434675606679969634939671329410763198164186305575291883699617534565464924650743739383709038912161221046244119650797995983979658627892855955626458022657390533072029427380942725720005243471547516706770484242081206397076832325670339009467789723304377917613915365492508551676470453585908813284759423928497205061886033586862557082031192911793734552452066816488860968753468001586236645946913037418910044950667219366423894364349542844173967547863868295965097874901217482190957886148848375031335573309342761107316162296395553996155700662055963982222878499980914496900191624743024272642884128394408206124861597579509061328693632742082632967884052819002214660581962052365938665756514950303907107612763628832138426520191348030738086569221649499458146015213497342623424142948126742399903440655268606199631162030355472778963250159819258797502905658639797674177949097116479268565319712292859459892881847641167560080669200344571970947586683551813953515000864697427575920612539280107233397348367025118718036508048536553435727085340305921427376487071533806431069405745493985099501651730332957241338018295622558540290194605036039266509507871948598589829754096511826658821980054644724030661734309521277365270255747594060775491273713032956015036933037805931534056091850246772703083365430709337913951865110307176135329006837896640988540604764029308975196896695004491199850262392042333612112791135028550033237865292531485417679449756437637647608792353572911105107507455751755984572406949458077447548875113127066911015280127069461022457596371472720366014744033050655783801768494241240881615452629013095969912000319258243463676013077001033496234635230768524259968885442209034571856146269978453064062176423191444068333027342761396436127534178546103811973635680895774911833975962115380411965741381855573606766213477103312501573075958587534707723999004987014874285789430893366132768327505022951177731238855841024504657253997697130011395440927674101818037033503906184123640369505076414656428899851659075406258920669570914045053082487613539013064007275876660759650065455375964945359901821353524529275209598689722964753701818100587354784293592137861762937511152942275918767952948558872820873678518868476724767081675525405045057180762078955814351954391569670379323957831755205363849521911066353400799297119246402191279369473913380724111766776235262472366813920196395376794733969275469100695421549743822678349897153848455337048305097525246607654549062779307425331302561803557129136701872406235028880568506941803507606855157136463470513762191001060256482818621933879555881185629096775399669379130789544815520392166247881502938974340207699679821839527510924614274463999179833334918402208349778774254046674673279747124222793407160675011470075975428793503494357050161909705384597992183098527556440051099304516601020576006120307443289431335482220279820887689425272008584215876576161367470607119153679223764337895378892728627447 466415158814240477328456763137087637962035112884786285197192457144121056592124577756387989592149298653919695118107947478288582264090305944447164277226166848431699652658723874397362980672594571911004069944881143445880626243460218680479418999455407614064195752836202646403775997008659390958151229306904793133487394521220491298144294312149833782747251998039779040856599389274074701526455089515588074492022070564966410807582512242415398226588971170227628946559689615880971712805113896356261674392098232690565070914833176818518420050018250529588685863805008911977889308590289503005571814305339105324601952326795345979836972900495634440436485275463889020271540805923690757654125498675073779699653694687713912630064679995991086150855128316891634147132542524832853366151864930622282776734972232388264621853251268514526526304377192271630112307312614434938213263139062670572719304894566845835161341484485652123680247885580886689038401247870288033466748267281630327533023475716459833842586919821958096809773868915058436778706851406593978525708901612744079059750951269922705249941910557199814664243279895599401831582606978151559225208082690436480148463632926669082380811104761016209014636051438299511757026494295246598364843811738816568691419520977618644298488022235413642846902929116400949899901950479252237041464388815639702568250657406829981681157333304423159528724866417272500457291306139024800489830164667048916918094925332341893887764041055654600738474332093808251944267957641447660154616074558000794836243676768540218675646866426223526773569693396088608917047782821131124974908073621422372262037023277092188925065621812313692215824486397091259379232563289352440858477907074767330860178157991822614358803699484557310334999251150369019335607776823281917228298858339505951688868033201358170370583754999222864702715260967377135160948805909815123327650352553926907254123630089435226830942750260691930936271221729509850898552056792255812628343598420165044368853167737168811812287991452021450082806549870687464321114792188771028647743514333587290110319261553288358405124379104228834784358176315420148825135271330117320927253174755196043832976884939791396379426405503717688545453245664037520434657441136400523369089717090777154557975190675650049243344913222098888812768715895044131025392386977606819807270562866899718831664100139056889209157678663731412855875997516179475689131873646777495796825781600069901212954272040735148453027901515498720931588976093886179504112337045010304875651641799885796810583816380773598067899318619771300140317409217430037299295168307235903572338431273423372193721621421975464508967318313726031457364438437871664980847921443459200442247401083703666947669291489251697283660829762483717904265055461576495426489715160862982657204193864048661328390630860683339300811494768557656647025998601434573506469614508703766380691269715406690414002754155587212048164751500151281477744505106143001589454166441659896663492115944664627944995509661305548017068917828261155147976189858084371344454895872151781203934284033011591959008200199839194503735129402797208167726831864651057041506247298388582227763923905001560489113033849016708254008180371042548924076074782106367408047732789953178905581037966602565050610269681554177412329131207114158190312606041353544877432666372251423384478846665114705519026712312162874759882467103385212443487868347097552393307558610421125551519363620964265104242521253465324894211204601896116930910260664005518997307685913635186976564567583040363293899161658441343563438428220202790198064691416463472354011154605737218562016502941904531649760185394574465140989346878455857855435189244555348127118123392902750462477052288352855601289624136271527317761476357228653263852044876248097504056694009222201808230666187519751500081023180588571215156402518109919765675199848456118055103060253871286473174246014693051019642528094001918757778987341270777726338501792696289923061538709578058643848672029485827676 754675579829621195442109606167895646140805912415343262575820072068142534509479975676604516077915441241179644305181961538797009221989733682718336832365441660662712883682277304145665667883639479160749878037592828977113704882792741069000031594148554133088840656710696083743260618374001353034259431118037299524701998044991497228656752626279570649339748402644054618356471132746204049859793021646548308419242485711260717445530387855932313005515333136921830747725550179708116763984689019077506219205573038646448994907780552466205013960477873857678245117719622641292460927139931694863458114125263062426015859943561912245147935475773135223539858813830859432905311045706193794140728771195612104964718301584821590727691013920543511023253445715059963198213069954550475555666377624960867597325446306963492565975399788999602905545380475786103190811444916401119365192232947734698749764067939533636133864718060959040594703583876585087982506222038198096363980454250314495543060780527147244909096703570660680790145690127520129073901608234331564904189404602178754666430920904862376579352673755364000969818571779299019366148071902802302964591791729348641369509877046319880376795084419644101870591677896322169147559566324673979307569531744060040238936227748102886379694419312245968517241938584190673204279868093167602533972940492110156154159470691589405609654538366309193115587423499303693369085040691476867306319025635802384919681161978288806925182951100605267957840755988172601487112131608995524022912039655875696053725867726426367524021897761796836116330800712250905312601778976831787030872055844300872242951520177283813668089894455197820610232692521952856958741624618046073600560540042651383679180372652404576411169638150313825285303158257981782964439915249802108576329596426075173338367491347373383867926378423365812829457660870817790429555005540977153683123131517177067073382427592340885470740424438641028052750490294829563191411516685137660269511158500834244713425138684755495364101944967022314780234125791300003601222025586119395672862232370095338646872697280373698711045806480715906318164607384825894319120370831769051260210416093214339455535425229986001415465672013225560494051835493791616946484099958380578013813747752511464079252555945905796837405688713372601845724730931977168831323921033698670054043265950265149541002014090921999516333813992738250752516986056784239718440848843674190801316981450332293255287884153526283481577934753364013463074393773335935941749984653802658448562746907393252562339800953180547525976766168646413267384320232710164368756190764832275045058797288167405244377405223743958750208199929178660470460408349871984239091385119472277443280897318338897716193551458137139492695401618629987882718119523752918617933783493890325418600629991582839874494442834319020196586406602533618762406410567175955362043221274917243484003771288482649001537461879586217035179625785940712371110637874470506612405344172898752504516620601918625642125521056746475691170735865294659054160313498453876420869552301051632863009690291932261529922245252921682117274142466804484044387591514716512417471192658290403581288453180211159178835998602718526354595535155336141061937837719617520350323651557906127464453858840281083919086994448635852937734176264294920269268420393307936447103045696209255139684210514636616585380113111459994006284658382754686356868592458864328628570030977235045747914740415698234379711621948886874638033882951793270779365597712310616522554293568184249755871992914342925097456290795143215969673457100771297139868199023318629490474625119499409563076759424723153583639741275760094237764746547834988644980004764947514374999626331877090670176732110192383112214238410735526497594811275630861613630819130294772177336441133444995215391341198989827475509816684082928265318312223494517757858298376012558106202364770472307049180366322136340450978010314281739645468412613279361942215077954063760530180692388801822981744050922214455123 1221090738643861672770566369304983284102841025300129547773012529212263591101604553432992505670064739895099339423289909017085591486080039627165501109591608509094412536341001178543028648556234051071753947982473972422994331126252959749479450593603961747153036409546898730147036615382660743992410660424942092658189392566211988526801046938429404432087000400683833659213070522020278751386248111162136382911264556276227128253112900098347711232104304307149459694285239795589088476789802915433767893597671271337014065822613729284723434010496124387266930981524631553270350235730221197869029928430602167750617812270357258224984908376268769663976344089294748453176851851629884551794854269870685884664371996272535503357755693916534597174108574031951597345345612479383328921818242555583150374060418539351757187828651057514129431849757668057733303118757530836057578455372010405271469068962506379471295206202546611164274951469457471777020907469908486129830728721531944823076084256243607078751683623392618777599919559042578565852608459640925543429898306214922833726181872174785081829294584312563815634061851674898421197730678880953862189799874419785121517973509972988962757606189180660310885227729334621680904586060619920577672413343482876608930355748725721530678182441547659611364144867700591623104181818572419839575437329307749858722410128098419387290811871670732352644312289916576193826376346830501667796149190302851301837776087310630700812946992156259868696315088081980853431380089250443184177528114213876490889969544494966586199668764188020362889900494108339514229649561797962912005780129465723244504988543454376002593155516267511512826057178919044116337974187907398514459038447117418714539358530644227190769973337634871135620302409408350802300047692073084025804628454765581125027235524548731554238510133422588677532172921838194925590503811450792277010773484071103974327506057681776112301683174699332958989021712024339414089963573477393472897854756920999289082278306421924307176389936419043764863040675661987467922336817774890424320605746703682628757191958833662057116170185584944741102522783700246043144255642161886372187463590848410383288512310169777397794892077516943249039505081157829137381141541094781101382903464843288618637227746621555846080750601935471490658493446827021299856716308011305489861313828817164868372666114229978888725491492656469663608392983572963715407572722490451686598142763050402194468242156194261431934605836268862734394663369867222115445862321698812963324214388707279049372923617333954145593876084788417713407701729450140201668051359072068178617397228561590777438099026645719423259175518242904691927824846787743649219939306562931477885528298402042564663862842947388836776356231381113705786983174985329414044423498654753308075804823855631501202885073695002359497397901371091275409432409168610528868512835783621009864695041003889339415540216035173429083344377286091993848855142980613508201859510614558649168008736546583253587121030718052023708239653693555814202136503356538247765324448173203414066943974324943853488930445452760876621009271869601692212114423379367569458977439956678985809052377085212719667949032451735234608603715526378689986013912501723887758371384347859306370034896806883648969697264130190030350063307471409078459581026434661481324535712068460678524163057179751322104406825423622868766167125486139898800356460805961881021877589587656171299434104036662499483954143202352199532245087553689387710275858376316135519861979481819436732436560497383288391355452453584559533111885320974087337932890439782101844485779725236628125093262366627685233399926670334559378754093426290846500415194009502862502117749724779841132653784398545238713503862547007053815356287632859514877482864006542869681393135142667197023622007386509578975590839864671499480474714741604437523533498224468676161305425024343593522354612336829391470620538408283658403247399954550139668553579746760050453242231098379881625592722951700282799 1975766318473482868212675975472878930243646937715472810348832601280406125611084529109597021747980181136278983728471870555882600708069773309883837941957050169757125420023278482688694316439873530232503826020066801400108036009045700818479482187752515880241877066257594813890297233756662097026670091542979392182891390611203485755457799564708975081426748803327888277569541654766482801246041132808684691330507041987487845698643287954280024237619637444071290442010789975297205240774491934511274112803244309983463060730394281750928447970973998244945176099244254194562811162870152892732488042555865230176633672213919170470132843852041904887516202903125607886082162897336078345935583041066297989629090297857357094085446707837078108197362019747011560543558682433933804477484620180544017971385864846315249753804050846513732337395138143843836493930202447237176943647604958139970218833030445913107429070920607570204869655053334056865003413691946684226194709175782259318619145036770754323660780326963279458390065249170098694926510067875257108334087710817101588392612793079647458408647258067927816603880423454197440563878750783756165154391666149133762887483387019308843134401273600304412755819407230943850052145626944594556979982875226936649169291976473824417057876860859905579881386806284782296308461686665587442109410269799860014876569598790008792900466410037041545759899713415879887195461387521978535102468215938653686757457249288919507738129943256865136654155844070153454918492220859438708200440153869752186943695412221392953723690661949817199006231294820590419542251340774794699036652185310024116747940063631659816261245410722709333436289871440996973296715812525444588059598987160070098218538903296631767181142975785184960905605567666332585264487607322886134380958051191656298365603015896104938106436511845954490361630582709012716020058816991769430693896615588281041400888485274116997772423599137973987041772202319168977281375090162531133167365915421833533795703445106679802540491881386066079643274801453287471523558843361009819993467979073777967404064656114035755827215992065660647420687391085071937463376012993655423447674006941624722744047735399763399210357749530168809533556916651620754327625641053161679396717212595800082716480302567461642918156290648844092504218177758998468688040229045004159915357094767430017913668128320900888241825306649207914360909969629747955126013571334125877399459744500734487723530040347787715416183771022226747857737763640558051387612306352615621772777135614672301935263418287134693119852850957064126675086049682850366036807549836900453662456025849758182682476431869463382009383718172083352398285255137615633459030691682403755328809195720381462380056394405525976269051632999743693669701294509082332662357282148643633494405453847214341077379516529321379693984307973624894171838819735786484230556057058538253348698812292371988417077677914759646118524003072032706219965780855084014814264854787457401672525357148501879229246551774798499399410389558850473256296816854992124186194000474255046929953664616876115018852690705682558738283414336406176256502014894084081876448632614969389390340830265423878846785031054453760963199250681714831047951750221341408108695035905765433834488755647164732888784258578825883287797483735703998728849446827969417771638757764669933663847267694387938689786938535082862772451783868894585157225053264826209650447620564891217047348844452360733863665765151239074170278970505482658489641456088626752042416273050003686488308553411726213488811743248727775502785342421745384477801089463100731334960404844736037688170021791350838817039667946094653616518839974125835145395198774450376877117376056656931802830516508737621825718100957742580312951098908490376491113683136837641858729576276112192239013348585499406451100656548754427745793026965098955281391796600481234267507789794815900571534978658965731921598548722565398048715812567829501610768657700823810983422923487181704607336773873914737922 3196857057117344540983242344777862214346487963015602358121845130492669716712689082542589527418044921031378323151761779572968192194149812937049339051548658678851537956364279661231722964996107581304257774002540773823102367135298660567958932781356477627394913475804493544037333849139322841019080751967921484841080783177415474282258846503138379513513749204011721936782612176786761552632289243970821074241771598263714973951756188052627735469723941751220750136296029770886293717564294849945042006400915581320477126553008011035651881981470122632212107080768885747833161398600374090601517970986467397927251484484276428695117752228310674551492546992420356339259014748965962897730437310936983874293462294129892597443202401753612705371470593778963157888904294913317133399302862736127168345446283385667006941632701904027861769244895811901569797048959978073234522102976968545241687901992952292578724277123154181369144606522791528642024321161855170356025437897314204141695229293014361402412463950355898235989984808212677260779118527516182651763986017032024422118794665254432540237941842380491632237942275129095861761609429664710027344191540568918884405456896992297805892007462780964723641047136565565530956731687564515134652396218709813258099647725199545947736059302407565191245531673985373919412643505238007281684847599107609873598979726888428180191278281707773898404212003332456081021837734352480202898617406241504988595233336599550208551076935413125005350470932152134308349872310109881892377968268083628677833664956716359539923359426137837561896131788928929933771900902572757611042432314775747361252928607086035818854400926990220846262347050360041089634690000432843102518637434277488812757897433940858957951116313420056096525907977074683387564535299395970160185586505957237423392838540444836492344946645268543167893803504547207641610562628442561707704670099659385015728394542955893110074106773837306946030793914343508391371338663639924606065220672342832822877981751528604109716881817805109844506315477115274939445895661135900244314073725777460596161256614947697812943386177650605388523210174785317980607631655155541795635137597790035106032560045569540797005249827047112058573061997809449891708767182147942780779620677439088701353708049189017488998906892584315583162711624586019768544756537056309649776670923584594886286334242550879776967316799305677577969302953202711670533586293824577563997602507551136682191772196542049147350789607291089482252401133507780166833474628051428585096991524321951351308187035621088838713728935745481840082787779132990567704858908908968632279853254411348960120575458515182805268559236414988044326110101925359282678969998245335233214337494122424027043919237352914813045407864380857399456684469494411746706780780803396941570210277702845842280264590224323739191382209344716169581271228904397013099068892842159263213393853296261327832617893949933075201868380358124700068820923835697523016124365402016050840534093695085132816367582492850523107650043252406287458433320211530371951518448647458460996897638941819968507783136158443435359292686206007868468616438273451651335426072571648375199393207350636598514734063506188995571802966208093521033965662723065295867066420253624740204523652454048381858481522709015913637860791207113077188430473262630899096174469833130612188010324874139260794193763958705731538618909355034483957581514070788090672325210152547388346782948489023233347619908353591273702524058059172046199917314464942887562278252531823123220745113909109501880167195702312335035897227742719471815733979902882833179446184569972665813263284157978524050439594616429212995272933400416681645810392783953239379235125781436772935484300907282860539221963504749634128307386541349891368596547143380511540122711418779389262635355972008985426691496413425927226267741706703392804925294824949910428813214819159494093889590995795123392219087130849056451963212522379641279322237447583861436665154585561586232929496825615020721 5172623375590827409195918320250741144590134900731075168470677731773075842323773611652186549166025102167657306880233650128850792902219586246933176993505708848608663376387558143920417281435981111536761600022607575223210403144344361386438414969108993507636790542062088357927631082895984938045750843510900877023972173788618960037716646067847354594940498007339610214352153831553244353878330376779505765572278640251202819650399476006907759707343579195292040578306819746183498958338786784456316119204159891303940187283402292786580329952444120877157283180013139942395972561470526983334006013542332628103885156698195599165250596080352579439008749895545964225341177646302041243666020352003281863922552591987249691528649109590690813568832613525974718432462977347250937876787482916671186316832148231982256695436752750541594106640033955745406290979162425310411465750581926685211906735023398205686153348043761751574014261576125585507027734853801854582220147073096463460314374329785115726073244277319177694380050057382775955705628595391439760098073727849126010511407458334079998646589100448419448841822698583293302325488180448466192498583206718052647292940284011606649026408736381269136396866543796509381008877314509109691632379093936749907268939701673370364793936163267470771126918480270156215721105191903594723794257868907469888475549325678436973091744691744815444164111716748335968217299121874458738001085622180158675352690585888469716289206878669990142004626776222287763268364530969320600578408421953380864777360368937752493647050088087654760902363083749520353314152243347552310079084500085771478000868670717695635115646337712930179698636921801038062931405812958287690578236421437558910976436337237490725132259289205241057431513544741015972829022906718856294566544557148893721758441556340941430451383157114497658255434087256220357630621445434331138398566715247666057129283028230010107846530372975280933072566116662677368652713753802455739232586587764666356673685196635283912257373699191175924149590278568562410969454504496910064307541704851238563565321271061733568770602169716266035943897565870389918071007668149197219082811604731659828776607780969304196215607576577280868106618914461070646036392823201104460176337890034888784070188351756479131917063183233159675666929802345018237232796766101313809692028018352024904200002370871780665209142105954885492330212922832459625659599865158703441397062252051871169915302236889836862766973378313316230110138897148338218221086934404044206869768659936623653243450453908223531833581786702545966757873828815840933741666458745869085942309280261107142803051890384646187277942954587071396724395357062974916138000689927738988543146689842805489423975631758440789314459497380601093126385764003494079369138062952040575064615731550060183357644106753645118885366517318341063753110048640183497329624949900697516562092665588633316249695571864692721320392383430157406288786704690781537830389220189473452513059450843587012045614134267649022507060432811256760714730137066522496137712449121713507926851303558696083526635826864125994097576100542414044725118453167535733211874705186617764589734037616060477361519094560642756535002216889808352081917412944406703975761456159390174039012408101213114747265781287841796925658274942817075917279920090600316867813227597800545851857592568527199483980702493788594311070693223929069114806567335614300322772830717438605394131792941383967211285673504830347872803028564654704689558770553569639604694525581826809709053667320835715368978938951040110538682570164464856293535069365983564514406589414708703501433305949329362867479262562523866611791773374542516791205591558403616256352501838093704738314817416020482364940064462492214441258485449840267859710230280218153398852287694891581501648704557508391877792152962180354972060768671802348086317091425431144696321004613975394665424569654760855313817635853414454500679025090209142890090895148407672420088078072743290840266270699529758643 8369480432708171950179160665028603358936622863746677526592522862265745559036462694194776076584070023199035630031995429701818985096369399183982516045054367527460201332751837805152140246432088692841019374025148349046312770279643021954397347750465471135031704017866581901964964932035307779064831595478822361865052956966034434319975492570985734108454247211351332151134766008340005906510619620750326839814050238514917793602155664059535495177067520946512790714602849517069792675903081634401358125605075472624417313836410303822232211933914243509369390260782025690229133960070901073935523984528800026031136641182472027860368348308663253990501296887966320564600192395268004141396457662940265738216014886117142288971851511344303518940303207304937876321367272260568071276090345652798354662278431617649263637069454654569455875884929767646976088028122403383645987853558895230453594637016350498264877625166915932943158868098917114149052056015657024938245584970410667602009603622799477128485708227675075930370034865595453216484747122907622411862059744881150432630202123588512538884530942828911081079764973712389164087097610113176219842774747286971531698397181003904454918416199162233860037913680362074911965609002073624826284775312646563165368587426872916312529995465675035962372450154255530135133748697141602005479105468015079762074529052566865153283022973452589342568323720080792049239136856226938940899703028421663663947923922488019924840283814083115147355097708374422071618236841079202492956376690037009542611025325654112033570409514225492322798494872678450287086053145920309921121516814861518839253797277803731453970047264703151025960983972161079152566095813391130793096873855715047723734333771178349683083375602625297153957421521815699360393558206114826454752131063106131145151280096785777922796329802383040826149237591803427999241184073876892846103236814907051072857677571185903217920637146812587879103360031006185760024052417442380345297807260107499179551666948163888021974255516996285768655905755683837350415350165632810308621615430628699159726577886009431381713988347366871424467107740655707898678639323304739014717949202521694934809167826538844993220857403624392926679680912270520537745160005349047240955958567473977485423896400945496620915970075817475258829641426931038005777553303157623459468698941936619790486336613422660442176458905260563070299515876035171296193186158983281005394664759603007852107074433431886010117762985604405712362540030656118385054561562455472791966760184258575004551637489529312370547310722448027806840661607948831501446525367654837718222162534672456102923627348899828992546502191002059441050505458988334198816970688173074221757484183965229516467894869111355602359867361761458492583070233497905826075918843755437516634826009252906025637908696977968858076748726663057233334381277544580510428693842742856779775486518884894644082313465814625796522260763788282106357607628526479060846513585591489503353593544538672144861981716760499545614710476063663048173163457278052868089230897769171968923748942500516052034418963022569429456868786748421913193734891440987384547300777758266139789127244966697075876253158066831752106805183097901873115883075667471999842827876413014914243536060555261496605747303996857710563519066149930153105710393353231215963987697430931158039867917442666460278174466452494325849689602578963553072388081406402390995098040869985993740914741430407200558905581858421621575327086623826750889476085018512527166972778113649932929798781229945217249146134653352445574579797907184328109269049268866397693852773984681369314696590107307886917918857178953079607064706774959198437015984342356855635587627619530477673799118323303342904162027967241848569565871991190159228306777423598664938974999113670970764284060529517377304483649375606282198328510378505740891242386250381055125134219433134888759314160650555978706036722984263510952642237612588784169413132595991533856753232658304877073195767525144779364 13542103808298999359375078985279344503526757764477752695063200594038821401360236305846962625750095125366692936912229079830669777998588985430915693038560076376068864709139395949072557527868069804377780974047755924269523173423987383340835762719574464642668494559928670259892596014931292717110582438989723238889025130754653394357692138638833088703394745218690942365486919839893250260388949997529832605386328878766120613252555140066443254884411100141804831292909669263253291634241868418857674244809235363928357501119812596608812541886358364386526673440795165632625106521541428057269529998071132654135021797880667627025618944389015833429510046783512284789941370041570045385062478014943547602138567478104391980500500620934994332509135820830912594753830249607819009152877828569469540979110579849631520332506207405111049982524963723392382379007284828694057453604140821915665501372039748703951030973210677684517173129675042699656079790869458879520465732043507131062323977952584592854558952504994253624750084922978229172190375718299062171960133472730276443141609581922592537531120043277330529921587672295682466412585790561642412341357954005024178991337465015511103944824935543502996434780224158584292974486316582734517917154406583313072637527128546286677323931628942506733499368634525686350854853889045196729273363336922549650550078378245302126374767665197404786732435436829128017456435978101397678900788650601822339300614508376489641129490692753105289359724484596709834886601372048523093534785111990390407388385694591864527217459602313147083700857956427970640400205389267862231200601314947290317254665948521427089085693602416081205659620893962117215497501626349418483675110277152606634710770108415840408215634891830538211388935066556715333222581112833682749318675620255024866909721653126719353247712959497538484404671679059648356871805519311223984501803530154717129986960599415913325767167519787868812175926147668863128676766171244836084530393847872165536225352144799171934231629216187461692805496034252399761384804670129720372929157135479937723291899157071164950484590517083137460411005306526097816749646991453936233800760807253354763585775607508149189436464980201673794786299826731591183781552828550151701132296457508866269494084752701975752833033259050634934496571229276056243010350069258937269160726960288644694686338984294441107385601011215448562629728798867630921852786024141984446791727011654879022022376670321722872884736363917721942472678927804456603275648496859516998836528844195198657795087943437535902380892509150573773598535436764672435188191826400706804164471814933563245726679239284475179824445145589130837774900816051309114954971378100813210300630873808035005891870500869796391674326859142059585709455997501399905445056906707478091699441740802966208995552803731613976962115243981398297087491326184764007758318792643554296337579184473527960332009037679318517842653147218439512646394333217260598676902805780962955866652995382259156907595851028148568121770908874919808887893594344575364226943346890885476850600246059212135561054789886695423554444887290835957918853344608523117759175482944883904378861282582757553237772252627474508641807399987710225197800488611878703818589332572405088282548468656474611353013085284699507489177341092747229022990313443831532831800925028731703891725510011193659762155168946282920160760295802892622187194648742016691317870871587424599135046534371791167770191255363251969448130115188481455579034855572082166771667303695476742638852448550780932618125073604392556113262368071649184402804118634849962208259363399390072816129896056637249785398119741476946218856480149501715228221575900760471891940129457624182412113935739323825269102092429734063010824357441030427088017007703816818337827286808562552265932765087025769182275802337786637170389279050308088977559477675812199821455224047110283424738730305316834019854358837677965453321262702797927059504027744399206276841310731048167913462038224674538007 21911584241007171309554239650307947862463380628224430221655723456304566960396699000041738702334165148565728566944224509532488763094958384614898209083614443903529066041891233754224697774300158497218800348072904273315835943703630405295233110470039935777700198577795252161857560946966600496175414034468545600754078087720687828677667631209818822811848992430042274516621685848233256166899569618280159445200379117281038406854710804125978750061478621088317622007512518780323084310144950053259032370414310836552774814956222900431044753820272607895896063701577191322854240481612329131205053982599932680166158439063139654885987292697679087420011343671478605354541562436838049526458935677883813340354582364221534269472352132279297851449439028135850471075197521868387080428968174222267895641389011467280783969575662059680505858409893491039358467035407232077703441457699717146119096009056099202215908598377593617460331997773959813805131846885115904458711317013917798664333581575384069983044660732669329555120119788573682388675122841206684583822193217611426875771811705511105076415650986106241611001352646008071630499683400674818632184132701291995710689734646019415558863241134705736856472693904520659204940095318656359344201929719229876238006114555419202989853927094617542695871818788781216485988602586186798734752468804937629412624607430812167279657790638649994129300759156909920066695572834328336619800491679023486003248538430864509565969774506836220436714822192971131906504838213127725586491161802027399949999411020245976560787869116538639406499352829106420927486258535188172152322118129808809156508463226325158543055740867119232231620604866123196368063597439740549276771984132867654358445103879594190091299010494455835365346356588372414693616139318948509204070806683361156012061001749912497276044042761880579310553909270863076356112989593188116830605040345061768202844638170601816543687804666600456691279286178675048888700818588687216429828201107979664715777019092963059956205884733183747461461401789936237111800154835762530681550772566108636883018477043080596332198578864450008884878113047181805715428286314758675248518710009775049698394943434046994182657322383826066721465980739002111721526712833899198942088255024982843754917981153647472373749003334868110193326212656207094248787903372416560728629425902225264485172675597717101549562059916476011632929244674902802218045972183125265452186391771257886874129451103753608883002499349522127654835218958460574988330210059314989790803289028453773662346725432966848272928203231598601580439197044713503936634717194055544522386634349606019348650306588184304172370947336591190278825406275039643313771942066273887432058115057773264522359765369981151994034194220903518078292526230999305731520975750462915608334267750055872234633461500709582835038863970644455530421872603729344518187012635386411076113065703358422604414322503493944314364913911006721619004001961743739659523416391372452459220246539920931301769577567788648113736481384938582857061057051622628232316174244660057445774349188559728187595473752909264853011313674039257871112588236049510502306476260703150044167988527549454629114025410694306260748612583085612098313683564279350703661417208985420002526084529211736107958760389281557218052696407242677382128700706797062748795788622459662861931593427453860120040329635398777246010449898381856175259582730148419082312968912457410592875961275802198368329096837221673591023457201812308206468510940590594693938640081809126675568651229780726149867271208257745001687842165978833512512073167903716359902112137384071442130826486163945136703316976920430025825921186924460913665237560243117327527527757077154660085913054062627168173264120396975911580390229432220586316323785127415483276802285922233523030216825616543146486759451713392919368717789428813829868801863926193254946589443480245172184052890955872812725891081821941476405963500315386711228917160340390740133594543389353044986657805749819317371 35453688049306170668929318635587292365990138392702182916718924050343388361756935305888701328084260273932421503856453589363158541093547370045813902122174520279597930751030629703297255302168228301596581322120660197585359117127617788636068873189614400420368693137723922421750156961897893213285996473458268839643103218475341223035359769848651911515243737648733216882108605688126506427288519615809992050586707996047159020107265944192422004945889721230122453300422188043576375944386818472116706615223546200481132316076035497039857295706630972282422737142372356955479347003153757188474583980671065334301180236943807281911606237086694920849521390454990890144482932478408094911521413692827360942493149842325926249972852753214292183958574848966763065829027771476206089581846002791737436620499591316912304302081869464791555840934857214431740846042692060771760895061840539061784597381095847906166939571588271301977505127449002513461211637754574783979177049057424929726657559527968662837603613237663583179870204711551911560865498559505746755782326690341703318913421287433697613946771029383572140922940318303754096912269191236461044525490655297019889681072111034926662808066070249239852907474128679243497914581635239093862119084125813189310643641683965489667177858723560049429371187423306902836843456475231995464025832141860179063174685809057469406032558303847398916033194593739048084152008812429734298701280329625308342549152939240999207099265199589325726074546677567841741391439585176248680025946914017790357387796714837841088005328718851786490200210785534391567886463924456034383522719444756099473763129174846585632141434469535313437280225760085313583561099066089967760447094410020260993155873988010030499514645386286373576735291654929130026838720431782191953389482303616180878970723403039216629291755721378117794958580949922724712984795112499340815106843875216485332831598770017729869454972186388325503455212326343912017377584759932052514358594955851830252002371237762231890437513949371209154266897824188636873184959505892251054479929701588574606310376200151761282683169381533146345289118353707903532177933306212611482319470817028404461980719041555143372093787364027740516252280565733702905308265662449350643220551482491710024412065906349448126582036593918745127822783885483150491798253441675497997790152862513909179859014582011542656947660927691460195558973473770433139898758207267249898978118782912765896151827774075331755887235713439849597307897886265031591605858556174506789639817872648972320141813376404384175309095740749175354037732481478176371822909020456251326551106164539582594376985827468779352195392482180321116600307091090952428726913444374700642358745931581299528251635870850948385708521080045577664001982228500705636966032657170393700033709490858838443629014304441196812000979214625853827509363929914108525945331428029965372450644887831950564746331541173262832207567058225161131650396294961000258200319197153415415086899535303190458677173418816796681858252293813502665948950645967203596543117591550942922624949434618940323156528542795960276565758561330093829031441580658033620065651743648033948546849810132212182351797663321780769390419983073322323511484052891229407480006541557825090808632997868210719311773474566256725541873748335424611151691020240894281627589547488394565823318937465053779802484804345060166171210194184748797446777378890435773630839784044835192011007810173989536099288092584925560471587317000789662047545796162676860710307385504603418207503678331507082485396281862137557801104534050482696914877286538566322110371500783461514946956382220582386488715096661906972044777667073962628893459136143877799419467886534778842498026989801950993442366212826709974591214586873251013404340792831232301614629572730796075296149590703568915669035254051179556539107068479121918846361341602005454768044667527355455608791621261189646745745440659619441859284763018184638288421188084789946410435854120401212900119843974493855378 57365272290313341978483558285895240228453519020926613138374647506647955322153634305930440030418425422498150070800678098895647304188505754660712111205788964183126996792921863457521953076468386798815381670193564470901195060831248193931301983659654336198068891715519174583607717908864493709461410507926814440397181306196029051713027401058470734327092730078775491398730291536359762594188089234090151495787087113328197426961976748318400755007368342318440075307934706823899460254531768525375738985637857037033907131032258397470902049526903580178318800843949548278333587484766086319679637963270998014467338676006946936797593529784374008269532734126469495499024494915246144437980349370711174282847732206547460519445204885493590035408013877102613536904225293344593170010814177014005332261888602784193088271657531524472061699344750705471099313078099292849464336519540256207903693390151947108382848169965864919437837125222962327266343484639690688437888366071342728390991141103352732820648273970332912734990324500125593949540621400712431339604519907953130194685232992944802690362422015489813751924292964311825727411952591911279676709623356589015600370806757054342221671307204954976709380168033199902702854676953895453206321013845043065548649756239384692657031785818177592125243006212088119322832059061418794198778300946797808475799293239869636685690348942497393045333953750648968150847581646758070918501772008648794345797691370105508773069039706425546162789368870538973647896277798303974266517108716045190307387207735083817648793197835390425896699563614640812495372722459644206535844837574564908630271592401171744175197175336654545668900830626208509951624696505830517037219078542887915351600977867604220590813655880742208942081648243301544720454859750730701157460288986977336891031725152951713905335798483258697105512490220785801069097784705687457645711884220278253535676236940619546413142776852988782194734498505018960906078403348619268944186796063831494967779390330725291846643398682554956615728299614124873984985114341654781736030702267697211489328853243232357614881748245983155230167231400889709247606219620971286730838180826803454160375662475602137554751109747853807237718261304735814626834978496348549585308806507474553779330047059996920500331039928786855321148996541690244740586156814092058726419578764739173665031690179728644206509720844167471828488218148673235357944730390392515351164510554170652770281278877828940638889735062961977252143116844725606579936068615489496580443106901102745982488538809371232448237298972347776934476929526191680308457626214511795848937740514145601943027292415653083524566339818771511395425713366130595742498855510648588074416860989354564050611401240832100379742715300949095742294508459500011368487008407633309308367977240914710678262475805150779647039843185270309357931236533643453044132344063416376448563710591190373169160654044667207146572480969231882750654398256704739917723735588525867874307146075224121760446750986605444795594733678752085523010007697589831828859291836211000368399298623178668510752002295705225129577072235369351700144029816707544122372128004351183992714838337681666811465823074016087030139032566158934421825167617170580111141423750543245093334717527079946827270533863847813943594570155578101993280391727037957030423378169948057427754912364918913899842814439743837412181660092566604972706360109038854855943808696502245784886969085976187904428384929806599151495044518813097868516056736753271554648947467313730093776154908112233232352667490119882559488946700029316209426950454442282682012483638167532957077782868384527523192032073582336997870698853998423542558696696386995126946995643611933502583940043864578161615630333223685886171604816305471599720664577958647784891431858653029598326366416320112062155794705764572475907824857907935748715163205528198709714634111007600627792844512217062459471636522481560918265248263333571349517338348425180686544030397509754257886777649724313172749 92818960339619512647412876921482532594443657413628796055093571556991343683910569611819141358502685696430571574657131688258805845282053124706526013327963484462724927543952493160819208378636615100411962992314224668486554177958865982567370856849268736618437584853243097005357874870762386922747406981385083280040284524671370274748387170907122645842336467727508708280838897224486269021476608849900143546373795109375356447069242692510822759953258063548562528608356894867475836198918586997492445600861403237515039447108293894510759345233534552460741537986321905233812934487919843508154221943942063348768518912950754218709199766871068929119054124581460385643507427393654239349501763063538535225340882048873386769418057638707882219366588726069376602733253064820799259592660179805742768882388194101105392573739400989263617540279607919902840159120791353621225231581380795269688290771247795014549787741554136221415342252671964840727555122394265472417065415128767658117648700631321395658251887207996495914860529211677505510406119960218178095386846598294833513598654280378500304309193044873385892847233282615579824324221783147740721235114011886035490051878868089268884479373275204216562287642161879146200769258589134547068440097970856254859293397923350182324209644541737641554614193635395022159675515536650789662804133088657987538973979048927106091722907246344791961367148344388016234999590459187805217203052338274102688346844309346507980168304906014871888863915548106815389287717383480222946543055630062980664775004449921658736798526554242212386899774400175204063259186384100240919367557019321008104034721576018329807338609806189859106181056386293823535185795571920484797666172952908176344756851855614251090328301267028582518816939898230674747293580182512893110849771290593517770002448555990930534627554204636814900471071170708525782082579818186798460818728095494738868507835710637276282597749039377107698189710831362872923455988108551321458545391019683325219781761568487523737080912631926165769995197438313510858170073847547032790510631969285786095639229443384118897564917627516301575456349754597612779784152927183898213157651643831858622356381517157280926844897111881547753970541870469517532143244158797900228529357989966263803742112966346368626913076522705600448971780427173395232384410255767556724209731627253082844890704761740186863457381771858932024047191622443668497843488597659765250142629337083418666433106651904272394776970776401826849451014730990638171541927171664003370082924773751718302630352185775616623546394713096952288514662007669856680280535234968047175488846678685184537404278243121862876761732300951832512026020457221548171225768955023288716775606920935863578863037111683048765451236380994673406296490688000717005453041064803703008401686731773549121891490109591976459040822399896163185440600463557561570077675491446341821014355479022323733906985585840469978780048027457043882304794551665740175924054785679283289394045610527312219123924405422241477452985972565588188958958343557035425402409427761943291024248057797608833908530838501185406142830796699445529175471397365577742437779747999217941261688147813878993817620737337867799529452549232256745336651670061809518621430292101070184143350524948157546582307338414070669136443903913526604432082747278851312050967717436451993578231302383967679645299244088897578352870286751353770153137487929290629574648480547080976897976896150177440527673022391524711966631835813887530563602532915948415359254852818333511983658586443740314838063771982020117290051234079798906341827740980849004122855138950994472024739250605109909680747170244243969915476521072386171452155832530872926366463530146712345081967033666529155057996546050395860762819403178722613125005370789880086506061431383825673622516007023680977824829959815752032446931926387057667561524547130204164482678778534956083401636133478252106217381963141180360124533026351755987805759536509970632954466251630155470786897493698807028127 150184232629932854625896435207377772822897176434555409193468219063639299006064203917749581388921111118928721645457809787154453149470558879367238124533752448645851924336874356618341161455105001899227344662507789139387749238790114176498672840508923072816506476568762271588965592779626880632208817489311897720437465830867399326461414571965593380169429197806284199679569188760846031615664698083990295042160882222703553874031219440829223514960626405867002603916291601691375296453450355522868184586499260274548946578140552291981661394760438132639060338830271453512146521972685929827833859907213061363235857588957701155506793296655442937388586858707929881142531922308900383787482112434249709508188614255420847288863262524201472254774602603171990139637478358165392429603474356819748101144276796885298480845396932513735679239624358625373939472198890646470689568100921051477591984161399742122932635911520001140853179377894927167993898607033956160854953781200110386508639841734674128478900161178329408649850853711803099459946741360930609434991366506247963708283887273323302994671615060363199644771526246927405551736174375059020397944737368475051090422685625143611106150680480159193271667810195079048903623935543030000274761111815899320407943154162734874981241430359915233679857199847483141482507574598069583861582434035455796014773272288796742777413256188842185006701102095036984385847172105945876135704824346922897034144535679452016753237344612440418051653284418645789037183995181784197213060164346108170972162212185005476385591724389632638283599338014816016558631908843744447455212394593885916734306313977190073982535785142844404775081887012502333486810492077751001834885251495796091696357829723218471681141957147770791460898588141532219467748439933243594268310060277570854661034173708942644439963352687895512005983561391494326851180364523874256106530612315772992404184072651256822695740525892365889892924209336381833829534391457170590402732187083514820187561151899212815583724311314481122385723497052438384843155188189201814526541334236982997584968082686616476512446665873499456805623581155487322027390372548155184943995832470635312782732043992759418481596006859735354991688803175205332158978222655146449813838164497440817583072160026343289127244116451492455770120776968863639972970567069859615450629310391992256509922394941468831069967102616026403852535409771116903855788218988052280601307139891254071436714385529733213033666705839363804101594131575716244751477995787153499950526031674854464285118890995146849071783693685444729222991591533861536988738161449479843024426587192830786480431570658774946401328072119723343907451733823352143913724624465671876791192467910290427629474438352515149145193951681943769148590999147500728373940049472437012316769663972688259800153965914742756106080665585166472543371836997201014614210019554862718269578066070212696903067639630507677125352528996688926632959192808370480093647790374205151163701191685751433979570675392027686273047719651317673711968966041146867254261701263972943659423546680976277344660533134206410535719903032068797229319501214073121864809907752350401933976526485495545805283443811353954829668485115391191167161819287232389629762854042644315277478068052028104373852841202261884612731014059491628597712474474316808342474345887384509421333143667302881579488113683832734990534530379317958742859497596968145485518457177049326761784945982126365344956057952198123863461676354626985399079659269669219970008202320132063605759813494555973547190731262101902676778997934109115115768778195423131686135338777118527429102522118989637432872779243826580967786175375070809714010852528917868053313459173758645847665907077531107316673626879274081746934424219484194212845669948748527871397493290036855271948882423343793039980624665580324508354756784294993416276687752658402874197312889542556711194480645695314565689018485622741278389781289685327337323097884935151319498496649139909728673675143423120200876 243003192969552367273309312128860305417340833848184205248561790620630642689974773529568722747423796815359293220114941475413258994752612004073764137861715933108576851880826849779160369833741616999639307654822013807874303416748980159066043697358191809434944061422005368594323467650389267554956224470696981000477750355538769601209801742872716026011765665533792907960408085985332300637141306933890438588534677332078910321100462133340046274913884469415565132524648496558851132652368942520360630187360663512063986025248846186492420739993972685099801876816593358745959456460605773335988081851155124712004376501908455374215993063526511866507640983289390266786039349702554623136983875497788244733529496304294234058281320162909354474141191329241366742370731422986191689196134536625490870026664990986403873419136333502999296779903966545276779631319682000091914799682301846747280274932647537137482423653074137362268521630566892008721453729428221633272019196328878044626288542365995524137152048386325904564711382923480604970352861321148787530378213104542797221882541553701803298980808105236585537618759529542985376060396158206761119179851380361086580474564493232879990630053755363409833955452356958195104393194132164547343201209786755575267236552086085057305451074901652875234471393482878163642183090134720373524386567124113783553747251337723848869136163435186976968068250439425000620846762565133681352907876685196999722491379988798524733405649518455289940517199966752604426471712565264420159603219976171151636937216634927135122390250943874850670499112414991220621891095227844688374579951613206924838341035553208403789874394949034263881262943398796157021996287649671486632551424448704268041114681578832722771470258414799373979715528039762894215042020115756487379159831568164372431036622264933574974590906892532326906454632562202852633262944342061054567349340411267731272691908361894098978338274931742997591113920167744706752990379565721911861277578103198145407342913467700339320805223946407288155718694490751895701325262036748847317051966206268783680607312130000595410011583501015758381079930910084934807174525475339083157153484114467171405088425509916699408440903971616902745659345045674849691121466813944350042367522487407081386814272992689657754157192974198056219092557396037035205354977325627172174839042019245339354813099703209017933424484387885335876582601393560572353631707585712045851449769228337490103147492181637485428443676615765630951045146306706882923019922958817503320608956448606182587749243180922465695330088398541681511506253541531393669018696684447890199915433871515971017835848901896809278089804420675176419477754280573692084950393420695165507968074831226291208337475464198197910645188062938442554887489835501445379393090537240715325171350704461808922045456024334732565121487985062635728812437460758576184287695046309060090592421549235020636974625216348147104132577024145970515263987360036220269571845159884434453095237296278746198694599797449927750500705623883261900927924384703902679664110691734886950447794738773886178569063972707595941862733828768242758494972611438699607247687500349619875238214633309424799101064548691822629197937664623447912498470957294199148384284334745385461621418576976261920435148540675955281867457963405155202144557221595659654525313604820961414911374969686849259133412927921632568887400666069312513012635084897436115093105657596407738682922878276542785483730974589648575428308190440872929643261802585168385367457172950397117743472080999713862028795034083922794069049168188914022110605936403980690258193916069521901127261369594747342553526414070824937701651896143195885463008361448740979679922703905358192747874111197636471731623425324477607697243622662916825970675319538407957903554721420680945571398430367474017805454625396076540801688710682051083838212299788607038679991668077512794596116779173566671906400448763921638514314316037083325128857421445121952452962900770065199460572637121927229003 393187425599485221899205747336238078240238010282739614442030009684269941696038977447318304136344907934288014865572751262567712144223170883441002262395468381754428776217701206397501531288846618898866652317329802947262052655539094335564716537867114882251450537990767640183289060430016148187165041960008878720915216186406168927671216314838309406181194863340077107639977274746178332252806005017880733630695559554782464195131681574169269789874510875282567736440940098250226429105819298043228814773859923786612932603389398478474082134754410817738862215646864812258105978433291703163821941758368186075240234090866156529722786360181954803896227841997320147928571272011455006924465987932037954241718110559715081347144582687110826728915793932413356882008209781151584118799608893445238971170941787871702354264533266016734976019528325170650719103518572646562604367783222898224872259094047279260415059564594138503121701008461819176715352336462177794126972977528988431134928384100669652616052209564655313214562236635283704430299602682079396965369579610790760930166428827025106293652423165599785182390285776470390927796570533265781517124588748836137670897250118376491096780734235522603105623262552037244008017129675194547617962321602654895675179706248819932286692505261568108914328593330361305124690664732789957385969001159569579568520523626520591646549419624029161974769352534461985006693934671079557488612701032119896756635915668250541486642994130895707992170484385398393463655707747048617372663384322279322609099428819932611507981975333507488954098450429807237180523004071589135829792346207092841572647349530398477772410180091878668656344830411298490508806779727422488467436675944500359737472511302051194452612215562570165440614116181295113682790460049000081647469891845735227092070795973876219414554259580427838912438193953697179484443308865935310673879952727040723676875981013150921674078800824108887484038129504126540582524771022892502264009765186712965594904065366913154904529535260888410541442191543190280544480450225950661843593300443251781265575394816617071922458249374515215186703512065572256834564898023494268101149316585102484187820469502676117890036910831352257737348148220880181850099689469090799856205686984847898969886433019032946881401309425690511989213334364900675178325544395486787625468352411237595864735494644677849003391587003911739729118011164677476209419926573764326452756909119591561539861877711370698462110382455129435052639277882423127674497918745971003271134988123460646872868134176069314767113782083986410734497845075392930657756858133927733224342021064346757498267419560671755679417876540398520326929488103925835998675017886367042299160542741516718837811913816713347055839139744882211703478488983002173753333140009677727641941014677150068722199421939077488671202153570229108272184274457959590798497714601171778360170487619447717540042264846855824229485106020834897148223180168406700363219635534089585616796428982030180178265275189477614023548425275200935612896890425850769933925811955707830609871341419750163523229597106914006477582636860837039987814473825511821472057595252700021809214741118804970604384508360045777458866422780014639079660290244526588778147138377389700739099486629004366294287989742937839894598472022896783799857031695912467996999659492205470836244518636989730838621526611754367559421931045387271255872132681865581600611562834645734500467868860402908130439788926787772438889984545067858328722921072254388355375659493082460723503285575555687409219526296185825470848047102298029137879384131827112376393532693188049330229783488584384775426305657897405905487827271214005599473860890366609032993381877664004040413781188728743788405250304598559354631667842147111038816345268286935829301048011457536217520280853711267057786079290976401049156445494977044500114900052447009912877304557620069505790597424868881237595418934386662916904095605722410662451955306380273271951459549909974928134247780545047429879 636190618569037589172515059465098383657578844130923819690591800304900584386013750976887026883768704749647308085687692737980971138975782887514766400257184314863005628098528056176661901122588235898505959972151816755136356072288074494630760235225306691686394599412773008777612528080405415742121266430705859721392966541944938528881018057711025432192960528873870015600385360731510632889947311951771172219230236886861374516232143707509316064788395344698132868965588594809077561758188240563589444961220587298676918628638244664966502874748383502838664092463458171004065434893897476499810023609523310787244610592774611903938779423708466670403868825286710414714610621714009630061449863429826198975247606864009315405425902850020181203056985261654723624378941204137775807995743430070729841197606778858106227683669599519734272799432291715927498734838254646654519167465524744972152534026694816397897483217668275865390222639028711185436806065890399427398992173857866475761216926466665176753204257950981217779273619558764309400652464003228184495747792715333558152048970380726909592633231270836370720009045306013376303856966691472542636304440129197224251371814611609371087410787990886012939578714908995439112410323807359094961163531389410470942416258334904989592143580163220984148799986813239468766873754867510330910355568283683363122267774964244440515685583059216138942837602973886985627540697236213238841520577717316896479127295657049066220048643649350997932687684352150997890127420312313037532266604298450474246036645454859746630372226277382339624597562844798457802414099299433824204372297820299766410988385083606881562284575040912932537607773810094647530803067377093975099988100393204627778587192880883917224082473977369539420329644221058007897832480164756569026629723413899599523107418238809794389145166472960165818892826515900032117706253207996365241229293138308454949567889375045020652417075755851885075152049671871247335515150588614414125287343289911111002246978834613494225334759207295698697160886033942176245805712262699509160645266649520564946182706946617667332469832875530973567783442975657191641739423498833351258302800699569655592908895012592817298477814802969160483007493266555031541221156283035149898573209472254980356700706011722604635558502399888568208305891760937710383680521721113959800307394430482935219548594347886866936816071391797075605700612558238048563051634159476372304206678347929051643009369893008183890554059070895066003684424189130010597517841704788506591743944572066829460617377356991780462443870482528092246004098616924324326775554818375623424257454935862728516103268462568564957507680961073696746407242384499528083625411307062207807128617572743010046149389280911544966484327807820654258365978818503619132726230546918442967112365381611877644244877963412221236323641555291744000996711918718166982785409647480838450762909168682738177016890063203971333617683044980867663487167528442920632791480693974020069891666278308926376959874986927541774049130899084197513824814810554672613589922647442717560319136158524049701798661079621602419445370689605282746309446436950521079305282753049641684452955752114395403485572908737600088064360444638086992158761201820787926531422712135086200720905205980628214723138283613795176465929986301939002001588917508127651524973097026432251155893606676580097754939539676000128309331711456583768884767766763017715704668492242142239150791738679450915923519901377421014318292735508731258366182874839556740743116666032857841246757656555401271248321330269748264917096270486943159989990068231093066651726609257571231357044858179132117979832071968230843189479167357201484936869251815350012673304581569362233161655299926380260136873729923036962328911464810027864787020587825343787204602732878217163091679284078741075591533916372477589958134205659095583953112352235616951557296225697582300386714204042447909501819383150584555418409921759493987580812727825395224404422450680040127594820417666974658882 1029378044168522811071720806801336461897816854413663434132621809989170526082052728424205331020113612683935322951260444000548683283198953770955768662652652696617434404316229262574163432411434854797372612289481619702398408727827168830195476773092421573937845137403540648960901588510421563929286308390714738442308182728351107456552234372549334838374155392213947123240362635477688965142753316969651905849925796441643838711363825281678585854662906219980700605406528693059303990864007538606818259735080511085289851232027643143440585009502794320577526308110322983262171413327189179663631965367891496862484844683640768433661565783890421474300096667284030562643181893725464636985915851361864153216965717423724396752570485537131007931972779194068080506387150985289359926795352323515968812368548566729808581948202865536469248818960616886578217838356827293217123535248747643197024793120742095658312542782262414368511923647490530362152158402352577221525965151386854906896145310567334829369256467515636530993835856194048013830952066685307581461117372326124319082215399207752015886285654436436155902399331082483767231653537224738324153429028878033361922269064729985862184191522226408616045201977461032683120427453482553642579125852992065366617595964583724921878836085424789093063128580143600773891564419600300288296324569443252942690788298590765032162235002683245300917606955508348970634234631907292796330133278749436793235763211325299607706691637780246705924858168737549391353783128059361654904929988620729796855136074274792358138354201610889828578696013274605694982937103371022960034164644027392607983635734614005359334694755132791601193952604221393138039609847104516463567424776337704987516059704182935111676694689539939704860943760402353121580622940213756650674099615259634826615178214212686013803699426053388004731331020469597211602149562073931675915109245865349178626443870388195942326495876579960772559190179175997787918039921611506916389297108476624076597151044201526649129864294468184109238603077577132456790286162488650171004238567092772346211758101763234739254928082250046188754486955041229448476304321522327619359452117284672139780729364515268935188514725634321418220355641487435213391320845752125949754778896457102879326587139030755551516959811825579080197519226125838385562006066116600747425775746841720531084284088992564715940207658395708815334818623722915524772471560733240698756963587467520613182871247604378882352664441526024501056323702071553138272015760450759509862878932695527476333485511533061095229557652566514502980501943692317254984532412952303356648599476000209486014370688023240320636925557501472217073336730488425364082300429193429250106289160314259728883961303097624892022323467552702865961844467801505792886059370556596170609053380058761946366444299902489709907525795125520852273180986376677757781283124248652616810933396788130455717059154910059795563102789065815764811710347696849620996011116228063605686688095260339106555225150176405155797597556174285133126721705236405442547515734603150548170190477578274213225028258186535608897028007550442322734123920262462342551362878005749663493667696870919366007870081268783377546930783224652726071819051446347376704678561089524786939820391834984994509011128026551635071064402009198722801858620613420595648524632589231903087400412243666310936376466151430367687731262756843855024756900448628599316316231326887876739618660599082359046363308828165193453208277280576589587089103947093945096118776159115318564750043232111088680467847626455573735765143372784972297869374200058205443045259302445620561586828346763516893406137729865636748677306438571207084410730142181959045666686459233366273575436488655124048542124034521596316960579306957138903603365856112279616505650744335753380611960137790008133377613207348878639114579700636140084068012404682626864434600783317651806177311628911329147097238317537247472322505527481904650032768034205668496355882000590015055729068198212022088761 1665568662737560400244235866266434845555395698544587253823213610294071110468066479401092357903882317433582631036948136738529654422174736658470535062909837011480440032414757318750825333534023090695878572261633436457534764800115243324826237008317728265624239736816313657738514116590826979671407574821420598163701149270296045985433252430260360270567115921087817138840747996209199598032700628921423078069156033328505213227595968989187901919451301564678833474372117287868381552622195779170407704696301098383966769860665887808407087884251177823416190400573781154266236848221086656163441988977414807649729455276415380337600345207598888144703965492570740977357792515439474267047365714791690352192213324287733712157996388387151189135029764455722804130766092189427135734791095753586698653566155345587914809631872465056203521618392908602505716573195081939871642702714272388169177327147436912056210025999930690233902146286519241547588964468242976648924957325244721382657362237034000006122460725466617748773109475752812323231604530688535765956865165041457877234264369588478925478918885707272526622408376388497143535510503916210866789733469007230586173640879341595233271602310217294628984780692370028122232837777289912737540289384381475837560012222918629911470979665588010077211928566956840242658438174467810619206680137726936305813056073555009472677920585742461439860444558482235956261775329143506035171653856466753689714890506982348673926740281429597703857545853089700389243910548371674692437196592919180271101172719729652104768726427888272168203293576119404152785351202670456784238536941847692374394624119697612240896979330173704533731560378031487785570412914481610438667412876730909615294646897063819028900777163517309244281273404623411129478455420378513219700729338673534426138285632451495808192844592526348170550223846985497243719855815281928041156338539003657633576011759763240962978912952335812657634342228847869035253555072200121330514584451766535187599398023036140143355199053675479807935763963611074633036091874751349680164883833742292911157940808709852406587397915125577162322270398016886640118043745021160970617754917984241795373638259527861752486992540437290578703363134753990244932542002035161099653352105929357859683287845042478156152518314225467648405825117886776095945686587837714707226083141272203466303832683340451582877023729787505890940519236281153573335523194892717071061170265815449664825880617497387066243218500596919567060008126260683148869533602155548016454622877267594305794102888890052875692001523049042595226506042309241579311307967770678980072856930936072214530473956485808885594433238462545913819743972872924892165925840500491457913417777887002738930110692378536436988807795360523520220210446620009412018785601103514613576165745440373824010689177865901931143849436680812596274177698295395924764068533896133455261696305956813193894076044973263766896720472110796632475197515225292541628802596922037625756579761538648032932185025163332697571646687073369330640546520046960115161105657250593265730509613736798262926826919266157211316473378240047605480433366699412863630668160758799305178120652623033761411355654177520977634995143669290813063977812648168164631209983801659873140541297040965622723734266310165430247530331995500661803860209530928723300049605686258335338556305850342891034131405691106367816040594468300438793641668215391617032020899819130018978769452337761809962286828729542614467526570016085320845455286821933501836861892825148176405996800888666489951716168956725322000682239643271915457859364268289298509696985911703191792943873204942649011385969801833867591866785605928408569347599393997309058339991040802728506737091788581504308678997764444633279289490771767166768390386443937623403710253477213970543703639421868749208969147123721356229072713906295235668021124756918243815991897009015234106564025832953777056599057700687832027740915449241398637613580762031063720760304451270055183323888615878996747643 2694946706906083211315956673067771307453212552958250687955835420283241636550119207825297688923995930117517953988208580739078337705373690429426303725562489708097874436730986581324988765945457945493251184551115056159933173527942412155021713781410149839562084874219854306699415705101248543600693883212135336606009331998647153441985486802809695108941271313301764262081110631686888563175453945891074983919081829770149051938959794270866487774114207784659534079778645980927685543486203317777225964431381609469256621092693530951847672893753972143993716708684104137528408261548275835827073954345306304512214299960056148771261910991489309619004062159854771540000974409164938904033281566153554505409179041711458108910566873924282197067002543649790884637153243174716495661586448077102667465934703912317723391580075330592672770437353525489083934411551909233088766237963020031366202120268179007714522568782193104602414069934009771909741122870595553870450922476631576289553507547601334835491717192982254279766945331946860337062556597373843347417982537367582196316479768796230941365204540143708682524807707470980910767164041140949190943162497885263948095909944071581095455793832443703245029982669831060805353265230772466380119415237373541204177608187502354833349815751012799170275057147100441016550002594068110907503004707170189248503844372145774504840155588425706740778051513990584926896009961050798831501787135216190482950653718307648281633431919209844409782404021827249780597693676431036347342126581539910067956308794004444462907080629499161996781989589394009847768288306041479744272701585875084982378259854311617600231674085306496134925512982252880923610022761586126902234837653068614602810706601246754140577471853057248949142217165025764251059078360592269870374828953933169252753463846664181821996544018579736175281554867455094455322005377355859717071447784869006812202455630151436905305408828915773430193532408023866823171594993811628246903881560243159264196549067237666792485063348143663917174367041188207089826378037239999851169122400835065257369698910473087145842325997375623351076757353058116088594348066543488589977207035268913935154367624043130687675507266071611996923718776241425458323862847787287049408131002386460739009874984073233707669478126051046728603344344012614481507692653954315454651858888113923997388116772333016298817231388183214706275337860004069098107994755625957769818133853282970278008751865101765948595882942122944068116331828332236287141549362606307526317501809963121782127588400423113970921559175615557098207007986001558834295840380722982336721456406936281700544844644509049206231358795964018130893080703361350256248226269693920708019706938201262467814071995476161329011131262913226386182054914421515204904844971660110784185219125499135770377133477768391641051375231806333448547358684672073682545351658144786072072629702744943649611135199883323562459823261176612397286907862922142162624813713150101231443267856798987139487410175339737853369244243247654463767268225283365557708621391853743813900700091315072476151855177452692820213501385790489928214557286961875206182031038764548968671788349493953127419225735446304355181925926893943539135796864094515541335888544891184660080361688875950617232745394336717065318594734004699384605718830144349318948574238275490238425956718094009201970507871842536735503771857225144293818398568664020216348337131146017895718388112936844169008650137557707807920734847296661910432544390769027446932980668984263494970746844120777578632184016583180895736447383016056887755728738468347503952742245214148812354530701551706165904792107531699504340544092044499615653758329536179268104006677500036094780312528277236628357221121798966229596250070078724305671993752300049903020215904221549723924315599559658757342346760331070234868187293606931375752089137161600870680426497792332885912741337461865106203696296018225079500063420976723303287646348796236732217116186451860070239052956814091018836404 4360515369643643611560192539334206153008608251502837941779049030577312747018185687226390046827878247551100585025156717477607992127548427087896838788472326719578314469145743900075814099479481036189129756812748492617467938328057655479847950789727878105186324611036167964437929821692075523272101458033555934769710481268943199427418739233070055379508387234389581400921858627896088161208154574812498061988237863098654265166555763260054389693565509349338367554150763268796067096108399096947633669127682707853223390953359418760254760778005149967409907109257885291794645109769362491990515943322721112161943755236471529108862256199088197763708027652425512517358766924604413171080647280945244857601392365999191821068563262311433386202032308105513688767919335364143631396377543830689366119500859257905638201211947795648876292055746434091589650984746991172960408940677292419535379447415615919770732594782123794836316216220529013457330087338838530519375879801876297672210869784635334841614177918448872028540054807699672660294161128062379113374847702409040073550744138384709866844123425850981209147216083859478054302674545057160057732895966892494534269550823413176328727396142660997874014763362201088927586103008062379117659704621755017041737620410420984744820795416600809247486985714057281259208440768535921526709684844897125554316900445700783977518076174168168180638496072472820883157785290194304866673440991682944172665544225289996955560172200639442113639949874916950169841604224802711039779323174459090339057481513734096567675807057387434164985283165513414000553639508711936528511238527722777356772883974009229841128653415480200668657073360284368709180435676067737340902250529799524218105353498310573169478249016574558193423490569649175380537533780970783090075558292606703678891749479115677630189388611106084345831778714440591699041861192637787758227786323872664445778467389914677868284321781251586087827874636871735858425150066011749577418466012009694451795947090273806935840262401819143725110131004799281722862469911991349531334006234577358168527639719182939552429723912501200513399027751075002728712391811564649560594961953253155730528005883570992440162499806508902575627081910995415703256404849822448149061483108315818598693162829115711863821996440276514377009169461899390577453379241792030161877942029386127463691949455673467881694255117970720597215857096285222671443517950518674840879304119098419942834632482599153014839101442719863635176339954592919436011082964761855542772124687230716087921691289313166846613560698664599693433514028310800413607148348493661316794313337872353915075318600994858091825792034426564044712824676234275148414152110194412165933124716088265206744182687854697765999939058273749906402265361041524616923630572763625397761384870939509594387822655634293572195224668487146044821536382967469607309420192040919527334326008701756843505211244856587329356543733287409029762105378147434704253616310072138857199847618337635172419595200503070550940890930321023794407814745330325672869727049104337079631209705051870739078682096718850031529974764030537533694990653661288069812699199523348273849909002116986888830581389623825332816921070563234352199774676742683705967098528692844533220902985916916239956479660646882495566125066000200046409579039675278042248623843961748573764513023944352093004639277533643103319812451693444732612040236879411833380358030965147914697157565274605978970936966287250422388261417312747231277999677590960948769842561809411671376743645009444068583900185539906217737129622659328803213588102736636802462439231125852004147474574756648814916178077333533371932410877650428024223105928930176577162346668540838823287049620065818132665900119563410862875539560850491472440384138743987526423926157698763694468019238981527506551315907454791591097260007513226611420110261918519114496418394801348120019305363294818883260295353718912911527804336425964701925259929558267795937876490903130125422376845429970015584047 7055462076549726822876149212401977460461820804461088629734884450860554383568304895051687735751874177668618539013365298216686329832922117517323142514034816427676188905876730481400802865424938981682380941363863548777401111856000067634869664571138027944748409485256022271137345526793324066872795341245691271375719813267590352869404226035879750488449658547691345663002969259582976724383608520703573045907319692868803317105515557530920877467679717133997901633929409249723752639594602414724859633559064317322480012046052949712102433671759122111403623817941989429323053371317638327817589897668027416674158055196527677880124167190577507382712089812280284057359741333769352075113928847098799363010571407710649929979130136235715583269034851755304573405072578538860127057963991907792033585435563170223361592792023126241549062493099959580673585396298900406049175178640312450901581567683794927485255163564316899438730286154538785367071210209434084389826802278507873961764377332236669677105895111431126308307000139646532997356717725436222460792830239776622269867223907180940808209327965994689891672023791330458965069838586198109248676058464777758482365460767484757424183189975104701119044746032032149732939368238834845497779119859128558245915228597923339578170611167613608417762042861157722275758443362604032434212689552067314802820744817846558482358231762593874921416547586463405810053795251245103698175228126899134655616197943597645237193604119849286523422353896744199950439297901233747387121449755999000407013790307738541030582887686886596161767272754907423848321927814753416272783940113597862339151143828320847441360327500786696803582586342537249632790458437653864243137088182868138820916060099557327310055720869631807142565707734674939631596612141563052960450387246539872931645213325779859452185932629685820521113333581895686154363866569993647475299234108741671257980923020066114773589730610167359518021407044895602681596745059823377824322347572252853715992496157511473728325325749962807642284498045987488812688847949231349382503128635412423425897338629656026698272049909876823864475785104133118817306739878108138150572168988522069665682373507614123127838007072580514572550800687236841161580267697609735198469614110702279337703037813188945571491474566327561105612513805912005058961071895746345616529800917500051461080066228006484180511486506153935303491194956289291769551512706144632610697437972381390220843384347700918963434984384842807703292671782925155723152632327368163069089626497193837870049279689736280817535119874280156791640522014312359247902988729216643653515769744808635615620163245503907298057150830390582175605905379595625404662378379888332873952831654289527674558254683330859095011070321186976292584320275463039821828475544423736181946603996438645364764956133402685213246599900293479493368895067639543289854771850185705599406955711446700493116346444739910891816366994464021427049013241069576866878430023222240088643115475136622311907005375842808404310135173568678258175082970613691230578348440958080893531909796366943215230537274171542851743476149821027461909547940623163275994730238287897242521697351610940016249807125070129687998846997457177891335571540837199247302987073584029193301264674792866857189225054983599560884719800004899431015297869819627361197198082237238812190469742038361294975147149376179838823584308918589026430438805543432049728695162111165810415545678211450147979587103844958230308996264609409141710544068359988395702823230793675166347490489130221647216084202123087113473577005675385690969316841204984306415181476340000816502005276308354980820970184865232876272954969694927639876864258466355845266353346040874918067362148343054761023121241362377092471789630929215778112377891044037429444142061920313418392334838541186263893662667785861825965447301120157987172199399080119985176844892593681005932046700756683989463991649737137991027867757402688005212906278354504528154992677354990195661429802244061034420451 11415977446193370434436341751736183613470429055963926571513933481437867130586490582278077782579752425219719124038522015694294321960470544605219981302507143147254503375022474381476616964904420017871510698176612041394869050184057723114717615360865906049934734096292190235575275348485399590144896799279247206145430294536533552296822965268949805867958045782080927063924827887479064885591763095516071107895557555967457582272071320790975267161245226483336269188080172518519819735703001511672493302686747025175703402999412368472357194449764272078813530927199874721117698481087000819808105840990748528836101810432999206988986423389665705146420117464705796574718508258373765246194576128044044220611963773709841751047693398547148969471067159860818262172991913903003758454341535738481399704936422428128999794003970921890425354548846393672263236381045891579009584119317604870436961015099410847255987758346440694275046502375067798824401297548272614909202682080384171633975247116872004518720073029879998336847054947346205657650878853498601574167677942185662343417968045565650675053451391845671100819239875189937019372513131255269306408954431670253016635011590897933752910586117765698993059509394233238660525471246897224615438824480883575287652849008344324322991406584214417665249028575215003534966884131139953960922374396964440357137645263547342459876307936762043102055043658936226693211580541439408564848669118582078828281742168887642192753776320488728637062303771661150120280902126036458426900772930458090746071271821472637598258694744274030326752555920420837848875567323465352801295178641320639695924027802330077282488980916266897472239659702821618341970894113721601584039338712667663039021413597867900479533969886206365335989198304324115012134145922533836050525945539146576610536962804895537082375321240791904866945112296336277853405727762631435233527020432614335703759390409980792641874052391418945605849281681767338540021895125835127401740813584262548167788443247785280664165588151781951367394629050786770535551317861222698913837134869989781594424978348838966250701773822378024377874812855208121546019131689672787711167130941775225396210379391185115568000506879089417148177882598232256864836672547432183347531097219018097936396200642304657435313471006604075482621683267811395636414451137538375778407742946886178924772015683679952062205741624124655900707052052574514440995030656663307451576742091479810163678016830300071978274085827562671338469011737518075159163715292130018611861751184424553957970970979049447664148680572944756485074036042623159661510137077710304970310083082680989530695481846498765389882942864817146220318730055829900553076530490082745039885956370377792881302437371185556861011009379460726198986585636504564438752106117187361579707988867378154959152778789036978785441824568780625538190431450607012897164192042226625126741281720148457336621557689596498221172910727751430456811118619217011571132046333294378945842963093474257484326600576345878955251026103889702052582897715944016903448075490062417973163119501418813954309219370890392883273450913851564995604538594284451345807429437811245516371606353727926905080388514693955020815768068020412243535346217579882953270085602276873726522167660709783097145704715630482056450844866005099477424876909494905403445821926198987385954982765982713387979786426909822942143396760612033759042479042422843883109053193076313725112703243486056126950524070132208652697257681922156372988543745950949344472665792603086837724234134139665715799984387662993331210706628334714494182904943941621108877620707465852820649479851065003795737148262198766248205365847345355664099970187396532422428700014581713741354411768408872893689021360925787955347329191779707250552762029788024955868068219619077112860354077522713770444978575240653417062707308633384598592309660998639099673263287395029125951352064051502872724287003456050902555672093828652707138166207912772324092869168258120321083806647674031050004498 18471439522743097257312490964138161073932249860425015201248817932298421514154795477329765518331626602888337663051887313910980651793392662122543123816541959574930692280899204862877419830329358999553891639540475590172270162040057790749587279932003933994683143581548212506712620875278723657017692140524938477521150107804123905166227191304829556356407704329772272726927797147062041609975371616219644153802877248836260899377586878321896144628924943617334170822009581768243572375297603926397352936245811342498183415045465318184459628121523394190217154745141864150440751852404639147625695738658775945510259865629526884869110590580243212529132207276986080632078249592143117321308504975142843583622535181420491681026823534782864552740102011616122835578064492441863885512305527646273433290371985598352361386795994048131974417041946353252936821777344791985058759297957917321338542582783205774741242921910757593713776788529606584191472507757706699299029484358892045595739624449108674195825968141311124645154055086992738655007596578934824034960508181962284613285191952746591483262779357840360992491263666520395984442351717453378555085012896448011499000472358382691177093776092870400112104255426265388393464839485732070113217944340012133533568077606267663901162017751828026083011071436372725810725327493743986395135063949031755159958390081393900942234539699355918023471591245399632503265375792684512263023897245481213483897940112485287429947380440338015160484657668405350070720200027270205814022222686457091153085062129211178628841582431160626488519828675328261697197495138218769074079118754918502035075171630650924723849308417053594275822246045358867974761352551375465827176426895535801859937473697425227789589690755838172478554906038999054643730758064096889010976332785686449542182176130675396534561253870477725388058445878231964007769594332625082708826254541356006961740313430046907415463783001586305123870688726662941221618640185658505226063161156515401883780939405296754392490913901744759009679127096774259348240165810454048296340263505402205020322316978494992948973823732254848242350597959341240363325871567780925861739299930297295061892752898799238695838513951669931720728683285469098026416940245041918546000711329720377274099238455493603006804945572931636588234197073723400695375523033284721394937543864386230385852081911686436242717228130278591204198247008863806210546543362807940062274180063861200384521401178000990941709070212405479041761683520443230882316347619498181680951377681618391828020250668785728481683800447224913276714558056935518909413125806926948623825852827489625146315645092002672687940093695207728395924635435425525957738908869971077913838788024667320555860692054516415956022079700647702491570905911967604260580581661611097761654592863816800323917734922439663998688424469074105031559326518246556187018963892412330726148237431595157829737904134336409112989277722215451883860131860286588438010476356516619034486078568610879796233605952188687359561161277458380310757980686557708134026423931020498866695029297785757169539756645061935735016927063672592457514086534907614621802159676099142758893303705338866921330195639764084708814615065477590134870917758417082200573072675860902919823432335502649954334929770614081617335564666009998908440174779314532764643020008436226198145452508021074682954933576286002780966981069530622785472917847966275932837748355187479535528248921697506274930111173977166883006253946531565514699087814310937740175489023396762004071724623269887363016068589786080444684283634010100185152221785146605415292802183805853637151485127373358776558118447063999124478320817040283303976834445862888267695053360622588659421773916751927654712142602288165047819118822708923028665139920832062385312210281539390531252688916063900034338641243026515243028154609753542585764509060078759084850108179988710131883398764808186862188278653193188893583539851231340712351072486267276852247861845613110516745236449918092084424949 29887416968936467691748832715874344687402678916388941772762751413736288644741286059607843300911379028108056787090409329605274973753863206727763105119049102722185195655921679244354036795233779017425402337717087631567139212224115513864304895292869840044617877677840402742287896223764123247162588939804185683666580402340657457463050156573779362224365750111853199790852625034541106495567134711735715261698434804803718481649658199112871411790170170100670440010089754286763392111000605438069846238932558367673886818044877686656816822571287666269030685672341738871558450333491639967433801579649524474346361676062526091858097013969908917675552324741691877206796757850516882567503081103186887804234498955130333432074516933330013522211169171476941097751056406344867643966647063384754832995308408026481361180799964970022399771590792746925200058158390683564068343417275522191775503597882616621997230680257198287988823290904674383015873805305979314208232166439276217229714871565980678714546041171191122982001110034338944312658475432433425609128186124147946956703159998312242158316230749686032093310503541710333003814864848708647861493967328118264515635483949280624930004362210636099105163764820498627053990310732629294728656768820895708821220926614611988224153424336042443748260100011587729345692211624883940356057438345996195517096035344941243402110847636117961125526634904335859196476956334123920827872566364063292312179682281372929622701156760826743797546961440066500191001102153306664240922995616915181899156333950683816227100277175434656815272384595749099546073062461684121875374297396239141730999199432981002006338289333320491748061905748180486316732246665097067411215765608203464898958887295293128269123660642044537814544104343323169655864903986630725061502278324833026152719138935570933616936575111269630255003558174568241861175322095256517942353274973970342665499703840027700057337835393005250729719970408430279761640535311493632627803974740777950051569382653082035056656502053526710377073756147561029883791483671676747210177398375391986614747295327333959199675597554632872620225410814549361909345003257453713572906430872072520458103132289984354263839020830759348868906565883701354891253612792474101893531808548738475210495439097798260442118416579535712070855880341534796331789974170823097173345286811272409310624097595366388304922969754403247104905299061438320651541574019471247513850922155341010548199418008301062919983156039968150380230695257961306041480062911628200292813128866042945785991221647835176145832481020169669761788594099558678570923262884637253594135935910170614677011126938501438077823036560024874616243365491255426510815439360053822953724744395045113437163129425701972817033089080108428690557491548472168699332687778798459341362581731194955283070513711476642784130249037854730569749757968853569084183155934638955852889519151743615166359461823932907334162188449966882340671250479503600009142522689810997980329041662085137280560206528534566314812187381348082363340878402501725037474499421082916839858148799204571123848976015952328618290377977524157453118625129192065967609589113910388275264910059066793826410584154458039729630383133498002378406263975996965153843158278137776646345599996212433051480634486244563673786409532015098385865051688809438168088841934635213584100435274003788070934720003195825723110377830142656544515396890389119815946801548263793260640952165183562401880635244109375535703511628453721887687631560261887084648154815999848841795958757409553078816052977449073775894990262344814679335126729088226524170422891271706457800964978438362572295266709262765372683686664385638968076804633259420690123753375204302400776185685160800548401163963213953003166448014488630279217901950620087341180278501158467644113042993586613804783619818267168660090861918386927184356818721077398184523371467383739257834750828859689734912565656649239796139211945059993419489238694180049176340731013871230837829043097592123134429447 48358856491679564949061323680012505761334928776813956974011569346034710158896081536937608819243005630996394450142296643516255625547255868850306228935591062297115887936820884107231456625563138016979293977257563221739409374264173304613892175224873774039301021259388615249000517099042846904180281080329124161187730510144781362629277347878608918580773454441625472517780422181603148105542506327955359415501312053639979381027245077434767556419095113718004610832099336055006964486298209364467199175178369710172070233090343004841276450692811060459247840417483603021999202185896279115059497318308300419856621541692052976727207604550152130204684532018677957838875007442659999888811586078329731387857034136550825113101340468112878074951271183093063933329120898786731529478952591031028266285680393624833722567595959018154374188632739100178136879935735475549127102715233439513114046180665822396738473602167955881702600079434280967207346313063686013507261650798168262825454496015089352910372009312502247627155165121331682967666072011368249644088694306110231569988351951058833641579010107526393085801767208230728988257216566162026416578980224566276014635956307663316107098138303506499217268020246764015447455150218361364841874713160907842354789004220879652125315442087870469831271171447960455156417539118627926751192502295027950677054425426335144344345387335473879148998226149735491699742332126808433090896463609544505796077622393858217052648537201164758958031619108471850261721302180576870054945218303372273052241396079894994855941859606595283303792213271077361243270557599902890949453416151157643766074371063631926730187597750374086023884151793539354291493599216472533238392192503739266758896360992718356058713351397882710293099010382322224299595662050727614072478611110519475694901315066246330151497828981747355643062004052800205868944916427881600651179529515326349627240017270074607472801618394591555853590659135093220983259175497152137853867135897293351935350322058378789449147415955271469386752883244335289232031649482130795506517661880794191635069612305828952148649421286887720862576008773890602272670874825234639434645730802369815519995885188783592959677534782429280589635249169170452917670553037516020439532519878458852484594677553291863448923362152467348659090077415258197027165497204107818568282830675658639696476179507052824547640197884681838309103546070302126862088117382279187576125102219202210932720819186302053861692226252373629421992378778404536923796410531126381973764506547661337614011472316620904627516281467394583038503152156494197480336388691564202217961788737660239823326772030504110765763130255232603012168000926680952468554348230024900867563532419712433993023821480218388773055168780756131182128397460439772959913269440409557103017174595011755606988248633916306782818673506928835601309084487100125271202119827051286579037756583338772996097365958269316447151466172182334224531382339790188447152999046327617014815120230696017076793812480723253674373348658806462674098859089059433171500923352103415706553178096990328293388732661014264353307305041196749910632711664099680589411748790009531034158213764405660747740779794222124438444998198975592513277181734414047354416230953998679566169032331715083005815564256858645291121974198025097294305226468123970932731861943071439782245887782024862753889653579481828504077358899673279329988314738355395748784549903451272796169201086881068676810746418086542418709765574985287402386719374572824824823643839396610845867683380679440441832121567235154220579273896354914864487348514234831939463225075077560094952450105811721348853385156326764497162007481425922272053639079122308957818806735826891060197959601912728203113306565502118050985566837197553307883041871452149726492488782697858175365731909650513839122261061293683903119016528140469770121327781156157269373479647372449389718149593667876597100844309842428689722751796291334131840311180447326028588592859484341354574279547510215218854396 78246273460616032640810156395886850448737607693202898746774320759770998803637367596545452120154384659104451237232705973121530599301119075578069334054640165019301083592742563351585493420796917034404696314974650853306548586488288818478197070517743614083918898937229017991288413322806970151342870020133309844854310912485438820092327504452388280805139204553478672308633047216144254601109641039691074677199746858443697862676903276547638968209265283818675050842189090341770356597298814802537045414110928077845957051135220691498093273264098726728278526089825341893557652519387919082493298897957824894202983217754579068585304618520061047880236856760369835045671765293176882456314667181516619192091533091681158545175857401442891597162440354570005031080177305131599173445599654415783099280988801651315083748395923988176773960223531847103336938094126159113195446132508961704889549778548439018735704282425154169691423370338955350223220118369665327715493817237444480055169367581070031624918050483693370609156275155670627280324547443801675253216880430258178526691511949371075799895240857212425179112270749941061992072081414870674278072947552684540530271440256943941037102500514142598322431785067262642501445460950990659570531481981803551176009930835491640349468866423912913579531271459548184502109750743511867107249940641024146194150460771276387746456234971591840274524861054071350896219288460932353918769029973607798108257304675231146675349693961991502755578580548538350452722404333883534295868213920287454951397730030578811083042136782029940119064597866826460789343620061587012824827713547396785497073570496612928736525887083694577771946057541719840608225845881569600649607958111942731657855248288011484327837012039927248107643114725645393955460566037358339133980889435352501847620454001817263768434404093016985898065562227368447730120238523138118593532804489296692292739721110102307530139453787596806583310629543523500744899710808645770481671110638071301986919704711460824505803918008798179763826639391896319115823133153807542716695060256186178249816907633162911348325018841520593482801419588439964182015878082688353007552161674442335978099017478767947223516555613188629458541815052871807808924165829990122333064328427197327695090116651090123891041778732003060729945957756792993358955471374930915741628117486931049007100277102419212852563167639085085414008845131740447513629691401750435089976024374543221480920237194603116781675382292341779802223074036365842965276473442754582266577635413704283400002693964456080773348762487564252800291746256052876051259651576201455812097724647830854500337898969005548843586166815257477628411366417936378979369787590078723821288276814757547430186950905920361590088257860864559872685889008911941659245957219208016444379756326206710890058762345392949566948922544783566171058842455953694355385275761690242431927275735082388162456827782202223781313654622149216565202632819293788456295521736138614995144161892781154357354019009257819989185536040154545037439737491561158208975422773186332546411326896194899417237708676966592971597683018720907363751336793291746557021337903919919309423123823472454574151363948680164168075381332473594891683445710411012508259389232136456212514632327927516057296198743103208964908383730040195680170278156933409100820703877706653366346323056028650824824373582677654227187736729815935874503711628744515564731351451715066056810153252064631078691381662195917954413277203439009290074350934834711909471798655396459687663642138088993520648174544684227996474264158699729543822475243323058463633647966349266552753415084250083921148651865589529869845694145811561240130443712381729647942560111031193460974145287073528751514470528716071054152014851686183587100943822072237067672767283856325819478774903237127643905880879560852563209878446527396954478146502233555453896851114756188647552900422527566332013409966491668485861963741351327551329549874627375204929323873355572192403322645102338353283843 126605129952295597589871480075899356210072536470016855720785890105805708962533449133483060939397390290100845687375002616637786224848374944428375562990231227316416971529563447458816950046360055051383990292232214075045957960752462123092089245742617388123219920196617633240288930421849817055523151100462434006042041422630220182721604852330997199385912658995104144826413469397747402706652147367646434092701058912083677243704148353982406524628360397536679661674288426396777321083597024167004244589289297788018027284225563696339369723956909787187526366507308944915556854705284198197552796216266125314059604759446632045312512223070213178084921388779047792884546772735836882345126253259846350579948567228231983658277197869555769672113711537663068964409298203918330702924552245446811365566669195276148806315991883006331148148856270947281473818029861634662322548847742401218003595959214261415474177884593110051394023449773236317430566431433351341222755468035612742880623863596159384535290059796195618236311440277002310247990619455169924897305574736368410096679863900429909441474250964738818264914037958171790980329297981032700694651927777250816544907396564607257144200638817649097539699805314026657948900611169352024412406195142711393530798935056371292474784308511783383410802442907508639658527289862139793858442442936052096871204886197611532090801622307065719423523087203806842595961620587740787009665493583152303904334927069089363727998231163156261713610199657010200714443706514460404350813432223659728003639126110473805938983996388625223422856811137903822032614177661489903774281129698554429263147941560244855466713484834068663795830209335259194899719445098042133888000150615681998416751609280729840386550363437809958400742125107967618255056228088085953206459500545871977542521769068063593919932233074764341541127566280168653599065154951019719244712334004623041919979738380176915002941072182188362436901288678616721728158886305797908335538246535364653922270026769839613954951333964069649150579522636231608347854782635938338223212722136980369884886519938991863496974440128408314345377428362330566454686752907922992442197892476812151498094902667551540183194090395617910048177064222042260726594718867506142772596848305656180179684794204381987339965140884470409389036035172051190386120968579038734309910948162589688703576456609472037400203365523766923723112391202042574375717808784029622666101126593745432413641056380905170643367608544715409224215452814770379889072883973880964240342141961365621014014166281076985400865043954958835838794898412547073531596040267765658030059513385491094323664670999509659609349297070490080640579367344617331447924135820103624688851809234469981423210772386138750363143426641620691054814286469351714619159226659617573547396930921218466497047010979309256349767596051712401772367926943053819626587395588741529010965032318421161158554193740471540228465120794331550789734015159083976903448520782466232009959282123477171434147831489981073663558884698961007711538596580620591380476346125289748252964504993185227710626441337980857324904988059917657274384048457391427146433086693929450343581337587878115321892143742902288606520379531449187404960627444825059862675620186135135778683664659642599063111762999961854256030357928065292974475504625057380033552565820778093148592210838053513578714027162159482731265095629489215204492026367099911313515901355166338852979354338945699755502128080282460373123042778424296692461070309407536734295442494793070533531325518768433962480296111919382217053538055054644408309823757557890403096873041426826647705865190061805270002037021916294367007701627237483512184082791504038605761366846858084521172104888986256954627777094218189105137581688883736894983985693524386794165256066554183994844506812887641483028141940854536466328894974667866724599474283389712723270330762128638037271050016195442929114254276334097175584715537642661683169861055074701233517916732839913546977602192612553572138239 204851403412911630230681636471786206658810144163219754467560210865576707766170816730028513059551774949205296924607708589759316824149494020006444897044871392335718055122306010810402443467156972085788686607206864928352506547240750941570286316260361002207138819133846651231577343744656787206866021120595743850896352335115659002813932356783385480191051863548582817135046516613891657307761788407337508769900805770527375106381051630530045492837625681355354712516477516738547677680895838969541290003400225865863984335360784387837462997221008513915804892597134286809114507224672117280046095114223950208262587977201211113897816841590274225965158245539417627930218538029013764801440920441362969772040100319913142203453055270998661269276151892233073995489475509049929876370151899862594464847657996927463890064387806994507922109079802794384810756123987793775517994980251362922893145737762700434209882167018264221085446820112191667653786549803016668938249285273057222935793231177229416160208110279888988845467715432672937528315166898971600150522455166626588623371375849800985241369491821951243444026308708112852972401379395903374972724875329935357075178836821551198181303139331791695862131590381289300450346072120342683982937677124514944706808865891862932824253174935696296990333714367056824160637040605651660965692383577076243065355346968887919837257857278657559698047948257878193492180909048673140928434523556760102012592231744320510403347925125147764469188780205548551167166110848343938646681646143947182955036856141052617022026133170655163541921409004730282821957797723076916599108843245951214760221512056857784203239371917763241567776266876979035507945290979611734537608108727624730074606857568741324714387375477737206508385239833613012210516794125444292340440389981224479390142223069880857688366637167781327439193128507537101329185393474157837838245138493919734212719459490279222533080525969785169020211918222140222473058597114443678817209357173435955909189731481300438460755251972867828914406162028127927463677915789745880939907782393166548134703427572154774845299458969928907828178847950770530636702630990611345449750054151254487476193920146319487406710646008806539506718879274914068535518884697496265105661176732853507874774910855472111231006919616473470118981992928844183745076439953969650051539065649520737710676733711891250252766533162852009137121236333783021889347500185780057756077150968288653894561293575508287425042990837057189026438526851136222854349357416635546506919777375069904414016860245533066174213806442523088639086644668599949582855691843967113842157238033321948824002569968515208452935463885747558268990733762553710427293923410182348510140086049227528853397723292059111953231684502485250927500175478263656278405183878825589991776687247425177387105773324702205916716518596495967943426769399007513981972671350431771442892308053503549321011021522673764009778775416480767354936647978377765359744042518604847005103444016258325791501850499238893652744420739115552748978334072181749589451768898476080799375831889380127127864150014947450296502671078638564638135385250683173703454424597849369653004461411350569896043507691582452774595760863922782296644073155236072370935009418271591991198296987570115120407961743065063220938741658105488654645782781990789134373269698484746514938533894082164403538400744837136958452832359305151078995737995844426878247252806881404909789507591010330834193509742478378327536319981863305982535421244242248643767241150189530221194967656857427483128470656603610213527802213754373952132299000880948866730521007776093200459280274311889191150688887505824236853395773049044752314526503885768253703926957889277982146250176059785706142247622934260159289596540569920482084929515596623861838023350410509814323281716124769126934022820415389029538773421195263679077620785623268177167181876884826684823950438723009261127664242825765661446679278993989234499410929702076438447240606195485739380924837714891925422082 331456533365207227820553116547685562868882680633236610188346100971382416728704265863511573998949165239306142611982711206397103048997868964434820460035102619652135026651869458269219393513517027137172676899439079003398464507993213064662375562002978390330358739330464284471866274166506604262389172221058177856938393757745879185535537209114382679576964522543686961961459986011639060014413935774983942862601864682611052350085199984512452017465986078892034374190765943135324998764492863136545534592689523653882011619586348084176832721177918301103331259104443231724671361929956315477598891330490075522322192736647843159210329064660487404050079634318465420814765310764850647146567173701209320351988667548145125861730253140554430941389863429896142959898773712968260579294704145309405830414327192203612696380379690000839070257936073741666284574153849428437840543827993764140896741696976961849684060051611374272479470269885427985084352981236368010161004753308669965816417094773388800695498170076084607081779155709675247776305786354141525047828029902994998720051239750230894682843742786690061708940346666284643952730677376936075667376803107186173620086233386158455325503778149440793401831395695315958399246683289694708395343872267226338237607800948234225299037483447479680401136157274565463819164330467791454824134826513128339936560233166499451928059479585723279121571035461685036088142529636413927938100017139912405916927158813409874131346156288304026182798979862558751881609817362804342997495078367606910958675982251526422961010129559280386964778220142634104854571975384566820373389972944505644023369453617102639669952856751831905363606476212238230407664736077653868425608259343306728491358466849471165100937738915547164909127364941580630465573022213530245546899890527096456932663992137944451608298870242545668980320694787705754928250548425177557082957472498542776132699197870456137536021598151973531457113206900756944201217483420241587152747603708800609831459758251140052415706585936937478064985684664359535811532698425684219163120504530146918019589947511146638342273899098337222173556276313101097091389383898534337891947946628066638974288822813871027589904736404424449554895943496956329262113603565002407878258025038509688054459705059854098570972060500943879508018028100895374131197408533008384361450013812110426414253190321363287652969898686618932860233627535825596265065308969809680422178277562034086308202349956413458068410599381772598250653979665906602743422241390516510747261919336435525428031026526610051575078850397481924477881543081147023114451732111732771872216751418813043147667240968024868062284760956237638909570101107171041875218059230285973198991895283697510276608495678197862316375111144105941982314461947615370897564410538443163539173618168643643884152784304011462266484114648208369715794696342061333608560066939173300453857340371924710479565215263145304238243896210812318144670663137461742263192563301071079015062726139735497225649681989219967316303305438076560460516930652802340969928115023765829052340336882565354838490591352928307621407659138556221912519433708074600849887511291778819996585798999228685217935651434484741381116140395371969701604700600061132233610629604406727769881961647212714183519724743026917476969099586170781629121287407048169167925835519262839663530744732135677982252427906996619689717927988794366283487764362944338191763154162047743762768861929956030589695637822760838700659362760287602674996491553649785378062683644982600754726293175625861445608766768522992430581340268809018360442122758438839269827394049202919848165145464373694461152725909422118603861097400286528264498609295389806859465293804747362503318355065046042660770024717152449264427178229453657377068915209121010656003279416964693809167788529012410609962164761269925495867668395863130403677095069012980900437512639013464722095000454918452190241918519159862837031394816636650917669271984776777671965157339035399286358527030327445497560321 536307936778118858051234753019471769527692824796456364655906311836959124494875082593540087058500940188511439536590419796156419873147362984441265357079974011987853081774175469079621836980673999222961363506645943931750971055233964006232661878263339392537497558464310935703443617911163391469255193341653921707834746092861538188349469565897768159768016386092269779096506502625530717322175724182321451632502670453138427456466251615042497510303611760247389086707243459873872676445388702106086824596089749519745995954947132472014295718398926815019136151701577518533785869154628432757644986444714025730584780713849054273108145906250761630015237879857883048744983848793864411948008094142572290124028767868058268065183308411553092210666015322129216955388249222018190455664856045172000295261985189131076586444767496995346992367015876536051095330277837222213358538808245127063789887434739662283893942218629638493564917089997619652738139531039384679099254038581727188752210325950618216855706280355973595927246871142348185304620953253113125198350485069621587343422615600031879924213234608641305152966655374397496925132056772839450640101678437121530695265070207709653506806917481232489263962986076605258849592755410037392378281549391741282944416666840097158123290658383175977391469871641622287979801371073443115789827210090204583001915580135387371765317336864380838819618983719563229580323438685087068866534540696672507929519390557730384534694081413451790651987760068107303048775928211148281644176724511554093913712838392579039983036262729935550506699629147364387676529773107643736972498816190456858783590965673960423873192228669595146931382743089217265915610027057265602963216368070931458565965324418212489815325114393284371417512604775193642676089816338974537887340280508320936322806215207825309296665507410326996419513823295242856257435941899335394921202610992462510345418657360735360069102124121758700477325125122897166674276080534685265969956960882236565740649489732440490876461837909805306979391846692487463275210614215430100103028286923313466154293375083301413187573358068266130001735124263871627728092014889145683341698000779321126450482742960190514996615382413230989061614822771870397797632488262498672983919201771363195929234615915326209801978980117417349627000021029739557876273848486978034412989079461631164124929924033254537905736431849470941997354863869608618154412809155589738178255428530322740202763643531921745493453590218829787277092506517042825597771598807152057254181696711505429842047886772143117749292656840005013116968187749746972697307423955699885714373989452134991971669810936540076515220224841985197178560834869724752302511982640468321709131981332925039130006218970256974269606795646591192909814637425879027175969594417268753530950305416068821271258557628713668183200633244704337659221465741068847590532738289605071896749648425428259800576236785819068248022671627293085499607311115839507622936605819675926020166170155993823017151532488458860969047726177192113209495264724984090559379883922241909851716168771945481966354741367875757917910330217194786550654818958757774553341935889628189649590260410579255113979159126067194155711901259294751998248773755297204604545639022678319761080258634782829303927686486091980697907841244276270283767070189038958302299105217747586178469278626217842385790828651833756648170760348099517362483502358788765070010406968929148672558369520966361423889147565239217028195682742150908657531912797892034021829924795172130975921260832483288928737237425126602644109142482563392312574421759319788136557915056979013048624425738685583652303414796927942840714493173335573016813135799275575113169220762636640485464605241105828366912272340086709423716774770023577859153844724717634517841302767375203623491070245137179736896187581685314525406441817058394082754715854636249077604694515898291406918950893641461451369582761985628498478074095630640152168682914478854110412397945230885025739451868042337422982403 867764470143326085871787869567157332396575505429692974844252412808341541223579348457051661057450105427817582148573131002553522922145231948876085817115076631639988108426044927348841230494191026360134040406085022935149435563227177070895037440266317782867856297794775220175309892077669995731644365562712099564773139850607417373885006775012150839344980908635956741057966488637169777336589659957305394495104535135749479806551451599554949527769597839139423460898009403009197675209881565242632359188779273173628007574533480556191128439576845116122467410806020750258457231084584748235243877775204101252906973450496897432318474970911249034065317514176348469559749159558715059094575267843781610476017435416203393926913561552107523152055878752025359915287022934986451034959560190481406125676312381334689282825147186996186062624951950277717379904431686650651199082636238891204686629131716624133578002270241012766044387359883047637822492512275752689260258791890397154568627420724007017551204450432058203009026026852023433080926739607254650246178514972616586063473855350262774607056977395331366861907002040682140877862734149775526307478481544307704315351303593868108832310695630673282665794381771921217248839438699732100773625421658967621182024467788331383422328141830655657792606028916187751798965701541234570613962036603332922938475813301886823693376816450104117941190019181248265668465968321500996804634557836584913846446549371140258666040237701755816834786739930666054930385745573952624641671802879161004872388820644105462944046392289215937471477849289998492531101748492210557345888789134962502806960419291063063543145085421427052294989219301455496323274763134919471388824627414238187057323791267683654916262853308831536326639969716774273141662838552504783434240171035417393255470207345769760904964377652872665399834518082948611185686490324512952004160083491005286478117855231191497605123722273732231934438332023654110875493563954926853122704564591037175572109247983580543292168423846742785044377531356846999086743312641114319266148791453460384173883322594448051529847257166603352175291400576972724819481398787680021233645947407387765424771565774061542586520118817655438616510766268826727059746091827501080862177226809872883983694320975180308372951040618361229135018049130634932007471257019986418774439093273741590539183114354617825558706330536089874857588491405434214419478118125399418600433706092356826510965993488335203561864189600602385527746486182949428341193840197668568001443616047940955270078913298753169324371507237486937594849730830893995811759156067432657586590740870948035119337051904564944577504985798222836088130935976895794177730041870754294908123876616622549406614714648454836585981906790697134892129099373494398073534004955711917070123923584712465155411341932725130449684747892912707375016162083130181199092805228778372350606988797352970280141452048964372486266567838105403644277974253301249886129169120747005035228896295729320242801214477678828285351031615268673670012195377786431529307998946007738904056505654510836804845332720804065539317989355751008463174252666832375403229447181407009646176059409807940331914810560551935536828041654666721699853474355358336838156268627085047530962220281995543487447411229118898174876940830447051912888357596087127470224940737010425842000023358353520368043256558830376337888688336893883645971266721733103261773561130976892435327231450922392013584785388000055728855045502438511332528404351541819399892608440154731730647554008109150374346004193649595074690482751372410673016544517758627406385309106181932896789571203059278113456140706350061444575590573622101281311745094665381972634514567384002988782960306151871027682297057239158688143952999477235236222759933838645173844582184339897432658858774149590346858352342955240021274110212921524486431810923649229978042207154911756129013951348559913641611501281145491335509468912267291069837954899255631782377555284266284312097978898369782920542724 1404072406921444943923022622586629101924268330226149339500158724645300665718454431050591748115951045616329021685163550798709942795292594933317351174195050643627841190200220396428463067474865025583095403912730966866900406618461141077127699318529657175405353856259086155878753509988833387200899558904366021272607885943468955562234476340909918999112997294728226520154472991262700494658765384139626846127607205588887907263017703214597447038073209599386812547605252862883070351655270267348719183784869022693374003529480613028205424157975771931141603562507598268792243100239213180992888864219918126983491754164345951705426620877162010664080555394034231518304733008352579471042583361986353900600046203284261661992096869963660615362721894074154576870675272157004641490624416235653406420938297570465765869269914683991533054991967826813768475234709523872864557621444484018268476516566456286417471944488870651259609304449880667290560632043315137368359512830472124343320837746674625234406910730788031798936272897994371618385547692860367775444529000042238173406896470950294654531270212003972672014873657415079637802994790922614976947580159981429235010616373801577762339117613111905771929757367848526476098432194109769493151906971050708904126441134628428541545618800213831635184075900557810039778767072614677686403789246693537505940391393437274195458694153314484956760809002900811495248789407006588065671169098533257421775965939928870643200734319115207607486774499998773357979161673785100906285848527390715098786101659036684502927082655019151487978177478437362880207631521599854294318387605325419361590551384965023487416337314091022199226371962390672762238884790192185074352040995485169645623289115685896144731587967702115907744152574491967915817752654891479321321580451543738329578276422553595070201629885063199661819348341378191467443122432223848346925362694483467796823536512591926857674225846395490932411763457146551277549769644489612119092661525473273741312758737716021034168630261756548092023769378049334462361953926856544419369177078376773850328176697677749464717420615234869482177026524840844352547573413676825704575343948186708891875254308734252057583135501230886427678125589040697124857378580089999753846096428581236079912928936890506518174930020735778578762018070160374489883745105506964453187428172735372754664113038387872363464442762385560816854943355275042832573890927280989156778689134622679566713729637020256949055317779819432172804838992699992253938965439004820625255625312759446385112126800070896287073664164077491950711817918580640968509066580023132543300964730323083027091006862841105021092725210640208033266691770846620546480242024511222616617255857949547588536620933618711810855588702437288327801943736799373425249503599372980670601074229000781286426669899561438798632885381137617045034237627824199028789625543518383444247356637222781230080717688834783440734289239465398489143885285369140757509065774940422931055395066451723143259952746966137689254398757792460786879507460102770522088687882868249648755772674426456318771200074088679823457228319572945795013829071625590149956571383071035199295766319820387195445893969686619129692539942913961473698102248110655541442701907649763367292042478916778372791375097715210878872784782074723322196655427785126085772524045954758012020469301984571362753834085210664132986059448684993401008454769080521868331783968099906041107885600971888753437473932953239272757050728244589419990060317149433853421722533235326862706568814840592439303083241618776197718799625233935802985590966277078415542943224163160945945413996941744861765759555503278004285290083746957674298124880893940957085803735330020643474247565547257699394594569397325868111860727769500813095376604658556279691685884951715101056149929019286770083754539924640554546680552029979918569186526778285479055646901670810047535932902242201375092981084043131119833987543007897931222006637813734485892789953229497169337837430766412120343525127 2271836877064771029794810492153786434320843835655842314344411137453642206942033779507643409173401151044146603833736681801263465717437826882193436991310127275267829298626265323777304297969056051943229444318815989802049842181688318148022736758795974958273210154053861376054063402066503382932543924467078120837381025794076372936119483115922069838457978203364183261212439479899870271995355044096932240622711740724637387069569154814152396565842807438526236008503262265892268026865151832591351542973648295867002011104014093584396552597552617047264070973313619019050700331323797929228132741995122228236398727614842849137745095848073259698145872908210579987864482167911294530137158629830135511076063638700465055919010431515768138514777772826179936785962295091991092525583976426134812546614609951800455152095061870987719117616919777091485855139141210523515756704080722909473163145698172910551049946759111664025653691809763714928383124555590890057619771622362521497889465167398632251958115181220090001945298924846395051466474432467622425690707515014854759470370326300557429138327189399304038876780659455761778680857525072390503255058641525736939325967677395445871171428308742579054595551749620447693347271632809501593925532392709676525308465602416759924967946942044487292976681929473997791577732774155912257017751283296870428878867206739161019152070969764589074701999022082059760917255375328089062475803656369842335622412489300010901866774556816963424321561239929439412909547419359053530927520330269876103658490479680789965871129047308367425449655327727361372738733270092064851664276394460381864397511804256086550959482399512449251521361181692128258562159553327104545740865622899407832680612906953579799647850821010947444070792544208742188959415493443984104755820622579155722833746629899364831106594262716072327219182859461140078628808922548361298929522777974473083301654367823118355279349568669223164346201789170205388425263208444538972215366090064310916884867985699601577460798685603290877068146909406181461448697239497658738635325869830234234502060020272197516247267872401472834352317925417817077367054812464505725808989895594096657300025874508313600169655620048541866294636355309523851917124671917500834708273655391108963896623257865686826547881061354139807897036119291009421891216362526950871961867266009114345203296152742490189023149092921650691712531846680477046993369045406388575379122840715036393224695630508592152617181969420034558332585478882941682280159279202489193257068928807387340382205713369649456398035671314978888306667649411534964320825736090565200887555471194031062210343914745669965670230196438430869354822706823516340657972066381976911525379734566170137943235648267166647441570609227985462694072836172867823323037604328692587671198152585493751582081241494163929082570129030529752409253789907329209988718348747161816597963626020134200360859140883747813220555807303503892788163259622442007395194944061169936090623962747452463502753961443816517539749789407729460549519655480556953617995881814257387659829180080967155576045406809483888996546308928696803477003324292422525359800830252442208941942379230195135777808780247171065229367984568628195397955722466013878280858176276848414823004699198773916278822508944329777047661722905170374109543785381213213242748986691768437862469325342924883121877341769494509323948137021887284654426035802254971593557529230882933543212832422811145451058718341239328485905773747027931322588721500975672821615141675481594437216368848701589677429245812425792793490107985308213658607510794837042949328533269342878842203568144804139879215696209628065729865674320579775579436625988606339058438249897404646463030525853409570422276866454565026800004680768978048331599364592394924865530467136054998488808787793436360430612892267595794567954662242901443055618337701934709033689108825721803664946853590761288734592585324276611169497011920165222291844592712990117675167508513763453649935409664781903264067851 3675909283986215973717833114740415536245112165881991653844569862098942872660488210558235157289352196660475625518900232599973408512730421815510788165505177918895670488826485720205767365443921077526324848231546956668950248800149459225150436077325632133678564010312947531932816912055336770133443483371444142109988911737545328498353959456831988837570975498092409781366912471162570766654120428236559086750318946313525294332586858028749843603916017037913048556108515128775338378520422099940070726758517318560376014633494706612601976755528388978405674535821217287842943431563011110221021606215040355219890481779188800843171716725235270362226428302244811506169215176263874001179741991816489411676109841984726717911107301479428753877499666900334513656637567248995734016208392661788218967552907522266221021364976554979252172608887603905254330373850734396380314325525206927741639662264629196968521891247982315285262996259644382218943756598906027425979284452834645841210302914073257486365025912008121800881571822840766669852022125327990201135236515057092932877266797250852083669597401403276710891654316870841416483852315995005480202638801507166174336584051197023633510545921854484826525309117468974169445703826919271087077439363760385429434906737045188466513565742258318928160757830031807831356499846770589943421540529990407934819258600176435214610765123079074031462808024982871256166044782334677128146972754903099757398378429228881545067508875932171031808335739928212770888709093144154437213368857660591202444592138717474468798211702327518913427832806164724252946364791691919145982663999785801225988063189221110038375819713603471450747733144082801020801044343519289620092906618384577478303902022639475944379438788713063351814945118700710104777168148335463426077401074122894052412023052452959901308224147779271989038531200839331546071931354772209645854885472457940880125190880415045212953575415064714096757965246316756665975032852934151091308027615537584658197626723415622611629428947359838969091916287455515923810651166354203158004502948207008084830236717949946980964688487636342316529344450258661429914628226141331430384333843780805549175280183242565657752791121279428293972761944350220976774503252007500588554370083972345043809552194756193344722811082089918386659054189451383911774961468033915325149295438744487099867409191130362552487591855307211508567475201955519879567259972687377732157811975337715959938425267528849101672499749239466731137424471582933936219124718207309818512694241566833725494332513440545743471699835392470839018485567992175932829892316113697744188520201517114089301350777586774986762955407078638902621514477670136887138214090893199528142635592515717726479856581885878458297159311665273790496016572972241248572541203701673258272272381586275038008751141055602727715455510168146797443491417731528238778343892265545260845320263242915430441576829718531253954845046768902381932048544991582764904260719001592867146019029199175606762706708409954206794148547200190247429027115583327475706683764682507036415601854507423474347245480898163712453774628501642598490832395918012675316372213323477408237708699050582331223702749933790194921907927482589669096057970576669419723560083926611782115047178115552289070197606659540655920446504979893696306199213166339299015273032646526449882938627327496245875711426980158642310007585706880685662880804882776839925341497330788974651098433394699898888532651294478601242956501991617351312649038650409526243337674910808457143785183689294028980512487431201990512289733219244016644198477071915458492271757432503824787617565086549001644975251712906070015155758067537449877561506882547296144241985227425289937278091400667269816871435851890894911865408538478861426975969250951204557216352087770099544958716812723130514367432192236349114635214272881361624804864480220188089336010496531851200879755832962663827573669367407731003484554928063153513851230526724603567957461743260622987772840431194023607592978 5947746161050987003512643606894201970565956001537833968188980999552585079602521990065878566462753347704622229352636914401236874230168248697704225156815305194163499787452751043983071663412977129469554292550362946471000090981837777373173172836121607091951774164366808907986880314121840153065987407838522262947369937531621701434473442572754058676028953701456593042579351951062441038649475472333491327373030687038162681402156012842902240169758824476439284564611777394667606405385573932531422269732165614427378025737508800196998529353081006025669745509134836306893643762886809039449154348210162583456289209394031649980916812573308530060372301210455391494033697344175168531316900621646624922752173480685191773830117732995196892392277439726514450442599862340986826541792369087923031514167517474066676173460038425966971290225807380996740185512991944919896071029605929837214802807962802107519571838007093979310916688069408097147326881154496917483599056075197167339099768081471889738323141093228211802826870747687161721318496557795612626825944030071947692347637123551409512807924590802580749768434976326603195164709841067395983457697443032903113662551728592469504681974230597063881120860867089421862792975459728772681002971756470061954743372339461948391481512684302806221137439759505805622934232620926502200439291813287278363698125806915596233762836092843663106164807047064931017083300157662766190622776411272942093020790918528892446934283432749134456129896979857652183798256512503207968140889187930467306103082618398264434669340749635886338877488133892085625685098061783983997646940394246183090385574993477196589335302113115920702269094325774929279363203896846394165833772241283985310984514929593055744027289609724010795885737662909452293736583641779447530833221696702049775245769682352324732414818410495344316257714060300471624700740277320570944784408250432413963426845248238163568232924983733937261104167035486962054400296061378690063523393705601895575082494709115224189090227632963129846160063196861697385259348405851861896639828818037242319332296738222144497211956360037815150881662375676478507281683038605837156193323739374902206475306057750879257922446741327970160267398299659744828691627923925001423262643739363454007706175452621880171270692143444058194556090308742393333666177830560866197111162704753601445070705343872852741510740948228862200280007048635996926560629018093766307536934816052752353163120898037441254289681718659501289470009950465875618499283997409799011769763170374221065876538226810195199869735506707449727325153217403710897150718052204262945076075672711145151511694692332444952433185603517069771976337184493653227796186157275176439668015327081887864423092230153045105738729920893259253190089409145109071895578808030365845943470534171768789590832382549766656798025639198676549852745207638857448767062241012707077443283889263049630802435970602279067175400854072406274720211804614024772299455663062762803236642991946628070265460669853770724333898336607919707978546771063884429324679646496764424075431034588390629923290887707647601450320937430339401967835720210435200676173043575919617179651078280777467001511530180961260151275912051217864494013693042683298004418260203460196938051877314326205349020115603870432968108227885064070415742998547552512258022019338294887745407952670421128997588768749653151633955722728767970317306840685031811518899026561671908194311265817511044339591369635717929728862275738645282635237760151385199064952816586290051581001552537995618657941733243627783305779841204552230302805987866752501441600290701846703629821133231353141524190947922534135745021432388117225456998132871153635202680235124829936400308617254076840239148302306455921711870089307456909758575333843346129422746819223825098033767504606159490944980324459832143682589876515782804680423202182154897123025119322253654865826609423723952562166254691684342172981566848228375805695823239714721243124970257024076637708250095975926871660829 9623655445037202977230476721634617506811068167419825622033550861651527952263010200624113723752105544365097854871537147001210282742898670513215013322320483113059170276279236764188839028856898206995879140781909903139950339781987236598323608913447239225630338174679756439919697226177176923199430891209966405057358849269167029932827402029586047513599929199549002823946264422225011805303595900570050414123349633351687975734742870871652083773674841514352333120720292523442944783905996032471492996490682932987754040371003506809600506108609395004075420044956053594736587194449820149670175954425202938676179691173220450824088529298543800422598729512700203000202912520439042532496642613463114334428283322669918491741225034474625646269777106626848964099237429589982560558000761749711250481720424996332897194825014980946223462834694984901994515886842679316276385355131136764956442470227431304488093729255076294596179684329052479366270637753402944909578340528031813180310070995545147224688167005236333603708442570527928391170518683123602827961180545129040625224903920802261596477521992205857460660089293197444611648562157062401463660336244540069287999135779789493138192520152451548707646169984558396032238679286648043768080411120230447384178279076507136857995078426561125149298197589537613454290732467697092143860832343277686298517384407092031448373601215922737137627615072047802273249344939997443318769749166176041850419169347757773992001792308681305487938232719785864954686965605647362405354258045591058508547674757115738903467552451963405252305320940056809878631462853475903143629604394031984316373638182698306627711121826719392153016827469857730300164248240365683785926678859668562789288416952232531688406728398437074147700682781610162398513751790114910956910622770824943827657792734805284633723042558274616305296245261139803170772671632092780590639293722890354843552036128653208781186500398798651357862132281803718720375328914312841154831421321139480233280121432530846800719656580322968815251979484317213309069999572206065054644331766244250404162533456172091478176644847674157467411006825935139937196311264747168586577657583155707755650586240993444915675237862607398454240160244009965805466131175932502011817013823335799051515727647378073515993503225533976581215144498193777245441139298594781522260458143498088544938114535003215293998332803536073708847482250591516806127888990781144039694746791390468313101546165566290355962181467898968020607434422048809554718408715617108830282457411941054791370870740250740943341435342099920566343638785395886829980610368317960689264595874228259240813045469919219939196141010595708674597851662163790114934400248168375967810650919597605590902948812038923564035889232558533043686105982117350320468120011732039104215742915758043827599583523605369384513481149366823347296236625370385687545406133278252338288604152505965061244012800320810321130245900841308656652260349605607537203716382064355670382662021145803677028167378263724931128046883808109955407573886647211905031363411179271460491032889095814104270536368605811313904095565931982000458668116128447875992545256899397025417359777331359798225214280114751455073183839533807533590071663619352717727978344130071979053099055429878494419217722263411088888554732864957766721942211713891811273295051984821337628346579997917374873300195729811793943963308435648655980187645567808651444240523892460882845409699212210943228124020930196530971818777730262633947886798801794725308290491497098508724786736227289647638454220674829773818069574423796246947004464938667959933872048134350528417438698317902143169166199635440205760177190455654675334559639753700931346922220352255226337586708654744110056019738158346816623735497845935771185551303094297333979963171311595197578726221418882621459347756652068492797225090788664166305228066662375085212361129818785506066706365256686616389739924059092073176466121776291529319547053766439324811082432000284699625481090527169950479253807 15571401606088189980743120328528819477377024168957659590222531861204113031865532190689992290214858892069720084224174061402447156973066919210919238479135788307222670063731987808171910692269875336465433433332272849610950430763825013971496781749568846317582112339046565347906577540299017076265418299048488668004728786800788731367300844602340106189628882901005595866525616373287452843953071372903541741496380320389850657136898883714554323943433665990791617685332069918110551189291569965002915266222848547415132066108512307006599035461690401029745165554090889901630230957336629189119330302635365522132468900567252100805005341871852330482971030723155594494236609864614211063813543235109739257180456803355110265571342767469822538662054546353363414541837291930969387099793130837634281995887942470399573368285053406913194753060502365898734701399834624236172456384737066602171245278190233412007665567262170273907096372398460576513597518907899862393177396603228980519409839077017036963011308098464545406535313318215090112489015240919215454787124575200988317572541044353671109285446583008438210428524269524047806813271998129797447118033687572972401661687508381962642874494383048612588767030851647817895031654746376816449083382876700509338921651415969085249476591110863931370435637349043419077224965088623594344300124156564964662215510214007627682136437308766400243792422119112733290332645097660209509392525577448983943439960266286666438936075741430439944068129699643517138485222118150570373495147233521525814650757375514003338136893201599291591182809073948895504316560915259887141276544788278167406759213176175503217046423939835312855285921795632659579527452137212077951760451100952548100272931881825587432434018008161084943586420444519614692250335431894358487743844467526993602903562417157609366137860968769960621553959321440274795473411909413351535423701973322768806978881376891372349419425382532588618966299317290680774775624975691531218354815026741375808362616141646070989809884213286098661412042681178910694329347978057926951284160584281492723494830194394235975388601207711972618292669201611618444477994303353005742770981322530609962125892298744324173597684603935368614507558543669710634157759099857503435079657562699253059221903099999953687264195368978034775771234806936170579107317129155647719371620848251689990008819878876068035509073751764935909127489299227513732688518008874910347231681607443220666264667063603731610251863186558469310077444372514685173217692713026907842052220582315275857247408967060936143211170848807370293668792002799597727131328420522223634340671546939404392324740162251664891629326614112778446574188846657443342730586405443552407478666246679493455326041042191968669774619153451792296876195391262459392363698819762404950159213449929812617190415906155136041311506788565499897148981833009243136312468374290959415731888041769014692046448770923089388305646754913714931372472154219632309503172045127118473619305013092431747293628048117495655461945220416029663386120657711096334356043057676035884566463923684204734193827256313458915354416503362321402426503836338883076668718300475316642597010855612137265226725810295712715224459751585025398084085356662036015732396604333532175991150932744204699768237837867281521856662960750021837137685210261444323531317071323116225373754532668338503870888964479464945577919031164416626297494486252840462963139550454132791039720965029721987567715390565914460700681053468907916583124558953179924373243308083388560305788288765285266296395953918457557123849415628348477249810452805420461375472338836197232047259831549255284693357147557974341505198622843771900791557772624854566549602455477085162737895325908820950295168040464802738335605587153392680944126636937643463402709990535420295612493726025042112404328081111900636479814967304446970985651268844529982335386249141039160932532974680410568951906178750776415349447688624519905125242877006154046054207402257308776263189340623145877350914636 25195057051125392957973597050163436984188092336377485212256082722855640984128542391314106013966964436434817939095711208403657439715965589724134251801456271420281840340011224572360749721126773543461312574114182752750900770545812250569820390663016085543212450513726321787826274766476193999464849190258455073062087636069955761300128246631926153703228812100554598690471880795512464649256667273473592155619729953741538632871641754586206407717108507505143950806052362441553495973197565997474408262713531480402886106479515813816199541570299796033820585599046943496366818151786449338789506257060568460808648591740472551629093871170396130905569760235855797494439522385053253596310185848572853591608740126025028757312567801944448184931831652980212378641074721520951947657793892587345532477608367466732470563110068387859418215895197350800729217286677303552448841739868203367127687748417664716495759296517246568503276056727513055879868156661302807302755737131260793699719910072562184187699475103700879010243755888743018503659533924042818282748305120330028942797444965155932705762968575214295671088613562721492418461834155192198910778369932113041689660823288171455781067014535500161296413200836206213927270334033024860217163793996930956723099930492476222107471669537425056519733834938581032531515697556320686488160956499842650960732894621099659130510038524689137381420037191160535563581990037657652828162274743625025793859129614044440430937868050111745432006362419429382093172187723797932778849405279112584323198432132629742241604445653562696843488130014005705382948023768735790284906149182310151723132851358873809844757545766554705008302749265490389879691700377577761737687129960621110889561348834058119120840746406598159091287103226129777090764087222009269444654467238351937430561355151962893999860903527044576926850204582580077966246083541506132126062995696213123650530917505544581130605925781331239976828431599094399495150953890004372373186236347880856041642737574176917790529540793609067476664022165496124003399347550263992005928492350525743127657363650566327453565246055386130085703676027546758381674305568100174329348638905686317717776478539737769089272922466542767068747718787679676439623890275790005446896671386035052110737630747378027203257698594512011356986379305129947824548456427750429241632078991749778534946934413879283329507406555301009617974971549819030538816406999656054386926428398833688979366213229170021966214044654457437330684878794563494727936101428644016672334677994256330648618279707311677086552606190907290860012430788195484557111938788840184323605267421167663633137785632170884830825467624708487121172040508821233457664986653611928375289317166277099046228989854230892233810508386010325340562301373379809712831818831494444054374956365687856444789999429760505425824987937932323244445218458379628823857874507569211754020492194274979753290461571243899709435892655755023588024732503825239846706888427191474144001967034238235424321795426381220586589992104224139618793694544358308239387406468855307345057496812780018838464363624919270229258512069294303402885171952467330952661263557374713668014370632943497063451940090410464170297643591118832931674157020281388733460374948463604155044249988174083194187455560130692610745217693614979603859627421975336134804612123307937563002101112666255878744189160209276739521882339600065282277682131820649114407380074346593673885130664241932930795839411496110991672499831199170550531011357754974649681533799580487069030575024992574913934850174593287330941918990052144724196814917744088421309344386970547760464698529867157427862523347193414547265375813299426576126117412378555497896524675829340389075482034563565060351187778623149554959341084999328452129677940031940797382673161847015493191219947443924733863675837763969129277040058093111137290879335506905067547747378959824666999239339937097185341646102809868488525913810400811434444789930772593370865289834257593475888670431150315827830168443 40766458657213582938716717378692256461565116505335144802478614584059754015994074582004098304181823328504538023319885269806104596689032508935053490280592059727504510403743212380532660413396648879926746007446455602361851201309637264541317172412584931860794562852772887135732852306775211075730267489306943741066816422870744492667429091234266259892857695001560194556997497168799917493209738646377133897116110274131389290008540638300760731660542173495935568491384432359664047162489135962477323528936380027818018172588028120822798577031990197063565751153137833397997049109123078527908836559695933982941117492307724652434099213042248461388540790959011391988676132249667464660123729083682592848789196929380139022883910569414270723593886199333575793182912013451921334757587023424979814473496309937132043931395121794772612968955699716699463918686511927788621298124605269969298933026607898128503424863779416842410372429125973632393465675569202669695933133734489774219129749149579221150710783202165424416779069206958108616148549164962033737535429695531017260369986009509603815048415158222733881517137832245540225275106153321996357896403619686014091322510796553418423941508918548773885180231687854031822301988779401676666247176873631466062021581908445307356948260648288987890169472287624451608740662644944280832461080656407615622948404835107286812646475833455537625212459310273268853914635135317862337554800321074009737299089880331106869873943791542185376074492119072899231657409841948503152344552512634110137849189508143745579741338855161988434670939087954600887264584683995677426182693970588319129892064535049313061803969706390017863588671061123049459219152514789839689447581061573658989834280715883706553274764414759244034873523670649391783014422653903627932398311705878931033464917569120503365998764495814537548404163904020352761719495450919483661486697669535892457509798882435953480025351163863828595794730916385080269926578865695903591541051374622231850005353715822988780339425006895166138076064846675034697728695528321918957212652934807235851152193844960563428953847263098102703996345229158376826152299871453180072119620228216927679902370838482093262870607070478135683255277331349387073781649375647508881976328948734305169959533847377980890521893963490046132757614112066118403655773556906076961003699840001468524955754292755351365016480307065945527102460849046544271504925008530964734158110006276909645630880292773753576465907841015906640762323167078179901153794141670924514386898576571606505865688674372613229763777039714661153681222790995082284243267209362407957945938968107068025462525794422549722454794238821265567746229355478676800395573059055480782767983412956592501555030896422860903585127539462117637438496764642269105195517651256849004534169815617669061980415335915641467136494726497823141594200291388871960170342881860171169752380236043994445336910342166989097741539410668738519397204658044872156210060472318592617621272047330667171615423474498716242051937324640169282179815202069404573743449526531343229623960736464223572658190881232729144612928572656624805311675788806214029329981857850030310611381488555634328678665900706176885522103342703858329758242376943424749192771552797136331035400920918287893955693397997974132601880654365001440997312632236780458335929194631053788375855645334594382615078124688741685099801370764481908575176618073489577370519624800726464924851629271654918363554802062025452373180884668078467114135916708154574054777107663875629336363313757860180231246128511744888065768405680493201446625370549508882684816725806744992511958361416412712555880494751388888770574436143198476917675185003410064446127131306425551813377360472386010646355819087952293294946672152721133073804576969584260785383152382435788803713673468966846268003918875869765756855025397558108276530604351435049883133628100863827931772314617507754293552281560644903875361499025331339570032807778747416919497236514902252151859771773461705181083079 65961515708338975896690314428855693445753208841712630014734697306915395000122616973318204318148787764939355962415596478209762036404998098659187742082048331147786350743754436952893410134523422423388058581560638355112751971855449515111137563075601017404007013366499208923559127073251405075195116679565398814128904058940700253967557337866192413596086507102114793247469377964312382142466405919850726052735840227872927922880182392886967139377650681001079519297436794801217543135686701959951731791649911508220904279067543934638998118602289993097386336752184776894363867260909527866698342816756502443749766084048197204063193084212644592294110551194867189483115654634720718256433914932255446440397937055405167780196478371358718908525717852313788171823986734972873282415380916012325346951104677403864514494505190182632031184850897067500193135973189231341070139864473473336426620775025562844999184160296663410913648485853486688273333832230505476998688870865750567918849659222141405338410258305866303427022825095701127119808083089004852020283734815861046203167430974665536520811383733437029552605751394967032643736940308514195268674773551799055780983334084724874205008523454048935181593432524060245749572322812426536883410970870562422785121512400921529464419930185714044409903307226205484140256360201264967320622037156250266583681299456206945943156514358144675006632496501433804417496625172975515165717075064699035531158219494375547300811811841653930808080854538502281324829597565746435931193957791746694461047621640773487821345784508724685278159069101960306270212608452731467711088843152898470853024915893923122906561515472944722871891420326613439338910852892367601427134711022194769879395629549941825674115510821357403126160626896779168873778509875912897377052778944230868464026272721083397365859668022859114475254368486600430727965578992425615787549693365749016108040716387980534610631276945195068572623162515479479765077532755700275964727287722503087891648091289999906570868965800504233614740087012171158701128043078585910963141145285332978978809557495526890882519093318484232789700021256705135207826605439553354401468259133903245397678849378219862352143529537020902752002996119029063513405539651437514328873000334769357280697164594756008093779592558002057489743993417196066228204229984656506202635778831751247059902688706634634694523886862366955145077432398865574810321332008187019121084538405110598624997093521943775542679952495473343971447201961641674629089895570314941186721576570827937154483968381684290316316383230621952013693653579190566841355205998202592281551206389274731658600311426593434553280261863529752688918269864299910258060559712667409158057300579233691547784020750653753137395635925472442978000798138022078818027336482751293058909126181305525506770414765676146892961482664430146386039418749768500784028217389429382923772872430318974198627371913410888807177432066423762107421937161870112002916948899510066761623239081568902595937218900879936828641929428864308900973509746427712813130855995386650574681457549244242411122554506151999373871440641950928208196847741273544981991245415224743978625752121499131392130605991116641055819746933822691261432399397224813482653146501260740486079650909092371088143148958128666743347098347979981044856940054212116593140541317938991351377956758000850261359267284898018424621683710364547190852858749894138691777899699147320138809982293513587849159394213558136444045680715867249017645147274463129223736310907244362698366938338750435094166096303105032219007687395732637925643440288293597303994161112777292752976656891283570140418403841944803436035950249442625053043792597381965562342651807135765940888859395035951070997543597711101848254287757152049585203482517001525058168056314229451281994933620912891580131679756639838895033895083490669245567409939858340117430881007060688494931011654554604939635198384370513392401275309426142774014822738551340787784787070772495728040530202923777533011251522 106727974365552558835407031807547949907318325347047774817213311890975149016116691555322302622330611093443893985735481748015866633094030607594241232362640390875290861147497649333426070547920071303314804589007093957474603173165086779652454735488185949264801576219272096059291979380026616150925384168872342555195720481811444746634986429100458673488944202103674987804466875133112299635676144566227859949851950502004317212888723031187727871038192854497015087788821227160881590298175837922429055320586291536038922451655572055461796695634280190160952087905322610292360916370032606394607179376452436426690883576355921856497292297254893053682651342153878581471791786884388182916557644015938039289187133984785306803080388940772989632119604051647363965006898748424794617172967939437305161424600987340996558425900311977404644153806596784199657054659701159129691437989078743305725553801633460973502609024076080253324020914979460320666799507799708146694622004600240342137979408371720626489121041508031727843801894302659235735956632253966885757819164511392063463537416984175140335859798891659763434122889227212572869012046461836191626571177171485069872305844881278292628950032372597709066773664211914277571874311591828213549658147744193888847143094309366836821368190834003032300072779513829935748997022846209248153083117812657882206629704291314232755802990191600212631844955811707073271411260308293377503271875385773045268457309374706654170685755633196116184155346657575180556487007407694939083538510304380804598896811148917233401087123363886673712830008189914907157477193136727145137271537123486789982916980428972435968365485179334740735480091387736488798130005407157441116582292083768428869229910265825532227390275236116647161034150567428560656792932529816525309451090650109799497491190290203900731858432518673652023658532390620783489685074443345099449036391035284908565550515270416488090656628109058897168417893431864560035004111621396179556268339097125319741653445005822895351208390807399399752816151858846193398856738606907829920353798220140214829961751340487454311472940581582335493696366485863512033978905311006534473587879362120173077581220216701955615014136607499038435258273450378450587187189027085023210849329283503662450656698442133988984301486521492103622501607529262184631860003541562583163639478671752715584858442999389986059540367169432900672179893247912119081826257016717983855242648411387508270627973814717529119145860336489250612209525128719854530243689711985865701108475147399543660349657056056903546080160270336613167374876370185649125598473207565000239497145357381799684062837221015984275735056102351018256664499219778587058456132771722889940825283992190284049339051647076614040980763464934560615439294902664347923222854134008142063443295996923194568750830101591788360097977390927969527633619041157372744198560271289554093525252666362968643964282255577877904918971477092500626819141819914984159127009371828659379244511128899569767552642375378653070693866753504478183153324948497117386874305521917993804305418285708465983780745387384728518484369214607553013508523530079759011321227273074774289237133610054765720809271891822817941341850276526549591190641774168238231845918054057876817115051830010658982098842356126640875948979002344982485854252686448897051476470512570045139753812403335444643974345409586760109721485081129029099428035367967628269148419323948046603734833922785242767522949015620161896418861600535327484759283191171283797791088014908238327703301652508295274397342431616777107073455801413131127090065658843106186678977838584037745488615252699982852974284336696192324806524685585823529961467782385375626788778938442191492702236755508337081643899416799054141549234429304770718277287093971109318953439466611887070798647294381858426399683675515708660790750108888227353843940544209775167314014635161552322862783969172112693928750665931158296276636808451474113584855546330088204704284307287397980192389974697239238192334601 172689490073891534732097346236403643353071534188760404831948009197890544016239308528640506940479398858383249948151078226225628669499028706253428974444688722023077211891252086286319480682443493726702863170567732312587355145020536294763592298563786966668808589585771304982851106453278021226120500848437741369324624540752145000602543766966651087085030709205789781051936253097424681778142550486078586002587790729877245135768905424074695010415843535498094607086258021962099133433862539882380787112236203044259826730723115990100794814236570183258338424657507387186724783630942134261305522193208938870440649660404119060560485381467537645976761893348745770954907441519108901172991558948193485729585071040190474583276867312131708540645321903961152136830885483397667899588348855449630508375705664744861072920405502160036675338657493851699850190632890390470761577853552216642152174576659023818501793184372743664237669400832947008940133340030213623693310875465990910056829067593862031827531299813898031270824719398360362855764715342971737778102899327253109666704847958840676856671182625096792986728640622179605512748986770350386895245950723284125653289178966003166833958555826646644248367096735974523321446634404254750433069118614756311632264606710288366285788121019717076709976086740035419889253383047474215473705154968908148790311003747521178698959504549744887638477452313140877688907885481268892668988950450472080799615528869082201471497567474850046992236201196077461881316604973441375014732468096127499059944432789690721222432907872611358990989077291875213427689801589458612848360380276385260835941896322895558874927000652279463607371511714349928137040858299525042543717003105963198748625539815767357901505786057474050287194777464207729530571442405729422686503869594340667961517463011287298097718100541532766498912900877221214217650653435770715236586084401033924673591231658397022701287905054253965741041055947344039800081644377096455520995626819628407633301536295822801922077356607903633367556238871017352099984781685493740883494943505473193808771308836014345193992033900066568283396387742568647241805510750559888875056138496023418475260069594921817967157666144519941187261269569407514100592728678522537539722329618273019731353863036889997078081079079494161112245600946458250860064233526219089366275257503503962644761131706024620754064254031799855817257325646777693892147589024905002976327186816498106895625067336661304661825812831962594583656727090361529159333585282300806887830051718227480814833625437741193862396543500958565181068529949376215966953679205767592521048351746656531342663148647609418829015317965880770945582769084078497316516692484390299098882584571423975597123072397730367178376399390407003593440093040686426741250190616759435122352422178228720075521244867267935253059460055358115913673037790925873528226777660718937017298125096681942842591654168988766712096403543516262734241078981785096162043958271338726140867750210468472363489861276258589899335796182368787084126834694924830200005161517304644378986875834952708394903299893536727892355809856558481221705371271353303993312472688299518267862885731553897112939877882939458997161597210349240852623041171393051714499064555318617303194702739103030070241991314255307619296077350324963530711192740661013644617011830509036491131769161336294905333612694484778534343168791493576290280894117861766960926319023095366742544816216298830616682343229178298340464542316402576502404430465634413021527398922152601026070239991258730368563438734721809326081143197145769052733505947136703490673138951361330498465272143983552993392688178640995760842474935028448583005260379767341189131430745577957433591096150544288152641443014510155989803522186456820303480769610972634377121495780841338352793580915294750006531363432155547555824645192378896599411350484068115284744895642222240817793795623726717633563949050301671688677912117877616887599678284881428992489071378059893708232920177621016771203586123 279417464439444093567504378043951593260389859535808179649161321088865693032356000083962809562810009951827143933886559974241495302593059313847670206807329112898368073038749735619745551230363565030017667759574826270061958318185623074416047034051972915933610165805043401042143085833304637377045885017310083924520345022563589747237530196067109760573974911309464768856403128230536981413818695052306445952439741231881562348657628455262422881454036389995109694875079249122980723732038377804809842432822494580298749182378688045562591509870850373419290512562829997479085700000974740655912701569661375297131533236760040917057777678722430699659413235502624352426699228403497084089549202964131525018772205024975781386357256252904698172764925955608516101837784231822462516761316794886935669800306652085857631346305814137441319492464090635899507245292591549600453015842630959947877728378292484792004402208448823917561690315812407329606932847829921770387932880066231252194808475965582658316652341321929759114626613701019598591721347596938623535922063838645173130242264943015817192530981516756556420851529849392178381761033232186578521817127894769195525595023847281459462908588199244353315140760947888800893320945996082963982727266358950200479407701019655203107156311853720109010048866253865355638250405893683463626788272781566030996940708038835411454762494741345100270322408124847950960319145789562270172260825836245126068072838243788855642183323108046163176391547853652642437803612381136314098270978400508303658841243938607954623520031236498032703819085481790120585166994726185757985631917399872050818858876751867994843292485831614204342851603102086416935170863706682483660299295189731627617855450081592890128896061293590697448228928031636290187364374935545947995954960244450467459008653301491198829576533060206418522571433267841997707335727879115814685622475436318833239141746928813510791944533163312862909458949379208599835085755998492635077263965916753727374954981301645697273285747415303033120372390729863545498841520292401570803848741725613408638733060176501799505464974481648903777092754228432159275784416061566423348644017858143591552841289811623773582171802752018979622519543019785964687779917705607560750571658901776682182010561479023986062382565600986264734747208475720435491924237067781672529914736175256678229619574705414606813604621201232756489437218894689812973973846041622986831569835227885615166253041151378833780971673168451845195866252219081383689577274994286672588938526865627024475183282493798097408476703771295178348443406319561865092552152413332592760545497104038331026725985868625403104750374068231789202247268303857084374972825256113189039707868563614259646462124044806981219357162855341564208879387943350774664473044750767577185795718175151914644272074968859723613157437446286085441306656832083246272425337932008491110823377763044911486555936424566644617015375020608763361060220801700080321170967643167385520112261339368042131042503651637242970029662935873265267280159643421947586879467039222638183292294120661174378684045280921456410840179071166034235213894801433063004633699961374292557100019341608662833749149774762276938503447486875790443813682945561289946344982609376494120309754569113689052340833670381948495245056352669946016565445427109910696093482343079081630885581564671739549307958104071538644064653872622605389708929485829395230074738347043413346279650139084073384205292244798460236883403916937903987163713656805696819318486937060839353773541643767025642960781166338586433154598998558900179823571605979809677352116789945368243953887396683535846366972515337188085648999620614272112966728162152716815920209684020148926293332906052625234285342431309210131352756615761591021758056704943743696074935247453225423592228209676608432931047107671256216615395301267123953255291028277890452058910277383793140656579592898830327492699716232829984954548926329091001184533831211517197193355685347291688425310152318256009395920724 452106954513335628299601724280355236613461393724568584481109330286756237048595308612603316503289408810210393882037638200467123972092088020101099181252017834921445284930001821906065031912807058756720530930142558582649313463206159369179639332615759882602418755390814706024994192286582658603166385865747825293844969563315734747840073963033760847659005620515254549908339381327961663191961245538385031955027531961758807484426533879337117891869879925493204301961337271085079857165900917687190629545058697624558575913101804035663386324107420556677628937220337384665810483631916874917218223762870314167572182897164159977618263060189968345636175128851370123381606669922605985262540761912325010748357276065166255969634123565036406713410247859569668238668669715220130416349665650336566178176012316830718704266711316297477994831121584487599357435925481940071214593696183176590029902954951508610506195392821567581799359716645354338547066187860135394081243755532222162251637543559444690144183641135827790385451333099379961447486062939910361314024963165898282796947112901856494049202164141853349407580170471571783894510020002536965417063078618053321178884202813284626296867144025890997563507857683863324214767580400337714415796384973706512111672307729943569392944432873437185720024952993900775527503788941157679100493427750474179787251711786356590153721999291089987908799860437988828649227031270831162841249776286717206867688367112871057113680890582896210168627749049730104319120217354577689113003446496635802718785676728298675845952939109109391694808162773665334012856796315644370833992297676257311654800773074763553718219486483893667950223114816436345072211722006207526204016298295694826366480989897360248030401847351064747735423705495844019717935817341275370682458829838791135420526116312778496927294633601739185021484334145063211924986381314886529922208559837352757912732978587210533493232438217566828650500005326552639635167400375589090598259592736382135008256517597468499195363104023206666487928629600880897598826301977895311687343685231086602447504369012516144699457008381715472060489141971000806517589926812126312223700156354167010028101359406545591549329468896538920809780812589193478788372646384130098290293988520049701913364424515913983140463644680480425846992809422178686351988470594000761896189993678760640874380706411439227567668875233032612306694544541467506866121435066527989807897022044383722061878108488040138442797486000414439779522979309442912848910860276587479476768578583854505290016907931539291270873247272253743529511936268938081059505831619100185281593848850694862369389134516234821933765692034112560147830037387935581691489517740503488138590453135038235243585196442537348397733562245748567802319480984037201405723235367527012308148140353380634719793319836127658866216897501644201354979694623009119800652115592727428128121502859726854329147590593555411329111778564125026095301299783485176483214925914506111660980011549836514494532364927895832869365459118242052351406994338346777786884628556527282562279169955613882773587345174458184303195988927724515456919266072786366997946172649673810824962905073162559946689027657701735935665044697225031296436724116954341660844047164695111423504457308216719122582824984637256114541133702994909547276638167770924340710494173588118122017350726008034454641570798556317178407822664116181679989823603691162191001057370138780088824466355382904000887635473976758577347946233340480489568144122440109840845885859213440379843781635025756011524219901060395759235742195704669232557077553116513168025255741306698742419159540667088839759660693978183846491474555642720695971988541920058005051640429598106359884429056596913386926785445819366121156278802218411325238826315916378073196431028294563776385809124971358439462410539826803772440040493646020552666641512346005736803805919606033958450375216625547961056648766534501673632461044206707888784212116092946189682427063407185396658230329939272780599506847 731524418952779721867106102324306829873851253260376764130270651375621930080951308696566126066099418762037537815924198174708619274685147333948769388059346947819813357968751557525810583143170623786738198689717384852711271781391782443595686366667732798536028921195858107067137278119887295980212270883057909218365314585879324495077604159100870608232980531824719318764742509558498644605779940590691477907467273193640369833084162334599540773323916315488313996836416520208060580897939295492000471977881192204857325095480492081225977833978270930096919449783167382144896183632891615573130925332531689464703716133924200894676040738912399045295588364353994475808305898326103069352089964876456535767129481090142037355991379817941104886175173815178184340506453947042592933110982445223501847976318968916576335613017130434919314323585675123498864681218073489671667609538814136537907631333243993402510597601270391499361050032457761668153999035690057164469176635598453414446446019525027348460835982457757549500077946800399560039207410536848984849947027004543455927189377844872311241733145658609905828431700320963962276271053234723543938880206512822516704479226660566085759775732225135350878648618631752125108088526396420678398523651332656712591080008749598772500100744727157294730073819247766131165754194834841142727281700532040210784192419825192001608484494032435088179122268562836779609546177060393433013510602122962332935761205356659912755864213690942373345019296903382746756923829735714003211274424897144106377626920666906630469472970345607424398627248255455454598023791041830128819624215076129362473659649826631548561511972315507872293074717918522762007382585712890009864315593485426453984336439978953138159297908644655445183652633527480309905300192276821318678413790083241602879534769614269695756871166661945603544055767412905209632322109194002344607831035273671591151874725516024044285176971380879691559958954705761239470253156374081725675523558653135862383211498899114196468648851438509699608301020330744443097667822270296882491192426956700011086237429189017944204921982863364375837581896199432965793374342873692735572344174212310601580942649218169365131501271648557900432300355608979443476152564089737659040865647421826384095374985994937969202846210281466690581740017897899121843912707661782434426104729854017319104000281116853834381273496434265368796131763436157319840095281108150976639466857272269337228131149639418972223769159168866284975389231528524296538488135270874152065707105449481529765200190425337388679349951043548921877955342588499946152057984032432778042139345954733193396115120384860225038516066102344349350077305691792666066462342996616677178298321698652494890047320487344329617090725101090132011198868927387976070196280118294589493943858528532549364065394804987382479374334947930286796286351455092366073077453524735919238944880622771765815703527018122055946127153584733789456361520585185256804385893557673497181092272889204556625574868579533075839395122054115317618687153981768725373764095595749920745571464076275057152271390455379640714036167998890549692133160874219430002579872611048103382062924414771222780438177432464012874168492184100821740250407062515631607189029774071605543814211877330408174923658655019204609786190055664855563842083594880835036803976516667199752902932290679774003949528902627855822472476536738787069698753089520557421075795717182193435104116494466977385092927718775218814231350150278384476731857779245806660164372796274279733617323278792781654485001067398982192390341194263569412380649159096322845377372531252066986373046937350624686126633209315371932140474176256992808938716704072774820971850113618255286177761962649538621212127877128576252509035417980002346996883020860121769271366275747789199978037334647966872393457647498059989055435794913144505921932540623896188862716196989827099106954809524378288549348482767331658587009970535798889968745947304463386875782748754477085083540482257528789995427571 1183631373466115350166707826604662066487312646984945348611379981662378167129546617309169442569388827572247931697961836375175743246777235354049868569311364782741258642898753379431875615055977682543458729619859943435360585244597941812775325699283492681138447676586672813092131470406469954583378656748805734512210284149195059242917678122134631455891986152339973868673081890886460307797741186129076509862494805155399177317510696213936658665193796240981518298797753791293140438063840213179191101522939889829415901008582296116889364158085691486774548387003504766810706667264808490490349149095402003632275899031088360872294303799102367390931763493205364599189912568248709054614630726788781546515486757155308293325625503382977511599585421674747852579175123662262723349460648095560068026152331285747295039879728446732397309154707259611098222117143555429742882203234997313127937534288195502013016792994091959081160409749103116006701065223550192558550420391130675576698083563084472038605019623593585339885529279899779521486693473476759346163971990170441738724136490746728805290935309800463255236011870792535746170781073237260509355943285130875837883363429473850712056642876251026348442156476315615449322856106796758392814320036306363224702752316479542341893045177600594480450098772241666906693257983775998821827775128282514390571444131611548591762206493323525076087922129000825608258773208331224595854760378409679539803449572469530969869545104273838583513647045953112851076044047090291692324277871393779909096412597395205306315425909454716816093435411029120788610880587357474499653616512752386674128460422901395102279731458799401540243297832734959107079594307719097536068331891781121280350817429876313386189699755995720192919076339023324329623236009618096689360872619922032738300060885927048192684165800263684788565540101557968421557308490508888874530039595111024349064607704103234577778409409598446520210458960032313879105420556749670816273783151389517997391468016496582695664011955461716366096229649931625340696494124248192194178536112187786613533741798201534088904378991245079847898071038170433772310964269685819047796044330566477611609044008624714956680830740545096821242081168198172922264525210473867757331159635941876086008739410510851952343309854961947116428732827320077808195901178255783196322294723532777959978380987528293061948942371667297981102826307977624826706216716174678966447363879316653059290009258127459110666566645169280724754912210837967209387398995547461631542475684033336035055217098356876679950223198315802665407467278857438027211563815651532963323733194805428055765504254901095046972281758136456909497907343079728247757951860737120165316888774833690730133632516929881678014824287346838699813518349911425177475919515485821601802091998881913184083858714641115041345591232449574488151266046078101485873729569117463347367066383482498620144851117611677467275238932148858815551662820368670433287600819472179608842072284439041071120107233507428908708760581172357369970094148320115503160648724152277203307850634031888939925858735629837825017232156926615065149052426947005797000526045260721914207025829487933782727127205090165748809833536881325853036687131179469973268033076938766716967318669185547127297506483639656460724327323758659765111118721762651759377514470690255317874920283016687808458591099701184173000880299200854968749688576693211719612076853087320973523928582849849881385980563192751977391579296383618864966300001901685916501010258655487720113461104913818537666009220968459377951626083389968238644937726712212836013402628272558765728792206478017713525886293903293555778631948731899713504910705245992832826023490543216361646062191019246452008138913322947942373665314220198413672235709336776499842467797304042352976363846459619325311855868187324863761495476288559165058588574052969901925666522116595861057557330026149926249605997249301833332219471014742506778752958063397409576558209812161662481741770812196801570594934418 1915155792418895072033813928928968896361163900245322112741650633038000097210497926005735568635488246334285469513886034549884362521462382687998637957370711730561072000867504936957686198199148306330196928309577328288071857025989724256371012065951225479674476597782530920159268748526357250563590927631863643730575598735074383737995282281235502064124966684164693187437824400444958952403521126719767987769962078349039547150594858548536199438517712556469832295634170311501201018961779508671191573500821082034273226104062788198115341992063962416871467836786672148955602850897700106063480074427933693096979615165012561766970344538014766436227351857559359074998218466574812123966720691665238082282616238245450330681616883200918616485760595489926036919681577609305316282571630540783569874128650254663871375492745577167316623478292934734597086798361628919414549812773811449665845165621439495415527390595362350580521459781560877674855064259240249723019597026729128991144529582609499387065855606051342889385607226700179081525900884013608331013919017174985194651325868591601116532668455459073161064443571113499708447052126471984053294823491643698354587842656134416797816418608476161699320805094947367574430944633193179071212843687639019937293832325229141114393145922327751775180172591489433037859012178610839964555056828814554601355636551436740593370690987355960164267044397563662387868319385391618028868270980532641872739210777826190882625409317964780956858666342856495597832967876826005695535552296290924015474039518062111936784898879800324240492062659284576243208904378399304628473240727828516036602120072728026650841243431114909412536372550653481869086976893431987545932647485266547734335153869855266524348997664640375638102728972550804639528536201894918008039286410005274341179595655541317888441036966925630392109595868970873631189630599702891219137870630384695940216482429619258622063586380979326211770417914738075118575673713123752541949306710042653859774679515395696892132660806900226065704530670262369783794161946518489076669728539144486624619979227390552033109300974108444223735652934369866738104338612559511783368388504778788213189986657842884321812332012193654721674381523807152365740677774563605416372025283363702470104114396505789921546156065243413807010472845217976930039813885917565630748399453386795279082381268645146896330215868101563349898958071413782146546311997282829943086830736588922396518140407766878082890335804338147009730301442366491505925887130818335783608182789482817564820417288782214068629573149359351587285422621445937973363621799683965741365872540760161249161619375285955272010797824238801258847984648771520913824414203733736842495187096532343225023679837417226007631915012447928831824717218838813153546115795604116191296035857410445733447924109446102423824965567397504774947552397533193851946807022642199266606011264105270385960554644629799523221366085733592605008024340953855690091986713029853106023164557328245627745682102086961984548155703226472687588781302301884228534412819748027124053422098108163997078130126085217465731268324925505614841185587821225227003105917871770017589088753902705005507565382522629761684002029065426674776937538241985604875222106712838322511132881062877535472430142294675665334113513814324620674960805357532594414318447206922517627823215307367582462540628603812028823352775737593755819387329782732277033152648804503166959032699344316858771073490911527196205810646533897249443031859680931723161174631451761999847078428192611319320494222035858360144016424584231808057318375871309158858780000803810832715165253415368338212012927112608927710772422908156706313849421950065607646995340656834616932239952981895990629351041200076518626174349638178416019232592357636621611739163579790142176341883794267292184249325834822923750550912083472309564510506593593798114529238313585688156664284835674304538155345732069164990806480985278305668721704010701872963433992560916139566825311294454330360590361989 3098787165885010422200521755533630962848476547230267461353030614700378264340044543314905011204877073906533401211847870925060105768239618042048506526682076513302330643766258316389561813255125988873655657929437271723432442270587666069146337765234718160812924274369203733251400218932827205146969584380669378242785882884269442980912960403370133520016952836504667056110906291331419260201262312848844497632456883504438724468105554762472858103711508797451350594431924102794341457025619721850382675023760971863689127112645084315004706150149653903646016223790176915766309518162508596553829223523335696729255514196100922639264648337117133827159115350764723674188131034823521178581351418454019628798102995400758624007242386583896128085346017164673889498856701271568039632032278636343637900280981540411166415372474023899713932633000194345695308915505184349157432016008808762793782699909634997428544183589454309661681869530663993681556129482790442281570017417859804567842613145693971425670875229644928229271136506599958603012594357490367677177891007345426933375462359338329921823603765259536416300455441906035454617833199709244562650766776774574192471206085608267509873061484727188047762961571262983023753800739989937464027163723945383161996584641708683456286191099928346255630271363731099944552270162386838786382831957097068991927080683048289185132897480679485240354966526564487996127092593722842624723031358942321412542660350295721852494954422238619540372313388809608448909011923916297387859830167684703924570452115457317243100324789255041056585498070313697031819784965756779128126857240580902710730580495629421753120974889914310952779670383388440976166571201151085082000979377047669014685971299731579910538697420636095831021805311574128969151772211513014697400159029927307079479656541468366081125202767189315180675135970528842052746939090211780093667910225495720289281090133722493199841995790577772731980876874770388997681094269873423358223089861432171857166147531892279587796672762361942431800760320193995124490656070766681270848264651332273238153721025592086122013679965353524071633723972540300510415302882245330831164432835345265824799030666467599278493162752738751542916462692005325288005202985037473173703184919305578556112853807016641873889465920205360923439205672538054738235715064173348827070694176919573239060762256173439958279158239768861331001784379391406973252528713457508909534194615905575455808149665894337193556902449507427734485213653204458715313286126365797415150658473516153599875634387139090748579796347675154252692889900303376000575185615335498704689605735565589304927123630187050318983079582375258168345891991851249161582366064470857007812075871366033955157312354347107685646739299794767531638235568750238331022035311089937793098127856292358917531782824087217465170556799847079263098818443611295337820536591759662613973077647587769006105405762241476990496605017882451420559687161322526123379587532502032714865236841767286698865789335594390893256916284398830057558875450621999731695061543900304327361272732140052937003988861715055290748500481852120679990238014768231024003631963132491931796114583390638788234692587612795510493835565946752527813624669421455578143255183651605039478451550248424662769936625934332126058440837572984385786079527120184353791832917897177835502743498324055390921131728304996201824233074938448724569075906475943996645229501891824140482961282194166740157054054104279173597389942917516114409331861582617639662184890107249719960539533106429856986503443004317738095642507974200046702256102583521994872182629076369598443957459893386051737899221015902483489404371640056419818760127196058440473018831200050978578302144001142442637489954523024460999839663858376829691468301694413121454206960883832495152705730253886617496105194022147787512046388372031474623099080646563700040195760430181549214221614861824230787761342981370998323025952000020812447474662074099282539992202373077802048567082106651131931185296407 5013942958303905494234335684462599859209640447475589574094681247738378361550542469320640579840365320240818870725733905474944468289702000730047144484052788243863402644633763253347248011454274295203852586239014600011504299296577390325517349831185943640487400872151734653410668967459184455710560512012533021973361481619343826718908242684605635584141919520669360243548730691776378212604783439568612485402418961853478271618700413311009057542229221353921182890066094414295542475987399230521574248524582053897962353216707872513120048142213616320517484060576849064721912369060208702617309297951269389826235129361113484406234992875131900263386467208324082749186349501398333302548072110119257711080719233646208954688859269784814744571106612654599926418538278880873355914603909177127207774409631795075037790865219601067030556111293129080292395713866813268571981828782620212459627865531074492844071574184816660242203329312224871356411193742030692004589614444588933558987142728303470812736730835696271118656743733300137684538495241503976008191810024520412128026788227929931038356272220718609577364899013019535163064885326181228615945590268418272547059048741742684307689480093203349747083766666210350598184745373183116535240007411584403099290416966937824570679337022256098030810443955220532982411282340997678750937888785911623593282717234485029778503588468035445404622010924128150383995411979114460653591302339474963285281871128121912735120363740203400497230979731666104046741979800742303083395382463975627940044491633519429179885223669055365297077560729598273275028689344156083756600097968409418747332700568357448403962218321029220365316042934041922845253548094583072627933626862314216749021125169586846434887695085276471469124534284124933608680308413407932705439445439932581420659252197009683969566239734114945572784731839499715683936569689914671312805780855880416229497572563341751821905582171557098943751294789508464116256767982997175900172396571474825716940827047287976479929333569262168497505290990456364908284818017285170347517993190476759862773700252982638155122980939461968295369376906910167248519641494804842614532821340124054037989017324310483600305494764932406264590844215812477653745880759601078590075210202669281026216968203522431795435621985448774730449678517756031668275528950090914457819093630306368518143143524818586854609374107870424680900742450805189119798840710740338852621025352494497852326290073661215276447238253845574744215515095570950221239173257184133198758841262998971164696051675921304817209369497034505839978312521749313973938807415019464446055478276325750554088743005473005590993877406614059427193876640622770075406780268204593850307262967898377180180992191764333693278654312242696363462952787589051484568151106694053984394163713702804650979706933533319888995522367244584038046370841144489189767343614401861880579088911693039392065960406871276513717971103616044025567711502276381813471574245531885820888401399095532326611471437681352877805071987625302745147656752923883960229474363648331451414694830248216934082118987800272756479768806777626294831423602589456251006737881004261949385203337293343793742257970135425272177837595012179202590562207663441183018477290364443361989584431311302198242366768229007791392554351387309006461040332477716948206151365104100353130566713631422973383672356908808230647585850676042480388463236258676273678382150696327307441993981538483598928127545015806369803200589451413363852363721263549362823359521559011719807617961299041176306997665040176098239658932558431854759574478454831153730962629880180431159122713308754389949912148128511411200176794548213126132609549146124048120014171856885595510542096983038433266840995723100979626014013496555245710700894052049743065946124463622637329047614048153909680354519856970711262597300455503784187609587240157498154724998743767237370885899697498535325916688713440163313832432985299118116196366084801155503426194933993941615392393401105462291775658396 8112730124188915916434857439996230822058116994705857035447711862438756625890587012635545591045242394147352271937581776400004574057941618772095651010734864757165733288400021569736809824709400284077508244168451871734936741567165056394663687596420661801300325146520938386662069186392011660857530096393202400216147364503613269699821203087975769104158872357174027299659636983107797472806045752417456983034875845357916996086805968073481915645940730151372533484498018517089883933013018952371956923548343025761651480329352956828124754292363270224163500284367025980488221887222717299171138521474605086555490643557214407045499641212249034090545582559088806423374480536221854481129423528573277339878822229046967578696101656368710872656452629819273815917394980152441395546636187813470845674690613335486204206237693624966744488744293323425987704629371997617729413844791428975253410565440709490272615757774270969903885198842888865037967323224821134286159631862448738126829755873997442238407606065341199347927880239900096287551089598994343685369701031865839061402250587268260960179875985978145993665354454925570617682718525890473178596357045192846739530254827350951817562541577930537794846728237473333621938546113173053999267171135529786261287001608646508026965528122184444286440715318951632926963552503384517537320720743008692585209797917533318963636485948714930644976977450692638380122504572837303278314333698417284697824531478417634587615318162442020037603293120475712495650991724658600471255212631660331864614943748976746422985548458310406353663058799911970306848474309912862884726955208990321458063281063986870157083193210943531318095713317430363821420119295734157709934606239361885763707096469318426345426392505912567300146339595699062577832080624920947402839604469859888500138908738478050050691442501304260753459867810028557736683508780126451406473691081376136518778662697064245021747577962134871675732171664278853113937862252870599258395486432906997574106974579180256067726006331624110929306051310650360032775474088051851618366257841809033100927421278574724277136660904815492367003100879450467758934944377050173445697254175469319862788047990778082878798657517671157807507306907817802941751083744638551763778395121974859582329822010539073669325087905654135653888884190294086406511244014264263284889787807225941757203905780992026812888532347639286011902526830196596093051369424197847762155219968400073308134439739555552470004140703353002478700728748775408936552459383549930613909499736515124764571686063060395565789165844709660092671202422052689974513993030354963150745084011891339859015866635660055909976956988989317595539768632474019236989146332675450858119338839264411135338304546111441378925393612037463895101188356339289815590186417783991777492291569995163568511489757620537354166079167091663301145189284755784527587880206161524494552166559280808398171366169112753504214576121498495446127398663598907936851161778033918535753638240862819025477260773275743771061988272024132802706532203545883691924535907548635778775967562388269871086107849515328047228269288629746974821661617357687275010369844136753881181317920683982581976950557748220782671673160958931730404186877084896761161732474016048401468035981559726861012303394163339917450995188960293392247119859597901301997984283001278188633310211955478364304804085213804432471818925614491204957539142734620270323611652588151447924955263732650339085181599120085543400590532368929478261695582846167002485544411666261439768157494405471033293501108044493836335301440532631901461830581038353148603145258956550029603080173202140441687811369144413894689581166188269545951369676342182488593033003056936574088844240984180875904330950246125440625853677354932075402169195746462864520153085347455132481753344302040527176459713879118498774643688827535258810708667886721198194920759173948786585107514559322766113678031694811161636858384985319930563671028158900438043418397307071743663959475507756594222960954803 13126673082492821410669193124458830681267757442181446609542393110177134987441129481956186170885607714388171142663315681874949042347643619502142795494787653001029135933033784823084057836163674579281360830407466471746441040863742446720181037427606605441787726018672673040072738153851196116568090608405735422189508846122957096418729445772581404688300791877843387543208367674884175685410829191986069468437294807211395267705506381384490973188169951505293716374564112931385426409000418182893531172072925079659613833546060829341244802434576886544680984344943875045210134256282926001788447819425874476381725772918327891451734634087380934353932049767412889172560830037620187783677495638692535050959541462693176533384960926153525617227559242473873742335933259033314751461240096990598053449100245130561241997102913226033775044855586452506280100343238810886301395673574049187713038430971783983116687331959087630146088528155113736394378516966851826290749246307037671685816898602300913051144336901037470466584623973200233972089584840498319693561511056386251189429038815198191998536148206696755571030253467945105780747603852071701794541947313611119286589303569093636125252021671133887541930494903683684220123291486356170534507178547114189360577418575584332597644865144440542317251159274172165909374834844382196288258609528920316178492515152018348742140074416750376049598988374820788764117916551951763931905636037892247983106402606539547322735681902645420534834272852141816542392971525400903554650595095635959804659435382496175602870772127365771650740619529510243581877163654068946641327053177399740205395981632344318561045411531972751683411756251472286666673667390317230337868233101676102512728221638905272780314087591189038769270873879823996186512389038328880108279049909792469920798160935487734020257682235419206326244599649528273420620078470041122719279471937256552748276235260405996843653160133691970619483466453787317230194630235867775158567883004381823291047801626468232547655339900886279426811342301106724941060292105337021965884251032285792963701121531557362432259641844277460662372477786360635007454585871855016060230075515593373900777065315088566479104152282603564072098151123630280595496964504239630353853605324644140608546790214061505464760709891102910384338562708050118074786772964355177742708881437532310275347049305810613667497906455509710692803269281001785212850210134938186614776245320894571160460729813216767746451378957198577222916243844346359157791632640734063812668340999514095929267737738981700382998535341744165932649514943802003948452800445374427596800562288217090413104609641133061500970834395603377022733645273096789312395926600880044708426601807162788315519296737875775072204047924280160258564141143928341300158337524478045761886455283697968219491196691153857243161601534336247339191560125900273717355223820563386375131255470973847790237326575984030017932547225114539471695110165875289750322736023565804356642039639958351352088732210957096648867060259649435547854188956469767652154010271196967230190662392636486805168226837315600803708038095407373269653085219947143526017107725141015830566521257977326375719208527883646054849510755971110932994749084748337944180209764380491763457620412871029059254670162392347708843549540347602398708160192075618250204135648105378541763876925586901337688476442122612663119404776290533685346002378993296544001993803284478755366949245271133938013309144135891913203791121820342842114059304109716365308903933225273159575775455704512209600498773084669934574960373091063756221405059493184302334107888836730460762202886510894831637723517272925305889757960736482672083979225488306536713047174913822169599386337967219309171171945969226420251867690851487321112870089798512607586099209811077769810800958350194436856814233736089210037240989283039042998318255126878696349645757917716023955993414256821301439594720408251324950690817970619048679867394243701593546844592241065685279351868908862056514736613199 21239403206681737327104050564455061503325874436887303644990104972615891613331716494591731761930850108535523414600897458274953616405585238274238446505522517758194869221433806392820867660873074863358869074575918343481377782430907503114844725024027267243088051165193611426734807340243207777425620704798937822405656210626570366118550648860557173792459664235017414842868004657991973158216874944403526451472170652569312263792312349457972888834110681656666249859062131448475310342013437135265488095621268105421265313875413786169369556726940156768844484629310901025698356143505643300959586340900479562937216416475542298497234275299629968444477632326501695595935310573842042264806919167265812390838363691740144112081062582522236489884011872293147558253328239185756147007876284804068899123790858466047446203340606851000519533599879775932267804972610808504030809518365478162966448996412493473389303089733358600049973726998002601432345840191672960576908878169486409812646654476298355289551942966378669814512504213100330259640674439492663378931212088252090250831289402466452958716024192674901564695607922870676398430322377962174973138304358803966026119558396444587942814563249064425336777223141157017842061837599529224533774349682643975621864420184230840624610393266624986603691874593123798836338387347766713825579330271929008763702313069551667705776560365465306694575965825513427144240421124789067210219969736309532680930934084957181910351000065087440572437565972617529038043963250059504025905807727296291669274379131472922025856320585676178004403678329422213888725637963981809526054008386390061663459262696331188718128604742916283001507469568902650488093786686051388047802839341037988276435318108223699125740480097101606069417213475523058764344469663249827511118654379652358420937069673965784070949124736723467079704467459556831157303587250167574125753163018632689267054897957470241865400738095826842295215638118066170344132492488738374416963369437288820865154776205648488615381346232510390356117393611757084973835766193388873584250508874094826064628542810132086709396302749092953029375578665811102766389530248905189505927329691062693763565113305866649357902809800274721879605458031448083537248048248878182117632000446619000190876612224600579134085797796757046038227446898344204481298016978619441027598669244758252032550955086802640480386438803148996704705796111198381305901579559136034376931465289294644468595169552772320216455519660551579701616972593121768094344092024283994426577840736029220693839423802042095948787701186453826025320717365854693922966793475729390747545646300108430272120476276793117410947791384592694618273413905570808549385072933555495566545940646427199450857601283987216451129441536317624153665329500267631115748523942262037539378746853693131788002686448774394597327680701427910640336749410656058244943104026724910869683422030254656188408692745096783522147123346613034917822508829474197687173897801599722892395677880821170377565992984232840419929048531673568350560721160015651344078546178745603008966629955024756676254334686830928850936307384037120244474746837304830801027477569277769711747839178661308957696159085631866837521183916930042663398935961833234705341942238396540164925656394430755920266973556555687626294544729307895790955280051673519552202119931106656730397187137542379701993280527336417095591223701905024890303541521727916814325605455872630203291904509003784277098490743255977456604381654189272320375754886955883367794448344891534599343932950109983242893999881129163770910261813623695657683235640531537450937253147793280490365283059713035273325534886417339200579339126924752218035348901830489025306080177970758743688230578951400185075502896215351860877721368206419396515039285544975472106252295158532902292554302652234964033273947615207708811884678110574301809026923013599894544566517091664810541100928816144067553272752103062486587549202955938979243538422402602031590262989548137428943311344416618650737697568002 34366076289174558737773243688913892184593631879068750254532498082793026600772845976547917932816457822923694557264213140149902658753228857776381242000310170759224005154467591215904925497036749442640229904983384815227818823294649949835025762451633872684875777183866284466807545494094403893993711313204673244595165056749527462537280094633138578480760456112860802386076372332876148843627704136389595919909465459780707531497818730842463862022280633161959966233626244379860736751013855318159019267694193185080879147421474615510614359161517043313525468974254776070908490399788569302748034160326354039318942189393870189948968909387010902798409682093914584768496140611462230048484414805958347441797905154433320645466023508675762107111571114767021300589261498219070898469116381794666952572891103596608688200443520077034294578455466228438547905315849619390332205191939527350679487427384277456505990421692446230196062255153116337826724357158524786867658124476524081498463553078599268340696279867416140281097128186300564231730259279990983072492723144638341440260328217664644957252172399371657135725861390815782179177926230033876767680251672415085312708861965538224068066584920198312878707718044840702062185129085885395068281528229758164982441838759815173222255258411065528920943033867295964745713222192148910113837939800849324942194828221570016447916634782215682744174954200334215908358337676740831142125605774201780664037336691496729233086681967732861107271838824759345580436934775460407580556402822932251473933814513969097628727092713041949655144297858932457470602801618050756167381061563789801868855244328675507279174016274889034684919225820374937154767454076368618385671072442714090789163539747128971906054567688290644838688087355347054950856858701578707619397704289444828341735230609453518091206806972142673405949067109085104577923665720208696845032634955889242015331133217876238709053898229518812914699104571853487574327122724606149575531252441670644156202577832116721163036686133396669782928735912863809914896058298725895550134759906380619028329664341689449141655944593370413691748056452171737773844116120760205566157405206656067664342178620955215837006962082878285951703609155078364132745012753117812471485605771263140799423402438662084598846507687859956422566009606394322556084789942974618770307550682290562307898004392613254147884345258658707397509065392200166518751789694074220991707710610189215629055899365989087962906898617750156924533216437468127252135724665018058239246181735543316623107161541023796331786236528197991957970232309656697871419593921103818344346208588325520685225085917926178911918625780196071641007059178667597861780999534435540274972542453589987766376898021862991523333489460597784412229470644195972415906861466740083301265202137391100007493883139928251840489282235764157979528309536556331962298327847288297244814677501228503978646019321080813540079670571727574389517618995349487437496633825165527249037717520779521729654725195189937068796108791323003898414910116485418996232556449942570239157292347661243481422561524146529654644345479444493514127832057251974327044585294418785542314360436638635333415367613515512892370694672901153596393685046581572649522152002777031928383276807301784979521643718948035335138094269655498189663440243749137802406255579212035272161064063129281039681756969459029758710628478195558575649543900721213358327599259157108958658853754274918215111799887391869369808172776009615162489814191065599733103352278116807758919708405814495452494498654213833705485222186714759413904640700024721753271361036630010951127485946223930104963258403690264506469097087661234890119328127318795562019127352884580913287616916918619494246674842184578281129589059057906717627909375343488079692351504969610672103355261002429400890088181351296918849125667393613344807345178140478590894212275009380834497094343072965368992867472511313811538240020926558027923405816646303625137107581789203114222663213325480707252434181201 55605479495856296064877294253368953687919506315956053899522603055408918214104562471139649694747307931459217971865110598424856275158814096050619688505832688517418874375901397608725793157909824305999098979559303158709196605725557452949870487475661139927963828349059895893542352834337611671419332018003611067000821267376097828655830743493695752273220120347878217228944376990868122001844579080793122371381636112350019795290131080300436750856391314818626216092688375828336047093027292453424507363315461290502144461296888401679983915888457200082369953603565677096606846543294212603707620501226833602256158605869412488446203184686640871242887314420416280364431451185304272313291333973224159832636268846173464757547086091197998596995582987060168858842589737404827045476992666598735851696681962062656134403784126928034814112055346004370815710288460427894363014710305005513645936423796770929895293511425804830246035982151118939259070197350197747444567002646010491311110207554897623630248222833794810095609632399400894491370933719483646451423935232890431691091617620131097915968196592046558700421469313686458577608248607996051740818556031219051338828420361982812010881148169262738215484941185997719904246966685414619602055877912402140604306258944046013846865651677690515524634908460419763582051609539915623939417270072778333705897141291121684153693195147680989438750920025847643052598758801529898352345575510511313344968270776453911143437682032820301679709404797376874618480898025519911606462210550228543143208193645442019654583413298718127659547976188354671359328439582032565693435069950179863532314507025006695997302621017805317686426695389277587642861240762420006433473911783752079065598857855352671031795047785392250908105300830870113715201328364828535130516358669097186762672300283419302162155931708866140485653534568641935735227252970376270970785797974521931282386031175346480574454636325345655209914742689919657918459615213344523992494621878959465021357354037765209778418032365907060139046129524620894888731824492114769134385268780475445092958207151821535851052247342463366721123635117982840540233646369665395072084734897718761427907291926821865194909771883153007831309067186526447669993061001995994589117606217882140990300014663262663732932305484617002460793456504738527037382806921594059797906219927048814340448959479415894628270784061807704102214861503398547824653369253210255368639175899483860097651068918761408179362418278301736626150189030589895346479816689302052665824022471572537316946585343065892280573937714651817983290949675511391794386387396833209091891854888433950957345562194719296322866417164788766259280473084238406411166072467991035841518483100017187217234499305850207974462930996915408565894800144463603531655385409002120840643948991084231795496569588702646437816962937192068619865058947212390207241431874013208114498099531483160167054712066177597062226793918340609307340127824823685124670531626765250141433395401600692107220718179422777488725157322996572248975631276501070340311102628688173248123922302686000157676896210977458505580652863481613758602578894556805128072062863696555254062199615299944291111526699147379729891878589831196259792621008414807354864094241173572093308933201732540899788617275503722961432638998963393980618720295422657354608375510318692002558251200671660741675037496795446854301852180100583465953085422449130172653204715029739161950758263278702492210290630647846826412554430198887482865569078021483100897800623008342358263641355924478695388498535342997476395484000338455071587876340556259204208614184423291441492769005936965378288793290107603707048436214585987108154677029149284587325207530855339656975847495870019679322177738399930142007310427264326114142948660888463551798603800128143574395909563654664364923362128966504627661010345504187646616372101154078485438778792101045645038195271889109436546140224614376298125789223882497007166944239048905656727370571337340543165974557742099357990131749203 89971555785030854802650537942282845872513138195024804154055101138201944814877408447687567627563765754382912529129323738574758933912042953827000930506142859276642879530368988824630718654946573748639328884542687973937015429020207402784896249927295012612839605532926180360349898328432015565413043331208284311595986324125625291193110838126834330753980576460739019615020749323744270845472283217182718291291101572130727326787949811142900612878671947980586182326314620208196783844041147771583526631009654475583023608718363017190598275049974243395895422577820453167515336943082781906455654661553187641575100795263282678395172094073651774041296996514330865132927591796766502361775748779182507274434174000606785403013109599873760704107154101827190159431851235623897943946109048393402804269573065659264822604227647005069108690510812232809363615604310047284695219902244532864325423851181048386401283933118251060442098237304235277085794554508722534312225127122534572809573760633496891970944502701210950376706760585701458723101192999474629523916658377528773131351945837795742873220368991418215836147330704502240756786174838029928508498807703634136651537282327521036078947733089461051094192659230838421966432095771300014670337406142160305586748097703861187069120910088756044445577942327715728327764831732064534053255209873627658648091969512691700601609829929896672182925874226181858960957096478270729494471181284713094009005607467950640376524364000553162786981243622136220198917832800980319187018613373160794617142008159411117283310506011760077314692274047287128829931241200083321860816131513969665401169751353682203276476637292694352371345921209652524797628694838788624819144984226466169854762397602481642937849615473682895746793388186217168666058187066407242749914062958542015104407530892872820253362738681008813891602601677727040313150918690584967815818432930411173297717164393222719283508534554864468124613847261773145492786737937950673568025874320630109177559931869881930941454718499303729921974865437484704803627882790840664684520028686856064121287871493510984992708191935833780412871691570154578314077762490425600638242140104374829092249470547777081031916733966031293783012676341604811802738073755113807060603211989145281789723417101924748331778813172476958883359466111132849593467596864568678568213770609339376648346963872029148776155129320466411499723926895598714343405158947284476360346886509673075726706968284750496142269316896051893550683405468058022598615541354320110905070204207115853940053746884089688612360174242849809941261181985168089665805981317937027436238063476759471642570648112645475234785042944984837900287532262906004272947072002426576116491025553607174983611397327713199497796420457513192978124270788659575947562246875742204141909151128475331802990452728630898278306245172956226599393368483768722169539759721301505359312777032711664145700731387258410602306464490068183696857746820173172562167165451930777390471112922380213836875443374612714557521266114319576147390541392986489336543659078630743487281214650347243639099457735123988160224998342926107272730410951808779455116648158115340796376560051938579624526894312662892622262573262732349856186306054996380004386246243950604021692210009034325879310260994451758296570733268618892170282160539171795157014631089530727274719315263800941781356794466254476613012480658296142041602629323170343530980803974186848120609612017553620707322090518039716196220727206208502645355383269087082834001152901125150117183349761738974147882997189556831181880706187053214485492517040580980957479975221053302392620254952160895483252051693797868213517533302247221998274005156468080149344334883739920570263464412788639173568852580584508423136899486322232831770858036231951631490955305097754246499264824657093765813450310317801546510136012897800991423717279294557076332991067110426479535289614962074805539007697125690109664029244809055035090350055695209281864478153126543657388637771067580065242565930404 145577035280887150867527832195651799560432644510980858053577704193610863028981970918827217322311073685842130500994434336999615209070857049877620619011975547794061753906270386433356511812856398054638427864101991132646212034745764855734766737402956152540803433881986076253892251162769627236832375349211895378596807591501723119848941581620530083027200696808617236843965126314612392847316862297975840662672737684480747122078080891443337363735063262799212398419002996036532830937068440225008033994325115766085168070015251418870582190938431443478265376181386130264122183486376994510163275162780021243831259401132695166841375278760292645284184310934747145497359042982070774675067082752406667107070442846780250160560195691071759301102737088887359018274440973028724989423101714992138655966255027721920957008011773933103922802566158237180179325892770475179058234612549538377971360274977819316296577444544055890688134219455354216344864751858920281756792129768545064120683968188394515601192725535005760472316392985102353214472126718958275975340593610419204822443563457926840789188565583464774536568800018188699334394423446025980249317363734853187990365702689503848089828881258723789309677600416836141870679062456714634272393284054562446191054356647907200915986561766446559970212850788135491909816441271980157992672479946405992353989110803813384755303025077577661621676794252029502013555855279800627846816756795224407353973878244404551519962046033373464466690648419513094817398730826500230793480823923389337760350201804853136937893919310478204974240250235641800189259680782115887554251201464149528933484258378688899273779258310499670057772616598930112440489935601208631252618896010218248920361255457834313969644663259075146654898689017087282381259515431235777880430421627639201867079831176292122415518670389874954377256136246368976048378171660961238786604230904933104580103195568569199857963170880210123334528589951692803411246353151295197560520496199589574198917285907647140719872750865210790061020994962105599692359707282955433818905297467331509214246078645332520843760439278297147133995326688137418854311408860090995710326875002093590520156762474598946226826505849184301614321743528131259472731134757109801649720818207027422780023431765187412064711118657093961344152922615871376630850403786162738366119990536388190988795923351445043404425913382274115601938788398997262168058528200494731728986062409156935824358037203511904321631735174353630176833594498647917945095358043622163570894226678688391257000332227155580892934111957501627924552131660679481460192368714770236528129918365193422599916210307364771557651460109773604159568005347144410684113144470417611958009508653624362200845896633563407472259351454428601544019070933123179479217632284744324982553100119559563598487022317333544716123208110148295219258427430981112376781191595314713473810876564194824312755443453436007664533258408408793004197874644996857686837697078696027531904508323980905944096161554035492046246423437316148396366172669487559676854761707318916735405136953033243796776353946101446665805651206407721031332989846365584583188711021811896050438759667238523915638421011810272352154451852563546115978927063411187359250340485124176115001143210766866779098878269955481258003372267582286150900880834594452511623006599849419277277566464472602523031831963049923467314332838396725507555714745619473703634008689216587282560370280832323199532381148687563022633281636407390128220952347108565934898953524133492475446991117663452843271495724899828658276190187391669557080393381137240161688589405476593834113023958097860861540844983905471920565969516833209106428682185617364736669542414595260227239311908658658852891030318984438565144209913586558945913806697120415183289559105225897820895174388311758130736812439284306174171146358401988638040089380448635561771769859211472124573484886851184242085147921740066407789818468691552042257294294744114938591848724463884200554612328809679423232697679607 235548591065918005670178370137934645432945782706005662207632805331812807843859379366514784949874839440225043030123758075574374142982900003704621549518118407070704633436639375257987230467802971803277756748644679106583227463765972258519662987330251165153643039414912256614242149491201642802245418680420179690192793915627348411042052419747364413781181273269356256458985875638356663692789145515158558953963839256611474448866030702586237976613735210779798580745317616244729614781109587996591560625334770241668191678733614436061180465988405686874160798759206583431637520429459776416618929824333208885406360196395977845236547372833944419325481307449078010630286634778837277036842831531589174381504616847387035563573305290945520005209891190714549177706292208652622933369210763385541460235828093381185779612239420938173031493076970469989542941497080522463753454514794071242296784126158867702697861377662306951130232456759589493430659306367642816069017256891079636930257728821891407572137228236216710849023153570803811937573319718432905499257251987947977953795509295722583662408934574882990372716130722690940091180598284055908757816171438487324641902985017024884168776614348184840403870259647674563837111158228014648942730690196722751777802454351768387985107471855202604415790793115851220237581273004044692045927689820033651002081080316505085356912855007474333804602668478211360974512951758071357341287938079937501362979485712355191896486410033926627253671892041649315016316563627480549980499437296550132377492209964264254221204425322238282288932524282928929019190921982199209415067332978119194334654009732371102550255895603194022429118537808582637238118630439997256071763880236684418775123653060315956907494278732758042401692077203304451047317702497643020630344484586181216971487362069164942668881409070883768268858737924096016361529090351546206602422663835344277877820359961791919141471705435074591459142437213465948904033091089245871128546370520219683376477217777529071661327469364514519982995860399590304495987590073796098503425326154187573335533950138843505836468631214130927546867018258291997168389171350516596348569015106468419612406233022376027258743239815215595397334419869736071275469208512223608710324030196172704569746848867112160396489931829570920227512388727004226224318000650731416934333761145727567637142887223474192180581042702740527101662715294595976511463687147779208089332948918830011551065005488262400463901052070405523727516999966705940543710899397942274475964430885804245197054079111245269505294286200351437865813313645847571125998350032707263964367981841952894242486858420010246792436503054758442059855537610050414957060216472844188074500534207231537184457293961276606970055771911941794522143341721782755426779879160486529124462251248034895401477475045964442994429453283104521818651795914749834546320951316616218833123653596906488458456174840694418266839722898476976701055621465170030249004862530626804922375621246361119780971604928648206603767689551635724543756714062474049013398420785949660222686351603380487435875811681225434826030649549333828304063400798174364038305359179927236846815319719177103540165315324473164974417025115295895972165233118407567363636586729074780136693353219801192658409139264407239554574105536201178321183041373766247668637637689380146551996881728273544304388626429304400080326813496692867549158344068789817234614812663403435403169982298385943906854471666727279218854008842615892773576335616195648768900106425258642592630340879402426991154492914456659840156896374444884042572910421718221119168564626529896226733278910258756344792896677703340134083502819080431104702687342085444886013877298335180797502776321447298026459882899568946988281109399908791777684664733352366814780514410323652067394439212968851896550262749602107720681282371299789629463806659743192638104760926321898604108774501813259047624155618865756517453847713500607077347644350439324220456326877590427857943250099877259488475263610011 381125626346805156537706202333586444993378427216986520261210509525423670872841350285342002272185913126067173531118192412573989352053757053582242168530093954864766387342909761691343742280659369857916184612746670239229439498511737114254429724733207317694446473296898332868134400653971270039077794029632075068789601507129071530890994001367894496808381970077973493302951001952969056540106007813134399616636576941092221570944111594029575340348798473579010979164320612281262445718178028221599594619659886007753359748748865854931762656926837130352426174940592713695759703915836770926782204987113230129237619597528673012077922651594237064609665618383825156127645677760908051711909914283995841488575059694167285724133500982017279306312628279601908195980733181681347922792312478377680116202083121103106736620251194871276954295643128707169722267389850997642811689127343609620268144401136687018994438822206362841818366676214943709775524058226563097825809386659624701050941697010285923173329953771222471321339546555906165152045446437391181474597845598367182776239072753649424451597500158347764909284930740879639425575021730081889007133535173340512632268687706528732258605495606908629713547860064510705707790220684729283215123974251285197968856810999675588901094033621649164386003643903986712147397714276024850038600169766439643356070191120318470112215880085051995426279462730240862988068807037871985188104694875161908716953363956759743416448456067300091720362540461162409833715294453980780773980261219939470137842411769117391159098344632716487263172774518570729208450602764315096969318534442268723268138268111060001824035153913693692486891154407512749678608566041205887324382776246902667695484908518150270877138941991833189056590766220391733428577217928878798510774906213820418838567193245457065084400079460758722646114874170464992409907262012507445389026894740277382457923555530361118999434876315284714793671027165158752315279444240541068689066866719809257575394503685176212381200220229725310044016855361695904188347297356751532322330623621519082549780028784176026680229070492428074680862344946429416022700580210607592058895890108562010132562995496974973485569745664399897011656163397867330748200343269333410360044848403200127349770280632299572461201050486664881571665311342875602855168404436894155300453751682115758625938810574919235585006956085014642703601503693593238679522215348273939818319011327986947375423042691774304785532787244759153904350594465353858488806257441564438046858657564492636454054411338400850398228398157853065790365445306527052586190718747477500492497900207146316842403068727375018350087963164532046219423542957194825641173360943261800032510042860855899385303190594840014442315123366370396066162412654905934905997511445230854107015351367594458999964497363297987710552661393252817037910223345730946923102142911930932306934530161101312771211618294130425931372981306885769705253496110166887935842559609322832454280129570342025725067766482683698650014112988951872940122886731961608690253182493268576958091488556413731232652165627326881491836300755741549335396390644539948621494070201739132897254079386415627455803736336283437326571476967859442088144160181818754722886927214198956251694496430568059437508017534362720812577477803783464472083922208360700180260644289229565829274448192746146827420458392354323547641146335089593056714058814409290938248821352620022685730352579218267106386852815414842241487290479023282901797287963304214703799059949392135068077331997065879834425988639356488498433086561836553599653303802855461280857154032006490060846302868356617206333741661608812054649472335913640211131369527702809622683419712930441024742088230105956879350913218553385553425319313495350723598471430472781998070073515549549888289613601280610027287075188886413894852428729701778267503896040191828199876530785533370728682259388664443289709303540605822925243666182192159119604938645183439159048175602054312058497862428686938911707961289618 616674217412723162207884572471521090426324209922992182468843314857236478716700729651856787222060752566292216561241950488148363495036657057286863718048212361935471020779549136949330972748462341661193941361391349345812666962277709372774092712063458482848089512711810589482376550145172912841323212710052254758982395422756419941933046421115258910589563243347329749761936877591325720232895153328292958570600416197703696019810142296615813316962533684358809559909638228525992060499287616218191155244994656249421551427482480290992943122915242817226586973699799297127397224345296547343401134811446439014643979793924650857314470024428181483935146925832903166757932312539745328748752745815585015870079676541554321287706806272962799311522519470316457373687025390333970856161523241763221576437911214484292516232490615809449985788720099177159265208886931520106565143642137680862564928527295554721692300199868669792948599132974533203206183364594205913894826643550704337981199425832177330745467182007439182170362700126709977089618766155824086973855097586315160730034582049372008114006434733230755282001061463570579516755620014137797764949706611827837274171672723553616427382109955093470117418119712185269544901378912743932157854664448007949746659265351443976886201505476851768801794437019837932384978987280069542084527859586473294358151271436823555469128735092526329230882131208452223962581758795943342529392632955099410079932849669114935312934866101226718974034432502811724850031858081461330754479698516489602515334621733381645380302769954954769552105298801499658227641524746514306384385867420387917602792277843431104374291049516887714916009692216095386916727196481203143396146656483587086470608561578466227784633220724591231458282843423696184475894920426521819141119390800001635810054555314622007753281488531642490914973612094561008771436352364053651991449558575621660335743915492153038140906581750359306252813464378624701219312535329786939817613237240028940951871721462705284042527689594239830027012715761286208684334887430547630825755949775706655885313978923019532516697701706559002227729363204721413191089751561124188407464905215030429744969228519351000744312985479615492408990583267603402023669551781557019070368878599372831919517129499411732857690982316235801799177700069879829079486405087625572234787512827843326263081697798393427765587998787755169805264218988189215190985902496053147907651960246816958926488048180036705249433839315164677631867594432059799032517156839506712522823088450296881651108490449646119903522684358204503656178758952374623712189068780184764456865882049099211084889927147385265142524466219290488279279080567245240598233577416105988107010577068087436569760484556116621412370895278312190588305754376688690332777390605717383231477602615629354401441972409262430704982114676357338856562019260480781469423094228547151140058183758007801229667793134824844198212704205362746406309117575336918184847422139949637376655750816703145506039371411331905253781802540587597483879600794435657703651603279218237180777840159794218668527977308552316317866950305075377639459791442714312659799429381666369744069399105592730995969051660756602300988502083155338060309393300226322086523513943273736388387849650369252095917156798769960367151583339984642793266963582126947848898281978609712381271329921019691131809084821658723627967959831782460605872402883199108172863634016023458088900334877604211013241324482142121460341299321639175675373623579499863472699166374650777660707672876468306825580481553813148338589982936281437642226214224573682400025718658536386287579581778615373551126638339312152188732975154994071315834056869788254508697297011265621822244864551553254905810796118122332541706428713404142501283136163825148812850587925873201955684052814249461923837337938488521615533711101001567896967702699935020837981291711855269332791033890477702337333459159471579442697513895692766196952582995622763379504502479644739916441112528564198400183224899629 997799843759528318745590774805107535419702637139978702730053824382660149589542079937198789494246665692359390092360142900722352847090414110869105886578306316800237408122458898640674715029121711519110125974138019585042106460789446487028522436796665800542535986008708922350510950799144182880401006739684329827771996929885491472824040422483153407397945213425303243064887879544294776773001161141427358187236993138795917590754253890645388657311332157937820539073958840807254506217465644439790749864654542257174911176231346145924705779842079947579013148640392010823156928261133318270183339798559669143881599391453323869392392676022418548544812544216728322885577990300653380460662660099580857358654736235721607011840307254980078617835147749918365569667758572015318778953835720140901692639994335587399252852741810680726940084363227884328987476276782517749376832769481290482833072928432241740686739022075032634766965809189476912981707422820769011720636030210329039032141122842463253918797135778661653491702246682616142241664212593215268448452943184682343506273654803021432565603934891578520191285992204450218942330641744219686772083241785168349906440360430082348685987605562002099830965979776695975252691599597473215372978638699293147715516076351119565787295539098500933187798080923824644532376701556094392123128029352912937714221462557142025581344615177578324657161593938693086950650565833815327717497327830261318796886213625874678729383322168526810694396972963974134683747152535442111528459959736429072653177033502499036539401114587671256815278073320070387436092127510829403353704401862656640870930545954491106198326203430581407402900846623608136595335762522409030720529432730489754166093470096616498661772162716424420514873609644087917904472138355400617651894297013822054648621748560079072837681567992401213561088486265026001181343614376561097380476453315899042793667471022514157140341458065644021046484491543783453534591979570328008506680103959838198527266225147881496423727909823965140071029571122982112872682184787299163148086573397225738435094007707195559196926772198987076908591708151150829213790331771731780466360795323592439877532224016325974229882731144015389420646746665470732771869895050890429430413727002572959269287410131711305318892032802900683370843011412755431934654809524519727535241264509959084889020508373312663350594954872769812508865722681782453870508117844327087725970971574803906301911090871811010034966626559923831536218188897413657521323414281071150569681746014789518105162901788046970301751082516057569446544204258901676298379787527662264949363782256245527927292995874760283492612429383822534498702623524440066239406938359367788139520619928943335955063675150956635854686018644682586654468167031594625238774902050948237338492953983223813401406469772560418415534776069610155894472242606211728392525237140478083446992713919109114000879411428955270129585685512248516111562613685503806120689981749272469830935880387045171231107137894015603903795915529539470424002487526397266393904785772486814138869328716207949901180142935879197809703251060816926974856182087254261281293499583405502641323478492008358451772787997040039627559979051014780148453553482045076809410441157472692640082346080937311533425174333132681179729061143768107265350885790487648029158926267839278210545778113765837959229543214013047175609106166872053662586461697608399111112455368643480774630687456822478119628177297556963701828589800662458577170911542804078176498226324042912728785004873534186660006470193169636837023069498117991241879518027429143680882872690542876348425884646971990757460380000920964243382447490907711526965426397491064131380716724196062846986952781659211785161709336675718095131748026899493224881607594297930810920661441422751843973666415530071951124413127374935510386139830703346164471598740126849037857822497388640061473293279142145627042762700077402367941180077884925316557521640806202538552678081699051974938974957251137311891186189247 1614474061172251480953475347276628625846026847062970885198897139239896628306242809589055576716307418258651606653602093388870716342127071168155969604626518678735708428902008035590005687777584053180304067335529368930854773423067155859802615148860124283390625498720519511832887500944317095721724219449736584586754392352641911414757086843598412317987508456772632992826824757135620497005896314469720316757837409336499613610564396187261201974273865842296630098983597069333246566716753260657981905109649198506596462603713826436917648902757322764805600122340191307950554152606429865613584474610006108158525579185377974726706862700450600032479959470049631489643510302840398709209415405915165873228734412777275928299547113527942877929357667220234822943354783962349289635115358961904123269077905550071691769085232426490176925873083327061488252685163714037855941976411618971345398001455727796462379039221943702427715564942164010116187890787414974925615462673761033377013340548674640584664264317786100835662064946809326119331282978749039355422308040770997504236308236852393440679610369624809275473287053668020798459086261758357484537032948396996187180612033153635965113369715517095569948384099488881244797592978510217147530833303147301097462175341702563542673497044575352701989592517943662576917355688836163934207655888939386232072372733993965581050473350270104653888043725147145310913232324629758670246889960785360728876819063294989614042318188269753529668431405466785859533779010616903442282939658252918675168511655235880681919703884542626026367383372121570045663733652257343709738090269283044558473722823797922210572617252947469122318910538839703523512062959003612174116676089214076840636702031675082726446405383441015651973156453067784102380367058781922436793013687813823690458676303874701080590963056524043704476062098359587009952779966740614749371926011891520703129411386514667195281248039816003327299297955922408154753904514900114948324293341199867139479137946610586780466255599418204970098042286884268321557017072217846793973842523172932394320407986630215091713624473905546079136321071355872242404880083332855968873825700538622869622501452535676974974195716623630881829637329933074134795539446832447448500782605601945791188804539631123038176583015119136485170020711482635261014141214612145299770028777337802411152102206171706091116182953660524982314129941669971669061494020340380235633622931821620865228399139051847715284400465875088509168085783329473456553840571120577863092504834465086399756271392237693090205273766874262073102722963211276300010568856307847029406229664305344739012182923022145548635136895603113022777981704091685306837640515775473776246531196997030772524824159707073257267056913922994777242773921408283315571552292656665620569970556598853167802848442181822849120516890745967494751034261866692509861948331369025234587050897677116915230547204563780114327798389717611262517871731260840724305537403889222107207591631203748316737146509305347509157577718070127067907882088320832924097556389051705051319647168876002168569708120244431514127570201365892304614315973529968573941092928965071872385392877597601089447741839657796641928548481134170118208762946782271398895933955100746429028470195731306563629342331131902641546880644483752750058617849372614595878057208246448990591817108034785529091038628035671770803577065998654514268458864580807507283976089384666938863531022334426689132869501779699085162169889122301634252544535122303941649197392698693690389492677750002493485586951746982785175613052434399428884105732252002826080908591349079262636005466425587364308587018340233116432115422645901782842799483267279318640078013735461684669231817333212466690972505454798050636838176740303635726164743758123079623771249367295953799657719229779533874961751065863457125919850931704914061439301440061869875839114209243909394264327169619847964376221859548981810638693973577691513510104636428965918057180561343791891380087485815335712074411088876 2612273904931779799699066122081736161265729484202949587928950963622556777895784889526254366210554083951010996745962236289593069189217485279025075491204824995535945837024466934230680402806705764699414193309667388515896879883856602346831137585656790083933161484729228434183398451743461278602125226189420914414526389282527402887581127266081565725385453670197936235891712636679915273778897475611147674945074402475295531201318650077906590631585198000234450638057555910140501072934218905097772654974303740763771373779945172582842354682599402712384613270980583318773711080867563183883767814408565777302407178576831298596099255376473018581024772014266359812529088293141052089670078066014746730587389149012997535311387420782922956547192814970153188513022542534364608414069194682045024961717899885659091021937974237170903865957446554945817240161440496555605318809181100261828231074384160038203065778244018735062482530751353487029169598210235743937336098703971362416045481671517103838583061453564762489153767193491942261572947191342254623870760983955679847742581891655414873245214304516387795664573045872471017401416903502577171309116190182164537087052393583718313799357321079097669779350079265577220050284578107690362903811941846594245177691418053683108460792583673853635177390598867487221449732390392258326330783918292299169786594196551107606631817965447682978545205319085838397863882890463573997964387288615622047673705276920864292771701510438280340362828378430759994217526163152345553811399617989347747821688688738379718459104999130297283182661445441640433099825779768173113091794671145701199344653369752413316770943456378050529721811385463311660107398721526021204837205521944566594802795501771699225108177546157440072488030062711872020284839197137323054444907984827645745107298052434780153428644624516444918037150584624613011134123581117175846752402465207419745923078857537181352421589497881647348345782447466191608288496494470442956830973445159705338006404171758468276889983509242170110169071858007250434429699257005145957121929096570158132755501994337410650910551246104533156044912779507023071618670415104587749340186495862215309500033676552002949204078447767646271250284076598544867567409341883337877931196332604518750458091949762834343495475047922037168540863722895390692948796024136665027305270041847761496041122714545018754466777908533294794822995664351754122932002138184707323359593903396424771530310229923658725319367092435012340704303972226887114075163985401649013662186580479875917861434294025740060507024849390319642549267167470177976308948643835509294355593446561590266939475918896905832127749324986935557276684327616125373077047454134841564386051816925974108479887834858029893121742932567677363897242088439877940810327194707613857908463510582076981204254911954383267536051666815577650645506504472904238254473568509503318034043611596226029231426615992735384457384075229859778629434344946344530426227385638494577038527511590793487968253647199363113061373633599666538331884575847230190491461174824191865458516497592210118470888263180310711937273452426709231589172155617222835222386428548477375026716356089609447899514627654836681556108460185184898357216500264316475705344396258219121668552541812243875162767505465035322726609705627520857323968735163102243907216134514288268802362886148551367050268171249684817979186172165526567931045326278415906395088544753310419638161709791249167252497679077256048863998478922964092829715446665108019825695619022736603118277682623536680145593421940152422012636121932517420125985250279431969761791464039622138984431351072559355066047398341154080675497870136809494369764909664770382771458730459657747516218770114871678476134214791473768731969924767203128951046351352421010434691910808718705643631385645309605826086164193238392636305990762408260225910900180188718913696936706632549455737620448761993591418984559626384178579874051462616830067626277235168456609858643042843866319062443066473023965597278123 4226747966104031280652541469358364787111756331265920473127848102862453406202027699115309942926861502209662603399564329678463785531344556447181045095831343674271654265926474969820686090584289817879718260645196757446751653306923758206633752734516914367323786983449747946016285952687778374323849445639157499001280781635169314302338214109679978043372962126970569228718537393815535770784793790080867991702911811811795144811883046265167792605859063842531080737041152979473747639650972165755754560083952939270367836383658999019760003585356725477190213393320774626724265233473993049497352289018571885460932757762209273322806118076923618613504731484315991302172598595981450798879493471929912603816123561790273463610934534310865834476550482190388011456377326496713898049184553643949148230795805435730782791023206663661080791830529882007305492846604210593461260785592719233173629075839887834665444817465962437490198095693517497145357488997650718862951561377732395793058822220191744423247325771350863324815832140301268380904230170091293979293069024726677351978890128507808313924824674141197071137860099540491815860503165260934655846149138579160724267664426737354278912727036596193239727734178754458464847877556617907510434645244993895342639866759756246651134289628249206337166983116811149798367088079228422260538439807231685401858966930545073187682291315717787632433249044232983708777115215093332668211277249400982776550524340215853906814019698708033870031259783897545853751305173769248996094339276242266422990200343974260400378808883672923309550044817563210478763559432025516822829884940428745757818376193550335527343560709325519652040721924303015183619461680529633378953881611158643435439497533446781951554582929598455724461186515779656122665206255919245491237921672641469435565974356309481234019607681040488622513212682984200021086903547857790596124328477098940449052490244051848547702837537697650675645080403388599763042401009370557905155266786359572477485542118369055057356239108660375080267114144891518755986716329222992751095771619743090527075909980967625742624175720010079235181233850862895314023550498437443718214012196400838179122535129087679924178274164391277153079921406531619002362948788715785326431978938206464541646896489393957381672058063041173653710884434378025953962937238748810327075298819185563907193224920716724845582960862193819777137125606021725791993496158525087558993216835218045636758709368975506440603767558310100849872389755556360570629004556522226876754691414944962317617705686263433150712298616264581715651990130681454276319517500143356323761823110866935005951658841919051380762886220590048580054666031707810679914687969910315340632583013923004881004711994565103150388799846490672141140016009848161256381879487364279478478434067180930149007103354136206116656568557561545145396540766339596748116421899878528552621094509273342944461973820556515498785182464947471041147306076207185254731764789527716684246119142794541804705400156504710622218951351669793606239766664168063114589017563875896916778163666468212287040596383424742226064843653792601536203488129147191409163479357513549247412109233687210537347256467312633323484656941319355016565979447046587874601278351358965550697022737543550438792109836596937964273490350111273607382586584535716839785273342760737259394179994183336896141306799285356588782763238164181082199504190859223413679064634137977358501692732125675856385367180856955134026168368045265727082259981787411961474893011721430293507770360373539173631180373687135207188249174366916849010090982531434795842700055388701401620436817498146719374634416681387197107613292782711277212564392932049701411536744195119432185450587448084145167106720246271819368808101507506764677211095110544090058463160176014659443289104875089139701047915259101849762225841694113174287350201620250588789536050915876458850001947618381841555795206419175365989218568025040308343577730913664134374667039204386635757699149928881808736040008366999 6839021871035811080351607591440100948377485815468870061056799066485010184097812588641564309137415586160673600145526565968056854720562041726206120587036168669807600102950941904051366493390995582579132453954864145962648533190780360553464890320173704451256948468178976380199684404431239652925974671828578413415807170917696717189919341375761543768758415797168505464610250030495451044563691265692015666647986214287090676013201696343074383237444261842765531375098708889614248712585191070853527215058256680034139210163604171602602358267956128189574826664301357945497976314341556233381120103427137662763339936339040571918905373453396637194529503498582351114701686889122502888549571537944659334403512710803270998922321955093788791023743297160541199969399869031078506463253748325994173192513705321389873812961180900831984657787976436953122733008044707149066579594773819495001860150224047872868510595709981172552680626444870984174527087207886462800287660081703758209104303891708848261830387224915625813969599333793210642477177361433548603163830008682357199721472020163223187170038978657584866802433145412962833261920068763511827155265328761325261354716820321072592712084357675290909507084258020035684898162134725597873338457186840489587817558177809929759595082211923059972344373715678637019816820469620680586869223725523984571645561127096180794314109281165470610978454363318822106640998105556906666175664538016604824224229617136718199585721209146314210394088162328305847968831336921594549905738894231614170811889032712640118837913882803220592732706263004850911863385211793689935921679611574446957163029563302748844114504165703570181762533309766326843726860402055654583791087133103210030242293035218481176662760475755895796949216578491528142950045453056568545682829657469115180673272408744261387448252305556933540550363267608813032221027128974966442876730942306360194975569101589029900124427035579298023990862850854791371330897503841000861986240231519277815491946290127523334246222617902545190436186002898769190416415586228138708217700716313248659831411975305036393534726966114612391226146630369918385642220913542031467554198692263053488622568805639682873382352612158923424330205483130163869930358130599123204363175270810983292104988439156791725167533110963210822251748157273416646911733262885475354380568861033325403234347635261743600049738770727114571960121270373479914925498296709794882352810738614470408289019598899165165923134650745113190576693727783247684704168541923875890416877995424838235479139980289173211219323465654901358201257298151632252628466143978865618117416557428525272891134760815957212890635545576984137331350359323936052991735424045156905018634830848978989484599829423133043510542779058349505037258098288039197192206682071893336386897577763007130211358266090589384192620224377122796042047270812500986370895468388031870655138120869568973693400436549250883242566540177330819776740421153529785157992175166211261284646654385335292673653803704073735280324985269460144571651240015293305080478738700088782236680164060422405511484646605052938002117106219310767792660284764414244385865786062026622438825589776819985246771094967470005040765401504539914923195947310904350306622747617184672365575279355794313954877342061973287000100055738794464706555319698819083692489477275025528196542880331888263191574970535041406761949410329707650130549517137639320074153178891287778139854441916925023637864859934211182890166846968229819911975428452519981300588630744166896626048042997075853776773795627287629200885296299434269136076232810866765604491519428323540604868168570706074440681815022541277783111162919520771582329302596820084182995474654777179701669357562955823643240935037745588100778026274709893628257446462965100493155070984733365086920490520398745527134079452340242398531832456521434513261101800439307703232987622509008305739568067143835147214190978801750167798442076502925173645357190899302831276897847429479624018212371948281760005605645122 11065769837139842361004149060798465735489242146734790534184647169347463590299840287756874252064277088370336203545090895646520640251906598173387165682867512344079254368877416873872052583975285400458850714600060903409400186497704118760098643054690618818580735451628724326215970357119018027249824117467735912417087952552866031492257555485441521812131377924139074693328787424310986815348485055772883658350898026098885820825084742608242175843303325685296612112139861869087996352236163236609281775142209619304507046547263170622362361853312853666765040057622132572222241547815549282878472392445709548224272694101249845241711491530320255808034234982898342416874285485103953687429065009874571938219636272593544462533256489404654625500293779350929211425777195527792404512438301969943321423309510757120656603984387564493065449618506318960428225854648917742527840380366538728175489226063935707533955413175943610042878722138388481319884576205537181663239221459436154002163126111900592685077712996266489138785431474094479023381407531524842582456899033409034551700362148671031501094863652798781937940293244953454649122423234024446483001414467340485985622381247058426871624811394271484149234818436774494149746039691343505383773102431834384930457424937566176410729371840172266309511356832489786818183908548849102847407663532755669973504528057641253981996400596883258243411703407551805815418113320650239334386941787417587600774753957352572106399740907854348080425347946225851701720136510690843546000078170473880593802089376686900519216722766476143902282751080568061390626944643819206758751564552003192714981405756853084371458064875029089833803255234069342027346322082585287962744968744261853465681790568665263128217343405354351521410403094271184265615251708975814036920751330110584616239246765053742621467859986597422163063575950593013053307930676832757039001059419405300644028059345640878447827264573276948699635943254243391134373298513211558767141507017878850292977488408496578391602461726562920270703300147790287946403131915451131459313472336056339186907321956272662136158902686124691626407380481232813699665771411979475185768210888663891667745103934727362797560626776550200577410126889661782872293306919314908530795154209017447833751884928550749106839591174004384475962632591651442600874670501634285681455867680218889310427572555978468445632699632920934349097246876395205706918994455234882441346027573832516045047728967874671606526902209055214040449083483339608255333173098446102767171569410369800553096845666552606361931622081919483073853247428833086528947983644122221941879239668295460278842793602735008593653521766167032717386016391031746732906423393955472245651217844771983870489311823988236193899342625549021646177274108136200453574086169436172814865331644943937279218461620226795500849188781938667941438588037152097734487317368266560423276232630142911918155374257105766382027749005124801860924046497360715039889756964693927945530765797179877097379053960208784357499276336939253750811417904183356419669496302575985699014843830528634692552081030029795164066960760011912303996148413911605653549345143575575869850934823464030522594027562280103328525422342823894931489175394357492224907901098976150223062598016899344752746987178658911251273590405850068072089141904234535923477762820035762787590722874515225159332881769820397995544712648493888732330053707996862733753217813029265136641547174042600880023232040791166316916335215013495546994235410239931942775481642465597190133818403370615027407954169314422836389134470666351118146167215342301561447191574817024942225304986068852793815316231703928474890724455702232048794893695528869785594532218849896611887119945011039968810347655284017407469586127782216658305468541573509190551618231160748024530209595395487885228181994711442092160757674150634608800611303420689896492769038538385467155741515685525676703009397397977116157017010101543233517223088104563437205943937051816115381717362300830090496045614012121 17904791708175653441355756652238566683866727962203660595241446235832473774397652876398438561201692674531009803690617461614577494972468639899593286269903681013886854471828358777923419077366280983037983168554925049372048719688484479313563533374864323269837683919807700706415654761550257680175798789296314325832895123470562748682176896861203065580889793721307580157939037454806437859912176321464899324998884240385976496838286438951316559080747587528062143487238570758702245064821354307462808990200466299338646256710867342224964720121268981856339866721923490517720217862157105516259592495872847210987612630440290417160616864983716893002563738481480693531575972374226456575978636547819231272623148983396815461455578444498443416524037076511470411395177064558870910975692050295937494615823216078510530416945568465325050107406482755913550958862693624891594419975140358223177349376287983580402466008885924782595559348583259465494411663413423644463526881541139912211267430003609440946908100221182114952755030807887689665858584892958391185620729042091391751421834168834254688264902631456366804742726390366417482384343302787958310156679796101811246977098067379499464336895751946775058741902694794529834644201826069103257111559618674874518274983115376106170324454052095326281855730548168423838000729018469783434276887258279654545150089184737434776310509878048728854390157770870627922059111426207146000562606325434192424998983574489290305985462117000662290819436108554157549688967847612438095905817064705494764613978409399540638054636649279364495015457343572912302490329855612896694673244163577639672144435320155833215572569040732660015565788543835668871073182484640942546536055877365063495924083603883744304880103881110247318359619672762712408565297162032382582603580987579699796912519173798004008916112292154355703613939218201826085528957805807723481877790361711660839003628447229908347951691608856246723626806105098182505704196017052559629127747249398128108469434698624101725848684344465465461139486150689057136819547501679270167531173052369587846738733931577698529693629652239304017633527111602732085307992325521506653322409580926945156367672740367045670942979388709124001740332372791946742223665049914031735158329479828431125856873367707540832007124284967595298214380748924859247786403764519761035836436541252214713661920191240212045682438403648048921057368146768685621844492751944677323698838312446986453336748566773836772450036859800327231025777211122855940037341640369978657588447405794638788575985646841779573150945547574384432054504726984718781576449788101087559996656225723985551733928363550965806544157311744016854717366750355682785898158818000629150669852675620962859973911653411369237409885404607371151214532206424239650766292851508066151252229222706944409429819886317384885041809006315790737480635307964598720858212836654592293931370751012480891848774693655017265270315545302132680700786918514244825047749139860139206815412451565212390052707763912858092779601322208713895383069144198649724749975041276074481251523994589057098063565676634848102069077866231223071788808698676019897935210929637602492289760413240850507840798657247573333566187744328434846412371341668396575214523846593334895428173296255139066701864520720884538273690461588862536795697223933355007170252297310788315787265754847113422524456740355439402306662058823596382460603225134502053827370991920552914781401615959525903661096900725377499806502061981725366906210838692451924076070273209764086759866446367690881184727964941710465590019766965785387282243448153168327051683094245348482830173154639558868255998046726469752673835618621752820377222998125689869777527693504673791588789302573995792453588590321762995570364154056926551933725988036474291044773302145481389617130085915886630755316074163782334559289506607156043313872405221129204196002026160894475461481083752669511850223588376778866324815452178046158690868445295462740037220834899245595005735574672778372256051219657243 28970561545315495802359905713037032419355970108938451129426093405179937364697493164155312813265969762901346007235708357261098135224375238072980451952771193357966108840705775651795471661341566383496833883154985952781448906186188598073662176429554942088418419371436425032631625118669275707425622906764050238249983076023428780174434452346644587393021171645446654851267824879117424675260661377237782983349782266484862317663371181559558734924050913213358755599378432627790241417057517544072090765342675918643153303258130512847327081974581835523104906779545623089942459409972654799138064888318556759211885324541540262402328356514037148810597973464379035948450257859330410263407701557693803210842785255990359923988834933903098042024330855862399622820954260086663315488130352265880816039132726835631187020929956029818115557024989074873979184717342542634122260355506896951352838602351919287936421422061868392638438070721647946814296239618960826126766103000576066213430556115510033631985813217448604091540462281982168689239992424483233768077628075500426303122196317505286189359766284255148742683019635319872131506766536812404793158094263442297232599479314437926335961707146218259207976721131569023984390241517412608640884662050509259448732408052942282581053825892267592591367087380658210656184637567318886281684550791035324518654617242378688758306910474931987097801861178422433737477224746857385334949548112851780025773737531841862412385203024855010371244784054780009251409104358303281641905895235179375358416067786086441157271359415755508397298208424140973693117274499432103453424808715580832387125841077008917587030633915761749849369043777905010898419504567226230509281024621626916961605874172549007433097447286464598839770022767033896674180548871008196619524332317690284413151765938851746630383972278751777866677515168794839138836888482640480520878849781116961483031687792870786795778956182133195423262749359341573640077494530264118396269254267276978401446923107120680117451146071028385731842786298479345083222679417130401626844645388425927033646055887850360665852532338363995644040907592835545784973763737500981839090620469590836824112776675094408468503606165259324579150459262453729614516971969228940265953483688845878959608758296258289938846715458971979774177013340576301848661074266154046717292304221471104024089492747218680491315138036568983270154615023163891328763487207179559765044865886279502498384477534648508378976939068855541271474860694462464195370514738816081424760016816164439341672831313394385935082567629493867505907752155817805310524433432223309501875895894019445830576721966285974400197679077911049572103383141387429518804582211956101396321070520392946730463223477399605431309228030156392797391806314560440104340379020944238966117560867650881688648281506544180385890997788254458678919223345116696455345530204921152717207603381155392810004148950760783647298064550426934541624833415874959864937506104554067152346178248745089487431761724121642450278877659147967646194487048382006144419471343852060180266367825117691790615646706664643266136038626243135375784957112587625551484556073213178362140695236704881030434826219527676662091610087152329777901546736025888800122424945569485118490771313154483819448851699379795789547280867438930608884839128167890930648015117346551103377988629362338581857338510175837397851374707317485114790656933131364787580588804949818051422948790002126783684328941516543816722837276995220913900446248932383866851551915675361276893684849738305908592682134256133301979154237632136505428410663495469888498874669062373425055478140708411662071314278430398227564560074323984869172116693654559655372059912354570403475909247585035761263936245605780403039950281839143210239194529609983481596391533306229414147339681311374515983498068875224426720047180757790652114483708641819100688771064699279942617222599438195188553232985774755982481832462279589392208091533400026177243164771951061710387452936973608462752096833669364 46875353253491149243715662365275599103222698071142111724667539641012411139095146040553751374467662437432355810926325818875675630196843877972573738222674874371852963312534134429718890738707847366534817051709911002153497625874673077387225709804419265358256103291244125739047279880219533387601421696060364564082878199493991528856611349207847652973910965366754235009206862333923862535172837698702682308348666506870838814501657620510875294004798500741420899086617003386492486481878871851534899755543142217981799559968997855072291802095850817379444773501469113607662677272129760315397657384191403970199497954981830679562945221497754041813161711945859729480026230233556866839386338105513034483465934239387175385444413378401541458548367932373870034216131324645534226463822402561818310654955942914141717437875524495143165664431471830787530143580036167525716680330647255174530187978639902868338887430947793175233997419304907412308707903032384470590292984541715978424697986119119474578893913438630719044295493089869858355098577317441624953698357117591818054544030486339540877624668915711515547425746025686289613891109839600363103314774059544108479576577381817425800298602898165034266718623826363553819034443343481711897996221669184133967007391168318388751378279944362918873222817928826634494185366585788669715961438049314979063804706427116123534617420352980715952192018949293061659536336173064531335512154438285972450772721106331152718370665141855672662064220163334166801098072205915719737811712299884870123030046195485981795325996065034872892313665767713885995607604355045000148098052879158472059270276397164750802603202956494409864934832321740679769492687051867173055817080498991980457529957776432751737977551167574846158129642439796609082745846033040579202127913305269984210064285112649750639300084570906133570291454386996665224365846288448204002756640142828622322035316240100695143730647790989442146889555464439756145781690547316678025397001516675106509916357805744781843299830415493851192982272449168402220042226918809671794375818440795514880384789819428059195546161990603299661674434704438277870281756063022488492413030050517781980480449415461454139446585553968448580890791635245676356740637019142972001111813168674310085465631663965830770853839743939575072391394089501161096447478030673807753128740762723318737751412938458892536997576440217032191211983169932576950607979959124237088743704198726488951721226101422345151426975928655868502500637905585320135407856379186060082348464221959078130248816960236165508233513177068251937962256882802524092100883220324397061872552119743431382310650329836940206741836389655066426820749891743112304702741029956730546990923196013909590437135130810974668719113434763763948606338520984679755106671872452305117369790090357826098078101392861565270932806794570249416399858653081295176203743041575745011138974132167873701852923644415800912568380095729067222325620334389204689985255244414206359161590700310301877484469488034500543058478981356681541577556192580655869169446385128134661517891819706748888679212383299491368205116492474358447573765811263645449419767002850780854430455649945731538275624876775249995657797831480764624313918077694285375336948792162820013918944609409622886150716220100680327820971329027793145680536352101245937818267414657339419165254384209452004381795250531276800158036766141081497251260158265866841407959796870370966204350405961652687345425842241921316529339338976946280806657087624835790927622188885125363653551296105996789777410099197843767569174004597921892710654111648638215550557763307721907885651295347970530327312325156867980238395692945737689549339691780249525149587605859244195064698550159031553717524835927543398610314435896069762172920517646457772641164835451710803764469767227261146738814143039006761279336687364946695428356113862948304884773090860174418078703683190864700403456574151534848806647914457635550898959978695488917280385606850307305393188511646386835008148053326607 75845914798806645046075568078312631522578668180080562854093633046192348503792639204709064187733632200333701818162034176136773765421219116045554190175446067729819072153239910081514362400049413750031650934864896954934946532060861675460887886233974207446674522662680550771678904998888809095027044602824414802332861275517420309031045801554492240366932137012200889860474687213041287210433499075940465291698448773355701132165028802070434028928849413954779654685995436014282727898936389395606990520885818136624952863227128367919618884070432652902549680281014736697605136682102415114535722272509960729411383279523370941965273578011791190623759685410238765428476488092887277102794039663206837694308719495377535309433248312304639500572698788236269657037085584732197541951952754827699126694088669749772904458805480524961281221456460905661509328297378710159838940686154152125883026580991822156275308853009661567872435490026555359123004142651345296717059087542292044638128542234629508210879726656079323135835955371852027044338569741924858721775985193092244357666226803844827066984435199966664290108765661006161745397876376412767896472868322986405712176056696255352136260310044383293474695344957932577803424684860894320538880883719693393415739799221260671332432105836630511464589905309484845150370004153107555997645988840350303582459323669494812292924330827912703049993880127715495397013560919921916670461702551137752476546458638173015130755868166710683033309004218114176052507176564219001379717607535064245481446113981572422952597355480790381289611874191854859688724878854477103601522861594739304446396117474173668389633836872256159714303876099645690667912191619093403565098105120618897419135831948981759171074998454039444997899665206830505756926394904048775821652245622960268623216051051501497269684056849657911436968969555791504363202734771088684523635489923945583805067004032971481939509603973122637570152304823781329785859185077580796421666255783952084911363280912865461960750976486522236924825058747647747303264906335940073421220463829221441914030845707278419861398694328967295305715342297273823655255519800523470331503650520108618804593226090555862607950191719227773160041250897699405971257608988371912267065296857520189045074389960224120709700555202911554846568407430077462945108552296827854470421044984194422761840905685677573028312714476786015461366598193096468279371467166303796853788570085005991450105703636070853530403914997511409773975498600047784330778371118002141507108481038123517471921648273630551443316080806562119443870009038620329402625316652547706563748448013762877212887372296122914606939515467566115998924133033130541823507323241912831943311993716406856320900358608210580100028341464920156745998144835545119859447050893396544083487350958008707786726382899405745656823804582824708095319081998197991631549273246496897728346577513323266511857072595176584559866444646156001763950453750264164554922761348968273511507768949055391364916231212156142993337356640504649187772043240962662013588917728980194841784259644824440679294859089964134634341155118717493823358722923851271000904323076063959216571150886650612568710451096302926657749407918633094402215464813720174175459373737732305132409715922564106705599567919480476117368252196466723754565375480269136868466282532003890522543243013571790586239133760707114198009411473458566612041917091397231628988548601820189017627299195963779471029754783758465133252176615972167194707103336557219657779174104560486640547236145844302698370092233453977069548328242230058398139064775144108104049432432370095332941129436056382192398626603587266207802955767269722558721456385434809180521647518213814598540607797744067314981461081533323801650264717735212972412115047256441254237556368757940217911809448538635662722312211914231187999383868122737347542839822504767405573544155559454360695926282629059888956689559926290831288480376737224943107051512095515094523550378801369015780641448619995297760244886995971 122721268052297794289791230443588230625801366251222674578761172687204759642887785245262815562201294637766057629088359995012449395618062994018127928398120942101672035465774044511233253138757261116566467986574807957088444157935534752848113596038393472804930625953924676510726184879108342482628466298884779366415739475011411837887657150762339893340843102378955124869681549546965149745606336774643147600047115280226539946666686422581309322933647914696200553772612439400775214380815261247141890276428960354606752423196126222991910686166283470281994453782483850305267813954232175429933379656701364699610881234505201621528218799509545232436921397356098494908502718326444143942180377768719872177774653734764710694877661690706180959121066720610139691253216909377731768415775157389517437349044612663914621896681005020104446885887932736449039471877414877685555621016801407300413214559631725024614196283957454743106432909331462771431712045683729767307352072084008023062826528353748982789773640094710042180131448461721885399437147059366483675474342310684062412210257290184367944609104115678179837534511686692451359288986216013130999787642382530514191752634078072777936558912942548327741413968784296131622459128204376032436877105388877527382747190389579060083810385780993430337812723238311479644555370738896225713607426889665282646264030096610935827541751180893419002185899077008557056549897092986448005973856989423724927319179744504167849126533308566355695373224381448342853605248770134721117529319834949115604476160177058404747923351545825254181925539959568745684332483209522103749620914473897776505666393871338419192237039828750569579238708421386370437404878670960576620915185619610877876665789725414510909052549621614291156029307646627114839672240937089355023780158928230252833280336164151247908984141420564045007260423942788169587568581059536888526392130066774206127102320273072177083240251764112079717041860288221085931640875624897474447063257300627191421279638718610243804050806902016088117807331196816149523307133254749745215596282270016956794415635526706479056944856319570594967389777001712101525537275863545958823916680570626400785073675506017316747396777273196221740932042532945082327998246007514884268177110026194499130540021624189951480554394946851129918959801519578624041556030327501662223549785746917741499592318624136465565310290917003047652578581363029045229979447125428033942532274283732480401826929737493198681830890926167278276476136505633104466186227497188201589456945260082595602170465233866716951549593983630371381832265921422853494726199872872103625621000133506308595198022625959854813681351857221182425744882924873654128210064271869562490302916912420765911337493739021554768747454899683920694604483356529799614553722765848849200857141048366533884804484292267310927756611377394957511718940651279286807753016288072642739485551645491140213709996239592385472434824741885068986276074084653369244908016593382479870669359649365693242400700700190643536395835621861330729349599433543317882758364114108329503302151464531189567974071473263626002546271611191852270932488735114916450324090078914740071001606536596344106986075973078176653407205750113859026529382891414459550796322529895125146328660531973729591750284139581156445189223525494516900245911832370382806284549946661229941708497397781242590620929011238390998167448239599648109293177249663098470396508398690559983831649601925432158375180626000386449781515954949113475513760424182055448706796293445612004200787441950299488147502332651820837117502246827980290849718886792746319599990195677817240826780731404352722725938928744134188041351460215460248270796077215058705671235124073058793605306347903098868698985917460867200260579153631282734585035564902899026878721204209651021676279215765896809461126354953237949278720555487684042971195936367715710458317246419628778774629965819924589360146134077825680095128291194860494006011490791004011803935985651676321173829960266382132768392940322578 198567182851104439335866798521900862148380034431303237432854805733397108146680424449971879749934926838099759447250394171149223161039282110063682118573567009831491107619013954592747615538806674866598118921439704912023390689996396428309001482272367680251605148616605227282405089877997151577655510901709194168748600750528832146918702952316832133707775239391156014730156236760006436956039835850583612891745564053582241078831715224651743351862497328650980208458607875415057942279751650642748880797314778491231705286423254590911529570236716123184544134063498587002872950636334590544469101929211325429022264514028572563493492377521336423060681082766337260336979206419331421044974417431926709872083373230142246004310910003010820459693765508846409348290302494109929310367727912217216564043133282413687526355486485545065728107344393642110548800174793587845394561702955559426296241140623547180889505136967116310978868399358018130554716188335075064024411159626300067700955070588378491000653366750789365315967403833573912443775716801291342397250327503776306769876484094029195011593539315644844127643277347698613104686862592425898896260510705516919903928690774328130072819222986931621216109313742228709425883813065270352975757989108570920798486989610839731416242491617623941802402628547796324794925374892003781711253415730015586228723353766105748120466082008806122052179779204724052453563458012908364676435559540561477403865638382677182979882401475277038728682228599562518906112425334353722497246927370013361085922274158630827700520707026615635471537414151423605373057362063999207351143776068637080952062511345512087581870876701006729293542584521032061105317070290053980186013290740229775295801621674396270080127548075653736153928972853457620596598635841138130845432404551190521456496387215652745178668198270221956444229393498579673950771315830625573050027619990719789932169324306043659022749855737234717287194165112002415717500060702478270868729513084579276332642919631475705764801783388538325042632389944463896826572039590689818636816746099238398708446481233984898918343550648537890273105119298985925180792795664069429155420331090735019589666901596573179355346968992423994900973293430644488299255854995886796535242406883714688175614411584414072190254950149762684765528208949656086986664582624329516693970830731112164261433224309814038593623005393789063113945179556125513509350914291731830796320844368738471851932633373564052212234805923678688050451635105680888796964598615190343096565426298206113074092113507497268394865674790192490825702274960043182897351516525419810189369448147269185808085394922082769420620867324787298424669015958004195951717387513782394433614910628827622232237852347232134868775796364604077440602628192074919474000773659245393284344492006375241671530867191673056584580415960219665607038022649477278439302289534569540467832129158814406725567068834768970032301269388041070750226527834917533799830777942350753382177128598421084607316931912346786529733192262365979917121642674505979896347281843088524345086411109355630247268930563227760636887426729909346094291211658966187451228413154978699287572757423246956675696527069381103311156613668746953428744847705134633726255696267627430278738376454537836297349852059061632562557475721961240654811287312639519674750832478665120464251740411353033176860062771945505196176859713058214721335094341060330099385057000510749001458948797889211629404935409758851583033692570921280670220863760739275106485970398006098644748023587794602186517594566105797906665830489058038688988783661936854423649422628047912573767910167460734915124565532331400395844307227485182806992252462649867886192882642286873392145914145647166183680446998994191001910843871366495706997150612159340281116277572967591239588088664304532472183438566867469137278104423610421390514035758872483116031861401979083139470556248448984478316835694004116511383608667932085437113063002886519106327486364453045336954471408886377430528637827318549 321288450903402233625658028965489092774181400682525912011615978420601867789568209695234695312136221475865817076338754166161672556657345104081810046971687951933163143084787999103980868677563935983164586908014512869111834847931931181157115078310761153056535774570529903793131274757105494060283977200593973535164340225540243984806360103079172027048618341770111139599837786306971586701646172625226760491792679333808781025498401647233052674796145243347180762231220314815833156660566911889890771073743738845838457709619380813903440256402999593466538587845982437308140764590566765974402481585912690128633145748533774185021711177030881655497602480122435755245481924745775564987154795200646582049858026964906956699188571693717001418814832229456549039543519403487661078783503069606734001392177895077602148252167490565170174993232326378559588272052208465530950182719756966726709455700255272205503701420924571054085301308689480901986428234018804831331763231710308090763781598942127473790427006845499407496098852295295797843212863860657826072724669814460369182086741384213562956202643431323023965177789034391064463975848808439029896048153088047434095681324852400908009378135929479948957523282526524841048342941269646385412635094497448448181234180000418791500052877398617372140215351786107804439480745630900007424860842619680868874987383862716683948007833189699541054365678281732609510113355105894812682409416529985202331184818127181350829008934783843394424055452981010861759717674104488443614776247204962476690398434335689232448444058572440889653462954110992351057389845273521311100764690542534857457728905216850506774107916529757298872781292942418431542721948961014556806928476359840653172467411399810780989180097697268027309958280500084735436270876778227485869212563479420774289776723379803993087652339690786001451489817441367843538339896890162461576419750057493996059271644579115836105990107501346797004236025400223501649140936327375745315792770385206467753922558350085949568852590290554413160439721141280046349879172845439563852413028369255355502862116760691377975288406968108485240494896300698026706330071527615387979337011661361420374740577102590496102743746265620216641905335963589570627254101003401680803419516909909187306154433208604023670809345096613814684488010469234711028220612951831178917520616478029905761025542933950504158933296310792110766523760919154558739330361417159864738853118652470952253759563111057250894065696849845966326927771611313993263150826112378544686022371558288708676262578741363985346415268773822862207534540881466036392077716398291913814990448280775494403283417548042624234302219182008480850413898882877850079927451785651956923917827541248388143575346086253689637523251264287998135207111548604719088554496425094242485201633054741775556335351483940367512337027337614623118756963300756565247055305822642183207317680804305546939277065074361355504736094129926139736502601919570903044738794535733233252846488247786777849717632612537430066129027884227310646471242108049297779105645957196853848388562573886819815243002036491386639433698341101198365223700394081103901552503233893439358574363959843300782682603042459279964563819418860812455274230596549093277052018797522555425067036986511565889100136198642789007746699247455757555057199145009902481035382425326350405960237809134275767480991783183896194344307952657862830628271590723428569781565399201308985290598399814643787780116035759238032815208525870394145734624184921330555192766691451710648948811029744901674665096898757618743783332735886018979838502548729600743249412823725729814594690898865087637850504461075534583885658687700643055263048539864926591864117766359932185751220493550265052379432916455058202171423024997778441582186177062239307994998777177242261264367880070429281644564921820707086556824979098105433485231695240198826490178648398711918245186214268909067676981828081942191478736959126945931119074493677523118131422350104721658128301369152759563297030767641127 519855633754506672961524827487389954922561435113829149444470784153998975936248634145206575062071148313965576523589148337310895717696627214145492165545254961764654250703801953696728484216370610849762705829454217781135225537928327609466116560583128833308140923187135131075536364635102645637939488102303167703912940976069076131725063055396004160756393581161267154329994023066978023657686008475810373383538243387391022104330116871884796026658642571998160970689828190230891098940318562532639651871058517337070162996042635404814969826639715716651082721909481024311013715226901356518871583515124015557655410262562346748515203554552218078558283562888773015582461131165106986032129212632573291921941400195049202703499481696727821878508597738302958387833821897597590389151230981823950565435311177491289674607653976110235903100576720020670137072227002053376344744422712526153005696840878819386393206557891687365064169708047499032541144422353879895356174391336608158464736669530505964791080373596288772812066256128869710286988580661949168469974997318236675951963225478242757967796182746967868092821066382089677568662711400864928792308663793564353999610015626729038082197358916411570173632596268753550474226754334916738388393083606019368979721169611258522916295369016241313942617980333904129234406120522903789136114258349696455103710737628822432068473915198505663106545457486456661963676813118803177358844976070546679735050456509858533808891336259120433152737681580573380665830099438842166112023174574975837776320708494320060148964765599056525125000368262415956430447207337520518451908466611171938409791416562362594355978793230764028166323877463450492648039019251068536992941767100070428468269033074207051069307645772921763463887253353542356032869512619365616714644968030611295746273110595456738266320537961007957895719210939947517489111212720788034626447370048213785991440968885159495128739963238581514291430190512225917366640997029854016184522283469785744086565477981561655333654373679092738203072111085743943176451212436129382489229774468493754211308597994676276893631957616646375513600015599683951887122867191684817134757342752096439964407478699163675458090715258044211542878629394234058926509955999288477338661923793623875481768844793018095861064295246376499450016219418890798014885195576160695611491447209142070022458767243764542752556301704581173880468940475280072248681275708891695535173963021209424105692196484621303106300502773524654377379406716994882060115424727568887782587797856494821750354692248861253741280943564015353033236815841509219289429232923711724004359896428044680211368812470125393654923086506795779275082914840882046031644839299434351357532738170076010375813198433485824506299047628892075575809739740679638562555270084339635769546125061117017227866218675613424096917443297834288725794985950233843686357595357211723675149809963119953664844133909130325537037363517967210486729129754488436844569572478083986635023616846207862457034564524884216595862220146593290563592884782555277675452927800285378193474973683242450062511932599719147276321125071010544459514912053047291352780916388872138646147121383090257458379130111840383275720433087607765884019078301683727003307715065149985703805413441049402186449988257704421570304174969416998209868486457649422155786214903991470870211978220487308944341054555129401390521167665716077551963365931783758669166622399712057986749547197703855417185051445518089615848901096791674815955487945660605661678737089457809293696834617539503861182691464863416650449163224944057668827286210666455166898835451773642388362601066325822552975069993406934979729965915185825862255301002514794478057000408646805577897134639197431236059879915449249204082266896364274148579336789221579589111276350144833500852456544374961753828003488688176223834929402708526823999267454112681942522040050377795057715742462717893545993817522086058702862345627059031368232137496564042224458908714557766995082772778039136993825668594959676 841144084657908906587182856452879047696742835796355061456086762574600843725816843840441270374207369789831393599927902503472568274353972318227302212516942913697817393788589952800709352893934546832927292737468730650247060385860258790623231638893889986364676697757665034868667639392208139698223465302897141239077281201609320116531423158475176187805011922931378293929831809373949610359332181101037133875330922721199803129828518519117848701454787815345341732921048505046724255600885474422530422944802256182908620705662016218718410083042715310117621309755463461619154479817468122493274065101036705686288556011096120933536914731583099734055886043011208770827943055910882551019284007833219873971799427159956159402688053390444823297323429967759507427377341301085251467934734051430684566827489072568891822859821466675406078093809046399229725344279210518907294927142469492879715152541134091591896907978816258419149471016736979934527572656372684726687937623046916249228518268472633438581507380441788180308165108424165508130201444522606994542699667132697045134049966862456320923998826178290892057998855416480742032638560209303958688356816881611788095291340479129946091575494845891519131155878795278391522569695604563123801028178103467817160955349611677314416348246414858686082833332120011933673886866153803796560975100969377323978698121491539116016481748388205204160911135768189271473790168224697990041254392600531882066235274637039884637900271042963827576793134561584242425547773543330609726799421779938314466719142830009292597408824171497414778463322373408307487837052611041829552673157153706795867520321779213101130086709760521327039105170405868924190760968212083093799870243459911081640736444474017832058487743470189790773845533853627091469140389397593102583857531510032070036049833975260731353972877651793959347209028381315361027451109610950496202867120105707782050712613464275331234730070739928311295666215912449419015781933357229761500315053854992211840488036331647604902506963969647151363511832227023989526330385281568946341642802837749109714170714755367654868920364584754860754094911900381978593452938719300205114094354413457860339148055801754171560834461523664428184783965357823629553764057002690158142081440703533062787923278001622119531873640342990314134504229888125509043105808527991874529012063687171975783484310177715046911489598015373284646992701394434630988011637126051560274027081673680376359451759595678554000366199623370620704307178328308875323266250839947432468610169414783530426617270990225239087696212337838215240771356722975255681506949322003637819350344708820174614652230018168017889225305688804260125496813723759896111572291085086308281450565711324398519388544519739514143822298893180073711016851289284357651109766509433878254747758115858792784201570159553791609254470635448911844551949250990408933412901179853906882467490767425500604121198983491681041773457647893350223231731674059339889308367013817219887870105093994640306752197137421646661991248030820601210064126890604575454558573757482232041863536257129269877754934636210533915754823412111742824738612447128395254333419622765578004721485342933558241061733154299663240284252506468578339293308898232820280359733862672541128872450427560968075550124456347210578050874216872755764925685602659324636821597329317821276172216029621584711822046338313297584865475618373940382591637522507187238948187798913366972040145597518499204965167481277327648664109622662068961690112130581936216871503780909519942645645647284405535847788363621035394232495960830076648665788759396055910148248275499372202957291965190910190825574454482469563615624602886468917518349542379721069921118175006737763648355132747696288439312831904307406253689921362052590161522966283818897106275127322075762116824424445391035472568410508883310391754381806632257484499149352880769012218698776506975960928676986802613670799350168000894341082586185977299351211990241565342590331064662488653211074147191896557122699362600803 1360999718412415579548707683940269002619304270910184210900557546728599819662065477985647845436278518103796970123517050840783463992050599532372794378062197875462471644492391906497437837110305157682689998566922948431382285923788586400089348199477018819672817620944800165944204004027310785336162953405200308942990222177678396248256486213871180348561405504092645448259825832440927634017018189576847507258869166108590825234158635391002644728113430387343502703610876695277615354541204036955170074815860773519978783701704651623533379909682431026768704031664944485930168195044369479012145648616160721243943966273658467682052118286135317812614169605899981786410404187075989537051413220465793165893740827355005362106187535087172645175832027706062465815211163198682841857085965033254635132262800250060181497467475442785641981194385766419899862416506212572283639671565182019032720849382012910978290114536707945784213640724784478967068717078726564622044112014383524407693254938003139403372587754038076953120231364553035218417190025184556163012674664450933721086013192340699078891795008925258760150819921798570419601301271610168887480665480675176142094901356105858984173772853762303089304788475064031941996796449939479862189421261709487186140676519222935837332643615431100000025451312453916062908292986676707585697089359319073779082408859120361548084955663586710867267456593254645933437466981343501167400099368671078561801285731146898418446791607302084260729530816142157623091377872982172775838822596354914152243039851324329352746373589770553939903463690635824263918284259948562348004581623764878734277311738341575695486065502991285355205429047869319416838799987463151630792812010559981510109005477548224883127795389243111554237732787207169447502009902016958719298502499540643365782322944570717469620293415612801917242928239321262878516562322331738530829314490153921568042153582349434826363470033978509825587096406424675336382422930387083777684837337324777955927053514313209260236161337648739889566583943312767932702781597717698328830872577306242863925479312750043931762552322201401236267694927500065930480575805910985022248851697165554300303555534500917847018925176781708639727662594752057688480274013001978635480743364497156938269692122794640215392937935589366813584520449307016307057991004104152570140503510896314045805943077421479589664045899719954458527461641869714703236692912834943255809201044694889800465143956080299857106666702396895275081686585045303757383381675567516320251197967271278352176971963239086492828977155901853568274008172564484474970936182245715361823710241136864854826021042488293411544148392195600039400579728564641942143217130384520659638983303881400408895201742953225338650121346522072149286826591029963996213665036593773514024293883176975810012067788835167215706171913933283200570346935201224252619770496537065630557617300730545454268965332892622006578810821165860560709960861428547776733877939491901206522893721940202502763786761662305863257853468177413891773657011673159853130011501557767610235338509940371719940266867235929681192075948483122287284253524500175686607114336011637716650868606726023815699440863266140046516004685594076344223312387199916547283667448927822526832677863868610370262000112714051632148355049186289753974794172060308746792607812233309292146384194250108893656163100893442698975386643284090017934555003454290945908114810198625424958789692795222354622150218926795417264513010719453743777645600076242541878550240870367329236342480264823909397030479828484452044681659185774134317493074970062511077047083727273014591319893031516732743800644447889404543345590518072294779773650544894515547978118583653543341545489771945127524499192747353556610335956817726326738740859755505398486217551477466909262969280968820352789300571899197059534226683784515159081483766603465562711534258749154302033676671139704696159664616872254059597203428213245008667583349486805607567049239779220255648293846925231033550948367957560479 2202143803070324486135890540393148050316047106706539272356644309303200663387882321826089115810485887893628363723444953344256032266404571850600096590579140789160289038280981859298147190004239704515617291304391679081629346309648845190712579838370908806037494318702465200812871643419518925034386418708097450182067503379287716364787909372346356536366417427024023742189657641814877244376350370677884641134200088829790628363987153910120493429568218202688844436531925200324339610142089511377700497760663029702887404407366667842251789992725146336886325341420407947549322674861837601505419713717197426930232522284754588615589033017718417546670055648911190557238347242986872088070697228299013039865540254514961521508875588477617468473155457673821973242588504499768093325020699084685319699090289322629073320327296909461048059288194812819129587760785423091190934598707651511912436001923147002570187022515524204203363111741521458901596289735099249348732049637430440656921773206475772841954095134479865133428396472977200726547391469707163157555374331583630766220063159203155399815793835103549652208818777215051161633939831819472846169022297556787930190192696584988930265348348608194608435944353859310333519366145544042985990449439812955003301631868834613151748991861845958686108284644573927996582179852830511382258064460288451103061106980611900664101437411974916071428367729022835204911257149568199157441353761271610443867521005783938303084691878345048088306323950703741865516925646525503385565622018134852466709758994154338645343782413942051354681927013009232571406121312559604177557254780918585530144832060120788796616152212751806682244534218275188341029560955675234724592682254019892591749741922022242715186283132713301345011578321060796538971150291414551821882360031050675435818372778545978200974266293264595876590137267702578239544013431942689027032181610259629350092866195813710157598200104718438136882762622337124755398204863744313539185152391179770167767541550644856865138668301618387040930095775539791922229111982999267275172515380143991973639650027505411586631472686786156097021789839400447909074028744630285227362946051579012160642703590302672018579759638305373067912446560109881318034038070004668793622824805200690001057615400796262334924811575932357127719024679195141816101096812632144444669515574583486021589427387599194636575535497735327743174454343264149334224704549960994816083228126368570176824595715675978411107032902020265895785993763373612632706647926407463752719808136686061882603589234229311731916673368239691783514779529287459730652443131567718999643060585845685029440673272506461429433373697884404299526076542288401838254789421469606967920433869592724807414590287472964852793943645415252222997843442319248353864774803103207392279041641292834602796269358994721007315426384568732112414898884452214661553183397716919537440084791497970954873086531876113687620584278813753910933192593102607116623186306505718426410763827034197143070538958799727509919844716208234492983721138563764428584570075315249842277202046197500989818021801872140215107830771895234030108992136947304081861447755634403294655590092068957373940502596420439709756288938100544922562605696098149367564027182790495067961550314296171338337550237170398842726405923403162509739719857662968071429429409562627113422556410279730478367985147231755996560252118902463958317146640976798133147062997997538791930829838392740853827115386408072744913177120342115812739335712206824478095421744651276849178988125912108314932878268192105487438914155146604210966158863729458566987195332002772386794277184996707642934626218902371874106961215120958763697292000087274236617899236758660281105193844904692823812938505579257864016589646739088379328902382721789217383323826604788985025086105393265743824773140309705942844618438166321791338968265752818443480546477447930809009637599816691498773335416222422060491544510799430985966934561477047172909639570843882744301504921072422930108071067320161282 3563143521482740065684598224333417052935351377616723483257201856031800483049947799811736961246764405997425333846962004185039496258455171382972890968641338664622760682773373765795585027114544862198307289871314627513011632233437431590801928037847927625710311939647265366757075647446829710370549372113297759125057725556966112613044395586217536884927822931116669190449483474255804878393368560254732148393069254938381453598145789301123138157681648590032347140142801895601954964683293548332870572576523803222866188109071319465785169902407577363655029373085352433479490869906207080517565362333358148174176488558413056297641151303853735359284225254811172343648751430062861625122110448764806205759281081869966883615063123564790113648987485379884439057799667698450935182106664117939954831353089572689254817794772352246690040482580579239029450177291635663474574270272833530945156851305159913548477137052232149987576752466305937868665006813825813970776161651813965064615028144478912245326682888517942086548627837530235944964581494891719320568048996034564487306076351543854478707588844028808412359638699013621581235241103429641733649687778231964072285094052690847914439121202370497697740732828923342275516162595483522848179870701522442189442308388057548989081635477277058686133735957027844059490472839507218967955153819607524882143515839732262212186393075561626938695824322277481138348724130911700324841453129942689005668806736930836721531483485647132349035854766845899488608303519507676161404444614489766618952798845478667998090156003712605294585390703645056835324405572508166525561836404683464264422143798462364492102217715743092037449963266144507757868360943138386355385494264579874101858747399570467598314078521956412899249311108267965986473160193431510541180862530591318801600695723116695670594559708877397793833065507023841118060575754274427557861496100413550918135019778163144983961670138696947962469859028761800091780627794131397316869989728504548123694595064958066125374829639267126930496679718852559854931893580716965604003387957450234837565129340255455518394025008987557333289484766900513839554604550541270249611797748744566460946259124803589865598684815087081707640109154861939006514312083006647429103568169697846939327307523590902550317749511521723941303545128502158123159087816736297014810019085479800067395370465020674226239581397455282201701915985133864037461397462795938071892429171063459977289739671756278268213699604417161170867680348418916390090029601974980072971006103957340234780561197468398224745650524141545351788787701851944205623379313813434361466770826982549884266694314994754840977522090080004338926656270853043780398006551854127627559417173474125216309792030426190191444064991937324372284670033349212350078439839696980906303335524469810412808337147829888223021598298502015312985245819653438914172953894253985167997702092228516409142051864768735694199395099979614471643153454531154893357064245997619632933657548974399645834325720462033373177698184385648384757378150236924281714581576873017452512540556137872709758288669108069896299906720378356317393245661447479768468562091646041011306458698794981189639943459686579756272293623694621266785918083298065914847694631718317594794228178164781708599550349884450474874760972589452263714514029723276818222037221795936405568940604529839372024148248125198695535638762186553976251701644431089079055177808196164216889619531187963208449265605334868162177690131061569556516981312283067019973971985521644178415330606176932224329908748020589939483595814332378345283651938699521078064242415730045401385597078028224375678426863350261278650306805639031058477065650632168752165877355342313824446739334676637951337437698326611420626925603556814706067643242477294615869541378082255894288055386362086096614073712208903002378845121950836950420452032356284006192080736197085111043314270956396194933000033094676120088747939012675994634517910963852780476688810623102999949798767997653963659019435277721761 5765287324553064551820488764726565103251398484323262755613846165335001146437830121637826077057250293891053697570406957529295528524859743233572987559220479453783049721054355625093732217118784566713924581175706306594640978543086276781514507876218836431747806258349730567569947290866348635404935790821395209307125228936253828977832304958563893421294240358140692932639141116070682122769718930932616789527269343768172081962132943211243631587249866792721191576674727095926294574825383059710571070337186832925753592516437987308036959895132723700541354714505760381028813544768044682022985076050555575104409010843167644913230184321572152905954280903722362900887098673049733713192807677063819245624821336384928405123938712042407582122142943053706412300388172198219028507127363202625274530443378895318328138122069261707738099770775392058159037938077058754665508868980485042857592853228306916118664159567756354190939864207827396770261296548925063319508211289244405721536801350954685087280778022997807219977024310507436671511972964598882478123423327618195253526139510747009878523382679132358064568457476228672742869180935249114579818710075788752002475286749275836844704469550978692306176677182782652609035528741027565834170320141335397192743940256892162140830627339123017372242020601601772056072652692337730350213218279895975985204622820344162876287830487536543010124192051300316343259981280479899482282806891214299449536327742714775024616175363992180437342178717549641354125229166033179546970066632624619085662557839633006643433938417654656649267317716654289406730526885067770703119091185602049794566975858583153288718369928494898719694497484419696098897921898813621079978176518599766693608489321592710313500361654669714244260889429328762525444310484846062363063222561641994237419068501662673871568826002141993670423202774726419357604589186217116584893677710673180268227885973976855141559870243415386099352621651098924847178832657875710856055142119684318291462136615602922990513497940885513971426775494392351777161005563716232879175903337594226811204779367760867105025497695773713430311274606300961748628633295171555476974743800323578621588962715106261884178444453392454775552555714971820324548350153011316222726392974898536940384922924387164885242561087454081069022569807697299939260184629368441459479534660063286088984797852619868862815116895190609944876370328398013371686102012756932887975657297432030154114335387432256679320732506437427066653674111792529022796677528382443825690814240643402117384150431697709956662323892381237135303567231139403936275822445381153361109831412828234913707367587501216270410895787964408638452732813141445618652795973323734595479851043066850023724382317899155044238008637352576595282513475668460703943214642800188298582377165762645015604606506824609230337024683070747425400144704105653575726137291970904705437786883726487364015138396644849381819979378793368382576346047633762009980250552503338059344421376008596788904864679261760883097542900593882877741099288800688710299151652188267294789742602335373699576310470980210111407737492273590347502237798394783850330009847280444305962048790863938563580446056107019466028582561795166189348523779396215282411721814508812662755778492460953046937100587054849317601166895992614773454233887386244889651466631358563518991497014809569850392133395356954692095890881089017934568848285407887212202240806193703008820449369580704062276380991742940907090867251403685369256317024489891498069393730172921027594318732089040539262787016212695426922509969478982556249810802428979645051437747732817788179874263024932018613053082252633152757268020759989822174357650719442988783776592100974105551933179581330775150376203905869284643515250295903085396545625199083833252865204687044879313141491755351840438846852518608945223463560117158741759420298109102449672627213645015920052951870773087693706335449317098180580292449812106980601452472440899953386328381466985744251303689070076893767090502597883043 9328430846035804617505086989059982156186749861939986238871048021366801629487777921449563038304014699888479031417368961714335024783314914616545878527861818118405810403827729390889317244233329428912231871047020934107652610776523708372316435914066764057458118197996995934327022938313178345775485162934692968432182954493219941590876700544781430306222063289257362123088624590326487001163087491187348937920338598706553535560278732512366769744931515382753538716817528991528249539508676608043441642913710636148619780625509306773822129797540301064196384087591112814508304414674251762540550438383913723278585499401580701210871335625425888265238506158533535244535850103112595338314918125828625451384102418254895288739001835607197695771130428433590851358187839896669963689234027320565229361796468468007582955916841613954428140253355971297188488115368694418140083139253318573802749704533466829667141296619988504178516616674133334638926303362750877290284372941058370786151829495433597332607460911515749306525652148037672616476554459490601798691472323652759740832215862290864357230971523161166476928096175242294324104422038678756313468397854020716074760380801966684759143590753349190003917410011705994884551691336511088682350190842857839382186248644949711129912262816400076058375756558629616115563125531844949318168372099503500867348138660076425088474223563098169948820016373577797481608705411391599807124260021156988455205134479645611746147658849639312786378033484395540842733532685540855708374511247114385704615356685111674641524094421367261943852708420299346242054932457575937228680927590285514058989119657045517780820587644237990757144460750564203856766282841952007435363670783179640795467236721163177911814440176626127143510200537596728511917470678277572904244085092233313039019764224779369542163385711019391464256268281750260475665164940491544142755173811086731186362905752140000125521540382112334061822480679860724938959460452007108172925131848188866415156731680560989115888327580152640901923455213244911632092899144433198483179291295044461648769908708016322623419522704761270763600759373201475588183237845712825726586541549068145082535221839909851749777129268479536483192664869833759331062662236017963651829961144596383879712230447978067435560310598975805010326114936199458062419272446104738474289553745543086156380168317640543089054698292645892146578286313531877409147499475552870959868086468495490131404075059188534947534432110854588237521354460211445412886707130357423898661820344600742352164711629166108181407974416522782487092354932991348141899201759194587722576602239810784797974061902495971111388417878044412977379389083994489399050802525177862223039268216540975240034174348325345235682073629289900967567183509017673054021654482497169204885712690232455428412943654654497453358622981572762738385390523759092489899091186224889873435488975955003773157190261413585076019374478772982854219499502164916903337314798500957692278078924982996434739190399723794256275241084979531262498477439037612992013733229061284747302283158473246409334599140088280007707644212651946664895483459842263618798571938926485317268507489658919753220389515793599222300876185489787456134441862694281197259416446227130257550006670625734755536650936939299792475927868582067037168747917109521707873503853154499924560437619339409222416281643482153387631529643275571910820549929838976291257418614389867225710068900768667270725646597077809069268557382465254925773298336772958518043365715694565206009649338265972763592695764233285366406105783811360901533462741128500723115680163462863189565471341053156394291479945602894431407574826399020880651423301351611740949653947443287929998672514257968726487813902232480705270440853852717791464188867676378449122406582769300773601196878117437937052920564727511947602308682067995692179872330465386455864707949842101031096266141729483888639335482411774300669040388824782975235970383404752733863017192090088744201102457067730857426109937875604804 15093718170588869169325575753786547259438148346263248994484894186701802775925608043087389115361264993779532728987775919243630553308174657850118866087082297572188860124882085015983049461352113995626156452222727240702293589319609985153830943790285600489205924456346726501896970229179526981180420953756088177739308183429473770568709005503345323727516303647398055055727765706397169123932806422119965727447607942474725617522411675723610401332181382175474730293492256087454544114334059667754012713250897469074373373141947294081859089692673024764737738802096873195537117959442296444563535514434469298382994510244748346124101519946998041171192787062255898145422948776162329051507725802892444697008923754639823693862940547649605277893273371487297263658576012094888992196361390523190503892239847363325911094038910875662166240024131363355347526053445753172805592008233803616660342557761773745785805456187744858369456480881960731409187599911675940609792584230302776507688630846388282419888238934513556526502676458545109287988527424089484276814895651270954994358355373037874235754354202293524541496553651470967066973602973927870893287107929809468077235667551242521603848060304327882310094087194488647493587220077538654516520510984193236574930188901841873270742890155523093430617777160231388171635778224182679668381590379399476852552761480420587964762054050634712958944208424878113824868686691871499289407066912371287904741462222360386770763834213631493223720212201945182196858761851574035255344577879739004790277914524744681284958032839021918593120026136953635648785459342643707931800018775887563853556095515628671069538957572732889476838958234983899955664204740765628515341847301779407489075726042755888225314801831295841387771089966925491037361781163123635267307307653875307276438832726442043413732211713161385134679471056476679833269754126708660727648851521759911454590791726116855267081410625527720161175102330959649786138293109882819028980273967873184706618868296163912106401825521038154873350230707637263409253904708149431362355194632638688459974688075777189728445020400534984193912033979502437336811871140884381203561285349391723704124184555016113633955573721871991258745220584805579655611012389029279874556354119494920820097153372365232320802871686429886079348684743896758001679457075473179933769088405606372245364966170260411951869815187836502091454656641929890780833601488309803847843743765927520285518410446620791626855164617292015304175028572003974435683384658739867724352634585244144469548862060863818138070298308904019622395922164130752078175024204575741083686433652639019711681429489997187381799313666008821615832121897135935017703598498501596818519119259607825263758556666224500279920082266642477562849696984686133757964869125297357503468089855995100444017550161479106683695647664643510163785535227864746065625228478195794578873275859681491137172328658058434457839353857566351236795845549798678913317565351004295751622500300991593223644055078985555139372783985573414140239576727838301702312884881249552042092025760808620108910909611068490119115381704925537012397721258237047469128581786206929623230556280522858316800835571900618688329458747284953645482965642090496479671138260735942920305785163086687802473751523994149110077094764574681810622981804495766597524970484513063443551934634148979072808415038839108079727420524364589845389398215246863503459659420583570234530518270349371333002027588820749976359424633868940295029615361262850016112759445867486233603968070355013302855482780445980793328615753290343457783273543557480368167117911195680977745345604078088412904533027855527584164842847159010702825780952071054729733430539544262035550605693839299501638190106138349989913956104148620876860734492875462282375271787456345652914338369872789777491767417246120892825772242185154433939292628574488905537335163487116951149218012502571582345670931728872481249332838636889955837422855845652687249345573557074488452406146137807751193200440473487847 24422149016624673786830662742846529415624898208203235233355942208068604405413385964536952153665279693668011760405144880957965578091489572466664744614944115690594670528709814406872366705585443424538388323269748174809946200096133693526147379704352364546664042654343722436223993167492705326955906116690781146171491137922693712159585706048126754033738366936655417178816390296723656125095893913307314665367946541181279153082690408235977171077112897558228269010309785078982793653842736275797454356164608105222993153767456600855681219490213325828934122889687986010045422374116548207104085952818383021661580009646329047334972855572423929436431293220789433389958798879274924389822643928721070148393026172894718982601942383256802973664403799920888115016763851991558955885595417843755733254036315831333494049955752489616594380277487334652536014168814447590945675147487122190463092262295240575452946752807733362547973097556094066048113903274426817900076957171361147293840460341821879752495699846029305833028328606582781904465081883580086075506367974923714735190571235328738592985325725454691018424649826713261391078025012606627206755505783830184151996048353209206362991651057677072314011497206194642378138911414049743198870701827051075957116437546791584400655152971923169488993533718861004287198903756027628986549962478902977719900900140497013053236277613732882907764224798455911306477392103263099096531326933528276359946596702005998516911493063270806010098245686340723039592294537114890963719089126853390494893271209856355926482127260389180536972734557252981890840391800219645160480946366173077912545215172674188850359545216970880233983418985548103812430487582717635950705518084959048284542962763919066137129242007921968531281290504522219549279251841401208171551392746108620315458596951221412955895597424180776598935739338226940308934919067200204870404025332846642640953697478256855392602951007640054222997583010820374725097753561889927201905405816062051121775599976724901222290153101190795775273685920882175041346803852582629845534485927683150108744596783793512351864543105296254957512793352703912924995108986597206930147826898459868786659406394925965383732702990351527741937885454639338986673674625047243526386315264091304699809383820343299756363182285405691089674799680096216064098729521577918408058642151149458401745134487900955040924513480482394238032942955461768189981100963862674807711830234423010416922485505809326574389596728146603541696383032215419848570091789097291623014454929844886821713573690029926319478272725426802109488277097122100220074225963770328806263035892449804509655491392493158493187731544053234593211510981130424416754401023679459041558387476148800503792731014549845515602155895932378530416880493703806811986523607794526708353802546227555872430493816133604137054270646216272902170925751623838555524319664420684452308764835636494910329518919472019533858728336339334091015345051963595816654880149505253443900579225974589658383245478709349395648025070552945402738054166875914694326618110310836789394308919281866518245508751156770126823025917577483677293204718079311087927153725133414940499063770181778070021225087694217910630334932774741101617407504784777676930554706963073177855791833712422558010402460933448902553022633156748847791729721605288305398474337667563368112372253488388295224696682321261467358950167640161756209948145085839794717078034973437460240587171118038603727674185898559045627982016334195220802913698035808534156125161562051439613617408620986066448178544679266159734721537101704359316736284685981091282798074658544167310816945131244807196012973458422015572417673558031583477204253422666470683084486987549965549278208097268228126004008370830695184396958001338668324923360551840731497678370225646426515535247990227714544687981973632840428080924253150126119164959039875361402043113329217982245484154232055470985006414140646781918373227461672931073393239250405421112362765647163232653508603205538608619310378349092651 39515867187213542956156238496633076675063046554466484227840836394770407181338994007624341269026544687447544489392920800201596131399664230316783610702026413262783530653591899422855416166937557420164544775492475415512239789415743678679978323494637965035869967110690448938120963396672232308136327070446869323910799321352167482728294711551472077761254670584053472234544156003120825249028700335427280392815554483656004770605102083959587572409294279733702999303802041166437337768176795943551467069415505574297366526909403894937540309182886350593671861691784859205582540333558844651667621467252852320044574519891077393459074375519421970607624080283045331535381747655437253441330369731613514845401949927534542676464882930906408251557677171408185378675339864086447948081956808366946237146276163194659405143994663365278760620301618698007883540222260200763751267155720925807123434820057014321238752208995478220917429578438054797457301503186102758509869541401663923801529091188210162172383938780542862359531005065127891192453609307669570352321263626194669729548926608366612828739679927748215559921203478184228458051627986534498100042613713639652229231715904451727966839711362004954624105584400683289871726131491588397715391212811244312532046626448633457671398043127446262919611310879092392458834681980210308654931552858302454572453661620917601017998331664367595866708433223334025131346078795134598385938393845899564264688058924366385287675327276902299233818457888285905236451056388688926219063667006592395285171185734601037211440160099411099130092760694206617539625851142863353092280965142060641766101310688302859919898502789703769710822377220532003768094692323483264466047365386738455773618688806674954362444043839217809919052380471447710586641033004524843438858700399983927591897429677663456369627809137342161733615210394703620142204673193908865598052876854606554095544489204373710659684361633167774384172685341780024511236046671772746230885679783935235828394468272888813328691978622228950648623916628519438450600708560732061207889680560321838568719284859570702080309563505831239151424827332206350261806980127481588133709112247851592490783590949942079017688276712223519000683106039444918642284687014076523400942669383586225519906537192708532077166053971835577169023484423992974065778186597051098341827730556755830647110100658161366992794328668318896329487599597391658970814702452172478655555574000350530702440895952430118201244761345438618845871411604219394284253476447837159347367089515089031291262435750893744457548571034330821731884199261252852298249250168346069889949469545088824221336920882490345874987045210062056209043632878266359434457999522181055860077506735756625767551287680774345795522238162574856093266577478389940569951392733091884211821892402222656316448043977612710820749918310859783065956460979488584621149548142616479031182040695317986047501847577530453991698082193905685327811190601762274729972445500509549195523079526966182882027300557694904535020809056126359542977630894714216396639502991560388831486334680090486627156418362225260245938407622503020689690925976316358557055735511340344563729620050704636386822060659594836598959793680059694747100373146875274156601692967699016098161576996799110360484153984927598012630117397731430658414711526101054902923444822180626811664306887637367368033111721160369547086370692004751601599346360332703298176737455557007694771105441467409936729701774719309021987406650203135515832529059298658550268884607429537673217585478975999369303661325125246953063337290392047817100009828243461459449915985854225145056162549209333220100546001313949599737260520717042286302985205493721200416515026531812001099883901936567729764194114509180685098353062149959545185657853427303013872950157681992079429873617863017492036455399219753733253853166438304560058457587614364266939378276816334933394702166734627053330677345869519263167706066098562886910816095096058108361708339204237721105914749343346359812510818822580498 63938016203838216742986901239479606090687944762669719461196778602839011586752379972161293422691824381115556249798065681159561709491153802783448355316970528953378201182301713829727782872523000844702933098762223590322185989511877372206125703198990329582534009765034171374344956564164937635092233187137650470082290459274861194887880417599598831794993037520708889413360546299844481374124594248734595058183501024837283923687792492195564743486407177291931268314111826245420131422019532219348921425580113679520359680676860495793221528673099676422605984581472845215627962707675392858771707420071235341706154529537406440794047231091845900044055373503834764925340546534712177831153013660334584993794976100429261659066825314163211225222080971329073493692103716078006903967552226210701970400312479025992899193950415854895355000579106032660419554391074648354696942303208047997586527082352254896691698961803211583465402675994148863505415406460529576409946498573025071095369551530032041924879638626572168192559333671710673096918691191249656427827631601118384464739497843695351421725005653202906578345853304897489849129652999141125306798119497469836381227764257660934329831362419682026938117081606877932249865042905638140914261914638295388489163063995425042072053196099369432408604844597953396746033585736237937641481515337205432292354561761414614071234609278100478774472658021789936437823470898397697482469720779427840624634655626372383804586820340173105243916703574626628276043350925803817182782756133445785780064456944457393137922287359800279667065495251459599430466242943082998252761911508233719678646525860977048770258048006674649944805796206080107580525179906200900416752883471697504058161651570594020499573285847139778450333670975969930135920284845926051610410093146092547907356026628884869325523406561522938332550949732930560451139592261109070468456902187453196736498186682630566052287312640807828607170268352600399236333800233662673432791085599997286950170068249613714550982131723419746423897602549401613491947512413314691053424166488004988677463881643364214432174106611127494108937620684910263186802089114078795063856939146311461277442997344868044401420979702575046742620991494084257628958361639123766927328984647677530219715921013051831833529236257241268258698284104089190129876916118629016749886372707905289048855235146062322033718842148801290567520542552853427160795803416035153463267404234773541119363381458239444775634358073585222387567794636434814132823568236934450970381544444933918112976009440923670777026843759757623841372476358374952518323476132116398696212505437538628730992412274983504368174776754115290802255143859396783851212400545860514901635894211905426271344018695324191311124394058507234623683457972093747381937916340886410920175694948450212188878537793746314957804188957076055968127386731112423176673867807037163483490805530954480957831366497002473525556810530245019418826535653725870546627325650014802639423658752940772540410546036404253930668834126679304945715685061590131090966121101871225620880643599372353145401927113382030372761433540080504366984130694395669644982889236473759504228683820886414456843285747289054509590128612834435848717780651660051833532247674662089276017368830511532918494556445861046915183140030888179506206441247706343208321919159848190179776679141125755663257808403481631014445320859644913357809294505418543092893815490530445155011692612585448540457375960617868067615388666537330736635442757334467084425009768991589112831202887596985435751839869804513112798058827493752176416746112929442550732714060512769312366979494340578027296558974772371615309678194275073869780189458916387671099599513519361966649162110033835957890198122880011380282750020151298213510581213979143745370628527907638505945408865853245206581143381193386573681934090691454686177622546654239628341421390145552915640186320966682524315683760010166045086079293560235817984209334346463529474071104851400953759423352548884968431821197171673149 103453883391051759699143139736112682765750991317136203689037614997609418768091373979785634691718369068563100739190986481361157840890818033100231966018996942216161731835893613252583199039460558264867477874254699005834425778927621050886104026693628294618403976875724620312465919960837169943228560257584519793993089780627028677616175129151070909556247708104762361647904702302965306623153294584161875450999055508493288694292894576155152315895701457025634267617913867411857469190196328162900388494995619253817726207586264390730761837855986027016277846273257704421210503041234237510439328887324087661750729049428483834253121606611267870651679453786880096460722294190149431272483383391948099839196926027963804335531708245069619476779758142737258872367443580164454852049509034577648207546588642220652304337945079220174115620880724730668303094613334849118448209458928973804709961902409269217930451170798689804382832254432203660962716909646632334919816039974688994896898642718242204097263577407115030552090338736838564289372300498919226780148895227313054194288424452061964250464685580951122138267056783081718307181280985675623406840733211109488610459480162112662296671073781686981562222666007561222121591174397226538629653127449539701021209690444058499743451239226815695328216155477045789204868267716448246296413068195507886864808223382332215089232940942468074641181091245123961569169549693532295868408114625327404889322714550738769092262147617075404477735161462912533512494407314492743401846423140038181065235642679058430349362447459211378797158255945666216970092094085946351345042876650294361444747836549279908690156550796378419655628173426612111348619872229684164882800248858435959831780340377268974862017329686357588369386051447417640722561317850450895049268793546076475499253456306548325695151215698865100066166160127634180593344265455017936066509779042059750832042675887004276711971674273975602991342953694380423747569846905435419663676765383932522778564536522502527879674110345648697072521519177921051942548220974046752261313847048326827246183166502934916512483670116958733260362448017116613448609069241560383197566051394163053768226588294810123419109256414798565743304097533529176271243048653200290328271654031263755739622458205760363910695290229076845427721768528082164195655102715680115091714103264661119695965335804223689026513170817120186897008142150245086131610505868207632118822978235124071821804277410669562976879119419023841233439206240654208417077044684771610317748633960022949404238445191817415234575414794088445573256675619627804816572726300462468586161974982627452952329333157473850243161821964177347011298776737663143285670400068041570761713400947662052038895306376098537106646632221082090716950035450483687951889309073978295131997587350672868505326581771359025778554107267935839034083847710601007797823415949653642514672846226272467005333214074532927517254892724150704746637726255488145276599771150524351834946738279906955422437846594099158465689643182805664488693315956304347487605624093431614452366978279462839772558345475607290618699841162583525056675056670712028202038624747814104067958303871591050843665346406883891108549922292894130595818153798535325990133940642361105374178945827310643278978710430788644927813257428619610164621152773807398111245363982028816991440986028763123031290920124642000561531691551649664959408640865751246391070552946087452849782798054052858477187077735337177089602795316740466252467971816633125634693894376421126786048788366572984805055501194929760065861396117885799993516755941172904010182630046366994457423142043549911247397104976086321215046938714992116156083174664410108871516114540051173967749046011970403687654392237389192065381103082301257758696239067406446759243578685589630585375282483716262698617598780413140306935787257129759246236080134268603895280799666961887849034888487701309577646361105879685308253785359658798704895025429442521637835779444055638674865338101892231328244332015994253647 167391899594889976442130040975592288856438936079805923150234393600448430354843753951946928114410193449678656988989052162520719550381971835883680321335967471169539933018195327082310981911983559109570410973016922596156611768439498423092229729892618624200937986640758791686810876525002107578320793444722170264075380239901889872504055546750669741351240745625471251061265248602809787997277888832896470509182556533330572617980687068350717059382108634317565535932025693657277600612215860382249309920575732933338085888263124886523983366529085703438883830854730549636838465748909630369211036307395323003456883578965890275047168837703113770695734827290714861386062840724861609103636397052282684832991902128393065994598533559232830702001839114066332366059547296242461756017061260788350177946901121246645203531895495075069470621459830763328722649004409497473145151762137021802296488984761524114622150132601901387848234930426352524468132316107161911329762538547714065992268194248274246022143216033687198744649672408549237386290991690168883207976526828431438659027922295757315672189691234154028716612910087979208156310933984816748713638852708579324991687244419773596626502436201369008500339747614439154371456217302864679543915042087835089510372754439483541815504435326185127736821000074999185950901853452686183937894583532713319157162785143746829160467550220568553415653749266913898006993020591929993350877835404755245513957370177111152896848967957248509721651865037539161788537758240296560584629179273483966845300099623515823487284734819011658464223751197125816400558337029029349597804788158528081123394362410256957460414598803053069600433969632692218929145052135885065299553132330133463889941991947862995361590615533497366819719722423387570858481602696376946659678886692169023406609482935433195020674622260388038398717109860564741044483857716127006534966681229512947568540862569634842764258986914783431598513222046980822983903647139098093096467850983929809728734604772116242430656242069068443496419121727322665434495733387361443314738013536331815923647048146299130944657776728086227369300068702026876635411158355639178261422990540474515045669585639678167820530236117373612485925089027613433900201410292324057255600638678941285959338379218812195744224526486318113686420052632171354325532018834309131841600475972566408744820570950286011060232012965921477464528684703098513292406309284242785582090382469897612941167658868909007752513477492609063621007000877089022549900612921706061288130178404956867517214454632741086011602258553846069414629151978002757334896202432578867282374480420166081683321745432457354611336598718292637813553920597059927136882800613902085663349295159567478310239325071422728417771026279589325340633493422577435333827225414864706052173282299123080694205119565105340736358296225011895002211234441713430974497283756690805998163651757226947963164580571535401042811703254395724165464261909214015823227096800539154474370397032847727962848392630503412396358477309484969434409001017894478578571745195302840073247621878835192917960272588989320991461274702664029423659187365107697847021513984287863572186987692477465300508632154172945618140050905728566444535934450195377823666188317023194650196314657822176197473266876649691842996397459507789670827594021513741319567283141877007171217665169888878694548728528123631575977012411294578317217935371169789483964368436617898004794490666638307017644453695955045157218183983277796989103414573967592719118904145412715898879991254169970240807341064734273178659454945379552169933502054102346560915344106879763769790121537890489274693663950858692830356616909267190025863364123326496542615714053570535934398208122004239645544590360269203445663853102452555972206820281385590504614207213497269091320691349569507905198742161606526880617721347821213932413702680922843523622221057107440764675074808667992101962044865889851353339864653219034522879234763788985167309850548907039628624761454441116296676153213165926796 270845782985941736141273180711704971622189927396942126839272008598057849122935127931732562806128562518241757728180038643881877391272789868983912287354964413385701664854088940334894180951444117374437888847271621601991037547367119473978333756586246918819341963516483411999276796485839277521549353702306690058068470020528918550120230675901740650907488453730233612709169950905775094620431183417058345960181612041823861312273581644505869375277810091343199803549939561069135069802412188545149698415571352187155812095849389277254745204385071730455161677127988254058048968790143867879650365194719410665207612628394374109300290444314381641347414281077594957846785134915011040376119780444230784672188828156356870330130241804302450178781597256803591238426990876406916608066570295365998385493489763467297507869840574295243586242340555493997025743617744346591593361221065995607006450887170793332552601303400591192231067184858556185430849225753794246249578578522403060889166836966516450119406793440802229296740011145387801675663292189088109988125422055744492853316346747819279922654376815105150854879966871060926463492214970492372120479585919688813602146724581886258923173509983055990062562413622000376493047391700091218173568169537374790531582444883542041558955674553000823065037155552044975155770121169134430234307651728221206021971008526079044249700491163036628056834840512037859576162570285462289219285950030082650403280084727849921989111115574323914199387026500451695301032165554789303986475602413522147910535742302574253836647182278223037261382007142792033370650431114975700942847664808822442568142198959536866150571149599431489256062143059304330277764924365569230182353381188569423721722332325131970223607945219854955189105773870805211581042920546827841708947680238245498905862939241981520715825837959253138464883269988198921637828123171144942601476460271572698400583538456639119476230661188759034589856175741361246731473494044533512760144616367862332507299141294618770310330352414717140568940640905243717377043954361408195576051860584658643169830214649234047457141446845044960629662516719143490084020227597199561458989041934637568813896173934488291239639492532172178229229186561142610171444458945524347583872292710205041698960837424572559654919816715394959114141821160253518521187121549989246933314579237227528440785906754509700086745183783041664361536826853343599424016815152450417700913360705021684762971936279578570729392596911632904854446207117743230966977657606477671605878812364979816921452899824558501246177673347934514987885827597630562151468928733041335868536455402793534635651078589931204854498420682469984824852697334723070422553200681943656425062696107229530349134631447521265524417658500671416057583528873061123285716534488843001184170869649795949199531701336464366514912403492947734036295082152314438772320699706344448512836497983499414968497794646068328560066595978546428912101988164702161099826867951063506309317135312754683385286239224602570862048120492290633923102316974198826066177369288734454525614600158298032690518618064596611610161115865247554480334244035819726049060138732101967640145291564068516144173978561056836726689973198622697040354088248730703813800128959384300024375260485132819476451977307438336770809654888127399835448746795321139430812647123905824162658651198652001725839648652765632137508703962944243276626576236921035875034921382705350854577288720691165494831531431292222246820979300018263241571386390600718353812798521833842684928779620742955045862842259664033244520851063265352163450257995275250571097974153246758227213263581440400522090768926945014045403555624259306181946538787736605414131828593621709902147254133974643333198982597658395511044956184753813730903059348792037263857785899086899676695973833285770603816340942019667187553508604950973178649782815191447418903020724069328613709963296369301679608405971769536661593650012877833227774260193231506805145629992962678303490099556333347624920485229160180443 438237682580831712583403221687297260478628863476748049989506402198506279477778881883679490920538755967920414717169090806402596941654761704867592608690931884555241597872284267417205162863427676484008299820288544198147649315806617897070563486478865543020279950157242203686087673010841385099870147147028860322143850260430808422624286222652410392258729199355704863770435199508584882617709072249954816469364168575154433930254268712856586434659918725660765339481965254726412670414628048927399008336147085120493897984112514163778728570914157433894045507982718803694887434539053498248861401502114733668664496207360264384347459282017495412043149108368309819232847975639872649479756177496513469505180730284749936324728775363535280880783436370869923604486538172649378364083631556154348563440390884713942711401736069370313056863800386257325748392622153844064738512983203017409302939871932317447174751436002492580079302115284908709898981541860956157579341117070117126881435031214790696141550009474489428041389683553937039061954283879256993196101948884175931512344269043576595594844068049259179571492876959040134619803148955309120834118438628268138593833969001659855549675946184424998562902161236439530864503609002955897717483211625209880041955199323025583374460109879185950801858155627044161106671974621820614172202235260934525179133793669825873410168041383605181472488589778951757583155590877392282570163785434837895917237454904961074885960083531572423921038891537990857089569923795085864571104781687006114755835841926090077323931917097234695725605758339917849771208768144005050540652452967350523691536561369793823610985748402484558856496112691996549206909976501454295481906513518702887611664324272994965585198560753352322008825496294192782439524523243204788368626566930414522312472422177414715736500460219641176863600379848763662682311980887271949136443141501085645969124401026273962240489648103542466188369397788342069715377141183631605856612467351792142236033746066735012740986594483785584065359762632566382811539687748769638890789874120990459093477262795533178401799223573131187998962585421170366719431385952838739720412032475112083859565759574166459060169728649545790715154275588756044071645869237848404839472931389146327658299216643384755399144343201713072800561873792424872846719140384298378774915055209793937185606477704795711146977196748963141826065511556442112716423124436693203283003743174919297704139595148487578481906074404241968475453207994832253516878270528183732894008990769936684438667354457299587257779931901780584402514979575633319486365131165620203150910935822959616318972824022388559465835019400762622638406617931782997559436001295845742088411991266797008659373956518943993942188684780260741398217022295638558619543759903707707236344151948919029893736820901569707251270699717959629038506316594027869746817983463035254511000149740726362931662375217603729602878299232942153077566250073916176923053964751602660783687532345602411348134631855105983258406597801775603357511317992093304644749114484037294598862222037133225608478890653585932601622390567911583903993431400927423896081652716389831212332279256545981444682610715229782344830024104351263484890022698926081637466317276407494674571575142954995673925244184088028613806052347635189506276340816834880750379930265782831333876316368540880420388377180889263713485716374238821593844511608090825358999289819323248859371779387329472512475985127247267404039163283296060230674800964568311072931702667246558583808770874912925286670183324398306423180306008644904333383760049377597132013318260126521997003385119330889796784432877803706875760172533526496207809902911063101956747542647192245836545462255978882978743572957927598956708809287206369703109879630177627768471993112584168768016665182855278509015083103626194068171229952772187111063485496114290942525241781176769378385038105037293781570450837659388014933514666096867750653494957020491972455480541869717932114861010774463921596638442326107239 709083465566773448724676402399002232100818790873690176828778410796564128600714009815412053726667318486162172445349129450284474332927551573851504896045896297940943262726373207752099343814871793858446188667560165800138686863173737371048897243065112461839621913673725615685364469496680662621419500849335550380212320280959726972744516898554151043166217653085938476479605150414359977238140255667013162429545780616978295242527850357362455809937728817003965143031904815795547740217040237472548706751718437307649710079961903441033473775299229164349207185110707057752936403329197366128511766696834144333872108835754638493647749726331877053390563389445904777079633110554883689855875957940744254177369558441106806654859017167837731059565033627673514842913529049056294972150201851520346948933880648181240219271576643665556643106140941751322774136239898190656331874204269013016309390759103110779727352739403083772310369300143464895329830767614750403828919695592520187770601868181307146260956802915291657338129694699324840737617576068345103184227370939920424365660615791395875517498444864364330426372843830101061083295363925801492954598024547956952195980693583546114472849456167480988625464574858439907357551000703047115891051381162584670573537644206567624933415784432186773866895311179089136262442095790955044406509886989155731201104802195904917659868532546641809529323430290989617159318161162854571789449735464920546320517539632810996875071199105896338120425918038442552390602089349875168557580384100528262666371584228664331160579099375457732986987765482709883141859199258980751483500117776172966259678760329330689761556898001916048112558255751300879484674900867023525664259894707272311333386656598126935808806505973207277197931270164997994020567443790032630077574247168660021218335361419396236452326298178894315328483649836962584320140104058416891737919601772658344369707939482913081716720309292301500778225573529703316446850635228165118616757083719654474743332887361353783051316946898502724634300403537810100188583642110177834466841734705649102263307477444767225858940670418176148628625102140313856803451613550038301179401074409749652673461933508654750299809221181717968944383462149898654243090328183372752423345224099351369357260054067957315054064159917108031914703694952678391367906261934287625708229634447021465626392384459305411233722380532004806187602338409785712140439939589143620983917103879940982467111531428066149211298671315874873329899415112575484483855928134661404499887803134916501360120254281858088503957605249715099390400807173263881637834059898661539019447391225753150954623902612319764320333440083232607463259315266506067981989201977789398513474687374026539008508587966465259466606343280932157455800551168699681905260294392550708420515021598714979093268522238034073766183103210907363074801398746342308519138683169379703023836647724225777900160169863672058162944895211488581989668238238618338022880832702666167093004667658357094733420871079708554120454718294066237280613634966292130710926483772771749124476822195431258298997508718182544211783506433159138384327675436747149945141791448491798852477570820614497588856589276286619071519997302973960525244110947656785451266446235791794698946835628087815150377221491526365384615707235762589341725087612156020181192577389688655496534967567192882146228025833654895850994420337183064870471087845011861234034211202028599713949068108020638007307516558539489650860142583314323472246187355169029426744501189080401268737550495655880332533025584062339667701157071910256496834018044652847703111292413373280224216648700771290318875201804748720921163728157785802389756441698799707370879371240813955738692716389953526311942555555585994467753765471960183434012938978969665032329779011671068444712639016141049112831424045645861255724738557723160289713268311305738361428262505246097992095001401406595461178856809428924676527164678974700978427755150251998777601110534832396235604960567107811546517123671486287682 1147321148147605161308079624086299492579447654350438226818284812995070408078492891699091544647206074454082587162518220256687071274582313278719097504736828182496184860598657475169304506678299470342454488487848709998286336178980355268119460729543978004859901863830967819371452142507522047721289647996364410702356170541390535395368803121206561435424946852441643340250040349922944859855849327916967978898909949192132729172782119070219042244597647542664730482513870070521960410631668286399947715087865522428143608064074417604812202346213386598243252693093425861447823837868250864377373168198948878002536605043114902877995209008349372465433712497814214596312481086194756339335632135437257723682550288725856742979587792531373011940348469998543438447400067221705673336233833407674695512374271532895182930673312713035869699969941328008648522528862052034721070387187472030425612330631035428226902104175405576352389671415428373605228812309475706561408260812662637314652036899396097842402506812389781085379519378253261879799571859947602096380329319824096355878004884834972471112342512913623509997865720789141195703098512881110613788716463176225090789814662585205970022525402351905987188366736094879438222054609706003013608534592787794550615492843529593208307875894311372724668753466806133297369114070412775658578712122250090256380238595865730791070036573930246991001812020069941374742473752040246854359613520899758442237754994537772071761031282637468762041464809576433409480172013144961033128685165787534377422207426154754408484511016472692428712593523822627732913067967402985802024152570743523489951215321699124513372542646404400606969054368443297428691584877368477821146166408225975198945050980871121901394005066726559599206756766459190776460091967033237418446200814099074543530807783596810952188826758398535492192084029685726247002452084945688840874362743273743990338832340509187043957209957395843966966594971318045386162227776411796724473369551071446616979366633428088795792303541382288308699660166170376483000123329858947473357631608826639561356784740240300404260739893991307336627587687561484223522882999502877040899813106884861736533027693082821209359978949831263759659537737738654698314736197421221157262818155488497697015559270711342070453208503118821104715265568745103264214625402318586004483144689656815402811998862164101122380699577280967948013667849966227824856863064025836824266920847054860280171251126576553727693204745720116841805352623107407738000734198662845137393896793904853185798787608739157675761737537151495683792915786748897201124199191064281742170358327048712767273596726634708323786168459483995230101665933198289065541425203273635140601886678640823547667882544485409253408795028061192898854017573464338240524804054296258415656859173547634008987005343139603781017453802928866992113307715340370178265956666632414957534836797464952140831822545081275787765823194444430735067234488312534514945934797454268827876692200003959506081555502934814537378861316095841840638124952958385435355675598256809043723339044232564483907476399371768476813405897001070722288321106837674573841223444164881630064809850077160479033539199991516401416350021407325224010134133646582867088732763512199289373518410771042810824302465675614393998421759583397778848001428428990900931572507655471486830411283935733762566616403014544159564480136711421886464315599453102686593033501021351848573320847495350110519783501685786757054899305866610383702920988319737340499676203856326959852546321370568805619203208908460646090881463080555160830217778094030444835124610673499802221220033820102180115659634682552427796923900691312298597566344609862809327626913888006201575238178645932409290686128513513593424462574759166553137122818609147292800801772124255237212729304198996327621846507149272055323895968510495347400776753807420029303953504286422867370480039506443889242749307647088312691460679345071568729081250107272490750056591076702114167719821577882275468113762113812394921 1856404613714378610032756026485301724680266445224128403647063223791634536679206901514503598373873392940244759607867349706971545607509864852570602400782724480437128123325030682921403850493171264200900677155408875798425023042154092639168357972609090466699523777504693435056816612004202710342709148845699961082568490822350262368113320019760712478591164505527581816729645500337304837093989583583981141328455729809111024415309969427581498054535376359668695625545774886317508150848708523872496421839583959735793318144036321045845676121512615762592459878204132919200760241197448230505884934895783022336408713878869541371642958734681249518824275887260119373392114196749640029191508093378001977859919847166963549634446809699210742999913503626216953290313596270761968308384035259195042461308152181076423149944889356701426343076082269759971296665101950225377402261391741043441921721390138539006629456914808660124700040715571838500558643077090456965237180508255157502422638767577404988663463615305072742717649072952586720537189436015947199564556690764016780243665500626368346629840957777987840424238564619242256786393876806912106743314487724182042985795356168752084495374858519386975813831310953319345579605610409050129499585973950379221189030487736160833241291678743559498535648777985222433631556166203730702985222009239245987581343398061635708729905106476888800531135450360930991901791913203101426149063256364678988558272534170583068636102481743365100161890727614875961870774102494836201686265549888062640088579010383418739645090115848150161699581289305337616054927166661966553507652688519696456210894082028455203134099544406316655081612624194598308176259778235501346810426302933247510278437637469248837202811572699766876404688036624188770480659410823270048523775061267734564749143145016207188641153056577429807520567679522688831322592189004105732612282345046402334708540279992100125673930266688145467744820544847748702609078411639961843090126634791101091722699520789442578843620488280791033333960569708186583188706971969125307824473343532288663620092217685067630119680564409483485256212789701798080326334613052915342079214181294611389206489626591475959659788171012981728603921199888553352557826525604593909686163379587849066372819324779299385507272663035929136629969263697781655582531664252873630191374324103836868438391246623406533614421957812972754201270188376013536997303003614980445250837950934801262638362658004619876904503417035991715135252038219983222484590126797506541893784597039769687158907863021015764265695142401210783183316593922161082762033250962943281189805718274465918228220629247028088106501899567227837564925248464795133523414405251424539115361366014850086676391132451874512875401371342125056309818124633037922430064348688809124077374195146348988080273865377637854783636906139774355188109114086712486785095349801794660558673445189177918731982714944947845928768089655919317056902726551152852968815630156934994969696867662316600814976374014523091499316034389908077918738587924677566066602082029580792847815866427995742206473908089951021025189403434229860672648782274421723786365235613373428917287420897774976622395789267803020487870018710299184535378244594239652539999209747991084072465246399130625974679687167140759383037466819160368189726516041146921112765085045160142326946251502926644712844428848199055415474557048604951334786687298114547827067712223380448287269915603370748527091018244326246705759448449924707175167175674906369926420705045407361121283871866224685951736234492522985758582620152465417327051796138683292538235903086873082445436682520873470434534836487301148718087628849098100987322786308662516698506285128820157313930895035885935602628684069099587892216340231126736571135757588116957833131551135926305657441943215137376734677931194917916579620707068218507690490022118725767665381766791668965362575040907850484703928164456517237367987844024046269707509005257524489527657701611534510403324782144990087014630885785298682603 3003725761861983771340835650571601217259714099574566630465348036786704944757699793213595143021079467394327346770385569963658616882092178131289699905519552662933312983923688158090708357171470734543355165643257585796711359221134447907287818702153068471559425641335661254428268754511724758063998796842064371784924661363740797763482123140967273914016111357969225156979685850260249696949838911500949120227365679001243753588092088497800540299133023902333426108059644956839468561480376810272444136927449482163936926208110738650657878467726002360835712571297558780648584079065699094883258103094731900338945318921984444249638167743030621984257988385074333969704595282944396368527140228815259701542470135892820292614034602230583754940261973624760391737713663492467641644617868666869737973682423713971606080618202069737296043046023597768619819193964002260098472648579213073867534052021173967233531561090214236477089712131000212105787455386566163526645441320917794817074675666973502831065970427694853828097168451205848600336761295963549295944886010588113136121670385461340817742183470691611350422104285408383452489492389688022720532030950900407133775610018753958054517900260871292963002198047048198783801660220115053143108120566738173771804523331265754041549167573054932223204402244791355731000670236616506361563934131489336243961581993927366499799941680407135791532947470430872366644265665243348280508676777264437430796027528708355140397133764380833862203355537191309371350946115639797234814950715675597017510786436538173148129601132320842590412174813127965348967995134064952355531805259263219946162109403727579716506642190810717262050666992637895736867844655603979167956592711159222709223488618340370738596816639426326475611444803083379546940751377856507466969975875366809108279950928613018140829979814975965299712651709208415078325044273949794573486645088320146325047372620501287169631140224083989434711415516165794088771306188051758567563496185862547708702066154217531374635924029663079342033620735878563066188830301828072781182104952358928224976876957925368034380420458400790821883800477263282303849217612555792382979027288179473125739517319674297169019767120844245488263458937627208050872562723025815066948981535076346763388378595490641455960481166154750241345234832442884919797157066571459634674519013760652271250390108787507655995121535093940702214938038342241361854166067640817269517758797989661542809613784581173604597708162756108556940604661327390960485324325460351679287681390944622872957695471760173440027432679552706466976232380671058283886232442027225023360164045323178685501817355881736411892670359051223067666591181663084199064839608525059679717248044655673634344273676937283766284196399403317955163835698097376162954868402985067539734233368693982997067279208517241635801090709068641347301416829427082665051052016434209618093510242654130059563805260026223633694591284100350052124137214863687367914750427611203822846389067666276106896531876949337628878177350485749918556863540883063001422277680286389836571154910660560226113950307461719497838595300435300582960969889112096297627588679778255058982097270974935455655934989259319421904220040117624408545512378240822519628731973260190373445983657170173436798982152842755153381459226402558147037727944470137822044337592700631629157357535438660407279460831862743214979954693760026837799102286751217234420101213244732296860590763098720859046874519930113003760658754316535090878088163994643710426096908901734320973830193236793491570939443400983631849464083233020578157269574232713737373360513760372884666656716340975650550194471169853576515011529540410399584889130918525326026133199016826358889169073681818344893314812582613181316678914990293289708258576197264250633933323260181542870171247414133704356524438344189971903516675578713855091266775926145796969335271078091832733055080414294373946677472103605550059448523369117838436590255364796980277714292688236624571044603722872362482744647899111077524 4860130375576362381373591677056902941939980544798695034112411260578339481436906694728098741394952860334572106378252919670630162489602042983860302306302277143370441107248718841012112207664641998744255842798666461595136382263288540546456176674762158938258949418840354689485085366515927468406707945687764332867493152186091060131595443160727986392607275863496806973709331350597554534043828495084930261555821408810354778003402057925382038353668400262002121733605419843156976712329085334144940558767033441899730244352147059696503554589238618123428172449501691699849344320263147325389143037990514922675354032800853985621281126477711871503082264272334453343096709479694036397718648322193261679402389983059783842248481411929794497940175477250977345028027259763229609953001903926064780434990575895048029230563091426438722386122105867528591115859065952485475874909970954117309455773411312506240161018005022896601789752846572050606346098463656620491882621829172952319497314434550907819729434042999926570814817524158435320873950731979496495509442701352129916365335886087709164372024428469599190846342850027625709275886266494934827275345438624589176761405374922710139013275119390679938816029358001518129381265830524103272607706540688552992993553819001914874790459251798491721740051022776578164632226402820237064549156140728582231542925391989002208529846786884024592064082920791803358546057578446449706657740033629116419354300062878938209033236246124198962365246264806185333221720218134633436501216265563659657599365446921591887774691248168992752111756102433302965022922300726918909039457947782916402373003485756034919640741735217033917132279616832494045044104433839480514767019014092470219501926255809619575799628212126093352016132839707568317421410788679777515493750936634543673029094073629225329471132871553395107233219388731103909647636462953900306098927433366548659755912900493387295305070490772134902456236061013542791380384599691720410653622820653648800424765675006973953479544517943870375367581305586749649377537273797198089006578295891216888596969175610435664500101022810274307140013266965080384175552225608707725058241469474084514946006946265773128679555291857227216867380137515761403430389248630408976635144914664195829761197920269940841467753829190679377975204096140666575379688730824333264865893337864489139688781355410914189609543492906913456416208226718254898851469071255797714768596748924462805447976442585793481502211579792100272075856699547374182969914452257858221181465987984392560116603334781189204293127821953917250159548974593219366648265692990168304549969763597644603730037985128764499999172258618450905231516430127879332588254013776484218832609410670523721020664809389158279159597770745443011473653822730414085384932751673876663811607563840331985147553073894879490584727615208415702489525943513795151836147366236004278652183687843307978295787974971171479623359373756269369181039941414840220883566057768138817816085935328592707711508250963860720377493384875657996475602128807740567488879762315970629418970777088555968320424215551670518863784703869530443633618671386518021413953915391628487899384691872710432278330778527122442392090058827923593080890622835062172168731183008181457518448903569304062773661840009895912764496693221718515227454460511284743157102677745791771484303786941587051992305260710942270395429250808631789133888974049331782247168925468112745147860678702091607573965538174439250466418202766459798053255339669550080352517613947141682095114065103018177522675677893506617608046703385485995484321370371397029911596416847245967112093398861849120984729307657154725233099158389508500572211917227187842724639484145646516203099968717704280495943496651712769208895255221420026279394333785381208467064874396107848527613190629271081091202369539107888483137382646932362781756798044871564634717037869760798095630121322144858650605636560122787427436367393164108144099260622321469805371994299771134974369385867862449497375533684409760127 7863856137438346152714427327628504159199694644373261664577759297365044426194606487941693884416032327728899453148638489634288779371694221115150002211821829806303754091172406999102820564836112733287611008441924047391847741484422988453743995376915227409818375060176015943913354121027652226470706742529828704652417813549831857895077566301695260306623387221466032130689017200857804230993667406585879381783187087811598531591494146423182578652801424164335547841665064799996445273809462144417384695694482924063667170560257798347161433056964620484263885020799250480497928399328846420272401141085246823014299351722838429870919294220742493487340252657408787312801304762638432766245788551008521380944860118952604134862516014160378252880437450875737736765740923255697251597619772592934518408672999609019635311181293496176018429168129465297210935053029954745574347558550167191176989825432486473473692579095237133078879464977572262712133553850222784018528063150090747136571990101524410650795404470694780398911985975364283921210712027943045791454328711940243052487006271549049982114207899161210541268447135436009161765378656182957547807376389524996310537015393676668193531175380261972901818227405049716913182926050639156415715827107426726764798077150267668916339626824853423944944453267567933895632896639436743426113090272217918475504507385916368708329788467291160383597030391222675725190323243689797987166416810893553850150327591587293349430370010505032824568601801997494704572666333774430671316166981239256675110151883459765035904292380489835342523930915561268313990917434791871264571263207046136348535112889483614636147383926027751179182946609470389781911949089443459682723611725251692928725414874149990314396444851552419827627577642790947864362162166536284982463726812001352781309045002242243470301112686529360406945871097939518987972680736903694879585572521686694984803285520994674464936210714856124337167651577179336880151690787743478978217119006516196509126831829224505328115468547606949717401202041465312715566367575625270870188683248250145113573846133535803698880521481211065129023813744228362688024769838164500108037268757653557640685524265940070297699322412701472705130839075142969454302951971656224043584126449740542593149576515760582297428234995345429619320438928583551495176845797395792899540412351625141410939171464198421845604665028000854158631146265060496260705635138896614984286355546914124348257590227166967086099919742548208829016461360874765143455238777718209900469147378929015433074298806541362644320560501506623717135781355264277650534498135017393327910133808920823289231855341010500911891842617669673972898107611790963531653093622301543898549857455326197355364938486326442045443794170148760966637489520827790248339801154658944203545840932534314982214832282412121126385818324277057049790942772940877816887199382670213896745693930497438037859593234997395113317950657856619421305177156278527588798316485379342640662475002994868814608040127913198349255670735361407915032465669690803568911157442602360465990125687749116194434374523013390016702380004304831026594588560498614319041542595169883546881481962847645887934265767786441864296310098945548001626403001075884691797463156268371830964432560739477499572643992852651066145955919624276662265182404981422565201440270446423400641661322380247459271766092573685485375383944568658626932991260800549016667270138712845042008451441800812466620840058104552254227076957082994888931343503664193790778614522848876003068944258339811669093615121294490249457510786618506573641590944604110767284956930607618851778750115202824771534923778827008301748110687929918900157101048145713168750772683162472875092269042399522625389258309234325950525574170211713315987652909982645459100998197656289391397784438043404785447726807883297860386654058225646217873023573971017361604052308947852630828685201736439232597283108663728337486884890762281946580689515987118450083086286988007759545413989590734811980120181583520837651 12723986513014708534088019004685407101139675189171956698690170557943383907631513182669792625810985188063471559526891409304918941861296264099010304518124106949674195198421125840114932772500754732031866851240590508986984123747711529000200172051677386348077324479016370633398439487543579694877414688217593037519910965735922918026673009462423246699230663084962839104398348551455358765037495901670809643339008496621953309594896204348564617006469824426337669575270484643153421986138547478562325254461516365963397414912404858043664987646203238607692057470300942180347272719591993745661544179075761745689653384523692415492200420698454364990422516929743240655898014242332469163964436873201783060347250102012387977110997426090172750820612928126715081793768183018926861550621676518999298843663575504067664541744384922614740815290235332825802050912095907231050222468521121308486445598843798979713853597100260029680669217824144313318479652313879404510410684979263699456069304536075318470524838513694706969726803499522719242084662759922542286963771413292372968852342157636759146486232327630809732114789985463634871041264922677892375082721828149585487298420768599378332544450499652652840634256763051235042564191881163259688323533648115279757791630969269583791130086076651915666684504290344512060265123042256980490662246412946500707047432777905370916859635254175184975661113312014479083736380822136247693824156844522670269504627654466231558463606256629231786933848066803680037794386551909064107817383246802916332709517330381356923678983628658828094635687017994571279013839735518790173610721154829052750908116375239649555788125661244785096315226226302883826956053523282940197490630739344163148227341129959609890196073063678513179643710482498516181783572955216062497957477748635896454338139075871468799772245558082755514179090486670622897620317199857595185684499955053243644559198421488061760241281205628259239623887638192879671532075387435199388870741827169845309551597504231479281595013065550820092768783347052062364943904849422468959195261544141362002170815309146239363380622504021339436163827011193443072200322063773207833095510227127642155631531212205843426378877704558699921998219212658730857733341220286633020219271364404738422910774436030523138895988824536108997295643024724218070556534528220126164406305689489630550627952819609336035214208520907767615047354491778751159557104210152412699054952295838587153705566669752760567602131322340309101092318060422139326425153229976068121650613366913407993190902141322551848613688323460540967295330329857497017182763828007561632460103572518467892961893326139265411891014876288124878129624041918842864241347636078028117382466865996721076385603295715600324603391940894203978111143343558204333724733906332820867357448496374646967362385356307000616970545939485472752280468716454672968723346748906218175397877618340746016155381209968566592941310031612888790486217097693367809681882543147481458478560938323461522319548378877059069633164120237065911508067798498544136400037204918331095409096464837672162754798738565060535566164708174361470228207231885132340455496510561512034780866654720356320212596546313564306688400157773471594707293623910946863966194339276553288482881464308781562346305832862546978910452612845995177492636865492707308358542948192215172125965109321834511264071353284627755770813195377290416066880234849880798914439064180957787156312120502904074194805596278991504693495159849454686984598843333743871131132136796017685164058323442829846616290799187996867065557490003992569125912314975507797196553347454864818890843514064673892519653086484163026981209846319427400729312965372901011475412167308119391295369011117226905885201805886038719734469425433133342267047243768026667568063072052397239925397628672675866538929177422405748869791440872578580654780372015888926238769346817613428924315323058584091247888745223851124914321258155446054724788776609439919888458281287778894519783375458597261477495715267930597778 20587842650453054686802446332313911260339369833545218363267929855308428333826119670611486510227017515792371012675529898939207721232990485214160306729945936755977949289593532839217753337336867465319477859682514556378831865232134517453944167428592613757895699539192386577311793608571231921348121430747421742172328779285754775921750575764118507005854050306428871235087365752313162996031163308256689025122195584433551841186390350771747195659271248590673217416935549443149867259948009622979709950155999290027064585472662656390826420703167859091955942491100192660845201118920840165933945320161008568703952736246530845363119714919196858477762769587152027968699319004970901930210225424210304441292110220964992111973513440250551003701050379002452818559509106274624113148241449111933817252336575113087299852925678418790759244458364798123012985965125861976624570027071288499663435424276285453187546176195497162759548682801716576030613206164102188528938748129354446592641294637599729121320242984389487368638789474887003163295374787865588078418100125232616021339348429185809128600440226792020273383237120899644032806643578860849922890098217674581797835436162276046526075625879914625742452484168100951955747117931802416104039360755542006522589708119537252707469712901505339611628957557912445955898019681693723916775336685164419182551940163821739625189423721466345359258143703237154808926704065826045680990573655416224119654955246053524907893976267134264611502449868801174742367052885683494779133550228042173007819669213841121959583276009148663437159617933555839593004757170310661438181984361875189099443229264723264191935509587272536275498172835773273608868002612726399880214242464595856076952756004109600204592517915230933007271288125289464046145735121752347480421204560637249235647184078113712270073358244612115921124961584610141885592997936761290065270072476739938629362483942482736225177491920484383576791539215372216551683766175178678367087860833686041818678429333455984609710481613157769810169985388517375080510272425047739829383944792391507115744661442682043062261143985232404565187640755421805760225091901937707941132778984781199796317055478145913724078200117260172627129058287801700312036293191942857063803397814145281016060350951791105436324223819881538616616081953307769565733380325615919063946718041114771961567124283807757880818873548908621773678500756839247420262739349049027683341307842752711501963156896919727653702051064888517930108779421296904469880392007694278022119760745842423426265200947863914492934248824967164684431111685121774667717261963024954960370237381439291182193748667149766323782857493957798851027731653709806395894441258379572015932324321322918431750541782042042370047186111042964944748632864385994582064535060991765070903289428908961949577217638719121743356364263762529802071411489395550785610546131576432072143571548838184054014974444965961706259260689469508211791394253971895398480199028526824099141035941318330336927588506790257418888834855598473826540533468189347705311194647520691561399222152586788357189173261578450552268544712479192496822795792383746659497039105731395581662348617568002208146862314100006170984710256719019596333696624986831555763657495544925119447314025048259061918949825715198045056408532470271839757819270474129873559983218638638572767626431702081970535837445858313241146197139945949042999871495650429815581709202893802829164763562303716540815645654383543758920572116932449575915942346997937661909746659644893688233002581782641515709905920482487116523068276622499142767503259579618564481510278062483670669593629267498664054576865311171328729320534249346300886414013518614180226184850470592266387638053516749531274460115120364670260043595644846658254700153750672126669061269708686631323182066716080651986655985305703609256445499098224798527803945986906287842821655765466059753000524795023323845171853887579462401206148917728001305478292596558369971544568275786654065197365049332073457615896851451435429 33311829163467763220890465336999318361479045022717175061958100413251812241457632853281279136038002703855842572202421308244126663094286749313170611248070043705652144488014658679332686109837622197351344710923105065365815988979846046454144339480270000105973024018208757210710233096114811616225536118965014779692239745021677693948423585226541753705084713391391710339485714303768521761068659209927498668461204081055505150781286555120311812665741073017010886992206034086303289246086557101542035204617515655990462000385067514434491408349371097699647999961401134841192473838512833911595489499236770314393606120770223260855320135617651223468185286516895268624597333247303371094174662297412087501639360322977380089084510866340723754521663307129167900353277289293550974698863125630933116096000150617154964394670063341405500059748600130948815036877221769207674792495592409808149881023120084432901399773295757192440217900625860889349092858477981593039349433108618146048710599173675047591845081498084194338365592974409722405380037547788130365381871538524988990191690586822568275086672554422830005498027106363278903847908501538742297972820045824167285133856930875424858620076379567278583086740931152186998311309812965675792362894403657286280381339088806836498599798978157255278313461848256958016163142723950704407437583098110919889599372941727110542049058975641530334919257015251633892663084887962293374814730499938894389159582900519756466357582523763496398436297935604854780161439437592558886950933474845089340529186544222478883262259637807491531795304951550410872018596905829451611792705516704241850351345639962913747723635248517321371813399062076157435824056136009340077704873203940019225180097134069210094788590978909446186914998607787980227929308076968409978378682309273145689985323153985181069845603802694871435304052071280764783213315136618885250954572431793182273921682363970797985418773126112642816415426853565096223215841562613877755958602660855887128230026837687463891305494678708589902938768735569437445454177274470208788579206336532869117915476751828282425641766489253744001351467766615248832425413965710915774228289211908841951948586690351757150457077821818872549127277500460431169769634412229490084022669178550019438971125387821628575220212644417647613911724978031987636289914853836045228353023730604402512195077103417093916033082069816389388725855248617998579819843559201440382396260138591298655668723566672488221304182387228827031201097481719043796305545237670346143770374112755831419456103089186466341547937148427705651726442014979271684900025791032516592830340953957759075155641993289031735673872370245923729157355695628649260135788894457600133314791187319639508136145077757642694650578051937168922859776207944198915789268967324585938260737925283608916939602995026122360326910203248002554351880205850223754333892880482650247541449167178930070170355654934528299200570721082397002277611351665263208162081571674305557619596879641791859247136885667316488521998975835539738048601266687891841711231852439022656808318617424460519943972000143511087834709420653553967051003024268878999952535616292907616443215272288358528359458860413570477673110414492491191040990248897778419729851834821478407930195489357040624265255658577745023966861145316267017250456135966837181918526166830853744893591541023916481799908799142940996917010335323239459066751730500310614496148267074760616321075682806620615010451250662535263614067276781904262900541190331681533040878796440911373397060905225471362326196719670483983588625766626491711893415574555126361678063625517348489560437143332172556574229951795334355710530380568773701615726978891515191701597017778711657683007064633976437159661921006403389994513021077980000521747397518698794237124341761083871248579695388756518525585162728109358126236939970803379182584318002795214081591002583079488677315847853607415093060599111430587315527407073174056030267069205998289860002849563565548584980740507929334935111612119382033207 53899671813920817907692911669313229621818414856262393425226030268560240575283752523892765646265020219648213584877951207183334384327277234527330917978015980461630093777608191518550439447174489662670822570605619621744647854211980563908088506908862613863868723557401143788022026704686043537573657549712436521864568524307432469870174160990660260710938763697820581574573080056081684757099822518184187693583399665489056991967676905892059008325012321607684104409141583529453156506034566724521745154773514946017526585857730170825317829052538956791603942452501327502037674957433674077529434819397778883097558857016754106218439850536848081945948056104047296593296652252274273024384887721622391942931470543942372201058024306591274758222713686131620718912786395568175087847104574742866933348336725730242264247595741760196259304206964929071828022842347631184299362522663698307813316447396369886088945949491254355199766583427577465379706064642083781568288181237972592641351893811274776713165324482473681707004382449296725568675412335653718443799971663757605011531039016008377403687112781214850278881264227262922936654552080399592220862918263498749082969293093151471384695702259481904325539225099253138954058427744768091896402255159199292802971047208344089206069511879662594889942419406169403972061162405644428324212919783275339072151313105548850167238482697107875694177400718488788701589788953788339055805304155355118508814538146573281374251558790897761009938747804406029522528492323276053666084483702887262348348855758063600842845535646956154968954922885106250465023354076140113049974689878579430949794574904686177939659144835789857647311571897849431044692058748735739957919115668535875302132853138178810299381108894140379194186286733077444274075043198720757458799886869910394925632507232098893339918962047306987356429013655890906668806313073380175316224644908533120903284166306453534210596265046597026393206966068937312774899607737792556123046463494541928946908456171143448501015976291866359713108754124086812525964449699517948617963151128924376233660138194510325487902910474486148566539108522037054592650505867648623715361068196690041748265642168497670874535277939079045176256335788262131481805927604172347147826066992695300455031476339612734011544436464299186230527806931339757202023295179451964292299741771719174473762201387224851796851955618725011162404356005457246000082582908250468065737567981344010157631880463592215875006233452117344961309876903015948266185937245364624165890134858598254845721304037050380834482185973394870336157553700101046352617287754057471553200578335397050257349390660438798059456729864203722580185087349338455656030230152837172149247115508642557939886686859799685064697764162980133867608409072330193497853804028316351009164027354192570866516820633745244103683274467010532356423291695245774539944439012059082319685020716017114124185330099900490005459831410551905214069005605637158606642280600201129656760632820960122196174725392457573907410833831434013564589134734877239547022426499959714218207540770011248877133145261721961640103254133132746463873798816652625659449574722024303198105563889856360736506321174513576648657820671211510787374686873884609975493509330366403527377509514405299686184205484292943069023269677786538857008275406440967055478509385469492317661217972725998452335746245001254238063207475269188502066623226150740430077857469968563445485839245110337155826096905046079022534639393714353838816483537329619194950625456085805061630063487008112878036102640152971100111694043248990854660918834134744926159573903579832160230030772599671220628806817106505684439850914818120002502140992410129371927781868249303924070645118150725968434122036126768060254556616722826658776447551269370920906185611469770502571761762104837170512241148033812967382682439069028177710388263989701501924412658348545548430316372648630738938232452999010049716733555990902057335745361802556659831547417839352202650178105557261408392727508970833468636 87211500977388581128583377006312547983297459878979568487184130681812052816741385377174044782303022923504056157080372515427461047421563983840501529226086024167282238265622850197883125557012111860022167281528724687110463843191826610362232846389132613969841747575609900998732259800800855153799193668677451301556808269329110163818597746217202014416023477089212291914058794359850206518168481728111686362044603746544562142748963461012370820990753394624694991401347617615756445752121123826063780359391030602007988586242797685259809237401910054491251942413902462343230148795946507989124924318634549197491164977786977367073759986154499305414133342620942565217893985499577644118559550019034479444570830866919752290142535172931998512744376993260788619266063684861726062545967700373800049444336876347397228642265805101601759363955565060020643059719569400391974155018256108115963197470516454318990345722787011547639984484053438354728798923120065374607637614346590738690062492984949824305010405980557876045369975423706447974055449883441848809181843202282594001722729602830945678773785335637680284379291333626201840502460581938334518835738309322916368103150024026896243315778639049182908625966030405325952369737557733767688765149562856579083352386297150925704669310857819850168255881254426361988224305129595132731650502881386258961750686047275960709287541672749406029096657733740422594252873841750632430620034655294012897974121047093037840609141314661257408375045740010884302689931760868612553035417177732351688878042302286079726107795284763646500750227836656661337041950981969564661767395395283672800145920544649091687382780084307179019124970959925588480516114884745080035623988872475894527312950272248020394169699873049825381101285340865424502004351275689167437178569179183540615617830386084074409764565850001858791733065727171671452019628209999060567179217340326303177205848670424332196015038172709669209622392922502408998115449300406433879005066155397816075138483008830912392321470970574949616047522859656249971418626973988157406542357465457245351575614946338607913544676963739892567890576288652303425075919833359539489589357408598883700214228858849428024992355760897917725383613288722562651575562016401837231848736171245319894002601727434362586764649108716833844439531909371744838313210033288009520652765502323576985957278490641945712885037688541400551130211254075244579902426467451908448133828119935308813300604030264704096310415839346171992510974384734992062491482483034970309660508971354086265177407126236847176030123121822575987883995715080318037517313545089988146030919289354809332505032653727829795130602234449646309342443044967104916166019047294772282561906695962197448022831937557327759348342214917302790468185280274392413643072995640936947424765279476179783456423628771366464010184670258534910775171901095998294278331892541732567226469883196044194355685754835018304660402131634302216346616957302421814804362171875435214380229700601914055421862278124890395932832807269553302637736001565131388733658352398736875015859387435709397077117261865472727937963553786300430924801840921504659402110338317210814548779162144719264865780034927147126330931085704001978415677122782388395223361165187881935307705003762340310449461142870688092990130823102805874258731542407804237397035552300346062554809513749914934135655044144195234980217810592427961133374956651051044574005737043324061806914927916957770836548155708614286148706670496258101717024727661300727991504252526716435027124392233584240362299359823455083700319809875482566554334408689871287837637529097180649790467915931843777203036768901840040150381295386893704117867971301644563629378886028015581753652182784702405593783957133171450249069637800806659298194948788069715143309953230854373820341457493593689037826310761922325508919379039831556892972581992496716006003660931625037107632220502238154031293052110440637032260963064076113366012431008554949691550267402917751235158846065190743327839121090215501843 141111172791309399036276288675625777605115874735241961912410160950372293392025137901066810428568043143152269741958323722610795431748841218367832447204102004628912332043231041716433565004186601522692989852134344308855111697403807174270321353297995227833710471133011044786754286505486898691372851218389887823421376793636542633688771907207862275126962240787032873488631874415931891275268304246295874055628003412033619134716640366904429829315765716232379095810489201145209602258155690550585525514164545548025515172100527856085127066454449011282855884866403789845267823753380182066654359138032328080588723834803731473292199836691347387360081398724989861811190637751851917142944437740656871387502301410862124491200559479523273270967090679392409338178850080429901150393072275116666982792673602077639492889861546861798018668162529989092471082561917031576273517540919806423776513917912824205079291672278265902839751067481015820108504987762149156175925795584563331331414386796224601018175730463031557752374357873003173542730862219095567252981814866040199013253768618839323082460898116852530563260555560889124777157012662337926739698656572821665451072443117178367628011480898531087234165191129658464906428165302501859585167404722055871886323433505495014910738822737482445058198300660595765960285467535239561055863422664661598033901999152824810876526024369857281723274058452229211295842662795538971486425338810649131406788659193666319214860700105559018418313793544416913825218424084144666219119900880619614037226898060349680568953330931719801469705150721762911802065305058109677711742085273863103749940495449335269627041924920097036666436542857775019525208173633480819993543104541011769829445803410426830693550808767190204575287572073942868776079394474409924895978456049093935541250337618182967749683527897308846148162079383062578120825941283379235883403862248859424080490014976877866406611303219306695602829358991439721773015057038198990002051529649939745022046939179974360893337447262441309329156276983743062497383076673506106024505508594381621585235753140848933401447587438226041134429684810689358017726425701008163204950425605288925448479871027347098899527633699976962901639949076984694133381489620574184379674803163940620349034078067047096598309085573016020074967338840711502040336505212739973812952507274042751459719479877866797509736993307266411713534567259532490579985009375702376513871396101279318970932484493856919971316649291463516953820851287750940328677419728399594475550643829952341110898711163287228010512309095217446324041549415181364390134601299147459699231497624751859589854423314166627854587332098653368889527530394305560572196249200131944431809022204604755387909518797357012824046106377897436658076594352604585911496877023957287956588792633668750649973244262516610567693459137269067267198463596341772834222770904600814886911490599213158318541015854735508310120233542186207430415622562939580421446642772076564871140862521562036251596587670582464303343666638703566867226870736442370935756084852358451093223400157446958274210262523587434368041217686919046894798600657574130318851685060341514012654343052001080001372101209440723774988751756915512765790363996666998370716870495554285462685214518167639996633666627163631162013400500889344731267006948848771292875544937769838380216027486475913386471401289145449473043425285861616463199998182801791474651863207011887507292754173027294926662645060754693308683346064210611940533508264990919922942129708612521496657187879241697118398401999976426183812013853124473421215253242824616213997211432677012810020498688531514997831843586008345724590232210205013706620008963711773935557160754277319505824297300935428374027905993259939510503626254523633318074642500057440636049495564700624876392103219598430859550067458795735292891601818108859734603360845982198217930416319280170585537948593150868892969525505109450686748994519054978170701757792811111609523097685242269953885336951622452151720566630061048970479 228322673768697980164859665681938325588413334614221530399594291632184346208766523278240855210871066066656325899038696238038256479170405202208333976430188028796194570308853891914316690561198713382715157133663068995965575540595633784632554199687127841803552218708620945785486546306287753845172044887067339124978185062965652797507369653425064289542985717876245165402690668775782097793436785974407560417672607158578181277465603827916800650306519110857074087211836818760966048010276814376649305873555576150033503758343325541344936303856359065774107827280306252188497972549326690055779283456666877278079888812590708840365959822845846692774214741345932427029084623251429561261503987759691350832073132277781876781343094652455271783711467672653197957444913765291627212939039975490467032237010478425036721532127351963399778032118095049113114142281486431968247672559175914539739711388429278524069637395065277450479735551534454174837303910882214530783563409931154070021476879781174425323186136443589433797744333296709621516786312102537416062163658068322793014976498221670268761234683452490210847639846894515326617659473244276261258534394882144581819175593141205263871327259537580270142791157160063790858797902860235627273932554284912450969675819802645940615408133595302295226454181915022127948509772664834693787513925546047856995652685200100771585813566042606687752370716185969633890095536637289603917045373465943144304762780240759357055469841420220275826688839284427798127908355845013278772155318058351965726104940362635760295061126216483447970455378558419573139107256040079242373509480669146776550086415993984361314424705004404215685561513817700608005724288518225900029167093413487664356758753682674851087720508640240029956388857414808293278083745750099092333157025228277476156868168004267042159448093747310704939895145110234249572845569493378296450583079589185727257695863647302198602626341392016364812451751913942130771130506338605423881056595805337561097185422188805273285658918233016258945203799843399312468801703647494263431047866059838866936811368087187541314992264401965933702320261099341661442802345534367702694539783013887809148694099886196526924519989460874880627023562365707256784957051636976021611523539335185940243036679794481459185073734681732853919406870750083246878649715246027983333605272776366328445676758368508743222622030995807812264664778513607735159887435843154284962005224221214627784233088524121624067627065130809688946331825672485932391168902211434564785211152801306427376076118289524075186542432217040022311925545130261682427651914844237447845262416914106668922359455967894457649717934333103015198869973439272665488362268247426716714370928900566952835932350734914340583394448592814739448544779632878978325139950019598224904013557913144930433429667891287977031703643807527602177973635497437771128501102797142547454137960482409202512896701609570526614780635673820509646762239520242002236251004943952000085521092222163950307018449948707354699276499445973120169864606738007502324489743204757187968239259544882667671287379785452907095979181240705347325723402498495634978253795398658724827203122214145799266237881244367870901319682842619514744206041119449386765940231660742167397992919521929980307083127770034319255003531323992150605525738491256575530272580490070184442770837000225828320607056333289644708023643096454044424333373139452842519225868944055211569099669100944252697499193216463307594832052734706870042250532992652220650933633961139237931684312271475281358760701359799881267512333662999955987769587651514487501834848961774193459810966604463358775034880354910185764740613505591907410737876935013418499186539640305335087577949483720130779621689950393110960752695892324439977372837448845510351192805517931479250212444677092024548587893769557657618400521197148691291496333427974694933936419980211795622645580813653107047000818557219891323781255482119054284067770223819666559214647952645187705120495797687642895048405751151264472322 369433846560007379201135954357564103193529209349463492312004452582556639600791661179307665639439109209808595640997019960649051910919246420576166423634290033425106902352084933630750255565385314905408146985797413304820687237999440958902875552985123069637262689841631990572240832811774652536544896105457226948399561856602195431196141560632926564669947958663278038891322543191713989068705090220703434473300610570611800412182244194821230479622284827089453183022326019906175650268432504927234831387720121698059018930443853397430063370310808077056963712146710042033765796302706872122433642594699205358668612647394440313658159659537194080134296140070922288840275261003281478404448425500348222219575433688644001272543654131978545054678558352045607295623763845721528363332112250607134015029684080502676214421988898825197796700280625038205585224843403463544521190100095720963516225306342102729148929067343543353319486619015469994945808898644363686959489205515717401352891266577399026341361866906620991550118691169712795059517174321632983315145472934362992028230266840509591843695581569342741410900402455404451394816485906614187998233051454966247270248036258383631499338740436111357376956348289722255765226068162737486859099959006968322855999253308140955526146956332784740284652482575617893908795240200074254843377348210709455029554684352925582462339590412463969475644774638198845185938199432828575403470712276592275711551439434425676270330541525779294245002632828844711953126779929157944991275218938971579763331838422985440864014457148203249440160529280182484941172561098188920085251565943009880300026911443319630941466629924501252351998056675475627530932462151706720022710197954499434186204557093101681781271317407430234531676429488751162054163140224509017229135481277371411698118505622450009909131621644619551088057224493296827693671510776757532333986941838045151338185878624180065009237644611323060415281110905381852544145563376804413883108125455277306119232361368779634178996365495457568274360076827142374966184780321000369455553374654220488522047121228036474716439851840191974836749945910031019460528771235375865899490208619176734597173970913543625824047623160851843528663511442691950918338541257550205991198342499126560592070757861528555783382820254748873994374209590794748918986220458767957146557780050409079905396238246375540732359024303074223978199345773140225739872445218856661475876620322493946755165573017978544038943714422273205900152676960236872719846321939834159260761796631258768486974829452811303197054741312257468635967094545443046817786516143384907544493914538858528512213879282061085504305266431756384088397503833578226060558517447558661146179951105171708223841869532271353407440554970712176106621373985483564236636827043555512860602350546813681083402912153804587599397102944796669445172099093779543962723873701743362341049451081622360831437717464306034924900869216006717077177862083181582657697647716028564956661954743725986558615037619289819002620166084676687037091477474449873260245828057115639061462659702329625945497642309040341464020398927624394220522003156069765297105480459000238839857465266146879267609982453808594676308434599535027509996405116116385136657102156296452860678134040097620303716794397197950417016931824881495336792745440105346823148125427840022822986864486701741707078457622435094181067068382315660887533371322254633993877732151067099076392423273971547624161838277218000903515398798917481982784041257643140573875763669751759428341500150716978477159103359776307451324347516124429408984840894339103715832060394451206269831465292994873772866723940918531489330845715796921117357885898725192434743700394582654593402246784655559153649595943653050471256322146848073295447479948902950987242301082632104126604547896690455408137961228353392911292123015257551026099694273956893151866836299491966208183529406803975939970344062329342010530250001174032454769528016630778168737745637887457659005832749310095046768972381212313442801 597756520328705359365995620039502428781942543963685022711598744214740985809558184457548520850310175276464921540035716198687308390089651622784500400064478062221301472660938825545066946126584028288123304119460482300786262778595074743535429752672250911440814908550252936357727379118062406381716940992524566073377746919567848228703511214057990854212933676539523204294013211967496086862141876195110994890973217729189981689647848022738031129928803937946527270234162838667141698278709319303884137261275697848092522688787178938774999674167167142831071539427016294222263768852033562178212926051366082636748501459985149154024119482383040772908510881416854715869359884254711039665952413260039573051648565966425878053886748784433816838390026024698805253068677611013155576271152226097601047266694558927712935954116250788597574732398720087318699367124889895512768862659271635503255936694771381253218566462408820803799222170549924169783112809526578217743052615446871471374368146358573451664548003350210425347863024466422416576303486424170399377309131002685785043206765062179860604930265021832952258540249349919778012475959150890449256767446337110829089423629399588895370665999973691627519747505449786046624023971022973114133032513291880773825675073110786896141555089928087035511106664490640021857305012864908948630891273756757312025207369553026354048153156455070657228015490824168479076033736070118179320516085742535420016314219675185033325800382945999570071691472113272510081035135774171223763430536997323545489436778785621201159075583364686697410615907838602058080279817138268162458761046612156656850113327437303992255891334928905468037559570493176235536656750669932620051877291367987098542963310775776532868991826047670264488065286903559455332246885974608109562292506505648887854986673626717052068579715391930256027952369603531077266517080270135828784570021427230878595881742271482263611863986003339425227732862819323983315276069715409837764164721260614867216417783557584907464655283728473827219563876670541687434986483968494632886601240714059355458858489315224016031432116242157908539070207009372680903331116769743568594029991633064543745868070799740152748567612621726724155687073808399207703295592894526227602721881834312500835107437656010014968456554936481727913781080340877995797635935704795940480163052826775408351072996614884283954981055298882036242864124286747960899759881062010946437881844543708574539398661542100168106570779553082894846484502632722805111015224151268724045972949432565195863050947742335378383597173529297490947892639675704729245438430987622355389756331452965197434573335249955543154023200764859399287267477272850891548920785694985377860550880005738661059774220267185693990835003563526915555166153618362542561776777063153737764615908459958611516832580045092564631100746752324271623145734591217315091224976498885909795187411564031563344334419073876561539681504889827226723940101603423584893948652659980565042183046965889936865633487567997173701896665530649807206956084212457375584735571261872827029701919247212293616785022094493248559999580168329741546245405654565400275359275857658963667060587480292678533847863698176465577628117442154542254202446235565771902597333817038620258671053562027600610799922167232269672020463148873645942318483931361922353420705917910207265757701486927570027685513955724738889090711478769705311866744461707476513103601095122310645492092374915800321661031493681308498347451533624352025034574250295361224809397630890997360025812422192259835919804719576188718836681179124385396754428545853591217666909356225399729642431897458232547901604295828717254071459221388828528095762833738610933930240034887989680980196268375689933271285894046161432009018039172513272820317397748461338435106600563583376816992573782479956725854997911050529692644212406242317596027701931588085803256279703761830829110220457082986971162619549233334311505483293086738837298240450444727952393590532645364126328546997737941817378132363577915123 967190366888712738567131574397066531975471753313148515023603196797297625410349845636856186489749284486273517181032736159336360301008898043360666823698768095646408375013023759175817201691969343193531451105257895605606950016594515702438305305657373981078077598391884926929968211929837058918261837097981793021777308776170043659899652774690917418882881635202801243185335755159210075930846966415814429364273828299801782101830092217559261609551088765035980453256488858573317348547141824231118968648995819546151541619231032336205063044477975219888035251573726336256029565154740434300646568646065287995417114107379589467682279141920234853042807021487777004709635145257992518070400838760387795271223999655069879326430402916412361893068584376744412548692441456734683939603264476704735062296378639430389150376105149613795371432679345125524284591968293359057290052759367356466772162001113483982367495529752364157118708789565394164728921708170941904702541820962588872727259412935972478005909870256831416897981715636135211635820660745803382692454603937048777071437031902689452448625846591175693669440651805324229407292445057504637255000497792077076359671665657972526870004740409802984896703853739508302389250039185710600992132472298849096681674326418927851667702046260871775795759147066257915766100253064983203474268621967466767054762053905951936510492746867534626703660265462367324261971935502946754723986798019127695727865659109610709596130924471778864316694104942117222034161915703329168754705755936295125252768617208606642023090040512889946850776437118784543021452378236457082544012612555166537150140238880623623197357964853406720389557627168651863067589212821639340074587489322486532729167867868878214650263143455100499019741716392310617386410026199117126791427987783020299553105179249167061977711337036549807116009594096827904960188591046893361118556963265276029934067620895662328621101630614662485643013973724705835859421633092214251647272846715892173335650144926364541643651649223931395493923953497684062401171264289495002342154615368279843980905610543260490747871968082349883375820152919403700363859888005119434493520200252241278343042041713283778572615235782578567684350585251091158621634134152076433593920224333439061427178195517538570751839375191230601908155289931672744716622156163563897626720832877184488256469234861259824687340079601956260221063470059888186639632326280867607913758464866202521294564234560078712145514493975356100746637179592959677830861546091102883306734746063823964350025777195146681580651914841554959583859734221147776063224947131007262934250245991823725946787214532016628658328467196615783375664981106429117609479303142544039006730831110910369283616089799457047398275558534239091661787527603846106798413604106709250625218259006772292600235492198897152230497849697120941068317833684996859053948850200629272136236862645653924175772136538182596464582374105833943801117963686605167551646300376009129998845001709615923424248525187286992704516831615326494244047561686907248844981399318988466091164578949541919562282664403533590024019979095954135766767408810635165572464756316659202506918052746439557801457846151985060253936552041689569764198851351682157039254435973335073119349187602125220914516716564430220089037394973755141279111229371467269176568831345750230088744565973629311734763971578159833070157779861085366199400115783962110506981333246189409721884515648887347945822869770899309401862850332541834007818615507938501798685161300642756788367312572909238313078908079352496170161028695248814805739269440192694933498969750676605999473897190453106320768328236747248743402304937185749645453648732463803368673940429470644274382443053031249086920881837699211903265340186020586568267797346651412325677407683195687503421540470472935364863816226264443440984767227663793343695721975888481237670092579195728039012639627261058926941506681878575344841755484467119193606826257081222896690139228420103023132161296307832988586350513575891357924 1564946887217418097933127194436568960757414297276833537735201941012038611219908030094404707340059459762738438721068452358023668691098549666145167223763246157867709847673962584720884147818553371481654755224718377906393212795189590445973735058329624892518892506942137863287695591047899465299978778090506359095155055695737891888603163988748908273095815311742324447479348967126706162792988842610925424255247046028991763791477940240297292739479892702982507723490651697240459046825851143535003105910271517394244064308018211274980062718645142362719106791000742630478293334006773996478859494697431370632165615567364738621706398624303275625951317902904631720578995029512703557736353252020427368322872565621495757380317151700846178731458610401443217801761119067747839515874416702802336109563073198358102086330221400402392946165078065212842983959093183254570058915418638991970028098695884865235586061992161184960917930960115318334512034517697520122445594436409460344101627559294545929670457873607041842245844740102557628212124147169973782069763734939734562114643796964869313053556111613008645927980901155244007419768404208395086511767944129187905449095295057561422240670740383494612416451359189294349013274010208683715125164985590729870507349399529714747809257136188958811306865811556897937623405265929892152105159895724224079079969423458978290558645903322605283931675756286535803338005671573064934044502883761663115744179878784795742921931307417778434388385577055389732115197051477500392518136292933618670742205395994227843182165623877576644261392344957386601101732195374725245002773659167323194000253566317927615453249299782312188427117197661828098604245963491571960126464780690473631272131178644654747519254969502770763507807003295870072718656912173725236353720494288669187408091852875884114046291052428480063143961963700358982226705671317029189903126984692506908529949363167144592232965616618001910870746836544029819174697702807624089411437567976507040552067928483949449108306932952405222713487830168225749836157748257989635228755856082339199439764099858484506779304084324507791914890359928776381267191004774863003087550191885305822088910112513023931321182848404305291840037659059490366324929727046602661196642106167751562262285633173548585720295930127712329821936370272550740514258091868359838106883885703959896607542231476144108642321134900838296463927594346636147539392207342878554351640309409911095833962896102178880252085273528438995593121682225682482941876770242371607352707695496389160213076724937482059964249088370852450531752373896852505308663378118629618324006577444788923381360549781972171812351667961475182662932458379280009158400088837529416867281711116649030343390310066642741389110562097766007216953681222208649360190381169862988389834167466730904117068072243989716861598596449445212691463568276214174145173826699515181931424274209685487520106555612059158004263878995661170525058065290028752445594953035989695041028048675505860289882012755284166406413497145976301451003645899364624429716970580861293120866498196754213179067686498026838584019559264283877313012814465200565847824032174318166173978640226732236335305709850161525831564669483844112018401297587247928941851769790373693378020241164152821525316638731662489761057858122628787221429713302829191529989537263660437354502267460556881762449485533884571959248491339855071511266860245669587020084934341311720367376608023803148267483901264580617900210301866166186032853189758233863023494558931533754148393124995101498148998712798928684888997709874373200202493697986046286151165879106902005729116329087911338868669932532575965997473764158574578173549411566202414302604180464358633955362639321406939020192167731745373335274358225193099841088114744399873664112514283759270880238533044255415321589671224175493970677411440070035661291749677820069323473348858899489869841749847718141913912669301427808679153260967760205932444124497531667624642532818952748387258489843305570930403728645939469273047 2532137254106130836500258768833635492732886050589982052758805137809336236630257875731260893829808744249011955902101188517360028992107447709505834047462014253514118222686986343896701349510522714675186206329976273512000162811784106148412040363986998873596970105334022790217663802977736524218240615188488152116932364471907935548502816763439825691978696946945125690664684722285916238723835809026739853619520874328793545893308032457856554349030981468018488176747140555813776395372992967766122074559267336940395605927249243611185125763123117582607142042574468966734322899161514430779506063343496658627582729674744328089388677766223510478994124924392408725288630174770696075806754090780815163594096565276565636706747554617258540624527194778187630350453560524482523455477681179507071171859451837788491236706326550016188317597757410338367268551061476613627348968178006348436800260696998349217953557521913549118036639749680712499240956225868462027148136257372049216828886972230518407676367743863873259143826455738692839847944807915777164762218338876783339186080828867558765502181958204184339597421552960568236827060849265899723766768441921264981808766960715533949110675480793297597313155212928802651402524049394394316117297457889578967189023725948642599476959182449830587102624958623155853389505518994875355579428517691690846134731477364930227069138650190139910635336021748903127599977607076011688768489681780790811472045537894406452518062231889557298705079681997506954149358967180829561272842048869913795994974013202834485205255664390466591112168782076171144123184573611182327546786271722489731150393805198551238650607264635718908816674824830479961671835176313211300201052270012960164001299046513532962169518112957871262527548719688180690105066938372842363145148482071689486961197032125051176024002389465029870259971557797186887186894262363922551021683947957782938464016984062806920854067247232664396513760810268735655034119335899838341058710414692399213887718073410313990751958582176336618207411783665909812237329012547484637570910471450619043420669710401744997527176052406857675290710512848180081631050892779982437581070392137547100431952154226307709893798084186883859524388244310581524946563861198679094790562330501190623689463828691087156472135305318942931730091660204223485230880248031923735733604718581144384864011466337403933329661214502794556684991064406524334179024533623746162265398774276113617128527130662257592397599767503795096339758861818642160772738316333474490659442441560213124563102502132628741544901003212407410115612108118000281371888325249636881258256823436612649328147764313988800470680135158090966038597439485709126767879391980073455874012542227559399627006399866099788787386120632005098878741208826054756158603985276572239015052426473503196717303564442886869092096446146566153759781401961211033199122676900144454067661136855339411695878692150241754468846253101495114326176028976633919997241253411998825039873050385121783714130537942571159110930328761302795695051207586271873274698369899849759212031077146296132741350350901560428608039538360238013079780223275835731420288788490977368680896692973171794136763556002146586085501221525533681782600148938930085981106205763708766497369428766278042439833355296092709850095253096383928500540942674296460706558368609410667443246833434186193497213457112044405029406271200940437710666976029631697527066267587501130089261123672690496213306771035479927302073152198708020040671805266172364822179720232176510936760437568010736462077620878281181059158738569622015008232967426238981084664848857578611728590226278364445189438260769323214740876069095760327819003060298666217671278120893829278229745082374438188107113049569444585238539698411213686409355912091051285989789921966954958383660073514728350686453487450439937411662178667733829004987471653708550561143441438095217908854389474979200840854175983306384023995016452227325126050950754612890521332672047372851410390651139613403918990079159515360630971 4097084141323548934433385963270204453490300347866815590494007078821374847850165905825665601169868204011750394623169640875383697683205997375651001271225260411381828070360948928617585497329076086156840961554694651418393375606973696594385775422316623766115862612276160653505359394025635989518219393278994511212087420167645827437105980752188733965074512258687450138144033689412622401516824651637665277874767920357785309684785972698153847088510874171000995900237792253054235442198844111301125180469538854334639670235267454886165188481768259945326248833575211597212616233168288427258365558040928029259748345242109066711095076390526786104945442827297040445867625204283399633543107342801242531916969130898061394087064706318104719355985805179630848152214679592230362971352097882309407281422525036146593323036547950418581263762835475551210252510154659868197407883596645340406828359392883214453539619514074734078954570709796030833752990743565982149593730693781509560930514531525064337346825617470915101389671195841250468060068955085750946831982073816517901300724625832428078555738069817192985525402454115812244246829253474294810278536386050452887257862255773095371351346221176792209729606572118097000415798059603078031242462443480308837696373125478357347286216318638789398409490770180053791012910784924767507684588413415914925214700900823908517627784553512745194567011778035438930937983278649076622812992565542453927216225416679202195439993539307335733093465259052896686264556018658329953790978341803532466737179409197062328387421288268043235373561127033557745224916768985907572549559930889812925150647371516478854103856564418031097243792022492308060276081139804783260327517050703433795273430225158187709688773082460642026035355722984050762823723850546567599498868976360358674369288885000935290070293441893509933403933521497545869413599933680951740924810932650289846993966347229951513087032863850666307384507646812765474208817038707462430470147982668906254439786001894263439860265515128741840920899613834135562073486760805474272799666327532958242860433810260229504306480136731365467205600872776956462898241897554845440668620584022852922520862266739331641214980932591189151364425903370071891271493588245281755987204436668942185951749461864635742192431235446655261552028030476774225745138339900283573840488604285104281471553697813548041971982349403632853148918658753160481718416740966624716617039083686024712962490026764436472649685041032234091932880544044324643714615086575846098012150137056602284776179227070110801509150091583259860647364482014852786680551703368266499582263400881401572709508314095960972283031803119566148701529897864989135926279480817602872741294253344208429970396709932742530176496682729771106095694890048263405518794366446435227404886593940234100834371636686876585953695042596011366451244970237425207344296503599659635999085411065024899215985247762300912473110132097156284851234094266662672442836206447988520080901099060627644004012550697855325517343825907279097146054853485636497704415340480711052332897575343050345920418037399587267192059097624521890392793037741036297268112820665295534854875333199904030472069265852308111917065891009377793801001446526178014922957975554082459875389669930430863965149994027755199611153111219012715721970655977125652236547905873071104797749100894743075259662942645928976988654762540795509221933836275301284547151201928812850456637731696493644480790672300060545202283454064874206073524995024406227845674279163710265085153562563112234611076333677209865948156448443995215210726665412285267235830727964480617457706555366275784058108193301899180738349833254334905992552471864868631973882301358187912185107721695845127127305217301189958573814056636406786250444026835451159653902436250714229263898606558983766008043158674615431382339590107803864666279221331528619884616790296994707778696139322697342754766845284734192703148277419987531058495075252144558145975204866325599797649140982918974849393807805454829904018 6629221395429679770933644732103839946223186398456797643252812216630711084480423781556926494999676948260762350525270829392743726675313445085156835318687274664895946293047935272514286846839598800832027167884670924930393538418757802742797815786303622639712832717610183443723023197003372513736460008467482663329019784639553762985608797515628559657053209205632575828808718411698538640240660460664405131494288794686578855578094005156010401437541855639019484076984932808868011837571837079067247255028806191275035276162516698497350314244891377527933390876149680563946939132329802858037871621384424687887331074916853394800483754156750296583939567751689449171156255379054095709349861433582057695511065696174627030793812260935363259980512999957818478502668240116712886426829779061816478453281976873935084559742874500434769581360592885889577521061216136481824756851774651688843628620089881563671493177035988283196991210459476743332993946969434444176741866951153558777759401503755582745023193361334788360533497651579943307908013763001528111594200412693301240486805454699986844057920028021377325122824007076380481073890102740194534045304827971717869066629216488629320462021701970089807042761785046899651818322108997472347359759901369887804885396851426999946763175501088619985512115728803209644402416303919642863264016931107605771349432378188838744696923203702885105202347799784342058537960885725088311581482247323244738688270954573608647958055771196893031798544941050403640413914985839159515063820390673446262732153422399896813592676952658509826485729909109728889348101342597089900096346202612302656301041176715030092754463829053750006060466847322788021947916316117994560528569320716393959274729271671720671858291195418513288562904442672231452928790788919409962644017458432048161330485917125986466094295831358539803663905079294732756600494196044874291946494880608072785457983331292758433941100111083330703898268457081501129242936374607300771528858397361305468327504075304577430612224097305078459128311397500045374310815773352958910370576798983577286281103520661974501833656189138223142496311385625136544529292790334827878249690976160400022952814420965639351108779016778073010888814147680653416218057449443960850777766767170132809641213290555722898664566540765598193282119690680997710976018587932207309574093322866248666335565164150951975301643563906427409833909723159684815897441274590370878882437857962138330091017157426694065047284808536029188272639405862966804487353402909320588671592578616815409339281729202739543054051094795667270762976590132853068052440028617903380840520224318014222037656078409949772753711938277657114740127337350698262694158872797676328615306795571767829597403109798842318963882803361776204974436098874318161677398351723007466419939020413737297551675201129763455045791488742577520211026372198636240543419180499804090066746547920364310911863939912542666941956385198651399177410123243296592440077459859987345120774149445749427718143088640426484628274154668581892841106061071908370979113710380560811544928652489346478661768388301147695800098635984759903472573261016872028688401609156272903535772026173075824608832821854454698002567112534911475583601595465108100904064181317791226372759098696708906404983349323847909461248364315396644222511598651422112943106274482481772240995934328929268756876399757973382018061033741735946932600812304932982074217469516313980545898855369184140694097443335540472504356606263582226114196800290578592667853999395886776021914000131122971073153954555491047007315187013617230218959632838524248320495576822059229186296781644640229247546454071222395479225902350095233811555532163534849645160422252017190414852804070283315234418266870634543812353755047620472659799938926502445643692358217669187647558680073712116694496646125055368794001768775537693671266692985237170445760231735089925687550528797676543595621021268040576727143293872214856184546026006757448667307876913698451208039792122532378768383886964970190534989 10726305536753228705367030695374044399713486746323613233746819295452085932330589687382592096169545152272512745148440470268127424358519442460807836589912535076277774363408884201131872344168674886988868129439365576348786914025731499337183591208620246405828695329886344097228382591029008503254679401746477174541107204807199590422714778267817293622127721464320025966952752101111161041757485112302070409369056715044364165262879977854164248526052729810020479977222725061922247279770681190368372435498345045609674946397784153383515502726659637473259639709724892161159555365498091285296237179425352717147079420158962461511578830547277082688885010578986489617023880583337495342892968776383300227428034827072688424880876967253467979336498805137449326654882919708943249398181876944125885734704501910081677882779422450853350845123428361440787773571370796350022164735371297029250456979482764778125032796550063017275945781169272774166746937713000426326335597644935068338689916035280647082370018978805703461923168847421193775968082718087279058426182486509819141787530080532414922613658097838570310648226461192192725320719356214489344323841214022170756324491472261724691813367923146882016772368357164996652234120168600550378602222344850196642581769976905357294049391819727409383921606498983263435415327088844410370948605344523520696564133279012747262324707757215630299769359577819780989475944164374164934394474812865698665904496371252810843398049310504228764892010200103300326678471004497489468854798732476978729469332831596959141980098240926553061859291036143286634573018111582997472645906133502115581451688548231508946858320393471781103304258869815096082223997455922777820856086371419827754548159496829908381547064277879155314598260165656282215752514639465977562142886434792406835699774802126921756164589273252049737067838600792278626014094129725826032871305813258362632451949678522709947028132974933997011282776103894266603451753413314763201999006380030211722767290077198840870472489612433820300049211011334180936384302534158433183170243126516535529141537330922204006140136325869588609701912258402093007427534687889673318918311560183252945473676687704970992323759949369262162253240051050725307489551037689242606764971203839074995592962752420358640856997776212253454834147721157771936721156927832490883414581927151352947807118861964500017273625913310060262982828381912845297615858015556995595499476941648163043053507184191130537696969849568263280205519949907291448201968489485166686683742715673417694115460956272850344563201186378927131410341072147705854732991731986169880422783625199415794747164392505910745036743741397223263441657235215687398620438353615279201356601048915976259567799819731584849140379486091547311070130988922581567196192718169442693824825614353971398386046837816640040999486531338588886662271342436061447887715684099463726065831958985389210127849187674843579415066517295807684028644217509959264882913666307975865201675248506377071722155639338281810145617980575860989987160914557544868683529050861271863877826227832396824582186425700734962992157733609281793865366298757908325956514429821568438390647359372979855080902087706762809919633003544289269384603041991286115827022156871873686248148768627139770370133343351603109072401475534409359944482254628547765179654180355552877038745035223672344016539342403902359006715796282531456154534648580234266621368671445126831002536587065677785174888115635601017706640060328456432187721795314984820513528278559597041107067562694235205684230288232700912955471635457612445429686298250809515556326304786539846644003337010916013305654647373121576217575735604430139804108004028403481619042723610205102599960525766128442361723484171824502386167811684027258910243965761953605297594794468383416911457286632695882702539804799670800176341358883341558337545914316765790330377022032084633466246668120373886350387866552774769430291571292202387243041101258902006813283081780024051005688933105451353617777694770425020439007 17355526932182908476300675427477884345936673144780410876999631512082797016811013468939518591169222100533275095673711299660871151033832887545964671908599809741173720656456819473646159191008273687820895297324036501279180452444489302079981406994923869045541528047496527540951405788032381016991139410213959837870126989446753353408323575783445853279180930669952601795761470512809699681998145572966475540863345509730943020840973983010174649963594585449039964054207657870790259117342518269435619690527151236884710222560300851880865816971551015001193030585874572725106494497827894143334108800809777405034410495075815856312062584704027379272824578330675938788180135962391591052242830209965357922939100523247315455674689228188831239317011805095267805157551159825656135825011656005942364187986478784016762442522296951288120426484021247330365294632586932831846921587145948718094085599572646341796525973586051300472936991628749517499740884682434870503077464596088627116449317539036229827393212340140491822456666499001137083876096481088807170020382899203120382274335535232401766671578125859947635771050468268573206394609458954683878369146041993888625391120688750354012275389625116971823815130142211896304052442277598022725961982246220084447467166828332357240812567320816029369433722227786473079817743392764053234212622275631126467913565657201586007021630960918515404971707377604123048013905050099253245975957060188943404592767325826419491356105081701121796690555141153703967092385990336648983918619123150424992201486253996855955572775193585062888345020945253015523921119454180087372742252336114418237752729724946539039612784222525531109364725717137884104171913772040772381384655692136221713822888768501629053405355473297668603161164608328513668681305428385387524786903893224454997030260719252908222258885104610589540731743680087011382614588325770700324817800693866435417909933009815468380969233086017327715181044560975767732694689787922063973527864777391517191094794152503418301084713709738898759177522408834226310695118307511392093540819925500112815422640851584178507973792515007811752198223644027229551956827478224501197168002536343652968426491108670610343432538966147335173142054198731378723707608487133203457542737971009207805234176042976081539521564316977851648116267411838769647697175515764698192988675250017601614142684026115451992575269477216487672816738105072530113513299290147366474381914799610301373144524341617824602744254658104292468478159355770258252689321892394487275355335294290233103454742685475589887617252281174594402173317662280558922785431760604073261263303849517430016784820470915860517790455679674880378181784572566385661314597226412955529971907844487744089165202929530427168104262289453323516044567087796899728873591069892450160244764634767708695937722038946403496045278020081166406873297714634697688431134864599267816132578506905753521039713127587386246357022902494459083206054340753255857322991126167963210322449397952126499440298727978708294773892135244442882828266975629453239662642761241832675422754880321743303243954814001882658792256369594041697337939559774780354644916038977841341926419385546055679689734909561217507922200116079200744968204637456394216731086338189664912620907867323848676775116692675451018533649839849806004166993853279969878122760454838034649279740969552601612773415742161875741024776830024267403087135460885167248695586140961440811548435442434861925868985558971141490210996666592038658301918595605563413181382277955483817128981562825358176757384242788191959962786822471229675648645931089333763876821881608599075830300118655556242553201101444343971696801637954525373615663536191938331264203145862222293014813329836411757596141751042459046198521566731647731570043904688456050941287152686052604559015966706407999397036450924726168970343127658879252008812607302002960776137253767174559153797196918050429946008887820815346157434865164417243427587127265659455480590958693722502213728725227983732386161581735395210973996 28081832468936137181667706122851928745650159891104024110746450807534882949141603156322110687338767252805787840822151769928998575392352330006772508498512344817451495019865703674778031535176948574809763426763402077627967366470220801417164998203544115451370223377382871638179788379061389520245818811960437012411234194253952943831038354051263146901308652134272627762714222613920860723755630685268545950232402224775307186103853960864338898489647315259060444031430382932712506397113199459803992126025496282494385168958085005264381319698210652474452670295599464886266049863325985428630345980235130122181489915234778317823641415251304461961709588909662428405204016545729086395135798986348658150367135350320003880555566195442299218653510610232717131812434079534599385223193532950068249922690980694098440325301719402141471271607449608771153068203957729181869086322517245747344542579055411119921558770136114317748882772798022291666487822395435296829413062241023695455139233574316876909763231318946195284379835346422330859844179199176086228446565385712939524061865615764816689285236223698517946419276929460765931715328815169173222692987256016059381715612161012078704088757548263853840587498499376892956286562446198573104564204591070281090048936805237714534861959140543438753355328726769736515233070481608463605161227620154647164477698936214333269346338718134145704741066955423904037489849214473418180370431873054642070497263697079230334754154392205350561582565341257004293770856994834138452773417855627403721670819085593815097552873434511615950204311981396302158494137565763084845388158469616533819204418273178047986471104615997312212668984586952980186395911227963550202240742063556049468371048265331537434952419751176823917759424773984795884433820067851365086929790328016861832730035521379829978423474377862639277799582280879290008628682455496526357689106507124798050361882688338178327997366060951324726463820664870034336146443201236827175526871157421728913862084229702259171557203322172719059226733420168407247079420841669825276711063052016648344564178182506382514113928840877400361900135902429322559384362166114174516086314096526905913900167796375581335756298915516597335395294249782104031197159524822446064307709174848282800827138795396440180378562093190105102950415132996541584418332443597189076403257177168954561949802888079952009848895390526547935799566486985375411129157305704362069881391741258464416198031525808955140441224507672555748683679305677549700891290381879653962039078009963650797570203641748440232180453467553521533583658734428264777518423492590243141686087474716845811531984863421771262827199421072103641623441807782073059935035580028234731328508893403720348733002749262012017244641775544870827114698076719481296069783788061892854069590249121680094323768876763043537044764551419755293535569057070759136318850548698731542198410465891142731167562315262229825772089419790266767234698558263215122205904792475939075524124646458503571162454367316990104919510115820303872815427890186998108346171812103104539300581108154140127826141239702617621784414103203323491203305858532688680601430468799409780317066744919035534770636997267980317841833119623490014352807679447680332558108495061538598869056635950988447145250036027054127606051315384215364111476107908517643302414635193587526318486004776273956789955084565778100031492626306798859241670109465401515316954812406567642550972029500539711043873674606742507917636726920495090489640390920548233694910556515080858236049125519593382441614531020892872918258457928842121078332229340143279433148186395138922474303455666472255858855748817465547914377373558955513419771540220341812883245869472427395614773855602540199957865235214283548584689378415674990480287870450409656238881947154436021470473253339103882099576255724396969146684486542220810346358521618768751106514275799259192620043865038424316296396754373590115587726436456619630670628228524561462293874040473746553219417658333435086003939276505820231413003 45437359401119045657968381550329813091586833035884434987746082319617679965952616625261629278507989353339062936495863069589869726426185217552737180407112154558625215676322523148424190726185222262630658724087438578907147818914710103497146405198467984496911751424879399179131194167093770537236958222174396850281361183700706297239361929834709000180489582804225229558475693126730560405753776258235021491095747734506250206944827943874513548453241900708100408085638040803502765514455717729239611816552647519379095391518385857145247136669761667475645700881474037611372544361153879571964454781044907527215900410310594174135703999955331841234534167240338367193384152508120677447378629196314016073306235873567319336230255423631130457970522415327984936969985239360255521048205188956010614110677459478115202767824016353429591698091470856101518362836544662013716007909663194465438628178628057461718084743722165618221819764426771809166228707077870167332490526837112322571588551113353106737156443659086687106836501845423467943720275680264893398466948284916059906336201150997218455956814349558465582190327397729339138109938274123857101062133298009948007106732849762432716364147173380825664402628641588789260339004723796595830526186837290365537516103633570071775674526461359468122789050954556209595050813874372516839373849895785773632391264593415919276367969679052661109712774333028027085503754264572671426346388933243585475090031022905649826110259473906472358273120482410708260863242985170787436692036978777828713872305339590671053125648628096678838549332926649317682415257019943172218130410805730952056957147998124587026083888838522843322033710304090864290567825000004322583625397755692271182193937033833166488357775224474492520920589382313309553115125496236752611716694221241316829760296240632738200682359482473228818531325960966301391243270781267226682506907200991233468271815698153646708966599146968652441644865225845802068841132989158891149054735934813246104956878382205677472641917031911617818404255829002633557774539149181217370251882977516761159986819034090561022087721355885212114098359546456552111341189644338675713254316632870558882326658905046191679188837881663932508537348448513482754904768011955649521850447145857490606061314838372521719900126410167956751066682544835311232115507959361887269391932427186556176092486914195404002424164867743035608616304592057905524642456595851728544263306540868765789342555867426779743185479165776848217161838661447807953580612274274141237394413304253883901024946327224030119797705748728115935756976396708823700303855253194316402949391324234275828316805334337631780617655100746984019805226380348458721249632806441190261300416737891464437898205678792439185348904064998194343159265164516381024943374857954343014314354883889388790261490915709447033090042571500921700408866771705456824749985413297999358330988972796896252207275442849616072129112322284725850440752899016470979528895918643902285846574044410630070602753095295698399693402251064746755643694865816451348008814573344937214723335988475883431070096053704500280576670472797365188541245418307469035246346507777251122243486130465091214460371906829197825764033235702690759321012316904074549289194833251203511489964503274837123920366728702505146139701155234021368278469961188487521425175090031622175598226974328875569563370826727653841056269456331066262328805570350568764012540953368008454099407471935401636912859233577883998128633393512533748791558986526111646876292834470564675365030688344951559198998773809084832881045280400071796726978160429477043309970068003737998304603574322028498412056850261809519611179011513480887035435076412280144147449015334649688629587185438951957554006986256742594783210945147322722050331775138865707180169099840488626029489220045511881496612706649123138117027614201100062355171128920771711882651529566433751773841061956474746242405642194405461745161301621036874098215355790220917774464999167469055433146383561418818390100858241215442386999 73519191870055182839636087673181741837236992926988459098492533127152562915094219781583739965846756606144850777318014839518868301818537547559509688905624499376076710696188226823202222261362170837440422150850840656535115185384930904914311403402012099948281974802262270817310982546155160057482777034134833862692595377954659241070400283885972147081798234938497857321189915740651421129509406943503567441328149959281557393048681904738852446942889215967160852117068423736215271911568917189043603942578143801873480560476470862409628456367972319950098371177073502497638594224479865000594800761280037649397390325545372491959345415206636303196243756150000795598588169053849763842514428182662674223673371223887323216785821619073429676624033025560702068782419318894854906271398721906078864033368440172213643093125735755571062969698920464872671431040502391195585094232180440212783170757683468581639643513858279935970702537224794100832716529473305464161903589078136018026727784687669983646919674978032882391216337191845798803564454879440979626913513670628999430398066766762035145242050573256983528609604327190105069825267089293030323755120554026007388822345010774511420452904721644679504990127140965682216625567169995168935090391428360646627565040438807786310536485601902906876144379681325946110283884355980980444535077515940420796868963529630252545714308397186806814453841288451931122993603479046089606716820806298227545587294719984880160864413866111822919855685823667712554634099980004925889465454834405232435543124425184486150678522062608294788753644908045619840909394585706257063518569275347485876161566271302635012554993454520155534702694891043844476963736227967872785866139819248320650564985299164703923310194975651316438680014156298105437548945564088117698646484549258178662490331762012568179105833860335868096330908241845591399871953236763753040196013708116031518633698386491825036963965207919977168108685890715836404987576190395718324581607092234975018818962611907936644199120354084336877630989249171040804853959990851042646962946029533409504550997216596943536201650196762612475998495448885874670725551810452850229340630729397464796226826701421773014945136797180529843932642698295586786101927536778095586158156320705773406888453633768961900278688503358061854017097677831852816533840402959076345795189604355510738042289802275356012273060258269583544415871079043280935771613901556090614144698282127230205540587393235734883626703673449403965845517967125357654471902656153795199433491314217534698595149968972470351978159216281637469340635131137088477822278745784559544635478798951121639848790197759403043444854521819087661428668188130531781184668386469424992628925631295184786631208428054451202593545840543065170273963241235862321013158646016235868383945133011068884585259792472490570134807122920676993944435828776215961068835961996730900529399438688038983374837758111845897901201742074992617675451457279686101734800711119841361370698690869133641765207462612688504612912366885050628459122756003449456354986385448041754023917096630023558896237293407117902361084576000688679744551276840157715847776976576660902560552875384126749231008904097178143605866355326180773673819996351754881847303328312742110359021139225825571065616764729559273745752470618236732389946069097005164727589725225209701916712979105149526353325911293431941087762082637865121570475679815970279329495765774576096650379501435941347956732908184626506046270120433028839281199377446659880571203390985645533601079813864544941640613304829977705799303738328913917805310389769620322743118254398876920778907029988500754270912599079275067525556385072436400455206616632621957030694884807077084244361041041492157511872221471026143367900323562997712530619645589275363419051046994924647499962473384615763596188962373520107263712100743320872701529650539540462989165805365692944393884926994899062538802396567995577332887738077656504768843584314782380068339039641215608652564041894853904394040134747035673800002 118956551271174228497604469223511554928823825962872894086238615446770242881046836406845369244354745959483913713813877909108738028244722765112246869312736653934701926372510749971626412987547393100071080874938279235442263004299641008411457808600480084445193726227141669996442176713248930594719735256309230712973956561655365538309762213720681147262287817742723086879665608867381981535263183201738588932423897693787807599993509848613365995396131116675261260202706464539718037426024634918283215759130791321252575951994856719554875593037733987425744072058547540109011138585633744572559255542324945176613290735855966666095049415161968144430777923390339162791972321561970441289893057378976690296979607097454642553016077042704560134594555440888687005752404558255110427319603910862089478144045899650328845860949752109000654667790391320974189793877047053209301102141843634678221798936311526043357728257580445554192522301651565909998945236551175631494394115915248340598316335801023090384076118637119569498052839037269266747284730559705873025380461955545059336734267917759253601198864922815449110799931724919444207935205363416887424817253852035955395929077860536944136817051895025505169392755782554471476964571893791764765616578265651012165081144072377858086211012063262374998933430635882155705334698230353497283908927411726194429260228123046171822082278076239467924166615621479958208497357743618761033063209739541813020677325742890529986974673340018295278128806306078420815497342965175713326157491813183061149415429764775157203804170690704973627302977834694937523324651605649429281648980081078437933118714269427222038638882293042998856736405195134708767531561227972195369491537574940591832758922332997870411667970200125808959600603538611414990664071060324870310363178770499495492250628002645306379788193342809096914862234202811892791115224018030979722702920909107264986905514084645471745930564354888629609753551116561638473828709179554609473636343027048221123775840994113614116841037385995954696035245078173674362628499140032260017214829007050170664537816250687504558289371552647824590096854995342426782066741454791525942594947362268023678553485606467964694133974678844462352469991146809069541006695548733745108008603466563264012949768472141483620178814913526018605083780222667164048649348362320963615187122031542066914134776716470760014697225126012619153032175671101186460414070497407819158408004822995995994883143260662514626812182839226252183007356628573165608052514930427936436827904618471418599620096296196500471775864965009753405097611527845912178126133998978875947584870123185397468165595532097034824062509622566071681233894568478990502434301192910615253929342369186649224529414106846890387942449905541259513433228405752243345956533503970578882698300016900457674846750708181937603224849694421598694353302600481672785818821375294730258860388411484935235582113200961461970030314064359718468116204356296157081263696629763743647217272735279763712367960557908386904306314617949797384102817621819900804363800958792978968747253085105906989966333347111618182937755048798053868285796695147626751094123484353912024804039005849217963691380810926375969369899591028871532994832313255829431136498161563945621848985642500662694985983493432064419885453625852258100668416030285492686152764815256831877514939953434025095916696738021085782144031538968931383899281250166539043342036719142584550749786973371342984869592141762510504174903513945562588072758363972771527447496225456210208966110502209496500839612078639062538680349018728985714532288550199097366053088322402614919083510604310529252682969449341084587136735396585917287490641693044902101178143900141726772873948226480444115065879207727768738151111268710320434580951420728141070599220146835413273529451693430127645092801669022643245380739714944420935056700779460312174871817334932126696167725988951373808781208038762401039078049039698693378867058940105003297842804038808684664085710425456272722784140992988251116187001 192475743141229411337240556896693296766060818889861353184731148573922805796141056188429109210201502565628764491131892748627606330063260312671756558218361153310778637068698976794828635248909563937511503025789119891977378189684571913325769212002492184393475701029403940813753159259404090652202512290444064575666551939610024779380162497606653294344086052681220944200855524608033402664772590145242156373752047653069364993042191753352218442339020332642422112319774888275933309337593552107326819701708935123126056512471327581964504049405706307375842443235621042606649732810113609573154056303604982826010681061401339158054394830368604447627021679540339958390560490615820205132407485561639364520652978321341965769801898661777989811218588466449389074534823877149965333591002632768168342177414339822542488954075487864571717637489311785846861224917549444404886196374024074891004969693994994624997371771438725490163224838876360010831661766024481095656297704993384358625044120488693074030995793615152451889269176229115065550849185439146852652293975626174058767132334684521288746440915496072432639409536052109549277760472452709917748572374406061962784751422871311455557269956616670184674382882923520153693590139063786933700706969694011658792646184511185644396747497665165281875077810317208101815618582586334477728444004927666615226129191652676424367796586473426274738620456909931889331490961222664850639780030545840040566264620462875410147839087206130118197984492129746133370131442945180639215622946647588293584958554189959643354482692753313268416056622742740557364234046191355686345167549356425923809280280540729857051193875747563154391439100086178553244495297455940068155357677394188912483323907632162574334978165175777125398280617694909520428213016624412988009009663319757674154740959764657874558894027203144965011193142444657484190987177254794732762898934617223296505539212471137296782894529562808606777862237007277474878816285369950327798217950119283196142594803606021550761040157740080291573666234327344715167482459130883302664177775036583580169088813467284448094491021749410437066095350444228301452792293265244376171935578091665488474780312307889737709079111476024992196402633845104656327108623085511840694166759787269037419838222105910445520457503416884080459100877900499016865183188765280039960982311635897577652177066518746116026970285384282202697448046750144467396185684398963909772552703105123226200423730653898249510438886512675656148852874595698523262524417586581731636261395932688953298215246265168970823754024181291390874438246658983000655948412744763435492220348922136519108014385729856437867507364144385159342662562756609522283618969579380040246558268000481834011160622534901341590535995746084324683707191646988105666969692149986814751082245149911526559432010500654428173359656817342275688297738429257888746887657337291461159389787850172974218956950959073307867931515806434711085791655813575843182998497340883585008587971426148897354133168020521075408919226984834848012561940377823350260718787344241020722771170181735930548862570640518736085298839624798742548030347971987784466941900460930572927364591881233344712922389715023554112975765946355052306668652309607584312983801489876687732208006781726488266051600258161623693631206096470494833058362099382497850880354540482041579431652932539174622270022649314517723231793621606796505469756929982509322671532484917160647400166474807284332826325049947137010221173634378591427353957741419431408018699616441855742567190316074041442480225383469040244479652757057899632337598939968717688796206576801491839862417634299030006953882048420359654662291781658353687945848309677524058208838784948803857118309267521936272577751429198794881519011592273318147111571066317416434018271193830337921029414166814743408688990631396163352644451815687741807758230429999852637860983140297819640561610915946272871320010435330396616410936777776349883635902524419785677911143078449900272738274467351126627178181127735286789987003 311432294412403639834845026120204851694884644852734247270969764020693048677187892595274478454556248525112678204945770657736344358307983077784003427531097807245480563441209726766455048236456957037582583900727399127419641193984212921737227020602972268838669427256545610810195335972653021246922247546753295288640508501265390317689924711327334441606373870423944031080521133475415384200035773346980745306175945346857172593035701601965584437735151449317683372522481352815651346763618187025610035460839726444378632464466184301519379642443440294801586515294168582715660871395747354145713311845929928002623971797257305824149444245530572592057799602930679121182532812177790646422300542940616054817632585418796608322817975704482549945813143907338076080287228435405075760910606543630257820321460239472871334815025239973572372305279703106821051018794596497614187298515867709569226768630306520668355100029019171044355747140527925920830607002575656727150691820908632699223360456289716164415071912252272021387322015266384332298133915998852725677674437581719118103866602602280542347639780418887881750209467777028993485695677816126805173389628258097918180680500731848399694087008511695689843775638706074625170554710957578698466323547959662670957727328583563502482958509728427656874011240953090257520953280816687975012352932339392809655389419775722596189878864549665742662787072531411847539988318966283611672843240285381853586941946205765940134813760546148413476113298435824554185628785910356352541780438460771354734373983954734800558286863444018242043359600577435494887558697797005115626816529437504361742398994810157079089832758040606153248175505281313262012026858683912263524849214969129504316082829965160444746646135375902934357881221233520935418877087684737858319372842090257169646991587767303180938682220545954061926055376647469376982102401272825712485601855526330561492444726555782768528825093917697236387615788123839113352644994549504937271854293146331417266370644600135164877881195126076246269701479405518389530110958270915562681392604043633750833626629717971952652780393302058261656192205439570728234859034720035902114530525453933512153333797914357702403213086154869454548872624991913725868115318634245585802175363253832301432787990578051929140636318330410099064184658123166180913832537127601003576169433667439644566311843235216876041667510510294821850480222421245653856599754896371728930960707928119222195306873914560764137251069351901908331860231224271688870576932517009668073089300551160371897835342561365471295529889146301144279535858186828912834074546743742311439805219045321916576179981261953472691569873766951231023896457325088512786053270772290655500487610369668483235690036641748231978478445651625584197140420052740349012926225653957393633780545166811984234278761208836365776584506511763874382651041029739561532706478712586191418250176261657909454539064160034769837961829870794429553907860169872000264262193970647328655805244161428661066501128578429462313225541602784645396664757999643251065082588303033999691518423266841837538828903987630354268236594673596796416316144667135411218036023945284484952168630887082562676613770525949930082345665537383923839663484622863413744120299651440633354056992424227150961037583751593688113516659722322752933726778129667990537033119355738873456946592885973199718186719387335603505375825160575727889369038180149048366013569204059745198149953448178627317695917191709647514396077148324154015426716105392202935466195841898065951533300818283537943319837462108102783160001775786885346869887490167815054849294899204106758945928238609559259636851497761444241799027178244270975436490002722426159386982685090530629992257494002380387643630636926563619670122860983638581692522487045557504617491340665751194558865860244871053781792300418806598025191530632162742814931209460164812732800475229946336729336904897646680101218474092797655488985817475043262502961464524788975753947117258584936823984892807399349962322120723537906174004 503908037553633051172085583016898148460945463742595600455700912594615854473328948783703587664757751090741442696077663406363950688371243390455759985749458960556259200509908703561283683485366520975094086926516519019397019383668784835062996232605464453232145128285949551623948495232057111899124759837197359864307060440875415097070087208933987735950459923105164975281376658083448786864808363492222901679927992999926537586077893355317802880074171781960105484842256241091584656101211739132936855162548661567504688976937511883483883691849146602177428958529789625322310604205860963718867368149534910828634652858658644982203839075899177039684821282471019079573093302793610851554708028502255419338285563740138574092619874366260539757031732373787465154822052312555041094501609176398426162498874579295413823769100727838144089942769014892667912243712145942019073494889891784460231738324301515293352471800457896534518971979404285931662268768600137822806989525902017057848404576778409238446067705867424473276591191495499397848983101437999578329968413207893176870998937286801831094080695914960314389619003829138542763456150268836722921962002664159880965431923603159855251356965128365874518158521629594778864144850021365632167030517653674329750373513094749146879706007393592938749089051270298359336571863403022452740796937267059424881518611428399020557675451023092017401407529441343736871479280188948462312623270831221894153206566668641350282652847752278531674097790565570687555760228855536991757403385108359648319332538144694443912769556197331510459416223320176052251792743988360801971984078793930285551679275350886936141026633788169307639614605367491815256522156139852331680206892363318416799406737597323019081624300551680059756161838928430455847090104309150846328382505410014843801732547531961055497576247749099026937248519092126861173089578527620445248500790143553857997983939026920065311719623480505843165478025131116588231461279919455265070072243265614613408965448206156715638921352866156537843367713732863104697593417401798865345570379080217331002715443185256400747271415051468698722287555883799029687651327985280278286466103545599000628114110222247440112292197630894446745275258837018382195223941719757426496342123041101338852626212683962374661093821747294179523285536023665197779015725892881043537151745303337222218488909753962992068637795894577024547928269171390121252785439295335638703513411033242448395730604568459013647689955864577564480713105819970212133101350103591399709350696483849325196050588826534442119283913327592535153974104845811913490022959488505746932025567967458435684194366991809910559077237911336390366559020081698035069672240351670695747045878370150317246850659176649573569014441397709908880847611699728454679895917803944208384862790316723510793710771709490793949944163329106150070948779458997450279594136049877652577639964111830883673496015119108077705893345677229140639699515983447843447260691311530913664393215587577558420634296598950537722144768587619493409226698377466601325801375647275020414289593448577768087691474628149090353535434298395538964346492639123195684977924406215057879533222768315907389536160240973484195321431483738976146332136932470998057104101141317321086264999205953639227089184009755311807147865818793247766785140229050488387913473896220915036378245818512374340456742036650121228607618782182524394838795110131557688685101688976905845550119922985911650522242241656784524617250782702745442780673846811634343484895458339921694100491134357579385800062845577143027639654532844784979207486430136532743645501476005598598808345872908589266590733546181803896461318959902624663382338312399950217595821470039334487110566761524316660221382066125358501189134453256956728804093553362973938635762534496089115588280027059614462470782931814969950669643346319904550573161639460017450593783615527765977290947820843919551421228909423194271899922595251393146138863988944574653665090195708485209562259360158525977140503248458824696161007 815340331966036691006930609137103000155830108595329847726670676615308903150516841378978066119313999615854120901023434064100295046679226468239763413280556767801739763951118430327738731721823478012676670827243918146816660577652997756800223253208436722070814555542495162434143831204710133146047007383950655152947568942140805414760011920261322177556833793529109006361897791558864171064844136839203646986103938346783710179113594957283387317809323231277788857364737593907236002864829926158546890623388388011883321441403696185003263334292586896979015473823958208037971475601608317864580679995464838831258624655915950806353283321429749631742620885401698200755626114971401497977008571442871474155918149158935182415437850070743089702844876281125541235109280747960116855412215720028683982820334818768285158584125967811716462248048717999488963262506742439633260793405759494029458506954608035961707571829477067578874719119932211852492875771175794549957681346810649757071765033068125402861139618119696494663913206761883730147117017436852304007642850789612294974865539889082373441720476333848196139828471606167536249151828084963528095351630922257799146112424335008254945443973640061564361934160335669404034699560978944330633354065613337000708100841678312649362664517122020595623100292223388616857525144219710427753149869606452234536908031204121616747554315572757760064194601972755584411467599155232073985466511116603747740148512874407290417466608298426945150211089001395241741389014765893344299183823569131003053706522099429244471056419641349752502775823897611547139351441785365917598800608231434647294078270161044015230859391828775460887790110648805077268549014823764595205056107332447921115489567562483463828270435927582994114043060161951391265967191993888704647755347500272013448724135299264236436258468295053088863303895739596238155191979800446157734102645669884419490428665582702833840544717398203079553093813254955701584106274468960202341926536411946030675336092806291880516802547992232784113069193138381494227704375672714428026962983123851081836342072903228353400051808353526960378479761323369757922510362705316180400996628999532512781447908136605142515505283785763901294147883828932108063339260354003012298517486294933640285414203262014303801730140077704278587470194146831378692848263020482047113321178970776866784800752989179868110305306404871846398408491592635775109385194191707367634474118961361670591037478483019777784941025216479472812573337044241901003678282620601067782439997035009697093885931387899913414813802473893679433509963032640826324097506232248058371830787012780352260374348253763383250647111678287621390455477406786547855725511123961351247533488739818800482540695818397805547492887049335493077988031752468803692822143457901602018643335483535495027989532918327159726528669840870024453599820488737011812300614762463843995890140373488793128035079279142847543855175548023570193607376153319843711522885282178242320198459749006219487135425177380000035370310190404138805891456377109852390883963950309020105808016715419605626520378615779444621772028971992335380662637306258606903013948351499542831701853655398470066149930766923414277667097021122899985995621555334411801224400792757954440321991630180790188126767761348999920664525541116000700511918358718478924946593251959788493324838704485574058643461423985724733983443942758252284207833290280606054698670893036651043700073371164538968218159433366432039013327931026899458207389952203837278951091300237987645633791952641117329119900307685245810799656308631670326077373920304347798494796375209705357754274111518148526227585043943248138260346138146895638818828315122376376982804155129865117102824255526697047865012703051922120859257314240595310496616040408531443253253875161840310147145887304485516252575232233776548694834876952067293388092848920182263326584090757712314020284725741566231522447383515991927388908412726436408641825453469363629419037312967070146386244252965925327102825369182362602335011 1319248369519669742179016192154001148616775572337925448182371589209924757623845790162681653784071750706595563597101097470464245735050469858695523399030015728357998964461027133889022415207189998987770757753760437166213679961321782591863219485813901175302959683828444714058092326436767245045171767221148015017254629383016220511830099129195309913507293716634273981643274449642312957929652500331426548666031931346710247765191488312601190197883495013237894342206993834998820658966041665291483745785937049579388010418341208068487147026141733499156444432353747833360282079807469281583448048144999749659893277514574595788557122397328926671427442167872717280328719417765012349531716599945126893494203712899073756508057724437003629459876608654913006389931333060515157949913824896427110145319209398063698982353226695649860552190817732892156875506218888381652334288295651278489690245278909551255060043629934964113393691099336497784155144539775932372764670872712666814920169609846534641307207323987120967940504398257383127996100118874851882337611263997505471845864477175884204535801172248808510529447475435306079012607978353800251017313633586417680111544347938168110196800938768427438880092681965264182898844411000309962800384583267011330458474354773061796242370524515613534372189343493686976194097007622732880493946806873511659418426642632520637305229766595849777465602131414099321282946879344180536298089781947825641893355079543048640700119456050705476824308879566965929297149243621430336056587208677490651373039060244123688383825975838681262962192047217787599391144185773726719570784687025364932845757545511930951371886025616944768527404716016296892525071170963616926885262999695766337914896305159806482909894736479263053870204899090381847113057296303039550976137852910286857250456682831225291933834716044152115800552414831723099328281558328066602982603435813438277488412604609622899152264340878708922718571838386072289815567554388415467411998779677560644084301541012448596155723900858389321956436906871244598925297793074513293372533362204068412839057516088484754147323223404995659100767317207168787610161690690596458687462732545131513409562018358852582627797481416658348039423142665950490258563202073760438794859609336034979138040415945976678462823961824998458110755730170496576471863988913363090650472924274114089003289662743142860178943102299448870946336760764025896362170633487043006337987529994604118986768083051478791432630981081057037293286442864212113136779632724192467491790693518859022289936520214434355534097715801486214587484067878452739814120465720753805303856354980238787944568715245573293809724349589624011757014497488484582925397751475632046994579367109969117729391354995047379116507328447045401958835643452197258372718061261845810403506125800259005821700304627817953676472833169976174524548599947734462091894750812341496573530104485319676801531094398250925249748521225252710833306892136767687158783576593709155984591675336583777907769721776330537757515078778023632215118154754576453716685339597584040520097610163997373714211853243928534975307463270387874345009129945381802587991872757714600711235076423714377455686091007896898472988528504861876132327758487805409858328501934075275526586990836134429415215951771104311727812391359909248467297058587768967312860067148180703529703084522997948399100203460635845962591062724940776679046628400412163743383772582013556889250193294150450618740401675023216563630578713729644900988063799015471622435986758577909339734283086998696714919963153262388838439310841476455305284860350440880542140297851215303956562619984426737792818318590125052034721665098049520302201166627522326594578625625169199604213391017051013708086394769177280622048391767497552039300709593771505381889016409657929425735425914364099978723358164048746499364478223271971843961254488380199713920367706285478291311232546585485782943676292939186199288831007977829554780689442413938283084127508675555355948503613124451304243328617641187298496018 2134588701485706433185946801291104148772605680933255295909042265825233660774362631541659719903385750322449684498124531534564540781729696326935286812310572496159738728412145564216761146929013477000447428581004355313030340538974780348663442739022337897373774239370939876492236157641477378191218774605098670170202198325157025926590111049456632091064127510163382988005172241201177128994496637170630195652135869693493957944305083269884577515692818244515683199571731428906056661830871591450030636409325437591271331859744904253490410360434320396135459906177706041398253555409077599448028728140464588491151902170490546594910405718758676303170063053274415481084345532736413847508725171387998367650121862058008938923495574507746719162721484936038547625040613808475274805326040616455794128139544216831984140937352663461577014438866450891645838768725630821285595081701410772519148752233517587216767615459412031692268410219268709636648020310951726922722352219523316571991934642914660044168346942106817462604417605019266858143217136311704186345254114787117766820730017064966577977521648582656706669275947041473615261759806438763779112665264508675479257656772273176365142244912408489003242026842300933586933543971979254293433738648880348331166575196451374445605035041637634129995289635717075593051622151842443308247096676479963893955334673836642254052784082168607537529796733386854905694414478499412610283556293064429389633503592417455931117586064349132421974519968568361171038538258387323680355771032246621654426745582343552932854882395480031015464967871115399146530495627559092637169585295256799580139835815672974966602745417445720229415194826665101969793620185787381522090319107028214259030385872722289946738165172406846047984247959252333238379024488296928255623893200410558870699180818130489528370093184339205204663856310571319337483473538128512760716706081483322696978841270192325732992809058276912002271665651641027991399673828857375669753925316089506674759637633818740476672526448850622106069506100009626093153002168747227721399496345327919494675399588991713107547375031758522619479247078530538545532672053395912639088459361544664026191009926495457725143302765202422249333571026494882598321902462427763451093377095630968619423454619207990982264554101902702736698225924317327955164712251933845137763794103244890955788090415732322728289248408704320717344745252356661671471555827678750373972461648955965789577805561534498569217572006297536510105859779908454014140457915344793535274230690553868719383822451602334268948911518275379894020994030911093566138217971953001863675687141993019140204943063499336677060371461267911633147469974895271130781123262599593398242112855849787918211932050813445184664000215496380895036823675204666062065540204719747412422149461283794500849689837546145113403001503010846198978148420436471473904195365574805340569420244858808469929566173677393772793603696773276281026914268290087530870306461875887398304790135085589997394905146953710537792885388968427771021009611131686306107569303547893060625905626879416979340732231859707979597079492242380209725671767251640409491005821109214143542936930079112847521836021774820312750655625525984776118323380043139821659552902726833229966908982466315219603342719532453311648476916901025249167808976946487446237806660400140492023027923227483522457743664884621570696574506667699028963254461690692769798082443475050207932950266665314989586958561108389648602643906644756544359195453751219308901387078058815896985368075039639814044039863460947634649238967150108125631362234270745228340635094226425009314316894095944886319045903634068300172982011236196415941019994942644702971561429780299064721316215272577710755951407472229202742907649081738147349797325634180036825142270284819769735882571801668585494975933396282523048059313100224039137349347337300381977246951797043190605331517272327052014466123676455178126677739420704265963422514895883301912503164821642625502334747866090376631346153986823549900831029 3453837071005376175364962993445105297389381253271180744091413855035158418398208421704341373687457501029045248095225629005028786516780166185630810211340588224517737692873172698105783562136203475988218186334764792479244020500296562940526662224836239072676733923199384590550328484078244623236390541826246685187456827708173246438420210178651942004571421226797656969648446690843490086924149137502056744318167801040204205709496571582485767713576313257753577541778725263904877320796913256741514382195262487170659342278086112321977557386576053895291904338531453874758535635216546881031476776285464338151045179685065142383467528116087602974597505221147132761413064950501426197040441771333125261144325574957082695431553298944750348622598093590951554014971946868990432755239865512882904273458753614895683123290579359111437566629684183783802714274944519202937929369997062051008838997512427138471827659089346995805662101318605207420803164850727659295487023092235983386912104252761194685475554266093938430544922003276649986139317255186556068682865378784623238666594494240850782513322820831465217198723422476779694274367784792564030129978898095093159369201120211344475339045851176916442122119524266197769832388382979564256234123232147359661625049551224436241847405566153247664367478979210762569245719159465176188741043483353475553373761316469162891358013848764457314995398864800954226977361357843593146581646075012255031526858671960504571817705520399837898798828848135327100335687502008754016412358240924112305799784642587676621238708371318712278427159918333186745921639813332819356740369982282164512985593361184905917974631443062664997942599542681398862318691356750998448975582106723980596945282177882096429648059908886109101854452858342715085492081784599967806600031053320845727949637500961714820303927900383357320464408725403042436811755096456579363699309517296760974467253874801948632145073399155620924990237490027100281215241383245791137165924095767067318843939174831189072828250349709011428025943006880870692078299961821741014772029707531987907514457105080197861694698255163518278580014395737707333142833744086509097775922094089795539600571944854310307771100246619080597372994169160833088580465664501523889888236704967003598561495035153967660727378063727701194808981654487824531636576240847208228414267027519005044791380078475465588468191511003769588291082013120687567833726461165793380310449178950569908564573644585977360650202987378593547399146222772666127277237548068986002766021384072727741673758971816768624483009234076866108608478098789546305952338437673755668979543496973257928149511778744909970870095810857535644904484472383755713706521014075225445236692222959757035941323405808492563780507543943426296995659318656863320438258265981593222825655587084053506671390142173963067079474336180822373502697020384205935996090116387146837142950349344128146731097268075644698043352217998528991860221160426855218029090038469596554289381810422173775302674868730041075550400467746451403236127765886262759824254643145477101146003237043414353054944085103636514572386955512768084070680897197022212078997693866928744254172006502827224977522112782717211223644154030846652250651138530945231517881404660908505493495973302449649018558671303557623376289308260934497635106035534256413550666727548321195552731007750481470856843868345257416659165569392639805642301090091104933541466216057063764822200459959465440205698962783412865166274485358486189260183517550234780523823064817393806325102358126638510758959826614210023487678277991584580936647094621186108882775392077640313270879514080371624111864222224193352207703676334245936243221161570167029566140055405468264325529606289628724464037802241406483364956040849235699389098035227951542207031286694477699161617997716032685473699291560331269547423791323496010981310601825680581691167319503328668896642749818912537797409799969394364325966570428682095518203204338297240195587292330318180858283251479214827935589482604464737199327047 5588425772491082608550909794736209446161986934204436040000456120860392079172571053246001093590843251351494932593350160539593327298509862512566097023651160720677476421285318262322544709065216952988665614915769147792274361039271343289190104963858576970050508162570324467042564641719722001427609316431345355357659026033330272365010321228108574095635548736961039957653618932044667215918645774672686939970303670733698163653801654852370345229269131502269260741350456692810933982627784848191545018604587924761930674137831016575467967747010374291427364244709159916156789190625624480479505504425928926642197081855555688978377933834846279277767568274421548242497410483237840044549166942721123628794447437015091634355048873452497067785319578526990101640012560677465707560565906129338698401598297831727667264227932022573014581068550634675448553043670150024223524451698472823527987749745944725688595274548759027497930511537873917057451185161679386218209375311759299958904038895675854729643901208200755893149339608295916844282534391498260255028119493571741005487324511305817360490844469414121923867999369518253309536127591231327809242644162603768638626857892484520840481290763585405445364146366567131356765932354958818549667861881027707992791624747675810687452440607790881794362768614927838162297341311307619496988140159833439447329095990305805145410797930933064852525195598187809132671775836343005756865202368076684421160362264377960502935291584748970320773348816703688271374225760396077696768129273170733960226530224931229554093590766798743293892127789448585892452135440891911993909955277538964093125429176857880884577376860508385227357794369346500832112311542538379971065901213752194855975668050604386376386225081292955149838700817595048323871106272896896062223924253731404598648818319092204348674021084722562525128265035974361774295228634585092124416015598780083671446095144994274365137882457432532927261903141668128272614915212103166806919849411856573993603576808649929549500776798559633534095449106890496785231302130568968736171526052859907402189856694071910969242073286922040898059261474268245878675505797482421736864381455634459565791581871349768032914403011821502846706565195655715686902368126929287340981613800597972217984949654361958642991932165630403931507207578805152486801288492781053366178061130763896000579470494207788316757439919708090305635827265477349239305282288844543754282910827906535698142379206120475929867774993676130057505006002681120141417695463413779538040252074626596461057581423419102893431920752352246002629472129700639872090556409626757532655230638966277068354454842244246647930467272125447278051954447279026844487644276674818843478805078809544954153255456621937748444507759439807192032482993861529382503798470701340635247805048367848007521079979720108180482475839191668572480845440820677409900285481961952177712370594202936616660663441753038470836955914771805272887135428716942748899396500345483952594171945507763772697580015683751613343285856714879174257137377017949065931823946693370161771908863922831332395676316963344494169466447755148293796352664448662621570003514976142887797108936581940072499358134557537523974299779556831428368974518574085053177434307387741735460404955768764868621901390836010935024766225161959746802915012480743859788473387948461687575758930977964993314587533229878987355740076060338834605555551781797703339548659532113972755150726624780429792657523891802513768918392003242733619378971301454089425210142876209703310470433166278324802999690075157658136917245141692706568009328891931337223410486304065322585196408176316510430910125858261652380685687570442352184241156512811732537701485185767329046845821562206435219989209713635686107863689930973846738895360862131579032173556979297468897500569517701270968675224956613792595483104423720050118659949162980963668414271300371859501974267091239589811875923645849542452644309849386361481625719234180542108090457151960806360617999345305204566935636591288287100158076 9042262843496458783915872788181314743551368187475616784091869975895550497570779474950342467278300752380540180688575789544622113815290028698196907234991748945195214114158490960428328271201420428976883801250533940271518381539567906229716767188694816042727242085769709057592893125797966624663999858257592040545115853741503518803430531406760516100206969963758696927302065622888157302842794912174743684288471471773902369363298226434856112942845444760022838283129181956715811303424698104933059400799850411932590016415917128897445525133586428186719268583240613790915324825842171361510982280711393264793242261540620831361845461950933882252365073495568681003910475433739266241589608714054248889938773011972174329786602172397247416407917672117941655654984507546456140315805771642221602675057051446623350387518511381684452147698234818459251267318614669227161453821695534874536826747258371864160422933638106023303592612856479124478254350012407045513696398403995283345816143148437049415119455474294694323694261611572566830421851646684816323710984872356364244153919005546668143004167290245587141066722791995033003810495376023891839372623060698861797996059012695865315820336614762321887486265890833329126598320737938382805901985113175067654416674298900246929299846173944129458730247594138600731543060470772795685729183643186915000702857306774968036768811779697522167520594462988763359649137194186598903446848443088939452687220936338465074752997105148808219572177664839015371709913262404831713180487514094846266026314867518906175332299138117455572319287707781772638373775254224731350650325259821128606111022538042786802552008303571050225300393912027899694431002899289378420041483320476175452920950228486482806034284990179064251693153675937763409363188057496863868823955307052250326598455820053919168977948985105919845592673761377404211106983731041671488115325116076844645913349019796222997282955856588153852252140631695228553830156595348957944085773507623641312447515983481118622329027148268644962121392113771367477309602092390709750943555760391895309704313799152108830936771542085559176639275870005953211818339541568930834640303549724255105392153816204078340685503258440583444079559364816548775482833791430811230869850505564975816546444689515926303719310229358105126316189233292977018437864733628261594592328158282901045370850572683253905225631430711859893926909278598036807139008750010337134593360006857105606706952850706453290517977981054723604904152225453786268694933011482765540806273458699324202731340395235871517914929986429112111237950228490186178042894847300513201634774135939534996503966620989156618800563082982982922956438919662782558194165290750044288715497301769301990094578862430430312225015303383233489028142312518392702942056736682933858073460635451901514192470121894071247561950175372490945983542461204883345896375598349099014855320943547064763391760709828683168880308132770334264747356589143797966928486538815080506883553755929937548000254884413792688893686324461330577493265142904211825756078589838847262917912100966245685450620402066981008741853403267916377867033561645684833649001208843071632051280943084767297476880247340254735197943933587678080619625657105030284695315712048650240953900929071214517640460062139568558401055533422894244438021048015000273339140115496782883128489938728446464171431401575136404014905645452978640247856641872902636881014875589177737577351186584245869998356486675215378935192877361728922879562488851688869949033207693603509635572791292916835561959516689367681624595523133277287504656423513117446106185878381705635856075922256688134542774348082455004588389363904688288427462318082978762103841540591235593372375427851835159684027011955042169472819730780209546127993396090083121239204843673775168059118567233733956442374516516945062142906895747216061099970550988661545359581590803700528398617016910152127609285723615243906778610880278068456999828923572477782303677749482278987218901250824520032502525119195753024299485123 14630688615987541392466782582917524189713355121680052824092326096755942576743350528196343560869144003732035113281925950084215441113799891210763004258642909665872690535443809222750872980266637381965549416166303088063792742578839249518906872152553393012777750248340033524635457767517688626091609174688937395902774879774833791168440852634869090195842518700719736884955684554932824518761440686847430624258775142507600533017099881287226458172114576262292099024479638649526745286052482953124604419404438336694520690553748145472913492880596802478146632827949773707072114016467795841990487785137322191435439343396176520340223395785780161530132641769990229246407885916977106286138775656775372518733220448987265964141651045849744484193237250644931757294997068223921847876371677771560301076655349278351017651746443404257466728766785453134699820362284819251384978273394007698064814497004316589849018208186865050801523124394353041535705535174086431731905773715754583304720182044112904144763356682495450216843601219868483674704386038183076578739104365928105249641243516852485503495011759659709064934722161513286313346622967255219648615267223302630436622916905180386156301627378347727332850412257400460483364253092897201355569846994202775647208299046576057616752286781735011253093016209066438893840401782080415182717323803020354448031953297080773182179609710630587020045790061176572492320913030529604660312050811165623873847583200716425577688288689897778540345526481542703643084139022800909409948616787265580226252845092450135729425889904916198866211415497230358530825910695116643344560280537360092699236451714900667687129385164079435452658188281374400526543314441827758391107384534228370308896618279090869182420510071472019401531854493532811733234294330393759931047879560783654925247274139146123517651970069828482370720938797351765985402212365626763612531340714856928317359444164790497362420838314020686779514043773363356826445071807452124751005622919480215306051092792131048171829803946828278496216841220661864262540904222959678487115081813251802711894170493224019800178844829007600074698537344274199090493845339051352571504685005358714671183735687553846373599906270262086290786124560472264462385201918360098571851464306162948034531394343877884946711242394988509057823396812098129505239153226409314960770389289046797045950321066891042221983071350419950199562736544075386046444291038854880888876270834763641304849332056826929220385752974730853662409158228134906410112628474896545078846525533325920663788921818654974411346850738781358113867422358190826050133451256927270734290004774905812064858421463233403266731030355108430201008393366941809402681809567424863132194302380578846944247834319052368060669523062823040681060625306379922085445855207384274493321265683819749521713550101614179428044426014564159518464387902025560755796661080311051192567691537750001380052424151581721639717264047542139537634492017860740715827883039160564459477725701437701320697834900097544302236972181176209751750402519922160891687902536532217424689820964889077017846296719030325502911319851023064671663386226094347455219004723819214519848389879666707369976238381897792259172243713144509508988600175679115337872750019436391976414305884839979386262361452975579493425821758584853991240936060495744133127613503445244570704248869706411457486018934805015391370645721513317474853412193654700340220563535121291710332501913209026299791014010567017892704111269364971656498941460153142959374243350569813212946043224459195160364959206764525339761512768274969994072665752405048783329596364685770958441272330433004644973684473940716656969075051475130640611703474595790494641543025777002922419221249414041594904016221668677855580683420711183392866888756952214700271378400653072636956619136751435227411049741473558854738390000170936111218630500151642509027995862104072387900591284001391717421161647261093449231255190127454818481454642806658324411768206634239793579519250169825237069460755787041311399643199 23672951459484000176382655371098838933264723309155669608184196072651493074314130003146686028147444756112575293970501739628837554929089919908959911493634658611067904649602300183179201251468057810942433217416837028335311124118407155748623639341248209055504992334109742582228350893315655250755609032946529436447890733516337309971871384041629606296049488664478433812257750177820981821604235599022174308547246614281502902380398107722082571114960021022314937307608820606242556589477181058057663820204288748627110706969665274370359018014183230664865901411190387497987438842309967203501470065848715456228681604936797351702068857736714043782497715265558910250318361350716372527728384370829621408671993460959440293928253218246991900601154922762873412949981575770377988192177449413781903751712400724974368039264954785941918876465020271593951087680899488478546432095089542572601641244262688454009441141824971074105115737250832166013959885186493477245602172119749866650536325192549953559882812156790144540537862831441050505126237684867892902450089238284469493795162522399153646499179049905296206001444953508319317157118343279111487987890284001492234618975917876251472121963993110049220336678148233789609962573830835584161471832107377843301624973345476304546052132955679140711823263803205039625383462252853210868446507446207269448734810603855741218948421490328109187566384524165335851970050224716203563758899254254563326534804137054890652441285795046586759917704146381719014794052285205741123129104301360426492279159959969041904758189043033654438530703205012131169199685949341374695210605797181221305347474252943454489681393467650485677958582193402300220974317341117136811148867854704545761817568507577351988454795061651083653225008169470575142597482387890623799871834867835905251845729959200042686629919054934402216313612558729170196509196096668435100646665830933772963272793184586720359703794170608840631766184405058585380275228402801082695091396427103856618498608775612166794158831095096923458338233334433231739850506315350388238058637573643698021598484292376128631115616371093159251337813214280152302312184880620283406144988555082969776575889503757924714285409528702669734865683925288813237868035709790909802721314811727923851077839033393811250430552624346614184139586045391106523677017960037576555362717447329698091321171639574296127208702781131810093489645822673422853583299788865218023469630841620746911556284907533382510903730955785577267313310453588692678807561486379310619652798992025244866520262213890845929261780725210470225105372586681012228176346104227783935924778910845347061362388084222559885531593438091413123964832286604591960875974858174907420909799682348148934342413181482798372894538366206274170088767618898314788387911944067208351394726319271651035906020223508250675606376189936650464447930363230444101693036678660150207423012481297066143444184861410404808597572180312473802381848607004538682756369577975644966361279457367638868698089784511336991130658505637540329243667662826372717443981126371064687607733065855322703296917121097306511653173254290981049530419787740032288868005932662286151899670822751474667453118629238046994370187646732187589608225832784145622568065731485042217368206813911193903902821515115148051826877292007748235678957108510744406466753618942027453832738808434857921657450336380151795385551366966296115101268835527602977101578410710469447909853099793272169789370497242233271639304146726700579378503949004831829323276558263416722581616015752111995926918723453893021386108291408247281577322175918166229435782243067476594297348252689692779516458822023171661557464415379818929039165792678769256745384566368238515791596677265876754588043233623720025053503151491392938994882153042297821510583244326847805015737703985169183853424257990503916881296895918152172318601051140304054387577452907772916299208300911543845030447370876337356009866070405523275481283566379136106715445956116518780798420500994345269571985874982794335699128322 38303640075471541568849437954016363122978078430835722432276522169407435651057480531343029589016588759844610407252427689713052996042889811119722915752277568276940595185046109405930074231734695192907982633583140116399103866697246405267530511493801602068282742582449776106863808660833343876847218207635466832350665613291171101140312236676498696491892007365198170697213434732753806340365676285869604932806021756789103435397497989009309029287074597284607036332088459255769301875529664011182268239608727085321631397523413419843272510894780033143012534239140161205059552858777763045491957850986037647664120948332973872042292253522494205312630357035549139496726247267693478813867160027604993927405213909946706258069904264096736384794392173407805170244978643994299836068549127185342204828367750003325385691011398190199385605231805724728650908043184307729931410368483550270666455741267005043858459350011836124906638861645185207549665420360579908977507945835504449955256507236662857704646168839285594757381464051309534179830623723050969481189193604212574743436406039251639149994190809565005270936167115021605630503741310534331136603157507304122671241892823056637628423591371457776553187090405634250093326826923732785517041679101580618948833272392052362162804419737414151964916280012271478519223864034933626051163831249227623896766763900936514401128031200958696207612174585341908344290963255245808224070950065420187200382387337771316230129574484944365300263230627924422657878191308006650533077721088626006718532005052419177634184078947949853304742118702242489700025596644458018039770886334541314004583925967844122176810778631729921130616770474776700747517631782944895202256252388932916070714186786668221170875305133123103054756862663003386875831776718284383730919714428619560177093004098346166204281889124762884587034551356080936181911408462295198713178006545790701280632237349377217722124632484629527411280228178421942206720300210253207446097019346584071924549701567743214965988635041925201954555074555095096002391410538310066725173719386895500733492654785600148431294461200100759326036350558554351392806030219671635977649673560441684447759625191311771087885315798964756025651808485761077700253237628151008374572779117890871885609233377271696197141795019335123241962982857489236028916171186446891516133106736376495137271492706465338349191774131551760293052382366748808900027590827720098912345901676384388216405616964360311731289483930516430929722468681723599088920189961275855698499324525351165530309184032545820340608631463991828338972794944871838278309797361155054670214783685751159126220809547455963152262623793199843324973225653546401363557784425599770553104102062926995878590247500535166433564061429029314851149392925278236873833767151451482844715992003091400557619570325122430103650802204500809982912318265256004857489697758971201399990704019047067523496609012992126448314836227854613340016340624865279398584252617136209425839005158805340189395924684608881293367630686813750080994070182748533609131883662903282112297554030744399721143213840127632014564493105314045721193806013834379744087010656481500671748060702418182037429357011135839253542431359876697098596826008463260960440815750921434193782512698751173290165182968090727545252699050592602226919893169006488539594367122387272024536987678141269379143469271185167186756197088479613589954681029182303317322141945831761158242355013002298469580384507809251164343415416091672235877445409157974788697519908833229935527659240211307156291877930218418361147621059683217275649987928323215012765378607753247552738620583122697424490143295963888318526539466854949569650869267274559751386927592145241438210817926679918349492059455292397880634186572202576331861770909994512521781961644979920441972356840736604411264473999464062771619686896089088283537231551291946563415573315011845304199799584912935562451609018137430805241121260532978093962738209185794431127214162750758574377939751164170506641446630769835647098771521 61976591534955541745232093325115202056242801739991392040460718242058928725371610534489715617164033515957185701222929429341890550971979731028682827245912226888008499834648409589109275483202753003850415850999977144734414990815653561016154150835049811123787734916559518689092159554148999127602827240581996268798556346807508411112183620718128302787941496029676604509471184910574788161969911884891779241353268371070606337777896096731391600402034618306921973639697279862011858465006845069239932059813015833948742104493078694213631528908963263807878435650330548703046991701087730248993427916834753103892802553269771223744361111259208249095128072301108049747044608618409851341595544398434615336077207370906146551998157482343728285395547096170678583194960219764677824260726576599124108580080150728299753730276352976141304481696825996322601995724083796208477842463573092843268096985529693497867900491836807199011754598896017373563625305547073386223110117955254316605792832429212811264528980996075739297919326882750584684956861407918862383639282842497044237231568561650792796493369859470301476937612068529924947660859653813442624591047791305614905860868740932889100545555364567825773523768553868039703289400754568369678513511208958462250458245737528666708856552693093292676739543815476518144607326287786836919610338695434893345501574504792255620076452691286805395178559109507244196261013479962011787829849319674750526917191474826206882570860279990952060180934774306141672672243593212391656206825389986433210811165012388219538942267990983507743272821907254620869225282593799392734981492131722535309931400220787576666492172099380406808575352668179000968491949124062032013405120243637461832531755294245573159330100194774186707981870832473962018429259106175007530791549296455465428938734057546208890911808179697286803348163914810106378420604558963633813824672376724474243905030533963938081828426655238368043046412583480527586995528613054290141188415773687928543048310343355381760147466137022125412893307889528327742241916853660454963232356960539198755091139077976277062410077571193918577374163772834503695118215100291919383794662115524654224335514695069695802170725327667425760517492411049890938121273337941918177294093929618795736687072410665507447572347643681737426102568902880342552593189146484468071495824183706193228592664346039634476400476912683570386542028189422231753610890616585316935815532518005135127961901871893694242193214886302008197035779135312291767727751447655166318152123517376410396829446246436666269870412189202298564078167531552850506486143465382838606139562596596506187583197631678523037794217231291256448938057940150993324433759283774677974013901745275144812932660682017964806458599795235589021238160544176551662221679095518691196110718322363051593525590548630680779257178394437460447360248628486448959182734437631351607413716500344133666940793874402531256912408408167087142398189231869818081340622195111854392200284616172979058094014469120218284498289192451290410237737845574906326575864789274346799905287096599722424440130961224938526217666359605026770724225801574412032955016589143786823647731525169656704882475640373886247912619006608884688205051841247406583008881482406476411150719512662367194068004483205875597079576342600350462598850277517232946061120741329299478369726486576127300800919607565318982141748455445909705055949864709906294423720356542230606152208112795570639369755005051484435982719562818372815255949358162806618020796467096646658109275255963419152218796653672311382533729351091464557227310104241381242201160850820724147035968835812390204006602117987059980084003882234768498690035059953329008132312158513479954002414603945795104080102688916117905687689723693969270856653063036810343292544889306768246988094544721773595117898257454566688500983792007240455855832602432250617803150767919618220499007885824479407482056389013768161250987330938501369444021775564930537842660118867277355176360252158515776213432505752629982797899843 100280231610427083314081531279131565179220880170827114472737240411466364376429091065832745206180622275801796108475357119054943547014869542148405742998189795164949095019694518995039349714937448196758398484583117261133518857512899966283684662328851413192070477499009294795955968214982343004450045448217463101149221960098679512252495857394626999279833503394874775206684619643328594502335588170761384174159290127859709773175394085740700629689109215591529009971785739117781160340536509080422200299421742919270373502016492114056904039803743296950890969889470709908106544559865493294485385767820790751556923501602745095786653364781702454407758429336657189243770855886103330155462704426039609263482421280852852810068061746440464670189939269578483753439938863758977660329275703784466313408447900731625139421287751166340690086928631721051252903767268103938409252832056643113934552726796698541726359841848643323918393460541202581113290725907653295200618063790758766561049339665875668969175149835361334055300790934060118864787485130969831864828476446709618980667974600902431946487560669035306747873779183551530578164600964347773761194205298609737577102761563989526728969146736025602326710858959502289796616227678301155195555190310539081199291518129581028871660972430507444641655823827747996663831190322720462970774169944662517242268338405728770021204483892245501602790733694849152540551976735207820011900799385094937727299578812597523112700434764935317360444165402230564330550434901219042189284546478612439929343170064807397173126346938933361048014940609497110569250879238257410774752378466263849314515326188631698843302950731110327939192123142955701716009580907006927215661372632570377903245942080913794330205405327897289762738733495477348894261035824459391261711263725075025606031738155892375095193697304460171390382715270891042560332013021258832527002678922515175524537267883341155803953059139867895454326640761902469793715828823307497587285435120272000467598011911098596726136101178947327367448382444623423744633327391970521688406076347434699488583793863576425493704538771294677903410514331388855087924245319963555361444335675966338672095139886381466890056041126632181786169300896810968638374510966092926551866873047509667622296305787937203644714142663016860668065551760369578581509360332931359587628930920082688365864157052504972825592251044235330679594410556171040653638481444305415848161434194389523344367518836254005973482698816818439126758247817035890856647941408931022016651448042727575927138630278982486610479043653194126903050962476424688784795940826537893276354346282347665313804007179134486190056841024491099773911283593697394687991543709374448527118003808202140691522908182553131240022661224264903872387553469454788536055446246970174040826710325454452151145160873753110882907980598938270430272566893742453816672432196602553007404420519391201190437402887394657705227244636021700482414529856735097479924874812248063818039289774978319247489939153729099577865919879265040491231808028323439935707748452177628912202841127344122145583344801352570540782159464919072491918031815408791777042027245625287495395792227587838742311832651509725501455050366485581786801877849710667543449697233327910604933232211413540484233187451296603142332275393192952689518743446523721485655487863716571502906714164717396679944388878750486168897945543925523295010630893892209611745862302373991764394563125797869108950139512860735600326134978910045051133394767320781406718316375929876593636934496174726308510674583890729743681350410774681832877298032564596254966539458573971699774589418935087628496745413950948298610543349089718068340904327227888759519239750658721392213232530625713453572162144208515786321876295896545602718423973031322865074506534286688688960451385458378006382372256918629460120670688096328739393064153724197181218724082931463524698807470737414969933665407151198966492108591471479463406759984750724968969874281618035929554300003322686282854879136522465629896671364 162256823145382625059313624604246767235463681910818506513197958653525293101800701600322460823344655791758981809698286548396834097986849273177088570244102022052957594854342928584148625198140201200608814335583094405867933848328553527299838813163901224315858212415568813485048127769131342132052872688799459369947778306906187923364679478112755302067774999424551379716155804553903382664305500055653163415512558498930316110953290182472092230091143833898450983611483018979793018805543354149662132359234758753219115606509570808270535568712706560758769405539801258611153536260953223543478813684655543855449726054872516319531014476040910703502886501637765238990815464504513181497058248824474224599559628651758999362066219228784192955585486365749162336634899083523655484590002280383590421988528051459924893151564104142481994568625457717373854899491351900146887095295629735957202649712326392039594260333685450522930148059437219954676916031454726681423728181746013083166842172095088480233704130831437073353220117816810703549744346538888694248467759289206663217899543162553224742980930528505608224811391252081455525825460618161216385785253089915352482963630304922415829514702100593428100234627513370329499905628432869524874068701519497543449749763867109695580517525123600737318395367643224514808438516610507299890384508640097410587769912910521025641280936583532306997969292804356396736812990215169831799730648704769688254216770287423729995271295044926269420625100176536706003222678494431433845491371868598873140154335077195616712068614929916868791287762516751731438476161832056803509733870597986384624446726409419275509795122830490734747767475811134702684501530031068959229066492876207839735777697375159367489535505522671476470720604327951310912690294930634398792502813021530491034970472213438583986105505484157458193730879185701148938752617580222466340827351299239649768442298417305093885781485795106263497373053345382997380711357436361787728473850893959929010646322254453978486283567315969452780341690334151751486875244245630976651638433307973898243674932941552702556114616342488596480784678104223358783042460420255474745238997791490992896430654581451162692226766454299607546686793307860859576495784304034844729160966977128463358983378198602711092286490306698598094168120663249921134102549479415827659124755103788881594456821398544607301992727956918901066136438745593272407249372060890732783976966712394658472329420708147700215675913703120447323794026952348182624375692856586188334803571560103986323968076525419152880349455842396425467129130007977539291282084291920731882493908878944171501387204810813009227851058255782356222849341533848388012425302993149126501131905553477285504455568864571096046481261019500492893625714013631340198277125342488865236937428647817503744670751422383791662165158993375730877632815522228902775855166634233904614818137019735334857378196761797188962139653044188787624812719088604915561265497007359918210239574391151298305583953622849317862364209071716330901469545873898346262283613241451975712108128223943844570023475762577509066999825824524099262642257616983203809997043834769074319043523752757495447194308291883611749367669373094466475006929690958074126458578715734387016083951724075907678301191934502478739411851735793303152117593724040954431716608605045870981276440651293523980745308486315805151039693999371433000066580758602115906169582658916222370546771238593439748319894517912220036308854541728417866389344125483588024739112843026523251746209752138145460729471237563041126215079761866146390104608136805977497167700309394695846810558254747477832503347531938008278694547231324486567030939387181217767651551909172201346215647134571508557652264833124633692009566019590514873575077036068133208367051423593456935948545930180151601500270514373196148621654480103569195248896756156447799021874850851081745197815356561894377415721796164967127743095922409980832850781760315655506812534400485313284730660255481202059068311642275095612694571207 262537054755809708373395155883378332414684562081645620985935199064991657478229792666155206029525278067560777918173643667451777645001718815325494313242291817217906689874037447579187974913077649397367212820166211667001452705841453493583523475492752637507928689914578108281004095984113685136502918137016922471097000267004867435617175335507382301347608502819426154922840424197231977166641088226414547589671848626790025884128684268212792859780253049489979993583268758097574179146079863230084332658656501672489489108526062922327439608516449857709660375429271968519260080820818716837964199452476334607006649556475261415317667840822613157910644930974422428234586320390616511652520953250513833863042049932611852172134280975224657625775425635327646090074837947282633144919277984168056735396975952191550032572851855308822684655554089438425107803258620004085296348127686379071137202439123090581320620175534093846848541519978422535790206757362379976624346245536771849727891511760964149202879280666798407408520908750870822414531831669858526113296235735916282198567517763455656689468491197540914972685170435632986103990061582508990146979458388525090060066391868911942558483848836619030426945486472872619296521856111170680069623891830036624649041281996690724452178497554108181960051191470972511472269706933227762861158678584759927830038251316249795662485420475777808600760026499205549277364966950377651811631448089864625981516349100021253107971729809861586781069265578767270333773113395650476034775918347211313069497505142003013885194961868850229839302703126248842007727041070314214284486249064250233938962052598050974353098073561601062686959598954090404400511110938075886444727865508778217639023639456073161819740910850568766233459337823428659806951330755093790054214076746605516641002210369330959081299202788617629584113594456592191499084630601481298867830030221754825292979566300646249689734544934974158951699694107285467174427186259669285315759286014231929478244334165552575212419668494916780147790072778775175231508571637601498340044509655408597732258726805129128049819155113783274384195192435612213870966705740219030106683333467457331568525794467832629582282807580931789332856094204671828214870295270127771281027840024638130981279683986539914737000632969715458762233672423619499715611909812347187246753686023871569960320978451049580127584979001154231745730849301764313060887853505196148632138400906784181816696939544401706189158612519938886450552274769384073481023634265517210351455019602831562251106706804401639490828499495590552370180092484402228076078025118458625158848255161291836815191211989947495417907899280273455996760625127545782700416846702523575028249909361679426195978477047124227286503922243765396766013267483086128734332571589459039277764138973271955895815912296136902545073139592314001307905382415971356592527598830836457622222557539126536047815599649191846667366897680210488107227248945340013041190371819607982028278864166129617553073892776578417440230128950981371392701353902221786197991361693629604624310969351287966715606820563930079607781985289443171754560289432391995587039071080394361814439315980345334189506140943393337250822719739580048261808807540668741669908275949062297621017183935489448162534379385799081881744127128986255841636337170564675917372096468762442484183154816010920660689697365066291319937639543296956295077211652494325517915444961290214134941334364391308857270034030772955636634989520638462917522738892804369431457429218956399845383144248312871769240145821453770869896430172640828222981906169370573752134239767968667546585147673682565461000092945888956577305090580414204635371843714409106527170791659830922738428879665197222011224426977333149478331442315487060476293501009099456073441557957880145624908997315638529607882642771291825608742325168199897934641960909880644980240598933782545269896622827299309347349387203316166094235204513881460296257541745066380475782408682103349214284960258803888341923190778797561242591242571 424793877901192333432708780487625099650148243992464127499133157718516950580030494266477666852869933859319759727871930215848611742988568088502582883486393839270864284728380376163336600111217850597976027155749306072869386554170007020883362288656653861823786902330146921766052223753245027268555790825816381841044778573911055358981854813620137603415383502243977534638996228751135359830946588282067711005184407125720341995081974450684885089871396883388430977194751777077367197951623217379746465017891260425708604715035633730597975177229156418468429780969073227130413617081771940381443013137131878462456375611347777734848682316863523861413531432612187667225401784895129693149579202074988058462601678584370851534200500204008850581360912001076808426709737030806288629509280264551647157385504003651474925724415959451304679224179547155798962702749971904232183443423316115028339852151449482620914880509219544369778689579415642490467122788817106658048074427282784932894733683856052629436583411498235480761741026567681525964276178208747220361763995025122945416467060926008881432449421726046523197496561687714441629815522200670206532764711478440442543030022173834358387998550937212458527180113986242948796427484544040204943692593349534168098791045863800420032696022677708919278446559114197026280708223543735062751543187224857338417808164226770821303766357059310115598729319303561946014177957165547483611362096794634314235733119387444983103243024854787856201694365755303976336995791890081909880267290215810186209651840219198630597263576798767098630590465643000573446203202902371017794220119662236618563408779007470249862893196392091797434727074765225107085012640969144845673794358384986057374801336831232529309276416373240242704179942151379970719641625685728188846716889768136007675972682582769543067404708272775087777844473642293340437837248181703765208657381520994475061421864717951343575516030730080422449072747452668464555138543696031073044233136908191858488890656420006553698703235810886232928131763112926926718383815883232474991682942963382495975933659746681830605933771456271870864979870539835572654009166160474504851922331258948324464956449049283792274509574035231396879542887512532687791366079574162616010188807001766594340263062185142625829287123276414056856401793086869420849714459291763014905878441127660451554777799849594187429577706958073132811867288047357585468137225566086881416115367619178840289026360252549406404834526223059333774346301721732256105399327122103398686258591162935548575074783329820792371177955337986977837309222492379767367360109410379357041342164040236008316578416800760504645758957536055812219609966661394170712842149695672701529381814915156711700434045911695323332985183263265889659638981496717468932609696931947904514701567621089459640486663718520694207238298585689732185538197938200259368382765465070362237040694558861870905193796410989035629506550724399275732039968033944928602455868826967900238518438557280915858657846399427735302594338022697702294170899776120132460274974935081580336419097575231811285630296326507588674781811113967271017202547049375199397036114915163436133482839733102829636700449235276949000190389112674514736815737231626815796366854664796684637101135659565355840835571320301560621155978864779558993753930894605630349088705073808313465459595467304444641435005851382096470977333542668389295143792411096441424085027620206436505488105602984748605589928548685175672943844062366880783912083018287957456196542061982923097129354000451017229969617059016811996111509934506974613086514306176551249301940077363363393395705928430043293503440477826964855999637811738691202402783101590324294822343569003124084644526799768730568876691810457783170341008335077575349868578045167589281808609381473602560857543245818681209382913285665021757363979648303467129890857666037092779262473784633627015094438183861203724765108999481133221978300436291441129108323505382035982594943082588662499015620514285090400991502421072656855285813778 687330932657002041806103936371003432064832806074109748485068356783508608058260286932632872882395211926880537646045573883300389387990286903828077196728685656488770974602417823742524575024295499995343239975915517739870839260011460514466885764149406499331715592244725030047056319737358712405058708962833304312141778840915922794599030149127519904762992005063403689561836652948367336997587676508482258594856255752510367879210658718897677949651649932878410970778020535174941377097703080609830797676547762098198093823561696652925414785745606276178090156398345195649673697902590657219407212589608213069463025167823039150166350157686137019324176363586610095459988105285746204802100155325501892325643728516982703706334781179233508207136337636404454516784574978088921774428558248719703892782479955843024958297267814760127363879733636594224070506008591908317479791551002494099477054590572573202235500684753638216627231099394065026257329546179486634672420672819556782622625195617016778639462692165033888170261935318552348378808009878605746475060230761039227615034578689464538121917912923587438170181732123347427733805583783179196679744169866965532603096414042746300946482399773831488954125600459115568092949340655210885013316485179570792747832327860491144484874520231817101238497750585169537752977930476962825612701865809617266247846415543020616966251777535087924199489345802767495291542924115925135422993544884498940217249468487466236211214754664649442982763631334071246670768905285732385915043208563021499279149345361201644482458538667617328469893168769249415453930243972685232078706368726486852502370831605521224215991269953692860121686673719315511485523751907220732118522223893764275013824976287305691129017327223809008937639279974808630526592956440821978900930966514741524316974892952100502148703911061392717361958068098885531936921878783185064076487411742749300354401431018597593265250575665054581400772441559953931729565729955700358359992422922423787967134990585559128911122904305803013075921835891702101949892387520833973331727452618791093708192386551810958655752926570055145249175062975447786524975871900693534958605664726405656033482243517116421856792381616163186212398981717204516006236374844290387291216647026404725321542746171682540566287756246129515618635465510488920565326369104110202152632127151532021515098778300643767557162685959227364557598137349121898529025079071283030048253768525963022105723299796951112593993138742998220224898576491116329586422961387620609037713610765767110826181490134222431862006454833577530207489314976781995443438134528837982200190419201527845131769628790708000063666856816329268216370591788939953413258996398196276557631724276836137896412522958819550619489105507031286425652248979803597666942268521406943792465706594361415536302576014657596752311438178003733493443580354171615960910364295906819859263252097988406953009396060180882296873448404609763839267216979284941643646240646575882266797302723410533411731739176006152742824466973679073686872253678341918658266336628711184960730066926519778001237116890437668282563796403410442771762836481767194984075185995557797947922155713448163826206590178670286251013108852254562998624544772295557466275130613858982258118319595054804003369950706100642502900105993765814835390268065170306266460801542570755949642750283315365302124703216448387790914973085965345590221004063590766942000472581496650640429439967376057462859962579458131309578833583005343701434821911092326887653971280939322942512498248763888999209762880470582866007940107147802836068420475547125001436179845332030939980853602112608754503533423715921433304728392152895837774626815999430821993135228834046823073406464965952580101118787790932648672450650564635826162079054267045355250167339353748185766540561457210817265556056956847366106304816503365064532818575917737759503072718416172284991061011160513072114496202797299316213504950172901425365865250448416458377351764692011713300580773088978742914693199870218097877056349 1112124810558194375238812716858628531714981050066573875984201514502025558638290781199110539735265145786200297373917504099149001130978854992330660080215079495759635259330798199905861175135513350593319267131664823812740225814181467535350248052806060361155502494574871951813108543490603739673614499788649686153186557414826978153580884962747657508178375507307381224200832881699502696828534264790549969600040662878230709874292633169582563039523046816266841947972772312252308575049326297989577262694439022523906698538597330383523389962974762694646519937367418422780087314984362597600850225726740091531919400779170816885015032474549660880737707796198797762685389890180875897951679357400489950788245407101353555240535281383242358788497249637481262943494312008895210403937838513271351050167983959494499884021683774211432043103913183750023033208758563812549663234974318609127816906742022055823150381193973182586405920678809707516724452334996593292720495100102341715517358879473069408076046103663269368932002961886233874343084188087352966836824225786162173031501639615473419554367334649633961367678293811061869363621105983849403212508881345405975146126436216580659334480950711043947481305714445358516889376825199251089957009078529104960846623373724291564517570542909526020516944309699366564033686154020697888364245053034474604665654579769791438270018134594398039798218665106329441305720881281472619034355641679133254452982587874911219314457779519437299184457997089375223007764697175814295795310498778831685488801185580400275079722115466384427100483634412249988900133446875056249872926488388723471065779610612991474078884466345784657556413748484540618570536392876365577792316582278750332388626313118538220438293743597049251641819222126188601246234582126550167747647856282877531992947575534870045216108619334167805139802541741178872374759126964888829285144793263743775415823295736548936840766606395135003849845189012622396284704273651731431404225559830615646456025647005565682609826140116689246004053599004629028668276203404066448323410395582173589684126046298492789261686698026327016114154933515283359178985038061168039810527995985353980498438692566400214131301955651394583091941869229737203797602454418453003301405454028171319661805808356825166395574879522543572475037258597358341415040828395873217058510568279192473069876578150237954986740392917300497369465425396479483997162304637369911464369136145141862394749660049500518998827664966057553999244878212848585691822288509724007723972201928702659401256273464043224233184410171564508044798537469161762810798243939217339241532583241763853448348045591468504709425814352385080435980558450334124126101146093868978087013539191992849596846568870514873952474288770297176085291230476521066599551965453354848307167274215450875176789239733178290959549736763693465678981778292371875329293129760977182096303946656850277858203192471169917926379999129009039571307185013229870246102109473543782505315741280691449270389585575433888045418804996376775981043153454462051118541311563792765297149164501751589286867413216945256957345607517377713788965383531142394381111300910721234081404995446550993462907039413947235251203497964929077735440282003922373262641985278655666895219455254620159844205522026402203124056084858545373829144198959775936615549506616379069415102345750619809943559709067830484261892306628633734885364796474687208366085500201703087145917545570360806068449891128143306982522677645372224485346904929380284343850513342922246039641852249214906229179379939487394862119450041654777449154934781723676250738119922695394333376559530542652048006973901542886289304366203891587040177409917589755116815478797837170907717933264734683148977810598248715819013458985642211176030657099434634637058776720827350746624083807275892026648469342621869123470284464806832194423676241954830538765546503049799300085499195021716796879605202278432538191805386464342554474188755830452440972294847280674212316201287374069143906195620942874953162870127 1799455743215196417044916653229631963779813856140683624469269871285534166696551068131743412617660357713080835019963077982449390518969141896158737276943765152248406233933216023648385750159808850588662507107580341552611065074192928049817133816955466860487218086819596981860164863227962452078673208751482990465328336255742900948179915111875177412941367512370784913762669534647870033826121941299032228194896918630741077753503291888480240989174696749145252918750792847427249952147029378599408060370986784622104792362159027036448804748720368970824610093765763618429761012886953254820257438316348304601382425946993856035181382632235797900061884159785407858145377995466622102753779512725991843113889135618336258946870062562475866995633587273885717460278886986984132178366396761991054942950463915337524842318951588971559406983646820344247103714767155720867143026525321103227293961332594629025385881878726820803033151778203772542981781881176079927392915772921898498139984075090086186715508795828303257102264897204786222721892197965958713311884456547201400646536218304937957676285247573221399537860025934409297097426689767028599892253051212371507749222850259326960280963350484875436435431314904474084982326165854461974970325563708675753594455701584782709002445063141343121755442060284536101786664084497660713976946918844091870913500995312812055236269912129485963997708010909096936597263805397397754457349186563632194670232056362377455525672534184086742167221628423446469678533602461546681710353707341853184767950530941601919562180654134001755570376803181499404354063690847741481951632857115210323568150442218512698294875736299477517678100422203856130056060144783586309910838806172514607402451289405843911567311070820858260579458502100997231772827538567372146648578822797619056309922468486970547364812530395560522501760609840064404311681005748073893361632205006493075770224726755146530106017182060189585250617630572576328014270003607431789764217982753039434423160637591124811520949044422492259079975434896331130618168590924900421655137848200964683392318432850303747917439624596382161363329996490731145703960909961861574769133660711759636531920936083516635988094337267557769304340850946941719803838829262743390592622101054576044983348554528507706961862635768673088093672724107847261980367197499983419211142695430724494584975356450881722543903078876527861927063562745601382526187383708652941512622904671104884500472959846451631592820803709055774224143454703964915278245249897344616761685812694469770227437763598265656095190865005142038252287852445943758254236378468055321441723002443291698580117674382176504773092671168714348652351150239274077539360142492065254644645263468828987493259091829334424571963394277328462510943479456324664266494233974761792099632980809812290713091815747835887711861174941697199172425358646543491290203494056884001955567198754838684811212588531350800223253447533618803410574401992514811889748350120119664772113044004101982682121324751440040788243271970055849667915407132803969776807648192503950257879231428271367288104530107382925239909403920788156560728220012909589365186486906279032029327151159999157289113629592617521502216606817183640734064826776217930728917115892514649153337774849674963847575472732502845626956190852311188664534467024946242882010308158949825364745096033935175245684412284278872052807279714599080475585800538277975308085972783199737786346985537736863531309853707601438292101511228377568186781726840472611231504484623861568982154350497978795228389142819957977728127390148802580285223355257270801252174299768027425273357413132655260802510507325258807722609094596044482877952036733589185938808614026671217730791339729700635729078929386039648467685909636206847002192736153701679992308944060181098932390624368733102843914025399578716489576589281310197258956494817872568298268619221465971585076560206182229868994101405075731854405310336637243979840054006278868899349646611972685925616782060463047886820888820813093051039926476 2911580553773390792283729370088260495494794906207257500453471385787559725334841849330853952352925503499281132393880582081598391649947996888489397357158844648008041493264014223554246925295322201181981774239245165365351290888374395585167381869761527221642720581394468933673273406718566191752287708540132676618514893670569879101760800074622834921119743019678166137963502416347372730654656206089582197794937581508971787627795925058062804028697743565412094866723565159679558527196355676588985323065425807146011490900756357419972194711695131665471130031133182041209848327871315852421107664043088396133301826726164672920196415106785458780799591955984205620830767885647498000705458870126481793902134542719689814187405343945718225784130836911366980403773198995879342582304235275262405993118447874832024726340635363182991450087560004094270136923525719533416806261499639712355110868074616684848536263072700003389439072457013480059706234216172673220113410873024240213657342954563155594791554899491572626034267859091020097064976386053311680148708682333363573678037857920411377230652582222855360905538319745471166461047795750878003104761932557777482895349286475907619615444301195919383916737029349832601871702991053713064927334642237780714441079075309074273520015606050869142272386369983902665820350238518358602341191971878566475579155575082603493506288046723884003795926676015426377902984686678870373491704828242765449123214644237288674840130313703524041351679625512821692686298299637360977505664206120684870256751716522002194641902769600386182670860437593749393254197137722797731824559345503933794633930052831504172373760202645262175234514170688396748626596537659951887703155388451264939791077602524382132005604814417907512221277724227185833019062120693922314396226679080496588302870044021840592580921149729728327641563151581243276686440132712962722646776998270236851186048022491695466946783788455324589100462819585198724298974277259163221168443542583655080879186284596690494130775184539181505084029033900960159286444794328966869978548243783138273076444479148796537179126322622709177477484930006014504882945948023029614579661656697113617030359628649916850119396292918952352396282720176678923601441283681196393894027555082747364645154362885332873357437515291216660568709982705205603395408025895856636269653263709916967654851934601119677530643471793828359296528988142080866523349688346022852976992040816246746895222619895952150591648468675113328223388332916813500970067538407068624485658014623172429628694037062308880328375275176706546297086389915105521065034622407272660683255585685055552028465719973645009482518485521099429088331708689608201665461288585934232731658802660821837090105660699849298524437683047625638596234709932845730866046199428116640406800255025263165889881055481014178671410911705390664851407136938915366619496623817861184051871145411688962669415781002520718149633446662627842981881587005744682135850459593663447277428785284793431952510910326873928833662076966432625648958560587266020895348959756296715555028395930022956574971943324328182197255011438165870349693603544051983746297787817000266110732146606550150752020669006564756753420104782112718469505108780140303991559101171170316048557230104295123691780994758905048751012275710856562493678665984722179497559814775328894779847441784554985189244121352109356314699586343232815360950597012965183674171472984902824932264531108097669599759744835744745274624188873749792672128631769852895575354997966783815021796202747193701457568522759445372590246840190457357734378290038994477502912419690722819606733972663197912850517481226801694011913460799936069918129446651178941055624092824508388638509272994435318878056739984288364286699368621849058178223393253136314629367720781008449679014708176008994870562494742200585613046873746117029453380171059827398837034165724515770885162059401203946665873706607354164392597115723101586534314242762109321340321941459253360137932983347837117030727084441755968004202796603 4711036296988587209328646023317892459274608762347941124922741257073093892031392917462597364970585861212361967413843660064047782168917138784648134634102609800256447727197230247202632675455131051770644281346825506917962355962567323634984515686716994082129938668214065915533438269946528643830960917291615667083843229926312780049940715186498012334061110532048951051726171950995242764480778147388614425989834500139712865381299216946543045017872440314557347785474358007106808479343385055188393383436412591768116283262915384456420999460415500636295740124898945659639609340758269107241365102359436700734684252673158528955377797739021256680861476115769613478976145881114120103459238382852473637016023678338026073134275406508194092779764424185252697864052085982863474760670632037253460936068911790169549568659586952154550857071206824438517240638292875254283949288024960815582404829407211313873922144951426824192472224235217252602688016097348753147506326645946138711797327029653241781507063695319875883136532756295806319786868584019270393460593138880564974324574076225349334906937829796076760443398345679880463558474485517906602997014983770148990644572136735234579896407651680794820352168344254306686854029156908175039897660205946456468035534776893856982522460669192212264027828430268438767607014323016019316318138890722658346492656570395415548742557958853369967793634686924523314500248492076268127949054014806397643793446700599666130365802847887610783518901253936268162364831902098907659216017913462538055024702247463604114204083423734387938241237240775248797608260828570539213776192202619144118202080495050016870668635938944739692912614592892252878682656682443538197613994194623779547193528891930226043572915885238765772800736226328183064791889659261294461044805501878115644612792512508811139945733680125288850143323761421307680998121138461036616008409203276729926956272749246841997052800970515514174351080450157775052313244280866595010932661525336694515302346922187815305651724228961673764164004468797291289904613385253867291633686091984102956468762911999100285096565947219091338840814926496745650586906857984891189348795317408873253562280564733433486107490630186510121700623571123620643405280112943939784486649656137323409628502917413840580319300151059889748662382706813052865375775223395840055480795959140641462239827291052001400074546550670356221223592550887682249049537072054675794489614945487351631395695579742403782184469272384169102447531787620778416248312788304413241247343827317642199856131800660574536423566140181848584549374242361049279319271000875327982124978588128347250608583394355821514255611156689813777740682858928882279204821431077999487376304066129650824583364752529183723096401077324954101107178189389170395132540433402878432506433235835075456602972871228850066383272086647087864023832495585458857909700117874745186007438344166527647480628369533871518372886894196246646392455988998259494025598809713783112049541829288895414634632235078313969621905348936488475316873967720069990672156607948800665812907627358294323863076473431711107437164415358954026910421823556961573111484274723279298140059297766549308041134298599182278255636711599296359203569935556358234720476217063684965201895004953970087539356467491407894377968466563167751158213133009668422379570122934278720144592537818490160434928533636388228367506866057831895836536397551243158982257445768102562718611516645834533131069598543346183566725700102127360858910358610325506806859482590645384003950553245172496685957665579403350318374230339259938019601645296265278755086719458750244880091385795853173653027988552060501734522555395980552796081483384768126994432706851179606369300612724135954607135669370328012754385278258055905180416129406837994621676664841189548611405332544742097714476520141779302102623463027427226712336665877699967135302784945981742470238619607386176534867808012429896247002426059738830514154296768388190239671588071226046063549765408300164917547973262569061055242723079 7622616850761978001612375393406152954769403668555198625376212642860653617366234766793451317323511364711643099807724242145646173818865135673137531991261454448264489220461244470756879600750453252952626055586070672283313646850941719220151897556478521303772659249608534849206711676665094835583248625831748343702358123596882659151701515261120847255180853551727117189689674367342615495135434353478196623784772081648684653009095142004605849046570183879969442652197923166786367006539740731777378706501838398914127774163671741876393194172110632301766870156032127700849457668629584959662472766402525096867986079399323201875574212845806715461661068071753819099806913766761618104164697252978955430918158221057715887321680750453912318563895261096619678267825284978742817342974867312515866929187359665001574295000222315337542307158766828532787377561818594787700755549524600527937515697481827998722458408024126827581911296692230732662394250313521426367619737518970378925454669984216397376298618594811448509170800615386826416851844970072582073609301821213928548002611934145760712137590412018932121348936665425351630019522281268784606101776916327926473539921423211142199511851952876714204268905373604139288725732147961888104824994848184237182476613852202931256042476275243081406300214800252341433427364561534377918659330862601224822071812145478019042248846005577253971589561362939949692403233178755138501440758843049163092916661344836954805205933161591134824870580879449089855051130201736268636721682119583222925281453963985606308845986193334774120912097678368998190862457966293336945600751548123077912836010547881521043042396141590001868147128763580649627309253220103490085317149583075044486984606494454608175578520699656673285022013950555368897810951779955216775441032180958612232915662556530651732526654829855017177784886913002550957684561271173999338655186201546966778142320771738537463999584758970838763451543269742973776612218558125758232101105067920349596181533206784505799782499413500855269248033502698251449191058179582834161612234335767241229545207391147896822275692269841800516318299856502760155469852806007920803928456974105986870592640193383350336226886923105462474096906291300299567006721396625136178380677211220070774273657280299173453676737666351106409231092689518258468771183249291696691750449222850558429894679225653121077605190022464184580520121539029763115572886760400698647466606986303598378290918199638355932776117741059282430670920120537591917218380326711481865733001841940814629484825837722883416751941415358555130846460632276154800384305623282600642808234173813402802637049114329466523738129642210913206829014567618490480870282719663933720107962868790472661673470413229033021620838760372579739703412899322016125998586632830995072913233490860338622492853926709864245054682998352478528875239632524374224529196741692606370059309489578216610150044150536392236522520340858874489374337576004004176161449269307446559326970614573688846587143145405187898455567425902921100965832528307336011567505567705097381367936023288317280438048416756039289634419426797119897260115427101013556857782062540279564250791444373099458793154967605747035009056816381409077673075044336498538712035318234855281250452235058265211231137462250312943128980742274024313651891798994390601877129937709607614924439979603045145624172654988497584682206452401064711197486994564208342656428918753005387650876047753932202730829343379090928841349888975877153531038990380178402382214480557429199025746755992366198143526188338848722908621070529717295753979935335259756257999139149473064486825358459051086503545469778862195746436016195916622714210930035947068050056799675687995007809885718571273485192409354616377041084646879904963358639522659974309251044385622197998290420040720751092585039014883979887715670336773544256165716836937527365972336950670497513355400679008590123200741514619784060639599541782840417048468539530497511579993529530479406201482748756137281948275057704325029059445519682 12333653147750565210941021416724045414044012430903139750298953899933747509397627684256048682294097225924005067221567902209693955987782274457785666625364064248520936947658474717959512276205584304723270336932896179201276002813509042855136413243195515385902597917822600764740149946611623479414209543123364010786201353523195439201642230447618859589241964083776068241415846318337858259616212500866811049774606581788397518390394358951148894064442624194526790437672281173893175485883125786965772089938250990682244057426587126332814193632526132938062610280931073360489067009387854066903837868761961797602670332072481730830952010584827972142522544187523432578783059647875738207623935635831429067934181899395741960455956156962106411343659685281872376131877370961606292103645499349769327865256271455171123863659809267492093164229973652971304618200111470041984704837549561343519920526889039312596380552975553651774383520927447985265082266410870179515126064164916517637251997013869639157805682290131324392307333371682632736638713554091852467069894960094493522327186010371110047044528241815008881792335011105232093577996766786691209098791900098075464184493559946376779408259604557509024621073717858445975579761304870063144722655054130693650512148629096788238564936944435293670328043230520780201034378884550397234977469753323883168564468715873434590991403964430623939383196049864473006903481670831406629389812857855560736710108045436620935571736009478745608389482133385358017415962103835176295937700033045760980306156211449210423050069617069162059153334919144246988470718794863876159376943750742222031038091042931537913711032080534741561059743356472902505991909902547028282931143777698824034178135386384834219151436584895439057822750176883551962602841439216511236485837682836727877528455069039462872472388509980306027928210674423858638682682409635035954663595404823696705098593520985379461052385729486352937802623719900748828925462838992353243033766593257044111483880128972321105434223642462529033412037971495542739095671564836701453245920427751344186013970303146997107372258217060891855159114782999505806056759663992811993277252291514860124154920758116783822334377553291972595797529862423920210412001509569075962867326867357394183902160197713014033996037817410996157893475396331311334146958472687536747231245181991199892134506516705122477679736573134540801743714089917445364622423832455374441956221931790950009686613779380759714960587013443451533118451908158370333466693115015895106980345669258456829340957638383457953175507555540403715395834874637204079703576624157928624933212761941750053245632508685288037993740798900726984569697426547372760075104150741933207484266934920123486256835165758216744717239837697533840810591088711186521131127066233873505419666726695414079095826797938714311437955084999566392899072128109833082438896859567351556066747833744744257630672520070263754895407235055121135766793565002263670187048079021229671376512443862584261221775380483501868077472774839409576282706496027406002239662175653898047180843650646611604301124890187750397071583842156073924170537250657975129969266337263558862390850742139648766834289266204929313264693527980705436876644979892856773432511535298540246452347240012235298770493929741720837506949208837192064810104932004059024256700060643886335069032517421535306059101188624885813049713318458896607034023392115451501638686364521107950369487564399766735861898941922437112408075589078004514389949348990503909189073963148074583029697309237538694829483853918252073226995300868977233773581580631525035013085858608223309366916744254904260156573458330922697480958571591897175510292413420715195044489506526867601377110498442707228092328078724944389795469925137960868539055652066812303872721050463387546901825373265493190299515535025759189818293799800971482878053502815227333107639735616479255825639298615976299735609322632213956886601967842579247562622836298885701819665117601705452265032514164437446865823030966894090114688242761 19956269998512543212553396810130198368813416099458338375675166542794401126763862451049499999617608590635648167029292144355340129806647410130923198616625518696785426168119719188716391876956037557675896392518966851484589649664450762075288310799674036689675257167431135613946861623276718314997458168955112354488559477120078098353343745708739706844422817635503185431105520685680473754751646854345007673559378663437082171399489500955754743111012808074496233089870204340679542492422866518743150796440089389596371831590258868209207387804636765239829480436963201061338524678017439026566310635164486894470656411471804932706526223430634687604183612259277251678589973414637356311788632888810384498852340120453457847777636907416018729907554946378492054399702655940349109446620366662285194794443631120172698158660031582829635471388740481504091995761930064829685460387074161871457436224370867311318838960999680479356294817619678717927476516724391605882745801683886896562706666998086036534104300884942772901478133987069459153490558524164434540679196781308422070329797944516870759182118653833941003141271676530583723597519048055475815200568816426001937724414983157518978920111557434223228889979091462585264305493452831951249547649902314930832988762481299719494607413219678375076628258030773121634461743446084775153636800615925107990636280861351453633240249970007877910972757412804422699306714849586545130830571700904723829626769390273575740777669171069880433260063012834447872467092305571444932659382152628983905587610175434816731896055810403936180065432597513245179333176761157213104977695298865299943874101590813058956753428222124743429206872120053552133301163122650518368248293360773868521162741880839442394729957284552112342844764127438920860413793219171728011926869863795340110444117625570114604999043339835323205713097587426409596367243680809035293318781606370663483240914292723916925051970488457191701254166989643722605537681397118111475134871661177393707665413335756826905216723055963384302660071474193794188286729744419535614858154763518585415559177694294893929647950486902692371477414639502265961526612470000732797205709265620846994747560951500134158561264476397435069894436153724219777418722906194212141248004078577464958175817478012187487672775483762102567124568085849569802918141721979233438981694404841758322029185742358243555284926595598725382263835628947208480195310592856073089422828918094548387977531979019115647736704754502733963789372028695962250685073441727376972713347511199271458825783476106341369927448970898958846242295506913358880087882247440529267741446935755152855882681623014754561731870441111640191398711994165863240945386870405866927592229803710596147930305578987249766338078598070113580514003988033202647129713699064868578332900217555752701588680724648578556492638083352044921774311760634207306968093601259957926126057323322960867780716670606655991417927575913995625141131141006267846348497348328676230703483058436273107808918525888689766533040200742330677248539024334742013807167743358995428548779673934928884739173306943789686706003268953193821430652677758988686827048399803838426641642186512748225627444233810676348273750344362114514549720024229355312144546853533395527702799475070500510001631391992033780635929951111216378461996730998449626133829998353493949993472497024580451683273843613383397731919770859961318231510386679659844295115283274113338020363612153698938592728285301528041249425478053881667920988339370682311571288443705503782055444065229904892973010042257100796135616371398694529527561515966784791271084997757696373853742102713955346660118928109784893227394587787813798224503343456662263094546306202555596384920384161278501577520488079560766836554572017865831897695174726786613123765436085585545192245413986244282884554549909739077533964136574515739043770339752754699079976686286976769181039977624566422936350837251998017526201509625419664611091375829383213399658647132184858466515262920574728814098088671219119174133762443 32289923146263108423494418226854243782857428530361478125974120442728148636161490135305548681911705816559653234250860046565034085794429684588708865241989582945306363115778193906675904153161621862399166729451863030685865652477959804930424724042869552075577855085253736378687011569888341794411667712078476365274760830643273537554985976156358566433664781719279253672521367004018332014367859355211818723333985245225479689789883859906903637175455432269023023527542485514572717978305992305708922886378340380278615889016845994542021581437162898177892090717894274421827591687405293093470148503926448692073326743544286663537478234015462659746706156446800684257373033062513094519412568524641813566786522019849199808233593064378125141251214631660364430531580026901955401550265866012054522659699902575343822022319840850321728635618714134475396613962041534871670165224623723214977356751259906623915219513975234131130678338547126703192558783135261785397871865848803414199958664011955675691909983175074097293785467358752091890129272078256287007749091741402915592656983954887980806226646895648949884933606687635815817175515814842167024299360716524077401908908543103895758328371161991732253511052809321031239885254757702014394270304956445624483500911110396507733172350164113668746956301261293901835496122330635172388614270369248991159200749577224888224231653934438501850355953462668895706210196520417951760220384558760284566336877435710196676349405180548626041649545146219805889883054409406621228597082185674744885893766386884027154946125427473098239218767516657492167803895556021089264354639049607521974912192633744596870464460302659484990266615476526454639293073025197546651179437138472692555340877267224276613881393869447551400667514304322472823016634658388239248412707546632067987972572694609577477471431849815629233641308261850268235049926090444071247982377011194360188339507813709296386104356217943544639056790709544471434463144236110464718168638254434437819149293464729148010650946698425913336072109445689336927382401309256237068104075191269929601573147997441891037020208703963584226636529422501771767583372133993544790482961557135707118902481709616917980895642029689407665691966016148139987830724415763288104115330945934859142077977675725201521668813301173098725018043482180881137065100194666770186212939586832958214163692259063366032964663168733266184007549718864653844817734425311447531379050849885498397664145758399875362697291767946185496907823936854332584151766556743272079693693180457728288166741114489799323102956526439362561638130381550562959791458871598457892674659697696902909128314131700042599725611240012367175968409420713236001020491021147800135076496738630719634187140744745466511055318435767647421324595076744389168260840765298742083752566944251166780684507522587292867930593168351611314673383888744040389406990460827309482192805157067705125411389190676919746313334810969116760907924706008531516535545427349905902079995502298857369030693906372191634610512975581740253531245520362148016046829919012893475729623324581540489040298197131540083777587111109267745601189928416963816796314737067397289032492928652396992461733500015605661538443872342819951426365004122212085577058388831935774155146715082735808772125321733754618142879159948408443272101663002508650390530058997380285062505014446115757742375032238269210781633089318857925265533778795111345933801647795221288389851176553465674454627227223965153657501067131886182310937688361186220760362406853578365085141374467443587802493896175352869362611672267671763301143096598309826284170856365919683220658846968859606816692386440707590708353159379710973734795756877377458139035812729423197762030882603985729669848566804505156632024497155826700436750826793598916996486486548973092094070787251737473184070084935498267352257936375487221921823842567982032187616421903456025006679276240542722671960159884211974412803477467998912173714212128268915219323764733890310731547777085012175679921119638113209288822005204 52246193144775651636047815036984442151670844629819816501649286985522549762925352586355048681529314407195301401280152190920374215601077094719632063858615101642091789283897913095392296030117659420075063121970829882170455302142410567005713034842543588765253112252684871992633873193165060109409125881033588719763320307763351635908329721865098273278087599354782439103626887689698805769119506209556826396893363908662561861189373360862658380286468240343519256617412689855252260470728858824452073682818429769874987720607104862751228969241799663417721571154857475483166116365422732120036459139090935586543983155016091596244004457446097347350889768706077935935963006477150450831201201413452198065638862140302657656011229971794143871158769578038856484931282682842304510996886232674339717454143533695516520180979872433151364107007454615979488609723971599701355625611697885086434792975630773935234058474974914610486973156166805421120035299859653391280617667532690310762665331010041712226014284060016870195263601345821551043619830602420721548428288522711337662986781899404851565408765549482890888074878364166399540773034862897642839499929532950079339633323526261414737248482719425955482401031900783616504190748210533965643817954858760555316489673591696227227779763383792043823584559292067023469957865776719947542251070985174099149837030438576341857471903904446379761328710875473318405516911370004496891050956259665008395963646825983772417127074351618506474909608159054253762350146714978066161256464338303728791481376562318843886842181237877034419284200114170737347137072317178302369332334348472821918786294224557655827217888524784228419473487596580006772594236147848065019427730499246561076503619148063719008611351153999663743512278431761393683430427877559967260339577410427408098416690320179692082470475189650952439354405849276677831417169771253106541301158617565023671580422106433213311156326706400736340310957699188194040000825633228576193303509915611831526814706800485974915867669754389297638732180919883131115669131053675772682962229954788515017132325691736784966668159190866276598113944062004037729109984603994277587688670822756554113650042661117052139456906506086842735586402169872359765249447321957500245363335024512324100253795153737389009341588784935201292142611568030450939983241916646003625194633991674716536192878001421609588249589764331991566271385347811862325013045018167520620801879767980046785641677737418991010433996522448919460697195965550294834836839998470649052407040691656999746992524590596140693030405497338321407880425888463921839879341119038987160416106633452055765010995754714797161457481681124007367367121414879099241965877891553667062668726542341315782117446323732716277393397033837761001838599064777591815390554464363610662085467161806919482273188247235871424423231251703656236447695649378247696375084062087267408318862480390665993192105861283575737731262386883112386049055847014799362884042775678582132783478560735130476839612432260881401143553176324070930779784544696890029853997662371888904278402998516469373779471504075329770483590380062461567031842606175952503623363136871235715674135115165145218089177733826282009812194216704934465976085028351567397721605242365331301857946190153236318773756713725788398778809111059624821734098394000958276524360057350874235055977511470696209425648875851652608513552860178819243497044165474771190228916931069334626410214788707164613047355512525493194906926545185767850231926027731868532331650850559082147140585439697348480775503938432453665498228043666366292828704612565094617555255854123616057074400949682814953476811314550492483935747747167524771959299100334039721233582118931978794146951266765264231247369054884065923468579069173692532334446001520385530120251922634558637286316201237981756068624634845237344886222072950002960965594182320736731267593108190432794187719253865109145608310997136209991939004987093418576784805587957652128618982411866075169198063040005586904494019208309332328462955767647 84536116291038760059542233263838685934528273160181294627623407428250698399086842721660597363441020223754954635531012237485408301395506779308340929100604684587398152399676107002068200183279281282474229851422692912856320954620370371936137758885413140840830967337938608371320884763053401903820793593112065085038081138406625173463315698021456839711752381074061692776148254693717137783487365564768645120227349153888041550979257220769562017461923672612542280144955175369824978449034851130160996569196770150153603609623950857293250550678962561595613661872751749904993708052828025213506607643017384278617309898560378259781482691461560007097595925152878620193336039539663545350613769938094011632425384160151857464244823036172269012409984209699220915462862709744259912547152098686394240113843436270860342203299713283473092742626168750454885223686013134573025790836321608301412149726890680559149277988950148741617651494713932124312594082994915176678489533381493724962623995021997387917924267235090967489049068704573642933749102680677008556177380264114253255643765854292832371635412445131840773008485051802215357948550677739809863799290249474156741542232069365310495576853881417687735912084710104647744076002968235980038088259815206179799990584702092734960952113547905712570540860553360925305453988107355119930865341354423090309037780015801230081703557838884881611684664338142214111727107890422448651271340818425292962300524261693969093476479532167132516559153305274059652233201124384687389853546523978473677375142949202871041788306665350132658502967630828229514940967873199391633686973398080343893698486858302252697682348827443713409740103073106461411887309173045611670607167637719253631844496415287995622492745023447215144179792736083866506447062535948206508752284957059476086389263014789269559941907039466581672995714111126946066467095861697177789283535628759383859919929920142509697260682924344280979367748408732665474463969869339040911472148170046269345964000265215122926518616452815210974804290365572468043051532362932009751066305146058444618705473689178676003688367894829860824750473484505809496693356737987822378171632379892261232552524370733970120352548535776250401278368186020499753080171737720788349478665970447183242331772829462590531010402086108300017160655050211332077048342111312773811407573578507674750356570260484975621214252933065257750278935066676516169830779443478968152180930617865545183305823495818866373131288290395104957605019902404627418988606555213921132100733872114728035159265705085940016133362023777683969518556270014484799670799990637445053090766331148958674139309886414839761183092921136374543335530835592335242986368912701467197745223280972035416304587068478182788448715469605408423163194141521980983651395229662352745838034106058086262957695769823164292353824420055267551121079538122288085782074522914576890511667637458371118603495051960495484044597197852229146956980553023330879419588203028488034863474063033987845870306338633073035754066151905811184311030065059038045900827581384782380008026323098009862819769701206869854261177491171729312633032534592916320419677873938633004706628043817542210550911233841887671350638089047754417402450032473779483298663631197267076013092905235972127545882035459543016921688271008033265006200057003466926914890116348254520118482525916811967168023908089921819295185949497677168762577944269882536162718578864555914800065965260630287501982739749458348564427612317654032542863716093054753092013257412660512225726814164792068577997834607806534860839715934038056129847709163404443839426710489535740295059796651674560293503700991200074644100906547235745694094857211417179372617931661401991908982149369249960917217621688571080100603566329519232771196828313984447116738409183531729380386988489719229252694719780735612238480009325490182887418024888718763455209530093888819194398530105651868280271157020421966351808464561417488958519800085921043838306176599965479929610817090599080173940327947445537751777772851 136782309435814411695590048300823128086199117790001111129272694413773248162012195308015646044970334630950256036811164428405782516996583874027972992959219786229489941683574020097460496213396940702549292973393522795026776256762780938941850793727956729606084079590623480363954757956218462013229919474145653804801401446169976809371645419886555112989839980428844131879775142383415943552606871774325471517120713062550603412168630581632220397748391912956061536762367865225077238919763709954613070252015199920028591330231055720044479519920762225013335233027609225388159824418250757333543066782108319865161293053576469856025487148907657354448485693858956556129299046016813996181814971351546209698064246300454515120256053007966412883568753787738077400394145392586564423544038331360733957567986969966376862384279585716624456849633623366434373833409984734274381416448019493387846942702521454494383336463925063352104624650880737545432629382854568567959107200914184035725289326032039100143938551295107837684312670050395193977368933283097730104605668786825590918630547753697683937044177994614731661083363415968614898721585540637452703299219782424236081175555595626725232825336600843643218313116610888264248266751178769945681906214673966735116480258293788962188731876931697756394125419845427948775411853884075067473116412339597189458874810454377571939175461743331261373013375213615532517244019260426945542322297078090301358264171087677741510603553883785638991468761464328313414583347839362753551110010862282202468856519511521714928630487903227167077787167744998966862078040190377694003019307746553165812484781082859908524900237352227941829213590669686468184481545320893676690034898136965814708348115563351714631104096177446878887692071167845260189877490413508173769091862367486884184805953334968961642412382229117534112350119960403623897884265632950284330584694246324407531500352026575723008417009630745017319678706107920859514464795502567617104775658085658100872778707065701097842386286207204508613536471285455599158720663416607782434028535100846959635837799380915460970356527085696137422864417546509847225803341341982099965860303202648815346202567031851022259809455041863093136864770355892859518329619059678288594842000994959507342585567983199979540351990871043501309303266618241783017031584027958777436602207570182391286549448261906585209463842697397249316550320414488378494843824461646488772982810385845591968947501233237857383565284812844024418302215867954922253825446553684570184507774563771727782151790295682080709163767521116005377398982158478406639550141109676432213506872964601014439150305641129636922640574602260381910702652250471434484952246804255134260413949823313351198422033392210899065842112503443169425001793206299572799041949694025963407923501267865005745230884017059035716777055671758923787568775187500535782157158585001844298830530117849037111795600913244071221775859584735341533006036400038130242303630978707070167646952623769118322709918770893954436897619328229882115090814609755928075754825243756671284286429321614479236599241205282199624744767871234190879664875140768868824043041010809868720380763158982687428640088967668169681162832305752688883378535060825346881020268873562598377871039095389208446319638749185331415700497382067658086740298451004425203439250173699128755174460037387508176593672783941574427808738809676496412259622109744653726391635509933890541210280753967794900549338252274951543471354157503421882774789743824923285423664107971742659366312253862140549353501773040260200359067759600404348958552321728499061394682564613151797369460746334489513770315015541692558579848653714760517653393957545456900606200050593380786055933416134514192164586676572637003569182635503211765105642829834369977236990331818090366666703189727700985321319354625972957124702082275493143853012207209455494722802638284321613382117783970761013888582154156631958290813451654836065743325388043573172457288588466040649127673857096185984667959536256777866214733540498 221318425726853171755132281564661814020727390950182405756896101842023946561099038029676243408411354854705210672342176665891190818392090653336313922059824470816888094083250127099528696396676221985023522824816215707883097211383151310877988552613369870446915046928562088735275642719271863917050713067257718889839482584576601982834961117908011952701592361502905824655923397077133081336094237339094116637348062216438644963147887802401782415210315585568603816907323040594902217368798561084774066821211970070182194939855006577337730070599724786608948894900360975293153532471078782547049674425125704143778602952136848115806969840369217361546081619011835176322635085556477541532428741289640221330489630460606372584500876044138681895978737997437298315857008102330824336091190430047128197681830406237237204587579299000097549592259792116889259057095997868847407207284341101689259092429412135053532614452875212093722276145594669669745223465849483744637596734295677760687913321054036488061862818530198805173361738754968836911118035963774738660783049050939844174274313607990516308679590439746572434091848467770830256670136218377262567098510031898392822717787664992035728402190482261330954225201320992911992342754147005925719994474489172914916470842995881697149683990479603468964666280398788874080865841991430187403981753694020279767912590470178802020879019582216142984698039551757746628971127150849394193593637896515594320564695349371710604080033415952771508027914769602373066816548963747440940963557386260676146231662460724585970418794568577299736290135375827196377019008063577085636706281144633509706183267941162161222582586179671655238953693742792929596368854493939288360642065774685068340192611978639710253596841200894094031871863903929126696324552949456380277844147324546360271195216349758231202354289268584115785345834071530569964351361494647462119868229875083791391420281946718232705677692555089298299046454516653524988928765371906658016247806255704370218742707330916220768904902660019719588340761651028067201772195779539792185094840246905404254543273070094136974044894980525998247614891031015656722496698079969922344031935582541076578755091402584992380162003577639343538143138541913359271409790797399076944320666965406690584917340812662570071362392957151801326463921668453115094079926139271551248009781148690066036906018522391560830678095630462507066829255481164894664674603905125456925163741003711137152253324729056723756696573103239129375907235770359549672814053108898491316608508435886455817311056000768020725297129544893689346917538428492891439220941100313877266597639295749973113289615527544476683823667523396756454038183086063769727938615716956601458159173104285386614726620460689081854290827973048577848164987347821553782693344923688316153761535373923092008188579786882200009130880091814191338689854725622823867939233107916421189342197755307408230399095965204566705820456782587570679963016953061461121723219181735558202510426686803106168580225109527027472651685480135693299401844674814966121655652825141453664294455644712489099419010906489069479005945362405920192297907675361785144462718884748501725087391202800229639191000201510057352513470394800443300780985093299126364318932504759865453884132000625180573865520784644874432622185653075691351746498508007892130354140290047383275292942563304320143761696692031496247103924759174173581022200054014536262554354088798446456010346719228425188051320992024409892035781769821075915317653459917978038515677365384403171592039068026932617931499607648066735219907475534442405088400030891903505234109275102687537664520542986164074063818716532892633223949560261996263347488814756874079978817982254782777964915565503764153081804298261208083669786201832730997876839658148354424353728741001622096047090178217420214574014074406708569363182091600983326740430232098174258178012168378210432576516314076412882168853311177053924642621916216253554701845188129494216295594765066006129057284674186785064841899864204223403966511313349 358100735162667583450722329865484942106926508740183516886168796255797194723111233337691889453381689485655466709153341094296973335388674527364286915019044257046378035766824147196989192610073162687572815798209738502909873468145932249819839346341326600052999126519185569099230400675490325930280632541403372694640884030746578792206606537794567065691432341931749956535698539460549024888701109113419588154468775278989248375316518384034002812958707498524665353669690905819979456288562271039387137073227169990210786270086062297382209590520487011622284127927970200681313356889329539880592741207234024008939896005713317971832456989276874715994567312870791732451934131573291537714243712641186431028553876761060887704756929052105094779547491785175375716251153494917388759635228761407862155249817376203614066971858884716722006441893415483323632890505982603121788623732360595077106035131933589547915950916800275445826900796475407215177852848704052312596703935209861796413202647086075588205801369825306642857674408805364030888486969246872468765388717837765435092904861361688200245723768434361304095175211883739445155391721759014715270397729814322628903893343260618760961227527083104974172538317931881176240609505325775871401900689163139650032951101289670659338415867411301225358791700244216822856277695875505254877098166033617469226787400924556373960054481325547404357711414765373279146215146411276339735915934974605895678828866437049452114683587299738410499496676233930686481399896803110194492073568248542878615088181972246300899049282471804466814077303120826163239097048253954779639725588891186675518668049024022069747482823531899597068167284412479397780850399814832965050676963911650883048540727541991424884700937378340972919563935071774386886202043362964554046936009692033244456001169684727192844766671497701649897695954031934193862235627127597746450452924121408198922920633973293955714094702185834315618725160624574384503393560874474275121023464341362471091521414396617318611291188867224228201877232936483666360492859196147574619123375347752363890381072451009597944401422066222135670479308577525503948300039421952022309892238785189891924957658434436014639971458619502436675007908897806218789739409857077365539162667960366197927502908795862549611714383828195302635767188286694898111111510167230328684611988718872457323455466784298146040141938327859756383379575895653273159518428366771945698146551389556729121200825962294581140261857916083153794209451638314471926639499662583061501116282999658183599462846296450101434460897066009694724316520586971298078771082209990309480104512260350987552439921168674113606464242125657138364740835336535204212890862521211735718573122927598737813148653852899980920132940476491747273166780554121126581735294617714279561685036641788097753419463803941235725907935763573115126258629913123359650096391692918265488172727873156445342194696878448637927596316367322912212969053353099591364026850160442628370157379310572224491290143880420981909549304808365575414492659284570894197410478068898124948580884966326968336018252111771269103750713233640111071962782816130653968505759895558370445468154361782917067831089169178227033676302700553132184159520154124473245339201378322463831755171096014389020185159533830205848322683035143349438486796959012317333793390463746512030467402600691828320355369475973070674912663568850669993281822163759189988945989598732336997220627473196220088600659244299361435507135927324497798092443203742901323939341473356145830958351321889073167285001380688326935578975235134846754046952352620402566628791839715839335033981289320653587834133732074585191803798213976756781000882772302330980585018032848163564020848981638278345246390974833845087238968837335942762982482487982724401590719072819712462713793367945121199895333429032681526487884173876476470593442439307629752900814806662532045958634098047173896057435465333685882933435367871089620445170576173067388752883353532046778184958531282971049509859400461001270181244853847 579419160889520755205854611430146756127653899690365922643064898097821141284210271367368132861793044340360677381495517760188164153780765180700600837078868727863266129850074274296517889006749384672596338623025954210792970679529083560697827898954696470499914173447747657834506043394762189847331345608661091584480366615323180775041567655702579018393024703434655781191621936537682106224795346452513704791816837495427893338464406186435785228169023084093269170577013946414881673657360832124161203894439140060392981209941068874719939661120211798231233022828331175974466889360408322427642415632359728152718498957850166087639426829646092077540648931882626908774569217129769079246672453930826652359043507221667260289257805096243776675526229782612674032108161597248213095726419191454990352931647782440851271559438183716819556034153207600212891947601980471969195831016701696766365127561345724601448565369675487539549176942070076884923076314553536057234300669505539557101115968140112076267664188355505448031036147560332867799605005210647207426171766888705279267179174969678716554403358874107876529267060351510275412061857977391977837496239846221021726611130925610796689629717565366305126763519252874088232952259472781797121895163652312564949421944285552356488099857890904694323457980643005696937143537866935442281079919727637748994699991394735175980933500907763547342409454317131025775186273562125733929509572871121489999393561786421162718763620715691182007524591003533059548216445766857635433037125634803554761319844432970886869468077040381766550367438496653359616116056317531865276431870035820185224851316965184230970065409711571252307120978155272327377219254308772253411319029686335951388733339520631135138297778579235066951435798975703513582526596312420934324780157016579604727196386034485424047120960766285765683041788103464763826586988622245208570321153996491990314340915920012188419772394740923613917771615141227909492322326246380933137271270597066841310264121727533539380196091527243947790217994587511733562265054975687366804218215594657768144924345521103734918446317046748133918094199608541160670796737501921944653924174367730968503712749837021007020133462197141780213151047439719578061149200654476442483483334925772888512420249608525119683076776785347103962231109955148013205191436306501879932621769867562523360361485306689706870820033958322263450208831376818167824193032271897402623310292393267866273454150691351304896958431019322283170116687408674021599453552771481552817724791435544639416773902297218122159758026610903384071234059015464189517992023310304186746702151556100960665729536696218590290287909649053894818779018422598973940829478238168337176732296031884124427875274313589062774423768449540325121331767901942680364428639541402595715446572015711189761608043590823435735038815855387306464948484638746183518035624800834686677514925628463853572593792843653204633416773149910482892932070306161052485750069342178186572667805997375330659870368989948009382200990288501268713894503959385860319066130894039578612875340611039457435437263018260338582756658596046031264260690491492439112968478780306872170555545564583146707022089370688284386189773095353575484940505247423599609658133883082329285639303096639569594050680318475080280944868688219040790233295467020209464147530753793895305760345163996148464117066168004566922016588328024843574304022217773726251500343687530783453230974192424645276651980236323771327542917697145573713410096663660879362455018838740549002550390389916005785216500988336393670798882710669289159135352383512306071862901114818526872698501832306817661897952448607477825027747774238753044348371587059205060563836015102946341985764547142042498328195273095053170908755039168673760859322146131078825944447813821334558760883546162541414469347503439390095851066265477459797333872671405804011078826975040742478535150412123586778226288776510739807576057284087343175147015764302561605048478118598052907242243205469756114351759264665224674147756167196 937519896052188338656576941295631698234580408430549439529233694353618336007321504705060022315174733826016144090648858854485137489169439708064887752097912984909644165616898421493507081616822547360169154421235692713702844147675015810517667245296023070552913299966933226933736444070252515777611978150064464279121250646069759567248174193497146084084457045366405737727320475998231131113496455565933292946285612774417141713780924570469788041127730582617934524246704852234861129945923103163548340967666310050603767480027131172102149251640698809853517150756301376655780246249737862308235156839593752161658394963563484059471883818922966793535216244753418641226503348703060616960916166572013083387597383982728147994014734148348871455073721567788049748359315092165601855361647952862852508181465158644465338531297068433541562476046623083536524838107963075090984454749062291843471162693279314149364516286475762985376077738545484100100929163257588369831004604715401353514318615226187664473465558180812090888710556365696898688091974457519676191560484726470714360084036331366916800127127308469180624442272235249720567453579736406693107893969660543650630504474186229557650857244648471279299301837184755264473561764798557668523795852815452214982373045575223015826515725302205919682249680887222519793421233742440697158178085761255218221487392319291549940987982233310951700120869082504304921401419973402073665425507845727385678222428223470614833447208015429592507021267237463746029616342569967829925110693883346433376408026405217187768517359512186233364444741617479522855213104571486644916157458927006860743519365989206300717548233243470849375288262567751725158069654123605218461995993597986834437274067062622560022998715957576039870999734047477900468728639675385488371716166708612849183197555719212616891887632263987415580737742135398957688822615749842955020774078117900189237261549893306144133867096926757929536496775765802293995715887120855208258294734938429312401785536124150857991487280394468175992095227523995399922757914171834941423341590942410132035305417972113332862847739112970269588573508186066664619096776923873966963816413152920860428670408271457021660104920816644216888158956337525796850888610511553808022646002886139086439923158404387669294791160613542406597998298241842911316302946473732208617233758586434980683816952090987852910961972286182019833588407272471440983711460638669348321456843782824595394654976653645886037220288935405436964326139046988493526093052434064614318841074435202823016236748593668223594218923676913078795550579602435487596763105520294496226806663816451948218169457864892703896752151774711033183519853759134178153720340759380072895305418959482862241023928166489043694556708926032072394498548456063806946163934159116875277131608657499287515027507394764671460946751618960421591207114551869543168132016493752952165687653501620298914788489722101842561013089517233395105901123659260643849776919502620814942825185307947555151160512870368991291750295096866844128387163243956754516476608962937703561456225577366425771455515130031607686507371829686142336223473307623093081474238675865242616023699926366063774853178539866511419866075795906707669100025401548072854997335261404793117394474192653958614235839852305286129267551723362390228720092426032526797940921217540407336227747764687976784472435643977637596929251896875513567585844381532916240446333286263120450451601665620865365252639480623132763050053624470071511502539867403780686394360312096694833508741711805078952501502369024720606377857945804135913182304736132708638491692954534366207732483121627471249732086180682063016831545988215509825349254359361536041148854047951109906006613528780320843574586247928898258147723876504616523841804634113803227535166886641047021474676914107662614364680932472071622338950439353936267927315110713433763979641781703274524493784510170760674283724241844425690509492651958432795592186340475628993801361472130099685427201736752727163861618665126225944329001021043 1516939056941709093862431552725778454362234308120915362172298592451439477291531776072428155176967778166376821472144376614673301642950204888765488589176781712772910295466972695790024970623571932032765493044261646924495814827204099371215495144250719541052827473414680884768242487465014705624943323758725555863601617261392940342289741849199725102477481748801061518918942412535913237338291802018446997738102450269845035052245330756905573269296753666711203694823718798649742803603283935287709544862105450110996748689968200046822088912760910608084750173584632552630247135610146184735877572471953480314376893921413650147111310648569058871075865176636045550001072565832829696207588620502839735746640891204395408283272539244592648130599951350400723780467476689413814951088067144317842861113112941085316610090735252150361118510199830683749416785709943547060180285765763988609836290254625038750813081656151250524925254680615560985024005477811124427065305274220940910615434583366299740741129746536317538919746703926029766487696979668166883617732251615175993627263211301045633354530486182577057153709332586759995979515437713798670945390209506764672357115605111840354340486962213837584426065356437629352706514024271339465645691016467764779931794989860775372314615583193110614005707661530228216730564771609376139439258005488892967216187383714026725921921483141074499042530323399635330696587693535527807594935080716848875677615990009891777552210828731120774514545858240996805577832788336825465358147819518149988137727870838188074637985436552567999914812180114132882471329160889018510192589328962827045968370682954390531687613642955042101682409240723024052535288908432377471873315023284322785826007406583253695161296494536811106822435533023181414051255235987806422696496323725192453910393941753698040939008593030273181263779530238863721515409604372088163591095232114392179551602465813318332553639491667681543454268390907030203488038213367236141395566005535496153712049657851684397371683371921712123782313222111507133485022969147522308227559806537067900180229763493217067781294056159718403506667707794607825289893514425795911617740587520651828932383158108478028680238383013785997101310003777245374912037811166030250506129337811911974952343408012912788977867937398889510560229408196990924521494382780234088549855528453997504044178437397677559781782006244504283283797238649289608807904492910566750944767136176092461668109127344997190934178719954727720134442826455662515125546605205546167136565865870747462433010650890886345753976950287816462866784638617899677114755128830598682973508815372552908883898994561111294187040061423764928002298872181733152094549818997548410072037714991366986668899202480078106468980477375572397515830316358006487310592573700519470992578180673210477276635550985588107195985567474347728056155599190615726686167641294587638843202579130084152487382282565755047194429862667143877998833193965421696335526988844799001515492991305322885811030881860317000673951285385368112842281667203342614835542739856977282174331566188405883206892778148291946269264030425732173600484163799115532194442717456172114786579245490949210481875267910554795806055848891260283154040530648971672464655469144487122403033777289293528208286520170780366410212420411581431018953387893052736262088451971334302641988092928684125248589501811982204518945840224900357141889866599306642491946676973793903903682575858045510641904619716946904090592971321615645224912636531064660048849379150837243836059132101721084737718003357361114277176740656473425072317657119645014710354594069352893080430984953934288911630038629289540841859293762454262869697625946420741101712690063054056247992378075922363341902781521023951429056478915673290284701126780244882053479614700462381580235560460270204028834028435911461718190016704831396065261187782119237775058468756744017003028934922294347452510013018355165498085549936045775970739202104778190598849839590728152592669444942222483278213377929791450618476757188239 2454458952993897432519008494021410152596814716551464801701532286805057813298853280777488177492142511992392965562793235469158439132119644596830376341274694697682554461083871117283532052240394479392934647465497339638198658974879115181733162389546742611605740773381614111701978931535267221402555301908790020142722867907462699909537916042696871186561938794167467256646262888534144368451788257584380290684388063044262176766026255327375361310424484249329138219070423650884603933549207038451257885829771760161600516169995331218924238164401609417938267324340933929286027381859884047044112729311547232476035288884977134206583194467492025664611081421389464191227575914535890313168504787074852819134238275187123556277287273392941519585673672918188773528826791781579416806449715097180695369294578099729781948622032320583902680986246453767285941623817906622151164740514826280453307452947904352900177597942627013510301332419161045085124934641068712796896309878936342264129753198592487405214595304717129629808457260291726665175788954125686559809292736341646707987347247632412550154657613491046237778151604822009716546969017450205364053284179167308322987620079298069911991344206862308863725367193622384617180075789069897134169486869283216994914168035435998388141131308495316533687957342417450736523986005351816836597436091250148185437674776033318275862909465374385450742651192482139635617989113508929881260360588562576261355838418233362392385658036746550367021567125478460551607449130906793295283258513401496421514135897243405262406502796064754233279256921731612405326542265460505155108746787889833906711890048943596832405161876198512951057697503290775777693358562555982690335311016882309620263281473645876255184295210494387146693435267070659314519983875663191911068212490433805303093591497472910657830896225294260596844517272374262679204232220121931118611869310232292368788864015706624476687506588594439472990765166672832497483754100488091349653860740473925466113835193975835255363170652316180299774408449635502533407780883319357249650901397479478032215535181465330400644141795272688673095241215980674489908990291349669878581557000673572689361053566379935050340343303830430213989468960114771171762926421677584058528775340698051061392266566417300458272659098012431917158227706438833835837797329253966297167089287040432484727995389488665412692743978530686303117385645921761049791615953549236099266223979958917057062764103998643076971399008890133157098768965502651008651639657639610781455406940305950285449247399484554569348195873964729541662335218220335164711518234350893179200315479189004857102068452426003998083792213198475961185818725940867330248270159756928482967343133950849848909923130646567150163537186301604469910328864814070294256756507859636346269709789330709764791663058380352778656932319093308149647362713742485269854299657788340591008890232631704451402170772287856889755442952184377273104734317624682340185303908347419816458318176613270440962191394730685991965701580482234956970668830447299369352019348819914985735787791765772308978348293278323553955771402255418315936707637106738625275916956132037357402602945417315274256728446450421307225921924687166990823140556050519745319652804405891915520428251481947486822522360023085652539479972134943821247673480319085263060029373188874709978215840693372102033061937455959842115875092121775870709475710980839558732393010260057024354134177523666376007157259197570036853643024946085716736415176398468440735243739462933938669567873813526163690219505726385834883554598602277560985499961855777723348846287023887259288163468075561760161362124809971603858690839750669772695046880305782277142861544111005166153998991604702684185477367768952849687204202792177906808542931414358685281014781587103428601710237374377866643198709368383533340528967144185332333188502892832671539038110538447291527522719432465108126793737260199591188595042588004208766331388445253819592651201062858252278096646678975210442074996594917676562805758209282 3971398009935606526381440046747188606959049024672380163873830879256497290590385056849916332669110290158769787034937612083831740775069849485595864930451476410455464756550843813073557022863966411425700140509758986562694473802083214552948657533797462152658568246796294996470221419000281927027498625667515576006324485168855640251827657891896596289039420542968528775565205301070057605790080059602827288422490513314107211818271586084280934579721237916040341913894142449534346737152490973738967430691877210272597264859963531265746327077162520026023017497925566481916274517470030231779990301783500712790412182806390784353694505116061084535686946598025509741228648480368720009376093407577692554880879166391518964560559812637534167716273624268589497309294268470993231757537782241498538230407691040815098558712767572734263799496446284451035358409527850169211345026280590269063143743202529391650990679598778264035226587099776606070148940118879837223961615153157283174745187781958787145955725051253447168728203964217756431663485933793853443427024987956822701614610458933458183509188099673623294931860937408769712526484455164004034998674388674072995344735684409910266331831169076146448151432550060013969886589813341236599815177885750981774845963025296773760455746891688427147693665003947678953254550776961192976036694096739041152653862159747345001784830948515459949785181515881774966314576807044457688855295669279425137033454408243254169937868865477671141536112983719457357185281919243618760641406332919646409651863768081593337044488232617322233194069101845745287797871426349523665301336116852660952680260731897987364092775519153555052740106744013799830228647470988360162208626040166632406089288880229129950345591705031198253515870800093840728571239111650998333764708814158997757003985439226608698769904818324533778108296802613126400719641824494019282202964542346684548340466481519942809241146080262121016445033557579862700971792313855327491049426746009421619825884851827519652734854024237892423556721671747009666892803852466879557878461204016545932395764944958547468425435851432407076601908923775282315198883805775465790199297588194224518293436724488413079020581686844216211090778963892016546674964232843614309034904678509963036344609974430213247250527035411321427718457114635824760359291712034200385716944815494429988772173826886342972474525984775190586401182884571050658599520446459802850210991116135009518730873231343640267905577728844860877233211791958313523777186262845156948591972806176697747882258050375440915102172824252546004529119856838234841826273363181491862173824294561557765985967446987115292270832274622240889188117598122600482342819978754476893039380848942216835578822333126645256632517663677176867426159181172076781567349081560155817262287970003920242068298609365940885852917886567655877703518312933100996540467299082928229852092811761788603889553054853611936949872814851521151103567511590104036520830897192218817973811167918593326773222276591002992639652865867603069812950497650641984187562088676892267910119357954178192185241071426615500225035432681150489537191800905854157470359673588209472189182190908264484738603714360976103031977773578427273977181086699491417784308273550379037923462028771241015030808880193866018949692392546525252266626868212137999322117825160209012620203933622056227281651439267942046634820932346676227851365577580146201224339687233850928257816753381711886649061878914516940944235996267701361961327812929533100784093118613771182505627005915247248427937509083746949160731339258750986057817618975422738059200881093240152368594453029496049072992163439261144700550133513124035564744506252203018244574234174059222401991369680625047527380149289976801116260681707851197093244058194603567334494396287565810181945797834648070672032737804294995058718983849016728398449690674951909314096579295191308530551654354759455579303750278554756686680592524049984737070590550032010191501040653586404870766091621197693720288374524709127181282515397521 6425856962929503958900448540768598759555863741223844965575363166061555103889238337627404510161252802151162752597730847552990179907189494082426241271726171108138019217634714930357089075104360890818634787975256326200893132776962329734681819923344204764264309020177909108172200350535549148430053927576305596149047353076318340161365573934593467475601359337135996032211468189604201974241868317187207579106878576358369388584297841411656295890145722165369480132964566100418950670701698012190225316521648970434197781029958862484670565241564129443961284822266500411202301899329914278824103031095047945266447471691367918560277699583553110200298028019414973932456224394904610322544598194652545374015117441578642520837847086030475687301947297186778270838121060252572648563987497338679233599702269140544880507334799893318166480482692738218321300033345756791362509766795416549516451196150433744551168277541405277545527919518937651155273874759948550020857925032093625438874940980551274551170320355970576798536661224509483096839274887919540003236317724298469409601957706565870733663845713164669532710012542230779429073453472614209399051958567841381318332355763707980178323175375938455311876799743682398587066665602411133733984664755034198769760131060732772148596878200183743681381622346365129689778536782313009812634130187989189338091536935780663277647740413889845400527832708363914601932565920553387570115656257842001398389292826476616562323526902224221508557680109197917908792731050150412055924664846321142831165999665324998599450991028682076466473326023577357693124413691810028820410082904742494859392150780841584196497937395352068003797804247304575607922006033544342852543937057048942026352570353875006205529886915525585400209306067164500043091222987314190244832921304592803060097576936699519356600801043618794374952814074987389079923874044615950400814833852578976917129330497226567285928652668856560489435798724252695198455546414343418840703287486483347085939720045803354908098024676554072723331130121382512200300584735786236807529362601496023964611300126423877869069577646705095749697150139755956805107874097125135668780854588867797207654490290868348129360924990674646425080247924006787718437890654521198367563680019208014097736876540847513705523186133423753344876684821074658596197089041288166682884034102534862473500169216375008385167269963305876889518568530492811708391136400009038949477215096093926575793637335342283344876976737734994034331980757460964532428825920484767730047379746482648033331505449859995484450368698217275546191455075058570006537791597532385041374139773750562623088035899413119290354624487820716850373936324063467812591090138511405376006723982893066684488745463773212406796054849978781337336488045986147075824105589419792163531997759334630006859961667746293664509850205660964027350881026675586266394766956871268820860983044393493055291723827141468826705315767035898424208301829214786376706134805539638634432129344531863767735413671321688984605354446349838026783619328097941353539581437496807253645907149719950501163589364704939054180806834936568805473899438012592782746276629720246829591785136325579758995332160811397410257899698265594264800321642750011163103961077956270953443890280253188501853331240216951671489172364681469073514300348531223262382147198349083722598419774315428329314713376723901888750696024468452098560841288560985759956732697493907952611950930905378262656219138112086977797879021213787078697742989328001541519336858076705121175194879728773412118157014810132784044285937861028547043317580831200461408047168117127411656757921105057809234354288249232748559240973263793808259791386557985295387435778285064388555990361285327731712857517058929650803464884500029103901786989608962252615509177874669238783656035209025937315231447172678528399247950993202060731638193567784580853134689833638600058074373787224563706097487538754347875275635112054193503401978995285829784152241716444657148862738300172904162363371119626803744088273606803 10397254972865110485281888587515787366514912765896225129449194045318052394479623394477320842830363092309932539632668459636821920682259343568022106202177647518593483974185558743430646097968327302244334928485015312763587606579045544287630477457141666916922877266974204104642421769535831075457552553243821172155371838245173980413193231826490063764640779880104524807776673490674259580031948376790034867529369089672476600402569427495937230469866960081409822046858708549953297407854188985929192747213526180706795045889922393750416892318726649469984302320192066893118576416799944510604093332878548658056859654497758702913972204699614194735984974617440483673684872875273330331920691602230237928895996607970161485398406898668009855018220921455367768147415328723565880321525279580177771830109960181359979066047567466052430279979139022669356658442873606960573854793076006818579594939352963136202158957140183541580754506618714257225422814878828387244819540185250908613620128762510061697126045407224023967264865188727239528502760821713393446663342712255292111216568165499328917173033812838292827641873479639549141599937927778213434050632956515454313677091448117890444655006545014601760028232293742412556953255415752370333799842640785180544606094086029545909052625091872170829075287350312808643033087559274202788670824284728230490745399095528008279432571362405305350313014224245689568247142727597845258970951927121426535422747234719870732261395767701892650093793092917375265978012969394030816566071179240789240817863433406591936495479261299398699667395125423102980922285118159552485711419021595155812072411512739571560590712914505623056537910991318375438150653504532703014752563097215574432441859234104136155875478620556783653725176867258340771662462098965188578597630118751800817101562375926128055370705861943328153061110877600515480643515869109969683017798394925661465469796978746510095169798749118681505880832281832557899427338728198746331752714232492768705765604897630874560832878700791965146887851793129521867193388588253116365407823805512569897007065071382425337495013498137502826299059063531239120306757902900601458980152177062021725947927015356761208381506677518862636171026887898804265112854887364812676598584697717977134081486515277726952773713168835074772595141935710483356556380753322367068600978918029292462272343043261351357641795948081067475919751415063862366990656846468841799688206212228936094524510566685923612782554466579854911565192549419278056206012183329924678639352552659345781213763500235436399552541522469821550720574931896804848364064960713876903547964068312120389074003346400234582625456762442957739562053922186068294933910117265882269046104831835283520067567796899857663428572513655958204762647227158223857391454670979947980794285729338550248928260277112234550362768092228619905054399339608687262935234255954197050713075856155281659181276881995080763655188581887419575311869340804890413226965702731857452405940512450457094508635947912691977245007312217441096596569825748583337727143526173699521556026507674128693348830436131554554405842267617719295011091238918446940216636303308456301780967327233844243733935875172373513289877471844021538777502729449502580888269351506649991367352309024429516884140120410817690438864757227994325780927216743361261704265023509292735218623707937484556596364815991843935385516956815128326412206866141131961181072384727758880869767684287090149305281017026603918742115017481488440659070802257534642303429976690476303680821885644020660546094523893879733205017277119779533101135199806623199467248049210367564025352374134553858307346451688493893259791106776917843824535892810188313632010012459123610957981730965952779240237666348906451919725566207880300995031047803565819950003574162235048965601833043674007987264184976973523457966934842218789130087884242736490167231269128829908588626028141984019285401237817309104561956227636104178240472569545317839975653282370031062019628829921370597882651745644335930925370789004324 16823111935794614444182337128284386126070776507120070095024557211379607498368861732104725352991615894461095292230399307189812100589448837650448347473903818626731503191820273673787735173072688193062969716460271638964480739356007874022312297380485871681187186287152113212814622120071380223887606480820126768304419191321492320574558805761083531240242139217240520839988141680278461554273816693977242446636247666030845988986867268907593526360012682246779302179823274650372248078555886998119418063735175151140992826919881256235087457560290778913945587142458567304320878316129858789428196363973596603323307126189126621474249904283167304936283002636855457606141097270177940654465289796882783302911114049548804006236253984698485542320168218642146038985536388976138528885512776918857005429812229321904859573382367359370596760461831760887677958476219363751936364559871423368096046135503396880753327234681588819126282426137651908380696689638776937265677465217344534052495069743061336248296365763194600765801526413236722625342035709632933449899660436553761520818525872065199650836879526002962360351886021870328570673391400392422833102591524356835632009447211825870622978181920953057071905032037424811144019921018163504067784507395819379314366225146762318057649503292055914510456909696677938332811624341587212601304954472717419828836936031308671557080311776295150750840846932609604170179708648151232829086608184963427933812040061196487294584922669926114158651473202115293174770744019544442872490736025561932071983863098731590535946470289981475166140721149000460674046698809969581306121501926337650671464562293581155757088650309857691060335715238622951046072659538077045867296500154264516458794429587979142361405365536082369053934482934422840814753685086279378823430551423344603877199139312625647411971506905562122528013924952587904560567389913725920083832632247504638382599127475973077381098451417975241995316631006085253097882885142542165172456001718976115791705324943434229468930903377346037870218981914512034067493973324039353172937186407008593861618365197806303206564591144842598575996209203287195925414632000025737127761006765929818933602417306225109337742431668193509061251274811905591983550745541886011044162264716925991231818363056125240658296899302258828117471826756785141952753469794610533751485013020564154935772512259636359742809065911386944365438319945556674075381793246477880749165421308322862670318147902028206957659531204314848945897173306880242588634838103814692408686732299141993814545268950095431884002910220687097096912030006955374854901856558246261944922103842062683012162039245813353872980081250263674589935990246249536107525000255777287645052828814728350204556313260673070070224627363634739542099135273144370933215560260399740144326283488673180255788221944858528214872618297889583932405280366284273529330001212825465871574058900548774714473000709136549590360504348923317999520171170019676789933100508271496086838069856982320862244049619234380961850361758567279123380189153846524691266724963670506775201933657394079194512419800836493608586649102554288100484990676931039722962912933028703131372752463559424002729268035983770923547777170109615803577824372199513743992230429462920944811242589277618018737471360627769361928037121909463399295227565274584524086412221858376457817043482252912885911078192715745824136212981283580424973048154702117721137805082221666833481718615192468411961500155138690896539994038695275519356813791585536183822766834767181424856016765372794072664251538704012517249303214980808080144452780637823660875295217327494975682110295239611667541700739937726641819032080040711652084327279368173609019445790744187999513972092251280510953095183407836102723190450707909404896818037412528072565512752036904287749257868252699945302495632149652051857214885835420849861726077810521071020365958962468508646700401929208582991498725356063452437231862748158371743874548540603669759805524086475719168491568221543502045015116763962734669459062611127 27220366908659724929464225715800173492585689273016295224473751256697659892848485126582046195821978986771027831863067766826634021271708181218470453676081466145324987166005832417218381271041015495307304644945286951728068345935053418309942774837627538598110063554126317317457043889607211299345159034063947940459791029566666300987752037587573595004882919097345045647764815170952721134305765070767277314165616755703322589389436696403530756829879642328189124226681983200325545486410075984048610810948701331847787872809803649985504349879017428383929889462650634197439454732929803300032289696852145261380166780686885324388222108982781499672267977254295941279825970145451270986385981399113021231807110657518965491634660883366495397338389140097513807132951717699704409207038056499034777259922189503264838639429934825423027040440970783557034616919092970712510219352947430186675641074856360016955486191821772360707036932756366165606119504517605324510497005402595442666115198505571397945422411170418624733066391601963962153844796531346326896563003148809053632035094037564528568009913338841255187993759501509877712273329328170636267153224480872289945686538659943761067633188465967658831933264331167223700973176433915874401584350036604559858972319232791863966702128383928085339532197046990746975844711900861415389975778757445650319582335126836679836512883138700456101153861156855293738426851375749078088057560112084854469234787295916358026846318437628006808745266295032668440748756988938473689056807204802721312801726532138182472441949551280873865808116274423563654968983928129133791832920947932806483536973806320727317679363224363314116873626229941326484223313042609748882049063251480090891236288822083278517280844156639152707659659801681181586416147185244567402028181542096404694300701688551775467342212767505450681075035830188420041210905782835889766850430642430299848068924454719587476268250167093923501197463287917810997310223870740911504208715951468884497470929841065104029763782078138003017106833707641555934687361912292469538345010212521163758625430269188728544059604642980101402295268266818435045721389902926338586741158942991840659550344321581870546123938345712371697422301699804396248663600429250823720760849414643968365899849571402967611070612471093902890066968692495625309309850547932900820085991938593447398044855302897711100450861859468011841358071360620536442372450092946722548853627520551798764842658468714130570442085670894703857462365856299520644840850287144617087326084851801339595759032450330868283555451743156918647632604938852179703265921518960138848470067910374803401236042592213588455605538012706632329498044168435604402458910373043169914098933646563633724623881057572927733653199877290697746861782500302594790607014931379688125120569218011730504716482221970762765235386390118203837459679705892960792265235468779662922287134756704056373654277591131630354015692930810737574832040510824567203160066211003353539244010369432777956752685567147072939095369070784720219976758979595108028993868489844206296757960165068207887861250236968048162992491370172007395496081915849486663179549236337159433153719790793268246463203911156144436837654641953637342355327101649016324880499780969570936178594898302047535621611481038587052366901879137457725076154782017945785790677245367669193035667190190397442507443008707589759521729938098708751385255020843249682318877466949425714351486299479558561266781172165294815282109056176763960015884593843070826126196811457657728536838651016814733210346062597892250454320492100587613245587980444446860342543266537862539707462669374165525849047191626220535078823186817629495908863172178361922651455803203311610471953823217233290193332849756742554642916016915789705891849085216093892515516326199139336714859701296373953289759817126625575315181820677639638991813962053257561187597228091298417235326430071192602276899963173372556999188090384262549984347118085921509735458806456506781188120398142914099927666862408298665594829851615451 44043478844454339373646562844084559618656465780136365319498308468077267391217346858686771548813594881232123124093467074016446121861157018868918801149985284772056490357826106091006116444113703688370274361405558590692549085291061292332255072218113410279297249841278430530271666009678591523232765514884074708764210220888158621562310843348657126245125058314585566487752956851231182688579581764744519760801864421734168578376303965311124283189892324574968426406505257850697793564965962982168028874683876482988780699729684906220591807439308207297875476605109201501760333049059662089460486060825741864703473906876011945862472013265948804608550979891151398885967067415629211640851271195995804534718224707067769497870914868064980939658557358739659846118488106675842938092550833417891782689734418825169698212812302184793623800902802544444712575395312334464446583912818853554771687210359756897708813426503361179833319358894018073986816194156382261776174470619939976718610268248632734193718776933613225498867918015200684779186832240979260346462663585362815152853619909629728218846792864844217548345645523380206282946720728563059100255816005229125577695985871769631690611370386920715903838296368592034844993097452079378469368857432423939173338544379554182024351631675983999849989106743668685308656336242448627991280733230163070148419271158145351393593194914995606851994708089464897908606560023900310917144168297048282403046827357112845321431241107554120967396739497147961615519501008482916561547543230364653384785589630869773008388419841262349031948837423424024329015682738098715097954422874270457155001536099901883074768013534221005177209341468564277530295972580686794749345563405744607350030718410062420878686209692721521761594142736104022401169832271523946225458732965441008571499841001177422879313719673067573209088960782776324601778295696561809850683062889934938230668051930692664857366701585069165496514094294003064095193109013283076676664717670445000289176254784499333498694685455484040887325815622153590002181335236331822711282196619529757620243795466995031750624195787822699978291477470105630971136021902952075714502165708921659593152761627806979883866370013905880758673576511709988232214345971136834764923114131569959597718212627528208269367511773352731007538795449280767262063320342543434571571004959157602333817367562534070843259927770854956206796391306177210517754243339424603298019048828874661435160806370742337528101616875209552803359539163179763233475688390959309496012817150943333410304301400426300167558361963844015744544634945807554558167778077206400793392171752437486413398081838026942328585619262970306919434034414685140509983910628820457559151762461291983929180194318245997803877827240925437288960917773446965723822575191779428269446852706684910760504704166829290980108004688007787769864960072177234321595236681605128793861193657252831088127278300268179944376197279734055574352211680844243993093166719274849626082080226415098818996735186381453900945730829351999343356948133441632720260593453514713071959893822462287082373670037804541771579140472726295495981072592780526386142462169365862564526472254352692249192471947139915360385431812063253145933151473848530068872730210432491880989837487579665554359082841666356414294939001046921124371382347292530309877089467226045650852710672443310328418521201423335583657942919382289176358303175545367403456682549171092547833204914672026973228281327303985711822103094872039479372698385428607009948963646224839153392855416389608805874597601301904767703623707081395693390040761082270521217838483865357515389572964613777193390747931563947176897855266858341147993190451546535531670901593947499609985925915468513801146428033164578657366106467623699110788667122628621965081029078236043624464117569549073898592255449276277627172396706513060488853540039863778632207963187053766925882026832000401185268398688529436009436419953132420921728221666626525179495264330542982500356611966364457601972681979172261400264288914226578 71263845753114064303110788559884733111242155053152660543972059724774927284065831985268817744635573868003150955956534840843080143132865200087389254826066750917381477523831938508224497715154719183677579006350845542420617431226114710642197847055740948877407313395404747847728709899285802822577924548948022649224001250454824922550062880936230721250007977411930612135517772022183903822885346835511797074967481177437491167765740661714655040019771966903157550633187241051023339051376038966216639685632577814836568572539488556206096157318325635681805366067759835699199787781989465389492775757677887126083640687562897270250694122248730304280818957145447340165793037561080482627237252595108825766525335364586734989505575751431476336996946498837173653251439824375547347299588889916926559949656608328434536852242237010216650841343773328001747192314405305176956803265766283741447328285216116914664299618325133540540356291650384239592935698673987586286671476022535419384725466754204132139141188104031850231934309617164646933031628772325587243025666734171868784888713947194256786856706203685472736339405024890083995220050056733695367409040486101415523382524531713392758244558852888374735771560699759258545966273885995252870953207469028499032310863612346045991053760059912085189521303790659432284501048143310043381256511987608720468001606284982031230106078053696062953148569246320191647033411399649389005201728409133136872281614653029203348277559545182127776142005792180630056268257997421390250604350435167374697587316163007955480830369392543222897756953697847587983984666666227848889787343822203263638538509906222610392447376758584319294082967698505604014519285623296543631394626657224698241267007232145699395967053849360674469253802537785203987585979456768513627486914507537413265800542689729198346655932440573023890163996612964744642989201479397699617533493532365238078736976385412252333634951752163088997711557581920875092503332884023988180873433621913884786647184625564437528458467533622043904432649329795145936868697148624292249627206832050921378869225736183760294683800430802801380586745736924066016857411805878414301243324651913500252703105949388850429990308359618252456095878211514384480877946400387658485683963546213927963618062198931175880438124244446633897605764141776392571373170890476335391656996897751049731862222865431781943710789630322968048154462666797746960126693432371325846872676349426460200003464839456468098543702546104256660821905019479283878316538678103926583338902002744673006063333850757168451113813707000934392177239884659734261433699596166539641862239662812289814634124430240530784191157275676939248932078583120744912442821001863627473250696107855617653804075375818925537531027118216135035822700273749560514429590123159116394567421924696641265221186388800053745343391078125991607324639778070195113860472150384791716148328413956887461781555891399810298391890210544793149184252191668811196253232930278203165326090595847876775749420753528526840041099900136719563333707113036740749254461943358919368717853987530494970234920274772589934571631842898302891477154508630013049322011405703021997680192045145960495655675858296059797223086454016890488288478575497546393753229991402062817168432385881713089980694322704943466661840880184378849447537129310476095667766712593714843888377862633707770925964210130925343179672857480997927743558196388617085775560016120518262184691214151585534495062499469280527104212151048803439388582979271677836075160457682496881929694067406423539084943663899797018157944199181983306635628741526717381560381750403220055097035633987942719239795123190167711976678453675970643902053623724897454322357397150811220457879738685747091339760882921321212009022484539488816680516207844715857596545404435182961178977270845447851882015266402903202487578527190700127845354001917036193395560415145065343117353262071593787545298651702808566435608043516683471712568784712446689230723136999489281544732364507371701900348841580560065859118765842029 115307324597568403676757351403969292729898620833289025863470368192852194675283178843955589293449168749235274080050001914859526264994022218956308055976052035689437967881658044599230614159268422872047853367756404133113166516517176002974452919273854359156704563236683178378000375908964394345810690063832097357988211471342983544112373724284887847495133035726516178623270728873415086511464928600256316835769345599171659746142044627025779323209664291478125977039692498901721132616342001948384668560316454297825349272269173462426687964757633842979680842672869037200960120831049127478953261818503628990787114594438909216113166135514679108889369937036598739051760104976709694268088523791104630301243560071654504487376490619496457276655503857576833499369927931051390285392139723334818342639391027153604235065054539195010274642246575872446459767709717639641403387178585137296219015495575873812373113044828494720373675650544402313579751892830369848062845946642475396103335735002836866332859965037645075730802227632365331712218461013304847589488330319534683937742333856823985005703499068529690284685050548270290278166770785296754467664856491330541101078510403483024448855929239809090639609857068351293390959371338074631340322064901452438205649407991900228015405391735896085039510410534328117593157384385758671372537245217771790616420877443127382623699272968691669805143277335785089555639971423549699922345896706181419275328442010142048669708800652736248743538745289328591671787759005904306812151893665532028082372905793877728489218789233805571929705791121271612313000349404326563987741766696473720793540046006124493467215390292805324471292309167069881544815258203983338380740190062969305591297725642208120274653263542082196230847945273889226388755811728292459852945647472978421837300383690906621225969652113640597099252957395741069244767497175959509468216556422300176309405028316104917191001653337232254494225651875923939187696441897307064857538151292358885075823439410063771027153152989106084791758464951948735939050032384956114960909403451580678999113021203178792045307996218625501358878223207029696987993433708830490015745490360835159845855867577195830313856678373524133214769454723224372713092292371524493250607077677783887561336274826459384149805636017799364905144559591057159833436491233019769963228001856908652065679590427965852786970717401177924254950853972974957477880936771795929144891725178301121635164271210198805626645319421313809464181444182659047111792227069063236079351719153688006416367635251183468618672175670844950136721874830467288819601477673372940435254411415249776228032206268267473112776776538647246168366112997805885422426731630684085032402458569147601582984269694064923341408854359141572324783618047196526238252165314938544664014274631381552025725890555629344725451395766133779377189599850247429435455708831989920510009522071209718549908834191667990242768087490278848723536463872513055189346399649553052791408170822262975594746155939909980740986830729488718906690655246478373469515055396873632440677747809992782052608590312577131706150772315624598387458227101410539435464473575068884562206664299498652744848147805435975157608518266080143634221630049346076462625960201834554698158269873461378644339777164371299880956779881231299973818919476603006405544856179819760494741088535077018099344485411554260926837615776863287104101861371933984489232242565291610810017896128823612507723343826773266238926315245920842918761281364700284846024124103907336035322549483796032344959541265201701785861567906263379000025669502608987902778220234268577570486608598601719912630543054754114888874533720534311791895244075271432985993258991098310830443805654154260892486188916085899869375128952163187927469183330473337822677574482671226585643094840394521750474270715679180829659975233703760616698894041780814825603523602198832268999380094071994972813697340232244575872027996649104393440790451338971868725987467542471781901344330871829303873030820752821466123407680068607 186571170350682467979868139963854025841140775886441686407442427917627121959349010829224407038084742617238425036006536755702606408126887419043697310802118786606819445405489983107455111874423142055725432374107249675533783947743290713616650766329595308034111876632087926225729085808250197168388614612780120007212212721797808466662436605221118568745141013138446790758788500895598990334350275435768113910736826776609150913907785288740434363229436258381283527672879739952744471667718040914601308245949032112661917844808662018632784122075959478661486208740628872900159908613038592868446037576181516116870755282001806486363860257763409413170188894182046079217553142537790176895325776386213456067768895436241239476882066370927933613652450356414007152621367755426937632691728613251744902589047635482038771917296776205226925483590349200448206960024122944818360190444351421037666343780791990727037412663153628260914031942194786553172687591504357434349517422665010815488061201757040998472001153141676925962736537249529978645250089785630434832513997053706552722631047804018241792560205272215163021024455573160374273386820842030449835073896977431956624461034935196417207100488092697465375381417768110551936925645224069884211275272370480937237960271604246274006459151795808170229031714324987549877658432529068714753793757205380511084422483728109413853805351022387732758291846582105281202673382823199088927547625115314556147610056663171252017986360197918376519680751081509221728056017003325697062756244100699402779960221956885683970049158626348794827462744819119200296985016070554412877529110518676984432078555912347103859662767051389643765375276865575485559334543827279882012134816720194003832564732874353819670620317391442870700101747811674430376341791185060973480432561980515835103100926380635819572625584554213620989416954008705813887756698655357209085750049954665414388142004701517169524636605089395343491937209457844814280199774781331053038411584914272769862470624035628208555611620522728128696191114281743881875918729533580407210536610283631600377982246939362552339991796649428302739464968943953763004850845514708904316988815012748660098558973526584680743846986733142385670865332934738757193970238771912151736291041223997815524954337025390560030243760262245998802750323732833552404809662123496105354884998754659701797541813293397634730681507031500892303105316639772704438007630204167254991764401527727581835167736049655273725189021967418066125003349202138330990108765747167162662690621156432679422430969101940637069785989377845884528899114715127023081035177269539480077116651078062066042666330698508003896967933814324185417298191580926630334869552632547712505653154677003219236788345069883848878939881477357707360606318320946086752681755438097661058581696556078193290947076944429398470794786844259770984514239628317624549316180982374712226157850485166606011690390083067800541159977700823641872720716064181866385599632579831255956734261418110852370495576693438507581027930629625438470024362359515114218769517340232551809395601797523277022843510587349721640722404158522901278935381610040552484786484980771906559886856344644613240503823663732034954831604720097034122510108624843622856379190193236617515326702259343091734320471487076243347618620761415678823266456605913482501212622892413475338629466397710725870270449621685186270017288634344285031845419568322601575007802581412129072202587342975198042218406326242546766030527396969646358149864343971962682099284561589832917252243551202455884044484929101498804019512105445362306661298244135705284338601984671797625583644232589662631870338177944282600851212174210282435797297698996330440315616388249122050901685392840007983825949799007221081384151436702676744149699538318053680274119887106409546822072111239969602356285982082084032147553760894460744544248043697851018999084017343897612116733356143588760358995991935053142307636040165787865153359236051418557956710604541961063446076695379201005773379662333381531982526445910636 301878494948250871656625491367823318571039396719730712270912796110479316634632189673179996331533911366473699116056538670562132673120909638000005366778170822296257413287148027706685726033691564927773285741863653808646950464260466716591103685603449667190816439868771104603729461717214591514199304676612217365200424193140792010774810329506006416240274048864962969382059229769014076845815204036024430746506172375780810660049829915766213686439100549859409504712572238854465604284060042862985976806265486410487267117077835481059472086833593321641167051413497910101120029444087720347399299394685145107657869876440715702477026393278088522059558831218644818269313247514499871163414300177318086369012455507895743964258556990424390890307954213990840651991295686478327918083868336586563245228438662635643006982351315400237200125836925072894666727733840584459763577622936558333885359276367864539410525707982122981287707592739188866752439484334727282412363369307486211591396936759877864804861118179322001693538764881895310357468550798935282422002327373241236660373381660842226798263704340744853305709506121430664551553591627327204302738753468762497725539545338679441655956417332506556014991274836461845327885016562144515551597337271933375443609679596146502021864543531704255268542124859315667470815816914827386126331002423152301700843361171236796477504623991079402563435123917890370758313354246748788849893521821495975422938498673313300687695160850654625263219496370837813399843776009230003874908137766231430862333127750763412459267947860154366757168535940390812609985365474880976865270877215150705225618601918471597326878157344194968236667586032645367104149802031263220392875006783163309423862458516561939945273580933525066930949693085563656765097602913353433333378209453494256940401310071542440798595236667854218088669911404446883132524195831316718553966606376965590697547033017622086715638258426627597986162861333768753467896216678638117895949736206631654938294063445691979582764773511834213487949579233692617814968761918536522171446013735212279377095268142541344385299792868053804098343192150983459992844279223539394332734305373583819944414841103780511057703665106666518885634787657963129907062531143436644986898118901781703086290611851849944180049396280045363707894883323890712238246153356515875318113000611568353863221403721363487517652224432678816558056170612747661915888566975963184136656126706028703470332007259854079351834341388731875589184793384797378101900992816230398742042340310120685838798604353124105688458165048690834665620989545594311900636654942912420512371062493311842270698536966775477009744710352971431585664304578732515757296284263231797538055613246150820819772614763948772220348735836499279685389936368142612990933920753036205722595971187459745316672967500058743196246182610393550361703839478565053984771889814364632736167372556376324561599224274735790783928065191102490596257179936694921574946032229384308748142432240373827965241732633348488322014761359114157376715017605993487688284572737106184250073349607516059075452100899926853346873176474147499666393608711451091920250958555840791122093520644143265985351971469168010112440122986177177756731738674189699319005150395071172213484972132804470378660248651447543228575400642646978797085376082516488906757479072233235833370554932787743969614935033239447196854904411207572135947280940256586064240045146703739882220483471798810549941750153015813004956842642890489276911145708672247528123408665497168952574793034998488229004026194303200589881080011708741306686967746744693187116822218940375196070252831191382544500881232698397489725745894744594227692541774267763426308875379347432881345491046994268876312138715093120950759280388865864671618882868791391502951694369777636132465166951634491352830556697761264861807528994598221361243142085478665844602607619542729881116113450215583733172693332167297718179664036814892258594149687390390426682698072084432845347421026251030309646410483086202998105934125979243 488449665298933339636493631331677344412180172606172398678355224028106438593981200502404403369618653983712124152063075426264739081247797057043702677580289608903076858692638010814140837908114706983498718115970903484180734412003757430207754451933044975224928316500859030829458547525464788682587919289392337372412636914938600477437246934727124984985415062003409760140847730664613067180165479471792544657242999152389961573957615204506648049668536808240693032385451978807210075951778083777587285052214518523149184961886497499692256208909552800302653260154126783001279938057126313215845336970866661224528625158442522188840886651041497935229747725400690897486866390052290048058740076563531542436781350944136983441140623361352324503960404570404847804612663441905265550775596949838308147817486298117681778899648091605464125609427274273342873687757963529278123768067287979371551703057159855266447938371135751242201739534933975419925127075839084716761880791972497027079458138516918863276862271320998927656275302131425289002718640584565717254516324426947789383004429464860468590823909612960016326733961694591038824940412469357654137812650446194454350000580273875858863056905425204021390372692604572397264810661786214399762872609642414312681569951200392776028323695327512425497573839184303217348474249443896100880124759628532812785265844899346210331309975013467135321726970499995651960986737069947877777441146936810531570548555336484552705681521048573001782900247452347035127899793012555700937664381866930833642293349707649096429317106486503161584631280759510012906970381545435389742799987733827689657697157830818701186540924395584612002042862898220852663484345858543102405009823503357313256427191390915759615893898324967937631051440897238087141439394098414406813810771434010092043502236452178260371220821222067839078086865413152697020280894486673927639716656331631005085689037719139256240274863516022941478100070791613567748095991459969170934361321120904424800764687481320188138376394034562342184140693515436499690887491452116929381982624018843879755077515081903896725291589517482106837808161094937222997695124738248298649723120386332480042973814630365191801550651839808904556500120592701887101032769915348796723189160125779518611244948877240504210293156542291362510645207056724264643055815480011980672997999366228055660763217014761122248333731464179708861161487252520366353896197180130439128420528233756285305499743309509353077023363356149941714188142586935709092009758563397561404732961466553365261229573455064742758244154426536719194520104260721334981671832212451900589487713571373908313364867665283480906712644167295617002962496159659146092165836895779510043708767923154040056560959833832621099288617313856987045996254689088699743615676191133866781177667743537938607620044444488141667040969454653321346218079106882678534088070796739344962325223041542930573289614357803591325088042891926132468977896000876787960545664809215564704876693658484680335737309326786995903042691988739595846739379965508601907054090077338736059468951405039336098295611487276574987595580632670400945328990321491644405037443536612697681980376988787879225855795132900045067271727706274211879241847299033322175384340588307789728811674392147562112980720138523786576194021404062657620351832688429971407970101964646711172000021330498469839885384654924633466872193045551857167792700508579187639247847728115868954423070814774008592160156479258359770987370039860135635061010052644210210222693227087001869827036586200944113048511123404699393900592117154103613348265990880398471455424203612172821653897063781045176371219410642680090576958068954876663489839473264093866624491767596554932247176439834276860138088514100342032143431825568541415768582407109445183225814256884045679287239062874460955186842679843348893955082755492682105787390129176516863601691636886627493232846806359172493531689324102350860487300076980680123747508923441808984639408676626393908793497721630231315419790145419584530088460571889879 790328160247184211293119122699500662983219569325903110949268020138585755228613390175584399701152565350185823268119614096826871754368706695043708044358460431199334271979786038520826563941806271911272003857834557292827684876264224146798858137536494642415744756369630135433188009242679380196787223966004554737613061108079392488212057264233131401225689110868372729522906960433627144025980683507816975403749171528170772234007445120272861736107637358100102537098024217661675680235838126640573261858480004933636452078964332980751728295743146121943820311567624693102399967501214033563244636365551806332186495034883237891317913044319586457289306556619335715756179637566789919222154376740849628805793806452032727405399180351776715394268358784395688456603959128383593468859465286424871393045924960753324785881999407005701325735264199346237540415491804113737887345690224537705437062333527719805858464079117874223489447127673164286677566560173811999174244161279983238670855075276796728081723389500320929349814067013320599360187191383500999676518651800189026043377811125702695389087613953704869632443467816021703376494004096684858440551403914956952075540125612555300519013322757710577405363967441034242592695678348358915314469946914347688125179630796539278050188238859216680766115964043618884819290066358723487006455762051685114486109206070583006808814599004546537885162094417886022719300091316696666627334668758306506993487054009797853393376681899227627046119743823184848527743569021785704812572519633162264504626477458412508888585054346657528341799816699900825516955747020316366608070864948978394883315759749290298513419081739779580238710448930866219767634147889806322797884830286520622680289649907477699561167479258493004562001133982801743906536997011767840147188980887504348983903546523720701169816057889922057166756776817599580152805090317990646193683262708596595783236070736761342955913121942650539464262932125382321215992208138607288830311057327536079739058750927012167721141167546396555672090272749129117505856253370653451553428637754056159132172783224445241110591382385535910936151353245920682990539403961787692982457425759916299987388655734145702859254316946475423442134908250665017008095301058785441710087279027561221697535560729090448390342552822336726218540090380614976881301968836527855991110999977796409523984620736124609765985955896858525419217657865268028269784764156093623265076654939784988775831750569363432428857704744881817303372935971733087193910751379627960146775301776674051100028177808188848446702319475227553860141093806315646882308487155364321101858776064685750584063404632058957916457354520267048588626800738391661849462121159011307581764381169304860876333574597781393319637353150356266731386191057231312734549596944170072503773638930997683924293011944546884863287152065046871707921918585447732518859960611103977698492595597919255134888838632539382109016108083028623065235075937571709535491697038599873453019125898858508300979041960135484225057453347853753223454397571502089595338662814444920309542301012555395173747712387203428334468757106817900611722599032942736325288402092453488804073897632931145211207766602068055179711850692451389635973585973223021494389490983378961942296646524952032491640968789971329804769422046709636417437208770946460314727581036879947005370576263286213809500319688164080663727097456759429303739981448835773703487892874819608836643554286572819142101906632274172775944212682750624911972155761316457738346101892584170822401829621199432342052537317707899983781672128862844920035233737625091658572246422552548017724149894972427720872100643341077580302703963699470891182381247531857292933367146943987813592667486828545736450227229193462982902712214434406087387465275900836686177508626661681811752406014508952308017399377604613755762611750090903467030532214655182708204299256429357374348960256574756226704382656269648578666964113795572382341658610832199411322106748710826754140918747881261625066200628505787528194394697869122 1278777825546117550929612754031178007395399741932075509627623244166692193822594590677988803070771219333897947420182689523091610835616503752087410721938750040102411130672424049334967401849920978894770721973805460777008419288267981577006612589469539617640673072870489166262646556768144168879375143255396892110025698023017992965649304198960256386211104172871782489663754691098240211206146162979609520060992170680560733807965060324779509785776174166340795569483476196468885756187616210418160546910694523456785637040850830480443984504652698922246473571721751476103679905558340346779089973336418467556715120193325760080158799695361084392519054282020026613243046027619079967280894453304381171242575157396169710846539803713129039898228763354800536261216622570288859019635062236263179540863411258871006564781647498611165451344691473619580414103249767643016011113757512517076988765390687575072306402450253625465691186662607139706602693636012896715936124953252480265750313213793715591358585660821319857006089369144745888362905831968066716931034976227136815426382240590563163979911523566664885959177429510612742201434416566042512578364054361151406425540705886431159382070228182914598795736660045606639857506340134573315077342556556762000806749581996932054078511934186729106263689803227922102167764315802619587886580521680217927271375050969929217140124574018013673206889064917881674680286828386644544404775815695117038564035609346282406099058202947800628829019991275531883655643362034341405750236901500093098146919827166061605317902160833160689926431097459410838423926128565751756350870852682806084541012917580108999699960006135364192240753311829087072431118493748349425202894653789877935936716841298393459177061377583460942193052574880039831047976391110182246960999752321514441027405782975898961541036879111989896244843642230752277173085984804664573833399919040227600868925108455900599196187985458673480942363002916995888964088199598576459764672378448440504539823438408332355859517561580958897856230966264565617196743744822770380935411261772900038887250298306349137835882971903018017773959514340857905988234528700035991632180546146248780030362470364510894660804968786284327998635028843366904109128070974134238433276439153340740308780509606330952600635709364628088729185297437339241524357784316539836664108999344024465184747837750885732014319687361038234280379145117788394623680961336224062393497183173541274081331493878872785505881068101031759017561078558668796285920509943025521551508263243227416361257751263253591204946473901764273054661198067036981863980319367816221691346489636059658897428272297342438823169998687562665591589296898050807941627958054790817625473149092458900932894534431614014418925970464213253777382445746320012478165273135303939284951306674535622531913056389035026530328121519700193054139997692330411052948031407843322660817818639462185708178452990342973434104150974954755534212971938448497496037361847815438157895819557343188636716351286922480128100145336593349070193777537010691502392752891783656369011252417594731272043323874480003322064337739488301557051589354434380730325845629066186486054274621719024437063561734968100246983578398725601515215433272256343669773831571686751671108320917099594604621688928495116380963443450772294037789041459376431722697683001526658177370597593784683649385704343088714130599290502311286471532681957414961342735740602935477791066625101346827734262063111532532546931582722610760547033165813960667948568795119671172692228866207400376455101048441112599377682264246016948533383499728505490130027670626164720839378046958753472897243320053983757670879662032654347554672220720795951159557858914540542745839843926662822596588315743293805015046144040002947503156047683010281869403322883545727491039645077383413263204242057447962649717694505583585572817922343831699571805990893315984867581807062933928720236071980371999439154264190776252506089167534274008395961515425337220662934416469511492940485990773925372058282855269759001 2069105985793301762222731876730678670378619311257978620576891264305277949051207980853573202771923784684083770688302303619918482589985210447131118766297210471301745402652210087855793965791727250806042725831640018069836104164532205723805470727006034260056417829240119301695834566010823549076162367221401446847638759131097385453861361463193387787436793283740155219186661651531867355232126846487426495464741342208731506041972505445052371521883811524440898106581500414130561436423454337058733808769174528390422089119815163461195712800395845044190293883289376169206079873059554380342334609701970273888901615228208997971476712739680670849808360838639362328999225665185869886503048830045230800048368963848202438251938984064905755292497122139196224717820581698672452488494527522688050933909336219624331350663646905616866777079955672965817954518741571756753898459447737054782425827724215294878164866529371499689180633790280303993280260196186708715110369114532463504421168289070512319440309050321640786355903436158066487723093023351567716607553628027325841469760051716265859368999137520369755591620897326634445577928420662727371018915458276108358501080831498986459901083550940625176201100627486640882450202018482932230391812503471109688931929212793471332128700173045945787029805767271540986987054382161343074893036283731903041757484257040512223948939173022560211092051159335767697399586919703341211032110484453423545557522663356080259492434884847028255875139735098716732183386931056127110562809421133255362651546304624474114206487215179818218268230914159311663940881875586068122958941717631784479424328677329399298213379087875143772479463760759953292198752641638155748000779484076398558617006491205871158738228856841953946755053708862841574954513388121950087108188733209018790011309329499619662710852937001911953411600419048351857325891075122655220027083181748824196652161179192661942152101107401324020406625935042378210180080407737183748594983435775976584278882189335344523580658729127355453528321239013694734702599998193423832488839899526956198019423081530794378946474354288553928710110867586778588978773932661823684614637971906165080017751126098656597520059285732759751440769937094031921117223372032919680143363718180901962006316070335421400990978262186964814947725387817954218405659753153067692655219999321820874708732458487010341780305643257896759699596802983056422893465725492317685658573838113326262857163244448236217934738772845913576320934014530401883479831261322653481698283565019901467461285929071442439651648793376991826914802291873352628746288806523180542793205265700745409481491676929401396739627353207829714180216097636442469791090079213802125207237530261763761809228109029395407738563323614569520508768636803551325212714870079474011788724945605533306456206068333581911393615273584747064762061916277778143571807992018947300359310414237381440843067291622882355543120259057983378599448047876020207031529058886415311610914945456201696937695393247057964353157598684447102293648175108512781097731415706228576678553553430150126445791036261683431656533094846306202168774188387377117055614247721519675290128172254650169648271328337036155426695429091176991151189019245479365164163322555065713613404967442051627096262657718466446185732865497481930455226250230322892037425264038406605182741173857070897458886024031252794794326387959070715775272663406250735046223633477755086627710179387919646876363969743806705322875795405361385459005321575277125686914897012255343514630695828599808797153585758820499361463936374879793453418733466130581788599917048717268857102196853725900618115420697324835251182365996353818445854601968327808452491226061484530559432511413491368333038542972487267997948856254437353590543512958911118555580831510207409302792051091892365571221641435052576405480306255674489039848454558486882280010290149745342241930767319508684946940454636641648017821228304571824888430826145106207807283622174048047417075335217392754565552191402431159586477249967628123 3347883811339419313152344630761856677774019053190054130204514508471970142873802571531562005842695004017981718108484993143010093425601714199218529488235960511404156533324634137190761367641648229700813447805445478846844523452800187300812083316475573877697090902110608467958481122778967717955537510476798338957664457154115378419510665662153644173647897456611937708850416342630107566438273009467036015525733512889292239849937565769831881307659985690781693676064976610599447192611070547476894355679869051847207726160665993941639697305048543966436767455011127645309759778617894727121424583038388741445616735421534758051635512435041755242327415120659388942242271692804949853783943283349611971290944121244372149098478787778034795190725885493996760979037204268961311508129589758951230474772747478495337915445294404228032228424647146585398368621991339399769909573205249571859414593114902869950471268979625125154871820452887443699882953832199605431046494067784943770171481502864227910798894711142960643361992805302812376085998855319634433538588604254462656896142292306829023348910661087034641550798326837247187779362837228769883597279512637259764926621537385417619283153779123539774996837287532247522307708358617505545469155060027871689738678794790403386207212107232674893293495570499463089154818697963962662779616805412120969028859308010441441089063747040573884298940224253649372079873748089985755436886300148540584121558272702362665591493087794828884704159726374248615839030293090468516313046322633348460798466131790535719524389376012978908194662011618722502364808004151819879309812570314590563965341594909508297913339094010507964720217072589040364629871135386505173203674137866276494553723332504264617915290234425414888948106283742881406002489779232132334069188485530533231038715112475518624251889816113901849656444061279104134498977059927319793860483100789051797521086287648562541348289092859997501348988937959374099144168607335760208359655814224417088818705627743676879440176290708314351384552205278260351899343743016194213424251161299856236906673379837143516782357326191571946484070381927636494967008461361859676246818518052413860048113596463167492180864254519044079439404965937398825226351443007053918576640157334242702315096579941752353591613971551592903676910685255293459930017537469607529319328998665845339893480296237896073794625330618934993979975948100844817517146686828541748052071021286867536938494738327109003440619840946945335338495093089070679765751771265679003249791828263128883822543680334696030856595267278756099969463489940389610610269125890996764484551755336805068378919949226743835562797351895392379771805394534493277732718037268592942832710679354222662742122643461009422157489294078782774286151082549871337690880143214777951073676252280068928988119124722616937923943395104447257816201913970108554624756023426790623020128232876843626551245744613225328977224410032938134133661019814468704527566420734230749768810765013544885574411744533980444481257744021040451363841952645523472600124168598012233047564805847744857717834360136163434978597432585794503725825777741811497785940093350585861776182446876369194085334890072004255673679007489902592666404452517735708833937154126752465284513288359151221700884346646961562566696308948254224493015291689699323760122947039933263360111771450855581108271728374341508924925678461382002246805345363665696388959374080690564418776804489266474610626032855339237869807378127972146006038487389237793635483692131926516206859562036000185252254634199933098739146200620896741986802233194636071918627587674881989696480243812479373515358740751308592922062028029008166000526822689123759612049084976025073305272355340154190929626858715781073012995000294440301093699560641921400424984154393753136793831696169275778834425883492500539055198000761258074612666376902318581851816281043061327109512574382442613667176526617013647456975492495348077394519993679380216203245137599385268080009751686904247506038182176356531644760105237387124 5416989797132721075375076507492535348152638364448032750781405772777248091925010552385135208614618788702065488796787296762928576015586924646349648254533170982705901935976844225046555333433375480506856173637085496916680627617332393024617554043481608137753508731350727769654315688789791267031699877698199785805303216285212763873372027125347031961084690740352092928037077994161974921670399855954462510990474855098023745891910071214884252829543797215222591782646477024730008629034524884535628164449043580237629815280481157402835410105444389010627061338300503814515839651677449107463759192740359015334518350649743756023112225174722426092135775959298751271241497357990819740286992113394842771339313085092574587350417771842940550483223007633192985696857785967633763996624117281639281408682083698119669266108941309844899005504602819551216323140732911156523808032652986626641840420839118164828636135508996624844052454243167747693163214028386314146156863182317407274592649791934740230239203761464601429717896241460878863809091878671202150146142232281788498365902344023094882717909798607404397142419224163881633357291257891497254616194970913368123427702368884404079184237330064164951197937915018888404757910377100437775860967563498981378670608007583874718335912280278620680323301337771004076141873080125305737672653089144024010786343565050953665038002920063134095390991383589417069479460667793326966468996784601964129679080936058442925083927972641857140579299461472965348022417224146595626875855743766603823450012436415009833730876591192797126462892925778034166305689879737888002268754287946375043389670272238907596126718181885651737199680833348993656828623777024660921204453621942675053170729823710135776653519091267368835703159992605722980957003167354082421177377218739552021050024441975138286962742753115813803068044480327455991824868135049975013887566282537875994173247466841224483500390200261321521755614873001752309324249015072943956954639250000393673097587817079021403020835019835669804912873444291955086601943741209618045913091060826812434926096461367937895728831680480125875194181249514415083945782394023683360861456489958578940065864722561824089700923540251803830880174903031430746343574815039973598720003875515144664321412650277173754582592233738557718624636073073247678335677290622675221974548997987666214602212754724906415574930973876831753679572751083901240410612412320859433710644859400193799795657982775345221375358613792858911659429107619472563245583032588332484948075393283030351283829609406138470508244060655747926884265781813742239356557932414177307277757021037550477860411626156145232302424705103222093952021492170935747523808116482395068039948209615986424551350752490404829896052617693352294794919719353422662903595013294251962862401197885602235444325193056198849317558668689194322578263830247886698196564015445737923379438647114225067394313036236107684520344669090921512733109067690488911559095479620646061379725710469746582512107137781038408834415342705487553657490127754036253697855584304240809726118359277894984163625396397846866635130527432100705894599966129188614841554341072105537066310619131019363733606218409040411100374436581079583817593471763215073998100476681818178897918255801202848797147004365428008752429174445736154948241541920022215797548211078339868542852945307926478567157752405594303719252066420452718022078008769916431435183007558445651046486983877186121486990002599145943192683173533333531465043808964514919322398589144181859721490257864599994049408219958753598100610136995776535440220966660766653707227504723599258553582440666205274133474161448633428173244394025361984446381424657451568064540311037509603864704866753645559262665401688268341010943856548877654684243073600832518980564985903960546096623747261168144405647524927553115460678307016932563652514831460805464131826571192806669351443341701951298614116981253655295474796720799919902282950819824486424010528759773433315497085086904297002071590373578787691231237355205015247 8764873608472140388527421138254392025926657417638086880985920281249218234798813123916697214457313792720047206905272289905938669441188638845568177742769131494110058469301478362237316701075023710207669621442530975763525151070132580325429637359957182015450599633461336237612796811568758984987237388174998124762967673439328142292882692787500676134732588196964030636887494336792082488108672865421498526516208367987315985741847636984716134137203782906004285458711453635329455821645595432012522520128912632084837541441147151344475107410492932977063828793311631459825599430295343834585183775778747756780135086071278514074747737609764181334463191079958140213483769050795769594070935396744454742630257206336946736448896559620975345673948893127189746675894990236595075504753707040590511883454831176615007181554235714072931233929249966136614691762724250556293717605858236198501255013954021034779107404488621749998924274696055191393046167860585919577203357250102351044764131294798968141038098472607562073079889046763691239895090733990836583684730836536251155262044636329923906066820459694439038693217551001128821136654095120267138213474483550627888354323906269821698467391109187704726194775202551135927065618735717943321330122623526853068409286802374278104543124387511295573616796908270467165296691778089268400452269894556144979815202873061395106127066667103707979689931607843066441559334415883312721905883084750504713800639208760805590675421060436686025283459187847213963861447517237064143188902066399952284248478568205545553255265967205776034657554937396756668670497883889707881578566858260965607355011867148415894040057275896159701919897905938034021458494912411166094408127759808951547724453156214400394568809325692783724651266276348604386959492946586214755246565704270085252088739554450656911214632569229715652724488541606560126323845194977294807748049383326927791694333754489787024848679293121319023104603810961126408468417622408704165314295064224810761916293444822698282461011310543984156297425649570215438501287484225812259337342222126668671832769841205081412511189006671697821678251631442051578912790855385543037108275008010992800113978319024991581881787794770847910319579868968829571569926258047027517296644032849387366636509230218926108174206205290150622301546758328541138265694828092282751293877996653511554495693050962802489369556304495766747659548699184746057927759099149401181762715880687061336734152721102454224815978454739804246997924200708543243011334803854011488197867221546159235106373289740834501364839327934504026853729271754131849966827058305174071762308776374355546239331575382889067865222056998614473723826886705429025256526153750988010872658888970209087293473395951414252053541911772135069081070801903294000594475156509029913936077450165671164432444317778815787241502063793641580394465744217995252821320038872528546399566879991068693945558780849333013497569079123859646866770087504957616086661900354876811148536475483291468086518882315018853315673086726528005021332080399559726297979752902253042773683165125639841881459756534010301613727960017895209620425743871000112627494434422691398842493066007388557818941108481044666774053444070982176483997924280950782832037630808570644182431544160354070498031351012389571319125483393990379441256833609721539557671158118273131902964716758782059675429480779935812644177744881834720268883354133582127824142381639136215465263788366452596097616035454485181062490551661305677471082296353752712957882281276108375928349819900600179301662854158686696839756337616673277427023199855402725625855092398481248250062684478684647648832902199942021095306422054370150446908247346575327676589396013534677169977222093799750192292260404049414023938856843317955777942634242753919405549140297713682890455443430443923240073408420053654515876307778190638265181208363124045983642852235867996460955916084393912281293507870668942931772213295267979677470813503866640213773897372818583577094838591201249577628555755144222875997460442402371 14181863405604861463902497645746927374079295782086119631767326054026466326723823676301832423071932581422112695702059586668867245456775563491917825997302302476815960405278322587283872034508399190714525795079616472680205778687464973350047191403438790153204108364812064007267112500358550252018937265873197910568270889724540906166254719912847708095817278937316123564924572330954057409779072721375961037506683223085339731633757708199600386966747580121226877241357930660059464450680120316548150684577956212322467356721628308747310517515937321987690890131612135274341439081972792942048942968519106772114653436721022270097859962784486607426598967039256891484725266408786589334357927510139297513969570291429521323799314331463915896157171900760382732372752776204228839501377824322229793292136914874734676447663177023917830239433852785687831014903457161712817525638511222825143095434793139199607743539997618374842976728939222939086209381888972233723360220432419758319356781086733708371277302234072163502797785288224570103704182612662038733830873068818039653627946980353018788784730258301843435835636775165010454493945353011764392829669454463996011782026275154225777651628439251869677392713117570024331823529112818381097191090187025834447079894809958152822879036667789916253940098246041471241438564858214574138124922983700168990601546438112348771165069587166842075080922991432483511038795083676639688374879869352468843479720144819248515759349033078543165862758649320179311883864741383659770064757810166556107698491004620555386986142558398573161120447863174790834976187763627595883847321146207340650744682139387323490166775457781811439119578739287027678287118689435827015612581381751626600895182979924536171222328416960152560354426268954327367916496113940297176423942923009637273138763996425795198177375322345529455792533021934016118148713330027269821635615665864803785867581221331011508349069493382640544860218683962878717792666637481648122268934314225204435013881261901719685481846330379653961210299093862170525103231225435430305250433282953481106758866302573019308240020687151823696872432880956466662858573249409226397969731497969571740179843041586815671582711335022651741199754772000260317913501073087001116016647908364532030957921880496099862756798439028708340926182831401788816601372118714957973268426994641177769097905805687708904944487278372598501339121450268647298338371511470260615473360740087255136529810703877799446191337068532663158657353308328015806256917836442343973145942614829189586390202899146972971873083388590251953737995053567874089323384990719351379040065797411906024099743201539034300167646762101836567675848378876364772780334270233383078912607098586195511844824148441819081949594529465487363875990521256716663498070169803281876798478648051273399876769510835014636559060732482835902972729574465881951017884054318266469779005527105293761339871817085440698017913748214781159599879155195446527645757379975522872528262185953038050598626020096057262150088429432015558678822208153595979995835337206493852499801524403534826045085152931857168248858487449995915515025710000188727469048775494796935908803685138407921552547326890085077874427880652061760301591396044165856830138107490388823080349799961556919295178355377817580071554657839726534389498375529743755355219369196613000445817662066708538242587233185530116363429811302287438290961362903498559259325389197581866511750772243638717584606038053631124255173725194639208936126105318267632280280870420290235649840077765200173351071074117440294940366474612449812867244166516169379333082597122080506803645125144889921782307063648575449268550816079732134893289672004026895741129707051044281034682088847445309454957662092317755034882713392195610462185707843586438386114126201674228987079190691612067645720933347606769976554614795123201917696039823929510115469423428674665812399257786345210895410489124324238406568934095187881960421633328353064224302657146251899074179925495498251649218929333931914107234815647417618 22946737014077001852429918784001319400005953199724206512753246335275684561522636800218529637529246374142159902607331876574805914897964202337486003740071433970926018874579800949521188735583422900922195416522147448443730929757597553675476828763395972168654707998273400244879909311927309237006174654048196035331238563163869048459137412700348384230549867134280154201812066667746139897887745586797459564022891591072655717375605345184316521103951363027231162700069384295388920272325715748560673204706868844407304898162775460091785624926430254964754718924923766734167038512268136776634126744297854528894788522792300784172607700394250788761062158119215031698209035459582358928428862906883752256599827497766468060248210891084891241831120793887572479048647766440823915006131531362820305175591746051349683629217412737990761473363102751824445706666181412269111243244369459023644350448747160234386850944486240124841901003635278130479255549749558153300563577682522109364120912381532676512315400706679725575877674334988261343599273346652875317515603905354290808889991616682942694851550717996282474528854326166139275630599448132031531043143938014623900136350181424047476119019548439574403587488320121160258889147848536324418521212810552687515489181612332430927422161055301211827556895154311938406735256636303842538577192878256313970416749311173743877292136254270550054770854599275549952598129499559952410280762954102973557280359353580054106434770093515229191146217837167393275745312258620723913253659876566508391946969572826100940241408525604349195778002800571547503646685647517303765425888004468306258099694006535739384206832733677971141039476645225061699745613601846993110020709141560578148619636136138936565791137742652936285005692545302931754875989060526511931670508627279722525227503550876452109392007891575245108517021563540576244472558525004564629383665049191731577561914975820798533197748786503959567964822494924005126261084259890352287583229378450015196930174706724417967942857640923638117507724743432385963604518709661242564587775505080149778591636143778100720751209693823521518550684512398518241771364104794769435078006505980564540293821360611807253464499129793499651519334640969089889483427331134028633313291941213919397594431110715025970931004644318858963227729589730329954867066946807240724562304991294689323593598856650511394314043582868365248998670149453393356266130610619661797236076620774316473263963424980253671007315523272467405655277509036559049268252640296355461343809836375348821496576188887807473237922716524755980591724325322005939290212049024525450802374573786261570339074776921923368032868819100451041399675265581793798036860423984371089785265987556404599138297544393233334003136441237622432957061323160010664092545326312311790734556098216944564309213828613830423800562796276477483367195318683877203839204093190795016178572407096362455285430597934773711515482827338640806466649242700404143732419280330399683676798661436329518685144902411076115465761516158543563700154288553155706293815090108746895273484689529174667926544909465867469862586447467891125135451453871188840096543209917488334751296751145796479371488435371129744648481324723043936785589320325116639662175738298959467262781344121910989793209706390207151390680141233716913830755209139465294912890527314886132348782378825490597918016713965465929007607556184122158559844717037080687083467770836718081977014560610091313682222073508116305317664276855944886407208401672020345238163151696398611578189897665800352652733928276126991780122812229123090294267366371572104958937689520561755053707809623574569431139965848517470363857238134102285340197919350602223417719103064578958204659310941245059647249922496367169058821570235513566240128342086340357791663266499387911877534634122055990885794341767660424492430922573313840182877248187053556099112275664542662273355173870739123176703996994993181338341147390455861637892446832219704438076554519070482651274764086699501226847485089076136983232276089819989 37128600419681863316332416429748246774085248981810326144520572389302150888246460476520362060601178955564272598309391463243673160354739765829403829737373736447741979279858123536805060770091822091636721211601763921123936708445062527025524020166834762321858816363085464252147021812285859489025111919921393945899509452888409954625392132613196092326367146071596277766736638998700197307666818308173420601529574814157995449009363053383916908070698943148458039941427314955448384723005836065108823889284825056729772254884403768839096142442367576952445609056535902008508477594240929718683069712816961301009441959513323054270467663178737396187661125158471923182934301868368948262786790417023049770569397789195989384047525222548807137988292694647955211421400542645052754507509355685050098467728660926084360076880589761908591712796955537512276721569638573981928768882880681848787445883540299433994594484483858499684877732574501069565464931638530387023923798114941867683477693468266384883592702940751889078675459623212831447303455959314914051346476974172330462517938597035961483636280976298125910364491101331149730124544801143795923872813392478619911918376456578273253770647987691444080980201437691184590712676961354705515712302997578521962569076422290583750301197723091128081496993400353409648173821494518416676702115861956482961018295749286092648457205841437392129851777590708033463636924583236592098655642823455442400760079498399302622194119126593772357008976486487572587629177000004383683318417686733064499645460577446656327227551084002922356898450663746338338622873411144899649273209150675646908844376145923062874373608191459782580159055384512089378032732291282820125633290523312204749514819116063472737013466159613088845360118814257259122792485174466809108094451550289359798366267547302247307569383213920774564309554585474592362621271855031834451019280715056535363429496197151810041546818279886600112825041178886883844053750897372000409852163692675219631944055968626137653424703971303292078718023837294556488707749935096672869838208788033630885350502446351120028991230380975345215423117393354984904629937354203995833047738003950136280473664402198622925047210464816151392719089412969350207396928404221029749329939849578451428552352991211125833687803083347567304153912421132118771468439065522198697830731985935867092691504662338220299258530861240963750337791599722040654604502122089922412709437360861571609793774128858053117198652591805130564312630817364574855525170476738699434489752451204538407886779088034780445111006105115007934329719378889880028613597039743876829842440371198167594438817978460957668200515581202287609075523644458158570817194694217754168697873086142600110983121692835052415952730970703109796833051844416727327590615496115593667533034746268217964185983339448845060359623528759313386339924893149759154857088147509061485957577934201656216625302415020214409533396575553421966066528397895850671378176660305922556205060847389367569283770922507133377615849945590559122378976496706751686289650427315240747773286213932709493971630062397724638111444934917887040650477163871377567565591985412285270660100436284204400924035762261214822522909205375105697087180716369282496492313845789348290343131144083467909088388061768024731462234799073443448220253584669209050268109896511499132794600040892199136160603947150996045371037367486409596850806079940579246342793160034299948488765332853730031266828111561747429572838002050584095343334506990287977518444022116688847228029975431000526003805002393567286720489286841572903161511532887741484292020286642642261857352934768464491213447029497092919632408054213834420233487591354629119158848810115623239239341399788690369102207584588684924093704283627709176702314049929926796177777392701062140864613824813668058531515275115267194468985537368437042100573288010983066214581699093217328085754431657084334072114486119317419744910081485643743598314080160572768662379211665322381725454689582197752876066414423008051090467091737237607 60075337433758865168762335213749566174091202181534532657273818724577835449769097276738891698130425329706432500916723339818479075252703968166889833477445170418667998154437924486326249505675244992558916628123911369567667638202660080701000848930230734490513524361358864497026931124213168726031286573969589981230748016052279003084529545313544476556917013205876431968548705666446337205554563894970880165552466405230651166384968398568233429174650306175689202641496699250837304995331551813669497093991693901137077153047179228930881767368797831917200327981459668742675516106509066495317196457114815829904230482305623838443075363572988184948723283277686954881143337327951307191215653323906802027169225286962457444295736113633698379819413488535527690470048309085876669513640887047870403643320406977434043706098002499899353186160058289336722428235819986251040012127250140872431796332287459668381445428970098624526778736209779200044720481388088540324487375797463977047598605849799061395908103647431614654553133958201092790902729305967789368862080879526621271407930213718904178487831694294408384893345427497289005755144249275827454915957330493243812054726638002320729889667536131018484567689757812344849601824809891029934233515808131209478058258034623014677723358778392339909053888554665348054909078130822259215279308740212796931435045060459836525749342095707942184622632189983583416235054082796544508936405777558415958040438851979356728628889220109001548155194323654965863374489258625107596572077563299572891592430150272757267468959609607271552676453464317885842269559058662203414699097155143953166944070152458802258580440925137753721198532029737151077778345893129813235653999664872782898134455252202409302804603902266025130365811359560190877668474234993321039764960177569082323593771098178699416961391105496019672826576149015168607093830380036399080402945764248266940991411172972608574744567066390559680789863673810888970314835157262352697435393071125234828874230675350555621367561612226930196225748580726942452312268644757915434425984293113780663942138590129220749742440074798866733973801905753503146401301458998765268125744509930700820767485762810430178511709594609651044238424053938440096880355735355058382643231790792370826146784101926151804618807727666426267381642010862448726335506012329439422393036977230556416285103518988731693572574444109328999336461749175434010870632732709584209945513981635888083057737553838306788205968115077597969967908326401133904793423117035054895833562287579887229383355276922587918348928821639763914921443704211885967903809088768402280644814944984429164777892755382881036233384400302738650475198910039952368854055118202125258483139073699004710121419237228285749955867411940732229790113167576737991683160822427905458267590844485162528495197168062675484160186325035790869707120211833636358696292240699856502136150341298018671910733012954988121048879402892062772533177640596254815110595940636322239881859508825697087968915824918209493081611461749102686079130785259907392583465517423987643046770903461884161898174971863592107974031382385778165785928617742566407662135195329773605411397187430000880295524197632344567171390530098149633872770036694399136154489584088307757605912488205378898881597768158231882852914940307160362051008793808674345181000423826385265143382419717689734078620661116461974378644923670531755410650796977659933426260930871018030465779893463821344949050185069863734890502278906528981750542908662308322756607173813087458806219873096800878656538930669694278500612099070695993455778899259313589250957976163204016911060744392039060644586995345610389996265292347936705573685510705231342576567913180202197444000710729935428749457507085052093152525853863222742942442392016267153969440659200450052742148458935724049417309616882927618961416459941750882283450536198036622313693974757759990359109605527823457248818483114310601083251228876099605236206526992792473100455766184392864376729453668897254102913899512084188073699367827057596 97203937853440728485094751643497812948176451163344858801794391113879986338015557753259253758731604285270705099226114803062152235607443733996293663214818906866409977434296048023131310275767067084195637839725675290691604346647722607726524869097065496812372340724444328749173952936499028215056398493890983927130257468940688957709921677926740568883284159277472709735285344665146534513221382203144300767082041219388646615394331451952150337245349249324147242582924014206285689718337387878778320983276518957866849407931582997769977909811165408869645937037995570751183993700749996214000266169931777130913672441818946892713543026751725581136384408436158878064077639196320255454002443740929851797738623076158446828343261336182505517807706183183482901891448851730929424021150242732920502111049067903518403782978592261807944898957013826848999149805458560232968781010130822721219242215827759102376039913453957124211656468784280269610185413026618927348411173912405844731076299318065446279500806588183503733228593581413924238206185265282703420208557853698951733925868810754865662124112670592534295257836528828438735879689050419623378788770722971863723973103094580593983660315523822462565547891195503529440314501771245735449945818805709731440627334456913598428024556501483467990550881955018757703082899625340675891981424602169279892453340809745929174206547937145334314474409780691616879871978666033136607592048601013858358800518350378659350823008346702773905164170810142538451003666258629491279890495250032637391237890727719413594696510693610193909574904128064224180892432469807103063972306305819600075788446298381865132954049116597536301357587414249240455811078184412633361287290188184987647649274368265882039818070061879113975725930173817450000460959409460130147859411727858442121960038645480946724530774319416794237136130734489760969715102235068233531422226479304802304420907370124418616291385346277159793614904852697772814368586054634353107287556763800454460818286643976693274792265583530222274943772418021498941020018579854588304264193081147411549292641036480340778733670455774211949396919299108488051031238813202761101173482513880837101241150165009053103558920059425802436957513466907790304277284139576088131973171640370822254699137093137277638306610811013993571535554431994567497803945077851638120223768963166423508976608181326951992831105305350292749674253348897474665475134854799506622654951342497459692851511682696359905404620706882728534280539143765708760318593593773754330323314738784425637270134364957368363459934926754771849251163083101765996517406128512279110487255316182596759216710733843838704433899981505026259550722554498110939671249812419879427181012159841604821104540930063338165908598382643842026623165011993465319273776318543499125800625590753380492681180507511520544519809853795104256047045104983395513553380388208917988093728275499674888536035427975202530582275978445484738599706038492105486488772600942244796086920356215064657252686747425342870697461407339661808458107281966659078873115944739228390820057117394593655869805034261316746085476317303665206436405781613943975227727180742058876071497623714205281219559959893559389694299735473255330959950753063681632646803429877656047949043632288846807969985829926256614315149739380603810271262378477883395449110320337884397937982460609888870239224608267458019749682291156941352261456876918239179769054090905317978954545226317551376215878296631611164463340280957113077093877415652596300275051195929776306034249848527801404660343933063261565221101385912268896617290432147055073542978262805846278768413679160503551858034024842703309628673346561771125807173102059860461735416723295825436683342110518625797851665091673737017246230137490931919644756441946193950147218051901512193606762283749392107948824891998194813430401997310187924384023824209019688528275673850977318444864037184907791320932969233628020828161310361743348834520607153365241762834977849715246102184143251095006978980313935092239164166459564295203 157279275287199593653857086857247379122267653344879391459068209838457821787784655029998145456862029614977137600142838142880631310860147702163183496692264077285077975588733972509457559781442312076754554467849586660259271984850382688427525718027296231302885865085803193246200884060712196941087685067860573908361005484992967960794451223240285045440201172483349141703834050331592871718775946098115180932634507624619297781779299850520383766419999555499836445224420713457122994713668939692447818077268212859003926560978762226700859677179963240786846265019455239493859509807259062709317462627046592960817902924124570731156618390324713766085107691713845832945220976524271562645218097064836653824907848363120904272638997449816203897627119671719010592361497160816806093534791129780790905754369474880952447489076594761707298085117072116185721578041278546484008793137380963593651038548115218770757485342424055748738435204994059469654905894414707467672898549709869821778674905167864507675408910235615118387781727539615017029108914571250492789070638733225573005333799024473769840611944364886942680151181956325727741634833299695450833704728053465107536027829732582914713549983059953481050115580953315874289916326581136765384179334613840940918685592491536613105747915279875807899604770509684105757991977756162935107260733342382076823888385870205765699955890032853276499097041970675200296107032748829681116528454378572274316840957202358016079451897566811775453319365133797504314378155517254598876462572813332210282830320877992170862165470303217465462251357592382110023161991528469306478671403460963553242732516450840667391534490041735290022556119443986391533589424077542446596941289853057770545783729620468291342622673964145139106091741533377640878129433644453451187624371905427524445553809743659646141492165424912813909962706883504929576808932615104632611825172243553069245412318543097027191035952412667719474404768526508661784683421211896705804722949834925689289692517319327248896159827195757152471169520998748441393332287224612503738690177374261192213234779626609561528476110530573078683370721204861991197432540272201526369299227023811537922008635927819483282070629654035453481195937520846230401157639874931146514616403431163193080845921195063429442925418538680419838917196442857016224139451090181077542616805940396979925261711700315683686403679749459621749010715098072908676345767587509090832600465324133347775909249236534666693610588821960326504248447470166842665112016710808809226156877026364312866653489641879956281808863748394535764172606787313651964421215217280681391132070261167025923994603489226719740667284381807764910025921464538063308525304930622004685664151233540609531225960167291623915864465794584574256413278179570203310956937140971404584068216435238543021176377675574196028679996178830895125754165316817031872249672628908774490229878616797693560446768440930190651631155381337547511132883679088360301599368541578567035968779865040761745221602572343552363779072869088764494537238067226566471456581462163216033866828020856477817767980006124908854059507699689443372222334399356510382889862376071832481482894811144206161515084157525903956865690265571404964832720789758080768801293013965963805554956120494225706851583598084488497168064679687764172322271172286557740630110744164269663081364880327578604317845269383919994128327214827473107672107673895899113195315021776336009420325119781372721164928481701474899353842559863642058844420324314904623031658369742863764840469721624602283316882863732955843721713484982964890073069331406368662793936238969050295679474423552542612502621020188313699624938638909707831380858612765091804311984636476027634127342821248561226601122598758789110398755991354154662587198833962461104116658711101962246348910742685116157366134508881122432391818457251938806667474360407056310841969648608737308803973642712731248569751452347938621911412539237842954070727134146157714863290744034108110478913596919992261081894213447176427237865827391352799 254483213140640322138951838500745192070444104508224250260862600952337808125800212783257399215593633900247842699368952945942783546467591436159477159907082984151487953023030020532588870057209379160950192307575261950950876331498105296154050587124361728115258205810247521995374836997211225156144083561751557835491262953933656918504372901167025614323485331760821851439119394996739406231997328301259481699716548844007944397173631302472534103665348804823983687807344727663408684432006327571226139060544731816870775968910345224470837586991128649656492202057450810245043503508009058923317728796978370091731575365943517623870161417076439347221492100150004711009298615720591818099220540805766505622646471439279351100982258785998709415434825854902493494252946012547735517555941372513711407865418542784470851272055187023515242984074085943034720727846737106716977574147511786314870280763942977873133525255878012872950091673778339739265091307441326395021309723622275666509751204485929953954909716823798622121010321121028941267315099836533196209279196586924524739259667835228635502736057035479476975409018485154166477514522350115074212493498776436971260000932827163508697210298583775943615663472148819403730230828352382500834125153419550672359312926948450211533772471781359275890155652464702863461074877381503610999242157944551356716341726679951694874162437969998610813571451751366817175979011414862817724120502979586132675641475552736675430274905913514549358483535943940042765381821775884090156353068063364847674068211605711584456861980996827659371826261720446334204054423998276409542643709766783153318520962749222532524488539158332826323913706858235631989400502261955079958228580041242758193433003988734173382440744026024253081817671707195090878590393053913581335483783633285966567513848389140592866022939744329608147098837617994690546524034850172866143247398722857871549833225913221445807327337758944879268019673379206434599052007266531058912010506598726143750510803963303942170952092779287374746113293416769940334352305804467092042954370455408603762527420663089902307209780986347290632767640503970479248463779085404287470472709537692375023249786092828536385629549713461255918153450987754020705434924014507234646589575071534015335545058288200707081232029349694413410452750874851583721943396168032715662840574903563403434238319881642635679234785054809914498684968446970383341820902442308597455255416666630807468760760919231026599015209528843055038528986613932551425430610304582563556480191765148738503923624006837324645268798675149307613423769870415417960938621345792960501619325577349622683211314223070558445101184363312791169576644019036174248196554743041884112845163393382214352330501097354962081773064177228416283036443191563668630230713459514903709868842025991923513857558183085716573199806032625999381801210421800427385803053017117692478323606892297368448982803868905393182213431359783032249732589717580465788088141142520811832055700221255826402474289319768895234476534276428426302995345349193225550329697406902444424686885138251071473637785040386225600144984016993108578658740180970454358117589556813891357554392434858411442734644117419463346559990001044660295792671542821762401448096443843619853503999752783072514821569428010745111483214419068367982593533550764441136079221064502154061019347340937467474557069877651378013878009505984414459933564550814138292964369112681653988374870346098924097380806778333086063817182840820755135938297739967500923306709565672640070874719570152403687977226796796217408942814870895233786690359763553423736336914501774896574447888102713046164360655045031017009253611985471478957188031714824952266047401359771853070810684931767187024452787690432526127644986128845086582231955275908655054263876763003474439955673026434508265314959400879317245822220454562126731051498184616075999370245322459714627248837679897639039890684421581566642739573849599586302905247741299522956626125721883823356581097740171087268060874527382268666402032286955648002 411762488427839915792808925357992571192711757853103641719930810790795629913584867813255544672455663515224980299511791088823414857327739138322660656599347061436565928611763993042046429838651691237704746775424848611210148316348487984581576305151657959418144070896050715241575721057923422097231768629612131743852268438926624879298824124407310659763686504244170993142953445328332277950773274399374662632351056468627242178952931152992917870085348360323820133031765441120531679145675267263673957137812944675874702529889107451171697264171091890443338467076906049738903013315268121632635191424024963052549478290068088355026779807401153113306599791863850543954519592244863380744438637870603159447554319802400255373621256235814913313061945526621504086614443173364541611090732502294502313619788017665423298761131781785222541069191158059220442305888015653200986367284892749908521319312058196643891010598302068621688526878772399208919997201856033862694208273332145488288426109653794461630318627059413740508792048660643958296424014407783688998349835320150097744593466859702405343348001400366419655560200441479894219149355649810525046198226829902078796028762559746423410760281643729424665779053102135278020147154933519266218304488033391613277998519439986824639520387061235083789760422974386969219066855137666546106502891286933433540230112550157460574118328002851887312668493722042017472086044163692498840648957358158406992482432755094691509726803480326324811802901077737547079759977293138689032815640876697057956898532483703755319027451300045124834077619312828444227216415526745716021315113227746706561253479200063199916023029200068116346469826302222023522989926339497526555169869894300528739216733609202464725063417990169392187909413240572731756719826698367032523108155538713491013067658132800239007515105169242422057061544501499620123332967465277498755072570966410940795245544456318472998363290171612598742424441905715096383735428478427764716733456433651833040203321282631191067111919975044527217282814415518381727684593029079595781644547829669795975762200289699463835685891516920369316138361708832470445896319357605813839771936561503912945258422020648019667700179367496709399349388508600251106592563889438381161205978502697208416390979483264136524157447888374833249369947317708599946082847258213793205457380843960383359500031581958319365638464804269536247695683545043292018166670029817688287855881990764155244670010155765693292625798350803381542777434084099394090542627015391372782637068791513051370577113648717280927077662423543843377596376657729069925359836563073641892751395838516648607205917712297278185768468745120556079602565483574237556721859673663888798509314626922823883556461264646585997637529971812990539449721371133871941187650600486308293937058461230466535033935858659912601879802211456894507555375738617459258052725646026466968553485509095062009429572309835583833844586741120579760865473396668826089687509684099378868024480086296588147695891892112447598255607145517190797532583416419792021786278869065660458553713159107549291405765046511134454204491716682551950881074580326964741007451932885723839037287246002617604249728274945367303425680266616065260625392332579843170249389457809583659058955873277298221673153026095233608651279098756132154915804723050998876709331808666423724100712221265046078874915147035298008006336720811887567605672224710037406159684134457989997795195465880296818545735260034560963171025400684397194782718064282405546338367935415503835715189291777005971294109660529173252664528355878198676763429094959792399130850740743946870127362526265588776863276065219330708878550624381186788568890327590044070359385996247880704938027753015748251053910289191315238043742120199241244819154109871116158380535474105436686304583769119624422681093909760439678214038911814065537718972545023132310212214971068451936052811322610370288460435873929505264650986388837429256975974875445680671489416465917931467060011337091079529142768740829445093639898114347000801 666245701568480237931760763858737763263155862361327891980793411743133438039385080596512943888049297415472822998880744034766198403795330574482137816506430045588053881634794013574635299895861070398654939083000110562161024647846593280735626892276019687533402276706298237236950558055134647253375852191363689579343531392860281797803197025574336274087171836004992844582072840325071684182770602700634144332067605312635186576126562455465451973750697165147803820839110168783940363577681594834900096198357676492745478498799452675642534851162220540099830669134356859983946516823277180555952920221003333144281053656011605978896941224477592460528091892013855254963818207965455198843659178676369665070200791241679606474603515021813622728496771381523997580867389185912277128646673874808213721485206560449894150033186968808737784053265244002255163033734752759917963941432404536223391600076001174517024535854180081494638618552550738948185088509297360257715517996954421154798177314139724415585228343883212362629802369781672899563739114244316885207629031907074622483853134694931040846084058435845896630969218926634060696663877999925599258691725606339050056029695386909932107970580227505368281442525250954681750377983285901767052429641452942285637311446388437036173292858842594359679916075439089832680141732519170157105745049231484790256571839230109155448280765972850498126239945473408834648065055578555316564769460337744539668123908307831366940001709393840874170286437021677589845141799069022779189168708940061905630966744089415339775889432296872784205903881033274778431270839525022125563958822994529859879774441949285732440511568358400942670383533160457655512390428601452606513398449935543286932649737597936638107504162016193645269727084947767822635310219752280613858591939171999457580581506521940831873538044913572030204160382119494310669857002315450364898319969689268812345078770369539918805690627930557478010444115284921530982787435744958823628743963032377976790714125245935133238064012754331901963396107832288322062036898833546687824598918285078399738289620952789366142895672503267659948906002212802949694360098443010101310244646099196287968508208113476556053329729080957965317502839496354271812027487903945615807795553574231223751936037771464843605389477238069246659822698192560183668026243426246508868297955747523786793738351463600955044873249859079450746380651992013675359987572472126285743111298657394962713430771074996719891641007879646436581306420698031945515973237319973936339117260556661789874500737655554605572346461098693150991020146528144487886298457908866602394370721415866271290417231935367836630869653108433347249179209502610411804918414416705772911354478020305038235886962362001548079410594149041406822486164562697540571418364060001212003805900487222390048891494041745629175079608244082893889356586160417886643855778663144159446877092401392430458412376178740977016058018100903612010598063114249291877775650826620190700080180307552414550170181211881342832732141421945617100527928765613017572115976275968104883240598297358620765043550086897360054349475733675660529539814761297419099125041489699615196591679680861029046984372392364830649985670267660725556418063875401605571697485901653203512562955626060370736494722454105978720134493517824500137509338273815440012788552873168577785120059562202513553431985024686676021884346226796302027539236775524175699124053247139643986170065811979220915926542038367647026988208241505152330721015804249906469645077501088143906589908861929409659271336457325390661607343226773432463453788858513216135467765242518843444575250628978634941223931110250347718132162609852665745756922042414996336406787356019733775748712684782935275506697979623841365688728249044327827051109385779771212644412237108911126260256795554132687996053310639756924036259366376192268770470729639208309582460293528166563301649002508009328351120295511071907390560238437015559881222616745203628115542187801754823641109077262166797203643268211713760041930401302648803 1078008189996320153724569689216730334455867620214431533700724222533929067952969948409768488560504960930697803298392535123589613261123069712804798473105777107024619810246558006616681729734512761636359685858424959173371172964195081265317203197427677646951546347602348952478526279113058069350607620820975821323195799831786906677102021149981646933850858340249163837725026285653403962133543877100008806964418661781262428755079493608458369843836045525471623953870875609904472042723356862098574053336170621168620181028688560126814232115333312430543169136211262909722849530138545302188588111645028296196830531946079694333923721031878745573834691683877705798918337800210318579588097816546972824517755111044079861848224771257628536041558716908145501667481832359276818739737406377102716035104994578115317448794318750593960325122456402061475605339622768413118950308717297286131912919388059371160915546452482150116327145431323138157105085711153394120409726270286566643086603423793518877215546970942626103138594418442316857860163128652100574205978867227224720228446601554633446189432059836212316286529419368113954915813233649736124304889952436241128852058457946656355518730861871234792947221578353089959770525138219421033270734129486333898915309965828423860812813245903829443469676498413476801899208587656836703212247940518418223796801951780266616022399093975702385438908439195450852120151099742247815405418417695902946660606341062926058449728512874167198982089338099415136924901776362161468221984349816758963587865276573119095094916883596917909039981500346103222658487255051767841585273936222276566441027921149348932356534597558469059016853359462679679035380354940950133068568319829843815671866471207139102832567580006363037457636498188340554392030046450647646381700094710712948593649164654741070881053150082814452261221926620993930793189969780727863653392540655679753140324314825858391804053918102170076752868557190636627366522864223386588345477419466029809830917446528566324305175932729376429180678922247806703789721491862626283606243466114748195714051821242488829978581564020188029265044363921635420140256417800615915150016582660700200913766630134124575721029908448454674716852228004954522918620051793383996969001532076928432168327017254728980129546925126444079909192645510268783614109090684460302073755336591484170153238383045559274410511714663348986994076335537056967378154242501943974030967180648159117958100781230762413184266806230449818124083854782131339606515864335365309121754329348174841245077851304271886499424123522236994368616523185873557811658294471940244287122117254382919897623149647665114816638121853553903328781774986184649361640274090369661709863792647227862119443423626648134077048124120854397361935885933831412512606014660487520297742958948452856583925429900405541776959410455539788396911961899035345901908504309170626415430577910487492467841948488576560849902604842024191771463536510918117967463160510719569568104660393849002697866073103993790430987748567462807898060512182032809593902255145033765341794311456466170056449315133408494508553967450358212480420889341624383840132493422585339035628966926863646651234100667310197953411350534276790817043456207981448741946875359462787171621911499337668958167875480201212328785772616580632292425142996866438889497884681835001509220771783467559632306900171721974029890682947608189595144909000234213105283737381597633983965261277859517734472277298402207990159233642189549525503733868532312015983445436503647742305098153706415630565446117854563914271871582651631140217217953473008534598615983262790314702613155244223718087207175469678427010713234233852534325812370005040406766173352267614480686740437798683526560608268815156603732470369243569071870263495650887371024947711214347812564840564673757110677147220400196602250298278190257806489443274662340619794675264596618499354460325118379616811556169440577172041546627274444816857197492190884299604958653719686290701120414353246326346412009041158853681828515649649604 1744253891564800391656330453075468097719023482575759425681517634277062505992355029006281432448554258346170626297273279158355811664918400287286936289612207152612673691881352020191317029630373832035014624941425069735532197612041674546052830089703697334484948624308647189715476837168192716603983473012339510902539331224647188474905218175555983207938030176254156682307099125978475646316314479800642951296486267093897615331206056063923821817586742690619427774709985778688412406301038456933474149534528297661365659527488012802456766966495532970642999805345619769706796046961822482744541031866031629341111585602091300312820662256356338034362783575891561053882156008175773778431756995223342489587955902285759468322828286279442158770055488289669499248349221545189095868384080251910929756590201138565211598827505719402698109175721646063730768373357521173036914250149701822355304519464060545677940082306662231610965763983873877105290174220450754378125244267240987797884780737933243292800775314825838465768396788223989757423902242896417459413607899134299342712299736249564487035516118272058212917498638294748015612477111649661723563581678042580178908088153333566287626701442098740161228664103604044641520903121505322800323163770939276184552621412216860896986106104746423803149592573852566634579350320176006860317992989749903014053373791010375771470679859948552883565148384668859686768216155320803131970187878033647486328730249370757425389730222268008073152375775121092726770043575431184247411153058756820869218832020662534434870806315893790693245885381379378001089758094576789967149232759216806426320802363098634664797046165916870001687236892623137334547770783542402739581966769765387102604516208805075740940071742022556682727363583136108377027340266202928260240292033882712406174230671176681902754591194996386482465382308740488241463046972096178228551712510344948565485403085195398310609744546032727554763312672475558158349310299968345411974221382498407786621631571774501457543239945483708331144075030080095025851758390696172971430842384399826595452341442195278196121477236523455689213950366134438369834616516243626016460261228759896488882274838247601131774359637529412640034355067501308794730647539697329612776797085651159655920263055026193823734936402364513326569015343702828967282135334110706810942053292339007956946976734509160229455384964522428437740456987529070642738141814974070259774078479305554080671531552305759133075907814110096254705390275480163285122489101655339245460871589904836631119578588959826492071770584620930145359636669714018045697956752380806846681492838670249191188040381583032951447507774961987250577960984488795061166558688507075434621218270667532900355330385988649682156458718269895804184422050496528953084024378720488732301548859435675246632816923942151170952039018699622682286268548059453232545764282972314785862307670311879922926254324667317537865960622942927803782061599625167409845238811337339760268184840701401417248036254315875133263719889989408424998588440947645827166018231421001870225034909753824790821492865220305854562903443184033873009960704102921802939257534912284954232220646607724675698218473059675028603397020801937516373461520083383054313644361261115990684184867125398039694662597934307191048920266134405132429934481270681878902286437555003579294340831345670073185738885196408650051775029174404491622684145775758388804407790628737277970135327089838738650398819336769855017147441883694701856224749672782218485628522937591791648895007015635825289836782575179954575879214809425063603671006811986224670066381225781633759277863784222858659311138285720026145142875844086518280082734412420036743172960708287348256435453122581618802067306248438997969421198618287896898921372881430658583669359948323258938825097360227889798673200531039953526286557644566450075259914004301548929377135558124785062656109327626388945162676464951649079432106865711460376738420108936087927720500841521441114342229491615413123550055277252872613723758916952298407 2822262081561120545380900142292198432174891102790190959382241856810991573945324977416049921009059219276868429595665814281945424926041470000091734762717984259637293502127910026807998759364886593671374310799850028908903370576236755811370033287131374981436494971910996142194003116281250785954591093833315332225735131056434095152007239325537630141788888516503320520032125411631879608449858356900651758260904928875160044086285549672382191661422788216091051728580861388592884449024395319032048202870698918829985840556176572929270999081828845401186168941556882679429645577100367784933129143511059925537942117548170994646744383288235083608197475259769266852800493808386092358019854811770315314105711013329839330171053057537070694811614205197815000915831053904465914608121486629013645791695195716680529047621824469996658434298178048125206373712980289586155864558866999108487217438852119916838855628759144381727292909415197015262395259931604148498534970537527554440971384161726762170016322285768464568906991206666306615284065371548518033619586766361524062940746337804197933224948178108270529204028057662861970528290345299397847868471630478821307760146611280222643145432303969974954175885681957134601291428259724743833593897900425610083467931378045284757798919350650253246619269072266043436478558907832843563530240930268321237850175742790642387493078953924255269004056823864310538888367255063050947375606295729550432989336590433683483839458735142175272134465113220507863694945351793345715633137408573579832806697297235653529965723199490708602285866881725481223748245349628557808734506695439082992761830284247983597153580763475339060704090252085817013583151138483352872650535089595230918276382680012214843772639322028919720185000081324448931419370312653575906621992128593425354767879835831422973635644345079200934726604235361482172256236941876906092205105051000628318625727400021256702413798464134897631516181229666194785715833164191732000319698801964437596452549018303067781848415878213084760324753952327901729641479882558799255037085850514574791166393263437767026100058800543643718478994730056073789974872934044241931610277811420596689796041468381725707495389545977867314751207295506263317649267591490713609745798617728088088088590072280922803864483327490957406478207989213097750896244424795167113015808628930492127100215117554719503865896679185777424734533323066127610116296057476014233805045659953713198629632333536521546260174620340546072829474130262294624729004965990704554582625919253011472364656440264098378571194708143167139728253192899891603509615046852747090968614955924632111085663531230698066264145896815541153906742759474979710528198962597445096331082063314760762474773809615297816233506842390750201546357936430360365596630393380976252599291818384128103216742353842556712728998429155162470683180509958488578447672787281485412277738248222367415394096273155894098715863227784951995553525136136085527812701971848059329836289501095250419945902327419868923694707638556871232896648953129678636759920486566035635566829221210290960877942180353714349071457410634392085490381593444546186779390028334870293267849613534588322349452573726985226556808371336214307190504976291364503055591236620578777855806778624735708652830473414508403377706038750985764722359624267548317791784322236838580803561603129137632818045785368130624081665712122012681217829054775992601909691528010334911954100588367698256384871096635172063007306675525884251381728483541314530501611968374095439391200105169342240920402228693034518490151086392076694743888224765459233204664997209044424073980476939467082377398345461189704572153589078320370814408546782425077149939134060554962737122193560380302328627914517254154573153668987531465970791636377081545954694307659537606751389937924901646909350347751440150128536855922756707881749357278963889549171810822721403562010569652744768561974232634392226251473653492985905193595617601126972227325459495241127405043349905968659449896467286294031467405587432601948011 4566515973125920937037230595367666529893914585365950385063759491088054079937680006422331353457613477623039055892939093440301236590959870287378671052330191412249967194009262046999315788995260425706388935741275098644435568188278430357422863376835072315921443596219643331909479953449443502558574566845654843128274462281081283626912457501093613349726918692757477202339224537610355254766172836701294709557391195969057659417491605736306013479009530906710479503290847167281296855325433775965522352405227216491351500083664585731727766048324378371829168746902502449136441624062190267677670175377091554879053703150262294959565045544591421642560258835660827906682649816561866136451611806993657803693666915615598798493881343816512853581669693487484500164180275449655010476505566880924575548285396855245740646449330189399356543473899694188937142086337810759192778809016700930842521958316180462516795711065806613338258673399070892367685434152054902876660214804768542238856164899660005462817097600594303034675387994890296372707967614444935493033194665495823405653046074053762420260464296380328742121526695957609986140767456949059571432053308521401486668234764613788930772133746068715115404549785561179242812331381230066633917061671364886268020552790262145654785025455396677049768861646118610071057909228008850423848233920018224251903549533801018158963758813872808152569205208533170225656583410383854079345794173763197919318066839804440909229188957410183345286840888341600590464988927224529963044290467330400702025529317898187964836529515384499295531752263104859224838003444205347775883739454655889419082632647346618261950626929392209062391327144708954348130921922025755612232501859360618020880898888817290584712711064051476402912363664460557308446710578856504166862284162476137760942110507008104876390235540075587417191986544101970413719283913973084320756817561345576884111130485216655013023543010167625186279493902141752944065143464160077412293920184462845383074180590077569239391655823696793091468828982407996755493238273254972226467928234914401386618734705633045222221536037067099407692945096190512159809489450287867948070539040180493178678316306629326839269749183507279954785562363007572112379915131188043222522595703379247744008853127307116627599419729855470733047223332915926718178379758905873923957861921269500084047191852063879733321281643708205862474990310595198252854437872450084493579124139259267279301163885842280679336082434450642327534864405742457909851494067646043800043497509157848103484235029223924870642965292764097285087889862613909649207571799233553937650107794594881302273703912813731017711653671777528404484703743963774771694757651104520530952300333982293662830104195603947498389965560660646005730779986926889318680654772101464984900840677819803349849559277784707883681037447854785152969449058017941810993437070253800198140045918534247338320350597823211636581823850727879799335586735761252937657940783185399090104474341796651837193938581735744056958427528546279657895237394077324463925938717987037505791864130964115751699435045574020203634360853818425958500342297547467989718647563247155247500070260142312998047671046786660255160205392138151823563966496374747557369235597881694768539991645750133748347493071348815594426626304885390897152294105538230196694070759791842160097902434474807706003784670564539274133440741296417172840513200551750990714099318639072189924235915457536995035269915971941918024454117409578953237953233214096748987240491311687231040095112184978066210239011268214473066030301201501758347559231577445457874731378434826057833258340723689941036709483746909730717296464922406889094491281194845113893112094768842310993557646682961921130695220765693152542574867605819362869713009258512204538363667607860865690215035285129536708023548282480103654823413567323157957009271283265438478548946380846188624666678980371157507136909099343875330905760358697365570334037710063060155045960336762568519385579397584072573446522563546904081129346349554246418 7388778054687041482418130737659864962068805688156141344446001347899045653883004983838381274466672696899907485488604907722246661517001340287470405815048175671887260696137172073807314548360147019377763246541125127553338938764515186168792896663966447297357938568130639474103483069730694288513165660678970175354009593337515378778919696826631243491515807209260797722371349949242234863216031193601946467818296124844217703503777155408688205140432319122801531231871708555874181304349829094997570555275926135321337340639841158660998765130153223773015337688459385128566087201162558052610799318888151480416995820698433289606309428832826505250757734095430094759483143624947958494471466618763973117799377928945438128664934401353583548393283898685299501080011329354120925084627053509938221339980592571926269694071154659396014977772077742314143515799318100345348643367883700039329739397168300379355651339824950995065551582814267907630080694083659051375195185342296096679827549061386767632833419886362767603582379201556602987992032985993453526652781431857347468593792411857960353485412474488599271325554753620471956669057802248457419300524939000222794428381375894011573917566050038690069580435467518313844103759640954810467510959571790496351488484168307430412583944806046930296388130718384653507536468135841693987378474850286545489753725276591660546456837767797063421573262032397480764544950665446905026721400469492748352307403430238124393068647692552358617421306001562108454159934279017875678677427875903980534832226615133841494802252714875207897817619144830340448586248793833905584618246150094972411844462931594601859104207692867548123095417396794771361714073060509108484883036948955848939157281568829505428485350386080396123097363745785006239866080891510080073484276291069563115709990342839527850025879885154788351918590779463452585975520855849990412961922612346205202736857885237911715437341474302522817795675131807947729780976628351809412613618986427282979526729608380637021240071701909877851793582934735898485134718155813771481505014085428976177785127969070812248321594837610743126171939826246585949784362384332109879680816851601089868474357775011052546765138729485147269536769658513835430029182722678756832268394321107335832097443199588039431463903057346428139525431322129024469074624183701041036973670550199992211147406969618599237187178322893983287209523633661325862970733929926098727384169799212980477930796219378802225596257054791188400364338536004752534580499033636748354626123428410859575848891469488023249214160000907264424816143055513801252717186846086301028618722750519513413359367444044429083975799568593069558391446503438754482222956613701965627283382397297054425304878005219245314623472403051396207277137923357249684277285165482441237500132496203931453066301631627264596410035877009947623652629567976430389441109857535285610417784166756614753714446870979105735297687078512831794889111871897338465470642755033458419940763842891902257139840909155612980653135167103150890791886347207003100685859204553073141358693352174406712577377225927734552705818264452818043990723890992014176498037591582025540767919873676901320397123620513645481717013763474366130754471472666112060424826834502273546395798424374869457000323544763323997804332343636376661874653729805778514485855082028680740901464037603945338821830455932669898215106453418429854058342255327743592623790846649407101878336503825235251420141012607113981031760792935463204619681716755411279488852459685782670431295217354320307130641239961248991556181387593578453091447456342904691079396375643870481907238817663157023414107829208099435289450054000727259908899827977270191043051228829397273730679840243342223459323135282947307115728536593350828840504645635593750493057975267398472441604973210031183617373896033920253783360269490079865838758628562229328027720757203567592186677248633115926069111141733736101582379413851683270763929655311190032382371419832003695924428929303552732023342989849840935548534933782156194429 11955294027812962419455361333027531491962720273522091729509760838987099733820684990260712627924286174522946541381544001162547898107961210574849076867378367084137227890146434120806630337355407445084152182282400226197774506952793616526215760040801519613279382164350282806012963023180137791071740227524625018482284055618596662405832154327724856841242725902018274924710574486852590117982204030303241177375687320813275362921268761144994218619441850029512010735162555723155478159675262870963092907681153351812688840723505744392726531178477602144844506435361887577702528825224748320288469494265243035296049523848695584565874474377417926893317992931090922666165793441509824630923078425757630921493044844561036927158815745170096401974953592172784001244191604803775935561132620390862796888265989427172010340520484848795371521245977436503080657885655911104541422176900400970172261355484480841872447050890757608403810256213338799997766128235713954251855400147064638918683713961046773095650517486957070638257767196446899360700000600438389019685976097353170874246838485911722773745876770868928013447081449578081942809825259197516990732578247521624281096616140507800504689699796107405184984985253079493086916091022184877101428021243155382619509036958569576067368970261443607346156992364503263578594377363850544411226708770304769741657274810392678705420596581669871574142467240930650990201534075830759106067194643255946271625470270042565302297836649962541962708146889903709044624923206242405641721718343234381236857755933032029459638782230259707193349371407935199673424252238039253360501985604750861830927095578941220121054834622259757185486744541503725709844994982534864097115538808316466960038180457646796013198061450131872526009727410245563548312791470366584240346560453545700876652100849847632726416115425230375769110577323565422999694804769823074733718740173691782086847988370454566728460884484470148004075169033949700673846120092511886824907539170890128362600910198458206260631727525606670943262411917143895240627956429068743707972942320343377564403862674703857470543130874677842533864884922437098109593851834619977827751355891781583047152674081640379386034887912992427224322332021521407542409097853866800054790990024486583576106296326895156059063322787201898872572654655044951187253003942606914960931532471469492295194598821682478970508459966602189149684513944256524115825171802376183220963293938472247757231960105221082904932339489241830727899202941747210444431993101282792154669620937568707679333126498711948119857125293671361709904032918127710901924758645319854966268830545114394715633071356858160101687453240370597962876150247402529253917714264806486158235682731279348088134982200823192813013437963712042213007917910284139002957939937583906222400973174023734802915860909411972480091073324864732776622078625994372200434546927789085808557830085290862092034797468802317371879510929240711594224698607658591403128583538218857510045238184688554094333779490891357037611562695649430548687123741284327564611797922540110647150557483138522464276812271501754756340179118271244002491066188539482166216685154829180788267990133819214318444794667300305736877219155612517954318437969040859617794062432383968314935790070125003205347816616112139592230958648521767559026947835344008711179925841820522900999366472078753044825615126497209172348547194714847026898855455879494583337890165288479291802572419282772246455410928579055899056214910345042157857634949969508028476092950997469901471390329539298373340880251229463464622211688795080211439006687920350148954127754078696539740497158386846964450817312955009166006746518923134149003391109172115304936163323598239584724237486926304144590018356048640459658303404199170191710217654894105955031421642875259338131820008495160720325397444316400357438183683057403023795767899845494766506269703584413780811343927613487083576248050833079976913285174210380636334263693021253092537417380168766264443814508701136804596789512413387839629664280131710440847 19344072082500003901873492070687396454031525961678233073955762186886145387703689974099093902390958871422854026870148908884794559624962550862319482682426542756024488586283606194613944885715554464461915428823525353751113445717308802695008656704767966910637320732480922280116446092910832079584905888203595193836293648956112041184751851154356100332758533111279072647081924436094824981198235223905187645193983445657493066425045916553682423759874169152313541967034264279029659464025091965960663462957079487134026181363346903053725296308630825917859844123821272706268616026387306372899268813153394515713045344547128874172183903210244432144075727026521017425648937066457783125394545044521604039292422773506475055823750146523679950368237490858083502324202934157896860645759673900801018228246581999098280034591639508191386499018055178817224173684974011449890065544784101009502000752652781221228098390715708603469361839027606707627846822319373005627050585489360735598511263022433540728483937373319838241840146398003502348692033586431842546338757529210518342840630897769683127231289245357527284772636203198553899478883061445974410033103186521847075524997516401812078607265846146095254565420720597806931019850663139687568938980814945878970997521126877006479952915067490537642545123082887917086130845499692238398605183620591315231411000086984339251877434349466934995715729273328131754746484741277664132788595112748694623932873700280689695366484342514900580129452891465817498784857485260281320399146219138361771689982548165870954441034945134915091166990552765540122010501031873158945120231754845834242771558510535821980159042315127305308582161938298497071559068043043972581998575757272315899195462026476301441683411836212268649107091156030569788178872361876664313830836744615263992362091192687160576441995310385164121029168103028875585670325625673065146680662786037987289584846255692478443898225958772670821870844165757648403627096720863696237521158157317411342127639806838843281871799227516548795055994851879793725762674584882515189477956405772353742188990643774669718864725712288585660036824748683684059378214218952087707432172743382672915627031856651431932800026642477574493859101680035242972438280576545556887059384345593919408203739526483195490527225844548327012098085977173975656327628126307955997905203021669484506342005791301078207695638289496172436894037577917849978795905732302281948347463737685228235162756324599885130528596544033019128263541477751962979012492134919540509295744365979567255182017968199971369071285294578626134720175973641512154641945491406155994887553295633908128992438800902589185663252808963667521267596750841283736140670878508451785519065128576402513439860206042438127636910366763438420285055833641388687235225103066347459901105670227666255982162541039237076501109201874680400274708193970802589875656785324371418975614252047476845749244339781423107177198007753543389113810479555929868599226293252315929986002027580456351473620400046970018264697862752581439479010088491330665297657127093183788509250835312929176854189497429489309045997382724062046481790079531496342714722746411206329035910007496115638841918287813951218594232919086884085072909441706971678218889266886241861331588494499872662348140160875463590035290992158144220901601565149787225665780923849203641900830509682698383647445582429879070563653648133276880957197711207238175961681011937886393680908923108007497875551941186169880087975703280505362477316666724919307964945410683252571902685546893618680471521491190712456178393076388658664530454144263254840033524129722567021647735976050003987864925142163108601296196572923861408912290937149385495979214552427636858454917327169646368049341491331587766774031940792521020550722300529699705524479618142657810573424981705191903942771340350320611221543952547482889634526528407724094533990460787981372998021176246603009645359192566816078495664588062063907098193348332443124919788800000769960368243438004689536620132502263228775178199213913866635276 31299366110312966321328853403714927945994246235200324803465523025873245121524374964359806530315245045945800568251692910047342457732923761437168559549804909840161716476430040315420575223070961909546067611105925579948887952670102419221224416745569486523916702896831205086129409116090969870656646115728220212318577704574708703590584005482080957174001259013297347571792498922947415099180439254208428822569670766470768429346314677698676642379316019181825552702196820002185137623700354836923756370638232838946715022086852647446451827487108428062704350559183160283971144851612054693187738307418637551009094868395824458738058377587662359037393719957611940091814730507967607756317623470279234960785467618067511982982565891693776352343191083030867503568394538961672796206892294291663815116512571426270290375112124356986758020264032615320304831570629922554431487721684501979674262108137262063100545441606466211873172095240945507625612950555086959878905985636425374517194976983480313824134454860276908880097913594450401709392034186870231566024733626563689217087469383681405900977166016226455298219717652776635842288708320643491400765681434043471356621613656909612583296965642253500439550405973677300017935941685324564670367002058101261590506558085446582547321885328934144988702115447391180664725222863542782809831892390896084973068274897377017957298030931136806569858196514258782744948018817108423238855789756004640895558343970323254997664320992477442542837599781369526543409780691502686962120864562372743008547738481197900414079817175394622284516361960700739795434753269912412305622217359596696073698654089477042101213876937387062494068906479802222781404063025578836679114114565588782859233642484123097454881473286344141175116818566276133336491663832243248554177397198160964869014192042534793302858110735615539890139745426594298585365130395496139880399402959729769376432834626147045172359110443242818825946013199707349077473216813375583062428697328207539704728550005297049542503526753123219738318406769023688966390631013951258897450898726115731306592853318478527189407856586966428193901709671120782168972066053572065535183528635164255962779705938291811318834914555470001718181433701556650514847378430412356941850374370080502984310035853378351549590548631750225884670740632218926843580632068914870958836735493138976801536604612983557178204098256098361586578551522174374094621077534678465169310757676157475992394716429820968035460936033274849856162744419499173423444485236202332663965365303548274934515144466911919488928410588249987844624208891769223056566704136726010961156383840748302844625510157760749287350706049334265484143746998243812990058385143314937943754747859855750601574842406865630940650348330475480633292973743925527690193165040650253682302078844251401058898023450451209556592182526739413176896786819965174790310203713113457227533444337338338937784041808583740479056708936994254983338509087214521271727809831471173440031240212269010445807399890938327055876260558402011988166133829775658229909455049633294435659808318451451641131001768931244065386176500995306048972856268070978508931407901240387117303900141315329957286712955114256955471452074699402039391347410747831296012951699270210176267378564624875867695956776987603182266249640679911779928549400493795936845706765669726542900196981761451428473060708927088242912200842848123907856053167086732759299571177226365685483481342390779744330962869765225779144190613625547520334951616694427336441038361680722473374075876432917053812401742420175920800604765183738875969460832183604988987651883801263561388233134436850952315742455118117767302943091846995557915682046321500800915377876025876443179154814095950512639359847380228226432335344991691212260939955423805660555901261017917148705244990200352624268168784666720968659727635604885913430294428253218861040260164372395153809365103860090093221607243399896055408949762272444543432457041353696217457206180169536224812057946705826341216922014676616614807863494045577076123 50643438192812970223202345474402324400025772196878557877421285212759390509228064938458900432706203917368654595121841818932137017357886312299488042232231452596186205062713646510034520108786516374007983039929450933700001398387411221916233073450337453434554023629312127366245855209001801950241552003931815406154871353530820744775335856636437057506759792124576420218874423359042240080378674478113616467763654212128261495771360594252359066139190188334139094669231084281214797087725446802884419833595312326080741203450199550500177123795739253980564194683004432990239760877999361066087007120572032066722140212942953332910242280797906791181469446984132957517463667574425390881712168514800839000077890391573987038806316038217456302711428573888951005892597473119569656852651968192464833344759153425368570409703763865178144519282087794137529005255603934004321553266468602989176262860790043284328643832322174815342533934268552215253459772874459965505956571125786110115706240005913854552618392233596747121938059992453904058084067773302074112363491155774207559928100281451089028208455261583982582992353855975189741767591382089465810798784620565318432146611173311424661904231488399595694115826694275106948955792348464252239305982873047140561504079212323589027274800396424682631247238530279097750856068363235021208437076011487400204479274984361357209175465280603741565573925787586914499694503558386087371644384868753335519491217670603944693030805334992343122967052672835344042194638176762968282520010781511104780237721029363771368520852120529537375683352513466279917445254301785571250742449114442530316470212600012864081372919252514367802651068418100719852963131068622809261112690322861098758429104510599398896564885122556409824223909722306703124670536194119912868008233942776228861376283235221953879300106046000704011168913529623174171035456021169205027080065745767756666017680881839523616257336402015489647816857365464997481100313534239279299949855485524951046856189812135892824375325980639768533374401620903482692153305598833774086928855131888085048781843962253196908272582299255013853938534419804466228350280272524153242615701378546928878406737794943243251634941197947576212040535381591893487285659006957913828909758715674422392513775379861547040117774476298552896768826609392902499908260195222826956741938514808461307878610404284635385899736545594534023472589100092224073416983266980747117658221413842704227557472754420853165989532577307868984426285897251136402456977371121873173261109669527842189697162435111890857999695882828613979344384865410735211208649628132166956043937136382210973617948958663338473013958858297933005411343749085096726199056021823389729273812988432153115014702612908069068287258697238919053578029577566916377428390143716601142203184514479067314880185991490446633093291728614093577171495013935977380185860498437828646509058589385815783533286148365163586233906944747798372452319566770451140327036124723489370017242239849466797281020290985297074140958421154593427645143918266988895207112176726478224169059153764380817985191266360733374432173883719368095454646347602474851646130647651593446339810148811445596128631242928208174065684993786286124464256852454802974231840966156452037598967059124748530044096937863066772301540632838056000830150965643583162511487689518930184801027491444149812120506291356967313475854490981400788813250878293970935261252189164252079164390265498787242206514810951395659232166316906052882812268283419346644405983772363975045276761423326535734283923233610888376978997841572397540499914976446859829021176013523830583035969110486854940180667597281226368599139664770856966827972983470886296894592428453513301634072141265596880688701338711815993206367285784212232811662255953505366080380879160574959278669971905544528210940125017041579881271588152368803064820956660942955574250625160376526807386280106693102866966435966712133904614350334508450530650389686139342376994980170306185180301384710515877837054516939845389986062707959443711399 81942804303125936544531198878117252346020018432078882680886808238632635630752439902818706963021448963314455163373534728979479475090810073736656601782036362436347921539143686825455095331857478283554050651035376513648889351057513641137457490195906939958470726526143332452375264325092771820898198119660035618473449058105529448365919862118518014680761051137873767790666922281989655179559113732322045290333324978599029925117675271951035708518506207515964647371427904283399934711425801639808176204233545165027456225537052197946628951282847682043268545242187593274210905729611415759274745427990669617731235081338777791648300658385569150218863166941744897609278398082392998638029791985080073960863358009641499021788881929911232655054619656919818509460992012081242453059544262484128648461271724851638860784815888222164902539546120409457833836826233856558753040988153104968850524968927305347429189273928641027215706029509497722879072723429546925384862556762211484632901216989394168376752847093873656002035973586904305767476101960172305678388224782337896777015569665132494929185621277810437881212071508751825584056299702732957211564466054608789788768224830221037245201197130653096133666232667952406966891734033788816909672984931148402152010637297770171574596685725358827619949353977670278415581291226777804018268968402383485177547549881738375166473496211740548135432122301845697244642522375494510610500174624757976415049561640927199690695126327469785665804652454204870585604418868265655244640875343883847788785459510561671782600669295924159660199714474167019712880007571697983556364666474039226390168866689489906182586796189901430296719974897902942634367194094201645940226804888449881617662746994722496351446358408900550999340728288582836461162200026363161422185631140937193730390475277756747182158216781616243901308658956217472756400586416665344907479468705497526042450515507986568788616446845258308473762870565172346558573530347614862362378552813732490751584739817432942366878852733762988271692808389927171658543936612785032984379753858003816355374697280731724097680438886221442047840244090925248397322346326096218777799230013711184841186443733235054570469855753417577930221969083148544002133037437370270770760133085754925376823811233239898589708323108048778781439567241611829343488892264137697915578674007947438109415215017268192564103834801692895610051140622266598168038060801659212286968979090000180219952189184241821201450468610582718840589030316750309825901462607324205837226474973076117124212306902023810346928106471078601823968593757179958267775353764858177917200320977130513818243459116424087760364664907632198489555090747328909716257441165138327673028560848287903716589545019773700008937607027714399686871003321492444067621555184366854824505263358730468373778209441941656189685474255353506754068281833901152170496064211551285874042502926724154721317327956948904065290615881742053355790828653984972412054845956194662810048482452118477243088420181923624130017218979556605415811277748042647125116567226359772659828867472215832459116193035291977439818350384714674144427502615673453360577538548891980563643710290126775553415344198042465129537137068485688163855604263202634270244792665426662213866345623749624397740053714850669954567790273517967780758700366137379099357194455188656727701224473205601240593567000284055556388055333829524696669304045380703694560823366390617764647871607889566986537477680716621438376356930531600403147219900113773980847022134044697518650837299759452788096324976031064297779602606756136416469375808630464818008827897325094144424202244923705892496410052399344135902082756617852524743655029792387097809970304479389744813226955361547393328061186092044219638702630775903445072602211377311026636282140178492107983914962105897152479108909683762548540999223757254716495115384914161816614510789532771680616751383966783196088573679366608189313564112606952993963107431039835559834201160339842409992359331416342219053976531616462004793926202005020787522 132586242495938906767733544352519576746045790628957440558308093451392026139980504841277607395727652880683109758495376547911616492448696386036144644014267815032534126601857333335489615440643994657562033690964827447348890749444924863053690563646244393393024750155455459818621119534094573771139750123591851024628320411636350193141255718754955072187520843262450188009541345641031895259937788210435661758096979190727291420889035866203394774657696395850103742040658988564614731799151248442692596037828857491108197428987251748446806075078586936023832739925192026264450666607610776825361752548562701684453375294281731124558542939183475941400332613925877855126742065656818389519741960499880912960941248401215486060595197968128688957766048230808769515353589485200812109912196230676593481806030878277007431194519652087343047058828208203595362842081837790563074594254621707958026787829717348631757833106250815842558239963778049938132532496304006890890819127887997594748607456995308022929371239327470403123974033579358209825560169733474379790751715938112104336943669946583583957394076539394420464204425364727015325823891084822423022363250675174108220914836003532461907105428619052691827782059362227513915847526382253069148978967804195542713514716510093760601871486121783510251196592507949376166437359590012825226706044413870885382026824866099732375648961492344289701006048089432611744337025933880597982144559493511311934540779311531144383725931662462128788771705127040214627799057045028623527160886125394952569023180539925443151121521416453697035883066987633299630325261873483554807107115588481756706639079289502770263959715442415798099371043316003662487330325162824455201339495211310980376091851505321895248011243531456960823564638010889539585832736220483074290193865083713422591766758512978701061458322827616947912477572485840646927436042437834549934559534451265282708468196389826092404873783247273798121579727930637344039673843881854141662328408299257441798440929629568835191254178714402756805067210010830654350697242211618807071308608989891901404156541242984921005953021185476455901778778510729714625672626598620372020414931392258113719593181528178297822104796951365154142262504464740437489418696444328184599669891801429347769337586613101445629826097584347331678208393851004731843397152459360524872320612522755899417293825421552827950003571347287429633523729722358822241455044068639959404627200503842884447509661938662674367440001187890587825015316214001446228358439978446079010487584642603959313909469337135701204927802353907215803312978622590693478984003392990344873244258113512724791861408075087426233378623765930131494966434496414006442456497186961717402302373836720056831604247632681769077224865724953318740449032899059360445049945328083455966708447873209535688658395433432102822778765983967600331239776847837129550681924709989114520551561516109970504850614105314067651524522826489851728243148220755423552381882080918152180065724691967944040369440472908921204158177400711198843456421666309636020323679403086250883997926625980213277101384301652710814250524268434042239882148963275928212223669196543574009983520438938221149543975440970673303602822062271974288319861115657437244476633631583114251465312682874372927784150652713736726869330906356023781588851331780962261868682144707586912502251964649751052714073291641022869863909824810925485482554923674674629822075555554869843812261873388354228743992491668017097608523247437653285959488183533120625253005906408672563927598723085988522380248209641952674758600448328533956969290785077324647030003910848924727460171355410560832677077649680570504501222421388709491571628013263273394704562732932903046447299096627144274016762524803860212845069916560115677884264467330816392716663019339067067262584934011441680690049034700804128422270811909623519559936341575104772188761414693148207424137664073476298955540115333320323218178462941461444493757820725974902211196140510148595172660716126858096891031048556307394779988909964464498921 214529046799064843312264743230636829092065809061036323239194901690024661770732944744096314358749101843997564921868911276891095967539506459772801245796304177468882048141001020160944710772501472941116084342000203960997780100502438504191148053842151333351495476681598792270996383859187345592037948243251886643101769469741879641507175580873473086868281894400323955800208267923021550439496901942757707048430304169326321346006711138154430483176202603366068389412086892848014666510577050082500772242062402656135653654524303946393435026361434618067101285167379619538661572337222192584636497976553371302184610375620508916206843597569045091619195780867622752736020463739211388157771752484960986921804606410856985082384079898039921612820667887728588024814581497282054562971740493160722130267302603128646291979335540309507949598374328613053196678908071647121827635242774812926877312798644653979187022380179456869773945993287547661011605219733553816275681684650209079381508673984702191306124086421344059126010007166262515593036271693646685469139940720450001113959239611716078886579697817204858345416496873478840909880190787555380233927716729782898009683060833753499152306625749705787961448292030179920882739260416041886058651952735343944865525353807863932176468171847142337871145946485619654582018650816790629244975012816254370559574374747838107542122457704084837836438170391278308988979548309375108592644734118269288349590340952458344074421057989931914454576357581245085213403475913294278771801761469278800357808640050487114933722190712377856696082781461800319343205269445181538363471782062520983096807945978992676446546511632317228396091018213906605121697519257026101141566300099760861993754598500044391599457601940357511822905366299472376046994936246846235712379496224650616322157233790735448243616539609233191813786231442058119683836628854499894842039003156762808750918711897812661193490230092532106595342598495809690598247374229469004024706961112989932550025669447001777558133031448165745076760018400757826009241178824403840055688362847895717759531238523716645103633460071697897949619022601654963022994972924716590798214161405969298560779625261413352392574652704782732072484473547888981491551733881698455370430024887184273146161397846341344219534420692396110459647961092616561186886044723498222787899286530703337526709040438821020514107406148980325243574870344625420409493104870299171691596179593843064667461851122904495568890469798473306665604346530751756054259902585770284847714059615680076438121776239159511551855908824985817627281572379770651746759357157848522790444579090643238610104867191511513993743288673562329984521525243742916158713938352100045075330934685007960548193792652455469086162472752667718427320036220551804512671500512450310791213711231940004062436604875373759012464240239321107085308058681738281721177988921540400394594064442834125226167942062262971716815138708231905084033976874740395964436728037112814990114207144086421283457860654832545334175396380267804259267699414352283145440246629446023543826794098196045736217577336944688254068874653148716384309651578949381572801207745435554573627230729064996702959319639013138433139959130757662452175465378860071514721426297009776465331658306623997325524204367564406681437121179873991562347551697918341361225876599896243640203476437855352293307640291925078426251965158640450182151858969055378324382898921945487608460133481277921215281470172384638535984880177969253689106708083646894606100028040453370082578436022845441310476573185673016972538203055084670373438666593707789465038831808174018871884373600334266725173487702079914640403305178006562016315283043055660492514533037412292791260526051988691667344823710895904432483772547336019122956866678708127419352945159517559175246499896117338833169157944384566676963270035666878236055051726489266588803272204225919888040889048040259495044113794699928512531742575548414438456865251765810462045397300849991005165020047543200315945007580172769399573915111969485286443 347115289295003750079998287583156405838111599689993763797502995141416687910713449585373921754476754724680674680364287824802712459988202845808945889810571992501416174742858353496434326213145467598678118032965031408346670849947363367244838617488395726744520226837054252089617503393281919363177698366843737667730089881378229834648431299628428159055802737662774143809749613564053445699434690153193368806527283360053612766895747004357825257833898999216172131452745881412629398309728298525193368279891260147243851083511555694840241101440021554090934025092571645803112238944832969409998250525116072986637985669902240040765386536752521033019528394793500607862762529396029777677513712984841899882745854812072471142979277866168610570586716118537357540168170982482866672883936723837315612073333481405653723173855192396850996657202536816648559520989909437684902229497396520884904100628362002610944855486430272712332185957065597599144137716037560707166500812538206674130116130980010214235495325748814462249984040745620725418596441427121065259891656658562105450902909558299662843973774356599278809620922238205856235704081872377803256290967404957006230597896837285961059412054368758479789230351392407434798586786798294955207630920539539487579040070317957692778339657968925848122342538993569030748456010406803454471681057230125255941601199613937839917771419196429127537444218480710920733316574243255706574789293611780600284131120263989488458146989652394043243348062708285299841202532958322902298962647594673752926831820590412558084843712128831553731965848449433618973530531318665093170578897651002739803447025268495446710506227074733026495462061529910267609027844419850556342905795311071842369846450005366286847468845471814472646470004310361915632827672467329310002573361308364038913923992303714149305074862436850139726263803927898766611272671292334444776598537608028091459386908287638753598364013339805904716922326426447034637921218111323145687035369412247374348466599076570612749387210162568501881827228411588480359938421036022647126996971837787619163687779766701566109586481257174353851397801112384677648667599523336962818629092798227412280372806789591650214679449656147886214746978012629418980970430326026639970099916688613620915498984459442789849360518276743442137856354943621293030283197182858747660219899053459236944002865860373848464110977496267754877098600066984242650948148938939131096223380097685949114971513061567169936330470986363894490619662744753202282618342564216363858201644258284035752031245576295212756783711178893033430594551002361345225743360550838867663688837204155963401966275266598940227121912439492461479487959740156922601170435539061762477633308521728017379798040285137238163387338477621037167769069119611164957721445840533766757922159105149539751095000308805861835243006223288707416547835529575411271859913631529514915145625958944095731018556167577039368339661534721756812277125095495819516818610118030967170179931836054365323827301127741466538333573780979003102724121080661919165763926032532274427824720724176259013318961638597399068319398921582758624191800542225309785024876941979128583610751168003217852503295079983811736742781193029636740495326494517508759198059928592890716796970989498370253308355020278143408306452086230015343936403029699303623094558744603830552705728402505103346021713583566101296115874983451375667634413892730052954204974477500357452272395354666275444025462664052655633593403425406906975066196267180015231353033946862042646506034745931429832856821395314969647296803503413204330407957378785114112068835719022943599344544955744827557850565351760485144904527599395271507886911056318933887219095770345195837707825148615835941361586235699764645328842463896134800841131146038943812069608178856626242509084830128780513859206979085370805385540847576501755614988068064371360992033618919068095465026712113735793999653910033248835749921038489875882950623072491785364256593441360139600337680763670058412836038628729076794353904021933949785364 561644336094068593392263030813793234930177408751030087036697896831441349681446394329470236113225856568678239602233199101693808427527709305581747135606876169970298222883859373657379036985646940539794202374965235369344450950449801871435986671330547060096015703518653044360613887252469264955215646610095624310831859351120109476155606880501901245924084632063098099609957881487074996138931592095951075854957587529379934112902458142512255741010101602582240520864832774260644064820305348607694140521953662803379504738035859641233676127801456172158035310259951265341773811282055161994634748501669444288822596045522748956972230134321566124638724175661123360598782993135241165835285465469802886804550461222929456225363357764208532183407384006265945564982752479764921235855677216998037742340636084534300015153190732706358946255576865429701756199897981084806729864740171333811781413427006656590131877866609729582106131950353145260155742935771114523442182497188415753511624804964712405541619412170158521375994047911883241011632713120767750729031597379012106564862149170015741730553472173804137155037419111684697145584272659933183490218684134739904240280957671039460211718680118464267750678643422587355681326047214336841266282873274883432444565424125821624954807829816068185993488485479188685330474661223594083716656070046379626501175574361775947459893876900513965373882388871989229722296122552630815167434027730049888633721461216447832532568047642325957697924420289530385054606008871617181070764409063952553284640460640899673018565902841209410428048629911233938316735800763846631534050679713523722900254971247488123157052738707050254891553079743816872730725363676876657484472095410832704363601048505410678446926447412171984469375370609834291679822608714175545714952857533014655236081226094449597548691402046083331540050035369956886295109300146834339618637540764790900210305620185451414791854243432338011312264924922256725236168592340792149711742330525237306898492268523572390307520241610734246958587246812346306369179599860426487182685334685683336923219018290418211213219941328872251801016823714039640671662572448053553616843254204196710841152432051005002607254102360930618287231451560518400472522164207725095340529941575797894061660382305784134068894938969139552597504316036237854217169241906356970448119185584162574470711906299194868978218383645248080120673470411609663060441253809238302787819559691529013782433364184471665505220940784837201156224009275504958336878245149986648705915703873964112190153021815454724308639620003878851057876123382131996972502717708687390454133416294799202012071142458110454220865201113054791464009484983899838759884373891161807552964243206735977927991832937592707249549811230288755595089105340162969470392946352984077549135870337089543813531605184179620847707246462609814501855894211313692993037902553069915309739690401778220957186498229840011085154800242953661896311101970236215481255338155143782160294138980140786607285161782574011872508970161246807361991820495014202311204172661978297971651514822372304749536538975542087322388273574731475008501452121174691357826084687414683157237981897068214555462614718996950169882740323787299192670791873377580273919486225602667182128629296122367578832559387842550089743573266104006906283954727617644984320435344500074192909204840360455639329353875491179722367840142091825849786272861785431278587873399445845060732528835944196659306932836437294169578283603376160664172904350826909837453061987315412729084470768776871143333394580987986619835006558497874703846623972492903577107667527196962471228918556079094283024053053840399785307832777401833524202194099374594379733628807757488628968351200604527608706409946595669077812615011232153923797997824747071231422553338374185417755584726246119347028364923469937482348810883243379991670039794553637949795305823144987983505915760153995289043767704733177348281663614038290321407488324257595826301990742210130605502700811213258728781046208901846193927819133903435071807 908759625389072343472261318396949640768289008441023850834200891972858037592159843914844157867702611293358914282597486926496520887515912151390693025417448162471714397626717727153813363198792408138472320407930266777691121800397165238680825288818942786840535930355707296450231390645751184318393344976939361978561949232498339310804038180130329404979887369725872243419707495051128441838366282249144444661484870889433546879798205146870080998844000601798412652317578655673273463130033647132887508801844922950623355821547415336073917229241477726248969335352522911144886050226888131404632999026785517275460581715424988997737616671074087157658252570454623968461545522531270943512799178454644786687296316035001927368342635630377142753994100124803303105150923462247787908739613940835353354413969565939953738327045925103209942912779402246350315720887890522491632094237567854696685514055368659201076733353040002294438317907418742859299880651808675230608683309726622427641740935944722619777114737918972983625978088657503966430229154547888815988923254037574212015765058728315404574527246530403415964658341349890553381288354532310986746509651539696910470878854508325421271130734487222747539908994814994790479912834012631796473913793814422920023605494443779317733147487784994034115831024472757716078930671630397538188337127276504882442776773975713787377665296096943092911326607352700150455612696795886521742223321341830488917852581480437320990715037294720000941272482997815684895808541829940083369727056658626306211472281231312231103409614970040964160014478360667557290266332082511724704629577364526462703701996515983569867558965781783281387015141273727140339753208096727213827377890721904546733447498510776965294395292883986457115845374920196207312650281181504855717526218841378694150005218398163746853766264482933471266313839297855652906381971439168784395236078372818991669692528473090168390218256772143916029187251348703759874089810452115295398777699937484681246958867600143003056907451773302748840414475223934786729118020896449134309682306523470956086906798057119777322806422586046605652414624826424318320330171971390516435472347002424123121525238840596652821933552017078504501978429573147819453492594533751735310629858264411514977159366765226923918255457245882994735360670979859147247452439089215718108339084637621811414714772159568717442329361141515834997772070478593905711389402748177433884042939789214962897404877246038835441551411771201095646843672020258160619496587714203012564117348132248147942184267391749937065423331182771884488470674384493342198246078259526258117822253498955165414037417724709394447987113552547252943497444724056761361054809430223570030597551728463995307789873222729945412937149707909792762858174459774134428114392193517844307058029442239083564626605492985482682950252685898521918403729740889104264897816184599430224885316360722316688205054397417050453494461777675418708588227065732034998073948273174749330474070816195151931112462910315478410842543942225810464715941575676121476968098694510572399476235546548563762855500614139486390707672496314233632693252663400001142850961629393811740848733065071432407965909798980761906625521516816935933166118367895089033117546154195557898925600285620737832140914408120693498050025352334022250220357757316948607414994089103904745614933242865558985351067459057281018483715125543201517420686754515484232792847876946202513004924190610472103332395500489949803171687028783067639239100618006925068806095934177455375590505514708300976190215976302956267131810061911079034254581351278017689176503246219906070573463511823921840874618405600884930212360376797105032089105155693528266952724578102684466676176349220363550067996182295433723141457475128288724639128970786015043492161517230811660264669556374899860887571902555308287734351730819881747285027862618009310787339442064056078970942472267731083043421614766426184031584652528166204358111396749381190558584183570270205840381574883317141617084837630922988281723155837384857171 1470403961483140936864524349210742875698466417192053937870898788804299387273606238244314393980928467862037153884830686028190329315043621456972440161024324332442012620510577100811192400184439348678266522782895502147035572750846967110116811960149489846936551633874360340810845277898220449273608991587034986289393808583618448786959645060632230650903972001788970343029665376538203437977297874345095520516442458418813480992700663289382336739854102204380653173182411429933917527950338995740581649323798585754002860559583274977307593357042933898407004645612474176486659861508943293399267747528454961564283177760947737954709846805395653282296976746115747329060328515666512109348084643924447673491846777257931383593705993394585674937401484131069248670133675942012709144595291157833391096754605650474253753480236657809568889168356267676052071920785871607298361958977739188508466927482375315791208611219649731876544449857771888119455623587579789754050865806915038181153365740909435025318734150089131505001972136569387207441861867668656566717954851416586318580627207898331146305080718704207553119695760461575250526872627192244170236728335674436814711159812179364881482849414605687015290587638237582146161238881226968637740196667089306352468170918569600942687955317601062220109319509951946401409405332853991621904993197322884508943952348337489734837559172997457058285208996224689380177908819348517336909657349071880377551574042696885153523283084937045958639196903287346069950414550701557264440491465722578859496112741872211904121975517811250374588063108271901495607002132846358356238680257078050185603956967763471693024611704488833536278568221017544013070478571773603871311849986132737251097048547016187643741321740296158441585220745530030498992472889895680401432479076374393349386086444492613344402457666529016802806363874667812539201491271586003124013873619137609891879998148658541583182072500204481927341452176270960485110258402792907445110520030462721988145451136123715393364427693384036995799001722036281093098297620756875621492367641209154293010125816347537988536026363914918857453431448540463958991992744419444070052315601206620833962677670891601655429187654378009122789209881133666219926014758741476830651159799840209409038819749071011057987150396215022547332864987016097001464621680995572688556458270221784385885426678458763586420547744786763915118445540890203568771830656557415736671862499480743976679838241430510500946772352556038296803067681295763118956374832864189661270033052006212260132337289207204661374062951186650735546346797766625339170748795968213648571955669793754367426108560182819848668852314665602044407506929707956600120939183321385377583561794935199973235781706160322652662486960938198548357947279799937103898507338546501921856193899779328627378158210677165103530657499148508336420259623952202797257935718737669345534625006762500537645391552627257061538649262020629080604899329035968250479329286428318531490768209796335938538397624692889490283351514103472617826707762070690323788172271356488870371127750368920868512392039589681573713095946071045708641194704784574692500677046316808494898086714962139646963428524517977712076508261840604235125836910241272669307037032379798225081054229581743105410973473795963243587793598618438029156504312484934593591735429433603978938524138083226014624680421334548460740851555267635027367206959616300915511380721276392047573737453026554668762639328336927243972749970632159228303412004968833834906259157921492868104674976283485172119523610557290942886966816620408953738101205323770921266284170773416868541802382067903016123898671459441284715520193154198938556291299255068122646686353385860173095644527549824891158774406128891102800954072486360442648437126795533086274914714855604997078020254282621019207915936826025245770083162614063261738955067657171647260582645265209044062476858232421726372087189319499603532313248266566456525765599721006977016860574925780400811343082386096575870398131046532769182209542289740819928978 2379163586872213280336785667607692516466755425633077788705099680777157424865766082159158551848631079155396068167428172954686850202559533608363133186441772494913727018137294827965005763383231756816738843190825768924726694551244132348797637248968432633777087564230067637261076668543971633592002336563974348267955757816116788097763683240762560055883859371514842586449372871589331879815664156594239965177927329308247027872498868436252417738698102806179065825499990085607190991080372642873469158125643508704626216381130690313381510586284411624655973980964997087631545911735831424803900746555240478839743759476372726952447463476469740439955229316570371297521874038197783052860883822379092460179143093292933310962048629024962817691395584255872551775284599404260497053334905098668744451168575216414207491807282582912778832081135669922402387641673762129789994053215307043205152441537743974992285344572689734170982767765190630978755504239388464984659549116641660608795106676854157645095848888008104488627950225226891173872091022216545382706878105454160530596392266626646550879607965234610969084354101811465803908160981724555156983237987214133725182038666687690302753980149092909762830496633052576936641151715239600434214110460903729272491776413013380260421102805386056254225150534424704117488336004484389160093330324599389391386729122313203522215224469094400151196535603577389530633521516144403858651880670413710866469426624177322474513998122231765959580469386285161754846223092531497347810218522381205165707585023103524135225385132781291338748077586632569052897268464928870080943309834442576648307658964279455262892170670270616817665583362291271153410231779870331085139227876854641797830496045526964609035717033180144898701066120450226706305123171077185257150005295215772043536091662890777091256223931011950274072677713965668192107873243025171908409109697510428883549690677131631751572290756976625843370639427619664244984348213245022740509297730400206669392410003723858396421335145157339744639416197260215879827415641653324755802049947732625249097032614404657765858832786500965463105846073366888277312322916390834586487787948209044957084202909732198308251121206395087627291188310706814039379507353275228565961789658104620924015979115836237981905405853460905542068225657995956148712074120084788406664797354859406197300141450618332303862877105928279750116217611368797474483220059305593170555905439269958939577243118676549336388323764327239392449911353316021279575871420578392673834150400138460408074521556598954598439486282369422620034817472151118681368994874227739906689777923292709532840145977907529243116839428218149297351004374432013361481993992751608947614159346663663968543571579383052598075424110646108341120805454259711238326621730740019766163251929221567710942784816170150586213607751834406858338663353693091901522833534922268775759510323123222854333596607024674111992143723798304499313487556101700285477403234701493280821242280612531090469510087603204968694194058045698428291423703646366445265140370050999442770603985915469432275247540203821060103803618567359942273887957447974693643528007946202306638935448027211079371394434316958473983133783357421171059003028609167758340154578533993782979979829867363843243114388204083937085843623970772051406724670242251542199150423522707883684139071326091573610031488793605741759335270393178228884627646370816399744173569153338250086742377217165140865971723837417193775921657660942295942651105586840759975065253855670323480265481798193473095713826533593899154098626682320032772355786675048938955460674019636774612375845579726937964773289865042169645732553530996043588380404410761650913639077963962857562320703899045254708842402311186536524095529961488731373076255766319101318406876372835808738284923838995919068803508728580554057817514344883143486240095519789656571369984707273100141447800704689457455130610934266029716344832919094622730123711117756358207419159109350671017183463960979893012015215884163692170491265445578204786149 3849567548355354217201310016818435392165221842825131726575998469581456812139372320403472945829559547017433222052258858982877179517603155065335573347466096827355739638647871928776198163567671105495005365973721271071762267302091099458914449209117922480713639198104427978071921946442192082865611328151009334557349566399735236884723328301394790706787831373303812929479038248127535317792962030939335485694369787727060508865199531725634754478552205010559718998682401515541108519030711638614050807449442094458629076940713965290689103943327345523062978626577471264118205773244774718203168494083695440404026937237320464907157310281865393722252206062686118626582202553864295162208968466303540133670989870550864694555754622419548492628797068386941800445418275346273206197930196256502135547923180866888461245287519240722347721249491937598454459562459633737088356012193046231713619369020119290783493955792339466047527217622962519098211127826968254738710414923556698789948472417763592670414583038097235993629922361796278381313952889885201949424832956870746849177019474524977697184688683938818522204049862273041054435033608916799327219966322888570539893198478867055184236829563698596778121084271290159082802390596466569071954307127993035624959947331582981203109058122987118474334470044376650518897741337338380781998323521922273900330681470650693257052783642091857209481744599802078910811430335492921195561538019485591244021000666874207628037281207168811918219666289572507824796637643233054612250709988103784025203697764975736039347360650592541713336140694904470548504270597775228437181990091520626833911615932042926955916782374759450353944151583308815166480710351643934956451077862987379048927544592543152252777038773476303340286286865980257205297596060972865658582484371590165392922178107383390435658681597540967076879041588633480731309364514611175032422983316648038775429688825790173334754363257181107770712091603890624730094606616037930185619817760862928657537861139847573789785762838541376740438417919296496972925713262410200377294417588941779542107158430752195754394859150415884320559277521907352236304315660810278656540103549415665791046880580623799963680308860773096750080398191840480259305522112016705396612949457944830333054798864907249039892556249675928089401090645012053150176695801080361095221255625081190583185568129077095890283424850715043665234663152259001043255050715863008907227767938750702916257081360107059837335096116883277689252979034611784398532246253442582335104183452144672668206858845806159259813549233556073355581164269917744020539743670195953555261733593086463900266254538090349091785691742883751341758511304139969961602933176072994325197721141598863941779353285543375250737911071584306889478752734059648342225129069286521688019445829000896338320943026847315689744265250982915194758922977645294698780769253659938121294135329885723391978988159651931173530792985818933579918386885137668535956732521129811812312010490408867029007907712296094458977545572149171046118131465717056769053312641407488313141731736284390300787639579793502633816899564638405650915082662232549386144205054263010801537022162989350726334822958834936186059642045198025406184839938850440427647191610913792008061034059449106948654087862000047180673637222589210080563228982727186135790885852956311862622663209409317588234711910128154202500186825660813256251834605987117315255554290429730297660479830243719809628611052174344437748671628293101524246063110555674594881324411777163191584940458081678645215237437090884842041065443302728986510456991998819860221744844793053643154178227647629954088671961324483454361252746685194982144671703665829773560325431349823030657965231448870145867616808440077639325049602447849174021513382561852187593321591228440805816305178121616938276719445554605799827900676958946405225195163176961303831952629972482144203924658937111183827217800253765633248658081185661079255889310838763335224279734035131071828526546347076468882413346930696461352700807735319024715127 6228731135227567497538095684426127908631977268458209515281098150358614237005138402562631497678190626172829290219687031937564029720162688673698706533907869322269466656785166756741203926950902862311744209164547039996488961853335231807712086458086355114490726762334495615332998614986163716457613664714983682825305324215852024982487011542157350762671690744818655515928411119716867197608626187533575450872297117035307536737698400161887172217250307816738784824182391601148299510111084281487519965575085603163255293321844655604070614529611757147718952607542468351749751684980606143007069240638935919243770696713693191859604773758335134162207435379256489924104076592062078215069852288682632593850132963843798005517803251444511310320192652642814352220702874750533703251265101355170879999091756083302668737094801823635126553330627607520856847204133395866878350065408353274918771810557863265775779300365029200218509985388153150076966632066356719723369964040198359398743579094617750315510431926105340482257872587023169555186043912101747332131711062324907379773411741151624248064296649173429491288403964084506858343194590641354484203204310102704265075237145554745486990809712791506540951580904342736019443542311706169506168417588896764897451723744596361463530160928373174728559620578801354636386077341822769942091653846521663291717410592963896779268008111186257360678280203379468441444951851637325054213418689899302110490427291051530102551279329400577877800135675857669579642860735764551960060928510484989190911282788079260174572745783373833052084218281537039601401539062704098518125299925963203482219274896322382218808953045030067171609734945600086319890942131514266041590305739842020846758040638070116861812755806656448238987352986430483911602719232050050915732489666805937436458269770274167526914905528552917350951719302599148923417237757636346940832093014158467658979379502921805086326654014157733614082731031510288975078954829282952926129115491263135326930271143571432186207097983698716485077834116556712852753128904063525133096467536674404791204191045156853520253691936916849783665123595274240513616638577201113243027891497624710748131083490355998271931430067168184377371586502547294298685029465291933962574739116049451257070777980743487021797962103136833631469316303008009298888769921165149501886052979940596780485709579695428194146301956643323415350880763627798517738270775168602077783673378020661855834324478783609173723419881210517081702890387927805678108117674020975008938333852283133076281380402405113858253035515925495975615981742068862701908738544423693461951511516379173433106400515997878334902531171101900639109515678571983323084927168824603272811880488262527910322924864926427848813335182230415230599558188319359580551750800026541454182697758222464049263727843017466275957873002817322053097586331338386600303602788582206897053645653008946246312584766676605285522936709617238079231874441239368821434135755831305093133252771021398119477417799899299427671739630194869474409555169363423214318453011458487755912335722199859733062887119997323693920703183205765593188970619680524079787733062209213108175957611016561805706217393151894660042775828555446577243842967459608185987346189447785791041013889316470791897202250204131117759480846559982131969953652969437677990036276479019746306802280735409161844743398921759944259522096053991485136462252357933714999727859583068547747222207460884950494582776011761631524593285954043820188714216142515354856389665632833515065205939879872118310951263624478741195164069985049019282812778673868799177205518812690417766554073227356892053445251189525624006985300216191025733052108076591424473964509313785888220285935347915400576459210751264175849145132409337905394589638328171288911728467601276614554590101960612857345522954283186353885718191303829548711435258696750960403322614679755244345372459641800641282348411188031662965002914104755701986013021956519693431698893144481742845710010308056361894428562814860153523192073180897229501276 10078298683582921714739405701244563300797199111283341241857096619940071049144510722966104443507750173190262512271945890920441209237765843739034279881373966149625206295433038685517402090518573967806749575138268311068251229155426331266626535667204277595204365960438923593404920561428355799323224992865993017382654890615587261867210339843552141469459522118122468445407449367844402515401588218472910936566666904762368045602897931887521926695802512827298503822864793116689408029141795920101570773024527697621884370262558620894759718472939102670781931234119939615867957458225380861210237734722631359647797633951013656766762084040200527884459641441942608550686279145926373377278820754986172727521122834394662700073557873864059802948989721029756152666121150096806909449195297611673015547014936950191129982382321064357474274580119545119311306766593029603966706077601399506632391179577982556559273256157368666266037203011115669175177759893324974462080378963755058188692051512381342985925014964202576475887794948819447936499996801986949281556544019195654228950431215676601945248985333112248013492453826357547912778228199558153811423170632991274804968435624421800671227639276490103319072665175632895102245932908172738578122724716889800522411671076179342666639219051360293202894090623178005155283818679161150724089977368443937192048092063614590036320791753278114570160024803181547352256382187130246249774956709384893354511427957925737730588560536569389796019801965430177404439498378997606572311638498588773216114980553054996213920106433966374765420358976441510149905809660479326955307290017483830316130890828365309174725735419789517525553886528908901486371652483158200998041383602829399895685585230613269114589794580132751579273639852410741116900315293022916574314974038396102829380447877657557962573587126093884427830760891232629654726602272247521973255076330806506434409068328711978421081017271338841384794822635400913705173561445320883111748933252126063984468132283419005975992860822240093225516252035853209825678842166473725510390885125616184333311349475909049274648551087332734104224401117181592749920954238011391899567995047040376539177964070979798235611738927941281127451984694387774557990551577308639359187688573994281590125576845650736061690518352812761720870406948020062449065465722245510597107308605021787363671277708772524084429726807358367080585543915886799560993321491031610985011441316771364772091405838890669011058515998093794770955869422539590076640363927463557344042517304427805744488239248211273118066584749481569331197146011986606722448482214619647017213245109465637333372655054088227426688222913985651980868026982711953284687860344897597598009601629861391852102278150469803099551246253814722120078310922379007922776879869313063142202143587223360387584670869864781965702138253800237247856509308983681299084372042242145018347780982894669638291572926328536459053729695436171659150261326377037357390868276961116905445263261430265148485325512195393886649285202344040520527686635080479983371765652865976069054067458484250033850526699790826327737602747844171244104053281913073465931938116472223909712979774005912532041040351986830846102417873753471983428682906310048613634537800361577799102047948765577740551290112204178298433118069149192212533182635696623813780922129435331608929465490144726750079455309049914146759708921714804741388296858345051030255282150012798845407702037704604760123193828186106069273264914247145344434777326698189949737714077409996706650146397961550763526188700715363583236229513287778005793269770672688659398950363605744060920732300874986846142117212514009078368238046901386007877723811742421198034289940663608918878251166796785546444076019191341815174194734857187079416103020890023476505050058829717420370895280082229795622242399837792153713618868262775953936630421873712264235275244652237388549297118578911825109566211441797296213660995290416781241902332795283028655978627179612814674236556655132830776841909745556614875892880916216254216403 16307029818810489212277501385670691209429176379741550757138194770298685286149649125528735941185940799363091802491632922858005238957928532412732986415281835471894672952218205442258606017469476830118493784302815351064740191008761563074338622125290632709695092722773419208737919176414519515780838657580976700207960214831439286849697351385709492232131212862941123961335860487561269713010214406006486387438964021797675582340596332049409098913052820644037288647047184717837707539252880201589090738599613300785139663584403276498830333002550859818500883841662407967617709143205987004217306975361567278891568330664706848626366857798535662046667076821199098474790355737988451592348673043668805321371255798238460705591361125308571113269182373672570504886824024847340612700460398966843895546106693033493798719477122887992600827910747152640168153970726425470845056143009752781551162990135845822335052556522397866484547188399268819252144391959681694185450343003953417587435630606999093301435446890307916958145667535842617491686040714088696613688255081520561608723842956828226193313281982285677504780857790442054771121422790199508295626374943093979070043672769976546158218448989281609860024246079975631121689475219878908084291142305786565419863394820775704130169379979733467931453711201979359791669896020983920666181631214965600483765502656578486815588799864464371930838305006561015793701334038767571303988375399284195465001855248977267833139839865969967673819937641287846984082359114762158532372567009073762407026263341134256388492852217340207817504577257978549751307348723183425473432589943447033798350165724687691393534688464819584697163621474508987806262594614672467039631689342671420742443625868683385976402550386789199818260992838841225028503034525072967490047463705202040265838717647931725489488492654646801778782480193831778578143840029883868914087169344964974093388447831633783507407671285496574998877553666911202680252516274603836037878048743389199311398403426990438162199958805938809710594086152409922678431971070537250643487352662290589124515540521065902794902243024249583887889524712455833263537592815212505142595886544665087287309047561335796507543168995109465504823571196935068856675581042600573321762427690043732847196354826394223083488480455949595352339723251028071747954235643410660098993361584962384144156987288467952278576028764001690495936424679514598078731592266200213062795114694792026627925730317674278184781935879304311852658759810467395754748481601484532352980851156710938820769619650616386976319620265407065306813127754055469424357220759043340479164756625844810766479055570086105761590754085087552619977542661283936607772787513722200870821482118123919762425203015396230948364581436045137350677869110698367503328630669339604596384841345445824436848398712882248241660011256617559300954095640322067899387974830824351915401426635903615884604157693005141744576666405053409738382135767616406178825004032792421998578516032451663267962743312094693314321024832538909994937241804443903197690218664324463824966403180684109766913413819788150021658305931049936837293023901593597545719671178681437017888937385022474337747257745138725506145193702308918560672525873769656799621883989809363590143061838082048532448492362408309416192598915709174344503136288666061491770958405914351355236267770880135911924198707971674091019231017768796226524759110702984745255010009595867393154924245165489710617776604197867700797858200201189164623491542840705304594103743042830221715352337841422881837139964339842324431393583272827025076082549346557458576155882418434478687286374102343738195562463703534702375223347117577033610775919819012622508254449977394807098537102144700947020535229942605991023339867266524984810692659218194765416778526430994034925485382042842652967765354120978507599337059566605502648065680570463224638597859331992632894669578220712466391914622629828959178663909395172483227915354751802722087677520324094557519946566963189192671270472560416768399084954097113483717679 26385328502393410927016907086915254510226375491024891998995291390238756335294159848494840384693690972553354314763578813778446448195694376151767266296655801621519879247651244127776008107988050797925243359441083662132991420164187894340965157792494910304899458683212342802142839737842875315104063650446969717590615105447026548716907691229261633701590734981063592406743309855405672228411802624479397324005630926560043627943494263936931025608855333471335792469911977834527115568394676121690661511624140998407024033846961897393590051475489962489282815075782347583485666601431367865427544710084198638539365964615720505393128941838736189931126718263141707025476634883914824969627493798654978048892378632633123405664918999172630916218172094702326657552945174944147522149655696578516911093121629983684928701859443952350075102490866697759479460737319455074811762220611152288183554169713828378894325812679766532750584391410384488427322151853006668647530721967708475776127682119380436287360461854510493434033462484662065428186037516075645895244799100716215837674274172504828138562267315397925518273311616799602683899650989757662107049545576085253875012108394398346829446088265771713179096911255608526223935408128051646662413867022676365942275065896955046796808599031093761134347801825157364946953714700145071390271608583409537675813594720193076851909591617742486500998329809742563145957716225897817553763332108669088819513283206903005563728400402539357469839739606718024388521857493759765104684205507662535623141243894189252602412958651306582582924936234420059901213158383662752428739879960930864114481056553053000568260423884609102222717508003417889292634247097830668037673072945500820638129211099296655090992344966921951397534632691251966145403349818095884064362437743598143095219165525589283452062079780740686206613241085064408232870442302131390887342245675771480527797516160345761928488688556835416383672376302312116385426077719924719149626981995515263295866535710409444138192819628178902936110338188263132504110813237010976153878237787906773457826889996974952069550794111582317992113925829637426013458547053223897042163881591705463826487011632315594743154907923050746632275555891322843414666132619909212680950116264038014437321931672044959145178998808762357073210130199048134197019701365656170696100670189984171507828264997240476363005755571360057576521968595401397639724913757231824047806556011563391400017136156564947195840451877398106623614629233006985831388845528948089697023368461138744565257858898827660094386205014888634638010273766042076146805702973662987496378001735310448099851710624174333188278976999073204600845569643995889892460647858619798468831083747985311614527481165866034047915827689859859470756180033077375426105510538652667738586984932669184824433069582747030207362149510417796548810604949305749198472346873066496933749207618798285522895730619333678203630396100489581397532397093993443536215872309753538904023779293881928416448068824290087200970310034882950515464928439524383181061984317190439894020470639168359800763940519578976349395908678894108081397077183506671011651609295153660927601917159028386869788298097125556352247611576062390544101208780079705413256421790170941389245109786847626272999782474612487714625716984858366557036318924362685305551880535349682964165733261024862662003654017021588237778939939483600967913055969048035775510292159608666238562626282870094470740970432383973770071123114448334509058268869538895254331817820452826928365498735802973645363328665055205907667623096560605030869352320019246117975106246024178539608018674977330584337679676217543780743461394018963041488499731561433820542544390641003725976788268941486493464611249133947806197534602123712064226795680108218241921828585260711455296380662125072448590007753958770661312955927829381456584696102444175488873873103984230021443966696799624291501480834071626255392324904685589264469817687547085750743656147503707372194183123618322023448112382305973383274977835013329737934082 42692358321203900139294408472585945719655551870766442756133486160537441621443808974023576325879631771916446117255211736636451687153622908564500252711937637093414552199869449570034614125457527628043737143743899013197731611172949457415303779917785543014594551405985762010880758914257394830884902308027946417798575320278465835566605042614971125933721947844004716368079170342966941941422017030485883711444594948357719210284090595986340124521908154115373081116959162552364823107647556323279752250223754299192163697431365173892420384478040822307783698917444755551103375744637354869644851685445765917430934295280427354019495799637271851977793795084340805500266990621903276561976166842323783370263634430871584111256280124481202029487354468374897162439769199791488134850116095545360806639228323017178727421336566840342675930401613850399647614708045880545656818363620905069734717159849674201229378369202164399235131579809653307679466543812688362832981064971661893363563312726379529588795908744818410392179130020504682919872078230164342508933054182236777446398117129333054331875549297683603023054169407241657455021073779957170402675920519179232945055781164374892987664537255053323039121157335584157345624883347930554746705009328462931362138460717730750926977979010827229065801513027136724738623610721128992056453239798375138159579097376771563667498391482206858431836634816303578939659050264665388857751707507953284284515138455880273396868240268509325143659677248005871372604216608521923637056772516736298030167507235323508990905810868646790400429513492398609652520507106846177902172469904377897912831222277740691961795112349428686919881129477926877098896841712503135077304762288172241380572836967980041067394895353711151215795625530093191173906384343168851554409901448800183361057883173521008941550572435387487985395721278896186811014282332015259801429415020736454621185963991979545435896359842331991382549929969223319065678593994528555187505030738904462607264939137399882300392778434117712646704424340673055182542784307548226797365590450197362582342430518040854864453037135831901880003450542093259276996139868436402184759768136370551113796059193651391250698076918160212137099127088257912271341713662509786002712543954081747284518286498439182228667479264711952425549853450076205944973937009066830795094031774946555651985252285708428641581784335361748072458393274915995718456506023432037110601670706355418027942866474239225380622387756702418476273389043474381586137327130432622050004219617849683386027478549444047070705825280295699944823401520097545571162923732706327975542758361155258866330766194260438949869731084160757220823112305279826500233435372341999339652565866109231376952684181262264996280409125904996821434049143775742929434141207992272334971826278115009261281468295629278449022160767035355849764700589627817097860321703890848849150634254701901407499888312338819948207062505542991135914532861609849715040876342545960902602295326333591684410812136384780515291334867421860510402170243968286378752202981514903718986873819852469567677354339367126371054214609944044918690101085100268557371280473835097945490854544050861207535555842264281858392805278371309104773734653849362212878305779980304979388171624929674805448274837020797130818315900567540901539455213028746797322838941264034319402001031904998573927852724993262328798170957252397194437815079751020520765302169204533631717550528035584181358747036581841470868981314649523673681760412379600558925921563495657150080851073644396527200468629395048232099016679833432055945434869365803576551262128442613018295305049079674322533242139921078483118684741136540075099275651380446443050798840618398533075325371086187440485146479076553797220874469390237049037488339326413007338607111691705490221866044167915101557773108079749168912292987395986959232761783014638713512470963316222654338636275020336757893395456701455214570988814080761747697733042298888472831333667827801929714129690581511216119382854866390151674062789110443221651761 69077686823597311066311315559501200229881927361791334755128777550776197956737968822518416710573322744469800432018790550414898135349317284716267519008593438714934431447520693697810622233445578425968980503184982675330723031337137351756268937710280453319494010089198104813023598652100270145988965958474916135389190425725492384283512733844232759635312682825068308774822480198372614169833819654965281035450225874917762838227584859923271150130763487586708873586871140386891938676042232444970413761847895297599187731278327071286010435953530784797066513993227103134589042346068722735072396395529964555970300259896147859412624741476008041908920513347482512525743625505818101531603660640978761419156013063504707516921199123653832945705526563077223819992714374735635656999771792123877717732349953000863656123196010792692751032892480548159127075445365335620468580584232057357918271329563502580123704181881930931985715971220037796106788695665695031480511786939370369139690994845759965876156370599328903826212592505166748348058115746239988404177853282952993284072391301837882470437816613081528541327481024041260138920724769714832509725466095264486820067889558773239817110625520825036218218068591192683569560291475982201409118876351139297304413526614685797723786578041920990200149314852294089685577325421274063446724848381784675835392692096964640519407983099949344932834964626046142085616766490563206411515039616622373104028421662783278960596640671048682613499416854723895761126074102281688741740978024398833653308751129512761593318769519953372983354449726818669553733665490508930330912349865308762027312278830793692530055536234037789142598637481344766391531088810333803114977835233673062018702048067276696158387240320633102613330258221345157319309734161264735618772339192398326456277048699110292393612652216128174192008962363960595043884724634146650688771660696507935148983480152325307364385048399167407766222306271535435451104671714453274337132012734419725903131474847809326438585598062296615582814762528936187686653597544559202951243828238104136040169320515015806934003831247414219872117376371730685290454686921660299226923649728076014940283070825966985993852984841210958769374682979580755686007846282418998683662660218119761721840218170484141373846478073474309498759983649124340141993638374723001491194701964930727159813517282948905004587539906721805648980361870317393358181419780663861158408226717918809427960002630804172576462839634100525099888018276481367417526172659380711747027588078988427951285337448271707165092030295184334582833675286139621717968626706369315471920760096465706966182476818434772138148708083233961821668681949275716392694083230961797808483649614094542991480165347128299044196236815764856292190229176853118355539651746644940073558811210784194085714537878376308656384310277453152398575305538933566296332668576957345782899841873500186930395618931672498151837458606032572533446929955603293251256748652299499806626074620215520100858880960674867716261644902304811025867098683492669559814187298705343613007344459020829368441294858946102720450123288838153000087178268606939569022889768988758873092771703079248077323853939389838210640416854433699648874943433929067626134727570151246368633281411777301078448057311633284845444032885425907458575774137391432102874719476613717283567734292929861235931506742014850566577110896735998162350871048799056296275594328813199870280176810905678652099717468965815240940104429097858182740029281918495813257739383948484078446349809447370172563797294450254139766639776394037086814787189385049694526368374466791557903323724057004906870921816138622263862146135155503116587775382941880263593343231259402259052113640027673933949757728210501603418409071513949113264284019434631249260435696952416945518246706292987550147780862038519830225248915225368415817457885458814202386344067300452675782602971819961049394876290773081469963313718766351012167550729845974223574989815331509301908312814199833239567495237172363534949040624123772959585843 111770045144801211205605724032087145949537479232557777511262263711313639578181777796541993036452954516386246549274002287051349822502940193280767771720531075808348983647390143267845236358903106054012717646928881688528454642510086809171572717628065996334088561495183866823904357566357664976873868266502862553187765746003958219850117776459203885569034630669073025142901650541339556111255836685451164746894820823275482048511675455909611274652671641702081954703830302939256761783689788768250166012071649596791351428709692245178430820431571607104850212910671858685692418090706077604717248080975730473401234555176575213432120541113279893886714308431823318026010616127721378093579827483302544789419647494376291628177479248135034975192881031452120982432483574527123791849887887669238524371578276018042383544532577633035426963294094398558774690153411216166125398947852962427652988489413176781353082551084095331220847551029691103786255239478383394313492851911032262503254307572139495464952279344147314218391722525671431267930193976404330913110907465189770730470508431170936802313365910765131564381650431282917593941798549672002912401386614443719765123670723148132804775162775878359257339225926776840915185174823912756155823885679602228666551987332416548650764557052748219265950827879430814424200936142403055503178088180159813994971789473736204186906374582156203364671599442349721025275816755228595269266747124575657388543560118663552357464880939558007757159094102729767133730290710803612378797750541135131683476258364836270584224580388600163383783963219217279206254172597355108233084819769686659940143501108534384491850648583466476062479766959271643490427930522836938192282597521845303399274885035256737225782135674344253829125883751438348493216118504433587173182240641198509817334931872631301335163224651515662177404683642856781854899006966161910490201075717244389770169444144304852800281408241499399148772236240758754516783265708981829524637043473324188510396413985209208738978376496414328229519186869609242869196381852107429748609418688301498622511751033056661798456868383246121752120826913823944567450826790096701411683417864446566054079130019618377244551061759371170906473810067838667957349559944928784686375204172201509006358504668923323602513957338186261924309837099200546086967575383789832286288733739877282811798769568657333646169324242083553721438755145233389076637925804095898269009897424274227455902869105043397957085227390802943576161407319955749003663499789813333797031807696838111337312815997715754235797855575480034527657076806237167289131550439075643447463518457620965832513243012695211088018439167394719042491794254555542892927518603303797148136215480203774368432849528390564040476645941669853113624278320628861284973792954637212408530637488899203346996006174005587105406471044488508248340006128561383394192990280848194632050476128202088337895507244011318100044521111575563669361462817213142966297624994845460709228369946549111785269693097059648231552979769726671536269268927460955938566390280220247331994218278873298936118649198313229091504337898782197918777279353707208126394170242823856818583626247130109284859409781654120069033222132805008753648678087778429839013033350131551348021453036706975883896332148654081976262348785993448360115229350420178900197558417877751602969735324834859809859359467008112895375281853988395356788686128550076817040896498017733501997727338941262833458464505547656711809085743747381856421789694298096372183660947444141228527200883091766699764265923845302371865656456227469142760222058750853271077630502909404576198628773136679229404163956059700746980830876292043191687051034322326706644142071877800792127439011113861374434904207287055400639283540904186162301772358761044256599042808644122435740112750460902651705553970118268999137541902621355375050219668473452915898815030616675330121239246840297807288271747474536684534302532847112759865283772144862696406323483159311231622442504781344455686878092038753686623103413234216181237604 180847731968398522271917039591588346179419406594349112266391041262089837534919746619060409747026277260856046981292792837466247957852257477997035290729124514523283415094910836965655858592348684479981698150113864363859177673847224160927841655338346449653582571584381971636927956218457935122862834224977778688576956171729450604133630510303436645204347313494141333917724130739712170281089656340416445782345046698193244886739260315832882424783435129288790828290701443326148700459732021213220579773919544894390539159988019316464441256385102391901916726903898961820281460436774800339789644476505695029371534815072723072844745282589287935795634821779305830551754241633539479625183488124281306208575660557880999145098678371788867920898407594529344802425197949262759448849659679793116242103928229018906039667728588425728177996186574946717901765598776551786593979532085019785571259818976679361476786732966026263206563522249728899893043935144078425794004638850402631642945302417899461341108649943476218044604315030838179615988309722644319317288760748142764014542899733008819272751182523846660105709131455324177732862523319386835422126852709708206585191560281921372621885788296703395475557294517969524484745466299894957564942762030741525970965513947102346374551135094669209466100142731724904109778261563677118949902936561944489830364481570700844706314357682105548297506564068395863110892583245791801680781786741198030492571981781446831318061521610606690370658510957453662894856364813085301120538728565533965336785009494349032177543349908553536367138412946035948759987838087864038563997169634995421967455779939328077021906184817504265205078404440616409881959019333170741307260432755518365417976933102533433384169375994977356442456141972783505812525852665698322791954579833596836273611980571741593728775876867643836369413646006817376898783731600308561178972736413752324919152924296630160164666456640666806914994542512294189967887937423435103861769056207743914413527888833018535177563974558710943812333949398545430555849979396666632699853246926405634662681071548072468732460699630660341624238203285554629857905513711757000638607067592522580994362200845585363238404046600582129675848493047419423643357406227347783370037864390321270728198722839407464976360435411660571423069820748324886228961213758512833777483435704808009971612286851606238650756864148805359370419117015550782434819345584759759427418124142193036883862871735847570533548067024903468676049425596437116421189672449194045544059395775826539288598153445987461400889885870664369110490752092376789007100177145444958919384278554086672798695719831129983226167147250628680864160476203831259285621601834265594956619865094298317359913014875518863084672882757434709405814507497481979640513444701282152482089448699683397432710544052381895761790781321941660646915311667494949690525658857805540414950318001702275268291126175683816251881979717608136202808392772816436217554373647144960515854444566764631886128574057734515947814624672031482562136367610953625498380577578925590945001562737894128304559944057259331811954461187620350918864457622314147695417060011812615691676397950209357362183263721043958279673638987238708402523621521707497465147760920282797716654734448484276962344389460287366821706381671419355818691003487811611003072277894491468886537469617764721045790866209022963461952392750724393519139557177349133113316490826830933372277904149846941485558181974513471952749190172845240039161818976216592185441400331392625306973550692539136872328063218295556511632296232621506229575009248135902965603998877376196134101952497193684136275085772198323010842977011447546308274826417264206970237485303137203051179552651141535308384661935497557004057692612418135275566056378195675505859478505596539381258359456753890201853334832156788829362790817846723790867677553932267118285159097917128005903842218660258856683148038247618154497616251613463772032834501990836919981313298490820533530755318981177695254373329211117221572144037357989140823447 292617777113199733477522763623675492128956885826906889777653304973403477113101524415602402783479231777242293530566795124517597780355197671277803062449655590331632398742300980233501094951251790533994415797042746052387632316357310970099414372966412445987671133079565838460832313784815600099736702491480641241764721917733408823983748286762640530773381944163214359060625781281051726392345493025867610529239867521468726935250935771742493699436106770990872782994531746265405462243421809981470745785991194491181890588697711561642872076816673999006766939814570820505973878527480877944506892557481425502772769370249298286276865823702567829682349130211129148577764857761260857718763315607583850997995308052257290773276157619923902896091288625981465784857681523789883240699547567462354766475506505036948423212261166058763604959480669345276676455752187767952719378479937982213224248308389856142829869284050121594427411073279420003679299174622461820107497490761434894146199609990038956806060929287623532262996037556509610883918503699048650230399668213332534745013408164179756075064548434611791670090781886607095326804321869058838334528239324151926350315231005069505426660951072581754732896520444746365399930641123807713720766647710343754637517501279518895025315692147417428732050970611155718533979197706080174453081024742104303825336271044437048893220732264261751662178163510745584136168400001020396950048533865773687881115541900110383675526402550164698127817605060183430028586655523888913499336479106669097020261267859185302761767930297153699750922376165253227966242010685219146797081989404682081907599281047862461513756833400970741267558171399888053372386949856007679499543030277363668817251818137790170609951511669321610271582025724221854305741971170131909965136820474795346090946912444372895063939101519159498546818329649674158753682738566470471669173812130996714689322368440935012964947864882166206063766778753052944484671203132416933386406099681068102923924302818227743916542351055125272041853136268154673425046361248774062448462665614707133285192822581129130530917568013906463376359030199378574425356340501853702050290485456969147048441330865203740482955108359953300582322303115258091600706966172276568056413068562522779734557227508330788578874392749846833347379657847525432315928789142302666063772169444685292783411056420263572296926188390888913091857872160784171511457271388855657696428021566467264339765740840890968490633294415706412252210832916392865424853172239007379341091203472664650625910969443703215636687741446144403638147828898613956296231727584520602366847797011707638631208962843825194314185586418023399906652270458386802178549120437569392104756080574502091728345864403909427125149528699104562519438785818110840925487237655919364890620086188582600779706550226387482867197252366430168895255317796056333084718649138653735047000794129904363606186633419695134351926500829183699872169855590029579183851998641990421225082814513313743671398267154794164179367604441758154098405636538414581436946967859145838276995781016767427240678593255572560903458799086402548837641736976021355821811230254636472510260024197339466647042673502698078348706861120043717156172299609485927304160794270414349064676187485191252846240721608941448797968730457412804178806232838231789903269836312369220489507204942599580855650225676031076357327674604712788875928243305899209930357387324848666874275631488788204319016646480061128664558275916592621895583608670514688557625061278836766535500751575630903572092329142140858883497952688848975372335231306886756236681629380285600710300581270330363365679249728258023757823807887739589499961877451586533676881627375015003843306991662255396682819566142784612404696976153322321437867828736956719762458521314240661816998472207214792853558888802275057828500332720468079165917897222405720034183974128533803336025081465500556663971419785722154839031918784460576531898118274135699616387636781650131765153197823762522150941251421249870908195247450592205322061051 473465509081598255749439803215263838308376292421256002044044346235493314648021271034662812530505509038098340511859587961983845738207455149274838353178780104854915813837211817199156953543600475013976113947156610416246809990204535131027256028304758895641253704663947810097760270003273535222599536716458419930341678089462859428117378797066077175977729257657355692978349912020763896673435149366284056311584914219661971821990196087575376124219541900279663611285233189591554162703153831194691325559910739385572429748685730878107313333201776390908683666718469782326255338964255678284296537033987120532144304185322021359121611106291855765477983951990434979129519099394800337343946803731865157206570968610138289918374835991712770816989696220510810587282879473052642689549207247255471008579434734055854462879989754484491782955667244291994578221350964319739313358012023001998795508127366535504306656017016147857633974595529148903572343109766540245901502129611837525789144912407938418147169579231099750307600352587347790499906813421692969547688428961475298759556307897188575347815730958458451775799913341931273059666845188445673756655092033860132935506791286990878048546739369285150208453814962715889884676107423702671285709409741085280608483015226621241399866827242086638198151113342880622643757459269757293402983961304048793655700752615137893599535089946367299959684727579141447247060983246812198630830320606971718373687523681557214993587924160771388498476116017637092923443020336974214619875207672203062357046277353534334939311280205707236118060789111289176726229848773083185361079159039677503875055060987190538535663018218475006472636575840504463254345969189178420806803463032882034235228751240323603994120887664298966714038167697005360118267823835830232757091400308392182364558893016114488792714978386803334916231975656491535652466470166779032848146548544749039608475292737565173129614321522833012978761321265347134452559140555852037248175155888812017337452191651246279094106325613836215854187085666700103980896340645440695148315912541112767947873894129201599263378267644566805000597233484933204283261854213610702688897553049491728042803531710789103721359154960535430258170796162677515244064372399624351426450932952844050462755950347738253555234828161507404770449478595850318544890002900815499841255605149493302755023343271869810947683052539694272462276989176334953946276616973615417123846145708660301223628612576738539024181361440609880928260258512829981846042844688201424885150599248491189914509122889690677037577627316808772748638580990990745303331904729965561286232075565794311429904682674955177540352733668652080770812746662218061464170722271834987061375945668800409088258879279428290209822411456539271925253293315592820566000682357201517372709534888265998212417094278769378628988033688371829542170629463551282775244307996459275461951112131606638874477759595378950603808480546791836074978248362846015401406372289135381740937259080078375557526841212528680127182229113789636660542004149368206935327545438071429221997343754661555545238537312831892715413260274022899756506194598335503517228290266449088201936422147548824009225937223742036628380500107282425558695921131193424769308555190697146781330921933675529808585111069228815619675112128832159997497236326043400906342114206860689376044674560364301901441091885054039819280067355437182395067800483248343043673878151679600246553535638635145804574828454574600617307466089437861934745427646731280743066461610229391842474302268170040444420392360436415395130248921470481601910240555022659202285628257661796844402533767524047501954335500456346768666784899187135808236703868850740647119112678152206894486544313396931991204228078282169408754668765740456713433885115152395268317999819837201198256831663968683055412223634431846657863123538314802956785574776337987152469133226450931341928923684160815520654567823969772993529535036074040303930952776126536536368950080140952298683953142743699846195624750460988129767391487950194462884498 766083286194797989226962566838939330437333178248162891821697651208896791761122795450265215313984740815340634042426383086501443518562652820552641415628435695186548212579512797432658048494852265547970529744199356468634442306561846101126670401271171341628924837743513648558592583788089135322336239207939061172106400007196268252101127083828717706751111201820570052038975693301815623065780642392151666840824781741130698757241131859317869823655648671270536394279764935856959624946575641176162071345901933876754320337383442439750185410018450389915450606533040602832229217491736556228803429591468546034917073555571319645398476929994423595160333082201564127707283957156061195062710119339449008204566276662395580691650993611636673713080984846492276372140560996842525930248754814717825775054941239092802886092250920543255387915147913637271254677103152087692032736491960984212019756435756391647136525301066269452061385668808568907251642284389002066008999620373272419935344522397977374953230508518723282570596390143857401383825317120741619778088097174807833504569716061368331422880279393070243445890695228538368386471167057504512091183331358012059285822022292060383475207690441866904941350335407462255284606748547510385006476057451429035246000516506140136425182519389504066930202083954036341177736656975837467856064986046153097481037023659574942492755822210629051621862891089887031383229383247832595580878854472745406254803065581667598669114326710936086626293721077820522952029675860863128119211686778872159377307545212719637701079210502860935868983165276542404692471859458302332158161148444359585782654342035053000049419851619445747740194747240392516626732919045186100306346493310245703052480569378113774604072399333620576985620193421227214424009795005962142722228220783187528455505805460487383856654079905962833463050305306165694406149208733249504517320360675745754297797661178500186094562186404999219042528100018400078937230343688268970634581255569880120261376494469474023010648676668961487896040221934854777405942701894214757596778578155819901233066716710330729794295835658473268376956263684311778708618194715464404739188038506460875091244862575992844204314263320488730840493099277935606844771338571900919482864001515366830197313177856069042134109220911354238117829136443375750860818792043118165905027774594178595538434399692133383244609240930583185554134861337119125457733888362471074820274167275127565563394353417629507514814655856316293180471091429222847270896016927208804226241802721155840540420092333393892674265368762953176386786409889604701599563632314486163653079872577501950061113645518780371854538320086675480677465017120604863642719842709404379166132026243302500816604743683337717334971940155643834444692079133703661491487920013120882263329621076848598992123644505156861496185286054801998437425947259607615859962957135113010508951906261511002480664393015074084955734981375975535947148103952875594585258370931125802966020073593392119228925108367322844306549833555547790758947640687782788372274513297217267498993124771428982785917130568404453618872059360425448594147931574356859339039520521085560712196446344888290656268610726440114977087361227326142714868220740679352073469349461111495846007109418866782654825832678170264417643842586244964176303469164275190809611950519229909865551879502963882757091317561085116176607741960149971270996043789147552974031265476528267120829167127423350123591474934635729281865742006030483830329036317245969300691522889066158377975053843800944016512721502577274278628201610319456974245471861909415438967257637947397554703115037854410867633585228714370526490592786926725308198581320437274324000740053167210737793535975652328674023794221066781813451644919062778151301713852109115030776521134077863015255303871183475908971112436706904486363456258782882122703471998743707186653107354984734677954005149661372184625987609691927832561453820534616835829071050262236152756586861791084063837150966506221997136876171710859037962638938542399784945549 1239548795276396244976402370054203168745709470669418893865741997444390106409144066484928027844490249853438974554285971048485289256770107969827479768807215800041464026416724614631815002038452740561946643691355966884881252296766381232153926429575930237270178542407461458656352853791362670544935775924397481102448078096659127680218505880894794882728840459477925745017325605322579519739215791758435723152409695960792670579231327946893245947875190571550200005564998125448513787649729472370853396905812673262326750086069173317857498743220226780824134273251510385158484556455992234513099966625455666567061377740893341004520088036286279360638317034191999106836803056550861532406656923071314165411137245272533870610025829603349444530070681067003086959423440469895168619797962061973296783634375973148657348972240675027747170870815157929265832898454116407431346094503983986210815264563122927151443181318082417309695360264337717810823985394155542311910501749985109945724489434805915793100400087749823032878196742731205191883732130542434589325776526136283132264126023958556906770696010351528695221690608570469641446138012245950185847838423391872192221328813579051261523754429811152055149804150370178145169282855971213056292185467192514315854483531732761377825049346631590705128353197296916963821494116245594761259048947350201891136737776274712836092290912156996351581547618669028478630290366494644794211709175079717124628490589263224813662702250871707475124769837095457615875472696197837342739086894451075221734353822566253972640390490708568171987043954387831581418701708231385517519240307484037089657709403022243538585082869837920754212831323080896979881078888234364521113149956343127737287709320618437378598193286997919543699658361118232574542277618841792375479319621091579710820064698476601872649369058292766168379282280962657230058615678900028537365466909220494793906272953916065359224176507927832232021289421283747213389789484244121007882756411458692137598828686120720302104755002282797703750227307601554881386839042539655452745094490696932669180940610839532329057674103303040073377553497169244982991880048929075107428085591555952603134048394286781947925673418281024161098663895440613122088835710971525270909314934468210880660069128203807295689344049072861642888278615039226069405708794943933665746283379743671898293457742964003194192292293470277458016411850513454079404010505336086491944120312983787866787022965994368046538996017296926174108731349942052829116938861615410229111392401969647030454929215223084569711842996079761949135424990880595446902895537044451724939311948143296261491018328193735549394891053755327561448277763782822925106890564981239366227507971912102909904863622962766007544794351612183106369945372449296482057488602370322399636039155965114597204540738783926240125173319743173827979596576723158898635207265131572285970903018393117641355142152610453035559543461922767372022126352315721609986664743220261184706957332673470494786451949579851524433732062669337427419489644837150995307602058735288696720990468526090538331155667881236346334285319634448348350654126172692362856267810787534648914132868492437114665494547950182151605467861334608568273564141871872776842777904651808642627338031352542312463410943747399080037318954715077124173800705490318591715954064726090599241596554063328184658532409446139155995887809315587153666063844272395896017705143628207867367382702766058495928166303389210329899173208095468345765074463963977250043757984499295550220449356111970984460933113863013689673758450531789938576155712416932074641252885895609194399105648805378458369587920729170717295157377686113861116435285189288014971119852731319417632280080289049260665228022299348951222206313684803234864735598967261510299094520953915064213512135535152158964383336071138751144226579797097685079489046775081694339122240581435666019882928833822187705280555433661700826090988856608657139760023826388772689125536941932036362521104109249921843332500922171847167730030426492594247830047 2005632081471194234203364936893142499183042648917581785687439648653286898170266861935193243158474990668779608596712354134986732775332760790380121184435651495228012238996237412064473050533305006109917173435555323353515694603328227333280596830847101578899103380150975107214945437579451805867272015132336542274554478103855395932319632964723512589479951661298495797056301298624395142804996434150587389993234477701923369336472459806211115771530839242820736399844763061305473412596305113547015468251714607139081070423452615757607684153238677170739584879784550987990713773947728790741903396216924212601978451296464660649918564966280702955798650116393563234544087013706922727469367042410763173615703521934929451301676823214986118243151665913495363331564001466737694550046716876691122558689317212241460235064491595571002558785963071566537087575557268495123378830995944970422835020998879318798579706619148686761756745933146286718075627678544544377919501370358382365659833957203893168053630596268546315448793132875062593267557447663176209103864623311090965768695740019925238193576289744598938667581303799008009832609179303454697939021754749884251507150835871111644998962120253018960091154485777640400453889604518723441298661524643943351100484048238901514250231866021094772058555281250953304999230773221432229115113933396354988617774799934287778585046734367625403203410509758915510013519749742477389792588029552462530883293654844892412331816577582643561751063558173278138827502372058700470858298581229947381111661367778973610341469701211429107856027119664373986111173567689687849677401455928396675440363745057296538634502721457366501953026070321289496507811807279550621419496449653373440340189889996551153202265686331540120685278554539459788966287413847754518201547841874767239275570503937089256506023138198729001842332586268822924464764887633278041882787269896240548204070615094565545318738694332831451063817521302147292327019827932389978517337667028572257860205180590194325115403678951759191646267529536409658792781744433870210341873068852752570414007327549863058851969938961513341754509760853556761700498243644539512167273630062413478225293256862774792129987681601512891939156994718548728933607049543426190392178935983577710857382306059876337823453269984215881006107751482601820266527586987051831651311154337850493831892142656136577436901534400860643570546711850573204861744393698557566764394480258915432350417319411997554053810673153242467289202441371275676387834878542619033337634204690802870995349307556478462386108364842715125522211400770200148502459169358937888592391820720798211552131973712515921249429373842003042125742780903427788749610407690643745393639998155405410721468366646103724879766291767826940814637451583000143548976522383443281899368777041963196196664383289083101621358605797975826417022523982766514495170222266685296479854924654628643835806545625527120515278443298742907969274456268597204571923114151386987672977406266862614015377057947174368740281896224885218178437285524933783679876572032505964219983593297519521117072798449640799953157378994873796944802057747049222195307331308620209626329314837325405321763158676622266582555222561934710988432362612552128916247254112920138473345140771409095118236776425569344454962797301322088350104174654593782525566015245320509107148433566292067415623727007224272172495551275737124937059888061543448991736409104736134488211869893481846051757778323846059181038950101498829595403500281223219344449507388361708598424409955771928477445835365590963952386652142109395550401184278841490080220143533556591953808763843232869237221505957885087821647970473040586424633866509725289295120592784486628370073616264701589339251816520415733035657958603866013016037312819370625329871042087992927228767439406335634873354448507845655630590036055880567202192518773825401525775347936420400697836933983483559889906543043353628658652442677143273975589094876651008841882123803723120426358255075756143840469377093882706205692669365034994032775596 3245180876747590479179767306947345667928752119587000679553181646097677004579410928420121271002965240522218583150998325183472022032102868760207600953242867295269476265412962026696288052571757746671863817126911290238396946900094608565434523260423031816169281922558436565871298291370814476412207791056734023377002556200514523612538138845618307472208792120776421542073626903946974662544212225909023113145644173662716039915703787753104361719406029814370936405409761186753987200246034585917868865157527280401407820509521789075465182896458903951563719153036061373149198330403721025255003362842379879169039829037358001654438653002566982316436967150585562341380890070257784259876023965482077339026840767207463321911702652818335562773222346980498450290987441936632863169844678938664419342323693185390117584036732270598749729656778229495802920474011384902554724925499928956633650285562002245950022887937231104071452106197484004528899613072700086689830003120343492311384323392009808961154030684018369348326989875606267785151289578205610798429641149447374098032821763978482144964272300096127633889271912369477651278747191549404883786860178141756443728479649450162906522716550064171015240958636147818545623172460489936497590846991836457666954967579971662892075281212652685477186908478547870268820724889467026990374162880746556879754512576209000614677337646524621754784958128427943988643810116237122184004297204632179655511784244108117225994518828454351036875833395268735754702975068256537813597385475681022602846015190345227582981860191919997279843071074052205567529875275921073367196641763412433765098073148079540077219585591295287256165857393402186476388890695513915142532646405996501177627899210614988531800458973329459664384936915657692363508565032689546893680867462966346950095635202413691129155392196491495170221614867231480154523380566533306579248254179116735342110343569010630904542915202260663683085106942585894505716809312176510986400094078487264395459033866710914627220158681234556895396494837137964540179620786973525663086967559549685239594947938389395387909644042264553415132063258022801744692378292573614619595359221618366081359341651149556740055661099882537053037820890159161851022442760514951461301493870451788591517451434263683633512797319057077523894386366521827889672236381930985497397594534081522392125349885620139771629193827871138101586958562364027284265754899034644058708514793242703299137440285406365600592806690450168641397933791313328505504773740158029262449026606660449901450278522779563032097951360922477074657636391650795595405354706403389613531703768864094473043150301906251470644320427597330603574020544686250713856500972671883111621147970067508320626331989608869732424560643380010047184582824032296625606465124753765681535407933007077793401205122073009341746531925541149654396619100705925413130377487398257582450757943047746285190948698235980156074821905221510279991400808584318814558587857371648172379934738940333108801829007527025893174013958894222645597926930362084778987478630767794660940974061823610059448228466330877146287442698629322145295456183919741585051575142096154858540462183329762519987257706626804418188023083896543279261996504484424905759025158764728781100683172123951407581647720172968424492281752016399212523904880144912374241520079971411108348744987629620252074156136453363428168383360591324278603123732333939345009441552732944001855594572659540341979924081713056389080212158196967175360477964245200469388207491887657258818873766067742912938378949228604653626145102673899334126556896695773564721473029429165786352914412648611327606809426687055805116805348159154447541069151699013304266240445515806046002353696553750850004479838819764684257864272288669247880772911786632135628965563041907991442279574941487793837737784578984406774816615852978252281681565548907095864897588517856066717719862817305747595187098477015329484743431533751931115349118703039781531007660745655156788879359185006065683801878016054553373422699791527588280605643 5250812958218784713383132243840488167111794768504582465240621294750963902749677790355314514161440231190998191747710679318458754807435629550587722137678518790497488504409199438760761103105062752781780990562466613591912641503422835898715120091270133395068385302709411673086243728950266282279479806189070565651557034304369919544857771810341820061688743782074917339129928202571369805349208660059610503138878651364639409252176247559315477490936869057191672805254524248059460612842339699464884333409241887540488890932974404833072867049697581122303304032820612361139912104351449815996906759059304091771018280333822662304357217968847685272235617266979125575924977083964706987345391007892840512642544289142392773213379476033321681016374012893993813622551443403370557719891395815355541901013010397631577819101223866169752288442741301062340008049568653397678103756495873927056485306560881564748602594556379790833208852130630291246975240751244631067749504490701874677044157349213702129207661280286915663775783008481330378418847025868787007533505772758465063801517503998407383157848589840726572556853216168485661111356370852859581725881932891640695235630485321274551521678670317189975332113121925458946077062065008659938889508516480401018055451628210564406325513078673780249245463759798823573819955662688459219489276814142911868372287376143288393262384380892247157988368638186859498657329865979599573796885234184642186395077898953009638326335406036994598626896953442013893530477440315238284455684056910969983957676558124201193323329893131426387699098193716579553641048843610761216874043219340830440538436893136836615854088312752653758118883463723475972896702502793465763952142855649874617968089100611539685002724659660999785070215470197152152474852446537301411882415304841114189371205706350780385661415334690224172063947453500303078988145454166584621131041449012975890314414184105196449861653896593495134148924463888041798043829140108900964917431745515836653319239047301108952335562360186316087042762366674374198972402531407395873428840628402437810008955265939258446761613981226066756886573018876358506392876536218154131762632851680779559584634908012331532185648781484049944976977884877710579956049810058377651693672806435366302374833740323559971336250589041293404900494118004429709938763968918037329048905688419372885957242028276276349066095362271998745157505274214600489127499292733201625472909273501618731487857604818363154646617363603411108687136232684604181892608618700648295786660811351252772445627830336041494484059725765192200179847792420995743907813875762327502124095589584892684595282275618767391893749801439333645699763325589678502606111380362526857014787968222913731347800356254973457304326935147836987999220275615296769155441647137208963434776710049040989597869505362092443367890531339125480813641624688691927625547709664942878930612867702374929026755243861507276590100348520253187960675264852916019130510971523035160052912145207195722817206065474200261914295855119107863776364215887018562667355202800300625160957655121129580565301264780517946240600077624195942240258241666790807246882473404775068166791498167087925309020865303426684770578306458477990250428867096977034675272412877648919574028312895360502699884496598537768947244549317721300874009054799506156767086095216731617455893421195912319489779863460587700340878911867061403540183620395482794001177961837680136343806442553022188031681860036902448261251108298466004955881464526423688732656999276018967417298176023514841415824784594195617578531754816008729676958080974615054801693172962722378306723176491844196844030932644940892938453318632195033965703018208738593561361038300292674372427312818452439343731655340180417293522230892535260896810224606002760958836605129900918671047014347823428711092233086830062405406651908858819483874084322732497390672936454276467415556796800789307485093641520368958143395874210895205090938213579690790372889784549378277215237614260762209524271255109937259579115369156562582313381239 8495993834966375192562899550787833835040546888091583144793802940848640907329088718775435785164405471713216774898709004501930776839538498310795323090921386085766964769822161465457049155676820499453644807689377903830309588403517444464149643351693165211237667225267848238957542020321080758691687597245804589028559590504884443157395910655960127533897535902851338881203555106518344467893420885968633616284522825027355449167880035312419839210342898871562609210664285434813447813088374285382753198566769167941896711442496193908538049946156485073867023185856673734289110434755170841251910121901683970940058109371180663958795870971414667588672584417564687917305867154222491247221414973374917851669385056349856095125082128851657243789596359874492263913538885340003420889736074754019961243336703583021695403137956136768502018099519530558142928523580038300232828681995802883690135592122883810698625482493610894904660958328114295775874853823944717757579507611045366988428480741223511090361691964305285012102772884087598163570136604074397805963146922205839161834339267976889528122120889936854206446125128537963312390103562402264465512742111033397138964110134771437458044395220381360990573071758073277491700234525498596436480355508316858685010419208182227298400794291326465726432372238346693842640680552155486209863439694889468748126799952352289007939722027416868912773326766614803487301139982216721757801182438816821841906862143061126864320854234491345635502730348710749648233452508571776098053069532591992586803691748469428776305190085051423667542169267768785121170924119531834584070684982753264205636510041216376693073673904047941014284740857125662449285593198307380906484789261646375795595988311226528216803183632990459449455152385854844515983417479226848305563282767807461139466840908764471514816807531181719342285562320731783233511526020699891200379295628129711232424757753115827354404569098854158817234031406473936303760638452285411951317525824003101048778272914012023579555721041420872982439257203812338739152023318380921536515808187952123049603903204328653834671258023490620172018636276899160251085254828791768751357992073299145640943976559161888272241309881366586998014798775036872430978492570573329112995166676887154893892285174587243604849047908098370928794880484526257599611000350849022826446500222500895278082591913896416120695289190143136846744463836578627773393254191767845684181424066744322030625297890224728755239424054053579750085070023997932687397382358858677558235687418011702673895906353115604526582011086687669274837484184071791339313168582165717115655799358448987157638432577525018862538070229036664249273783870275929216462612353034409968635935938290422051974132345863843189728887578527847035183803099647593394761906771890974644970184643056118782999074627435101785114422456880275135210260725394617340755925197063200461381370810750121214217703942097487432664922253741763467952076073437234833689098828894683332432846884147528831619035073001226155088309814013330509374291146249103341654833833568095286101931716944739640013529731111395092528042776253518087535714425586532392298457615500929926707253681496850445296278571930231102958601390355021269512425371581401940434297571642377700674711485019311910281532216771506193439526301334120513397913934944418531008606175188142725804638408825532571563935999913951128509262272458385682143307352729422139010619514570624138199401015212562530011605941749958837341463266495433180316359428771624158120864491163676226236171942091257754354203733822800271204676857489908063803514977670388619523166202391888164659637589140455524450840359331996698055258666791349481506772169907751897827601483816098720374781009372203289348211494159945101551386503181204508777583136392634896587802168171808910113326589289311222548830017665814469180223267761837071765555649871639593255570524972132534133276659618095055080280739997384287628139305744647136206287332282730571903897445295033434004116973445768275208073133125991812952538068948090170593986882 13746806793185159905946031794628322002152341656596165610034424235599604810078766509130750299325845702904214966646419683820389531646974127861383045228599904876264453274231360904217810258781883252235425798251844517422222229906940280362864763442963298606306052527977259912043785749271347040971167403434875154680116624809254362702253682466301947595586279684926256220333483309089714273242629546028244119423401476391994858420056282871735316701279767928754282015918809682872908425930713984847637531976011055482385602375470598741610916995854066196170327218677286095429022539106620657248816880960988062711076389705003326263153088940262352860908201684543813493230844238187198234566805981267758364311929345492248868338461604884978924805970372768486077536090328743373978609627470569375503144349713980653273222239180002938254306542260831620482936573148691697910932438491676810746620898683765375447228077049990685737869810458744587022850094575189348825329012101747241665472638090437213219569353244592200675878555892568928541988983629943184813496652694964304225635856771975296911279969479777580779002978344706448973501459933255124047238624043925037834199740620092712009566073890698550965905184879998736437777296590507256375369864024797259703065870836392791704726307370000245975677835998145517416460636214843945429352716509032380616499087328495577401202106408309116070761695404801662985958469848196321331598067673001464028301940042014136502647189640528340234129627302152763541763929948887014382508753589502962570761368306593629969628519978182850055241267461485364674811972963142595800944728202094094646174946934353213308927762216800594772403624320849138422182295701100846670436932117296250413564077411838067901805908292651459234525367856051996668458269925764149717445698072648575328838046615115251900478222865871943514349509774232086312499671474866475821510337077142687122739171937221023804266222995447653951382955870361978101804467592394312916234957569518937702097511961313132531891283401607189069482019570486712938124425849788317409944648816354560859612858470267912281432872004716686928905209295775518757478131365009922883120624924979925200528611467174219804426958662850636942991776659914583010934542380631706764688839483322521196267118914910803576185298497139664333695374602530687309549764319767060155495405910920268164039833942172692469761384552415135591901969110793228262520753484501047309654333340245940762113155495043091909886041417656990858772206256682536869289990977559325854022348229362955446341534183451646021066070812452861475017331976492787083220982457928044617779894948033879842233714853143786254431820030475997894973547195865607719068723733396936825650723906513335783321932702118816647033214513675684023183023375262890163917348419028183608404961353105159772596944132797194228482312988219400616023902350083309268381472906728143340311983678452496143244459185958994709255022602262016655912751338290150852819609800417718492485759029354724554436241138475426417002605669132438373150655362136121904322189036368395911262889372065869220578830995891913038768642853877714029775972667253323199545340088905704994874045179663938370605299437233657787729179696813499259762854238678378975109569984520026620248739797914672412981416713370043962386770850651841814271922989743924687775692270404874343260531830021444891053715863374538828850141184325447085683490973124904933011797476408304274543207457765584718043287801786861285602714374793899185272240893298047846853521490439695193653470118114772595770028518416995888783208612305916793480473058645003674324859375354610542966360765632299721294871291976937590993711985423544515472475188116490491388962522116391394747208322190655728691943149500125518844908734073739769674393360998637657546638773301709828784373603637134651259922250752644531585629919670695891249429734194372090646243461426409001548833456418884362565374381517753245771535179955542341297225545862421362276787229844411711219354587706530484732344388235929072531653438104652752907368121 22242800628151535098508931345416155837192888544687748754828227176448245717407855227906186084490251174617431741545128688322320308486512626172178368319521290962031418044053522369674859414458703751689070605941222421252531818310457724827014406794656463817543719753245108151001327769592427799662855000680679743708676215314138805859649593122262075129483815587777595101537038415608058741136050431996877735707924301419350307587936318184155155911622666800316891226583095117686356239019088270230390730542780223424282313817966792650148966942010551270037350404533959829718132973861791498500727002862672033651134499076183990221948959911677020449580786102108501410536711392409689481788220954642676215981314401842104963463543733736636168595566732642978341449629214083377399499363545323395464387686417563674968625377136139706756324641780362178625865096728729998143761120487479694436756490806649186145853559543601580642530768786858882798724948399134066582908519712792608653901118831660724309931045208897485687981328776656526705559120234017582619459799617170143387470196039952186439402090369714434985449103473244412285891563495657388512751366154958434973163850754864149467610469111079911956478256638072013929477531116005852811850219533114118388076290044575019003127101661326711702110208236492211259101316766999431639216156203921849364625887280847866409141828435725984983535022171416466473259609830413043089399250111818285870208802185075263366968043875019685869632357650863513189997382457458790480561823122094955157565060055063058745933710063234273722783436729254149795982897082674430385015413184847358851811456975569590002001436120848535786688365177974800871467888899408227576921721378942626209160065723064596118609091925641918683980520241906841184441687404990998023008980840456036468304887523879723415295030397053662856635072094963869546011197495566367021889632705272398355163929690336851158670792094301812768616987276835914405565106044679724867552483393522038750875784875325156111447004443028062051921276774299051677276449168169238946460457004306683909216761674596566116104130028207307100923845572674679008563386193801691634478616998279070841472588026336108076668268544217223941006575434951455441913034951205035877684006160209676090159404089498047181034346405238035262490255087056944909160764670616082981941906133421163442122425856069108590456673742558272438646432947371856035914007676268892993835757406990262792738453385267820665125465471710570608857276280680469556687373336418003412258035647374658120237440536567250547648081899140530749854816160564578422534151040093761733435694306482866999872147430668805116969890259512662144247331066141536935531336086431346794286659844803757835296065047982659836762102092203531058366826474910483558679255190919158253375145996161278555596018760232296013596735445099675751234163075477926609137398103791343801693354489202617357462163128056482141919944856003780123864827411727385686508708629312401824918605913502253386055276211476652572090915483145768882524946508385225245977022869936491197364821089010608860592360727003308131296685630131232117311687092839855591843797704406634921581298861160788815901578009163888890687781087168520529275279610259780915543867556162404320923451282933984323262948930141550155826297151985962327669836924688343218784298445593017069065170238846977462617651863288489957359403456783832767826798325854327072022416990978928412742608472978147248054893743536820122944177641289332365588600322069672004974385981603371419889642060206030350124232252239796159987885469795824857283988036315392293848025577746498707625998354772755245745711651308934289048970652214893996979247358024242389216564005932490115121989331562859018040154643660070620396295237254944278451976497391272554134440941473518738897700192926445873808752268418459000765853187432532963014985384066011683901813986398541535682110116036979417645655121515137533399674485700189477503512878145151934180684675139445145223471561152298759940417521361920885484191507052742923501355003 35989607421336695004454963140044477839345230201283914364862651412047850527486621737036936383816096877521646708191548372142709840133486754033561413548121195838295871318284883273892669673240587003924496404193066938674754048217398005189879170237619762423849772281222368063045113518863774840634022404115554898388792840123393168561903275588564022725070095272703851321870521724697773014378679978025121855131325777811345166007992601055890472612902434729071173242501904800559264664949802255078028262518791278906667916193437391391759883937864617466207677623211245925147155512968412155749543883823660096362210888781187316485102048851939373310488987786652314903767555630596887716355026935910434580293243747334353831802005338621615093401537105411464418985719542826751378108991015892770967532036131544328241847616316142645010631184041193799108801669877421696054693558979156505183377389490414561593081636593592266380400579245603469821575042974323415408237531814539850319373756922097937529500398453489686363859884669225455247548103863960767432956452312134447613106052811927483350682059849492015764452081817950861259393023428912512559989990198883472807363591374956861477176543001778462922383441518070750367254827706513109187220083557911378091142160880967810707853409031326957677788044234637728675561952981843377068568872712954229981124974609343443810343934844035101054296717576218129459218079678609364420997317784819749898510742227089399869615233515548026103761984953016276731761312406345804863070576711597917728326428361656688715562230041417123778024704190739514470794870045817026185960141386941453497986403909922803310929198337649130559091989498823939293650184600509074247358653496238876622724143134902664020415000218293377918505888097958837852899957330755147740454678913104611797142934138994975315773253262925606370984581869195955858510868970432842843399969782415085477903101627557874962937015089749466719999943147197892507369573637074037783787440963040976452973296836638288643338287844635251121403296344785764615400875017957556356405105820661244768829620144864478397537002032923994029829054868450197766041517558811614517599241923258996042001199493510327881095227207067860883998352094866038452847577331836742642372845643532197286426523004408850757219644902377699596185629689587632218710528990383143137437312044341431606162259798241801060218058294973408030548402058165084298434761160769940303490090747236203554851608880310912575011506889367561467629482537363006425977364313977329266280383876737613566578974720018896568714152711593392224872148137057365505755133498021806351215589254516746842105862283812591371401710289988660039220878262007144654600059819828283619937383751317093618617997750101476483795316605879215081549849850173373722596603609947341861780107349266438328192962893029490242079048433319076367258065425561235877518871010519487142005338167655113500706622314015476851174967458265796779777578750017536539328318429730120317404364942856977940491517349952078989093521152278207255675601870521347150299211906304887108627710461076478081171191722895221170065328484008946147087659760093178791389137793312339916455344040824727186506877446397546678416960783982019789038133848938159890653437540682430941172191080848656736244365643511594118213068002637804141941759914432267906559990715997891412325702068868422353671367726663028786209544641109279853510289298979232005034214467387232687285815930743731966098181545323681408546892016083231550860841215367719851827907472043066613543112178320802945894260770656792048771094082101741650764461094960395968172884953101109250592359120405054967040582943285871880042682637638438512451722546140732880605526528048881509869197653753514746732097793160196139241203971328684048126369858389910211681079714775228567682073796563580525068674519171103532351483107103228854264415118260383774548057447824950537230943572455863780211029503032890779171209665655731818800738424007573296457471904983856856442826148858829244672761909597849958015844945157395676408723124 58232408049488230102963894485460633676538118745971663119690878588496096244894476964943122468306348052139078449736677060465030148619999380205739781867642486800327289362338405643567529087699290755613567010134289359927285866527855730016893577032276226241393492034467476214046441288456202640296877404796234642097469055437531974421552868710826097854553910860481446423407560140305831755514730410021999590839250079230695473595928919240045628524525101529388064469084999918245620903968890525308418993061571502330950230011404184041908850879875168736245028027745205754865288486830203654250270886686332130013345387857371306707051008763616393760069773888760816314304267023006577198143247890553110796274558149176458795265549072358251261997103838054442760435348756910128777608354561216166431919722549108003210472993452282351766955825821555977734666766606151694198454679466636199620133880297063747738935196137193847022931348032462352620299991373457481991146051527332458973274875753758661839431443662387172051841213445881981953107224097978350052416251929304591000576248851879669790084150219206450749901185291195273545284586924569901072741356353841907780527442129821010944787012112858374878861698156142764296732358822518961999070303091025496479218450925542829710980510692653669379898252471129939934663269748842808707785028916876079345750861890191310219485763279761086037831739747634595932477689509022407510396567896638035768719544412164663236583277390567711973394342603879789921758694863804595343632399833692872885891488416719747461495940104651397500808140919993664266777767128491456570975554571788812349797860885492393312930634458497666345780354676798740165118073499917301824280374875181502831884208857967260139024092143935296602486408339865679037341644735746145763463659753560648265447821662874698731068283659979269227619653964159825404522066465999209865289602487687483833067031317894726121607807184051279488616930424033806912934679681753762651339924356563015203849081711963444754785292287663313173324573119084816292677324186126795302865562824967928678046381819461044513641132061131301130752900441124876774604903752613306152077858921538066883473787519846435957763495751285084825004927529817493894760612283041778520056851803741873376585927093906897938253991307615734858675884776644577127871293660999226119379218177762595048284685654310909650674732037531680469194835005536940334348768837038833297325848154226466347590062265578733240136972361078132076486758818043475982664737650395332678538419524112271686816415256586147116362234610733922974726964297621943928289284538115568084651283560999613841978009714481396488371600549501322183468209328148681590131395906259630414224043596120851453914062798084136320557418698082746139916676325083857281275858800866500115155253345427716883788981653261786255675783878418752118492228501039162486656269114310830943698692656857730858168785442071958993094912314269576903642406161744922225837027059042522142322970856359231326546793561428731561184436635423976138200548378906572396276234776241378305992531550087086941763552449898529301362014114140178264399346852933034383232935497718974838036642901985516002408455455561435569104741871150540318313413459197940806197305096844835262095642363782641059507314573653144274039365154623766469611596839120611125344289161590908481390872307715399816289019589951518743568948097893112621337087624833559077056631458366161100028424403721879214153075288860501531491069657372563916449441537437391856802293453646438033432754238526833296018493022896588208758979551897566508048449131275788262020910530847607958218357475177810212786294594594806169091653289853332509430969904164975269822090533981371624991186985316373764772252436820266759637499208583628326578346355781182765815520656248747306579773989490026398877426787589562533117336294535761817279400502326395458449871434223492072913053688492843197856684624548028312570884151355921296304251302152725230638156580123302001666297710011128004613179430959770843500036452210138599910078127 94222015470824925107418857625505111515883348947255577484553530000543946772381098701980058852122444929660725157928225432607739988753486134239301195415763682638623160680623288917460198760939877759538063414327356298602039914745253735206772747269895988665243264315689844277091554807319977480930899808911789540486261895560925142983456144299390120579624006133185297745278081865003604769893410388047121445970575857042040639603921520295936101137427536258459237711586904718804885568918692780386447255580362781237618146204841575433668734817739786202452705650956451680012443999798615809999814770509992226375556276638558623192153057615555767070558761675413131218071822653603464914498274826463545376567801896510812627067554410979866355398640943465907179421068299736880155717345577108937399451758680652331452320609768424996777587009862749776843468436483573390253148238445792704803511269787478309332016832730786113403331927278065822441875034347780897399383583341872309292648632675856599368931842115876858415701098115107437200655327961939117485372704241439038613682301663807153140766210068698466514353267109146134804677610353482413632731346552725380587891033504777872421963555114636837801245139674213514663987186529032071186290386648936874570360611806510640418833919723980627057686296705767668610225222730686185776353901629830309326875836499534754029829698123796187092128457323852725391695769187631771931393885681457785667230286639254063106198510906115738077156327556896066653520007270150400206702976545290790614217916778376436177058170146068521278832845110733178737572637174308482756935695958730265847784264795415196623859832796146796904872344175622679458768258100426376071639028371420379454608351992869924159439092362228674520992296437824516890241602066501293503918338666665260062590755801869674046841536922904875598604235833355781263032935436432052708689572270102569310970132945452601084544822273800746208616873571231699420304253318827800435127365319603991656822378548601733398123580132298564294727869463870580908078199204084351659270668645629173446876001964325522911178134094055295160581955309575074540646421311424920669677100844797062925474987013356763838858722958352945709003279624683532347608189614878521162429697447274070663012450098315748695473636209993434454861514466232209346581822651382369256816530222104026654446945452552710710892790332505088499743237063702024632783529997808773600815938901462669902441671145889645815148479250445693544116241355406482408642101964372661944818803400849885253395389976605043685076387322327315199599112434679309434044418036137374435866872815516360684083871998293987859773310839489982222689087590155826244731455726087914034161427347437945072532060548185612804352735303961961221466526175257231003872462410813841976935360694694155211981944546291276497754832311737828485750293926600398364175140124830318085704030824512844358875407756087435844269879772535373683419984911762458765165345488772642459727335799216209267038310911380810550277957787702183393876150249427919546575446682546265414620242011163565022934744172793750471427342598149124411487006613026213174622073291031314754491986942810243188915332901958982247521702655132560107351547308136100696850742637527266203267833444631297795751680217164738392252433157261570611553356753552879031904279877588799893716574376583822169960387316614547529778492739002392474847376923812791082090845925753393787314240334465611180251256834184182940037961673455795467310282752805111708630200925689504646975866416847636241912753793553380257530073633999308158812910226236184230193795483948717208810716595582865179826877537880678049134335927491771021882692450305708150427617062030253134860384639069888511504350229980462898878703179912312374704716214171092977496600371023975874261847786053606923946101306760666065468819401638990671543815620586779232997928882048442610143997260948706978067714127580919091742093817011653115104989726160298527095628485107158858109123858869957249285941340557620801515881397367534276318801251 152454423520313155210382752110965745192421467693227240604244408589040043017275575666923181320428792981799803607664902493072770137373485514445040977283406169438950450042961694561027727848639168515151630424461645658529325781273109465223666324302172214906636756350157320491137996095776180121227777213708024182583730950998457117405009013010216218434177916993666744168685642005309436525408140798069121036809825936272736113199850439535981729661952637787847302180671904637050506472887583305694866248641934283568568376216245759475577585697614954938697733678701657434877732486628819464250085657196324356388901664495929929899204066379172160830628535564173947532376089676610042112641522717016656172842360045687271422333103483338117617395744781520349939856417056647008933325700138325103831371481229760334662793603220707348544542835684305754578135203089725084451602917912428904423645150084542057070952028867979960426263275310528175062175025721238379390529634869204768265923508429615261208363285778264030467542311560989419153762552059917467537788956170743629614258550515686822930850360287904917264254452400341408349962197278052314705472702906567288368418475634598883366750567227495212680106837830356278960719545351551033185360689739962371049579062732053470129814430416634296437584549176897608544888492479528994484138930546706388672626698389726064249315461403557273129960197071487321324173458696654179441790453578095821435949831051418726342781788296683450050550670160775856575278702133954995550335376378983663500109405195096183638554110250719918779640986030726843004350404302799939327911250530519078197582125680907589936790467254644463250652698852421419623886331600343677895919403246601882286492560850837184298463184506163971123478704777690195927583246802247439267381998420225908328038577464744372777909820582884144826223889797515606667555001902431262573979174757790053144037164263347327206152629457852025697233803995265506333238933000581563086467289676167006860671460260565178152908872419961877468052442582955397200755523390211146962136231470597102124922383783786567424819266155186596291334855750699951315251325064038226821754959766335129808948774533203199796622218709638030534008207154501026242368801897920299682486549251015944039598377192222646633727627517609169313537399242876786474453116312381595376195748399866621702731631106863620361567522370036768968938072069238964967132298834847606898141787055689136250031733411468379055285451611523825620603000173449958391306839614767994623357222924962156940211805233191190801438621933061238174326076732301253362333702574252942520518156376515974526061881712775384348144911388991304406157296918304507834862851632347544448385470943558796526446123346269749124910154002044707361383202500341088285148321211680342092090614040121872095770926199553062753430616190156580604242522427639560850831409239141149029402723481370575217044193198159394837364792086804950587062391073507380991002372547815164602050306655575440593585104472809542111462394423126159532076698628334491942851681458787643720612773561250651964698296622692279772789356712289302675886353465959247557855008788750289592528629844795759191323788357520417816626444526283100425664960767334041503048047734372101465363475808413938855258994790817882666291798311885337081164953592673490157248569039179708375107446684299221986249406906566066273347440836895505096184464548646350159147477384119554887342664738187490394404332123044684471529031330828359383759724290242503565432494379335942680408620655374469537931246816449968466289053185896874666861359357511972492214706014796325167029074070760675392613172132475484218225989217345103531313662354470683420249707596011624759851571624386262276276602666800729658516202388495940701283062569952275743312121027272723180841621775543633322823528094350228598586155696174752488823216122913174691447800316271934683057050949441550175924398752128947404312977968367574411409241028313023757733785065230460859775421568881085253899120771517391645015917849577672876228879378 246676438991138080317801609736470856708304816640482818088797938589583989789656674368903240172551237911460528765593127925680510126126971648684342172699169852077573610723584983478487926609579046274689693838789001957131365696018363200430439071572068203571880020665847164768229550903096157602158677022619813723069992846559382260388465157309606339013801923126852041913963723870313041295301551186116242482780401793314776752803771959831917830799380174046306539892258809355855392041806276086081313504222297064806186522421087334909246320515354741141150439329658109114890176486427435274249900427706316582764457941134488553091357123994727927901187297239587078750447912330213507027139797543480201549410161942198084049400657894317983972794385724986257119277485356383889089043045715434041230823239910412666115114212989132345322129845547055531421603639573298474704751156358221609227156419872020366402968861598766073829595202588593997504050060069019276789913218211077077558572141105471860577295127894140888883243409676096856354417880021856585023161660412182668227940852179493976071616570356603383778607719509487543154639807631534728338204049459292668956309509139376755788714122342132050481351977504569793624706731880583104371651076388899245619939674538564110548648350140614923495270845882665277155113715210215180260492832176536697999502534889260818279145159527353460222088654395340046715869227884285951373184339259553607103180117690672789448980299202799188127706997717671923228798709404105395757038352924274454114327321973472619815612280396788440058473831141460021741923041477108422084846946489249344045366390476322786560650300050791260155525043028044099082654589700770053967558431618022261741100912843707108457902276868392645644471001215514712817824848868748732771300337086891168390629333266614046824751357505789020424828125630871387930587937338863315282668747027892622455007297208799928290697451731652771905850677566497205753543186319409363521594654995770998517493838809166911551032452552260441762780312046825978108833722594295498621406900116226275571798385748112090335997400249241891451916811060275025855897746375463147491432060611132192734423761546559963635480941667990976243011486779184558589976991512798820844916246698290014702610827290538395329201263727602603768398913709108995821034938963763964633012278621970648357178576559416331072460312702541857468681309132940989599915828832656380498957725957151806152473404557358024870433930861969519164719241528856440799948941579140656568176026325812042193607195209796234486515009255388553373925189166980562796378120610390316956385029192032335210145753711069372207918222228481286628846384508460334079594307358435458482546898290996741598978183894455361929262889306006668582849728675598319289020783622494184069025974734816027307752870745844339251185448501894409089992816354239959215006549363971467115106754305883419575919600954246830681634671859340324270482375985269839756167718036587807061777642454791649860623415384190352661740352210828342925952848877762411489427128141333909135233015572414216987633040795486030244216699310438427087373360078985460732477082079781604347020616787606002380239121259479400064148147181415660533016508075470142199898790371899367668631309253045236651010675007982621058544231469146907692718310346226369189152848916768508268824021060883044156209794223180613803125933575897897571031841472459141241238323309872948674656905072653101574655588957228867411566993004284154851070007043047615274062695305025447327384487072222105779844000610003348723819126819896182825674269583748156722408501498745042375839790666343540572440049670356162267360325144836874553196354804776391570677324658041877894711956263456150787780952896781192557394905568408253075987778784123368720808721398296699055103469561597240246769629401110894664054975097813743160367031743499953924445729198320377293201048210390257153992112879709866496055071785379227526514230754473322284829413550337619717884545427751042503185062112075012446531799246945207152547680629 399130862511451235528184361847436601900726284333710058693042347178624032806932250035826421492980030893260332373258030418753280263500457163129383149982576021516524060766546678039515654458218214789841324263250647615660691477291472665654105395874240418478516777016004485259367546998872337723386454236327837905653723797557839377793474170319822557447979840120518786082649365875622477820709691984185363519590227729587512866003622399367899560461332811834153842072930713992905898514693859391776179752864231348374754898637333094384823906212969696079848173008359766549767908973056254738499986084902640939153359605630418482990561190373900088731815832803761026282824002006823549139781320260496857722252521987885355471733761377656101590190130506506607059133902413030898022368745853759145062194721140173000777907816209839693866672681231361285999738842663023559156354074270650513650801569956562423473920890466746034255858477899122172566225085790257656180442853080281845824495649535087121785658413672404919350785721237086275508180432081774052560950616582926297842199402695180799002466930644508301042862171909828951504602004909587043043676752365859957324727984773975639155464689569627263161458815334926072585426277232134137557011766128861616669518737270617580678462780557249219932855395059562885700002207689744174744631762723243086672129233278986882528460620930910733352048851466827368040042686580940130814974792837649428539129948742091515791762087499482638178257667878447779804077411538060391307373729303258117614436727168568803454166390647508358838114817172186864746273445779908361412758197019768422242948516157230376497440767305435723406177741880465518706540921301113731863477834864624144027593473694544292756365461374556616767949705993204908745408095670996172038682335507117076718667910731358419602661178088673165251052015428386994598142939241294577856647921785682675599044461472147255496850081189504797603084481561762712086782119319990926608061944671938005378165299069732089703941324972222319230832754629781375309589245984506645583543131586823377696720769531898657760816666404428487743251666810974977171149071439501374313187020377467322543372536079763163432103160377629006777019693933685584832345793410719120527402795949305958742209204482761041962928891245211773081936312951985782295488055276145560009208027021837270059910207666279951434027835072578626437619381202179954567048127667503987397099513012840942402505137968826403925719382473493344785322241702306399191255781193908651191533249250774199133819000442987425287953631188449791548251265899281816158711823184643259476903185568548309736207635423844756556063133617472591035003681426764841914457158990783002930932369234555538125424307240725111054173043308051375944232931175939407574169104834174526161116588774937899403523796945397402004616064692050989694235338781879520065837958603112616144509477787253994792963794152406225518999463946145274857544767058777220747170090584402971663827949110367090454208519856999894773202746633954502458029547506096903432278809600121552855845789133664868952331337418178310017006056022727729763259713544944708290332090868531893939549246632401761571562909616999817880774591707698760958681468842804183702946838106271469133994785061459175506269669798800503724836029781032244773883263938899859346401417955948216643931467745182266142459201129746680076473374412793402667216306021105491400385800693992503561999569810840591969059921080273551883096024335112514234829731333290118839495189684361390007793107727596575317775247426453317190108180005793057492535628941260129214623207513541367542868864737104215965053221802831646485586314362181978084510017159247074990927032254053502654563527887842413064057555563581922215911107956904193777270841354075644464120842425569422235945091337140873569593157495461123262641130793988495649190247866413128615893529514592311976258099159831807329916511631838813900368049753746801937923471782786346042563198615568080577659966996632127757084182883592404091547717096522880028776560007 645807301502589315845985971583907458609031100974192876781840285768208022596588924404729661665531268804720861138851158344433790389627428811813725322681745873594097671490131661518003581067797261064531018102039649572792057173309835866084544467446308622050396797681851650027597097901968495325545131258947651628723716644117221638181939327629428896461781763247370827996613089745935519116011243170301606002370629522902289618807394359199817391260712985880460381965189523348761290556500135477857493257086528413180941421058420429294070226728324437220998612338017875664658085459483690012749886512608957521917817546764907036081918314368628016633003130043348105033271914337037056166921117803977059271662683930083439521134419271974085562984516231492864178411387769414787111411791569193186293017961050585666893022029198972039188802526778416817421342482236322033861105230628872122877957989828582789876889752065512108085453680487716170070275145859276932970356071291358923383067790640558982362953541566545808234029130913183131862598312103630637584112276995108966070140254874674775074083501001111684821469891419316494659241812541121771381880801825152626281037493913352394944178811911759313642810792839495866210133009112717241928662842517760862289458411809181691227111130697864143428126240942228162855115922899959355005124594899779784671631768168247700807605780458264193574137505862167414755911914465226082188159132097203035642310066432764305240742386702281826305964665596119703032876120942165787064412082227532571728764049142041423269778671044296798896588648313646886488196487257016783497605143509017766288314906633553163058091067356226983561702784908509617789195511001883785831036266482646405768694386538251401214267738242949262412420707208719621563232944539744904809982672594008245109297243997972466427412535594462185675880141059258382528730876580157893139316668813575298054051758680947183787547532921157569508935159128259917840325305639400290129656599667709003895659137878899001254973777524482760993613066676607353418422968578802144204950031703049653268519155280010748096814066653670379195168477871250003027046817814964521804619080988599515277796297626323127067584102045619983020031180712870143422322784923517941372319042647595973444820031773299437292130154972814376850335226661094778116522994239909524642220305643807918417088784225696282506488147775120483906300690335120944166963956500160367896057238969992748554978542526184428796153313335462863950041483231162839991204722773049307759709275576586241327426195652783659774468640443838344922176455066262378955089943795033576433288214760580644946353389134914128763981355845953877663850065935225175994051466349218461413479267525552279724402491135180472983435932614058044527082659851537726863189888456668710230142563509753926711276667691241741255801513193945398784228155136119479280844507967084083259616232093137414368883395106653056200634135805485599128027143044047060503337808620990778725605591565158740314831935241190247434943098844782845383982396383859314921705937741455461991078804706079085939964378213664340261222755333166156850633073623930169022809172948313498286569863420007763951802030876479217944922738889114421491697976918274325902845628478170836802626094314504412157280344806783124783380261250179152466601574285126228535554266872716724912755488806065310298668995352927293879599307988691300238248147493564632641624124003865452236656474883493693543715510037502419294663017339396669085899738376337734113557884989386837335177594799818681097619248036456665913927306825689240318209898525008285937031709012286409918708655403447756537493271473187808752946639507018852637706371964023466561604356912095380549275484151298563851838508460363114773306013525312446853258620138199013184929563823866121291048560898738113816362786896572017926696105891802238809557279609913082540339258712912689269459147370222064483908624511548680396423121539126029464437702537259668327392612165905700295544512424383170260269244995667416538079516343468087181324240636 1044938164014040551374170333431344060509757385307902935474882632946832055403521174440556083158511299697981193512109188763187070653127885974943108472664321895110621732256678339557519235526015475854372342365290297188452748650601308531738649863320549040528913574697856135286964644900840833048931585495275489534377440441675061015975413497949251453909761603367889614079262455621557996936720935154486969521960857252489802484811016758567716951722045797714614224038120237341667189071193994869633673009950759761555696319695753523678894132941294133300846785346377642214425994432539944751249872597511598461071177152395325519072479504742528105364818962847109131316095916343860605306702438064473916993915205917968794992868180649630187153174646737999471237545290182445685133780537422952331355212682190758667670929845408811733055475208009778103421081324899345593017459304899522636528759559785145213350810642532258142341312158386838342636500231649534589150798924371640769207563440175646104148611955238950727584814852150269407370778744185404690145062893578035263912339657569855574076550431645619985864332063329145446163843817450708814425557554191012583605765478687328034099643501481386576804269608174421938795559286344851379485674608646622478958977149079799271905573911255113363360981636001791048555118130589703529749756357623022871343761001447234583336066401389174926926186357328994782795954601046166213003133924934852464181440015174855821032504474201764464484222333474567482836953532480226178371785811530790689343200776310610226723945061691805157734703465485833751234469933036925144910363340528786188531263422790783539555531834661662706967880526788975136495736432302997517694514101347270549796287860232795693970633199617505879180370413201924530308641040210741076848665008101125321827965154729330886030073713683135350926932156487645377126873815821452470995964590599257973653096220153094439284397614110662367112019640690022629927107424959391216737718544339647009273824436948631090958915102496705080224445821306388728728012214563308789788493163289873030965239924811909405857630733058098866938420144682224980198195889254465896117806101366066837821168833706086290499687262423248989797050874646555728254668578334237061899721838596901932187029236256060479255059046218026149932271539613080560412011049516055084651428332665645188476998991891976233940515982847699110343920071537300898734012084167664355293156751982833690957483680495010832721872695808956208735363724933469239182460503966957958951242524827360440461245196095771085062422271632288136470427720965544195113801766979676835910191400329128954682561024558758885320044489463426468698853747361990017908508625340001464344411636760107817849826798375905584037608975922109420471315591027477134437358993290843236391259152284691826114800464636639143260417577885996388478463493917998999346682466570196699404125709880391409161847189259059281719633599751630873985571910102824281250507899205393750389433540675525830769040455098190142208145845478737347842011943889956218353984747341577014846924593839743954892295715631842650278228811355893886613892787168874877313141263816845392226119110052409525523364940493479035825697330596813182450379445761078509605792466584442305936620879375963587663550014605583628508216291031211397240484838224026087881955684828664941556686956551247576441128196482673973956072682401484702905464453514670124042009924697857955798656044694334285512775431117775971177759041674509183320729469709627852953053074673748227342970702527415256415394495462909983104035486831482297810745527466268415151654916525827777461577520140551972502546493276019455238532953869200830722216389123270541552531389166148883203839012039140976915896064023945036989217121482216640630529461492274657649050406249435543526993652235878987385955944392033141189337236685790734458747527476326211156232788227505001245717246530053871813825136143387494296791171292872831402361174320046014369955810781473780873204479421015298017353427879259820629627233439990967210100800643 1690745465516629867220156305015251519118788486282095812256722918715040078000110098845285744824042568502702054650960347107620861042755314786756833795346067768704719403746810001075522816593812736918903360467329946761244805823911144397823194330766857662579310372379707785314561742802809328374476716754223141163101157085792282654157352825578680350371543366615260442075875545367493516052732178324788575524331486775392092103618411117767534342982758783595074606003309760690428479627694130347491166267037288174736637740754173952972964359669618570521845397684395517879084079892023634763999759110120555982988994699160232555154397819111156121997822092890457236349367830680897661473623555868450976265577889848052234514002599921604272716159162969492335415956677951860472245192328992145517648230643241344334563951874607783772244277734788194920842423807135667626878564535528394759406717549613728003227700394597770250426765838874554512706775377508811522121154995662999692590631230816205086511565496805496535818843983063452539233377056289035327729175170573144229982479912444530349150633932646731670685801954748461940823085629991830585807438356016165209886802972600680429043822313393145890447080401013917805005692295457568621414337451164383341248435560888980963132685041952977506789107876944019211410234053489662884754880952522802656015392769615482284143672181847439120500323863191162197551866515511392295191293057032055499823750081607620126273246860904046290790186999070687185869829653422391965436197893758323261071964825452651649993723732736101956631292113799480637722666420293941928407968484037803954819578329424336702613622902017889690529583311697484754284931943304881303525550367829916955564982246771047095184900937860455141592791120410644151871873984750485981658647680695133566937262398727303352457486249277597536602812297546903759655604692401610364135281259412833271707147978834041623071945147031819936620954799818282547767432730598791506867375144007356013169483574827530092213888880021187841218058887982996082146435183142110933993443194992922684233759080091920153954444799711769246133588622553474983225242707069430417922425182354666353098965131332409417567271364468868972817082055359425871676991363257755003272040881244497905631849268029359916547189201190840526782606766274175338528534043755964609293648638309453106894087776117672516447004130622819594250220761872421842900976040667824723189213990952826439512462223021195261518026009144419072685405208164632079173665226740007266710951800403946681788671391748554744836890912076126481392604176031806574068891710774710412343479615089709599628914413693673014084025845309380346362703813297215193902560091689219925757890904285660097574229289511086057021044908536167464998398250879014861300548881747511946621401715794445752826077132327880884516219091079941787262691649054118478627526974537280782663741941973528823530730584365712337920267735557116473113599053146871341753845707826384529115039132240684571083872390339380389643088944323520193225994340273815533275690685083032476838003398545823040832260093845506990539451566689060043464525860792805046335950436765158890512688973472417289475166971369958253770620069485927603942077422679352835508638095062613142739246973690467999820830359412366753291596552281390549707086412509152316417509951701381666469442445357312886739797191835601267835671990390176003143712601008234756683634048701723408035312519577827979056490941155278390472422059013905852406629208085965587066610959663135064678148297327233937513013743499366649017962793657171538128955425991276701088686625538114187380286175543999729040039764749207263991479593376219683359922761087294008114135746078244263753114496190439540767734572484308151762523135007529087483788081630473670833979970073301664818042213134617101202318731288605159116033342577592973268304807086239293696572046940417690515176393900275936297733760654936174693214292831998860866798876857305682697348422947379481168748991845398468277622672874927237167706749783459054391425041279 2735683629530670418594326638446595579628545871589998747731605551661872133403631273285841827982553868200683248163069535870807931695883200761699942268010389663815341136003488340633042052119828212773275702832620243949697554474512452929561844194087406703108223947077563920601526387703650161423408302249498630697478597527467343670132766323527931804281304969983150056155138000989051512989453113479275545046292344027881894588429427876335251294704804581309688830041429998032095668698888125217124839276988047936292334060449927476651858492610912703822692183030773160093510074324563579515249631707632154444060171851555558074226877323853684227362641055737566367665463747024758266780325993932924893259493095766021029506870780571234459869333809707491806653501968134306157378972866415097849003443325432103002234881720016595505299752942797973024263505132035013219896023840427917395935477109398873216578511037130028392768077997261392855343275609158346111271953920034640461798194670991851190660177452044447263403658835213721946604155800474440017874238064151179493894819570014385923227184364292351656550134018077607386986929447442539400232995910207177793492568451288008463143465814874532467251350009188339743801251581802420000900012059811005820207412709968780235038258953208090870150089512945810259965352184079366414504637310145825527359153771062716867479738583236614047426510220520156980347821116557558508194426981966907964005190096782475947305751335105810755274409332545254668706783185902618143807983705289113950415165601763261876717668794427907114365995579285314388957136353330867073318331824566590143350841752215120242169154736679552397497463838486459890780668375607878821220064469177187505361270107003842789155534137477961020773161533612568682180515024961227058507312688796258888765227553456634238487559962960732887529744454034549136782478508223062835131245850012091245360244198987136062356342761142482303732974440508305177694540155558182723605093688347003022443308011776161183172803982517892921442504709289384810874447397705419723781936358282795715198999004903829559812075532769868113072008767235699963423438596323896314040231283720733190920133965038495708066958626892117962614132930005981599931659941591992065171762719841399837818878504285420395802248247408866676714878305887255898940545093272019693945076970975098295371086768009648750387520113470518704594140833409722741634988124835489078482370742935660130469945903516206094239898704953375281420768933098101318356125730706965225662194325231307122249916587844325829899313183708414617863031896997350769182693477754387248253671015418838554311475438252431899404070334772806815061557560659205211811068717029221390102302541045767915424056087886991641058653884458276885469713841906491995737907875038355183012660868079137578940877596964520027776636668965938175741155142972117477974209441107477482067867651853920232692577773624771619639901335308747347099170963249695623004353607031778279504472672916210401852912845437570531851234789802257541068006284163771751629675432424609491684927992385566995724555809477349640817680378044953930078418647961679923649091700582004282738808083524826814998531911863437289596317400082740786392456868440431345114430561647055448675867853066431587484380374017950381799812843312601946947571250733178404299465636530046608026129401908560463180925388318275241791744672791660706049177054522904880725643973399581363833968564272162264569266372273054361650181100688415035727358677795593440019664034336883292021118999854649193928408238962276632121998280488653835939700953457545116240341542063941964841863695684551701542586258025226719230012547245420514082139150210564549666667135244393146956953508229580517683630636508253188751740256489745728114317543122748328483030376322737208345035865370496088588274675680638300305370579263383707727052334562565504852804835167922691760893640430329808111558896798323668990005464124871692269160051177351697067304233728853262041953471266413766294976100754187057797333983223450021601525841922 4426429095047300285814482943461847098747334357872094559988328470376912211403741372131127572806596436703385302814029882978428792738638515548456776063356457432520060539750298341708564868713640949692179063299950190710942360298423597327385038524854264365687534319457271705916088130506459489797885019003721771860579754613259626324290119149106612154652848336598410498231013546356545029042185291804064120570623830803273986692047838994102785637687563364904763436044739758722524148326582255564616005544025336111028971801204101429624822852280531274344537580715168677972594154216587214279249390817752710427049166550715790629381275142964840349360463148628023604014831577705655928253949549801375869525070985614073264020873380492838732585492972676984142069458646086166629624165195407243366651673968673447336798833594624379277544030677586167945105928939170680846774588375956312155342194659012601219806211431727798643194843836135947368050050986667157633393108915697640154388825901808056277171742948849943799222502818277174485837532856763475345603413234724323723877299482458916272377818296939083327235935972826069327810015077434369986040434266223343003379371423888688892187288128267678357698430410202257548806943877259988622314349510975389161455848270857761198170943995161068376939197389889829471375586237569029299259518262668628183374546540678199151623410765084053167926834083711319177899687632068950803385720038998963463828940178390096073578998196009857046064596331615941854576612839325010109244181599047437211487130427215913526711392527164009070997287693084795026679802773624809001726300308604394098170420081639456944782777638697442088027047150183944645065600318912760124745614837007104460926252353774889884340435075338416162365952654023212834052389009711713040165960369491392455702489952183937590945046212238330424132556751581452896438083200624673199266527109424924517067392177821177685428287908174302240353929240326587725461972886156974230472468832354359035612791586603691275386692862539080762660563597272380893020882580847530657775379553275718399432758084995749713766520332481637359205597389789174946648681303393326731962656466075399544019099096370905125634229991360986935431214985365407471608651304849747068443803601085897743450727772314780312349437448599707203497485072161431237469079137027984303238725609284551402265174544127321266834524244093338298844361595282144584535964165503313801671584733888486569982408126537401355757924714097794354106174141262733397529790957446972492373146125635253804038587979592880574736204095784541099255636073029157343251585188529097660597150630508548153940389851946104913488096180082187161424261373956420405713628808718441315860193445331428012998285377398077698079698792994444350468112092785506857038456756785867129634062583873583331766954729292400912292855760045879963003846792026235956601736415644758264731609593827449056223308357990483957560169070865863820212770016396566964758199314858162808619511805156894972936785235776950921494323734125777734294000624437587284905366117507641968522931390931390036556815903322856631357131944734013973542944508754484969985042137347163173251497056997244104473698883233395543366937469568668390334534291119784180623068656709668591415114826756899587305210733430317135091409395593992496654657663242330720716975588231428274495571847265873349920722580153876509627416663181836709192889655531139637409278022101304771869281083849990243625757313428332752122603159702320888133987885881559027086274994000018356699267297181883131441421982461643281139961074145825374068656379448821817329028167602056152222149871228551430582626022774433983221492140621640197442061911297858557780802881322637410710068004420020058451365208992561340514263391497274815598105624753221999317010346396038873163078078505113189790593406969243459421403921840976680995357141648804798549376882108340382276070034330605744409292657453259843683219756956870553135958928034657379764652656676232743210702463111812234572598773629114294965040733006909075992950883201 7162112724577970704408809581908442678375880229462093307719934022038784344807372645416969400789150304904068550977099418849236724434521716310156718331366847096335401675753786682341606920833469162465454766132570434660639914772936050256946882718941671068795758266534835626517614518210109651221293321253220402558058352140726969994422885472634543958934153306581560554386151547345596542031638405283339665616916174831155881280477266870438036932392367946214452266086169756754619817025470380781740844821013384047321305861654028906276681344891443978167229763745941838066104228541150793794499022525384864871109338402271348703608152466818524576723104204365589971680295324730414195034275543734300762784564081380094293527744161064073192454826782384475948722960614220472787003138061822341215655117294105550339033715314640974782843783620384140969369434071205694066670612216384229551277671768411474436384722468857827035962921833397340223393326595825503744665062835732280616187020572799907467831920400894391062626161653490896432441688657237915363477651298875503217772119052473302195605002661231434983786069990903676714796944524876909386273430176430520796871939875176697355330753943142210824949780419390597292608195459062408623214361570786394981663260980826541433209202948369159247089286902835639731340938421648395713764155572814453710733700311740916019103149348320667215353344304231476158247508748626509311580147020965871427834130275172572020884749531115667801339005664161196523283396025227628253052165304336551161902296028979175403429061321591916185363283272370109415636939126955676075044632133170984241521261833854577186951932375376994485524510988670404535846268694520638945965679306184291966287522460778732673495969212816377183139114187635781516232904034672940098673273058287651344467717505640571829432606175199063311662301205616002033220561708847736034397772959437015762427636376808313747784630669316784544086903680834892903156513041715156954077562520701362058056099598379852458559496845056973684103068306561765703895329978552950381557315911558514114631757089899579273578595865251505472277606157024874910072119899717223046002887749796132734939233061409400833701188618253104898045347915371389071540311246441739133615566320927297581269606276600200708151685696008573880212363378048687136409624230300003997183802580259649697636261312136970017222044357563857003438502428691867326170952290338802880153955476824146700452354030053607449997823419051169635526943074360834715885916688153937718035340450866560926288504567437206404635517279492955717118667970026508112434278666283484908850821645927386708251865290198536812892166514854993976485818934615625617524697525747662705962495986377195928422341465285069339138352677452721235937825934691998852776364631824222312646723451952720910707832326256920940069492429011818138745001934998353434575945856752235746799477245681369288915886131615255577200070406174611167311940979646262587762552921889941088123984478073105374789698081214521453345558523928035275362006908601359036535041549932251460207859383316957032281371712800206272174812322778967903621363156716164893634133837929167455990305140522070919472230795096832832963254869651409176726991159560215525737499218356724040090982679823331174789591107448267516891222238906594443602228913975509125016441224761474882521701249174433813101647968472151751419161335973497415242066710054044518134921995500886135703249648122152508195023685701387113772784260390735923861346563677152467105939028336901648720386297036532325369830221423919913261959354634479210008357332906366933569369709665998117064013566913103132125212280799660702451504687867060711524201061508423107447470016567030557667021512649600576134995845500814529266003647987020543712423167875970327800040722718776081508113943875609278378868082649881759726774501104360388722409476211370303402181717276263074036963674760935552520851554251583512673225221081742245405118979212009076831956890405086005252655934378226000867574874383301352762374716230359097594476725123 11588541819625270990223292525370289777123214587334187867708262492415696556211114017548096973595746741607453853791129301827665517173160231858613494394723304528855462215504085024050171789547110112157633829432520625371582275071359647584331921243795935434483292585992107332433702648716569141019178340256942174418638106753986596318713004621741156113587001643179971052617165093702141571073823697087403786187540005634429867972525105864540822570079931311119215702130909515477143965352052636346356850365038720158350277662858130335901504197171975252511767344461110516038698382757738008073748413343137575298158504952987139332989427609783364926083567352993613575695126902436070123288225093535676632309635066994167557548617541556911925040319755061460090792419260306639416627303257229584582306791262778997675832548909265354060387814297970308914475363010376374913445200592340541706619866427424075656190933900585625679157765669533287591443377582492661378058171751429920770575846474607963745003663349744334861848664471768070918279221514001390709081064533599826941649418534932218467982820958170518311022005963729746042606959602311279372313864442653863800251311299065386247518042071409889182648210829592854841415139336322397245528711081761784143119109251684302631380146943530227624028484292725469202716524659217425013023673835483081894108246852419115170726560113404720383280178387942795336147196380695460114965867059964834891663070453562668094463747727125524847403601995777138377860008864552638362296346903383988373389426456195088930140453848755925256360570965454904442316741900580485076770932441775378339691681915494034131734710014074436573551558138854349180911869013433399070711294143191396427213774814553622557836404288154793345505066841658994350285293044384653138839233427779043800170207457824509420377652387437393735794857957197454929658644909472409233664300068861940279495028554629491433212918577491086784440832921161480628618485927872131184550031353055721093668891184983543733946189707596054446763631903834146596916212559400481039332695464834232514064515174895328987345116197733142831483203546814049856720801203110549777965544215871532278958332157780305959335418609614091833476562900736796543148962551291486202059369922013195324720334048914981020501123144608281083709848450210118373878703367327988300422528189544201099901435856264291284056568601657195302282864023974011910706916455842116681825540210712633270434762156591008805755748133148963989633117215623568113415707645600910210408486576501814730327092547030086979371721375277496816374304043055665455685863854812582569447972276435934862192255142144641726380262694937181137910080308572046023238326334466104021822689431708623941420626842683147037218051470447165586405938027477505709814821388610089442280786035826304242474787055549321852362348189057698101748848727024589391177682272396994011531086839508818345139194489605739534760239477040474987524710996042829552520752236748103896743496283230000347726483316991472374839882258053813009656007533038946321440407667439893428730790774248347068838187616123062903531944267512981877164307665470649863619175975276330629241802197519315023945929678330228376330192339220077567061525450679999706360567875066392631506097506580230762094801840878584651982631634500586940256886577217839845733416812992903157017273096440307163022370548626028261046577999155334124434956365585184155544200017602190907572530731972142751820780999129719865895387420093056811995334449558711494192214022336920005419653594218415456811252203885563194401920428780304584077013712355188750898397877268054269286163438141654562707838303574094685672996828488700908966262972806281665228272897889667968377089517069620634586361054493375869780267039484295359310528792629192327117051069114814954671192022380722468169461489619125219148178422945337069717766617860175101951558599384603456313033709091541296930144211704843356356444978038612798541077907246666456596609547081318748463358397490038235440173648012415647727415449237268173587427608324 18750654544203241694632102107278732455499094816796281175428196514454480901018486662965066374384897046511522404768228720676902241607681948168770212726090151625190863891257871706391778710380579274623088595565091060032222189844295697841278803962737606503279050852526942958951317166926678792240471661510162576976696458894713566313135890094375700072521154949761531607003316641047738113105462102370743451804456180465585749253002372734978859502472299257333667968217079272231763782377523017128097695186052104205671583524512159242178185542063419230678997108207052354104802611298888801868247435868522440169267843355258488036597580076601889502806671557359203547375422227166484318322500637269977395094199148374261851076361702620985117495146537445936039515379874527112203630441319051925797961908556884548014866264223906328843231597918354449883844797081582068980115812808724771257897538195835550092575656369443452715120687502930627814836704178318165122723234587162201386762867047407871212835583750638725924474826125258967350720910171239306072558715832475330159421537587405520663587823619401953294808075954633422757403904127188188758587294619084384597123251174242083602848796014552100007597991248983452134023334795384805868743072652548179124782370232510844064589349891899386871117771195561108934057463080865820726787829408297535604841947164160031189829709461725387598633522692174271494394705129321969426546014080930706319497200728735240115348497258241192648742607659938334901143404889780266615348512207720539535291722485174264333569515170347841441723854237825013857953681027536161151815564574946362581212943749348611318686642389451431059076069127524753716758137707954038016676973449375688393501297275332355231332373500971170528644181029294775866518197079057593237512506486066695144637924963465081249810258562636457047457159162813456962879206618320145268062073028298956041922664931437805180997549246807871328527736601996373531774998969587288138627593873757083151724990783363396192505686552653028130866700210395912300811542537953431420890011376392746628696272264794908260923712062984648303760809703838924766792921102827772823968431965667665013897565219189706793036607227867196731521910816108185614689273797733225335674936242940492905989940325515181728652808840616854963922211828258805510288327597627992297606330769803850797537697168401261301278612959221052305721366452665879236877868746180919561979495687536779970887116186644616255753571552200133625160060289984402829301624333754847928443827027368375656615597114467293384007238654770452533492972013082173568120142521096067478298793922363321570444120432343178539272429209792175114395899243187671640763023860213766727785185418085819869842968307968216376356404147899886822343763962169504562591186020434311754927509487779025153182619381806242792431840618069516240493850662022942825753628129149229758330564085190187634055080621220995111960309883215086154836651975689092140283305158638044984867480761303105722516181398205993828185440781981848285018014441640305357975449217372144888938650157565304101119559328923269175706756590291949780785670822186814757253309813205498085232107338041385943418160473427061209293447208871486743788516610240215232098067093423116671597080186403561936884392948326852168873853873407181383859115491193348970749858037754378039538974345614740976124018517098180012465739335128831539677023075639228673679122013103077043275780380094295260015804684831106979668171680483792735856681013235863961298153050673821654140039891254947782181082425309483107663879783414783794085371045261555684467767586934052386350177005054757694833050584373755388124501516355761620490464034314704772675742914456698526044111029719221210721356899994190399046270687471315903022951960505162654917091791833591036179305966256331746548329572269006978874952924049697458440176094071545405353740316660866530349997383852476849450995765956426869029670199120355043946196886458675533428566437486404753716014331868264236307748522395717000489790165467627271181904333447 30339196363828512684855394632649022232622309404130469043136459006870177457229600680513163347980643788118976258559358022504567758780842180027383707120813456154046326106761956730441950499927689386780722424997611685403804464915655345425610725206533541937762343438519050291385019815643247933259650001767104751395334565648700162631848894716116856186108156592941502659620481734749879684179285799458147237991996186100015617225527478599519682072552230568452883670347988787708907747729575653474454545551090824364021861187370289578079689739235394483190764452668162870143500994056626809941995849211660015467426348308245627369587007686385254428890238910352817123070549129602554441610725730805654027403834215368429408624979244177897042535466292507396130307799134833751620257744576281510380268699819663545690698813133171682903619412216324758798320160091958443893561013401065312964517404623259625748766590270029078394278453172463915406280081760810826500781406338592122157338713522015834957839247100383060786323490597027038269000131685240696781639780366075157101070956122337739131570644577572471605830081918363168800010863729499468130901159061738248397374562473307469850366838085961989190246202078576306975438474131707203114271783734309963267901479484195146695969496835429614495146255488286578136773987740083245739811503243780617498950194016579146360556269575130107981913701080117066830541901510017429541511881140895541211160271182297908209812244985366717496146209655715473279003413754332904977644859111104527908681148941369353263709969019103766698084425203279918300270422928116646228586497016721740920904625664842645450421352403525867632627627266379102897670006721387437087388267592567084820715072089885977789168777789125963874149247870953770216803490123442246376351739913845738944808132421289590670187910950073850783252017120010911892537851527792554501726373097160896321417693486067296614210467824298958112968569523157854160393484897459419323177625226812804245393881968346939926451876260249082577630332114230058897727755097353912460222706841226979142760787439690237248268828260717791135244013250652974623513722305938322601933976181539197292855897376970012752372025837481288564998473716844982157838236349024711537734306164953688230710274374430162749153931985225136047632060278468923884167030964955980598028858959348051897439133024665552585335181560878247608004230476639891147584785202023036243805035898249413241321878343235625061509319685349097614793177505607970942717331979355758138852313603870190386942689661497380363378960030047949349867276056137839023806006375908650047746766198799256432636375574487820265652691904729356252305979551759717664001350194679870749607874849794443811263595150651363413574455618347052408749701989647010272406007409044401197208295523605329395657406437355564644794188807127214342242699389047532216931310401546223769861650924699005979194275110826734646720549360255561142361362971731921692804057395386148881610977044533106070242664715197466203025323040035661294674021974679251679415856884812038317669440931813651169957746945046332079238700857804931657949978487657464620872485788481828714473909535560700967364090151757289585623639548091564310850042060920214938458634968489509303103177692983792698979194789205436820856485507907768324116002068411188816483274850747281196556247442055048139146389065724208273512317334284165664111979441224412829223322030705267950848311112066438011836585683960826845563559100576849547852015462794575455490367073010741659559693485473363238992334629195046302065800212195088378162384757616744435366165464202106655636340443196412257540888887947850073797498344844462529456727007120986437904015812346366494421200546788841845307717954487566268826537726955611262333480753134354982034142860948405990850497988637054214717791061888132198023131346995034528157942711931720507305298916045469986663031092944018146381139977661270225386115177158967842487274793705341990025175984567723502179372729358302471747922170408132648217205614704895444769331941771 49089850908031754379487496739927754688121404220926750218564655521324658358248087343478229722365540834630498663327586743181470000388524128196153919846903607779237189998019828436833729210308268661403811020562702745436026654759951043266889529169271148441041394291045993250336336982569926725500121663277267328372031024543413728944984784810492556258629311542703034266623798375797617797284747901828890689796452366565601366478529851334498541575024529825786551638565068059940671530107098670602552240737142928569693444711882448820257875281298813713869761560875215224248303605355515611810243285080182455636694191663504115406184587762987143931696910467712020670445971356769038759933226368075631422498033363742691259701340946798882160030612829953332169823179009360863823888185895333436178230608376548093705565077357078011746851010134679208682164957173540512873676826209790084222414942819095175841342246639472531109399140675394543221116785939128991623504640925754323544101580569423706170674830851021786710798316722286005619721041856480002854198496198550487260492493709743259795158468196974424900638157872996591557414767856687656889488453680822632994497813647549553453215634100514089197844193327559759109461808927092008983014856386858142392683849716705990760558846727329001366264026683847687070831450820949066466599332652078153103792141180739177550385979036855495580547223772291338324936606639339398968057895221826247530657471911033148325160742243607910144888817315653808180146818644113171592993371318825067443972871426543617597279484189451608139808279441104932158224103955652807380402061591668103502117569414191256769107994792977298691703696393903856614428144429341475104065241041942773214216369365218333020501151290097134402793428900248546083321687202499839613864246399912434089446057384754671919998169512710307830709176282824368855417058146112699769788446125459852363340358417505101795208017071106829441496306125154227692168483867046707461805219100569887397118872751710336118957562812902110708497032324625971198539297635307343881112718217619725771457059704485145509192540323702439439004822954491899390306643408766095425902408147206862306753462596159719545408633065348485296520384532953167772527510146757936873409242407894181136700214699945344477806740825841991011554272106727729394455358562583972895635189729151902694976830193066813886613794520099299913725596929305770384462653948203955805784531585786193212208994529880241317262891237549231239953237795592373772018956313110606067296140631238566043558286775964673747386198684818401883360248069220012591926148897004717526045560121162578003080496006830998804925121114521531366701878794947389304764374054893637477393060267880263681106563458619579789930859766246939231093465951816514834997193429478712952135805011384354548840025819161807437226029425196730582736550051070475042684938530695453528192215009889193613249355732047729758680859243470647297198014947421013833087362554024193866478457805836211792758846113403460031210763822017509579692036416319557037391306102184183206608091089378955271077306273969601254945457448096881438735649309844279378125795601687326799706016873602086910782250625184350794917086756963051054638558671160430170556702061912625974700257879387354635863587737532288989730339381314949707975117559604537787233132888501659236095221787669789115270407582822388285978056669412997203789002516863641502902444043808344994124091492160733271852390368791933825231730781060642283708696476030439416788520123684563313699733376728311021173417054504529409729679995609872172247755802878300119833933051136159041986517448251169952373939472321605461921999861200224149947191041435691210579758726803065020465311576508063056029074854481756667872808414426927165356432713639517636951234652781997027029803954893385961266120634157139176898084271044731986598118806003265912659039232706336517013028476796494995832135743617697094415785376279322886433471680164017523453742422054128255895387061226566708055670692803849648706995780172522715951236275218 79429047271860267064342891372576776920743713625057219261701114528194835815477688023991393070346184622749474921886944765686037759169366308223537626967717063933283516104781785167275679710235958048184533445560314430839831119675606388692500254375804690378803737729565043541721356798213174658759771665044372079767365590192113891576833679526609412444737468135644536926244280110547497481464033701287037927788448552665616983704057329934018223647576760394239435308913056847649579277836674324077006786288233752933715305899252738398337565020534208197060526013543378094391804599412142421752239134291842471104120539971749742775771595449372398360587149378064837793516520486371593201543952098881285449901867579111120668326320190976779202566079122460728300130978144194615444145930471614946558499308196211639396263890490249694650470422351003967480485117265498956767237839610855397186932347442354801590108836909501609503677593847858458627396867699939818124286047264346445701440294091439541128514077951404847497121807319313043888721173541720699635838276564625644361563449832080998926729112774546896506468239791359760357425631586187125020389612742560881391872376120857023303582472186476078388090395406136066084900283058799212097286640121168105660585329200901137456528343562758615861410282172134265207605438561032312206410835895858770602742335197318323910942248611985603562460924852408405155478508149356828509569776362721788741817743093331056534972987228974627641035026971369281459150232398446076570638230429929595352654020367912970860989453208555374837892704644384850458494526883769453608988558608389844423022195079033902219529347196503166324331323660282959512098151150728912191453508634509858034931441455104310809669929079223098276942676771202316300125177325942085990215986313758173034254189806044262590186080462784158613961193402835280747954909673905254271514819222620748684758051903572398409418484895405787554464875648312081852561968764506126784982844327382691642512754720057276045409439073151193286127364438856030096267052732661256341335425058846704914217847144175382757461368584420230574248836205144874013820365714704418027836384328746059599609359973129732297780658902829773861518858249798149930365746495782648411143548572847869367410489074375507226960672811067127059186332385196653278622389527539953493664048688499954592415963217732366471948976080977547521729827405945661532047439150226992049589567484035606453530872873115866378772210922898328854746415301200344714736288292466364206148454235108756430500976437462054110765158714866351233227524125357851615732155272913367573792326319961834435716871581318819070577813019250887619007858346707106968765724249573508227000935117674707492370158609270943203505315384593991639843167941463525107403200838523114149344100534989683944497432256517372082020218232323944924979249440118007259616248932241677298053865934588199592443630842874464405401408603726208439559377919152935525891419949410342748089434850369317863001510828600926234236086862053170874366058390998808716807162986996221524277532021192606441035053219015933334184158305901813096685627797501743998998281390169155514179926409162787878146340776941640380540726305054615365488600732080645109015337030402135277803435572371147334842782526737725810586824889222718032091119628015726603716407739248940432651469229724837254416796648546596559490374003697162867900981958088054332125766074513612944972402604227171283688976052752760670795289881637491831560711938825014872278887196695304973259426862201674260165751683699575711795480207804960550410140560495044555200098515338265697622857891447582209914828360269455535719498206044686679403918048556677648483774539149431514886512123296904901336792808969322936699346141382538427689913466773872618985377513730403017880301943530440175983911696045271374921215618039766514756061517934986419964338148751806503676059569740513142213275721278967319801900553438290728920746473869359513478918406621851758074759790584869179803592863211982296924201394877418160720568216989 128518898179892021443830388112504531608865117845983969480265770049519494173725775367469622792711725457379973585214531508867507759557890436419691546814620671712520706102801613604109408920544226709588344466123017176275857774435557431959389783545075838819845132020611036792057693780783101384259893328321639408139396614735527620521818464337101968703366779678347571192868078486345115278748781603115928617584900919231218350182587181268516765222601290220025986947478124907590250807943772994679559027025376681503408750611135187218595440301833021910930287574418593318640108204767658033562482419372024926740814731635253858181956183212359542292284059845776858463962491843140631961477178466956916872399900942853811928027661137775661362596691952414060469954157153555479268034116366948382736729916572759733101828967847327706397321432485683176162650074439039469640914665820645481409347290261449977431451083548974140613076734523253001848513653639068809747790688190100769245541874660863247299188908802426634207920124041599049508442215398200702490036772763176131622055943541824258721887580971521321407106397664356351914840399442874781909878066423383514386370189768406576756798106286990167585934588733695825194362091985891221080301496508026248053269178917607128217087190290087617227674308855981952278436889381981378673010168547936923706534476378057501461328227648841099143008148624699743480415114788696227477627671584548036272475215004364204860133729472582537785923844287023089639297051042559248163631601748754662796626891794456588458268937398006982977700984085489782616718630839422260989390620200057947925139764493225158988637341989480465016035020054186816126526295580070387295518749676452631249147810820322643830171080369320232679736105671450862383446864528441925604080232713670607123700247190798934510184249975494466444670369685659649603371967820017954041303265348080601048098410321077500204626501966512616995961181773466309544730452631552834246788063427952579039631627471767612164367001886053303994624396763482001294806350367968600222448143276466430685674906848660528266653908908122670013253659159636773404127009123470513453738792475952921906362822569289451843189291968178259158039242782751317702893256642540585284552790980742050504110703774320851704767413636909118070740604491924382673077748090123926389299238417651857287392793410799180358562770601076847435455424335251431916510093098430947855374099069821799665739867402996107696035102160447560094699653096792718486755244605576970273444594866347322474059263213426727858151357399684753116587772194577864207658304169918085099837886441124412438797367588149817875502934133772418985709737141654496273530098304467145704393995385554971173476722067890522993436175150840930870936633893280039942400394268001827101479905546374038493337458075679179519246247657520675507715799491188482302301187462937130826246080944477393205692986574922194164082267847196855736757392866573949358978782503434536614567892656205529655760356942004386265446850684070680454058094807318365754198469089180404730885623110571561712112359492985534589129615753998694535421277107346023377124076991856482313885943282764874788928591402125991175457813062017666420127159403241075279572039092314761252503693451758501970706370264270014800317164270537667740066237187620264390949540627750599668746691017394626369687204231368984845468430673110160071689984474951695835028210118321957939096494096387904555541366421544694496027020662698134115269408414855454289067407320379868286959160238929985281339168738204105121525160203414832722657896363373344675034031566474424739609375339698752162288767832591060997641498067244910829351109089992368859063533265952496535351823699804967957365867663451079604572154555809465593046346180413390255936612166512400044910105898423826137250032330202410551819299889084498501354180323938252332623377381458143020689088046537008138045411464896664414217685929717613615354218154033377036932660828675980013970146851811435887859263556015831945631197175049940876671804492207 207947945451752288508173279485081308529608831471041188741966884577714329989203463391461015863057910080129448507101476274553545518727256744643229173782337735645804222207583398771385088630780184757772877911683331607115688894111163820651890037920880529198648869750176080333779050578996276043019664993366011487906762204927641512098652143863711381148104247813992108119112358596892612760212815304402966545373349471896835333886644511202534988870178050614265422256391181755239830085780447318756565813313610434437124056510387925616933005322367230107990813587961971413031912804179800455314721553663867397844935271607003600957727778661731940652871209223841696257479012329512225163021130565838202322301768521964932596353981328752440565162771074874788770085135297750094712180046838563329295229224768971372498092858337577401047791854836687143643135191704538426408152505431500878596279637703804779021559920458475750116754328371111460475910521339008627872076735454447214946982168752302788427702986753831481705041931360912093397163388939921402125875049327801775983619393373905257648616693746068217913574637455716112272266031029061906930267679165944395778242565889263600060380578473466245974024984139831891279262375044690433177588136629194353713854508118508265673615533852846233089084591028116217486042327943013690879421004443795694309276811575375825372270476260826702705469073477108148635893622938053055987197447947269825014292958097695261395106716701557165426958871258392371098447283441005324734269832178684258149280912162369559319258390606562357815593688729874633075213157723191714598379178808447792348161959572259061208166689185983631340366343714469775638624446730799299486972258310962489284079252275426954639841009448543330956678782442653178683572041854384011594296219027428780157954436996843197100370330438278625058631563088494930351326877493923208312818084570701349732856462224649898614044986861918404550426057421778391397292421396058961031770907755335270682144382191824888209776440959204497280751761202338031391073403100629856563783568335313135599892753992835911024115277492542900587502495364781647417947374838174931481575176804698981505972182542419184140969950871008033019558101032549467633259003138323233695696339553589919871521192848696358931728086447976245129926936877121035951700137617663879882963287106151811879808756628531546830511746682054394957185251741197093448557532248657939904963666553857406119270740276111974074807313083345888949446068397993063201491532898043334479593049101456078904560239650888781968916516114551104349815296319935715823390459442831452673630212761086246874514239169468636946080747153023306604717595488361603242295822554040653931394930503229678665846880677161466196941490535434922510779801834743565049803595106524941250824006081363722437834890332196551601266465889844620432695048931306489561917436395178808124299946879065592798136617417796658569483676450923064176316770785726884884870202452844879362657327506574847518761867770605312499682937546123851328424153198317174471005632076176626255163155131764168153147412712001467923313774059900507632106904904847767376122358382025637828065869691927662667074932179067631555998539367072281785615760135321720388587376122716896530307129024129649305549152791007740610903989159760385772157356815635990994665948366999540101398160247119463624104000879915581404958804676807322939590966433039750167153976192835570884068896700615075839230342474297455166822310544335625946830120353680469161346294517075173260218587101131659541504920421903680833320640411219793273068036923868389230234130081812690437232233231146334372203596192860516533360996273289597508755027138549046507547307805101928050238335823101872858702660472420402541271500697192004020736259647187262874921989680242803062790407841954266313233944026247681926740515507124265016110241841873238752587715530209949524365147616277521280258687186175631734019586483155904344274964627902736550411579235297831772044906642396305067662856419227814242555398569927359037392372709196 336466843631644309952003667597585840138473949317025158222232654627233824162929238758930638655769635537509422092316007783421053278285147181062920720596958407358324928310385012375494497551324411467361222377806348783391546668546721252611279821465956368018494001770787117125836744359779377427279558321687650896046158819663169132620470608200813349851471027492339679311980437083237728038961596907518895162958250391128053684069231692471051754092779340834291409203869306662830080893724220313436124840338987115940532807121523112835528445624200252018921101162380564731672021008947458488877203973035892324585750003242257459139683961874091482945155269069618554721441504172652857124498309032795119194701669464818744524381642466528101927759463027288849240039292451305573980214163205511712031959141341731105599921826184905107445113287322370319805785266143577896049067171252146360005626927965254756453011004007449890729831062894364462324424174978077437619867423644547984192524043413166035726891895556258115912962055402511142905605604338122104615911822090977907605675336915729516370504274717589539320681035120072464187106430471936688840145745589327910164612755657670176817178684760456413559959572873527716473624467030581654257889633137220601767123687036115393890702724142933850316758899884098169764479217324995069552431172991732618015811287953433326833598703909667801848477222101807892116308737726749283464825119531817861286768173102059466255240446174139703212882715545415460737744334483564572897901433927438920945907803956826147777527328004569340793294672815364415691931788562613975587769799008505740273301724065484220196804031175464096356401363768656591765150742310869686782491007987415120533227063095749598470012089817863563636414888114104041067018906382825937198376451741099387281654684187642131610554580413773091503301932774154579954698845313941162354121349918781950780954872545727398818671488828431021546387239195244700942022874027611795278558971183287849721776009663592500374143442845257801275376157965820032685879753468598456786231711611779566285567660841496439290769186400665570600756154524418420822074383961645444935313969280651903412335005111708635984159242839186292177597343815300785336152259780863818980249130534331970375631896623017210636495500084885363200667541369045418624777885707787806272262525523803669167201550039330727189074517283131242392640676076448525365067625347088887760337765623679205785010607679108081770842415243793449044145721494785781688246777503620304753037643967803401378619502864315509827067873514235857466403068514513580031048763612749537773468099202210659313311606757618454821583681286795725590427332630016099515825920858507799635788925888784649839323602745051989190377665686275853381716435728023604992203989374526768352303911627737760931172348407875731120512713547365295940410848422494971864218623858115938950546027823542986003829603992718852733565944298119919913074163652300834243848984956279415977225220162780377174522224712609698765129788230194531782482248005635540225204101165357030986048778242335729865259772204987002512443389813899202167528182012193790753246435373882120141951812974692537456003523581193622731456352429089948205742919538562795668159415215031657782810822475888151276255523055277755411221153430298053512223594003256255385615488994750139770144851264514089993791205111284566250427235349917483011280950907991446002182186311157528823165390797002980394771708895842149662849331207033760062099528768535923450413701837455041547177747340061644822844089160107785954845800614634625995725933287241733905268161648287115176841608570845086534492364025451577531002494340534508338106136228541415366610841071054424585590159522906840816068528135871482145843655253001469613782605827600653130858601846755203107700513740378092450483976356450092478559815396208763517464422165811491085211092911668092545054235662814529418304098651072296148237272412873517959629182781936113587344240063973811786015053494207740955522119975243646188186595744977299914064177201403 544414789083396598460176947082667148668082780788066346964199539204948154152132702150391654518827545617638870599417484057974598797012403925706149894379296143004129150517968411146879586182104596225134100289489680390507235562657885073263169859386836897217142871520963197459615794938775653470299223315053662383952921024590810644719122752064524730999575275306331787431092795680130340799174412211921861708331599863024889017955876203673586742962957391448556831460260488418069910979504667632192690653652597550377656863631911038452461450946567482126911914750342536144703933813127258944191925526699759722430685274849261060097411740535823423598026478293460250978920516502165082287519439598633321517003437986783677120735623795280542492922234102163638010124427749055668692394210044075041327188366110702478098014684522482508492905142159057463448920457848116322457219676683647238601906565669059535474570924465925640846585391265475922800334696317086065491944159098995199139506212165468824154594882310089597618003986763423236302768993278043506741786871418779683589294730289634774019120968463657757234255672575788576459372461500998595770413424755272305942855321546933776877559263233922659533984557013359607752886842075272087435477769766414955480978195154623659564318257995780083405843490912214387250521545268008760431852177435528312325088099528809152205869180170494504553946295578916040752202360664802339452022567479087686301061131199754727650347162875696868639841586803807831836191617924569897632171266106123179095188716119195707096785718611131698608888361545239048767144946285805690186148977816953532621463683637743281404970720361447727696767707483126367403775189041668986269463266298377609817306315371176553109853099266406894593093670556757219750590948237209948792672670768528167439609121184485328710924910852051716561933495862649510306025722807864370666939434489483300513811334770377297432716475690349426096813296617023092339315295423670756310329878938623120403920391855417388583919883804462298556127919168158064076953156569228313350015279947092701885460414834332350314884463893208471188258649889200068240021758799820376416889146085350884918307187654127820125129193710194325197155444847850252969411262919187052675945470087921890247153089471713569568223586532861608330594478246166454576478023325451686155225812629955481047010306667862274019586263965185637349825927817645618813625157595746827665301432177536611904281347955220055845649728327139337993591789892778844889738310401663639232630693069259480283179742515204291795984389628786961816218364834449295854439223055580990447098311963296906187825845927087091767664428439819032195144928118377702758121743412548453567183856392014328505170483422213455387319156221710775892496237562767170042007584481051709603127917709101483369007238740072282721779179437209916373105897353801461426136060253294747074845974702608578801966221410515511303049620749042984089390934438027719128719187409124295339882547669355224693284092483215011264812725776318383110906401203952714696209733241533657241211933374099898018407184916988470435757163873799709799635086917041558129368793755907757970017682666620200123078455760261254287454891796162229991358679673884516056746791337748554313117951500017800581804675846285496022125142590058439284380950818892246380281437361749679871543011511633553617895205991200147655386040026724805950871917341031196169336162503993099707234287497618056234002051370139604829671641751369386008929649122216392611759996354530214807396334441193304364349009582011466788166441025854419268793970211110123135502291730099805614073841801991420906695960218312094064363490613824105846861163367090461874158148876156352635828495346008713674771188608291884687115155950193473634518865474787916005780591526998006170490921582332358763717920382697774405300330903333028533574664007684729837798808441878042069419383279092050698562785837247927882256858896029422303904147409838850137755819299271643558059960136604046023184976394471460430741994314904658951456549910599 880881632715040908412180614680252988806556730105091505186432193832181978315061940909322293174597181155148292691733491841395652075297551106769070614976254550362454078828353423522374083733429007692495322667296029173898782231204606325874449680852793265235636873291750314585452539298555030897578781636741313279999079844253979777339593360265338080851046302798671466743073232763368068838136009119440756871289850254152942702025107896144638497055736732282848240664129795080899991873228887945628815493991584666318189670753434151287989896570767734145833015912723100876375954822074717433069129499735652047016435278091518519237095702409914906543181747363078805700362020674817939412017748631428440711705107451602421645117266261808644420681697129452487250163720200361242672608373249586753359147507452433583697936510707387615938018429481427783254705723991694218506286847935793598607533493634314291927581928473375531576416454159840385124758871295163503111811582743543183332030255578634859881486777866347713530966042165934379208374597616165611357698693509757591194970067205364290389625243181247296554936707695861040646478891972935284610559170344600216107468077204603953694737947994379073093944129886887324226511309105853741693367402903635557248101882190739053455020982138713933722602390796312557015000762593003829984283350427260930340899387482242479039467884080162306402423517680723932868511098391551622916847687010905547587829304301814193905587609049836571852724302349223292573935952408134470530072700033562100041096520076021854874313046615701039402183034360603464459076734848419665773918776825459272894765407703227501601774751536911824053169071251782959168925931352538673051954274285792730350533378466926151579865189084270458229508558670861260817609854620035885991049122509627554721263805372127460321479491265824808065235428636804090260724568121805533021060784408265251294766207316104696251387964518780447643200535812267793281338169451282551588888850121910970125696401519009888958063326649720099831504077133978096762832910037826770136246991558872268171028075675828789605653650293874041789014804413618489062096142761465821352203115366002788330642192765836456109288436549380617374752788663151038305563522700050871656194600622253860622784986094730780204719086617746971531262019615211873201255909033239492427488338153759150214211856707193001208660781248316879742466603894094144178692782942835715425639197801215817689291955634328137616492143570932787037737511387564626577985087905283943985668337037062881661799245379519801623052263143022819282621433348962875885487986668330528220566411165507565501137452684705546589248109726614757785572260748393802273947664271056253202972782280798978344494086167265444577696821907986629274212673290790775034211573855578477955431829336839244300179587147948013842291892984575212313516745776296433290354684111410686025392002526151564805795825403234364036615565047162904002465098090328553372568172365403711317107767832135601867806317195824710029942514006512914893388649209588254921413834406890688227260711616435627883666957121975472948200553687698911967163268929235348882615229129789878111969495641312737579081979341454877018911244225252178197101599212447311724906206552780212095928773975905951858060198901563251433346296020356492796604544822148501765896926356499819641687862776147643611686411102484713905813275376642288962152868249022642171518348815150628530399678294621036628773760265981754492520972958403146071029177890752316062173698191985256354574081781254949187193098742119252743012241640489045264519903498351857040770453378386920790915450372836507441188324243763671595365984954358614184967299595631877240768989947210777221418654868915554490839716744163366832958811203194943248301471302388569136639193373753209278191435322710451214201896739147866883860146299541792051039086173496220923009901353546134614473618941906580116866884488320224030494131308902940263533330191774963725100059363245455344075013630811786978707096369715106618928590059881958865520727112002 1425296421798437506872357561762920137474639510893157852150631733037130132467194643059713947693424726772787163291150975899370250872309955032475220509355550693366583229346321834669253669915533603917629422956785709564406017793862491399137619540239630162452779744812713512045068334237330684367878004951794975663952000868844790422058716112329862811850621578105003254174166028443498409637310421331362618579621450117177831719980984099818225240018694123731405072124390283498969902852733555577821506147644182216695846534385345189740451347517335216272744930663065637021079888635201976377261055026435411769447120552940779579334507442945738330141208225656539056679282537176983021699537188230061762228708545438386098765852890057089186913603931231616125260288147949416911365002583293661794686335873563136061795951195229870124430923571640485246703626181839810540963506524619440837209440059303373827402152852939301172423001845425316307925093567612249568603755741842538382471536467744103684036081660176437311148970028929357615511143590894209118099485564928537274784264797494999064408746211644905053789192380271649617105851353473933880380972595099872522050323398751537730572297211228301732627928686900246931979398151181125829128845172670050512729080077345362713019339240134494017128445881708526944265522307861012590416135527862789242665987487011051631245337064250656810956369813259639973620713459056353962368870254489993233888890435501568921555934771925533440492565889153031124410127570332704368162243966139685279136285236195217561971098765226832738011071395905842513226221681134225355960067754642412805516229091340970783006745471898359551749936778734909326572701120394207659321417540584170340167839693838102704689718288350677352822602229227618480568200802857245834783721793278155722160872926556612789032404402117876524627168924499453600566750290929669903688000218897748551808577542086481993684104440209129873740013832429290885620653464874953307899218729060534090529616793374427277541983210454182398387631996302136160839786066607055083486262271505964970056488490510161139920538114187082512977273454302818557302117901561286197769092261451353673248949380419964276234417630259574942571908233511001291274974785619237924332140070710175750869938075566444349772942673150608579861856497861378327777733932358691178582714150783714631261222163375055275228247045213502517092292531711739762992317940538582543090940629978752429593573303589548193462141871898072125031329301280343471467723398306947583218299030106322361944978987894724093419036652771809781098839798183412171739927209723911518667664723128804471688963298611792638356912538166433789980717188866771505032069407683604706770156638672813306849664569589478899965015978129697405166708910853557945076219158336630187558559747045940727669186825888020296564071072421785128686622643130097894716490744364705433100237977228760143607762046813749875339665185796205888091856032528356272501287359774528006656990315501490826561090409679039721294755239782831298004295050413540969617623567648424345468472644990535525902074142038963943383957717561498621766798355846276907011984022885697636081987178307932937702160435101716131306366136021414408188460278886331827781652997890528766409046725475923752439864874747848747455471438610414932080985495641040748146178363718249499513230874287781197229581617093684861561199315403367094913024785590053838340854511319143728237633965792239092862775811636121359322192614709772532079958827012968708673933694546515471161970416222448253551542108324130719531178682666343464533313873709461980176272745108486726404989292174827928347884284462075765659729475568182720031828462962722339114927138823367129857247150214924268165610905352455251520073967153388416882820336777176485142419784900751215448682356905042809977919817121845641289160477202874820584613750181180950760808709795424176683893002220998630815429670325568151912750990204932362567437477601613813862855878662517098902134973767415833001892072764186567049670584374786617816977277022601 2306178054513478415284538176443173126281196240998249357337063926869312110782256583969036240868021907927935455982884467740765902947607506139244291124331805243729037308174675258191627753648962611610124745624081738738304800025067097725012069221092423427688416618104463826630520873535885715265456786588536288943951080713098770199398309472595200892701667880903674720917239261206866478475446430450803375450911300371330774422006091995962863737074430856014253312788520078579869894725962443523450321641635766883014036205138779341028441244088102950418577946575788737897455843457276693810330184526171063816463555831032298098571603145355653236684389973019617862379644557851800961111554936861490202940413652889988520410970156318897831334285628361068612510451868149778154037610956543248548045483381015569645493887705937257740368942001121913029958331905831504759469793372555234435816973552937688119329734781412676703999418299585156693049852438907413071715567324586081565803566723322738543917568438042785024679936071095291994719518188510374729457184258438294865979234864700363354798371454826152350344129087967510657752330245446869164991531765444472738157791475956141684267035159222680805721872816787134256205909460286979570822212575573686069977181959536101766474360222273207950851048272504839501280523070454016420400418878290050173006886874493294110284804948330819117358793330940363906489224557447905585285717941500898781476719739803383115461522380975370012345290191502254416984063522740838838692316666173247379177381756271239416845411811842533777413254430266445977685298415982645021733986531467872078410994499044198284608520223435271375803105849986692285741627051746746332373371814869963070518373072305028856269583477434947811052110787898479741385810657477281720774770915787783276882136731928740249353883893383701332692404353136257690827474859051475436709061003306013803103343749402586689935492404727910321383214368241558678901991634326235859488107579182445060655313194893437166500046537103902498219136073436114257602618976644881853622509263064837238227516566185989929526191764480956554766288258716437046364214044322752019121295376817356461579591573185800732343706066808955559946661022174152329580538308319288795988334671332429611492723061661175129977661759768355551393118517476590200978989841391930671010202488937473781475434020082248276436907826461819396834759135605833907171010723481418258516579827779968247282865259223876331078634015469004912069066812667908098045708486212231527203967367143385243606778233274243895042088915914832600381461231532375047625415196392242046888231134294312037190100751296498184946160647893048547766289449615165307306017071954660959973129420953612285194158655756744344542712800037684034440921584144348720110430732192208665513991576382779971969366413035968310406362965406360341000139388906394328006845428476116119125629979754911708413557872216984239376280750843368792094321130618684825873855532139931717974098083333626428428896726874864431324697753789344212897683699623129224539037402055315033695733356606971153785741099160939416332158271249197533733961624775512255894599252015487514193956673949245675281242414443171008325277380246666586385561878098779139506559204443308978504975499451829704297925073649411998888817734630771424877590040463189249912075290074749319154918737063928840841268028196169575467012590780009383875177653839076480512372860134294356768033644086860129491549571902103113814713587668175678150988004903721024736107392738500727516544498003703202738735207066249972274190924306832509797833777207813837217043198486873647195904742547664435789072608705839437255095460522541334216795762558354216355696128770577907078665805083839822656450622096618618353032778356583360131121808079565054279058978274504424726873792227753261192121713860993508173020623502416612635652836354677171683818611148970311298366621162905210932296554813888375943245121513835302830970807793388777587955938025762554246209987398227619980599169133901673668599174434668576682498004134603 3731474476311915922156895738206093263755835751891407209487695659906442243249451227028750188561446634700722619274035443640136153819917461171719511633687355937095620537520997092860881423564496215527754168580867448302710817818929589124149688761332053590141196362917177338675589207773216399633334791540331264607903081581943560621457025584925063704552289459008677975091405289650364888112756851782165994030532750488508606141987076095781088977093124979745658384912910362078839797578695999101271827789279949099709882739524124530768892591605438166691322877238854374918535732092478670187591239552606475585910676383973077677906110588301391566825598198676156919058927095028783982811092125091551965169122198328374619176823046375987018247889559592684737770740016099195065402613539836910342731819254578705707289838901167127864799865572762398276661958087671315300433299897174675273026413612241061946731887634351977876422420145010473000974946006519662640319323066428619948275103191066842227953650098219222335828906100024649610230661779404583847556669823366832140763499662195362419207117666471057404133321468239160274858181598920803045372504360544345260208114874707679414839332370450982538349801503687381188185307611468105399951057748243736582706262036881464479493699462407701967979494154213366445546045378315029010816554406152839415672874361504345741530142012581475928315163144200003880109938016504259547654588195990892015365610175304952037017457152900903452837856080655285541394191093073543206854560632312932658313666992466456978816510577069366515424325826172288490911520097116870377694054286110284883927223590385169067615265695333630927553042628721601612314328172140953991694789355454133410686212766143131560959301765785625163874713017126098221954011460334527555558492709065938999043009658485353038386288295501577857319573277635711291394225149981145340397061222203762354911921291489068683619596844937040195123228200670849564522645099201189167387326308242979151184929988267864444042029747558084896606768069738250418442405043251936937108771534570802208284005056696151069446729878668039067743561713019255603666331945884038216890387638268710134828540953605765008578123697068530502518569255685153620855513093938526720320474742042605362362661137227619479750604432918964131254975015337968528756723773750621849592916639721188412736656183457303551665154871675321913927051667317573670163328664020000801607520457758720676876438562813424524540775887367077037100396113948251569513431884519179110422266397249707605551757221168967988461125568686642381480301029715787219365342406116153565555895857423116508879064049908290823303073186059482337747006638481936812338086479638265666743286059626425592043823225346223244507728778167381439607630494997906665186649890528838853072551323428720699638553238923988606970434037828145469686762032036492222723336172840821552225867956983671852021319919030734114715945936639574680186177163147041098375142891914459724631088398835117254989987136553904152619452993572175510901978750036670194156660969703739379164206001597506679687815241199903359716115988810696155500759980621789162906583274901185150275943852257178612983402849544887139631643516268080994574022156985110967288212202333837744914022224927753456737789948397260746344289173241186356958575536104229998058253653792998818668149611351710038070849645289854437028211906183376478788202439429130318853227371453438085005667609879099222354325383538224473136906202377948210230946831916689733410041087285016198678514914226151456290277315390380691805369606973175974331147650917275817393315943595360373600894034722492364136956893167915202914824936090724054248624225521076555470623267593945036935912955298764090822061527449073869873106745509971777013942144856741539421478763175255640175556149132796071170041530982839149462181100705291433220266586535858122444627320944394487982259623383903841747726225139456527855996111718767665398408285395002591450811816688279653148344961165643452982491241898088240718269758809455194499475281157204 6037652530825394337441433914649266390037031992889656566824759586775754354031707810997786429429468542628658075256919911380902056767524967310963802758019161180824657845695672351052509177213458827137878914204949187041015617843996686849161757982424477017829612981021641165306110081309102114898791578128867553551854162295042330820855335057520264597253957339912352696008644550857231366588203282232969369481444050859839380563993168091743952714167555835759911697701430440658709692304658442624722149430915715982723918944662903871797333835693541117109900823814643112815991575549755363997921424078777539402374232215005375776477713733657044803509988171695774781438571652880584943922647061953042168109535851218363139587793202694884849582175187953753350281191884248973219440224496380158890777302635594275352783726607104385605168807573884311306620289993502820059903093269729909708843387165178750066061622415764654580421838444595629694024798445427075712034890391014701514078669914389580771871218536262007360508842171119941604950179967914958577013854081805127006742734526895725774005489121297209754477450556206670932610511844367672210364036125988817998365906350663821099106367529673663344071674320474515444391217071755084970773270323817422652683443996417566245968059684680909918830542426718205946826568448769045431216973284442889588679761235997639851814946960912295045673956475140367786599162573952165132940306137491790796842329915108335152478979533876273465183146272157539958378254615814382045546877298486180037491048748737696395661922388911900292837580256438734468596818513099515399428040817578156962338218089429367352223785918768902303356148478708293898055955223887700324068161170324096481204585838448160417228885243220572974926823805024577963339822117811809276333263624853722275925146390414093287740172188885279190011977630771968982221700009032620777106122225509776158015265040891655373555089249664950516506442568912408243424636733527425026875433887425424211840243183161301610542076284661987394825904143174364676045024019896818790731280797635639446511521622882140998972921643148995622509849971735692650030545990206790236011683015086066596408132526791565740921829763877486062465230277859305950436051402257815516308809413375034973855384198888794609728266192687319682648093532814558729735713615142552520603119128658662194212090203539551828102062698137141310761810802923407577334339387501419060124100285538688924159303822037300855619409902836081949169462926616159667559140370731410637626233764393092849158535454443211883503214484601474981861762261248162266990757602508395612444126991717428546069164801204789008249233833952530885513296088097102119644103551592926626716415480580037877237981881102967589050441578205065474048552079142255385297080622721047518586542899811500671607919651959956917376797003234505810686901420942886550730181601316937671351497936738583560434877791247718354092226687482943472280498293765725924248998424054391442605186482168743683418883863428768583944150747361519723799662449659799418695698371759054412859939358204477833473556340360842776048274260059893689234721605397301418801182526916672664469900526206424288264645263988058147956920896514747580959584035083890106794771406777146723418997724379583161035715022046672745233106907871957781836165576567419247970328943867748137823068348415638878912117673486024012495224496963385862663380093268206799365600231587732441773701253965959351845874955440327586951619790046123888381934836820410758146148480023516926195059412229854659029012522456630664079560531280008484128981428125089654610359142082234020796798777270156799926029501873754640169920396613265388465419988079430771826319396364522944014578760382603913478512149545692488226139523866555137145063952936306593700537741449760064902429941360549332362163244843832657635201724207708045855919422890535294128445932093364799280626244546809052680022779953344903799241233232602968229379093188391369038767754714042207394554948563871072963090411031989914386868933244123771181973285291807 9769127007137310259598329652855359653792867744781063776312455246682196597281159038026536617990915177329380694530955355021038210587442428482683314391706517117920278383216669443913390600777955042665633082785816635343726435662926275973311446743756530607970809343938818503981699289082318514532126369669198818159757243876985891442312360642445328301806246798921030671100049840507596254700960134015135363511976801348347986705980244187525041691260680815505570082614340802737549489883354441725993977220195665082433801684187028402566226427298979283801223701053497487734527307642234034185512663631384014988284908598978453454383824321958436370335586370371931700497498747909368926733739187044594133278658049546737758764616249070871867830064747546438088051931900348168284842838036217069233509121890172981060073565508271513469968673146646709583282248081174135360336393166904584981869800777419812012793510050116632456844258589606102694999744451946738352354213457443321462353773105456422999824868634481229696337748271144591215180841747319542424570523905171959147506234189091088193212606787768267158610772024445831207468693443288475255736540486533163258574021225371500513945699900124645882421475824161896632576524683223190370724328072061159235389706033299030725461759147088611886810036580931572392372613827084074442033527690595729004352635597501985593345088973493770973989119619340371666709100590456424680594894333482682812207940090413287189496436686777176918021002352812825499772445708887925252401437930799112695804715741204153374478432965981266808261906082611022959508338610216385777122095103688441846265441679814536419839051614102533230909191107429895510370283396028654315762950525778229891890798604591291978188187009006198138801536822150676185293833578146336831891756333919661274968156048899446326126460484386857047331550908407680273615925159013766117503183447713538512927186332380724057174686094601990711629670769583257807947281832728614194262760195668403363025173171429166054584106032220072291432672212912615094487429063148755727840052332206441654795526679578292068419651521817034690253411684754948253696877936090828452902070653354776731236673480397330749499953460946016564983799533544459571291564496196342236629284155417640336218045336116414089478870625606283813903068548152527258492437388893174370196035768379850606948746386996855379767217569812463224688862470240981247497668051521419861731620743297409601035742384850725380160185790203158986269859040564411237072572255250589748048500161642800454710292675612179871964340053288117363342063290963949486356100008624549178000022849140545054948228851113079831552307020012013223260302726579038931982190031231192293459701540206463469281805106449190833558170356372446913656182574140162050483730513249886371659094223240221371246472890883945524347231041062651280373663452979378773453517774157759223577365893722255412456197710278452468808172624122518152466675456912767022624141315968851167236274881003860938408870999982672736563603740933695234701641199696469612852359341462793792024145359801984513161371581560746135764390248870589844735481586019090581707765801817857814745844378463602901248048113532945287588564412782828575533606192069001074082983609110984468333019949307336617773504970443933491577396081113144138794741112671649246028582597660746956491217959767348916982967318775878449523436403146762341451582532697337118218827603041170526779368863845058574200200338978552060088525992424072098612881668737100491556189567308533124873574326456006115319289837847011355884930138253184458460129079042365472003675085677594394397692811992649164062986395041669843084745332703989442714044213600507327296942663958467980950491715681368004300573676994766358099246269376526914159006097793048133122016504625015705077986090493345403532204775826671807097382824912999479076186009426393416573073253037759287262885867930712894427749005092801431655237344951370633627787378583393960489579571402321860542899909729514525945581652930078155105138692053578965681448566449011 15806779537962704597039763567504626043829899737670720343137214833457950951312866849024323047420383719958038769787875266401940267354967395793647117149725678298744936228912341794965899777991413869803511996990765822384742053506922962822473204726181007625800422324960459669287809370391420629430917947798066371711611406172028222263167695699965592899060204138833383367108694391364827621289163416248104732993420852208187367269973412279268994405428236651265481780315771243396259182188012884350716126651111381065157720628849932274363560262992520400911124524868140600550518883191989398183434087710161554390659140813983829230861538055615481173845574542067706481936070400789953870656386248997636301388193900765100898352409451765756717412239935500191438333123784597141504283062532597228124286424525767256412857292115375899075137480720531020889902538074676955420239486436634494690713187942598562078855132465881287037266097034201732389024542897373814064389103848458022976432443019846003771696087170743237056846590442264532820131021715234501001584377986977086154248968715986813967218095909065476913088222580652502140079205287656147466100576612521981256939927576035321613052067429798309226493150144636412076967741754978275341497598395878581888073150029716596971429818831769521805640579007649778339199182275853119873250500975038618593032396833499625445160035934406066019663076094480739453308263164408589813535200470974473609050270005521622341975416220653450383204148624970365458150700324702307297948315229285292733295764489941849770140355354893167101099486339049757428105157123315901176550135921266598808603659769243903772062837532871435534265339586138189408426238619916354639831111696102326373095384443039452395417072252226771113728360627175254148633655695958146108225019958773383550893302439313539613866632673272136237343528539179649255837625168046386894609305673223314670942451373272379430729775344266941228136113338495666051371918566256039221138194083093827574865416354590467665126182316882059686258576356086979770532453083045574518571333129842081101307048302460433067392573164966030312763261656490640903727423926297618688913753668440843327644806007188896490421783224823502627449029811403765521727615898454157752938093568792675310073429535005208699207136818293603496551162080967085988228151004035726890799154897038512801160836590536407207869280267949604535450673273164388824832007439022838921855721028836098525195046206888026235779595693039240935439321967180570904631712625982000385674733926035893303868828130055391755467554537889592345203825552212111753346857611132944790444149840857973601017393652317868839801540853964544108773598814676141051626293582824118920176117020786501346519786987552158422608611934577512387704734653282417435780811135970933890245637123051722042854392542843902441724028044297157091060564873922265324183699375474696894928863830460838972891075501526170822900399311605461624747173750678492946873139740023242609841461363172604621827754863411441320507754488295214958501303649356269031548057713221848204884084718006462346634927921921588911812664508930483533970203191416392000508948328734530479215744904670027189512693377521003435545485309297576156493190227152891180877755015888131191752017673686919778809219992490606236810502988985101920630906689239068493998911541528495094314286308182987795895084992261902462018660900110148204114962625965543917584427834628902968553070117811017926046075294418879647040145782470195986994816505557511249702338047332050051068633738685860774348302360303642019964490669533192942589110507167455126614034227759828415194491589262805963989015896915424483254665729317254831179464201679938099123262060322990924965070476063971917779085826540458846325385793243082051304070050729354726822554246074775769980416031853894735894368020670504464732584549120707524932105432316928710701519185131124086543512112477521947107771785046146335454478578183973601857166471771785329528347326116364067937454858293385598908672063962068069492007625297702736863421851740818 25575906545100014856638093220359985697622767482451784119449670080140147548594025887050859665411298897287419464318830621422978477942409824276330431541432195416665214612129011238879290378769368912469145079776582457728468489169849238795784651469937538233771231668899278173269508659473739143963044317467265189871368650049014113705480056342410921200866450937754414038208744231872423875990123550263240096505397653556535353975953656466794036096688917466771051862930112046133808672071367326076710103871307046147591522313036960676929786690291499684712348225921638088285046190834223432368946751341545569378944049412962282685245362377573917544181160912439638182433569148699322797390125436042230434666851950311838657117025700836628585242304683046629526385055684945309789125900568814297357795546415940237472930857623647412545106153867177730473184786155851090780575879603539079672582988720018374091648642515997919494110355623807835084024287349320552416743317305901344438786216125302426771520955805224466753184338713409124035311863462554043426154901892149045301755202905077902160430702696833744071698994605098333347547898730944622721837117099055144515513948801406822126997767329922955108914625968798308709544266438201465712221926467939741123462856063015627696891577978858133692450615588581350731571796102937194315284028665634347597385032431001611038505124907899836993652195713821111120017363754865014494130094804457156421258210095934909531471852907430627301225150977783190957923146033590232550349753160084405429100480231146003144618788320874433909361392421660780387613495733532286953672231024955040654869101449058440191901889146973968765174530693568084918796522015945008955594062221880556264986183047630744373605259261232969252529897449325930333927489274104482940116776292693044825861458488212985939993093157658993284675079447587329529453550327060153012112489120936853183869637705653103487904461438868931939765784108078923859319200398984653415400954278762230937890589526019633719710288349102131977691248568999594865019882146194330246411385462048522756102574982038725135812224686783065003016673341245589157424301862388447141815824321795620058881479487586227239921736685769519192432829344948225093019180394650499989567377724210315646291474871121622788686007443899887310454230629119613246720588392928901260995190665418363408109582977533262587636497837762067760139535743405370072329675490544258783587341772133508126230788591738751615939781483242399921709181007744982141704284881232590133723234087678693758579120805667571627431894591177709708545888843176061239702957619757493968444172689998518655965622503430948671353847873976557332033901541255179983608483614055311213635818560992964815801592094001349256166782290949959301360917227422579486264541649220820261904731346291943414100865433727847966071259085359808371434228326901644097637217149632456118506229724183094385347273211804623291708571935727979777213849207591259969497281055992093777077736244176465560236625863394114057071358229228910193202944849052738644400417054684641996908230077808446859796299503482335047577054757801073378705684777435482582216714130552388293961589283133630090760741491053948723134049722080404732026796419221892254960738624999115660085037622994256396582724962934539728387899070098246059425647801910717740027494139189242050805504267950336712878052311037780911542097303256910545566545158662881035803255437670073495332438981656076500246275633397431707128671774894268085607698174294611741258527614640583175942208065141866889667592198150653375849420807786377401049239586209820598617709313437422809592184401255455128052002291957094326339411062021244273893508415280445426420204724281458905915562191745339922079659503535225204424632062619608965463076148522402859944570750699791475058402122347240139426572796497176271829967374033707004008291441743322127274592438168883373806397980408234841535520790138947767109715923135344235484953850355179290017926897518685928480354768022900124854253716892146224597146317351281702544870418189829 41382686083062719453677856787864611741452667220122504462586884913598098499906892736075182712831682617245458234106705887824918745297377220069977548691157873715410150841041353033845190156760782782272657076767348280113210542676772201618257856196118545859571653993859737842557318029865159773393962265265331561582980056221042335968647752042376514099926655076587797405317438623237251497279286966511344829498818505764722721245927068746063030502117154118036533643245883289530067854259380210427426230522418427212749242941886892951293346953284020085623472750789778688835565074026212830552380839051707123769603190226946111916106900433189398718026735454507344664369639549489276668046511685039866736055045851076939555469435152602385302654544618546820964718179469542451293408963101411525482081970941707493885788149739023311620243634587708751363087324230528046200815366040173574363296176662616936170503774981879206531376452658009567473048830246694366481132421154359367415218659145148430543217042975967703810030929155673656855442885177788544427739279879126131456004171621064716127648798605899220984787217185750835487627104018600770187937693711577125772453876377442143740049834759721264335407776113434720786512008193179741053719524863818323011536006092732224668321396810627655498091194596231129070770978378790314188534529640672966190417429264501236483665160842305903013315271808301850573325626919273604307665295275431630030308480101456531873447269128084077684429299602753556416073846358292539848298068389369698162396244721087852914759143675767601010460878760710537815718652856848188130222366946221639463472761218302343963964726679845404299439870279706274327222760635861363595425173917982882638081567490670196769022331513459740366258258076501184482561144970062629048341796251466428376754760927526525553859725830931129522018607986766978785291175495106539906721794794160167854812089078925482918634236783135873167901897446574589910691118965240692636539148361856058512756005880610101384836470665984191663949824925086574635552335229239904764982718591890603857409623284499158203204797851749095315779934997736230061151725788686065830729577990236463386526285494775123730343519910593021819881859156351990614746796293104657742505471293002990956364904406126831487893144262193490807005392710086699234948739396964628151794345562456876209270419568069669795505778105711672295590209016569758897161682929567097705443062800969606651425834798626777851719377176281640857148502974925553046335997507214590519397968013714587062447948935722963382899449129067302053749714395388172993049815230890438758888322530856492256983016155748817511155388727941101440807500355931321035234777196879430133811935581779466162321379081553507678775394225527471689065651880704996922045352785191754152150368469343665456955257976571750407795287129656965462494793200823909421820916525107153013435093554643933358238348713330794114608971247333441401961022958269752916370420796015336386919197607349070182064380726805555377579112717524125151704248498409007675948474767906490201792314795814909206431227425403923959389719266731556912675887968851874582725662459286918773177334187803657280273434868574952158679535031377980888519986646374783435838493640887246851837055296681176175391944955425145965198402059083347980056554491149786234026405680717737145119790576133324508773137303299683373560758203367058749681507784628424953387683272298976463885509099467094426292350927816311354168817557364464072602514679852122990960865661972633227010841803827727664015894558454295395813911477319570343638350093377275725231743541197251224786675990518261092041018188872518809594076791338499105072972616960383525543466784604449830880632667809311839858745330075684050750017855862691016767146199251757586767124996774567245038818154201134875320940817167680736562551923154414528940396874060250837976111623300007460349910092885756788643292575185094102564194501319317837342120322126964619546274223635049996417809626316285723762925780854214294089153942648984439408292269930647 66958592628162734310315950008224597439075434702574288582036554993738246048500918623126042378242981514532877698425536509247897223239787044346307980232590069132075365453170364272724480535530151694741802156543930737841679031846621440414042507666056084093342885662759016015826826689338898917357006582732596751454348706270056449674127808384787435300793106014342211443526182855109675373269410516774584926004216159321258075221880725212857066598806071584807585506175995335663876526330747536504136334393725473360340765254923853628223133643575519770335820976711416777120611264860436262921327590393252693148547239639908394601352262810763316262207896366946982846803208698188599465436637121082097170721897801388778212586460853439013887896849301593450491103235154487761082534863670225822839877517357647731358719007362670724165349788454886481836272110386379136981391245643712654035879165382635310262152417497877126025486808281817402557073117596014918897875738460260711854004875270450857314737998781192170563215267869082780890754748640342587853894181771275176757759374526142618288079501302732965056486211790849168835175002749545392909774810810632270287967825178848965867047602089644219444322402082233029496056274631381206765941451331758064134998862155747852365212974789485789190541810184812479802342774481727508503818558306307313787802461695502847522170285750205740006967467522122961693342990674138618801795390079888786451566690197391441404919122035514704985654450580536747373996992391882772398647821549454103591496724952233856059377931996642034919822271182371318203332148590380475083894597971176680118341862667360784155866615826819373064614400973274359246019282651806372551019236139863438903067750538300941142627590774692709618788155525827114816488634244167111988458572544159473202616219415739511493852818988590122806693687434354308314744725822166692918834283915097021038681726784578586406538698222004805107667681554653513770010319364225346051940102640618289450646595406629735104546759015086323641641073494086169500572217375434235011394104053939126613512198266537883339017022538532160318796608338981819218576027651074512972545402312032083445407764982361350970265256596362541012314688501300215707765976687755157732072849017213306602656379277248454276579151706093378117459623339206312481669327789893529412789536227875239617380002545602932383142275943473740055729744759975128969491358420111356489030404573103114777656623390365529467659158659524040778857683982670535188040282388447180653121202101393280821027069741390535010331343720245011762295603238564234232752772850647932727332495220855010912948638659179766182509236601917658772841401897186501018843260810934741347447754142772430978122971175554856934942176516477430990426569108127576408309894434412574414055099815635608871056123410299598373866546215016773833929021527725553519458133674739609131941323278827027743585621925135417406317543183061421179174872165861012885867701852007430163996933851525535742301006590199669434650470946753035344907193347461746320348891822591132198700544873623356066227526928886259006966774024532630291381572746287357164942376589839307067138923470937287371034176359628900881813584753458385620546783065596675690799232265886362511922092919675432571974669918359685693586301129181594039482202293060503974053899819906979195925294844083661221651189614337464285102855506623969295248052943291305989190938709969049959217948081123170926538626561213743061297489332258732158210212854146734732219393276613216402953049868969594553683486756604948771663332285105947744687589679587096323849452854634674034378860391773716220093020480829613135933487853359743378966481032240828951963671508885908736796194859554651761938404833610909255174649918482299982230222347774160446711695747474358720097220276548375014747513613664857008392519297188121532948688315803572965250704061468890834156308073293991630178813365324041869673910424454662072827074172482143909564201121153735924898164394339185848617179497746360518686300260000266141953162688120476 108341278711225453763993806796089209180528101922696793044623439907336344548407811359201225091074664131778335932532242397072815968537164264416285528923747942847485516294211717306569670692290934477014459233311279017954889574523393642032300363862174629952914539656618753858384144719204058690750968847997928313037328762491098785642775560427163949400719761090930008848843621478346926870548697483285929755503034665085980796467807793958920097100923225702844119149421878625193944380590127746931562564916143900573090008196810746579516480596859539855959293727501195465956176338886649093473708429444959816918150429866854506517459163243952714980234631821454327511172848247677876133483148806121963906776943652465717768055896006041399190551393920140271455821414624030212375943826771637348321959488299355225244507157101694035785593423042595233199359434616907183182206611683886228399175342045252246432656192479756332556863260939826970030121947842709285379008159614620079269223534415599287857955041757159874373246197024756437746197633818131132281633461650401308213763546147207334415728299908632186041273428976600004322802106768146163097712504522209396060421701556291109607097436849365483779730178195667750282568282824560947819660976195576387146534868248480077033534371600113444688633004781043608873113752860517822692353087946980279978219890960004084005835446592511643020282739330424812266668617593412223109460685355320416481875170298847973278366391163598782670083750183290303790070838750175312246945889938823801753892969673321708974137075672409635930283149943081856019050801447228663214116964917398319581814623885663128119831342506664777364054271252980633573242043287667736146444410057846321541149318028971137911649922288152449985046413602328299299049779214229741036800368795625901579370980343266037047712544819521252328712295421121287100035901317273232825556078709257188893493815863504069325172935005140678275569579001228103680701438329466038688479251002474347963402601287239836489383229681070515305590898419172744136124552604674139776376822645829730470921821551037041542221820390281255634576543336718049279727753439760578803274980302268546831934050477136474700608776506955562832196547657652206322512772980859815474578320310216297559021283683375285764472295968286868924465016049293011716618067186858157564583881790332115826650422113672602178648054049185412351319953776544887866653041349678454194473467374072721429082458188992307319378535835805681636006186957596088234376279895661771172519170115107867883475018677113498393230792849312313816045317633952407225802588081538371486220817751711503169931654814928583693664625329858760213648902253117822054078038007814171481259689724551897140444350257108364613717570742004902679492220988832573330355247219604328566205468284979274328011381386871348781661833344673739296423814728549462941279050199846762145376416833470961101823970638466211520926514430394862581135895124130765802238122648022766550916131458874605924365387317005224812229583664277160496611441845870753996297366590497622400492859669438265272658754354290182966356493291264187204057460715139231747668039049126225840316257658740944651307611228203853040493119784836366509066769711971459126637725906773609363759148216356608747366614873784831658784703188264942019538756784210290208080305500624716341045085420216985730424326917637147658663613709991028044929560727919730942578621982268026423103457180590265352830977489030054415466306889623196230812727533998857723180258938585849629963891672797322217699381315059244167477243762425518088325939772964372049081196395831925259165536382291977312134038669702131945527564644698242484039453649201212477507138293490358567676827527363963601797150163686593305924667774344990998997368547025918033478820744248925965136038430749509890068454430832537744955071220342536061889085189863823803226815684768898294506218166179748418822105940509135972238104925773979910169194494609108529110475344788785921315974020655471572380105278600574812775454202649250581361454958051123 175299871339388188074309756804313806619603536625271081626659994901074590596908729982327267469317645646311213630957778906320713191776951308762593509156338011979560881747382081579294151227821086171756261389855209755796568606370015082446342871528230714046257425319377769874210971408542957608107975430730525064491677468761155235316903368811951384701512867105272220292369804333456602243818108000060514681507250824407238871689688519171777163699729297287651704655597873960857820906920875283435698899309869373933430773451734600207739614240435059626295114704212612243076787603747085356395036019838212510066697669506762901118811426054716031242442528188401310357976056945866475598919785927204061077498841453854495980642356859480413078448243221733721946924649778517973458478690441863171161837005657002956603226164464364759950943211497481715035631545003286320163597857327598882435054507427887556694808609977633458582350069221644372587195065438724204276883898074880791123228409686050145172693040538352044936461464893839218636952382458473720135527643421676484971522920673349952703807801211365151097759640767449173157977109517691556007487315332841666348389526735140075474145038939009703224052580277900779778624557455942154585602427527334451281533730404227929398747346389599233879174814965856088675456527342245331196171646253287593766022352655506931528005732342717383027250206852547773960011608267550841911256075435209202933441860496239414683285513199113487655738200763827051164067831142058084645593711488277905345389694625555565033515007669051670850105421125453174222382950037609138298011562888574999700156486553023912275697958333484150428668672226254992819261325939474108697463646197709760444217068567272079054277513062845159603834569128155414115538413458396853025258941339785374781987199759005548541565363808111375135405982855475595414780627139439925744390362624354209932175542648082655731711633227145483383237260555881617450711757693691384740419353643092637414049196693869571593929988696156838947231971913258913636696769980108374787770926699768857084434019817574924881238842928813415953373151675699868498303781090835091775820382614300630277341815459497825670874033103318103844511236158952422030278749668614973206651169327429604161677662960623740041051447674380247041924639388499324198287394976751686977373418018207355444030424659275534561790329992659152407049698536520016836144399769789810683503871947175836206739081579357836787037694495329722414863870940266623422416562284108951825640372216501148704502088418504033403562136569557325578340920872516641458555360932186304213553312972566514082880293474108349876173861931776418986490304150304323072921298818748912828707443867324328118567321432663221548659747258482333669918790096960149738665141654016902980260568100614883199067504797170947155528379559690513130352836256275016460737183874586371277317740112297988845409592563601628927244057613456283760310767289991778688105824500030196714913065310400141666666393907204894246880054611030195841518635193332500316646258413088754599193404543061621338886281283176441973323267315796817495439033461426588912610415638965532907455181129678232022341787587832753922306704538294752129613552777568134817436958172659971875681241136032041319341284792144517352371004317446536059020959077270794182134205320531695536970380264300646952075516531974611943766469216614997340177613671211036931769560692237076382321405261713436279369604050243797476763796221881928389022940388145592455399652215199066032916941541766916771382868071664192939140576047531465833013529452551468372930649250466599293544396774065693532227059150531745081461052498057985863005934681442041429470809802376267304473022386918615363735554997297502561099317692827290981227590894800078480190516491723284685233258707297884904815968044497394753347590517530657594837773505667396768477519746237789128662526239473740049000919305833177841912015350228641982996268667091252438674676465942521846214138414994657420997284776346935331461754462649516723314617646171599 283641150050613641838303563600403015800131638547967874671283434808410935145316541341528492560392309778089549563490021303393529160314115573178879038080085954827046398041593798885863821920112020648770720623166488773751458180893408724478643235390405343999171964975996523732595116127747016298858944278728453377529006231252254020959678929239115334102232628196202229141213425811803529114366805483346444437010285489493219668157496313130697260800652522990495823805019752586051765287511003030367261464226013274506520781648545346787256094837294599482254408431713807709032963942633734449868744449283172326984848099373617407636270589298668746222677160009855637869148905193544351732402934733326024984275785106320213748698252865521812268999637141873993402746064402548185834422517213500519483796493956358181847733321566058795736536634540076948234990979620193503345804469011485110834229849473139803127464802457389791139213330161471342617317013281433489655892057689500870392451944101649433030648082295511919309707661918595656383150016276604852417161105072077793185286466820557287119536101119997337139033069744049177480779216285837719105199819855051062408811228291431185081242475788375187003782758473568530061192840280503102405263403722910838428068598652708006432281717989712678567807819746899697548570280202763153888524734200267873744242243615511015533841178935229026047532946182972586226680225860963065020716760790529619415317030795087387961651904362712270325821950947117354954138669892233396892539601427101707099282664298877274007652083341461306780388571068535030241433751484837801512128527805973319281971110438687040395529300840148927792722943479235626392503369227141844843908056255556081985366386596243216965927435350997609588880982730483713414588192672626594062059310135411276361358180102271585589277908627632627464118278276596882514816528456713158569946441333611398825669358511586725056884568232286161658806839557109721131413196023157423428898604645566985377451797981109408083313218377227354252822870332431657772821322584782514564147749345598587555355841368611966423460663319094671587949695012417917778031534530595670579095362916569177109275865936634300371482809610273666676707783816604628352791522649474788681229489637645901720698946643999025805523743642667115966389655437792335914905462163609844541957299808539471270680846772948136740438384041844564758369652313064904702797441119468264877977339321248557635821539768350144106416230331135404050870057897862711656792842179770722998159542331609016587977107095617531796792929418869639394386238506469048684357949013724675699774130724278017252811948289036933569838487261635179200139206403422145126999336826563084309967133591876225259011671689771586162377318000487236349411011085792723069020388873621231546466036385594157527078886184042295937190212904364252426776650984824479402016234074433133422694156945768949947233563202067840448170572043851146341446662414122544490343947148052963265829196769274747591031781224210119059109638275307356338130077039203254312943625003586376999686264212499886611545035637466624939679760607061004699496494176565820660278454688091758747771438788419176673649398816036606962799824323131118638680322489539593944074684079433581239440389352388650066707899665929349011155707505711478078559715861481084390214510821156411878015465684517632682499843449611759602430082926606025385107174399130767874348182674505102805424862442303701632200581539273851892230103111505124619835667922144450178579911153784915662880833214564238989082249386723437106617819809956983921339469225515840422011845646298524552709933156357670844361097820233877026988617142756228347045388330643253906977948095866625872149849914282578965532705160984095867023985467172281980224959441825996513669337235972210650369297138047394794884422475329932498302661737873193656726858695531220571704335431006687423168744405653488467823025246342313814150120276002621893165463161700360967785151810731307767530112435650128993377390054947510144237208665298767304676072604222722 458941021390001829912613320404716822419735175173238956297943429709485525742225271323855760029709955424400763194447800209714242352091066881941472547236423966806607279788975880465157973147933106820526982013021698529548026787263423806924986106918636058045429390295374293606806087536289973906966919709458978442020683700013409256276582298051066718803745495301474449433583230145260131358184913483406959118517536313900458539847184832302474424500381820278147528460617626546909586194431878313802960363535882648439951555100279946994995709077729659108549523135926419952109751546380819806263780469121384837051545768880380308755082015353384777465119688198256948227124962139410827331322720660530086061774626560174709729340609725002225347447880363607715349670714181066159292901207655363690645633499613361138450959486030423555687479846037558663270622524623479823509402326339083993269284356901027359822273412435023249721563399383115715204512078720157693932775955764381661515680353787699578203341122833863964246169126812434875020102398735078572552688748493754278156809387493907239823343902331362488236792710511498350638756325803529275112687135187892728757200755026571260555387514727384890227835338751469309839817397736445256990865831250245289709602329056935935831029064379311912446982634712755786224026807545008485084696380453555467510264596271017947061846911277946409074783153035520360186691834128513906931972836225738822348758891291326802644937417561825757981560151710944406118206501034291481538133312915379612444672358924432839041167091010512977630493992193988204463816701522446939810140090694548318982127596991710952671227259173633078221391615705490619211764695166615953541371702453265842429583455163515296020204948413842769192715551858639127530126606131023447087318251475196651143345379861277134130843272435744002599524261132072477929597155596153084314336803957965608757844901159669380788596201459431645042044100112991338582124953716848808169317958288659622791500994674978979677243207073384193200054842245690571409518092564890889351918676045367444639789861186186891304699506247908087541322846688117786276335315621430762354915745530869807386617681396132126042356842713591770521219019975557050383070272318089761887880658965075505882376609604622765846575191317047363008314294826291660113192857140361531519330717826746826714711271432223671302228714034503717165419350849584921538941840889258075561481211268424393842560621347707980893453924826465126465733928838129335079209404463879674823799914548110165292479195514121565200355065988426964972727159378985690142913309945910979913327443696844531335692241763145283446012349193411598186629510553726468199920635645311997138674577459200553377578993122434807711037065258969570019329801182752872807685530527638134526726604486209040726146390981213243092718592464054765557129487241099495862753417949019504700011897058066938792643155765669469375414629657307430101757429704114323178449771648083159980742262079674889257698175131415013305989692886337552179648712232535754629589883416675131598879668755561507950431316920643066913003027922857822194935527637992409572888870327057291655226619918097408695991186403869360885106528861425870768293875267107728761511642252093553115121630488420691386049184458073866363526711823158014137580674938751878572348716141688107414985845948818279634575359981586371546196552143221022725284788070341804806117743366742179187746267704017137911570185589517649368993899333387053008858608310290042633979563368983981695797774756331155760465117458387630045758395857488449754352998678067308794942494896765123846254329930423364376588156970765622108449669640814214210051323012085295336448757898242893176622872301201194329268260158281598428123303159999572961452550336626074993859853727695495335602555845345279699700390519827327251650252255403851251564632201198617340181855177244476551831270645127228516823944552175491656062135626231263876161731828791613406459828276673829613744250850644786414374674831294445475698963127948284027990690250394321 742582171440615471750916884005119838219866813721206830969226864517896460887541812665384252590102265202490312757937821513107771512405182455120351585316509921633653677830569679351021795068045127469297702636188187303299484968156832531403629342309041402044601355271370817339401203664036990205825863988187431819549689931265663277236261227290182052905978123497676678574796655957063660472551718966753403555527821803393678208004681145433171685301034343268643352265637379132961351481942881344170221827761895922946472336748825293782251803915024258590803931567640227661142715489014554256132524918404557164036393868253997716391352604652053523687796848208112586096273867332955179063725655393856111046050411666494923478038862590524037616447517505481708752416778583614345127323724868864210129429993569719320298692807596482351424016480577635611505613504243673326855206795350569104103514206374167162949738214892413040860776729544587057821829092001591183588668013453882531908132297889349011233989205129375883555876788731030531403252415011683424969849853565832071342095854314464526942880003451359825375825780255547528119535542089366994217886955042943791166011983318002445636629990515760077231618097225037839901010238016948359396129234973156128137670927709643942263310782369024591014790454459655483772597087747771638973221114653823341254506839886528962595688090213175435122316099218492946413372059989476971952689597016268441764075922086414190606589321924538028307382102658061761072345170926524878430672914342481319543955023223310113048819174351974284410882563262523234705250453007284741322268618500521638264098707430397993066756560013782006014114559184726245604268064393757798385279758708821924414949841759758512986132383764840378781596534589122840944714798803650041149377561610607927504703559963548719720121181063376630063642539408669360444413684052866242884283245291577007583514259671256105845480769691717806700850939670101059713538149740006231598216562934226608168952792656088387760556425450611547452877712578122229182339415149673403916066425390966032195145702554798857728160169567002759129272541700535704054366850152026432934011108447438984495893547332766426413839652323865437197926803792161678735861794967564550569110148602721407603075556248621791652098934959714478974703950264083996028098319303971376061288017635286297985392118205171808042667098076348281923789003162649826241739282008726340439458550589672951478382161116058124999870155157600530516603986735992046736002246643650397821959456879719181880456302609739096997147995407296604367113397885454738827271258959635655613101574421122548588504190052182217015850836455046777386768716957148613326919972471875081448641711051076778636590664812206393873414383259456806368740812268545595876705919401259366073192640871803198253225277165255539029908805368419017983906138225923975264769652023452638122706054003835888739876718967737309823585201701158576443204092118236867668793718796136123246571458848949636848729956355625132365099331161644908517778789271739008942533508420261508598565932968061394561976352558109691852682788529918826894432021814558230233167325015149050402998058706516585369640585219905967847906353184556989406974197756647322705586326331527134354562019840809341452757084124003215374682419328869492216140390800232962962563226962844519293001311633335912317075203431198131148626635069827048110391962469472572680465926041247281993171130146320839543770767128791501261224002444892177628694276232434492812559474522768897358678607970895394749547366845111067152376215667445433675692467903583149216954340543063648398964263086781035220949254790999499135438286783570442557096711342728549243426705994109519048772722215483773294800965319265694295147288627171854941677509778452071507529190963667705985971852983392674494584812995157259749952913993277044908291490896729837911886190608251163975000015050780716984646969798517805470212255902233885769327194990491974374244980087405137381274363286294915407752064886241955619936171793247051332666762854617043 1201523192830617301663530204409836660639601988894445787267170294227381986629767083989240012619812220626891075952385621722822013864496249337061824132552933888440260957619545559816179768215978234289824684649209885832847511755420256338328615449227677460090030745566745110946207291200326964112792783697646410261570373631279072533512843525341248771709723618799151128008379886102323791830736632450160362674045358117294136747851865977735646109801416163546790880726255005679870937676374759657973182191297778571386423891849105240777247512992753917699353454703566647613252467035395374062396305387525942001087939637134378025146434620005438301152916536406369534323398829472366006395048376054386197107825038226669633207379472315526262963895397869089424102087492764680504420224932524227900775063493183080458749652293626905907111496326615194274776236028867153150364609121689653097372798563275194522772011627327436290582340128927702773026341170721748877521443969218264193423812651677048589437330327963239847802045915543465406423354813746761997522538602059586349498905241808371766766223905782722313612618490767045878758291867892896269330574090230836519923212738344573706192017505243144967459453435976507149740827635753393616386995066223401417847273256766579878094339846748336503461773089172411269996623895292780124057917495107378808764771436157546909657535001491121844197099252254013306600063894117990878884662433242007264112834813377740993251526739486363786288942254369006167190551671960816359968806227257860931988627382147742952089986265362487262041376555456511439169067154529731681132408709195069957246226304422108945737983819187415084235506174890216864816032759560373751926651461162087766844533296923273809006337332178683147974312086447761968474841404934673488236695813085804578648048939824825853850964453499120632663166800540741838374010839649019327198620049249542616341359160830925486634076971151149451742895039783092398295663103456855039767534521222886230960453787331067367437799632523995740652932554823812800591857507714564293267985101436333476834935563740985749032859675814910846670595388388653490330702165773457195288926853978308791882511228728898552456196495037457207719145823767718729118932067285654312456990807567796913485452165853244557498674126276761841983018245090375656141291176444332907580618735462033124700103389637395479344895812110851999089208354012234747780681122897984416000939761858097345320942782463766105893324079984065656982337915574121381815211651107530072645759371427829347172935498123860662197503061395723569339840557264440428970184568905546635526429018117967079924196431815327500461863185648458375573398227510875081526840608117187078587316288510277332014169657934641201584451448518426376388070613451298468684391449928897500599919245358012238979371668146468782122627397832473783541035625467023471127523069972472142822717951061902827532519874733406779198999831358466006544961521822351190847243490444219283227313720928624526106428131487040145671089024047982460697427501504274763572123391836936640197445601723622902512407669478752758765685816452776649089367549452550639806056195342206342058224678624613994065631771623775328733012882045982860175268073023755051467097968583620687469683650329230032838806268582077081738209131152027506353721065738984841534911943104532626707987157582154191951650563412784502694823187213048070835676750539814377486583669407989461180917397850337977455340952718309150630217901778279230637552884542724535446539037891752879054476382727226550510012484303498697198134611524933883430045466581650458011896835439828772245218593017204399597537411761765121243887956424384656767148034354813844579875463892352412225395594516684967624069225477547292723270591787171427903130060115078146501389044691363201321574408828737954194285203514984587001603166248680896159856123097928455252068045785495640526831285695907945501470914350693297126274391528465149645488926819283587780704808364078966995018614136939701822126739717536401095635134921195335360657453105011364 1944105364271232773414447088414956498859468802615652618236397158745278447517308896654624265209914485829381388710323443235929785376901431792182175717869443810073914635450115239167201563284023361759122387285398073136146996723577088869732244791536718862134632100838115928285608494864363954318618647685833842081120063562544735810749104752631430824615701742296827806583176542059387452303288351416913766229573179920687814955856547123168817795102450506815434232991892384812832289158317641002143404019059674494332896228597930534559499316907778176290157386271206875274395182524409928318528830305930499165124333505388375741537787224657491824840713384614482120419672696805321185458774031448242308153875449893164556685418334906050300580342915374571132854504271348294849547548657393092110904493486752799779048345101223388258535512807192829886281849533110826477219815917040222201476312769649361685721749842219849331443116858472289830848170262723340061110111982672146725331944949566397600671319533092615731357922704274495937826607228758445422492388455625418420841001096122836293709103909234082138988444271022593406877827409982263263548461045273780311089224721662576151828647495758905044691071533201544989641837873770341975783124301196557545984944184476223820357650629117361094476563543632066753769220983040551763031138609761202150019278276044075872253223091704297279319415351472506253013435954107467850837352030258275705876910735464155183858116061410901814596324357027067928262896842887341238399479141600342251532582405371053065138805439714461546452259118719034673874317607537016422454677327695591595510325011852506938804740379201197090249620734074943110420300823954131550311931219870909691259483138683032321992469715943523526755908621036884809419556203738323529386073374696412506152752499788374573571085634562497262726809339949411198818424523701885570082903294541119623924873420502181592479557740842867258443745979453193458009201253196861271365751084157112839129406579987155755198356057974607288105810267401935029774196922864237697184051526827299509030081266295784606761019845381913605799867930089189194385069015925483628222937962425747776378404776061664978870036147361322644917072627559880407854793862253218863026100956170518321088527722101866349150773061236476320957722195354459652169389495748304283641906753097319422685495507842567287387562910187200281012997357174884574022420404906710756440398312447770296799324943579824230893194235141666187498941902310113428551213897751180470467718828307548529053391800733599759194651056803020173706953955149895167797455827865182291139530592539089628512700621867509717477714022103505152960166944468023694853760580589062160035957999561354110650760322746847595457865831777883182756811425719844064561097369330156866673111886229815437232596945311724321152536203200892801524941763692947446392292721995924780945424005065738716272396593701144089022585033059624582988165613940588058516037209240355406473885179777574162955158087842665278036188355209627369215206290776013772514656900257198148796011534691684297074384022036862450618368604982695475983799571267108870039223520357355392461222737331130579435272356843681296580919235230539849582242270780402374172684294915147821824245670170039374291563352706080297112891550480896998569861456539217804497475170067377146000988469215490104268725766843982633843449822282875118946068713009286950167049595449236743174088527996658816999111719847100651891441904223171408266247160775159028259098512414521776413154990698121945259559851148609764350510827192379317105737934485233607228851175982892420644182856103985434818486666552764620379326243207955099324244745697542393823302169886461931274168316732168740918870190796812987018417880414343282844807569893530218008918235655030907307546261812130628688870016510141846751556080241957941068147613994658293163954236393746804501831300746688662486117884149211102596486647430699035414816121809775562154949788451484104376292977423234617229878804603778356715571306714442386693324215959628407 3145628557101850075077977292824793159499070791510098405503567452972660434147075980643864277829726706456272464662709064958751799241397681129243999850422377698514175593069660798983381331500001596048947071934607958968994508478997345208060860240764396322224662846404861039231815786064690918431411431383480252342690437193823808344261948277972679596325425361095978934591556428161711244134024983867074128903618538037981951703708413100904463904903866670362225113718147390492703226834692400660116586210357453065719320120447035775336746829900532093989510840974773522887647649559805302380925135693456441166212273142522753766684221844662930125993629921020851654743071526277687191853822407502628505261700488119834189892797807221576563544238313243660556956591764112975353967773589917320011679556979935880237797997394850294165647009133808024161058085561977979627584425038729875298849111332924556208493761469547285622025456987399992603874511433445088938631555951890410918755757601243446190108649861055855579159968619817961344249962042505207420014927057685004770339906337931208060475327815016804452601062761789639285636119277875159532879035135504616831012437460007149858020665001002050012150524969178052139382665509523735592170119367419958963832217441242803698451990475865697597938336632804478023765844878333331887089056104868580958784049712201622781910758093195419123516514603726519559613499848225458729722014463500282969989745548841896177109642800897265600885266611396074095453448514848157598368285368858203183521209787518796017228791705076948808493635674175546113043384762066748103587086036890661552756551316274615884542724198388612174485126908965159975236333583514505302238582681032997458104016435606306130998807048122206674730220707484646777894397608672997017622769187782217084800801439613200427422050088061617895389976140490153037192435363350904897281523343790662240266232581333107079113634711994016710186641019236285856304864356653716311133285605379999070089860367318223122636155690498603028758742822225747830366054430578801990452036628263632985865016830036770355793879521196824452470463318477842684715771181698940823511864816404056568260916004790563531326232642398779852636218451327599136973725929538873175483091763738315234573979887955110906649447187513238162940740440444835308310680672192637191222525488559352547385598897479962766732458722298052280102205711187119321803101527804695172441338074305867642120267726043590336786518315125731844481279817884234810366425548858710543113478199735377876226327298857460421392154118198743743046794512414335596767640396770728926665959610657056708436897053682837217939577207751963528533565171978898776380601188706249238623274288071631442664929980681488797042317280296309559144882039171142533245488819259054367273031131587827676211968613458193103275163601033366585065977389159970917519815791968396923768141956127641543804916468434550868221584864418090589533127135762939249363280699684574689701198900706198689061586219329705423707277379257609829912633792280288536086780292094134788993457136415307199586791691515615209384054421435472125073167120719659509845279715699561734519447415955744573500904128467456625313932117276522709757510343804157425639782263498768509293929320499269407130369621288157378851100681632924504923582522278202646032387113171909772708975626797644296220376330256767136538273009495923189781745463549101327653633264857226204355005925846996794454452672565409802521659806001450638903800045317883563705637550306274655467631373425348495769572335452108461548645438717313200535783401066884065240748011422721192889401449121189834416024078314529741623214199632339756091392780052356238403177633778814343499563911248853708542939416274360279741688472201514710747937630008608364510307280346394108629120670640868582883155220025126433753159246490638837228003737092586748416022282179242445028662586442596607987588798499904399722761038959164185060305048629059149935654596815563071371311591560174319052005544321314757811206441635637722053981669064639771 5089733921373082848492424381239749658358539594125751023739964611717938881664384877298488543039641192285653853373032508194681584618299112921426175568291821508588090228519776038150582894784024957808069459220006032105141505202574434077793105032301115184359294947242976967517424280929054872750030079069314094423810500756368544155011053030604110420941127103392806741174732970221098696437313335283987895133191717958669766659564960224073281700006317177177659346710039775305535515993010041662259990229417127560052216349044966309896246146808310270279668227245980398162042832084215230699453965999386940331336606647911129508222009069320421950834343305635333775162744223083008377312596438950870813415575938012998746578216142127626864124581228618231689811096035461270203515322247310412122584050466688680016846342496073682424182521941000854047339935095088806104804240955770097500325424102573917894215511311767134953468573845872282434722681696168428999741667934562557644087702550809843790779969394148471310517891324092457282076569271263652842507315513310423191180907434054044354184431724250886591589507032812232692513946687857422796427496180778397142101662181669726009849312496760955056841596502379597129024503383294077567953243668616516509817161625719027518809641104983058692414900176436544777535065861373883650120194714629783108803327988245698654163981184899716402835929955199025812626935802332926580559366493758558675866656284306051360967758862308167415481590968423142023716345357735498836767764510458545435053792192889849082367597144791410354945894792894580786917702369603764526041763364586253148266876328127122823347464577589809264734747643040103085656634407468636852550513900903907149363499574289338452991276764065730201486129328521531587313953812411320547008842562478629590953553939401575000993135722624115158116785480439564236010859887052790467364426638331781864191106001835288671593192452836883968630386998689479314314065609850577582499036689537111909219266947305378877834511748473210316864553089627682860140251353443039687636088155090932494895098096332554962554899366578738058270331248567031879100840197624424451734802778829804344639320780852228510196268789760102497553291078887479544828519791792092038509192719908833555662507610056977255800220248749714483898462635799294960480070167940941474864432241656671970071094405322530054120021632485252561115203068362003895825521932711405928881736386753637938919592669623414567679712550267398031980221720194348238917639446609891013581197028042926405279719099591060180586805175001763916753748467564230764565096224635911217805490203196146336949597675550346935417291229855468681493732116446922471234361769295311398659232287632985553315690303428336392500183112074192741901693464890986597806586188589211233946143017817643113444565558769917424427699804234259386590919152852918363912108513964321704713565961193380260077313062135694957244169897477715172521292749703527307879317908924930096175084080483772852016744307172370701743465734467237199127840083056302308601437192351332937789468671106991496661175713552477660002423026418167601056966691986768379884503236056917126980670153286875152936176485311137921894851352507062559339752614584559799812466558413916331118174990669308781421932973994237675963992232113821503493443978817420450529862283239286918709964096013134400489102097100749770381722831778798308727814176558388277820682860306462947529094453843655611453564392412510454413101710224622047170047206093042591964736062720796431880786364123470441029132186600718225899156265909692517641521335552117672469599187405613613533584305225175269234510744867294362002540442840294855415637525749898632226479803665276274773732227981022449461809607071173266760106352615857993592745199902138582519225516001425015936666932452999211572025236535268280504715326732596778296151351087245041579976518572989249530493887189285270473706682649115502319247686389863220475121170438834712090604385267047175747604568983408936281884348925093114526777748350080108747305885024268178 8235362478474932923570401674064542817857610385635849429243532064690599315811460857942352820869367898741926318035741573153433383859696794050670175418714199207102265821589436837133964226284026553857016531154613991074136013681571779285853965273065511506583957793647838006749240066993745791181441510452794346766500937950192352499273001308576790017266552464488785675766289398382809940571338319151062024036810255996651718363273373324977745604910183847539884460428187165798238742827702442322376576439774580625771536469492002085232992976708842364269179068220753921049690481644020533080379101692843381497548879790433883274906230913983352076827973226656185429905815749360695569166418846453499318677276426132832936471013949349203427668819541861892246767687799574245557483095837227732134263607446624560254644339890923976589829531074808878208398020657066785732388665994499972799174535435498474102709272781314420575494030833272275038597193129613517938373223886452968562843460152053289980888619255204326889677859943910418626326531313768860262522242570995427961520813771985252414659759539267691044190569794601871978150065965732582329306531316283013973114099641676875867869977497763005068992121471557649268407168892817813160123363036036475473649379066961831217261631580848756290353236809241022801300910739707215537209250819498364067587377700447321436074739278095135526352444558925545372240435650558385310281380957258841645856401833147947538077401663205433016366857579819216119169793872583656435136049879316748618575001980408645099596388849868359163439530467070126899961087131670512629628849401476914701023427644401738707890188775978421439219874552005263060892967990983142154789096581936904607467516009895644583990083812187936876216350036006178365208351421084317564631611750260846675754355379014775428415185810685733053506761620929717273203295250403695364645949982122444104457338583168395750706827164830900678817028017925765170618929966504293893632322294917110979309127314623602000470667438971813345623295911853430690506305784021841678088124783354565480760114926369325318348778887775562510740794567044874563816611379323365275246667595233860912900236785642792041522501432158882350189509530215078681802245721330965213992284483647148790236487498012088162449667436262952646839203076244130268790750840133578666086957730216024517456693302802492820852480354783304841217408779549123217628623460516101101323074461059505581039860395667004904466230865393129876461501538078583049284064995468601556694675227778304281506046398448520601978959293200507659800542979978566361332736621406640144471449813853203045386494729233184153356868437607432210027297288425821247614962958001560637282506575704616995980620284109825189542500392370502301046575504062129131052075007848265601219174149405470789656534172228110527702863405267625971656896542012889281431924305932718628481707917321021803882229530570245825465754761895805762054419885466466557242598608609504785876282981189971541078330526502076125450743113724847029040473875336590844688217484445467726782925807522298696247967405068092869386477447853639726130133812706427889729782951756478861500117569242619726437080613778594547208783469783585269097262958388717225452248821912684840412104311168578188552302595282395054815092913746746008417026501095623096562249396411196691418939722810778696709478427357516906919995841274721498509559640107489605474316125163689151884100379690652405908017064977920256934761516226072686073847251410926155670373613027071087348417737548818936798704522052826687447801704627005718177304736619001737710347198828334806422985754346365103650534823181824103625754642472634611507030305802254870629657437444090618273296139229876158004749023345533546501794824817372704340682829910746947029532796347819124565787603093867794455180456560394714257874573223235615524155088179831789995998800752231694559156473631881878461295481149019902042008725349027405535426219067893862026258982082610247118916160543583255333889893246407872337984189985717830801287554088907949 13325096399848015772062826055304292476216149979761600452983496676408538197475845735240841363909009091027580171408774081348114968477995906972096350987006020715690356050109212875284547121068051511665085990374620023179277518884146213363647070305366626690943252740890814974266664347922800663931471589522108441190311438706560896654284054339180900438207679567881592416941022368603908637008651654435049919170001973955321485022838333549051027304916501024717543807138226941103774258820712483984636566669191708185823752818536968395129239123517152634548847295466734319211733313728235763779833067692230321828885486438345012783128239983303774027662316532291519205068559972443703946479015285404370132092852364145831683049230091476830291793400770480123936578783835035515760998418084538144256847657913313240271490682386997659014012053015809732255737955752155591837192906950270070299499959538072391996924784093081555528962604679144557473319874825781946938114891821015526206931162702863133771668588649352798200195751268002875908403100585032513105029558084305851152701721206039296768844191263518577635780076827414104670664012653590005125734027497061411115215761823346601877719289994523960125833717973937246397431672276111890728076606704652991983466540692680858736071272685831814982768136985677567578835976601081099187329445534128147176390705688693020090238720462994851929188374514124571184867371452891311890840747451017400321723058117453998899045160525513600431848448548242358142886139230319155271903814389775294053628794173298494181963985994659769518385425259964707686878789501274277155670612766063167849290303972528861531237653353568230703954622195045366146549602398451779007339610482840811756831015584184983036981360576253667077702479364527709952522305233495638111640454312739476266707909318416350429408321533309848211623547101369281509214155137456485832010376620454225968648444585003684422300019617667784647447415016615244484932995576354871476131358984454222888528394261928980878305179187445023662487849001481113550646557137464881365724212938445497975655213022701880280903678254354300569011125815611906442917451576947789726981470374063665257539557566495020551718770221918984847742800609102558226630765513123057252501477203555982345898995108069065418249887685012667130737665712043425229270821008074520140951389971872696487527787708125022874972501987268557402332611847911127113454145393227507030204810847813143519959453065290419472145943415660527908441723258272931288201704442078492570275872255821230686785765498039580782565764468202271576554291447542797125897832846042551362276940017049349382336092404783531088774159667462900891521029404872743718849324727296872035941738863337602549296310587538161582042683504444695042948268968953115728858661196437476835165317167223113903101099730998027952130563209501885358247815694865807645344032819897040333195273878514402063959542592705940782709924659373520934575712635169993865121916517534434882051367061673744393095074833674446827194208848192084228168313958392893153289654676796800664572394478629290192909143118620570529388900474271807327187100504693196269614286187813395988480787722529494879373257099089732469103634822290647828437015572973277025264715380326601171530279301837886969974235569276632730779085145860567511910470479913043547092111679650483610128903818823913097198580524458266677301718673053519807237373816665877883294998985470152099413194833534308017361581457390430711347863226450694733243894457503968747635109675747867519229204101672289377827836708653544913346957970536698235818826072171119410179946386233948419956570059571540372885045568049118465628295085312929466922667831552153502856137241109366893047028367210898607466558630416706813261901177433230697933428029812885529548758312349244140502454535546867006027205693095662994762589899955832393820306439267076831575975319325220944089650360821167148935002163798135404361256411738890626010547389506728574116863367349657422866520729526992191615774242171500986864761938335797939548593439113176127 21560458878322948695633227729368835294073760365397449882227028741099137513287306593183194184778376989769506489444515654501548352337692701022766526405720219922792621871698649712418511347352078065522102521529234014253413532565717992649501035578432138197527210534538652981015904414916546455112913099974902787956812376656753249153557055647757690455474232032370378092707311766986718577579989973586111943206812229951973203386111706874028772909826684872257428267566414106902013001648414926307013143108966288811595289288028970480362232100225994998818026363687488240261423795372256296860212169385073703326434366228778896058034470897287126104490289758947704634974375721804399515645434131857869450770128790278664619520244040826033719462220312342016183346471634609761318481513921765876391111265359937800526135022277921635603841584090618610464135976409222377569581572944770043098674494973570866099634056874395976104456635512416832511917067955395464876488115707468494769774622854916423752557207904557125089873611211913294534729631898801373367551800655301279114222534978024549183503950802786268679970646622015976648814078619322587455040558813344425088329861465023477745589267492286965194825839445494895665838841168929703888199969740689467457115919759642689953332904266680571273121373794918590380136887340788314724538696353626511243978083389140341526313459741089987455540819073050116557107807103449697201122128408276241967579459950601946437122562188719033448215306128061574262055933102902811707039864269092042672203796153707139281560374844528128681824955727034834586839876632944789785299462167540082550313731616930600239127842129546652143174496747050629207442570389434921162128707064777716364298531594080627620971444388441603953918829400533888317730656654579955676272066063000322942462264697431125857823507343995581265130308722298998782417450387860181196656326602576670073105783168172080173006846782498685326264443034541009655551925542859165369763681279371333867837521576552582878775846626416837008111144913334544241152862921486723043812337721800063456415327949071205599252457142129863079751920382656781006734062956271155002228137969297526170439794352137812593241271654077867197932310139317636908433011234454022466493761687203131136135482606081153580699555121275619777576868788287555498061571848208098807038347702088721004984481010927515695824982342051862243550020627460250331082768853743608131527885308872649100999313460957424376612174281053657784903224796351514337485769437547094126970547483599534968291811896488101384544723761402779236354834427521363487230569467449191506748389830902552427722587134016715242131028105070333101548326693298564966464287685298432673224245439042219545276930871647986771585183896815197343994844473015244859910736204285742436384491316628584692757633903226138479833426614769511329904712236878696926775957125829758961676981795835423867841772123276186608175679421269326696630132520636460422364515126143939667927650042863715934173405360176522952644951961916931257208787833729483997977872161242268391355320286151588889157110523688663398775377922125447053317234317399624159344069139569874849980905291772114605810337712868327016312418292074233097534278531361994250716964202239286011942383613006465158526538164559027785594178059607313520327496981008666643654361076061680301547843541634691793908058951815783584221714514328241305746933456773367488769315110633841251297295213224960423269598522368350968282624742676767419317741708914894903305483288774938606577621839221108314626541230706371600794759675163703953996130808790121147890293585062283226379555813917905476535580391230942569254049727785564078429698137354408373485794678553457511320324506440774765471307653762240359763696002250603402274110859723632476578291108697063265068242138640734800482386149656057709020464473179068009344461527446908621571974120077452638648806834453049027396297644947155306403265137087918031545973608574622436143122349432267669985436890070575446949664135417908859202746128321515770349880993202084076 34885555278170964467696053784673127770289910345159050335210525417507675710763152328424035548687386080797086660853289735849663320815688607994862877392726240638482977921807862587703058468420129577187188511903854037432691051449864206013148105883798764888470463275429467955282568762839347119044384689497011229147123815363314145807841109986938590893681911600251970509648334135590627214588641628021161862376814203907294688408950040423079800214743185896974972074704641048005787260469127410291649709778157996997419042106565938875491471223743147633366873659154222559473157109100492060640045237077304025155319852667123908841162710880590900132152606291239223840042935694248103462124449417262239582862981154424496302569474132302864011255621082822140119925255469645277079479932006304020647958923273251040797625704664919294617853637106428342719873932161377969406774479895040113398174454511643258096558840967477531633419240191561389985236942781177411814603007528484020976705785557779557524225796553909923290069362479916170443132732483833886472581358739607130266924256184063845952348142066304846315750723449430081319478091272912592580774586310405836203545623288370079623308557486810925320659557419432142063270513445041594616276576445342459440582460452323548689404176952512386255889510780596157958972863941869413911868141887754658420368789077833361616552180204084839384729193587174687741975178556341009091962875859293642289302518068055945336167722714232633880063754676303932404942072333221966978943678658867336725832590327005633463524360839187898200210380986999542273718666134219066940970074933603250399604035589459461770365495483114882847129118942095995353992172787886700169468317547618528121129547178265610657952804964695271031621308765061598270252961888075593787912520375739799209170174015847476287231828877305429476753855823668280291631605525316667028666703223030896041754227753175764595306866400166469973711858051156254140484921119214036845895040263825556756365915838481563757081025813861860670598993914815657791799420058951604409536550660245561432070540971773085880156135396484163648763046198268687449651514533218944729209608343361191427979351918632833144960041875996852045675110748420195135063776747577079718995238890759113482034477714150218998949442806288286908314534500330980727332392856282618947989737673961417492512268719052538570797484329320419645882632475371377444536914246971115161732696156685792620958766526247843848758117696714185693344948054624445625687473879625586697246419739420765655077577394527682167110488229605050812909125875064160613128402313491742869025329847951901810058679538800246330905187772533233993069356098171308685313612412595304709165984302379822094573241459186148353627867401259892386943113441968360588769397400723219271549808483851698595858733634224166431963989824271396688152527931744504572119989945726799294872255674349825931801314715982127390885604080642847631205845155806454287486431643678374549979017104537460327268480193850969779839160810109015485377101792122377151267526838039069055927714764780879082066253642309233928164278396397254380504334822092820428958355327383270838461693014301609485183594811958059485416053114364880925971294104335271275981679582565887183472662914844352128500773733835660516373263205467881032237967460921710190746472755712163911676747360458604891106639476274050261523433187381761112984307273439245372064314096103993350710490046759268440631179979758781679630487969127462152561636166418863650940592964522806125806825940893397692454377939359916514141717645700402189814956880961240558070239971296231646336125873489445849420625959280061034882344813098493545352365968906561876341931919662824404367352873651673372937866284178947173025597179683834100207538889536518006127049421046307405570696674187601806509591842751720703783054373134900403164767966713985453147949439402673582738457195274216176331299808745290710764521548826808657556520998081351010259985716781925092851957619597567638565438377589409846067508066657313709898474432315260203 56446014156493913163329281514041963064363670710556500217437554158606813224050458921607229733465763070566593150297805390351211673153381309017629403798446460561275599793506512300121569815772207642709291033433088051686104584015582198662649141462230903085997673809968120936298473177755893574157297789471914017103936192020067394961398165634696281349156143632622348602355645902577345792168631601607273805583626433859267891795061747297108573124569870769232400342271055154907800262117542336598662852887124285809014331394594909355853703323969142632184900022841710799734580904472748357500257406462377728481754218895902804899197181777878026236642896050186928475017311416052502977769883549120109033633109944703160922089718173128897730717841395164156303271727104255038397961445928069897039070188633188841323760726942840930221695221197046953184009908570600346976356052839810156496848949485214124196192897841873507737875875703978222497154010736572876691091123235952515746480408412695981276783004458467048379942973691829464977862364382635259840133159394908409381146791162088395135852092869091114995721370071446057968292169892235180035815145123750261291875484753393557368897824979097890515485396864927037729109354613971298504476546186031926897698380211966238642737081219192957529010884575514748339109751282657728636406838241381169664346872466973703142865639945174826840270012660224804299082985659790706293085004267569884256881978018657891773290284902951667328279060804365506666998005436124778685983542927959379398036386480712772745084735683716026882035336714034376860558542767163856726269537101143332949917767206390062009493337612661534990303615689146624561434743177321621331597024612396244485428078772346238278924249353136874985540138165595486587983618542655549464184586438740122151632438713278602145055336221301010741884164545967279074049055913176848225323029825607566114860010921347844768313713182665155299976301085697263796036846662073202215658721543196890624203437415034146635856872440278697678710138828150202032952282980438327453348888382045624888485868920844291479408592538614026728514966580925468456385577489490099731437746312658717598419146270770645738201313530074719243607420887737832043496787982031102185489000577962244618169960320231372579648997927563906685891403288618536225393964704490717755028085376050138497496749729980054266622466671372281889432653102831627775619683100714723293260581465558441721958079987205268225370291977767843478248172850975959963173243317172680824216967223020300623369389291015783551655211991007830049263960302585524100358971780940934375773719678854454237781266672816961573036215877603567094617682791469873651777900097893737382390229741422041639850172330834135125213051298075089730937957914983605448680133605008961707934299800480283288616367537450304911797416439040908018057240168623201498895947071556558256549237470185249799643086839258313999061283501912174327835977676442914709850946769822314217906667147401176261441885554027492732484112772025946742585889625851861149245398999281337447283035050932467971223364165997897326939656318522701433821569139492444588302424466953145688442598306073724090993932524826386501728471406439114023505572635697265526698643784805173195415046527850817287027311898394688301967441265075194552565464441930376834400833831773844213224590902093296685014698428089833845745147701710002418731240730212612860833629206737834602007785259984228863900778502127132647913112711804229571879377875333758554246076253297744732384447780114506007080919170066288114936477320864106143811087689751361705960533556358514872715681687407351325956206350511003604136394540884057623782064106260970249827726598216281915687677380092448138409173937941187532789293181934437502481649749260150482705340529743370670638938812828336606991977992407778412803518846313968412509229494160894074719923559480126221387264029727265203727597453692446017167786685914726689102494606655973446403108066214192762837394509668143085515102513007318705270254194978829480248355425517344279 91331569434664877631025335298715090834653581055715550552648079576114488934813611250031265282153149151363679811151095126200874993969069917012492281191172701199758577715314374887824628284192337219896479545336942089118795635465446404675797247346029667974468137085397588891581041940595240693201682478968925246251060007383381540769239275621634872242838055232874319112003980038167973006757273229628435667960440637766562580204011787720188373339313056666207372416975696202913587522586669746890312562665282282806433373501160848231345174547712290265551773681995933359207738013573240418140302643539681753637074071563026713740359892658468926368795502341426152315060247110300606439894332966382348616496091099127657224659192305431761741973462477986296423196982573900315477441377934373917687029111906439882121386431607760224839548858303475295903883840731978316383130532734850269895023403996857382292751738809351039371295115895539612482390953517750288505694130764436536723186193970475538801008801012376971670012336171745635420995096866469146312714518134515539648071047346152241088200234935395961311472093520876139287770261165147772616589731434156097495421108041763636992206382465908815836144954284359179792379868059012893120753122631374386338280840664289787332141258171705343784900395356110906298082615224527142548274980129135828084715661544807064759417820149259666224999206247399492041058164216131715385047880126863526546184496086713837109458007617184301208342815480669439071940077769346745664927221586826716123868976807718406208609096522903925082245717701033919134277208901382923667239612034746583349521802795849523779858833095776417837432734631242619915426915965208321501065342160014772606557625950611848936877054317832146017161446930657084858236580430731143252097106814479921360802612729126078432287165098606440218638020369635559365680661438493515253989733048638462156614238674523609363620579582831625273688159136853517936521767781287239061553761807022447380569353253515710392937898254140558349309132742965859824751703039389931862885439042291186320556409892617377359564727935098190377278012779194155906037092022709044460647354656019909026398498189403478883161355406071571289282531636158027178560564729608181904484239468721358100204438034381591578598440733852193594205937788949516952726357560773336703017823050011555990009018449032592837419951000692701535315285578203005220156597347685838454993277622244234342916846513453112074128409674482029171593120905600405588860717196798267521463386962441066278446966685543465718765700220612880862173086177649684713487374094432677244799049526806356047839946211617207903941403650136801087687038889641182337091512510489042091556214043801863734423413790020283478840918699334982117881071356951966037449531005732180979484108284331981884475101171674471343761406263312304706209768100367706071015937017283357551421493144535075731444401555240441389946887582555021959041822832249368997337378413500688767885684251938636588710365747878462512323273582134962227962991417974238300512925837320406503210749815713347053289617808307131255103934714919955814325903961585265017260779794336416526904291320375333576177527336784445987144524520803994949476866740032536802680323367371060378887709442695169415528085632230348818340704470543075584803431902852087025147306587486008124901338262551901576121337904363884107268580889091763531715548003651858232897943302841827952718275306743497304531958481885914327543600680931691724441014041752622205186669217820550858191273721007903699535297109426204629078194966564508333626044570712602264030773527654746519051807560896797175376832309791064639018739353982551169134430075167532126169658517879106320055030253744121511347040222120134705814890361618271602689188638796668488832389950789678076209635487015938413501569835159499116586573219448868815673997460874879527867872998882799804125721225001481380058897262437736727932308234741535346659015604737324456663093782996117855689352129265710724080540890596728551337762261636143190146829857832604482 147777583591158790794354616812757053899017251766272050770085633734721302158864070171638495015618912221930272961448900516552086667122451226030121684989619161761034177508820887187946198099964544862605770578770030140804900219481028603338446388808260571060465810895365709827879515118351134267358980268440839263354996199403448935730637441256331153591994198865496667714359625940745318798925904831235709473544067071625830471999073535017296946463882927435439772759246751357821387784704212083488975415552406568615447704895755757587198877871681432897736673704837644158942318918045988775640560050002059482118828290458929518639557074436346952605438398391613080790077558526353109417664216515502457650129201043830818146748910478560659472691303873150452726468709678155353875402823862443814726099300539628723445147158550601155061244079500522249087893749302578663359486585574660426391872353482071506488944636651224547109170991599517834979544964254323165196785254000389052469666602383171520077791805470844020049955309863575100398857461249104406152847677529423949029217838508240636224052327804487076307193463592322197256062431057382952652404876557906358787296592795157194361104207445006706351630351149286217521489222672984191625229668817406313235979220876256025974878339390898301313911279931625654637192366507184871184681818370516997749062534011780767902283460094434493065269218907624296340141149875922421678132884394433410803066474105371728882748292520135968536621876285034945738938083205471524350910764514786095521905363288431178953693832206619951964281054415068295994835751668546780393509149135889916299439570002239585789352170708437952827736350320389244476861659142529942832662366772411017091985704722958087215801303670969021002701585096252571446220198973386692716281693253220043512435051442404680577342501319907450960522184915602838439729717351670363479312762874246028271474249595871454131934292765496780573664460222550781732558614443360441277212483350219338004772790668549857028794770694419256028019271571116061857703986019828259316234327424336811209042278813461668838973320473712217105792979360119624362422669512199144192085100968678626624817644460174124621362668936146290532889952523895859222057352711639284089973240046683602718374398354612964158247438661416100280097341077568053178120322265264054458045908426061694487505768179012647104042417672064983424747938681034632995776280448400561748253859087802676064874926500658380299498701652249872649841293756576365552033960513970948345680354185461366901816355976559249270420912211620710911437046480235208813846345875373611620572769205660810285621212884434169476977619527740368182304721681111055988869412608382779473946443785223905374273586120854418604053969997410071848819029271935571486129664610741142687418408084812265173091468709124776255558822702353212724267008268990907569911884088839915807970730614720325531087488394498755389008171084467196286877800508692283707188325183323002985792351399339812850152251301905955244807386354160908970548881043826099449758324836601743950493784866645815024512981974305028582043591033442657248147473101077709605563204261289562215346889626449057667171459861610832488872995927243108972982439375729802329378967152176233574302755970545986702555397530625037120308145735618270137368896344782463859548140419259852338125929164645198261136036332453717953013728590801765950446788733864471093731572509579662554726060566727726168432736984013046975456713392735921296320391917086380759432745471118295590575721501122409706616216279492492744014672287428614477437132260463963969991307084013261391767489248304148501333038660302068243155133894866608792916494181428502375997385116095388235742707633836569649756214160061322238604183543552709105170838388056818971537730480533048746848574299844275020493547827567277529390092065762837228183226955035773602587796558362926025512985254728746583786494716130182745100094920656262035761510211393297903066201849210310618526746638933853809595643403604047256608016456614972670395185283349948761 239109153025823668425379952111472144733670832821987601322733713310835791093677681421669760297772061373293952772599995642752961661091521143042613966180791862960792755224135262075770826384156882082502250124106972229923695854946475008014243636154290239034933947980763298719460557058946374960560662747409764509606056206786830476499876716877966025834832254098370986826363605978913291805683178060864145141504507709392393052203085322737485319803195984101647145176222447560734975307290881830379287978217688851421881078396916605818544052419393723163288447386833577518150056931619229193780862693541741235755902362021956232379916967094815878974233900733039233105137805636653715857558549481884806266625292142958475371408102783992421214664766351136749149665692252055669352844201796817732413128412446068605566533590158361379900792937803997544991777590034556979742617118309510696286895757478928888781696375460575586480466107495057447461935917772073453702479384764825589192852796353647058878800606483220991719967646035320735819852558115573552465562195663939488677288885854392877312252562739883037618665557113198336543832692222530725268994607992062456282717700836920831353310589910915522187775305433645397313869090731997084745982791448780699574260061540545813307019597562603645098811675287736560935274981731712013732956798499652825833778195556587832661701280243694159290268425155023788381199314092054137063180764521296937349250970192085565992206300137320269744964691765704384810878160974818270015837986101612811645774340096149585162302928729523877046526772116102215129112960569929704060748761170636499648961372798089109569211003804214370665169084951631864392288575107738264333727708932425789698543330673569936152678357988801167019863032026909656304456779404117835968378800067699964873237664171530759009629666418513891179160205285238397805410378790163878733302495922884490428088488270395063495554872348328405847352619359404299669080382224647680338766245157241785385342143922065567421732668948559814377328404314081921682455689059218191179119766466627997529598688706079046198538048408810407483070992139313780268459761534908188652732455624698535651216142649577603504524024342217861822172484160053886400617917441247465994457479515404960818578836388994555736845879395268293874303278866517570130846679826037391161063731476073250477514786628045239941462368672757684960063224259237638215932877796086400203247136710046910407791773014111492373627111326731901821434414662176771140894677710769215867143741147902433180263322662102714989186612432233591773610132657884893527333719969806288865371818732467166333461159096051377380919023177877169269991760570752238325960925118871821565502657829025769108696999910874702082894888696745053966700100628887537523579195616473323666902516369144247057566569880799247599320228965665517430476776369358613640927821106123273359392223759255401262531889949739196778955058667022218245919623340941652704525703596823691753678035651278449438862617049784417757130659936295871198511872461800337750271250673922150453704534682359162077802599782612159837147525748362613062473377062662974622823984055625978742251180946824391243348987198395278476017520448047103922459306115762339132059290519547293953190465413241156118083483162855385938648850206161345722172328247634550884695447006745860463027267427197099837257374236817602060282309479893529482162336737516329326629515812421490507444335873471223472964695465898961303000314073667613020761405958839002964619414688938846448766995222130313406151513388918697373092867253993122811063176831176566234022080611668007910819296809200945676709870970093132882173873248849159962050924256596034502167043633974494555797737887580691161103254382181456944419073905170980707860027026853487460370120431322726823058209786860213433995117662726776645976665285211706043857224415910653130455669557245725829638706479730227963845391978567919473032403155397797382420525816130622359729295632206428474216098768199564533676184294200775807945778718251115860542015141182553243 386886736616982459219734568924229198632688084588259652092819347045557093252541751593308255313390973595224225734048896159305048328213972369072735651170411024721826932732956149263717024484121426945108020702877002370728596074427503611352690024962550810095399758876129008547340072177297509227919643015850603772961052406190279412230514158134297179426826452963867654540723231919658610604609082892099854615048574781018223524202158857754782266267078911537086917935469198918556363091995093913868263393770095420037328783292672363405742930291075156061025121091671221677092375849665217969421422743543800717874730652480885751019474041531162831579672299124652313895215364163006825275222765997387263916754493186789293518157013262553080687356070224287201876134401930211023228247025659261547139227712985697329011680748708962534962037017304519794079671339337135643102103703884171122678768110961000395270641012111800133589637099094575282441480882026396618899264638765214641662519398736818578956592411954065011769922955898895836218710019364677958618409873193363437706506724362633513536304890544370113925859020705520533799895123279913677921399484549968815070014293632078025714414797355922228539405656582931614835358313404981276371212460266187012810239282416801839281897936953501946412722955219362215572467348238896884917638616870169823582840729568368600563984740338128652355537644062648084721340463967976558741313648915730348152317444297457294874954592657456238281586568050739330549816244180289794366748750616398907167679703384580764115996760936143829010807826531170511123948712238476484454257910306526415948400942800328695358563174512652323492905435272021108869150234250268207166390075704836806790529035396528023368479661659770188022564617123162227750676978377504528684660493320920008385672715613935439586972167738421342139682390200841236245140096141834242212615258797130518699562737866266517627489165113825186421017079581955081401638996668008121615978728507461123390114934590615424450527439642979070405347675885197983540159675079046450495354093890964808738640967519540715037511368882522624588863971499433404630882431047107332844817556593377162276033787109751728125886693278364152355062436683949745622675270152886750084430719562088563536953234743607519895093318056684394154400619944085623308967002091301445619109639902134944965020554807057887045504786344822668384811162940272271211709158244486961951500995797849586472666699514769872673125812978981774471275708418753136692928638224740164212824095333363800082079678638661964259607524643854302685047179138120102341180065845179900485944587938127976619082371980485546857896642705617537452296482251863294314830337727254601039449101614249674482970586031729120686948858694155125815519129900823109009708860227214466354320924453956512230658038589924023854879051668018730154743784638349521210839705194963189167362954373975726793619378344237952167963229751489414532797423849633936411714028780146694739470387050618262289014868351690373001938046290456780169060753505626437200029575510523894404198319549004977102315581756917188419191116781805270310620850163740684228387188316915540957598070573273448910520447060006110964890516375290212895441745491492141461438257671723527527493221383787142820638880693480423058956995941779615859541224592417014744243587426005712801153196591842298098393410569271320013296038070695295432609125471380800420361088322001153062170396440198949641397432449912008278457027466403534317081797875925383724052160160057142039342716723252723112767729668411190117107539541421737288500309091640530204013387695681269302586786057505094178042909630395201125329007143715768754967418438024536878164428750069882791540445521417260810859468542242779183023257448723689813030865414910306431907850911855775569906784086704488454488665490294054175366757350974543272040451370946426733043466115608651855151691734458974547631886694698102218132498076054059418182036027523920262795497481416739092742845407133418343271827697804823064553795174866088530937200424532502004 625995889642806127645114521035701343366358917410247253415553060356392884346219433014978015611163034968518178506648891802058009989305493512115349617351202887682619687957091411339487850868278309027610270826983974600652291929373978619366933661116841049130333706856892307266800629236243884188480305763260368282567108612977109888730390875012263205261658707062238641367086837898571902410292260952963999756553082490410616576405244180492267586070274895638734063111691646479291338399285975744247551371987784271459209861689588969224286982710468879224313568478504799195242432781284447163202285437085541953630633014502841983399391008625978710553906199857691547000353169799660541132781315479272070183379785329747768889565116046545501902020836575423951025800094182266692581091227456079279552356125431765934578214338867323914862829955108517339071448929371692622844720822193681818965663868439929284052337387572375720070103206589632729903416799798470072601744023530040230855372195090465637835393018437286003489890601934216572038562577480251511083972068857302926383795610217026390848557453284253151544524577818718870343727815502444403190394092542031271352731994468998857067725387266837750727180962016577012149227404136978361117195251714967712384499343957347652588917534516105591511534630507098776507742329970608898650595415369822649416618925124956433225686020581822811645806069217671873102539778060030695804494413437027285501568414489542860867160892794776508026551259816443715360694405155108064382586736718011718813454043480730349278299689665667706057334598647272726253061672808406188515006671477162915597362315598417804927774178316866694158074520223652973261438809358006471500117784637262596489072366070097959521158019648571355042427649150071884055133757781622364653039293388619973258910379785466198596601834156935233318842595486079634050550474931998120945917754720015009127651226136661581123044037462153592268369698941359381070719378892655801954744973664702908775457078512680991872260108591538884782676080199279905222615364138264641674473860357592806268239656225619761236049417291333032071934963638747184899342192582015521497550012218075697927249929759329331630410717620582014177234920844003632023293187594134216078888199077493524355532071132602075631939197451952688028703898810603193439813681917338836780173371378208195442535341435103126986967155017580353344874387199509909427642036040573362154748132507896496880458472528881365046752924305713676292710123080929907833823315935509380079967836481266233262343001300764679248794137076087894458657311796004995868513785814986189351316406670595142952543531076536924238815665883494706722288242822615532640791262846126422604951759443275443591667585942603822769843747390900179782219230529710646533288055843687790021223440823100759288224608470723271454199280633684247585220561007708134851767526301086462526755178133231128056151268293977148946918288418511632778717047190575589116239732376970386493148422701896711727877485401474790759068706226752651367572625967426774950300826184446044857902854231364139180118181539529348256338642530167883373094227226403658851211172372541519699849251520097840153869434258401389440908036823337316817901051607254480593497548191270821480683686797028298938722363856335808997605846147940961581713552840051565628939034432751573264180464019039397935650784806088922073578347550588824914771462208897129746990604134422643569614732313670173114362127915810969581457341540071147337843203834764386688671574848995988488109711945383036518919243057329887490200406795414860099563485922817096438035468307349277213406082866706039854752780600488334007502880392564928717018342694620571380331472384044377347338183408997951971962722924424236127442331353894670520890892441763793892277971343178502392964993873564701888483783153020830821343422636186249315897675786857079863499135672854377684790398214189202511477278673266021691164901231451856800602561843654542622524793113623167566958944175332982876948011992005598872499573893117204391479215565715055247 1012882626259788586864849089959930541999047001998506905508372407401949977598761184608286270924554008563742404240697787961363058317519465881188085268521613912404446620690047560603204875352399735972718291529860976971380888003801482230719623686079391859225733465733021315814140701413541393416399948779110972055528161019167389300960905033146560384688485160026106295907810069818230513014901343845063854371601657271428840100607403038247049852337353807175820981047160845397847701491281069658115814765757879691496538644982261332630029913001544035285338689570176020872334808630949665132623708180629342671505363666983727734418865050157141542133578498982343860895568533962667366408004081476659334100134278516537062407722129309098582589376906799711152901934496112477715809338253115340826691583838417463263589895087576286449824866972413037133151120268708828265946824526077852941644431979400929679322978399684175853659740305684208012344897681824866691501008662295254872517891593827284216791985430391351015259813557833112408257272596844929469702381942050666364090302334579659904384862343828623265470383598524239404143622938782358081111793577092000086422746288101076882782140184622759979266586618599508626984585717541959637488407711981154725194738626374149491870815471469607537924257585726460992080209678209505783568234032239992472999459654693325033789670760919951464001343713280319957823880242028007254545808062352757633653885858787000155742115485452232746308137827867183045910510649335397858749335487334410625981133746865311113394296450601811535068142425178443237377010385046882672969264581783689331545763258398746500286337352829519017650979955495674082130589043608274678666507860342099403279601401466625982889637681308341543064992266273234111805810736159126893337699786709539981644583095399401638183574001895356575458524985686920870295690571073832363158533013517145527827213964002928098750533202575978778689386778523314462472358375560663923570723702172164032165572013103296416322787548234517955188023756084477888762775039217311092169827954248557615006880623745160476273560786173855656660798935138180589530224623629122854342367568811452860203283716869081059756297410898946166532297357527953377645968457747020966163318918639582087892485305876209595527032515508637082183104518754688816748780684008640282399283011280343140407555896242161014032471941362403021729685550139782180639351194285060324106249128305746083353125172043651237719878737284695450763985831499683044526751954160249544292791931814630033344422679939426643508401661719942197143704490934125098209693851660166089837260994608723119571625903057022471096712308589112244174584725074478826955621600573381023644400861057525118074638171974332943456792606085055305597738360430533755542996916070902256375544365277057271518882647060647295309078332301702977739964345646057656062607231496049651694118132507206854849770646638215101114881518170001047311514471040209525527953761157117081232618809752514974016892353753165163761006752517209431536633379473053212150330401694969939262101173780369116282433763296446536675529759311973153683715077390144343079598360689457060657447322093371289064389881318407500405798553198627529713342797098746622054935805862994349008176908180815441759361244549816232056562842089720577441254777432468580373182621858757286065333660610881696034044195375360242086874385621284120347380587680277930167351692456423796631785128753869122755759560365722977859914369006474681654925001710689770412723735009053130527452428668635759631686972725741077607307946336836597388063795014457626642048856003030546515992868924211134032795690230883535132831887536280697471985761132645108258495901134114260138878628930415212782822191466667015310465588802618360333921757856674100324185822255034277962871777960269190342972448643314884996710179987160792587938127157803506596542601788463029539942089948648177059109165367964123909297399307505916218784597871178462885320290595039906659701789582466401220219839689810421937053369067983292922416415990247557251 1638878515902594714509963610995631885365405919408754158923925467758342861944980617623264286535717043532260582747346679763421068306824959393303434885872816800087066308647138971942692726220678045000328562356844951572033179933175460850086557347196232908356067172589913623080941330649785277604880254542371340338095269632144499189691295908158823589950143867088344937274896907716802415425193604798027854128154739761839456677012647218739317438407628702814555044158852491877139039890567045402363366137745663962955748506671850301854316895712012914509652258048680820067577241412234112295825993617714884625135996681486569717818256058783120252687484698840035407895921703762327907540785396955931404283514063846284831297287245355644084491397743375135103927734590294744408390429480571420106243939963849229198168109426443610364687696927521554472222569198080520888791545348271534760610095847840858963375315787256551573729843512273840742248314481623336764102752685825295103373263788917749854627378448828637018749704159767328980295835174325180980786354010907969290474097944796686295233419797112876417014908176342958274487350754284802484302187669634031357775478282570075739849865571889597729993767580616085639133813121678937998605602963696122437579237970331497144459733005985713129435792216233559768587952008180114682218829447609815122416078579818281467015356781501774275647149782497991830926420020088037950350302475789784919155454273276543016609276378247009254334689087683626761271205054490505923131922224052422344794587790346041462672596140267479241125477023825715963630072057855288861484271253260852247143125573997164305214111531146385711809054475719327055392027852966281150166625644979361999768673767536723942410795700956912898107419915423305995860944493940749257990739080098159954903493475184867836780175836052291808777367581173000504346241046005830484104450768237160536954865190139589679873577240038132370957756477464673843543077754453319725525468675836866940941029091615977408195047656826056839970699836283757793985390403355575733844301814606150421275120279970780237509610203465188688732733898776927774429566816211138375839917581029528558130533646628410391386708128519528180709532278371957009669261645341155182242207117717075612248017377008811671158971712960589770211808417565292010188594365925979119179456382658551335850091237677264141019439096379983375074559937339292090066993230325633686260997260813642580233583644572532602766631661590409127056695954580612952360575270095758924372759768295896266606765681240191322757195798796030091602361802730130094078207637475152279188577401279318262524169434133559395335527974472606950896872967897094359596412863419507446249352620500800561666305757916936766226636353475955485379957590960244402076284971914590046396767806100158030807107255531370566763277612935387225325184906653765790914374757797136114220873310640437982905921914932192250061799806588512680090231518230785114644193493534087467725767232454411685744769839154639954520075458743962082904206005440479987100631227879415984120004028011733255462551944835975884931868401842141037056809304616548001930809533061998580357296573613469129218259315576808889846706590021964846531243848706001102648433354054265170488860594977843740698083608406152041054168688237661539022968330272520146002121656291508859329514124629921093969694980181449164160452733171872945262152049889175059914342296590846440201399861067539295870121688281533947441371710546545828992768205545454157101395309858049119015562140614018796150606215783070965097508353132251457487627280937274723080084324310379823729398951790917173887548470831371869140334767928845626189004103827265679638827373518158637486216812339413164754784914391091251437907920156513030854812650298437894216463793598212780355836771833833892231456231796335715818053602623347041903835802944660586460041737461317407224732488162837379570586444041230145600462300538957773019387159714833005507845083708663074226660733757799384097167851681816020809552942961100497313895631555962612498 2651761142162383301374812700955562427364452921407261064432297875160292839543741802231550557460271052096002986988044467724784126624344425274491520154394430712491512929337186532545897601573077780973046853886705928543414067936976943080806181033275624767581800638322934938895082032063326671021280203321482312393623430651311888490652200941305383974638629027114451233182706977535032928440094948643091708499756397033268296777620050256986367290744982509990376025206013337274986741381848115060479180903503543654452287151654111634484346808713556949794990947618856840939912050043183777428449701798344227296641360348470297452237121108940261794821063197822379268791490237724995273948789478432590738383648342362821893705009374664742667080774650174846256829669086407222124199767733686760932935523802266692461758004514019896814512563899934591605373689466789349154738369874349387702254527827241788642698294186940727427389583817958048754593212163448203455603761348120549975891155382745034071419363879219988034009517717600441388553107771170110450488735952958635654564400279376346199618282140941499682485291774867197678630973693067160565413981246726031444198224570671152622632005756512357709260354199215594266118398839220897636094010675677277162773976596705646636330548477455320667360049801960020760668161686389620465787063479849807595415538234511606500805027542421725739648493495778311788750300262116045204896110538142542552809340132063543172351391863699242000642826915550809807181715703825903781881257711386832970775721537211352576066892590869290776193619449004159201007082442902171534453535835044541578688888832395910805500448883975904729460034431215001137522616896574555828833133505321461403048275169003349925300433382265254441172412181696540107666755230099876151328438866807699936548076570584269474963749837947648384235892566859921374641931617079662847262983781754306064782079154142517778624110442614111149647143255987988306015436130013983649096192378009030973106601104719273824517835205060574795158723592368235682748165442572886826014129768854708036282000903715940713783170989639044345393532833915108363959791439840261230182285149840981418333817363497491451143005539418474347241829635899910387315230103088176148405526036356657700140502682885021266686004228469226852394912936319980826937375049934619401578739393938894476257647133919425155051911037742386396804245487479074270706344424610694010367246389119388663586708816616183840486510398875104577820681786080295996887327224256008468665551700110526299951188361179617966265597460515972288746066293664255192287901489135318369025838395888041382095795337190581866432240283061719195071457692971573186552034463992888469893753481558325679740943929891269709683428959561010790977695951390778157619281887985492302772312171377215302325989902592017862072355945237090203065149252299823446976981989293185765914991443147644837755692561570407351176681324758513727401745989270994640172147254691204548958386042206926659761662192907805118281082211261171514440839384913533199250961629574385923382105201792102371744985708132422421607398161154114190740524382006692345010407893751455641014743895706840418282649196895216390252505143220592376244586645804747724703369159917259519497037503158659182457444852955968273110731530327382116464223107704988726375304278150266145394847785240802790003739175556809406247327118793157065609532637569452990081693989047270236833184989821408418625881248647256925301286079553020510647693207256143927514119044867102249543014569282654555782293188508812042704816299469088054875691075951732349722133180313410370245391820715128307920344161062255404273166655465126323660989864959910787897323274652272897625095441269828377537607105857758266748373508959131391188734408155111994540649615853247058318708549794103082574428680439650600814763782610507834491773930102464093056584339249780436764674578111485556629695609409194269509759699846463689238171757586011468393165374303702980886362523340265785317387691371626442746606312029083790236312047546210169749 4290639658064978015884776311951194312729858840816015223356223342918635701488722419854814843995988095628263569735391147488205194931169384667794955040267247512578579237984325504488590327793755825973375416243550880115447247870152403930892738380471857675937867810912848561976023362713111948626160457863853652731718700283456387680343496849464207564588772894202796170457603885251835343865288553441119562627911136795107753454632697475725684729152611212804931069364865829152125781272415160462842547041249207617408035658325961936338663704425569864304643205667537661007489291455417889724275695416059111921777357029956867170055377167723382047508547896662414676687411941487323181489574875388522142667162406209106725002296620020386751572172393549981360757403676701966532590197214258181039179463766115921659926113940463507179200260827456146077596258664869870043529915222620922462864623675082647606073609974197279001119427330231889496841526645071540219706514033945845079264419171662783926046742328048625052759221877367770368848942945495291431275089963866604945038498224173032494851701938054376099500199951210155953118324447351963049716168916360062801973702853241228362481871328401955439254121779831679905252211960899835634699613639373399600353214567037143780790281483441033796795842018193580529256113694569735148005892927459622717831616814329887967820384323923500015295643278276303619676720282204083155246413013932327471964794405340086188960668241946251254977516003234436568452920758316409705013179935439255315570309327557394038739488731136770017319096472829875164637154500757460395937807088305393825832014406393075110714560415122290441269088906934328192914644749540836978999759150300823402816948936540073867711229083222167339279832097119846103527699724040625409319177946905859891451570045769137311743925673999940193013260148032921878988172663085493331367434549991466601736944344282107458497687682652243520604899733452662149558513884467303374621661053845897914047630196335251232712882861886631635129423428651993476733555845928462559858431583460858457557121183686720951292781193104233034126266732692036138389358256051399606022202730870509976464351010125901842529713667938002527951361914271867396984491748429331330647733154073733312388520059893832937844975941429816622606721353885272837125969415860598520758195776597445812107738371596689296071350134122369771878805424818366360773337654936327696628243649933031243820292461188716443253142060465513704877377740660908949247902494351767393038311468406422566557954042419809289022793259312002380348428096394385286366109126610470648214415797167359644619964771324141261767768257534326145968330660868667546148447327412395916143106102059126241407249687808206475910065313036966276357653542351022559695566859900082349169079977477373333133097158123388428835633558172477428390334158953589237891356747090321880135864753788082820661614476502599601238481131347026407491977507501779754816340748225292016684153274661338345506432032062445072801157670005133597345045390354013186351592857453801907502109229803835627207537652968398306539266562996255227797333686623240346941217426813454221372040469320309547500908512472025280099211733242557222775830494510748827351802513971524689985898098136502923155528461362120314164900218565043655487191437977508872377425934441775004724361909870723883973434155738258570407779851965030010871684687458628049996036285638116677034584850888947714496002936928790872742657790099566339640461412801598084615514354725151368558576709896673351932899404291883007802324652601339512363318356889007072802217504623790193974790772506045481807892631893627273413501423393971949849993968787176467536150648170431535111312253609241542292392020248849518186281429115644422043547058453549888757113409451459838674545321627936974805884912235986316632817385233854876395609733047124679516626076711097843989407066274322936200282053450424415110222000385421462257558917300844473901010458012366055113023257098065169414555543053442463556159254990184287550207679102172782247 6942400800227361317259589012906756740094311762223276287788521218078928541032464222086365401456259147724266556723435615212989321555513809942286475194661678225070092167321512037034487929366833606946422270130256808658861315807129347011698919413747482443519668449235783500871105394776438619647440661185335965125342130934768276170995697790769591539227401921317247403640310862786868272305383502084211271127667533828376050232252747732712052019897593722795307094570879166427112522654263275523321727944752751271860322809980073570823010513139126814099634153286394501947401341498601667152725397214403339218418717378427164622292498276663643842329611094484793945478902179212318455438364353821112881050810748571928618707305994685129418652947043724827617587072763109188656789964947944941972114987568382614121684118454483403993712824727390737682969948131659219198268285096970310165119151502324436248771904161138006428509011148189938251434738808519743675310275382066395055155574554407817997466106207268613086768739594968211757402050716665401881763825916825240599602898503549378694469984078995875781985491726077353631749298140419123615130150163086094246171927423912380985113877084914313148514475979047274171370610800120733270793624315050676763127191163742790417120829960896354464155891820153601289924275380959355613792956407309430313247155048841494468625411866345225754944136774054615408427020544320128360142523552074870024774134537403629361312060105645493255620342918785246375634636462142313486894437646826088286346030864768746614806381322006060793512715921834034365644236943659631930391342923349935404520903238788985916215009299098195170729123338149329330437261646115392807832892655622284805865224105543423793011662465487421780452244278816386211194454954140501560647616813713559827999646616353406786707675511947588577249152714892843253630104280165156178630418331745772666519023498424625237121798125266354670252042989440650455573950014481287023717853431854928887154231301054525057230718066947206430288147021020229159481721288501349385872561352315566493839122087402661665075952182743277379519799566607144502349149695891660836204487880711491394798168373623393293672719207356476875193191550171777784299721851517507479053259190430391012529022742778854204530980169899043475001634290205253664063344465795217922336935170536340288365385505516114451123261171864756168683050912297440631479682079547021706995490039052419907407001277804900283739652459340618282698059526741204946135229718607775861703863168516948866509142403599427255288390719827974669094494390058640478654010615745789017240254193055401026715760108514723128200008540596045341039788353840240732700481791405284386036859583617451921148193617699476185593494272597977067335349493741800717314848747885574651941392148854588635459087060715406290907989503409567631455483411253412684868338736383507646050856196935727658417307038073006952415162456105540134893723496772774394988488002916496565642539316868265005268094224970250191082239881266305111785884775267546385602554487028187830884214431595937998952523361100820728146664724150369418537858068629932691951625320564909862386784365027149965783557709367241670351716876463149599020417140315496552055171673888784209482935601295162105612973314318088587275631748892425771951414545682497598752730212592041150119209695111526673977173331295067976655106970758187076481217325028081040077730274685386913867769840710356133121884185576047798043943869652586850288154620057742012129633399592253618101591279179327907715192592800695050507140952070427567239009432840739422524350684937200564220182593221173789728236792955882677686668078859098273510983833747087255433473922822704432736407694879069919829999126106607784934654938074775813232281466608661883297763025304706896993253871422040057380313592675636917447581167844362710887383663149588772573210415960878280754081644385808492829977662859618684619981700231885151495730674886855942294175832316069035999385780438330954731943234425068906302765567019268077786519726648382951996 11233040458292339333144365324857951052824170603039291511144744560997564242521186641941180245452247243352530126458826762701194516486683194610081430234928925737648671405305837541523078257160589432919797686373807688774308563677281750942591657794219340119457536260148632062847128757489550568273601119049189617857060831218224663851339194640233799103816174815520043574097914748038703616170672055525330833755578670623483803686885445208437736749050204935600238163935744995579238303926678435986164274986001958889268358468306035507161674217564696678404277358953932162954890632954019556877001092630462451140196074408384031792347875444387025889838158991147208622166314120699641636927939229209635023717973154781035343709602614705516170225119437274808978344476439811155189380162162203123011294451334498535781610232394946911172913085554846883760566206796529089241798200319591232627983775177407083854845514135335285429628438478421827748276265453591283895016789416012240134419993726070601923512848535317238139527961472335982126250993662160693313038915880691845544641396727722411189321686017050251881485691677287509584867622587771086664846319079446157048145630277153609347595748413316268587768597758878954076622822761020568905493237954424076363480405730779934197911111444337388260951733838347181819180389075529090761798849334769053031078771863171382436445796190268725770239780052330919028103740826524211515388936566007197496738928942743715550272728347591744510597858922019682944087557220458723191907617582265343601916340192326140653545870053142830810831812394663909530281391444417092326329150011655329230352917645182061026929569714220485611998212245083657523351906395656229786832651805923108208682173042083497660722891548709589119732076375936232314722154678181126969966794760619419719451216662122544098451601185947528770262412862925765132618276943250649509997852881737239268255967842706732695619485807918598190856942722893312605132463898948590398339514485700826801201861497389776289943600928833838065417570449672222636215277134429811945730992935776424951396243271089382616368733375847510413646066299299180640738507951943060442226690611582001371262519383749295136202432875294479403144553464443645181284213599946838809700992344504124324917542802672687142375956111328860097608355644090526501189313881655816443095130947133786100473123877112803747194611305987125940561856337115806992253019734483349403623733688985451151227293738993616726992794519806131987575437267402113895383132212959543254742174636923371433067096446019236544311183979139977049442922486453025765020119742356259665454669990222760671335724879838864389967776798130371487008119014708908278848929118817680302179965685676578162555443305507682661503559585634943343693003036092823277010415607785657001110472126331961968592184218838794719743623061582045059845817570207001922759695483473829526186720950723810479078921514575606553653643587452566542385701004274554149804828751141788582326692591529603350774526257032695263883397551271438709130930165621559571954147344481989738386323661399773626160061014069219034685931287146624646335191755253173038892842747378364083758824834347459513284466221839266950450928609705706821796247634826245379406974187860308899468833699431665028768501775680208901440531967457469427438605983660006471130156147033816154843571604982250557950607487033326547062886822723217087352902012486709090073766560323503590902354691599303847617887122504838670786601659752153189928616032859340096745147754317404986660167989076001259648091997092578058309465604671767079602327789729746495326568189560990758194973365727219271536129424849509951100169502253070223360977802534263722969624570993135967847719948488311462122391146355457303120936367190420235275828525062211772054876434756166735667799193049977032186198504911623234080398553078217587282993396196713452089836492671976124743488710660131429030259716310043099730203700617306613753289592187700416195186290328435091112409037536396124146498777478511369858924822009452365336727405750555734243 18175441258519700650403954337764707792918482365262567798933265779076492783553650864027545646908506391076796683182262377914183838042197004552367905429590603962718763572627349578557566186527423039866219956504064497433169879484411097954290577207966822562977204709384415563718234152265989187921041780234525582982402962152992940022334892431003390643043576736837290977738225610825571888476055557609542104883246204451859853919138192941149788768947798658395545258506624162006350826580941711509486002930754710161128681278286109077984684730703823492503911512240326664902291974452621224029726489844865790358614791786811196414640373721050669732167770085632002567645216299911960092366303583030747904768783903352963962416908609390645588878066480999636595931549202920343846170127110148064983409438902881149903294350849430315166625910282237621443536154928188308440066485416561542793102926679731520103617418296473291858137449626611765999711004262111027570327064798078635189575568280478419920978954742585851226296701067304193883653044378826095194802741797517086144244295231271789883791670096046127663471183403364863216616920728190210279976469242532251294317557701065990332709625498230581736283073737926228247993433561141302176286862269474753126607596894522724615031941405233742725107625658500783109104664456488446375591805742078483344325926912012876905071208056613951525183916826385534436530761370844339875531460118082067521513063480147344911584788453237237766218201840804929319722193682601036678802055229091431888262371057094887268352251375148891604344528316497943895925628388076724256720492935005264634873820883971046943144579013318680782727335583232986853789168041771622594665544461545393014547397147626921453734554014197010900184320654752618525916609632321628530614411574332979547450863278475950885159276697895117347511565577818608386248381223415805688628271213483011934774991341131357932741283933184952861108985712333963060706413913429877422057367917555755688356092798444301347174318995781044495705717470692451795696998422931161331603554288091991445235365358492044281444685558590787793165865865906325143087657647834721278431178492293492766060687757372688429875152082650956278337745014615422965583935451464346288754251534934515337446565545451541346906936281227903572609989934295780165252658347451034365432066117670126388838509382628918198317872477851882109244907249413247623732701814030371110619223728037871058634295016798517010732446979146750270273496794143318841518361931567319116446037805440320299576238849618663799599574698967951718537416876511666243674130358102048682694924183278161698051484988353587518167785338726416828047907368549149011549410910222964688216825269294030083703636923207158847097053858232920411028352529834623994325264355671231653051864275186550604051271279554201010651612564991612691301300981460414607628034219857337172237577147659538137496228552648613506068806043558106677279424501047328544793316754058285147969231908397868356042620482002945454965637432537743820916814940889105957556701831510177569270538092995711625112584375170039762832596011296994064873049823883105730844468067943273946145609199374609479068023931206508620802645486168856420816664775141741931462145861749093108951769300726827134381475089998297488716163716349895199390020529342504069882886359625857304962781300093777231927780818328394523717993793481404163834119337514790130151496835008890504770124532309659980739771308080886468830545529404740040216770652917082108874781153909658604761759268255329167363284589893273108816606556742194646841337222570485917850918874498191322415155958948393061264366217805392628786837581112168496871961636281350978403098493815840400584127643367381381952390272462065088055591305265196048508109991670873655352639460060873632661053064472017089566512097587260151527979720922580298170377059346302224663046908632854405497570355045939921860237379169661784350185400849191765249020267074556358489362122644504127111794817974727078878442011903580276161690389028720443123247132398938686239 29408481716812039983548319662622658845742652968301859310078010340074057026074837505968725892360753634429326809641089140615378354528880199162449335664519529700367434977933187120080644443688012472786017642877872186207478443161692848896882235002186162682434740969533047626565362909755539756194642899283715200839463793371217603873674087071237189746859751552357334551836140358864275504646727613134872938638824875075343657606023638149587525517998003593995783422442369157585589130507620147495650277916756669050397039746592144585146358948268520170908188871194258827857182607406640780906727582475328241498810866195195228206988249165437695622005929076779211189811530420611601729294242812240382928486757058133999306126511224096161759103185918274445574276025642731499035550289272351187994703890237379685684904583244377226339538995837084505204102361724717397681864685736152775421086701857138603958462932431808577287765888105033593747987269715702311465343854214090875323995562006549021844491803277903089365824662539640176009904038040986788507841657678208931688885691958994201073113356113096379544956875080652372801484543315961296944822788321978408342463187978219599680305373911546850324051671496805182324616256322161871081780100223898829490088002625302658812943052849571130986059359496847964928285053532017537137390655076847536375404698775184259341517004246882677295423696878716453464634502197368551390920396684089265018251992422891060461857516800828982276816060762824612263809750903059759870709672811356775490178711249421027921898121428291722415176340711161853426207019832493816583049642946660593865226738529153107970074148727539166394725547828316644377141074437427852381498196267468501223229570189710419114457445562906600019916397030688850840638764310502755500581206334952399266902079940598494983610877883842646117773978440744373518866658166666455198626124095220251203030959183838090628360769741103551051965928435227275665838877812378467820396882403256582489557954295834077637117919924614882561123287920364674431912275557360973277334547223868416396631608629581426897813418934438298206811932165205505783826165599777781720657869103875494137323207141121983566077584957945435681482298479059068146868149051411185098455243879438639662364108348124228489282892392556763670218345578386306666441972229106850808527197064803912489311633259741721945512483783839008049806763586529054615985721548513720514242957417023322209861588755792133737725241498952882257848934061545432736901494144526862371188212442363691732643335295637900343910758678107928767980339362964692008694250100458308348149594173500922369387209868192451908135562136856788315056026383258057290398340029040644990396790954970608246259080228714841508600613443867863754721355565927447271335679963456888654162336401518512572643455498392995730395235626573657751147118551667416530387729703331166698424298098383348616575150067224220059722449631010673219665125505321882694598145505200073730295924499927471706817146739035640718849034983809182530047745106510665529510849175992167307656861754395485251272645389239258797518527298443618711208241579136278769737310815321638029904434033722068992352490153045775571253574095874563242612912409967987310869120049609402008420603000158492163149976865678506390156695683807364626828626513002510541013042506659673459806352905076027789878388305361721070780880616204621251187021350001499220225263395332394095672479223908963828357658430585725139617147189156893230145386685776422205619928908227063591421927257331330427011376586985851167126072161413961726443665012300232413177487064059182080610129324675612332800495642654902579887007083365238720232939438815614701372723064808976368431847591855692844074781418817522391176527672455616283783938516733085427407515894817040368328852257521994121752710602498883385608378274000797885453370455543015676752883401304830530241059065706071350890497095479704884080389101466498379002309859262256774684548412972939218224203855511123203024940789382091646020615211038172808459974538149494420482 47583922975331740633952274000387366638661135333564427109011276119150549809628488369996271539269260025506123492823351518529562192571077203714817241094110133663086198550560536698638210630215435512652237599381936683640648322646103946851172812210152985245411945678917463190283597062021528944115684679518240783821866755524210543896008979502240580389903328289194625529574365969689847393122783170744415043522071079527203511525161831090737314286945802252391328680948993319591939957088561859005136280847511379211525721024878253663131043678972343663412100383434585492759474581859262004936454072320194031857425657982006424621628622886488365354173699162411213757456746720523561821660546395271130833255540961486963268543419833486807347981252399274082170207574845651842881720416382499252978113329140260835588198934093807541506164906119322126647638516652905706121931171152714318214189628536870124062080350728281869145903337731645359747698273977813339035670919012169510513571130287027441765470758020488940592121363606944369893557082419812883702644399475726017833129987190265990956905026209142507208428058484017236018101464044151507224799257564510659636780745679285590013014999409777432060334745234731410572609689883303173258066962493373582616695599519825383427974994254804873711166985155348748037389717988505983512982460818926019719730625687197136246588212303496628820607613705101987901165263568212891266451856802171332539765055903038405373442305254066220043034262603629541583531944585660796549511728040448207378441082306515915190250372803440614019520869027659797322132648220570540839770135881665858500100559413124154913218727740857847177452883411549631230930242479199474976163740729013894237776967337337340568191999577103610920100717685441469366555373942824384031195617909285378814352943219074445868770154581737763465285544018562981905115039390082260887254395308703263137805950524969448561102053674288503913074914147561238726545291725808345242454250320812338177914047094278378984292238920395927056829005391057126227609273980292134608938101511960407841866973988073471179258104493029085999977798031111830926913823247612502999089047596168986903383894898494671995952737040596391959820043493674491112452084502875531387209495414373154999810673893575769836189828673784667242828335512682086831694630576557885173959263182474038878150142642370640143830356261690890159051670835942302239718423362544091624862181145061193268495883772590650748457688478099632528122430855688751578419856076094181487634250247804012032219574145256564143510333377075880486517756239476358252368380458560357030844518356779084067438694856546039426303347475583205143103933751807206301947750939263609678613616224264638329962717151922000355697667302100784165749708095762071265660944319128120307214200676705063176694726777947196741046848191565270442448419533127831138015763923188503870661875246042886754071378619872833565791255674568779896944550006369211239391462259258358878265156408325340062859767221038586173814672416346926350964560047399771487067551007502344876927399847391196876385229764409298560351123309740612776081291403019384500581778883264911976050043233096678471420514084252284192056219582043419663429577185109729242331265911358495117372372300885319297531451955676803878872859400157259826218647042345014610895928866285530764769134205169805021806169123690115594498874409686025415021140687516289350376760230341284600442603756218623809097429738666611608447692718561633270362157338693504314494710062136722196183686525586659594374661176879124275942678718156156373285002234870718331028405938557373403025285283624005394064861860460295208673844664477407217104901075096965679775821558624816769015975235223074226027171691279587479232118977720812332292048508403959082760155354877914000989905321994011211319222700086143537136357994923378183623747514889317901415930309937684935738629420752011272750734474649366668430574502315690144251330126336813133173910535617443345335998673485850281903382801285671922182305600066893251583221670548433106721 76992404692143780617500593663010025484403788301866286419089286459224606835703325875964997431630013659935450302464440659144940547099957402877266576758629663363453633528493723818718855073903447985438255242259808869848126765807796795748055047212339147927846686648450510816848959971777068700310327578801955984661330548895428147769683066573477770136763079841551960081410506328554122897769510783879287982160895954602547169131185469240324839804943805846387112103391362477177529087596182006500786558764268048261922760771470398248277402627240863834320289254628844320616657189265902785843181654795522273356236524177201652828616872051926060976179628239190424947268277141135163550954789207511513761742298019620962574669931057582969107084438317548527744483600488383341917270705654850440972817219377640521273103517338184767845703901956406631851740878377623103803795856888867093635276330394008728020543283160090446433669225836678953495685543693515650501014773226260385837566692293576463609962561298392029957946026146584545903461120460799672210486057153934949522015679149260192030018382322238886753384933564669608819586007360112804169622045886489067979243933657505189693320373321324282384386416731536592897225946205465044339847062717272412106783602145128042240918047104376004697226344652196712965674771520523520650373115895773556095135324462381395588105216550379306116031310583818441365799765765581442657372253486260597558017048325929465835299822054895202319850323366454153847341695488720556420221400851804982868619793555936943112148494231732336434697209738821650748339668053064357422819778828326452365327297942277262883292876468397013572178431239866275608071316916627327357661936996482395461006537527047759682649445140010210940017114716130320207194138253327139531776824244237778081255023159672940852381032465580409583059522459307355423981697556748716085880519403923514340836909708807539189462823415392054965040842582788514392384169538186813062851132724068920667472001390112456621410158845010809617952293311421800659521549537653107886272648735828824238498582617654898077071523427467384206789730196317336710739988847390284719746916700044481040707102039616655562030321998541827641302341972733559259320233554286716485664739293811794662174782241699998325472721066341430913046681091068393498136602805664735982486460247277951367461775902112362089342840045529898208858434422471356855704144911057812139105138562084515478357472528382784486182929977052514785971364917234184315321350220621043858822462690167703764862909440894464487421092055183809254498095602441050261062630559018665378994112530280006436825904724738491334438909612439993458159960135065263592346090968304254669010407179235246576221797380636841864298280745968647920471063661689518536996624282585008961376537078223575749338182276340192471442083818138928193595538084795247668403493626519670569086173344426235370646528687097053625513705305579453116609675511691093933989607764458432608561080908252811769676913960074226892663707400156108881012305153910437016578400183494512184584261601786682127657875153648557357869650608184231487289532982155663270319089698586550005954477266818747463773004237298059763309793677917982906042489595077716553200385960967897125792975301043811460681428821355310269029555083964624453047273555347525151908971372945204224575487110245832811684557429051836665279755025890646666208162037517788570602023625673678696115082980127587637455088169252336748064839907718526500507544024469926520114638970363785787605613782917990021386037763864975443068750879570118099728667247170950744205893002616555483635414608299617726865357503115197788560851747842645937337840513912580381148544623433793137447822827078767070101953110097109870408646650176428616075987025137044510167671249694954369318757579516005333071933302585026922744736268924176069077117970432333578168813711242515465979688486458082623641231570129071552510963603782188523253639985599069907858458948590382563560202528996973484928323590667763568202920811105066060043196208697927527203 124576327667475521251452867663397392123064923635430713528100562578375156645331814245961268970899273685441573795287792177674502739671034606592083817852739797026539832079054260517357065704118883498090492841641745553488775088453900742599227859422492133173258632327367974007132557033798597644426012258320196768483197304419638691665692046075718350526666408130746585610984872298243970290892293954623703025682967034129750680656347300331062154091889608098778440784340355796769469044684743865505922839611779427473448481796348651911408446306213207497732389638063429813376131771125164790779635727115716305213662182159208077450245494938414426330353327401601638704725023861658725372615335602782644594997838981107925843213350891069776455065690716822609914691175334035184798991122037349693950930548517901356861302451431992309351868808075728758499379395030528809925727028041581411849465958930878852082623633888372315579572563568324313243383817671328989536685692238429896351137822580603905375433319318880970550067389753528915797018202880612555913130456629660967355145666339526182986923408531381393961812992048686844837687471404264311394421303450999727616024679336790779706335372731101714444721161966268003469835636088768217597914025210645994723479201664953425668893041359180878408393329807545461003064489509029504163355576714699575814865950149578531834693428853875934936638924288920429266965029333794333923824110288431930097782104228967871208742127308961422362884585970083695430873640074381352969733128892253190247060875862452858302398867035172950454218078766481448070472316273634898262589914709992310865427857355401417796511604209254860749631314651415906839001559395826802333825677725496289698783504864385100250841444717113821860117832401571789573749512196151523562972442153523156895607966378747386721151187047318173048345066477870337329096736946830976973134914712626777478642860233776987750564877089680558878115756730349753118929461263995158305305383044881258845386048484390835605702397765406736674781298702478926887130823517945242495210750247789232080365556605728369256329627920496470206767528227429167637653812095002787718835964296213467944090996938111327557983059039138219601122385466408050371772318057162247872874234708184949661985456135275768161662549740126098155875016603750480329831233382222621156445723429751990245611918544483002233173196307220788367910105258413659095422568273601903763967319707145708746853356300973435234640618455152147314093795772922935893741206296715225346456712937971715797082483586151028630931425432259689741015851841917408513431011017579022409838630887059090504264599581284530760742257088023198601263893886872469894293841907567864347624023403499884906184514532558842219995948048069432086220771757451589802657568601713129268590737754928638926032909054287389212488932009704198636043957617923078806419257549708174439748048590469122124717907306969887191304960980148233013554225518060305173381070023716791486826237316578151832536681181112813066478379816503035231976865201310208503645951190996857061511661449177879004043104918057855918220773917924844263370824385175047770900868581851461982004520499915425935193518321550343955366013259961402569472066780187445795531651872326392243165347601929130758212880777032114147902414484121884279265920597692539762804900239230734989344621315415637833490726552741952259778629435576672081229302725034077920978783856014963296557686736346211446552517907918948356512532626280159770869701363163430834609349032500507983789300308504649615760698940744099719011429597726274473013669482041669075234298941173928886660699891923623120930219363575492997234696412320053154442741589009546060924366182058609906463798062301841296129124801376697349640765627897240948368035533541003592927826604572868370308662901510016544391156002671170459881094263847554252700865485321651479584744021180200401718317907210093896391966044778438220941538106097878667504970111935883041032369484207825908896201202482823766831706391953435490385226411171959311626417879246360633924 201568732359619301868953461326407417607468711937296999947189849037599763481035140121926266402529287345377024097752232836819443286770992009469350394611369460389993465607547984336075920778022331483528748083901554423336901854261697538347282906634831281101105318975818484823981517005575666344736339837122152753144527853315066839435375112649196120663429487972298545692395378626798093188661804738502991007843862988732297849787532769571386993896833413945165552887731718273946998132280925872006709398376047475735371242567819050159685848933454071332052678892692274133992788960391067576622817381911238578569898706336409730278862366990340487306532955640792063651993301002793888923570124810294158356740137000728888417883281948652745562150129034371137659174775822418526716261827692200134923747767895541878134405968770177077197572710032135390351120273408151913729522884930448505484742289324887580103166917048462762013241789405003266739069361364844640037700465464690282188704514874180368985395880617273000508013415900113461700479323341412228123616513783595916877161345488786375016941790853620280715197925613356453657273478764377115564043349337488795595268612994295969399655746052425996829107578697804596367061582294233261937761087927918406830262803810081467909811088463556883105619674459742173968739261029553024813728692610473131910001274611959927422798645404255241052670234872738870632764795099375776581196363774692527655799152554897337044041949363856624682734909336537849278215335563101909389954529744058173115680669418389801414547361266905286888915288505303098818811984326699255685409693538318763230755155297678680679804480677651874321809745891282182447072876312454129691487614721978685159790042391432859933490889857124032800134947117702109780943650449478663094749266397760934976862989538420327573532219512898582631404588937177692753078434503579693059015434116550291819479769942584526940027700505072613843156599313138267511313630802181971368156515768950179512858049874503292227112556610417546292733592013900727546652373055598350381483398983618056318864139223383267333401151347963854413557258423746504348393800942393072438582880996257948984798098977727983120013381037680047242424727439141609631092551611448964358538974001996744324160238376975766487135270806467529068921697694818873827967836187887357138932183677029941613073694446595364322516036352750686576768539680885015951126713184659715903072458269230224225210828829356219720823548432204662100065160690157120209062556517336269205279175628139419561945393027045493118352517487443498995513947444358458774493641576597687788832743417339096941090504306023022095181166700463192059423854021937733486639932875872119016634430582735131482406311913195684084294228794038080006691835419141108339654192884298138229967274833152214675371091330627581683931015827843126829639495702718326474822751176227845008834221934895357495364435994066940816818666285727686130163901029751399107370677788175224095387318224830963602213595141187039959142087216659144112989170355220645520224351374491369246095923050964561131700980071706413276090424526109075750660357367330711041219958280438011987958997766734173398966522558848403718675806937879385475514556375265162348732037833294289368958322902972942218894309598387424416931969568086508732313194153040064914713871612175939213920108425661470645175283981793788925058384461467318747437464762551866491580807481688641992672769716473799084007606077171285104577372533998686271377245387633357354723988002864293771394914091422639637146736704609075162080180477296392572742336729212619819440191943790484370296114500223240847795576866690690785795548160162699091780582102922126442072910805492403043911620889380608366231077911473807220049412278073669564444022558678048103095497854267822739627420481026021877463089305256197382625830532771730321777983455753985057753557732422715867698006393668176520033197614907509773452501709880067190758610097534952948890828432798208472456403731479797251760029982621199058588147222277025371669614087944288161127 326145060027094823120406328989804809730533635572727713475290411615974920126366954367887535373428561030818597893040025014493946026442026616061434212464109257416533297686602244853432986482141214981619240925543299976825676942715598280946510766057323414274363951303186458831114074039374263989162352095442349521627725157734705531101067158724914471190095896103045131303380250925042063479554098693126694033526830022862048530443880069902449147988723022043943993672072074070716467176965669737512632237987826903208819724364167702071094295239667278829785068530755703947368920731516232367402453109026954883783560888495617807729107861928754913636886283042393702356718324864452614296185460413076802951737975981836814261096632839722522017215819751193747573865951156453711515252949729549828874678316413443234995708420202169386549441518107864148850499668438680723655249912972029917334208248255766432185790550936835077592814352973327579982453179036173629574386157703120178539842337454784274360829199936153971058080805653642377497497526222024784036746970413256884232307011828312558003865199385001674677010917662043298494960950168641426958464652788488523211293292331086749105991118783527711273828740664072599836897218383001479535675113138564401553742005475034893578704129822737761514013004267287634971803750538582528977084269325172707724867224761538459257492074258131175989309159161659299899729824433170110505020474063124457753581256783865208252784076672818047045619495306621544709088975637483262359687658636311363362741545280842659716946228302078237343133367271784546889284300600334153947999608248311074096183012653080098476316084886906735071441060542698089286074435708280932025313292447474974858573547255817960184332334574237854660252779519273899354693162645630186657721708551284091872470955917167714294683406560216755679749655415048030082175171450410670032150348829177069298122630176361514690592577594753172721272356043488020630243092066177129673461898813831438358244098358894127832814954375824282967514890716379654433783196573543592876694149231407288399229695829111636589730779268460324620324786651175671986047613037395860157418845292471416928889095915839310677996440076818266843547112905549660002864869668611212231413208710181693986145694512251534648797820546593627224796714298569354157799069570109978295377907106781931858685612991078366555689232659971474944678644939298675046549281458261619667039777976375932972064185130329654955464166887356809414158956463080056102803762814051494551735888566111135359027876613196521749283942919703188736529799286275867287924652594176710198671374304398187445355103887307552855923423788486390660687747908810203380933774783439983364258453986235016388590826445754526304290176842107512092912607176592698142311761486011267498558012588080853601404000384914970896419947837547325465683453320641405281242008725936019448582270525364479620082343301036828008123627265875919143718126547811704280751747811892015582213555541409115434750276322299853025620467033162179344966035556530854023870302565488226307607584500142440135744084989764269194311198444033920014031181752505758812120826862289473969963518266649599334160040880398747674041820197840788044986623155452608144263689705620681612123670504902072977107190375419538564834384052208393011579114750732604677518771851406674203264729741077108478666010534535741184837013897043990828666767487585944412559591337703605289230456452820010530560123985090233461089905160278846042246946750796788189333337035364801755184214399927289252907435645353174881091610075022667045756006211254288894674490884964413256956814392146863968725796230266183783030244572482752246223323691931672502997276987551012950375418951682449662360202712850504569690177905970910512812058092219051696023324458840691109936083382536038421854245307927367842506924796619284574478848941075636537338301753602916269416324300878270416425163659685947994394039815977945858263580209470835989923197917006034381352604933962621018591736374574634548973373633448984683296031967190648795051 527713792386714124989359790316212227338002347510024713422480260653574683607402094489813801775957848376195621990792257851313389313213018625530784607075478717806526763294150229189508907260163546465147989009444854400162578796977295819293793672692154695375469270279004943655095591044949930333898691932564502274772253011049772370536442271374110591853525384075343676995775629551840156668215903431629685041370693011594346380231412839473836141885556435989109546559803792344663465309246595609519341636363874378944190966931986752230780144173121350161837747423447978081361709691907299944025270490938193462353459594832027538007970228919095400943419238683185766008711625867246503219755585223370961308478112982565702678979914788375267579365948785564885233040726978872238231514777421749963798426084308985113130114388972346463747014228139999539201619941846832637384772797902478422818950537580654012288957467985297839606056142378330846721522540401018269612086623167810460728546852328964643346225080553426971566094221553755839197976849563437012160363484196852801109468357317098933020806990238621955392208843275399752152234428933018542522508002125977318806561905325382718505646864835953708102936319361877196203958800677234741473436201066482808384004809285116361488515218286294644619632678727029808940543011568135553790812961935645839634868499373498386680290719662386417041979394034398170532494619532545887086216837837816985409380409338762545296826026036674671728354404643159393987304311200585171749642188380369536478422214699232461131493589568983524232048655777087645708096284927033409633409301786629837326938167950758779156120565564558609393250806433980271733147312020735061716800907169453660018363589647250820117823224431361887460387726636976009135636813095108849752470974949045026849333945455588041868215626073115338311154244352225722835253605953990363091165782945727361117602400118946041630620278099825786564428955356626288141556722868359101041618414582781617871102148233397420059927510986241829260248482730280381980435569629141943258177548215025344718093835052494903923131930616424179033882045074922176334441413979788932596001726288729365913687194893567293798009821114498314085971840344691269633957421280060176589952182712178438310305932889227301135933091353061156293718411993388227985766905757997335434310090783811873471759307437673730878205269012722161521447184620183690997675994642921335570112236245606157197275013959685874676287715319561471514224117153237176311866319331387763757015064194250554920973269640242014867636460407146687732043746730634326062418294170774397987504117721737284386445608193330574951104590488949582720111601930747936867573707659312102380892884568970147870997138358950210388584405636145592099604442595733806481965954370309405728525287421233068276775091715542552580350963665390452295322949023359731756064759902163864457416492460259837115446779295103768824942293551603605273882027577563103388122425600067239677600873766240079036963871463486892984762554249821323457955205911751499544094653939979595553703507551107001267445065061470682470401622970142995764691539119836469853340785142727485957922516033383772733126563439247151392717627135720173520501179530717770492995727538914970981081993407875015196001499973806962981766353620294901743892308903772669592232643463582613417184838166738579123841294516329530109895398358511309576104232250137810904140398819392247281903226169293809614567730062261518565667277694277532313624192138430145544057325038229095526579128491349928890054172349962250043171790552319059618498342940466908714114682828754897627252928892370104816521373096956874568825792732645451338003905794853798945070187793043415994287039841063058028591280624324311789739590184044580077256080650897099799118822313108513849563503863562060299317334613183565225132755329391014896256832396829621595091859486025632137114330694546446936458361274593457767846541525858013049022190307005788938814026349804242853809008665442418270351766357195833607561520855726010054965646055134936956178 853858852413808948109766119306017037068535983082752426897770672269549603733769048857701337149386409407014219883832282865807335339655045241592218819539587975223060060980752474042941893742304761446767229934988154376988255739692894100240304438749478109649833221582191402486209665084324194323061044028006851796399978168784477901637509430099025063043621280178388808299155880476882220147770002124756379074897523034456394910675292909376285289874279458033053540231875866415379932486212265347031973874351701282153010691296154454301874439412788628991622815954203682028730630423423532311427723599965148346137020483327645345737078090847850314580305521725579468365429950731699117515941045636447764260216088964402516940076547628097789596581768536758632806906678135325949746767727151299792673104400722428348125822809174515850296455746247863688052119610285513361040022710874508340153158785836420444474748018922132917198870495351658426703975719437191899186472780870930639268389189783748917707054280489580942624175027207398216695474375785461796197110454610109685341775369145411491024672189623623630069219760937443050647195379101659969480972654914465842017855197656469467611637983619481419376765060025949796040856019060236221009111314205047209937746814760151255067219348109032406133645682994317443912346762106718082767897231260818547359735724135036845937782793920517593031288553196057470432224443965715997591237311900941443162961666122627753549610102709492718773973899949780938696393286838068434109329847016680899841163759980075120848439817871061761575182023048872192597380585527367563581408910034940911423121180603838877632436650451465344464691866976678361019221747729015993742114199616928634876937136903068780302155559005599742120640506156249908490329975740739036410192683500329118721804901372755756162899032633332093990903899767273752917428777404401033123316131774904430415725030295307556321212855694578959285701311400114308771799814934536230715080313396613056229346246592291547892742465362066112227763373446660036414218766202685536134871697446432633117323530881606540512862709884884503654206831726097848320489027017184792753420571581200782842576290809406604476006261191316580929518953250240929636822290948671388821365391422360132296451627401478835784730911899654783518515126291957582143565975328107313729687997890593805330444920428752097433894501672693636466125829559482366044225276101182955237152014221982090169339199090015529631751882206918280928383073616317232414670082145439258308750952760361690280001146253438536616920403326849876468573546016910193350342946764951108186175492026135471831800712080638127807028014277435973380799349839558140248507482442752085745151338555205164259587964804704736692874582478253104192517049772326504624277715856320673227083300009313921878179092100457523476770911502937777761006402344001137037306768628099883905998762985624316735529122596140596833065920817479524417600154125374807668874173411959255259814429307649194471714147785786746010383021282983502802921241468282353567964956505467821861311092051249441403189150051234951664712821414176915778722720872342228665461612005016959927886034300033372067286604319645899066759447333560961565487802686170378637259417244535652593205663912777088173108690349226501546600737672503294755471423654505274269751415314989287620449567907815687602507305050865271294732412255555300404770999737723755316699990157095852571133682622113820145127854047351752026757182854556378355871138889226933733390662073593897281763342891277218142961607995315424924263400627341726664254349151721197608789173713719310884209743284516968785247169327223058351856037305128203584227229486785471448067464780594428944662458792745507690951483337174816359429768090015490590068138743116151495142146771949204959499587246098098721171579921110933067639680126010299470735681337905258132430161239628548406530654995424717352883524934279405762240581341835958907285770516476624928737224266810277235161613599405039288943502731770468156534894489174994738261678022325585751229 1381572644800523073099125909622229264406538330592777140320250932923124287341171143347515138925344257783209841874624540717120724652868063867123003426615066693029586824274902703232450801002468307911915218944433008777150834536670189919534098111441632805025302491861196346141305256129274124656959735960571354071172231179834250272173951701473135654897146664253732485294931510028722376815985905556386064116268216046050741290906705748850121431759835894022163086791679658760043397795458860956551315510715575661097201658228141206532654583585909979153460563377651660110092340115330832255452994090903341808490480078159672883745048319766945715523724760408765234374141576598945620735696630859818725568694201946968219619056462416473057175947717322323518039947405114198187978282504573049756471530485031413461255937198146862314043469974387863227253739552132345998424795508776986762972109323417074456763705486907430756804926637729989273425498259838210168798559404038741099996936042112713561053279361043007914190269248761154055893451225348898808357473938806962486451243726462510424045479179862245585461428604212842802799429808034678512003480657040443160824417102981852186117284848455435127479701379387826992244814819737470962482547515271530018321751624045267616555734566395327050753278361721347252852889773674853636558710193196464386994604223508535232618073513582904010073267947230455640964719063498261884677454149738758428572342075461390298846436128746167390502328304592940332683697598038653605858972035397050436319585974679307581979933407440045285807230678825959838305476870454400973214818211821570748750059348554597656788557216016023953857942673410658632752369059749751055458915106786382294895300726550319600419978783436961629581028232793225917625966788835847886162663658449374145571138846828343798031114658706447432302058144119499475752682383358391396214481914720631791533327430414253597951833133794404745850130266756740596913356537802895331756698727979394674100448394825688967952669976348307941488011856176940418394654335831827479393049245661457977835417365934101444435994640501308682688088876801020024654930440996973725349422297869930148756263485702973898274016082305814895015490793594932199270779712228731565411317574134538570606757560290706136920664003252715939812233538285345810129332881086104649163998088674405678802204227866425828312099770685415797987573014179666057041901270744104290807264250467588247366614213049701404308039597526479752442607190769554408726536401476827022065766016954612245200974415893680551484556863733996564200617292747544519412761240935725506173679609747872756218246320273968702758132604766385556100910951770306077116081190102064188126044223124175312130585103163654947081458988114398696292121492368060311106243670226630078955608587430546990154954183816000076057121875168328230056329351367360868793371528530263748363415255445884153850975901891244365658008214369083129691482181702937911056996599012026494937415303073889273508678019249273638995145575532804826260876447380033853112059610445447417415014599602356442670634215112705634135114444384319911543414259992178698518802397147744445885808550333417144800413167758893050459477074469281135085988982216888149130255144783450623574287657320652103369110190323033464528367091292798196499363732558277943861984058778571901037634406074554266726348599567194801404627810614066609980875231987861566220840388976488099853036908791407629759695584109613270592424460548833910669495331027657079277447987111822992808342471382627147033015780345277674967435191179660786282752692092188106322903856542474208511462672176887073601768542424179932920681830037773654922231135281639270393137652573637844938949498633808565719542763961499128149169358274060070667324219394013251294260969085057718809063091109660159020488914534294498292772435455401314366992513734734879727522020725654180543644985689971164289341886208872863530087122867693971956307960823482413867551250616614520088970622264847457559295269088966301764096415344901004793227324077460522707407 2235431497214332021208892028928246301475074313675529567218021605192673891074940192205216476074730667190224061758456823582928059992523109108715222246154654668252646885255655177275392694744773069358682448879421163154139090276363084019774402550191110914675135713443387748627514921213598318980020779988578205867572209348618728173811461131572160717940767944432121293594087390505604596963755907681142443191165739080507136201581998658226406721634115352055216627023555525175423330281671126303583289385067276943250212349524295660834529022998698608145083379331855342138822970538754364566880717690868490154627500561487318229482126410614796030104030282134344702739571527330644738251637676496266489828910290911370736559133010044570846772529485859082150846854083249524137725050231724349549144634885753841809381760007321378164339925720635726915305859162417859359464818219651495103125268109253494901238453505829563674003797133081647700129473979275402067985032184909671739265325231896462478760333641532588856814444275968552272588925601134360604554584393417072171793019095607921915070151369485869215530648365150285853446625187136338481484453311954909002842272300638321653728922832074916546856466439413776788285670838797707183491658829476577228259498438805418871622953914504359456886924044715664696765236535781571719326607424457282934354339947643572078555856307503421603104556500426513111396943507463977882268691461639699871735303741584018052396046231455660109276302204542721271380090884876722039968301882413731336160749734659382702828373225311107047382412701874832030902857455981768536796227121856511660173180529158436534420993866467489298322634540387336993771590807478767049201029306403310929772237863453388380722134342442561371701668738949475826116296764576586922572856341949703264292943748201099554194013691339779526292962043886773228670111160762792429337798046495536221949052460709561154273045989488983705135831578156854905685156352737431562471779041376007730329794641417980515845412441710374053715775229623600454808873102034513015527920943107890610952740896815707984948857350386193186342295708527117872975419468014158518102842869451130931598839776512380502750022343497131475945009746845173128907602003177402954232682965556898702903209187692184972705394915152370723330748664577303392272898856414211962893686086564999484132649148295177925745994272358109434453698843739148423086126546845287246044416264689570337535953412139716933939791479733398033370990264385871641141206483622266280374516969714973935480975562147119088101477267060846440669190838764454712763104187700676614359855101774008228050047032354606830565160619043821529481710301609864217364588672544816273871195561679380476390173067968359683774333570592651800484638542140386815730521386082950752182691887439860912033133275916457599533892786671266007817335753711362005830678297158363632269414018431508470586505024487384962491074135186562654109082335828312718725870772423985750197229732381538467980392167035060385005528596815788329063797688848316206680024566950915239276325691653605884073823365163940585799827265798496827322136980864520927184264009152761405813694584633450516867699772078538949526236521802842096651476784903058527767514562027986276167493321233429191542218880672259966074967828965301491254835156212783218131735474093561188658083973982369954328855904618060072699360222869621910385646231725585321537540379133583952424170591413521449904823438156965022619181643403390289025366469916884013010838649185416890090105814273904365175977388340593099891698591807002512947007041243909303931693030256193519395672415461404042387015711751402991272537867342901858506458364768424741841205117354232273883611957426554073410494247298673944508599126364075561257392358137129402789403115857006923768562678355758257741660494455405431360412115581411613837728195072640137859952181965282728950175640685395881642225411143152269292327704209529930863593731339959038796288474883424797324132235864252496848238771820736769920631309834075999531489002099786108458636 3617004142014855094308017938550475565881612644268306707538272538115798178416111335552731615000074924973433903633081364300048784645391172975838225672769721361282233709530557880507843495747241377270597667823854171931289924813033273939308500661632743719700438205304584094768820177342872443636980515949149559938744440528452978445985412833045296372837914608685853778889018900534326973779741813237528507307433955126557877492488704407076528153393951246077379713815235183935466728077129987260134604895782852604347414007752436867367183606584608587298543942709507002248915310654085196822333711781771831963117980639646991113227174730381741745627755042543109937113713103929590358987334307356085215397604492858338956178189472461043903948477203181405668886801488363722325703332736297399305616165370785255270637697205468240478383395695023590142559598714550205357889613728428481866097377432670569358002158992736994430808723770811636973554972239113612236783591588948412839262261274009176039813613002575596771004713524729706328482376826483259412912058332224034658244262822070432339115630549348114800992076969363128656246054995171016993487933968995352163666689403620173839846207680530351674336167818801603780530485658535178145974206344748107246581250062850686488178688480899686507640202406437011949618126309456425355885317617653747321348944171152107311173929821086325613177824447656968752361662570962239766946145611378458300307645817045408351242482360201827499778630509135661604063788482915375645827273917810781772480335709338690284808306632751152333189643380700791869208334326436169510011045333678082408923239877713034191209551082483513252180577213797995626523959867228518104659944413189693224667538590003707981142113125879523001282696971742701743742263553412434808735520000399077409864082595029443352225128350046226958595020188006272704422793544121183825552279961216168013482379891123814752224879123283388450985961844913595502598512890540326894228477769355402404430243036243669483798082418058681995203787085800540873203527437866340494920970188769348588788158262749809429384851990887501869030384585328137897630349909011132243452265167321061080355103262215354401024038425802946370960500540440105328178381715406134519644000539691437273509966747982891109626058918405086663142982202862649202402231737500316612057684175239405162934853376161603754058094043043525232441271857918814480128027817589391536851680515157158584902567625189418338247831077259877785813597455155426049867742885099093302440282986669586180681949978040799639586034130794843004869808131511999232175865428636402120533534711521880984268293352628575533323293223810207085582621253380170294480669862646880461997239784803555788520758171132014630855792558707050496776760034508447126836765056309580831138300474870407902188087459732457675591014661839594237873665105078722874624049825688627380632829273877392624437480926378629328149082349555645783800564517531250629782867371436012245134645035455427741489070186284334024000674172348593155324674136228350059792084177396362656691340291255962326744457580276646219934941710182816738865551240856699625703066406300505851699503134966867661668112939837431999985713596272123231737465767119946676897769706811436899741780978554081294911329070995293430603334920258099687754198888771061161993719532872133089695718380056924221055204504185254874103988033483688520366521463713446887758380768110072052277207500204929079664519022266578293211606103952224199694861800944541092288286636297239882898448285656531512208993168685870774859133782986663299229759733336097410254596886798667727907135087638291115988784254175582924193219697380675513428689500050064012234342769927870118822561456060362639130037011260173072657768484638135631924716577531142654083664084942064642577625769465418416762149408989699929653184551036812928204720708807375017587474202690936909493820626375367045931567297352025132822414827077223902819901692163441452663839725500039317413102858129099954407534040909703071684727725178977004324716326177246631166043 5852435639229187115516909967478721867356686957943836274756294143308472069491051527757948091074805592163657965391538187882976844637914282084553447918924376029534880594786213057783236190492014446629280116703275335085429015089396357959082903211823854634375573918747971843396335098556470762617001295937727765806316649877071706619796873964617457090778682553117975072483106291039931570743497720918670950498599694207065013694070703065302934875028066598132596340838790709110890058358801113563717894280850129547597626357276732528201712629583307195443627322041362344387738281192839561389214429472640322117745481201134309342709301140996537775731785324677454639853284631260235097238971983852351705226514783769709692737322482505614750721006689040487819733655571613246463428382968021748854760800256539097080019457212789618642723321415659317057865457876968064717354431948079976969222645541924064259240612498566558104812520903893284673684446218389014304768623773858084578527586505905638518573946644108185627819157800698258601071302427617620017466642725641106830037281917678354254185781918833984016522725334513414509692680182307355474972387280950261166508961704258495493575130512605268221192634258215380568816156497332885329465865174224684474840748501656105359801642395404045964527126451152676646383362845237997075211925042111030255703284118795679389729786128589747216282380948083481863758606078426217649214837073018158172042949558629426403638528591657487609054932713678382875443879367792097685795575800224513108641085443998072987636679858062259380572056082575623900111191782417938046807272455534594069096420406871470725630544948951002550503211754185332620295550674707285153860973719593004154439776453457096361864247468322084372984365710692177569858560317989021731308376342348780674157026343230542906419142041386006484887982231893045933092904704883976254890078007711704235431432351833375906497925112772372156121793423070450408283669243277758456700256810731410134760037677661649999643494859769056048919562315424141328012400539900853510448891131877239199740899159565517414333709341273695055372680293855255770605769377025290761555108036772192011953943038727734903774060769300077846905510287285278457085983718583537473876683505248335976413175935675076082331453833557457386473730867439952594675130593914528574951370261804404647067502524456781679804088315401634666894970701657962903214154364434678782896096779846728922438521037329135272187622556993275819184587719541297691008949368721359582814799956384560116162925540187918727687511397855689445538998970276453944938969616337078734893389813295889212318340384983182363888453842854028615064331554990034511845258535191696735868435346482936264910931239100374314630126129299702297261398576648833942567286442392531583320992362310268814221220735648915275124907448510860245691000858790084880454728122846991012902243292308901095023985950866014290640156484742208437909646853359563348508738143859997995331874767836966209469462353319394409006202769164381484388471825076666266472108744347277895967665982909568210818280945440586805734768975981313566187688221721220552887330415453267257513197719600318178535812711915970949511950118074965328388942552023005204665284268839423175909274299787510486453547951667553396678302749223401179009034044983844380125455006965694278353802354039294175384060408803314946803348256353310430752167695439032209295921147243656004701378091618450529569342460423543315830787747355614488720228270861425105299125285482656772988554099930435877384970557026463874750832374793665812176766774580006714186289917054861247302807503099695158375799965926985915465757564723577371935147864818488754075547887282102392706173413486916712540531258558847017166367611002211193182108935668272056873067200799071566346188447821176674503809903445105361013596666618224542042448903880015155447426384656219638443996267060762927573792708495177402114742531286753833683495423503400491460128200383464114737235093993352451255772812730439841605359035013053003856205328277032739624679 9469439781244042209824927906029197433238299602212142982294566681424270247907162863310679706074880517137091869024619552183025629283305455060391673591694097390817114304316770938291079686239255823899877784527129507016718939902429631898391403873456598354076012124052555938165155275899343206253981811886877325745061090405524685065782286797662753463616597161803828851372125191574258544523239534156199457806033649333622891186559407472379463028422017844209976054654025893046356786435931100823852499176632982151945040365029169395568896236167915782742171264750869346636653591846924758211548141254412154080863461840781300455936475871378279521359540367220564576966997735189825456226306291208436920624119276628048648915511954966658654669483892221893488620457059976968789131715704319148160376965627324352350657154418257859121106717110682907200425056591518270075244045676508458835320022974594633617242771491303552535621244674704921647239418457502626541552215362806497417789847779914814558387559646683782398823871325427964929553679254100879430378701057865141488281544739748786593301412468182098817514802303876543165938735177478372468460321249945613330175651107878669333421338193135619895528802077016984349346642155868063475440071518972791721421998564506791847980330876303732472167328857589688596001489154694422431097242659764777577052228289947786700903715949676072829460205395740450616120268649388457416160982684396616472350595375674834754881010951859315108833563222814044479507667850707473331622849718035294881121421153336763272444986490813411713761699463276415769319526108854107556818317789212676478019660284584504916840096031434515802683788967983328246819510541935803258520918132782697379107315043460804343006360594201607374267062682434879313600823871401456540043896342747858084021108938259986258644270391432233443483002419899318637515698249005160080442357968927872248913812242957190658722804236055760607107755267984045910882182133818085350928734580086812539190280713905319483441577277827738044123349401224682201215927977767194005369861320646587788529057422315326843718561332161196924403064879183393668236119286036423005007373204093253092309046300943089304798099195103024217866010827725383785264365433989671993520684044939773249923142683657967191957512751962544049616713070302601797077362331414845187009054437043809810002355900618385433862182358445159899336242559576777383342182182024070319747777295003887507341088662518553610435453634253153604998185174696723740876692253820452885255082943054146296844875518228718367273545528650532450408807101788453177114835044973480855426924524817770196586633737611757897211747066664235700646952808370204806325928397838577197865675131286492053431689410232388945485918688006752794038158611157281069404051498702112414459292837180676716409308195381372950715922110350454483564665963868807755078777948535618393535072566186293719461466877244643618789238834297854221710211370890813978291605515296010240466519803292393950958532539603728433006876941512974639713145961305016326264192921743640552659006274165530537562738525717233025669710686164130305053239462577920178590396821753773109212700854567185840203925651753402949497663714347088560126408319142951881563053975650860075651055278341591781364877022662846827281637669481500866763232933754905542119174539837827368049520734096218396439264912988569820907336289836998951118689159152479097054301915353728056978585591823379609233861482690121609042393851307838688415090071805966197587411921779896655887002385586967389593963725712334649609966157780329111406526507916104124440886803853528975209942590737986274364584220102568839658977262104252885363837364868552766309890657209972511528734869547279351670568269819020089824136095640346825106825513199414710956731285741136208923814217286595091265959312434805290666781217655037470247169612687390173034900587347156547937816893436129973505360005847202534937157358363977736503397115666841944123967925883503432150337952122452405663306853640142913290086760192030008180921654454279370790722 15321875420473229325341837873507919300594986560155979257050860824732742317398214391068627797149686109300749834416157740066002473921219737144945121510618473420351994899102983996074315876731270270529157901230404842102147954991825989857474307085280452988451586042800527781561490374455813968870983107824605091551377740282596391685579160762280210554395279714921803923855231482614190115266737255074870408304633343540687904880630110537682397903450084442342572395492816602157246844794732214387570393457483111699542666722305901923770608865751222978185798586792231691024391873039764319600762570727052476198608943041915609798645777012374817297091325691898019216820282366450060553465278275060788625850634060397758341652834437472273405390490581262381308354112631590215252560098672340897015137765883863449430676611631047477763830038526342224258290514468486334792598477624588435804542668516518697876483383989870110640433765578598206320923864675891640846320839136664581996317434285820453076961506290791968026643029126126223530624981681718499447845343783506248318318826657427140847487194387016082834037527638389957675631415359785727943432708530895874496684612812137164826996468705740888116721436335232364918162798653200948804905936693197476196262747066162897207781973271707778436694455308742365242384851999932419506309167701875807832755512408743466090633502078265820045742586343823932479878874727814675065375819757414774644393544934304261158519539543516802717888495936492427354951547218499571017418425518259807989762506597334836260081666348875671094333755545852039669430717891272045603625590244747270547116080691455975642470640980385518353187000722168660867115061216643088412381891852375701533547091496917900704870608062523691747251428393127056883459384189390478271352272685096638758178135281490529165063412432818239928370984651792364570608602953889136335332435976639576484345244594790566565220729348828132763229548691054496319165851377095843807628991390818222673950318391566969483085072137596794093042911716648823529228328517668047515818752452523826988269956581880844258052270673434891979775745173038649438841888663061713766562481240865445104262989339670824208572159964403102064771521115010662242350349152573209467397367550188109226336318619333043274288966585520001436090443937742554391752492925329373761960424698848214457069858425075167113666270673846794566231213261234740286556336546458749102643874074850616429779609699847688882623076191246429424182772894238021431885641622541812468069882899438706413007801058416637094961056926506221895947806072064907122053804661310559590320314338113659408904974122594940261100200909518264315711284363360239318171186933030273933734110477769428318342620649332763260116044817306455091299557187806115011971337941094643997780285199490945530630528931030288225840829558861314729255666822658892635533506071382609406437315858495194814485452828110657909429395319040062659619858224250377326800343659156008235798394571129360160427994892923122842013079710677356124101617786381682592736301666090918448626672257075098748381019471157819831404479662145443871240927684299140731477727237207040366725898574167504018739738363669373899009613832422053888515350871165957086228338244490283251560329578129102267818424974330400223959940418704902045772266978738749922244629546803521646403323088135512571823325321791884767710684546190309381870856854591511306350223062597384061679963683441830138803203943113664924873181598663453177135318342667391302886537207262553428875556485517403266978934282738798524360798532573994923583293282496110838627176720908390222512750093837681432740384186029554755124734826827830257298985229687041520385438544492074904234908283034196064211099528377867106990503706642558018288934448867686767829798486540207775270002665107771765769769215879910651680377884273262012289618516567405328482326972003376186381813160496892901079152714342379937051899889650731570186892539170242435584096126266967546887573046115804856919079666370582754895445795205083012037126982731312110415401 24791315201717271535166765779537116733833286162368122239345427506157012565305377254379307503224566626437841703440777292249028103204525192205336795102312570811169109203419754934365395562970526094429035685757534349118866894894255621755865710958737051342527598166853083719726645650355157175124964919711482417296438830688121076751361447559942964018011876876725632775227356674188448659789976789231069866110666992874310796067189518010061860931872102286552548450146842495203603631230663315211422892634116093851487707087335071319339505101919138760927969851543101037661045464886689077812310711981464630279472404882696910254582252883753096818450866059118583793787280101639886009691584566269225546474753337025806990568346392438932060059974473484274796974569691567184041691814376660045175514731511187801781333766049305336884936755637025131458715571060004604867842523301096894639862691491113331493726155481173663176055010253303127968163283133394267387873054499471079414107282065735267635349065937475750425466900451554188460178660935819378878224044841371389806600371397175927440788606855198181651552329942266500841570150537264100411893029780841487826860263920015834160417806898876508012250238412249349267509440809069012280346008212170267917684745630669689055762304148011510908861784166332053838386341154626841937406410361640585409807740698691252791537218027941892875202791739564383095999143377203132481536802441811391116744140309979095913400550495376117826722059159306471834459215069207044349041275236295102870883927750671599532526652839689082808095455009128455438750244000126153160443908033959947025135740976040480559310737011820034155870789690151989113934571758578891670902809985158398912654406540378705047876968656725299121518491075561936197060208060791934811396169027844496842199244219750515423707682824250473371853987071691683208124301202894296415774793945567448733259056837747757223943533584883893370337303959038542230048033510913929158557725970905035213140599105472288966526649415424532137166261117873505730444256495435241521188613773170414776799014004196171101770832005596088904178810052222043107078007949098136771569854444958698196572035640613913513370259159506126282637531942736046027614714586562881460918051595127882476259461302991010466246479337482545485707157008045156188829855256744218948969479135892024267072214325693552547528453032291954465567455820811517669898518728482819422391651369854503937120698362366242493058529825499583029180958068934745172762333876362265353324965842492852709852676576645355462234602455156754346356613173853360299168639706284040445747238862931429605491607860206698158311947976182500016358237171730444124497115330868851131599785609055920371774310059565152205601963505313207885337715798963396081375389439796756412239578036671622247039837126411661176556751669211769212820332786527700390612284019918227799972388424681488533946919705355301528218634153337916881330069595141191305091949174452018476264914374421754111386527432526851275019956652190330763814763747686698919000494587834559001285678531240629285943757996875052857074190348309574176294167146877060910068124058960813475938599428734689858943664015422776848507277546769142448641759190308908967791392220141143327211384856470694049183301996993247051241578088186402912535499912493655464363804086641349014452843822231730968262590234780454588618020836027308332989546013743990403404524977951112118658549275265209748037065425803786533915575449971291865550408414473357500473949129042450084762558871104370656572898008451133173970764690354324034989819790412214963068063524761919197722692684575667707104968406132123594783712088932083142662822594555594286695329201702047415763643152581475415881667798196887196814639802282904843395759962067101478786529772281343984193816882394366857035728528314715942347159101928299482536788129254795501517227559350532734319630053933022874584512720189582471989057248014709306690289654837084379708064052150470979037910998238257262582386520010725668185532555397113020218048637185591481206123 40113190622190500860508603653045036034428272722524101496396288330889754882703591645447935300374252735738591537856935032315030577125744929350281916612931044231521104102522738930439711439701796364958193586987939191221014849886081611613340018044017504330979184209653611501288136024810971143995948027536087508847816570970717468436940608322223174572407156591647436699082588156802638775056714044305940274415300336414998700947819628547744258835322186728895120845639659097360850476025395529598993286091599205551030373809640973243110113967670361739113768438335332728685437337926453397413073282708517106478081347924612520053228029896127914115542191751016603010607562468089946563156862841330014172325387397423565332221180829911205465450465054746656105328682323157399294251913049000942190652497395051251212010377680352814648766794163367355717006085528490939660441000925685330444405360007632029370209539471043773816488775831901334289087147809285908234193893636135661410424716351555720712310572228267718452109929577680411990803642617537878326069388624877638124919198054603068288275801242214264485589857580656458517201565897049828355325738311737362323544876732152998987414275604617396128971674747481714185672239462269961085251944905367744113947492696832586263544277419719289345556239475074419080771193154559261443715578063516393242563253107434718882170720106207712920945378083388315575878018105017807546912622199226165761137685244283357071920090038892920544610555095798899189410762287706615366459700754554910860646434348006435792608319188564753902429210554980495108180961891398198764069498278707217572251821667496456201781377992205552509057790412320649981049632975221980083284701837534100446201498037296605752747576719248990868769919468688993080519592250182413082748441712941135600377379501241044588771095257068713300224971723484047778732904156783432751107229922207025217604301432538323789164262933712026133566852650093038549213884888009772966186717361723257887090917497039258449611721553021326230209172834522329259672585013103289037007366225694241765068970586077015359823102679030980883954555225260692545919896612159850538132335685824143300835024980284737721942419123909228347409053057746708269965063739136090928315419145315991702595779922324053740535445923002546921797600945787710580582348182073592710929903834740238724142072750768719661194723706138749031798669082046257956454855274941568525035525444705120366900308062213931375681606016746012453363730963172766604647975498904077821394848741931559122860477635061992557195659381662976242304419245918267421222444367594600036067553201045089014396581982801638419412148885700764332069521535090683442668302263899125065333896086825348690116930708897915465718008322619662976637272986769511093346727380891400410019863236162567777670366057441949402397581228073083942075999609186593026145790091300837206409704283176683348432372533465959437648029472377979540949927819391568631892292833608026712063308945551114271814522325449974117033036362867686887916381534068381511736796253925477449912350788315728034324777468032872688478670010455018047535094831176201641545851296167853842664498002902193877683402379092150747516891379191196337157110061474866054019730464631426578771714434599796317001726971323647275201518506891304958307766891232405386608433633444870660856166910367243540085915556572339356328705382217617714860402868335501709754748040548496180338512958707039886840269368917451458788757048634745042685726757140748803360486336305003513638115356621773923551832291189931698331563222928318958573113072908325801695240245670309420235442778413349139845352592161678349908446915759913399961807824242635807080767746194122319998551435615671480092767326574754303805143508925462861684694410934788246616328258821551759463819547502138622805497744194626594027536986201561494826406645822200829999554531353908920701443214429915775663665434531962409040957137665440876877182194007326815292160178417438525925484044354062119501466186381308423080978350602196032255175619916903591621524 64904505823907772395675369432582152768261558884892223735741715837046767448008968899827242803598819362176433241297712324564058680330270121555618711715243615042690213305942493864805107002672322459387229272745473540339881744780337233369205729002754555673506782376506695221014781675166128319120912947247569926144255401658838545188302055882166138590419033468373069474309944830991087434846690833537010140525967329289309497015009146557806119767194289015447669295786501592564454107256058844810416178725715299402518080896976044562449619069589500500041738289878433766346482802813142475225383994689981736757553752807309430307810282779881010933993057810135186804394842569729832572848447407599239718800140734449372322789527222350137525510439528230930902303252014724583335943727425660987366167228906239052993344143729658151533703549800392487175721656588495544528283524226782225084268051498745360863935694952217436992543786085204462257250430942680175622066948135606740824531998417290988347659638165743468877576830029234600450982303553357257204293433466249027931519569451778995729064408097412446137142187522922959358771716434313928767218768092578850150405140652168833147832082503493904141221913159731063453181680271338973365597953117538012031632238327502275319306581567730800254418023641406472919157534309186103381121988425156978652370993806125971673707938134149605796148169822952698671877161482220940028449424641037556877881825554262452985320640534269038371332614255105371023869977356913659715500975990850013731530362098678035325134972028253836710524665564108950546931205891524351924513406312667164597387562643536936761092115004025586664928580102472639094984204733800871754187511822692499358855904577675310800624545375974289990288410544250929277579800310974347894144610740785632442576623720991560012478778081319186672078958795175730986857205359677729166882023867774473950863358270286081013107796518595919503904156609131580779261918398923702124744443332628293100231516602511547416138370968445858367375433952395834990116841508538530558195979998864656541867984590273186461593934684627069788133365277482735652997904561257987309702190130782841497407060620898651235312678283415354630046585000482754297579778325698972389233470740443874178855241225315064206781925260485092407504757953832866769412203438817811659899382970632262991214287076462272208723176738430703497366124902857775626353374003424387947427176814559624304021006424580173868740135842245595482544689032107511777410309375266343174719814584424411832713154211707348019430261836819730588661032419771627720391084073878640481814792063976518619888189843008336577724096861883264348427758706821127567165417594767976196933681695881269061891240768463067671319971827932870861974988785732907174722116820688156822259441272834190024710203183853610578954332897284853154896332395714293416758074111219065006382092707858171882379292238821260965866663625715896422279997414532759936984242008060045188328223319972868383201049757976825392052993015058017651731145281755080430737290841760036451198029319556357320268535464907925545552860358764592223829261978053262551613975355128667318603097431636883736627066394514927596024168925960338785798869251783775021811122684772569905983099291070490366185028968316894326443096595077707870843266803726060850972237720086219675309010732598974508348505791352793944946726218244926047849948882079492113159273018499608298997062233972249634877334794721237992704332498606036908236135171614106303834435465347453598400674227726144580124730299641064872302327913282642993562932863320540764763303770432228617958135462989016846950320998293801944692159004691996542624630418798230093776096947896169735762194588197146895974435124771641500619783311208367705080454373001889725402858031102895743657636429896505479841226272509342536374696088129860977363194775076996331516782090704441655021073268362938650248178154721544881030014385680150183567471848844411195000224230567909504963395042592319382083852706392034091266510905999309052473224257102495072827647 105017696446098273256183973085627188802689831607416325232138004167936522330712560545275178103973072097915024779154647356879089257456015050905900628328174659274211317408465232795244818442374118824345422859733412731560896594666418844982545747046772060004485966586160306722302917699977099463116860974783657434992071972629556013625242664204389313162826190060020506173392532987793726209903404877842950414941267665704308197962828775105550378602516475744342790141426160689925304583281454374409409464817314504953548454706617017805559733037259862239155506728213766495031920140739595872638457277398498843235635100731921950361038312676008925049535249561151789815002405037819779136005310248929253891125528131872937655010708052261342990960904582977587007631934337881982630195640474661929556819726301290304205354521410010966182470343963759842892727742116986484188724525152467555528673411506377390234145234423261210809032561917105796546337578751966083856260841771742402234956714768846709059970210394011187329686759606915012441785946170895135530362822091126666056438767506382064017340209339626710622732045103579417875973282331363757122544506404316212473950017384321832135246358108111300270193587907212777638853919733608934450849898022905756145579731024334861582850858987450089599974263116480891999928727463745364824837566488673371894934246913560690555878658240357318717093547906341014247755179587238747575362046840263722639019510798545810057240730573161958915943169350904270213280739644620275081960676745404924592176796446684471117743291216818590612953876119089445655112167782922550688582904591374382169639384311033392962873492996231139173986370514793289076033837709022851837472213660226599805057402614971916553372122095223280859058330012939922358099392561156760976893052453726768042954003222232604601249873338387899972303930518659778765590109516461161917989253789981499168467659702824404802272059452307945637471009259224619328475803286933475090931160694351550987322434099550805865750092521467184597584606786918164249789426521641819595203346224558898306936955176350201821417037363658050672087920502743428198917801173417837847834525816606984798242085601183388957255097407324582977455638058229462567544842064835063317548889885759865881451021147639117947317371183487639329302358899620577349994551620891404370829286805372501715356359827230991869917900444569452529164793984904033582808229278365956472462702259264744670921314486794105244421741858991607935908419995280278382058284874170420996114663326355970955573631846769340576625921218482706830965451665689895141613528441473240517882345265021607634284771825809974997136245747584028680497280241911811009833719858667101262267577782706617752008171477360983137037980150552533838612261772502418268068844201579557232279304508996757802380569241295559981351914125357937096972332004900886442903864202519902212791796991034855230811664772287220403514693098093875963229925233924328568876534841668071900391532265523982655015572083426799509086029377925704539647526815823461942474087095685513901110380107872085354593312932940798234031530369219610271364356809229464193159826651296521161267595434539077614310468773607078343541060305151535122955979313258641075830853149403996484754813725670286683186755939640541601644615101969012829151033694958466237580671353531090336165177642966218048434421347925133301275431600462543762710351750414993822914021059048104479335575192679289521717604163638689451493089547240781950921861928754855107194921801652457112038789584347918503676562590830996570633891136210961952136045936228866566458544016102538038193578241402365986795673590455480294600605920451909942586438243040865900856864694090292055760746023812818376067202451346395804424926820133830566765148783936677972019186289924447503121455977398644102646724016703969130402233074331422472189601420899197161516336622058350575722516482792854425911843589253507290070971523345591060444654042851738010292384408985348030888879086946381501585318892773342514347489256601505084728399877019398664449171 169922202270006045651859342518209341570951390492308548967879720004983289778721529445102420907571891460091458020452359681443147937786285172461519340043418274316901530714407726660049925445046441283732652132478886271900778339446756078351751476049526615677992748962667001943317699375143227782237773922031227361136327374288394558813544720086555451753245223528393575647702477818784813644750095711379960555467234994993617694977837921663356498369710764759790459437212662282489758690537513219219825643543029804356066535603593062368009352106849362739197245018092200261378402943552738347863841272088480579993188853539231380668848595455889935983528307371286976619397247607549611708853757656528493609925668866322309977800235274611480516471344111208517909935186352606565966139367900322916922986955207529357198698665139669117716173893764152330068449398705482028717008049379249780612941463005122751098080929375478647801576348002310258803588009694646259478327789907349143059488713186137697407629848559754656207263589636149612892768249724252392734656255557375693987958336958161059746404617437039156759874232626502377234744998765677685889763274496895062624355158036490665283078440611605204411415501066943841092035600004947907816447851140443768177211969351837136902157440555180889854392286757887364919086261772931468205959554913830350547305240719686662229586596374506924513241717729293712919632341069459687603811471481301279516901336352808263042561371107430997287275783606009641237150717001533934797461652736254938323707158545362506442878263245072427323478541683198396202043373674446902613096310904041546767026946954570329723965608000256725838914950617265928171018042442823723591659725482919099163913307192647227353996667471197570849346740557190851635679192872131108871037663194512400485530626943224164613728651419707086644382889313835509752447314876138891084871277657755973119331017973110485815379855970903865141375165868356200107737721685857177215675604026979844087553950702062353281888463489913042964960040739313999239906268030180350153399326223423554848804939766623388283010972048285120460221285780226163851915705734675825157536715947389826295649146222082040192567775690739937607502223058712216865124620390534035706782360626203740060306262372954182154099296443972731736807116853453444119406755059709216030728669776004764706570646903693264078641077183000156026530918887761809209161603281790344419889879073824368974942320911374279113161877701237203418453109027387790159468594249436764170834477910780382788286786058476688596056183055302437419626484085461522862004612515351880999697137328998126254172961668818311574860342609467293028925038948732938576999137453435077459201259478587886813899412245824050808357951978485404700587250558235325442790961022267714054538745781830947827090772425149170560306247022642790251868664400615179859661938313738967219173889698893027113190957011108481369381356723809772385509922648457088505860776849728117088719755585496851038216621841403624901139022392983722191378672097578542373211377937445550352308409427428442674861848397848723779584390727984202495193618787282726744773802006425188479870692866175961350937535168122005939565229231111873908754848565042416097641975834176566390737913016740777049371784907957435928087711697046720699994300498684527088552909073617310011474188375565192556782927139277927246222157818707469810560300632494485936073294077547712778332637426651539156594938958359927444197422045846818859157997100368961411029357266999910710439463812074063083801292890472061442936219049493604945698978799549407331221847786534766656151713704391382833745994588749282239292764925143906485211068661839095994632961641986461791522940612009965272041637576118037305044710131342198271845603156938567697422044321027343246779092407295149582487950289213311666776929162461283449552796195976193493033118712762792230743589751155793076160021743975052171100985909025741244012125891696149205292608639553257535852274129538700883669171599165376605614000162600814137201624134121893737276818 274939898716104318908043315603836530373641222099724874200017724172919812109434089990377599011544963558006482799607007038322237195242300223367419968371592933591112848122872959455294743887420560108078074992212299003461674934113174923334297223096298675682478715548827308665620617075120327245354634896814884796128399346917950572438787384290944764916071413588414081821095010806578539854653500589222910970408502660697925892940666696768906876972227240504133249578638822972415063273818967593629235108360344309309614990310210080173569085144109224978352751746305966756410323084292334220502298549486979423228823954271153331029886908131898861033063556932438766434399652645369390844859067905457747501051196998195247632810943326872823507432248694186104917567120690488548596335008374984846479806681508819661404053186549680083898644237727912172961177140822468512905732574531717336141614874511500141332226163798739858610608909919416055349925588446612343334588631679091545294445427954984406467600058953765843536950349243064625334554195895147528265019077648502360044397104464543123763744826776665867382606277730081795110718281097041443012307780901211275098305175420812497418324798719716504681609088974156618730889519738556842267297749163349524322791700376171998485008299542630979454366549874368256919014989236676833030797121402503722442239487633247352785465254614864243230335265635634727167387520656698435179173518321565002155920847151354073099802101680592956203218952956913911450431456646154209879422329481659862915883954992046977560621554461891017936432417802287841857155541457369453301679215495415928936666331265603722686839100996487865012901321132059217247051880151846575429131939143145698968970709807619143907368789566420851708405070570130773993778585433287869847930715648239168528484630165456769214978524758094986616686819832495288518037424392600053002860531447737472287798677675934890617651915423211810778846175127580819436213524972790652306606764721331395074876384801613159147638556011380227562544647526232163489695694551822169748602672447982453155741894942973590104428009411943171132309206282969592050833506908093663005371241763996811093891231823265429149822873098064520584957861116941679432669462455369099024331250511963605941757283520593300101416667627460371066109475753074021469401306680600620401557956581377266421927006730924255948558977627569608555695712872665842791969832560156300892352581333089113645863635398168384357583619560228811354361529022668068541526879123607185166949141237136353743860417905246029172682104273785144250591935751151418003618140956825121517579482594019733888457733494628286571996588357051321709422319190644749586832857312102178721468837261294504565907583723185033945395932129037938539199512330737743710859805223847271286818050290827705629471341666444730541658161148000727348840996405516066302565802516258869431965686689927882344002621783395701772896049821903648348739847882381417074737311691396188989111287851020833693232193924830424410225051770909426731026198913402004315685465033131064253418789535300528029455161330789522013615921097203812766557975596512190937933628657721709641138288300715038965248003941729084283106289536263409031710827878301057173472828983580562875492726742411063732558540847597977529732326799015733529145334193642993326133580427148400347639366018531410605217348487203060547497589419170013573270652382909479758987315136595817257668212619330828678312543121998616895690511593087600810079859029123816518224279068652367822478253396421981587477855481303058013570110185704566897835024735778273897680391802637304694345291945793748820541668179204762533893370845595816427797506904879961895489826336076753847283686635822783648108840027464433109469636951476028838610751940875245669441230610951790749900548384693793685134674305917280797179162236792705921742397616875390654549455334821142806466106233948647502071865333228559461171957432371332304456779934547887215584993048538605566741153216485082385254490491938719119961489419202319221930024011141292401725989 444862100986110364559902658122045871944592612592033423167897444177903101888155619435480019919116855018097940820059366719765385133028585395828939308415011207908014378837280686115344669332467001391810727124691185275362453273559931001686048699145825291360471464511494310608938316450263555027592408818846112157264726721206345131252332104377500216669316637116807657468797488625363353499403596300602871525875737655691543587918504618432263375341938005263923709015851485254904821964356480812849060751903374113665681525913803142541578437250958587717549996764398167017788726027845072568366139821575460003222012807810384711698735503587788797016591864303725743053796900252919002553712825561986241110976865864517557610611178601484304023903592805394622827502307043095114562474376275307763402793636716349018602751851689349201614818131492064503029626539527950541622740623910967116754556337516622892430307093174218506412185257921726314153513598141258602812916421586440688353934141141122103875229907513520499744213938879214238227322445619399920999675333205878054032355441422704183510149444213705024142480510356584172345463279862719128902071055398106337722660333457303162701403239331321709093024590041100459822925119743504750083745600303793292500003669728009135387165740097811869308758836632255621838101251009608301236756676316334072989544728352934015015051850989371167743576983364928440087019861726158122782984989802866281672822183504162336142363472788023953490494736562923552687582173647688144676883982217914801239591113537409484003499817706963445259910959485486238059198915131816355914775526399457475703693278220174052410804708996744590851816271749325145418069922594670299020791664626064798132884017000266371261365457037618422557751811127321625629457778305418978718968378842751569014015257108680933828707176177802073261069709146330798270484739268738944087731809105493445407129695649045376433031771394115675920221340995937019543951246658647829522282368748311239162430335503675512429527019501293270527504688265546162729601962582002519902001998671406008004546834709596978387438981460228291592530492063195755902749212642769488162907957711386637389540378045347469342390648788804458192460084175653896297794082845903134731113611138167346002063545893547482255515964071433102802916592606527465588808061740309836432286626357382031128497653634617520027200054810569764582226631760427652001131435841946645312242460406913482620805956309542663470745497261466014772814638050055858700995473373043949337783619147916736532147203963722717768738287329087581670218419836612940865622753472177002517276619923017860142630695163446598146856930966518614738347358139377688163831994765537256180670096739882391379806995969009084753753884107523343239786762888973069153650766246114985341356796072658653456562114091593901101964408170643517600709660806131246162227740829997836651139576388820909457193578794504183142277406545713420734249770530838505580598088541124306077831043436517684731448815766234049311364074163893148922404871010980546688896842970576614605727198962728970704317009728638245793200311825188015261751594383794917682707430664146898121008981166891000316185539109851090222671518767375282940465676443343473271114804817757129266230639759151840781930325755555413457820038496062454229139634692327520414686489500765710359113554394096603162000275626480987793719747237877483383830953015403965695060609214143530036000850045982367834907482080358544339887933638934419669237856129492777929253636335652278532917717208496044671279148371775119456506329235198171843534003535327681228902239589172071350497005650185131654287662767954044773186135770739722913008575566719057890122787978063215638806627247832748920150477603582470414514347082818227110456355097813813366863274931979133996679640791988943267622624595130592463956091399253989371295193812851584147582574047583935037209695985104440578231887077203611632272943341397073548468905826244036420877601688091863102593427346023783268923662091104095725575489581803133359131648145263186139002807 719801999702214683467945973725882402318233834691758297367915168350822913997589709425857618930661818576104423619666373758087622328270885619196359276786604141499127226960153645570639413219887561499888802116903484278824128207673105925020345922242123967042950180060321619274558933525383882272947043715660996953393126068124295703691119488668444981585388050705221739289892499431941893354057096889825782496284240316389469480859171315201170252314165245768056958594490308227319885238175448406478295860263718422975296516224013222715147522395067812695902748510704133774199049112137406788868438371062439426450836762081538042728622411719687658049655421236164509488196552898288393398571893467443988612028062862712805243422121928357127531335841499580727745069427733583663158809384650292609882600318225168680006805038239029285513462369219976675990803680350419054528473198442684452896171212028123033762533256972958365022794167841142369503439186587870946147505053265532233648379569096106510342829966467286343281164288122278863561876641514547449264694410854380414076752545887247307273894270990370891525086788086665967456181560959760571914378836299317612820965508878115660119728038051038213774633679015257078553814639482061592351043349467142816822795370104181133872174039640442848763125386506623878757116240246285134267553797718837795431784215986181367800517105604235410973912249000563167254407382382856557962158508124431283828743030655516409242165574468616909693713689519837464138013630293842354556306311699574664155475068529456461564121372168854463196343377287774079916354456589185809216454741894873404640359609485777775097643809993232455864717592881384362665121802746516874449923603769210497101854726807885515168734246604039274266156881697452399623236363738706848566899094490990737542499887274137703043685700935897059877756528978826086788522163661338997090592340553230917694928373324980267050683686817327486699067516123517838980164771631438481828889133469642634237306720305288671577165575512673498090049335791778326219297657133824689650604671119388461160288729652570568491866990872171462724839698346165347953582719550863151168279199475383448483431609868612898492213521886868978777417945292595575730463545301272233755444861650130951943820829414140782356932631698893473869026068359601487058209368420910456833844582938759297550424660365541775975759032438139373137922344633093494793101268402102946204595041740002596266669591707711047828329116821694826127176167072723927242522352496651134504732760385053090276007621868968746941420391602872725920810355587764358869240894429002124034856102517037594031088428658074884718853519323569936447769677330022437750664852077639434902138934001176895945714579692194118699149816236561281778986275219710812864510571469962256628174846363486359086033455758038631643622569318644244949550657211647312464793543346256706083105263078748791801196200577899884915173456367617069082989618413219922655335400232520495066942331287538518424681009691064473721589125934802575653431069924382551004582308003707678859145988498029498733772171059427767806816232922391828028309569980307108620641059321868607762147269467606039281433543051580174505777808303638691972176504321644530444587633801337692141723366501562904514488866603153390987552365295078187758284968885970513740820069927914110706752920412628013767217624113684048341217336657047496957101605398313445454047924350739347293669062665313196513220025202357161235578445232022020479317715158616594447477915404304646355395970604918026258757003853078177470076439420902738741369028271105955126582631391809376044842297595978880474829330947158807307079506616335539340806082471599019785612614314139969486090313883655532568259317631046903523983984034294255949067107038689059036304505542930924746580189176682736952757298901047873261135253636046695293037591429726974802132029382405077843675802219053088080303752410432171093444900773768405852925685760791923636462594736630468669334580562508865654178152583042814845536979001005452581061672156404478540728796 1164664100688325048027848631847928274262826447283791720535812612528726015885745328861337638849778673594202364439725740477853007461299471015025298585201615349407141605797434331685984082552354562891699529241594669554186581481233036926706394621387949258403421644571815929883497249975647437300539452534507109110657852789330640834943451593045945198254704687822029396758689988057305246853460693190428654022159977972081013068777675933633433627656103251031980667610341793482224707202531929219327356612167092536640978042137816365256725959646026400413452745275102300791987775139982479357234578192637899429672849569891922754427357915307476455066247285539890252541993453151207395952284719029430229723004928727230362854033300529841431555239434304975350572571734776678777721283760925600373285393954941517698609556889928378487128280500712041179020430219878369596151213822353651569650727549544745926192840350147176871434979425762868683656952784729129548960421474851972922002313710237228614218059873980806843025378227001493101789199087133947370264369744060258468109107987309951490784043715204075915667567298443250139801644840822479700816449891697423950543625842335418822821131277382359922867658269056357538376739759225566342434788949770936109322799039832190269259339779738254718071884223138879500595217491255893435504310474035171868421328944339115382815568956593606578717489232365491607341427244109014680745143497927297565501565214159678745384529047256640863184208426082761016825595803941530499233190293917489465395066182066865945567621189875817908456254336773260317975553371721002165131230268294330880344052887705951827508448518989977046716533864630709508083191725341187173470715268395275295234738743808151886430099703641657696823908692824774025252694142044125827285867473333742306556515144382818636872392877113699133138826238125156885059006902930077941178324149658724363102058068974025643483715458211443162619288857119454858524116018290086311351171502217953873399737055808964184006692595013966768617554024057324488948899619715827209552606669790794469164835564362167546879305972332399754317370190409361103856331932193632639331187157186770085872971987913960367834604170675673436969878029468249472028257628147175368486558472788298297945884375307688264612448595770326576671942660966128952647017430161220293266131209296141328678922314000159296002959087248709137720148976393521146794232704244049591516837502146916078887475548017253711299074614083160840899990805122779785943517825869695083842516379532969826808154825832691464710158678931960307591028775424377299734863647901179126552132722440055454173719123821521482865710450290088551186117035469400125914496846843176691082809030741059287325521575661203203452903700344084625018773038108683882018161337716077241969531642436145012542595569849632532745586977489287762550260318017778558627021284176254542734244839467569701258389779372404068057450862913330489817239388944058428235933488773644801144773374724056203156129825457298523032953200098695724575835940935363097693479150974284293464873187460758469438089180788066013600016544747579843290061164364102026303348489986015505883156250634497039597619082161431264728449327071013974912642180764988003715702438619094821407954006260714745296419192358708804445372403791140641987424603578298034155506559428679821065866474806724616929217899740165036134937083894924980340932558413717411149108533564882877329669912711295564348127507282715705575466378870956440148555571288109372376731551739956924888313687813414070930036152224853296926582768656100910584903031806433636355484870980981447395339303246164012129116993715112852080265642387075262253814658038318077675735402292203185124896941131488281488409795234629373938498331117112483059523462136502872403167780474910058743259829968671680220379923496178465725091345035300684664332785242578558949714603429989012880885498204157528658535639487635782725717844115165479401394591587035960057340196424722331771928007908532648923101814674146910571112468582808585940193320301667664679731603 1884466100390539731495794605573810676581060281975550017903727780879548929883335038287195257780440492170306788059392114235940629789570356634221657861988219490906268832757587977256623495772242124391588331358498153833010709688906142851726740543630073225446371824632137549158056183501031319573486496250168106064050978857454936538634571081714390179840092738527251136048582487489247140207517790080254436518444218288470482549636847248834603879970268496800037626204832101709544592440707377625805652472430810959616274558361829587971873482041094213109355493785806434566186824252119886146103016563700338856123686331973460797155980327027164113115902706776054762030190006049495789350856612496874218335032991589943168097455422458198559086575275804556078317641162510262440880093145575892983167994273166686378616361928167407772641742869932017855011233900228788650679687020796336022546898761572868959955373607120135236457773593604011053160391971317000495107926528117505155650693279333335124560889840448093186306542515123771965351075728648494819529064154914638882185860533197198798057937986194446807192654086529916107257826401782240272730828727996741563364591351213534482940859315433398136642291948071614616930554398707627934785832299238078926145594409936371403131513819378697566835009609645503379352333731502178569771864271754009663853113160325296750616086062197841989691401481366054774595834626491871238707302006051728849330308244815195154626694621725257772877922115602598480963609434235372853789496605617064129550541250596322407131742562044672371652597714061034397891907828310187974347685010189204284984412497191729602606092328983209502581251457512093870748313528087704047920638872164485792336593470616037401598833950245696971090065574522226424875930505782832675852766567824733044099015031656956339916078578049596193016582767103982971847529066591416938268916490211955280796986442299005910534399145028770649318356373242972697504280789921524793180060635687596507637043776114252855583858170526640266707603359849102815168197276849651899203211340910182930325124294014738115371172963204571217042209888755526451809914651744495790499466356662153534356403597782573266326817692562542415747295974760845047758721173448447602242003334438429249889705204721829046969381227469220050540968729325730439705226798582130750099975792234900626229346974365701071978718119686848510858071321026614641587333972646152537721432543886918675154145139724964759127403730904855667027166972195503713186040178366346218347249139918022917084162447701660211651579070534833033511839131012141658604104542330181250586988824957093048204807552479596367584563969613658487633886712799422563665161698920816125984947964742236183271236155353397322152053516580645906797759313328394694882671909186039498597706488799631371628629025607671164389209546807932007499810975229425871091814827522511248817350102546318493059585979950303952972624319280947558900229007357278350891268889006165296211715706011594721580810835148362996754542326033498300229267010859745648698061458977991972324019175958787968171861351847493781406832777669971671318370734344409134923989549307884113645303520102103078879052625213011439234227135374652666884818685086632534160290072420432513549677372762277649810908058961862195432924769086218829745709572464268547896326629356593931772619395219352630696435523853849084476154420551972477298034163812030856603156457915622224623338975376608760861347532485072866811044824102978460627873286446725966824209467144261571243709658418332097188793156077931474396659208077003649326272060077539591482067502372790823440181600842142892603946324662271659387345149003410801594620740509917097461348016606343154610987255015143814056669112865676277462482315151406739008590569175191931439472286017840983489840019145354417173137222397226338986226598671347379957370376672305533751846632812394090724561300423210616738839391898067953819162744888933885254320277347827883693802791161352800441262588471041514577279967257189725416649447583814038521254992458072143220460399 3049130201078864779523643237421738950843886729259341738439540393408274945769080367148532896630219165764509152499117854713793637250869827649246956447189834840313410438555022308942607578324596687283287860600092823387197291170139179778433135165018022483849793469203953479041553433476678756874025948784675215174708831646785577373578022674760335378094797426349280532807272475546552387060978483270683090540604196260551495618414523182468037507626371747832018293815173895191769299643239306845133009084597903496257252600499645953228599441687120613522808239060908735358174599392102365503337594756338238285796535901865383551583338242334640568182149992315945014572183459200703185303141331526304448058037920317173530951488722988039990641814710109531428890212897286941218601376906501493356453388228108204077225918818095786259770023370644059034031664120107158246830900843149987592197626311117614886148213957267312107892753019366879736817344756046130044068348002969478077653006989570563738778949714428900029331920742125265067140274815782442189793433898974897350294968520507150288841981701398522722860221384973166247059471242604719973547278619694165513908217193548953305761990592815758059509950217127972155307294157933194277220621249009015035468393449768561672390853599116952284906893832784382879947551222758072005276174745789181532274442104664412133431655018791448568408890713731546381937261870600885919452445503979026414831873458974873900011223668981898636062130541685359497789205238176903353022686899534553594945607432663188352699363751920490280108852050834294715867461200031190139478915278483535165328465384897681430114540847973186549297785322142803378831505253428891221391354140559761087571332214424189288028933653887354667913974267347000450128624647826958503138634041158475350655530176039774976788471455163295326155409005229139856906535969521494879447240639870679643899044511273031554018114603240213811937645230362427556028396808211611104531232137905550381036780831923217039590550765540607035325157383906427304117096896565479108755818010700977399489959858376905662250478935536970971359580079164887555666246583938128429830653513848923620229375585696533634161421863238215852717174004229094519786978801595622970728561807226727547835589580029517311581829823239546627212911390291859392352244228743351043366107001531041954908269288365860367981677206935557648578220297420135788381566676890202129238270046033834754041620687742218470426478344988016507927157777318283499129558004236041302189765519450992743892317273534351676361737749466793341102867906436518958338968190231360377139121547397148502378526676301117850450274419903747038820003748268822689579658545763992817067756995483295470596757731014600525604957216924730531816532351437078576900833246902116740567238131235776384171224595457303697134796524297219770050071293247204429718836111698765791551594942013888194317975759322708021030075182194278048717468396301336779127202377779810097356489080735650924736940660605661519787495526132194024805102951795108746391540609952276265788892363419546437609950532635559795006849322417551514608431898708511161227338039293899619528459770736600118476671707374442703962676462445666641797460865851620537875992511039527334957631379022992395107327251320570999878297172877359471733134176042566582051833188785273752838485870026077247625653423594014120611091504446897457638966722225748267752264991480505101953008888087904325209475039767788572386511202973934900776428857734835339200941018884218496132023346231746168118829308302784771323241976733104559911175091883973227837552373353772270835520904088306904733063318377384511467610791390486063848435398548235175137083418898546339735884196146632095545078908100305651400980646268519222068114031311694803842640066492751042233099849114026097393517145893404804711317943706648064621703161914884092701561236242383103605446798627368145397375031385703736544880589004099364655714868934863843751142987586075132213190596379574163500381781931336635987761916166622624461448312759739807900192002 4933596301469404511019437842995549627424947011234891756343268174287823875652415405435728154410659657934815940558509968949734267040440184283468614309178054331219679271312610286199231074096838811674876191958590977220208000859045322630159875708648095709296165293836091028199609616977710076447512445034843321238759810504240513912212593756474725557934890164876531668855854963035799527268496273350937527059048414549021978168051370431302641387596640244632055920020005996901313892083946684470938661557028714455873527158861475541200472923728214826632163732846715169924361423644222251649440611320038577141920222233838844348739318569361804681298052699091999776602373465250198974653997944023178666393070911907116699048944145446238549728389985914087507207854059797203659481470052077386339621382501274890455842280746263194032411766240576076889042898020335946897510587863946323614744525072690483846103587564387447344350526612970890789977736727363130539176274531086983233303700268903898863339839554876993215638463257249037032491350544430937009322498053889536232480829053704349086899919687592969530052875471503082354317297644386960246278107347690907077272808544762487788702849908249156196152242165199586772237848556640822212006453548247093961613987859704933075522367418495649851741903442429886259299884954260250575048039017543191196127555264989708884047741080989290558100292195097601156533096497092757158159747510030755264162181703790069054637918290707156408940052657287957978752814672412276206812183505151617724496148683259510759831106313965162651761449764895329113759369028341378113826600288672739450312877882089411032720633176956396051879036779654897249579818781516595269311993012724246879907925685040226689627767604133051639004039841869226875004555153609791178991400608983208394754545207696731316704550033212891519171991772333122828754065036112911817716157130082634924696030953572037464552513748268984461256001603605400253532677598133135897711292773593146888673824608037469895174408936067247302032760743755530119285294173415131007959029351611160329815084152391643777621651898741542188401789967920414007476161235682624220330119870511077154585779183479106900488239555800758268464469978989939567545699975044070572970565141665156797725294784751346358551211050708766677753880119617589832057471027325481793466082793765942581137616262731561439960395326622406159436291618446750429968900649536354666959702589920753429195765827467183229553882075892872174954324749513787212315598182602387520537014659369015660976479721236011888013316820001626374614707037448660616943072732561541627726110372354241550583334228780714218034838389517405526453890461068245253244820244684808943052704960225531653867993886367997847757010733505376438614291664765473271783505156088156239164944620035407755799853621064974861524006071105151777549882268476630300810650939221277040368945044560206687377561739273011974002699501475225607617697403658615130018471266785975393568204786747245646317751495754024516542037852165692325034369962654854395089602068930268238112911539378334405781811884483053576413682100087523185926802633052920296151327588601783733173763290838703197355724332587454143196903597820319308682279550938253072036282583459959848507308751785270044918235310282433195311221941963578301478843748506835129948159818141867684611105265245429878322088947447863205087245924998869934937000886037779124355421449396127326576347863464513086070822572252861439197556027076913361404302144181561306025150486028480067375733004650078265307622464380716245719901184810108209237447151961512819319619875726563094275702504930449797337009643039656170854955940393896865443056139058152272598431435504889494346871451161775909601748020965981928863462961419925961076704600486886735282112352510592025722939868259380514566654368290631143697544542377995444579073538587189626453407869054777194330008099050578762136214423283771690364043333893033249910035146282691727444945778747427932654453184850615678077661749188526361404411363750436662982703305217811951120652401 7982726502548269290543081080417288578268833740494233494782808567696098821421495772584261051040878823699325093057627823663527904291310011932715570756367889171533089709867632595141838652421435498958164052558683800607405292029184502408593010873666118193145958763040044507241163050454388833321538393819518536413468642151026091285790616431235060936029687591225812201663127438582351914329474756621620617599652610809573473786465893613770678895223011992464074213835179892093083191727185991316071670641626617952130779759361121494429072365415335440154971971907623905282536023036324617152778206076376815427716758135704227900322656811696445249480202691407944791174556924450902159957139275549483114451108832224290230000432868434278540370204696023618936098066957084144878082846958578879696074770729383094533068199564358980292181789611220135923074562140443105144341488707096311206942151383808098732251801521654759452243279632337770526795081483409260583244622534056461310956707258474462602118789269305893244970383999374302099631625360213379199115931952864433582775797574211499375741901388991492252913096856476248601376768886991680219825385967385072591181025738311441094464840501064914255662192382327558927545142714574016489227074797256108997082381309473494747913221017612602136648797275214269139247436177018322580324213763332372728401997369654121017479396099780739126509182908829147538470358367693643077612193014009781678994055162764942954649141959689055045002183198973317476542019910589179559834870404686171319441756115922699112530470065885652931870301815729623829626830228372568253305515567156274615641343266987092462835174024929582601176822101797700628411324034945486490703347153284007967479257899464415977656701258020406306918014109216227325133179801436749682130034650141683745410075383736506293493021488376186845327400777562262685660601005634406697163397769953314568595075464845069018570628351509198273193646833967827809561074406344747002242524911498697269710605439960686934764959701607854337357918127661957423402391069980610116714847362312137729305044010768549439872130834278513159761370047085301563142407819620752650160773384360000774815154769175640534649661419038974121181643983219034087332678776639693543699126948891884345560884364780863670133040873948313304966791509909449224409715256068832836832189795296984536045885551097421807942072533557963808014511915866886218350467326426556796197972635954588183237386515209401699980360420880888682881482526832070711445156186838428822726780178820008404868796994770363564375054569468419715717574943885179575282040922792902004865231919751390052961860905081832068485112809421152565273894209337067942824478790448801760120461955708827124464751617382598373361967950430106970430824016202551848684338402990272979732182751271184139971078216522278558658802595402371547599953561723834730529487050920042831920539986574094881695537498595719995032774683669503656335165799959951909145673644565785490924693867482896571054692156359686036329533378297886349839472914449963141481142678882544503901803902797880843391762417118613371420531422505074700535234531761431457378665627895683352702223061575303315832396039961896847159580060265985950479740416789873609912275094499487183464940130808262440025562561603004195189519114840937773211977924549401711999993006927141437449591135271507125947742371041877325698337429445767392575967608263527392107686440876632428529356751552417411280297612020650011584067230050848262180731001916396645226091504912698563507756350881824433426451772683501017043143161543212769148622243845486047157172249080335365111223409018756702070072961417040682322566731784382929291491537606387447735514854403435834082755647308408005146826929066287580264443607688445183144818631798581539124752419003343067956039717373406611960171514184035948408862486084643509200776700502073719154969105297160297935454897677946907533589454669475426908923922897132614565750015217555571196088766333503064867643781230189841578043531119862997392173279917059287444151617977551759020844403 12916322804017673801562518923412838205693780751729125251126076741983922697073911178019989205451538481634141033616137792613262171331750196216184185065545943502752768981180242881341069726518274310633040244517274777827613292888229825038752886582314213902442124056876135535440772667432098909769050838854361857652228452655266605198003210187709786493964577756102343870518982401618151441597971029972558144658701025358595451954517264045073320282819652237096130133855185888994397083811132675787010332198655332408004306918222597035629545289143550266787135704754339075206897446680546868802218817396415392569636980369543072249061975381058249930778255390499944567776930389701101134611137219572661780844179744131406929049377013880517090098594681937706443305921016881348537564317010656266035696153230657984988910480310622174324593555851796212812117460160779052041852076571042634821686676456498582578355389086042206796593806245308661316772818210772391122420897065143444544260407527378361465458628824182886460608847256623339132122975904644316208438430006753969815256626627915848462641821076584461782965972327979330955694066531378640466103493315075979668453834283073928883167690409314070451814434547527145699782991271214838701233528345503202958696369169178427823435588436108251988390700717644155398547321131278573155372252780875563924529552634643829901527137180770029684609475103926748695003454864786400235771940524040536943156236866555012009287060250396211453942235856261275455294834583001455766647053909837789043937904799182209872361576379850815583631751580624952943386199256713946367132115855829014065954221149076503495555807201885978653055858881452597877991142816462081760015340166008254847387183584504642667284468862153457945922053951085454200137734955046540861121435259124892140164620591433237610197571521589078364499392549895385514414666041747318514879554900035949493291106418417106483123142099778182734449648437573228063093752004477882899953817685091844158384430047998156829939368637675101639390678871417487542687685243395741124673876713923298059120128163160193217493782733020055348163160015005715570618569055303376870490893254871077929400933952654747435137900974839732389646113962208973654878378751683764116669692090557041143286179149532210028684251924657079982720671629527039056467186283394314630298272589062927117183501813828983247902467860180369967450803534313636648319367975962911463157675225875341612433152342676584929534242496773760857835807276345857923760754369440816343263794838189024065845276716006375452388371389470046090332281981333840192225113655354443632591342292105631603545195133862546286519951198938558091727784670405313196069299035133610703173166915934358778332745503750596221118978683935483409045115680968025120467843559078429218897127371306591895770931837587253420182808666507523325149835830200465031340137990141319872289485031134301569073099237868731969035474185144729263952863203618567039164144911351760884492898654230142217372443652113710552871571230463578674873842877104817536570744747812812742014715442176215249173574301601666947834213522592597886462037164814351753529993216497467085875986352414006513188120372549350990356483658086305259162019967728126681948557677959447031972248882593532484943797871885437390500741056804516074690821673056236841948152825069009122060696400516937004269831318489740530785583354444637327512968494301306516463107890272759755105704615016930497351120184273511450781623257127761623585033146097957951251241990941178630883489355531902698734074237064217262763044346353320978386069395806998866476792124806898459386925913949206499407082604456696853177522672178279794734547676664539720333946289908325328429627098470183914748574950032269509127906569108371144221523232285468274406864771513935093678979585632787126526825882474667092106407028462638953779850239089263345608376974351937492265462996728525669669803877953247117272967256790165864475785161500247298641034545080930997522096966080805519655705280308389358796584643667495950426854923195363710141496804 20899049306565943092105600003830126783962614492223358745908885309680021518495406950604250256492417305333466126673765616276790075623060208148899755821913832674285858691047875476482908378939709809591204297075958578435018584917414327447345897455980332095588082819916180042681935717886487743090589232673880394065697094806292696483793826618944847429994265347328156072182109840200503355927445786594178762258353636168168925740983157658843999178042664229560204347690365781087480275538318667103082002840281950360135086677583718530058617654558885706942107676661962980489433469716871485954997023472792207997353738505247300149384632192754695180258458081907889358951487314152003294568276495122144895295288576355697159049809882314795630468799377961325379403987973965493415647163969235145731770923960041079521978679874981154616775345463016348735192022301222157186193565278138946028628827840306681310607190607696966248837085877646431843567899694181651705665519599199905855217114785852824067577418093488779705579231255997641231754601264857695407554361959618403398032424202127347838383722465575954035879069184455579557070835418370320685928879282461052259634860021385369977632530910378984707476626929854704627328133985788855190460603142759311955778750478651922571348809453720854125039497992858424537794757308296895735696466544207936652931550004297950919006533280550768811118658012755896233473813232480043313384133538050318622150292029319954963936202210085266498944419055234592931836854493590635326481924314523960363379660915104908984892046445736468515502053396354576773013029485086514620437631422985288681595564416063595958390981226815561254232680983250298506402466851407568250718687319292262814866441483969058644941170120173864252840068060301681525270914756483290543251469909266575885574695975169743903690593009965265209826793327457648200075267047381725212042952669989264061886181883262175501693770451287381007643295271541055872654826410822629902196342596590541428095035487958843764704328339282955976748596999079444966090076313376351241388724076235435788425172173928742657365913567298568507924530062091017133760976874924129520651666639231078704216088721830387969787562393878706510827757945428007742211057528323457660368819039448925488847063514313073698817292798605393287687463139436488280876901539463147467130462384359911653229387364926405055844540393738333775465315450180522866669835302389468259355647861829929795670538857885986629514602917654649540717289803177928635205910556279245165990575017009032470714073710776739016763425958938465806049856925219019767507154578147345637456574211857021656507056038944378355005064008359710657001678879742381138893777825582412463293628871643185902797497121133194594480946634365590379475939697170576969152181962068702198629310122577776035742010054109531978841611261909894872749789391924299761869625041061362704210025017708396450768636736464451964068248868814232920288029003578518948309818555917546375417592521713038788427135808473396589201104608761465024713315791554780678051887426695357245916519344974096092565336718720280319254744945097672586997271696575783210908658844393150438578209413989309829020516412511247837516063718352291209641760384518000291860832772458934215437189013401794924969360433488441585690260171645453847902799597605638553948145831996150559510287535788444130217573689531617856483920783890404720088936102564833908570794331149392183635061366569347908631417796294161462365690487178609885765764148014354596477333495853877194391245706413727132160526009747718279806187507896533747534691639652484913633964373887233824498149322967963201477155565873737535500089403962662724026039214270927168069461144311761162512382745778591919895401879098557089392350176796816327366341864084049813531617190517278161635019303006193738486997396658703040515269514547282462980626939591337064763346079649097790200917894406472577203393332622722544181891179687298479041535176717802869837123311414434062389740747310995361233748811428252356188757923584555237871006541172915469162341207 33815372110583616893668118927242964989656395243952483997034962051663944215569318128624239461943955786967607160289903408890052246954810404365083940887459776177038627672228118357823978105457984120224244541593233356262631877805644152486098784038294545998030206876792315578122708385318586652859640071528242251717925547461559301681797036806654633923958843103430499942701092241818654797525416816566736906917054661526764377695500421703917319460862316466656334481545551670081877359349451342890092335038937282768139393595806315565688162943702435973729243381416302055696330916397418354757215840869207600566990718874790372398446607573812945111036713472407833926728417703853104429179413714694806676139468320487104088099186896195312720567394059899031822709908990846841953211480979891411767467077190699064510889160185603328941368901314812561547309482462001209228045641849181580850315504296805263888962579693739173045430892122955093160340717904954042828086416664343350399477522313231185533036046917671666166188078512620980363877577169502011615992791966372373213289050830043196301025543542160415818845041512434910512764901949748961152032372597537031928088694304459298860800221319693055159291061477381850327111125257003693891694131488262514914475119647830350394784397889829106113430198710502579936342078439575468891068719325083500577461102638941780820533670461320798495728133116682644928477268097266443549156074062090855565306528895874966973223262460481477952886654911495868387131689076592091093128978224361749407317565714287118857253622825587284099133804976979529716399228741800460987569747278814302747549785565140099453946788428701539907288539864702896384393609667869650010734027485300517662253625068473701312225638982327322198762122011387135725408649711529831404372905168391468025739316566602981513888164531554343574326185877353033714489933089129043726922507570025213555177288301679281984816912551065563742092943709114283935748578415300512802150160281682385586479465535957000594643696976958057616139275870496932508777761556772092366062600790158733847545300337088935874859696300318623856087690077096732704379545930227506391142559894102156633617022674485135404925463368718438900473871907636981397089436280007221777038511130005966632133242663845283727501544723262473270408134768963527337344087822857462097428734973422838770412889178755388303747008253918703742916118984494159514989203278352379722513323087705271408103691200562571559048845414428410398553097079523786558966664925720061509254369855198056536559350426783114469151797348408511896382138906552859959732268233501789270047916503962653260052251172806924641525015207298268748729463550147694334963076860716023166466795787577544681130242624883790815599925318301073788521055378138602089620025521147131417526437493884367931512941891696785399024419928417418197899625222124764793209763031202682576499510048842698019841735974333183933103723053958962184240892207197085987473963467269307259910491175943181005799579460587107142072675839225043699587158668659598214622632174508169987931234787150311341738911020321947267088958467690270473459308861390134964438652060890617524454195766403316342208636785060598827872547376438596468803780352246126973809390450418381247409437895995327409913158305373878976191001228449969922593621270661875395896298657065159681570983936305381134487405008021358387269504138335042047601904596866140425033902221422151938740765981586278405982537980567672913147313744306371509350797294112312547728575486795055825274735061945629830894600246811935542569231854249854725920761035459483780110756498694132283885075236917169700884238170330434388677612076140942518760586890935466888403407434220086490942009844248775834643976829130826598520256745905187471587865096369518087938481962031213255313998888638980865013823279133370132621676543009921416760477178680600410371723054001035282466380891134998246873197210575969661454858436477464343517320338218050168478157856495365059911837713391800880889454091736641714985342567252051188297861464368279179303838011 54714421417149559985773718931073091773619009736175842742943847361343965734064725079228489718436373092301073286963669025166842322577870612513983696709373608851324486363275993834306886484397693929815448838669191934697650462723058479933444681494274878093618289696708495620804644103205074395950229304202122645783622642267851998165590863425599481353953108450758656014883202082019158153452862603160915669175408297694933303436483579362761318638904980696216538829235917451169357634887770009993174337879219233128274480273390034095746780598261321680671351058078265036185764386114289840712212864341999808564344457380037672547831239766567640291295171554315723285679905018005107723747690209816951571434756896842801247148996778510108351036193437860357202113896964812335368858644949126557499238001150740144032867840060584483558144246777828910282501504763223366414239207127320526878944332137111945199569770301436139294267978000601525003908617599135694533751936263543256254694637099084009600613465011160445871767309768618621595632178434359707023547153925990776611321475032170544139409266007736369854724110696890490069835737368119281837961251879998084187723554325844668838432752230072039866767688407236554954439259242792549082154734631021826870253870126482272966133207343549960238469696703361004474136835747872364626765185869291437230392652643239731739540203741871567306846791129438541161951081329746486862540207600141174187456820925194921937159464670566744451831073966730461318968543570182726419610902538885709770697226629392027842145669271323752614635858373334106489412258226886975608007378701799591429145349981203695412337769655517101161521220847953194890796076519277218261452714804592780477120066552442759957166809102501186451602190071688817250679564468013121947624375077658043911314012541772725417578757541519608784152979204810681914565200136510768938965460240014477617063470184941457486510683002352944749736238980655339808403404826123142704346502878272927014574501023915844359348025316241013592887872869576377474867837870148443607451324866394169635970472511017678532225609867617192364012220139187749838140522805151635911794226533333235337833111396315523374713025762597145411301629853064989139300493808330679437407330169454892120980306178158357426318837521867866558095597908400015618220989362320609564559197357782750423642276543681793359591548647657037518381434434674682381659038580741847981868970949535201203774230058448558188563448332083059939270386882701715194172575481999306675244944872207089007273424137559853485915223307346977702431995831771879727239422811649134907504490715819674916559307211751302996530079215657979405731142429890075473856854686298435629760424659220730583927739746016985410080871952666664167996995075309179058772207483215833616155747616462143967254951945806317377866031190327313070649414614049064555079388072264045280709535066551094470610372710797635897171971922773195104528921210775604935783782023186853635328083697656219794226715269060503731273780447986508724300474460214378892674519601203527233847754132124407434304247739042227586343703412787943060456580557965918175347310905283767963032405180392626171229153197571846665388611094790887678445540736764127265670223222877315462846626909397122334882518738862320561881261400095423770496420868267513949844444489061310241081271472093825264704978697552976243753424922225446767690840699430974333604696552571544122375827348155626314613955776861834375513004231484981395116561442126667144205908982648933019665980768359356963055126256559653822375419362146388473455452675111968693744720872581366108383224559885132902361393736204171924177701480103605242786626105206394056472868578531847653454392590027367754539378708229383687912606922702003798954206960453567901470099152548491416949018191645174603500820675792073173136946057557203879741104118271937475135069133650133072667298785541470824076590543198692205636749616164762822558855514935853038315281167909799122301578460702796242123202903164894071174100490836606426168868005541194648466179218 88529793527733176879441837858316056763275404980128326739978809413007909949634043207852729180380328879268680447253572434056894569532681016879067637596833385028363114035504112192130864589855678050039693380262425290960282340528702632419543465532569424091648496573500811198927352488523661048809869375730364897501548189729411299847387900232254115277911951554189155957584294323837812950978279419727652576092462959221697681131984001066678638099767297162872873310781469121251234994237221352883266672918156515896413873869196349661434943541963757654400594439494567091882095302511708195469428705211207409131335176254828044946277847340380585402331885026723557212408322721858212152927103924511758247574225217329905335248183674705421071603587497759389024823805955659177322070125929017969266705078341439208543757000246187812499513148092641471829810987225224575642284848976502107729259836433917209088532349995175312339698870123556618164249335504089737361838352927886606654172159412315195133649511928832112037955388281239601959509755603861718639539945892363149824610525862213740440434809549896785673569152209325400582600639317868242989993624477535116115812248630303967699232973549765095026058749884618405281550384499796242973848866119284341784728989774312623360917605233379066351899895413863584410478914187447833517833905194374937807853755282181512560073874203192365802574924246121186090428349427012930411696281662232029752763349821069888910382727131048222404717728878226329706100232646774817512739880763247459178014792343679146699399292096911036713769663350313636205811486968687436595577125980613894176695135546343794866284558084218641068809760712656091275189686187146868272186742289893298139373691620916461269392448084828508650364312083075952976088214179542953351997280246049511937053329108375706931466922073073952358479165082163715629055133225639812665887967810039691172240758486620739471327595553418508491829182689769623744151983241423655506496663159955312601053966559872844953991722293199071209027148740073309983645599426920535973513925656552903483515772848106614407085306167935816220099910216284482542520068735379142302936786427435391971450134070800658779638489131315584311775501760701970536389930088337901214445841299460858753113548842003641153820382245130339828503732677363542955565077185178071661987932331205589194055165722437181663338556901575741261297553419168841896648241859094227704382294037240472611877921259011129747612293746511470337823483962225501753139240407719368184499314727405145543832774564342967955067020655755489598814134738324739686971691045150924177552407219782328176611558384558227638055094422956248154460605980037769808819931547014458796227220446798275265057982370900776225680797270967737956518050453447781148392233004362965033682185110346511898767893837503102776890451118744731268549039836173829348289151103466727857209045115393792490452108685130819830275694976732157288769813417972690923257745490456160895238574873599400800026294729647610873346456287211552423887633128873977107297151775711697221778988919274718776043158759364174853432661880478213533915889419356053139785962966174385487486600946795942513437789982632445493261158471229484147249321089010254239479613673295696710256064805392449744795677044236199538072262628545393693090042138929389345740743146126469922652255408399206399192383705574334631022929060560488815292745296297114758638598773993696061116593329741904720596493757429507288660317975791352904467358736238979691934484469443988844940715830304986793949726503371589364944651216396243199376213710571452473855477371275498392268299796802302603245631906534606312855313556244547761547212996141860944876276012751934144396402434276143589183355537360210286432863668607191270542072056823085989408581114579704672263017080284155468514643954925443305758622600567125296501581296952537885506792187651168355133679676676469070949787753774661867091608052642227166076175853153903206793439024405164182213416174094597123012656994901535786159443058088657614466729469909473827770017229 143244214944882736865215556789389148536894414716304169482922656774351875683698768287081218898816701971569753734217241459223736892110551629393051334306206993879687600398780106026437751074253371979855142218931617225657932803251761112352988147026844302185266786270209306819731996591728735444760098679932487543285170831997263298012978763657853596631865060004947811972467496405856971104431142022888568245267871256916630984568467580429439956738672277859089412140017386572420592629124991362876441010797375749024688354142586383757181724140225079335071945497572832128067859688625998036181641569553207217695679633634865717494109087106948225693627056581039280498088227739863319876674794134328709819008982114172706582397180453215529422639780935619746226937702920471512690928770878144526765943079492179352576624840306772296057657394870470382112312491988447942056524056103822634608204168571029154288102120296611451633966848124158143168157953103225431895590289191429862908866796511399204734262976939992557909722698049858223555141934038221425663087099818353926435932000894384284579844075557633155528293262906215890652436376685987524827954876357533200303535802956148636537665725779837134892826438291854960235989643742588792056003600750306168654982859900794896327050812576929026590369592117224588884615749935320198144599091063666375038246407925421244299614077945063933109421715375559727252379430756759417274236489262373203940220170746264810847542191801614966856548802844956791025068776216957543932350783302133168948712018973071174541544961368234789328405521723647742695223745195574412203584504682413485605840485527547490278622327739735742230330981560609286165985762706424086533639457094486078616493758173359221226559257187329695101966502154764770226767778647556075299621655323707555848367341650148432349045679614593561142632144286974397543620333362150581604853428050054168789304228671562196957838278555771453241565421670424963552555388067546798210843166038228239615628467583788689313339747609440084801915021609649687458513437297068979580965250522947073119486245359124292939310916035553008584112130355472232380660591540530778214731012960768627309283245467116182154351514893912729723077131613766959675690423896668580651853171468915750874093855020161998580139219766998206386599330585763558573786066547498681226547129688988339617697442266118975022930105549232778779678987853843524278307280439836075686251264986775673815652151317459687936175742078594530277093870844927216947311815889718674859744259599612234551106198701902821440982243963102467301246130570096619414211113856800059085056897935602003093170865596309530634585173638614227560191748409927845282676786233312894425987645106019005848985722116917761635761669223634402124515045528756960207164440487578798649837932726808655866022845783309420154756482309072044339198454450222893903368539175730773137918580181944886961062481395928455727447666899505352393298734628748295859041527513643014530566658571255620594253009998708114604620236735198061148188107589088355999971671376915224455626743051399126210347406498406402439776365293266156594372469977321971315133273871458153450519006127188568684666943180204292158649769566020371825694861825774381505149836896173012173102691714789572079678195783098520099953524028640817463586463007196903295585187635187780163733526880493031663897362403127310874776353982785935582983585995728089092243295326565240183492420677897531035210449534291341664173322207276334299583920178365646836140393452092921864606696598664343757004852759931243187320070578542631672831666385683421167600198243856864500651524356687435505607025642738778237033015036348153004333839101348255001349144591283781797850795024303511343722734245589593974345470591309195069496279017276653890878680267128196089212035271929330072015464630717516478895568658124329176242685415224475360641861321301301427800978462217939895026378296973354072728357668806989988635031368089756245108720192314963304514994634797393365135859898066429857333543548925264040635597475450668476236196447 231774008472615913744657394647705205300169819696432496222901466187359785633332811494933948079197030850838434181470813893280631461643232646272118971903040378908050714434284218218568615664109050029894835599194042516618215143780463744772531612559413726276915282843710118018659349080252396493569968055662852440786719021726674597860366663890107711909777011559136967930051790729694784055409421442616220821360334216138328665700451581496118594838439575021962285450798855693671827623362212715759707683715532264921102228011782733418616667682188836989472539937067399219949954991137706231651070274764414626827014809889693762440386934447328811095958941607762837710496550461721532029601898058840468066583207331502611917645364127920950494243368433379135251761508876130690012998896807162496032648157833618561120381840552960108557170542963111853942123479213672517698808905080324742337464005004946363376634470291786763973665718247714761332407288607315169257428642119316469563038955923714399867912488868824669947678086331097825514651689642083144302627045710717076260542526756598025020278885107529941201862415115541291235037016003855767817948500835068316419348051586452604236898699329602229918885188176473365517540028242385035029852466869590510439711849675107519687968417810308092942269487531088173295094664122768031662432996258041312846100163207602756859687952148256298911996639621680913342807780183772347685932770924605233692983520567334699757924918932663189261266531723183120731169008863732361445090664065380628126726811316750321240944253465145826042175185073961378901035232164261848799161630663027379782535621073891285144906885823954383299140742273265377441175448893570954805826199384379376755867449794275682495951705272158203752330814237840723202855992827099028651618935569757067785420670758524139280512601687667513501111309369138113172675466587790394270741395860093859961544987158182936429165874109189961733394604360194587296707371308970453717339829198183552216682434143661534267331469902639156010942170349722997442159036723989515554479176179499976603002018207230907346396222203488824804212040571756714923180660275909920517667799388204019280733379537916840933990004025228314034852633374468930212080353985006481866299012768376609627207403862165639733959602012128546215103063263127101529351143732676752888535062020193928811752607988556156686268662450808520040976541273012366174955522298930303390633559024016146427530072576470817683788035825106000614917354807152718700451056297438043044243574327017380094938973266245789396049264618857956900060265308421359101182804901950983262609305155384331269782423980867758272640268061570475714652354389965615091496717780327353222214865552817281114043704487818537861442466494602140081033095982204741355556673491941763683520117837155167764790739620812522931646933427816775607747494286396723251657690279197500995127625297338679451514590081059275557723361876237509682068548046720986782299273004099175425805233444855021394279304728355725477966693022409613572075740717962333107268823152626921677405731970673844986390565257770577293209027173744370128288359396678024454919236837632538938005607073984511198104733162836737651910928037249855972944182914784635744629450569468708883358756520182021824473872827334719638025786657186211156676505146126292641325930781314250086385782288892238063089746108701645505799283043346424398276331292025203850881894100558936244609014007639435755806943291720848952833640183067687204051278914604626528074877921536910709547412428969330550954579263302832552264721794938874872207880096254873641455675615132362892919824153489738108852657549273384549888328592592700765881052097490115946225420604035715942247197458579654932906089782949804260778334259916386340038351074099739880287261381707900761475052352213485540530108585642959784654191258691454472744266712177013246148653508952469782934658138894408965976166050748015939819965721449217154711207221243659451902159216720127486728410808891990488148516892967965643492986607013921655102326945360142304006213676 375018223417498650609872951437094353837064234412736665705824122961711661317031579782015166978013732822408187915688055352504368353753784275665170306209247372787738314833064324245006366738362422009749977818125659742276147947032224857125519759586258028462182069113919424838391345671981131938330066735595339984071889853723937895873345427547961308541642071564084779902519287135551755159840563465504789066628205473054959650268919161925558551577111852881051697590816242266092420252487204078636148694512908013945790582154369117175798391822413916324544485434640231348017814679763704267832711844317621844522694443524559479934496021554277036789585998188802118208584778201584851906276692193169177885592189445675318500042544581136479916883149368998881478699211796602202703927667685307022798591237325797913697006680859732404614827937833582236054435971202120459755332961184147376945668173575975517664736590588398215607632566371872904500565241710540601153018931310746332471905752435113604602175465808817227857400784380956049069793623680304569965714145529071002696474527650982309600122960665163096730155678021757181887473392689843292645903377192601516722883854542601240774564425109439364811711626468328325753529671984973827085856067619896679094694709575902416015019230387237119532639079648312762179710414058088229807032087321707687884346571133024001159302030093320232021418354997240640595187210940531764960169260186978437633203691313599510605467110734278156117815334568139911756237785080689905377441447367513797075438830289821495782489214833380615370580706797609121596258977359836261002746135345440865388376106601438775423529213563690125529471723833874663607161211599995041339465656478865455372361207967634903722510962459487898854297316392605493429623771474655103951240590893464623633788012408672571629558281302261074643743453656112510716295799949940975875594823910148028750849215829745133387004152664961414974960026030619550849262759376517251928182995236411791832310901727450223580671217512079240812857191959372684900672474021058495135444426702447049722488263566355200285707138239041833388324170927228947303841251816440698732398812348972646590016625005033023088341518919141043757929764988235889887770777881675062518152184237292360501301258882327638314098821779126752601702393848890660103137210280175434115082191709182268429450050254675131709198768000041298820655529126855890453262802738766379076884824010791820243182223893930505619963777903700530892011225652079935647762872187156717903987833926629614646045171968148610837031508581960424201306395878517978515393918758751042347666203090986334362953289577177288907225441700184703274844102799893460374173504013640247648202510658836286963029426604736299497204135718236542205548141510961701562721113979520562333358050563963823630813585404121943086403415736888819946945948736619617155026229454928274133046205479283566412577071476987731285171028775742862075367282675469282641340800517742189956371892016110641988532314727063840082586929757607674720263848307050689107240494529542146133032475022072971196737971756176979732985392467010526722660829373999995770052510709090692388524613201173079882771676343041029810560697603270227798639044740559017249779287465641721056461448234971593904152068610433239737979310685827028620262968153323195936911118416502030250119309169385269726987108511828956380575637026132359981259917287753292943125189427124176428101434685536966791017392826012190617006962390344021503635199092970273364215271373629832574154109027633674307959432023234075739584792373481506545039546481938294809055873858989227393571348510177173614459683192012162786921343628940853770214891198838370947574565195319497740097992482883166276628824028539398235123804851225581409534630091376393771165941648836096850687087624142815612545573216360476263549759916815783648986952127401488606790514830253771210735636601112348861002544347721370012548323390256207143346238589333415697010879409035090791243405443689383853284376791034395500826530155939185695737924420810810780242410123 606792231890114564354530346084799559137234054109169161928725589149071446950364391276949115057210763673246622097158869245784999815397016921937289278112287751695789029267348542463574982402471472039644813417319702258894363090812688601898051372145671754739097351957629542857050694752233528431900034791258192424858608875450612493733712091438069020451419083123221747832571077865246539215249984908121009887988539689193288315969370743421677146415551427903013983041615097959764247875849416794395856378228440278866892810166151850594415059504602753314017025371707630567967769670901410499483782119082036471349709253414253242374882956001605847885544939796564955919081328663306383935878590252009645952175396777177930417687908709057430411126517802378016730460720672732892716926564492469518831239395159416474817388521412692513171998480796694089996559450415792977454141866264472119283132178580921881041371060880184979581298284619587665832972530317855770410447573430062802034944708358828004470087954677641897805078870712053874584445313322387714268341191239788078957017054407580334620401845772693037932018093137298473122510408693699060463851878027669833142231906129053845011463124439041594730596814644801691271069700227358862115708534489487189534406559251009935702987648197545212474908567179400935474805078180856261469465083579749000730446734340626758018989982241576530933414994618921553937994991124304112646102031111583671326187211880934210363392029666941345379081866291323032487406793944422266822532111432894425202165641606571817023433468298526441412755891871570500497294209524098109801907766008468245170911727675330060568436099387644508828612466107140041048336660493565996145291855863244832128228657761910586218462667731646102606628130630446216632479764301754132602859526463221691419208683167196710910070882989928588144854763025250623888971266537731370146336219770241888712394202987928069816170026774151376708354630390814138145970130685487705645522824434595344048993335871111757848002687414718396823799362309095682342831510745048010689923602881947026325490281773586107632103360442530658192536211498985662227021912092350619250066611737176665870750004542949864022331522944369357792782398362704820099851131866681544384451197005668970128508662744493278048058423791255298816805457112017761632488354012852187003617253729376197241202658243231288395467430450849818861632070399868256628218325037696682467518383034807966670712296470401323303751813728806531506928580459232654348213928484594760948231408253646994740984145234394400233080773200818381101366661186939337616576723660702025610275508246370665632735713558045047179865709761755178989496457189859075465670221793967600870417376211653568077073131092554837358646602212838682286581237493166442918277787471462326016878168401118991395604325024934466018050349164705595554693443023016340406683919734125775128173830776622245864091661558047006842894390651980371757435830722190269423640073521841365382177125460965663382811619455419565560553622780017288292339589025013022214509317682169067810438206992746816183128537013947557026194419640754896850949188770678020224971747546723231326530220275157591080876409505877767462471625640520083771583227655343652994408738035110429939820204755153615728625941437767959376005097343013239776939473299449488578237049197816280336505091458277507790076854620530601886374920069478784379536248579778496794007083527683112672710448693176402546824336117733039569840602573411708707686478007574899892290149295166743283701521456603004858914011286536908291849514168420381417247426578193168450511549474121590286491172663666911723312340741285547336809672221533554536095943296328486893799985799355213682345189941462821209534913811489202495902139111141967749572981165476133651453203030543997612162139976356301153075681802003436048203951175507238121731218839578501852939168339206240993670294740006757826978710398469385952368289111705424298057445810577075148913038625755218277971816252581374341432893684002361144319516762953107350840251366170953084248623799 981810455307613214964403297521893912974298288521905827634549712110783108267395971058964282035224496495654810012846924598289368169150801197602459584321535124483527344100412866708581349140833894049394791235445362001170511037844913459023571131731929783201279421071548967695442040424214660370230101526853532408930498729174550389607057518986030328993061154687306527735090365000798294375090548373625798954616745162248247966238289905347235697992663280784065680632431340225856668128336620873032005072741348292812683392320520967770213451327016669638561510806347861915985584350665114767316493963399658315872403696938812722309378977555882884675130937985367074127666106864891235842155282445178823837767586222853248917730453290193910328009667171376898209159932469335095420854232177776541629830632485214388514395202272424917786826418630276326050995421617913437209474827448619496228800352156897398706107651468583195188930850991460570333537772028396371563466504740809134506850460793941609072263420486459125662479655093009923654238937002692284234055336768859081653491582058562644220524806437856134662173771159055655009983801383542353109755255220271349865115760671655085786027549548480959542308441113130017024599372212332689201564602109383868629101268826912351718006878584782332007547646827713697654515492238944491276497170901456688614793305473650759178292012334896762954833349616162194533182202064835877606271291298562108959390903194533720968859140401219501496897200859462944243644579025112172199973558800408222277604471896393312805922683131907056783336598669179622093553186883934370804653901353909110559287834276768835991965312951334634358084189941014704655497872093561037484757512342110287500589865729545489940973630191134001460925447023051710062103535776409236554100117356686315052996695575869282539629164292189662788598216681363134605267066487672346021931043680389917463243418817673203203174179439112791683314656421433688995232890062004957573705819671007135881304237598561981428673904926797637636656554268468367243503984766106505825368029584394076047978545339941307917810498681572491580860382426214609530863163908791317982465424086149312460766629547982887110673041863510401550712163350940709987621909748356606902603381242961330629809921626820916362157245570382051418507850960908421735625564293027621118699445438558465670652708497906420104666198450891117682287599526724147081481127776463061544403207045599786913894520364331828923715591632507062398939806111312589995976800671751478852219242180276609387029317202543011070112281782778805302673057065457316131970642419453067957941711337356999995689003135222336087091151461939882264340559989752535839843725807607848518619886870489855040102557697291136855850737931075224492129379004128144480998901450982888350236218965082815026417910429056409104453764901594415501639391759635957561710149189054049261220036255905812276668733035034738128065419427723233832803113397659552064980874039583555338549017477076305371343934182483405643140552537624963012603437332063711321749812211711213943470682014819787379866508770124536759179812107765423573610018144678015995024258255813923715054833476330670963648085848918797273032323243790311570222272395902670244188025500752150996281652990125209632778010048201199113984408028840268397202441452772684515148167614318310586624400627662777517063963132359558266950557095611144360796165867531789737132272954807289100811883378713369337841728943745230186847564963755730211321677100545173256505420668796575857855630484236679166873443309770984031434306541901887962286973060131463259567423333110817680062521173844085337772023933297710123731015850474408306310834495166857841374550994674711422443182424345987486163737840028600731025943962367549159107611256852527422619144679380094462849227600499116765621255018363912311753711092323021770718170966979990459729683169460012204405931341119106687981254746190755964916612501961631441403684399910490845923918034790309069215221696270758194717270475036756645146046918892293046578175786981763864491033922 1588602687197727779318933643606693472111532342631074989563275301259854555217760362335913397092435260168901432110005793844074367984547818119539748862433822876179316373367761409172156331543305366089039604652765064260064874128657602060921622503877601537940376773029178510552492735176448188802130136318111724833789107604625162883340769610424099349444480237810528275567661442866044833590340533281746808842605284851441536282207660648768912844408214708687079663674046438185620916004186037667427861450969788571679576202486672818364628510831619422952578536178055492483953354021566525266800276082481694787222112950353065964684261933557488732560675877781932030046747435528197619778033872697188469789942983000031179335418361999251340739136184973754914939620653142067988137780796670246060461070027644630863331783723685117430958824899426970416047554872033706414663616693713091615511932530737819279747478712348768174770229135611048236166510302346252141973914078170871936541795169152769613542351375164101023467558525805063798238684250325079998502396528008647160610508636466142978840926652210549172594191864296354128132494210077241413573607133247941183007347666800708930797490673987522554272905255757931708295669072439691551317273136598871058163507828077922287420994526782327544482456214007114633129320570419800752745962254481205689345240039814277517197281994576473293888248344235083748471177193189139990252373322410145780285578115075467931332251170068160846875979067150785976731051372969534439022505670233302647479770113502965129829356151430433498196092490540750122590847396408032480606561667362377355730199561952098896560401412338979143186696656048154745703834532587127033630049368205355119628818523491456076159436297922780104067553577653497926694583300078163369156959643819908006472205378743065993449700047282118250933452979706613758494238333025403716168267263450631806175637621805601273019344206213264168391669286812247827141203020747492663219228644105602479930297573469673739276676592341516034460455916577564049586335495511154516515291632466341102373468827113527415549913859124103149773396593925200271757885076001141937232532035823325978331516634090932751133004564807879759343494561713645530087473041615038151287054578248630300758318584371314194410215669361637350235313308072926183368113918305879808122316699167934662911855366741137708500133628901740936543919669926592403709699452814159744011921590080407753584606816834733152227467405361313593905868386570545244344190729156346239800450650433923604128013462436937411303193054983597186404039718252396653748547366080155093568217219583727665628424716693267383266956861223695061253837017179611611305513947601575449389037263082143423117175688789845974214497340143913906778710616497294587399276688922445214367114387366201806422022235453990875122504114066300011056332834782652297968394068923179824389393867032528058140760394593081744970959810079703605590238944119849821488620947561424920720726142938041968754155553637902971203694175317642251304943026357076733536259129893880281753908889007566603562995045784072093785374231748520320424559206915356036219996005802537155041585053751488262044524495354796564735503948884310395341805500051246323238596763535862580936101857745278825361403951485969158489989505371853508174141914752222173093385216812134590923129492085940285307140817752890160153325477165089928740332414447310286531139356482490401773522332071889771884666065061478269756688167537167438919008155108120073148795569963963319141557151940839684025787454596307892323283820710322269379534399638324631710078972807232407966553693837510997061084364674583257460540688072007962842406777791495344735174536794029925104788372365808808695698651651517803226928083073509516908680592422328661074072347709924092075011367576855417918696936820367348359957662267830259892449389806558492312668851508666253198076226081125864514959965144660141917284901613667055739461130210487565994836956660545527347187037948852132536150164159039117789465563681845400397418427153152716948739657721 2570413142505340994283336941128587385085830631152980817197825013370637663485156333394877679127659756664556242122852718442363736153698619317142208446755358000662843717468174275880737680684139260138434395888210426261235385166502515519945193635609531321141656194100727478247934775600662849172360237844965257242719606333799713272947827129410129678437541392497834803302751807866843127965431081655372607797222030013689784248445950554116148542400877989471145344306477778411477584132522658540459866523711136864492259594807193786134841962158636092591140046984403354399938938372231640034116770045881353103094516647291878686993640911113371617235806815767299104174413542393088855620189155142367293627710569222884428253148815289445251067145852145131813148780585611403083558635028848022602090900660129845251846178925957542348745651318057246742098550293651619851873091521161711111740732882894716678453586363817351369959159986602508806500048074374648513537380582911681071048645629946711222614614795650560149130038180898073721892923187327772282736451864777506242264000218524705623061451458648405307256365635455409783142478011460783766683362388468212532872463427472364016583518223536003513815213696871061725320268444652024240518837738708254926792609096904834639139001405367109876490003860834828330783836062658745244022459425382662377960033345287928276375574006911370056843081693851245943004359395253975867858644613708707889244969018270001652301110310469380348372876268010248920974695951994646611222479229033710869757374585399358442635278834562340554979429089209929744684400583291966851411215568716286466289487396228867732552366725290313777544780845989169450359332404680688071114806880547465407129408389221001566100409928113914105528479024676549636756686835854572605711059761176594321525202074318935275989329211574307913722051196387976893099505399513076062190198307131021723638881040623274476222518385652376960074983943233681516136435910809497620792934463776609615811601811068235720705350497268313672097112470846032416829839480277261022340659662050735178421447372453468723467724357805675641354256976351414881288748239909933255214997459909475290792283263638915638243677606671390160894206725064586240075094951363394758189657959491591631388128505998135110772372914932019401653821159033834605103739482598907429241016144606493128582508075239044128604799827352632054226207269453316550791180580590622805556324797126007540498501337199064981151182996993820656304808192681857834340167529828097718652669892614200213515042779639480422373305336766375991706712775317853969880518008499608161526158930921084665624113719828489719354048012685634943518177577169364147145357673409183297907657149952633278157278246487137111070348078074989131270839995501422731880275590373428102717350606331284621448440145883047284226957878967894426557972226542288255530104218112233873650613903288433870417429127628116483099025229507426839423042057517509373553601821601008476059275160415118274125499487820386376846834727855267214317546463689140444858008942105591495697379571022386390942861554554196630544554043856285743998169225060034052215020264058351078756639887227818933008172581203715362008536272128100706912027772447148993482784789036614731932383510735404034994181961534170357603973913400693776571344356204994857608533384426452901509753892713603062824204780885249718420276034260701073101128580314842076268271629437297690874334215450603141222507794005223499943535732500923169130329832208665246405300990632759894999412782425076363192660897906078876354718127252224157341821372698456094969646396140343225646616215011355082398856388607880967584271703922482371148717612286662202576549087788704636527231554790154796181862389491546403957954027035877066067788203679181188496691492389304186537860595177354534684318191838731260671711373360153281663167560773538482772398534678126265402482157422244971202941219890850897882201514115628687180864814610398056840760874695335836416402259645122890730867434634075874434611610600737693443996602940134480813230691643 4159015829703068773602270584735280857197362973784055806761100314630492218702916695730791076220095016833457674232858512286438104138246437436681957309189180876842160090835935685052894012227444626227474000540975490521300259295160117580866816139487132859082032967129905988800427510777111037974490374163076982076508713938424876156288596739834229027882021630308363078870413250732887961555771614937119416639827314865131320530653611202885061386809092698158225007980524216597098500136708696207887727974680925436171835797293866604499470472990255515543718583162458846883892292393798165300917046128363047890316629597644944651677902844670860349796482693549231134221160977921286475398223027839555763417653552222915607588567177288696591806282037118886728088401238753471071696415825518268662551970687774476115177962649642659779704476217484217158146105165685326266536708214874802727252665413632535958201065076166119544729389122213557042666558376720900655511294661082553007590440799099480836156966170814661172597596706703137520131607437652852281238848392786153402874508854990848601902378110858954479850557499751763911274972221538025180256969521716153715879811094273072947381008897523526068088118952628993433615937517091715791836110875307125984956116924982756926559995932149437420972460074841942963913156633078545996768421679863868067305273385102205793572856001487843350731330038086329691475536588443115858111017936118853669530547133345469583633361480537541195248855335161034897705747324964181050244984899267013517237144698902323572464634985992774053175521579750679867275247979699999332017777236078663822019686958180966629112768137629292920731477502037324196063166937267815104744856248752820526758226912712457642259846226036694209596032602330047563451270135932735974868019404996502327997407453062001269439029258856426164655504176094590651593743732538479778358465570581653529814518662428875749241862591865641128466653230045929343277638931556990284012163107882212095741899384537909459982027089609829706557568387423596466416174975788415538855951294517076280794916199566996139017638216929778791127653570276615153046633315911075192447529495732801269123799897729848389376682171479269920237701286778231770162567992978432909476712537740221932146447090369449305182588584293656751889134467106760788471853400904787237363332843774427791494363441980181837104933456254372990770126939379908954500880033404782549568246387206415294083108154033798133378650402355134250210676579252403078684358258984443958453120543048123817643056242076417833676498391749973178110752493570250623629065374579763255094376150504812331252538436521757102621004873909330004772014594348975758450871621010758747296694413034776701274453935276983085284845418218903038049550611998717319279552279295873317084464993697486427870462381337038159349461993034194437614305061324940553498498287035413698040007770320961928558189522221198228069985039587130445013281001637359195042222769162433396780001303353160242879655041458289348050528903172909465622489490046217178394268071999471777451288460029952994505856600338268724329928275604806064422728431975390088435016269860888233798224940979307195052697076558511926744040221012411102253833272498395316721381552572477312868485368480682860355585913020139516093963418772547284745486270957217030701918601238587492432883384799543348131345598638139878573601511425791001841460994762152362799410985919788092647856547522492913107173859066701769700223900038090608049337987316785319554096560596723214140969934365916047218448352502386768678001947962546426721355772336780726679725368947575633613169908848866079459940753282464225044812391994490333991124390078157547311723624582734561632019927155963604877561041143064207184882110109386582976468796101509849570763840099228278612871962754209952603015128659098609031669035627983541555616950580096975085067386186792518600558383503370835717901185035511039799486415729295742920325944820885622835597831355881363763589297593975023267017598793114992224077174282583093841415030093287197761970349364 6729428972208409767885607525863868242283193604937036623958925328001129882188073029125668755347754773498013916355711230728801840291945056753824165755944538877505003808304109960933631692911583886365908396429185916782535644461662633100812009775096664180223689161230633467048362286377773887146850612008042239319228320272224589429236423869244358706319563022806197882173165058599731089521202696592492024437049344878821104779099561757001209929209970687629370352287001995008576084269231354748347594498392062300664095392101060390634312435148891608134858630146862201283831230766029805335033816174244400993411146244936823338671543755784231967032289509316530238395574520314375331018412182981923057045364121445800035841715992578141842873427889264018541237181824364874155255050854366291264642871347904321367024141575600202128450127535541463900244655459336946118409799736036513838993398296527252636654651439983470914688549108816065849166606451095549169048675243994234078639086429046192058771580966465221321727634887601211242024530624980624563975300257563659645138509073515554224963829569507359787106923135207173694417450232998808946940331910184366248752274521745436963964527121059529581903332649500055158936205961743740032354948614015380911748726021887591565698997337516547297462463935676771294696992695737291240790881105246530445265306730390134069948430008399213407574411731937575634479895983697091725969662549827561558775516151615471235934471791006921543621731603171283818680443276958827661467464128300724386994519284301682015099913820555114608154950668960609611959648562991966183428992804794950288309174354409834361665134862919606698276258348026493646422499341948503175859663129300285933887635301933459208360256154150608315124511627006597200207956971787308580579079166173096649522609527380936545428358470430734078377555372482567544693249132051555840548663877712675253453399703052150225464380977518018088541637173279610859414074842366487904805097571658821711553501195606145180687377586878143378654680858269628883246014456065676561196610956567811459216363572020464862485362574735454432481910546628030034335381555821008447662526955642276559916083161368764027620359778150660081131908011842818010237662944341827667666370497231813563534575596367584415954961499225676153542955626140595393575592883503694666604348988380920920076871517219225965709733283607005044996334208833225505292060613995405355124571184332422834581609491232863114529833399348954906515484771934260913024525788812541677105790435662324031158099021715898256049803728516349169817465268888104593509583383079371416620535081425896996876652156350246821975052886594964948290192171518339905596229294419942045204351562987409979431732181764120196355193496293892169320390607500140051159827869669301419801815600028771049318902527220085443576419872002088864172277287867228809028602505147647571690621673609395798975618649849314711169010269094557284436323059154868568595824590763441872839276463768278517005154529278675724897363631028176679940035953735357623252277014105063273148668031052339385448718154892465354874482319461091808420897657035424140650036533919239312554864828207126128060869657762227288752576493140511809165861044945544310204166341609092044800868879216086895349767874554309873697937332173241061316830627162211888310451985665040393942637277513146410955550379523389596993877545686492074942589575076994439067682615357085783522190762973096054329681653071925269643759632539013777179667819525450565959397551229483109140382716790992410411109250408465645032720075214770584063177145035236821649371765087918859259786123860221161858797141890345192629084095916972705139842002364819749888272712371439198159251481946118401059423430634610611142836137145263649044256999780691038067455332488532465150732557931564487287333320497829869703380408988136823218784511353635457857465920864918784003040540925615806920842404926361937681687929844924430101190759431283679676358706051217200179991557239097913997885033427190866658688784883320787285411633033421678575201041007 10888444801911478541487878110599149099480556578721092430720025642631622100890989724856459831567849790331471590588569743015239944430191494190506123065133719754347163899140045645986525705139028512593382396970161407303835903756822750681678825914583797039305722128360539455848789797154884925121340986171119221395737034210649465585525020609078587734201584653114560961043578309332619051076974311529611441076876659743952425309753172959886271316019063385787595360267526211605674584405940050956235322473072987736835931189394926995133782908139147123678577213309321048167723523159827970635950862302607448883727775842581767990349446600455092316828772202865761372616735498235661806416635210821478820463017673668715643430283169866838434679709926382905269325583063118345226951466679884559927194842035678797482202104225242861908154603753025681058390760625022272384946507950911316566246063710159788594855716516149590459417938231029622891833164827816449824559969905076787086229527228145672894928547137279882494325231594304348762156138062633476845214148650349813048013017928506402826866207680366314266957480634958937605692422454536834127197301431900519964632085616018509911345536018583055649991451602129048592552143478835455824191059489322506896704842946870348492258993269665984718434924010518714258610149328815837237559302785110398512570580115492339863521286009887056758305741770023905325955432572140207584080680485946415228306063284960940819567833271544462738870586938332318716386190601923008711712449027567737904231663983204005587564548806547888661330472248711289479234896542691965515446770040873614110328861312590800990777903000548899619007735850063817842485666279216318280604519378053106460645862214645916850620102380187302524720544229336644763659227107720044555447098571169598977520016980442937814867387729287160243033059548577158196286992864590035618907129448294328783267918365481025974706243569383659217008290403325540202691713773923478188817260679541033807295400580144054640669404676487973085212249245693225349662189431854092100052562251084887740011279771587461001503000791665233223609564116904645187382014871732083640110056451375077829039883059098612416997041949629930001369609298621049780400230937320260577143083034972035495681022686737033721137550083519332905432090093247356182047446284408481903967681832155348711571234959199407802814666739861378035766461148213134459792940647400187904692817571538838128664717645266661247908483801704089156726161351186663991708884047796985635558910978710447848801155263792316089726302120266322347928217762458355217138648757659134671714911231930709328129190592872003924596057760504294953062206765867315664047100915430700792501045976022186680706186117041103281640038914512795207369941219498857370439380148965174736886280593726257477189364908557123602925881865036283301786582349192169362527100792183061269730629443930357727533808172070512939238995308681687729449604060792227763638047359925875269619277767121438759884809570736965072947892534201086145562525443781574801646545086104535050599956491082292379954574755230734079204410595065897872843626089010814229085052803780127546353089769186433323113566734320739215496616714152922911419694317443939626925547894181569357669354247696769755705353787574449389791900750945788346062316898119428919012370586903627886375520662312689759086895978161529475567479057112283076784050569839146801867093601276873876170047310495588967436855512138627039343983532577104385229005806842235885513494111826206323281352651156908457629557602910852413710722023177317010784532917372017548329097134035494492872956032709087241318737895172809417673896487911463039130966392442977297199996336954173759791271409102082005936984471777674818327718247254650232020725795882200887638219172587760743763604520685774439890348449156928478735049444616120364774401461933732432942533307051711302603598924428986642638743589961872977481174345574220173021516704252169302511956537407098563943580854833072937264902632220305858882765959165903881126826663126708876337171390371 17617873774119888309373485636463017341763750183658129054678950970632751983079062753982128586915604563829485506944280973744041784722136550944330288821078258631852167707444155606920157398050612398959290793399347324086371548218485383782490835689680461219529411289591172922897152083532658812268191598179161460714965354482874055014761444478322946440521147675920758843216743367932350140598177008122103465513926004622773530088852734716887481245229034073416965712554528206614250668675171405704582916971465050037500026581495987385768095343288038731813435843456183249451554753925857775970984678476851849877138922087518591329020990356239324283861061712182291611012310018550037137435047393803401877508381795114515679271999162444980277553137815646923810562764887483219382206517534250851191837713383583118849226245800843064036604731288567144958635416084359218503356307686947830405239462006687041231510367956133061374106487339845688740999771278911998993608645149071021164868613657191864953700128103745103816052866481905560004180668687614101409189448907913472693151527002021957051830037249873674054064403770166111300109872687535643074137633342084886213384360137763946875310063139642585231894784251629103751488349440579195856546008103337887808453568968757940057957990607182532015897387946195485553307142024553128478350183890356928957835886845882473933469716018286270165880153501961480960435328555837299310050343035773976787081579436576412055502305062551384282492318541503602535066633878881836373179913155868462291226183267505687602664462627103003269485422917671899091194545105683931698875762845668564398638035667000635352443037863468506317283994198090311488908165621164821456464182507353392394533497516579376058980358534337910839845055856343241963867184079507353136026177737342695627042626507823874360295746199717894321410614921059725740980241996641591459455793326007004036721318068533176200170624546901677305549927576605151062105788616289966093622358251199855518848901775750199821356782263366116463866930103962854232908203887919768661249173207652699199227643343607925863988363366400687656091474663532675221717396427553092087772583407017354388955966220467376444617401727780590082501517310463867790637893881662088244809453532203849059215598283104618137092511582745009058975045719387951575623039167912176570572030820536269631648106476418633768524400023468383080762795357046359965085001261395593259817388755871260963246327136499524362438317201053044063241646123120924904733409836609527312664701414372771879959254285508214345776105848782671517745683031346459810648232140738506088335446313356606325005842749222250746571110647099259901352398937385655569643330209850642837705397539009596660137918298805223477995232410806687376690331826998997421599208018634476156688096193755028526508267435777209046502301737038372165958859637059398171555703297330708841421251117539753526509426821919827650408005577776245013885927119947096332233871950689317142458554230889717276889964100015640797845256165229262825502561397516932424898822100209598323748624522134631765403292910123199434078892914526989681264523746046238369735089337699366858907954597393559451174436392082966504249193207293434720585555362389483937129714235790661402470223126912856651055121662128759263489838083119029407379147525281640807322822572568668280318157939825836170042446357684919072561356602798775151726640144916141240934776216633959659692238073468685021766537165210552308987743165116118162408673626367686451472891663055689432421735367947900868040666853319318058743442098392087594847710062407254369978468899123413352132742156569308403177535037063154610302980583828435744270808394807797047088269049325612957950522891048200406996407902412285429470554384399913881064982795662891925705674505076293208914337078617338927177681769654758348438429853604257187993185973287367890799999227916630086606639465354602449559585994888234915162862275419144603122707463683452982188315243458315764123572412072170851262787665647496725541454744049224668412238296160130554912372431378 28506318576031366850861363747062166441244306762379221485398976613264374083970052478838588418483454354160957097532850716759281729152328045134836411886211978386199331606584201252906683103189640911552673190369508731390207451975308134464169661604264258258835133417951712378745941880687543737389532584350280682110702388693523520600286465087401534174722732329035319804260321677264969191675151319651714906590802664366725955398605907676773752561248097459204561072822054418219925253081111456660818239444538037774335957770890914380901878251427185855492013056765504297619278277085685746606935540779459298760866697930100359319370436956694416600689833915048052983629045516785698943851682604624880697971399468783231322702282332311818712232847742029829079888347950601564609157984214135411119032555419261916331428350026085925944759335041592826017026176709381490888302815637859146971485525716846829826366084472282651833524425570875311632832936106728448818168615054147808251098140885337537848628675241024986310378098076209908766336806750247578254403597558263285741164544930528359878696244930239988321021884405125048905802295142072477201334934773985406178016445753782456786655599158225640881886235853758152344040492919414651680737067592660394705158411915628288550216983876848516734332311956714199811917291353368965715909486675467327470406466961374813796991002028173326924185895271985386286390761127977506894131023521720392015387642721537352875070138334095847021362905479835921251452824480804845084892362183436200195457847250709693190229011433650891930815895166383188570429441648375897214322532886542178508966896979591436343220940864017405936291730048154129331393831900381139737068701885406498855179359731225292909600460914525213364565600085679886727526411187227397691473276308512294604562643488266812175163133929005054564443674469636883937267234861231627078362922774301332819989236434014202174876868116285336522558217979930691264797502390213444282439618930740889326144302355894254462026186939854089549079179349656079582570393319773860761301735458737586939238923115195386865491364158065920879701038780437320409099411299285175727882639858392432217995849279565988861614443677410520083871126609084917571038124818982348821952536567175884554896620969841651858230061666264341964407135812635307757670485452320658474539712652691618343219341435618041571339066763329761116529256505259494424877941908795781164510206327410099091911044781766185610346801002757133219967807474307588896442293884406512948223612393083219728760409549300530435502407969048993865673900793804815027786880898397640760050357545287315653135033342094254671167168407603554854414605703252971233690431125281343630206443515031783340844104415846326759635271325319482584060273046497854792038588167599650893574376787481286003697632344334332649428183602074655467745441986251567534082804089513770111151880561470111254043234993990340589647000886457932743335531180739324095871919310615192412077831998011156036774773670752605870793148699430348971065086841298507226545367186314133374348581013216924145357867665353933513283303509592887554108149835057052598820142141479494405261044366579992774288003126403705719745809921446357632005249679833423564055262129972230760139577374609626406760475449703208653281738834064817753441464423401069726335193159472296166693678602138525929129342335846448548128835659911058228510690714755288042801869817910833535862285383964273989203392677349179348331726697693222547637679433209922336986385774881895755703088019104809325670224456230170472454164121569404605632242979779271918307566033158907845005698189278395644496272932235964027976877071739898783401774787250774344288265386279786717741794300150282412933392374189960247798272631654564113085708591545092813343893677664053952677941599303113367068030218811686827173479298220377552767587435221100323742532534968341389210238389783589092198329584850107892644036620993364776144224167935622284700271780865414328067153266905243788527690297867802584424220703215128549539064959286839431249543821749 46124192350151255160234849383525183783008056946037350540077927583897126067049115232820717005399058917990442604477131690503323513874464596079166700707290237018051499314028356859826840501240253310511963983768856055476579000193793518246660497293944719478364544707542885301643093964220202549657724182529442142825667743176397575615047909565724480615243880004956078647477065045197319332273328327773818372104728668989499485487458642393661233806477131532621526785376582624834175921756282862365401156416003087811835984352386901766669973594715224587305448900221687547070833031011543522577920219256311148638005620017618950648391427312933740884550895627230344594641355535335736081286729998428282575479781263897747001974281494756798989785985557676752890451112838084783991364501748386262310870268802845035180654595826928989981364066330159970975661592793740709391659123324806977376724987723533871057876452428415713207630912910721000373832707385640447811777260203218829415966754542529402802328803344770090126430964558115468770517475437861679663593046466176758434316071932550316930526282180113662375086288175291160205912167829608120275472568116070292391400805891546403661965662297868226113781020105387256095528842359993847537283075695998282513611980884386228608174974484031048750229699902909685365224433377922094194259670565824256428242353807257287730460718046459597090066048773946867246826089683814806204181366557494368802469222158113764930572443396647231303855224021339523786519458359686681458072275339304662486684030518215380792893474060753895200301318084055087661623986754059828913198295732210742907604932646592071695663978727485912253575724246244440820301997521545961193532884392759891249712857247804668968580819448863124204410655942023128691393595266734750827499454045854990231605269996090686535458880128722948885854289390696609678247476857873218537818716100308336856710554502547378375047492663187013828108145556535842326903291006503410376061977181940744844993204131644454283382969203220206012946109453618933815478597207693629422550908666390286138466566458803312729479727524466608535792513443969995630816807726838267815655223265409786606951815500033365306231845405191110166372643919548785361676018700644437066761990099379733614112219252946269995322573249009351023382181532023259333293524620232835045111743473227887974867447912036675339863466786798144197292051862305854389962943170191374424327595083281360055157371918265709972785118203810177283209453597428513801175703721016040260888313807455991608719663834808744781278513817831665383419583825151274838435113039136146848385803858643921978140876091316505417738279054702814755767004640638626803333761335131986467911841054041380000982022714651550237630503736126169960750604873496852213637796186234127050262472981236314530205899780111541695930485339113027633704301623310965705638507386844478952573131679009864780552661815910168240055006464234177757221458300686420428105791261304509554536386228900873313664737770768246668638404864659611796567648238815439651444189286523731698097205535351555910761160575477132947362196424119877235372673581103290968555231479178861264168998963973552225462439518486672223995003128739792352590805042222907501184976365762892162609800501522483057815597111831967916771576917183847160820611948682710533658015732040964447011836541964362099171788693531367620690192262709833380237330859671429283736646034544793195554523457432959010969929842559731657319469862809340710046353059577608788459277437937585188124823387052710193710891309549488531197606219961492200479953042186526288286034932282321197138440345847704047673807969299118638279857655568334527672583182058571391376534435605399675692317191198482819929800276602245677268827016054477994150691387207984739049568182740347161592278677920452294245711988466445175611909151824634740760773408508468214542531762884971475816877855138191541757915579738342807806898896412509379266931631619075266888587024323730092190725678977414639790477963515299309965675447264353217951303255446969986161916253127 74630510926182622011096213130587350224252363708416572025476904197161500151019167711659305423882513272151399702009982407262605243026792641214003112593502215404250830920612558112733523604429894222064637174138364786866786452169101652710830158898208977737199678125494597680389035844907746287047256766879722824936370131869921096215334374653126014789966612333991398451737386722462288523948479647425533278695531333356225440886064550070434986367725228991826087858198637043054101174837394319026219395860541125586171942123277816147571851846142410442797461956987191844690111308097229269184855760035770447398872317947719309967761864269628157485240729542278397578270401052121435025138412603053163273451180732680978324676563827068617702018833299706581970339460788686348600522485962521673429902824222106951512082945853014915926123401371752796992687769503122200279961938962666124348210513440380700884242536900698365041155338481596312006665643492368896629945875257366637667064895427866940650957478585795076436809062634325377536854282188109257917996644024440044175480616863078676809222527110353650696108172580416209111714462971680597476807502890055698569417251645328860448621261456093866995667255959145408439569335279408499218020143288658677218770392800014517158391958360879565484562011859623885177141724731291059910169157241291583898648820768632101527451720074632924014251944045932253533216850811792313098312390079214760817856864879651117805642581730743078325218129501175445037972282840491526542964637522740862682141877768925073983122485494404787131117213250438276232053428402435726127520828618752921416571829626183508038884919591503318189867454294398570151695829421927100930601586278166390104892216979029961878181280363388337568976256027703015418920006453962148518972730354367284836167913484357498710622014057728003450297963860333493615514711719104845616181638874609669676699790936561580549924360779472350350666363536466533591700793396716854658501596112681634171137506487538708745409156143074295562025288803275013398048990527467490183852644125127873077705489573998699594971091682532529415493552224407316039916219026123443543537863123802218824947664779599354167846289082601630250243770528633702932714143519626785888714526666555618169008840222787921853552634915273692987789317344658567090964010072553493519651456125919506318086789347654716911202533550127905313821308367565348814840885078987155588837801410691459147068416700031895583131919206567310503177261071736102697617997605422553209111926200539211337480073384109275216780921786880659249093484618956089866221993937533787608436161403931237631275909433410760088905447462306369610181610343891598037024192460413330098118284569073163341826127130497876997265775061445652544810877919994707005676384353833777943836849768717600533903532124445874345358668941187683101449743609562533239721311476358249063725012240479976034595896809900508829702007350692110500556989481425744523977710571919701966614218226912029350439511441520852539431553564089960767632735080113946877989556472837865072445786548568480056119028240831066460645499933712764789480823416160343567375373620658355669430043330553544999750442644890377943740813050186149984596054722056331065240238495735122922749377876132109464576072561535176570053315751248664914262076372083780259993208891513260613705515144102888028301131029377816168819027922620891608748021574426717326538515852455626731416808841397233000173322519908911005651196560502563257684032492787531125445663212819480943827911406157519519381115765779659003651770341530896806112196021965798206593600965441229042144138535126099692170080901535082666256734727308233311074357969309345735664799821885186393434111491348765232863192650792205925067099647709042107236399978753077552393461860404401114270220277223565661313742207278132002785388450045012293528360843729568538285064297853312865027116244921780633956245164588450700450935517405874155411155799554697551588858805189144420257878945882658428318168261383101894389896150479481767490368214733809417411460074876 120754703276333877171331062514112534007260420654453922565554831781058626218068282944480022429281572190141842306487114097765928756901257237293169813300792452422302330234640914972560364105670147532576601157907220842343365452362895170957490656192153697215564222833037482982032129809127948836704980949409164967762037875046318671830382284218850495405210492338947477099214451767659607856221807975199351650800260002345724926373523192464096220174202360524447614643575219667888277096593677181391620552276544213398007926475664717914241825440857635030102910857208879391760944339108772791762775979292081596036877937965338260616153291582561898369791625169508742172911756587457171106425142601481445848930961996578725326650845321825416691804818857383334860790573626771132591886987710907935740773093024951986692737541679943905907487467701912767968349362296862909671621062287473101724935501163914571942118989329114078248786251392317312380498350878009344441723135460585467083031649970396343453286281930565166563240027192440846307371757625970937581589690490616802609796688795628993739748809290467313071194460755707369317626630801288717752280071006125990960818057536875264110586923753962093109448276064532664535098177639402346755303218984656959732382373684400745766566932844910614234791711762533570542366158109213154104428827807115840326891174575889389257912438121092521104317992819879120780042940495607119302493756636709129620326087037764882736215025127390309629073353522514968824491741200178208001036912862045525168825908287140454776015959555158682331418531334493363893677415156495555040719124350963664324176762272775579734548898318989230443443178540643010971997826943473062124134470670926281354605074226834630846762099812251461773386911969726144110313601720696899346472184400222275067773183480448185246080894186450952336152253251030103293762188576978064154000354974918006533410345439108958924971853442659364178774509093002375918604084403220265034563573294622379016130710619183163028792125346294501574971398256893947213527587735161119606403552791518159216172056032802012324450819206999137951286065668377311670733026752961711359193086389212005431899480279632719474078134487792740416616414448182488294390162220271222955476516765935351783121059475734191848875208164283044011171498876681826424257534692786328564763199599147394292954237259691392251066000336926049511113360229871203204803828249178530013165396493972819202225788618297605555917037410377487786386714669164616498793701326438593470000240007995202946199737218918019998059435604712324632513068444107364704657106976669934456821965262575159609416785524727265506643726517009184365948614984530224840357953795545316566030125623114543342808149845149427234896278797571822505561482793491559219314180540067904994099322749953915064109431904557416041289154280300710735154045232873498945359818863202728016298143919489840815148558625810677069757013814926288257778447782112164952083501833224211521150604455812902664104249212289099208069958428749572564200383318929386529433745759361596770542992083920035966880188816308199408007696357832642024853496997263634535930605099837216933599042294527097225212882163377050167735816178925942337186859764279238566425214861498015085359178377654592522391669673367144486824892668432512075082688320766490793651224623554225060717351686067250127472919722909183789509220185330724988985352434098146610275161887000419926971332298830192011143252362468642662970666423311903967730385552365139913904940650757066131952734793210229713092007075329147534849376561492389006592149064152324494879635897723550239282578880973803739843888870834201304536592382876567838746941151367917127041334257490586069126428682547248052792992927394451602335926663763520101387091365961062291443030043144748275862498955144017955559454195744577178397297601869647034289134252238036752827596060738284340843994100059972175714160744326793508257834413818383534678087431173772818477445829512874512448604624860073068108646224898401204355571597743834985441671470180779403573376328003 195385214202516499182427275644699884231512784362870494591031735978220126369087450656139327853164085462293242008497096505028533999928049878507172925894294667826553161155253473085293887710100041754641238332045585629210151904531996823668320815090362674952763900958532080662421165654035695123752237716288887792698408006916239768045716658871976510195177104672938875550951838490121896380170287622624884929495791335701950367259587742534531206541927589516273702501773856710942378271431071500417839948137085338984179868598942534061813677287000045472900372814196071236451055647206002060947631739327852043435750255913057570583915155852190055855032354711787139751182157639578606131563555204534609122382142729259703651327409148894034393823652157089916831130034415457481192409473673429609170675917247058938204820487532958821833610869073665564961037131799985109951583001250139226073146014604295272826361526229812443289941589873913624387163994370378241071669010717952104750096545398263284104243760516360243000049089826766223844226039814080195499586334515056846785277305658707670548971336400820963767302633336123578429341093772969315229087573896181689530235309182204124559208185210055960105115532023678072974667512918810845973323362273315636951152766484415262924958891205790179719353723622157455719507882840504214014597985048407424225539995344521490785364158195725445118569936865811374313259791307399432400806146715923890438182951917416000541857606858133387954291483023690413862464024040669734544001550384786387850967786056065528759138445049563469462535744584931640125730843558931281168239952969716585740748591898959087773433817910492548633310632835041581123693656365400163054736056949092671459497291205864592724943380175639799342363167997429159529233608174659047865444914754589559903941096964805683956702908244178955786450217111363596909276900296082909770181993849527676210110136375670539474896214222131714529440872629468909510304877799937119693065169407304013187268217106721871774201281489368797136996687060168960611576578262628609790256196916646032293877545606800711919421910889531667366779617892784627710649245779085154902730949513014224256847145059232073641924423570394370666860184976816191227104305739898008844191043432490969952129899698522113702427843079556736998960816221340393515221544765339822084414655725066900611041026607346109162268533887053954824934668597436552019644713328165685602003197904664278349294205318329501139048956616944798289563975740900719196411698931861146679112166208534414283679810603027295214840357391592983881606553063063454570879100914203722065258126666506397240692694958138025595549173979315553976130225328421822877382146255958646664148410192187706684634276975647304232162053859017475050372360713486266224990564893901682937936172518671515598012964029003290386647823221488393836603788842436032185081130339560977080023156159969816849744455435711185899459021165618398758335437263537909476061212405143913487764822682724932014543760653809951747501511992839533331833118399043333407423302232199461842988778632488516022999217057139265868653196291545406814334320413423978103305978720495572603029085625080642224963324808267428111476629229112092321782914486335569631665453357233138008108556253786701986967742234902321056878208419681176989344764692850271053644433515067485674422866830170138155774050752286999958328248107951616597733374008524863936813677739456046658388141140227425011316574882377553668621862983814467225414418045152671039350603863576547075780646199367749232473122841108806538501146903023285812704345086118122701473236863164779281426717416099903432013969772369283970793327110184801149821299120677262862706134079375772462560540173896013285656185578186657527403026311472562208623491344714139843836491903549149390132719232367583616873196403022709181182686051914659327817495095967605291112660358591597205871110344981752809670405908915244208708769931224257690089243230728470370066304634702018932706483570742731496426814486281503098745467748223316752932039684914588820984836402879 316139917478850376353758338158812418238773205017324417156586567759278752587155733600619350282445657652435084314984210602794462756829307115800342739195087120248855491389894388057854251815770189287217839489952806471553517356894891994625811471282516372168328123791569563644453295463163643960457218665698052760460445881962558439876098943090827005600387597011886352650166290257781504236392095597824236580296051338047675293633110934998627426716129950040721317145349076378830655368024748681809460500413629552382187795074607251976055502727857680503003283671404950628211999986314774852710407718619933639472628193878395831200068447434751954224823979881295881924093914227035777237988697806016054971313104725838428977978254470719451085628471014473251691920608042228613784296461384337544911449010272010924897558029212902727741098336775578332929386494096848019623204063537612327798081515768209844768480515558926521538727841266230936767662345248387585513392146178537571833128195368659627557530042446925409563289117019207070151597797440051133081176025005673649395073994454336664288720145691288276838497094091830947746967724574258032981367644902307680491053366719079388669795108964018053214563808088210737509765690558213192728626581257972596683535140168816008691525824050700793954145435384691026261874040949717368119026812855523264552431169920410880043276596316817966222887929685690495093302731803006551703299903352633020058509038955180883278072631985523697583364836546205382686955765240847942545038463246831913019793694343205983535154404604722151793954275919425004019408258715426836208959077320680250064925354171734667507982716229481779076753811375684592095691483308873225178870527620018952814102365432699223571705479987891261115750079967155303639547209895355947211917099154811834971714280445253869202783802430629908122602470362393700203039088873060973924182348824445682743520481814779498399868067664791078708215381722471285428908962203157384727628742701926392203398927725905034802993406835663298711968085317062907825104165997789729396659749708164191510049601639602724243872730096530805318065683561161939381382272532046866261924035902226229688746625338864793116002558058187111083476599424998679521494467960169231799667560198426321735250959174256305551303051243839781010132315098022219939479079458126150649177855324214294903995263867037501413334534223980004336048028827307755224448541577344215615168594398637097551519993936627106694965994027322286075950690410065335695205400258299740149112406216529617229879547821945315212899792996305308514119621507170819275536207890873656522080091929081556850109480482865291102192900496324738342078840312952047717740100051503963230178535815302250027442426820796731467058332656589297555933843506977825444304745433969587932035495268625430662122395933560706427936977501789104571757834075309531130440949202763705096321300079459657664893014061521862969216034980544687016113885045650074428144714238368125008915427138537834678648009866099050955571470421589105896033501717972719936857047991561058613531770716408551989879405873447465276660892649378048839187817410687612639236583820332789536628127919607739450176206971644478279212445408038034658969774250614808198090668218731153093467734631441294509359411908269465543703101088113689064427453013616761847295658138621710735140218516237388283246970475196183747837468293282341586718726442623010547088839626456466585359473439057617022459827244846196331592529407126371193144803597517810953255544514333613207733380992577978945565129916437954073350523464515674819296494150270447196352872760888329520709296297073707171857858643203485275329919493061368988568240272045179989747468336866358531686968856443261338449178505581109129738952975236082310010582710675202135279521946693897665995218187511601572432650598767286359579983653784306362106629348205642043940256419329881546715104445041724985384566653242037716966604345042641224767330661902243188543750464214893445155088195602804564535460711179904303101039345967151738373711155095368224558212730882 511525131681366875536185613803512302470285989380194911747618303737498878956243184256758678135609743114728326323481307107822996756757356994307515665089381788075408652545147861143148139525870231041859077821998392100763669261426888818294132286372879047121092024750101644306874461117199339084209456381986940553158853888878798207921815601962803515795564701684825228201118128747903400616562383220449121509791842673749625660892698677533158633258057539556995019647122933089773033639455820182227300448550714891366367663673549786037869180014857725975903656485601021864663055633520776913658039457947785682908378449791453401783983603286942010079856334593083021675276071866614383369552253010550664093695247455098132629305663619613485479452123171563168523050642457686094976705935057767154082124927519069863102378516745861549574709205849243897890423625896833129574787064787751553871227530372505117594842041788738964828669431140144561154826339618765826585061156896489676583224740766922911661773802963285652563338206845973293995823837254131328580762359520730496180351300113044334837691482092109240605799727427954526176308818347227348210455218798489370021288675901283513229003294174074013319679340111888810484433203477024038701949943531288233634687906653231271616484715256490973673499159006848481981381923790221582133624797903930688777971165264932370828640754512543411341457866551501869406562523110405984104106050068556910496691990872596883819930238843657085537656319569895796549419789281517677089040013631618300870761480399271512294292849654285621256490020504356644145139102274358117377199030290396835805673946070693755281416534139974327710064444210726173219385139674273388233606584569111624273599656638563816296648860163531060458113247964584463168780818070014995077362013909401394875655377410059553159486710674808863909052687473757297112315989169143883694364342673973358953630618190450037874764281886922793237656254351940194939213840003094504420693912109230405390667144832626906577194688325032095848964772377231868436680744260418339186915946624810223803927147246403436163294640986062472684845301453946567092031518311132021164654985415240453945593770398096866757926981628581481750336784401814870748598773700067240643858603630917291687380858872778419253730894323396518009093131319362613454700624223465972733592511049281195515036290474383610575603068111033959160982697424744307244093254905509901217171792303301375900814199254956607834014950644267084365514666150966054891617099190160886828224572425064031513559358424972610427740150387898292395726174570234273846415308805077378587338218595587954090802175441003316697742074475640292318209065641373870595122246307462609894326946007489956712076703796444035699220386515606772606306204220464091669295310327871270869971667787296946260135359962563996814584800723277498408361622917745563315522079542324682176344456239429474514637469497233048868675056146163085774449322309187983904205926643512038496680249821262766693191770519909002703072982414428639227866620117016053344280350223760520456520549348897068012878622930586731145314088940923455653522137824111590742542562540828362139657213544688381675139531779911906390689074637150126980752688736950377829756121575964291101576290885227996496327154143171786600581309507794866053772217706467032900940091653689196409563085346407526439021021227483183706165716401233958184452100451147874483902517365912513243747614579285042033776402127223750000214392390940838418559221642670481992606148377910160283514027191945728178038252757546760611851670367538960632000839236388569897826109624053108802136013713173610603871828415572769246123246603246170138389539392722442852453602416242130994247509030339274624105364083767766657141979286708644518634074055389341979116013850243047056127937419879185189305847001789995540762669705698965689924124444173247335052916777921478752586214790023477795054972562157281925675374276266898914856573892630713558610055098916912377861571766345536060962275197461407401846507094190468491305750840009957045543049133761 827665049160217251889943951962324720709059194397519328904204871496777631543398917857378028418055400767163410638465517710617459513586664110107858404284468908324264143935042249201002391341640420329076917311951198572317186618321780812919943757655395419289420148541671207951327756580362983044666675047684993313619299770841356647797914545053630521395952298696711580851284419005684904852954478818273358090087894011797300954525809612531786059974187489597716336792472009468603689007480568864036760948964344443748555458748157038013924682742715406478906940157005972492875055619835551766368447176567719322381006643669849232984052050721693964304680314474378903599369986093650160607540950816566719065008352180936561607283918090332936565080594186036420214971250499914708761002396442104698993573937791080787999936545958764277315807542624822230819810119993681149197991128325363881669309046140714962363322557347665486367397272406375497922488684867153412098453303075027248416352936135582539219303845410211062126627323865180364147421634694182461661938384526404145575425294567380999126411627783397517444296821519785473923276542921485381191822863700797050512342042620362901898798403138092066534243148200099547994198894035237231430576524789260830318223046822047280308010539307191767627644594391539508243255964739938950252651610759453953330402335185343250871917350829361377564345796237192364499865254913412535807405953421189930555201029827777767098002870829180783121021156116101179236375554522365619634078476878450213890555174742477495829447254259007773050444296423781648164547360989784953586158107611077085870599300242428422789399250369456106786818255586410765315076622983146613412477112189130577087702022071263039868354340151422321573863327931739766808328027965370942289279113064213229847369657855313422362270513105438772031655157836150997315355078042204857618546691498419041697151100005229536274632349551713871945871636074411480368122802206251889148322654811156797594066072558531941380188095160695394560932857694294776261784910258208068583575696332974415313976748886006160407167371082593278002910985015108506473413790843178887426579021317466683634340395736961659873929539686768592833813383826813550270093241660236472443526163829343613422631818047034724805033945567236299019225446417384833394179703681592123382770366373495490419031554341421111988937602335013963497030726252052062468541796482854116832340386701938473452334193191583714528980944671589370441465356561031390586822499448460626977336978641593648743438906246917925640639943384203600909845796077405093121951516695951035109418310524669510940911655923868607799934974971965030660287905954325918312862346358966573124505481822792206739519130617240767166278719172196070162240047727441917113600055761840858802007163055922376922257755896124703242521778225066602980119456993055094445963028745088387272665756318889132179530483558754911837891091126707772790563207354838058332350640881880163505595676959800601371839780386008053658644452836017745123900121834988773281137398215321579070052320065305620002758028804034196421974981590301504492709955234799203381779146361161151676285341464296121125315738751556384669901520045188161639722462987565186027846789794695444195044025516669291005686566051441252144284410595908555118199670720083794748235749792310907144703303862644914722267991702679367454003184694516299771170826893770885030991356992368979829107088018342659056236229372069946331806921798067209611704025240188292945861692892243773491247408184523707123603382673984714685202193832054635451297333386659017094178982384941438322845310010247317775729687058776254521453166096307539126957779664767622842201070753108489525934477886782535962554542589348875786880932261944726828644656766064544114395535796936944722123155607390786761738497600557281900342653359483272052030753792378889378993173197251360299301319235065202780439539215399319642641978621309540139623904554532956747153805563131805823016659961948340625497735908641311704947546440157620229679461995105325270101261864643 1339190180841584127426129565765837023179345183777714240651823175234276510499642102114136706553665143881891736961946824818440456270344021104415374069373850696399672796480190110344150530867510651370935995133949590673080855879748669631214076044028274466410512173291772852258202217697562322128876131429671933866778153659720154855719730147016434037191517000381536809052402547753588305469516862038722479599879736685546926615418508290064944693232245029154711356439594942558376722646936389046264061397515059335114923122421706824051793862757573132454810596642606994357538111253356328680026486634515505005289385093461302634768035654008635974384536649067461925274646057960264543977093203827117383158703599636034694236589581709946422044532717357599588738021892957600803737708331499871853075698865310150651102315062704625826890516748474066128710233745890514278772778193113115435540536576513220079958164599136404451196066703546520059077315024485919238683514459971516924999577676902505450881077648373496714689965530711153658143245471948313790242700744047134641755776594680425333964103109875506758050096548947740000099585361268712729402278082499286420533630718521646415127801697312166079853922488311988358478632097512261270132526468320549063952910953475278551924495254563682741301143753398387990224637888530160532386276408663384642108373500450275621700558105341904788905803662788694233906427778023818519911512003489746841051893020700374650917933109672837868658677475685996975785795343803883296723118490510068514761316655141749008123740103913293394306934316928138292309686463264143070963357137901473921676273246313122178070815784509430434496882699797136938534461762657420001646083696758242201361301678709826856165003200314953382031976575896324229977108846035385937366641126973614624723025035265372975521757223780247635940707845309908294427671067211348741312911034172392400650781718195679574149396631438636665183527890426351675307336642209346393569016566920387202984733217391158847957382783485727490409897630071526644698465654518626407770491642957784639117903896132409596570462012068655750687756286469055073565445309154310908591234006732707137579934166135058526631856521315350074584150168228628421018692015360303713087384767460260905110012676919813144058764839890632817028318577736747446848880327905058096116362877422776685934067844815804722564540670446047922658013423676796369712635051388364018049512179005239849353148392446540322362995895315856454806980022711997445478439598638621513805561551066657680256998264671890536068380093772101893305571970647639366968366825501028413696756529120257465031713831364871924497677049447605322978496971595699788907984592666429183018832427830282163451595834413684802865499105687802842768546251947906008782895366089712129671978830843219323182393115858688700057106578948344101388481079910800657761485108287413069449010212558318606694167953055987960706566147272870858565012529664026042236556567525392202002275926781063368065031550905917056361717435250446384351766741952004826625417748439082099526572869414202688015636651734620927567289070531224960146232093058910794124321708901989513815942555008984502800455270531468291060590594682338288620475151724515563857602911370659735296620316401897287502013720194613038744865720103703421171971888426550827649175841446000103554266389209052441161289012930162551160168901095750257955622927344918759514893874358281493072854702597627701090012631499293696332021314189008048030263246882858774938467841270153933774761435376469435301641635431531475297053864199593596083298172623047586992005092008994547124981323723420928379601515474349023767576412699553709265347319057490065694654673169350620520181986917121810586659906673116642444022911548653371347278730821453886093511549647179991778251093027269971951044344602347277441105323065182237741954878236552136714046089975172839051887534025088680575494511777556601568317352897576439054480478447163670305763860662048718200878231728293876686460011106102719106794053534348088720985212835115282315644310998404 2166855230001801379316073517728161743888404378175233569556028046731054142043041019971514734971720544649055147600412342529057915783930685214523232473658319604723936940415232359545152922209151071700012912445900789245398042498070450444134019801683669885699932321833444060209529974277925305173542806477356927180397453430561511503517644692070064558587469299078248389903686966759273210322471340856995837689967630697344227569944317902596730753206432518752427693232066952026980411654416957910300822346479403778863478581169863862065718545500288538933717536799612966850413166873191880446394933811083224327670391737131151867752087704730329938689216963541840828874016044053914704584634154643684102223711951816971255843873499800279358609613311543636008952993143457515512498710727941976552069272803101231439102251608663390104206324291098888359530043865884195427970769321438479317209845622653935042321487156484069937563463975952895556999803709353072650781967763046544173415930613038087990100381493783707776816592854576334022290667106642496251904639128573538787331201889247806333090514737658904275494393370467525474022861904190198110594100946200083471045972761142009317026600100450258146388165636512087906472830991547498501563102993109809894271134000297325832232505793870874508928788347789927498467893853270099482638928019422838595438775835635618872572475456171266166470149459025886598406293032937231055718917956910936771607094050528152418015935980502018651779698631802098155022170898326248916357196967388518728651871829884226503953187358172301167357378613351919940474233824253928024549515245512551007546872546555550600860215034878886541283700955383547703849538385640566615058560808947372778449003700781089896033357540466375703605839903828063996785436874000756879655920240037827854570394693120686397884027736885686407972363003146059291743026145253553598931457725670811442347932818200909110424028980990350537129399526500763155675459444415598282717339221731544000578799289949690789337570878646422884970830487765821420960250564776834476354067339290759054431880645018415756977629383151249028690667271484163580038859099997489796017813028050173821214274561872020186505786061002118667417963552055441971288785257020540185530910931289604518532644494966847868863798785457869116047544024154132280243060031586650219499133243796272176353099399157225834553478272781061886155044149928848432181176847871218134881852565707178322805482585638124036891976839987445825248445379273028836065262098087082140782898529708251329000437170918808461709020037156305494215417766725044460090318342196979448806174839644926975972625487288740532297612024419570353638784877550025707220846939025395756143337909653074370191114965030925570031777824859998912930786299675347925896495421851552988473985993899141700104650871754813403299628357173410704368600536903855752207448137032501456721675968877207738873698436614742872544457238399578631355575737018864100568907208407272365507871603740863969436871331291925110020361888086464129475666863786993599906555146654403678596625189479508308018394680538655123989264052121526464638942048293709997506100855263150665492227896473280623925771009283024675730492114727526450260197614712080749885449701165355179491664341918566578507700286246054290889150130699611976290171559146634622397411591238311010698969693071697355883557004632841918614172085790266557726793754238689644545885231350650472901961790615970360146248860871363642663828235987075257641967272123047067884329534162397707266008843560993142425245018105516189982256058031648231534595506009706604086184074393935985447826633733668246155331202533125278289029578795861248392305098722257688536855743922459110046116464803904346549214449262465518230903843810598098175923387587518430207907085444116936500374248634660758712782842202904559341447976424665509793985632028931026093039263172424199351188853260153883355934050992955921210959331518885979194104383001696627052917666225180524023894891690242217311957747014744030811741599974505708950664674830220607585745572863047 3506045410843385506742203083493998767067749561952947810207851221965330652542683122085651441525385688530946884562359167347498372054274706318938606543032170301123609736895422469889303453076661723070948907579850379918478898377819120075348095845711944352110444495125216912467732191975487627302418937907028861047175607090281666359237374839086498595778986299459785198956089514512861515791988202895718317289847367382891154185362826192661675446438677547907139049671661894585357134301353346956564883743994463113978401703591570686117512408257861671388528133442219961207951278126548209126421420445598729332959776830592454502520123358738965913073753612609302754148662102014179248561727358470801485382415551453005950080463081510225780654146028901235597691015036415116316236419059441848405144971668411382090204566671368015931096841039572954488240277611774709706743547514551594752750382199167155122279651755620474388759530679499415616077118733838991889465482223018061098415508289940593440981459142157204491506558385287487680433912578590810042147339872620673429086978483928231667054617847534411033544489919415265474122447265458910839996379028699369891579603479663655732154401797762424226242088124824076264951463089059759771695629461430358958224044953772604384157001048434557250229932101188315488692531741800260015025204428086223237547149336085894494273033561513170955375953121814580832312720810961049575630429960400683612658987071228527068933869090174856520438376107488095130807966242130132213080315457898587243413188485025975512076927462085594561664312930280058232783920287518071095512872383414024929223145792868672778931030819388316975780583655180684642384000148297986616704644505705614979810305379490916752198360740781329085637816479724388226762545720036142817022561367011442479293419728386059373405784960665934043913070848455967586170697212464902340244368759843203842998714536396588684573425612428987202312927416927114830982796086624944676286355788651931203563532507340849637294953662132150375380728117837348065658716219295460884124558982248543693549784541150825353548091395219904779378423557953218653604304409151800704609047034782880958794208728007078713137642582317468742002113720284070392307477272380843898618295698749865423642657171886661012922563625348501933075862601890879727091940359491708315615496121219048862287167243973030557118018943227109808813057573605644801893811899259582152931364744712418172158630978084664359254972735303302280055425401985026281543701696725703654588460080774909009257435435590698997777400130928407387520989737372683827058685167698007862502931368765184441004339318653612456795289073867175676617281849145725496128831531691824939162170337483356533642710799444610372897276930547801755699332551623253934679390787941265118145964824742361023287043987613502103356734936121754805757081616814656409968933245319914526170686181435526345567866389670730833251023385672449489920588266682890142805463775932664567510147530521927337501902882197842166382079323336910513827433605738998426531972895093485778123198058893710996034031332273276051556553122652751424785174141352620791630422564165140179308170451482265126726226279814492966791082709409864738880672766436596313743052612536014914788284658320463866009714006440667329634015850803315397462143447573185450046587432684311114253236082280749797044846017563004469774340986886016815682416681583608404060779105708931965974816493213598061236261492370657338995849550176083305672230519005905842822797375432551641040770278937462577726886653537047665279309922231241827617893678632754191078189166402930532572807957457089174534932718007474302056605991495414957657652417779747754231510417091809730566298451721026157135874355935582160674926755359251469523202118408972316301418635091296928278625341661930730663827186805251836782553299489847747535940510265483162807085353147597038403076387285242563931428562770512522779276684416462418248584861448860297358681526887229242224773123418536093998417758120846749918535653508853797671649887665335889901389883861451 5672900640845186886058276601222160510956153940128181379763879268696384794585724142057166176497106233180002032162771509876556287838205391533461839016690489905847546677310654829434456375285812794770961820025751169163876940875889570519482115647395614237810376816958660972677262166253412932475961744384385788227573060520843177862755019531156563154366455598538033588859776481272134726114459543752714154979814998080235381755307144095258406199645110066659566742903728846612337545955770304866865706090473866892841880284761434548183230953758150210322245670241832928058364444999740089572816354256681953660630168567723606370272211063469295851762970576151143583022678146068093953146361513114485587606127503269977205924336581310505139263759340444871606644008179872631828735129787383824957214244471512613529306818280031406035303165330671842847770321477658905134714316835990074069960227821821090164601138912104544326322994655452311173076922443192064540247449986064605271831438902978681431081840635940912268323151239863821702724579685233306294051979001194212216418180373176038000145132585193315309038883289882790948145309169649108950590479974899453362625576240805665049181001898212682372630253761336164171424294080607258273258732454540168852495178954069930216389506842305431759158720448978242987160425595070359497664132447509061832985925171721513366845509017684437121846102580840467430719013843898280631349347917311620384266081121756679486949805070676875172218074739290193285830137140456381129437512425287105972065060314910202016030114820257895729021691543631978173258154111771999120062387628926575936770018339424223379791245854267203517064284610564232346233538533938553231763205314652987758259309080272006648231718281247704789243656383552452223547982594036899696678481607049270333863814421506745771289812697551620451885433851602026877913723357718455939175826485514015285346647354597497794997454593419337739442326943427877986658255531040542959003695010383475204142331797290540426632524540778573260351558605603169486618966784072295360478626321539302747981665186169241110525720778371153808069090829437382233643163509149290500626860062833054780008483289879098899643428643319587409420077272339512363596262529401384084149206630039469942175301666853508881786362410806371049123406626045012007335000391078358535114629365015321038640266643130256391671497216008171694968101723534493234074988747130800287813217310419596494964113563722788396146949575290748105303870781258055117608963794812785795371358610483160338257872606509507459486420168084712881736407504097728287149003509894987311309106208410111416976964805942352989092901098286746030256066726695751203349678470717220695305508247136430903833825764475535942929054755407800668630118851298601860575886209792818106619950818641502723391694859368315506656363293295165510125682153718512162176381382352415982892362150312734084441564826285473705795480624072028121276164003701754243374370984339936933018019134262791306938774213489767276402441211423374643303100469525992026438528041747889456719823248373219304052426012811931175545817174774277889424116189646330789136523419428290844800398347955545750651997289097517642521574824137391189140870381148677063628502313701370094279949000239030444517414292686721620523165981502927373752315006719820072443999023922622124952205775352447152928403022195846388388513072676283373409210435822298048606664337059582438876778283829568421382510353242020981659677786163158563314197791128952910707126909594949348306779122498455720152131671642563855261565980262890059152489184642460795164373240796866518020634591190757420690263920540599580345635570291276206049957516502005442768366161014268840612414916524930503685088805198047678905830599169849567699125505996490746509325720535413864778999590296591489376610029008156396124001275914513257329926142294414188900124616320021237754265240545396447287362613763468443990236015935348397442689244450556924411599193112409766248668015108778311310375505135590780730277253483359506622314562495556497487135456724498 9178946051688572392800479684716159278023903502081129189971730490661715447128407264142817618022491921710948916725130677224054659892480097852400445559722660206971156414206077299323759828362474517841910727605601549082355839253708690594830211493107558589920821312083877885144994358228900559778380682291414649274748667611124844221992394370243061750145441897997818787815865995784996241906447746648432472269662365463126535940669970287920081646083787614566705792575390741197694680257123651823430589834468330006820281988353005234300743362016011881710773803684052889266315723126288298699237774702280682993589945398316060872792334422208261764836724188760446337171340248082273201708088871585287072988543054722983156004799662820730919917905369346107204335023216287748144971548846825673362359216139923995619511384951399421966400006370244797336010599089433614841457864350541668822710610020988245286880790667725018715082525334951726789154041177031056429712932209082666370246947192919274872063299778098116759829709625151309383158492263824116336199318873814885645505158857104269667199750432727726342583373209298056422267756435108019790586859003598823254205179720469320781335403695975106598872341886160240436375757169667018044954361915970527810719223907842534600546507890739989009388652550166558475852957336870619512689336875595285070533074507807407861118542579197608077222055702655048263031734654859330206979777877712303996925068192985206555883674160851731692656450846778288416638103382586513342517827883185693215478248799936177528107042282343490290686004473912036406042074399290070215575260012340600865993164132292896158722276673655520492844868265744916988617538682236539848467849820358602738069614459762923400430079022029033874881472863276840450310528314073042513701042974060712813157234149892805144695597658217554495798504700057994464084420570183358279420195245357219128345361890994086479570880205848324941755254360354992817641051617665487635290050799035406407705864304631390063927478202910723635732286723440517552277683003367756244603185303787846441531449727320066464073812173591058587447514387390600887247467918301091205235907097615935738802692017886177612781071225637056151422190992623582755903739801782227982767502328789335365817958838740169894708926036154872982199269227935891734426940750570066850730125486234369900927433887103286948789516159235281503781159297140138035968800646390382440744582055132014667122744541807452755401922310594050385359296183243081399152665491538489449959818691258069347515308042100206457263820299013120269257397241470412114207688677592995173812037577175295857981304124595965445888190172153921706873348575841476699478510002409045634467678584619787437476536563920146315826331685955602424329451402921855795255276997734083224765915643383863746678738846981817610013098229416920315882763770533168572145314627672330509063048331748260430009431215956204539046504009744477611196752270384644386179834760272601500528166664784718644440677095687609442784520534760285157130534075264990452970500936841375234843021307266930300086457345085207227102370297427029314209290330998951580766945983593431024108568799437810877378223568912010609312657533547255928021543147585273377371554926237385009068233658559494310527128299127388950157181832306242771214458454293005522490586456606933239205441857633196949973249039758850858162854059562300189091627117405906452667443442768514404851594777043166482618771845612678320655527336339241868986428310134858753529924285027500989347549401435918297879018325179611520540875902494131886770382863275214986242562407199797050593442548647846595225196638548073882402241561786691163707609934281753196999876578106078571178713368245956660820963161133629839580757354529101037222327624405463062810744355626710793057624931958522220040437215813408232906554575404361004865866652559897351707209969467618276157341627830639011218791176533980966769512700351810815691274105899417221770280719999639008473441138527314405308793263256437530648812906992213304293964450160892387388525340585949 14851846692533759278858756285938319788980057442209310569735609759358100241714131406199983794519598154890950948887902187100610947730685489385862284576413150112818703091516732128758216203648287312612872547631352718246232780129598261114312327140503172827731198129042538857822256524482313492254342426675800437502321728131968022084747413901399624904511897496535852376675642477057130968020907290401146627249477363543361917695977114383178487845728897681226272535479119587810032226212893956690296295924942196899662162273114439782483974315774162092033019473925885817324680168126028388272054128958962636654220113966039667243064545485677557616599694764911589920194018394150367154854450384699772660594670557992960361929136244131236059181664709790978810979031396160379973706678634209498319573460611436609148818203231430828001703171700916640183780920567092519976172181186531742892670837842809335451481929579829563041405519990404037962230963620223120969960382195147271642078386095897956303145140414039029028152860865015131085883071949057422630251297875009097861923339230280307667344883017921041651622256499180847370413065604757128741177338978498276616830755961274985830516405594187788971502595647496404607800051250274276318213094370510696663214402861912464816936014733045420768547372999144801463013382931940979010353469323104346903518999679528921227964051596882045199068158283495515693750748498757610838329125795023924381191149314741886042833479231528606864874525586068481702468240523042894471955340308472799187543309114846379544137157102601386019707696017544014579300228511062069335637647641267176802763182471717119538513522527922724009909152876309149334851077216175093080231055135011590496328923540034930048661797303276738664125129246829292673858510908109942210379524581109983147021048571399550915985410355769174947683938551660021341998143927901814218596021730871234413692009245591584274568334799267662681197581303782870804299307148706030594293745809418881611848196101921930490560002743689296896083845329043687038896649787440051605081811625327149189513114913489307574599532951962212395516605216827983120890631427450381705862767160448990518811175307765276512424499868956643560842268264963095119500002331183612066916708958828805307993260505593678776495288446961244031322675853980903741761941141648425385844754851249690939567700530233543340461013375243453198749261020674631270043789393521182728557799365551611162086858105530241151548871885884798490663166964501136516761629286351275245331177301741229685773180648609713916750240467097833150993804745568140401356692187487982485121143785585407274958268930538318434981091270440667737129415302537227902828188473126266329773186831756218341310362328395682258755386441363403092959570254220457655831163207526901331385866462025366470070433706350133116669461522712085826008445924251680734321696010024746491955410482060994514450996042241678244841984633816505732472916274086398629554205744612538433546185799047509951379451309177376719186961746183659800433634544790982479409028978589264691562844555640149604138883357897138402648187472201307203633406520645282369903469403021721868908967147393356628030220858009528251834232357684647117162413528733950441000057239938755103348182658798524755044542591814110570680347813809170144966773461012825594934585480529555364157647632985644102901652061954697246551367132238583562500837553228204501274107779828096843728373060872734904001282198854699302315205122502400432300626101263811664237051194622450337654328523934374018031149996822175375802441882757021945922872047917675781406935647996663568614077139838604015915460559088673462747877132077967369757567450783758639768242739120347411791128284770887164506051966331677518486587953698950604921453130401953809320070076162124657836624522255113709417047244821564629030555851318874262195792794854311540607334585787639513911606868376035458506153790297449410759748716287159213133963350349974146181879913112048774722109153636092716619168768392028311379090160475572810916279012656448884875660797310447 24030792744222331671659235970654479067003960944290439759707340250019815688842538670342801412542090076601899865613032864324665607623165587238262730136135810319789859505722809428081976032010761830454783275236954267328588619383306951709142538633610731417652019441126416742967250882711214052032723108967215086777070395743092866306739808271642686654657339394533671164491508472842127209927355037049579099519139729006488453636647084671098569491812685295792978328054510329007726906470017608513726885759410526906482444261467445016784717677790173973743793277609938706590995891252316686971291903661243319647810059364355728115856879907885819381436418953672036257365358642232640356562539256285059733583213612715943517933935906951966979099570079137086015314054612448128118678227481035171681932676751360604768329588182830249968103178071161437519791519656526134817630045537073411715381447863797580738362720247554581756488045325355764751385004797254177399673314404229938012325333288817231175208440192137145787982570490166440469041564212881538966450616748823983507428498087384577334544633450648767994205629708478903792680822039865148531764197982097099871035935681744306611851809290162895570374937533656645044175808419941294363167456286481224473933626769754999417482522623785409777936025549311359938866340268811598523042806198699631974052074187336329089082594176079653276290213986150563956782483153616941045308903672736228378116217507727092598717153392380338557530976432846770119106343905629407814473168191658492403021557914782557072244199384944876310393700491456050985342302910352139551212907653607777668756346604010015697235799201578244502754021142054066323468615898411632928698904955370193234398537999797853449091876325305772539006602110106133124169039222182984724080567555170695960178282721292356060681008013986729443482443251718015806082564498085172498016216976228453542037371136585670754139215005115987622952835664137863621940358766371518229583796608454288019554060406553320554487480946600020531816132052484204591174332790807807849684996929114995631044564640809374038673345125553270982964119604218584008138099345751472911098674258064926257613867325651454125205571094593699712264459257586677875403742132965840049684211287618140673811219344333848671204214483116117013521945081916795476188881892218492236574880337484060840495134417336830289250529534478734702530420317814769306012590039911565169302381420683625829209602647337693906950794196478848876022463147744217915914294777889764695290995992999299033288488690709920374014060766110953420251201987038552515564380865080977658933181362760703132939573055134283880869281442594589444002763878378704602306698475535311964240865416376005778786898892315828574581718127319005517289021657142313451086440205260984556151782105409230216749172553331950726682559752129006141891209694784849306467010637697077001018458813809254944460427258197882783888488643560983343669668544471043015734040504885139934074352463832228595820128404864986161971482280943944957564168620055972932379529915430639926405865862907079904225340702982345629750557769628336517842696851644233950670415386615152893017535946831167505408444426921538861146889891231903045183956676319223818371612166176140112416416317358019065571670890941499520837529646115412916181231915305831117425171937136488603363089490618841052874901101713548104714221191800883751592464670634110953941551222596611248579967837915901386620054044467377622970732458841642301287054411398670417766975479649951327001877925370292315910168322001786896343317785251153832693254911192890767649498055196460619207519688486450611140657197636747345150118693864658533465177385065511836768119317226425982969841653016843825327015127465307358067345308228051642143780754807416872130814431788835450894249454213635929457484460634972861937110426723235267061659447414208892314544555255257790068948496206674469724944966831430377529261416638970028825237456249391367952160633111687783195550292163407121927962031648465842027903067467786115210243462817341272264186137896396 38882639436756090950517992256592798855984018386499750329442950009377915930556670076542785207061688231492850814500935051425276555353851076624125014712548960432608562597239541556840192235659049143067655822868306985574821399512905212823454865774113904245383217570168955600789507407193527544287065535643015524279392123875060888391487222173042311559169236891069523541167150949899258177948262327450725726768617092549850371332624199054277057337541582977019250863533629916817759132682911565204023181684352723806144606534581884799268691993564336065776812751535824523915676059378345075243346032620205956302030173330395395358921425393563376998036113718583626177559377036383007511416989640984832394177884170708903879863072151083203038281234788928064826293086008608508092384906115244670001506137362797213917147791414261077969806349772078077703572440223618654793802226723605154608052285706606916189844649827384144797893565315759802713615968417477298369633696599377209654403719384715187478353580606176174816135431355181571554924636161938961596701914623833081369351837317664885001889516468569809645827886207659751163093887644622277272941536960595376487866691643019292442368214884350684541877533181153049651975859670215570681380550656991921137148029631667464234418537356830830546483398548456161401879723200752577533396275521803978877571073866865250317046645772961698475358372269646079650533231652374551883638029467760152759307366822468978641550632623908945422405502018915251821574584428672302286428508500131291590564867029628936616381356487546262330101396509000065564642531421414208886850555294874954471519529075727135235749321729500968512663174018363215658319693114586726008929960090381783730727461539832783497753673628582511203131731356935425798027550130292926934460092136280679107199331292691906976666418369755904391166381803378037148080708425986986716612238707099687955729380382177255028707549804383650304150416967920734426239665915077548823877542417873169631402256508475251045047483690289317427899977381527891630070982578247859454766808554442144820557679554298681613272878077515483378480724821046567129028730773201854616961441418513916776425042633416730637630070963550343273106727522549772994903744464149452116600920246446945981804479849927527447699502930077361044844620935897699217950823033866917622419635188733751780062834947570373629711542909722187901279681338489400576056379433432747897860180786235236991296460752867935058499666082363647366685630112245354432675924064241039940622173294740528719061669339319634290764301233208786571245006732606692916921073052568960144054325148346110407897841985672602315850372713035257181132179180915932505134886948661578294014052248132224120097261220711510833337104568682408610248591911362771106917603412787885887537648567434596686819606259682083843352021274841091967899655619036530040788706647721823492973869295870249458911423300439561028730473277377489076142584818557441645288246249497678367620538262879738547199579714042362881158444027127604757997803164846955411788558894019904617968710418547229508364224060879484032398745241829643721476103372289516320573884789636874761926503094224524133438665284931067112981122248916550162346370205053174259371669406114895215764598976156543820616213482755610091517877459924583061148005376318656712359757417666043967520737123604485155776553163668245351265588324039467314093302223862315455215659002424708092308340898788636290621336243322076925285937581344042733587680512662482082004026674272401664656206449304666333941318318823962272145759668008175778616126959110566549056433703193124187821596828325054627056117756725420807897995825942625903222744835849270476536362056346773394760969937787730989833067093796984876553933261927002247065233885209370681450884507950960108730873976468749638874531705456537490967666278042109529257452242268520432921879141042897303980555364582709928231098757128879788289010132926129241959200806599365514134040546223736557917659445799499838547130800040494153406993227943358926126522475473790157139846935206843 62913432180978422622177228227247277922987979330790190089150290259397731619399208746885586619603778308094750680113967915749942162977016663862387744848684770752398422102962350984922168267669810973522439098105261252903410018896212164532597404407724635663035237011295372343756758289904741596319788644610230611056462519618153754698227030444684998213826576285603194705658659422741385387875617364500304826287756821556338824969271283725375626829354268272812229191588140245825486039152929173717750067443763250712627050796049329816053409671354510039520606029145763230506671950630661762214637936281449275949840232694751123474778305301449196379472532672255662434924735678615647867979528897269892127761097783424847397797008058035170017380804868065150841607140621056636211063133596279841683438814114157818685477379597091327937909527843239515223363959880144789611432272260678566323433733570404496928207370074938726554381610641115567465000973214731475769307011003607147666729052673532418653562020798313320604118001845348012023966200374820500563152531372657064876780335405049462336434149919218577640033515916138654955774709684487425804705734942692476358902627324763599054220024174513580112252470714809694696151668090156865044548006943473145611081656401422463651901059980616240324419424097767521340746063469564176056439081720503610851623148054201579406129239949041351751648586255796643607315714805991492928946933140496381137423584330196071240267786016289283979936478451762021940680928334301710100901676691789783993586424944411493688625555872491138640495097000456116549984834331766348438063462948482732140275875679737150932985120931079213015417195160417281981788309012998358937628865045751976965125999539630636946845549953888283742138333467041558922196589352475911658540659691451375067377614013984263037347426383742633834648825055096052954163272924072159214628455683328141497766751518762925782846764809499637927103252632058598048180024681449067053461339026327457650956316915028571599534964636889337959716109434012096221245315369055667304451805483557140451602244195108055651946223203068754361444844425265151137166830118953327528060115676578843034038909959068184762835642058144042985371186780136450870307486597115292166285131534065086655615699194261376118903717413193478058366566017814494694139704926085409858994515526217812620557969364907203918962072444200922603810101656304169882068969473344313067162562206918862820506063400205628965450460278842496242708093259989572348590218842130804635913169287739827752350158030029554664778361999319739991496208719645245432485453917649937802987506511106813540837415040806886196719654155629846625134943059294637107441585424196890258254917664508229898884160113027339407918822696001414127537613568505084558004043618048870443689430672843826903568778813014034570034581026970098109790865313821379347255717285418900493992328109679504403371850558637443812618961920938472419812253363028484661022286754382818301694890726711967143019708118907349043129926308071549715561971784902928344168088809450544544374576281454309412589564763861829662149303011457980239318800223933750271244300176252027654944039041055691638847109711852605974128012140148453207530326881372398077743281572291035328181015293514562886187884373697109612355407106039995977329237291624487829784929354802532570883826614223326208651454265381793455979809515840351065685766894496426409157210225021319340888308736704537677241390287789454548256670040185685034874734924061152499771002153922352991658084374674958649851486640825749168489077453259329611309381870303457316705931758389584807029116516811505238196774954362168153048114519807284436687922220914782313304481373573199377730811590804574815160082221262292234621278570155053889209014640016787553581698939739795559625123430682385568332016166091510352904776704765344796319111689682729325236423696298155094049503860789384397956043723960310165818271549565099270784438262848756882086201179335424341113209737962906960475092831688959995434896295411145041336765938291131429404033073103239 101796071617734513572695220483840076778971997717289940418593240268775647549955878823428371826665466539587601494614902967175218718330867740486512759561233731185006984700201892541762360503328860116590094920973568238478231418409117377356052270181838539908418454581464327944546265697098269140606854180253246135335854643493214643089714252617727309772995813176672718246825810372640643565823879691951030553056373914106189196301895482779652684166895851249831480055121770162643245171835840738921773249128115974518771657330631214615322101664918846105297418780681587754422348010009006837457983968901655232251870406025146518833699730695012573377508646390839288612484112714998655379396518538254724521938981954133751277660080209118373055662039656993215667900226629665144303448039711524511684944951476955032602625171011352405907715877615317592926936400103763444405234498984283720931486019277011413118052019902322871352275175956875370178616941632208774138940707602984357321132772058247606131915601404489495420253433200529583578890836536759462159854445996490146246132172722714347338323666387788387285861402123798406118868597329109703077647271903287852846769318967782891496588239058864264654130003895962744348127527760372435725928557600465066748229686033089927886319597337447070870902822646223682742625786670316753589835357242307589729194221921066829723175885722003050227006958525442723257848946458366044812584962608256533896730951152665049881818418640198229402341980470677273762255512762974012387330185191921075584151291974040430305006912360037400970596493509456182114627365753180557324914018243357686611795404755464286168734442660580181528080369178780497640108002127585084946558825136133760695853461079463420444599223582470794945270064823976984720224139482768838593000751827732054174576945306676170014013844753498538225815206858474090102243981350059145931240694390427829453496131900940180811554314613883288231253669599979332474419690596526615877338881444200627282358573423503822644582448327178655387616086815539987851316297947303526759218614037999285272159923749406737265219101280584237739925569246311718266195560892155182145021557095092759810463952592484915400465713021694386258477914302686223865211231061264744282886051780512032637420179044188903566603220343270839103211186953712193912090527959952327481414150714951564400620804312477577548673615353923110505089782994793570458125348906777060965022742993154099811802524153073564023950126361206143609393723372234926781266142906371844576535342582480356471411827369349188955542663232528526562741215452251938349406526970218897947041831659452923948735257026479488512570026868665103806267122240210569612576472372858468552268969912640454018981421333738850241255927264683822737786205479867855664921647030836756331227079240278423590388385072696118413386602301811190077690520932857909388044423933140723986966197405549753862283273859077004841349435198315961495954838181585926306310533003880496669315428989591705690219287832949711924288370335199154473559774949749883755956647703470449162343286700001538920953788824741313694548048253287623960794903596223266591818184965888902416870542135280215772285774996783673087109134389065003369876697086425572337114950978405930543945614269671106706804097856452719703873284565964579038477242667943144542144686772468576538404563737827811364428007429050038807245397839879818379779069118358741864372869227446027433196649635493173967862726531111531473542607621529727768462415436723634581775028828194754656314290823979624983792804959649711440634837121267505389925508829414023865762365461582708994850713345136559865252892711087588960946110345749910339910667056764052789840843429919972772491781528592305804993149315059277111175211832082056136274248525226158235032583447690755668355997407151135207206547871548047843872442982807454325576563931951249758158302837341052398030059225372094326187142481089189954107281682491228512743639069448122396220241725559160899030869183762406799022223631729454148841889523354503967463288413764921586543880008310082 164709503798712936194872448711087354701959977048080130507743530528173379169355087570313958446269244847682352174728870882925160881307884404348900504409918501937405406803164243526684528770998671090112534019078829491381641437305329541888649674589563175571453691592759700288303023987003010736926642824863476746392317163111368397787941283062412307986822389462275912952484469795382028953699497056451335379344130735662528021271166766505028310996250119522643709246709910408468731210988769912639523316571879225231398708126680544431375511336273356144818024809827350984929019960639668599672621905183104508201710638719897642308478035996461769756981179063094951047408848393614303247376047435524616649700079737558598675457088267153543073042844525058366509507367250721780514511173307804353368383765591112851288102550608443733845625405458557108150300359983908234016666771244962287254919752847415910046259389977261597906656786597990937643617914846940249908247718606591504987861824731780024785477622202802816024371435045877595602857036911579962723006977369147211122912508127763809674757816307006964925894918039937061074643307013597128882353006845980329205671946292546490550808263233377844766382474610772439044279195850529300770476564543938212359311342434512391538220657318063311195322246743991204083371850139880929646274438962811200580817369975268409129305125671044401978655544781239366865164661264357537741531895748752915034154535482861121122086204656487513382278458922439295702936441097275722488231861883710859577737716918451923993632468232528539611091590509912298664612200084946905762977481191840418752071280435201437101719563591659394543497564339197779621896311140583443884187690181885737660979460619094057391444773536359078687408398291018543642420728835244750251541411519183429241954559320660433051361271137241172060464031913570143056407254274131305145869150073755970951262883419703106594401079423382926158356922232037930522599715277975682930800220470528084933314890338532394244117412964067993347332196249552084072561613316359194063670419521556425723762167944514792917165324483652992101370413671576869403362391011108509673081672771671602844502862551553100163301355079838429243849101082822674735518717658380036449171183314577119293035878238450279685506937756464317161577752971526688606230232886037737340408666241169377021178773677384781467635687798124033108899884651097740340194318380121374032185305200072962632308587553279192989400586640048639852101816632224499129856361748502649212448511870220184223761985399378743620321025231848266554237424171897183781891980887868835750029338170559737489572672067286374709289681024294950431402065299505206720018057797055358810523887577148683917865581446766189649174749960685236865323819048372940222925690648885626774916509913122250493957163885710152983421183328781288187481386246679288735300141218559624480958525515229258265655124417714448653968397119254433915767091544614410967332819758263314971010319716303672833238995951857060967418296643270704189121746734652812100124736512920993706717862981455848333543353588603143356697351264745604200113703820157016863062485142140930071814581176335907411132884708636279061237146529213456577407023967797970414858232550696965872126629563185669592991982230149829316228691672004575015806479959567632371929616127271109109288390352051137573079461694431832263225207355720169445464836012855168273530079452467346774084958372197711645104116818900986021799277661715412803337150360784787081546030982117107647972375198654583633644291600475460609123914574526835001234890699717481182468297219972293801879829861948065103449667665449757113994224865557194776598589277678835103145324803493172150222593119396880620153231536321569345796490402237110025483263165242945788614282387430551227981120837833520775538564037639558196777219687572799121895675621633979083394726533639207492079563086161478724143186205049500119925553232056327783528077332296879278306442904894585240144078921725313759497316463418414144276785818765649008800054352056053015947913081413321 266505575416447449767567669194927431480931974765370070926336770796949026719310966393742330272934711387269953669343773850100379599638752144835413263971152233122412391503366136068446889274327531206702628940052397729859872855714446919244701944771401715479872146174224028232849289684101279877533497005116722881728171806604583040877655535680139617759818202638948631199310280168022672519523376748402365932400504649768717217573062249284680995163145970772475189301831680571111976382824610651561296565699995199750170365457311759046697613001192202250115443590508938739351367970648675437130605874084759740453581044745044161142177766691474343134489825453934239659892961108612958626772565973779341171639061691692349953117168476271916128704884182051582177407593880386924817959213019328865053328717068067883890727721619796139753341283073874701077236760087671678421901270229246008186405772124427323164311409879584469258931962554866307822234856479149024047188426209575862308994596790027630917393223607292311444624868246407179181747873448339424882861423365637357369044680850478157013081482694795352211756320163735467193511904342706831960000278749268182052441265260329382047396502292242109420512478506735183392406723610901736496405122144403279107541028467602319424540254655510382066225069390214886825997636810197683236109796205118790310011591896335238852481011393047452205662503306682090123013607722723582554116858357009448930885486635526171003904623296685742784620439393116569465191953860249734875562047075631935161889008892492354298639380592565940581688084019368480779239565838127463087891499435198105363866685190665723270454006252239576071577933517978277262004313268168528830746515318019498356832921698557477836043997118829873632678463114995528362644868318013588844542163346915483416531504627336603065375115890739710286279238772044233158651235624190451077109844464183800404759015320643287405955394037266214389610591832017262997019405874502298808139101914728712215673463762036216888699861291246648734948283065092071923877911263662720822889033559555710995922091693921530182384425764237229841295982917888587669557951903263691818103229866764362654966815144038015563767068101532815502327015385508898600729948719644780732057235095089151930456057282639183252110158099735156264788939925238882518320760845990064821822816956120941421799577989862359016309303152047143613989667645891310798319667286898434997208048193227062444111111706352757013350713001254783461495540004459425911122504654874493788983854452700540695173812768727932575863688464376793116978639624149122131298507858087733697071169830012661438307929093765863221859707892960054237669187539715776332594530169913827362792857489789137936847002780505039890430677225369059603110024528240795887847337679722383106143589153400674084345548958406271396807785630592478265171907179537198123344565151700348467924722920779012127938398276791453495317832317570395411721929726200337273643352762143811640325748705895378523458283784806772891706666978469858662681521684402695856081384216391442869061149681457387254497142413344457051245399518033228160908607416380283454880670108029832488685123311616123183418659705419952148346280918278459947283721054223542751973183529102896416072243832856776299796080086602549020101976237969154054283722627510776914074302899739685647692954089878948937507469123481871070470605195599987825243905131213910137902948679913374207281608007690885612966843350012517495341885283245140571799565797508421663321059810311862304286666022634208617437096560125172049758751695794340391160399529131505048230662681555002796730543207084624968702560376537346074940335211307105116509256334442887892986168233413144922714374647989186425146380851380846456971702234319166161757511690469104023646865835121306896337118244984655982745111909187606040649662670380253447472239553585228841553029370980259890109622311533573050330328686138690074032834914547556296271716401745001674526684630453746139174948105487720558519540095147868293118675342120152976263342765820974602491793089723403 431215079215160385962440117906014786182891951813450201434080301325122405888666053964056288719203956234952305844072644733025540480946636549184313768381070735059817798306530379595131418045326202296815162959131227221241514293019776461133351619360964891051325837766983728521152313671104290614460139829980199628120488969715951438665596818742551925746640592101224544151794749963404701473222873804853701311744635385431245238844229015789709306159396090295118898548541590979580707593813380564200819882271874424981569073583992303478073124337465558394933468400336289724280387931288344036803227779267864248655291683464941803450655802687936112891471004517029190707301809502227261874148613409303957821339141429250948628574256743425459201747728707109948686914961131108705332470386327133218421712482659180735178830272228239873598966688532431809227537120071579912438568041474208295441325524971843233210570799856846067165588749152857245465852771326089273955436144816167367296856421521807655702870845810095127468996303292284774784604910359919387605868400734784568491957188978241966687839299001802317137651238203672528268155211356303960842353285595248511258113211552875872598204765525619954186894953117507622436685919461431037266881686688341491466852370902114710962760911973573693261547316134206090909369486950078612882384235167929990890828961871603647981786137064091854184318048087921456988178268987081120295648754105762363965040022118387292125990827953173256166898898315555865168128394957525457363793908959342794739626725810944278292271848825094480192779674529280779443851765923074368850868980627038524115937965625867160372173569843898970615075497857176056883900624408751972714934205499905236017812382317651535227488770655188952320086861406014072005065597153258339096083574866098912658486063947997036116736387027980882346743270685614376215058489898321756222978994537939771356021898740346394000356473460649140547967514064055193519619121152477981738939322385256797148988354100568611132817274255314642082280479314644155996439524580021914886559453081112136719684259638436323099549750247890221942666396589465457072920342914372201491184902638435965499469677695591115727068423181371244746176116468331573336248666378024817181228418409666271223491935521089462937617095856199473426366692896765571124550993732027802162231483197290318442978351667247140483944990950171176722889552296989051138513985667019809029393353393300025076419699259631950002751299641303423313597356636683925040978866403377143001432366322920724918935798168106676196184713696225059671216063796046305913190488745956569447100508000572398927880601161052237931149388917255004669071252839220983052612587966969186173316745066937821854712584227271229539605427186054296468433843576613736110773028328608009881060099066522924578302712844116424380228968959373766452653293426216486858644706370259972948883248436008270393593522694505902149286229436824829327489021270814748240976172520407126611336068422199051356697279736663833859124963621740562851803268419055507956206120729312436575779012662913235588040496001947600407942750782778832361022311236537300317943155250170762560499704487952030594551544414056231209583427447491916524690745022021513166831416079799862288198873396042445892788062316752378336330667909973729070090202587078409286003919027010794756981344441930086510586930817913703333695812551320157270708741144069078411433028132380720981366566379888597258070960168913503517141162944960553375136716158293208744867090792428969952259041221288792251081388160600632658882666270321175392395290228848986230698959901527296598610373069032690072152228041987103188934560076864299893107845612121722996131493036906317072936967767386067045299612387702415802768192636556276187240774855712049812261148222551858124318239082818176758283675946827164237426882357953052569367915175219207924947755904619467382189185397695051774473514891188190193958388146603884079799793734041880952833127535348331379319027027213034318016856558566282437395461160885801985063397117877027618439706171136724 697720654631607835730007787100942217663823926578820272360417072122071432607977020357798618992138667622222259513416418583125920080585388694019727032352222968182230189809896515663578307319653733503517791899183624951101387148734223380378053564132366606531197983941207756754001603355205570491993636835096922509848660776320534479543252354422691543506458794740173175351105030131427373992746250553256067244145140035199962456417291265074390301322542061067594087850373271550692683976637991215762116447971869624731739439041304062524770737338657760645048911990845228463631755901937019473933833653352623989108872728209985964592833569379410456025960829970963430367194770610840220500921179383083298992978203120943298581691425219697375330452612889161530864322555011495630150429599346462083475041199727248619069557993848036013352307971606306510304773880159251590860469311703454303627731297096270556374882209736430536424520711707723553288087627805238298002624571025743229605851018311835286620264069417387438913621171538691953966352783808258812488729824100421925861001869828720123700920781696597669349407558367407995461667115699010792802353564344516693310554476813205254645601267817862063607407431624242805829092643072332773763286808832744770574393399369717030387301166629084075327772385524420977735367123760276296118494031373048781200840553767938886834267148457139306389980551394603547111191876709804702849765612462771812895925508753913463129895451249858998951519337708672434633320348817775192239355956034974729901515734703436632590911229417660420774467758548649260223091331761201831938760480062236629479804650816532883642627576096138546686653431375154334145904937676920501545680720817924734374645304016209013063532767774018825952765324521009600367710465471271927940625738213014396075017568575333639182111502918720592633022509457658609373709725522512207300088839002123571760780914060989681406311867497915354937578105896072456516638527026980280547078424299985509364661817862604828021517135546561290817228762379736227920317435843684635709448486640667847715606351332357853281934176012127451783962379507354044742478294817635893309288132505200328154436492839629131290835491282904060248503131853840471936978615097669597913285653504755423153947992803728646189727253955934629691155632822004453642871754578017866984054300153411259864777929657109499500254294102218320336879219942880361936833652953918244026601401586527087520530810965984707016102012642558206775092896641143350952101371058251636790416220775621265614109610936834608772048402160601852788194703420195428044488996604044303144171677830585060366188530254818101153009096810215058906740440378936759385207118136883013536109602556726959791559587007776269430036104411423356071543868104854531998620366008330392987203688219923598662648261802522695777036754589966244717825200605753684981989271521960321416807971356787282521531920971297355644604061754395224739210950997015085514619525282550938251661817128094429880155563521470606750831630600210421514484790103458203812287504945703879444840162344370622842537638415292057459188150300812060521930918652917583772823825358200595049184827799568153777970204119476183357929708365770376471974466076245055918804599608902758704271117228899222192584142403354927356432644147942883124373925214589186200078221926750480404674298531809035448094399941395574404166417746920145095952646275282988549335976812294095188648174387579482871037803518926021012483048228205693946936281955801630408188150602740832256545707243923000868518484720725804708641417966115515783555689757980491278929622583082299395340916276117315040854788418524449263874895288171405009617101946564610889117661270319461995651342415375253470445993239083262259739894870875442348998286546181153835908014057673165020655357327802832741028787856014770278076545028333306016840154728804436766500785275599727272298807709228624824803843577326880267991223061151440376071510135786882627359812165802077518493975132700754876536396653714150730514136503005954961326739883698002220931499260860127 1128935733846768221692447905006957003846715878392270473794497373447193838496643074321854907711342623857174565357489063316151460561532025243204040800733293703242047988116426895258709725364979935800332954858314852172342901441753999841511405183493331497582523821708191485275153917026309861106453776665077122137969149746036485918208849173165243469253099386841397719502899780094832075465969124358109768555889775420631207695261520280864099607481938151362712986398914862530273391570451371779962936330243744049713308512625296366002843861676123319039982380391181518187912143833225363510737061432620488237764164411674927768043489372067346568917431834487992621074496580113067482375069792792387256814317344550194247210265681963122834532200341596271479551237516142604335482899985673595301896753682386429354248388266076275886951274660138738319532311000230831503299037353177662599069056822068113789585453009593276603590109460860580798753940399131327571958060715841910596902707439833642942323134915227482566382617474830976728750957694168178200094598224835206494352959058806962090388760080698399986487058796571080523729822327055314753644706849939765204568667688366081127243806033343482017794302384741750428265778562533763811030168495521086262041245770271831741350062078602657768589319701658627068644736610710354909000878266540978772091669515639542534816053285521231160574298599482525004099370145696885823145414366568534176860965530872300755255886279203032255118418236024228299801448743775300649603149864994317524641142460514380910883183078242754900967247433077930039666943097684276200789629460689275153595742616442400044014801145940037517301728929232330391029805562085672474260614926317829970392457686333860548291021538429207778272852185927023672372776062624530267036709313079113308733503632523330675298847889946701474979765780143272985588768215420833963523067833540063343116802812801336075406668340958564495485545619960127650036257648179458262286017746685242306513650171963173439154334409801875932899509241694380383916756960423706550596007939721779984435290610970794176381483926260017673726628776096819501815398637732008094800473035143636293653906170535220247017903914464275304994679248322172045273227281475694415094514071914421694377439928324818109127344349812134103117522325718770024767422748310045669146285783350701578307756281324356639984199285052389497059768772239869413075347638620938053055994754979827112596950510225616657018853312283861630088690253277827275993080237461628779791848587098541990533045409104941284968233115856826912459410767216241733957679485350000872591272185831157459294069131415870339084158485727470063575811693218157742437819706103852199709426347623664781646272171235047498969641531597477652539977711681468268109393394336938402868263787286446523240950974646639120157265723549340011170478494031970171840633977892220294365691219792795552915125443665803257793890291191220054066699972267829833755595697802958064862997885550293481236852843258134440609956594221950984366288058522513711768493625675016316020619175007283858430578134417239657867130901083590892882953229889454884090766980608371357609684532287520184372521748533532414567513135813262292996665211098266569085636015688702620992469990624941668085372204720107305692763312057916612194464127801667595486082140953761275161655642973739121958681330759309277737862230298240302366661387419352066960769004944674816170014740767468080129108763687839524529624211173166247322072998114094839153055241395169802208804748465211793119599872881326437367524084236436691175950979986829477509628582484609595993951289345150005113007016460511552452809455365035704902724947558686333885249154307225779068588310182761320515745605626785678062508087507431718536239061401893203648169162280225023144973596410621009499312463802841934515503427386286358586208069904023644691448541180219194654487993106923676599277358468515070461949611207755324455871303869828763580192939701150408897813002159913789194553253212280433167909597663891756946390137001575029839371205431996851 1826656388478376057422455692107899221510539804971090746154914445569265271104620094679653526703481291479396824870905481899277380642117413937223767833085516671424278177926323410922288032684633669303850746757498477123444288590488223221889458747625698104113721805649399242029155520381515431598447413500174044647817810522357020397752101527587935012759558181581570894854004810226259449458715374911365835800034915455831170151678811545938489908804480212430307074249288134080966075547089362995725052778215613674445047951666600428527614599014781079685031292382026746651543899735162382984670895085973112226873037139884913732636322941446757024943392664458956051441691350723907702875990972175470555807295547671137545791957107182820209862652954485433010415560071154099965633329585020057385371794882113677973317946259924311900303582631745044829837084880390083094159506664881116902696788119164384345960335219329707140014630172568304352042028026936565869960685286867653826508558458145478228943398984644870005296238646369668682717310477976437012583328048935628420213960928635682214089680862394997655836466354938488519191489442754325546447060414284281897879222165179286381889407301161344081401709816365993234094871205606096584793455304353831032615639169641548771737363245231741843917092087183048046380103734470631205119372297914027553292510069407481421650320433978370466964279150877128551210562022406690525995179979031305989756891039626214218385781730452891254069937573732900734434769092593075841842505821029292254542658195217817543474094307660415321741715191626579299890034429445478032728389940751511783075547267258932927657428722036176063988382360607484725175710499762592975806295647135754704767102990350069561354554306203226604225617510448033272740486528095802194977335051292127704808521201098664314480959392865422067612788289600931594962477940943346170823156672542186914877583726862325756812980208456479850423123725856200106552896175206438542833096170985227815878311989825778267175851545348437223716738004074116611837074396267391186305456426362447832150896962303152029663418102272145125510591155604173546557876932549643988109761167648836621808342663374849378308739405747179365243182380176012517210205896573364013007799725419177117531387921128546755317071603768068732808677958540774478410294502888063536130340083504112838172534210981466139484453579154607817396647992182749775012181291574856297082596156566354200117481321191601364034955324926419836863783149918970626945181608519880416582264807874163256147155020041775893740281518017428765247605470636437162002168481954045175735443863661742519660257661670688440237167582537685122482552133597094501823026824240735213245535950180391741437831758242823768399677636008901008611521579786322800108013760345268795855467475506370121903599236449161815934302478139306255888303694637723856822623249414180615782499191149582835436657364637100613438494352945615278805910923264844919270215223085509003114659702678387911117008406779605047360788224822161405880772848625971915580781130620720195465459337351654481273115772832531715326319051384402953404884148542372467863590805966571952658869360087088338150491952653008597925442844179032669468639677174511625004440615297605379696741107853840890277956347123462233049195956205859495318838053016256781686160362880511755566329941505548157406775730700704852142028648045160447462614033694635055510104981756968911358662915155047563000146567206765545542107259401371941269009280069896469561243391997910634465350455709134793988118357602052242076165502202552206959506669744809968788558205067691895389292205621267320153861804879036001716684350653207109912342049505250944774366815577545241064239652598136573986191598865868940322247982378307160885237347948074357484077176337898188165628953738423842240341251658856704793579972414619664603048224632828081457949326455818921926786800816152301424081202045841950729940834268906764831942814005615646207552751866952486416306977292614544071089649865994583898423734166897711907716876885273032060302704692856978 2955592122325144279114903597114856225357255683363361219949411819016459109601263169001508434414823915336571390228394545215428841203649439180427808633818810374666326166042750306180997758049613605104183701615813329295787190032242223063400863931119029601696245627357590727304309437407825292704901190165251166785786960268393506315960950700753178482012657568422968614356904590321091524924684499269475604355924690876462377846940331826802589516286418363793020060648202996611239467117540734775687989108459357724158356464291896794530458460690904398725013672773208264839456043568387746495407956518593600464637201551559841500679812313514103593860824498946948672516187930836975185251060764967857812621612892221331793002222789145943044394853296081704489966797587296704301116229570693652687268548564500107327566334526000587787254857291883783149369395880620914597458544018058779501765844941232498135545788228922983743604739633428885150795968426067893441918746002709564423411265897979121171266533899872352571678856121200645411468268172144615212677926273770834914566919987442644304478440943093397642323525151509569042921311769809640300091767264224047102447889853545367509133213334504826099196012201107743662360649768139860395823623799874917294656884939913380513087425323834399612506411788841675115024840345180986114120250564455006325384179585047023956466373719499601627538577750359653555309932168103576349140594345599840166617856570498514973641668009655923509188355809757129034236217836368376491445655686023609779183800655732198454357277385903170222708962624704509339556977527129754233518019401440786936671289883701332971672229867976213581290111289839815116205516061848265450066910573453584675159560676683930109645575844632434382498469696375056945113262590720332462014044364371241013542024833621994989779807282812123542592554069744204580551246156364180134346224506082250257994386539663661832219648549415044345908669345816327756589153823385896805119113917670470122391962161788951706330185955150313156616247245768496995753831356691097736901464366084227816586187573273946206044902028532162799237219931700993048373275570281652082910234202792472915462248833910069625326643320211454670237861628498184562483433178049058428102313797333598811908827849453364864444415953580202835926200284259544503177717251198109205276625866854814416480290492305822779468652864206997314456416764422619188087528930195794350138590911546181312714431831417218021053808637210281466952473403196797902938261845981509196374113394972705246680200429146717178708514633874255677707016237852678895959847967304046048326716049492899978954326793086558779321326068265155186058363826815252244260846530344587412954962297804056523084103929477871267369319167606378661151499291467791068217407154682207198723731262792816645144550211095800936091568201688646267058782188669694028663257227306400910148190410942378388351782808302903871232384644136835332872610895532674753025810920888467067977657588228681392353861250037739487970744819044112390247060907148485627349274756295736511486078512358938339703693907249771373193449952467993846287837378431827351954357786574943310268553892374608522523013701186541012492955979992294962465304888272778194090076630986308000689211098478782558363328551843569538741959268263776107513302180817924377172242503834273030727985584479287279365457061460014129879890878343400749829275421113987122470873986701643727528677655922515643129255330894605070071731470574538188591082278183991308714298633393080436674155204174346587107718230483378679443689586438988898135457649731639446298186787552301491383243494966417325266868821339547554169493806018242814815066997063937278659615969884771020132827962780897894501937204492654618384756069885738879421476409349967561132246338618123211310602550149044851739653715461698639309083399800906023189256294536851726149397867636038116581274793923075978023358560514357021191890445476662089287814117875444409787745691568102895314119979452528333265642903078275017066333331830789468854107013886848061899673910124853829 4782248510803520336537359289222755446867795488334451966104326264585724380705883263681161961118305206815968215099300027114706221845766853117651576466904327046090604343969073717103285790734247274408034448373311806419231478622730446285290322678744727705809967433006989969333464957789340724303348603665425211433604770790750526713713052228341113494772215750004539509210909400547350974383399874180841440155959606332293547998619143372741079425090898576223327134897491130692205542664630097771413041886674971398603404415958497223058073059705685478410044965155235011490999943303550129480078851604566712691510238691444755233316135254960860618804217163405904723957879281560882888127051737143328368428908439892469338794179896328763254257506250567137500382357658450804266749559155713710072640343446613785300884280785924899687558439923628827979206480761010997691618050682939896404462633060396882481506123448252690883619369805997189502837996453004459311879431289577218249919824356124599400209932884517222576975094767570314094185578650121052225261254322706463334780880916078326518568121805488395298159991506448057562112801212563965846538827678508329000327112018724653891022620635666170180597722017473736896455520973745956980617079104228748327272524109554929284824788569066141456423503876024723161404944079651617319239622862369033878676689654454505378116694153477972094502856901236782106520494190510266875135774324631146156374747610124729192027449740108814763258293383490029768670986928961452333288161507052902033726458850950015997831371693563585544450677816331088639447011956575232266246409342192298719746837150960265899329658590012389645278493650447299841381226561610858425873206220589339379926663667033999671000130150835660986724087206823090217853749118816134656991379415663368718350546034720659304260766675677545610205342359345136175513724097307526305169381178624437172871970266525987589032628757871524196331793071672527863142049998592335347952210088655697938270274151614729973506037500498750380332985249842613607590905752958488923206920792446675648737084535577098235708320130804307924747811087305166594931152502831296071019995370441309537270591497284919003635382725958634035481044008674197079693639074622422441110113522752775929440215770581911619761487557348271568734878242800318981588011754086172741406965950358927254652824703287288918953106443361605131853064756605368963099710221770650647221187068112535512831913152608819385088763962136701303816256553115768529883443454501389612956378202846868502827355449188493072448796151891684442954621708489116057962016449258091224062159913154642498614584454757247219558493650802840308540915960412346746083873354585322626200498247984448264521935687720695035768996803615279669763020871254113868325420915027475994579198738299186767048149447544962752025870679827952522947085883307417885485880476720581525930689602091961223788440172940004484670878997082450611678521818797519672296026143973976071092317290907069303470869656817344535331533043866273796127833755774457542930055886916456706951537849710592820976809680082303088519769003852396799692721526974199819817948592541515262927423252461696860673505653839549610418398824171327631933944565447289819094517246283913380385952206332623448641284898967031771791155224469635602832140233834181158858402866714784786294315525984835436772232792160718982021919526388561197291889454808622177980978968458612638887340571077563206129401898101370615613838729975910129860091558253887778275542025390991071139505659883481381095836588085430921519855088641541105094964319476449415086744992619993386772535700587684645420730626218583555886178156671449924727409046569188223433982785462316261197067615379034468488128803358523558707004052264046040306713757298041918616323514956021399476231503887468693979994967120555344102663372215525687792304519169679807607347194091857038508061594739228279447439762560198971921831279745568854119756931881060055995298443435055381730426956745142877336732552944269600964757065997687180761823890772121093959976614817710807 7737840633128664615652262886337611672225051171697813186053738083602183490307146432682670395533129122152539605327694572330135063049416292298079385100723137420756930510011824023284283548783860879512218149989125135715018668654972669348691186609863757307506213060364580696637774395197166017008249793830676378219391731059144033029674002929094291976784873318427508123567813990868442499308084373450317044511884297208755925845559475199543668941377316940016347195545694127303445009782170832547101030995134329122761760880250394017588531520396589877135058637928443276330455986871937875975486808123160313156147440243004596733995947568474964212665041662352853396474067212397858073378112502111186181050521332113801131796402685474706298652359546648841990349155245747508567865788726407362759908892011113892628450615311925487474813297215512611128575876641631912289076594700998675906228478001629380617051911677175674627224109439426074653633964879072352753798177292286782673331090254103720571476466784389575148653950888770959505653846822265667437939180596477298249347800903520970823046562748581792940483516657957626605034112982373606146630594942732376102775001872270021400155833970170996279793734218581480558816170741885817376440702904103665621929409049468309797912213892900541068929915664866398276429784424832603433359873426824040204060869239501529334583067872977573722041434651596435661830426358613843224276368670230986322992604180623244165669117749764738272446649193247158802907204765329828824733817193076511812910259506682214452188649079466755767159640441035597979003989483704986499764428743633085656418127034661598871001888457988603226568604940287114957586742623459123875940116794042924055086224343717929780645705995468095369222556903198147162967011709536467119005423780034609731892570868342654294040573958489669152797896429089340756064970253671706439515605684706687430866356806189649421252277307286568542240462417488855619731203821978232153071324006326168060662236313403681679836223455649063536949232495611110603344737109649586660108385158530903465323272108851044441753222159336470723985031019006159643304428073112948153930229573233782452732840331194988628962026046170088705718905637172381642177072252671480869212427320086374741349043620035276484205903510928474404661078527059863484765729005284281946683591817213741671133115195593111698421759307568602446309481521027988151187239151966444997359777979658716825546344984026037406142572599346982770768729956312566432821705300482898809330491597819573749507555878335210251157310785765940120661637946341794953921864416562137272388875962647542477568911247843805998879819719067995494599279787227598990344719884929910039155460545788504787606039617198566303138315971221658330914520162721904936542828069709683193302930001092003412192699658640763688117438881516598790005868071977111914149137704026982436078880013034339612140222981242908355903263641219285944551132714330194425321837064862443139069974879135750695824730906855084023302277862910386186374894662922943170279330643212193218437616362069531160680503587332074461713218956320390645980558905406027171772306379116458573195977144836305383196519355026090622911354804163622594399249453720068013184593877270221381075163304811406007004613450810601310533114492733411710345442414652105536030645370549057817022301110464122716137689853620733111901810404731961947121164875922609300451852955160256366416018227000078849258657228995975685685570200550448318451173836437879086989840658784071507813660864057827968203554818568809600963544675080530003230421969208088861384931780172294878155779195554101970687599447558131110055671962689692739542476043633125502093598755347087281329895578159932362990066007851178177091760122149784919728190166648009479748569853574144610786834054036513545719648682582253983411746772016431710981560813706531533756745061727895155089336388662304257470798323074555993113721725222230943407571049756504465783044135003158277044546936197671210602375456022544618031090397828476649615930904658969155859650524942564636 12520089143932184952189622175560367119092846660032265152158064348187907871013029696363832356651434328968507820426994599444841284895183145415730961567627464466847534853980897740387569339518108153920252598362436942134250147277703115633981509288608485013316180493371570665971239352986506741311598397496101589652996501849894559743387055157435405471557089068432047632778723391415793473691484247631158484667843903541049473844178618572284748366468215516239674330443185257995650552446800930318514072881809300521365165296208891240646604580102275355545103603083678287821455930175488005455565659727727025847657678934449351967312082823435824831469258825758758120431946493958740961505164239254514549479429772006270470590582581803469552909865797215979490731512904198312834615347882121072832549235457727677929334896097850387162371737139141439107782357402642909980694645383938572310691111062026263098558035125428365510843479245423264156471961332076812065677608581864000923250914610228319971686399668906797725629045656341273599839425472386719663200434919183761584128681819599297341614684554070188238643508164405684167146914194937571993169422621240705103102113890994675291178454605837166460391456236055217455271691715631774357057782008332413949201933159023239082737002461966682525353419540891121437834728504484220752599496289193074082737558893956034712699762026455545816544291552833217768350920549124110099412142994862132479367351790747973357696567489873553035704942576737188571578191694291281158021978700129413846636718357632230450020020773030341311610318257366686618451001440280218766010838085825384376164964185621864770331547048000992871847098590734414798967969185069982301813323014632263435012888010751929451645836146303756355946644110021237380820760828352601775996803195697978450243116903063313598301340634167214763003238788434476931578694350979232744684986863331124603738327072715637010284906065158092738572255489161383482873253820570567501023534094981865998932510465018411653342260956147813917282217745453724210935642862608075583315305950977579114060356644428142677461542290140778648732842106311326238235580575944244224950224943675091990003431828479907632597408772128722741199949645846578721870711327293903310322540842839150670789259390617188103967391068276745973395956769860182466353740759370454688090557767572668925785939898880400617374865750930207578162546277633357114286949373737095644580965047771252338378258136634856791231336561483684074584986509428334962705148754984288422286869800666442252334911327523703323606106937657624563616259654830911011883880865820228496451035875802184976183495702601053218438313369870835803140195747639945736428593239515232665355958793772953052127975304919261338907312774836938000677541033976018804868248984737159187882128739391190179240849106185726440143309561344551312952953955284529799635018180747563962009569615126300835928663154182912840574142638301736556229654533127714097617863208836419210162292170042819999295600563672428558633810906776659982502728418697400713209386530128649925389154211780123981657313267414377550232987960172787445673280432380226991590254971657973836123400397298002243870025008865640233329753628334950226333194019167357832279111123554134761461115511144029455645898349777633082324269717203047313177582648486286694889048237263842603316616636448958152909922645781452093923729931120523144413054330731231478432831923618869005303358798077642055388059127097346301299408930526358448311265394691766865265382684175062578953166523941309349299391406654240522483399763722071108325386288684538276471676772792288264928314896141786616108330073776714665941850119361142664269885090202313725527581540809403542526963193538966831478194811209701735798764174413830960034903923946051398364893368530166010263065557923982239699643649702809327514410144231957398773865332876211341364092255819752193597397983401532536918238085634754965035553004967799797527327981637564521778342578438213658774973892942814087939108008966814218995847463826163830377754795431090249819627139760275443 20257929777060849567841885061897978791317897831730078338211802431790091361320176129046502752184563451121047425754689171774976347944599437713810346668350601887604465363992721763671852888301969033432470748351562077849268815932675784982672695898472242320822393553736151362609013748183672758319848191326777967872388232909038592773061058086529697448341962386859555756346537382284235972999568621081475529179728200749805399689738093771828417307845532456256021525988879385299095562228971762865615103876943629644126926176459285258235136100498865232680162241012121564151911917047425881431052467850887339003805119177453948701308030391910789044134300488111611516906013706356599034883276741365700730529951104120071602386985267278175851562225343864821481080668149945821402481136608528435592458127468841570557785511409775874637185034354654050236358234044274822269771240084937248216919589063655643715609946802604040138067588684849338810105926211149164819475785874150783596582004864332040543162866453296372874282996545112233105493272294652387101139615515661059833476482723120268164661247302651981179127024822363310772181027177311178139800017563973081205877115763264696691334288576008162740185190454636698014087862457517591733498484912436079571131342208491548880649216354867223594283335205757519714264512929316824185959369716017114286798428133457564047282829899433119538585726204429653430181346907737953323688511665093118802359955971371217523365685239638291308151591769984347374485396459621109982755795893205925659546977864314444902208669852497097078769958698402284597454990923985205265775266829458470032583091220283463641333435505989596098415703531021529756554711808529106177753439808675187490099112354469859232291542141771851725169201013219384543787772537889068895002226975732588182135687771405967892341914592656883915801135217523817687643664604650939184200592548037812034604683878905286431537183372444661280812717906650239102604457642548799654094858101308034059594746778422093333178484411796877454231450241064834814280379972257662243423691109508482579383628753279187119214764449477249372717873125317485881540008649057192378880454516908874442736272159674896261559434818298811446918855283018960364047783579965384179534968162925525412138303010652464588173294579205220378057035296920045951119469764654736634774149584786410596919055094473512315796625058498810024472027798661345265474188525703540641940743027429969163924603120660894197373909160830666845353716465740901395526854055467187231617361398486016001842467205858913574763417723423564684277897601172705965805745282382365768839911838449727453752406950444859217318133088938831297739475534867544726773313124445142704511419339561457839734014922117827642045628746058596331592061196697923741411077054446842381185058740483193591433548764826490128260748442861150102958822027261641713784155884774546398088449628160640448068886135425821196477406279521022500780787247457908522939700273698862349232267049178570695120331470527512581936088769687046168877623081620343883488717173340843143826770573849655142337816854746452011946206916493178091653839337786254163362561350774432409319377542134307627066544363891730856241108432498572820732443472887425845463705000824356142536278815955435462650511800588234392857384209936459023523025063138392230919693607812900420338917746913080869047612499402185205825540335852485091534219206653840778884684878779125371719377025077720904646716356093321986984979131076806766762439231129645952255223342959134086766827387999137317502946225223050123446944438802601111555808257892627137856608552964583143084094091695888586795929521334845775997522082050835403812361133835439227621180296156490823856858771698899194468260819060879912890524296563615879763094090594060878113463222104310621049899611960495785419292332285063310926156916248389109755426146582742875120837317547647348686734372063836794389036408709310958149274730190030740934899031394068987561386713441371935819520829140485298541483464989358837026937861654640479993685700090059405679277664702840079 32778018920993034520031507237458345910410744491762343490369866779977999232333205825410335108835997780089555246181683771219817632839782583129541308235978066354452000217973619504059422227820077187352723346713999019983518963210378900616654205187080727334138574047107722028580253101170179499631446588822879557525384734758933152516448113243965102919899051455291603389125260773700029446691052868712634013847572104290854873533916712344113165674313747972495695856432064643294746114675772693184129176758752930165492091472668176498881740680601140588225265844095799851973367847222913886886618127578614364851462798111903300668620113215346613875603559313870369637337960200315339996388440980620215280009380876126342072977567849081645404472091141080800971812181054144134237096484490649508425007362926569248487120407507626261799556771493795489344140591446917732250465885468875820527610700125681906814167981928032405648911067930272602966577887543225976885153394456014784519832919474560360514849266122203170599912042201453506705332697767039106764340050434844821417605164542719565506275931856722169417770532986768994939327941372248750132969440185213786308979229654259371982512743181845329200576646690691915469359554173149366090556266920768493520333275367514787963386218816833906119636754746648641152099241433801044938558866005210188369535987027413598759982591925888665355130017757262871198532267456862063423100654659955251281727307762119190881062252729511844343856534346721535946063588153912391140777774593335339506183696221946675352228690625527438390380276955768971215905992364265424031786104915283854408748055405905328411664982553990588970262802121755944555522680993599088479566762823307450925112000365221788683937378288075608081115845123240621924608533366241670670999030171430566632378804674469281490643255226824098678804374005958294619222358955630171928885579411368936638343010951620923441822089437602754019384973395811622585477711463119367155118392196289900058527257243440504986520745367944691371513667986518559025216022834865737826738997060486061693443985397707329796676306739618028021450715231628812119775589225001436603830679460583966432739703988154803894156843590427534188118804928865539085918494907259287489857509005764676082927562401269652692140685647481966351452992066780228417473210524025191322864707352359079522704994993353912933171490809429017602634574076294702379761137899440636286521708075201221502302861257295750988605245722314350919938702975169236358232002810451475653904231199152458254177378533382616898369524661081189247894157256003616977689626148202594265290947714251912429935902653045912435756446458809667100879671282507490463201906363960375369867378133334410891861990227037088980952941520895534332269602230673942546279326039184001569067187479874383770674397871012216568404058004205701415911775982546171513419174065522110360098019243286941283997549289608734037051548917822759057010441780585622620557563482535281559394559219221390694415932034199941140569899676463706151380351500317744596698103703469493069215924785629779123995130122160829562179194876665965537327119770166481154952816322432406245442777939432309870936569372757371089570862060833523047065637492054783677742816124378490903997394327099464918296410150365867475181653927139506336700607711624678925808741845076743023655534383362039021957535145183637299749270266973008235947273537385072257317516802397994377022735823155362960034775483190668288284388061603165215073704625821412817520606027134196665719993911940446666802337631877290645930344202524672219881194546577165414328285325756871408012408987837675202904259595111560441939372201411978068082246224037752953148761836965894366383821965237866025946455630270581648689288470977446839797998014540112276478356590634476631312965169884478025118935981987872638440567060480346508529291479458954216484929573367399542284132355465369331307274494344065923184827735157830538462227013031633509339729291879585594594494722083299386480591473956173056022785325480804310371440495521149655498904804463115522 53035948698053884087873392299356324701728642323492421828581669211768090593653381954456837861020561231210602671936372942994793980784382020843351654904328668242056465581966341267731275116122046220785194095065561097832787779143054685599326901085552969654960967600843873391189266849353852257951294780149657525397772967667971745289509171330494800368241013842151159145471798155984265419690621489794109543027300305040660273223654806115941582982159280428751717382420944028593841676904744456049744280635696559809619017649127461757116876781100005820905428085107921416125279764270339768317670595429501703855267917289357249369928143607257402919737859801981981154243973906671939031271717721985916010539331980246413675364553116359821256034316484945622452892849204089955639577621099177944017465490395410819044905918917402136436741805848449539580498825491192554520237125553813068744530289189337550529777928730636445786978656615121941776683813754375141704629180330165568116414924338892401058012132575499543474195038746565739810825970061691493865479665950505881251081647265839833670937179159374150596897557809132305711508968549559928272769457749186867514856345417524068673847031757853491940761837145328613483447416630666957824054751833204573091464617576006336844035435171701129713920089952406160866363754363117869124518235721227302656334415160871162807265421825321784893715743961692524628713614364600016746789166325048370084087263733490408404427937969150135652008126116705883320548984613533501123533570486541265165730674086261120254437360478024535469150235654171255813360983288250629297561371744742324441331146626188792052998418059980185068678505652777474312077392802128194657320202631982638415211112719691647916228920429847459806285046136460006468396305904130739566001257147163154814514492445875249382985169819480982594605509223482112306866023560281111113086171959406748672947694830526209873359272810047415300197691302461861688082169105668166809213250297597934118122004021862598319699229779741568825745118227583393839496402807123400070162688169994544272827614150986516915891071189095277394168588356946298001315597874058628982711133977492840875475976147829700155716278408726345635037660211884499449966278487224671669392477168690201495065865411922117280313980226687186729510027363700274368592680288679927957638856937145490119624050087827425248968115867927827627106601874956047645235326425144176928462451102631190666227464377956645185979154883145017765292419440910137753758856865918662885521592597638474256019845739241530473132942384504753932172054857176322943495371430584960034130859552701639883688309603490771653074579547748498398619146817375035189975219488405518074378797472895868731596005149154916622998570266954130663861663427371866287690403093630843950252246220357577362107946635838706696664806447066851518870598009807813227203329950296656758186468871447581732066435425034555233528955197343781557791229028043531143497263756234143908626826268399961389536263504727453722505988446150752320257974581938088480186820876810336213042695359479434266332946976907281574125401793159143628980959107952735318315377673206838654762155481566617498003113736649101945811970493332095867798080964942209523206521125202847046533673143054900380946921950954101868039038137075965360223632774763071156728435452889643443994452130275119891005147644585822505574810602825493327481492744038913036202201681177119748742112848233083864681491839283990275269367192679971981836143856951058769775829370093330752486821299939583984305283857100340769377288641327273331437002804469792552184893878721454551096503079533563789700189116446406217936894283462813471894607357873192180769942133122385190240680736936765220414716449331461561579812767541062719561092105134173154591819812738787252362864781844973810538228314272935949366723976728735618284717626041697091605766890915046890970866727529206125696310903053376881334102465347861279397126044425702496901116005320957530414015551223784685022074938945531893049723187135444790365126195611209061178182469165955601 85813967619046918607904899536814670612139386815254765318951535991746089825986587779867172969856559011300157918118056714214611613624164603972892963140306734596508465799939960771790697343942123408137917441779560117816306742353433586215981106272633696989099541647951595419769519950524031757582741368972537082923157702426904897805957284574459903288140065297442762534597058929684294866381674358506743556874872409331515146757571518460054748656473028401247413238853008671888587791580517149233873457394449489975111109121795638255998617461701146409130693929203721268098647611493253655204288723008116068706730715401260550038548256822604016795341419115852350791581934106987279027660158702606131290548712856372755748342120965441466660506407626026423424705030258234089876674105589827452442472853321980067532026326425028398236298577342245028924639416938110286770703011022688889272140989315019457343945910658668851435889724545394544743261701297601118589782574786180352636247843813452761572861398697702714074107080948019246516158667828730600629819716385350702668686811808559399177213111016096320014668090795901300650836909921808678405738897934400653823835575071783440656359774939698821141338483836020528952806970803816323914611018753973066611797892943521124807421653988535035833556844699054802018462995796918914063077101726437491025870402188284761567248013751210450248845761718955395827245881821462080169889820985003621365814571495609599285490190698661979995864660463427419266612572767445892264311345079876604671914370308207795606666051103551973859530512609940227029266975652516053329347476660026178850079202032094120464663400613970774038941307774533418867600073795727283136886965455290089340323113084913436600166298717923067887400891259700628393004839270372410237000287318593721446893297120344530873628425046305081273409883229440406926088382515911283041971751370775685311290705782147133315181362247650169319582664698273484273559880568787533964331642493887834176649261265303103306219975147686260197258786214101952864712425641989137896901685230480605966271599548693846712567377928713305415619303588575110121091187099060065586541813438076807308215680135984504049873121999153879823156465140750038535884773394483959159249986174454877577993427813191769972454665874169153080963019430480502786065890812705119280503564289504569642329045081181338182139606677356845229741175951250750024996464324584813214984159177832412168530325635252396174584400605459368685231122416079374111990859676370138539425823796790932510197224272624147371502467045585943180066212113179939921184997578787554299421807266953552313624212256536684088831026006558165499498818099882525653177125852365893444246175606230279623457995376192005603951511787849664996131265658045808833969729132814845519319433700231961132782344506850923265068864451272552934782373992353984740622504015818767118284488114734523016063984714643289270580504115166540614801670808629153764054827238769425468021385487621352083952195538927394863075888122614458471638326082255833076884924580279829282258620145109213390328077099068111136304596669825109166308078878119216473268193995639244900204933420998927368939683109406473035382832554165618914863718456996993200949337249581337950531067470154365299243332101319969343220692064215471696924240486387750082537177297966386467649986513637158912962682789769459805324080869798501563428766281423985293519718483575114125764848671388446824716267322474658563553755254283137196909848482772471587296435397227527418206815211880030651107621488977631415307632843851945551318197351046957966513179204478325959108912067371238992604448711557966659876266484874791539976853581910945133918703970088279556624502702174631246361172079602043210269101238518509559359090119674285431070176403373263883675829951729451835657164296260808587807291037209082126814009105500651308090696464282446433254999082994575457003585397397442804518930200505691817859353057457336006240845297200543125008510273307084071502666412901704949072508512616249100736566691132358716677087273629071123 138849916317100802695778291836170995313868029138747187147533205203514180419639969734324010830877120242510760590054429657209405594408546624816244618044635402838564931381906302039521972460064169628923111536845121215649094521496488271815308007358186666644060509248795468810958786799877884015534036149122194608320930670094876643095466455904954703656381079139593921680068857085668560286072295848300853099902172714372175419981226324575996331638632308829999130621273952700482429468485261605283617738030146049784730126770923100013115494242801152230036122014311642684223927375763593423521959318437617772561998632690617799408476400429861419715079278917834331945825908013659218058931876424592047301088044836619169423706674081801287916540724110972045877597879462324045516251726689005396459938343717390886576932245342430534673040383190694568505138242429302841290940136576501958016671278504357007873723839389305297222868381160516486519945515051976260294411755116345920752662768152345162630873531273202257548302119694584986326984637890422094495299382335856583919768459074399232848150290175470470611565648605033606362345878471368606678508355683587521338691920489307509330206806697552313082100320981349142436254387434483281738665770587177639703262510519527461651457089160236165547476934651460962884826750160036783187595337447664793682204817349155924374513435576532235142561505680647920455959496186062096916678987310051991449901835229100007689918128667812115647872786580133302587161557380979393387844915566417869837645044394468915861103411581576509328680748264111482842627958940766682626908848404768503291410348658282912517661818673950959107619813427310893179677466597855477794207168087272727755534225804605084516395219147770527693685937396160634861401145174503149803001544465756876261407789566219780256613594865786063868015392452922519232954406076192394155057923330182433984238400612673343188540635057697584619780356000735345961642049674455700773544892791485768294771265287165701625919204927427829023003904441685346704208828449112537967064373400475150239099213699680363628458449117808582809787891945521408122406784973118694569252947415569648183691656283814204205589400407880225458194125352634537985851051881708630828642463343145079073059293225113887252768646100856339810473046794180777154658571101385047238142421226650059761953095169008763431107722545284672856847777826206797670231790749728990143446610280463602834757790013209041360563555488604386450523541856989511865749716542288801424947416394429406766217070011865677844635409430090697112238266970356262864680369009372514333552666819655192197312521860027455741905605554306663898117964917257560843152345340771411518624973079126148355054000525346922226950082054803795659992929085417675121660132226445689469571679920589538494890291142689629961733670898339404453652972002161797967825833966115423876470956986182104748130420139677844504109459312510322172592899836672684907552090995003569376648211756021313473488459043654848585581876568765210791896300664193921557071745457090165495301315504588647656661024075975392710429998462984252795289037986071951791583571668846083554967088902565544866942796846055574981194803047497714782661799421939202724155858374784184997064740613209265680190254052274071211259730201291437057147873261150821239265612750856029911644438643912278803967830434355282310898891472623994890910259025462898329721920164752233874506961519621530689397759161758648838823122446963109178745992339723530357072264767320858170693636511819614635412905346077972184684921485179218882755200155516750518698073083199780510205415146904802782304637828004372877813160768337605011871460939784137314688646103210664746865183439111396466775888528933504771848914006059572278920182224808458585661996216112051136038694733574425646195392610533744537174015013937817745098726731542348399696463355197493324225865810523781582699896300450819685853032665853553097256479101883038503141961302521500655422525824530868756524741351847236842122231699751693891101692886743567777855269742795026724 224663883936147721303683191372985665926007415954001952466484741195260270245626557514191183800733679253810918508172486371424017208032711228789137581184942137435073397181846262811312669804006293037061028978624681333465401263849921858031289113630820363633160050896747064230728306750401915773116777518094731691244088372521781540901423740479414606944521144437036684214665916015352855152453970206807596656777045123703690566738797843036051080295105337231246543860126961372371017260065778754517491195424595539759841235892718738269114111704502298639166815943515363952322574987256847078726248041445733841268729348091878349447024657252465436510420698033686682737407842120646497086592035127198178591636757692991925172048795047242754577047131736998469302302909720558135392925832278832848902411197039370954108958571767458932909338960532939597429777659367413128061643147599190847288812267819376465217669750047974148658758105705911031263207216349577378884194329902526273388910611965797924203734929970904971622409200642604232843143305719152695125119098721207286588455270882958632025363401191566790626233739400934907013182788393177285084247253617988175162527495561090949986566581637251134223438804817369671389061358238299605653276789341150706315060403463048586458878743148771201381033779350515764903289745956955697250672439174102284708075219537440685941761449327742685391407267399603316283205378007524177086568808295055612815716406724709606975408319366474095643737447043560721853774130148425285652156260646294474509559414702676711467769462685128483188211260874051709871894934593282735956256325064794682141489550690377032982325219287921733146561121201844312047277540393582760931094133542562817095857338889518521116561517865693595581086828655861263254405984444875560040001831784350597708301086686564311130242019912091145141425275682362926159042788592103677197029674700958119295529106394820476503721997305347753939363020699008830235201930243243234737876535285373602471420526552468804932139180075114089220262690655787299568921254091101675863966058630955756205370813248374210341025827046521888225407195534096518243497972072178760155794760853646455491907336419798708255462522407034105281350590493384576521735825276192589987892449517599956651052721038305657225223311975025492891436066224661279940724461914090166518645985516154629404282140250190101613247329222641518086588953777457547695228255074313803358430769458296015003288115648461437535147956094063755135754664273068885977740576218658939964373240191220339276414294284489825216137876475676640292304479083536202785865366588160068632974474086608744510936734116564139830736631560864829397616783017140086496329471193137304962871148685356427978511995901538927830901593842653460656124194743463483955629861359260534988891113620821499627672635649540553226802535349611957388435345994515782708448337981934190994755445100916627764194404854321133774689963427676862787394570645301838671606918233772994844669597243642665557440654582582243448657764691379669263534626746449754633956670037369994777559935649697861046989101175043503846734595132809361961597116864191168264851765664485328455172022323564472235882479955462048016577635601663333697525517878936195925105195624365522947595808083363630979433586153594040554480422265506908754072113747538571321802790048822416379294425157549437716930513224124742116222972342422496454339025306886883623241638648327348000271810191009977514114026484233307402376877701246246375655840822496001944368700164548385588900451723699645286520526835055603599992554329031164434073397506563708485211252287678106469314327214276041774909086539562339537689427253212396551848314521695082448607350073298944303489686141286027713137060608535547982118015244578081838279272344482744016732172619485315019714524685303877481852556906794553124981306051146899871912735837042999707787159819479939757480864893518357039703481697848262490371962866359244915115832159340374509382806599722043780431036097837952828027407764748941791194740212367942991838259577875926494532357016424097847 363513800253248523999461483209156661239875445092749139614017946398774450665266527248515194631610799496321679098226916028633422802441257853605382199229577540273638328563752564850834642264070462665984140515469802549114495785346410129846597120989007030277220560145542533041687093550279799788650813667216926299565019042616658183996890196384369310600902223576630605894734773101021415438526266055108449756679217838075865986720024167612047411933737646061245674481400914072853446728551040359801108933454741589544571362663641838282229605947303450869202937957827006636546502363020440502248207359883351613830727980782496148855501057682326856225499976951521014683233750134305715145523911551790225892724802529611094595755469129044042493587855847970515179900789182882180909177558967838245362349540756761840685890817109889467582379343723634165934915901796715969352583284175692805305483546323733473091393589437279445881626486866427517783152731401553639178606085018872194141573380118143086834608461244107229170711320337189219170127943609574789620418481057063870508223729957357864873513691367037261237799388005968513375528666864545891762755609301575696501219416050398459316773388334803447305539125798718813825315745672782887391942559928328346018322913982576048110335832309007366928510714001976727788116496116992480438267776621767078390280036886596610316274884904274920533968773080251236739164874193586274003247795605107604265618241953809614665326448034286211291610233623694024440935687529404679040001176212712344347204459097145627328872874266704992516892009138163192714522893534049418583165173469563185432899899348659945499987037961872692254180934629155205226955006991438238725301301629835544851391564694123605632956737013464123274772766052021898115807129619378709843003376250107473969708876252784091386855614777877209009440668135285445391997194668296071352087598031140553279767507007493819692262632363045338559143376699744176196843979917698935511421428076859370766191791839634506558058385002541918243266595097472646273130082540214213831030432031430906444470026948054573969484276164330471035195087479617926365904757045297454725047708269216103675598992703612912461051922814914330739544715846019114507586877157901220816534912860745035724112014263419544477991958075881832701909113018842057095383033015475213756788406742804689166235235419198865044355051767926190943436731603664345365460045824042793501877379738759617838045905661670478895711511582668141586278206130058397843490292760947741389320656585649746042631364296355503060773285905767337404542746053892465650545735597532582966527140906263936708249255976591595572642237115171493295734747934397647339481816533908716481496121764482576333565996426885850057851675897457256316117123828881159077289993585706224458462793541411038122562926792230183188536206247951361842088317996677580676274171948049614871226402087098732512324824993998978278799422740187184959987470481974523579159009228776564221317808999663979030929113626237092034239641260144880055430927410643676191028415494460160272861251154286508703650125251018896557164593595793614756886154850263120056435337333331412010139111226130017102825276801517622997772438649161048480187317300875398649261053999149707944660548696572896659623840205868111765740152466798345811219987008689392561068402799678446290938863801461716520898343658480024427121863815046491345249284332349781952963558813079581874778771710631508203511785645991956241200000148209355554401833162219532301440964931869243759594088235519259921933432181133575784677475814210383316828597662080459003909325370877886979519742361180844557213724367566712415502588021550001563719775461479219763295996176509609050354869580397424179912949137469052753966929250637654117199454569291202602394168835597366155753219418878303128047949517328297662155321065084717617011462568585348107483623174677433081706730704042138622403377998299082176224995532212798012372311261223413012524767902243544435853561922368821584552149116596178633316971912119636882939952464619494272387626759219124571 588177684189396245303144674582142327165882861046751092080502687594034720910893084762706378432344478750132597606399402400057440010473969082394519780414519677708711725745598827662147312068076755703045169494094483882579897049196331987877886234619827393910380611042289597272415400300681715561767591185311657990809107415138439724898313936863783917545423368013667290109400689116374270590980236261916046413456262961779556553458822010648098492228842983292492218341527875445224463988616819114318600128879337129304412598556360576551343717651805749508369753901342370588869077350277287580974455401329085455099457328874374498302525714934792292735920674985207697420641592254952212232115946678988404484361560222603019767804264176286797070634987584968984482203698903440316302103391246671094264760737796132794794849388877348400491718304256573763364693561164129097414226431774883652594295814143109938309063339485253594540384592572338549046359947751131018062800414921398467530483992083941011038343391215012200793120520979793452013271249328727484745537579778271157096679000840316496898877092558604051864033127406903420388711455257723176847002862919563871663746911611489409303339969972054581528977930616088485214377103911082493045219349269479052333383317445624634569214575457778568309544493352492492691406242073948177688940215795869363098355256424037296258036334232017605925376040479854553022370252201110451089816603900163217081334648678519221640734767400760306935347680667254746294709817677829964692157436859006818856763873799822338796642336951833475705103270012214902586417828127332154539421498534357867574389450039036978482312257249794425400742055830999517274232547385020999656395435172398361947248903583642126749518254879157718855859594707883161370213114064254269883005208034458071678009962939348402517097634689968354150865943817648371551039983260399748549117272732098672575296613402314296195984629668393092498506397398753006432045910160942170249297963362232973237612318392103311490197565077656007463529285753259945842051336631315889694996490662386662649840840196428784310510103210852359260602283013714444609402729117476214880842469122862559167506329123411620716514445221948436020895306339403691029322702434093810804427362378344992375164735301725201703215270050907325593345179243503337036107494929565380275434392258959318570517375669388966657602380990567709030025685381121893060688300898356596860308149197055632841334021310131916430859467676731896722032870403127283821230868979606681353693896776870085319045658580845328276911162381443977696847225137428668436411102185692651599501614992872681219185990093155735403378868676036322693351530951537733835811287727046021444367270449839004312077992328424777888753269740110716972241318572344643032919854944966759447353907162232537750235562441770736415338741597563319230523663991193363384722509929983805865981847188015360276519229848320112053489386167864047747382041127276362250765927462549559065987406243306644588369768208819335482897405951524549318965554157093430824985085531830155050421186803984369750639226426062400403899188728602976718483271714454288321287102997816740465311133549694489338707756756979671014350074250824382177712835179811594574366249623515230892256356779936527639057426359462152320220574732305254565292100756227963882871192848500862670233288959011154237828856882604766543344836157468987799588309639236665576205197461406929875050581901641485717625812130225263643576877849455601930057673984715534245809665096417629348494539959218905208453959016189179384670030143241547750901995168644167489120577658555993448834069575456886332122810907129051953192015274762398115568089983174302211903346249808553353844555721683451893050009746004600736084944495215735955478726913773946619126341455082681175467744104182180609900506424122850787136627116231617488924198405628347815270782994157372839187595597560495662106859696147344666596958398572042927488143420563787521907574501965588216284598020206774412579556881345120424511712124487579874778212042495420766919983775643222418 951691484442644769302606157791298988405758306139500231694520633992809171576159612011221573063955278246454276704626318428690862812915226935999901979644097217982350054309351392512981954332147218369029310009564286431694392834542742117724483355608834424187601171187832130314102493850961515350418404852528584290374126457755097908895204133248153228146325591590297896004135462217395686029506502317024496170135480799855422540178846178260145904162580629353737892822928789518077910717167859474119709062334078718848983961220002414833573323599109200377572691859169377225415579713297728083222662761212437068930185309656870647158026772617119148961420651936728712103875342389257927377639858230778630377086362752214114363559733305330839564222843432939499662104488086322497211280950214509339627110278552894635480740205987237868074097647980207929299609462960845066766809715950576457899779360466843411400456928922533040422011079438766066829512679152684657241406499940270661672057372202084097872951852459119429963831841316982671183399192938302274365956060835335027604902730797674361772390783925641313101832515412871933764240122122269068609758472221139568164966327661887868620113358306858028834517056414807299039692849583865380437161909197807398351706231428200682679550407766785935238055207354469220479522738190940658127207992417636441488635293310633906574311219136292526459344813560105789761535126394696725093064399505270821346952890632328836306061215435046518226957914290948770735645505207234643732158613071719163203968332896967966125515211218538468221995279150378095300940721661381573122586672003921053007289349387696923982299295211667117654922990460154722501187554376459238381696736802233906798640468277765732382474991892621842130632360759905059486020243683632979726008584284565545647718839192132493903953249467845563160306611952933816943037177928695819901204870763239225855064120409808115888247262031438431057649774098497182628889890078641105760719391439092344003804110231737818048255950080197925706795880850732592115181419171530103526026922693817569094310867144483358279994379375182830295797370493332370975307486162773669605890177392078662843105321827024533177566368036862766760440022185422805536909579591995031620962275239090028099276749565144746181207228126789158295254292262345394131490527945040594032222799001764007736752611088587831701957432758493899973462416984786238426148346722399390362185528935815250679379926971802395326570979259400038308311076533185681664721161740554422743014553362519831361677022877200831337684448287211315101389971191321134086956837783225234566028755899136617927435246069747330976021105791207815989086278885935381175293104260954737925863392214321580645643988755310627946604945637567973288358442401225802110209848530672983905816700703643575872798489234000919603874947845514681072611981987870944060996681878033420737208249275114092788844054842319090332288808908051232707369511609250885829924936691326123287305215242970623619298881835056427517137047211669429374396481567737107016013501026290315323282437958270878454289351677081296961063782324396591475369426564717408377722440331148152475450244775824506441533033558497294012122512899985430657900152480686993223627303622664938836916905476509424298681266565330264085960727199103600376512087764917356443939595648179308961172152760472870758727200541084790970466699972515479144837593971586447529168756274486511749829353612272993921137597776217219884776877997664957484459507146935066547250630028286873108088628194738165130387391197322755169347505957451931067730592830724626493029903029433880428353811936637730889336535274695764368694603296312399679287865444653521975199342426318162404199425302080876072962958883473653490051873745853390072678181483065149221520510290680047331220963523060483737948455941451148449291948181316335105935660974213695922754406168834805920894326301602634284510237694446426842821953930784840939860454681787200534432342404209132652138159942575595997131705997941299057828684036607216757718164507114915039307610534862346989 1539869168632041014605750832373441315571641167186251323775023321586843892487052696773927951496299756996586874311025720828748302823389196018394421760058616895691061780054950220175129266400223974072074479503658770314274289883739074105602369590228661818097981782230121727586517894151643230912185996037840242281183233872893537633793518070111937145691748959603965186113536151333769956620486738578940542583591743761634979093637668188908244396391423612646230111164456664963302374705784678588438309191213415848153396559776362991384917041250914949885942445760511747814284657063575015664197118162541522524029642638531245145460552487551911441697341326921936409524516934644210139609755804909767034861447922974817134131363997481617636634857831017908484144308186989762813513384341461180433891871016349027430275589594864586268565815952236781692664303024124974164181036147725460110494075174609953349709520268407786634962395672011104615875872626903815675304206914861669129202541364286025108911295243674131630756952362296776123196670442267029759111493640613606184701581731637990858671267876484245364965865642819775354152951577379992245456761335140703439828713239273377277923453328278912610363494987030895784254069953494947873482381258467286450685089548873825317248764983224564503547599700706961713170928980264888835816148208213505804586990549734671202832347553368310132384720854039960342783905378595807176182881003405434038428287539310848057946795982835806825162305594958203517030355322885064608424316049930725982060732206696790304922157548170371943927098549162592997887358549788713727662008170538278920581678799426733902464611552461461543055665046291154239775420101761480238038092171974632268745889371861407859131993246771779560986491955467788220856233357747887249609013792319023617325728802131480896421050884157813917311172555770582188494077161189095568450322143495337898430360733812122412084231891699831523556156171497250189060935800239583276010017354801325317241416428623841129538453515157853933170325166603992537957232755802845993221023413356204231744151707340912142590504482586035189556399653507046815584710215280249884486732646514941222010611650950436153894080813258811202781335328524826496566232282026088842425389637617435020474441484866869947884422498177696483888599471505848731167598022874605974307657191260723326307269986757976798359559813749061609003488102365908131486836647620755987222493678132870883520713948281934311757430446936131935030343946936312965485952030720161104096708450139389916680722681458046159614595610668655292798237196328749802523367939968917886165530370892009299146621236162903066379399974467244138682437809837473115011104391988000759370230662664160584957721981083735405835358215377678690260599760973570445143129703475639743353170607865876113623034051675771656019213689443078000303135645979064307445719191808017226603190096463129453065363284690639202385778195075915280454751552736527248080690864153875682353292621486277268207668650043875763000034453163193978693362035724830537840998586558120470373703624762255248204928578103143697364962971052999568193852698279171696699009543328964892940761378325518995780240790315476965026472587150809812835612987660498587797993553246180169729173262256445951937738692924792416406181301931408854941804188521145320326810788496680171631405441719484024996556057423689557513811536129984466944425903610823113105373953735893441624879935513914479638763409906442483528353755847120559414517181131650600793060295124704502456583168153957070338841350213511934554017536100693478818632587999368793982150480687989873877187881512094617221459346181824816321886618571074797794855955427827824187102688676126715758043981023764327966012968629478254226136818241069126028156908396839095840646851745762728506688707627242664347848962365573999236428575297547952594859859379842043738025189162992178760081921899163129946617097390593771509418912329356883867348598102350988056339916906174720868422757962782370409711262879286419482340396161094796632496376549610335806227594310505569407 2491560653074685783908356990164740303977399473325751555469543955579653064063212308785149524560255035243041151015652039257439165636304422954394323739702714113673411834364301612688111220732371192441103789513223056745968682718281816223326852945837496242285582953417953857900620388002604746262604400890368826571557360330648635542688722203360090373838074551194263082117671613551165642649993240895965038753727224561490401633816514367168390300554004241999968003987385454481380285422952538062558018253547494567002380520996365406218490364850024150263515137619681125039700236776872743747419780923753959592959827948188115792618579260169030590658761978858665121628392277033468066987395663140545665238534285727031248494923730786948476199080674450847983806412675076085310724665291675689773518981294901922065756329800851824136639913600216989621963912487085819230947845863676036568393854535076796761109977197330319675384406751449870682705385306056500332545613414801939790874598736488109206784247096133251060720784203613758794380069635205332033477449701448941212306484462435665220443658660409886678067698158232647287917191699502261314066519807361843007993679566935265146543566686585770639198012043445703083293762803078813253919543167665093849036795780302025999928315390991350438785654908061430933650451718455829493943356200631142246075625843045305109406658772504602658844065667600066132545440504990503901275945402910704859775240429943176894252857198270853343389263509249152287766000828092299252156474663002445145264700539593758271047672759388910412149093828312971093188299271450095300784594842542199973588968148814430826446910847673128660710588036751308962276607656137939476419788908776866175544529840139173591514468238664401403117124316227693280342253601431520229335022376603589162973447641323613390325004133625659480471479167723516005437114339117791388351527014258577124285424854221930527972479153731269954613805945595747371689825690318224381770736746240417661245220538855578947586709465238051858877121047454725130072414174974376096747050336050021800838462574485395500870498861961218019852197024000379186560017701443023554092622823907019884853716972777460687071647181295673969541775350710249302103141861618083874046351912856525048573718234432014694065629726304485642183853763768194125299088550819646568339879990262487334044022597846564630061517246507555508976950519350694369912984994343155377584679207068686134200093875253736707084001426195531973338655023469498647150673192460715526839723003501909748042399704335246990952280058955866607899627167520070936610324777752143120731559126791145917074056482232650397355421080258451954671524088723408496186397496248955497296094054878482165603365969839046033781963161015246663548958203374796247253339552006312727258987308569519689495832540909772575623088637288592681375747627966935251506715873686050647340398345738243545854207339532958292718067003983966513162121064345778133910615800845201805640597836729247891826967531878932190517171500374863408067758517292567644857012087584410785696986062720526126659217929780224994326026753377396159669222124843889105076731983660113045416211623101343502221773823873974259038595100050795243493513140141185581021620856868845108566090167732955376236419959490122680492142029130512455318316276286062676770750384144859480592577594479956895755283257964774348484278236102499946089263497582409560634542710010379953374709289126187473559901007682659703413130633844785516898976688278585667340310925152991375564671796348695235469228741410834689723365042058145409886363180830093420475180383717423754305541693448732348110795881456520580690581221867387197474143820872481346162302031102444878162243406325845204038975927512951907716188691986922516100835089879904245062167362036442775837909671150303148085797418307025147685720523478864287700795520354055739660779595331826984680976248200765764231127335085040198352240866260141724807209052784138188590772259310383853520560917905357966406842968877227718540169080197702013390214541056725250845535204845367916396 4031429821706726798514107822538181619549040640512002879244567277166496956550265005559077476056554792239628025326677760086187468459693618972788745499761331009364473614419251832863240487132595166513178269016881827060242972602020890328929222536066158060383564735648075585487138282154247977174790396928209068852740594203542173176482240273472027519529823510798228268231207764884935599270479979474905581337318968323125380727454182556076634696945427854646198115151842119444682660128737216650996327444760910415155777080772728397603407406100939100149457583380192872853984893840447759411616899086295482116989470586719360938079131747720942032356103305780601531152909211677678206597151468050312700099982208701848382626287728268566112833938505468756467950720862065848124238049633136870207410852311250949496031919395716410405205729552453771314628215511210793395128882011401496678887929709686750110819497465738106310346802423460975298581257932960316007849820329663608920077140100774134315695542339807382691477736565910534917576740077472361792588943342062547397008066194073656079114926536894132043033563801052422642070143276882253559523281142502546447822392806208642424467020014864683249561507030476598867547832756573761127401924426132380299721885329175851317177080374215914942333254608768392646821380698720718329759504408844648050662616392779976312239006325872912791228786521640026475329345883586311077458826406316138898203527969254024952199653181106660168551569104207355804796356150977363860580790712933171127325432746290548575969830307559282356076192377475564091075657821238809028446603013080478894170646948241164728911522400134590203766253083042463202052027757899419714457881080751498444290419212000581450646461485436180964103616271695481501198486959179407478944036168922612780299176443455094286746055017783473397782651723494098193931191500306886956801849157753915022715785588034052940056711045431101478169962117092997560750761490557807657780754101041742978486636967479420077125162980395905792047446214058717668029646930777222089968073749406226032582614281826307643461003344547253209408596677507426002144727916723273438579355470421961106864328623727896840965727994554485172323110679235075798669374143644172716471741550473960069048159719298884641950052224482182126072453235274042856466686573694252542647537181523210660351292584604541428421077060256617117980438621716602501399821641963911364807172885201557017720807823535671018841431873131663908368998970405811612636625223180876630936431453641299664723122385793293150566875669624521900697864363848820739133692717721061006897089497683155216220677718395553463734821054725696093353961898560881611197501888236956256666324717542642750561087950922781439617321376392925353809557964348366692396469255481952470612157916435395803118866592585544231642302326731670681678883273945999558952435065494067873943588442201372998919570624223597495103845199059881793616872617082305381991306664999077487993890458215525160034636181922807953517205953538057386761120553017398182698010674142531256070689687482781374864146507883368691690989724430395727863074823123060801775741526989077938356973001426862498002014614189451224065067687201605056329126127801684168819614410115025278295263429989401328174158652414915096898323331061921310260120464807207997097561172641539652223983036199440920751839315388463905998089772232484413033689401193232673739916663746273394999589224640101953198664417589102186941484389691906076313493869410236268133371220277695878021254964502652305808070091624346624277382578158838888704995768829462214457330864405413628182729574960826965332255227638345397012467840438461995268999776300309170349404719778571593920287387349609532004988896142430161942325510227991642128991998276743340902814213782205504344598378777545812433646380672599146922149098776412240295655379733897783398804784494819163441058170099928894177744432475633969861659778589498608674557650886489176647112176216558574388983675868140336816554231756514138022509476358796810022710917606335586651762799155873485803 6522990474781412582422464812702921923526440113837754434714111232746150020613477314344227000616809827482669176342329799343626634095998041927183069239464045123037885448783553445551351707864966358954282058530104883806211655320302706552256075481903654302669147689066029443387758670156852723437394797818577895424297954534190808719170962476832117893367898061992491350348879378436101241920473220370870620091046192884615782361270696923245024997499432096646166119139227573926062945551689754713554345698308404982158157601769093803821897770950963250412972720999873997893685130617320503159036680010049441709949298534907476730697711007889972623014865284639266652781301488711146273584547131190858365338516494428879631121211459055514589033019179919604451757133537141933434962714924812559980929833606152871561788249196568234541845643152670760936592127998296612626076727875077533247281784244763546871929474663068425985731209174910845981286643239016816340395433744465548710951738837262243522479789435940633752198520769524293711956809712677693826066393043511488609314550656509321299558585197304018721101261959285069929987334976384514873589800949864389455816072373143907571010586701450453888759519073922301950841595559652574381321467593797474148758681109477877317105395765207265381118909516829823580471832417176547823702860609475790296738242235825281421645665098377515450072852189240092607874786388576814978734771809226843757978768399197201846452510379377513511940832613456508092562356979069663112737265375935616272590133285884306847017503066948192768225286205788535184263957092688904329231197855622678867759615097055595555358433247807718864476841119793772164328635414037359190877669989528364619834949052139755042160929724100582367220740587923174781540740560610927708279058545526201943272624084778707677071059151409132878254130891217614199368305839424678345153376172012492147001210442255983468029190199162371432783768062688744932440587180876032039551490847282160639731857506334999024711872445633957650924567261513442798102061105751598186715124085456247833421076856311703144331502206508471229260793701507805188704745618166296992671978294328980991718045596505357528037375175850159141864886029945325100772516005262256590518093463330485117621877953730899336015681950786667768256306999042236981765775124513899110987417171785697994395315182451106058482594306764172626957389141067296871312806636307066742391852092270243151920901698789407725925433299327195881707653993875310259787298415641592157776154457143209412765522090128540141519155728580388508597491531368891675744017495473204127628648624474301133294734200628203861090242134984148048025485987284290107383899384485911753962418772421124916164453920761827473399284537408172017358516167723162939649808807488265197871145225004915492614699133495316807265390964020263363054630901912934810459150939180118521283986787939616544773777963756555787821912203043848306778993681428083515901922465844279293634488294944773051861603713801740144034377453912920794828879070309965827555022761726942041767675750203307501523364437663593686017016477807791887532296947966949906852473510649190983773184624528206000223788438063425483103662787252400299822639267942869749841235266983870386861353597722356704410578611905037777390465360192433765578436741093270673868311556786399132816560630679397816507122573353238254482368008334984359122952898775642234374459373756653348374298513766289426758565425271761890354615023536691593212470557688821935473682145430687253585926760851347541277298833035181314000747620216984298591358949659555634932511248122837382488271268409559313443051109094865977703049062305849192743143597172790516511706750881016472082530793675454736043964823655382069658514202214914158229827088156647585964981575818648280182508049927848960519443798979624294607869622255276527996450900087953523059584379826646148122034418300694658408871767560674168213900644849640333481766703670627365237884435526942427909544593773498303223397200633741856562678556556498823412925458663060837497298004001241402199 10554420296488139380936572635241103543075480754349757313958678509912646977163742319903304476673364619722297201669007559429814102555691660899971814739225376132402359063202805278414592194997561525467460327546986710866454627922323596881185298017969812363052712424714105028874896952311100700612185194746786964277038548737732981895653202750304145412897721572790719618580087143321036841190953199845776201428365161207741163088724879479321659694444859951292364234291069693370745605680426971364550673143069315397313934682541822201425305177051902350562430304380066870747670024457768262570653579096344923826938769121626837668776842755610914655370968590419868183934210700388824480181698599241171065438498703130728013747499187324080701866957685388360919707854399207781559200764557949430188340685917403821057820168592284644947051372705124532251220343509507406021205609886479029926169713954450296982748972128806532296078011598371821279867901171977132348245254074129157631028878938036377838175331775748016443676257335434828629533549790150055618655336385574036006322616850582977378673511734198150764134825760337492572057478253266768433113082092366935903638465179352549995477606716315137138321026104398900818389428316226335508723392019929854448480566438653728634282476139423180323452164125598216227293213115897266153462365018320438347400858628605257733884671424250428241301638710880119083204132272163126056193598215542982656182296368451226798652163560484173680492401717663863897358713130047026973318056088868787399915566032174855422987333374507475124301478583264099275339614913927713357677800868703157761930262045296760284269955647942309068243094202836235366380663171936778905335551070279863064125368264140336492807391209536763331324356859618656282739227519790335187223094714448814723571800528233801963817114169192606276036782614711712393299497339731565301955225329766407169716996030290036408085901244593472910953730179781742493191348671433839697332244948323903618218494473814419101837035426029863442972013475572160466131708036528820276683197834862473866003691138138010787792505551055724438669390379015231190849473534889570431251333764750942098582374220233254369003103170404644314187996709180400899441890148906429306989835013804445186670037673029783977965734175268849894328760234316279838232461698208151653634954353308908654746607767055647486903671367020789744937827762783899372712628278270978107199024977471800169641709522325078744766865172458859790076652964281121872423923638822468788712585910784509077488644475921833292086031398204910409295355895217712414877710213194265134525738122157456349515411919023757324825063189709844141379447885845171718581401272722868010628743489963767666725541871684608913016605913801097371168074132071529632046278062970217668483303141440311295733565726080861038907693290751934044733514175858934369411586004674186395227575230140989543693348587980153282925757402103730100395866298510388897893229130843356781628378753160298211896239895724548097551583407450978181589999623327364010253033435869473297838365437686088876387510945546962377708006202238187615395371771090010708628215037638268922130157625955068498225803052252876707168730474454005356151765395744553918660849677098895665156617027711758032584737264319952874288788691254355075838557205900478670965872729427938785040543666878838737258961888741702160480457780567468772156642299968874908114376037502926743373887738406391379957229842860864077296099413228597669525964427099058203607053365708383131607181725353999847085368924659527938278130198375823187296354718489017849389842112528251010671000843370386278775306336733211374715516902744311188012143373473099686861111470659588066002818181025064268048953719797812231600839712442905800358819086433390926867795789600853784527106428705394772953090179652223441530018721031688768292106279821851306458389164321465311563092588400623552586616200036308138075560423439138942156324354557116541884996611743501002298528269641638640039951432390255994585188032915295633435636376269396424149060803157114888002 17077410771269551963359037447944025466601920868187511748672789742658796997777219634247531477290174447204966378011337358773440736651689702827154883978689421255440244511986358723965943902862527884421742386077091594672666283242626303433441373499873466665721860113780134472262655622467953424049579992565364859701336503271923790614824165227136263306265619634783210968928966521757138083111426420216646821519411354092356945449995576402566684691944292047938530353430297267296808551232116726078105018841377720379472092284310916005247202948002865600975403025379940868641355155075088765729690259106394365536888067656534314399474553763500887278385833875059134836715512189099970753766245730432029430777015197559607644868710646379595290899976865307965371464987936349714994163479482761990169270519523556692619608417788852879488897015857795293187812471507804018647282337761556563173451498199213843854678446791874958281809220773282667261154544410993948688640687818594706341980617775298621360655121211688650195874778104959122341490359502827749444721729429085524615637167507092298678232096931502169485236087719622562502044813229651283306702883042231325359454537552496457566488193417765591027080545178321202769231023875878909890044859613727328597239247548131605951387871904630445704571073642428039807765045533073813977165225627796228644139100864430539155530336522627943691374490900120211691078918660739941034928370024769826414161064767648428645104673939861687192433234331120371989921070109116690086055321464804403672505699318059162270004836441455667892526764789052634459603572006616617686908998724325836629689877142352355839628388895750027932719935322630007530709298585974138096213221059808227683960317316280091534968320933637345698545097447541831064279968080401262895502153259975016666844424613012509640888173320601739154290913505929326592667803179156243647108601501778899316718206472546019876115091443755844343737498242470487425631935852309871736883735795606064257950351980149418126548907871663821093896580737085603264233769142280418463398321920318721699424767994449713932124007757564195667930184080523036379554219153055867423923312059079923090300419816738611897040478346254803456052882739125726000214406154168685897507928477134930304291915626760683313981416126055517662585067233358516819998236822722050764622371525094606649141922949506753545386265673784962371895216903851196244025434914578044849590877069742043321562611221114486470692298471786055671784306958156432132211222054464060946488740367927718490254166566050373433605187126785298917892847426586604090621727708667469262154386746631757482810146119651961185915305324693992189404933873129461825965300657208779764591162262384892582889995792446436386415890451209269388526590299794692571696086870458482866354448366445226788348264859576177846173084254772197407788145077771869179870736943854304916511562018080606088467126551736709070747669605147578407174859979938472413795151596687636075262867048105071263757843609526288241585960861363898976418878693637329837808056197596415339606041187889396377910875383210556063725022680045979502927668719056960615480688548287459905903342250483274498449591490316302190272393261706405655974404663687423668502084944082766052017970625434114736995315876224990651679254051446788841416993946993749344834184286214337917857104297558236553766084462094940414962825788902453131279595198744517142488835411259580091748186252172680806715795268132625967650714436765289262738434984787880139080735511139070385193108486205347388362667757694709252278877818592807485887713668148573484322353360651088393159272111779945592218357445828077352418565965050160380755286970645890203372818221540604538085348974700519004092918543453194301259353914657819958588646174590038512832777365419502064709614478633243733472533978631847736137888343286965296288557179909804829517973544148111459685127006701318210995487967596982306289461068288779275638091058227743907122881047270443430208072863415136943263348633023997851147866589471794456848561834932457261646358807158356290201 27631831067757691344295610083185129009677401622537269062631468252571443974940961954150835953963539066927263579680344918203254839207381363727126698717914797387842603575189164002380536097860089409889202713624078305539120911164949900314626671517843279028774572538494239501137552574779054124661765187312151823978375052009656772510477367977440408719163341207573930587509053665078174924302379620062423022947776515300098108538720455881888344386389151999230894587721366960667554156912543697442655691984447035776786026966852738206672508125054767951537833329760007739389025179532857028300343838202739289363826836778161152068251396519111801933756802465479003020649722889488795233947944329673200496215513900690335658616209833703675992766934550696326291172842335557496553364244040711420357611205440960513677428586381137524435948388562919825439032815017311424668487947648035593099621212153664140837427418920681490577887232371654488541022445582971081036885941892723863973009496713334999198830452987436666639551035440393950971023909292977805063377065814659560621959784357675276056905608665700320249370913479960055074102291482918051739815965134598261263093002731849007561965800134080728165401571282720103587620452192105245398768251633657183045719813986785334585670348044053626028023237768026256035058258648971080130627590646116666991539959493035796889415007946878371932676129611000330774283050932903067091121968240312809070343361136099655443756837500345860872925636048784235887279783239163717059373377553673191072421265350234017692992169815963143016828243372316733734943186920544331044586799593028994391620139187649116123898344543692337000963029525466242897089961757910917001548772130088090748085685580420428027775712143174109029869454307160487347019195600191598082725247974423831390416225141246311604705287489794345430327696120641038985967300518887808949063826831545306486435202502836056284200992688349317254691228422252229918823284523743711434215980743929967876168846453963837228385943297693684536868594212657763730365477178809238740081519755181195565428459132587724719916513308619920106599574459538267570403692687945437855174645823830865188882794036971866266043581516659447770240879448306126899656296303075115204497763490939375490961953299790467291947150301324367556913827467674796658230698520930202418257325878403515303888530716562401032289937040805752116833044666635095616738063192849022956789902047213843491204320743439565215459163644244915461860959922437554004635145693286529735201326278712227567742811041972206725691218524990209327188203321804316505499437921861734396680124868789213832325558038675718510740368514403836330784381758974633544546701929931647775219905752348660249615537664131045299432496365010366759694664431866222203742364933428700534837751507885538084081830585657038885080777545524131452521659253630803549282322948528491311739137248221595632160475139716862353673427007251308507570726278448861311688380727530992856891245801265369475654083505250836339137544268814877158008878316964693848061089633465888637444406625575485254298386328757518441433028882284167118323040490146971324108903585925728828033499876438342996675394542569178897441123736160411012126170059431977587162934621181661717174587653145872769580053140544943525968042742701143917255551152894228015800057015642276702897647964437075291025046350836642575443283569469921903436237498713392050603211448762506835122073990579072186673025110993490044946813849993886932264399411886938342687788876847453516800290211559347235448036682354237190557008016968630673184068386637591333712195473179339403830272955150331870993663782561288727134082867794471568767430344118989890233929692200192604088167155725583272141872263251006532860193627100725758947465261023429439700573155020355849236720907338638506425624158284071177667907064318654064580663459731656135976362708469576771248219595101941763582104167633290444365021491727918217794415412784860449007877659013944432506601133056775583303300065414253845733054622387090090284198211201853685795419610315471178203 44709241839027243307654647531129154476279322490724780811304257995230240972718181588398367431253713514132229957691682276976695575859071066554281582696604218643282848087175522726346480000722617294310945099701169900211787194407576203748068045017716745694496432652274373973400208197247007548711345179877516683679711555281580563125301533204576672025428960842357141556438020186835313007413806040279069844467187869392455053988716032284455029078333444047169424941151664227964362708144660423520760710825824756156258119251163654211919711073057633552513236355139948608030380334607945794030034097309133654900714904434695466467725950282612689212142636340538137857365235078588765987714190060105229926992529098249943303484920480083271283666911416004291662637830271907211547527723523473410526881724964517206297037004169990403924845404420715118626845286525115443315770285409592156273072710352877984692105865712556448859696453144937155802176989993965029725526629711318570314990114488633620559485574199125316835425813545353073312514268795805554508098795243745085237596951864767574735137705597202489734607001199582617576147104712569335046518848176829586622547540284345465128453993551846319192482116461041306356851476067984155288813111247384511642959061534916940537058219948684071732594311410454295842823304182044894107792816273912895635679060357466336044945344469506315624050620511120542465361969593643008126050338265082635484504425903748084088861511440207548065358870379904607877200853348280407145428699018477594744926964668293179962997006257418810909355008161369368194546758927160948731495798317354831021310016330001471963526733439442364933682964848096250427799260343885055097761993189896318432046002896700519562744033076811454728414551754702318411299163680592860978227401234398848057260649754258821245593460810396084584618609626570365578635103698044052596172428333324205803153408975382076160316084132105161598428726664722717344455220376053583171099716539536032134119198434113255354934851169357505630765174949743366994599246321089657203479841675499917264853227127037438652040521066184115774529758540061303949957911841001305279097957882910788279183213853710478163084059862914251226293762187431852899870702457243801102005691968074305795253868926551150605928566427379885219498894701033313478228935343652253182879697403498121953030453666069154577676202714590714488728261570486291860763498107427067806380779116955886812766931964554051686151462116030971133645266880593986136846367747750590681690066646639946057996977608022580159296405651775508245081050748390920596121165630529203658834511615420971315135704158327679696655673839097828520189315632104095370512002587140427539811068014733552832505533456577481685848386816219636148221254731660914775438451803887183401192199874330764872430095445233216731253861800296328860309804331402672729153059892382796228250699266302201720627601691453571424421096612398886914745586258387333725483532324218628932154112849370440739411927114777124580723505130178776134427757010602023685869145831062303977050447813464881632209261711968074505158051562330146621250709209203931939589592134213188733936842126921617495124986032885481087713516997866816668100574723119401255665019565264427769192558278579987506575369016769934177647296794147932758672545099887977360634241301856614620754752261995311844791130812931582990406109358372375034715832697457909193092046860022086926870260242751752993388820379126116012597528286759176195002834396674818481768524387986523901993398697764694623810704440048946442835885835561438159071782054786164818034548833830427796989545066930277463212021228389366079552648832844631949522717314764880093606747913740797142173516130426102276234790806704200834119547541758545717536111435613467952533350520439857913946335385971882239898158136915918913805795407605619360869220639641460965494336252617688230933346601803259974577592135230272750654482560016697493432506471012604356130758706284387862714673996471912526566648698438251696880921211858884547132760046134310947441778417473827468404 72341072906784934651950257614314283485956724113262049873935726247801684947659143542549203385217252581059493537372027195179950415066452430281408281414519016031125451662364686728727016098582706704200147813325248205750908105572526104062694716535560024723271005190768613474537760772026061673373110367189668507658086607291237335635778901182017080744592302049931072143947073851913487931716185660341492867414964384692553162527436488166343373464722596046400319528873031188631916865057204120963416402810271791933044146218016392418592219198112401504051069684899956347419405514140802822330377935511872944264541741212856618535977346801724491145899438806017140878014957968077561221662134389778430423208042998940278962101130313786947276433845966700617953810672607464708100891967564184830884492930405477719974465590551127928360793792983634944065878101542426867984258233057627749372693922506542125529533284633237939437583685516591644343199435576936110762412571604042434287999611201968619758316027186561983474976848985747024283538178088783359571475861058404645859556736222442850792043314262902809983977914679542672650249396195487386786334813311427847885640543016194472690419793685927047357883687743761409944471928260089400687581362881041694688678875521702275122728567992737697760617549178480551877881562831015974238420406920029562627219019850502132934360352416384687556726750122120873239645020526546075217172306505395444554847787039847739532618348940553408938284506428688843764480636587444124204802076572150785817348230018527197655989176073381953926183251533686101929489945847705279776082597910383825412930155517650588087425077983134701934645994373562493324889222101795972099310765319984409180131688477120947590519745219985563758284006061862805758318359280784459060952649208822679447676874895505132850298748300190430014946305747211404564602404216931861545236255164869512289588611478218132444517076820454478853119955086974947263278504899797294605315697283466000010288044888077092583320794467051190167633769162401130724964723499898895943561361430681112830281686259625163371957034374804035881129332999599571520361604528946743134272603706741653468066007890682344429127641379573698996534641635737979799526998760318916306503455459013681286215822226341617897875716728704252776412722168708110136459633864582455601137023281901637256918984382631555609966139755396466605561306237121387477501561300276090763170681164169730303971252707993616901610625760275886595506226803031540141481513441037120416891392925352173625739788649994786884987624176765717572269254070195237101620603552390938055514636484210185147461262197003398207396042353501664850973697391078728915058704517072075315030973767082213082121071120708526985280883181230002907915919163527136979180816737315883936029951382216302956511926030890255616334639345820460312831463585033476278435382840911287539989836514523797352788076831170433778094523619650195422316312536836195037171913051749621789045358650635810215066010620027960919861049398993653292436635327566717533930235464528192614494854439040366886507648040725592946591080444614313739573749699350903263698495720138917561970342003359960491800380575454659985154640734027227680226744782551378842827954186446089486367145931725860276155422157314877703615339536849076675928096252782205376434298317498891323652400226432387135816177163768225565849392927842296938152070196171301243695258308784593761992334233330825180061845490119606057544342136753063127267233808561756824456313264833977418793688909324041859258741122403183633392893852530068832255850441423756151746744307009767200819818022080609334205685010950654806686731700639103518290147658883869983840677605940989746261683286151685548376663069955207366979741168859271476483576696636897392233923675460213763183056293310520746323782295199990091473702471924273425449884099373117101470698961087265002181566196905201738159696302863563195019504051744615711226921883797464805138636365298332295221275129528688109869948763852505542613975834245974637416958257336164633237198027789298646607 117050314745812177959604905145443437962236046603986830685239984243031925920377325130947570816470966095191723495063709472156645990925523496835689864111123234674408299749540209455073496099305323998511092913026418105962695299980102307810762761553276770417767437843042987447937968969273069222084455547067185191337798162572817898761080434386593752770021262892288213700385094038748800939129991700620562711882152254085008216516152520450798402543056040093569744470024695416596279573201864544484177113636096548089302265469180046630511930271170035056564306040039904955449785848748748616360412032821006599165256645647552085003703297084337180358042075146555278735380193046666327209376324449883660350200572097190222265586050793870218560100757382704909616448502879371919648419691087658241411374655369994926271502594721118332285639197404350062692723388067542311300028518467219905645766632859420110221639150345794388297280138661528800145376425570901140487939201315361004602989725690602240317801601385687300310402662531100097596052446884588914079574656302149731097153688087210425527181019860105299718584915879125290226396500908056721832853661488257434508188083300539937818873787237773366550365804204802716301323404328073555976394474128426206331637937056619215659786787941421769493211860588934847720704867013060868346213223193942458262898080207968468979305696885891003180777370633241415705006990120189083343222644770478080039352212943595823621479860380760957003643376808593451641681489935724531350230775590628380562275194686820377618986182330800764835538259695055470124036704774866228507578396227738656434240171847652060050951811422577066868328959221658743752688482445681027197072758509880727612177691373821467153263778296797018486698557816565124169617522961377320039180050443221527504937524649763954095892209110586514599564915373781770143237507914975914141408683498193718092742020453600208604833160952559640451548681751697664607733725275850877776415413823002032144407243322190347938255645636408695798398944112144497719563969820988553147041203106181030095134913386662602023997555440988151655659091539660875470319516369948048413370561589652441747249221744392822592211701242487950222828403823169832699397701217562717408509147427087987081469691152892768503804283156084137995911616869741423614688569208234708784016720685399759209949438048700710187642342469987181094289567807607679338265059407703158569551460281125617116738184672547668587762087876306857729151493683625526278327881188787711098581459571992119683736766258017367044284029828541225817350304818586157697741769182920141714349148099631156462596966355331077904051716192599493371163013023182824285570707104212502854842041781815765914626604577286008671129269997449639056137173895188051754619268541203067337222151256547067828942021476123472347588501146116789173141267916436149007588442733294083768240535780825999073415678522624005202515620232049082337061898795223528762655445375968250721199471500006250954477937734805085500584554529172429426864392338168741219799381295590496591545302252505248518716909752693667451749132006944460360824458908554835203288087854352106295907184130281577986925366608340141072868157731894044348327319505670780098492973751710517255559704210305847782730791174084811881262636330997009434600641352670182737068539619355505944407152488427698980607307976699808556255502286214671972867902893629210436787305168806680688862594476082578173450665869245722070141870423512239322270068205236575306224837652820501320787087607088736483069445562452130076228779688091506991327632496209920969781293140840194997809363089010886797417706239340020886239380533483735467812864973648750077447425519681786888435199416577787824611453876659408201099288710617817194019688132250365344767274195900071677129391679282402986221940432115909005279497879529892786319104739014578066965035213704953233114912798708461712737288438093835945673986611761313204659428354810069161269395071582720157935949126000600636436597462290757239494897046104859184549718303470475580678976445263126115011 189391387652597112611555162759757721448192770717248880559175710490833610868036468673496774201688218676251217032435736667336596405991975927117098145525642250705533751411904896183800512197888030702711240726351666311713603405552628411873457478088836795141038443033811600922475729741299130895457565914256853698995884769864055234396859335568610833514613564942219285844332167890662288870846177360962055579297116638777561379043589008617141776007778636139970063998897726605228196438259068665447593516446368340022346411687196439049104149469282436560615375724939861302869191362889551438690789968332879543429798386860408703539680643886061671503941513952572419613395151014743888431038458839662090773408615096130501227687181107657165836534603349405527570259175486836627749311658651843072295867585775472646245968185272246260646432990387985006758601489609969179284286751524847655018460555365962235751172434979032327734863824178120444488575861147837251250351772919403438890989336892570860076117628572249283785379511516847121879590624973372273651050517360554376956710424309653276319224334123008109702562830558667962876645897103544108619188474799685282393828626316734410509293580923700413908249491948564126245795332588162956663975837009467901020316812578321490782515355934159467253829409767415399598586429844076842584633630113972020890117100058470601913666049302275690737504120755362288944652010646735158560394951275873524594199999983443563154098209321314365941927883237282295406162126523168655555032852162779166379623424705347575274975358404182718761721511228741572053526650622571508283660994138122481847170327365302648138376889405711768802974953595221237077577704547476999296383523829865136792309379850942414743783523516782582244982563878427929927935882242161779100132699652044206952614399545269086946190957410776944614511221120993174707839912131907775686644938663063230382330631931818341049350237773014119304668636838672611871012230175648172381731111106468032154695288210267440521576440103459885966032713274545628444528693320887449090602564536862142925416599646287765395954589815792187536788424539260446990681120898894791547643165296394095215315229635075167021339342622061649219363045458907812498924699977881633715012602886101668367685513379234386401679999884788390772324339038449533751148203072817164385153743967301396466868422431332265797608482225383647699850874044729066815766620707979249332722141445295347420709437380541285489372713636582744324657720486657066419809394629824831515472852497344293309476554908012153929271654005306943389619558888781394799362372735311079769863784583841341610058228552334476111447758546101158222136710414261553200629411621284578169873015548897978996747675697994535656410153178679641964053093058715188733800085278518951273252102638763370785453947507013727963923140491937249485972731501469625286023825574205371308230372295349796426203755353794438980610143851699277759378211332059723799827358427717872510244830150642061169543948354833046420445603928166082719301027665735458753729616760118689206040156691545615405224557793419260398340212451558774100398208607905738466986583574491023857877526133641538478725747183794801058022798465921272028554064288222158941320927938156606741926850142031708058886213331399689584877975867846086110528737605452388113502837936854397268059552714860086116423485140468034122104895214056968911019973089800511680482563477591274450854928709413403353512511359365328127686212560265302449537302013798332130681150917654478739580776516412778342328186684855313709621673540621575823583482937633677121528037447849962198629181111091496131623391250290675692926112234122838986103012632532620061288103125622776634696882702729473372988116946614615568079029879477088670503264828887262737001197871360285440312447972592923732545722727315899096753200351454166211768988838387695168435734174792218235296478995613663450896984740957399140693490663505928915886350238607533966408031436881052453157224255529288746306546226143262782108872880350833821966676560806640213916174473052424761618 306441702398409290571160067905201159410428817321235711244415694733865536788413793804444345018159184771442940527499446139493242396917499423952788009636765485379942051161445105638874008297193354701222333639378084417676298705532730719684220239642113565558805880876854588370413698710572200117542021461324038890333682932436873133157939769955204586284634827834507499544717261929411089809976169061582618291179268892862569595559741529067940178550834676233539808468922422021824476011460933209931770630082464888111648677156376485679616079740452471617179681764979766258318977211638300055051202001153886142595055032507960788543383940970398851861983589099127698348775344061410215640414783289545751123609187193320723493273231901527384396635360732110437186707678366208547397731349739501313707242241145467572517470779993364592932072187792335069451324877677511490584315269992067560664227188225382345972811585324826716032143962839649244633952286718738391738290974234764443493979062583173100393919229957936584095782174047947219475643071857961187730625173662704108053864112396863701846405353983113409421147746437793253103042398011600830452042136287942716902016709617274348328167368161473780458615296153366842547118736916236512640370311137894107351954749634940706442302143875581236747041270356350247319291296857137710930846853307914479153015180266439070892971746188166693918281491388603704649659000766924241903617596046351604633552212927039386775578069702075322945571260045875747047843616458893186905263627753407546941898619392167952893961540734983483597259770923797042177563355397437736791239390365861138281410499212954708189328700828288835671303912816879980830266186993158026493456282339745864404487071224763881897047301813579600731681121694993054097553405203539099139312750095265734457551924195033041042083166521363459214076136494774944851077420046883689828053622161256948475072652385418549654183398725573759756217318590370276478745955451499050158146524929470064299102531532457788459832085739868581764431657386690126164092663141876002237643767643043173020551513032950367419952145256780339192447516078921322461000637268842839961013726886046536962564451379467989613551043864549599442191449282077645198322401195444351123521750313189655449155204532127154905484283040872528768235955908190957365836772281051873169170464652701155676817860480032975985250824695370828794140441852336746154031680115682407902273601726420964537447622053088954077134801512889602053809214170282592698137275818612542614054312069336412993213321166029520973555683833848169206969863707367552497104141918231221484212932683472498072655194907665554015499474738700651593299723437444377486200118725497081024715057330713744911374280275280544327539423176129281020190266953903240488419353819722018610474253895310438614395968983137200311511641638054038659113999417905774293612268307499455076470908076175795499619433876418444183125764083748360096440110127283252562482803803686123231444301650648312124021886089638131921030158457338512146165420003904199973528998055709185797585458944050863923941467546112927850089344458503234461222667516460573670274671428843130153784710263923116465651113792134942130890956197815316376881383793892939039813901689867123997486554352337555841617004505484501466140612198843095545129378958122570850571377556209903212466705203287785097030793117167842678360397500271640883887875983429722117269868646397955139717523185495981526963177228611050197828082983777541771807370219034907436905988570474980060367864123501514825397632247307443785850453228713082814911115433843598091309330588690157196438544200102382929041097489630696579165492767606574453915877606181370138735528645304563523132082119307261197599570823274023769178318590094905864522952961137628081768472067260357117441839651875326718767663159431808102032698230984058998088093577402273235400769388497171468411391794322125163634273179051235086367477275267242120545778593417603127677426508463772611093173381529889382743143688434020021603769926455693006516394864277115794595150918315550876629 495833090051006403182715230664958880858621588038484591803591405224699147656450262477941119219847403447694157559935182806829838802909475351069886155162407736085475802573350001822674520495081385403933574365729750729389902111085359131557677717730950360699844323910666189292889428451871331012999587375580892589329567702300928367554799105523815419799248392776726785389049429820073378680822346422544673870476385531640130974603330537685081954558613312373509872467820148627052672449720001875379364146528833228133995088843572924728720229209734908177795057489919627561188168574527851493741991969486765686024853419368369492083064584856460523365925103051700117962170495076154104071453242129207841897017802289451224720960413009184550233169964081515964756966853853045175147043008391344386003109826920940218763438965265610853578505178180320076209926367287480669868602021516915215682687743591344581723984020303859043767007787017769689122528147866575642988642747154167882384968399475743960470036858530185867881161685564794341355233696831333461381675691023258485010574536706516978165629688106121519123710576996461215979688295115144939071230611087627999295845335934008758837460949085174194366864788101930968792914069504399469304346148147362008372271562213262197224817499809740704000870680123765646917877726701214553515480483421886500043132280324909672806637795490442384655785612143965993594311011413659400464012547322225129227752212910482949929676279023389688887499143283158042454005742982061842460296479916186713321522044097515528168936899139166202358981282152538614231090006020009245074900384503983620128580826578257356327705590234000604474278866412101217907843891540635025789839806169611001196796451075706296640830825330362182976663685573420984025489287445700878239445449747309941410166323740302127988274123932140403828587357615768119558917332178791465514698560824320178857403284317236890703533636498587879060885955429042888349758185627147222539877636035938096453797819742725228981408525843328467730464370661235754608621356462763451328246332179905315945968112679238132815906735072572526729235940618181769451681758167737631508656892182440632177879681014543156634890386486611248661554494740985457697247101173325984838534353199291323816840717911361541307164282925660919540560294946640491116984975353869037554324208620002552143686282911365241782859306920754476493991315897065812969798300823661657234995743171716311958157059433630239566507515149472346378466934656939659117946670448437374129527164566680706302689876074041674902827337839155112596589422596148947296466514653542301254076717267313839682713423460000030126947233284801809815436433851705930686829530346781659194588072879611723908121955973275079983949576354808922984243360012618429222219439098240969883726356534073809399849916490150928275434782129991288145086730919375399579636093881704826384701280371525591925823189230212883163735907935447637855818321459342976362310162231403995741689131801290373293565834444471178341475762385504594865466447669639658727258614815827875003625615635596479329166025339532188248429556910062008561620876124366312137261255003334154011662236397564654944376860975929743188913754663736588405435448082115097981134829628023730739413404494369263900503217836884191051018588066689181655658116563574958964074215493064300480526257918147871213454278257635876800465292714328609794907849073230233797752432123989229590572451894909384880475688587976378325514295544042844221344672232833239567587139488129458799948640639914293167725818932162757495472126769334658638494598371477275212837368036540119395067725311193879060664488739921372272091605001729413440018890238713990200023631770927340157828964822036734570587687769888639337257348469571994535026217790024890818769669938620642557754287624468250451313385886747707198785898582438225209857082415789968403836503563289389703707870789935788614531257920008634227060967938773171036432128832025137094085457945344825064250397637059178129049689914577282803712642806806526828483071425083756008511325391367975638247 802274792449415693753875298570160040269050405359720303048007099958564684444864056282385464238006588219137098087434628946323081199826974775022674164799173221465417853734795107461548528792274740105155908005107835147066200816618089851241897957373063926258650204787520777663303127162443531130541608836904931479663250634737801500712738875479020006083883220611234284933766691749484468490798515484127292161655654424502700570163072066753022133109447988607049680936742570648877148461180935085311134776611298116245643765999949410408336308950187379794974739254899393819507145786166151548793193970640651828619908451876330280626448525826859375227908692150827816310945839137564319711868025418753593020626989482771948214233644910711934629805324813626401943674532219253722544774358130845699710352068066407791280909745258975446510577365972655145661251244964992160452917291508982776346914931816726927696795605628685759799151749857418933756480434585314034726933721388932325878947462058917060863956088488122451976943859612741560830876768689294649112300864685962593064438649103380680012035042089234928544858323434254469082730693126745769523272747375570716197862045551283107165628317246647974825480084255297811340032806420635981944716459285256115724226311848202903667119643685321940747911950480115894237169023558352264446327336729800979196147460591348743699609541678609078574067103532569698243970012180583642367630143368576733861304425837522336705254348725465011833070403329033789501849359440955029365560107669594260263420663489683481062898439874149685956241053076335656408653361417446981866139774869844758409991325791212064517034291062289440145582779228981198738110078533793052283296088509356865601283522300470178537878127143941783708344807268414038123042692649239977378758199842575675867718247935335169030357290453503863042663494110543064409994752225675155342752182985577127332475936702655440357717035224161638817103274019413164828504141078646272698024160965408160752900351275183017441240611583197049494896028047925880772714019604639453565890099822948488966519625712188500235858880329352865921683456697103091912682395436580471469670619068487169140444132394011146248441430351160848103745944023063102895569502368770335962056103512480979265995922443488696212648565966533448308796250854831448482821747634920910723494673272703707820504143391398217768110131616125305288131757749402559123829980939344065137269344898137276495604681486719193643642316662361948432276148827222251816083946267049916743581476636017119295903197240071195876383021673003281803559286303516499793570656571773522738289649950786337755368618367665584142446708023502461408736157289150308173029649072278740219303130210325468819496236248555624311488999530938204004433626966521669710638792917962988494200610429384248014245885473288128586946423768045326804200730337281173873248362189204281461172188447701387425442623106631327346861672019195997952258431586626228924792966035090118973133433451938685417587720534109310262505920842843107011631867673543858700787612871537060801211074579647343253107492885645116098518901368565243022843543640826885807535926432177284165446946661487771410027974768064685319804710861551904782316831876008037020948731317890854736899958846706819742120222342368692517159200265532277200787495521697529814645593049274203692992963121435656310485071374803719478825690214600250678795725056659955915022300770387184730289975080405366407438865816587428523342378527820385993152042451868147004493128058604438860316504763415807993123451179470201281322579998047741453405713805320873304146698625230276591506269511296261989705586229552068851257097769335987893934767844895360338759160416231903680961046941343995768187258593162663106435667059666900399549170751162518900538142005880999675196127276343577170081049046179515300818596813422284207945175993192241639237272951786561172119262584257913778165531099059869313428445214040413156977907425442740221762884453808597675343571018589067511792833603011302825316412733262219834999466289360871803106476309683526514876 1298107882500422096936590529235118921127671993398204894851598505183263832101314318760326583457853991666831255647369811753152920002736450126092560319961580957550893656308145109284223049287356125509089482370837585876456102927703448982799575675104014286958494528698186966956192555614314862143541196212485824068992818337038729868267537981002835425883131613387961070322816121569557847171620861906671966032132039956142831544766402604438104087668061300980559553404562719275929820910900936960690498923140131344379638854843522335137056538159922287972769796744819021380695314360694003042535185940127417514644761871244699772709513110683319898593833795202527934273116334213718423783321267547961434917644791772223172935194057919896484862975288895142366700641386072298897691817366522190085713461894987348010044348710524586300089082544152975221871177612252472830321519313025897992029602675408071509420779625932544803566159536875188622879008582451889677715576468543100208263915861534661021333992947018308319858105545177535902186110465520628110493976555709221078075013185809897658177664730195356447668568900430715685062418988241890708594503358463198715493707381485291866003089266331822169192344872357228780132946875925035451249062607432618124096497874061465100891937143495062644748782630603881541155046750259566817961807820151687479239279740916258416506247337169051463229852715676535691838281023594243042831642690690801863089056638748005286634930627748854700720569546612191831955855102423016871825856587585780973584942707587199009231835339013315888315222335228874270639743367437456226941040159373828378538572152369469420844739881296290044619861645641082416645953970074428078073135894678967866798079973376176475178708952474303966685008492841835022148531980094940855618203649589885617277884571675637297018631414385644266871250851726311183968912084404466620857450743809897306189879221019892331061250671722749517877989229448456053178262326705793495237901797001346257206698171017908246422649137426525517225360398709161635381335376067402904894136432002853804912487738391426633051765615401925392650919397315284861364364153604318102978327511250927801318323813408554302883331816837772096765300438764048560592816603542096320800590456711772303082836640354850237519812848892194367849356545801471939599806722988789948277818881892706259964190426302763459550969438536879781782123073646468372093628281763005722372265088069853588453761740920349433210149831811834294810743083484161910934030616715487290873108641202697825598593073314112870779210359512158394400148708899665447090037171225315823992366367218100177438082041827665614269393941308304271224172591140856238859859179419060399413891203089937192727618192221830704295438575885747126988676986979140098932858232016203958377926966963458057414095801963439056862381205898036614949287461256656573452884456070909107845873468819226979351265812336844210510597579954643635808076753045969205287103128266494114714822565253229058711153554978580488603981683228347701877098315343183517428046227687364935804836690215243822582273518225177304346948458278627251584464419765193197944797181435511438177109183059052426354404835743994428508718465525288493187752279958123135002083560945914585476313363341076083642623440179252883568177788332221458856445612085272488778719808542338504173519221039583527523939349632439596279290982928928860473703574129890189712774732894376414320862426975314751287914554404563806848856674071863230214496714684701386572080267546733897660265145403330101160849270111632958776794706767382400091900312176798148516984066661770395986573994822490141050370074969473441123348702771065401333953658083609350538782792187159243838790011763380730338774946363051302443693015529238894934575388541187409719307811944501642232950414900811827621394434932927222499604495395860509417802258408982210043073776515075950875827133374193702392696789019068503540489413152813584193410036257467877315848342399153422739593968655648245640842523517588585629029055540068746663482537714444627811617801701051502153123 2100382674949837790690465827805278961396722398757925197899605605141828516546178375042712047695860579885968353734804440699476001202563424901115234484760754179016311510042940216745771578079630865614245390375945421023522303744321538834041473632477078213217144733485707744619495682776758393274082805049390755548656068971776531368980276856481855431967014833999195355256582813319042315662419377390799258193787694380645532114929474671191126220777509289587609234341305289924806969372081872046001633699751429460625282620843471745545392847110109667767744535999718415200202460146860154591328379910768069343264670323121030053335961636510179273821742487353355750584062173351282743495189292966715027938271781254995121149427702830608419492780613708768768644315918291552620236591724653035785423813963053755801325258455783561746599659910125630367532428857217464990774436604534880768376517607224798437117575231561230563365311286732607556635489017037203712442510189932032534142863323593578082197949035506430771835049404790277463016987234209922759606277420395183671139451834913278338189699772284591376213427223864970154145149681368636478117776105838769431691569427036574973168717583578470144017824956612526591472979682345671433193779066717874239820724185909668004559056787180384585496694581083997435392215773817919082408135156881488458435427201507607160205856878847660541803919819209105390082251035774826685199272834059378596950361064585527623340184976474319712553639949941225621457704461863971901191416695255375233848363371076882490294733778887465574271463388305209927048396728854903208807179934243673136948563478160681485361774172358579484765444424870063615384064048608221130356431983188324732399363495676646653716587079618245750393353300110249060271574672744180832996961849432461293145602819610972466048988704839148129913914345836854248378906836630141776200202926795474433522355157722547771418967706946911156695092503467869218006766467784439767935925957966754417959598522293091263863889749009722566720256426757087516154049395672042358460026531825802293879007364103615133287624495731278258572602854012387953277046549040898574447998130319414970458767945802565449131773247188932944869046382787111663488386105910866656762646560224253282348832562798338933732461414858727816158152796656303388082628470623710859001313555165409967784694569694161677319079570153005087070254831395870931217458262702349787509534432967990864949366422407068626853792148474196243243019232311384162750114562982537207616690117838714944894496270554184066655593381185161676203707995203181946883607827797089346730656017168886515193450660195331198411840649331806732632908748430006547032888828491339139633194333300262661547114428470386328606927575416685330993110613945661768643497024934166946872127577392842305428341687436727185449327629666081941753488191593937747326132818260113389307045657266928366776708435443475537857459251973839633760335184632595434211896094301584233687955998705167744128741275512689798866487604071190808888730183016727376128833840558901996606047764794891165835381011110822420445467359647192494607307963406020083752333107867688722342556129720540197764432810512059113828523176386840397970069111834131172023032292263805440213213322187782903384743662521621576085336988597753736057233107606970018593365401591612707866512184161019183834424421007243315758116673143529111152499299186550145627797033664763599051152402055720117695353420221151235372199052599683616207648757136569533576573395605338336520581650166745909153972721291103160058117286765430141545306025982119021821130765287000672578080264333786403040075661199025509974605800540401389227888425928504710877541952603391147519751058704724726106962204956213965550128682588905795334124559292349928619845953950382641908146542177155404791475483979106737800423092209282793625747434402174451682311049466862512047946395958451616170862320118128372853917858366853997350387943682910617537611226852962020414937539674237313152635357120599888454345468273330966498482004003805499614724278010735028667999 3398490557450259887627056357040397882524394392156130092751204110325092348647492693803038631153714571552799609382174252452628921205299875027207794804722335136567205166351085326029994627366986991123334872746783006899978406672024987816841049307581092500175639262183894711575688238391073255417624001261876579617648887308815261237247814837484690857850146447387156425579398934888600162834040239297471224225919734336788363659695877275629230308445570590568168787745868009200736790282982809006692132622891560805004921475686994080682449385270031955740514332744537436580897774507554157633863565850895486857909432194365729826045474747193499172415576282555883684857178507565001167278510560514676462855916573027218294084621760750504904355755902603911135344957304363851517928409091175225871137275858041103811369607166308148046688742454278605589403606469469937821095955917560778760406120282632869946538354857493775366931470823607796179514497599489093390158086658475132742406779185128239103531941982524739091693154949967813365203097699730550870100253976104404749214465020723175996367364502479947823881996124295685839207568669610527186712279464301968147185276808521866839171806849910292313210169828969755371605926558270706884442841674150492363917222059971133105450993930675447230245477211687878976547262524077485900369942977033175937674706942423865576712104216016712005033772534885641081920532059369069728030915524750180460039417703333532909975115604223174413274209496553417453413559564286988773017273282841156207433306078664081499526569117900781462586685723534084197688140096292359435748220093617501515487135630530150906206514053654869529385306070511146032030018018682649208429567877867292599197443469052823128895296032092549717078361792952084082420106652839121688615165499022346910423487391286609763067620119224792396785165197563165432347818921034608397057653670605371739712234378742440102480218378669660674573081732916325271185028794490233263173827754968100675166296693310999510286538886436248083945616825466249151535384771739445263354162963828656098791495102495041766339390111133203651223522251327672814641410702645216677426325641570342771777091759211119752015105064026705041634346821551160224081202709452962977563237016936025585431669203153189171252274263750922184007509342457775327682435193612500807279132437058116227748884995996925136870049008689884868852377905042339303311086544465355509881799521037844453403128163327418060063941980286030538053762315795546073684145179698024498489798759041412770493089343868296937434803740697320070603856704102847393973644999022405170723022384386986692631532702022996812681234590640111003857081339570862785892748007910399539047085536390199854274732620692217032902366151302432457981787600924801867576355256950370905250054544356300362842437489400166242311708835564118556702775652850594320779017274331022497152919126086155346127974247780319748368056831928483269568411937678564639498999222568078348402778563958396802839894830491270287470469287299538510765828498359910893556880068246266932410884455010134988417654529335999724792415817925819746191772383171213281697130289303200160519665312779592624118837646256053542337241641912128891157821391792254307025115853209720025689526685528858987027367102700874459653514776929975194913678719692242507372085210133951212040031405200602711358363770639682912037407656072457971626202873316440335340571766559140013372014829031034868983267974625715042221055726671546846422145471821270920148653663152072234180846795570076010314821991402736118834911993532812541637206338158917170338114831948771068564654259156276544090445736168498951097954503311466790561842084012114061416324744790550391358541070468105456445737151319265267993821698118144690268699947833537338339153765894884284141096957077967232412869918912033960300027587605143303043549692811156661725384825981938462923773529332645318563559109137196876394407271519667581543797979940378494853459569252115443154531508329885558793477880638188474083374523813399713161964541718250127426342079711786530821122 5498873232400097678317522184845676843921116790914055290650809715466920865193671068845750678849575151438767963116978693152104922407863299928323029289483089315583516676394025542775766205446617856737580263122728427923500710416346526650882522940058170713392783995669602456195183921167831648691706806311267335166304956280591792606228091693966546289817161281386351780835981748207642478496459616688270482419707428717433895774625351946820356529223079880155778022087173299125543759655064681052693766322642990265630204096530465826227842232380141623508258868744255851781100234654414312225191945761663556201174102517486759879381436383703678446237318769909239435441240680916283910773699853481391490794188354282213415234049463581113323848536516312679903989273222655404138165000815828261656561089821094859612694865622091709793288402364404235956936035326687402811870392522095659528782637889857668383655930089055005930296782110340403736149986616526297102600596848407165276549642508721817185729891018031169863528204354758090828220084933940473629706531396499588420353916855636454334557064274764539200095423348160655993352718350979163664830055570140737578876846235558441812340524433488762457227994785582281963078906240616378317636620740868366603737946245880801110010050717855831815742171792771876411939478297895404982778078133914664396110134143931472736917961094864372546837692354094746472002783095143896413230188358809559056989778767919060533315300580697494125827849446494643074871264026150960674208689978096531441281669449740963989821302896788247036858149111839294124736536825147262644555400027861174652435699108690832391568288226013449014150750495381209647414082067290870338785999861055617331596806964729469782611883111710795467471715093062333142691681325583302521612127348454808203569090210897582229116608824063940526699079543400019680726725757664750173257856597400846173234589536464987873899186085616571831268174236384194489191795262274673031109753712934855093125895215604090774150428635445970650665873252223336667689434167411487621814189495654458392670502466598656899627014606864481909796125105340060767918457251686115251874323771889757742235859705013685201146878311215637986503393204338271887569588815363829634325883577160278867780501765951528104984735678609650000165662139114078715765063664236211666280445992223526195533579565691086814189128578842889955922632736438210234528544807167705297391333954005835318352494585734486686917734128760226781296781548106930236434259742680561706106488876880127715387585614422481004090397121882481746807564699306029340857252826819494517453678401555873207824983362218328011093075239971917736489990088000869332925636836401738678680279869690462515821847049162603361509293726719117788974898214870463636219852281884537852122182121749142668270779176836893427761036465230200498456263844444532068105150092591135886459964783353083712904682683223795286225516083902322903328747122311160073710895316869662582090734562663564546968636106003960086336956891370729319654558681376638269685713908805168929016932219805026154253035540446822145237883177573012240799080346577233365449463397170888882862221442500132821883270456768112656165764818298969289127890503626385479048148145473525465902740007716641890412110765222496035738851765527728930970911827299212525965450611725563919906543589361621895192788191646926227795524329215987082778702172502990480968368800223903612423167231086754986678621394846866277593254779271230462629794228957840453725227058757410570701428445736821919468794712693839278893029280298242683182512364141036192159245597235771741142734523490062947130521397367524461072560303851868179789730509940618772293866697393941538878292129172830182552699356275479233543950380707050485602824507125887266958999719845266926049243499255122637204345402891140698100450679814426096669297127213331113407695875448800974971719925291096934734421429255325249248325129886521578894185923623289112391070796105077463569469048004122871946113237758788362537719992086730679660446545722055627041066357722521559489121 8897363789850357565944578541886074726445511183070185383402013825792013213841163762648789310003289722991567572499152945604733843613163174955530824094205424452150721842745110868805760832813604847860915135869511434823479117088371514467723572247639263213568423257853497167770872159558904904109330807573143914783953843589407053843475906531451237147667307728773508206415380683096242641330499855985741706645627163054222259434321229222449586837668650470723946809833041308326280549938047490059385898945534551070635125572217459906910291617650173579248773201488793288361998009161968469859055511612559043059083534711852489705426911130897177618652895052465123120298419188481285078052210413996067953650104927309431709318671224331618228204292418916591039334230527019255656093409907003487527698365679135963424064472788399857839977144818682841546339641796157340632966348439656438289188758172490538330194284946548781297228252933948199915664484216015390492758683506882298018956421693850056289261833000555908955221359304725904193423182633671024499806785372603993169568381876359630330924428777244487023977419472456341832560287020589690851542335034442705726062123044080308651512331283399054770438164614552037334684832798887085202079462415018858967655168305851934215461044648531279045987649004459755388486740821972890883148021110947840333784841086355338313630065310881084551871464888980387553923315154512966141261103883559739517029196471252593443290416184920668539102058943048060528284823590437949447225963260937687648714975528405045489347872014689028499444834835373378322424676921439622080303620121478676167922834739220983297774802279668318543536056565892355679444100085973519547215567738922909930794250433782292911507179143803345184550076886014417225111787978422424210227292847477155113992577602184191992184228943288732923484244740963185113074544678699358570315510268006217912946823915207427976379404464286232505841255969300519760376824056764906294283581467902955768292191908915090284436967521882218734611490077689585819224818939150932885168352459483114491461997569093698665966404717997685561019647356667733582559867954331331929300649413460100514012951464224804953161983375242343028137740025889432111650791524816792611889120594096304453212170969104717276237009942360572184173171481571854043447498857848712473559578429281642423282464561688011951059177587532774824775010641480549537839631351633060807273133475043679771755622749061904746981676109046257319350543863902476310118404922378586204596287635921540485880674958290777941525200862579801817411421403408876734830897825841899688176700785942859900456516064241324823774309830612028740347071427571732118818384844312138217727365406080662370096579669854820394411659878021550246956685815795265503796207538834908757372236666105443031113216666237059670072745300794319055159039497295126388884167366922158383612883909439239059032656931004115034593572915830806172897159059989724713209894539437740930493513126621961349808530936495230373807426178670267830420387179736549163242593977051435861427816674815161142670690069782821870030298995498831986990852729748446647146593686474089043381886755279725446002108103024166198503006460211098180285711895418639786073263998683245491592266693245500877439477867923370495392366542457704125884590546991455033337535821859515131946574994562224606551151962286609139832931985288445054404905045819430816308940566783043625795182060117789855661889369472581319814310505942777309051939700779111373873880721909482804882275241306897929783616704096575397727941273831055224819718702299953362497360429184542809707388782646339491220967133536023412170514807163334970351572593952732833710191442184491930236833199640935638998436507594744501537772078825195175871524454959424605298153485740151210190340456333089869617215321803174658400478267419569399712846820024487775133080701430739437895493454623742253297980538392522125642732401406189160437983903563667607244530365357192906724000556334008430739591118396976836621094515900130392822411087440305754467408437434308090310243 14396237022250455244262100726731751570366627973984240674052823541258934079034834831494539988852864874430335535616131638756838766021026474883853853383688513767734238519139136411581527038260222704598495398992239862746979827504718041118606095187697433926961207253523099623966056080726736552801037613884411249950258799869998846449703998225417783437484469010159859987251362431303885119826959472674012189065334591771656155208946581169269943366891730350879724831920214607451824309593112171112079665268177541336265329668747925733138133850030315202757032070233049140143098243816382782084247457374222599260257637229339249584808347514600856064890213822374362555739659869397568988825910267477459444444293281591645124552720687912731552052828935229270943323503749674659794258410722831749184259455500230823036759338410491567633265547183087077503275677122844743444836740961752097817971396062348206713850215035603787227525035044288603651814470832541687595359280355289463295506064202571873474991724018587078818749563659483995021643267567611498129513316769103581589922298731996084665481493052009026224072842820616997825913005371568854516372390604583443304938969279638750463852855716887817227666159400134319297763739039503463519716083155887225571393114551732735325471095366387110861729820797231631800426219119868295865926099244862504729894975230286811050548026405745457098709157243075134025926098249656862554491292242369298574018975239171653976605716765618162664929908389542703603156087616588910121434653239034219089996644978146009479169174911477275536302983947212672447161213746586884724859020149339850820358533847911815689343090505681767557686807061273565326858182153264389886001567599978527262391057398511762694119062255514140652021791979076750367803469304005726731839420195931963317561667813081774221300837767352673450183324284363204793801270436364108743573366865407064086181413451672415850278590549902804337109430205684714249568619319039579325393335180837810861418087124519181058587396157328189385277363329912922486914253106562420506982541955137572884132500035692355565593419324862167470815772462007794350478325206017447181174973185349858256248811169238490154308861686457981014641133230227703999220380340180622246215004171256583320992672735056245381221745620970222184338833620685932759212562522084924139840024421505168618816044127379098765248306166375664780697643377918759772368176158800766104664467429049515090108117334796391433899410237806484100647325412009406546552664665059147910702776512801668201268260572713258945615597984462283564218986102714906075688150652661394205630379187498733108281499426459652834867385070583946476837061515572601451744021680713876896407645275771124885918426719017423755920953604740668035931584030665729140016059820719446609494418787854585699383995843073953097833781766024519553615303341739658456989317459513294270072848692792322771937339614227910320819088999733129076225906182300884786920789856307403512584247689285525896777167042499190460144383070040997150074945861113187432928307885856604790444748894620187296923725610229644015268182173071844227789933076325680012596057083644977926244108197779858267885378559792278854668771278510067469413602399045025265121412144156770957495006700962142767851588633145866531131218307985433056855502374290667559302986433585079051853118583923846501743940153933535367628456314504432137183607218322421297277309367006947238218349291204544842340510764319447597407565285214007771681733929736951827599107780666893375583703687043719849252411416790414676620970554129297908002231066440989554656606026420314550850123306136402438351488530903547873243075111015203150141303103893351606004058139578433469115125328813765821551135863870223735081722459532245661474348962085311872257153205585418136239583955588212506821560724694315356500928947233995496382143947237818888540776576879540412867213379914839188032401967647847374891057531292710739332169827186956719635601161462270370293469604338131302685704356155765199158814507986861072482857633162361381508474795156829649799364 23293600812100812810206679268617826296812139157054426057454837367050947292875998594143329298856154597421903108115284584361572609634189649839384677477893938219884960361884247280387287871073827552459410534861751297570458944593089555586329667435336697140529630511376596791736928240285641456910368421457555164734212643459405900293179904756869020585151776738933368193666743114400127761157459328659753895710961754825878414643267810391719530204560380821603671641753255915778104859531159661171465564213712092406900455240965385640048425467680488782005805271721842428505096252978351251943302968986781642319341171941191739290235258645498033683543108874839485676038079057878854066878120681473527398094398208901076833871391912244349780257121354145861982657734276693915450351820629835236711957821179366786460823811198891425473242692001769919049615318919002084077803089401408536107160154234838745044044499982152568524753287978236803567478955048557078088117963862171761314462485896421929764253557019142987773970922964209899215066450201282522629320102141707574759490680608355714996405921829253513248050262293073339658473292392158545367914725639026149031001092323719059115365187000286871998104324014686356632448571838390548721795545570906084539048282857584669540932140014918389907717469801691387188912959941841186749074120355810345063679816316642149364178091716626541650580622132055521579849413404169828695752396125929038091048171710424247419896132950538831204031967332590764131440911207026859568660616499971906738711620506551054968517046926166304035747818782586050769585890668026506805162640270818526988281368587132798987117892785350086101222863627165921006302282239237909433217135338901437193185307832294055605626241399317485836571868865091167592915257282428150942066713043409118431554245415265966213485066710641406373667569025326389906875815115063467313888877133413281999128237366879843826657995014189036842950686174985234009945443375804485619676916648740766629710279033434271343024363679210408119888853407602508306139072045713353392150894414620687375594497604786054231559824042859853031835419818675527933038193160348779110475622598809958770261762633463295107470845061700324042778873256117136110871171864997414858104124765352887774204843704160962657458755563330794368512005102257786802660061379933636613399602850786811042098508689067110716307483753908439605472654019399309310207807510433826911937600904093194861863740083858296180881086346852741419997869275911882856671069587437734115299064148723208687148935531004036887140798847042085381630407506123782810519048478503293893807079973441593008738015490700977658641694901195975217184132943144333570562406525026015114135010681851787256015006388872244150332613482762218282888269846460994643812267359554355366866655453960028730497212509311012767906527066818838608774342839034784845873484826435452653685732602231561830969996545232025355412661915563935249123065242290609500130684395745144443077760815907487246585697978994420833951809248711264980495333040849736596170901862908040651872565569435348439594415680012465885298481168570676214780785806074126659742650770119066969625994953059583713887486662816445053171777738721165649699314294463665051194676142840016449087273394207643645291066501069237026523584850443137182740092921282122592640522255444594183799693578486071108295092116220144507461388299792877191588512264141852113586249933789990864013531351322334698002400133792028917221875791156785080733673630516063201472988502576376180465978928350617779036028120886990074348911827960353132821949768740942917153966455604857360557512088782741929572455664439571285413589918178538120492875697846084439714249581762925399351958528454701460549572371464968236619494538357440837345873417044736477555306691325569346429924411921302376438776046497490014901407214653564896094990767262306663673857278310279850762706834538581441330382506040369500533789932698899899770153730750624326880131526819463277017470160672139733425295474552742035779909023886991465305268720602667135975883232591137740109607 37689837834351268054468779995349577867178767131038666731507660908309881371910833425637869287709019471852238643731416223118411375655216124723238530861582451987619198881023383691968814909334050257057905933853991160317438772097807596704935762623034131067490837764899696415702984321012378009711406035341966414684471443329404746742883902982286804022636245749093228180918105545704012880984418801333766084776296346597534569852214391560989473571452111172483396473673470523229929169124271832283545229481889633743165784909713311373186559317710803984762837341954891568648194496794734034027550426361004241579598809170530988875043606160098889748433322697213848231777738927276423055704030948950986842538691490492721958424112600157081332309950289375132925981238026368575244610231352666985896217276679597609497583149609382993106508239184856996552890996041846827522639830363160633925131550297186951757894715017756355752278323022525407219293425881098765683477244217461224609968550098993803239245281037730066592720486623693894236709717768894020758833418910811156349412979340351799661887414881262539472123105113690337484386297763727399884287116243609592335940061603357809579218042717174689225770483414820675930212310877894012241511628726793310110441397409317404866403235381305500769447290598923018989339179061709482615000219600672849793574791546928960414726118122371998749289779375130655605775511653826691250243688368298336665067146949595901396501849716156993868961875722133467734596998823615769690095269739006125828708265484697064447686221837643579572050802729798723216747104414613391530021660420158377808639902435044614676460983291031853658909670688439486333160464392502299319218702938879964455576365230805818299745303654831626488593660844167917960718726586433877673906133239341081749115913228347740434785904477994079823850893309689594700677085551427576057462243998820346085309650818552259676936585564091841180060116380669948259514062694844064945070251829578577491128366157953452401611759836538597505166216737515430793053325152275773899133436369758260259726997640478409797153243367722020502651192280683322283516518366366226291650595784159817026510573802701785261779706748158305057420006486344840110091552205178037104319128936609471095197516439217208038680501184301016552850838722943719561872623902018560753239627272291979660914552816446209481555789920284104386170297397318069082575983669234593016602068333142709951971857418654687614780496584659225520645194687921289403223734252496882026001840661524876888417196103717295832756396831504368945849393608838688886207199131164688099437459160940326117019514917160630493509079971779921694021194458716935022306428205739892010542655957622912141933433107889667906253567087502886318819853877126723783828327180273801976361074241814614429881208352384965865740308832843358162389646180774443302862802285948746923758581295023884602907336159459935676231750915297064325348971424591494287051474252052547955662008505193013143362865021493611294096192318752262130570278901962924029099209748764645442317314464055535736518141290242109900566663341642520442570718882399806672338707853764044895870103150839441981772865222608723907840549017231233119112916693508690316316088286996787406582280095169786413142655134215103557654803158428570239595595295572790151943508689029673235652812162409917610039032270153679875089844614297309328772119482464273410863559300796938102231880642526879540342910898111476514629441076370792852415407560253015029072096283243269556049682615394337628288439537677404750969882382089651040824180835181932471810572482025171911407635394919144367923944195343119158656665029193741270634178801739436045718307721341358868467083857268467282100708235335191971701216997889686498820222379130048349812459896910987482669508367509514883260336771191805371402336161887560392477134714500125552214633855189820263629920214453420629362784473688216875424847463991610639102323557937581046515732688281733647310939765010271036110999830708507234938723531873852537788126353765028517484358027747967389908971 60983438646452080864675459263967404163990906288093092788962498275360828664786832019781198586565174069274141751846700807479983985289405774562623208339476390207504159242907630972356102780407877809517316468715742457887897716690897152291265430058370828208020468276276293207439912561298019466621774456799521579418684086788810647036063807739155824607788022488026596374584848660104140642141878129993519980487258101423412984495482201952709003776012491994087068115426726439008034028655431493455010793695601726150066240150678697013234984785391292766768642613676733997153290749773085285970853395347785883898939981111722728165278864805596923431976431572053333907815817985155277122582151630424514240633089699393798792295504512401431112567071643520994908638972303062490694962051982502222608175097858964395958406960808274418579750931186626915602506314960848911600442919764569170032291704532025696801939214999908924277031611000762210786772380929655843771595208079632985924431035995415733003498838056873054366691409587903793451776167970176543388153521052518731108903659948707514658293336710516052720173367406763677142859590155885945252201841882635741366941153927076868694583229717461561223874807429507032562660882716284560963307174297699394649489680266902074407335375396223890677164760400614406178252139003550669364074339956483194857254607863571109778904209838998540399870401507186177185624925057996519945996084494227374756115318660020148816397982666695825072993843054724231866037910030642629258755886238978032567419885991248119416203268763809883607798621512384773986332995082639898335184300690976904796921271022177413663578876076381939760132534315605407339462746631740208752435838277781401648761673063099873905371545054149112325165529709259085553633983868862028615972846282750200180670158643613706648270971188635486197518462335015984607552900666491043371351121132233628084437888185432103503594580578280878023010802555655182269459506070648550564747168478319344120838645191387723744636123515749005625055070145117939099192397197989127291284330784378947635321495245264464028713067410581873534486612099358850216554711526715005402126218382969775796772336436165080369250551809858629100198879742461976220962724070175451962423253701962358869402360143378170696139256747631810921362843825201506364532685281952197366639230123078790703013061505513320197863273674192543991642951416717378392783791179668419928539669237235904813835597502512983795661582931511966940643063963833172259894803839934616141300904810248085575566131634721332719897195678546454327479801114962471696726247609667981993244539134381919125757530407861608152150774872975896911205327401861268592868834730765907124677666639474699397948439496761912056586180570265104601708123723587718427640594539828157343227729695774643160378420861695978633646835899662196771163989019809228148736287112384199577444313897255446433877332704691961031644412830860999574472036666882103787182158647797692398739769321100500389948563000488032128048001567463527111065611942812660625270111611672686094189880033490884176112556970254575785865144510213196657351504688473933332081358623883111865496098103899025695660351885425168961012326755952398768812230987972355367510764429836803855669553489377430058433721635284340584178388008871707422335688216854912744584030944474267419452505740895988718334124386373824382551232914090186520360631746606125524449809234586928966245411993849214238345311031903505431851316867527577933149081190769078230545084785819645736515661543744955407324467658564394825318794210050004173646130603922875388964538937630029271965147483701886297496399859782690444070254947372279391127054499585520485432557303104284267819042385723168742650280606800160208320711536247127336166095796174784827367766588236556829099432779430817259699112817689295386303743376541125288572125481762432215888491133500100114392627048992002070693166979728586375958637396690510538872477288688205373395864215101196924328409925682410769536295305261249270718632555760844003093395074367695653460241260339105130018578 98673276480803348919144239259316982031169673419131759520470159183670710036697665445419067874274193541126380395578117030598395360944621899285861739201058842195123358123931014664324917689741928066575222402569733618205336488788704748996201192681404959275511306041175989623142896882310397476333180492141487994103155530118215393778947710721442628630424268237119824555502954205808153523126296931327286065263554448020947554347696593513698477347464603166570464589100196962237963197779703325738556023177491359893232025060392008386421544103102096751531479955631625565801485246567819319998403821708790125478538790282253717040322470965695813180409754269267182139593556912431700178286182579375501083171781189886520750719617112558512444877021932896127834620210329431065939572283335169208504392374538562005455990110417657411686259170371483912155397311002695739123082750127729803957423254829212648559833930017665280029309934023287618006065806810754609455072452297094210534399586094409536242744119094603120959411896211597687688485885739070564146986939963329887458316639289059314320180751591778592192296472520454014627245887919613345136488958126245333702881215530434678273801272434636250449645290844327708492873193594178573204818803024492704759931077676219479273738610777529391446612050999537425167591318065260151979074559557156044650829399410500070193630327961370539149160180882316832791400436711823211196239772862525711421182465609616050212899832382852818941955718776857699600634908854258398948851155977984158396128151475945183863889490601453463179849424242183497203080099497253289865205961111135282605561173457222028340039859367413793419042205004044893672623211024242508071654541216661366104338038293905692205116848708980738813759190553427003514352710455295906289878979522091281929786071871961447083056875666629566021369355644705579308229986217918619428813365131053974169747539003984363180531166142372719203070918936325130528973568765492615509817420307897921611967011349341176146247883352287603130221286882633369892245722350264901190417767154137207895048492885742873825866310778303894037137804380042172500071229893081231693776814167129592823282910238866865631030258558016934157618886228806816331054276275353489066742382638571829964599876582595378734819757931932827474213682548145225926405309183970758119878857395370770363927614321959529679419063594476648377813248814035447475359774848903012945141737570378614765807454921167671410442079516171192461288258651754461663118538092431498167302745471772962463983327738438628552653592510050823273329194723801160582933446740832670092681998295322245242777045325022238645659854844755818605226521860578203615175262936505799135220322597097611539881872604651579962839747657767990920527977600714442211468921720101959319588803937589257590259629214080944499387144732505554933553635200583671451599089398332946501202895192279331036784668864151896707876163746158063899821008091473598074233632899850240354401777826293513533311428021981643422144193886215789241635890844775584654369321360437331536507194497546419912630698260496685686431807851855717099922223570873740004420066477647156761366201254738467677433217108033892868852875773183631887925147681481045683826852716833591262251833584547216471576376769499444141833191167300277661931283512427702896527539633503940655105317903305906328373156656527504257641077528387495849132751229070398935313368535383867068477292636376093778688221930014981946480757943898370785564488751022093259617181069062915292565344159139293035612907196241799576288676592139655214470311439104807860775111419655201183372782878621030665420344055125809602726919976566020661761233301324956531150865024445643136286126242991636024750988842135352180021928534136813834986318175304833177180226485147544311768941146940332142959449588881100757706079538428685681049260196262557768103124988689920378022547263445422700055951453416803251383484860682121177974800846625786419911596903382930571639349690692681805647295135969756505657356087634696540881521428132724170944599288087072519927549 159656715127255429783819698523284386195160579707224852309432657459031538701484497465200266460839367610400522147424817838078379346234027673848484947540535232402627517366838645636681020470149805876092538871285476076093234205479601901287466622739775787483531774317452282830582809443608416942954954948941009573521839616907026040815011518460598453238212290725146420930087802865912294165268175061320806045750812549444360538843178795466407481123477095160657532704526923401245997226435134819193566816873093086043298265211070705399656528888493389518300122569308359562954775996340904605969257217056576009377478771393976445205601335771292736612386185841320516047409374897586977300868334209800015323804870889280319543015121624959943557444093576417122743259182632493556634534335317671431112567472397526401414397071225931830266010101558110827757903625963544650723525669892298973989714959361238345361773145017574204306341545024049828792838187740410453226667660376727196458830622089825269246242957151476175326103305799501481140262053709247107535140461015848618567220299237766828978474088302294644912469839927217691770105478075499290388690800008881075069822369457511546968384502152097811673520098273834741055534076310463134168125977322192099409420757943121553681073986173753282123776811400151831345843457068810821343148899513639239508084007274071179972534537800369079549030582389503009977025361769819731142235857356753086177297784269636199029297815049548644014949561831581931466672818884901028207607042216962190963548037467193303280092759365263346787648045754568271189413094579893188200390261802112187402482444479399442003618735443795733179174739319650301012085957655982716824090379494442767753099711357005566110488393763129851138924720262686089067986694324157934905851825804841482110456230515575153731327846855265052218887817979721563915782886884409662800164486263287602254185427189416466684125746720653597226081721491980312798433074836141166074564588786217265732805656540728899890884006868036608755276357027751308991438119548254028481702097938516155530369988131007337854579378188885767571624416479401022716625941419796237095903032550099368620055246675031946000280810367875563257817765971268792552017000345528941029165636340534188834002236725973549430959014679564638395576526373346732290937994465922955486518087518449561066940675827472849877282337268669192369456200230752825868143566028571432873681406807614519579643052423680655206103662447683159401931322615587633923013341932366114308603650282021048039549459373159961272550788188597277600808995838763632279659694350500652085926537429704164368534575732883846797810629717731715516431849262439472208044097667271706259897989236572310937830312101413492019425928228033095522236101324302160639109516259930116662816533633363900750638050075776923133033980632167751704717624220392899600335376510717146078647209089534777470662001568843857739520576577019063474293044758355701861415791547647932753141547147394013923259991022469675550192195453679316352701502787588245279639432972110017630697074531037304088743255230751261472296952362068913757273728259347673336501425101530268626862299358637493373093568993459061829865202529136030656737378669453401051337617146670395117921387073924646530010098404783784726011579176171985084266971729282615641111570577978208074557823644201895046707281042901328640192310442477682369493382975676524459763177769970796034722704630225308017033532961918487378332074811425948718713569941791171490162265854882561029081005702884248442937374854806194401607470802189659388116442043027683249739650357285230455337930362322916962916743914908500046797174923938300052888287800910477016583422327549927404105168628714804767401269448935512388342640070383941171152413971479618004547993073384101140868373926371149402658562406570396144009822914969810969621385678024989983991616122190020492415174312437424770749118433145389627342122257372631716847278135313991793307461118484127495967759616375092575183590441231005776375988643395540543974916502500419824404840548426177649946127 258329991608058778702963937782601368226330253126356611829902816642702248738182162910619334335113561151526902543002934868676774707178649573134346686741594074597750875490769660301005938159891733942667761273855209694298570694268306650283667815421180746759043080358628272453725706325918814419288135441082497567624995147025241434593959229182041081868636558962266245485590757071720447688394471992648092111014366997465308093190875388980105958470941698327227997293627120363483960424214838144932122840050584445936530290271462713786078072991595486269831602524939985128756261242908723925967661038765366134856017561676230162245923806736988549792795940110587698187002931810018677479154516789175516406976652079166840293734738737518456002321115509313250577879392961924622574106618652840639616959846936088406870387181643589241952269271929594739913300936966240389846608420020028777947138214190450993921607075035239484335651479047337446798903994551165062681740112673821406993230208184234805488987076246079296285515202011099168828747939448317671682127400979178506025536938526826143298654839894073237104766312447671706397351365995112635525179758135126408772703584987946225242185774586734062123165389118162449548407269904641707372944780346684804169351835619341032954812596951282673570388862399689256513434775134070973322223459070795284158913406684571250166164865761739618698190763271819842768425798481642942338475630219278797598480249879252249242197647432401462956905280608439631067307727739159427156458198194946349359676188943138487143982249966716809967497469996751768392493194077146478065596222913247470008043617936621470343658594811209526598216944323695194684709168680225224895744920711104133857437749650911258315605242472110589952683910816113092582339404779453841195730805326932764040242302387536600814384722521894618240257173624427143224012873102328282228977851394341576423932966193400829864656912863026316429152640428305443327406643601633781584382009094115187344772667890070076037131890220324211885497643910384678883683841898518929672119865092653363425418481016750211680445688967189661608762220859443195216697171312877468789679846717228961443338156913898811631311068925892497415436652200075608883071276620882430095908018979106018798602113308568928165778772611497465869790208921491958217343303649893713606396944913820331430868290149432379556701400863145840747269449044788273343503340877474445818823144377993134345450507344848326616545741963854351863219581267342095586131880024797612475906395753794010503532787111598589825204380698648100874138190562564792862593141091333322178608535725026409611311621057906085443470484562487534121658371123017675823219360603777505395118311833669922477712184706065071982265675885801086442764078925016602850578437980032075982405337570953158340897679289857867632421125364673306638271259420976571051934465909050092579850104281814108507446670432995754447396740323177127374114052849829299935649424447498173107543324973687527456571419044451318972336389339895105594337393632363829934008754332547349167204269028583724001373953491247947158728760213924630857195951830221413340921491579177425388228500613375961050526786101492954698718078302319662544662526350934446735164469863503986380173220658471863001586475174283228867844770343472262746198255241710318537639110211482148729663141547507801375080437699428832897833387970865178218626134204746923395076546305354663103199997266601401795721754891933469324812832755324319504278058692813264749779446923945476321646349862023541478550282051047993977896147394329314602586753482132491110514761776940431638710713240943947628337087970034309649524094900504320714649521102235433547734287351995570540391294871706440792152258291070864568364568604520755006138732146784451181728219558531645452637315073311481545618011995451496901715902453398496650670645874287547752094741110879940870437721575882847470805069886562192878725607118054752894822078981939778213219058021867058067607109307067774380830885577200762282033344731030237084856437930633143995349439836513250169873676 417986706735314208486783636305885754421490832833581464139335474101733787439666660375819600795952928761927424690427752706755154053412677246982831634282129307000378392857608305937686958630041539818760300145140685770391804899747908551571134438160956534242574854676080555284308515769527231362243090390023507141146834763932267475408970747642639535106848849687412666415678559937632741853662647053968898156765179546909668632034054184446513439594418793487885529998154043764729957650649972964125689656923677531979828555482533419185734601880088875788131725094248344691711037239249628531936918255821942144233496333070206607451525142508281286405182125951908214234412306707605654780022850998975531730781522968447159836749860362478399559765209085730373321138575594418179208640953970512070729527319333614808284784252869521072218279373487705567671204562929785040570134089912327751936853173551689339283380220052813688641993024071387275591742182291575515908407773050548603452060830274060074735230033397555471611618507810600649969009993157564779217267861995027124592757237764592972277128928196367882017236152374889398167456844070611925913870558144007483842525954445457772210570276738831873796685487391997190603941346215104841541070757668876903578772593562462586635886583125035955694165673799841087859278232202881794665372358584434523666997413958642430138699403562108698247221345661322852745451160251462673480711487576031883775778034148888448271495462481950106971854842440021562533980546624060455364065240411908540323224226410331790424075009331980156755145515751320039581906288657039666265986484715359657410526062416020912347277330255005259777391683643345495696795126336207941719835300205546901610537461007916824426093636235240441091608631078799181650326099103611776101582631131774246150698532903111754545712569377159670459144991604148707139795759986737945029142337657629178678118393382817296548782659583679913655234361920285756125839718437774947658946597880332453077578324430798975928015897088360820640774000938135987875121961446772958153821963031169518955788469147757549535025067156075429180386637338844217933323112732673705885582879267328330063393403588930757631591879293768060673254418171344401435088276966411371125073655319640207632604350034542477596737787291062104265366735294838690508281298115816669092915032432269892497808965976905229433983738131815033116725649275541099211646906906045878692504551185607653925093559768528981822649404411537511265150903882929729509145221957163726784510046035815058543082246484758551097755168887245378474947186401328425142252835441833974264535073154730573979846196790789932241281114280219249638090220385457148031263458271049211655016301070242233415542496807478564001691604113834181965000180249318763489687954239962192645221871204317059091535729365634790765455105996841058342988883641369470652269842419767238658497313371348885978108672001839612186917316900196190848407097608185001797065215995146105860684872121081541379831410066920994522528584793574421947038896419952075213648187304657366797901343559621028090117208721999208631025712575993544614469680089569086677422916680707694015090799972013454423620355094952016528583280831455693201399905020387847786502087010174381498094607732396509531596573579067013593856349519644247830465226970992934178750680789460356804220965191709696421787718742330161538025698413342860588119517180423447854839724075325459137922701896826709812755287853851956703144907566750268222991628634604436239941712778828037350727355564907789921487656905854188379503618196518973990703195525160174360254412134225662094048643603266864591253831884942809696321269824442620767537808903145910564317709679545497944496463500421245559553527740006376956707208674904696177291146118264069186276212631915746593505688999682630948276574402021893045725725368368307620292031552312537736086357233069961362852895888320272241554188319707582506067729375427384611669357117253770006526519140351185563574868923442866956014476018431768058409333374425777628831354433133563819754280384939427819819803 676316698343372987189747574088487122647821085959938075969238290744436036177848823286438935131066489913454327233430687575431928760591326820117178321023723381598129268348377966238692896789933273761428061418995895464690375594016215201854802253582137281001617935034708827738034222095446045781531225831106004708771829910957508910002929976824680616975485408649678911901269317009353189542057119046616990267779546544374976725224929573426619398065360491815113527291781164128213918074864811109057812496974261977916358845753996132971812674871684362057963327619188329820467298482158352457904579294587308279089513894746436769697448949245269836197978066062495912421415238517624332259177367788151048137758175047614000130484599099996855562086324595043623899017968556342801782747572623352710346487166269703215155171434513110314170548645417300307584505499896025430416742509932356529883991387742140333204987295088053172977644503118724722390646176842740578590147885724370010445291038458294880224217109643634767897133709821699818797757932605882450899395262974205630618294176291419115575783768090441119122002464822561104564808210065724561439050316279133892615229539433403997452756051325565935919850876510159640152348616119746548914015538015561707748124429181803619590699180076318629264554536199530344372713007336952767987595817655229807825910820643213680304864269323848316945412108933142695513876958733105615819187117795310681374258284028140697513693109914351569928760123048461193601288274363219882520523438606854889682900415353470277568057259298696966722642985748071807974399482734186144331582707628607127418569680352642382690935925066214786375608627967040690381504295016433166615580220916651035467975210658828082741698878707351031044292541894912274232665503883065617297313436458707010190940835290648355360097291899054288699402165228575850363808633089066227258120189051970755102051359576218126413439572446706230084387002348591199453246362039408729243328606974447640422350992320869051965147787308685032526271644848520666758805803345291887825941828123822882381206950164507761215470756123265090789148858198287413150020284045551174675262725984557291506731560502829569262902948219660558088691070371420010318159553587293801220981674298746226431206463343111405762516559902559570135156944216330648725624601765710382699311977346090223928677256126337608990685138994960873863995098320329372555150247783520324511327695563600788270544067113377308439195146375391863128370485150271825095277101981961339260416441789609069046615033596357140922959549585893479349085376963893218004845976533167296443143608879756983591157817848696017684751598842706783759748591508474823854482818874826717050134612903912155893254681513543635983957279999635268407764259174335366340266392219994268627627208775270217432433408655492658397876231361514364981260143062346041704204308328817331238347417653162994485555342434835366634314057223373318222521150458014301732714640442644278968228197094769068836402829111372313494864974133469527541376290052315905147656941637204715965105612588204752091491162213247155789754472789918175471665631919790500018344408259885119403319300585389415474147141196444971227301359133775355746062431371322294521666556873678367878267828390868372533183048753350242461701119863116510576663482212703252716389791000942505533884106739217497796868156441758994435859086384208038806745651385170371249916270380680122241122699163428111608477042745785426027957740322074587727269687327417700989721159702773513672373705426931331400037938956902182357399765590848288593289949007292665470769173911166093732759356844210812219590919854977119345845364724946941482187330005381344112051997031541068484887758372127686351705786031077241525071777279425451183429878265048520368004432190447392046143004072994112493894586397473389947441627821766804270962677426600085488181098343949902233290617464203119712359258206269775384793336493482137506491436099193548219745577162218243631181978230510641336845361595632530340442678105456014713687792363766707815103720221452677989693479 1094303405078687195676531210394372877069311918793519540108573764846169823617515483662258535927019418675381751923858440282187082814004004067100009955305852688598507661205986272176379855419974813580188361564136581235082180493764123753425936691743093815244192789710789383022342737864973277143774316221129511849918664674889776385411900724467320152082334258337091578316947876946985931395719766100585888424544726091284645357258983757873132837659779285302999057289935207892943875725514784073183502153897939509896187401236529552157547276751773237846095052713436674512178335721407980989841497550409250423323010227816643377148974091753551122603160192014404126655827545225229987039200218787126579868539698016061159967234459462475255121851533680773997220156544150760980991388526593864781076014485603318023439955687382631386388828018905005875255710062825810470986876599844684281820844561293829672488367515140866861619637527190111997982388359134316094498555658774918613897351868732354954959447143041190239508752217632300468766767925763447230116663124969232755211051414056012087852912696286809001139238617197450502732265054136336487352920874423141376457755493878861769663326328064397809716536363902156830756289962334851390455086295684438611326897022744266206226585763201354584958720209999371432231991239539834562652968176239664331492908234601856110443563672885957015192633454594465548259328118984568289299898605371342565150036318177029145785188572396301676900614965488482756135268820987280337884588679018763430006124641763802067992132268630677123477788501499391847556305771391225810597569192343966784829095742768663295038213255321220046153000311610386186078299421352641108335415521122197937078512671666744907167792514942591472135901172973711455882991602986677393398896067590481256341639368193760109905809861276213959158547156832724557503604393075804172287262526709599933780169752959035422962222232030386143739621364268876955579086080477183676902275204854780093499929316751668027893163684397045853167045645786656654633927764792064845979763791154992401336995419312265310750495823279340519969535495537131631083343396778224880560845605251885621570124964091760326894494827513428618761945488542764411753247830553705172346055329618386434063810813377653883359254347193621674400523679511169339233905899881527051792227009778360116426486222103242838424668877126775906980720747595870471766797154689566203203832246749208442195637626881906290261844550786929374393521389033201554604422323939125066044926487825424127589697280081115692020714718473138857824032563365221643147098811975001270707678682034487557571004014639485949926032713122926033397838811893931971885746277145875928705150913974154389308797178321022199985648884113469450372764439423654129829954346459956461272849079979587276523969138021127449163331337358355423324249026703715512356474150748584569896844731024511880463664014436674978821231374123569509070928248066199303529779856437790384828913069215850610216234239178293308017393558927043949488415186472267980361305128941862082763006956147825780181608370935246364420780185365911720086135312009359586695767324940592813418410100557402869897767496291396987755884639965231048947462336391710142308168643883852749376362436123264882064779622332417256055557469382760758407128709183696186895140471790402862338105071930927194218655875184089155973884784797550899394865168565593819104755994456005581379045401060254821421232330599637382731102647888824855950261315962022137229662872481601551023101060991839121321525595862756370736903383787367262583993144532452839831023586045391755826808000447477676810844751739919929042166634549389562249725138908527254676369706711086566429384221872548931911259313771083618481778985954330147360721024383312589554280644822363138639648693072676743442171160799495282993167353190135111891254708978912623224267455577019863596143513352523391953913446525977357890861065868909522118160793216447318226272096302569429194756847153953508292859837614064298398852011479881792342519146796900271634858000606392105809513282 1770620103422060182866278784482859999717133004753457616077812055590605859795364306948697471058085908588836079157289127857619011574595330887217188276329576070196636929554364238415072752209908087341616422983132476699772556087780338955280738945325231096245810724745498210760376959960419322925305542052235516558690494585847285295414830701292000769057819666986770490218217193956339120937776885147202878692324272635659622082483913331299752235725139777118112584581716372021157793800379595182241314650872201487812546246990525685129359951623457599904058380332625004332645634203566333447746076844996558702412524122563080146846423040998820958801138258076900039077242783742854319298377586575277628006297873063675160097719058562472110683937858275817621119174512707103782774136099217217491422501651873021238595127121895741700559376664322306182840215562721835901403619109777040811704835949035970005693354810228920034597282030308836720373034535977056673088703544499288624342642907190649835183664252684825007405885927454000287564525858369329681016058387943438385829345590347431203428696464377250120261241082020011607297073264202061048791971190702275269072985033312265767116082379389963745636387240412316470908638578454597939369101833700000319075021451926069825817284943277673214223274746198901776604704246876787330640563993894894139318819055245069790748427942209805332138045563527608243773205077717673905119085723166653246524294602205169843298881682310653246829375088536943949736557095350500220405112117625618319689025057117272345560189527929374090200431487247463655530705254125411954929151899972573912247665423121305677729149180387434832528608939577426876459803716369074274950995742038848972546487882325572989909491393649942503180193714868623730115657106869743010696209504049188266532580203484408465265907153175268247857949322061300407867413026164870399545382715761570688882221112535253549375661804477092373824008366617468155032332442516592406145603811829227733922280309072537079858311471705730885693317290635177321392733568137356733805705619278815283718202369476773071965966579402605610758684353735419044233363680823776055236108331236442913076856524594589896157397775733089176850636558914184422071407384140998973567037003917132660495017276720765289121770907096181244535680623727499987959530501647237434491538987124450340355163478229580447415354016121736780844715845916199844321947402473086527715159942312809230466181693995283598701039697162321237521891874183473379699699425921086405305342929615033196636312313677472832943674268059032337173117940329114861151944788508168567150822290914244541162161832488181967610784311965632817157587403402406795740229096020702645755285526878066545202051859834565835969606164113104718780528698597989496170220738679950729900476288754857493956402546676620107561207568719869788305509169766061554060678459077401901135192148677674874949219356871510345455545431346942827293449398524213605262494496880434663797141266310619679052637068289665621512258533060513477029791476524583885508962070579066798728112568736030532273099533148493520210534658155829895557800943929150086714111733200477932821729401142792285371914637487841958983185999099006404693524767763032436829835200757531117254630264514133254597962671085767498517258589245877268983792191396399439611530262791345367871989178670144692015524031625848150409743871181758938201610819950764190354672264836685703620168100223682933029709373345422808759060388210899443677531003289439838219384032184375064695474766418770452721563534819658553094303149378215551177283093539745505301792759956557849559567357291688489030435671594897048388011999274336503731912468913908598788421703742627634914271980244676618262965099802160860006850763233755598544150902648361109922285077012810530685791697145670855936065747196968672940608981011901916162217386405512708712448553920969765829434130816726511666272704732247133275654402362391659624652229315640866446017673464787672825938825384464149629705199209696828739294689585337807056206939160666979449961720827844783799206761 2864923508500747378542809994877232876786444923546977156186385820436775683412879790610956006985105327264217831081147568139806094388599334954317198231635428758795144590760350510591452607629882900921804784547269057934854736581544462708706675637068324911490003514456287593782719697825392600069079858273365028408609159260737061680826731425759320921140153925323862068535165070903325052333496651247788767116868998726944267439742897089172885073384919062421111641871651579914101669525894379255424816804770140997708733648227055237286907228375230837750153433046061678844823969924974314437587574395405809125735534350379723523995397132752372081404298450091304165733070328968084306337577805362404207874837571079736320064953518024947365805789391956591618339331056857864763765524625811082272498516137476339262035082809278373086948204683227312058095925625547646372390495709621725093525680510329799678181722325369786896216919557498948718355422895111372767587259203274207238239994775923004790143111395726015246914638145086300756331293784132776911132721512912671141040397004403443291281609160664059121400479699217462110029338318338397536144892065125416645530740527191127536779408707454361555352923604314473301664928540789449329824188129384438930401918474670336032043870706479027799181994956198273208836695486416621893293532170134558470811727289846925901191991615095762347330679018122073792032533196702242194418984328537995811674330920382198989084070254706954923729990054025426705871825916337780558289700796644381749695149698881074413552321796560051213678219988746855503087011025516637765526721092316540697076761165889968972767362435708654878681609251187813062538103137721715383286411263161046909625000553992317897077283908592533975316094887842335185998648709856420404095105571639669522874219571678168575171717014451482207016496478894024965371017419240674571832645242471170622662390865494288972337884036507478517563629730886345110611418522993776083047879016684007827422209625824205107751475156102776738860362936421833976026661332929421579785469410433807685055197788789038382716462402681946130728219849272550675316707077602000935796953936488328534646981488686350223051892603246517795612582047456948833824655214694704145913092333535519094558828090098419172481025254289802918936204303238669327193436401528764486283765996902810456781649700332823285840022893248512687825436593512070316088744557162652730918992189062017672661819320877189888962884247949250611915413263216674934304121749860211471350269417440457324226009593758588524964388986532171194997150503694336504299043600483169837858500972948732098733165847127667917536817025088558850555426215296338767625975373166578574460436440852220934510849038155588035955255048226574169153293138021643626000175085139907191173325368734444770480371684697747556724538906078225211629758196469777066417152609825986471032036879702186755412883371308185324276776805470512336364377646590412908792274353318225048626054335526470289268871307467958929529652091987557426518206662996851865870267199520928881491119524883856312454707904083739884631314843521741615643936255938509673409879058141070746240139501700195155269682133779238946739070639064237453640987104154742579138003844641383866630992700637398136662742293418184754572816058628638027390920900580095626506670734581748230210094250601071886234179906809937306383628655979309837596475988516358009459428259292691284999213501283937754450941703945060191490163036099724299627792319251461975449046904665976615718575827410609574043089130682414923831206533165582813761276238072198345132816346001949605386375357739166165841280423334816977430178633823726065981637607822435853464791410453714201343656202117225550174224413573244478488629749188085745904871927031673699476565721835173669325440390218347599378236907996463955933776334202037028053472095384425331936716009497989629425577644169249903620186151258224491166515468231301181742813022532088184672289769767357102020695672538417657922565036823761127138146701065219599398726085957567251084819721434236889608720043 4635543611922807561409088779360092876503577928300434772264197876027381543208244097559653478043191235853053910238436695997425105963194665841534386507965004828991781520314714749006525359839790988263421207530401534634627292669324801663987414582393556007735814239201785804543096657785811922994385400325600544967299653846584346976241562127051321690197973592310632558753382264859664173271273536394991645809193271362603889522226810420472637309110058839539224226453367951935259463326273974437666131455642342485521279895217580922416267179998688437654211813378686683177469604128540647885333651240402367828148058472942803670841820173751193040205436708168204204810313112710938625635955391937681835881135444143411480162672576587419476489727250232409239458505569564968546539660725028299763921017789349360500630209931174114787507581347549618240936141188269482273794114819398765905230516459365769683875077135598706930814201587807785438728457431088429440675962747773495862582637683113654625326775648410840254320524072540301043895819642502106592148779900856109526869742594750874494710305625041309241661720781237473717326411582540458584936863255827691914603725560503393303895491086844325300989310844726789772573567119244047269193289963084439249476939926596405857861155649756701013405269702397174985441399733293409223934096164029452610130546345091995691940419557305567679468724581649682035805738274419916099538070051704649058198625522587368832382951937017608170559365142562370655608383011688280778694812914270000069384174755998346759112511324489425303878651475994319158617716279642049720455872992289114609324426589011274650496511616096089711210218190765239938997906854090789658237407005199895882171488436317890886986775302242476478496288602710958916114305816726163414791315075688857789406799775162577040437624167626750454874445800955325373238430445405544971378027958232741311544611978029542521713545840984570891387638097503813265643750965510368489193482828513235561344489934896742187609786627808507624553680227057011297419394901066778313591175029712622968773400158265811454682428982084551741486904203007969719550070758425776991033062267724771447723838013280940119209290378979606972463218606371133255896062598835703119480129337452651755053845366819184461602796161385984163471884926966169315152966903176001920775304984027260797136813178562403733255376909370249468670152439428270160410691959635739258634152131374826903128001014872473487663923945111571849437305137400148314003821175781297876655612347055490520862321907436061357908063254591203532170268444023451365450988388991338405009323263862976639895327679615849885147601337054191667713013618698745563366204469187281220215721967730287479712900897990153871924861212339678887933821836619633122170395823819857921073801657489302264436774231374367664285746474798094999935267366235838620477831068903388372167229028379861630362102728179695669732322236817455163657827045114626514054768850198659712423195601837089968321508375757624551041910625048070903547998139521435751379229270099995680219232093619886844727807437232233404841849501677571511201737199867659760123990791341548679061868902842987440641596771267080905722256638163243858334511871917775015967839045398914983885622965151531391260704964503952253090074647874515296374713091976495066118200997373093598082083429271216578249703938435785456793372527161068775798086808467122199814100524129376988619381601507620687480651077290483000249223424310623743305323322540901813668430936850351680414050593829380026764652665502073476925509682543798364938559331611943850434609105958507454945942715030854654871716094929714025818190633098062569713550076736344452253213114196341836257928182361902168437189513375405338495480512421841344449022829680034809398850798847984200011232087364018455314302655193432628874385315213938944215689481789938040649164563418959395255011774985976415286458855990471624442169870593692841367465251847729051118307443232144774846634497922881807552270236033457955877441390650557406454933025118234230534781442262081673407926804 7500467120423554939951898774237325753290022851847411928450583696464157226621123888170609485028296563117271741319584264137231200351794000795851584739600433587786926111075065259597977967469673889185225992077670592569482029250869264372694090219461880919225817753658073398325816355611204523063465258598965573375908813107321408657068293552810642611338127517634494627288547335762989225604770187642780412926062270089548156961969707509645522382494977901960335868325019531849361132852168353693090948260412483483230013543444636159703174408373919275404365246424748362022293574053514962322921225635808176953883592823322527194837217306503565121609735158259508370543383441679022931973533197300086043755973015223147800227626094612366842295516642189000857797836626422833310305185350839382036419533926825699762665292740452487874455786030776930299032066813817128646184610529020490998756196969695569362056799460968493827031121145306734157083880326199802208263221951047703100822632459036659415469887044136855501235162217626601800227113426634883503281501413768780667910139599154317785991914785705368363062200480454935827355749900878856121081755320953108560134466087694520840674899794298686856342234449041263074238495660033496599017478092468878179878858401266741889905026356235728812587264658595448194278095219710031117227628334164011080942273634938921593132411172401330026799403599771755827838271471122158293957054380242644869872956442969567821467022191724563094289355196587797361480208928026061336984513710914381819079324454879421172664833121049476517556871464741174661704727305158687485982594084605655306401187754901243623263874051804744589891827441953053001536009991812505041523818268360942791796488990310208784064059210835010453812383490553294102112954526582583818886420647328527312281019346840745615609341182078232661890942279849350338609447864646219543210673200703911934207002843523831494051429877492049408951267828390158376255169488504144572241361845197243388766699560720947295361261783911284363414043163478845273446056233996199893376644440146430653828597947054849837398891384766497872215124052280520394866777836027777926830016204213099982370819501967290342261182982226124768075800653828082089720717813530407265393221670988170849612673456917603634083821415675787082408089230204838642346403304704766407059070980930071253918462878895227019095399802618762156495589032940340476499436516798391989553144320436844575789820335749663376626808193060822461352718400616823248307942925641509348005881764495947845088331501194649882872452241123374727167418947717787869750031989474508242867824236811708738628493526743517802684418362142750518268439833995084330992179842353859794676158408582508414223749936145741907880116260566253057087114974641276748170570908959765112247127026223747034917145916072115221010285380876320211565025562705615686894983678729374843199265908082048385774986099487880994009099042287967500022204691705039422847043203516884761049249937363560257590379683225583480571562717035628330066204802518287617249496469620924561710351618503743157182515341315973289473164345199313126845673455806169433533869849482619425302008404543182595911278905046319852461327277227481311975498976072517595105842890040298850516615665788929527923447257922137007662890706503153323765633992556590692624871731954841828292177679872288464483883845245722763177001183140378613394562796983480209273528783422068273618595102791558441931592781235543191739386460410348042933115641792363789117477841516328296132626421239989600807741796184488400756716215709381178699835569684142195567425451960457060332318072770020820712996518264531003248369266921788635695187684558780305718004524650056037601584384479127718611413926948649816984110261609927090353894756711708508875416520683157869336672477582366054692539563189896584808161649415975972269161577174363372585880572916949024680589419155226318906645007248696115608685338824994023110278274379817235790597212999501876867330170461299465474835272857219083015588091715777005853659111075801481619601163696318563016646847 12136010732346362501360987553597418629793600780147846700714781572491538769829367985730262963071487798970325651558020960134656306314988666637385971247565438416778707631389780008604503327309464877448647199608072127204109321920194066036681504801855436926961631992859859202868913013397016446057850658924566118343208466953905755633309855679861964301536101109945127186041929600622653398876043724037772058735255541452152046484196517930118159691605036741499560094778387483784620596178442328130757079716054825968751293438662217082119441588372607713058577059803435045199763178182055610208254876876210544782031651296265330865679037480254758161815171866427712575353696554389961557609488589237767879637108459366559280390298671199786318785243892421410097256342195987801856844846075867681800340551716175060263295502671626602661963367378326548539968208002086610919978725348419256903986713429061339045931876596567200757845322733114519595812337757288231648939184698821198963405270142150314040796662692547695755555686290166902844122933069136990095430281314624890194779882193905192280702220410746677604723921261692409544682161483419314706018618576780800474738191648197914144570390881143012157331545293768052846812062779277543868210768055553317429355798327863147747766182005992429825992534360992623179719494953003440341161724498193463691072819980030917285072830729706897706268128181421437863644009745542074393495124431947293928071581965556936653849974128742171264848720339150168017088591939714342115679326625184381888463499210877767931777344445538901821435522940735493820322443584800737206438467076894769915725614343912518273760385667900834301102045632718292940533916845903294699761225273560838673967977426628099671050834513077486932308672093264253018227260343308747233677735723017385101687819122003322656046965349704983116765388080804675711847878310051764514588701158936653245751614821553374015764975718476620300338905925893971641898920454014513061434844673710478950111189495617689482971048411719791987967723390535856570865451135062978206967819469859053622601998105320661292081320366851049613702028255288490114416848594453554917863078471937871430094657515248230461470473361205731740539019260199215345616780412366110384873351008440822604666518823736788095686617577061771245879974157171007957499370207880768327834375964957332051055276057457630752350776711989011625165741472368610636910128476434131248187296451811671478917821350622136864290732138172394310790023538016971562311764101422807224661494111551438365950653408630711240780515495714578259337687391741239235201020378465846647877147500674685378523821206359367687832019699196942185981453452693829894358384311541141014891880376312795893936650834135895779804977472905931945020936811260909870340966732779623033320928683713049299353920147446482885296031855674415211500292928941454307372814747632763215366494936461910016137088827667576663741421279105422663680031736819665936901812053715544473472445539200650225911888058983208031613473342083699233614202942039723368628725739720920241929583712123630001910322778548206694315013846876884638047410655673829193657860640824168104363877307386170036552875676313400758183583915390725170310010847990292611073681935439213834402238630940460919184152222426089260752965354377668620140347084533085758743072729327935426374261109143505042733587783681508219970373710301447389192649605450602409087629307551445262237976704299179129412243858526026191988609884720971786238438964333265602785908778366679976546677015069369627572394461686561877682225898253179543638394901296086046002034557918964515278260787800875475584712613194245029066559900019851205408737761295124757971217638846397873859512566841029887048603440324055155479590774031768434802917586391743318274267319531142069347904564946384510006842218383329213682546964629914916484851058964301413235045136335908419935601194141202734193103863239167740050855209418686864477743526227546286908904656231646651713964668384181273027105508890677038893029482366334412308592136194035712154382605958400236424573651 19636477852769917441312886327834744383083623631995258629165365268955695996450491873900872448099784362087597392877605224271887506666782667433237555987165872004565633742464845268202481294779138766633873191685742719773591351171063330409375595021317317846187449746517932601194729369008220969121315917523531691719117280061227164290378149232672606912874228627579621813330476936385642624480813911680552471661317811541700203446166225439763682074100014643459895963103407015633981729030610681823848027976467309451981306982106853241822615996746526988462942306228183407222056752235570572531176102512018721735915244119587858060516254786758323283424907024687220945897079996068984489583021786537853923393081474589707080617924765812153161080760534610410955054178822410635167150031426707063836760085643000760025960795412079090536419153409103478839000274815903739566163335877439747902742910398756908407988676057535694584876443878421253752896218083488033857202406649868902064227902601186973456266549736684551256790848507793504644350046495771873598711782728393670862690021793059510066694135196452045967786121742147345372037911384298170827100373897733909034872657735892434985245290675441699013673779742809315921050558439311040467228246148022195609234656729129889637671208362228158638579799019588071373997590172713471458389352832357474772015093614969838878205241902108227733067531781193193691482281216664232687452178812189938797944538408526504475316996320466734359138075535737965378568800867740403452663840336098763707542823665757189104442177566588378338992394405476668482027170889959424692421061161500425222126802098813761897024259719705578890993873074671345942069926837715799741285043541921781465764466416938308455114893723912497386121055583817547120340214869891331052564156370345912413968838468844068271656306531783215778656330360654026050457326174697984057799374359640565179958617665077205509816405595968669709290173754284130018154089942518657633676206518907722338877889056338636778332310195631076351381766554014701844311507369059178100344463910005484276430596052375511129480211751617547485917152307569010509283626430481332844693094676150971412465477017215520803731656343431856508614819914027297435337498225896517650266572679428993454279192280654391729770438992737558328288063387375846599845773512585534734893446945887403304973738936352857771446176514607773781661330505308951113409564993232523237740440772248516054707641686371800240917540331233216772142741938633794810619707027064316572667375876047386211038984909825361123652967736837952986505106339459027104951052367940354890744971737486394117152314733102885490516438061339692704249893286688914225350564153895000809568038784895304308160400770281637687685093733472185002108051785902186618511537641739388145568055709936796334271066063518598106306317236550735423065318491647069994267798426362138058565760844543958401912074927155457657750520321393390163702236428524705359748855257232429234521695476564210483502267742208791512185036059119327563680407744558010985878222209341844803639935330627373159092838119864179983788178192076197764893084111479998627191730490306787529665885711929352632464154581359720610644911192618206482285509824062810206179524825479512684918854296729390447107599480348226268415856060880821943905981077089676451367944461282777254666438789015793507217471628927230983147374893441826002587212402434082618361158090973513535856571807090737571343836639761569383727996345131319829171554606125629391903386619883008272679303436309359228380136257871050278438942113962560722338230470980228241569460009879421575610578860570896296297709131458776032314929166941639841103925445853905063689222163496453911461096951320157605660017367272704972463701035641695525156812343103451827149683840214299938684577042528750564699381781573225798490708614045890888754012636138664785820925709252857444616190613296429053099748870487863855659540548243680887588021800607363522699501869231148528581294838845480738501940781747896121908617574082111418162251247269837193773983769654718799441220498 31772488585116279942673873881432163012877224412143105329880146841447234766279859859631135411171272161057923044435626184406543812981771334070623527234731310421344341373854625276806984622088603644082520391293814846977700673091257396446057099823172754773149081739377791804063642382405237415179166576448097810062325747015132919923688004912534571214410329737524748999372406537008296023356857635718324530396573352993852249930362743369881841765705051384959456057881794499418602325209053009954605107692522135420732600420769070323942057585119134701521519366031618452421819930417626182739430979388229266517946895415853188926195292267013081445240078891114933521250776550458946047192510375775621803030189933956266361008223437011939479866004427031821052310521018398437023994877502574745637100637359175820289256298083705693198382520787430027378968482817990350486142061225859004806729623827818247453920552654102895342721766611535773348708555840776265506141591348690101027633172743337287497063212429232247012346534797960407488472979564908863694142064043018561057469903986964702347396355607198723572510043003839754916720072867717485533118992474514709509610849384090349129815681556584711171005325036577368767862621218588584335439014203575513038590455056993037385437390368220588464572333380580694553717085125716911799551077330550938463087913595000756163278072631815125439335659962614631555126290962206307080947303244137232726016120374083441129166970449208905623986795874888133395657392807454745568343166961283145596006322876634957036219522012127280160427917346212162302349614474760161898859528238395195137852416442726280170784645387606413192095918707389638882603843683619094441046268815482620139732443843566408126165728236989984318429727677081800138567475213200078286241892093363297515656657590847390927703271881488198895421718441458701762305204484749748572388075518577218425710232486630579525581381314445290009629079680178101660053010396533170695111051192618201288989078551956326261303358607350868339349489944550558415176958504122156307312283379864537899032594157696172421561532118468597099619180562857500623700475024934887762556173148088842842560134532463751265202129704637588249153839174226512780954278638262628035139923687869816058945711104391179825457056569799329574168037544546854557345143720466303062727822910844735356029014993810488523796953226596785406827071977677561750319693469666654485927737224060187533625463036993937105208272469405611082932765476650766372931471128487123797328869987598824576989638318456072364433483232552531245842793731200266340152072746406201538622119238161079495676135939462253178348457760536634890231346739382744119708948465436141824459919161208100202097051604417533467490071206378116947128988597163096488852504374519011178888984393649845633624986210965080991602349092225150634565611420588524301640613173994901273932255781005868418049163754823034321491941600498812827382268165344371296650667310947973707994141015764860709414155801191999543798509401203026797294610686597734354506947949062765045569519042751003161003160898412386678103192038953082402940494767153827820849591131130955634029763019315522669017030257673121368828495108008931652595520672053102817253206760918726519321092927669851366291751702774315529168821415258490564046328161622762210111017190610712681040699898159298549951059412608739203117748603743273391779862007884685027448787398524958798094548511389916700756080498287595575716606229852291615409993570458894994689295398249688249225980451378728855952530719557612156121168012215740265976625372276314287571494567798386090888839648371771771882421744653021061381489066961491046512663207149029821660439802342851785320609518161187492708620807596760127943291809673463959959729929495195145423951159745442008032481607475135074706223999956555012173255578675805805238863695102966199055970845588765864551791807437631787292852733727031595710395757662367752065765326834909809608406525462795180295259507229662011529046290638573160801647056448445830470843383463872905928366375613119035865794149 51408966437886197383986760209266907395960848044138363959045512110402930762730351733532007859271056523145520437313231408678431319648554001503861083221897182425909975116319470545009465916867742410716393582979557566751292024262320726855432694844490072619336531485895724405258371751413458384300482493971629501781443027076360084214066154145207178127284558365104370812702883473393938647837671547398877002057891164535552453376528968809645523839805066028419352020985201515052584054239663691778453135668989444872713907402875923565764673581865661689984461672259801859643876682653196755270607081900247988253862139535441046986711547053771404728664985915802154467147856546527930536775532162313475726423271408545973441626148202824092640946764961642232007364699840809072191144908929281809473860723002176580315217093495784783734801674196533506217968757633894090052305397103298752709472534226575155861909228711638589927598210489957027101604773924264299363343997998559003091861075344524260953329762165916798269137383305753912132823026060680737292853846771412231920159925780024212414090490803650769540296164745987100288757984252015656360219366372248618544483507119982784115060972232026410184679104779386684688913179657899624802667260351597708647825111786122927023108598730448747103152132400168765927714675298430383257940430162908413235103007209970595041483314533923353172403191743807825246608572178870539768399482056327171523960658782609945604483966769675639983124871410626098774226193675195149021007007297381909303549146542392146140661699578715658499420311751688830784376785364719586591280589399895620359979218541540042067808905107311992083089791782060984824673770521334894182331312357404401605496910260504716581280621960902481704550783260899347258907690083091409338806048463709209929625496059691459199359578413271414674078048802112727812762530659447732630187449878217783605668850151707785035397786910413959718919253434462231678207100339051828328787257711525923627866967608294963039635668802981944690731256498565260259488465873181334407656747289870022175463190210071683551041743870086144585536332870426511132984101455416220607249267824239814255025611549679272068933786048069444757768659088253810216291776864159145685406496367298809513224903385045571555227495562536887902456100931922701157190917233051837797621269856732138661002753930163346295243129741204559188488402482986512863729258462899177723668177996308703588333104723365737346125812800638827855075507415284561183551178155551440369996245863646210788028623228281433488086450969390484232347900070659293445103125114346556429367090975647473612828450672565138668864895821876327594481240026071658345059512619331142634027957946103404510257452374699171155175164939850301949237040383065283107364042016258399324457040103586641967896052274483679097908666328775886057630929912235594295908411600357039332498016625549826819961238681978491979242461921892202991084504593869076656399522568180402942515836492329071192916423543400791055983545460322354360975018431155745340385170158404609849209454373378376320095999018276566661891370231029280167833578878633826448041321621437743163695648731244875301481184839032841979473406300627138134881030496115913023432731586398239204239947224399241813399351183122541797584677476139312507952309238712438661478961651893489935707138687175092057168531041535970186265123497185099394367074410318767645809945489498472333951120318480654272099917138049164959444602574983611444581548176584524386592682018132696521905283887688088084332666977428662434560110126178300988314855843256542529140954577677807666499418508942668068180130876111797093696418233903130887616588653002934885349661965839305696781706469481345098368638174869465100406992845315159485116542272598646972573634999959741946717058650003885639405605781529780810663964192721696693992876331241630984876896554841623309167982420734060840392601604214895451369936305906048639653787127442273332307908394693943708876554346075142750030987072386469282710264630530557248633094630733710099702350145267837835307014647 83181455023002477326660634090699070408838072456281469288925658951850165529010211593163143270442328684203443481748857593084975132630325335574484610456628492847254316490174095821816450538956346054798913974273372413728992697353578123301489794667662827392485613225273516209322014133818695799479649070419727311843768774091493004137754159057741749341694888102629119812075290010402234671194529183117201532454464517529404703306891712179527365605510117413378808078866996014471186379448716701733058243361511580293446507823644993889706731166984796391505981038291420312065696613070822938010038061288477254771809034951294235912906839320784486173905064806917087988398633096986876583968042538089097529453461342502239802634371639836032120812769388674053059675220859207509215139786431856555110961360361352400604473391579490476933184194983963533596937240451884440538447458329157757516202158054393403315829781365741485270319977101492800450313329765040564869485589347249104119494248087861548450392974595149045281483918103714319621296005625589600986995910814430792977629829766988914761486846410849493112806207749826855205478057119733141893338358846763328054094356504073133244876653788611121355684429815964053456775800876488209138106274555173221686415566843115964408545989098669335567724465780749460481431760424147295057491507493459351698190920804971351204761387165738478611738851706422456801734863141076846849346785300464404249976779156693386733650937218884545607111667285514232169883586482649894589350174258665054899555469419027103176881221590842938659848229097900993086726399839479748490140117638290815497831634984266322238593550494918405275185710489450623707277614204953988623377581172887021745229354104071124707446350197892466022980510937981147397475165296291487625047940557072507445282153650538850127062850294759613569499767243571429575067735144197481202575525396795002031379082638338364560979168224859249728548333114640333338260110735584999023898308904144124916856046160251289300939027410332813030080746443115818674665424377303490714969030669734560074495784367767855972603275988554741685155513433284011756684576480351108369805440972328657097585746082143023334135915752707033006922498262480322997246055502421773720546420055168625572170614489436751380684552132336217476624138476469555714536060953518140860349092767576874017031768923973834819040082967801344595315474460664074614048951932565832209595915220368891121958567760359674451334085270044438938008272891935327556482649284038564167325115851245035365018261546737505852519934201943015478190693801859559785255197860752757967989210213808553108504586612027391847213353582412962484712586765454402464768461084767284458487877107311504712354503979116704622665236146228418896366028980228379596216546390777410503346024497236487601521038485448760089511015421001036692196541332824118597549024774351940606430272406555695238010402436801526300734403522391015818466772759213447953050189879128376650509977508093931902330579344592790599782054861525381158269629117753479694892118107467374894778973416129379481099159916688953339994562269982362570774073645787654268890912752568698797725411750560397970498215096705963348301901408636069787476551168169015840685938347316965723561040152069093179691102885896857326753498891397803071998637400335200871589978842504202616747838585334390607119590454144709389382872100928372786146936418203452673258732888023431132045668829870570972855997636336760535161208804835903059991541747043419381281977416382384771131264339066816940285197696986274590681278138394041254291481215532856816712449145476193757388258157314439840062552620764818155077907300864621934129251860151964707010101768182157482102315987642532591077258982466225228350284654988623445076272202093842117997586159705183954749540257479020714111829781486335822837219771397502499231740026344597183932867400430389173719774228171692627685454337941927047080332063568416391719552454277183141916314920156738889171813853304804761560033363025042443511911686979003079103938014197583005630716520880956871172808796 134590421460888674710647394299965977804798920500419833247971171062253096291740563326695151129713385207348963919062089001763406452278879337078345693678525675273164291606493566366825916455824088465515307557252929980480284721615898850156922489512152900011822144711169240614580385885232154183780131564391356813625211801167853088351820313202948927468979446467733490624778173483796173319032200730516078534512355682064957156683420680989172889445315183441798160099852197529523770433688380393511511379030501025166160415226520917455471404748850458081490442710551222171709573295724019693280645143188725243025671174486735282899618386374555890902570050722719242455546489643514807120743574700402573255876732751048213244260519842660124761759534350316285067039920700016581406284695361138364584822083363528980919690485075275260667985869180497039814905998085778530590752855432456510225674692280968559177739010077380075197918187591449827551918103689304864232829587345808107211355323432385809403722736761065843550621301409468231754119031686270338279849757585843024897789755547013127175577337214500262653102372495813955494236041371748798253557725219011946598577863624055917359937626020637531540363534595350738145688980534387833940773534906770930334240678629238891431654587829118082670876598180918226409146435722577678315431937656367764933293928014941946246244701699661831784142043450230282048343435319947386617746267356791575773937437939303332338134903988560185590236538696140330944109780157845043610357181556046964203104615961419249317542921169558597159268540849589823871103185204199335081420707038186435857810853525806364306402455602230397358275502271511608531951384726288882805708893530291423350726264364575841288726972158794947727531294198880494656382855379382896963853989020781717374907649710230309326422428708031028243577816045684157387830265803645213832762975275012785637047932790046149596376955135273209447467586549102565016467211074636827352685566615670048544723013768546252340574696213314757720812002941681078934153890250484825122625777959604582249958974577839539523645019858640886270691846303710522889668677935767328977054708796568471352611357631822295403069701800776477764691157350734133213537832366580919405952916422467435085395517874482322935912047694873105379080239408392256871726978186569978657970362624309012678034522854137181114283212709005903783803876943650587477778210395465009933264093216677594710291672483725411797459898070683266793083780307219888740033827439590004537321361714891246153046884775018939340606385171333499710538593872518853230358322975099314397356301189456026721333037284592530516078249404289290079193826791526060809827973704098427092515835053414909222611956353815875777840401086078720845603069363293662703580588407035809827803064600823129569417090759932439187419681749776922749827471245059712893457436374708979938928289032105522057971641118780018279976865444283218809551277353082524609449712447308779593025814000423003095247002887993581655765600321847735519244647548909225035277288265871984743988427789507755801195158934965520001885932501011642738607652524421480716932234374006441961421060481805273271979399935738805327775307709263207922357581664284928864118669933715204927800987376468334993090454069019399124338176367537115579950946639047639533068940494397692552454977272509482664288121495680679575647995598113472180514010828522220319068678377521903465996789148351225244955914774385925494605811379819514504573089923627943767874659434515081293036548226754905024617864674414937025241388264572342242606337058789399345853403723154001423887676666257107908242683496876615248774325534767752821745840513154899592359763734021463178884022457123877689445897157335690328757277500303782930192814474692489090571221159664925901466598907482906353517435563016116633501183964119199193224616357586228168809763955272012482887756648905753468078055942156822498450268369474465031373339581719456474224223314850682598048368199379947511591020435411511726222176317509560327737032644931293105333066666148794706479823443 217771876483891152037308028390665048213636992956701302536896830014103261820750774919858294400155713891552407400810946594848381584909204672652830304135154168120418608096667662188642366994780434520314221531526302394209277418969476973458412284179815727404307757936442756823902400019050849983259780634811084125468980575259346092489574472260690676810674334570362610436853463494198407990226729913633280066966820199594361859990312393168700255050825300855176968178719193543994956813137097095244569622392012605459606923050165911345178135915835254472996423748842642483775269908794842631290683204477202497797480209438029518812525225695340377076475115529636330443945122740501683704711617238491670785330194093550453046894891482496156882572303738990338126715141559224090621424481792994919695783443724881381524163876654765737601170064164460573411843238537662971129200313761614267741876850335361962493568791443121560468238164692942628002231433454345429102315176693057211330849571520247357854115711356214888832105219513182551375415037311859939266845668400273817875419585314002041937064183625349755765908580245640810699714098491481940146896084065775274652672220128129050604814279809248652896047964411314791602464781410876043078879809461944152020656245472354855840200576927787418238601063961667686890578196146724973372923445149827116631484848819913297451006088865400310395880895156652738850078298461024233467093052657255980023914217095996719071785841207444731197348205981654563113993366640494938199707355814712019102660085380446352494424142760401535819116769947490816957829585043679083571560824676477251355642488510072686544996006097148802633461212760962232239228998931242871429086474703178445095955618468646965996173322356687413750511805136861642053858020675674384588901929577854224820189803360769159453485279002790641813077583289255586962898000947842695035338500671807787668427015428384514157356123360132459176015919663742898354727321810221826376583875519814173461579059928797541641513723623647570750892749384796897608819314627788315837594808629339142324454758945607395496248295847195627955847359736994534646353254416118437346860149768897128450197103713965318737205617553483510771613655613214456210783887869002693126499336477636060657566132363919074316596599827209322855704377884861812586263039140088119518319455391885886695066291778111015933323295676807248379119351404314662091827162328030842142860008437046485832250240244085086248793983340727705731092053199155216296516476723628568704646477566136281518065146321756445193126319373276515188729287674378413015613520835852072365345511403264579829837623896619922363291602986702252563906413556980463274596434788865711551003712160726413934966460332932580400505637232307139741969098343522042299797134797813220331149089098059617170938129245381199276930697170777959442024012577883831491006461149060920545358561438661217295982043555581544580711268966674234628018050112295972562499902326437156243535791508516934997577582232586372255547655183373116677514276666662704730169406373339359638767401205637135282294318851654473341880494770994005309381726170209134985823147126575140759146472232365671242477615032444768676077209117899277709834132832453944704804608281032170651362027528537428172781556954916256451091675258934918651949584039382840404658919336901895169202815857843873271407711949825388965030867699041844966660947246725672992327411265545334598042457978221796217811912410722686029767020184655417564564631670671363149156636850897466064167812565821721964903062371401211615922666402966383496897818274322256162565852868630195181275934823571547748305236117641433403852232835632374755875092373306864299369865502203620660986338444766410280523156139801915557107562155292406375269086676786331208568807319370109856216139164961927067629265344502452456338403735516701692456356383930825352742631355702401656607530877077446095763510280098749545530600433042881423092892035996639616140538235007421487220182052684752273151053798436554169734088004488563406840970659128876110963783187029751577652632239 352362297944779826747955422690631026018435913457121135784868001076356358112491338246553445529869099098901371319873035596611788037188084009731175997813679843393582899703161228555468283450604522985829529088779232374689562140585375823615334773691968627416129902647611997438482785904283004167039912199202440939094192376427199180841394785463639604279653781038096101061631636977994581309258930644149358601479175881659319016673733074157873144496140484296975128278571391073518727246825477488756081001422513630625767338276686828800649540664685712554486866459393864655484843204518862324571328347665927740823151383924764801712143612069896267979045166252355572899491612384016490825455191938894244041206926844598666291155411325156281644331838089306623193755062259240672027709177154133284280605527088410362443854361730040998269155933344957613226749236623441501719953169194070777967551542616330521671307801520501635666156352284392455554149537143650293335144764038865318542204894952633167257838448117280732382726520922650783129534068998130277546695425986116842773209340861015169112641520839850018419010952741454766193950139863230738400453809284787221251250083752184967964751905829886184436411499006665529748153761945263877019653344368715082354896924101593747271855164756905500909477662142585913299724631869302651688355382806194881564778776834855243697250790565062142180022938606883020898421733780971620084839320014047555797851655035300051409920745196004916787584744677794894058103146798339981810064537370758983305764701341865601811967063929960132978385310797080640828932770247878418652981531714663687213453342035879050851398461699379199991736715032473840771180383657531754234795368233469868446681882833222807284900294515482361478043099335742136710240876055057281552755918598635942195097453070999468779907707710821670056655399334939744350728266751487908868101475946820573305474948218430663753733078495405668623483506212845463371194532884858653729269442135484222006302073697343793982088419836962328471704752326477976542973204878273140960220586588943724574413733523446935019893315705836514226539206040705057536021932351885766323914858565465599802808461345787614140275319354259988536304812963948589424321720235583612532452252900103495742961650238401397252508647522082428234784617293254069457990017326658098176289818016194899373100814632248197047606508385813152162923228347965249569605372723495852076124101653724080542541912727810498046253881411410972524175833506375105036550304163218573241967839281027527671112031096775384533732704544610014899267881546897266245971843810951386762701812592720606551170661181212452879369852390991542643100240348506524084424408492964138643519547214141323157578416686748456178346038318385860587572167706815705003377723204849030158952153698882746740355220005313638464350378920554882191851483822943544384463897523769900484286850470766739353953684674361562860688134410957453437569327465378497171949614773745935836561605508939938092824585120579953911313255505220852196758924215571929765446694639211344382755828995144891083489477786619993343766427272005648047989378694630615702755381500581582720567532714170944514457014968183574003852516827162485632191714496738873568923278214747375579163014905005763165872011023935655575429851626472034231900530678430479937727859831299587721657793130353355935695833445506068540678863297155317147174958075247893311396089643067238064039247126573021462767827185108611524372831564474932069137721594299306917031296285412547357204360792576626989520927045816148641164054667538725739504155333111655508419256591784196605163611489828655656547919614518048652626558370400127577620932886461763891729629236225083839870360901890287969969053297137605885864839655596189305461901151478820299140028479035035757682738072444833421146700907518569089839587699635900885680972741517053521552395310974414139495287525983199563841566222255572043980868802517346454466231617716096090364761549858104085268550252064699784742074233848065895956264321998123734578003304060169216296849853178546284132455682 570134174428670978785263451081296074232072906413822438321764831090459619933242113166411739930024812990453778720683982191460169622097288682384006301948834011514001507799828890744110650445384957506143750620305534768898839559554852797073747057871784354820437660584054754262385185923333854150299692834013525064563172951686545273330969257724330281090328115608458711498485100472192989299485660557782638668445996081253680876664045467326573399546965785152152096457290584617513684059962574584000650623814526236085374261326852740145827676580520967027483290208236507139260113113313704955862011552143130238620631593362794320524668837765236645055520281781991903343436735124518174530166809177385914826537120938149119338050302807652438526904141828296961320470203818464762649133658947128203976388970813291743968018238384806735870325997509418186638592475161104472849153482955685045709428392951692484164876592963623196134394516977335083556380970597995722437459940731922529873054466472880525111954159473495621214831740435833334504949106309990216813541094386390660648628926175017211049705704465199774184919532987095576893664238354712678547349893350562495903922303880314018569566185639134837332459463417980321350618543356139920098533153830659234375553169573948603112055741684692919148078726104253600190302828016027625061278827956021998196263625654768541148256879430462452575903833763535759748500032241995853551932372671303535821765872131296770481706586403449647984932950659449457172096513438834920009771893185471002408424786722311954306391206690361668797502080744571457786762355291557502224542356391140938569095830545951737396394467796528002625197927793436073010409382588774625663881842936648313542637501301869773281073616872169775228554904472603778764098896730731666141657848176490167015287256431768628233392986713612311869732982624195331313626267699330603903439976618628360973901963646815177911089201855538127799499425876588361725921854695080480105853317655298395467881133626141335623602143460609899222597501711274874151792519506061456797815395218282866898868492469054330516141611553032142182386565777699592182375186768004203670775008334362728253005565059752932877480936907743499307918468577163045635105608104586305658951589377739556400527782602320471569105247349291751090488995178115882044253056466746217694609273408080786068167106410359212980929804062620400542042579752279911661432535051526694218984110090770566374792152971895584295047864752138678255267886705530321333066780886847141946614316847163809189177177418531829726859023917886530087997169221275679261585364646803459128047323995985186381008285077832375242661455377693795207006653905486987359020843281829850194523259374867737092544877019681036578851675550693000329541266050337747303174858002662250490101242796942363911293349250694837741281076091332841633875496400827375875470358672830821029645411909427956649935728229943107441399403377631688065587377577674469734449517100183092080097397017456873090402167353166326166860910688593968874273200882234634495616101012550704021523230200782026365783796638274466685646922042999653357371104864839750688578528627156723479714004946536615756934630000628342679929725945061763342025847329192818273727886495779546230525042433543191338653567978851912026521526885406952883850114717813320342386779168201482890860608988197229207103545395331457505709730996197162113835905321973566303723500908612572662081705104794817680579739595831297554139851749130349633702353264970670066187933136310013421372173358398348954423989417217360257086721070505109236401973607433911670985109460414391786439546313400203404853155732159482056478791206032502333496025259768628191099494738428704500856699346656698250492209436939521442972401810888595680730987828265151507708835798405145613898877237406760488775966252021021546177991435152602578137329125447878874295026666676815796102818403060645659605076502354321589511469235560227877559123653712735706505299784865525572488732304749452057893128032284620065690352326486687141418973963189045327260633040208297861785087921 922496472373450805533218873771927100250508819870943574106632832166815978045733451412965185459893912089355150040557017788071957659285372692115182299762513854907584407502990119299578933895989480491973279709084767143588401700140228620689081831563752982236567563231666751700867971827616858317339605033215966003657365328113744454172364043187969885369981896646554812560116737450187570608744591201931997269925171962912999893337778541484446544043106269449127224735861975691032411306788052072756731625237039866711141599603539568946477217245206679581970156667630371794744956317832567280433339899809057979443782977287559122236812449835132913034565448034347476242928347508534665355622001116280158867744047782747785629205714132808720171235979917603584514225266077705434676842836101261488256994497901702106411872600114847734139481930854375799865341711784545974569106652149755823676979935568023005836184394484124831800550869261727539110530507741646015772604704770787848415259361425513692369792607590776353597558261358484117634483175308120494360236520372507503421838267036032380162347225305049792603930485728550343087614378217943416947803702635349717155172387632498986534318091469021021768870962424645851098772305301403797118186498199374316730450093675542350383910906441598420057556388246839513490027459885330276749634210762216879761042402489623784845507669995524594755926772370418780646921766022967473636771692685351091619617527166596821891627331599454564772517695337244351230199660237174901819836430556229985714189488064177556118358270620321801775887391541652098615695125539435920877523888105804625782549172581830788247792929495907202616934642825909913781589766246306379898677211170118181989319384135092580565973911387652136706598003808345915474339772785788947694413766775126109210384709502768097013300694424433981926388381959135075664354534450818512771541452565448934279376911865245841664822280350943796422982932089433825097116387579939133835122759790782617474183207323485129605690563297572227694302254037752850694765724384334597758035981807226591473282225992501265536034927258868656408925771818404649718397119119889969994689866899828328055814026405540547017756256262003487844223281541111635059427328340169918191403842277843052143489432840721868821613894871374179325273612471369951502243073793404315870899091424275685441267921042607410028536312448433552704965808100245161231037907775022546295108211744494646917334065699706082341301746163549650779443720211905426369617085050065715188582156128191336860289208515307214260591728462496544987265050768172945507557208457754845890749136588705792932178946259044828122031307768685337850106894253993511443445251774793988838042806589009060250123293706429492757197713869078860917113433757153452306552581207511280649053396495825110651648569256008476205631455011887723825726980223770920259934256196600721513932262380194696003889412904304670302087537788589141503156705043052966906399131873929027916659002526396811183226752473746280078174166193814821071032125097806564261062795651762048404279059195926917449273274424894460029413349315005301405360483559470366391333910127738306200281537660707560271391644968811916683782242772224248974217561825931691842651164710526921809688057338548954504525579002787567601951378511878987115750645396243800280114638999501070612518402118550585142799378840837526046388594293352479261010863397221459615119590551679810726120952231367839143347566780939909078512683313605281702840074859269976983219229421722560778576534150974975943944916463033508898250775738043834975906128940545567179404366052198588391603157803228859061401075346677530709105349576432629911116958146230392082829123974653788340727060248546986220461262734077127328837241466484784986192888979743971806848864277440181371581615309851593909922667159539590636017579134788503463818301866964932395847421977651229935598105929043845223446642724609893633492338038077574332025355271428831796870061334723629657757282556814151842635202266132685961646616648484810875996977267249214543557482893386844145917543603 1492630646802121784318482324853223174482581726284766012428397663257275597978975564579376925389918725079808928761240999979532127281382661374499188601711347866421585915302819010043689584341374437998117030329390301912487241259695081417762828889435537337057005223815721505963253157750950712467639297867229491068220538279800289727503333300912300166460310012255013524058601837922380559908230251759714635938371168044166680770001824008811019943590072054601279321193152560308546095366750626656757382249051566102796515860930392309092304893825727646609453446875866878934005069431146272236295351451952188218064414570650353442761481287600369558090085729816339379586365082633052839885788810293666073694281168720896904967256016940461158698140121745900545834695469896170197325976495048389692233383468714993850379890838499654470009807928363793986503934186945650447418260135105440869386408328519715490001060987447748027934945386239062622666911478339641738210064645502710378288313827898394217481746767064271974812390001794317452139432281618110711173777614758898164070467193211049591212052929770249566788850018715645919981278616572656095495153595985912213059094691512813005103884277108155859101330425842626172449390848657543717216719652030033551106003263249490953495966648126291339205635114351093113680330287901357901810913038718238877957306028144392325993764549425987047331830606133954540395421798264963327188704065356654627441383399297893592373333918002904212757450645996693808402296173676009821829608323741700988122614274786489510424749477310683470573389472286223556402457480830993423102066244496945564351645003127782525644187397292435205242132570619345986791999148835081005562559054106766495531956885436962353847047528259821911935152908280949694238438669516520613836071614951616276225671965934536725246693681138046293796121364583330406977980802150149116674981429184077295253278875512061019575911482206481924222482357966022186823038242275019613940976077446081012942064340949626465229292706758182126916899755749027724846558243890396054555851377025509458372150718461555596052176538811900798591312337596104241900772305887894173665464875234191056308819591465293479895237193169746987152141750118274680694532936444756223850355431655582608544017215443042340390719142220665930415762607649485833546496130260150533565508364832356471509435027452966623009466116511053953247008387852525072892470442826549240514092321835265213292126218671601666636349610915688329034711606917435747702683865936912857135196472975355146049466385933839043987450752380383075075262219989448624769142573104558305018796460584690979313187231336877203364692763146379133057113548159480498802466095056623839032566065963876797342668170726110529336049389419771861246654699807491199609727439210173531139154639292767474562941918506703313946912531103220565459602476624598296135404614869431542543577674289622652653825141134247777743486941166220829568744082620727436640848648974112119996756399543853684273628919826912606245035076882408789945305325980041198756678896664312752425802289396708943815057071063168926715060271358004954762731588424310117079912438754895029679995542607244176028326274969440259363711968717286012316243409155124510116379051206306468040213099772092145843179146981639479628472905397285939999600760114057120622501418167702553503379011106747814349902924236168983552098325289549641374846768719195025918843091460292383388202657336162656823927306376771206632652535062735631336542428124240647049407162558032574199948707509373324898368905880250869155337496808548944212308102547979478850389475512612980178042704116629062466254231078837012765584140782465132244612983405999020273928618713082492841583759595203684470953472171016648771809643277373380666923876808009123314557700075845326985480492547258354398698633411560612182195570569941106041955630992412811270142448644328045731700924332104490883051719226964215223003807273637802209584478925141567503375361119589155230246014861563603900528330298417306027336968974971498017415951230438259870818115933595142007702631524 2415127119175572589851701198625150274733090546155709586535030495424091576024709015992342110849812637169164078801798017767604084940668034066614370901473861721329170322805809129343268518237363918490090310038475069056075642959835310038451910720999290319293572787047388257664121129578567570784978902900445457071877903607914034181675697344100270051830291908901568336618718575372568130516974842961646633208296340007079680663339602550295466487633178324050406545929014535999578506673538678729514113874288605969507657460533931878038782111070934326191423603543497250728750025748978839516728691351761246197508197547937912564998293737435502471124651177850686855829293430141587505241410811409946232562025216503644690596461731073269878869376101663504130348920735973875632002819331149651180490377966616695956791763438614502204149289859218169786369275898730196421987366787255196693063388264087738495837245381931872859735496255500790161777441986081287753982669350273498226703573189323907909851539374655048328409948263152801569773915456926231205534014135131405667492305460247081971374400155075299359392780504444196263068892994790599512442957298621261930214267079145311991638202368577176880870201388267272023548163153958947514334906150229407867836453356925033303879877554567889759263191502597932627170357747786688178560547249480455757718348430634016110839272219421511642087757378504373321042343564287930800825475758042005719061000926464490414264961249602358777529968341333938159632495833913184723649444754297930973836803762850667066543107747931005272349276863827875655018152606370429343979590132602750190134194175709613313891980326788342407859067213445255900573588915081387385461236265276884677521276269572054934413021439647474048641750912089295609712778442302309561530485381726742385436056675437304822259994375562480275722509746542465482642335336600967629446522881749526229532655787377306861240733762557425720645465290055456011920154629854958747776098837236863630416247548273111594834983270055754354611202009786780575541323968274730652313887358832736049845432944454056861588211466070769455000238109414508891619169425007784143660154742134019384364633617870834026912993449431750474996365031659386315753960264784926142041759273933425660687506648283764209212333037092040109741036220120855785048739204053554849436407456256632156950702948495574033038002428959487505951974195952770234123508350601571786809200533579759860209460284371307748977651357079237979814155327129341174072300950986978572323778629103546482909755594449146258248042480842879620062527270757621570276699781562313150909545597173396772245366177595922031486724070915064470907220442413474010245911346831417827870608872552885857592791464432540022093247103288850722163768133564644651916280020417684811788208035788592585214590487762711790152543986115108289285329456848369216395338871066032264057509936669817348657714554038552448045574478954809971071900787663780403547247780848041147913415402070250495456855672300658886323209243076223611016337451077847763017741692316074800830081348592635861264330345488063386744473620673010256168092071983780483471246348882633335880277080267951736299717919938252176047494211489510261290460970981056201959030215916833389849901157110641100347704725984427047230424283909164927115351405510300920902616057167203624115897413225298399492702303077006509598486919582902120635857632116416485533962682011972194114323609567530495967274873157711115711165218376340913039382502983510624032626391979755134978525241660348300842313822343284378053588272546592779188214231488525046029793841564811568569645861919857921527655306425514543474689490358897762155729941552229412356757742687736281182310819843750670691414734905093776100646884743858165653116765787753095121406564353285508357062107857109948308621300571100202818213149704729609505773932859377743665989870621979275667299030261148336106498361951574108856496145311715376541609834196570399300245422454312784888003297418377755743163532564549991988983585623456308893412928497687474414375598826981986153620175127 3907757765977694374170183523478373449215672272440475598963428158681367174003684580571719036239731362248973007563039017747136212222050695441113559503185209587750756238108628139386958102578738356488207340367865370968562884219530391456214739610434827656350578010863109763627374287329518283252618200767674948140098441887714323909179030645012570218290601921156581860677320413294948690425205094721361269146667508051246361433341426559106486431223250378651685867122167096308124602040289305386271496123340172072304173321464324187131087004896661972800877050419364129662755095180125111753024042803713434415572612118588266007759775025035872029214736907667026235415658512774640345127199621703612306256306385224541595563717748013731037567516223409404676183616205870045829328795826198040872723761435331689807171654277114156674159097787581963772873210085675846869405626922360637562449796592607453985838306369379620887670441641739852784444353464420929492192733995776208604991887017222302127333286141719320303222338264947119021913347738544341916707791749890303831562772653458131562586453084845548926181630523159842183050171611363255607938110894607174143273361770658124996742086645685332739971531814109898195997554002616491231551625802259441418942456620174524257375844202694181098468826616949025740850688035688046080371460288198694635675654458778408436833036768847498689419587984638327861437765362552894128014179823398660346502384325762384006638295167605262990287418987330631968034792007589194545479053078039631961959418037637156576967857225241688742922666336114099211420610087201422767081656377099695754485839178837395839536167724080777613101199784064601887365588063916468391023795319383651173053233155009017288260068967907295960576903820370245303951217111818830175366556996678358661661728641371841547506688056700526569518631111125795889620316138751116746121504310933603524785934662889367880816645244763907644867947648021478198743192872129978361717074914682944643358311889222738060064275976813936481528101765535808300387882212165126706869738735858245508217583662915612457640388004882670253591550447010613133519941730895678317325619617368210440673453209336127506808230642601497462148506781777660996448493201229682365892114705589008269231523863726806549603052179312706040156798827770341618595235334313705383001915821088988628460137975948540656047468545470541459198982583805295307015978793428121027323292855415025073501586503042909415614000967994926308848866934046776921774984816923891429458975102078901628959221980382985302235493233223262695137789490747070195045842354666871455928342057758087751558553408932799234851416834061443603964333990572954509048377441888041666903174938516762654935459635158650551429296492708622583410422833372135851526007459627858342927362675081360059777532406269415104099456517218328854744931933472967512530743485935463806601087610959440001311539695172800225789061420121030800640644870284507840188096429822153267910171801614104179730484592127571492568244319958632400961642777057888961774420588980387553255883637989344805079387416551232313459533892031015210930823660408090600551158787637528365560272622875195912328044194907692435411206180206796273606704380136180712075409267123139857890114256882733246190883872966066526858897189306450867114952165624358041525117475334906177619276424332046213842605227313175493150585244872451762010704400835611511452805773472264577502526266903693152791202179534482322343817753439076544375924931107751271082033554537787709178473949169721625740682728223535247208925769355141723400522334036504524880183317077424548747688566036486983993909537504351556240273631141362894400342924958228432630686361400818774023894579438954355162368207076110424872456528021231546320040642595762218435964264429130835342542600404368302707319933982660815000408720274670715547729563851790554936132319266307321398999954593252826989550081178538324079499952585353178751194313121711966803620783573901940118249312279941359643691862862967298016320554598427806910828879728125734285193714760577128161322806651 6322884885153266964021884722103523723948762818596185185498458654105458750028393596564061147089543999418137086364837035514740297162718729507727930404659071309079926560914437268730226620816102274978297650406340440024638527179365701494666650331434117975644150797910498021291495416908085854037597103668120405211976345495628358090854727989112840270120893830058150197296038988667516820942179937683007902354963848058326042096681029109401952918856428702702092413051181632307703108713827984115785609997628778041811830781998256065169869115967596298992300653962861380391505120929103951269752734155474680613080809666526178572758068762471374500339388085517713091244951942916227850368610433113558538818331601728186286160179479087000916436892325072908806532536941843921461331615157347692053214139401948385763963417715728658878308387646800133559242485984406043291392993709615834255513184856695192481675551751311493747405937897240642946221795450502217246175403346049706831695460206546210037184825516374368631632286528099920591687263195470573122241805885021709499055078113705213533960853239920848285574411027604038446119064606153855120381068193228436073487628849803436988380289014262509620841733202377170219545717156575438745886531952488849286778909977099557561255721757262070857732018119546958368021045783474734258932007537679150393394002889412424547672308988269010331507345363142701182480108926840824928839655581440666065563385252226874420903256417207621767817387328664570127667287841502379269128497832337562935796221800487823643510964973172694015271943199941974866438762693571852111061246509702445944620033354547009153428148050869120020960266997509857787939176978997855776485031584660535850574509424581072222673090407554770009218654732459540913663995554121139736897042378405101047097785316809146369766682432263006845241140857668261372262651475352084375568027192683129754318590450266674742057379007321333365513412938076934210663347501984937109493173751919808273774559437495849654899259246869690836139303775322588875929206180439857359183626094690981558063016607369669319228599470953439708591788556425122025139111155903462460985774359502229825038086827206961533721224092033247937144871813437047312202453466014608507933873979522433929919030512010570758815385216404746149897835047891197403643974538367260232438323277345620785410840924444114689085470974430028965150956779758065541139487144029692814132493388994784933711046787414217164591652325074164288663022261176118095847285767910870001782753731182448111868977574832131560483535714066142315200316761504691765322542136229184606837887654931484523803919586528721266338140904976508074871554432986428519294288788719459494773783811069648512528251099591190573522543595997473305574190966936780503442287480045543154715570710869952644992122894032126894252000503333437144030261390321336728926082357001496070658597547629257349969254249211352673834635899075840771712545657948288243735344210670194415823587203684354675187340264428230378891453563034856011977980228135736724792162281296462354085964986581980666343717762039295700204007512704025467098915732391871084022405136520161701440549703143147648627762114845944611458700391696306534897165351117236914034439483039973247740015413993374346538588598950493574089321473215615794230303571134658962427733532502109801735173837557344613335307530390182002749072164455353882646562032952027996986768455484236771616849876471223648758477052692193438054982971815417457415307434091261895114659946517542844156999190830069926582996550566819625262514041901734502588736565525029570909977158642236117317334427956344905521564843929866099714963121500260656556072866510457844987444104088555055206205399282705025853782941981204200973103412765089711973157408383515313557370828782416343699604708261478251015941234553761017818621869979400325053503496711168298602122189888286597066298984854401163096048443130112432935996097897068555292804147318282366103866206028214725006252609698319115386855395427517290005304140221884115804241808225813208699569313587559114314942981778 10230642651130961338192068245581897173164435091036660784461886812786825924032078177135780183329275361667110093927876053261876509384769424948841489907844280896830682799023065408117184723394840631466504990774205810993201411398896092950881389941868945631994728808773607784918869704237604137290215304435795353352074787383342682000033758634125410488411495751214732057973359401962465511367385032404369171501631356109572403530022455668508439350079679081353778280173348728615827710754117289502057106120968950114116004103462580252300956120864258271793177704382225510054260216109229063022776776959188115028653421785114444580517843787507246529554124993184739326660610455690868195495810054817170845074637986952727881723897227100731954004408548482313482716153147713967290660410983545732925937900837280075571135071992842815552467485434382097332115696070081890160798620631976471817962981449302646467513858120691114635076379538980495730666148914923146738368137341825915436687347223768512164518111658093688934854624793047039613600610934014915038949597634912013330617850767163345096547306324766397211756041550763880629169236217517110728319179087835610216760990620461561985122375659947842360813265016487068415543271159191929977438157754748290705721366597274081818631565959956251956200844736495984108871733819162780339303467825877845029069657348190832984505345757116509020926933347781029043917874289393719056853835404839326412065769577989258427541551584812884758104806315995202095702079849091573814607550910377194897755639838124980220478822198414382758194609536056074077859372780773274878142902886802141699105872533384404992964315774949897634061466781574459675304765042914324167508826904044187023627742579590089510933159375462065969795558552829786217615212665939969912263599375083459708759513958180987917273370488963533414759771968794057261882967614103201121689531503616733279104525113156042622874024252085241010381360586098412409406540374114915471210248666602752917132871326718587714963535223683627317667405540858397176317088392604984066053364830549227066280600270285281776868987475836109962183339003435735158659052886799140778311393976870440265711540036543089040529454734634745399293378595214708308650946667244290873825988685111442199150554375737377308418437395717452190054633875661539022239209872680965615440239098434609413870978900392655345132939519900570424349939363563360848155465937457813841455786244409810007212633290457126580205653293069090597511889195222895017622270584834761431241728833261349740828199555215116862719028947289405010338106252251761960368384490896056062766229712689572275362472995461520501189557739037951678835888423559383028342666230607501161676958749586411167463710734749841124951840088706095888984613800308916354968294939673401497642933385951312704769655300301541998351457020551765998775193323794304241456825842936959877259685158588697351280793944384152899623697319196871572353190528232796083923440640492347683733759005298458854917824856555801871459697882993488412939623005193625686566582870276849907341848624571325471423105178590528013663541404735040678029739392799961684573563924157690067000822326018343560955806309753637046869906571903102808503869731253417626109848750163113105630129670876107592729472471916560100948218662522066661345255736759017003952851007837015979354450261889390827177912757703357495899657409327805644657266433787639508439574228956501349119376143374916801549679232226675760398800725254494001791232365199013166196693501055330553335473139999791552323679278790354872471439811256876225989258899561534095790160475719660666065022993992831889515474381434217655955236752641623550956415791468686277618130465489373829230099978721659381016151149057314625845559940786321258293198050979277531993335093211547179042147308665846553723261168536421832819030590254071040601233060562958853538254509154593918465298939447653990085598524308650757015496050482421734043998460439994332907486989602116665124501921978260475030547258290484588021624694820311922715070687953938942984763028348136242476265788429 16553527536284228302213952967685420897113197909632845969960345466892284674060471773699841330418819361085247180292713088776616806547488154456569420312503352205910609359937502676847411344210942906444802641180546251017839938578261794445548040273303063607638879606684105806210365121145689991327812408103915758564051132878971040090888486623238250758532389581272882255269398390629982332309564970087377073856595204167898445626703484777910392268936107784055870693224530360923530819467945273617842716118597728155927834885460836317470825236831854570785478358345086890445765337038333014292529511114662795641734231451640623153275912549978621029893513078702452417905562398607096045864420487930729383892969588680914167884076706187732870441300873555222289248690089557888751992026140893424979152040239228461335098489708571474430775873081182230891358182054487933452191614341592306073476166305997838949189409872002608382482317436221138676887944365425363984543540687875622268382807430314722201702937174468057566486911321146960205287874129485488161191403519933722829672928880868558630508159564687245497330452578367919075288300823670965848700247281064046290248619470264998973502664674210351981654998218864238635088988315767368723324689707237139992500276574373639379887287717218322813932862856042942476892779602637514598235475363556995422463660237603257532177654745385519352434278710923730226397983216234543985693490986279992477629154830216132848444808002020506525922193644659772223369367690593953083736048742714757833551861638612803863989787171587076773466552735998048944298135474345126989204149396504587643725905887931414146392463825819017655021733779084317463243942021912179943993858488704722874202252004171161733606249783016835979014213285289327131279208220061109649160641753488560755857299274990134287040052921226540260000912826462318634145619089455285497257558696299863033423115563422717364931403259406574375894773524175346620069887876099852580703422418522561190907430764214437369862794470553318153806709316180986052246294573044841425236990925240208624343616877654951096097586946789549670775127559860857183798164042702603239297168336372670090749626863750050574250678826667993336438250408651755620853400133258899381759862664633876129069584887747948067233822612122198339952468923552736425883184411048225847878562375780230199281819824836770034218410494330599389500896143321426389294953081487506655588279633404594940923680077871343744797305618143254886174911456399013113469556352745631433024482564443797852697177130047248423202564661355547325538423013756453725690926627125240669604117367621056799166392581990241767527698644014459753707442856545811547636955019326960656450742560656059679991961834341031698474383684703569194558804767245696858410582419718944652358504096821265349761778194333668892603457523885203142805454714115640970382908199938455947918282706217954701250048193595505573458333218272712344065736186181084327658784851162542099557346208982813530105165120984032250351151446028344424917603233329362411358745151573312261427813611153306137766822940629823713867548917439066145128655125191832768595969060677851768441372029161491209583568424599581658328606963599409343401035082370654540144288233203086353370145084869481939268061070867053675037540135737682455575559307893675966380584540339125781089624099446735440513220288093539498648729573783159527303828466739667505426342684440738120736226019846140450308156284918869198453783697069911459206539799290275061311353447572873397492472330829861478906675829357174497733953853158610728577995465086563666700137634361896783382357421949176795037039225364083755670199874141884207512488657979144122605574569577928884436305378004364406869934091038518826818663353551410970266355459362792845550705921993963522741752016927324804739202403090182850637652460233471365654736557274127152140376699042880515531597924302055153181646967438763189951492148379490289336802607758276699011353195630331390130754531676579590417402653718001878026928835042196038519312496179752151684332341935695356791208770207 26784170187415189640406021213267318070277633000669506754422232279679110598092549950835621513748094722752357274220589142038493315932257579405410910220347633102741292158960568084964596067605783537911307631954752062011041349977157887396429430215172009239633608415457713591129234825383294128618027712539711111916125920262313722090922245257363661246943885332487614313242757792592447843676950002491746245358226560277470849156725940446418831619015786865409648973397879089539358530222062563119899822239566678270043838988923416569771781357696112842578656062727312400500025553147562077315306288073850910670387653236755067733793756337485867559447638071887191744566172854297964241360230542747900228967607575633642049607973933288464824445709422037535771964843237271856042652437124439157905089941076508536906233561701414289983243358515564328223473878124569823612990234973568777891439147755300485416703267992693723017558696975201634407554093280348510722911678029701537705070154654083234366221048832561746501341536114193999818888485063500403200141001154845736160290779648031903727055465889453642709086494129131799704457537041188076577019426368899656507009610090726560958625040334158194342468263235351307050632259474959298700762847461985430698221643171647721198518853677174574770133707592538926585764513421800294937538943189434840451533317585794090516683000502502028373361212058704759270315857505628263042547326391119318889694924408205391275986359586833391284026999960654974319071447539685526898343599653091952731307501476737784084468609370001459531661162272054123022157508255118401867347052283306729342831778421315819139356779600768915289083200560658777138548707064826504111502685392748909897829994583761251244539409158478901948809771838119113348894420886001079561424241128572020464616813233171122204313423410190073674760684795256375896028586703558486618947090199916596312527640676578759987805427511491815386276134110273759029476428250214768051913671085125314108040302090933025084826329694236945471474114857039383228563382965649825491290355755789435690624217147940232872966574422625659632958466563296592342457216929501744017608562313243110356461166900293139614780133561302738735731629003866463929504346800503190255585851349745318328220139263485325375652260007839650530007102799214275448122394283729191463318801474214839613152798725229425379351350014231169813850835506884787237450419018945320497044065877814404948136313368328470325002958911212345483686800651621908131091826937580392864266211397705147593525376685262365285921593608644952335876529266008215686059311118021296732370347080310629074528865577451762268717256383052411432543331280105194575979621249934461818127701310242470847455672569090872823426223773409665083543418567554613213378877359392346150001437482772578054531433494635210890954914544436969141580648037909945211839734042875415825177967864806652052530842137979658473082030537469583916418926714413880411582225491654889783291105214281272385022989977539834121810849329021832837857226238522988097925328021850162168769662235724631609189928119220351727531090322174106823158394517991794453169532984835541835442194355179834770539374734353218705198513535502512151904904813624072166254136983366199459000274755745589531997533542783613775985758798259749116920815044652692970333435548176141760444074361336126267691133045796896994548386983110965171961094900527307013865916913397239469855602163221057251857835517145544958852584422324405460997772164489288227508046948628203950827945470829653031230355108147529370205393664415486954567254364648097762490298110081557449447380415942008684552513606798301411625436626783507758468904449447830400223705035067302713666405356726023787886085240095833452664223294337732228559553510342070377544041015205510701783899325593171358462463571626604683456683050487542406255969617837086005678631208197474433996896863749709143267245491747413946966988198861912023380801068198271031918840185232448055255256453654840065447949912008486466048553529862507961234383184133691094669095370283831599267474558636 43337697723699417942619974180952738967390830910302352724382577746571395272153021724535462844166914083837604454513302230815110122479745733861980330532850985308651901518898070761812007411816726444356110273135298313028881288555419681841977470488475072847272488022141819397339599946528984119945840120643626870480177053141284762181810731880601912005476274913760496568512156183222430175986514972579123319214821764445369294783429425224329223887951894649465519666622409450462889349690007836737742538358164406425971673874384252887242606594527967413364134421072399290945790890185895091607835799188513706312121884688395690887069668887464488589341151150589644162471735252905060287224651030678629612860577164314556217492050639476197694887010295592758061213533326829744794644463265332582884241981315736998241332051409985764414019231596746559114832060179057757065181849315161083964915314061298324365892677864696331400041014411422773084442037645773874707455218717577159973452962084397956567923986007029804067828447435340960024176359192985891361332404674779458989963708528900462357563625454140888206416946707499718779745837864859042425719673649963702797258229560991559932127705008368546324123261454215545685721247790726667424087537169222570690721919746021360578406141394392897584066570448581869062657293024437809535774418552991835873996977823397348048860655247887547725795490769628489496713840721862807028240817377399311367324079238421524124431167588853897809949193605314746542440815230279479982079648395806710564859363115350587948458396541588536305127715008052171966455643729463528856551201679811316986557684309247233285749243426587932944104934339743094601792649086738684055496543881453632772032246587932412978145658941495737927823985123408440480173629106062189210584882882060581220474112508161256491353476331416613934761597621718694530174205793013772116204648896216459345950756240001477352736830770898389762170907634449105649546316126314620632617093503647875298947732855147462454689124164790263625280824173220369280809677538694666916527346681029644314967834025595183969064161369415209303733594123157449526255380972204347256905730649615780447210793764043190189030812387970732072169879412518219550357746933762089637345714014379194457289724151233273442886082619961848869959571722767011874005578694777417311197363849995069812434618550066195413569760508561769203351731650206213626745372100432827152632345511218999889059993446199814069800264529355600369861712108020921244561383290326024297290693962148945446222553815309613709124158270000499661414952279764669411750237745146537401974464447931685873695258159442004036244955027066871186250774136651006123616576269261422474578443870898530527447634403431904521900607458113234278102223334800310071789459779111290802359941579593843404293211688968879783558372068322172284386102752025586182222642242813871773096250571024606753780890331575164046540363755742296260484662900594964739241010342817431882848451423264085915128155098523866372162000775050177262774829471852350509284073173423474430197475846877937746956751059850175441398639239613172968287049643183627221765502045513393603883566384341325980122943158952800363527120499101921495305939895994726706398425216569285812370419840615071471265594613650667451023298933997431572496374352546368936714020088515267541533698460782861708204353333890436493197116556894124699264923367266974519292259597837977590591828183067197702165991802064414157306368119394316920204311963779563288819400396201077348320417801659514510137030937504703867939347517574097683145249829734661429190435744443454232829737837891185479589552832162385167295636500925391965981393107426974522829279604645231598102710734730388194756019331134352279482886647889143198825908969704863223094746937199474224525651342520496163201665974716787534094335510721013771910706175111213157819007907240354949528494788051764296448892459186177136918480347241402312717603675956547730930193380862779445386010985331419655865352565726488344075482364904703999753695680313443246353427712219526956058683328843 70121867911114607583025995394220057037668463910971859478804810026250505870245571675371084357915008806589961728733891372853603438412003313267391240753198618411393193677858638846776603479422509982267417905090050375039922638532577569238406900703647082086906096437599532988468834771912278248563867833183337982396302973403598484272732977137965573252420160246248110881754913975814878019663464975070869564573048324722840143940155365670748055506967681514875168640020288540002247879912070399857642360597731084696015512863307669457014387952224080255942790483799711691445816443333457168923142087262364616982509537925150758620863425224950356148788789222476835907037908107203024528584881573426529841828184739948198267100024572764662519332719717630293833178376564101600837296900389771740789331922392245535147565613111400054397262590112310887338305938303627580678172084288729861856354461816598809782595945857390054417599711386624407491996130926122385430366896747278697678523116738481190934145034839591550569169983549534959843064844256486294561473405829625195150254488176932366084619091343594530915503440836631518484203374906047119002739100018863359304267839651718120890752745342526740666591524689566852736353507265685966124850384631208001388943562917669081776924995071567472354200278041120795648421806446238104473313361742426676325530295409191438565543655750389576099156702828333248767029698227491070070788143768518630257019003646626915400417527175687289093976193565969720861512262769965006880423248048898663296166864592088372032927005911589995836788877280106294988613151984581930723898253963118046329389462730563052425106023027356848233188134900401871740341356151565188166999229274202542669862241171693664222685068099974639876633756961527553829068049992063268772009124010632601685090925741332378695666899741606687609522282416975070426202792496572258735151739096133055658478396916580237340542258282390205148447041744722864679022744376529388684530764588773189406988034946080487539515453859027209096754939030259752509373060504344492407817702436819080005592051173535416842030735792040868936692060686454041868712597901706091274514292962858890803671960664336329803810945949273470807901508416384683479862093734265279892931565364124512785509863414718598818538342627801499399966674521981287322127972978506608774516165324209909425587417275295620792921110522792939017202567157091000864195791119378147649676411389033404837196306814528284394803223440567945853548512759642829375653210227906417161556905359854093039747930500571978995045751878645451997291481545772885097809548863167834134344811528242314948224123736893766304962211410119282618794105416756200699596197519195884292706145181141001374903306972522777345326831231522899361645641902354923285168337138503636952361379062366421458824645183604090674513286612759141425966750789935531394062376285689287598274218435831258806311732469554822519622394293211880176903589615008845150823235834472321666139556637545358300151145076063700493972850104072010100632055710375338607209401195273636598967138082602569356146679179070527168929729561787279791445444161175421674935035030348935439325760739521160750662317893306019068725634034604433647210844709618798872652562199935485271370694596360661003263128156434281227009057732257180689417189397199061907047455636691409301977772822118987975895486379687333487745503540005089871226018267794281533158176511235217060447430346288254954023827319209959116158952541718722381202084128268851516327447344829281299148363272489167541367386045652233238144741181989584637712504194382759191680733854525011682277118253833194164142066438960686578921073127708899724450297556874804923052984639712534311769116091456411982642104571230185732147109942226875427385462480046933600638787952404984926309550668113667521664129546343392217551018561208556178166675792948299163497639115437829383525391651801473439716137950933591083885468546103314336098404744154818762849033566095227500641267438986259721313302477734974810124035894767211960988078864447134341022523082503358555326157887479 113459565634814025525645969575172796005059294821274212203187387772821901142398593399906547202081922890427566183247193603668713560891749047129371571286049603720045095196756709608588610891239236426623528178225348688068803927087997251080384371192122154934178584459741352385808434718441262368509707953826964852876480026544883246454543709018567485257896435160008607450267070159037308195649979947649992883787870089168209438723584790895077279394919576164340688306642697990465137229602078236595384898955895491121987186737691922344256994546752047669306924904872110982391607333519352260530977886450878323294631422613546449507933094112414844738129940373066480069509643360108084815809532604105159454688761904262754484592075212240860214219730013223051894391909890931345631941363655104323673573903707982533388897664521385818811281821709057446453137998482685337743353933603890945821269775877897134148488623722086385817640725798047180576438168571896260137822115464855857651976078822879147502069020846621354636998430984875919867241203449472185922805810504404654140218196705832828442182716797735419121920387544131237263949212770906161428458773668827062101526069212709680822880450350895286990714786143782398422074755056412633548937921800430572079665482663690442355331136465960369938266848489702664711079099470675914009087780295418512199527273232588786614404310998277123824952193597961738263743538949353877099028961145917941624343082885048439524848694764541186903925387171284467403953078000244486862502896444705373861026227707438959981385402453178532141916592288158466955068795714045459580449455642929363315947147039810285710855266453944781177293069240144966342134005238303872222495773155656175441894487759626077200830727041470377804457742084935994309241679098125457982594006892693182905565038249493635187020376073023301544283880038693764956376998289586030851356387992349515004429153156581714693279089053288594910617949379171970328569060502844009317147858092421064705935767801227949994204578023817472722035763203480121790182738043039159324345049117848724320559885199130600811094897161456078240425654809611491394967978873910438531420023612474671250882754428379519992841758337244202880071387828902903030219840668027369530277279378503707242799587565951872261424425247763348269926246244748299196133551673284026085713529174204979238022035825361816206490871031354708220554298807297214490941163219810974802308756900252404726256300260728098464603487969923546223410224867663750620214593518232441458847599322003038485970484315881592704169910148645951658706433825537554509559786608314371536319275976174000821919381896335770341207166437186153805044879553407206823212773788457306767284589052039531902350941375954681867227438689636133639747865237155233356957796917614927754721320641960264863117856872572970458071658681081313710352853541961117576285018528503159371370469006855865560092622801129986566162758048954176437388252515603809890064246177289753548988008060809444215279300174587566866134850879122187363406885182227689116493474368697111029164613929480507103103430238920702610328368801400452759732493804359048896700537075862329043209327123862486730785261052258819432252754533706355142516784605613525579050987416504771083741114436975732474528722770084948678032356666254612261913563749745430843761475725206676843511471282901849684099839713577769980942620096899214570490941635061256052450436109073194651039258529355452656189819121274373273465320661113039301406396092048414805146847741030358647468781074148682051504416983156937106084088699563682320857754024117420620871169598968465915106856091724379643731619271123071746216709628634291690431690664301779445882264244357765909871826826186800177398123902364538011629996590116018626211371449751796823733534889604459150835202010634163684865795521060179751645354071929569950077381968059512321316647022678184333053886439853237736165030410119768220803948893344716648816008420111366493779226946958006946027278424317679377178655043461463154199518259671915960741774544760577587375950794722885511384841216322 183581433545928633108671964969392853042727758732246071681992197799072407012644165075277631559996931697017527911981084976522316999303752360396762812039248222131438288874615348455365214370661746408890946083315399063108726565620574820318791271895769237021084680897340885374277269490353540617073575787010302835272782999948481730727276686156533058510316595406256718332021984134852186215313444922720862448360918413891049582663740156565825334901887257679215856946662986530467385109514148636453027259553626575818002699600999591801271382498976127925249715388671822673837423776852809429454119973713242940277140960538697208128796519337365200886918729595543315976547551467311109344394414177531689296516946644210952751692099785005522733552449730853345727570286455032946469238264044876064462905826100228068536463277632785873208544411821368333791443936786312918421526017892620807677624237694495943931084569579476440235240437184671588068434299498018645568189012212134555330499195561360338436214055686212905206168414534410879710306047705958480484279216334029849290472684882765194526801808141329950037423828380762755748152587676953280431197873687690421405793908864427801713633195693422027657306310833349251158428262322098599673788306431638573468609045581359524132256131537527842292467126530823460359500905916914018482401142037845188525057568641780225179947966748666699924108896426294987030773237176844947169817104914436571881362086531675354925266221940228475997901580737254188265465340770209493742926144493604037157193092299527332014312408364768527978705469568264761943681947698627390304347709606047409645336609770373338135961289481301629410481204140546838082475361389869060389495002429858718111756728931319741423515795141445017681091499046463548138309729090188726754603130903325784590655963990826013882687275814629989153806162455668835382579790786158289586508127088482570662907550073161952033821347335678800059064991123894835007591804879373398001678622681194254112923802747308437533720031882844681818790702233739874299555798547383651732162751554667804326151936372666017653125632953496947177117715496065533263680576775616529805934316575333562054554715092715849796652704286517673687972896245287586510081934402292649423208844742628220028309450980670471079962767875564847669892920766729586518261524651790634860229694498414888663609453100657436999411981554147647237756865964388215355136954339189122451985168289285809563452607075256382859406711410491492076958737627306579995867803746138858620404504681857131525718414816453571699215662027291403655997915371310439607369335471482205670664087504416315770143505633229536646169377847305436423838984970163407522808971307653191059990734233180533277254248348477459212554269921159033001393507139510156642126134056118564707082699704326686321942502056177061132584945293840455136319604331896648970347394814192446969644687442687124366404355270684809085785152342166056614291842130612655040887482011762075215127564698354802515430445250651267360107700983194197464038940892603027723702875563970747628131752012083076459250109417991229779258098363187732551177937965534470571635572106211264482535087863383647481447578945564838500978388568310788789727629315232324451703549616440256355111809033336393477791850926519229905041414398511792951330753146944492750808931361898086145489244105020837659995326093265103468688123636904304441716959902855537585608612620308411711486688875643707610213646440484332389624273202831761682608480220317266321474295085859639946617144346637849592871803028809170344228829881553266958570258218500179812551903453493477597383974345557573807873685710083758325137782756343191414881988221176584368935248884070300221640942917643212160040228473594723743777106532342894053596833929798730424372322842009444077144752678747831206529925067403571969196372633138126128244057761007811484814286138116013716579278091654711175881168361053359304689417439448030984914413164266185256628260513053234446668545863303939098491957521196437964323554154439127921729853409207711928398473877226244066710999103801 297040999180742658634317934544565649047787053553520283885179585571894308155042758475184178762078854587445094095228278580191030560195501407526134383325297825851483384071372058063953825261900982835514474261540747751177530492708572071399175643087891391955263265357082237760085704208794802985583283740837267688149263026493364977181820395175100543768213030566265325782289054293889494410963424870370855332148788503059259021387324947460902614296806833843556545253305684520932522339116226873048412158509522066939989886338691514145528377045728175594556640293543933656229031110372161689985097860164121263571772383152243657636729613449780045625048669968609796046057194827419194160203946781636848751205708548473707236284174997246382947772179744076397621962196345964292101179627699980388136479729808210601925360942154171692019826233530425780244581935268998256164879951496511753498894013572393078079573193301562826052881162982718768644872468069914905706011127676990412982475274384239485938283076532834259843166845519286799577547251155430666407085026838434503430690881588598022968984524939065369159344215924893993012101800447859441859656647356517483507319978077137482536513646044317314648021096977131649580503017378511233222726228232069145548274528245049966487587268003488212230733975020526125070580005387589932491488922333263700724584841874369011794352277746943823749061090024256725294516776126198824268846066060354513505705169416723794450114916704769662901826967908538655669418418770453980605429040938309411018219320006966291995697810817947060120622061856423228898750743412672849884797165248976772961283756810183623846816555935246410587774273380691804424609366628172932611990775585514893553651216690945818624346522182915395485549241131399542447551408188314184737197137796018967496221002240319649069707651887653290698090042494362600338956789075744320437864515080832085667336703229743666727100436388967394969682940503066805336160865382217407318826480773615318818859570548536387527924609906662154540826465437219996089738536590422811056507800672516528646711821571796618464220530114953025417543370305677024658648555649526968337354340187808233305437469521095369789494462623761876568044284074190489540301775070320018953486124121131927271109038546622343341387193123328195939819167011477885714395076325074660945943223672619867901631488926019253205902852585502355458311164771685429846078117559000097254293925189538214289708907335984481324010199380415038300368962494970330616082397264371300079252104003860170011688899132335164403385572175937355314704349196847994116929122079796577206983363480590316592062887529565306987376544284491590228883864523570614346021745096110497827275323285220065179605189724432141079781708610795166641141372376665389999083930973733492461804020346286951185060358928750031590656603974921768846672457873857766546632413342695606341015156449542989926496978071814795651947910391120233051680094646216464930951728189051828764115572759164246730709745425238834226242551862316384827445826074830716840196349932667858657296365941563583562353539656911932389586467164588185310910431769893519468336109182073593525744414987246134212232839997823657933231143102017143932244413920845850030754537032945027438852923470312125952320573696604178583073771064766405213244316896689923594570407087104762989000715387922687344095165806842873449630743733803519012207901537916793638059048729381606362525947404999160266403465561758705663089593863944800984014876312365681126621142826889998594085925420786531644376220011966107450312918581116949279428012242617600433423073052461943512490830437281953451605304981206830071354492384977483105313678885478363814817513128428066131512769743830012337438352375959261755407103122458912679808205379550527248105857731613903227979954689381994891395720588463751720841726705067696078321439729067323806130933160794198049633164531507948912046198771173127525493366332792747633730421584377551750407487460011241392695824287621618475670612564657901118523072414111043882471627953968289515774424671949129578095840320123 480622432726671291742989899513958502090514812285766355567171783370966715167686923550461810322075786284462622007209363556713347559499253767922897195364546047982921672945987406519319039632562729244405420344856146814286257058329146891717966914983660628976347946254423123134362973699148343602656859527847570523422046026441846707909097081331633602278529625972522044114311038428741680626276869793091717780509706916950308604051065104026727949198694091522772402199968671051399907448630375509501439418063148642757992585939691105946799759544704303519806355682215756330066454887224971119439217833877364203848913343690940865765526132787145246511967399564153112022604746294730303504598360959168538047722655192684659987976274782251905681324629474929743349532482800997238570417891744856452599385555908438670461824219786957565228370645351794114036025872055311174586405969389132561176518251266889022010657762881039266288121600167390356713306767567933551274200139889124968312974469945599824374497132219047165049335260053697679287853298861389146891364243172464352721163566471363217495786333080395319196768044305656748760254388124812722290854521044207904913113886941565284250146841737739342305327407810480900738931279700609832896514534663707719016883573826409490619843399541016054523201101551349585430080911304503950973890064371108889249642410516149236974300244495610523673169986450551712325290013303043771438663170974791085387067255948399149375381138644998138899728548645792843934883759540663474348355185431913448175412412306493624010010219182715588099327531424687990842432691111300240189144874855024182606620366580556961982777845416548039998255477521238642507084728018041993001485778015373611665407945622265560047862317324360413166640740177863090585861137278502911491800268699344752086876966231145662952394927702283279851896204950031435721536579861902610024372642169314656330244253302905618760921783724646195028747931626961640343752670261590805320505103454809572931783373295844825061644641789506836359617167670959870389294335137806462788670552227184332972863757944462636117346163068449972594661085801742557922329132425143498143288656763141795359992184613811219586147166910279550256017180319478076050383709472612668376694968863760147299418489527292814421349960998893043609712087778207472232656600976865295806172918171034756565240942026676690205314834139650002696068030736073645201215071898189219706279093478824023853161514411240864183416910790906530377327700122276910611950201010510158699656608685717301537407313948788736102601234203228758970702264568158433724298457551278782877647450985006632362206393162794843633545922131797026652722849493734021868830716403763688887266057518400598456859438072909600292335978531954199642534879516175546641210065029852057168886720050613637507002860984927092723241549268762223982992062205754415516979808156888053310659843892230114292901333342499604737733062733286289665971936776829119971839210200813903979243137457519049246140190675890101586350252845510582291484766967433744563899225496638606285428117953646660021603649074903162168844565527775917862088369735427990039971681288284858008279502850629781693680418943388496434209531670327932721972043236078174482458086649385283793964732503648519430112424623123408488115185463278198164575070043634416345379338449002849134489959492943525004090491900107976918318867370707823453924861440772331223667661349690018074012636280642867876617112002243038052713867066776562666623356532682947448095437912749638540703069767424381237248023040775277794541748462670216237998270461117780245974976505955421109874804782839527259478990691290588396492275141320674520195667106654948183752762012498366353153712661473224497478580849553985499184209654801806733405039309349257672478180573623347305124707368129826097925645655867323690038099338205822206565497490075135290945219298910211766212442623162660087927367132226486830182783772240778618644834748643737007035747973064475839364370150925557574162570085854339082846626568550171804201481363176001444172898549175373644806839423924 777663431907413950377307834058524151138301865839286639452351368942861023322729682025645989084154640871907716102437642136904378119694755175449031578689843873834405057017359464583272864894463712079919894606396894565463787551037718963117142558071552020931611211611505360894448677907943146588240143268684838211571309052935211685090917476506734146046742656538787369896600092722631175037240294663462573112658495420009567625438390051487630563495500925366328947453274355572332429787746602382549851576572670709697982472278382620092328136590432479114362995975759689986295485997597132809424315694041485467420685726843184523402255746236925292137016069532762908068661941122149497664802307740805386798928363741158367224260449779498288629096809219006140971494679146961530671597519444836840735865285716649272387185161941129257248196878882219894280607807324309430751285920885644314675412264839282100090230956182602092341002763150109125358179235637848456980211267566115381295449744329839310312780208751881424892502105572984478865400550016819813298449270010898856151854448059961240464770858019460688356112260230550741772356188572672164150511168400725388420433865018702766786660487782056656953348504787612550319434297079121066119240762895776864565158102071459457107430667544504266753935076571875710500660916692093883465378986704372589974227252390518248768652522242554347422231076474808437619806789429242595707509237035145598892772425365122943825496055349767801801555516554331499604302178311117454953784226370222859193631732313459916005708030000662648219949593281111219741183434523973090073942040104000955567904123390740585829594401351794450586029750901930446931694094646214925613476553600888505219059162313211378672208839507275808652189981309262633033412545466817096228997406495363719583097968471465312022102579589936570549986247444394036060493368937646930462237157250146741997580956532649285488022220113613589998430872130028445679913535643808212639331584228424891750642943844381212589569251696168990900443633108179866479032871728229273845178352899700861619575579516259254581566693183402998012204456107419582580977688074670466480642996950950028665429654134906589375641629534041426824061464393668565590685484542932687330181092984892074570527528073915157762737154122221239549531254789685357947051677301939956752116141843654624466872430952695943411217686725152358154379195507759075047293189457189316960573018668362238142870421747225345507427110171321568677696662617247241228032598274881458778908712689577471549096213081123900505986806379166114285406613765006427841227579631075360084630814465596948954269280692360150620922466416288616881606714017304636214852461499874186714541380803620663636464627797341741372117687142749366283676251892840936640293996003585549630690740396900588692063219913677124313898153243683992829664520079612182063612221499583659651675000341773104219398311414314400389680973124406522717652031423045584902790938389865732743358710216683295976849936101128935812592804707826967118930593042264461404095575429306464942724483895210243583957188731815094558431032692364103172998801505321509508307790470358451534023917837875915905913258941212154367440674772345076654216457156924024513212623682330311232817655973960645382432998319727587071188956528044603377819386940324339939949745536107612123490674880866212348185657706950850367949611104511342466132762978689124861726710079071624436538583685642028143020577564001743715803460930721363650638232845048628574716580739639637134788995188210912881624243052741385244854667043787165517426282703735380679398049558417364622365635220121480711084295672497418467846767526298157625509345992133311998570275140926432484666482405303236834916933225513247254591312777260719413213244688899784920584038305237250533104662057511820989321366244331075410879826043273518284886937219142459097076152459704409815845607154670608999973565903399614355676150105033526252375256333021288757443235433075717232060194438547176049833182650512240201369698982661215686673109317144290959947323221124503222902679744047 1258285864634085242120297733572482653228816678125052995019523152313827738490416605576107799406230427156370338109647005693617725679194008943371928774054389921817326729963346871102591904527026441324325314951253041379750044609366865854835109473055212649907959157865928484028811651607091490190897002796532408734993355079377058393000014557838367748325272282511309414010911131151372855663517164456554290893168202336959876229489455155514358512694195016889101349653243026623732337236376977892051290994635819352455975058218073726039127896135136782634169351657975446316361940884822103928863533527918849671269599070534125389167781879024070538648983469096916020091266687416879801169400668699973924846651018933843027212236724561750194310421438693935884321027161947958769242015411189693293335250841625087942849009381728086822476567524234014008316633679379620605337691890274776875851930516106171122100888719063641358629124363317499482071486003205782008254411407455240349608424214275439134687277340970928589941837365626682158153253848878208960189813513183363208873018014531324457960557191099856007552880304536207490532610576697484886441365689444933293333547751960268051036807329519795999258675912598093451058365576779730899015755297559484583582041675897868947727274067085520321277136178123225295930741827996597834439269051075481479223869662906667485742952766738164871095401062925360149945096802732286367146172408009936684279839681313522093200877193994765940701284065200124343539185937851780929302139411802136307369044144619953540015718249183378236319277124705799210583616125635273330263086914959025138174524489971297547812372246768342490584285228423169089438778822664256918614962331616262116884467107935476938720071156831636221818830721487125723619273682745320007720797675194708471669974934702610974974497507292219850401882452394425471782029948799549540486609799419461398327825209835554904248944003838259785027178803756990086023666205905399017959836687683234464682426317140226037651213893485675827260060800779139736868327206866035736633848905126885194592439337460721890698912856251852970606865541909162140503306820499813964623931653714091824025421838748717808961788796444320977080078644713146641641069194015545355706876061848652221869946017601207972184087115121114283159243342567892830179708278278805252558289060014689381032113372979372633616532520864802360850447226243832720248508261355378536666852112147186261996031936158466209690844020962228099055024362739524151839982799285391617478565321375294773086503527029912636608588040582394873256108878333164861565526037182354142962278265450603581316475673855154994254468388548085643534329563511038658083683177903637875601807438322021262093324065870251341664453665674703565926211131409016483281504061033437606799577460447514226199066080898604217037139702512446216812656582285366597580592029656471712962334844234003218512299644756814005127414035857692812383623968199874704874630148590679636722601847674202345222990126777019037398943057553337549410415360009698205967994800925945071228152601848856903605560837806718256727275598220140021035087171240749499548279471758643309542303420688505697599593677884600650801650206442673009376188500393002198995670710331715595026782388477609164812545422942850995559304141991322801542394456983958756285329083985110461257980634373809737352276149607058827286268478475219165920057624419461456085394371428761642510551219966284896019637689566244781768517327997497926317261589377731576022812018652389275675492064955635294118872266093516663039396415506457381755424553164853160925373026064372785732240440002961007970563286363788006864339042667618832145705013098788260182323037153424798837820195066776461332395514075067232753775522432062526146618283998249042593062218878860597838229369425641647087247011900198399100917925381479340491452434709217594388021371758614621582058049777833269087900933035626101185858933877274304871020091081665025764478983406140193071424564589472733623995752736366579284216325551211387490874590680320292404120221770299876867709519167971 2035949296541499192497605567631006804367118543964339634471874521256688761813146287601753788490385068028278054212084647830522103798888764118820960352744233795651731786980706335685864769421490153404245209557649935945213832160404584817952252031126764670839570369477433844923260329515034636779137146065217246946564664132312270078090932034345101894372014939050096783907511223874004030700757459120016864005826697756969443854927845207001989076189695942255430297106517382196064767024123580274601142571208490062153957530496456346131456032725569261748532347633735136302657426882419236738287849221960335138690284797377309912570037625260995830785999538629678928159928628539029298834202976440779311645579382675001394436497174341248482939518247912942025292521841094920299913612930634530134071116127341737215236194543669216079724764403116233902597241486703930036088977811160421190527342780945453222191119675246243450970127126467608607429665238843630465234622675021355730903873958605278445000057549722810014834339471199666637018654398895028773488262783194262065024872462591285698425328049119316695908992564766758232304966765270157050591876857845658681753981616978970817823467817301852656212024417385706001377799873858851965134996060455261448147199777969328404834704734630024588031071254695101006431402744688691717904648037779854069198096915297185734511605288980719218517632139400168587564903592161528962853681645045082283172612106678645037026373249344533742502839581754455843143488116162898384255923638172359166562675876933413456021426279184040884539226717986910430324799560159246420337028955063026093742428613362038133641966648120136941170314979325099536370472917310471844228438885217150622103526270248688317392279996338912030471020702796388356652686228212137103949795081690072191253072903174076286996600086882156420951868699838819507842523317737196470948846956669608140325406166368204189736966223951873375025609675887018531703579741549207230599168271911659356433069260984607250240783145181844818160504433887319603347360078594265010479027258026586056212014916976981145280479549435255968619069998016581723084284508574484431104574650665041852690851492883624398337430425978362403904140109106815207231754678558478043037057154833544296440473545675123129946824269243335522708774597357578188126759955580745209310405201858344005498985803932068577027750207589954719004826421751591795295801450812567853627425130815548500138902357905691555198271131133549667732721025356771393068015397560273076257474034064872244635599740111036537114574846961560987541515492098171289406753616813429503046909079916200530270744954547515144875390854964374260415936277528343294298535639403512062316348819125641925729788693667593083036571352817452932209887383301857419921798057037023156430268200844414814891129300812281341351037855756130209642321102364978779644204251156055372614009844575776322731697956171128405517095008982099335101275999622920289777421086980545369465960557890885641199840062878147973211535862261164516529345953051962667372090376355251536170877085744067147189518026538533351285706630912504124208085972746071009056587262229001761076327338526381613505506936825812805169090881215018086030404957549926223508883334014045906259600044451569810194978421262578582630493098519367404920213843924283096225278829521218073381471309254675949700461807314009677654218089579730508386190387398150580947121081507833266947089803651926924162658267130246525484320788928219289967899822222780204597528599392028912810281060143846207000496509146258048284251082550244547272850835868588541604771075622790150354606075223082488681647582036285425332185810193916989771214359090921572180893312294351231322486677472079698167312447300580480008366835209323245559831528687148827513646257184097848371334031483153468076568378144529474511797751424752858776339371928360053485097524218319031397903656932503878087874498939025715541535083982307831123395347414686314521922218839215910303484759028019909673828935386878819485586024533872603177547699997464583364067544991424380090612198912018 3294235161175584434617903301203489457595935222089392629491397673570516500303562893177861587896615495184648392321731653524139829478082773062192889126798623717469058516944053206788456673948516594728570524508902977324963876769771450672787361504181977320747529527343362328952071981122126126970034148861749655681558019211689328471090946592183469642697287221561406197918422355025376886364274623576571154898994900093929320084417300362516347588883890959144531646759760408819797104260500558166652433565844309414609932588714530072170583928860706044382701699291710582619019367767241340667151382749879184809959883867911435301737819504285066369434983007726594948251195315955909100003603645140753236492230401608844421648733898902998677249939686606877909613549003042879069155628341824223427406366968966825158085203925397302902201331927350247910913875166083550641426669701435198066379273297051624344292008394309884809599251489785108089501151242049412473489034082476596080512298172880717579687334890693738604776176836826348795171908247773237733678076296377625273897890477122610156385885240219172703461872869302965722837577341967641937033242547290591975087529368939238868860275146821648655470700329983799452436165450638582864150751358014746031729241453867197352561978801715544909308207432818326302362144572685289552343917088855335548421966578203853220254558055718884089613033202325528737510000394893815329999854053055018967452451787992167130227250443339299683204123646954580186682674054014679313558063049974495473931720021553366996037144528367419120858503842692709640908415685794519750600115870022051231916953103333335681454338894888479431754600207748268625809251739974728762843401216833412738987993378184165256112351153170548252289851424283514080271959910957457111670592756884780662923047837876687261971097594174376271353751152233244979624553266536746011435456756089069538653231376203759093985910227790133160052788479644008617727245947454606248559004959594893821115495578124833287891997038667520645420565234666459340215687285460300747112876163153471250804454254437703035979392405687108939225935539925743863587591329074298395728506304379133676716273331632342207299219222422683380984218753819961848872823872574023398743933216682196518310419563276331102130911384364449805868017939925471018306468233859550461868694261873033386531099176911441210644282728454757079855273647995424515544309712167946390294277242962734762134934294064157764889115152095777766787745388096295544907998196845664693736039355440167017722103267140949173723162887543955860797624370431336150972279653995783646009187345366804111587220628402670139129859243512459903950265841039381952382218817307149937918156257447663187823112759537844424701025018492156498136098514710873903203302118070460763229845661291929041090195381710885558388177558268576426454977684650345377224796280812527085576344688809779541243997600927942410644509044839792147484899967822794994652051235571225006188562405565087986422830189655167010610478919814502065939761313061660873340085177281196607399029687592924050795078864345251608012982229132644145243173143986820508604866733987645070618630759214887311105100614710413455970741087657691095406593457942928422504554044345761501286382432929178975007523844205429578189797240510690206462608300908241852510607913506328534639451943628485687052737956921068504940486568054949674306248011817612037032515452936594909457641023618211820182295956696491307252838116925717216285161411600511780620340618044418188485773125099481501119368775239774711323647498056701929028275389033441702530144101687162936086846515226043496652210868400073432196524852861535821916919372189709832363216349447776030160306872538856159499707961375647712762142357641385771706449812685397870106708476062958446209563400908795115163815390044727873612715676806232199267791806637577647873118895976933652979961706710337147175775431974651816727394017859582135994415438496351340286401202245356103374909323617492643297824688123245398769802350085083990668422290677784875768187766761724256958321718079989 5330184457717083627115508868834496261963053766053732263963272194827205262116709180779615376387000563212926446533816301354661933276971537181013849479542857513120790303924759542474321443370006748132815734066552913270177708930176035490739613535308741991587099896820796173875332310637160763749171294926966902628122683344001598549181878626528571537069302160611502981825933578899380917065032082696588018904821597850898763939345145569518336665073586901399961943866277791015861871284624138441253576137052799476763890119210986418302039961586275306131234046925445718921676794649660577405439231971839519948650168665288745214307857129546062200220982546356273876411123944494938398837806621581532548137809784283845816085231073244247160189457934519819934906070844137799369069241272458753561477483096308562373321398469066518981926096330466481813511116652787480677515647512595619256906616077997077566483128069556128260569378616252716696930816480893042938723656757497951811416172131485996024687392440416548619610516308026015432190562646668266507166339079571887338922762939713895854811213289338489399370865434069723955142544107237798987625119405136250656841510985918209686683742964123501311682724747369505453813965324497434829285747418470007479876441231836525757396683536345569497339278687513427308793547317373981270248565126635189617620063493501038954766163344699603308130665341725697325074903987055344292853535698100101250625063894670812167253623692683833425706963228709036029826162170177577697813986688146854640494395898486780452058570807551460005397730560679620071233215245953766170937144825085077325659381716695373815096305543008616372924915187073368162179724657285200607071840102050563361091519648432853573504631149509460282760872127079902436924646139169594215620387838574852854176120741050763548967697681056532692305619852072064487467076584273942482384303712758677678978637542571963283722876451742006535078398155531027149430825689003813479158173231506553177548564839109440538132780183849365463581069668553778943563047364054565757591903421180057307016469171414684181259871955122364907845005537942325586671875837648782826833080955044175529407124824515966605636649648401045784888358862926777056104578551132501441780990371515740814750893108951454232077735653607785328576792537283049206433228189440295671179099463731377392030084980843509787672032936044711798860100069747016310840111162980514243921702373778283262273836651969849320087386283229327434520466413453066937976013594405937769993513389505039262357703007251985710837737734505516848339139862529507440379033270809213149056096425283004641857965582950185284005250098476834164366202118567725246680754456710662000234505076573305113552901453205437507737596371309609430345985898012731323125100175107483919660113862136343855981324682523166899739215414024706636097298787015324156869000531968582458190354533385555863975695557099070816161604053821891482586175967445715284429472322551770375654522963455973627622670252533314983822014782075666582469107266113623540712175553636448143569906773336991197984596890883784959298688860045148269451259116732891517661453996216646831694958097741268924610607551536226261139831968872709181436998415492854646013437378359807407545982477380748785202502265468008160820290339030057611382822144832524948735886743027546608020923252883161636753199764235078182594704657634680182692438399215762617979636534444428176404730827270138744344954223826737832737158905853936506253061233823291985217869217436447101296054185243327708119865284386032759607898580606946476301126224902030244134915177309953086441452590449125985333858450436358857528710663055452811688133731280631404544109661742127261482793550010935857667020408676228192770509192850709017266281341372546697620354733247056294580897432391948583240383768189257348124513428230985058044131178565937701358216420195252684377865363642841025263649930913677532268929101841889967117810785911037654808323421084572013678394082645512552971653623510124218255388374618956593845969990675249459132255311753148637048933916992007 8624419618892668061733412170037985719558988988143124893454669868397721762420272073957476964283616058397574838855547954878801762755054310243206738606341481230589848820868812749262778117318523342861386258575455890595141585699947486163526975039490719312334629424164158502827404291759286890719205443788716558309680702555690927020272825218712041179766589382172909179744355933924757803429306706273159173803816497944828084023762445932034684253957477860544493590626038199835658975545124696607906009702897108891373822707925516490472623890446981350513935746217156301540696162416901918072590614721718704758610052533200180516045676633831128569655965554082868824662319260450847498841410266722285784630040185892690237733964972147245837439397621126697844519619847180678438224869614282976988883850065275387531406602394463821884127428257816729724424991818871031318942317214030817323285889375048701910775136463866013070168630106037824786431967722942455412212690839974547891928470304366713604374727331110287224386693144852364227362470894441504240844415375949512612820653416836506011197098529557662102832738303372689677980121449205440924658361952426842631929040354857448555544018110945149967153425077353304906250130775136017693436498776484753511605682685703723109958662338061114406647486120331753611155691890059270822592482215490525166042030071704892175020721400418487397743698544051226062584904381949159622853389751155120218077515682662979297480874136023133108911086875663616216508836224192257011372049738121350114426115920040147448095715335918879126256234403372329712141630931748285921537260695107128557576334820028709496550644437897095804679515394821636787988976397259929369915241318883976100079513026617018829616982302680008535050723551363416517196606050127051327290980595459633517099168578927450810938795275230908963659371004305309467091629850810688493819760468847747217631868918775722377708786679532139695131186635175035767158071636458419727717178191101446998664060417234273826024777222516886109001634903220238283778734649514866504704779584333528557820923425852387217239264360809473847070941077868069450259467166723081222561587259423309206123398156148308812935868870823729165872577616746738904977402423706524840524923588197937333061312672227785334208647037972235134444810477208520224739696423299846133047793725604410778561184157754950998316315664499468878715373717742440826384420875148460634215979616741018024408770946034007084976501435325105201308211801549362482884011791251602463729552744945206280079806274392934884560900622049472709136764232960843591351312924804996795065283770649808753445186211352855423135109341989294068316467959607107199062973274017811938152661334020968301376014212743281932438621389801765928482084412723605226328402293177944682889959523428272897071520064234052458127392972293283062552276471665669534093796812781109543766699222195335405219693158027013226806113098661683630071075935268510279081523558122995381843085369021061614045500442188481994432493701890168648408868579175284414052260730917644750968936460929915248779675755229036567311671089177792414694432260719712026266320730204291902313588856956156235715708166246639717110573056530400276843591873435783068517991422705568908832364910309927760210026109673437739010087579540747817845430445740766801246494656533875142660375196511647323805937721156146687535191225689629856998686411033374655012151987381023085862371850888350564527250180523229139989997022779653722538222645423803765838209835480865289781827310342809209239234059625807470931546078663648405329401613935471946665059278997116022528299105675169481986069318836432289725235515916988633605053103470341236907326011189903291643100422549792017166728370051875905532651550492094788972731154057944567727063209310014740790460833300743698404199158233985221737229105037217257311922985203515349231335316172186337357827070353178172439425362888329348996323119701472103112226224407388995094724623329928117053303406263005196269478311633369617025190724704040584514392281353034334900443078514872894007255635071996 13954604076609751688848921038872481981522042754196857157417942063224927024536981254737092340670616621610501285389364256233463696032025847424220588085884338743710639124793572291737099560688530090994201992642008803865319294630123521654266588574799461303921729320984954676702736602396447654468376738715683460937803385899692525569454703845240612716835891542784412161570289512824138720494338788969747192708638095795726847963107591501553020919031064761944455534492315990851520846829748835049159585839949908368137712827136502908774663852033256656645169793142602020462372957066562495478029846693558224707260221198488925730353533763377190769876948100439142701073443204945785897679216888303818332767849970176536053819196045391492997628855555646517779425690691318477807294110886741730550361333161583949904728000863530340866053524588283211537936108471658511996457964726626436580192505453045779477258264533422141330738008722290541483362784203835498350936347597472499703344642435852709629062119771526835843997209452878379659553033541109770748010754455521399951743416356550401866008311818896151502203603737442413633122665556443239912283481357563093288770551340775658242227761075068651278836149824722810360064096099633452522722246194954760991482123917540248867355345874406683903986764807845180919949239207433252092841047342125714783662093565205931129786884745118090705874363885776923387659808369004503915706925449255221468702579577333791464734497828706966534618050104372652246334998394369834709186036426268204754920511818526927900154286143470339131653964964051949783374846177702052092474405520192205883235716536724083311646949980905712177604430581895004950168701054545129976987081420934539461171032675049872403121613452189468817811595678443318954121252189296645542911368434034486371275289319978214359906492956287441655964990856377373954558706435084630976204064181606424896610506461347685661431663131274146230209584790706062916588897325462233206875351422608000176212625256343714364157557406366251572582704571774017227341782013569432262296683005513585864837392597267071398499136315931838754915946615810395036931343004371864049394668214467484735530522980664275418572518519224774950760936479673515961081980974839026282305913959713678147812205781179239566286382691580020463021603014491569431172924612740141804226893189335788170591269138598460785988348600544180677575473787489457137224532038128974878137681990519301286682607598003856405063887718554432635828678215002429420860025385657540233723066134450245542437509281644920595398638356554989557475904095490351031730346195614209944121380195932813395303151794303040707140359440466128232682670078174832445743727730728473938387166410594273414928915665948719440176217761111375358828070310736336549453502468285428602550073385564616753052844746757219357866608386317989698649575258680993690962797344749692001957053755580891269195388715126084042967717152483575112657251902714225563510995880674765757497608332477035241668170694721796978254508483965835230877975845288907954764436284554092894538843234266906446764272646112821526610359949222940684145691377452603543927774726420938734008546954697425160326315717782865978250405025403109458280590288928637714531428801065376316378347387690676545412528375141445899830377918570805429228252590573291749982381399561421750681298449394808960559137485391224870129895883324310039691124810249137272991788521825451262267102678158489308872204404349966972727155928633590228791283879247095751056079052917312391077881495586136917359099344011840230539444659270594881630527838837502190799974456307069108969751696124295467319927769272791147253946178972441445293186834750972641451435672932030553125893972560727874833748778728104098303160743342803806239012495430491265347417942557071035371358265692692281644582926423242569861742533268202315356054163769453050589551736367439021735692433996019197703075293802006881265252221543362070230037010318426649903048044414500130731697488908517749241131935143493835280579099322997178360362272028283794032698390268021531056189552064003 22579023695502419750582333208910467701081031742339982050872611931622648786957253328694569304954232680008076124244912211112265458787080157667427326692225819974300487945662385040999877678007053433855588251217464694460460880330071007817793563614290180616256358745149113179530140894155734545187582182504400019247484088455383452589727529063952653896602480924957321341314645446748896523923645495242906366512454593740554931986870037433587705172988542622488949125118354190687179822374873531657065595542847017259511535535062019399247287742480238007159105539359758322003069119483464413550620461415276929465870273731689106246399210397208319339532913654522011525735762465396633396520627155026104117397890156069226291553161017538738835068253176773215623945310538499156245518980501024707539245183226859337436134603257994162750180952846099941262361100290529543315400281940657253903478394828094481388033400997288154400906638828328366269794751926777953763149038437447047595273112740219423233436847102637123068383902597730743886915504435551274988855169831470912564564069773386907877205410348453813605036342040815103311102787005648680836941843309989935920699591695633106797771779186013801245989574902076115266314226874769470216158744971439514503087806603243971977314008212467798310634250928176934531104931097492522915433529557616239949704123636910823304807606145536578103618062429828149450244712750953663538560315200410341686780095259996770762215371964730099643529136980036268462843834618562091720558086164389554869346627738567075348250001479389218257910199367424279495516477109450338014011666215299334440812051356752792808197594418802807982283945976716641738157677451805059346902322739818515561250545701666891232738595754869477352862319229806735471317858239423696870202349029494119888374457898905665170845288231518350619624361860682683421650336285895319470023824650454172114242375380123408039140449810806285925340771425881098683746968961920652934592529613709447174876685673577988190182334628883137681584339474994255511120516663084298767001462589847114422658316023119458615738400676741312601986887693678464487190810171094945271956255473890793941653921136812584231508387390048504116633514096420254866059383398545551122830837547911615480873518453407024900495029729552255597466413491700089655912621036039987937274686914940198949152453296353411784304664265043649556290847505231897963608952913277435512353661607260319311091378544037863490040389153879537837136890016551791903744037176909142697452618879395451822517315556037855479959538978604462266612668328451194623081659120419206739186663966582622148748338005655896130275468782455422300999138037781939644806701004746285876539827744615241716304929878692001372614839150913141287310154723459941775781904761463373285440032908992889650124364810991271815994001358611272761201851730346663225056594157530801545723752977776226674415081873153097269773830251145258742728327837982735842592519438797761139340693701498096855713671136910278972687002185856003879286844424464192368816697015471737645507779695196821695543948401341858093922031038400733098840123638172315570194095456625230636322135811653581396042023884029505695360978081933509735124182162364420783049420223770945225210712298000604305622554484814883638840465498111553247073683036314058551228876056095296893341673645906456284365075206547371557665087109013939896689811221282511928003940509206474348129474529046839873399454584873196112717152951413243951329506524670899516894288888398177680859708805928946126598333403637647701470990737934243286959929452772974137465033735304185131498050801799464949305997088109223436979181694889430078898239938221313878358761684121933844768994395110519892000477148779980003835812293834898595211743649488435833074481151867085776161819098993435980048782084657227791598971638305419572667977148972968399820887052539625359093519504349197370142500656690336230261575341244834173342263234725815644997772667744428247785000895171522945510610246776863452305769824027037762874754553381318128933141468782894425063445187135999 36533627772112171439431254247782949682603074496536839208290553994847575811494234583431661645624849301618577409634276467345729154819106005091647914778110158718011127070455957332736977238695583524849790243859473498325780174960194529472060152189089641920178088066134067856232877496552182199655958921220083480185287474355075978159182232909193266613438372467741733502884934959573035244417984284212653559221092689536281779949977628935140726092019607384433404659610670181538700669204622366706225181382796925627649248362198522308021951594513494663804275332502360342465442076550026909028650308108835154173130494930178031976752744160585510109409861754961154226809205670342419294199844043329922450165740126245762345372357062930231832697108732419733403371001229817634052813091387766438089606516388443287340862604121524503616234477434383152800297208762188055311858246667283690483670900281140260865291665530710295731644647550618907753157536130613452114085386034919547298617755176072132862498966874163958912381112050609123546468537976661045736865924286992312516307486129937309743213722167349965107239945778257516944225452562091920749225324667553029209470143036408765039999540261082452524825724726798925626378322974402922738880991166394275494569930520784220844669354086874482214621015736022115451054170304925775008274576899741954733366217202116754434594490890654668809492426315605072837904521119958167454267240649665563155482674837330562226949869793437066178147187084408920709178833012931926429744122590657759624267139557094003248404287622859557389564164331476229278891323287152390106486071735491540324047767893476876119844544399708520159888376558611646688326378506350189323889404160753055022421578376716763635860209207058946170673914908250054425439110428720342413113717463528606259649747218883879530751781187805792275589352717060057376209042720979950446227888832060597010852881841471093700572112942080432155550356216587161600335866287382886141467881036317447351089310929921702554339892035249389254167044046768272738462298676653731029298145595360700287495708620386530014237536992673151356902834309488859524122153175466809321350923688358278677184444117476859650080905909273279067394450576093770827141364373384577405136751507625293628685724234586264466781412421132276060488016506191659087085545648780129741501580104275987119743722434951872570293012865587830233866321292721355100833484951406410390491343597779620597773986142041719895104276872433970472965568231554221324604062562566682931175685013845697364954824837682776075358177335159451824088572423941545654812005316033416683308044162515435544051489799958936837415828222921550533681808115956772090550428735474759814926994155209515131233845544640720812791056912024516646138225034196278325235407229748801887990106294557506403177209557748491173860609744929262459851426989027656916019391502280493547680806733357117943610470588279181312741547403628833855385579740696961406103515319472526896838302033975132097381841831632075950941510669821839110164820269753100323581133300025830540046622929463728142308221047454679620532390987623673782985815015624919114121870183046169370330682766351006556368339601812371673611383107336619193404772451293058497580849024836321541589059685691280851035082859956329538670843416682358676301935626887350301211257455656718644022972095301265244924212691938596427794982992338249936380936031531649200995729031031925610396577207205329182271658989223163085444308880046834180120790403917995267950367941315490071937590301515083043957432747649487932010435397204838168590457291610476328265008191611254240467802497923760416625924857382014584233127873861871524191426772972286519810197357053964397894888367671247766834225927508084102138973037177702401450756144918927098421899094424156811533177364686128261693365011080470361460714171573621888024031312742421450410438788907064380829211938345216567845575950492343111526827562788196243572300245044242294900820712158928378516698384080040694751742181920357287586348923350034941235116825409601922965839859050915956119634739200002 59112651467614591190013587456693417383684106238876821259163165926470224598451487912126230950579081981626653533879188678457994613606186162759075241470335978692311615016118342373736854916702636958705378495076938192786241055290265537289853715803379822536434446811283181035763018390707916744843541103724483499432771562810459430748909761973145920510040853392699054844199580406321931768341629779455559925733547283276836711936847666368728431265008150006922353784729024372225880491579495898363290776925643942887160783897260541707269239336993732670963380871862118664468511196033491322579270769524112083639000768661867138223151954557793829448942775409483165752544968135739052690720471198356026567563630282314988636925518080468970667765361909192949027316311768316790298332071888791145628851699615302624776997207379518666366415430280483094062658309052717598627258528607940944387149295109234742253325066527998450132551286378947274022952288057391405877234424472366594893890867916291556095935813976801081980765014648339867433384042412212320725721094118463225080871555903324217620419132515803778712276287819072620255328239567740601586167167977542965130169734732041871837771319447096253770815299628875040892692549849172392955039736137833789997657737124028192821983362299342280525255266664199049982159101402418297923708106457358194683070340839027577739402097036191246913110488745433222288149233870911830992827555850075904842262770097327332989165241758167165821676324064445189172022667631494018150302208755047314493613767295661078596654289102248775647474363698900508774407800396602728120497737950790874764859819250229668928042138818511328142172322535328288426484055958155248670791726900571570583672124078383654868598804961928423523536234138056789896756968668144039283316066493022726148024205117789544701597069419324142895213714577742740797859379006875269916251713482514769125095257221594501739712562752886718080891127642468260284082835249303539076060410650026894525965996603499690744522226664132526935751383521762528249582815339738029796299608185207814710154024643505988629975937669414463958889722003167324011312963346561754593307179162249072618838365254289443881589293299321783184027964672514025693200747771930128527967589055536909109559242687993289367276442150684531657954429997891748742998166684820117678776267019216186068896175731305284354597677130631479790157168797953253064442437864683845902845005205039939908865364686079583385144666026313508310102458248106013228348099739475825628628303893241149187472140393720631555317716313763914090701240752392740277893664436452623422494708129098057692799827805614832967691297005376972834680946153738711735357129740221045691466821899824756847538775423332722185405896062937657933448379757656220101017311991212175173430139203550396053301574368739762989854611103540535221053278719374320141075985659811295093404559711133344618025552461432278582515377654774092598113907578679697248696034758270288036178995735473228953095512968542354923628512855677842989451664694217292692397830315497568185554402624660549837852169448796537714454422026024406881825938653797234684315965639671400006652818578004587952410363485841877368972361189270128928528954613657479280630269248607266766799771983691885156657637344771213177511308914793911923375618663201408852440133511752015537364645741207721529289287898485967985460070101352189833070747252814161128999669540238399958526051736252169055671113574096359198161461831460078131450296928588894784844656829713667752797299107444029170555766151287135633481426135139081455550386744383450465730041926915439371965853299723225365931921945491238021212309568751301603089666711193600398168959041175898242663882762781767658834703076288064105974785331012600996662499794407362931496380246291242587694996463679564241742147095737698153059685809879041460692008461715389850231325841446689739922731442694413937988076607182679341788402904033030416914563479770057939898593379903356626301699279251563640262352428697220739892118747377072704109871378790920051898981327833810381183079926336001 95646279239726762629444841704476367066287180735413660467453719921317800409945722495557892596203931283245230943513465145803723768425292167850723156248446137410322742086574299706473832155398220483555168738936411691112021230250460066761913867992469464456612534877417248891995895887260098944499500024944566979618059037165535408908091994882339187123479225860440788347084515365894967012759614063668213484954639972813118491886825295303869157357027757391355758444339694553764581160784118265069515958308440868514810032259459064015291190931507227334767656204364479006933953272583518231607921077632947237812131263592045170199904698718379339558352637164444319979354173806081471984920315241685949017729370408560750982297875143399202500462470641612682430687312998134424351145163276557583718458216003745912117859811501043169982649907714866246862955517814905653939116775275224634870820195390375003118616732058708745864195933929566181776109824188004857991319810507286142192508623092363688958434780850965040893146126698948990979852580388873366462587018405455537597179042033261527363632854683153743819516233597330137199553692129832522335392492645095994339639877768450636877770859708178706295641024355673966519070872823575315693920727304228065492227667644812413666652716386216762739876282400221165433213271707344072931982683357100149416436558041144332173996587926845915722602915061038295126053754990869998447094796499741467997745444934657895216115111551604231999823511148854109881201500644425944580046331345705074117880906852755081845058576725108333037038528030376738053299123683755118226983809686282415088907587143706545047886683218219848302060699093939935114810434464505437994681131061324625606093702455100418504459014168987369694210149046306844322196079096864381696429783956551332407673952336673424232348850607129935170803067294802798174068421727855220362479602314575366135948139063065595440284675694967150236441483859055421884418701536686425217528291686344341877055307533421393298862118699381916189918427568530800988045114016391760825597753780568514997649733263892518644213474662087615315792556312656183535435116522028563914658102850607351296022809371766303531670199208595062251422415248607796520342112145314705933104340563162202738244966922579553834057854571816807718442446504083407830083712333600247420277847123492173188639898166257156924890689996219310024023490090674608165275922816090256293336348802819560506639350828121303280248942898747478783068026479660234552952162302042508559803988907086846552426965231403407630675893648923365914789813176334285932705669752486040105802752291613493236851317605573769805107125228298523368362754269695483825907558475695805506393816055034271978772620967973442998196952974962174579586604791852498426252719220960977061420245498107902456478783926488254163715220848469797680904705708401977057095377162091788641085366444490462561636023049711459895256925058402926453499487319376658654799550077742814933017297769448361050477354800174430874570023525499682099616484963970393015978963615523398725601025554124277980160390496251217334986813013648080664811753669422153798437835822717569376983501344355594508778703087654249042583744296606748121933727064950537778211118273443588308388831669383166007692720204727542716182152331476270599677554290088759153651390967408734181387617836508986774213500590424564413255053093690439769451683284345810329995398571270325568922628943457498237942772563319522283605770711506912311571087332506890052795024771029157824734889408959112214513198898936623565491861532343919624140844035993926793995050118526693612433655797646985782557846802873252605445437442613173127281093484165886917979156398229862640558771130453015425668929003796148208113758368190303398113255939326290029918279340715399399228173828365692503435512106818168514520399981452663348716039774457811300641764630353754120751943381039630505833652557675022453315230466821226660486863724814300234799414092062285004818397663331604335014094610617578027478467670727107645344988204200521974864821186884726337302714665536003 154758930707341353819458429161169784449971286974290481726616885847788025008397210407684123546783013264871884477392653824261718382031478330609798397718782116102634357102692642080210687072100857442260547234013349883898262285540725604051767583795849286993046981688700429927758914277968015689343041128669050479050830599975994839657001756855485107633520079253139843191284095772216898781101243843123773410688187256089955203823672961672597588622035907398278112229068718925990461652363614163432806735234084811401970816156719605722560430268500960005731037076226597671402464468617009554187191847157059321451132032253912308423056653276173169007295412573927485731899141941820524675640786440041975585293000690875739619223393223868173168227832550805631458003624766451214649477235165348729347309915619048536894857018880561836349065337995349340925613826867623252566375303883165579257969490499609745371941798586707195996747220308513455799062112245396263868554234979652737086399491008655245054370594827766122873911141347288858413236622801085687188308112523918762678050597936585744984051987198957522531792521416402757454881931697573123921559660622638959469809612500492508715542179155274960066456323984549007411763422672747708648960463442061855489885404768840606488636078685559043265131549064420215415372373109762370855690789814458344099506898880171909913398684963037162635713403806471517414202988861781829439922352349817372840008215031985228205280353309771397821499835213299299053224168275919962730348540100752388611494674148416160441712865827357108684512891729277246827706924080357846347481547637073289853767406393936213975928822036731176444233021629268223541294490422660686665472857961896196189765826533484073373057819130915793217746383184363634218953047765008420979745850449574058555698157454462968933945920026454078066016781872545538971927800734730490278731315797090135261043396284660097179997238447853868317332611501523682168501536785989964293588702336371236403021304136921084043384345363514443125669811090293329237627929356129790621897361965776329707803757907398507274189412331502079274682278315823507546748079868590318507965282012856423914861174626055747413259492507916845435450379921121822213542859917244834461071929618699111847804209610572843201334296722501339376396876501975156573081879018420365099054114142708359257536073897562441279488367126850789814180658888627861229718360680774102196181354007859500415504715514200886665393608925060987093170484727766247781300262041518334188432292800327995739899105625124039185993609962687280005491053928727026210599334188938663528297460420711550929651145411188602772798422233675496203043700423434195561264688215916851197860637954859028826311396391306165183602849037899832513034984549508718527270031212173152234850384701658298509780358295228017153569831952010332901957984427776297198171362821903083734489926155623807179661575511143738477772302713177019051613394898056355903495584836013102969196293504921590003572867768716785798198536381177525089068149658187685708376793931020966911155428178784827818012559945047755049441235039672487546637692323219388482753801462388969383636319922360182461189066573496126411556105485876877050462681678608017058841387522050855075188603653075051164350357549498755893693461246270182523053172953290168006091524479160749718752263577716708303502788488910532398715123195042629602522430537159971458995068111508725527448680679709667293613886137415881481767232542966990443021384261095784837639681600742825577532188516403141385068965050223759198973287667483001079691230780377377259725092045442132984399509097370211148489768748364490626657747011364474730370760195359487316148115439405760883222653893234783084503632080084212314088543699202904394775755733733652961414659587006641986923170292045256745177659202555866667580085791331704809408048236173201150873090471800443860674674823734044443821729164857701795103633370854257077401427204584358174698007471965641631120096942583167975276447039314798767370586418104180349454859582991442026763802514718536718485794591872004 250405209947068116448903270865646151516258467709704142194070605769105825418342932903242016142986944548117115420906118970065442150456770498460521553967228253512957099189266941786684519227499077925815715972949761575010283515791185670813681451788318751449659516566117678819754810165228114633842541153613617458668889637141530248565093751737824294756999305113580631538368611138111865793860857906791986895642827228903073695710498256976466745979063664789633870673408413479755042813147732428502322693542525679916780848416178669737851621200008187340498693280591076678336417741200527785795112924790006559263263295845957478622961351994552508565648049738371805711253315747901996660561101681727924603022371099436490601521268367267375668690303192418313888690937764585639000622398441906313065768131622794449012716830381605006331715245710215587788569344682528906505492079158390214128789685889984748490558530645415941860943154238079637575171936433401121859874045486938879278908114101018934012805375678731163767057268046237849393089203189959053650895130929374300275229639969847272347684841882111266351308755013732894654435623827405646256952153267734953809449490268943145593313038863453666362097348340222973930834295496323024342881190746289920982113072413653020155288795071775806005007831464641380848585644817106443787673473171558493515943456921316242087395272889883078358316318867509812540256743852651827887017148849558840837753659966643123421395464861375629821323346362153408934425668920345907310394871446457462729375581001171242286771442552465441721551419759653984881006047764112964574465357323355704942674993537642759023815505254951024746293720723208158656104924887166124660153989023220821795859528988584491877516833299903162911956532230670478541149126861872802676175634406125390963372109791136393166294770633584013236819849167348337145996222462585710641210918111665501396991535347725692620281914142821018553774095360579104052920238322676389511116994022715578280076611670342477342246464062896359315588238658824130225673043372521551447495115746344844705453491171291025918402886993589694590474834628479691082183196390618882422623384863463775210883983997822050944929691716511907686872795169729618733884972062559540394176270181861314586049176533152397035392151294318147094839323006058564403165591352020612519331961266200532446175972063819598204379057123070099838204148979302469394994283496864358489517702810679060922144066342322189945642551823808465876238511207426482334252424343560842748236281707414842292326070856527446816669503611610645920280867105061312143305003941424703634100212712325044166502463016762372577905547461974019571406454693129679387172246691612656704254454009893300805084017359279608181799802012862007092621589341361216953522750433134129296270630199766200966259142221716271317285052800480130582862690136178274255266739983994872375575292600114269741297598560855198373029227771579945505112882217433014558295134913755917902213591274369951054050222568891216672768559906677207188684634622158078724355757546544365636756453732909105798172950441298972384428048053320568211449445992641542281191637285106538760619821266715776969967769661150375454139849782483625172396408743558554837052505795494443383577435322458217172043077754226298609875613577746453122730727243378927159742915446569483900139881414225695077716289079335096811970176288733069371974113821505781788990466682779051096371309623167165531556658700735403765373003254473902754592471593602674890434706371771983402267077925362253599582163949160382764465149199826920703832074816371304053720142163968826596833164895017196931047615551237743232103184453977647857651853679525374234127271837635623523781425023687798510172561083880360522202302067393207792889011673059942991332938927722041386151344120410949248613171309374035182100485772784368158124088010631012451514855102154197981426618204773674949655381722532724248418863837675483737888290929398658409497421564027926635938494605914772310290541649932376794849054088831287994799847787191964001628623701603263055788509257408007 405164140654409470268361700026815935966229754683994623920687491616893850426740143310926139689769957812988999898298772794327160532488248829070319951686010369615591456291959583866895206299599935368076263206963111458908545801331911274865449035584168038442706498254818108747513724443196130323185582282282667937719720237117525088222095508593309402390519384366720474729652706910328764574962101749915760306331014484993028899534171218649064334601099572187911982902477132405745504465511346591935129428776610491318751664572898275460412051468509147346229730356817674349738882209817537339982304771947065880714395328099869787046018005270725677572943462312299291443152457689722521336201888121769900188315371790312230220744661591135548836918135743223945346694562531036853650099633607255042413078047241842985907573849262166842680780583705564928714183171550152159071867383041555793386759176389594493862500329232123137857690374546593093374234048678797385728428280466591616365307605109674179067175970506497286640968409393526707806325825991044740839203243453293062953280237906433017331736829081068788883101276430135652109317555524978770178511813890373913279259102769435654308855218018728626428553672324771981342597718169070732991841654188351776471998477182493626643924873757334849270139380529061596263958017926868814643364262986016837615450355801488152000793957852920240994029722673981329954459732714433657326939501199376213677761874998628351626675818171147027642823181575452707987649837196265870040743411547209851340870255149587402728484308379822550406064311488931231708712971844470810921946904960428994796442399931578972999744327291682201190526742352476382197399415309826811325626846985117017985625355522068565250574652430818956129702915415034112760102174626881223655921484855699449519070267245599362100240690660038091302836631039893876117924023197316200919942233908755636658034931632385789800279152590674886871106706862102786221421775108666353804705696359086814683097915807263561385630809426410802441258049749117459463300972728651342069392477712121174413257249078689533192592299325091773865157112944303198628931276259209200930588666876320199125745158623877798358189184224428753122323175090851440947427831979804374855248199800560426433853386143725240236726448016819486471236199508033720976247470370440977618386075408908891703712045961382039483867424249920889652384807867930330624712644177638460685699056818538561337648781856523076611036160748869452969408995935192730115552686385079176936668574507742838032225176481651486002663113574297925925771921033788338353904338130363367162397673133036595096153608427950975350703969695649515774450155116563874948436934907529507902115091964752329631395413750585773365402651050761839605656573890869935480792781645307281531121014901424499476039500516944288470854884752490463484820674563954571453438102805897956110065218755738076920959174071998936850801530484756964556726277115489370461790719749769020871409884779291541057623090337608002470967096287854732277752784280345764432732551477565332547911881911693933616185510386346727433869283092993055758087138315860930763945438747495508144256141189075959431156836234646501865695955268360502222859090422166571895893893317545298458766038975533268336393435303725054503569074824016635645783900196669095165834439925730233618892144991942403381219077568245629210685299483775698974496544358665753247985534794287776623819990302876832825170544838151285247140235797440893197613855854698459728074387972514808979799266441765394984651128999384141963438436867309921783523305596748681313445234209410959581232673992387408079537384299602233858760931465342122588022613874884861550275387277041384407004078916922581594676193163964572836290845766596112187664767406793595952747598514728683373074514412456205993790830511929901849680571564116072967532136246804213602387945573954641842101293028507719393477110887390426043522497208529740815289718133983016584195429035993568267058591548497940285566988689247175562219640506935468344254707370183406028392426216321799774274303849280011 655569350601477586717264970892462087482488222393698766114758097385999675845083076214168155832756902361106115319204891764392602682945019327530841505653238623128548555481226525653579725527099013293891979179912873033918829317123096945679130487372486789892366014820935787567268534608424244957028123435896285396388609874259055336787189260331133697147518689480301106268021318048440630368822959656707747201973841713896102595244669475625531080580163236977545853575885545885500547278659079020437452122319136171235532512989076945198263672668517334686728423637408751028075299951018065125777417696737072439977658623945827265668979357265278186138591512050671097154405773437624517996762989803497824791337742889748720822265929958402924505608438935642259235385500295622492650722032049161355478846178864637434920290679643771849012495829415780516502752516232681065577359462199946007515548862279579242353058859877539079718633528784672730949405985112198507588302325953530495644215719210693113079981346185228450408025677439764557199415029181003794490098374382667363228509877876280289679421670963180055234410031443868546763753179352384416435463967158108867088708593038378799902168256882182292790651020664994955273432013665393757334722844934641697454111549596146646799213668829110655275147211993702977112543662743975258431037736157575331131393812722804394088189230742803319352346041541491142494716476567085485213956650048935054515515534965271475048071283032522657464146527937606116922075506116611777351138282993667314070245836150758645015255750932287992127615731248585216589719019608583775496412262283784699739117393469221732023559832546633225936820463075684540853504340196992935985780836008337839781484884510653057128091485730722119041659447645704591301251301488754026332097119261824840482442377036735755266535461293622104539656480207242213263920245659901911561153152020421138055026466980111482420561066733495905424880802222681890274342013431342743315822690381802392963174527477606038727877273489307161756846288407941589688974016101172893516887593458466019118710740249980559110995186318681468455631947572782889711114472649828083353212051739783974336629142621699849303118875940940660809195970260581059681312804042363915249424469982421741019902562676877637272118599311137633566075522514092285379413061722461590137718036675109424149888018025201637688246481372990989490588956847232800019706927674502819175216759629217622259792848198845266556678712572677918845647507142619212449805110728640019684904856215157680324551247338178932819332617185908571846052788138849650497209342071788070796497885845361639262656071444713347928609517157623535345856609809693554335609181599142164606369545974645630436479431109865381547202453063623846698278163232231152434315532078441410827391645101190700442298642738660559788139937552970594067683364700132845708704842789892828485640511355852346662256772632854135223830758256336910061839159332922385020085854663524938773623476053661492111673312906499219143735656194531939466437418902503843157088309024109698184668335644603039414358460827645699818297331146313623969536584308502473045137076032602046904875962455791736401124605895796877319835805050844127395255499165725126732946399113039741842343474297991485508436513057951353113444688401763088768514627440048022325577355372299717519032026406168098458935366647580726022655475772508768346470658180171535036976001477066827720191299926043998356727203538886689012513239051914795952206327448301134618509094344286792382066344367127648584233292948544524727903586067136842487355380413119985367165376373379786178065838887404605010584999850839977090864115919319770445674467554410235784402659114677007930785503940610380104848754247844933358493147833989319980553779079853538944080537442450724759225858532867155242404001821303937031781057336900441125656224257435226053902800676108839823527911233281394343132492609923150291941361046205224553178009063381674993692850600021494902997086154412712595857530339179552357068694595766756339054555157375370030021049917925062830062813106688018 1060733491255887056985626670919278023448717977077693390035445589002893526271823219525094295522526860174095115217503664558719763215433268156601161457339248992744140011773186109520474931826698948661968242386875984492827375118455008220544579522956654828335072513075753896314782259051620375280213705718178953334108330111376580425009284768924443099538038073847021580997674024958769394943785061406623507508304856198889131494778840694274595415181262809165457836478362678291246051744170425612372581551095746662554284177561975220658675724137026482032958153994226425377814182160835602465759722468684138320692053952045697052714997362536003863711534974362970388597558231127347039332964877925267724979653114680060951043010591549538473342526574678866204582080062826659346300821665656416397891924226106480420827864528905938691693276413121345445216935687782833224649226845241501800902308038669173736215559189109662217576323903331265824323640033790995893316730606420122112009523324320367292147157316691725737048994086833291265005740855172048535329301617835960426181790115782713307011158500044248844117511307874004198873070734877363186613975781048482780367967695807814454211023474900910919219204692989766936616029731834464490326564499122993473926110026778640273443138542586445504545286592522764573376501680670844073074401999143592168746844168524292546088983188595723560346375764215472472449176209281519142540896151248311268193277409963899826674747101203669685106969709513058824909725343312877647391881694540877165411116091300346047743740059312110542533680042737516448298431991453054586418359167244213694535559793400800705023304159838315427127347205428160923050903755506819747311407682993454857767110240032721622378666138161541075171362363060738704061353476115635249988018604117524290001512644282335117366776151953660195842493111247136089381844268857218112481095385929176774713061398612497272220840219324170792295987509084784676495763788540009097120528386740889207646272443284869600113508082915717964198104338157059049152274988829824235586280071170587193531967989328670092303587485643773242320789060517086088340045748909037284283800718616104173462374301245577647661308060165369413931519145351432500628740636022168290104672669782982167453755948820602877508845047327957120037311722022126006355660532092902567756104112084018315853600063986583677172113905622911879142973764715163130644419571852141279860915816447756183597441630055368343167714873321547371815056503077811942565357797113719196621573430722900518356776423819830418821995730760206497771824709172637988851113680202151437958895558978398234358809679872664323279313486853273051120306764926257429284046116506671672508484637939397960067874844860451154912605104114385686303934737123101087915108313723748692358512660002615199918338143255604848258994822305461057552504039264087417162142945595790784595705730111590423583215946704853072074632288741093874618565436448411755481876574413293959645033360832953033169296403244107221614702752482386671744190203182849607589820860501675030732580217556296973030543971213992427252166614239306679727623722624363403809082514780097555049132103644867695832281442130443379185531760319204629618114589587891698628840292430585040301109513273524753844829948361676407617013763225779724414298527636717117491411795298029951137924171398110501840154444215826355233340775256284467320967202538837288284961536271354604344011290228920831181897748377037974259653474849355689149820183302999594346583482316801601361865610808893043568884421947928666691342022934446764270878686009868666680610610582790745759298512879792013090122384150442210949625047384661893033697081429295097334678046391718392337789582857532961699524947411809506194783993600585432168218546486647134896828135957179408132300372945323361236194832333233838881461628901016514093188360504239439656290746250063481665629204261789113736609603497313576335463858254734965368467727197364691577888279636015063170055677702910652881424519028426727919288335102702224683309262527558776058413476134246862604337116955968029 1716302841857364643702891641811740110931206199471392156150203686388893202116906295739262451355283762535201230536708556323112365898378287484132002962992487615872688567254412635174054657353797961955860221566788857526746204435578105166223710010329141618227438527896689683882050793660044620237241829154075238730496939985635635761796474029255576796685556763327322687265695343007210025312608021063331254710278697912785234090023510169900126495761426046143003690054248224176746599022829504632810033673414882833789816690551052165856939396805543816719686577631635176405889482111853667591537140165421210760669712575991524318383976719801282049850126486413641485751964004564971557329727867728765549770990857569809671865276521507941397848135013614508463817465563122281838951543697705577753370770404971117855748155208549710540705772242537125961719688204015514290226586307441447808417856900948752978568618048987201297294957432115938555273046018903194400905032932373652607653739043531060405227138662876954187457019764273055822205155884353052329819399992218627789410299993658993596690580171007428899351921339317872745636823914229747603049439748206591647456676288846193254113191731783093212009855713654761891889461745499858247661287344057635171380221576374786920242352211415556159820433804516467550489045343414819331505439735301167499878237981247096940177172419338526879698721805756963614943892685848604627754852801297246322708792944929171301722818384236192342571116237450664941831800849429489424743019977534544479481361927451104692758995810244398534661295773986101664888151011061638361914771429527998394274677186870022437046863992384948653064167668503845463904408095703812683297188519001792697548595124543374679506757623892263194213021810706443295362604777604389276320115723379349130483955021319070872633311613247282300382149591454378302645764514517120024042248537949597912768087865592608754641401286057666697720868311307466566770105801971351840436351077122691600609446970762475638841385356405025125954950626565000638841249004930997129103167664629053212650678729578650651414582671962454710776421008089868978051160221558865367637012770355888147799003443867277496964426936106310074740715115612013560310053440064532205354097139765403908473658511497480514780963646639094753603387244536218291735073593815364157893822148759127740003488082011785314860360386995902868633562721562395930664126499526644099036132576076973805857234478254213609724393585894225290660704010220431155015162907842359216306478286938058198681327671158009351641328347946115069617877497311487639348323022273939508755393444823759873621465751317377671207923004010896586466163374735950983619655298105813837114854183914043590504354275970316536459807557178009533002212900355332240349423845802190103185904305103805900360636785994265408047134759858431651620187403964220262870847788385683613081346241467442770245472719337707207298463046997430784680404595781334140501962429076818898418656836886614525280969716150606440758438408676918611210627622085353450746909169525784728917248553200900012444902432041638127070463945385620303697160306932865876854219590812699601954008066100659432233406048026240256505367565370048757013370088753616825361786691543624782143452987571516239353266461419627760730458451627542813182813155076765139816989150670329668656956197804278600299089810863407081255996251028793235667437860719008823321937537748421432064202590154964829538624951915924663272166713901270485102026510751300728965092576661088393743931955176020692153117714896473191419245609001583606758234066422988652047775986956170531937364351767196618100707384001282188040489163303981663479371548983705333119080705506395400268575086798143341804373701659654439553277141434574752148772325566500673840908673399630132891526231478190516478598834154537775913242686237916955218844584761674665710193546926172321489157115495070508079742096107236726627405219300940189921645736260746366571581130236036558073052763857323365477282049367606280276357029698468981022363817684934146088434526052171925434399930062656047 2777036333113251700688518312731018134379924176549085546185649275391786728388729515264356746877810622709296345754212220881832129113811555640733164420331736608616828579027598744694529589180496910617828463953664842019573579554033113386768289533285796446562511040972443580196833052711664995517455534872254192064605270097012216186805758798180019896223594837174344268263369367965979420256393082469954762218583554111674365584802350864174721910942688855308461526532610902467992650766999930245182615224510629496344100868113027386515615120942570298752644731625861601783703664272689270057296862634105349081361766528037221371098974082337285913561661460776611874349522235692318596662692745654033274750643972249870622908287113057479871190661588293374668399545625948941185252365363361994151262694631077598276576019737455649232399048655658471406936623891798347514875813152682949609320164939617926714784177238096863514871281335447204379596686052694190294221763538793774719663262367851427697374295979568679924506013851106347087210896739525100865148701610054588215592090109441706903701738671051677743469432647191876944509894649107110789663415529255074427824643984654007708324215206684004131229060406644528828505491477334322737987851843180628645306331603153427193685490754002001664365720397039232123865547024085663404579841734444759668625082149771389486266155607934250440045097569972436087393068895130123770295748952545557590902070354893071128397565485439862027678085946963723766741526192742367072134901672075421644892478018751450740502735869556509077194975816723618113186583002514692948333130596772212088810236980270823142070168152223264080191514873932006386955311851210632430608596201995247555315705364576096301885423762053804269384384173767181999423958253720024526308134327496873420485467665601405990000087765200942496224642702701514392027608783374338136523343923878774687481149264205106026862241505381837490016855820392251243265869590511360937556879463863580808255719414047345238954893439320743090153054964722059687993523993760821364689447735799640406182646718907320743718170157606227953097210068606955066391205970467902651920813488971992321261377745112855144625734996271679488672234260963446060938794076086700495458769809548386075927414460318083392289808693967051873640698966558344298090734125908266725649926260843146055857088145998368992032474292618814747776536486277559061308546071378785378897048392524729989454676108309581952892108459215772662475760513298243097580520704956078412928051717660958717038104094977839770463324078706321567389702206484125628199436702476090946714289003802158107980275431190041994487236490864169637586470139662208412903701414612485509623338821853441550572229120830767691372412661292395219306147637478433328264532159525938795544416965106421100278974929249870256306129582163892709172691443228307680032990733981474397677051971579033193828688666042560279373095335738524659298970032229745895983839003490112858063690197719567558450266119394713662373141161159305282954817825268203058336730030027459759649828770757196985475446403255630554322630559624926983424784029557229280663302105592797157003140169745527128065687490156683635690899325689253386631484678341508523990626983974209822444562500845040993198096409781304168347472214853322537597111682713482257308400945968359619794880369202389102139244255079233436489337026285077702988405063257846111606899074019776036408213880383885660720522700292962637531820188750626174251846694054300323311676058977889995105797565984913735722002136844401858110587631936030371029112752432857318728386597538961277696662864646988631190829768151724398990114210688643556513068630413000430453758751898113792606364669655676303503898649071463945748061135035160184316990872053147808737736809356809541023826604423513877714793666487771614794704315138933469312032945265914105366484293176235803154786319756859621816351699604550302962869077555675155290113463458111058149469409872051621243108441560234018358706568396033008195645364801171205705673080212492922146848002186418788038737047018624076 4493339174970616344391409954542758245311130376020477702335852961780679930505635811003619198233094385244497576290920777204944495012189843124865167383324224224489517146282011379868584246534294872573688685520453699546319783989611218552991999543614938064789949568869133264078883846371709615754697364026329430795102210082647851948602232827435596692909151600501666955529064710973189445569001103533286016928862252024459599674825861034074848406704114901451465216586859126644739249789829434877992648897925512330133917558664079552372554517748114115472331309257496778189593146384542937648834002799526559842031479104028745689482950802138567963411787947190253360101486240257290153992420613382798824521634829819680294773563634565421269038796601907883132217011189071223024203909061067571904633465036048716132324174946005359773104820898195597368656312095813861805102399460124397417738021840566679693352795287084064812166238767563142934869732071597384695126796471167427327317001411382488102601434642445634111963033615379402909416052623878153194968101602273216005002390103100700500392318842059106642821353986509749690146718563336858392712855277461666075281320273500200962437406938467097343238916120299290720394953222834180985649139187238263816686553179528214113927842965417557824186154201555699674354592367500482736085281469745927168503320131018486426443328027272777319743819375729399702336961580978728398050601753842803913610863299822242430120383869676054370249202184414388708573327042171856496877921649609966124373839946202555433261731679800907611856271590709719778074734013576331310247902026300210483084914167140845579117032144608212733255682542435851850859719946914445113905784720997040252864300489119470981392181385946067463597405984473625294786563031324413802628250050876222550969422686920476862633399378448224796606792294155892694673373297891458160565592461828372600249237129797714781503642791439504187737724131699717810035975392482712777993230540986272408865166384809820877796278795725768216108005591287060326834772998691818493792615400428693618833325448485971395132752829568682663873631076696824044442366192026768019557826259327880469060381188980132641590161932377989563412949376575459621248847516151232700812866949313789984401072971815563907070772340606146627244086211094562589825807719723630883543748409602273795860576228010154306892834679614717616410099207839954991972672570905429477933180968601703795311910586563795562616502045109997953136464523518674252595683612798437629234530004599016915719431766135849122104652426652436637007579703795613267547759724750030455469682448625917981601741182507419665695159494875066224052633514398159396523356712718299346738193005767485141076583396801084227832220218470404752308360537833765568613956005328128898730321270210227000639611715244135664353264342022324360792878847192527942903838522367158010758398213046475964074161385380267486671558382735955443979374628011080036485801432566931756482347034606182083731235835545320103131579569836223894165445447353556509083639199553244488567077323958096997920348835297268681393094505010547287121944336490095157517521696405496758957148235846186560299093538182923892196266891059302143644854767095125349352413675517834604588015488416557232551362871200931929077930666480865350779924837790247397125390096638689288451836567006667702438334065942640517745333277313870938655842923976854934928836611768197468472416470538850490259147652208887300803986902651896659353873204805601052276768635638978388849729521160934427875119851740875049529833240937613977787346818855845970776162584495131809634027216414185249291537152153006587030603373992625219992440179396705763572839457404509192874939756453819645308272350731118385301338276469734936465763197619648482578645482756439673915352835901704394193392500642309390707947001376850424530877530027588771076677840102408124643943435251930129896093795711787029590274296856615345211759199718857424721050540108088179316161205417557383835988617763639288472002394499640186728036897897427068235282528238590713473136977081280123 7270375508083868045079928267273776379691054552569563248521502237172466658894365326267975945110905007953793922045132998086776624126001398765598331803655960833106345725309610124563113835714791783191517149474118541565893363543644331939760289076900734511352460609841576844275716899083374611272152898898583622859707480179660068135407991625615616589132746437676011223792434078939168865825394186003240779147445806136133965259628211898249570317646803756759926743119470029112731900556829365123175264122436141826478018426777106938888169638690684414224976040883358379973296810657232207706130865433631908923393245632065967060581924884475853876973449407966865234451008475949608750655113359036832099272278802069550917681850747622901140229458190201257800616556815020164209456274424429566055896159667126314408900194683461009005503869553854068775592935987612209319978212612807347027058186780184606408136972525180928327037520103010347314466418124291574989348560009961202046980263779233915799975730622014314036469047466485749996626949363403254060116803212327804220594480212542407404094057513110784386290786633701626634656613212443969182376270806716740503105964258154208670761622145151101474467976526943819548900444700168503723636991030418892461992884782681641307613333719419559488551874598594931798220139391586146140665123204190686837128402280789875912709483635207027759788916945701835789730030476108852168346350706388361504512933654715313558517949355115916397927288131378112475314853234914223569012823321685387769266317964954006173764467549357416689051247407433337891261317016091024258581032623072422571895151147411668721187200296831476813447197416367858237815031798125077544514380922992287808180005853695567283277605147999871732981790158240807294210521285044438328936384378373095971454890352521882852633487143649167292831434996857407086700982081265796297088936385707147287730386394002820808365884296821341677754579952091969053301844982994073715550110004849853217120885798857166116751172235046511306261060556009120014828296992452639858482063136228334025015972167393292138850922987174910616970841145303779110833572162494670671478639748299872790321758934092987786215896928649669052085183637538905682187641592237933196271636758862176060328487432133647299360581034573198500884785177652906887916541845631897609193674670445419851717664374008523298925308972233532364186635694117514053281218642284214856830229361126433784766586694873377515508610504325770615612225036816917350176204317754516042162581722259975632757535861113688892567976505358758204397281910279738895747196427226121402183971452428076089582016613697461660182395985739235861639103654060367809427058127330784856361531827620926691648812517631851919204632879762799971614508175312198896878488164854067694274738235316648100918586644494005920659393924186217069965570290420835622936829256348632408435450184625509157902850051422827766044653718474480103278344660240825932469640436057044614546037232325749642181501954940033765504720730995529177120263272621759567420369229580704248216906094715293983395795238552899235715725064635474270546728366047324438180823801998293915960288405591713688364781028339607527887166216748555530276339445436633873343040659492044427032577989261598225749459280982236097425402881334187888377036520503729654433791042607048908246716936209056804577578321021873954234670303598948641644247987234701046535735685787973504880630350922736150979670352501849938335807091402522833605719898859901375588444694616868383955527087145848163597121988585276907640420872873644348816459571288703289504549182034093087330690081061173880482366920304730986020717584681268776505508809809706194026598209302622985481304426109495948812170999802582331049399411504895120782754069672796291316382292113249214939179440325218271908186167130081005502651316515783893842910475293502876443162133278643927798729755008789751712445495316337332553143374412290500501872663176968482870519949980139800559269646977791402194695186159672296667647759300811392433709978109919990382130530425009501511874024099904199 11763714683054484389471338221816534625002184928590040950857355198953146589400001137271595143343999393198291498336053775291721119138191241890463499186980185057595862871591621504431698082249086655765205834994572241112213147533255550492752288620515672576142410178710710108354600745455084227026850262924913053654809690262307920084010224453051213282041898038177678179321498789912358311394395289536526796076308058160593564934454072932324418724350918658211391959706329155757471150346658800001167913020361654156611935985441186491260724156438798529697307350140855158162889957041775145354964868233158468765424724736094712750064875686614421840385237355157118594552494716206898904647533972419630923793913631889231212455414382188322409268254792109140932833568004091387233660183485497137960529624703175030541224369629466368778608690452049666144249248083426071125080612072931744444796208620751286101489767812264993139203758870573490249336150195888959684475356481128629374297265190616403902577165264459948148432081081865152906043001987281407255084904814601020225596870315643107904486376355169891029112140620211376324803331775780827575089126084178406578387284531654409633199029083618198817706892647243110269295397923002684709286130217657156278679437962209855421541176684837117312738028800150631472574731759086628876750404673936614005631722411808362339152811662479805079532736321431235492066992057087580566396952460231165418123796954537555988638333224791970768176490315792501183888180277086080065890744971295353893640157911156561607026199229158324300907518998143057669336051029667355568828934649372633054980065314552514300304232441439689546702879958803710088674751745039522658420165643989328061044306342815038264669786533945939196579196142714432588997084316368852131564634429249318522424313039442359715266886522097392089438227291013299781374355379157254457654528847535519887979623523800535589869527088260845865492304083791686863337820375476786493543340545836125625986052183666986994547451030772279522369066147296180341663069991144458352274678536657027643849297615879263533983675816743593280844472222000603155275938354521438691036466007627753259382140123073120427806058861027658615498133014114365303436489108389165897084503708175966044729560403949211206431353375179345128128871388747469477742349565355528492737423080047693647578240602018677605818143651848249980596734901957469045253891213189644334763410329728137580078497281437173078125112549435768568748689560335591602771887930552953671397111726858992548476967627249538014672628932011194841404861614075352163294956151976151857653653901053994071183757796204881325877555480614302085691737168458527205950414840049084203099724833388411832725395914432936147036853098233204723922868713145964465492444170182196593005059505526875101558198359738141585012658266208541430758449137613363565840667778715790419193848397671985121977011436803095252716212101210435547257719288251905968955441868623976371028384266931931725912737790485353868636300300831753071285708719975316076504008429133948736783983418673390981316144073850167917108819569646021557668672702537419595698345498403790674917436641437900248663874566522531420083433107807857673921194212531759222695454335009879031620593477678155458300822152183168026503333547815053239156961358293977051559181139245738196698553503215724507015912386964514471980003580912819580300090911211555981464572297556170973353046821461586641238818004710737239139793994054419492959593103665502427865213330255846772805256608306782591472241840326151957170254113811258326603806390144549260280711766529224896964717297475359129773904072457737573051320958673893996497948989206411957599437666707132178356244182563315594120443350533700716350737687974630057248517267292444773895027774869688888854532276226922666101578667772390396210598317892634318373788005321091647519839973381052052442673190260719881608539291028124362143417671268905845713631862895825907591570490088227979875430852395348786030683803923311585139650153800451579161746876007347058617413058663600214985011001181184322 19034090191138352434551266489090311004693239481159604199378857436125613248294366463539571088454904401152085420381186773378497743264192640656061830990636145890702208596901231628994811917963878438956722984468690782678106511076899882432512577697416407087494870788552286952630317644538458838299003161823496676514517170441967988219418216078666829871174644475853689403113932868851527177219789475539767575223753864296727530194082284830573989041997722414971318702825799184870203050903488165124343177142797795983089954412218293430148893795129482943922283391024213538136186767699007353061095733666790377688817970368160679810646800571090275717358686763123983829003503192156507655302647331456463023066192433958782130137265129811223549497712982310398733450124819111551443116457909926704016425784370301344950124564312927377784112560005903734919842184071038280445058824685739091471854395400935892509626740337445921466241278973583837563802568320180534673823916491089831421277528969850319702552895886474262184901128548350902902669951350684661315201708026928824446191350528185515308580433868280675415402927253913002959459944988224796757465396890895147081493248789808618303960651228769300292174869174186929818195842623171188432923121248076048740672322744891496729154510404256676801289903398745563270794871150672775017415527878127300842760124692598238251862295297686832839321653267133071281797022533196432734743303166619526922636730609252869547156282579907887166103778447170613659203033512000303634903568292980741662906475876110567780790666778515740989958766405576395560597368045758379827409967272445055626875216461964183021491432738271166360150077375171568326489783543164600202934546566981615869224312196510605547947391681945810929560986300955239883207605601413290460501018807622414493879203391964242567900373665746559382269662287870706868075337460423050754743465233242667175710009917803356398235411385082187543246884035883655916639665358470860209093450550685978843106937982524153111298623265818790828630126703305300356491366983597098210756741672885361668865269783272555672834598803918503897815313367304382266109510517016109362515105755927626049703899057166108214021955789677327667583316651653270985624130700627099093356140467038142105058047836082858505791934409752543629013656566400376365658891410987426101931097750493113499295904976027200904743452624081782344783370596074983098535109855473859191593639690854571364845083976310550593633723053761539184360914597152508952948092248307469713559693449118968181234503488363226907240605437369953045802143524355091059042152579202273259837625353482070160765774409902342986059951466353537947330840822518895015377472967379869059461256661009338524374208432064788066241485977996004695537376888458163362370932335036264287279797740843523202476785004232147505672052190394758500724019428034199188777497035064422827629298582297494279879861488225923018760865819684915650536063948492731901425082304681020985574421499257681368094239745425387634141021031827282248405971992597075643924377658714652985000889513388684964711939312403067152824544634281495828215401068584744033879169300402084590877725047029613937028655594862138947970599324556413204197533657968393096038494994501923458653171466939753684050281433165404123928736429149241127533997878797706705992972181852787104945270439424781311593490707986388426214673884511768221944338898446257028000307983344144478233677172384322792218488357212587177475601085456942326565313002525403803453658024872715156760783695452630755069363828911428864810674986684902675420265961433252549785260948563317984295407378536533010256270992762468559072038543355162773003457799016118151626035876009755163837548608672811542932614350336283047400137099479525178031271336965241065211410066982938103793711716552140938009764834902471401713249634408418212216698480614594523963002106659695980241402945269509633320984786344461694696561045681196346215504526072794390462090440068367780434700499373140188225378990082983881807297913101262971595456854117267048999543589088609716496885025281088521 30797804874192836824022604710906845629695424409749645150236212635078759837694367600811166231798903794350376918717240548670218862402383882546525330177616330948298071468492853133426510000212965094721928819463263023790319658610155432925264866317932079663637280967262997060984918389993543065325853424748409730169326860704275908303428440531718043153216542514031367582435431658763885488614184765076294371300061922457321095128536357762898407766348641073182710662532128340627674201250146965125511090163159450139701890397659479921409617951568281473619590741165068696299076724740782498416060601899948846454242695104255392560711676257704697557743924118281102423555997908363406559950181303876093946860106065848013342592679511999545958765967774419539666283692823202938676776641395423841976955409073476375491348933942393746562721250457953401064091432154464351570139436758670835916650604021687178611116508149710914605445037844157327813138718516069494358299272972218460795574794160466723605130061150934210333333209630216055808712953337966068570286612841529844671788220843828623213066810223450566444515067874124379284263276764005624332554522975073553659880533321463027937159680312387499109881761821430040087491240546173873142209251465733205019351760707101352150695687089093794114027932198896194743369602909759403894165932552063914848391847104406600591015106960166637918854389588564306773864014590284013301140255626850692340760527563790425535794615804699857934280268762963114843091213789086383700794313264276095556546633787267129387816866007674065290866285403719453229933419075425735396238901921817688681855281776516697321795665179710855906852957333975278415164535288204122861354712210970943930268618539325643812617178215891750126140182443669672472204689917782142592065653236871733016303516431406602283167260187843951471707889578884006649449692839580305212397994080778187063689633441603891988104938473343033408739188119675342779977485733947646702636791096522104469092990166191140105846074296591070350999192850601480698154436974741556563031420209542389312714567399151819206818274620662097178659785589304985421385448871537548053551571763555379309086039180239228641828014650704986283081449665767636289060619809016264990440644175214108149787608240032069712223287784931888757142527955147845843401240976342954594668520830540807146874145578045878510561596275930032325380105498032452143789001068663503526357050020582708944923581257747723671758835603197307753109604157488100555719980178860423384956805175977960729711471115612764921913234369381147887207005138430443222337108731178425117491279254536064231949532206107224311937506946967840033022577990977422221327887807428953262560981494397750357099604346497724213278339076229209419460245601604127827863376505218460880284857246370398304034983363970289090684710456603299931482468565647562754618164813780213246823146979969479401856872925029018271477077920895351197793783236744637870380524173304997356602805766189613094006977535910741502777321332659035319691680712572391720428386087848601721784872932062075946028083386253235069933364203927517385884073771122163629577514798805875265795161688467514185692530161384670368054032432364270878118727870500152318733949329511802490273764944617909142351103585348572150432069976964294366690959237091683757552153321098525301643823942640505818609403094950902898194677465424587802244429809657813009464880280900315451586723993845909433457306361923324416615395079511361819524906106190906231318871355128561929566040303759413346541605669237580821980929100496161002024072351577801810065972715092542881260124676011892140030175065220206132123359502029056769501406788222530109225473542716887342193792791236127137053057700869983763750874787454155235279788604257685839106437841852626992648243992779063604111343502674861797923847952301052530590486485935686171482842080040748032684076135530229514929524077372586056839978716950102191929136388968620298053660930156595760310131351768488974256062794006295466946948066901714550757203730124614107616956647752209931481896026462272843 49831895065331189258573871199997156634388663890909249349615070071204373085988734064350737320253808195502462339098427322048716605666576523202587161168252476839000280065394084762421321918176843533678651803931953806468426169687055315357777444015348486751132151755815284013615236034532001903624856586571906406683844031146243896522846656610384873024391186989885056985549364527615412665833974240616061946523815786754048625322618642593472396808346363488154029365357927525497877252153635130249854267305957246122791844809877773351558511746697764417541874132189282234435263492439789851477156335566739224143060665472416072371358476828794973275102610881405086252559501100519914215252828635332556969926298499806795472729944641810769508263680756729938399733817642314490119893099305350545993381193443777720441473498255321124346833810463857135983933616225502632015198261444409927388504999422623071120743248487156836071686316817741165376941286836250029032123189463308292216852323130317043307682957037408472518234338178566958711382904688650729885488320868458669117979571372014138521647244091731241859917995128037382243723221752230421090019919865968700741373782111271646241120331541156799402056630995616969905687083169345061575132372713809253760024083451992848879850197493350470915317835597641758014164474060432178911581460430191215691151971797004838842877402257853470758176042855697378055661037123480446035883558793470219263397258173043295082950898384607745100384047210133728502294247301086687335697881557256837219453109663377697168607532786189806280825051809295848790530787121184115223648869194262744308730498238480880343287097917982022267003034709146846741654318831368723064289258777952559799492930735836249360564569897837561055701168744624912355412295519195433052566672044494147510182719823370844851067633853590510853977551866754713517525030300003355967141459314020854239399643359407248386340349858425220951986072155558998696617151092418506911730241647208083312199928148715293217144697562409861179629319553906781054645803958338654773788161882427750981579837182424374879652873424580601076475098956609367687494959388553657416066677519483005358789938237405336855849970440382313950664766317420907274684750509643364083796784642252250254845656076114928218015222194684432386156184521548222209060132387330380696599618581033920646170050554073079415305048900011814670163476094107435242324110924137362717950689711437280309768665234058274265392558656958846937470518754640609508668072427167893098516498625096928910945974603975991829153839806751100933009148662785534281379261310380698377328904608018134392715306616009567297997458413321377980353418813496317236705360774808822322022238155407088881473812778562512279519825054225214114997622490062291190234308840254725167564654987213921506511768368202436596356762646998058432206487993681761943395661848844636074452445562266973681736734413254941290237943740580266848329847185237369771805606477986018342177227265447294462101217281336129136918342364486317568097652705169467364352763746563254706785762445450760910740022698656302222757908838209013214099474839706907663456684099207959856672886735497128122721185756246809316024631756920684082316261528468545414772444324013725948926936411557662826401385018513976274360806406113535494224957115889390463545125502951312406589094382065287130202893802937291324409351349936356024188768708104070037465188264244459929820401166230232225675794719135911594090996164968304146090219108716310034772529380001277086326823999212044101610969498149009686791604087181063677444338313011054359851233663655860865555532054548425150286446057982674691195398045384219542504864587238648260851509418726642506031341399908938679985672051206266811151011886933680413311059941222926904317847908835565096441955709331204542121108337577333199637097586709470742807184966550280695445844186700444012925479080799739148250508863717047751536539762631298538144640915041414688515751370224963540744831851141629162481441784089279348754245980002977522352660584241881156616500236840819647978781051743361364 80629699939524026082596475910904002264084088300658894499851282706283132923683101665161903552052711989852839257815667870718935468068960405749112491345868807787298351533886937895847831918389808628400580623395216830258745828297210748283042310333280566414769432723078281074600154424525544968950710011320316136853170891850519804826275097142102916177607729503916424567984796186379298154448159005692356317823877709211369720451155000356370804574695004561336740027890055866125551453403782095375365357469116696262493735207537253272968129698266045891161464873354350930734340217180572349893216937466688070597303360576671464932070153086499670832846534999686188676115499008883320775203009939208650916786404565654808815322624153810315467029648531149478066017510465517428796669740700774387970336602517254095932822432197714870909555060921810537048025048379966983585337698203080763305155603444310249731859756636867750677131354661898493190080005352319523390422462435526753012427117290783766912813018188342682851567547808783014520095858026616798455774933709988513789767792215842761734714054315181808304433063002161761527986498516236045422574442841042254401254315432734674178280011853544298511938392817047009993178323715518934717341624179542458779375844159094201030545884582444265029345767796537952757534076970191582805747392982255130539543818901411439433892509218020108677030432444261684829525051713764459337023814420320911604157785736833720618745514189307603034664315973096843345385461090173071036492194821532932775999743450644826556424398793863871571691337213015302020464206196609850619887771116080432990585780014997577665082763097692878173855992043122125156818854119572845925643970988923503729761549275161893173181748113729311181841351188294584827616985436977575644632325281365880526486236254777447134234894041434462325685441445638720166974723139583661179539453394799041303089276801011140374445288331768254360725260275234341476594636826366153614367032743730187781292918314906433322990771859000931530628512404508261752800240933080211336819582091970140294294404581576194086471148045242698255134884545914353108880408260091205469618249283038384667875977417644565497677985091087300233746215983188543563745370318659629074237428817466358404633264316146997930238509979616321143298712476696068052461373363673335291268139411574727793044196132118957925866645175941846995543581592139887386113111992800866244307739732019989254692246491805997937151394260156154690580122912128710064388052606028316483473303801074889640657445719588756751067074176132248820216153801215977503716370041559123494820183862554198624664838822116791609934965360289218013375996804473739458033248582237775584583219649804839238573417125060236492798164130454423534457868091666419018097685345473186047849512233584319810546751732172725687041473103601358363688956559329324698013826662624849321275592542236453083593607338283959561715021661475618046123630421982007642186130651291015698780033031636907556108194817246870639695663697145352887789333417741859084781149834411856428570635377512836856768106084909537292691273042136530599983548610829071293034198898013835122468048423964642308413715917631479684078664189284954960434989398968697733506393653525528439200701356175571968752488603862548424792876383077829860915916352981074221097278824049837708232918324705792948812296897888194222604028815360943826433198517761883046930068545144775381407125160076141659133101081059236010706391244479665965615125214907216266091400735129839015892864302971457448152575167386590508772533187677224679468410664588856169917206378748403746815656730560317290316621123202880823318757547413276312006271375461178370076982961443529848225134191145065817038729752076250574901886674387835648590848545480612743424285750688192089090199702110268146232451840252194997560945539010523273397671452485966866928686266741192045609555216329968663180032941089633808376518479581400730073777304010034986569412300381559301054963202910118136737504578095574815701194046904692073109864314366495264233456884593029579460677078205634207 130461595004855215341170347110901158898472752191568143849466352777487506009671835729512640872306520185355301596914095192767652073735536928951699652514121284626298631599281022658269153836566652162079232427327170636727171997984266063640819754348629053165901584478893565088215390459057546872575566597892222543537014922996763701349121753752487789201998916493801481553534160713994710820282133246308418264347693495965418345773773642949843201383041368049490769393247983391623428705557417225625219624775073942385285580017415026624526641444963810308703339005543633165169603709620362201370373273033427294740364026049087537303428629915294644107949145881091274928675000109403234990455838574541207886712703065461604288052568795621084975293329287879416465751328107831918916562840006124933963717795961031816374295930453035995256388871385667673031958664605469615600535959647490690693660602866933320852603005124024586748817671479639658567021292188569552422545651898835045229279440421100810220495975225751155369801885987349973231478762715267528341263254578447182907747363587856900256361298406913050164351058130199143771709720268466466512594362707010955142628097544006320419400343394701097913995023812663979898865406884863996292473996893351712539399927611087049910396082075794735944663603394179710771698551030623761717328853412446346230695790698416278276769911475873579435206475299959062885186088837244905372907373213791130867555043909877015701696412573915348135048363183230571847679708391259758372190076378789769995452853114022523725031931580053677852516389022311150810994993317793965843536640310343177299316278253478458008369861015674900440859026752268971898473172950941568989933229766876063529254480010998142533746318011566872237542519932919497183029280956173008697198997325860028036668956078148291985302527895024973179662993312393433684499753439587017146680912708819895542488920160418388760785638190193475312711332430793340173211787918784660526097274390938271093492846463621726540135469421410792710257831958415042807446044891418866110607743974397891275874241764000568966124021469823299331609983502523720796375367648644862885684926802521390026665915655049902353527955531469614184410982300609450838430120828302993158034213459718608659478920392261926148253732174300753529454896998244290261521505751003715987867757992608648439214246686192037341171694075953661665707057686247322628437222916938228962258429443457269564460911725864272202543952917115001628050641666769319573056125033196209581989802426171818551603420323564748580220913982883349753225302464001511785095631351939821872149088470572333017380145438126358907932423773610595993729415617970056694738609357046597906605457805211928120047229903622748772317989184679637649455490581728710208331994185727911215414167220798241317058520100375162283398235750599416795895444553011086641409488511469485395728038104503426765330341751538900851952965402055884894453477607219377413991737129277034040957260297084202018209412098582999776614006061631670455886986122911326449133913580975111135356397822963597767508128783565839515449181880345543814083023450535978956490882997221794979140935159461770431134901673878289000103295946205639042751250927437243148278837977539254388127637767733234795153873622376524699153682789191365355140873468870464684642404327001150114822012706771080079015190700825485547013380165297299850621967225865953084395256809389235311227526326306373884808895800195147604797387409447970111705344323623526300863930115131116102219688302183501549763544665535600195564137274858288356912748977599910529768440042404264612371188785108742440603067181185555514514155592797495854511135962699826630928492380170172354256475591054004497024401803282517386052898561321516061901908486703539647742133659523757185532155411441472688353560177829528197198043125719994016204856419036247562374530453441636058535034297129707811430541804806681559913058242212699268218418219051449675085163670606522841799795054051747299218946362184854164455440026907669595462524898608376420849957121433849227439458129948995571 211091294944379241423766823021805161162556840492227038349317635483770638933354937394674544424359232175208140854729763063486587541804497334700812143859990092413596983133167960554116985754956460790479813050722387466985917826281476811923862064681909619580671017201971846162815544883583091841526276609212538680390185814847283506175396850894590705379606645997717906121518956900374008974730292252000774582171571205176788066224928643306214005957736372610827509421138039257748980158961199321000584982244190638647779315224952279897494771143229856199864803878897984095903943926800934551263590210500115365337667386625759002235498783001794314940795680880777463604790499118286555765658848513749858803499107631116413103375192949431400442322977819028894531768838573349347713232580706899321934054398478285912307118362650750866165943932307478210079983712985436599185873657850571453998816206311243570584462761760892337425949026141538151757101297540889075812968114334361798241706557711884577133308993414093838221369433796132987751574620741884326797038188288435696697515155803699661991075352722094858468784121132360905299696218784702511935168805548053209543882412976740994597680355248245396425933416629710989892043730600382931009815621072894171318775771770181250940941966658239000974009371190717663529232628000815344523076246394701476770239609599827717710662420693893688112236907744220747714711140551009364709931187634112042471712829646710736320441926763222951169712679156327415193065169481432829408682271200322702771452596564667350281456330373917549424207726235326452831459199514403816463424411426423610289902058268476035673452624113367778614715018795391097055292027070514414915577200755799567259016029286160035706928066125296183419383871121214082010646266393150584341831322607225908563155192332925739119537421936459435505348434758032153851474476579170678326220366103618936845578196961429529135230926521961729673436592706027681649806424745150814140464307134668458874785764778528159863126241280411724240886344362923304560246285824499077447427326066368031570168646345576763052595169515065997586744868048438073905255775908736068355303176085559774694541893072694467851205940622556914418157198283797994402175491146962622232271642277184967064112184708408924078492242153917074672753609474940358313982879114677051279135897404183376232258442818310995267038339251895508661250639278387210014550334909739095206566169175477258819153158217670270139695347177271156318630764578898029637444177639224526065463106227246708192260866043153505331287988159015598573441456265217489288812001393498945366969272333126531642044984260243150517867389133899814007105412422443796152771857939284373491188677455016767358620647028682985265116153315134061183913358673395129226429679531201097263263679454382561127605271832547887970439708854200775159584401112340411339423315174094334717003630646739879848923949089822860413667987063531502940577108029201385056177867780568049739737293328721109574317606915829870416309669758777023343676319540653185533915063415386967563927033200476434624276234868475376808140454922482074414066572061365050249525081895235630101608983583426412739548617591509768684181960135490594003186240326405940881785231631064782827328339123908806763906362226239073123946559172269195216056789821851538905739683151050987823054931031476873027827487598713679769617408980658243677055165743627836131325325354534010692634651486382515543941996881254383615503778653927636077320469538530742566955330850260955118112552605154958997916119832922190704336670462535513036381159642188766699685646421152668359186845515669059730919688304388436337832913140210772166517407338161005001005475341613702202481609782199070314063131555358767960954785235709351710492757032184152391166419410211949274622355113551740834586012018081723194758988664730517289602527871522214429303216720182828104144589513459676474610574745896315368289576721794099998292195523061484661654575970988082142854758256961865435956450940280428980156634073812361668572389212974871685083414006026878806900135208154629778 341552889949234456764937170132706320061029592683795182198783988261258144943026773124187185296665752360563442451643858256254239615540034263652511796374111377039895614732448983212386139591523112952559045478049558103713089824265742875564681819030538672746572601680865411251030935342640638714101843207104761223927200737844047207524518604647078494581605562491519387675053117614368719795012425498309192846519264701142206411998702286256057207340777740660318278814386022649372408864518616546625804607019264581033064895242367306522021412588193666508568142884441617261073547636421296752633963483533542660078031412674846539538927412917088959048744826761868738533465499227689790756114687088291066690211810696578017391427761745052485417616307106908310997520166681181266629795420713024255897772194439317728681414293103786861422332803693145883111942377590906214786409617498062144692476809178176891437065766884916924174766697621177810324122589729458628235513766233196843470985998132985387353804968639844993591171319783482960983053383457151855138301442866882879605262519391556562247436651129007908633135179262560049071405939053168978447763168255064164686510510520747315017080698642946494339928440442374969790909137485246927302289617966245883858175699381268300851338048734033736918672974584897374300931179031439106240405099807147823000935400298243995987432332169767267547443383044179810599897229388254270082838560847903173339267873556587752022138339337138299304761042339557987040744877872692587780872347579112472766905449678689874006488261953971227276724115257637603642454192832197782306961051736766787589218336521954493681822485129042679055574045547660068953765200021455983905510430522675630788270509297158178240674384136863055656926391054133579193675547349323593039030319933085936599824148411074031104839949831484408685011428070425587535974230018757695472901278812438832388067117121847917896016564712155204986147925136821021823018212663935474666561581525606729968278611242149886403261710701822516951144176321338347367692330715917943558035070040765922846042888109577332018719190984889296918354851550961794701631143557380931240988102888081164721207808727744370204733896154026528602568180584407445240605611975265615390305855736903575723591105100670850226745974328217828202208506473184648575504384865680767267003655396792024671472689504503032608210033327849170326957696964634532642987557826677324168824598618934528383614069943534542342239300094386157946681406245667349210500302672420735647452908653418526743864286366718253911508902141898948326666758729219001073907632745438767239118360803698864659425129698369509425799812907510410000834828040413852847510467296330971397794135260228695478667876932305734037434142499813698833368849255123839434761673716929008478677846675180802444663791932923050253837944604800191955479845665351497980832803685563820112731668751243306614254290841361761265620952465587387835030585636420762470169604909845083780694553625805311592527019014412870192923675820408693799563305663564511983048976996362078699283431023440032391784363652041216323589636802827618228149595511901029206015964892457425080749918742888183170683519265388057684285256081696233045937491253843184030064069608604037215455976891642041559060235848615597823100241961460560571197663290722003590382087478052137937876943738247953106842678299539165316630789145955543527677132969493789215720582163923246003862177812688889428750892681449531220301166063375606189025813862154268867819260965392071220332240907338460547679664498457790899900807737393801393293908619788677229454086463556932971558034300777802171522755485573991852347068733008268021028543300860831631933967721783874556738085373253074811087533358641285347007683797030867772394665518887692038908553069735706460154510524993213522939572195911251391957031790450511305807384290558461991677747173624464162679623810589384286041116550702996928202634964006799266510613742112934336739739641594604984654553311013612735175397302465283144612074100720031264034914111583248105933371127460728034339593338103625349 552644184893613698188703993154511481223586433176022220548101623745028783876381710518861729721024984535771583306373621319740827157344531598353323940234101469453492597865616943766503125346479573743038858528771945570699007650547219687488543883712448292327243618882837257413846480226223730555628119816317299904317386552691330713699915455541669199961212208489237293796572074514742728769742717750309967428690835906318994478223630929562271213298514113271145788235524061907121389023479815867626389589263455219680844210467319586419516183731423522708432946763339601356977491563222231303897553694033658025415698799300605541774426195918883273989540507642646202138255998345976346521773535602040925493710918327694430494802954694483885859939284925937205529289005254530614343028001419923577831826592917603640988532655754537727588276736000624093191926090576342813972283275348633598691293015489420462021528528645809261600715723762715962081223887270347704048481880567558641712692555844869964487113962053938831812540753579615948734628004199036181935339631155318576302777675195256224238512003851102767101919300394920954371102157837871490382931973803117374230392923497488309614761053891191890765861857072085959682952868085629858312105239039140055176951471151449551792280015392272737892682345775615037830163807032254450763481346201849299771175009898071713698094752863660955659680290788400558314608369939263634792769748482015215810980703203298488342580266100361250474473721495885402233810047354125417189554618779435175538358046243357224287944592327888776700931841492964056473913392346601598770385463163190397879120394790430529355275109242410457670289064343051166009057227091970398821087631278475198047286538583318213947602450262159239076310262175347661204321813742474177380861642540311845162979340743999770224377371767943844190359862828457741387448706597928373799121644916057769233645314083277447031247491234116934659584517842848703472824637409086288807025888660275188843064376020678046266387951982234241192030520684261651927938616540417021005462396107133954416211534455154095071314360499955294505099719599399868606886919466116999596291278973640939415749701800438838055939836776583443020725378868205439642781103122228237622577498014088542787703289809079774305238216482134902874962115948125006889487263980357818546139552800975400903731132322814027875248372579744678988208336243021742657537892736416419375390767794411787202767228161204812481934647271657314265312170824565378847944480311645261712916014880665234936125152409871759242796890300914546900108214994436490362719634138937712606087633136825396301470113958612659943667202041410224007940240462857649000282325235615344888982812715245462837288523960988719302550295814947760017282207928518968661191353248130105741941526129563363572269063765470938224277653459000967115064246777691909320256118859658154829735299397983186463178239931184621679288939529118890775607693665622147526347472690413133520431846954526421166844625930242740609233345579185717143239625204217697516964040411749046263210464223916467016060598520516593131730091725309692642216167573266079455541046787693055182358902326314595910232136856897826368467216217186827049123731580249124911849301239668820042784316015550848322966598074854670947046801133729755787254453112573542496121770629103125760931874769724826134670165898252845086248198126613787204732298713121625347045907518457256696496829299071404972692889562703914835804944717303242266346283400685011434774591815653026338444793512493419545595784331379981604237478199929314429675068261977443929139732884709601330744879816446861902442443789962428190179981873219040187545950639021836632939443063397576759219695155452145125150664914000053307962469032740219482887422551071844430074972479947655734776865638544954357525584213992974586716020455181028595409912162080676420980963893807292266824213324049060760651691296599312296492211685800899264802809265174418998394315612582687127509311567975478171131848242745712124768708174532392932607303324558119791016785133487606841239728546258255127 894197074842848154953641163287217801284616025859817402746885612006286928819408483643048915017690736896335025758017479575995066772884565862005835736608212846493388212598065926978889264938002686695597904006821503674412097474812962563053225702742986965073816220563702668664877415568864369269729963023422061128244587290535377921224434060188747694542817770980756681471625192129111448564755143248619160275210100607461200890222333215818328420639291853931464067049910084556493797887998432414252194196282719800713909105709686892941537596319617189217001089647781218618051039199643528056531517177567200685493730211975452081313353608835972233038285334404514940671721497573666137277888222690331992183922729024272447886230716439536371277555592032845516526809171935711880972823422132947833729598787356921369669946948858324589010609539693769976303868468167249028758692892846695743383769824667597353458594295530726185775482421383893772405346476999806332283995646800755485183678553977855351840918930693783825403712073363098909717681387656188037073641074022201455908040194586812786485948654980110675735054479657481003442508096891040468830695142058181538916903434018235624631841752534138385105790297514460929473862005570876785614394857005385939035127170532717852643618064126306474811355320360512412131094986063693557003886446008997122772110410196315709685527085033428223207123673832580368914505599327517904875608309329918389150248576759886240364718605437499549779234763835443389274554925226818004970426966358547648305263495922047098294432854281860003977655956750601660116367585178799381077346514899957185468338731312385023037097594371453136725863109890711234962822427113426382726598061801150828835557047880476392188276834399022294733236653229481240397997361091797770419891962473397781762803489155073801329217321599428252875371290898883328923422936616686069272022923728496601621712431205125364927264055946272139645732442979669725295842850073021763473587470185881918811342987262827932669649662684056758143174697005599999295630947256334964563497466147899877262254422564731427090033551484844591423454571150361663308518063023497930837279381861722104136957510528183208260673732930609971623293559452612884883386715097493853012883353750992118511294394909750624531984190810352731077170622421309655464991648846038585813143208197767425575203821827317060483458405907593849315166033207656275300525450563093743544215366413346315586381298104739354824173947366043472211993577070232728058444782984065997360368923534083761679989438776590013154305792442813495226774973723655491436627266884376479845205993940524260960895243656982169369467014948920634008775068503271501847792792531946316286776947975474158315956400893294453339984438314761458850651057183642808095953026965059114220619372804744166016932855698393988478115598063801159070544092443043407301088922545221974942466968149226493077432530772546382944909891994706278610638279302042909996517077600258217301126400580331732759371644944655610802157021399594410942802930867782209500013017408111124962493895247356499407844962172557809455319728528137310870365763085167108661557011680150480263108821069202779080915656122285884052752472298883060095061222834092308941913370848272857258240292907192889882026833923470268770147043095190316358452116403295546086503858107155263698808818507972779241512844197792010402878987272569330732409431682615414562766489682380502700359007111760294401443782244153446056106110780678848455372097262839280302593852781045097558777034419831880093275448829837772504138285937323115822968976881766121158593819348266534302302914117224664073965199275536420042527050606227308208574493939882668264873410785181451315957780528705219936238198272641338654970152829771087255282088069959536468983525549683362194931376163538167880465156409904225978673052245631539901217296452639138412658711067431756429503837134638445046692807847302309224694846649807698531313423007287353335134055254177292112163864878989090906307245545210995269380782275252424196642217436141367896950156260948334875579321884361880476 1446841259736461853142345156441729282508202459035839623294987235751315712695790194161910644738715721432106609064391100895735893930229097460359159676842314315946880810463682870745392390284482260438636762535593449245111105125360182250541769586455435257401059839446539926078723895795088099825358082839739361032561973843226708634924349515730416894504029979469993975268197266643854177334497860998929127703900936513780195368445964145380599633937805967202609855285434146463615186911478248281878583785546175020394753316177006479361053780051040711925434036411120819975028530762865759360429070871600858710909429011276057623087779804754855507027825842047161142809977495919642483799661758292372917677633647351966878381033671134020257137494876958782722056098177190242495315851423552871411561425380274525010658479604612862316598886275694394069495794558743591842730976168195329342075062840157017815480122824176535447376198145146609734486570364270154036332477527368314126896371109822725316328032892747722657216252826942714858452309391855224219008980705177520032210817869782069010724460658831213442836973780052401957813610254728911959213627115861298913147296357515723934246602806425330275871652154586546889156814873656506643926500096044525994212078641684167404435898079518579212704037666136127449961258793095948007767367792210846422543285420094387423383621837897089178866803964620980927229113969266781539668378057811933604961229279963184728707298871537860800253708485331328791508364972580943422159981585137982823843621542165404322582377446609748780678587798243565716590280977525400979847731978063147583347459126102815552392372703613863594396152174233762400971879654205396781547685693079626026882843586463794606135879284661181533809546915404828901602319174834271947800753605013709626925782829899073571553594693367372097065731153727341070310871643214614443071144568644554370855357745288402811958511547180389074305316960822518428768667487482108052280613358846157107654407363283505978936037614666290999335205217689861651223569563796751985568959862255033831678465957019885522161347911984799885928554290749761531915404982489614930433570660835363043552707212328622046316613569707193414644018938320818324526167818219722090635460851765080661298997684718830398837222407292487633952132738369434662354478912826396404359282760998742826478934954150131088358706778487338528303374369450678017958063343299510162919606134207758102789148526265944167306108594637700786477305747894798106906389263295711259073284938414748996616114591186461772397102682743728042126883188718091981799346901023314192451293627077349657262365357615594829313134216990330858016715308966129150848075117767561661175759760690719621153244924854283172642534734129709218867933265112161776757144380213189219962560898934307529589201919463864926702393251522802126185608339220735316621345041404880129772202267547209679540610770703731004624198831523825169386245972967665057522864550290671350821558247534858153926216270874898351411390366978780128086042556071999907016977057819860171225704359471272966423905560693074402587049820253447003512581930658433188117098058467843535445467723395517374991147792979183710421219688516069887144184954414341433853762672087941677301024608922743738204993431998324939717193844228920072145706569515869088582625628736258389459740693277697605376183010096044855489127185399183117937141730395737039909812397200837759396855836410831699374136671806857360891911055497982090721718380663524291737368444596698123897221827932325299638871233161217754108375764137252430252644045143743565087733552232976135633047793933671525976407643065498848232707032479446348396120444578904504897812853848579028075177475684157365061388863186641391962932621862511306738169510621031380899058498029631017929708241802083122237990740623897200565389072700812568496627208614719814833639674961239048696328050458687505807344499143901621521187058335608597796116232272461772333528370866759979239673176446964569077439093787956707394149490449784817129249520760699487687966941394435941716819050430620135603 2341038334579310008095986319728947083792818484895657026041872847757602641515198677804959559756406458328441634822408580471730960703113663322364995413450527162440269023061748797724281655222484947134234666542414952919523202600173144813594995289198422222474876060010242594743601311363952469095088045863161422160806561133762086556148783575919164589046847750450750656739822458772965625899253004247548287979111037121241396258668297361198928054577097821134073922335344231020108984799476680696130777981828894821108662421886693372302591376370657901142435126058902038593079569962509287416960588049168059396403159223251509704401133413590827740066111176451676083481698993493308621077549980982704909861556376376239326267264387573556628415050468991628238582907349125954376288674845685819245291024167631446380328426553471186905609495815388164045799663026910840871489669061042025085458832664824615168938717119707261633151680566530503506891916841269960368616473174169069612080049663800580668168951823441506482619964900305813768169990779511412256082621779199721488118858064368881797210409313811324118572028259709882961256118351619952428044322257919480452064199791533959558878444558959468660977442452101007818630676879227383429540894953049911933247205812216885257079516143644885687515392986496639862092353779159641564771254238219843545315395830290703133069148922930517402073927638453561296143619568594299444543986367141851994111477856723070969072017476975360350032943249166772180782919897807761427130408551496530472148885038087451420876810300891608784656243754994167376706648562704200360925078492963104768815797857415200575429470297985316731122015284124473635934702081318823164274283754880776855718400634344270998324156119060203828542783568634310142000316535926069718220645567487107408688586319054147372882812014966800349941102444626224399234294579831300512343167492373050972477070176493528176885775603126661213951049403802188154064510337555129815754200829032039026465750350546333911605687277350347757478379914695461650519200511053086950132457328402933708940720379584616949251381463469644477352008861900123195223923045513112861270850042697085147689664722856805254577287302637803386267312497773431209409554533317215943648344205516072779810292079628581023369206598102840365029303360790744317819470561672434990172425969196510252054138775977448148842165184394932377618540402658334293258588793862603906463821500621104418375529824370683522130282542003744258689299324965030834964834046279777256433653861948832758296104029963051785551408475186541537353658162441747473235974167907690672296499621017873918223260601272576998682601231939251492025490377469400652695867910299507977462536708666193779469201325747577625982519172444470677718584322295804584853097407178248334183180271739051695606134775162258915180508849586603285256152431663778723922433963950102104714669235696436172618043301476277387569108723518531447996884252269707967519381627890929568122684648115189886685587915819553962213547388378374539028845486939782116516990075227971296188198254718629465831750522865632212042369548781584314382947693743600296778655070147994015708576544464720154072063449101469594473972160814952947239246177248433742795676042936214534559264901829936628087020265921795208487340887324110388504158685919164634669129486843413653158549511785670384617695854293836865892006172671752448669551162078352454472578886883218262097214843522591993775580454051010806948017166278660939177090477926363572039962297377743221455998862352157179732146681991055526612514050074575546075613022025509686246327371581242669935350708050896190050372842341035268275234083085673656604694938518787173162686264633760479391135256212862584997627061459282730617902774692282393993451598690990917368042023579314380124639617965621290118455897033801426544062124946444108397844505067358953246298386028670805125831887593325950854037306991203930745881904985416296327429655279749125668662426120937271351837041325953659983746339333167702663530272725037241325891738196840855584917097655384276592398372314982016079 3787879594315771861238331476170676366301020943931496649336860083508918354210988871966870204495122179760548243886799681367466854633342760782724155090292841478387149833525431668469674045506967207572871429078008402164634307725533327064136764875653857479875935899456782520822325207159040568920446128702900783193368534976988795191073133091649581483550877729920744632008019725416819803233750865246477415683011973635021591627114261506579527688514903788336683777620778377483724171710954928978009361767375069841503415738063699851663645156421698613067869162470022858568108100725375046777389658920768918107312588234527567327488913218345683247093937018498837226291676489412951104877211739275077827539190023728206204648298058707576885552545345950410960639005526316196871604526269238690656852449547905971390986906158084049222208382091082558115295457585654432714220645229237354427533895504981632984418839943883797080527878711677113241378487205540114404948950701537383738976420773623305984496984716189229139836217727248528626622300171366636475091602484377241520329675934150950807934869972642537561409002039762284919069728606348864387257949373780779365211496149049683493125047365384798936849094606687554707787491752883890073467395049094437927459284453901052661515414223163464900219430652632767312053612572255589572538622030430689967858681250385090556452770760827606580940731603074542223372733537861080984212364424953785599072707136686255697779316348513221150286651734498100972291284870388704849290390136634513295992506580252855743459187747501357565334831553237733093296929540229601340772810471026252352163256983518016127821843001599180325518167458358236036906581735524219945821969447960402882601244220808065604460035403721385362352330484039139043602635710760341666021399172500817035614369148953220944436406708334172447006833598353565469545166223045914955414312061017605343332427921781930988844287150307050288256366364624706582833177825037237868034814187878196134120157713829839890541724892016638756813585132385323301742770074849838935701417190657967540619186336604502471412729375454444363280563152649884727139328028002727791704420703532448191242371935185427300893900872344996800911331436094249533935722351536938034283805057281153441109289764347411422206429005395327998981436099160178980173949474498831394531708730195253078533073730127579237200871962882270905921914772109012311216652137162114069383427634828862521164678350636627689436391136641445045166605072859828941871223309575488515506938800363581754912218621149513557948511157930269579480541351159839455035321068931004864747793248095223575485625958888171827995735448929582350042205686435529803543943028067069638638296469356913400622446250601860798625053906574179896586517587407966361610241787391437554145741170673359225195336694626123841882902101109405411441760770884514040543779005354982234486871503243645852158654072180008392193307555042356617383130225237373025042246178181600918944242895650048040611804186694452313624937755357154667114888043011782023533967133047831467413902614189902432255656083558706614629419369035031317895529624402033484895753128615837551154044267860237529063211242080653304895191849331022834383431131662775176649438715024156211860289510752680366292013697920120148204534731553030460649865255435033723251755115579672042618290205063367989993878864389881721381133358070935566606692892474089494382391284084056021494070679933423693149717125857868167839928221776643029898808858589887863777330741974441345353220690284482479371017915152273280720889814211827976328257067169253251334060923814218805568398501984567716026780485406534116507941115565120005000815383097691678060499118482339507466312731897019950059015924645924122580835396554793700731621109312022298267100521608945398054347859767704412356446637657698627109451197647256676894471713682078768079938060989909853822159938052013456661381806135105552267068963321024894123545887552210898002190796987697250591510217772918229061185433121124410057679763174822058455141258957540343272884039049820218309217422745602151682 6128917928895081869334317795899623450093839428827153675378732931266520995726187549771829764251528638088989878709208261839197815336456424105089150503743368640827418856587180466193955700729452154707106095620423355084157510325706471877731760164852279702350811959467025115565926518522993038015534174566062205354175096110750881747221916667568746072597725480371495288747842184189785429133003869494025703662123010756262987885782558867778455743092001609470757699956122608503833156510431609674140139749203964662612078159950393223966236532792356514210304288528924897161187670687884334194350246969936977503715747457779077031890046631936510987160048194950513309773375482906259725954761720257782737400746400104445530915562446281133513967595814942039199221912875442151247893201114924509902143473715537417771315332711555236127817877906470722161095120612565273585710314290279379512992728169806248153357557063591058713679559278207616748270404046810074773565423875706453351056470437423886652665936539630735622456182627554342394792290950878048731174224263576963008448533998519832605145279286453861679981030299472167880325846957968816815302271631700259817275695940583643052003491924344267597826537058788562526418168632111273503008290002144349860706490266117937918594930366808350587734823639129407174145966351415231137309876268650533513174077080675793689521919683758123983014659241528103519516353106455380428756350792095637593184184993409326666851333825488581500319594983664873153074204768196466276420798688131043768141391618340307164335998048392966349991075308231900470003578102933801701697888963989357120979054840933216703251313299584497056640182742482709672841283816843043110096253202841179738319644855152336602784191522781589190895114052673449185602952246686411384242044739987924444302955468007368317319218723300972796947936042979789868779460802877215467757479553390656315809498098275459165730062753433711502207415768426894736897688162592367683789015016910235160585908064376173802147412169366986514291965047080784952261970585902925885833874519060901249559906716189119420664110838924088840632572014550007922363251073515840652975270746229533338932036658042232555471188174982800187178643933867680743345276884854153977932149262797226220919581843975992445575635603498168364010739459950923297993420036171266384704134699391763330587212506105027386043037147277203283540455174767346604475240931024717975847249135449966939540208175007311211566673678645189303855904397824859776836057355855265771940592662312414513208322651112565343499919633116811116834199513601586928271295236838695537044292869113097493708886560160748826678336680868833842067696063904930456239810938366577616100833178023107180091647576349438424607573079018650574305101909703770946463339194569685888328921442412410920801471469788382757063410950696008696697913202548292764466212969305084339201540738940082024776697373656285779762416278560888065380014477507080992561627806072530487066927543765237927297392102514006275838485143735529206143733529951564140050957208275802763602100868908531898087406606424338826671788917816615632278477318145633781674408198763831566862620812324957683135274691182122899369164010145975781622677308911208919445114757960370746419554412582616994379033963841915356691875618877140849154023941354198357920884602423085695776839716849038374611574718683718587273139530742688015276244054552441948854970170967274283591285523456015686925297579908878974787945388055303969075899336516251435817293039352184566809219552636639659103164597143328807333403864286403522403870089194762937580388295395461475503749210035463906077153327747569384783175198650793661605510321616478851223185383116099986857447988109882535056642986105206853198738171247076094725072708003013215635142545188259778178987477733325702474902534691500053653513322593700785292316218749437721326236447018580658947991825645339407515419113126309483012950868306441190450975542831960023670853223108634521943347259098871889044931772454292112721210035899859299781032997154381198857801136705204494901615795060584167761 9916797523210853730572649272070299816394860372758650324715593014775439349937176421738699968746650817849538122596007943206664669969799184887813305594036210119214568690112612134663629746236419362279977524698431757248791818051239798941868525040506137182226747858923807636388251725682033606935980303268962988547543631087739676938295049759218327556148603210292239920755861909606605232366754734740503119345134984391284579512896820374357983431606905397807441477576900985987557328221386538652149501516579034504115493898014093075629881689214055127278173450998947755729295771413259380971739905890705895611028335692306644359378959850282194234253985213449350536065051972319210830831973459532860564939936423832651735563860504988710399520141160892450159860918401758348119497727384163200558995923263443389162302238869639285350026259997553280276390578198219706299930959519516733940526623674787881137776397007474855794207437989884729989648891252350189178514374577243837090032891211047192637162921255819964762292400354802871021414591122244685206265826747954204528778209932670783413080149259096399241390032339234452799395575564317681202560221005481039182487192089633326545128539289729066534675631665476117234205660384995163576475685051238787788165774720018990580110344589971815487954254291762174486199578923670820709848498299081223481032758331060884245974690444585730563955390844602645742889086644316461412968715217049423192256892130095582364630650174001802650606246718162974125365489638585171125711188824765557064133898198593162907795185795894323915325906861469633563300507643163403042470699435015609473142311824451232831073156301183677382158350200840945709747865552367263055918222650801582620920889075960402207244226926502974553247444536712588229205587957446753050263443912488741479917324616960589261755625431635145243954769641333355338324627025923130423171791614408261659141926020057390154574349903740761790463782133051601319730865987629605551823829204788431294706065778206013692689137061383625271105550179466108254004740660752764821535291709718868790179093052793621892076840214378533203913135167199892649502579101518568444679691449761981530174408593227659856365089047327796988089975369961930277280999236391092012215954320078379662028871608323403867782064608893496362992175559111102278167369510670097779235843429587016409120286236232606623243909110159474189462369946876358915691893068186832045230676770278829460704886525643938901003064815286634349022509470684688718707280665430754287447531462675996268120541272262078901448430791047080696314740864761426383306616305769700401792086117208321069194512519048920654674072129798416192109901750340460259783753966433647254739129647380020580714093826951299223232626985592830470891619497111737308073580981961123442474662613085770145996808164414506598946313051805414108139673973432806805009991974660066573688412242183727876935351445836294171955723833603244682763144702744454017603873984254131406011170439415285967909196289208458589463422899092683873258621572963346163584924341323634231016003483098434330343062689983045441301208286851646950174006942547667266570161327379669118016665080185195212198485933262776204264355859476998616006108440573984096094553472984526958279843923335297360671047661762035504896410350430171309803889196789232081172639718002757738395129921912406364605453583073600308654272888813623581882936947026531443237361455051330305085356203389439380075014705766747142627873609831946998974708195106139299594623781326625912162440242921122138474182512295602088054293678498231498732127156364016188914449219209680281072147712020031622103933813154103501291116314215913666606325704714170529283684501598439494323760720006902485115658910751130975779573567801869795456693817315035513902243066797205176233335337501030114831349172349198680762964520240957462186787932431516489406174508008490512770151763697352864176800919261415035280019831627466084574521430384170921673044020096331772534857476871790118106117205575416522778889799074681358236174256111921542130685175755024713210833217806186319443 16045715452105935599906967067969923266488699801585804000094325946041960345663363971510529732998179455938528001305216205045862485306255608992902456097779578760041987546699792600857585446965871516987083620318855112332949328376946270819600285205358416884577559818390832751954178244205026644951514477835025193901718727198490558685516966426787073628746328690663735209503704093796390661499758604234528823007257995147547567398679379242136439174698907007278199177533023594491390484731818148326289641265782999166727572057964486299596118222006411641488477739527872652890483442101143715166090152860642873114744083150085721391269006482218705221414033408399863845838427455225470556786735179790643302340682823937097266479422951269843913487736975834489359082831277200499367390928499087710461139396978980806933617571581194521477844137904024002437485698810784979885641273809796113453519351844594129291133954071065914507886997268092346737919295299160263952079798452950290441089361648471079289828857795450700384748582982357213416206882073122733937440051011531167537226743931190616018225428545550260921371062638706620679721422522286498017862492637181298999762888030216969597132031214073334132502168724264679760623829017106437079483975053383137648872264986136928498705274956780166075689077930891581660345545275086051847158374567731756994206835411736677935496610128343854546970050086130749262405439750771841841725066009145060785441077123504909031481983999490384150925841701827847278439694406781637402131987512896600832275289816933470072131183844287290265316982169701534033304085746097204744168588399004966594121366665384449534324469600768174438798532943323655382589149369210306166014475853642762359240533931112738810028418449284563744142558589386037414808540204133164434505488652476665924220280084967957579074844154936118040902705684313145207104087828800345890929271167798917974951424118332849320304412657174473292671197901478496056628554150221973235612844221698666455291973842582187494836549230750611785397515226546893206266711246655690707369166228779770039738999768982741312740951053302622044545707181749900571865830175034409097654962195991514869106445251269892411836277222310597175268619303829611020626276121245245990148103582875605882948453452299396313357700212391664727002915019062025576160789546841364163939978128978779739707498742337634009286946257436677473002825121643705520167133999211550021077925905728796400245094700651250112569738493931823652878413868509548495543338021286020059388124124988410781328863923374644244948350424163891813148940378363013311577911542608395938836378986321418562903399079209669481352408810667250034177597814245390716023564904800224870839962825403127760805741403300737647840200064611481045196721406815508254536920176530809330803584055498181066798279634202889356009724002501422804837587175981099569476204943965150912889952981123809901712048819492579951718140112164132748143159180251535010165501790326661893078097983180523895206588391722464865301908042828213079402355102914910303635881549599436994618104352006966228430469296407384267972997204668262582452484260693301048244569526143500684879285892510152895333760624444899103633519869622974397628785749485193015539668230944897704699398335917914355050081625603950861588285969307312158957913138143430439093524320425843434171969638761444739217028301757318895927412419556311597159181001578973392092331626018604588676641726845455067000312285675626117415818997887250968050607531622390735411916820678810478971659795557761797577347109438930895387697542784635021135997245558779126494837514605141756575896922055495528181087140901672886074291512866707328211836026330649380506869884714539481181208708116785020172301896856337828978311739048945890181766525318048729537385611985464954412322815234355817306251707040698734416477842834658247479104151180954210732410955027071171718143589342692271692220032387724518292970699933907275025496973216130945343897243204966294478204735970662007151048978029708635500099834974540658017207253266302740988486312460229208112449012866770487204 25962512975316789330479616340040223082883560174344454324809918960817399695600540393249229701744830273788066123901224148252527155276054793880715761691815788879256556236812404735521215193202290879267061145017286869581741146428186069761468810245864554066804307677314640388342429969887060251887494781103988182449262358286230235623812016186005401184894931900955975130259566003402995893866513338975031942352392979538832146911576199616494422606305812405085640655109924580478947812953204686978439142782362033670843065955978579375225999911220466768766651190526820408619779213514403096137830058751348768725772418842392365750647966332500899455668018621849214381903479427544681387618708639323503867280619247769749002043283456258554313007878136726939518943749678958847486888655883250911020135320242424196095919810450833806827870397901577282713876277009004686185572233329312847394045975519382010428910351078540770302094435257977076727568186551510453130594173030194127531122252859518271926991779051270665147040983337160084437621473195367419143705877759485372066004953863861399431305577804646660162761094977941073479116998086604179220422713642662338182250080119850296142260570503802400667177800389740796994829489402101600655959660104621925437038039706155919078815619546751981563643332222653756146545124198756872557006872866812980475239593742797562181471300572929585110925440930733395005294526395088303254693781226194483977697969253600491396112634173492186801532088419990821403805184045366808527843176337662157896409188015526632979926369640181614180642889031171167596604593389260607786639287834020576067263678489835682365397625901951851820956883144164601092337014921577569221932698504444344980161423007073141017272645375787538297390003126098625644014128161579917484768932564965407404137604701928546840830469586571263284857475325646500545428714854723476314101062782207179634093350138390239474878762560915235083134980034530097376359420137851578787436673426487097749998039620788201187525686292134237056503065406013001460271451907408455528904457938498638829918092821776363204817791267681155248458842348949793221368409276552977542334653645753496399280853844497552268201366269638394163358594673791541297907275357636338002364057902953985544977325060622800181139764821285161089995090578173127854328159057511461943175821558565796148827784978570240632530855367596151662465195068520064435859027067398382066308602676007625860949981226295189013572803309218458001900923339194237214250618686716774346835655587664407049449405195636723146396781215210972509463681243124439694884527848378096340628465103529739632097911598258590136026480940465666226287499564585850975807318871233872125579092472783148341519835230252036871072827050204311516088340903927245562610501158491932773278246668583951212795087798617395954956037054306836912977261149413906374486196918625217486578365223307537778647400265328874123673863945767377430906303882995989027769375774580793299089268422595809863115784680930923454765330941920896952660976675878256467220805890923071225634107835105400558773531986390429709274205491519909532626491203240968314814730853523169802895950972695348107532246557707675307897875729099973013634894190059177111634221703929424662979242259253211715721129287365986366484696319737483468761802334932662520266164038428601172567099560673851103822481884830919204581685308369935179042117948605504835329693081069934893761997930234894447075326991442373260043692607719197967025315726728530035006540602005436391134100038478883936051529621734532983441991221282866519868124401922795315409286733814822037648044634075527150285020954055776387365407827082620994818161731044819909790554386312978975504969428123687505287960807607468804757885306850815685638460342633084243439628678782670130645658152735385932137600879389897415179442363075615709665892083612470700138585463035561684488295353040045135869020951649139553572990531561373359600018403600301867016941263301298067013062212842452125257166183605125158278989634049222016253381509378224283119171488215253921323282230672956806647 42008228427422724930386583408010146349372259975930258324904244906859360041263904364759759434743009729726594125206440353298389640582310402873618217789595367639298543783512197336378800640168162396254144765336141981914690474805132340581069095451222970951381867495705473140296608214092086896839009258939013376350981085484720794309328982612792474813641260591619710339763270097199386555366271943209560765359650974686379714310255578858630861781004719412363839832642948174970338297685022835304728784048145032837570638013943065674822118133226878410255128930054693061510262655615546811303920211611991641840516501992478087141916972814719604677082052030249078227741906882770151944405443819114147169621302071706846268522706407528398226495615112561428878026580956159346854279584382338621481274717221405003029537382032028328305714535805601285151361975819789666071213507139108960847565327363976139720044305149606684809981432526069423465487481850670717082673971483144417972211614507989351216820636846721365531789566319517297853828355268490153081145928771016539603231697795052015449531006350196921084132157616647694158838420608890677238285206279843637182012968150067265739392601717875734799679969114005476755453318419208037735443635158005063085910304692292847577520894503532147639332410153545337806890669473842924404165247434544737469446429154534240116967910701273439657895491016864144267699966145860145096418847235339544763139046377105400427594618172982570952457930121818668682244878452148445929975163850558758728684477832460103052057553484468904445959871200872701629908679135357812530807876233025542661385045155220131899722095502720026259755416087488256474926164290787875387947174358087107339401956938185879827301063825072102041532561715484663058822668365713081919274421217442073328357884786896504419905313741507381325760181009959645752532802683523822205030333950006097609044774256723088795183175218089708375806177936008593432987974288073552023049517648185764205290013463370388682362235522884848841900580632559894666538163154064146236273624167278408869657092590759104517558742320983777293004549530699693793234239451587386639989615841745011268387299095767444680037643491948991338627213977621152318533551478881583992512161485829591427925778512922196494497465033676825816998005597235153430488948604352826107115799687544575888535283720907874641817801625032829135468020190163769956026161066609932087386528581736422261195075926946439126142541803150281654779337207703785709793956708002794406223779712652817830778269119011367391345131639374864322612621621487453006462439390986492279464844089851158195001310677468259617378889751132916260465097378831241691830883776034096996419055298186276102325576633552774518913027114815792561285062310742753817147421335022742104081830724082132279593367432820285310965761056808259717814848325395005943962401862590368399468318204431347680359449084821454075392004057931510179049463063247524037934877564907455192167366405776333758322373072653388320067238984749110032063331778793166770856687440522508220252212187112366787204001282797813977247202696188172115078975463934269363059300379666670487775236865205501002866007182152574411531395598722947411263679939544370127173889934874322367678640595171126070771210912969937228072982289044795627719715473076092959359688358854444606739069199435295843039510186588238100509097727926246776201298950184478227422024707088539482438639657080349514075639277117999377459511605606448935075923258350920770418457422684246870105759834036645733628876731173463878829688764067501541004121647481574441904124248419963794223941556131022678466108094957449273439699339949328323029997757375469290297424271027518456686178136240472525460262704463806633736197045899761575820226867951132972977014290768135085057980967969741749443852586430596149595920205910273957144996234793424910870996418062632856206438942382737407561240984036864071865961231495280634625515376816432812360838506506264361491266948813114132408215161634833793779089469023762674270588762644527024107657800675483129435731243539727293851 67970741402739514260866199748050369432255820150274712649714163867676759736864444758008989136487840003514660249107664501550916795858365196754333979481411156518555100020324602071900015833370453275521205910353428851496431621233318410342537905697087525018186175173020113528639038183979147148726504040043001558800243443770951029933140998798797875998536192492575685470022836100602382449232785282184592707712043954225211861221831778475125284387310531817449480487752872755449286110638227522283167926830507066508413703969921645050048118044447345179021780120581513470130041869129949907441750270363340410566288920834870452892564939147220504132750070652098292609645386310314833332024152458437651036901921319476595270565989863786952539503493249288368396970330635118194341168240265589532501410037463829199125457192482862135133584933707178567865238252828794352256785740468421808241611302883358150148954656228147455112075867784046500193055668402181170213268144513338545503333867367507623143812415897992030678830549656677382291449828463857572224851806530501911669236651658913414880836584154843581246893252594588767637955418695494856458707919922505975364263048269917561881653172221678135466857769503746273750282807821309638391403295262626988522948344398448766656336514050284129202975742376199093953435793672599796961172120301357717944686022897331802298439211274203024768820931947597539272994492540948448351112628461534028740837015630705891823707252346474757753990018541809490086050062497515254457818340188220916625093665847986736031983923124650518626602760232043869226513272524618420317447164067046118728648723645055814265119721404671878080712299231652857567263179212365444609879872862531452319563379945259020844573709200859640338922564841583288702836796527292999404043353782407480732495489488825051260735783328078644610617656335606146297961517538247298519131396732213277243138124395113328270061937779004943458941157970538690809347394425925130810486191074672861955288053084158589869887921815019085898403646038572896126809615061472601765178082105777047699575185412535467722376533588664932541463391879649487014602648728140364182324269487498507667668152940264996948239009761587385501985808651412693616440826836517921994876219388783576972903103573544996675637229854961986906993096175408281284817107661864288050291621246110372037363068699478115274348656992628980797933215258683834391885188134008314153695131257744048122145057153241628139715345112368739656680260546898022924044575394719568753059435300317224880227674314648090537741912854585836832076302864611892701346967239364588620093309193380897827099222275726849753405370691598582486752596943417092667638202647267969121998147770969424443845411863804811389985854165020104077373403214669999379757922493514674877360077392666083492388455231437681265921798111115096630792109474808912318448598781215585886046683427738885459006849350150328199065868003698887609955766946243513065704253339488248491256634828372143621438157753584311774832569926670006984724308454671423238077493331445579445886320022217767345977533269188243686521408187708081647705466667175237677874031233189840290671187837900849110398253739860249719429271327822920424898574129603547238808111638803747030657882854424337786492340200335923594557678608782279096481517808008755479625852397283045779306168760109146946861992071419157305090783036296181955243416898789983062751717788158474376200637587315243961150966268560372637503204213325646902101238985079450805424998024689683261239859872515529669680406352907996862271679985350368060872246049404369757313410982234785831871986190206549828751129049013225660805107167031949317848159488420289200087978657340497432191147564364160030748223512071275438494082352750577261458687210584217216416642969550805215703639120705127681581453465820493564775362568985889666810888318405895611009581881098194540694734295422782543430261935686003625438951763056653994225533780416734679377779769807562428504329161655566257665381345239958952058079103072984690523970272022751307226829288890737050759013474212684100498 109978969830162239191252783156060515781628080126204970974618408774536119778128349122768748571230849733241254374314104854849306436440675599627952197271006524157853643803836799408278816473538615671775350675689570833411122096038450750923607001148310495969568042668725586668935646398071234045565513298982014935151224529255671824242469981411590350812177453084195395809786106197801769004599057225394153473071694928911591575532087357333756146168315251229813320320395820930419624408323250357587896710878652099345984341983864710724870236177674223589276909050636206531640304524745496718745670481975332052406805422827348540034481911961940108809832122682347370837387293193084985276429596277551798206523223391183441539088696271315350765999108361849797274996911591277541195447824647928153982684754685234202154994574514890463439299469512779853016600228648584018327999247607530769089176630247334289868998961377754139922057300310115923658543150252851887295942115996482963475545481875496974360633052744713396210620115976194680145278183732347725305997735301518451272468349453965430330367590505040502331025410211236461796793839304385533696993126202349612546276016419984827621045773939553870266537738617751750505736126240517676126846930420632051608858649090741614233857408553816276842308152529744431760326463146442721365337367735902455414132452051866042415407121975476464426716422964461683540694458686808593447531475696873573503976062007811292251301870519457328706447948663628158768294940949663700387793504038779675353778143680446839084041476609119423072562631432916570856421951659976232848255040300071661390033768800275946164841816907391904340467715319141114042189343503153319997827047220618559658965336883444900671874773025931742380455126557067951761659464893006081323317774999849554060853374275721555680641097069586025936377837345565792050494320221771120724161730682219374852182898651836417065245112997094651834747335906547284242335368713998682833535708722858626160578066547528978552250157337903934740304226671132790793347778215536748001451706273055456569232278003294572239935275909648709834467941410349180807836888179727750822313885329243518936055452036032441628276653253536376840613022629033845934974378315399505987388380874613168400828882086467193170134694888638812723991101772643434715306056266217114157407420933654947925898352420385989916166458617661809933401235448847604347911349200618246241081659839480470383340133080188067265857886915519021311459597754601808633838532102722363159283215012970042711005943433659457929087044493960701154688924486099345707809406630351080899558153283232056022100532953195109370784260442731498747217694322248334359469086423302066118417203069155700546170988497357585908898881279835896638658465525412753196905343828537416981441908116748215771981822664257966576887559167923356348606957800203918262411000643805954285515001632170233139366298434971782274457872061630397789005230009491037103639130904395703683424001234148477379760530826237700094899808911419117016787640233464590008934180771968087666138532209330134133181534551986057663768610883896253762784442131109507040933331612856510778446424703106350113264260922012824130960666926545867836162254069147917365982001573678069398336523449595463857263551113305860822630660897827074724201233281084848438985540756137490386045237959544442789901502258007395405599880764222428731444715848974461290173742495247013858639277244395593475226605545678372014962715818932095837177162243430371575843455447373930131345619706552175403309283084081460741101368749417869601876367696885944199217535230654749626095927746337572507217237143970674934244806506981277640878157245795758490385402928368015888877325700604632556208486216535082072230279398650338837278914078535350189393657260318940300761620088674869431025306052251089714371282774896163623955884553199320521880578299160827396901173237805519950991502919722867697304912994551934628851049157233167491738618276313826789995596110468680390073596506874792745837168572096747364794559034667278331334487089566220180194744717752411394349 177949711232901753452118982904110885213883900276479683624332572642212879514992793880777737707718689736755914623421769356400223232299040796382286176752417680676408743824161401480178832306909068947296556586042999684907553717271769161266144906845398020987754217841745700197574684582050381194292017339025016493951467973026622854175610980210388226810713645576771081279808942298404151453831842507578746180783738883136803436753919135808881430555625783047262800808148693685868910518961477879871064637709159165854398045953786355774918354222121568768298689171217720001770346393875446626187420752338672462973094343662218992927046851109160612942582193334445663447032679503399818608453748735989449243425144710660036809654686135102303305502601611138165671967242226395735536616064913517686484094792149063401280451766997752598572884403219958420881838481477378370584784988075952577330787933130692440017953617605901595034133168094162423851598818655033057509210260509821508978879349243004597504445468642705426889450665632872062436728012196205297530849541832020362941705001112878845211204174659884083577918662805825229434749257999880390155701046124855587910539064689902389502698946161232005733395508121498024256018934061827314518250225683259040131806993489190380890193922604100406045283894905943525713762256819042518326509488037260173358818474949197844713846333249679489195537354912059222813688951227757041798644104158407602244813077638517184075009122865932086460437967205437648854345003447178954845611844227000591978871809528433575116025399733769941699165391664960440082935224184594653165702204367117780118682492445331760429961538312063782421180014550793971609452522715518764607706920083150011978528716828703921516448482226791382719377691398651240464496261420299080727361128782257034793348863764546606941376880397664670546995493681171938348455837760018419243293127414432652095321023046949745335307050776099595293688493877085975051682763139923813644021899797531488115866119631687568422138079152923020638707872709705686920157393277009349766629788378832504268807463415830039962311809498313642375931333289998667822439536907868115004638154816742026603723604976297438576515663015123762342598831280446539551415205151917427982264600263396745373731985660012189845771924743600799630984197948051716000123163928081402207699042179765319963261421119864105190515115610290790731334450707531438739796537334626560394776791097224518505485190233429695405573232027887760968139858301499831557883107497441931912342650313287267591233617748307548466828957348546537986765227350711238409156373869715669519651462476612953849199755228921959124189631134330081233970291265665427027107289070570035240415350840125124990016400361162397298884735444856000716031868740082752576663266322052091858801985509414299264370277895695647842809357279038452979399067275012830580859599425021540171561685059909118598373147785122110473523740065329285398960996955734550169343384243883952174680636062520621001198688579822011869732378838089124001511948688136013247011674103413667112024852231547901479159067821174301350290019071604335410489908798284744718807362846046351069117612541007199223662514661873073850389938254368788261060828198751464604790113212481816428994406304019801643755891313641784417188339506609353820682751089093603918611393153420536165351406719653589736763494329426552710690663800518610686688132747764444352925460283405488234839914831710837436377571814238744652465920032257742739278401228509822381268453472063613392585479579067705072989689436989457603373048734768237662748613746290313956530946212889535457967913936544122335968366192983900595049913674013226958726316734216047690473381585708513321068473264968792586956709728606357510724361751400916098737601289119567405810300229869745516465259209379997112606759518071583279146645343882053290766772871605216132890160180259021937595907533228302494421764855408871322743864757608588623076582937649902171116398046121389218499925272124246647738977852114751697895247675169732055318529306690029638561316378456957230953758191965095494847 287928681063063992643371766060171400995511980402684654598950981416748999293121143003546486278949539469997168997735874211249529668739716396010238374023424204834262387627998200888457648780447684619071907261732570518318675813310219912189751907993708516957322260510471286866510330980121615239857530638007031429102692502282294678418080961621978577622891098660966477089595048496205920458430899732972899653855433812048395012286006493142637576723941034277076121128544514616288534927284728237458961348587811265200382387937651066499788590399795792357575598221853926533410650918620943344933091234314004515379899766489567532961528763071100721752414316016793034284419972696484803884883345013541247449948368101843478348743382406417654071501709972987962946964153817673276732063889561445840466779546834297603435446341512643062012183872732738273898438710125962388912784235683483346419964563378026729886952578983655734956190468404278347510141968907884944805152376506304472454424831118501571865078521387418823100070781609066742582006195928553022836847277133538814214173350566844275541571765164924585908944073017061691231543097304265923852694172327205200456815081109887217123744720100785875999933246739249774761755060302344990645097156103891091740665642579931995124051331157916682887592047435687957474088719965485239691846855773162628772950927001063887129253455225155953622253777876520906354383409914565635246175579855281175748789139646328476326310993385389415166885915869065807622639944396842655233405348265780267332649953208880414200066876342889364771728023097877010939357175844570886013957244667189441508716261245607706594803355219455686761647729869935085651641866218672084605533967303768571637494053712148822188323255252723125099832817955719192226155726313305162050678903782106588854202238040268162622017977467250696483373331026737730398950157981789539967454858096652026947503921698786162400552163773194247128435829783633259294018131853922496477557608520390114276444186179216546974388236490826955379012099380838477713505171492546097768081494651887960838039741419124612202247085407962352210399274700347848630276425087595865826952040145985545539779057012329880204792316268660139183211853909480385486389583467316933969652981138009913774560867746479383015906619632239612354975299720695150715429220194298516365106463113420267889159773540250095106681574227952600664735686156379043087707886535244806635858450936704988888825323313617762671431118943406782279599456056101640191721639600164295071625865326257310302239561181967006395916001842507239141454151836810584116965780500066750419209615759845009871300288182117068494973891577061579981187985587913761386576375493872101358832553909280825536187388858519983207783616724691897354690334265495505773568610150589508840243893626162515036352100559953614419696916446961809328006025075216748843270600068827494457076686692079351737739446220093892747981612126959683187966226965225587272982515148279655858104637296669098380959219406059711964632187749508241018299588921600603255945854875381754778163384440878035612340602373160359014058629955500589173274350929394251759740694458902861847564037244113549336926775583885897981350605180914656097223082267899381970772114786159885827330929753615265501019442426947645239819000404436428544883984370178452357596933909558026551396644679198032526664996587433948116290544564741039418132848596738905643099202778652502093479192076106430911604177359917116667428635851189838576455563471940193957111908919437543523931099285619880476298972521070918344474417484186107264624981443176258155748481443544285084063841682881694843185603336954575529294720180994504599604473980011806180858784514076529209945798965573425143165195945141439582954641150051254936016515367654917595203957490188685817226879298054866543632065570322672993517928118778216914722657424804536654770738479419849334497080771033822445413267775131739020048777752160523251927632094883069662855016322435216008495521382592927037812574358989544443732416247266479420113088341357307969895803468023177411148502909717506889196 465878392295965746095490748964282286209395880679164338223283554058961878808113936884324223986668229206753083621157643567649752901038757192392524550775841885510671131452159602368636481087356753566368463847775570203226229530581989073455896814839106537945076478352216987064085015562171996434149547977032047923054160475308917532593691941832366804433604744237737558369403990794610071912262742240551645834639172695185198449039925628951519007279566817324338921936693208302157445446246206117330025986296970431054780433891437422274706944621917361125874287393071646535180997312496389971120511986652676978352994110151786525888575614180261334694996509351238697731452652199884622493337093749530696693373512812503515158398068541519957377004311584126128618931396044069012268679954474963526950874338983361004715898108510395660585068275952696694780277191603340759497569223759435923750752496508719169904906196589557329990323636498440771361740787562918002314362637016125981433304180361506169369523990030124249989521447241938805018734208124758320367696818965559177155878351679723120752775939824808669486862735822886920666292355304146314008395218452060788367354145799789606626443666262017881733328754860747799017773994364172305163347381787150131872472636069122376014245253762017088932875942341631483187850976784527758018356343810422802131769401950261731843099788474835442817791132788580129168072361142322677044819684013688777993602217284845660401320116251321501627323883074503456476984947844021610079017192492780859311521762737313989316092276076659306470893414762837451022292400029165539179659449034307221627398753690939467024764893531519469182827744420729057261094388934190849213240887386918583616022770540852743704771737479514507819210509354370432690651987733604242778040032564363623647551101804814769563394857864915367030368824707909668747405995741807959210747985511084679042824944745735907735859214549293842422124323660719234345700894993846310121579508317921602392310305810904115396526315643749976017719972090544164633662564769555447534711283030720465106847204834954652164558894906275994586330607990346516452715961995463980831590194962727572143502661988627318781307979283783901525810685189926925037804788619234361951917581401406659148292853406491572861678544375840411985959497668746866715552384122379918572805505293185587852421194660114200297196689838243391396070136863910481827504423869871367030635242033929507394310513547047458077004350971294543247739314357601471749604747097606226983968515639544577893473178930274554862744959191053777128219379187521822526122154369782419938861078236457963720500043411039027619163522711391661215158276853579188413683664564442136599247904749405950526203789219682380506668352169547898070722203005578258350231876472641600699045879135576814300722378455649262262506273726000262307405092350229579424130199493849034628638371751988470336112594005216003221505352192288968586927223920960137442325899392163608032785273359189719382157907985881723834364566587597365019811537609736616502957528978795421890188236672425937091499670194334660364348649027104924583764259727678996478548057304949212916681649785120748560589290245758971831740543435283444358283910466650846575562227998641702256325336057635067144775333740589429657007339911045782365566735459272056276208327062978562716748051398851622263428490916860500826981208365259650104820981344503349996024663062057990328319106907817268347981749174155861319894555883447581315733964700450016338380362391501156916516578864687585549288661958060375947847466218954344927373595189466572112279427656433820542031755619425817179153969529938476124344633855007731558330790714227853871332166099785042531014272230542217730121905673747797093679002901452171034754116656774485001014257720058431333692138507434863656238825088394256272664573462660270205489430296409752787660898659678871272092988304262124939835032630540610342792642509769111875004215032532971833971414368556605226995446654717173685551552211104296141627663922436211475431617648047337608457119846480134642102261101682602384043 753807073359029738738862515024453687204907861081848992822234535475710878101235079887870710265617768676750252618893517778899282569778473588402762924799266090344933519080157803257094129867804438185440371109508140721544905343892208985645648722832815054902398738862688273930595346542293611674007078615039079352156852977591212211011772903454345382056495842898704035458999039290815992370693641973524545488494606507233593461325932122094156584003507851601415043065237722918445980373530934354788987334884781696255162821829088488774495535021713153483449885614925573068591648231117333316053603220966681493732893876641354058850104377251362056447410825368031732015872624896369426378220438763071944143321880914346993507141450947937611448506021557114091565895549861742289000743844036409367417653885817658608151344450023038722597252148685434968678715901729303148410353459442919270170717059886745899791858775573213064946514104902719118871882756470802947119515013522430453887729011480007741234602511417543073089592228851005547600740404053311343204544096099097991370051702246567396294347704989733255395806808839948611897835452608412237861089390779265988824169226909676823750188386362803757733262001599997573779529054666517295808444537891041223613138278649054371138296584919933771820467989777319440661939696750012997710203199583585430904720328951325618972353243699991396440044910665101035522455771056888312290995263868969953742391356931174136727631109636710916794209798943569264099624892240864265312422540758561126644171715946194403516159152419548671242621437860714461961649575873736425193616693701496663136115014936547173619568248750975155944475474290664142912736255152862933818774854690687155253516824253001565893094992732237632919043327310089624916807714046909404828718936346470212501753339845082932185412835332166063513742155734647399146356153723597499178202843607736705990328866444522070136411378322488089550560153444352493639719026847768806599137116838311716668754491990120662370914552134576931396732071471382642347167736262101545302792777682608425944886946254079264366805980314238346796729882690694365082992387083059846658542235108713117683281719000957198986100295552444040709022539099407310524194372086551295921570562539416572922853721152970955877585164008080024340934797389442017430981604316678434937911968406605855741580968200364295403878264066195992060805823020289524915212310405116173666493692970634496283135836860665220748435469914701325527338770413703111941326386697770522055594380965801888195712740112241561258660961033561016269673531024332406643087934869849170358070693996302973591800331593156096114137414288453241196346262441492949800260040058314237958080458658686776062391178078202363714451968894239795425412537271073764123800486623231109539289772761739329337074479015602876682203190172962071635411117425446328267400799562676529085715058444067822073852040225309895969486964319248651774893450886185724715308414540443263890889910655858817763117127391941435798996754337105606038111126531337219758903383854177176668351621113303972703840272567495019378407278982605513757038610657073248238288751763852074764245687029234297897516065829644869813091148616198100455506992734550228546334342784801588083656265811250332645794776167537074896826340315482210910450719829450508633805260972536589268144696078049654790093487504294448943271752930000689522953829941242255639123865840710492421798298983923699259585926534072977987323191734637419892189528172390210295492271310938700440447678150307466025587634479131294292321883703140452191998576632642830268027909099978105626095597302307512022339572866893051653639354036002236157935264694239660052190950613861571740960071196115642873287101618889236676633644051503425970770632024429402596218215210247117150919017805489730199870890658716929266182501581438487120212087721214289442431637139098720606590069075295947385248300405672349362841420261929635126931847127416041496826430690991821235490968037310100723364126570093840585360080169702690895544705989404645578352923314503312053250764011400109273239 1219685465654995484834353263988735973414303741761013331045518089534672756909349016772194934252285997883503336240051161346549035470817230780795287475575107975855604650532317405625730610955161191751808834957283710924771134874474198059101545537671921592847475217214905260994680362104465608108156626592071127275211013452900129743605464845286712186490100587136441593828403030085426064282956384214076191323133779202418791910365857751045675591283074668925753965001930931220603425819777140472119013321181752127309943255720525911049202479643630514609324173007997219603772645543613723287174115207619358472085887986793140584738679991431623391142407334719270429747325277096254048871557532512602640836695393726850508665539519489457568825510333141240220184826945905811301269423798511372894368528224801019612867242558533434383182320424638131663458993093332643907907922683202355193921469556395465069696764972162770394936837741401159890233623544033720949433877650538556435321033191841513910604126501447667323079113676092944352619474612178069663572240915064657168525930053926290517047123644814541924882669544662835532564127807912558551869484609231326777191523372709466430376632052624821639466590756460745372797303049030689600971791919678191355485610914718176747152541838681950860753343932118950923849790673534540755728559543394008233036489730901587350815453032174826839257836043453681164690528132199210989335814947882658731735993574216019797128951225888032418421533682018072720576609840084885875391439733251341985955693478683508392832251428496207977713514852623551912983941975902901964373276142735803884763513768627486640644333142282494625127303218711393200173830644087053783032015742077605738869539594793854309597866730211752140738253836664460057607459701780513647606758968910833836149304441649897701748807693197081430544110980442557067893762149465405458388950829118821385033153811190257977872270592871781931972684477105071727985419921841615116720716625156233319061064797801024777767440867778326907414452043561926806980830301031656992837504060713328891051734151089033916531364875220514341383060490681040881535708349078523827490132430071440689826784380989584517767408274836227942234833224289334235561999160705785657873488143940823232071146574559462528739263708383920436326894295058188884146533988439058353510717473699791443594002162860478495701074953904439383456875959884200006742716734274987540697128935004564003677446350407712678825439820885995868775078084771304583690931133795376749039562896605346466089185919042516116121405920224614793397892910211854229169210089239631590296931772232760937312300375004195123733300936999844902411504539295072138213943704622756374557328363408092726588594967297884744221120321063787693496134740276652022474032363095872710238335651897316143637796857471252138944709463898962333942816209775675907691530999056525563714353430196056292409964634230525899190992316511537620361820674807145862157634313932606871923675184015048537145275035377823159633361320924702971057922664141073836261860912832972598558539857785729909795339942761829679742755928009710438340802870384752244716836809068801287680927336814355046458105356075403841644831692051481544813790903201201075121896570783443290339981601868885399790570109908126504553833680226527993276017455288722564910013588035515151984892747476901277053521978421154949770252961295260339627774811285745605635148528902768482750117405891740967607567675708228839307217747618085001207923492872840226633872633702439857356964257014995051574876296437191670240169349922094797119372171822109402380307336756411926168127352921733329201493542396831527777983987891009967716266055408467513923523116713646614271974343426657860603409007292637033770312646952955597005524748681203887597232472930305548484611156312924593856109715747111185538847075044098757325701518017624042230092535798777591878683057379558072325083333036212959705634062771698747001936062159949013330797845059548426462486414692027274408915678781198136726987744092138902370976323637451983186810043160983446695353025113082711657282 1973492539014025223573215779013189660619211602842862323867752625010383635010584096660065644517903766560253588858944679125448318040595704369198050400374374066200538169612475208882824740822965629937249206066791851646316040218366407044747194260504736647749873956077593534925275708646759219782163705207110206627367866430491341954617237748741057568546596430035145629287402069376242056653650026187600736811628385709652385371691789873139832175286582520527169008067168654139049406193308074826908000656066533823565106077549614399823698014665343668092774058622922792672364293774731056603227718428586039965818781863434494643588784368682985447589818160087302161763197901992623475249777971275674584980017274641197502172680970437395180274016354698354311750722495767553590270167642547782261786182110618678221018587008556473105779572573323566632137708995061947056318276142645274464092186616282210969488623747735983459883351846303879009105506300504523896553392664060986889208762203321521651838729012865210396168705904943949900220215016231381006776785011163755159895981756172857913341471349804275180278476353502784144461963260520970789730574000010592766015692599619143254126820438987625397199852758060742946576832103697206896780236457569232579098749193367231118290838423601884632573811921896270364511730370284553753438762742977593663941210059852912969787806275874818235697880954118782200212983903256099301626810211751628685478384931147193933856582335524743335215743480961641984676234732325750140703862274009903112599865194629702796348410580915756648956136290484266374945591551776638389566892836437300547899628783564033814263901391033469781071778693002057343086566899239916716850790596768292894123056419046855875490961722943989773657297163974549682524267415827423052435477905257304048651057781494980633934220528529247494057853136177204467040118303189002957567153672726558091023482677634780048008681971194270021523244630549424221625138948689383923319853741994545035729819289791145440138355419912903838811184115033309449327998037293758538140296838395937316996621097343113180898170855534752688179790373371735246618700736161583674148674665180153807510066099990541716753508570388671982943855763388741546086193532792336953795058706480239804994000295712433484616848872392000460667829092447630901577515592755736788448629442106397299335583131060842791104953217970635375517681782904489531657929044680103714363622627975198499960582187268377899573875290800697194302416855185007695632257520493147271095157277571148354284898659154757677380066881258175809667566441236186635812298024109480760655002466229063910904100706597351219847438351288298143607850801736565088014203744681070612515408822066779502650986145376087107935572289958027488921547277547725786597832849719103819777625424659055472974871336486855015626912654071924405578227327201122235958931798619202092800068488640124114483816674455835795160479280830786272136714125693331586872942728473050135814565094670907354908392162769764595432358075261808577096033790672411056020764296687149775226891478899033882499180215329324699121163206992315952097841481041825492955125560832653362445173023843589344355621421905048711457922840667679645269297895935751303668230913568244878423637867680135732436364886075663579450660020542010204186468175118173073543818849008051741253037443554950931843615465925449398713524714225261029150728641226987861274272394743478975171915704875664666867153602242301817294540939352722421100113021045230436929364905013378557797411935165302517600463930916322964532491233625235249311370748454752232648335245856390031794222950224040841223833115263724579431623341927012203874201320102707173975714067327508186012934414622773503476696108911526270446946291004459022976295380705633290193450688140552665635530174118414324055980606405828114805029576625537244445913605738838331672524172937876312485273126454854019710331633441885309068475483033628382128867909287365054827624275750540247697977382729337375132279805351291977312347824261841593266521029626856628765162966475486758748603789124482820930521 3193178004669020708407569043001925634033515344603875654913270714545056391919933113432260578770189764443756925098995840471997353511412935149993337875949482042056142820144792614508555351778126821689058041024075562571087175092840605103848739798176658240597349173292498795919956070751224827890320331799181333902578879883391471698222702594027769755036697017171587223115805099461668120936606410401676928134762164912071177282057647624185507766569657189452922973069099585359652832013085215299027013977248285950875049333270140310872900494308974182702098231630920012276136939318344779890401833636205398437904669850227635228327464360114608838732225494806572591510523179088877524121335503788277225816712668368048010838220489926852749099526687839594531935549441673364891539591441059155156154710335419697833885829567089907488961892997961698295596702088394590964226198825847629658013656172677676039185388719898753854820189587705038899339129844538244845987270314599543324529795395163035562442855514312877719247819581036894252839689628409450670349025926228412328421911810099148430388594994618817105161145898165619677026091068433529341600058609241919543207215972328609684503452491612447036666443514521488319374135152727896497752028377247423934584360108085407865443380262283835493327155854015221288361521043819094509167322286371601896977699790754500320603259308049645074955716997572463364903512035455310290962625159634287417214378505363213730985533561412775753637277162979714705252844572410636016095302007261245098555558673313211189180662009411964626669651143107818287929533527679540353940168979173104432663142552191520454908234533315964406199081911713450543260397543326970499882806338845898632992596013840710185088828453155741914395551000639009740131727117607936700042236874168137884800362223144878335683028221726328924601964116619761534933880452654408415956104501845379476056636488825038025880952564066051953495929107654495949610558870530999040040570367150778354790884087592170217905796287691230746225636158595236256308828338325415530977800899109266208048355248432147097429535730755267029562850864052776128154409085240107501638807095251594497336850480980126234520916845224899925178688987678075781648192693498122611668546850421063037065146870271896013356112580775920896994723387505819785724049581194795141959346915806188742929585293921321286806028171875074758974557742788689538400645778955091255060751562979762503638028537676090578399315111686693063077494939956312279323188654288524020134720174176494820374084578197273793501472801482790603065459351448040864981508113349112350951934238461824848216401081601546343580739288288143046019355341031637226228147449303826987072737185474872229239581112673971852156692611021815182417682017824377809071865212814976530015961076556371616612668193958107154571622117970886739521043536976798143650462797675727656514421918836180406893781308686361694351471597342323892498534800500477449030577042405657007738240278685955892053667198147587755065719396186511548153956454813484892282625209520122373785431336684763792294520158091154378863919135002026390438644351426577737671962369901454650126100360657944390813726777980452553102754532719161190083088799136952378790127484351688168763619469549021132226934995983790084004493700768538197462485630406895638453832437043566893237930191031852208897137444346604348483777675520521368778503452512733466909420923646247457922033110767405634474721277950530656601758686970807422308036513918070663563237538715818415154376192180297569175340227353514634772660583547330046430742920276861635028642582612801957962350303145774170425326657660556107209607329818022171590467375511174687899237184041154800284908758049431364080105116204163304217258937957414619981820129386837177790683161070858214120141330431338917912090322152939300343876651669636001771615123756462373902616708736653904363956183834412092035414966478098268774109545805327129130803971447314068158422120810088674160463797421364649541195484132490114039335568353980495637497353264308611951973009636470205443956814237565532587803 5166670543683045931980784822015115294652726947446737978781023339555440026930517210092326223288093531004010513957940519597445671552008639519191388276323856108256680989757267823391380092601092451626307247090867414217403215311207012148595934058681394888347223129370092330845231779397984047672484037006291540529946746313882813652839940342768827323583293447206732852403207168837910177590256436589277664946390550621723562653749437497325339941856239709980091981136268239498702238206393290125935014633314819774440155410819754710696598508974317850794872290253842804948501233093075836493629552064791438403723451713662129871916248728797594286322043654893874753273721081081500999371113475063951810796729943009245513010901460364247929373543042537948843686271937440918481809759083606937417940892446038376054904416575646380594741465571285264927734411083456538020544474968492904122105842788959887008674012467634737314703541434008917908444636145042768742540662978660530213738557598484557214281584527178088115416525485980844153059904644640831677125810937392167488317893566272006343730066344423092285439622251668403821488054328954500131330632609252512309222908571947752938630272930600072433866296272582231265950967256425103394532264834816656513683109301452638983734218685885720125900967775911491652873251414103648262606085029349195560918909850607413290391065583924463310653597951691245565116495938711409592589435371385916102692763436510407664842115896937519088853020643941356689929079304736386156799164281271148211155423867942913985529072590327721275625787433592084662875125079456178743507061815610404980562771335755554269172135924349434187270860604715507886346964442566887216733596935614191527115652432887566060579790176099731688052848164613559422655994533435359752477714779425441933451420004639858969617248750255576418659817252796966001973998755843411373523258174571937567080119166459818073889634535260321975019173738203920171235697819220382963360424109145323390520703377383315658044151707604134585036820273628545705636826375619174069118097737505203525044976345775260278327706586290019717742641237424511374773109821401691175787481760431748304846916580970667951274425415613571908122544751066817327734386226290459565463605556901302842059147165984329497972961453167921357662552479953450687301565173950531930407976357912586042265168424982164077910981389845710134492239525693179070058574823635194969424374190954961003598610724944468477973190402487390257379911795141319974955446174781671291229877451747643174658983237352031470881539682740966412733025792684227500793806137458593111606936704690888759120501788198897563428177639576441189627206142768202314242351193984897599588146007541651731890567258050058960092264900979842671339229295372103595669698062534080349793586501215427089587539530444962170198534772042811145099270864177920379609394596294929749314490407476304521377597983142197489511950878173110164635248926193809035903519770878707143552805373356863246962059360917352350498077471448320125249990245485895948303389506207272149012322815583797674793700373420479077985082341994342342536485832468403230627087930734108012571273384501533735169348199885501264560677373386840835352386695072703682458358397919933047187257337229156864663299882059453663455153721310548401648953805525068711997651286051618634490967634586803140740752910272053747197302389745782397929232093739721328183693318389726433093948815643070301341874880192832473896299626323529843408149534963301100492602443729196972951788127345600086775804158269837599305151817172565295742113668731613867676977828469191989756573253369815011649159772924280686641230671745034375464668695613881861874951251368662986297843172672204867556801225115689574664205228961873642958115510092470467984133849211410879755671504549753241968070928558767415148906228295173246217528729495300705575140881674530216849229310289266111745746599919983577842585028838955511259671880734679122986046396560628921858441180150702024673475289483782091351683392615822088904018382891165240717135976111956964192560603362048353518324 8359848548352066640388353865017040928686242292050613633694294054100496418850450323524586802058283295447767439056936360069443025063421574669184726152273338150312823809902060437899935444379219273315365288114942976788490390404047617252444673856858053128944572302662591126765187850149208875562804368805472874432525626197274285351062642936796597078619990464378320075519012268299578298526862846990954593081152715533794739935807085121510847708425896899433014954205367824858355070219478505424962028610563105725315204744089895021569499003283292033496970521884762817224638172411420616384031385700996836841628121563889765100243713088912203125054269149700447344784244260170378523492448978852229036613442611377293523849121950291100678473069730377543375621821379114283373349350524666092574095602781458073888790246142736288083703358569246963223331113171851128984770673794340533780119498961637563047859401187533491169523731021713956807783765989581013588527933293260073538268352993647592776724440041490965834664345067017738405899594273050282347474836863620579816739805376371154774118661339041909390600768149834023498514145397388029472930691218494431852430124544276362623133725422212519470532739787103719585325102409152999892284293212064080448267469409538046849177598948169555619228123629926712941234772457922742771773407315720797457896609641361913610994324891974108385609314949263708930020007974166719883552060531020203519907141941873621395827649458350294842490297806921071395181923877147022172894466288532393309710982541256125174709734599739685902295438576699902950804658607135719097447230794783509413225913887947074724080370457665398593469942516428958429607361985893857716616403274460090160108248446728276245668618629255473602448399165252569162787721651043296452519951653593579818251782227784737305300276971981905343261781369416727536907879208497819789479362676417317043136755655284856099770587099326373928515102845858416120846256689751382003400994476296101745311587464975485875949947995295365331262456432223781961945654713944589600095898636614469733093331594207407375757242317045286747305492101477287502927518906641798677426288855683342802183767061950794185795342260838471833301233738744893109382578919788582177132152407322365879124294036256225511329074033943842254657275867459270473025614755145327072367323273718774785194753718903485364717009561720784893466797268481868608459220602590286224485125753934723507236639262620559056372505514174083320457406735097632254278634829070195311364597625924137995033067815549305264383012484223757015798485144132268365775314250807705462558870943152713607336902869800443907008916927864584235646561483799839540470498643288724586660883193016523961130148370724030812248957512001657853756911313196481404741563275349056879809547577771798706200207724403069324770156890013697884620314401154718523259857393970657405828912326312484928271379291828559183863422475515434057133783726694286484934096813284364151291045652042819139015726559064940105563796867634831673403946700299380840586014715727394522797754152268561467088220531511633456849001476996368732975130183894980968299050300635562662697373745159478125983074977865953817663431906106002025435475494209656061248485882271621215950876806778177996890234878043243747459647422079086599111439435931964350451483723095185527728897825618655349637890354618658095681080065266303766707735546252454795093114242035973891015981926410475935816596158143363130498058313294337265716186048881371764055839982445015388106164319525897655951144385623352234077812400719895342172856589008475502705620411081993947718923556515589182074486430584836793850838001563056547055136071125056549774188435409817786582751930721636231636906341319852878881464166919288262939935639479307645774817010282269093875812834981092159880161250711706715492782879964809247989143853251763079477757590411184121213185494123678203781161566398081846616694574644282640390475852181993191144468517370717596018904977572066674214670773616272205391018960969802584541515736155473852669108985748427169636517417599613886106127 13526519092035112572369138687032156223338969239497351612475317393655936445780967533616913025346376826451777953014876879666888696615430214188376114428597194258569504799659328261291315536980311724941672535205810391005893605715254629401040607915539448017291795432032683457610419629547192923235288405811764414962472372511157099003902583279565424402203283911585052927922219437137488476117119283580232258027543266155518302589556522618836187650282136609413106935341636064357057308425871795550897043243877925499755360154909649732266097512257609884291842812138605622173139405504496452877660937765788275245351573277551894972159961817709797411376312804594322098057965341251879522863562453916180847410172554386539036860023410655348607846612772915492219308093316555201855159109608273029992036495227496449943694662718382668678444824140532228151065524255307667005315148762833437902225341750597450056533413655168228484227272455722874716228402134623782331068596271920603752006910592132149991006024568669053950080870552998582558959498917691114024600647801012747305057698942643161117848727683465001676040390401502427320002199726342529604261323827746944161653033116224115561763998352812591904399036059685950851276069665578103286816558046880736961950578710990685832911817634055275745129091405838204594108023872026391034379492345069993018815519491969326901385390475898571696262912900954954495136503912878129476141495902406119622599905378384029060669765355287813931343318450862428085111003181883408329693630569803541520866406409199039160238807190067407177921226010291987613679783686591897840954292610393914393788685223702628993252506382014832780740803121144466315954326428460744933350000210074281687223900879615842306248408805355205290501247329866128585443716184478656204997666433019021751703202232424596274917525722237481761921598622213693538881877964341231163002620850989254610216874821744674173660221634586695903534276584062336292081954508971764966761418585441425135832290842358801533994099702899499916299276705852327667582481089563763669213996374119673258138307939982667654084948903335306465048133338901798877700628728043489853213770616115091107030683642921462137069767676452043741423778489811710437116965146079041742595757964223668721183441202240555009302035487111763612319828347412721160327179929095859002775299631631360827459922143885649442627990951566495027959036794175047678517795426225481193909499944889684510835249987565027534345695916661473577837318530238952229234081003851866602594475077671781169692051052901336735264552166964723428531510936816495866569120388266298574165807647843602366457404657999341470437094567441025425273767626568041854712849837273622186249029200558175693020715628774089772341222412981500525096140608568585000411261337883137229603134078987225795787747254848031494968691662056509029719585265332638902869251990265587155143402733788789449648977274970756673375373353688544221769032652888095520837616584163071294843851025399682385977785919982292456061874339083151798653936945785276788889404221934666671810076967852359141881920904932112534834083818990711075511616016363384198926138231369670675268647129661011861152423177751455082224109279492842860787862189282359743706844280191554263138134144007334861553534760102697410914801143389635000760393241457033062449135009146804162219865460205458490378643264890711842878382455012086164636967639992176123276807560425700324109930742053546237158471038336195604394357939617867109124335583844672864548442426174212361057952446871497742726948543893189833382964217892460637914970257740089370382598239551185937475496809885404193723646203509117480492068673308090922519804766738938411649139686778480772880595103393841099193707566435542453545669395881161905898051149571778113758950859493679973631484339530845401848232179270474130641689108259982494206672582747063785052898472085714338062414804412944315526908166318065424459279603483238151650147732916672314130514913931346517877346157722768698888146063100054296742702353585624673445534119046639093386244961860384133829078020961662239624451 21886367640387179212757492552049197152025211531547965246169611447756432864631417857141499827404660121899545392071813239736331721678851788857560840580870532408882328609561388699191250981359530998257037823320753367794383996119302246653485281772397501146236367734695274584375607479696401798798092774617237289394997998708431384354965226216362021480823274375963373003441231705437066774643982130571186851108695981689313042525363607740347035358708033508846121889547003889215412378645350300975859071854441031225070564898999544753835596515540901917788813334023368439397777577915917069261692323466785112086979694841441660072403674906622000536430581954294769442842209601422258046356011432768409884023615165763832560709145360946449286319682503293035594929914695669485228508460132939122566132098008954523832484908861118956762148182709779191374396637427158795990085822557173971682344840712235013104392814842701719653751003477436831524012168124204795919596529565180677290275263585779742767730464610160019784745215620016320964859093190741396372075484664633327121797504319014315891967389022506911066641158551336450818516345123730559077192015046241376014083157660500478184897723775025111374931775846789670436601172074731103179100851258944817410218048120528732682089416582224831364357215035764917535342796329949133806152899660790790476712129133331240512379715367872680081872227850218663425156511887044849359693556433426323142507047320257650456497414813638108773833616257783499480292927059030430502588096858335934830577388950455164334948541789807093080216664586991890564484442293727616938401523405177423807014599111649703717332876839680231374210745637573424745561688414354602649966403484534371847332149326344118551917027434610678892949646495118697748231437835521952657517618086612601569954984460209333580217802694219387105183379991630421075789757172839050952481983527406571653353630477029530273430808733913069832049379429920752412928211198723146970162413061737526881143878307334287409944047698194865247561733138076109629528135803508353269309895010734142991231639534190075029842191220380593212353625440379086380628147634685288530640059471798433909214450704872256322865109937290515574725012228556603546499544065867623919727910371546034600307735238496780520631109521055605866977104214871991633352794684241186075142622905350135612654675862789134807345000513287279921425834062656916286977016028815767418394625698824408018071889250185586590718201430835556898294725265336584483512715832922061913959072703595919164725118868450641999647564651188480444329996080948764232344434639074004036724678590996315973794307527799785377446011495305609660920329110367881395183348480562346772909912393574699654150863999498120584590179924983158378853051921765066405152824613232194109412681656759024501987954979251100819738848552070206914339899666487357426129109384236244560972315060101274377920356566799315857238795829203978278902816379582382005771713397447435446134896677442501524993512479047232561625671206717983472057883646084657629475418937662061194607831120120920608970141436443745991683085295987079808486746200258365167225188532005233337966020874820489987135498155617408899887541185598844886223337683492015804955330162463175479089010950785512858443769638145941158374448565468721599871832677388997412900618732241989689948763285824113840016533619509369938559462520278389931344703186244630918369921802461674215125912668464022172975067196479558734892416252912204374840521632726044628604282408619227749164116766397395398678092929516542067460776618612355980087826846748564873088218650633179885194420366400993375798132634093954274342906674871147469574940837863994961423328122188298559463347034115477330830613907755395332427133562800450168837986789051085759533767869775949067507297174511937561728393429982180846134471988224791742195816435998826864530656062496898459275600298536622519308069732716147271075974178127520792040623585098665505274983431302064113896251135294835373102816836716326502133721314555427257987049855202112946055353947608811303465595438561276125730578 35412886732422291785126631239081353375364180771045316858644928841412369310412385390758412852751036948351323345086690119403220418294282003045936955009467726667451833409220716960482566518339842723198710358526563758800277601834556876054525889687936949163528163166727958041986027109243594722033381180429001704357470371219588483358867809495927445883026558287548425931363451142574555250761101414151419109136239247844831345114920130359183223008990170118259228824888639953572469687071222096526756115098318956724825925053909194486101694027798511802080656146161974061570916983420413522139353261232573387332331268118993555044563636724331797947806894758889091540900174942674137569219573886684590731433787720150371597569168771601797894166295276208527814238008012224687083667569741212152558168593236450973776179571579501625440593006850311419525462161682466462995400971320007409584570182462832463160926228497869948137978275933159706240240570258828578250665125837101281042282174177911892758736489178829073734826086173014903523818592108432510396676132465646074426855203261657477009816116705971912742681548952838878138518544850073088681453338873988320175736190776724593746661722127837703279330811906475621287877241740309206465917409305825554372168626831519418515001234216280107109486306441603122129450820201975524840532392005860783495527648625300567413765105843771251778135140751173617920293015799922978835835052335832442765106952698641679517167180168925922705176934708645927565403930240913838832281727428139476351443795359654203495187348979874500258137890597283878178164225980319514779355816015571338200803284335352332710585383221695064154951548758717891061516014842815347583316403694608653534556050205959960858165436239965884183450893824984826333675154020000608862515284519631623321658186692633929855135328416456868867104978613844114614671635137180282115484604378395826263570505298774204447091030368499765735583656013983088705010165707694911936923831647178952016976169149693088943938147401094365163861009843928437297110616893072116938523891384853816249369947474172742683927140123715899677401758779280885258328776362728778383853830087913525016245134347793718459934877613742559316148790718368313983616509211946665662323668335769703321491176440737335529933145008167369479296932562284712793679974613337045077917922536981496440114598006674784249972991464853774949384870856831963965494811455041248612304125643714092528907139237750614125063897347497030476132043795575536712746796836773928516553547781267700334417169921351978734912116818153203872861507017765260098913555027340302610890486238839918340251712185799126847883106062746635086194096736935923249896198317835968959158941594132875347171579628272210356931402337964658903949192530333651405564085951115331339015815735746250297775702234099132314707540214126715944059484931819996328998361374501831716115717793890063827569333841770072530614169182892522500671849032470477526609329981610506740978747702842183910971298399029525017687545545801135270711820591869934418364823159596727866417908087973279750852062341375858526517169114977790883998362216621749366151326763374904013234668004481501848287921333368863982111650465091687747011199872774375548662174442654729742227145094792847719997304398248638569289249708858356600632225918846030475349753741388793852168628746029572330395176884400081781437844975290476095981670826236807041646729362887374539235843410517568410133538234815754339286774192530071483964857216570717493152724834793440110222069213268893141405041473409731900843740836504816618002797104488654243470816890184365822669917176286397569521778837603071754834975348179238392094745604602933373072467808966779332343942137509318430024321474190937785972802958681612074736037938622863873292718729269629041138781514042782963576625609252654976776161096484774236402489018745890649583554534582612797338015102949566834834977899034212695535253781610758943690771318015337819405498345233410631773597293017604071990962899816380798876423668141051931432583974248752039441598909469195437294673459522938365355029 57299254372809470997884123791130550527389392302593282104814540289168802175043803247899912680155697070250868737158503359139552139973133791903497795590338259076334162018782105659673817499699373721455748181847317126594661597953859122708011171460334450309764530901423232626361634588939996520831473955046238993752468369928019867713833035712289467363849832663511798934804682848011622025405083544722605960244935229534144387640283738099530258367698203627105350714435643842787882065716572397502615186952759987949896489952908739239937290543339413719869469480185342500968694561336330591401045584699358499419310962960435215116967311630953798484237476713183860983742384544096395615575585319453000615457402885914204158278314132548247180485977779501563409167922707894172312176029874151275124300691245405497608664480440620582202741189560090610899858799109625258985486793877181381266915023175067476265319043340571667791729279410596537764252738383033374170261655402281958332557437763691635526466953788989093519571301793031224488677685299173906768751617130279401548652707580671792901783505728478823809322707504175328957034889973803647758645353920229696189819348437225071931559445902862814654262587753265291724478413815040309645018260564770371782386674952048151197090650798504938473843521477368039664793616531924658646685291666651573972239777758631807926144821211643931860007368601392281345449527686967828195528608769258765907614000018899329973664594982564031479010550966429427045696857299944269334869824286475411182021184310109367830135890769681593338354555184275768742648668274047131717757339420748762007817883447002036427918260061375295529162294396291315807077703257169950233282807179143025381888199532304079410082463674576563076400540320103524081906591855522561520032902606244224891613171152843263435353131110676255972288358605474535690461392310019333067966587905802397916924135775803734720521839102412835567633035443903841117938376906418058907086244708916478898120047457027376353882195099289230411422742982004546926638752696580470207833786395587959240601587008362817713769331344096492889755384219659971638956923997414066914493889559711958925459585052665974782799987551033074890873802946924917530116053277814289582051578707315737921798911679234116050564254529222975346274036777156704427032769297578231153060545442331632052769273869463919057317991978141054870810704919488880252471827483857016030698751342538500546979028487936200715782098778332587374426769060912121196259512669695990430512620484863619499142288789802620734559681469341684317191503098714024331257989666414306647615164829836234314046019713598912225329117558052244747114425847303804645079546798398315732068853987707575001322443627770330941521582262947817282802244452098717810716910564347525448428497392505274799763657213350233134446388766196922858399384598307353755127470758738076277088032853991338205489690408569388387852965012096500779574665412052859532381043379057942187113644380284685435964810878076757579313216752519118742769704237954592047840242097258789061025739208094200359822203777819604518200254410964870692485108416880114533376515295380137351200688879301991835423419488986272881999191650690532633234537556266391353617504605117905221316156045578360578441074036394579727663698274327078200504058596235027888250372473630783542117392031853686170411710503909451719997307495568866027326374012481437960016651165349048754361756078981590583108605431295313074179190445442275858805378849296762121757007243412667859386185979666288540083134402926273968304517455117172598090623951237219116559035540817545707864337542687390945319911471697026029177882023050385861669686442466928334495795931155077891807289171624795760854935381946333118399936521482062243574024727673949632826486599045578108646078688554720525305019039234835822910633084709565978598305454744717514114210597079511256613615401486189354143047631750359966611227959738279735731394903114003324680481776535474745669848428312439445093779736532707301010144982696479189419633829450864985496952857078006740760268898084214491085607 92712141105231762783010755030211903902753573073638598963459469130581171485456188638658325532906734018602192082245193478542772558267415794949434750599805985743785995428002822620156384018039216444654458540373880885394939199788415998762537061148271399473292694068151190668347661698183591242864855135475240698109938741147608351072700845208216913246876390951060224866168133990586177276166184958874025069381174477378975732755203868458713481376688373745364579539324283796360351752787794494029371302051078944674722415006817933726038984571137925521950125626347316562539611544756744113540398845931931886751642231079428770161530948355285596432044371472072952524642559486770533184795159206137591346891190606064575755847482904150045074652273055710091223405930720118859395843599615363427682469284481856471384844052020122207643334196410402030425320960792091721980887765197188790851485205637899939426245271838441615929707555343756244004493308641861952420926781239383239374839611941603528285203442967818167254397387966046128012496277407606417165427749595925475975507910842329269911599622434450736552004256457014207095553434823876736440098692794218016365555539213949665678221168030700517933593399659740913012355655555349516110935669870595926154555301783567569712091885014785045583329827918971161794244436733900183487217683672512357467767426383932375339909927055415183638142509352565899265742543486890807031363661105091208672720952717541009490831775151489954184187485675075354611100787540858108167151551714614887533464979669763571325323239749556093596492445781559646920812894254366646497113155436320100208621167782354369138503643283070359684113843155009206868593718099985297816599210873751678916444249738264040268247899914542447259851434145088350415581745875523170382548187125875848213271357845477193290488459527133124839393337219318650305133027447199615183451192284198224180494641074577939167612869470912601303216691457886929822948542614112970844010076356095430915096216606720465297820342500383595575283752825932984223749369589652587146357677780441775489971534482535560397696471467812392567157142998940856897285700360142845298347719647625483941704719400459693242734865164775634207022593665293231513732562489760955244375247043085441243290088119971451580497399537390344825570969339441417220712743910915276230978467979313128492883871876138703307290983442994829820195575776320844217966638938898264643002876986252593075886167725686814840845996125829617850558812856487657909006309506469918947066168266131319833559458711154599469471798287494888190053010116479284430171544693754609258505651068676152654297731899398039073212223620798879833308522584239727894975745116234284691227795581840450348494023256042541298452984600912476186751436982432369216280996515462856787444313128251525097539359447449365449153928980323638802458869530127350084125832133239907993203750647881402033059024250339460918467134194989023280246514444523337058990373360668448928092392083126869346936109277106282597000762298320254013481524829824526466205065256855516927443647296067480110674266119195463044717423525942661576483470633501863899527842058755041364435356883783493683711340822355136864110842115782220380245737429040766902279679047772634963543301140371208298438378434643218296952947983185434801136284515081058363600126215019577394286020777883258500806887388309533501435152470859342123308044838718245001663380528236423293597599489499158993242143666111067413465964637972347342770236065867479614909732078206107969608255192935181681488175876336005869148258291621989216093421055725873360029852431001911530534254718973788514841690309300097784012857371229624253764432047069861707568263740121857224151231309134114190879256856137270904372739480163674318310062666296813506119205328315207149784860202597503488881644648487490799686794181194340215000794473490608163697765131662124053951630504435756188978025530784572662146481741349038679422166221129341144085980121768885377443445721330043517084742636349088099886568650837531120852217803699617024938551766547202178054942357607152856440636 150011395478041233780894878821342454430142965376231881068274009419749973660499991886558238213062431088853060819403696837682324698240549586852932546190144244820120157446784928279830201517738590166110206722221198011989600797742275121470548232608605849783057224969574423294709296287123587763696329090521479691862407111075628218786533880920506380610726223614572023800972816838597799301571268503596631029626109706913120120395487606558243739744386577372469930253759927639148233818504366891531986489003838932624618904959726672965976275114477339241819595106532659063508306106093074704941444430631290386170953194039863985278498259986239394916281848185256813508384944030866928800370744525590591962348593491978779914125797036698292255138250835211654632573853428013031708019629489514702806769975727261968993508532460742789846075385970492641325179759901716980966374559074370172118400228812967415691564315179013283721436834754352781768746047024895326591188436641665197707397049705295163811670396756807260773968689759077352501173962706780323934179366726204877524160618423001062813383128162929560361326963961189536052588324797680384198744046714447712555374887651174737609780613933563332587855987413006204736834069370389825755953930435366297936941976735615720909182535813289984057173349396339201459038053265824842133902975339163931440007204142564183266054748267059115498149877953958180611192071173858635226892269874349974580334952736440339464496370134053985663198036641504781656797644840802377502021376001090298715486163979872939155459130519237686934847000965835415663461562528413778214870494857068862216439051229356405566421903344445655213276137551300522675671421357155248049882018052894704298332449270568119678330363589119010336251974465191874497488337731045731902581089732120073104884528998320456725841590637809380811681695824793185995594419757218948251417780190000622097418776850381673888134708573325436870849726901790770940886919520531029751096321065011909813216264063747841651702537599672825986706495807937531150388122286233057354191464176029734730573121490898378111465802811908885456912527218600828536242624357556912212841609207337442867164304453125668025534852715808709097896396612218149043848615767575244826426825750401179165088999799205567631061654066613320171845006116598121647745513208493507384039013421644760545653145745602622364608975421135884691006280695809724470438466422755280673701628328791093622865196213623015556628094904162205224985581917399779105265822176165909377578788750994939332701747500957220204031479756836572507244513215193308761429534360168915906120815898512386968343751612996951298541341178851124580422948431543532540055291914632600423296649569548025349816466883812872239974566863860293469553681434531087026997907079810382235872810520756799897303016660799598583600317746520561660858254128434703839253302891977984270291783501872740238548714658908849306320099207085524059821179856576196591371416739726391115206036463411554782900920155183040176313979050839372756251229067779118514045307354114305988469386504161680470496469897015067562917677936907532268968579050381978432904357354135178715636045763085485519134760311341409746110033766472753013480274985307158255897183652890540184859457185949568876879452471037798024616646257512513001640343111316086251850498688650360936403412809736944671218597892218985221432459966428208150634418851199682961680031693585472047959355568480749576350749097406380487645155083414623201575614915164241736666739321618775828994441172601470221571310279262279837452775746739161814184045006963092476588887971819457238398592261661179460161601780997123813190739394280010115434118489536790042064059671276935115958520480758909951734192238083604022772676001645736561884087393970763138945691927360785258430938891152224014186663687722326622597427265903906193599099928235325677811975728741635310565245905921945543121073162534932628757709701087318415153561124243344468766461898304360123113294149642482962178522372881795400896713633534010310271851633150482010435504623625208918815211255691367347526243 242723536583272996563905633851554358332896538449870480031733478550331145145956180525216563745969165107455252901648890316225097256507965381802367296789950230563906152874787750899986585535777806610764665262595078897384539997530691120233085293756877249256349919037725613963056957985307179006561184225996720389972345852223236569859234726128723293857602614565632248667140950829183976577737453462470656099007284184292095853150691475016957221121074951117834509793084211435508585571292161385561357791054917877299341319966544606692015259685615264763769720732879975626047917650849818818481843276563222272922595425119292755440029208341524991348326219657329766033027503517637461985165903731728183309239784098043355669973279940848337329790523890921745855979784148131891103863229104878130489239260209118440378352584480864997489409582380894671750500720693808702947262324271558962969885434450867355117809587017454899651144390098109025773239355666757279012115217881048437082236661646898692096873839724625428028366077725123480513670240114386741099607116322130353499668529265330332724982750597380296913331220418203743148141759621557120638842739508665728920930426865124403288001781964263850521449387072747117749189724925739341866889600305962224091497278519183290621274420828075029640503177315310363253282489999725025621120659011676288907774630526496558605964675322474299136292387306524079876934614660749442258255930979441183253055905453981348955328145285543939847385522316580136267898432381660485669172927715705186248951143649636510480782370268793780531339446747395062584274456782780424711983650293388962425060219011710774704925546627516014897389980706309729544265139457140545866481228926646383214776699008832159946578263503661457596103408610280224913070083606568902285129276857995921318155886843797650016330050164942505651075033044111836300727447204418563434868972474198846277913417924959613055747578044238038174066418359677700763835462134644000595106397421107340728312480670468306949522880100056421561990248633870515374137491875885644500549141956471510220544655973433938509162274279721278024069670217541685433528324717699757511189328854962926808869023853585361268269717880584343304918990277511380557581178257336200070802072793486620408379087919177019211559053604003664997415975456039538868458257119408783615017481400957889038537017621741325671899958864130714511201856472130568688405105361653545316704505315043686698751363939309830397474091029991823075544394773887437014272131682635828324644957017126259166261206212111819673503278044331460697297523331672593191601079053923525164626466967188539622641483512394990371753564799650004413731471015783260435031037030866885114524445151388475698310490139855413538427551464772769656305118416963456243278903595273239023317123649008324994842376108248964032754246726844200463317123658562053923379135025217892263495534149754142271607738909248310224787233402074547340067694301099533650361790100394840043298428546538424129837029432289322773314741349159626769732753897603644980250372610969822915913033800229160581170736016210530607635101462850193845452049683883842332432199412890220080071402646868979202846101133696546610220875882254973393726012414347925158176862700663175148402758326320777175317830905681016321569594240697947802776627626397144615450624903669938330689433587620203172025485280528518722867612437287550273942463689917927963343412221821895341556955057979908569592892763517447901111119721386970544345850981031721351576471399824883798602696365536651903059486155598285706601034038361151030277466062688965836618740402821368768932846980634967975003292090297221597203596765509634369198550536606651749632323411398792340109751789893024142613449094220874927145415481809410880194150060267576645064897255675992408215799093749727503068308336209817422284221447098246408599894401725933841509740860403759364516876410357701732099098693319505290904191442436357094575727345372685612852442020073245500556739870972526479263265009230883500783282284371541431124069436850099035374056390172411096870153613298520203966879 392734932061314230344800512672896812763039503826102361100007487970081118806456172411774801959031596196308313721052587153907421954748514968655299842980094475384026310321572679179816787053516396776874871984816276909374140795272966241703633526365483099039407144007300037257766254272430766770257513316518200081834752963298864788645768607049229674468328838180204272468113767667781775879308721966067287128633393891205215973546179081575200960865461528490304440046844139074656819389796528277093344280058756809923960224926271279657991534800092604005589315839412634689556223756942893523423287707194512659093548619159156740718527468327764386264608067842586579541412447548504390785536648257318775271588377590022135584099076977546629584928774726133400488553637576144922811882858594392833296009235936380409371861116941607787335484968351387313075680480595525683913636883345929135088285663263834770809373902196468183372581224852461807541985402691652605603303654522713634789633711352193855908544236481432688802334767484200833014844202821167065033786483048335231023829147688331395538365878760309857274658184379393279200730084419237504837586786223113441476305314516299140897782395897827183109305374485753322486023794296129167622843530741328522028439255254799011530456956641365013697676526711649564712320543265549867755023634350840220347781834669060741872019423589533414634442265260482260488126685834608077485148200853791157833390858190421688419824515419597925510583558958084917924696077222462863171194303716795484964437307629509449636241500788031467466186447713230478247736019311194202926854145150457824641499270241067180271347449971961670110666118257610252219936560814295793916363246979541087513109148279400279624908627092780467932355383075472099410558421337614634187710366590115994423040415842118106742171640802751886462756728868905022296321866961637511686286752664199468375332194775341286943882286617563475044916145261468471704722381655175030346202718486119250541528744734216148601225417699729247548696744441808046524525614162118701854740606132501244951117777464332316620628077091630163480982197436142513969770949075256669724030938062300369676033328306711029293804570596393052402815386889729529601429794024911444897228898543887799573468087718382586842620707670616985169260981572637660516203770327902290999056494822602649584190163367343948036508934285266599202208137167940293158843571784408825990406133643834780321616560152932845954102185934154028300529976691287216119537953858801737702223745768121198498962953713069039877534757801168033204542036546865901953030613414092441070747282865700926590985235125391941670294905978501128994154419447326792975086328945499485537821094720936501048126957023668285778402118328633063125858799851494543270276810675083621259189934169765124892145392769048562616354564473364762124175377786996757762632437917195876533787317651626882510156453568157159531107332609160071399888874157675730241733206840121231158504465009949978912737949587472362949628720399998999525983982965382763494295679965084128904382420304390841051667205913225598170552779399757726114420628734265820765336556767025398795707448409954464721980861445037956356330909648727726407206287399655083414074046353553715333262215512270346052197283376718814346186240498210460804416970737713230867301123592320299267092846397357147843244083172747503944300072403715758424576882541117610925023443915407367389516310626460658145943641860923828388756274804801593745921465896195963088243210721443659627597137538138122124630796434860565544053809785100312844461511069652058313207628374640826007331439242296147435164893871294345410394336159789644484632669026143441791696383082675727456068272270651934094347641332304478949918091483455147442078237454238339784010589183036777666646737984901951517254972023932144044881648713002152602198994329961259519321716589145394675082122316279647275220171855854437919661901143523675509729288469616030081618903918377605623670034020615009441441787382112678901679995917905551741395921070000581045809561013797620015685364868989887551493122 635458468644587226908706146524451171095936042275972841131740966520412263952412352936991365705000761303763566622701477470132519211256480350457667139770044705947932463196360430079803372589294203387639537247411355806758680792803657361936718820122360348295757063045025651220823212257737945776818697542514920471807098815522101358505003333177952968325931452745836521135254718496965752457046175428537943227640678075497311826696870556592158181986536479608138949839928350510165404961088689662654702071113674687223301544892815886350006794485707868769359036572292610315604141407792712341905130983757734932016144044278449496158556676669289377612934287499916345574439951066141852770702551989046958580828161688065491254072356918394966914719298617055146344533421724276813915746087699270963785248496145498849750213701422472784824894550732281984826181201289334386860899207617488098058171097714702125927183489213923083023725614950570833315224758358409884615418872403762071871870372999092548005418076206058116830700845209324313528514442935553806133393599370465584523497676953661728263348629357690154187989404797597022348871844040794625476429525731779170397235741381423544185784177862091033630754761558500440235213519221868509489733131047290746119936533773982302151731377469440043338179704026959927965603033265274893376144293362516509255556465195557300477984098912007713770734652567006340365061300495357519743404131833232341086446763644403037375152660705141865357969081274665054192594509604123348840367231432500671213388451279145960117023871056825247997525894460625540832010476093974627638837795443846787066559489252777954976272996599477685008056098963919981764201700271436339782844475906187470727885847288232439571486890596441925528458791685752324323628504944183536472839643448111915741196302685915756758501690967694392113831761913016858597049314166056075121155725138398314653245612700300899999629864661801513218982563621146172468557843789819030941309115907226591269841225404684455550748297799785669110686993075678561898663106038004346355289748088972755171662433437766255129790351371351441505051867653684199403299273792956427235220266917263296484902352160296390562074288476977395707734377167240910159010972282247644968030971337374419981847175637559606054179761274620650166676957028677199384662027447311074614073976223560538622727180989085273708408893149397313713409993640070861847248677146062371307110638958878467020367924092242676351576276964145851376074371465174653133810085541437566026868702785247457665224159925180859551038035845499493901839559878538495144631692468015966235373749832889466213626718637786932042048470778151133407885890463110053410117365976366370652345539872324976746437447163523699316829669793405832782163918268457999513555714270356860282507057818773449886987768877297526649108811200208962587492501445558811686011572942413768797282851801381024781764192477405469755894566011234618739956568458775263892094996940516071201802893556488403042574979019761685722943461749158626295716736862986408474546052576053951820295454104620001632837941929436128778187880862607919959872678418149663097768756179915618875778851056823443924826962578734502966551785530982699800932299814003008572250909054216890481664973838591123227515114282399830667755834738908408607193598364110375482751748495990237597782279984977351015269568453276022667167684841003308698519346231035538888366856137229262731073265684440566715536534624441276289867394526188564290267316877227684439819682121268543426199833903674774027690282590458851250654843823461463874738977132341024149826368777462194776264286222931115410168185961591567007597932925299278853831219562750093541328706494074519796178024060544958236961090426525353877063506965264558322272387514505916429075486438712770074862537078651679020323280360141961467165870160100399010798888731687193360831457449549154039598998726637349007319270549173943210566092585960032604305015814988715694471345938450851124226773891587535920705052391343562402463278202277093172519990506850680081183617403970031112555518482288407755460001 1028193400705901457253506659197347983858975546102075202231748454490493382758868525348766167664032357500071880343754064624039941166004995319112966982750139181331958773517933109259620159642810600164514409232227632716132821588076623603640352346487843447335164207052325688478589466530168712547076210859033120553641851778820966147150771940227182642794260290926040793603368486164747528336354897394605230356274071966702527800243049638167359142851998008098443389886772489584822224350885217939748046351172431497147261769819087166007998329285800472774948352411705245005160365164735605865328418690952247591109692663437606236877084144997053763877542355342502925115852398614646243556239200246365733852416539278087626838171433895941596499648073343188546833087059300421736727628946293663797081257732081879259122074818364080572160379519083669297901861681884860070774536090963417233146456760978536896736557391410391266396306839803032640857210161050062490218722526926475706661504084351286403913962312687490805633035612693525146543358645756720871167180082418800815547326824641993123801714508118000011462647589176990301549601928460032130314016311954892611873541055897722685083566573759918216740060136044253762721237313517997677112576661788619268148375789028781313682188334110805057035856230738609492677923576530824761131167927713356729603338299864618042350003522501541128405176917827488600853187986329965597228552332687023498919837621834824725794977176124739790868552640232749972117290586826586212011561535149296156177825758908655409753265371844856715463712342173856019079746495405168830565691940594304611708058759493845135247620446571439355118722217221530233984138261085732133699207722885728558240994995567632719196395517689222393460814174761224423734186926281798170660550010038227910164236718528033863500673331770446278576588490781921880893371181127693586807442477802597783028577807475642186943512151279364988263898708882614644173280225444994061287511834393345841811369970138900604151973715499514916659383737517486608423188720200123048210030354221474000122780210902098571750418428462981604986034065089826713373070222868213096959251204979563666160935680467007419855878859073370448110549764056970439760440766307159089865259869881262219555315263355942192896800468945237635335937938601314859900865797775213365613130471046163188206917344356429221744917827434663912915618130808011155006092248930471197297516772602713247341984484245175522305678462898299879676604348156461869253348039400239303729092448553368656164187113638249899428572793646667527106381596425404397097662305882108407306121032698590392804611953763178873712343376756652262402040309910436846385203694921865856190166634593261477794564404187191985095231788122038895908022718119952542783832524945440481541696991988538574779133161646346089265463375673573724711667879232555569448644010859609645331070169453007907291920646045562629287001898620394690139845442616450994133828203780637302360307358566438381955312928607234048672572182149157625821700719828369171968841732541138080724677874409010842684505147842661726948740660262365646074293307152415483863105312946941017671486299466777908646807824023772459322882695179710426208138587213658091986324955407770605814927189350861469279712397659118645013942075237118869411610569101823606350052872088310536864875126382334498858513651626023526611467757244719067123096228772153149813390300052636630120589576310901224861480176485365104678623669330990158036188782773423647528062892842712203053796971441812896152321079025319416794708653608561776719200488201993082463033997152103020783595725465227262845333079832885912417992269085088923338463888588893535333025089576750247252246296331196892331308731758829832826981598448719705764350624968744256213086075621749547741509275063553630537578252384074105512047518873102551612997883061648452880153174038694548714681121042916996282539442405028381130227993729483708114034304284604745776090249856828456747896807912202545362146839773456241304143274120182644913915911576851261126993178417767651128240883351278295306953123 1663651869350488684162212805721799154954911588378048043363489421010905646711280878285757533369033118803835446966455542094172460377261475669570634122520183887279891236714293539339423532232104803552153946479638988522891502380880280965577071166610203795630921270097351339699412678787906658323894908401548041025448950594343067505655775273405135611120191743671877314738623204661713280793401072823143173583914750042199839626939920194759517324838534487706582339726700840094987629311973907602402748422286106184370563314711903052358005123771508341544307388983997855320764506572528318207233549674709982523125836707716055733035640821666343141490476642842419270690292349680788096326941752235412692433244700966153118092243790814336563414367371960243693177620481024698550643375033992934760866506228227378108872288519786553356985274069815951282728042883174194457635435298580905331204627858693239022663740880624314349420032454753603474172434919408472374834141399330237778533374457350378951919380388893548922463736457902849460071873088692274677300573681789266400070824501595654852065063137475690165650636993974587323898473772500826755790445837686671782270776797279146229269350751622009250370814897602754202956450832739866186602309792835910014268312322802763615833919711580245100374035934765569420643526609796099654507312221075873238858894765060175342827987621413548842175911570394494941218249286825323116971956464520255840006284385479227763170129836829881656226521721507415026309885096430709560851928766581796827391214210187801369870289242901681963461238236634481559911756971499143458204529736038151398774618248746623090223893443170917040126778316185450215748339961357168473482052198791916028968880842855865158767882408285664318989272966446976748057815431225981707133389653486339825905433021213949620259175022738140670690420252694938739490420495293749661928598202940996097681823420175943086943142015941166501482881272503760816641838069234813092228820950300572433081211195543585059702722013299300585770070730593165170321851826238127394565320102310446755294442644339864826880208779834333046491085932743510912776369496661169524194471471896826962645838032627303810417953147550347843818284141224211349919451738589406734833290841218636639537162438993501798950980230219858285502614895629992059285527825222524440227204447269723726829644525345514495453326720584061226629028124448082016853340926076533568604627411561591714362352408337418198657254739862445731052678719621636522387158124941676869755961151338616113829411273563430758979610829492167021008221156303942892242293998350124373541494782531479859018238672400965805754391847534803395809926200373546899795321060898232226842512174465586454541001851350715684412061457915444728690186636388410542297388239215797341824204049807312024666120930523643615914572186873782687299160380678114381134655583802023414128353021254388932073684838522968099042896464631629308879802011075226258025923200721153373562110252122926784997887907626995734395515643898316252117417456691355580443387785117192032544973328513630844317343089772097855726928541124973566034165985570565146960874069126856636547265150523601352571634786602506962289434480710693126009070887027661100558575864461987496296592163189452592507227511941518475681697909976027278018804167465933981832804620584300774462657406367311849873783220079299549278635442085722375821615575003188688701757156189865892851662841995341791577016711109806380968491063857178722326456099650651331967882574963980746479996805345487670180011361615778268045363497432023240593939465334334106612860365929565215559860011688158378255501265794477479425590202010388202192295108151643628874353796070824767048424320391741850568269822185355186704045105413984264086623012483250172642161562060462317816371812142205309557901532744216066979213389033202950623796771793335646240984631488243702754280119769554345289858712954202324340794086315443740718339320099593461470561595795279307872123581803790081282851892164799803706606552322459738086435902083701941208176795821737682240796401833566703062413124 2691845270056390141415719464919147138813887134480123245595237875501399029470149403634523701033065476303907327310209606718212401543266470988683601105270323068611850010232226648599043691874915403716668355711866621239024323968956904569217423513098047242966085477149677028178002145318075370870971119260581161579090802373164033652806547213632318253914452034597918108341991690826460809129755970217748403940188822008902367427182969832926876467690532495805025729613473329679809853662859125542150794773458537681517825084530990218366003453057308814319255741395703100325924871737263924072561968365662230114235529371153661969912724966663396905368018998184922195806144748295434339883180952481778426285661240244240744930415224710278159914015445303432240010707540325120287371003980286598557947763960309257367994363338150633929145653588899620580629904565059054528409971389544322564351084619671775919400298272034705615816339294556636115029645080458534865052863926256713485194878541701665355833342701581039728096772070596374606615231734448995548467753764208067215618151326237647975866777645593690177113284583151577625448075700960858886104462149641564394144317853176868914352917325381927467110875033647007965677688146257863863714886454624529282416688111831544929516108045691050157409892165504178913321450186326924415638480148789229968462233064924793385177991143915089970581088488221983542071437273155288714200508797207279338926122007314052488965107012954621447095074361740164998427175683257295772863490301731092983569039969096456779623554614746538678924950578808337578991503466904312288770221676632456010482677008240468225471513889742356395245500533406980449732478222442900607181259921677644587209875838423497877964277925974886712450087141208201171792002357507779877793939663524567736069669739741983483759848354508586949267008743476860620383791676421443248736040680743593880710401227651585273886654167220531489746779981386375460815118294679807153516332784693918274892581165682485663854695728798815502429454468110651778745040546438250442775350456531920755417222855241963398630627208297314651477119997833337626149439719529382621153722676876390628806773713094311230273832006623718291928833905281181789679892504896565824698550711099898859092477702349443991847780699165095920838552834231306919186393622997737805840334918315886915036561869701943717198244548018725139544646255256093171859433175007004765902144184164304961704336892582593720962933202760745610729283067778098391640506164341916173485053599891984769993598387201680658408183623138834548114602752729347289339956304232232780847615815230070251822850626164144679466735224291455658211966510283983746180524755820098083032678809058847932335566255537907669507293246037483624598209354508363085081220764161237823365901041795850599445254092169989705180035562547356412010828259910669950583299594661633059459423190707396839365605484568530728329898363252023999019647453691677252159751404501790675922417610689365166953200836234229783068087826047473877939118176519724752412229517658330113269651202922641687001848237614759582675669201387339212108459292722980630823979382073797654218751449990379261218442610626279421612317175890403552217209474241319192544900819869758102111519352540314061786939909600637120695639985213146147430414736567757588182857492672611311327532532749646348732296871705323075890103199330441442944711803775341838515147456242502522972252418306243016438496887595171485647114733188168880362644882424074979495945467806692949533793776787300566332332440641097684840072151040585017313139953536327189075894363081668236343455737153385641100834345627363391843582471095477125530758996740537164207378885647575014300670616722938742899578553944185019531026703862703969850973637451994428855247637682211865557881087205758940095479785128290172491260907906305502236794654854984099121137805526938251468961240812471341572398155359230705471022080044927448832373624384198207246651845652107764620020389715992626644998731938256045010749826442642383000351813660553202335169974239505333369037285184844998369366247 4355497139406878825577932270640946293768798722858171288958727296512304676181430281920281234402098595107742774276665148812384861920527946658254235227790506955891741246946520187938467224107020207268822302191505609761915826349837185534794494679708251038597006747247028367877414824105982029194866027662129202604539752967507101158462322487037453865034643778269795423080614895488174089923157043040891577524103572051102207054122890027686393792529066983511608069340174169774797482974833033144553543195744643865888388399242893270724008576828817155863563130379700955646689378309792242279795518040372212637361366078869717702948365788329740046858495641027341466496437097976222436210122704717191118718905941210393863022659015524614723328382817263675933188328021349818838014379014279533318814270188536635476866651857937187286130927658715571863357947448233248986045406688125227895555712478365014942064039152659019965236371749310239589202079999867007239887005325586951263728252999052044307752723090474588650560508528499224066687104823141270225768327445997333615688975827833302827931840783069380342763921577126164949346549473461685641894907987328236176415094650456015143622268077003936717481689931249762168634138978997730050317196247460439296685000434634308545350027757271295257783928100269748333964976796123024070145792369865103207321127829984968728005978765328638812757000058616478483289686559980611831172465261727535178932406392793280252135236849784503103321596083247580024737060779688005333715419068312889810960254179284258149493843857648220642386188815442819138903260438403455746974751412670607409257295256987091315695407332913273435372278849592430665480818183800069080663312120469560616178756681279363036732160334260551031439360107655177919849817788733761584927329317010907561975102760955933104019023377246727619957428996171799359874212171715192910664638883684589978392224647827528360829796183161697991229661253890136277456956363914620245745153734994490707973792361226070723557417742098116088199525198703816949066892372676377837340670558842367510711665499581828225510835988131647697968205930576848538925809216190552145348194148773217591452611745721615040691785154174066135747118046505393139599344243485972559531841552318535498629640141342945790798760929384954206341167729861298978471921448220262246067539365585610641866206395047458212651571268602786366173674379704175188712774101083538334506771595725896676066689300920011919620187942623191341781961787399734914027664289283593043241014751230600883823009660765111417387794452631001569122823909033290181582250302582357154389110597761550110841089298565110485221127071826259054021892710657530645975845816718330309875190983524434386876568106888623353919354703952928353288395990896773627378609003377035165190105091603162624111375022693633321094607749421139099309988640588784331717955178463656473587776211961785771439290323091498827372794827883653307899449464766903510185674605222944049484527862812291951951088743861225517463603469945790130056535633211080332855617302775522145814624531436272531319191327386857438402597742512312778142625278293545777784853451200654290766016600513980613790077397228786383901751656601096678226280361268980293103476684331745598408111515729766654294167421542155596377337895189173425449218904033691570015662113256912085790189939116958198606080091784622625168738641416163818766327378778530527216904612432368415823915260301584808015513598704977866615605797045347602689100982074726311463828042770673696013790582132788236512343802256875952885435648472608257907079418870661295688754729011233451903315748841544019356335611421840871269172673105865327723054104892180793081732681718399781349094937114680593467848376129540206235071809276688233937596649935244601497409199742674183374252899347964249653381317872506239470474296939508452860591426648319745362122437015181954223241360582025686862256868313433029811816166360371189550712944483791668717213441447387072492143971519782707927850624103055848717356378765102121086787715744255143543346770061243015609833687018411701431779371 7047342409463268966993651735560093432582685857338294534553965172013703705651579685554804935435164071411650101586874755530597263463794417646937836333060830024503591257178746836537510915981935610985490657903372231000940150318794090104011918192806298281563092224396705396055416969424057400065837146922710364183630555340671134811268869700669772118949095812867713531422606586314634899052913013258639981464292394060004574481305859860613270260219599479316633798953647499454607336637692158686704337969203181547406213483773883489090012029886125970182818871775404055972614250047056166352357486406034442751596895450023379672861090754993136952226514639212263662302581846271656776093303657198969545004567181454634607953074240234892883242398262567108173199035561674939125385382994566131876762034148845892844861015196087821215276581247615192443987852013292303514455378077669550459906797098036790861464337424693725581052711043866875704231725080325542104939869251843664748923131540753709663586065792055628378657280599095598673302336557590265774236081210205400831307127154070950803798618428663070519877206160277742574794625174422544527999370136969800570559412503632884057975185402385864184592564964896770134311827125255593914032082702084968579101688546465853474866135802962345415193820265773927247286426982449948485784272518654333175783360894909762113183969909243728783338088546838462025361123833135900545372974058934814517858528400107332741100343862739124550416670444987745023164236462945301106578909370043982794529294148380714929117398472394759321311139394251156717894763905307768035744973089303063419739972265227559541166921222655629830617779382999411115213296406242969687844572042147205203388632519702860914696438260235437743889447248863379091641820146241541462721268980535475298044772500697916587778871731755314569224437739648659980258003848136636159400679564428183859102625875479113634716450350382229480976441235276511738272074658594427399261486519688408982866373526908556387412113470896931590628979666814468727811932919114628280116021015374288266128888354823791624141463196428962349445325928410186165075248935719934766501916825649608220259385458815926270965617160797784427675951951786574929279236748382538384230392263418434357722117843692389782646541628550050127179720564092605897658315071218000051907874283901497556902768264749401929849815816621511505718320634960268360572207276090543100408915779890201637771026193502605640583121145383936952511244855177833305668170453625509216726068351122585653816608047966792075795978075769836117237426661762637470922206606814589935236726412991620362663939924729255164687862296117714712233859220941514392156370572538428392907869792583282319212134362426531023426647949990411977886605345405136712459829767538272988556006133399013223556629114863623026274643311968495511320816900499454282301254773125289533047199402669182610804895807660029555702693191135677306919096918458580762345426009724734725406945473501657118904289580095455300531691295993264007995653809730805085267846820433852259084275734358914218321039565001617021078266943899651990251084571016526408608832833274451944984768050504359875008520007855065805514068832491500230443489835510299485648377504201503700519630868270080716081107331142792717072977880402319572879633640601449158198519605929523397117722471866604547338376963489945701058841840746605261711039182553872365732052068674870938796167678607827824454010486300149352262720530233516483051745864498801290959773510577366645547584358920088802844676242897973637725507799513193275220219372406988484764649092092901688246771485994929660457169957049204263112755144201342453253813101632717957289111567365974795649765553837619336367426930073725225766098513139392203788570287387239030352656837424886048932133986553723189748861103000796411961735204845813955097386081503303844483260242542120205692202601394497028434655023672663735282838246405298638383086568867989875963865287099494837112164361235775334572849356041311893728106205207744504087139529404808345878516744300748348978870972203256699801145618 11402839548870147792571584006201039726351484580196465823512692468526008381833009967475086169837262666519392875863539904342982125384322364305192071560851336980395332504125267024475978140088955818254312960094877840762855976668631275638806412872514549320160098971643733763932831793530039429260703174584839566788170308308178235969731192187707225983983739591137508954503221481802808988976070056299531558988395966111106781535428749888299664052748666462828241868293821669229404819612525191831257881164947825413294601883016776759814020606714943126046382002155105011619303628356848408632153004446406655388958261528893097375809456543322876999085010280239605128799018944247879212303426361916160663723473122665028470975733255759507606570781079830784106387363583024757963399762008845665195576304337382528321727667054025008501407508906330764307345799461525552500500784765794778355462509576401805803528376577352745546289082793177115293433805080192549344826874577430616012651384539805753971338788882530217029217789127594822739989441380731536000004408656202734446996102981904253631730459211732450862641127737403907524141174647884230169894278124298036746974507154088899201597453479389800902074254896146532302945966104253323964349278949545407875786688981100162020216163560233640672977748366043675581251403778572972555930064888519436383104488724894730841189948674572367596095088605454940508650810393116512376545439320662349696790934792900612993235580712523627653738266528235325047901297242633306440294328438356872605489548327664973078611242330042979963697328209693975856798024343711223782719724501973670828997267522214650856862328555568903265990058232591841780694114590043038768507884162616765819567389200982223951428598594495988775328807356518557011491637934975303047648598297546382860019875261653849691797895109002042189181866735820459340132216019851829070065318448112773837494850523306641995546246533543927472206102489166648015729031022509047645006640254682899690840165888134627110969531212995047678828504865518285676878825291791006117456691574216655776840553854405619849652299184560610047413531858987034704001058151910486911850110974422825811711997204537541311657402314971850563423069998291968068878580991868510943762233815736969856351757985035335573445302557935004333520888293953904876130236519438262297975413649487108198768974659796860142501387085224297871891995014664443549284981377174081434915687375616098313837715494422617560203309088007128294293206642577568219695834742909102259967083102353186537639617708731903493183772528400837686360250570795927652504456909396947089625837010753170473505029223294365649908989367943973766255751931599045038132216389256758702783060776107716706088702469315154377346002653943340331175001336301910339838438770915308153746111225002175847668004137557256347369251061389634610630805541088238614019209951588946006634975614630968382244186130751528383075488019019330614818546383225484272531100614947678774891473336313949070855378323956680817995294765939054138052189442941885418123464123209374404898900265795186749640230892388474459480864686411964768393709849310072186393686284475106235750784651018340488798597405083852189415820489092596908669770196779279778751854188533249298927742383999847370375274752684948313450315775591492998328852544635140728214181719186435482907912410983562745944457055274568326227580482162769080477366561332402892948956681107239354620082938909412632469524085005127218878326327278864085740846846573527602423601553348040341561374941052877039357020045154849590610943447985801533127298791277649780453403821104135140150087234836473679813505568471045134381927817307207780976867206524898750370844249084374576998860490952299929835275306203265432001170322416080437726166937322483631850066037167560232306386885901687439402242420873302651432209501785322407957977508151623589845382679557302159915443961976522715296911891986096765094654412765669827933799513351781544681078728546881909604308332755558042500699980144367742445462583972846625173927245149063489421863514361991364588704659221668401232924989 18450181958333416759565235741761133158934170437534760358066657640539712087484589653029891105272426737931042977450414659873579388848116781952129907893912167004898923761304013861013489056070891429239803617998250071763796126987425365742818331065320847601723191196040439159988248762954096829326540321507549930971800863648849370781000061888376998102932835404005222485925828068117443888028983069558171540452688360171111356016734609748912934312968265942144875667247469168684012156250217350517962219134151006960700815366790660248904032636601069096229200873930509067591917878403904574984510490852441098140555156978916477048670547298316013951311524919451868791101600790519535988396730019115130208728040304119663078928807495994400489813179342397892279586399144699697088785145003411797072338338486228421166588682250112829716684090153945956751333651474817856014956162843464328815369306674438596664992714002046471127341793837043990997665530160518091449766743829274280761574516080559463634924854674585845407875069726690421413291777938321801774240489866408135278303230135975204435529077640395521382518333897681650098935799822306774697893648261267837317533919657721783259572638881775665086666819861043302437257793229508917878381361651630376454888377527566015495082299363195986088171568631817602828537830761022921041714337407173769558887849619804492954373918583816096379433177152293402534011934226252412921918413379597164214649463193007945734335924575262752204154936973223070071065533705578607546873237808400855400018842476045688007728640802437739285008467603945132574692788249018991818464697591276734248737239787442210398029249778224533096607837615591252895907410996286008456352456204763971022956021720685084866125036854731426519218254605381936103133458081216844510369867278081858158064647762351766279576766840757356758406304475469119320390219867988465229465998012540957696597476398785755630262696883926156953182543724443159754001105681103475044268126774371308673706539415043183498381644683891979269457484532332754404690758210905634397572712589590944042969442209229411473793762380989572396858857787397220869076307087630421678352027800072434031971382663353467582623019475769634991099021950078542998157817740251049327992626079155404214073875828727725356091844186485054460700608858046510773788551590656262349883287933388605755671742924546262072351202901845809377610315649624711909857188653264624535324603155506299951608741687925223200786430233391065246804451497755401525364005196534611476693151453475772191456225756698695568979750604170673803597677232558565123426663516211537024862563423744790836168969148023620814596851664061688478489611152540559430288586961795187095690930568690999025300836831741685400772650603933752309061606681707047052298268538453581142302117358401189071224633252420879373643894373358130121951622441587692896320464724714235539682175017300150993049081938411557938778181210155007921737643301684065034876526624672413500298418809815606189759667904052136118526986061932318146047843252672690503391310943643226663983176000154100967961270457390091480559131630311616758644794420326598595002519117749558180735552701522700363807117412938917994929889321584097139113260032289579264400231692734752999447373252269928086456382083827741030523293655993812571208486185236589886412701325115958880025634882850167293282834018764514027286422322909374342188405743886275258681008749782110293416250617517240456923534571305276571141046857512380568792592711072328893383375063925406987108959299972965842201696288052823228336451247498994808347518163684638265218052913197036828396858720831403340270675525520249397494682961508550234230680308157616707659955816450349372648626044789919266202702236276990657767268835555472641514737224709722662202722874592446281238520872455410629151103523874099063393944706631136363055363589654927434328642922099422365607646563371019743731566915658760500377492659170968466316886082219771420644944015646376746716472693991333377073549336185679636173568789180591129261066774553871835300380258662739713567575631424925101034070607 29853021507203564552136819747962172885285655017731226181579350109065720469317599620504977275109689404450435853313954564216561514232439146257321979454763503985294256265429280885489467196159847247494116578093127912526652103656056641381624743937835396921883290167684172923921080556484136258587243496092389497759971171957027606750731254076084224086916574995142731440429049549920252877005053125857703099441084326282218137552163359637212598365716932404973117535541290837913416975862742542349220100299098832373995417249807437008718053243316012222275582876085614079211221506760752983616663495298847753529513418507809574424480003841638890950396535199691473919900619734767415200700156381031290872451513426784691549904540751753908096383960422228676385973762727724455052184907012257462267914642823610949488316349304137838218091599060276721058679450936343408515456947609259107170831816250840402468521090579399216673630876630221106291099335240710640794593618406704896774225900620365217606263643557116062437092858854285244153281219319053337774244898522610869725299333117879458067259536852127972245159461635085557623076974470191004867787926385565874064508426811810682461170092361165465988741074757189834740203759333762241842730640601175784330675066508666177515298462923429626761149316997861278409789234539595893597644402295693205941992338344699223795563867258388463975528265757748343042662744619368925298463852700259513911440397985908558727571505287786379857893203501458395118966830948211913987167566246757728005508390803710661086339883132480719248705795813639108431490812592730215601184422093250405077734507309656861254891578333793436362597895848183094676601525586329047224860340367380736842523410921667308817553635449227415294547061961900493114625096016192147558018465575628241018084523024005615971374661949759398947588171211289578660522435887840294299531316460653731534092326922092397625808943417470084425388646213609807769730136703612522689274767029054208364546705303177810609351175896887026948285989397851040081569583502696640515029404163807599819809996063635031323446061565550182444272389646384255573077365239540908590202138774495259843683379867891008894280421790741485554522091948370511067036398732119560271754859894892374070425633813763060929537146744420058794221497152000415649918788110094524647858701582875713954440717584343122214852589987070107249502310664289155459142170030438705970240290531122398265446457182347840760989739321398193541097658140332969745059839939443713736660234555828958729095843465430599062163523132571511489957927803354492775931120425608484114488400434497961309673998371317986464505841032005662244745363084139604468420803351051945798473991344798715731389539301056839778118653257877092640236608018008957392136707309368889296048228583403364918892637389978135721013145434747764732582427982675931510339674676303181546317150631931119375293268069163086321853669229174338536556189684909549307407627239620092275189892146129555260615046228008816936522280827871372284100032695614575921514775066852601068882076265949287717601501349778565940039996316723581527038504269636670781396205402224664416486337352541040852605714818022770184345709810676694047783030229068859043152085881268002298375115636269775456831656836512689343973609431585305569537338729871730614626883044302394362933547293833730039227291074039082353514002805072143422665772305218678151629965430889349648036333556426653089393058656310403790019373184791244654533439557645856495806976617273447328670334241025842881558716333207672818947394695484796341474816954962288045671456734301171968546945955667877020084181093991294531876610778815758015207547514682515458030800065534723949647486535742219196037977542480256089768439157971553079240904162032206294052788911760006513544907758357098068553345944747401714826154208416458771013341097806551024174025601656724525523090525347542459028478807644857265472147071936638294250685595571552965326022744193258656320781026746891419574249316330047378619031373153437754434994019702935324722243773024731078156280290646593502266995596 48303203465536981311702055489723306044219825455265986539646007749605432556802189273534868380382116142381478830764369224090140903080555928209451887348675670990193180026733294746502956252230738676733920196091377984290448230643482007124443075003156244523606481363724612083909329319438233087913783817599939428731772035605876977531731315964461222189849410399147953926354877618037696765034036195415874639893772686453329493568897969386125532678685198347117993202788760006597429132112959892867182319433249839334696232616598097257622085879917081318504783750016123146803139385164657558601173986151288851670068575486726051473150551139954904901708060119143342711002220525286951189096886400146421081179553730904354628833348247748308586197139764626568665560161872424152140970052015669259340252981309839370654905031554250667934775689214222677810013102411161264530413110452723435986201122925278999133513804581445687800972670467265097288764865401228732244360362235979177535800416700924681241188498231701907844967928580975665566572997257375139548485388389019005003602563253854662502788614492523493627677795532767207722012774292497779565681574646833711382042346469532465720742731242941131075407894618233137177461552563271159721112002252806160785563444036232193010380762286625612849320885629678881238327065300618814639358739702866975500880187964503716749937785842204560354961442910041745576674678845621338220382266079856678126089861178916504461907429863049132062048140474681465190032364653790521534040804055158583405527233279756349094068523934918458533714263417584241006183600841749207419649119684527139326471747097099071652920828112017969459205733463774347572508936582615055681212796572144707865479432642352393683678672303958841813765316567282429217758554097408992068388332853710099176149170786357382250951428790516755705994475686758697980912655755828759528997314473194689230689803320878153256071640301396241378571189938052967523731242384715997733542893803425517038253244718220994107732820580779006217743473930183794486260341713602274912602116753398543862779438272864442797239823946539754841131247433781476442153672327171330268554166574567693875654762531244476476903441266511120545621113898449054065194216472370609599747485974047778284499509642490786285628990930905113254922106010046926423707339700750786997741989516264319710112460508889384287203792888915916627112626313913867368999358683703330505564893686628698217055198870273063961776169554789258787902109638088371270423845135978325213353386009304730920552069222129294631143273736742185293555605035913057899357783941820021139350963858242752145842967519341607279102692696067350723234974236680163898709390312847132894164921913489714756690376132798525178891303861810844949298214699716004444434975847822470438350345941804553990117270642399015094657039808105894854534050424263624406660139401017417085999325649231270368342350007574644260631850439329346458293832986593614342284153864292505775488310955945161450374714132060953055049266889803690430147875948287266424906086010495827732865252266103388685562771807168657420599127947035198285683298689963269376398724519974222597221890054063741216412832230961688179275599132260791186896290261358438307552317574002755297822488888539703543288038920340430374496903087579118140745824915108320501039584369418353242959182176683897332510125092803596380800425127981517764854178049104953410310974180671459941452584173943893546316593227615680361160420042303625223326032268718185389190351681198854315779293540998808723760412621260496047283845942983791149822335118646926310889509647498208796943804676499280360354856619511543929371293740324308249438227822840132165690755881985073322296112580532138462240679778757246747535707993527025720755641386741928956255511786352452794783428630812508697704449468621500778220098915047595134068704687461478458502668523756146891130737088718562202760045723303617765849639731107606760567571677791324385970966759839635403037253720738224796647798652515727014792600162334028883696060794256807160022624031687470791723855922071518603301066203 78156224972740545863838875237685478929505480472997212721225357858671153026119788894039845655491805546831914684078323788306702417312995074466773866803439174975487436292162575631992423448390585924228036774184505896817100334299538648506067818940991641445489771531408785007830409875922369346501027313692328926491743207562904584282462570040545446276765985394290685366783927167957949642039089321273577739334857012735547631121061329023338131044402130752091110738330050844510846107975702435216402419732348671708691649866405534266340139123233093540780366626101737226014360891925410542217837481450136605199581993994535625897630554981593795852104595318834816630902840260054366389797042781177711953631067157689046178737888999502216682581100186855245051533924600148607193154959027926721608167624133450320143221380858388506152867288274499398868692553347504673045870058061982543157032939176119401602034895160844904474603547097486203579864200641939373038953980642684074310026317321289898847452141788817970282060787435260909719854216576428477322730286911629874728901896371734120570048151344651465872837257167852765345089748762688784433469501032399585446550773281343148181912823604106597064148969375422971917665311897033401563842642853981945116238510544898370525679225210055239610470202627540159648116299840214708237003141998560181442872526309202940545501653100593024330489708667790088619337423464990263518846118780116192037530259164825063189478935150835511919941343976139860308999195602002435521208370301916311411035624083467010180408407067399177782420059231223349437674413434479423020833541777777544404206254406755932907812406445811405821803629311957442249110462168944102906073136939525444708002843564019702501232307753186257108312378529182922332383650113601139626406798429338340194233693810362998222326090740276154653582646898048276641435091643669053828528630933848420764782130242970550881880583718866325803959836151662775293461379088328520422817660832479725402799950021398804717083996477666033166029463328034834567829925216298915427631520917206143682589434336499474120685885512089937285403637080165732015231037566712238858756305349062953719338142399135485371183863057252606100143205846819565132230615204490169871502345868940152354925143456253847215166137675325172049143603162047342073626127810845311645600691099140033664553178093232506502056382875986023876614936978203022828141528714142036475805184217751096482501656052620904722765908876187452328999767778421341015483685075422038950013620565133689649647912687559893693306796869313696783513532839267550675288904367428505253839364292740713455516965890659593743608533728073012967980337320819768367130193663899078692638913258288430488079915433855364957009957119687937589534822717724961836571683157191359734398574525207918909009908032377150815670185242853659587116478406939555916999814077320598632316476281162389743635618076737730582485519668503684994850022671503163649691781103912598050678203102074716710989760360069769991571547717675062714247908643901842346420861077348428801747328532052676403164273156947223360639124263758779812721802959599940157794929922198887013708227406604782069018547048984458363621308942937485234679320490427297350704403455270757596197604524809479000119695756853119718470512519164423710283163644980051115666467413720747605892729470517627371737416166842678734314427933053661187519950354323631561940939611560809589488917730370546635709651883926084151179793227094869877859471826364041884997328298472301644449627782024651605319128954468168866231240638468587491297152073609214356560966381799380765490750632167157380439037713502838461247904519140066264645775337522647623721555947519797271943599116274357658278657321237502837304147151498578799996545548774135250308300698112459308328336389169606766257795413368902493046253123464053905082045785268029482676694125412871416653827614066104661788524530948475031321786803044245054818257273362877351296989504032894059358034747485116216222047968845774393411631535487466638131054813959742484744867804712201869880136212718112105568061799 126459428438277527175540930727408784973725305928263199260871365608276585582921978167574714035873921689213393514842693012396843320393551002676225754152114845965680616318895870378495379700621324600961956970275883881107548564943020655630510893944147885969096252895133397091739739195360602434414811131292268355223515243168781561814193886005006668466615395793438639293138804785995646407073125516689452379228629699188877124689959298409463663723087329099209103941118810851108275240088662328083584739165598511043387882483003631523962225003150174859285150376117860372817500277090068100819011467601425456869650569481261677370781106121548700753812655437978159341905060785341317578893929181324133034810620888593400807571237247250525268778239951481813717094086472572759334125011043595980948420605443289690798126412412639174087642977488722076678705655758665937576283168514705979143234062101398400735548699742290592275576217564751300868629066043168105283314342878663251845826734022214580088640640020519878127028716016236575286427213833803616871215675300648879732504459625588783072836765837174959500515052700619973067102523055186563999151075679233296828593119750875613902655554847047728139556863993656109095126864460304561284954645106788105901801954581130563536059987496680852459791088257219040886443365140833522876361881701427156943752714273706657295439438942797584685451151577831834196012102310611601739228384859972870163620120343741567651386365013884643981989484450821325499031560255792957055249174357074894816562857363223359274476931002317636316134322648807590443858014276228630440482661462304683730678001503855004560733234557829375281009362775731789821619398751559158587285933511670152573482276206372096184910980057145098922077695096465351550142204211010131694795131283048439370382864596720380473277519530792910359577122584806974622347747399497813357525945407043109995471933563848704137952224020262567182531026089715742817192621473044518156360554635905242441053194739619798824816817058445039383772937258218629054090266929901190340233637670604687545368872609363916917925709458629692126534884513947208457384709893883569127310471923630647594992904930379961848087304323763726645764319745268619197424831676860779471249831842987930639424653098744633500795128606230285304065709172094268497333467511596098643342680615404353374665638602121890789260175764901940503727563292116890197140887397845366981370077904379794699556854922893968684542078430976711116901877416509712285907530211400364163367006574438420570199981909689188324450070606055882077069137875180608574646688309248526393190328150983465601359933410001201022711226424140363691215311557499932265839583976746211586803835171778145244770291566653890135901260981498782538833037417440966281006659005013830172748920467012472899127178674776165910327225050959554441650528831203180323659953478338015718315801930393660111977968084312374843117370107833031453143855658096777991975934968205103826166514058019878161364474492130723046620814607478753144395784592189108771326947087844256534612580798156065088727044964115880781238252210793978098405101649563209534193654442173109610930117460668523285431379279946146542896908075198276421575610751785735658256721029273512894020093413349182543407734677193550092967415606743541851028988560088371616706051783139100848851911647201524704247541259646275115114853061035178952374128403428584972251913792232269530941501904314440182026245111541764512340213269398495101185504095082227274187679979671155960228921323023460329079541575728664913515086581452378641119487192256140667450476029297589562434555308666437740793894333014382390619198259464374514084003160362779789412311829504870594239711696806496120519337099994749584839855145025604520752186935516064206563812484464912103111765019982115463962244881990403271266352038511649039150750472729507941179362649169018307784564702784666864548570254252092797171426534151851815385828951154201737267956263872529462395288468223341012869846621361501408204231697821495521827115608216549644767491836399672661603992134789630708869128002 204615653411018073039379805965094263903230786401260411982096723466947738609041767061614559691365727236045308198921016800703545737706546077142999620955554020941168052611058446010487803149011910525189993744460389777924648899242559304136578712885139527414586024426542182099570149071282971780915838444984597281715258450731686146096656456045552114743381381187729324659922731953953596049112214837963030118563486711924424755811020627432801794767489459851300214679448861695619121348064364763299987158897947182752079532349409165790302364126383268400065517002219597598831861169015478643036848949051562062069232563475797303268411661103142496605917250756812975972807901045395683968690971962501844988441688046282446986309126246752741951359340138337058768628011072721366527279970071522702556588229576740010941347793271027680240510265763221475547398209106170610622153226576688522300267001277517802337583594903135496750179764662237504448493266685107478322268323521347326155853051343504478936092781809337848409089503451497485006281430410232094193945962212278754461406355997322903642884917181826425373352309868472738412192271817875348432620576711632882275143893032218762084568378451154325203705833369079081012792176357337962848797287960770051018040465126028934061739212706736092070261290884759200534559664981048231113365023699987338386625240582909597840941092043390609015940860245621922815349525775601865258074503640089062201150379508566630840865300164720155901930828426961185808030755857795392576457544658991206227598481446690369454885338069716814098554381880030939881532427710708053461316203240082228134884255910610937468545641003640781102812992087689232070729860920503261493359070451195597281485119770391798686143287810331356030390073625648273882525854324611271321201929712386779564616558407083378695603610271069065013159769482855251263782839043166867186054576340891530760254063806819255019832807739128892986490862241378518110654000561373038579178215468384967843853144761018603541900813536111072549802400586253463621920192146200105767865158587810831227958306945863391038611594970719629411938521594112940472615747460595807986066777272693601314331047329515447219271167381016332745907525592088184329655446881350949342752177711928082994349796554998480715961266281555457353209312334141610570959595322441410288943371714544387039218816695354397291316558640887964380342500270319913025282416111987403457175262122130891182058510975514873407307987307164163445901645194931053301391215286822403113380627139572110219847894597249082017756867475369578860582670714448159249935592676677031647029692443724179056876899300660794766319760152213376659195648878319700632969777640645290279442748430066575732850207000509255092911218101186720128367860135165928117578342162205189907147494992220391808137086707153316725997410293813214028767007238142736240659767555658614350632278211556049855613586161050105425602889776336716447993878329599941641667716072117701876844717160094594872354234852200493038192362325153815858643693236090951117747808165192685336359909330208741491891318121063104141877376474552757911126904609163149691988584364371996624638344867273305354449926328930604906518217018135761656254931242213033008961124484544270490217697938158661543527430434046669811437928125907965561312152205068422732372519196859848454744641117719152075984957426488953849429280994088840139894078757752216534192853403793079120430419634684986817735896995467848663520006496493364979044975921446269159185008278143457604678549105048111934398670530196833779746327219920966132416639265865355024011442411096970327925305940833595121232932046517220851867102778604440778729778497885427413133867777024667866183310813080853778797994421232252422144002296524183320748732484290199456872113182577371411440101409151722230220040295359305764312605161975702944232796257997537423856056774581889724438392316850771526337094785200567828493213337196096870204086224517079088564945767905423521753323215708457229091894590207275801615863233308962159958170422176292129512359641111874531484128347507742814437189801 331075081849295600214920736692503048876956092329523611242968089075224324191963745229189273727239648925258701713763709813100389058100097079819225375107668866906848668929954316388983182849633235126151950714736273659032197464185579959767089606829287413383682277321675579191309888266643574215330649576276865636938773693900467707910850342050558783209996776981167963953061536739949242456185340354652482497792116411113301880500979925842265458490576788950509318620567672546727396588153027091383571898063545693795467414832412797314264589129533443259350667378337457971649361446105546743855860416652987518938883132957058980639192767224691197359729906194791135314712961830737001547584901143825978023252308934875847793880363494003267220137580089818872485722097545294125861404981115118683505008835020029701739474205683666854328153243251943552226103864864836548198436395091394501443501063378916203073132294645426089025755982226988805317122332728275583605582666400010578001679785365719059024733421829857726536118219467734060292708644244035711065161637512927634193910815622911686715721683019001384873867362569092711479294794873061912431771652390866179103737012783094375987223933298202053343262697362735190107919040817642524133751933067558156919842419707159497597799200203416944530052379141978241421003030121881753989726905401414495330377954856616255136380530986188193701392011823453757011361628086213466997302888500061932364770499852308198492251665178604799883920312877782511307062316113588349631706719016066101044161338809913728729362269072034450414688704528838530325390441986936683901798864702386911865562257414465942029278875561470156383822354863421021892349259672062420080645003962865749854967395976763894871054267867476454952467768722113625432668058535621403015997060995435218934999423003803759168881129801861975372736892067662225886130586442664680543580521747934640755725997370667959157785031759391460169021888331094260927846622034417556735538770104290210284906339500638402366717630594556111933575337844472092676010459076101296108098796258415518773327179555227307956537304429349321538473406108060148930000457354479377113377249196324248909323952259895409067358471704780059391671845337356803527080278558211728814002009554916013633774449653743114216756394887785742657275021506235879068293062834037508932286052329948740413884455297476288080576734405789904884070063562436803222423303509832770438545340026510685881615365898408842091850065738140874562803522611440765587298745498222767276747633714010530790047876506938270342206938081425460937651808589628767824582280985925558040220020594707644658236832710661995789030986576353740350410960435819632898809361617391501866246583601844720977620498567163145228812479082685502667200897552606894398585001167219020079896415459232864707264265381929482636324635344772768470417536069345916564319721033996630068948080141949709967591554245362480268720259884169747901137733987696719633643651040322805703011231218114473033718709344331216084813176932632569003039477828280059889074755253036941870972490128364806580618363085178984923115628685346736009532006258726359226182238806545106235568462327941828639881305608876751449415125093334038077830541993998768667217845513817783384237791351507844086935165111240219904405343732651507412341140765156794349078570979998949303596552764920676780232498686135228964544134055124019092268207161180801506444767196025348651371921538999426999762142107009613175860219765891860080230480016528496433372688257814613564907470428071572263478212105925498693261413801373344773536126458121495691461918440394559890359861249500032862026826379531603242486301038068815292813781658248207202546179606529538460423022509887349899317331521227002006983857441549787841500919419806263663435925667042283514551866429133837694182285177349709035578957200487351983383546730727045365035419423750908032222957019635438390885665039452660625664639871347948685589915175671280825832902031777952984148611683931798241961741211568777209820094931130457681785286030392841774279851477511547193088120482297373523306317803 535690735260313673254300542657597312780186878730784023225064812542172062801005512290803833418605376161304009912684726613803934795806643156962224996063222887848016721541012762399470985998645145651341944459196663436956846363428139263903668319714426940798268301748217761290880037337926545996246488021261462918654032144632153854007506798096110897953378158168897288612984268693902838505297555192615512616355603123037726636312000553275067253258066248801809533300016534242346517936217391854683559056961492876547546947181821963104566953255916711659416184380557055570481222615121025386892709365704549581008115696432856283907604428327833693965647156951604111287520862876132685516275873106327823011693996981158294780189489740756009171496920228155931254350108618015492388684951186641386061597064596769712680821998954694534568663509015165027773502073971007158820589621668083023743768064656434005410715889548561585775935746889226309765615599413383061927850989921357904157532836709223537960826203639195574945207722919231545298990074654267805259107599725206388655317171620234590358606600200827810247219672437565449891487066690937260864392229102499061378880905815313138071792311749356378546968530731814271120711217174980486982549221028328207937882884833188431659538412910153036600313670026737441955562695102929985103091929101401833717003195439525852977321623029578802717332872069075679826711153861815332255377392140150994565920879360874829333116965343324955785851141304743697115093071971383742208164263675057307271759820256604098184247607141751264513243086408869470206922869697644737363115067942469140000446513325076879497824516565110937486635346951110253963079120592565681574004074414061347136452515747155693557197555677807810982857842347761899315193912860232674337198990707821998499615981410887137864484740072931040385896661550517477149913425485831547729635098088826171515980061177487214177617839498520353155512750572472779038500622595790595314716985572675178128759484261657005908618444130667184483377738430725556297930651222301401875963954846226350001285486501090698995148899400068950950411927702173089402616204815075185099444026469017850223654999589410856286629639085796392137579370929444987856735725439562678156754187266844096628124246208741594932717661169341200010484333840377489639252658156478919221229424044493127453103271992830685371893293046677869264412563832756716247705719621820173895720602148641577063673876873923715499158053045305038008705167806371818888689960785045170390128260853582641009895771104187352359963805556795039798234479304076927074517873662602589687249713038431823715113732011322790555350746728567117009606609314139333531779139258036792145689332031911296710470705567672400321723697183872222795568757687772822516163343329424209987043910451453256515401352089082799362322045638585982499184543307488652804979488589655244419580358353505759823205140406412585694323149660506464349131612317296661275311367112440507579855948378209067906072944196531709123005539257786384861683171064371011006822563418229627207332399458573548072509681206242089064993005159899493920658910867889508918170823170917102860206807195215133994331231937807356355933342111469799734085473236211801676178969998362053874455489289666505630462595545286889715843271858559472973653292970225217081451090176858797758341193882639828856217456112624182813973415049212859232162285918933018040637620599818427771802341173684413817498039102477461839380226262385225059275455937974765592557696535958071169586019533119684197876882636122332473007741021294310905952765723986850715473360851491530218285167190333627983259758426048824094353403816673256071543560156133634615680047383554206326606333322968203678115325942459254429127859738073971162249651904096463120308038849619654925991967838285559924402325472709014799891562362463054927616342988724582788891476198332797756661349336486209917222759824653228454157853208544045555794001400188359914397847799683376505901934899640255471053635801776053011435958164439419841743456452569133903792211118623421724572248829805116337743507604 866765817109609273469221279350100361657142971060307634468032901617396386992969257519993107145845025086562711626448436426904323853906740236781450371170891754754865390470967078788454168848278380777493895173932937095989043827613719223670757926543714354181950579069893340482189925604570120211577137597538328555592805838532621561918357140146669681163374935150065252566045805433852080961482895547267995114147719534151028516812980479117332711748643037752318851920584206789073914524370418946067130955025038570343014362014234760418831542385450154918766851758894513542130584061226572130748569782357537099946998829389915264546797195552524891325377063146395246602233824706869687063860774250153801034946305916034142574069853234759276391634500317974803740072206163309618250089932301760069566605899616799414420296204638361388896816752267108579999605938835843707019026016759477525187269128035350208483848184193987674801691729116215115082737932141658645533433656321368482159212622074942596985559625469053301481325942386965605591698718898303516324269237238134022849227987243146277074328283219829195121087035006658161370781861563999173296163881493365240482617918598407514059016245047558431890231228094549461228630257992623011116301154095886364857725304540347929257337613113569981130366049168715683376565725224811739092818834502816329047381150296142108113702154015766996418724883892529436838072781948028799252680280640212926930691379213183027825368630521929755669771454182526208422155388084972091839870982691123408315921159066517826913609876213785714927931790937708000532313311684581421264913932644856051866008770739542821527103392126581093870457701814531275855428380264628101654649078376927096991419911723919588428251823545284265935325611069875524747861971395854077353196051703257217434615404414690897033365869874793015758633553618179703036044011928496228273215619836760812271706058548155173335402871257911813324534638903567039966347244630208152050255755676965388413665823762295408275336074725223296416953076275197648973941110298402697984062751104641868774612666056318006951686203829418272488885333810233238332616662169554562212821275665342099132978951849306265353988110790576451529251216266801791383816003997774406970756196821760110261898695862484709149474056057126942667759355346613368707545720990516428153515476374441867866987727290306973452470027452467774148482627395193519470129023131652944334265942175152262945289242772332557591008118783445912571508690417812584475988706283267937666875894567593171799943647611125622702170743638220500735886287893705694899100154648528147727469733633139468373350564721984786344381733304920857360017569749958966430588500875428294011935915633756017688091204134835545550536176266557725462769655240379716914748344496643230066940325910686121222665617471012281998646680983358750969602079376834569369299209623651874488528438495455469790796694651775065963043409544676212250269346304993380908955018152763313282867179596323540939791653540862925207818716190418953864722648892651070895897318671266569078304889586938354653128044291421073988108633845246229930190917126615868144353061977462209095775269523156962634212537546684107805348467204803837811916015230210570343396815512179837258693280641174349717397760656527109620248615591210980385994433735382011430529661156857747061937746647560505636449954798759411778517549104336878324430493080113819547082387795843776423174262712683840817260181209487075015240446028277085139505935954503262025930384793772684734493489961191256461355094742047831166269154822667655679488892182108346406935279291886090108645028439833660845286584805580427336839704854742071364357341814381841818226226990083744787029355832855553577432657463686256436111717179623759003750571323902726783743964516661938440543834267419397618584610650058723835470519562950406910999889719451628153926895622083705788884306356121648308108424864105889079822493079891994241383916575859640740230749831461329490050546583572053713015377013344830221256053095569877523528742482961975678072062596134968917660369312102489861049825407 1402456552369922946723521822007697674437329849791091657693097714159568449793974769810796940564450401247866721539133163040708258649713383393743675367234114642602882112011979841187925154846923526428835839633129600532945890191041858487574426246258141294980218880818111101773069962942496666207823625618799791474246837983164775415925863938242780579116753093318962541179030074127754919466780450739883507730503322657188755153124981032392399965006709286554128385220600741031420432460587810800750690011986531446890561309196056723523398495641366866578183036139451569112611806676347597517641279148062086680955114525822771548454401623880358585291024220097999357889754687583002372580136647356481624046640302897192437354259342975515285563131420546130734994422314781325110638774883488401455628202964213569127101118203593055923465480261282273607773108012806850865839615638427560548931037192691784213894564073742549260577627476005441424848353531555041707461284646242726386316745458784166134946385829108248876426533665306197150890688793552571321583376836963340411504545158863380867432934883420657005368306707444223611262268928254936434160556110595864301861498824413720652130808556796914810437199758826363732349341475167603498098850375124214572795608189373536360916876026023723017730679719195453125332128420327741724195910763604218162764384345735667961091023777045345799136057755961605116664783935809844131508057672780363921496612258574057857158485595865254711455622595487269905537248460056355834048035246366180715587680979323121925097857483355536979441174877346577470739236181382226158628029000587325191866455284064619701024927908691692031357093048765641529818507500857193783228653152790988444127872427471075281985449379223092076918183453417637424063055884256086751690395042411079215934231385825578034897850609947724056144530215168697180185957437414327776002850717925586983787686119725642387513020710756432166480047389476039819004847867225998747364972741249640566542425308023952414183954518855890480900330814705923205271871761520704099860026705950868218775898152557408705946835103229487223439297261512406327735232866984629747312265302134359949356633951438717121640617749876372843666830587196246779240551729437337085127510384088604206890022942071226304082191717226468142678243689186990858346798379146995347374744900418934995320090999283137658824363320499145643412895191227950235717834742753473118229986544323793840008963119646256273090166171828750950580213858224184403364678667068313108057004155421175812809839418715312975062134549195015540534120767197782621973618028311130737414719446671571292088464296733307576899732480033487974369624179064098299962367640133465086157625247665667314398561909702507945872259873450429948258338412928152539430911687826067440053984236362139377738066969560095081360968726621944733468786622684323222174278698213307118908108796848961229614001835058187651657366559205182676599400958622290042184266385265203820862723127974532608845864597737394634330824255448205338726405819957022081902719882089496196285637289045511902725637725497663163053101639005145723850849827994505377062523885148379311955982076718372096628543769484491464161281809316273637546001488466422372019575785510541891133148769930840855347860356201813999336091887449770453359647726705607228511980751333716544820278940530200334492667410911383594592490964153549737556592778999046837587720008395662204194976603886368254634758220311964536854620672290662310198781391892478027618488081329730755904079509494310940659231977378170163639276895843961966585441657906095197122408640143377620326930195630167288828546343231629251431193108671415327435900901970515476433906274373637951113635689155823757255547983406145510865239576917697730166000223227999189904052003366281593366535802105704957542986936122767738635362081925413461838616232708176210942818371820416503545545655692607858225331184688759117533980346288436039797177917976048000654628597631144705995952481483212309184069012815120883232692011260009297365272198935531109581864273714758390642232618141907606198793333011 2269222369479532220192743101357798036094472820851399292161130615776964836786944027330790047710295426334429433165581599467612582503620123630525125738405006397357747502482946919976379323695201907206329734807062537628934934018655577711245184172801855649162169459888004442255259888547066786419400763216338120029839643821697396977844221078389450260280128028469027793745075879561607000428263346287151502844651042191339783669937961511509732676755352324306447237141184947820494346984958229746817820967011570017233575671210291483942230038026817021496949887898346082654742390737574169648389848930419623780902113355212686813001198819432883476616401283244394604491988512289872059643997421606635425081586608813226579928329196210274561954765920864105538734494520944634728888864815790161525194808863830368541521414408231417312362297013549382187772713951642694572858641655187038074118306320727134422378412257936536935379319205121656539931091463696700352994718302564094868475958080859108731931945454577302177907859607693162756482387512450874837907646074201474434353773146106527144507263166640486200489393742450881772633050789818935607456719992089229542344116743012128166189824801844473242327430986920913193577971733160226509215151529220100937653333493913884290174213639137292998861045768364168808708694145552553463288729598107034491811765496031810069204725931061112795554782639854134553502856717757872930760737953420576848427303637787240884983854226387184467125394049669796113959403848141327925887906229057304123903602138389639752011467359569322694369106668284285471271549493066807579892942933232181243732464054804162522552031300818273125227550750580172805673935881121821884883302231167915541119292339194994870413701202768376342853509064487512948810917855651940829043591094114336433368846790240268931931216479822517071903163768786876883222001449342824004276066337762347796059392178273797560848423582014343979804582028379606858971195111856206899415228496926605954956091131786247822459290593581113777317283890981120854245812871819106797844089457055510087550510818613726712898521307058905495928182595322639566067849529154184309525086577799702048489612903288023386994605860666949295196081803463048570624367733435111492098266580910364317151921637933711013231665773283595085346003044533604227054344100137511775528260376793376863187078726573444632276833347951613417561377818623143755187963765885126062564252486498946102954252362418588830681174290612196863151722548641996987840667373351581045723880049988768984609783066326438597764305292833236041270007055091488316872718182959658885142189180304710760461814861455292363244114213338408831729641748814057266392956141008893380169561163299423332086653113837343491422796049716987673721108068168532256345660032322710670120924562272825498960732587031107363359615407605303484438388702061157791543577907836958993396637235344416699404798529709962717620409968749858888849670304927283423093221403417967134145590307570856149785656251278257559538642971638624292591128468849673152798617200760762765363942178632450257378765769789084237041210272850391953781040745121121245206876947125841521051757346241529059262756307031175571966630276521077475357917503696632942362972601022721728391842050572015205065258116858341108956340503040981433745642160440989239942510412490574291882216687177760840129117365710143006371008513257886615881023272079160657134802396191505980618150866599052095452018401521451611869861118318939395338287327846981289644418466123503440638572999455502197120587072120217994805546050666629622264930550088203543529343919435263710435575224070000949673832928037209678768032813526157398800258243784897318252132501363721695900665044988679310832980640869831767301351294097321489169750794551901916687795967882943531807079636373124355161571546772826462470832601488363868749616122427627839096745267442500209334429962048729506533439609552865006613802839368328034038561834551907641394859347462606035486003028066784362897084389828465713453948064355579174888800941418493085259936336310893359559892987454010096059843158418 3671678921849455166916264923365495710531802670642490949854228329936533286580918797141586988274745827582296154704714762508320841153333507024268801105639121039960629614494926761164304478542125433635165574440192138161880824209697436198819610419059996944142388340706115544028329851489563452627224388835137911504086481804862172393770085016632230839396881121787990334924105953689361919895043797027035010575154364848528538823062942543902132641762061610860575622361785688851914779445546040547568510978998101464124136980406348207465628533668183888075132924037797651767354197413921767166031128078481710461857227881035458361455600443313242061907425503342393962381743199872874432224134068963117049128226911710419017282588539185789847517897341410236273728916835725959839527639699278562980823011828043937668622532611824473235827777274831655795545821964449545438698257293614598623049343513418918636272976331679086195956946681127097964779444995251742060456002948806821254792703539643274866878331283685551054334393272999359907373076306003446159491022911164814845858318304969908011940198050061143205857700449895105383895319718073872041617276102685093844205615567425848818320633358641388052764630745747276925927313208327830007314001904344315510448941683287420651091089665161016016591725487559621934040822565880295187484640361711252654576149841767478030295749708106458594690840395815739670167640653567717062268795626200940769923915896361298742142339822252439178581016645157066019496652308197683759935941475423484839491283117712761677109324842924859673810281545630862942010785674449033738520971933819506435598919338868782223576959209509965156584643799345814335492443381979015668111955383958903985247164766666070152399150581991468419771692517905150372873973739908027580733986136525415649303078176065846966829067089770241128047693983955574063407958886757151780278917055687934779847078297999439948361444292770776146284629417855646677976042979082205646780201238176246521498516439810200236643245112437004258217614705687044059517684633339810897704116163006378306326408971171135418845356410288392719367479856835045893803082396138814056837351879934061997846246854726740508635223610543322138862912390659295349864919462872448577225776964998968524041944580004937317313857490510063228024246733720595085401142479284507122903005277212311858507169725856582291101196668450759060974273009851093990905798508638599180794239030822739942963215482064845103771340462440947813731936406866181391205346040419894153780884205409944797419622485041751572826439842028251581804127822289270938846336211270789622556908626976282052550279158188599940143846693371896806099265927878155566355323781142358466327186410965090646485215023539851437295055923167417621979446481096684795776571720148778110174908798634964876698799556591202444720584134227248217907175324745481013717856606050266112304746032193377929018800364768150369277776527955041565449071263549573465277487788683170955008313435545388758631520849015652193869467227086829631317534288806695234701337082850258961649579467677962160104403495286747400094311911855537677631890573115626622269400832274220833007739422959901155891300076515667036127912085837351112903918992163055314382548386533263619524990820502856060413118473060155108292432390490751887105289887146596468454491163824290836702495627707961174621784776621526600963499477411436353437616051078207494722522404587168184813127470485420350086776621833416148724481790609601705537068719739459317262906547453234196542652508949813137779819049498388158444822946510591588850372207994298740651752559578641330762505419700168238502379271268838930199225922197572726236159145755412794686038775737359647014300734144503068088528624275977278166590871015019219335751017779901106591847971249225125173615438478829312704558482895594201106194683413777330588232355135804050039563639262916712879975617741337364758770794241624124147783185656764073835739752527955642049487945093750741481955509549996672081153402643586596686640075615588472254073140354024194841800610025651750202125605595917702258636491429 5940901291328987387109008024723293746626275491493890242015358945713498123367862824472377035985041253916725587870296361975933423656953630654793926844044127437318377116977873681140683802237327340841495309247254675790815758228353013910064794591861852593304557800594119986283589740036630239046625152051476031533926125626559569371614306095021681099677009150257018128669181833250968920323307143314186513419805407039868322493000904055411865318517413935167022859502970636672409126430504270294386331946009671481357712651616639691407858571695000909572082811936143734422096588151495936814420977008901334242759341236248145174456799262746125538523826786586788566873731712162746491868131490569752474209813520523645597210917735396064409472663262274341812463411356670594568416504515068724506017820691874306210143947020055890548190074288381037983318535916092240011556898948801636697167649834146053058651388589615623131336265886248754504710536458948442413450721251370916123268661620502383598810276738262853232242252880692522663855463818454320997398668985366289280212091451076435156447461216701629406347094192345987156528370507892807649073996094774323386549732310437976984510458160485861295092061732668190119505284941488056516529153433564416448102275177201304941265303304298309015452771255923790742749516711432848650773369959818287146387915337799288099500475639167571390245623035669874223670497371325589993029533579621517618351219534148539627126194048639623645706410694826862133456056156339011685823847704480788963394885256102401429120792202494182368179388213915148413282335167515841318413914867051687679331383393672944746128990510328238281812194549925987141166379263100837552995257615126819526366457105861065022812851784759844762625201582392663321684891595559968409777577230639752082671924966306115898760283569592758199950857752742450946629960336099975784554983393450282575906470476273237509209867874785120126089211446235253536947238090938412546195429735102852476454607571596448059102535706018118035534898596668164913763497505158917695548205620061888393876919789784862131743877717347298215295662452157685459870931925292998366362438457733764046335859758014763895629829471210271434058994194122343920489287196307560069324043545909332841193866217938648330545523263793658313370249778254199312455486579422018898431265654005688721694248452430026923378030016402372478535650828474237746093762274523725243358491517321686045917467844483433934452514753053144676883658955508178379046013413771475199504764255398713782029405551368190170590745134861487623074134877380759255719054394230448507699097807280992813012094019643892303387960906710305637828907676692212832748279922151251846496747574264513978571868137377194928717851972884405295700554549265217052122231752471488780295833360907790375659532143622309808080199541832551702345564026806638805261434513887225105701383267537794628423598894478113086898186496704900454298741568476856888370709192101138089153903743116244908417177100293909753408110198725453923908662757656368387499954283611021727013521646310412417483169265075831637135522184705929631412931318236747867476277779400062354059496769201430215154056383546842608094542362358428588261836495859688256745520987555985347916832871074871265478376589918496217248772893531733320850932047587585708397001576314865128584712314885722014750902142331669607334507990669322969318639323157368151857324800778674165431278337084472445538795023354867760594342908928541100875356047586440606907325013576737637181225508405315334900406121618606153250368997177221211115302758082502284181096479013905041198080643770169188176212199306048608967258735723730125036417389540310112938171277101081342914965779133182378921509265145809045467942165112340708505501812331803023279643939132168656980695074851953667866130029668420663577027284902141199337848477563431889136308906705416922214405579790066871292210403794489130761586025025092107874301587079863283444347292556356776967958537616781034978237792472052310140588139971167647142874081772517280101736946336545109762018593049927798318479649847 9612580213178442554025272948088789457158078162136381191869587275650031409948781621613964024259787081499021742575011124484254264810287137679062727949683248477279006731472800442304988280779452774476660883687446813952696582438050450108884405010921849537446946141300235530311919591526193691673849540886613943038012607431421741765384391111653911939073890272045008463593287786940330840218350940341221523994959771888396861316063846599313997960279475546027598481864756325524323905876050310841954842925007772945481849632022987898873487105363184797647215735973941386189450785565417703980452105087383044704616569117283603535912399706059367600431252289929182529255474912035620924092265559532869523338040432234064614493506274581854256990560603684578086192328192396554407944144214347287486840832519918243878766479631880363784017851563212693778864357880541785450255156242416235320216993347564971694924364921294709327293212567375852469489981454200184473906724200177737378061365160145658465688608021948404286576646153691882571228540124457767156889691896531104126070409756046343168387659266762772612204794642241092540423690225966679690691272197459417230755347877863825802831091519127249347856692478415467045432598149815886523843155337908731958551216860488725592356392969459325032044496743483412676790339277313143838258010321529539800964065179566766129796225347274029984936463431485613893838138024893307055298329205822458388275135430509838369268533870892062824287427339983928152952708464536695445759789179904273802886168373815163106230117045419042041989669759546011355293120841964875056934886800871194114930302732541726969705949719838203438396838349271801476658822645079853221107212999085723511613621872527135175212002366751313182396894100297813694558865335467995990511563367165167731975003142371962865589350659362999327998551736698025010037919222857127564833900449138217355753548774272677457571312167555896272373840864090900214923281070020618192975630973279098997953124011406648295745780818455122293752513302355208973281182138498728593252321783068266700203328760955997550589234127635690934663142308992731353674014321431812423199790337667826044182106612741504404265053081753593572921906584781639270354206659180008646549820510908301365235810797943585647859380754303721541394496511974794397856629058706526021334270931218000580201418178286609214479226684853131539509923838325331736999560783162324424152730548144425988880683326548279038223855215494092490615595362374359770251359454191369353285648460808658579449028036409941743417184976889739204878262699670030194565390605501238130256006434257274865562373177832492243531807600082202443928173604570368399103603703293610312823933985229604625057083160917046366012907896051822917680001030361901847898803472620266890470742159542755252358331700213512252800783676059799920252739351552119818979291119937491218006129299731172557442399259246263456175963024659942019747812832026430353648196980784309044162217178661633667048697949309561947277577425812283555226197046463063622201291366461280688663101113988374577587572760362579037229834096561467309044821891352374489745678611674283187067236192161331371045356460062509644222454448195779701165755488022743571128069374089248967441823691577727325891495062978651325541205284022485207956221934734182176851492740139155965287207942593683189372686918953196208298007468080759322756255374235575646579847205365842350244405807569892795625571645188283909318824699538142806412424767325899924170231561029971833723878017355128472680225171116994311695191943687812799965674966076801024832849038592546371960586063470337426678591470574887539166484657921302851272576535295722907624210052838440989929266513277685447010037889421786323634533036127359927841252830111704129871491910381393782154310513330782980570688512564014864683221968315918529926080832699235939175872545968333635094381197531404236050981198036113254909369210681856181710041339607818925493835237650107518449914047166777707059391195115638906827228215586756119396947222126541474943537556362196859964144198645845500577116141276 15553481504507429941134280972812083203784353653630271433884946221363529533316644446086341060244828335415747330445307486460187688467240768333856654793727375914597383848450674123445672083016780115318156192934701489743512340666403464018949199602783702130751503941894355516595509331562823930720474692938089974571938733057981311136998697206675593038750899422302026592262469620191299760541658083655408037414765178928265183809064750654725863278796889481194621341367726962196733032306554581136341174871017444426839562283639627590281345677058185707219298547910085120611547373716913640794873082096284378947375910353531748710369198968805493138955079076515971096129206624198367415960397050102621997547853952757710211704424009977918666463223865958919898655739549067148976360648729416011992858653211792550088910426651936254332207925851593731762182893796634025461812055191217872017384643181711024753575753510910332458629478453624606974200517913148626887357445451548653501330026780648042064498884760211257518818899034384405235084003942912088154288360881897393406282501207122778324835120483464402018551888834587079696952060733859487339765268292233740617305080188301802787341549679613110642948754211083657164937883091303943040372308771473148406653492037690030533621696273757634047497267999407203419539855988745992489031380281347826947351980517366054229296700986441601375182086467155488117508635396218897048327862785443976006626354964658377996394727919531686469993838034810790286408764620875707131583636884385062766281053629917564535350909247913224410169057973461159768575456009480716375348801667922881794261686126214671715834940230166441720209032899197788617825201908180690774102470614212543037980078978388200198024854151511157945022095682690477016243756931027964400289140597804919814646928108678078764349634228955757527949409489440475956667879558957103349388883842588499931660019250545914966781180042341016398463052310326153751870519160959030739171060708381951474407731583003096354848316524473240329287411899023373887044679643657646288800527403130155094080248550740859682333111844982989149958804761150416813544946246724810789562228795401590090517966370756268299894882552963865006980900778903983190843493855487568715873864056817634206429677015882233978404904018097379854764746290228993710312115638128544919765536585223689301895666630716636137857256701255504018045574666799569483093323057686049667511222065466112034798151171031712972676369968547237167499254317882538149297372867962844552790412716207372361478433587778131914007930111751226827952397577050789450284444999731686637955104241538267678574467197476384546919768506792508081757081281262581231851883625444862159320681559494118603628951298294241294730759868936228213380555579627118900021035225091755670766575520450545628017863843835822060880983217892351622598303378358758624240725633824716323707512567268967185865998153724376543074149521364842474046554400503287242018906172885447133316120921777878575465875049603471700685687624537737479134859804119432009701245650072302415676622760298786995070742025438410674365356281267396940457753209589122357221956391074345541126732961362761586199412843609352252316996810554208289427591983882431827873590361645234315358656562652598591369871652897147542789978177554218528807153982321767885248494316454021093871920257479405204123589061284865815632515458750082292074894697392943798437172006144516515675684144654365241164366668543151669913167608466683907287780814912340531077556574606709470905103525760443807580631292735600464945560940865034011080977724159303309013945517606451413158666707240506614854803669880936148133743393645032976308993924836033020562381329939522332844232292410867825931547154567595369102475201239700636346754642443507153151135849513562439135005588182736648436818542232435528260249253218059729263929310262667828312181452673750557308786777321471107343191601830602385670955235706948289584342926687682208938182530206464295417872584783558742037628987587691216967816355557923766539821303899058755045274502698741969726162791695773298895595791123 25166061717685872495159553920900872660942431815766652625754533497013560943265426067700305084504615416914769073020318610944441953277527906012919382743410624391876390579923474565750660363796232889794817076622148303696208923104453914127833604613705551668198450083194591046907428923089017622394324233824703917609951340489403052902383088318329504977824789694347035055855757407131630600760009023996629561409724950816662045125128597254039861239076365027222219823232483287721056938182604891978296017796025217372321411915662615489154832782421370504866514283884026506800998159282331344775325187183667423651992479470815352246281598674864860739386331366445153625384681536233988340052662609635491520885894384991774826197930284559772923453784469643497984848067741463703384304792943763299479699485731710793967676906283816618116225777414806425541047251677175810912067211433634107337601636529275996448500118432205041785922691021000459443690499367348811361264169651726390879391391940793700530187492782159661805395545188076287806312544067369855311178052778428497532352910963169121493222779750227174630756683476828172237375750959826167030456540489693157848060428066165628590172641198740359990805446689499124210370481241119829564215464109381880365204708898178756125978089243216959079541764742890616096330195266059136327289390602877366748316045696932820359092926333715631360118549898641102011346773421112204103626191991266434394901490395168216365663261790423749294281265374794718439361473085412402577343426064289336569167222003732727641581026293332266452158727733007171123868576851445591432283688468794075909191988858756398685540889950004645158605871248469590094484024553260543995209683613298266549593700850915335373236856518262471127418989782988290710802622266495960390800703964970087546621931251050041629938984888318756855947961226138500966705798781814230914222784291726717287413568024818592424352492209896912670836893174417053966793800230979648932146691681661050472360855594409744650594097342928362623039925201378582860325861782156374882052849186198421794283577311696857232922345972618680084621947070143148167218960568156623212762019133069416134700072983497772704159935634717458579902807363685622461197700514667577362423684567725935571665487813825819626264284772401101396159242802203788108168744696835070941099807516441689882097084809003245352336483386108635557555498505124901220092883840848374091663952613610538023678834497579992010900225184041329658114849680256897919548732322154213906076061177016030940927461624188073657425115088640966032830660276720819644849835605232924768211110675795542544136840375308876790451576106874710525685254885832949630955487328738472472144615544723723228686034459211287660743667764988051131060556609989020747919838697712022561237317679993300880376195544049334313681766893952151542851042729910878443220016753762207541713641867000139743308397412970639999250112546024784493794367232529717595667103153669756177478338100439512242514572998913033647963265050350021034361056850582495631902537016533583104339723874287161572658314785800989711595190377828864249502575100941496846967635002748628728193969153524092957244769303671861896539451258749987990593347471905175399001659735734483282800480254230325917261366715875798868331183461576703736763375917055950062099987056593177059159128200073088393496275980238062023930522926830841614831150071628519445017019211510358865920089952224258036789938313731435579231992308004826713700205582238240455247788135636681304628981543115572280260856463852594776640752884552846811046652690236104333846794556198997785119252770710844041533395140455823687300228051566335827581570460131755928186591382777963322773498805688553272941585043989381692737008237367060564188007472555211283022627759894956221289316101513519629007507054796450392943471221533978259190010142961903767488053998642084192403167974852875343394172799866715640580324446388804471294384266295501134432017767856571813867786631950336449097020182703330123795044571144679885936768526025600229988812059060938829690306990341618799472711932399 40719543222193302436293834893712955864726785469396924059639479718377090476582070513786646144749443752330516403465626097404629641744768674346776037537138000306473774428374148689196332446813013005112973269556849793439721263770857378146782804216489253798949954025088946563502938254651841553114798926762793892181890073547384364039381785525005098016575689116649061648118227027322930361301667107652037598824490129744927228934193347908765724517873254508416841164600210249917789970489159473114637192667042661799160974199302243079436178459479556212085812831794111627412545532999244985570198269279951802599368389824347100956650797643670353878341410442961124721513888160432355756013059659738113518433748337749485037902354294537691589917008335602417883503807290530852360665441673179311472558138943503344056587332935752872448433703266400157303230145473809836373879266624851979354986279710987021202075871943115374244552169474625066417891017280497438248621615103275044380721418721441742594686377542370919324214444222460693041396548010281943465466413660325890938635412170291899818057900233691576649308572311415251934327811693685654370221808781926898465365508254467431377514190878353470633754200900582781375308364332423772604587772880855028771858200935868786659599785516974593127039032742297819515870051254805128816320770884225193695668026214298874588389627320157232735300636365796590128855408817331101151954054776710410401527845359826594362057989709955435764275103409605508725770237706288109708927062948674399335448275633650292176931935541245490862327785706468330892444032860926307807632490136716957703453674984971070401375830180171086878814904147667378712309226461441234769312154227510809587573779829303535571261710669773629072441085465678767727046379197523924791089844562775007361268859359728120394288619117274514383897370715578976923373678340771334263611668134315217219073587275364507391133672252237929069299945484743207718664319391938679671317752390043001946768587177412841005442413867401602952327337100401956747370541425814021170853376589328576888363825862437716915255457817601669234580751831293564980763906814881434002324247928471006225218039354254041004054818187681323586883708142589605652041194370155146078297548624543569778095164829708053604669188790498481250923989092432781818480860334963615860865344101665379183992751439719881490193740087364139575601073171924470703186206898534423759175174679076650058476985668611704983576595152588566825614103998139436068846105190117058458866473893223403302405895211966205571433045200392192860783057853771609095134280604964611406166214917333810222711307572785261337371344613667218607442336167095530862807370954183334631465297104217841832314985757505528955474427633924279344441112189616139647940873922803778232003893200443846508394059387885156374562750111844503165449346108269637067460742387586923865421154434269106929174395566695016542324262067389626967840921633033004837686009326555203310794459022217390817980448048516505348648952674887758513495916654701927641603782666605885520016346634585948567729056811239400385960546659096261189960328310530619204189591393822974269320702114886854543444182147281214148856448069304196280020939455787607226875250097379717598159136816882924508631238368772946411121161639130922265570529899377717947348481373047198153031048457552493597619865041522927839563038385580923906906044769021463243454191217654875381595774096878623277954304982274587249145159916471510620987986397150580986325344710243390775534085068876016087841487756588195241586313825417880822127630414395407642860740073805449198277919477951350656388198810336759835433971445211368803890564384967788948748972712717485655617731098099421098873132198556977061839483438606761200534762114998718436173763609408518660424321689696256277444325597028885921203720474752037988453939453224571595800235451315834749711954752174346450737364401697318026251279682095752760878727192983183343370200298063036109285659216733895191134649170291021340762860926702603652476589829924658985034086561759680799416469782037392098368307723522 65885604939879174931453388814613828525669217285163576685394013215390651419847496581486951229254059169245285476485944708349071595022296580359695420280548624698350165008297623254946992810609245894907790346178998097135930186875311292274616408830194805467148404108283537610410367177740859175509123160587497809791841414036787416941764873843334602994400478810996096703973984434454560962061676131648667160234215080561589274059321945162805585756949619535639060987832693537638846908671764365092933210463067879171482386114964858568591011241900926716952327115678138134213543692281576330345523456463619226251360869295162453202932396318535214617727741809406278346898569696666344096065722269373605039319642722741259864100284579097464513370792805245915868351875031994555744970234616942610952257624675214138024264239219569490564659480681206582844277397150985647285946478058486086692587916240263017650575990375320416030474860495625525861581516647846249609885784755001435260112810662235443124873870324530581129609989410536980847709092077651798776644466438754388470988323133461021311280679983918751280065255788243424171703562653511821400678349271620056313425936320633059967686832077093830624559647590081905585678845573543602168803236990236909137062909834047542785577874760191552206580797485188435612200246520864265143610161487102560443984071911231694947482553653872864095419186264437692140202182238443305255580246767976844796429335754994810727721251500379185058556368784400227165131710791700512286270489012963735904615497637383019818512961834577757314486513439475502016312609712371899239916178605511033612645663843727469086916720130175732037420775396136968806793251014701778764521837840809076137167480680218870944498567188036100199860075248667058437849001464019885181890548527745094907890790610778162024227604005593271239845331941717477890079477122585565177834452426041934506487155300183099815486164462134841740136838659160261685458119622918328603464444071704052419129442771822585656036511210329965575367262301780539607696403207970396052906225775526998682647403174134574148177803790220349319202698901436713147982867383038057215086267061540422359918112337751813708214753822398782166786515506275228113238894884822723440721233192269505349760652643533873230933473562899582647083231894636569926649605031798686801965151618107069066089836248723126842530223473472775133156571677049371923279090739382797850839127292687188082155820166191696994476820336629896483728953678396333988394837512271272364942535070239434243333356836154279228858160289033158893613718130492428739984116210197536174377325593129352766848147948094138127822920720541929133127591052928480493762858282921807103609912648941565061001020216716816616218095398912330475501668799605160395860712620515800793241210880437147388770254931934490688244517005796654708300388838180515510680759141349131407134796301269246672482792979665656541574374613414411461635288865562722433353112480224959488272797122656903060495021047429538996612217725237779547856973505284423273506319683139468624356070508873110140387371597040390097555737036925125439462903411472116051157226396571602997514671268410947500688951450953076045395899328054184270614286927692782625876909833114200880959617071113250425892605084648745279452345100707626002333905816433668009448468429640375212190176657625581991116141021760989863493561312411765521737194840649982688471210429165234247515864049102881314744243296006022828377152224476337334688191979388821441573132845880072080163066611991588368102344220440790018227066709970727633174283104631511976707534630004446983397172248662194697921593950792583522734199496777704631472134845099544876935564095495448978391229903787974371814717242546358754576491675973821764722769587553929719196391369303474881713637791209775906451832651825336314147191696286016247643949596186475363288289449957918942115122727027221794131537201564033666831604128484557232173111459278684477802218065919607923153445848684231640231669352994351464557905497847283538413358355950259215022898620820619629106776772379010897841019655921 106605148162072477367747223708326784390396002754560500745033492933767741896429567095273597374003502921575801879951570805753701236767065254706471457817686625004823939436671771944143325257422258900020763615735847890575651450646168670421399213046684059266098358133372484173913305432392700728623922087350291701973731487584171780981146659368339701010976167927645158352092211461777491323363343239300704759058705210306516502993515293071571310274822874044055902152432903787556636879160923838207570403130110540970643360314267101648027189701380482929038139947472249761626089225280821315915721725743571028850729259119509554159583193962205568496069152252367403068412457857098699852078781929111718557753391060490744902002638873635156103287801140848333751855682322525408105635676290121922424815763618717482080851572155322363013093183947606740147507542624795483659825744683338066047574195951250038852651862318435790275027029970250592279472533928343687858507399858276479640834229383677185719560247866901500453824433632997673889105640087933742242110880099080279409623735303752921129338580217610327929373828099658676106031374347197475770900158053546954778791444575100491345201022955447301258313848490664686960987209905967374773391009871091937908921110769916329445177660277166145333619830227486255128070297775669393959930932371327754139652098125530569535872180974030096830719822630234282269057591055774406407534301544687255197957181114821405089779241210334620822831472194005735890901948497988621995197551961638135240063773271033311995444897375823248176814299145943832908756642573298207047548668742227991316099338828698539488292550310346818916235679543804347519102477476143013533833992068319885724741260509522406515760277857809729272301160714345826164895380661543809972980393090520102269159649970506282418516223122867785623742702657296454813453155463356899441446120560357151725560742575547607206619836714372770809436784143903469404122439014857008274782196461747054365898029949235426661478925077731568527694599402182496355066944633784417223759602364855575571011229036572291063433261607822018553783450732730278128746774197919491217410514990011428585136151692005854712269572010080105753670223648864833765280089254977869519018781816813075127855817473241926835602662353398063898007220987069351745130465366762302662830495719772448250082587688443008332723963560836914708757644848973842626465297637917221610014301971763838140632805834803401978053415489218463309343057676535770057240942702388330823809008963462837545739252048120484800291205489425351754396775984264037835118396815162147580543540510463162989559455520879399465194265334209147740569927220024011356570229237105141735075209753159406893316005974222345571692523032836609819942780989221300043801586543319579025245104080880993897164314319819647062807267117641157873749734946450152578141501528936055272555950735538353601657188546360673083898636680804038429476210498595727271039121806780162799067256144874293878475469095946044345261170400125538061352890159986350915110102349745354144372417143459058708116428408279790483516283696021386629423231722002735255346817790394577266835373383297802044133133598234290194252347397358380550635226383480389852752159930493918479118753887996174934523843453421691690573506739838548267904435715811385956796949802687573365221225115178075588736006063283917703056599697992689428643239609671445931925401646820109629111638145981504592698548278280610077522312140947847955676178376539402427898477556123462855697151680867604455943831977028985259813380535388608455301913519026919619568274703809896181675091726613545354309792761129343358168170941989073435362699230067333825684536808212934634008961001887395470687849441103335816415975114580582965257531702552648155370154978711993542137959480906032183896158248854222235350912171038054236097889049411046959088524901273753691827077479201568244868901603261351693082883810580309993051838652261867821172418363982644032439105065418126831366318523285372805320766424549887190889948185874918200056985182580300428523246554416402996209327379443 172490753101951652299200612522940612916065220039724077430427506149158393316277063676760548603257562090821087356437515514102772831789361835066166878098235249703174104444969395199090318068031504794928553961914845987711581637521479962696015621876878864733246762241656021784323672610133559904133045247937789511765572901620959197922911533211674304005376646738641255056066195896232052285425019370949371919292920290868105777052837238234376896031772493579694963140265597325195483787832688203300503613593178420142125746429231960216618200943281409645990467063150387895839632917562397646261245182207190255102090128414672007362515590280740783113796894061773681415311027553765043948144504198485323597073033783232004766102923452732620616658593946094249620207557354519963850605910907064533377073388293931620105115811374891853577752664628813322991784939775781130945772222741824152740162112191513056503227852693756206305501890465876118141054050576189937468393184613277914900947040045912628844434118191432081583434423043534654736814732165585541018755346537834667880612058437213942440619260201529079209439083887902100277734937000709297171578507325167011092217380895733551312887855032541131882873496080746592546666055479510976942194246861328847045984020603963872230755535037357697540200627712674690740270544296533659103541093858430314583636170036762264483354734627902960926139008894671974409259773294217711663114548312664099994386516869816215817500492710713805881387840978405963056033659289689134281468040974601871144679270908416331813957859210401005491300812585419334925069252285670106287464847347739024928745002672426008575209270440522550953656454939941316325895728490844792298355829909128961861908741189741277460258845045845829472161235963012884602744382125563695154870941618265197177050440581284444442743827128461056863588034599013932703532632585942464619280572986399086232047897875730707022106001176507612549573622803063731089580558637775336878246640533451106785027472721058012317515436288061534103061861703963035962763347841754813276665828140382574253658632210706865211611065398042367872986149634166991276729641580957548432496782051551850945054264029757668420484325832478887920456739155140061878518984139800592959740015009082580477616470116775800066536135916297646545090452881705921671780070398560989464795647337879517316172423937166135175254187034309689841914216526023214549744388377300019460853429264451026222788626000995098972530235825848359793072011354932104045635780214659603188751544033702271789072608884274764029149365778458510648010494114756466575102513025359683754920866103592515756407603468973537593017186054751076873697518272952491850333087520026948838685122402100971954317026190939162187910618431748940295444449788826460439662299163835379818486314961318141285934569251754137751051784123437812582050123784630668088822260670285186679690747036807600274139981526026329625473011294218449891111499364158449704392234287005122287340053267531196938970490143375583341873388125363317609209863665270774188616422032884822768728487652332168848503800005320180581072020732946512068886135133474851306504044186966180264350044651708749544822085049187366239648246725412564821249513311173172478629069763608119360078370959109425360416448538070436970025851840546174270238341532245053966245418232327948577411401772803657579852147085044907566550161010404454950380434450321428620396612075985343876627502195084385907442791574286632905899464365424185290364370355928223869471610402003534935860218292859192824046176197469775278040447245359336088476196623658431596275809333814343165072263975275740052231386711921926880902370438766778066834834075166878702620100903708383612400190905675369842502566683649694570992466790554404729980301290106577874566546348015468423851597272115808090347990900679558549498103867324070483741838645597522322376814351231672633942200206228790039000438804825385359914487939064867225224950111540552298974636429902251955592550914102358471597987876279724269878671922397170729303306541825177415079883803400920057630023326795413894050347035364 279095901264024129666947836231267397306461222794284578175460999082926135212706630772034145977261065012396889236389086319856474068556427089772638335915921874707998043881641167143233643325453763694949317577650693878287233088167648633117414834923562923999345120375028505958236978042526260632756967335288081213739304389205130978904058192580014005016352814666286413408158407358009543608788362610250076678351625501174622280046352531305948206306595367623750865292698501112752120666993612041508074016723288961112769106743499061864645390644661892575028607010622637657465722142843218962176966907950761283952819387534181561522098784242946351609866046314141084483723485410863743800223286127597042154826424843722749668105562326367776719946395086942583372063239677045371956241587197186455801889151912649102185967383530214216590845848576420063139292482400576614605597967425162218787736308142763095355879715012191996580528920436126710420526584504533625326900584471554394541781269429589814563994366058333582037258856676532328625920372253519283260866226636914947290235793740966863569957840419139407138812911987560776383766311347906772942478665378713965871008825470834042658088877987988433141187344571411279507653265385478351715585256732420784954905131373880201675933195314523842873820457940160945868340842072203053063472026229758068723288268162292834019226915601933057756858831524906256678317364349992118070648849857351355192343697984637620907279733921048426704219313172411698946935607787677756276665592936240006384743044179449643809402756586224253668115111731363167833825894858968313335013516089967016244844341501124548063501820750869369869892134483745663844998205966987805832189821977448847586650001699263683976019122903655558744462396677358710767639762787107505127851334708785299446210090551790726861260050251328842487330737256310387516985788049299364060726693546756237957608640451278314228725837890880383359010406946967200493702997652632345153028836995198161150925502670293438978994361365793102630756461106145532317830292475539230500425430505238149824669861247279156275044327005864386426769600366897269405476415778877039649907297041563279530190415721763523132753897842558993674126962804004895643799073394778462478758796825895655605472287590017726902138798269695710443097673868775273416910535765323292127626143057651965566255011625609143507978150595146604550671861374997057176209686015217241070867731236214864363421431835798500950583651315066823102415069031467874102876722917047934012560552997165109334811860932395248829440571267883862402407270099020504410220909840521831335464406614055678745967058989852937058211451388960224614267445492976503206903316757132090573760332155260378847633032165161507759603141464585550115387230778047760483463885707154958843731419042199135183098883571573784813859051241078970455799858731080820666963762199221241952246697772345953875797170072387002709371647975022488320587709862754176975431356093785285086407309412405490817445959239321627687134558525488855670562753825257125103726524382630176913100904795791227556620228413599971064588304428967898698309366855477586561850861977360757531185418035006551588955218647421656433900594122770945371884739694653562331381229694102037839197124847105600294940291991492128660599358580384722538142777248056439923042368035015521942632626887981733168588153148328825269606760708397144379023674059992874552322013722805453505739140341065890500141339852567242983421776506372033246040548732467626297370087958126997791557369973726797279990008174498760537853827780747944543778110142685351215844084037624239346747355701889285406541179473051270239070541380755851502197533305234212528304637711921318246409151907562765313190416124753030387408441905134987695237832992659226029936701326727461965989556753021840274244149149533780784849016038362124719839727695008569281465339252505426325769277685430358283869340408086737052997371749645177218276788763802420120147054793884895988031655979520485302964306399565097075199438346947057920193254727700095615136868985981220486153269881211816890259674414807 451586654365975781966148448754208010222526442834008655605888505232084528528983694448794694580518627103217976592826601833959246900345788924838805214014157124411172148326610562342323961393485268489877871539565539865998814725689128595813430456800441788732591882616684527742560650652659820536890012583225870725504877290826090176826969725791688309021729461404927668464224603254241595894213381981199448597644545792042728057099189769540325102338367861203445828432964098437947604454826300244808577630316467381254894853172731022081263591587943302221019074073773025553305355060405616608438212090157951539054909515948853568884614374523687134723662940375914765899034512964628787748367790326082365751899458626954754434208485779100397336604989033036832992270797031565335806847498104250989178962540206580722291083194905106070168598513205233386131077422176357745551370190166986371527898420334276151859107567705948202886030810902002828561580635080723562795293769084832309442728309475502443408428484249765663620693279720066983362735104419104824279621573174749615170847852178180806010577100620668486348251995875462876661501248348616070114057172703880976963226206366567593970976733020529565024060840652157872054319320864989328657779503593749632000889151977844073906688730351881540414021085652835636608611386368736712167013120088188383306924438199055098502581650229836018682997840419578231087577137644209829733763398170015455186730214854453836724780226631762232585607154150817662002969267077366890558133633910841877529422315087865975623360615796625259159415924316782502758895147144638419622478363437706041173589344173550556638711091191391920823548589423686980170893934457832598130545651886577809448558742889004961436277967949501388216623632640371595370384144912671200282722276327050496623260531133075171304003877379789899350918771855324320220518420635241828680007266533155324189656538327009021250831839067387995908584029750030931583283556290407682031275477528649267935952975391351451296509797653854636733818322810108568280593640317294043777091258645620724078328493457986021486655392403906754299755750001064260682206057359834588082404079093115130475244679751521191553238223675037881594583701959144957522318057534579055438498811834978236083088757706793526968674934185993356988188126750481195088690606163884281592421790395531482882427435562775278683232337629456294392586077901020271725954074392517260531721160500665890586210057836793599923113887140915182895487080386399978148512503131707537201312097030867381123884469816670012858589937046342373050417764213776970985323422865881515090385272717648194502374662458826474651228637443711301487964963765928995057236404277159039412445454557361350801950058356100669947513759896334490410831680566874220923126184870990338662217734003517276469033452823327922564910835364516783037849982515711488755786022869506428631937444809153554149937151598413332334844659269240938211699209226912626679823590380790407373747362679936687756416449382697211029007946650852173279772617490527899292342946415514999681829392448123396405124028418920151645660325161914410767195501988952437868354906164326937795535462686715301133777303696609022673548840848183510193134253005826734810010299457710157199275495806215025655356740529562565630625210420930896808381118780301493889287786267343470520044028660785390748440300233373732836156921718801599329404108510314303172718625798790797382366642536150276407584131426853875889321240871796218536404919088395850166841698360130532727417588266585990104036184371968535815894275026107280632254306766343782812119893371438582511819619677165025458772566184973197119972911819522629569032367380401091230924738615629701858809342813238135155692982808402724958400908695689392425218134282765803904503247674742930389841154025137648364592140050213339334347119905686195203581566340606091603842153603737098959711477891659148322869779212912122412911859688710044443501738875342972419121691223787147943624206893622843774562294275844821345078110269344228649496561269525273030216752789382140543783293208007230784310021450171 730682555629999911633096284985475407528987665628293233781349504315010663741690325220828840557779692115614865829215688153815720968902216014611443549930078999119170192208251729485557604718939032184827189117216233744286047813856777228930845291724004712731937002991713033700797628695186081169646979918513951939244181680031221155731027918371702314038082276071214081872383010612251139503001744591449525275996171293217350337145542300846273308644963228827196693725662599550699725121819912286316651647039756342367663959916230083945908982232605194796047681084395663210771077203248835570615178998108712823007728903483035130406713158766633486333528986690055850382757998375492531548591076453679407906725883470677504102314048105468174056551384119979416364334036708610707763089085301437444980851692119229824477050578435320286759444361781653449270369904576934360156968157592148590315634728477039247214987282718140199466559731338129538982107219585257188122194353556386703984509578905092257972422850308099245657952136396599311988655476672624107540487799811664562461083645919147669580534941039807893487064907863023653045267559696522843056535838082594942834235031837401636629065611008517998165248185223569151561972586250467680373364760326170416955794283351724275582621925666405383287841543592996582476952228440939765230485146317946452030212706361347932521808565831769076439856671944484487765894501994201947804412248027366810379073912839091457632059960552810659289826467323229360949904874865044646834799226847081883914165359267315619432763372382849512827531036048145670592721042003606732957491879527673057418433685674675104702212911942261290693440723907432644015892140424820403962735473864026657035208744588268645412297090853156946961086029317730306138023907699778705410573611035835796069470621684865898165263927631118741838249509111634707737504208684541192740733960079911562147265178778287335479557676958268379267594436696998132076986553943040027184304314523847429086878478061644890275504159019647739364574783916254100598423932792833274277516689150858873902998354705265177761699719409771140726525350367961530087682473138711627732311376134678410005435095473284714685992121517596875268710664763149853166117130929357517917257608660873891688561045296811253870813732455689067431285800619256468505601141929207573720047933453183448448682447188384422191210488224602898943257939276017328902163760407734501602588891736880754949631489672592100873697538455982005997902149417867852251389226048755471213872650028032490458696330749065261688030508314226235452825034312797475395544332706403346425849679331703873248341721448679411709440088832671526102232409258905498264139721034291129986205786712621729649583090521262177707116901360920040526218911344921981406590070578145297505949153045716411652132336394901707378769886605595753493649841246792309422749785068727670584184142581499508025734321670800335044216307244263426532286919089666803655254946474575692460154672092342178573862408622018838716142505176341028950335371315785024396069470798145176594930297243914623961744256832520122710248629590882309465504868844430024430205768141687695326720880721721852722732522344030679107449434970954455565018992700480297141391529151812195038472620653320625950297032521054694291224569001315619346523896028357933812330154302358992462676655548767123917028453381702558105763682427198743708427782570307177725040639521596250888105782877216166907725471279421118872743017378168251782445467820863476464211786318257530518974958240312787384026192546467296353748102806855225176032416909029134027963977409062821858566975379054310865313745658024467359043453200278481071229900685635303759229376327551020105218494720800900468883398933155755345809350600824380120455967275425029934439949001470392355830710778159488638836289199747120119196135944048319923421294035614660885307492856242525285480755577089506606739119620998859465909231438355221661778527639145392539268746017672043931655862873143329077526600675409918420277548616291286569689815997225368645353621775363361029936563089219047674569695864978 1182269209995975693599244733739683417751514108462301889387238009547095192270674019669623535138298319218832842422042289987774967869248004939450248763944236123530342340534862291827881566112424300674705060656781773610284862539545905824744275748524446501464528885608397561443358279347845901706536992501739822664749058970857311332557997644163390623059811737476141750336607613866492735397215126572648973873640717085260078394244732070386598410983331090030642522158626697988647329576646212531125229277356223723622558813088961106027172573820548497017066755158168688764076432263654452179053391088266664362062638419431888699291327533290320621057191927065970616281792511340121319296958866779761773658625342097632258536522533884568571393156373153016249356604833740176043569936583405688434159814232325810546768133773340426356928042874986886835401447326753292105708338347759134961843533148811315399074094850424088402352590542240132367543687854665980750917488122641219013427237888380594701380851334557864909278645416116666295351390581091728931820109372986414177631931498097328475591112041660476379835316903738486529706768808045138913170593010786475919797461238203969230600042344029047563189309025875727023616291907115457009031144263919920048956683435329568349489310656018286923701862629245832219085563614809676477397498266406134835337137144560403031024390216061605095122854512364062718853471639638411777538175646197382265565804127693545294356840187184572891875433621474047022952874141942411537392932860757923761443587674355181595056123988179474771986946960364928173351616189148245152579970242965379098592023029848225661340924003133653211516989313331119624186786074882653002093281125750604466483767487477273606848575058802658335177709661958101901508408052612449905693295887362886292692731152817941069469267805010908641189168280966959027958022629319783021420741226613066886336921717105296356730389516025656375176178466447029063660270110233447709215579792052496697022831453452996341572013956673502376098393106726362668879017573110127318054607947796479597981326848163251199248355111813677895026281100369025790769888530498546215814715455227793540480679775224805906239230345192634756863294366722294810688435188463936573355756420495852127771649803003604780839488666641682424419473927369737663594291748093091855312469723848714931331109882751159700874442825854059193335844017177037600628117834800251762134310052237546645535841547509385700796811425596897188893389229804267830399901729180463008415184747058899871582580800565735274546620445360568608503242798526574446380867755572284861516234952049352067750716383907505886360668726276382827590197373024834493321376125311450169398651241269983080451533148877362847654630661257254530937050591911796202329716255449135636168166887049233688121165789218229629943680721970112536531499823762503798178535807938234099216121587390653062175671473269213667379060966513504364743986128316579430335078536855366099833902034772278866330278858004716049745150451827193202230107988806312923688412417213660176276759689692038020366868285251440274355908954752796720232700370833382462298560674306014633122256343408437153856509826040639701780998275819137965758153245706307031951401828609522352237748116459535651605653773050617259921849779422246516154905014808659427701617940569702462982720684209552514665468753615076290941920604146000343037831891080621480897759265320387048270472425413366443315309602706274994762064258249964470318850386909259326631053484678388063246392546506898777488062376918435832169642377832962505808286723675372916840083870780501404370386595056219336324086311842997664479016365019801110640262268066036394990154114943180721964027837534039035624576381741558480304210259296513772545674101558190833838943196676213322745671864803297137003428429249960459453543255849734515127002860376220752489149646459979624245192233468748654929608898833910981878821091127065266105280266514488364958390437241459191875280069766766172852088894951254739765355658885635515219186377266750641675570374564745501573719856297226278458879717315149 1912951765625975605232341018725158825280501774090595123168587513862105856012364344890452375696078011334447708251257978141590688838150220954061692313874315122649512532743114021313439170831363332859532249773998007354570910353402683053675121040248451214196465888600110595144155908043031982876183972420253774603993240650888532488289025562535092937097894013547355832208990624478743874900216871164098499149636888378477428731390274371232871719628294318857839215884289297539347054698466124817441880924395980065990222773005191189973081556053153691813114436242564351974847509466903287749668570086375377185070367322914923829698040692056954107390720913756026466664550509715613850845549943233441181565351225568309762638836581990036745449707757272995665720938870448786751333025668707125879140665924445040371245184351775746643687487236768540284671817231330226465865306505351283552159167877288354646289082133142228601819150273578261906525795074251237939039682476197605717411747467285686959353274184865964154936597552513265607340046057764353039360597172798078740093015144016476145171646982700284273322381811601510182752036367741661756227128848869070862631696270041370867229107955037565561354557211099296175178264493365924689404509024246090465912477718681292625071932581684692306989704172838828801562515843250616242627983412724081287367349850921750963546198781893374171562711184308547206619366141632613725342587894224749075944878040532636751988900147737383551165260088797276383902779016807456184227732087605005645357753033622497214488887360562324284814477996413073843944337231151851885537462122493052156010456715522900766043136915075914502210430037238552268202678215307473406056016599614631123518976232065542252260872149655815282138795691275832207646431960312228611103869498398722088762201774502806967634531732642027383027417790078593735695526838004324214161475186692978448484186895883583692209947192983924754443772903144027195737256664176487736399884106576344126109709931514641231847518115693150115462967890642616769477441505902960592332124636947338471884325202868516377010054831223449035752806450736987320857571003637257843547026831362471950486114870698090620925222466710231632132005031485444663854552319393294091273014029156726019460210848300416034710302399097371491850759727988994132099892890022299429032517657301898379779792329939544123065653314078662092279101956453054929530281595207986263736898943974427400485473037181977801670508964052879194891291379222135682651290955229218479629057397086932362041277131314800536234650953674794843956067832839371921776412088278688207942084631381055940999058105356185298070108815109054353692429782283739991585515846345741299384857027982604810101116239398625025361747562618174571463269503256718183736306326027280933674116040094950099773298125613131337322450608575708290025149665009296107601285593006961769800305729972152570201405794940014002423277273757767791276273047406246233990333483329941792294056706864621044904141266626734888461292957003534231180443360122097948084481888011805352871689986935952644328612542083960397066157584343679029698205239677812486728766442447702328448977224130159006579242348384670380888447710790092421323172238406787329092793357761334547276220737112856277555950805571671954213074348423562135501428910837017361513948094872061455445397339758319638582497206996778849047684286573199086746259673650928658622799904841983299158578208290582610223035073985696113634807275628132722101295854730122803095265270996645593765367504747211564872088569464903128523390480639817730984319140584402050868047848189564226228953570435273647189400057501022131838059818220079591711492168751671698749383491270731742069246332254839936093459780674714235650019609897338152666130068833615863773383145677683715101502575581456625642264718449707579572739391793782835050424154411835413374457139316222149530672989045838161536348018454909841344730322565420487767058794153633757497659183259131235806935932639909501929615495626664658185633207501926801788876193263976010320923996340108862603656419386445326133449413180127 3095220975621951298831585752464842243032015882552897012555825523409201048283038364560075910834376330553280550673300268129365656707398225893511941077818551246179854873277976313141320736943787633534237310430779780964855772892948588878419396788772897715660994774208508156587514187390877884582720964921993597268742299621745843820847023206698483560157705751023497582545598238345236610297431997736747473023277605463737507125635006441619470130611625408888481738042915995527994384275112337348567110201752203789612781586094152296000254129873702188830181191400733040738923941730557739928721961174642041547133005742346812528989368225347274728447912840821997082946343021055735170142508810013202955223976567665942021175359115874605316842864130426011915077543704188962794902962252112814313300480156770850918013318125116173000615530111755427120073264558083518571573644853110418514002701026099670045363176983566317004171740815818394274069482928917218689957170598838824730838985355666281660734125519423829064215242968629931902691436638856081971180706545784492917724946642113804620762759024360760653157698715339996712458805175786800669397721859655546782429157508245340097829150299066613124543866236975023198794556400481381698435653288166010514869161154010860974561243237702979230691566802084661020648079458060292720025481679130216122704486995482153994570588997954979266685565696672609925472837781271025502880763540422131341510682168226182046345740334921956443040693710271323406855653158749867721620664948362929406801340707977678809545011348741799056801424956778002017295953420300097038117432365458431254602479745371126427384060918209567713727419350569671892389464290190126408149297725365235590002743719542815859109447208458473617316505353233934109154840012924678516797165385761608381454932927320748037103799537652936024216586071045552763653549467324107235582216413306045334821108612988880048940336709009581129619951369591056259397526774409935445615463898628840823132541384967637573419532072366652491561360997368979438356459079013087910386732584743818069865652051031767576258409943037126930779087551106013111627459534135804059361742286590265490966794645922896527164452811902866388995299398207739474542987507857230664628770449652578147231860651304020815549791065739053916270233655358731795694184638115391284344987381150613311110902212690703823940096139932721285614945973630092530158399430008238025871208996211974046021314584691363502467320389649776383784680609026403513051192684409681488044242144145832233623857931880535810781271399035363452459310631365946368157279843850973069458319583430408008749774489263691184430777541385437181282627155308574484906891971657191468783508269252587890552649388275987873016378223875429102400320095168514386066022581476416569842282927144183787894463914831360967266131330545820826556649488771799905779821400945195869016427317362805632377077268209227669802338240271272156020259175722825664325412020185307892127958741636899911234420124631450938206443408830727433410551348928410871772894305225465529148449676627990664695480827335400671422066539096475749930905610511194949027327116753716961571233567538596160435752174425310082669445986609230387081325484113094361044195186370856899513968853572391929161604578622289214134924127845808651656333925645676789215566035441763918428118023967872153247965960611855139989604890719199429784091564731550139520559170162370347429050633703949053538344676691971108396871533878097192420146241639382129726318755675033657011760051254110342360150946383338960693032858472780236792605864259774967708131718970065630599340165491492983513486369344019796317076183239880702351754436817708093739537606213912464033274169788878971718036162416272715954229869193851925211804170391806697612326342353897037847174440384753762645693147699668039026282647643517350177427014788056165863606785776201773775865222514586816465956917288820823223551413692485753872339060668122122456049620500590427682216002406675674781704390577919397950988866387562317008062570530726651996494370904854364177376275683671604592329130495276 5008172741247926904063926771190001068312517656643492135724413037271306904295402709450528286530454341887728258924558246270956345545548446847573633391692866368829367406021090334454759907775150966393769560204777788319426683246351271932094517829021348929857460662808618751731670095433909867458904937342247371872735540272634376309136048769233576497255599764570853414754588862823980485197648868900845972172914493842214935857025280812852341850239919727746320953927205293067341438973578462166008991126148183855603004359099343485973335685926855880643295627643297392713771451197461027678390531261017418732203373065261736358687408917404228835838633754578023549610893530771349020988058753246644136789327793234251783814195697864642062292571887699007580798482574637749546235987920819940192441146081215891289258502476891919644303017348523967404745081789413745037438951358461702066161868903388024691652259116708545605990891089396656180595278003168456628996853075036430448250732822951968620087399704289793219151840521143197510031482696620435010541303718582571657817961786130280765934406007061044926480080526941506895210841543528462425624850708524617645060853778286710965058258254104178685898423448074319373972820893847306387840162312412100980781638872692153599633175819387671537681270974923489822210595301310908962653465091854297410071836846403904958116787779848353438248276880981157132092203922903639228223351434646880417455560208758818798334640482659339994205953799068599790758432175557323905848397035967935052159093741600176024033898709304123341615902953191075861240290651451948923654894487951483410612936460894027193427197833285482215937849387808224160592142505497599814205314324979866713521719951608358111370319358114288899455301044509766316801271973236907127901034884160330470217134701823555004738331270294963407244003861124146499349076305328431449743691599999023783305295508872463741150283901993505884063724272735083455134783438586423182015348005205184949242251316482278805267050188059802607024328888011596207833900584916048502718857221691156541749977253900283953268464774260575966531894001843000432485030537773061902908769117952737441452909516620987148089675278613098021127304429693184138397539827250524755901784478809304166692071499604436850260093464836425408120993383347725927794077528137690713377505038452511690890694542630247947005749454011383377894047930083147459688681025216224289608107940186401446506787621873341304137829353702655578675971988248539195702483639638899967673299541232764595665135063195336347015922352710158296415378464205318289933691932129661277400404214811463949748832594619876482500886356494491534975056937592314476492407818002932768168365297235192700653765627674612898378125786493603673863589598425232569802328907503697503516398967239133887667762040444492304588581939121529116581799153781096013381106993952157638816733047334958202578483063149241672225615514029039947296532223129071898315745503515249684422015448501520956138561391258185826667736365834261664590994709050508819857376193237270882020139663563943309024093369419361068488224123440154779629110850189007435756093559201419290020210791668755167014994522809980463557893697399322808404497722519881690136988544132191446790189590685248206717555384193961168347998476269370787157762836482694150729514130313825373873515363726191791830463167608633989037289177292398516530351238382478798143359075004353646587628841994531663761379750677667222031678809506229914521442096369504932821584026671679250777127556001321907232239515848242089216423339112597967776925004844177018576179567159629856828293735926766630702886426845041928155136001459960294063246605569379792488921097484644206102520502043718907811495943090986951604249479091190077877934239225422561385709488031580752948677015966210388287957866149375618599022039437300185227851169199891579238063925092423923306538211560424978002304935743730664568281736257906241639397854821755879953708803759721663489151935046585176711319886204584056136622073889489118796938763794702662317418367244963226781032695070116930725778543675403 8103393716869878202895512523654843311344533539196389148280238560680507952578441074010604197364830672441008809597858514400322002252946672741085574469511417615009222279299066647596080644718938599928006870635557569284282456139299860810513914617794246645518455437017126908319184282824787752041625902264240969141477839894380220129983071975932060057413305515594350997300187101169217095495080866637593445196192099305952442982660287254471811980851545136634802691970121288595335823248690799514576101327900387645215785945193495781973589815800558069473476819044030433452695392928018767607112492435659460279336378807608548887676777142751503564286546595400020632557236551827084191130567563259847092013304360900193804989554813739247379135436018125019495876026278826712341138950172932754505741626237986742207271820602008092644918547460279394524818346347497263609012596211572120580164569929487694737015436100274862610162631905215050454664760932085675318954023673875255179089718178618250280821525223713622283367083489773129412722919335476516981722010264367064575542908428244085386697165031421805579637779242281503607669646719315263095022572568180164427490011286532051062887408553170791810442289685049342572767377294328688086275815600578111495650800026703014574194419057090650768372837777008150842858674759371201682678946770984513532776323841886058952687376777803332704933842577653767057565041704174664731104114975069011758966242376985000844680380817581296437246647509339923197614085334307191627469061984330864458960434449577854833578910058045922398417327909969077878536244071752045961772326853409914665215416206265153620811258751495049929665268738377896052981606795687726222354612050345102303524463671151173970479766566572762516771806397743700425956111986161585644698200269921938851672067629144303041842130807947899431460589932169699263002625772652538685325908013305069118126404121861343790090620611003087013683675642326139714532310212996358627630811903834025772374792701449916378686582260426455098585689885380575646190359663929136413105589806434974611615629304932051529526874717297702897310981552949013544112490071908865962270511404543002932419704162543883675254128090515964410122603827900923612940527335107755420530554928461882313923932150908457665809884530575479324391227038706457723488262166253081997722492419603125002001596755320951770945845593944104663508993903713239989847080455224462315479316936398375492528102206564704806605149743352431962460652597274942708753676324048581455717541685378596829288992995075872157797193751745521748874689095571264658090971775980634346858723798241871958498607083883567666931663897879928716257684092900888961399299789660124236951873566487780591206415015950600771394504010369032776263909693593746955868351488980114073358681894383317675562225955275853271854713269667349943138448642552895919160928394897353507833160364697763834955560331358469342027953754300312103316791398851897562641157523700557576549974190138420867372981515889636764874179774664989098001546057978919691630270498462736411168589340191933973719574196754761739910290662536630529560016460700202384783420675955136251591444359207351327450746697235290546227339684008553195485823206632976051181183730503048346304158444257640135879159962816250382482922604115179438814096762128370939945080165755589292301633387694063945078429128220489129026894068011597946314442803114028937663918245166723994016679475698480717299724427369638330428550343384327106941588338008887062547902782346712907788887607255432249592390462231581049909456197585378204569530869103951986284311286129695487427633901418259614216372796189061724472212184699840996415001042387087886228458703698556670135794671832597879529532105507259667558479348285042003089738409617229258998035830385477790795851456350964150933651013849043657625304687080817535405278183987947745101670710868625697082403434075011794468261853032551487791833149950391995511736915489878002409758424260312091171367937453260851493024276782503454087610940277051435805001334325429314313912738149817590958408970753788535318107674170679 13111566458117805106959439294844844379657051195839881284004651597951814856873843783461132483895285014328737068522416760671278347798495119588659207861204283983838589685320156982050840552494089566321776430840335357603709139385651132742608432446815595575375916099825745660050854378258697619500530839606488341014213380167014596439119120745165636554668905280165204412054775963993197580692729735538439417369106593148167378839685568067324153831091464864381123645897326581662677262222269261680585092454048571500818790304292839267946925501727413950116772446687327826166466844125479795285503023696676879011539751872870285246364186060155732400125180349978044182168130082598433212118626316506491228802632154134445588803750511603889441428007905824027076674508853464461887374938093752694698182772319202633496530323078900012289221564808803361929563428136911008646451547570033822646326438832875719428667695216983408216153522994611706635260038935254131947950876748911685627340451001570218900908924928003415502518924010916326922754402032096951992263313982949636233360870214374366152631571038482850506117859769223010502880488262843725520647423276704782072550865064818762027945666807274970496340713133123661946740198188175994474115977912990212476432438899395168173827594876478322306054108751931640665069270060682110645332411862838810942848160688289963910804164557651686143182119458634924189657245627078303959327466409715892176421802585743819643015021300240636431452601308408522988372517509864515533317459020298799511119528191178030857612808767350045740033230863160153739776534723203994885427221341361398075828352667159180814238456584780532145603118126186120213573749301185326036559926375324969017046183622759532081850085924687051416227107442253466742757383959398492772599235154082269321889202330967858046580462078242862838704593793293845762351702077980970135069599613304092901431699630733807531240904512996592897747399915061223169667093651582781809646159909039210721617044017932195183953632448486257705610018773392171854024260248845184915824447028126131153365606558832335482795339491558278863842875554792013976597520609681927865179280522495740373872613679164870823343803369129062431249908257594107751338067162358280176432339407271186480616003650512894516069977995411904732512220422054183651282339694390772711099997458055636692892291297951199717951595047955488041403041833796387449535761480440686605087424876584776939034889828438046110742979097055087541136624585523481904456159963687481423390841226611361424954128058271208504813116104455680045290067559776582948024663708110295624259128013053335908247439678503444149432550254374420251232741030493203437891707607663057005120238863722973291860180643625213669772629796862636450127499292018979525670680396483811576875080861622451563229987995720345576443295208788879059720247796333991932542035388849511146649893412032722037534043394507711014253569268329352050613323621980969460956903027215807260971989638639941823511542907147822591541916140499250762592540767029428511487646691700007293188729003755877282743667566174122808398514785976785309189127310889209820539514235156555541611655150876106494465741220045271009785233381407876003890320929152857741318172274635239793094348034942888342596715347010211550830921080384550225971859598611065090674594296069414666175148751420255736908892295829123118064183245303996462844794041496507735807277320171077640604308317693012381061104178047305552460229152890557021463030434378391995369486809018392158566015163256754156824629978079823139125879536697976172346455873948129004860490853289325344255927637345026244919259223034103652627348186159801290478247647956467678717379801183200876238315173876316787341028048598246619162728827376232080967672648842651820383745318417058543744528472317174539221608879998419276224326726518117720633129353187839324339734635961049620388941645635436772470566788776282152360114886208298237151134770311633882363467228020033754660519872499846028204344162987087510224233014166540554601940098120131976631331105394780817739441665823905466043886217846082 21214960174987683309854951818499687691001584735036270432284890158632322809452284857471736681260115686769745878120275275071600350051441792329744782330715701598847811964619223629646921197213028166249783301475892926887991595524950993553122347064609842220894371536842872568370038661083485371542156741870729310155691220061394816569102192721097696612082210795759555409354963065162414676187810602176032862565298692454119821822345855321795965811943010001015926337867447870258013085470960061195161193781948959146034576249486335049920515317527972019590249265731358259619162237053498562892615516132336339290876130680478834134040963202907235964411726945378064814725366634425517403249193879766338320815936515034639393793305325343136820563443923949046572550535132291174228513888266685449203924398557189375703802143680908104934140112269082756454381774484408272255464143781605943226491008762363414165683131317258270826316154899826757089924799867339807266904900422786940806430169180188469181730450151717037785886007500689456335477321367573468973985324247316700808903778642618451539328736069904656085755639011504514110550134982158988615669995844884946500040876351350813090833075360445762306783002818173004519507575482504682560391793513568323972083238926098182748022013933568973074426946528939791507927944820053312328011358633823324475624484530176022863491541335455018848115962036288691247222287331252968690431581384784903935388044962728820487695402117821932868699248817748446185986602844171707160786521004629663970079962640755885691191718825395968138450558773129231618312778794956040847199548194771312741043768873424334435049715336275582075268386864564016266555356096873052258914538425670071320570647293910706052329852491259813932998913839997167168713495945560078417297435424004208173561269960112161088422592886190762270165183725463545025354327850633508820395507626609162019558103752595151321331525123999679911431075557387362884199403864579140437276971812873236493991836719382111562640214708912712804195708658772747500214619912774321328930036834561105764981235863764387012322214208855981761153857107741027520710010681590793827449791927038743306292317841708754498597931459645026841372512085495031364278594497466035596962894335733068794539935801421352181879862525987384056903447460760641374770601860643854708822489877658761694893888053272151488897440641899592704912035737509627439382841935665148920566741812983152431562992035002750917348128840407519503597277182798424613209836287736062879108382911989958254243121053347080662610309856201201794164756655347847606115635484090929971117851811295207866746046762387011816364214152254348967490425123394092399291007397323181242072112430210753883066595659575814441167133807231669226391408985612726481539031885463925650233762756005769238792213950996198848298008478456229002858696438886887851702963783746864654483053776730485872489603725866180356281523022629664153930115020832867023598060550916364837521963828778362690884524423037459356416095915164239860594086825008348203117917190162743704357318343947811256463241762928884548308805448513415838749143771589412205322934911111691793203099510083457821916487917280561556012573065416429199376144135785833792499356005138288139398506479200528478475875309826461933313843684499729664785956360739436030619674461825003958476782139114319681987321424049612247091077313315594409159236844610536673471195565337801634620987793391493098360828605416943882888779496274884128404618772387279057917389591365105066354902770512186406417020440311404189035335734283354376915986743052080991144802139419020831683561538763285859135632019223165377099560370859642286893248690343555564945838504881757546374109845708914666870560154105506286721208175661274084057411058459881079381781148802536334540379928668138690155259893847462933849631413598935256038407537175787069441405346829675317471345079710448566938828641808833640151948036158690232662871685801511884773225652280345845831887809953106879697368439769590964311843954443591990406941432445561290945243843544598408697850636577694001361993892016761 34326526633105488416814391113344532070658635930876151716289541756584137666326128640932869165155400701098482946642692035742878697849936911918403990191919985582686401649939380611697761749707117732571559732316228284491700734910602126295730779511425437796270287636668618228420893039342182991042687581477217651169904600228409413008221313466263333166751116075924759821409739029155612256880540337714472279934405285602287200662031423389120119643034474865397049983764774451920690347693229322875746286235997530646853366553779174317867440819255385969707021712418686085785629081178978358178118539829013218302415882553349119380405149263062968364536907295356108996893496717023950615367820196272829549618568669169084982597055836947026261991451829773073649225043985755636115888826360438143902107170876392009200332466759808117223361677077886118383945202621319280901915691351639765872817447595239133594350826534241679042469677894438463725184838802593939214855777171698626433770620181758688082639375079720453288404931511605783258231723399670420966248638230266337042264648856992817691960307108387506591873498780727524613430623245002714136317419121589728572591741416169575118778742167720732803123715951296666466247773670680677034507771426558536448515677825493350921849608810047295380481055280871432172997214880735422973343770496662135418472645218465986774295705893106704991298081494923615436879532958331272649759047794500796111809847548472640130710423418062569300151850126156969174359120354036222694103980024928463481199490831933916548804527592746013878483789636289385358089313518160035732626769536132710816872121540583515249288171921056114220871504990750136480129105398058378295474464800995040337616830916670238134179938415946865349226021282250633911470879904958571189896670578086477495450472291080019135003054964433625108869777518757390787706029928614478955465107239913254920989803383328958852572429636996272809178475472448586053866497516161922246923131721912447215608880737314306746593847157398970509805727432164919354238880161619506244754483862687236918346842422596722495117553700414260624996732662533041497307531291272721692629072449534483680164931520873625321941734828774089272622420343089139115616661659824315773395233743004255275155939451934246697949840521399288789415667882814825026052941555034627419922487335714398387786179351223351206849035689855080746315077571306014888918603416105835525654166689567929370597881863440797028091107937462607044733901768321906517665996251423544302499224138601319679197249111618289167423425960656881839454824215124430554140299192201225595376979824348543774993486440890455965796764406628769218723166153887295837182715004986238247192351293933727174926776303201028110939763604094305676518908277631706007209712281947737227108843617628220802022201946716544424741303687245108062578944235220879784244999172596375801132947188763207910023647120373891370535092290959016204543438642813836484554963578132172098493953467418304514396067330185281947958012055663490623186627592037776714605563881862750997546047347703688539206909329103007356707320234490201147938271082478622025862449146268247334814754660959564316382229137325832565797806446824305203266465064938691533817528279773527932492854514143416821072590656836673484144764764884279890757815959350501121294268757894418624651930890534575418896213719878735365155260558619590872004030886107044409278472885508879275225296111084505479421932783464249435349008649165441149867649206765671053286876400383497224920917933768940563241650418391227328161215270981330549262442617000209996005292992708346175939489176108312104054891242257269029726908557019443577371496338300023243663218306064958422612425019585231454211588202703752905883937003037506165025083707302532899765526467219594878284908400985313229376868773845882210073958140117052976671536890363626393781139982790724937860286725345885339409395430585115792512062922366988469814006456113145767136692880300379600492407682452952907901712602756678474536076968610132545008881530565693267576574948939379226437292302401599467405880109862843 55541486808093171726669342931844219761660220665912422148574431915216460475778413498404605846415516387868228824762967310814479047901378704248148772522635687181534213614558604241344682946920145898821343033792121211379692330435553119848853126576035280017164659173511490796790931700425668362584844323347946961325595820289804229577323506187361029778833326871684315230764702094318026933068350939890505142499703978056407022484377278710916085454977484866412976321632222322178703433164189384070907480017946489792887942803265509367787956136783357989297270978150044345404791318232476921070734055961349557593292013233827953514446112465970204328948634240734173811618863351449468018617014076039167870434505184203724376390361162290163082554895753722120221775579118046810344402714627123593106031569433581384904134610440716222157501789346968874838326977105727553157379835133245709099308456357602547760033957851499949868785832794265220815109638669933746481760677594485567240200789361947157264369825231437491074290939012295239593709044767243889940233962477583037851168427499611269231289043178292162677629137792232038723980758227161702751987414966474675072632617767520388209611817528166495109906718769469670985755349153185359594899564940126860420598916751591533669871622743616268454908001809811223680925159700788735301355129130485459894097129748642009637787247228561723839414043531212306684101820289584241340190629179285700047197892511201460618405825535884502168851098943905415360345723198207929854890501029558127451279453472689802239996246418141982016934348409418616976402092313116076579826317730904023557915890414007849684337887257331696296139891855314152746684461494931430554389003226665111658187478210580944186509790907206679282224935122247801080184375850518649607194106002090685669011742251192180223425647850624387379034961244220935813060357779247987775860614866522416940547907135924110173903954760995952720609551029835948938065901380741062684200103534785683709600717456696418309234061866311683314001436090937666854453500074393827573684520697248342683328078286361109507439767909270242386150589770274069018017541972863515520078864376573226986457249362582379820539666288419116113994932428584170479895256157290351370358128078737324069695875253355598879829703047386672846319115343575466400823543415678482128744977213373160082680067404495502695746476331754673451227113308815642328301445351770984446220908502551081802160873898443547945439236777870126548331178951120331130875832539159607181607607050591277933440370164965369830033735816858083633619580870472278160255934676292155566494831635643751641739533203277467782160978558883118186213591277281388236473722402309419489264463724144481057993371962776842552106897411325974902910317263244432488748744167411662877342606373633990040814415897712743273039312165701337065437640674107767635947962956343240455616000965493693782513250846240071726816615313588680358473553663646703508153024129048536936015917296196667205280591753222741304374107970827730483780714417046124917723481072025494701903365691651499795670151092031891905016125683003616986687414854068034231185384057379939128017854171043022138298717054606394121810379512240734402642609200724525326316884284911816071891360993343945299548465966663135417458608449384009555543772320089937151913943219719422583128713029648895100883535143928347612246337871935185281163267730717581082749668450846680909846283904475998577782761388881193318237788145440325278272267979152950111204265991748602291275820704281126969658670858702631517196551005264684926178429360052290987150095132127367007623050714871597963190523261480434406826468927879085864264745028643578808609056810946715968986534865294146121082148356809259192605145178698780249082494765762413979147307616022131212825288329653451919532128667693345143923589553715988232709944427539413463222545329620400255331631805056333906348224072393949432664010958525678702476878141914657651909918532580725446324295492406059787599081042526269438847920923053724535415822963011254558521818792483977635135142938979293468767874001879604 89868013441198660143483734045188751832318856596788573864863973671800598142104542139337475011570917088966711771405659346557357745751315616166552762714555672764220615264497984853042444696627263631392902766108349495871393065346155246144583906087460717813434946810180109025211824739767851353627531904825164612495500420518213642585544819653624362945584442947609075052174441123473639189948891277604977422434109263658694223146408702100036205098011959731810026305396996774099393780857418706946653766253944020439741309357044683685655396956038743959004292690568730431190420399411455279248852595790362775895707895787177072894851261729033172693485541536090282808512360068473418633984834272311997420053073853372809358987416999237189344546347583495193871000623103802446460291540987561737008138740309973394104467077200524339380863466424854993222272179727046834059295526484885474972125903952841681354384784385741628911255510688703684540294477472527685696616454766184193673971409543705845347009200311157944362695870523901022851940768166914310906482600707849374893433076356604086923249350286679669269502636572959563337411381472164416888304834088064403645224359183689963328390559695887227913030434720766337452003122823866036629407336366685396869114594577084884591721231553663563835389057090682655853922374581524158274698899627147595312569774967107996412082953121668428830712125026135922120981353247915513989949676973786496159007740059674100749116248953947071469002949070062384534704843552244152548994481054486590932478944304623718788800774010887995895418138045708002334491405831276112312453087267036734374788011954591364933626059178387810517011396846064289226813566892989808849863468027660151995804309127251182320689729323153544631450956404498434991655255755477220797090776580177163164462214542272199358428702815058012487904738762978326600766387707862466731325722106435671861537710519253069026476384397992225529788026502284534991932398896902984931123235256698130925209598194010725055827909023710653823807163523102586208692380236013333818439004559935579601674920708957832002557321609684503011147322432807110515325073264136237212707936826107710666622180883456005142481401117193205386617352771673309595511917817114667143753361821741579344851814705289845577779543568785961635734783226390291426876484970713109548667464549087558470466246755718853902595512021609754197542190880121657217220048767876819971875075192119011172758755761884344973530344715332733593065080719442237648541828790583151484106831189192597612637619276583658997457161777514965473074405085596708714396233868493381161871811459992295416733019644167923747957742965511887404936757431168684073656437407295657736456815018078208232920148265977870663046661015420280579429225540876138495958456449359400104451449991262210842836617844429287697780615852946445128016584909328647420192962128939616256748948154256901692536897966613963097351707604547696563016992306460539992707987707180709034509870763614971719676659083408023252332120026491221106967342009083901632329044953888245699449413039355188334877060421134899261723445917493818134625685936546656257047833203648186462832608832002586454680946191932226687608185959065039605909074265663216860134412564685344004384215507487362120621056623499808901603373214268289446301588279440438273208211977613841207780643920183470519779748863807082977401598430554776153167298616824625492028141336355560185071580015560504057204694172345442753586796794605766428139917185918621164491142392132099516196738638050067532900321277093858845357766276246015475440871977052500983155388124835713183562539890979910067245414503737703436553377484898529441636241366943602052272275117011674391598959884879377575293736559513012098489082181736286414107578473064946878912834083241726091110196730638765148908997441539227353997547693833041209381481317903039857003685312411125193191918530402219245757619502979065225176073880892667172290884598027803419046611412881105046816703174859012695500793645282947913383997891663857080424704493576947826098393741423356861572435241380892936173754111742447 145409500249291831870153076977032971593979077262700996013438405587017058617882955637742080857986433476834940596168626657371836793652694320414701535237191359945754828879056589094387127643547409530214245799900470707251085395781708365993437032663495997830599605983691599822002756440193519716212376228173111573821096240808017872162868325840985392724417769819293390282939143217791666123017242217495482564933813241715101245630785980810952290552989444598223002627029219096278097214021608091017561246271890510232629252160310193053443353092822101948301563668718774776595211717643932200319586651751712333488999909021005026409297374195003377022434175776824456620131223419922886652601848348351165290487579037576533735377778161527352427101243337217314092776202221849256804694255614685330114170309743554779008601687641240561538365255771823868060599156832774387216675361618131184071434360310444229114418742237241578780041343482968905355404116142461432178377132360669760914172198905653002611379025542595435436986809536196262445649812934158200846716563185432412744601503856215356154538393464971831947131774365191602061392139699326119640292249054539078717856976951210351538002377224053723022937153490236008437758471977051396224306901306812257289713511328676418261592854297279832290297058900493879534847534282312893576054028757633055206666904715750006049870200350230152670126168557348228805083173537499755330140306153072196206205632570875561367522074489831573637854048013967799895050566750452082403884982084044718383758397777313521028797020429029977912352486455126619310893498144392188892279404997940757932703902368599214617963946435719506813151288701378441973498028387921239404252471254325263653991787337832126507199520230360223913675891526746236071839631605995870404284882582267848833473956793464379581854350665682399866939700007199262413826745487110454507186336972958088802085617655177179200380339158988178250397577532120483929998300277644047615323338791483814634810315650707143365061970890022337137808599614040253063145880310407161392123525257183922285002998995318941509997089518954745397297912203081179533342615236999752732786801202680937653079430246038384963021067405612321500612285200257480075407173974405018514111489900478903414547689958645444457609246616172634482053898569965757827700028386391591677412441762460718553146314160214356598341988353364427648769304188937299545521494119647804418095983694670092974919629660327892918969581493202860141396259670562568779417661329742758665714438239783875546077989441549028827490897594373049106693985956068986874652168544785536728366643095636047058472552847445391530118721524395005591150348708450072310130159809605077225721278742222689290913520228754713215153558426746255482339542804120570984707200616771062981794056364896200883651033742142030970819928018647782193454225583436415056140925085282856712364949119750595475050148812854034824168322918136376921490545970107243500861011836229245970525788059811638924957250836630764556706227997318951590748056426130026550052526025913740401352778731006688130547211513166791166739571600497435121313100790614690488233217261028125590850463003045608592979663246538620809418565471305774008551683466387742186451296849597160076275576500831307420169522590162944319061981663652299001845360599530375425122155197333263790909356949832365620663284007735430589647936302489961434330566347542206574777809787202241094917863920036502634987455561226636071824584940046091706412185165071571275695408383880701807472559342331194502558992135796490362554317281510700401619301337104791970305483256963080191185590605851508030435937765218137843379846412777615305900986395587180860881331927958390360585494750173523696375884916322271291094227360435066663190073238827360858060141699263857303935485060292217068441126109232572497921137247549029442091425745442453320226230642031525448523550335458553152105843575373014657840084839418345874767762739942461070956529945461830493140998667265072483099874687809217352231918814717581615840527456588202384620212533907334496707578180360186404941628113622051 235277513690490492013636811022221723426297933859489569878302379258817656759987497777079555869557350565801652367574286003929194539404009936581254297951747032709975444143554573947429572340174673161607148566008820203122478461127863612138020938750956715644034552793871708847214581179961371069839908132998276186316596661326231514748413145494609755670002212766902465335113584341265305312966133495100459987367922505373795468777194682910988495651001404330033028932426215870377490994879026797964215012525834530672370561517354876739098750048860845907305856359287505207785632117055387479568439247542075109384707804808182099304148635924036549715919717312914739428643583488396305286586682620663162710540652890949343094365195160764541771647590920712507963776825325651703264985796602247067122309050053528173113068764841764900919228722196678861282871336559821221275970888103016659043560264263285910468803526622983207691296854171672589895698593614989117874993587126853954588143608449358847958388225853753379799682680060097285297590581101072511753199163893281787638034580212819443077787743751651501216634410938151165398803521171490536528597083142603482363081336134900314866392936919940950935967588211002345889761594800917432853714237673497654158828105905761302853314085850943396125686115991176535388769908863837051850752928384780650519236679682858002461953153471898581500838293583484150926064526785415269320089983126858692365213372630549662116638323443778645106856997084030184429755410302696234952879463138531309316237342081937239817597794439917973807770624500834621645384903975668301204732492264977492307491914323190579551590005614107317330162685547442731200311595280911048254115939281985415649796096465083308827889249553513768545126847931244671063494887361473091201375659162445011997936171335736578940283053480740412354844438770177589014593133194972921238512059079393760663623328174430248226856723556980403780185604034405018921930699174547032546446574048181945560019913844717868420889879913732990961615763137142839271838260546420495210562529817119501886677919704276773512554411128639248408445234635888290048667688501135989945494738028788648319701611129494390105502468522805526887229637971930789670919091791519685657864851722220482759399504663935290035388790184958596117788681796356049254576513357104701226079906311548277023612560915933210500937500374974181846311495069058956762741542887524624389971058886789104147678385422212237892499926208535593734461340390004806427959490120325910149821269428976473158715608718132687824948059371888014579768391041665695589048402413278917890238454555628342475205572491613315278076464489906892996087106139618756383786597216900734962178093760300897523833668494732583878200219442166536061768768344996709480665657066130463086245506356158411726487651586571318668600543871594227321470810492765062476333887214222472969113897274007497167587046779467997921520030522684073484507538276567783493568999543409955005035658823426610644633909920038787809038348023810172697715398435213928182381570979801986100802191770361876465424271934301690428463017517991253255938786727161346745281050464676312053683071835048195047660609438470847497026751430370813614460757732050959046585709414282504080659792008318669540790579213662753220665354877920588448146948878970813698330367174947104998690000870015836140443032871542513567049534733044737587497864964366832066805951123557801279989443935597006692192149733572078825411381734651858134552102350990192440186550776012801323669297980381262035459313412890349207912083557756715877060173314157292953460871381798793374748130496831418097681352268955841279933223897676144747537227762530782913153607044970064752184454635052901271669621475835283389583309542171353077297651711892307736972975782505583395045681790930982217350123550771799851918684941382070651472907063345493177229915954442650641715468865860772397863463078352079883016158720311013047058647337970264490003141358342935539957701842124085178600668333092165265615916706381438696265231950165150210718606275330691358280013421741079341115382225364498 380687013939782323883789887999254695020277011122190565891740784845834715377870453414821636727543784042636592963742912661301031333056704256995955833188938392655730273022611163041816699983722082691821394365909290910373563856909571978131457971414452713474634158777563308669217337620154890786052284361171387760137692902134249386911281471335595148394419982586195855618052727559056971435983375712595942552301735747088896714407980663721940786203990848928256031559455434966655588208900634888981776258797725040904999813677665069792542103141682947855607420028006279984380843834699319679888025899293787442873707713829187125713446010119039926738353893089739196048774806908319191939188530969014328001028231928525876829742973322291894198748834257929822056553027547500960069680052216932397236479359797082952121670452483005462457593977968502729343470493392595608492646249721147843114994624573730139583222268860224786471338197654641495251102709757450550053370719487523715502315807355011850569767251396348815236669489596293547743240394035230712599915727078714200382636084069034799232326137216623333163766185303342767460195660870816656168889332197142561080938313086110666404395314143994673958904741701238354327520066777968829078021138980309911448541617234437721114906940148223228415983174891670414923617443146149945426806957142413705725903584398608008511823353822128734170964462140832379731147700322915024650230289279930888571419005201425223484160397933610218744711045097997984324805977053148317356764445222576027699995739859250760846394814868947951720123110955961240956278402120060490097011897262918250240195816691789794169553952049826824143313974248821173173809623668832287658368410536310679303787883802915435335088769783873992458802739457990907135334518967468961605660541744712860831410128129200958522137404146422812221784138777376851428419878682083375745698396052351849465708945829607427427237062715968582030583181566525502851928999452191080161769912839665760194830229495425011785951850803755328099424362751183092334984140856827656602686055074303424171680918699595715022551500647593993805743146838969469582010303738135742678281539231469585972781041375532775068523535928417848387841923172188269746326265765924704171976341622699386173947194622580734492998036801131230599842580366321807082276541743496292903492348074008995576758875076147567099279488728338609495080799257996256308263037007172428808067042581459197122598015082540130811469507701738453875857600060567375207377151450068668815535707668760348704793598159681716652438956966261063686462376997734682463700570958064454618605097651264389533678125339058706808195186014301898587237454848068828693916757026505812187899372502523586814747188723487297093353777868912791544108311149117280465372857682901526068039562721054612610138685328713349639420471890242009514925036076201477532474812299505329681478846393758092642637195592322032745688353440820450405998084246675026994430011379639200975561446883238249569591160756669552365744576021129124288463454861343954732434097005715726502154970501368564595971483447468481595202589118488688377251887517776037233514267725704437644533534838093803640640272685009468306445316901676587623012441198438701233037006263879664156935368509149976960960101803825697539727336541572887449992309478501189123452522372280368789599357819848201761106316879277944156697471035534699021828431311909038641583760910760042374907307855633509327179605294798714897235966674697949840964287516061763715881959159893503131141857322712456538018305548686839570466400839267416278679474651262084923766354638761873565933721102682926128117290034173979123313070310453760053438214158117963774034938972928455112769949385226424968045506392157554680677536902606419740487724950719668595033117481769440698981166851223199285791249660004372349839822188931100093564332808787946497456146596474176090239019201319325549969306653725094540856243559729358921826410077912725560959671303804766033098700509389157661700543020901382617847835521099020312105759406753352595338818809238025854987591602101265746057010338986549 615964527630272815897426699021476418446574944981680135770043164104652372137857951191901192597101134608438245331317198665230225872460714193577210131140685425365705717166165736989246272323896755853428542931918111113496042318037435590269478910165409429118668711571435017516431918800116261855892192494169663946454289563460480901659694616830204904064422195353098320953166311900322276748949509207696402539669658252462692183185175346632929281854992253258289060491881650837033079203779661686945991271323559571577370375195019946531640853190543793762913276387293785192166475951754707159456465146835862552258415518637369225017594646043076476454273610402653935477418390396715497225775213589677490711568884819475219924108168483056435970396425178642330020329852873152663334665848819179464358788409850611125234739217324770363376822700165181590626341829952416829768617137824164502158554888837016050052025795483207994162635051826314085146801303372439667928364306614377670090459415804370698528155477250102195036352169656390833040830975136303224353114890971995988020670664281854242310113880968274834380400596241493932858999182042307192697486415339746043444019649221010981270788251063935624894872329912240700217281661578886261931735376653807565607369723140199023968221025999166624541669290882846950312387352009986997277559885527194356245140264081466010973776507294027315671802755724316530657212227108330293970320272406789580936632377831974885600798721377388863851568042182028168754561387355844552309643908361107337016233081941188000663992609308865925527893735456795862601663306095728791301744389527895742547687731014980373721143957663934141473476659796263904374121218949743335912484349818296094953583980267998744162978019337387761003929587389235578198829406328942052807036200907157872829346299464937537462420457627163224576628577547554440443013011877056296984210455131745610129332274004037675654093786272948985810768785600930521773859698626738112708216486887847705754850143340142880206841730717488319061040125888325931606822401403248151813248584891422926058358838403872488535105911776233242214188381474857759630677992239271732623776277260258234292482652505027165174026004451223375275071561144119059417245357557444389829841193344919868933346699286516024528386826986089826717631262162677856336853055100600994129572254385557272600371435992080777600216989103312791341392294327055213071004579894697053198038101468248301270276400504752368703969433910274047610318940450572181635336641570394578965356977097736821863509206877814404477387016338149078266230768039400378052748973371343372508843552206892732008883697830672022086271650504208791583324560987687585077703354243406547150077466262824484338580857218219880971553997311079327605877079494113989946038514749031989154285069077213024336626336915284668308021015761836236836395846568966540008808699513727802650592743667765589810224242371790030667208383963504523890505622523242810487999010923049155980597105706664860214225070676708340174782924044939296986178853296557882914815667985517712602957162271730441061395755381770172023665606636479941633190674244937383978795318190380749698216606673141998688300882123480315803472068332047401237473198930489660279622715678162168237595160517468646501750681017488450760392691419493475898139258357472002821782889547227473788289358689864037901549349750820457723747005768579436609326296276275870708389712034317843654896751791230516019371755028370793722647348409349807975516389867051956156068509935906304454811155303093718573477618961577188778378484397024132155739647965419377877227226020560666940681851599514344225798642303129820403246294208129904800975441920648746687188546017898519864954404020279326239715127867992838070260846444777772817785376662611976332006093264275024094026848642154181503141373210776172201758507130313170745037239872133439674686062550916826731954488067180097947832769732077174423872402280040371968885057415882990050962812662147701573056402351513242840301211353993547883463752227480459008370991356918502806057425084568717213267605023842345087172392564351047 996651541570055139781216587020731113466851956103870701661783948950487087515728404606722829324644918651074838295060111326531257205517418450573165964329623818021435990188776900031062972307618838545249937297827402023869606174947007568400936881579862142593302870348998326185649256420271152641944476855341051706591982465594730288570976088165800052458842177939294176571219039459379248184932884920292345091971393999551588897593156010354870068058983102186545092051337085803688667412680296575927767530121284612482370188872685016324182956332226741618520696415300065176547319786454026839344491046129649995132123232466556350731040656162116403192627503492393131526193197305034689164963744558691818712597116748001096753851141805348330169145259436572152076882880420653623404345901036111861595267769647694077356409669807775825834416678133684319969812323345012438261263387545312345273549513410746189635248064343432780633973249480955580397904013129890217981735026101901385592775223159382549097922728646451010273021659252684380784071369171533936953030618050710188403306748350889041542440018184898167544166781544836700319194842913123848866375747536888604524957962307121647675183565207930298853777071613479054544801728356855091009756515634117477055911340374636745083127966147389852957652465774517365236004795156136942704366842669608061971043848480074019485599861116156049842767217865148910388359927431245318620550561686720469508051383033400109084959119310999082596279087280026153079367364408992869666408353583683364716228821800438761510387424177813877248016846412757103557941708215789281398756286790813992787883547706770167890697909713760965616790634045085077547930842618575623570852760354606774257371864070914179498066789121261753462732326847226485334163925296411014412696742651870733660756427594138495984557861773586036798412716324931291871432890559139672729908851184097459595041219833645103081330848988917567841351967167456024625788698078929192869986399727513465949680372835567891992793581521243647160464488639509023941806542260075808415934639965726350230039757103468203557657412423827236019931528313827229212688295977407475302057816491727820265263693880559940242549540379641223662913484316307329163571623323369094001817534967619255107293893909096759021384863787221057317473842528999663419129596844097287033064602459566268177130311068228344699496477831651400836473093585051469379267616901869482006105144049707498392874415587292499515438941612012501486176540511139556842713793020463247780892684766497170568302805037496121129825973304410141952693145037135060516449544329407827127448649858157121542561823169730728894466836518510690170562015835756413771620111269912359337976838765348071153328045941707178064907775179992119149985390643231270411411372431933515222324631798267636946765022243998017947441487652078246351320882645168017541283511813233132332071590061523682452861437964112063412896737404324974296503706769917837482429022302688356956158552589903109783816231433377892540527500066068421274642308157901837647249764991233439105112132773099005657367238829238653618868195754968630010442561762713421212309585916085187342750141511235802328941154808489784109917385233723988860485640128928361512659721942041832394530529026618623462710782821314148300120027961066363348131567835973191945235411919507842577888716509712239662655666630098401880444476804114135631154727588184909349973472945077886029804059646864025346551360323169508619883315084047757816480677383113719871950469095799807585953012625806175111495924510264028348844885236291548434419122616681462800993580659322540506615572702197270353915932337303799526559364518583664854413656078766710461223484990826974977724353405505751207760634260150392750938383347384192558273101613331644927039210746044464793008015493377380788932622870780544551598329319244270838601572680921386172142209147391002822193507268499423497802076385802268964728645839769730890711467493795715611922483965952467606155102860902400502001754374894930501311587748579479320476750763671855401396243893806743068255196625943610833229402903337596 1612616069200327955678643286042207531913426901085550837431827113055139459653586355798624021921746053259513083626377309991761483077978132644150376095470309243387141707354942637020309244631515594398678480229745513137365648492984443158670415791745271571711971581920433343702081175220387414497836669349510715653046272029055211190230670704996004956523264373292392497524385351359701524933882394127988747631641052252014281080778331356987799349913975355444834152543218736640721746616459958262873758801444844184059740564067704962855823809522770535381433972802593850368713795738208733998800956192965512547390538751103925575748635302205192879646901113895047067003611587701750186390738958148369309424166001567476316677959310288404766139541684615214482097212733293806286739011749855291325954056179498305202591148887132546189211239378298865910596154153297429268029880525369476847432104402247762239687273859826640774796608301307269665544705316502329885910099332716279055683234638963753247626078205896553205309373828909075213824902344307837161306145509022706176423977412632743283852553899153173001924567377786330633178194024955431041563862162876634647968977611528132628945971816271865923748649401525719754762083389935741352941491892287925042663281063514835769051348992146556477499321756657364315548392147166123939981926728196802418216184112561540030459376368410183365514569973589465441045572154539575612590870834093510050444683760865374994685757840688387946447847129462054321833928751764837421976052261944790701732461903741626762174380033486679802775910581869552966159605014311518072700500676318709735335571278721750541611841867377695107090267293841348981922052061568318959483337110172902869210955844338912923661044808458649514466661914236462063532993331625353067219732943559028606490102727059076033446978319400749261375041293872485732314445902436195969714119306315843069724373493837682778735424635261866553652120752768386546399648396705667305578202886615361171704530516175710772199635312238731966221504614527834955548628943663323960229183224857149276288398595507340692092763324200060478234119909788684988843366288216679207925834093751986054557746346385587105416575544830864598937985045460426388580816980880813483831658728312539124040640593195612783549771690773310884035105104691677519755982651944698281162636856845123540777501747060309122299713466934964192177865387912106682450272196796566535204143245517955799663150816092044868219408375522286549096495480961711738478050434590857826746249661864233992431812011915310525607212989642559220218923913076535438569198517700751199636292202065049853551445521000402750980738487022719481753886576823443998849323465513318906488054305028172555491908903159927059036461772491071446755862470137345260357449887180965504376609700875480661283391359159282686255462503413914483187716729214134557550092211326960934982664333729289272263085680335902094080105121367829498187009329293160647970428033225737512936755658296567969998041302110086232715310424111007718260821161454459720562065432976751151708069295044829446718762994211008825642533802391448571643633236007650805191104904106465937040966748184377801017242036931970099913389453565771390097958839059418021792282437620204000632125689544087269964461463838802599060512719380559839246270826193445194767018301466735316366178075199576277564205016380918859604191482572693572240481023864460780058363184979395729684700811438094541365923115351540302342530663493397565791997067250165676028018979031706112040764167928899893684973543471841217127223369633315680590158770582100840678220806679883207447297424301711614579714574640433619929805658726713569655389097999415457148412031008725494842678757425785077447475762128143230821199229792161965376058478275943621259045304010319488887034864135531562292073996081556716753356836449557441583638812553054825846828271698307829554147995335679521445634846117879443388601048119810102859596524909678705662885296628100169179211505212415643342302965728888478384775339976059938328847742120590358207453668978375460281522801649785955920401795467688643 2609267610770383095459859873062938645380278857189421539093611062005626547169314760405346851246390971910587921921437421318292740283495551094723542059799933061408577697543719537051372216939134432943928417527572915161235254667931450727071352673325133714305274452269431669887730431640658567139781146204851767359638254494649941478801646793161805008982106551231686674095604390819080773118815279048281092723612446251565869978371487367342669417972958457631379244594555822444410414029140254838801526331566128796542110752940389979180006765854997276999954669217893915545261115524662760838145447239095162542522661983570481926479675958367309282839528617387440198529804785006784875555702702707061128136763118315477413431810452093753096308686944051786634174095613714459910143357650891403187549323949145999279947558556940322015045656056432550230565966476642441706291143912914789192705653915658508429322521924170073555430581550788225245942609329632220103891834358818180441276009862123135796724000934543004215582395488161759594608973713479371098259176127073416364827284160983632325394993917338071169468734159331167333497388867868554890430237910413523252493935573835254276621155381479796222602426473139198809306885118292596443951248407922042519719192403889472514134476958293946330456974222431881680784396942322260882686293570866410480187227961041614049944976229526339415357337191454614351433932081970820931211421395780230519952735143898775103770716959999387029044126216742080474913296116173830291642460615528474066448690725542065523684767457664493680023927428282310069717546722527307354099256963109523728123454826428520709502539777091456072707057927886434059469982904186894583054189870527509643468327708409827103159111597579911267929394241083688548867157256921764081632429686210899340150859154653214529431536181174335298173454010197417024185878792995335642444028157499940529319414713671327881816755484250784121493472719935842571025437094784596498448189286342874637654210889011278664192428893759975613381969103167343979490435485923399768645117864822875626518438352610808895650420736623887714254051438102512218056054584194086683227891910243713874823010040266147045659125085210505822600898529776733717744388604204182577833476263280158379147934487104709542571156554560531941352578947220677183175112248788795568195701459304689808954632058128537466999209944766615593014338481497158151829539813698436017210248389567663298056025231679337367734847317134299050582672021472851295320764227611321074527142346630731163000114816952806646737038962946969362171617058113670499085648062030159026763740851923206975094007344170133479875205323541230171924448592659200412620943576783231265826031143793520626645236949101634237101369547671063565905847860780576530768861259612899019598934332673748298230156381403280704202903991065992729539037611859302575091375723140194067314735923790812954715947118300014157493001858772154472483513036063078485452857055528425869892914210886471079781857533543464125255837924177076139535463469612361558209315197967984590813181427817928452376130233040247479261401998146417201654075797770364226403414490022551124383716889695613603346183191740459884023306838799495378958444479188346383304942159562245833026656218570705893427172246660116747360632747341626202594402394029418386712253713386243158944066791709288517226860683011017261484635959376807707871635751452645689408336657924473615714504871084958566712474475674709810962413978577445323608477744633279395899969448127505919626717180554706068796469467982105245476068254869607229024577893198782303479214387339205747953912997003908884933630506977737419456365023245297234509802754078182167609635515999552469820403110831290828655236396388293623572137613139546157934331579889275266186084514756363953680042879628908943081006618952337261304955165768801712422240385233976212018970480845698832376341502604178944943436922503681712353329693959579833750307992403474421274807780594052636785366608073318043844304720103783408886086927724639417649324492884262213608849912872182203349777998275729566753631198371026239 4221883679970711051138503159105146177293705758274972376525438175060766006822901116203970873168137025170101005547814731310054223361473683738873918155270242304795719404898662174071681461570650027342606897757318428298600903160915893885741768465070405286017246034189865013589811606861045981637617815554362483012684526523705152669032317498157809965505370924524079171619989742178782298052697673176269840355253498503580151059149818724330468767886933813076213397137774559085132160645600213101675285133010972980601851317008094942035830575377767812381388642020487765913974911262871494836946403432060675089913200734674407502228311260572502162486429731282487265533416372708535061946441660855430437560929119882953730109769762382157862448228628667001116271308347008266196882369400746694513503380128644304482538707444072868204256895434731416141162120629939870974321024438284266040137758317906270669009795783996714330227189852095494911487314646134549989801933691534459496959244501086889044350079140439557420891769317070834808433876057787208259565321636096122541251261573616375609247547816491244171393301537117497966675582892823985931994100073290157900462913185363386905567127197751662146351075874664918564068968508228337796892740300209967562382473467404308283185825950440502807956295979089245996332789089488384822668220299063212898403412073603154080404352597936522780871907165044079792479504236510396543802292229873740570397418904764150098456474800687774975491973346204134796747224867938667713618512877473264768181152629283692285859147491151173482799838010151863035877151736838825426799757639428233463459026105150271251114381644469151179797325221727783041392034965755213542537526980700412512679283552748740026820156406038560782396056155320150612400150588547117148852162629769927946640961881712290562878514500575084559548495304069902756500324695431531612158147463815783599043788207509010660552180119512650675145593472704229117425085491490263804026392172958235809358741405186989436392064205998707579603473717695178935039064429586723728874301089680024902806836948118149587743184060823948192488171347891197206899420872410765891153726003995699929380756386651734151075700630041370421538883575237160106325205585084996061665134991592697503188575080300322326120928245333842825387684051912354702931094900733493849358338316149813349732133805188846589298923411701579785192203869409264834279812010495002552414391635085619097719176047771382235954255692656585599679167502434563033798814662202178901273392008494965155431926828868117172344251952589528582390540971190205937654846579730910226400033053988256828645452865170536230855943810563949653678335169482644411470267042296550172314085448821693182137145852261561296137831320162135012661710330917921791126311146793864523975544033549228959513547740562563390458366494479907212726754341073437132641467934467155002297400257520102226979032798635916251573106980139983970670522365356239133423285088754163382829669869183039049779898835653550357971148348288083857796284631066821278771380630944735742521250722862757899094893227251256304903935800537865773297709033778015031594519394129017061424683637879991404363425228672429983936696292365266769056403318247764405097224597182449833658781908114793163391633710498919346421145466722186041840673220222863581479272014852978475310244866908864794791065699391936121088827441949501280112116775317106469466699842903869345399205682523053108078397591026250113304944642070842889400474811883445071927988427159212031667481348483605962481443011453946462603291624502922909614736663780883144157435194019088955401210421305620499513345081618171039386170681972010804165191852077597624758047547008277964663081868257075906102712158516436854393336842931708123310390058165218887445129818766683442567077743764440505373080615033893978058312002218359154005879197787031037865798752544006661930489497939858466389071768621561155741930742079389936609904517313153126937693077222152805964578113285733687186607685832671887270862267700699355978172235004852571816303581850557663631300799925515522674032993838714882 6831151290741094146598363032168084822673984615464393915619049237066392553992215876609317724414527997080688927469252152628346963644969234833597460215070175366204297102442381711123053678509784460286535315284891343459836157828847344612813121138395539000322520486459296683477542038501704548777398961759214250372322781018355094147833964291319614974487477475755765845715594132997863071171512952224550933078865944755146021037521306091673138185859892270707592641732330381529542574674740467940476811464577101777143962069948484921215837341232765089381343311238381681459236026787534255675091850671155837632435862718244889428707987218939811445325958348669927464063221157715319937502144363562491565697692238198431143541580214475910958756915572718787750445403960722726107025727051638097701052704077790303762486266001013190219302551491163966371728087106582312680612168351199055232843412233564779098332317708166787885657771402883720157429923975766770093693768050352639938235254363210024841074080074982561636474164805232594403042849771266579357824497763169538906078545734600007934642541733829315340862035696448665300172971760692540822424337983703681152956848759198641182188282579231458368953502347804117373375853626520934240843988708132010082101665871293780797320302908734449138413270201521127677117186031810645705354513869929623378590640034644768130349328827462862196229244356498694143913436318481217475013713625653971090350154048662925202227191760687162004536099562946215271660520984112498005260973493001738834629843354825757809543914948815667162823765438434173105594698459366132780899014602537757191582480931578791960616921421560607252504383149614217100862017869942108125591716851227922156147611261158567129979268003618472050325450396403839161267307845468881230484592315980827286791821036365505092310050681749419857721949314267319780686203488426867254602175621315724128363202921180338542368935603763434796639066192640071688450522586274860302474581459301110447012952294198268100584493099758683192985442820862522914529499915510123497519418954502900529325275300728958483393604797447835906742222785993709424955475456604852574381617914239413804203766426917881196734825715251876244139782105013893824069594189289178639498611254872855882336509567405031868692084799894374766740262999133031886106207149522289417554039775454503158686765863317384056298133356468195378206542350906422986109351824193438569624640024653282395775201279450719603689103009790884650261839523907414329119578889813499975800534355125696318432041645820923819081290915536497944562158029303876436740494641761069253163773905911463803739460209340669710731149134105179825602783762141844824091210619079781438140116592615213808782382801363195533239200867833198578567558191698498321895172406406763543574478366222977257743704121965844094661270485545899942265791952932739707732843657607349069612136181310915181694979916935930409066108838912138443154035401419317618876142144282589252722584080069510129561756369197014483226986272465159997331748100679182836980695828912720333334432150680686351471023460291503784165337798684282974951784831548379257997933884151568185808400527575605007709608420412889867960003131164762148014847797436110788402166756744695666685438126685499056818805957159036093781778214063812244435075614252281968191525728239221634254311658618153312017926382402953382573463401326308987983752526769752158875036500828342961113710553608011674790872066700959924267358620648288213008952556516724467827957875286717951294198529038312031277912479436051708079359879372530138639314556979665447636649581358294703355123418309529384446975588595908458842535705217308038674994606155779792367683063007830434483484979088366734757948554904730477965474456071254281244721638054494153631214333523047396247120623393349448454087233986231239363267167987160866428119583021007249884769233389705494306831000544037411332508691125242868095260436038969770360212509716627548212500857816205442749944721359051731030912405936455296156949195425338773627496727889114785425153494722739866981078798201245089427664192209741121 11053034970711805197736866191273230999967690373739366292144487412127158560815116992813288597582665022250789933017066883938401187006442918572471378370340417671000016507341043885194735140080434487629142213042209771758437060989763238498554889603465944286339766520649161697067353645362750530415016777313576733385007307542060246816866281789477424939992848400279845017335583875176645369224210625400820773434119443258726172096671124816003606953746826083783806038870104940614674735320340681042152096597588074757745813386956579863251667916610532901762731953258869447373210938050405750512038254103216512722349063452919296930936298479512313607812388079952414729596637530423854999448586024417922003258621358081384873651349976858068821205144201385788866716712307730992303908096452384792214556084206434608245024973445086058423559446925895382512890207736522183654933192789483321272981170551471049767342113492163502215884961254979215068917238621901320083495701741887099435194498864296913885424159215422119057365934122303429211476725829053787617389819399265661447329807308216383543890089550320559512255337233566163266848554653516526754418438056993839053419761944562028087755409776983120515304578222469035937444822134749272037736729008341977644484139338698089080506128859174951946369566180610373673449975121299030528022734168992836276994052108247922210753681425399384977101151521542773936392940554991614018816005855527711660747572953427075300683666561374936980028072909150350068407745852051165718879486370475003602810995984109450095403062439966840645623603448586036141471850196204958207698772241965990655041507036729063211731303066029758432301708371342000142254052835697321668129243831928334668826894813907307156799424409657032832721506551723989773667458434015998379336754945750755233432782918077795655188565182324504417270444618337222537186528183858398866760323085131507727406991128689349202921115723276085471784659665344300805875608077765124106500973632259346256371693699385257536976557305757390772588916538557701849568564345096847226393720044182925432132112248847108071136788858271784099230394133884906631854896329015618465535343918235113733584522813569615347810526345293246665678665680251053930394799774374174701163746246465553385525084647705354194813013045228217592127947051045386589037302050255783266912378091604316508418899668506230645597056768169775163398746220315687820389163834688441122039031659738901493494377327222101839643358702447470249941007026341977362918393552015678877073926363620661473863968474689040991425542868126026526952699000494082374395341221491979479563806959899720632384913074511205941587092944669129479281118931624489235561477661376331610454202041436906990919528653624756829377032187995333591229268522616420113021483553200628067550022399772206217257251862528407485119636980025807154992546294006176840374311592074504071909536438831017408674012715571846660639215819052122413824557766775556752299427233036752635552253949252549179341655204850564841198134620753243855128032731746004115752076459857456075855682873543444250565916687542760089069273599222148748249493865326394289592453278280585247233084165455596412073033649085319851896699423530028917071251115683875193499391353927145500344220034800292220210439667657955440202923680785998286275748834475145549670797743092200109564556525527018106808992081794889503662290843275810268095869302086858628341736343732212306512916236131064782869269657727210037572303262719131102409427368400169539755946302445929982961679877521917993759355490889998170682651503875453048254051220760548591794084775377383658756333839615149883960320670214079498228706387189318842840186458233377417125730610016108399146566847345442640860660713421167332358811299002962404555111696219713041076344152289730838814198367157789953827167849020125217421579170205520020433998780808038287750567985933712156237320498483895877721580459746804023837191178118359706970117027029780675150193935038358248714522834644785418217520091769127183427811463126038129605668962893967357241457076573297530612379598126760612101697186048456003 17884186261452899344335229223441315822641674989203760207763536649193551114807332869422606321997193019331478860486319036566748150651412153406068838585410593037204313609783425596317788818590218947915677528327101115218273218818610583111368010741861483286662287007108458380544895683864455079192415739072790983757330088560415340964700246080797039914480325876035610863051178008174508440395723577625371706512985388013872193134192430907676745139606718354491398680602435322144217309995081148982628908062165176534889775456905064784467505257843297991144075264497251128832446964837940006187130104774372350354784926171164186359644285698452125053138346428622342193659858688139174936950730387980413568956313596279816017192930191333979779962059774104576617162116268453718410933823504022889915608788284224912007511239446099248642861998417059348884618294843104496335545361140682376505824582785035828865674431200330290101542732657862935226347162597668090177189469792239739373429753227506938726498239290404680693840098927536023614519575600320366975214317162435200353408353042816391478532631284149874853117372930014828567021526414209067576842776040697520206376610703760669269943692356214578884258080570273153310820675761270206278580717716473987726585805209991869877826431767909401084782836382131501350567161153109676233377248038922459655584692142892690341103010252862247173330395878041468080306376873472831493829719481181682751097727002090000502910858322062098984564172472096565340068266836163663724140459863476742437440839338935207904946977388782507808447368887020209247066548655571090988597786844503747846623987968307855172348224487590365684806091520956217243116070705639429793720960683156256824974506075065874286778692413275504883046956948127828934934766279484879609821347261731582520224603954443300747498615864073924274992393932604542317872731672285266121362498706447231855770194049869687745290051327039520268423725857984372494326130664039984408975555091560456703384645993583525637561050405516073965574359359420224764098064260606970723913138998685825961457387549576066554530393655719620005972616919878616056810371785620471039916961832474527537788289240487496544545352060545122909818447785264947754464393963663353340662357501338409267861594215110386063505097845122592358868210050178418475143509199778072684466417867058819667105665531823614701895190124637970541605288571222110806498515658881879691663671684392183889269578606672821443332461712238354900202846550249391692037972441829178852874460718746357792296010120509964810506833783662524471514857029797958811135835863253048732727580865811184436124373283851875652318242078774309304883902693766334059652688280456113048594318634052120799701911454987952362616233055828532169796826714314918434916655959607391611124500765995183475000955984494251579780907465571707097258338246938916548107155249681853141521672620141932590368992632507777069705324657964260856978593168194874371175569377319341888274838029322059308903411574047579324425120893218403852459780832425186952732772288770176409190115024224130602036940147834263873234611397906431723201278696874773547590387162432153433041484693031201419782642069498209719856702554694791065086098913119985981901558110671841167029658161485791277029245624816991533984701894849810530710824448727427517862323471331421743818868184145171418826918464197842886235754244602119256079621828856610787216772844560555267626626789739076457660141724428169961839661883367419315418379924916894007583904177732647934255878406560230025037267970326049878762011383247983186893365777740214039430734356735678362111457257924679268407296258809987957071242092406626881515181064389157209493413673023938833630051826433809375618609268325897810324285755074216685799833334274207194707558485812778235061318990551139402281255083006356456784846338192680886862118363829045537635337219323417650544151499027933289054089150872046891932451614157329477330329536746408223362694792854563691464467556003837149248432497705582479584760658551376903233165690783082142666610571296037397593458396328005701529361378258197124 28937221232164704542072095414714546822609365362943126499908024061320709675622449862235894919579858041582268793503385920505149337657855071978540216955751010708204330117124469481512523958670653435544819741369310886976710279808373821609922900345327427573002053527757620077612249329227205609607432516386367717142337396102475587781566527870274464854473174276315455880386761883351153809619934203026192479947104831272598365230863555723680352093353544438275204719472540262758892045315421830024781004659753251292635588843861644647719173174453830892906807217756120576205657902888345756699168358877588863077133989624083483290580584177964438660950734508574756923256496218563029936399316412398335572214934954361200890844280168192048601167203975490365483878828576184710714841919956407682130164872490659520252536212891185307066421445342954731397508502579626679990478553930165697778805753336506878633016544692493792317427693912842150295264401219569410260685171534126838808624252091803852611922398505826799751206033049839452825996301429374154592604136561700861800738160351032775022422720834470434365372710163580991833870081067725594331261214097691359259796372648322697357699102133197699399562658792742189248265497896019478316317446724815965371069944548689958958332560627084353031152402562741875024017136274408706761399982207915295932578744251140612551856691678261632150431547399584242016699317428464445512645725336709394411845299955517075803594524883437035964592245381246915408476012688214829443019946233951746040251835323044658000350039828749348454070972335606245388538398851776049196296559086469738501665495005036918384079527553620124117107799892298217385370123541336751461850204515084591493801400888973181443578116822932537715768463499851818708602224713500877989158102207482337753657386872521096402687181046398428692262838550941764855059259856143664988122821791578739583177185178559036948211167050315605740208385523328673300201738741805108515476528723819802959756339692968783174537607711273464738163275897977926613666628605703817950306859042868751393589499798423174625667182513991404105203011053763522688665268114636089505452305750709641271372812054057111892355878405838369575497113465516001684859193738037528041826103747803962653386678862815740258318110890350809950996157101223805064180811250033855951378795958663136175524565200329845347492246892807745705004034791537798626887679493570320813702703344131085382763955933894923282975820414685825150143853576591369054956365993844857729948387082367019266159978595199005801932376651788550998467556030292041185531177084745028212291387825710905068509286358363081593905335023443438784165021625390823295214165941832444659048520675489027790621440108612709191993265243823865761026095236931338547938139512808019678674523165767389692258207847022659064900544445597514252250884540945093388481466841756357213431209058972949999043005348079623730344540477016383270803150934970431123474996610356094523827091978574608488245066778898144165623255513971647707587813564171191068484848748627632485045797897767574852602856835377023962303884997128580471450772562201167837182840440712738680274568858486797831855675718583529571753401978224819982157350028803861175400949464598986667373878196286083497239685292474946974187625575635808816986573283202573067533121214423621853383424709672189525635910545992732389898045087877929524175491130943469415558509188292767574139543025870141240529411382155379999411965146086550417827807293317063547339850480178577917217558284082148018796623461216048049444662887123436235147416998500762631224819132113062020867791097539829152367616929024067455299948479595945724355367522622534626619144283040047232776618673779252016479269981747065142683097054077179090354945030493920235783902638102509073875517357708929356108422932026481674206425508398200907296117144637083825385905205257129806781471997511829166775669610618850915769642792275689184300446563776188898512888727892921940178990390648622567465952589474709663012572121677415032838834653677049499908067647869334928205837994454766313631058564306653127 46821407493617603886407324638155862645251040352146886707671560710514260790429782731658501241577051060913747653989704957071897488309267225384609055541161603745408643726907895077830312777260872383460497269696412002194983498626984404721290911087188910859664340534866078458157145013091660688799848255459158700899667484662890928746266773951071504768953500152351066743437939891525662250015657780651564186460090219286470558365055986631357097232960262792766603400074975584903109355310502979007409912721918427827525364300766709432186678432297128884050882482253371705038104867726285762886298463651961213431918915795247669650224869876416563714089080937197099116916354906702204873350046800378749141171248550641016908037210359526028381129263749594942101040944844638429125775743460430572045773660774884432260047452337284555709283443760014080282126797422731176326023915070848074284630336121542707498690975892824082418970426570705085521611563817237500437874641326366578182054005319310791338420637796231480445046131977375476440515877029694521567818453724136062154146513393849166500955352118620309218490083093595820400891607481934661908103990138388879466172983352083366627642794489412278283820739363015342559086173657289684594898164441289953097655749758681828836158992394993754115935238944873376374584297427518382994777230246837755588163436394033302892959701931123879323761943277625710097005694301937277006475444817891077162943026957607076306505383205499134949156417853343480748544279524378493167160406097428488477692674661979865905297017217531856262518341222626454635604947507347140184894345930973486348289482973344773556427752041210489801913891413254434628486194246976181255571165198240848318775906964039055730356809236208042598815420447979647643536990992985757598979449469213920273881990826964397150185796910472352967255232483546307172931991528428931109485320498025971438947379228428724693501218377355126008632111381313045794527869405845092924452083815380259663140985686552308812098658116789538703737635257398151377764692866310788674219998041554577355046887347999241180197576169711024111175627973642138745475639900256560545369267583184168809161101294544608436901230466383492485315561250780949439323587701700881382488461249142371921248273077926126321823208735473402309864367151402223539324320449811928635845213825721955842630230732153460049387437017445716246609323362759909433386195152452200505366375028523269272033534540567744726308282126924180050346700126840760746994338435674036582822847801113377058455988715708970612439210435451075469982413060089999996667012947998076945018968691522089504633659642214957246223577102217748089048924319157157354866854222288557707642839309541148590323351563600661554609498299652397930822921951246256982854795472415411289799023931762573167259163831516910644681451911169221349509222787884009936588622091438210354952881679114882589411997980587400800049865134980644127781744103165305494650565987675436412101930007896667797148478352945723490048376407190051560047594396596378021217621037397808894235912921991705454639796983211287835538496395035012194652051259075941384773227603144892113316053551517999251638317788081739291610104532919611047243448941923847157302507575270827834403536357771874774268930917291938508172327470485619347697397731930000585395444685755043597202292893817360944462829010190575276133799332480048780255112959800080202775282032853322841766169815609217698189553106583549961251627029453969733246187218233957554923754657911225851473436690642378043833891431542097928206674270371419422040782776240976670655553488848740382979248355464508420774913187834055412371190572002572605870548587011691836112557956063986066406670500213061392097879250072962953007382809151395776154778364768127430491461123915287308936836348260068758389678015032838130991271846590881794158235508466129363021242424580547457325623496539762455829758761490897807702094406433018661630776100522597121875583520747485631643457946652459716714385087180292142597332780228791936072000344460131642574678219165372325799296390782772015160419942564850251 75758628725782308428479420052870409467860405715090013207579584771834970466052232593894396161156909102496016447493090877577046825967122297363149272496912614453612973844032364559342836735931525819005317011065722889171693778435358226331213811432516338432666394062623698535769394342318866298407280771845526418042004880765366516527833301821345969623426674428666522623824701774876816059635591983677756666407195050559068923595919542355037449326313807231041808119547515847662001400625924809032190917381671679120160953144628354079905851606750959776957689700009492281243762770614631519585466822529550076509052905419331152940805454054381002375039815445771856040172851125265234809749363212777084713386183505002217798881490527718076982296467725085307584919773420823139840617663416838254175938533265543952512583665228469862775704889102968811679635300002357856316502469001013772063436089458049586131707520585317874736398120483547235816875965036806910698559812860493416990678257411114643950343036302058280196252165027214929266512178459068676160422590285836923954884673744881941523378072953090743583862793257176812234761688549660256239365204236080238725969356000406063985341896622609977683383398155757531807351671553309162911215611166105918468725694307371787794491553022078107147087641507615251398601433701927089756177212454753051520742180645173915444816393609385511474193490677209952113705011730401722519121170154600471574788326913124152110099908088936170913748663234590396157020292212593322610180352331380234517944509985024523905647057046281204716589313558232700024143346359123189381190905017443224849954977978381691940507279594830613919021691305552652013856317788312932717421369713325439812577307853012237173934926059140580314583883947831466352139215706486635588137551676696258027539377699485493552872977956870781659518071034488072027991251384572596097608142289604711022124564406987761641712385427670731748840496904641719094729608147650201439928612539200062622897325379521091986636265828063003441900911155376077991431321472014606624526857084423328748636387146422415805864758683702428216378639027405661434140908014892650050821573333893810080533913348601720329257108872221862060812674716296951124182781439738409424314564996946334574634951940741866580141319625824212260860524252626028603505131699845784587224009784385092018154795932483305396879683910253461951613358154297708060273874646022521319069078372654354654797490474462668009284102541610005200490553703432129801950704429518894312771234883480396324615967310907976414371587087239626468449969090382041182198190032743105157310356517232994573142946000578038840128912125661186873213945944547980650081020164121002366691359985030176380944791672213370746602763543476263691849017188177595530792934985223430968473547097529962859517371678539569709581996356766735601760107328829103325070088933194567568384090738087832588455003328667024530394405611997027398584895038135736618125562598031530935929021986471276285393545131843867655671631921161699267635407960767569089702469786025441379281710819759280307242653818588311797842381392163592666102823821277109221956068043857630793590622410004797083493993506665268863363506511144431029400798970727708332703457039869814501777414554057958271508616209766885482359953046121428164683971015132573652928565900178665450585717603489550470098739556183307666031844420357978304430604090743549618333791221146090415905712841479358938718964488738929960663592175540520151073994511551021102263605138089803768690994974724526062630514892758145977651337157494855657188199774741739301880372620961802403847039453004337573142530116858122867671139051598518330225916109634226462731702239104033299183289173992313408577149231820028095690479863228574866509723395262047666275363762017796382812353705968998114498100947059319805197697354989082701454352653103213188407147629837677264107095494051591622605428372109748723471737198708707845931222664298786020388472248640407571822448337301082284180337676655001805609904901906206968910834998137181142482745867034707254005134385237538328791478506871503378 122580036219399912314886744691026272113111446067236899915251145482349231256482015325552897402733960163409764101482795834648944314276389522747758328038074218199021617570940259637173149513192398202465814280762134891366677277062342631052504722519705249292330734597489776993926539355410526987207129027304685118941672365428257445274100075772417474392380174581017589367262641666402478309651249764329320852867285269845539481960975528986394546559274070023808411519622491432565110755936427788039600830103590106947686317445395063512092530039048088661008572182262863986281867638340917282471765286181511289940971821214578822591030323930797566089128896382968955157089206031967439683099410013155833854557432055643234706918700887244105363425731474680249685960718265461568966393406877268826221712194040428384772631117565754418484988332862982891961762097425089032642526384071861846348066425579592293630398496478141957155368547054252321338487528854044411136434454186859995172732262730425435288763674098289760641298297004590405707028055488763197728241044009972986109031187138731108024333425071711052802352876350772632635653296031594918147469194374469118192142339352489430612984691112022255967204137518772874366437845210598847506113775607395871566381444066053616630650545417071861263022880452488627773185731129445472750954442701590807108905617039207218337776095540509390797955433954835662210710706032338999525596614972491548737731353870731228416605291294435305862905081087933876905564571736971815777340758428808722995637184647004389810944074263813060979107654780859154659748293866470329566085250948416711198244460951726465496935031636041103720935582718807086642342512035289113972992534911566288131353214817051292904291735295348622913399304395811113995676206699472393187117001145910178301421368526449890703058774867343134626773303518034379200923242913001527207093462787630682461071943635416486335213603805025857757472608285954764889257477553495294364380696354580322286038311066073400798734923944852542145638546412774229369196014338325395298746855125977906103683274494421656986062334853413452327554267001047800179616547915149210596190840917077978889695014643146328766158339338605354546128235967077900563506369141439290806803026246088706495883225018667992901964528361297614570724891404028252142829452149657713223069223610107047860785026664636765446267120927699178198222681517057617493660069798474721824435453401177623926831025015030412735592384668534185250837253830272890548945042865192930895594082684593773383071956026616947026810797522690701938432382150472041178865202980741182102329325208755084077776605642792996086352489227878934962262870263705138004947874386409560074334199294571324971268143235814032301212261843128661622671939139423852513647730457638842258272571029292536026776535510056480354263448267935956951269330116713113261658711024632777923336972417202715177867001309254425330444270746977671526366639141301042112776128585706967348030951994367944082542023484789591145720008328351750827683002357363947110920090823423250273517623741750985761882450801799599633380877787198604860754875080353050606729295647002522906906675961522796335132311294747008154973611044064042076644247912651555490005964615140642336180950911829833045777547127058823990532280516607047512381368747062574238324010585933709047788010497306911414561568566373882942165643752838027084685717050543629821109073253999413257671882657088576636908517595322479921915219204994489884320181729784978657187359796001029620164431665366904106464406324300243905858011427866275079228982550982715972535926109810542786826287808468845993917443304692178280042329623601090936096464696645918298844260195168019365589959674205374800675028481892991048697862672379970642664501760030175096766824885933083691749190054229066872887778962092157936188969201579964495612588161569342551428390054418224721432718990591354078435187133600646531173831605141726507561998764821383142264055769387893203465906283953542000894722763835293948207237682134998904982835342597312785057424086200079579804430776020310343951898449436353629 198338664945182220743366164743896681580971851782326913122830730254184201722534247919447293563890869265905780548975886712225991140243511820110907600534986832652634591414972624196515986249123924021471131291827857780538371055497700857383718533952221587724997128660113475529695933697729393285614409799150211536983677246193623961801933377593763444015806849009684111991087343441279294369286841748007077519274480320404608405556895071341431995885587877254850219639170007280227112156562352597071791747485261786067847270590023417591998381645799048437966261882272356267525630408955548802057232108711061366450024726633909975531835777985178568464168711828740811197262057157232674492848773225932918567943615560645452505800191414962182345722199199765557270880491686284708807011070294107080397650727305972337285214782794224281260693221965951703641397397427446888959028853072875618411502515037641879762106017063459831891766667537799557155363493890851321834994267047353412163410520141540079239106710400348040837550462031805334973540233947831873888663634295809910063915860883613049547711498024801796386215669607949444870414984581255174386834398610549356918111695352895494598326587734632233650587535674530406173789516763908010417329386773501790035107138373425404425142098439149968410110521960103879171787164831372562507131655156343858629647797684381133782592489149894902272148924632045614324415717762740722044717785127092020312519680783855380526705199383371476776653744322524273062584863949565138387521110760188957513581694632028913716591131310094265695696968339091854683891640225593518947276155965859936048199438930108157437442311230871717639957274024359738656198829823602046690413904624891727943930522670063530078226661354489203227983188343642580347815422405959028775254552822606436328960746225935384255931752824213916286291374552522451228914494297574123304701605077235393483196508042404247976925989232696589506313105190596483983987085701145495804309308893780384908935636445594492785371189772915545587539457568150307360627335810340001923273712210401234852319661640844072791927093537115880543932906028453461613757455930041860647012414250971788970228927991748049095415448210827216606940910683374851687689150581177700231117591243035041070518176959409859482105847987121826831585415656654280746334583849503497810293233394492139878939822597120070843146804837952640149836039671355325553933944444497243143504531773831978581628515489493080744876487210144190451327807533705020350895747294711825208365317568074169707687923337524923441182384609930328406882351240854082361063393013484287259639681725988078650919551643371034926481401353540121835476816208253118655028894550530562441025559279601501352212934908027403047815025386604925314520956327601448044440665442862273226746118126822498886293907188596050063845444624702692553029437445542216586728799957827345491721063155290547766322004637921449860838676358974698924951534179436778730901691183738498283959973980839220367935568616633458801391640249513450095318410318131516200622560609448691652799334561510266069125104620387911431223259179362197526857698901630159828685363690860153700497298371527593418626304801412277018337117555208473106045046883379263822709421655010456837958365465887791317286163336825709472892233562728475677065339762195147891252576486112374498373728100796461884660308122557190608197488173196005389116321141287179439442864475145503673577595498567935575627482084061409882578811380535010035394176241335999759450964934090833388855426640091430169094921217058389883509348585361130736417182325724455274416298730772345190673327261473183567059973421550301147713468675199609266322380806280144761575962434272052664773248848197688209252177713713019144388342535608545509174225155292222763042188647950880074561543760198064987385879909151477741386666556569047197066940814672555739835537684255901985539814484642945701040615505710395254645568803850434353493221429120169162652528018028300775288354621254624285075060440490295753817142584041205873893670340734493927540169953234786833809565161257848672743376956307857007 320918701164582133058252909434922953694083297849563813038081875736533432979016263245000190966624829429315544650458682546874935454519901342858665928573061050851656208985912883833689135762316322223936945572589992671905048332560043488436223256471926837017327863257603252523622473053139920272821538826454896655925349611621881407076033453366180918408187023590701701358349985107681772678938091512336398372141765590250147887517870600327826542444861947278658631158792498712792222912498780385111392577588851893015533588035418481104090911684847137098974834064535220253807498047296466084528997394892572656390996547848488798122866101915976134553297608211709766354351263189200114175948183239088752422501047616288687212718892302206287709147930674445806956841209951746277773404477171375906619362921346400722057845900359978699745681554828934595603159494852535921601555237144737464759568940617234173392504513541601789047135214592051878493851022744895732971428721234213407336142782871965514527870384498637801478848759036395740680568289436595071616904678305782896172947048022344157572044923096512849188568545958722077506068280612850092534303592985018475110254034705384925211311278846654489617791673193303280540227361974506857923443162380897661601488582439479021055792643856221829673133402412592506944972895960818035258086097857934665738553414723588352120368584690404293070104358586881276535126423795079721570314400099583569050251034654586608943310490677806782639558825410458149968149435686536954164861869188997680509218879279033303527535205573907326674804623119951009343639934092063848513361406914276647246443899881834622934377342866912821360892856743166825298541341858891160663406439536458016075283737487114822982518396649837826141382492739453694343491629105431421962371553968516614630382114752385274958990527691557050913064678070556830429837737210575650511795067864866075944268451677820734312139593037722447263785713476551248873244563254640790168690005248360707194973947511667893584106113717768087733178003980924536729823350148665397222020567336379140956002936135265729777989428390529332871487173029501261793374003845191071243203255168049767859923942634894377861573787549432571153069146650452752251195519722616991037920617489123747566401401978077852384070376348419441402310307060682532889164035999161211033362457004599187739724849261756836289413925765651818348058721188412943047594014242971964967939985175009602508459540504523493480468871878678375702165061363977910899840790159904756103959400252667943090759879364141870467993182132621030345314733391326123539928595994225469361969006934743162728696157286164031012833890581419056797739686471958256659976768936940122515359758574172826323481078143841435349027287229733586937192895467025300558088395900501115485018689156115034913070442698652530418108892892638649504298767562255329848387510982460123415058035572493262944189005947175875191282947105952370451318173320737820843677819769445465631990925975207164450477592101423049947111648577865200923001412675495463311542651432871941926316958303261251831007555422187511064604136966560802387612573981983210435414659337862676607403974333050389753758616096159285173310728599272515182689294796030819312715386270151099174139316377717624363063710463884533463424514079335523189446708509257722129576587072046083546161738598103373299221876688931073550363131926034032473802038191830809260551937729144916931249478155656512212535999679383889804494030585529499919714357971120978416638324730091863009019858305458334275559327541358633789367360013227405815646164876707171246952224840582887977499615069942029560977416726242479427755798298800700202418845502926063060420222629440072030363208522403063009927206195606010193086205207988516151838726915322397859809013533883963766310733814427131860273658871243635677575635758149011692679528976241898291263927738674126706972533475234299779475802639311041785819400408992160861055220193941552304916583787416193978754260905208166285969783204325589702024380266176204778876505683331806712597594039434866413613995937278159016695275405744210636 519257366109764353801619074178819635275055149631890726160912605990717634701550511164447484530515698695221325199434569259100926594763413162969573529108047883504290800400885508030205122011440246245408076864417850452443419388057744345819941790424148424742324991917716728053318406750869313558435948625605108192909026857815505368877966830959944362423993872600385813349437328548961067048224933260343475891416245910654756293074765671669258538330449824533508850797962505993019335069061132982183184325074113679083380858625441898696089293330646185536941095946807576521333128456252014886586229503603634022841021274482398773654701879901154703017466320040450577551613320346432788668796956465021670990444663176934139718519083717168470054870129874211364227721701638030986580415547465482987017013648652373059343060683154202981006374776794886299244556892279982810560584090217613083171071455654876053154610530605061620938901882129851435649214516635747054806422988281566819499553303013505593766977094898985842316399221068201075654108523384426945505568312601592806236862908905957207119756421121314645574784215566671522376483265194105266921137991595567832028365730058280419809637866581286723268379208867833686714016878738414868340772549154399451636595720812904425480934742295371798083243924372696386116760060792190597765217753014278524368201212407969485902961073840299195342253283218926890859542141557820443615032185226675589362770715438441989470015690061178259416212569732982423030734299636102092552382979949186638022800573911062217244126336884001592370501591459042864027531574317657367460637562880136583294643338811942780371819654097784539000850130767526563954740171682493207353820344161349744019214260157178353060745058004327029369365681083096274691307051511390450737626106791123050959342860978320659214922280515770967199356052623079281658752231508149773816496672942101469427464959720224982289065582270419036770098818667147732857231648955786285972999314142141092103909583957262386369477303490683633320717461549074844090450685959005399145294279546780375808322597776109802569916521927645213415420079057954723407131459775232931890215669419021556830152870626642426956989235760259787760010057333827603938884670303794691269038208732158788636919578937487711866176224335541268233895722717336813635498619848664708843655690399091327618664671858876907132560730603604458497894760859768268601527958687469208111444516948841581090088055994016574225345359088822566153492868897682931250736537454616581312324717820742112798447802701666793909175566742551358752197084632180205900991989007709756621608688660731241379615708929535065939315291934959178633216502680211375315005663487470684956385317853774327675694013051868838396842312616338512251713851794626748602529061343363388711764807282937533799364349887248580481954337517341342057328205007797546435116310940287468906779098727783810710511010585097325052121623464927069376269707500174599574579510953183963915950899956046384818413160718056508748503288827378651018319822993626979512165212042320633579116292864771517900132660042575422495827396145922999914470272883613370264100023028722830307901272704577983172384920897571562191647846154480988288734341679410083135424807925161556012097681843605415680349873800710242936316747642063998866512048271452870020829163558158458044535466698899835183882184811488264158560620099230037862918359333117988699994802204290420604827073654224447788163481763445299687072841966064509955108534212456978176089289664182696397875284945549764444654248758417023672876708598588536552063347202431626521368523571355233168172942331415213128037390147792780575469266974000309468741226309206207821996185063712124695136457370600751219179383909319029337474547743597061661012952070614620622851202181834843840872277574625196847659538780395113418962302314718058889746469790914454031099465422930028692512347959877245480516418145021437040464969212842595214548441623061721467569111805444494754042615526462790571044843644815885455841522850217410652770176024066300640137763992669653247423561098536007689438652362052067643 840176067274346486859871983613742588969138447481454539198994481727251067680566774409447675497140528124536869849893251805975862049283314505828239457681108934355947009386798391863894257773756568469345022437007843124348467720617787834256165046896075261759652855175319980576940879804009233831257487452060004848834376469437386775954000284326125280832180896191087514707787313656642839727163024772679874263558011500904904180592636271997085080775311771812167481956755004705811557981559913367294576902662965572098914446660860379800180205015493322635915930011342796775140626503548480971115226898496206679232017822330887571777567981817130837570763928252160343905964583535632902844745139704110423412945710793222826931237976019374757764018060548657171184562911589777264353820024636858893636376569998773781400906583514181680752056331623820894847716387132518732162139327362350547930640396272110226547115044146663409986037096721903314143065539380642787777851709515780226835696085885471108294847479397623643795247980104596816334676812821022017122472990907375702409809956928301364691801344217827494763352761525393599882551545806955359455441584580586307138619764763665345020949145427941212886170882061136967254244240712921726264215711535297113238084303252383446536727386151593627756377326785288893061732956753008633023303850872213190106754627131557838023329658530703488412357641805808167394668565352900165185346585326259158413021750093028598413326180738985042055771395143440572998883735322639046717244849138184318532019453190095520771661542457908919045306214578993873371171508409721215973998969794413230541087238693777403306196996964697360361742987510693389253281513541384368017226783697807760094497997644293176043263454654164855510748173822549969034798680616821872699997660759639665589724975730705934173912808207328018112420730693636112088589968718725424328291740806967545371733411398045716601205175308141484033884532143698981730476212210427076141689319390501799298883531468930279953583417208451721053895465529999380820274036107670796367314846883159516764325533911375532347905950318174546286907252087455985200505463620424003133418924587071324690076813261536804818563023309692358913079203984280356190080190026411682306958826221282536203320980915565564250246600683960709636206029778019346524662655847825919877018147403690515358389521120633743421974656369256276845953482048181211649121972930441173079384502123851183598547596498540067705814230967500941855657930261660842150577327614521337416284118073410055889207682065808664377168748875172389097511818023506329440920585001935225983577695595474404108311866215699096952149182516378235430956189152169631974982432424410807471745076427947153999175091195710273745869599846072099188906747261652049160617457243864504196783496439052568712434792585901110900063230409979991561626972570052876283503821922747592321837134300277073654700016532273200243404570570879439827587880820912420418257330722629429547941825931253549268890752819479558695614937405243851941321235669122442823707863475192575505433251168032769731140215464762933560431533112483802302082846865596580699514682366585506915305247037628372926143536993730847364958574753753503471423636475440902448140194195312655186236998221323040043413584264594776399741261721399522055958756780710592150405750630204541590697205297003208483104061500419337708923752025264070336720397524948797960546739933435337536076551809880960000699481442829189491566872551594009874822892183577956592727614394274559406895143251008098720213576299775657462244068611815942367709512079138797768320748411938121145672557401357242689014806874035260003225065272801009671160071812132270882416407693152196725499665893003814229106590104925039530560752951585577812851678985937018482660215715718807607183011389052328707933197651638749096537938072867070582425998767156352322363393161604155399484881435111545259992220784332478826284369621834756075603661817003273772485695592860688732796876431670956857014626849141475157865903116393615431646681707398107352735358032104519661037557035814166706133927767796278279 1359433433384110840661491057792562224244193597113345265359907087717968702382117285573895160027656226819758195049327821065076788644046727668797812986789156817860237809787683899894099379785196814714753099301425693576791887108675532180076106837320223686501977847093036708630259286554878547389693436077665113041743403327252892144831967115286069643256174768791473328057224642205603906775387958033023350154974257411559660473667401943666343619105761596345676332754717510698830893050621046349477761227737079251182295305286302278496269498346139508172857025958150373296473754959800495857701456402099840702073039096813286345432269861718285540588230248292610921457577903882065691513542096169132094403390373970156966649757059736543227818888190422868535412284613227808250934235572102341880653390218651146840743967266668384661758431108418707194092273279412501542722723417579963631101711851926986279701725574751725030924938978851754749792280056016389842584274697797347046335249388898976702061824574296609486111647201172797891988785336205448962628041303508968508646672865834258571811557765339142140338136977092065122259034811001060626376579576176154139166985494821945764830587012009227936154550090928970653968261119451336594604988260689696564874680024065287872017662128446965425839621251157985279178493017545199230788521603886491714474955839539527323926290732371002683754610925024735058254210706910720608800378770552934747775792465531470587883341870800163301471983964876422996029618034958741139269627829087370956554820027101157738015787879341910511415807806038036737398703082727378583434636532674549813835730577505720183678016651062481899362593118278219953208021685223877575371047127859157504113712257801471529104008512658491884880113854905646243726105732128212323437623767550762716549067836709026593388835088723098985311776783316715393747342200226875198144788413749069014799198371118270698890270757578560520803983350810846714587707861166213362114688633532642891402793115426192666323060720699135354374612927079074224910724722066676195512609126429939892572648131687485334917822472245819759702327331145410708607636923395656935023634594006092881520229683888179231775552259069952146673089261318107960128964860330206373575997034953441324840240559853053276116422825019501977870101752495356160160161275696490628720673837802781842977054192979510650554535386972860735343848242907949480250649931617910381190829019072692764688635652492556641931159590056323508009150799159343773401313865069137918728608835894152168687655484767475458286344315617723747849708902655686535341912574009644982605186384256205645487927575145234162891464474451337414064172691832381007289988095911881492428130394281721481674869104247579112142711912462410611440620599056278797763146518587227892908548303721990102511799142473149691382017567927321333618955177577850422718620132863035061228616233028060884365211027117370525295526194035806509203857588321087019992836841675813393463892725887299934087303913537536067444118226232622502959641058662749422335873075517513209084549544032804287631272875507338356056258929258406802216553119749209950963614705395308337223206519742206356098528457891302409556606420908234491760157978154850985583565002120474211198334680064928455723763458065305019336058009363463520922470805052163462171234914188362999635232671995903043666986246311907601867484372124494108199638756858066786660541542137725758140903625464105407788862963206274489178639714517658519829931426396034934768816904058457255804770428196557863164867825058192681135120777210404478919772859281570424289689271983293354313845499732772455817052197021828040578694332246801319139901298121338478704412592756864321420636123263604565448285974014244068868035300695182639473864631056551639105511417897553651448055288963677525555592736432033862515500240387585129472172468558070806353462858584534184091997229394988790740508638929353915866749338834677351290152103440064995240054807398305183486839491958133747428059470493957360613707425966611026084416857731464407992873122024774172908461118134350174395572580129848345922 2199609500658457327521363041406304813213332044594799804558901569445219770062684059983342835524796754944295064899221072871052650693330042174626052444470265752216184819174482291757993637558953383184098121738433536701140354829293320014332271884216298948261630702268356689207200166358887781220950923529725117890577779796690278920785967399612194924088355664982560842765011955862246746502550982805703224418532268912464564654260038215663428699881073368157843814711472515404642451032180959716772338130400044823281209751947162658296449703361632830808772955969493170071614381463348976828816683300596047381305056919144173917209837843535416378158994176544771265363542487417698594358287235873242517816336084763379793580995035755917985582906250971525706596847524817585515288055596739200774289766788649920622144873850182566342510487440042528088939989666545020274884862744942314179032352248199096506248840618898388440910976075573658063935345595397032630362126407313127273170945474784447810356672053694233129906895181277394708323462149026470979750514294416344211056482822762559936503359109556969635101489738617458722141586356808015985832021160756740446305605259585611109851536157437169149040720972990107621222505360164258320869203972224993678112764327317671318554389514598559053595998577943274172240225974298207863811825454758704904581710466671085161949620390901706172166968566830543225648879272263620773985725355879193906188814215624499186296668051539148343527755360019863569028501770281380185986872678225555275086839480291253258787449421799819430461114020617030610769874591137099799408635502468963044376817816199497586984213648027179259724336105788913342461303198765261943388273911556965264208210255445764705147271967312656740390862028728196212760904412745034196137621428310402382138792812439732527562747896930427003424197514010351505835932168945600622473080154556036560170931782516316415491475932886702004837867882954545696318184073376640438256377952923144690701676646895122946276644137907587075428508392609073605730998758174346991879923973313099409336973665598860867265728422563994305989234583232866693808142387016080938157053518593164206210306497149716036594115282379644505586168465302388316319045050356618055882955861174723861043561540768618840366669425703462687506307782273375506684823931544316548597691985206472358335443714100144393976510043342117012189801724956130691899771904548351554270213521196543948287183248991096709636973821023824449864808729421004615551891192683659256144892953967562224576863166833284122663513064492896136947220720679192864782833159011580208588764079851680049596239441360933259843613656967715649495128880984550639264970528336292299899875470709668635674044195443289385888581512308482710629527346317930846923763975831092397105331800161042671224233935059050802282080798337301325180582150147903299002123954785782653550453367328337958019911043649643725538930764606685949031445469141999440411094172398442823011834551818553483356194666357015626139733163637866354900962294331871865159580938992705784589982795200837057362413090972101289616690462370890604518635966614806531663129387761893844138511766779834729024671994885033256921564995661987995231581614630291888031705196315786866384571678286251495767177042329899795735799271084863042978429561832874054321640664818567541225929877292906252150090307812326939576408124149758178536359154383015584621088282071161095676980177273986367789562444649103678670206587069252529704754318579612891361544518452731815211665571447565961885081401357968338597364845822220421287482371360709222058010020395231475459518057134129698506067003895863300581919397519602328811061369933470749586829000450016518146135789156608379677392564119169108398596053646768217286716310042488657588171633613272459055238300352729854263525934083672611612038178460452200054598467325227158675826251746138339491482110830100336000500859713686394693033708456512107365755765257068269012540502991165872219636368389804704285074097343098835771573329083004641516063539438862515345608480056878692569498675170164341101706507897644624201 3559042934042568168182854099198867037457525641708145069918808657163188472444801345557237995552452981764053259948548893936129439337376769843423865431259422570076422628962166191652093017344150197898851221039859230277932241937968852194408378721536522634763608549361393397837459452913766328610644359607390230932321183123943171065617934514898264567344530433774034170822236598067850653277938940838726574573506526324024225127927440159329772318986834964503520147466190026103473344082802006066250099358137124074463505057233464936792719201707772338981629981927643543368088136423149472686518139702695888083378096015957460262642107705253701918747224424837382186821120391299764285871829332042374612219726458733536760230752095492461213401794441394394242009132138045393766222291168841542654943157007301067462888841116850951004268918548461235283032262945957521817607586162522277810134064100126082785950566193650113471835915054425412813727625651413422472946401105110474319506194863683424512418496627990842616018542382450192600312247485231919942378555597925312719703155688596818508314916874896111775439626715709523844400621167809076612208600736932894585472590754407556874682123169446397085195271063919078275190766479615594915474192232914690242987444351382959190572051643045524479435619829101259451418718991843407094600347058645196619056666306210612485875911123272708855921579491855278283903089979174341382786104126432128653964606681155969774180009922339311644999739324896286565058119805240121325256500507312926231641659507392410996803237301141729941876921826655067348168577673864478382843272035143512858212548393705217770662230299089661159086929224067133295669324883989139518759321039416122768321922513247236234251280479971148625270975883633842456487010144873246519575245195861165098687860649148759120951582985653525988735974297327066899583274369172475820617868568305105574970130153634587114381746690465262525641851233765392410905891934542853800371066586455787582104469762321315612599704858606722429803121319688147830641723480241023187392533099743039301909621797286346202183550894809814065691561914378277402415779310411737873180688112599257087730536181037895268369667541449596652259257726620496276448009910686824429458952896128165185883802100621672116483092250722964665376409534768731666844985207240807177318365823009254201312497907079655044531045430314977747533649967864080172150421836166261935461042540269236712975818901483653351568133411080147957873959528580348388953205057752797174873501789861714393264518651600759580949857380110619884796929623334879400124745733021225191193950464107885695084167016506167422735078131419053063559301572816931646554958624248173792328005864991390117348913299690868498031293424770893322070147945374209644686910494418320290013880103883032773736033077532200493664098366264622658799537327725753721720744087648817714779069600356398842385122070767014250834456958642492458235303057463086460403931014074256216475727277705853417443498579894551693583851389870488857860603352994621287495454014510218993674532339233641344993685966479439645672949391629297406735189086364016482626744093157202181361718286522041085123200452776335666478171416570222486991739592785142873615270198436261077582906358351179951490940500395204815071857280448326563900900366885037516492875579006930540861162549288809295817076554124234541443892496274252286735997911241082371281629824208886853817883802738091775578425407855378167848846301586911049534685744975647826130361422511189071016435999644123825049949226416161019732485623032624900207255230642279646347699292378524829773363556866902154323119200917691341160613729766403647950962668054809228291241593206880839566771912420212945125678538133413177266631354341950856760580941099040296693683051510826110503293589316407379819118670515706474127538418848037329526770935883297965029289110330672523583479340225089126741009498643040310559783047291189458655907868697133264252595310389471055706475860347938451713133567837056196385280755049615667600480397170326923338481602081652865477959793304514515497279088027492970123 5758652434701025495704217140605171850670857686302944874477710226608408242507485405540580831077249736708348324847769966807182090030706812018049917875729688322292607448136648483410086654903103581082949342778292766979072596767262172208740650605752821583025239251629750087044659619272654109831595283137115348822898962920633449986403901914510459491432886098756595013587248553930097399780489923644429798992038795236488789782187478374993201018867908332661363962177662541508115795114982965783022437488537168897744714809180627595089168905069405169790402937897136713439702517886498449515334823003291935464683152935101634179851945548789118296906218601382153452184662878717462880230116567915617130036062543496916553811747131248379198984700692365919948605979662862979281510346765580743429232923795950988085033714967033517346779405988503763371972252612502542092492448907464591989166416348325179292199406812548501912746891129999070877662971246810455103308527512423601592677140338467872322775168681685075745925437563727587308635709634258390922129069892341656930759638511359378444818275984453081410541116454326982566542207524617092598040621897689635031778196013993167984533659326883566234235992036909185896413271839779853236343396205139683921100208678700630509126441157644083533031618407044533623658944966141614958412172513403901523638376772881697647825531514174415028088548058685821509551969251437962156771829482311322560153420896780468960476677973878459988527494684916150134086621575521501511243373185538481506728498987683664255590686722941549372338035847272097958938452265001578182251907537612475902589366209904715357646443947116840418811265329856046638130628082754401462147594950973088032530132768693000939398552447283805365661837912362038669247914557618280715712866624171567480826653461588491648514330882583952992160171811337418405419206538118076443090948722861142135141061936150903529873222623351964530479719116719938107224076007919494238627444539378932272806146409216438558876348996514309505231629712297221436372722238415370179272457073056138711246595462885207069449279317373808371680796497611144096223921697427818811337741631192421293940842678187611304963782823829241157845426191922884592767054961043442485341908757302889046927363641390290956849761676426427352882717317042107173529809138785123725916057808215726559647941621179799438507555473657094759723451692820210864050193740714613489731256061465780661263002150474750061205107232103972407738768258001353004505096250436456431018394743829276617841381818434043703613370444603516021744150344014072264907578892032805399782714543959565744680406457867100682578691788386768713054430453801482285819929152584466092227881335701058753022957495134157883919874937079376032699675291692140491610674470249412687119211904044075444960267012591251295946179164601923983980119477873657020722868042434600368329522967684736800405033114416657976373387723249178407266748526605085900815025186472699039487561829524406900799693246251567319723584553508355212761565647326493152655034953502924778264515134434478402356099057451540935289639854000188011253825052978823014289873480919096025500230053301875814147872447661368923399736412232210482223321207415434761646975394752047943967478036637431447258117542725104610807656551533189606879329928717911570814516243825498082087092426581715547967166861936561481020300620424010465272357065624097955902718106280047949494863980012078143367987852504481846519052888656163579239440063555260717491905940963920886228101571091689786935030627774129358329850468854845321494737602002988868405709312773756305232881614001031852829186204813554641742533127286005976762024037988279977878070593656897357712907701576821324803071102252582285665227407988719074047297251141528954281854685124098569558531889669137234082644604599379085739576597308489529581369403208525123705115362076810863074961451055189462741510358356726705252816755747701566021663633954201533265135813380636927926112228737743155998207665180155032156854084132620309116543936609189438684090082138531558047458468474678856598985595925137594324 9317695368743593663887071239804038888128383328011089944396518883771596714952286751097818826629702718472401584796318860743311529368083581861473783306989110892369030077098814675062179672247253778981800563818151997257004838705231024403149029327289344217788847800991143484882119072186420438442239642744505579755220146044576621052021836429408724058777416532530629184409485151997948053058428864483156373565545321560513014910114918534322973337854743297164884109643852567611589139197784971849272536846674292972208219866414092531881888106777177508772032919824780256807790654309647922201852962705987823548061248951059094442494053254042820215653443026219535639005783270017227166101945899957991742255789002230453314042499226740840412386495133760314190615111800908373047732637934422286084176080803252055547922556083884468351048324536964998655004515558460063910100035069986869799300480448451262078149973006198615384582806184424483691390596898223877576254928617534075912183335202151296835193665309675918361943979946177779908947957119490310864507625490266969650462794199956196953133192859349193185980743170036506410942828692426169210249222634622529617250786768400724859215782496329963319431263100828264171604038319395448151817588438054374164087653030083589699698492800689608012467238236145793075077663957985022053012519572049098142695043079092310133701442637447123884010127550541099793455059230612303539557933608743451214118027577936438734656687896217771633527234009812436699144741380761622836499873692851407738370158495076075252393924024083279314214957673927165307107029938866056565095179572755988760801914603609933128308674246206501577898194553923179933799952966743540980906915990389210800852055281940237173649832927254953990932813795995881125734924702491527235288111820032732579514514110737250769465913868237478980896146108664485305002480907290552263708817291166247710111192089785490644254969313817227056121570350485330518129967942462348038998511125834719854910616171537754171476053855121031935034751031985369267014445718656393366664990172799178013156217260171553271632830212183622437372358411989421498639701007839556684518429743791678381671378859225506573333450365278837810104683918543380869215064871730266914800861653431054232811165742011963073332853927149392018259126851810838840374794346025930903234423631224980760960439528259454483038600903972072507257101660684291036200615576880875425192298601735017374238821051958403412773240643184120365612727786581701393458301308189253605891896533690991011105900470034803284563227824714135906541079967348951665032324625054030590976665008067451439764573474373268105313769919805821776613732026618413932374887776832639884555887200692448870371870794825026381951168361850269354769823237066350136297584964667732977133092007927108218696300090123451789610277530866546642779656805599410742443612130083418083108592568041135642790155185183672227207844681891670865502051584068172361218956200546955255963289107230260318243191826146119013307435943378844070622169000321114440150488968013143771939047473668119747349785023930980580962589245629485417989014139342839496916617574076298206861948339823916899271072900437704589877907828802432969215060800200577635262245593188309021550384394988611398749058043120309425879513831981516170780230295602949087307391822832428622948254975870524843784243416060796022464193116698262752008354976865180327184347930488934803312747782750169918946413260359860014367899190243074628774125808530908543622267363475109957244537570735813611984979854190290378062336091887470221701992832645268514753408605152281135006245170867934007152305405731245982903146857052409624712986706043089206169312186863778197279679613997034269928749640385995462931858762330669930807878192240569250975537736634924680061825478985544613901763275115085559867115016156526859108140339091823088734404472407483386658440791280278589482519856999767015812599803038891024677571502651334797517731123770107983632588089085681607711341233017211228542134839182235976717024333779516362022571684220184423525418261779193372096264683952630564447 15076347803444619159591288380409210738799241014314034818874229110380004957459772156638399657706952455180749909644088827550493619398790393879523701182718799214661637525235463158472266327150357360064749906596444764236077435472493196611889679933042165800814087052620893571926778691459074548273834925881620928578119108965210071038425738343919183550210302631287224197996733705928045452838918788127586172557584116797001804692302396909316174356722651629826248071821515109119704934312767937632294974335211461869952934675594720126971057011846582678562435857721916970247493172196146371717187785709279759012744401886160728622345998802831938512559661627601689091190446148734690046332062467873608872291851545727369867854246357989219611371195826126234139221091463771352329242984700003029513409004599203043632956271050917985697827730525468762026976768170962606002592483977451461788466896796776441370349379818747117297329697314423554569053568145034332679563456129957677504860475540619169157968833991360994107869417509905367217583666753748701786636695382608626581222432711315575397951468843802274596521859624363488977485036217043261808289844532312164649028982782393892843749441823213529553667255137737450068017310159175301388160984643194058085187861708784220208824933958333691545498856643190326698736608924126637011424692085452999666333419851974007781526974151621538912098675609226921303007028482050265696329763091054773774271448474716907695133365870096231622054728694728586833231362956283124347743246878389889245098657482759739507984610747024828686552993521199263266045482203867634747347087110368464663391280813514648485955118193323341996709459883779226571930581049497942443054510941362298833382188050633238113048385374538759356594651708357919794982839260109807951000978444204300060341167572325742417980244750821431973056317920001903710421687445408628706799766014027389845252254025936394174128191937169191586601289467205268625354043950381842277625955665213652127716762580754192730352402851635341440266380744282590703387167957071763545937447245855316724402812723056760341082109529557430809053154909600565594863622705267375495856171374984099675612221537413117878297233189108078967950110110466265461982119832773709400142770410733943279738529383402254030182615603575819371141844168852946013904603484811054629150481439440707320608381149439253921546156377629167266980553353504501900250809317595488914923554663200798035501823202433153473978347875288092773351496044583054397963397558625710036910291277520267628947282288468846988176598269317651928285230311363023929939903517086835990759379552027017184444979932240368787892461708192590489668162480419896218194816929417105976783768536393507623394828289959184265871043298929645387469498528758490627908259434917145664252303911971183663656567102714703085556456695468470626759776283473067763166480172518018451438115535725872443195188299600330203581232405140849272768800110673258262033981387019654295450850936754667219042885072397686333031020496887199283383734647647607592805523921516068550203562608102598149705884081382521516252229099629673429242839192321662511206491054995394232362178393125792713418945348099073513277644241034643451438382007616012396909220987940356965517862431626042846007175585845414036687170383514705777659560224320860658121908066657926705035347402452240391751410277997357503484493737122273217280712042489278283087066036768982752807611762762248062314401112864341860886952078899238208013565872086169261114173304439030843472639141827503398920010481964419736392186560742315543196730434648257383159117917926037440239126784868965859981491610544800624645679984338415601475010744031369184047382780520675554992587315573855594731820742638577748597086170319389004855175443382098205257392421759023249620357368654681847984407879714464645606691613465016388689509742300348212439519834484294249733402242335468052224030215356493721065416558786592590699235136605536330782866937150744911558700317823424763709548898197366260698988923314856285833568270388705800706661766358715981572876730253872228695250279877768158771 24394043172188212823478359620213249626927624342325124763270747994151601672412058907736218484336655173653151494440407688293805148766873975740997484489707910107030667602334277833534445999397611139046550470414596761493082274177724221015038709260331510018602934853612037056808897763645494986716074568626126508333339255009786692090447574773327907608987719163817853382406218857925993505897347652610742546123129438357514819602417315443639147694577394926991132181465367676731294073510552909481567511181885754842161154542008812658852945118623760187334468777546697227055283826505794293919040748415267582560805650837219823064840052056874758728213104653821224730196229418751917212434008367831600614547640547957823181896745584730060023757690959886548329836203264679725376975622634425315597585085402455099180878827134802454048876055062433760681981283729422669912692519047438331587767377245227703448499352824945732681912503498848038260444165043258210255818384747491753417043810742770465993162499301036912469813397456083147126531623873239012651144320872875596231685226911271772351084661703151467782502602794399995388427864909469431018539067166934694266279769550794617702965224319543492873098518238565714239621348478570749539978573081248432249275514738867809908523426759023299557966094879336119773814272882111659064437211657502097809028462931066317915228416789068662796108803159768021096462087712662569235887696699798224988389476052653346429790053766314003255581962704541023532376104337044747184243120571241296983468815977835814760378534771108108000767951195126428573152512142733691312442266683124453424193195417124581614263792439529843574607654437702406505730534016241483423961426931751509634234243332573475286698218301793713347527465504353800920717763962601335186289090264237032639855681683062993187446158619058910953952464028666389015424168352699180970508583305193637555363446115721884818383161250986418642722859817690599143484011892844190316624466791048371982627378752291946901828456706756373375301131776267959970401613675728156912602437418654494737559029983228313612714939741741053246425513321589987093503323713106932180374601118775778057283600396638624451630683554386916778054794029009646331197184704503976314943632064164997512549695125414217103515469530725211389400971020663784854279397830836985532384905070665688081568820677698708404584757281601239774237655014188792936451424894476364340115853264935815409740644254391556886751588518472213138964223831164755791421698866814963642802187811211258640053182758503650272739826094031787834826310278711975594972228142140866581736044560094468624209553406613636893206231627998412266281894507038310150569704706249745861339655737085956493766699084784210647822211660779914742239321765824840764205844399584878641385395919898291882352867192838154875166734226335017269539433089072478505610092302601436534546708103767008085985343484784002430789077087032520138270851694741430623252937587566609551414140043984927537286076898543805346338456440266043354005903647968722032956012889529212322142610081770717897055669105313502097214818345259158847231853331664502008123108629071692439224126732949709612690018248536778103155552069837076420653442807816590032171466581128665987068246826614654244756233628965723462566684215496221948439790519923809745429299889490355327983602378322765235535653694058153525948686853820535969289067019354458610271413967257917556120359545512417981260814373224201875254851269142312836787691680617077804736440667914140800717176712563317010904990336154710114454522652629785764898723267293525897912526523078318575245371955736899867133797016276046607548826841390825226187997450074458390216694967384453752272266929570889864660570383024573211528944932650058935663053635622667456232930158393947929682182847640226461886171154829550205473806629621543247797650081392171301173924306891777636391843033615746641706550072356260736878016361825483615376806639256871128300598060920852895191288406909106371420890131214577489241123762497092262550592604168222162729233450578900405098294992033065600791514963830398723218 39470390975632831983069648000622460365726865356639159582144977104531606629871831064374618142043607628833901404084496515844298768165664369620521185672426709321692305127569740992006712326547968499111300377011041525729159709650217417626928389193373675819417021906232930628735676455104569534989909494507747436911458363974996763128873313117247091159198021795105077580402952563854038958736266440738328718680713555154516624294719712352955322051300046556817380253286882785850999007823320847113862485517097216712114089217603532785824002130470342865896904635268614197302776998701940665636228534124547341573550052723380551687186050859706697240772766281422913821386675567486607258766070835705209486839492093685193049750991942719279635128886786012782469057294728451077706218607334428345110994090001658142813835098185720439746703785587902522708958051900385275915285003024889793376234274042004144818848732643692849979242200813271592829497733188292542935381840877449430921904286283389635151131333292397906577682814965988514344115290626987714437781016255484222812907659622587347749036130546953742379024462418763484365912901126512692826828911699246858915308752333188510546714666142757022426765773376303164307638658637746050928139557724442490334463376447652030117348360717356991103464951522526446472550881806238296075861903742955097475361882783040325696755390940690201708207478768994942399469116194712834932217459790852998762660924527370254124923419636410234877636691399269610365607467293327871531986367449631186228567473460595554268363145518132936687320944716325691839197994346601326059789353793492918087584476230639230100218910632853185571317114321481633077661115065739425867015937873113808467616431383206713399746603676332472704122117212711720715700603222711143137290068708441332700196849255388735605426403369880342927008781948668292725845855798107809677308349319221027400615700141658278992511353188155610229324149284895867768838055843226032594250422456262024110344141333046139632180859558391714815567512520550550673788781632799920458539884664509811461961842706285073953797049271298484055478668231190552688366946418374307676230772493759877732895821934051742329927916743494995746004904139475911793179304537277685715086402474898940792288224508816471133698085134301030760542815189516730868184001315648040161535386510106395402177201827137962326130913659230407041218208367693294836702234212071853255039407928136613445242467456824710360729936393760305912315719875747810189385096425440673679712479088731526269000465046972497260916424363349439763111540590074999524912131659227702572495424112121485808654533338854005681098693336191002755950056987458206368764521635666851838123424273479464117161527374743394913693254959709560129708820294583331392114103834502024305637699831869475546009434295552857960723190921803487896299209372545546268776572475119454985984823639492880529180531784384332634370309492173369411039651805414688885286918974586263846864990980739594756328961970941491679369476937153242637389638295616329625761536811045280872346172689873316046761553186696023613467047444888832276474692523986164519329599684067086671586305126075502326108963596635851616433196310871719872091824815432602429080687569069022952586109258240697090763409214811137499253854599010927726099350744244670403551207956148282033018949780775005627287063972055511029433180590942809186569779061843736893358480004026900308927971308274666043575215486088543736141803348041551044801257552703247065850613972353171644189815854390820409825000818119129850846709213372101308095453701941783281071644441004356015484498740605865727115288626820847232194506825729240827663008194105827574264077747905129307264854245144745459392391125663150960126031102969447940518229079004765661490322580152971179302540216294908309870579034544014851080498243086559636487159823692519513613444141376071886125245275951214693930580287712754457943432920612076206076041775862407459083464998071597806749988724732531135130439029411943749940112685811948548384160874556927963435895216937616386671171722286937829486765243708166881989 63864434147821044806548007620835709992654489698964284345415725098683208302283889972110836626380262802487052898524904204138103916932538345361518670162134619428722972729904018825541158325945579638157850847425638287222241983827941638641967098453705185838019956759844967685544574218750064521705984063133873945244797618984783455219320887890574998768185740958922930962809171421780032464633614093349071264803842993512031443897137027796594469745877441483808512434752250462582293081333873756595429996698982971554275243759612345444676947249094103053231373412815311424358060825207734959555269282539814924134355703560600374752026102916581455968985870935244138551582904986238524471200079203536810101387132641643016231647737527449339658886577745899330798893497993130803083194229968853660708579175404113241994713925320522893795579840650336283390939335629807945827977522072328124964001651287231848267348085468638582661154704312119631089941898231550753191200225624941184338948097026160101144293832593434819047496212422071661470646914500226727088925337128359819044592886533859120100120792250105210161527065213163479754340766035982123845367978866181553181588521883983128249679890462300515299864291614868878547260007116316800468118130805690922583738891186519840025871787476380290661431046401862566246365154688349955140299115400457195284390345714106643611983807729758864504316281928762963495931203907375404168105156490651223751050400580023600554713473402724238133218654103810633897983571630372618716229488020872483212036289438431369028741680289241044688088895911452120412350506489335017372231620476617371511777671647763811714482703072383029145924768759184039583391649081980909290977364804865318101850674715780188686444821978126186051649582717065521636418367185312478323579158972678365340052530938451728792872561988939253880961245977334681741270024150806990647816932624414664955979146257380163810894514439142028872047009102586466912322067736070222910874889247310396092971520085338086534009316265148088190868644296818510644190395308528077371142322083164306199520872689513387566511989013039537301904181552780539781870270131481239856605373612535655790179422330690366781558600297881912524059698168485558124376489241781662030030034539063938304837919634230688237213554665026242149943786210180515722463399146485025693920291580772083483746022504836670730715670940831646815455863381882087773153659106548217595155261193072428854983111711216267247481524912232519051279943706912565980806795292255637322514666899942784909053647805476147533656250457381227597937850868786975119884359801368569154231468672215954432864086745467642574304924964189415022231951494496516519334226341916597699463080010565420610928226459527605561515466620489474871948142060408172156319948234086902947023095751767767428362301488391012835889925148138505165838642461618024774386664777720891520531531743259888615165875269168335065159386579205889549310503500156119508539856562152873398279131024724522293615038869485297025707933377419285991395541943585051658717549700574493194488782771644033943817222292009525710681865790147991123706545855650666527452708313138779110810431859025211938798981845172629719588748380708796292745267623249192461252154150197688939654356084855351335519642843776860961820538814507149674539141264168480148980507845638637361002552159097770862822717666113664555381867444763345155858846081198195503629893971284817865048330853787084024836029859312745611396654617183863881588949233320324870587054640267312444906992566954137420729991154273839965301231866001887072994176969235309178984170964082674590729870696342765594249085643096893839743333667120066053851005644180285964480772715289583059537121174715635324052961508687724171654976035619506876181282714627433117723252738546919108984723063935134771756750189373565056554304872708102884284809905084690814787368448267849522517088309566961335637130360069015194821449282437559821452848415119278587384063058992450701941277131641637506551329160626521239181236448309040810934753478725150126165128667516516791769466714320003430278280207538565605207 103334825123453876789617655621458170358381355055603443927560702203214814932155721036485454768423870431320954302609400719982402685098202714982039855834561328750415277857473759817547870652493548137269151224436679812951401693478159056268895487647078861657436978666077898314280250673854634056695893557641621382156255982959780218348194201007822089927383762754028008543212123985634071423369880534087399983484556548666548068191856740149549791797177488040625892688039133248433292089157194603709292482216080188266389332977215878230500949379564445919128278048083925621660837823909675625191497816664362265707905756283980926439212153776288153209758637216667052372969580553725131729966150039242019588226624735328209281398729470168619294015464531912113267950792721581880789412837303282005819573265405771384808549023506243333542283626238238806099897387530193221743262525097217918340235925329235993086196818112331432640396905125391223919439631419843296126582066502390615260852383309549736295425165885832725625179027388060175814762205127214441526706353383844041857500546156446467849156922797058952540551527631926964120253667162494816672196890565428412096897274217171638796394556605057537726630064991172042854898665754062851396257688530133412918202267634171870143220148193737281764895997924389012718916036494588251216161019143412292759752228497146969308739198670449066212523760697757905895400320102088239100322616281504222513711325107393854679636893039134473010855345503080244263591038923700490248215855470503669440603762899026923297104825807373981375409840627777812251548500835936343432020974270110289599362147878403041814701613705236214717241883080665672661052764147720335157993302677979126569467106098986902086191425654458658755771699929777242352118970408023621460869227681119698040249380193840464398298965358819596807970027926002974467115879948914800325125281943635692356594846399038442803405867627297639101371158387482334681160123579296255505125311703572420203315661418384226166190175823539803006436156817369061317979176941327997829682206747674117661482715395798461520309038284338021357382849783971092470237216549855547532836146106295533523075244264742109111486517041376908270064602307961469917555793779059347745116437013962879097126144143047159370911639799327272910486601399697246590647400462133065855455678090878478885923224331974633056846584600062053856674071749575382609855893318620070850194669121209042300225579168040977608211461305992824963595663582660376170191891717696311002227145988674311178054112852448644794572674820730667361049391458861974644796491460596271726726892784337440241518620084321648255403618300380417778182008481954722888098747977583449537586504284044884728089753834271000475208721580199035001656962354991503548434052068588927252660795583637242974371735783943870796613116069941993062137851834163571043163237252840346506516355382752769144346407053552667699529696071379258960350155305570808393826775536739137245144122005464117049944000840426788705077410314572528628785180239201381284479086511619774066834955461517349990578775478705549324148913235036823400181238379636831046782307997205865782396736985100714264907945441808481336021944691580516164837092438681794890332841719266711892240465343096048426283052058587998461074393413518077400638492008413150552531715801786919394021501939872776490109781638169175584815048035706154342428625143041932396988373975311718173976302162061750068411245345401289347538457965225414926390206786023571936437668612620484089096808421344957830554991972392969816147941079373988381089630671177092460055815405087030606214369436948631321364374269917741071937840492849306881514013838286113538744850463194712366801975419860380783445352634350875131781007138588954816699511793632198779213575318699890288287263280230043081627329223917579907634803115794662520771969728777210328400812589643921408642333585518176029567710647781769652764882203049636027528890190981686046467528057064048508691265856374168641681768190038464989121349134120989359318914353282078089601023884454133178440638436606941259765045451246732487196 167199259271274921596165663242293880351035844754567728272976427301898023234439611008596291394804133233808007201134304924120506602030741060343558525996695948179138250587377778643089028978439127775427002071862318100173643677306100694910862586100784047495456935425922865999824824892604698578401877620775495327401053601944563673567515088898397088695569503712950939506021295407414103888003494627436471248288399542178579512088993767946144261543054929524434405122791383711015585170491068360304722478915063159820664576736828223675177896628658548972359651460899237046018898649117410584746767099204177189842261459844581301191238256692869609178744508151911190924552485539963656201166229242778829689613757376971225513046466997617958952902042277811444066844290714712683872607067272135666528152440809884626803262948826766227337863466888575089490836723160001167571240047169546043304237576616467841353544903580970015301551609437510855009381529651394049317782292127331799599800480335709837439718998479267544672675239810131837285409119627441168615631690512203860902093432690305587949277715047164162702078592845090443874594433198476940517564869431609965278485796101154767046074447067358053026494356606040921402158672870379651864375819335824335501941158820691710169091935670117572426327044326251578965281191182938206356460134543869488044142574211253612920723006400207930716840042626520869391331524009463643268427772772155446264761725687417455234350366441858711144073999606890878161574610554073108964445343491376152652640052337458292325846506096615026063498736539229932663899007325271360804252594746727661111139819526166853529184316777619243863166651839849712244444413229701244448970667482844444671317780814767090772636247632584844807421282646842763988537337593336099784448386653798063380301911132292193191171527347758850688931273903337656208385904099721790972942214568050357312573992656418606614300382066439667973418167490068801593482191315366478416000200950882816296287181503722312700199492088687891197304801114187571962169572249856075200824528830838423861003588085311849086821027297377558659287031336751632252107486681336787389441519718831189313254666595432475893045117339258820794124300476447028041932283020841009775146471553026817401964063777277847608125194464353515060430387609877762313110799608618091549375969671650562369669246836811303787562255540893700672129935131457470383009552425168288445349930314281471155208690879257244855692986218225344014875607289572942150998687009951948324741812888617096087107760657924792328228925278111894958987242327648949764680851261964840880958361456553394674382706829789290829708543264569832800413959976451239407432974319500047237049584294610305339017980293798606036724188200688509873605104415399675704754000302675830199683891335405010402734037272334883632503041218080498227976494295781595817549902030561238027047887126012657759512282322721002764689082650585148509660658805726927902366632098892010643423253030188639343559039709912085730785343691991814620180722182786432943196636212194267261323738233161383934395997770715075034830779025184814523887784235287497574235016310344644893207168844125926203706927286981111055610693072289312457582360061930987351584995869464400831894821427951399761802694902364859422894932228025227075177633272581630701512223647425556755024054098970547352932499304282840140196915480469499498287471224240127900618267946596536039024633015848834093247275204714034958935112582409278807979156019343896807024723252887796534003800988299095251284983126666809781449172945375875454083807640412401639039986369169705196944240133291396915613459913014634911681174159969372935365019482466399503225623178484295426339096594576016107498314143038599303435983174208461692880794508259631896936828057246809397271986344165177853384079413291144964189107988502765405056779633861901143188181037911770931159421895085137365204841007850784847586331485487195848981738606100964633851591116056499210632542988015806148233097350664986228302585582430030170253667832007228215766152551970649970210105150926944690043325658785298092403 270534084394728798385783318863752050709417199810171172200537129505112838166595332045081746163228003665128961503743705644102909287128943775325598381831257276929553528444851538460636899630932675912696153296298997913125045370784259751179758073747862909152893914092000764314105075566459332635097771178417116709557309584904343891915709289906219178622953266466978948049233419393048175311373375161523871231772956090845127580280850508095694053340232417565060297810830516959448877259648262964014014961131143348087053909714044101905678846008222994891487929508983162667679736473027086209938264915868539455550167216128562227630450410469157762388503145368578243297522066093688787931132379282020849277840382112299434794445196467786578246917506809723557334795083436294564662019904575417672347725706215656011611811972333009560880147093126813895590734110690194389314502572266763961644473501945703834439741721693301447941948514562902078928821161071237345444364358629722414860652863645259573735144164365100270297854267198192013100171324754655610142338043896047902759593978846752055798434637844223115242630120477017407994848100360971757189761759997038377375383070318326405842469003672415590753124421597212964257057338624442503260633507865957748420143426454863580312312083863854854191223042250640591684197227677526457572621153687281780803894802708400582229462205070656996929363803324278775286731844111551882368750389053659668778473050794811309913987259480993184154929345109971122425165649477773599212661198961879822093243815236485215622951331903989007438908577167007744915447508161207704236273569016837950710501967404569895343885930482855458580408534920515384905497177377421579606963970160823571240784886913753992858827673287043503563192982576620006340656308001359721245317614334917761420551291326132657589470492706578447496901301829340630675501784048636591298067496511686049669168839055457049417706249693737307074789325877551136274642314894662733921125512654455236499602842922106538866389667912227694203740957931556633280148749191184073030506735578512541522486303481110310607130065581715580016669881120722724722344703231192334922277665825126722836329910860174585004531634380635729064188902784408497959488076799900357520262908566989696499090207920325006979036834263680787970916989009575008903758200070751157404831647762529041255592471168785936844408840140955754528804006881032852992865445743788359295544599435490513455434270047298222463904447524218168978471270872233318321190578727648259326968958877291407265161873510373437122801600098842562320036633786510924409477342722561112607685254240890834915901326914110939085112161564950250578595968458405962295531722297083496774636088578655190067107734128069606511932909780887544875262066770391179253188052371264757452344686919042253377105773056278754429116157288022491290114346129945166860713139283401584533564242508765426903858689376273670464218778721964407470010814111297736296193407635631147888567375035652756393503040550338874435862754006564343248965902421987814227675722723814041328158693694678733924974773249420624358979692260221637924069022614924328621017324307550510675603905829226640468614872728789592391632637763869828622419452500612782241917837588731112724135286771047448188085746960952857883969325641543304475816125280994781254043939449212476149045556038843323843042280942452015725011963516175653840716096367282060297606641921908254213000935177910584161658520550115324306473570547634693734369362805367468743462391865508280623100609409644053081839975099059779597597114024749863835173438311589494099095801774256735803158609570240028236977834182932375983619014652818679816879033320752513041970473641679007793141072014436396890943666777389474435216990312797416509580306301891830676150403375946699685559249624395220935011408637208724871823911104297427925828749362639111471588993627555692339801755480603313394772551655632554500351213688536831876510628797082650680319119173120547719323808844389974789914865540703451217423934716551019529572582185289306305367176436424783148650743587533885949808371110032030579599 437733343666003719981948982106045931060453044564738900473513556807010861401034943053678037558032136898936968704878010568223415889159684835669156907827953225108691779032229317103725928609371803688123155368161316013298689048090360446090620659848646956648350849517923630313929900459064031213499648799192612036958363186848907565483224378804616267318522770179929887555254714800462279199376869788960342480061355633023707092369844276041838314883287347089494702933621900670464462430139331324318737440046206507907718486450872325580856742636881543863847580969882399713698635122144496794685032015072716645392428675973143528821688667162027371567247653520489434222074551633652444132298608524799678967454139489270660307491663465404537199819549087535001401639374151007248534626971847553338875878147025540638415074921159775788218010560015388985081570833850195556885742619436310004948711078562171675793286625274271463243500124000412933938202690722631394762146650757054214460453343980969411174863162844367814970529507008323850385580444382096778757969734408251763661687411537057643747712352891387277944708713322107851869442533559448697707326629428648342653868866419481172888543450739773643779618778203253885659216011494822155125009327201782083922084585275555290481404019533972426617550086576892170649478418860464663929081288231151268848037376919654195150185211470864927646203845950799644678063368121015525637178161825815115043234776482228765148337625922851895299003344716862000586740260031846708177106542453255974745883867573943507948797838000604033502407313706237677579346515486479065040526163763565611821641786930736748873070247260474702443575186760365097149941590607122824055934637643668015912102667728521083631463920919628348370614265223462770329193645594695821029766000988715824800853202458424850780642020054337298185832575732678286883887688148358382271009711079736406981742831711875656032006631760176975048207493367619937868124506210029212337125713605338052795890024425828851566589160000915585401045759045744205242318321441040148231331264409350965383489891566422159693951092879093138675956912457474356974452189912529122311719185543957912149584577455607060897576751719894549858313203260855526001420359820741367295409380120016513901054271697602854587162028728034303031347376619452771216868999679369248954207617434179603625261718005597240631971095681849455200933942012490323375874998168956647740894529749771984610642960926555467319597433742443512993346878161806260472189265737600207651710771765908503352269634168298229451030525376954457279023876114159874174158193984525953488643615697444229590284033743900229914820704829520083379009928434857201702964696616583544011685672873265495406125714421868212548657097981576054748867171185790854957942052673940587652028578254447263779839810328613638061619198506102989518090840425726762678263041313962822560612129634778084663370971698994673228907861372549555979671472917024664198560039734523158531990628065841395737062080260250960166648097698556157869146624604774247170872358936008308589482431927840117859370771020135699393810471285406452447956806850211826195252340617895155568811074673352566672321800015770703447243330836159141080001812562543769593502833458195513556030108198998847949888441863317717306864257869568531550993758553576411955556163096638032904069610137813871195974780246734855865208878996645153339003567591522188198224909868504790252025568193759418254905795754829359265408683130043972542348518824711365550487115118396077157104410397943148333124958225726589379046286970125739289257245952001895738135788143426441000102849703531425152591294095947010895300188812788052752244052803218912545196096820163303219480168609012412998441980920428073738652973487005878202461100810151462573087231433193509082831235968560398788395488050499869836013019092800193330885528996501012614777174665467463270961177375688450759977392663483339347937545174024027725492367403183615314170710289177046929956351832405780938147962891368437445726520298981049699826250017296534521133328988395433118860848738460830639851696768817328672002 708267428060732518367732300969797981769870244374910072674050686312123699567630275098759783721260140564065930208621716212326325176288628610994755289659210502038245307477080855564362828240304479600819308664460313926423734418874620197270378733596509865801244763609924394628034976025523363848597419977609728746515672771753251457398933668710835445941476036646908835604488134193510454510750244950484213711834311723868834672650694784137532368223519764654555000744452417629913339689787594288332752401177349855994772396164916427486535588645104538755335510478865562381378371595171583004623296930941256100942595892101705756452139077631185133955750798889067677519596617727341232063430987806820528245294521601570095101936859933191115446737055897258558736434457587301813196646876422971011223603853241196650026886893492785349098157653142202880672304944540389946200245191703073966593184580507875510233028346967572911185448638563315012867023851793868740206511009386776629321106207626228984910007327209468085268383774206515863485751769136752388900307778304299666421281390383809699546146990735610393187338833799125259864290633920420454897088389425686720029251936737807578731012454412189234532743199800466849916273350119264658385642835067739832342228011730418870793716103397827280808773128827532762333675646537991121501702441918433049651932179628054777379647416541521924575567649275078419964795212232567408005928550879474783821707827277040075062324885403845079453932689826833123011905909509620307389767741415135796839127682810428723571749169904593040941315890873245422494794023647686769276799732780403562532143754335306644216956177743330161023983721680880482055438767984544403662898607804491587152887554642275076490291594206671851933807247800082776669849953596055542275083615323633586221404493784557508370112512760915745682733877562018917559389472196994973569077207591422456650911670767332705449712881453914282122996819245171074142766821104691946258251226259793289295492867347935390432978827913143279604786716977300838522467070632224221261837999987863506905976195047532470301081158460808718692626793578197081696796893143721457233996851369084634985914488315781645902108386100530278922502106045264023960908436620641724815672288687006210400144479617927861566198862991715091002264365629027780120627199750120406359039265196708644880854189174383177476379935822805209729737948893523176368740443912745007036439129185262498066077230973853689783501881266661681971818149034039578793379844465248466978679730643199910617431507678671666573832125475797019599060509900670798583635536707087066096328869938335064506185360658011168999932866394470333957605896893263163998496418913667040786321761451920685473233448549937819060590007762463599624129237956182034211130105045205345104373265173489517156945583384892392490735355794125480808205186555671929538976180597364407094176372143543511567229661075268343693126640094513963449682287028322400494753447370154306420558003101494152130565120810589834602510851705120501118112527026762061398548081659822349917641125622518851784345544269556323752790163545628090372025829465136154816269664925445666244414980502579207140936672744560295838875968600028969702421265063156551835420671046926626280165394970046296137974188824270575190833583511111836026809883834571193209600102545850509053115166176657195039017061189186871590220842512820807179719663958804248495831551790413044465026503371670002416564316304944683571882253677678666276717881630078834293949506983904357780205019807587201414964933324786368976643400994875603124430684263591389837231589917683176803261459273771453389569128278879386878919203465606732569123086123971425587166570461842311012621240623448809889385647697817548173869963799803294712041407112043293249237634809140208768390485592955619723406896687708594707836930197097621256714278359140124086366168293023155610762932856291764154749944319115893848288758862560859602002996200266265994489829462297594649280160676795755728062828432071888663150455015532069229398832202585840826500505424820216267511592325994716589660067878849359251601 1146000771726736238349681283075843912830323288939648973147564243119134560968665218152437821279292277463002898913499726780549741065448313446663912197487163727146937086509310172668088756849676283288942464032621629939722423466964980643360999393445156822449595613127848024941964876484587395062097068776802340783474035958602159022882158047515451713259998806826838723159742848993972733710127114739444556191895667356892541765020539060179370683106807111744049703678074318300377802119926925612651489841223556363902490882615788753067392331281986082619183091448747962095077006717316079799308328946013972746335024568074849285273827744793212505522998452409557111741671169360993676195729596331620207212748661090840755409428523398595652646556604984793560138073831738309061731273848270524350099482000266737288441961814652561137316168213157591865753875778390585503085987811139383971541895659070047186026314972241844374428948762563727946805226542516500134968657660143830843781559551607198396084870490053835900238913281214839713871332213518849167658277512712551430082968801920867343293859343626997671132047547121233111733733167479869152604415018854335062683120803157288751619555905151962878312361978003720735575489361614086813510652162269521916264312597005974161275120122931799707426323215404424932983154065398455785430783730149584318499969556547708972529832628012386852221771495225878064642858580353582933643106712705289898864942603759268840210662511326696974752936034543695123598646169541467015566874283868391771585011550384372231520547007905197074443723204579483100074140539134165834317325896543969174353785541266043393090026425003804863467558908441245579205380358591667227718833245448159603064990222370796160121755515126300200304421513023545546999043599190751363304849616312349411022257696242982359150754532815253043868566453294697204443277160345353355840086918671158863632654502479208361481719513214091257171204312612791012010891327314721158595376939865131342091382891773764241999567987914058865005832476023045043764785392073264369493169264397214472289466086613954629995032251339901857368583706035671438671249083056250579545716036913042547135499065771388706799685137820424828780815309306119549962328796441383092111081668807022724301198751315530716153360891719749394033611742248480551337496199429489655313246882630888248506115907179980418108351031504654664930671890906013499744615442081701654777333658935034482676720191900409157103099315009105194965165027195845839265569110202848674630390502409108413969701141846969896024862650852751476878084386014830672757793730691613019584972485635779294096469394401911398914753571223990417336615825328120365701461115530250584798007434325186180879359162971806031609247105744039654372996409141972889169072157719145932756401843427936780936785393713506030552354554300228470326296026981398692217239221911327229654788501778321596230600632774263016922034501467063519429353759945347064693313487104677464952548631167335547867627201070840794769158949403676658987259151631536308569420440595830658507123557550358969643716315289692023146600634831034542819982636315347981011522005543340821813226055175931773813258472760330999286119299436188110782423077625700321428923504505122139836195503169045144087862630687588292497697841380680367577803642388147605165156265642488541957184776314471066234991841435921727455429721509465960518723231550326436694056461658917834717052071565429420671470112059774042837290936807722638819066400454790199844436622102300434937309430205530349748089891550512958355689687965001342413687930215593285575367378061109617803364308977302878542160422374826397774219392278394785321367138927190338132362667282005614232101409232461222887827628618245621912522937286809172914502507922194755822324866242333717851221721561516018511802384738208464543849949289897814587599807355641136701143342958490618881724110231980214914727336982599233196226304036584887327495363603449881308660539751474641579236512509201536666210791323440326108876975314513118929225082219882375347633834413215649386372441064455547229511764647666687923603 1854268199787468756717413584045641894600193533314559045821614929431258260536295493251197605000552418027068829122121442992876066241736942057658667487146374229185182393986391028232451585089980762889761772697081943866146157885839600840631378127041666688250840376737772419569999852510110758910694488754412069529989708730355410480281091716226287159201474843473747558764230983187483188220877359689928769903729979080761376437671233844316903051330326876398604704422526735930291141809714519900984242242400906219897263278780705180553927919927090621374518601927613524476455378312487662803931625876955228847277620460176555041725966822424397639478749251298624789261267787088334908259160584138440735458043182692410850511365383331786768093293660882052118874508289325610874927920724693495361323085853507933938468848708145346486414325866299794746426180722930975449286233002842457938135080239577922696259343319209417285614397401127042959672250394310368875175168669530607473102665759233427380994877817263303985507297055421355577357083982655601556558585291016851096504250192304677042840006334362608064319386380920358371598023801400289607501503408280021782712372739895096330350568359564152112845105177804187585491762711733351471896294997337261748606540608736393032068836226329626988235096344231957695316829711936446906932486172068017368151901736175763749909480044553908776797339144500956484607653792586150341649035263584764682686650431036308915272987396730542054206868724370528246610552079051087322956642025283527568424139233194800955092296177809790115385039095452728522568934562781852603594125629324372736885929295601350037306982602747135024491542630122126061260819126576211631381731853252651190217877777013071236612047109332972052238228760823628323668893552786806905579933231635982997243662190027539867520867045576168789551300330856716122002666632542348329409164126262581320283566173246541066931432394668005539294201131857962086153658148419413104853628166124924631386875759121699632432546815827202144610619193000345882287252462705488590755007264385077979195442281661487100296113409800710576061210499613868520368045976199972036779712888282127182121413554087170352701793523920955107703317415351383573923237233062024816926753957494028934701343230933458577719559754711464485035876107877508331458123399179610061672286147827596893386970096354363595584730967327459874660409839799536676113355885994446661813772788120296980742797422874262846886601196275766876936983176229885418058948954668097141609070233052308324587132649525641562598694776328548496477144895915501471341429267398700085681301355574114358602654755059922567914686437618460751294221722221383529699957534443917625584329195777106866352592611521743850669837113506503253997125647098154923380202262764351277860775108601426298093730977098398423043089910094353951134501213537070621756215402508691636748964873921865107797830293849531360615161141561577482879036046973669465188066934474831771373106634268829699998192321881430629371669801108797160105371678658298369967968522255653008424764683172877821428061859559248346899390798376662633192008465780484135827791670468786488057641035678510980954195145504891295124995268036217080484844342688856873264344175552048766116360898139091440225836819511858867688531424891792203604613526222718798374756368188339051010299942491128261274008902625108599045650564022286767698442895509130685189888013449330879182078574937099423088034428364718726409173190485401305095784282084869034138386129086204792717514450013117551163054824875299327332333088959876945538118614479184675412598967978792794606625768251074331931729550653705784653138595744001517890490225051161763719529237743847925244722649855910032777213276316063170086392901086612467626543915034238049071562501051473926619612207154471638235209281425917059251686879486995435844314085714781260787509511251513774492487043088271979069477281301715127044515062899145746929498359803716147303150369213772236228516673185997292394273619755512214772027430330045188158623914422468216174134339838035865653884033390450263819171832526516047175204 3000268971514204995067094867121485807430516822254208018969179172550392821504960711403635426279844695490071728035621169773425807307185255504322579684633537956332119480495701200900540341939657046178704236729703573805868581352804581483992377520486823510700435989865620444511964728994698153972791557531214410313463744688957569503163249763741738872461473650300586281923973832181455921931004474429373326095625646437653918202691772904496273734437133988142654408100601054230668943929641445513635732083624462583799754161396493933621320251209076703993701693376361486571532385029803742603239954822969201593612645028251404326999794567217610145001747703708181901002938956449328584454890180470060942670791843783251605920793906730382420739850265866845679012582121063919936659194572964019711422567853774671226910810522797907623730494079457386612180056501321560952372220813981841909676975898647969882285658291451261660043346163690770906477476936826869010143826329674438316884225310840625777079748307317139885746210336636195291228416196174450724216862803729402526587218994225544386133865677989605735451433928041591483331756968880158760105918427134356845395493543052385081970124264716114991157467155807908321067252073347438285406947159606783664870853205742367193343956349261426695661419559636382628299983777334902692363269902217601686651871292723472722439312672566295629019110639726834549250512372939733275292141976290054581551593034795577755483649908057239028959804758914223370209198248592554338523516309151919340009150783579173186612843185714987189828762300032211622643075101916018437911451525868341911239714836867393430397009027750939887959101538563371640466199485167878859100565098700810793282867999383867396733802624459272252542650273847173870667937151977558268884782847948332408265919886270522226671621578391421833419866784151413326445943792887701685249251044933740183916220675725749428413151907882096796465405444470753098164549475734134263449005105990055973478258650895463874432114803741261009616451669023390926052037854778752960248176528782292451484908368275441730291145661140612433429794205649539959039295059256222616325428925195169729256912619858559059501478661741379936484132724657503123885566029503407909037835626301051659002541982248989293872920646431213879069487850125988882795619598609099716985533030458485141893086003534344013693081998832114539591081730705550175857971328076148316591106447055331463419517614774672003989700511284872071902148203425731257324518064870945816239460735461416738556833791372611458623557427181299973355229281930332144099222998090313105266273841209893652699124149461833966829440008842451168630837547549503895401418649974168210382336630102293047231951774493549882279084219250542908370122056240127812549274420483497210617176952029363079030516370811904453595444464394582421460797240518469313973454624420018866403753375700186704028430926623794377537195643028641002308389806919016529881380421579509236325655265436165247865819522952271424140828750512473819092630830289834678537388962851483666931888240723236791071778174848940370045991433207697176011991102095832116839313676012127309870867090854442754767453618265222294411114567472405191267267420314557194693267680057170905952556401308136584313699450199447160186229266272472571182417168610866403539912633830827592967484718805599327509000744061030326501080285531752728217166127059457121883944475108248713899130646502528843759504540424492769246464127293123943914850682539659233982822751188505227654823880218647900911144716425812285688022776924878287951806544694777960987966346039902412409990077228377210473889973028532182427357988022396303211857363978352101851891905025853539476824059088371255665040904934308791998915838373421640541046422956432804893887367293807644470833928715987656747011666164125523795536828776893250431913893070422397488652854210004393374211153320252193984204618284314360240741366935730634256993723407166028611810908965246877807753185695198829060484411078952540880904405644558307087848996642350591521768174251251515040256474454905811048683597174182735098807 4854537171301673751784508451167127702030710355568767064790794101981651082041256204654833031280397113517140557157742612766301873548922197561981247171779912185517301874482092229132991927029637809068466009426785517672014739238644182324623755647528490198951276366603392864081964581504808912883486046285626479843453453419312979983444341479968026031662948493774333840688204815368939110151881834119302095999355625518415294640363006748813176785767460864541259112523127790160960085739355965414619974326025368803697017440177199114175248171136167325368220295303975011047987763342291405407171580699924430440890265488427959368725761389642007784480496955006806690264206743537663492714050764608501678128835026475662456432159290062169188833143926748897797887090410389530811587115297657515072745653707282605165379659230943254110144819945757181358606237224252536401658453816824299847812056138225892578545001610660678945657743564817813866149727331137237885318994999205045789986891070074053158074626124580443871253507392057550868585500178830052280775448094746253623091469186530221428973872012352213799770820308961949854929780770280448367607421835414378628107866282947481412320692624280267104002572333612095906559014785080789757303242156944045413477393814478760225412792575591053683896515903868340323616813489271349599295756074285619054803773028899236472348792717120204405816449784227791033858166165525883616941177239874819264238243465831886670756637304787781083166673483284751616819750327643641661480158334435446908433290016773974141705139363524777305213801395484940145212009664697871041505577155192714648125644132468743467703991630498074912450644168685497701727018611744090490482296951953461983500745776396938633345849733792244304780879034670802194336830704764365174464716079584315405509582076298062094192488623967590622971167115008129448448610425430050014658415171196321504199786848972290495344584302550102335759606576328715184318207624153547368302633272114980604865134410017163506864661619568463154227070862023736808339290317484241551003183793167370430680350649936928830587259070941323009491004705263408479407341035456194653105141813477296911378326173945729412203272185662335044187450140008886697808803262565432725964589583795080593703885213182447871592480401142678364105363958003497214253742997788709778657819178286082035280056099888707609277812966159574414251491570505086851971327214070594978404879235175628444162315037648934850876301707560638948839131379655616675383467019539042957848530968513725063143966440898253021222252203509848469832374177845833615440652265489013190947575196784008011301778904521756534744126446460911919925059269770887425101376184418085835966665825879399913584544386015293732948921332757046162367247703338282735929476683247848488477952060630789377124247347910302876638534374488936372595298454055539935729670026928710503152718249622051811826261220473325738152356784590218485187425853892685995069447356054341007698761899704994947864011844833702053512498551621270979198002508948133048505357485107136675356652923896114612499840034408188716945382231584359809203999567876316252667105346480913797928508126532953735721648763770113589536109835508622271752111763003414067957611855609219672068917299447228024539536269711306027874760691164264774787030694833585201914669002019166643977784661296727588783009646686138925546730849554039495915609022568587807073832488557579593081209221439628266847538968789211495655637317778525249010634964624528268121208880274710020372338330231765452074199541301111613020355865884755233489925159173962636400565314018695207016615845479451542405619523682237967080496583766397821102347589029513865571421142769701464721546708944281288442254181250371962085308739460034108167590337990670853965449868345281571090446135870459294982220947590042583047223708263888686276227978785203658276162365461518167866698196408524173053681899586029487285256429834876381186492083210882175914961278179019114036269858881196121454758030834464755652931835974603495246472911064818807695902514089287380694140507845356074867855429700698782274011 7854806142815878746851603318288613509461227177822975083759973274532043903546216916058468457560241809007212285193363782539727680856107453066303826856413450141849421354977793430033532268969294855247170246156489091477883320591448763808616133168015313709651712356469013308593929310499507066856277603816840890156917198108270549486607591243709764904124422144074920122612178647550395032082886308548675422094981271956069212843054779653309450520204594852683913520623728844391629029668997410928255706409649831387496771601573693047796568422345244029361921988680336497619520148372095148010411535522893632034502910516679363695725555956859617929482244658714988591267145699986992077168940945078562620799626870258914062352953196792551609572994192615743476899672531453450748246309870621534784168221561057276392290469753741161733875314025214567970786293725574097354030674630806141757489032036873862460830659902111940605701089728508584772627204267964106895462821328879484106871116380914678935154374431897583756999717728693746159813916375004503004992310898475656149678688180755765815107737690341819535222254237003541338261537739160607127713340262548735473503359825999866494290816888996382095160039489420004227626266858428228042710189316550829078348247020221127418756748924852480379557935463504722951916797266606252291659025976503220741455644321622709194788105389686500034835560423954625583108678538465616892233319216164873845789836500627464426240287212845020112126478242198974987028948576236196000003674643587366248442440800353147328317982549239764495042563695517151767855084766613889479417028681061056559365358969336136898101000658249014800409745707248869342193218096911969349582862050654272776783613775780806030079652358251516557323529308517976065004767856741923443349498927532647813775501962568584320864110202359012456391033899159542774894554218317751699907666216130061688116007524698039923757736210432199132225012020799468282482757099887681631751638378105036578343393060912627381296776423309724163843522531047127734391328172262994511251360321949662882165259018212370560878404732081935442920798910912948438446636094712417269430570738672466640635238793804288471704750847403714980671582864666389821694369292068840635002425210096132252706427195431437165465401047573892243174851808129486097049362596397809495643352208744567177173142103423051622970894964991688953842573301210637027829298542146743294995985682230959907581832652423606854866002218845511020741279583081347932707985084409988774087991703975141801700800232270864479845809630691148443187603459776165759539875263579326296213849037993901664000903053983590501573566455303363088555896817320391320502794834392254046349002455981692960816496160508843615228005552007589070737369759578410548478751103731345699095129012660152456154763718722207330233978838883518794056095694574009249703124651348729369556471625322238515854692147097120115689552427618859487495815660811702524950827777633850244024417165141160195729831367785973477653327302133744798290633339237967727042746447958620342288541164619351403571618209257129086991373664792056985215990669972148369506419022493041107799375217387396490489102382035335883947224402981027463019379183317971262650879535666390578021473700755364608853235719910753188060989957436737345969447863444451605454581635849994236945269380102326916292010390747169252047811135085792224132775149628044928957776963665828306980339867942157110607043509213704264902101445071649192925485647164187502104031631463215248027162210450413352985344257726923898708378642809633521441731703868740597388531660058597619426605922707828752879509496710770149507854571788794124314204953007865967423313047795555004198370768032652544107295086184680754084224577833455748708636760947103658859337235639089215561280064586446951729232613754168106842760537040781936708141871855626055764815219671522561240909349728776367037886517870343847525997796770607015443485806618048204526772187144265991844023044576394950515242441913417296533836241619161802334321907707169399217670688340538895734396982300261885916539026874881517372818 12709343314117552498636111769455741211491937533391742148550767376513694985587473120713301488840638922524352842351106395306029554405029650628285074028193362327366723229459885659166524195998932664315636255583274609149898059830092946133239888815543803908602988723072406172675893892004315979739763650102467370000370651527583529470051932723677790935787370637849253963300383462919334142234768142667977518094336897474484507483417786402122627305972055717225172633146856634552589115408353376342875680735675200191193789041750892161971816593481411354730142283984311508667507911714386553417583116222818062475393176005107323064451317346501625713962741613721795281531352443524655569882991709687064298928461896734576518785112486854720798406138119364641274786762941842981559833425168279049856913875268339881557670128984684415844020133970971749329392530949826633755689128447630441605301088175099755039375661512772619551358833293326398638776931599101344780781816328084529896858007450988732093229000556478027628253225120751297028399416553834555285767758993221909772770157367285987244081609702694033334993074545965491193191318509441055495320762097963114101611226108947347906611509513276649199162611823032100134185281643509017800013431473494874491825640834699887644169541500443534063454451367373063275533610755877601890954782050788839796259417350521945667136898106806704440652010208182416616966844703991500509174496456039693110028079966459351096996924517632801195293151725483726603848698903879837661483832978022813156875730817127121470023121912764541800256365091002091913067094431311760520922605836253771207491003101804880365804992288747089712860389875934367043920236708656059840065159002607734760284359552177744663425502092043760862104408343188778259341598561506288617814215007116963219285084038866646415056598826326603079362201014167672223343164643747801714566081387326383192315794373670330419102320512982301467984618597128183466800964724041229000054271650220017183208527470929790888161438042878187318070593393070864542730618489747236062254544115117033312845609668149299391465663803023258452411803616176356917853977130168611922535712552149763552013564967750017883908023033066050024859033004675276519503172554634273360967014793891212846410312408613885037057881448716570607280215766132983311303105594186519274301171387030649212453198203311759232248707931151263368094064871715723879800625756217338273400864917406588351744147690072541705742303926406149969580410962736964608091452103949031731936522672488866864844766673169117501068061834200996913019977637621999374980527529068339487161424234777909675302681958505347036317692901764275008480956087091278745604171018810339882315668281861092874401040546524137348176926884764635233104617462916693284408227786979194187573081073290941833279011066632510206872513213372455166651394148629549185432794678277439872709189874944290327680953367570445853841909212209077972683241514704388520020275133688191251723179064846155143593843212619675531165825853755015777488635848186100775548103933065757017645194088515466016071458243665317803936755896376416794419990237848464622173524368973954905727883343920350226210751145805449473483334238489649734771490946321385330608491391275610250090391000202592633392771989622059215935750648601002120756478558278036807369250637869160880923054041399054505075020037433308177594541984639831720048384172196632736031609452223407900061549089381785377454582478002915760557738762850174441936120611788715770225240511737925268399500540682178805059543799028035511728734508694388754931656863042703233789096974077292826443221768187280295285129020393008116588351155555191945416552542037379832994734190565256468919917476976933832549549267435052716169533317293489856876227098937774512824787103984370786651726200456906246711453561344210689889984245304670622984369850640829714040977585133040729107607546137300540091568417456373334811254226605483396629977889828930380441733465323285105880292903457591071970000472747882052186768077593765297580794818771988206913573202429826276428537490145617960784394456575580299646829 20564149456933431245487715087744354720953164711214717232310740651045738889133690036771769946400880731531565127544470177845757235261137103694588900884606812469216144584437679089200056464968227519562806501739763700627781380421541709941856021983559117618254701079541419481269823202503823046596041253919308260157287849635854078956659523967387555839911792781924174085912562110469729174317654451216652940189318169430553720326472566055432077826176650569909086153770585478944218145077350787271131387145325031578690560643324585209768385015826655384092064272664648006287028060086481701427994651745711694509896086521786686760176873303361243643444986272436783872798498143511647647051932654765626919728088766993490581138065683647272407979132311980384751686435473296432308079735038900584641082096829397157949960598738425577577895447996186317300178824675400731109719803078436583362790120211973617500206321414884560157059923021834983411404135867065451676244637656964014003729123831903411028383374988375611385252942849445043188213332928839058290760069891697565922448845548041753059189347393035852870215328782969032531452856248601662623034102360511849575114585934947214400902326402273031294322651312452104361811548501937245842723620790045703570173887854921015062926290425296014443012386830877786227450408022483854182613808027292060537715061672144654861925003496493204475487570632137042200075523242457117401407815672204566955817916467086815523237211730477821307419629967682701590877647480116033661487507621610179405318171617480268798341104462004306295298928786519243680922179197925650000339634517314827766856362071141017263905992946996104513270135583183236386113454805568029189648021053262007537067973327958550693505154450295277419427937651706754324346366418248212061163713934649611033060586001435230735920709028685615535753234913327214998237718862065553414473747603456444880431801898368370342860056723414500600209630617927651749283721823928910631805910028325053761551920531842418269458214466187911481914115924117992277121946662010230573505904437066696195010868686361669952344068535105193895332602527089305356300613224881029191966283290822230192648803761554306355612773880469765005530615869341666341197541846703113995969440003987345099116739604045322202523282496290462850455067574262469408352468190584328769944523595775216389626340306734810855219602896142952321936638172926360907629924298364081568396850599637548259325980342496148560608306145251660990321690545818312540799437188359020506024514376464008666545566905439981980913871464892145356207581097398165134520402792647665783375273272771811339303585012488937537891259357067638097036852904411670066106965853202593928664670737842785835217536707032980963404932436772224303841987222495103832886978890710539886668210085951094289433774785354717537106492052255973960707489843203558435135919329626169242265661500266528843535645514667565969531461639827937460179057175516091044971102911322041495747596229987315339323674580405649008819153155888760575779269187424068502590850381024377359933735253134817419643076452922446890928129561168473779635980907820612991679943391466996013527258561307746716699853527840785357430558641470677197790870129639356593259370926942000828111864700957957242246007709532812403996740606037739466725926421722488412823832273719155117868323421501381421367030428180477429642353119725623944181159321824677664989386415889236207041888957323942488061625987216620025459840207921823634861606258952903272329272143201140516426662751132592158044888056754959410437113151504022276373388566911443831177628634135890445869827690895109048164638517103778266096205727343986069730757495045245800418047238360811473118288245009586376656844353619733470253757895126945605584863859884878171684124339623460002213006265043353198440686175098378796732744782345452559692511722496455769805792804804563290348516895866076907129454935326717182337252023376090412073463696446978584968505652467551097724315948033986022485242914661299348720604319212927099915116726479157606131243890770365172162934472445879846700933483450461817019647 33273492771050983744123826857200095932445102244606459380861508027559433874721163157485071435241519654055917969895576573151786789666166754322873974912800174796582867813897564748366580660967160183878442757323038309777679440251634656075095910799102921526857689802613825653945717094508139026335804904021775630157658501163437608426711456691065346775699163419773428049212945573389063316552422593884630458283655066905038227809890352457554705132148706287134258786917442113496807260485704163614007067881000231769884349685075477371740201609308066738822206556648959514954535971800868254845577767968529756985289262526894009824628190649862869357407727886158579154329850587036303216934924364452691218656550663728067099923178170501993206385270431345026026473198415139413867913160207179634497995972097737039507630727723109993421915581967158066629571355625227364865408931526067024968091208387073372539581982927657179708418756315161382050181067466166796457026453985048543900587131282892143121612375544853639013506167970196340216612749482673613576527828884919475695219002915327740303270957095729886205208403328934523724644174758042718118354864458474963676725812043894562307513835915549680493485263135484204495996830145446263642737052263540578061999528689620902707095831925739548506466838198250849502984018778361456073568590078080900333974479022666600529061901603299908916139580840319458817042367946448617910582312128244260065845996433546166620234136248110622502712781693166428194726346383995871322971340599632992562193902434607390268364226374768848095555293877521335593989273629237410521262240353568598974347365172945897629710985235743194226130525459117603430033691514224089029713180055869742297352332880136295356930656542339038281532345994895532583687964979754500678977928941766574252345670040301877150977307855012218615115435927494887221580883505813355129039828990782828072747596272038700761962377236396802068194249215055835216084686547970139631860181678545070944760448002772209157619652509066098799984709317188856819852565151757466635760448552183729507856478354510969343809732338128452347744406143265662274154590355049641114501995842971993744662368729304324239520796913535815030389648874016942860700714401337387356936454797878557945527052012659207239581163945007033457735283340395452719655573784770848044245694982805865602079538510046570087468310827294215690030703044642084787430550054581419841797715517044136611070128032568690266350610071657810959902101508555277148890889292308052237961037048952875531390333578609099481981933299093142269227558735020164509500930321716005270536697507549721014606266970994284574208952258831913105517808991502948811711136872012933810980339019703878709618577253557118311581859321536859536946604685411797117295206677689734074241291159242036122712785851987227743979005265628429127358883991833107620568714007903609114974851375210819171216598882238011823373370852037015432862298690220479564991378045010232747470775294833470482917517793025324539984979009643776353267905035610169278138954314090134377578929341650283435714534696587764694864885457544890574055971145669077613853467760440950919255141905228096942910604673646234830913892879960326932562361075960741923867862318217611078202255701160549875638779699154871619932491254638741587482404980000525220193082911588315998791377462900435926442050465613785607236895104365455664229543494021310401020995868112644107103438046705727865516208465219535786017578970771998076797726870741619042554512654939065784826163291814770963104431855782994922165847660198411031305045429954147064966725608213183272313049459082389343449767537496786382684556882899178015147310037082625633412781428926067942038205721986520209206393621054786186423291212420435462461090958822652684508911443607830788864732465500259445152139736442589486622729027650123182676881573137285483846770389937604019456124442003377447221023352783090517148506249981573808703441586275908965410239117790836203604608851491577094455243387409181400907372396806692397495911545251145813044817093200191448591471962591497807485327940026042116666476 53837642227984414989611541944944450653398266955821176613172248678605172763854853194256841381642400385587483097440046750997544024927303858017462875797406987265799012398335243837566637125935387703441249259062802010405460820673176366016951932782662039145112390882155245135215540297011962072931846157941083890314946350799291687383370980658452902615610956201697602135125507683858792490870077045101283398472973236335591948136362918512986782958325356857043344940688027592441025405563054950885138455026325263348574910328400062581508586625134722122914270829313607521241564031887349956273572419714241451495185349048680696584805063953224113000852714158595363027128348730547950863986857019218318138384639430721557681061243854149265614364402743325410778159633888435846175992895246080219139078068927134197457591326461535570999811029963344383929750180300628095975128734604503608330881328599046990039788304342541739865478679336996365461585203333232248133271091642012557904316255114795554149995750533229250398759110819641383404826082411512671867287898776617041617667848463369493362460304488765739075423732111903556256097031006644380741388966818986813251840397978841776708416162317822711787807914447936308857808378647383509485460673053586281632173416544541917770022122351035562949479225029128635730434426800845310256182398105372960871689540694811255390986905099793113391627151472456501017117891188905735311990127800448827021663912900632982143471347978588443810132411660849129785603993864111904984458848221243171967512074052087659066705330836773154390854222664040579274911452827163060521601874870883426741203727244086914893616978182739298739400661042300839816147146319792118219361201109131749834420306208094846050435810992634315700960283646602286908034331398002712740141642876416185285406256041737107886898016883697834150868670840822102219818602367878908543513576594239272953179398170407071104822433959811302668403879832983486965368408371899050263666091706870124706312368534614627427077866975254010281898825241306849096974511813767697209266352989250425702867347040872639296153800873233646243077008670354967630455203579930670306468279133794223937311172490858630595133570794005580035920264743358609201898256248040501352905894801865903044643791616704529442104446441297496308190350914657922128008041975355176814190218578581081991705878816781380942687913723437168011967341217568445695060474352945501410194566116681684870396108375064838826958916216909471950223792054373589689690326480667072743985551425416884197935900484049081462895804763985287625435139832418329644021333114363671053911970780321532353909851983483222112100211615899551202554661895914618877818102725215527739645009757546664544836113960590099274986791758309083840788591907906900950182185568400273960909501245193130412146560637341945281085497317884403088066373835036666055704633337529778357240512875477348014752244396905577792904832491864952893041355865736570609962480956332274243218371524820785822241192373430973548804132165532536929047174223034237780729804695114511737512664594785100855357611149510211585793015018713364353691952053489690605533411151907946932782400466535843659610458201487020188344451521431004130353231205600098517127233245159611906314120402118507117884787408687684023929231860676481054208331401723013633016915185307471116659700884401817347809080893794263036879248224091079608410702815845988066010382284001880314145327004029670353577834452436155811477419178693821711659333129694522314883784798140206301252826042947363121149319912537954332602960811702433307678433996865590896144354242349073718182877149977498391614406054600564648780762610243164084878067532127871433830828667286879415156493966996106585863237974674519656677049107547381068045954818707530856193035783231290791077738730543612643592825911540968283355473809995575742369393295633741253652563194742167309804641337869454354350478288109807699485758273357664220776905282722887550378744770258387301328924799525563116940486302070480749627976716019619497411028271730303419176060983970556620754406435037377654186261423476503933686123 87111134999035398733735368802144546585843369200427635994033756706164606638576016351741912816883920039643401067335623324149330814593470612340336850710207162062381880212232808585933217786902547887319692016385840320183140260924811022092047843581764960671970080684769070789161257391520101099267651061962859520472604851962729295810082437349518249391310119621471030184338453257247855807422499638985913856756628303240630175946253270970541488090474063144177603727605469705937832666048759114499145522907325495118459260013475539953248788234442788861736477385962567036196100003688218211119150187682771208480474611575574706409433254603086982358260442044753942181458199317584254080921781383671009357041190094449624780984422024651258820749673174670436804632832303575260043906055453259853637074041024871236965222054184645564421726611930502450559321535925855460840537666130570633298972536986120362579370287270198919573897435652157747511766270799399044590297545627061101804903386397687697271608126078082889412265278789837723621438831894186285443815727661536517312886851378697233665731261584495625280632135440838079980741205764687098859743831277461776928566210022736339015929998233372392281293177583420513353805208792829773128197725317126859694172945234162820477117954276775111455946063227379485233418445579206766329750988183453861205664019717477855920048806703093022307766732312775959834160259135354353222572439928693087087509909334179148763705484226699066312845193354015557980330340248107776307430188820876164529705976486695049335069557211542002486409516541561914868900726456400471042864115224452025715551092417032812523327963418482492965531186501418443246180837834016207249074381165001492131772639088231141407366467534973353982492629641497819491722296377757213419119571818182759537751926082038985037875324738710052765984106768316989441399485873692263672553405585022101025926994442445771866784811196208104736598129048039322181453094919869189895526273385415195651072816537386836584697519484320109081883534558495705916827076965525163845026801541434155210723825395383608639963533211362098590821414813620629904609793934980311420970274976766217681973541220162954834654367707541395066309913617375552062598970649377888709842349599744460990170843629363736681685610386304529765925634255053374847663615760126024858435913561386947593785417326827951030156224550731383701998044262210530482491024407526921251992281633725821481466236407633529093309526288567282910125893562928866838581215772975124981946588474369759729326234062658180944877738063078429894662698567438494153522263436079676324448668287871253368516118954477506686309163874731464308072470887417567689529239597228461550625348777250543254454691214147217586568651079845943377735196593318698067477392246090008035150792404435166534859346489329173025064502583512832215425257826869773676273347345433387472215364250688167185968843279143589616278203343901968325903654555957050174953859001342506990689146819654256305158710166456298088789111175176313282315079258644407058868759009204646115091593936435384291072145846097976280657900476258254927747923199158768219386878912348897852037542371763940602521062875133255019258344401391331062915592281560840440995095563377222984516376103279056993523567107842555643861723115315222641690736381723538853209998096895787115451078347302253274251131359408048644116143328456535272640246309867298467031378152114524421248765050735398219094042917655691597494998149465819788457060000436141357438297453079272086078989334762134084253751768320949254768808471900844338983479426819737961111079850562256990495926609059887735064173592097351031465319493142342100025377569210497067243610096212947357194699688982626795069631595729305843100340319967816530507045777530183540701947226839121579942471196043872088744965647983557769978202837645698925046274868771026737499333584679771329260765779872831801571501640892898216634264523339238029480346868998796515788983888049223504933533651017140211395729689479662150535349112826311894906939816981449232220878077170748069345878397628875461671589363502546050352599 140948777227019813723346910747088997239241636156248812607206005384769779402430869545998754198526320425230884164775670075146874839520774470357799726507614149328180892610568052423499854912837935590760941275448642330588601081597987388108999776364426999817082471566924315924376797688532063172199497219903943410787551202762020983193453418007971152006921075823168632319463960941106648298292576684087197255229601539576222124082616189483528271048799420001220948668293497298378858071611814065384283977933650758467034170341875602534757374859577510984650748215276174557437664035575568167392722607397012659975659960624255402994238318556311095359113156203349305208586548048132204944908638402889327495425829525171182462045665878800524435114075917995847582792466192011106219898950699340072776152109952005434422813380646181135421537641893846834489071716226483556815666400735074241629853865585167352619158591612740659439376114989154112973351474132631292723568637269073659709219641512483251421603876611312139811024389609479107026264914305698957311103626438153558930554699842066727028191566073261364356055867552741636236838236771331479601132798096448590180406608001578115724346160551195104069101092031356822211613587440213282613658398370713141326346361778704738247140076627810674405425288256508120963852872380052076585933386288826822077353560412289111311035711802886135699393883785232460851278150324260088534562567729141914109173822234812130907176832205287510122977605014864687765934334112219681291889037042119336497218050538782708401774888048315156877263739205602494143812179283563531564465990095335452456754819661119727416944941601221791704931847543719283062327984153808325468435582274133241966192945296325987457802278527607669683452913288100106399756627775759926159261214694598944823158182123776092924773341622407886916852777609139091661218088241571172216066982179261373979106392612852842971607245156019407405002008881022809146821503291768240159192365092285320357385185072001464011775386459574119363782359799802555013801588779292861054293154530684580913591172436256247936117334084595744833898423483975597535064997514910981727438554110560441619284713711021585429787938501546975102230178360734161264497226897418390062748244401610364034814635246068266123790056827602026074115985169711296975671657735481201672626132139968029585491296143609331972844138274168551713965385479778976177551498760472422662186847750407506351862344782698367920268442505476754860349685617302456528271542253642197725932139899786643927262134546707262407773542827063717520097838399856823797543596550443347378360639068192785722425970937960728798409375490631015510627132783332186567347342322443989290270358534797207799290805174737316861555442838155027218523788501225599017659577814490281996060293649628296947005907126671118306149999901397235303491631661906439731977980682963165829455877126165515200721087676049167409183035835766921218945010421693620784916339957674781233907518344475042127399902539887271637593243340708850211362253481678644839598563704319157852604258531220485146429756995608187866450915494971619281439875252648458824920290064256844784819942838299784262131521076620275207602795922822335193268823487160938958122328808536834890830496505397564111408354516530239667790954975991703695899067783446552486226913282203258232110779231704070622060212253202311680995391552547614881050949125713286533041760436116404735394092054765068572671877370091847408972417328159641500116393130130663672322082251219478387331815377709497205403071680858903587371769283603277646661913423685328857255434092911330708678803759037386126678579646697915680246082103385506184903445101338368501074438763499826772351193655978733380932869570403825499777389427515197598553000596237714396894983010070412371020209926587484732337791559524526053333676647641274667415668164404767991151896779421938639065407117742286155921979929002705916120022796696902250257252151721684066167728658307610806262458450542703328336215991550142900163325828845931392317968088711752651396939061141304690100284832666253115857850786979049984038722 228059912226055212457082279549233543825085005356676448601239762090934386041006885897740667015410240464874285232111293399296205654114245082698136577217821311390562772822800861009433072699740483478080633291834482650771741342522798410201047619946191960489052552251693386713538055080052164271467148281866802931260156054724750279003535855357489401398231195444639662503802414198354504105715076323073111111986229842816852300028869460454069759139273483145398552395898967004316690737660573179883429500840976253585493430355351142488006163094020299846387225601238741593633764039263786378511872795079783868456134572199830109403671573159398077717373598248103247390044747365716459025830419786560336852467019619620807243030087903451783255863749092666284387425298495586366263805006152599926413226150976876671388035434830826699843264253824349285048393252152339017656204066865644874928826402571287715198528878882939579013273550641311860485117744932030337313866182896134761514123027910170948693212002689395029223289668399316830647703746199885242754919354099690076243441551220763960693922827657756989636688002993579716217579442536018578460876629373910367108972818024314454740276158784567496350394269614777335565418796233043055741856123687840001020519307012867558724258030904585785861371351483887606197271317959258842915684374472280683283017580129766967231084518505979158007160616098008420685438409459614441757135007657835001196683731568991279670882316431986576435822798368880245746264674360327457599319225862995501026924027025477757736844445259857159363673255747164409012712905739964002607330105319787478172305912078152539940272905019704284670463034045137726308508821987824532717509963439134734097965584384557128865168746062581023665945542929597925891478924153517139578380786512781704360910108205815077962648666361117939682836884377456081102617574115263435888620387764283475005033387055298614838392056352227512141600137929062131328274598211637430054718638477700516008458001609388300596472905943894228445665894358298260930628665744818024899319956072118736124314997831639856576080867295957843424719838297596227439674791449891293148408829087326659301258254931184540264442306209088370168540091978109713327096197546796278772590594001354825024985478875432002805475667213906555840041619424764671823335273495607226531062045701354977179276713470437283003000362824899935415963429741989506660042523167999343914179129384133327833328581190331897013577968794044037770475579180231323366852758026617322707878728374156403656588368609365443352651280890142147414760536967295317951065859986523023702809307356064039090942089892438235484718539365362479818699603670749754256876581919672450840895707312047751053745496388884534448124093918000970596258985094544297085136970060580290031211086054063463481865253616000291331214502484910067518916889488776213408251328028396553301671241376853682386689930955192757025461239179668889544848664977650670959870198959017288224596665164129298432558612706343569726382354515885163493677332740323051898467322713523803967695852467655869437501902841706164147108815971229874209187798451807227044307168976605742636857485210063724864652583951753530226861140324213666256184415768721779399117424371914057875346872608676621104931921624372795311652678091306926337589804165170091339436911379099045347561857579006323896311343612610360325111534881004150153691195435580585000073138588230929156642857105500466791765920287747539006467415477625461288573453130566805029760379704298750473410804712471631289656823449179852842140577755504121985645392850505066818366513943473587699174730368097273861742753238795266711711401596527848284928822670548865568318048859712774129545893344961360176002501166133131342877729747483014129060046373767897937596930236909533950962681122631356821082757207508083823311879485286973592461943033175794728651230364101709968326172897615117957493481569895604132754287320036140279737599020720480581956712546356834311195992101559843539731945681029805050698674941672243287224907905693201883617817138312052759446163230295128577529440150481596034391321 369008689453075026180429190296322541064326641512925261208445767475704165443437755443739421213936560890105169396886963474443080493635019553055936303725435460718743665433368913432932927612578419068841574567283124981360342424120785798310047396310618960306135023818617702637914852768584227443666645501770746342047707257486771262196989273365460553405152271267808294823266375139461152404007653007160308367215831382393074424111485649937598030188072903146619501064192464302695548809272387245267713478774627012052527600697226745022763537953597810831037973816514916151071428074839354545904595402476796528431794532824085512397909891715709173076486754451452552598631295413848663970739058189449664347892849144791989705075753782252307690977825010662131970217764687597472483703956851939999189378260928882105810848815477007835264801895718196119537464968378822574471870467600719116558680268156455067817687470495680238452649665630465973458469219064661630037434820165208421223342669422654200114815879300707169034314058008795937673968660505584200066022980537843635173996251062830687722114393731018353992743870546321352454417679307350058062009427470358957289379426025892570464622319335762600419495361646134157777032383673256338355514522058553142346865668791572296971398107532396460266796639740395727161124190339310919501617760761107505360371140542056078542120230308865293706554499883240881536716559783874530291697575386976915305857553803803410578059148637274086558800403383744933512199008472547138891208262905114837524142077564260466138619333308172316240936994952766903156525085023527534171796095415122930629060731739272267357217846620926076375394881588857009370836806141632858185945545713267976064158529680883116322971024590188693349398456217698032291235551929277065737642001207380649184068290329591170887422007983525826599689661986595172763835662356834608104687369943544848984139779668151457809999301508246919546602146810084940475096101503405670213911003569985836365843186681389764608248292403468347809448254158100815944430254524110885953613110602803317037906170267896104512198201380553588258618261781571824974739788964802274875847383197887100920542968642206125694230244710635345270770270338843874591593424444214668835338838402965189059800114121500268929265724041508581914157604594475968799006931231088428203688177841323006764768009614046614975844501099068487129928815221768482837594021928471766576365977134540834185190925973030264933846411299520792630825264797533779895124300280259520433810868273943047583850503156072705760424823717205864934858375367152141748609456536966371081169946424256824813368060830398964283127914855993495329326736454081940824223924242116440131166065846844958853036301563621851309679536756155997814782773595769896102796547875070572027271379703691760428871160742671409637364502386307302822408521150682653140229308711359719131127118503019197587411018631241924434644275015435810763793675399344291744786538916692069458504183508604340559958515246230841363975597856594013705039586222001696738065886417842961820300110998876354583931659837314352013559731466201493490627673704455685869227459040862587421677428048363509126784105028373805434463936247036001449453239255882718357239753180450892766177369114074185216340276140903034979443633067298630033488871948616643825663824661302303579672636810710394518371555865812672006106926433551765034742144561293871533114899024347333892036949160265535364437797657839386415439832805785102788689846260697468702082461955518228860742620090181128495059895130038756429512347039107399632307306274190395675621948036384918407853534127134659988421332885493182391957483699913354469832267771887234069392487623212600901897087000940093556935370736536956842655119174998211727613046970005612334491913246979946321982891049218841553420548767032609876645556132928248259877611197580562719803127143523648607391580015357404113415461498898310048874310116733042529994851172442164648124441204664445117458450552102546868068161672579947950862000770518174679542875994404954535014756199453357449546448062961381693387290937460646018430043 597068601679130238637511469845556084889411646869601709809685529566638551484444641341480088229346801354979454628998256873739286147749264635754072880943256772109306438256169774442366000312318902546922207859117607632132083766643584208511095016256810920795187576070311089351452907848636391715133793783637549273307863312211521541200525128722949954803383466712447957327068789337815656509722729330233419479202061225209926724140355110391667789327346386292018053460091431307012239546932960425151142979615603265638021031052577887510769701047618110677425199417753657744705192114103140924416468197556580396887929105023915621801581464875107250793860352699555799988676042779565122996569477976010001200359868764412796948105841685704090946841574103328416357643063183183838747508963004539925602604411905758777198884250307834535108066149542545404585858220531161592128074534466363991487506670727742783016216349378619817465923216271777833943586963996691967351301003061343182737465697332825148808027881990102198257603726408112768321672406705469442820942334637533711417437802283594648416037221388775343629431873539901068671997121843368636522886056844269324398352244050207025204898478120330096769889631260911493342451179906299394097370645746393143367384975804439855695656138436982246128167991224283333358395508298569762417302135233388188643388720671823045773204748814844451713715115981249302222154969243488972048832583044811916502541285372794690248941465069260662994623201752625179258463682832874596490527488768110338551066104589738223875463778568029475604610250699931312169237990763491536779126200734910408801366643817424807297490751640630361045857915633994735679345628129457390903455509152402710162124114065440245188139770652769717015343999147295958182714476082794205316022787720162353544978398535406248850070674344643766282526546364051253866453236472098043993307757707828323989173166723450072648391357860474431688202284739147071803370699715043100268629642047686352374301188290778065204721198347362576255114148516399076875058920268928910852933066674922053162221168099535961088279068676511431683338100079168052414414580414693568024256212285213760221801223573390665958672550919723715439310362316953587918689621991010947607929432404320014084785592996932271734741391255415137754199224019240640622342204726695654734750223542677983944044723084483897978844863923968422545892244963757989497636545096471110490545106518674162018519507163362161947424380093564830401300843977765103261977058306876843141689596648099451240438871765438149113076104607348012349618912334447459699675316523489394783979253780320863904310150722837199767846454221355975148026340124831695081100506161788890972061773158892709906781797952506385757803630674156968411041758690314193187933517935650862058482465757755223910736414358671700968579004871217370341325410639458866548480636739756272432798359879872879974100949586434681460105514195104700308642340376994962704656737875709357683100848672733638992517127952574411090357952372479177198716918962324748636533209131366765787995963466532224021433562679020516160668547437431367699815472156262912913534628017468330058534913258427233991436688980127335661325076571249667705637655024604497756357177552364950641524241722750806321272197765275830291096311158605556371078676113786735165100736040401348927234494389716718414682899478423032331218461314555915188433339996874456533188037612578263048679806265766002156203717945586925421907248283410564077263299391264273731842841659816979334153424802652759784716718579218609271652924794611521617952699124695462493988461979858506107028264495231933850164086124288449103668885296441202754761090442436099637710536482925375031442980345901453732937871902670088185532848922481225856673093343773510272088843483889480272945572171850198374503305974540693699957435618215221852339554230756357448454357507625358575717752912972522070908943068793914181628597436769182809732450193162645230081153751021279428654442653662390407800107353609753001560675712190417966767783900098156418632573337765410208992611293256510270916731087942242052821364 966077291132205264817940660141878625953738288382526971018131297042342716927882396785219509443283362245084624025885220348182366641384284188810009184668692232828050103689538687875298927924897321615763782426400732613492426190764370006821142412567429881101322599888928791989367760617220619158800439285408295615355570569698292803397514402088410508208535737980256252150335164477276808913730382337393727846417892607603001148251840760329265819515419289438637554524283895609707788356205347670418856458390230277690548631749804632533533239001215921508463173234268573895776620188942495470321063600033376925319723637848001134199491356590816423870347107151008352587307338193413786967308536165459665548252717909204786653181595467956398637819399113990548327860827870781311231212919856479924791982672834640883009733065784842370372868045260741524123323188909984166599945002067083108046186938884197850833903819874300055918572881902243807402056183061353597388735823226551603960808366755479348922843761290809367291917784416908705995641067211053642886965315175377346591434053346425336138151615119793697622175744086222421126414801150718694584895484314628281687731670076099595669520797456092697189384992907045651119483563579555732452885167804946285714250644596012152667054245969378706394964630964679060519519698637880681918919895994495694003759861213879124315324979123709745420269615864490183758871529027363502340530158431788831808398839176598100827000613706534749553423605136370112770662691305421735381735751673225176075208182153998690014083111876201791845547245652698215325763075787019070950922296150033339430427375556697074654708598261556437421252797222851745050182434271090249089401054865670686226282643746323361511110795242958410364742455364993990473950028012071271053664788927543002729046688864997419737492682328169592882216208350646426630288898828932652097995127651373172973312946391601530458390659368721351234804431549232012278466801218448770482540645617672188740144374972167829812969490750830924064562402674499892819489174793039796806546177277725370200127338367432065600477270057065019941956361860739877389154369379495842900103595483100861142344192215596791652902795630359060710080632655797462510283046435225616443268270807285203144585707118432540664007115296923719668356828613716609421349135957784082938438401384000990708812732698530512954689365023036909675821060185526472335230567024942877066911083653214996203710433136392426881270791393085623032126108775298883157101358587136363575500464922042498824289374921510854873500928324553877284477287701599601448284773060455765865149200204577688717678211553236164050974369077349470477353076578913635905324430403905331103227839005737668759818099516128237067483167430312966225824532286084089290730065810721434085753845461446984339607575101343110605943507257524673163733931790141519688709945451115991563925478382892077561511968217676605894749789210540511072436015776339254449443276792401427141605032181337979552475643198805252454333550229073190903756505184326445374599095549209727608296074465408578605365222516334868174228278903632861190443145860718598782762087058330917480212341306790743118220794008501141095789012818285669155090894280487216113596930732815843407701610836824991537612473906178865270539944225904186404567548062403378990764560701703652506907131200427112933054455344235704337325387748107680223175484558168328066302936636925596940716755426031537520641515603426311837347081089195666865953145651961742433925303615335208194896044892833888279776613709257365701165271833718921250260005398885858169610410016243424514881798622366593838585419009781631495626368996354557224593358214323333707103024106137975933340067346841547289873242639207045028187968097479437584286140313779122606580756730869426594928463221069039927923854741573303576602991751143470112217165428336920168257484651149007183109332928329926184324404567692224230502907553502225339727301365604809878205594955685724546112893205764937275868269026189700952422676482708592646310659894503110953647329537218767658539059356217891964304022025402888071251407 1563145892811335503455452129987434710843149935252128680827816826608981268412327038126699597672630163600064078654883477221921652789133548824564082065611949004937356541945708462317664928237216224162685990285518340245624509957407954215332237428824240801896510175959239881340820668465857010873934233069045844888663433881909814344598039530811360463011919204692704209477403953815092465423453111667627147325619953832812927872392195870720933608842765675730655607984375326916720027903138308095569999438005833543328569662802382520044302940048834032185888372652022231640481812303045636394737531797589957322207652742871916756001072821465923674664207459850564152575983380972978909963878014141469666748612586673617583601287437153660489584660973217318964685503891053965149978721882861019850394587084740399660208617316092676905480934194803286928709181409441145758728019536533447099533693609611940633850120169252919873384496098174021641345643147058045564740036826287894786698274064088304497730871643280911565549521510825021474317313473916523085707907649812911058008871855630019984554188836508569041251607617626123489798411922994087331107781541158897606086083914126306620874419275576422793959274624167957144461934743485855126550255813551339429081635620400452008362710384406360952523132622188962393877915206936450444336222031227883882647148581885702170088529727938554197133984731845739485981026498270852474389362741476600748310940124549392791075942078775795412548046806888995292029126374138296331872263240441335514626274286743736913889546890444231267450157496352629527495001066550510607730048496884943748231794019374121881952199349902186798467110712856846480729528062400547639992856564018073396388406757811763606699250565895728127380086454512289948656664504094865476369687576647705356274025087400403668587563356672813359164742754714697680496742135301030696091302885359201496962486113115051603106782017229195782923006716288379084081837500933491870751170287665358541114445563262945895017690689098193500319676551190898969694548095061968707659479243952647423362348506466968026688756338733576451625294461939907929803568949794189410924359807768314621364145415788987457611575346550082776149390994972751050428972668426236564051197703211605217229371300115364812398748506552338857422556052632957250043691340684479737673188624926678974652857455783014410933534228947005332221713305149284461832867112121413987557456190171889158222229940299754588828695171486650453433426952753063986419078416894013206717190061570141950064728246686949003986577032931901889634096200036047061147960089583945160649128453984898552621988362276073363818820823298705445625379416703745330986424936565694222075289612164630378666599897468634622825286798104469934636866290976398282478663583746372296144236311219202208250343989460014811574522512128742043505059342429600386237190582190872263996723838262764957535612917804111287354855303405645211381078356153334217154100014668110784824705880854071618544992771151379663544691502601552368102473424146651194011132304680576493396292037931940802626798785195355384334896826341064228890258618016981511696296715075799247538747254565217977109657482988628476757114089389535336860728549305091713869954108285180794049225852559575797858884671671454695561636255384509742775646224176190114155865296742105001434141625590143831347737354822658736668543849062663595411608824555042784599490974249503859989396561691797539676845233549013237259254329372606230943216445043226016165768145275152187529049469695486648064493332288475974972818196628330442868212704523581320663598871996101930621910063117598527688749505134070080599295254292795759979354448656759433344813560589063350964783047692743001022811114541877133213720817019960663440959233657552632878669600214758906867874035392919238302427160716113997276560427369358691964556719659093277616711842158774365758827085841302448255233347636486138412131504990271408149459751558767455108286748706707003974767335859427327683668376379799453953983352194899010613078443794601267372279902874984177867531670649474402235220753113345130124072771 2529223183943540768273392790129313336796888223634655651845948123651323985340209434911919107115913525845148702680768697570104019430517833013374091250280641237765406645635247150192963856162113545778449772711919072859116936148172324222153379841391670682997832775848168673330188429083077630032734672354454140504019004451608107147995553932899770971220454942672960461627739118292369274337183494005020875172037846440415929020644036631050199428358184965169293162508659222526427816259343655765988855896396063821019118294552187152577836179050049953694351545886290805536258432491988131865058595397623334247527376380719917890200564178056740098534554567001572505163290719166392696931186550306929332296865304582822370254469032621616888222480372331309513013364718924746461209934802717499775186569757575040543218350381877519275853802240064028452832504598351129925327964538600530207579880548496138484684023989127219929303068980076265448747699330119399162128772649514446390659082430843783846653715404571720932841439295241930180312954541127576728594872964988288404600305908976445320692340451628362738873783361712345910924826724144806025692677025473525887773815584202406216543940073032515491148659617075002795581418307065410859003140981356285714795886264996464161029764630375739658918097253153641454397434905574331126255141927222379576650908443099581294403854707062263942554254347710229669739898027298215976729892899908389580119338963725990891902942692482330162101470412025365404799789065443718067253998992114560690701482468897735603903630002320433059295704742005327742820764142337529678680970793034977087662221394930818956606907948163743235888363510079698225779710496671637889082257618883744082614689401558086968210361361138686537744828909877283939130614532106936747423352365575248359003071776265401088325056039000982952046958963065344107127031034129963348189298013010574669935799059506653133565172676597917134157811147837611096360304302151940641233710933283030729854589938235113724830660179849024424384238953865398862514037269855008504466025421230372793562475844834400092289233608790641471567250823800647807192723319173685253824463403251415482506489608004584249264478142180441836859471627628548512939255714861462180494465974018890420373957007233797353062755621849262577090912881246673859465040476642263820611627026310679965361670188481544923888223593970042241897534365334810934168097679146356864624367273825104154425940373436147015709965962879736076465553061528362869576179775481149570292690526492184448889017621608459858860077961256455766918573487737646662596244862644400926514277654189476241339666573829309527869795192376054916102732493282658966891749366969599553178517451170368047426417996984762859892769965534782900862690823262482371769393649557093730229990156680649192589951564561357922180466019386266716668793274219741905925900527641988255560649316645657035097124886021787893249605092616185722453514371929673471603543291460512211966310913035409598097468414350184915999025052830625559006229929330977639385731400229786221004588112397349381232164007711690252509125105244697090080701763877700110479058802134130165018959595872008720227878276997129617852903102207821006015819443585578929983551039017996637456927463396400789396497145577633560832176199610413929180213772238593493146629857443808653941048756790570944280791810166894441005869236810771275634784309113211112665793910886429456930113317117829077197486749152439549096601410461801897809169590695187758599693448890487395723945514588320536344269945997733340673983468462049364118472709922467178833209282012345355136791861739965121527334924143851712094921623289150317203947806871082767051916584695201326898123115039584548312684357181084178241908785117440101025245373971331755485250356945628333462802498613988278230351015457687300853163419120502162076773885087430197784969326809923372941936418769632374439557752204178362642634412543773633489187052924372264986492343662392728520880229065192264959536645405989154906406028677607603259389103689104378325927232412202945526070730005692294199524775138748018195324178 4092369076754876271728844920116748047640038158886784332673764950260305253752536473038618704788543689445212781335652174792025672219651381837938173315892590242702763187580955612510628784399329769941135762997437413104741446105580278437485617270215911484894342951807408554671009097548934640906668905423499985392682438333517921492593593463711131434232374147365664671105143072107461739760636605672648022497657800273228856893036232501771133037200950640899948770493034549443147844162481963861558855334401897364347687957354569672622139119098883985880239918538313037176740244795033768259796127195213291569735029123591834646201636999522663773198762026852136657739274100139371606895064564448398999045477891256439953855756469775277377807141345548628477698868609978711611188656685578519625581156842315440203426967697970196181334736434867315381541686007792275684055984075133977307113574158108079118534144158380139802687565078250287090093342477177444726868809475802341177357356494932088344384587047852632498390960806066951654630268015044099814302780614801199462609177764606465305246529288136931780125390979338469400723238647138893356800458566632423493859899498328712837418359348608938285107934241242959940043353050551265985553396794907625143877521885396916169392475014782100611441229875342603848275350112510781570591363958450263459298057024985283464492384435000818139688239079555969155720924525569068451119255641384990328430279088275383682978884771258125574649517218914360696828915439582014399126262232555896205327756755641472517793176892764664326745862238357957270315765208888040286411019289919920835894015414304940838559107298065930034355474222936544706509238559072185529075114182901817479003096159369850574909611927034414665124915364389573887787279036201802223793039942222953715277096863665804756912619395673796311211701717780041787623773169430994044280600898369776166898285172621704736671954693827112917080817864125990180442141803085432511984881220948389270969035501498059619848350868947217924703915505056297832208585364916977212125504665183020216924824351301368118977989947524217923192545285740555736996292268967874664748823211019730103870635023793571706876053488730524613008862622601299563368228383287698744545663677230495637603328307349162165461504128401601434513468933879631109508731817326743558284815651237358940014527644264559334821757822917047574119247670484095396000964791267770852181823463996993312648170313735901604538661134366386529898980014281426855995258192375162777009880588062326398953745868295408862846654994188357656552669687773693723744204952228346087163406108174374793961654936105382891688616015674760361728111909986404297878174303535293775253807063334998426093017894453397482718056763639252835499557114238880654248057233303466026374226467899851400840295554021372733754988531515008760173852616649342292163091109832860519557373154908421992632737803825899180604460396021830933834592728083007688757643306128622996791016793889481216642461185501564579543716555432177927108703353477628833396863704910362714400880150329290183858962792907045636844021931585761318970960381894681622175355517209929412557706850437226697337535759985758094610017191597356342876547992890670643853505147303177431506153315955976587255381817249088256393812454994923671955859996414783607302495154185913655375190382380714775628529164989553177674413085873434871046393133668253897265284885135933316919509878809626616874331982701452786355855739834408128752386035738413774765461594165639583252994984283807184408763278286209315646801665090379806986685414446048499496808154008447285758701924857563649216084429277921792694216877581946077183302255527842200396730145284264677862906162732327549335495471722961311455629602137400764466204607628884388363919957160387240330676534006907516532778176173801298129723846489860854041330604746523475401681168968697738700763504610934822694791099840664501054765917534045041638646804483139720094779092369099732495647564924619592643205021785788608860389380872506613872467547483705645698207135287187123393602400655166696434745528252093148319396949 6621592260698417040002237710246061384436926382521439984519713073911629239092745907950537811904457215290361484016420872362129691650169214851312264566173231480468169833216202762703592640561443315719585535709356485963858382253752602659638997111607582167892175727655577228001197526632012270939403577777954125896701442785126028640589147396610902405452829090038625132732882190399831014097820099677668897669695646713644785913680269132821332465559135606069241933001693771969575660421825619627547711230797961185366806251906756825199975298148933939574591464424603842712998677287021900124854722592836625817262405504311752536402201177579403871733316593853709162902564819305764303826251114755328331342343195839262324110225502396894266029621717879937990712233328903458072398591488296019400767726599890480746645318079847715457188538674931343834374190606143405609383948613734507514693454706604217603218168147507359731990634058326552538841041807296843888997582125316787568016438925775872191038302452424353431232400101308881834943222556171676542897653579789487867209483673582910625938869739765294518999174341050815311648065371283699382493135592105949381633715082531119053962299421641453776256593858317962735624771357616676844556537776263910858673408150393380330422239645157840270359327128496245302672785018085112696846505885672643035948965468084864758896239142063082082242493427266198825460822552867284427849148541293379908549618052001374574881827463740455736750987630939726101628704505025732466380261224670456896029239224539208121696806895085097386041566980363285013136529351225569965091990082954897923556236809235759795166015246229673270243837733016242932288949055743823418157371801785561561617785560927937543119973288173101202869744274266857826917893568308738971216392307798202074280168639931205845237675434674779263258660680845385894750804203560957392469898911380350836834084232128357870237127370425030051238629011963601276802446105237373153218592154231420000823625439733173344679011048796242349088154458921696694722622634771985716591530086413393010487300196135768211267223556314859394759796109541203544189015588141559918573286614271145586377124631798155956140531630910966449868334250229848076307484098149160925040129651249386057977285314582959518524259750250864011604381815126304968973772293969007378896442677548038905376197832746104258709981416887089816016782035818906330169062470414127716806190737822097467074110687172048620248627097246122606364533075809789725571437967856312347302571114554510847842763489903868721706732955444813423471243175511340386340449814872747013677683762363851035301321509934692419558411208050815277830844403269063264769923670504893328432324514505366473519435891438160342610826729174035736362247937501363026017450882860559756604216624580500593430247118582730655935454550901275476842645890869084198088991637474848775118022471554079027729862689847687073854065488638016656288107100012681160361186597589135208757327706924890814739929599851749495542741608262803486114933282808606472782595105140148935405468262726639565091126800618735889353147036830458409051662145772381732654414319344059577576666446309235417565414036982887712462920293805177348892367436476249573837056186321174068963080779352377376651878962826721817225988654605337601136073768653377100449125011629722309316239139171285719909320975156447618680282322684206146681177442781465009931078796022362773849623195927455694071818731853892335452457150296210026561555626433601533365155043056126978976940498872127720753033224283942656320785133552429171105158124368515678330017436020792640895493786597528770743419353421773504789138500871096394387250062398924967448646729979466004761029277771912097648179828904045489697538387254840865491449981600216143849170314106015573793479032620895794763129191631488598982887265610363016118104489833953673186650495778621111642699923380567197134348852044842863697400330077818675127833857407511985081271436031492461016527793989811857602741667191777763766795409550114217131856651172810024024134367699390068919673130660858990634270303390841166514721127 10713961337453293311731082630362809432076964541408224317193478024171934492845282380989156516693000904735574265352073047154155363869820596689250437882065821723170933020797158375214221424960773085660721298706793899068599828359332881097124614381823493652786518679462985782672206624180946911846072483201454111289383881118643950133182740860322033839685203237404289803838025262507292753858456705350316920167353446986873642806716501634592465502760086246969190703494728321412723504584307583489106566565199858549714494209261326497822114417247817925454831382962916879889738922082055668384650849788049917386997434627903587182603838177102067644932078620705845820641838919445135910721315679203727330387821087095702277965981972172171643836763063428566468411101938882169683587248173874539026348883442205920950072285777817911638523275109798659215915876613935681293439932688868484821807028864712296721752312305887499534678199136576839628934384284474288615866391601119128745373795420707960535422889500276985929623360907375833489573490571215776357200434194590687329818661438189375931185399027902226299124565320389284712371304018422592739293594158738372875493614580859831891380658770250392061364528099560922675668124408167942830109934571171536002550930035790296499814714659939940881800557003838849150948135130595894267437869844122906495247022493070148223388623577063900221930732506822167981181747078436352878968404182678370236979897140276758257860712234998581311400504849854086798457619944607746865506523457226353101356995980180680639489983787849761712787429218721242283452294560113610251503009372874818759450252223540700633725122544295603304599311955952787638798187614816008947232485984687379040620881720297788118029585215207515867994659638656431714705172604510541195009432250021155789557265503597010602150294830348575574470362398625427682374577372991951436750499809750127003732369404750062606909082064252142968319446876089591457244587908322805665203473375179809271792660941231232964527361917743460273792069963977994526931207999688962928717034751596413227412124547437136330245213503839077317952341395281759281185307857109434583322109825290875690247759655591727663016585119641491062877196872831147639675712481436859669585793328479881695580613621932121683985763878652465446117850749005936078482504111295750937181258328785397845390725477010663593531739239804137390136029706303001726170027261681898568988014201819090779722281000907950224787288231612509136263513090091216581566696160231475124312451702616837246796509358199277584553387949633171080023912863285034110084654767101093100841089870538225829262976446040075311247027223725575639558956313255467562648097974040187103686131577840364899612453785891557825328883492813288571861805051740243680265508116164025782978443092480351994270542672604103389690443082416284237016498507518426490252082747307709294675395626462501020362600493673586254458525884659847590122699828095688849118829903717758205548344500814372031382390785353314075086458163694981413223636636286235306179458810050511649806348413055929748950089593525781526197168968416219728022622527667063354829769836553988990134373296746462114902949796968645807072937485402533691768915429366920217690561333624351500469234095308353963907260780075810073619801109600261273091933765068160707751620165815635964691429521552000495537850140146000796354695408557641017727570576449718907196363681158296090769133074737082310946150714555345121808312890130618155313941662172015308130616637221766562229935483155934905161796502570151971967586798642808978091843538814564177826825590029239926654195711455092419959503782699695297483355378453042471570552317926767167845376875263730682623935440504239646983675300627006801153167989392241629957654589229100532213090271266402814124155566627803311295907367805289897112611112100223870159435094580477148588331664747318850343463427991502019829139951885507364752166247611863716766480661890651705176050528400592193512175358914431450245946688977566372627184790422620831004324198656515669722341502986577192313275531316025687069015831642934314834118076 17335553598151710351733320340608870816513890923929664301713191098083563731938028288939694328597458120025935749368493919516285055519989811540562702448239053203639102854013361137917814065522216401380306834416150385032458210613085483756763611493431075820678694407118563010673404150812959182785476060979408237186085323903769978773771888256932936245138032327442914936570907452907123767956276805027985817837049093700518428720396770767413797968319221853038432636496422093382299165006133203116654277795997819735081300461168083323022089715396751865029422847387520722602737599369077568509505572380886543204259840132215339719006039354681471516665395214559554983544403738750900214547566793959055661730164282934964602076207474569065909866384781308504459123335267785627755985839662170558427116610042096401696717603857665627095711813784730003050290067220079086902823881302602992336500483571316514324970480453394859266668833194903392167775426091771132504863973726435916313390234346483832726461191952701339360855761008684715324516713127387452900098087774380175197028145111772286557124268767667520818123739661440100024019369389706292121786729750844322257127329663390950945342958191891845837621121957878885411292895765784619674666472347435446861224338186183676830236954305097781152159884132335094453620920148681006964284375729795549531195987961155012982284862719126982304173225934088366806642569631303637306817552723971750145529515192278132832742539698739037048151492480793812900086324449633479331886784681896809997386235204719888761186790682934859098828996199084527296588823911339180216594999455829716683006489032776460428891137790525276574843149688969030571087136670559832365389857786472940602238667281225725661149558503380617070864403912923289541623066172819280166225824557819357863837434143528216447387970265023354837729023079470813577125381576552908829220398721130477840566453636878420477146209434677173019558075888053192734047034013560178818422065529411229272616286380964406309206372966539702622880224422899691221653830634460948645308564838009806237899424743572904541512437060153936712712137504822962825374323445250994501895396439562021276624884287389883619157116750552457512745531123060995715983196579586020594625922979729267753557898936515081202510023628903329457722232564132241047456276405264758316077701006333436750766923309756767852241720656691227206152811742121908056339089732096026285794204939641188246796391688079998845035915328858631742628046165901006307138134128087787471615022817171348094639272848103146306260120905077984503495156038796374496425104581973840114518773632902076864564297955974767730805438431776390917389800716524530827418021644545080432118456092345731373131889677329718167939710221987324308224052989241606706282958999024585539582659717060852587700789791186834045625897633317559713859144398387510688341074384782558069793418098016580048092463183521273328312591373297864246410806928108370009480016501306893414305672207739262846122320385205063570629199771957784899338569919094841778962053915190660585211816675782569314041216394144517415550316005246678137074284673439445087484184155898048567711039743055697532468363833951533519535857779207711040661282865843169791527617519945525569432314874660731340559139742902531890845789764205598874228007533721537808200745177445358274007668660723286215447171115302448415034977731241847164408748019231183917127442477180658864618756270664538005017969446409237457260770040426828181875497288605616841495771680277893541206875982028062625914829726854094628288371932195238149197001663183079856156843026050032567549689498052621190702923136121468802272493879324138865957802380325692135294023605243196687384964718276151744631855129531052290850706376647082495449104570829316676062260585372418387917634599248699106059036559436778496095498377710586886277539584414430821774982160525939961986163351372069216963488803930350228449566577689682391894314519298163690257321964432084654528703152904243307848688356169344136393980199972735048136180849829325693746475870685967261232948661976884677703286135033775481348839203 28049514935605003663464402970971680248590855465337888618906669122255498224783310669928850845290459024761510014720566966670440419389810408229813140330304874926810035874810519513132035490482989487041028133122944284101058038972418364853888225875254569473465213086581548793345610774993906094631548544180862348475469205022413928906954629117254970084823235564847204740408932715414416521814733510378302738004402540687392071527113272402006263471079308100007623339991150414795022669590440786605760844361197678284795794670429409820844204132644569790484254230350437602492476521451133236894156422168936460591257274760118926901609877531783539161597473835265400804186242658196036125268882473162782992117985370030666880042189446741237553703147844737070927534437206667797439573087836045097453465493484302322646789889635483538734235088894528662266205943834014768196263813991471477158307512436028811046722792759282358801347032331480231796709810376245421120730365327555045058764029767191793261884081452978325290479121916060548814090203698603229257298521968970862526846806549961662488309667795569747117248304981829384736390673408128884861080323909582695132620944244250782836723616962142237898985650057439808086961020173952562504776406918606982863775268221973973330051668965037722033960441136173943604569055279276901231722245573918456026443010454225161205673486296190882526103958440910534787824316709739990185785956906650120382509412332554891090603251933737618359551997330647899698543944394241226197393308139123163098743231184900569400676774470784620811616425417805769580041118471452790468098008828704535442456741256317161062616260334820879879442461644921818209885324285375841312622343771160319642859549001523513779179143718588132938859063551579721256328238777329821361235256807840513653394699647125227049538265095371930412199385478096241259499958949544860265970898530880604844298823041628483084055291498929315987877522764142784191291621921882984483625538904591038544408947322195639273733734884283162896672294386877685748585038634149911574025599589606219465311549291010040871757650563993014030664478900104722106559631302360429085217506264852896966872643942981611282173701870193948575622727995892143355658909061022880264211716308209149449138512558447202886495787507555794903840083313138177125938780516560509253258959335118834596157648786767431445773459896495364596288841448424909782509116993777924854782219141460279026518672688987949069823203560471140878891559255992222888704830288319262595927474519788185341435782206302423890813508854711155583519068902081408606509759349074933215359863503440302693827274402014843042052465655501966556948757029779998390066119618585267535804587670186096272744343463221275993268593714800612880085858040981850386548467115188611322561102809541204581971332463790937435316340715733843950875642905905937178593157132090267364468813724479081068455063677194859582771117257957711836533506756204058858598846405024651619854016708553634877504711170558377645715657935652766312562206555381077085141512725241172235018165088838499062991305987670298941747484973662897865096907201106508442313953992452037557845413039802159647371313630920179326608795264610244732430198295210090009218178853569877069901548969969085304466400522978341964465590873805860147319941298789698515952365343260994238699098182275286710985021255448449211389673139799488182136318595680902824323806158338954955387889345401620315964120160964582579069082930557446337189438950777632149626388317499660103436811465183997531076626229424246600255958730838047127288845201997644033983668616079272494203885209507713610662426918821164099755849257777181337528354698252459303139400480506927370008900158780391391615530430158059092003874366039324125406759160058417208275350856638821202041790165876502417354943927242068393208109489810810756436974678994907970363313825273258812329626779363571236792628755815857593201732825301546108660795181188815395433372492832676848040878511818674758094635045146910509021164990395355879140505048485841363468817373672544453546224193292910364772301966676709796182957279 45385068533756714015197723311580551065104746389267552920619860220339061956721338958868545173887917144787445764089060886186725474909800219770375842778543928130449138728823880651049849556005205888421334967539094669133516249585503848610651837368685645294143907493700111804019014925806865277417024605160270585661554528926183907680726517374187906329961267892290119676979840168321540289771010315406288555841451634387910500247510043169420061439398529953046055976487572508177321834596573989722415122157195498019877095131597493143866293848041321655513677077737958325095214120820210805403661994549823003795517114892334266620615916886465010678262869049824955787730646396946936339816449267121838653848149652965631482118396921310303463569532626045575386657772474453425195558927498215655880582103526398724343507493493149165829946902679258665316496011054093855099087695294074469494807996007345325371693273212677218068015865526383623964485236468016553625594339053990961372154264113675625988345273405679664651334882924745264138606916825990682157396609743351037723874951661733949045433936563237267935372044643269484760410042797835176982867053660427017389748273907641733782066575154034083736606772015318693498253915939737182179442879266042429724999606408157650160288623270135503186120325268509038058189975427957908196006621303714005557638998415380174187958349015317864830277184374998901594466886341043627492603509630621870528038927524833023923345791632476655407703489811441712598630268843874705529280092821019973096129466389620458161863565153719479910445421616890296876629942382791970684693008284534252125463230289093621491507398125346156454285611333890848780972460955935673678012201557633260245098216282749239440328702221968750009723467464503010797951304950149101527461081365659871517232133790653443496926235360395285249928408557567054836625340526097769095191297252011082684865276678506903561201500933606489007435598652195976925338655935443163302047604434002267817025233703160045582940107850822865519552518809777376970238869268610860219334164427616025703210974034582945413270087624146950743376616404927684931933954747611423587112902704414918243497528230371494901330818620746406088368259118953139071642105640608900858837639287938417202696411494962284089005811136459124361562315877270418173395056921825267569336660341452271346924572096524199298015180553186591802441653190546817838848206725873951140576424081101467273315064377067947914859118889329772621519605421893229195842964416407050067542497336959533436075055054405570197073629759789140087014224940877783102934863931048773329878637136342379558391572357989610772857904087278357474338557746304529217484141263130347967923043762531827645876233140550994161208303936787937188309911030223457092831426114213196862143762526602057169672122254977771480942238349051403664734787304293447866934231516872825434262231822495661116547526860716132911083708631255576082944313684312428868078862906331545034159688916292897723627031555763441216344857707610551211900776474475918864103566640431832820229981764621068377032522381814816357297800978909576002171191874545953529798138148350086125556452782857857179839677464871712846144653043817955773091481161053259800745796373515402639333863844629816645025540265880873855311380638011459021547948832511236324153110520706352512706766842998572926432192370750897626424650871041335346545066614912086741451248635519613820006645616066158320982089607373820036329852970984274519064936239383248991122159997777553644643687447212060156991455956278341228544330663033285276485846865180723890140511642129305061753574707560334801365350054942632902028343137101320203486157078578151438433424085750124057393864877056543136247385559689111382854580742686406620855863730887733884337611442011239589959424765125201523413980486678846889303607867521397642714514263409338792138295985799198774315790130735640453756117559746207821651299402991228500555109700486979085690694457264761502569581664722918065943323401316254645415145190368090927276685898315167057215293244358511714779172855269795042475588101710485277531796482 73434583469361717678662126282552231313695601854605441539526529342594560181504649628797396019178376169548955778809627852857165894299610628000188983108848803057259174603634400164181885046488195375462363100662038953234574288557922213464540063243940214767609120580281660597364625700800771372048573149341132934137023733948597836587681146491442876414784503457137324417388772883735956811585743825784591293845854175075302571774623315571426324910477838053053679316478722922972344504187014776328175966518393176304672889802026902964710497980685891445997931308088395927587690642271344042297818416718759464386774389652453193522225794418248549839860342885090356591916889055142972465085331740284621645966135022996298362160586368051541017272680470782646314192209681121222635132015334260753334047597010701046990297383128632704564181991573787327582701954888108623295351509285545946653115508443374136418416065971959576869362897857863855761195046844261974746324704381546006430918293880867419250229354858657989941814004840805812952697120524593911414695131712321900250721758211695611533743604358807015052620349625098869496800716205964061843947377570009712522369218151892516618790192116176321635592422072758501585214936113689744684219286184649412588774874630131623490340292235173225220080766404682981662759030707234809427728866877632461584082008869605335393631835311508747356381142815909436382291203050783617678389466537271990910548339857387915013949043566214273767255487142089612297174213238115931726673400960143136194872697574521027562540339624504100722061847034696066456671060854244761152791017113238787567919971545410782554123658460167036333728072978812666990857785241311514990634545328793579887957765284272753219507845940556882948582531016082732054279543727478922888696338173500385170626833437778670546464500455767215662127794035663296096125299475642629361162195782891687529164099720135386645256792432535804995313121416338761116630277857326147785673143338593306361434181025355684856673842735106028416224813196655062718823907902760771793359764017222245168522523325592986285027738188139964774041095305032407038493586049971852672330408969267815210370172173353106183504520490940354663990987114845282427301014701631781123049355596147566651834924053409486975501598644014919265402399190408595299333837438385776822595619676571105943082220883291630743788640449681956398730494638971727621357323719651875995358643222561746299833737066055896984682322449800913500411164677885452084547794704726312663469971856747718777510837260707994087887138614500295670533293842959191709444623280123706545238500639782682252218846760004453814910369742780324031287314776084527607550260881715615503727631432717923918620576603772270154476897651588550068395769071205307479379893229401808184704865336143261751643454718768708916258579064785247615610430210199385045527388648963092798731045546974742185002590537910992493854825889213287919477820440516487726677709311356196654013705624846532601131742726321818862060515643263317524462983029856995949245079365673005055248146853459567440023828369485115299045285952572473867268099075652461972112092140802123683401865822660016827210991095791892172753448308428200505521679456263349809963975227085279709235412814598901949491940788859215819776971511817319168867890131300934840105475863967346751405865025273859637417213626199346837814324010840823528681385210592989565775054793858568775394534961467778636946209768338402615398935901541720856254375190160881140748548315277213748080498912396057688068082185702587828800289393871332403774692067178367924124180258208577555957459917068048412027776973763797001784192394878501541014511776830610741572824566257051427402765035836934527862915989847170474858455108725730746262622890946151092612962298650060792001214931001703940768924413920915282511717357332208399151488942404246762501609811072457586645416910099211690548746315562065414853032228292774609215904881675794481124066950097438350610460176541592824037958446463165154436310180763446806417190946801008420684110618031056168325397048562705407247890068387195073714753761 118819652003118431693859849594132782378800348243872994460146389562933622138225988587665941193066293314336401542898688739043891369209410847770564825887392731187708313332458280815231734602493401263883698068201133622368090538143426062075191900612625860061753028073981772401383640626607636649465597754501403519798578262874781744268407663865630782744745771349427444094368613052057497101356754141190879849687305809463213072022133358740846386349876368006099735292966295431149666338783588766050591088675588674324549984933624396108576791828727213101511608385826354252682904763091554847701480411268582468182291504544787460142841711304713560518123211934915312379647535452089908804901781007406460299814284675961929844278983289361844480842213096828221700849982155574647830690942832476409214629700537099771333804876621781870394128894253045992899197965942202478394439204579620416147923504450719461790109339184636794937378763384247479725680283312278528371919043435536967803072557994543045238574628264337654593148887765551077091304037350584593572091741455672937974596709873429560579177540922044282987992394268368354257210759003799238826814431230436729912117492059534250400856767270210405372199194088077195083468852053426926863662165450691842313774481038289273650628915505308728406201091673192019720949006135192717623735488181346467141721007284985509581590184326826612186658327190908337976758089391827245170992976167893861438587267382220938937294835198690929174958976953531324895804482081990637255953493781163109291002163964141485724403904778223580632507268651586363333301003237036731837484025397773039693383201834504404045631056585513192788013684312703515771830246197247188668646746886426840133055981567021992659836548162525632958305998480585742852230848677628024416157419539160256687858967228432114043390735816162500912056202593230350932750640001740398456353493034902770214029376398642290206458293366142294002748720068534738041968933792769311087720747772595574178459414728515730439613950585928893935777332006432439689062777171371632012693928444838270871733497360175931698297825812286915517417711709960091970427540797583276259443311673682733453867700403724601084835339111686760752359246233798421498943120342240681981886994884085983854531335548371771064507409780474043626964715067679013472728894360211044391932280018023377290006792979815830041803821002868548201172147829518545460205530445525827135935067303663213573148801443123844899541441339130686121930770099778681280390759121133362731012469193707252213585892315113564284960768374289435757547518783836974812379487211172479875117137776125061810610419117994064587768273830058681505625872522389056825034402144845963471650675195249751564496809744323264315685201588376487256705680101428764572211319343615005046848627862745318921315576973746480397200817413836651280345217514492832912461620165835918232993277369470403301550117398627125404938534520468864002422134124828916594756572217687741688173394541139430324758774282085260078405373350873868736363759504332914813348646006104837875478128618080635817056350751299931656343086931482049869439290950198415501910230289152209808958318605517874007050668560663605018898101352246156278613160617316609610709771600600682348569276659228718594517481054740089675088352149828778190415838963812171164258586384673699264112631868272432563849405996950244464238974881882158875226451825505076307226303429378182595401180577533936957928299375712222651728788872525995375319311429544130131870708313054767392724186359608117845059538141980929057344620056904617680260538932359091814264691900337882617711034624628383213393127028706429903812535531979821744500668855408762180006248652007175484796629912893477664110301549536281857713035851412137367118486621833884976950573740661300381960639696126905464182904900599762171815325224853606041866003205813585554639905796871656360961207040834852144304863875308273236504331631284003109771014582162773566814761407362199853180041841264510889981281847779419799851455371131537733693876845116175477899403862389567883104569903832500449723478170097680351246550243 192254235472480149372521975876685013692495950098478435999672918905528182319730638216463337212244669483885357321708316591901057263509021475770753808996241534244967487936092680979413619648981596639346061168863172575602664826701348275539731963856566074829362148654263432998748266327408408021514170903842536453935601996823379580856088810357073659159530274806564768511757385935793453912942497966975471143533159984538515643796756674312272711260354206059153414609445018354122010842970603542378767055193981850629222874735651299073287289809413104547509539693914750180270595405362898889999298827987341932569065894197240653665067505722962110357983554820005668971564424507232881269987112747691081945780419698958228206439569657413385498114893567610868015042191836695870465822958166737162548677297547800818324102259750414574958310885826833320481899920830311101689790713865166362801039012894093598208525405156596371806741661242111335486875330156540503118243747817082974233990851875410464488803983122995644534962892606356890044001157875178504986786873167994838225318468085125172112921145280851298040612743893467223754011475209763300670761808800446442434486710211426767019646959386386727007791616160835696668683788167116671547881451635341254902549355668420897140969207740481953626281858077875001383708036842427527051464355058978928725803016154590844975222019638335359543039470006817774359049292442610862849382442705165852349135607239608853951243878764905202942214464095620937192978695320106568982626894741306245485874861538662513286944244402727681354569115686282429789972064091281492990275042511011827261303173379915186599754715045680229121741757291516182762688031438558703659281292215220420021013746851294745879344394103082515906888529496668474906510392405106947304853757712660641858485800666210784589855236271929716574183996628893647028875939477383027817515688817794457743193476118777676851715085798678098998061841484873499158599211650095458873393891111188880539893595753871415296287793321034922352002145203087502407886685074132403806053692462060516040256020685768917983325564000426880291458807014992499008921126847555128931773720642950548664237872577077707268339859602627115416350233348643703926244135043872463104936350480233550506366259601781258040009008424488962892367114258087608772062731798596821214527899694594483233089013863107460785592461452550504599902642468490273081562854165177703131293710526224959872982538509179741884223763788931599622341934777664133364938553825859675394482441050454970991096729575821558372847906988789731428080812626796166521824110491296186420355638415907744062829265877998518402678643572839005536913187298473584432584663026561578975378306627967675483117386348095534470162099239965037325101449172634072051591212573016813231553493198888580672959031692515189313459396478621898895955647724692217957989008814799011031724322916445145486552707936538117898793360409682151921899954565345404321434281529043938342187100165985962925890517008407078940465888994137186260826742534189910762593725371777842930726275471540203257080179120785046955388372884054523736707390025850877474022322429954333492360184428177890834261659656455497191651549660674356784134840073579959420673746827685962057804689473827620544009421843599305494865323661646097359283729095113106004364062248641046015518496893546292201266619623149591302053298892722982403907837036098065873001358223236751370795715539001715594874509144050625267127724774067716231573686619705011272619256628331981140804685272004175533127620327683516886144909450775950084035230999537459738388872158546460173668494541696431625420904002470226905596727926858323285515180632239372921579073218264226912199394948730412191973217539383452332571490960137868113381109512780036069563536039311361173961854627128609404951829314520677454327042582185814441017492148217832317141515607944113947606623950934063834853610190870338651357363859576777718986919463838568047938828357459638203790502017806103714019240294242584954287765551894984540111067791917183898583514480420624051429966952395205856971368238484875424961304004 311073887475598581066381825470817796071296298342351430459819308468461804457956626804129278405310962798221758864607005330944948632718432323541318634883634265432675801268550961794645354251474997903229759237064306197970755364844774337614923864469191934891115176728245205400131906954016044670979768658343939973734180259698161325124496474222704441904276046155992212606125998987850951014299252108166350993220465794001728715818890033053119097610230574065253149902411313785271677181754192308429358143869570524953772859669275695181864081638140317649021148079741104432953500168454453737700779239255924400751357398742028113807909217027675670876106766754920981351211959959322790074888893755097542245594704374920158050718552946775229978957106664439089715892173992270518296513900999213571763306998084900589657907136372196445352439780079879313381097886772513580084229918444786778948962517344813059998634744341233166744120424626358815212555613468819031490162791252619942037063409869953509727378611387333299128111780371907967135305195225763098558878614623667776199915177958554732692098686202895581028605138161835578011222234213562539497576240030883172346604202270961017420503726656597132379990810248912891752152640220543598411543617086033097216323836706710170791598123245790682032482949751067021104657042977620244675199843240325395867524023439576354556812203965161971729697797197726112335807381834438108020375418873059713787722874621829792888538713963596132117173441049152262088783177402097206238580388522469354776877025502803999011348149180951261987076384337868793123273067328318224827759067908784866954686375214419590645385771631193421909755441604219698534518277635805892327928039101647260154069728418316738539180942265608148865194527977254217758741241082734971721011177251820898546344767894642898633245972088092217486240199222123997961626579479123426273869181852697227957222852517419967058173379164820393000810561553408237200568145442864769961114638883784454718353010482387145735901743906963816287779477209519942096949462245504035818747620906898786911989518045944849681623389812713795808876518724952590979348667645138405191217032316633282118105572980802308353175198714313876168709479582442125425187255386113145086823345364319534360897595150153029104516418204963006519331829325766622244791626158807865606460179712617860523095806842923290827396282455419052801074790298008818541768384610703530267228777829888173446131339952303586783765205128062285744272704877442814645329312946993038125494910244162223204682621890935122657808675363079167185628331410633141334203597702468666295472776192032805873439684995992582990446917402897687042539059820862641257619065171407542447028981823217427047614196092418798785847300828341524581807129274062836623802531916631818278402121061633899594274608666261669710660213892458550176300865239185050870450628980634929264717600285915548788102825335165243303731894930151015924322088690174320916190853746731680030360494707125393250649291290492339018871262345011054997190502038522825575942371377882680806204404089620839074136529872084978611731459815536573606146680976049292975932552719106543301318503033695764841312328217119102210549651012920513062748000690896569031383518428286644406373966133056339138526902898339395169953675811474875549699568058925277168622648633314745279631128761818724765116025620099835766292273774605141279134288861603142180227661652614933966196896116535652552802808519762847918856513646593711606892998049249141404489964941386748533528871631612293378187158469664445943489529507680567764295769931896551552653564058884342791379529166324814838814031031176656809409263458838145030015849487648135101585321870271402396996024861623889856083519088919734190284526811550005480499596134613921046514109779972661555922494323255514869134734215120439626142367807039420482883495354031417871781421404815770308567830991768915979158474066178611887861695490860780828757934046001341614753589764821838056970543859070614604000522142022004754139220923026522273804944637033359376482918342810191934534536856227706306694846408582555776207854247 503328122948078730438903801347502809763792248440829866459492227373989986777687265020592615617555632282107116186315321922846005896227453799312072443879875799677643289204643642774058973900456594542575820405927478773573420191546122613154655828325758009720477325382508638398880173281424452692493939562186476427669782256521540905980585284579778101063806320962556981117883384923644404927241750075141822136753625778540244359615646707365391808870584780124406564511856332139393688024724795850808125199063552375582995734404926994255151371447553422196530687773655854613224095573817352627700078067243266333320423292939268767472976722750637781234090321574926650322776384466555671344876006502788624191375124073878386257158122604188615477072000232049957730934365828966388762336859165950734311984295632701407982009396122611020310750665906712633862997807602824681774020632309953141750001530238906658207160149497829538550862085868470150699430943625359534608406539069702916271054261745363974216182594510328943663074672978264857179306353100941603545665487791662614425233646043679904805019831483746879069217882055302801765233709423325840168338048831329614781090912482387784440150686042983859387782426409748588420836428387660269959425068721374352118873192375131067932567330986272635658764807828942022488365079820047771726664198299304324593327039594167199532034223603497331272737267204543886694856674277048970869757861578225566136858481861438646839782592728501335059387905144773199281761872722203775221207283263775600262751887041466512298292393583678943341645500024151222913245131419599717818034110419796694215989548594334777245140486676873651031497198895735881297206309074364595987209331316867680175083475269611484418525336368690664772083057473922692665251633487841919025864934964481540404830568560853683223101208360021934060424195851017644990502518956506454091384870670491685700416328636197643909888464963498491998872403038281736359167357092960228834508529994973335258246606236258561032189537227998738639781622412607444504836147319636439624801313368959302952245538731713767664948953813140676100335325739945089988269794492693534122990752959583830782343445557880015621515058316940991585059712931085829351431390429985608191759695844553084867263854751934287144525426629451969411698943583854231016854357957404686820988079407212343756184820706030751612988743907969557400977432766499091623331238775881233398522488356113133319113878461483328667988968916993885366614639655106948010267866772852713519977351294617194195779351466756681030656582351868898613709144037429307856027708193764852715828414607940549936268950873991101393125560975736692579452247119336225690203728197969121422407288451185102530731582440514333256009400068306561906908578446696908675393744489648631509955614260522480267233640358776859024119610371080449072256512963877268828439637795433940296441923202360694274655533271703361202525255339833167846222043255519725237625135275775618372547594873111356176539808298899417959337151339148241258017244572712736338536096749660523736930679561161042331216708992870025567119832699591097342854071001900170449954875149060876793678687461873655675573987873574599402201200673594869846882840764476528452057265255972606464178655606883959682536324741938700664818999473120972908983297154038383172986710881955791295149625655365016966382645243249427068345572667328123683042125897701208053229019875851685336992611655537368147677317663813473185984238420661427838466684668954152677109221569718729674333556903616468911314778797347962829634438958456517848331000931434011291042436217430802965048023708021246464234935033646883715005991385696468315531030119887508023164395088535629309195419810354302048056736628303186522856017771687873593880705647393957116077645819284022729884348950384124274086563529641117080469410389225234923900987502249250188922937012759884256174454942702979814012084257048950539219059350437558547744853509839909662692418122281476260761045876876718318019762436264589708426986474921506813916012428950543275066432823230815985964503808622912163666214647067431201169158251 814402010423677311505285626818320605835088546783181296919311535842451791235643891824721894022866595080328875050922327253790954528945886122853391078763510065110319090473194604568704328151931592445805579642991784971544175556390896950769579692794949944611592502110753843799012080235440497363473708220530416401403962516219702231105081758802482542968082367118549193724009383911495355941541002183308173129974091572541973075434536740418510906480815354189659714414267645924665365206478988159237483342933122900536768594074202689437015453085693739845551835853396959046177595742271806365400857306499190734071780691681296881280885939778313452110197088329847631673988344425878461419764900257886166436969828448798544307876675550963845456029106896489047446826539821236907058850760165164306075291293717601997639916532494807465663190445986591947244095694375338261858250550754739920698964047583719718205794893839062705294982510494828965911986557094178566098569330322322858308117671615317483943561205897662242791186453350172824314611548326704702104544102415330390625148824002234637497118517686642460097823020217138379776455943636888379665914288862212787127695114753348801860654412699580991767773236658661480172989068608203868370968685807407449335197029081841238724165454232063317691247757580009043593022122797668016401864041539629720460851063033743554088846427568659303002435064402269999030664056111487078890133280451285279924581356483268439728321306692097467176561346193925461370545050124300981459787671786244955039628912544270511309640542764630205328721884362020016036518198747917942645793178328581561170675923808754367890526258308067072941252640499955579831724586710170488315137370418514940329153203687928222957706278634298813637277585451176910423992874570576890746876112216302438951175336455496581856347180448114151546664395073141642952129098435629880365254052523188913657639181153617610968061844128318884999682964591689973559735502535824998795623168878757789976599616718645706768091281134962554927561099622127386601785609565140475443548934275858089864235056777658617346572343625854471909211844464897680967618462137831939314207785276217112900449018538682323974690257031254867753769192513527954776618645816098753278583041208872619228161449902087316249041844834414975931030772909620853261645984116212552427448259119830204279280627548954042440385026363388610202052223064507910165099623386584763665751266186001306765245218413786915451754174045056171110887344532549762655597179719845751645472261538779417400461973357691803688465257714948065799337475448062449190231305896233519011301190799973355809708635869983684383572478378634379621991306940198866947822793369376663869436270274402529578345778532933132041856700896648086488715707720759745299196276406280449788357735322156379861508249025038528734779824263538999248557378203062319698890266776068869561159523488276243062758358606868604506257150269984183770544131945694046153815989022507298402908089580236749427189099589391756978208413684159296255207746611235561914478468127543204543135083650781881405353238864955004178851292515127670949000751977949463425887427868167420094997190495569420516886316090693701612750851686515382909630841455373097483440783684259250870552621739940298821063227640278095834772675284595848458682865212963660341609359515270536574780754417183741731498670863349262834637846441933264962176414759304350233456681528466619303189507772073020700480126183576321104840752067255139445359682718203294081599186511105478207862428535228762289501937267012408773123968466137085612626770863330562843696000276315145756427552874346061303048966064823540524415254844534613345546879607535643124749716958807031706191444671978191904140255717222920713140544583237879074380301782007878162591755599256684285806843273639639143221297744761556706611778196264655406784482856280668060704358417575654564742285934471895793170558323227562427080754841298339376502787555841251277446007887103314317731589735947332922020284578286594462566207397948029087720957065983902651549351166041007920499040664850618470361061055649986977377012498 1317730133371756041944189428165823415598880795224011163378803763216441778013331156845314509640422227362435991237237649176636960425173339922165463522643385864787962379677838247342763302052388186988381400048919263745117595747937019563924235521120707954332069827493262482197892253516864950055967647782716892829073744772741243137085667043382260644031888688081106174841892768835139760868782752258449995266727717351082217435050183447783902715351400134314066278926123978064059053231203784010045608541996675276119764328479129683692166824533247162042082523627052813659401691316089158993100935373742457067392203984620565648753862662528951233344287409904774281996764728892434132764640906760674790628344952522676930565034798155152460933101107128539005177760905650203295821187619331115040387275589350303405621925928617418485973941111893304581107093501978162943632271183064693062448965577822626376412955043336892243845844596363299116611417500719538100706975869392025774579171933360681458159743800407991186454261126328437681493917901427646305650209590206993005050382470045914542302138349170389339167040902272441181541689653060214219834252337693542401908786027235736586300805098742564851155555663068410068593825496995864138330393754528781801454070221456972306656732785218335953350012565408951066081387202617715788128528239838934045054178102627910753620880651172156634275172331606813885725520730388536049759891142029510846061439838344707086568103899420598802235949251338698660652306922846504756680994955050020555302380799585737023607932936348309148670367384386171238949763330167517660463827288748378255386665472403089145135666744984940723972749839395691461128930895784535084302346701735382620504236678957539707376231615002989478409360642925099603089244508058418809772741047180783979356005905016350265079448388808136085607088590924159287942631617392136334456638923193680599358055509789815254877950309091817376998555367629971709918902859628785227630131698873731125234846222954904267800280818362961293567342722034734831106621756884776915068350247644817392816480595509372385011521297438995148009547170204842770955888256630525473437198538235800943682792464096562339596205315348195859338828905444613784128050036246084361470342737053425704095425304654021603393567271463866945342729716493475084278500342073617239248436338527042548035465448254984794053373770271358167603029655831007001788430862162465997064273754542114440084359096875270244119743142962050056477501984187656710665865046492698465165449612833396611596241324824448484719121840066816964413046619485491757046259014089998371727129605407913905745977586743974785776698039354371072201443554059535092638026521567345785291843558725587632109077360973447465297866100964954648395624286167456653974590020895929081298313349582678860128741889383815387758899434634619448320813891166939588527329904571502809857601446690636937337413891878571965708782405609817351616766175201213771391441124298282916775455684453348105603728907888291174937545565023307537513224991183948298253014564877203728280065763211942923736569947857825029745971125214718768291854822979849633875842303017228296888675877957443076192460303964268301014952052360110252756513682219849625935498048940231857334731277346824258503599552382216796499591674757716821367666162367002043514596070397226327869930380072548758697881316106598689902983419109261388645218540657005558286685701404318304640182119427610388848157443847389794290824990487916567283826367387157446758708408080824207882195985438845231200816716064360371602758407424593603460957771794764574134738436493745948721475576582367307767283901098470424239421246230231081661077909727423151147914112047342661015386864482332493952196992345526107235996562354925752668261007429401835278669401418540707015691192224023763417307861274402673787081188585489890330685470358529918249627295430335538820916740877174875607182642580276512966299814191735897924247641065681160940138426009384790578492635612824051240040047014551184170993193872869535901636969494934445926615783989271823906463544473473530634027275702717418178546170749 2132132143795433353449475054984144021433969342007192460298115299058893569248975048670036403663288822442764866288159976430427914954119226045018854601406895929898281470151032851911467630204319779434186979691911048716661771304327916514693815213915657898943662329604016325996904333752305447419441356003247309230477707288960945368190748802184743186999971055199655368565902152746635116810323754441758168396701808923624190510484720188202413621832215488503725993340391623988724418437682772169283091884929798176656532922553332373129182277618940901887634359480449772705579287058360965358501792680241647801463984676301862530034748602307264685454484498234621913670753073318312594184405807018560957065314780971475474872911473706116306389130214025028052624587445471440202880038379496279346462566883067905403261842461112225951637131557879896528351189196353501205490521733819432983147929625406346094618749937175954949140827106858128082523404057813716666805545199714348632887289604975998942103305006305653429245447579678610505808529449754351007754753692622323395675531294048149179799256866857031799264863922489579561318145596697102599500166626555755189036481141989085388161459511442145842923328899727071548766814565604068006701362440336189250789267250538813545380898239450399271041260322988960109674409325415383804530392281378563765515029165661654307709727078740815937277607396009083884756184786500023128650024422480796125986021194827975526296425206112696269412510597532624122022851972970805738140782626836265510342009712130007534917573479112939353999089268748191254986281528915435603109620467076959816557341396211843513026193003293007796914002479895647040960655482494705572617484072153897560833389882645467930333937893637288292046638228376276513513237382628995700519617159397086418307181241471846846935795569256250237153752985997300930894760715827766214821892975716869513015694690943432865846012153220136261998238332221661683478638362164610226425754867752488915211445839673549974568372099497923848494903821656862217708407366449917390511899181920675482680715652287031002358093641064849619918759014669740451923506718768357412751406323512018056583241482635244663570895572379450727092598097958141738904668682062183114748925778262298323323586754556108919642609116298281921273760489403095937540146326189829791675884597646872752314746075803938836493758796634746777805081878895514911953530485549050760730025020728115746849604315289057159571497317007106227588389328720206473321462226212544216810921874372176028996703298182140288407587097781765030212384094933554206236490319986231890738430796207887261555686222613958470160270517733005451823434860999733959585849314936722449161279828999990161687423139506380597339722801861602734884339993888216399273786297302209531086671084904835239990250138408853916493679258898158447569371269370001908226220171347571679418760970178913180400172250485440570215039555879801535387310307146907817545257113320790215178363774033584855030918007477682931915753978707466833768432737795183860167493033004746932823200846862724805141923186722780033924822417729846439240855574957799097301729730885395716983673068453012496709346620054962002627702904046625635666144523675222723418938832624491108205283899086764557324662780022494892334364350042312669826349027579965703856205429912496864444711134489732500429379986969947952737621265551194653607394955416309908520142382932784923943371627199683409548637570030966115395665742555171706729186050105360740840307594591929686090058413974073993490318653331372780375882375890730689073584542658095136978434436770061094477903129456713369070332867163293964763836501074765695006624789334958794272663829006149692721578309154310685856337248062749027949137106938163631742641309211409713441261157017797391301498035497663402560529159019164230493692966781754545737469953214810586310331653847911193385659026811646771400353200903504075393380569033034237300750428621522412217584433896488104896224225348771384162060331592837778633559401270817564989357926560918348578165135155312831826962585138324149104388336758367405155923183247 3449862277167189395393664483149967437032850137231203623676919062275335347262306205515350913303711049805200857525397625607064875379292565967184318124050281794686243849828871099254230932256707966422568379740830312461779367052264936078618050735036365853275732157097278808194796587269170397475409003785964202059551452061702188505276415845567003831031859743280761543407794921581774877679106506700208163663429526274706407945534903635986316337183615622817792272266515602052783471668886556179328700426926473452776297251032462056821349102152188063929716883107502586364980978374450124351602728053984104868856188660922428178788611264836215918798771908139396195667517802210746726949046713779235747693659733494152405437946271861268767322231321153567057802348351121643498701225998827394386849842472418208808883768389729644437611072669773201109458282698331664149122792916884126045596895203228972471031704980512847192986671703221427199134821558533254767512521069106374407466461538336680400263048806713644615699708706007048187302447351181997313404963282829316400725913764094063722101395216027421138431904824762020742859835249757316819334418964249297590945267169224821974462264610184710694078884562795481617360640062599932145031756194864971052243337471995785852037631024668735224391272888397911175755796528033099592658920521217497810569207268289565061330607729912972571552779727615897770481705516888559178409915564510306972047461033172682612864529105533295071648459848871322782675158895817310494821777581886286065644390511715744558525506415461248502669456653134362493936044859082953263573447755825338071944006868614932658161859748277948520886752319291338502089586378279240656919830773889280181337626561603007637710169508640277770455998871301376116602481890687414510292358206577870397663187146488197112015243958064386322760841576921460218837392333219902549278531898910550112373750200733248120723962462311953638996793699851633393397541221793395454055886566626220040446292062628454242368652917860885142062246543691597048815029123334694305580249429565492875497196247796403387369614938503844767928306184874583222879394975398882886188604861747819000266033946731807003167100887727646586431427003402755523032718718308267476219268515315724027419012059210130523036176387762148866616490205896571021818646668263447030924320936173915300350211524058923630547132566906104945408111534726521913741961347711516757794298775270230186933963412164327403691240459969156284065891312907863183987327272705242681976371487205572640592944623006588773126708937848581994625430714419045963282749334076230262465560401615801167301663809357933255936968557087376524024878415059269052223875836504068234453123387725577793796500500479828062637588902826557383279964280055673053248376318198138612384984434487514100118992027792669304252578693532777895890185160536941496753550075919074489276362416869550117737586142364012535923821961489618887004076482348121588936698237619073131953819458486932960634646915365974106853299543730774371281657728979132158420507597881950661103266610074667728878493134580605063670793542944565207532710397937648731177572033902624013872348946410455572901806924019230303642654956406735888422658205895072349354436881564722965540015176433588815828262332404711688833956024800029491194015189946967747370801500309723192314641514562281259127261303076546642640604684660456042252613496073315466806828084337103228583553746627293798396795013878355909686490733043088274013012417492518187599016002672753893972254399412919224691135369395733151978640783315324292534542314452859711113172873263807043199378706039080676837616768261764389003257747304996776667702699062381945420577941053492353736965173636643179808534240408275135185133669293089384410902316640811548719930558436338098317189227721687165977837020293566904280774155367244436068155423573340504559958949278246732206575767688821647007535843483780588359680383224770135224998069687203573157722859905872895474716860961595435402100378607388962804552595143687100890994896055852794504780919144584655733426129611797679738415612461084823334469353996 5581994420962622748843139538134111458466819479238396083975034361334228916511281254185387316966999872247965723813557602037492790333411792012203172725457177724584525319979903951165698562461027745856755359432741361178441138356592852593311865948952023752219394486701295134191700921021475844894850359789211511290029159350663133873467164647751747018031830798480416911973697074328409994489430261141966332060131335198330598456019623824188729959015831111321518265606907226041507890106569328348611792311856271629432830173585794429950531379771128965817351242587952359070560265432811089710104520734225752670320173337224290708823359867143480604253256406374018109338270875529059321133452520797796704758974514465627880310857745567385073711361535178595110426935796593083701581264378323673733312409355486114212145610850841870389248204227653097637809471894685165354613314650703559028744824828635318565650454917688802142127498810079555281658225616346971434318066268820723040353751143312679342366353813019298044945156285685658693110976800936348321159716975451639796401445058142212901900652082884452937696768747251600304177980846454419418834585590805052779981748311213907362623724121626856537002213462522553166127454628204000151733118635201160303032604722534599397418529264119134495432533211386871285430205853448483397189312802596061576084236433951219369040334808653788508830387123624981655237890303388582307059939986991103098033482228000658139160954311645991341060970446403946904698010868788116232962560208722551575986400223845752093443079894574187856668545921882553748922326387998388866683068222902297888501348264826776171188052751570956317800754799186985543050241860773946229537314846043177742171016444248475568044107402277566062502637099677652630115719273316410210811975365974956815970368387960043958951039527320636559914594562918761149732153049047668764100424874627419625389444891676680986569974615532089900995032032073295076876179583958005680481641434378708955657737902302004216937025017358808990557150365348459266523436489784611696092148611486168358177911900083434389727708579568694387847065199544323674802901694167240298940011185259837056849275429367051666737996460107097313524025101360897261937387400370450590968194293578022350742598813766239442678785504060430787890250695299666959358792994453276822600205533820788052664957599862862467040891363540851723213193413622036825695491833260567518524323795998345933783567727453384563262737776976262511654280641628069657308789498917786898787293361577748669589647921188729061534296035630347024837814809352600169519239654062462153203991197823688428857350031971891726097239074820381975848313276059003011809725151440790683614403216725567955483923639986208659977311704688160118164304273943889452522162615500348143471655519392349340109242166201523220746257952430936343459556429906943404979770247266646168695123387048463298137758392849453106138861517369420422391386789495029406481955350939863347132183232520517815665564922843657038769053522438241205050090466774316018588000630886697593926467456937392534020416321303385097595615960674411646773565972895447828479301764788019730856022014863468069611153544074192306270357860453361524088802729570295072773375714189214073745299075520353373152925112427206581168320374842342161020364217526933451227006930222220056759352649052013759556641290046494595378225950211650695860008451489625375326970467269888152526925373826977207945432583909322025082156475598259980742198467597878928439323597264683580062312813386993218181454022727105932354523159206054981608126857110954848091607310033868137677281835495794045907949635425058353767094248379762471674327488397340739693241770059642046458543482790953865664871488471024163134270776231253016153543625852221262161191715454135489618687263219350568538366179312731134774467122148998981805625376788151090870290603126157925592234794500468418407889044387284663753060952257804372525748498308725985375307293802361000370941086310366819564160710200226741438111996414504665880352822616771143082946054299897487560388714750121828842803949219452228490392537243 9031856698129812144236804021284078895499669616469599707651953423609564263773587459700738230270710922053166581338955227644557665712704357979387490849507459519270769169808775050419929494717735712279323739173571673640220505408857788671929916683988389605495126643798573942386497508290646242370259363575175713349580611412365322378743580493318750849063690541761178455381491995910184872168536767842174495723560861473037006401554527460175046296199446734139310537873422828094291361775455884527940492738782745082209127424618256486771880481923317029747068125695454945435541243807261214061707248788209857539176361998146718887611971131979696523052028314513414305005788677739806048082499234577032452452634247959780285748804017428653841033592856332162168229284147714727200282490377151068120162251827904323021029379240571514826859276897426298747267754593016829503736107567587685074341720031864291036682159898201649335114170513300982480793047174880226201830587337927097447820212681649359742629402619732942660644864991692706880413424152118345634564680258280956197127358822236276624002047298911874076128673572013621047037816096211736238169004555054350370927015480438729337085988731811567231081098025318034783488094690803932296764874830066131355275942194530385249456160288787869719823806099784782461186002381481582989848233323813559386653443702240784430370942538566761080383166851240879425719595820277141485469855551501410070080943261173340752025483417179286412709430295275269687373169764605426727784337790608837641630790735561496651968586310035436359338002575016916242858371247081342130256515978727635960445355133441708829349912499848904838687507118478324045139828239053186886457145619932457923508643005851483205754276910917843832958635970979028746718201164003824721104333572552827213633555534448241070966283485385022882675436139840221368569545382267571313378956773537969737763195092409929107293937077844043539991825731924928470273720805751401134537528001004928996104029964930458459305677935219694132619396909040056315338465613119306001672398041051661233675108147879837777097323518072539155775371384418906897682296669566123185128616047007656057115309376098858669905097347834743899955452104763652784970106118678718067187462808893746378161610872976369965714961891822579654506740901196237981177439662716723853524526469994703353015169123921786097588023930446956668621304948348558739437453180972084276318622571268576120717531139617711966953978236945418795720171954535932841296116771623029580763664848783321310182592544195317834661004973478929019463245523771646132801988988138692415669551599439489596159013841329824982034207631907758499873191691118272064033600987944858918067526604451145749280424140466036722614900607514717501444268553999562505770538933698486755856639953879863440228234193994192524998836645963714239349741590443884901733320323185720657971485803918013415875344535213465642062683478859039309395463271843150995418653588558936479086002691007450776300211838209631145622353066169015576331748195753448177008508228768648255029734067012060262898909455883990161266409503618976854306276370833096559656873798690643744728370961273923642512960468093422609913012816860097412511460935465367422127812595753937039285314251953942188981187444831918270002276399642371652214379407473901198597808430531943249073994163614295018683902593123041238018830634872106738112621947562940842133798551606991381110479120454271006342227597787677934768647208641348254755210885090397116038339599937437474034567212799912442872589392122839084333163942521379274142669171563814559204780183297675180876660541534874722745566403686822742770351995684759248342030187459722685113819711113134400195508656427597045473405728879299298319404445524342400564445942493032810881122273890473587935876490941037734516203199606298039055241277516243417873780800361491595430249552404404657798810562189290065415424887871065252112741335482574507750746567995929558533030153708233895845657947271962254966261088807615704242664591558191766771347718672623937587726973444482143293814844361919508581219561680537051824861891239 14613851119092434893079943559418190353966489095707995791626987784943793180284868713886125547237710794301132305152512829682050456046116149991590663574964637243855294489788679001585628057178763458136079098606313034818661643765450641265241782632940413357714521130499869076578198429312122087265109723364387224639609770763028456252210745141070497867095521340241595367355189070238594866657967028984140827783692196671367604857574151284363776255215277845460828803480330054135799251882025212876552285050639016711641957598204050916722411861694445995564419368283407304506101509240072303771811769522435610209496535335371009596435330999123177127305284720887432414344059553268865369215951755374829157211608762425408166059661762996038914744954391510757278656219944307810901863754755474741853474661183390437233174990091413385216107481125079396385077226487701994858349422218291244103086544860499609602332614815890451477241669323380537762451272791227197636148653606747820488173963824962039084995756432752240705590021277378365573524400953054693955724397233732595993528803880378489525902699381796327013825442319265221351215796942666155657003590145859403150908763791652636699709712853438423768083311487840587949615549319007932448497993465267291658308546917064984646874689552907004215256339311171653746616208234930066387037546126409620962737680136192003799411277347220549589213553974865861080957486123665723792529795538492513168114425489173998891186437728825277753770400741679216592071180633393542960746897999331389217617190959407248745411666204609624216006548496899469991780697635079730996939584201629933848946703398268485000537965251419861156488261917665309588190070099827133115994460465975635665679659450099958773798384313195409895461273070656681376833920437320234931916308938527784029603923922408285029917323012705659442590030702758982518301698431315240077479381648165389363152639984086610093863911693376133440986857763998223547149900389709406815019169435383637951761767867232462676242702952578503123176547274388515581861902102903917697764546652537829591853020047963272166825032097641233543622436583963230572485198363733363484068627232267493113964584805465910336643093807941841213479477206124550046907493519049168658155657102471768728904209686742609408393747395883010442396991596495904940536232657170000676124732003815491405680126723784648564628915293987808391834498361970595565132945014232651794842946367266922054501098867071096530216716013921681307374452596164002498604906270540816479550958210361069979772240465384046896195301009109276044301060333124246302321228642201154568873542797263178025016363873301716708131446706728140475721504967177275075843326139385649601681929821176713704764347780452245382592212312202877619608572827943451958292701549198834899328295473272212780337476360195715745745094598394650582809298020350828306713090570452366826666609190966476714013102928062918748201544996228459731786850061338180401900608939498799826218185923527968591965776761053288184391406588607256781381838662527764195596508859655345848956201523949452796919325777187375258862025464293388501079842343728544388136175563478663475584392976137391712124114012167614916183370677313458936600263665035662494901188309943151113030613327474295562134112557259124851170596774484713813234743625000834649824815360754163305833346812666308778240543883169535833397056585083757433972630399052566217460769018876879533637404494281248214287660181696999959850803684239608235497409352688276044477663197202121054096880026186905661054043414849945016687687101727434255750796028674769407296387493331543318553942377030668768653516039111881096537446244064521720016357675857063424807061481172776446654052139218550911138277217350323461453675221755595416717989568345254073042313989344609077554563754160388303054569378919029173829708399665242399679406177149642686300540155530562583391045356689758483823313932258349915865802287740378880276495066304655543908337447510594896216599033582329074530421799007842445680776587972696432651700541289395080670673027744379630854203559112041337424023510899989280315254428482 23645707817222247037316747580702269249466158712177595499278941208553357444058456173586863777508421716354298886491468057326608121758820507970978154424472096763126063659597454052005557551896499170415402837779884708458882149174308429937171699316928802963209647774298443018964695937602768329635369086939562937989190382175393778630954325634389248716159211882002773822736681066148779738826503796826315323507253058144404611259128678744538822551414724579600139341353752882230090613657481097404492777789421761793851085022822307403494292343617763025311487493978862249941642753047333517833519018310645467748672897333517728484047302131102873650357313035400846719349848231008671417298450989951861609664243010385188451808465780424692755778547247842919446885504092022538102146245132625809973636913011294760254204369331984900042966758022505695132344981080718824362085529785878929177428264892363900639014774714092100812355839836681520243244319966107423837979240944674917935994176506611398827625159052485183366234886269071072453937825105173039590289077492013552190656162702614766149904746680708201089954115891278842398253613038877891895172594700913753521835779272091366036795701585249990999164409513158622733103644009811864745262868295333423013584489111595369896330849841694873935080145410956436207802210616411649376885779450223180349391123838432788229782219885787310669596720826106740506677081943942865277999651089993923238195368750347339643211921146004564166479831036954486279444350397998969688531235789940226859247981694968745397380252514645060575344551071916386234639068882161073127196100180357569809392058531710193829887877751268765995175769036143633633329898338880320002451606085908093589188302455951441979552661224113253728419909041635710123552121601324059653020642511080611243237479456856526100883606498090682325265466842599203886871243813582811390858338421703359100915835076496539201157848771220176980978683495923152017423621195460807949556697436388566947865797832162921135548380887798197255795944183428571897200367716023223699436944693589490825528128195843109943922355615713772699397807968382137470167495033299486669197243279275149171079894181564769006548191155776585113434929310888202831877599637727886725343119911365515107065820559718979374108709287705590096903732497692142921713672319886724529649258473810194758695295847706434662216939224434765060455803310319154304570398195204736071161568938535498175218630006688808497170694250867100103094624550699935339901023042163846060314623059144391289954833009579364730856305982588205063764305856895892435123217630339846984543094396702667621175377714631541690165654338635898975594696658295547139876927127330508519749456425627859454044771920918282105207112919717595121052841381943014464063240482897321655184935427152076220565710554189908270743931244358364822159039610794713208446410893638087484638094994884490129888447463276384390264228475087499041182313333181331397319262528057736305304188614535419368265988599262919330013759654776272357713586858281212372605017088423994103985935590961513059818235233071365420128434967912365355386118714561640947793049362169307220312763937411315354637074480261037526096383494173556349111724600501029917029000905697088152315927579428237751115300002091043121172873174127085465449123032474735848422623791286106554907340976280603796924446476292577071415887219955864172085252346615507059594567570483870914747883614735519220629887779484677894619450892880956490252620237778673160516002797139558528131447238986818103926632806972784101020851044248813529893465200238583966501167676629218499430602918565543491399082442798703839307798239749280968358387863316786109920881192285910846849560795646147956611682946229622759773079667279937817282435510838286883923436263235082665490440245101426037570772578525327212884949677181485817553186977511134281730789707934967241189855918879048549238738820129415167978543623222953388027241634300585102441367601218828792062256980854291329496682887815458149923441179530888199423048259962019018258400001188861774148018403473960846005243072580526332140116319721 38259558936314681930396691140120459603432647807885591290905928993497150624343324887472989324746132510655431191643980887008658577804936657962568817999436734006981358149386133053591185609075262628551481936386197743277543792939759071202413481949869216320924168904798312095542894366914890416900478810303950162628800152938422234883165070775459746583254733222244369190091870136387374605484470825810456151290945254815772216116702830028902598806630002425060968144834082936365889865539506310281045062840060778505493042621026358320216704205312209020875906862262269554447744262287405821605330787833081077958169432668888738080482633130226050777662597756288279133693907784277536786514402745326690766875851772810596617868127543420731670523501639353676725541724036330349004009999888100551827111574194685197487379359423398285259074239147585091517422207568420819220434952004170173280514809752863510241347389529982552289597509160062058005695592757334621474127894551422738424168140331573437912620915485237424071824907546449438027462226058227733546013474725746148184184966582993255675807446062504528103779558210544063749469409981544047552176184846773156672744543063744002736505414438688414767247721000999210682719193328819797193760861760600714671893036028660354543205539394601878150336484722128089954418418851341715763923325576632801312128803974624792029193497233007860258810274800972601587634568067608589070529446628486436406309794239521338534398358874829841920250231778633702871515531031392512649278133789271616076865172654375994142791918719254684791351099568815856226419766517240804124135684381987503658338761929978678830425843002688627151664030953808943221519968438707453118446066551883729254867961906051400753351045537308663623881182112292391500386042038644294584936951449608395272841403379264811130800929510796341767855497545358186405172942244898051468337720069868748464068475060583149295021760464596310421965541259921375564573521585170214764575866871772204899627565699395383811791083840376700378972491457817087479062269818927141397201491346127320417381148243806382110747387713355006243020244552345368042652693397032850153265870511542642285044478987030679343191284963718426326914406517012752878785093156777055383498777013837283835970030246461588782502456683588600539300724094188047862249904977056725205773990477625686164375422571491083226845854518422573452290301672289749869703343209437387866004515305802420229719728873759905027387410264788781410469077146863937838505929312704662539865581269505461269727073474963411627051606991697481108065366190020138737444446272541001553416637193965845646191741587933258398297101045364039451316201625472822215720253266716158121431386246804573158809119701370527487799325231920472740661414209886466422355942032096156554513230900424289000903186914385624016489025842753015404968337631145541515159501464090454311304704185850966843901550391339303138465773471315958772969163394519511799219871467556536131522374538063387960231765360316207514405166243383529139095425520808976568201525948079339952942137114910965856737561010258740678990460432205753856465961058290185335929224925647970695897156913548707066761188492428652442279754171487015285711988265536692411930189215640239265346540906902533313249412559350167972343469948611799278683866657475570498247439152040269860740687788946912575164990359462112904812943805039621606057882745668073277055336589360750448385288109016767434917547961181677854470254577120564725750029590466949204993665994341679582228327265173723764980676221822729117708538145976247785644261228913353373797555169960761817984545295596212260052598481910584935845244483813802688374745539173849534727942673458687293503612934864698867749960163579946221226754889035533234000425079183540956965750252579691743045003999261814340625341957444356386714658076846728217232593154660776968031329863465529824580901275568807033062052752387765083844345910963332268303736700605240646349705048729423688278856014436620404027104686823300595604217767503584632074748801251414098929073028933241405002221962586002183429266583480515612455370748203 61905266753536928967713438720822728852898806520063186790184870202050508068401781061059853102254554227009730078135448944335266699563757165933546972423908830770107421808983587105596743160971761798966884774166082451736425942114067501139585181266798019284133816679096755114507590304517658746535847897243513100617990535113816013514119396409848995299413945104247143012828551202536154344310974622636771474798198312960176827375831508773441421358044727004661107486187835818595980479196987407685537840629482540299344127643848665723710996548929972046187394356241131804389387015334739339438849806143726545706842330002406466564529935261328924428019910791689125853043756015286208203812853735278552376540094783195785069676593323845424426302048887196596172427228128352887106156245020726361800748487205979957741583728755383185302040997170090786649767188649139643582520481790049102457943074645227410880362164244074653101953348996743578248939912723442045312107135496097656360162316838184836740246074537722607438059793815520510481400051163400773136302552217759700374841129285608021825712192743212729193733674101822906147723023020421939447348779547686910194580322335835368773301116023938405766412130514157833415822837338631661939023730055934137685477525140255724439536389236296752085416630133084526162220629467753365140809105026855981661519927813057580258975717118795170928406995627079342094311650011551454348529097718480359644505162989868678177610280020834406086730062815588189150959881429391482337809369579211842936113154349344739540172171233899745366695650640732242461058835399401877251331784562345073467730820461688872660313720753957393146839799989952576854849866777587773120897672637791822844056264362002842732903706761421917352301091153928101623938163639968354237957593960689006516078882836121337231684536008887024093120964387957390292044186058480862859196058491572107564984310137079688496179609235816487402944224755844527581997142780631022714132564308160771847493363531558304947339464728174897634768435641245659376262637534950365096638436039716811242909276439649492054669743329068778942418052520727505512820188430332336822463113790817791456124373168595448349739476119495011440349335827900955710662692794504942108841896925202798943035850806180568156611165971294190636204456591880190783963577296943449735423248951435880923070718419197517889062793742857338512746104982608904174273741404642123937166084244337918404938358880448713524558104515655881513563701697563873178406952354868508600180204328649852559681906484542776357907912974285686171829672046916031172567663902880848537959731590668513267367119302564800088462755383999938426910898283768369355597180394046666641180842672432432612853891622288809593006438151638067861714255591829480886419182514993478209698166327576365221468897468575532287232957087111380227127377241940254723605912357728541795942799180735456973789997854615687528730001946403457814151476727700843196539133995614272436826563152598807328497753959579126844418925898159801496809012379090188940806543036503334056928072705872478916555796243330106099118895400118119211852079772851826283722274287817277916209920850960022421398262972689689968376137665660571634823712866037722328959190121337327417662468486330771064364712561441211093516343122738884744132989689950306346670062943326376415648028765227516372089436835754689976228831024995485778143135092283580336649904159844621363133171723752286655547435740666355749089705470001521216002649828245622365509668791481238110359774504160541868907309028795513218729389190225061315537726429151937340298722846589980317415148214161755751451680924709288775153042723563083656733133402490635644648823865744598140353173730510846824361643109809568980999834556315471051282860590021827840889186515814774408535444244363240378196114535969683599599607754028214034785780132171911249762119571400497065770757194447855582300791572517180251822889534186285656330978334905825748791072649948252480341112995290911733523787574638758745527658947034472831497797061213433117187473030122103179150240366059963029434509656061041944595487067924 100164825689851610898110129860943188456331454327948778081090799195547658692745105948532842427000686737665161269779429831343925277368693823896115790423345564777088779958369720159187928770047024427518366710552280195013969735053826572341998663216667235605057985583895067210050484671432549163436326707547463263246790688052238248397284467185308741882668678326491512202920421338923528949795445448447227626089143567775949043492534338802344020164674729429722075631021918754961870344736493717966582903469543318804837170264875024043927700754242181067063301218503401358837131277622145161044180593976807623665011762671295204645012568391554975205682508547977404986737663799563744990327256480605243143415946556006381687544720867266156096825550526550272897968952164683236110166244908826913627860061400665155228963088178781470561115236317675878167189396217560462802955433794219275738457884398090921121709553774057205391550858156805636254635505480776666786235030047520394784330457169758274652866990022960031509884701361969948508862277221628506682316026943505848559026095868601277501519638805717257297513232312366969897192433001965986999524964394460066867324865399579371509806530462626820533659851515157044098542030667451459132784591816534852357370561168916078982741928630898630235753114855212616116639048319095080904732430603488782973648731787682372288169214351803031187217270428051943681946218079160043419058544346966796050814957229390016712008638895664248006980294594221892022475412460783994987087503368483459012978327003720733682964089953154430158046750209548098687478601916642681375467468944332577126069582391667551490739563756646020298503830943761520076369835216295226239343739189675552098924226268054243486254752298730580976182273266220493124324205678612648822894545410297401788920286215386148362485465519683365860976461933315576697217128303378914327533778561440856029052785197662837791201369700412797824909766015765903146570664365801237478708431179932976747120929230953688759130548568551598013740927099062746855324907353877506493839927385844131660290424683455874165417131042423785185438297073072873555472881827365186975728984302360433741168852155626127692930761083213437767263742344913708589447785951281997492340673939040082779005881052642156939113622654882791175505180686068238646213482274000174941197239429061567087446140990688601115908648261279911965036406654898654043977084614079511803170599550140338634658087754208618551945514780444662924032778844427811016912881667573171140045785598155313829408979959506187984959519965983167279895038236936169910012110175421850091376368784634358913558860890498058486759856429363977878227099909241191571317433660762824762612228919237005771663011323659337080805763383558540602375669801715947308775124547089634764211397228000654222372084382961156303721982929864395632095714873085796238765413821818996107247503366586423817691548245954990667195775417719416587120640122220354995759005463170808568348937690662195288729519319895334358824092141543330635904437899899165509008068984582674009870209820783444773293357253588846778109355832323873068318040831142011619651499213465248612107077764508729488159451465118342410655891837147586920535701131574414740889379336977566683009009393233304377614125120791379065859813071350684022816856347425876844917502095366646276388716554174428947254427195216802881041774830035107384201017837951653613705240749205371811518459832769054090464983701848033603559960047122085941752679418712571570503334785822917692588101769334265633887985250618242336437927336201309101181987658065290714096278016550742135399693509757968011504279406619873710998287207376886345107878941664485179376766539203285433856786665375545692111603273389515202226589445351004285283285669205368797854936768394466151580448243625054718821456493414039986314265830874942252018373286832688217793449434866026890351658470016662615362844324904945335667235445149617924634715035511066395140777698677676168619969009727532137550892261462059341131876714538057463572545862464847216116546059055344584152462328645965212863776239541557557050857816127 162070092443388539865823568581765917309230260848011964871275669397598166761146887009592695529255240964674891347914878775679191976932450989829662762847254395547196201767353307264784671931018786226485251484718362646750395677167894073481583844483465254889191802262991822324558074975950207909972174604790976363864781223166054261911403863595157737182082623430738655215748972541459683294106420071083999100887341880736125870868365847575785441522719456434383183117209754573557850823933481125652120744099025859104181297908723689767638697303172153113250695574744533163226518292956884500483030400120534169371854092673701671209542503652883899633702419339666530839781419814849953194140110215883795519956041339202166757221314191111580523127599413746869070396180293036123216322489929553275428608548606645112970546816934164655863156233487766664816956584866700106385475915584268378196400959043318332002071718018131858493504207153549214503575418204218712098342165543618051144492774007943111393113064560682638947944495177490458990262328385029279818618579161265548933867225154209299327231831548929986491246906414189876044915456022387926446873743942146977061905187735414740283107646486565226300071982029314877514364868006083121071808321872468990042848086309171803422278317867195382321169744988297142278859677786848446045541535630344764635168659600739952547144931470598202115624266055131285776257868090711497767587642065447155695320120219258694889618918916498654093710357409810081173435293890175477324896872947695301949091481353065473223136261187054175524742400850280341148537437316044558626799253506677650593800402853356424151053284510603413445343630933714096931219701993882999360241411827467374942980490630057086219158459060152498328483364420148594748262369318581003060852139370986408304999169051507485594170001528570389954097426321272966989261314361859777186729837053012963594037095334742526287380978936229285227853990771610430728567807146432260192840995488093748594614292762511993706470013296726495648509362740308406231587544888827871590478363425560942903199701123105366220086874371492564127856349593800379068293070257697523798192098093178225197293225324221576042670237202708449207613078172814664300110478745786939601182570864242881722041731858822725095724788626176981811709637277948429430177059570943624676620488380497448010516859409886119004971442004137250477782511637507558218250826018721635740336683794478257039596446634657332076503619296100544437596480541991684195319834022441679740225989926805166389090886444048964342867432940268853451724710283852201082579774078302698629336100375302872180925980193062858575222611813363916305137998193009560926914614054809491403793071591669438384516902945948146673812201535196608464089925393545428195194307062083112973909563555577019443840981851536688590954940016975775859223092115026050962371326179547537903190302547321880791481546100570678195925777364122874401272116849921198192298139458785081005175500843261002617227273279474461203243018039703132132713450278989354449814612021086008066798282526655923689849153496918952877228251232441992280170120603993837903373773501282526528316998615468751909557714437808032379032029502808158555359413997612137069848569458314894100671477879564075441978837682232590159376156194089568766949846037376183191587565038693022692036745319401945319343864030971492857270605855030593162344152930235233950355144909049993174651631556521340746012419442514389352649665517123607157755329246958193936013003577304155802947876273494807502795294279413755555167316526426370416719714087217228054395000863140722452814841723919723762955960331329162486151329930939970001841012344155120824025590404947883574209960395886392516473246383199084183226424001666475336566146259227196638744123284209240560115892487988295097017571029383723585913873584903156286804153419004599467555569006266523956122415664464518197663635897422125587490124979335903580965693370416892143931850348625928648961082005018443871074679836100818086659535661572530295070342923678280333304019089177447763302702694705928242298285895602599501646344884051 262234918133240150763933698442709105765561715175960742952366468593145825453891992958125537956255927702340052617694308607023117254301144813725778553270599960324284981725723027423972600701065810654003618195270642841764365412221720645823582507700132490494249787846886889534608559647382757073408501312338439627111571911218292510308688330780466479064751301757230167418669393880383212243901865519531226726976485448512074914360900186378129461687394185864105258748231673328519721168669974843618703647568569177909018468173598713811566398057414334180313996793247934522063649570579029661527210994097341793036865855344996875854555072044438874839384927887643935826519083614413698184467366696489038663371987895208548444766035058377736619953149940297141968365132457719359326488734838380189056468610007310268199509905112946126424271469805442542984145981084260569188431349378487653934858843441409253123781271792189063885055065310354850758210923684995378884577195591138445928823231177701386045980054583642670457829196539460407499124605606657786500934606104771397492893321022810576828751470354647243788760138726556845942107889024353913446398708336607043929230053134994111792914176949192046833731833544471921612906898673534580204592913689003842400218647478087882405020246498094012556922859843509758395498726105943526950273966233833547608817391388422324835314145822401233302841536483183229458204086169871541186646186412413951746135077448648711601627557812162902100690652004031973195910706350959472311984376316178760962069808356786206906100351140208605682789151059828439836016039232687240002266722451010227719869985245023975641792848267249433743847461877475617007589537210178225599585151017142927041904716898111329705413211358883079304665637686369087872586574997193651883746684781283810093919455266893633956655467048253755815073888254588543686478442665238691514263615614453819623089880532405364078582348636642083052763756787376333875138471512233497671549426668026725341735221993465682465600561865278093662250289839371153086912452242705378084318290811405074563490125806561240385504005413916349313294646666873252623765952085062710773921082395538658938462077479847703735600998285921886974876820517728372889558264697068937093523244803282964501047612911464882034838411281059772987214817964016668076390541844943799617817727809559015097963000400574720120880090265417162442818918292406212262227910632801147543507283344618595674254534388865950628449134076545207361629259386419495212232715690014850880271775524960480218499866403555152327826952906252020731619748520788370992591884253724548720712469159937231094484841083560917061982468242727894183365098102250752498232047715572316166405300510906444156179914269607483754617964918755149066465595195261375503969431609172747738120960783577673666213066234497844894676922946840171491318806988111847201136740001366534010437805913908304609173094346525668863121552781842290988392756972141553188057144921955889573524438533923197905956792599369795562067110181246462768617888178888519958822681005668682076668492347439368463142510750507799655337607064765865348488161435135849523025272714747775140424076379977481397717165902926374789687921339955745475895115129186551810737948795292460783680487272797379819592962803023969225235969265440252789766702384802060036505067134059668968425461873576374266598291226188295738312380685065700546545170768186887564060385658255364986170091389290394836477403144362422956209625564245693099508008665670765506516338363127073495535978042829073136683279530031997891605243862627679517901701745282518768491278879691464588214535233677691774460239737949036197149617138316856346948891285819606003402356944151169008066747061261938208584849656588599385453013447017479621849431928432565436599060052603706711696340731613349815839027522797763572228139415778098538822526705837287685349018441132550846474074134481180813026480222327070923157360424485521505600408405927958539072628047303604817581051014745976008625572097562877427791412376110587758642888786143127549420565148232792347455165023351893455162062135144157058697202700178 424305010576628690629757267024475023074791976023972707823642137990743992215038879967718233485511168667014943965609187382702309231233595803555441316117854355871481183493076334688757272632084596880488869679989005488514761089389614719305166352183597745383441590109878711859166634623332964983380675917129415990976353134384346772220092194375624216246833925187968822634418366421842895538008285590615225827863827329248200785229266033953914903210113642298488441865441427902077571992603455969270824391667595037013199766082322403579205095360586487293564692367992467685290167863535914162010241394217875962408719948018698547064097575697322774473087347227310466666300503429263651378607476912372834183328029234410715201987349249489317143080749354044011038761312750755482542811224767933464485077158613955381170056722047110782287427703293209207801102565950960675573907264962756032131259802484727585125852989810320922378559272463904065261786341889214090982919361134756497073316005185644497439093119144325309405773691716950866489386933991687066319553185266036946426760546177019876155983301903577230280007045140746721987023345046741839893272452278754020991135240870408852076021823435757273133803815573786799127271766679617701276401235561472832443066733787259685827298564365289394878092604831806900674358403892791972995815501864178312243986050989162277382459077292999435418465802538314515234461954260583038954233828477861107441455197667907406491246476728661556194401009413842054369346000241134949636881249263874062911161289709851680129236612327262781207531551910108780984553476548731798629065975957687878313670388098380399792846132777852847189191092811189713938809239204061224959826562844610301984885207528168415924571670419035577633149002106517682620848944315774654944598824152270218398918624318401119550825468576824145769171314575861510675739757027098468700993452667466783217126975867147890365963327572871368280617747558986764603706278658665757864390422156120473936349514755977676172070575162004589310759652579679559318499997131533249674796654236966017466689826929666606605590879785408913441150996260673631692059022342760234572113180488716884135755302804069279778271235488630336182489898690543037189668743442855876694705815667525846223089344770287607130563199907236754798924455241965097506567601415887424294438216190056463108479859810460839125851532269554412920601429929913770480478736651522783283843967139096852713850981023523282704952753372645751799225739928411179407552549712456530620497765451765646607590752847604116670694385846520874183344458804640572075171658332027247350048569535240103275410821276623775637205080056091810488503096295260313425146661770381807570198372102575882540696817215555630428430166453951757530555520588806803699163738671255860712030524339154693110054048086034533485631862963815947350541899103137898163508066180914071913628108461230185400654640447096347059047330145965165389664873822062751380355284380740970578699939377184200523184065878844256765310128220949594901331338457877874408637293026754690143466774874095292152991664247426752532565858297207857628658282039129687426399046216030301668741074995446233307274880340734407168719950842763904031254529126798688880586518253607354884351965152361455261571800485256559384612125459529821556716548422178243228092632172752691660462207192978319585942155257159788595582986540096293708889323698422121514415530567305358160821722945811735582489822586876812308859291081369300257263337912628959442529341940431229298483854316323880639478573809445753446772560389054049934621415832499746822886279742832187041029376957597415537416200069278198683300947069256826348789903629974726827427947349099052582276707457148330725058096039787683568679437448683954958415578187659762075343183336812947271812233219601644912856598552181487158142013000681254825626680124841887152904587447399074802596489798945699010690116119749196510647485403821425086566101776344850683004478395929533466542133019764419879700251933663695514450948037683118053713231709821407882724584237410240110757867718057821697460348030746756560343547584229 686539928709868841393690965467184128840353691199933450776008606583889817668930872925843771441767096369354996583303495989725426485534740617281219869388454316195766165218799362112729873333150407534492487875259648330279126501611335365128748859883730235877691377956765601393775194270715722056789177229467855618087925045602639282528780525156090695311585226945198990053087760302226107781910151110146452554840312777760275699590166220332044364897507828162593700613673101230597293161273430812889528039236164214922218234255921117390771493418000821473878689161240402207353817434114943823537452388315217755445585803363695422918652647741761649312472275114954402492819587043677349563074843608861872846700017129619263646753384307867053763033899294341153007126445208474841869299959606313653541545768621265649369566627160056908711699173098651750785248547035221244762338614341243686066118645926136838249634261602509986263614337774258916019997265574209469867496556725894943002139236363345883485073173727967979863602888256411273988511539598344852820487791370808343919653867199830452984734772258224474068767183867303567929131234071095753339671160615361064920365294005402963868936000384949319967535649118258720740178665353152281480994149250476674843285381265347568232318810863383407435015464675316659069857129998735499946089468098011859852803442377584602217773223115400668721307339021497744692666040430454580140880014890275059187590275116556118092874034540824458295091661417874027565256706592094421948865625580052823873231098066637887035336963467471386890320702969937220820569515781419038631332698408698106033540373343404375434638981045102280933038554688665330946398776414239450559411713861753229026789924426279745629984881777918656937814639792886770493435519312968306828345508933554028492838079585294753507480935625077901584245202830450054362218199692337160215257068281920602840216856399553254444545676209513451333381504346363098478844750170899255535939848824147199278084736749443358637671137027282682973009942419050712405412449374238627759114945048371092030179952736227846991094885199325262754445642927546884315824974427822945346034262884255543074217380283916983513872233774552223157366719208271410079227008139924813788229060470808810724136957681752489165401611188296527786139273205981765582958143260831223912255943999615478206442860211035559246731622534971575363420348222319982742706647284323930827351250483715448388105515412389233333401887449190959160854999314830674619785265402471381500769540976726126826090619251159268998521338752772894914964207325428943067763542585751796070761038695177334369895662360184692699187548298819704671868194397511065923378709485954123736603672613482326696876731485163114183048131372706906597021115784068179203133170280428608450151485122732366776267114320532378380308785910656118841860706091249745364644806182280605924065914375138490009827734793622015922168882927807456378057630794204304568412429302696860152224377911107398429140858478214052327377238402196057669949226636766394367459974032423372220135267221534660616134174997934552187903465361973722977146443474265536949424318930778076809165151375423714704992046243660781958407872182719649507149644255985240691324467048899815668032452425158835081164763288280528609848094724970074346483250806980303264597699306812360628887669066554693852540446483348084333895367225161994255434494466609009078475916225560723146991814335102130418967225731239235265068916645614993356771346578299724949045680303558302794019832359152953776161853339477751338377804251681729452523117577782265591377558622523651629243912191275107311876439807227234880450564207573682695738794915794332830830304293250221590343454518410268933642945696376282954132450895701434580265010116092327511942243389416653983508573951214994728695626074979250730370152416459353364449206830679174838253605888531625649070563933426879823716596342076267433804845828306946592166510182272809222077106443233138284123184034510395888325824031226572942242360413793705812356120495964535432145149385643032458213032741409715152622410165890913619040750284407 1110844939286497532023448232491659151915145667223906158599650744574633809883969752893562004927278265036369940548912683372427735716768336420836661185506308672067247348711875696801487145965235004414981357555248653818793887591000950084433915212067327981261132968066644313252941828894048687040169853146597271609064278179986986054748872719531714911558419152133167812687506126724069003319918436700761678382704140107008476484819432254285959268107621470461082142479114529132674865153876886782160352430903759251935418000338243520969976588778587308767443381529232869892643985297650857985547693782533093717854305751382393969982750223439084423785559622342264869159120090472941000941682320521234707030028046364029978848740733557356370906114648648385164045887757959230324412111184374247118026622927235221030539623349207167690999126876391860958586351112986181920336245879303999718197378448410864423375487251412830908642173610238162981281783607463423560850415917860651440075455241548990380924166292872293289269376579973362140477898473590031919140040976636845290346414413376850329140718074161801704348774229008050289916154579117837593232943612894115085911500534875811815944957823820706593101339464692045519867450432032769982757395384811949507286352115052607254059617375228672802313108069507123559744215533891527472941904969962190172096789493366746879600232300408400104139773141559812259927127994691037619095113843368136166629045472784463524584120511269486014489492670831716081934602706833229371585746874843926886784392387776489567164573575794734168097852254880046001805122992330150837260398674366385984347210761441784775227485113822955128122229647499855044885208015618300675519238276706363531011675131954448161554556552196954234570963641899404453114284463628742961772944333085824246891756703903695873058306404201902047353416517406311565037957956719435628916250520949387386057343832266701144810509003782384819613999251905349863082551028829565013400330270980267673214434251505421034809741712189287272283769594998730271723912446505771877433911599285337109496869779665894453596685764984734176195596639188220516007883996770583179918147443372972427209972683087986263292143469263182559339856617898814447268895751582780690482934876138334656947226302452040096295964811095533282585063728447946863089525744676718648206694160189671941314922720021496398372583154804525988284021778152233753223185383935846714111195217622812301101956496435912516038354640821836710960080739243241854027337815114927912121267306428491773433681372098763385669215724599293769098308666130069515142935200917779043420809608230417437645306483636808468336392628354911515160371290692771379348525371256335931306802044716058209237573548700718744611478297826658664127576636372874982902296908951684469162182009461887059886321162406566911865940648874472066192402605194387643528152872363194677837694022836368675410482375240718362981216213073772621767722504616267055948767713683437830730924317288291598952324924357058309092687366623145652571280565094644268776097267059178062363602042095629952769125839245361304720469323659181580605804725513395224375823365146808378477906226370869948012266926584395189127127823025483553538404173382783929571910985302507170552384417577520290342736563773537087994460220184499895903199799229158546492690331479565052289349876259533013438482601740507872929478353765258287964323818165031130592891446792866081307813537280913866001457048318116047573928207726984293614034684490928684391575022243989532092503686675476834415640427148923504785150364640735779387144533410282012414263838365355838670273289148872522849292639876505433563751511276830509044528698545769059658258251642349274172620161975558599658701041736163966522811888344385389538680588303752089587285426726229601255320807170816639641552224627160737888512165417140608190075886955521061991158193335930700451667053732372578834406712461825463944452331232128371678732611958617659905081584839162671750665317054274815768026075964890268456693308451476823866069352205785943314869733623053272568970900459467536850082758196637670179384297868636 1797384867996366373417139197958843280755499358423839609375659351158523627552900625819405776369045361405724937132216179362153162202303077038117881054894762988263013513930675058914217019298385411949473845430508302149073014092612285449562664071951058217138824346023409914646717023164764409096959030376065127227152203225589625337277653244687805606870004379078366802740593887026295111101828587810908130937544452884768752184409598474618003633005129298623675843092787630363272158315150317595049880470139923466857636234594164638360748082196588130241322070690473272099997802731765801809085146170848311473299891554746089392901402871180846073098031897457219271651939677516618350504757164130096579876728063493649242495494117865223424669148547942726317053014203167705166281411143980560771568168695856486679909189976367224599710826049490512709371599660021403165098584493645243404263497094337001261625121513015340894905787948012421897301780873037633030717912474586546383077594477912336264409239466600261269132979468229773414466410013188376771960528768007653634266068280576680782125452846420026178417541412875353857845285813188933346572614773509476150831865828881214779813893824205655913068875113810304240607629097385922264238389534062426182129637496317954822291936186092056209748123534182440218814072663890262972887994438060202031949592935744331481818005523523800772861080480581310004619794035121492199235993858258411225816635747901019642676994545810310472784584332249590109499859413425323793534612500423979710657623485843127454199910539262205554988172957849983222625692508111569875891731372775084090380751134785189150662124094868057409055268202188520375831606792032540126078649990568116760038465056380727907184541433974872891508778281692291223607719982941711268601289842019378275384594783488990626565787339826979948937661720236761619400176156411772789131507589231307988897560688666254399255054679991898270947380756251712961561395779000464268936270119804414872492518988254864393447412849216569955256779537417780984129324895880010505193026544333708201527049732402122300587780650184059438950042282115767400323708971198406125264181706257227970284190063371903246806015703037734782497223337107085857348122759722705504271163936609143467671363260133792585461366422283829810371203001653928628672483887937549872118950104189287419521365580232531957619314777339497563647442126374553735965892031220170644938546468106527749490062011848301749371756528271027670120935738558072528647123080517399293622036847405217900259771991349922654667737063352066664013272873455498458210698743503530839491570646925594772015202145996993161035580176653731219832239485090282445271904080742290055043405717329540535934450280185881858794526429199365570724597752156943162105430079232113077612333494584619426662588276727099290246249434785128185034263311285637388892797678545475283761759937211507165420310110034340378903385096001580078145780135410471360517180142986134690883148695199398997381465782835272361420064605025341710241229791731410663143557241091601434583737309317164613385260014243295856908372789021155303582951168987660761325247684077586455287071377746293662717258972828055971085535695208203203045553817638769170263235452351406986220416870002679125423901327061817616604308314909469970249683050036138849757288030786377412918237545326087707291023048223855957263373720990420282219758312631640139671367363018426804454805351616015996420424274049355282838997124372599286970806031069228409340620702547547834886523519034629788191802280488401256123528168892417508839667650988064278005641396987879490299517201340147630161169079683732668444202075484404191740267493461563392489088555935599495762963616493968868592343987432540249476944339240086824118945598419844417099227670115646255238829381122031634370247850702139988618882317833599961554525093786200236829411799224462326100737617665799458658123308803901731378257177060435318270899122140890469127158691282395810034788501088785211656351899996116841398935668865270529678425472701750478747014883008696305027183933200877252002705168362528583798425048153043 2908229807282863905440587430450502432670645025647745767975310095733157437436870378712967781296323626442094877681128862734580897919071413458954542240401071660330260862642550755715704165263620416364455202985756955967866901683613235533996579284018386198399957314090054227899658852058813096137128883522662398836216481405576611392026525964219520518428423531211534615428100013750364114421747024511669809320248592991777228669229030728903962901112750769084757985571902159495947023469027204377210232901043682718793054234932408159330724670975175439008765452219706141992641788029416659794632839953381405191154197306128483362884153094619930496883591519799484140811059767989559351446439484651331286906756109857679221344234851422579795575263196591111481098901961126935490693522328354807889594791623091707710448813325574392290709952925882373667957950773007585085434830372949243122460875542747865685000608764428171803547961558250584878583564480501056591568328392447197823153049719461326645333405759472554558402356048203135554944308486778408691100569744644498924612482693953531111266170920581827882766315641883404147761440392306770939805558386403591236743366363757026595758851648026362506170214578502349760475079529418692246995784918874375689415989611370562076351553561320729012061231603689563778558288197781790445829899408022392204046382429111078361418237823932200877000853622141122264546922029812529818331107701626547392445681220685483167261115057079796487274077003081306191434462120258553165120359375267906597442015873619617021364484115056939723086025212730029224430815500441720713152130047141470074727961896226973925889609208691012537177497849688375420716814807650840801597888267274480291050140188335176068739097986171827126079741923591695676722004446570454230374234175105202522276351487392686499624093744028881996291078237643073184438134113131208418047758110180695374954904520932955544065563683774283090561380008157062824643946807830029282336600390784682545706953239760285428257154561405857227540549132416511255853237342385782382626938143619045311023919512068016754184466415168793615145638921303987916331592967968989305182329149630200397494162746459889510098159172300917341837079955005900304617018511305486194754098812747478124618589562585832681757331233379363092956266730101875491762009632614268520325644264378959360836288300254028355991897932144023551931463904526787489189077415156017359049741685729340050592018508284214265410111169092864381081016477801314382674460895632327205743304153833709673693453363448686040336952787951360433111581539585567973353633944421309882912380255156012209660508629633801629371972805008642734992610775783053824620429451998625986350207762045598745172023828886600603406004727026024234852174388529818145007726988183797546774515504046506486548909439133666202112190083659600251226665916480025032420950550908669961599453960047875840830792485275058741884601309075352699913502640026738416465947856669572521614073012487690596333790707192330670512751971648487362812510356826054931919654508150779496947339351412794566154385853488657161628842112680336884188755894501055985701071049224394833764977604117163610729525899412451160212663518233686756583957991021553099835146437653914156772801287580199415766637890835354704598768535093969866152882849265297396249978362265942465207587421585620720729505649964363830192852074755678570184082130796671270264258809811292885762618888896929862421881322367471330412925332099583580584840715560157093732195724791537366979027205710106622607442707637324760908678533533153288226812184398346290419905235353235328969790490489020153010461719560238102007953586761234700784796192007332452147346807577948769935583778469527468251045029168704215999756227584472213657626186723596506686513096841875856494150188292848274011800075329300726507394483250740569744600980741721298820569992560393026552404671398172037492530021265727195322709508292563689949631734099508129032240276121558481785453818143060027424377975961007109855628977316747353544494824907536422061884616631749577596154833660344788852787926559166253977809346021679 4705614675279230278857726628409345713426144384071585377350969446891681064989771004532373557665368987847819814813345042096734060121374490497072423295295834648593274376573225814629921184562005828313929048416265258116939915776225520983559243355969444415538781660113464142546375875223577505234087913898727526063368684631166236729304179208907326125298427910289901418168693900776659225523575612322577940257793045876545980853638629203521966534117880067708433828664689789859219181784177521972260113371183606185650690469526572797691472753171763569250087522910179414092639590761182461603717986124229716664454088860874572755785555965800776569981623417256703412462999445506177701951196648781427866783484173351328463839728969287803220244411744533837798151916164294640656974933472335368661162960318948194390358003301941616890420778975372886377329550433028988250533414866594486526724372637084866946625730277443512698453749506263006775885345353538689622286240867033744206230644197373662909742645226072815827535335516432908969410718499966785463061098512652152558878550974530211893391623767001854061183857054758758005606726205495704286378173159913067387575232192638241375572745472232018419239089692312654001082708626804614511234174452936801871545627107688516898643489747412785221809355137872003997372360861672053418717893846082594235995975364855409843236243347456001649861934102722432269166716064934022017567101559884958618262316968586502809938109602890106960058661335330896300934321533683876958654971875691886308099639359462744475564394654319145278074198170580012447056508008553290589043861419916554165108713031012163076551733303559069946232766051876895796548421599683380927676538257842597051088605244715903975923639420146700017588520205283986900329724429512165498975524017124580797660946270881677126189881083855861945228739957879834803838310269542981207179265699412003363852465209599209943320618363766181361508760764408775786205342586830493551272870510589097418199472228015149821704567410622427182797328669834292239982562238265792887819964687952753512550969244470139054772247065352853054095681203419755316655301939167395430446510855887428367778352809831792756904174875338652124334303292112986161965141271028191699025262749356621592289952822719625267218697655663192903327469731755804120434493520551818392444594368568246780357653880486560313611212709483521115578906030901341225154969446376188003988288153835867800082080520132516014781867697363892051201952216359386911321583976149726499365341001238927573953225354798608695004689851303427097124854413041066431564332687924840722403950902081606981675710775630794790407552981662373954824850260873336269892333532740916041393613479375139281106474109072482462200531156225389805576772140686761307113157067415910624386848998631125913211497715860765492358439518444728436260929227765662421313748229454145245361213897259383006251102595309399120787986405076932778059282775437209776983127999655707212497221707687089593715256490027603031932816576673829073053740148557465595063211749242380931531076660729959179539645867731953018537214901701492187771707063488716747026318733301981289052048981863457273446784872240507131298199213441889959629511808660322270098381890005321142993218157582878541190539217897172321203076850003439836402565899301436246007266393052319878125824966911708428020528698188219787456225795746098852403840443428311409935626172829719690217424240512945858842305596416826613251922456472182867555646746629385503072816427339085201865550724744736410799244988125726017032206702425570797066479835386410568425546632341114819269307691829167783171630799243970770452155662245638892525063685468895844636435363513548265698547394963496336843389016601244465476700566824559037776571785143440923785740766957522111732979569414879908382047926031440715126276801084340531299126074527921535649981791784855352653142289063971496150653330069628926700966685352999008220530856240398598159398967403954291820242319231845239080729875957123951254564646182017883222920297609286900808899499640445882623338766861222040855493094921694837776234394174722 7613844482562094184298314058859848146096789409719331145326279542624838502426641383245341338961692614289914692494473904831314958040445903956026965535696906308923535239215776570345625349825626244678384251402022214084806817459838756517555822639987830613938738974203518370446034727282390601371216797421389924899585166036742848121330705173126846643726851441501436033596793914527023339945322636834247749578041638868323209522867659932425929435230630836793191814236591949355166205253204726349470346272227288904443744704458980957022197424146939008258852975129885556085281378790599121398350826077611121855608286167003056118669709060420707066865214937056187553274059213495737053397636133432759153690240283209007685183963820710383015819674941124949279250818125421576147668455800690176550757751942039902100806816627516009181130731901255260045287501206036573335968245239543729649185248179832732631626339041871684502001711064513591654468909834039746213854569259480942029383693916834989555076050985545370385937691564636044524355026986745194154161668257296651483491033668483743004657794687583681943950172696642162153368166597802475226183731546316658624318598556395267971331597120258380925409304270815003761557788156223306758229959371811177560961616719059078974995043308733514233870586741561567775930649059453843864547793254104986440042357793966488204654481171388202526862787724863554533713638094746551835898209261511506010707998189271985977199224659969903447332738338412202492368783653942430123775331250959792905541655233082361496928878769376085001160223383310041671487323508995011302195991467058024239836674927239137002441342512250082483410263901565271217265236407334221729274426525117077342138745433051080044662737406318527143668262128875682577051728876082619729349758192229783319937297758274363625813974827884743941519818195522907988276444382674189625227023809592698738807369730532165487386182047540464452070140772565838610849289394660522833609470901373779963906425467775435249961721972028284410337877802250803495835799580651575270446902831571798823574888756538155808956713480521646669241320124723743232986894907136384735628840005517628765272515556291682267002334047639569466171383247118886466582159782333677893779361562104099716908542385305457948976028889042555996283736461857679612196503153166086912770238632947206141193942180740588669603110641627544667510369935428128714344046861532205363038029839565207850674099028416730280191978866456756432282968694160701293996044871782053705108645155072637247646678718247294735341642639254787530236435952626634404917966632346150605316331157237619191336219405264596419779525786671016689817461036656390094512762984739542027743821241420738026278497937959083065606535883251414040428946529216579452120884055599708171161364502677632399760407154994431694470629602104328687487595144245687453734698780362815206960667857307258847081895080584457862672587714152285477972785415463948193449075856325279734111294720174780190049047197219933702445568548322316435866250505383520526982866257393160428478416012142753745694031721220610180166057014381829071960462957989772732727389782526376122817026585980620884176310771652958291510862731675576716213469799681875369933528327659235299766019445163077956957177108732527025801845385097409702555448748566733642257244755318262343333412388497329148750034348152583617649077870501777422587922574224982680199884982641012575980043129409875721264186918784297943664847788571766448140487462189542596805012152130622568844577930454843033406687695763050777940885235958724085293292019784756858845451867694350148239098182318187936182092518804208872460109249006873593309859877476228296783782171091497035634131173433023805094434045769948681476456794409031251434197971867037430472253863799397968227129757707728182393848001360741441633671284335081101043727055269642834470551784345248379205546960462143533643183351335356122023676193645562698170162590339906727191639243525512773605696137374905266505107851918131061110193623498765236767415122516823322870784116272195460219493600521566829708281021480861091754043740196401 12319459157841324463156040687269193859522933793790916522677248989516519567416412387777714896627061602137734507307818946928049018161820394453099388830992740957516809615789002384975546534387632072992313299818287472201746733236064277501115065995957275029477520634316982512992410602505968106605304711320117450962953850667909084850634884382034172769025279351791337451765487815303682565468898249156825689835834684744869190376506289135947895969348510904501625642901281739214385387037382248321730459643410895090094435173985553754713670177318702577508940498040064970177920969551781583002068812201840838520062375027877628874455265026221483636846838354312890965737058659001914755348832782214187020473724456560336149023692789998186236064086685658787077402734289716216804643389273025545211920712260988096491164819929457626071551510876628146422617051639065561586501660106138216175909620816917599578252069319315197200455460570776598430354255187578435836140810126514686235614338114208652464818696211618186213473027081068953493765745486711979617222766769948804042369584643013954898049418454585536005134029751400920158974892803298179512561904706229726011893830749033509346904342592490399344648393963127657762640496783027921269464133824747979432507243826747595873638533056146299455679941879433571773303009921125897283265687100187580676038333158821898047890724518844204176724721827585986802880354159680573853465310821396464628970315157858488787137334262860010407391399673743098793303105187626307082430303126651679213641294592545105972493273423695230279234421553890054118543831517548301891239852886974578404945387958251300078993075815809152429643029953442167013813658007017602656950964782959674393227350677766984020586376826465227161256782334159669477381453305594785228325282209354364117598244029156040752003855911740605886748558153402742792114754652217170832406289509004702102659834940131375430706800411306645813578901536974614397054631981491016384882341411962877382105897695790585071666289382650711593135206472085095735818361818917368158266867519524552336125858001008294863728960545874499723337001328143498549642196846303780166075350861405057133050868366123475023906508922978221590505686539231872628547301053361869592804624311460721309198495208025083216194726544705748899611206193613483732630996673717905305214833001515452921551596061227148983214323351111065783089275966329469939499016307908393367026317993401075650756179548549246294973846563820648483484920910520088205317628847931780204473986156311564821599904073045903430346332490558214627361290365667700836482299320270991327720282059319226173011930180895391210187078768333390644642311297529726364405096517480458069137434720795877307384972047031565527807067039476803846005718669903340759234041123015618795548213501308758312971904870855197186829069120549057123748524372011349875048447009816960452321881754566641853332997675893856983460574119229218256032068190901157970432203855980986946608516427861869783764303687247536734378385124996145508919990653940986122046078006635541360009492672872712925233677588952563198703271916083321259732170021478489479753708515828357411869075567844078157623095643893465422809061945117466675842981608342197640031910217664556442759237602745956498147716326629699347004922235100849538958014647868169888264511148370582221459237355409037576770563046340803405105303666247876274991763017653294090135511155470732266197467369922821580106492515201124556916770245043949315696134208818928099877828579469707770710128655199579444205932683888776794973091938384294882359771855171167427270998500035464967508405874147355719353723318048179642912264911252512485834923562945124141420217534605045301332678568396520141937823062371193146953157361233590289210769757010478354257994630756920079960109327122608090775895927392182156759948085419421632342853129797564370120533576130103731858689249526115029793836681404985048724642878998561706390693446580305325351038210929467065425938456606750505585837727875255012364758269680783119990335420126110223679683615912641342842832367382788870563774116402555929530278134371123 19933303640403418647454354746129042005619723203510247668003528532141358069843053771023056235588754216427649199802292851759363976202266298409126354366689647266440344855004778955321171884213258317670697551220309686286553550695903034018670888635945105643416259608520500883438445329788358707976521508741507375862539016704651932971965589555161019412752130793292773485362281729830705905414220885991073439413876323613192399899373949068373825404579141741294817457137873688569551592290586974671200805915638183994538179878444534711735867601465641585767793473169950526263202348342380704400419638279451960375670661194880684993124974086642190703712053291369078519011117872497651808746468915646946174163964739769343834207656610708569251883761626783736356653552415137792952311845073715721762678464203027998591971636556973635252682242777883406467904552845102134922469905345681945825094868996750332209878408361186881702457171635290190084823165021618182049995379385995628264998032031043642019894747197163556599410718645704998018120772473457173771384435027245455525860618311497697902707213142169217949084202448043082312343059401100654738745636252546384636212429305428777318235939712748780270057698233942661524198284939251228027694093196559156993468860545806674848633576364879813689550528620995139549233658980579741147813480354292567116080690952788386252545205690232406703587509552449541336593992254427125689363520082907970639678313347130474764336558922829913854724138012155301285671888841568737206205634377611472119182949825627467469422152193071315280394644937200095790031155026543313193435844354032602644782062885490437081434418328059234913053293855007438231078894414351824386225391308076751735366096110818064065249114232783754304925044463035352054433182181677404957675040401584147437535541787430404377817830739625349828268376348925650780391199034891360457633313318597400841467204670663540918092982458847110265649042309540453007903921376151539218491812313336657346012323163566020321628011354678996003473084274335899231654161399568943428713770351096351159700746757546450672685674026396146392578321452867241782629091753440164901704190866922685898323383922415157290908842970617791056677069786350759095129460835695547486583985873564821026107037593330541165170755433748304895894942655471163344827499826883992217985071634462659062745538241967737652817433992738610450599645901757598653843063169440598730064347832966283501430278576965976575165825430277404915767889604680789499313673719713833909582631311384202069246582791293198165687975129813002157597726318294335241400265952617141933036613216556845364348149586159987629966604555004407334459772334186116458917859502220000096881255962216615333663469984990648593413602922728217886434665199119920211354925178615326966709578003986390712732312025849628881299698722653385811236119516257037328783145790179775659282549611873900700414892756478314846133161833381503734004853606365106163881279712306266680719811148036649973813350884467470436823953673318461944786241159324506649028944264028701788487908685015466670927709310173173378869328930465150331692632979468262212481098298354733534686102153824699041799406415546423714319924676793043392056451408024073009965438545323791742525257047909034455104893435362226372806767620198259241513463396434903530521755903688844564792649743906366725520597394493387022754381536749653697579685591878276770335396138111744842177510499332697301370679433985422500581618033615715763836621671008470696682840731600330339554706585654422477612620379651827572913977174343018967653063874955924286116450367729815115747504056465543655535815836852388515372374160259386079144783440421352438203999705696542336966809741829543947032257108141141828429614155642621540644967728877515784730248494556318048187239084830336273169743928752923598393619369754502733386580185067207204591085360475352111064236209988258563437020032740341170748319072644124404560856036920212052542677454454979839031634593981655772090945579793386073474951893179548356757750542642933546550467732184836803062325967904355700272055137883417021284321874567524 32252762798244743110610395433398235865142656997301164190680777521657877637259466158800771132215815818565383707110111798687412994364086692862225743197682388223957154470793781340296718418600890390663010851038597158488300283931967311519785954631902380672893780242837483396430855932294326814581826220061624826825492867372561017822600473937195192181777410145084110937127769545134388470883119135147899129249711008358061590275880238204321721373927652645796443100039155427783936979327969222992931265559049079084632615052430088466449537778784344163276733971210015496441123317894162287402488450481292798895733036222758313867580239112863674340558891645681969484748176531499566564095301697861133194637689196329679983231349400706755487947848312442523434056286704854009756955234346741266974599176464016095083136456486431261324233753654511552890521604484167696508971565451820162001004489813667931788130477680502078902912632206066788515177420209196617886136189512510314500612370145252294484713443408781742812883745726773951511886517960169153388607201797194259568230202954511652800756631596754753954218232199444002471317952204398834251307540958776110648106260054462286665140282305239179614706092197070319286838781722279149297158227021307136425976104372554270722272109421026113145230470500428711322536668901705638431079167454480147792119024111610284300435930209076610880312231380035528139474346414107699542828830904304435268648628504988963551473893185689924262115537685898400078974994029195044288635937504263151332824244418172573441915425616766545559629066491090149908574986544091615084675697241007181049727450843741737160427494143868387342696323808449605244892552421369427043176356091036426128593446788585048085835491059248981466181826797195021531814635487272190186000322610938511555133785816586445129821686651365955715016934502328393572505953687108531290039602827602102944127039610794916348799782870153756079227943846515067404958553357642555603374153725299534728118220859356605393294300737329707596608290746420994967472523218486311586980637870620903495826604758554745536414634572270646115915322781010740332271288599743945067779541728327743031374252288538632314815351893596012647182756325582631723676761889057417079388610185025542335305532801355624381365481978454053795506148849084647077458496500601897523199904635978111984297134303194886636031757343849676233688921868087068593342079477348992097090665826367359152186458125515222870139671994098053399252810515200877704631302567645614114056617467695766890846486864339101596034307620371216784959016683962036077882565272888133260756895275876071537360079767055378840153683323337797979102083631715842823322956019700458166018690683012492641048442032022214121220669962205021732440383869023260970588966301630945762257791505295149025704216896704826068128767843202442934984643888268387203831592799996736111604431366440542553747890432372171829593735952610721990036921797266264134313483568287253627328327575898519757577654571715007171202338798314607453706231813265492771075022270664243148497401357888179596161386899125736577572600846548471591424803000946751692234806814183090946555177721668777199422502059439889137128986621910510067899433016366270649997348762988348185284494650654990953252609761991925719811689855299108780471478044303073418786267052059426786251887099315404302291160440834190427859685202997529972571448609531570860470907293582477108374977869255518881477171949186547057498388278659665079532755879827398796560669311070038110264835240854001921818553063540604367887069112727313850012835730127091713387448867765280083255909930612899374889539154900568158284639071511898564979707003366476579624217240301587638299488310226064088970080170512334975382771516876211829855737485887994138988243125313238128147348411952944363945639856145105755153567455173924365729433314864771574711618936605455842922925459514373593230856714145326219472961951642686110951549483500517377893715665384446904457573050588406277676783307668641085839710162860331476748085962769043770230151348097478145905158335287144570835829254285972950814600008938647 52186066438648161758064750179527277870762380200811411858684306053799235707102519929823827367804570034993032906912404650446776970566352991271352097564372035490397499325798560295617890302814148708333708402258906844774853834627870345538456843267847486316310039851357984279869301262082685522558347728803132202688031884077212950794566063492356211594529540938376884422490051274965094376297340021138972568663587331971253990175254187272695546778506794387091260557177029116353488571618556197664132071474687263079170794930874623178185405380249985749044527444379966022704325666236542991802908088760744759271403697417638998860705213199505865044270944937051048003759294403997218372841770613508079368801653936099023817439006011415324739831609939226259790709839119991802709267079420456988737277640667044093675108093043404896576915996432394959358426157329269831431441470797502107826099358810418263998008886041688960605369803841356978600000585230814799936131568898505942765610402176295936504608190605945299412294464372478949530007290433626327159991636824439715094090821266009350703463844738923971903302434647487084783661011605499488990053177211322495284318689359891063983376222017987959884763790431012980811037066661530377324852320217866293419444964918360945570905685785905926834780999121423850871770327882285379578892647808772714908199715064398670552981135899309017583899740932485069476068338668534825232192350987212405908326941852119438315810452108519838116839675698053701364646882870763781494841571881874623452007194243800040911337577809837860840023711428290245698606141570634928278111541595039783694509513729232174241861912471927622255749617663457043475971446835721251429401747399113177863959542899403112151084605292032735771106871260230373586247817668949595143675363012522658992669327604016849507639517390991305543285310851254044352897152721999891747672916146199503785594244281458457266892765329000866344876986156055520412862474733794094821865966038636192074130544022922625714922312092008703600081375020756894199126684618055255015694408221717254655527351516101196209100308598666792508493644233877982114900380353184109969483732595250428929697636210953789605724194864213803703859826111933390818806222724752964565972596058590363361412570394686165546536237412202358691401091504555810422285996327485889741184976270440771047042672545162624288849191336588286684288567769844667247185142646789590827155013659333642653616736702481199445305497424375458315020700119881667203944976287359448023639248779079968960093069655632299761722282750184218942556743002256371319282831225505275193793508492432916901708229353215366470120287878342205313561855965901959282240815521920458262899946645229107974711912017012862714634272884933239618875049068143181181943891480246272728967369509281539738436528922554454949428466565855828746220763404525424532614738590176511770886980978314443254162783188850486675726897785992225724041775403631370298194763280593520308048138723935169731391005456182477608026292471633069398492472972589999420103966534692944936985310042903646267089096209298909956441929777013621923117435980415013904715905112537824481241279875493476241221908474986312851448911298703553459955884424390343659962787308312139927809751698564025408357503197354152092618457475497368021984941440737976949308022955748271351044536843221771027811757835327577450614066739747183670151134201409847630806303431694221950552488368588216182847851383171969558080006312275380843369377550835869493243510042670368449819541826508424399431173443192431940801046287070332817665899605083015999503899235495095199003413987078443030425354991752956673657013231771284644124490443787829017828216945998129975266298052055608036002337278653476803812385672518833370500705214765509923718491619869556176334587496783280637115383784898029353547186824928427099116013499931978779302704297080807953987161669502632156667876746885667390221281024286810515512405520420729430436393119839426743489207644570062049767728887462027159314662056039879833505836505411977316780619080282314948967484303191500271107884392169389972098921883506171 84438829236892904868675145612925513735905037198112576049365083575457113344361986088624598500020385853558416614022516449134189964930439684133577840762054423714354653796592341635914608721415039098996719253297504003263154118559837657058242797899749866989203820094195467676300157194377012337140173948864757029513524751449773968617166537429551403776306951083460995359617820820099482847180459156286871697913298340329315580451134425477017268152434447032887703657216184544137425550946525420657063337033736342163803409983304711644634943159034329912321261415589981519145448984130705279205396539242037558167136733640397312728285452312369539384829836582733017488507470935496784936937072311369212563439343132428703800670355412122080227779458251668783224766125824845812466222313767198255711876817131060188758244549529836157901149750086906512248947761813437527940413036249322269827103848624086195786139363722191039508282436047423767115178005440011417822267758411016257266222772321548230989321634014727042225178210099252901041893808393795480548598838621633974662321024220521003504220476335678725857520666846931087254978963809898323241360718170098605932424949414353350648516504323227139499469882628083300097875848383809526622010547239173429845421069290915216293177795206932039980011469621852562194306996783991018009971815263252862700318739176008954853417066108385628464211972312520597615542685082642524775021181891516841176975570357108401867284345294209762378955213383952101443621876899958825783477509386137774784831438661972614353253003426604406399652777919380395607181128114726543362787238836046964744236964572973911402289406615796009598445941471906648720863999257090678472578103490149603992552989687988160236920096351281717237288698057425395118062453156221785329675685623461170547803113420603294637461204042357261258302245353582437925403106409108423037712518973801606729721283892253373615692548199154622424104930002570587817821028091436650425240119763935726802248764882279231108216612829338411196689665767177889166599207836541566602675046092338158151353956274655941745514943170937438624408967014888722447171668952928055037263274323578171961071888499492421920539546757809816351042582437516022542482984613810381645361206243615905696718103196041789927901719390656412486907240353640457499744492828087787264384880906418883031339806848357510924880948680437962917977489637931735840527222124138582924245679485701001805803194827996422315445169418473511714273510635082544908576278855005062137695866246775735850939556519971401357756590370555435727515759686218407397165396498393408454550403768308988439068309120270745310273971201680003292663939597617802105563771541620916428918637328241600615760354049035076835854942847138261351315432937166442152532857781877218491225161014576688764140745819259281017557234409058271681205407292793811736446331390173247882491412344754985807910673621222658505320633738602947714078697200897634432508246848880773935376466299833689488968660027897484779228631269947676852198704785855492191178988805357188085482711400791825863250483108424646534014530623562093514542238981361765596950711926720915427796457597162253440644410534426201988577897920614063527855317440756614309960136071300488113094246349219016361610112959346077812430147330796476802456419485041050368094290007807698137296423942537175330102918276161767878473751942744713642722582810941418491277210725276699058927466237843735064325023332358516615578394590935045922902133430663268289804179353740406560084377067362426321249726506733036308688115399797646667678735335210107712891348103260375282259323917691342405314894146653524831941652303283183209104197447154305597452434186299717613565786362281672124972417449165811779195157189395045200356442700653504062706734745182794304481935908736225001061023641043135108700754280102351464845446814796750354014323233686263796910087129017005749898733461030993609694242975929496626463955003921246808330108785223873647946780695158468327444512195130668245154372218900211310253922468181021087010770428379793094872642638478644841943713646455362922913521892444818 136624895675541066626739895792452791606667417398923987908049389629256349051464506018448425867824955888551449520934921099580966935496792675404929938326426459204752153122390901931532499024229187807330427655556410848038007953187708002596699641167597353305513859945553451956169458456459697859698521677667889232201556635526986919411732600921907615370836492021837879782107872095064577223477799177425844266576885672300569570626388612749712814930941241419978964214393213660490914122565081618321195408508423605242974204914179334822820348539284315661365788859969947541849774650367248271008304628002782317438540431058036311588990665511875404429100781519784065492266765339494003309778842924877291932240997068527727618109361423537404967611068190895043015475964944837615175489393187655244449154457798104282433352642573241054478065746519301471607373919142707359371854507046824377653203207434504459784148249763880000113652239888780745715178590670826217758399327309522200031833174497844167493929824620672341637472674471731850571901098827421807708590475446073689756411845486530354207684321074602697760823101494418172038639975415397812231413895381421101216743638774244414631892726341215099384233673059096280908912915045339903946862867457039723264866034209276161864083480992837966814792468743276413066077324666276397588864463072025577608518454240407625406398202007694646048111713245005667091611023751177350007213532878729247085302512209227840183094797402729600495794889082005802808268759770722607278319081268012398236838632905772655264590581236442267239676489347670641305787269685361471640898780431086748438746478302206085644151319087723631854195559135363692196835446092811929901979850889262781856512532587391272388004701643314453008395569317655768704310270825171380473351048635983829540472441024620144145100721433348566801587556204836482278300259131108314785385435120001110515315528173711830882585313528155488768981916158626108230683502825230745247106085802571918876379308905201856823138924921347114796771040787934783365725892454596821618369454314055412806881307790757137954615251769604231132902611248766704562072049306112165006747006918828600890769524710446211526263741622023620054902408549449413361289207338563346211333802302206269058130673590727955474437956802858771178308331858196267922030489155573677005569857176859654078382479393520135213730140017026249602266057407776403087712364770928173751400693145034644459419931530477621760750666842848970029294210754964212112521255142364510161335115025855704811032626175603701119478873120739654670072502688474778716448227723898683648343912260741905340776538473486111780394259080022208606225795563519761387804587063541374691818583973470708590472266066047939550489215732071500970190482005309623334476749262123491220192530523858228502577274741813735966985700974914100427426170697319236269061069980349759653378393323069429062073456810073145181047531524595173438120472604529004730703010129474294243424605023768859220359665484079962387254923741580746250691177758445491611282955340050133022468021443695472130339579317723556490456460400575715437659674961776779501666617039258739909037737472655729681866319009412514840026809219317616987811201865146957969922923379612628040903998047783041769967616156700229905048604806293844824441360925779027317402312963555969488340960785758946357914676111489345329087818682491897312873717012351266122083514156970921009479954606431951247172874715530486173658400903210426766271510981499137783047689396410775009903918893870850720680899949925468249489161686867979485344634940293123712395247338755470481262737904769785435740249138406481505598665535054467853228687890942134615280651132297847588832084414337280160974754727819288583007542861913878570857147915419013986425226365052350480816523405519505638176407425941164462247941105030778563961460314728729133317027530767071750897248798519637906566610207916660999915524000216307141976360524341976238766501905063300391435988339728530377212241082592695404469034274940091143759758973592998403791389508662108043840126941670145113051598038624752895012443775950989 221063724912433971495415041405378305342572454597036563957414473204713462395826492107073024367845341742109866134957437548715156900427232359538507779088480882919106806918983243567447107745644226906327146908853914851301162071747545659654942439067347220294717680039748919632469615650836710196838695626532646261715081386976760888028899138351459019147143443105298875141725692915164060070658258333712715964490184012629885151077523038226730083083375688452866667871609398204628339673511607038978258745542159947406777614897484046467455291698318645573687050275559929060995223634497953550213701167244819875605677164698433624317276117824244943813930618102517082980774236274990788246715915236246504495680340200956431418779716835659485195390526442563826240242090769683427641711706954853500161031274929164471191597192103077212379215496606207983856321680956144887312267543296146647480307056058590655570287613486071039621934675936204512830356596110837635580667085720538457298055946819392398483251458635399383862650884570984751613794907221217288257189314067707664418732869707051357711904797410281423618343768341349259293618939225296135472774613551519707149168588188597765280409230664442238883703555687179581006788763429149430568873414696213153110287103500191378157261276199770006794803938365128975260384321450267415598836278335278440308837193416416580259815268116080274512323685557526264707153708833819874782234714770246088262278082566336242050379142696939362874750102465957904251890636670681433061796590654150173021670071567745269617843584663046673639329267267051036912968397800088015003686019267133713182983442875179997046440725703519641452641500607270340917699445349902608374557954379412385849065522275379432624924797994596170245684267375081163822372723981393165803026734259445000088275554445223438782561925475705828059889801558418920203703365540216737823097954093802717245036812065965204498277861727310111193086846161196696048504530916667395672346205566507645678628073787481087931355537750685525993460706555112672532325100291138388221044500406393570958235264065413079700130194940541669757311578263655427009243718259040220044010281242406772851841413209938633446803288379833436405944990986965435903772191952373727856695008545822174754848776786769745402339676193515183665215572211836725421774981983661464269954738083278537109722286241877646138611088697464212520243547045708138928239586895066756675646372630735646265223126358474044076195836261322481743567721390046757021097533997369572299030981272631440661972182695575102477235463491295090397588262374693186113613624222292092102894316029050893779844847593756857090668230281702211898889735161137563493368358605162291120737221301712309206232620115083016386344158579209762321505914942476065487009607044000709711417691538434917266718020561073016984542935383972372108631577990113048005507401370523007535869805667824414869984130431295803686368165263198121152199169805426639163211256978355068178801071323602548709328325511977447166483555011528423102889882544300983802461944145407321107950732844487297993590062426148203024470991024137808952201913943138545098617328965979655336834195069817983122510729543838716828604707139931680515666519305903572279883059450913116153998244397002058131577729116046307717478752137090321626897780410820077685496602971363667625637384728296121688017594387651113207561570625236610955596299823292684613360724882247620068407420844275686311497898047889002789236795494145472689173644412162406072851868750151181569988295961233277041930626456658504558177277086665626153023370275503231425286595442015845763522061822461127841055143285060006337540317838337651062332885338096440212733085318597565202397870776618952285947172176985100362202700051308923771213590616072518049131961110235144785298459314255730639237431066984299570948695385133130028806907129525479487331350764453335547807335927536643656465343668947654609609766976145803768440315528263223047096610690287174039382769034886998704656753277723363649623406493840302454013681441774019490802159937041901138712769580148789954995311685080115817925965668395807 357688620587975038122154937197831096949239871995960551865463862833969811447290998125521450235670297630661315655892358648296123835924025034943437717414907342123858960041374145498979606769873414713657574564410325699339170024935253662251642080234944573600231539985302371588639074107296408056537217304200535493916638022503747807440631739273366634517979935127136754923833565010228637294136057511138560231067069684930454721703911650976442898014316929872845632086002611865119253796076688657299454154050583552649751819811663381290275640237602961235052839135529876602844998284865201821222005795247602193044217595756469935906266783336120348243031399622301148473041001614484791556494758161123796427921337269484159036889078259196890163001594633458869255718055714521042817201100142508744610185732727268753624949834676318266857281243125509455463695600098852246684122050342971025133510263493095115354435863249951039735586915824985258545535186781663853339066413030060657329889121317236565977181283256071725500123559042716602185696006048639095965779789513781354175144715193581711919589118484884121379166869835767431332258914640693947704188508932940808365912226962842179912301957005657338267937228746275861915701678474489334515736282153252876375153137709467540021344757192607973609596407108405388326461646116543813187700741407304017917355647656824205666213470123774920560435398802531931798764732584997224789448247648975335347580594775564082233473940099668963370544991547963707060159396441404040340115671922162571258508704473517924882434165899488940879005756614721678218755667485449486644584799698220461621729921177386082690592044791243273306837059742634033114534891442714538276537805268675167705578054862770705012929499637910623254079836692736932526682994806564546276377782895428829628747995469843582927662646909054394861477357763255402482003624671325052608483389213803827760352340239677035380863175255465599962068762319822804279188033741898140919452291369079564555007382692682944754494462672032640790231747343047455898050992745735209839413954720448983765116571856170217654745446710145900890214189512422131571315767565152385050757288161235373742610937920384844973067030001857056460847399536414849265061399290937074068028810848028443812979450377497700876777632996373954843523904070032993343805471139235141275524595260138191188104765635397781352341228714490462122509604453484542015951951665994930427047065775770290724643057888951665836946503104171451772861932145010969133618789139734082460366096298487145473004808871178803596714336612034745067660765063167964830061851946190775751238228289792799120621386067242968871062489361724420505115530724657324881172945668703665812555805275183017796704886181130955936833374311281263291696396947785688821486356306124200931610222062293145769295295302886752951528636358886472536057748687432284274568471350872767189248198990893843932057587241368948867415696787793294590319642409955643893914267107829362422225676347371407929687990996057409553738478753109169353581060302746475413744899485457454130418754288182770123929641743871759514927451424713524389861588904915324600283946005238395245871932542473712804377048553251231668631516359249297503477721171050530249805982830525744194902242444785099901545345272746537622527356943384166451339141336599105002898915934919637113978345514055068045932270499140458536649389307728508268470016835643950735444239039218541077887375450707637558670772763419488962895196397355899455445155393661543855899558146561956579892214855104127762611526406583972807666438773533605638368005215796355137681842780771316244784799727230913276795392423466487843138983373392118915561573229038574828013736450895412791229955190956232446921926904804388945210242913222802342070738531491532035557187475287495266114982719775236277413838492925464033196636490163908592768367444254208620648378295220407298704584726056281563031953876864315609525290976362110910416676052605199285863112595350474430818757374615529081868994360316059054092440768780393597773440415367017894593549445704009182552896521818935068046909723704868712938409444346796 578752345500409009617569978603209402291812326592997115822878336038683273843117490232594474603515639372771181790849796197011280736351257394481945496503388225042965766960357389066426714515517641619984721473264240550640332096682799321906584519302291793894949220025051291221108689758133118253375912930733181755631719409480508695469530877624825653665123378232435630065559257925392697364794315844851276195557253697560339872781434689203172981097692618325712299957612010069747593469588295696277712899592743500056529434709147427757730931935921606808739889411089805663840221919363155371435706962492422068649894760454903560223542901160365292056962017724818231453815237889475579803210673397370300923601677470440590455668795094856375358392121076022695495960146484204470458912807097362244771217007656433224816547026779395479236496739731717439320017281054997133996389593639117672613817319551685770924723476736022079357521591761189771375891782892501488919733498750599114627945068136628964460432741891471109362774443613701353799490913269856384222969103581489018593877584900633069631493915895165544997510638177116690625877853865990083176963122484460515515080815151439945192711187670099577151640784433455442922490441903638765084609696849466029485440241209658918178606033392377980404400345473534363586845967566811228786537019742582458226192841073240785926028738239855195072759084360058196505918441418817099571682962419221423609858677341900324283853082796608326245295094013921611312050033112085473401912262576312744280178776041263194500277750562535614518335023881772715131724065285537501648270818965354174804713364052566079737032770494762914759478560349904374032234336792617146651095759648087553554643577138150137637854297632506793499764104067818096349055718787957712079404517154873829717023549915067021710224572384760222921367159321674322685706990211541790431581343307606545005389152305642239879141036982775711155155608481019500327692564658565536591798496935587210233635456480164032685850000422718166783692453898160128430376093036873598060458455126842554723351835921583297354875641650687570647525767776077558580559485824192605094767569403642146594452351130323478419870318381690492866792390523380285168833591243310801924723819393850618567828227164267446279117309189889138508739476281869718765580453122896605545479333343416728297827051877275427490952317411954674642753151499192680944191538561061687102693438406505936989866184247425709913142339365493933516429653535057726154716323137103654759397077571118586134976991566753906073949800103329835465249027437861150943675476168482867854132544318843692900466233660999825961730719643426632404005265885794888374541304273865956933293026576895327002937506296213972323177532890491025613202311890261754308495963350124910643027913600728063036013315863959769936071571742858844644689326677545332280075872721395774725118004658718258802041717672664752553783862050991415742518812215382283057125524086184430601026747670973956639016316508034856720222033764637592456470942847047459216206843630864775238369487132670068117519704170019962539398442448851333342063502848053869698901274971218050582706127612291695926887778097089948497236223499180978019144240476954102529689042281438860348900486841787158033123074388792845340006109080474488078236921747419182688395518906283304739615730242351189733949864886791571744210959932965119224066316658936635348804963921466161146294796294983323870168670811308491752131991891501372144618799805823949928751426896713138149880510816337404804542152863242477365843715860199231791391375491299586562968438222787162008306861549692041117850535708526494180679301211729769977894458567135015040746821769492977993627825967575184732869099081789489307412942964531726113284329147564050084689148585522640051413442034030966916651269559909763604145331875297038621575274573779688107979729059673742846511920653592925219497297545811970219135057952507914678856991580868422332959723285637648470201526409502527786525747638039422703715847262620696051787121857141037385395709382745910321265666101967725023042221408784984530864375112742603 936440966088384047739724915801040499241052198588957667688342198872653085290408488358115924839185937003432497446742154845307404572275282429425383213918295567166824727001731534565406321285391056333642296037674566249979502121618052984158226599537236367495180760010353662809747763865429526309913130234933717249548357431984256502910162616898192288183103313359572384989392822935621334658930373355989836426624323382490794594485346340179615879112009548198557932043614621934866847265664984353577167053643327052706281254520810809048006572173524568043792728546619682266685220204228357192657712757740024261694112356211373496129809684496485640299993417347119379926856239503960371359705431558494097351523014739924749492557873354053265521393715709481564751678202198725513276113907239870989381402740383701978441496861455713746093777982857226894783712881153849380680511643982088697747327583044780886279159339985973119093108507586175029921426969674165342258799911780659771957834189453865530437614025147542834862898002656417955985186919318495480188748893095270372769022300094214781551083034380049666376677508012884121958136768506684030881151631417401323880993042114282125105013144675756915419578013179731304838192120378128099600345979002718905860593378919126458199950790584985954013996752581939751913307613683355041974237761149886476143548488730064991592242208363630115633194483162590128304683174003814324361131210068196758957439272117464406517327022896277289615840085561885318372209429553489513742027934498475315538687480514781119382711916462024555397340780496494393350479732770986988292855618663574636426443285229952162427624815286006188066315620092538407146769228235331684927633564916762721260221632000920842650783797270417416753843940760555028875738713594522258355782300050302659345771545384910604637887219293814617782844517084929725167710614882866843040064732521410372765741492545319275260004212238241311117224370800842304606880598400463677511250788304666774788642839172846977440344463094750807573924201241207584328427085782608807899872409847291538488468407777753515009621088360833471537739957288499690151875253389344990145524857564877520337063289050708323392937348383547549327639790059795134433894990534247875992752630241879062380807677541765147155894942186263093352263380351902712109385924262131746821003928603554919485931817512673208843293546126445136765262755952677222960143490227056617529740504182276227714509242136377375750088842469665385289291585680068695288335112276837737219763173869605731607981800437932709670664136715364580532909792501029115773737328114673643605370772608636492021087619728242794832793209005151052909120796610452213255714249942569622745848831852078344799642392477344928260010907201772288904898708838047443129982319656249111574638135663021208805308611166846522887600208101745317180747075364977616554644344072268541914366203649612102734099304914033701421199558838784710332838454625337926951039791194013793023252424018345364568704307504092266273960512517746761810052003149793934629951743116322229368788241420852838241449345913891722054325893873564857731925091752969194299185220976456445828578060154765408731264826650341180165867739858430275522621961648004632779495025111964604543802729286572257934668419661539382962533466023858654529576063084018287691294434841202941853594075756406257779882135385932030280860349240693627492536333494580586084249202960684702224182171745690961428839443574727980715027188288857271600063955199485493784650985043275094729772725671441532567153679269826450173510154633732837429759380707095941700650281003558478253091661276922954394645928131992982023818284585121888893456031796173589868760558220388390784857781158531417179791025986593878252623185877754528455355067679055582120246336060810135317528424753806203194065108052835227637341968365460947214343642018033896728628107354894150145216505379649206782529251422676285828660348928870025589273667633473621618822835880988122901020283784118056868394741998355481757808288031401089649560562272508055279989258828449919503818562623786660091089131132489853243802784557089399 1515193311588793057357294894404249901532864525181954783511220534911336359133525978590710399442701576376203679237591951042318685308626539823907328710421683792209790493962088923631833035800908697953627017510938806800619834218300852306064811118839528161390129980035404954030856453623562644563289043165666899005180076841464765198379693494523017941848226691592008015054952080861014032023724689200841112622181577080051134467266781029382788860209702166524270232001226632004614440735253280049854879953236070552762810689229958236805737504109446174852532617957709487930525442123591512564093419720232446330344007116666277056353352585656850932356955435071937611380671477393435951162916104955864398275124692210365339948226668448909640879785836785504260247638348682929983735026714337233234152619748040135203258043888235109225330274722588944334103730162208846514676901237621206370361144902596466657203882816721995198450630099347364801297318752566666831178533410531258886585779257590494494898046767039013944225672446270119309784677832588351864411717996676759391362899884994847851182576950275215211374188146190000812584014622372674114058114753901861839396073857265722070297724332345856492571218797613186747760682562281766864684955675852184935346033620128785376378556823977363934418397098055474115500153581250166270760774780892468934369741329803305777518270946603485310705953567522648324810601615422631423932814172487418182567297949459364730801180105692885615861135179575806929684259462665574987143940197074788059818866256556044313882989667024560169915675804378267108482203798056524489941126437628928811231156649282518242164657585780769102825794180442442781179003565027948831578729324564850274814865209139070980288638094902924210253608044828373125224794432382479970435186817205176489062795095299977626348111791678574840704211676406604047853417605094408633471646075829016917771130644850961515139145249221017022272379979281861804934573163059029214103049285240253985022278295653011010126194463517468974357616655139367712758803178819482405960330864974134093211820243699336812364496730011521042185265725064577248732434739213537595240292426968519666931515640181031801812807666765238042194432180583175419602728581777558677917476449635729680948635904706032593435012251376152231861002856633772430874966377385028352366483261946971647783758869389948636334245863538399811408015907451869903904335028788118304632433942588782164704375426383803085663231181835159318805721239215126421443051435413941391979160251440724317742958792004686615744613936818694415998158819938890266717412804283156511459503316927480184921553853389242620794523928648577685313126062496247101630255554216435579679141858428973671802579898773558900583188440092263314518101020728309197438478283006374022217666049263749271841321927030806292823671779844604161825436402042522948834720216793664316639484208308330361536141022586698453974983420889776126075357266840720210008165315280198223624279171689319321207720624012127122994182546282384354266522945996841393846158586747187004607157728553522906358969050083911684593724336322416191073988594601023063998086495947674496411284187767057104658152604747431128663103963357611253541766202124958735309184067393403464892703216128359415967791494050332228302539575104333142607812984831437470379689953747486246593209805998757447513832000272723602025071309173658746716602650153517221433054166882150863370476968040674285299008114386036472467159180180358643744682755005309443713402411939988232879653236487778937371695832133068927539353870493932069221150756198395528263618719226345640261398522826614995512496463840519476204497585796851658871350490363308604909507379989881368778485607126106601912660125068383367560036128842286254568639396826619632204935484646332775368941866787837170110716377612744991241487300240757985835918916591813584836607836414567892991728426033242132002026548968488256047795406881377940268130659214342043951782559166625771371221810193620584654920489636394904461524135294021785701347684129649092665384968211195829825084228725754385114131352541274837774667159669832002 2451634277677177105097019810205290400773916723770912451199562733783989444423934466948826324281887513379636176684334105887626089880901822253332711924339979359376615220963820458197239357086299754287269313548613373050599336339918905290223037718376764528885310740045758616840604217488992170873202173400600616254728434273449021701289856111421210230031330004951580400044344903796635366682655062556830949048805900462541929061752127369562404739321711714722828164044841253939481288000918264403432047006879397605469091943750769045853744076282970742896325346504329170197210662327819869756751132477972470592038119472877650552483162270153336572656948852419056991307527716897396322522621536514358495626647706950290089440784541802962906401179552494985824999316550881655497011140621577104223534022488423837181699540749690822971424052705446171228887443043362695895357412881603295068108472485641247543483042156707968317543738606933539831218745722240832173437333322311918658543613447044360025335660792186556779088570448926537265769864751906847344600466889772029764131922185089062632733659984655264877750865654202884934542151390879358144939266385319263163277066899380004195402737477021613407990796810792918052598874682659894964285301654854903841206626999047911834578507614562349888432393850637413867413461194933521312735012542042355410513289818533370769110513154967115426339148050685238453115284789426445748293945382555614941524737221576829137318507128589162905476975265137692248056468892219064500885968131573263375357553737070825433265701583486584725313016584874761501832683530827511478233982056292503447657599934512470404592282401066775290892109800534981188325772793263280516506362889481612996075086841139991822939421892173341627007451985588928154100533145977002228790969117255479148408566640684888230985999010972389458487056193491533773021128219977275476511710808350427290536872137396280790399149461459258333389604350082704109541453761459492891614300073544920759810921134825857987566538926612219781931540856380575297087230264602091213860203274821425631700288651477090327374117818372354513723005682353076938884309992602882585385817284533397187268578929231740125205745015148785591522071970642970554036623572311806553910229079877608743329443582247797740590907193562415325213266236985675142984352301647160099187487190550526567269690686902621845177539409664844948173278663404547126864478519015174922162174446771058392418884668520180461413320024304824704095012824895195116731386547690779129198923425310330049350940592442619325415278073534058996531068612439919382491150132397830155064874089536116676942641473117485415627317137653728738222246859106699314885969804159005202424990690281052016602222291250903828843199347294035603422999729566356640568460602662623133792304184926770480646630538197652815711271987946349479006183477407500565389364560865932858553850411957942464270240327500732155396182979728560836408195721466058136959205106474212016647531595707664685776424931516219389268143058800131116076574949146635328476110329863509233975945969974375744600418395997803406648050230195981048805913686353992258297271716924130942239862247921822513389417431397772308828971703216041529064388163772963368088679092505368069436505945414931673902459913711871611265073041128191797137389047915455758070984388588689188446803881755163705293714135658655632305931658414352374209138983648097807517303369842835565594659139786365246727847557960764453182186368469215915344746710204794937498053396983263327609425962159220469938849511402895377712864025127664906650910136905491469964269000229904118514490184103537949907142391972512458228315870381973547764806522159482194778267938210269759563343388284638019092451151054977245812659314720040783023994464505675214325181820707142910686470291541643373304781485665580218878829268606218933050262558609847481565235943769462043136944931412891338784555800391164541876455755810247965857404326847815665570605395047613894272242093977738641523315231634750386219332423325422875350908246402157147945374227039645749328902791349541045205220483673764691018469944226921401 3966827589265970162454314704609540302306781248952867234710783268695325803557460445539536723724589089755839855921926056929944775189528362077240040634761663151586405714925909381829072392887208452240896331059552179851219170558219757596287848837216292690275440720081163570871460671112554815436491216566267515259908511114913786899669549605944228171879556696543588415099296984657649398706379751757672061670987477542593063529018908398945193599531413881247098396046067885944095728736171544453286926960115468158231902632980727282659481580392416917748857964462038658127736104451411382320844552198204916922382126589543927608836514855810187505013904287490994602688199194290832273685537641470222893901772399160655429389011210251872547280965389280490085246954899564585480746167335914337457686642236463972384957584637925932196754327428035115562991173205571542410034314119224501438469617388237714200686924973429963515994368706280904632516064474807499004615866732843177545129392704634854520233707559225570723314242895196656575554542584495199209012184886448789155494822070083910483916236934930480089125053800392885747126166013252032258997381139221125002673140756645726265700461809367469900562015608406104800359557244941661828970257330707088776552660619176697210957064438539713822850790948692887982913614776183687583495787322934824344883031148336676546628784101570600737045101618207886777925886404849077172226759555043033124092035171036193868119687234282048521338110444713499177740728354884639488029908328648051435176419993626869747148691250511144895228692389253028610314887328884035968175108493921432258888756583794988646756939986847544393717903980977423969504776358291229348085092214046463270889952050279062803228059987076265837261060030417301279325327578359482199226155934460655637471361735984865857334110802650964299191267869898137820874545825071684109983356884179444208308002782247242305538294710680275355661984329364565914476026924518522105717349358785174744833199430478868997692733390129688756289157511519943009846033443421573619820534139795559724912108895176427139738614548383875555908271407417654187616744731816420180626109711501916854200094569412771927018552681914023633716504151226145973639352154089365231827705529513338424278079486953830334025919444938567557074269093619447573859318679032188451553970452497498215053449556292570481511785273203244759581294570856417030768813547803293226794608389359840557123260094903983547076551206139984022900734064110321538174437983104720521178083676751054367093899384447305941159892010352753412529227432378809649208562936680986666524377406463596861864195326506728036421841066302306423535372921602946416516225358375440782104132548710025688404802190024462729426387787386298917941100750294665838006938885668997156009970234190519752487952465228459108534943767790953640831619879450023514224084777659597175193334620266272825806381350087430609371166400618336962483552988306778346967370421754410240271810767396984006984145555528346512262325605082515470343097895143476722322268916610696238583103698527898650959387446081715091241774566518397239879902280955015322295358212871805438651146435688879618047570036145203437492075666573652782606154365897922103397863159898771534329209161543291089870251407762203839567612616232524939745202032746893228450674342336175435040013687753921152807546135931379234331002967588011120925741633801615028950357536724986428965136107827039532026855672346800925649345548649574559089429465210104381211455808923251560489079198646999407310545343535964305252217895621596975872060893103886998227887719456249758775888706930152945419638855813031934432813456178825206636157012522790799687775318200151128341828995410744621005111276123360613372695443562327037592633861332294846530117305353475686055412158329480543415497863278325210120316568846976918886181475201661066401843780184029936128673357446133470786582349359652797924251162691625906125534986062157709522387954214239665643463904171359226178235721271145290680856558619444661052255930531806240610759195250841579153987020075295430319351836215039528793137103896753403 6418461866943147267551334514814830703080697972723779685910346002479315247981394912488363048006476603135476032606260162817570865070430184330572752559101642510963020935889729840026311749973508206528165644608165552901818506898138662886510886555593057219160751460126922187712064888601546986309693389966868131514636945388362808600959405717365438401910886701495168815143641888454284765389034814314503010719793378005134992590771035768507598338853125595969926560090909139883577016737089808856718973966994865763700994576731496328513225656675387660645183310966367828324946766779231252077595684676177387514420246062421578161319677125963524077670853139910051593995726911188228596208159177984581389528420106110945518829795752054835453682144941775475910246271450446240977757307957491441681220664724887809566657125387616755168178380133481286791878616248934238305391727000827796506578089873878961744169967130137931833538107313214444463734810197048331178053200055155096203673006151679214545569368351412127502402813344123193841324407336402046553612651776220818919626744255172973116649896919585744966875919454595770681668317404131390403936647524540388165950207656025730461103199286389083308552812419199022852958431927601556793255558985561992617759287618224609045535572053102063711283184799330301850327075971117208896230799864977179755396320966870047315739297256537716163384249668893125231041171194275522920520704937598648065616772392613023005438194362871211426815085709851191425797197247103703988915876460221314810533973730697695180414392833997729620541708974127790112147570859711547446409090550213935706546356518307459051349222387914319684610013781512405157830549151554509864591455103528076266965038891419054626167481879249607464268512016006229433425860724336484428017125051716134785879928376669754088320109813623353757678324063389671593895674045048959586495067692529871498844874919643523095937444172139533689051588679447270024017480685978014997331649432330095504644120565304726985259272316741908538220698367900518306933263708023664833680737414616985356612397546653517467112732366756230069631277089770731126501054724419302766011926996035314041468673498644512052224297697062809225238576121869116527675975726401171785737934609390947167607523069201628074616826638500982882287535330605122716843670980679348550741457643048024782323140243195192326689324682868089707754573234260964157633292066818468148956782836130898949542144763424164008489871230444808726995746889005516654905824530795499650377007102061384416444839976889925266575170083886812409060296044818729031699713069078816821589251495999713538806836799624213452049158203956035161757619780709645731402195162534445984529123238991077705007024481275366558269587134680334521364100479861022478575399488331620289802274419117290233134583003426111924246215755737303119837803356857524079613449338525530033747185032224215290076621677588162764767349380346897798891748709772836483926575528228622256919342363104648692760570487044565901530468663882646586419672844290112050798379246474205472559049668502274395559805842079518497889824796714378288685815967309007580592629929795936380891008683610702131436987467542975746321047369789694311670542529670885471486542252404139603765715106958222763772711321474075450832685657360716736882591080662348986521658730924864623486817569509084858101260271590034866636934626002363495134880617449712836467660906567821994559795247613404778754703230307565378831531917118790474434176175414899318709509205906514888098505160806219877249394854938859682965081920749261882522971030009378468192156719686153877290378891033690895326781247785544392661129326560798754400963534682272994466043256410420887905172383695382640097562427178337859185354758282367820616628325837970060855299126060618596741882449871123916720279348943905428999145837453195851936444033811508547967079723953491979265618288859024809571138149750817339800706918501873871982939312909973375092993349261853559915705998149097867701550952905895676900188981944867536403164176933963388556133422290487328482889811424836475524572319888804219811607048123674804 10385289456209117430005649219424371005387479221676646920621129271174641051538855358027899771731065692891315888528186219747515640259958546407812793193863305662549426650815639221855384142860716658769061975667717732753037677456358420482798735392809349909436192180208085758583525559714101801746184606533135646774545456503276595500628955323309666573790443398038757230242938873111934164095414566072175072390780855547728056119789944167452791938384539477217024956136977025827672745473261353310005900927110333921932897209712223611172707237067804578394041275428406486452682871230642634398440236874382304436802372651965505770156191981773711582684757427401046196683926105479060869893696819454804283430192505271600948218806962306708000963110331055965995493226350010826458503475293405779138907306961351781951614710025542687364932707561516402354869789454505780715426041120052297945047707262116675944856892103567895349532476019495349096250874671855830182669066787998273748802398856314069065803075910637698225717056239319850416878949920897245762624836662669608075121566325256883600566133854516225056000973254988656428794483417383422662934028663761513168623348412671456726803661095756553209114828027605127653317989172543218622225816316269081394311948237401306256492636491641777534133975748023189833240690747300896479726587187912004100279352115206723862368081358108316900429351287101012008967057599124600092747464492641681189708807563649216873557881597153259948153196154564690603537925601988343476945784788869366245710393724324564927563084084508874515770401363380818722462458188595583414584199044135367965435113102102447698106162374761864078327917762489829127335325509845739212676547317574539537854990941698117429395541866325873301529572046423530712751188302695966627243280986176790423351290112654619945654220616274318056869591933287809414770219870120643696478424576709315707152877701890765401475738882819809044713573008811835938493507610496537103048998791115270249477319995783595982952005706871597294509855879420461316779297151445238453501271554412545081524506441829944606851346915140105625539548497188385314117799456235722946638036707537230895668768068057283979242850378976832858955080273095262501315327880490537017565640138904285591885602556155458408642746083439550439361804424224570290702989659711537002295428095545522997376589799487762808201109956071334467335867805117381188402105614621761375751391225490739506665404858328147555566422436584792749896480953115838193080262513900220171555090778812438783538739361337231207735062094239565821589523477197538680908276005759803488113628902463310400671032126130941488470999270258341585292992702312592147918420520909886766633255787701103393411826671299829287695974922066633439305201230155688316582338374000617445812244653307809985622535468654571032781159523528256760669423236307547593837534116185127208940519652490488115883003027675593374138515780965234761375301698079614830893945949983032497191153130501632699744716042572912413792794268965162056762770739433588773120648163084901711142153367030173046519193288161233589131599363232775528565718248264022902887988142667741819542155119299581749484557503688179183813123036363347094276696895568807574884405412302911138094924268501513853642962729236279290400298273593241676627793113409242214972333073261040058526831257263006010908806407521414100967937593590374616060622251251327865418018443292808423524931355440444310781558902654366304480877465768365033523605640625003699920965014829766448587584359453219284559940198474823988217299816370858858395031923113265466420044439142403636066267597963843840746420103598576327093942782739623961037120547205063794153818574610572016247001379106127261102673703301698472558050201844694858209262187170264907385416431414094282797294608200604460135777212222230639119462406300172770822625509013169614368923504137521915394291646305158280357720499110470137724958081193499778108474298972131084615381303476093225559169902320457093879786674177040967581045540564312197455420107465769629166892617541328907636876831500131905843924156103843748604744152020428207 16803751323152264697556983734239201708468177194400426606531475273653956299520250270516262819737542296026791921134446382565086505330388730738385545752964948173512447586705369061881695892834224865297227620275883285654856184354497083369309621948402407128596943640335007946295590448315648788055877996500003778289182401891639404101588361040675104975701330099533926045386580761566218929484449380386678083110574233552863048710560979935960390277237665073186951516227886165711249762210351162166724874894105199685633891786443719939685932893743192239039224586394774314777629638009873886476035921550559691951222618714387083931475869107737235660355610567311097790679653016667289466101855997439385672958612611382546467048602714361543454645255272831441905739497800457067436260783250897220820127971686239591518271835413159442533111087694997689146748405703440019020817768120880094451625797135995637689026859233705827183070583332709793559985684868904161360722266843153369952475405007993283611372444262049825728119869583443044258203357257299292316237488438890426994748310580429856717216030774101970022876892709584427110462800821514813066870676188301901334573556068697187187906860382145636517667640446804150506276421100144775415481375301831074012071235855625915302028208544743841245417160547353491683567766718418105375957387052889183855675673082076771178107378614646033063813600955994137240008228793400123013268169430240329255325579956262239878996075960024471374968281864415882029335122849092047465861661249090681056244367455022260107977476918506604136312110337508608834610029048307130860993289594349303671981469620409906749455384762676183762937931544002234285165874661400249077268002421102615804820029833117172055563023745575480765798084062429760146177049027032451055260406037892925209231218489324374033974330429897671814547915996677481008665893915169603282973492269239187205997752621534288497413183054959342733765161688259105962510988296474552100380648223445365754121440561088322968211278023613505832730554247320979623712560859468903287182008969029530438136903988483462073964079281896335695170825586959116440618854180655025712649963703572544937137441566701796031467148076039642084193656394964379028991303606891708803303574748295232759493125625357086483259572721940533321649339754829693007546660640390885553036885738593547779699730042682955134890434638939424175090441039378345346035397681440229524708174061621638456207549621752311564056293667029601476892227842121354847986087044695719821932097880873823199983579338227156474310232178126378230649819522016267712607989074838620309702880398463023939477868925755154940520157474214376747050612483022237879320615683444332751162379026692181098418851152575195845965562056746967960669301710016710795157737862332237735614519072425100218757118472080682957027375279265559880507226593165071673450983454710657242687704684714703405959624705263756138905865161312132560267050407852451314820521478211654754110495493606281392505286529617478315323262932847808643182443583723700823919027409559107183701203035532447442078999130240752087021424159947153817251534215573030483480618072463678200433163802910283880921544971231154930134170406153041405947239425239693046370947664707050741860639375459736617415674050710354741232983930953958413510384194071591201493991804185904682013648826772090869010066679111448967604872219592738111195502868701040701885679349860630418084726603053849089536262132961931683312409382887155507957781816039903018630474220736281336686089520259439161809335053413683671182381737120120740918002953122643934612201158828557513356646488997534736073201351384120719755072109300422715438084081887336788619861831020992904152173762801509901200236130480036331743404960127062678825890513008234968240715557474712879539177058071728376856056561166136068118608243753368622759069542824678162336003228091013894659909935164183089928858648861287477525664999695373650091413611882104459708374652737946785474875900469554961581337627082936644481234522509179733858584284399733017723026039831816236119766642924968381368496475992647968416351200144103011 27189040779361382127562632953663572713855656416077073527152604544828597351059105628544162591468607988918107809662632602312602145590347277146198338946828253836061874237521008283737080035694941524066289595943601018407893861810855503852108357341211757038033135820543093704879116008029750589802062603033139425063727858394915999602217316363984771549491773497572683275629519634678153093579863946458853155501355089100591104830350924103413182215622204550403976472364863191538922507683612515476730775821215533607566788996155943550858640130810996817433265861823180801230312509240516520874476158424941996388024991366352589701632061089510947243040367994712143987363579122146350335995552816894189956388805116654147415267409676668251455608365603887407901232724150467893894764258544302999959035278647591373469886545438702129898043795256514091501618195157945799736243809240932392396673504398112313633883751337273722532603059352205142656236559540759991543391333631151643701277803864307352677175520172687523953836925822762894675082307178196538078862325101560035069869876905686740317782164628618195078877865964573083539257284238898235729804704852063414503196904481368643914710521477902189726782468474409278159594410272687994037707191618100155406383184093027221558520845036385618779551136295376681516808457465719001855683974240801187955955025197283495040475459972754349964242952243095149248975286392524723106015633922882010445034387519911456752553957557177731323121478018980572632873048451080390942807446037960047301954761179346825035540561003015478652082511700889427557072487236902714275577488638484671637416582722512354447561547137438047841265849306492063412501200171245988289944549738677155342675020774815289484958565611901354067327656108853290858928237329728417682503687024069715632582508601978993979628551046171989871417507929965290423436113785290246979451916845948502913150630323425053898888921937779151778478734697070941901004495906971089203429647014560636003598760556871918951163283730485103127240410126741440940491858010914141740683280523442075519661410430313406680815426197036441320710374084147501754736653636890748659288000411109775832806209634759080010709998455016474943148736668059641530306631487382245820869214887199518351378728181512544891902318805380083761011144179054263298249650300102422555332313834139070777076319842170717943091544595010758642426308844495726534437503296061990900459565287112377962872954480080459119622716103614394226788708795237193041066349558595939993487188659686261983522318699564387682045294272365944052239342999213806393516265080598423797816509300926334340148901051886096428991156744472718332343605185334830027239036204354219517795634814393284491830677823875025133661536978813601399974502940172399111740076236332855181426763725732910204379653940735253989808534802793816641176649829472619267288517570895784451628224337205191521842627732939349513044380942277367321642352105932066145714467428194687251301648624107914092250002572190390729116057201812970699945214323157289597039675572644008894843356402562620488598192418401985676153023523179929345817252463837053386368606215131420019975318922209865630406102474919334113947293442516388500223936320808500621255353077009961879955563643961250471058636779946634031633282204547200090138177307480833416466324877446944740540480084035096879918873086632863068572809813183112727256125119952368567303697793153438841609657958494293400317821035616297987793286848655520541481387456664906718551439235566047785273673879712658446369275251888507659399681553490979599313034876235909401032245597970961149422914086961378576819621454982697046849014892040046676475204629092400582773680405631564920399175141907637162302909833781734804301455161971757537035152700178499875626131988888807162336471666272332836991833773388366707238070650053541393581695051837847776704926732228535810054201581469341370286579147971757615250623080888873428199887910854235544323755956214040011034045802790012055461124301259977612062280063073491931314004391865502646889918657373145143756643474425100287212420632096491717021095352164531218 43992792102513646825119616687902774422323833610477500133684079818482553650579355899060425411206150284944899730797078984877688650920736007884583884699793202009574321824226377345618775928529166389363517216219484304062750046165352587221417979289614164166630079460878101651174706456345399377857940599533143203352910260286555403703805677404659876525193103597106609321016100396244372023064313326845531238611929322653454153540911904039373572492859869623590927988592749357250172269893963677643455650715320733293200680782599663490544573024554189056472490448217955116007942147250390407350512079975501688339247610080739673633107930197248182903395978562023241778043232138813639802097408814333575629347417728036693882316012391029794910253620876718849806972221950924961331025041795200220779163250333830964988158380851861572431154882951511780648366600861385818757061577361812486848299301534107951322910610570979549715673642684914936216222244409664152904113600474305013653753208872300636288547964434737349681956795406205938933285664435495830395099813540450462064618187486116597034998195402720165101754758674157510649720085060413048796675381040365315837770460550065831102617381860047826244450108921213428665870831372832769453188566919931229418454419948653136860549053581129460024968296842730173200376224184137107231641361293690371811630698279360266218582838587400383028056553199089286488983515185924846119283803353122339700359967476173696631550033517202202698089759883396454662208171300172438408669107287050728358199128634369085143518037921522082788394622038398036391682516285209845136570778232833975309398052342922261197016931900114231604203780850494297697667074832646237367212552159779771147495050607932461540521589357476834833125740171283051005105286356760868737764093061962640841813727091303368013602881476069661685965423926642771432102007700459850262425409115187690119148382944959342396302104992738494512243896385330047863515484203445641303810295238006001757720201117960241919374561754098608959970964374062420564204418870383045027865289492471605957798314418796868754779505478932777015881199671106618195355507817545774371937964114682320769943651201460876042177146531056117027342393063024020559297935094273954624172789635494751110871853806869631375161891527320617082660483933883956305796310940493308108369199572732618556776049884853673077981979233950182817516749883874071880472900977502220425167739348734016419080504101832770683679009770643995703680936637358547889052436603291659815419286540560085183505898037791544156355526450492322282889162521230074106124254155437044107519389699389358279626769977641251369511314218687095079394217668357067906559651887798552268958013841085465590249528976450220979627099035560569360643804650189109906897814098665092917041282798158010423136772412815936946835910082059376521683876422637690940739501025606441694315929021919894927802252438203105651950246103589499881909402513784517460534988906406342005412144117714195484755289101807869044439320134660779343127657906880990420958702982203116078544559438095067930677191548642737763174447683127083163068786679410083869849224287595098220408482725120149511327647446150489044081463848669429906171175746048193667626300741717012621816203019420987088474310830656988772866266135501158503648561501552424617960316681632849422554128910807187748928939765744312036177682032775850838451627988653409269189377143014069259694384561548142489854083168578229671105696231542676049439169272704809737181913456302329121959763399972097608178610305302191330582063290611100340231037829358553335644446756799518662779560575958913312892822806366817766604087001340469391913288710979737371393542236652557824551348904709147063503145964261771136044860122098820215861043213186734843866847546363520041875648724344061213847890334554502775356678893806910016340764594662525939040929960319549704714111516633524460215437796833045092776288080584247078291301522736340004032130608951986796508921703259567017042461928342914256543514585582671665172588676265235664612944697204961379876410117350068668580917108089139685437446552308634229 71181832881875028952682249641566347136179490026554573660836684363311151001638461527604588002674758273863007540459711587190290796511083285030782223646621455845636196061747385629355855964224107913429806812163085322470643907976208091073526336630825921204663215281421195356053822464375149967660003202566282628416638118681471403306022993768644648074684877094679292596645620030922525116644177273304384394113284411754045258371262828142786754708482074173994904460957612548789094777577576193120186426536536266900767469778755607041403213155365185873905756310041135917238254656490906928224988238400443684727272601447092263334739991286759130146436346556735385765406811260959990138092961631227765585736222844690841297583422067698046365861986480606257708204946101392855225789300339503220738198528981422338458044926290563702329198678208025872149984796019331618493305386602744879244972805932220264956794361908253272248276702037120078872458803950424144447504934105456657355031012736607988965723484607424873635793721228968833608367971613692368473962138642010497134488064391803337352780360031338360180632624638730594188977369299311284526480085892428730340967365031434475017327903337950015971232577395622706825465241645520763490895758538031384824837604041680358419069898617515078804519433138106854717184681649856109087325335534491559767585723476643761259058298560154732992299505442184435737958801578449569225299437276004350145394354996085153384103991074379934021211237902377027295081219751252829351476553325010775660153889813715910179058598924537561440477133739287463948755003522112559412148266871318646946814635065434615644578479037552279445469630156986361110168275003892225657157101898456926490170071382747751025480154969378188900453396280136341864033523686489286420267780086032356474396235693282361993231432522241651557382931856608061855538121485750097241877325961136193032299013268384396295191026930517646290722631082400989764519980110416730507239942252566637761318961674832160870537845484583712087211374500803861504696276881297186768548570015913681477459724849110275435594931675969218336591573755254119950092161454436523031225964525792096602749860836219956052887144986072591970491129731083662089604566581656200445042004522694269462250581988382176267064210332700700843671628112938219604045961240595730663701513406871689333852369727024391021073523828960941459943058728369798414910404273564211325627304635846394381953458581913229803301725874258389930469645432595740930118786161887599808906475200246347167028216737355931838400820722858266335128505520443880499640519236035467905335899000315692619775671029527347798502470963159813411737822853691897933798688092152771786753648655478750082080206800325246113288636014374170760618307590361509018637890334997948098468046523890920627516426353551190936644444884853193162860526252110310208028018596502226145944153359125086449644880171142455164994627045866867203551754619716583606249456334601029256713792741822109577005291673998259773555377336473750043072872230038280017998378554847124973387915840657688419275383967044723439327471206307012508886039143247137256217830502726518240383801647330015141733749921069823158028757291185818406395112066856694288881653818726974501771766663382237559532947610603622804499548340048358593786738809033258034426641559079794163094608994842284628847812852377175104750491845958963565707753108605777836493074936167508101304042520042435890171904204194527658898983080198196590920556729369716455733352691868376907233437279684756054547885557190698989981744844102079939544072705594462736676692354770479812202474662920291889712444261349514813453101893380516068388493340072137954167222642284122744950524046616784225806055798043505940346315284070577752896195913365234719492979535252327204212120390616394050839724107942869482594749543860451409922459646500373715745856692548085514768313098102865830502016944804802708026911161473120506491189433590575548355886565166026807542967506049579072503586229602891868605794648656163596486593068130738311502863354578106523633053591775168955793337740185631402458541904473165447 115174624984388675777801866329469121558503323637032073794520764181793704652217817426665013413880908558807907271256790572067979447431819292915366108346414657855210517885973762974974631892753274302793324028382569626533393954141560678294944315920440085371293294742299297007228528920720549345517943802099425831769548378968026807009828671173304524599877980691785901917661720427166897139708490600149915632725213734407499411912174732182160327201341943797585832449550361906039267047471539870763642077251857000193968150561355270531947786179919374930378246758259091033246196803741297335575500318375945373066520211527831936967847921484007313049832325118758627543450043399773629940190370445561341215083640572727535179899434458727841276115607357325107515177168052317816556814342134703441517361779315253303446203307142425274760353561159537652798351396880717437250366963964557366093272107466328216279704972479232821963950344722035015088681048360088297351618534579761671008784221608908625254271449042162223317750516635174772541653636049188198869061952182460959199106251877919934387778555434058525282387383312888104838697454359724333323155466932794046178737825581500306119945285197997842215682686316836135491336073018353532944084325457962614243292023990333495279618952198644538829487729980837027917560905833993216318966696828181931579216421756004027477641137147555116020356058641273722226942316764374415344583240629126689845754322472258850015654024591582136719300997785773481957289391051425267760145660612061504018353018448084995322576636846059644228871755777685500340437519807322404548719045104152622256212687408356876841595410937666511049673411007480658807835349836538463024369654058236697637665121990680212566001744326855023733579136451419392869138810043250155158031873147994997316209962784585730006834313998311313243348355783250833287640129186209947504302735076323883151447396213343738691493131923256140802966527467731037628035464313862371811050237490572639519039162792792402789912407238682321047182338874866282068900695751680231796413859508385287435258039267907144190374437154901995352472773426360738145447669271982297403163928640474417372693512037680832095064291517128708997833522794107682648902501675930155069214794158189020573122435795251807642226101860021317926332112046822175909842272181089038772070712979604307890628419611878064099055503062911124277459808612243870295383305251066431750795043984580410801033962683746000486980735644902385634150582069954288819171222765179259624325761740806432350534114775147475994756347173350588618017668041673954605764773391472512012855288699705050899402441007168599168013785181846908491132040522048965840358339979951324055711662496564215672329735776775467092915735049934740121262112240550618925535704433663041015509329322048931050653198766367127883480354966912569684544402674748001148767519622108667840260082381044981377447132609345560816944873149456367085461157133501101066784445241007371262125936859536305061760580775806128817994697471134529386200530136919270438957081537050241051932475278752756349952575515687461202501918889434095671954825822657221126067054790321616460792284372450164653061397367220312202110221139855248312566287812904887956507954560443987123587969682803224648007258441260611577365814475549517097435300310585682652386958240712643585648737905649472377776752618121487140928173878734814404159381097259187105682452079181577360998427081590578380025987372772757330004679311740872640359726002074526192915266148170706029193200679656853662726495862492890320563808134713180279775110534953016072321139111569998474982035238879205202605267067716332580057188894720985460301782051051875325560764878936680569501872951325931289309201762305277076391175406169397968757239126551969563359827081615847246087769114960455264687614442497372257951428437667361426263224241162899654786786652867635219482424614736390290717454741637847800803199242057367584782490956326915552388017174118013604051889209309146089546048157945806125149309234238835261659181744395973976115808051783067903509463709125237624374254848274771087895988456781799676 186356457866263704730484115971035468694682813663586647455357448545104855653856278954269601416555666832670914811716502159258270243942902577946148331993036113700846713947721148604330487856977382216223130840545654949004037862117768769368470652551266006575956510023720492363282351385095699313177947004665708460186186497649498210315851664941949172674562857786465194514307340458089422256352667873454300026838498146161544670283437560324947081909824017971580736910507974454828361825049116063883828503788393267094735620340110877573350999335284560804284003068300226950484451460232204263800488556776389057793792812974924200302587912770766443196268671675494013308856854660733620078283332076789106800819863417418376477482856526425887641977593837931365223382114153710671782603642474206662255560308296675641904248233432988977089552239367563524948336192900049055743672350567302245338244913398548481236499334387486094212227046759155093961139852310512441799123468685218328363815234345516614219994933649587096953544237864143606150021607662880567343024090824471456333594316269723271740558915465396885463020007951618699027674823659035617849635552825222776519705190612934781137273188535947858186915263712458842316801314663874296434980083995993999068129628032013853698688850816159617634007163118943882634745587483849325406292032362673491346802145232647788736699435707709849012655564083458157964901118342823984569882677905131039991148677468344003399758015665962070740512235688150509252370610802678097111622213937072279678506908261800905501635235770597205669348889516972964289192523329434963960867311975471269203027322473791492486173889975218790495143041164467019918003624840430688681526755956693624127835193373427963591481899296233212634032532731555734733172333729739441578299653234027353790606198477868092000065746520552964800731287639858895143178250671960044746180061037460076183746409481728134986684158853773787093689158550132027392555444424279102318290179743139277280358124467624563660450252723266033134393713375670143573596972632977418564962429524298968912717764117017419625969368830871213689064347181614858095539830726418820434389893166266513975443372873900788147951436503201300968324652525191344738507068257586355514256798680883290035373017783633983909290312192722018770003740159760395513888233421684769435772226386475997224480789338902455120129026891872065737402867340613668710293709524630643076422348620426805182987421265659230290282461519160775564620227502550029749290008927066859433232236941052779517562331512503407833157167896208854953146173562117835105405292627507979918191187700020743519178112036695946966516256145006721902869863375740863774157028072104095842465311152042965754409942577100713206204371064308910881880419830912127944173594768660989113977375845939851678169625119918318820124799851765762847404928926858311356795538218610893986204235740170067827092012780488015981939500195323234289012911753217684673033901575608400518839729601358414638765872449804388591550074807608279429273402366957550456955460091897366025320391119410444769227959482732184641829390095741108180840864965904358382284885293048134701176086019780179794795147288290135360138978431041066718961399879761582245389608379170961625359736346185462207540206051864234381865362815597875691222039119618940686813599799792437748743346900491757006624565470498662245678665724693777969867134205864964942175527015349085462302469601633014270197891576967284988903662391939069231280282731444242648648618840039082936426637959341609717274381419683589310545552978815260219319183240547478808997831466340478287184509901799497092317711329065847393510290788101501528690275391124013279727987521220803314452396997942715515115257560348783016737490690239975721653435039917204282852806616868174450299889505576849315527338550440241740546177981527812836185683887663273370532643345415720734250737712839256121219471686442650508830110403530488091273680389917491100743903739284040411594856715358725162049634387548697993755103882894998858145774812526712287618671406361174427142517300900406580167592588460402490354530361254965123 301531082850652380508285982300504590253186137300618721249878212726898560306074096380934614830436575391478822082973292731326249691374721870861514440339450771556057231833694911579305119749730656519016454868928224575537431816259329447663414968471706091947249804766019789370510880305816248658695890806765134291955734876617525017325680336115253697274440838478251096431969060885256319396061158473604215659563711880569044082195612292507107409111165961769166569360058336360867628872520655934647470581040250267288703770901466148105298785515203935734662249826559317983730648263973501599375988875152334430860313024502756137270435834254773756246100996794252640852306898060507250018473702522350448015903503990145911657382290985153728918093201195256472738559282206028488339417984608910103772922087611928945350451540575414251849905800527101177746687589780766492994039314531859611431517020864876697516204306866718916176177391481190109049820900670600739150742003264979999372599455954425239474266382691749320271294754499318378691675243712068766212086043006932415532700568147643206128337470899455410745407391264506803866372278018759951172791019758016822698443016194435087257218473733945700402597950029294977808137387682227829379064409453956613311421652022347348978307803014804156463494893099780910552306493317842541725258729190855422926018566988651816214340572855264965033011622724731880191843435107198399914465918534257729836902999940602853415412040257544207459813233473923991209660001854103364871767874549133783696859926709885900824211872616656849898220645294658464629630043136757368509586357079623891459240009882148369327769300912885301544816452171947678725838974676969151705896410014930321765500315364108176157483643623088236367611669182975127602311143772989596736331526382022351106816161262453822006900060518864278044079643423109728430818379858169992250482796113783959335193805695071873678177290777029927896655686017863065020590908738141474129340417233711916799397287260416966450362659961948354181576052250536425642497668384657650361376289032684256347975803384924563816343805985773209041537120607975596240987499998401117837553821806740931348136884911581620243015728020330009966158175319299027387409569933516510583471592839072310608495453578885791551516414052743336696335852206582571423730505602773808207842939366080305115109208950780519219184529954783190014862675952857539005677014775697074827217392605007215984021383949405230777263197164063161198770809572504318568461231692246119057557998681859211868096446287650883827913515069559443571163841603791789711170066018980491931046476399725794418580553043864546134530041326853630394001903897789829614515368052055419898176973648607181426739678353876180299120106114243651003142532071462746869709299202324030129486705167988782728822823886285446703605154818678332531949331601606312505563057840719561826464318121215049204539145389833576798884373344779601374474068886718785739818346816615771780965666460894719700526453225610517409544772278742808815473932503876820895912541628947607077252866398163201119180534998419645844331308985175203852795690788561579508351940083369751161968370392230344447856544655510447562249199570896315031527687692666470201897562939614948748947706028988686855547464493124845959231177291147392788657339430204623339200558040505081334392084806141229384401318088620149386606839603428592374026515303124152047857979094530662823300896683223592650223878949740042318908341703679941871640008733518768841563884988209788965619838638998463380000877282176479631109361113528440499094293775500494881318970577910476762166545140678702294922978396782179973567479682822486988992057442175888605288752400157483883954269949268646804424459322654060093128666096409373690410674166469173846212633698484021696387658620537304580214952992937613998497606419195174262448908128826173025319429998283355953733162327575646411936926428080498309633309645587855676056171346244406653131920913402054015646745924667871251595682545494504118904413117133834119804956556922686263734479458144242330651981010025644204541847436735173578250518818036764799 487887540716916085238770098271540058947868950964205368705235661272003415959930375335204216246992242224149736894689794890584519935317624448807662772332486885256903945781416060183635607606708038735239585709473879524541469678377098217031885621022972098523206314789740281733793231690911947971873837811430842752141921374267023227641532001057202869949003696264716290946276401343345741652413826347058515686402210026730588752479049852832054491020989979740747306270566310815695990697569771998531299084828643534383439391241577025678649784850488496538946252894859544934215099724205705863176477431928723488654105837477680337573023747025540199442369668469746654161163752721240870096757034599139554816723367407564288134865147511579616560070795033187837961941396359739160122021627083116766028482395908604587254699774008403228939458039894664702695023782680815548737711665099161856769761934263425178752703641254205010388404438240345203010960752981113180949865471950198327736414690299941853694261316341336417224838992363461984841696851374949333555110133831403871866294884417366477868896386364852296208427399216125502894047101677795569022426572583239599218148206807369868394491662269893558589513213741753820124938702346102125814044493449950612379551280054361202676996653830963774097502056218724793187052080801691867131550761553528914272820712221299604951040008562974814045667186808190038156744553450022384484348596439388769828051677408946856815170055923506278200325469162074500462030612656781461983390088486206063375366834971686806325847108387254055567569534811631428918822566466192332470453669055095160662267332355939861813943190888104092039959493336414698643842599517399840387423165971623945893335508737536139748965542919321449001644201914530862335483477502729038314631179616049704897422359740321914006965807039417242844810931062968623573996630530130036996662857151244035518940215176800008664861449630803714990344844567995092413146353162420576447630596976851194079755411728041530110812912685214387315969765626206569216094641017635068926338718556983225260693567501941983442313174816644422730601467789590454336527330724819938271943714973007445323580257785482408390967164523531310934482827844490372125916638191102866097728391519955600643868471362519775460806726245465355466339592366342966937618739024458577643615165752556302339589998289682974339313556846655255752265543293471207715970724300327717903639741225434021167008805215064461067545658683223936763391037075054348317751240619312978490790235622911991385658777800154291661070682965768298524310015165909624816575358646488471849237664099746537937758665080560493101046297471860352296871767273530693388672396124159515740642284800650147181149620930976893505324477178552561885022951902374874813882893970985019243464081013928634406992449006203765523729954670444095379354260528464623862358596059330455812668553861385117031631158170321592780823873540102835663486980639936470412852248392224172299805396062253134339292325675414906001094847086351088244747334870834371352868001720844973102573257517573645888408494481151830486160699080916312033636555754465937890636825376417885863144456412010524242651691943800582922388178001937381750489087572428052447287171318785910374307442375174149063087670544989080341096540106745268479879378549823564026014157840297519083135431706632986391025883559118811632285505328122370343893649508989116990033506109879748285603366284856606920421770526707327307812004095619011102920291464963011490212503828248871902046476598340073097275258701860068941654914092343700718413477016047973690316802044250955049351055042478199387240689725848027367077770470923988517682332833299901885016739921378287198406666947211362319539716883002843109866156786649349412064109206386378129065440315352196146687548126114153895742291543377855739043784400722987098634592016489446395852073343699076687983900040414902533156398114523148818463420049118343767329851736161897753875824652686094427241602640026596413645316933043202112659517000028832977950731369449398551353150864505416757794498310926050784709440025195576068605049179291729922 789418623567568465747056080572044649201055088264824089955113873998901976266004471716138831077428817615628558977663087621910769626692346319669177212671937656812961177615110971762940727356438695254256040578402104100078901494636427664695300589494678190470456119555760071104304111996728196630569728618195977044097656250884548244967212337172456567223444534742967387378245462228602061048474984820662731345965921907299632834674662145339161900132155941509913875630624647176563619570090427933178769665868893801672143162143043173783948570365692432273608502721418862917945747988179207462552466307081057919514418861980436474843459581280313955688470665263999295013470650781748120115230737121490002832626871397710199792247438496733345478163996228444310700500678565767648461439611692026869801404483520533532605151314583817480789363840421765880441711372461582041731750979631021468201278955128301876268907948120923926564581829721535312060781653651713920100607475215178327109014146254367093168527699033085737496133746862780363533372095087018099767196176838336287398995452565009683997233857264307706953834790480632306760419379696555520195217592341256421916591223001804955651710136003839258992111163771048797933076090028329955193108902903907225690972932076708551655304456845767930560996949318505703739358574119534408856809490744384337198839279209951421165380581418239779078678809532921918348587988557220784398814514973646499664954677349549710230582096181050485660138702635998491671690614510884826855157963035339847072226761681572707150058981003910905465790180106289893548452609602949700980040026134719052121507342238088231141712491800989393584775945508362377369681574194368992093319575986554267658835824101644315906449186542409685369255871097505989937794621275718635050962705998072056004238521002775736013865867558281520888890574486078352004815010388300029247145653265027994854134020871871882343038740407833642887000530585858157433737261900562050576971014210563110879152698988458496561175572647162741497545817876742994858592309402292719287715007589667481608669370886866547258656980802417631772138588397566050577514830723221056109497536779748376671717142697064028633982892543861320900641003163789399513326208124619376681199984359027911252363924941405567012323140298208692162675444572925538361349244627232385851458105118636607454699207240463493558498086801438445767128219246328746721647739076024792730857133830441237151030189164469691844808855847287097962161846647558666886212472311559097548348234304771203253755224087805175488984198035327742095473856769701414527745424665468963780284140499472332356339218124425039235576338798713982690873671171320523003187764176214935638819258449257328607889299284853073804444583292796212888165483973837621683592193173309049372950786181917417135815272892489212227335109489122427911303592130070936367921653900050017639132871982600166236170303560155169579708246884882437037961049526655256152670595208839944080771062523147854039818778901025423410639619365093897060221267374711192248780543349792580179826123915736847007589029479571476330492008066091515886432246543027517398988765459787637025112826804240868690508236599311030484637377572833696782016775265094522649184734258400859123255148404162835918635135038113926300327717397892661268536717980028187365214715880802600417527516512774215775427201647738961018892344931550962717920164812113269037891485204410411108904262968080199570645649476447369626720345799298952974560300198481780331776388816458660867666315237338536477276135984036548572764275205872141217507770791548468571635772622161431811517600183156901682163668122630207340645250153746475506674390275475790490305492321535771082360936896480009123964176205656903202994822883058723102474783372855551975278074013836217843075206746651458475957244536315469737541390819918161361083500145315619421171503341982432641717062367990548945093324542603647128096729694706199443386023082406304407007745566088148442888348564694467665240999478537706231563930117162667097755687926372084815087630322649659088446479320951694989251287461930749646855567997328494721 1277306164284484550985826178843584708148924039229029458660349535270905392225934847051343047324421059839778295872352882512495289562009970768476839985004424542069865123396527031946576334963146733989495626287875983624620371173013525881727186210517650288993662434345500352838097343687640144602443566429626819796239577625151571472608744338229659437172448231007683678324521863571947802700888811167721247032368131934030221587153711998171216391153145921250661181901190957992259610267660199931710068750697537336055582553384620199462598355216180928812554755616278407852160847712384913325728943739009781408168524699458116812416483328305854155130840333733745949174634403502988990211987771720629557649350238805274487927112586008312962038234791261632148662442074925506808583461238775143635829886879429138119859851088592220709728821880316430583136735155142397590469462644730183324971040889391727055021611589375128936952986267961880515071742406632827101050472947165376654845428836554308946862789015374422154720972739226242348375068946461967433322306310669740159265290336982376161866130243629160003162262189696757809654466481374351089217644164924496021134739429809174824046201798273732817581624377512802618058014792374432081007153396353857838070524212131069754332301110676731704658499005537230496926410654921226275988360252297913251471659991431251026116420589981214593124345996341111956505332542007243168883163111413035269493006354758496567045752152104556763860464171798072992133721227167666288838548051521545910447593596653259513475906089391164961033359714917921322467275176069142033450493695189814212783774674594028092955655682689093485624735438844777076013524173711768832480742741958178213552171332839180455655414729461731134370900073012036852273278098778447673365593885614121760901660880743097650020831674597698763733701505549046975578811640918430066243808510416272030373074236048671891007900190038637357877345375153853249846883615062982627024601611187414304958908110716500026671988485332377128813515583502949564074686950419927788214053726146650706869362938388808530700970155619062054502740056187156504914042161448040994381441251752755821995297400482546437024950057067392631835123831008279771639242846315722242778928375878983511896232396303925342473129866543674047629015036939268505298967983651690963495073270871192909794289205530146467897811643648093701519393762539799954437618463376352510634496875055875258318038994379534152912354514530511034725552883722613015203963712930872076039138469927683194639414001887959467150054881001096040619783871935611039344320783311957435629521804599218870294097883204985532336622636270574334987745438444851216391860160300374451379461543249907475789038920215829967309769060471348774773188435876212496497475087144294068616414867195846051542807721898692977751065064159566523290657852658535560230280249959380473451801425843985283267801461730476762360532120424985272701448030166591726565522843601064116380576458585400988379111104576440329411734466451444985304968602245545563601648545070637553282399381433310492895997523960723306816652707147007827920068802297493455289625590836205522888257283216251392933159928543111613407025555574771078532505862837522575096471905577186769497562590779336984981722805583103006641424257504637929748416096529851751391228873721100119500662948219407202166453085206857772651177850259673333061813814321102386027924991314290159394507629252936806491067420003154696934532349894917964077480591663444791821988892644707532769712791835678609574551394685896617514419189298215841935921247807596442261952574666412386860868655225635101069404357848478234707723020624670464024356723108775692375322232242914058280767603843691371443503893088659746312860979669708072514538892579241930104343514329188413989762754872765612371699536079693325476585175220641148459718092161805065817023576685681509329700962408405451478249722657126795946560149743824543210715874818568202160883570218774242870129951204721064078886316411580908344223447117191500075706419295821483366440781187155075846240977631877745773960727487126325715460617176620224643 2066724787852053016732882259415629357349979127493853548615463409269807368491939318767481878401849877455406854850015970134406059188702317088146017197676362198882826301011638003709517062319585429243751666866278087724699272667649953546422486800012328479464118553901260423942401455684368341233013295047822796840337233876036119717575956675402116004395892765750651065702767325800549863749363795988383978378334053841329854421828374143510378291285301862760575057531815605168823229837750627864888838416566431137727725715527663373246546925581873361086163258337697270770106595700564120788281410046090839327682943561438553287259942909586168110819310998997745244188105054284737110327218508842119560481977110202984687719360024505046307516398787490076459362942753491274457044900850467170505631291362949671652465002403176038190518185720738196463578446527603979632201213624361204793172319844520028931290519537496052863517568097683415827132524060284541021151080422380554981954442982808676040031316714407507892217106486089022711908441041548985533089502487508076446664285789547385845863364100893467710116096980177390116414885861070906609412861757265752443051330652810979779697911934277572076573735541283851415991090882402762036200262299257765063761497144207778305987605567522499635219495954855736200665769229040760684845169743042297588670499270641202447281801171399454372203024805874033874853920530564463953281977626386681769157961032108046277276334248285607249520602874434071483805411841678551115693706014556885757519820358334832220625965070395075866499149895024211216015727785672091734430533721324533264905282016832116324097368174490082879209511384353139453383205747906137824574062317944732481211007156940824771561863916004140819740155944109542842211072720054166308416556591612193816905899401745873386034697542155980284622592080035125327583626651306730095490954163681300025227208256920543773350938930446471000764345905739711407280620876963544677601572625397977415838060809704958523233164057979539870311061401379692558933279259822220507501768733736318188478032309275675077959627136421479686274878644584722555491556992171262050490938788532504198667014543179610465658932949611253952735764834172069171152569054440341619460128360238011423148596321245330909485453006841882739791690481512194043660317228278923349346531375989829517248988412770609961456309730449532147286521981786128701159266202452377303365354008886316495469069183544003844757163370377798132687714730370171682090176185242431173587486704232454397893169225975764642639039079036423782715257728705312453872066207977426399409805945098691202650437101329410571572198975069288317678619109616171739395047924476589387018280801699164804396928219500683041114213643764144987661353919850050118181067280317603117989365653377763468678622994791182189978400173648688951201961444788606496598201903859430491090934297826585449503971765290631931940240367309867709739409079693246982718193438809904060461347521108548842418929883477465752822374085816538882365189869620256755850429088420430133462225505349047339903586553440294783147144715213099343806501048840520972688614356295993159913370110020492261623668165142422643891662933147604775314522638102617097745656639835587628620817739183499820900357940621216932941751974902530591016952814509879938756443589601902719918190464732181417941880286854596733670070195191224295779733979133215655065816476518700570503411892221017006061713069479602066561252695694216917052040891861926572153765281461166193637379107073017146051827530669933166087183464504087983153429018599144910833588347288573818672386255408792002751568025971108442048368270778416939531031113384251482865627724564449829363128540740171380567468069294316649515855802552766795617013675952097482079621588343024631832837961619417070847656780616008795214126566040559309820801592307120685238195080027663941971418024776396000423343047199730443074656879438530742654101897900974506567891315784862391313018299769415531744127315890118614575787377234354167173462107222193568181528411509804734934687456952829440763212014949057075362316185173948719364 3344030952136537567718708438259214065498903166722883007275812944540712760717874165818824925726270937295185150722368852646901348750712287856622857182680786740952691424408165035656093397282732163233247293154154071349319643840663479428149673010529978768457780988246760776780498799372008485835456861477449616636576811501187691190184701013631775441568340996758334744027289189372497666450252607156105225410702185775360076008982086141681594682438447784011236239433006563161082840105410827796598907167263968473783308268912283572709145280798054289898718013953975678622267443412949034114010353785100620735851468260896670099676426237892022265950151332731491193362739457787726100539206280562749118131327349008259175646472610513359269554633578751708608025384828416781265628362089242314141461178242378809772324853491768258900247007601054627046715181682746377222670676269091388118143360733911755986312131126871181800470554365645296342204266466917368122201553369545931636799871819362984986894105729781930046938079225315265060283509988010952966411808798177816605929576126529762007729494344522627713278359169874147926069352342445257698630505922190248464186070082620154603744113732551304894155359918796654034049105674777194117207415695611622901832021356338848060319906678199231339877994960392966697592179883961986960833529995340210840142159262072453473398221761380668965327370802215145831359253072571707122165140737799717038650967386866542844322086400390164013381067046232144475939133068846217404532254066078431667967413954988091734101871159786240827532509609942132538483002961741233767881027416514347477689056691426144417053023857179176364834246823197916529396729921617906657054805059902910694763178489780005227217278645465871954111056017121579694484350818832613981782150477226315577807560282488971036055529216753679048356293585584172303162438292225160161734762674097572055600282492969215664358839120485108358641691280893564657127504492026527304626174236585391720796968920421458549905152543311916999124576984882642123007966210242148295715822459882968895347395247664483608660597292040541740777618700771879060405599153619303044872380040285260020662311943662156902683883006678646584570888665180348942791811900756063862239056736116994935044828717549256251958582873385556787420705518451462548959285211930614312841604646861022427043277618300756429354121374097625848805915744325928655596884665828729813999850883942191753787108177923537997669517884908309167413267614092784697294139898173303249626625174160137592532583227863724109789093960037519823335041600640923493216386991289383835039327749697910072944534984534396103908821611339862652666364548061022955786908084776963838397742344949072280185967139716513008423982704235493762434542355726262614678542367461897186605780520573609520221430716689875167729465237808255474492619297447142056828482153818810964542735723670570732771773227021108694300772487734852982440857109859838709283716282410968176841923979693949830798040988053906082234108552267983867670158471865802319452077633491067686744624886782357832799584077401018089963797422360107171726569851138014427978239947132198682801627393236743654556828093685534257298688488722375853847028500940139672842128545412774398118380329962836805882080746204319939583176232407168520765368911039731690147672463323002839418853412951588620108333372061454506321248045450897628841547793454318041093741467832990729897919521473953812552780489482756763495785045589134881129521483525371363975754174105873726407091898908695755626378925355829783601602653802303825089350266406741353095540921954986205533254910634427103820972383819586676756091291403087403555387836493027175240949956807363887643896144583862752010971962382976395828716782222474868131552568531339412183965102672213045822600716492182683219356316695702120690711741261200458280519684468925751055218656713345451301118987184801451901592769856857239021217029182355285864817772719542708728774886003636634183148250974136595823013632301699522920010824351545667249168526518015051547969192696959810780928434584707186537172742436183401077776802350568944007 5410755739988590584451590697674843422848882294216736555891276353810520129209813484586306804128120814750592005572384822781307407939414604944768874380357148939835517725419803039365610459602317592476998960020432159074018916508313432974572159810542307247921899542148021200722900255056376827068470156525272413476914045377223810907760657689033891445964233762508985809730056515173047530199616403144489203789036239616689930430810460285191972973723749646771811296964822168329906069943161455661487745583830399611511033984439946945955692206379927650984881272291672949392374039113513154902291763831191460063534411822335223386936369147478190376769462331729236437550844512072463210866424789404868678613304459211243863365832635018405577071032366241785067388327581908055722673262939709484647092469605328481424789855894944297090765193321792823510293628210350356854871889893452592911315680578431784917602650664367234663988122463328712169336790527201909143352633791926486618754314802171661026925422444189437939155185711404287772191951029559938499501311285685893052593861916077147853592858445416095423394456150051538042484238203516164308043367679456000907237400735431134383442025666828876970729095460080505450040196557179956153407677994869387965593518500546626366307512245721730975097490915248702898257949113002747645678699738382508428812658532713655920680022932780123337530395608089179706213173603136171075447118364186398807808928418974589121598420648675771262901669920666215959744544910524768520225960080635317425487234313322923954727836230181316694031659504966343754498730747413325502311561137838880742594338708258260741150392031669259244043758207551055982779935669524044481628867377847643175974185646720829998779142561470012773851211961231122536695423538886780290198707068838509394713459684234844422090226758909659332978885665619297630746064943531890257225716837778872080827490749889759437709778050931579359406037186633276064408125368990071982227746861983369136635029730126417073138316601291456869435638386262334681941245470064368803217591193619287083825427556940158686620224428462021427052497345356601615897156145790565095363318828817764219329326486841767368342815956289900537306653499352418113944380955196405481699185096355006358193425038794587161444035880227439527212395999963656592619602440209537662188136022850851944292266031071366390810431104547157996092437726112057356756150868281107117365204892828508249256177361467541842426681255286107300100982344462956379384316083415734423214111878392591990425752453839488752428133039073943606050299329346235947088453199266810234449133694796601275594972085863806675481020586409150970344983657677194695181956009253553225416023146648237084582895359217196049538196347999638750095896275576312732859609647779500304595146173951372988900053711481057357707865411456944425694580742235748553426684057678241455633670021497156182275744992311740626241012855044720692180266189553085692001909721220872237303271500802498673216970871531371835056482638084522750035348341486059075302506721911497820206850392131405172703170630841312873110942137573206515533070899978535400666854303428191842714997503257235916180496258827956901190351421869980629161551139042756770587785185248362026739198069146336626782438686825536872524928207309699111782321725549611628904116052924905559337043877683770038050213658916051239991318240642121924621281772587533696159557944351691300401331413694970818614493558962358830057037741283351798181562375387297936129519455567039920044471005981712901678206456025762949688786118306391808242779285005886263929129269243560024205641166043219106572540409790695118804459562181504343086418949877278658106577681371813717007024685324034132578440031677293045344572584775241663748566244483436894263586691015237677655438678111599754067013097311710915904838307301759768101321276776046436293413736741009393272537011961197452324935817056587682095873908620886028518919670620517215296666201788499025496166550743552127567140948191818137495798201585899834422630633740208619729497604206764545715615891537536627300384757385240476440092987524517663371 8754786692125128152170299135934057488347785460939619563167089298351232889927687650405131729854391752045777156294753675428208756690126892801391731563037935680788209149827968075021703856885049755710246253174586230423338560348976912402721832821072286016379680530394781977503399054428385312903927018002722030113490856878411502097945358702665666887532574759267320553757345704545545196649869010300594429199738425392050006439792546426873567656162197430783047536397828731490988910048572283458086652751094368085294342253352230518664837487177981940883599286245648628014641482526462189016302117616292080799385880083231893486612795385370212642719613664460727630913583969860189311405631069967617796744631808219503039012305245531764846625665944993493675413712410324836988301625028951798788553647847707291197114709386712555991012200922847450557008809893096734077542566162543981029459041312343540903914781791238416464458676828974008511541056994119277265554187161472418255554186621534646013819528173971367986093264936719552832475461017570891465913120083863709658523438042606909861322352789938723136672815319925685968553590545961422006673873601646249371423470818051288987186139399380181864884455378877159484089302231957150270615093690481010867425539856885474426627418923920962314975485875641669595850128996964734606512229733722719268954817794786109394078244694160792302857766410304325537572426675707878197612259101986115846459895805841131965920507049065935276282736966898360435683677979370985924758214146713749093454648268311015688829707389967557521564169114908476292981733709154559270192588554353228220283395399684405158203415888848435608878005030748972512176665591141951138683672437750553870737364136500835225996421206935884727962267978352702231179774357719394271980857546064824972521019966723815458145755975663338381335179251203469933908503235757050418960479511876444136427773242858975102068617171416687718047728467526840721535629861016599286853921098568760857431998650547875623043469144603373868560215371144976804949211680306517098933413653502255979172822804604642295280821720502563167830116046128480676302755299409868140235698869103024239991638430503924271026698962968547121877542164532767056736192855952469343938241832472001293238253756343843413402618753612996314633101518415119141578887652140151975029740669711874371335543649372122820164552478644783844898353470437986012353035534109836931365055776770700003043285539391079840096199140194416467514249958555741076678455981589037672840737052552729582958335681703212862217226999111463429385340929987159440304840190556194069488461444494511348539507070398202779389842197749013623011348205738217650968864094030517063813765491597309364768862498933709057962179052235132512530438631302575347538152015241397491200926694524982509121484428170932525437330649265199900187200039682890610255166211497052420176405745167726915047518219332849320541785342779573674621123299412924401285626003631840414145195480496448504015011859585277917290591190352506617705506813351861394754584355402565506951475278913763005502754708242330963074739559933313687259640751116549828645094250560390525516624896493979570737324352513491158489039910592356483008579639982896443429913730661136424857578399109173432664519433029856812108104439716867632547690636589343319051788516247908398755897290635358658158547030977505746312566286093019553462829566041851737253299412184682030299250935168924631167274048445115593552822786872486679311083858912669300105273629672913646451562904890408657304585381381592733290388772108695633332129551412627617024670191198546229738896076677646210393512793610281795560550853584591746641806786370305833347527638179177604650920829907896884589411994060269441173289366997716531880118813014776306447551793687450723478039394603782437286369414007413036595550048562960226381840961244972187348632393454354844573655999145998904226528586913444921117090937803241314383737443340059924025441087792135659679314801717688723390154580493517660415809025937445501671799160258223671277466796903724356496544326122243813837557499821423877517869789875086607378 14165542432113718736621889833608900911196667755156356119058365652161753019137501134991438533982512566796369161867138498209516164629541497746160605943395084620623726875247771114387314316487367348187245213195018389497357476857290345377293992631614593264301580072542803178226299309484762139972397174527994443590404902255635313005706016391699558333496808521776306363487402219718592726849485413445083632988774665008739936870603006712065540629885947077554858833362650899820894979991733739119574398334924767696805376237792177464620529693557909591868480558537321577407015521639975343918593881447483540862920291905567116873549164532848403019489075996189964068464428481932652522272055859372486475357936267430746902378137880550170423696698311235278742802039992232892710974887968661283435646117453035772621904565281656853081777394244640274067302438103447090932414456055996573940774721890775325821517432455605651128446799292302720680877847521321186408906820953398904874308501423706307040744950618160805925248450648123840604667412047130829965414431369549602711117299958684057714915211235354818560067271469977224011037828749477586314717241281102250278660871553482423370628165066209058835613550838957664934129498789137106424022771685350398833019058357432100792934931169642693290072976790890372494108078109967482252190929472105227697767476327499765314758267626940915640388162018393505243785600278844049273059377466172514654268824224815721087518927697741706539184406887564576395428222889895754444984174227349066518941882581633939643557543620148874215595828619874820047480464456567884772504149692192108962877734107942665899353807920517694852921763238300028494956601260665995620312539815598197046711549783221665224775563768405897501813479939583824767875197896606174562179564614903334367234479650958659880235982734572997714314064916822767564654568179288940676186196349655316217255263992748734539778395222348267077453765654160116785943755230006671269081667960552129994067028380674292696181785745894830737995853757407311486890457150370885902151004847121543062998250361544800981901046148964584594882613391485082292199911445200433235599017697920788459320964917345691639369514919258447659184195663885185170680573811148874825637426928827007651431678795138430574846654633840435841845497518378775734198490092349689637217876692562726315627809680443489210974983583191941840990791196550043369109186402390944048730260669599208252299462900858621682522880395480523767615232303018697456062772065004772096054848930945321573384088135542701614645360038185407035435640259333395387393293389823004303937595139291112624134479156262009454870862784158164593356331863415412346150820103284070289229788638245546449351757858150905107500375400234771262626334906878888080397761663020897795796072868476355498021538139651989883145196060722144325881780781918639163681850269175293875810075766664883097323263211644589946782798197824294366801389488966010093287535724852712651448466981298947177231982731116649752347073828437029367740855154837920470057091077314063327158325671045168178205925339083643836185681697506520202792711651095085229311948553988582368231622399751215486917820611341448059679391332462337112170130779025653214017698915909498451596776468255510059446958119855393684633032647026566744330012362138954947955904569172813958092941168319128696208760689893556986303884526735141478084111338629385433412857356536373330700582348863895449781767607407474423609860528155838477492646234299967236234793085239953566496033910872121558982791837407355682979174890415087441574908836418513880953799460442106253944537242720865316966053203400976914365010415766096089728225736247584491454105319550991321657945515231931017167852025737562486517861951772958195628685057498213200711138484702688401133478072715382191353382511319123952500388355864719994483162238021018623642046130195364237846193011107196356551464403970032603212964846424127342902657113960577139322107289580634685175481352461240850957295528685335797911607227523345336094429793998432291006964401110488902212160217659780441137942257206664353957962777399604270749 22920329124238846888792188969542958399544453216095975682225454950512985909065188785396570263836904318842146318161892173637724921319668390547552337506433020301411936025075739189409018173372417103897491466369604619920696037206267257780015825452686879280681260602937585155729698363913147452876324192530716473703895759134046815103651375094365225221029383281043626917244747924264137923499354423745678062188513090400789943310395553138939108286048144508337906369760479631311883890040306022577661051086019135782099718491144407983285367180735891532752079844782970205421657004166437532934895999063775621662306171988799010360161959918218615662208689660650691699378012451792841833677686929340104272102568075650249941390443126081935270322364256228772418215752402557729699276512997613082224199765300743063819019274668369409072789595167487724624311247996543825009957022218540554970233763203118866725432214246844067592905476121276729192418904515440463674461008114871323129862688045240953054564478792132173911341715584843393437142873064701721431327551453413312369640738001290967576237564025293541696740086789902909979591419295439008321391114882748499650084342371533712357814304465589240700498006217834824418218801021094256694637865375831409700444598214317575219562350093563655605048462666532042089958207106932216858703159205827946966722294122285874708836512321101707943245928428697830781358026954551927470671636568158630500728720030656853053439434746807641815467143854462936831111900869266740369742388374062815612396530849944955332387251010116431737159997734783296340462198165722444042696738246545337183161129507627071057557223809366130461799768269049001007133266851807946758996212253348750917448913919722500450771984975341782229775747917936526999054972254325568834160422160968159339755499617682475338381738710236336095649244168026237498563071415045991095146675861531760353683037235607709641847012393764954795501494121686957507479385091023270555935589059120890851499027031222168319225254890498204606556069128552288291839668830677403001084418500623799042171073166149443277181867869467147762712729437613562968502666744610301375834716567023812699312603347849615910396213882226994781061737828417952227416766667101344169575668761299008944669932551482273988249273387453432156478599036793894875777377744489841612247617362274600686963353329815612031139536061836725685889144666988029381462221936500780980095316446369908255342748440249701522619079535674940235129482261574438532741228046593809768895585983498051156342423817245914476862587037296870464820981189320554827698133580379198373426056583785623972673986226660212234260704981907178216367680069153629997119684197314587353043554129842855814120620357084614165462554452469903775156773538181463427935913678262295286996999563001338007143022567822922408582526709987344226068980821601529773937016480672346295986481511832610012370781430977439267324583540603868041422512788378934494573161728484553065593662461795395681246994590701927669637665018789535985446361968189781864811675432716628834109800949958931183708680047325974799260421257439833890052352402211635057957042804548972893748247296245195057655144963854939218168431243054693595178710419008549657447612646570634876454354867364683492111477552885250496741137086743434376877702998728298267007693085420722356848838458954487354367307720871062732616450812828161031546940904671237170666156768721055360999833284032820080949041655852590017162683315028325156803730093212636536340066714912867212947596815762530216287377218788948416269563662523783074907038387831141497978469651640652483683433319398511527359565997011258709925561269350687836370032522617890324801632957730168926308866345139827901757264019797831927691151318770674727508803870512989507158690278390139124611517467319164628639751925326536989095938404427680220865003199265990810990678523649719082419849010253195260777992990883477524330055784227368657286394557300637063347548377372770344854796154178929574347450109178853458327416253460790837766228954256655962284431198014213258708704543782024254975499757028088231475832567274690878127 37085871556352565625414078803151859310741120971252331801283820602674738928202689920388008797819416885638515480029030671847241085949209888293712943449828104922035662900323510303796332489859784452084736679564623009418053514063557603157309818084301472544982840675480388333955997673397909592848721367058710917294300661389682128109357391486064783554526191802819933280732150143982730650348839837190761695177287755409529880180998559851004648915934091585892765203123130531132778870032039761697235449420943903478905094728936585447905896874293801124620560403320291782828672525806412876853489880511259162525226463894366127233711124451067018681697765656840655767842440933725494355949742788712590747460504343080996843768581006632105694019062567464051161017792394790622410251400966274365659845882753778836440923839950026262154566989412127998691613686099990915942371478274537128911008485093894192546949646702449718721352275413579449873296752036761650083367829068270228004171189468947260095309429410292979836590166232967234041810285111832551396741982822962915080758037959975025291152775260648360256807358259880133990629248044916594636108356163850749928745213925016135728442469531798299536111557056792489352348299810231363118660637061181808533463656571749676012497281263206348895121439457422414584066285216899699110894088677933174664489770449785640023594779948042623583634090447091336025143627233395976743731014034331145154997544255472574140958362444549348354651550742027513226540123759162494814726562601411882131338413431578894975944794630265305952755826354658116387942662622290328815200887938737446146038863615569736956911031729883825314721531507349029502089868112473942379308752068946947964160463702944165675547548743747679731589227857520351766930170150931743396339986775871493706989979268641135218617721444809333809963309084849005063217639594334931771332872211187076570938301228356444181625407616113221872955259775847074293423140321029941825017257019673020845566055411896461015407040636393035344551922885959599778730125981048288903235423347745342105169323527694244259082914018431732357595342829098645260702578189810734611433734264944601158633568265195307549765728801485442440245933492303137398097340478250218995213095690126016596101611346620704563095928021293867998324096555172670609975867836839531249465494054837327002591163010259101242114519645028667526879935863538072750571408338891725028825577115969116507642211341108323205141959931155464002744714564593135988804000111598581864950434914443372729726511952788616091507947075482277500256621448653950215091426970202202677363651723076736596808465382922221689131567766065342809724011932569042343270504300598657642273342768088402263472378215235519272962929852704675037783108445060351508333675341283193082793072431477693505164560707474912291727722770709488551950761603520168937618866749847640171796557278497493109694044642622029214107381738428162408223902277344944587860697453337265717042129443094342858478977321818577421984738847226565353187217123027702334868766510030692161268126621004099361914605386409618635446102954946354092845064053306720287268991358537555261979869695996410544572965575196387277847822575517030707348841198034202871465311562480133328051131335620193551558435672740644181374169733770001121207715360867253214963597654593536314941779627273616050576068410764619718920335339563302509631052243300622604079014125257428691700415632896715530730809263260064440772543843184163634296376327512603772574859800152820779443630726634651775270169056196304099248738552938870516481947224249655378932269112082758737627970562119376844325619200412235624290571685116783926098258258865474816255738277281160247966811860371758918925116045535394414209013270543632923137488928011202707869828763092827525744995540034546819993134436645660941596326760292400215348165437287009434632724653845083320266042021360391617329457394853510127543020630651496000189051671261214202669655666953405030030277506640170425304745637864189256239023480984136173860658748255088253291395599124702160920864761441804696113442014234752585433795344674295148876 60006200680591412514206267772694817710285574187348307483509275553187724837267878705784579061656321204480661798190922845484966007268878278841265280956261125223447598925399249493205350663232201555982228145934227629338749551269824860937325643536988351825664101278417973489685696037311057045725045559589427390998196420523728943213008766580430008775555575083863560197976898068246868573848194260936439757365800845810319823491394112989943757201982236094230671572883610162444662760072345784274896500506963039261004813220080993431191264055029692657372640248103261988250329529972850409788385879575034784187532635883165137593873084369285634343906455317491347467220453385518336189627429718052695019563072418731246785159024132714040964341426823692823579233544797348352109527913963887447884045648054521900259943114618395671227356584579615723315924934096534740952328500493077683881242248297013059272381860949293786314257751534856179065715656552202113757828837183141551134033877514188213149873908202425153747931881817810627478953158176534272828069534276376227450398775961265992867390339285941901953547445049783043970220667340355602957499471046599249578829556296549848086256773997387540236609563274627313770567100831325619813298502437013218233908254786067251232059631356770004500169902123954456674024492323831915969597247883761121631212064572071514732431292269144331526880018875789166806501654187947904214402650602489775655726264286129427194397797191356990170118694596490450057652024628429235184468950975474697743734944281523850308332045640381737689915824089441412728404860788012772857897626185282783329199993123196808014468255539249955776521299776398030509223134964281889138304964322295698881609377622666666126319533719089461961364975775456878765985142405257312230500408936839653046745478886323610556999460155045669905612553252875242561780711009380922866479548072718836924621338463964153823472420009878176668456753897534031800902525412053212380952846078793911697065082443118629334632295526891239951107992014511888070569794811725691904319841848369141147340396693843687536264781887898880120308072266712208229205244934421035987268450831968413857946171613044923460161942683712437221307671320721089625514107145351563164788764451425025540771543898102978551345201408747300154802695591966565485753245581329372861713111417111927689554516340074713273254055706865393212769080530526102132033630275392506008920893562339024762984959781358024727761039466830404237874196826167574521545228158192391633846020897941423886068935770034530568370534112779147965077602637974505042789560550581401050789708306862360569482451609582433923392272747972521026091692001722672340390188497913244995316896897931258077592998572320133438425484305174578812939881983241814936269589019545488369790071994479031512307583275297834700310249480696832778019742425121698711555883230519986467783038790330103122064826073599468481431965279032030449646415065723879082433859181821818782635791904889738539725971912520505091622403866016101338633579091217484199680441942747320995377927570963030545623285433735593434706524212386187982897416455518355345226034163086528155728116992241605602228110539051326496016253818571724302527551617042752528912924209050768204505486202984877043669913225625894678115306820513435498085418359595551481971290740014258671790618086228103404943376131635682451536786152391463541177993147971859774745170893978484052700248916929535611679850919112654457935227158212488791100106420725240308914926515065687992391227542397181991557546274985252515518302215462653591388985612080796876910738763723411221311403881517888371685185197423494334216132954467471762468290781483365141057371235011329174275678205511586820682380065333226341900164589314307650646292798524192215028519041482966650356513007353711448632886361972197930692265164720080436213168636553000245623403177494802402685891031613586878107450385736987651873076414878864657475446228561851266017204044326175374885073660819099999652195747043042714566439734444927011626887702511744215575826797138915419629569305223828951088941771262840816909627911948986027003 97092072236943978139620346575846677021026695158600639284793096155862463765470568626172587859475738090119177278219953517332207093218088167134978224406089230145483261825722759797001683153091986008066964825498850638756803065333382464094635461621289824370646941953898361823641693710708966638573766926648138308292497081913411071322366158066494792330081766886683493478709048212229599224197034098127201452543088601219849703672392672840948406117916327680123436776006740693577441630104385545972131949927906942739909907949017578879097160929323493781993200651423553771079002055779263286641875760086293946712759099777531264827584208820352653025604220974332003235062894319243830545577172506765285767023576761812243628927605139346146658360489391156874740251337192138974519779314930161813543891530808300736700866954568421933381923573991743722007538620196525656894699978767614812792250733390907251819331507651743505035610026948435628939012408588963763841196666251411779138205066983135473245183337612718133584522048050777861520763443288366824224811517099339142531156813921241018158543114546590262210354803309663177960849915385272197593607827210449999507574770221565983814699243529185839772721120331419803122915400641556982931959139498195026767371911357816927244556912619976353395291341581376871258090777540731615080491336561694296295701835021857154756026072217186955110514109322880502831645281421343880958133664636820920810723808541602001335356159635906338524770245338517963284192148387591729999195513576886579875073357713102745284276840270647043642671650444099529116347523410303101673098514124020229475238856738766544971379287269133781091242831283747060011313003076755831517613716391242646845769841325610831801867082462837141692954203632977230532915312556189055626840395712711146753735458154964745775617181599855003715575862337724247624998350603715854637812420283905913495559639692320598005097827625991398541412013673381106094325665733083154205970103098466932542631137855015090350039336163284275295659914900471487849299920792773980807555265196114483252509720221537931795347695906330612477903415095810853489907823124231770598702185096913015016579739878240231009927671485197879661553604813024227023611447623601782160001860141551042136873155244723683114441129430041168153126792147139236095729113418168904111178605471949254692145679350333814515368575351894060739649016394064174882605038614284231037746470678308141270627171122466347932902999397985868240618911390760710510349228269790973498796455812384796615795447722823146659878481188261425465334224086628455257880987520783603728153360029939097166290916992504655612523840514037863835815703934291714683660692798511902637590239666019660341065376787555652711388414157879253850722990428302166444603264360828681452583144425956725017472143982772746992037972251406321329970504028641867649174749980367626639579596068827596231758870716221497695539347017460192857870317343068823670294556635159084499677921347984081398204949234339082513607142713242666691820796214245186534549208452778013156646054191967129907537890820145212070152627167332542075742480508825075632495025521624083417707986688238016146801076114247713773864076394088755009876392815076955400378235771530901532556617538605070595228348898366538859489476554283436619293133720462804696934888394607794986732397713501719455519444542400302170457121491954766050809045391272482378824185019235912744400664549826251142410660182372718898707771001396652425396482748237844081489786315218508771834858269031833766827715331181556614767040768401524107870932836330452255843007875806169958939374443637265216010804397835729958506704639584255688566549040348839957313109512292489422242490065883345739607496110868620756109177859857940573783781726535394922898347804575794176101508547388258268626020798617858872288591925012480651561334073840009680256127831339885722951933052973978495436907780590497779416097045530360657664497899823065468686859711279580404915351167459270424956941384907231970805463215429063185487546450766832468867222396263617580550434066665633647202383785497593402343423256623281175879 157098272917535390653826614348541494731312269345948946768302371709050188602738447331957166921132059294599839076410876362817173100486966445976243505362350355368930860751122009290207033816324187564049192971433078268095552616603207325031961105158278176196311043232316335313327389748020023684298812486237565699290693502437140014535374924646924801105637341970547053676685946280476467798045228359063641209908889447030169527163786785830892163319898563774354108348890350856022104390176731330247028450434869982000914721169098572310288424984353186439365840899526815759329331585752113696430261639661328730900291735660696402421457293189638287369510676291823350702283347704762166735204602224817980786586649180543490414086629272060187622701916214849698319484881989487326629307228894049261427937178862822636960810069186817604609280158571359445323463554293060397847028479260692496673492981687920311091713368601037291349867778483291808004728065141165877599025503434553330272238944497323686395057245815143287332453929868588488999716601464901097052881051375715369981555589882507011025933453832532164163902248359446221931070582725627800551107298257049249086404326518115831900956017526573380009330683606047116893482501472882602745257641935208245001280166143884178476616543976746357895461243705331327932115269864563531050088584445455417926913899593928669488457364486331286637394128198669669638146935609291785172536315239310696466450072827731428529753956827263328694888939935008413341844173016020965183664464552361277618808301994626595592608885911028781332587474533540941844752384198315874530996140309303012804438849861963352985847542808383736867764131060145090520536138041037720655918680713538345727379218948277497928186616181926603654319179408434109298900454961446367857340804649550799800480937041288356332616641754900673621188415590599490186779061613096777504291968356624750420180978156284751828570247635869575209868767570915137895228191145136366586922949177260844239696220298133719684671631690175515246767906914983375919869715604499672711875107044483624399850116915381619331612477794229492598211487362523061719113068058652806585970635928881428874525911491285154470089614168910316882861276133745316649125554768953345324790624592976067677644699142826661665786330838788468307929487739105801581482358999498276972891716889061182381700195690408527788622631058759453952418096924590277014638668889676737046667364240647166033612130903824372660664038864816272478493108216928285031894456427983365132642476710326220501864383492857677228249015301040573430411826724602960300670548071365004778943068336801457735773368602087089535916113262010384861907395936014387024050881296425147632907136563950918418658375359875786149813898463053832663662872411543981380872853380374169822373216420435756529779727258070581692348221732103154107990246453763566360730633210887613107362634859157699353823696789820966176971312296492223307516732408792702752728415816980903282313713252873819937930921146859587605229546579258768030454375305462670734229650395525334152023981762930160453161176253880805504859151379718730058639896964343430977721059684710611573436103680479621749029186653299040269880330212660479312403944432119707929291159980581669737062103741589947638898262123992433537604783374796872117378552080058356178906179134622053658523015799729822860462820674035984621993907644346229591987038539244342153569355913214396797100913466755786754090511101485373356642998159609141216496589168963084390404712830284196764226085811429015758385261606166809130285342983864177699259918448411249132753746639529581180250778325155153587695989595259224292722837594051727451034839821832205098370480747303818596518168271394932560289876176201847098009342449172248224430074525059587137926866846058760826458021554741969717258907160590056802980857089732561087774502710393009925879531008834688125637824084587565373544358166327485431289173460409225315139944128384916734704063755605755779800424828278370424609137131950274685371902949873990197114434153278576684443049193402533000180003371889462598291325556760434219253051168572267202882 254190345154479368793446960924388171752338964504549586053095467864912652368209015958129754780607797384719016354630829880149380193705054613111221729768439585514414122576844769087208716969416173572116157796931928906852355681936589789126596566779568000566957985186214697136969083458728990322872579412885704007583190584350551085857741082713419593435719108857230547155394994492706067022242262457190842662451978048250019230836179458671840569437814891454477545124897091549599546020281116876219160400362776924740824629118116151189385585913676680221359041550950369530408333641531376983072137399747622677613050835438227667249041502009990940395114897266155353937346242024005997280781774731583266553610225942355734043014234411406334281062405606006573059736219181626301149086543824211074971828709671123373661677023755239537991203732563103167331002174489586054741728458028307309465743715078827562911044876252780796385477805431727436943740473730129641440222169685965109410444011480459159640240583427861420916975977919366350520480044753267921277692568475054512512712403803748029184476568379122426374257051669109399891920498110899998144715125467499248593979096739681815715655261055759219782051803937466920016397902114439585677216781433403271768652077501701105721173456596722711290752585286708199190206047405295146130579921007149714222615734615785824244483436703518241747908237521550172469792217030635666130669979876131617277173881369333429865110116463169667219659185273526376626036321403612695182859978129247857493881659707729340876885726181675824975259124977640470961099907608618976204094654433323242279677706600729897957226830077517517959006962343892150531849141117793552173532397104780992573149060273888329730053698644763745347273383041411339831815767517635423484181200362261946554216395196253102108233823354755677336764277928323737811777412216812632142104388640530663915740617848605349833668075261860973751280781244296243989553856878219520792893052275727776782327358153148810034710967853459790542427821815454863769169636397273653519430372240598107652359837136919551126960173700560105076114902458333915209020891182884577184672821025794443891105651369525385480017285654108196544414880946769543672737002392555127484792484734527109814517854387550344780227460268829636461056279886245037677211472417667181084070322361010437073845875040742342303991206410653514692067113318654451897243707503960968084413834918955307304239302026290720593567038262802140719112019607688995542243684697774338631438932522711017117659831215680823888127496489301998895746050811231415558551535592148608507096428366740554902064285594591745148439953776048248697723099870306101707711574094937050270497376229970578759723752147431438861202312620933086514385862839846147825476117741202851274956360846392481547251871240843328684386193983509475437960750482405434009905383191255239746942230927985295585582567506042463872510659313952416165387049751861526423022972452139987781991634600857901336135870381198670118836689292501434722275171519707857268778858848303347308670035954897290360699067074026017575011778547051272134382377473168506610216085206334694991144090368717637895830262767546754043744406606749234322280337247196663329669395752112571269618721280195018234126611022358972397094259929080308736671685800521160875841067529229848645255413513231542315982265216436286792451029136300995642796083930516824532393540932450309541501578016582037896501171283858092255350769161005793641893071917200928471894499145502705536060944080460849525212976937348365745052383752265701807130851284741701388596754515335751139190152768792418803706793993094954251229542233635983139601388862181045055683590259596308018760658337278278299897372287070467854118520309030188798213856251594982060825214650634555002559530102130227985884927959207915675269449014745041739335836784233019606135658840174573848589757137561543868981265946917983210705270505939585972804442028207982203390923466885336184715775995737640849566078516857506656177366165303053382601980604045409153310271589666150580730437438555096245493709342258027621596474425195548378761 411288618072014759447273575272929666483651233850498532821397839573962840970947463290086921701739856679318855431041706242966553294192021059087465235130789940883344983327966778377415750785740361136165350768365007174947908298539797114158557671937846176763269028418531032450296473206749014007171391899123269706873884086787691100393116007360344394541356450827777600832080940773182534820287490816254483872360867495280188757999966244502732732757713455228831653473787442405621650410457848206466188850797646906741739350287214723499674010898029866660724882450477185289737665227283490679502399039408951408513342571098924069670498795199629227764625573557978704639629589728768164015986376956401247340196875122899224457100863683466521903764321820856271379221101171113627778393772718260336399765888533946010622487092942057142600483891134462612654465728782646452588756937288999806139236696766747874002758244853818087735345583915019244948468538871295519039247673120518439682682955977782846035297829243004708249429907787954839520196646218169018330573619850769882494267993686255040210410022211654590538159300028555621822991080836527798695822423724548497680383423257797647616611278582332599791382487543514036909880403587322188422474423368611516769932243645585284197790000573469069186213828992039527122321317269858677180668505452605132149529634209714493732940801189849528385302365720219842107939152639927451303206295115442313743623954197064858394864073290432995914548125208534789967880494419633660366524442681609135112689961702355936469494612092704606307846599511181412805852291806934850735090794742626255084116556462693250943074372885901254826771093404037241052385279158831272829451077818319338300528279222165827658240314826690349001592562449845449130716222479081791341522005011812746354697332237541458440850465109656350957952693518923227998556473829909409646396356997155414335921596004890101662238322897730548961149548815211381884782048023355887379816001452988621022023578451282529719382599543635305789195728730438239689039352001773326231305479285081732052209954052301170458572651494789597674326389820856976928133959241537383770643456954675872765631562860810539950106899823018513427276157080514860321862557161508472809583109327503177492162553530377006446013791107618104768985767625350839258693831417165458056962039250071619455546070731150870092613837469412968644485210243244728911882376393637705131081199159602473337851432930115093254231077127618413197605127824617280574138141125757703764081409233037237619524214708538501116376511790342572326157877535834375859222083663513613286039496703542012637837654196678834684356067038058633559630495806320488731762455391362197903404512793921497178382127507307225011016211083986919178048735251390129206348971121577021097329577266828238077031598498913910376734415715612629545950996936169000370636016402142852854304865787142994939406264295863430049481971610444639472903782160654229175751388269120891064305347853731721274066791528058257724066235871760202752729546825170528003008509243828681460694017717827450813860243327906823079870929926770002193022274437511937587937144891045306564580194049197259644859449420845794313624736819409713634684281679316371258960555732694241006680825021784965873024873146351405934699043303877180854050237880579517054747246663851902303778429312961365176445085890472271414444936780647225234783122469761166685962896845664706338602491483337824650591682385343465611993767320614934858389661086164012862299211975786902300287029891889865283598238543515174875337726736129879506390769733152950521350501154865332319440931093947572391402783588354178543952379827687710590636228684013250154054071006900126615278826608673210860187248463272314952127862758202437022643930776654569198752081496693315829017551656872197703143835119797972478250306104477602827110339494626029532015189849009261974227581222149109242525624113245468641994443966348811287944386156592898938094987222491091964516200824016011274175215648807781341549269115177043579716414757323985837753320783068683580910440810444558843785034899018461840849525593767815581643 665478963226494128240720536197317838235990198355048118874493307438875493339156479248216676482347654064037871785672536123115933487897075672198686964899229526397759105904811547464624467755156534708281508565296936081800263980476386903285154238717414177330227013604745729587265556665478004330043971312008973714457074671138242186250857090073763987977075559685008147987475935265888601842529753273445326534812845543530207988836145703174573302195528346683309198598684533955221196430738965082685349251160423831482563979405330874689059596811706546882083924001427554820145998868814867662574536439156574086126393406537151736919540297209620168159740470824134058576975831752774161296768151687984513893807101065254958500115098094872856184826727426862844438957320352739928927480316542471411371594598205069384284164116697296680591687623697565779985467903272232507330485395317307115604980411845575436913803121106598884120823389346746681892209012601425160479469842806483549093126967458242005675538412670866129166405885707321190040676690971436939608266188325824395006980397490003069394886590590777016912416351697665021714911578947427796840537549192047746274362519997479463332266539638091819573434291480980956926278305701761774099691204802014788538584321147286389918963457170191780476966414278747726312527364675153823311248426459754846372145368825500317977424237893367770133210603241770014577731369670563117433876274991573931020797835566398288259974189753602663134207310482061166593916815823246355549384420810856992606571621410085277346380338274380431283105724488821883766952199415553826939185449175949497363794263063423148900301202963418772785778055747929391584234420276624825002983474923100330873677339496054157388294013471454094348865945491256788962531989996717214825703205374074692908913727433794560549084288464412028294716971447246965810333886046722041788500745637686078251662213853495451495906398159591522712430330059507625874335904901575408172709053728716397804350936604431339754093567397095096331623550545893103458208988399046979750735851525679839704569791189220721585532825195349702750441292279190892137154850424421960955316277980470316656737214230335925430124185477126709971691038027284403994599559554063600294375594062030287306680407917927351226241251376447741230042047511595876935905303834832639141032361611082056529391945771893212396605043880066483336552323561899180809126083897598673215495034078557780642090734956405813847798115390420553916717147432306276116381825823532042395520341755748254737184045924219325004504008279644571221903928347065791417773619255662221793135925070282567539901939791270579832796020814106882257353595676626590439474029486299248173901889023892075938105879654738663872218523704920005692434598091236277031825088862779872372285938113220719624283469739757239061120609699122104983911747418574434380541399593398092601247096715128290524988831801905893921992630924397055638290831912515755598774360721260878846296982454589622610202661909256927842902925164261637475004718344878385271787368092132028769364053672724741174559310401932840654882708473821274327404651910680444198153230097380001555724284417914897540689712188392548357369143426158947956964618926513034588629951484806812276299546301979984107151484168710378331793303232957489590721923681100677930588314193081750949033842826192907492427351106908558206895965916948220877579206400277991218356437778115015880104069499919862547092853669201557867344536481620728500282733003364941334193711121289607836347973972350714808811215480863540620390110488395581313521621017894651909947255670201083458631083862739991195109577581449132795181922061323693730237617546194295209737661266496434634039484945951489160084620750342782806246383067232625820857787028249551259577296147327870831577081759002425689028763079005888153519755119222644566446176278859049138150848689183835822817338359710653111506890060163451852699714472288397260748828184800881141485910689376428149231976819753652123741294165665287997726635280480096962318395361369394991063592372734834161640878248999655089278744241276489462446000018963363960404 1076767581298508887687994111470247504719641432205546651695891147012838334310103942538303598184087510743356727216714242366082486782089096731286152200030019467281104089232778325842040218540896895844446859333661943256748172279016184017443711910655260354093496042023276762037562029872227018337215363211132243421330958757925933286643973097434108382518432010512785748819556876039071136662817244089699810407173713038810396746836111947677306034953241801912140852072471976360842846841196813289151538101958070738224303329692545598188733607709736413542808806451904740109883664096098358342076935478565525494639735977636075806590039092409249395924366044382112763216605421481542325312754528644385761234003976188154182957215961778339378088591049247719115818178421523853556705874089260731747771360486739015394906651209639353823192171514832028392639933632054878959919242332606306921744217108612323310916561365960416971856168973261765926840677551472720679518717515927001988775809923436024851710836241913870837415835793495276029560873337189605957938839808176594277501248391176258109605296612802431607450575651726220643537902659783955595536359972916596243954745943255277110948877818220424419364816779024494993836158709289083962522165628170626305308516564792871674116753457743660849663180243270787253434848681945012500491916931912359978521675003035214811710365039083217298518512968961989856685670522310490568737082570107016244764421789763463146654838263044035659048755435690595956561797310242880015915908863492466127719261583112441213815874950367085037590952324000003296572804491222488677674276243918575752447910819526116399843375575849320027612549149151966632636619699435456097832434552741419669174205618718219985046534328298144443350458507941102238093248212475799006167225210385887439263611059671336018989934753574068379252669664966170193808890359876631451434897102634841492587583809858385553158144721057322071673579878874719007759117952924931295552525055181705018826374515055713869473476166940730402120819279276331343147248340400820305982041330810761571756779745241521892044105476690139300424767682100047869065288809665959344725959734935146189422368777091146465380231085300145223398967195107799264316462116715572073103958703389533464798842961448304357672255042484065845999027815136946716194599135251998097197994400861153675984938016503044082489218881349479451981037533805143909721008460291236378346576233238160253979942167886520907102029192518038967114322275256923556690519966949289746159601750988785492356708260632757826120880520069987143548061805882900167276995702919175835079175421773824580177739593987949414517152087852165515816984091482947079171236484877661446077306401817813573116488007162045888883234734788906924870483333342626406238174059984356893469615515380048957701315068238671149437855025414734734529862744354743434751177415995540945455551962502271285464395096097769323971474602534841695111194614073169984774525748990381769910602330308321343884269453437315185566969161036021840227734265170048913274795877335960710230058071390552191988419553729839663734753638400591276520426926348192381786090374988425308120304478467112157185549161609238342670993880245568661591648900605829405847590507217501053282980371323764949980176357315061784266492346536834670444772161561680194985335560856933653252812272139154272668872436997380829621340902697595446112362328870039157904319334623779722218706560983257687197684536054545023479338303802235663358672394089528954196492923097076510136635003864240580092409454024378715495727837224525460819912390751047602431297756825066415778072014956687563586512361169803311339134301889011404320873846230207545363791732273396561249318311554624700020271869213615097758374245825435062843501717804904120458329377644021186660594633415874623392172598198803860631770061223700247393556515773485078670166038538193097797044919581859762354032514173408920494694158438637208548693214341393780079580897911867520113748177643769663397916509814473069339275904395657140542034810118693380828816913155803517742551319059444213933063779140294951303295525612731179542047 1742246544525003015928714647667565342955631630560594770570384454451713827649260421786520274666435164807394599002386778489198420269986172403484839164929248993678863195137589873306664686296053430552728367898958879338548436259492570920728866149372674531423723055628022491624827586537705022667259334523141217135788033429064175472894830187507872370495507570197793896807032811304959738505346997363145136941986558582340604735672257650851879337148770148595450050671156510316064043271935778371836887353118494569706867309097876472877793204521442960424892730453332294930029662964913226004651471917722099580766129384173227543509579389618869564084106515206246821793581253234316486609522680332370275127811077253409141457331059873212234273417776674581960257135741876593485633354405803203159142955084944084779190815326336650503783859138529594172625401535327111467249727727923614037349197520457898747830364487067015855976992362608512608732886564074145839998187358733485537868936890894266857386374654584736966582241679202597219601550028161042897547105996502418672508228788666261179000183203393208624362992003423885665252814238731383392376897522108643990229108463252756574281144357858516238938251070505475950762437014990845736621856832972641093847100885940158064035716914913852630140146657549534979747376046620166323803165358372114824893820371860715129687789276976585068651723572203759871263401891981053686170958845098590175785219625329861434914812452797638322182962746172657123155714126066126371465293284303323120325833204522526491162255288641465468874058048488825180339756690638042504613461693094525249811705082589539548743676778812738800398327204899896024220854119712080922835418027664520000047882958214274142434828341769598537699324453432359027055780202472516220992928415759962132172524787105130579539019042038480407547386636413417159619224245923353493223397848272527570839246023711881004654051119216913594386010208934226633633453857826506703725234108910421416630725451660145209227569734337825498452442829822224446605457328799867285732777182336441411461349536430742613629638301885489003175208974379238761202443660090381305681276012915616506079105991321482390810355270777271933370658233135083668311061676269635673398334297451563752105523369366231708898496293860513587229069862648542593130504439086830736339026762472235732514329962274937294885823925229545935317589857367043090530134544188835051562071267316718034622032902842926720949827307908459521031039422689229832806901792772821788555122092744533747093892306556977151125384528349631714769965734229965958694769322174838056872311346844107147717641533779219994349948108666272398074337687159573669610710514363960694251208290841705649054593886816784552755453258493826930562917931433862683269999148847136765841901453493269677325598537978428388498975635113856839513774491773317869131718815588939038056799059217399575989383927899675217893467233459238750749485445985685740373300109711642648756899312762910966494472115346572113409872086200283477702738983514927298546583245428092738999422125063276933162978864131772504389636346874412550847831578258872825984243605085805309676028762885027054726238873797630891028363023671727609548613519532342440436220458702307865559279917625744934087327841483772162598285649769792160035494085242780872915923875050015404201846114965347180161299788104289387828236868614543666989941535270317149122675772401894738098810630483177549744777389723746581346682840283856391858955127092893895530686634218366117972982977836591294901220669505242256116117947712921042133434011768942254341245012495267499236703098819427554781621938751252444134316223950335098051111463776401840573529393539892995883357796500576189180356489963957880564620628892667688664359504833153671717906673791349057492171715174877049081201361277809748785289816342922891960002692052344127808316887227376933619862257941570415465539404233572372347393872910925605809442042526194661221066808601243948262980154463523315521657803980138357337002539676137237504353205480062775819880505528538351904192197308443869022342523381571440765741525631694543502451 2819014125823511903616708759137812847675273062766141422266275601464552161959364364324823872850522675550751326219101020855280907052075269134770991364959268460959967284370368199148704904836950326397175227232620822595296608538508754938172578060027934885517219097651299253662389616409932041004474697734273460557118992186990108759538803284941980753013939580710579645626589687344030875168164241452844947349160271621151001482508369598529185372102011950507590902743628486676906890113132591660988425455076565307931170638790422071066526812231179373967701536905237035039913327061011584346728407396287625075405865361809303350099618482028118960008472559588359585010186674715858811922277208976756036361815053441563324414547021651551612362008825922301076075314163400447042339228495063934906914315571683100174097466535976004326976030653361622565265335167381990427168970060529920959093414629070222058746925853027432827833161335870278535573564115546866519516904874660487526644746814330291709097210896498607803998077472697873249162423365350648855485945804679012950009477179842519288605479816195640231813567655150106308790716898515338987913257495025240234183854406508033685230022176078940658303067849529970944598595724279929699144022461143267399155617450733029738152470372657513479803326900820322233182224728565178824295082290284474803415495374895929941398154316059802367170236541165749727949072414291544254908041415205606420549641415093324581569650715841673981231718181863253079717511436309006387381202147795789248045094787634967704978130239008550506465010372488828476912561181860531182287737937013101002259615902115655948587052354662058828010876354051862656857473819147537020667852580405939669222088576932494127481362670067742981049782961373461265149028414948315227160153626145849571436135846776466598528953795612548786800056301379587353428114605799984944658294950907369063426829833570266557812195840274235666059590087808945641392571810751437999277759164092126435457099966715859078701045901278555900573262109098555789752705669200687591714818513147202983218129281672264505673743778575628303599976656479286630267732469756340650407235747850762695501474768412628856190586356077417156769625428242882932627523792985207746502293000841097216904366330814536066570751336344579433228097677785489309325103574338828833537021163333389408499267978777981377375042806579025387298627391172187000251143004480071429908647500554878288601975070729447628051856500426498488145361697946153389497421759722111534714723843733319239450600567189734977246265048419618858318027540112866125971765025094013891951486768617931727895381127767169408867100196518437913891321778642520748781946999241622140328514692659519222171081893978830441638687993282733855433401264776489089508173208831493659311516968873318635026913606217099537936830660528591574043637236128061303882896231584479983512351021719670861453779023997444541864941835994080445860680060058855725147825858702024418667501643071232310378741568783887298976841247236305317930473248684976211821379122764053449229480196453829125151398417861612168124389985275003827368258504607065207770333980074230617796333241352139211911788035406869233699356903917296271140262420138171846283810965919808918842260288949509884067504198798833946864777996306626830480266246804461067901259435906949057454658387104501452830172225101670217449577771312139113102303864140356307026995107025674460317517191466435236942461925778291604826021144086092055217627521182422849727179557315442628109617981700831874993630123529620971611845784937446502953346402519989856772542769320333915014775113776115118368134299921055755473450525839346502371985310006609385937321125813289557132676108055200889200628359177572978322994874718102751507861222638057792176236051435370244152766348590751672473373959476613609417059877566623139353559207825829206478482925765570031416907177523430177819571918406981292842088031349562814358135256867588441300647706513111468376728332107292978919574313794611426676278444071794378046388015598756156648697418684341869646743516367888082955406302521866392069037051244425723044498 4561260670348514919545423406805378190630904693326736192836660055916265989608624786111344147516957840358145925221487799344479327322061441538255830529888517454638830479507958072455369591133003756949903595131579701933845044798001325858901444209400609416940942153279321745287217202947637063671734032257414677692907025616054284232433633472449853123509447150908373542433622498648990613673511238815990084291146830203491606218180627249381064709250782099103040953414784996992970933385068370032825312808195059877638037947888298543944320016752622334392594267358569329969942990025924810351379879314009724656171994745982530893609197871646988524092579074794606406803767927950175298531799889309126311489626130694972465871878081524763846635426602596883036332449905277040527972582900867138066057270656627184953288281862312654830759889791891216737890736702709101894418697788453534996442612149528120806577290340094448683810153698478791144306450679621012359515092233393973064513683705224558566483585551083344770580319151900470468763973393511691753033051801181431622517705968508780467605663019588848856176559658573991974043531137246722380290155017133884224412962869760790259511166533937456897241318920035446895361032739270775435765879294115908493002718336673187802188187287571366109943473558369857212929600775185345148098247648656589628309315746756645071085943593036387435821960113369509599212474306272597941079000260304196596334861040423186016484463168639312303414680928035910202873225562375132758846495432099112368370927992157494196140385527650015975339068420977653657252317872498573686901199630107626252071320984705195497330729133474797628409203558951758681078327938859617943503270608070459669269971535146768269916191011837341518749107414805820292204808617420831448153082041905811703608660633881597178067972837651029194347442937793004513047338851723338437881692799179896634266075857282147562466246959491149260445600296743172275026025668577944703002993273002547852087825418376004287928615635616381399025704938920780236358162998000554877447595695483644394679478818103007119303382080461117306775185630858525391470176129846721956088511760766379201580580759734111247000941626854689090140283661377966600938585469254843419900627298292660969009889700180767775469247630205093020457167540434031902455608013425659569876047925805625141013597941052918672260866731808571322616217248539230090781277548668906481470718767871596323224007973572374349001683808334958009176401120635383222304323552494933323269845936477852986544492873746712128371649576769250573087993274342832084666534347268851948823798115462038875613022661546389403217048305184710311965659465802094418392657513605582834579722983501224871225675780795614994394141251776560785996319196210351772778172357678630425153418422366588312352512144195527926435806295642448413557411727901379173014615047173419021569150080937070437443162951897119759758409069453319196610165506044541465521125968413667067424400955834143276873213684130459412386713333436588795633212232199903510367962368192146188228902321517106058314377281993384672514026332149416378216090082865938033754577585160035927472362004237166266638026909204500124727719927589023880688875939670514286720031424622116784401540206575254818154832040282606109463063646076418990515760332047241940817183310956964461656504502069848632991472013205959605277814639926682780092245399410673456149670879427569198416327821949612786687239315502038186172703984369948447076582648275316745257866191533808746082600959537423169894850793034863227727963732650367545086780414288932111113787781815601414251478212595542673149756238672308199607766749789681600423096773783011226510850519353182553016033904555777078380984849141530858887615503610770440172220727471211463894142725226719301644938063765628721554575320754423358202349693909546031313561899878173334286799812992946965036769435465000593285111322640553665189481904260488420167577299393783102521714515114355416639708486570816294441232117774749784013280983747931615550741221078818932468577924212880221550935713676331951977748825903437832834778576876120266546949 7380274796172026823162132165943191038306177756092877615102935657380818151567989150436168020367480515908897251440588820199760234374136710673026821894847785915598797763878326271604074495969954083347078822364200524529141653336510080797074022269428544302458161250930620998949606819357569104676208729991688138250026017803044392991972436757391833876523386731618953188060212185993021488841675480268835031640307101824642607700688996847910250081352794049610631856158413483669877823498200961693813738263271625185569208586678720615010846828983801708360295804263806365009856317086936394698108286710297349731577860107791834243708816353675107484101051634382965991813954602666034110454077098285882347851441184136535790286425103176315458997435428519184112407764068677487570311811395931072972971586228310285127385748398288659157735920445252839303156071870091092321587667848983455955536026778598342865324216193121881511643315034349069679880014795167878879031997108054460591158430519554850275580796447581952574578396624598343717926396758862340608518997605860444572527183148351299756211142835784489087990127313724098282834248035762061368203412512159124458596817276268823944741188710016397555544386769565417839959628463550705134909901755259175892158335787406217540340657660228879589746800459190179446111825503750523972393329938941064431724811121652575012484097909096189802992196654535259327161546720564142195987041675509803016884502455516510598054113884480986284646399109899163282590736998684139146227697579894901616416022779792461901118515766658566481804078793466482134164879054359104869188937567120727254330936886820851445917781488136856456420079913003621337935801758007154964171123188476399338492060112079262397397553681905084499798890376179281557353837032369146675313235668051661275044796480658063776596926633263577981147499239172591866475453457523323382539987750087265697692905690852414120278442799765384926505190384552117916418597479329382702280752437094674287544925385091863366629661536894937299598967048019336026110868667201242469162414208630847377897608099775271624977125859036745610375162287337812021737908599603062606495747508617141897082055528146740103191527982932106246909909089620849533566109262240051166402920299133758185914256030995303842039998966549672453685265218219521211780711587764488403413069089139014549512865919830900049635909538387596709914844639711417091032420553148977911379366268426474611825983044301821977053540308761456497321762818581536611801745312217044857984569780211172225995093440936447105617914625188869431406020814455698210638299372362865840775284884079970603508403789313558812084148501703148225856981244444615167174604512847204974908237676160744093396757674774445436032829245059294641429720460986840862286345566510124084464935391239906947379425750412627464372636956171039987601048964029440476897511278757899005081501102656741298896941975894564301623350905447399642470845566103397190668951827115691486091902598905375587251955252914346711363554580672894113563685480884879722189341490956199637458382517970935183465775699854996840638416317424420205584348587473003241524911565234266545268695245589305478549814944611369358427076831506320151829138359808686133003842390541925703243800495524764702222336239081440056327841642383045820996026578851703008718442746863913519111162889174350085821644238307629822727392411238821893194549263551029763176665986453243658733845013416048023629701241280329790998725128456040502294210169457739594985045748849251374192218941238255044888480916564484199339809517587814048040126816808921967886330551135935329266253326371657791517890538593363955081217275629028102795082083789620612448171645166472110148710012610977967581613208319103837210610378328873191680081950109269256070378776662089545797704412356380394027949280231036967619409571476169170667121107704002540765282738758516996453676612988430771104683241047534958031569935610051234525712556261371543822362221627466885016436818678109273360806431569361210689559427819725993597129236677575089117275342897222091197679230044220034933155128425304224903815628120545989591447 11941535466520541742707555572748569228937082449419613807939595713297084141176613936547512167884438356267043176662076619544239561696198152211282652424736303370237628243386284344059444087102957840296982417495780226462986698134511406655975466478829153719399103404209942744236824022305206168347942762249102815942933043419098677224406070229841687000032833882527326730493834684642012102515186719084825115931453932028134213918869624097291314790603576148713672809573198480662848756883269331726639051071466685063207246534567019158955166845736424042752890071622375694979799307112861205049488166024307074387749854853774365137318014225322096008193630709177572398617722530616209408985876987595008659341067314831508256158303184701079305632862031116067148740213973954528098284394296798211039028856884937470080674030260601313988495810237144056041046808572800194216006365637436990951978638928126463671901506533216330195453468732827860824186465474788891238547089341448433655672114224779408842064381998665297345158715776498814186690370152374032361552049407041876195044889116860080223816805855373337944166686972298090256877779173008783748493567529293008683009780146029614204252355243953854452785705689600864735320661202821480570675781049375084385161054124079405342528844947800245699690274017560036659041426278935869120491577587597654060034126868409220083570041502132577238814156767904768926374021026836740137066041935813999613219363495939696614538577053120298588061080037935073485463962561059271905074193011994013984786950771949956097258901294308582457143147214444135791417196926857678556090137197228353506402257871526046943248510621611654084829283471955380019014129696866772907674393796546859007762031647226030667313744693742426018547997790985101849558645649789978123466317709957472978653457114539660954664899470914607175494942176965596379522792309246661820421680549267162331958981548134561682744689759256534186950790681295290191444623147907327405283745710097222139632750803467867654558277172511318698624671986940116262469031665201797346610009904114491772577086917878278744280507939497862917150347918196337413208084729449784562584259269383521098662636287880851350192469609786795337050192750998816134504694731494894586303547597426419154924145731176071617509246596754765474142432758653553114236319601190147973289117014944639690526463860883818721896776270196168032531061888250647181813698101817884392850085036298070935049991017874196326055224117096414506498163939216919834106068864711978181254415716689025212539586314683159233989564201958120004494014088798530295304833719631717789599082999542009479121426450859948215301196806887858537822640710246709585567262026452787809487960659661968964622433455570060430426970496835855427426039657197192635064517924188754509618353813606495259731937894608155390808443251813488401158460691930819649912126325931318026650651183593811736340104927791684061381759974900718839081011072147938656190077795529358553516303554739518864125168937044806123750267914109482909196897713084783232557303859148345825687284839488041241780152981848381513152442649573836583800438670338941275279489150394302472741057249826471745187841853815869483154796759095344032518014299479200419723873815164042487645340702100019520377168279364046165790905288459464811511786910898944949535626057820877980767667391244198718813116251513589428005207051165504673286794662961703219326336865880812857150172835365660810316940556782367977171429112825988949370792817733056340242911940383060120274819900775678214783331709599347427067773250238181593126907231097854079000118332951536743517731538967200464667646777265672154688984025418709703218178857572631838959022164519654663164743917166755045962598057460634696098225881939643631852302677580480719964521501888808847442642476122009115582524600985460325821759265385715201980683007582175875052082551751463961490446048453431364389794563688088623221051839870539654693289855655154646344076736741822301656145305248925567802038549344110994702840411567657609147870457756394021585853267110102312748614943720551986910903954328742057738594204996666256138396 19321810262692568565869687738691760267243260205512491423042531370677902292744603086983680188251918872175940428102665439743999796070334862884309474319584089285836426007264610615663518583072911923644061239859980750992128351471021487453049488748257698021857264655140563743186430841662775273024151492240790954192959061222143070216378506987233520876556220614146279918554046870635033591356862199353660147571761033852776821619558620945201564871956370198324304665731611964332726580381470293420452789334738310248776455121245739773966013674720225751113185875886182059989655624199797599747596452734604424119327714961566199381026830578997203492294682343560538390431677133282243519439954085880891007192508498968044046444728287877394764630297459635251261147978042632015668596205692729284012000443113247755208059778658889973146231730682396895344202880442891286537594033486420446907514665706724806537225722726338211707096783767176930504066480269956770117579086449502894246830544744334259117645178446247249919737112401097157904616766911236372970071047012902320767572072265211379980027948691157827032156814286022188539712027208770845116696980041452133141606597422298438148993543953970252008330092459166282575280289666372185705585682804634260277319389911485622882869502608029125289437074476750216105153251782686393092884907526538718491758937990061795096054139411228767041806353422440028253535567747400882333053083611323802630103865951456207212592690937601284872707479147834236768054699559743411051301890591888915601202973551742417998377417060967148938947226007910617925582075981216783425279074764349080760733194758346898389166292109748510541249363384959001356949931454873927871845516985023258346254091759305293064711298375647510518346888167164383406912482682159124798779553378009134253698253595197724731261826104178185156642441416138188245998245766769985202961668299354428029651887238986975803023132559021919113455981065847408107863220627236710107564498147191896427177676188559731021187938709406255998223639034959452288579900332403039815772424112745339150474695017653550369257633798534608527525510205534149434945993329052847169080006778000662995744691816027591453383997592718901583960101840619665668070803993734945752706467896560177340838401762171375459549245563304437927827697976873074326017031188954636376702186104083654240039329780714718771532685808583764742445906527962064272846118654966862304229451304724545546875974062176018303108764425857871003819926757798456445907814176929023039238985496900197438534679755619606339607478827146989435900034903254228505943133091994583630374367883621980082629830240173507027385345308591006763679621954691324752741866539299992784396198335822713058019191130344505866459799741895150068855760118184033497350863490698878594083289204846402207111363645020782855181080207984528388759509655960260126809637604689217031732152286250553035237046903686248363005110880348118481551856638251335846859029622645050039608206153644894451377124189959152835113822494782377022760583193969662954746645350104545463145667357458976425245928681703378353790858966998256789384787257811944516804400715628569018009752495415777223737656798427238841581873590601664184347152659287886552727716205705968190889141197624784222599504518445486222118746930842510632507813489750647958254068804684791499878830280418548804634760489821219250732599462404326566481343926512732982503002852334056515884017848781708833946641798062697768170154241282029451665002987190795935227957689232311494467038842013933259671812626163831626407582767825995641167034047906776046886448884087472072783984865338858256185537315859036109770201301047737806013260941362252451407193809686126773313453929777733013544211265779738533308836260268516823532384627689749976034900278550898393240346888478389509610473881216497293441168836861884372647804115286178415817365290509980957944122661441862135494477804735623581252621775480590889219002411916526190166438958369289186672582123927034841162844980913472205392399839387383602744999694433969110703128610007324403946294173764772021844059082754046282642409833117212245729843 31263345729213110308577243311440329496180342654932105230982127083974986433921217023531192356136357228442983604764742059288239357766533015095592126744320392656074054250650894959722962670175869763941043657355760977455115049605532894109024955227086851741256368059350506487423254863967981441372094254489893770135892104641241747440784577217075207876589054496673606649047881555277045693872048918438485263503214965880911035538428245042492879662559946347037977475304810444995575337264739625147091840406204995311983701655812758932921180520456649793866075947508557754969454931312658804797084618758911498507077569815340564518344844804319299500488313052738110789049399663898452928425831073475899666533575813799552302603031472578474070263159490751318409888192016586543766880599989527495051029299998185225288733808919491287134727540919540951385249689015691480753600399123857437859493304634851270209127229259554541902550252500004791328252945744745661356126175790951327902502658969113667959709560444912547264895828177595972091307137063610405331623096419944196962616961382071460203844754546531164976323501258320278796589806381779628865190547570745141824616377568328052353245899197924106461115798148767147310600950869193666276261463854009344662480444035565028225398347555829370989127348494310252764194678061622262213376485114136372551793064858471015179624180913361344280620510190344797179909588774237622470119125547137802243323229447395903827131267990721583460768559185769310253518662120802682956376083603882929585989924323692374095636318355275731396090373222354753716999272908074461981369211961577434267135452629872945332414802731360164626078646856914381375964061151740700779519910781570117354016123406531323732025043069389936536894885958149485256471128331949102922245871087966607232351710709737385685926725575092792332137383593103784625521038076016647023383348848621590361610868787121537485767822318278453300406771747142698299307843775144037512848243857289118566810426992027598675746215881917574696848311021899568551048931997604837162382434016859830923051781935531829113538141738032471444675858123730486848154078058502631731664266047384184094407328103908442803576467202505696921010294591618481802575498725229840339010015493986596495762547493347447077058492160059203401970130735526627440253350790144784349991303119028293930565793641598537493429462078779932774976968416212711454659816756784746697079536341022616481925965080050214629163988542954285510318090697015376280013883041641001220493401213589222651074266070302765573597043029105109440394048992052758801247966811626301419973450883163989561751256691033455242686542115478865301502262664938034338309128565752780593884158995484682022641624585914566296886770238731005496281799775381226132415381414887633103701643018452897466843301539628938245989523459798016789917970347891079776721763930620535058382803469844364771577151831477932424386870855248837320632867710399274503049107418174408593124509708384413315502293127003958958864090408891859931957480907054446187303949209252891288832952196947017667026081663551759866943301616572093373185225928150885792083889866022871490750809745242248968925498652243108324736670349697008216865166958767086972451590020870010678534481899724803742976672797809532387909652219301975444019600400649592907789694862505669480646497671662747523447876741334808678737806513569831239768138589474436201829339718214869373034190684147369644263582354845065745341583354108018401035795804923852275470869629615371614741858742789611474455144335763179053475356018064177234293941279004630125886567217039008816301716404306058720853184093124708264459185326466447509231439798934884290366215974205781436478197846944488059506809323240373229407062142208160455384687305270230695999421780439707240682989364600398625192998482201957619262928102247599574628487122868354290869447842261444919434568709895293499884272368423712204473673615351130543912292267571680836510515695111111488328727429175960408964883530257583200095240250955041211892870152190363132288981877117426716694909117485324008754963037082788340381004038113878501868239 50585155991905678874446931050132089763423602860444596654024658454652888726665820110514872544388276100618924032867407499032239153836867877979901601063904481941910480257915505575386481253248781687585104897215741728447243401076554381562074443975344549763113632714491070230609685705630756714396245746730684724328851165863384817657163084204308728753145275110819886567601928425912079285228911117792145411074975999733687857157986865987694444534516316545362282141036422409328301917646209918567544629740943305560760156777058498706887194195176875544979261823394739814959110555512456404544681071493515922626405284776906763899371675383316502992782995396298649179481076797180696447865785159356790673726084312767596349047759760455868834893456950386569671036170059218559435476805682256779063029743111432980496793587578381260280959271601937846729452569458582767291194432610277884767007970341576076746352951985892753609647036267181721832319426014702431473705262240454222149333203713447927077354738891159797184632940578693129995923903974846778301694143432846517730189033647282840183872703237688992008480315544342467336301833590550473981887527612197274966222974990626490502239443151894358469445890607933429885881240535565851981847146658643604939799833947050651108267850163858496278564422971060468869347929844308655306261392640675091043552002848532810275678320324590111322426863612784825433445156521638504803172209158461604873427095398852111039723958928322868333476038333603547021573361680546094007677974195771845187192897875434792094013735416242880335037599230265371642581348889291245406648286725926515027868647388219843721581094841108675167328010241873382732913992606614628651365427766593375700270215165836616796736341445037447055241774125313868663383611014108227721025424465975741486049964304935110417188551679270977488779825009241972871519283842786632226345017147976018391262756026108513288790954877300372413862752812990106407171064402380747620412742004481014993988103180587329696934154591323830695071950056859020839628832330007876978154858129605170073526476953185379482795775536567079972201368329264636283100071387555478900744272825384847090152019919936034256960464795224598504970396432238147470646302718964786091716483390546773836600949255518822536607737723363641329797828712399701766270381979099420726693489223111948170605123422313256264962147887363697517422874944174775727505935411751609001308987645747162028801939142226232932272752968812156514138017454813832725921697218570024259732386710489420089608945825922371913204521856252098876294083895306987307191099903620885050347818766785969644381086931206962270071887424069872065181884619629359091050995105052773378280357331307395080660815716259072163346569980626155565137559893565259629766244905586511697784932223299299673954665184649721101170603667782545178677480003851339903531401535309752090114955756094917806814198735164180787391981735596955802184724348650610349908137040819458632732715862029307766879417316963111793977912903674236954718064101024109142050594559357436751978619554405994092272010345255138220734160583570350162570013185962830308888290581651440508760562240658026192663155450670347166318543940298672401212319618054973525179306226575978869423623097349587965576177316255018610028399150144486076527413890400240866043763667190460980525327952081296328082637231156027929470405975974157806249482515987169184332342570548925888918208532929078478210224152907763513511737595390047852700798792114648210698827318847683109208897584803544734126956961927010679882938785890172875460975326911406172773016101126480889085701269644916977038721408983744374229386627514185315244700740297136741773409783891908209791651776722221073051020589020111762715898402476677278917071932959980672034322058990605633923336253078788134803472363418454912704096939109483947276291238154532706686813132771425877378691371337155635378750173159335785726295390831721433131294679488207026676954653480400675001309553102995250127728511171055405487640090342424814637869846624332242992110487124751120641203291250096030599022119836834623023413871231090747598082 81848501721118789183024174361572419259603945515376701885006785538627875160587037134046064900524633329061907637632149558320478511603400893075493727808224874597984534508566400535109443923424651451526148554571502705902358450682087275671099399202431401504370000773841576718032940569598738155768340001220578494464743270504626565097947661421383936629734329607493493216649809981189124979100960036230630674578190965614598892696415111030187324197076262892400259616341232854323877254910949543714636470147148300872743858432871257639808374715633525338845337770903297569928565486825115209341765690252427421133482854592247328417716520187635802493271308449036759968530476461079149376291616232832690340259660126567148651650791233034342905156616441137888080924362075805103202357405671784274114059043109618205785527396497872547415686812521478798114702258474274248044794831734135322626501274976427346955480181245447295512197288767186513160572371759448092829831438031405550051835862682561595037064299336072344449528768756289102087231041038457183633317239852790714692805995029354300387717457784220156984803816802662746132891639972330102847078075182942416790839352558954542855485342349818464930561688756700577196482191404759518258108610512652949602280277982615679333666197719687867267691771465370721633542607905930917519637877754811463595345067707003825455302501237951455603047373803129622613354745295876127273291334705599407116750324846248014866855226919044451794244597519372857275092023801348776964054057799654774773182822199127166189650053771518611731127972452620125359580621797365707388017498687503949295004100018092789053995897572468839793406657098787764108878053758355329430885338548163493054286338572367940528761384514427383592136660083463353919854739346057330643271295553942348718401675014672496103115277254363769820917208602345757497040321918803279249728365996597608752873624813230050774558777195578825714269524560132804706478908177524785133260985861770133560798530172614928372680370473241405391920261078758589390677764327612714140537292146465000996578258888717208596333917274599551416877226452995123131254149446058110632408538872769031184559348023844477060536931997730295425980691023856629273221801444194626430726498884533370332363496748866269613666229883422844731767959447926329206523732769244205076684792342140242101170917063911793758391609966143630292399843360387487182165752168536355698388523986769778510727904222276447561436741511766442024456108151829209005935580260211025480225787924078642740683211896225137486801564885357208316688132887359746108439066715247186470321269649949959206132343622240417512758429539548737366684147284567393429360123670805553972164516326792077103302440302173638460233340219357161061419359668946485762181626320474144801486575241752197140797966724278659347160127127580561968595450351742419680253165465930287148497759225939282578391350566642113211778852590845793122817592059049884852957244458993867225857225570413721082381710443967070752842003312566096886675545008078555329354543768610328040811571751353011759298092008806898087677462200142443535755239114113716100972180447674311999511371985900275161588654102913455491055214289995680618077486576822060497630896247445989547958104997074391708552850114064550997938051369446461520547014291049833773833458529696130461171825623744043851530513972490836608208212489543989046017621105461605386161682288763795261952399217076448122473806507752829258853320949498066253736594597038500486169696948463054723950756327593156208582101297690189733358294803954350109754916605916036298659583318165489705387417673950975697891905502108452638688571953980632824476140539232021032139625758097689646269849623666709132557829912260484992122960544684837734301759238230211368033743839430312874606325617679186759996470845620412531967025041357083521904778361022886997556260975032870796813260081232449135263022541583047990199969006182851977043586947059887863187470348591512163330036982278955659092612041428638605582880341297466026530739998814695375281092364242177837336112408735420039353985156919622963404417909344969249466321 132433657713024468057471105411704509023027548375821298539031443993280763887252857244560937444912909429680831670499557057352717665440268771055395328872129356539895014766481906110495925176673433139111253451787244434349601851758641657233173843177775951267483633488332646948642626275229494870164585747951263218793594436368011382755110745625692665382879604718313379784251738407101204264329871154022776085653166965348286749854401977017881768731592579437762541757377655263652179172557159462282181099888091606433504015209929756346695568910810400883824599594298037384887676042337571613886446761745943343759888139369154092317088195570952305486054303845335409148011553258259845824157401392189481013985744439334745000698550993490211740050073391524457751960532135023662637834211354041053177088786221051186282320984076253807696646084123416644844154827932857015335989264344413207393509245318003423701833133231340049121844325034368234992891797774150524303536700271859772201169066396009522114419038227232141634161709334982232083154945013303961935011383285637232422995028676637140571590161021909148993284132347005213469193473562880576828965602795139691757062327549581033357724785501712823400007579364634007082363431940325370239955757171296554542080111929666330441934047883546363546256194436431190502890537750239572825899270395486554638897070555536635730980821562541566925474237415914448046799901817514632076463543864061011990177420245100125906579185847367320127720635852976404296665385481894870971732031995426619960375720074561958283663789187761492066165571682885497002161970686656952794665785413430464322872747406312632775576992413577514960734667340661146841792046364969958082250766314756868754556553738204557325497725959464830647378434208777222583238350360165558364296720019918090204451639319607606520303828933634747309697033611587730368559605761589911476073383144573627144136380839338564063349732072879198128132277373122911113649972579905532753673727866251148554786633353202258069614525064565236086992211135617610230306596657620591118692150276070171070104735841902588079129692811166631389078594782259759414354220833613589533152811698153878274711367943780511317497396792954893930951087456094776743868104163159412522442982275080144168964446004385092150273967606786486061565788160326030972794114748343625803378281565252190271776040486225050023353757853507327809822718304562262909671687580287964699697511632516940539529843364502680493709494480578598538594125606643041731857277478781049739958174634568062830292157722147509400006086741609307192982216782666733415630166618868071520669088416735928850513430553447379782830316963618609431866031904196752520411118775858327350444873658099472183963256018432710623579910199983316626556919562511745391947871226060656499271507465051496814752631908928380448330730795363107147272930355593759583784567001240039238612714982034200385205549301806293999170834326442748925002316407700495202865381499813325858589941432443028849261127760930182546819916216240333841393609109102664471405138327967764792790191305759005851570102354062036308411622783712793698325252300076546409860471029325752508271934226558301354251809553583802657373758230294353019289806194877034022810202474021968417381728094423979674129027430319569607966450519590947597074428181450074639877222196886591441697153575825340179613151203646864537678618465518146852267103621448774570494024859312721150870607750005526600684030660660592772365058544888114106437393389153148696868524267310737833159653912396700942709058259617200413241233589844522985215891932827442471432599419291970594473118943595892674930626911092197012917958581494818139720841279529157773913035541989597856061501400388930205608850501280596754838858947161515013218831171190192040068065898420918508529661870757974894799943209038867444671121980466567469181069599177419704243074107804296674191951452569604770641772714742383775926264397014573410174881626548094889864425002071912838331346535381950909220340552599694011070520431639890841168609845439027618273202851366928957977315699985516069953007276756457586427831780576059997064403 214282159434143257240495279773276928282631493891198000424038229531908639047839894378607002345437542758742739308131706615673196177043669664130889056680354231137879549275048306645605369100098084590637402006358747140251960302440728932904273242380207352771853634262174223666675566844828233025932925749171841713258337706872637947853058407047076602012613934325806873000901548388290329243430831190253406760231357930962885642550817088048069092928668842330162801373718888117976056427468109005996817570035239907306247873642801013986503943626443926222669937365201334954816241529162686823228212451998370764893370993961401420734804715758588107979325612294372169116542029719338995200449017625022171354245404565901893652349342226524554645206689832662345832884894210828765840191617025825327291147829330669392067848380574126355112332896644895442958857086407131263380784096078548530020010520294430770657313314476787344634041613801554748153464169533598617133368138303265322253004929078571117151483337563304486083690478091271334170385986051761145568328623138427947115801023705991440959307618806129305978087949149667959602085113535210679676043677978082108547901680108535576213210127851531288330569268121334584278845623345084888498064367683949504144360389912282009775600245603234230813947965901801912136433145656170490345537148150298018234242138262540461186283322800493022528521611219044070660154647113390759349754878569660419106927745091348140773434412766411771921965233372349261571757409283243647935786089795081394733558542273689124473313842959280103797293544135505622361742592484022660182683284100934413617876847424405421829572889986046354754141324439448910950670100123325287513136104862920361808842892310572497854259110473892214239515094292240576503093089706222889007568015573860438922853314334280102623419106187998517130614242213933487865599927680393190725801749141171235897010005652568614837908509268458023842401801933255715820128880757430317886934713728021282115585163525817186442294895537806641478912472214376199620984360985233305259229442422535172066682994730619796675463610085766182805955821235254882545608370279671700165561350570922909459270715967624988378034328790685189356931778479951406017089905607354038953169481159613514501327942753251361763940197490209330793333747608252360179317847517587830880063073907392432372946957550136843781745367819650958102222561664949750091837439748824320398086035619286719050257747586779128055146235992345040563050233758472250737792857738992075220183962558646705570975369618372646886807651626966515509670349670026479524069233334115257990990358066685888056645774175687797295588746503167346798550179188764145949771242446663881322609389984891549287265696320606349083813250419340477687976279231458231154129497546534801300758082706803693955550598633207039795490857922943669115868380707336179264037732467170326387110474207973482963596899868448407210949686917288542047819908466750380055822625958807193084447167002856749931642838204897253299661919528806430728069154117181219800759682096578092833601763057112017610868194362868934396089084983855237234080491414190262510832651477000064507783306212458576515840463656497258148428972520290033637367292771699094520441098721467957965339833091498371382681877544384120605904501889037409117621442472499908413710680726582721902868979199569384031143665176137701145886830955062135898284724726910379956655707148076516412823006967081974723157837168413422031218379494386180360173987986191649183038221215773792557110410239989857151291159557307390146599528393798873094970808538743478770092182737457460299860536617546868372822532413200649651606530535475450964196981818761178806052661300087287502331351024055639338166680413541081746961819491846352747520590409420403408101809737851231383135987488437161654796414054659279976638147021823650991085847960200306701799335082837167471005211533802053905904795256325431766126233403197425387218468573607982753051895350663425001661383517660906568312952594028332616653400772937356867699349844253722993554295215609106795313428108720936109306992433676080549832249689921029246530724 346715817147167725297966385184981437305659042267019298963069673525189402935092751623167939790350452188423570978631263673025913842483938435186284385552483587677774564041530212756101294276771517729748655458145991574601562154199370590137447085557983304039337267750506870615318193120057727896097511497123104932051932143240649330608169152672769267395493539044120252785153286795391533507760702344276182845884524896311172392405219065065950861660261421767925343131096543381628235600025268468278998669923331513739751888852730770333199512537254327106494536959499372339703917571500258437114659213744314108653259133330555513051892911329540413465379916139707578264553582977598841024606419017211652368231149005236638653047893220014766385256763224186803584845426345852428478025828379866380468236615551720578350169364650380162808978980768312087803011914339988278716773360422961737413519765612434194359146447708127393755885938835922983146355967307749141436904838575125094454173995474580639265902375790536627717852187426253566253540931065065107503340006424065179538796052382628581530897779828038454971372081496673173071278587098091256505009280773221800304964007658116609570934913353244111730576847485968591361209055285410258738020124855246058686440501841948340217534293486780594360204160338233102639323683406410063171436418545784572873139208818077096917264144363034589453995848634958518706954548930905391426218422433721431097105165336448266680013598613779092049685869225325665868422794765138518907518121790508014693934262348251082756977632147041595863459115818391119363904563170679612977349069514364877940749594830718054605149882399623869714875991780110057792462146488295245595386871177677230563399446048777055179756836433357044886893528501017799086331440066388447371864735593778529127304953653887709143722935121633264440311275825521218234159533441983102201875132285744863041146386491907178901258241341337221970534079306378626933778853337335850640608441594272430670371796879019444511909420602371877565904683349993809851290957642853896377921592698605343136787730572522384754593302896932814195034416017514641959962591113285289698714162269076787733982083911405499695531725583640083287882865936046182760958009770513451475612463434693658670292388757636453914214165096995816854899535768578391152111962265931456683441355472644622644722998036361893805099125673158285912045279969512013001509127329112285097783547251803659589787590951281808548855730472923639101644359365115292469650135217773124960142137193214768401267527340520156286813738368575822702652566452693212939699399952983329511659446483421816907159204729135177078419063466785956230416211092960898470182361222522208673054263642991021471228952339039059707393160619323794314533198793969976546077368772595457800029590171855190770303230542135420243821588718306776263141311062929938847822299468410365625723189190007683348802449170254701210120521243731290972822224874450875258688007458620518943037108435299778780903965965827435846481835745046764569462763226283884272164820424545857626391954362871023462438296716930970704500707767568030932405743714266808920693122506325817016055240439016877870092273210081060805802730750584386656657098966576128543251301195489926382721561185922351056810904974703690213870952408628356714695870653949983053587902923469313344566132775394724210756816379784565683565449420580282750551828348359154527149732007389237563693614717087501323841867829074014803583438039274294466611381375344797879906745483084530390270064152386558094000217816924590559840761983643396080186700471570921241524782156749430894333655561142761047753159324292846664524489116970269103917823098290336579965696842076885358392852424444569543775530914821678501800678439007867760739421580610595448169875636272149891665649359195136549596357263698147421309269002290218460266917559377726406042409190641464145197162986371658676546567971067815542052497800211998797393350200156077642916320352735337839992730053042857477533293146628026627723921204577247708867959689692750611827498066976035753290743808706452179259999710432538136260081470497089243595127 560997976581310982538461664958258365588290536158217299387107903057098041982932646001774942135787994947166310286762970288699110019527608099317173442232837818815654113316578519401706663376869602320386057464504738714853522456640099523041720327938190656811190902012681094281993759964885960922030437246294946645310269850113287278461227559719845869408107473369927125786054835183681862751191533534529589606115882827274058034956036153114019954588930264098088144504815431499604292027493377474275816239958571421045999762495531784319703456163698253329164474324700707294520159100662945260342871665742684873546630127291956933786697627088128521444705528434079747381095612696937836225055436642233823722476553571138532305397235446539321030463453056849149417730320556681194318217445405691707759384444882389970418017745224506517921311877413207530761869000747119542097557456501510267433530285906864965016459762184914738389927552637477731299820136841347758570272976878390416707178924553151756417385713353841113801542665517524900423926917116826253071668629562493126654597076088620022490205398634167760949460030646341132673363700633301936181052958751303908852865687766652185784145041204775400061146115607303175640054678630495147236084492539195562830800891754230349993134539090014825174152126240035014775756829062580553516973566696082591107381347080617558103547467163527611982517459854002589367109196044296150775973301003381850204032910427796407453448011380190863971651102597674927440180204048382166843304211585589409427492804621940207230291475106321699660752659953896741725647155654702273160032353615299291558626442255123476434722772385670224469017316219558968743132246611620533108522976040597592372242338359349553034015946907249259126408622793258375589424529772611336379432751167638968050158267988167811767142041309631781570925518039454706099759461122376292927676881426916098938156392144475793739166750609795245812935881239634342753907734094766168527543155322293712785956960404836630954204316140178519044817155564370009472275318628087201637151035121140515203470725303142181430056912982698997000990237252769524505570961392956989864275512839999697193252799879030488073566054374325272644814644415997588778047915377867490428781944594307173171620331510887815678154362587205147648233283376830751331429809783519287563504429380037055017669955586498737586844493492809244014267841634461763093346567077936605495869582871090378640045338538060936604001966465268679664694593123587543207442992956765200180326099751861473972242896958892803173621389995542338212322916122719692463768633287098587502649804550107704963804978904822974374007809969953303028966390281725044419953603669186089995663653627882570758494648659645408791206411038664272002509478025428207700206866319130259100787672878658884725853829175342460039312446641250445379009691770266118111860031935580692012833663397981166312399349038703108421070208161019833020642133341201255314510633417427712027484275438156528712546804170724689146143755273853195297531917343465104072924502521123950459993717419983041073306491079799905100589792751423268166486235128457071431525773983325881523838546651475454385932736866578318954231703270874420294024391738275223063692399916957884348061394277420722439492782519087810819775454297665765832317313126449891467298583650052035247435111974964108241900481555922266829452280375642418648836553075269534483805439155465753976516621684169476046999704997487436834801817533660474826785369361536447062944966698858322947380474392376415245291377374231980706440290377442269175157509010314400011616964894206891194194192178689629420575691737493496316131019652445720068114804917051515386018358142164172860724203448500208881942211328362760248762497930854220508260011990030998856271685374123381274801636847632298204392771318357427397947416024113869451352765519578033107841744273478631616202374520173712582451363227393247308178731203409424184611818773764060395968215703398762841654113570703764045846245740656359244377321977514604576567309533946473605381793282585142548604171917427388288566992144108618686092331160418118490125851 907713793728478707836428050143239802893949578425236598350177576582287444918025397624942881926138447135589881265394233961725023862011546534503457827785321406493428677358108732157807957653641120050134712922650730289455084610839470113179167413496173960850528169763187964897311953084943688818127948743418051577362201993353936609069396712392615136803601012414047378571208121979073396258952235878805772452000407723585230427361255218179970816249191685866013487635911974881232527627518645942554814909881902934785751651348262554652902968700952580435659011284200079634224076672163203697457530879486998982199889260622512446838590538417668934910085444573787325645649195674536677249661855659445476090707702576375170958445128666554087415720216281035953002575746902533622796243273785558088227621060434110548768187109874886680730290858181519618564880915087107820814330816924472004847050051519299159375606209893042132145813491473400714446176104149096900007177815453515511161352920027732395683288089144377741519394852943778466677467848181891360575008635986558306193393128471248604021103178462206215920832112143014305744642287731393192686062239524525709157829695424768795355079954558019511791722963093271767001263733915905405974104617394441621517241393596178690210668832576795419534356286578268117415080512468990616688409985241867163980520555898694655020811611526562201436513308488961108074063744975201542202191723437103281301138075764244674133461609993969956021336971823000593308602998813520685750822333376097424121427066970191289987269107253363295524211775772287861089551718825381886137381423129664169499376037085841531039872654785294094183893307999669026535594393099915778703909847218274822935641784408126608213772783340606304013302151294276174675755969838999783751297486761417497177463221642055520910864976431265046011236793864975924333918994564359395129552013712660961979302778636382972640424991951132467783469960546012969687686587432102019168151596916566143456328757283856075466113736742550396610721838914363819323566276270941098015072627819745858340258455875664566184650215879631811196024653270284166465533552506242279562989675109076484927234883790435987769097779957965355932697510352043771539005925148380941904394408029000831841912720268524269592368527684200964503132819145409142483541772049450744246945784852681677662392953622860631391943619165967529926313121603973776094855694407048890593653130122894038229832929489342745152857696938192318766338952488702835677093128174538325140468236945076242373510424299412959460435128364118160914975482575412905403468033240081917014309251033529521870964183633958151452426873436739259259382601374685942890135964891708298668717917270873592229723600998684468498599571657988066317042676819398184246284235091725716900817263050514075496157059717477880283134035359557221642151002833196056959682331403991057638556852587988849661201798208957809631190729404751123993464358215652130573198640876048230970521383873456307493450770136552124992625591018899959866994680569748988345089322945669808086385671782854064535744787796730875805090500518991299098891978842723880352218896489651698539893787090492332256025010076659379760034434021458806950681490704851351606943701112447810730782955463343073496303687493791501033646406706294122547013183780399874520886486573521348592001244750358832452657297935706832513017729796222701399388381423628689010955171162854991540210236401256977370841572826561451638385255572934769293396750736881244942851712181942853337650538544762973339291595191156571266281052361085665255344209481885321253141747050956322088527847739832390468328851061786342980655508769415989172032628015341851965984054984241058219117055872944778425717742243184438750563176369862088268999433570641594304441561010395531166467286206827434753989128582055574819256685026404087911619683078955759513884153464120095761399537506545371258997931198461062850231229003621422982005168973920138038884536056134100681646843623746621523379538887284385872101243182091852285435269223639224217209291349561178301894915726133840467826991854541156822352412630915207733720978 1468711770309789690374889715101498168482240114583453897737285479639385486900958043626717824061926442082756191552157204250424133881539154633820631270018159225309082790674687251559514621030510722370520770387155469004308607067479569636220887741434364617661719071775869059179305713049829649740158385989712998222672471843467223887530624272112461006211708485783974504357262957162755259010143769413335362058116290550859288462317291371293990770838121949964101632140727406380836819655012023416830631149840474355831751413843794338972606424864650833764823485608900786928744235772826148957800402545229683855746519387914469380625288165505797456354790973007867073026744808371474513474717292301679299813184256147513703263842364113093408446183669337885102420306067459214817114460719191249795987005505316500519186204855099393198651602735594727149326749915834227362911888273425982272280580337426164124392065972077956870535741044110878445745996240990444658577450792331905927868531844580884152100673802498218855320937518461303367101394765298717613646677265549051432847990204559868626511308577096373976870292142789355438418005988364695128867115198275829618010695383191420981139224995762794911852869078700574942641318412546400553210189109933637184348042285350409040203803371666810244708508412818303132190837341531571170205383551937949755087901902979312213124359078690089813419030768342963697441172941019497692978165024440485131505170986192041081586909621374160819992988074420675520748783202861902852594126544961686833548919871592131497217560582359684995184964435726184602815198874480084159297413776744963461058002479340965007474595427170964318652910624219227995278726639711536311812432823258872415307884122767476161247788730247855563139710774087534550265180499611611120130730237929056465227621489630223332678007017740896827582162311904430630433678455686735688057228895139577060917459170780858766379591742560927713596405841785647312441594321526868187695694752238859856242285717688692706420318052882728915655538994478733828795841594899028299652223662940886373543729181178806747614707128862330808197014890523053690971104513899199269427265187949076182120487683669466475842663834332290628577512154768041360317053840526248432333176352623308005013533051779412085270522890271406112151366102522239893814971581832970031810450214232718732680062909209359368978788112658776773940580963238435539188202261484985496089522712993984416869878268027403681756859663403460998431033545612290378884536121131303525320794336696937716345753321258305762634056518359660499127298398698132597867236666527180504516959055583637226834769162538781125826434683406692562288348991656410987310089568560894388664381570898756162988218249658329877289805982696652338319552154844826391946491101410855976001604935929172960222010888892820340322446482000807667021160694603462175071542363339571749651390515985970015973601147247660918052260937565770957014106491556853385887709274293475942998005659311612836205997574307276814138769346292753155164526597913214092418013825466793758546379389202837105609051278876530780905680293270414567265378213971180951783744670472977580063732333741967786641957746943237698714266137292333227244705882443126574670636101029405695078844349740763795935796470012879311853421861003959888379330496906849765988185070223573383839436356725322940694557779491629099342470010171865120048224934498898223494760610318320745516726858085426453417841277824048888473187073106595244120182120098417692005796678880801176285031012937139388584582972565388551972721342738527934430501718492199721264758711945163213282722039918522019888904542799279839296786528421861709240147432932393367352002413126405231079841259321444987307659953571547198999325674300716308777259445560672593160713246384518912441268923054459732958381899900413002217204101050517957362972448598533792621725897737598727377601912026719083841449294425854310158409960207030847166616987747684198434852751759532863523300957194450385569225784627940745116478565159606456862002578757585697822591084632146320850499087643561228756393983998649775508444743791333326223846829 2376425564038268398211317765244737971376189693008690496087463056221672931818983441251660705988064889218346072817551438212149157743550701168324089097803480631802511468032795983717322578684151842420655483309806199293763691678319039749400055154930538578512247241539057024076617666134773338558286334733131049800034673836821160496600020984505076143015309498198021882928471079141828655269096005292141134510116698274444518889678546589473961587087313635830115119776639381262069347282530669359385446059722377290617503065192056893625509393565603414200482496893100866562968312444989352655257933424716682837946408648536981827463878703923466391264876417581654398672394004046011190724379147961124775903891958723888874222287492779647495861903885618921055422881814361748439910703992976807884214626565750611067954391964974279879381893593776246767891630830921335183726219090350454277127630388945463283767672181970999002681554535584279160192172345139541558584628607785421439029884764608616547783961891642596596840332371405081833778862613480608974221685901535609739041383333031117230532411755558580192791124254932369744162648276096088321553177437800355327168525078616189776494304950320814423644592041793846709642582146462305959184293727328078805865283678946587730414472204243605664242864699396571249605917854000561786893793537179816919068422458878006868145170690216652014855544076831924805515236685994699235180356747877588412806309061956285755720371231368130776014325046243676114057386201675423538344948878337784257670346938562322787204829689613048290709176211498472463904750593305466045434795199874627630557378516426806538514468081956258412836803932218897021814321032811452090516342670477147238243525907175602769461561513588461867153012925381810724940936469450610903882027724690473962405084711272278853588871994172161873593399105769406554767597450251095083186780908852238022896761949417241739020016734512060181379875802331660282129280908958970206863846349155425999698614474972548781886431789625279312266260833393097648119407871169969397667296290760632231883987637054471313799357344741962619393039543793337857436638066405441548990254863058152667047722567459902463611761614290255984510209665120085131856059765674629374237570760652308836855445772047936354862891417955607076654498921667649036298513353882420776057395999085400410342455862832220000370731731824744303866894084842409315283057955892034386683175843116878455099711197516746426909717360341653317197372498100993214561629249305841850461262573642013958719263745557718722094491646723778660042273881273545503270704699767262421531268306617166748705733346172739277278861556843431821547731593031096930200225533452602687333099488169629755217941850657014345788405554354640404636594831664224576192775336502581692902422198979687035718167948610298220605580517360364888663311697436658232031224694743562807289947368573958865634802945456618727683451666970522081007570849772505516460907915169524173968527043185069143699448344443828939131394937311653115031521278482963080763103148412463566632765060985691170144796066673261656710770793789405866364270192813904832135963566962629278603626120832460118897982757019897078474300571313792034195387373147977926277579802141853505809627305204106869432100157506670812887068267710254010926343680687249640509071556797094732431437601475681773147215077427335931855487739968087821447613315922526912505715781481175737056937094486683430788682850650610340111572328679530013413578870835298936948648391062744029622681551481902361923874567756545123239002395099613599685845927974085042517900458996119535371249887658354410357233393861066182277442037191277698412180060947735219317986468110646289298958315194389765733377695814731637749888850670578397046258879131314187465154807394914443607736209261287167712371028482468577036460786076922045274592131677489552135610051201718823139001449533264455100447225624315373008641189210652270148622156721604336473737287815666964204947800818197007092605323515225130988579808341698309147437847981224922039800375981707499152394003369695069224220975853190932330797156422248533957567807 3845137334348058088586207480346236139858429807592144393824748535861058418719941484878378530049991331301102264369708642462573291625089855802144720367821639857111594258707483235276837199714662564791176253696961668298072298745798609385620942896364903196173966313314926083255923379184602988298444720722844048022707145680288384384130645256617537149227017983981996387285734036304583914279239774705476496568232988825303807351995837960767952357925435585794216751917366787642906166937542692776216077209562851646449254479035851232598115818430254247965305982502001653491712548217815501613058335969946366693692928036451451208089166869429263847619667390589521471699138812417485704199096440262804075717076214871402577486129856892740904308087554956806157843187881820963257025164712168057680201632071067111587140596820073673078033496329370973917218380746755562546638107363776436549408210726371627408159738154048955873217295579695157605938168586129986217162079400117327366898416609189500699884635694140815452161269889866385200880257378779326587868363167084661171889373537590985857043720332654954169661416397721725182580654264460783450420292636076184945179220461807610757633529946083609335497461120494421652283900559008706512394482837261715990213325964296996770618275575910415908951373112214874381796755195532132957099177089117766674156324361857319081269529768906741828274574845174888502956409627014196928158521772318073544311480048148326837307280852742291596007313120664351634806169404537326390939075423299471091219266810154454284422390271972733285894140647224657066719949467785550204732208976619591091615380995767771545989063509127222731489714556438125017093047672522988402328775493736019653551410029943078930709350243836317430292723699469345275206116969062222024012757962619530427632706200902502186266879011913058701175561417673837185201275905937830771244009803991815083814221120198100505399608477072987894976281644117307594570875230485838394559541101394285855940900192661241488306749842508008227921799827871831476915249466068997697319519953701518605427716818233278061414064473604293427590054434316391548407742580304640818417520051007228849168210251129368939454425448622546613087721819888126492173113606200877806570747113275616841868978823827348440133414308227013188805865024189888930113484935715390807867846213318119143022518772041579369349519844483521077807475048080844854471260217377019882772698556110862871969589465544150108666577023745114315628406043713283593446165370437145375782056910338951675065017066816024484728548165083439159169572279971678101137941366294442926048227362200803975540502508711520403105296240250124383836080584687507917510315102013497075997481059068385918206160100315344223078211537051292742956146986509050968139266437913437668904027134908859995940178837503118560928026999361172555684472392040120407102767058083134556941337884559928881608404092704279645735712604536293038021677341329358902348617189463000116966532702496681979905445918751105753270164283604406270196047876396177173181116973879257325179144450188528275753847345549792437616451087059820433629648406785085783919708237435606858667358454574427905539940503963134777188566708606125261440093255591104500948215903171259200888471654944870665367896627519550124740490128714213899305674177594099406497256627020668116270873958201004713841772856918965031197957750139952941495838250421425136000476391799496482573663952572109884206524128474659228584759401786125257533760990933716628954445069943545205907712564419041750508457540321933675211723737838141534116347646466284763782659170941282748653971927576876430246137936660346021574228565613139407652327493880128586669988881237051520378799574515834753041037649386278836749214524971294705823518324691986780625868053779433356049005132315746900670752928382881579253664887127440002637564580276023344757335948939317550516603361559983538941896520050169683167051149417683117315239144469288534908590039575199827728248758012647392661831108143165876105058373501304766009440426738810619862391460613853820002893091013256297980614959851840707839241900213581860181414636 6221562898386326486797525245590974111234619500600834889912211592082731350538924926130039236038056220519448337187260080674722449368640556970468809465625120488914105726740279218994159778398814407211831737006767867591835990424117649135020998051295441774686213554853983107332541045319376326856731055455975097822741819517109544880730666241122613292242327482180018270214205115446412569548335779997617631078349687099748326241674384550241913945012749221624331871694006168904975514220073362135601523269285228937066757544227908126223625211995857662165788479395102520054680860662804854268316269394663049531639336684988433035553045573352730238884543808171175870371532816463496894923475588223928851620968173595291451708417349672388400169991440575727213266069696182711696935868705144865564416258636817722655094988785047952957415389923147220685110011577676897730364326454126890826535841115317090691927410336019954875898850115279436766130340931269527775746708007902748805928301373798117247668597585783412049001602261271467034659119992259935562090049068620270910930756870622103087576132088213534362452540652654094926743302540556871771973470073876540272347745540423800534127834896404423759142053162288268361926482705471012471578776564589794796078609643243584501032747780154021573194237811611445631402673049532694743992970626297583593224746820735325949414700459123393843130118922006813308471646313008896163338878520195661957117789110104612593027652084110422372021638166908027748863555606212749929284024301637255348889613748716777071627219961585781576603316858723129530624700061091016250167004176494218722172759512194578084503531591083481144326518488657022038907368705334440492845118164213166891794935937118681700170911757424779297445736624851156000147053438512832927894785687310004390037790912174781039855751006085220574768960523443243739968873356188925854430790712844053106710983069615342244419625211585048076356157446448967876700156139444808601423387450549711855639514667633790270193181632133287540188060661264929125034657337238967094986816244462150837311704455287749375213421818346256046983093978109729405844380646710082367407774914065381516215932818589271403066187062912802597597931485008211624029173371875507180808317873927925678724424595875284794996305726182620265460363945857537966411998289597811583925242212403519553364974634873799369720251576308265381674369132923254169754318173269054269455874399227741327069300663060896535576294384086767632825778541814276808007794619742987226243319483980965633784280812373743206823039811807217819211846161245223604408646066061705347579495668817970724246235854884259680384157797093556205383812177718604847710540635466099763330580547238015673424101950972358568866617091405933147592741818173275544332041774416019361806449333888547031658346786113416781533607516721537444347784089476778639133991752826697364231285253133887747243207038160898373419164271506815119029248191101864418809525104632524290935059745681751123604894263194934692401559220916059385227569154879140253944220122291720891811909511174219445898643412223054094327221880849226299993918599598990616055671804398236137270984575406888024437923260983031855662867279919917295635480628739082427225795705313112706698098960148977534799996785026220937627558396424467910232017858281349047006328183817762848702311559676686486988987934346300963053445490108040762943451566343952048506192173280672219630601047058793314995206979125269568696331730465655270947339861769015565903093461006289235530394115900944112432332108078478798450726132937755133802193574440369806300559629937402284025221815235230840603371330521412203851670602804417106064507554827863805987975349347697809677757889710224518774415345201010474499103375641873102869777203823300968091022861174347799656741341577034068383123956865350156290125673204362047912156711953512896892946000141036373655604811093247994042343745674485056175692338628335387463861301190892871382327327390866791933196558830844399754436431658391007093638181843003075156878274720035541902191836595561319155287094382951367204835935705031640170039056635830394138982443 10066700232734384575383732725937210251093049308192979283736960127943789769258866411008417766088047551820550601556968723137295740993730412772613529833446760346025699985447762454270996978113476972003007990703729535889908289169916258520641940947660344970860179868168909190588464424503979315155175776178819145845448965197397929264861311497740150441469345466162014657499939151750996483827575554703094127646582675925052133593670222511009866302938184807418548623611372956547881681157616054911817600478848080583516012023263759358821741030426111910131094461897104173546393408880620355881374605364609416225332264721439884243642212442781994086504211198760697342070671628880982599122572028486732927338044388466694029194547206565129304478078995532533371109257578003674953961033417312923244617890707884834242235585605121626035448886252518194602328392324432460277002433817903327375944051841688718100087148490068910749116145694974594372068509517399513992908787408020076172826717982987617947553233279924227501162872151137852235539377371039262149958412235704932082820130408213088944619852420868488532113957050375820109323956805017655222393762709952725217526966002231411291761364842488033094639514282782690014210383264479718983973259401851510786291935607540581271651023356064437482145610923826320013199428245064827701092147715415350267381071182592645030684230228030135671404693767181701811428055940023093091497400292513735501429269158252939430334932936852713968028951287572379383669725010750076320223099724936726440108880558871231356049610233558514862497457505947786597344649528876566454899213153113809813788140507962349630492595100210703875816233045095147056000416377857428895173893657949186545346345967061760630880262001261096727738460324320501275353170407575054951907543649929534817670497113077283226122630017998279275944521941117080925170149262126756625674800516835868190525204189813442749819233688658035971332439090566275471271031369930646995982928551943997711580414860295031758499931474641295768109860489136760601949906803307964792306336198163669442739421273521027436627486291950549474573148412426120954252123227014723185825294965072610365384143069718640342520612511535349210685653304896338116202286978076384987379064987203542520593403419702633235129720034409633454266228970047426896525483225313202391793088425721638696387493406915378739069771420791786459481844181004099024225578390646074152228572955338604199038890128605046644242871407831881948454184585527560401453959990180132602025376394319917308849297879189767691551587976890656978381418441216901705546587432356148273627723031018774699786738363595780083489454037343680589219892762406112765220855737479596839328061606306401591630262051287702791944828628457225890548888804682326512471308212329457030710476468797407027598525623616535342461634516082710000032256481516899046236758810909831921172623137693816628851611130865178019154876876043108157050925532431223321158142294095524407901592448178433103510340181946040445671723504520465655423617031275317427125337096170978216991053961362747721652490757772846531943672967909046733623567006384076399975380041833842995938343029981315929977863764946166632851433988526042557075573884330186928174011608484371907586570615093848200167893412545771062368048525138681809537692035875448453503584810838430964973185517877691200830760791265265994251403240247993704439289816765377184506668565080168702204264999630903199201731107599928797281091132251780528481100852702732194857538530949834441438106680319985862940789648400412473662449870775896667918541220906654570083218800878685032679193742812107270849509267181758225425899168417556513716835048707992392657964230584749330056557464226059271815452994587289311248317900613167808693295528515287748716890914953781155705746473892780969053876885248231735543790560331802050549721292229536241650281949080353924172208172653231532984240265724654739342743488046018504779100445660181406290917366966066619661445316843491792416267539801556883198696555344307841166318701458846161764583297209415139158180185396207665185450895556872348009280956849412254320397079 16288263131120711062181257971528184362327668808793814173649171720026521119797791337138457002126103772339998938744228803812018190362370969743082339299071880834939805712188041673265156756512291379214839727710497403481744279594033907655662938998955786745546393423022892297921005469823355642011906831634794243668190784714507474145591977738862763733711672948342032927714144267197409053375911334700711758724932363024800459835344607061251780247950934029042880495305379125452857195377689417047419123748133309520582769567491667485045366242421969572296882941292206693601074269543425210149690874759272465756971601406428317279195258016134724325388755006931873212442204445344479494046047616710661778959012562061985480902964556237517704648070436108260584375327274186386650896902122457788809034149344702556897330574390169578992864276175665415287438403902109358007366760272030218202479892957005808792014558826088865625014995810254031138198850448669041768655495415922824978755019356785735195221830865707639550164474412409319270198497363299197712048461304325202993750887278835192032195984509082022894566497703029915036067259345574526994367232783829265489874711542655211825889199738892456853781567445070958376136865969950731455552035966441305582370545250784165772683771136218459055339848735437765644602101294597522445085118341712933860605818003327970980098930687153529514534812689188515119899702253031989254836278812709397458547058268357552023362585020963136340050589454480407132533280616962826249507124026573981788998494307588008427676830195144296439100774364670916127969349589967582705066217329608028535960900020156927714996126691294185020142751533752169094907785083191869388019011822162353437141281904180442331051173758685876025184196949171657275500223846087887879802329337239539207708288025252064265978381024083499850713482464560324665139022618315682480105591229679921297236187259428784994238858900243084047688596537015243347971187509375455597406316002493709567219929527928822028693113106774583308297921150401689726984564140546931887293152442625820280051125728808776811840908110296805521556242390535850360096503873724805553233069879137991881600075888307911745586799574448151808283584789904549740231460349951892168187382861131468199317828015577918030126025760592253719726592915904964862937481514911013975718330638125158249752468041789178108790022997100051841156213313927353193979896563915128421684447354566345526108190791665943179819165791918649581279963127341837209461754609923119828268695878300882942633578691563510898374627788697874797593264602462125309955233498417853621207218699836745424032974218480039763873611834437236794603704940124717612931396372945696602658642153544417265054364002260061360811445719863159038141630622855602056803349986745476392516925802685954059256872409729952123995242032804247444380040570993677685370750563736529285403908390827704376094818169026076392574041147549923276080173723533087739967667398728048698836652193860184227115234445140975138073282725436525040651186186154457681069557218462699108802963472536967167551134169995900626270894848758273033617485605983067016031051846232079133209327605388203954415787025929198488514301268445959852711054513069269355399807313797484614284669575242825734967890197571991999995606921563149719769709894156797500509912994656193813675497077554377687819748725611566957304848730356034467382741383109329233012860738360840921834866046689696514196938086725198365977422862717435799428440714471747760760631991956123676968500796220929975373121756478891272113176003713651801720734795347024376383778430816087316704415558047338111452880597703170429277569771221973619781342603535856198645939579932447139734315353936283790589868339788299785747421276255040911563072732338588716807913776128128955362487815469815037437000842113581891833916233536164098461878004183049138543227949221390297827812983746479527026584011399139795518435826674353892242961746851074277673244694356933411594641875674336192170703971459947890292334737187310916323196976178881703666775133804976458313467279779159032390286831261903988179320013485242648459379522 26354963363855095637564990697465394613420718116986793457386131847970310889056657748146874768214151324160549540301197526949313931356101382515695869132518641180965505697635804127536153734625768351217847718414226939371652568763950166176304879946616131716406573291191801488509469894327334957167082607813613389513639749911905403410453289236602914175181018414504047585214083418948405537203486889403805886371515038949852593429014829572261646550889118836461429118916752082000738876535305471959236724226981390104098781590755426843867107272848081482427977403189310867147467678424045566031065480123881881982303866127868201522837470458916718411892966205692570554512876074225462093168619645197394706297056950528679510097511762802647009126149431640793955484584852190061604857935539770712053652040052587391139566159995291205028313162428183609889766796226541818284369194089933545578423944798694526892101707316157776374131141505228625510267359966068555761564282823942901151581737339773353142775064145631867051327346563547171505737874734338459862006873540030135076571017687048280976815836929950511426680454753405735145391216150592182216760995493781990707401677544886623117650564581380489948421081727853648390347249234430450439525295368292816368662480858324747044334794492282896537485459659264085657801529539662350146177266057128284127986889185920616010783160915183665185939506456370216931327758193055082346333679105223132959976327426610491453697517957815850308079540742052786516203005627712902569730223751510708229107374866459239783726440428702811301598231870618702725313999118844149159965430482721838349749040528119277345488721791504888895958984578847316150908201461049298283192905480111539982487627871242202961931435759946972752922657273492158550853394253662942831709872987169074025378785138329347492101011042081779126658004405677405590309171880442439105780391746515789487761391449242227744058092588901120019021035627581518819242218879306102593389244554437707278800344388223853787193044581415879076407781639538450328934470943854896679599488640789489722790547002329804248468394402247354996129390802961971314348627100739528739058364844210602246984218958026552088107412085983501018969238094800887856433747328028277155566447848335010719911231435280551265255745795001887173992821885952391759462964740224216367511419063846796946139961448704556847859794417891838300638057494931452218205474954561202573913020309904949725147080920270989824062037199750531529734147712869397610915714600103252430294072272620800251482876570753278589926215765588531775974683043679027015501820930774001894834941730855520123819712582075819847363065871780917383823597702530830378152252110425293441986703759850818856684626053547764152756274348320384928690519427537928569274658199074933423227402271483361086855398033346487466456876548886957444412297052510576731607509374646361206576531528521521004946429299891254411728918023593031433131099255964311061125809692823573106738244642038617330625574627087015583745006229956990696074803217429775108194894314633677325794017433899714889203624927768747158214567816667319767241052612367143416006431888065922129147670635369519884393650790875365121365735256972002409786628397399456283573818922281856521871240190336673935135783610117763062363655446701831529307401930032245954013497805494624778648682595432068888650509516876832951556251970604028171822031199874706417519529303441009624039131046320599713398669194325127163258513994969216327909541567174479955618170522905958118406607476540915838313911404879303745775625874489548469639276016253678946466997231694772349383609300859445382302389864884928654703468939639530133498177652243848591303903810517196469790872818162343062405321334375589096995739176868208720256368260853876465524804691081910111068234289362596006490877727361813627377706793867966149011599296412585380193509898301744222000021156399711060010824277123794534861179314720372397022062192511255683964162061323000031256087192517827984586971511261504773491031292531618757489515677637727865431358431014391597471647465175366697575737726818776336188600970334654902779776601 42643226494975806699746248668993578975748386925780607631035303567996832008854449085285331770340255096500548479045426330761332121718472352258778208431590522015905311409823845800801310491138059730432687446124724342853396848357984073831967818945571918461952966714214693786430475364150690599178989439448407633181830534626412877556045266975465677908892691362846080512928227686145814590579398224104517645096447401974653053264359436633513426798840052865504309614222131207453596071912994889006655847975114699624681551158247094328912473515270051054724860344481517560748541947967470776180756354883154347739275467534296518802032728475051442737281721212624443766955080519569941587214667261908056485256069512590664991000476319040164713774219867749054539859912126376448255754837662228500862686189397289948036896734385460784021177438603849025177205200128651176291735954361963763780903837755700335684116266142246641999146137315482656648466210414737597530219778239865726130336756696559088337996895011339506601491820975956490775936372097637657574055334844355338070321904965883473009011821439032534321246952456435650181458475496166709211128228277611256197276389087541834943539764320272946802202649172924606766484115204381181895077331334734121951033026109108912817018565628501355592825308394701851302403630834259872591262384398841217988592707189248586990882091602337194700474319145558732051227460446087071601169957917932530418523385694968043477060102978778986648130130196533193648736286244675728819237347778084690018105869174047248211403270623847107740699006235289618853283348708811731865031647812329866885709940548276205060484848482799073916101736112599485245815986544241167671211917302273893419628909775422645292982609518632848778106854222663815826353618099750830711512202324408613233087073163581411758079392066165278977371486870237730255448194498758121585885982976195710784997578708671012738296951489144204066709632164596762167213406388681558190795560556931416846020273916152675815886157688190462384705702789940140055919035084401828566892641083415310002841672731138581060309302512544160517685633193497821674445130974464334292291434723348594128584294846334463833694211660431652827252822884705437596665207677980169323753830709466478919229059450858469295381771555594140893719414801857356622400446255135230343229749701971955195892429490493734956649817414991890141794270808858805412185371518476330995597467664471295251255271711936933003881202991669181111014110840211234820377469210026372258562768150921683194116455262316789488300843554286406573567947646141152325457054429191855516042160430692265547852686800555859611236677706218154178427302642655547991083648483370990044645345913395236121738990055807825513567720068183543966832150050393530626078008185820409815744328074169315146112270443076439590452118581691204888792337623504254416978259938382890491980439919349225381041247468917330804302959171142954709211272979497398801093477091551621805574896835898801557740809072227990721818288955393515736725989403584232789264451533096376434596980906436682056754759097764647784485462665425592800858538218350210432037483734298001262356998240757723838809437816804563609880036525417962262497682910468725638973626236079341136155909765579499670103673807689755062359262368264981249077111824189043454523410800150818592324179672986446576470258242488399908861100700960062639204772582984035650532390041801850545873997093010296227595607281050325529235936857686652127337982281646227716378802514862081795375108272761845813687033161358195017888801878203200271360010811600703322850775662510859666088024858906783493755270462588099083981038710861503753279520255779704789949843390449643609525188172098626852995189674163888882743160453123249631819440993192465182332718467210039066430722104832411043927878569475395519211623027404130247473477300595634518736737847523134519827834140146190587037408288522934330379615141394726289265023939362329961637406755679933442850729068192164176757675482721452663783366029718929673812712653816609569098133564819368055785114744954525729966024558080680324367920983819897551239156123 68998189858830902337311239366458973589169105042767401088421435415967142897911106833432206538554406420661098019346623857710646053074573734774474077564109163196870817107459649928337464225763828081650535164538951282225049417121934240008272698892188050178359540005406495274939945258478025556346072047262021022695470284538318280966498556212068592084073709777350128098142311105094220127782885113508323531467962440924505646693374266205775073349729171701965738733138883289454334948448300360965892572202096089728780332749002521172779580788118132537152837747670828427896009626391516342211821835007036229721579333662164720324870198933968161149174687418317014321467956593795403680383286907105451191553126463119344501097988081842811722900369299389848495344496978566509860612773201999212916338229449877339176462894380751989049490601032032635066971996355192994576105148451897309359327782554394862576217973458404418373277278820711282158733570380806153291784061063808627281918494036332441480771959156971373652819167539503662281674246831976117436062208384385473146892922652931753985827658368983045747927407209841385326849691646758891427889223771393246904678066632428458061190328901653436750623730900778255156831364438811632334602626703026938319695506967433659861353360120784252130310768053965936960205160373922222737439650455969502116579596375169203001665252517520859886413825601928948982555218639142153947503637023155663378499713121578534930757620936594836956209670938585980164939291872388631388967571529595398247213244040506487995129711052549919042297238105908321578597347827655881024997078295051705235458981076395482405973570274303962812060720691446801396724188005290465954404822782385433402116537646664848254914045278579821531029511496155974377207012353413773543222075311577687258465858301910759250180403108247058104029491275915135845757366379200560691666374722711500272758970157913240482355044078045324085730667792178280986455625267987660784184805111369124124820618304376529603079202269606341461113484429478590384853506028256725246492129724204799725632219733468385308777696914791515513815023996459792988793758075203863031349799567559196375568513804361015921801623746415153846222060979506325453098955006008446479320278557801489639140290886139020560637517350596028067712236687809748381863410995359446710741168765818752142032390939198291804509611832883728442432328303790257630390846473037533569510487974376244976402352632207922827943240191419712640748258553080632431293183810129624688856840423542483445599331833070068078227059319874938349542630689820179340958875359965857410877102161547785671672399382631679458599743577999071562250900345186378369235900593796283486632049673246054978423616109355589666323994416503928895522669477931459195352666384895343238971730345652676232967668476422927056908995130578162333204634676014831148585769313029251698556971447870746385987676768808585216031877194735986142342372235461709862219286784375194912313141477937418888366383699315006305563295185350506432800792621014007897459345847730053760390998340336396945958384025533394942700030482092912568099590830717353848043915622363923391504668876127243723203088607679928731245771782389964672284311307868181922547445158361197658027149955916173605239457417807518124722917814966812778384513754221289408536908605645443370972862268418515465120767759365232860417352671564090811026803782858742068051919345242860169913128139330895940994276475375452692494450852655868455247523848820707671996973037768039913781715749302761652000944566237498763664427752692748740999286827854382269317772894205632015471634159766228876057660327473027738684507650501033886777697908023553381253747200966840079316060990260969915400511008539477979738899629991458352075809254046341647857523158291949177498956394195007050418756296837209146589329821272096396485076597008219898930247745824878741827855296545901647048232565646728865240794456115098686287086131873585645601568817002933474106816260709992161344646993982957437274397322250548431302228331454337434529491995833759653256762210129892427541762284899456660556521954154552454018932724 111641416353806709037057488035452552564917491968548008719456738983963974906765555918717538308894661517161646498392050188471978174793046087033252285995699685212776128517283495729138774716901887812083222610663675625078446265479918313840240517837759968640312506719621189061370420622628716155525061486710428655877300819164731158522543823187534269992966401140196208611070538791240034718362283337612841176564409842899158699957733702839288500148569224567470048347361014496907931020361295249972548420177210789353461883907249615501692054303388183591877698092152345988644551574358987118392578189890190577460854801196461239126902927409019603886456408630941458088423037113365345267597954169013507676809195975710009492098464400882976436674589167138903035204409104942958116367610864227713779024418847167287213359628766212773070668039635881660244177196483844170867841102813861073140231620310095198260334239600651060372423416136193938807199780795543750822003839303674353412255250732891529818768854168310880254310988515460153057610618929613775010117543228740811217214827618815226994839479808015580069174359666277035508308167142925600639017452049004503101954455719970293004730093221926383552826380073702861923315479643192814229679958037761060270728533076542572678371925749285607723136076448667788262608791208182095328702034854810720105172303564417789992547344119858054586888144747487681033782679085229225548673594941088193797023098816546578407817723915373823604339801135119173813675578117064360208204919307680088265319113214553736206532981676397026782996244341197940431880696536467612890028726107381572121168921624671687466458418757103036728162456804046286642540174549531633625616740084659326821745447422087493547896654797212670309136365718819790203560630453164604254734277635986300491552931465492171008259795174412337081400978146152866101205560877958682277552357698907211057756548866584253220651995567189528152440299956775043153669031656669218974980365668300540970840892220529205418965359957796803845819187219418730440772541112658553813384770807620109728473892464606966369086999427335676031500657189957614663238889049668197323641234290907790504152808650695479755495835406846806673474883864211763049764162683988615803074109267267968558369350336997489856019288906190168961431651489667105004263857250494677053970918467790707337924820429692026761159429247875618584226599112649063042576217991513864565107955638847540227657624344144855831824443183088893751762369393291867251670653020155996947419608574464166639715787095386857566527902874161344923110578335961331666415929789157712926919262592240051219525086183187539069836421284217225740678202987841926360319549077167273531277395586641291100162606165163415179891714484687472862354819528324989821430674570715753054716058419821991379079938919499366647361113712269367221996972299519085565564029251412142190537411367219971767028924237725916020334836365878940851553645214959108663312763875926816717888038313836220446107192771542997027381584140744022169526782024598240686723797380826430194987979246773079002713143123298042727185493147518505368958129049067564280081399356661924653861667116884967562012526424484492341125808307807926934781994218336907561521071394440538794183059721495673275343131225497273187082180183231794027461625578410332863060319405796261963297041941404962041591026001853632769278453372524153450231576365842777718584309387044710715787125232341192168589883756425778221730387710342520582585506130466935388375775552630121709156824022064607465687977727595693781553229630895949012359297639455085592168548556716491681559659018673012369812930790061126822665546361362537640057218163803258171203590591416483688841249162359596768395700682703366862482060083114707983895250247238806830190241625501988243929678499027418094346634866312604665800952848676226643958553897603854417666985593348013261655689436692092234085640854169663195620409597509824975552110071235915607238975572682866916957545328902156338102322476704410101057763351969478105114940985270947003627625560653127709041876955084418157507786842980136984924442937974450005258088847 180639606212637611374368727401911526154086597011315409807878174399931117804676662752149744847449067937822744517738674046182624227867619821807726363559808848409646945624743145657476238942665715893733757775202626907303495682601852553848513216729948018818672046725027684336310365881106741711871133533972449678572771103703049439489042379399602862077040110917546336709212849896334254846145168451121164708032372283823664346651107969045063573498298396269435787080499897786362265968809595610938440992379306879082242216656252136674471635091506316129030535839823174416540561200750503460604400024897226807182434134858625959451773126342987765035631096049258472409890993707160748947981241076118958868362322438829353993196452482725788159574958466528751530548906083509467976980384066226926695362648297044626389822523146964762120158640667914295311149192839037165443946251265758382499559402864490060836552213059055478745700694956905220965933351176349904113787900367482980694173744769223971299540813325282253907130156054963815339284865761589892446179751613126284364107750271746980980667138176998625817101766876118420835157858789684492066906675820397750006632522352398751065920422123579820303450110974481117080146844082004446564282584740787998590424040043976232539725285870069859853446844502633725222813951582104318066141685310780222221751899939586992994212596637378914473301970349416630016337897724371379496177231964243857175522811938125113338575344851968660560549472073705153978614869989452991597172490837275486512532357255060224201662692728946945825293482447106262010478044364123493915025804402433277356627902701067169872431989031406999540223177495493088039264362554822099580021562867044760223861985068752341802810700075792491840165877214975764580767642806578377797956352947563987750018789767402930258440198282659395185430469422068001946962927257159242969218732421618711330515519024497493703007039645234852238170967748953324140124656924656879759165170779669665095661510524905735022044562227403145306932671648897320825626047140915279059876900531824909454106112198075351677864696342127191545315681186417407652032647124872060354991033858466986879721322455056495677297459153261960519696944843718088502863117689997062282394387825069458197509641223136510416656806256786197029143888177476853386127268245854123764712087233609459479957211368890318565669041080759347026658927416439320672967064464551398134618443613223785204059976976352778659767683374508606392510627946372499682963836830285621636276448998006650085315118928456925644754962194036283272653209025781511007374805149123570337796364753787836891197485565819218528436164862216297302929103333028304729555449670963557017909445259887346078586222274519004846215708901191401757877489006256449016783340955611096293687788765474667612047607395922293704270108842847529555201606975533916714149798564441393889094382815090718153016601006534501236366713560614926993896017450420818525532050660302011630201179791773639334473576470858003332944879326094528602327574645612248584183143228556483955378977587109475948671527148831437669885523629611417937057719879784918128125314979025848045366335993012211285215615032164421072371580090197891607066305526205089484068516552801736452210209677411846880582588643304791311805097998198606805846139332631622271597228011441705334269904209823477506711793761218865629695806044088244261258380148701519786636228732287570885700253371672088109584160231801230914224838562998389037833029979287643060372748590398161622938539771367369117688922293833192545217657383588697753358584467309467861486321450922123697031293178439241245870591117534154561350054011863571526834916071826811552457337792383323768157310152620566683796211691242844842220959713106166335971059501285148478047764783793937421428634893222425144765391163149813812390282669948323040443630494612074316597233339172892003483544733237993881133873419816392060861204053624923661839196203109501252840544389685800391064361589612148499446969470687367538332160674220026536417169316725284438157117556486887362298639165214310585049549127879593645480964892129002459277021571 292281022566444320411426215437364078719004088979863418527334913383895092711442218670867283156343729454984391016130724234654602402660665908840978649555508533622423074142026641386615013659567603705816980385866302532381941948081770867688753734567707987458984553444648873397680786503735457867396195020682878334450071922867780598011586202587137132070006512057742545320283388687574289564507451788734005884596782126722823046608841671884352073646867620836905835427860912283270196989170890860910989412556517668435704100563501752176163689394894499720908233931975520405185112775109490578996978214787417384643288936055087198578676053752007368922087504680199930498314030820526094215579195245132466545171518414539363485294916883608764596249547633667654565753315188452426093347994930454640474387067144211913603182151913177535190826680303795955555326389322881336311787354079619455639791023174585259096886452659706539118124111093099159773133131971893654935791739671157334106428995502115501118309667493593134161441144570423968396895484691203667456297294841867095581322577890562207975506617985014205886276126542395456343466025932610092705924127869402253108586978072369044070650515345506203856276491048183979003462323725197260793962542778549058861152573120518805218097211619355467576582920951301513485422742790286413394843720165590942326924203504004782986759940757236969060190115096904311050120576809600605044850826905332050972545910754671691746393068767342484164889273208824327792290448106517351805377410144955574777851470469613960408195674405343972608289726788304202442358740900591106805054530509814849477796824325738857338890407788510036268385634299539374681804537104353733205638302951704087045607432490839835350707354873005162149302242933795554784328273259742982052690630583550288241571721232895101266699993457071732266831447568220868048168488135117925246771090120525922388272067891081746923659035212424380390611267705728367293793688581326098734145536447970206066502402745434940441009922185199949152751858868316051266398588253573832873261671339445019182580004662682318046951695769462867576816338376375022315271536174540257678632268149374777383874131105751975432793294560108767193171828707929851552627280373985678085468497092337426755878991560134000272676095162976365990575539667143958390391125496348800818683005701400166817882031798582345326828470328634965610885526529088383715543282456065262699726399252071325431717601320497634491592126557597500144272997339664366934634489850441618583696057572470816725030906023843783211282865068197628195763787361742842673790734938281283264715627346027888110722571749006757598272586146433523043607306320870231089874998748130830549186840846528637178748828439682420026107423385878874620232308534581438838214015526326849348403847185296658991127546315421660351631222555116896777198579275053002279713827815853536079631794182310689920045525244260417256701549926493867845449662665379927188844814536228828348089218105609859780580769242401000360326463466838550771854356670210489270906940609382914150366956833882554951384670272129480397071016777129923306015848928852482408206714335687772699228003109897178847228141456648913413497388398005818541848299744541997045589587947242275246393269398907520155925719868802064498887278181430400833307764911041955134657547417237967297566946151228439548302819763072498398974259416612397711489956514544297505220538119332281601487378604013280278174043988227009135955226273340909620418536109754578448748524143028283332095363793431976583376900021428886326770887014484646765717882106764553453654870007638615378590952197112253615683521907595281384015600373226109166892134235630069723660928383799807456998559314980163452191912373946211704703019796220874319866309748523955308238006409295925665358313392249843239112026029462418478191235518624549684402184392215928734264218932520905265139234169930086115219514273986055256481613651134748637391306274345416860079519962368667308021906918514304837549291947391777639389924026189504641532110301996231441784743117140015071340516120298728742557335970859730630405407830103452464535110418 472920628779081931785794942839275604873090685991178828335213087783826210516118881423017028003792797392807135533869398280837226630528285730648705013115317382032070019766769787044091252602233319599550738161068929439685437630683623421537266951297656006277656600169676557733991152384842199579267328554655328013022843026570830037500628581986739994147046622975288882029496238583908544410652620239855170592629154410546487393259949640929415647145166017106341622508360810069632462957980486471849430404935824547517946317219753888850635324486400815849938769771798694821725673975859994039601378239684644191825723070913713158030449180094995133957718600729458402908205024527686843163560436321251425413533840853368717478491369366334552755824506100196406096302221271961894070328378996681567169749715441256539993004675060142297310985320971710250866475582161918501755733605345377838139350426039075319933438665718762017863824806050004380739066483148243559049579640038640314800602740271339472417850480818875388068571300625387783736180350452793559902477046454993379945430328162309188956173756162012831703377893418513877178623884722294584772830803689800003115219500424767795136570937469086024159726602022665096083609167807201707358245127519337057451576613164495037757822497489425327430029765453935238708236694372390731460985405476371164548676103443591775980972537394615883533492085446320941066458474533971984541028058869575908148068722692796805084968413619311144725438745282529481770905318095970343402549900982231061290383827724674184609858367134290918433583209235410464452836785264714600720080334912248126834424727026806027211322396819917035808608811795032462721068899659175832785659865818748847269469417559592177153518054948797653989468120148771319365095916066321359850646983531114275991590511000298031525140191739731127452261916990288869995131415392277168215989822542144633718787586915579240626666074857659232628782235454681691433918345505982978493310707227639871162163913270340675463054484412603094459684530517213372092024635394489111933138571871269928636686116860757669724816392111590059122132019562792429967304183299412318033623302007841764263595453560808471110090753713370727712868773551647940055490398063982740367862884917406884953388632783270510689332901419762563019719427844620811776518393742202924583395092935009626297839243167472663892497511409394312637544453945527704388510346920616660834344842865295110635777578296850413151359809932106106536783625286036866617598326680727240219972506570477466810346024952300708856037827262233911468416996387524353681165540087404853602511992099815725001920057314825976126708751008649820346536409653898535819430448419094387567096286106415983257335050714201424872323132287070276378109797540837887854997356481937945642091635950771326603175153711343954055901331397964426332400186250586918993863626380294929968726176997401408073062126250794918493068263487108794839345680115800745714376865196530839978290397897383499115054345713259003693271342792933079374181931315822737855090083837939398105745934420992030900056197420960918066956540406741341243073568808637400536332029314713620744594339102909390132443756488813334485868968488203710148914605270747086529658104500044011698603479076319367036508308512106855810692376179629007639153904243673577406254775428679672631836850361051917055014613524291364028670065460700641972748336663245817291856766851619852487187631975685368387758204220028240050180064836339298658251566089042221509121272733426444955033903564799345701065822315262078871988544398073344519076466574074021315141191458560739075622245375551494861554113025129435945365654385089680693727050307456881276118266176183131225155869467600730135988124065189056546923979509327040655837369249809103786285771193089863086786948285472268383877417192612232290581518188572872724845814886828003050861452271693797268622778903168079996353387693802447317342817704759672299230502477454918112920064352054467699086268508126453336996261418079145177722084700409531177949279618721515879941860673626902433639155285513039327606885098739324275886372722232454923812131989 765201651345526252197221158276639683592094774971042246862548001167721303227561100093884311160136526847791526550000122515491829033188951639489683662670825915654493093908796428430706266261800923305367718546935231972067379578765394289226020685865363993736641153614325431131671938888577657446663523575338206347472914949438610635512214784573877126217053135033031427349779627271482833975160072028589176477225936537269310439868791312813767720792033637943247457936221722352902659947151377332760419817492342215953650417783255641026799013881295315570847003703774215226910786750969484618598356454472061576469012006968800356609125233847002502879806105409658333406519055348212937379139631566383891958705359267908080963786286249943317352074053733864060662055536460414320163676373927136207644136782585468453596186826973319832501812001275506206421801971484799838067520959424997293779141449213660579030325118378468556981948917143103540512199615120137213985371379709797648907031735773454973536160148312468522230012445195811752133075835143997227358774341296860475526752906052871396931680374147027037589654019960909333522089910654904677478754931559202256223806478497136839207221452814592228016003093070849075087071491532398968152207670297886116312729186285013842975919709108780795006612686405236752193659437162677144855829125641962106875600306947596558967732478151852852593682200543225252116579051343572589585878885774907959120614633447468496831361482386653628890328018491353809563195766202487695207927311127186636068235298194288145018054041539634891041872936023714666895195526165305707525134865422062976312221551352544884550212804608427072076994446094571837402873436763529565991298168770452934315076850050432012504225409821802816138770363082566874149424189326064341903337614114664564233162232233193132791840185196802859719093364558509738043299903527395093462760912662670556107059654806660987550325110070083613019393503160410058727712034087309077227456243675610077228666316015775615904064406597803043612436389385529423358423223648062944806400243210714947819266121523439987771768087881052926698948357939167452282575719473952575712255570157216541647469584666560446542884048273479494906040602259577791608117678437968418453331382009744311709267624343404510962008996582738929010294967511764770166909519238551725402078098636409793115721274966055009219325981738029278248429980474616088104053629376681923534071242117366436067495179617348047642951936489703606681056622625701233552232816531168858803668564142948283535376930976144492067320692330431539664180783749267196354956275025686136867227619445843613112642629063832733724981337155083343390143715974768766909305447167225218116283126952944620436083879153883844898430555672949150998342106075419326693211372008264794990495483136067985594302700026765614407532553953081323109598765525639921273577454196148466048357971179712097993107651495055335749769813413602662684795342781180672903221679732759668326379616002993358895635114955660004053597806259771630146036287986033227125997024447322312256112891254874585851440867693090398464027557183871264549089417737489882944538743650401393443822342212806568979671897945462247899366356886209528690762905015289083575247692447286286944996748475226887192434028380908920309579654361059408472461669154715532540912322845917639929403796512280356603317433287363862427644324877313039684238293177790114797077304970952134088675010579698648665932248208255249186135291109680208278670102198796799957869796876454728287129267358231322284442722336690965198759431412557991284794348680838574768796061466199354454213197572663748477237634932724717329381254758315789860619184543086950999779194559982938682154428782580893588180036439135268251626999305547914975703678998333059094523777602385788752145261677722111622989443222074650768772753707197422409247999279043931785125671204214702533762013073098166111572901967788502573824431355894420936621808751800334972999584314423135007108175426640758174545553365470922817112008726599035819481389920717747321726603790766917504979671405811768070164221069599054906291780552335907388347242407 1238122280124608183983016101115915288465185460962221075197761088951547513743679981516901339163929324240598662083869520796329055663717237370138388675786143297686563113675566215474797518864034242904918456708004161411752817209449017710763287637163020000014297753784001988865663091273419857025930852129993534360495757976009440673012843366560617120364099758008320309379275865855391378385812692268444347069855090947815797833128740953743183367937199655049589080444582532422535122905131863804609850222428166763471596735003009529877434338367696131420785773475572910048636460726829478658199734694156705768294735077882513514639574413941997636837524706139116736314724079875899780542700067887635317372239200121276798442277655616277870107898559834060466758357757732376214234004752923817774813886498026724993589191502033462129812797322247216457288277553646718339823254564770375131918491875252735898963763784097230574845773723193107921251266098268380773034951019748437963707634476044794445954010629131343910298583745821199535869256185596790787261251387751853855472183234215180585887854130309039869293031913379423210700713795377199262251585735249002259339025978921904634343792390283678252175729695093514171170680659339600675510452797817223173764305799449508880733742206598206122436642451859171990901896131535067876316814531118333271424276410391188334948705015546468736127174285989546193183037525877544574126906944644483867268683356140265301916329896005964773615766763773883291334101084298458038610477212109417697358619125918962329627912408673925809475456145259125131348032311430020308245215200334311103146646278379350911761535201428344107885603257889604300123942336422705398776958034589201781584546267610024189657743464770600470128238483231338193514520105392385701753984597645778840224752743233491164316980376936533987171355281548798608038431318919672261678750735204815189825847241722240228176991184927742845648175738615091750161630379593292055720766950903249948390830229286116291367118891010406138072120919902742795450447859042552056739538815081984876455952238384197657496584479992642985821080377501959882249879902773364893745878872165058305911065038227368917652974801986850222618909375811225731663608076501951158821194266927151196662656257126675021651341898002501492030014395356385581943427912980754649985473191571419419413560518133527673111823493147423590885974434420143792492563976297298584368416084982661546703272757914198460794311746421809713217840247911738100169831143211896099023641070713425750345722955928445200923358519592665451132597780136791550036121815113090990469739611545659338114562686378658709851690088163733163736680125628667302728735895586319605683379413059360603693418929868085269770753687960019427376451903616257214548208728490202740632587119086839312197477853738109568463433885351045749441998951776226840267441080576443396017084148177113506066169777745850254242838076900711457524141022896981418617598544929290508304670013900376858010689460668919007746869149052704709520218219301855964981087108285261710361858825675866616751497065114051316530984097590612605792162986546127283480870772965115014188416681315715959112115654434275582385235325374413238839677510286036170104905796947330298643600227551546254228942336893015776120272030540688416111615573398389109947167098274597312561240646873332273658332046811655226456314390338013681656986629841035932088934071822571986575862642555384017053690452428283489236315355946019506936921668287839021466991069609881173242163170923030667985508544651953044070747975810631335803870815254912596083937252924760093529835442948215243338791747957854153274746909143405470554346234850543832275897460736166069907310298250181623724168160504324324798550978814874955631541048248142162880809548795475651838932209963194380006866860414686883059354271895770295134093814165871934835987123475908499802384791976266246107926289661590949891167249060654093235852311229255253085919648666477602706194443934767211511541814783550067994834093427008566997430669539439263201668464464393819938618826691324807397771106168338379182178153274568362312159374396 2003323931470134436180237259392554972057280235933263322060309090119268816971241081610785650324065851088390188633869643311820884696906189009628072338456969213341056207584362643905503785125835166210286175254939393383820196788214411999989308323028383993750938907398327419997335030161997514472594375705331740707968672925448051308525058151134494246581152893041351736729055493126874212360972764297033523547081027485085108272997532266556951088729233292992836538380804254775437782852283241137370270039920508979425247152786265170904233352248991446991632777179347125275547247477798963276798091148628767344763747084851313871248699647789000139717330811548775069721243135224112717921839699454019209330944559389184879406063941866221187459972613567924527420413294192790534397681126850953982458023280612193447185378329006781962314609323522722663710079525131518177890775524195372425697633324466396477994088902475699131827722640336211461763465713388517987020322399458235612614666211818249419490170777443812432528596191017011288002332020740788014620025729048714330998936140268051982819534504456066906882685933340332544222803706032103939730340666808204515562832457419041473551013843098270480191732788164363246257752150871999643662660468115109290077034985734522723709661915706986917443255138264408743095555568697745021172643656760295378299876717338784893916437493698321588720856486532771445299616577221117163712785830419391826389297989587733798747691378392618402506094782265237100897296850500945733818404523236604333426854424113250474645966450213560700517329081282839798243227837595326015770350065756374079458867829731895796311748006036771179962597703984176137526815773186234964768256203359654715899623117660456202161968874592403286267008846313905067663944294718450043657322211760443404457914975466684297108820562133336846890448646107308346081731222447067355141511647867485745932906896528901215727316294997826458667569241775501808889342413680601132948223194578860025619496545301891907271183297608209181684557309288272218808871082690615001545939058292699824275218359907637645268352567873695912520028735441127334532455622247317469458134442322274847558534622893929364195858850260329717524949978070803523271725754939919577274525648936895508371923881470079532613350894585240421040309362868150352110337432219306375387551290207829212529281793099582682331149474885452869134404414894759880596617605673980507902487327100027982770767937531546508437263682911513319898896870537439333722063959743064957827309634856374033881099886904589692990679211923096990796778563886058746391078090138777127336967230991502951227205315442491443576671425318816507126823841603436069638041342753544823799662540012305224129502809021969114669184243632968578374794009691676541241420100498467535623082602222907297791780553764875182870966439304127072551597717301866761541018534772591862065442119356825604059277429240905589992607890314314120208936365678162091520820224662050176631049629903370216906324575624579011800466955312476339666254507287889192107084132732584022617971716930741202602937932807141714995011654774483870341252404283617166425409516615516407632239023528522528091787552379737830284601682260622767530440415301325253680153489394616585588596976026773141421376365273924696429851684901747824584077242553104642488079421120514952490644443385612630261649480099019088883958715215326721341224923018826046886011376793524120664537653135082665719622700636538738422450647055699715215591770486635821424860866486335901529292438281261990269951266988644009269507407223189327088665163935751170852733314390959447984048640520878991816029382890578870604128163901721260414965419393630783275676655296149008589464727032762517312348196943459593050177978120422870607244727246475221975333326397861440591077471640916491629856303636761533828127025602967717543341813444915866621112794680123202336146805049364412219499191629379452464991680416548514172474119981055588058919232980900737713302619361407969686087368149020990811946102153607602816912059460157010523395068255160737443598498097136575467935327237937434088469933826904269700506616803 3241446211594742620163253360508470260522465696895484397258070179070816330714921063127686989487995175328988850717739164108149940360623426379766461014243112511027619321259928859380301303989869409115204631962943554795573013997663429710752595960191403993765236661182329408862998121435417371498525227835325275068464430901457491981537901517695111366945252651049672046108331358982265590746785456565477870616936118432900906106126273220300134456666432948042425618825386787197972905757415104941980120262348675742896843887789274700781667690616687578412418550654920035324183708204628441934997825842785473113058482162733827385888274061730997776554855517687891806035967215100012498464539767341654526703183759510461677848341597482499057567871173401984994178771051925166748631685879774771757271909778638918440774569831040244092127406645769939120998357078778236517714030088965747557616125199719132376957852686572929706673496363529319383014731811656898760055273419206673576322300687863043865444181406575156342827179936838210823871588206337578801881277116800568186471119374483232568707388634765106776175717846719755754923517501409303201981926402057206774901858436340946107894806233381948732367462483257877417428432810211600319173113265932332463841340785184031604443404122305193039879897590123580733997451700232812897489458187878628649724153127729973228865142509244790324848030772522317638482654103098661737839692775063875693657981345727999100664021274398583176121861546039120392231397934799403772428881735346022030785473550032212804273878858887486509992785226541964929591260149025346324015565266090685182605514108111246708073283207465115287848200961873780437650758109608940363545214237948856497484169385270480391819712339363003756395247329545243261178464400110835745411306809406222244682667718700175461425800939069870834061803927656106954120162541366739616820262383072300935758754138251141443904307479925569304315744980390593559050972793273893188668990145482109974010326774588008198638302188618615319756678229191015014259318941733167058285477873374684700731170598291835302764937047866338898341109112943087216782335525020682363204013314487333153469599661121298281848833652247179940143859353882029254935333831441870736095719915864046705034580138596754554264692792587741913070323758224535934053765345200061025373024481779248631942842311233110355442972968032876460020378849314903673089181581971279092270903412082689529474040695445744969231575429333323033116737118449177433891895102954961056850950705569799784226822842833034893914037731515762441929376344022850296427199905251868117806706842537162289341768001821150153428361513482549670863503967232103372366777238339864429483041953071665827822921738890054384439937931592988005751245913307933755789628828988670276255669721309746609989258407502984751334400324655172821993596669078093601808459615349035258082526267533939110125447206986755844235445967215025577733077388575143510138418769591340684935719643803747074917014036293498019547336104365181049186472726589745157088171241017845732979830542606607819354434997921193031525995752365096476133415390829744449906280289580631421820655704844238487203903206814013412669837007635036006370117925587361423785059286341946884232197203578319395650318702166940472550123715442436240695692815951493752435246519395112265051885090258944903919981526910674315340273105553340402998211552859861978974945448616096107240400295690466682773313153064822227658766003001719222152513438774474842891851936096217074771455609204292658255459811640597053340255383033820662892535979190663766936670567315719541513884083469094235154821130848433023878875073045126730969311654244174615551574116032315078496775025282944141036516357447783917848728956935297826238785775494617384856142875193337092430009681604110871636723164051448416887481297498738012677435627610787801457099918156031702138531597025630658327425481290970402356158929477202607408326431210310841144838881647378340419497063296175181197629182932571058806780195580616169814342728999596273725063532719554557382217324788461382865706433406275813270648087101472632012665991199 5244770143064877056343490619901025232579745932828747719318379269190085147686162144738472639812061026417379039351608807419970825057529615389394533352700081724368675528844291503285805089115704575325490807217882948179393210785877841710741904283219787987516175568580656828860333151597414885971119603540657015776433103826905543290062959668829605613526405544091023782837386852109139803107758220862511394164017145917986014379123805486857085545395666241035262157206191041973410688609698346079350390302269184722322091040575539871685901042865679025404051327834267160599730955682427405211795916991414240457822229247585141257136973709519997916272186329236666875757210350324125216386379466795673736034128318899646557254405539348720245027843786969909521599184346117957283029367006625725739729933059251111887959948160047026054442015969292661784708436603909754695604805613161119983313758524185528854951941589048628838501219003865530844778197525045416747075595818664909188936966899681293284934352184018968775355776127855222111873920227078366816501302845849282517470055514751284551526923139221173683058403780060088299146321207441407141712267068865411290464690893759987581445820076480219212559195271422240663686184961083599962835773734047441753918375770918554328153066038012179957323152728387989477093007268930557918662101844638924028024029845068758122781580002943111913568887259055089083782270680319778901552478605483267520047279335315732899411712652791201578627956328304357493128694785300349506247286258582626364212327974145463278919845309101047210510114307824804727834487986620672339785915331847059262064381937843142504385031213501886467810798665857956575177573882795175328313470441308511213383792502930936593981681213955407042662256175859148328842408694829285789068629021166665649140582694166859758534621501203207680952252573763415300201893763813806971961774030939786681691661034780042659631623774923395762983314222166095367940315206954494321617213340060969999629823319889900105909485486226824501441235538479287233068190024423782059831416931667384525006388958199472948033289615740034810861137848384214551314791147267999832662147756809608001028134284015227646044692502507509657668809331952832778207059586381790313370245564800942213406504020066834086878043687172982334110633121092686286164102777419367400760575771987077844472124104332693037774122442918329329154783264209663553685799187645259600173390739182717512244808632977291477668839112244836353015633988986616767613959062698026014678260340426173818107922729737624586904716943438859432726154907908909042818277995390645245143674073528665240568973317263641597005032938801366177990327808835539442004818581093409253282704493083971051952424547912023499109122175225956584126039922999610297031048929487137811878752323532653907781038961267859934205366763959299894545194386379960363349478150121627120147968386890764714184724636227661434228053857529339697942013754253305601659238994253390861566769273707117291823338611918077031347803059677657388852727233877634349195255373750429755597802259537349021957372930728334746521007407139580346474667795113361616331689806196147829452894728372761015295690759193751242954438689895658773900558340888686677465212775736563469820794179605092537071695067440865168979975400344184065279770058504598394923325940515627217542529533644557534181631007009693404224231820768667124339436475878688025860956825409620227904937948825549348492935853701360966081216650057418937368105209261110664316712802582552976300748047485554648525411078629241062609762790257009989981201143126414937789403881706678989497932723989973226970850513739011894483003236946847991384277073637805398827250771328464087086239752315706658348864554391243510898906935055720696846030502741092606831476201591198533021087153245027363266579467688209950715608323101705730220777441055703668078212712836154904474678402074995070546924672920349854821150609893751121580800551191366429203758114628279078132799682657583150883716551081592049618726297734223772631254788459753284248458600974715294825815822885597958333641760644213247359118020928376901713172608002 8486216354659619676506743980409495493102211629724232116576449448260901478401083207866159629300056201746367890069347971528120765418153041769160994366943194235396294850104220362666106393105573984440695439180826502974966224783541271421494500243411191981281412229762986237723331273032832257469644831375982290844897534728363035271600861186524716980471658195140695828945718211091405393854543677427989264780953264350886920485250078707157220002062099189077687776031577829171383594367113451021330510564617860465218934928364814572467568733482366603816469878489187195923914663887055847146793742834199713570880711410318968643025247771250995692827041846924558681793177565424137714850919234137328262737312078410108235102747136831219302595714960371894515777955398043124031661052886400497497001842837890030328734517991087270146569422615062600905706793682687991213318835702126867540929883723904661231909794275621558545174715367394850227792929336702315507130869237871582765259267587544337150378533590594125118182956064693432935745508433415945618382579962649850703941174889234517120234311773986280459234121626779844054069838708850710343694193470922618065366549330100933689340626309862167944926657754680118081114617771295200282008886999979774217759716556102585932596470160317372997203050318511570211090458969163370816151560032517552677748182972798731351646722512187902238416918031577406722264924783418440639392171380547143213705260681043732000075733927189784754749817874343477885360092720099753278676167993928648394997801524177676083193724167988533720502899534366769657425748135646018663801480597937744444669896045954389212458314420967001755658999627731737012828331992404115691858684679257367710867961888201416985801393553318410799057503505404391590020873094940121534479935830572887893823250412867035219960422440273078515014056501419522254322056305180546588782036414012087617450415173031184103535931254848965067299059202556688926991288000228387510286203485543079973640150094477908304547787674845439821197913767670302247327508966156949118116894805042069225737559556491308250798226663606373709202246961327301768097126672288682195866161071296941154497733945136525927893526154754689597812668685834862033142393417823661049465965480664988918441084158663588641142736479760724247180956879317222220217868122619428426133600253766326476414966415565803393217095410951205789175162113524567226774980769616538692444294151265407041718849328423036446900414541578159386132371107435794201505854165652987071529211045995973602334745572570659480818754674954621874655531251931759339245477900642513362950380916065827529910741319084791750433394452283915848853831776067642814371595819433273682765746446155636879775346286802077883549060106818944589877285836307544052820677758475808088134422044842400517770297368770844685539767088614472716538791055458053965157937765470662378230494654424703824310171843214417278463499824744365275675091142828449111797657763844731546502488917510864366740352648211575050895139164042838438039199960467379506283426614768275488577632802143956841311807928649527778047003159504676822608083185943106066237970095776779251273550433216999502499593966007764655624275697530694780270676266476048101250272062078510354052991383183411932722013769607805641530099115786620305975462874456092147358572459910739482594414623903502438101612533920367719564504926322007527337648028738550004835902274025716335145338244516016031266249006766183193739982653059138159520618648035585507208564738678770051072203656689847306780870890269838115950018173290830652873737122317078704726074449022398531011816807459067462125671644587444918361878309991974722353588727881980014378824887360779165583014777598650799385380911839027428747635891991018523084816278235709991687619076784535625451096834849138234903302631739658367603089620600443742898213068666491469535312630992186606613209999100625728874350154211320257177309539370953728989126982401677270348596996275657418552296745953758332081345734014163108425506493314839942445597517459349557973522133694269852208033147674059341199348194050489060629766108029849533725838599201 13730986497724496732850234600310520725681957562552979835894828717450986626087245352604632269112117228163746929420956778948091590475682657158555527719643275959764970378948511865951911482221278559766186246398709451154359435569419113132236404526630979968797587798343643066583664424630247143440764434916639306621330638555268578561663820855354322593998063739231719611783105063200545196962301898290500658944970410268872934864373884194014305547457765430112949933237768871144794282976811797100680900866887045187541025968940354444153469776348045629220521206323454356523645619569483252358589659825613954028702940657904109900162221480770993609099228176161225557550387915748262931237298700933001998771440397309754792357152676179939547623558747341804037377139744161081314690419893026223236731775897141142216694466151134296201011438584355262690415230286597745908923641315287987524243642248090190086861735864670187383675934371260381072571126861747732254206465056536491954196234487225630435312885774613093893538732192548655047619428660494312434883882808499133221411230403985801671761234913207454142292525406839932353216159916292117485406460539788029355831240223860921270786446386342387157485853026102358744800802732378800244844660734027215971678092327021140260749536198329552954526203046899559688183466238093928734813661877156476705772212817867489474428302515131014151985805290632495806047195463738219540944649986030410733752540016359464899487446579980986333377774202647835378488787505400102784923454252511274759210129498323139362113569477089580931013013842191574385260236122266691003587395929784803706734277983797531716843345634468888223469798293589693588005905875199291020172155120565878924251754391132353579783074767273817841719759681263539918863281789769407323548564851739553542963833107033894978495043941476286195966309075182937554523950068994353560743810444951874299142076207811226763167555029772360830282373424722784294931603207182881831903416825604049973269973414367808410457273161072264322639149306149589480395698990580731177948311736709453750743948514690781198831516279346408520063384809711516319411917819556682028528308828106549155525868229151753573938218657262199255481478017787694811349453004205451362836211045465931131847588178730422728020780166933706581291590000409908506381970900038795826894176025753404320887090519898496430991217853869535118329945377734230780460779957261798292617684890448124553963657961400327924569253653822995739148005096422410969119813228351013086207471386422147420442668302308284067723471618393481307381686159840668382063755896033158608094054989594492770479714636348433347438427391085282026844159584903182256376414400526682936048450939239607931727770834714101382658182282044901174003325759307154349851726687962945900013174368375054425551336330038704619745133852573772611083985441838014328507415915592289498378463041315468538494896479442078712691553682273704973617104897081754713456896758098122408069258191217981658563691260129652082242942223720495826891927194345013855478681988518705244175435061681305863269180859377862524568010566644257169082750981056467682569659901972927080726445161589760517795284725201515898578714387426353554171234607364734778715484837815073823873785562788504469793708837048670810510074516130804371255232932960690542281898400426366700136944157548059972283243540930061123788736747090674651677084504617238030696859099435336563050276193341565379759184860467544159821199303116557096888723857296696171525277541261323027372951704175401955306281968899079178559780963547840642854938265443493642515478330729077520509749531449040689096522158326456812844881546938822713737865801519785413206075658689243252669254529914357457734245466230270939646542827046739219930846780976802598519095278375734158472183988094165598169882099427868318318697943702149473118990509722195137613525343828341511087888401175620799421274827131670111998460149264704850569927533593043699552355110903936496685096428611341482965062285095755158044232791049063715076852305919102842221980734668985147033848970559657299532989954694702307988884128958226435439011207203 22217202852384116409356978580720016218784169192277211952471278165711888104488328560470791898412173429910114819490304750476212355893835698927716522086586470195161265229052732228618017875326852544206881685579535954129325660352960384553730904770042171950079000028106629304306995697663079400910409266292621597466228173283631613833264682041879039574469721934372415440728823274291950590816845575718489923725923674619759855349623962901171525549519864619190637709269346700316177877343925248122011411431504905652759960897305169016621038509830412233036991084812641552447560283456539099505383402659813667599583652068223078543187469252021989301926270023085784239343565481172400646088217935070330261508752475719863027459899813011158850219273707713698553155095142204205346351472779426720733733618735031172545428984142221566347580861199417863596122023969285737122242477017414855065173525971994851318771530140291745928850649738655231300364056198450047761337334294408074719455502074769967585691419365207219011721688257242087983364937093910258053266462771148983925352405293220318791995546687193734601526647033619776407285998625142827829100654010710647421197789553961854960127072696204555102412510780782476825915420503674000526853547734006990189437808883123726193346006358646925951729253365411129899273925207257299550965221909674029383520395790666220826075025027318916390402723322209902528312120247156660180336821366577553947457800697403196899563180507170771088127592076991313263848880225499856063599622246439923154207931022500815445307293645078114651515913376558344042685984257912709667388876527722548151404174029751920929301660055435889979128797921321430600834237867603406712030839799823246635119716279333770565584468320592228640777263186667931508884154884709528858028500682312441436787083519900930198455466381749364710980365576602459808846006374174900149525846858963961916592491380842410866703486284621325897581432627279473221922891207411269342189620311147129946910123508845716715005060835917704143837063073819891727723207956737680296065206541751522976481508071182089449629742942952782229265631771038818087509044491845364224394469899403490310023602174288279501831744812016888853294146703622556844491846422029112412302176526130920050288672337394011369163516646694430828472546879727130726599839022658224253027776279519730797302056935464299824208313264820740907505107491258798007235760726878336985061979041713531595682507289823364371469668195401155125280376203858205170625667394004000157736682432418121022777413874878943548542226293348103182037217411772427721309233796675671971044435905660320300390455955433225097871821843369197875697991360970825070748010219959956618814197385395244811503117121516179266207242388863845763880611595614698402672404446438753988147596413217454943321633698809549305284900941188245327622776497296068293665353681062951876608957695740172362805068322656495991155053507018070249292196039910203825254554521942853954571747108728846025304043908341227133138081387763334264931127154812393361762108603286980732753067863825262704580988788027390302615013726148933991690834166999573748807629997749706331999995594806760020294878691209280554202990084957048334441910873840782879965756899893584177926776945971916402515722606656476452040173631917424677230695807416782689640470860337106182731358781451562410384856074850428843353241673412682179014732533355788035532761373461052898195614437857581411025433867233727353561181956175695256409342505332281678733842279940093078445155360865249262087152859168917294509799136838671295728675387760572347241552779751476051521566338908108151222193802913901731206759856930797436091454529401765427584900546050022418252269307513008257119626378069298368394178719037757743015663059212512590206714355160269783923280822943303833073184731167526685921787564302593216017203578388686607148837974820528117701098400276246528295624981342990369175769688635658579559054515994720969900952107179593915237393174565099815046408019109918266469739284363903657522449823378452400195502868363254999241882118233716640732338148745191368618650236988075969164849806404 35948189350108613142207213181030536944466126754830191788366106883162874730575573913075424167524290658073861748911261529424303946369518356086272049806229746154926235608001244094569929357548131103973067931978245405283685095922379497685967309296673151918876587826450272370890660122293326544351173701209260904087558811838900192394928502897233362168467785673604135052511928337492495787779147474008990582670894084888632790213997847095185831096977630049303587642507115571460972160320737045222692312298391950840300986866245523460774508286178457862257512291136095908971205903026022351863973062485427621628286592726127188443349690732792982911025498199247009796893953396920663577325516636003332260280192873029617819817052489191098397842832455055502590532234886365286661041892672452943970465394632172314762123450293355862548592299783773126286537254255883483031166118332702842589417168220085041405633266004961933312526584109915612372935183060197780015543799350944566673651736561995598021004305139820312905260420449790743030984365754404570488150345579648117146763635697206120463756781600401188743819172440459708760502158541434945314507114550498676777029029777822776230913519082546942259898363806884835570716223236052800771698208468034206161115901210144866454095542556976478906255456412310689587457391445351228285778883786830506089292608608533710300503327542449930542388528612842398334359315710894879721281471352607964681210340713762661799050627087151757421505366279639148642337667730899958848523076498951197913418060520823954807420863122167695582528927218749918427946220380179400670976272457507351858138452013549452646145005689904778202598596214911124188840143742802697732202994920389125559371470670466124145367543087866046482497022867931471427747436674478936181577065534051994979750916626934825176950510323225650906946674651785397363369956443169253710269657303915836215734567588653637629871041314393686727863806052002257516854494414594151174093037136751179920180096923213525125462333996989968466476212379969481208118906947318411474013518278460976727225456585872870648461259222299190749329016580750334406920962311402046252922778727510039465549470403440033075769963469279088108775624721410251655841299426234563775138387571596851182136260516124434097184296813628137409764136880137039232981809922697020079921952305273135118189147455362796255199531118690276025835052868993028787696540684140135277679663932161656149646165251223692296038921849224150864428381300280616139745480622355013243944153818840268443220082177187227616265697911741584489418903571613096103372989692708830579138490895254813070870170591781658445310249234454479902542150945874007327124424620486639554862648324634852743230887956230280648865424670908746937883937354921852752524131134401699888160770781592509368872970028848253925030034793762017938706761939134082622172769596655241374987420737055640901299964802098574703846607189291775222909300936991958538711451280040976362641005299946827683867735168470879215381023611483830091823054349157407217240790591805685976928502925506568567850169647405252827183024292793191160773585148056041431377289899722633412726440756396520538090163416410796452781704472383401888613145481205517658681241737708658001800562508760420872309431443705147262550248148048229048485928740377473231922369260763472882868302938999622382668099615780489967141978420503356830691817037973026066229620472896389461245890631199146790784618727701271513382381259292252353298066362628977850259119821201416105818107065040651217393434828067996473069580100386511938583613653204065989757031110480553572031315870357148840318715961240358544051641403869620149829320330921550840790976204739265670921523837427365714853871844299569308040721546084496962946509840189315188725809633536003942395464811037469431243066830595395004240485508004742689136194088110881744762363318648869628788986801451867327716899808474660481174229837900363430128982049587764669453307218083530411922489603176441298011470304205673424513972075412967372599302129297555242417483603032240146275731088793373940265328103439893676607534365946302404603861013607 58165392202492729551564191761750553163250295947107403740837385048874762835063902473546216065936464087983976568401566279900516302263354055013988571892816216350087500837053976323187947232874983648179949617557781359413010756275339882239698214066715323868955587854556901675197655819956405945261582967501882501553786985122531806228193184939112401742937507607976550493240751611784446378595993049727480506396817759508392645563621809996357356646497494668494225351776462271777150037664662293344703723729896856493060947763550692477395546796008870095294503375948737461418766186482561451369356465145241289227870244794350266986537159984814972212951768222332794036237518878093064223413734571073662521788945348749480847276952302202257248062106162769201143687330028569492007393365451879664704199013367203487307552434435577428896173160983190989882659278225169220153408595350117697654590694192079892724404796145253679241377233848570843673299239258647827776881133645352641393107238636765565606695724505027531916982108707032831014349302848314828541416808350797101072116040990426439255752328287594923345345819474079485167788157166577773143607768561209324198226819331784631191040591778751497362310874587667312396631643739726801298551756202041196350553710093268592647441548915623404857984709777721819486731316652608527836744105696504535472813004399199931126578352569768846932791251935052300862671435958051539901618292719185518628668141411165858698613807594322528509632958356630461906186547956399814912122698745391121067625991543324770252728156767245810234044840595308262470632204638092110338365148985229900009542626043301373575446665745340668181727394136232554789674381610406104444233834720212372194491186949799894710952011408458275123274286054599402936631591559188465039605566216364436416538000146835755375405976704975015617927040228387857172215962817344153859795504162879798132327058969496048496574527599015012625445238679281730738777385622005420516282657447898309867090220432059241840467394832907672610313275453789372935842114904056091770078724820212499703706964657054960098091002165251972978594648351789152494430006803247410477317248626913529775573072577728312577601708281295976962069771425032808500333145848263676187440564097727771232424932853518445466347813460322568238236683759864169959581648945355244332949728584792865915491204390827096079407844383511016933340160360251826794932301411018472262741642973875187745328672541047056667508590044625305989708757504138821310371148016359013401680836251258389465997496052066171164807924205089687671456120983385523824682223489384502550182926800915133371260626547214883543182071077823677778240142306844832397872434840446596173676845710030097554734005077746459915072667059772592701764548950536551155196535580840453876308367194809964312194603727657803230314935734950263266329538436430150915838123277718193251596378432795813264105033124755070695001660696309845472201496976902162363966005801983830317212752408675673709171779076812106348519104999247164356754181503969800579002899195092666709681570789331831272431158435432643129798038018942125152464419315055615180184919897472339744726436351203280558385042107620077006984694557340450223055056355046300538646998637602242179727339454732337274825154050361623714590421779965653725716624547794255921562840121100579065599661720451184793052955690630918810495220093916039009706549571328814101762381846357442359441505069056728201810052594934998866943563215467947609707408867961259528992962101141509184263262425905900479480587687236913767579379237225183234312289040964638336998583890232029623552882209265256991540909764154260275258401260800417585920774860323316268375876750789288089173793144940373971973498222368867676434900265122254705962172899401827778932523988696273726318745633980773264316251561762921690162273072307335905153397666499568351911201293469397746490085201728113856012524789817650850349999526536022009688036565582485639354259325263124327159882777741541113057878323315591690983711359776871030121751952676007642612986471395495145517613207027090580997666252185085045226184602934378373768710820011 94113581552601342693771404942781090107716422701937595529203491932037637565639476386621640233460754746057838317312827809324820248632872411100260621699045962505013736445055220417757876590423114752153017549536026764696695852197719379925665523363388475787832175681007174046088315942249732489612756668711143405641345796961431998623121687836345763911405293281580685545752679949276942166375140523736471089067711844397025435777619657091543187743475124717797812994283577843238122197985399338567396036028288807333361934629796215938170055082187327957552015667084833370389972089508583803233329527630668910856156837520477455429886850717607955123977266421579803833131472275013727800739251207076994782069138221779098667094004791393355645904938617824703734219564914934778668435258124332608674664407999375802069675884728933291444765460766964116169196532481052703184574713682820540244007862412164934130038062150215612553903817958486456046234422318845607792424932996297208066758975198761163627700029644847844822242529156823574045333668602719399029567153930445218218879676687632559719509109887996112089164991914539193928290315708012718458114883111708000975255849109607407421954110861298439622209238394552147967347866975779602070249964670075402511669611303413459101537091472599883764240166190032509074188708097959756122522989483335041562105613007733641427081680112218777475179780547894699197030751668946419622899764071793483309878482124928520497664434681474285931138324636269610548524215687299773760645775244342318981044052064148725060149019889413505816573767814058180898578425018271511009341421442737251867681078056850826221591671435245446384325990351143678978514525353208802176436829640601497753862657620266018856319554496324321605771308922530874364379028233667401221182631750416431396288916773770580552356487028200666524873714880173254535585919260513407570065161466795634348061626558149686126445568913408699353309044731283988255631880036599571690375694584649489787270317355272766965929728829897641076789487833758854143961021851374503244092243098673476430932421242927830746552261387551163727923664932539486901350969114649456730240027354423569241122542981168345653371671750575065070845396146443060156174445274498239962578951669324622414561193369642879563532110273950705648000820640001209192563458868052264412871680890066001033680351846189892334607375502201292959175213229244855582628842095158607540421306906036843894974837792270748963547511893849456854137138804419437450116628638714026645624990070098657909217578229253398781073622116831272160875024554998619928055213182093333129321417696169946442130797138996541988492320312278157680782293252718839724996859460933235728539494034664950297964893033976740563938091730681339639648486305458403907720666715242153764469137976402473681067573756506057155344970528712281205036300375564233538010892874373434626583799169851454165404997926853645398848267885601620695110797913894120902677457082024806679853757708622501393039514245282985563900128610730994448577235853127207796243689786898352686610073714838399840281328082837895956981062311735316313238004463111656611562209797194973157452877107599801096475205524030873459766399029723852111668201836251818197328240375310900181527901963492758147134585494066770977140669928013882774202553288171729153485209381864051948467964659450807175721055306411408777637198514419395840398366609301840167992002319253831820687395700255874992594671322636270380325944474760199963005475230590237379252081922342925290081369490946551696874022515304910240648959337611695172895902694168704326755615000712583195584198079622405831859625725394618819310042664670037735750095191244867109166852955528553760095316982367739686827370066668436984475621811206751668908682739591142967658333622232277668714210445018242695559318392358316694402758580312078594289591754610450096673564612118267375279072003179981183729424598292311331524229364436385439817018615170250308807566543346654739082372380917982411069348627521265115497683435189838402721054081973562885030470074427735291793344295820464521262994355624978721833718968880680778372571833618 152278973755094072245335596704531643270966718649044999270040876980912400400703378860167856299397218834041814885714394089225336550896226466114249193591862178855101237282109196740945823823298098400332967167093808124109706608473059262165363737430103799656787763535564075721285971762206138434874339636213025907195132782083963804851314872775458165654342800889557236038993431561061388544971133573463951595464529603905418081341241467087900544389972619386292038346060040115015272235650061631912099759758185663826422882393346908415565601878196198052846519043033570831808738275991145254602685992775910200084027082314827722416424010702422927336929034643912597869368991153106792024152985778150657303858083570528579514370957093595612893967044780593904877906894943504270675828623576212273378863421366579289377228319164510720340938621750155106051855810706221923337983309032938237898598556604244826854442858295469291795281051807057299719533661577493435569306066641649849459866213835526729234395754149875376739224637863856405059682971451034227570983962281242319290995717678058998975261438175591035434510811388618679096078472874590491601722651672917325173482668441392038612994702640049936984520112982219460363979510715506403368801720872116598862223321396682051748978640388223288622224875967754328560920024750568283959267095179839577034918617406933572553660032681987624407971032482947000059702187626997959524518056790979001938546623536094379196278242275796814440771282992900072454710763643699588672768473989733440048670043607473495312877176656659316050618608409366443369210629656363621347706570427967151877223704100152199797038337180586114566053384487376233768188906963614906620670664360813869948353844570065913567271565904782596729045594977130277301010619792855866260788197966780867812826916920606335927762463733175682142800755108561111707801882077857561429860665629675432480388685527645734623020096512423711978754283410565718994409265658604992206658352032547799654360537787332008806397123662805313687102763287548227079803136755430595014170967918885976134639385899982790844643263552803136706518313284328639395780975917896867207557275981337099016695615558896658230973380031871042032915167571475868656507591122761916150019515767052393646986126223161325029879923734273273886237504399865379152145107813407508745821409474858866949171556237016988414015219885712309892515373589496682377561143506177079803162949879912031640303510333317805631056101938474762843845896308558258760487776655073040047305826321357047375215074281319569945881546321920959832331145538384143752737436671477835679504344497085079813391423686211425531674391390101835459022435559563672122869294301379831902216339744695047852698898111723200479010758790453932341413035255994955062917202296082607640777505171212437993262177484163860385659906263662544471365838811994384453849016152091627878180177602647267429510031051608716093849928581911466167312294890796283266643462884008636997066510117298175102211293322095091912419233609978158805331417357097008375246588981991019396291644504170231112712486518270539086779100330677441465702423778167271791747129694667312902179313458803081654860247631650950466751093587064302334723258191298118735975239012913142361255241418225095421959739544428394691731091707979536499919177835965985075048049502964631014067626379901991968774010997042327588132418608335434850104916180630654269754384165611274180128900769312603194404723917571269247269507690228147572712884098551496908245044023484434474344631916852452176354610202541824008228338574836878407208191735133342663754198890944612819137080288887662823400535489548879094568443925470455321670870051568183377542729706317841849269110127308113658800868289037304660910522076329006374870855638992970746590857610928551395032956078999015959875569954121238384565031652619414499442989421110018448584765905587665121769157204908095039741949388109962181874228890972407449505055180752735948161825868609779066242255158659523524127226950836856806481394794966709432842806034649570527643456545823230437310957502847555102260660607810063767059903571815059152141282653629 246392555307695414939107001647312733378683141350982594799244368912950037966342855246789496532857973580099653203027221898550156799529098877214509815290908141360114973727164417158703700413721213152485984716629834888806402460670778642091029260793492275444619939216571249767374287704455870924487096304924169312836478579045395803474436560611803929565748094171137921584746111510338330711346274097200422684532241448302443517118861124179443732133447744104089851340343617958253394433635460970479495795786474471159784817023143124353735656960383526010398534710118404202198710365499729057836015520406579110940183919835305177846310861420030882460906301065492401702500463428120519824892236985227652085927221792307678181464961884988968539871983398418608612126459858439049344263881700544882053527829365955091446904203893444011785704082517119222221052343187274626522558022715758778142606419016409760984480920445684904349184869765543755765768083896339043361730999637947057526625189034287892862095783794723221561467167020679979105016640053753626600551116211687537509875394365691558694770548063587147523675803303157873024368788582603210059837534784625326148738517550999446034948813501348376606729351376771608331327377691286005439051685542192001373892932700095510850515731860823172386465042157786837635108732848528040081790084663174618597024230414667213980741712794206401883150813030841699256732939295944379147417820862772485248425105661022899693942676957271100371909607629169683003234979330999362433414249234075759029714095671622220373026196546072821867192376223424624267789054674635132357047991870704403744904782157003026018630008615831560950379374838519912746703432316823708797107494001415367702216502190331932423591120401106918334816903899661151665389648026523267481970829717197299209115833694376916480118950761376348667674469988734366243387801338370968999925827096471066828450312085795420749465665425832411332063328141849707250041145695204563897034046617197289441630855142604775772326852492702954763892251121307081223764158606805098258263211017559452565571807142910621591195524940354300434441978216868126297131945032546323937797303335760668257818158540065003884345051782446107103760563717918928812682036397260156112598467436377016061547319592804204593412034008223979534238325039866588344708566681459773158693090364924867982851908083206880748622595387913602851690586818741537960189985601335687343584256785948875535278348125588554594603613832324219697983035112977696210604405293787066692930816391455705284432652510572968726955168438752231993206170093382763680792649853571168808825762193255026255522220825207967520166711702379993139804728812282511847866153762313067630755833779359998150663791145699941042948850521135271981061521561453358970637869011324761405246643147614911674329751240669917541004876792374825676402139187558617991859909026465062504763976772498721594915028978462361492698196467513086862423092804690404169320919966033443676920267825920676495250807567378077476319362220709153253908653210224216171490278768889372082901718219008630952993814601108435043760162642412757778940428241278928403309339491862286059632190566402882751335453155681823926517492616788154446391460027549936933303479388224042542783143381717853569094325038495165668871761635993419274121731124137714228533258884828682962535591039352799144495066303453736365769617122754830690503282789932494437746386484865106000816296469568478186999395240207539627595452164988347535718359329141734287497125945827359764426001407799003873228632717846734248877297912448573580104094429302046990509813891657196014721278368510068655260161214943497913878486590140493057420965242813050486709582661846395609364427109675853345628238355705741645386143887535758043779538378584113714249191233160829063747166524017258655434888346479555078967790232931493093732581175720468545258330517705932497048229208088076223471373986402273513398458255408792889322073795922986256969392411956433805324627539577505935196575578358121921979078230156547835563860116623133412673926620250965729104301798668019623523654963435042488893622540695739930513854487247 398671529062789487184442598351844376649649860000027594069285245893862438367046234106957352832255192414141468088741615987775493350425325343328759008882770320215216211009273613899649524237019311552818951883723643012916109069143837904256392998223596075101407702752135325488660259466662009359361435941137195220031611361129359608325751433387262095220090895060695157623739543071399719256317407670664374279996771052207861598460102591267344276523420363490381889686403658073268666669285522602391595555544660134986207699416490032769301258838579724063245053753151975034007448641490874312438701513182489311024211002150132900262734872122453809797835335709404999571869454581227311849045222763378309389785305362836257695835918978584581433839028179012513490033354801943320020092505276757155432391250732534380824132523057954732126642704267274328272908153893496549860541331748697016041204975620654587838923778741154196144465921572601055485301745473832478931037066279596906986491402869814622096491537944598598300691804884536384164699611504787854171535078492929856800871112043750557670031986239178182958186614691776552120447261457193701661560186457542651322221185992391484647943516141398313591249464358991068695306888406792408807853406414308600236116254096777562599494372249046461008689918125541166196028757599096324041057179843014195631942847821600786534401745476194026291121845513788699316435126922942338671935877653751487186971729197117278890220919233067914812680890622069755457945742974698951106182723223809199078384139279095715685903373202732137917810984632791067636999684330998753704754562298671555622128486257155225815668345796417675516432759325896146514892339280438615417778158362229237650570346760397845990862686305889515063862498876791428966400267819379133742759027683978167021942750614983252407881414494552030810475225097295477951189683416228530429786492726146499308838997613441155372485761938256123310817611552415426244450411353809556103692398649745089095991392929936784578723976155508268450995014408855308303567295362235693272434178936445428700211193042893412435838788493157437140960291501196765692912920950443191145354579317097767274513774098961662115318431814317149136675731289394797469189627520022072262617983203429409708533445815965529623291957742497253420475829439731967496853674494867281904514499839783734932023464320223869162637815273625912744205960408238220337751129107512767146747206665860907175581858458906360225659715770798982541828931421535954971092181948860106740236642712812752659647726791892538672836714760673191825537315631766907433530086525049004488330106690340106068913644511419393051841103092481828598827164371846183970735448063692899532972173524055046003362689257423141521959609311589204322474556817448314033555071307407369046024148318827349667591928724833777926664783056037370147767977999553002445708925178556690382944154375145989024425060030071077586548125049424553029735387695486687435964382850042080673986777943218851597462100889473169388738595830687312059240070567321224546736867750880391479193362723178862065706301119378974130539262973090199244642852019446200195056469186529598961811504025205964406195700787332774393268586203852456781114718218848055669278718401137184904038384799942948991054064582923560360602853343972955774040908960103699303581308387793313976603217419254791113269077300496063953902035731090265540608198970563148707500770650476380180945197238881081381404119157778808874864959855216495108431243427693231195742169969311794238770633324651456049583242920388558257105636487285451987312286164435389654264012782601808833858358657397731478660696704492377008446930515610948379091835294381233864252312368164237458633537236983967004429106644743046306296665963864764418650394017577084460840048844089380458780122603016274615310458300600793463532821885550907593175570596830486993843096423293597618817386412996171263213323374512235695272687146381200338827128976675722205131218280566212871566882698237029459323802529194978728460473025123257268406666151272703940317383166074196166415259301515574725784315571245106255953526112510799082655137140876 645064084370484902123549599999157110028333001351010188868529614806812476333389089353746849365113165994241121291768837886325650149954424220543268824173678461575331184736438031058353224650740524705304936600353477901722511529814616546347422259017088350546027641968706575256034547171117880283848532246061364532868089940174755411800187993999066024785838989231833079208485654581738049967663681767864796964529012500510305115578963715446788008656868107594471741026747276031522061102920983572871091351331134606145992516439633157123036915798963250073643588463270379236206159006990603370274717033589068421964394921985438078109045733542484692258741636774897401274369918009347831673937459748605961475712527155143935877300880863573549973711011577431122102159814660382369364356386977302037485919080098489472271036726951398743912346786784393550493960497080771176383099354464455794183811394637064348823404699186839100493650791338144811251069829370171522292768065917543964513116591904102514958587321739321819862158971905216363269716251558541480772086194704617394310746506409442116364802534302765330481862417994934425144816050039796911721397721242167977470959703543390930682892329642746690197978815735762677026634266098078414246905091956500601610009186796873073450010104109869633395154960283328003831137490447624364122847264506188814228967078236268000515143458270400428174272658544630398573168066218886717819353698516523972435396834858140178584163596190339015184590498251239438461180722305698313539596972457884958108098234950717936058929569748804959785003360856215691904788739005633886061802554169375959367033268414158251834298354412249236466812134164416059261595771597262324214885652363644605352786848950729778414453806706996433398679402776452580631789915845902401224729857401175466231058584309360168888000365255928379478149695086029844194577484754599499429712319822617566137289309699236576121951427364088534642880939694265133494491557049014120000726445266942378537622248072541560351050828648211223214887265530162389527331453969040791530697389954004881265783000185804034027034313433511737575402269718064891990044865982989515083151882652858435532331932639026665999663483596763256240436295007313726281871663917282228375216450639806425770080765408769734216703991750721232954714154479598555841562241176327055063207590204708602914875372403430749911260410661539515595896547226979758297941114708848454490331463451809782710860206584494914820263329603123202239811966534513651181696587242647173433167459104268457944080379302465507399791883199425423818743485725149671114322736378620173297155868883595132324435865336627360572007814794861821738631893184128695818601601826005967163728007303415044154026480403123082564908459832724476303536078378901673004192940318732130451270791466442261341921679965503695467669659848412195824170117187111620437568834205021752887708131147644710619340089008533439079246321516937639892158480500177091605285302816075524350907045769139528092712908456851246865057958051396465313148723777545440718227146519769763562095080942187493018700115720487409174299425615502957023583280260725128598365808678391885021443694591608847157531153943014598319786078820640611227506178246397992602582197789361227446821528181660802560148389621418726029474614979966375048162640084241413532114567272621996939138808458607590257764143603949800319671652853845096231111481760495643145247157135341486181761493708449559568403514397986348502460412020204842644149602756834965483239295915139154003196634732450459922811875638235292505982934399734025567416380593737436644773826674259004848579637025907800133920857919435874922325417105751441436512800537194284350961895030010633067997964346659820350057345000448787951682809851400522462429932396161198175089240077250209522527289127033533270745346647080348542500612118482400686908151772550955539101426940999530115865615621084247486684697360914509208671145401789993228149202772598708462100610692522646676891510237814535394520378107553100650439551255279805103970526267895837352991309786325161895519561100183594349307970534680148744847148653206539013168991628123 1043735613433274389307992198351001486677982861351037782937814860700674914700435323460704202197368358408382589380510453874101143500379749563872027833056448781790547395745711644958002748887759836258123888484077120914638620598958454450603815257240684425647435344720841900744694806637779889643209968187198559752899701301304115020125939427386328120005929884292528236832225197653137769223981089438529171244525783552718166714039066306714132285180288471084853630713150934104790727772206506175262686906875794741132200215856123189892338174637542974136888642216422354270213607648481477682713418546771557732988605924135570978371780605664938502056576972484302400846239372590575143522982682511984270865497832517980193573136799842158131407550039756443635592193169462325689384448892254059192918310330831023853095169250009353476038989491051667878766868650974267726243640686213152810225016370257718936662328477927993296638116712910745866736371574844004001223805132197140871499607994773917137055078859683920418162850776789752747434415863063329334943621273197547251111617618453192674034834520541943513440049032686710977265263311496990613382957907699710628793180889535782415330835845784145003789228280094753745721941154504870823054758498370809201846125440893650636049504476358916094403844878408869170027166248046720688163904444349203009860909926057868787049545203746594454465394504058419097889603193141829056491289576170275459622368564055257457474384515423406929997271388873309193919126465280397264645779695681694157186482374229813651744832942951537097702814345489006759541788423336632639766557116468047514989161754671313477649966700208666911983244893490312205776488110877700939632663810725873843003357195711127624405316493012885948462541901653244009598190183665281534967488885085153633253001334924343421295881779750480410288624920183325322145767168170828029859498812548764065446128307312677731494437189302344657953698551246680559738941968402823676104418843916687467633613641002478344929774804803719491665882279939017697830898749331276484803131568890450309965994193228697446462873101926669174716362561219261657682957786933432706228506461969956202806845706737988328114981915411080405377112026296708523751061291437304300637834433843235835478614211224735263839995949493218486375189983919330523338415915671194336967722090044492337846898836723654619073898225935165428340102507635217978635692243816361221637078670117670689886442065043401275045923045373922184781640897956049606152788769191507280173404101817081210603728106094358046072628597960098615644280801356916578547852822903669177785485975573935238393349509848046753623848917887343650337459057555974879789337049889698866696700180827470090157389169660546224086868069144313680626010635196349987037748011626139499497294939785269611009513608690337473394334442904449565971938095186664622883277759383578443270652285522790699643765149038604516665794446566362192921893868195663779041249685666117605024893823712358379690175009346324416253796553882083777372388794344866665264964014270650155041288443665366355084406416839866383304838688588593156268226132280171328793422277864921483983255198616814811563726854730347372713054665024493068008620896465246048271860916190498412350859912981603751551202454204342286390077468323939330822203549044345112835695875660415310915742025877862381371033220904445864273573688584935361771719680731058791852747927785817866362706690947330640949807633555765157377325371875421337752580846184528196678981465884450948241967268057101915972395118558623850763088570887019477554728666758172826299037839456860813682437995683305531612581554623928251930772347621362389815604635831575518215214207398174870526631501583643787354486451645191834257979475815265286881080326413738282635929288921339589981307411730049807886055804947681142006033434004033308280083722369381442532944523364293127734683002034080418749898020735426744903943832548171193566976331749274430667231828973088859548458392936051564853844180636748079378900024280403062372377192419168541293308692952399358061934820401699169075092286105925255000800674765717338095824128768999 1688799697803759291431541798350158596706315862702047971806344475507487391033824412814451051562481524402623710672279291760426793650334173784415296657230127243365878580482149676016355973538500360963428825084430598816361132128773070996951237516257772776193462986689548476000729353808897769927058500433259924285767791241478870431926127421385394144791768873524361316040710852234875819191644771206393968209054796053228471829618030022160920293837156578679325371739898210136312788875127489748133778258206929347278192732295756347015375090436506224210532230679692733506419766655472081052988135580360626154953000846121009056480826339207423194315318609259199802120609290599922975196920142260590232341210359673124129450437680705731681381261051333874757694352984122708058748805279231361230404229410929513325366205976960752219951336277836061429260829148055038902626740040677608604408827764894783285485733177114832397131767504248890677987441404214175523516573198114684836012724586678019652013666181423242238025009748694969110704132114621870815715707467902164645422364124862634790399637054844708843921911450681645402410079361536787525104355628941878606264140593079173346013728175426891693987207095830516422748575420602949237301663590327309803456134627690523709499514580468785727798999838692197173858303738494345052286751708855391824089877004294136787564688662016994882639667162603049496462771259360715774310643274686799432057765398913397636058548111613745945181861887124548632380307187586095578185376668139579115294580609180531587803762512700342057487817706345222451446577162342266525828359670637423474356195023085471729484265054620916148450057027654728265038083882474963263847549463089518448356144044661857402819770299719882381861221304429696590229980099511183936192218742486329099484059919233703590183882145006408789766774615269355166340344652925427529289211132371381631583417617011914307616388616666433192596579490940945693233433525451837796105145289183629846171235889075019905280825633451930714880769545469180087358230203300317276333828958844455191231777193414501480489907415360180912291764830937326549673002652916422221311658344622814638339177639377014994114645399007843661617548321304022250032932955354586529013050884483042261248694976633504998056699941243939719329904138398929079179978156847521392030929680249200940761774209127085368985158636596704943935999054862197736933633358525209676127410133569480472597302271627896189866186374977045387021452864490563257334485356434154453606571560921349668547808485396823553472420481159524039463024287082066249662175559282289351082641844457530370717785375184674114195856732682205472076090950740103575607938651715704833860428188130885134311415650063669306651776528977038156929546713575251660041940951944871629948565731251711872351435288655841168862004102752861761796108212373776243320846593588600196158360416670435410263105238047137955745040768083299832814052348695840870646534988482193129375800869481497907782887917803175663118854511933480242685537518122412105983191160790419918603383524607553848103106532560353792479138114204096113291809412540896457391788086543313369004698893208423658721258008673361971032840743845133679236127074711644040874443113979859639797681441163264554111350843825761012419552083303905705870366189128586526367810442933037307854880834336469971628797364508395664593245341438780458002831162491554434997995084921159352544468184655780200518211147953751505879785783895626180396730448941363162162220761799590102245163902789552375895206994196859143269071505286753503122145047351910262943811666131119818531017632709213331746502412543364126853097764727113831252117436368769802566176102428185503594629465930303607704543796645640622209662285666665809343510258809899480811018528998589799503834700857083341156801151594761490548534046122515708966991874141932398072045950305292657850548617655164666236582718096341254112614977949961186795125534521873139129332439665611506225349903173866100248364558744301180029339575535682867476347718687064378646300002738724519957454381501882763424400256640605403745647823418923877108993120397122 2732535311237033680739533996701160083384298724053085754744159336208162305734259736275155253759849882811006300052789745634527937150713923348287324490286576025156425976227861320974358722426260197221552713568507719730999752727731525447555052773498457201840898331410390376745424160446677659570268468620458484038667492542782985452052066848771722264797698757816889552872936049888013588415625860644923139453580579605946638543657096328875052579017445049764179002453049144241103516647333995923396465165082724088410392948151879536907713265074049198347420872896115087776633374303953558735701554127132183887941606770256580034852606944872361696371895581743502202966848663190498118719902824772574503206708192191104323023574480547889812788811091090318393286546153585033748133254171485420423322539741760537178461375226970105695990325768887729308027697799029306628870380726890761414633844135152502222148061655042825693769884217159636544723812979058179524740378330311825707512332581451936789068745041107162656187860525484721858138547977685200150659328741099711896533981743315827464434471575386652357361960483368356379675342673033778138487313536641589235057321482614955761344564021211036697776435375925270168470516575107820060356422088698119005302260068584174345549019056827701822202844717101066343885469986541065740450656153204594833950786930352005574614233865763589337105061666661468594352374452502544830801932850857074891680133962968655093532932627037152875179133275997857826299433652866492842831156363821273272481062983410345239548595455651879155190632051834229210988365585678899165594916787105470989345356777756785207134231754829583060433301921145040470814571993352664203480213273815392291359501240372985027225086792732768330323763206082940599828170283176465471159707627571482732737061254158047011479763924756889200055399535452680488486111821096255559148709944920145697029545924324592039110825805968777850550278042187626252972375493854661472209564133100317313804849530077498250210600438255650206546651825408197785189128952631593761136960527734905501197771386643198926952780517286850087008127392156588207355960439849854927540164806592770841146023346115003322229627314418924066994660347600730773783994246791890829650885318326278096727309187858240261896695890737158205705094122318259602518394072518715728998651770293693278608673045850739988059056862531870372276101562497415715569325602341570897764488803687151162483744336671297464912109420350967571803093762446612863487274125625661733779975662738430879151536591491181599545049079119622655107305088438982828210028382185958528868127820031465609111134885032720867819705650569549122413550008296078455397275701605403700557128368958355224468804819724215530738644598121351837555557348771601647079688963571011129445860671036981483360948897346178642256338545657311327768046307560440866204124352972178639429012702193226109906870387085742472410835214649662025735946216891504649687784674148310734400694693193856287473062927149500079372651065815564020057926312467278771248155175061070073644671968272920203187512949400220175783976802792689269560035544821067786185210364408234852987954091825238470284984863403709343745895408869626747244747971176890089146304030170358052148541354144868305662553298030103298809629551627845036692569738172931639203506318593452618770622860214332352999830585412841528866819030023715819774550843222613226850743012706977218907174875603110841468018781509516663257111155771047518149311295125891358841202227684041050487131170846654291867602112755482994032160076173772980676873714110083089242849505587980632213455628392518863359083967167292378783870112348476221067722072200345320781390309826360374121260967513947395059030248290832456467641761481931096224590585223637763446947817919929389485142112587133149042856956542442632554567480126549017247075596511313840604990473669585785585231619689245084986480738831767999016558810498132380362101866271147569796564268638700365773808296109917665102208739381049259408239599816085929848724911106232919939608695691123878019389201903581932499492542746530658746448498184641215204817249166121 4421335009040792972171075795051318680090614586755133726550503811715649696768084149089606305322331407213630010725069037394954730801048097132702621147516703268522304556710010996990714695964760558184981538652938318547360884856504596444506290289756229978034361318099938852746153514255575429497326969053718408324435283784261855883978194270157116409589467631341250868913646902122889407607270631851317107662635375659175110373275126351035972872854601628443504374192947354377416305522461485671530243423289653435688585680447635883923088355510555422557953103575807821283053140959425639788689689707492810042894607616377589091333433284079784890687214191002702005087457953790421093916822967033164735547918551864228452474012161253621494170072142424193150980899137707741806882059450716781653726769152690050503827581203930857915941662046723790737288526947084345531497120767568370019042671900047285507633794832157658090901651721408527222711254383272355048256951528426510543525057168129956441082411222530404894212870274179690968842680092307070966375036209001876541956345868178462254834108630231361201283871934050001782085422034570565663591669165583467841321462075694129107358292196637928391763642471755786591219091995710769297658085679025428808758394696274698055048533637296487550001844555793263517743773725035410792737407862059986658040663934646142362178922527780584219744728829264518090815145711863260605112576125543874323737899361882052729591480738650898820360995163122406458679740840452588421016533031960852387775643592590876827352357968352221212678449758179451662434942748021165691423276457742894463701551800842256936618496809450499208883358948799768735852655875827627467327762736904910739715645285034842430044857092452650712184984510512637190058150382687649407351926370057811832221121173391750601663646069763297989822174150722035654826456474021683088437921077291527328612963541336506346727214422635211043146857533128571946205809019306499268314709422283947159976085419152518155491426071707580921427421370877377872547359155931911037470789486579360692429548580057700407442687932647030999299892223093914757028963092766277148851823151215585479485200985492018316344272713426767728612208668904753023816927202146477358663936202809320357976004164491745259953395831981097925034998260717188681698372229366237121029581450542894219370447254977825357044215499128575316212100617359613452502958960866780573891898937256631635081046608299193654778295795328012958824546626937176120821759482059816187386547223659780547699345076888005153017469560279146694570329375521049077872203941468247879950769664488995979828920260217394982015562383251754594489640959036182031005214353321108534417556557089240358780220469787884837390421127098389994485104062346853307121629915515882759394426402288693355712384186002019811118342648410173089564154519934217109524970946560778835587373118863661520169975625132880428155875982732961858549998565587345520334319662630503863776495562675354195255950844952675742491505577749044262743463830589690877231346335851489992248055492880474051290619481960573968263114916996785382851844957361964243576998450951548221992652985033662129006242872077071314778736152714760426480875045888534130020747144150217691946222795308132859773904141855864311229181634931750742562935927301518165571316761526489926625503694550802324628627949921237193460064371462496277777382005714167661848738097628136571451643060258891041986229929463268169136896939666673698546041744067254521003422989483631152732295073636206667762809106952342137301231581460526483799018761461993352186661171719100450744473261101732195105586379710656505636967877075590052319839508569115123347566412254545877715890433444251002763574044936473078677304047148596905568100844033537244257966346918519188988976813444216490199658108137204123103101526249064726214067470653246238677036423974878443435780237344409751223063456928109253129173788448093567157227400793020708925896708304311871999158199283783765350573298125350439437579175351768797325072629793297298585908698429848397976843583405464695923892799387136062492096321603565092313810369563243 7153870320277826652910609791752478763474913310808219481294663147923812002502343885364761559082181290024636310777858783029482667951762020480989945637803279293678730532937872317965073418391020755406534252221446038278360637584236121892061343063254687179875259649510329229491577674702253089067595437674176892363102776327044841336030261118928838674387166389158140421786582952010902996022896492496240247116215955265121748916932222679911025451872046678207683376645996498618519822169795481594926708588372377524098978628599515420830801620584604620905373976471922909059686515263379198524391243834624993930836214386634169126186040228952146587059109772746204208054306616980919212636725791805739238754626744055332775497586641801511306958883233514511544267445291292775555015313622202202077049308894450587682288956430900963611931987815611520045316224746113652160367501494459131433676516035199787729781856487200483784671535938568163767435067362330534572997329858738336251037389749581893230151156263637567550400730799664412826981228069992271117034364950101588438490327611494289719268580205618013558645832417418358161760764707604343802078982702225057076378783558309084868702856217848965089540077847681056759689608570818589358014507767723547814060654764858872400597552694124189372204689272894329861629243711576476533188064015264581491991450864998147936793156393544173556849790495925986685167520164365805435914508976400949215418033324850707823124413365688051695540128439120264284979174493319081263847689395782125660256706576001222066900953424004100367869081810013680873423308333700064857018193244848365453046908578599042143752728564280082269316660869944809206667227869180291670807976010720303031075146525407827457269943885185419042508747716595577789886320665864114878511633997629294564958182427549797613143409994520187189877573686174716143312568295117938647586631022211673025642509465661098385838040228603988893697135575316198199178184513161160740524273555384264473780934949230016405702026509963231127974073196285575657736488108563504798607750014314266193627319966700899334395468449933881086308019615250502964384923532616132076391987957808356320631224331607021638573900027845691795606869016505483797600921448938368188314821521135598454703313352349985521850091722718256130740092383035448284216766301884952850028233220836587497979120300828565345103272361660445688488202179857029168072284563208351471656387740943782797564790944970491119690405215678980530627640389383788984309033607685477921166522886398211426850881668379186752562518639398769349677634463960031906082232323654206408818897484520461588940055145250115849835268033821303716903190967332260486402490054926512234974684926047595583249025289512100368129065725219741832040661411118454954201318879086893888840287073325674839073333083348198453374681194067484417332200827494657975729095299532957475016385821056887630076846012218622900566711197382623884285944782478850170022104336778814598177190255869210482729013772102175821864156643564608282801390143056969648479501510912560065892727461153394254478132431360794144047091719789474652411880502183032029762208815359783074980607076858900599291227735480780658524631561584387173725623017065424219167051174320575744094764149453001165436457439885967610038811186559595779255505665474449804774823080119942545396126554765134677628458535334078722326883401486212097551932848936780888699481110335113790358817935862001883454248710972784832394008095437721216695353039193145879844625217167672203219426244482860959630411219707825131333391657634299464475892475572076441429510677307081082957928889494251058464670346877948884420837989424066273387561580769460444128956722080906251837151400958198397822604293227305535144945808630528001792691429257175007704914164838448578474118926031349639242515064679646755657669006375613743461143067164560079282026897644464229021011857033654836209544195759877252145732598946225947519329267064168278722460976943012237772966495393701430452782037506399698845818775167854727173797540899530218525517394120972275996232785309046628423385342133666721238544819788206307518627618729364 11575205329318619625081685586803797443565527897563353207845166959639461699270428034454367864404512697238266321502927820424437398752810117613692566785319982562201035089647883314955788114355781313591515790874384356825721522440740718336567633353010917157909620967610268082237731188957828518564922406727895300687538060111306697220008455389085955083976634020499391290700229854133792403630167124347557354778851330924296859290207349030946998324726648306651187750838943852995936127692256967266456952011662030959787564309047151304753889976095160043463327080047730730342739656222804838313080933542117803973730822003011758217519473513031931477746323963748906213141764570771340306553548758838903974302545295919561227971598803055132801128955375938704695248344429000517361897373072918983730776078047140638186116537634831821527873649862335310782604751693197997691864622262027501452719187935247073237415651319358141875573187659976690990146321745602889621254281387164846794562446917711849671233567486167972444613601073844103795823908162299342083409401159103464980446673479672751974102688835849374759929704351468359943846186742174909465670651867808524917700245634003213976061148414486893481303720319436843350908700566529358655672593446748976622819049461133570455646086331420676922206533828687593379373017436611887325925471877324568150032114799644290298972078921324757776594519325190504775982665876229066041027085101944823539155932686732760552715894104338950515901123602242670743658915333771669684864222427742978048032350168592098894253311392356321580547531568193132535858251081721230548441469702591259916748460379441299080371225373730581478200019818744577942519883745007919138135738747625213770790791810442669887314800977638069754693732227108214979944471048551764285863560367687106397179303600941548214807056064283485179699747836896751798139024769139621736024552099503200354255473006997604732565254651239199936843993108444770145383993532467660008838982977668211633757020368382534561193452581670812049401494567162953530283847264495415836078539500893626886056868546758599741838156382580912085607911838344417721413886625382409225243811109023941800116425317099039954918172741272459524219077685410236821417848651084845546978757723944918812679317516841730781803487554699354055775090643752636965915138531251189971057814671379481717349567555806390702147487860789021004700302797216642620575243524075132045548286678200414432645837553269684774468701011006993489452187016320965105130793089745294108553070110057991974550226745267191905579988199677916044247963839481080983954436265122454288769667149009457568768975405467510831850830417073058311392831926368442517407704408247620769392241483136835942029245759299985205519486852318131826525765473465308261322948794602776648234713475614368194785717269350218264493023842477657506896355347428875085254066246093736310603758939920549150246821637351503328722587180115585742835943348066195690356423999409318461953685818544564677984964617054851564355662221313652545544853973646660525710847846764050058140782954033868305768751913321368112310206636786260035263725459544996273339207266311331296973260061892562728297470607557851973303367714299147600206498062953958349187798318470793436040986944761134025210361581741831921267992821491346521818441592775967970346139841646432472021630249315937002257086485255315915786947772948708375329314854650948550548219207963250361810460996120892925440478640436053001530905035104394915241394783260400400848048206651303355951721318119067627393220326660167268634623239094825948274911237034069793616171849026181533702402150595983253570256726588605390057805866499656325707401089338575567476523134335452129553041834402449400586178338163778613822249855779124907360792273290712251962880511756967767463095739475566129442173172816850878760770532624678469675210537817806317959063321619342672456792094378064587432607652687986505274906387394319514676556667857188987648357685247324109772124694677485195803355335631750138283397950519623524498870170692827517111426092550820673973076368714511324347278141520802783730641141391771399832437988292607 18729075649596446277992295378556276207040441208371572689139830107563273701772771919819129423486693987262902632280786603453920066704572138094682512423123261855879765622585755632920861532746802068998050043095830395104082160024976840228628976416265604337784880617120597311729308863660081607632517844402072193050640836438351538556038716508014793758363800409657531712486812806144695399653063616843797601895067286189418608207139571710858023776598694984858871127484940351614455949862052448861383660600034408483886542937646666725584691596679764664368701056519653639402426171486184036837472177376742797904567036389645927343705513741984078064805433736495110421196071187752259519190274550644643213057172039974894003469185444856644108087838609453216239515789720293292916912686695121185807825386941591225868405494065732785139805637677946830827920976439311649852232123756486632886395703970446860967197507806558625660244723598544854757581389107933424194251611245903183045599836667293742901384723749805539995014331873508516622805136232291613200443766109205053418937001091167041693371269041467388318575536768886718105606951449779253267749634570033581994079029192312298844764004632335858570843798167117900110598309137347948013687101214472524436879704225992442856243639025544866294411223101581923241002261148188363859113535892589149642023565664642438235765235314868931333444309821116491461150186040594871476941594078345772754573966011583468375840307470027002211441252041362935028638089827090750948711911823525103708289056744593320961154264816360421948416613378206813409281559415421295405459662947439625369795368958040341224123953938010663747516680688689387149187111614188210808943714758345516801865938335850497344584744862823488797202479943703792769830791714415879164375194365316400962137486028491345827950466058803672369577321523071467941451593064257560383611183121714873379897982472658703118403294879843188830541128683760968344562178045628820749363256533052476107537955317612550966895479091634043177375567763448529188020335373058920634686289515207893079684188513459499076233624832514793171915931453594920685798810157998541301635799066832298120747649648706061593492072769118151319825946701915720619018770100023213735293579245080517267382630869191716303653579277417610186515183026788085250131904833136142821086047892216069215328687856634956047250760222449466693188504977073671788647528087283483517204674419144197230210628498240175894159106226685974020079827405704754089439826697430772029719592996456203401401108413646378658142506839076685393925598303441112890036668588776660697588564633529919157709030550717626681686098450894362028296022893700703003810194463174133004366926409184431525278271048812085573648552577537873658566426884583763215524267673689670537075000548940043033859050352698416717867705036545141924228556174923533060983161545626693785620144760977436780323667649570126229289298377498209627121888130545045860378528336188133060130876074413775160713978389157027386219818864878260828346244116703630174190349357676610124033510415187262560246884344682162256357298356575734687675605961728028303101416081671114371953867138751463327588698343038632631827999275883534773932121080019382568354849492791369180135751094214135190646819021627799531306804008050942301073947258250417775120962921766375017417756804081071679885545020589394638113831174434920472881247703587729439247700318298364152169278931982894808894727351408837833924913130542116131936747822453546280692673423818975559171147562601928587023631546367992399968014896729125412750803712606146235045682526333262616660331040090234312034927073466554274478643855923722599094962670108036011605479856416358381390193235360647798408782631391084148967195664409652909153483702547887259667794676595416345937214665506915768684688237496497634418439539000292213136353604982366397241090219263806901477803951411719423642151848447863757420638986340545462195885934921357266370818662190336347545091190071186626256137373138149837129216725687478251672667711592357735636943486671792949969309154023557952770663483654469504969185961179977707351065607021971 30304280978915065903073980965360073650605969105934925896984997067202735401043199954273497287891206684501168953783714423878357465457382255708375079208443244418080800712233638947876649647102583382589565833970214751929803682465717558565196609769276521495694501584730865393967040052617910126197440251129967493738178896549658235776047171897100748842340434430156923003187042660278487803283230741191354956673918617113715467497346920741805022101325343291510058878323884204610392077554309416127840612611696439443674107246693818030338581572774924707832028136567384369745165827708988875150553110918860601878297858392657685561224987255016009542551757700244016634337835758523599825743823309483547187359717335894455231440784247911776909216793985391920934764134149293810278810059768040169538601464988731864054522031700564606667679287540282141610525728132509647544096746018514134339114891905693934204613159125916767535817911258521545747727710853536313815505892633068029840162283585005592572618291235973512439627932947352620418629044394590955283853167268308518399383674570839793667473957877316763078505241120355078049453138191954162733420286437842106911779274826315512820825153046822752052147518486554743461507009703877306669359694661221501059698753687126013311889725356965543216617756930269516620375278584800251185039007769913717792055680464286728534737314236193689110038829146306996237132851916823937517968679180290596293729898698316228928556201574365952727342375643605605772297005160862420633576134251268081756321406913185419855407576208716743528964144946399945945139810497142525953901132650030885286543829337481640304495179311741245225716700507433965091706995359196129947079453505970730572656730146293167231899545840461558551896212170812007749775262762967643450238754733003507359316789629432894042757522123087157549277069359968219739590617833397182119635735221218073734153455479656307850968549531082388767385121792205738489946171578096480758202239510720687741294975685995085528088931673304855226777062330611482718304182637554336470764829016101519965741057060218098818071781215095705257523843291939338407212696783380950526879610175856239920864074965805101548410245510390610844045024387325957440436618751108059282272336969025436080061948386033447085457066832116964242290273670540722216047043364387332792143862563595550932678255412441346749398248083238487697888807774290314409222771611358615562752961097344611662856466051509860668627807237692967509532014422025719194570619787176066138272663106514195375951335158913570563722495038754601438173562142922193873991104853899114986358231782539376726478005956185137513536928867967420339688854820069145521217898871421753773759167892321267467307516808112070779168039429856005485092192358049071476847216468292447185309714024554411228644767622048634982360728879022799431124911522352408146237227791720430096223903700897985930570489286921629558011885557613795369957831478611241550734952335597451522084561892958339838698943006211878950575481086191913373891098090350290699901197204440660182174293369221130866015636258003530368667504993361994722939331421273024576440623347982445668927127200644026055886168950596484605131366990182682374138619142973340917542647811262162616176738038975269215857180603369631452574796829542288822892388851026385745467102763412807489439387053397008682142631505844710553900778947383628848210562558238677989795919526261614513979739928103787734335205991844890835455818165646511047178142605713946681540721630470278915122868880720996214416851873028159668602638135823951361025714949640216028661854375359444150362733190686217565605183800055159664536449722423378924802363759446611579082002990751810510943235069763097198994960969554862762789445520188777816514275975838599511630675188352384113400310404982481898126861410313348513179210071624970682811564142800172715200153540883149573934596045789784011074759501135850262695545373734864976872442602778546254019176347437660457317215884748671822059492708769899975412614676207101776171537882285185252748369579222613623942385522738069277117941625175272288699827102571749107183503595314578 49033356628511512181066276343916349857646410314306498586124827174766009102815971874092626711377900671764071586064501027332277532161954393803057591631566506273960566334819394580797511179849385451587615877066045147033885842490694398793825586185542125833479382201851462705696348916277991733829958095532039686788819732988009774332085888405115542600704234839814454715673855466423183202936294358035152558568985903303134075704486492452663045877924038276368930005808824556224848027416361864989224273211730847927560650184340484755923273169454689372200729193087038009147591999195172911988025288295603399782864894782303612904930500997000087607357191436739127055533906946275859344934097860128190400416889375869349234909969692768421017304632594845137174279923869587103195722746463161355346426851930323089922927525766297391807484925218228972438446704571821297396328869775000767225510595876140795171810666932475393196062634857066400505309099961469738009757503878971212885762120252299335474003014985779052434642264820861137041434180626882568484296933377513571818320675662006835360845226918784151397080777889241796155060089641733416001169921007875688905858304018627811665589157679158610622991316653672643572105318841225254683046795875694025496578457913118456168133364382510409511028980031851439861377539732988615044152543662502867434079246128929166770502549551062620443483138967423487698283037957418808994910273258636369048303864709899697304396509044392954938783627684968540800935094987953171582288046074793185464610463657778740816561841025077165477380758324606759354421369912563821359360795597470510656339198295521981528619133249751908973233381196123352240894106973384340756023168264316247374522668482143664576484290703285047349098692114515800519606054477383522614613949098319908321454275657924239870707988181890829918854390883039687681042210897654742503246918342932947114051437952315010969371844410925577597926250475966706834508349623725301507565496043773163848832931003607636494984410764938898404152630094060011906324518010613257105451118531309413045425245573677597894305406047610498429439774745534259093011506941379491828515409242688538041611724614511163141902318279508762163870971089241678059455388851131273017565916214105953347444579255225163389110646109534574428805456697328807466178948197523475613229910455811620148006943269076302796649008305687954391077312751363986197870299698642099079957635516488808893067094549750036562786913464378941529611841827730473284010446484606838167992256102970398777352443572559949221865001877831286832099160446363306764027773442675775683946796416069295884187036506902764195223027318861782367984877713769848525028093334595886778126094301505698992585787856924156352816592007393879143658619242632834692371484141982117722384714573494454262503817974747051700228433915567941355353467697275941207220389337347123881844048461875422710894156936491755787301183935112004997079719609156287411113480671785584582215437967372114999412921395368906336795299951070174202237342207053920874091546562117270306207803784408393426262520602685692625024803349937729410614937383001052879542039429653560040880994339395489383474867293635117236959366266066217148070740222992723485897497304053531796312489133189404406503999624997430983881600837593231123966336109276803520588065685179182506857143857478080362028176526434105192014610121818549321091810261826407429043619844559978666149018860086682543229933343253728669380731296188627179114890428167492962233395054289254474294016443322924801440483419396152068570653032553076773776518662246362263707536901692706767023064230776451877640110873521713939015093578347101523897326429554647590687482847168168892333428305123744997403743600945946911756641184598430725667759678386486771298469864947800459337525070489397666811549647809846147597649610625262895947917747782539112441243760146956475412399997201503434716911349583714020116184360075410439068328537699903520389995009627996804862307074819858448315630081908049812541831401894580027844205593877542988385313065894406573911694676761627229888605108829741793669013063751726814534569202336549 79337637607426578084140257309276423508252379420241424483109824241968744503859171828366123999269107356265240539848215451210634997619336649511432670840009750692041367047053033528674160826951968834177181711036259898963689524956411957359022195954818647329173883786582328099663388968895901860027398346662007180526998629537668010108133060302216291443044669269971377718860898126701671006219525099226507515242904520416849543201833413194468067979249381567878988884132708760835240104970671281117064885823427287371234757431034302786261854742229614080032757329654422378892757826904161787138578399214464001661162753174961298466155488252016097149908949136983143689871742704799459170677921169611737587776606711763804466350753940680197926521426580237058109044058018880913474532806231201524885028316919054953977449557466861998475164212758511114048972432704330944940425615793514901564625487781834729376423826058392160731880546115587946253036810815006051825263396512039242725924403837304928046621306221752564874270197768213757460063225021473523768150100645822090217704350232846629028319184796100914475586019009596874204513227833687578734590207445717795817637578844943324486414310725981362675138835140227387033612328545102561352406490536915526556277211600244469480023089739475952727646736962120956481752818317788866229191551432416585226134926593215895305239863787256309553521968113730483935415889874242746512878952438926965342033763408215926232952710618758907666126003328574146573232100148815592215864180326061267220931870570964160671969417233793909006344903271006705299561180409706347313261928247501395942883027633003621833114312561493154198950081703557317332601102332580470703102621770286977947179398628436831808383836543746605900994904285327808269381317240351166064852703831323415680771065287357133913465510304977987468131460243007907420632828731051924622882653564151020848204893431971318820340393942007966365311372268172445324454521201821782265767735554493851590127906689602722023073342438243753630929692424671494624628700648167593576215947547410933011166302633895696712377187262706203686963618037473597500224203724760442355395019418544777962475799580316264690312563789899373007915995476567635499892007602239332299838253183131389427506527641258610474567712941651538671095730367869529682225991561910808405373773019407171080685198681517649546047256388926442088966120525654300607093071310000714642710596613833420555923560601259897231414720702071909039143856249756192478581066271782904306264919209484594153303778731473519785587496916585888270272722589285500638018878296574890670305028198608672610665042463087901708759956186829202707673732533838994046245992206017640551885262193826966459893304665036227131984631437249884628750811600681906169218700610274564907694428598048865491148585596795686682589162794590740786478379219628349353457617129067553978067952162773408641464646223413385345313069492725800367037551087767528961848433007383036104299999860330454838111864401580785287370781037262087576128440297404211573992743766557930488382097153629524292278156860689222993692308343299724133554268804274077455982662777636005709808121540039515439361036244231601842090733256248899522209359365966064403440145115315694412489227172164673622361180228367062436456397667135519946858724960303189266055168448591989996296530910875089044170808032278815745915389069202178169302372820065085418839539370821593180128758788190470277565139335098619504836549461835138226293033033881439643774116684759533389416885324043921015857335292424311737173291168377028134802233611886578292369391277052150917385797421462669443245294673576873603551543300770480448699690189001259169769485837919979403276663374886842196398704570500809674546086704787208542182035654225086282929145053300184572737835475471879564938411058123194660776859682250233578759481890582711827641397301030106049346996042991287445791670850719564282811729733810275415940771140478449774409171357065657262179522959568530270375122790677949787954446078101681804015743476162728241133682645117020197854080199499696507006546734005014082368840166323475921718072797651127 128370994235938090265206533653192773365898789734547923069234651416734753606675143702458750710647008028029312125912716478542912529781291043314490262471576256966001933381872428109471672006801354285764797588102305045997575367447106356152847782140360773162653265988433790805359737885173893593857356442194046867315818362525677784440218948707331834043748904109785832434534753593124854209155819457261660073811890423719983618906319905647131113857173419844247918889941533317060088132387033146106289159035158135298795407615374787542185127911684303452233486522741460388040349826099334699126603687510067401444027647957264911371085989249016184757266140573722270745405649651075318515612019029739927988193496087633153701260723633448618943826059175082195283323981888468016670255552694362880231455168849378043900377083233159390282649137976740086487419137276152242336754485568515668790136083657975524548234492990867553927943180972654346758345910776475789835020900391010455611686524089604263520624321207531617308912462589074894501497405648356092252447034023335662036025025894853464389164411714885065872666796898838670359573317475420994735760128453593484723495882863571136152003468405139973298130151793900030605717647386327816035453286412609552052855669513362925648156454121986362238675716993972396343130358050777481273344095094919452660214172722145062075742413338318929997005107081153971633698927831661555507789225697563334390337628118115623537349219663151862604909631013542687374167195136768763798152226400854452685542334228742901488531258258871074483725661595613464653982550322270168672622723844971906599222225928525603361733445811245063172183462899680669573495209305964811459125790034603225321702067110580496384868127247031653250093596399843608788987371717734688679466652929643324002225340945281373784173498486868817386985851126047595101675039628706667126129571907083967962256331384286329789712238352933543963237622744139152158962870825547083773333231598267015438960837693210358518057753203182652035082322518731506530953218658780850681667066078720346056591548207573294606682593310316702116403392783007856593235710666139934183910428661233316004087524194827427832214882069408135171786966565809313559347396453370605317404169397237342774951106896483773863678359051186113099901187065198337148404939759434284018603683475218791228692141950593952342696264694614396480043433277018286804963371008642813722668232130322229448990655151009933794201634166450850568755698077486665762591512756389742474257175312454992930656222304033469007452498794417175102371883035648807402046651739250666354251824614677968494852078969990665903982983505690985075658610247608842571274085540613527330011356495332665452479092521960383484801223444643763772409430843314740861590184752256682630079143171543319753652403571542738382817596710158682141831846916904290560678006466414677859912000624648831352358803159905141132614253427837805364117270696923816372961913679168620686515437827702569837524785796949691624166080988332261778365782504458132448084290328675200794589900938037917718540677463374915618717111693237453544169206187275130335524702207289565750689115879435004822835903537866719079050099522315116670280099588958787889337642419369226208801716305354078028865179853364493420337998504728751070825061069579992786643234133771172503153674768353169406198984558712920937929999191020727490394183081891492847883159215381571846277777648277152820795072678352348174217280758023765405407923462048932606007511739048787863710901767366845817297818711820463805743944200930104908578752274132940556076928178744857684408861652239121320885405547098587542566636879117581972597016618555906760456968685088148295610091680010587193802448171446756586302727889385639267849795332611573054227614918247985032075360545961277231749960705933040808374509292875496474707399638365250940082641061177062524759396040192790880508582200303278302927914093885685855009099678178353294799166366693654067041830034388388718690752872585999600496277479996261831859949070040271229518995711011426771765774876261323736895151842834755876037853230075202736252641999987676 207708631843364668349346790962469196874151169154789347552344475658703498110534315530824874709916115384294552665760931929753547527400627692825922933311586007658043300428925461638145832833753323119941979299138564944961264892403518313511869978095179420491827149775016118905023126854069795453884754788856054047842816992063345794548352009009548125486793573379757210153395651719826525215375344556488167589054794944136833162108153318841599181836422801412126907774074242077895328237357704427223354044858585422670030165046409090328446982653913917532266243852395882766933107653003496486265182086724531403105190401132226209837241477501032281907175089710705414435277392355874777686289940199351665575970102799396958167611477574128816870347485755319253392368039907348930144788358925564405116483485768432997877826640700021388757813350735251200536391569980483187277180101362030570354761571439810253924658319049259714659823727088242293011382721591481841660284296903049698337610927926909191567245627429284182183182660357288651961560630669829616020597134669157752253729376127700093417483596510985980348252815908435544564086545309108573470350335899311280541133461708514460638417779131121335973268986934127417639329975931430377387859776949525078609132881113607395128179543861462314966322453956093352824883176368566347502535646527336037886349099315360957380982277125575239550527075194884455569114817705904302020668178136490299732371391526331549770301930281910770271035634342116833947399295285584356014016406726915719906474204799707062160500675492664983490070564866620169953543730731976515985884652092473302542105253561529225194847758372738217371133544603237986906096311638545282162228411804890203268881465739017328193251963790778259151088500685171417058368688958085854744319356760966739682996406232638507697639008791846804855117311369055502522307868359758591749012225471234988810461224816257648610052632294941510328548995012311597483417392027368866039100967152760867029088744382813080541131095641426405666012014943403001155581919306948444257883013626131279067757850841468991319059780573022905803367010820481454093459914390900376539305448079778093966563323775143692522527445859307508179702962042376949059239404055609937617242422580368732202457634537742384338246071992837651770996917433067866830630931321345092423977456494625962309377340632111601888743521083540838569009553802672587412056442318643528365378828744155650004914215752269831025616354868522759607899554327242858241172579028172646780522094521939587083960001035506988793039995711003063372644605624934308040065530035825557024556852813286641105517121433078567612742939692520187783332342781447836617520077746631167881896618689159631912372397186996610616785854881893648401160242443996647030808885362531247537773571769592185244800989168338425065406759504749422928310226136532639914135623595482231837979952787422239993823449383318526477927322920563605731154821784691345334810346686551656790815437688033024675636650198530476911536862025594349354494222801862344022077034095233131282971998091667442010818834324064138612409420036537177677723474991549207791507364984925571460497237419474520262196939782098320921140832778564016192489458954924852292777787534684920621290943477518751651226360081731555856794396171864271017683786029883182052698402582363162499450205679228258450369792590991736683845388260222905659696555901956578266722698586203165026406536436467623098360212013450967679053830219858903631700956495930372249781628423808321253127787091410766833155154004244775542917235369307133043380985886019518848446319455797008601794659073701790764130700220675461146118180179888062421296706807557165930226454523008127698886755054897429390201152741947566260848814594172847810031830986836659337156759971548169604813196021433156796688371764056235469151368975125730053466881528947962767724038362207168574106392083184078326300253051022842585739643827695961270949870818656803069208337723759311329221352993956918989065875663263949388450723558097943635875692546202999470652678356128446969619855075761020243901698576839769958406693396398678657970714797638803 336079626079302758614553324615661970240049958889337270621579127075438251717209459233283625420563123412323864791673648408296460057181918736140413195783162264624045233810797889747617504840554677405706776887240869990958840259850624669664717760235540193654480415763449909710382864739243689047742111231050100915158635354589023578988570957716879959530542477489543042587930405312951379424531164013749827662866685367856816781014473224488730295693596221256374826664015775394955416369744737573329643203893743557968825572661783877870632110565598220984499730375137343154973457479102831185391785774234598804549218049089491121208327466750048466664441230284427685180683042006950096201901959229091593564163598887030111868872201207577435814173544930401448675692021795816946815043911619927285347938654617811041778203723933180779040462488711991287023810707256635429613934586930546239144897655097785778472892812040127268587766908060896639769728632367957631495305197294060153949297452016513455087869948636815799492095122946363546463058036318185708273044168692493414289754402022553557806648008225871046220919612807274214923659862784529568206110464352904765264629344572085596790421247536261309271399138728027448245047623317758193423313063362134630661988550626970320776335997983448677204998170950065749168013534419343828775879741622255490546563272037506019456724690463894169547532182276038427202813745537565857528457403834053634122709019644447173307651149945062632875945265355659521321566490422353119812168633127770172592016539028449963649031933751536057973796226462233634607526281054246684658507375937445209141327479490054828556581204183983280543317007502918656479591520944510093621354201839493428590583532849597824578120091037809912401182097085015025847356060675820543423786009690610063685221747177919881481812507278715622242103162495103097623982907988465258875141797378318956772717556200543978399764870647875054291786617756450749642380262852915949812434198751027882468049582076023439059188848844609057701094337462134507686535137965729294939550079704851625124349399049042285925742373883339607919770403603489310686695625057040310723215876741011409970650847969971120354742327928715643351489928608186262618586800508980542934646591977606074977408741434226158201924431044023764870898104498266203979035871080779376442581139969844753538069482582705554231439785778155235049052987079690874217019813327286342088047060874477879453904870903279764819817989034973610176655252404729524003764091784562389254779269834394580014616223339540457800492494505420238475016488660583115442112181775076223378808677427964609600369200403069233516725923198211172858990953029056679188794163287244695211907975184492297364851489708956994101587078326537412173569673287311387892399070114787930167852714941135504998453392739881163448224356214908105070142073053436930474813630061896909697891953412071071346182252543223667610541576348401411095272092481615161707772260365720277477330875515735594513161435995480168535702943013926611132860005306320476470161324423908332077561899029705359729359511787439054231126531729774631221892681178824338127032067192215137211186353298909525085032843319965040000190932300879132862769558543883640182115429954054146830092659782872829680091539935096049277132394676593022088508847099463174839341636716134335002603880447581427856568777149704657621775387451243633150090738983848071114605857801584736872684314084744775919155284691803315853271110977882669037108879957979304855789140162857109116838688858777612650452972716065239348661179570237237951959738160152459404523247634541866286203520725940912085016105767774048688684817059005644393893723426113072690683423208096275994496846734908016584003600913394322847151542483558487077881626319448232391384374889796154636888556567394434028438332469989276277525878268001226528174281167313213707806679423384231098865788123376869206808835251326120888667557921581647125958970496835156364007504090452965396263183028345307707756628535849948988947001038094205467735641616243270700171674067139873741385629952022343980796850419674525834444546626473881394223356797626479 543788257922667426963900115578131167114201128044126618173923602734141749827743774764108500130479238796618417457434580338050007584582546428966336129094748272282088534239723351385763337674308000525648756186379434935920105152254142983176587738330719614146307565538466028615405991593313484501626866019906154963001452346652369373536922966726428085017336050869300252741326057032777904639906508570237995251921480311993649943122626543330329477530019022668501734438090017472850744607102442000552997248752328980638855737708192968199079093219512138516765974227533225921906565132106327671656967860959130207654408450221717331045568944251080748571616319995133099615960434362824873888191899428443259140133701686427070036483678781706252684521030685720702068060061703165876959832270545491690464422140386244039656030364633202167798275839447242487560202277237118616891114688292576809499659226537596032397551131089386983247590635149138932781111353959439473155589494197109852286908379943422646655115576066099981675277783303652198424618666988015324293641303361651166543483778150253651224131604736857026569172428715709759487746408093638141676460800252216045805762806280600057428839026667382645244668125662154865884377599249188570811172840311659709271121431740577715904515541844910992171320624906159101992896710787910176278415388149591528432912371352866976837706967589469409098059257470922882771928563243470159549125581970543933855080411170778723077953080226973403146980899697776355268965785707937475826185039854685892498490743828157025809532609244201041463866791328853804561070011786223200644392028029918511683432733051584053751428962556721497914450552106156643385687832583055375783582613644383631859464998588615152771372054828588171552270597770186442905724749633906398168105366451576803368218153410558389179451516070562427097220473864158600146290776348223850624154022849553945583178781016801627009817502942816564620335612768762347125797654880284815851535165903788749497138326458836519600319944486035463367106352405537508842117057272677739197433093330982904192107249890511277244802154456362513723137414423970764780155539447940687262521324820789503937214171745114812877269773788023151531192890650563211677826204564590480551889014557974807179866375971968542540170503036861416641895021931334070809666802402124468866558596464470715847446823214817156120183306861696073618062540882363461629076255645929870453425889618633529458819086655549595845434343903496369784554806731972382244936670812735036035301364356334167098576224375047446593532490216423301847661094285517423482177711810901780403365530241251250705886321836147801129468862890731360642323295810504515806314241033875863093804593873651929277223886895953604718372933208431060574729915731308034923207955477319177705626286710727690243254381908219588513631115719657527998452299189969570388949253657379141535871906199493311340005701926542194088468899268965016826426914266306507042582607052271934268146313203768619188798086194010645447239805039520960487354228108182820492238358519141463360533897121372801740178346111503192843535951766311808899616156170373545918539432177140708671683590718384045347229783102063360921331765079443149055259017498808492474893217488739067451383603260391581331317900016827605133926790848457293106192633129346356892040039298497497502054086126809686306938569740696394305620775711466538809787294885804649381328556387787901899090850521212399017515496705254283532324941197741572668809836453909677105570768586665430369966475950188379483608126720310014891578414939544370995340724046171978252969567090338874887998179799642702849146805988449509834802997238893706815190430233670238620909877731104403693383601789805445974204753655341889108000357077731334887913457306284891728541134861344324241701752588827590825126704234045511746677247243126956581641162696261176475530717785591399672972180206560947533109088302348963474407201749277608396908841315491959433215841814212276725484536022302226696822504199113898377397724596192149103611334162446270170824352423268320711005485027783364224698548996514295792851240022872560052194071595265282 879867884001970185578453440193793137354251086933463888795502729809580001544953233997392125551042362208942282249108228746346467641764465165106749324877910536906133768050521241133380842514862677931355533073620304926878945412104767652841305498566259807800787981301915938325788856332557173549368977250956255878160087701241392952525493924443308044547878528358843295329256462345729284064437672583987822914788165679850466724137099767819059773223615243924876561102105792867806160976847179573882640452646072538607681310369976846069711203785110359501265704602670569076880022611209158857048753635193729012203626499311208452253896411001129215236057550279560784796643476369774970090093858657534852704297300573457181905355879989283688498694575616122150743752083498982823774876182165418975812360795004055081434234088566382946838738328159233774584012984493754046505049275223123048644556881635381810870443943129514251835357543210035572550839986327397104650894691491170006236205831959936101742985524702915781167372906250015744887676703306201032566685472054144580833238180172807209030779612962728072790092041522983974411406270878167709882571264605120811070392150852685654219260274203643954516067264390182314129425222566946764234485903673794339933109982367548036680851539828359669376318795856224851160910245207254005054295129771847018979475643390372996294431658053363578645591439746961309974742308781036017077582985804597567977789430815225896385604230172036036022926165053435876590532276130290595638353672982456065090507282856606989458564542995737099437663017791087439168596292840469885302899403967363720824760212541638882308010166740704778457767559609075299865279353527565469404936815483877060450048531438212977349492145866398083953452694855201468753080810309726941591891376142186867053439900588478270661264023349278049339323636359261697770273684336689109499295820227872902355896337217345605409582373590691618912122230525213096768177917733200765663969364654816631965187908534859958659508793330644521068200689867672016528652195238407034136983173035834529316456648939553563170544528339702121642907818027460075466851164504980997985737201561800913907865019715085933232012101716738794882682819258749474296413005073571023486535606535580882157275117406194700742094934080885181512793126429600274788702673482903845309139736434315469385516305797522710351623092639851308667115527962054335846096068973216212541472950493111408912723957558829360665252332938469979961210059136701906248700762597297425290080634190728747113192447714587904394024984721843540322677582946100538924289893585978003782174207669215860306255522239217034646194786088942533501314248839561194995108404321120558305712569058144226642075376604910598819960011534968472748299589018619422815607025592107107873479001651863195241707774648100751961855471934565633068594372243406500863762883719276051233763859611564382686187954469765861699010475617366427921699006747921668750354867417992211745477188719504213701959522189490813982942748053447571620214233414503296962399682943049795438095796151078161469537857898942247074662483496086440121508837349197884045571499369355845882869944017293570432262626422028400921522697380322281918028576042692132657008647442793214281476263043264411011409439951923654411059185525050315194701480228809531731381676014631832504657966574391114163507346890401051927396163162710171959878033869652720495934414189372638771775164605957174936670781397057599385596052175624241705918716411888981961359908749522539486805164808965992134061099436375254240239594509781608947300462206324437657492814724880741174201700525583614934162911756223558523487814297899351209084153659783311311593300939200679687880448524713462558208354568736211955151899561289821965795083625733124119925509751140478878590309156222024853565036704034788024203125511128183109815443863574390183337397208975630771837968329937816739917923553675084363074759670859255522867811812327115797223345904665242121747719050647534404579132734963847366344725634286354571346975778689540870996026490408194452391114979805708205495399416188821627295786649346441446417428392891761 1423656141924637612542353555771924304468452214977590506969426332543721751372697008761500625681521601005560699706542809084396475226347011594073085453972658809188222302290244592519144180189170678457004289259999739862799050564358910636017893236896979421947095546840381966941194847925870658050995843270862410841161540047893762326062416891169736129565214579228143548070582519378507188704344181154225818166709645991844116667259726311149389250753634266593378295540195810340656905583949621574435637701398401519246537048078169814268790297004622498018031678830203794998786587743315486528705721496152859219858034949532925783299465355252209963807673870274693884412603910732599843978285758085978111844431002259884251941839558770989941183215606301842852811812145202148700734708452710910666276782935390299121090264453199585114637014167606476262144215261730872663396163963515699858144216108172977843267995074218901235082948178359174505331951340286836577806484185688279858523114211903358748398101100769015762842650689553667943312295370294216356860326775415795747376721958323060860254911217699585099359264470238693733899152678971805851559032064857336856876154957133285711648099300871026599760735390052337180013802821816135335045658743985454049204231414108125752585367081673270661547639420762383953153806955995164181332710517921438547412388014743239973132138625642832987743650697217884192746670872024506176626708567775141501832869841986004619463557310399009439169907064751212231859498061838228071464538712837141957588998026684764015268097152239938140901529809119941243729666304626693085947291431997282232508192945593222936059439129297426276372218111715231943250967186110620845188519429128260692309513530026828130120864200694986255505723292625387911658805559943633339759996742593763670421658053999036659840715539419840476436544110223420297916564460684912960123449843077426847939075118234147232419399876533508183532457843293975443893975572613485581515504530558605381462326234993696478259828737816679984435307042273209525370769252511084773334416266366817433508563898830064840415346682796064635366045232451430840247006703952921685248258526382590417845079191460200746109281875504761946413875709909312685974239209638161504038424621093555689337141493378163243282265437117746598154688148360934345598369475885028314175698332898786185232963129012339866471806399501547382285178068844417797475172324619146082994898840111744938371543044214378956510686676841966349745764865868674288493637433410032461325381998547062914211768672089635350987557474938266842170338677231617962406467605396879784185539737910467111012141844075364835775663648979673894143637544650065710801422645354996421399517162931796155919299263500864203538332944743399533323029504749927457738814981069426285579105288362590885484962156556320340475486587654223161067046671433376071252712137376655192769635765811057694026193656396308055787479374886331444748125921014228175792937474470264146013623501923272832890757608383501459430182553092968532107568461522686117454638041462191258798629693272450963209716204010445439918198435262398249021124993519571429964110931546496554554553534735677615779492409524091761842854462459765430973287593541500625131901864931532281732859866303655992342727339968751259544985976373507608300894113358155888623421715313129330006712052701200800470445916631097446233016938874176710769665328755457369877262970577160540670866015127169573954186278102311882917920993373365814374728552865798659066930677336187969856771640759154371617669226156685269131818009449325979942641186252496415910462381815219616062199880325226317783309717744673068358290811536793058024274583893453549932503178670305083381264050314518908532413108224078101063152256639021156853708540932018015848466644612484803120292061745049615678691740938080299770880372754255139691456606559835566658868114994567030444810148536498764273027011856024047837481961420136863919776653127819075230439187718877518847232255072949761101401636934077745743742450230478503674958309941135811041820378913676515163396600007589072430193948412703117420147026672219001498611499988157043 2303524025926607798120806995965717441822703301911054395764929062353301752917650242758892751232563963214502981955651037830742942868111476759179834778850569346094356070340765833652525022704033356388359822333620044789677995976463678288859198735463239229747883528142297905266983704258427831600364820521818666719321627749135155278587910815613044174113093107586986843399838981724236472768781853738213641081497811671694583391396826078968449023977249510518254856642301603208463066560796801148318278154044474057854218358448146660338501500789732857519297383432874364075666610354524645385754475131346588232061661448844134235553361766253339179043731420554254669209247387102374814068379616743512964548728302833341433847195438760273629681910181917965003555564228701131524509584634876329642089143730394354202524498541765968061475752495765710036728228246224626709901213238738822906788772989808359654138439017348415486918305721569210077882791326614233682457378877179449864759320043863294850141086625471931544010023595803683688199972073600417389427012247469940328209960138495868069285690830662313172149356511761677708310558949849973561441603329462457667946547107985971365867359575074670554276802654442519494143228044383082099280144647659248389137341396475673789266218621501630330923958216618608804314717201202418186387005647693285566391863658133612969426570283696196566389242136964845502721413180805542193704291553579739069810659272801230515849161540571045475192833229804648108450030337968518667102892385819598022679505309541371004726661695235675240339192826911028682898262597467162971250190835964645953332953158134861818367449296038131054829985671324307243116246539638186314593456244612137752759562061465041107470356346561384339459175987480589380411886370253360281351888118735950537475097954587514930501979562769118525775867746582681995686838145021602069622745663305299750294971455451492837828982250124199802444580073819188540662153490346686347179473895213422013427514143528556436919337531147324505503507732140881541899421447749491807471399439402651962825020547769618403585891211135766757008953050478890915713857868457902683233995727944391331752944211175286679341293977221500741296558529168062160270652214711732527524960227629136571494416610784357944024360371198631779667481274790534620387072149367932159484838069333101654618479434809862576823429492141398690952293596806472133321268393592362295536371790604856347284267001773208317175939009780436329706974925005376194742338196007329886615462632737791661324961119804223255381582459660110382493016260177718501330757498982857787967713945579682971318397366314581870421858435068616427644951793489626905796531049676116979705229731989940382561374640105774802358292956278368006071329093768546880554422006661533393452584290014454080726669931204421092437342059588788794135641043676782572116475021095931244003399625422622076712381610866073917486489850503697872669824927762149844543292341888256357759100690642777046592717130572992273413125301146416103727782694937189414417037724405241054236725489423529124679254061909387686992860918758484689142633830868769314009682430915852400437423478752971186211755035946120162764377159840087712891316169584192757788910512374325496014336129346920403354136779920674913956045161898557923495595593586965420354803391327761162511370019275591914633953263521498498160413102036886882729543362625110090373197384766533179442641179733126748890857059499369482303517045548990056080647269277687641028290586085710509343576805568120363751730325593060523372057603959107588889941648458820853567955196540100357236401580850809932717472629500896626881778625834692409233358737553236861244096479609505763069144498839232371090621462792814313018304156200310978819503624557751139968392154363625281998882370901271640532256777642115087795083498265383322801272050423409956842205512203542661216648116866436581012944935409699132200556721090996119442644464940146191027662533623542760968979974123597295505980769669041593110087175864764858246305285719825351912816405404084709615787714987394780635689347828891939047442813321565442945028928381048804 3727180167851245410663160551737641746291155516888644902734355394897023504290347251520393376914085564220063681662193846915139418094458488353252920232823228155282578372631010426171669202893204034845364111593619784652477046540822588924877091972360218651694979074982679872208178552184298489651360663792681077560483167797028917604650327706782780303678307686815130391470421501102743661473126034892439459248207457663538700058656552390117838274730883777111633152182497413549119972144746422722753915855442875577100755406526316474607291797794355355537329062263078159074453198097840131914460196627499447451919696398377060018852827121505549142851405290828948553621851297834974658046665374829491076393159305093225685789034997531263570865125788219807856367376373903280225244293087587240308365926665784653323614762994965553176112766663372186298872443507955499373297377202254522764932989097981337497406434091567316722001253899928384583214742666901070260263863062867729723282434255766653598539187726240947306852674285357351631512267443894633746287339022885736075586682096818928929540602048361898271508620982000371442209711628821779413000635394319794524822702065119257077515458875945697154037538044494856674157030866199217434325803391644702438341572810583799541851585703174900992471597637380992757468524157197582367719716165614724113804251672876852942558708909339029554132892834182729695468084052830048370331000121354880571643529114787235135312718850970054914362740294555860340309528399806746738567431098656739980268503336226135019994758847475613381240722636030969926627928902093856057197482267961928185841146103728084754426888425335557331202203783039539186367213725748807159781975673740398445069075591491869237591220547256370594964899280105977292070691930196993621111884861329714207896756008586551590342695102188959002212411856806102293603402605706515029746195506382726598234046573685640070248382126657707985977037917113163984556129062960171928694978425772027394889840378522252915179166268964004489938814774414091067270190700260576580805815705769469396333584446599683244001237893931831392374998282930321755960864572410824368482254254326981749598023402635487425450575852726262687710434239077374846244891424349894031563384848722692260831558104162521187306625808316378377822169423151468965985441625252960473660536402231887839851442563822202443295235891642946073237471665650889930796440718211508378531270630716601285655810045987587273686625686622402679452739790874050483235975629417362347940844631284854575536729791893858606369139934598377224663354937409336463737225104379737572153253683490150082330539210389946706197522084048290321788589338139692616597953695031113401104746894921736538480673903606639005896625901021767539394358598518474338293236987730959679031689578377044966211632087760741432912828647243011955202687715110158643369187158472586436773035391233679770738575267262381973273969225390029317417950848776378020336229816358520503772724192566049879483474738956493732843307854239384635835351156459875531871675765867432313035355182695980087888970265919833126911059354020882938163758824388340743973793362462348954991977013488648801991247445470211924607231622299853143864603763125693382920812377305857777747195995650576395696864119889426173501031138272065531796489706945121308978225106640890492518082071976792715104399180152595944393430040911063593499208691380567460250460355343693720113507194860296322845043337601681365221438038922355870455375822143486300095221263421898479200348446327274735369399551749745792503875613408433568832582834711317269478417578355319973298601461176036250500782347245569695240069437371485467257633321446690411176599658279810846450408549153751279623034571016892414081456412839332135673212165489769155816858798976110085119174432646321256210948518580195387565963871019638462492728656983245523501073627198109691661458265402935345285971947265723180038038682511132983362421118067965266258101721342420279816212229196547056607382406603119338853829626095243361921263595660961162954636784317761224779184314994983853065883296241595056467589839993784444443640428369205847 6030704193777853208783967547703359188113858818799699298499284457250325257207997494279286128146649527434566663617844884745882360962569965112432755011673797501376934442971776259824194225597237391233723933927239829442155042517286267213736290707823457881442862603124977777475162256442726321251725484314499744279804795546164072883238238522395824477791400794402117234870260482826980134241907888630653100329705269335233283450053378469086287298708133287629888008824799016757583038705543223871072194009487349634954973764974463134945793298584088213056626445695952523150119808452364777300214671758846035683981357847221194254406188887758888321895136711383203222831098684937349472115044991573004040941887607926567119636230436291537200547035970137772859922940602604411749753877722463569950455070396179007526139261536731521237588519159137896335600671754180126083198590440993345671721762087789697151544873108915732208919559621497594661097533993515303942721241940047179588041754299629948448680274351712878850862697881161035319712239517495051135714351270355676403796642235314796998826292879024211443657977493762049150520270578671752974442238723782252192769249173105228443382818451020367708314340698937376168300258910582299533605948039303950827478914207059473331117804324676531323395555853999601561783241358400000554106721813308009680196115331010465911985279193035226120522134971147575198189497233635590564035291674934619641454188387588465651161880391541100389555573524360508448759558737775265405670323484476338002948008645767506024721420542711288621579915462941998609526191499561019028447673103926574139174099261862946572794337721373688386032189454363846429483460265386993474375431918352536197828637652956910345061576893817754934424075267586566672482578300450353902463772980065664745371853963174066520844674664958077527988279603388784289290240750728117099368941169688026348529018029137132908077364376781907788421617990932352525218282553306858275874452320985449408317354522050809352098503800111328995442322506554972609169612148010068388277215145172121359158604994369301647587129105067598149383951333409212671674722440868727051716249982271373081350967613810774104791869829947763429006992768245437006515543639061626559088345076351828832325974714946879131330986179515010157489650697942003586372513774620892633145374471564989494469921998632065020118665383784344764189765262457362064117709111803870674067642421321457632940077047760795590862564696402839009159714715879426677978313825424692234556307264022646236861690911698081861750722394258487607156371197587054965067982603362595360120967629069833053648936576704528576619380519116906749433541131629319522394484744707230380809976626911676921042048543712413808254918857300135545465687692287021218847658994392493072484273868391499046938302018965162525350170706831800749338328758786941215485662179568517680776435016656301847450956878128455890760459075893727190087775776538527864879522158246776861531824883208826926076191869529486006256433155385800739563133851397064946288713490272673367272080672119509212568224327829220813903920272779367627306392655257110057983475793378201355429400492241619988203002481416332087371608782139940856755919932709886140709722889680183273761532124997496799051000899810101087457076300170623455292085300532086729333028497968651655029452091252384629738352443674094442553843142947950476228752054005677550623657740110226899556148374593423071735900397101050847524955084471345926536023091421173941123511849507608988543925251895395099121129877342806315875933217367541157722524483170138123046372774895420330535003042026846183218254976746466322121848063206177876490992058999927272420696137889316609519553047992983650713656033809706727099760569039643114492715790047520295785250953339735367118056803547592896743205296222310475361047369285021785294000707406655480343279139401652352878106382269371926298916882675422312238595403602129102805065583008111457285764254965963040785192203320144352113363176272160931963916801960008220167568881380786514867453189721845934394972029982378633701572644070486995515032653315349887388669356750254651 9757884361629098619447128099441000934405014335688344201233639852147348761498344745799679505060735091654630345280038731661021779057028453465685675244497025656659512815602786685995863428490441426079088045520859614094632089058108856138613382680183676533137841678107657649683340808627024810903086148107180821840287963343192990487888566229178604781469708481217247626340681983929723795715033923523092559577912726998771983508709930859204125573439017064741521161007296430306703010850289646593826109864930225212055729171500779609553085096378443568593955507959030682224573006550204909214674868386345483135901054245598254273259016009264437464746542002212151776452949982772324130161710366402495117335046913019792805425265433822800771412161758357580716290316976507691974998170810050810258820997061963660849754024531697074413701285822510082634473115262135625456495967643247868436654751185771034648951307200483048930920813521425979244312276660416374202985105002914909311324188555396602047219462077953826157715372166518386951224506961389684882001690293241412479383324332133725928366894927386109715166598475762420592729982207493532387442874118102046717591951238224485520898277326966064862351878743432232842457289776781516967931751430948653265820487017643272872969390027851432315867153491380594319251765515597582921826437978922733794000367003887318854543988102374255674655027805330304893657581286465638934366291796289500213097717502375700786474599242511155303918313818916368789069087137582012144237754583133077983216511981993641044716179390186902002820638098972968536154120401654875085645155371888502325015245365591031327221226146709245717234393237403385615850673991135800634157407592092934642897713244448779582652797441074125529388974547692543964553270230647347523575657841395378953268609971760618111187369767147036530200691460194886582893643356434632129115136676070752946763064602822772978325746503439615774398655908045516509774411616267030204569430746757476803207194900573062267277670069075333485381137280969063676439802848270644969083030850941590755492189440968984891588366998999429541758949616339534427635587013279551420198504236598354830948991016446261530242445682674026116717427007322811852760435063411520590651729925074521093157532819109400318637611987831388535311820121093472552357955399873853106805910873796877334321364562454267463413901275427290837427236928108251994914149830015379052598913052038058918595887093748382864549190383025241688612454506753477161214289454842054582497151895307500812398420703591940468119862328856864831819726134996391428805207707742332932274221312559983135979475787094475282816902603165197071222130469769012138992438439738343781914723521833413459522722447319052814151544758321903084860046290805495557140895982123452751515963446768544013149934106725903958262999354074812704541016473897099858854849338041104117549470407889981618189532145390837864034428301283756507505726625314905885215751974605297365304549075774876805559666608485979739099741009625185375398485007856940478160389256140105680307435854815489300457194593749053940814979626800250565470151479645450801957269155840550310421377505730268790194249926886544011978840404439794000620523695835579523630535266986041051508728120648073194747865019699527260958107438442688987088575007477208038311253604609542147547534163229177344842751623826690386947273183859014069727960745386245010874118095453920619669655569453719394580943734702732212746393123393701796991398913564660241218733112929507467744273698222669834490529429092552108379808830775974726555107317881455392524790353250740303833604503202882433719037323992036017361917500577663343748625380446617683597295796169127455969961597146734930336690604826599141181216981878975250165927955537289451602109752315845452237231236193914152954153814802505862927011240304660247786729364389901003844352766599762044539564647672307271584888829941145492276634086113262086167486701076076723543865976308383320601404432516691408720745582875280270817746428055251582088832477041747677822089974039607159174156344977362486767455940312082051982622493309134331832309785119460498 15788588555406951828231095647144360122518873154488043499732924309397674018706342240078965633207384619089197008897883616406904140019598418578118430256170823158036447258574562945820057654087678817312811979448099443536787131575395123352349673388007134414580704281232635427158503065069751132154811632421680566120092758889357063371126804751574429259261109275619364861210942466756703929956941812153745659907617996334005266958763309328290412872147150352371409169832095447064286049555832870464898303874417574847010702936475242744498878394962531781650581953654983205374692815002569686514889540145191518819882412092819448527665204897023325786641678713595354999284048667709673602276755357975499158276934520946359925061495870114337971959197728495353576213257579112103724752048532514380209276067458142668375893286068428595651289804981647978970073787016315751539694558084241214108376513273560731800496180309398781139840373142923573905409810653931678145706346942962088899365942855026550495899736429666705008578070047679422270936746478884736017716041563597088883179966567448522927193187806410321158824575969524469743250252786165285361885112841884298910361200411329713964281095777986432570666219442369609010757548687363816501537699470252604093299401224702746204087194352527963639262709345380195881035006873997583475933159792230743474196482334897784766529267295409481795177162776477880091847078520101229498401583471224119854551905889964166437636479634052255693473887343276877237828645875357277549908078067609415986164520627761147069437599932898190624400553561914967145680311901215894114092828475815076464189344627453977900015563868082934103266582691767232045334134256522794108532839510445470840726350897405689927714374334891880463813049815279110637035848531097701426039430821461043698640463934934684632032044432105114058188971063583670872183884107162749228484077845758779295292082631959905886403110880221523562820273898977869034992694169573888480443883067742926211524549422623871619376173869186662480823459787524036285609414996280713357360245996113712114650794435338286539175496104067027691142900949748747099310309454148278471914754218869727912299958630257035635034315512621789545724419775568248859275978702473147149740075001426349925483507534056279449968598167346398692801470819035476138730469174494745739951285345361866828791286561086332483532566659211635601617002190565614059031858941819249726666555473359516551535964141509178455411755079428080697772169222632903839192603280266746817053459159330147049260111615290022329870584723115352438976097332583446393873190311104928292395188941629816189628412363799003859436283122282103820655671601398331661386923184445574162724700148745090380564770991031466622406463615622038630325733983092516775988554976515945824000237315160043060088236125691066483613170060906613453879345232684041074340511517609621798325905424546283465640489023519293754794887377177483697593502401853433750095274132852074226836373958983703731635858478015465745356174165010986114961618859254005424449102746412779047579516526934998513025418921578274754718899899579618192776544134902560859940744949218751665850777997971888778397252408302876099350449186579734857376443628545465664340258156666224325270260245645569993798865919509628348415183738613312442380660308009294767644282102578193802576986254481561974581104067500784829501116326806964545956712799391922561497775835564147519225803944047142466316844131803783060271348207865047723527422004985834182342244962437116456288198950118064933611659306435358424255742048143515884277631801051593515571163128146160634368607545229728616937292300738502339483765563783841220239617439446544956017991934058444065489514645139718581050346638636305868280977550918618364658643745584809747387360705655580819355288039741507049697359111024816338288058609589682033080730071796556484187631906001414397417671029941679197883805712616567804515229489715391188972552284084188180829630231274346361386596635836835760834108759147441202781663230015259802256401358422534192689543163761453093569128374959741120469028584382569047497655146624484219220979141869715149 25546472917036050447678223746585361056923887490176387700966564161545022780204686985878645138268119710743827354177922348067925919076626872043804105500667848814695960074177349631815921082578120243391900024968959057631419220633503979490963056068190810947718545959340293076841843873696775943057897780528861387960380722232550053859015370980753034040730817756836612487551624450686427725671975735676838219485530723332777250467473240187494538445586167417112930330839391877370989060406122517058724413739347800059066432107976022354051963491340975350244537461614013887599265821552774595729564408531537001955783466338417702800924220906287763251388220715807506775736998650481997732438465724377994275611981433966152730486761303937138743371359486852934292503574555619795699750219342565190468097064520106329225647310600125670064991090804158061604546902278451376996190525727489082545031264459331766449447487509881830070761186664349553149722087314348052348691451945876998210690131410423152543119198507620531166293442214197809222161253440274420899717731856838501362563290899582248855560082733796430873991174445286890335980234993658817749327986959986345627953151649554199485179373104952497433018098185801841853214838464145333469469450901201257359119888242346019077056584380379395955129862836760790200286772389595166397759597771153477268196849338785103621073255397783737469832190581808184985504659806566868432767875267513620067649623392339867224111078876563410997392201162193246026897733012939289694145832650742493969381032609754788114153779323085092627221191660887935681834432302870769199737983847703578789204589993045009227236790014792179820500975929170617661184808247658594742690247102538405483624064141854469510367171775966005993202024362971654601589118761745048949615088662856422651909073906695302743219414199252150588389662523778557455077527463597381357599214521829532242055147234782678864728857383661139337218929807023385544767105785840918685013313814500403014731744323196933886653843938261995966204597068493099962049217844551358326443276847055302870142983876307271430763863103066457232901850566088281526945896467427829892113258455468082743248949646703297165276761195295815662441846782891060712036413765884667740391804926500871018641040353165679768606210155177787228113290940128948691088424574368598846757196219158744163112651123540599946946467934638926439044239118673866053946008771834628779265468525397575470131851235257561319960945462453322386384623729386381000406892735108801399550611054637647861658532318881962797990447051972217270795823467579837822678398018847261224669410254189799325607888150893479142253185725447300891877802071167343800379361624183917944639423670578503840087493438350519436558008373943941715185780273898012333129450958639398575516200761928587073238170232416970441876169414981426158420361706581140933195360855650725915875375832436265083830021168910131618829315678461240205099229027168339635311026107457371592140923034758580537195525086501445484455915174636171490360103867110945902609492002552884727886952381750487813482613515327328695533879526379868758246695614548011661898014105059301976272155503702157568591502335189420111329289591019528857996967324381045187970793423652265376778988366293643188546730939209155609373291177056001429469235315486502805955535707187735950124520417710739319423855691327475216448389510665978615684673544778167572371893931018068138895459513500861860897787866506515273017741331258749520518820918550494423560978075366623924032472648340734768102188735527910532635550878919490610832739118933048908095953481396900938202212048432611050656329624730538356845683064361504563988242819893162639615287730227571521459476242286453511387037243462905009462194532797593614824571701122099198989470457971426271592519275935421202651512925827322201215069849894342280867459436186457488031984672601176441957235677613986469468694542557713296791863575828653275140038985160264904373496207582729681988001068353527169554854342022721473599409658070511384345233835464281870511633137801060252743284719937103607236484524694651099480277639933618551053288926989175647 41335061472443002275909319393729721179442760644664431200699488470942696798911029225957610771475504329833024363075805964474830059096225290621922535756838671972732407332751912577635978736665799060704712004417058501168206352208899102843312729456197945362299250240572928504000346938766527075212709412950541954080473481121907117230142175732327463299991927032455977348762566917443131655628917547830583879393148719666782517426236549515784951317733317769484339500671487324435275109961955387523622717613765374906077135044451265098550841886303507131895119415268997092973958636555344282244453948676728520775665878431237151328589425803311089038029899429402861775021047318191671334715221082353493433888915954912512655548257174051476715330557215348287868716832134731899424502267875079570677373131978248997601540596668554265716280895785806040574620689294767128535885083811730296653407777732892498249943667819280611210601559807273127055131897968279730494397798888839087110056074265449703039018934937287236174871512261877231493097999919159156917433773420435590245743257467030771782753270540206752032815750414811360079230487779824103111213099801870644538314352060883913449460468882938930003684317628171450863972387151509149971007150371453861452419289467048765281143778732907359594392572182140986081321779263592749873692757563384220742393331673682888387602522693193219265009353358286065077351738326668097931169458738737739922201529282304033661747558510615666690866088505470123264726378888296567244053910718351909955545553237515935183591379255983283251621745222802902827514744204086663313830812323518655253393934620498987127252353882875113923767558620937849706518942504181388851223086612983876324350415039260159438081546110857886457015074178250765238624967292842750375654519484317466350549537841629987375251458631357264646578633587362228327261411570760130586083292367588311537347229866742584751131968263882662900039203706001254579759799955414807165457196882243329226256293745820805506030017807448658447028056856017136247658632840832071683803522843169014984793778311645557969939359207133484924044751515837028626256205921576108364028012674337810655548908276960332800311076707917605208166266558459309571312392468357814890131879927927220944124547887221959218574808322524185920914761759164424829818893748863344586708481564520610991903937684626932430479034593850562040661241309239480112977867713653878505932023998757092021667815376766739775372700541881403084156792952019284839599496015375548216604070213967794910918643934171985127861031775087569709771920800163284216551588329952189517064599195819615515236300514692483001689468847729404712533473672565675461766284808629492107364123819323594220652264429381986058964471989565980345511514256990529109118005935155344399516438077088630133326406358108036925489339475888039612299706939265182007535872373260347714201281256982548549470510192429425373624203055638723902692731429021773385406300240309445818977296993742284268831383564516911229812089339647157605321722726364951327058594748965663775466468908685486326508032436905603450252779425959486951023239749450572521838759054278053642122933501674046346988754743492296210679738777599263715373410952926510852311051580318489702049248611939213182345596858718783957788474915669313871849895623495797573599817809765929752701506672192301294004959758828260045949505837472943161641386344170090133869669766582215658121263457548004327214631998310298333289089539123797244046242923536328605903223037803740380320671598458799701713848041963268956891292927063006495110370919984642423667116609543061572570819593662339667593621925469040696329448628145345784227860259339707595633279664286015586948990887426172092437383882099210877743172083716211979483215446706908946376831163627007090947807315676928252348872036852138539503128459484024313948189507983013972219616578602590839374906707555665667352500255174281101307093065544044464112591269244453085203126438857076043374597704190362930388963101170162676381072888085771186601635193886816063201176301562513346312413094896844727705513109077220146977932786558102770274268068858890796 66881534389479052723587543140315082236366648134840818901666052632487719579115716211836255909743624040576851717253728312542755978172852162665726641257506520787428367406929262209451899819243919304096612029386017558799625572842403082334275785524388756310017796199913221580842190812463303018270607193479403342040854203354457171089157546713080497340722744789292589836314191368129559381300893283507422098878679442999559767893709789703279489763319485186597269831510879201806264170368077904582347131353113174965143567152427287452602805377644482482139656876883010980573224458108118877974018357208265522731449344769654854129513646709598852289418120145210368550758045968673669067153686806731487709500897388878665386035018477988615458701916702201222161220406690351695124252487217644761145470196498355326827187907268679935781271986589964102179167591573218505532075609539219379198439042192224264699391155329162441281362746471622680204853985282627782843089250834716085320746205675872855582138133444907767341164954476075040715259253359433577817151505277274091608306548366613020638313353274003182906806924860098250415210722773482920860541086761856990166267503710438112934639841987891427436702415813973292717187225615654483440476601272655118811539177709394784358200363113286755549522435018901776281608551653187916271452355334537698010590181012467992008675778090976956734841543940094250062856398133234966363937334006251359989851152674643900885858637387179077688258289667663369291624111901235856938199743369094403924926585847270723297745158579068375878842936883690838509349176506957432513568796171222234042598524613543996354489143897667293744268534550108467367703750751839983593913333715522281807974479181114628948448717886823892450217098541222419840214086054587799325269608147173889002458611748325290118470872830609415234968296111140785782338939034357511943682506889417843779402377101525263615860825647543802237258133513024640124526905741255725850470510696743732240988038069017739392683861745710654413232653924510236209707850685383430010246799690224317854936762187952829400703222310199942156946602081925310153202102389003938256141271129805893398797857923663629965587837903213420870608113341350370283348806234242482630523684854428091962765588240387638987181018477701973149028052699293373520907318323231943433465677783679355155016588808167532377425502528489488479705480427913346166923876485488507285197492524154667491799666612024301095333646004334725470541416681405665840006388750484349616154681268605442772577176253053947925851478827059786980567744267743122039229986348799450741734009450009414840844188665585962143942654573176705604411275743733019262145646432813410052003547489902098060739757867732505495522480363509922060697294530888541442247456893794742975032638839017217206564576590525007367365508890869465770720068645846322940731233228911073630076657089418813633300531361339556992453518734099964107791960456190113020717326347766817411118220028500864806026908651018356714268004514283329095681826593475897229668086751518548503353421290435974139990645952232932145786658952339355709269935363998584183736773159337355618395089005376203915580257078681716322009028368618792573370378277307556040281845003970755078828236978232856370892327797927939567161766092725315301319130938982300379555353516953665702826027089903040613428815450155735262397895348138921777326059888948257706241563697600283797016722971048866188112419864816813606306830870382546764565063842086823029464201113170364304353144246799534469816036777491179489526843805982497105943110038917691331763070090939962510773031642094950718249951550199579053175131692506850348216103079232870235248567394513587108408467129712625603824421125562115887205366616513805594307787147829008145366301621598433362540326591612349455000384962679460740718198309378366594815648944169471460251601251203767281332142385169652136821194797731994398098956641372697739252630254404717989576622646439805725362598772543890099943817443192884149980482546156282570946869029351097933712809439363573599055697814833948334941997633771871246458210426491721321327556995848066443 108216595861922054999496862534044803415809408779505250102365541103430416378026745437793866681219128370409876080329534277017586037269077453287649177014345192760160774739681174787087878555909718364801324033803076059967831925051302185177588514980586701672317046440486150084842537751229830093483316606429945296121327684476364288319299722445407960640714671821748567185076758285572691036929810831338005978271828162666342285319946339219064441081052802956081609332182366526241539280330033292105969848966878549871220702196878552551153647263947989614034776292152008073547183094663463160218472305884994043507115223200892005458103072512909941327448019574613230325779093286865340401868907889084981143389813343791178041583275652040092174032473917549510029937238825083594548754755092724331822843328476604324428728503937234201497552882375770142753788280867985634067960693350949675851846819925116762949334823148443052491964306278895807259985883250907513337487049723555172430802279941322558621157068382195003516036466737952272208357253278592734734585278697709681854049805833643792421066623814209934939622675274909610494441210553307023971754186563727634704581855771322026384100310870830357440386733442144743581159612767163633411483751644108980263958467176443549639344141846194115143915007201042762362930330916780666145145112897921918752983512686150880396278300784170175999850897298380315140208136459903064295106792744989099912052681956947934547606195897794744379124378173133492556350490789532424182253654087446313880472139084786658481336537835051659130464682106493741336863920711044095827399608494740889295992459234042983481741497780542407668036093171046317074222693256021372445136420328506158132324894220374788386530263997681778907232172719473185078839053347430549700924127631491355353008149589955277493722331461966679881546929698503014109600350605117642529765799257006155316749606968267848366992793911426465137297337219025894704286705696670533015927707578987061467244331814838544898713879553159312860260710780527372457366483526215501694050322533393332839730540499598387370642581517333427080991353597762338779458308310580046620169283804143704054346766200623962765898914611131026078774379899809679854661198702600297520655564782355312906890136127609598205755826800226159069942814458457798350726212072095288020174159348199966146920526492794464807904537122340050520366721737152826279901744199142385791129516522911759513467481988791040870706346546216128554698209633424950679605884765859897832758751482573237683495820187225933053712510602147356690339665067906406255781574678751640258798608645829030356080489180278445145632123420906110316944749416298694723911931241442902159367671309225692281392022297114491554486952353075902406208808787879070551365462828950087374549076916105847339890982948633044292854848366757505383019775585111504948267105602171421344277938346401362182771041553768982366077721789738688010484691885211886406123626588076263230095517022243149074858292215535267944080093853930486701003549319840848556726681500484212278819890199121460466498678389138535596039438378298842660293175113449156705575532213615409260518022507050250262569011822174012532688767146218056288743789230234066892592896584289244780877485590172069553237924656646723524950241008394629173169026562478097953155171326719595455527533762095341907433775208983995308347401185611864938967446233118347840111233464182499455137986428596870515327051863127111939595920409506344008611306765623151635367424150974104684673815845258334171529884819454448446418136733045503601053480958902333755430186700483024083343851235757290385843573475668619749504580320652196132443963338572577830881847058799602695357458017138797696261805007661326764948538700230017573791002594535917091743132785225440453488133907289277707349256999531599280221326768862390908763838452152485432471217829806358120707049092725317804173695052906275499406049706916742203365221523649171074779749085296881768737196476734253030332780544363046826361555434242053757548504223237913996913985740926086945368110909730793062647510742849091393436143213049824091601825064706957239 175098130251401107723084405674359885652176056914346069004031593735918135957142461649630122590962752410986727797583262589560342015441929615953375818271851713547589142146610436996539778375153637668897936063189093618767457497893705267511864300504975457982334842640399371665684728563693133111753923799909348638162181887830821459408457269158488457981437416611041157021390949653702250418230704114845428077150507605665902053213656128922343930844372288142678879163693245728047803450698111196688316980319991724836364269349305840003756452641592472096174433169035019054120407552771582038192490663093259566238564567970546859587616719222508793616866139719823598876537139255539009469022594695816468852890710732669843427618294130028707632734390619750732191157645515435289673007242310369092968313524974959651255916411205914137278824868965734244932955872441204139600036302890169055050285862117341027648725978477605493773327052750518487464839868533535296180576300558271257751548485617195414203295201827102770857201421214027312923616506638026312551736783974983773462356354200256813059379977088213117846429600135007860909651933326789944832295273325584624870849359481760139318740152858721784877089149256118036298346838382818116851960352916764099075497644885838333997544504959480870693437442219944538644538882569968582416597468232459616763573693698618872404954078875147132734692441238474565203064534593138030659044126751240459901903834631591835433464833284973822067382667840796861847974602690768281120453397456540717805398724932057381779081696414120035009307618990184579846213097218001528340968404665963123338590983847586979836230641678209701412304627721154784441926444007861356039049754044028439940299373401489417334978981884505671357449271260695604919053139402018349026193735778665244355466761338280567612193204292576095116515225809643799891939289639475154473448306146423999096151984069793111982853619558970267374555470732050534828813611437926258866398218275730793708232369883856284291397741298869967273493364705037608667074334211598931704297122223617650694667302687551216771345803827533369237937955679687648932660410699583984876310554933949597453144624124287592731486752514344446949382493241160050138010004936842780151179249636783404869655724367997237192936845277928132218970867157751171871633530395327231453639837131879321301937115300961997185330039650829539000072202165066172446825620684630893076327009047066427005267148600815341966039992550550854025239626314830616519612273516344247448913432751178680456072996440279880979563989429207143670907409335649528295011561027551091000532618095838445196924677845864407289574777994082815921356025160031713986057577674256312211371218799127790342131780164846997050009432716585824466906103318767611993612919722744830349581715755123064546455559539158051660220357257626971153739844230957827888998338831082494974354595435820175816071572915108539358531240523838652118276652341401999426840952935843080641213737050744013880885200866553624658348098368213815796685375913316745786394768252002760782173311489557434606489324341371467741826097330638198369563110477447740889312305372952764878913111512426454178149268900855728854697795514836848862114167507541622932874741588259999859705722568404925924130252454574663092112007101119944474488157501460398332710524843673261158353560851998382520862590659139730570745296533750786716293506122066605546352797161782783252154709399645736703439471727943925545902751279888890773176370607709974664831625264144468989026960092057868641345921596945627935944980539028000706996590997820025087193256791422986594116882877852241104093525025868198802679712013159046480660066417805448066130414453313189803765925146851423300086226133223442652153905316743823168098789742364925237109434406823873816028460498901627162349641962211060020939525078240757503579487396321956892722819081010125402039191477894969940994889850638269897505006348289439942617851778053889064356371731736687494099795249278143130276597987555930976342037980398336328495373252589011930626795180289660544423808724564741397589508376620962639894353639541545412929382060555023682 283314726113323162722581268208404689067985465693851319106397134839348552335169207087423989272181880781396603877912796866577928052711007069241024995286196906307749916886291611783627656931063356033699260096992169678735289422945007452689452815485562159654651889080885521750527266314922963205237240406339293934283509572307185747727756991603896418622152088432789724206467707939274941455160514946183434055422335768332244338533602468141408371925425091098760488495875612254289342731028144488794286829286870274707584971546184392554910099905540461710209209461187027127667590647435045198410962968978253609745679791171438865045719791735418734944314159294436829202316232542404349870891502584901449996280524076461021469201569782068799806766864537300242221094884340518884221761997403093424791156853451563975684644915143148338776377751341504387686744153309189773667996996241118730902132682042457790598060801626048546265291359029414294724825751784442809518063350281826430182350765558517972824452270209297774373237887951979585131973759916619047286322062672693455316406160033900605480446600902423052786052275409917471404093143880096968804049459889312259575431215253082165702840463729552142317475882698262779879506451149981750263444104560873079339456112062281883636888646805674985837352449420987301007469213486749248561742581130381535516557206384769752801232379659317308734543338536854880343272671053041094954150919496229559813956516588539769981071029182768566446507046013930354404325093480300705302707051543987031685870864016844040260418234249171694139772301096678321183077017929045624168368013160704012634583443081629963317972139458752109080340720892201101516149137263882728484186174372534598072624267621864205721509245882187450264681443980168789997892192749448898727117863410156599708474910928235845105915535754542774998062155508146814001539640244592797003214105403430154412901591038060960349846413470396732511852807951076429533100317134596791882325925854717855175476701698694829190111620852029280133754075485564981124440817737814433398347444757010983534397843187149604141988385344866796318929309277449987712118719010164031496479838738093301507491390324911555497385667125475473028156873140969729992671203639443077671834814419138717776545860495606835398692672078154291288913681616208970222359742467422519473813996480079287448857641793756461993234576773169589520438923902218998726727364883773278867456525569978186518734630589606382836746339096766982579937835948255567199218158282204145281672184233751918139568816627505814033276500031354500361247074403555934550793135706302731259331226741667475553005167026142852435206901414988926238300774576330408709969508915699214370738890108353482623523802461961488604496385069661726873114912106646682544978382551694917724130792671228911886346542487791095953075205624384476536759619816069332837265444433253916318632533782221537998842614468877521724608962313577340128761344226613885832964579523919343871309254072987162955743493082088892602428192222144302497688925233157594343121449752486973060993201688678895072988002730510003337865535708937041029856285590896897594887837586568174139431134019476704440718280723029741387386562661054905150857956737775689825467638172549244640583208158576995477368177111221386617062248109514573647657184063938496285865696170392856613881094614093724428296365868123725879092697719362651655260952355184953386464030625965282707292695828242607218766523591071037485498671689395234781787677373333126300199049415118573673700775937316202812875806416400076382363117272073504308050071956722358842623443491906010677460734113609531489937098501536818552184292333811242613104029756378025897012261512112792499123383163990220996348031140884769417102444016973840741889792336900842328852567192049314269516594406190904869698898961742659301160851847103148412343325848474442325194036910816483522746240570620287745168584903544545396911056055206182145983073301703060139136120817033569262836991726012396160609378531918977802703593414640390086043877475826925927540780921215747489791919634295534460237019119470054033330496852591369504531207125261980921 458412856364724270445665673882764574720161522608197388110428728575266688292311668737054111863144633192383331675496059456138270068152936685194400813558048619855339059032902048780167435306216993702597196160181263297502746920838712720201317115990537617636986731721284893416211994878616096316991164206248642572445691460138007207136214260762384876603589505043830881227858657592977191873391219061028862132572843373998146391747258597063752302769797379241439367659568857982337146181726255685482603809606861999543949240895490232558666552547132933806383642630222046181787998200206627236603453632071513175984244359141985724633336510957927528561180299014260428078853371797943359339914097280717918849171234809130864896819863912097507439501255157050974412252529855954173894769239713462517759470378426523626940561326349062476055202620307238632619700025750393913268033299131287785952418544159798818246786780103654040038618411779932782189665620317978105698639650840097687933899251175713387027747472036400545230439309166006898055590266554645359838058846647677228778762514234157418539826577990636170632481875544925332313745077206886913636344733214896884446280574734842305021580616588273927194565031954380816177853289532799867115404457477637178414953756948120217634433151765155856530789891640931839652008096056717830978340049362841152280130900083388625206186458534464441469235779775329445546337205646179125613195046247470019715860351220131605414535862467742388513889713854727216252299696171068986423160449000527749491269588948901422039499930663291729149079920086862901029290115147047152509336417826667135973174426929216943154202781136961810492645348613355885958075581271744084523235928416563038012923641023353623056488227766693121622130715240864394916945332151467247753311599188821844063941672266516412718108740047118870114577381317790613893478929884067951476662411549854153509053575107854072332700033029366999886408278683126964361913928572523050748724144130448648883709071582551113481509362150899247407247440190602589791515151949413365102644566980628634229065145874700820913334189172400165556867264957137636644779129709748016372790393672042898960636014449199148228872419639819919977539366382129780130681208576285857823014064055922122646201584863604072591629517356082423507884548773960142093993272862749750927453833611958608750794757094718459178564616423999128520511126067285171173552985568404171943783534617044613524001779190421724802786331647317836605177462263086183718830431798548392730585616984930598595641813067785695012840489460561644032154483739205462845804696733853822259863844837505920749929844872007259724781679409071742159656799736362122696027086589955526582110108907481272965655582626808485654505817786247551340021015425414294538591302274439748073712508426351976432802102026949147613295562882011447690499464047027160726263783264336411292987129218041713814914187383986061083140202837415992247037996568015885259805532459762424512522991123731176836628693948642517260776290590358118294374301146474340129516218004489733843166513178236329679477327071881471079691633039575239399419396068344638484200142959520939018344245531903158618867549623885470242084358175891754012972124245317312758342379760809244500288930726981921401498429565796049709174255210634518122145341565398894618576221014066117772234655466092106949158956527263456449837994253113438371554458477251558932816827787748065959447405227888343922205995319014963031401422969284125554964047981043100965030674679263042662727736029374071454221728013345704318308097811101505015046662954542383929816700283328997271577616991461772594030623527405017354864004346970289093764096174183473963142675965425982302889308310841644296434257274108212069256349333717663909988582079265767565962001598873188085545054905092532032048540923953719322100376925343905915922813244796399217916855991826608924785432048515257686163474754182815294416062403495622088600925079756949203492492548770256756936786975290539290885976519474908779045631395038726414539250728415937858167576101505408034215728358860275857826527496091016673224850492132914917460589185817004603 741727582478047433168246942091169263788146988302048707216825863414615240627480875824478101135326513973779935553408856322716198120863943754435425808844245526163088975919193660563795092237280349736296456257173432976238036343783720172890769931476099777291638620802170415166739261193539059522228404612587936506729201032445192954863971252366281295225741593476620605434326365532252133328551734007212296187995179142330390730280861065205160674695222470340199856155444470236626488912754400174276890638893732274251534212441674625113576652452673395516592852091409073309455588847641672435014416601049766785729924150313424589679056302693346263505494458308697257281169604340347709210805599865619368845451758885591886366021433694166307246268119694351216633347414196473058116531237116555942550627231878087602625206241492210814831580371648743020306444179059583686936030295372406516854551226202256608844847581729702586303909770809347076914491372102420915216703001121924118116250016734231359852199742245698319603677197117986483187564026471264407124380909320370684095168674268058024020273178893059223418534150954842803717838221086983882440394193104209144021711789987924470724421080317826069512040914652643596057359740682781617378848562038510257754409869010402101271321798570830842368142341061919140659477309543467079540082630493222687796688106468158378007418838193781750203779118312184325889609876699220220567345965743699579529816867808671375395606891650510954960396759868657570656624789651369691725867500544514781177140452965745462299918164912463423288852221183541222212367133076092776677704430987371148607757870010846906472174920595713919572986069505556987474224718535626813007422102789097636085547908645217828777997473648880571886812159221033184914837524900916146480429462598978443772416583194752257824024275801661645112639536825937427895018570128660748479876516953284307921955166145915032682546446499763732398261086634203393895014245707119842631050069985166504059185773281245942671620983002928527541001515676167570915955969687227798500992011737639617763462989061850425055322574517266961875796574234587624356897848719912047869270232410136200468127404774110703726258086765295393005696239523099510123352412215728935494848878475060840422747445359210907990322189434236714796798230390169112316353015330172270401267830092037896199652398888474921171799193197168718040950049969504169900280350452177450811240060187022800042736409780028107639532670744084819185115298211341750918048590080752538012257801218682516735210629695291509046116989491916144393401558142761397396597832440156553519195071579173396302935011898150112159988580824060668397957574312692531405996595505654740952848999015834755589179385088769974259002202855909278213135927532060977083569684826134665797843301097580888319148644514740243566370768506395924227259083863096493563529227697590327611619663000263251813756801852863582807749165150993332375799340794629771092770111983681768383832245196718339792372187030731409863204482812502420792063226379631934472637667756976706904159714866915224752465329802391474417557168748512280429275681659241536079087980546089113157775379551379863059585830346915211629470920836946659163830080983093002583810017933358489140872138885558916878866606677017436326236503320149091769802525629337390904441917184458974386115750080185831377455322395387182328930691972476090026815410832436512319280858413713348666740101056130951140972518910086000516900094658679360336751725354376227265229724094381616336428511966690274267097534429745780700671215083175009323096734911264742772440143775235007949038351105071304083967722028941835907048296680781531706868125930561499860154937477538774802012691474831865292782288414992981486358793350691504651878374416166609894814568790922502355061649311283436901747439885696378623261228772447054328266139093270841543110892902643092447531672619135545431332059657727360691327118458701804234583998381460009342628613365803826019773778701302935451495355051393886581749224809679116500583128204242863785708357022721155524007647993155810318063546615561070706555347344724284421991796311078985524 1200140438842771703613912615973933838508308510910246095327254591989881928919792544561532212998471147166163267228904915778854468189016880439629826622402294146018428034952095709343962527543497343438893652417354696273740783264622432893092087047466637394928625352523455308582951256072155155839219568818836579079174892492583200162000185513128666171829331098520451486662185023125229325201942953068241158320568022516328537122028119662268912977465019849581639223815013328218963635094480655859759494448500594273795483453337164857672243204999806329322976494721631119491243587047848299671617870233121279961714168509455410314312392813651273792066674757322957685360022976138291068550719697146337287694622993694722751262841297606263814685769374851402191045599944052427232011300476830018460310097610304611229565767567841273290886782991955981652926144204809977600204063594503694302806969770362055427091634361833356626342528182589279859104156992420399020915342651962021806050149267909944746879947214282098864834116506283993381243154293025909766962439755968047912873931188502215442560099756883695394051016026499768136031583298293870796076738926319106028467992364722766775746001696906099996706605946607024412235213030215581484494253019516147436169363625958522318905754950335986698898932232702850980311485405600184910518422679856063840076819006551547003213605296728246191673014898087513771435947082345399346180541011991169599245677219028802980810142754118253343474286473723384786908924485822438678149027949545042530668410041914646884339418095575755152437932141270404123241657248223139929187040848814038284580932296940063849626377701732675730065631418118912873432300299807370897530658031205660674098471549668571451834485701415573693508942874461897579831782857052383394233741061787800287836358255461268670542133015848780515227216918143728041788497500012728699956538928503138461431008741253769105015246479529130732284669365317330358256928174279642893379774214115615152942894844863797056153130345153827774948248955866770160707471121636641163603636578718268251992528134936551245968656763689667127432663839191725261001676978429660064242060626082179099428763419223309851955130506405115312983235605905229290254033620792014793317862942530982963068949030222814980581951706790319138304682779164129254410346288192922021328721663703996504950447155983193380350363809621167846561461176036789341073833336020581622755023594804067413566738188970449832442319002391402655790292760474427934636879021879300930742843418203613115330852442763077204058957478952477788425556041881966860242402529174010375779058916416679317052864856770157371884770260233132410557614374049054654102023682095610267534959107923316028554834967715578459913508020642156829553156942957475271622160987100574413871555809523932864751950746541689391179666331388407371917758547910123654289793010961926738904606792218304965628670989236849643890889367988409324622837337362645656352575644443444192896355236320449516629000880979373927123980773402860539086437527526106274602153885761466440747326228045151554431942656874272945497248801788087519828695077727586174563288123505610052176119625083283021678453379970800681871555279012838413176802205228410315342152397694167733641161069612540838280365036242813486035410758530783609891947867194736285523018138198525092158350405546277938326614278922650638778768686225589528398369869309688071252097686201461414626187506284019295063178514229100963548301517627963485891715773335419328230260398773644658999156247996064345721319262443091485018979312894276514338143397865807126702256844058564005220615968096533076677998345556346853261912301027751820800632222104744973823297613442964757104901999785673509589216545689101193555615142684409168561866956495432377460776570389795690440606704216375968933795980809650097945361605697790960244188952338067240761027748894469701372317104667650803117495534411910175985743180862197426323184923461216958546121105914574082776710565676593474742381331570868795360794856204717842915122378932658801643875933124226563558223376352016086175890074111652087379780197836857199339452385496895990127 1941868021320819136782159558065103102296455499212294802544080455404497169547273420386010314133797661139943202782313772101570666309880824194065252431246539672181517010871289369907757619780777693175190108674528129249978819608406153065982856978942737172220263973325625723749690517265694215361447973431424515585904093525028393116864156765494947467055072691997072092096511388657481458530494687075453454508563201658658927852308980727474073652160242319921839079970457798455590124007235056034036385087394326548047017665778839482785819857452479724839569346813040192800699175895489972106632286834171046747444092659768834903991449116344620055572169215631654942641192580478638777761525297011956656540074752580314637628862731300430121932037494545753407678947358248900290127831713946574402860724842182698832190973809333484105718363363604724673232588383869561287140093889876100819661520996564312035936481943563059212646437953398626936018648364522819936132045653083945924166399284644176106732146956527797184437793703401979864430718319497174174086820665288418596969099862770273466580372935776754617469550177454610939749421519380854678517133119423315172489704154710691246470422777223926066218646861259668008292572770898363101873101581554657693923773494968924420177076748906817541267074573764770120970962715143651990058505310349286527873507113019705381221024134922027941876794016399698097325556959044619566747886977734869178775494086837474356205749645768764298434683233592042357565549275473808369874895450089557311845550494880392346639336260488218575726784362453945345454024381299232705864745279801409433188690166950910756098552622328389649638617487624469860906525018342997710538080133994758310184019458313789280612483175064454265395755033682930764746620381953299540714170524386778731608774838656020928366157291650442160339856454969665469683516070141389448436415445456422769352963907399684137697792926028894464682930451951533752151942419986762736010824284100781657002080618145042998824751328156756302489250471542937731623427091323868962104628590455907869755991123998401671023979338206934089308460413426312885358574827149572112111330858492315299896890823997420555681388593170410705988931845428328800377386033007743728812711821006043803491696475582025888572273896224555853101481009554298366726699303523094291729989493796034401150099554871668301522163002818336564602411226006293510974113686472759073566263654991090213609474598750477940081851673135487474975408058685769685554927611960053468755101219422295632066063072458368713105074468444393932818957600024728257639000361614166929298253987995852713355799868668307484044758841057193078955571948361747185508020277601265008487808106939150784144014352804348434172510223498066107766292870489536248705730671926709079669399110621513753071099391056429634746037099894803296145017631773220147853322238659517066516226455218568217442427791089713226698638533139402656998636678157275427445345756427125961280187481517167856421373068010105336987185256215362959878500753905738209074791553518443147651485942912066779184407986676664419914805970536599800257970759386827710642376104051699165333895004634662884738039210317715893501026199849785072340632286211503317925962415627526222782033208498099755159231642919830922361647261850932701661750392824073676427460055382984066544466155626463769704069601318037821107699378198065618425185280142124583571378544615174763292927607340150246204151033139186964065201612286642846228467498689795555495490122868026275335584759962754619988416796872837265719650527977451523661240132777071869474696987833799013169654319201604380761966067585288689168960597708533352507500348035306473683452550920503531906914691260505374881998834104094175041973936035100673213745330911598987355591139180718192795668353527659405835543420695346476568622834470238014572455091431338082304138641797112793819848777286786348548827594069637536677070299320899230557768921842676967888749719280377908796484344377896410193876686622262681942544081014396959415705507136901665429584290146947719082231024345171896493953620727213158086335545181581483761444181807974975651 3142008460163590840396072174039036940804764010122540897871335047394379098467065964947542527132268808306106470011218687880425134498897704633695079053648833818199945045823385079251720147324275036614083761091882825523719602873028585959074944026409374567148889325849081032332641773337849371200667542250261094665078986017611593278864342278623613638884403790517523578758696411782710783732437640143694612829131224174987464974337100389742986629625262169503478303785471126674553759101715711893795879535894920821842501119116004340458063062452286054162545841534671312291942762943338271778250157067292326709158261169224245218303841929995893847638843972954612628001215556616929846312244994158293944234697746275037388891704028906693936617806869397155598724547302301327522139132190776592863170822452487310061756741377174757396605146355560706326158732588679538887344157484379795122468490766926367463028116305396415838988966135987906795122805356943218957047388305045967730216548552554120853612094170809896049271910209685973245673872612523083941049260421256466509843031051272488909140472692660450011520566203954379075781004817674725474593872045742421200957696519433458022216424474130026062925252807866692420527785801113944586367354601070805130093137120927446739082831699242804240166006806467621101282448120743836900576927990205350367950326119571252384434629431650274133549808914487211868761504041390018912928427989726038778021171305866277337015892399887017641908969707315427144474473761296247048023923399634599842513960536795039230978754356063973728164716503724349468695681629522372635051786128615447717769622463890974605724930324061065379704248905743382734338825318150368608068738165200418984282491007982360732446968876480027958904697908144828344578403239005682934947911586174579019445133094117289598908290307499222675567073373113393511472013570154118148392954373959561230783972648653453242713039405558025196967599817268864110408870594266405629390598498216396809944975463008840054977881673310584077437499427409707892330898212960510125708265169174176121748519258934952916992636101896601216741124252618038146360251805579232176353391484574494399325654243220730407636519099575526018972167451333558090631419653799758522130574763537026766560645505804840869154225603014874991406163788718427621137045591716016313058711157500030906100546710854861681872526812439504411163872402043082852047947022493340696321287249795157627176212787720927772524170675526890130765700819160197620191806633839354399497944637625908747396915515221445917164031947396871721244513641906695117881402890788177305077312904412532030408664725438464855929529101290325489513186322410801839610043959696875276022767214862466812698849320519926894086018244140222937319449813447011520327891659027283493540954920145446617823050137598119025925703431283210668062776179683343802143115249621443805420833247436873183071098780326562870589527901127811981621474015519921083797921400870570154176542717837617373050373948989479264111166029618223498964938281431844483676945439279909588398812170957218333616350643550937365412054772324687320086665837114413885205664227557309217510014629717945906416492590288516575372581478862623485517434491439913633268114813321693956423194278110640593439596679162644408397058020381716311553698260018809961950478193581509158702816561172741708030683880240688459886468064423655146823555149451812654823476230816636177919115113624169541267329547368287927613503129914606332120183272025214883725750521641670934334741007958818965709736059315928750738629840871728037999383530642878996176953831892363018390270287298137457439964413141635542430872898736285173308132570140051447506750164363468289011816691046178884471215379793195368597589078719509841775612287407031364816367709570513883236275057744035374769339401504996574513984440168028974816644043769405323065166390691582495192165881954437151666323128481547712662813480183096656880953845303893926434870825194951991573194910054489884936258018193131477303338937219114802330827886069560467073460223271174282640454400697187982669843694838865245466115743018438683100896567304870965778 5083876481484409977178231732104140043101219509334835700415415502798876268014339385333552841266066469446049672793532459981995800808778528827760331484895373490381462056694674449159477767105052729789273869766410954773698422481434739025057801005352111739369153299174706756082332290603543586562115515681685610250983079542639986395728499044118561105939476482514595670855207800440192242262932327219148067337694425833646392826646081117217060281785504489425317383755928925130143883108950767927832264623289247369889518784894843823243882919904765779002115188347711505092641938838828243884882443901463373456602353828993080122295291046340513903211013188586267570642408137095568624073770291170250600774772498855352026520566760207124058549844363942909006403494660550227812266963904723167266031547294670008893947715186508241502323509719165430999391320972549100174484251374255895942130011763490679498964598248959475051635404089386533731141453721466038893179433958129913654382947837198296960344241127337693233709703913087953110104590932020258115136081086544885106812130914042762375720845628437204628990116381408990015530426337055580153111005165165736373447400674144149268686847251353952129143899669126360428820358572012307688240456182625462824016910615896371159259908448149621781433081380232391222253410835887488890635433300554636895823833232590957765655653566572302075426602930886909966087061000434638479676314967460907956796665392703751693221642045655781940343652940907469502040023036770055417898818849724157154359511031675431577618090616552192303891500866178294814149706010821605340916531408416857150958312630841885361823482946389455029342866393367852595245350336493366318606818299195177294466510466296150013059452051544482224300452941827759109325023620958982475662082110561357751053907932773310527274447599149664835906929828083058981155529640295507596829369819415984000136936556053137380410832331586919661650530269220397862560813014253168365401422782317178466947056081153883053802633001467340379926749898952645623954325304284379087812893759630083991504510382933354588016615440103535306049584666044351031718826632728804288464722343066809699222545067218150963317907692745936724961099296761886891008805686807502250943286584543070570052341981386866757726499499239430844507644798272725987863744895239110604788700651296065307250646265726529983394689815257840975766283628049376363022060708966099769887550904786247840785687386471405712606022348662377605741108877845967305746734245799407868253045857048204379462978587679814630269106415841265654063471241931423375520403252402344234375566892408384743764464594106772339974287942347518568468758270772549025118064237298140284510575321801617596842863673324275328258528467638289045085742683936547769033622330953992573210354030766960370894149528654548660671740531178013964207793811456563949996437488280960871937059702655441400513526571416276097288166434267214638620110693677196511243267157297696115456730199354785229471747016999584601098351285833586458843439035337582692751736992798352736050298113869285112800758630227601785326860742861287120344636596501241595848040331609008382843909634352608791154531800606232468873607678712408557858066777651416951194077228949220179205227486608740348598828322082475330758705282232649013215448652842883638377938248964493225247282716799205477734753481558726280994167442621720765248740429593937238394854775431810941212042720964319787471480580507474891678704742201249178348650770715010439221240644509697209670325767921573585698152856188766016458280368849179561660623663419950865651650819726162031559924606499741838201930480726924231599833496444818525815632918175357921190202715283971820918731382306684259353214213897289543639563014754610514989357618318630352171958848751232076031943411271694780604882822200343051082607274638266989389099135200743405369305032488695289012014659241223500215150722551185249339883779503995887438722767146570894323620544475329900369679254432386295130134704815394159245883018233511761746533393206462132503044513418122001722685425042359879163797315566078403552451288200020166862340749112845941429 8225884941648000817574303906143176983905983519457376598286750550193255366481405350281095368398335277752156142804751147862420935307676233461455410538544207308581407102518059528411197914429327766403357630858293780297418025354463324984132745031761486306518042625023787788414974063941392957762783057931946704916062065560251579674592841322742174744823880273032119249613904212222903025995369967362842680166825650008633857800983181506960046911410766658928795687541400051804697642210666479821628144159184168191732019904010848163701945982357051833164661029882382817384584701782166515663132600968755700165760614998217325340599132976336407750849857161540880198643623693712498470386015285328544545009470245130389415412270789113817995167651233340064605128041962851555334406096095499760129202369747157318955704456563682998898928656074726137325550053561228639061828408858635691064598502530417046961992714554355890890624370225374440526264259078409257850226822263175881384599496389752417813956335298147589282981614122773926355778463544543342056185341507801351616655161965315251284861318321097654640510682585363369091311431154730305627704877210908157574405097193577607290903271725483978192069152476993052849348144373126252274607810783696267954110047736823817898342740147392426021599088186700012323535858956631325791212361290759987263774159352162210150090282998222576208976411845374121834848565041824657392604742957186946734817836698570029030237534445542799582252622648222896646514496798066302465922742249358756996873471568470470808596844972616166032056217369902644282845387640343977975968317537032304868727935094732859967548413270450520409047115299111235329584175654643734926675556464395596278749001474278510745506420928024510183205150849972587453903426859964665410609993696735936770499041026890600126182737906648887511474003201196452492627543210449625745222324193375545230920909204706590623123871737144944858618130086489261972969683608519573994792021280533575276892031544162723108780514674777924457364249326362353516285223517244889213521158928804260113253029641868307505009251542000136522790708918662389178079078438308036464818113827641304098548199310438881370954426792321462743933266748095444981640225340607260773073861348080097336612987487191707626880725102254305835913808586991153609000790486955126917847411808796096213351192976581391665267216627697345386930156030092459215070007731459440466208838154581405467961900174192333485130193024189267736506809697006164925938540879638762267750990494674113126859894102901260547433138363238137375307984883838118493401806143190521539452879796820916774173129319545237195903817043637844057981944593183350864728108196995015560533342536664084409541712993844202222344546711778511982405192497383559289361513989981276066751308950912406988717199666252667686597443962461224632270569991139907752139552737902404677357892950092314583584625351742838967877694335395026620241584709197117595041188558168266269633272917192402602522120965989063865209517315451809957808377316769427176428682432078262324449110284826503446417109273778539150738915515185974440431302433615655481053704559166317600353924264070554697571024390894749044246189157575032043375501269091330584462192042270914135628421764719380942038425001245119739155763302614365324769146912861693600328416442546002383950099277971947185765437361799414740880635507045375912072295579045749893218331006248447119131157834588489328738810127875762819292207872115855510468834042740225322946991166151368144005066775880392551407888915504694767196910209720907599660007194062829861828604651618525049950194893797879295641894893868559774030706395181103699123765488315409368696952879647440109930548073352863143824429593690484912237152093474120356764969905725661716988326558321745959268218469015730155374222223705339625596591714806295964205743178970148728434471423180277784204180541195660651881473851032732962002697259687092544319676612450464820758491369670281891942874164486876180066392723008525636549221955452626564077361279276022599576504736689296284363139825739547861833641010404943649018567031218458849963237316417716907207 13309761423132410794752535638247317027007203028792212298702166052992131634495744735614648209664401747198205815598283607844416736116454762289215742023439580798962869159212733977570675681534380496192631500624704735071116447835898064009190546037113598045887195924198494544497306354544936544324898573613632315167045145102891566070321340366860735850763356755546714920469112012663095268258302294581990747504520075842280250627629262624177107193196271148354113071297328976934841525319617247749460408782473415561621538688905691986945828902261817612166776218230094322477226640620994759548015044870219073622362968827210405462894424022676921654060870350127147769286031830808067094459785576498795145784242743985741441932837549320942053717495597282973611531536623401783146673060000222927395233917041827327849652171750191240401252165793891568324941374533777739236312660232891587006728514293907726460957312803315365942259774314760974257405712799875296743406256221305795038982444226950714774300576425485282516691318035861879465883054476563600171321422594346236723467292879358013660582163949534859269500798966772359106841857491785885780815882376073893947852497867721756559590118976837930321213052146119413278168502945138559962848266966321730778126958352720189057602648595542047803032169566932403545789269792518814681847794591314624159597992584753167915745936564794878284403014776261031800935626042259295872281057924647854691614502091273780723459176491198581522596275589130366148554519834836357883821561099082914151232982600145902386214935589168358335947718236080939096995093651165583316884848945449162019686247725574745329371896216839975438389981692479087924829525991137101245282374763590773573215511940574660758565872979568992407505603791800346563228450480923647886272075807297294521552948959663910653457185505798552347380933029279511473783072850745133342051694012791529231057845760759728003534704068731864520268660355709659835530496622772742360193444062850753743839087625316606162583147676245264837290999225314999140239548821529268301334052688434344104757540024801662093025866982103671828840293584706740209797905071036840753282836170708113797770744377657032334272334485067399468894366044857331872649031027414763024017147932623167906665329468578574384607224601493736680421453385263879596864535382194237522636112460092161520601839242307921648661906442955186362696439658141835578092068440425540236096389059367653308747587560663739197736215372851645342247918574852132231685275125438170136004036351722317506322872690581075177702244779079403029371456125769541868922209395592865773828446689229301517937593913652009535878104985985362626450702863955899889846172434293155845043917858465702006384576667168477550603075179416801027490935181320107058395136320935268639961662981679367359611349194907216347269184493639238596478363802596471702135990226183365549294952652747755984098151923159115065165860769662241258861695402874314106284455715465962385090003116547187831993867982988648466307868601285396416651816352107009869180419424876615060499408398695788559217867904006140936065776258047261560775939030116897076901744890775325983197833898423163488725556191500981513119796836287440601233568046742747535656269271220134314833649251328121290637253323327595069914468584847014337984595565704577238706354691510495609197381994771152663500190843358141021874802949667096677321036008639687131613185781680258060343200555552809116210290708383237710970912614317104688817484813455235762168231810661065353675392543801966137106041771693460783655190578570087161320630857482780727480255471344687081510119500297621133843825374595484005630539891625922224939398406490767289887155594931411930849279455659547403177643807587774455876715108228730871754327524044292069160285407072978035300161880287424935979105045905682676679198989444562953594842314170892133803776455668973073216195200436884152096624573583918211342581039191088431758399379597035715082111914145611792312553418919262475196527427823919795795104973686138325823894672482484732079549250107418286085825250781907740997438325971022052571018319418479016825578065530562848636 21535646364780411612326839544390494010913186548249588896988916603185387000977150085895743578062737024950361958403034755706837671424130995750671152561983788107544276261730793505981873595963708262595989131482998515368534473190361388993323291068875084352405238549222282332912280418486329502087681631545579020083107210663143145744914181689602910595587237028578834170083016224885998294253672261944833427671345725850914108428612444131137154104607037807282908758838729028739539167530283727571088552941657583753353558592916540150647774884618869445331437248112477139861811342403161275211147645838974773788123583825427730803493556999013329404910727511668027967929655524520565564845800861827339690793712989116130857345108338434760048885146830623038216659578586253338481079156095722687524436286788984646805356628313874239300180821868617705650491428095006378298141069091527278071327016824324773422950027357671256832884144540135414783669971878284554593633078484481676423581940616703132588256911723632871799672932158635805821661518021106942227506764102147588340122454844673264945443482270632513910011481552135728198153288646516191408520759586982051522257595061299363850493390702321908513282204623112466127516647318264812237456077750017998732237006089544006955945388742934473824631257753632415869325128749150140473060155882074611423372151936915378065836219563017454493379426621635153635784191084083953264885800881834801426432338789843809753696710936741381104848898237353262795069016632902660349744303348441671148106454168616373194811780561784524368003935605983583379840481291509561292853166482481466888414182820307605296920309487290495847437096991590323254413701645780836171957931227986369851964513414853171504072293907593502590710754641772934017131877340888313296882069504033231292051989986554510779639923412447439858854936230475963966410616061194759087274018206167074461978754965466318626658575805876809378886790442198921808500180231292316354985465343384329020731119169479329271363662351023189294655248551677352656524772338774157514855211617238604218010569666669969598035118524103808351631002503369129387876983509344877218100949998349417896318943688095913705226761277388862212827632792952776854289256368022023797091009280703265243278316955770282011487949703748042516335261972255033205865325869149364440483524268888257733953032218889313313929123070652531749626595688234294793162076171884980702305227213949058776709487734856072682866408397040913078754728271858297157623816005076932403755026846396430633182766793482335725135383142317540404679441009607660362324015538783387313281326486050218292110723233197246731781922029623206684432647457139250754574280631288171405577260395129786415926289661012679772947621891195313009896127678703666347756650310916544706712971932591774348328548861159884033866628456100463228748933793736379454275542964085770226652845602840070567682777274901954033043555105057267879103280112071431701325644273634228654723276033739590434515988948977712331517385916737206374460193668876437045609101856954877384948518683522292005634977177784680086804691773233236001207241463732552557955449449941643583551758162493718186296580582395730557365985993862472644609069315834078120118461313491048450462071016047502232675678324572714809070231887461379662753742478566270839034771134056497993147481272743099849265628205157555762755438456712472589393331587685437024831516787928705179474358390141298444949100836259000530263120486432960199286318856195461085115222976812433497680459319682358688513930687198155550852100788290994760980638051545610589308860122963212131460314394095500429485720268464043779661246286807025924063163894806176658584108474578852040779827529012410547002073401278259368113867201702851228519297429769953786148611965394723994568380349303155091353327269611022302275790704250858917800585493141040862238247878849250857420375741632544803978098424616651173345278298878180976078075992047500535840603283815893684255427583406138655262920150832445432344326929138764889901255951758507331656053986796714570448965076521455602831079336375965701589585350636937866788815381948279755843 34845407787912822407079375182637811037920389577041801195691082656177518635472894821510391787727138772148567774001318363551254407540585758039886894585423368906507145420943527483552549277498088758788620632107703250439650921026259453002513837105988682398292434473420776877409586773031266046412580205159211335250152355766034711815235522056463646446350593784125549090552128237549093562511974556526824175175865801693194359056241706755314261297803308955637021830136058005674380692849900975320548961724130999314975097281822232137593603786880687057498213466342571462339037983024156034759162690709193847410486552652638136266387981021690251058971597861795175737215687355328632659305586438326134836577955733101872299277945887755702102602642427906011828191115209655121627752216095945614919670203830811974655008800064065479701432987662509273975432802628784117534453729324418865078055531118232499883907340160986622775143918854896389041075684678159851337039334705787471462564384843653847362557488149118154316364250194497685287544572497670542398828186696493825063589747724031278606025646220167373179512280518908087304995146138302077189336641963055945470110092929021120410083509679159838834495256769231879405685150263403372200304344716339729510363964442264196013548037338476521627663427320564819415114398541668955154907950473389235582970144521668545981582156127812332777782441397896185436719817126343249137166858806482656118046840881117590477155887427939962627445173826483628943623536467739018233565864447524585299339436768762275581026716150952882703951653842064522476835574942675144609738015427930628908100430545882350626292205704130471285827078684069411179243227636917937417240305991577143425180025355427832262638166887162494998216358433573280580360327821811961183154145311330525813604938946218421433097108918245992206235869259755475440193688911939892429325712218958603693036600726226046630193279874608673899155450797908581644030676854065058715178909406235082764570206794795935433946810027268454131946247776992351796764321160303425816189264305672948322768109691471631691060985506207480180471296088075869597674888580381717971383786169057531694089688065752946039499095762456261681721998837810108726938287395436786821108157213326433149943646424348856396095174305241779196756715357518912802729861251343601963119636728980419254554871461197234962591029513607718112323035346376130371254144612310520938401616273316712085457075295519811880602623769892558421002646846710429389309091130515102539759063198118748139505639484063410902837627921396943434050897135377202231246224934376253087109773175279519810048317146849256267660027015608569310883350321095150644420453065581327250621178253595488422310866328181157323550697070612114037387062860023773406151786631851813346674634914271141707939898056067100381135812949739701825227297596332851156411533190269135775947798255587826551780929198061069098209415874719509137964975514945745807610099989100191039813279150286778266509856931966360797825254518022602791112010020983446914789521281831492445447927082218080564852845081790821022870468031280497561983180493849449634857194340716969566749592060916881675022136773896712070485782830149913245842637362576825655774730584711182765295720267375623523312931647900309878984700472308394000738338044270848077741125825566993602344863267514252512765819048515696784630241406379569266714367596325124156444702569608963239817558945694107561159391544642238241234033100750064888103803669650696847283454787473498851355851863484324825619972458891616334507291366861081922301268909028391316789115594307899212970433894393121563329545643059527785291786178432948149002562301296943948471264069510263971629106984671957950179717208866033823990582309931582100273624953814245855308897372467702029868542229590580027332432315516704978954989693695421871395427807311932996042024334518223930636570942069428956074722998200569384687859338069269407836475371644536250922715197961505476567981002325401130459447578656365228139431902824903215725150624240992063735603236904132856534790327303363343828517662346987754160603670055416883614393447478842604479 56381054152693234019406214727028305048833576125291390092679999259362905636450044907406135365789875797098929732404353119258092078964716753790558047147407157014051421682674320989534422873461797021384609763590701765808185394216620841995837128174863766750697673022643059210321867191517595548500261836704790355333259566429177857560149703746066557041937830812704383260635144462435091856765646818471657602847211527544108467484854150886451415402410346762919930588974787034413919860380184702891637514665788583068328655874738772288241378671499556502829650714455048602200849325427317309970310336548168621198610136478065867069881538020703580463882325373463203705145342879849198224151387300153474527371668722218003156623054226190462151487789258529050044850693795908460108831372191668302444106490619796621460365428377939719001613809531126979625924230723790495832594798415946143149382547942557273306857367518657879608028063395031803824745656556444405930672413190269147886146325460356979950814399872751026116037182353133491109206090518777484626334950798641413403712202568704543551469128490799887089523762071043815503148434784818268597857401550037996992367687990320484260576900381481747347777461392344345533201797581668184437760422466357728242600970531808202969493426081410995452294685074197235284439527290819095627968106355463847006342296458583924047418375690829787271161868019531339072504008210427202402052659688317457544479179670961400230852598364681343732294072063836891738692553100641678583310167795966256447445890937378648775838496712737407071955589448048105856676056234184705902591181910412095796514613366189955923212515191420967133264175675659734433656929282698773589198237219563513277144538770281003766710460794755997588927113075346214597492205162700274480036214815363757105656928932772932212737032330693432065090805490231439406604304973134651516599730425125678155015355691692365256851855680485483278042241240107503452530857085357375070164374749619411785301325964275264705310472378291643426601496328669704453289093499077583331044475922911552540778679358141601289096104030311288532102298591444998985551872089726595189484736167406949590408631753848859744725857039845123894549631630762885581227543763458810618199166494029698393221963380119138407583124008989821713091977329773946008595187120492966403603160997868676988507903680086548276520152584260249861949631034610425164416220784195501640706843487265770862166563030375884563469032166933471499757375118568726546932907135592034943514090044515178772688406277545746627973011063714483838730338144984862593570240473159640400391099661329738102159040380046502999441949045231775995315997778234401398994733696869498656198438648725274838237155989193837096498318961807427047283190538727439753908436942768358053387606846862916056268446917226984415002441405840165053976231390069230610687076154354906002600643858427897119463706472963023131252970979776777017068255627017177508935744262734419694536555184026368701025845880944073129342640434759809165572203689859883960398623138786369830396445765740372570487822259575501109675159804513733563190421957582002192812643790658613150301350223410599861318717356292442627851768824012385890451706678410903775893191898202231215757791283423125755988609972473024688054932359769773663492080522837118916775896959623491595492344540257352362031447253673252547385679863092041856107699184010561181276219357537668419291917335835406006108492380901238771497153587183025087390122525846157932398677764285932349036311183166683514133903146089771885359392155152076683281906960574001906097975717271111344430748288488621992815265911523571564953032465239974073065726196103120607055372544089116012408934513684368497181790610144293192104449511634433328792922383584199641457509337862426024436922578893735118685759585127727281230780397946280789196013300452973858280272213367474788056946683701973760052821422817220558033137636947450383914551363692036786763318481777399160823408585731539785722367729488810660483758831963668105626406575999499395391657223700847426983755403824818946659596998722953455750189020692354750403208829427122360322 91226461940606056426485589909666116086753965702333191288371081915540424271922939728916527153517014569247497506405671482809346486505302511830444941732830525920558567103617848473086972150959885780173230395698405016247836315242880294998350965280852449148990107496063836087731453964548861594912842041864001690583411922195212569375385225802530203488288424596829932351187272699984185419277621374998481778023077329237302826541095857641765676700213655718556952419110845040088300553230085678212186476389919582383303753156561004425834982458380243560327864180797620064539887308451473344729473027257362468609096689130704003336269519042393831522853923235258379442361030235177830883456973738479609363949624455319875455901000113946164254090431686435061873041809005563581736583588287613917363776694450608596115374228442005198703046797193636253601357033352574613367048527740365008227438079060789773190764707679644502383171982249928192865821341234604257267711747896056619348710710304010827313371888021869180432401432547631176396750663016448027025163137495135238467301950292735822157494774710967260269036042589951902808143580923120345787194043513093942462477780919341604670660410060641586182272718161576224938886947845071556638064767182697457752964934974072398983041463419887517079958112394762054699553925832488050782876056828853082589312440980252470029000531818642120048944309417427524509223825336770451539219518494800113662526020552078990708008485792621306359739245890320520682316089568380696816876032243490841746785327706140924356865212863690289775907243290112628333511631176859850512329197338342724704615043912072306549504720895551438419091254359729145612900156919616711006438543211140656702324564125708836029348627681918492587143471508919495177852532984512235663190360126694282919261867878991353645834141248939424271326674749986914846797993885074543945925442644084281848051956417918411887045135555094157177197692038016085096561533939422433785343284155854494549871532759071200139257282405560097558547744105662056250053414659381009147233740228584500863546789049613232980157089536518768712573594679520868583226760670108313160868522336464481284498319819601805784224952802301385576271630468572994308165831158895597439307323707356131543165609804467994803678298314231600909848692687292858811325048371836568366722797726849096243062775141283783239111182097867967974272666380986555535670365396506022579108459760582482947623638325895696444071655936826029920760021965279155936241998266107137483273153242633926912194045761609157530810638985111427272781235280362064824816465407535893487500872836609257912207357526895759267101976060840345306199348099329552043415186762450825906819616902320763260548022317374994420049016032419541084670253398751213160060223574620171400062241761134057764208344973294084796138254355579866879203528986402081767098609344624041778548442114015723671244635671024092229462386854496286155033231141962923316545844251834610734349834334313146967535702812910433927167894952782411956684213710843330875188144420617862275844372847958453135340667341366322132545627835794231125173602451431451827669838131375582717050942284327481536340854130189154698337551654162299136294344040987729431667922482913413981053511550798749279301541620373334567039632832078167664230418567107966994517022785190485197837207807771604874797266302188949332015921269471611122822066780335685337720921927146631659109476281529513567267883925543477012731186687933089975493926195496854779682132551759431200392163046651008339753875604981388219866683522013158605583175869602393222887091311579010557401182182881743556144811554583099350244818643672922222068288497400064555526636613599379984038041498356326447361507819010327016095031821566015429066547337398445496766406710330128054305464808484315146018191900644432260185770091641702660591441107764906854322296547885698718693517625771402716127544421017789942720996975016719791751026735336573037686033679738904637391389588056940916181815308145175888623190734788571321351557200240491459127260460604980283518545731128182290488114661069941209910792690747771634017602276905964964801 147607516093299290445891804636694421135587541827624581381051081174903329908372984636322662519306890366346427238810024602067438565470019265621002988880237682934609988786292169462621395024421682801557840159289106782056021709459501136994188093455716215899687780518706895298053321156066457143413103878568792045916671488624390426935534929548596760530226255409534315611822417162419277276043268193470139380870288856781411294025950008528217092102624002481476883008085632074502220413610270381103823991055708165451632409031299776714076361129879800063157514895252668666740736633878790654699783363805531089807706825608769870406151057063097411986736248608721583147506373115027029107608361038633083891321293177537878612524054340136626405578220944964111917892502801472041845414960479282219807883185070405217575739656819944917704660606724763233227281264076365109199643326156311151376820627003347046497622075198302381991200045644959996690566997791048663198384161086325767234857035764367807264186287894620206548438614900764667505956753535225511651498088293776651871014152861440365708963903201767147358559804660995718311292015707938614385051445063131939454845468909662088931237310442123333530050179553920570472088745426739741075825189649055185995565905505880601952534889501298512532252797468959289983993453123307146410844163184316929595654737438836394076418907509471907320106177436958863581727833547197653941272178183117571207005200223040390938861084157302650092033317954157412421008642669022375400186200039457098194231218643519573132703709576427696847862832738160734190187687411044556414920379248754820501129657278262262472717236086972405552355430035388880046557086202315484595636780430704169979469102895989839796059088476674490176070584584265709775344738147212510143226574942058040024918796811764285858571173579632856336417480240218354253402298858209195462525173069209960003067312109610777143896991235579640455239933278123588549092391024779808855507658905473906335172858723346464844567754783851740985149240434331760703342508158458592478278216151496053404325468407754834269253193566830057244675893270965867568778632759834908350353258503871430874906951573450665528950809842146509470821262099335879889393374922354408057506490201385829936387573184587133211261422323221422622940670017066804819920235492329534770325958724717773231570678821370331515631334682128217836222297415596980700086586180701524219815303247848253809790201356271581007540688103759501420517397083847882483174905401699172426787243287149105684882452039154904158783650048825911111511573425346927418386705880695533887891972497938996014366397906942262266543925106072121301515345877563953442409920459320324563018055551046038098785178306568831516547334994226968131953443937478652913968660517388529453449848607996973820476791890521069211140695761420031933179760376471312377785685498978947781149085972443620790708342143987115360715357834273063172101486768980100825481588514569030428886389518339515668561548693854507056510535387542221122256417400703214835586767559404232106240818613698825705828489600941823242220787640307964688364024409013454020482481922034195867352292507738081397659571486481597326189320478174685026746050719398633207561114381115645196811302834221875035290151592846359255094565191847941327722499089945085911292919744813976793329552348028957236828713555862201879401601132563652978929765964346246518997141284684300078401393617364919573376376306444715784228340275116115062884048721343012712080810316045363549428474229817691853887778751071160105226075677165235288865082830176395128985067028850121901831930471370365548960077466106670915197851108912896295134014693503185162582009157688495996446976012040694944543298429154620208199481333200448757859469720982645138223916048192554078742387387378050264703951485772159541416550489587983449787454408217880712602568761253173506750464309473376476180365843835010500754134611964170175665578099028609824449352161516303798214798173788480701904183037633986549106949566752239426977963776239990854518917684305827710502301134953001237147711659792894665660981711440126384420811106333087325123 238833978033905346872377394546360537222341507529957772669422163090443754180295924365239189672823904935593924745215696084876785051975321777451447930613068208855168555889910017935708367175381568581731070554987511798303858024702381431992539058736568665048677888014770731385784775120615318738325945920432793736500083410819602996310920155351126964018514680006364247963009689862403462695320889568468621158893366186018714120567045866169982768802837658200033835427196477114590520966840356059316010467445627747834936162187860781139911343588260043623485379076050288731280623942330263999429256391062893558416803514739473873742420576105491243509590171843979962589867403350204859991065334777112693255270917632857754068425054454082790659668652631399173790934311807035623581998548766896137171659879521013813691113885261950116407707403918399486828638297428939722566691853896676159604258706064136819688386782877946884374372027894888189556388339025652920466095908982382386583567746068378634577558175916489386980840047448395843902707416551673538676661225788911890338316103154176187866458677912734407627595847250947621119435596631058960172245488576225881917323249829003693601897720502764919712322897715496795410975693271811297713889956831752643748530840479953000935576352921186029612210909863721344683547378955795197193720220013170012184967178419088864105419439328114027369050486854386388090951658883968105480491696677917684869531220775119381646869569949923956451772563844477933103324732237403072217062232282947939941016546349660497489568922440117986623770076028273362523699318587904406927249576587097545205744701190334569022221956982523843971446684395118025659457243121932195602075323641844826681793667021698675825407716158592982763214056093185204953197271131724745806416935068752322944180664690755639504405314828572280607744154990205269100200292743283739408450615713294241851119268527529189030942126790673797632437625316139673645653924964202242640850943061328400885044391482417664983825037189411838543696984539993816953395922817839601625511956380080554267872257457368067249410283103348825957249487950486736152005393429943221511221780840335912159405271393052471313175762644447895047092892567908874197559206081250005496813813908741961479553182989055128014939720637453023532789362704359663631245283864166103137048756451566869474633453962654114754742516779996185810494963796583536235756951577207546798923763008430736757413839682167277451612344040585531341277419049127038419416903667806309910060396529783032597076497800764061689594289033937338384292808705708992243203171288231427375392845334548253926573755433838021533645901166912466607714693976893505485825107221771150469837672453366801359333200623943825936596351026646509216623697336229866074028884092008700853512090369131031584685136863815154007278950116999898812383289362873394144884294843602989559697528086459344461952977815011207590177744688769349327134717910943024142027432766403641163236223852652662636097251506764940983678430340324633078940631111546545710774911980022094382085191461657278841169156942308145374766415476102195813537626860444905848152320053409778584403234792065562934000425616670752024526872132336984163040394760386362639229036864029059177864814385020624314591693213219693822134198023926108991952917657053052905809942530004461991166760155800562111625979858051151211417522402035264101751832744681931856718063211830931737510869898894433140644260231988192796959526963049205038377974916839867491762942867804794749820637276468700193641654356052548325092759199178393894448258699778788351872158340429132459233112654252109105104889020689770265442669752585818517202303190903249718108645771287875980485017510397021391904806248164947224294513154766464186926017058381090634990322758522682133047852195862365410722143386416591801602320581229686110378895515982787566924865309138872225443981935244779192307910264852800443475131586980889967416604834365182862135385841255208435606187761845421618085998345779162437730140301540810748329520976480482313646178144910807994020846866081183527635826320862835875571774402187898018438413383239052289924 386441494127204637318269199183054958357929049357582354050473244265347084088668909001561852192130795301940351984025720686944223617445341043072450919493305891789778544676202187398329762199803251383288910714276618580359879734161882568986727152192284880948365668533477626683838096276681775881739049799001585782416754899443993423246455084899723724548740935415898563574832107024822739971364157761938760539763655042800125414592995874698199860905461660681510718435282109189092741380450626440419834458501335913286568571219160557853987704718139843686642893971302957398021360576209054654129039754868424648224510340348243744148571633168588655496326420452701545737373776465231889098673695815745777146592210810395632680949108794219417065246873576363285708826814608507665427413509246178356979543064591419031266853542081895034112368010643162720055919561505304831766335180052987310981079333067483866186008858076249266365572073539848186246955336816701583664480070068708153818424781832746441841744463811109593529278662349160511408664170086899050328159314082688542209330256015616553575422581114501554986155651911943339430727612338997574557296933639357821372168718738665782533135030944888253242373077269417365883064438698551038789715146480807829744096745985833602888111242422484542144463707332680634667540832079102343604564383197486941780621915857925258181838346837585934689156664291345251672679492431165759421763874861035256076536420998159772585730654107226606543805881798635345524333374906425447617248432322405038135247764993180070622272632016545683471632908766434096713887005998948963342169955835852365706874358468596831494939193069496249523802114430506905706014329324247680197712104072548996661262769917688515621466804635267472939284640677450914728542009278937255949643510010810362969099461502519925362976488408205136944161635230423623353602591601492934870975788782504201854186580637139966174839118026253438087677558594263262194746315988982051496358601966802307220217250205764129828392791973263579528846224974325577656738430976298194103790172531576607672197725865122901518663476670178883201925381221452603720784026189778129861575039344207343034312222966503136842126572486594404517914154667244754086952581003604413554320304110127791415940756173642261226201142960674446155730032721426468451165519356495637907374715176284642706204132784024446270373851462124403646717261212180516935843537757909071018739066256278990567204041038438858459153032144345032761794816132974920902591809069505482336847639816932138281958949839918965848377939082763249495804382131055919661589877168926961263284817832487249940940153340780283800189826272984587909230039854457458928235027681091475032855728004412839458118378930512657453143686020873477348577141273708518987997544609397230306961938977128005405161928754336223218419645878419930745563049739344706522669980342581937340846614058902965252661319958998322950893102523042412499236204679923124967509021280972671592122613370992178304658800200619448040188965727866854201197048512249760546361679539426326488326010075356104546997646543249968616987203116410160501901651269458359868634801975443974451755527299803644331659997103152349350716192610511669189786445479784995846790151245144704374676117219242499349881844806066053077228763215774050319675416746998138817102862274818438784496312503829519348454693413913353090819123534598917080681598709028178375715204496515231815912263516259352714020636538432908581187867238165320101262023638182880203843753183850158299249111506286392047529433107123708430318834876343629183313341529955183480857225369279254361065043125622474654064966486796441180640520861498714812336317884406434880690654928976371976931993522437716336448104677319567432493994487966912944785486779363735773214238806715236211790239583240415675426094872188751343018871070817669560166349924200668279527434070392045732194446244718155668488276108687810944229266198945060143082182933393792686584738002771512233820985935633902319990181383413148986837089868293050175307484752720473168165095829216635704523148001034184764783537980655730541232756113628024402859224489572139615047 625275472161109984190646593729415495580270556887540126719895407355790838268964833366801041864954700237534276729241416771821008669420662820523898850106374100644947100566112205334038129375184819965019981269264130378663737758864264000979266210928853545997043556548248358069622871397297094620064995719434379518916838310263596419557375240250850688567255615422262811537841796887226202666685047330407381698657021228818839535160041740868182629708299318881544553862478586303683262347290982499735844925946963661121504733407021338993899048306399887310128273047353246129301984518539318653558296145931318206641313855087717617890992209274079899005916592296681508327241179815436749089739030592858470401863128443253386749374163248302207724915526207762459499761126415543289009412058013074494151202944112432844957967427343845150520075414561562206884557858934244554333027033949663470585338039131620685874395640954196150739944101434736375803343675842354504130575979051090540401992527901125076419302639727598980510118709797556355311371586638572589004820539871600432547646359169792741441881259027235962613751499162890960550163208970056534729542422215583703289491968567669476135032751447653172954695974984914161294040131970362336503605103312560473492627586465786603823687595343670571756674617196401979351088211034897540798284603210656953965589094277014122287257786165699962058207151145731639763631151315133864902255571538952940946067641773279154232600224057150562995578445643113278627658107143828519834310664605352978076264311342840568111841554456663670095402984794707459237586324586853370269419532422949910912619059658931400517161150052020093495248798825624931365471572446179875799787427714393823343056436939387191446874520793860455702498696770636119681739280410662001756060445079562685913280126193275564867381803236777417551905790220628892453802884344776674279426404495798443705305849164669155205781244816927235720115183910402935840400240953184294137209545028130708105261641688181794812217829162675418072543209514319394610134353794137795729302128911657161940069983322490968768073759773527709159174869171939339872789419619721351372796820184543255193717494359555608155302335131042299565007047235153628284511787084854419051134118018869752895493939162697389241140863598127469688519395425786132082410803220661741044423471627851512180837586746678561025116368242120589457212225008764053171600489335116617817662829264709727324617880720606135910765376184930564103072235182101959322008712737311792246908036346715170879035447640683027537972228116700587880097190836764911904793048457158388638677663167035503867513908774618305333835727439897054516944733831350964414060134902862625502693400457779640817451579554456483389740037047519986565200838609938385062026428701405931160474029346259036989847065618151377225698595995419829557946339102218100667554275186184926900544142145362309714614297774009530541070847211811761826370922590866149109536454047376312755358837223644840940756051707384389023867396068191487280137679623796306257136591519448420870411201537013383388166803485558113991753618592512356315439278129903265716787122028853753036158762091869207265660422719823101375243064742848653352826840240171358486019188109173763552540931604263123664473538019285746899362961239700159311628334404051191722912804804822900775663072659630081460080673271964504302236645936634181182433431453710110232433267708346163553423133415153785854664896770421101378147394201214525139639998555022747695606696051654953049069748782755092241171087463176256755411594075522023077761600229733971832729383709708386820298155779874583759169855507486211446083190614084533329538621075309684598799300700264247957417011032834737728352910925484514656788507642733377131711503837744826408204561565237918344838091779102781086148238258605343144621191652047355670545245440183455846452299379530917957638428179962934860796186373540611387704397785925950110498787767758975548720123844026720669427173697479323938076179729192311424567230169833860923637005729200955481811273974127443698543994867115368292419364301518566416804530515815922421297637872811191904971 1011716966288314621508915792912470453938199606245122480770368651621137922357633742368362894057085495539474628713267137458765232286866003863596349769599679992434725645242314392732367891574988071348308891983540748959023617493026146569965993363121138426945409225081725984753460967673978870501804045518435965301333593209707589842803830325150574413115996550838161375112673903912048942638049205092346142238420676271618964949753037615566382490613760979563055272297760695492776003727741608940155679384448299574408073304626181896847886753024539730996771167018656203527323345094748373307687335900799742854865824195435961362039563842442668554502243012749383054064614956280668638188412726408604247548455339253649019430323272042521624790162399784125745208587941024050954436825567259252851130746008703851876224820969425740184632443425204724926940477420439549386099362214002650781566417372199104552060404499030445417105516174974584562050299012659056087795056049119798694220417309733871518261047103538708574039397372146716866720035756725471639332979853954288974756976615185409295017303840141737517599907151074834299980890821309054109286839355854941524661660687306335258668167782392541426197069052254331527177104570668913375293320249793368303236724332451620206711798837766155113901138324529082614018629043113999884402848986408143895746211010134939380469096133003285896747363815437076891436310643746299624324019446399988197022604062771438926818330878164377169539384327441748624151991482050253967451559096927758016211512076336020638734114186473209353567035893561141555951473330585802333611589488258802276619493418127528232012100343121516343019050913256131837071485901770427555997499531786942820004319206857075707068341325429127928641783337448087034410281289689599257705703955090373048882379587695795490230358291644982554496067425451052515807405475946269609150402193278302645559492429801809121380620362843180673807792742504666198035146556942166345633568146994933015325478891893945924640610621135938997601389434488644972266872784770435989833092301443233769612267709187613870286737236443706592361100250393391943593573445809499481234371859528750598228029717326058744997428907617636704082921201902398382371464368088458832605454422128997544311434695336339650467342006558801915844249428147212600533576322577157378951798186804136154887041719530703007295490219704244993103929486220944570107444027093025688836401895520988717891821921759044994369918408329275596864867051315076880224600521806817274583755676163647309160994397480601993386350167199463837375901572967820831566382925626085349901962480999522753808454062115398589134025553712881642426174773685808423342295162583954100535549128462192480275569958484969140842883723068393463913777979883646904050023973310803161467435968323387042395008994372487600444118241873839760303509388841562807190224255528766864241390756204265274967275617733007853491963949734854174325607127270789274077045475328348984347481450594637019245414851908003837064056361796058341481334728136046066803498271058874747358737211612369487935164450028808082608740821708922516817340929399361625585421924004297727487914289391672851597320419822975450725959257353360322542613285719956354332809339354318467927217048823505623014355382825351799976591724455474209631303751151049330540015667079641339560159385163459600808535366685877857393055769471233098263115030162738288608148472204861395369335396931413138568685533308854009959335261439379845240902022193205627899450449235505111348318860289041484288700520570299965185730428951865652261074941759689155313586609078987641181363198905497058413234821994282652626723711475583248141874938959716119479489955629240619934349004555272454064801015602804082089282502130700290076496990617108562181418800371953154556628331362343196761574333130794094487640062722865025230711595364384124125979733449922963689832874424681090529284462482228422331933663984871010253580970701152768235304861846798232903248159633113226258066361112605460411404320038126911098944490481921428649976369803344079403067142868149553057202902282174296958037286629443946824156862362383331520018 1636992438449424605699562386641885949518470163132662607490264058976928760626598575735163935922040195777008905442508554230586240956286666684120248619706054093079672745808426598066406020950172891313328873252804879337687355251890410570945259574049991972942452781629974342823083839071275965121869041237870344820250431519971186262361205565401425101683252166260424186650515700799275145304734252422753523937077697500437804484913079356434565120322060298444599826160239281796459266075032591439891524310395263235529578038033203235841785801330939618306899440066009449656625329613287691961245632046731061061507138050523678979930556051716748453508159605046064562391856136096105387278151757001462717950318467696902406179697435290823832515077925991888204708349067439594243446237625272327345281948952816284721182788396769585335152518839766287133825035279373793940432389247952314252151755411330725237934800139984641567845460276409320937853642688501410591925632028170889234622409837634996594680349743266307554549516081944273222031407343364044228337800393825889407304622974355202036459185099168973480213658650237725260531054030279110644016381778070525227951152655874004734803200533840194599151765027239245688471144702639275711796925353105928776729351918917406810535486433109825685657812941725484593369717254148897425201133589618800849711800104411953502756353919168985858805570966582808531199941795061433489226275017938941137968671704544718081050931102221527732534962773084861902779649589194082487285869761533110994287776387678861206845955740929873023662438878355849015189059655172655703881009020681752187532112477786459632529261493173536436514299712081756768436957474216607431797286959501336643347375643796462898515215846222988384344282034218723154092020570100261259461764400169935734795659713889071055097740094881759972047973215671681408261208360291046283429828597774101089264798278966478276586401607660107909527907926415069133875546797895350639770777692023063723430740533582127719452828450298614415673932644002964366877007138564573785562394430354890931552337692510104839054810996217234301520275119565331283466362865429220832607168679713293853421747211685614353152731242748679003647928249137552010655976155173313251656588540147867297206928634499037039708482870156929385532768823572998732615987125797819119996221658431987667067879306277381568320606587946365582561141711229708623279044516428142306654064724785698445216439802479651130280683784514206160967939286497178839546609234544129066830663712510362480040029845121285020924322395316164425255998763804585743471175974083243738540640144166558257675967970890016894467861281152778696943119507517159387756355297486816726038242528919972121093021538039425624232623760115913450478978818493585289112050402012209092627909997669646079384856059990638977669816837869259589861455727943780907857778530714951791141934898349627584681889915507017384033034796946665936151978049861655423186581929375725297102840287818281860186170903615388226087923757864249828761472407759842373060634862578323168229148413149382871323331253514366196600494440301434873132780207529264891302209046033151480524073051483542058862980842542798552101202322096208975895440125960127712818828527463492231479757980427768746678828920844637546875954685695174368942932085555100522262928471884464240335822457823089682268616039957842361695292415407867279445548461616448398840581739913207558922758530346566924423350430079275111337482655640594370380542020748228375595057145287160064397388609071796576529871608033476221941142023027387675338836541989423127146315992788696028001661354685371642172404677501768864072806902089667781471413560035025804078289256329504867891766015588107191793153926528288596746071009773433667208208494454853388589623361937191072901466423141445977847722571389399437632261254374912380901256840804567579972432032829453881647471302604644025390080648855769033719638061770796960364079758468911743784024985690824953572675333330592550196142540841797771835971550207960772022581496211122384131787643777471523101611137735264921349622266583692863374841817145259869245454500235194523424989 2648709404737739227208478179554356403456669769377785088260632710598066682984232318103526829979125691316483534155775691689351473243152670547716598389305734085514398391050740990798773912525160962661637765236345628296710972744916557140911252937171130399887862006711700327576544806745254835623673086756306310121584024729678776105165035890551999514799248717098585561763189604711324087942783457515099666175498373772056769434666116972000947610935821278007655098457999977289235269802774200380047203694843562809937651342659385132689672554355479349303670607084665653183948674708036065268932967947530803916372962245959640341970119894159417008010402617795447616456471092376774025466564483410066965498773806950551425610020707333345457305240325776013949916937008463645197883063192531580196412694961520136597407609366195325519784962264971012060765512699813343326531751461954965033718172783529829789995204639015086984950976451383905499903941701160466679720688077290687928842827147368868112941396846805016128588913454090990088751443100089515867670780247780178382061599589540611331476488939310710997813565801312559560511944851588164753303221133925466752612813343180339993471368316232736025348834079493577215648249273308189087090245602899297079966076251369027017247285270875980799558951266254567207388346297262897309603982576026944745458011114546892883225450052172271755552934782019885422636252438807733113550294464338929334991275767316157007869261980385904902074347100526610526931641071244336454737428858460869010499288464014881845580069927403082377229474771916990571140532985758458037492598508940554464151605895913987864541361836295052779533350625337888605508443375987034987794786491288279463351694850653538605583557171652116312986065371666810188502301859789860517167468355260308783678039301584866545328098386526742526544040641122733924068613836237315892580230791052403734824290708768287397967021970503288583335700668919735331910693354837516985404345839017996738756219425476073644093439071434553413275322078491609339143879923335009775395486731798124701164605401697718709341548232660940893881375369958723227059936311238720313841540539242044451649776929011673098150160150366315707730849451039950393027440523261772084262042962276864841518363329835376690175824876715731301377018251720211333149563448374976498948019845236123821954921025808084575616096807650610575665071197450653193386488543521167995490466620306687163108261724238696124650602192843481757832806337812255719771209756350946341414419388674009789201024242601887014310672562515628262631900336772406575037558899709329088442602625166081011484422033005415483601886834865660339369294281202967811098650460070770826573791657382164601368591496524394765075507483184306914392756798377232193162074375323012254095345965993033121779865054363126578113935079743099350164965116785343715048002786243718655383325654553892859649165533240025237524998746681520110477585177132444697263627404704074281450321738412918879431585755523392063151980119660308170242807135895888439864133133637197915587885624761752359258495703543174279209235262010357389950121136928626516887630970037449208011987340875214910460301262365774002827161579449569298438053411680084067151637866817810699406975029251274369693184303669989346852546410150648578574235836706149852802944138964105579895981842986549283077151406643720219088348184879100377708663491779186687448730212118068954292093927277980062992035963388129121296817917079974215621444042941434003494507594522665175745707469360838060818572128603776187126872451979253327599911483749112282459902601867683669183024553590868700585639499496051516699530613565251029613288498994741923557779211958745487826115020143379645857954942131092678835353511904133957284705485071961950771042162309144227458094754503789174609296904520193532119901317097777406131968436168951704098411766279376845337304177029325115919365111337997456051571725755667970617660729170064512019329847537623186475923492963705776454208901954403232247375870246087683121525986693043812781764013580815602504678280603414474406825168865867160332879103774703816069611362597577854945007 4285701843187163832908040566196242352975139932510447695750896769574995443610830893838690765901165887093492439598284245919937714199439337231836847009011788178594071136859167588865179933475333853974966638489150507634398327996806967711856512511221122372830314788341674670399628645816530800745542127994176654941834456249649962367526241455953424616482500883359009748413705305510599233247517709937853190112576071272494573919579196328435512731257881576452254924618239259085694535877806791819938728005238826045467229380692588368531458355686418967610570047150675102840574004321323757230178599994261864977880100296483319321900675945876165461518562222841512178848327228472879412744716240411529683449092274647453831789718142624169289820318251767902154625286075903239441329300817803907541694643914336421318590397762964910854937481104737299194590547979187137266964140709907279285869928194860555027930004778999728552796436727793226437757584389661877271646320105461577163465236985003864707621746590071323683138429536035263310782850443453560096008580641606067789366222563895813367935674038479684478027224451550284821042998881867275397319602911995991980563965999054344728274568850072930624500599106732822904119393975947464798887170956005225856695428170286433827782771703985806485216764207980051800758063551411794734805116165645745595169811218958846385981803971341257614358505748602693953836194233869166602776569482277870472959947471860875088920193082607432634609309873611472429711290660438418942023298619993980004787064851693743052426025668332955400891913650272839586329592640931113741373607529622306651683718373700447497070623329468589216047650337419645373945400850203642419592073450789616106699070494450001504098773017875104697330347405885533342594322429890121776629232755430244518473699015473937600425838481408502498592013856794415332329822196528362176010059388826504824089088987734765674553423578163396492863608595334804465786240152732867625175123531041060462186959959058201363546267521733167828949254722494573706020887061899583560957881162153015632716943094207823548396359228878175195401650489524054510526299176667941146448709218955338305071524140697287451302891393114994711378777700177502403683416678435085335918631502424732138725291964334413729884307746872660686909787075293210065765550574172795618944241503668111489022800332085466143936703395596976158226212908680361816665533059949310302144531345092385608324701526718347254931285977357687918800745624309434559317818990895075408245083101184372269241054087723172035234994957831792687887899100576992318508734873792572826983242769332639269160390003895432378069748116018439036312413788720127198855005757557587552612034186302136722461613034563820389308131243300220364871735616870817482274124777335221346723255963662679201164721114353765555783751917612358940026420844729124622905781316958670446525260552903520444331055448747042621558033543628186046629563226994100120450209334079799578553162026231200739617756659138780289239903877524557999004279543655730812924767996215521083817034037911135230581826957057540475809729702311792263082901344457891408189840016070600688536060392358756969323282104908572554928363901545778274333493537640211779970466394281302930886733009679043116372013224514626893728501095845822947517167922261250375065872610848569820231804300809638965345767446601562580783640600286967657154211953395635086289311952031276513214852457624546987415386393467404232634300572720568586001986063689662379089564739809825240143096078432634637348443736637252409068014475006641002938748025738535409606218594656379697184685908276240342758044176997820380772337515654918811084702059029767727636068468288250355717881035731486837651108868659381275581424521677567624492913979526815339360665524246335300359561177645235152457019475909592969752162571472689787033225276973519284070843799108830726984775479633969141309445760193766489771209787526464930981740487638976255803354833228448140048598826294298326650351442796201004083347420454048455144107482904166196913551657358287125606289418338679395756447435449560023707720920919963685315065862832772378369996 6934411247924903060116518745750598756431809701888232784011529480173062126595063211942217595880291578409975973754059937609289187442592007779553445398317522264108469527909908579663953846000494816636604403725496135931109300741723524852767765448392252772718176795053374997976173452561785636369215214750482965063418480979328738472691277346505424131281749600457595310176894910221923321190301167452952856288074445044551343354245313300436460342193702854459910023076239236374929805680580992199985931700082388855404880723351973501221130910041898316914240654235340756024522679029359822499111567941792668894253062542442959663870795840035582469528964840636959795304798320849653438211280723821596648947866081598005257399738849957514747125558577543916104542223084366884639212364010335487738107338875856557915998007129160236374722443369708311255356060679000480593495892171862244319588100978390384817925209418014815537747413179177131937661526090822343951367008182752265092308064132372732820563143436876339811727342990126253399534293543543075963679360889386246171427822153436424699412162977790395475840790252862844381554943733455440150622824045921458733176779342234684721745937166305666649849433186226400119767643249255653885977416558904522936661504421655460845030056974861787284775715474234619008146409848674692044409098741672690340627822333505739269207254023513529369911440530622579376472446672676899716326863946616799807951223239177032096789455062993337536683656974138082956642931731682755396760727478454849015286353315708624898006095595736037778121388422189830157470125626689571778866206038562861115835324269614435361611985165763641995581000962757533979453844226190677407386859942077895570050765345103540109682330189527221010316412777552343531096624289679982293796701110690553302151738317058804145753936867935245025136054497917149256398436032765678068590290179878908558913379696503053072520445548666685076199309264254539797696933507570384610579469370059057200943179384534275007639706593167721242224576800986183045164766985234593336353367893951140333881548495905542257737907461539116089283025859482777737586235487906661460290249758197382756721301069708960549453051543481310419109627151217452796710857201696857420180674464701596980243655294169790420060132623588391988286805327013421398915114022547772117892261348904235310977721357893550719552800203247586733891284106131015010052021603470478297634997965399072771432963250957043379581888170201169676633551962121690279089028747246021749659502489858382058442078330325059049545667520347420950519799437349398893546293773501901915425845394498720280644812036900847861671634950884099375681708069923095009953656217628358379185825843684301323830204531088215154383638726484527279264492415248049675436199152658233600818601929655712322944586168716892133897686997355458290191385961514468337953784103202389101908586207457413303980220981987067859083032290309706157107148404126544817713836738783873860003483764644119619049342414662172352391883997184866169247086679551619252788901129852718999404919662672887589840322660600714755018964964322149653033022481386517925077470986108049896548047733233971879783583367274346557755525480995347572771546949320295847122104261099113630293708038930317486065197528184616240581047505996471526091403758967400227868816749812675400127786143796188248422918853245282799871988785166068034862875445174821773738042164149345467506946384902527050407422356855533353931118489800542801623430106631096382584072334332490415888803547793472698167015865241028596194886926985894330538659509487647692066121196524063366367710461867109043343683676493871897471868129220169840697990558024509651193847680246995843543996055874866483509063810790473954416778033581701581777619464598777290131707686555479527817655932149024327066316380429786501872063888570467193165193713142470988169255565388207572322079656663294257228810871531763945822781513282132901599401216809040767822684680766071326524522319258004103104560344750604236330723290700136138265633469597210009695315670939102728110967698942093870163272604315427184040600024694667501384677225430350233315003 11220113091112066893024559311946841109406949634398680479762426249748057570205894105780908361781457465503468413352344183529226901642031345011390292407329310442702540664769076168529133779475828670611571042214646643565507628738530492564624277959613375145548491583395049668375802098378316437114757342744659620005252937228978700840217518802458848747764250483816605058590600215732522554437818877390806046400650516317045917273824509628871973073451584430912164947694478495460624341558387784019924659705321214900872110104044561869752589265728317284524810701386015858865096683350683579729290167936054533872133162838926278985771471785911747931047527063478471974153125549322532850955996964233126332396958356245459089189456992581684036945876829311818259167509160270124080541664828139395279801982790192979234588404892125147229659924474445610449946608658187617860460032881769523605458029173250939845855214197014544090543849906970358375419110480484221223013328288213842255773301117376597528184890026947663494865772526161516710317143986996636059687941530992313960794044717332238067347837016270079953868014704413129202597942615322715547942426957917450713740745341289029450020506016378597274350032292959223023887037225203118684864587514909748793356932591941894672812828678847593769992479682214670808904473400086486779214214907318435935797633552464585655189057994854786984269946279225273330308640906546066319103433428894670280911170711037907185709648145600770171292966847749555386354222392121174338784026098448829020073418167402367950432121264068993179013302072462669743799718267620685520239813568185167767519042643314882858682608495232231211628651300177179353399245076394319826978933392867511676749835839553541613781103207402325707646760183437876873690946719570104070425933866120797820625437332532741746179775349343747523728068354711564588728258229294040244600349568705413383002468684237818747073869126830081569062917859589344263483173660303252235754592901100117663130139343592476371185974114900889071173831523480756751185654047134176897311249056104155966598491590113365806134266690417291284684676349006832248112534664574602606738958977152721061792825210406248000755942936596305130488404851394955200394273880131942756099305967126329118968947258504204149944440370461052675196592402306631464680664596720567736836502852572346800000521689979016863489503598844562892117497014811376826717554663419788599779529310491458379757664777675390634513174147558857595434297586431124838406847738141097157904585591042754327683132418048231084780662478179213638407698537926391212055028647294474742409088163831359549805202040796280239741383066902538411994121858643222208808661975185945931797860029986438046291817565652035543691769969784747644136228032118867157710323929993454947541857893318391524109307283070657689681438914967817230217806806243592960859565420161059548433846760360933748311276430734110480641065833937892203736711631120644938164046072863673438556645790875320358667099073800952641631787874709424168251366223207350065713669126068240083221953700584022820422149617658255230828694666633941916115923825844409333267311002178650585084108125592728849106865472182919112683889382541125847105040486960507627092570655380416561180441048609360602437210752699243134309548601842294473608571681228650602934689360661245220359590444605827213768686299846845380655629385453035692017087398570456860027354116180621980721798842527074037822808750322937586565419062521111387625416170320758761673637074142315656031899626226107335515459601878281005262901401992535333477407535226183101672339791180443063552396370143349386101727853491692278244205644875088651782692617054277378829916148535246199261877091606353321160172679449855229998202555259269206270533444125592629492373210801814828177217109794259479523335856339379471624226460043156980198418990115990272240099364497038299306855136297263398538256631725530435593991300808597832581141704448017023626039513994519466573121145552302429754911787546805240414070711154184593409740952501376206608867328297389853717257117280773265919720039764987207748320945614631186699743088263122611684999 18154524339036969953141078057697439865838759336286913263773955729921119696800957317723125957661749043913444387106404121138516089084623352790943737805646832706811010192678984748193087625476323487248175445940142779496616929480254017417392043408005627918266668378448424666351975550940102073483972557495142585068671418208307439312908796148964272879046000084274200368767495125954445875628120044843758902688724961361597260628069822929308433415645287285372074970770717731835554147238968776219910591405403603756276990827396535370973720175770215601439051355621356614889619362380043402228401735877847202766386225381369238649642267625947330400576491904115431769457923870172186289167277688054722981344824437843464346589195842539198784071435406855734363709732244637008719754028838474883017909321666049537150586412021285383604382367844153921705302669337188098453955925053631767925046130151641324663780423615029359628291263086147490313080636571306565174380336470966107348081365249749330348748033463824003306593115516287770109851437530539712023367302420378560132221866870768662766759999994060475429708804957275973584152886348778155698565251003838909446917524683523714171766443182684263924199465479185623143654680474458772570842004073814271730018437013597355517842885653709381054768195156449289817050883248761178823623313648991126276425455885970324924396312018368316354181386809847852706781087579222966035430297375511470088862393950214939282499103208594107707976623821887638342997154123803929735544753576903678035359771483110992848438216859805030957134690494652499901269843894310257299106019606748028883354366912929318220294593660995873207209652262934713332853089302584997234365793334945407246800601184657081723463433396929546717963172960990220404787571009250086364222634976811351122777175649591545891933712217278992548864122852628713845126694262059718313190639748584321941915848380740871819594314675496766645262227123843884061180107167873636846334062271159174864073318728126751378825680708068610313398408324466939796350421032368770233664616950055296300480040086018908063872174151956407373967702208489609985698770152481264067029208735350103818514126280115208550208994480077615549598032002612407997105131081828800176279980431827926099212602552673994570004572994049444663483397729320052863595778619268339854728764201476582110978243047872567583042303802092149626008781120942391836769576266890266897414527275890531151190628028632434014095062317760027272067849548552815117495876485387118907564088080901136386125210748373290134326329998526634588927497975275790105601322420796376657834933558330079830450014077697128101413018017786637787675829928566317218762318192814304310983685873670739370122022096740250698075408696269274923400720447366916833146523082651688548360459822974103847053893451787549823579125912323275520409192767758061298813349523363448650342432967818347052291497412721178339724098124247598360843860035247189755877882811647547298560129555519439977716441488463124994023671871894290337498452902758969318502570255920959082626873363256910410262472278258969985847659630956091569148946307230927258344781988286700481632155858826700728890448839457265670439414863536473419876587436280803474214674916479530191474149087539678088502408280883859374890596107838765999699975440196050830803506110473920620487376588402015462191605153092128180527618170619103726879962843745278633765396280329967448228745227429601088230231107178470940496537552321654189248846276951855144257709408474806071920703174019580033682475467119309601457788328978429664016067044713830793738460987704506429920106832010458429445411529985564175716073774095258492480683175078787030023763828782242042805873147481219804669236490240329184414980588840970788048152908724369919624080897357294355994873041943283806589652236769165973496290348613624173363612703258461260409354929885245871628934792960557655767067503257294381416772814090730734180542921257057791448724194760590793097643464810306532859472132297409476744794001854320731675374422098586216304182999236492581828224816222867136082992644080414391788920970309298688084420313693472845000002 29374637430149036846165637369644280975245708970685593743536381979669177267006851423504034319443206509416912800458748304667742990726654697802334030212976143149513550857448060916722221404952152157859746488154789423062124558218784509982016321367619003063815159961843474334727777649318418510598729900239802205073924355437286140153126314951423121626810250568090805427358095341686968430065938922234564949089375477678643177901894332558180406489096871716284239918465196227296178488797356560239835251110724818657149100931441097240726309441498532885963862057007372473754716045730726981957691903813901736638519388220295517635413739411859078331624018967593903743611049419494719140123274652287849313741782794088923435778652835120882821017312236167552622877241404907132800295693666614278297711304456242516385174816913410530834042292318599532155249277995375716314415957935401291530504159324892264509635637812043903718835112993117848688499747051790786397393664759179949603854666367125927876932923490771666801458888042449286820168581517536348083055243951370874093015911588100900834107837010330555383576819661689102786750828964100871246507677961756360160658270024812743621786949199062861198549497772144846167541717699661891255706591588724020523375369605539250190655714332556974824760674838663960625955356648847665602837528556309562212223089438434910579585370013223103338451333089073126037089728485769032354533730804406140369773564661252846468208751354194877879269590669637193729351376515925104074328779675352507055433189650513360798870338123874024136147992567115169645069562161930942819345833174933196650873409556244201078977202156228104418838303563111892686252334378979317061344726727812918923550437024210623337244536604331872425609933144428097278478517728820190434648568842932148943402612982124287638113487566622740072592191207340278433854952491353758557790989317289735324918317064978690566668183802326848214325144983433228324663280828176889082088655172259292527203458071719227750011654822969499384572239847947696547536075079502947130975866006159452267078531676132273870006440842373698658652378557496442233811304817055866673768167712502824880306951490521456550964937416673920680086436854007363197499404961960742932379286398954255218181549811178198719949013364510497338679990131626684328276443215988907591565267054048928910978764737851584446531807400936712518126278135753768663487130930310055497194056586381989530948292806307824648608236465318884867502147134983939955902724223528216065468673671943890713808343166421521219106992476705848227335196513202181317656351068090851400244021722161439380255216118493408341154401084689176199669951787209539427570980168000250242781545903657177416413839662392286241767178666054022567536948479485783990856847012645143495902317716292495371163200734858207513260564827291092750626999574001654259672914943524508198776279728179280800602773843455288820365163958185490564580571666367834694041928884511220737116775346394760336383540562264077635655459746603714505749819125966319384216239381989199165848827063840933230684621895917225216676354297590033485264870133075336591612092990465351066716263984419429577997314311640184783123304246077599266981627923241311101307245571859946752654590136149038690939619033583102509200144709681060473308547121424701433738195471135165840846967033007842675960291452938973561183247556072139418897050242315735493792750396510589428950544069956675126053039857501408527061956614842765576874262447272613905931346482617121727952602800245687369197935068997590606720689730970964997493474579940013895410800778884949493472503202153807815547139383477256453960279418970347144263375792133064408853679977317488242067750239087573125829409169690184414413183144100239994318686352849962549116454108159109184172090151737543286112988093108545445120516808656781153562031693374451532649454294382284170935789929257821054305324134982824817010764114899328566761684625705074815074763708755110259670764610362608962614383919844214717158864713008505325085115374599962422913050327533882435545481933503640402002712683845401599537241915923929874784163401956595456685001 47529161769186006799306715427341720841084468306972507007310337709590296963807808741227160277104955553330357187565152425806259079811278050593277768018622975856324561050127045664915309030428475645107921934094932202558741487699038527399408364775624630982081828340291899001079753200258520584082702457734944790142595773645593579466035111100387394505856250652365005796125590467641414305694058967078323851778100439040240438529964155487488839904742159001656314889235913959131732636036325336459745842516128422413426091758837632611700029617268748487402913412628729088644335408110770384186093639691748939404905613601664756285056007037806408732200510871709335513068973289666905429290552340342572295086607231932387782367848677660081605088747643023286986586973649544141520049722505089161315620626122292053535761228934695914438424660162753453860551947332563814768371882989033059455550289476533589173416061427073263347126376079265339001580383623097351571774001230146056951936031616875258225680956954595670108052003558737056930020019048076060106422546371749434225237778458869563600867837004391030813285624618965076370903715312879026945072928965595269607575794708336457793553392381747125122748963251330469311196398174120663826548595662538292253393806619136605708498599986266355879528869995113250443006239897608844426460842205300688488648545324405235503981682031591419692632719898920978743870816064991998389964028179917610458635958611467785750707854562788985587246214491524832072348530639729033809873533252256185090792961133624353647308554983679055093282683061767669546339406056241200118451852781681225534227776469173519299271795817223977626047955826046606019105423681564314295710520062758326170351038208867705060707970001261419143573106105418317683266088738070276798871203819743500066179788631715833530047199783901732621456314059968992278981646753413476870981629065874057266834165445719562386262498477823614859587372107277112385843387996050525928422717443418467391276776799845979128837335531038109697970648172414636343886496111871717364640482956214748567558571762151181933878614994330106032620080765986052219510074969537130740797376447852928698821077770636665101173931896751536229684468856619771194604536043789543108659266830782181317394152363852193289953586358559942002163387860946737191872221835257247446294031255525511021957007785724152029574111203028862144135059256696160500256707197200322394608583862272520682138920834940258662703298783078912139569996683536755073398600708915334973032761752845027099933553914794811353433322475232482816262694488477971423257673488887228058078955280491519210705230196190536442567419102475813987345781715775856646333298360814554553765231777327916786535861759132536939842587362323297490937668926852700824003370095296832044262777539266599218217094186645757336839690739614368271036192341759715558486264466887956849118712695997627852894271256176467160089262082433088925424431701615024449919811696158768035676904901914200314099982050727202629679131618498004843248272028725288702718809637910158248475700427097843640947094174176195202524013928546125054413816440306263849956874978752051548348419843246130306887763151097450453562719109614072686858215359522114575521920488339476944128739223688716779442027314466961884090740817519826473008522561620752264541701581609086461334343621409858138151896606031101741710865726691243145777013086061014127558146676840556877179289297386276214283270964679879467558494167164419766123108724224469050189055891091927799873305974265267402880410536116900208178478059949394661509541624653844689149261766589455923392610034164266244992550913462820629676353193065605636744058967211851438877443806099730284873623386568792930498645659930513598828163732941210782366839261574332468740535005516403540166963193680827092702640329877711418616807157270405326925644396632912793058809224267530042564724722218378710072391638240119198427536928990059300942227546962132606523487903515701052768408075172915495473856052141624193903658714862826056760489796698548639217233326770375017373706749726507538085705327925815991326162886233228562868583715650068301685003 76903799199335043645472352796986001816330177277658100750846719689259474230814660164731194596548162062747269988023900730474002070537932748395611798231599119005838111907575106581637530435380627802967668422249721625620866045917823037381424686143243634045896988302135373335807530849576939094681432357974746995216520129082879719619161426051810516132666501220455811223483685809328382735759997889312888800867475916718883616431858488045669246393839030717940554807701110186427911124833681896699581093626853241070575192690278729852426339058767281373366775469636101562399051453841497366143785543505650676043425001821960273920469746449665487063824529839303239256680022709161624569413826992630421608828390026021311218146501512780964426106059879190839609464215054451274320345416171703439613331930578534569920936045848106445272466952481352986015801225327939531082787840924434350986054448801425853683051699239117167065961489072383187690080130674888137969167665989326006555790697984001186102613880445367336909510891601186343750188600565612408189477790323120308318253690046970464434975674014721586196862444280654179157654544276979898191580606927351629768234064733149201415340341580809986321298461023475315478738115873782555082255187251262312776769176224675855899154314318823330704289544833777211068961596546456510029298370761610250700871634762840146083567052044814523031084052987994104780960544550761030744497758984323750828409523272720632218916605916983863466515805161162025801699907155654137884202312927608692146226150784137714446178893107553079229430675628882839191408968218172142937797685956614422185101186025417720378248997973452082044886259389158498705357758060543631357055246790571245093901475233078328397952506605593291569183039249846414961744606466890467233519772662675649009582401613840121168160687350524472694048505267309270712836599244767235428772618383163792591752482510698252952930682280150463073912517090710340710506668824227415010511372615677759918480234871565206878848990354007609082542888020362332891422571191374664495616348962374200834637103438283455803885055836703804691272459323482494453321379786592997414565544160355753579128029261158121652138869313425456909770905710627134392103941005750286041038553229736436535575702175030392009902599723070439340843377992573421520148665051246155037859298309574439932935772523575736476105918603965574662261337392449929163743838127510377891802640448654510213087213641248083311311535248397797007072143818520695029301324932443551038501435424788917813741897081216332572540314951938331043597891001680152740914024556978079458322977002652958590960446314683944783721820187164990187015733502985396073904278528814804796546777680985094202949701421524823181609766028377320058474617406338484814860217107941975540165095255559094589380294921503964850100255566905461021663191915761369818159179410412465047894992424176908653497045099631755980454426040618579490005003367982859143961740580669988772793680248308960650483522612991280265334591365101719348998091154691608086935049019899357414324527490938776871631716070093420419200368226136158539678686573381600441568967969217402615064683827665559884885077462737635236686023355691671953839843282763425676829166060199423696783329359837755470381646348050064393290885527200886946317069683045453698279897052744252302181310654417700814112188058970075302894113282763382564674063328376749621350897073351146306129833367342951340336310822181287994620450782007185342997371171497082956120402373709049527825908774510954772078345605114490814899167790920359659003016204593858584560062545474405416865113236318074060539690296940077083636632612035952781007434759344915847731123783417218526941373625656366056328054829620698013241346877041450776685525614424295017856989113675512724339053345418370378815628422986256863737323965927186480487676090007364325708263518649814213500514651476199764377715773222944015438301043889387867703912172667207421598251612270811312439172685535524458088239971985838911062523427871331381845605171298511062130283654304257452919188683230147940088418011771217590863404802157158437652747117606663758370004 124432960968521050444779068224327722657414645584630607758157057398849771194622468905958354873653117616077627175589053156280261150349210798988889566250222094862162672957702152246552839465809103448075590356344653828179607533616861564780833050918868265027978816642427272336887284049835459678764134815709691785359115902728473299085196537152197910638522751872820817019609276276969797041454056856391212652645576355759124054961822643533158086298581189719596869696937024145559643760870007233159326936142981663484001284449116362464126368676036029860769688882264830651043386861952267750329879183197399615448330615423625030205525753487471895796025040711012574769748995998828529998704379332972993903914997257953699000514350190441046031194807522214126596051188703995415840395138676792600928952556700826623456697274782802359710891612644106439876353172660503345851159723913467410441604738277959442856467760666190430413087865151648526691660514297985489540941667219472063507726729600876444328294837399963007017562895159923400680208619613688468295900336694869742543491468505840028035843511019112617010148068899619255528558259589858925136653535892946899375809859441485659208893733962557111444047424274805784789934514047903218908803782913800605030162982843812461607652914305089686583818414828890461511967836444065354455759212966910939189520180087245381587548734076405942723716772886915083524831360615753029134461787164241361287045481884188417969624460479772849053762019652686857874048437795383171694075846179864877237019111917762068093487448091232134322713358690650508737748374274413343056249538738295647719328962494591239677520793790676059670934215215205104724463181742107945652765766853329571264252513441946033458660476606854710712756145355264732645010695204960744032390976482419149075762190245555954698207887134426205315504819327278262991818245998180712299754247449037849858586647956417815339193180757974077933499889197987453096350056820277940938934090059096227309757011671411186007686325885045718780513536192776969235309067303246381860256831918588949402195675200434637737763670831033910723892540089468546672831454756130128155362920608208682277949107031794786753312801210176993139455374567246905586708477049539829149697820060518617852969854538882585299856186081630381343006765853520158712020886886503402484153329565099950954892780309299888505680029806994436806396396649146089664000545324710700286411224310927030895226134476188341974014834031476709146642140502057450102699925641358886011534197177633944913675450996011143925973637427170813859860585490158124164171698045865307516401932283144477801665676510874481226289239289640804174361515218761252720237576889629359350312009458313010989485563180657360121452353390700617549412286333191185638863587203238807584427872794825693807597389108149722186939946306519829292699384257521085376645443877300421897013705120174536506391316355808223140543688123051668415429435069597883593881552276828756808470585150223160964583504663718482895013722983599724192246363183416896789653858657809515662800227918036620512578810244269615621724382154682283594092503013687864291525842947969454163413103670911690191772840613835085690248742465305744640698058642285540252351086548538900640912068583526472249823673662517026277381626344720713419325592244666205962821598634353338763515654275827558952264084665001177044604979009454625710451076414437763748909043750191703183309122664729227554619581786861167462178944949171605109120479895721552006309458264800977327699214748776222174958756141231391023077645850869754320512557829247703273709324312063861340257723270482340305532241210402897713312985805101558417751493726556767286608567589516948811814997012225158986826700489551211612069510609982661559052364875998627486597524119191916264506016539099197471518268752863968282354131123197591807413320486640277118767072742917344256065239373694578474450107411463063213865837972879447168646139719629340028121739515786512365207580760708439953562096024127463104966182142734157438606094967997059701347516981074632470292895432956655478174123339697033582189567688390387000521330833256732060055007 201336760167856094090251421021313724473744822862288708509003777088109245425437129070689549470201279678824897163612953886754263220887143547384501364481821213868000784865277258828190369901189731251043258778594375453800473579534684602162257737062111899073875804944562645672694814899412398773445567173684438780575636031811353018704357963204008426771189253093276628243092962086298179777214054745704101453513052272478007671393681131578827332692420220437537424504638134331987554885703689129858908029769834904554576477139395092316552707734803311234136464351900932213442438315793765116473664726703050291491755617245585304125995499937137382859849570550315814026429018707990154568118206325603415512743387283975010218660851703222010457300867401404966205515403758446690160740554848496040542284487279361193377633320630908804983358565125459425892154397988442876933947564837901761427659187079385296539519459905307597479049354224031714381740644972873627510109333208798070063517427584877630430908717845330343927073786761109744430397220179300876485378127017990050861745158552810492470819185033834203207010513180273434686212803866838823328234142820298529144043924174634860624234075543367097765345885298281100268672629921685773991058970165062917806932159068488317506807228623913017288107959662667672580929432990521864485057583728521189890391814850085527671115786121220465754800825874909188305791905166514059878959546148565112115455005156909050188541066396756712520277824813848883675748344951037309578278159107473569383245262701899782539666341198785213552144034319533347929157342492585485994047224694910069904430148520008960055769791764128141715820474604363603429820939802651577009821013643900816358153988675024361856612983212448002281939184605111147606755301671851211265910749145094798085344591859396075866368574484950678009553324594587533704654845242947947728526865832201642450339130467116068292123863038124541007412406288697793806856725644505355949445462674773987228237246542976392886535316239053327863056424213139302126731638494621046355873180880963150236832778638718093541648726667737715415164999412951041126152834542723125569928464768564435857077136292952908405451670523602450049226280277874039978812418055290115190736373290255054388545556713912977309758785804700820683850143846093580232169551937749557522012627874674390887828552832875624981785948410960011468657734041596018827744383452221078178213864759581541108313348117436425285326369279874506153714284320578145132001250573802437050035632602422862727417348077227476498513952379109144903458476491838276905085722602843386974724909285797436392626122825558426010011059476805794361377248721746648794141855418444164146858787139298105192435264602182183303062119419077937607886903739529670453723804311180783124592968050384788396977684029653687037040201873425290314362576173282455194804623287712886944908697544351445159888361455439979120998114163670247905434438437580742737843292857498745581264265398532121615067027276709763160348314348701443541244454338108504876588907677708873077124755408975397384210526314363036040924750380818442133771189587069464733094810917186856778477787498577250076657918076572720926934765820997416594537901925048965929180252608738324337695397943364227720205320010567090670672511871921600365642661927711659661101495687097591065696964930245259766376272723971252347499092292218008275125139742814513370259940823542849489438956032072178894955892609042455456799395731178790452117851067218634962429860638510026855525123523287176947037101746345881837976813641790113979515574033841561858269386857538266757122836506800414366071931507342974796949618417137511198758928485901683134339691372934167338756370637881525043154755319171909625310857487024112335737890490422922504454513232867428988845069884517567850333897175850225146091455089124778287900996576647641444475336261567158469565754025170778238827823184686007229304139016768835036350051892296547449719991128057323677646753446243964411650335996113302016028705570605488820451700139295570763477800635378889923212084116186803418262541351468251173052972490547545438174077950863395818425011 325769721136377144535030489245641447131159468446919316267160834486959016620059597976647904343854397294902524339202007043034524371236354346373390930732043308730163457822979411074743209366998834699118849134939029281980081113151546166943090787980980164101854621586989918009582098949247858452209701989394130565934751934539826317789554500356206337409712004966097445262702238363267976818668111602095314106158628628237131726355503775111985418991001410157134294201575158477547198646573696363018234965912816568038577761588511454780679076410839341094906153234165762864485825177746032866803543909900449906940086232669210334331521253424609278655874611261328388796178014706818684566822585658576409416658384541928709219175201893663056488495674923619092801566592462442106001135693525288641471237043980187816834330595413711164694250177769565865768507570648946222785107288751369171869263925357344739395987220571498027892137219375680241073401159270859117051051000428270133571244157185754074759203555245293350944636681921033145110605839792989344781278463712859793405236627058650520506662696052946820217158582079892690214771063456697748464887678713245428519853783616120519833127809505924209209393309573086885058607143969588992899862753078863522837095141912300779114460142929002703871926374491558134092897269434587218940816796695432129079911994937330909258664520197626408478517598761824271830623265782267089013421333312806473402500487041097468158165526876529561574039844466535741549796782746420481272354005287338446620264374619661850633153789290017347874857393010183856666905716766998829050296763433205717623759111014600199733290585554804201386754689819568708154284121544759522662586780497230387622406502116970395315273459819302712994695329960375880251765996876811955298301725627513947161106782104952030564576461619376883325058143921865796696473091241128660028281113281239492308925778423533883631317043796098618940912295486685246903206782464783296888379552733870214537994258214387578894221642124099046643569960405916271362040705797867428216130012799552099639028453839152731279412397498771626139057539502419587798984289298853253725291385376773118135026243324747695158764471733779443188681654845120945565520895104829944340434193350773672241515411252795562609614971886331202026856909699613738944190438824252960006165957439774341842721333142175513487465978217954448275054130690742108491744928776931778464625089070508572003539482593624767259341203311351215300356424822635595234701176215161323061569829780056807641092799073238620424487589806279958763319061981996401069257420648708694491126841568941914194291799336432907236300298766446598535738763940507901514379432308073523497170796597611116181920827782839543424514472809778555157299190072720856092587391514419590709020840845210482204575073137803409223980148179945119607061960430803540571450067165013308841922402664525981666279677811248202261541802286721916320863873507178626331724845134327502389734850548755282579650531940428246055362037332301167733490817521525401666242766335518388739924983327012017896789336558632651662649132535500725727863692600757329024620653865156310941890891169488940268430758690407806617183508286303161235235960567334506181531339157277224978607466526890699970028993673084116948054138216642313784968254172377865623923094321450929829212619206072818718640357388972429392104071301672633985576216157252277119168984573734552672748078696801406449575474395903622918978340680350395561238330962940186968739318903311004183224338272063399121995857887577272861054459492659868300028131863089265131978711169602128097380559777282754671604172717745872510262604222239069616510422212458450420948258962451116150571367650106684029981455808723121237380368097006773894790255366421549991052037352059345253351086423616765321852165928714193428445586212322370095314317063287918563242409004484502725630993398865356713277930596149070443169976989648282204996191611925887477841730643843836042854334206952404365212432020240765120994887713339646259057795107292630464825317616453522393504979549143458896436664691165284755242540178937932438695408784120127878480018 527106481304233238625281910266955171604904291309208024776164611575068262045496727047337453814055676973727421502814960929788787592123497893757892295213864522598164242688256669902933579268188565950162107913533404735780554692686230769105348525043092063175730426531552563682276913848660257225655269163078569346510387966351179336493912463560214764180901258059374073505795200449566156595882166347799415559671680900715139397749184906690812751683421630594671718706213292809534753532277385492877142995682651472593154238727906547097231784145642652329042617586066695077928263493539797983277208636603500198431841849914795638457516753361746661515724181811644202822607033414808839134940791984179824929401771825903719437836053596885066945796542325024059007081996220888796161876248373784682013521531259549010211963916044619969677608742895025291660661968637389099719054853589270933296923112436730035935506680476805625371186573599711955455141804243732744561160333637068203634761584770631705190112273090623694871710468682142889541003059972290221266656590730849844266981785611461012977481881086781023424169095260166124900983867323536571793121821533543957663897707790755380457361885049291306974739194871367985327279773891274766890921723243926440644027300980789096621267371552915721160034334154225806673826702425109083425874380423953318970303809787416436929780306318846874233318424636733460136415170948781148892380879461371585517955492198006518346706593273286274094317669280384625225545127697457790850632164394812016003509637321561633172820130488802561427001427329717204596063059259584315044343988128115787528189259534609159789060377318932343102575164423932311584105061347411099672407794141131203980560490791994757171886443031750715276634514565487027858521298548663166564212474772608745246451373964348106430945036104327561334611468516453330401127936484076607756807979113441134759264908890649951923440906834223159948324701775383040710063508109288652837825015408644201766231504757363971780756958363152374506626384619055573488772344292488474572003193680515249875861232477870824821061124166509341554222538915370628925137123841576379295219850145337553992103379617700603564216142257381893237907935122994985544333313160120059531170566641028726630060967966708539919373757691032022710707053545707319176359990762002517528178585314448732730549885975051138469251926628914459743711864732338127319489312229152856642838953830090113111852830711061192544667572591225721454070709143213740366702426788963760111605462382479670368510147150466096923001542185389103666777538473834677974343143251552081465851750854739350586917922161991333246311358243252392897116012662254550308521287726517687644029583736909221374356092385021726727576592228856492765186093812250526546311195825600373833613808895595270601552757167457096261020350053370409921424536604085995766254690452726195786831100208877426826168039266688181382539916450392164226298311944759369069568137991826247970999115947287404194717559217138009215710351681002611274735271859633906542831674013227261817049738735987415280999862872995687703573882916319167861634882187826793757715464782343167720368678668066190345088676766980527544118274107300577829773862492383472110711591766015549316302864470254927690234313683651207618726650088563914150610916100089525285024590008548520894909584136318078485016630112943681739603163593890642260701355900066790489428925397277402162187034728873585344531367004946078375777736411529186013356182030158821931169179541821031038749461795350576069032959633923154699031273134449982279543705896930826990248098027140394854503396284083169037676104225088847307212222639376580815269350698360133555287950335385283489327738287988209073136211127895030862691225584030886230528145856844472495506550584926774242196156308134333172186063104564418574537041301447148383215313639935560007717745266051661195196747424036134952105753780835077672474116006417117241346243504222434927561721771901159720501087653196368776862768016354067137023593283945135079509495246588201228303118251832412316717063665330262314699206042633535928295512669485477876869486734983523696905029 852876202440610383160312399512596618736063759756127341043325446062027278665556325023985358157910074268629945842016967972823311963359852240131283225945907831328327700511236080977676788635187400649280957048472434017760635805837776936048439313024072227277585048118542481691859012797908115677864971152472699912445139900891005654283466963916421101590613263025471518768497438812834133414550277949894729665830309528952271124104688681802798170674423040751806012907788451287081952178851081855895377961595468040631732000316418001877910860556481993423948770820232457942414088671285830850080752546503950105371928082584005972789038006786355940171598793072972591618785048121627523701763377642756234346060156367832428657011255490548123434292217248643151808648588683330902163011941899073323484758575239736827046294511458331134371858920664591157429169539286335322504162142340640105166187037794074775331493901048303653263323792975392196528542963514591861612211334065338337206005741956385779949315828335917045816347150603176034651608899765279566047935054443709637672218412670111533484144577139727843641327677340058815115754930780234320258009500246789386183751491406875900290489694555215516184132504444454870385886917860863759790784476322789963481122442893089875735727514481918425031960708645783940766723971859696302366691177119385448050215804724747346188444826516473282711836023398557731967038436731048237905802212774178058920455979239103986504872120149815835668357513746920366775341910443878272122986169682150462623774011941223483805973919778819909301858820339901061262968776026583144094640751561321505151948370549209359522350962873736544489329854243501019738389182892170622334994574638361591602966992908965152487159902851053428271329844525862908110287295425475121862514200400122692407558156069300136995521497723704444659669612438319127097601027725205267785089092394680627068190687314183835554757950630321778889236997262068287613270290574071949726204568142514416304225762971751550674978600487251421150196345024971844850813050090355902788133206480067349514889686317023556100473521665280967693280078417790216724121413140429633020511235522110672127129622942448298722980613991161336426589589968115931109854208264950003871604759991802398871576379219504102528988729577363224737563963245321058120550429586255477534344542754223074573271219117226651956717904846868908018765995423080235811234241006084635107464042900598685115392313304685959804008775902576936754427133965849335601403603004125083173175292162536478009602946223704717347489131991669062430096600455831079043600563900260775956978592423681264781209721498424240482611657009698991432854776602762451822900720034591211141200380334520337556276920167861270152091065038635047922485283884971382638898587340019964542634649740805752806127830305260505485000498233315529528486497034889536337704757617739504628753502873403408492447717077936383644081718737114080547162185451937995401292983126153750360733966496042686774368091157566255271072389013303779008226089381159308209074440348745650556974722062999433177789199431628339366223015451819893589498574788584122782336118647499478662259569837555130613519435457388334161301782393603739065009823059717978292242930923292774294910330997145627660263307356735324566780788305206227935579170272467390908947684329999450724122203342390897203656987501916111131707234895563276246277572057319067608597909971011954834935113425674991794106841400849701294756077091879581574594512993099008899908498445132035221973800067413975191028817521500427560085732627109850579571837760020092122226809196742522951883956061365923709280276942834719817474826861615650431779772910818583976236209297836399639899105938094893103117666936618152100071593681037660125318401223266022486558587936986119495547242731751098494038229033278612002982627513769518478529630703223478570960154270536163920827740822901491665383684376984148115644092996065399446342435116148322405403452415744995763355421860148773142075200036594832258018480997284781338567290353880831693128435868285934710222043214473721211135870733798820683538052848423410315564895519103651575385047 1379982683744843621785594309779551790340968051065335365819490057637095540711053052071322811971965751242357367344831928902612099555483350133889175521159772353926491943199492750880610367903375966599443064962005838753541190498524007705153787838067164290453315474650095045374135926646568372903520240315551269258955527867242184990777379427476635865771514521084845592274292639262400290010432444297694145225501990429667410521853873588493610922357844671346477731614001744096616705711128467348772520957278119513224886239044324548975142644702124645752991388406299153020342352164825628833357961183107450303803769932498801611246554760148102601687322974884616794441392081536436362836704169626936059275461928193736148094847309087433190380088759573667210815730584904219698324888190272858005498280106499285837258258427502951104049467663559616449089831507923724422223216995929911038463110150230804811267000581525109278634510366575104151983684767758324606173371667702406540840767326727017485139428101426540740688057619285318924192611959737569787314591645174559481939200198281572546461626458226508867065496772600224940016738798103770892051131321780333343847649199197631280747851579604506823158871699315822855713166691752138526681706199566716404125149743873878972356994886034834146191995042800009747440550674284805385792565557543338767020519614512163783118225132835320156945154448035291192103453607679829386798183092235549644438411471437110504851578713423102109762675183027304992000887038141336062973618334076962478627283649262785116978794050267622470728860247669618265859031835286167459138984739689437292680137630083818519311411340192668887591905018667433331322494244239581722007402368779492795583527483700959909659046345882804143547964359091349935968808593974138288426726675172731437654009530033648243426466533828032005994281080954772457498728964209281875541897071508121761827455596204833787478198857464544938837561699037451328323333798683360602564029583551158618070457267729115522455735558850403795656822729644027418339585394382844377360136400160582599390750918794894380921534645831790309247502617333160845649258536982006012315731085667448226119233002560148902287196756248543229664497525091110916654187521425070063402775326632831125501637347186212642448362487268395247448271016791028377296910420348257995062523128068671807303821105092277790425969831475783367762477860155418363130723553235237491750302996730688798227245144015747152348676348493802658208497843109063075968106029793088843284780754545016148378113093374170814270490674177058166096874138929665757017943707151812857422830343278420615368127643660415573728923015252951384329970789265017002131422007761108898785229964071429558930633012552882996879667657267491540687671377697221909185209783165620338376248458636401023407680587472717601746020848286685939449911033638975532103959448070465700415584603082280835318615756344624565026621635187506244773460497396697364470861121117979998331733082443330090969085650374704264486782740694306390282961361240793214751906114361972912374024460798986848458789062304624027069796898368139061451133456976410916540051583429842646382628248505621320958608112224368861705420056500904316894783685552101450402954522689308323611213195467400555350497621040386532185507438393770142086190086372556916193972274338547971619031787478708975688673617614859792871310398489453918506978927957385858098026835368289356997122148154548577138638208405795779670533813503408767587950695023257830831077677986953066260723261862764551260061777155423582259117005761559832859115543656950919112474907223882917806387352345449092746956381167923567124687049500992231247049123609178717531524159633221683129226844226083102176253878064513182962762819265068546355846547080110494982065138521912893737743399039885431666224292137843030577519668815216666861744944343159038578677899536587825116024488246937626617489438157819225788118209002482516687688678620370757332965174187646155483856509513345141918937968052948899395042074281229916418076785600469032921431554120118347026939106879803983525835076776432356611833565517908888192434382254087175272290076 2232858886185454004945906709292148409077031810821462706862815503699122819376609377095308170129875825510987313186848896875435411518843202374020458747105680185254819643710728831858287156538563367248724022010478272771301826304361784641202227151091236517730900522768637527065994939444476488581385211468023969171400667768133190645060846391393056967362127784110317111042790078075234423424982722247588874891332299958619681645958562270296409093032267712098283744521790195383698657889979549204667898918873587553856618239360742550853053505258606639176940159226531610962756440836111459683438713729611400409175698015082807584035592766934458541858921767957589386060177129658063886538467547269692293621522084561568576751858564577981313814380976822310362624379173587550600487900132171931328983038681739022664304552938961282238421326584224207606519001047210059744727379138270551143629297188024879586598494482573412931897834159550496348512227731272916467785583001767744878046773068683403265088743929762457786504404769888494958844220859502849353362526699618269119611418610951684079945771035366236710706824449940283755132493728884005212309140822027122730031400690604507181038341274159722339343004203760277726099053609613002286472490675889506367606272186766968848092722400516752571223955751445793688207274646144501688159256734662724215070735419236911129306669959351793439656990471433848924070492044410877624703985305009727703358867450676214491356450833572917945431032696774225358776228948585214335096604503759112941251057661204008600784767970046442380030719068009519327122000611312750603233625491250758797832086000633027878833762303066405432081234872910934351060883427131752344342396943417854387186494476609925062146206248733857571819294203617212844079095889399613410289240875572854130061567686102948380421988031551736450653950693393091584596329991934487143326986163902802388895646283519017623032956808094866717726798696299519615936604089257432552290234151693673034374683030700867073130714159337655216807019074668999263190398444473200280148269606640649948905640605111917937022008167497071276940782695750951062373379950122435645336242321189558898246362625502597201010177370239704566091087115059226847764041729690020067274380086624633524373213726405716744977351216845758472185834980036349435417460849934513472596867670822894881877092324209504442382687736322652275781243855578498598941957794241322126857767039631287483342637457320433112152685124396379594962924977074912411569509632797213926457956046707552626387716039597875531617979806168727228526970739385496836061544271052073633379808935702101880149337365158839814211534672262650375762825565867779453954322727795700109926430344405949896486909932720744267031758722306126588610156661582193291824108370505640302918883108377206776213808417777978107231021346520001468978397530673865068441664205688205205044338105955684243811063473422560948670703353924620325320622682848635359872154104244133748692467048939372777743453741532270519757855129707610169291187450621952522960980554710718562930999182861986281636578261736252366436019913819958955040632031764995039322387702077342125044887818343176451572127547681757195866721838894508055959793508611819428695197453612601097906123526464546183010760928397121856752288226698976370021769256645024307102919958668547422343153990821099872892330605116775904003017633385017194753256500014704925706624745339301311832057261580223568932745049806645480965289890595288349162545208016356839730986176432085101482697061930178526451090594676924009819202738388669683438687381416971011234701716420625440758271308406815016456236658110758286942161876362607881678828896519997301507760368931058082769125950164177995279371545001131335062834412946106206481164948303376517468623726458899013233290641771636530160262521171121642580502296328986185340274575046382517149638053807123989036852229069839118282873122534803373903762301998547916134031113736519079738368626603391151247211931373493915061013168089543731653060555278514697756644075954349864614559989988404281737161150094277704736970947510231177295371618366332298507999277773190826847675123 3612841569930297626731501019071700199417999861886798072682305561336218360087662429166630982101841576753344680531680825778047511074326552507909634268265452539181311586910221582738897524441939333848167086972484111524843016802885792346356014989158400808184215997418732572440130866091044861484905451783575238430356195635375375635838225818869692833133642305195162703317082717337634713435415166545283020116834290388287092167812435858790020015390112383444761476135791939480315363601108016553440419876151707067081504478405067099828196149960731284929931547632830763983098793000937088516796674912718850712979467947581609195282147527082561143546244742842206180501569211194500249375171716896628352896984012755304724846705873665414504194469736395977573440109758491770298812788322444789334481318788238308501562811366464233342470794247783824055608832555133784166950596134200462182092407338255684397865495064098522210532344526125600500495912499031241073958954669470151418887540395410420750228172031188998527192462389173813883036832819240419140677118344792828601550618809233256626407397493592745577772321222540508695149232526987776104360272143807456073879049889802138461786192853764229162501875903076100581812220301365140813154196875456222771731421930640847820449717286551586717415950794245803435647825320429307073951822292206062982091255033749074912424895092187113596602144919469140116173945652090707011502168397245277347797278922113324996208029546996020055193707879801530350777115986726550398070222837836075419878341310466793717763562020314064850759579315679137592981032446598918062372610230940196090512223630716846398145173643259074319673139891578367682383377671371334066349799312197347182770021960310884971805252594616661715367258562708562780047904483373751698715967550745585567715577216136596623848454565379768456648231774347864042095058956143769018868883235410924150723101879723851410511155665559411656564360395336970944259937887940793154854263735244831652445140298429982595586449718188059012463841804313026681529983838856044657508406006801232548296391523906812317943542813328861586188285313084111908022638487104441657651973406857007124365595628062746103297374126488247795755584640150337764418229251115090130677155413257464649874851073591929387425713704114153719634105996827377812714371270282771467659390798891566689180913429301782232808657567798435643543721715733916962072681347476559618608070036361976281569882601336180264501361472890182253171422820183975487537615662590302769742736801252568774765829132972046345888470480345785394623844878315162593079487978203886490802639278980522495517465008819255387940457687515601760092796355132796456085744735556809008711660308477379455417542945273627263911426379573618129297828039279415201009318153671260641295131567013607799621489005250695708977042194806687408428308564312840600545623653758670905459922709037965079129679229767185513697324989112126570094083180245332724343015225362113747024200131382702868712539391906974784244637870401916559574148811862745737712886669072691475305023643660973130095367324040876393505816812188098016491765488741405955862439285507184771427516066848797772530735659906126057572141895395412372854577194163920879098151976301909421517336721931946738361258549437508388937795665092746512107959343017581223296892233007095393962185778299808848581004222731635696874328031874471113260235427972090783804651580707590668829179409734772146071383258212441260635823704098697116750495903039614670562063854419038167743420323792943077711152371832347592078319744150229516297802925073921930347176623644508358564658660752264109203193039278681854066848925863600112925878020129176019039284528564279765898352794390261097455625423065644518025597232211174752837011495383487012450688864980811906971034040811521961826486813308964673158021965144202852202019519389541555728315953343711814152876717316776744900362560692622599691880511001030432821719792356889837071333800791037306731068440886839056979951136142492631048102629559744614174720861554818897535991544108522628764100256974081688262806024286663533907205183884241186700433660027278002119965199 5845700456115751631677407728363848608495031672708260779545121065035341179464271806261939152231717402264331993718529722653482922593169754881930093015371132724436131230620950414597184680980502701096891108982962384296144843107247576987558242140249637325915116520187370099506125805535521350066290663251599207601756863403508566280899072210262749800495770089305479814359872795412869136860397888792871895008166590346906773813770998129086429108422380095543045220657582134864014021491087565758108318795025294620938122717765809650681249655219337924106871706859362374945855233837048548200235388642330251122155165962664416779317740294017019685405166510799795566561746340852564135913639264166320646518506097316873301598564438243395818008850713218287936064488932079320899300688454616720663464357469977331165867364305425515580892120832008031662127833602343843911677975272471013325721704526280563984463989546671935142430178685676096849008140230304157541744537671237896296934313464093824015316915960951456313696867159062308841881053678743268494039645044411097721162037420184940706353168528958982288479145672480792450281726255871781316669412965834578803910450580406645642824534127923951501844880106836378307911273910978143099626687551345729139337694117407816668542439687068339288639906545691597123855099966573808762111079026868787197161990452985986041731565051538907036259135390902989040244437696501584636206153702255005051156146372789539487564480380568938000624740576575755709553344935311764733166827341595188361129398971670802318548329990360507230790298383688656920103033057911668665606235722190954888344309631349874276978935946325479751754374764489302033444261098503086410692196255615201569956516436920810033951458843350519287186552766325775624127000372773365109005208426318439697777144902239545004270442596931504907302182467740955626691388948078256162195869399313726539618748163242869033544112473654278374291159091636490560196541977198225707144497886938504686819823329130849668717163877525714229270860878982025944720382283329244937656675613441882497202032129018730254965550980825932863129068008835062970396018437226877302988215728046566022611958253565343304307551496727952361846671755209564612182270980805110197951535499882098174248064799997646132403064920959912191819940976863727248131832120217284940256258469714461571058005753511286675191345304121087919324965571312415561014639141717881745465837075993263764912520058656613376654046597286561848134347797258887899107125295387516696200692847960121401153545172569921877506450286514512623150815617700659429141032249255960124182448214682624375666802373978095202151992359778252135855621921000575910040067463352509118638090652883329351904452877994371530943185101879744717907984700861608492833426524176900944214014675390814575835297423028673816208063541326688877406706094986705668987287859446876110504260814993649322940742703189746462368028343036746895414705863093968084215169329606247495716667180322075646455993133439245304002493000109526728865336262484698260673867223783410038236022826522959411731945585777128759941836726008056971532397520506400995184826987584526896472403885191974224102863207587883253438863734289920428814370702775740307793349429914510519423460248396492921372019477834630245690083891791722882129728599662605530399812191675642816305339769120908721473334827848411600877345665259488308013491927986795709511276326046891980661236671314995715004128308019086741601113594693985465913041111055971510293050030851123269226117385723121604162242966509271601897522482538899199736490306490892941581878340065133799322929969159079125659429697389440141009010802226207994604706916649173320547044897495337848667478744554439092734996968066775853088431645157280959318176443686863529919312591439710920204324682583158491986749334480086315738524261473189037542294094435924072877954007150835803189728946386615863183235683227425973595642812999578348955750906093408916809702427394428457978280372260332972040964304232036362701163184838259311931364937509168762150551534096926910501261407068359392999776971796894711202576802250573485208432937800468828967640322 9458542026046049258408908747435548807913031534595058852227426626371559539551934235428570134333558979017676674250210548431530433667496307389839727283636585263617442817531171997336082205422442034945058195955446495820987859910133369333914257129408038134099332517606102671946256671626566211551196115035174446032113059038883941916737298029132442633629412394500642517676955512750503850295813055338154915125000880735193865981583433987876449123812492478987806696793374074344329385092195582311548738671177001688019627196170876750509445805180069209036803254492193138928954026837985636717032063555049101835134633910246025974599887821099580828951411253642001747063315552047064385288810981062948999415490110072178026445270311908810322203320449614265509504598690571091198113476777061509997945676258215639667430175671889748923362915079791855717736666157477628078628571406671475507814111864536248382329484610770457352962523211801697349504052729335398615703492340708047715821853859504244765545087992140454840889329548236122724917886497983687634716763389203926322712656229418197332760566022551727866251466895021301145430958782859557421029685109642034877789500470208784104610726981688180664346756009912478889723494212343283912780884426801951911069116048048664488992156973619926006055857339937400559502925287003115836062901319074850179253245486735060954156460143726020632861280310372129156418383348592291647708322099500282398953425294902864483772509927564958055818448456377286060330460922038315131237050179431263781007740282137596036311892010674572081549877699367794513084065504510586727978845953131150978856533262066720675124109589584554071427514656067669715827638769874420477041995567812548752726538397231695005756711437967181002553811329034338404174904856147116807721175977064025265492722118376141628118897162311273363950414242088819668786447904222025181064752634724650690341850042966720444055268139213690030855519486973461504456479865139018861998761622183336339264963627560832264303613595713773241734702683295052626250366122185289595165081620243115045498423652925542572909093794154794449317353321919174878418656924331318960640189134903573146977553881628089407604925623216200157602256395359902376600500231920200328628690913139562824122915873589575519828778625074065911454046973691105060846203390500056407915649268606028260238919182813068908000002871919523562868687287046332523087320489194441364073907112355240046482402659992793641155408070176744101305770617442863386644740957977819465943429649212690175919374305541968223394920766860298017774660496015822022220520227459846614985087493663146871184267382797350590092450047293853895948418276133372366125812198909318127349750961360708807321995823267998794854611481453362847205812740141023693842744677848161585509146242404422375456786428279369525185105736133376285835014659299546269532911513205547015964183524031614402070421932956931976065353332148873465508789043339300808558184554968361242740867311704778515168532525346220088247130870511443288439485074347443998386753892856101513541046470183932541827312909818005153447653538196154988024163009247806951047266273091711667899919952040771996633598867494009311011005629685332801668947896939661186891501406216419940940796970328439659733278027272138634627879556884469394237687942680186753696704424682738210267525547420717570054339050580047297751673697133959421273727355958886493315927906754482649490416081049767861075511566231528002236937298792682582663537014095586180855113885270161436969537709516064681873395338341619193975842226689128716034293231564814871929054963709642157887588629911343234862622736668121995075859728089808107530584936778349339586329426059617614565831538944700190190622391132420371114028877368455712155187939070350542370001456420522827175358723394680453813236147789050988896546226617391889744313613825465628606269960494547617342605663703392608083598243920048573287523324000608781777470698450298753881036228185465764709348813147172029020915440374528993749265814398003926106085799063987659686543078205449539265361664042441081262582996083558245109781986134814671908866597827746831087605521 15304242482161800890086316475799397416408063207303319631772547691406900719016206041690509286565276381282008667968740271085013356260666062271769820299007717988053574048152122411933266886402944736041949304938408880117132703017380946321472499269657675460014449037793472771452382477162087561617486778286773653633869922442392508197636370239395192434125182483806122332036828308163372987156210944131026810133167471082100639795354432116962878232234872574530851917450956209208343406583283148069657057466202296308957749913936686401190695460399407133143674961351555513874809260675034184917267452197379352957289799872910442753917628115116600514356577764441797313625061892899628521202450245229269645933996207389051328043834750152206140212171162832553445569087622650412097414165231678230661410033728192970833297539977315264504255035911799887379864499759821471990306546679142488833535816390816812366793474157442392495392701897477794198512192959639556157448030011945944012756167323598068780862003953091911154586196707298431566798940176726956128756408433615024043874693649603138039113734551510710154730612567502093595712685038731338737699098075476613681699951050615429747435261109612132166191636116748857197634768123321427012407571978147681050406810165456481157534596660688265294695763885628997683358025253576924598173980345943637376415235939721046995888025195264927669120415701275118196662821045093876283914475801755287450109571667692403971336990308133896056443189032953041769883805857350079864403877521026452142137139253808398354860222001035079312340176083056451433187098562422255393585081675322105867200842893416594952103045535910033823181889420556971749271899868377506887734191823427750322683054834152505039708170281317700289740364095360114028301905228920481916726384403382464963269867020615686632389339759242778271252596709829775295477836852300281343260622034038377229960598206209589477599380612867968405146678578609952064653021842337244569143259509121841026084786956691681933020777473239487471005563562277078570970748405514534532821757233684997542700455781944272827874644774980727312446421330754237848814675361558196263628404862950139169589512135193432711912477119944152519448928150569466988782771212725310526580226413021660998370980673587221652231843546033978103273987950554832308978035510717341348171907738320489831296924936324355583191348176040611482193652858358748084101959630912323109539744188348503811394922718649407017809454667463305949440118414701751285751866253365336162144122497172811577072919478111890100901371053374810640925476113716481451361552476715806739167535708345771246851069756775445792244442407072106031804040197133948276165879662261827245987841614244038159226448701262370325797796583333107565113797441002632186676171202025062529723160917795236951292083851308043341393169277460065163241720754286251938520199372652423126468444339025263725011164636146678438433381675185620360923494906433268892773353884574608738457534492026854161624525658785465392249623870620970017304821336832142259060621116639511551777069296706891953559258495595133913389490264204211959556560529754207946232093260676238564372323837232746220736462075081892564449869363975253230483318599715401494684850836130930460364257218724932581105297505106768880317963448676192276367416542342792284096516616358381026572865316541626291527673878428458898629019362393447729287219283945682202827204232801374630151652752364763576079639874250614743838050893486668048576578125151557691148163916121284706195655095239186286035638304850890795873364709228027915770783538055707813510933303774775957210518599070422360522052434057562136084870530316016102135291853427522660133374323554955463233310283499139282925619359199196224202460522525736671473364382757214072289314047860233747379683405977838945799985482269137304635070488090580927286607708261389701484223967645383420532334610090008471266833927147474546883166137000187130733221604543707670690738655579894222687629185407505001061879744606565356450428999236263238037450736573156421837094612302376449766623071110800474262359967880452956312358788385388157117299535628215660055245843 24762784508207850148495225223234946224321094741898378483999974317778460258568140277119079420898835360299685342218950819516543789928162369661609547582644303251671016865683294409269349091825386770987007500893855375938120562927514315655386756399065713594113781555399575443398639148788653773168682893321948099665982981481276450114373668268527635067754594878306764849713783820913876837452023999469181725258168351817294505776937866104839327356047365053518658614244330283552672791675478730381205796137379297996977377110107563151700141265579476342180478215843748652803763287513019821634299515752428454792424433783156468728517515936216181343307989018083799060688377444946692906491261226292218645349486317461229354489105062061016462415491612446818955073686313221503295527642008739740659355709986408610500727715649205013427617950991591743097601165917299100068935118085813964341349928255353060749122958768212849848355225109279491548016245688974954773151522352653991728578021183102313546407091945232365995475526255534554291716826674710643763473171822818950366587349879021335371874300574062438020982079462523394741143643821590896158728783185118648559489451520824213852045988091300312830538392126661336087358262335664710925188456404949632961475926213505145646526753634308191300751621225566398242860950540580040434236881665018487555668481426456107950044485338990948301981696011647247353081204393686167931622797901255569849062996962595268455109500235698854112261637489330327830214266779388394995640927700457715923144879535945994391172114011709651393890053782424245946271164066932842121563927628453256846057376155483315627227155125494587894609404076624641465099538638251927364776187391240299075409593231384200045464881719284881292294175424394452432476810085067598724447560380446490228762589138991828260508236921554051635203010951918594964264284756522306524325374668763027920302448249176309921654648752081658436002198065583413569109501707476263431142021131305177365349750584252514197324391068953260712740266245572131197221114527699824127986838853928112588198879434869815400783738569135521761763774652673412727233332285889515224268593997853712316567066016821522119517402743160352677051184545929369365383271444645510855208917326161223822493896547176797172060622171108044014728034924245937369824238901217397756087557006926518091535844119137424491191351047960135045062340145405080607189280120106764473613651300703743857877325378642200658964862737640050050745889032144614672396607211343155628087552146385501752992293783653858324296291820235108658700136609732303473582072704175653354152623202008918118035337139572796382336892454365959927752458473267320642291691861171145373337592575604746966548444524530369120652408064786470412319610181143655880518915879873224115232307160199659326748870279587412866578275013593441449076735413585798208053110885857970142432627863056878127081586569103610414498735007334493826432283949772569701331538439542969981198401803731632676793058184131685480496754741132413305744306411179586257447375009495613065318115766890824495386571405413139066837143802400366947580723539002014897279359533767950232272243789273518217370060942575901875460874993660586032152266496655062681576352242347350401305054189053372240838575532378907514945843005560661670605104485022979037793221041041119236840390863962343861582012929008506196380693059527407150560946639904568696143132139555857279642068833414531437155151440482142746074988192279350631240115139247143872003277801391446143165192804755250967909033643192509989849206935917156631805076769620522685439988267484418115098107228981765595384675170725684131160730258405824209665876790205871999719703749614573077799141822443839473116241750331616595316489399894192383628552321827564614659315504280756574555042129372519399613221630058188293531616714707972817030921322086855330090493928139931037874940273793401079350432171067523120170689461000795912510692302994006424571774883765359987396977998554677030082795184981094350199694813634267164143536535637144081523637690507825989031984735153241555524942963964011201422140774520202829026166133455962491142851364 40067026990369651038581541699034343640729157949201698115772522009185360977584346318809588707464111741581694010187691090601557146188828431933379367881652021239724590913835416821202615978228331507028956805832264256055253265944895261976859255668723389054128230593193048214851021625950741334786169671608721753299852903923668958312010038507922827501879777362112887181750612129077249824608234943600208535391335822899395145572292298221802205588282237628049510531695286492761016198258761878450862853603581594305935127024044249552890836725978883475324153177195304166678572548188054006551566967949807807749714233656066911482435144051332781857664566782525596374313439337846321427693711471521488291283482524850280682532939812213222602627662775279372400642773935871915392941807240417971320765743714601581334025255626520277931872986903391630477465665677120572059241664764956453174885744646169873115916432925655242343747927006757285746528438648614510930599552364599935741334188506700382327269095898324277150061722962832985858515766851437599892229580256433974410462043528624473410988035125573148175712692030025488336856328860322234896427881260595262241189402571439643599481249200912444996730028243410193284993030458986137937596028383097314011882736378961626804061350294996456595447385111195395926218975794156965032410862010962124932083717366177154945932510534255875971102111712922365549744025438780044215537273703010857299172568630287672426446490543832750168704826522283369600098072636738474860044805221484168065282018789754392746032336012744730706230229865480697379458262629355097515149009303775362713258219048899910579330200661404621717791293497181613214371438506629434252510379214668049398092648065536705085173052000602581582034539519754566460778715313988080641173944783828955192032456159607514892897576680796829906455607661748370259742121608822587867585996702801405150263046455385899399254029364949626841148876644193365633762523549813508000285280640427018391434537540944196130345168542192748183745829807849209768191862933214358660808596087613110130899335216814088228658383344116249074210195983427650576048007647447711487896998860803851486156578152014954831429879863104505196500112696498836354166042657370821381789143739182884820864877220764018824292465717142022118002022874800769678802274411934739104259464745247007922832769055461780074382699224000746527255993003763828691291239751019087583153395489052247669272248097291607676774317405103356000186007446846365958148473464708491790231674643558313330065213261765748425197662873609919299625612723448784924943625180891460093320158910354689364886406896348242174581334861438065959556498670401268918457571523432972619325434189848785125774893225792739446450204648119577977433407622146288067195087081898286644955468077994896278040954130895456207971444291053506612318456167872050146573310258510393268901072202082141852092751205250288852932116682520114187355778856205838594104892324117578719655936295758486838417583842917150872746378611753383323049127748011728516507996126135124617095185063597716448945829901008272980226634066604578907137284068756222843511452794444188796644567626506264438106523017657794439910744357635839262635585096370464176261203078478280861669311407778304821943873037485676395263806454236853946972521027365771321889737657399500263413256180503970153109686807436965095009712421920854879848165923850250898970336372357231909793721585779295013234791314732757489913039085766018679816693264398701563151441717512730849360847899994437253944671948043400785722571645145184547575860307676230498950921571259194072308625828052187955906727604783246267245600788721840311801168643633394659853078073169528541032452105942978756041861109530812819518949922419929055101916704584778686948629552140990321934725535350358345413207112327325598166687202798553744317529030348245031574717895785314458407274883883409550617266098214997667053855598000983043243913907537714095262513539345254210084607183962182031144674929587659706650123812870530402180987272210300503360732302810202438798607806264042029787302931844464157734499562905590986143465669084178151198097207 64829811498577501187076766922269289865050252691100076599772496326963821236152486595928668128362947101881379352406641910118100936116990801594988915464296324491395607779518711230471965070053718278015964306726119631993373828872409577632246012067789102648242012148592623658249660774739395107954852564930669852965835885404945408426383706776450462569634372240419652031464395949991126662060258943069390260649504174716689651349230164326641532944329602681568169145939616776313688989934240608832068649740960892302912504134151812704590977991558359817504631393039052819482335835701073828185866483702236262542138667439223380210952659987548963200972555800609395435001816782793014334184972697813706936632968842311510037022044874274239065043154387726191355716460249093418688469449249157711980121453701010191834752971275725291359490937894983373575066831594419672128176782850770417516235672901522933865039391693868092192103152116036777294544684337589465703751074717253927469912209689802695873676187843556643145537249218367540150232593526148243655702752079252924777049393407645808782862335699635586196694771492548883077999972681913131055156664445713910800678854092263857451527237292212757827268420370071529372351292794650848862784484788046946973358662592466772450588103929304647896199006336761794169079926334737005466647743675980612487752198792633262895976995873246824273083807724569612902825229832466212147160071604266427148235565592882940881555990779531604280966464011613697430312339416126869855685732921941883988426898325700387137204450024454382100120283647904943325729426696287939636712936932228619559315595204383226206557355786899209612400697573806254679470977144881361617286566605908348473502241296920905130637933719887462874328714944149018893255525399055679365621505164275445420795045298599343153405813602350881541658618613666965224006406365344894391911371371564433070565494704562209320908678117031285277151074709776779202872025257289771431427301771732195756784288125196710327669559611146008896486096053421340965412977460914182788795434941541222719098214651683903629442121913251770835973970636101063303281339933337226712165592858657563802723644168836476950947282606264857873551297242428205719549314102016332236998061065344108643358773767940815996353087888250066132730057799046707048626513313152136860347021752173526014368613174599204565574050271960881572318333149168909298480519871125852056767046789755991527149573475933808335739180142743406050931896478990980630545080676051647418319226789943815083057507045419606749493954693845027958325749333181088398525697885067113447472782112363607482921744035921038556918227315804025887308957143668589560749263384604117992663026765453532092323337750323108567102612712906048389753017803289943947714002961771510760187775238194555604789824410482869074549719304646948061395191581457848354626421144368363411333700065139019979174337774353899267430851689854608013788062805978408295436430763660548700854338099490119515210642027048836353243133352885796628793434159191314773955371135630737682413300830488540944332401306421412047063777869004945854718007607758237740790812328212139028916811415779782655476583960233696315371619351296425294787851593025526857837555320825631262974365596831677062782448569864583910209649459797515617577625512388750359682958698440619500253647044466314014691699736445471291390405481448262030409112563754819595113468511913089189435790419193826450389942755214900235988027278045369311056808403645845435154719518904176992526040704749688221853705591235910775571778581062341179380937077296753184390909838743612187406733057033953551291402775508930398406331047127664521467045433839266659572781822784101618831593928386818229158102859862429414835439322314121438730469026412343301607945056421746896489767664722877745026428742385513891698303917506526561348450352435100361665211823925245496282215157676810629967698269282520787224545059001778955754606210531720519834288423110614197481585182516859061227470114568754056849818626504797566324523807847444584884369993318028427830592541417283585312245895808475359156640337425793815169631802540140642340948571 104896838488947152225658308621303633505779410640301774715545018336149182213736832914738256835827058843463073362594333000719658082305819233528368283345948345731120198693354128051674581048282049785044921112558383888048627094817304839609105267736512491702370242741785671873100682400690136442741022236539391606265688789328614366738393745284373290071514149602532539213215008079068376486668493886669598796040839997616084796921522462548443738532611840309617679677634903269074705188193002487282931503344542486608847631158196062257481814717537243292828784570234356986160908383889127834737433451652044070291852901095290291693387804038881745058637122583134991809315256120639335761878684169335195227916451367161790719554984686487461667670817163005563756359234184965334081411256489575683300887197415611773168778226902245569291363924798375004052532497271540244187418447615726870691121417547692806980955824619523334535851079122794063041073122986203976634350627081853863211246398196503078200945283741880920295598972181200526008748360377585843547932332335686899187511436936270282193850370825208734372407463522574371414856301542235365951584545706309173041868256663703501051008486493125202823998448613481722657344323253636986800380513171144260985241398971428399254649454224301104491646391447957190095298902128893970499058605686942737419835916158810417841909506407502700244185919437491978452569255271246256362697345307277284447408134223170613308002481323364354449671290533897067030410412052865344715730538143426052053708917115454779883236786037199112806350513513385640705187689325643037151861946236003982272573814253283136785887556448303831330191991070987867893842415651510795869796945820576397871594889362457610215810985720490044456363254463903585354034240713043760006795449948104400612827501458206858046303390283147711448114226275415335483748527974167482259497368074365838220828541159948108720162707481980912118299951353970144836634548807103279431712582412159214148218825666140906458014728153338757080231925861270550733604840394128541449604031029154332849997549868497991858100505257368019910184166619528713879329347580784938200062591719461415288880222320851431782377162469369363070051409938927042073715356759387153618787204804526993464223650988704834820645553605392088250732080673847476727428787725086875964606486497420533937201382230060984639956749495961628099574326152932737989771759622144939639920442278808239196421821573225416012513497547846762051117903925837346588693554140760139208550901433502128413122720307185355174691617567454947257951362056629873323469323065958573540792941022718296847808150932269280731499562177242091846865455814069858479206834908037090611988460955302317218098230976115848013552817361025626367186425425436232014909090043669797405143243316189451882830778541378325282521163595700454673713647749329898501199731402878756680234772267221161831267088979604188120362968372374722201143841662184246889541323087778127420510274395248606353628225869965987225989511964639179951842561907203043290463367261765862299508485894086257393278231207429685027290411935609524761855291676514460584302265122656327825561379042286047093583106977891490755282363708932264557423436689395991034098758399303912124643677004609981884726321607350260305473455914034369564550146539754521681572696355840119763666903224970284167801386543882436386400117903369116910257278487605070494083804884270321099229512004973121463624734069947657725901066363811387990873501668044546998306161236416907841886888604744125475798377539279311561294350226207525726956797384972983683341831410002806259715358885086141507198130380292176665651931835849504833268214077472661319425859895953630159864046034329796985199963969393242234354389244734050493832385730997121988556574608562737218424493200073236090439635854712839489864991120305080305665979382783345393239929719710559954689490041560220180584964367497518454278400657002761998998520118069434615096801962455868407566192366479041092372145044156413763499942439375327968505511080057745088245102296128230866629200347681325615099548827652939516891139900331384801313097471624318793539045778 169726649987524653412735075543572923370829663331401851315317514663113003449889319510666924964190005945344452715000974910837759018422810035123357198810244670222515806472872839282146546118335768063060885419284503520042000923689714417241351279804301594350612254890378295531350343175429531550695874801470061459231524674733559775164777452060823752641148521842952191244679404029059503148728752829738989056690344172332774448270752626875085271476941442991185848823574520045388394178127243096115000153085503378911760135292347874962072792709095603110333415963273409805643244219590201662923299935354280332833991568534513671904340464026430708259609678383744387244317072903432350096063656867148902164549420209473300756577029560761700732713971550731755112075694434058752769880705738733395281008651116621965003531198177970860650854862693358377627599328865959916315595230466497288207357090449215740845995216313391426727954231238830840335617807323793442338101701799107790681158607886305774074621471585437563441136221399568066158980953903734087203635084414939823964560830343916090976712706524844320569102235015123254492856274224148497006741210152023083842547110755967358502535723785337960651266868983553252029695616048287835663164997959191207958600061563895171705237558153605752387845397784718984264378828463630975965706349362923349907588114951443680737886502280749524517269727162061591355394485103712468509857416911543711595643699816053554189558472102895958730637754545510764460722751468992214571416271065367936042135815441155167020441236061653494906470797161290584030917116021930976788574883168232601831889409457666362992444912235203040942592688644794122573313392796392157487083512426484746345097130659378515346448919440377507330691969408052604247289766112099439372416955112379846033622546756806201199709203885498592989772844889082300707754934339512376651408739445930271291394035864510318041071385599012197395451026063746924039506574064393050863139884183891409905003113791337616785684287764484765976718021914691891699017817855042724238399465970695555569095764520181895487542627170619790746158137255629777182610687514122164912228184578118979091603866489687908733324445075634220943602707181355247793264670861403485855785265869871102107582424756645650816998641493642154383462138472894183776055301038239012824953508249594059951569995404660189205530799767922509671892659302101647288252279493270791696687489068564230723571395049159224348252677690590168102049800404828327219238634816811786626870128223445943496180227352604961924185572261299975216277111389810961721995020951025686988265723135081904330729894968190319288417789493046117734174412957738448039956098292641208604651487720755849310421568726438956580655430073931674756939443228726175962623093005441308165331018554384007487620602951861194357070882900347402735108839330787746855826152547247120091568472332360181810441426753958087387793820062229330214931904468162655184977753851438676121364612494738725868838867897014823579232645317524976580635996066394358064418738397396599981921786724574798337610632513851097074354189804614470616573299284272698325093077450868466854478190458065829749059690938125187070653983060228689852211288282421517891936313720129543387618042601441658947508770177214844215683105373831885182127772052143272041255655054280739263920550269436598182493086280327907677790523384817378940666391051359890089197273396183410288665302424166947914014676825162557961889093641856757301930310071690392433460880755321084834412929309493813697652083130515222336866128807269866906337734462269736867732741248746418447122091942120095058489533155801107064058262882977169354735259511311927978998641718737731778695639962716615214358066829255671649189828567048171932562854757409465290164519664984484114914260864796113835466064597098353381563295037811606867014429735218445754905141543635805450971705199237030810552662636780039241502945716004540954753126328601155134931090385566482605047777548995900153599615158725167820349761065880125534830034887905189673129472289446259294459792889098609200411794723461414876047780237757178616482729274164459435879994349 274623488476471805638393384164876556876609073971703626030862532999262185663626152425405181800017064788807526077595307911557417100728629268651725482156193015953636005166226967333821127166617817848105806531842887408090628018507019256850456547540814086052982497632163967404451025576119667993436897038009453065497213464062174141903171197345197042712662671445484730457894412108127879635397246716408587852731184169948859245192275089423529010009553283300803528501209423314463099366320245583397931656430045865520607766450543937219554607426632846403162200533507766791804152603479329497660733387006324403125844469629803963597728268065312453318246800966879379053632329024071685857942341036484097392465871576635091476132014247249162400384788713737318868434928619024086851291962228309078581895848532233738172309425080216429942218787491733381680131826137500160503013678082224158898478507996908547826951040932914761263805310361624903376690930309997418972452328880961653892405006082808852275566755327318483736735193580768592167729314281319930751567416750626723152072267280186373170563077350053054941509698537697625907712575766383862958325755858332256884415367419670859553544210278463163475265317597034974687039939301924822463545511130335468943841460535323570959887012377906856879491789232676174359677730592524946464764955049866087327424031110254098579796008688252224761455646599553569807963740374958724872554762218820996043051834039224167497560953426260313180309045079407831491133163521857559287146809208793988095844732556609946903678022098852607712821310674676224736104805347574013940436829404236584104463223710949499778332468683506872272784679715781990467155808447902953356880458247061144216692020021836125562259905160867551787055223871956189601324006825143199379212405060484246646450048215013059246012594168646304437887071164497636191503462313679858910906107520296109512222577024458426761234093080993109513750977417717068876141122871496330294852466596050624053221939457478523243699015917823523056949947775962442432622658249171265688003496999849888419093314388679887345643132427987810656342303875158491061940035094907103112290776297580394380484088810539340515701607545003584013654117120282289866980027620790639474572470674398095571806075745350485637644195099034242634194219146741660503484088763325888789559994747014593888771377634721173845487549263884137771466985455034385278024039115415731336607931347372469919993216622384640360766175238436930153167704330665673807932188957571925835421029656948071909302947659790317098877189828754922474228473446440835045464344016984260529058664157800201178538045900459600019917351670288209581039868771808306519162933200678299216639948676058166528519799702554804594208247434957301124125868654162407977532183049111105570474261870573459370451381493239519639592046496047857408822487080117645357025883950125876771803244599581343641708515733562275508156788434604052416075746130346902074519076939216803541874886889987332222467093766980810805222157282164156532478557973597401354882105659162462281430272618661055730888863721280782101644601740223995378428590960787158909395342573524794680039569500351876842642797916016677825936346769160954409634724971817508926035072119433455512261719606051640832235091784565104521156561287866254746677918591897793722828351410120859027587453494406882350294472824210344064190641288186495850923669538964960583281078280453731387894814429140069377639410895110215687790160005668145292803811739734939431767041991737992676299817914237939173450460669794533898160479033477392633294531847242720551074572658749224706837450827206236565687663536093283729710194718826674188003473588784589298424501614691361938559685997046412199558030798648913883544217811782222426395240488406587278721094273547221333338754064869349925905700451811192871428286158116687172680409118001791148145071263346365405661195240797250991137627004277557695781346373007302953751646446670589750027892348022351012613969915474941245971760202881581583849703505255453503335545967962934761374574585574490161088993236779934815511343551114354392938920138088563417795826745788778229419040127 444350138463996459051128459708449480247438737303105477346180047662375189113515471936072106764207070734151978792596282822395176119151439303775082680966437686176151811639099806615967673284953585911166691951127390928132628942196733674091807827345115680403594752522542262935801368751549199544132771839479514524728738138795733917067948649406020795353811193288436921702573816137187382784125999546147576909421528342281633693463027716298614281486494726291989377324783943359851493544447488679512931809515549244432367901742891812181627400135728449513495616496781176597447396823069531160584033322360604735959836038164317635502068732091743161577856479350623766297949401927504035954005997903632999557015291786108392232709043808010863133098760264469073980510623053082839621172667967042473862904499648855703175840623258187290593073650185091759307731155003460076818608908548721447105835598446124288672946257246306187991759541600455743712308737633790861310554030680069444573563613969114626350188226912756047177871414980336658326710268185054017955202501165566547116633097624102464147275783874897375510611933552820880400568849990532359965066966010355340726962478175638218056079934063801124126532186580588226716735555350212658126710509089526676902441522099218742665124570531512609267337187017395158624056559056155922430471304412789437235012146061697779317682510969001749278725373761615161163358225478671193382412179130364707638695533855277721687119425529156271910946799624918595951855914990849773858563080274161924137980547997765113924119258160506102619292107835966808767021921369504990729011712572469185936352633168615862770777380918709913215377368360576113040469201244295110843963970673545890561789150681214640908708824601245059117747193280008793848613772937242638751629360172864092680072594971819260445721798054144897427659916053579936899258396653192235562314846966226380803616612888968744802305478680005306909202003481463992915647696935889381157992350779942033958225053248816140029383303682308289033667969690654334131640476104213989926402962970545443988189078908861782833185759598607601402500441130788268244550722609029268024518960875699373472087955300227249249026052620637804957256824301637537660244698482194125330357736544269197679388500501996136454642836592676397017656357619635844279539389801564901614513502996608653840341373039381363051018349031806647443359644757136032566276318608686523033295420415936700643564611671543864709018852929027098255217504735494001027170823774383712462291157880394015405483175012395279023062762090054897690505584836251796767459364968009947517324387292882105509267940868649919308335141163334327315214281729546754559119031493319507821291436396814015838941368428993761174863677508888975881065311882888583940155276054552413735805280424957466858071984445100713996662929396395260143931326410905392212852036497372996863371716931941525452149942487520362895950608496833382631007650598509557259496830790655479663239499384726058091305961663995634384454802599689133113114554039991759419300844056559062263352059343235854068499496235131879175998791544838465995001890245059857234488420024393261534517759958417706591702488854141864896590329829389644261846013254239026817971385839562998899879762207493299779743861961779948736839666661698139928805690644041065764084006464401598291508003763843480532787559104538251741981164673003874791590060590324850672478351676637141676560116853307017291654087720272773649679253647524902594734121811425331865227922747059077510712747223731752871102543800309756235026607840747259539632266309512457418807313907495643153959542769326331624177196691894390793768457601803843542738733100096517277423143333429093717255325959763027413916097627904585532734046378830394358958095245816052568885613938531705448253014929665463761371765048909546252991581195928294039694838853220236903050212806982170856632900440034281801690289641057596937284292089011843908504772775271744884958982733588833617661747464470841399571375361606749404199464571135579038165580855868124434504046875020749455548786125878544015923138274575769268986700375845742034278556019953237665299034476 718973626940468264689521843873326037124047811274809103377042580661637374777141624361477288564224135522959504870191590733952593219880068572426808163122630702129787816805326773949788800451571403759272498482970278336223256960703752930942264374885929766456577250154706230340252394327668867537569668877488967590225951602857908058971119846751217838066473864733921652160468228245315262419523246262556164762152712512230492938655302805722143291496048009592792905825993366674314592910767734262910863465945595109952975668193435749401182007562361295916657817030288943389251549426548860658244766709366929139085680507794121599099797000157055614896103280317503145351581730951575721811948338940117096949481163362743483708841058055260025533483548978206392848945551672106926472464630195351552444800348181089441348150048338403720535292437676825140987862981140960237321622586630945606004314106443032836499897298179220949255564851962080647088999667943788280283006359561031098465968620051923478625754982240074530914606608561105250494439582466373948706769917916193270268705364904288837317838861224950430452121632090518506308281425756916222923392721868687597611377845595309077609624144342264287601797504177623201403775494652137480590256020219862145846282982634542313625011582909419466146828976250071332983734289648680868895236259462655524562436177171951877897478519657253974040181020361168730971321965853629918254966941349185703681747367894501889184680378955416585091255844704326427442989078512707333145709889482955912233825280554375060827797280259358710332113418510643033503126726717079004669448541976705770040815856879565362549109849602216785488162048076358103507625009692198064200844428920607034778481170703050766470968729762112610904802417151964983449937779762385838130841765233348339326522643186832319691734392222791201865546987218077573090761858966872094473220954486522490315839189913427171563539571760998416422952980899181061791788819807385711452844817375992658011446992706294663273082319600131812090617917466616776564263134353385255614406459970395332407282393297541670178828892026595412058842745005946759306490757703936371136809737173279767852572044110766589764727660165641388970910941421919827527224726102984764804930207218667293251194576247346622092287031691710639651850576766377504783023478564890790404073497743623247729112750674102536896505898295690785214826630212170417844300357724102254369903351763309170563557828293928505069785028167464028408385209066159674835103012731955638297712187537342087314786122672185596121939951918809820164734058282692631812923708984994208046383051450682306687805986769109519328252492833622536896254150501355061078281964693997807037931385072872182367461168131548565769071924943846277005191180537050991917687459103663519306279542295530926228523365938340233636254975892443117552753813491023037569877920447498873635174961531522869093858458221082638404107396931437435047083396728856459334015907729872283205114386274713390313773055430976445189676959881853289645593112013589160774182949715721524544782331961896909799388359956412661277643393285062461373430481205847016143883762597918056214557329458769583434345286770158542722526676598550598671480738226056535744006457958996454412141481813544940611978953746345053257996227949564394675483609235938859486912357874522457319095457258250362883082031928748595806171805961190370642513730129289811255759429957090873064454931282447086669293498615382989337469413653193047887537933551160271296994964738797070187012565137969692044553004470104290133187086874224652172926798156755177969881886566244867860796993596532568189864860227987674523478652320630517730742206688881106575847644948120455655815011956809439613474128426553499416278264190612616785353335734222639847606708212078926781591768994534813687277465500720739124419867354044981212375247971222028051195284070328536262294095680831532792827916645335154633065638462019146862256419221942334634986875081611184630275717379945782645543135564488330988049168076391032541501126823831059195878621460595239616637779362658478831434481825690123661925620513934305452074382765742015894718074603 1163323765404464723740650303581775517371486548577914580723222628324012563890657096297549395328431206257111483662787873556347769339031507876201890844089068388305939628444426580565756473736524989670439190434097669264355885902900486605034072202231045446860172002677248493276053763079218067081702440716968482114954689741653641976039068496157238633420285058022358573863042044382502645203649245808703741671574240854512126632118330522020757572982542735884782283150777310034166086455215222942423795275461144354385343569936327561582809407698089745430153433527070119986698946249618391818828800031727533875045516545958439234601865732248798776473959759668126911649531132879079757765954336843750096506496455148851875941550101863270888666582309242675466829456174725189766093637298162394026307704847829945144523990671596591011128366087861916900295594136144420314140231495179667053110149704889157125172843555425527137247324393562536390801308405577579141593560390241100543039532234021038104975943209152830578092478023541441908821149850651427966661972419081759817385338462528391301465114645099847805962733565643339386708850275747448582888459687879042938338340323770947295665704078406065411728329690758211428120511050002350138716966529309388822748724504733761056290136153440932075414166163267466491607790848704836791325707563875444961797448323233649657215161030626255723318906394122783892134680191332301111637379120479550411320442901749779610871799804484572857002202644329245023394844993503557107004272969757117836371805828552140174751916538419864812951405526346609842270148648086583995398460254549174955977168490048181225319887230520926698703539416436934216548094210936493175044808399594152925340270321384265407379677554363357670022549610431973777298551552699628476882471125406212432006595238158651580137456190276936099293206903271657509990020255620064330035535801452748871119455802802395916365845050441003723332154984380645054707436516743275092610837168155934691969672045955110803302465623282440101124285887157271110695903610457599245540809422940940776395471472206403453012014651625203013461343186136735027551041480312965639161328698048979141324659999410993839013753712786279193928167765723557365187469424585178890135287943762936490930583076749342758546929868284387036669506934386013349062562868366455692018587000740231901569454123713483899947524247327497432658186274969306450410576676332788777403198772179245871207122439965472369778803881096491126663602713801653675862273836506339350760003345417736102720269297684580875145002714008864717855239643118944428580383073953004155563707438743564412197073927637759438636587633996956864211468432230901815637400996187317314859222821469686198206402536560542326943935602452735252886256492419939575857842735158215933042084822720488393086595350383440947632917905288838377696685139901928429782729956944871870498546678463464394546008400708603001300058005428270817678091047327366016593512738520527762868353885659439448405079017094972079574131762481542422758707666053580920193483793772280586808134391305132763867887856191544540453642184829900927368432371450906873378372182622311317749075089417187290026047775624300407619117006427940242933326751480295562561977843798559453312021244021038240391722815708125001994835894611262534604289299879979925250996364338924055610603461022093843415869591033286847548152970634194245434103790719614661928237781633728014741015048135754103960947586335655762987148667300717950482272055362585603162222887485856147697725312361701444915655548270414046368213694714971911712559064466267635388689200473740511014756536365858899814042056919882065317247109922434361273480939788977623853270788281549549373070337916572467027390226054458084949012310569443011144311430980038692416492322150610632229844783924200277448649230549630285377411448549973275252070086824442264954245496877310707118926996120865814594518206286392751570349930551030990770761191997214079519945857815200018247937464844416624045114510926095080392248632647526611579666707679699183630382668335615989072186565488537022847357620100265892930912320889780047486352938785695253560017109079 1882297392344932988430172147455101554495534359852723684100265208985649938667798720659026683892655341780070988532979464290300362558911576448628699007211699090435727445249753354515545274188096393429711688917067947600579142863604239535976336577116975213316749252831954723616306157406886934619272109594457449705180641344511550035010188342908456471486758922756280226023510272627817907623172492071259906433726953366742619570773633327742900864478590745477575188976770676708480679365982957205334658741406739464338319238129763310983991415260451041346811250557359063375950495676167252477073566741094463014131197053752560833701662732405854391370063039985630057001112863830655479577902675783867193455977618511595359650391159918530914200065858220881859678401726397296692566101928357745578752505196011034585872140719934994731663658525538742041283457117285380551461854081810612659114463811332189961672740853604748086502889245524617037890308073521367421876566749802131641505500854072961583601698191392905109007084632102547159315589433117801915368742336997953087654043827432680138782953506324798236414855197733857893017131701504364805811852409747730535949718169366256373275328222748329699330127194935834629524286544654487619307222549529250968595007487368303369915147736350351541560995139517537824591525138353517660220943823338100486359884500405601535112639550283509697359087414483952623106002157185931029892346061828736115002190269644281500056480183439989442093458489033571450837834072016264440149982859240073748605631109106515235579713818679223523283518944857252875773275374803663000067908796525880726017984346927746587868997080123143484191701464513292320055719220628691239245652828514759960118751492087316173850646284125470280927352027583938760748489332462014315013312890639560771333117881345483899829190582499727301158753890489735083080782114586936424508756755939271361435294992715823087929384622202002139755107965279826116499225336550660804063681985531927349981119038661405466575547942882571913214903804623887887260166744810984501155215882911336108802753865503945123190843543651798425520185931142681786857532238016902010298138435222258909177232043521760428778481372951920582899078707145477192714694150688163654940218150981603784181777652996689380639216899976097676321357511152390853845586346931346482422660498483855149298566874387586436844030145623188217873012905181476868254877034056891031773102123942555041770680268259400874848588909263955155071987922867813350697376849238294989057715532955078190035055420356766471266942665927674538019973701401637060393306782937998363610090490194246718884879914406868957964840126830579401107722582732256876715682960881315121897154206542558380573863704692090892713007527396581529891447672956990567775530194261879452348364365016019319315118716321781181269172881181281495249438953392951467352607877392370744133721639994987263639866858929685639704165402359708252725174444056222475927528646250400046073468271934152838718852072525948524763808722363395712404300778067170080967666743488002111352916723267029673667276216147957201731285578114963388741862852656753889522255945220229373963632418875956873460393062394458950341643683026490841604807489706352098305984301757555907724162725834583181003701769454470055252832122560826929279772909115918784737908722213446512929698918280344206298951622962035443354324776595384616076617520848904473183997211590818887805469979418201190630241084951038752324618080953910998369809988913745874459217852224653217884737877499671136960208552740518336501400781589196563885485862623022813358571087039985378875553529962391468003906917147869739840725762243064879004223146477858730429118433229670005028885349873381906640864354481011584365290574760055627929664766714261332264099030362689559011436552918735091135926696050351024501831315904018256464445334795664293005440780947639243381221091801697347387346122931727906203415569013050137633017611219156414154932732896811202878213182224362406690657646490583411380297800723917644121167834503530242826261289796211228688824344851195501678792101925956016592837941403714352938427321551437269454735183682 3045621157749397712170822451036877071867020908430638264823487837309662502558455816956576079221086548037182472195767337846648131897943084324830589851300767478741667073694179935081301747924621383100150879351165616864935028766504726141010408779348020660176921255509203216892359920486105001700974550311425931820135331086165192011049256839065695104907043980778638799886552317010320552826821737879963648105301194221254746202891963849763658437461133481362357472127547986742646765821198180147758454016867883818723662808066090872566800822958540786776964684084429183362649441925785644295902366772821996889176713599711000068303528464654653167844022799653756968650643996709735237343857012627617289962474073660447235591941261781801802866648167463557326507857901122486458659739226520139605060210043840979730396131391531585742792024613400658941579051253429800865602085576990279712224613516221347086845584409030275223750213639087153428691616479098946563470127140043232184545033088093999688577641400545735687099562655643989068136739283769229882030714756079712905039382289961071440248068151424646042377588763377197279725981977251813388700312097626773474288058493137203668941032301154395111058456885694046057644797594656837758024189078838639791343731992102064426205283889791283616975161302785004316199315987058354451546651387213545448157332823639251192327800580909765420677993808606736515240682348518232141529725182308286526322633171394061110928279987924562299095661133362816474232679065519821547154255828997191584977436937658655410331630357099088336234924471203862718043424022890246995466369051075055681995152836975927813188884310644070182895240880950226536603813431565184414290461228108912885459021813471581581230323838488827950949901638015912538047040885161642791895784016045773203339713119504135479966646772776663400451960793761392593070802370207000754544292557392020232554750795518219004295229672643005863087262949660471171206661853293935896674519153687862041950791084616516269878013566165012014339189691781158997956070355268583746696025305852276885198225337710348576202858195277001438981529117279416814408573718329867649459467133271238050501892042932754267792235085738199776827246472869034557902163575273342545075506094744540275112360729746032139186146768260484712990864445538404202908149215297802174441247499224087050868020998101070336791554392950685650531199180150783318665453710389679809176300896121800912977802708224873244627392790360446281735590636669467026559650685744634339817718878372814292755324718041347346411945379936539255875213344520581488973689856891002519173797928937811131081953842044628396601427760827536265319191014963158692353083957068632436756377028012244578780266241252633219656943129849316782777704165376930143633372929420095385390449187736507712401714066705222128902090786470119872946124093294879897135337834337242614632268318458451658185875259638288641004223407787979070403265491383588492521041384770927808941822157593592287123931089620920604337940484844938135163008444120751001161150537260282698161051114572162437535164072339501742184927762944864316110295224107660762900628127842540691712707508293144163486440838018759357960760689454431084538134241186647660867962145556115361036183969855621421395424585162595057247668017172089463884062208995898709988905086552370568540302379302438049714821213995322290902477747229578861510721311568519135112234993224546902546485027553955294591188671286694515311766748254628948852082044276331477621440739710509365582463189861372581875864101010932382869614476304168475598044927089290448747260287513725889890310066328250367817948974067751805157972872165499240277704086266836354282389221511219554401955687789954373668254580535469669314302885329498639073976197694300024680591352513300191241281336842935368584575926599981309879242764453991531716515421620106557959686277824949950500148087922563161981864329218120657773765499564081128403778803216370493674878590712011221126150647068779030735772157416678491772546433371444255700834542183229426456643958131827217761010910339732524526149722026221909523750262293494400424780260337132523014752292761 4927918550094330700600994598491978626362555268283361948923753046295312441226254537615602763113741889817253460728746802136948494456854660773459288858512466569177394518943933289596847022112717776529862568268233564465514171630108965676986745356464995873493670508341157940508666077892991936320246659905883381525315972430676742046059445181974151576393802903534919025910062589638138460449994229951223554539028147587997365773665597177506559301939724226839932661104318663451127445187181137353093112758274623283061982046195854183550792238218991828123775934641788246738599937601952896772975933513916459903307910653463560902005191197060507559214085839639387025651756860540390716921759688411484483418451692172042595242332421700332717066714025684439186186259627519783151225841154877885183812715239852014316268272111466580474455683138939400982862508370715181417063939658800892371339077327553537048518325262635023310253102884611770466581924552620313985346693889845363826050533942166961272179339591938640796106647287746536227452328716887031797399457093077665992693426117393751579031021657749444278792443961111055172743113678756178194512164507374504010237776662503460042216360523902724810388584080629880687169084139311325377331411628367890759938739479470367796120431626141635158536156442302542140790841125411872111767595210551645934517217324044852727440440131193275118037081223090689138346684505704163171422071244137022641324823441038342610984760171364551741189119622396387925070513137536085987304238688237265333583068046765170645911344175778311859518443416061115593816699397693909995534277847600936408013137183903674401057881390767213667086942345463518856659532652193875653536114056623672845577773305558897755080970122614298231877253665599851298795530217623657106909096906685333974672831000849619379795837355276390701610714684251127676151584484793937179053049313331291593990045788234042092224614294845008002842370914940297287705887189844596700738201139219789391931910123277921736453561509047583927554093496405046885216237100079568247851241188763612994000979203214293699393701738928799864501715048422098601266105956346769659757605568493496959679124086454514696570716458690120359726325180014511750616857725961506200015724245726144059294138382742721519825363668236582389312221956690795056753735562229148656863907997707942200166587872488656773635584538573873868404212085332260186920330744446570840949403020064355954748482976484274119475981699624401436807578559537280377257027534982929328875434411327892482790380138398113817678888045864213793895187045922218549366996639829000882783888419132057849966833756451497354566267887658115666426913597695415569068766917949947558653531234554802959354129945944724112369950657245898312669151838333920711408903123681974837738813552752527031716832783027003310171263667651401368195563046687831364487945711729613358765989958453438921825742118567974280708388810147687323128439935439810968448570031021327855015290429527745125842783162146869129101749207208333847567309222187921082128817280748284809513967837839192111202440288487458943916213341059827704852158076764414652422884073062770065676339927169101036946833900413218308302404372480921926142941730892999759173946447313671268760346695690204602399126354617065112500500139732916393163835118111817494726813808765817081470001297582782256013772836957357734256802523824963477587338832417423608296232204815365790351955006972156485221429756237733267636384829208539947221892033190077352080658591935162583467201067361043718836072653751450719371015257893365039483530789712313262105831374553711268765863596290641835821855891215621544998698634408564119281927232744695084711507654740889559430841037663336280309118935016481253679593460089554267003640964408561356944690382875989750252717889761670459720502622650332334381074080358009788180960756415770850965127058772589193881369179724260509369210452149848563977181068577131266036796414435526907829811323608822424004363829293141437426429803907261903152844234095361899822002376686759669282905247928038446449835255190928026204941823952177926116588203697208753363207581888569792469487476443 7973539707843728412771817049528855698229576176714000213747240883604974943784710354572178842334828437854435932924514139983596626354797745098289878709813234047919061592638113224678148770037339159630013447619399181330449200396613691817997154135813016533670591763850361157401025998379096938021221210217309313345451303516841934057108702021039846681300846884313557825796614906648459013276815967831187202644329341809252111976557561027270217739400857708202290133231866650193774211008379317500851566775142507101785644854261945056117593061177532614900740618726217430101249379527738541068878300286738456792484624253174560970308719661715160727058108639293143994302400857250125954265616701039101773380925765832489830834273683482134519933362193147996512694117528642269609885580381398024788872925283692994046664403502998166217247707752340059924441559624144982282666025235791172083563690843774884135363909671665298534003316523698923895273541031719260548816821029888596010595567030260960960756980992484376483206209943390525295589068000656261679430171849157378897732808407354823019279089809174090321170032724488252452469095656007991583212476605001277484525835155640663711157392825057119921447040966323926744813881733968163135355600707206530551282471471572432222325715515932918775511317745087546456990157112470226563314246597765191382674550147684103919768240712103040538715075031697425653587366854222395312951796426445309167647456612432403721913040159289114040284780755759204399303192203055907534458494517234456918560504984423826056242974532877400195753367887264978311860123420584156991000646898675992090008290020879602214246765701411283849982183226413745393263346083759060067826575284732585731036795119030479336311293961103126182827155303615763836842571102785299898804880922731107178012544120353754859762484128053054102062675478012520269222386855000937933597341870723311826544796583752261096519843967488013865929633864600768458912549043138532597412720292907651433882701207894438006331575075212595941893283188186205883172307455348151994547266494615889879199204540924642275596559934205801303483244165701515415674679674676637309217072701764735010181016129387268964362951544428320136553571652883546308519021301234848745091230340470684334406499112488753659011510436497067102303086402229199259661884777526950831305155496932029251034608870589727110427138931524559518935411265483043505585784454836250650125703916186156867726285684709147364103374489984847718543169196206747403816678220727563668693153289700706775545704856439461164090833425800753049770400390442800038340686496720003401957686348069868981048787598496125751167695648485651931746104612658574261421850875018579995409908262567047538134396187197357332026893787095215095446856003710850855042276053102070223129262740489034744118546849732225439073354454121521241141687139982711261623283546066855973398258276911890580011617378206262921712612217935666393531705426823399460969611415792255663957112587121337412966714251767789733439689692053271982730317666308672083289967818008567507675018952411354548737604360826960686101141104004692020962453300872075415323512200905310757389047435462245200433274738431977666263165061935353010681075972079647420041908592869786629796530665545826023794550939779660169748168156905005857047897327107716204715718895318187650010303676885220305728594050952680025159280271054542339098060143985942743408467198039912692898440034526111779812618427524427782948151577463168896073974077466408829702099331645671949049664257222416300711936754762383102240629734197533515081575716801603710853091662067437158656173662618892203639804865283373350156671506574063359559631319011531438993896876252109113832796725453290653977373515551950922993896345419052906077617162102861381625281735389289941493999226604605828305078549250313644260316844812001319897476178035877408924813336597539144381517267646823671351074781367969221750946568141212394440575217651897401504689914320833645130514476361920468162201961323940394925390667466806155522836918869989095739549206059865664210846165530660550731091545978399835640338465990703153787987842225702315484239769204 12901458257938059113372811648020834324592131444997362162670993929900287385010964892187781605448570327671689393653260942120545120811652405871749167568325700617096456111582046514274995792150056936159876015887632745795963372026722657494983899492278012407164262272191519097909692076272088874341467870123192694870767275947518676103168147203013998257694649787848476851706677496286597473726810197782410757183357489397249477750223158204776777041340581935042222794336185313644901656195560454853944679533417130384847626900457799239668385299396524443024516553368005676839849317129691437841854233800654916695792534906638121872313910858775668286272194478932531019954157717790516671187376389450586256799377458004532426076606105182467237000076218832435698880377156162052761111421536275909972685640523545008362932675614464746691703390891279460907304067994860163699729964894592064454902768171328421183882234934300321844256419408310694361855465584339574534163514919733959836646100972427922232936320584423017279312857231137061523041396717543293476829628942235044890426234524748574598310111466923534599962476685599307625212209334764169777724641112375781494763611818144123753373753348959844731835625046953807431982965873279488512687012335574421311221210951042800018446147142074553934047474187390088597780998237882098675081841808316837317191767471728956647208680843296315656752156254788114791934051359926558484373867670582331808972280053470746332897800330653665781473900378155592324373705340591993521762733205471722252143573031188996702154318708655712055271811303326093905676822818278066986534924746276928498021427204783276615304647092178497517069125571877264249922878735952935721362689341356258576614568424589377091392264083717424414704408969215615135638101320408957005713977829416441152685375121203374239558321483329444803673390162263647945373971339794875112650391184054603420534842371986303188744458262333021868772004779541065746618436232983129298150921432127440825814611331172359742785136584260179869447376684591252768388544555427720242398507683379502873200183744138935974990261673134601167984959214123614016940785631023406968974678270258231969860140215841783660933668003118440496279896832898058059135879027196354945106954586196828393700637495231475178836874104733649491615308358919994316415620339756099488169063494639971451201196743078383884062723470098433387339623350815303692506115199282821491075106936250512822474768661193421483579356189609249155350747755744027781073705755710492997568587701028599258336084994837574981769721471664966843665587436365018587707683136549004284741574767201926831015621354947623105733963536143767598173018210353989830490617792968527554063439497121850497488526133142081444396844444341113408116007842044771566451179176784045060868076293241561775835379632759228749244618121772922609337250186670542626111229257796469332164248235365329501837359496774237202421001028083353716660145362263210429418181446813583518972403016649082538809497413914658862541438899261605830297626888496593165418785098756852317188986790250546659940044649314419630017354445064519725814611377636490067746396273968080823065387362631346237380108638845195974565569434416274936824017702972647179215855040183457898556877361236030626193677294396725282248668296637922250211732445219533699442532704084004731480304974468002561742366887910037759416082794879505816685398976403366351704699402855278483250395041498268265034048183762161050584536406671708843295866110656486181782757923580834532516865324583460019548009408513833821611644992090898554565106506513916972958923036621148427422037258909534039461660756498994895155370140982627478841558551756226523705404530992998673263637763116626934286492450568432176673489805508607173081258126511422738569972118265279691746717116366276288025581171900645978641390925170011108078436934451648259889940395370128338262886447371084180720285233517817785728127636718343660477371632087424309334501237929656069134878305655061905588631765231202298078234901562168055344839295556748765022454453987904110660681420721588576936033369930577761756926669687911907151195424114272107953727245647 20874997965781787526144628697549690022821707621711362376418234813505262328795675246759960447783398765526125326577775082104141747166450150970039046278138934665015517704220159738953144562187396095789889463507031927126412572423336349312981053628091028940834854036041880255310718074651185812362689080340502008216218579464360610160276849224053844938995496672162034677503292402935056487003626165613597959827686831206501589726780719232046994780741439643244512927568051963838675867203939772354796246308559637486633271754719744295785978360574057057925257172094223106941098696657429978910732534087393373488277159159812682842622630520490829013330303118225675014256558575040642625452993090489688030180303223837022256910879788664601756933438411980432211574494684804322370997001917673934761558565807238002409597079117462912908951098643619520831745627619005145982395990130383236538466459015103305319246144605965620378259735932009618257129006616058835082980335949622555847241668002688883193693301576907393762519067174527586818630464718199555156259800791392423788159042932103397617589201276097624921132509410087560077681304990772161360937117717377058979289446973784787464531146174016964653282666013277734176796847607247651648042613042780951862503682422615232240771862658007472709558791932477635054771155350352325238396088406082028699866317619413060566976921555399356195467231286485540445521418214148953797325664097027640976619736665903150054810840489942779821758681133914796723676897543647901056221227722706179170704078015612822758397293241533112251025179190591072217536946238862223977535571644952920588029717225662878829551412793589781367051308798291009643186224819711995789189264626088844307651363543619856427703558044820550597531564272831378972480672423194256904518858752147548330697919241557129099320805611382498905736065640276168214596358194795813046247733054777915247079638955738564285264302229821035734701638644141834205530985276121661895563641725035092259697312539066797749116711659472775811340659872777458651560852010775872236945774177995392752399388285063578250586821607340402471468203379825129432615465305700044278191750972022966980041156345229052625296619547546760632833468485781604367654900328431203690198184926667512728107136607720228837848384541230716593918394761149193576077505117283050319474218991572000702235805613668110994489862401622992906275034616298347198091899654119072141200810852436669690201054345902568847682730679594096873893916951950775184890383976438056666261740990729306033881789851277036145860554897465719893435987826807818626048369633269007686699261115271795812064408953443748856901659184629419529919122823012564091912468667987107549473347759688898035622922320339438776423738231436328503562863845755622421493455229886115283997339033730596519953926482491454188317972575894443850478937326653253887734512803863325305562506512277220081848976874980500124133613246019020110191850789086609890387792862605839182929515603770419951776211665682448595981128591314877813027944554805265248708752916765419824864005742661901208677649010141380316118495549069211746777064678508565483069908474873391580454434798093591437813383377277173640828734496351627947505093675052294599257763633053244528353408026781856649988228234176385451996836453542928107259629772327249904158251599402192381490608651353222867470960938862717784575363065934048155783459120389309095113166600895191176148835076024380044846666611286588833532687984134877739369840188122895011484857255226506481566529581805876320259946163276216923852274726288432069646682223315520683812014698688585586078210921528426243101465621782368245312041647556690838401189870767757962699301407245107787096434488569917588263865966120383099667386150927660079158875288614284120195253853654569633240716342970882116330659721150959622901707769982012427975913112487525668814753731967667482644403715017907852071360014885787007479074204859556054917946849739321710839191152250489714265392782016982373750833726555142693003625569028974210867676214426737860762003660047769774871527586252249127667124915908977597397265135678615060939183266339974423437967014851 33776456223719846639517440345570524347413839066708724539089228743405549713806640138947742053231969093197814720231036024224686867978102556841788213846464635282111973815802206253228140354337453031949765479394664672922375944450059006807964953120369041347999116308233399353220410150923274686704156950463694703086985855411879286263444996427067843196690146460010511529209969899221653960730436363396008717011044320603751067477003877436823771822082021578286735721904237277483577523399500227208740925841976767871480898655177543535454363659970581500949773725462228783780948013787121416752586767888048290184069694066450804714936541379266497299602497597158206034210716292831159296640369479940274286979680681841554682987485893847068993933514630812867910454871840966375132108423453949844734244206330783010772529754731927659600654489534898981739049695613865309682125955024975300993369227186431726503128379540265942222516155340320312618984472200398409617143850869356515683887768975116805426629622161330411041831924405664648341671861435742848633089429733627468678585277456851972215899312743021159521094986095686867702893514325536331138661758829752840474053058791928911217904899522976809385118291060231541608779813480527140160729625378355373173724893373658032259218009800082026643606266119867723652552153588234423913477930214398866017058085091142017214185602398695671852219387541273655237455469574075512281699531767609972785592016719373896387708640820596445603232581512070389048050602884239894577983960928177901422847651046801819460551611950188824306296990493917166123213769057140290964070496391229849086051144430446155444856059885768278884120434370168273893109103555664931510551953967445102884265931968209233519095822128537975012235973242046994108118773743603213910232836581563989483383294362760503338879127094711943709409455802539816159970329534590688158898124238832518667614481327724867474008760492154057603473643423682899952149421509104791193714563157162533085511923870239157491901848243732955680788036557368711419949396566203592479344281861374895625599572029202514225577083280475003639453162593948743449556250936723451247166429242281198949901296561070836286230287550665201129113365318679662426790779355627558635305139512864341121807774102951704016685258645964366085533703120069187892493125457039149807643282486211972153437002356746494878552585871721426293614657967113650890598014853401893632275917788687182512675823007095990331262086869203346029244664707694802965964089732148549663830328691757905292217874846114611127630276369130686737101575263172837213756052769818011971440835882473722643080030308391371962635622720773187128092141033366553922403086460955635103536787256810748533111448453481520220820582675777441911678871687800393987944634406670160344865415326972158295789306115250682937562590697667366459816187513323796513845742061659794637726754747642549583686336371754737326554614274102373826851996151349820319805974309419422701901918620419502490585709079597107458522567490576483643325571443301858414127538015522272142052992532912447868617693659455799946135849994133731472591676056145055550816304748841472403519822160724937675193492016122369615394303930767902884329111378024941778473618673236702426910285388017887276181905528573110734245504750180850357471362217546783603600784303486197112970913625821225429213327826772755543991445860813553972468858096792675446817866003750469659399230117522648309880714795048749884117224390806586582665706298779381193267615178807341014083394906389336339807955571790050745463919718379330624211788729829437656770937735309734013500248180437960282563126378281363140467411788539318317242748422523984486404705938238106460360072251686544522550358416688815276340875956436267252240133415125706858765225971919849324987433459337158404356240893051605601543098695152023536054350046939173928704694127337795820907290162388992032791645248403604793207201841577899715395318481826746020173692390180145783400271087672044279339465491786344991081860470591142266212515509983486625784458114035673885532209006973837704603158285839555359154191805366526968090378690454246531391694260498 54651454189501634165662069043120214370235546688420086915507463556910812042602315385707702501015367858723940046808811106328828615144552707811827260124603569947127491520022365992181284916524849127739654942901696600048788516873395356120946006748460070288833970344275279608531128225574460499066846030804196711303204434876239896423721845651121688135685643132172546206713262302156710447734062529009606676838731151810252657203784596668870766602823461221531248649472289241322253390603439999563537172150536405358114170409897287831240342020544638558875030897556451890722046710444551395663319301975441663672346853226263487557559171899757326312932800715383881048467274867871801922093362570429962317159983905678576939898365682511670750866953042793300122029366525770697503105425371623779495802772138021013182126833849390572509605588178518502570795323232870455664521945155358537531835686201535031822374524146231562600775891272329930876113478816457244700124186818979071531129436977805688620322923738237804804350991580192235160302326153942403789349230525019892466744320388955369833488514019118784442227495505774427780574819316308492499598876547129899453342505765713698682436045696993774038400957073509275785576661087774791808772238421136325036228575796273264499989872458089499353165058052345358707323308938586749151874018620480894716924402710555077781162523954095028047686618827759195682976887788224466079025195864637613762211753385277046442519481310539225424991262645985185771727500427887795634205188650884080593551729062414642218948905191721936557322169684508238340750715296002514941606068036182769674080861656109034274407472679358060251171743168459283536295328375376927299741218593533947191917295511829089946799380173358525609767537514878373080599446166797470814751695333711537814081213604317632438199932706094442615145521442815984374566687729386501205145857293610433914694120283463431759273062721975093338175282067824734157680406785226453089278204882197625345209236409305955241018559903205731492128696430146170071510248576979464716290056039370288377998960314266092476163904887815406110921365973773872882171716242423495525358180214304165929942452906299888911526907098211961761946833804461266794445679684058762325503324439531853849914910710671932854533643187195082679452097881218381468570630574322200127117501477783972855672807970414605873042448273344419199889692583411998088689914507520965773476728641123852202876877352998559178944817548797442903138581659645578150854473708586606330092069682487211326099664697391647273490831266596406630537563089980655839804422403087019658140096997745518455144439261835120819537281905402606658011263856379118014315555128942742653010135016499646568734370773820958997244320907213770415241735533556016409438089636556275628862754360702754815743232597742137125880563273561810310295124839977050401580254865523119943289261259919769665535313246735237450688227520121393937043846940436430210193767172025261884831434224189922442361920745279556054503696081891361456353515998107123662836290932287691966916998275574349077295342669597180262254345543202943219368740734653621033886213223714863983974256958818529113006875393399543256223038427119530831834205053077236377731382306289946955263693414799743926170133762749496186242341203723778464730991989874033507759035902888389494461522277174448296684288765635473328566808926747602128252317217181984541931032604645660835548065193547028354727381406335338717649912374941464322035546486902276204752472434033847495649924488195212660067901735066267669316194444667762693858470953144958340582952433998319599578459101966386525664592000063731385779453436096009155643938293291742449104007345483214247456506740256462110814224382809198376008262107363927331399008703739990978960479825574418958228149802308040520686900614202565224444806465134035964030263159426699597519447859305463303551693877406899884863005263289391800686276046437455770313265331566067731012883542430635497665663869689026653090299218341487684085486039620116477080191724410224486546461774083443660403736593226086832270283201748532956551456941045142029029561956794220954829661275349 88427910413221480805179509388690738717649385755128811454596692300316361756408955524655444554247336951921754767039847130553515483122655264653615473971068205229239465335824572245409425270862302159689420422296361272971164461323454362928910959868829111636833086652508678961751538376497735185771002981267891414390190290288119182687166842078189531332375789592183057735923232201378364408464498892405615393849775472414003724680788474105694538424905482799817984371376526518805830914002940226772278097992513173229595069065074831366694705680515220059824804623018680674502994724231672812415906069863489953856416547292714292272495713279023823612535298312542087082677991160702961218733732050370236604139664587520131622885851576358739744800467673606168032484238366737072635213848825573624230046978468804023954656588581318232110260077713417484309845018846735765346647900180333838525204913387966758325502903686497504823292046612650243495097951016855654317268037688335587215017205952922494046952545899568215846182915985856883501974187589685252422438660258647361145329597845807342049387826762139943963322481601461295483468333641844823638260635376882739927395564557642609900340945219970583423519248133740817394356474568301931969501863799491698209953469169931296759207882258171525996771324172213082359875462526821173065351948834879760733982487801697094995348126352790699899906006369032850920432357362299978360724727632247586547803770104650942830228122131135671028223844158055574819778103312127690212189149579061982016399380109216461679500517141910760863619160178425404463964484353142805905676564427412618760132006086555189719263532565126339135292177538627557429404431931041858810293172560979050076183227480038323465895202301896500622003510756925367188718219910400684724984531915275527297464507967078135777079059800806386324554977245355800534537017263977189364043981532442952582308601611188299233281823214129150941648925491507634109829828294331244282992768039360158430721160279545112732920408146938687172916732987514881491459645143183057195634337900745184003598532343468606701740988168290409750374528567722616331727967179146946772524609456585364879843749467370725197757194648877162891060199123140929221236459039686320960808463952396194971722684813623636871218901833159448764985801001287569361063756031361349934760783963995945009109810327161100751595034145065845493504350550525648979287929360922859405752646429811034715552700360094549510206904418000788932383246367340381116818563440735155993922398374245116618317539543506258401121107635727093367639138353153493053560475172905031629580932880219241098224469570226492782172904626175793786103404889745671936718641589898377756546922273310395101845819227302479218064903582991212326920607221356410397382724043226435973728169687674913111532538712992820063443153971229176770111312353300846915425996927182914581016016007562319249221649618489974777242841794223767763895843091786250529999741481444684586733352844609424932947629824876663513026263572467845099679087441408982076963828947809964108969990808486796945913036329052980208390195537336674691960416790798676584702517972556336387494079119543466788200367409521912871617342357887433716163316431102178156205000979526649382173978802817631202352039291322606920487845953904628822202354207420817111359820206374586607432435902995673725897616592408228872558254787561156100721175313974659988748898608396130494947295311069676664608096201384088601767136765748050904701252785681657398020087612841188509733319394584548999875857306856318414780114163047093318070259682974395997353890169308053613078707282404346808227718378345094526246865224635327472886686715815726935508713283721320707816578991943006633364582799498013652349138063800194583639142118865697837725705797494268283215583261645198925043141507254170825987905160286059500084613206365873526224141986643259124458984039795891917654650511692996593893477888015355485708583813392813751186575932610781281065934957361070932429764710127832675167346510211258743292707234393711112330919888119117545935945600199924536873441487588088315705648746411668997119940647248467486221355535847 143079364602723114970841578431810953087884932443548898370104155857227173799011270910363147055262704810645694813848658236882344098267207972465442734095671775176366956855846938237590710187387151287429075365198057873019952978196849719049856966617289181925667056996783958570282666602072195684837849012072088125693394725164359079110888687729311219468061432724355603942636494503535074856198561421415222070688506624224256381884573070774565305027728944021349233020848815760128084304606380226335815270143049578587709239474972119197935047701059858618699835520575132565225041434676224208079225371838931617528763400518977779830054885178781149925468099027925968131145266028574763140827094620800198921299648493198708562784217258870410495667420716399468154513604892507770138319274197197403725849750606825037136783422430708804619865665891935986880640342079606221011169845335692376057040599589501790147877427832729067424067937884980174371211429833312899017392224507314658746146642930728182667275469637806020650533907566049118662276513743627656211787890783667253612073918234762711882876340781258728405549977107235723264043152958153316137859511924012639380738070323356308582776990916964357461920205207250093179933135656076723778274102220628023246182044966204561259197754716261025349936382224558441067198771465407922217225967455360655450906890512252172776510650306885727947592625196792046603409245150524444439749923496885200310015523489927989272747603441674896453215106804040760591505603740015485846394338229946062609951109171631103898449422333632697420941329862933642804715199649145320847282632463595388434212867742664223993671005244484399386463920707086840965699760306418786110034391154512997268100522991867413412694582475255026231771048271803740269317666077198155539736227248987065111545721571395768215278992506900828939700498688171784909103704993363690569189838826053386497002721894651730992554885936104244279824207559332368267510235079557697372270972921557783775930396688851067973938968050144418665045429417661051562969893720162521911924393940115472381597492657734699177904893056105815861295894541496489213899683421570442297882789670889530809786202373670614109284101747089124653007032927602196015682138723745083286311788391928048821637595524295569725752545020354531444437898882505950829634386605683550061878285441779917864782618297575706624637482418410264693394043133937647067977843868443825179229375070934886918429577713093108689151721966798231835521828026985959267673037149321762324014468056732327944417204240897905674611938902323499998176701443134148893364897575992051287721029877964759553368908832061613601710186531578400444114668746124789951034196718841120409557057289810041670580190001123438215309224490204982742162342754912426806820813679782711602590924048377667927275771310734957189323717244790987080406437193277897317006251792706034524305277267482088914756962865225212227931069314345161700939690032222680740193508653469946471564787068799347375309550570156219567529959654359206556032603439516105739800119880097656075886989084061146023208378998650160470644541080539617911329157525452297618588731196271200371468336078361995901207242802921456127840380785006964547997521484179414533936383285816596337437672217617375128522173054072103106730187157628407286933346197294850619118856109262976101893958180170122022581905358043702201125063714308758228973492531156644530679931213041791330495360504616705019335477607719427319417049140689515226736799272583933602772560046875036005383243882779761659943759041922586084096308607714856011928730636119354337936842603306373212657166384370733333892310378408825912026318660731336628530625009107469384612720629204534955273085732199468744178807182307212028357400171164121915038150822605688816686185623068687241443733063953239445730042121456736050432711625420095464114876365792573123743589845948722428010677917202791802517655774982388394579753934452811256021849144958881482199459475041416778731598827050097585520063928469320359252832549831375220372898958803935598877381662202561206339682193426011369143724689336621272257105687456811026149502604042688441051016811196 231507275015944595776021087820501691805534318198677709824700848157543535555420226435018591609510041762567449580888505367435859581389863237119058208066739980405606422191671510483000135458249453447118495787494419145991117439520304081978767926486118293562500143649292637532034204978569930870608851993339979540083585015452478261798055529807500750800437222316538661678559726704913439264663060313820837464538282096638260106565361544880259843452634426821167217392225342278933915218609320453108093368135562751817304308540046950564629753381575078678524640143593813239728036158907897020495131441702421571385179947811692072102550598457804973538003397340468055213823257189277724359560826671170435525439313080718840185670068835229150240467888390005636186997843259244842773533123022771027955896729075629061091440011012027036730125743605353471190485360926341986357817745516026214582245512977468548473380331519226572247359984497630417866309380850168553334660262195650245961163848883650676714228015537374236496716823551906002164250701333312908634226551042314614757403516080570053932264167543398672368872458708697018747511486599998139776120147300895379308133634880998918483117936136934940885439453340990910574289610224378655747775966020119721456135514136135858018405636974432551346707706396771523427074233992229095282577916290240416184889378313949267771858776659676427847498631565824897523841602512824422800474651129132786857819293594578932102975725572810567481438950962096335411283707052143176058583487809008044626350489280847565577949939475543458284560490041359047268679684002288126752959196891008007194344873829219413712934537809610738521756098245714398395104192237460644920327563715492047344283750471905736878589784777151526853774559028729107458035885987598840264720759164262592409010229538473903992358052307707215264255475933527585443640722257340879933233820358496339079311323505840030225836709150233395221473133050840002377340063373888941655263740960917942206651556968396180706859376197083105837962162405175933054429538863345579107558731840860656385196025001203305879645881224396225611670423109219105545627650600717389070407399127474895689629951841041339307041296395966287544067232050743125236918597763431404247120252344324243793360280337919206596971446853513980209423699883793520190698142637044899996639069405775862873892428624736807376232516563476110186898393684463296047265773229366684584982021500745921633982278073187658199358626384799020767905074394326340384491600590056918317936866430977444562734743784404164075733046538050593365815839796287641946925372748897082917301962758184000651593378402288106383883091157754194230218073635870461887752838308739498166103979563120436772426009228425917433374128073196195069082949976268837204203537723009147576319093736052581038808310023727777252766871216020163850517749546578744232432248719888949105321293275044408163978612483715187005173911108568929464835533124008931270193250134914631058298139913408772308257180395032883080556223226827051655711690880925087816763948827907620184856979892547942969121415327703140679034736617876292603289574316250974203291249168827536758962415197905462689407610212443368999457723142894398264160837915281592690141384265343245719611651020435006330874212345394710027218033111533036109135700404715667730478676315637562709326394083165795748479521950451931073683318501869914329694667845131304519428829821437921825442655815686381683943573809103515921184185906437566131438052058265591000792647659716224515116563277364310659819616348778904498876422770761949329998990319093750335290732772614426825735873666775080142120028756753920438273183885366664101417311724923196320121433912925855663089664724142475377543389981805225680706538234964316498677292941471386654411891420562955524659316325598438370773183628710906876420616785706154964199489572158446649967731832591981552469661956998683720172306286675384988473231822468166741730432958351695233386035407652198059797533784411168517949828638597153034420179060042633963665606193197646711208301550321678752275627793625935906017166176924709587962754433868480023269443251291155927272372347043 374586639618667710746862666252312644893419250642226608194805004014770709354431497345381738664772746573213144394737163604318203679657071209584500942162411755581973379047518448720590845645636604734547571152692477019011070417717153801028624893103407475488167200646076596102316871580642126555446701005412067665776979740616837340908944217536811970268498655040894265621196221208448514120861621735236059535226788720862516488449934615654825148480363370842516450413074158039061999523215700679443908638278612330405013548015019069762564801082634937297224475664168945804953077593584121228574356813541353188913943348330669851932605483636586123463471496368394023344968523217852487500387921291970634446738961573917548748454286094099560736135309106405104341511448151752612911852397219968431681746479682454098228223433442735841349991409497289458071125703005948207368987590851718590639286112566970338621257759351955639671427922382610592237520810683481452352052486702964904707310491814378859381503485175180257147250731117955120826527215076940564846014441825981868369477434315332765815140508324657400774422435815932742011554639558151455913979659224908018688871705204355227065894927053899298347359658548241003754222745880455379526050068240747744702317559102340419277603391690693576696644088621329964494273005457637017499803883745601071635796268826201440548369426966562155795091256762616944127250847663348867240224574626017987167834817084506921375723329014485463934654057766137096002789310792158661904977826038954107236301598452478669476399361809176155705501819904292690073394883651433447600241829354603395628557741571883637706605543054095137908220018952801239360803952543879431030361954870005044612384273463773150291284367252406553085545607300532847727353552064796995804456986413249657520555951109869672207637044814608044203955974621699370352744427250704570502423659184549725576314045400491761218391595086337639501297340610172370644850298453446639027534713882475725982581953657247248680798344247227524503007591822836984617399432583508101019483125780976128766793517658938005057550774280502041472966317650715594759527334022287831368290188798364426499416154214711953416325398143055412197074264978345321252600736487176487533432040736252292614997875862214776322723991873868511653861598766299471020332529242728450058517354847555780738675046922312514000869998981886374880292436818400943115243617097810509764211396571680808552411855786280766888510348351597252603426902421312299652164637739378680641951334487709772507151948025302069750344985440374093363992541239421790840290270324889134205022992636148760204962287234349719985593277689332594674332742381995251838787035027580618575661036852930478443006199229549355648683352563401177811245292731181264011024351402791859178910017784430248966084081334462734442090588460811150930924186739856641549438500512594983629626570542526497078735575348940399233104980422914091165775223156231612010386758788384577529862926982208119683566730965189102648086182881186258211744294320441193556564068708005276260743968976609088992329794326353301149679277698415910514618731841703271821879980365098737130430751276267458590614853015364825127298103927901362812158359399461007224077767551159842057049323238052381459396385399466813133948220269161443396069046602010518349597532424900538811220352263335917771061427308495633274808382216178672558668160376287949050108761034479713155938016320303086703279051416822943240601235047127081358174851330849524603565207706591260520499807160144072319763375390701490582972731378476805341927720955213104673227575375920800038393040051145813476012339135162746350299502546098000729947936734030665704734154542130390618362750456341944121722197164112437709063938406128438413715443764077075471098077043631642766103049389551677816503225750167642926853328411126250428314365937951019773711321678540703980480339874201475522689962061657773383052985756920977997752282103310576715585494882693614838529132611461266103469892567066473393673011609874009184038505152001582310085683212524239958615309987051947275160890866261330860219860121325291049418945855333844368323389158239 606093914634612306522883754072814336698953568840904318019505852172314244909851723780400330274282788335780593975625668971754063261046934446703559150229151735987579801239189959203590981103886058181666066940186896165002187857237457883007392819589525769050667344295369233634351076559212057426055552998752047205860564756069315602706999747344312721068935877357432927299755947913361953385524682049056896999765070817500776595015296160535084991932997797663683667805299500317995914741825021132552002006414175082222317856555066020327194554464210015975749115807762759044681113752492018249069488255243774760299123296142361924035156082094391097001474893708862078558791780407130211859948747963141069972178274654636388934124354929328710976603197496410740528509291410997455685385520242739459637643208758083159319663444454762878080117153102642929261611063932290193726805336367744805221531625544438887094638090871182211918787906880241010103830191533650005686712748898615150668474340698029536095731500712554493643967554669861122990777916410253473480240992868296483126880950395902819747404675868056073143294894524629760759066126158149595690099806525803397997005340085354145549012863190834239232799111889231914328512356104834035273826034260867466158453073238476277296009028665126128043351795018101487921347239449866112782381800035841487820685647140150708320228203626238583642589888328441841651092450176173290040699225755150774025654110679085853478699054587296031416093008728233431414073017844301837963561313847962151862652087733326235054349301284719613990062309945651737342074567653721574353201026245611402822902615401103051419540080863705876429976117198515637755908144781340075950689518585497091956668023935678887169874152029558079939320166329261955185389438052395836069177745577512249929566180648343576199995097122315259468211450555226955796385149508045450435657479543046064655625368906331791444228304236571034722770473661012373022190361827335580682798454843393668189233510625643429387657720444310630340969754228012917671828971446853680127041857621836785151989542660141310937196655504898267084636740759934700305154984623005220438697587925839322189046106055753292723366694539021699741141497029088446489519334250607891780552293080576536408358156200133982919695438727382491863285298650092991211030671879773350055156424253331643612567475547049321377102515545362485067190830502864239162509390327177194349193418072426730186394133859468425087868974736396273371331976815638640036656238329435598959888200918687217069886691809706233826078031978424686729808381035709432787215643073786217122324955394332760856555665636637826369476368847086788904550816017865713726539873336320116741765016416050915215432208457975273082057480636597372880328242707450101215227889125801006755229111520482830004892391358190511694857459676831314781441936286435385781870749232483932734947863817570905242714187832655586238278891531483020630610756280240543280580008923299208588161066895616891991823911360221985728642406108013309867455985201366281373328017535912896445600948869157031961451209654056441828714014316292203117908306157954246025171229533926273889393166474172921280022463227808194126755827070795761076319197314742599914219151816503087776660974258487387790270597744861523161166253380694479505204747006726186080076208740538101520546746346501713519540949258947564348491700718048586888362828221419253569537590855917634981380672135989468387222625225926459161785420953564647489612903389115115604357855366307485035616370437508382979582991739480395081849154149238754671926711274306855008518308148535226864128913717920893618132367891916666788572686431464664831365248458953862024855588455056246281452415180484419499265587145917663389770476641092754912392736705548462125509968464194598290762365715150116187276409378878549803273945196832405392513855510109466423679053511132685532950001831200159242862268348333158371526217579389144739482715061662271948971530290345812898326666395872434621419721205663626428093190669916643147704111345199229021293984762845918710890937780677883181178057043186040448182614555193771072688389106625000295595761505282 980680554253280017269746420325126981592372819483130926214310856187084954264283221125782068939055534908993738370362832576072266940704005656288060092391563491569553180286708407924181826749522662916213638092879373184013258274954611684036017712692933244538834544941445829736667948139854183981502254004164114871637544496686152943615943964881124691337434532398327192920952169121810467506386303784292956534991859538363293083465230776189910140413361168506200118218373658357057914265040721811995910644692787412627331404570085090089759355546844953272973591471931704849634191346076139477643845068785127949213066644473031775967761565730977220464946390077256101903760303624982699360336669255111704418917236228553937682578641023428271712738506602815844870020739562750068597237917462707891319389688440537257547886877897498719430108562599932387332736766938238401095792927219463395860817738111409225715895850223137851590215829262851602341351002217131458038765235601580055375784832512408395477234985887734750791218285787816243817305131487194038326255434694278351496358384711235585562545184192713473917717330340562502770620765716301051604079465750711416685877045289709372614907790244733537580158770437472918082735101985289414799876102501615210860770632340816696573612420355819704739995883639431452415620244907503130282185683781442559456481915966352148868597630592800739437681145091058785778343297839522157280923800381168761193488927763592774854422383601781495350747066494370527416862328636460499868539139886916259098953686185804904530748663093895769695564129849944427415469451305155021953442855600214798451460356972986689126145623917801014338196136151316877116712097325219506981051473455502136569052297399452037461158519281964633024865773629794802912742990117192831873634731990761907450122131758213248407632141936923303672167425176926326149129576758750020938081138727595790231939414306823552662619899322908674224067814271184743667040660280782219710333168725869394171815464282890678068456064691538154843977346050849902289228404030361781146524983402812913918783060319079315994747429785400308557603058410650295064682318645293051806987776724203748688462260270465246139692092682077111938215762007433767742120070737784379313984333816828829023356032062348759242419430601251003517146897416392462231363201122501800113673779100887424351242522469361835377972514527248859947483267321265182277753007424987704113404814644107538738805989645749191976379323087993525974758879236950939688820876068814279601839535406396989577038639835008303576423017418798780093800922275131223627505913398675351327347948030481521061517952870987546355069646536419383578883558399860965565326908363900735317426053268981393658438407687524628730740833199998550691573535438631365226252240528592865934139129304913078970976472692653246136948048137642465712366123026292027331309249745078916364574434360097402321449763181595985471383871954397111796385979436472155290966767711683786118023993877825011675390642325411088376728588989199568079200279521807474929892086243918172706344917845766120953781003980409742978393292014708113632527037999657517847051209899025011019823917750440379870637316243173019254053930998697123888477556714203607138296919367662929833710297496539769249666983144328336295114473649855922901273793608736704429673741165438640331767098609837631290602376567443197623300082934227259447030988597707202619646351890397348137318688456292555090501676642749402402386656000691728847787754719964640207923063072898745556116177597652455299346367130181885664821885527715560013854432229519959681745883524456026902521953769066707094144707027079413138872188977562665561313185192984527729589742997186636899815165636826363620987784310030101098834415047221193326108180469625537596608045507826241056865415104701794003779635129046192730127273607958655820828221448060486197390375189673389513430341705401634765552230409990931754579203336310122737234997164972848664557025173039427736855799007333700724889613772730099821766202279790652331742616497200811331379667975370158669506247767729830456338947909447371308402474676519062122107334961958844663919150663521 1586774468887892323792630174397941318291326388324035244233816708359399199174134944906182399213338323244774332345988501547826330201750940102991619242620715227557132981525898367127772807853408721097879705033066269349015446132192069567043410532282459013589501889236815063371019024699066241407557807002916162077498109252755468546322943712225437412406370409755760120220708117035172420891910985833349853534756930355864069678480526936724995132346358966169883786023673158675053829006865742944547912651106962494849649261125151110416953910011054969248722707279694463894315305098568157726713333324028902709512189940615393700002917647825368317466421283786118180462552084032112911220285417218252774391095510883190326616702995952756982689341704099226585398530030973747524282623437705447350957032897198620416867550322352261597510225715702575316594347830870528594822598263587208201082349363655848112810533941094320063509003736143092612445181193750781463725477984500195206044259173210437931572966486600289244435185840457677366808083047897447511806496427562574834623239335107138405309949860060769547061012224865192263529686891874450647294179272276514814682882385375063518163920653435567776812957882326704832411247458090123450073702136762482677019223705579292973869621449020945832783347678657532940336967484357369243064567483817284047277167563106502857188825834219039323080271033419500627429435748015695447321623026136319535219143038442678628333121438189077526766840075222603958830935346480762337832100453734878410961605773919131139585097964378615383685626439795596164757544018958876596306643881845826201274362972374089740545685704781506890768172253349832514872620242106559582931740992040999228525720321335130924631032671311522712964185939959056758098132428169588667942812477568274157379688312406556824607627239059238563140378875732153281945514726266795471373738618270641854887564783213155344106848203559479708946838287932197116689231022108117800393131623569263062361048974908534107456113785135848785184947100278862819961057375477215461273566841024649699070772602979220626931944085290298575642239799170584995369837303268298272245685364650043070877508366326218538863058787221098811679357259036522214231639404988392271094536626897405365431714188262482742162114869328633495380432196066485453442393873002275150168830203354219067963809998016411156755075030072611345014674097824129421440262397752164898462598232716534268925200123505217617064248297824389799346090856052589579725477114398249878561727736325084206646925331644714537402501049397223466823609303310840656414721556472461568449672903424814281918073618507625372724546015383506172483434374417726679291866781700220852059191069685032308873870616145499901812798313836595923571901778146081466441480129654393872689368240825395908975868864050843757831805507814473780493808059312727413113179998977562849099522298177668307564163951014251571709662763485880132426996735716712698571546776634982994706185060773441903667214553685633074105370995097212877946656264723173756303220103779831069151945866714923152915232213634466184807107306331000316750435344157611763872222439432951284909217084224613301150659779470981213380809758069492884964796754028946207052516071184166017610371271755027157039937580889189859456280727030550402406478540615462890509749949905976741852313844956339344810143325826390761971791783652275846335393816819126456189183942746314983118699360592282023477724301868675861564172076954256376337400658109079755812280918439206230591732548035160838278929358869662280746671039676954314685781143503826814690264191672991253766650867486987600712277074918996079927444875409027330392678433651938389754445331452242883181267580817310783120253371455947764488604891688313948238500917175173999722118013972020839347627780819851910191056044507924742533401218804791061213342076958169952621069428700806075046380343536601794008414498758324090126105420915699267476717712226635120613528555463385240635182465403206135346309334978393726249859392949707295479446727842400040352673652738216077380397185548407713637517004952633411756585089231712833194795724068583844959514912168803 2567455023141172341062376594723068299883699207807166170448127564546484153438418166031964468152393858153768070716351334123898597142454945759279679335012278719126686161812606775051954634602931384014093343125945642533028704407146681251079428244975392258128336434178260893107686972838920425389060061007080276949135653749441621489938887677106562103743804942154087313141660286156982888398297289617642810069748789894227362761945757712914905272759720134676083904242046817032111743271906464756543823295799749907476980665695236200506713265557899922521696298751626168743949496444644297204357178392814030658725256585088425475970679213556345537931367673863374282366312387657095610580622086473364478810012747111744264299281636976185254402080210702042430268550770536497592879861355168155242276422585639157674415437200249760316940334278302507703927084597808766995918391190806671596943167101767257338526429791317457915099219565405944214786532195967912921764243220101775261420044005722846327050201472488023995226404126245493610625388179384641550132751862256853186119597719818373990872495044253483020978729555205754766300307657590751698898258738027226231368759430664772890778828443680301314393116652764177750493982560075412864873578239264097887879994337920109670443233869376765537523343562296964392752587729264872373346753167598726606733649479072855006057423464811840062517952178510559413207779045855217604602546826517488296412631966206271403187543821790859022117587141716974486247797675117222837700639593621794670060559460104936044115846627472511153381190569645540592173013470264031618260086737446040999725823329347076429671831328699307905106368389501149391989332339431779089912792465496501365094772618734582962092191190593487345989051713588851561010875418286781499816447209559036064829810444164770073015259380996161866812546300909079608094644303025545492311819756998237645119504197519978896769468102882388383170906102203381860356271682388900020103464792295132456532864439191424785524569849827386940028924446329712722250285779507577242420091824427462612989555663298299942926691515075698884199842857581235290434519621913591324052673141374246819565970626596683785002750879903175923617573021043955981973759475726176650408520960714234194455070220324831501404534299929884498897579093482877915673757074124776950282503982455106492315052520485772992133047544599860204962157365145394603718015405177152602576003047360641807664006113150966809040627620912383325320849735289540519414297990467064158163567271731481196223963971479722840978924066816022246917410225585971880042227469871136919777020851455295802979591571378612919079615661919925556062317932817587644857193690064121587376617122954013702532309023833024530543539147036594474263475313584712831667732370182986738623507370130308987946845336743497003968753555952116246206174182339019440444489248722641765464096732537765709885613714195847557181046635440277244223382715153184853862513544346666780824209054651266915342605196011044162482099584086412446025856544244981231233112190023749241858290784560689273869013217614875927785500598345708430382962382157269281719273649331976295929041001975053681021297095714154232634863689068190008853274310743149814190812990551828947444081569251566926289604564033518195751395200680406325307752334224199594939423691071415382184080943566176976100745702393833959595091866586503105782424805416833658808830294636712331256018049048574578568225978511425263966558732954948105185188412829044396020203981512104976147848725632813293578275725999844166411492925204669874699635575733346774372010075197447280669172821256054307806421781946075493066317064386589995953991618844922917484035074449429520081082746454137146741241155765977865587439306735535141564609097644799537318726059479847080404493195924553704194835679636970935263528492412749717034170298406230438818459803890479464559810685242003428773966729168315021880684624252009390213952709391607969278085580636424668372038264410539836071198948751123826071625595229497947811189344339600851684053320713586236049903433316137544093855952862080783064987563908231895316903059030542689623434062832324 4154229492029064664855006769121009618175025596131201414681944272905883352612553110938146867365732181398542403062339835671724927344205885862271298577632993946683819143338505142179727442456340105111973048159011911882044150539338750818122838777257851271717838323415075956478705997537986666796617868009996439026633763002197090036261831389331999516150175351909847433362368403192155309290208275450992663604505720250091432440426284649639900405106079100845967690265719975707165572278772207701091735946906712402326629926820387310923667175568954891770419006031320632638264801543212454931070511716842933368237446525703819175973596861381713855397788957649492462828864471689208521800907503691617253201108257994934590915984632928942237091421914801269015667080801510245117162484792873602593233455482837778091282987522602021914450559994005083020521432428679295590740989454393879798025516465423105451336963732411777978608223301549036827231713389718694385489721204601970467464303178933284258623167959088313239661589966703170977433471227282089061939248289819428020742837054925512396182444904314252568039741780070947029829994549465202346192438010303741046051641816039836408942749097115869091206074535090882582905230018165536314947280376026580564899218043499402644312855318397711370306691240954497333089555213622241616411320651416010654010817042179357863246249299030879385598223211930060040637214793870913051924169852653807831631775004648950031520665259979936548884427216939578445078733021597985175532740047356673081022165234024067183700944591851126537066817009441136756930557489222908214566730619291867201000186301721166170217517033480814795874540642850981906861952581538338672844533457537500593620492940069713886723223861905010058953237653547908319109007846456370167759259687127310222209498756571326897622886620055400429952925176641232890040159029292340963685558375268879500007068980733134240876316306441868092117744390135578977045502704497017820496596415864395518893913414099958892980683634963235725213871546608575542211343154984792703693658665452112312060328266277520569858635600365997459842082656751820285804356925181889596298358506024289890443478992922902323865809667124274735296930280080478196205398880714568921503057587611639559886784408587314243566649169258517994278011289549363369116150947127052100451334185809325560278862518502184148888122574672471549976831462969524025158277802929317501038601280077176076589206236656184426104875918736773124666940591342130099139775104865314036725295008056565402870889303124437378381425116213245713741019528896812536456949026343598488226693754880110084897665189886238291804161677303431728545752307235314324149060471764342439435808192639046011406179639978524432356337460873190397835377091730794298109212499837380611312875610955704896922714200794340761800559063766590026699982241651746853557669247700204614563619030715434017449777665210099128890709398926157376650379450869897552434060320981649775530394115424708819009819749696677236587470579183625323972512808968154987536332293803580311010236651275612426784245431249342112592607904676708747133397726314881045591496088764927580838258086199666982171956875185135446015673447137682893818071064772096021243329061735994965054452841006594083329542144922708055207675927710956727714230874839662485449173640977392124036394788522516320910889028220224721566883650238778952117818622235960114998014237383027314374717409640856602045950280380101125530730809909204481522589070938124151832484899951311206739581273667974131857205084869506447158163964881624189385416719237173589062274266870438534435823688743041908518698856865071572993761939795617326346670052496861307238480405901672403262350327271447929861494527221925630076044198423849089803110014819973537040844073451867919752120976744405614385891724144895677796929711217540778247512375364400391439529232591285539606191028778605222782381227926639112006790045167708657690670421618243089891614136099809909007220729813745971417508283729517552321484988179205243290636072182000892036726973451802313430300618864545257731372957814714194821572653139944728511698783099126534582948975001127 6721684515170237005917383363844077918058724803938367585130071837452367506050971276970111335518126039552310473778691169795623524486660831621550977912645272665810505305151111917231682077059271489126066391284957554415072854946485432069202267022233243529846174757593336849586392970376907092185677929017076715975769416751638711526200719066438561619893980294063934746504028689349138197688505565068635473674254510144318795202372042362554805677865799235522051594507766792739277315550678672457635559242706462309803610592515623511430380441126854814292115304782946801382214297987856752135427690109656964026962703110792244651944276074938059393329156631512866745195176859346304132381529590164981732011121005106678855215266269905127491493502125503311445935631572046742710042346148041757835509878068476935765698424722851782231390894272307590724448517026488062586659380645200551394968683567190362789863393523729235893707442866954981042018245585686607307253964424703745728884347184656130585673369431576337234887994092948664588058859406666730612072000152076281206862434774743886387054939948567735589018471335276701796130302207055954045090696748330967277420401246704609299721577540796170405599191187855060333399212578240949179820858615290678452779212381419512314756089187774476907830034803251461725842142942887113989758073819014737260744466521252212869303672763842719448116175390440619453844993839726130656526716679171296128044406970855221434708209081770795571002014358656552931326530696715208013233379640978467751082724694129003227816791219323637690448007579086677349103570959486939832826817356737908200726009631068242599889348362180122700980909032352131298851284920970117762757325923034001958715265558804296848815415052498497404942289367136759880119883264743151667575706896686346287039309200736096970638146001051562296765471477550312498134803332317886455997378132267117145126573178253113137645784409324256475288650492338960837401774386885917840600061208159527975426777853291383678505253484790622665242795992938288264461628934492369946113750489879574925049883929575820512785327115441696344041925514333055576238876547095480920351031647398536710009449619519586108868560547027450658914503301124434178179158356440745571911578548325873754341854628912145744971183469188402493175590383032241284789908021251829050733838168264432052593915038987957141021170119272331754938988828114918628876293208106470103614604327437817884253212349807151235145503539649156449987790326631670618554073095332378194888862279788046599094853274604160219360349183029267960658429754482784416499176496214735408003714606335405887877256761264851210883777339223357284608070240052901969006254161828464026812425315593059713938488663811548962899876607909784872098852405315507129776944870020367349936382981086013884869559537537837765769312619718706272906156423990766294002158496422846380027715763253199727335391379405946686071756034366434620873762166023082406296573865328316556354603170075975734352424945707721399069570163270037769998369353213136218769444483827329552868527435836301700653258648864218040378108503022417177516360108472150327310769738096903876767299088174720663193253970899289678650537136205872902671345375515245835434142052287823912498534410258161009619146708956226250959071128391363053021983209063862080388597332048807506220475732088693297011634730614058681161975516825282057900243427652793773806844532019739645630735458689431180614176258891526389497289542864152586707777483767168547852688881463416182887429999300787425435480810869350613569656890086294064085052294970520363434284342067885815104996509999096216325120638811147066060079004182207322300661671341784224722515480351101923343433073725585076602735682987903495663483505159384231367719112464773074359570132931715000156614172668959318580727403781866613060458203630290495281682673770630830257989036481765004166001714020608651556347957094954133887474669419718047904623131009851059169699716736234577379258994224285807488707232480641378393110583408703191101825416521601743720780294165388549480204052180682801825228910676794977886560217048176623828601842129669224206383037833451 10875914007199301670772390132965087536233750400069568999812016110358250858663524387908258202883858220950852876841031005467348451830866717483822276490278266612494324448489617059411409519515611594238039439443969466297117005485824182887325105799491094801564013081008412806065098967914893758982295797027073155002403179753835801562462550455770561136044155645973782179866397092541293506978713840519628137278760230394410227642798327012194706082971878336368019284773486768446442887829450880158727295189613174712130240519336010822354047616695809706062534310814267434020479099531069207066498201826499897395200149636496063827917872936319773248726945589162359208024041331035512654182437093856598985212229263101613446131250902834069728584924040304580461602712373556987827204830940915360428743333551314713856981412245453804145841454266312673744969949455167358177400370099594431192994200032613468241200357256141013872315666168504017869249958975405301692743685629305716196348650363589414844296537390664650474549584059651835565492330633948819674011248441895709227605271829669398783237384852881988157058213115347648825960296756521156391283134758634708323472043062744445708664326637912039496805265722945942916304442596406485494768138991317259017678430424918914959068944506172188278136726044205959058931698156509355606169394470430747914755283563431570732549922062873598833714398602370679494482208633597043708450886531825103959676181975504171466228874341750732119886441575596131376405263718313193188766119688335140832104889928153070411517735811174764227514824588527814106034128448709848047393547976029775401726195932789408770106865395660937496855449675203113205713237502508456435601859380571502552335758498874010735538638914403507463895527020684668199228891111199521835334966583813656509248807957307423868261032621106962726718396654191545388174962361610227419682936507535996645133642158986247378522100715766124567406394882474539814447277091382935661096657624023923494320691267391342571485937119753858390456667539546863806672972089477162649807409155331687237110212195853341082643962715807693803884008171084875862043233472277370516649390153422826600452928612442488432734370214151725394211433581204912374384557237155314493414636135937513314228639037499459988537832638446920487453601672581604653906058968378881151185172354073757612872777557490141289909292693944803304915820291084442654034571011035787604653205607514993960842418586463335661250379458385929574654730917973800717693848200197692231614157287844612001965742577728597597741774299242513674399449283379596952956125522558333896230408361215515972774921951151089502687939016526789013153822547288216293155314633592806466248233508232105725344668303790073395256214068782975269934229497046301427886157369857747961249258592041718781792273738332178527569871683485296299606138665642513147559827744123050994591334793968633744785169044616045814962465433292591997524141616892979958730634186309966331884997285500684553362244695404398635657040742453663093970882162181291206305776777630909863878764087111914127437504080113560152970716407699125924649757834787031372902265826861831457605557174374387645365210846084425124666210583343555796489416440287341856677471114023818877552987251264755092948688853878934306166747056102319780736214083903524565837770973026199630256870520611209617922523758834283402728859167064061010018062049888753888804858769402766960005452868330287782660126539271627515028020352773357068230366554705292699685173781414727389627011272968761557292685895738857060727820854967918253470469014207693952496558608938324349540820198742138124843819495676218639053840943977824648647331723838645531960995886252774326605783400997033006464230210209829125739527703583233321170829127284746611400414206383582919908735149413364932966619127926762290857387914847831273529195049135031221697518269073050543772192742799213874338729185021593245894264714587426705595293552628094149061313852836044486386479724038031778906215516210158930714595571587908434392461488703602635757507267617190862910504671045228059556601868491509172708132870188121352340300625228795758789332012834578 17597598522369538676689773496809165454292475204007936584942087947810618364714495664878369538401984260503163350619722175262971976317527549105373254402923539278304829753640728976643091596574883083364105830728927020712189860432309614956527372821724338331410187838601749655651491938291800851167973726044149870978172596505474513088663269522209122755938135940037716926370425781890431704667219405588263610953014740538729022845170369374749511760837677571890070879281253561185720203380129552616362854432319637021933851111851634333784428057822664520354649615597214235402693397518925959201925891936156861422162852747288308479862149011257832642056102220675225953219218190381816786563966684021580717223350268208292301346517172739197220078426165807891907538343945603730537247177088957118264253211619791649622679836968305586377232348538620264469418466481655420764059750744794982587962883599803831031063750779870249766023109035458998911268204561091908999997650054009461925232997548245545429969906822240987709437578152600500153551190040615550286083248593971990434467706604413285170292324801449723746076684450624350622090598963577110436373831506965675600892444309449055008385904178708209902404456910801003249703655174647434674588997606607937470457642806338427273825033693946665185966760847457420784773841099396469595927468289445485175499750084683783601853594826716318281830573992811298948327202473323174364977603210996400087720588946359392900937083423521527690888455934252684307731794415028401201999499329313608583187614622282073639334527030498401917962832167614491455137699408196787880220365332767683602452205563857651369996213757841060197836358707555244504564522423478574198359185303605504511051024057678307584354053966902004868837816387821428079348774375942673502910673480500002796288117158043520838899178622158525023483868131741857886309765693928113875680314639803113790260215337239360516167885125090381042695045374813500651849051478268853501696718832183451469747469120682726249991190604544481055699463532485152071134601023969532595921159645211262162160096125429161595429289831249390147925933685417931438282110019372851437000421800821363310462378231962074541602930761179176053125936882329346552563715593596060065326214684263387068570493666411605733509016107635322980629192055613845938695966989630710201919010522338189665466692596478098430930462813217135059854809119199361282910864219142257708267809934952811845095630936270486896395882998035086024642521244605471336247921295530070426503019567632658601060595852332757817102123482271781635057879037862381369455302018773069304234122967550921860652178712415940713571716355750146297761892787341118262161568795421270493060658823825165439283156967601622358156090676692760142033081902361808557663102239878115311185641573127732666661833275870016293339184303204002572512295089633279441561986240545897374619050557221833472120560424021992501034221467659026618397903782916062365027208051638282888239600455576660287714669641112120034726610905723700863969251515394427425075221261458239416747291522948215828090762728977778193348824910721543102166117943259181700213035564958735334372856262549108308558464816983714803316747719549428699160761815802587692111613166311642790051521661522916102567835562835160557125818184493682833758197292967386646226368305075007136477346252699902914934158489448342083890834683889343067918305477541547662611703301422506605636188327019718963274302798163153904525309895637509654938144038472461247537862662878143572514441272269548982728166706608207674297477745054212317555521309178214315930842951006210164645816708741234341168940134487365705113919948160031970947993395180429756683511366603876249949216474722618083066965893197732621403011208742617552538548239749519685759984339315297920065349322082324251547346531708628903917846118478121768810877722905662051955507305554815547938194456819822525895077142116547379781739384007144753499916683637945208231013569572279063765738718262317586394922748690800309107706154996611625494286905225204379478287561782579412390708723225910861381830779168304150594693087236297976168902467358464982995715050668029 28473512529568840347462163629774252990526225604077505584754104058168869223378020052786627741285842481454016227460753180730320428148394266589195530893201805890799154202130346036054501116090494677602145270172896487009306865918133797843852478621215433132974200919610162461716590906206694610150269523071223025980575776259310314651125819977979683891982291586011499106236822874431725211645933246107891748231774970933139250487968696386944217843809555908258090164054740329632163091209580432775090149621932811734064091631187645156138475674518474226417183926411481669423172497049995166268424093762656758817363002383784372307780021947577605890783047809837585161243259521417329440746403777878179702435579531309905747477768075573266948663350206112472369141056319160718364452008029872478692996545171106363479661249213759390523073802804932938214388415936822778941460120844389413780957083632417299272264108036011263638338775203963016780518163536497210692741335683315178121581647911834960274266444212905638183987162212252335719043520674564369960094497035867699662072978434082683953529709654331711903134897565971999448050895720098266827656966265600383924364487372193500717050230816620249399209722633746946166008097771053920169357136597925196488136073231257342232893978200118853464103486891663379843705539255905825202096862759876233090255033648115354334403516889589917115544972595181978442809411106920218073428489742821504047396770921863564367165957765272259810774897509848815684137058133341594390765619017648749415292504550435144050852262841673166145477656756142305561171827856906635927613913308797459004178401496647060140103079153501997694691808382758357710277759925987030633961044684177007063386782556552318319892692881305512332733343408506096278577665487142195338245640064313659305536925115350944707160211243265487750202264785933403274484728055538341295363251147339110435393857496225607894689985840856505610101440257288040466296328569651789162793376456207374964068160388074068821477127724298339446156131072032015877807573113446695245728568800542949399270308321282502678073252547057083951809941856502807300325343491650221953649811954244189910915306844404562974337300975330901447337370463534258926948272830751374558740850820200900382799132703911065722046848746082243468082793728195450592602025958009591353104182876411947278339470153968239720839755507161938364770629410283803936945435230178045312921015542467805805938049522733822557646262456421015599297252162579272053941769495727762658117176855477270603026338430061355414843897781514295309457328321241978322411427541331403200464531328766437833427100663567030216259655372276935310915715334629334555316883429014076959308892332057271164627825271391695753412304745475735411967311399408109985549259609735863272434900165169451448454107014202194820909055986689298872118433755275792589121813984668948369210385351190467216905729468638038315996686900951618615922045399809042323757842237948249220124597741077344841076914336516518670383651648177363957940133677575718631380998039089149280626055610060129955528266809091338346319541318420669026815875778046213073115301391820566791978413436923495953923675663068139927982958302892984495650178256089929548789084280335461667604508912787671195516524416714094863292565240596002614494411376870911212064139278101206766734216773311112532856682248282625486619693850953404077936367527430301551416562070825273565641641195350006745934429337434781419553330248410866723168510593177753947223036444292870962141452545238310540020852602347064735025298600022130571025990323385908268427401559944534514186636907483372466012759630163584344167760892137856619595325119019075288644507252856650576554999875719651089531196103407561747142538912325850873709377367034266297160398545698880839974084471495689184513965659635391194775234033325953042340072772040693273653025574627866091710387199619036400233806327138140625676004098594571459095210236266039357292327422408323550152218442300349365301138264900959239822301726584520059886748393928807015235794829399770275301213394271138920938432647659813323302825957424419328509203092587260741785047063502607 46071111051938379024151937126583418444818700808085442169696192005979487588092515717664997279687826741957179578080475355993292404465921815694568785296125345169103983955771075012697592712665377760966251100901823507721496726350443412800379851442939771464384388758211912117368082844498495461318243249115372896958748372764784827739789089500188806647920427526049216032607248656322156916313152651696155359184789711471868273333139065761693729604647233480148161043335993890817883294589709985391453004054252448755997942743039279489922903732341138746771833542008695904825865894568921125470349985698813620239525855131072680787642170958835438532839150030512811114462477711799146227310370461899760419658929799518198048824285248312464168741776371920364276679400264764448901699185118829596957249756790898013102341086182064976900306151343553202683806882418478199705519871589184396368919967232221130303327858815881513404361884239422015691786368097589119692738985737324640046814645460080505704236351035146625893424740364852835872594710715179920246177745629839690096540685038495969123822034455781435649211582016596350070141494683675377264030797772566059525256931681642555725436134995328459301614179544547949415711752945701354843946134204533133958593716037595769506719011894065518650070247739120800628479380355302294798024331049321718265754783732799137936257111716306235397375546587993277391136613580243392438406092953817904135117359868222957268103041188793787501663353444101499991868852548369995592765118346962357998480119172717217690186789872171568063440488923756797016309527265103423807834278641565142606630607060504711510099292911343057892528167090313602214842282349465604832320229987782511574437806614230625904246746848207517201571159796327524357926439863084868841156313544813662101825042273394465546059389865424012773686132917675261160794493749466455171043565787142224225654072833464968410857870965946886652796485632101541118145380047920642664490095288390826433815629508756795071468318328842820501855594604517167948942174137416227841649728445754211561430404446711664273502542378306474099735875541920738738607453511023073390650233755065553221377685076366637515940231736510077500463307345863605479511988424347434624067065504464287451369626370322671455555864853717566448711985783809296531297992947640301555023193398750136943806162750446338151770218320379073424625438529483165219856299449320303021188825477420617651033680459004309454042145454456101623939773407184743390189690791257833084620196423109929204086934282394113231946021263786076944515207359104359691866729560104472504698654296317359694079279375982970929831371728027081608677608121970452817478452224435347452369551155882436603910982238993318111568395422168495554000393301769918543212361849613978583620541738297184115115940290072211114248240289893301444630728844909072030683800225214845743829435908412300689026289892660030817030908368610645234319949182725104688785050289586532108364198196654005128791583977628638705110262553901064821909385192970146056456219300547388697373347133008345783619029538069116539668366229142212128981993721305394773328336956779302126351269699472604262482140480051854731299706022442413194810940071892517240900697446647104457656030574310587298084359979549255420418383425089685448252608669838297858290507583176213903211563026011015447790840737730967570510528534842747145854673004971849214028265372247780171277829522369725709208732135597935324078640144048376378106654631650215194760899107171014534655893817507859522749019308955272409322776345076342888581511632564122584358244510950744678832453616224606807181699764650950049281680840297888590543318514199505045328018619460526826504216350442269172598161996605294368545550121068468426247925606783785982920382885014178760039433793578013436061312191344020098693080151804074811150950494946355325608532880182681639648581656438858926128883469254688005457743482601716212595126919903984565523340991980602613917957160562666951696061013591759548930007881581131685381035299154011394714082391182349687691922117497049782320263426828117473897519044660717304678105559945725724780762114170636 74544623581507219371614100756357671435344926412162947754450296064148356811470535770451625020973669223411195805541228536723612832614316082283764316189327151059903138157901421048752093828755872438568396371074719994730803592268577210644232330064155204597358589677822074579084673750705190071468512772186595922939324149024095142390914909478168490539902719112060715138844071530753882127959085897804047107416564682405007523821107762148637947448456789388406251207390734220450046385799290418166543153676185260490062034374226924646061379406859612973189017468420177574249038391618916291738774079461470379056888857514857053095422192906413044423622197840350396275705737233216475668056774239777940122094509330828103796302053323885731117405126578032836645820456583925167266151193148702075650246301962004376582002335395824367423379954148486140898195298355300978646979992433573810149877050864638429575591966851892777042700659443385032472304531634086330385480321420639818168396293371915465978502795248052264077411902577105171591638231389744290206272242665707389758613663472578653077351744110113147552346479582568349518192390403773644091687764038166443449621419053836056442486365811948708700823902178294895581719850716755275013303270802458330446729789268853111739612990094184372114173734630784180472184919611208120000121193809197951356009817380914492270660628605896152512920519183175255833946024687163610511834582696639408182514130790086521635268998954066047312438250953950315676005910681711589983530737364611107413772623723152361741039052713844734208918145679899102577481355122010059735448191950362601610809008557151771650202372064845055587219975473071959925120042275452635466281274671959518637824589170782944224139439729513029534304503204833620636504105350227064179401953609127321407361967388745410253219601108689500523888397703608664435279221805004796466406816934481334661047930329690576305547856806803392262897925889389581584441708617572431827283471744598201397883789896830863892945446053141159948011725676549183826749747250862923087378297246297160960700712767994166951575794925363558051545817398423546038932797002673295344300045709309743132292991920771200490277532711840978947800677809397864406460261255098809182807916324665187834168759074233737177602713599799809916794779512004747123900018905649892908127376275162084222145632904414577872609973827541011789396067939766969156801734679498348334109841019888423456971729981738132011688407910877117223237025569764015444131460286985595742737373278587199807113272712455468646789919045300372253972535680346338014278157101435875705163185625083797527506380039550001146091027100304016919593323456599787372795335653449424411678443487939707768538807510385013864980700167644230965967704701178028528761621459349841856055441903466635563570047304274405935157296276582600316749162600184864619805614209883794113039821259602767905932019361298069133027595269562263850241994582534147012542892527534781328488795937731349969868498314145157375493914202078428779849518870545864687837217339636537977999402743068475739147296347160454885987907547562881155797869499351607846443638348599868918329683136396100216405816143119994659282664325335397690461118327982446789689781726982566125260539487098258493600884396263350283710948665685688062747020046709209070354646861277420669945779799322127980647522986013593057130222385796151223791040532402150765444827443073053736919470717719732455143161473032716743631970392459243101275165224827969141983935551463885496797346362746170062769871911302337144348074945098473459607501955950030852785646070895279193019090523707979273194459394814534393449441732435745210138643633218580333972525872317177403059216226161920262129358100012856115688089033394319299957302973818052280080781430713059600013518265073702620575277850979411293468314185130027853491023266987048599261558454810547731358968856057895326362689796392828631133747581196287671690337156170023922815668414388926164070175602863016316997199278492718788752309608165651745267783693082818409949877220582119962993135511768188703258696074487930797200345002085136633187308652532986466565809177673243 120615734633445598395766037882941089880163627220248389924146488070127844399563051488116622300661495965368375383621703892716905237080237897978333101485452496229007122113672496061449686541421250199534647471976543502452300318619020623444612181507094976061742978436033986696452756595203685532786756021301968819898072521788879970130703998978357297187823146638109931171451320187076039044272238549500202466601354393876875797154246827910331677053104022868554412250726728111267929680389000403557996157730437709246059977117266204135984283139200751719960851010428873479074904286187837417209124065160283999296414712645929733883064363865248482956461347870863207390168214945015621895367144701677700541753439130346301845126338572198195286146902949953200922499856848689616167850378267531672607496058752902389684343421577889344323686105492039343582002180773779178352499864022758206518797018096859559878919825667774290447062543682807048164090899731675450078219307157964458215210938831995971682739146283198889970836642941958007464232942104924210452449988295547079855154348511074622201173778565894583201558061599164699588333885087449021355718561810732502974878350735478612167922500807277168002438081722842844997431603662456629857249405006991464405323505306448881246332001988249890764243982369904981100664299966510414798145524858519669621764601113713630206917740322202387910296065771168533225082638267407002950240675650457312317631490658309478903372040142859834814101604398051815667874763230081585576295855711573465412252742895869579431225842586016302272358634603655899593790882387113483543282470591927744217439615617656483160301664976188113479748142563385562139962324624918240298601504659742030212262395785013570128386186577720546735875663001161144994430545213311933020558267153940983509187009662139875799278990974113513297574530621283925596073715554471251637450382721623558886702003163155544716405727772750278915694411521491122702587088665493074491773567032989027831699419405587658964413764381983980449867320281066351775691921388279150929028025692051372522131117214705831225078337303670032151281692940344284777540250513696368734950279464375296353670676997137838006217764448351056448263985155261469885972249679446243806874981829129475285538385444556408633158578453517376365506765295814043655198011853290194463150569673912221165951795654860916024380192147920085214021506469250134376658034128818651355298666497309041108005410440742441465730553365333218847176798976948758834321151078243428827357569701697129011200206994849581878735940309086449198487743039450697706144886661540348209861839921401157221585659415532972075922398828331098528270931578570240190273787877884771864047994643822144372449789749378331976549095589812726519968098002947947071973983308963820439675983641763819678685987594346617049405536566475901761379891445093936650489414435098639856869257168015068594958309253958099950058503638172909084561943765259251701327942817121313436852994134385355098660082291773796080604176755979493601758904063516010744293436640183926675372749876076821522766325885229571425656273776705093284779863220657002619771975305379171044680952835868704478887956623171849390582370347777810885272058399874964030590479173629670582916570061408845791685244375812605704129332090775373510999628716547506928645154444453634573157342825333143428438363723744560627640750920638898369645713537373999979473092815320833908197300240089458164351893608630652067710610536507619479381819856478184336744834658634900031453240180254029585518891220257609553670851290174816348189013588514153437143890581846023871851544139932586080376159159465484442731122572733633800681962147418085379300544491777704229563432576604189434727520096618150484233639154462787726205228580601838263001164315727238360052952058651716056636590042323431392161394336934102664641973761933403924870091334993229371007550512496754252491573265647516636591491063798003884285464076074008488339009406369528777988132763425683268693260292084478337682317489746783430648818992236829804663959611764469650685057629265238485578959501316048271097864046745853937865414212478712191346571291843879 195160358214952817767380138639298761315508553632411337678596784134276201211033587258568247321635165188779571189162932429440518069694553980262097417674779647288910260271573917110201780370177122638103043843051263497183103910887597834088844511571250180659101568113856061275537430345908875604255268793488564742837396670812975112521618908456525787727725865750170646310295391717829921172231324447304249574017919076281883320975354590058969624501560812256960663458117462331717976066188290821724539311406622969736122011491493128782045662546060364693149868478849051053323942677806753708947898144621754378353303570160786786978486556771661527380083545711213603665873952178232097563423918941455640663847948461174405641428391896083926403552029527986037568320313432614783434001571416233748257742360714906766266345756973713711747066059640525484480197479129080156999479856456332016668674068961497989454511792519667067489763203126192080636395431365761780463699628578604276383607232203911437661241941531251154048248545519063179055871173494668500658722230961254469613768011983653275278525522676007730753904541181733049106526275491222665447406325848898946424499769789314668610408866619225876703261983901137740579151454379211904870552675809449794852053294575301992985944992082434262878417717000689161572849219577718534798266718667717620977774418494628122477578368928098540423216584954343789059028662954570613462075258347096720500145621448396000538641039096925882126539855352002131343880673911793175559826593076184572826025366619021941172264895299861036481276780283555002171272237509123543278730662542290345828248624174808254810504037041033169066968118036457522065082366900370875764882779331701548850086984955796514352525626307233576270180166205994765630934650563538997199960220763068304916548977050885286052498592082803013821462928324892590031352937359476048103857199656104893547749933492846121021953584579553671178592337410880704287028797283065506319057038777587229229583209302418522857359210435125140397879045957615535602441668639142074016406322938348533482831829982699998176654132229033590202827510338767830816473047516369664079250325173685039485963668917909038496495297160192035396064662964659334292432510934545052989682898153794663119707144518790145810761292053317186282301544807818790779098030758940087371277945949074305388097428559275493896990165975461097003417574409017103533459768808316999689408507517197464564977140422480573477418961276210336070413824546712774278452611365229024570094942980284328818313479707305050525525859354386821452460278719797035720423043762976223915025025546484954749092039455082973222013425928635115447864255035170027563069123531334196275726438131761852140988597259763345841529795757456957485935802704125975600735604768313662295731425545230455242256034898621022984562832843058502078129054045278801270295028644982433969909078427617836500890328615256169083086098907735172934803938347793398713870835344656094765341790072116705068528580605918953456098090958057922381608422934061875432130653979820464653372152619145297261913622232390026311644181324267974440577732720008610466215613653979039963010635972264804695293772766291844049865034673113208575733176727857410820280260900612236708177109548507104285286128772075955987840280756461061573746648763256715998999801305731055243103122624655271409085886709758153684770973306435049593436754069776150744917920258393887645116770957809190619495055081663368811342580928966862580656985081306153478728770210098785528250586543000199648288763131559946698018926235273289807796515544464184289929536652741303064870634663640565353570618554280018836180564305169379010820605780636665713273070364094881632622648802766109696856878196631006599921728187857107026162531554419890543081945746440297960066470323725418677211867893302842685629708522064130518132997028920452524131649789803777102366519368554649578854263062040345267725238644994291555975801232244032411154677820758454942058308366288699585690459570577197126434627097912435175916602685319648214613836832346589613678193141033427188837655575803979068298209048830990571052722865011698657912380469517122 315776092848398416163146176522239851195672180852659727602743272204404045610596638746684869622296661154147946572784636322157423306774791878240430519160232143517917382385246413171651466911598372837637691315027806999635404229506618457533456693078345156720844546549890047971990186941112561137042024814790533562735469192601855082652322907434883084915549012388280577481746711904905960216503562996804452040619273470158759118129601417969301301554664835125515075708844190442985905746577291225282535469137060678982181988608759332918029945685261116413110719489277924532398846963994591126157022209782038377649718282806716520861550920636910010336544893582076811056042167123247719458791063643133341205601387591520707486554730468282121689698932477939238490820170281304399601851949683765420865238419467809155950689178551603056070752165132564828062199659902859335351979720479090223187471087058357549333431618187441357936825746808999128800486331097437230541918935736568734598818171035907409343981087814450044019085188461021186520104115599592711111172219256801549468922360494727897479699301241902313955462602780897748694860160578671686803124887659631449399378120524793280778331367426503044705700065623980585576583058041668534727802080816441259257376799881750874232276994070684153642661699370594142673513519544228949596412243526237290599539019608341752684496109250300928333512650725512322284111301221977616412315933997554032817777112106705479442013079239785716940641459750053947011755437141874761136122448787758038238278109514891520603490737885877338753635414887210901765063119896237026822013133134218090045688239792464737970805702017221282546716260599843084205044691525289116063484283991443579062349380740810084480911812884954123006055829207155910625365195776850930220518487917009288425735986713025161851777583056916527119037458946176515627426652913947299741307582377728452434451936656001665738359312352303950094286748932371826989615885948558580810830605810576257061282628708006181821772974817109120847746366238681887378133590027421224945434348630399906004962947197405829401732469532703622354109203279112115594013298030066032814200604638060335839634345915046876502713061608543091844328648119920804178404760613991296796557879982924138405245529963346554443919870506834562647808310103632834434296042612230281834428515622986526554049224214136409921370358123381182217439080878267237910117802937135651044707174014506505672982550863223014943149514641543554917590623523661533112773762443472453397452512681981457829513686702154632404261799663473270650948021759247733426567930424516572124886865467886111970677698870615945297935824756966213976135186613740267753342911409218968139774432775583996513438387009141677818078891347269684005903900707073922672709588077277482735407409186994274920942022492967640033968369409534403839508945490372737920784443080081073826778335595632905095848637869214269033144602545908082019365882113052650415198778161777408202194784206502060167188662897692749536702267714037415983367326997577886176424090620004391328744902495222118784679948117619597737300455100973067725357595940665613085987588959358211007691588808133509174181729389463693440447405020891019461005235127732374850870740074241907291093679609915950076971373147888561691969612847236435084746277479804222927644955750184689816260465449988414837524250433502714312411724227073947963082467607150150724391013073714721553314071197898648783846948690294020879053191465474482060038804937784337815473604868733685559703826723254229233807654351817556251689777525448106155985529132978337727073427234587326936722178803573151433946777713745503278911686877903012811502567928054751092573614855872585862186081379370299131584398293249157084155367342319894752367760135021728806083110062167536320119422382377134733848457935626274077791102858998233182774970790853856449001741124797006473374069881051403831345836327687861904316729708792295440261265308318040899493687227127983720046441129714382854383719862661675464116944587659218606565421677556478019277796444111059264363250770298665674416615077120027339396073095576844508918137077490410849258951761361001 510936451063351233930526315161538612511180734485071065281340056338680246821630226005253116943931826342927517761947568751597941376469345858502527936835011790806827642656820330281853247281775495475740735158079070496818508140394216291622301204649595337379946114663746109247527617287021436741297293608279098305572865863414830195173941815891408872643274878138451223792042103622735881388734887444108701614637192546440642439104956008028270926056225647382475739166961652774703881812765582047007074780543683648718304000100252461700075608231321481106260587968126975585722789641801344835104920354403792756003021852967503307840037477408571537716628439293290414721916119301479817022214982584588981869449336052695113127983122364366048093250962005925276059140483713919183035853521099999169122980780182715922217034935525316767817818224773090312542397139031939492351459576935422239856145156019855538787943410707108425426588949935191209436881762463199011005618564315173010982425403239818847005223029345701198067333733980084365575975289094261211769894450218056019082690372478381172758224823917910044709367143962630797801386436069894352250531213508530395823877890314107949388740234045728921408962049525118326155734512420880439598354756625891054109430094457052867218221986153118416521079416371283304246362739121947484394678962193954911577313438102969875162074478178399468756729235679856111343139964176548229874391192344650753317922733555101479980654118336711599067181315102056078355636111053667936695949041863942611064303476133913461775755633185738375234912195170765903936335357405360570100743795676508435873936863967272992781309739058254451613684378636300606270127058425659991828367063323145127912436365696606598833437439192187699276235995413150676256299846340389927420478708680077593342284963763910447904276175139719540940500387271069105658779590273423347845164782033833345982201870148847786760312896931857621272879086343252531276644683231624087129887644588163486290865838010424704679132185252234261245625412196297422980575258666563298961840671568748439487794777180105827578386601761737212556936713617879946410486345546435696893450929811745375325598014832955914999208358768735127240393311084580138470837271548536349786240778136718801524952674482136700254681162560151748930109854911451625213394073371170369205706461572060831942146652773411903818360524098842279220856655287284341443577571745452650734115681531703970237959691285703588420568475917753890988004448070374307391226373808701477967547455662265786647827166409459682929787659017860092103408300479044769146990974187492796039911891014371066719769738325698918519949250685601329423999441648910295316412034940553164415500870907345848654426984268905023659608687104726641491839703411199898273445192845591145031138834732224730163198057391588663018531202252592905917637999535651539191079471725063507796687414023250741596738966484470438116230701453643254954169820460846049129069613506433502967536574278618765235717243503611702992800358672095338364975749931639761608554744599824855982117055114367416046593570350009624048944636425241042165935328660674223552203202613337250970702224780398313869475502155755537490312439694004228036738411855589785671151000974854143999270789158423054362257501919964517679809893603697496658492926243060938926644757055915745059363588074643686246610137143260867997182697533508997556519221676926301469308933332108609198430842155707839403342003771957389690395772394441344640695790019090491294202375078832471087954413266254428882096417483377502949708703760721395963782044677442522017002963887328630001592813467213716787517396268025522115092251183072391822323173708691416805846685219967467494808730182136408828441276489880163684077095530177001778530291689441619349165055808607834280185892706102553411060325828929116763420811381062363700907967819774308973133390914600783575740589249606053410200099389728207172041968353786586996237066540562073310648365047886438662104749496003082440074179433238872590551571685571653782482024362876126233891633276457648878041443911332092863254270652924006407694282144407835079970859942502109507171332230878123 826712543911749650093672491683778463706852915337730792884083328543084292432226864751937986566228487497075464334732205073755364683244137736742958455995243934324745025042066743453504714193373868313378426473106877496453912369900834749155757897727940494100790661213636157219517804228133997878339318423069631868308335056016685277826264723326291957558823890526731801273788815527641841605238450440913153655256466016599401557234557425997572227610890482507990814875805843217689787559342873272289610249680744327700485988709011794618105553916582597519371307457404900118121636605795935961261942564185831133652740135774219828701588398045481548053173332875367225777958286424727536481006046227722323075050723644215820614537852832648169782949894483864514549960653995223582637705470783764589988219199650525078167724114076919823888570389905655140604596798934798827703439297414512463043616243078213088121375028894549783363414696744190338237368093560636241547537500051741745581243574275726256349204117160151242086418922441105552096079404693853922881066669474857568551612732973109070237924125159812358664829746743528546496246596648566039053656101168161845223256010838901230167071601472231966114662115149098911732317570462548974326156837442332313366806894338803741450498980223802570163741115741877446919876258666176433991091205720192202176852457711311627846570587428700397090241886405368433627251265398525846286707126342204786135699845661806959422667197576497316007822774852110025367391548195542697832071490651700649302581585648804982379246371071615713988547610057976805701398477301597596922756928810726525919625103759737730752115441075475734160400639236143690475171749950949107891851347314588706974785746437416683314349252077141822282291824620306586881665042117240857640997196597086881768020950476935609756053758196636068059537846217245621286206243187370647586472364411561798416653806804849452498672209284161571367165835275624358266260569180182667940718250398739743352148466718430886500905160069343382093371778434979310358708848693984523907275020199148345492757724377511656980119071294440834911045916896992062004499643576501729707651534449805711165232360748002791501921420377278219084721959204500942649242032162527646582798658119642939930198204445483254698601033066986311577918165015084459647690115983400651040134977195047358496195876987548313739730882222223461438295736165551579353695374682588301778822855546210475910942242148926603363717990559297445905595071594035840504000136252173931364999968344247244477340853111614315334049458681333362754356322238292502573558904612009368164798756482257178690447437196314863817885075442567543400134628262650563069754946349772132555275303682929845167865371278046701477687578451996325497743604118273820946154780922868627766546243919219005084140079884556303052499571662127309757146945026024277111863914805144581623465749618883646692587604353684707149375303999551336973535702573898699544268391668210911169731358485120825402905906401304452529502626386132754348343076929217647784978835219829247310861957609589534831273518467629221786245091526214109891292924601339836638190791572695461978393813588531823043657231545219230930759844714895247497743646983322160522021741049096051290364468768339004439228875067853079371779506450933931743239203722865161854289712806100434875624053524632101084134387576763582309594421760582945519601689284076452193699946405823330751744913353606488187188952462251410569448963859915826700734594956874829109675979947566156647658239989508658115904071835195059201398481286169502119767573810420859744076391121915956938314992270786868221464173981771025394003938060975404633825741636746167898420300075840053356994811561506707960025674783129320768232462872496896530898051824463348155248165870775370600305315088479688144908783764555390841211914240060596883682938610628165422135132039397790049114659130657457241545935717416069076358698062578882436498331848880114210142052275014422382151190625717465294457899295900548054668516273230872389047446040432604253169429720568708142404694681630758537670885730044033747090355239984679588888997019992520356430283992239124 1337648994975100884024198806845317076218033649822801858165423384881764539253857090757191103510160313840002982096679773825353306059713483595245486392830255725131572667698887073735357961475149363789119161631185947993272420510295051040778059102377535831480736775877382266467045421515155434619636612031348730173881200919431515473000206539217700830202098768665183025065830919150377722993973337885021855269893658563040043996339513434025843153667116129890466554042767495992393669372108455319296685030224427976418789988809264256318181162147904078625631895425531875703844426247597280796366862918589623889655761988741723136541625875454053085769801772168657640499874405726207353503221028812311304944500059696910933742520975197014217876200856489789790609101137709142765673558991883763759111199979833241000384759049602236591706388614678745453146993937966738320054898874349934702899761399098068626909318439601658208790003646679381547674249856023835252553156064366914756563668977515545103354427146505852440153752656421189917672054693788115134650961119692913587634303105451490242996148949077722403374196890706159344297633032718460391304187314676692241047133901153009179555811835517960887523624164674217237888052082883429413924511594068223367476236988795856608668720966376920986684820532113160751166238997788123918385770167914147113754165895814281503008645065607099865846971122085224544970391229575074076161098318686855539453622579216908439403321315913208915075004089954166103723027659249210634528020532515643260366885061782718444155002004257354089223459805228742709637733834706958167023500724487234961793561967727010723533425180133730185774085017872444296745298808376609099720218410637733834887222112134023282147786691269329521558527820033457263137964888457630785061475905277164475110305914240846057660329933336355609000038233488314726944985833460793995431637146445395144398855676953697239258985106216019192640044921618876889542905252411806755070605894986903229643014304728855591180037345321577643338997190631276733339284107360547822869115691767896784980552501557617484558505673056178047467982630514872008414985989122937426601102464261551086490830375580958706501129779146013346325115270289081081120079303711063996369039436256361741455150878927619954953282195627138060508028019926536084861084189354571020245841438767108190438342529760960217558091406321065740659152391452835920797272946428040952512938537077914446148901933434630191784286466477051336893599519664410147895226510060875409332547424006513031125168019521073998263837117699193454857764622717337271720549878799502164204710647496628245410217175522013782337834326128168872824134069911560858386166981290325296970776174590275693822292355546951725137296265556722966989583307529473719219599973768459772797685078651443735247338137276144966071030773914720215674784944561675816302943386530208089420153163642134388289326570838155145265606005453194591927705523034744748673338005174644414137267932763739590638623149904916155522302985058228092713318826860857409393533579819654103292979012723956950877867088817638845835189727951455152057228253262014060190393994186032712949096038368930136913132733700974768421072284408899475534482058838911946193172742023950195289635257926762058801486376987817597051589400054631428401732129965926100780934469862016179934987641599275787330744524720024450306777119294091943076120910961002753663008879737931939950175755509314327590530956234208800259844736254357171341430384975965320403878355026398627735612653255763086998000489318572562151107185046890898083549618487863381761079355009244586939907805738000585008981570249796547509096189244047796456148915345437584704266985295807520851803541743643116788466951273009484452309558402673898309428343513904967504413221679383204880491207794582241555969109593484507604632725621122960584590906430402474395268522953998573624855248380263510651746035107144276248400666416365469432735398389442187520790417322900861044255940121720547734532078729139420645220087958802526171529470403308730487061062997026357020446138592962851400925156382968040154784637384392514668859856962494629863601616223117247 2164361538886850534117871298529095539924886565160532651049506713424848831686083955509129090076388801337078446431411978899108670742957621331988444848825499659456317692740953817188862675668523232102497588104292825489726332880195885789933817000105476325581527437091018423686563225743289432497975930454418362042189535975448200750826471262543992787760922659191914826339619734678019564599211788325935008925150124579639445553574070860023415381278006612398457368918573339210083456931451328591586295279905172304119275977518276050936286716064486676145003202882936775821966062853393216757628805482775455023308502124515942965243214273499534633822975105044024866277832692150934889984227075040033628019550783341126754357058828029662387659150750973654305159061791704366348311264462667528349099419179483766078552483163679156415594959004584400593751590736901537147758338171764447165943377642176281715030693468496207992153418343423571885911617949584471494100693564418656502144912551791271359703631263666003682240171578862295469768134098481969057532027789167771156185915838424599313234073074237534762039026637449687890793879629367026430357843415844854086270389911991910409722883436990192853638286279823316149620369653345978388250668431510555680843043883134660350119219946600723556848561647855038198086115256454300352376861373634339315931018353525593130855215653035800262937213008490592978597642494973599922447805445029060325589322424878715398825988513489706231082826864806276129090419207444753332360092023167343909669466647431523426534248375328969803212007415286719515339132312008555763946257653297961487713187071486748454285540621209205919934485657108587987220470558327558207612069757952322541862007858571439965462135943346471343840819644653763850019629930574871642702473101874251356878326864717781667416383691532991677059576079705560348231192076648164643018109510856956942815509483758546691757657315500180764007210756894501247809165821591989423011324145385642972995162771447286477680942505390921025432368969066256043697992956054532346776390711967045130473310225935129141538624744350618882379028547411864070419485632699439156308753998711356797656062736328961498003051199523291565409837229493582023769321335873591642951838094376004681385349083373103209651883228694124372085946184941620544508774305337971671285976415962155548934538406748508531297822288543289202097448127618387500150968321110629254291761392624124922059844175583556795148004457036348782799194591258445988399226646313049340697547392350760275602508872632688313597886576380526817612120944955629774294108783411511532369509403978885424100664612718328646155719401570736416224268698174211421455921927640097429526051478273205538990157726824998426614983844008719292487326911647747540165754754691328400564231322570662740331478217160701269123530345576847525431931889587700093414807301335352671043618913261018034981914175191839852414981309452745928901241225608643448217606396842855325306999291248860416041529056306220608051805611444360847061661903790075057178512415039483350603840970333546485709140607285268067621434819477669261948521177863353896828584785758728174927489851957461959956789965246193999351832129123794723032225705822234106715194483073046246579999726695101063240715252055670676423368906505565360144971333688791262635224182668116614810611695123907888414878912296788032616371541054674888595722600245079205856708826143755270701920668862920815777719908696460210829293700114272998042164979932840149513554334973964784383270893245271745113904561153767621352505666333060400203317192298284241505155746131160543878222798008787453230445744231567572903100127305023201089974656982183752602687285371647574208798353305149824748492626056138805220542021275170794840326395338368315659661387550158575480796522883061929700877893358039898445844639861183557468273845041030639817403654993396363673969907510920967893291970824560345324759364478944351869233730238322301730932469597915283426407130747438013028989978025039968699888604232033398560576916443741334740230492717595065162850833274593609938596042113012073901874992624377194257748853982487150220031900215356371 3502010533861951418142070105374412616142920214983334509214930098306613370939941046266320193586549115177081428528091752724461976802671104927233931241655755384587890360439840890924220637143672595891616749735478773482998753390490936830711876102483012157062264212968400690153608647258444867117612542485767092216070736894879716223826677801761693617963021427857097851405450653828397287593185126210956864195043783142679489549913584294049258534945122742288923922961340835202477126303559783910882980310129600280538065966327540307254467878212390754770635098308468651525810489100990497553995668401365078912964264113257666101784840148953587719592776877212682506777707097877142243487448103852344932964050843038037688099579803226676605535351607463444095768162929413509113984823454551292108210619159317007078937242213281393007301347619263146046898584674868275467813237046114381868843139041274350341940011908097866200943421990102953433585867805608306746653849628785571258708581529306816463058058410171856122393924235283485387440188792270084192182988908860684743820218943876089556230222023315257165413223528155847235091512662085486821662030730521546327317523813144919589278695272508153741161910444497533387508421736229407802175180025578779048319280871930516958787940912977644543533382179968198949252354254242424270762631541548486429685184249339874633863860718642900128784184130575817523568033724548673998608903763715915865042945004095623838229309829402915146157830954760442232813446866693963966888112555682987170036351709214241870689250379586323892435467220515462224976866146715513930969758377785196449506749039213759177818965801342936105708570674981032283965769366704167307332288168590056376749229970705463247609922634615800865399347464687221113157594819032502427763949007151415831988632778958627725076713624869347286059614313193875075176177910108958638449746657302352087214365160712243931016642421716199956647255678513378137352071074003796178081930040372546202638177076176142068860979850712498668771366159697532777037277063415080169645506403734941915453862727492746626097130417406796929847011177926736078834471621822376582909856462972907884146893111909920204504180978669304911734952499782663104889400639584655639320877530632366422840499962300723164605165424321262432593974204868156629369858494692542691531817854729263739372880936509468748855913694864354942756600519071223420948241267538670206804699929702039368208746109018186986932290923513400119692794110922856136294453156373924750030094816357273306727676892153762311861723694079720272469885567672967046014658662211013696574220051475513669510881788240342428493553727698905289048402768085772279842088908930422726496827652863481232812450082371950151752280109565442259476910219177221259385354728459788173361916401222106475578816354436846235194561119491567741106716834149375909717750687865560760463772076903152423271240746029994997680587314905940520828946748643388196890944402017499739444267224012600006680152206211136763574108596502588939774980730650932466572045994859137453896819983057503436587007696102906913456624547429124414005749431125367957018978779944760887876585890326392096869922698947168767772904413532694198566707764661146052908367225096996441869634984621863122042201629043488273474958306560196788546703463654717363416158652530132794745599336723183675745623437016812482923148660348766831671843511206081959519717705881687210652096424372235143368250864930669011089138436368630169383595364908805469917432690000363412118883546501034832111905050472340183503612851379951298286866810786147623266235101140405130818130603746788038239427314481364120412196316549070997546123572327621337306954270667455095060601895048792941536959577329148289672851579677844693149754738852273283164074609229541780361287730677644171256847002951524406050477365482306518052864751471433114212672177947394937298825155891184478545038005931704621573160030895309821301969128627764489251722886920816144470663070869158560763522056754179389345108692190835924732106386847050065227291555714621422183296971867556461339521198495980114056659630008769708926608710944981780083633516438473618 5666372072748801952259941403903508156067806780143867160264436811731462202626025001775449283662937916514159874959503731623570647545628726259222376090481255044044208053180794708113083312812195827994114337839771598972725086270686822620645693102588488482643791650059419113840171873001734299615588472940185454258260272870327916974653149064305686405723944087049012677745070388506416852192396914536891873120193907722318935103487655154072673916223129354687381291879914174412560583235011112502469275590034772584657341943845816358190754594276877430915638301191405427347776551954383714311624473884140533936272766237773609067028054422453122353415751982256707373055539790028077133471675178892378560983601626379164442456638631256338993194502358437098400927224721117875462296087917218820457310038338800773157489725376960549422896306623847546640650175411769812615571575217878829034786516683450632056970705376594074193096840333526525319497485755192778240754543193204227760853494081098087822761689673837859804634095814145780857208322890752053249715016698028455900006134782300688869464295097552791927452250165605535125885392291452513252019874146366400413587913725136829999001578709498346594800196724320849537128791389575386190425848457089334729162324755065177308907160859578368100381943827823237147338469510696724623139492915182825745616202602865467764719076371678700391721397139066410502165676219522273921056709208744976190632267428974339237055298342892621377240657819566718361903866074138717299248204578850331079705818356645765297223498754915293695647474635802181740315998458724069694916016031083157937219936110700507632104506422552142025643056332089620271186239925031725514944357926542378918611237829276903213072058577962272209240167109340984963177224749607374070466422109025667188866959643676409392493097316402338963119190392899435423407369986757123281467856168159309030029874644470790622774299737216380720654466435407879385161236895595785601093254185758189175633339847623428546541922356103419694203735128763788820735270019469612516421897115701987045927172953427875767635755161757415812226039725338600149253957254521815739218610461684264681802955848238881702507232178192596477144789729276245128658721975458247282272715625008371104225849045673826374257048653015386804679920389809777173878632800030514362817794270691419288307419343257977280153735983407644144854048646689610921099209588649299461096461322326164290268590284601743782080295380549748902491988702181302124693679802686974090727642208708033582330185764786450625459610270460247090082006512628596820308767445622525228943729455454399093611546400958671074649273129269641705272671466259983701298010836570520156022879131136686771802607809196948578367263953574161551964237130824968799551109483151116573926147723792769215910294571597547504318091465068415266538648723737076003132557989200913431507390990164170458253154921221834850095568624358686449730187974252031645108550798860355064751266515261460422721681262517357371625914207946949786836642634441007523750558409898620804500660953391049922296148303388174981078059366906793675954270608988721853847563565703489062804075742283854056826712664193362767124736542656488921598933470483380159623561708170042688449634711316964185282916881099158949898327213065762148691674797343508626051382835198249409556211031847091564160502349313600515539520201403441720267566111451161165376426532025442481354017093235155959145970773627129221918432136482903167425760344841645619430987024974328196502154439746306577225809611626107804856118517713011698490184003084431864771390847271565674696353401755575491469873058712931693315296443854094198636098229309805089909641556039102669269400248353942766285452203385287094893393600953015487990081134190641598823735996779700355842084253560706100957724896309564304496322005343490075521138596512463754030075832940791300972795063402105446438329976756264966897919395374254173171202858866086790982655356518731427897070201616596573792512034779219358044997296422869323292683303290791399967522048432216487346147805142150071278117240608992187958534622633146903184357564927468930303665416653829989 9168382606610753370402011509277920772210726995127201669479366910038075573565966048041769477249487031691241303487595484348032624348299831186456307332137010428632098413620635599037303949955868423885731087575250372455723839661177759451357569205071500639706055863027819803993780520260179166733201015425952546474331009765207633198479826866067380023686965514906110529150521042334814139785582040747848737315237690864998424653401239448121932451168252096976305214841255009615037709538570896413352255900164372865195407910173356665445222472489268185686273399499874078873587041055374211865620142285505612849237030351031275168812894571406710073008528859469389879833246887905219376959123282744723493947652469417202130556218434483015598729853965900542496695387650531384576280911371770112565520657498117780236426967590241942430197654243110692687548760086638088083384812263993210903629655724724982398910717284691940394040262323629478753083353560801084987408392821989799019562075610404904285819748084009715927028020049429266244648511683022137441898005606889140643826353726176778425694517120868049092865473693761382360976904953538000073681904876887946740905437538281749588280273982006500335962107168818382924637213125804793992601028482668113777481605626995694267695101772556012643915326007791436096590823764939148893902124456731312175301386852205342398582937090321600520505581269642228025733709944070947919665612972460892055675212433069963075284608172295536523398488774327160594717312940832681266136317134533318249742170065860007167912749134501617588082941856317643965292864605439583625885774408868354386726685149914266809923472223895078131351627007070652555152009291735892822276646095132435295360467799982366460681981212578073074639514574028206076334819568639876498230371116177083020855592422635037117569810941271686249178804706093310498583547896866081919917602825461661117244239805183034553790942158932580677301722113921257522513307969599581779175184226130735378271516923799570615402902206815918362975101288461321597772547082884692686067403519436928961381035680920622393732885579164212742073050903265336228088428876344192322128466924657172565949848960148801907011413156861901388879742229058908233548122615042902921593593155640737527066349007974549538862214077336649237273894594677933803248491294723057054349612125420683027680300279767446029009649678271999087610649165760834342047450856187969667901161252028203658477336393619930769012586304063149022184782813104158260988132959060898840757737025065306889057862656940212937321333964539967362551892080301563866323426107833538925517949506929912763122428189199013503142826856968546994321074234345755981140099745500942882519706784000168004615057891568898730119544063139603811441147350002190058936464211610904747288064125014875691489110926034393739512652584559983007645365557886451912850308677066474191971163067067322881524395667251829847776155939264626970559134722895419841999495200877854804195533739274060429401833468728494135200022804449538726611623365091939990322604404757758258397480936448553358883155999491081894534683914335918089960020040114089810866542345648249950680661632610246153696635363140531534897640956189183120165641235144526212531928933267039130319269695938827307325118510142647223373285519625958937238378260998225989467541487728382204301810368570275239906125786330412998462668861752208551939409622657243124896144237907129692006113517607391102514221638557798233007570572851533336809355709750451089348419714974691608621037986247341409337714662098447988359731369092962996777050813870579488037625948411970805514484005502363529709300373194295813727492760403165196182221801637426427216595826706557764330002143402735707822411780714435384566245180630860181139835873042914881987810606009242136203371984238350272214571899261088710546799370825796593574003347983896868242748010888186238271620219293289924983367982687969588471079426269563994473171987493851280234378243439547572367733272485755134556034091533398747390105988613705248024789690137841465194813604146837909529444777009706532617638439104972302015194252641916612110966275872450710387298933092303607 14834754679359555322661952913181428928278533775271068829743803721769537776191991049817218760912424948205401178447099215971603271893928557445678683422618265472676306466801430307150387262768064251879845425415021971428448925931864582072003262307659989122349847513087238917833952393261913466348789488366138000732591282635535550173132975930373066429410909601955123206895591430841230991977978955284740610435431598587317359756888894602194606367391381451663686506721169184027598292773582008915821531490199145449852749854019173023635977066766145616601911700691279506221363593009757926177244616169646146785509796588804884235840948993859832426424280841726097252888786677933296510430798461637102054931254095796366573012857065739354591924356324337640897622612371649260038576999288988933022830695836918553393916692967202491853093960866958239328198935498407900698956387481872039938416172408175614455881422661286014587137102657156004072580839315993863228162936015194026780415569691502992108581437757847575731662115863575047101856834573774190691613022304917596543832488508477467295158812218420841020317723859366917486862297244990513325701779023254347154493351263418579587281852691504846930762303893139232461766004515380180183026876939757448506643930382060871576602262632134380744297269835614673243929293275635873517041617371914137920917589455070810163302013462000300912226978408708638527899386163593221840722322181205868246307479862044302312339906515188157900639146593893878956621179014971398565384521713383649329447988422505772465136247889416911283730416492119825705608863064163653320801790439951512323946621260614774442027978646447220156994683339160272826338249216767618337221004021674814213971705629259269673754039790540345283879681683369191039512044318247250568696793225202750209722552066311446510062908257674025212297995098992745921990917883623205201385458993620970147274114449653825176565241896148961397956188549329136907674544865195367380268438411888924553904856771422999161944824562919338057178836417225110418507817102354305202489300635138916007308208634348498161368640740921628554299090628603936377342386130866008061347077386341437247752804808387683609518645335054497866024531958335153362206844590501150203866308780649108631292198053648375913119262730352036041953814984487710977127124094753571417167406396112102315987719623025423309163385661679643232464697812450445263146660444837269128997622574354367948745926678221674551092881684612897924676771515285460385681812761747872931485379233773340471388048421726663562780944235000214452633898592930160686632193553456064154461678962384311856733974590157684577792099986238188699593745700605739682438110582071463038542585915136854776417665700765847308486808016713765363405384480827158858487573694762021321214211848807644907399405497631941243830744049628398274184014281623527915982866666267387623478554057231493339777550588473664697871724563623313420289322697147451487108045999738209868946800254535520852123514731245851506825937012396488513448265999532947514073162814656379062898141889839603281179304302879256875612743281242711765914290649102811664714105911351739013484737374894100210523348027333894302022377498845672041764574705627906372155490641437081818768904407255791492608035391241806173271612732691721085930053058341734615518924322926631613858021400417366804066628135644013514002189063155650272206975734108404290272570769932572173360130610842547061660192412184927454926002709334436504235116054592096708779406739949019805123192425993647986563524273724555793215849886805974695267234816955011352809016795683536480210837407257939021179173431907227507042789204257259394818320030947231517126237382745660433599402391756678474107863984099722479459638781583875669129917007233556480811546602788942492045456237799056373172296795570653015043121376169286669095141944496360622272823843828977539244415282695395371421697959444234555368998821643818167644374846359938071217033599958279000264803474102351708348546126312618105435103285036574571317472993428632865162335652579054396875592582151856603895755679713964489973728875275063515295323840799919640690964349746133596 24003137285970308693063964422459349700489260770398270499223170631807613349757957097858988238161911979896642481934694700319635896242228388632134990754755275901308404880422065906187691212723932675765576512990272343884172765593042341523360831512731489762055903376115058721827732913522092633081990503792090547206922292400743183371612802796440446453097875116861233736046112473176045131763560996032589347750669289452315784410290134050316538818559633548639991721562424193642636002312152905329173787390363518315048157764192529689081199539255413802288185100191153585094950634065132138042864758455151759634746826939836159404653843565266542499432809701195487132722033565838515887389921744381825548878906565213568703569075500222370190654210290238183394318000022180644614857910660759045588351353335036333630343660557444434283291615110068932015747695585045988782341199745865250842045828132900596854792139945977954981177364980785482825664192876794948215571328837183825799977645301907896394401185841857291658690135913004313346505346256796328133511027911806737187658842234654245720853329339288890113183197553128299847839202198528513399383683900142293895398788801700329175562126673511347266724411061957615386403217641184974175627905422425562284125536009056565844297364404690393388212595843406109340520117040575022410943741828645450096218976307276152561884950552321901432732559678350866553633096107664169760387935153666760301982692295114265387624514687483694424037635368221039551338491955804079831520838847916967579190158488365779633048997023918528871813358348437469670901727669603236946687564848819866710673306410529041251951450870342298288346310346230925381490258508503511159497650116807249509332173429241636134436021003118418358519196257397397115846863886887127066927164341379833230578144488946483627632719198945711461476799805086056420574465780489287121303061819082631264518354254836859730356184055081542075257910663250394430187852834794949159443622638019659932176373695222569777347726769735256420153937705686432016280364185238997888556704154575844968689244315269120555101526320085841296372141531869272605430815007210200383475544310998609813702653768536485516530058491916399254904274187394061595754967205544053125459901936289846158358547061622925451981476807688685279227709579165644780375615389476628471517018521532785343668019902792869338173035339951642320075346978211279605194111301025238796898783826382571607223263071841605320105467988676046946861554328389618646669945720808771772243116258838647360445911078666876500102278199540181815185790673231724552955619661289603079979628469314224619856402779356698080934926843206735693914819934951495663578210327572405921062292699137022781032723592334746038606352079853369174846531830829348917424037906372926068502275973822520598888516423666334983343396634188381281829379839509979828833175343333861815449717124298816221301946255725494545647880502887940390848457420042871329107541200616064673142333993809581281525348199974345642025959816846027240059889364624887504395767219414137321295622826288156640062460302370338770147427195578629855874310689216901475580648256999988964165399007504346364219983390474425836920018455034855161930215940772432584687419574704120949088174103194618799933153901384453396644898252317680023168431319339960604986465810655013818159831768987642043972753921974426512464857924907858824146385356765647415168715007839701865366244128449938164174414050742725687933573282185969841044471764342547798127826454923711413744230412240989395901238935823003781575581255898937692044285630825590840846642744095507285725321412760302550888473805101523320770281964660424591000541832584657944342833209452218197929404535159414181930275764814157864025883962214735850269752880276471362799357208798184628248828222037406645386868694831741725589920746995083262669145292480257490515571854717163777516035501988685296405065942132204143840078247913382162117546833853789351451411843397826572632536746588106842904580217846016852825209273650279819342262683566474330357149256725892306405037359161563136513394118818936791988923127916980127406290116672370351078263282838437203 38837891965329864015725917335640778628767794545669339328966974353577151125949948147676206999074336928102043660381793916291239168136156946077813674177373541373984711347223496213338078475491996927645421938405294315312621691524906923595364093820391478884405750889202297639661685306784006099430779992158228547939513575036278733544745778726813512882508784718816356942941703904017276123741539951317329958186100888039633144167179028652511145185951015000303678228283593377670234295085734914244995318880562663764900907618211702712717176606021559418890096800882433091316314227074890064220109374624797906420256623528641043640494792559126374925857090542921584385610820243771812397820720206018927603810160661009935276581932565961724782578566614575824291940612393829904653434909949747978611182049171954887024260353524646926136385575977027171343946631083453889481297587227737290780462000541076211310673562607263969568314467637941486898245032192788811443734264852377852580393214993410888502982623599704867390352251776579360448362180830570518825124050216724333731491330743131713016012141557709731133500921412495217334701499443519026725085462923396641049892140065118908762843979365016194197486714955096847848169222156565154358654782362183010790769466391117437420899627036824774132509865679020782584449410316210895927985359200559588017136565762346962725186964014322202344959538087059505081532482271257391601110257334872628548290172157158567699964421202671852324676781962114918507959670970775478396905360561300616908638146910871552098185244913335440155543774840557295376510590733766890267489355288771379034619927671143815693979429516789518445340993685391198207828507725271129496718654138482063723303879058500905808190060793658763642398877940766588155358908205134377635623957566582583440300696555257930137695627456619736673774794904078802342565383664112492322688520812703601411792468704490684906921425951230503473214099212579531337862397699990316539712061049908584486081230466645568939292551332654594477332774122911542434788181287593303091046004789714760975997452949617618716470167061007469850671232160473208982773201138076208444822621697340047061455458576924169126048703826970897120928806145729214957961811796045203329326210716938954789650745115271301365100739538040721321181524563653355757502739484230199888684424917644887659655739525818292647336421001631285552540044790661724868340771745862507925896406400736939555969189750063279871198349673288944871538325843675079032351758482556644703728495492611987831833959500393540062883222434540396267819689266161885239587813214745667234441307431698536476590377369514382658727026829444924393508565635557235346016320909643868959604878614273877557450389293100593347093160096567134538251916311656507775911611601134947389716487822630165506287921921298276227174140683816779556013394121133507744816042009601249438928271181530309561079496844199159243519605066511253811137780117190322816215587200354274542089134248345102133648862931220197148851896829242515753508155364157835018468930034070516384193764716127759921241764605249595645760170476821341621788601338319713140294754168351727977650136382398446574743331417808320138942395953880527203694790646400338956842910216141202767857078510450410292541189292626259569916510985009401109098484377681695220505390133581645432017853169405008848039382057618440026467046988063509096353361090874051705441285777772274038726374739292485225834606462927653142859575991520406345279587818934644506907233194872731218867422838234637382464763209547559574791431142704912387311520447780602193655659539779043765936158820018241572067647237008750827813071168917683985818861863531889461469070592197878631528806926916092656038139748913880343485522743798611519399669887510027843610903811587127120294284459836463018559165490402394740633042123164369931764287236976618112788395698546141316760450784684080667826763901576438699209077069557200329761921680213727422668445443356105572897340220690458551253126344158634958260312558686854390659735676995107195519484909304946703280629941313419740409149798532901281962652003192043642701613957472289991769227632584570799 62841029251300172708789881758100128329257055316067609828190144985384764475707905245535195237236248907998686142316488616610875064378385334709948664932128817275293116227645562119525769688215929603410998451395566659196794457117949265118724925333122968646461654265317356361489418220306098732512770495950319095146435867437021916916358581523253959335606659835677590678987816377193321255505100947349919305936770177491948928577469162702827684004510648548943669949846017571312870297397887819574169106270926182079949065382404232401798376145276973221178281901073586676411264861140022202262974133079949666055003450468477203045148636124392917425289900244117071518332853809610328285210641950400753152689067226223503980151008066184094973232776904814007686258612416010549268292820610507024199533402506991220654604014082091360419677191087096103359694326668499878263638786973602541622507828673976808165465702553241924549491832618726969723909225069583759659305593689561678380370860295318784897383809441562159049042387689583673794867527087366846958635078128531070919150172977785958736865470896998621246684118965623517182540701642047540124469146823538934945290928866819237938406106038527541464211126017054463234572439797750128534282687784608573074895002400174003265196991441515167520722461522426891924969527356785918338929101029205038113355542069623115287071914566644103777692097765410371635165578378921561361498192488539388850272864452272833087588935890155546748714417330335958059298162926579558228426199409217584487828305399237331731234241937253969027357133188994765047412318403370127214176920137591245745293234081672856945930880387131816733687304031622123589318766233774640656216304255289313232636052487742541942626081796777182000918074198163985271205772092021504702551121907962416670878841044204413765328346655565448135251594709164858763139849444601779443991582631786232676310822959327544637277610006312045548472009875829925768050250534785265699155683687928244418257604161868138716640278102389850897486711828597974451068545472832300979602708944290605944686697264886739271571693381093311147043373692342481588204016145286408828298166008338656875158112345460654642578762318887296375833080333123276553716779001589256454786112653228800948009292176894226817082216345729406600409234142819000537878354873706828360201443439177673003323759428611161985509456341582927872615391768873004473534883046887746722795190227119511163192452821904885191303817661964991818399880172064697679021704203365416475971611751450635192279870579060416562985500634080578083005479939393609792543432876035270314420935901012761096446780148871080739661953672651660087423385570508731009594531237216274880667171313410900338483112885435339385699512176420503713098448142485856693335649507507873458218763796452686105176438344964611210517537318005160837842773960643487573649217352935111254377988305829125782381443099924653789167485569399194201986237537233194145323128400970339215231468242154683415174211131194542790877856646088542993568044728782722522864697253484653705489387542415916561304224907619934415907597672399971477662912027536614615875402425351716941815535389902792938963314808282745975862414408915382365625006587172771541530329790845323716945252613645029092474343194010712966561409237327081132266915697021655825491855944236659250177684938392650892012135979592866538931904912971367920499746447639699120610000785611975904092618867742423390009020513670378830793149273706376186324059583277192305035059649796442632611653250475626778366002145370563356367012398603850079355806078606193034502302283874551051661480232778544122956121042110274148583353133578108576819403696116547405811903801650096829458211462075506837968415513728038207511406706013347369669422767786499206410261020385311748543112681873869663946034185234136466222962870159453194433432529456875603303967553263305094276486286672765964231829843708642843049155317470582491879468514067516774119857286753932145529876967278565394157706562004651811085521832337134210001998360561581525876634166030839009685667300474982876922543917351838073951575131109023770107904074144660342847490915423008002 101678921216630036724515799093740906958024849861736949157157119338961915601657853393211402236310585836100729802698282532902114232514542280787762339109502358649277827574869058332863848163707926531056420389800860974509416148642856188714089019153514447530867405154519654001151103527090104831943550488108547643085949442473300650461104360250067472218115444554493947621929520281210597379246640898667249264122871065531582072744648191355338829190461663549247348178129610948983104592483622733819164425151488845844849973000615935114515552751298532640068378701956019767727579088214912266483083507704747572475260073997118246685643428683519292351146990787038655903943674053382140683031362156419680756499227887233439256732940632145819755811343519389831978199224809840453921727730560255002810715451678946107678864367606738286556062767064123274703640957751953767744936374201339832402969829215053019476139265160505894117806300256668456622154257262372571103039858541939530960764075288729673400366433041267026439394639466163034243229707917937365783759128345255404650641503720917671752877612454708352380185040378118734517242201085566566849554609746935575995183068931938146701250085403543735661697840972151311082741661954315282892937470146791583865664468791291440686096618478339941653232327201447674509418937672996814266914460229764626130492107831970078012258878580966306122651635852469876716698060650178952962608449823412017398563036609431400787553357092827399073391199292450876567257833897355036625331559970518201396466452310108883829419486850589409182900908029552060423922909137137017481666275426362624779913161752816672639910309903921335179028297717013321797147273959045770152934958393771376955939931546243447750816142590435945643316952138930573426564680297155882338175079474545000111179537599462343903023974112185184809026389613243661105705233108714271766680103444489834088103291663818229544199035957542549021686109088409457105912648234775582238867744737836828904338834628513707655932829435044445374819485951509516885856726760425604070648713734005366920684150214504357988041860442100780997714605852815690570977217283362617273120787705678703936613570922384823768627466145858193496761886478852491511678590797634459784112323370167755737660037292165528182182955883770127921590758706472356295381094357937028248885868356822560662979498954429454632845877343214213425155436559534729341875654792750254648691596627856450719161642571968165062502167335253936689938206015739776711373462685922061179700107244062623024113830079453956625868723068620974350825169205555495032131246090780937548862243332711297573037157518385463398388980502096584480931951206065966355610852146860143840272049927684777895933502178535932732792672272987638251350364454142364469247261108642820847935251619082851611464360266262887437691678001821940393856168081776995318465259362536360693306259487359435343460939944123813032687090635910448013124017654423516961538715601324613757320602490499785548823074062414739939729753475331058747076200092940557541333627287555170089683152258543676482545989512869530061667768149221313099451513365856327756170156593703444919465671772301239513706646226091066114804810362795909569319797233573110498373240006986526484802331124095439385015532486636972536477920222336482241365400074703351045997246077818304682195538107797659740051518037211306565398951901034877016853107538513750826051286563384249942818993607034908615843626976598031973652725265226782531603647402211836811942292844669173851479076088710264160830765354918122931158443541308762466667326526386795228157961823653594817597639052796785695023768279119024976396424302495792562638265559648436867280974393847975460987018388991599494006555262641918550996929449811958889069092655296527050021164831972438868837397141710332682505199675636531206856004993323823126197719766433493716092363251809446411036937071356846632058593745285081542258232387027782821641390194281244196788302730110037718427217187969023945410832906163286769345834391023988600661734037556688721396119075335785712966297241788402617331693715884739355914227134301067412809518031616950334616718548007578801 164519950467930209433305680851841035287281905177804558985347264324346680077365758638746597473546834744099415945014771149512989296892927615497711004041631175924570943802514620452389617851923856134467418841196427633706210605760805453832813944486637416177329059419837010362640521747396203564456320984058866738232385309910322567377462941773321431553722104390171538300917336658403918634751741846017168570059641243023531001322117354058166513194972312098191018127975628520295974889881510553393333531422415027924799038383020167516313928896575505861246660603029606444138843949354934468746057640784697238530263524465595449730792064807912209776436891031155727422276527862992468968242004106820433909188295113456943236883948698329914729044120424203839664457837225851003190020551170762027010248854185937328333468381688829646975739958151219378063335284420453646008575161174942374025477657889029827641604967713747818667298132875395426346063482331956330762345452231501209341134935584048458297750242482829185488437027155746708038097235005304212742394206473786475569791676698703630489743083351706973626869159343742251699782902727614106974023756570474510940473997798757384639656191442071277125908966989205774317314101752065411427220157931400156940559471191465443951293609919855109173954788723874566434388465029782732605843561258969664243847649901593193299330793147610409900343733617880248351863639029100514324106642311951406248835901061704233875142292982982945822105616622786834626555996823934594853757759379735785884294757709346215560653728787843378210258041218546825471335227540507144695843195563953870525206395834489529585841190291053151912715601748635445386466040192820410809151262649060690188575984033985989693442224387213127644235026337094558697770452389177387040726201382507416782058378643666757668352320767750632944277984322408519868845082553316051210671686076276066764414114623145774181476645963854594570158118964239382873962898769560847938023428425765073322596438790381846372573107537434296272306197780107491336925272233257905050251422678295972865370847479391097259613553823194092144757979545158172159181233428649026101418953714017360811771683267845478411206228464745489872594966811975768065395369799223716238898436023396556685669329469059754999265172229499534521999992849291356833259449231643856609087311796000233666303258383040616618355333684797141297770828328407733815410537839638001371486786854975961882354095393873050253805984997218928508338086187804474390395166889287477655671718995513258216393700658514373188854223702701552433830649144949104824674678966816207863283179233724058669483937667256544138050934174748244568355336776574697365205383384076418720939221241095678234416615063971272118492184449408141964448812596628221162582910616150694306154015415535537716640798611227498648209215319827101231698942042420482892114476715471471947684247793188561125842383044048466821854576205309642215110255191656711106861844002294952972552070732654468963997285193609282730607610121419601740644244821723280064198324541039823795172539800959593043850214420489464477575365821621284577114425393392942372045559019055161861281207162204032452669961034373812090667224771711291934944803820745882039903569797831850201747583737740468477489875680647685503039329459663563373632315771725006871489102022054963932373223046190310632063654016804173104330856814006244937352853986153449946661287348996225846911612474777332005852647490268410804445874538933158717927706985489029116977352494465616484090729339185890939196767500288686287525455939912612546023132604992988262660264107528145869259119285575329817979889321229299124979777436073901139457669255764984273092878195498072290445229851067106331974970776369956758508336155825306258738515423083026256431425852357750617380509823584202346451233860870667673078967863483276320631152295890369319396330805072751505313423358029612596290423588993724385307387704498365313520858708348760970908160016863969863957094155247589339568539468167938580431356223361122810663732398118270247272753241366624722651964542263385494254237633236577429865802265410091182917422105761610677464209463430586803 266198871684560246157821479945581942245306755039541508142504383663308595679023612031957999709857420580200145747713053682415103529407469896285473343151133534573848771377383678785253466015631782665523839230997288608215626754403661642546902963640151863708196464574356664363791625274486308396399871472167414381318334752383623217838567302023388903771837548944665485922846856939614516013998382744684417834182512308555113074066765545413505342385433975647438366306105239469279079482365133287212497956573903873769649011383636102630829481647874038501315039304985626211866423037569846735229141148489444811005523598462713696416435493491431502127583881818194383326220201916374609651273366263240114665687523000690382493616889330475734484855463943593671642657062035691457111748281731017029820964305864883436012332749295567933531802725215342652766976242172407413753511535376282206428447487104082847117744232874253712785104433132063882968217739594328901865385310773440740301899010872778131698116675524096211927831666621909742281326942923241578526153334819041880220433180419621302242620695806415326007054199721860986217025103813180673823578366317410086935657066730695531340906276845615012787606807961357085400055763706380694320157628078191740806223939982756884637390228398195050827187115925322240943807402702779546872758021488734290374339757733563271311589671728576716022995369470350125068561699679279467286715092135363423647398937671135634662695650075810344895496815915237711193813830721289631479089319350253987280761210019455099390073215638432787393158949248098885895258136677644162177509470990316495305119557587306202225751500194974487091743899465648767183613314151866180962086221042832067144515915580229437444258366977649073287551978476025132124335132686333269378901280857052416893237916243129101571376294879935817753304373935652180974550315662030322977351789520765900852517406286964003725675681921397143591844228052648839979875547004336430176891173163601902226935273418895554028505936972478741647125683731617008222781998993683509120900136412301339786054997693895455247655414265294873142472585397973862730158450712011643374539741419696064748385254190230302179833694610603683369356853290828259577073960596858176023010759393564312423329366761225283181448128113269662443590751555763713128640543589580884857973180152822794329282757337470071251201211028011354722926264887942463157286192632388256020178383482832412601515737965841215316308152332472865198276292203544251101768629575209538835371826239575881240507530737968329814722946771322526784655818350504599856805925057597145412145422566435356242521095185642007536439914676844829049287287982640663720816235530936562561211271168780456130350117242507204851284856722395780215799177050770585631830171724793515154089267034618389328105158877490386085900893321649041625555110124197478210579736078007832640990507280547996469303322988172279854541666841220090228234272846080228068400559603619566729872673223154254512820359256024022670337363596750660487720444914663837605531951828594993884855692059503269526396203933358994539243133970842597676565938759249270128215715612758606780746878934505271966376607260464878205472035134507201504264601054318992538276809804818376686549914861835907862505408167284658039517249682000045614997715846428357917486348099873268614568761153987970372115172054015479669729808715041121954205961524667200772712573912380475789730606081812240621696274466866442778098599804159941249531354387700865928919645339134790335569805427896155100027532855206809218683899481221375012690459131379783490818225931181740686856758338372115513003657600348324101376201738569693702095934815413421140373852589346047751432248240058705825981526039011875309505265605637265147807608078379553306452590684330189486217906965294535028956433536507198879934972856807099446828872062323863035488694056882197916350360429386459228349017334278805927565620091526148135162248902630005167696462746974007582384311343216613284979372374331225349777190614385111411325466435674958968668872316702410435618261784051788111585931349121316785780029399711158595726940137378561012080928011438165604 430718822152490455591127160797422977532588660217346067127851647987655275756389370670704597183404255324299561692727824831928092826300397511783184347192764710498419715179898299237643083867555638799991258072193716241921837360164467096379716908126789279885525523994193674726432147021882511960856192456226281119550720062293945785216030243796710335325559653334837024223764193598018434648750124590701586404242153551578644075388882899471671855580406287745629384434080867989575054372246643840605831487996318901694448049766656270147143410544449544362561699908015232656005266986924781203975198789274142049535787122928309146147227558299343711904020772849350110748496729779367078619515370370060548574875818114147325730500838028805649213899584367797511307114899261542460301768832901779056831213160050820764345801130984397580507542683366562030830311526592861059762086696551224580453925144993112674759349200588001531452402566007459309314281221926285232627730763004941949643033946456826589995866918006925397416268693777656450319424177928545791268547541292828355790224857118324932732363779158122299633923359065603237916808006540794780797602122887884597876131064529452915980562468287686289913515774950562859717369865458446105747377786009591897746783411174222328588683838318050160001141904649196807378195867732562279478601582747703954618187407635156464610920464876187125923339103088230373420425338708379981610821734447314829896234838732839868537837943058793290717602432538024545820369827545224226332847078729989773165055967728801314950726944426276165603416990466645711366593364218151306873352666554270365830325953421795731811592690486027639004459501214284212570079354344686591771237483691892757333091899614215427137700591364862200931787004813119690822105585075510656419627482239559833675296294886795859239728615647686450697582358258060700843395398215346374188023475597041967616931520910109777907152327885251738162002347016888222853838445773897278114914601589366975549531712209277400401079044509913037919431881511724499559707271226941414171151559090597312651425845173286552507268968088488965287230564943132034889339684140660669475958695133713425560156937458075780591039923075349173241951820102804027642469330396081892261909195416960869108998696230285038180713300342769196965590744405055069961899992821224741467060491948823027995586015720510687869556544712808496020697093216350196972696730472026257391665170337808374483869833359714265570114137329691793706614378391348725492163796464497016491043545235089139456901231396482703003577170474024079218486467495453704681480604024413353275428601800159414912005032852898551674490848851593073617642624759215361086021618915012981282150492409876134364766732306478476969777041171803922180247989647398806794413082340944209460243282450153927044745957488717884734110108641476142857254052166617961102694212793479304588674755073736557595145706032220746676396243046529732443344528037736939175262403605914519702424743955808723476817644449633305400944973718170262228364689736387117669730276369634817680028231860462862570246418353848459016818499792463882253680364152642212500261274631813768642028086096709304419046568294838690296139259906218493439209404875064874578180379602650226888297498599576376339995283847932343542556579141663608988630031618153364788975450121928232546941984200178281004178826070819652774060665529047366891558815510820650719373861261376701636642218556589572627548921957134853582544474343093099967459061373189895045896997833600406819660534767082046039224300355495495506209355421133987558713591736372771753478490038709886556115877623947445330983546921577623226355979174643594841553604071178405413466730784844120041877478091125812157956496815381832068013601761462571406546123501462579562884016536687940103598416788878737375407667397377866553013940720290375767460024358214232354885024861954949421663783787416071824639440923272530312873007796024513448683107610978766138604622763837977446341405498464202624547911842499163930208546837746234221989198833793229215941625558069035158270226326315173605840168982357894215645831665121249778644362243140171689545137474868752407 696917693837050701748948640743004919777895415256887575270356031650963871435412982702662596893261675904499707440440878514343196355707867408068657690343898245072268486557281978022896549883187421465515097303191004850137464114568128738926619871766941143593721988568550339090223772296368820357256063928393695500869054814677569003054597545820099239097397202279502510146611050537632950662748507335386004238424665860133757149455648444885177197965840263393067750740186107458854133854611777127818329444570222775464097061150292372777972892192323582863876739213000858867871690024494627939204339937763586860541310721391022842563663051790775214031604654667544494074716931695741688270788736633300663240563341114837708224117727359281383698755048311391182949771961297233917413517114632796086652177465915704200358133880279965514039345408581904683597287768765268473515598231927506786882372632097195521877093433462255244237506999139523192282498961520614134493116073778382689944932957329604721693983593531021609344100360399566192600751120851787369794700876111870236010658037537946234974984474964537625640977558787464224133833110353975454621180489205294684811788131260148447321468745133301302701122582911919945117425629164826800067535414087783638553007351156979213226074066716245210828329020574519048322003270435341826351359604236438244992527165368719735922510136604763841946334472558580498488987038387659448897536826582678253543633776403975503200533593134603635613099248453262257014183658266513857811936398080243760445817177748256414340800160064708952996575939714744597261851500895795469050862137544586861135445511009101934037344190681002126096203400679932979753692668496552772733323704734724824477607815194444864581958958342511274219338983289144822946440717761843925798528763096612250568534211129924960811104910527622268450886732193712881817945713877376697165375265117807868469448927197073781632828009806648881753846575069537062833713992778233708291805774752968877776466985628172954429584981482391779566557565243341507782489270220624923292051695502898652437480842867182007754924382353783838429703150341105897619498134852672312850498436553409490308542191648306082770873617685952856611308673393632287219543290992940068284919954810525181532328062991510321362161428456038859409181495960818783090540536410805626325033672101645822324868773057980759120757755740819850743623358104292660129982923104414513411843553820640787085385571325555480886422289662164658904890670594892976593932426039706555326415371474665020697408762134451032818300117245346606003142285845958304538286529082010498687574024366594771154526128038540559210930763528437902666929912741856024806837854445949543843361763578656590495116849548985681821061897894199702396047166698169392426243254065737724614332549484772316372851116366208270820011001963125184482809162290815439313273948871487137229665262354284554064449029020393026530937909887749822671578800883817167243662963209534086432297417178962977989638003705657328071282337314920922716085134651050955275262228198229811564883923919966132096642622287207453556061633763306479930246302911891482628476990244572375422774965031214576385423175555303568501611295040725694943474005929383867116457189407468603574847413461412284202500692015217001582073828823663654603627747464581722706461798221801501161510745354166251376293998124835132443790474244088488845764777035487851492086435173757177426372824638401813249245196424001296360643074147253041216990415760890760974816643172735197155230340194978201139251833210702304724893254902355362571404050867752555244296715969891627242972635962319560843987204521925947327732180913213288543649538886591826553840583374190167793309726331184517983938022854393707377518867367099836554353731579842132869336607221018129589816323754173272404364100933885065432948913577097475214288896420538095390373718918837147338014144216802531052988458257551336240438627887550661583845356513608771306301085510811985028725716841680815909527284216830389279985737452131345633314665269468188184610497874771445593888488110366961717426100331479211001425861064832408374371302380518732701626065486306918011 1127636515989541157340075801540427897310484075474233642398207679638619147191802353373367194076665931228799269133168703346271289182008264919851842037536662955570688201737180277260539633750743060265506355375384721092059301474732595835306336779893730423479247512562744013816655919318251332318112256384619976620419774876971514788270627789616809574422956855614339534370375244135651385311498631926087590642666819411712401224844531344356849053546246551138697135174266975448429188226858420968424160932566541677158545110916948642925116302736773127226438439121016091523876957011419409143179538727037728910077097844319331988710890610090118925935625427516894604823213661475108766890304107003361211815439159228985033954618565388087032912654632679188694256886860558776377715285947534575143483390625966524964703935011264363094546888091948466714427599295358129533277684928478731367336297777090308196636442634050256775689909565146982501596780183446899367120846836783324639587966903786431311689850511537947006760369054177222642920175298780333161063248417404698591800882894656271167707348254122659925274900917853067462050641116894770235418782612093179282687919195789601363302031213420987592614638357862482804834795494623272905814913200097375536299790762331201541814757905034295370829470925223715855700199138167904105829961186984142199610714573003876200533430601480950967869673575646810871909412377096039430508358561029993083439868615136815371738371536193396926330701680991286802834553485811738084144783476810233533610873145477057729291527104490985118599992930181390308628444865113946775924214804098857226965771464430897665848936881167029765100662901894217192323772022841239364504561188426617581810699714808660291719659549707373475151125988102264513768546302837354582218156245336172084243830506016720820050833526175308719148469090451773582661341112092723071353398740714849836086380448107183559539980337691900619915848922086425285687552438552130986406720376342335853325998697837450354830664025992304817485989446755066007342196541447566337463203254593495965088906688040468560262193350442272803716933715284237932508837818993332982326457131687122915868699129106381863361913540761302029853260493496436314862012621389021960546829150227486050641326759221795359542874728798808056374772240365873853052440529232030367792094164050468850320454788778491446990314300453628346764320451320642857102679653576440770803508724158449161569255404685269746456536426991856452611505048986241702086096222504203571817458916709754160154309993530933735821877287719370685221628753341412009219767133106423851963002626166754186066531160891439110885421612380030976284572537501071385892859473360962525125512255988532724859883581855464158790838939066003624576295156345568199220656336406681934074575831934926243417597073854926155554121110604601327340063214457433400415968161664966441818340017428021111659594735052613773207334152934279555114923328921554106418925366815448606134722161134771701466455648155290633472227311033091184944449824387438072944992504567864629244912155780428994666889040641055912572880133555770362183926667064533695128738264876386144064803051127923880804469743850142258797750554946944188382683410804448741694637569010118830463144912060988660542495975863149345124630407965327263592257779082735087495437248343729733708452729554344532380472824195654785217851139773135855737323592546308502211460296435133879063015043194991385876794118381136149943187548490346141184449477134080656020713641006335603974890874962060247178476133566197800231102610323489350130117642604125326997775206008601513799088513586267006174970751443503570554088160087856883385203142957770231967307314159034287835187204422310330141894519669775539445532469128562407960899855081304712432220623757706069693414740543052009779771768331262931985962854297387850981748920778752327745258743780792096759677928004218602877627899180823866553311635683575175032528464124587537444905708274649962475067122340145018534075196059329553210194284289877579855303864103261417400552123432840480752158714436682135323266269313837105217071692729953658153015664623658904391171202961175670418 1824554209826591859089024442283432817088379490731121217668563711289583018627215336076029790969927607133298976573609581860614485537716132327920499727880561200642956688294462255283436183633930481731021452678575725942196765589300724574232956651660671567072969501131294352906879691614620152675368320313013672121288829691649083791325225335436908813520354057893842044516986294673284335974247139261473594881091485271846158374300179789242026251512086814531764885914453082907283322081470198096242490377136764452622642172067241015703089194929096710090315178334016950391748647035914037082383878664801315770618408565710354831274553661880894139967230082184439098897930593170850455161092843636661875056002500343822742178736292747368416611409680990579877206658821856010295128803062167371230135568091882229165062068891544328608586233500530371398024887064123398006793283160406238154218670409187503718513536067512512019927416564286505693879279144967513501613962910561707329532899861116036033383834105068968616104469414576788835520926419632120530857949293516568827811540932194217402682332729087197550915878476640531686184474227248745690039963101298473967499707327049749810623499958554288895315760940774402749952221123788099705882448614185159174852798113488180755040831971750540581657799945798234904022202408603245932181320791220580444603241738372595936455940738085714809816008048205391370398399415483698879405895387612671336983502391540790874938905129328000561943800929444549059848737144078251941956719874890477294056690323225314143632327264555694071596568869896134905890296366009742244975076941643444088101216975439999599886281071848031891196866302574150172077464691337792137237884893161342406288307530003105156301618508049884749370464971391409336714987020599198508016685008432784334812364717146645780861938436702930987599355822645486464479286825970099768518774005832657704555829375304257341172808347498549501669695497155962348521266431330364694698526151095304731102465683465623309260249007474696597052547011998407515124685811668191260755254950096394617526387530907650568017117732796056642146636865625343830128335953846005295176955568240532406177241320754687946132787158447254886464569166890068602081555912381962028831749105038011232173654822213305680905036157254846915783953736326692636142981065642835994117127836152114672645323561836472206111072056194448197507943809424935517232662576680855284215352277979089948654640976010825227342958716654021111516395719581134678680028648543910127143874288184419180851718755665384768640177404964717291224771039187370313758053662188434350650576650533348957221057288929979670096352375908468878951502450242927410699697327806912068968874019567189315355000431404449840611900836960203326972342323043737591646899590472419658688908381419698559790448190221134426374132112567726511822872376748248839729242110536453579048005279782305665724043764073006799738272062822029377786502129805371273662588330024982692567019578313734679456093651860947961543509648348012107660534959038489028220254732766094440809796079700395126763531662928263366128941767319076842114172969976425177757215255120958519487578016159138457189892919405445827299361849987669883326157416733832608811094758417587434037992325522400944744996667878366346706704236788990918195885526547316810201899046565531234869963474908510783756766822320489917661641614017224344583088369581796353703546731608891056489387867833393199126039314805137446303830622637599182401439892894971416995530284179070801130121215157038448317727966776900104955995865225844712701521693471877882242071921978493141042061149548586567018957955965429517881820341001070171928852681844362058521147897533224455628496930753494848125832542524169246823051336495662244515253586661146845301557230978724199283231064297225282184135869265147997418911767874485326196037817199290423135632462699629244097692072221021133930616357438375202793750263571125836616373820638196308751206793785461947503792839181825834443602480276159942490180021742008925488618529372729605585162621307611926346047202547049097040692369645316316218497553794786066527386967004177637092797268447482588429 2952190725816133016429100243823860714398863566205354860066771390928202165819017689449396985046593538362098245706778285206885774719724397247772341765417224156213644890031642532543975817384673541996527808053960447034256067064033320409539293431554401990552217013694038366723535610932871484993480576697633648741708604568620598579595853125053718387943310913508181578887361538808935721285745771187561185523758304683558559599144711133598875305058333365670462021088720058355712510308328619064666651309703306129781187282984189658628205497665869837316753617455033041915625604047333446225563417391839044680695506410029686819985444271971013065902855509701333703721144254645959222051396950640023086871441659572807776133354858135455449524064313669768571463545682414786672844089009701946373618958717848754129766003902808691703133121592478838112452486359481527540070968088884969521554968186277811915149978701562768795617326129433488195476059328414412868734809747345031969120866764902467345073684616606915622864838468754011478441101718412453691921197710921267419612423826850488570389680983209857476190779394493599148235115344143515925458745713391653250187626522839351173925531171975276487930399298636885554787016618411372611697361814282534711152588875819382296855589876784835952487270871021950759722401546771150038011281978204722644213956311376472136989371339566665777685681623852202242307811792579738309914253948642664420423371006677606246677276665521397488274502610435835862683290629889990026101503351700710827667563468702371872923854369046679190196561800077525214518741231123689020899291745742301315066988439870897265735217953015061656297529204468367364401236714179031501742446081587959988099007244811765448021278057757258224521590959493673850483533323436553090234841253768956419056195223163366600912771962878239706747824913097260047140627938062822839872172746547507540642209823411440900712788685190450121585544419242387634208818869882495681105246527437640584428464381303073664090913033467001414538536458753473522466882353115757598218458204689890582615294218948119128279311083238329445863570580909581762637173772839338277503412699927655322045940449861069809494700699208556916317829660386504916943568533770983989378578255265497282814981581435101040447910886053654972158725976692566489195421594874866361909222000202583522965778350614963653101386356648076544272264260745578374335342230257296055018861002137539110223896380696094973799495143645877564127900768567376380766124871048113698961333204894173341006028749196318504462054692684087976446399792528782322977820795294858202613579276700103143287588449821418780981773988288499855236074987743998796592556801167874594094386275555722040214884013259913999402739776026206951548637479389305790867555926879101592763484213354624803208045264076060581928253223172327839162935591205682240145210272201420020866345297210326777383638499125620572945606215756308932901425458726925380081513696840431298701741739448506380922549300016238595015736959381103292604984783425927101165247237333959070054708235480824121430420703569319278701821900874847204298099637040958872885953519997344663552381067287062337994362663255588086097112404934614071708840827538281350505732327427706264501137237583389605287492643741515691831334644754318181788143305630051897697336294909260968578416204462855316137239646516144702879492753790360200320411962128104855915007028044024935552402911028384585002833433186273596247018171127945323585889370029052073016243925185406405105012090119098695496204100343097905187098475549334062831639336076003209239847127987094654841149663134853573193928707408933088435908501088927055314055824802132290488455211692258743463684135175805178267727062193944786268583805624224652476153441742451557733777854736430268976645804840277291963907637596410929404874622171873177177786737978042750880891206480421340857370000225239736808244256619199069347061899254701011648902284762783846196112502060111909978859961521970852977677676335489495700374306031886505343922393475991022985714744740452407098205916983731232363958638959153421435569246524739724680402631627836541483968471408658258847 4776744935642724875518124686107293531487243056936476077735335102217785184446233025525426776016521145495397222280387867067500260257440529575692841493297785356856601578326104787827412001018604023727549260732536172976452832653334044983772250083215073557625186514825332719630415302547491637668848897010647320862997434260269682370921078460490627201463664971402023623404347833482220057259992910449034780404849789955404717973444890922840901556570420180202226907003173141262995832389798817160909141686840070582403829455051430674331294692594966547407068795789049992307374251083247483307947296056640360451313914975740041651259997933851907205870085591885772802619074847816809677212489794276684961927444159916630518312091150882823866135473994660348448670204504270796967972892071869317603754526809730983294828072794353020311719355093009209510477373423604925546864251249291207675773638595465315633663514769075280815544742693719993889355338473381926370348772657906739298653766626018503378457518721675884238969307883330800313962028138044574222779147004437836247423964759044705973072013712297055027106657871134130834419589571392261615498708814690127217687333849889100984549031130529565383246160239411288304739237742199472317579810428467693886005386989307563051896421848535376534145070816820185663744603955374395970192602769425303088817198049749068073445312077652380587501689672057593612706211208063437189320149336255335757406873398218397121616181794849398050218303539880384922532027773968241968058223226591188121724253791927686016556181633602373261793130669973660120409037597133431265874368687385745403168205415310896865621499024863093547494395507042517536478701405516823638980330974749302394387314774814870604322896565807142973892055930885083187198520344035751598251526262201740753868559940310012381774710399581170694347180735742746511619914764032922608390946752380165245198039198715698241885597032688999623255239916398349982730085301212860375803772678532945315530930064768696973351162040941698011591083470751881037591568164783948858973713154786285200141681749855769696296428816034386088010207446534925592765509726685343572680368268168187728223181770615757755627487857655811802782398827276573519025124446152946018210327360303508514988636403648406721352947043308501887942679713019259125338402660517702356026349836354698195611101912451435859212458412842524741780208070170513891568004806938151339234213280116629058878537356706920201142453860299898675644296488148511059446153519592023826105207493078592521857747504861703273102232097648805267671170831716152636735874457483292553264155927233452100508645738751398451078126364196968734187577437986926207292254128974786663063260295122911355569884444664363840014640612986410278520979802433043382514455517351521251452392594774323362998493454297195008302385335740054350985807967953931079874452382737873599914350576992632443107682263198627372683878278578338310687927588532296653744102026865413991268761317762241060378642951877186556559246607729115400265519742464416129385501970100053510864504315181219248193952366497582644830763668193924046412272607017384050643168775118303183039959083446200795184255582661033913396474254922283955034998244272113959316827085845293698539129563105790550032489311619882038538038881543309099984028832177368707899235341474792203448379679371366099894006468836634620541134367807584544903500331709901209618553759652915992041790778861777784128872747991411042550848793765544505987329262924023490011774209364477206235133305276137143813932067119998010143094340775178775533161029547881091481919049965587795883210812683440140212886663374362606317728842089997227242908506646494349009603109225483199092181065929300026393559604718114033091635142119886896991407028403598403035335085715154468259876869137502574148043506861558926823786390046358503373824555177333174016523669180050584955062072446260870738860614057574272140812162825826848265276105400980154947319295845573857482652800703796687421280156611649438190554327773895430832540922848720628570877366048064333444253119530780329404651008604469737654066800319525791207789598632014178576765739856140847276 7728935661458857891947224929931154245886106623141830937802106493145987350265250714974823761063114683857495467987166152274386034977164926823465183258715009513070246468357747320371387818403277565724077068786496620010708899717367365393311543514769475548177403528519371086353950913480363122662329473708280969604706038828890280950516931585544345589406975884910205202291709372291155778545738681636595965928608094638963277572589602056439776861628753545872688928091893199618708342698127436225575792996543376712185016738035620332959500190260836384723822413244083034222999855130580929533510713448479405132009421385769728471245442205822920271772941101587106506340219102462768899263886744916708048798885819489438294445446009018279315659538308330117020133750186685583640816981081571263977373485527579737424594076697161712014852476685488047622929859783086453086935219338176177197328606781743127548813493470638049611162068823153482084831397801796339239083582405251771267774633390920970723531203338282799861834146352084811792403129856457027914700344715359103667036388585895194543461694695506912503297437265627729982654704915535777540957454528081780467874960372728452158474562302504841871176559538048173859526254360610844929277172242750228597157975865126945348752011725320212486632341687842136423467005502145546008203884747630025733031154361125540210434683417219046365187371295909795855014023000643175499234403284898000177830244404896003368293458460370795538492806150316220785215318403858231994159726578291898949391817260630057889480036002649052451989692470051185334927778828257120286773660433128046718235193855181794131356716977878155203791924711510884900879938119695855140722777056337262382486322019626636052344174623564401198413646890378757037682053667472304688486367515970697172924755163473378982687482362459410401095005648840006558760542702095745448263119498927672785840249022127139142598385717879449744840784335640737616938904171095356056909019205970585899959394446071770637442075074408699426129619929505354560058450517899706457192171359476175782756975968803888824575739899272715533873778027444507355402683499524681850183780968095843050269122220476827565122188556864368719100228487663078435968692979923930007588905615569005797803617985083507761800857929362156860101405689711825614533824255392568717935571836557281718576880263066399512313844769490601286052472330916092265903347037195447394253074282254168169102433737403015174941949003945776239772197256715887440212278390640137525066540697972765862863776254058021777564286790332893244117570624244934959713695252778150755877735203933555243796234188572817232059900352485468589423652425730925003884810930142661257157646570678633395784768457924277839417380389012617230069617281822349173382011444230622844215876808128948166206538718373255590230638558912382190148743559159613320019662654939293620780695874202959220491320762324247945629484494334647243589353047259222033825615723705845289970503057210747441301192251893425151574983567110218692870504525890343230550749207434012580919212550662043369624373070066901923532585569068771250710372244058342923529122295115647846592340150733263133178618245916621999493586659856898026743839071810395309822559413272999963040266800689180155319981955361397730369373526297627281772172137807420605596571636384053172026795883834221416031246115352779323420627121597944745223912293838006065533560787696940927594193689890162369131706181177684638797866964893489829573218632953075563028018134549883611340145395395235839310136167463095915330192816324512838364800365623884300721766177952682450724360475818293713406815370783295694753637343178924282556964331448626639498058320917741942555865201105105204661286666912058819360218947744111549467560470146049960769112940451584737236522673977779866111951144457969856228661012218231680551611293155375924897414875660471925812432072671500607547104870676773341487874062080527859914178390163764001143431797905685767461512762225767540398957832947138933890928633805781936176463316324711651556592110788516740542459036514511561768609647563623159089636046844265515888192230259850720060734211264799106123 12505680597101582767465349616038447777373349680078307015537441595363772534711483740500250537079635829352892690267554019341886295234605456399158024752012794869926848046683852108198799819421881589451626329519032792987161732370701410377083793597984549105802590043344703805984366216027854760331178370718928290467703473089159963321438010046034972790870640856312228825696057205773375835805731592085630746333457884594367995546034492979280678418199173726074915835095066340881704175087926253386484934683383447294588846193087051007290794882855802932130891209033133026530374106213828412841458009505119765583323336361509770122505440139674827477643026693472879308959293950279578576476376539193393010726329979406068812757537159901103181795012302990465468803954690956380608789873153440581581128012337310720719422149491514732326571831778497257133407233206691378633799470587467384873102245377208443182477008239713330426706811516873475974186736275178265609432355063158510566428400016939474101988722059958684100803454235415612106365157994501602137479491719796939914460353344939900516533708407803967530404095136761860817074294486928039156456163342771907685562294222617553143023593433034407254422719777459462164265492102810317246856982671217922483163362854434508400648433573855589020777412504662322087211609457519941978396487517055328821848352410874608283879995494871426952689060967967389467720234208706612688554552621153335935237117803114400489909640255220193588711109690196605707747346177826473962217949804883087071116071052557743906036217636251425713782823140024845455336816425390551552648029120513792121403399270492690996978216002741248751286320218553402437358639525212678779703108031086564776873636794441506656667071189371544172305702821263840224880574011508056286737893778172437926793315103783391364462192762040581095442186384582753070380457466128668056654066251307838031038288220842837384483982750568449368096024252039087599668989472308216432712791884503531215490324510840467610793237115350397437720703400257235597650018682683655316165884514262460982898657718659658520872168715307101621883985473979432948168193226210025422864149236264030778492303991092585320749676414520180521882627314939651954993817426076876025799232975872514312792254388731914483153804972670658748044085402731084739872226915910271073961921672911979914187982175517835371526303182333126027832680401086606157471351844133598733487287562370797227980971094109935376084402864245674915416493744864398499658431910232161351171748191051358384721523758919725050666518887981698511788741455961087596449569710261443309141891131167007344304879927324215683138026716682437323611229863717851211177065059117447920220906865801544751354652902588641679432021001999027508590597084255392555896466961582144095668269402903271529205032172670450598533023894652436541134551527113544399894115037677167220695046451195591663599003025522875318313362772912985554277280635791518687569717750571259281239264374972988501679835203770611708134230174839334093136024268354759359936251177534066091783716865843262617818325436564484568363349237262695297122644851075726974172291070233951029632299234179463928362873828577655912890060914779181981778837316082509269139386499118293661579396363794970705352471266981279768907412407840936381756200969984789313495806977858845375475175563205587515925252584189413943961761489405529290127412625547907275152114547349856919635984468751940153260578929169095681348715758659034335560547895877099053039792343914360817575278700671372983124068234583093925473287157099691613897961395171765392203685227918270246607571288501733853619702034157658301071366185268921509799872838095120988507661430143225141648046267034405231054846271630172852451854089863998446458967498549648363804448026166739205496399543115282440259994651319528783052447402264590183925435848332709098913938544840522510767494145117761478285965484734347613628686224906354708179454495564744156090751093751259624944165562929564227820237989558788372081482961579677367009004239173432280127469476836581073986712156045291891173260656168092896743702847163791307095981828891864898637499951120939953399 20234616258560440659412574545969602023259456303220137953339548088509759884976734455475074298142750513210388158254720171616272330211770383222623208010727804382997094515041599428570187637825159155175703398305529412997870632088068775770395337112754024653979993571864074892338317129508217882993507844427209260072409511918050244271954941631579318380277616741222434027987766578064531614351470273722226712262065979233331273118624095035720455279827927271947604763186959540500412517786053689612060727679926824006773862931122671340250295073116639316854713622277216060753373961344409342374968722953599170715332757747279498593750882345497747749415967795059985815299513052742347475740263284110101059525215798895507107202983168919382497454550611320582488937704877641964249606854235011845558501497864890458144016226188676444341424308463985304756337092989777831720734689925643562070430852158951570731290501710351380037868880340026958059018134076974604848515937468410281834203033407860444825519925398241483962637600587500423898768287850958630052179836435156043581496741930835095059995403103310880033701532402389590799728999402463816697413617870853688153437254595346005301498155735539249125599279315507636023791746463421162176134154913968151080321338719561453749400445299175801507409754192504458510678614959665487986600372264685354554879506772000148494314678912090473317876432263877185322734257209349788187788955906051336113067362208010403858203098715590989127203915840512826492962664581684705956377676383174986020507888313187801795516253638900478165772515610076030790264595253647671839421689553641838839638593125674485128334932980619403955078244930064287338238577644908533920425885087423827159359958814068142709011245812935945370719349711642597262562627678980360975224261294143135099718070267256770347149675124499991496537192033422759629141000168224413504917185750235510816878537242969976527082368468447899112936808587679825216607893643403572489621811090474117115449718956912238248235312189759096863850323329762590157708469200583361773358055873738636765655633687463547345447908614579817155757763501423940303570876725734707273047930204359873828761426211569412885871864971384549240982855802602730390962510406000806033388138591441520110595872373815422244954662902032815608145491092442910354406051171302839791897493509469261632764862438584234883840147951823727313885152732002698423374698881329046127740361844624965397083404831512950551026351868191451155188691001580285939870710300872298876238288889024124247585300012977746828230805678314591755906312080206022556163264963039594065019626335100562588101114115897032915197927069167905913034882289448776215061875989260109177378553436480178147139421360512919518849401391011644738660214366077741729278478405812766939884146211032219695411570891043706188763662453564818731283295086273157719913777692616460841475742325398550884090323787847123263942847267247632797866633683050740721395333474277104571209767432183735942981027455664036859709213741949552786006528794245102590487000384968078672702929416505305987442698506631386491895934806331466547833017095134069897701413365349598876224639384912727061541492074494277912383647574636080008522676387892904578961945912391293624619663164484150860672453222342677499276785934138563663528373107792209919092378614242898547501971447039808931956498699542193267382388611003474035351324919385913340685675335046797847230178158642102522392285110346780320146582723552524165133766528830174616067810478464244428915424096066608822434204402046189840803479973424204452262761760795649692925451405870952697331931764320027567026517404940953995825003528447845792356837169543747628005719751060967084203911468139510435716132938542231671812073037608109995926527968695698324573560966618323942732922217093062306371945795777498639281108414482821864477047141488085023811353420500994436579926217789262085833070355411120955116560286986882568093632885728508157234182891656945392405678325155331768219195822505927305972411595385459303185467555498143931684061587625097814529171192559803452941870303731716055833338894008056822984174059151715618698234162385739059522 32740296855662023426877924162008049800632805983298444968876989683873532419688218195975324835222386342563280848522274190958158625446375839621781232762740599252923942561725451536768987457247040744627329727824562205985032364458770186147479130710738573759782583615208778698322683345536072643324686215146137550540112985007210207593392951677614291171148257597534662853683823783837907450157201865807857458595523863827699268664658588015001133698027100998022520598282025881382116692873979942998545662363310271301362709124209722347541089955972442248985604831310349087283748067558237755216426732458718936298656094108789268716256322485172575227058994488532865124258807003021926052216639823303494070251545778301575919960520328820485679249562914311047957741659568598344858396727388452427139629510202201178863438375680191176667996140242482561889744326196469210354534160513110946943533097536160013913767509950064710464575691856900434033204870352152870457948292531568792400631433424799918927508647458200168063441054822916036005133445845460232189659328154952983495957095275774995576529111511114847564105627539151451616803293889391855853869781213625595838999548817963558444521749168573656380021999092967098188057238566231479422991137585186073563484701573995962150048878873031390528187166697166780597890224417185429964996859781740683376727859182874756778194674406961900270565493231844574790454491418056400876343508527204672048304480011124804348112738970811182715915025530709432200710010759511179918595626188058073091623959365745545701552471275151903879555338750100876245601411679038223392069718674155630961041992396167176125313148983360652706364565148617689775597217170121212700128993118510391936233595608509649365678317002307489543025052532906437487443201690488417261962155072315573026511385371040161711611867886540572591979378418005512699521457634353081561571252001543348847916825463812813911566351219016348481032832839718912816276883115711788922334602974977648330940043467752705859028549305109494301571026730019825755358487883267017089523940388001097748554291406123205866320077329886918777641748975403373251739069951944732695912079440623904607253730202661998206621541385904729762865483117542382345956327832077682059187371567314034423388126762547336728108467874703474356189576495173995094278278087213110865859415182381241546952844614102070255366451134156853341717833133089304580846050725462644861227649406995762625064375925622885927110754732437126070605184746444684439529142211104460227410037080075482632306823771897471878897324566296290267695053536167110152612834673301037374161517466267569932405994043221248598335953785850343236646112153166627426238941048377557097599460302281722898494074263101561198281422393010672247250811450333134285174945367394911035552415613935491224616603063714156787296686348217255272417846613386702119807892730293628062170788776594142547689326813369998582256210040160618352143914318842259408965051224848363852449031807156724444660862659434648567843443916788886879142553062599861950423251562502144764486646282348568605261023943195871060259284043594161844955661946209796871873704435583549905856938619092190989904365903071933825273708489415261990301513703975413848101332411509587286199059528279121566024924489323957268184198341979500045284574077776999232588185592101743922977147010245396447881751283731607211344150100409003325478737544933820615837789882396654766866162627394042675652864039515876001495298482211558500694314424707273669107602822378605246490702796737981805558272636629283766276767130523896066160723155967415085129136633789222943939503052821761420646219439098612296896369713716767302156710007638868616513381181204192225851957735173915666770979210172404524263927127472108442385495467245346688378008992785063148229321760208344746631940447097027422333555816747412048402482989820794122725291965341516947347420362907023564119035840145468568745246511893237276273087381293252313324933985408205017349843888084895996039433812064715678053894556965136670194471794671576211811531064461678888515883348605095344115130959899808952577041741171848130080155888043580517335734113506679012921 52974913114222464086290498707977651823892262286518582922216537772383292304664952651450399133365136855773669006776994362574430955658146222844404440773468403635921037076767050965339175095072199899803033126130091618982902996546838961917874467823492598413762577187072853590661000475044290526318194059573346810612522496925260451865347893309193609551425874338757096881671590361902439064508672139530084170857589843061030541783282683050721588977855028269970125361468985421882529210660033632610606390043237095308136572055332393687791385029089081565840318453587565148037122028902647097591395455412318107013988851856068767310007204830670322976474962283592850939558320055764273527956903107413595129776761577197083027163503497739868176704113525631630446679364446240309108003581623464272698131008067091637007454601868867621009420448706467866646081419186247042075268850438754509013963949695111584645058011660416090502444572196927392092223004429127475306464229999979074234834466832660363753028572856441652026078655410416459903901733696418862241839164590109027077453837206610090636524514614425727597807159941541042416532293291855672551283399084479283992436803413309563746019904904112905505621278408474734211848985029652641599125292499154224643806040293557415899449324172207192035596920889671239108568839376850917951597232046426037931607365954874905272509353319052373588441925495721760113188748627406189064132464433256008161371842219135208206315837686402171843118941371222258693672675341195885874973302571233059112131847678933347497068724914052382045327854360176907035866006932685895231491408227797469800680585521841661253648081963980056661442810078681977113835794815029746620554878205934219095593554422577792074689562815243434913744402244549034750005829369468778237186416366458708126229455638296932058761543011040564088516570451428272328662457802577495066488437751778859664795362706782790438648719687464247593969641427398738032884776759115361411956414065451765446389762424664944107263861494868591165421350059782415913066957083850378862881996261739734514209925093586753211767985944466735933399512476827313555309946677679439968960009644983778436015156414231411092493406357289279003848338920145112736918838238078488092575510158755554533983999136362758973063130776736289964335067587616905448684329258515950657756908691850503179717707052686305139206599085980580655602985865092003004220749606791690988968011251620728022147780757135836478137106600628577225793875748024970379399852511976759103648325969099606879892123784875218707128130244610882023601365616373132708776099636340631439181143801368132520507108159118281513533880855018249149680994442615403641300817037637666274978013738761901045633495623614480717130823784022316985911025816410876014453423773207677975436561824967710920028173954757862976060348801782074003701141699659859839721670422910088903646531101992693431779650601217121846199057307408251150010548001893000130360384699125468423658799239340460387641890115098685427552657658738439665149081856844964540910251947470223437189575698853874592703722449827257552155218849925628392788679041343866769575117800933148782081578004004918051445857977566211737657356064051341998824190091868318427063278323900880910818722692763272426697377711666634767460984276118063708812947185569209151680564206344642470479118457285205379838249983273800478726538711412477360830062464319733956523465217443452614096340786036145198045149149862656321641881205764082665828080953537448285175413300842849675406126892804590627992477038675473607080247103948100518423484916763064778054588039660175641271434817141788987672736844039566292721373242164613094513547177182616244519100932265159310055869203313426102487112148714636196076000165080218438312023435941045012951569959403387090962243977301407053003886242874526061614664231230233912879530131308879146536645385842511383927346580696285649952106195556589523861806798880119844366720267021760470559116877065150409755522213240227764258629634570642984026306152350595973379939350169720143495592652086776703045054541164898797057001263631525008410380635179904953064329947195296136033968275892418072443 85715209969884487513168422869985701624525068269817027891093527456256824724353170847425723968587523198336949855299268553532589581104522062466185673536209002888844979638492502502108162552319240644430362853954653824967935361005609148065353598534231172173545160802281632288983683820580363169642880274719484361152635481932470659458740844986807900722574131936291759735355414145740346514665874005337941629453113706888729810447941271065722722675882129267992645959751011303264645903534013575609152052406547366609499281179542116035332474985061523814825923284897914235320870096460884852807822187871037043312644945964858036026263527315842898203533956772125716063817127058786199580173542930717089200028307355498658947124023826560353855953676439942678404421024014838653966400309011916699837760518269292815870892977549058797677416588948950428535825745382716252429803010951865455957497047231271598558825521610480800967020264053827826125427874781280345764412522531547866635465900257460282680537220314641820089519710233332495909035179541879094431498492745062010573410932482385086213053626125540575161912787480692494033335587181247528405153180298104879831436352231273122190541654072686561885643277501441832399906223595884121022116430084340298207290741867553378049498203045238582563784087586838019706459063794036347916594091828166721308335225137749662050704027726014273859007418727566334903643240045462589940475972960460680209676322230260012554428576657213354559033966901931690894382686100707065793568928759291132203755807044678893198621196189204285924883193110277783281467418611724118623561126901953100761722577918008837378961230947340709367807375227299666889433011985150959320683871324444611031827150031087441440367879817550924456769454777455472237449031059957195499148571438774281152740841009337093770373410897581136680495948869433785028183915436930576628059689753322208512712188170595604350215070906480596075002474267117650849161659874827150334291017040429413777329805892417649966292410799978085466992376789802241668425444967117395952405936649740832262764216499709959078088063274353654711041261452230686807049016629624172664872089085607683043268886616893409299114947743194008766713822037687495082875166070156170151762881726069588957372125898910095701171598651439764320524644082790900542962607345729061523616323874231744726670551666788375394573050220137433997320818998181307585066800332254335850195660658616490647212156682758722405247861333065703296399060494469654818928994723081219331058363049175089512198947556772690586025454810907172291296419152540242861388934309641668813342661267635702452913102202339530111869834640868592386327106595782031067539758086015223372577474041043623944127569886716041915412246177032989233161837266744010299628369140602589010988977438903202144644777018472019763357035149999329276118988313046561959529563153203716965817319878586835979468977414587120428455267347568869502154462320735259539325435923973832276107831046497184832302752774533333995396101575527326544291634919444826491333503509972368201676221981202443197964746393023128612414502893519790237744340987553663641448822236516698687938516623097109041350223880638145562931064553466603989125703795843732275164610735410468197017782221042393992722302200990592035645182618097563754097521263346208384268749798446386393456265467530601827720001267005407690070688811821480686308800009253554572361255099840107380962503413430187873698013189378532323137179687975641166522395378244721954283016123221454921896829689542572433550749675304757373357014234471996584584208072730479863183724673449398585210937869963550408318956283138178589617742955881380396670257184821484861032482113469351535907826938487341769258091358887040720339927292552326880697518903186391701329578952188450239191565737509751799635826689971553483948220047977645961282013121129673269261937351184028331274766943603309214071142035702058092607053310773357120639807648315012783884050862473355427105366101325123760298063446635358662080200709315732643574411144841296355307123716548455591560937889769994141172132223531333960987422376351753083144485835238876653369702389399097085364 138690123084106951599458921577963353448417330556335610813310065228640117029018123498876123101952660054110618862076262916107020536762668285310590114309677406524766016715259553467447337647391440544233395980084745443950838357552448109983228066357723770587307737989354485879644684295624653695961074334292831171765157978857731111324088738296001510274000006275048856617027004507642785579174546144868025800310703549949760352231223954116444311653737157537962771321219996725147175114194047208219758442449784461917635853234874509723123860014150605380666241738485479383357992125363531950399217643283355150326633797820926803336270732146513221180008919055718567003375447114550473108130446038130684329805068932695741974287527324300222032657789965574308851100388461078963074403890635380972535891526336384452878347579417926418686837037655418295181907164568963294505071861390619964971460996926383183203883533270896891469464836250755218217650879210407821070876752531526940870300367090120646433565793171083472115598365643748955812936913238297956673337657335171037650864769688995176849578140739966302759719947422233536449867880473103200956436579382584163823873155644582685936561558976799467391264555909916566611755208625536762621241722583494522851096782161110793948947527217445774599381008476509258815027903170887265868191323874592759239942591092624567323213381045066647447449344223288095016831988672868779004608437393716688371048164449395220760744414343615526402152908273153949588055361441902951668542231330524191315887654723612240695689921103256667970211047470454690317333425544410013855052535129750570562403163439850498632609312911320766029250185305981644003268806800180705941238749530378830127420704453665233515057442632794359370513857022004506987454860429425973736334987805232989278970296647634025829134953908621700769012519320862057356846373239508071694548127505101068177507550877378394788863790593944843668972115694516388882046436633942511746247431105881179223719568317082594073556272294846676632413726849584657581492402050967774815287932911480566776974141593296712289856049218820390644440773929058000362358963307303612633832098730591461479284043031124820391608354100483287770562160957832607819794004308234658244338391884825143491356125035272854674234729428176054284859711670407805991646936604245012181373232566082247906388258719474680533779649306118014652923804863273310589287549939046026839163671910237218669359937439894558883384967933694280522192936242494625198328847235057978434706689018274696392091071341647909293153585055518054314897784768913375570165033945982300252523805069003834973420210361457811625403715495886841536008101038397434708840575123652889647555487779805524989761065510330522632543069961055306219072863083154886314081792913810266986425539263870913064672950973229882739417383951781403279820130012706421799251233576113805869463850980579529411248628015804242274654324654977120652165010322628259669685820623099300699766630285837645219944642889632019422948759234265766209440716776289791032243755457442591638865797680056317790668468842850386164569721743445418630533020028897530411023940037449847470020094627102027092796081858204357300588420617517945987949893887712050702227889059311349107836504913805666419419679912657226803106166894215627462910468448915417535949314004791028863935383924815807207558251250279208168797227523233958047138862473573288528884720317283559995058844199466333071743162339241188644779060893739723832350476331782170239458429424064304597302956582347163061543226713980230980437261338420097103007692989493544641238312713109574226482372687105339395991693127177744882339116198045993491183804362004101105551583045734510845963696141800767871745203507601676916415927457632545319009542339127436714281148911591837330153809714811158852639712932846079545562884279207879874161543252438552415798582737026539715202113524299594864023248231258647616468860109653476965006527915336773254443167739538505836860888314565351524556693081206001646106506861666328616954350495011016498802716368635232294605992430934892938229133487162858969397803011531658036208815782434172789403670665291515157807 224405333053991439112627344447949055072942398826152638704403592684896941753371294346301847070540183252447568717375531469639610117867190347776775787845886409413610996353752055969555500199710681188663758834039399268918773718558057258048581664891954942760852898791636118168628368116205016865603954609012315532917793460790201770782829583282809410996574138211340616352382418653383132093840420150205967429763817256838490162679165225182167034329619286805955417280971008028411821017728060783828910494856331828527135134414416625758456334999212129195492165023383393618678862221824416803207039831154392193639278743785784839362534259462356119383542875827844283067192574173336672688303988968847773529833376288194400921411551150860575888611466405516987255521412475917617040804199647297672373652044605677268749240556966985216364253626604368723717732909951679546934874872342485420928958044157654781762709054881377692436485100304583044343078753991688166835289275063074807505766267347580929114103013485725292205118075877081451721972092780177051104836150080233048224275702171380263062631766865506877921632734902926030483203467654350729361589759680689043655309507875855808127103213049486029276907833411358399011661432221420883643358152667834821058387524028664171998445730262684357163165096063347278521486966964923613784785415702759480548277816230374229373917408771080921306456762950854429920475228718331368945084410354177368580724486679655233315172991000828880961186875175085640482438047542610017462111160089815323519643461768291133894311117292460953895094240580732473598800844156134132478613662031703671324125741357859336011570543858661475397057560533281310892701818785331665261922620854823441159247854484752674955425322450345283827283311799459979224903891489383169235483559244007270431711137656971119599508364806202837449508468190295842385030288676438648322607817258423276690219739047973999139078861500425439743974589961634039731208096508769662080538448146310593001049374209500244039848683094824762099406103639386899249917847018085170767693869561221399039738358093006671367944112493174045355482035381288687169407979936927785298704187816199144522552929648018229690723301843677296537275982995520102902669170378390828396101273610894732448728250934182950375406328079615818605384355753198706534609543949974073704989556440313992633058810386263055928352699526255448650244623861454618174354350271300362689359332568853709316572094122653281288632829266759983818591996736964280017257841958139197765765052067449785904290018898420599879179039866425226606194203921453618431553968255623969065866466336639537426333312563797341737273550136755433922335207634179465776380333209668113020132961820849148933888635397046564547955316138088295452234700349898896613710162054412855997414516702774115209317727991701902502774419101780732555939118325752983758780796729317522835281170859166365390717605430391362703109592002545990154319472643363519209011256547073132975874461332334830052247395664165353418344860809793092753732351695734617523577258967414959840542019661258760988633215235873514776984224636965208868277361016451194052472762273966546157958611250199136134146305738842502863519485170984549977075597683555782977392499794721817304854287134848060412141982113647818838751349512313191217007989712261625920218063803237415257391649392346409035278252517284615858867916335055438733447662482826843101245975417123667376021347612896520945441175528619720967916240581715364998872871710026892193741445547285759519199786271889735495093976389284988353794275572892093687591901062224024504422037386558972811693310557068889804310649410315923471956859153927373887854061546825585966584065159203862381871523080288109641003294866488717636755854750184872199707061242313828415610727863780287569345375452320910652275539622817633029511104327185525835443556373568225685060520088210568046476880467902904078094390266960705709075913420426834085646335563651786038327218602011861263966254415890475284854756527841360308186707570982061260528761639852312854109840085183687886166930320704887079401265710694192930385225387883411119353301617673049442773373054690612243171 363095456138098390712086266025912408521359729382488249517713657913537058782389417845177970172492843306558187579451794385746630654629858633087365902155563815938377013069011609437002837847102121732897154814124144712869612076110505368031809731249678713348160636780990604048273052411829670561565028943305146704682951439647932882106918321578810921270574144486389472969409423161025917673014966295073993230074520806788250514910389179298611345983356444343918188602191004753558996131922107992048668937306116290444770987649291135481580195013362734576158406761868873002036854347187948753606257474437747343965912541606711642698804991608869340563551794883562850070568021287887145796434435006978457859638445220890142895699078475160797921269256371091296106621800936996580115208090282678644909543570942061721627588136384911635051090664259787018899640074520642841439946733733105385900419041084037964966592588152274583905949936555338262560729633202095987906166027594601748376066634437701575547668806656808764320716441520830407534909006018475007778173807415404085875140471860375439912209907605473180681352682325159566933071348127453930318026339063273207479182663520438494063664772026285496668172389321274965623416640846957646264599875251329343909484306189774965947393257480130131762546104539856537336514870135810879652976739577352239788220407322998796697130789816147568753906107174142524937307217391200147949692847747894056951772651129050454075917405344444407363339783448239590070493408984512969130653391420339514835531116491903374590001038395717621865305288051187163916134269700544146333666197161454241886528904797709834644179856769982241426307745839262954895970625585512371203161370385202271286668558938417908470482765083139643197797168821464486212358751918809142971818547049240259710681434304605145428643318714824538218520987511157899741876661915946720017155944763524344867727289925352393927942652094370283412946705656150428613254533142712173826785879252191772224768942526582838113404955389671438731819830488971556831410249069052945582981802472701965816712499686303383657800161711994435999922809310346687531766943244231397932536286546790606001836972679143050082331655944160584307838143953352710722463174686625486640439665495719875940084375969455805049641057507791872890244067423606512526256480554219085886362789006396240539447069105737736462132348832373463303168428724727928763641900210346389528523004479090927985932031562547840172017797200454264340784932979458905215586689193197176200471741085724482296381090240068509172332624921943280921091988690366994001719002201606269318390271405643372399753522925255153362677265632642275458343308672576900485220908333321002667688449600654673923649700907377087180498386099143601671307563433053782927791954968223122983840055966645028273990678964931785242191803053562135835759248338459405558032030305431328704745021839745894801966233446195604977763916657523110806484482965991778878697077170172433675641091618172475272192038553797372841293620044058858963173068472024408555821014424857551479407817341315078779301684078723900941553946380410627498810381045348724463496702311416393627978705877301163226942387597046860164107905788502495965025491571267833679620388854033166412690792048653726831561662026305045641857516406528818679918458161177043456167377808028444121327033317162216242836503767563824027665143858289396780586524956400131630130695734407227371080191812362854017184337867860909612695301475455088831223348041809062433199874971350064116502742854236898556637203103265219334231536911312190790599594051717569145660350099668547038175683244174229200302342537493668354295975351973367379037865908829687072135648204938373227835219222088877512748498374090394553171782207817417518716603581441265129891876775372124899499185167132069504915252555663712575073988606393405709605099626006778100859102825237107761678993992202498942117638498219353325544773530080311050652863478988559292770386341550367100827142730455826809411449609047361954293214432648389877483112134863329352912556453818920180772922751639780017630399197857051899783028399415069155562117400107222232177043719982127400978 587500789192089829824713610473861463594302128208640888222117250598434000535760712191479817243033026559005756296827325855386240772497048980864141690001450225351988009422763665406558338046812802921560913648163543981788385794668562626080391396141633656109013535572626722216901420528034687427168983552317462237600744900438134652889747904861620332267148282697730089321791841814409049766855386445279960659838338063626740677589554404480778380312975731149873605883162012781970817149650168775877579432162448118971906122063707761240036530012574863771650571785252266620715716569012365556813297305592139537605191285392496482061339251071225459947094670711407133137760595461223818484738423975826231389471821509084543817110629626021373809880722776608283362143213412914197156012289929976317283195615547738990376828693351896851415344290864155742617372984472322388374821606075590806829377085241692746729301643033652276342435036859921306903808387193784154741455302657676555881832901785282504661771820142534056525834517397911859256881098798652058883009957495637134099416174031755702974841674470980058602985417228085597416274815781804659679616098743962251134492171396294302190767985075771525945080222732633364635078073068378529907958027919164164967871830218439137945838987742814488925711200603203815858001837100734493437762155280111720336498223553373026071048198587228490060362870124996954857782446109531516894777258102071425532497137808705687391090396345273288324526658623325230552931456527122986592764551510154838355174578260194508484312155688178575760399528631919637514935113856678278812279859193157913210654646155569170655750400628643716823365306372544265788672444370844036465083991240025712445916413423170583425908087533484927025080480620924465437262643408192312207302106293247530142392571961576265028151683521027375668029455701453742126906950592385368339763762021947621557947028973326393067021513594795723156921295617784468344462629651481835907324327398502365225818316736083082153253638484496200831225934128358456081328096087138116350675672033923364856450857779310055025744274205168481355404844691635374701174923181159183231240474362989750524389902327161279773054957787837880845114126948872813625132345065016315036540939106614608388812626903638755425047385587407691495628423176805219060866024504193159591352345446710233172505879492000792390485048358628911953413052586182546937996250481646752217882337047944637302504125685201121460650626467214248159376929716423185232844531151336373966236793153174268200671109138489109051511664788368507527286192611820612433272970457230238384256737742282909826086835489052495099950815769397709380678516306756366261601241542989115687821411421503822857538336304423651728453702237231897123542263782952679541502117022635978981254572669419143483308406956633687744966222155342868391698366664212389316812827034748851540026192698912260192683838876586967680873508660069100960803955609355298087708333717245566651515552950507305324439434217962726259638480853851951716905420167759026079398273392272511319949837002573839767934899314597415718538171017375836367087742061799918515969464585382939785937317127500299361088693335889363027627390959487045942101089254823616657012888648754983717545079183501787243703644139952864480608865918842009896926447873438669376385441611265859378718682709508625278114756284848439886533060193344835514034187439226974731376671151530894747101539425259374962625513396480630580611542057170453830096219751835954626941320518635823635702529126126634051731179492550207688025812484204284478191495113941593650082387486227519849868993801243119004612991947809591826252834505900741266891927455655273038719713364142235609706742302376987153751793240579112189927636958002289718423664823755093545502604639152412468844560619452980157190792178481345604585092933578931545048655999575003785919622913447675808155874460105403020212028765180059034620686950507145136299199042640345331097604943562228364793397146346302094266206136888722262479922003630451138011873774715642207022396539002608066939853072344667097031664908551244830168253787298480274915419017780271674950416774672739644149 950596245330188220536799876499773872115661857591129137739830908511971059318150130036657787415525869865563943876279120241132871427126907613951507592157014041290365022491775274843561175893914924654458068462287688694657997870779067994112201127391312369457174172353617326265174472939864357988734012495622608942283696340086067534996666226440431253537722427184119562291201264975434967439870352740353953889912858870414991192499943583779389726296332175493791794485353017535529813281572276767926248369468564409416677109712998896721616725025937598347808978547121139622752570916200314310419554780029886881571103826999208124760144242680094800510646465594969983208328616749110964281172858982804689249110266729974686712809708101182171731149979147699579468765014349910777271220380212654962192739186489800712004416829736808486466434955123942761517013058992965229814768339808696192729796126325730711695894231185926860248384973415259569464538020395880142647621330252278304257899536222984080209440626799342820846550958918742266791790104817127066661183764911041219974556645892131142887051582076453239284338099553245164349346163909258589997642437807235458613674834916732796254432757102057022613252612053908330258494713915336176172557903170493508877356136408214103893232245222944620688257305143060353194516707236545373090738894857463960124718630876371822768178988403376058814268977299139479795089663500731664844470105849965482484269788937756141467007801689717695687866442071564820623424865511635955723417942930494353190705694752097883074313194083896197625704816683106801431069383557222425145946056354612155097183550953279005299930257398625958249673052211807220684643069956356407668245361625227983732584972361588491896390852616624570222877649442388951649621395327001455179120653342487789853074006266181410456795002235851913886550443212611641868783612508332088356919706785471966425674318898678786994964165689166006569868001273934896957717162794194009734110206650694137450587259262665920266658593874167639563045764617330012912738345156191061933657474506625330673163357465613438683544435917162917355327654001982062232941866425390581163776760909780356526226875006304329855386613731998465152952270902225524347595519751641801676980604602334484328897002873094560474688443095199564385872490600411731587122505058412245477715134453106473711952948597738528852617397191002375256581481310910475701638150691993141746405341527035565288436157247748961632668423667668512500161862695882090448431220344533550166708534238898750497052199378557618223844289710311788448378181302187606434991972658836507702647009147926282225840358414307648462628081402039984839021824979333266746822149876310118355509861022158496781188037211800738908952088336375498794849827216006462469294071990859101965094628636064171757299085921565472987158025208905004227457615002671794874844857340180180244771214538658154994650072322782572658637425317592211767288438575347076966405410887418000327156644568679780596631472771760099100932100897910810680078488639783434635219287817130062799357654343888918547236583393321316660092117397786463865898123107148642979466166896799333413916023004801462588031080932936223191735296747989541907126580826091450336633277502788150130235871232155514075265306166257910122466382325370828576844906034615712832552819419294303500045716026670841520951260052412263914198204051634232294620712395627106361507366885938122118181731237622228979809851264341540193306843532625542661319567793645017060141195489985887752205271980363532608368382595815427022257349395516475268791089165659162795742737585896066888044677045417348204915334485303260180548809857874108645929793364484960110855361569080608837541961524465864666500291614669506743099419165819707237140268405196358675394481414524537368343745786585049662106044734145058179659081539972337254653755625581781886778725738684783569834868452307901962329667263399412360165460480587456186952062521628904623867991285112595465620539876802128903677655745936084216773136436278841015494985909578971559934952992821528247712775823984447114662064106408296729951282186713549430477536417887493907127460494654867045127 1538097034522278050361513486973635335709963985799770025961948159110405059853910842228137604658558896424569700173106446096519112199623956594815649282158464266642353031914538940250119513940727727576018982110451232676446383665447630620192592523532946025566187707926244048482075893467899045415902996047940071179884441240524202187886414131302051585804870709881849651612993106789844017206725739185633914549751196934041731870089497988260168106609307906643665400368515030317500630431222445543803827801631012528388583231776706657961653255038512462119459550332373406243468287485212679867232852085622026419176295112391704606821483493751320260457741136306377116346089212210334782765911282958630920638582088239059230529920337727203545541030701924307862830908227762824974427232670142631279475934802037539702381245523088705337881779245988098504134386043465287618189589945884286999559173211567423458425195874219579136590820010275180876368346407589664297389076632909954860139732438008266584871212446941876877372385476316654126048671203615779125544193722406678354073972819923886845861893256547433297887323516781330761765620979691063249677258536551197709748167006313027098445200742177828548558332834786541694893572786983714706080515931089657673845227966626653241839071232965759109613968505746264169052518544337279866528501050137575680461216854429744848839227186990604548874631847424136434652872109610263181739247363952036908016766926746461828858098198034990984012393100694890051176356322038758942316182494440649191545880273012292391558625349772074773386104345315026438946004497413900703958225915547770068307838197108848175955680658027269675073038358584351486473315514327200444133329352865253696178501385784759075322298940150109497247958130063313417086884038735193767386422759635735319995466578227757675484946685756879289554579898914065383995690563100717456696683468807419587983621347872005180061985679283961729726789296891719365302179792445675845641434534049196502676405575998749002419912232358663840394271698745688468994066441243329178284333146540548695529614215244923493709288710122331398710732498693617436934116789606549764395017235272770107050616777333465609628441571519836345998066397851098337972727864816658116713521543708949092717709629776733315899735828682607255881500913777216950647988529562605405069067479899816706884458828089739321243102445549631287209994533897093022639634401173639893964287678574980202590940282932950083093319050134882760659538792412305275681275751495869924132945327392073018697723308517046727275355954498680295975664373914008218868264943116066746086903746890209192051927193903360143562578897171437694219700341286089633008423391419299234043331272443662319638726373516224390637405790573607395918392090998959142010796189013495080946349201305483315240607492878199160732124247364247872619155981666884184191657684374929031784797407237570415187333911199369540339510933977661312728092394184702375054113744604663566978672197519187085921070906989722825360570581751762762396983908807542460714617561209402574119307491346462758315171482707918732378630288415162300232985865168948561495435631482182273199853340132301761949119774268825586219362687707476587849227670080915066993646166151543133847780950415657301318968950306210774603075248244212838473771353908054382208938261030560162878764398736179466799066016337260703800731264244979067808654899834854081092884038037469016865283270662881603942435364660822170773918385589795996491415787545480971687082516008621711387907801106490166660099562088365634710283161879720759746982584279600756445825125072123586737913670846660467209528326433112852006801644363774849912821720820140233149575074933222844447248703826842851820252084855248618933027056123821996955563933228951452220897086053676949837188306406038029819296836912626403784244174473551268799702411625156785672698348652132459377990742912413304982541696028579471394786147431094601323251261564269249954965596228674823830413937023148430997943861882824806479253058439909292153506859684294613766957349531824136314652628896329114211693729014959541560119535974012029705392955435667765582077877269327606689276 2488693279852466270898313363473409207825625843390899163701779067622376119172060972264795392074084766290133644049385566337651983626750864208767156874315478307932718054406314215093680689834642652230477050572738921371104381536226698614304793650924258395023361880279861374747250366407763403404637008543562680122168137580610269722883080357742482839342593137065969213904194371765278984646596091925987868439664055804456723062589441572039557832905640082137457194853868047853030443712794722311730076171099576937805260341489705554683269980064450060467268528879494545866220858401412994177652406865651913300747398939390912731581627736431415060968387601901347099554417828959445747047084141941435609887692354969033917242730045828385717272180681072007442299673242112735751698453050355286241668673988527340414385662352825513824348214201112041265651399102458252848004358285692983192288969337893154170121090105405505996839204983690440445832884427985544440036697963162233164397631974231250665080653073741219698218936435235396392840461308432906192205377487317719574048529465816017988748944838623886537171661616334575926114967143600321839674900974358433168361841841229759894699633499279885571171585446840450025152067500899050882253073834260151182722584103034867345732303478188703730302225810889324522247035251573825239619239944995039640585935485306116671607406175393980607688900824723275914447961773110994846583717469802002390501036715684217970325105999724708679700259542766454871799781187550394898039600437371143544736585967764390274632938543855970971011809161998133240377073880971123129104171971902382223405021748062127181255610915425895633322711410796158707157958584283556851801574714490481679911086358146347567218689792766734067470835779505702368736505434062195222565543412978223109848540584493939085941741687992731203441130342126677025864474175609049545053603175592891554409295666770683967056949844973127736296657298165654262259896955239869855375544740699890640126992835261414922686570826232831479957317463363018481906804786399520240217990621047174026202777572710536932392833146039494316066060152695599499167058656031940345558793996182550463576843652339769939483828185251834811151018668753323862320323384568299918390502148311283577046606632649827876374424271777806820267373404377628682235111034621017650546782614352923180596411776687477850095719842740633662466576015208003498341272551865633035710693020102015767879376440180699044725987473802551273159700655108187366129706971840403474299653861630971769194775507895604345499200244208992084424042555216195825303256915774903253789550756038135474277767552317667792025206978573477679058722166265422899755245541295609352398841133465820816419914410728025129546357878909982894713241918214965604480090261004354182911443829941547486997906578799764633719282272573152876846613596669555979066502541715109212029568621776228570181983983522152112998148359295253524495380832760049452020519155492081567305828842087866866517702379761482924461502682649673573077062397447325895349836849026532636918665145690351676862408066101240049038722405812948764098883988276097204474901798378981606613769363137103224537150855201761809411097984455466129756354250907006517330279443654331283978016821647812815394234256472468684725541630569583667050616259942670095041491080449854466378810114762850308320017276389672967714929468296613300103275612230481187454391404923407138983465001900503832922245215925163710967225229122421539152735355339125988747223711498607599140113073086853699268467944684181061732540511275237235015773673445259919241567862658019653625958347892077815414443660918416112187350454221648958558751514184625193260430436502303453284790665351308716486752376469918125676126475289641704192704201634147810896291567468201487205532052192623079481402881646771461963903256013523606054356167250738567559477074390817242947825611364721206944871363291978883754951607911682057510203324085898154578833587513787419296034476899950559901621517628760890696026194876188133169001845593873585326892302524645664562365404720313561326355793121367838290070818160725579135870491853555259489205337763982473734403 4026790314374744321259826850447044543535589829190669189663727226732781179025971814492932996732643662714703344222492012434171095826374820803582806156473942574575071086320853155343800203775370379806496032683190154047550765201674329234497386174457204420589549588206105423229326259875662448820540004591502751302052578821134471910769494489044534425147463846947818865517187478555123001853321831111621782989415252738498454932678939560299725939514947988781122595222383078170531074144017167855533903972730589466193843573266412212644923235102962522586728079211867952109689145886625674044885258951273939719923694051782617338403111230182735321426128738207724215900507041169780529812995424900066530526274443208093147772650383555589262813211382996315305130581469875560726125685720497917521144608790564880116766907875914219162229993447100139769785785145923540466193948231577270191848142549460577628546285979625085133430024993965621322201230835575208737425774596072188024537364412239517249951865520683096575591321911552050518889132512048685317749571209724397928122502285739904834610838095171319835058985133115906687880588123291385089352159510909630878110008847542786993144834241457714119729918281626991720045640287882765588333589765349808856567812069661520587571374711154462839916194316635588691299553795911105106147740995132615321047152339735861520446633362384585156563532672147412349100833882721258028322964833754039298517803642430679799183204197759699663712652643461344922976137509589153840355782931811792736282466240776682666191563893628045744397913507313159679323078378385023833062397887450152291712859945170975357211291573453165308395749769380510193631274098610757295934904067355735376089587743931106642540988732916843564718793909569015785823389472797388989951966172613958429844007162721696761426688373749610492995710241040742409860164738709767001750286644400311142392917014642689147118935524257089466023446595057373627562076747685545701016979274749087142803398411260163925106483058591495320351589162108706950900871227642849418502323767587722721732391787955460426102121856161825714776792651389216936101175445638490109953811231455320570627460429673235549112269756771671157149085066604422200293051249384958035104023692020232669764316262426561192274160100460414076148874318154845632883099564183623055615850094252739887480870604777217171338822288290264949676570549105096520980906953039272929674980698676995970470316723113649127819306523937434033819239447520492641810982723336273398432599189023044787892498816412651072774556198707672380399706929130204044171521858890969999876454502928344666329694746221027935587785875744915373278422507551512532763668932714908586442172405909483136058640784244249520183763669483590290631634009213924746490886450017849263857793031247030802238514071677963794451406519937400749465769578336440163258160226090038243814366029013798985369317894721521653337659293272914837223473226944751827074632900096745134284501039607053952438773286751205749822073264401436335474046306254868356064454410235935211037972637036814435177579548809158781417352694228111064331869853445045765970337429861163879813622703269404986486270629470587395630460672162942717605581920987921584323925609805874417825797772063470116713203206778679459328616878813796505524387613850724477250429341480414629257574513499029775119083292726933671515660732541592367911930512065335268547275442960876155848748272563385436864680580585985881741143614712217535644151142884606960434306227507229310528020874193343865928567506772546696442823673154957994762756257724860675687392987730143240363872018738738282623971987351528964194152098585423808471573235004765426410005511435526297732039369178151568307004461325166744609153531413463701148268134863099263117188653521878437042720358598661109300699718559397865748147430487074874854058578875895353232175423042949702325816354277134511927413059320558355149737755342776658833454585650167404533799183742462243126448413923098990899565379511585697175279253316097425322508705278168199093849652056469800877018033616642675538049522136327379850190354134737608841263447289223025071283215033310080423679 6515483594227210592158140213920453751361215672581568353365506294355157298198032786757728388806728429004836988271877578771823079453125685012349963030789420882507789140727167370437480893610013032036973083255929075418655146737901027848802179825381462815612911468485966797976576626283425852225177013135065431424220716401744741633652574846787017264490056984013788079421381850320401986499917923037609651429079308542955177995268381132339283772420588070918579790076251126023561517856811890167263980143830166403999103914756117767328193215167412583053996608091362497975910004288038668222537665816925853020671092991173530069984738966614150382394516340109071315454924870129226276860079566841502140413966798177127065015380429383974980085392064068322747430254711988296477824138770853203762813282779092220531152570228739732986578207648212181035437184248381793314198306517270253384137111887353731798667376085030591130269229977656061768034115263560753177462472559234421188934996386470767915032518594424316273810258346787446911729593820481591509954948697042117502171031751555922823359782933795206372230646749450482613995555266891706929027060485268064046471850688772546887844467740737599690901503728467441745197707788781816470586663599609960039290396172696387933303678189343166570218420127524913213546589047484930345766980940127654961633087825041978192054039537778565764252433496870688263548795655832252874906682303556041689018840358114897769508310197484408343412912186227799794775918697139548738395383369182936281019052208541072940824502437484016715409722669311292919700152259356146962166569859352534515117881693233102538466902488879060941718461180176668900789232682894314147736478781846217056000674102077454209759678525683577632189629689074718154559894906859584212517509585592181539692547747215635847368430061742341696436840583167419435724638914318816546803889819993202696802212681413373114175885369230217202320103893223027889821973702925415556392524015448977782930391246521578847793053884824326800308906625471725432807676014042369658720314388634896747935169360665997358494955002201320030842852804084816435268234101670430455512605227637871034204304082013005488596097942023505968300103735357746062613374633953257953494525840331516246810922895076389068648584372238220896416247722532474315118210598804640706162632708605663068077282381464695021434542131030898612143146564313100019322179504904905965385673718779011738349693163294348172545293997739985306978940102628680007940689695176676872732253050654016557087274324308255418273756442916664464823749484346399869474778774665873253666005258966480140607462298538695727612992854318393052337144673816935432518914474010517938841013539375303952478555194972274649730121548393573185344875927428890350970976711022203446769236861188578289236420650477728428170688792510553626312383175005996142324662767805147455843934650790027555551301878243673766335807652568168361718854059704801279095152055588826701590329881694920818956475666512688674283575947051109908551108703702194251414291259262467847956637782727166112039987614910398830456075100041059828430753841721142970445239228240145486427392066406508211023421484672349205041558656618408847361936171894928101654205053460205701803814593711282932107437463251148144054158509383380172575003873793394572291920421930269095636384628261880083439100569116606639230590200838205668015206124295816456001666847884283294832213274463889269786925796511149592708368843834639074796886498223732949181529939005836909668133947280197565197035451456727758175364184430195229778529931170120594928960850388162893989830366630816098038415648269945076381502552807072767030324749189390619670435947937829751016830034529460284793756837795084870285280006703105405340972336497247074013480220990079924248252410791284188782102600206169327712050686500598480908414746126633920791652497433766945273641965641855718872284422612537238904689363254458716343657909736065559112632771256249662422482890823049550801186897140346587871305448192285558491510550872041784420741954581115465439383438336956236864405315257695218140261172295463187977133939142778284560488552797292554158082 10542273908601954913417967064367498294896805501772237543029233521087938477224004601250661385539372091719540332494369591205994175279500505815932769187263363457082860227048020525781281097385383411843469115939119229466205911939575357083299565999838667236202461056692072221205902886159088301045717017726568182726273295222879213544422069335831551689637520830961606944938569328875524988353239754149231434418494561281453632927947320692639009711935536059699702385298634204194092592000829058022797884116560755870192947488022529979973116450270375105640724687303230450085599150174664342267422924768199792740594787042956147408387850196796885703820645078316795531355431911299006806673074991741568670940241241385220212788030812939564242898603447064638052560836181863857203949824491351121283957891569657100647919478104653952148808201095312320805222969394305333780392254748847523575985254436814309427213662064655676263699254971621683090235346099135961914888247155306609213472360798710285164984384115107412849401580258339497430618726332530276827704519906766515430293534037295827657970621028966526207289631882566389301876143390183092018379219996177694924581859536315333880989301982195313810631422010094433465243348076664582058920253364959768895858208242357908520875052900497629410134614444160501904846142843396035451914721935260270282680240164777839712500672900163150920815966169018100612649629538553510903229647137310080987536644000545577568691514395244108007125564829689144717752056206728702578751166300994729017301518449317755607016066331112062459807636176624452599023230637741170795228967746802686806830741638404077895678194062332226250114210949557179094420506781505071443671382849201952432090261846008560852300667258600421196908423598643733940383284379656973202469475758206139969536554909937332608795118435491952189432550824208161845584803653028583548554176464393513839195129696056062261294820893487306668343550488280401517384050450610961257409503290198064925733789657781742772899536943415822120660495787580432383708547241685219077222638156222619469667561148621457784597076858363145745619645455474033371369409547308920565466416459093191604831764511686241037708367698795177125449188801962168262906425883338215988598549532351748916575239157502950260922744472698634972565122040687319948001310162988263761778482802858402955558152986241912192773364419321163561819717113418196540303086457944178895060654417456007708820009886407997300364600521677419340798179550149172649751672418512950271164852239677061344979773140720906491048312641624336845223456413476603913646300633556843253542459761894824806937157044759723663200778730063308425615567181368447965282583406725426525283185945284787088537195979216524169913885217877163475976509936642815097461863161040052710627029892435609091474934722155692222622095312447954375778152753342436305582822993895185699658300679803826540920619772965195419673466945841083198942327286649553106169784955685571835874830921301974771395248953263894424105649211452546244025155009957062607478745669498403058994610419763980547217567163719557611873427794269170892762623695166188736415576658101309366241014769675913197509692114142936600672019328781351564967518092882849685978130663266080119629612365774753048820640670029827603382775388197176678099391487644119049542349763410683724893959141760909858558183861843540310746250933379798035927136636361151724548942290845159450680961547027274706651606377097135474449512458546856610441037641108339909615836166513066220196154821473541431125602958229274454618187857585153224541286188894981270616353838118306134353702385369554380662387635621474040575654651392496575501897984194156046080441459373356048748869403707611853100761299120251614894433538116569106489240471360346337130668874511958361290972769389945298082802318765567193460198116987673355762473325002529274023827920476716647599458319918990230799697481933095594054427118597235375177112495386232963646431954998711905548931304746148541700752276651932285046584701508382983814019256150209983514591606637585266316401471953598912402454837394022597990451526430200796818397386432001309631771767830602634581761 17057757502829165505576107278287952046258021174353805896394739815443095775422037388008389774346100520724377320766247169977817254732626190828282732218052784339590649367775187896218761990995396443880442199195048304884861058677476384932101745825220130051815372525178039019182479512442514153270894030861633614150494011624623955178074644182618568954127577814975395024359951179195926974853157677186841085847573869824408810923215701824978293484356124130618282175374885330217654109857640948190061864260390922274192051402778647747301309665437787688694721295394592948061509154462703010489960590585125645761265880034129677478372589163411036086215161418425866846810356781428233083533154558583070811354208039562347277803411242323539222983995511132960799991090893852153681773963262204325046771174348749321179072048333393685135386408743524501840660153642687127094590561266117776960122366324168041225881038149686267393968484949277744858269461362696715092350719714541030402407357185181053080016902709531729123211838605126944342348320153011868337659468603808632932464565788851750481330403962761732579520278632016871915871698657074798947406280481445758971053710225087880768833769722932913501532925738561875210441055865446398529506916964569728935148604415054296454178731089840795980353034571685415118392731890880965797681702875387925244313327989819817904554712437941716685068399665888788876198425194385763778136329440866122676555484358660475338199824592728516350538477015916944512527974903868251317146549670177665298320570657858828547840568768596079175217358845935745518723382897097317757395537606155221321948623331637180434145096551211287191832672129733847995209739464399385591407861631048169488090935948086015062060345784283998829098053287718452094943179286516557414986985343798321509229102657152968456163548497234293885869391407375581281309442567347400095358066284386716535997342377469435375470706262717523870663654381503429407206024153536376813802027305647042708664180904303321620692590828240148920969402413052157816516223255727588735942952544857516217602730509287455143092031860564465776462498259558849806637643648979351020979021686731062639036068593699246526304465640818683093749292537319914325519800517291473942093075372683265163386162052579339329571328844936855868981369763219794263119520761792904467941115511464066023635435367706607214207906550352062173962863677731296559625265962849084860446328136235019447169703049702345472909894519417404647777119652777852657692362113689627143897105290331077902067047465029161909322069084541001310047205897823003783121079408222716507208465020861304947544619343298419390813771584381701477952711855185383397801497880735944464124199484660091041015751174188798819644006766270736661321385864071705448432839872062256157396266753624187380711355372633420650792784104958508002090535928348432447907485761700333155502235330593854096471921651208869186009274598409251560661181346354354385264937011274398537465160802996895590351724619776583098389225158503656152576263713659256858893036928760870906951248202491146659257554778629956442329502894310230721193377536887331706860815886341454852668406836082421408533113598815285805713577985399760412329454264777777787632335716726285821433426959486035980928078133280975747436933897580556850674395361437513621834270185340952820530343770022789941997284430960146949976841134218003703942342760656968180550609138729442745513174821491163976438532173608285067157881302381495685237924139332072858797366105518903129864288768753738996322638409686002212793552042015348454319816120065101865545314688506469028343532752000370478700803283891419116957157204199569342532222733383546665750877407311185799765699438237072137894518136915336485179713544819674511830212807857593411144149095502038285539225180181229486864904918971736521172248803488271836670888071129163194815480417910483592873100285560845949671981904545632832959116481851694091520770405122298522759064726254961567971414195569198092501939173792278872917890149700668542305529807022251767935333561218700731755784910290555149266860152651717816130712698725663984795531325574779594192260320627895188739843 27600031411431120418994074342655450341154826676126043439423973336531034252646041989259051159885472612443917653260616761183811430012126696644215501405316147796673509594823208422000043088380779855723911315134167534351066970617051742015401311825058797288017833581870111240388382398601602454316611048588201796876767306847503168722496713518450120643765098645937001969298520508071451963206397431336072520266068431105862443851163022517617303196291660190317984560673519534411746701858470006212859748376951678144384998890801177727274426115708162794335445982697823398147108304637367352757383515353325438501860667077085824886760439360207921790035806496742662378165788692727239890206229550324639482294449280947567490591442055263103465882598958197598852551927075716010885723787753555446330729065918406421826991526438047637284194609838836822645883123036992460874982816014965300536107620760982350653094700214341943657667739920899427948504807461832677007238966869847639615879717983891338245001286824639141972613418863466441772967046485542145165363988510575148362758099826147578139301024991728258786809910514583261217747842047257890965785500477623453895635569761403214649823071705128227312164347748656308675684403942110980588427170329529497831006812657412204975053783990338425390487649015845917023238874734277001249596424810648195526993568154597657617055385338104867605884365834906889488848054732939274681365976578176203664092128359206052906891338987972624357664041845606089230280031110596953895897715971172394315622089107176584154856635099708141635024995022560198117746613534838488552624505352957908128779364970041258329823290613543513441946883079291027089630246245904457035079244480250121920181197794094575914361013042884420026006476886362186035326463666173530617456461102004461478765657567090301064958666932726246075301942231583743126894246220375983643912242748780230375192472073525497636765527156204830539007204869783830924590074604147338071211530595845107634397970562085064393592127771655971041629898200632590200224770497412807813165590701080135687270291657908912927689108718927611522082143715032883178007053196288271586445438145824254243867833105385487564012833339613860219198481339282082588426226400629689930691624905035014079961401210082289590494073317635490841546491803907114211120830924781168229719598314322468979193588353948519406981270969673225735782580791149493099928352420793263755506982553691027155989712936110342773274495041094823988575299202927025307444034532202577415061957530008139247046820605750068400370381726165338155270662311299607696767380041779559760750924782756129754481776388058143054014550314445009903568279036553831363084081287461370989407385429944878129552947153405322989557891984147900137297895800714520545894703033102308868023296646059796472186290094789112873414879417406462377868688681690868753490308755595518855160536010397680637392541424174064605682741544250334759603508633003907491434721966959970373339991724298870361746973573040477522494874369956202396601418723616319466371782598259273965945858622255127206475121942349514054202930688579401613956001232053520443276392544442764218909421605758334606042805712958222406385597314181111977296972357660627473610466379992365941063039325260789029748718803310803350819709285777733528773786849081632671376619948751636545424302911783699800555468292803687260723092067597801739869479397018119905099551429574602196194136368518438683090138550705420541607393760928352295678961780440412768413202272031969350060443590227280427448241367915276667411739899600501678861102308960083136161668526624775162697235137369924859363190919512893157532811855592065918034120717577702711831318866684541848514568841944683990995279436035588100074147082936243618319453279217939748274817970013996646830197949571174784947707237737303714632446920475945192433361396131692468839308338387200240472558605479836180471679386478728427013543600448929466697882900508531486405496681253673473520345500315346634202691450444211157964474851209051526119549063172461751449925167856285998072186382244154061669314990045740414121164225155864781613928712006780903824032088458497823321604 44657788914260285924570181620943402387412847850479849335818713151974130028068079377267440934231573133168294974026863931161628684744752887472498233623368932136264158962598396318218805079376176299604353514329215839235928029294528126947503057650278927339833206107048150259570861911044116607587505079449835411027261318472127123900571357701068689597892676460912396993658471687267378938059555108522913606113642300930271254774378724342595596680647784320936266736048404864629400811716110954402921612637342600418577050293579825474575735781145950483030167278092416346208617459100070363247344105938451084263126547111215502365133028523618957876250967915168529224976145474155472973739384108907710293648657320509914768394853297586642688866594469330559652543017969568164567497751015759771377500240267155743006063574771441322419581018582361324486543276679679587969573377281083077496229987085150391878975738364028211051636224870177172806774268824529392099589686584388670018287075169072391325018189534170871095825257468593386115315366638554013503023457114383781295222665614999328620631428954489991366330189146600133133619540704332689913191780959069212866689279986491095418656841428061140813697273487218183886125459807557379117934087294099226766155417072466501429232515080179221370840683587531332141631606625157967047278127686036120771306896144417475521610097776046584290952765500795678365046479927325038459502306019042326340647612717866528245091163580701140708202518861523033742808006014465205213044265641350059613942659765035412702697203868304220810242353868495943636469996431935806310020042959113129450727988301678438763968387164754800633779555209024875084839985710303842626487106111298291408272133742180590976421358827168418855104530174080638130269642952690088032443446445802782987994760224243269521122215429960539961171333638959324408203688787723383739270309033166946911189814450994933012236233418922354409670859251287260331796098757683714885013557901492150343062151466388386014284718599896119962599300613684748016740993753140396549108543245937651904873022167196368070781140579492077298544641974591732984644696845267622607424459832555316882903901699084734090317298980432543312947773876601996913946026917921163872784700277718279243347563262661628920065402162572346710527861567126908474240351686574072697660713825786535002829023721655126621189177520025287909745444468880789659553618383642348615953310689926046603159415985812688246184389560512228636352418855704877965136396645892204558959062820339217149113868070779230309692450810706339465317868209122611479888459450002276267959389803617434702026395731356562444828321898826711381520990891739214760885579168197315453531584914604969170568698327594121809201898750418636798619281664786225994327542905164565025419563399683983852897645467422533524207663522364970379959224610039301201397794517295852010662771340991534733864463075382933791692016142659586320264689979358261876699658978234368910805152527295765952098698192817060620884099528459858549177682437275576325264819527020144872897106824746273865732676720979470496532433582889632335149378768940852150137208430784219071577828441840756014575919311773508212099175299580872389626426622438405261242802096718651762496466284746825010676796936591779098256643183358290379448182210519146293210890134092589365954646681806489742552752723763834210699933201815805443811822157675088085650160568304044941707311190009602659528670724313705608765275063309847980916885919772485627210568377550872479924732358981019423770879777601278880205291941615850133180918429025185001706983215131244191040767889370295338063994203404312274489969059791635260566343450961249377582196273995727648280268280181756128889797572950924585253860627755918130149666087075533159418967065516034932369423129752404271812612156709040235804695723964217029104249467260855663654788756297683833345658891040682130143661291024361259972660082300623558218653305630830009164561407508635041491759695884544726704630624236490030882365000909720068425078870194713519385258729074986729827971292534709210936175142697458230251876923881528766409460037581560498016292409086393012061447 72257820325691406343564255963598852728567674526605892775242686488505164280714121366526492094117045745612212627287480692345440114756879584116713735028685079932937668557421604740218848167756956155328264829463383373586994999911579868962904369475337724627851039688918261499959244309645719061904116128038037207904028625319630292623068071219518810241657775106849398962956992195338830901265952539858986126379710732036133698625541746860212899876939444511254251296721924399041147513574580960615781361014294278562962049184381003201850161896854113277365613260790239744355725763737437716004727621291776522764987214188301327251893467883826879666286774411911191603141934166882712863945613659232349775943106601457482258986295352849746154749193427528158505094945045284175453221538769315217708229306185562164833055101209488959703775628421198147132426399716672048844556193296048378032337607846132742532070438578370154709303964791076600755279076286362069106828653454236309634166793152963729570019476358810013068438676332059827888282413124096158668387445624958929657980765441146906759932453946218250153140099661183394351367382751590580878977281436692666762324849747894310068479913133189368125861621235874492561809863749668359706361257623628724597162229729878706404286299070517646761328332603377249164870481359434968296874552496684316298300464299015133138665483114151451896837131335702567853894534660264313140868282597218530004739741077072581151982502568673765065866560707129122973088037125062159108941981612522453929564748872211996857553838968012362445267348891056141754216609966774294862644548312071037579507353271719697093791677778298314075726438288315902174470231956208299661566350591548413328453331536275166890782371870052838881111007060442824165596106618863618649899907547807244466760417791333570586080882362686786036473275870543067535097935008099367383182551781947177286382286524520430649001760575127184948678064121071091256386173361831052956225088497337257977460122028473450407876846371552091004229198814317338216965764250553204362274133947017787592143313825105280998470249298419688820626785689624616162651750041555894193869897978379571126771734804470221654330132320046403532146255215884079502372253318550853803476325182753293323308964472743918510559475480207837552074353371034022685361182611355240927380312140109003982022612075603646028170448489698513645528025260030282759481970804435612371460293243617073759149128921923031019458884601607052624927718058631903272580431178094781974021020350347356396160688676529298710062832536871677620588530520422219176655839491781836028710314586373564456508172119414705498842872213271721285089269928293046123969660455658686442938970344549847300121645480999444798759790734566536935917177465500746540222245938266873893442860045743780325083935562211646397622542939771432757827913291730169954888103272891370865823307351389215371257004499556998397374757686909921079868198612362169368134380945194339284145144251594636313845671765857538143378973898416060945779101160891895791636602125279418838842965447001401072207798663328984550735364271469033949105380000994372593413600975226983290487250047599090620618725024731730618484772613761984366923398980099032734853268476711017703559505610007614040425515739902582449076352469136023908221969059600778964587510082844225911378949593590189543108221016567521471423025269413607183681301554693207990749711997878647137901447558528041342618809275019126150372668824238200276595847700212898395623770649582841829985175949208299851219121145516555547617031841216351812042020737985268137868651741756019353738003026740220197427185122917205432022780915383701178600464168538952089413515140680269496794837122126440119885077008986512685328007710692161748469119366293472907693785035530031579199621079323579056760319394446343950437142644440162221537610863392548132494097094684884073818217496520518310615340677503089686986203682749553024916536206139361495570058088762308515012105196199891360907322074680701188846839852118771594544627933367175270835183896931272727900157674778863272605490132743198644373041149037393548023388749588341401840324497544890835383051 116915609239951692268134437584542255115980522377085742111061399640479294308782200743793933028348618878780507601314344623507068799501632471589211968652054012069201827520020001058437653247133132454932618343792599212822923029206107995910407427125616651967684245795966411759530106220689835669491621207487872618931289943791757416523639428920587499839550451567761795956615463882606209839325507648381899732493353032966404953399920471202808496557587228832190518032770329263670548325290691915018702973651636878981539099477960828676425897678000063760395780538882656090564343222837508079252071727230227607028113761299516829617026496407445837542537742327079720828118079641038185837684997768140060069591763921967397027381148650436388843615787896858718157637963014852340020719289785074989085729546452717907839118675980930282123356647003559471618969676396351636814129570577131455528567594931283134411046176942398365760940189661253773562053345110891461206418340038624979652453868322036120895037665892980884164263933800653214003597779762650172171410902739342710953203431056146235380563882900708241519470288807783527484986923455923270792169062395761879629014129734385405487136754561250508939558894723092676447935323557225738824295344917727951363317646802345207833518814150696868132169016190908581306502087984592935344152680182720437069607360443432608660275580890198036187789896836498246218941014587589351600370588616260856345387353794939109397073666149374905774069079568652156715896043139527364321986247253872513543507408637247409560251042836316583255509702759552085390686606398710101172664591271184167030235341573398135857760064943053114709505993497340777259310217666512142288053456702846704736725465278455757867203730697221257736215537234523462295865749571553706682343353993610027454755178015576840107203097792647325997644609509502391943301623795822751122452860815114124197572100975515363661237993994049539358348923372358351588182272119514767841238646398829408320522273494861836422161564971448210966828499428002086233706758003693600911382677192955439497016335992301649069251389877911766119171427664216349147296446886823516801294357810934888009675636503554955744647431300478946845094029092486076416318280236472017676261025460471572566656527735405547430624877642780184262602214938160931159601534297929313625041025965895538984851635797258772649359626009723801555273469728911072419035589188077960987413603933543120362308544907735719265643274162119281261280136914336781237716827823986986532980083170686573545274556747308529019755283347578017085906398729544830656544298941784112296669704389990999158534567850771267943671194112098432666610260820032260884855239623856001896470555259154816470690343808593566607961689484985173734536459130286972534549788843431438918862423445427764177981581029634179921830206462136403137787137901769471156285897790187222876486078692380750105121467574939932189066773829569507400132888591720431244834039923428708194950296778890402265944369958674598764263073426875919494956783598167472116901421652299563711740072271747674937940475384308455047267797854358666284254758769935224743550809406011202362065078489439846635194644336505238830583947913342856756549825602537437996096070573429669466055971894754439051102312676494361547332995652494314287670151270119925257798400216936815277333596275396679285660973740331355682122958471229412627493123712368296076399872566182692079608758748537644002147479999332831759137943887548048257512733619985384022834339027133714309909908308189319274990000923117834427822323782832201945222939167010453139575634956887263544778770916110515535491179326321517706512749975175336439166807619500201466995711414675997145075105402308196248774874581937437270581868338448079878618785453369006067112752101046066511569044209075983328572931551155384186241838368404379250641860330653403796148885850982567907163876387561200440759001968527450946958863765050176583135189511770191504734619496270943556503864892084436087611952698917191219729204853028491662969706803561888790220442626006259457728128967313572483541665275440656874624918072918922314432848787169901899856616906631283847444498 189173429565643098611698693548141107844548196903691634886304086128984458589496322110320425122465664624392720228601825315852508914258512055705925703680739092002139496077441605798656501414890088610260883173255982586409918029117687864873311796600954376595535285484884673259489350530335554731395737335525909826835318569111387709146707500140106310081208226674611194919572456077945040740591460188240885858873063765002538652025462218063021396434526673343444769329492253662711695838865272875634484334665931157544501148662341831878276059574854177037761393799672895834920068986574945795256799348522004129793100975487818156868919964291272717208824516738990912431260013807920898701630611427372409845534870523424879286367444003286134998364981324386876662732908060136515473940828554390206793958852638280072672173777190419241827132275424757618751396076113023685658685763873179833560905202777415876943116615520768520470244154452330374317332421397253530313246993492861289286620661474999850465057142251790897232702610132713041891880192886746330839798348364301640611184196497293142140496336846926491672610388468966921836354306207513851671146343832454546391338979482279715555616667694439877065420515958967169009745187306894098530656602541356675960479876532223914237805113221214514893497348794285830471372569344027903641027232679404753367907824742447741798941064004349488084627028172200814072835549247853664741238871213479386350127094872011690549056168718048670839935640275781279688984080264589523430928228866394967473072157509459406417804881804328945700777051650608227144903216365484396035309139583255204609742694845117832951551742721351428785232431785656679433780449622720441949619807294395118065178796814730924757986102567274096617326544294966286461461856190417325332243261541417271921515595806910410693283980155334112034117885380045459478399558803922118505635412597061301483954387500035794310239754569176724307026987493429442844568445481345820797463734896166666297982395523335286830038411343000301971057698242319424450672522254246805273656811139973227089159649817406930067721639176331454939798213353840965309948196928379410995164255789314459136447371308025177398977563620525350377240284308370155918690533555022871479737350643224865889965492208149465941184353122988021814676568309194953844962716909284554552421338106004542966874247872862418677530074499422315200801494988941355178517559992513573358873897177160194121457673829658750285102158763726333886207854972968684510297259002081768507001103521033929941435245423837827729818115884449694706494929249967049833200138433565948325380018976364563615042739970185973442514066325370153951699530748325307008824900079514688339409525603704663770811989289593011406721480219551710670453636595787719074772034781698312812305283491171544503065516591845826319452749401907835895615051193499641111174001063078593742309386043769965476378472074496930586441531516479428480001087204082600612968420868623047479095441030485038579790041724532136907642047325291980440735884759059367908538023777578982550583037718749076010148274047637439598003162125827700233360138770929597336964410381238185652552328537038937255813369361236969449068720527104841123473224582636470730949339050140687169615477504762053091527828416396943996409348121630338195892120329720704222385910299781041188712545868986868828769194756898877153545983740643019811174425267061504067149584564061339217510206307065685344766289274351957909510612711786248534108581320198282418458109676716556139895084257397619126209122068634389975439355624048553757264959904995721277444286698643282898516773942850735732918364449238723138535530890559037617767271788039153556409226555356266641869942524434636368659951590923949955909876049140241627087904819662478974806537136576098090768665288399562385333250945601728136678981012844541472179471194045951928642982945667451980982093884081718751374342646030540633945067447799729608051725717909553000304677585033252071515970088284327448519274773597892408576044705147263257514334736929064061055626522937532185628286642092435756147155408183855518997959221956315862456237536758243301696941404176174682827549 306089038805594790879833131132683362960528719280777376997365485769463752898278522854114358150814283503173227829916169939359577713760144527295137672332793104071341323597461606857094154662023221065193501517048581799232841058323795860783719223726571028563219531280851085019019456751025390400887358543013782445766608512903145125670346929060693809920758678242372990876187919960551250579916967836622785591366416797968943605425382689265829892992113902175635287362262582926382244164155964790653187308317568036526040248140302660554701957252854240798157174338555551925484412209412453874508871075752231736821214736787334986485946460698718554751362259066070633259378093448959084539315609195512469915126634445392276313748592653722523841980769221245594820370871074988855494660118339465195879688399090997980511292453171349523950488922428317090370365752509375322472815334450311289089472797708699011354162792463166886231184344113584147879385766508144991519665333531486268939074529797035971360094808144771781396966543933366255895477972649396503011209251103644351564387627553439377521060219747634733192080677276750449321341229663437122463315406228216426020353109216665121042753422255690386004979410682059845457680510864119837354951947459084627323797523334569122071323927371911383025666364985194411777874657328620838985179912862125190437515185185880350459216644894547524272416925008699060291776563835443016341609459829740242695514448666950799946129834867423576614004719844433436404880123404116887752914476120267481016579566146706815978055924640645528956286754410160312535589822764194497207973730854439371639978036418515968809311807664404543494738425282997456693090667289232584237673263997241822801904262093186682625189833264495354353542081529489748757327605761971032014586615535027299376270773822487250800487077947981438031762494889547851421701182599744869628088273412175425681526488475551157971477748563226263665375910865787794432750717600860588638702381294996074618504669018197123252199976314448512937886197670321510684379280257940406185039488332928666586175985809708579136973029054243221058969641018057314457244643815202927796458613600249347146123007811580133143624994921004297222334313400856232335008813791494889155998376103696438456622019943555013371809230765768206077278783247355885004564251207213868177462364071900081951725883670121191326889700509146116756074964717852427597553149180591534346287501110703314483766218737394469550745432925845615147487991887305465748014086826068755039981186691720503486709802171146356749573399232027711792401327979511880489744437375350060622049723366355562773577307820957241386185260437468586618309791568357567893680139703370690235880080862859480241502333098186578014683169704536884404990095726074691609321823625129751731167706936599308681047097621480006241282955864044239033402189095269112267459898853265816618795464736150715581499939649436862775508305346048935880133975795803031857802460792051755674045737809375440845734411683206735671905120752167899935692668357226840025439445429878546262323109990496750948088749431945894645270959980186366517614897540864822080515219787249388014617407026478783891008013697742208279652668440447697880023050185173908727045409623570356635671449399516492142630141092891305543742343774124652483562271599840629480184310516717856466046142144383548114430168497230232835668942211872432438667548979429800143549457130244031297118965055603329346913769273684789668648556599334296791621314940183666441292448703850270449804992565586938401199122991752224403261679406880755702487899072006174417019921655530546443295544858961251268409543775560240845048280865734374056934079407539355023404937970032263786945047926742832617434826172861387226491744387588321505706690273031485041919289237622164602337709497475545713906182496757112322920819381248920722821331524699355724791868796650019888145970271642919192133344614557991580903931212849906191186915229679744505039297081304195628019834980368763536131227472515083628305249558175754920484041540490952851276069148943791643356415609406008239688820683624512393622877294875238176889086323928145201553558310807458530272047 495262468371237889491531824680824470805076916184469011883669571898448211487774844964434783273279948127565948058517995255212086628018656583001063376013532196073480819674903212655750656076913309675454384690304564385642759087441483725657031020327525405158754816765735758278508807281360945132283095878539692272601927082014532834817054429200800120001966904916984185795760376038496291320508428024863671450239480562971482257450844907328851289426640575519080056691754836589093940003021237666287671642983499194070541396802644492432978016827708417835918568138228447760404481195987399669765670424274235866614315712275153143354866424989991271960186775805061545690638107256879983240946220622884879760661504968817155600116036657008658840345750545632471483103779135125370968600946893855402673647251729278053183466230361768765777621197853074709121761828622399008131501098323491122650378000486114888297279407983935406701428498565914522196718187905398521832912327024347558225695191272035821825151950396562678629669154066079297787358165536142833851007599467945992175571824050732519661556556594561224864691065745717371157695535870950974134461750060670972411692088698944836598370089950130263070399926641027014467425698171013935885608550000441303284277399866793036309129040593125897919163713779480242249247226672648742626207145541529943805423009928328092258157708898897012357043953180899874364612113083296681082848331043219629045641543538962490495186003585472247453940360120214716093864203668706411183842704986662448489651723656166222395860806444974474657063806060768539680493039129678893243282870437694576249720731263633801760863550385755972279970857068654136126871116911953026187293071291636940867083058907917607383175935831769450970868625824456035218789461952388357346829877076444571297786369629397661493771058103315550065880380269593310900100741403666988133723686009236727165480875975586952281717503132402987972402898359217237277319163082206409436166116191162740916487064541532410082238387657448814908943895912640935135051802512187211458696299472901893675335635627115509204694668230574675998767854371898279767192840743582338791622869389563806282570379119605310542602558541529647599574597709226388253699347346517760635735726746921304346587512151704479312993583888756227891955351556550838849526968116498422729883702177904624918600131542983610004419775008568431956876459706793782776070709173105107705161398287863508605223892567053219835847591689571949033695846860274150258311345828150523546982290212754433428145047594984184479391515116477406498896257229478930322944575808916008947429742342720126388620047791143214828699326762838740570009322316682874902505039782885378575289606466564144012314322387779589421404649924088595075443732321862410684093858406828064543472990427770853184112614213325832560735705265952074929017240288768753378633899916344410361104850779920681057878411723933793361949836862528364360135062999885632470770881660674803153141178839860479425524453407738872579547168077459880376428553116286207933977469207457528812906147709245826958237023479583334243274122106014066750975036311794419417479630168487573667169735563517721146821383058979177728721388967552539003496274767810379457994748673711043805286926904278545234157969509288249540151691895754990679454391929561333702570220816498897654758688013370416943199363254129109989214925952515452249841974246491304210699041694305370514629171362669014691680058548036747578159169311120545325729896260381948859750558380566826589700076822984557527408245060386614378701035030929309459752858977001895694464208354173829341812318801811987001327908224798963983583811756293411674701351195578508579814164525388530428814990451177468986094777763785337182401620436728563132794595092693964016725826374198262693106374785875108099239433442358840459599800394093462195000802718745307653434851742317471869128064155724637943507687260588532214848998660649635799238640947589297505343974666337447699535805068653090984650502246112976036881294263323018177998376277420016912331695671881323828984702251498443995835976091808367912620836516831554039345323860686388503250499714983633213099596 801351507176832680371364955813507833765605635465246388881035057667911964386053367818549141424094231630739175888434165194571664341778801110296201048346325300144822143272364819512844810738936530740647886207353146184875600145765279586440750244054096433721974348046586843297528264032386335533170454421553474718368535594917677960487401358261493929922725583159357176671948295999047541900425395861486457041605897360940425862876227596594681182418754477694715344054017419515476184167177202456940858951301067230596581644942947152987679974080562658634075742476783999685888893405399853544274541500026467603435530449062488129840812885688709826711549034871132178950016200705839067780261829818397349675788139414209431913864629310731182682326519766878066303474650210114226463261065233320598553335650820276033694758683533118289728110120281391799492127581131774330604316432773802411739850798194813899651442200447102292932612842679498670076103954413543513352577660555833827164769721069071793185246758541334460026635697999445553682836138185539336862216850571590343739959451604171897182616776342195958056771743022467820479036765534388096597777156288887398432045197915609957641123512205820649075379337323086859925106209035133773240560497459525930608074923201362158380452967965037280944830078764674654027121884001269581611387058403655134242938195114208442717374353793444536629460878189598934656388676918739697424457790872959871741155992205913290441315838452895824067945079964648152498744327072823298936757181106929929506231289802873038373916731085620003613350560470928852216082861893873390451256601292133947889698767682149770570175358050160515774709282351651592819961784201185610424966335288878763668987321001104290008365769096264805324410707353945783976117067714359389361416492611471870674057143451884912294258136051296988097642875159141162321801924003411857761811959421412152847007364451138110253195251695629251637778809225005031710069880683066998074868497486158815534991733559729533334438363971897327846830093582962445819431082770127617643735787805830560261511621436824088341667697284817897057737495389955594224437484558785266588081482989813153428693386931185443686227553462533944821908911110082620588708161138012649791734102850617742803209532095259492684802814654524433969234134803906723854091219323712290907346066249804706870326015213104801331309475517714548712951424424646210373623858353696642051448899398566823088990111304447689386593024615417564181183838747579616006325432654219278586963476904474936914854849766130541228964914348505118291297585208990810812689013184266069569479465709075689162197355612100456214884587200307327188319113885040442796185179486256068811169687329423624253816655485966167436087819628625479480433828047937102293415682031957816274640697364370161865159711834805838802018661129996313962419429384037865646093798769610226979900315516071396639378351373370656137458142208577300240269038795688664328573342452726558827186916649235920271258865090945608251452288829627780312121221473513047959416914637336075075229257699742577906325772911529228888545082086200433268589933852659241497994849955736961681787142589996505037829396756721386008374057408000236883519324952984288185040158297281400440958376303795037376788110602179555083894035669879643163016663529401963182754531333216754120804830157753965057629531751359342824883868164387884688509523225921104354248498824549401811748136418272344038593827821721537246807725910454842117351211200565615301043007084417097039505069388571495928607368052138838781962714437810065162240758049008070111484130009704375785107863660773238269737452000359204828632092622027785731635430603117863603219102495420794215760038377920301603529603936646724408893364824316884638501285365725449058645115611820427295444084283350653813145615939115952782520619775342382917822134243444663378226720538967491757274034427367557135641031875146523795752929873499541990425556177269042010383271747641643327555640049021854520781729718628059665186543821498773098482417817910969763607764820825115472341117860904452235524796775432880306243713811706792216234410184614533704804058025791091743371643 1296613975548070569862896780494332304570682551649715400764704629566360175873828212782983924697374179758305123946952160449783750969797457693297264424359857496218302962947268032168595466815849840416102270897657710570518359233206763312097781264381621838880729164812322601576037071313747280665453550300093166990970462676932210795304455787462294049924692488076341362467708672037543833220933823886350128491845377923911908120327072503923532471845395053213795400745772256104570124170198440123228530594284566424667123041745591645420657990908271076469994310615012447446293374601387253214040211924300703470049846161337641273195679310678701098671735810676193724640654307962719051021208050441282229436449644383026587513980665967739841522672270312510537786578429345239597431862012127176001226982902549554086878224913894887055505731318134466508613889409754173338735817531097293534390228798680928787948721608431037699634041341245413192272822142318942035185489987580181385390464912341107615010398708937897138656304852065524851470194303721682170713224450039536335915531275654904416844173332936757182921462808768185191636732301405339070732238906349558370843737286614554794239493602155950912145779263964113874392531907206147709126169047459967233892352323068155194689582008558163178863993792544154896276369110673918324237594203945185078048361205042536534975532062692341548986504831370498809021000790002036378507306121916179500786797535744875780936501842038368071521885440084862868592608530741529710120599886093592377995883013459039260769777537530594478270414366531697391896575901023552283694539471729828524139419498945783572331038908435916488054680139420305728946832901113138636612259406580515704536070379909021897391541704928034256295279333178401819194906529666747746708246369687916441971843513081282573788029194154612538163523255428734473221902665407078845895535645430648880012488240426725062534912754828032239610181707584222268987389043765273407511034613677321556451478798101261943416676751629346142755773989495603380954482885282314829102432087278732453936847257063939597546362365515392573056505349761853873991630325302367605379704352379376959711263766050790754228830112004063592421483508819309008842407508484530410427469829597539047149797044246963971997796398543280661861189486360457562703618187440210713637229768427709331788926146756088411335729250526282980669827884131439993149694567526801749756610297686430331694214003871500909222440616304989513214879685607853766264636778482369802133945767117229370342999897361114725708356429464982524790193842438469741135633588993182078516909208051795815550817403403243671043583913963146067758328436201723317698690219269141447386459293795987768266130977873745756857492469552714074555877560369799512977509540438785880818113687792141015049272326048131671362754366395948388891436669672806619024727698685954637341005166295992077697256763097304449499407979071105664600404101795574296799344224113401361980328095489096399696783318498684480830999456907087660688549774589799255893394383844793603888135405408988404864562796391112563131819204192214500019564970164453660915474480124224535348956878153514226184650779815700563737095446375552775887015599720794667643034906970992444246245303208073582610946080111467804624045727565634633842471055458963296885324752149715651775563518171124382000828895005488452814098794116903336938351497472412408564947540518854772326377307780941358730273886369758284824966895221575387443081107460947564160793565464983923629205146211556053456015613112525453160663749468739374621993617026009965805948338363878205126920182462585225271065360225158168812215904378321197406336781798696372183033267020809324644575028829097770589624381700432061591294985261045447771295880458419413075370941986018689988550459069225761912385049381474793242120420169435845112822936962189971031661572281284963626402098583092195079148719135735056010601928534149177789664197124858339515727246413979091027091445117674945505432231964741035702067838084821791276480794095330986675939460492706439301325820112402896231360772867241248218864550328538346255579734045300922208054557740774724956471239 2097965482724903250234261736307840138336288187114961789645739687234272140259881580601533066121468411389044299835386325644355415311576258803593465472706182796363125106219632851681440277554786371156750157105010856755393959378972042898538531508435718272602703512858909444873565335346133616198624004721646641709338998271849888755791857145723787979847418071235698539139656968036591375121359219747836585533451275284852333983203300100518213654264149530908510744799789675620046308337375642580169389545585633655263704686688538798408337964988833735104070053091796447132182268006787106758314753424327171073485376610400129403036492196367410925383284845547325903590670508668558118801469880259679579112237783797236019427845295278471024204998790079388604090053079555353823895123077360496599780318553369830120572983597428005345233841438415858308106016990885947669340133963871095946130079596875742687600163808878139992566654183924911862348926096732485548538067648136015212555234633410179408195645467479231598682940550064970405153030441907221507575441300611126679655490727259076314026790109278953140978234551790653012115769066939727167330016062638445769275782484530164751880617114361771561221158601287200734317638116241281482366729544919493164500427246269517353070034976523200459808823871308829550303490994675187905848981262348840212291299400156744977692906416485786085615965709560097743677389466920776075931763912789139372527953527950789071377817680491263895589830520049511021091352857814353009057357067200522307502114303261912299143694268616214481883764927002626244112658762917425674145796073021962472029118266627933342901214266486077003829389421771957321766794685314324247037225741869394468205057700910126187399907474024299061619690040532347603171023597381107136069662862299388312645900656533167486082287330205909526261166130587875635543704589410490703657347604852061032859495604877863172788108006523661491247960516809227300697458924448340405585903111163480371986470531660991476751115115601243470602604083078565826773913968052442446746167875084563014198358878500763685888030062800210470114242845151809468216067809861152871967785835369190113139957152981976197915057665466597537243392419929391629431115669622543060219203932448156789953006576342223464682599213197805095830423621164364286557709406763923004544575834677514038659252161969193212667038726043997529382779308556086203523318425880498391808059197084997154783204115175948598609033640920407077396063524355433382270962211136589080720909244021704307257854747127245266937321343813487643081491427647460551948322602177448148086388673760871504713014759015344127258468501163453394946647550086763760494875398755397516197628981125411392519947633359711924293580289181339554036311388417736615270925222470743697092754385156511176914432037882937510164773027525944702853856099056844484670821497455564864320905481812063474336635114470675105636866121279682964840673140591262961127917566566127920807515012138332319968042183589630089082451745736715441000670996063312303852811298482129678963364663108730982770888569302641792020364286278414933288154904017112902413469330079961497030744020743510731222480176572421949745469503783553012770534924673778955828075065268273844687203679511868619987734190713647359707939763235514277005487718988365260068079283482932405896368348328878347058458426756847795638982662281291221626861020698333512919196039343404174138125444199213702768867714191479822071774621132030229560432318661513179461836572549401020668710215600127549384622981164664291942626463906549439784234375075018035917432468373582580912028046123358463540802812225517373640847997000348983137972212401814235786252369516230118860335067207018072193153985637078786000188350085362332409797165824144862134016057597839117283994543352576415725530665320590746024641039944778228030645071205634634409888292820252455383676133010459752214789751010881579806354858407648719780089753302127381526110518161620734354647085166696800026213961683369095367254381906320564374963211913241956439547225313531554773666937973307348466885569642674128525108264140245138471814144229915455912858615766565816699842882 3394579458272973820097158516802172442906970738764677190410444316800632316133709793384516990818842591147349423782338486094139166281373716496890729897066040292581428069166900883850035744370636211572852428002668567325912318612178806210636312772817340111483432677671232046449602406659880896864077555021739808700309460948782099551096312933186082029772110559312039901607365640074135208342293043634186714025296653208764242103530372604441746126109544584122306145545561931724616432507574082703397920139870200079930827728434130443828995955897104811574064363706808894578475642608174359972354965348627874543535222771737770676232171507046112024055020656223519628231324816631277169822677930700961808548687428180262606941825961246210865727671060391899141876631508900593421326985089487672601007301455919384207451208511322892400739572756550324816719906400640121008075951494968389480520308395556671475548885417309177692200695525170325054621748239051427583723557635716196597945699545751287023206044176417128737339245402130495256623224745628903678288665750650663015571022002913980730870963442215710323899697360558838203752501368345066238062254968988004140119519771144719546120110716517722473366937865251314608710170023447429191492898592379460398392779569337672547759616985081363638672817663852984446579860105349106230086575466294025290339660605199281512668438479178127634602470540930596552698390256922812454439070034705318873314751063695664852314319522529631967111715960134373889683961388555882719177956953294114685497997316720951559913471806146808960154179293534323636009234663940977957840335544751790996168537765573716915232253174921993491884069561192263050713627586427462883649485148449910172741128080819148084791449178952333317914969373710749422365930127047854882777909231987304754617744169614450059870316524360522064424689386016610108765607254817569549552883250282709912871983845304588235323020761351693730858142224393449569684847968213613813096937724840801928437949329762253420167791867230589613358378072574169207728396853334757275848599962363295468135206135564703283434392428315603043170748194913663342207698135163520477347490187748567072851220919032766952143887777470661129664875928748700638273523178107073470646673762045695837102803620589187436680395611741085757691613107524821849261327594204133718181805603105223370448178308725281624002767976570280510052607192687526196673012993407300141564669494771427486477418119047449507831474257225396590610943209963287148535598989618958882854855011138933677600854644488359992645677773278470167871685270085930293083956191170630226603297881812667320263832162418587798302052415126599462704975986288487078193565618024538963584088274921399160786078611233457681151072758734053628592188948787536128248434762909529577910868072948652191963704363931069181527527393921893091745292768729651103695549196141519501661910648108055552033891877567979555136274100350788629441077242386837257927261790679529282787843107627428719664825502088314569913451202643803101689220770653111559746205682326923282851500068517719387635451365693754355152183490470629433307719874181566563328943810204186032379700898897024957407130956388122513482564950159105788657550524394573623471109972239266288933448982719942202598680270825115164331985490801148910847958774447328556953404035632648057671931866500002729059287321762336248453081456398194558565212518170745921484143579862258946464502751980155061499141600561238106896741516353605617003513426122460743622630138014384944297915361811683602840638594277189745103290213375288814406227992101028001723380806737460786038948228585943688811868172450675542453063901378670180544308994200510607969285636537039443504910096036115842782778367337510847591483335346407780181093046282564275209386999583857807272545002421802177637915714702065539266761460114214073143468008167824605441549865101537419010078231593551947293938470146616635816956786941797897569753950426985721041837764575599825381738530284371745531646193648110131069322219991142355651444006008572943115486685806237994074992758085710244698246342509915376743972814468783484727393878275216378120913173507340541656314121 5492544940997877070331420253110012581243258925879638980056184004034904456393591373986050056940311002536393723617724811738494581592949975300484195369772223088944553175386533735531476021925422582729602585107679424081306277991150849109174844281253058384086136190530141491323167742006014513062701559743386450409648459220631988306888170078909870009619528630547738440747022608110726583463652263382023299558747928493616576086733672704959959780373694115030816890345351607344662740844949725283567309685455833735194532415122669242237333920885938546678134416798605341710657910614961466730669718772955045617020599382137900079268663703413522949438305501770845531821995325299835288624147810960641387660925211977498626369671256524681889932669850471287745966684588455947245222108166848169200787620009289214328024192108750897745973414194966183124825923391526068677416085458839485426650387992432414163149049226187317684767349709095236916970674335783913132261625283852211810500934179161466431401689643896360336022185952195465661776255187536125185864107051261789695226512730173057044897753551494663464877931912349491215868270435284793405392271031626449909395302255674884298000727830879494034588096466538515343027808139688710673859628137298953562893206815607189900829651961604564098481641535161813996883351100024294135935556728642865502630960005356026490361344895663913720218436250490694296375779723843588530370833947494458245842704591646453923692137203020895862701546480183884910775314246370235728235314020494636993000111619982863859057166074763023442037944220536949880121893426858403631986131617773753468197656032201650258133467441408070495713458982964220372480422271741787130686710890319304640946185781729274272191356652976632379534659414243097025536953724428962018847572094286693067263644826147617545952603854566431590685855516604485744309311844228060253210230855134770945731479450182451408111128767875355222106102741202676870382306892661954218682840836004282300424419861423244896918906982831833083960982155652735034502310821387199722594767837447858482333565014065466969322422491115813513284991040065472810423765945024673349315276023117757185991178072014743150058945442937258666908268348678092267704638847729616530865877694493852627055810196931410901362994824938890853522036728689186135819037000968056722726381437782737409107430470694474836669806702614278039435386501243612400196331419287798533372728691856424641260622234223398106440507898145803668007006734318720530806561200755547963575764255160637984858709391615605259582999117091957810953176697733390845032278793348078374689686555573538824976846921433931925560520916290052857651623536375250838688441016779936479781717256046810553306026244593169605444653047915393182628500337205272743519359985380273275003622458105163368878136401814006691692300421447837794599148867786495588366370693597084365982816129920119026370526992038654660773140221630471594281750382978100219055179357245657203595358119765761039632867685677944658995902948380518542689891766716423863599016980809052961814864731626450370406339934996396147172547776749044366595874778198679465742413140284147529410444919640535688629611132960544463228034453942658801428085449068352579299185037507540133620652662231810822586414461538762524039925254036663187853446493435693817021483319115580463568300214828881076117745748519184044092064118679485780192073538869079434403339619205663120602628196179368764268009314752717928968516137485635846563945744783973923084466710563785964966625577411811152225261575441854037045916677281838254190462367176046037640813275111043366950976274709302152352670984676192916093911898379019163682281206602324843755538006053269562365245163243133914975932352974589633591671685431770112590890212106709137343403057181696924556539545774378593363446380022656285291402500058992301174113079373459239851438157921789874393754364604011699508728221157498215623311645349446617349843703729113102567948282737220559736385615451068545557860155331479226436576601897462920026407217921814899555033911119769548848659696059017593165131912152589505269081078609028623199208022505131834033771789273906358356157003 8887124399270850890428578769912185024150229664644316170466628320835536772527301167370567047759153593683743147400063297832633747874323691797374925266838263381525981244553434619381511766296058794302455013110347991407218596603329655319811157054070398495569568868201373537772770148665895409926779114765126259109957920169414087857984483012095952039391639189859778342354388248184861791805945307016210013584044581702380818190264045309401705906483238699153123035890913539069279173352523807986965229825326033815125360143556799686066329876783043358252198780505414236289133553223135826703024684121582920160555822153875670755500835210459634973493326157994365160053320141931112458446825741661603196209612640157761233311497217770892755660340910863186887843316097356540666549093256335841801794921465208598535475400620073790146712986951516507941545829792166189685492036953807874907170696387989085638697934643496495376968045234265561971592422574835340715985182919568408408446633724912753454607733820313489073361431354325960918399479933165028864152772801912452710797534733087037775768716993710373788777629272908329419620771803629859643454526000614454049514822026819603844120838547397216507955034331789829951737978163136139865352526729678413961285986384944862448589268946685927737154459199014798443463211205373400366022132194936890792970620610555308003029783374842041354820906791421290849074169980766400984809903982199777119157455655342118776006456725550527829813262440318258800459275634926118447413270973788751678498108936703815418970637880909832402192123514071273516131128090799381589826467162525544464366193797775367173365720616330063987597528544156483423194049858169250014336196038769214813687313862548422356982805831928965697449628787953846447902883851476816901625481326273997821881388995762067605822920378926953655110544902621095853074919099045629802763114105417480858603463295487039643434149529227048952964244965596126440067154860875568031779778560845084228862369191185498317086698850062422697319360228226904242230707674721956998443367799811153950468771149630170252756814919431416556455739234979136152631464080188193826662766210866324258842398991047510102202833220407919796573144277426792905978162025836690001512551456539548464158613817520598338043390436679976611213649836214007985080364595172190440908187040887960779555608779419756460672574679184558549487993693931138596869344412695098674937398186627852127738040353270847614271982155371200258617949944282007679342160190374506846430619266299571662459564036103965252228676890370427978824861967819321138116234984518708601292984437386206145240679083852519723862573331416652320356599522663737916882006634804475443365805530968209714092104855826627286595725806649446811220689285992808871767794748289802852914490531053815560841840765745075873219827815369730886344441636516146692061919889738603867644726778028174578404418869606634215909414321981260223722827625364937476982441147925186486383201227393189759297693187766259228909354151024321644379112537369535423345222663135976244666364800144169758041791300690150502324731267219673799903594652380246029071356950488333561790145818537560646036742089348666976710599404101764590085635973462926202770295009746806422554101644951753025185094732363877688371910744837812098701405267883022373974887354748228521240232081328883805177033070281520292545145575077680338757286057039825355887483199067922067067130948159523825767150915313956035865257653839241463567459170906434666707096848578170909264540939223494755065900169719043782149206890657127068596690359277074039364194081848504152989924503295245841164539157126868458546975799757689344226590200802835451724823642590309005870155259279249757758710720312100481183155020778177892771983258389273412552790056765554731829084548196180771001362094724721824558163960173206374317581087541283845292988023023327293403832596197563646802666691304114851440268432291244514919597654156098823609786047312820385118124145735440291089506348979589357505898821888605275677851223930387842670520596926007542923652454144727837863378254662504882013053893077812107926601900780348212154684962781246900012471124 14379669340268727960759999023022197605393488590523955150522812324870441228920892541356617104699464596220136871017788109571128329467273667097859120636610486470470534419939968354912987788221481377032057598218027415488524874594480504428986001335323456879655705058731515029095937890671909922989480674508512709519606379390046076164872653091005822049011167820407516783101410856295588375269597570398233313142792510195997394276997718014361665686856932814183939926236265146413941914197473533270532539510781867550319892558679468928303663797668981904930333197304019577999791463838097293433694402894537965777576421536013570834769498913873157922931631659765210691875315467230947747070973552622244583870537852135259859681168474295574645593010761334474633810000685812487911771201423184011002582541474497812863499592728824687892686401146482691066371753183692258362908122412647360333821084380421499801846983869683813061735394943360798888563096910619253848246808203420620218947567904074219886009423464209849409383617306521426580175735120701154050016879853174242406024047463260094820666470545205037253655561185257820635489042238914653048846797032240903958910124282494488142121566378276710542543130798328345294765786302824850539212154866977367524179193200552052349418920908290491835636100734176612440346562305397694501957688923579756295601580615911334493391128270505955075039343041911985145449949704609989515180737929694235365000160246988572699698593928571423692514808920502143711234589881296354175648584994283388671498220556686679278027803955672855844230067734608223396253021517657785221812598780299297932563849829977017431499188057738134483310987527120703795674472129911037145022906929088519454633499644277696629174162484905598076984288202196943473439837575905778920473053420560690889145033821909685151775524233493385245796400419225581597384230943273690055973344960552251804334942745669491051545278297102404175070347706798803310449461753537522250462619396849366529286789052608743214005605832894255781280342383879639276733018496109156721038135637259012432802336163695637222079237410547230069740730275044608963055230025212867175978042233984081444833577063062253252261778663345178463481412626104885173682800873566306532378429151033401091214424014452009239406385261618867464735686564903194120899401596140247163634568478670698188663039250114231297342381381798836588923380195174750997065675831982897208310126878484276768998662587494245720712490053517003926624956678600728210148721391130054810006383521460209647318273427719570511811676007462385789778038665552711983148513777866786975982670992959744970217526005286451649423094247706705178008223059038988755570447651584411923147522787015020267398131100419796892040378854564839993849189623198081615287154733670076127918112989158978929719977167559082564912128236817568680943590504302642280428290583335688233627542907948293604774945861645288876682554543611731818004578008343037696037620505170843689978559347158950798930560873444203887905257099404840187069004304085959286944239643945029206481229531770620128448131235686546649497279043968718166499469430578925494813770090772481091200590738178096334666353222309211439938633858044423391513721422531278782069480047254346556174754307183563847771509193902640212411835998874475286554851761318716190996370673863808984808532296157764881294778818800704336637209693757166118949359595908904790290822818273585187669759144338892590035160230066673964833773791324877310131404915690408589791563559141956874231166516635305907291161745160897819195123567938965322787152726453120077005007356959547519940900778004547993517210141803061374640887698136708507908871407405160295480361648643578568235400422522383672734643073286690114774826706209948005362873470495982549896193113947251656385624093970559364364808474747378109849566460232198675491694166914743085144426180945117167797586960801575346311394912461613067063580077640691132269441357885211926177734330050040944854509761186508836647366504311068583942475423786068195704258441852202742225554508045777091772312150203745431028510166815094387282134971686840731125809923285480046188456752055153258368628127 23266793739539578851188577792934382629543718255168271320989440645705978001448193708727184152458618189903880018417851407403762077341597358895234045903448749851996515664493402974294499554517540171334512611328375406895743471197810159748797158389393855375225273926932888566868708039337805332916259789273638968629564299559460164022857136103101774088402807010267295125455799104480450167075542877414443326726837091898378212467261763323763371593340171513337062962127178685483221087549997341257497769336107901365445252702236268614369993674452025263182531977809433814288925017061233120136719087016120885938132243689889241590270334124332792896424957817759575851928635609162060205517799294283847780080150492293021092992665692066467401253351672197661521653316783169028578320294679519852804377462939706411398974993348898478039399388097999199007917582975858448048400159366455235240991780768410585440544918513180308438703440177626360860155519485454594564231991122989028627394201628986973340617157284523338482745048660847387498575215053866182914169652655086695116821582196347132596435187538915411042433190458166150055109814042544512692301323032855358008424946309314091986242404925673927050498165130118175246503764465960990404564681596655781485465179585496914798008189854976419572790559933191410883809773510771094867979821118516647088572201226466642496420911645347996429860249833333275994524119685376390499990641911894012484157615902330691475705050654121951522328071360820402511693865516222472623061855968072140349996329493390494696998441836582688246422191248679496912384149608457166811639065942824842396930043627752384604864908674068198470908516071277187218868521988080287159359102967857734268320813506826118986156968316834563774433916990150789921342721427382595822098534746834688711026422817671752757598444612420338900906945321846677450459150042319319858736459065969732662938406041156530694979427826329453128034592672394929750516616614413090282242397957694450758149158243794241531092304682956678478599702612106543518963726170831113719481503437070166383271107313325807474836052329978646626196469510023745115686694105401061002640808444850405703675976054109763354464611883753098260054556903531678079660962899402996533890980607572949555373037831972607577449775698298844075949336401117202105979766191312437604542755519558658968218648029533987758014956060983395138411373889105889593935020244677995883247525065112128896736702940765093334984472208888204185242906622882735889490881581504561656437002787759781309777837463823535764040352897832813768602900633372033121264748762385495577275655430345951115458205089138971373285667579123357498364822581702726672452454286388887366513328317983229981490235956246424178636104661214286805069878909190890487054949481959878980832603520212794490561817933304158438131956052187299567288032140818788972490210473074292101272269685976468183179364731251923092591968865592992041727405633707975173020061653096030176361760574552140558228254061210463116814611250429161831448116841455494710289462307081005451147594331914789886489922536376697151822010311188391966403064082959171523885127041260814652990736556715656980703095311657878416649233262146187981599357395994204984839775057001152978728855952135316872956603926266517900783746743712287385256257029201738564971258028612037506048764377486648686471811889082224629182355268834846457706645652948730146178306017341507254736890092498416415802311145380630000699031445164118773698864086596843256498660407720127783495707455858800662357061914879941601344330458596092391383843085730194116369201438808051672930825281299793834681749298929929833187863497894397852135461608207995747205185291233887574105555681801633430493353793598790595957981726988125898134856728885255962448983170712806388214708642166740135366170569472099934407730420405405049809275254456026930437414203968444461201419556999138993114061603765727918503848509931935647189039012041310749787520377362861329972633906921949127736872853290657941448374245674673471382109665782590584896075104971784634695964604348473268891888421477599269295188864764652839052411824065828258343141714836400158381099251 37646463079808306811948576815956580234937206845692226471512252970576419230369086250083801257158082786124016889435639516974890406808871025993093166540059236322467050084433371329207487342739021548366570209546402822384268345792290664177783159724717312254880978985664403595964645930009715255905740463782151678149170678949506240187729789194107596137413974830674811908557209960776038542345140447812676639869629602094375606744259481338125037280197104327521002888363443831897163001747470874528030308846889768915765145260915737542673657472121007168112865175113453392288716480899330413570413489910658851715708665225902812425039833038205950819356589477524786543803951076393007952588772846906092363950688344428280952673834166362042046846362433532136155463317468981516490091496102703863806960004414204224262474586077723165932085789244481890074289336159550706411308281779102595574812865148832085242391902382864121500438835120987159748718616396073848412478799326409648846341769533061193226626580748733187892128665967368814078750950174567336964186532508260937522845629659607227417101658084120448296088751643423970690598856281459165741148120065096261967335070591808580128363971303950637593041295928446520541269550768785840943776836463633149009644372786048967147427110763266911408426660667368023324156335816168789369937510042096403384173781842377976989812039915853951504899592875245261139974069389986380015171379841588247849157776149319264175403644582693375214842880281322546222928455397518826798710440962355529021494550050077173975026245792255544090652258983287720308637171126114952033451664723124140329493893457729402036364096731806332954219503598397891014542994117991324304382009896946253722954313151103815615331130801740161851418205192347733394782559003288374742571588167395379600171456639581437909373968845913724146703345741072259047843380985593009914709804026521984467273348786826021746524706123431857303104940379193733060966078367950612532705017354543817287435947296402984745097910515850934259880044995986182795696744666940270440519639074329178816073443477021444696915289740525876695937199785068354078741924130613928178618850678834487148509553117172016606726390547098276723535969529636563253343763772969303066269409758606350646587461846424616816856160959917711540685022966020396226879167787452684768177323998229357156881687279648219055357337442782231727334754084280640591000696076660893091557651943596405665735365528259339055696962262405208111867863301483464099639602972634616466443386309219990957096110891543106275852028905295199558380939298924745104413262540252282553258326423305696085675731094425423022708761826830062676373045640741715428022901937973299289660851104998250248888367056666221070676483515779126798919068532388972102342104215629955108750716509371773420281795100863241003044084289004868248231622645121431252918501056409980334899812593924761787954310592897211969274523409204723859731983642051012869057682158266873866340319921711091357158814934654667004719868349834002018517121145541453997233701951026034657628823863685410014938053772063243801319289355157110132902533513538097018698897132033295744191327294893753315369448533967089856587867120190611373113078818525483766909255104255499534903610259318880720728113120169158113195582742586762671811108790520454755967628702475846490857296673644413567766590707882928965819564962592012576656005248857634936469128835615092442406649236837309005837471375447303965532805236488996083830269002287251846290223966862084657726873972494106569648223660040839420539454026535057714170995812183314193374208795767599192871726059304341828198959440732991207828751196031106360044333015613156042685546939877466142340956104324017103227996866885480710732808433198073903497730199381238512345176284660058044600332736137299499730979044219478044257296880637603725300969421370770015581840384913561628999006517800714339425456516227340985567428587572626779458480369926522675965254707412902274827143668108457964384239357601726525390849669460741667086368107634793327121629613017561726468276754552218699920398588292693656577323836451493570178221747351308304531598466891553416749727378 60913256819347885663137154608890962864480925100860497792501693616282397231817279958810985409616700976027896907853490924378652484150468384888327212443507986174463565748926774303501986897256561719701082820874778229280011816990100823926580318114111167630106252912597292162833353969347520588822000253055790646778734978508966404210586925297209370225816781840942107034013009065256488709420683325227119966596466693992753819211521244661888408873537275840858065850490622517380384089297468215785528078182997670281210397963152006157043651146573032431295397152922887206577641497960563533707132576926779737653840908915792054015310167162538743715781547295284362395732586685555068158106572141189940144030838836721302045666499858428509448099714105729797677116634252150545068411790782223716611337467353910635661449579426621643971485177342481089082206919135409154459708441145557830815804645917242670682936820896044429939142275298613520608874135881528442976710790449398677473735971162048166567243738033256526374873714628216201577326165228433519878356185163347632639667211855954360013536845623035859338521942101590120745708670324003678433449443097951619975760016901122672114606376229624564643539461058564695787773315234746831348341518060288930495109552371545881945435300618243330981217220600559434207966109326939884237917331160613050472745983068844619486232951561201947934759842708578537134498189075362770515162021753482260333315392051649955651108695236815326737170951642142948734622320913741299421772296930427669371490879543467668672024687628838232337074450231967217221021320734572118845090730665948982726423937085481786641229005405874531425128019669675078233411516106071611463741112864803987991275126657929934601488099118574725625852122182498523316125280430670970564670122914230068311197879457253190666972413458334063047610291062918936498302531027912329773446263092491717130211754827982552441504133949761310431139533051588662811482694982363702814947415312238268045585105540197226276190215198807612738479747608092726314660470837771384160001142511399345199344550790347252171751342070504523322133669295092099194428618236014989181259659123684892852185529171281779961191002430851374983590526433168241333004726672372299600160390366179300201960499678397224394305936658216555616634359367137598332858933978765122372720079517788016125100335309182206813372293503765626865746127973386530184935716321338888974805177008708534562472068469024432390681434471293412297110769924366199989130484554139178122880389096979772266873948355366642039892381803128013326983839932296778225678011302637778130533981853651647201133936183564394395994429405953420174737868222444442100475356224362186656174179422981480230378603012912645249312588176993413603988947441579862589397053697589834089583320029584567910843613034167399441176040341192167815519654785940220225408711529484272436172082279901229971133675324149135061866492274797715901459389275758988042077743811362904042702080496263231915387068995865130121534479600263163849965237986996948707523164258107040108776418195600199901427976308439940953141299666345502099305597596497268542584024173294110397182063851609410296072543845624968273237100382336799354712436214519688751749030161256652513632466211454197593684717046435676013979329486299050057067365819722193320938886731087883996906061051131062254238402596965153595001920231426859034362650901806365082647434852956599697143539329335725421639782520827933966231836681653114857529133088884095102788884374582212441222581428352907232005285574920781021883784485131150105554838897913508309743410234575650865802551340604135662880708739662921041016614693925504212179794623821151789890732231111353716446511786125650533721350660484271306690790160186199801632586928266494474794159455372864432815041378304039635097149613691577978665027301043008775110244675826796946019254588882006090200426074799853332539518119993068904071277097504562426647519381967833425752775084775763604799777575030407092121112210892384466839223915135415138468477773417383912017704717989346361164241358900691968812287009770292925872512701216146409230633571417136562874740181727953575130826629 98559719899156192475085731424847543099418131946552724264013946586858816462186366208894786666774783762151913797289130441353542890959339410881420378983567222496930615833360145632709474239995583268067653030421181051664280162782391488104363477838828479884987231898261695758797999899357235844727740716837942324927905657458472644398316714491316966363230756671616918942570219026032527251765823773039796606466096296087129425955780726000013446153734380168379068738854066349277547091044939090313558387029887439196975543224067743699717308618694039599408262328036340598866357978859893947277546066837438589369549574141694866440350000200744694535138136772809148939536537761948076110695344988096032507981527181149582998340334024790551494946076539261933832579951721132061558503286884927580418297471768114859923924165504344809903570966586962979156496255294959860871016722924660426390617511066074755925328723278908551439581110419600680357592752277602291389189589775808326320077740695109359793870318781989714267002380595585015656077115403000856842542717671608570162512841515561587430638503707156307634610693745014091436307526605462844174597563163047881943095087492931252242970347533575202236580756987011216329042866003532672292118354523922079504753925157594849092862411381510242389643881267927457532122445143108673607854841202709453856919764911222596476044991477055899439659435583823798274472258465349150530333401595070508182473168200969219826512339819508701952013831923465494957550776311260126220482737892783198392985429593544842647050933421093776427726709215254937529658491860687070878542395389073123055917830543211188677593102137680864379347523268072969247954510224062935768123122761750241714229439809033750216819229920314887477270327374846256710907839433959345307241711081625447911369336096834628576346382304247787194313636803991195546145912013505339688156067119013701597485103614808574188028840073193167734244473430782395872448773350314315347652432666782085333021052836600211021288125714658546998359792604078909110357215504711654600520781585728524015417994267368696868666631811030400018070869080160453273170542366628917359878509802519380000695082288453796567917392977949651707126495962804804586348490445341602666429800124785650848547961524821841211162097618134267157319382333157994559738101766217807140897403516017373281982022588830425868729630946547858593080882057667170775936412397999782066362828952304940228207433997283771446378396733698620408978633225849664088770087526773794589323775406199763223970059246909748315744410708423212885364779231221523330091273842890060683792308276957343286809667277989817418703191232783482851110913863186157528498258162335485945835030527979730479266970069578866319989071692772540402908015973968834691739157913219789198334036538956341331125408135030640444220124630197036063751277431061651478327212585894252771071894873825991759087985917046347031141015684002439761191372917810000911135425969629777909042400417974323272545883930519797126254347950097165868482359132538402704756866209133074766405242059285609916366030080503184754460589021502612232208131110035365561282921305327406141373391146503163611441992379592058129824967502527410727825515033045172518658285265512152048536076470773078314412830166604834127174912228885812728878474610242648076906515433563730487763357724775475822004993304848082560821485194018871611018656150664000019116563688571692139550188566173034427477253896275237931764641918142110941359402091171346949079108341444297098949455400847013801653509234961620442423238511666207819725834710096822503117619030343250058674277399908477491079668180395912248845365889956610572224127639434307832576279170988819858787467890449667636949347527369752017423598593384273705130317127647732987139335740032922477415374114441339134828128657911056022922324181680612500411214097197566961601094973795567719199432592600567671964974636220409889638705685077189206105999751894356101718029792188665879626921243138865056505351568494110992230073584596156805554845881052177239139334331006908087632518113452910668732685598062986582449836537667639979408855318768444867406338648619506991880554007 159472976718504078138222886033738505963899057047413222056515640203141213694003646167705772076391484738179810705142621365732195375109807795769747591427075208671394181582286919936211461137252144987768735851295959280944291979772492312030943795952939647515093484810858987921631353868704756433549740969893732971706640635967439048608903639788526336589047538512559025976583228091289015961186507098266916573062562990079883245167301970661901855027271656009237134589344688866657931180342407306099086465212885109478185941187219749856760959765267072030703659480959227805443999476820457480984678643764218327023390483057486920455660167363283438250919684068093511335269124447503144268801917129285972652012366017870885044006833883219060943045790644991731509696585973282606626915077667151297029634939122025495585373744930966453875056143929444068238703174430369015330725164070218257206422156983317426608265544174952981378723385718214200966466888159130734365900380225207003793813711857157526361114056815246240641876095223801217233403280631434376720898902834956202802180053371515947444175349330192166973132635846604212182016196929466522608047006260999501918855104394053924357576723763199766880120218045575912116816181238279503640459872584211009999863477529140731038297711999753573370861101868486891740088554470048557845772172363322504329665747980067215962277943038257847374419278292402335408970447540711921045495423348552768515788560252619175477621035056324028689184783565608443692173097225001425642255034823210867764476309137012511319075621049932008764801159447222154750679812595259189723633126055022105782341767628692975318822107543555395804475542937748047481366026330134547231864235626554229705504566466963684818307329038889613103122449557344780027033119864630315871911833995855516222567215554087819243318795762581850241923927866910132044448443041417669461602330211505418727696858442791126629532974022954478165384006482371058683931468332678018162599847979020353378606158376797437297478340913466159736839540212171635425017686342483038760521924097127869214762545057715949040417973881534923340204538375252552467599160602643906541138168926204272852880611459735576529108395408801026690717022395973045919353217117713902266590190490964951050508461203219065605468034276350822773953741700295592892597035744982929513617483033805389407082357898012632682101924450313485458827010031053700960872128719338671041168005961013474790679502466308203837059831204992032706089403150215864077900572080912972712204164503179535490844007602276390355636792511551226212348619163518301555769285145527838814326290130608990487943603461554211814697620638736903025848782085630599628973614386697672602009209950961210709645573082491511569301659869765954006896963415548697281136211610809623287917356568540909241969021169198039885396164971389203879270932217001871703735924115378525207243977153727221730221661241195482093007507958800155662650762193568988953213169780992681951744480914237555187932952926384927247788827550360329718447597119535351412280030467240114875181660254885809817794006388943125707601888687848114331513728706532634103866945478621516538555454998112573907514536225217026403062067884864210082537951247564861270407315426768804562168542682227275908097547213040510141154241715184862785945840429964841397845402164651614484669418775906538076243395901813236155823405425445730645381307052470365101763998541528291836693727895508759849117036417103171897996478599795225798888535180055442051867992716026509540172036829199921033658794809882401464307022996797357925280673608010330812861029264918900924476828740512613153960376920058833289861980583882114784403922263255459622467011402100173575233979676575318170670698187854023324114388753570473506762904055914227461933495195405786910230415492745378769925278271602634001587351482723621275521458773024363907620349562677573809399858667400421004504492756213478793709982782581751632753519133862189527470804876964429484426698818169272148626463779386495459069297499731571944023323654469561151157039048996254448796759472353602637544972607833279508322349238883786388639488890185581430281078830347460567011380636 258032696617660270613308617458586049063317188993965946320529586790000030156190012376600558743166268500331724502431751807085738266069147206651167970410642431168324797415647065568920935377247728255836388881717140332608572142554883800135307273791768127400080716709120683680429353768061992278277481686731675296634546293425911693007220354279843302952278295184175944919153447117321543212952330871306713179528659286167012671123082696661915301181006036177616203328198755215935478271387346396412644852242772548675161484411287493556478268383961111630111921808995568404310357455680351428262224710601656916392940057199181786896010167564028132786057820840902660274805662209451220379497262117382005159993893199020468042347167908009612437991867184253665342276537694414668185418364552078877447932410890140355509297910435311263778627110516407047395199429725328876201741886994878683597039668049392182533594267453861532818304496137814881324059640436733025755089970001015330113891452552266886154984375597235954908878475819386232889480396034435233563441620506564772964692894887077534874813853037348474607743329591618303618323723534929366782644569424047383861950191886985176600547071296774969116700975032587128445859047241812175932578227108133089504617402686735580131160123381263815760504983136414349272210999613157231453627013566031958186585512891289812438322934515313746814078713876226133683442706006061071575828824943623276698261728453588395304133374875832730641198615489073938649723873536261551862737772715994066157461738730557353966126554471025785192527868662477092280338304455946260602175521444095228838259598171904163996415209681236260183823066205821016729320536554197482999987358388304471419734006275997435035126558959204500580392776932191036737940959298589661179153545077480964133936551650922447819665178066829637436237564670901327590594355054923009149758397330519120325181962057599700817561814096147645899628479913153454556380241682992333510252280645802438711627211213397648318766466628124706735199332816250544535374901847194693361042705682856393230180539325084645909084605692565323358275407455413005740769702969272823901016678728723652853575693748189373097025788386750678397843518358777850505701707563055504933019990615750601899056422728040906816630131894485089931273124033453587452335137511200736654514886549822762689064380486843058550831555396861344051907892088720871736808541117338453107530834913318415018886936463591975283438227938690653115068036376065528166670659607686767301527939909379298714814066849186138671381203219974439097713398394739824885860558988417899498118598407566333774753270739544029233400811871520385876959695948816757157471872549033158547844240478940941188912543152070377889290731562538494409804979389517531972875369524029412486251393107497250573094429304228680329616289601586239943022209648063523182063136701272777978315872027553213489309647158241829124148523642802595423842135111378989864348595750622459860786881332211878460478836856904724374043175500457495586929956252073754117036896676373189641586902314171419734160036469446310462062477709350726563721859816567999665149866783948922679928846144615737518956528604809084532887035387391620810363466280610033789065600692280956610704619153000354222510377379645344268329153944070675514824315040207489474751917598215344972432776500682013898248389206661318716644890619464602256399963203134365120880562230099983976243916461681794276594290313378409829761120517937336740247937271226789000947101057470806639121492230046934835312304044844021906730261508463565745006508318107153315978648295262150983151106140421090645040045100454745538707346473838725356628049902689767455043290573088993434021447567024985807620045715223775341537987346954747211893221183561960449072830935438709387645789607186717904753406929513690024509675664404233775932672870221930869221444536473141528599291260000988676469467392433888683348688467658940838859518885756545629188834669153095364053620061308137205131815347880606451299371084327728749578169535521738390296373380003162536429277585806513306277658205896266090772185776551426368048344208954026297687417478966967558891934643 417505673336164348751531503492324555027216246041379168377045226993141243850193658544306330819557753238511535207574373172817933641178955002420915561837717639839718978997933985505132396514499873243605124733013099613552864122327376112166251069744707774915174201519979671602060707636766748711827222656625408268341186929393350741616123994068369639541325833696734970895736675208610559174138837969573629752591222276246895916290384667323817156208277692186853337917543444082593409451729753702511731317455657658153347425598507243413239228149228183660815581289954796209754356932500808909246903354365875243416330540256668707351670334927311571036977504908996171610074786656954364648299179246667977812006259216891353086354001791228673381037657829245396851973123667697274812333442219230174477567350012165851094671655366277717653683254445851115633902604155697891532467051065096940803461825032709609141859811628814514197027881856029082290526528595863760120990350226222333907705164409424412516098432412482195550754571043187450122883676665869610284340523341520975766872948258593482318989202367540641580875965438222515800339920464395889390691575685046885780805296281039100958123795059974735996821193078163040562675228480091679573038099692344099504480880215876311169457835381017389131366085004901241012299554083205789299399185929354462516251260871357028400600877553571594188497992168628469092413153546772992621324248292176045214050288706207570781754409932156759330383399054682382341896970761262977504992807539204933921938047867569865285202175520957793957329028109699247031018117051205450325808647499117334620601365800597139315237317224791655988298609143569064210686562884332030231851594014858701125238572742961119853433887998094113683515226489535816764974079163219977051065379073336480356503767205010267062983973829411487678161492537811459635042798096340678611360727542024539052878820500390827447094788119102124065012486395524513240311710015670351672852128624822792090233369590195085616244807541590866472038873028422179960392588189677732121564629779984262444943084382800594949502579574100246698479945830665558208368863571916730442154847654927925706456305207924949626134183795551705088560540754750896425054924680769407199610181106715552949564883931259972422098166170835912705226865733749180344932173256183666168132369583628152096146738384855691232933479847174829510734902119774572697680669836677124148698840874331889809566438929900179120498059143682685821157439526281392244571231688599740013732104412558834205658074451462529027017995731525665310062017558258126441629844133945738312444888538175324262696874201098241048098432510257288902808478034447356786445486935730831149853450429902151898558116234561889458592391432304448416701942805066229254011581134839035774168749676038159815063450473426720215012454572975443822293141865065394885799060816651303185559849181280435219531308399437311217156031601602751086492897304947978817561765531615141812531362246449433648411789783289651621832003050817825305377553371609105529316927143613304516768562569057229551954042858389436169664366397198840895235588523100633769016812262570439218484301142728311426471064830026110935949103272255830892901417528174895059472916119049761172873161835227630130607924592685854409483395659255538300770155470172330872597319762866959457102195276588551974491785108474554872468296044910332901781270255604730222644560771628275812937644357190554125711326730481581727757599117732562539136472451282231052815093773497316179293529059246855868971098854726423371037284505260923670287181926117484128839677560181051907627934880933703799000422020513578828569327057720840141031972165945227077510301975189167009255427243600303978290743903077798665652376100525220718656125239476187911006326130844496297876205099932096674678685201116324026097027147127855051454131643246294776841794099150715337999149927401409680973960148647367477058671250240692471613038019618735156659639546117524848480318879477409353758279127267101910368668584059300693601493189991299541453412428999416985226037058160115943822630813729545599094535015435212756687833099139607727968496309314428125903315279 675538369953824619364840120950910604090533435035345114697574813783141274006383670920906889562724021738843259710006124979903671907248102209072083532248360071008043776413581051074053331891747601499441513614730239946161436264882259912301558343536475902315254918229100355282490061404828740990104704343357083564975733222819262434623344348348212942493604128880910915814890122325932102387091168840880342932119881562413908587413467363985732457389283728364469541245742199298528887723117100098924376169698430206828508910009794736969717496533189295290927503098950364614064714388181160337509128064967532159809270597455850494247680502491339703823035325749898831884880448866405585027796441364049982972000152415911821128701169699238285819029525013499062194249661362111942997751806771309051925499760902306206603969565801588981432310364962258163029102033881026767734208938059975624400501493082101791675454079082676047015332377993843963614586169032596785876080320227237664021596616961691298671082808009718150459633046862573683012364072700304843847782143848085748731565843145671017193803055404889116188619295029840819418663643999325256173336145109094269642755488168024277558670866356749705113522168110750169008534275721903855505616326800477189009098282902611891300617958762281204891871068141315590284510553696363020753026199495386420702836773762646840838923812068885341002576706044854602775855859552834064197153073235799321912312017159795966085887784807989489971582014543756320991620844297524529367730580255199000079399786598127219251328729991983579149856896772176339311356421507151710927984168943212563458860963972501303311652526906027916172121675349390080940007099438529513231838952403163172544972579018958554888560446957298614263908003421726853502915038461809638230218924150817444490440318855932714882649151896241125114399057208712787225637153151263687761119124872543659378060782557990528264656602215249769964640966308677967796691951698662685183104409270625230801860580803592733935011274169715573207238205844672724495767490036872425482607335462840655675123623707885240858587185266665570056755353286078563949138566541189554343171526383651578560031998956114322723159972182302383486404059113528746930756632243824912132630171722466154848621306659300879238728298065321002636499989767202767797267310767384402822647256133450914785211118871698749783765035244036173562642794208495444434489210954015577256229675787650304828453375393492154403936287082373338936225475902346920411241891296286507315260044321938132920472141300648667698399198951500104407775415952997951327490403122363637810563486945741658037450144940642270281499244381777674779768173983264113943917359484763989697697690908843093087470659386632267347883122994842942826506922194583761226886950658868448260420142783535410388157879777655400544628744174561683765315351513128918067862197517924081163875721208833648708840955557679140341304555244405346510335032416326968681910361282237601673318243578661312108890626640194375995875178551275320892307509623682859646353823819986494158355464883228649286114079327835746631726844106549567458957448339668633434166679046519361898413147287344048945427593434835195468836138659647451703264883808784928848538516811330717783577780988227984353118301972331198677812549603326213815594470510379820347349237361082304429534971777270565872740174315135873589113186664374935158181233458739095343525123001728259789181560818872348402305617043859991557518719635669899279384409722509020053762194830968122818415021289293790704283402899570445277767546013724489415293690244224637444818325855443202890779041021354794444040467120968324367276673531559565497660022068634994532553592548278160443276874810625289785910789618301574007190363447479967930549346423038148360079157066283205685521994707118814579432092130630014050606702811532088827386804513468225646063238635623856866598441187402398357443427541081256160407359717899633310472556905375280785848474215270620212533938940785546558890094475147708361668039668387029443179662725513037931749785809002579521655314643966629250100289019625811689866720791986639124736177308093634025655913788281395684795249922 1093044043289988968116371624443235159117749681076724283074620040776282517856577329465213220382281774977354794917580498152721605548427057211492999094086077710847762755411515036579185728406247474743046638347743339559714300387209636024467809413281183677230429119749080026884550769041595489701931926999982491833316920152212613176239468342416582582034929962577645886710626797534542661561230006810453972684711103838660804503703852031309549613597561420551322879163285643381122297174846853801436107487154087864981856335608301980382956724682417478951743084388905160823819071320681969246756031419333407403225601137712519201599350837418651274860012830658895003494955235523359949676095620610717960784006411632803174215055171490466959200067182842744459046222785029809217810085248990539226403067110914472057698641221167866699085993619408109278663004638036724659266675989125072565203963318114811400817313890711490561212360259849873045905112697628460545997070670453459997929301781371115711187181240422200346010387617905761133135247749366174454132122667189606724498438791404264499512792257772429757769495260468063335219003564463721145564027720794141155423560784449063378516794661416724441110343361188913209571209504201995535078654426492821288513579163118488202470075794143298594023237153146216831296810107779568810052425385424740883219088034634003869239524689622456935191074698213483071868269013099607056818477321527975367126362305866003536867642194740146249301965413598438703333517815058787506872723387794403934001337834465697084536530905512941373107185924881875586342374538558357161253792816442329898079462329773098442626889844130819572160420284492959145150693662322861543463690546418021873670211151761919674741994334955392727947423229911262670267889117625029615281284303224153924846944086060942981945633125725652612792560549746524246860679951247604366372479852414568198430939603058381355711751390334351894029653452704202481037003661714333036855956537895448022892093950393787819551256081711306439679277078873094904456160078226550157604171965242824918120066708090685835808089764840765816755235299116744122157507430113106284785326374038579504266488304164039272349294155977854088574964599868279643355811556924594319332240352829181707798186190590560851660826464236156915341726855500951948142199484023568068990779625717079066881357857256554441016698515091211003073377696328270017132169880790692701404928516661982194638019814323392333524434346226056024757382915428628312655813122984886247328992148734496967126130215752111196725417194683025769717837433511256077769120247256309376123008375483916982300147019141740511329597676892034963682576652017711470730362846420494820847551141338745244986028775621194156806475514427147391243208864999649990480898531793707484034588892459573570203221330251082120759641198747537127587608493378194312953661258334575384349435570390114083928372263957116451558460586846008097596827929721274947499472126813852743485849605825110745757302416423484027617707181602093146197685062995291965175670750963599798675124027452285878838068122186225182801391210503748408354193036862769267203183491309089801116897448430072360371898658264861306404785241931903282596166301336959823908011432930380478956450942823455614483726226565017053087295945262581752116364625980552151219946557123949263886637167053859117847231959423610428461581482709285268059962503714343825566169683773356535602119205176062902528016943774341573285276318753402461818520882173791251106577288604465438997708550348540646573254501754296868648804830518985413085580872170342121573658003415624254798406975902288498243040889141481903195846000589280405638691994234580221610063894523467327452532302054225593764201533521379372672842739548005188649205471662514336271085483197127701983398199807050911254110777331746338076703729958659943878840936156714520422905032734774572204597591114803808038417387689728623637466030968140325782085594924994015942508113761388145061014257820262955912648373602414810272036708252446330136781155915504337473203198238001996506881351702126745193922919833355357288961255807421851881424010407233241753624410097595823810698565201 1768582413243813587481211745394145763208283116112069397772194854559423791862961000386120109945005796716198054627586623132625277455675159420565082626334437781855806531825096087653239060297995076242488151962473579505875736652091895936769367756817659579545684037978180382167040830446424230692036631343339575398292653375031875610862812690764795524528534091458556802525516919860474763948321175651334315616830985401074713091117319395295282070986845148915792420409027842679651184897963953900360483656852518071810365245618096717352674221215606774242670587487855525437883785708863129584265159484300939563034871735168369695847031339909990978683048156408793835379835684389765534703892061974767943756006564048714995343756341189705245019096707856243521240472446391921160807837055761848278328566871816778264302610786969455680518303984370367441692106671917751427000884927185048189604464811196913192492767969794166608227692637843717009519698866661057331873150990680697661950898398332807009858264048431918496470020664768334816147611822066479297979904811037692473230004634549935516706595313177318873958114555497904154637667208463046401737363865903235425066316272617087656075465527773474146223865529299663378579743779923899390584270753293298477522677446021100093770693752905579798915108221287532421581320661475931830805451584920127303921924808396650710078448501691342276193651404258337674644124872652441121015630394763774689038674323025799502953529979548135739273547428142195024325138659356312036240453968049602934080737621063824303787859635504924952257042821654051925653730960065508872181776985385542461538323293745599745938542371036847488332541959842349226090700761761391056695529498821185046215183730780878229630554781912691342211331233332989523770804156086839253511503227374971369337384404916875696828282277621893737906959606955237034086317104398868054133598977287111857809000385616371883976407992549601663994294419012880448833695613412995722039060947166073253693954531197380553486267355881022012886515284717767628951927568263422583086779300705665573795190331798571076666676950107431386811990652402822686106645996654295839128497900422231082826520303120153595072454128160156472061368658981808390286568189168419231464870524551647862646807497249861730899554762301477917978226845268154715939466794790952471813426881850529981666568976128253190800463550335247176636020490536765461566659091744708278661158192449632499466473189716884487928370633308429363693608391330975233067055014281172754644252193056435100046602357052759864423816393634525874125612849464254029096610650378673013933571862429658640337597164082382781611096921273812638462344826000975584674280205905258810545248832247588338073499435007826424154358637421990334069715787194233751707785482452575932295009035243108980591379210028737521304269942922098811352923844891323231021523455852499465513311291598947732637213219514795591899765142090413444107162962137601916181382488096090345159167849403772057866193043063678403613582360153368467089992572618974824822024574783586292833479492335514528124182201514060929433118054610297975813150485202437900637350170355609163015310595717416409317326251699696501873621380591550734299431185145744752756549949741711196740028723811683598836844528537348251765108494865907965931959096490931971567295794485031568316172138831129683719972133738746302050694669373660203218143737173082920909694806775084795391300765994935250930322560818201564842795038389072361097905291896300271160339483435433561816123571637834437277537904653867313926572376532709902500874562414566759018476329271067457689186016923643292687081356262450227563122674120839971136352016303215216142617487071745487895809176864850883550112323139680946680033102995485156579754818085552484631164640263410907668920194514169725833542869462376352127310432770192032706227740670182746068968271370398429071196032302206206395860815230809879797873390686039959092558151830369296728356587976658765273548196761048502471538468077562518633704747920833359579960818641017375404952984047004576028536666346093374444023208852981168978827976599408491006160187715326875779280323885877219495493815123 2861626456533802555597583369837380922326032797188793680846814895335706309719538329851333330327287571693552849545167121285346883004102216632058081720420515492703569287236611124232424788704242550985534790310216919065590037039301531961237177170098843256776113157727260409051591599488019720393968558343322067231609573527244488787102281033181378106563464054036202689236143717395017425509551182461788288301542089239735517594821171426604831684584406569467115299572313486060773482072810807701796591144006605936792221581226398697735630945898024253194413671876760686261702857029545098831021190903634346966260472872880888897446382177328642253543060987067688838874790919913125484379987682585485904540012975681518169558811512680172204219163890698987980286695231421730378617922304752387504731633982731250322001252008137322379604297603778476720355111309954476086267560916310120754808428129311724593310081860505657169440052897693590055424811564289517877870221661134157659880200179703922721045445288854118842480408282674095949282859571432653752112027478227299197728443425954200016219387570949748631727609815965967489856670772926767547301391586697376580489877057066151034592260189190198587334208890488576588150953284125894925662925179786119766036256609139588296240769547048878392938345374433749252878130769255500640857876970344868187141012843030654579317973191313799211384726102471820746512393885752048177834107716291750056165036628891803039821172174288281988575512841740633727658656474415099543113177355844006868082075455529521388324390541017866325364228746535927511996105498623866033435569801827872359617785623518698188565432215167667060492962244335308371241394424084252600159220045239206919885394882542797904372549116868084070158754463244252194038693273711868868792787530599125294184328490977818678773915403347546350699520156701761280946997055646472420506078829701680056239939988674753239688159382883953558023947871717082929870699275127328758895017485061521276586048481591168373037523437592328452565792363590862533408087646489972740690951265948490491915257039889256912474766714948197203567225951519566808264153426767402123913824274460810587093008607284192867421748284138010560636333258850088033642379746093013550797110877380829570444993687840422582560381226537634833319953700769106664081666278814520540804206507567609048547926833384807631817162065426458179709398186865035478698828972535400980066086709111614694104493004040276821452804979534485388450991306759603545722868137266059001973244341790932067172732572804871061149233588317551643843450282975510106865730897634982390056580237913575622637744183224123292940694598165847602144921478018687055404643052325753631392799973586333583059528210629020580960834151849137725312924652193883742188684014246283416329597927702682550794600540279819642063911141669635938940532338269517543975184714187074849862746861989061816565585483471912043458225728936421541703990891858876863680854614909943088645017455228882803623495459487162431231289541755461613287677635614266789997695325747186091508603519787800406962250323700286112234509265114046384167343522065207167840533661664698964132208044147488769689224909964557808278406622523454016895597486482704576664561382672091675696479666635139213320570755102365304852404440128489718048323722471484122787242351608980832202809305884988801567204093162356730512276152082945471278106240887426746475864490548441330993419971170998153458339504592543138128071357142474822916426174070091522266916772039899000813832121986375083850792406408164182575377207051695315586455434584908880592134332686691712487592992825931790930122245403932130758968674710120376775044010537795437752681381595212815348341478919076477314313856661060319352875842543490345228960289748066820902250123460538609652318394321220637087653646794122690204014162728851976585068676826897266491873304105173001275793623417010014434278202920538503435339421654180284874643746755363312670864701738046910334562454581311458384186841679977328905741456173279689716741974556521712878156182285006572535418018048220119637946128686336526267789232406830342887584198122560117532904733983473043306192380324 4630208869777616143078795115231526685534315913300863078619009749895130101582499330237453440272293368409750904172753744417972160459777376052623164346754953274559375819061707211885663849002237627228022942272690498571465773691393427898006544926916502836321797195705440791218632429934443951086005189686661642629902226902276364397965093723946173631091998145494759491761660637255492189457872358113122603918373074640810230685938490821900113755571251718382907719981341328740424666970774761602157074800859124008602586826844495415088305167113631027437084259364616211699586642738408228415286350387935286529295344608049258593293413517238633232226109143476482674254626604302891019083879744560253848296019539730233164902567853869877449238260598555231501527167677813651539425759360514235783060200854548028586303862795106778060122601588148844162047217981872227513268445843495168944412892940508637785802849830299823777667745535537307064944510430950575209743372651814855321831098578036729730903709337286037338950428947442430765430471393499133050091932289264991670958448060504135532925982884127067505685724371463871644494337981389813949038755452600612005556193329683238690667725716963672733558074419788239966730697064049794316247195933079418243558934055160688390011463299954458191853453595721281674459451430731432471663328555264995491062937651427305289396421693005141487578377506730158421156518758404489298849738111055524745203710951917602542774702153836417727849060269882828751983795133771411579353631323893609802162813076593345692112250176522791277621271568189979437649836458689374905617346787213414821156108917264297934503974586204514548825504204177657597332095185845643656854749544060391966100578613323676134003103898780775412370085696577241717809497429798708122304290757974096663521712895894694375602197680969440088606479763656998315033314160045340474639677806988791914048940374291125123664567375433555222018242290729963378704394888540324480934078432227594530280003012788548926523790793473350465452307648308630162360015214753395323777730566654156065710447371687827989141443665055628590379216603922389494370799423421697963042322174883041669919528910404346462494202412298167032697701917831896423928947935261432782261981401932477433091801185090284313459935988839112751298180546037261380021133073605473012617633389418139030214495809513060822617625615761705356345418677401800940265488064280109258727244901561247193570966193757161309381175612842914752144599698090578778789923151547231756617496534847367167219334929857630925573049981952077517969063132439764135962341548013655403990152100343234262975341347306506074551791519439660240607266304019662640078923258231012441938048805833921921133027645636847005115192789271128059382640439388117493896469496698859348624606962945791531385979750308557163368181084591734750293456183160840774996708170039574315376058153588009549202798702986707635357990871026834985811153853996478779862237103006033433804185304632654861489688502550840834844871901908830080377670208233241614819719900530772384342083012123314935086432525214347041667627319724344359980494007267645068477883832020308127147518639864905179006551161664254310152028003115004751195028671628449329421111332413802872436508390446822812157415283639713556617512934994397683980282818962416094354538146094012400518981444716118485287176226901103032562970821456605674496249978060509667385559297323526126384720737165933404388662065410744702970866395531547184014331465966391793427256255475332562629955693624209521128330311062031496501949583584405218087329996999475639610610661957759170176779009749575083617203601666382358322091348830960347911396026841010653895298868666958303244150655783927360864426179800741266032908945538975501808715107833619305533414763723949517321238588835390362921196516256499042331324595499044009291296417497080012560841575475571430346989655719216220830139018151348383233212812340220243967201898585732609399221289714705675608110651342359960855725309757539847539446204094113049296702793197539088283109166332011148563954684394313494081969337539317695246617209006238833893744385837886993312185057869350262801686195447 7491835326311418698676378485068907607860348710489656759465824645230836411302037660088786770599580940103303753717920865703319043463879592684681246067175468767262945106298318336118088637706480178213557732582907417637055810730694959859243722097015346093097910353432701200270224029422463671479973748029983709861511800429520853185067374757127551737655462199530962180997804354650509614967423540574910892219915163880545748280759662248504945440155658287850023019553654814801198149043585569303953665944865729945394808408070894112823936113011655280631497931241376897961289499767953327246307541291569633495555817480930147490739795694567275485769170130544171513129417524216016503463867427145739752836032515411751334461379366550049653457424489254219481813862909235381918043681665266623287791834837279278908305114803244100439726899191927320882402329291826703599536006759805289699221321069820362379112931690805480947107798433230897120369321995240093087613594312949012981711298757740652451949154626140156181430837230116526714713330964931786802203959767492290868686891486458335549145370455076816137413334187429839134351008754316581496340147039297988586046070386749389725259985906153871320892283310276816554881650348175689241910121112865538009595190664300276686252232847003336584791798970155030927337582199986933112521205525609863678203950494457959868714394884318940698963103609201979167668912644156537476683845827347274801368747580809405582595874328124699716424573111623462479642451608186511122466808679737616670244888532122867080436640717540657602985500314725906949645941957313240939052916589041287180773894540782996123069406801372181609318466448512965968573489609929896257013969589299598885985973495866474038375653015648859482528840159821493911848190703510576991097078288573221957706041386872513054376113084316986439305999920358759595980311215691812895145756636690471970288880362965878363352726758317508780042190162447046308575094163667653239829095917289115806866051494379717299561314231065678918018100011899492695768102861243368064468681832602646557625704411577084901616210380003825793946442555441956302634952850189100086956146449343852257012537517688539329915950696436177593334035176681984457571327681354446333059092279313307003536794872930706896020317215376747584618134246806368044102799352419993553421839896985748078762422642897868454434787681188163536054816864266836418964317036815510238793331610672861887675459197797438130833980592377400140595591004850182324512791288813290758590740876638299234392067502662501986722283570269629161812513415415274242828072445648637794046732338256809885613085530530629367492486117605507842752187782038349695483566310556766073330848779420255504192555856265867586076026941120265784695565091582001236085153510945142764954204890648474082180580290588376805432092226261370689233988521430358318971892884226649165238805015577071365768384186458619678816216599963256527515144745855355643543091717915976522449202759861537665113183962038003266076161443664291693665347843847508404817415226277958475850686531911115342048682848914633153902136584838390744147837529332852236318417493685007091279726684012393948695776071628812118430434625638458768090626158111153906085672715085894548132988057081962025477986038742078861469917375122887402028606541433900217141780497702993232721790750601107286854380320063459763075246973539551145774356218947936413861423787871967457378140708336931557847001570003287841098937752674022006930757640036483315694173027515231563443787815610584604979122717470195679077326790636100533673785431584384520202744994644450882664372002575506874547325847070314489081060023541080724686440037378806091647980250262171118592492134703003838178740036461801585385784788082465847037675397581686126435664887184488126973556983156611000008850163050621732535338758227895985876365094323977279052714879580744431622783279136226235264417221071886886668552233994400528841845645341095922070085991452752585942673105923671419239912151437517176445187660267392739013444767754060801161265348617017721099372702442533613719915466225654221514406441413069176781328583960447110845089791852823306107878575771 12122044196089034841755173600300434293394664623790519838084834395125966512884536990326240210871874308513054657890674610121291203923656968737304410413930422041822320925360025548003752486708717805441580674855597916208521584422088387757250267023931848929419707549138141991488856459356907622565978937716645352491414027331797217583032468481073725368747460345025721672759464991906001804425295898688033496138288238521355978966698153070405059195726910006232930739534996143541622816014360330906110740745724853953997395234915389527912241280125286308068582190605993109660876142506361555661593891679504920024851162088979406084033209211805908717995279274020654187384044128518907522547747171705993601132052055141984499363947220419927102695685087809450983341030587049033457469441025780859070852035691827307494608977598350878499849500780076165044449547273698931112804452603300458643634214010329000164915781521105304724775543968768204185313832426190668297356966964763868303542397335777382182852863963426193520381266177558957480143802358430919852295892056757282539645339546962471082071353339203883643099058558893710778845346735706395445378902491898600591602263716432628415927711623117544054450357730065056521612347412225483558157317045944956253154124719460965076263696146957794776645252565876312601797033630718365584184534080874859169266888145885265158110816577324082186541481115932137588825431402561026775533583938402799546572458532727008125370576481961117444273633381506291231626246741957922701820440003631226472407701608716212772548890894063448880606771882915886387295778416002615844670263376254702001930003458047294057573381387576696158143970652690623565905584795775539913868719133359990852086552109190150172378756914429634894898925856398735629657688133309285113401369046547318621227754282767207429978310765286426527912479684015757911013625375737153369785434443679263884337820737257003487017294133751064002060432453177009687279489052207977720763174349516710337146054507168266226085105024539029383470407660208122858128118075996763388246412399256802623336151783264912890757654045059454384325659159364345797005752273610798049998468624226893926932066428092885792410153108734344626031737094513880881500275616615879115321073681245784436628596058020991209480253204215860335916314792843629424123932426025466566039473286403887108976918452410929277052413296949868892400235541668637359229805101095619497520576512234109081246425391554599440215156205220314892740190702940761103302714440360522515208237411485666401611402432520132912295333552221706679781576547855038378790413993662293198036884438600044148588426877837135442044277637045168083359454086058012335562489568787778515268897585254177425325583501902714591191219730391393844078205530970118729981623007644002113578811853594265613566560040896933968800273310853105439527444704591199093968601054266223480614863169165080914971182889445327314174207470990091513326298599851834423405328820922009956253388064494192526602872464588844100921033345573121774043018052080750019637135126808730860192769544034430277135115374128980195569763904562735104128331536600497304796301325705315218427245323877299127702327233293066428582462628753463519285654829739603235506784047499697420569496447528784837635401322381792418087430310117285086008889360396316311496318643797005633240772195317225772141556546964562795638217794996156820270606197008446081246983085195493583762861445502864962235663635414032544069804148205569190945089106002875109121429282990564126073743509234794126107453028532227175579276374220505751761115428583860159813355656602210052841151012325081958164529448736696847403151372372041072597836064219816745543279118929129421836642790486931199043166216262542851418693733621441348846390505415305431969079650908437644294795571992001362930046679307120774866663353726939995167661511821057291613556455056315861969772934855442456094556239223235269901765046334620772809047543926828531469307281167458261550783757266031380095637461195057023984633864361505788310147560951599889444374514949028869663327386836847107801884803764971916761023650419308010675072969798334104157274849722173568909564771218 19613879522400453540431552085369341901255013334280176597550659040356802924186574650415026981471455248616358411608595475824610247387536561421985656481105890809085266031658343884121841124415197983655138407438505333845577395152783347616493989120947195022517617902570843191759080488779371294045952685746629062352925827761318070768099843238201277106402922544556683853757269346556511419392719439262944388358203402401901727247457815318910004635882568294082953759088650958342820965057945900210064406690590583899392203642986283640736177393136941588700080121847370007622165642274314882907901432971074553520406979569909553574773004906373184203764449404564825700513461652734924026011614598851733353968084570553735833825326586969976756153109577063670465154893496284415375513122691047482358643870529106586402914092401594978939576399972003485926851876565525634712340459363105748342855535080149362544028713211910785671883342401999101305683154421430761384970561277712881285253696093518034634802018589566349701812103407675484194857133323362706654499851824249573408332231033420806631216723794280699780512392746323549913196355490022976941719049531196589177648334103182018141187697529271415375342641040341873076493997760401172800067438158810494262749315383761241762515928993961131361437051536031343529134615830705298696705739606484722847470838640343225026825211461643022885504584725134116756494344046717564252217429765750074347941206113536413707966450810085817160698206493129753711268698350144433824287248683368843142652590140839079852985531611604106483592272197641793336941720373315856783723179965295989182703897998830290180642788188948877767462437101203589534479074405705436170882688722659589738072525605056624210754409930078494377427766016220229541505878836819862104498447335120540578933795669639720484354423849603412967218479604374517506993936591428966264931191080369735854626701100222881850370020892068572782102622615624055995854583215875630960592270266805826144012106001547983525646419255604708301488507672107615553896220937240131452715094231859449180961856194841997792373864425063280178272101714806302099640705123799898136954615073570746183944603945781425122326103805170522219365772271195865339071603297970325448380165960559091440165390930951698105500570419592607920534449039649997468226731778445460119461313183389635187739341095308797731487200978138032428455052405935473778194122137911129736313908122906970968921884589352037571049136797597715033335781707790943427815505729173813273798978288123965636003469935182634899017617122491335841594089963270312621618486439310930992083616776856854034201512408367764809536763754650675926111641868096362031046055879344544588599746364674432929518139358168582177267246671511659628773770622552119966066776518589144878533016744242739695747140331485310774232365537114476128761433226021557412940493938492872645853668184742152280739567075903946992990424070953348040841443345707190066948420538837986478702590824355730191716056426626847366997194789237413467708365895928258424454550353086689336043456075945545619183798223043613349471900489401125848276169065933349541114718819390322309706972007889693076398103304921878547012897254391922287376280987850757141592456762585591968702484504610746863113387361123871279557347685240172488037495901830216528638099141499998865962562945918333058995936867028022558713464768535707966044962415956382495108406873067461041141002153839796520082665205417320385168741900879591197875846746039358424815602310505795689517531324845378731086575746002422854656603164856606285434900860168244680016100651246660935505523014900588832711855295807011336484211395913121797284276101598622837191259369191300540429134925189935037221906252724344436804478521703907195884065902996991558404744538092925771268352555148612362938896842357742507402002111954835981044026606145034570666271334637060293592556213991668691358973460295122156570317280329021301650893189267924453539393272620210847493456863189702799335549612632574200429821524628898527323592328705660690605639863566046590762700089279380721521800269990626138275430091832377187456401553758781215002364641574996875017443346989 31735923718489488382186725685669776194649677958070696435635493435482769437071111640741267192343329557129413069499270085945901451311193530159290066895036312850907586957018369432125593611123915789096719082294103250054098979574871735373744256144879043951937325451708985183247936948136278916611931623463274414844339855093115288351132311719275002475150382889582405526516734338462513223818015337950977884496491640923257706214155968389315063831609478300315884498623647101884443781072306231116175147436315437853389598877901673168648418673262227896768662312453363117283041784780676438569495324650579473545258141658888959658806214118179092921759728678585479887897505781253831548559361770557726955100136625695720333189273807389903858848794664873121448495924083333448832982563716828341429495906220933893897523069999945857439425900752079650971301423839224565825144911966406206986489749090478362708944494733016090396658886370767305490996986847621429682327528242476749588796093429295416817654882552992543222193369585234441675000935681793626506795743881006855947977570580383277713288077133484583423611451305217260692041702225729372387097952023095189769250597819614646557115409152388959429792998770406929598106345172626656358224755204755450515903440103222206838779625140918926138082304101907656130931649461423664280890273687359582016737726786228490184936028038967105072046065841066254345319775449278591027751013704152873894513664646263421833337027292046934604971839874636044942894945092102356526107688687000069615060291749555292625534422505667555364199044080557679724237498789318472628393443341550691184633901456877584238216169576525573925606407753894213100384659201480976084751407856019580590159077714246774383133166844508129272326691872618965171163566970129147217899816381667859200161549952406927914332734614889839495130959288390275418007561967166119634716625524048999738964521837479885337387315025819636784163055068801065683134072268083608681355444616322536481158160508716249751731524280143737684958915332315738412024339013236894840961506631116251804298007978106910683131518470122734562597760874170647896646457397410696186953083697797640110876670373874310914736256913904866845397509365709746220571878914586204563701239641804875876793986988972689314980823623808468256450763832493626892350664204470926685500786469793522296716259547719727008539614275087901320855287947604111137423927239006749233834484635141080050168309980906637011264293002818029926075972410731704531118220169534335789007215699609632037614872367702767811312950674713042521375666511125351000408900432973224190120501215456898182789939286204900251581041391695844009471095954154374366608545448132323103868643949928610354843722860071296768458466401903053472851976153522238696048399526233146992111828597837005309313700372382244743032638847967581568288877930612756506909094992759096126468531353907233195710749965349274307164631541943439554167741945559024490353749359759996434955978888849922718318928891215691467918228134810535241751383948009008444091685479895420196236225619979975896318913597172593545041664393963860952404500602533846845911020145095637528134217331766992204100430538214944975595359883145385806661935817590360377099240810085289389271980952139531700748788683505663697644777995357457574046385262226532840134417785297004499203335141235558831137493413992585354351682563531864786315568612964828576355389958262954624903863599342661482318328840831352929238546049085160388820935852042233533937031593496359815591274834080172857194028774534650030235879539077112037196016288752104839829456307848870988346674027225670790876384744543708183887362768285162869882112165818439582734538488120429962265777715676866236265072468986887288223172255325348544730456408412296990373824189001363415563148127140613725868943521664863282268665465681775976211688117966091862279827789693376155562329148847111147453529699518357426472082326663642074459940733194752985008700553787669109044240620455734179431187073827631224414455388990404315633739889657260580050014378515075460426027476116227829323685073755598055036453742251685198131474523557115319159639491297170443927008118207 51349803240889941922618277771039118095904691292350873033186152475839572361257686291156294173814784805745771481107865561770511698698730091581275723376142203659992852988676713316247434735539113772751857489732608583899676374727655082990238245265826238974454943354279828375007017436915650210657884309209903477197265682854433359119232154957476279581553305434139089380274003685019024643210734777213922272854695043325159433461613783708225068467492046594398838257712298060227264746130252131326239554126906021752781802520887956809384596066399169485468742434300733124905207427054991321477396757621654027065665121228798513233579219024552277125524178083150305588410967433988755574570976369409460309068221196249456167014600394359880615001904241936791913650817579617864208495686407875823788139776750040480300437162401540836379002300724083136898153300404750200537485371329511955329345284170627725252973207944926876068542228772766406796680141269052191067298089520189630874049789522813451452456901142558892924005472992909925869858069005156333161295595705256429356309801613804084344504800927765283204123844051540810605238057715752349328817001554291778946898931922796664698303106681660374805135639810748802674600342933027829158292193363565944778652755486983448601295554134880057499519355637938999660066265292128962977596013293844304864208565426571715211761239500610127957550650566200371101814119495996155279968443469902948242454870759799835541303478102132751765670046367765798654163643442246790350394937370368912757712881890394372478519954117271661847791316278199473061179219162634329412116623306846680367337799455707874418858957765474451693068844855097802634863733607186412255634096578679170328231603319303398593887576774586623649754457888839194712669445806949009322398263716788399779095345622046648398687158464493252462349438892764792925001498558595085899647816604418735593591222937702767187757335917888209566265677684425121678988655483959239641947714883128362625170266510264233277377943535748445986447423004423353965920559950477026293676600862975700985259864172948908475505382895186014740869862588976949996287162521210594323907698771368386294821274319655736037062360719075389064763281636905611559643482212556530012081405602363967316959377919924387420481394043401076176985212872143624360577395982916386804962099653183157484455600643028524740026815253225933749310340353539584915618049376917878970148392758048051019090194570258674582313429800415744959411754118522647958933725898708149062806193987733597673618342302885402710330567797204378362969756474395663622027386872284155182204117992313752216991451694572665061117805146346519935582737822250736397654601327476867692468390314603043284361862218239878945725713073414713101625746776074358662115176044822291870644845342079745005060840703867555517265004385082057697050311156634313919849588931251968772322199538649385476450317041253221300155055612896787595009185291266214557302169898597982913658569713205652910034985317842538834915422924047948709459749843937266868546235832982109532279681695925521515502711820216206894513564883364986800680669668467196387025738964485959837841189339656685280498533843136823522608257137537308094038216805441117518691697572670881357974465456750278563862176044629534977202125680597630062083881164056749368772516926797003365165898087153891890133430281020607913065147332067572752360531028921211071463796831330415666044865753182458002400994046248673314407287949964751586696782598081591958752633904002155505108806158925551588280604520537072884892482703933718322630917148920349519845556959095531923852197042126259623588240040350719520371574164198284667166388267417062419925797857311730502694912640866801273486978721711231725027650777029255740614522311409288548778568727094289186831500682289226088807840364022605789670667577636611957255714724111126432946099124330436449154885362838779838812503159813479583042399606992663376110833922462677438548093826407879956537697483645436978766736686460205424844276913619302842957332218362921270655654242081122051188727565395608550845485343746224193311883834084062385587876077315896534162004132872167318944451465196 83085726959379430304805003456708894290554369250421569468821645911322341798328797931897561366158114362875184550607135647716413150009923621740565790271178516510900439945695082748373028346663029561848576572026711833953775354302526818363982501410705282926392268805988813558254954385051929127269815932673177892041605537947548647470364466676751282056703688323721494906790738023481537867028750115164900157351186684248417139675769752097540132299101524894714722756335945162111708527202558362442414701563221459606171401398789629978033014739661397382237404746754096242188249211835667760046892082272233500610923262887687472892385433142731370047283906761735785476308473215242587123130338139967187264168357821945176500203874201749784473850698906809913362146741662951313041478250124704165217635682970974374197960232401486693818428201476162787869454724243974766362630283295918162315835033261106087961917702677942966465201115143533712287677128116673620749625617762666380462845882952108868270111783695551436146198842578144367544859004686949959668091339586263285304287372194187362057792878061249866627735295356758071297279759941481721715914953577386968716149529742411311255418515834049334234928638581155732272706688105654485516516948568321395294556195590205655440075179275798983637601659739846655790997914753552627258486286981203886880946292212800205396697267539577233029596716407266625447133894945274746307719457174055822136968535406063257374640505394179686370641886242401843597058588534349146876502626057368982372773173639949665104054376622939217211990360358757152785416717951952802040510066648397371551971700912585458657075127342000025618675252608992015735248392808667388340385504434698750918390681033550172977020743619094752922081149761458159883833012777078156540298080098456258979256895574453576313019893079383091957480398181155068343009060525761205534364442128467735332555744775182652525144650943707846350428732753226187362122727752042848323303159499450899106328427018980483029109467815892183671406338336739092377944898963713921134638107494091952789557872151055819158636901365308749303467623463147597892933619918621290510860782469166026405697944693530046951798617632980255910160791002615357780215361127142734575782645244168843193753364908897076735462217667209544433435976704637251252928060187387313490462886122976679781171860190748251748566429528313835070165628301143696053041976615924628203982877393189131069258504551165311593577722803233774885487726529254352490051946068242484851813409687343229711233214670588170521643518471917420884345422985521014622436287305257379372324619207770650399781390980777565312698846538042363945053833776405110764263146775609190796337034264531653639205585078311175714184179475317766574477722929596597358163575571055438862756673939916750314374541076249800260297643233049639265339189087247070426758683924011064898790730892556618672161067006602495607319687154840227149176927236825239047655919258357979348614548602055575628353914209058230302833651058858483951211133791946275312637921312877529728515907315905497411821625417388800439555229277328847753085170271001043232936759109581597365975406671423677484598964381351768498203617020682693900700152623031477895790938382756170747246446408889810264610964728135198674846903675955087636130266426283282208906934712094007864369233228389450721270923695013193267416829895599437538676099641886039647819186789593370290948729352525119484719322887080026243645833999049911975517718450123825492689665497498515320700080993005724445474633295071722915128362243010830359826933437672454359675013266944402912198871069351930414464624784894427704258936932483447537048500433235502002660336345432160464960690356543667509752051190698119013250823032354604285344978719821585539152392916095652602394648809429839814676783885687469071939333043318387933467402842077218295225926914023812604717214511685890986266032859331837009514481933656305450570774655657430423556794380195549065581938104101171158197923760287836649258732302609707158591072108020181850705668620596197511614755041511836380169170417501822248348337576335747583719350600873011853321643624169337762871459583403 134435530200269372227423281227748012386459060542772442502007798387161914159586484223053855539972899168620956031715001209486924848708653713321841513647320720170893292934371796064620463082202143334600434061759320417853451729030181901354220746676531521900847212160268641933261971821967579337927700241883081369238871220801982006589596621634227561638256993757860584287064741708500562510239484892378822430205881727573576573137383535805765200766593571489113561014048243222338973273332810493768654255690127481358953203919677586787417610806060566867706147181054829367093456638890659081524288839893887527676588384116485986125964652167283647172808084844886091064719440649231342697701314509376647573236579018194632667218474596109665088852603148746705275797559242569177249973936532579989005775459721014854498397394803027530197430502200245924767608024648724966900115654625430117645180317431733813214890910622869842533743343916300119084357269385725811816923707282856011336895672474922319722568684838110329070204315571054293414717073692106292829386935291519714660597173807991446402297678989015149831859139408298881902517817657234071044731955131678747663048461665207975953721622515709709040064278391904534947307031038682314674809141931887340073208951077189104041370733410679041137121015377785655451064180045681590236082300275048191745154857639371920608458507040187360987147366973466996548948014441270901587687900643958770379423406165863092915943983496312438136311932610167642251222231976595937226897563427737895130486055530344037582574330740210879059781676636956625846595937114587131452626689955244051919309500368293333075934085107474477311744097464089818370112126415853800596019601013377921246622284352853571570908320393681376571835607650297354596502458584027165862696343815244658758352241196500224711707051543876344419829837073919861268010559084356291434012258732886470926146967712885419712901986861596055916694410437651309041111383236002087965250874382579261731498693529244716306487411351640629657853761341162446343865458914190947428314708357067653774817736324004727634142284260494764044337486052124547889220782439831884834768481240534412700519219013185782988860978352055644974924072639520969339858843339699264587864050846532810510712742828821464155943611710610620610421189576780875613505456170303700295424985776159837265627460833776776488593244781539768819475968654683280968660025992842507174131270151237182088348699121423986175891152603649519844899480647777000448985671966950633914619603675076827384851556973473573231974086269121799247315179459916678244463674177541534554528737200084402616772842675350230373816651684388883880636571598655847161917748103086058488805424579134696923567447296551054659909892548732479676103469705670956020278751615877730733401519281996495319435381780117355777562647618131696962389500243881384346608272855263033671112930431206004148611384047855716907474742767737014744186112528091453604958089156955962262273118315261228538388899526900769137749073982906432660670883635883542181184157145859639260795589011831018927324337237605007334068794160693834553765839939468239619962498074067557203816596011080362765097498224488592020811874158220001994738369428472595414482635955427052105220911865640088828473140772764733652049029356552717698214147590340031577679451638891011229535131315543342611404353976033801180481977227667010291036630670807250719282983620923785956993595105707577487120316933328699558053121949014663562214501048205417451442299401500670825808887151931276033755237815608795800020844946944548682457850586592803879520570226039934836051068111478190038052864825245147224630511096681732204214888700652564422586134202743890967655602997410468783239029912409350738278473809383860025959501031230874087930961643189941789226149491719065903484624249710074861610000620954999890723117566188344728172026038354249053872099874524670825078536019145316592556881540648968826681608578120107862104888206603429022119635587746608136964660446748042074103009216229010001548404326383103121361322862677319562803482606907444931014655761248046441660221410419809969307226678188908387483647757041505081815911048599 217521257159648802532228284684456906677013429793194011970829444298484255957915282154951416906131013531496140582322136857203337998718577335062407303918499236681793732880066878812993491428865172896449010633786032251807227083332708719718203248087236804827239480966257455491516926207019508465197516174556259261280476758749530654059961088310978843694960682081582079193855479731982100377268235007543722587557068411821993712813153287903305333065695096383828283770384188384450681800535368856211068957253348940965124605318467216765450625545721964249943551927808925609281705850726326841571180922166121028287511647004173459018350085310015017220091991606621876541027913864473929820831652649343834837404936840139809167422348797859449562703302055556618637944300905520490291452186657284154223411142691989228696357627204514224015858703676408712637062748892699733262745937921348279961015350692839901176808613300812808998944459059833831372034397502399432566549325045522391799741555427031187992680468533661765216403158149198660959576078379056252497478274877782999964884546002178808460090557050265016459594434765056953199797577598715792760646908709065716379197991407619287209140138349759043274992916973060267220013719144336800191326090500208735367765146667394759481445912686478024774722675117632311242062094799234217494568587256252078626101149852172126005155774579764594016744083380733621996081909386545647895407357818014592516391941571926350290584488890492124506953818852569485848280820510945084103400189485106877503259229170293702686628707363150096271772036995713778632012655066539933493136756603641423471281201280878791733009212449474502930419350073081834105360519224521188936405105448076672165012965386403744547929064012776129493916757411755514480335471361105322402994423913700917737609136770953801024726944623259436377310235255074929611019619610117496968376700861354206258702712488068072238046637805303902267123143190877496403234110988044936288554033882030160837827120548225199335596879167532813329260099677901538721810357877904868562952815851159606564375608475060546792779185625803513347805109515272145782154402358453175345629263709700439106217163706715829940659595985035900885084863642136327120074204466841999163646696090701653704466107737718540891405829377820165043857166281418126866433516357691013785887871899136517046799321024525028237159674309853603889641596955826977021702002608767135378114147544426313157607203672589297769468875406883294730387207177031352939037618035193118766433013362420057096084771644061743753617604741039220131660602445437692866899961482798913926853356407855053016554233656127795686515498222431247825690405375060957926180894878695249285142458843666350562773032374862230374094072024050246250581192635267553378442327186933169596158193221913245633809922856367156037860290851181336227728689331128454773366956779274098569903661323762622820772451054458212514794429922577241893363039764916692652614008415313941610887666917316804166742813735958999440582725041764916611882017427829817493822078458737168989311496327736516339145962654993807773624023438022682306851010210469282852899257183649154569792002682504040249696462605840360519015491178902695895438522051504073310273574338183222852467358274529899093084105500899932326895933032507805334344414016623313786586386350985019093904364543932793332675277671046994447898807123266447829712730312693290367102170410517156247942324458232696971839639820408725801698955948064575537732219498329242944131964898999186146508968144937000479229871110680518715149207189955379042284784024265258239195583492984337748249939180830120452517489610139574928889448029165179741263389133888066425246470548176051432616293353954136292991081103107469751529296841738464311304479751052459627083354559285594391620798301148905718161408135397543933549333664273387824190520408265563023397952952378061658589314386210561811344568878477153602071363474305274277252383233777538285661682586798978087701573691847779295162584207035878723361741518838717160139476434403284972066991483273517074418237648419281311183826178749868690008558986755557553026577279061920240805291381210842844687370632002 351956787359918174759651565912204919063472490335966454472837242685646170117501766378005272446103912700117096614037138066690262847427231048384248817565819956852687025814438674877613954511067316231049444695545352669660678812362890621072423994763768326728086693126526097424778898028987087803125216416439340630519347979551512660649557709945206405333217675839442663480920221440482662887507719899922545017762950139395570285950536823709070533832288667872941844784432431606789655073868179349979723212943476422324077809238144803552868236351782531117649699108863754976375162489616985923095469762060008555964100031120659445144314737477298664392900076451507967605747354513705272518532967158720482410641515858334441834640823393969114651555905204303323913741860148089667541426123189864143229186602413004083194755022007541754213289205876654637404670773541424700162861592546778397606195668124573714391699523923682651532687802976133950456391666888125244383473032328378403136637227901953507715249153371772094286607473720252954374293152071162545326865210169302714625481719810170254862388236039280166291453574173355835102315395255949863805378863840744464042246453072827263162861760865468752315057195364964802167320750183019114866135232432096075440974097744583863522816646097157065911843690495417966693126274844915807730650887531300270371256007491544046613614281619951955003891450354200618545029923827816549483095258461973362895815347737789443206528472386804562643265751462737128099503052487541021330297752912844772633745284700637740269203038103360975331553713632670404478608592181127064945763446558885475390590701649172124808943297556948980242163447537171652475472645640374989532424706461454593411635249739257316118837384406457506065752365062052869076837929945132488265690767728945576495961377967454025736433996167135780797140072328994790879030178694473788402388959594240677184849680200953491950948624666899958183817553628528805444345494224047024253804908264609422569325814077469915642084290519173442987113861019063985065675816792095815991267524208227260339193344799065274426921469886298277392142595567396693671375184798285060180397744950234851806736382719901612929520574337091545860008936281657296459933047806541263751510746937234464215178850566540005047349441088430785654278355858199002479938972527994714081312857675296354312426781858301804725752919091393372709117565610510257990362028601609642552245417695663495245955902794013283945360028010532814575286687824808353388023290002143752681052617037496884480936328617535316985591691010161019378975781905354371111363635660340448481382093607939455633327076331478026060332149906820131706326976973716805088098642981781307773947883422801047486340479671413285034003964572782725926684662340938509398721078802810900329559712503909740953245304636484511815422938469313033190118189575009839119975229634537132241016591754968626969383835102313929422269172690314256637549152293008146257572097572269903873160785232578032705131713262859768578331799024671349272552901063713359675006235604596808250107085339567535266470299892598815107692817598716516860616850149937522472861755257716711773608598693584403014793960830328952539827365337122697890176891479976668724756210293610274957688270140169987921557246273664665978944962389060523032558561606963345364265837989876030323439495859476135944079631647080795628380784350933458120749360983500541086385154031440942204935919563940274458959956753737425359752077897079239099946720546534660395574264300499856972317855296868276512985108926289314515170052136899927724742634610858062118716153719024272584301007292308310490570354435384722153519959125846911945478277834540630847832604750919942400271896351364605076230111015516820489807770651122324337263980782283333715014316202475536180846947792867971621646032385107618795159334285228387714913637974453907751569978990732310712461414260735232636423104897622470194628245014954243103933991811897646147766570793402407109821209279594387432127244653783920797464750735067727161687880760786388093428314345950836637221720255326726242198481939997915131668780397175367522333803957250828628288939138252347926503281680601 569478044519566977291879850596661825740485920129160466443666686984130426075417048532956689352234926231613237196359274923893600846145808383446656121484319193534480758694505553690607445939932489127498455329331384921467905895695599340790627242851005131555326174092783552916295824236006596268322732590995599891799824738301043314709518798256185249028178357921024742674775701172464763264775954907466267605320018551217563998763690111612375866897983764256770128554816619991240336874403548206190792170196825363289202414556612020318318861897504495367593251036672680585656868340343312764666650684226129584251611678124832904162664822787313681612992068058129844146775268378179202339364619808064317248046452698474251002063172191828564214259207259859942551686161053610157832878309847148297452597745104993311891112649212055978229147909553063350041733522434124433425607530468126677567211018817413615568508137224495460531632262035967781828426064390524676950022357373900794936378783328984695707929621905433859503010631869451615333869230450218797824343485047085714590366265812349063322478793089545182751048008938412788302112972854665656566025772549810180421444444480446550372001899215227795590050112338025069387334469327355915057461322932304810808739244411978623004262558783635090686566365613050277935188369644150025225219474787552348997357157343716172618770056199716549020635533734934240541111833214362197378502616279987955412207289309715793497112961277296687150219570315306613947783872998486105433697942397951650137004513870931442955831745466511071603325750628384183110621247247666998438900203162526898861871902930050916541952510006423483172582797610253486580833164864896178468829811909531265576648215125661060666766448419233635559669122473808383557173401306237810668685191642646494233570514738407826761160940790395217174450307584069720490049798304591285370765660455594883443552392689021564188995262472203860450940696819406301847579605212091960542358942146639583407152934625695114977681169686706256316373960696965523787486174670000684554220340059386866903568953274125821219700655512101790739947705082668839453529587156738235526027008659935290912953546426617442870180170322127446745093799923793623580007252273383262915157443027936117919644958304258545938755270466250950698135522139617129346372488885685727867200729574432871359226102882826832962912593401246976598759162566337235012064031210376777930359565240089808403563106466602581714828903417416109305673895001839706327060908037336871447485630399916941577021100261597060739209295751200239510636384350792063978263597143139362408235450015794508649881309987605821746847648129251379532017382348777763014279537860476557059090342266467398049113512046275515408098036596832972177265854976206062777163405989744069925717905725822986587055227492851667853283229320494369417846878906138293893342186413811230810920253078731249790156286156772141937063602612891498530912192057924838910186105987583845484048452149894836871874526998818768018914524066436265884434918491543177168828314063333977239418581667304051605616262547592622881316841036739199167467860360406805325761012441365866343400601376088443264490423436169313058842856516025393785615413531480742035029784631793497810155628414699887014641351774564598305840895421568328366902975623586659150852224340861049417343860403408929276754909318127790076279591474199905950462091296193831453487324441958098452878244022172971430799596574146151161451033845143814637678940044863903339706229199499043118826823441805276992214980036969833230319259326855306767027418635123320357911737212008610332550946473138430943087844045524297082409407155012091686741666968428697273079075299095993832888189705318741369221192118624290241337067492860788648568460533335793342097670761761130572467746094016877339807440520505162728708667949501775539104158382719470774967931943110372371050728646945794447767673776099623796699608489259517381186375045675184433428253380201385197522782971442166727289828860819799520826492253906444321827357195189673065495305829224353711639957903746007553382308118747783821677339383930925075360381236312748869094230519463190771190652312603 921434831879485152051531416508866744803958410465126920916503929669776596192918814910961961798338838931730333810396412990583863693573039431830904939050139150387167784508944228568221400450999805358547900024876737591128584708058489961863051237614773458283412867219309650341074722264993684071447949007434940522319172717852555975359076508201391654361396033760467406155695922612947426152283674807388812623082968690613134284714226935321446400730272432129711973339249051598029991948271727556170515383140301785613280223794756823871187098249287026485242950145536435562032030829960298687762120446286138140215711709245492349306979560264612346005892144509637811752522622891884474857897586966784799658687968556808692836703995585797678865815112464163266465428021201699825374304433037012440681784347517997395085867671219597732442437115429717987446404295975549133588469123014905075173406686941987329960207661148178112064320065012101732284817731278649921333495389702279198073016011230938203423178775277205953789618105589704569708162382521381343151208695216388429215847985622519318184867029128825349042501583111768623404428368110615520371404636390554644463690897553273813534863660080696547905107307702989871554655219510375029923596555364400886249713342156562486527079204880792156598410056108468244628314644489065832955870362318852619368613164835260219232384337819668504024526984089134859086141757042178746861597874741961318308022637047505236703641433664101249793485321778043742047286925486027126763995695310796422770749798571569183225034783569872046934879464261054587589229839428794063384663649721412374252462604579223041350895807563372463414746245147425139056305810505271168001254518370985858988283464864918376785603832825691141625421487535861252634011331251370298934375959371592070729531892705861852497594936957530997971590379913064511369079976999065073773154620049835560628402072889975056139943887139103818634758250447935107291925099436138984796163850411249005976478748703165030619765460205879699303487821716029508853161991462096500545487864267614127242762298073191095646622125398400068132090300650065533124904771955023295706424753610170142719689929146519055799700744659218992605102736205450920039940300079924526666668189965170582134823808870798550986104711554681736352413877997816131826311461413680441948513587249729225671652884741128637688665512492640349307876728176847493002426059811986420482604982935753303649519009260615865660188931427948923880960582826648059715084198039480624128538247437413826057957428879132377724800986761361258889612166256146435089627232803479810889617543623733964283208386319083847807179798036071511238344359322494568102378180842257864833038225689268445535453991717688800442102001169615698103950517317144572175884484792554970255277618229732727540300532129336179668706167789807402607965068481148133013317416048348363051936844833699876759540121259086071359332775303205755168461344350932985167758203559853749357209237382472869577006240261678536597246323091107615156987819555256536843834549667930785489525667006871586872086562440191437989009658635455716028084710510344327798622767699082578117009200069672846279284384266498265598670221853148091675792305011457410759785994925403772767843898554869874936198598048229264284785857810628851399461537230550004515118062330737079740783356262885065220834540965208585704660375825133364071211452279694372539872478473399040657814163586113245889759553327883576521203111742223053737625660591398563735280493499998900091144678738673553505200088963259147745489311463755234491770053245981382476627890931032882916851953765446741433658198480909019235929366280859003632219944802969328120911680050015936233160086056683346445451303134141110731144838143983112985832441315619127057111986964236666753314693886884848961453472905612781523868002234730163254017796357173378526537910933842683083512142907681027084190778673722093991327853504213760485120366857572830581194824173603792307343992251036554159417073514603720318291242988974171483515237955976061158923620175175190348861678159072733795580790058745698953346119781106292597694185193563577497383169657715538697693933993204 1490912876399052129343411267105528570544444330594287387360170616653907022268335863443918651150573765163343571006755687914477464539718847815277561060534458343921648543203449782258828846390932294486046355354208122512596490603754089302653678480465778589838739041312093203257370546501000280339770681598430540414118997456153599290068595306457576903389574391681492148830471623785412189417059629714855080228402987241830698283477917046933822267628256196386482101894065671589270328822675275762361307553337127148902482638351368844189505960146791521852836201182209116147688899170303611452428771130512267724467323387370325253469644383051926027618884212567767655899297891270063677197262206774849116906734421255282943838767167777626243080074319724023209017114182255309983207182742884160738134382092622990706976980320431653710671585024982781337488137818409673567014076653483031752740617705759400945528715798372673572595952327048069514113243795669174598283517747076179993009394794559922899131108397182639813292628737459156185042031612971600140975552180263474143806214251434868381507345822218370531793549592050181411706541340965281176937430408940364824885135342033720363906865559295924343495157420041014940941989688837730944981057878296705697058452586568541109531341763664427247284976421721518522563503014133215858181089837106404968365970322178976391851154394019385053045162517824069099627253590256540944240100491021949273720229926357221030200754394941397936943704892093350355995070798484513232197693637708748072907754312442500626180866529036383118538205214889438770699851086676461061823563852883939273114334507509273957892848317569795946587329042757678625637138975370167346470084330280517124564931679990579437452370281244924777185090610009669636191184732557608109603061151014238564963102407444269679258755877747926215146040687497134231859129775303656359143920280505430444071954465578996620328939149611307679085698947267341409139504704648230945338522792557888589383631683328860145597446629892585955619861782412995032640648166132097185099708204327000994146331251347316916866322780910501858872038005732734372578434359111761531232451762270105433632643475573136498669880914981346439350196536129244543619947552353307789581825632993106700054468767175057096924859982020932687050549400137433261172683950299366169815714316824162097030878987623955470651578105893887325906635890743184728014490091022363198412964548175843112053082115727218447375017834845365033186634477828487766042145106076817495576023877837330767634978529140729438464010282512561498400248550606938499067890829946619173297852993639528472933089696306689669554027446165322890770361741671272331116657718702734421892128567955735843584567503763964315850200037766448670281216372293350634953047890782299040180995523955555714127355759622187847521989397110301772025811947387286426906659602462159593862857097912431126549696407415858213296396377916097253699373536408857824077944309547437594841257689532367706448880767260497304616160847157543881041422738046799714012662863731264762728944248674175638477702824987784060870326499672194915195552570870751133124383780140448444460409801445761289543774807702667578657513078369173485461407718542938152794815779557197270577999526969569761950839949822793862590626753232197179766364512854136663665970286671598129158127216666293994497589450283336375780939967299333270021673543575888203993359802915357139110692407608286217320559149902029727682654145587366868375304600636262467074986722699497943209971502180478830497415069000228980975808570790610541258797471881104702834539628143041493249402900238585172376746042526433316318338773435871095318961611771398025393990755349111930066048275762002087814672495252765400972481905636843901634400901848954920399209657725997797325782439980901726301260913426117944252576670184231938793121954739892849301505842876953055454562871554626821531958452449821717788027461993473277866306741903248015014623077553805177504866775222478720886706902375423519839117735242880615805342595151165734224418926004399544060501636062818741348963098177493482775023459165037217673054566429876326366477400177178729468884586305807 2412347708278537281394942683614395315348402741059414308276674546323683618461254678354880612948912604095073904817152100905061328233291887247108465999584597494308816327712394010827050246841932099844594255379084860103725075311812579264516729718080552048122151908531402853598445268765993964411218630605865480936438170174006155265427671814658968557750970425441959554986167546398359615569343304522243892851485955932443832568192143982255268668358528628516194075233314723187300320770947003318531822936477428934515762862146125668060693058396078548338079151327745551709720930000263910140190891576798405864683035096615817602776623943316538373624776357077405467651820514161948152055159793741633916565422389812091636675471163363423921945889432188186475482542203457009808581487175921173178816166440140988102062847991651251443114022140412499324934542114385222700602545776497936827914024392701388275488923459520851684660272392060171246398061526947824519617013136778459191082410805790861102554287172459845767082246843048860754750193995492981484126760875479862573022062237057387699692212851347195880836051175161950035110969709075896697308835045330919469348826239586994177441729219376620891400264727744004812496644908348105974904654433661106583308165928725103596058420968545219403883386477829986767191817658622281691136960199425257587734583487014236611083538731839053557069689501913203958713395347298719691101698365763910592028252563404726266904395828605499186737190213871394098042357723970540358961689333019544495678504111014069809405901312606255165473084679150493358289080926105255125208227502605351647366797112088496999243744125133168410002075287905103764693444785875438514471338848651502983553215144855497814237974114070615918810512097545530888825196063808978408537437110385830635692634300150131531756350814705457213117631067410198743228209752302721432917074900555266004700356538468971676468883036750411497720457197715276516431429804084369930134686642969137595360110432032025176217212090098465654923349604129024541493810157594193685645196068594615121389093549420508012512944906308901927004128306382799905703339131066784826938876515880275576352333404719655554469581659640565431955299272334695463659887852433232316248493822958277282189292576045855647910964693575614423402963278135249392998995411713046611764227904073891322702531872365084108340243618386527675214512618920032221016916150834349618895569531111596415702601124987834313035206766273313957067595060655135825757229304116298119704562125274744593692935958019861816188811269273922757289860716863084934157518062750098984187470537263262437216298082625773517361207244201394402008706100993766899219035899544992286725166793645004289120021495481653116292302038936064368385166889610495207128932375574854010436273142185288441667656291751524027190695564900109174633777015868434559919977018510507956914793942746131003309236528674944284655729153219303008867834880759790809245702513107291344198466926914840576025887007522175841213407170248651496198410557602056250856497413399195548218469915681047225349789387427975498859336158307650631223637281381095460923006547839531022577419001515434135823059191969165844256183300222321577137200023554395563554601774482601043345843425524439636887038547871023126875412611042826031165826050084686668181088349002335208898910572929179059718423991248544961485600343124466634092884995855582576533232281388756179768506571194399463210318703229913304203857257329589922112930261227661030810267216199496843301116180919152384002615157963488128721297882254365775750567525127086085311167519074074376166254854004031913810404241007342335554268139716730098951181556574367353514902435399127866299208361818685434260123798386906511703626743780827014620233343164574047456321644690234464079097133867786575262714386331730725776444672418962102047139751097066227828043753810795738538075014462307848616149231123543811779355315497687038351427108760820845595817901727408969812210767473515275046123975890027240157408978231854787288857833107141795383342546179574734409363314221891475144543888236239181728369578946143510270748751623439903863860569834894268166578520299011 3903260584677589410738353950719923885892847071653701695636845162977590640729590541798799264099486369258417475823907788819538792773010735062386027060119055838230464870915843793085879093232864394330640610733292982616321565915566668567170408198546330637960890949843496056855815815266994244750989312204296021350557167630159754555496267121116545461140544817123451703816639170183771804986402934237098973079888943174274530851670061029189090935986784824902676177127380394776570649593622279080893130489814556083418245500497494512250199018542870070190915352509954667857409829170567521592619662707310673589150358483986142856246268326368464401243660569645173123551118405432011829252422000516483033472156811067374580514238331141050165025963751912209684499656385712319791788669918805333916950548532763978809039828312082905153785607165395280662422679932794896267616622429980968580654642098460789221017639257893525257256224719108240760511305322616999117900530883854639184091805600350784001685395569642485580374875580508016939792225608464581625102313055743336716828276488492256081199558673565566412629600767212131446817511050041177874246265454271284294233961581620714541348594778672545234895422147785019753438634597185836919885712311957812280366618515293644705589762732209646651168362899551505289755320672755497549318050036531662556100553809193213002934693125858438610114852019737273058340648937555260635341798856785859865748482489761947297105150223546897123680895105964744454037428522455053591159382970728292568586258423456570435586767841642638284011289894039932128988932012781716187031791355489290920481131619597770957136592442702964356589404330662782390330583761245605860941423178932020108118146824846077251690344395315540695995602707555200525016380796366586518140498261400069200655736707594401211015106692453383428263671754907332975087339527606377792060995181060696448772311004047968296797822186361719176806156144982617925570934508732600875473209435527026184743742115360885321814658719991051610543211386542019574134458323726290870744904272921616115535424800767824929379267687219403785876166312115534278281773490178546358171328278150381009984976880292792053139462574621911871305495808463940007279835404786540105830319455951383982243761343220912744835824675596547110453512678272682654171679362012412781579942220898053419733410859989039578991821724280415001121148509663216949031406241856712817308534079287439527755683240715052760410224601118678990254229538483623591799374410193115615280586003112075361327914487160591254652821551786484255690109267470023433225408892696718157485323530902790910149387778932463186915234690366717292779067842665039230335693618247726708617295361600740132704588999245617432142502076702513038666383261903845842081980266357153050617268666140844155795012051373711874712684962010410946659588963255720986826636620972667550777651040658562129858932936090802497952125531135400262567208417168648633323646822654728939039724616447208282474767774782673145829568017406195377239833295648855964869160277130460310947414164355222863827492212415759559729662657979845546419189852251846594047390327979979467037828802961195425366833999671833422913696378591495062598607742097333716349417554039798313923842952494009398837878497693816989466039364275023210932190562938823331847058635673933338057037789595473054216013441531881337266540310423799904114558539431470780526592084304113318879198978802685680530877853131943031886511402916956790488234861863923497885253938898994786511087683099631214500030226963717109697106453044976317009364997008190788145707147217115869415657754242617086187150283533775651872606913152601194270143168345765378908893190748239796365256637580687522074796293639671912676108649417670916254634245013528967855531302416232261404879573848688301563975299757848670029021342603194040840261705836959077129549596687748793992637886016934670148107683573365529567382777491160316217733850664068860610440979281214147317077542695993995932830878265450759996526713474735403094200428258307529607761472183974278469864950284710216493506986413732664503393038111180727943803318053316230230337970012072997635463106604818 6315608292956126692133296634334319201241249812713116003913519709301274259190845220153679877048398973353491380641059889724600121006302622309494493059703653332539281198628237803912929340074796494175234866112377842720046641227379247831687137916626882686083042858374898910454261084032988209162207942810161502286995337804165909820923938935775514018891515242565411258802806716582131420555746238759342865931374899106718363419862205011444359604345313453418870252360695117963870970364569282399424953426291985017934008362643620180310892076938948618528994503837700219567130759170831431732810554284109079453833393580601960459022892269685002774868436926722578591202938919593959981307581794258116950037579200879466217189709494504474086971853184100396159982198589169329600370157094726507095766714972904966911102676303734156596899629305807779987357222047180118968219168206478905408568666491162177496506562717414376941916497111168412006909366849564823637517544020633098375174216406141645104239682742102331347457122423556877694542419603957563109229073931223199289850338725549643780891771524912762293465651942374081481928480759117074571555100499602203763582787821207708718790323998049166126295686875529024565935279505533942894790366745618918863674784444018748301648183700754866055051749377381492056947138331377779240455010235956920143835137296207449614018231857697492167184541521650477017054044284853980326443497222549770457776735053166673564009546052152396310418085319836138552079786246425593950121072303747837064264762534470640244992669154248893449484374573190425487278012938886971312240018858094642567847928731686267956380336567836132766591479618567886155024028547121044375412762027583523091671361969701575065928318509386156614806114805100731413841576860175564926677935371785899836348371007744532742771457507158840641381302822317531718315549279909099224978070081615962453472667542516939973266705223112130674526613342697894442002364312816970805607896078496163780103852547392910498031870810089517265466560990671044115628268481320484556390100341516231236924518350188332941892212593528305712880294618498334183985112621245331185110204794030656586337310285012447607609044234262477303260795080798635470939723257219772422078813278909661264433053919266768392746789369172161533856475956407932047170674773725459393344170124971944742435942732354123687332065342666942676335661128583249170048322392691062436204103610399035943458284365702887073445431367391992947321824599138759417556603714309413734985148128386819955020850445180453070841632821060407012979969984333108367382926955446817141672794068166053347365685861558236704276441934568111694787773943658806129554729517792718995342462155245744421824610494727270548434804115638577407051550151514341049210912641932007061053541808326132597462668343125235901903380526910520121293365979124155546746613639483175507692444983404693133168169464765746782607854684354703271435043297928439442569349335762020283238191543362048858500654782304848987042975187654846873438243853250912215725657690529655859165884080036270089177281599843735058588998816287496177642827133632942054970396875819510489615247804476629561189893191640999267169879678813816639735807765651729279904019328522399357269686378018449035724917045564840116341451975317849242098016613023510000028146984676268546955948362524652113934437432780426298752140653548266538207443535287053357059824365692869498647705549997085143741196556361856336090368660246546712601165123091584528695521155098491629812203864018783598502645384927205238418404335299342092759932522135276873456874666291190245581912608246648999997554524541117987426875052869331293221324724920132732423795626147367662664464999399372956334920092026578424379735393198497930874867588178103015311852947106466725483976707716474876826689686089579395805466015022156142887401456934025304957593350498544532530712900479242518764256914696909341346738092988847354569160959424889706206258881008623117129288310169509270978954854155478000153935691706590190383058261365449324991104018363549012879228264506601691638050874649971846231762617057324238214552069676756134094198539846967265802041626903829 10218868877633716102871650585054243087134096884366817699550364872278864899920435761952479141147885342611908856464967678544138913779313357371880520119822709170769746069544081596998808433307660888505875476845670825336368207142945916398857546115173213324043933808218394967310076899299982453913197255014457523637552505434325664376420206056892059480032060059688862962619445886765903225542149172996441839011263842280992894271532266040633450540332098278321546429488075512740441619958191561480318083916106541101352253863141114692561091095481818688719909856347654887424540588341398953325430216991419753042983752064588103315269160596053467176112097496367751714754057325025971810560003794774599983509736011946840797703947825645524251997816936012605844481854974881649392158827013531841012717263505668945720142504615817061750685236471203060649779901979975015235835790636459873989223308589622966717524201975307902199172721830276652767420672172181822755418074904487737559266022006492429105925078311744816927831998004064894634334645212422144734331386986966536006678615214041899862091330198478328706095252709586212928745991809158252445801365953873488057816749402828423260138918776721711361191109023314044319373914102719779814676079057576731144041402959312393007237946432964512706220112276932997346702459004133276789773060272488582699935691105400662616952924983555930777299393541387750075394693222409240961785296079335630323525217542928620861114696275699293434098980425800883006117214768880647541280455274476129632851020957927210680579436995891531733495664467230357616266944951668687499271810213583933488329060351284038913516929010539097123180883949230668545354612308366650236354185206515543199789508794547652317618662904701697310801717512655931938857957656542151444818433633185969037004107715338933953786564199612224069644974577224864693402888807515477017039065262676658902244978546564908270064527409473849851332769487680512367573298821549571681081105514023189964847594662753795819846529530080568876009772377213063689762726805046775427135004614437847352459943150956157871271480280747709498756460930613868462266886111423877543281533072181037596322287165305239660748506808884389174566290889262575478219558662006312527909132734861045246676815262487681137582614044768708644309988634680614701342354135737872174924112345869998162169353592343163266323887066947357677456809638246466119079728634547775253512637689686475471213967606417939833855655968510671937576054137622383009355978124502529350265734131498895316348764932341044325494454372846891268670079251803131800608335848143535299158117599068844257515073640490699891191676624934828987566841786323845359890423136040445703959757516846484554529199493972887980577306192341090445717933413418186891292892908289160111670810474466976753257680394498947776616065488920931067952954942379876533573250260455843058470096024063255263027102400856549280559980215490103534002251715097088075892996158416749222277916159809257140975422557087522132872543205061042250678077148899768180594817967660116170113298244391492953004773812259494618318661474267341724062016985884788649017787203799489956653076607437824986556727191312832690083576057405311702334415507749062996253436882562197671193529330512458434562795543258657105807491339592872453030207175962333331875205620350201885012986152120125168150450874312307636018680963972066442322002074718524137586416449996982817526904528799770824272074409493799367976880063163503503089399984955508026580775093997486416323291547118414813002675611890922348115510788344318409769297519143467661602581813508306114997570362489266086184704808074893639299481966021932487491467893265898111332688816895607459029721636980060478409716385666250337055844042616168847129501833191631983167384249522698986888856281565163178390664985847428065834487357625350183727663162770984382087142947186293326523350786496177188912364598270274870914120870480007670786894810088958566816699860289837264446365852865503266911785732420928760150462405181325593477258689623756854598865490547523291349093214791311908131557861063704510735155655168504966158355387730072364324536509859040263437504733508647 16534477170589842795004947219388562288375346697079933703463884581580139159111280982106159018196284315965400237106027568268739034785615979681375013179526362503309027268172319400911737773382457382681110342958048668056414848370325164230544684031800096010126976666593293877764337983332970663075405197824619025924547843238491574197344144992667573498923575302254274221422252603348034646097895411755784704942638741387711257691394471052077810144677411731740416681848770630704312590322760843879743037342398526119286262225784734872871983172420767307248904360185355106991671347512230385058240771275528832496817145645190063774292052865738469950980534423090330305956996244619931791867585589032716933547315212826307014893657320149998338969670120113002004464053564050978992528984108258348108483978478573912631245180919551218347584865777010840637137124027155134204054958842938779397791975080785144214030764692722279141089218941445064774330039021746646392935618925120835934440238412634074210164761053847148275289120427621772328877064816379707843560460918189735296528953939591543642983101723391090999560904651960294410674472568275327017356466453475691821399537224036131978929242774770877487486795898843068885309193608253722709466445803195650007716187403331141308886130133719378761271861654314489403649597335511056030228070508445502843770828401608112230971156841253422944483935063038227092448737507263221288228793301885400781301952596095294425124242327851689744517065745637021558197001015306241491401527578223966697115783492397850925572106150140425182980039040420783103544957890555658811511829071678576056176989082970306869897265578375229889772363567798554700378640855487694611766947234099066291460870764249227383546981414087853925607832317756663352699534516717716371496369004971868873352478723083466696558021706771064711026277399542396411718438087424576242017135344292621355717646089081848243331232632585980525859382830378406809575663134366542486689001592519353744951447210146706317878400340170086141476333367884107805390995286367259983525104955954078589384461501144490813163692874276015211636755549112202646251998732669208728391737866211694182659597450317687268357551043146866477827085970061210949159281919226084949987946013770706511109869181754449530329403413940870178166464591088546748513028909463331568268282470841942904605296324697286953655952409614300353792470766829715289128051027238837689716741300085511414672251972120826907301087335902664884897878736761142426912581838811943085250882259885715271369615377521497396336087193907298281650049236136240167991262803590352440830911667234897604880759502048936595468118559502940682354615729982651489445152653833164699302219672092228976353809988700158529012110307979667852769483564932527940503805550221167172724352282793109350720348737624183678519446015831451189246320921504032080319863899939018566162541007467948396195271865622296063167834899844806805437295013025527518462345494178769505516107703171305999476077339392371119915518392715889124116321002150680396320475658189772029279182324427763042182055412103229676907660290554837901704844119517730703988184079619000446268324411914454547746620382953831957253455736219128342070223273400792276157456211084597028463215708530907470287712588823497222148943314910721695128223788985843331903352605026470431968934514644777282084888307092733934770821617520332980529445610005577494646240815689852316174610078796855968013270965855655704067248723410050215690565108047092555276296249095978046135495411137198411505320996818127586533915123643660502529230041278744535059456479799496360579482970735915086182259332616011626726357018891263780712792618186030843756484443042975121694186636379433434744636477692828761435579435814666778004369421369734998479237196629165712372832989281638055217354671937007461639953372647506326615064619705009687044736297684837859054063686975419707676621512967184212260858963468855025356055769513848273022958741298460381575654163035012537890740586576406760304398096887915783860316950989206179589969508911072304228321479297913599769608735713676356966918272225829204372907457406828498418735049706007529239546360412476 26753346048223558897876597804442805375509443581446751403014249453859004059031716744058638159344169658577309093570995246812877948564929337053255533299349071674078773337716400997910546206690118271186985819803719493392783055513271080629402230146973309334170910474811688845074414882632953116988602452839076549562100348672817238573764351049559632978955635361943137184041698490113937871640044584752226543953902583668704151962926737092711260685009510010061963111336846143444754210280952405360061121258505067220638516088925849565433074267902585995968814216533009994416211935853629338383670988266948585539800897709778167089561213461791937127092631919458082020711053569645903602427589383807316917057051224773147812597605145795522590967487056125607848945908538932628384687811121790189121201241984242858351387685535368280098270102248213901286917026007130149439890749479398653387015283670408110931554966668030181340261940771721717541750711193928469148353693829608573493706260419126503316089839365591965203121118431686666963211710028801852577891847905156271303207569153633443505074431921869419705656157361546507339420464377433579463157832407349179879216286626864555239068161551492588848677904922157113204683107710973502524142524860772381151757590362643534316124076566683891467491973931247486750352056339644332820001130780934085543706519507008774847924081824809353721783328604425977167843430729672462250014089381221031104827170139023915286238938603550983178616046171437904564314215784186889032681982852700096329966804450325061606151543146031956916475703507651140719811902842224346310783639285262509544506049434254345783414194588914327012953247517029223245733253163854344848121132440614609491250379558796879701165644318789551236409549830412595291557492173259867816314802638157837910356586438422400650344585906383288780671251976767261105121326894940053259056200606969280257962624635646756513395760042059830377192152318058919177148961955916114167770107106542543709799041872900502137724929870250655017486105745097171495153722091414035410660109570391925941844404652100648684435173155023724710393216479726071108518884844093086271673270938392731778981884615622926929106057852031255652393376859323786427378840581232397477897078748631751757786684444242130667912017458709578822476453225769161449855383045201203743192394816711941066774649917040450219979839476561658031249280405076181408207779661786612943229378989771986885886219578538766741156743304413336822473932874383525436268559963314472435516616391384610587718380309862541721830541566754189550320128487939371968599598651733887739989029266303741862395833142539636486659795184437769669921457516306496849335575789873610403261977188938713530883009482673046509589416500320758298487416978350714831796698458510327284395162757260086103978029132123131455135511504752382257199275863883908613893114160394861624632637031531203659222374266478845343727815115334910339439546728122615594355341652595518727794023862980563140451499896479893252788061597776931374794398151050448576915293625849888199392480568819255995186829224362724295226321764822179625766861105402519353005971283418490402921401019352279534303347574266664647337031793624440044404638781149855272410893093646794699656745039043365904850508132082154327956434654503594148158430964948176663778558225376672316981920666764902450235339181405041570789502581492399422851447684724101632232657265686835133701514607596626792285345375349455072044128786573553718779965093002600581857071343093464462458786958255613224507996608709049934649425911987978912298527560422212196662038293307802475577053333225181172366964140690905266025838984913196268204260511451928955089173259938582580723908273359493913154352863359079098491423478430835625133871254561366981646621446151864699261689270846801233608019657784435527474440730272856510342727782475994069131879244871131185577414473471596896588986111237459083174979833948862696142950579602806839839658601588297646022020015900515804802526318997335520454860502069241377337575640612963034188834999458595595577414694089225507901166596777380867702073927394334170531262845136900862743271559565047792677051093921123 43287823218813401692881545023831367663884790278526685106478134035439143218142997726164797177540453974542709330677022815081616983350545316734630546478875434177387800605888720398822283980072575653868096162761768161449197903883596244859946914178773405344297887141404982722838752865965923780064007650663695575486648191911308812771108496042227206477879210664197411405463951093461972517737939996508011248896541325056415409654321208144789070829686921741802379793185616774149066800603713249239804158600903593339924778314710584438305057440323353303217718576718365101407883283365859723441911759542477418036618043354968230863853266327530407078073166342548412326668049814265835394295174972840033850604366437599454827491262465945520929937157176238609853409962102983607377216795230048537229685220462816770982632866454919498445854968025224741924054150034285283643945708322337432784807258751193255145585731360752460481351159713166782316080750215675115541289312754729409428146498831760577526254600419439113478410238859308439292088774845181560421452308823346006599736523093224987148057533645260510705217062013506801750094936945708906480514298860824871700615823850900687217997404326263466336164700821000182089992301319227225233608970663968031159473777765974675625010206700403270228763835585561976154001653675155388850229201289379588387477347908616887078895238666062776666267263667464204260292168236935683538242882683106431886129122735119209711363180931402672923133111917074926122511216799493130524083510430924063027082587942722912531723649296172382099455742548071923823356860732780005122295468356941085600683038517224652653311460167289556902725611084827777946111894019342039459888079674713675782711250323046107084712625732877405162017382148169258644257026689977584187811171643129706783709065161505867346902607613154353491697529376309657516839764982364629501073335951261901613680270724728604756726992674645810903051535148437325986724625090282656654459108699061897454750489083047208455603330210420741158962439112981279300544717377781295394185214526346004531228866153245139497598866029299739922029972028838273754770883576762295000065008804604425961641482065940614197463608895178122130220462829384997376538122500458482427885024762402458268896553625996580198241420872650449000642917816857708198368411954664535311460677287553883971379946241737737173635791886175958385041751171905896697335830689025450632946120289857498300558471550659593648457830640316001707371811611144667863181141802126415520767498651270325859087995687384039118166628760661487831970177724075612136590861455324240180819940933538639467276592644588573082127913743940710352276073246289148338780728443706775102564196861030942507236819471373205038601526808300426151256900543283242772300504008731494457119515040053195454698377869747315133654957520583833446445596785387940694212978060333880190795178038999152055417646132101141406895650015179717144876841741148143112817687146774288233310131566151869139927577235872264372703579990492820498910719153201128973235769284039660228671662893247019037368884636465953972133982055377017527471705224920250056994155363037490849189725431266734082049967957220496604590487529843568386474862054550647548568349304731391728119960747574273375138220720905651550105377969414315843286654753934019995681910830403142748950855181409679732320227488497775505560324199012732403380893294729679126878898081376687449876124686393482760298616341205110776111377509983603934470530201049693137133367592189442508594282369392811636013317605527177521183341035631639414827757601700956731721494773107298836156536303961096258549223473306916892752196003804460048917053129637959798845657702981557702418094909738927347898989341051907859927002914245502403138240675931101980125858642781030411634522260128439288825374329721442989114394102920362836957792402181003756176615542555969044631478160447016604265607624204643295435838797417717721499006349116655112862617342886758027597674178935528342693266905573742280759258598957157161197892591602169213778804508369667899805736173387139107670775332491057224668992199620163374904170302543729361162006609271055321916597454333599 70041169267036960590758142828274173039394233859973436509492383489298147277174714470223435336884623633120018424248018061894494931915474653787886079778224505851466573943605121396732830186762693925055081982565487654841980959396867325489349144325746714678468797616216671567913167748598876897052610103502772125048748540584126051344872847091786839456834846026140548589505649583575910389377984581260237792850443908725119561617247945237500331514696431751864342904522462917593821010884665654599865279859408660560563294403636434003738131708225939299186532793251375095824095219219489061825582747809426003576418941064746397953414479789322344205165798262006494347379103383911738996722764356647350767661417662372602640088867611741043520904644232364217702355870641916235761904606351838726350886462447059629334020551990287778544125070273438643210971176041415433083836457801736086171822542421601366077140698028782641821613100484888499857831461409603584689643006584337982921852759250887080842344439785031078681531357290995106255300484873983412999344156728502277902944092246858430653131965567129930410873219375053309089515401323142485943672131268174051579832110477765242457065565877756055184842605743157295294675409030200727757751495524740412311231368128618209941134283267087161696255809516809462904353710014799721670230332070313673931183867415625661926819320490872130388050592271890181428135598966608145788256972064327462990956292874143124997602119534953656101749158088512830686825432583680019556765493283624159357049392393047974137875192442204339015931446055723064543168763575004351433079107642203595145189087951478998436725654756203883915678858601857001191845147183196384308009212115328285273961629881842986785878270051666956398426931978581853935814518863237452004125974281287544694065651599928267997247193519537642272368781353076918621961091877304682760129536558231181871642895360375361270122752716705641280243687466496245163873587046198770822229215805604441164549530955947710593328260080671396176448544858078450795698439469195330804845324096737930473073270805345788182034039184323464632423188508564344863289768420855381271738279742997157740623366681563541126569666747209377782613839688708783803916963081690879905782103511034210026683238070238710866153438331360027823119371042626869648223794999865739054653072104265825038154596158778187393615631362737616416291031576982078105543610350812063576175499279629485186444691129198360389614573944729338529845744485528193299449701765440887956284115042654936446806375997246580839997170327415677382290306212014984105190460107058127920808970199842381329672425787128209568787708928378480022197530762595645188116304233580385505826174049969656038119828954046251548190943308621184449744317521633957604097202467241821741514677797313281558676407001870446588790469025336215703644872649271849308106092220728741815427815070530355714640020398579986750623465130514627484316388469270758707173028799369806961104155429132432280379077132352157625491641588269751873705117304251577550151062909889548428064143462066275032555713860828678267360303820199197153238566330322769410000126646455981252111126450619013616353315531487161251927519323468008430879500835700502820979242398378186427776705786617639279988728852987805878061812623917909991445085718882196659460469055779815065932775848174582182555566669902817076349826780505131826232340979453780759111555347063522583577639293990109552583961716554565848155506296557157653250495294052293718990438935282906971053069327648424860521314214236227455832766947619618327126285162123168928383533066415101311733589637186277430916187613997822158778034988717656317121313641089888753934830962920140283142003183098421261053342204410986958418426392676338028272111930492468961772480088932895110896211530975240522433393987505878516588834833193219347300520184656997825308494787427100230208892633918613500854593735442102378610818631366580417641956928719461952702275944475055673619694194836044147495793224571077801214119101026398538535468232215132247967639507828263495383150867476364615571941929268438092371066127014497545435433147680630223905278168836103114593648548254722 113328992485850362283639687852105540703279024138500121615970517524737290495317712196388232514425077607662727754925040876976111915266019970522516626257099940028854374549493841795555114166835269578923178145327255816291178863280463570349296058504520120022766684757621654290751920614564800677116617754166467700535396732495434864115981343134014045934714056690337959994969600677037882907115924577768249041746985233781534971271569153382289402344383353493666722697708079691742887811488378903839669438460312253900488072718347018442043189148549292602404251369969740197231978502585348785267494507351903421613036984419714628817267746116852751283238964604554906674047153198177574391017939329487384618265784099972057467580130077686564450841801408602827555765832744899843139121401581887263580571682909876400316653418445207276989980038298663385135025326075700716727782166124073518956629801172794621222726429389535102302964260198055282173912211625278700230932319339067392349999258082647658368599040204470192159941596150303545547389259719164973420796465551848284502680615340083417801189499212390441116090281388560110839610338268851392424186430128998923280447934328665929675062970204019521521007306564157477384667710349427952991360466188708443470705145894592885566144489967490431925019645102371439058355363689955110520459533359693262318661215324242549005714559156934907054317855939354385688427767203543829326499854747433894877085415609262334708965300466356329024882270005587756809336649383173150080849003714548222384131980335770886669598841738376721115387188603794988366525624307784356555374575999144680745872126468703651090037114923493440818404469686684779137957041202538423767897291790041961056672880204889093870590895784544361560444314126751112580071545553215036191937145924417251477774716761434135344149801132691995764066310729386576138800856859669312261202872509493083485323166085103966026849745391351452183295222614933571150598212136481427476688324504666338619300020038994919048931590291092137335410983971059730096243156846976626199030538623083935004302136958590927679632905213623204554453160537402618618060651997617676271803288547601583702264848747504155324033275642387499912834302518093781180455085582149362333667128273436668295579791696235291064394859204010476823762288859484577846592206954530274366113749391819709009534542400515924567251423248913574801332782748887974802879441039837514209121619569486983487003162679857954038072404585045340237217556096672861162630843567567303477051613693925262305894371684630619958163799088077165214260483936090596241781321562382368101628911133381020796949018431716782650915622672319190374473604008884793526897032677287160608390370911000598545356648425419456586792470116921610601001218064917200376397706475973316198634192837366477013374784871617761722445426545920049150090469434659790002319070281062622006222993109529507770057666530681128157519115145694344629193230210418901819990715946144095194414286995284301420306654368224421998195221578762572372615836457452706523386832193929208656735806355313294069924598497294632239494285875576214680710271555243019466994282009493472101300851881885747698403283488707657856518006853311576817354362890251150369547591703109578155896666534191912655126949573893457428167190593332225834731740472816216655142379886182957814883631029584261914875794158400592581910150979517864229613234274183459885990453428440210033453763980383592312882578057759676624266883806540761587721025495101986856123806527472349479647351697041236496534631819763404977016107983251257741954042763824125660105027839522400147890125941147373689465411087304739051530230992522116366038366770727848552780488665901697985560098092837348608952331545462894818345429306921840431410352606423570941898338731713925522530733791103679811258768317227321505703228936113582184258312586838001581485110329983069274840370794365630105120201359646745674046657428784298139140963277836117065564893287361813701217368373771572490189060130144820081973377699983555699733360823817301461746444016197931395188887040863503723242717261759495317040058326634660920339603450224359585067284778107158436510246002588321 183370161752887322874397830680379713742673257998473558125462901014035437772492426666611667851309701240782746179173058938870606847181494624310402706035324445880320948493098963192287944353597963503978260127892743471133159822677330895838645202830266834701235482373838325858665088363163677574169227857669239825584145273079560915460854190225800885391548902716478508584475250260613793296493909159028486834597429142506654532888817098619789733859079785245531065602230542609336708822373044558439534718319720914461051367121983452445781320856775231901590784163221115293056073721804837847093077255161329425189455925484461026770682225906175095488404762866561401021426256582089313387740703686134735385927201762344660107668997689427607971746445640967045258121703386816078901026007933725989931458145356936029650673970435495055534105108572102028345996502117116149811618623925809605128452343594395987299867127418317744124577360682943782031743673034882284920575325923405375271852017333534739210943479989501270841472953441298651802689744593148386420140622280350562405624707586941848454321464779520371526963500763613419929125739591993878367858561397172974860280044806431172132128536081775576705849912307314772679343119379628680749111961713448855781936514023211095507278773234577593621275454619180901962709073704754832190689865430006936249845082739868210932533879647807037442368448211244567116563366170151975114756826811761357868041708483405459706567420001309985126631428094100587496162081966853169637614496998172381741181372728818860807474034180581060131318634659518052909694387882788707988453683641348275891061214420182649526762769679697324734083328288541780329802188385734808075906503905370246330634510086732080656469165836211317958871246105332966515886064416452488196063120205704796171840368361362403341396994652229638036435092082463494760761948736973995021332409067724265356966061445479327296972498108057093463538910081429816314471799182680198298917540310270779783849550994942629642259850371763533511859528829138180891941596316171957003875862719821865477375407763936715861666944397946669186876349045966963481350420418473057543541568290598741442888215429067696450602942389596877695448142206802564984372048663840242239449231784470878322263029766474001930548297535370504646881659902111447494816001954396013420766821496085534047689138559294111960867054611651191217623814325870052908423051390649577785297118849116468673447853809056314427686978529774678767063300582201054462080545333008191433335728736580198752700747681877200798160969415492842596550790148105580346971781669440496022437881333223402126621444218844992219703331600697670396671134771480438715013336910867546114216544960970254583476477379465708134983413425542795050745535586551157980494908943215137940148870634679758572051191873488208311235895571256264853735342083931639310425162501791363821650808180059863484697686929261114908142580276208972113509618679689660527163744745513902155518442424416733700685731500576579623686863167032324246320953761704284073537895103818757084799949817379569102480312358123310506854589695775411833948837885565788876994408655949453353411978332504761314756599020194819108445526176779585248233863725951653190526834101487764583673372320809551935115678426881263306229003217250135826176826191698413314602848941962772880816406877758844097431360828303409658259977760022996055845575253637240645102008775503732617031403274373701865466539774314242472422390103097919240971520789154280575114245462755256450700421024689661357055946033999632432848874930870876069080327925947294588488560905937501459623715578333651120381598701302561210308265981239772683159680411817737306715319628821838268702101275935769870005673749873881776763855699598178459682464536916039903670818820646820633426945322078920333692162304733200022292063769306801531558832771494999406793605117410169505049263428284243605974795095088848052657476060150878556782920206555579018267169231836869374837062568607616637684853354715897883187496801009954238268829056032433709714083524026194890572037908339868338814659191027933409411124453649158465775036597904989808972562946943261551103894550843043 296699154238737685158037518532485254445952282136973679741433418538772728267810138862999900365734778848445473934098099815846718762447514594832919332292424385909175323042592804987843058520433233082901438273219999287424338685957794466187941261334786954724002167131459980149417008977728478251285845611835707526119542005574995779576835533359814931326262959406816468579444850937651676203609833736796735876344414376288189504160386252002079136203463138739197788299938622301079596633861423462279204156780033168361539439840330470887824510005324524503995035533190855490288052224390186632360571762513232846802492909904175655587949972023027846771643727471116307695473409780266887778758643015622120004192985862316717575249127767114172422588247049569872813887536131715922040147409515613253512029828266812429967327388880702332524085146870765413481021828192816866539400790049883124085082144767190608522593556807852846427541620880999064205655884660160985151507645262472767621851275416182397579542520193971463001414549591602197350079004312313359840937087832198846908305322927025266255510963991910812643053782152173530768736077860845270792044991526171898140727979135097101807191506285795098226857218871472250064010829729056633740472427902157299252641659917803981073423263202068025546295099721552341021064437394709942711149398789700198568506298064110759938248438804741944496686304150598952804991133373695804441256681559195252745127124092667794415532720467666314151513698099688344305498731350026319718463500712720604125313353064589747477072875918957781246705823263313041276220012190573064543828259640492956636933340888886300616799884603190765552487797975226559467759229588273231843803795695412207387307390291621174527060061620755679519315560232084079095957609969667524388000266130122047649615085122796538685546795784921633800501402811850070899562805596643307282535281577217348842289227530583293323822243499408545646834132696363387465070011319161625775605864814937118403149571033937548691191440662855670847270512800197910988184753163148583202906401342905800481677544722527643541299849611569873741329509583369582099411072416090733815344856838200325145153064176571851774636218031984377608282444724896346164827134245989604573116360057907546617842821462709292994943156739380981470643948761596025341408208908926287786880570887905243057223680959810036528118477860564766018956597074758027711302492430487091994418738418603452160451016488914268465759383114820019004280856678873915624711388900575494910387342430505461058595119366507820756324768503570007810811274084196176588753103231822864124066792466604422923570462650561774870618954273016860771144738780365232241910369588154706722606915871970853128833125804885164721775883542464405651746753651468358356892615419188454138783063472046235585425976745105970033681322117176314003825811518591429312744232782853985827873801289589371254755353459942243065661695421903316742702848890108562347154460691657997349932729419701035120992385868801001621882084745794896618936790219156990596924727297747965741535756172692863172404910855417942746348875571351626514659109440808808343988690665442925454712830214390509013159882508902476964963533030091162065588226616202803560074425804597342739570038855001464590242628000774720734396193810582361660908566664514629969745228828145730695700037907343106012307154986704002240170128739540860285458809527820700531092462203943942650485167254757294178349117832073919096689273909638680828692546284256267431238051990227605930347772721730897853590577853763037409864982914122133811034370689771420248593588745459901607513841519481024809847009788607300261838496973761889049198047182545585859495808294723536254262199368773118478958005295336776595109285006520018891092817143339610845569157552360746155957679113182600144950930621960521527995292705420383715817145358333000988278715447393238779889634222649873711094996454735593726704133488935176695923883484391696083832062519198683076054430942379189127873913484860717965160874500993509938002189879849735171460527540224126285760924949203372062057376452787428726451182780283819386114640048129349394039847725050419987614140553431364 480069315991625008032435349212864968188625540135447237866896319552808166040302565529611568217044480089228220113271158754717325609629009219143322038327748831789496271535691768180131002874031196586879698401112742758557498508635125362026586464165053789425237649505298306008082097340892155825455073469504947351703687278654556695037689723585615816717811862123294977163920101198265469500103742895825222710941843518794844037049203350621868870062542923984728853902169164910416305456234468020718738875099754082822590806962313923333605830862099756405585819696411970783344125946195024479453649017674562271991948835388636682358632197929202942260048490337677708716899666362356201166499346701756855390120187624661377682918125456541780394334692690536918072009239518532000941173417449339243443487973623748459618001359316197388058190255442867441827018330309933016351019413975692729213534488361586595822460684226170590552118981563942846237399557695043270072082971185878142893703292749717136790486000183472733842887503032900849152768748905461746261077710112549409313930030513967114709832428771431184170017282915786950697861817452839149159903552923344873001008023941528273939320042367570674932707131178787022743353949108685314489584389615606155034578173941015076580702036436645619167570554340733242983773511099464774901839264219707134818351380803978970870782318452548981939054752361843519921554499543847779556013508370956610613168832576073254122100140468976299278145126193788931801660813316879489356077997710892985866494725793408608284546910099538841378024457922831094185914400073361772532281943281841232527994555309068950143562654282888090286571126263768339797561417974008039919710299600782453717941900378353255183529227456966997478186806337417045611843674386120012584063386335826843821455453484158942026943790437151271836936494894313565660324754333617302303867690644941614199255288976062620620794741607465639110373042777793203779541810501841824074523405125207898186999122028880178333451291034619204359130041629336091880126349479320540206782264062727665959052952486464359402966794009516542928205858629336545580761492834563791358886425128799066588041279605639548225239160421581255303730586931698911149199182909829846812565591842378424940105851229183294925491454274751486117525608663707472836224210863322301207647392383990777104912819519104148488985532472215957236580411400628080619725543821136669779715857267719920833898870297970582893446361644594697771344157261074970086791934233583686343723071167085659811295867048385021554485737919062850407362064232301756935724884901263360146504673799827825050191906869406767090322285873714531167815873551845670956923706499022252836823460832941107712309603184350872856759296968007200702492289238019516337387524362403592078931934106725994157477168618594178344917217688432578857561153602523068623169395284645349649524609469649234739453040389203357973804275698112288856212467569798222874318205437171899505451171844117768821678117369377581245568947912827220865257743980861274670462622401566722826335705990072432274885223213541253253203465267127038348607947326374597220983099321392378808124808546895270327916481529097296073409059206870747313822090342154456750601259906085107323243411175811016525358306427655984040625197027832497487085392856213043284348077770108503576516444785101950109738515815007411898430106499563856341304384781457941176194470979447675267516570529130996043815657606388161569111664012736600069664067073410548006352297452982862381048193746420559210646523887762669842713857844993009880114698615718714837082149651397403067137557097814675930228608489909861472146762955001661732357727594363323166211127923545374522964300644708888348963679045210658371873140706118197350775281680255650749239976373007566789384624435261520478643092926693721550287356474727185247375978129828000395072320564803408284938897650934117317069791549824441779361609549086055252706803690947275102099231751035552450891493510986805765558766839576615848348371302003464176271018935882168881174611064250321176332962857543240400872035643815362135862307233932977851889676646034339203012410671993681538718035104274407 776768470230362693190472867745350222634577822272420917608329738091580894308112704392611468582779258937673694047369258570564044372076523813976241370620173217698671594578284573167974061394464429669781136674332742045981837194592919828214527725499840744149239816636758286157499106318620634076740919081340654877823229284229552474614525256945430748044074821530111445743364952135917145703713576632621958587286257895083033541209589602623948006266006062723926642202107787211495902090095891482997943031879787251184130246802644394221430340867424280909580855229602826273632178170585211111814220780187795118794441745292812337946582169952230789031692217808794016412373076142623088945257989717378975394313173486978095258167253223655952816922939740106790885896775650247922981320826964952496955517801890560889585328748196899720582275402313632855308040158502749882890420204025575853298616633128777204345054241034023436979660602444941910443055442355204255223590616448350910515554568165899534370028520377444196844302052624503046502847753217775106102014797944748256222235353440992380965343392763341996813071065067960481466597895313684419951948544449516771141736003076625375746511548653365773159564350050259272807364778837741948230056817517763454287219833858819057654125299638713644713865654062285584004837948494174717612988663009407333386857678868089730809030757257290926435741056512442472726545632917543583997270189930151863358295956668741048537632860936642613429658824293477276107159544666905809074541498423613589991808078857998355761619786018496622624730281186144135462134412263934837076110202922334189164927896197955250760362538886078855839058924238994899265320647562281271763514095296194661105249290669974429710589289077722676997502366569501124707801284355787536972063652465948891471070538606955480712490586222072905637437897706163636559887559930260609586402972222158963041544516506645913944616985106874184757207175474156591244611821821003449850129269940145016590148693062817727024642731697474875206400554429534002868311102642469123409688665405633466440730497208992002944266643621086416669535368212706127680172565250654525174231281966999391733194343782211399999875378453565632912013031656595257314026317155819451385681951900285971557948672691892587920434611014132467588169557425303498177632419772248588994527963271896020162136500478914185017104010332780723255537008475386108331028036251623761774134595686323372994349886786884851359205744759414716775625013939948885711503323134159181254110413597591120869890986414892842310810506422632858218173338316497933524477988133086224270571466266432247973762369519968541960941240146731391938960612332210903198834076087176959559430376704911960841142728989236037578535180510471606354239042889487874694280139781592046217714997578772229742903145363700148378598539805608892861386965121114497935913628067499335477398410759238605994208393849145601039465971120015605598915316459906785221472666128829896855383901263818803942670503238178582867451032658622117484194534200018265267387349699314688567871462162765295447290134068959195999552340838478664863267056767183405564971789986835304262837638761285779341076364037999773038372592236961909379410316958357260310675685710682450062813450030812481115600934428430704775021390838414859147993959520727673254093306598254234272216482692445056122045670801711414138600235239104716626763194309278641707286933183391617918001737783888290222164775438462080665800937922375280898356613357666815437590349443210468311395966468151457064237101741525707252578840759115143691149069305490135085675738396857304674651398617295700740075618278517161733985259928763550781555774776908909025706936218268910777226500013482006827921684340547434966982425712638216241868098823595261594809133925368312945342303548444120623594023548654243078282649180147568963193123488161001383351036012196647064828531873583991028164788004560035506065743038021231948630687175338971185931294270234235526945924453365994893432680324437333813509245802996974114273208815731904052635138604474447462093887806746612462929412096602790862313490014216797238004316694163688597052258397044101526332175657705771 1256837786221987701222908216958215190823203362407868155475226057644389060348415269922223036799823739026901914160640417325281369981705533033119563408947922049488167866113976341348105064268495626256660835075445484804539335703228045190241114189664894533574477466142056592165581203659512789902195992550845602229526916562884109169652214980531046564761886683653406422907285053334182615203817319528447181298228101413877877578258792953245816876328548986708655496104276952121912207546330359503716681906979541334006721053764958317555036171729524037315166674926014797056976304116780235591267869797862357390786390580681449020305214367881433731291740708146471725129272742504979290111757336419135830784433361111639472941085378680197733211257632430643708957906015168779923922494244414291740399005775514309349203330107513097108640465657756500297135058488812682899241439618001268582512151121490363800167514925260194027531779584008884756680455000050247525295673587634229053409257860915616671160514520560916930687189555657403895655616502123236852363092508057297665536165383954959495675175821534773180983088347983747432164459712766523569111852097372861644142744027018153649685831591020936448092271481229046295550718727946427262719641207133369609321798007799834134234827336075359263881436208403018826988611459593639492514827927229114468205209059672068701679813075709839908374795808874285992648100132461391363553283698301108473971464789244814302659733001405618912707803950487266207908820357983785298430619496134506575858302804651406964046166696118035464002754739108975229648048812337296609608392146204175421692922451507024200903925193168966946125630050502763239062882065536289311683224394896977114823191191048327684894118516534689674475689172906918170319644958741907549556127038801775735292525992091114422739434376659224177474374392600477202220212314263877911890270662867100577240799805482708534565411726714339823867580218251949795024153632322845273924652675065352914777147815091697905358094022732094079565530596058870094748437452121789663616470929468361132399783449695456362347233437630602959597741226842042673260934058085218316533117707095798458321235623387850948225114538875146888215743618588294168463225500065649298198247543742664396498054523921075882845926065288883953705695166089010971013856630635570890202175355655886797267049319998018333506089542804996680492117419876014188950753580072760431553850452954043293828248757084855434252652106404009414546969171201023855798295257367742867597833484764676780681186853463277863865296244341695708625535402548799690460202873034349584417076140066260073023954276389375309051263526020445923106776485884056574155757782586199212396253837537853068553452332173586910435294477478478807056731332127507391031667664143995638296646931685498223900380313982294326723515757494041471718948118723637566559083023352144685126923020228887840733661434238348959013270246818127894455127784029705008095790871566001796360835073107936572764348620607556164113019980571449338349452278180879539937849972100881411394207168152837727722175357282500449252755806105605703211875004093558002785954889308227683070962447308181049668992845567097069111781651443832656693232407300511717061276945616767557386056861206623497640959240856086688815646587866247356635079352376940716538441384368362737848732927477547006231784186616718826037030341738668572968067579090736582883481404162839293185518308313019286265980433044850242234912601935111880968020680431077363443942646896193330692444160214572016274883625629288377095292698604108153571263767921208849922757888048254707741788955715110376670304226768427023206132022883765212513913502371272232191918064141814285300190800658190895176885363385758093338855566418756413592643380503850912344049110298375879734726927983705641102237116475347964628570005654874754210569101617989001778423356577000055349767429524518108345234579554384477285427352587107287201337490866286246288030526021269787977837417964352800658991447164013949661857617105000438290544227751614072933809749668724768638426850664289852863801447740418152998175797248149775089893993340198027800064669069037783065050210761980178 2033606256452350394413381084703565413457781184680289073083555795735969954656527974314834505382602997964575608208009675895845414353782056847095804779568095267186839460692260914516079125662960055926441971749778226850521172897820965018455641915164735277723717282778814878323080309978133423978936911632186257107350145847113661644266740237476477312805961505183517868650650005470099760907530896161069139885514359308960911119468382555869764882594555049432582138306384739333408109636426250986714624938859328585190851300567602711776466512596948318224747530155617623330608482287365446703082090578050152509580832325974261358251796537833664520323432925955265741541645818647602379057015326136514806178746534598617568199252631903853686028180572170750499843802790819027846903815071379244237354523577404870238788658855709996829222741060070133152443098647315432782131859822026844435810767754619141004512569166294217464511440186453826667123510442405451780519264204082579963924812429081516205530543040938361127531491608281906942158464255341011958465107306002045921758400737395951876640519214298115177796159413051707913631057608080207989063800641822378415284480030094779025432343139674302221251835831279305568358083506784169210949698024651133063609017841658653191888952635714072908595301862465304410993449408087814210127816590238521801592066738540158432488843832967130834810536865386728465374645765378934947550553888231260337329760745913555351197365862342261526137462774780743484015979902650691107505160994558120165850110883509405319807786482136532086627485020295119365110183224601231446684502349126509610857850347704979451664287732055045801964688974741758138328202713098570583446738490193171775928440481718302114604707805612412351473191539476419295027446243097695086528190691267724626763596530698069903451924962881297083111812290306640838780099874194138521476673635089259540282344321989354448510028711821214008624787393726106386268765454143848723774781945005497931367296508154515632382736754429568954771931150488404097616748554764258787026159594873994598840513946904448365291500081251689376267276595054748800941106623335872841707348989062797850054429967170062348224989917328712521127756650244889425777251817221468749583929495642950368056003196612968470766360676303016421293864723514314469191489050407819479196703318927782817429185820476932518523193553137777403747654428351400297281781616324384193327985048640366666822598643871740285611857851163424131322594185140972741509798580501902048851943898362267901551077839878170706176106750764328566843708740865297623984680861167435808687647606332692320997716645909343851012204766167177315045737098216267477354591858673376171955684214242765029394595061162822948013829657988950413410970375016995265725947803925587684514361929264270453643283459345994475102114297299650364580335083844752064494996651419644020604321430988126446727869828087494560052736217938143500054043100489611793317263537694831693216218974371755376707019123845734746980471013230071455833646812380897805205237321800196099962078630315603023169465491351459645252308146944084368075142060860741408350926679295062987333800086069466829010069209605096842150154243680794566072642724258868977371952631327450007448870311237435978756560175284517393590667978704662215783073311897668389792534690966616972120949410169992062353829857418430240175630576977773289594830773400015224590768337346230911103520046096907576488145208483312322900713539857487161866377293788744178881532996339403799003840126682723473339120727370814084347871539363223297262412837226698985008433626445112012416440354332406077410379845046944184940117282812528763295469277148181141217625000360083196077417300671672902004807047726305528305837992131394629834511479327446173938858244223744192680069231532149761725831140024002207706852654835022323173762225106150003161774392589196702414595961398102099373399367558944512791493095625128519149968178041625217473961820291504023504783342417718795552424127488451283475366862907997412404817436567345976986444888273199216100520738471036465326730859837020943860489287262366572327898310034361716397116927466081884591382386419685949 3290444042674338095636289301661780604280984547088157228558781853380359015004943244237057542182426736991477522368650093221126784335487589880215368188516017316675007326806237255864184189931455682183102806825223711655060508601049010208696756104829629811298194748920871470488661513637646213881132904183031859336877062409997770813918955218007523877567848188836924291557935058804282376111348215689516321183742460722838788697727175509115581758923104036141237634410661691455320317182756610490431306845838869919197572354332561029331502684326472355539914205081632420387584786404145682294349960375912509900367222906655710378557010905715098251615173634101737466670918561152581669168772662555650636963179895710257041140338010584051419239438204601394208801708805987807770826309315793535977753529352919179587991988963223093937863206717826633449578157136128115681373299440028113018322918876109504804680084091554411492043219770462711423803965442455699305814937791716809017334070289997132876691057561499278058218681163939310837814080757464248810828199814059343587294566121350911372315695035832888358779247761035455345795517320846731558175652739195240059427224057112932675118174730695238669344107312508351863908802234730596473669339231784502672930815849458487326123779971789432172476738070868323237982060867681453702642644517467636269797275798212227134168656908676970743185332674261014458022745897840326311103837586532368811301225535158369653857098863747880438845266725268009691924800260634476405935780490692626741708413688160812283853953178254567550630239759404094594758232036938528056292894495330685032550772799212003652568212925224012748090319025244521377391084778634859895129962885090148890751631672766629799498826322147102025948880712383337465347091201839602636084317730069500362056122522789184326191359339540521260586186682907118041000312188458016433366944297956360117523144127472062983075440438535553832492367611978056181292919086466693997699434620070850846144444323246213537740830777161663034337461746547274192365186006886048450642630524342355731240297396599904727638733518882292335865017821896791474202040681421091158240466696158596308375665590557913296450104456203859409343500268833183594240477317287118047782177039385614764554057720534044353612286741591900374999559889603325440205345681043390369398878674583669614696235140474950852029283095942774084239771848227414486232535196397144624881835501594409960650847400956595719864509957567433545869563356341996597308093837869644916449777383126944682232264693341448570041402995106024275469244143414097314444883734201785393104723746398952394021670922298719160063468292187623238152513584100324051510349641259575384351938051780618097948047393336409858449124135467429220467701707144502656757615468069583322811008860949768677543663773328288801825630054793691836299283202568389631054079674771788705731244451217014287461531262325843519066006464756271394509170884519316801413054409260833489577054047479691949471367744453290911093490993801520794183099090561777345143087293901077511356285798468440750891640848633960094505063953049690071287017064954299411136881568603290670404762533377647878679062055172193911261935895124627222765875131559380694433229576944217564834927172444059476397519416140604082406314566570909572418152664274609106330976075334979709969682337647539068585614044035149066212660918716441862562898352490751807474249741509070204289038354409926862754125641528162565135626141792599042834397974219821542325475643235597129696284286897295489614004353000102461443164237967331450833676605147907834931191514493366720158229310047516454080684071815371208146249305696293975809382779519453373409543064501897481377608101329863797181692411112063621644693558550151043427154859831297086282907354522120072414796159515855402828068256499350172335422660489897077384331326724139004940197749166196757764363390922620207718633947113328990076920448212235806351305668907911463761992346312773811482620760382071596211415574652465233137224480012997850695361664318960049920254637941923984738947589135326318190532307577439096858665084510516347417792303374559744197181596535119667656432597181666127 5324050299126688490049670386365346017738765731768446301642337649116328969661471218551892047565029734956053130576659769116972198689269646727311172968084112583861846787498498170380263315594415738109544778575001938505581681498869975227152398019994365089021912031699686348811741823615779637860069815815218116444227208257111432458185695455484001190373809694020442160208585064274382137018879111850585461069256820031799699817195558064985346641517659085573819772717046430788728426819182861477145931784698198504388423654900163741107969196923420673764661735237250043718193268691511128997432050953962662409948055232629971736808807443548762771938606560057003208212564379800184048225787988692165443141926430308874609339590642487905105267618776772144708645511596806835617730124387172780215108052930324049826780647818933090767085947777896766602021255783443548463505159262054957454133686630728645809192653257848628956554659956916538090927475884861151086334201995799388981258882719078649082221600602437639185750172772221217779972545012805260769293307120061389509052966858746863248956214250131003536575407174087163259426574928926939547239453381017618474711704087207711700550517870369540890595943143787657432266885741514765684619037256435635736539833691117140518012732607503505081072039933333627648975510275769267912770461107706158071389342536752385566657500741644101577995869539647742923397391663219261258654391474763629148630986281071925005054464726090141964982729500048753175940780163285167513440941485250746907558524571670217603661739660391099637257724779699213959868415261539759502977396844457194643408623146916983104232500657279058550055007999986279515719287491733430478576701375283320666680072154484931914103534127759514377422072251859756760374537444937297722612508421337224988819719053487254229643284302421818343697998973213758879780412062652154954843617933045619657805488449461417431585469150356767841117155005704162567561684540610542721474216565076348777511740831400729170123567531591231989109392897035678289981934561650307237668790119216350330080811343504353092930233600133981712132294416951540275143147304756963999947815685221394158430095557727975644675094373532571930471256919078073020017729134508586797366106535028565132610060917147012824378647417894916796293424613117639909396834731451209848595581993511452432125420960951883370552476649080551487987426276578814783514316812721528818209820550234776627473446044828336005476367808730857677192157541482969338817892418371546965301721281489212583783342533219619276217509745870352842312952884279394938429564595369221201792371352731644715019387568208063011075673058354800553198250682316591528864941499932951556307622266023383127342642454499232806462953793456379633878672082161497922483563271995171007325370790214039131186947232674283276927744352093342200879618286413141695549076326191432726335565882205140734189401090413338079118742682694414894563213985008928594730317946955665182793273021851447326178386868299025658073962007031592250016745902942675150348324615701273611318364428784043774061106339985419739757372099993774439362159125815040819487808247898353657738562619447114707689131264777290753412090138805421788838517855818249671805182208271667572283797483681495455154079591425121475996982545275571788201225976172277496123510766301596682090631747817531130939443901453579306388291495694215152157729125890767032065018078855301115392558400506834439242270850011474888036339681650086204700775268008565721207008639575000928700124413580018962953125080370916545791035777330554748096089442374606819939625140938478732574669664379922531491063916862315393086366588508822739104852056667634514627168064861980677455025402001536699186499458838369149950531550681545673261666339158743260221765598745864265094865391048005164553899396523352380042275315324919400558093551830289008101972141755393460178959352320722307092033314672273502868413543837364325501273846949536681235954166604277834987404102799790391763839702140916516612591342920995263100179100886306026906699526215123200839468327606362783517263167414460040719154371772882919745690613408921460594298524001201552247814983601352076 8614494341801026585685959688027126622019750278856603530201119502496687984666414462788949589747456471947530652945309862338098983024757236607526541156600129900536854114304735426244447505525871420292647585400225650160642190099918985435849154124823994900320106780620557819300403337253425851741202719998249975781104270667109203272104650673491525067941657882857366451766520123078664513130227327540101782252999280754638488514922733574100928400440763121715057407127708122244048744001939471967577238630537068423585996009232724770439471881249893029304575940318882464105778055095656811291782011329875172310315278139285682115365818349263861023553780194158740674883482940952765717394560651247816080105106326019131650479928653071956524507056981373538917447220402794643388556433702966316192861582283243229414772636782156184704949154495723400051599412919571664144878458702083070472456605506838150613872737349403040448597879727379249514731441327316850392149139787516197998592953009075781958912658163936917243968853936160528617786625770269509580121506934120733096347532980097774621271909285963891895354654935122618605222092249773671105415106120212858534138928144320644375668692601064779559940050456296009296175687976245362158288376488220138409470649540575627844136512579292937253548778004201950886957571143450721615413105625173794341186618334964612700826157650321072321181202213908757381420137561059587569758229061295997959932211816230294658911563589838022403827996225316762867865580423919643919376721975943373649266938259831029887515692838645667187887964539103308554626647298478287559270291339787879675959395946128986756800713582503071298145327025230800893110372270368290373706664260373469557431703827251561713602360449906616403370952964243094225721628646776900358696826151406725350875841576276438555834643641962339604284185656120876920780724251110171388210562231001979775328632576933480414660909588892321673609522617682218748854603627077236719173651185147199623656185154646942707864398308752895023446854643582952482347120568536355688311420643558706061321108740104257820568967119016274047997312238848331749345187986178055158188282381379990466805761148285888941125198829736431339814757187911256614258206451795704845148283574414179897164118637681057177990934159486817171292984502720965349602180412494600217994460668095122046821656101426834222581759745023325572227198124806229269746852009118673443091656051829186588124293445784931725340877766298291223061720897824965936125986256241191881751498664616157266015607226561067846258912740976377117782197027693492252874448329571006594897095099130597109041058490506782171139141350542423791350764266416915580375291141192526940659560317804001225290689847835642664912077928923808854346373789306000579241178740064754330136379651163807808730611006002572078753374406887034037178901488981531326603156000963221432066810333422155021650932352739181598184749147450686289072384869528245396143372356216498672370327069331139275649754612752316569167453000833113044199844993504452495491411909602351122674650227252484524952747188619379834262436053043464510649176190769340230624689816501644328143325152824762586368193319949484664674026033930049011604392987377630366238411785215885137118724656125554931551599007565725558403297111846481360619378640446886602454486841636576392060314085465070199525057945488728372600952414410657014720627478381518839539267820364371319681596754916761301996396491539637453171965823442685247535173242228387263532484282810598058396408700477314452567129433371019007234200015297886198929766047522514654870816655431845452732898974427438985571747988677686601232615894205116714914234836187087888036711129363878158832633503331400496368191869950432771595225109231696716688821198990040346504672953267984337509661550563860567381967653022702552377697975814816477942424878554428013042169890921590217943322743243342514810667261785602492945333992049600131852579515857448144997946512917051646470024863181861987975255276793381749749815822933993113795540765205266076826954164157047185578415916741689101707795474991899137577819456283399267163482916783481204791480120536321219904247580783018203 13938544640927715075735630074392472639758516010625049831843457151613016954327885681340841637312486206903583783521969631455071181714026883334837714124684242484398700901803233596624710821120287158402192363975227588666223871598788960663001552144818359989342018812320244168112145160869205489601272535813468092225331478924220635730290346128975526258315467576877808611975105187353046650149106439390687243322256100786438188332118291639086275041958422207288877179844754553032777170821122333444723170415235266927974419664132888511547441078173313703069237675556132507823971323787167940289214062283837834720263333371915653852174625792812623795492386754215743883096047320752949765620348639939981523247032756328006259819519295559861629774675758145683626092731999601479006286558090139096407969635213567279241553284601089275472035102273620166653620668703015212608383617964138027926590292137566796423065390607251669405152539684295787605658917212178001478483341783315586979851835728154431041134258766374556429719026708381746397759170783074770349414814054182122605400499838844637870228123536094895431930062109209781864648667178700610652654559501230477008850632231528356076219210471434320450535993600083666728442573717760127842907413744655774146010483231692768362149245186796442334620817937535578535933081419219989528183566732879952412575960871716998267483658391965173899177071753556500304817529224278848828412620536059627108563198097302219663966028315928164368810725725365516043806360587204811432817663461194120556825462831501247491177432499036766825145689318802522514495062560018047062247688184245074319368019093045969861033214239782129848200335025217080408829659762101720852283365635656790224111775981736493627705894577666130780793025216102850986096166091714198081309334572743950339695560629763692785477927944384157947982184629334635800561136313762326343054180164047599433134121026394897846246378739249089514726677623386381316416288167687779440647867750223548401167925986047671877987965840344127012556247540618630772329055130186662925980210762775056391401920083608610913499200719150255760129606655799872024488335290935019158136098066601384625235856706013864585800293203269003270286014106989329634275935586304291642514390109442745029774179554828070002369581577381733967586409115838605258999015143945810066590042661606574478947077062378717593134236394103877060214624401385044053261168821840202261301476602063963215597739490613267730817245575029148900253878439307935274943878674612738847053219946105369849798949759780687122476422486846729960095149911972887191304012924940227796689466451862241824060446058714845182214814408897224344549014948733507109240232641125478496967182583827384352633332302334875471375031722380188488225045871467498501724742012059925337461750441377846939917558238676855355681118758980376238058519775394673022152232327154654158402376215627295755840333443152519677303491830145101183635598854537173990873690303172163855163600091182586601828141481051342227241415007864705294216590896447127645839736525303624733993014656036528299013853528604799574019808153037238950011335316584381050112498064399997985881887772271877294057324584726775418086116172735470800442910843195880038043593993487552709402522139807050386705678598990847034400279657122053148820604616619164098577997607938173074150945833282601330464501846942307678989243910104872166878356604272285871604285899219672435074155155423595741238667341551112341208305505092771452235948510236952984739492922385598987096533114057333415520254513741935553025235792628440947025855489897121474810441796370324185307568638807361517062811905540001994318982482713939454019086892854722402663879194225858836287658905332937195554691328788801921545756659913242389950487538148783606726438552013848602604526941611865731935867049546054932419973291139735878500518430384717021144142032676983678122282095564064821902700576457875995813747535886964457353853362806984826233900679521329481457428965981652379739094978934298266362407165854988376895719866091572103733653690372170386417884244348051885225058642406359178296973828056282186909173530192402665385778644537522772152062564384370279 22553038982728741661421589762419599261778266289481653362044576654109704938994300144129791227059942678851114436467279493793170164738784119942364255281284372384935555016107969022869158326646158578694839949375453238826866061698707946098850706269642354889662125592940801987412548498122631341342475255811718068006435749591329839002394996802467051326257125459735175063741625310431711163279333766930789025575255381541076676847041025213187203442399185329003934586972462675276825914823061805412300409045772335351560415673365613281986912959423206732373813615875014971929749378882824751580996073613713007030578611511201335967540444142076484819046166948374484557979530261705715483014909291187797603352139082347137910299447948631818154281732739519222543539952402396122394842991793105412600831217496810508656325921383245460176984256769343566705220081622586876753262076666221098399046897644404947036938127956654709853750419411675037120390358539494851870632481570831784978444788737230213000046916930311473673687880644542275015545796553344279929536320988302855701748032818942412491500032822058787327284717044332400469870759428474281758069665621443335542989560375849000451887903072499100010476044056379676024618261694005490001195790232875912555481132772268396206285757766089379588169595941737529422890652562670711143596672358053746753762579206681610968309816042286246220358273967465257686237666785338436398170849597355625068495409913532514322877591905766186772638721950682278911671941011124455352194385437137494206092401091332277378693125337682434013033653857905831069121709858496334621517979524032953995327415039174956617833927822285201146345662050447881301940032032470011225990029896030259781543479808988055341308255027572747184163978180345945211817794738491098440006160724150675690571402206040131341312571586346497552266370285455512721341860564872497731264742395049579208462753603328378260907288328141411188336200241068600065270891794765016159821518935370748024824111140694614585852364149097022036003102184201583254676175698723018614291631406333762452723028823712868734068167838166529808126918894648203773833523277113074316324380447981375092041617854299753526925492033005434610100771294900586248534142038099996487662673683856924926938298192509127180360515736868551138879393618559570608601195556440410284584503329701696525768733163805551815715996139127202632441822526191273323008020830958875704393132653893149803722032936398199456158123341327440123315599337132901211069864930853930728804718610721527115814556986341754968735335227823107077877346939666379444178461254511234391586561550992838933101504549221627353353955759439648135899779215150422689615523782318005437626742901631385577924022150170518136287109651303997342571419660773499080965920752124679667598130092541654748648169244679427434434493165867410275237421264376204348755388328117875590469186549049450777491265795891701275488240977595787472707983724065419387017062659388662527533927160513725877477896093803658796408868008697818338416435889951580141331148434905975856667664883289012823966600717224179408282244206080703460660511507353721280737187880901642314025212925096639880425517904676260082760142206665519812047303830573510404282005778703437846521246795932605318257277606556572592803576768968534509439983257066050701032484449574749466211259918747671529989559792431036051590196324515529181598984082653804711143553719584043754755751910340357043235063833090749794380271328535456699771121752465340248271977205196197045492941814534647868087383947112954560259435807926327145955621537419636129681258451802169638040467613234800502634559894217688595551598376919056168933321729041810290700590323589736995120292408664337691922883198739234693140981769144939106639308737138823953231111505281832940114188492175726299317834702568757484797671266954552356442943308939145034186311923598573896065604838807407336713367838243478488759081527936564589206432878664432971231847192438381127927453829163514367714350255727680016112222988788981490691260631296838180560607854529217571996300161089740986932854117398258315874793284339681454072656446975883870177258765073843992056310145167388482 36491583623656456737157219836812071901536782300106703193888033805722721893322185825470632864372428885754698219989249125248241346452811003277201969405968614869334255917911202619493869147766445737097032313350680827493089933297496906761852258414460714879004144405261046155524693658991836830943747791625186160231767228515550474732685342931442577584572593036612983675716730497784757813428440206321476268897511482327514865179159316852273478484357607536292811766817217228309603085644184138857023579461007602279534835337498501793534354037596520435443051291431147479753720702669992691870210135897550841750841944883116989819715069934889108614538553702590228441075577582458665248635257931127779126599171838675144170118967244191679784056408497664906169632684401997601401129549883244509008800852710377787897879205984334735649019359042963733358840750325602089361645694630359126325637189781971743460003518563906379258902959095970824726049275751672853349115823354147371958296624465384644041181175696686030103406907352924021413304967336419050278951135042484978307148532657787050361728156358153682759214779153542182334519426607174892410724225122673812551840192607377356528107113543933420461012037656463342753060835411765617844103203977531686701491616003961164568435002952885821922790413879273107958823733981890700671780239090933699166338540078398609235793474434251420119535345721021757991055196009617285226583470133415252177058608010834733986843620221694351141449447676047794955478301598329266785012048898331614762917863922833524869870557836719200838179343176708353583616772418514381683765667708278028314695434132220926478867142062067330994545997075664961710769691794571732078273395531687050005655255790724548969014149605238877964957003396448796197913960830205296521315495296894626030266962835803824126790499530730655500248554914790148521902996878634824074318922559097178641596874629723276107153667067390500703062877864454981381687179962452795600469386685594296425992037126742286463840329989441149048559349724820214027005230828909681540271842169108818844124948907321479647567368557316785568256525550448075798321858568048093474460478514582759717277474560313618112725785236274437880386785401889915882810077624404288130177063793299669956712477747337197182730097314250285106465802734398175867600210700386220351174545991308271004715810226184269408850232533231079692656446927576317376269189652799077965694609255957113019319772427011467186975368916356589023569477776440836486013743605466669575857938556826896965613506746122442091211757714669837037972496851639266635482474179451462188276028002855080757161950607936472535568770168336872480448794163883929798855756423443483934593925485458769930557354452505393607662141373684185830796465532240997582690662764184605005059880533919501688565727483356282790115611924847786513295941039770877370907620655272529748871562764676746533331599239044220952791732807740888656343582578602593377890752962560826382697527251696312479306037574855001023650283016562523632633026786398707787170884960209600590660679539325541122980454245828978982302052359117942410671846823938102330849685945301640299907100697368517174482842489403035500846258379400990612490214673769390442325599772190990555923768935739655704962956205547419627203856426090587658260587873685214799610482057512922540362205752030272860454061639373343730579440234620401348477340686926090582747839618803716189829907065763952784473731174641862135588576833628228152007070262702293233011470127581796032589474928591981283607638460854890113284671600554768092981477027316757604491700248172493823348036252042162019697371799757690589870580859632995622952408621896532693364469517815595831407951313997274887477574527528036614686738429058181496589796275287607559957550057295681542718715433787592031253701752114812417217644558094288234943461739323862055330453956275557574187886934371472158616068414701354484572829063823529046560286241471417797465747871959710609384882795145166747453445234661978282474630154643969867586980497388410284294261544901387958414184405437792872157912759804617494171767112395963640981829977168286535563037409611366764208372709551758761 59044622606385198398578809599231671163315048589588356555932610459832426832316485969600424091432371564605812656456528619041411511191595123219566224687252987254269810934019171642363027474412604315791872262726134066319955994996204852860702964684103069768666269998201848142937242157114468172286223047436904228238202978106880313735080339733909628910829718496348158739458355808216468976707773973252265294472766863868591542026200342065460681926756792865296746353789679903586429000467245944269323988506779937631095251010864115075521266997019727167816864907306162451683470081552817443451206209511263848781420556394318325787255514076965593433584720650964712999055107844164380731650167222315576729951310921022282080418415192823497938338141237184128713172636804393723795972541676349921609632070207188296554205127367580195826003615812307300064060831948188966114907771296580224724684087426376690496941646520561089112653378507645861846439634291167705219748304924979156936741413202614857041228092626997503777094787997466296428850763889763330208487456030787834008896565476729462853228189180212470086499496197874582804390186035649174168793890744117148094829752983226356979995016616432520471488081712843018777679097105771107845298994210407599256972748776229560774720760718975201510960009821010637381714386544561411815376911448987445920101119285080220204103290476537666339893619688487015677292862794955721624754319730770877245554017924367248309721212127460537914088169626730073867150242609453722137206434335469108969010265014165802248563683174401634851212997034614184652738482277010716305283647232310982310022849171395883096701069884352532140891659126112843012709723827041743304263425427717309787198735599712604310322404632811625149120981576794741409731755568696394961321656021045301720838365041843955468103071117077153052514925200245661243244857443507321805583664954146757850059628233051654368060955395531911891399078105523581446958071757217811760290905620965044450816148267436901049692694138538171084562451909021797281681406527632700154563473575442581296847977731034348381635536395483315376383444445096279572155381845161167790784858962564134809319092414613371639651277269279872490487556696790502131344219662504284617839737477156594883650775939846324363090613051118836245345196352957746476201406256826630635759049321009967530484543389989821224566228672358282325098269453767590699277210483757953670087741909850262823041805363409666643133492257684029146885077113573737697083608536320600304662657167548424081428063732464197059947092942492944115849843791305646079660935433962696579862589553847919690263455157158099888922725927776520616348573379034352488471280205761489372220668387090155508481376602675911743949251024988183173367885193014496663656583516309284672658010626461156437213896728035710224550105090715196788533362304147081719663008983390405339340749313726197310822865034935922228279973785336676129051566302668012764907815621949488910231454412210038356783933668658659820059151025260341971049462676350287928502033395115576447328344422614553946947054963053158390584296565198645871332358331291823611586873826203282613932313622465157054908360394079295583606400586066510424537518504342900846607605550894428402445015731672261023220233812103992220007433195059122167700571130751265500642966507087672006573465670777944390443621431804379782169636559135930530076324769579895293891393338387759944585658976104309827708795007732611929968848162163684851778192015167633481283447332777993078082416743126629151695022407967844673544107408481095238937098564736393734172958699974663461388503865276962522331931693975379185422179236552051791885730350938342984065059841405332826528243722661612579400457726267271307827720198203120603229105012426431513188661562577514482832903925963318330571536454683569902015315825048840591386405048263007089516765879874131470253491773178879495329436252944832973331910591760093635766719120135850768697595064398091737312336624308681115167795490389658298586853143432951358278241128685248464854869399430605530410484566527533859090766877202875810046560396735645095054486424144170405740296174685210756264682854719147243 95536206230041655135736029436043743064851830889695059749820644265555148725638671795071056955804800450360510876445777744289652857644406126496768194093221602123604066851930374261856896622179050052888904576076814893813045928293701759622555223098563784647670414403462894298461935816106305003229970839062090388469970206622430788467765682665352206495402311532961142415175086306001226790136214179573741563370278346196106407205359658917734160411114400401589558120606897131896032086111430083126347567967787539910630086348362616869055621034616247603259916198737309931437190784222810135321416345408814690532262501277435315606970584011854702048123274353554941440130685426623045980285425153443355856550482759697426250537382437015177722394549734849034882805321206391325197102091559594430618432922917566084452084333351914931475022974855271033422901582273791055476553465926939351050321277208348433956945165084467468371556337603616686572488910042840558568864128279126528895038037667999501082409268323683533880501695350390317842155731226182380487438591073272812316045098134516513214956345538366152845714275351416765138909612642824066579518115866790960646669945590603713508102130160365940932500119369306361530739932517536725689402198187939285958464364780190725343155763671861023433750423700283745340538120526452112487157150539921145086439659363478829439896764910789086459428965409508773668348058804573006851337789864186129422612625935201982296564832349154889055537617302777868822628544207782988922218483233800723731928128936999327118434241011120835689392340211322538236355254695525097989049314940589010624718283303616809575568211946419863135437656201777804723479415621613475382536820959404359792853991390437153279336554238050503114077984973243537607645716398901691482637151317939927751105327877647779594893570647807808552763480115035809765147854322142145879902587513243936491656502862774930475214622462922412594461955969978562828645251719670607360760292306559340876808185394179187513533024127979320133121801633842011308686637356542381694835315744551400140972926638355828029202904952800100944639969995544355370477240413209261265245337477146894526596566974926989752377062505554310370874342098680418014154297286908572748016801270456264840363253687183521545820710365369121351810999087355922343801616957212850986933595312318238535200353616174090633416461205589362017754716381343908075546400136557031635782351165807375842361577790421133830108861174040618170454554890014574183097352141787269880520595724375321047041570478586639151158850657162781153822340642944912715143409613414158768138617556703000447425405765094572424491496096113393096797367542918282287327036629204973306814593872548925439038731055181305351611392398672369004164350725255494246347246280493889677717891160380658125779624211391993014665717015562983301829303343917959090570629638662935088212312078402943844154464273980143181071706593077564785395148881270606142798568584510315292928981663906350836089971243513660843709434041822865603682489462748995715672918355325177037989023961940095069927509208882137372886348924316588282004205155229925942436559771504922913839414319833674229391202883482331084452658965467501037027733178112291288933205323085418958368784667411916728183190017651411847211289621149709825961159004436480300253448564600594546935671422808217250897683071177723512749076793756331878553665456505985876639232957191476134415566041868262612182526182374474065557424995791913003785262277869926714294917460359789110671891671718610435302660868822734786828779009035863331918575592053151338664658948147157284736540117319124542029303493733069775292760096185047414838138972834875677429529359220928657936195036658887466878032253795307922514458627261302099818901287714039073146211619873196025551619359750910361825238206798382319232960383143128826329866787586869144847219836149689044441378707550351653945504667646187457904739655583622682327005361607268566163342936357802346697219419453847862621240725051636581061483298076921225865221626073658749149130944331993488824668971965326731248679637007493304218327509131608736036316401312456941303333584296577520473055564270906004 154580828836426853534314839035275414228166879479283416305753254725387575557955157764671481047237172014966323532902306363331064368836001249716334418780474589377873877785949545904219924096591654368680776838802948960133001923289906612483258187782666854416336684401664742441399177973220773175516193886498994616708173184729311102202846022399261835406232030029309301154633442114217695766843988152826006857843045210064697949231560000983194842337871193266886304474396577035482461086578676027395671556474567477541725337359226731944576888031635974771076781106043472383120660865775627578772622554920078539313683057671753641394226098088820295481707995004519654439185793270787426711935592375758932586501793680719708330955797629838675660732690972033163595977958010785048993074633235944352228064993124754381006289460719495127301026590667578333486962414221980021591461237223519575775005364634725124453886811605028557484209716111262548418928544334008263788612433204105685831779450870614358123637360950681037657596483347856614271006495115945710695926047104060646324941663611245976068184534718578622932213771549291347943299798678473240748312006610908108741499698573830070488097146776798461403988201082149380308419029623307833534701192398346885215437113556420286117876524390836224944710433521294382722252507071013524302534061988908591006540778648559049644000055387326752799322585097995789345640921599528728476092109594957006668166643859569230606286044476615426969625786929507942689778786817236711059424917569269832700938393951165129366997924185522470540605337245936722889093736972535814294332962172899992934741132475012692672269281830772395276329315327890647736189139448655218686800246387121669580052726990149757589658958870862128263198966550038279017377471967598086443958807338985229471943692919491735062996641764884961605278405315281471008392711765649467685486252467390694341716131095826584843275577858454324485861034075502144275603323476888419121051197927524385327624333661616088563225718266517491217684253542863808590368043884175081849398789319993981437820904369390176410838441348283416321023414440640634942632622258370429056030196439711029335915659389540361392028339774834182861361898795470920145498516949412857365856538747612859724014029627029845908911323416487957597156195440313668820003023214039481622692644633328206065684897006163911857982689877947644342852985835111498774823610620314985305870093075657638665403383153830800473242353431724647317339632003588311880180960678107870185183252891923745128469634211050836211105943599655725269672184434250558794804345047376855348001207110550920137688860922252672313414222023889913713145940921952634775798316834966462679035262259639080947520107657857217095560643423660552177532235918269990910003829796803174350375901786841814562993520939427703239215822106278180090362665648065040810233638622053340427553061392129141154977329308916065409351680378414240914446715183938618907706384206459804203160436076116389192873904912172320663768585067083207574731952139099283644174951750440753485317368384554649016874564171935295763470645489515234153336563486521749554023433597708205527771727942298831284299563277561626668059059551534011461565251682455192135540810873979847360813800399084177751403423829755404067218722816208831993661730135187745800896415071688266553509137093586161641341304502982103294918713352892262408629990226085881170530626295579236079001225017972572439891321190107085995526273157955597855563454293037560195578364793137782188754308414845239586997683276790579460372886417516958570855674156789545072837617648121820746125043982596087064361235187708448960714939332737099206723869323773218661494589200626261484464438759320500046278489980062579230342178825464422703048006300140470586334873182450710508384523285714228692396774661481952221248276208191969417716271835849876234363985716023820514694870480729231149274940920591020431236650247343716318093724481743119334860938000755894084009556043762528977789036215441294879648336441509872584143462754758907214004000343762599019235153538492860590339446514210369114264887905867253831090802825456627347043629758981788276737738418990053247 250117035066468508670050868471319157293018710368978476055573898990942724283593829559742538003041972465326834409348084107620717226480407376213102612873696191501477944637879920166076820718770704421569681414879763853946047851583608372105813410881230639064007098805127636739861113789327078178746164725561085005178143391351741890670611705064614041901634341562270443569808528420218922556980202332399748421213323556260804356436919659900929002748985593668475862595003474167378493172690106110522019124442355017452355423707589348813632509066252222374336697304780782314557851649998437714094038900328893229845945558949188957001196682100674997529831269358074595879316478697410472692221017529202288443052276440417134581493180066853853383127240706882198478783279217176374190176724795538782846497916042320465458373794071410058776049565522849366909863996495771077068014703150458926825326641843073558410831976689496025855766053714879234991417454376848822357476561483232214726817488538613859206046629274364571538098178698246932113162226342128091183364638177333458640986761745762489283140880256944775777928046900708113082209411321297307327830122477699069388169644164433783996199276937164402336488320451455741839158962140844559224103390586286171173901478336611011461032288062697248378460857221578128062790627597465636789691212528829736092980438012037879083896820298115839258751550507504563013988980404101735327429899459143136090779269794771212902850876825770316025163404232285811512407331025019699981643400803070556432866522888164456485432165196643306229997677457259261125448991668060912283382277113489003559459415778629502247837493777192258411766971529668452459668555070268694069337067346526029372906718380586910868995513108912631377276951523281816625023188366499777926595958656925157223049020797139514657890212412692770158041885430317280773540566087791613565388839980634630833372633958601515318490200321376737080322990045480707104248575196559026481811490234083726204432519055795276076758742394496811350806055176705819899054681240717463544234105064545381578793831007746004440041346301083517265663384436184990313109862671579690321275533916857923862512226364467351144405402280388493232236240894151338159652814236321430113873340018069124564377283314213367454732033781857078948967194527669591163804640171252332609626239945646444600885250622338002491399151083537006360607702216455406850370010756872016941652444241465014507764960944251934303351214605765265487794186893602886063278312819895140065703848616299066175511204689637475362264794256818506423494525077195471509947754660791014116139824667253920585114266687347244737905718120003306809943308464870917063125353464171435985849856132188006386558838713038522447172035822332921181696586643525485156351076077297064028093792947222472688773145150819696253881539121841163392191968991982999900804268260716275515765373470532084999131793582896208590423386971491805699841864065209225050504952790970119496089417740022740028963876155685981507478019108906073178414441601848279359847870105765930523306392346494744086802073380817433136356994413831822435340768641751675496459993369213128441611142262132505513690766161043957752511718517001512498592984860567483424474016197065266319182585066496094479586613847406815914430012437358541819622889139624226101149863636288861100444808516394378892238987574159826807667790146648594287183655682591867047169859252770712213416791059840835052073847372481560061083698153747510859348716570907486909873282253497571299426200086563850022300344145613314247201665426552821902774249748842696411502276596268978030861584099915211606390538681441518736007699428922146621562008296608094338924118559847190142400633795979387513156522233857887152856637452725724802866907587854509659481084802323906533936142645465139054222012868280334540481236591335098244046138623436745379211205552173509559136249188279582803220445588237207889141389902927339000420729843350387901024280937113696430706775463216376840410276940492931460709819739586793810008684380832565963153131288094592508059822510458187321588126151217862418483215414998862567127119226769084288346963343278365797210793983260959251 404697863902895362204365707506594571521185589848261892361327153716330299841548987324414019050279144480293157942250390470951781595316408625929437031654170780879351822423829466070296744815362358790250458253682712814079049774873514984589071598663897493480343783206792379181260291762547851354262358612060079621886316576081052992873457727463875877307866371591579744724441970534436618323824190485225755279056368766325502305668479660884123845086856786935362167069400051202860954259268782137917690680916922494994080761066816080758209397097888197145413478410824254697678512515774065292866661455248971769159628616620942598395422780189495293011539264362594250318502271968197899404156609904961221029554070121136842912448977696692529043859931678915362074761237227961423183251358031483135074562909167074846464663254790905186077076156190427700396826410717751098659475940373978502600332006477798682864718788294524583339975769826141783410345998710857086146088994687337900558596939409228217329683990225045609195694662046103546384168721458073801879290685281394104965928425357008465351325414975523398710141818449999461025509209999770548076142129088607178129669342738263854484296423713962863740476521533605122147577991764152392758804582984633056389338591893031297578908812453533473323171290742872510785043134668479161092225274517738327099521216660596928727896875685442592058074135605500352359629902003630463803522009054100142758945913654340443509136921302385742994789191161793754202186117842256411041068318372340389133804916839329585852430089382165776770603014703195984014542728640596726577715239286388996494200548253642194920106775607964653688096286857559100195857694518923912756137313733647698952959445370736668458654471979774759640475918073320095642400660334097864370554765995910386694992713716631249720886854177577731763320290745598751781933277853441081250875092448025325175088765054428100161765778179831061566184024120982851379851898673447445602862688161608111532056852717411364639984460661014302568490308719569628489422725124892545393632894384539363016614735377136180850879787649366933586686798876825625255742484929950119377305730356568953198427885754007712536433742055222676093598139689622258305151331185734287479729878765681984288391312941243213363643357198345036546123389967983259983807663385291814232318884578974650666570147628501914349381840961484650703460688051566905625193621377187002247522537317122653173168344098082734776593568037489912805133818897191197943459273498003010250887101508222811303980838900688311573370737856474231693166709511446030304752099708167869464141031777804840722803127609599917051319940143893220523089249386823551838923670299137898664885118391827087334078946370895739542732679245993473359228822561795476066354905874100238378469694734064287251766666090247399493097361228119343482554634640048040711037906882769615943318434862661226154109122891812273999775067349906046614288579249147843958211336997429923699249853816139129221837781067858302171246604175989280753146393740947563004022821856206684008623760731049393103676637552752728899827639903347056588677332128273425050483426966921333969382870204431336797990329438605584420570778068535523960158236543022675560014827071045113679996385465580272230990037677162219981648735253567373813284619274811971902046278707977127653953945609980540533580292077141930102586503499540856695813645908677748217700485548349948292418016077813407491965168562588646056609971311703108714912170863945047105451647046635353488180508501409089609298027422403893707574551844069780473629923905632241484339894244390798776986628082511298670751773869149967696722638761659245828285877620381313000418707760473451626865072555299887559435012213920466383198816278190147505914913887994980245815957984774617042320665931179367746618787529762286761729512799527067661762410459286621613575191268197330073831119669008813952495386508828228320378040150271055318514454325093507235885218937869590514716331506978905818199313155934226340358156181096666394152147135591473177157131631857191527294976048951047911927572665428231532748103320866116398217922052225711635390593102260154073948532402251012498 654814898969363870874416575977913728814204300217240368416901052707273024125142816884156557053321116945619992351598474578572498821796816002142539644527866972380829767061709386236373565534133063211820139668562476668025097626457123356694885009545128132544350882011920015921121405551874929533008523337621164627064459967432794883544069432528489919209500713153850188294250498954655540880804392817625503700269692322586306662105399320785052847835842380603838029664403525370239447431958888248439709805359277512446436184774405429571841906164140419519750175715605037012236364165772503006960700355577864999005574175570131555396619462290170290541370533720668846197818750665608372096377627434163509472606346561553977493942157763546382426987172385797560553544516445137797373428082827021917921060825209395311923037048862315244853125721713277067306690407213522175727490643524437429425658648320872241275550764984020609195741823541021018401763453087705908503565556170570115285414427947842076535730619499410180733792840744350478497330947800201893062655323458727563606915187102770954634466295232468174488069865350707574107718621321067855403972251566306247517838986902697638480495700651127266076964841985060863986736953904996951982907973570919227563240070229642309039941100516230721701632147964450638847833762265944797881916487046568063192501654672634807811793695983558431316825686113004915373618882407732199130951908513243278849725183449111656411987798128156059019952595394079565714593448867276111022711719175410945566671439727494042337862254578809083000600692160455245139991720308657638861097516399878000053659964032271697167944269385156912099863258387227552655526249589192606825474381080173728325866163751323579327649985088687391017752869596601912267423848700597642297150724652835543918041734513770764378777066590270501921362176175916032555473843941232694816263932428659956008461399013029615480255978501207798646507014166463558484100473870006472084674178395691837736489371773206640716743203055511113919296363896275448388477406365610008937866999449084744595408566384882185290921133950450450852350183313010615568852347601529809698581264273426877060940112118475063680839144335611169325834380583773596464804145422055717593603218783751108852768596255456580818375390980202115495090584495652851147612303556544146841945124524621095267455398250839916840780992045021657064068390268022312475563632134059019189174981558587667680933305042334669079944782643255178292928005790794084006737586317898150316590950124521877479492043590325786935635532113292738116661234588641501814699854368958883580280856445058761307917394296947161789225658263896527333032557851694468902049023763309334650734974524015093720637785083934261989904715068326394540925409205320961222705981951397302406563487681286759940539811241067095746978900349960506874746603632031040611842175143485891459083808333193311153240916474708482590198454321397852314130443314357069008716289788400043195339271556161869250801657223544283678724623284895353931560835342795842363870691961972614531930153077544137190478710933570162036184634317178879024018100770025100546943420336134462410994012466563842311681095599649542173082496585537036458751221403590158984488843268110379999178970532076366710576651524569035896078747690925915632907508414436198003196142344265988754398754126374919425819279651301756910254293646189450982997301591269615264870344801120660505834807137654242544039015935070206117693669465450619574260887434852534015324929300132924787606708587972939631598371568017207954776217270622602376404173654474937895842170840659776807848212182426510277142312550591486432730338190581392449847885916989407339342826320320641769265706351279275072591534447778353536055453730915872308781821475849489905297042787098523576256808576644506800840800398042621302210749390862165905808549082723366992786396820370839632967368857288396755715832097065436209519430053198394318935184168443895136909499874983286945423106970195282658609590096427157801067975920683460204160831516424039140310262919951784035354798559409235233515698816646093951231318735864978965345041278994795923737556445538519871159326385511971749 1059512762872259233078782283484508300335389890065502260778228206423603323966691804208570576103600261425913150293848865049524280417113224628071976676182037753260181589485538852306670310349495422002070597922245189482104147401330638341283956608209025626024694665218712395102381697314422780887270881949681244248950776543513847876417527159992365796517367084745429933018692469489092159204628583302851258979326061088911808967773878981669176692922699167539200196733803576573100401691227670386357400486276200007440516945841221510330051303262028616665163654126429291709914876681546568299827361810826836768165202792191074153792042242479665583552909798083263096516321022633806271500534237339124730502160416682690820406391135460238911470847104064712922628305753673099220556679440858505052995623734376470158387700303653220430930201877903704767703516817931273274386966583898415932025990654798670924140269553278545192535717593367162801812109451798562994649654550857908015844011367357070293865414609724455789929487502790454024881499669258275694941946008740121668572843612459779419985791710207991573198211683800707035133227831320838403480114380654913425647508329640961492964792124365090129817441363518665986134314945669149344741712556555552283952578662122673606618849912969764195024803438707323149632876896934423958974141761564306390292022871333231736539690571669001023374899821718505267733248784411362662934473917567343421608671097103452099921124719430541802014741786555873319916779566709532522063780037547751334700476356566823628190292343960974859771203706863651229154534448949254365438812755686266996547860512285913892088051044993121565787959545244786652851383944108116519581611694813821427278825609122060247786304457068462150658228787669922007909824509034695506667705490648745930613034448230402014099663920767848233684682466921514784337407121794673776067139024876685281183550164067457715642021756681038860212691038287446409863952372543453917687536866557299949268546224490618005356727663716525416487786672615845076877900131490502554331499893833624107612023301762018366141800921599817384439036982189836240824594832531479929075886994629995830259367997872482776217272886390833845419432520273395854769955476607790005073333097549433093141159909196699794182018748178547152041213974463636111131419966941835961074264009103595745934025545879341831190162833006506307767529078319589218100757253511246021436697518875710320854101649140417403856538350680745091098061824687985281950196859815901160567478051632744688783472882491014098509006269969766969809827944100087532119451954077126753044421888222863602030720521906547078840545598407789747856121807238518020740972694062447233315620092915842181054716731454830001532637394314319867900154231767116437289060887825497540785033182415351047192306477331314495240076261578079850357301238272079081322880082026255507402402243195854537307350039366520756589973521671303898928419022563504912966927626785829966894589125372300998472639438291402585849971227460884634684707229083743405367893513818179298540553913808593530294155348486322890936012274220525935612695432898298525597426847303055796380376882670995179109671425038255126593653274654072560418909457946612834544503670339155493679175355997656638941566689201731255877727482944493289446192127689248169905242421052243116408352699736355459959399571728443687012840797145730307678810947499947363482570830349470608798252823215467650036004184497658852174303640777153728289173058298797581120776576346768278275787217089382029240896398990421101662350769114692382850034097560107179380182065085050575584834840264937808947894086419741454129452976952240638278133763537370720339761534080794093396130778906579162632026546661698819919254270009106019814696735363844470151113000771873140618577474507823874547459587927804908063940262190389233567570959542009988606361588088568169706798488526297210708211218605893664529897470203469449637449638493537402372794718812852877460139438477174188476808903252361384141426132101780126598312978652015512317467394551808975562649774608360283145443271482074325483979422056731095363562963331220507559128149547798673945107858787762984247 1714327661841623103953198859462422029149594190282742629195129259130876348091834621092727133156921378371533142645447339628096779238910040630214516320709904725641011356547248238543043875883628485213890737590807666150129245027787761697978841617754153758569045547230632411023503102866297710420279405287302408876015236510946642759961596592520855715726867797899280121312942968443747700085432976120476762679595753411498115629879278302454229540758541548143038226398207101943339849123186558634797110291635477519886953130615626939901893209426169036184913829842034328722151240847319071306788062166404701767170776967761205709188661704769835874094280331803931942714139773299414643596911864773288239974766763244244797900333293223785293897834276450510483181850270118237017930107523685526970916684559585865470310737352515535675783327599616981835010207225144795450114457227422853361451649303119543165415820318262565801731459416908183820213872904886268903153220107028478131129425795304912370401145229223865970663280343534804503378830617058477588004601332198849232179758799562550374620258005440459747686281549151414609240946452641906258884086632221219673165347316543659131445287825016217395894406205503726850121051899574146296724620530126471511515818732352315915658791013485994916726435586671773788480710659200368756856058248610874453484524526005866544351484267652559454691725507831510183106867666819094862065425826080586700458396280552563756333112517558697861034694381949952885631373015576808633086491756723162280267147796294317670528154598539783942771804399024106474294526169257912004299910272086144996601520476318185589255995314378278477887822803632014205506910193697309126407086075893995155604691772873383827113954442157149541675981657266523920177248357735293148964856215301581474531076182744172778478440987358118735606044643097430816892880965735906470883402957305345237192011563080487331122277735182246658859198052453909968348052846413460389772211044952991787005035596263824646073470866772036530407083036512120525266377537856112563269366893282708852207431868146900551432722055550267835291387165502846856393447180133009738774468258903422707320308109990957839898112030726445014745266900857169451234759622029845722666936316333184201993928505452156375000394139158749267536304558959288962279032270498380107916209133628216841201480944130181748030943825051527964831597468587611530576320885645305040625872500434297988535034954182752072936483133324000269390989830478779365956934446133799310884069001757266566262964926081339885444641802083059707926489178688729033934151808446085636624702744667922363338637916203494240629771256671686275189154365090212489643021717825756567966355067439857274775354516538764263522542109382646262441079640972437398511766869776894843191596670096637807132846288572381590987055161928040357232047841904110121934722257169741398861486051529047848460590955841229239180171975992701751242549465877861981975643916574230010089928396928462867723441095514946869528695850745779988616268064426539247731764205780151913072484066886137667484634059419893052972196908537704814636713533668323626144370267639190258791370895137559021421352520637904668766735771239609596877660679350202993528992513607265873678354326529733005652143340726300291773806230635419205079099636103684367908438563396509105162751453862730379385218851379745443923095090791919758661808249091216978747441175150591269304087630353121892580043200432729058291997310242604347863433945733650115136101505646901203063393925677354968872494770558438309617126986385314985226438271214582117276024235925710352392683052447364319225036398970332940562183315142822030727981649454360127679104360401114735165396485257858437704618081109477173455309723740021892123478556839693960056410043558971664194834283084468381348300388325847529366151011581251399473379508624733355599147984908939009339765857383585607463927050702959100739416900256667843956384822661981297509704218687836164405562545447369471135418493348788541942494108022463586802473810168439551457777657471760759598004573167769518378958970298720419435210740792596074328908004610215303482865705993337193816267185173274955996 2773840424713882337031981142946930329484984080348244889973357465554479672058526425301297709260521639797446292939296204677621059656023265258286492996891942478901192946032787090849714186233123907215961335513052855632233392429118400039262798225963179384593740212449344806125884800180720491307550287236983653124966013054460490636379123752513221512244234882644710054331635437932839859290061559423328021658921814500409924597653157284123406233681240715682238423132010678516440250814414229021154510777911677527327470076456848450231944512688197652850077483968463620432066117528865639606615423977231538535335979759952279862980703947249501457647190129887195039230460795933220915097446102112412970476927179926935618306724428684024205368681380515223405810156023791336238486786964544032023912308293962335628698437656168756106713529477520686602713724043076068724501423811321269293477639957918214089556089871541110994267177010275346622025982356684831897802874657886386146973437162661982664266559838948321760592767846325258528260330286316753282946547340938970900752602412022329794606049715648451320884493232952121644374174283962744662364201012876133098812855646184620624410079949381307525711847569022392836255366845243295641466333086682023795468397394474989522277640926455759111751239025379096938113587556134792715830200010175180843776547397339098280891174839321560478066625329550015450840116451230457524999899743647930122067067377656015856254237236989239663049436168505826205548152582286341155150271794270913614967624152861141298718446942500758802543008105887757703449060618207166369738723027772411993149380988604099481344046359371400043675782348876800858358294137805425645988697770707816582883517381995444074900258899225611692334210444936445928087072866769988655632561705950327405144110630974574792578104908125966969290727110018945601230288087530580246950541982182030518375561727147945046764299491863285519071889090741356378212005218956914307459747911510291736273581820754442651430198530488561946894869709127965602144277669346615117600866787116332959819455169908918917574522977150085219730424147692683097218042012664489667850355253533418537579676107863440616115384917117278860164699421130565306004715098637635727740269413882617295135088414648856169182412887337296419577518533422925073410452237440216068990473142731812587135506490009523579221106658058034272599126546907200748677078139156551062062570019310008309389136603323169476793021484004745360489051655166764647907131305949700471451547053390011255046437808572353983953648072052826677736317122788816566053603762523212389669124632890785965369358438110041319470316855079476023045276172328730510383994411888203801281975160355699455830071247993594265055179503696966130341233872739553835800827757602392383976629852511988854325152765903696086227131423506120207589349080176189203257602339195996906263888294724902385767940995207749995770145497664005650170968488441366894942571543360059976984517522300763866196080533806349455378667078206664623300975293510282653099657719598331211613037980694731197778789407906215943908209182758230750249408966566622151741797114942246055171747777808554200531023945676159795360389045893682157296570137296815828073496183946421367357529682527389644593710029928031547651533713579912494525291763792932537813680984448752221571104153599085839344618423108189130935935887937650066340619196591164342230012005500061878102340453568589542616047384930387910466300951019758076152607004032447696256878081993669481339181142766736998113391169548859411279477755500007368076472368774689296656206301010760927977517892712302128172930485390074394691636292095062669006115412991730848018865894481908828561527264164437600336644627771175993374563993749127911938175292203538430207523044330844804813411757592292255895759976253652437430091273771640633040950468166743344205509572997507179046564345909882818172138269308852765269314370460137293593834461155518699882498937500689041865701983924543659612227396601149926083920240124243713400786788820455063775245052023569735160654347776129801524402241780794744919190162849327169692470967941435811041993855541135867761375043961037940243 4488168086555505440985180002409352358634578270630987519168486724685356020150361046394024842417443018168979435584743544305717838894933305888501009317601847204542204302580035329392758062116752392429852073103860521782362637456906161737241639843717333143162785759679977217149387903047018201727829692524286062000981249565407133396340720345034077227971102680543990175644578406376587559375494535543804784338517567911908040227532435586577635774439782263825276649530217780459780099937600787655951621069547155047214423207072475390133837722114366689034991313810497949154217358376184710913403486143636240302506756727713485572169365652019337331741470461691126981944600569232635558694357966885701210451693943171180416207057721907809499266515656965733888992006293909573256416894488229558994828992853548201099009175008684291782496857077137668437723931268220864174615881038744122654929289261037757254971910189803676795998636427183530442239855261571100800956094764914864278102862957966895034667705068172187731256048189860063031639160903375230870951148673137820132932361211584880169226307721088911068570774782103536253615120736604650921248287645097352771978202962728279755855367774397524921606253774526119686376418744817441938190953616808495306984216126827305437936431939941754028477674612050870726594298215335161472686258258786055297261071923344964825242659106974119932758350837381525633946984118049552387065325569728516822525463658208579612587349754547937524084130550455779091179525597863149788236763550994075895234771949155458969246601541040542745314812504911864177743586787465078374038633299858556989750901464922285070600041673749678521563605152508815063865204331502734772395783846601811738488209154868827902014213341382761234010192102202969848264321224505281804597417921251908879675186813718747571056545895484085704896771753116376418123169053266486717833944939487375755567573290228432377886577227045532177931087143195266346560058065370374697231958956463283523278617417018267297503669397260598477301952745640086127410655207202727680870233680399041812026887038055819469007245032700353055021811313195529953611489192797499406624823512436841244899984217854398456013496947843723874909966321987734757239474720667481450407205730215801497129016920101012544182807026496045687113823092382214035689484507938596176906682276360029428336987434139705327252050483109562237430724015494812279253399024801856102688442519744306297924171557505921549729504617328745629880041485645544013864065752083499782335616055147277821309402734653693869398289874135886385662806301477545599987755570969298026293827377558708328707996354313535560100088111751162298234430537418943000027016129713960369248330227795556730605425764532358528577721613079612392782313513711991234312594627379287227168226522608626661457999054476077677214186585434160564821396922080299325192324596365738305125374346253950234228531951048979234950317473656707401413517954319228876918215459934289987074445919229226733919521629321296324907362928952444611917243357936821900831421925378483124685522047580868865263423467326108996880406091295935564886122500234945777886167382581436313963118672946113221952376466314064464127124817133291754174230816647018821602488697553687241035884009057122650245853370654331839425339944215331699604391399896616905722119547845261326733855607461816218729837274487934574859030978729569825002427445682381320977453180650653147406428083921711435196090585363116968758298261262362424016040949766097811392979587640570684402575068444091966985885940107297720896604741885322353302910639989271413932230536936471280370200945159666447397966884360407335253819607237884699734097062446090975697970254883023563726923749422296038041262708880653166829873717489149804061653849043232390263933087889816469008246040676760637244060364579499966796242285352892032514329976791476699804657557906446188386330203293468425636065320011811866008731270716805137550219283817499997392203156188525206271264529371913130747645889949938468026414348146707300203260598988894615233022709495330494758658920943899319903361212079515164354400903641923244021378972551651114524859561534473061577642229134312896239 7262008511269387778017161145356282688119562350979232409141844190239835692208887471695322551677964657966425728524039748983338898550956571146787502314493789683443397248612822420242472248349876299645813408616913377414596029886024561776504438069680512527756525972129322023275272703227738693035379979761269715125947262619867624032719844097547298740215337563188700229976213844309427418665556094967132805997439382412317964825185592870701042008121022979507515072662228458976220350752015016677106131847458832574541893283529323840365782234802564341885068797778961569586283475905050350520018910120867778837842736487665765435150069599268838789388660591578322021175061365165856473791804068998114180928621123098116034513782150591833704635197037480957294802162317700909494903681452773591018741301147510536727707612664853047889210386554658355040437655311296932899117304850065391948406929218955971344528000061344787790265813437458877064265837618255932698758969422801250425076300120628877698934264907120509491848816036185321559899491189691984153897696014076791033684963623607209963832357436737362389455268015055657897989295020567395583612488657973485870791058608912900380265447723778832447318101343548512522631785590060737579657286703490519102452613521302294960214072866397513140228913637429967664707885771469954188516458268961236141037619320684063106133833946295680410824976166931541084787100569280009912065225313376446944592531035864595468841586991537177187133566718961605296727678180149490943387035345264989510202396102016600267965048483541301547857820610799621881192647405672244743777356327630968982900282453526384551944088033121078565239387501385615922223498469308160418384481617309628321371726536864271976914472240608372926344402547139415776351394091275270460229979627202236284819297444693322363634650803610052674187498863135322019353457140797066964784486921669406273943135017376377424650876718908817697002976233936622724772063284327289004691706867973575259552199237772709948933867927749160424196822454768051729554932876549342798471100467515374771846342207964738386581768009850438274752235460888213050829531205461989074475178765970259782479660325717839072128881864961002735074665743118300063244189819305117178147475144098418792264105334749868713365219913833342106691341625805139109099936745378812245897155419091842015472493924149228906473157141167596510029850562402013027930477163958407164751012539054314607313308160829091026522526101333490990369093140812308661771197058033200253787163108537289076355840543226047853351937946188713063399123424266362166041359333492510415962952010449494294077354792423576879570404966830638321279706709747673510411010541602164170530305388151256186435497012525952793632901116776578523123547386451545070113422384981679611144856375120615515783151820379773763441318008940280772410746002256488528449926935561735211389262640978852619996472946256729230720462971320713051584486442760595771860787003294349964058963441529990600115602163127645780286030007159109235218218651447104553931079644976814336298560028275600063042212875232324940788615274054166315135531466801567929627964497523682369134866450754667422483400411990224259487513863026973911470800953943834649675984881500108608393413691584512294839563400582363387076873657795244194129683163689549443535800532294013548304959761060902058074455697596123705794966866667219891343046642273545663207465186150715025508768537490300977812137970293504879224599212282120500168647953798545507649857669634240165741756211210828965099277109656157132176082497385329721379383008763960710588436837947232208347718837871968575570897369750481729945455899332947368740212475437821823716836149364932392288451013586733638377907336651829160204437711238277715999829141246770820471456132220661273821657798269052893139820340833152404226333559124532665555280444958220044010167130903953367432894549203351243808203589320664631278045641176942431144053744973018697274702093689214248136966513296456790359873286551088394110334588270951013604047387809349679008267761518900229919313268720029121427763453860309909273591066491250413713849940493086925566853417075608929339017273095350836482 11750176597824893219002341147765635046754140621610219928310330914925191712359248518089347394095407676135405164108783293289056737445889877035288511632095636887985601551192857749635230310466628692075665481720773899196958667342930723513746077913397845670919311731809299240424660606274756894763209672285555777126928512185274757429060564442581375968186440243732690405620792250686014978041050630510937590335956950324226005052718028457278677782560805243332791722192446239436000450689615804333057752917005987621756316490601799230499619956916931030920060111589459518740500834281235061433422396264504019140349493215379251007319435251288176121130131053269449003119661934398492032486162035883815391380315066269296450720839872499643203901712694446691183794168611610482751320575941003150013570294001058737826716787673537339671707243631796023478161586579517797073733185888809514603336218479993728599499910251148464586264449864642407506505692879827033499715064187716114703179163078595772733601969975292697223104864226045384591538652093067215024848844687214611166617324835192090133058665157826273458026042797159194151604415757172046504860776303070838642769261571641180136120815498176357368924355118074632209008204334878179517848240320299014409436829648129600398150504806339267168706588249480838391302183986805115661202716527747291438298691244029027931376493053269800343583327004313066718734084687329562299130550883104963767117994694073175081428936746085114711217697269417384387907203778012640731623798896259065405437168051172059237211650024581844293172633115711486058936234193137323117815989627489525972651183918448669622544129706870757086802992653894430986088702800810895190780265463911440059859935691733099878928685581991134160354594649342385624615715315780552264827397548454145164494484258412069934691196699094138379084270616251698437476626194063553682618431861156782029510708307604809802537453945954349874934063377131889071332121349697663701923665824436858782830816654790977246437537325009758901498775200408137856965588083752070479341334147914416583873229246020557855589013042550791329774046774083743004441020398259488481100002278407101027379644543572237528142378812804726609984632065106034820483664539972598628554680874314220289393122254850881257548026940329387793805164718187353144789421253317408422803837695451871443809481358288934233725207624277158747460574577896825307183876188760263267439455058798620905237479718335012576252030718662236620249134626457852675635262810116700036122779163684566897665243277879741722750227820324599449061929725743907766029114904461808442256779388008202622785351146737112439670493078581800619514137247166616510438026671316124539778635615946812917040922777058311322210622729856190915905860900163536304426017012360966838313082897729242177241150874855851440655504594374441337232142924336787853642251531927473516514636987232802854225004897305708465670780444977420452998004397079824648779002463228639951133409360759217334035123792448942105193392936111553847135462009383926454762501570355297460984082075856468928305636342558433937669021365350101880021653967036513707514131880105118683097985123700780644435776878304288723614638680160265665645031770590853471278473579053795849429297700641634945085416771236695226502213602010575893734074563586166349257920080139274875038815368522718276804292972084058280653997845396789716345474087955926984184918366801368172915196621412012413008228555656621847982897473544482924184688903564643319042837257274810850144331279654920932085163049763454853072687239270652074682293648753232124520667374883703488717919783031635022968864254110889065199275506570832068474309537883912799414806404247955956015374763009029676419170045532482327034311428727427520061482990290003210735389220110477742829903838945813530383880705412652371022575844477424698069610421749696743814824688810399555819224752496819669444268909332476497286776911893747568694273028790518694666905249877739454408231042668369921107519176501026862136748936417658313807307986798244294241290471014230724677972189663928441331124665939825073627991970133173657735228913044738040091712978610081990916659502229663732721 19012185109094280997019502293121917734873702972589452337452175105165027404568135989784669945773372334101830892632823042272395635996846448182076013946589426571428998799805680169877702558816504991721478890337687276611554697228955285290250515983078358198675837703938621263699933309502495587798589652046825492252875774805142381461780408540128674708401777806921390635597006094995442396706606725478070396333396332736543969877903621327979719790681828222840306794854674698412220801441630821010163884764464820196298209774131123070865402191719495372805128909368421088326784310186285411953441306385371797978192229703045016442469504850557014910518791644847771024294723299564348506277966104881929572308936189367412485234622023091476908536909731927648478596330929311392246224257393776741032311595148569274554424400338390387560917630186454378518599241890814729972850490738874906551743147698949699944027910312493252376530263302101284570771530498082966198474033610517365128255463199224650432536234882413206714953680262230706151438143282759199178746540701291402200302288458799300096891022594563635847481310812214852049593710777739442088473264961044324513560320180554080516386263221955189816242456461623144731639989924938917097505527023789533511889443169431895358364577672736780308935501886910806056010069758275069849719174796708527579336310564713091037510326999565480754408303171244607803521185256609572211195776196481410711710525729937770550270523737622291898351263988378989684634881958162131675010834241524054915639564153188659505176698508123145841030453726511107940128881598809567861593345955120494955551466371975054174488217739991835652042380155280046908312201270119055609164747081221068381231662228597371855843157822599507086698997196481801400967109407055822725057377175656381449313781703105392298325847502704191053271769479387020456830083334860620647402918782826188303453843324981187227188330664863167571937039611068511796104184634024952706615372692410434042383015892563687195371405252758919325695597655176189586520520960301413277812434615429791355719571453985296242170781052401229604526282234971956055270551603721477555575181044377360809859304869290076600271260677765729345059297808224334883727854359277715806702156018412639081657227589600749970913246854162729900496506343992492253889357998696220668700993114543713459281975282438163140198364765444755257490425140298838335114353352718670432190467597852935512550787879164103602774556819995727610618227767270161337406459868149900289909942272221855974021083821105789576102165766513312512461053150010269932070474237954318858219731398457696916862705939160689319240898045412438940793843956914290020849037212918288710308941004098069103476419789584264115843523846632769439029408286615081374539439397342646449457939272849857693024302695235625204096822603314722109642888926593276382092178467489208727903899628211655474221477843562437696391243416298133504582490839840420420639789466522989915192372802289207934150725955576587885479422943270663082353680660831031008693581215332111797282642104132068991347849217790758878457636639404268195157185433838081637142096377628801052232851574455448066919177290294512983102152543187239577115832724534688120954458460553904457822711392226147239924980171819058613579087259805820087863757727275715792793720612433288423343775129583620334878748669680181986448964712064009607688520730229472647392383552952083198423965158902313390820366525950126727207496685826603424353336857363188826692694926909051015886087490865749897184440159419611985248769736655981796061676657517192835109104212830935697065638620903603598539761623861370795144731405903779437214522013321734623131642553612888348303825776595763314797077382184311487238749139965705236061312131536774031206845352331139016651561637214866423523701046245804775248909403601957363624890866707916787824991819714352923252119301700170913252472498653141128564822553070689999838326773763537391941607343566953702545197555964826711467392463052115256247083524688609327411355374607593973249558232533130954597285458383957562758888119800134982901583036624424071449078853537824965658566395685690920255676775325014569203 30762361706919174216021843440887552781627843594199672265762506020090219116927384507874017339868780010237236056741606335561452373442736325217364525578685063459414600350998537919512932869283133683797144372058461175808513364571886008803996593896476203869595149435747920504124593915777252482561799324332381269379804286990417138890840972982710050676588218050654081041217798345681457374747657355989007986669353283060769974930621649785258397573242633466173098517047120937848221252131246625343221637681470807818054526264732922301365022148636426403725189020957880607067285144467520473386863702649875817118541722918424267449788940101845191031648922698117220027414385233962840538764128140765744963689251255636708935955461895591120112438622426374339662390499540921874997544833334779891045881889149628012381141188011927727232624873818250401996760828470332527046583676627684421155079366178943428543527820563641716962794713166743692077277223377909999698189097798233479831434626277820423166138204857705903938058544488276090742976795375826414203595385388506013366919613293991390229949687752389909305507353609374046201198126534911488593334041264115163156329581752195260652507078720131547185166811579697776940648194259817096615353767344088547921326272817561495756515082479076047477642090136391644447312253745080185510921891324455819017635001808742118968886820052835281097991630175557674522255269943939134510326327079586374478828520424010945631699460483707406609568961257796374072542085736174772406634633137783120321076732204360718742388348532704990134203086842222593999065115791946890979409335582610020928202650290423723797032347446862592738845372809174477894400904070929950799945012545132508441091597920330471734771843404590641247053591845824187025582824722836374989884774724110526613808265961517462233017044201798329432356040095638718894306709528924174330021350643982970332964551632585997029725784610817517446871102988200400867436305983722616408539038516847292825213832547354664441808942577768678227194372855584327443486109044053483757153768763344207939592800700005854097759794094952020934300329009055699059711572001980966036675183322784461837238949412862314128413639490570455955043929873330369704211518899250314435256836892726859371050349844451631228461273794492117694301671062179845398678779252013629091504830809995584903091456640727097373923572389721914004950999718195663642298229541478933699629922656651556417788267597499116179026587538657964230867362393728014013041722678266600326032721435906422871686327098985531298852393586837911961522982875754177698099589142416127300476510786465899539648057085897801758911391123994239560307981204080906531287063884234413250087576620044882020517342566642575438054146576488960354935269186778617678965456409703613287771022170579099870265453570091476644752327197689163446875031850930064235734429999416682244418536615444458328446482740868146162062023861275553957580495236920245069418791929751629866325782163048425268185849748025529990672815879382216929489142670214957463456082785687409258266724179988537919653485560349192816126658004754370075178839400874595344656228257733919735330836698156228711354954168598801706716791223347505242760864495125541592232932039607700307252009092867782185010396943055753840081300861816395981597832290861882142051640692572563298382590498106338611683041641764240267102962557460799324033994818185399631577301919753451371339161780314325803828595081606748575190394159371086348538025760927832145735532184183861866030418770520670829269603209183066838321456975926633870743970306270424959629771587714639185783558403935238621508625877972259860344006912474611505688831551205647422546448957860844304319200539604792991216247427716793814273060568693132756122795121826777241942234572441616759481465476160679953907581751658457146271485248079382061694501288457613531639816508524752479071344054196990582696741407985617625851599464964437568532599802554056086608512593444693156953428598633196632574911639553142118383832461106267641218663361405838267490848703547361679275257648047886004090012785739960056529575006757597729184307766582563005750279374295772911172336277554678301924 49774546816013455213041345734009470516501546566789124603214681125255246521495520497658687285642152344339066949374429377833848009439582773399440539525274490030843599150804218089390635428099638675518623262396148452420068061800841294094247109879554562068270987139686541767824527225279748070360388976379206761632680061795559520352621381522838725384989995857575471676814804440676899771454264081467078383002749615797313944808525271113238117363924461689013405311901795636260442053572877446353385522445935628014352736038864045372230424340355921776530317930326301695394069454653805885340305009035247615096733952621469283892258444952402205942167714342964991051709108533527189045042094245647674535998187445004121421190083918682597020975532158301988140986830470233267243769090728556632078193484298197286935565588350318114793542504004704780515360070361147257019434167366559327706822513877893128487555730876134969339324976468844976648048753875992965896663131408750844959690089477045073598674439740119110653012224750506796894414938658585613382341926089797415567221901752790690326840710346953545152988664421588898250791837312650930681807306225159487669889901932749341168893341942086737001409268041320921672288184184756013712859294367878081433215715986993391114879660151812827786577592023302450503322323503355255360641066121164346596971312373455210006397147052400761852399933346802282325776455200548706721522103276067785190539046153948716181969984221329698507920225246175363757176967694336904081645467379307175236716296357549378247565047040828135975233540568733701939193997390756458841002681537730515883754116662398777971520565186854428390887752964454524802713105341049006409109759626353576822323260148927843590615001227190148333752589042305988426549934129892197714942151899766908063122047664622854531342891704502520485627809575025739351136792863784794977424269426809158636418394957567184256914115275680685018808142599268912663540490617747569115154411209257726867596848439918351637180347830527597552889970510760517030006630004354897034966203378773999295312372153991150339930575147353250538826611244027655114982123605702443592250364367161822647098254282152390728684900168336185300103227681554704587939373258528030241958992911139498452707577434052381199374520648654847594798177406172337652568137250709849760205823924539298362373431923165260514121937155166669262441424858494501977412582894197604131820390254504491930339055476663219781801144358653691841485590160998175350448182546416500615942663708128278845707410920091320874954559353351224473984036025764447630170063380370446158696242184923596456510763025058491078152289169406678501101825160995196552136101097152701960396517624142951123993762356226839553897670423121729793964677473393699053504895807046259737228961443428957563289756265327101848849149801003885556517920777523340617826608466905890972322436243656113802667960584430583858453267277573687462162986076760665490058581396274619781518154965337633202336575703602117876152238822652880011842823331045988472149664001019521055549366284120606911001334778139951694584294644158638270336024834712676981798324635362720787563688272611676778274131458893314689818943766534744819876697219660229713187390500161604765074720485093929424935377114874812453660388121622216069461590018137597934845361305005851721726365627689958946561790311444422253551927269524808931722515548414872278969685472705534569763126939216639194648961607556875302397890845197689772891362618291020972428227111092912881916506261386420726454043368602678823570226712582615666805646963787617794738875800545574882849197024838842220048387501833630655488738318378390942903353564527382045678091511473732652623026316200556306013324809901105301511809708658837992184107253363551273149079924772755776133027113375546377431282797904261921520394651681339425319392155165530319464808328239105402323463355897161495949213906638758754416422018035127568370926576317593478550119937011646859498626154598023344042304102605257374630915985794876968630018736013432240740406936080492633872543106431843566848900905540095039431158043382021800633386620120387971408845769981463831428013052879692871127 80536908522932629429063189174897023298129390160988796868977187145345465638422905005532704625510932354576303006116035713395300382882319098616805065103959553490258199501802756008903568297382772359315767634454609628228581426372727302898243703776030765937866136575434462271949121141057000552922188300711588031012484348785976659243462354505548776061578213908229552718032602786358357146201921437456086369672102898858083919739146920898496514937167095155186503828948916574108663305704124071696607160127406435832407262303596967673595446488992348180255506951284182302461354599121326358727168711685123432215275675539893551342047385054247396973816637041082211079123493767490029583806222386413419499687438700640830357145545814273717133414154584676327803377330011155142241313924063336523124075373447825299316706776362245842026167377822955182512120898831479784066017843994243748861901880056836557031083551439776686302119689635588668725325977253902965594852229206984324791124715754865496764812644597825014591070769238782887637391734034412027585937311478303428934141515046782080556790398099343454458496018030962944451989963847562419275141347489274650826219483684944601821400420662218284186576079621018698612936378444573110328213061711966629354541988804554886871394742630888875264219682159694094950634577248435440871562957445620165614606314182197328975283967105236042950391563522359956848031725144487841231848430355654159669367566577959661813669444705037105117489186503971737829719053430511676488280100517090295557793028561910096989953395573533126109436627410956295938259113182703349820412017120340536811956766952822501768552912633717021129733125773629002697114009411978957209054772171486085263414858069258315325386844631780789580806180888130175452132758852728572704826926623877434676930313626140316764359935906300849917983849670664458245443502392708969307445620070792128969382946590153181286639899886498202465679245587469313530976796601470185523693449726105019692810680987273016078989290408296275780084343366344844473492739048408380792119972142118207234905172853997004437690369242305271473126940253083354174693695607683409628925547689946284484337203695014704857098539658906641255147157554885074292150892157778344677215829803866357823757927278504012427835794443146965289099848468352183051246916502723478851710654734534883265464888563892357888045509544888583267392424576690165619710812435676537831450312911156048348127323074162335960827731897311656072352952554726189363489905224683100941975385144034701717393738019076852173806952940189136435507018901518625328269652522786573459172752971389495996158820110956292837063680293400918061409806365076103083423164981387115210484094244187833144511104922869414991951816999610690148899946660172316732470352216749873024999983614008057433555209835418578493601476998693049003392952628453404853561038466322573216740972859100572131114443325298730020515291138849241419743481313680910559477373326026249647843937128386058470522425451627647866825054702035096941331966001260945935605746786706930313816090464109144830654820338489144510710952648913008345514864235587272326454552893096640522894524970767905489629085627492116396535734989882250062637561714785771305420322539769305072326729577961711609945774057930566293741688983438612051059422308999480076897001997578415020108956125796297558244831953208662520654889826985608255756510366600271910546987392458985941102288719530964998477556689163623877588285004568776121429388379218853118163759295276774747946925031907091555723646577785745661891683688509249537549617270058042754368647388260214068632755428774080841557013379805890515832745230853002448592185115733029468224540469334576956942226855805349297229572237617899115784870277351970748306902375190328515091314497214372535614492589536226331338864549562719067791879899760721487013893443623143851104624836763857881394807410094152078645955314624376380268021482999565136903526378871649565158632530456340016452054753231219976617215742158399493014748446901144609848682097419270508231255639627854313147800754479729570938913691280055095960733050139619529817694386702950977159125144277236742600349330434371173051 130311455338946084642104534908906493814630936727777921472191868270600712159918425503191391911153084698915369955490465091229148392321901872016245604629234043521101798652606974098294203725482411034834390896850758080648649488173568596992490813655585328006137123715121004039773648366336748623282577277090794792645164410581536179596083736028387501446568209765805024394847407227035256917656185518923164752674852514655397864547672192011734632301091556844199909140850712210369105359277001518049992682573342063846759998342461013045825870829348269956785824881610483997855424053775132244067473720720371047312009628161362835234305830006649602915984351384047202130832602301017218628848316632061094035685626145644951778335629732956314154389686742978315944364160481388409485083014791893155202268857746022586252272364712563956819709881827659963027480969192627041085452011360803076568724393934729685518639282315911655641444666104433645373374731129895931491515360615735169750814805231910570363487084337944125244082993989289684531806672692997640968279237568100844501363416799572770883631108446296999611484682452551842702781801160213349956948653714434138496109385617693942990293762604305021187985347662339620285224562629329124041072356079844710787757704791548277986274402782701703050797274182996545453956900751790696232204023566784512211577626555652538981681114157636804802791496869162239173808180345036547953370533631721944859906612731908377995639428926366803625409411750147101586896021124848580569925567896397470794509324919459475237518442614361262084670167979689997877453110573459808661414698658071052695710883615221279740073477820571449520620878738083527499827114753027963618164531797839662085738118218186158916001845858970937914558769930436163878682692982620770419769078523644342740052361290763171295702827610803370403611659245690197596580295256493764284869889497601287605801341547720365543554015162178887484487388186738226194517287219217754638847860935362746560407529427191367716169638238823873332974313877105361503499369052763277827086175520892206530217545007988154777620944389658522011953551497111009289675819213385853221175912057108107131435457977167095585783439827242826555250385236439778880090265416306374919174822715005856276465504712556393627210315091801812883898025874524520703815053753433328611916478659074181627838320487057618402167446700055252529833849435184667597123395329874141963270703165660540278466378550825555742628876255965347913838542715724364713938087771099601557918048852162980563101148939168173048761512293540360909491054927283072958439715903157019617868995156313092452669583136014783915215969462807596562511631526071299635559266078539817170880611868330784268504867279096254545849487422732419942864624133566015785975248023796132762228945057437014996844966100745680342450626799696934559910873405976745471387646933228464189063409102756685933782403909729313878968558416422928881906467390441576049535954722300869429362092093723691672859001155229765742977293524687976953174789332306934407755410787726451369365456748229751741656155116629096205295247293071646615850889070299949308252877528459361310458213243379582267903217086385431086354678756416994882514258934446001018607713039930909837401450063055641034881151172805378747402077105060828120521012327137078011742363302584266741835321753486256504806622264653084774206817096510417187479025915015144189516672865164520510865415658747604193126518296720499179986175849766465894320750997509874090591986406369687629863431293293512282177689946388424485461910401091865204355264233845660549107523188805788951481952453612923061605400881639521171321483549231393391495538680260411513902631980808309609565253172005905603242897047519004417296679986010808740491009628553879788240394421987128311747519702911772708770147347466980989312274551442060912333285598788674170569433165002963283718270765991313574595169221263135134684443501034692705274452955189243043708752467467986875950680907829243320659519844763656867645664432696021578478700833432702748971662575708346947020343860911573137787814596820150135391891093521641330451081006823338948567970914258700574028362383314064044178 210848363861878714071167724083803517112760326888766718341169055415946177798341330508724096536664017053491672961606500804624448775204220970633050669733193597011359998154409730107197772022865183394150158531305367708877230914546295899890734517431616093944003260290555466311722769507393749176204765577802382823657648759367512838839546090533936277508146423674034577112880010013393614063858106956379251122346955413513481784286819112910231147238258651999386412969799628784477768664981125589746599842700748499679167260646057980719421317318340618137041331832894666300316778652896458602794642432405494479527285303701256386576353215060896999889800988425129413209956096068507248212654539018474513535373064846285782135481175547230031287803841327654643747741490492543551726396938855229678326344231193847885568979141074809798845877259650615145539601868024106825151469855355046825430626273991566242549722833755688341943564355740022314098700708383798897086367589822719494541939520986776067128299728935769139835153763228072572169198406727409668554216549046404273435504931846354851440421506545640454069980700483514787154771765007775769232090001203708789322328869302638544811694183266523305374561427283358318898160941073902234369285417791811340142299693596103164857669145413590578315016956342690640404591478000226137103766981012404677826183940737849867956965081262872847753183060391522196021839905489524389185218963987376104529274179309868039809308873631403908742898598254118839416615074555360257058205668413487766352302353481369572227471838187894388194106795390646293815712223756163158481826715778411589507667650568043781508626390454288470650354004511712530196941124165006920827219303969325747349152976287444474241388690490751727495364950818566339330815451835349343124596005147521777416982674916903488060062763517104220321595508916354655842023797649202733592315509568393416575184288137873546830193915048677089950166633774207539725494083820687940162541310661467766253218210414464383795158928647120149113058657243450205976992108101171658619206147663010413765122717861985159215311313631963793485080491750194363464369514821069262850101459747054391615772661672181800442881979486149467810397542791324853172241157574084719596390652518872214100223431991060406055046109534948778172997874342876703755061970256156807463627133393609064893303209050949976290212956244943835797226274011874833216834207765550679794721016076816588626593701624987891703456608153277003986191495270450554077427992995782702499893433996197682280494886958245025222568465233729497344998073828801698286709368425943593077041748127702588448828403246971076752279649756208514623921437891147402718982431059926932381364706112518617413015972201965669537801304422343110091764570793738332518445600240546005787228928671445072430400175936164258836052103798389983563303826034430150324948685399551037405804381961857258064896847235028043899483849555272170301649948704122486609013328048327119077206029222109750143381426606857413609802348226723073894506755333567880343361157574433381683181547212338896572310975455118240716006199941984654961365753305887221634707430421556001833352738214147487757532302713877547482890413746299244945151820649231772324028035579700214909728179641017352644826925230735945041143766088499440171580434636136558088639365300162681761944277879282554063051454217861747294861706923496025443235536281615416100063660257623506451967704378278569191604074985884123057574460854335242015750139376728727208755745701646462377810356325200603837901336524174170147353594089601114741904881503903703303476170577066003020114707882387003903162414261445411687154228780084395840087723795993440982127172450142886566507480027811254900472469285136903533081550263362779488797912003744208303331708919201500847362012292447999040109011897029700057104154451202782399347179042411818021674058001766821165113078176085465653241124535887511514952464984034257842177979334060892608867384997924326892402735661060463297276735586922056360660412879597166188327382930851973257202918215336201260168144615391302708726728288100205231352624143661260860268775393526289925727096058535937316628711713748435217229 341159819200824798713272258992710010927391263616544639813360923686546889958259756011915488447817101752407042917096965895853597167526122842649296274362427640532461796807016704205491975748347594428984549428156125789525880402719864496883225331087201421950140384005676470351496417873730497799487342854893177616302813169949049018435629826562323778954714633439839601507727417240428870981514292475302415875021807928168879648834491304921965779539350208843586322110650340994846874024258127107796592525274090563525927258988518993765247188147688888093827156714505150298172202706671590846862116153125865526839294931862619221810659045067546602805785339809176615340788698369524466841502855650535607571058690991930733913816805280186345442193528070632959692105650973931961211479953647122833528613088939870471821251505787373755665587141478275108567082837216733866236921866715849901999350667926295928068362116071599997585009021844455959472075439513694828577882950438454664292754326218686637491786813273713265079236757217362256701005079420407309522495786614505117936868348645927622324052614991937453681465382936066629857553566167989119189038654918142927818438254920332487801987945870828326562546774945697939183385503703231358410357773871656050930057398387651442843943548196292281365814230525687185858548378752016833335971004579189190037761567293502406938646195420509652555974557260684435195648085834560937138589497619098049389180792041776417804948302557770712368308010004265941003511095680208837628131236309885237146811678400829047464990280802255650278776963370336291693165334329622967143241414436482642203378534183265061248699868274859920170974883249796057696768238918034884445383835767165409434891094505630633157390536349722665409923720749002503209498144817970113544365083671166120157035036207666659355765591127907590725207168162044853438604092905696497877185399065994704180985629685593912373747930210855977434654021960945765920011371039905694801389171596830512813625739841655751511328566885944022446032971120555567480491477153934936446292323183902620295340262869973313992932258021622315497034043247305372754045334034455116071277371804162498747208119649348896028665419313392294365647928027764632052331422990391094515565475233878070376688936703616799682256424626750591056895900217401224458877024009590136075543612052683246521141529538007594692380402944999088327060123447059500813957603095424821757991719242477128905060080175813447446085484409242351900030037986174918791366080766882304057811482848360662843596035897413198271329977527269858254489128756084771245149084329100612694910743284015680901497986382985860667495619219016111186433069417218702354541697138466749552245317980849401681520839481061924083650791845075530034629194927304348304420848264342138549457873728882087427245142036909939178502730598086918123214699440406895796336332332779501594867791064613943998679251144757357778452407971695099183556416094564062658549282770627988506568121315833441816240427762087179352779641751411050847681544665874814751116568362159833052547003960568648313967130571747336921301447235056301577216642376187170942960307950015363143810951457527070025435519800262978569245092502716239827666079583677773342635748619631124747129629704072993679708076403541323788545843193560268292101446963273636100381728602746948503779599632768810567858076482514832069068524020006442630714562196630560289580333122788026962833120037026173384730593282604622237560636704101707910070890374238601299347732108016150007673787618494116120079026470562594632815504490692979946260145737749363852583693765871791971596660335999926964767815143084932858475712329315789231583262476253852496029804430951196176072733199817160503715366332655907950378230249373588229288921632298088091572103341188629159109531995359771748879159244496681046416429002644843311680464641200492192243491166769784448831348942076779227836293757150646649636908485068950547452432289250135652576137465392313768353416568889706617936255431685713228306077312293187766806083764284676006174580791044548207188488476302875846514542884920355366744515237182902190719856400349628874295066972794637890657074097062499261407 552008183062703512784439983076513528040151590505311358154529979102493067756601086520639584984481118805898715878703466700478045942730343813282346944095621237543821794961426434312689747771212777823134707959461493498403111317266160396773959848518817515894143644296231936663219187381124246975692108432695560439960461929316561857275175917096260056462861057113874178620607427253822485045372399431681666997368763341682361433121310417832196926777608860842972735080449969779324642689239252697543192367974839063205094519634576974484668505466029506230868488547399816598488981359568049449656758585531360006366580235563875608387012260128443602695586328234306028550744794438031715054157394669010121106431755838216516049297980827416376729997369398287603439847141466475512937876892502352511854957320133718357390230646862183554511464401128890254106684705240840691388391722070896727429976941917862170618084949827288339528573377584478273570776147897493725664250540261174158834693847205462704620086542209482404914390520445434828870203486147816978076712335660909391372373280492282473764474121537577907751446083419581417012325331175764888421128656121851717140767124222971032613682129137351631937108202229056258081546444777133592779643191663467391072357091983754607701612693609882859680831186868377826263139856752242970439737985591593867863945508031352274895611276683382500309157617652206631217487991324085326323808461606474153918454971351644457614257176189174621111206608258384780420126170235569094686336904723373003499114031882198619692462118990150038472883758760982585508877558085786125625068130214894231711046184751308842757326258729148390821328887761508587893709363083041805272603139736491156784044070793075107398779226840474392905288671567568842540313596653319456668961088818687897574017711124570147415828354645011811046802677078399509280627890554899231469500908634388120756169917823467459203941845259533067384820655735153305645505454860593634963930482258298279066843950256120135306487495533064171559091628364005773457483585255106595065498470846913034060462980731958473208243571653586108982114534997499736218414848855524378921378831551216890362980781321530696471547398799541762176045470819089485224572580564475814111956127752750284476912368694677205737302534161699369229893774560277928213938994265746943539170745446292311414444738588957570982593359189942924124286397458934334030791810860975501552712735319293717531653781800801339149542092562519355886221533256625472868794073762665006557704916844558345124090922855658223493898442760999355599487202584886469531858452755044205771952491411718269350326389629956937419775268975224625810354507308366105073524128198393681933610024093368019094536811683027593621452096267418640126393765721042680822866448504888144336686802400327159857645317973074198014554834396476901686518525474837046121285017732330539000672173026471202063576098379785401677936257526967269485206364798686549267562610818955107583774150537943191959621854368944592962581989978134124742188299999442695094477725936593214735728551172907544886278106026865577637307647177040956538582395682074392577667738371571364977163689671674557782967822514140526052135506249015484772817900232909545666663784199331339656857809345090346324535001634277268829689609282059708463681881599410194189021093902909630265723877512051364630909530700376579363930230943502468073950098478245976389643993380411533414800824415304742576334668268488745295135097558436949925821029750967328508103477809662612385484143943694719957980362994736764780169098580294094688165027241653067156059864342937794991711368218386930867930229404530344545629941109400185071670986272247293478156976881094082742580213227628415404187835617792811483459780512736367718086833636042296394903812260390130006471544287807770788988171141526381103520583453847625711027643683612310213917549168536605613944427118162244881077418293038158164589373469103208389630411623311028261443522463316640660756152229950169915212991018607769588966490191890353955133466695136649263377499006380749467356633091694178555241271173020560598097139380844163050988631793875918800022163031330575207285785810810934478636 893168002263528311497712242069223538967542854121855997967890902789039957714860842532555073432298220558305758795800432596331643110256466655931643218458048878076283591768443138518181723519560372252119257387617619287928991719986024893657185179606018937844284028301908407014715605254854744775179451287588738056263275099265610875710805743658583835417575690553713780128334844494251356026886691906984082872390571269851241081955801722754162706316959069686559057191100310774171516713497379805339784893248929626731021778623095968249915693613718394324695645261904966896661184066239640296518874738657225533205875167426494830197671305195990205501371668043482643891533492807556181895660250319545728677490446830147249963114786107602722172190897468920563131952792440407474149356846149475345383570409073588829211482152649557310177051542607165362673767542457574557625313588786746629429327609844158098686447065898888337113582399428934233042851587411188554242133490699628823127448173424149342111873355483195669993627277662797085571208565568224287599208122275414509309241629138210096088526736529515361432911466355648046869878897343754007610167311039994644959205379143303520415670075008179958499654977174754197264931948480364951190000965535123442002414490371406050545556241806175141046645417394065012121688235504259803775708990170783057901707075324854681834257472103892152865132174912891066413136077158646263462397959225572203307635763393420875419205478746945333479514618262650721423637265915777932314468141033258240645925710283027667157452399792405688751660722131318877202042892415409092768309544651376873914424718934573904006026127004008310992303771011304645590477602001076689717986975503656566218935165298705740556169763190197058315212392316571345749811741471289570213326172489854017731052747332236806771593945772919401772009845240444362719231983460595729346686307700382824937155547509061371577689775470389044819474677696099071565516825900499329765319653855128791880469690097775886817816062419008194005124599484561340937975062409041531511790794030815654355803243601931787201175829675208424479148578244805108972460182889979494992656203355379389110188900970879592500212818112934056541693398846854117276904003554866908627521602986628354853601305398294005419558958788449960286789674777679152672816018275337079614714357498975557935586268126965165674973762134942012451346520905993834844749413956400323310704454561770846436713861976614786595627576971761707786251571242800391660160154529547310615516399692919007967686958753071421765228420288269213853976331340971240777007537084144818466863234695733950251824376012942798087270888194240736996787576725584807428065825336860431485855342074217420776057651164089517705102888112494170161022960648347029127287296769230282886144676129209247284890460009984137193057564994563819809733224915243941917621350065110040595539964091085146062255349524542759456388665498662368668762780893250611926111893589583096090342271853776633775862282131031772315361631729545175589869844665317509845594294298753047788275555133476193200245236598612914558609094412097258115799038058261563520628046321586728120974641129201627808403342314403504621380598751731724600483979816587319009299532818962464403987439049163340004243078037818592618235452475619976755783328562683830289402822505656578769503477144820175198767607182891411432998754963508910704664660674876536679224326503199560377633944452330915961065261551093367532695734262538657835891920125205929807451209917678762393157931562188836078059389465299359412984603070987074634425172979402431008643558108809586963308028554386857832698044547615277404105653438715974303254248748501145974186781312045278918652946427445575907903201950448719433838010762109955947375755268340384486475915601578759165581076283167542537867330386023062149937012456492469022708108324812802406161040335306390062775776060239024108913712050188804814226281954172158937082843912561163914019659928708954429109568798839876533149246450293482817272567504183541721939550459421325269552079797425297674545121567997054401755814057940915964841654618027065241708488194225547674317230004125213097942859907873433740043 1445176185326231824282152225145737067007694444627167356122420881891533025471461929053194658416779339364204474674503899296809689052986810469213990162553670115620105386729869572830871471290773150075253965347079112786332103037252185290431145028124836453738427672598140343677934792635978991750871559720284298496223737028582172732985981660754843891880436747667587958748942271748073841072259091338665749869759334611533602515077112140586359633094567930529531792271550280553496159402736632502882977261223768689936116298257672942734584199079747900555564133809304783495150165425807689746175633324188585539572455402990370438584683565324433808196957996277788672442278287245587896949817644988555849783922202668363766012412766935019098902188266867208166571799933906882987087233738651827857238527729207307186601712799511740864688515943736055616780452247698415249013705310857643356859304551762020269304532015726176676642155777013412506613627735308682279906384030960802981962142020629612046731959897692678074908017798108231914441412051716041265675920457936323900681614909630492569853000858067093269184357549775229463882204228519518896031295967161846362099972503366274553029352204145531590436763179403810455346478393257498543969644157198590833074771582355160658247168935416058000727476604262442838384828092256502774215446975762376925765652583356206956729868748787274653174289792565097697630624068482731589786206420832046357226090734745065333033462654936119954590721226521035501843763436151347027000805045756631244145039742165226286849914518782555727224544480892301462710920450501195218393377674866271105625470903685882746763352385733156701813632658772813233484186965084118494990590115240147723002979236091780847954948990030671451220501063884140188290125338124609026882287261308541915305070458456806954187422300417931212818812522318843871999859874015494960816187216334770945693325465332528830781631620729922112204295333431252377211022280761092964729250136113427070947313640353896022124303557952072365564216227848567114395458647664148126577289264877728688416266224333890260409419401328794533461263113242304845190875031745503873914035034906596279473169682292410288971760216912475818717738869665943602501476584119342722739477730739378639330513674092971211156861492950149329516683449337957080886755012541084023153885102945267869350031006715922736657567121324884936575632918364928168875541224817375824863417189881064563968367643777416125745169669534281063672473104499425864528954228292212317173221316537477353091777881608729645259126863049268569453463533925857710308865989839189024238815726107452219602150765642899735507046157169465362807142084033950912501589953535254113419465366167585439870594462847117111326554984379912810287416726369389709950153745274118427222831478529536407142535777983058335207612399391040721496251750390080988038906367797440579596212137117556348125831447904328161134324923025629638153969145691937161193674504408538203674116422391719825735484136499976365277943621707679300332058144664760204940072020235346262524004106306383738086523342625478492195916741589138214654381433740335956098295784693158093098138330800876185591371164828544030673516105000747209373301880049496864675963317018293804060845248394253686328778079672095861447925061757679685219465210162094024478423916408566209035227354656871539829677137883267990796928985907011378778614759153122513068868319883611093792434768867635658537399929819582112827830831820975607761712949876173258315554687727341374778642075505883556036039752460036124193153701651281169322590200221055498164703422451747381955019396772773788700628273952145621949735594548116159374925235020748439452343758193139361661233159655073991312091037568241530917297791274846323665462588904382680881379727861968889172052620570975313326855501527549443253457595910340094733735752008425112620078589503842995676720203178401268989991130343226962978815655423275367326713255535872192175463182392025595089865721028790046448362237468901252406239057696073895677073017154557974532929578803806047141901754659691232956997085230961476562938793998871228292697119988101466474339393035455788305228645718684368218679 2338344187589760135779864467214960605975237298749023354090311784680572983186322771585749731849077559922510233470304331893141332163243277125145633381011718993696388978498312711349053194810333522327373222734696732074261094757238210184088330207730855391582711700900048750692650397890833736526051011007873036552487012127847783608696787404413427727298012438221301738877277116242325197099145783245649832742149905881384843597032913863340522339411527000216090849462650591327667676116234012308222762154472698316667138076880768910984499892693466294880259779071209750391811349492047330042694508062845811072778330570416865268782354870520424013698329664321271316333811780053144078845477895308101578461412649498511015975527553042621821074379164336128729703752726347290461236590584801303202622098138280896015813194952161298174865567486343220979454219790155989806639018899644389986288632161606178367990979081625065013755738176442346739656479322719870834148517521660431805089590194053761388843833253175873744901645075771029000012620617284265553275128580211738409990856538768702665941527594596608630617269016130877510752083125863272903641463278201841007059177882509578073445022279153711548936418156578564652611410341737863495159645122733714275077186072726566708792725177222233141774122021656507850506516327760762577991155965933159983667359658681061638564126220891166806039421967477988764043760145641377853248604380057618560533726498138486208452668133683065288070235844783686223267400702067124959315273186789889484790965452448253954007366918574961415976205203023620339912963342916604311161687219517647979539895622620456650769378512737165012805936429784117879074664567085195184708577090743804289221914401390486588511118753220868509535713456200711534039937079595898597095613433798395933036123205789043760959016246190850614590822367559288234719091857476090690162873524035153770630481012841590202359321396200311157023770011127351448776539106661592294494569789968555862827783330451671908942119620371080559569340827333128455333433710073189658089080058908544342772069467935822047610595231004002957940411691487109954163335214635483368906691238261975668583358583263289881471973035025409875259432268512797719778380587674209631366999333726006994184114979491265216576420451738599289803473124115636233559571030816421102768599460444243427285617274842887902332540883459826949026979439270922003720290638773776148174121644442835410405081505754030912340797246506042771458724675742226256189114382821759627788737716230396361059464840361801067024355283337537783307439865266828951085873526923333842705678960803186169853975141655842533594317045363706099803929660759535719929655778872114544905320708241802860646652114011206629031657872492406980448439687017736739077441042043348710108976154658745654427426237993042472400669964385604541305984975305324929956527717862550620191752101208641494188086797428870920590713588524292006822731926585187773119786397998121299764458694245496459511346418631008137593305253437224475921927989330077714785666314534099310312279661439859931286768579224091406754525836001235472770180471798597519618923831014744821219112971930077813399774507142947535294896703752478933973785859866084183685262849837256268464832687443417026333021157709914454066160514233299661975248538724777854767826738914222787804730831801691715028444745066159402229927740870520289483279419827999049748092646386810654170068713319966574498465191370675480360526566083514265597604870001379188123005897645020137171800007068072392114099141925335483606138304722268243957015373200457929173346980560556968918327425327160646533326318499760899353841247986832133678179483769249585426530539505184640579886106082519567219994239518690250351135802036956279612838344172723065367855643463547648337633696854142855864722831913572505403394608366832563756443860333237915026239629839149385739495979238640293098904842393415767793041937377447526263796099448433356089482842320734549518975289827629922981511483919194735223511625200257437399012567613979299802481658601231344816446876227688287358752899288902392527780448616898293534405608182327014148656623039581001403171505626557801958722 3783520372915991960062016692360697672982931743376190710212732666572106008657784700638944390265856899286714708144808231189951021216230087594359623543565389109316494365228182284179924666101106672402627188081775844860593197794490395474519475235855691845321139373498189094370585190526812728276922570728157335048710749156429956341682769065168271619178449185888889697626219387990399038171404874584315582611909240492918446112110026003926881972506094930745622641734200871881163835518970644811105739415696467006603254375138441853719084091773214195435823912880514533886961514917855019788870141387034396612350785973407235707367038435844857821895287660599059988776090067298731975795295540296657428245334852166874781987940319977640919976567431203336896275552660254173448323824323453131059860625867488203202414907751673039039554083430079276596234672037854405055652724210502033343147936713368198637295511097351241690397893953455759246270107058028553114054901552621234787051732214683373435575793150868551819809662873879260914454032669000306818951049038148062310672471448399195235794528452663701899801626565906106974634287354382791799672759245363687369159150385875852626474374483299243139373181335982375107957888734995362039129289279932305108151957655081727367039894112638291142501598625918950688891344420017265352206602941695536909433012242037268595293994969678441459213711760043086461674384214124109443034810800889664917759817232883551541486130788619185242660957071304721725111164138218471986316078232546520728936005194613480240857281437357517143200749683915921802623883793417799529555064894383919085165366526306339397532730898470321714619569088556931112558851532169313679699167205983952012224893637482267436466067743251539960756214520084851722330062417720507623977900695106937848341193664245850715146438546608781827409634889878132106718951731491585650979060740369924716323806478174119033140953016930233269228065344558603825987561387422685259223819926081982933775096970805567931066423178323152925133557055181695569728892357737337784666369323786273031188335692269712308020014632332797491401674804729414799354210246380987242820726273168571948056528265555700170443733251937885693977171138178741322279857171793552354106477064465385633514628653584236427733281944688748619320156573453593314446326043357505125922484563389511296635648281558810638990108004784711885602612357635850172595831863591151973037538834323899974373449149531447038085966916040323835131197780241652120718068611113971944961959032767873714151242721970530712283482146386806352760903399192686661394739516762522866944494686910638389456125907298742269101363202533171462611071744793486632431245732407368658324786074409388300517246576858323740358212856872319790735856413387126449027594787317467137331807633188282061569962015976100807608282363776645262802236725695405917995434085659991199787964238326197842313918245333199081725038511549921644976701072277124934313460902406659503438575116637216285246830555130984502871248875144903776253986133994837919725738334769445572836283767746243669373291921849569898950442577590373687424561905538933475717219615707902914317251302730953998991145671971491565968412808753226143347087739915581048361226166855550072525677935837670712661799237382010315514085575990979347194713748886871879246250655322788996839958186458563254858121882949427393026856726777531668261894178981121562816960966270421747962503482187602233035865121190257593188357397904489873359317819877552446438560585372361511950442082573955948150138894385371607799292006373549413279605573421513427338050403012304350873346822099934435233954592451906521303576842534948293053104718789998024878874297698324002241119265737593558532085277086931781268433593311802603278300933077105746249235371325516537509686317425118169191578333441121948656852204277172658490179612341663027646318219342992381416216182417041562088895972736642730771857592800722893590509354984305548264946024712760144608841010856419969429873721388095987629750682896331333076085584768537274335411237405037391958348630887379520315749984519863869090719242615769521827102728170428480622996016075036789708400151345242170177401 6121864560505752095841881159575658278958169042125214064303044451252678991844107472224694122114934459209224941615112563083092353379473364719505256924577108103012883343726494995528977860911440194730000410816472576934854292551728605658607805443586547236903851074398237845063235588417646464802973581736030371601197761284277739950379556469581699346476461624110191436503496504232724235270550657829965415354059146374303289709142939867267404311917621930961713491196851463208831511635204657119328501570169165323270392452019210764703583984466680490316083691951724284278772864409902349831564649449880207685129116543824100976149393306365281835593617324920331305109901847351876054640773435604759006706747501665385797963467873020262741050946595539465625979305386601463909560414908254434262482724005769099218228102703834337214419650916422497575688891828010394862291743110146423329436568874974377005286490178976306704153632129898105985926586380748423948203419074281666592141322408737134824419626404044425564711307949650289914466653286284572372226177618359800720663327987167897901736056047260310530418895582036984485386370480246064703314222523565528376218328268385430699919396762452954688309599492560939760569299076733225534288934402666019383229143727808294075832619289860524284275720647575458539397860747778027930197758907628696893100371900718330233858121190569608265253133727521075225718144359765487296283415180947283478293543731022037749938798922302250530731192916088407948378564840285596945631351419336410213726970647061734194864648355932478559176954886939542142536847136334403840716752113901567064705262148926796048302109411207486727425505518341048991633516099254508864407744296727756301446808038872754024977186496472408470291927976285563256369999497316406221073514128905333781377316870034894476105454792799632442000457257437420341438043588967676341141934264405078486954287491015709235500274413130544426251835355685955274764100494084277553718389716050538796602880301257239840008542798694233484702897882514824025062326067810527442755449382694817373960405160205534355630609863336800449342086496216524753517545461016470611727417511430547616639886848818990051915706286963295569236603406691539042058237759467761985473476398191392627698743633075501644309702396427347909123629697569229548005897074173926228691084023833754723921265556401698541322648888244538834629591796906772176316122502364928121211660478766735384778530655285477950426764162546366606589922455983878376907182993935731572750696748998270075210707562332331779307837429724344136068343264459515612480613043685856709650173647713824559310101048954584802695680247896877562415001405553022352360901511279483203230106782651191161163898690869530369389870729364726771184296100404863188105035829360815847440783787847027715997388253969143280008952328162249804108221701000730847951961803522541819979716339534839336502005042762070002315752100074213651799432998862312707433247300404780803203033810882712744758176973761992640464554128582128252175914123324915634511404649303544883148563429186103600660060501073661305704968413591609160194742377337530995336143446722647735536364274661031812390920179114439101263309512505705077320873599781665232046489016692806340990510623281087738994820395091924769580246090224279009169962287611649734014077394237011784644689018260254969886566628015586795256784467648051957745173598809120612565053612657232402132572195507568807534330312560933073548883963988004138956922689878931634561566483017381649122242089642028340264238036310707091405430311095817657236620946621971356511397383572861319791674247427095081767280910951667420657418090521780426731284202559247610305404837203508642821005371820113125752079516605622031619569395348758882891139277249828811617091014789064185847320014279261025056301165354694454060246812644005222246623472674900942672557849182141767155712161655681855187800815130058498564899530178170419854305454432738904354428867033494694127816300684049892411385205307290722853262308096588770475098152382516574137892896006268736774795507115067807674502883808766261618499691232667815361508336352755494771652639114617791111571656971799972136123 9905384933421744055903897851936355951941100785501404774515777117824785000501892172863638512380791358495939649759920794273043374595703452313864880468142497212329377708954677279708902527012546867132627598898248421795447490346219001133127280679442239082224990447896426939433820778944459193079896152464187706649908510440707696292062325534749970965654910809999081134129715892223123273441955532414280997965968386867221735821252965871194286284423716861707336132931052335089995347154175301930434240985865632329873646827157652618422668076239894685751907604832238818165734379327757369620434790836914604297479902517231336683516431742210139657488904985519391293885991914650608030436068975901416434952082353832260579951408192997903661027514026742802522254858046855637357884239231707565322343349873257302420643010455507376253973734346501774171923563865864799917944467320648456672584505588342575642582001276327548394551526083353865232196693438776977062258320626902901379193054623420508259995419554912977384520970823529550828920685955284879191177226656507863031335799435567093137530584499924012430220522147943091460020657834628856502986981768929215745377478654261283326393771245752197827682780828543314868527187811728587573418223682598324491381101382890021442872513402498815426777319273494409228289205167795293282404361849324233802533384142755598829152116160248049724466845487564161687392528573889596739318225981836948396053360963905589291424929710921435773392149987393129673489728978504068931947429651882930942662975841675214435721929793289995702377704570855463945160730929752203370271817008285486149870628675233135445834840309677808442045074606897980104192367631423822544106911502711708313671701676355021461443254239723948431048142496370414978700061915036913845051414824012271629718510534280745191251893339408414269410092147315552448156995320459261992120995004775003203278093969189828268641227430060777695479900700244559100751661881506962812942209642132521730377977272062807771074965977017386409836454937696519594791218425547865227421818706481090405148740852475246663650624495669597940743761300945939552871755707397457854548143784599119564696415114374690222359439538901181263213774544870280364338094931261314339579953462656778261213372286659738072042984341116096528443786271022822862452223117531431354613568587223266020556913837960509180312756893029250720232204154542622348911954365956080094249199313090635359151979804816924988512731078586690441721120236225530497625251605049703517712655781766143789361950284302862491591319576111150488829246663652202273875352560448379576594668334624462948766226956253327071797043450430049025026073150346508984792147243686851861554892857060579461681145267727854109748083586237046561920152513791989637132630616678282984772591421035309777567350269945244087617234691938895066910458426696136765947395889182533019767680577861037178815923288095269084040790611624135296776134071139437641746708202811440306641608927519929030005007528892977143335803003727032028429900257319753554237142984072990455984847196932347270033352422923231204655410991181982847619304282876464471053363062430550649853615577391985811382065851085930667231722321258931220667961339697246280407715183548356413516188559118758451656619632473935085094331666215258356364676036498521613260328049559800781484647204718818224744688510965014188283641194425583626007067777790242175382014578927654150095075677695171040570195433751190666737241361892494012316240509756484081000127068389743161072684172215984288414376930696078699204722317469367070516226520043484783849447786585165670665021069527029517001235503403573941960994933056728719784388921349245635184279134901832645062124637557706684284164793692553812888002988660561486169440210326934557866326386114580723357006331704379194247879498795816402717099016921177880736803085016563970318876068525134148571928344072723417276696787866701229336757122978893313444814809417044452619374891746254838736657311540469861841258926695386710483012990992920103551183737151053848473304133411306128733144138002447327990252868328630130709218933848437337188611064523183975394648655189654580819971808317042142313524 16027249493927496151745779011512014230899269827626618838818821569077463992345999645088332634495725817705164591375033357356135727975176817033370137392719605315342261052681172275237880387923987061862628009714720998730301782897947606791735086123028786319128841522294664784497056367362105657882869734200218078251106271724985436242441882004331670312131372434109272570633212396455847508712506190244246413320027533241525025530395905738461690596341338792669049624127903798298826858789379959049762742556034797653144039279176863383126252060706575176067991296783963102444507243737659719451999440286794811982609019061055437659665825048575421493082522310439722598995893762002484085076842411506175441658829855497646377914876066018166402078460622282268148234163433457101267444654139961999584826073879026401638871113159341713468393385262924271747612455693875194780236210430794880002021074463316952647868491455303855098705158213251971218123279819525401010461739701184567971334377032157643084415045958957402949232278773179840743387339241569451563403404274867663751999127422734991039266640547184322960639417729980075945407028314874921206301204292494744121595806922646714026313168008205152515992380321104254629096486888461813107707158085264343874610245110698315518705132692359339711053039921069867767687065915573321212602120756952930695633756043473929063010237350817657989719979215085236913110672933655084035601641162784231874346904694927627041363728633223686304123342903481537621868293818789665877578781071219341156389946488736948630586578149222474261554659457795006087697578066086607210988569122187053214575890824159931494136949720885295169470580125239029095825883730678331408514655799439464615118509715227775486420440736196356901340070472655978235070061412353320066124928952917605411095827404315639667357348132208046711410549404752972789595038909426938333262929269180081690232381460205537504141501843191322121731736055930514375515762375591240366660599358183060526980857573320047611083508775711619894539352820211343619853544493358392670177268089175907779109146012680781019281234359006398390085847797162464306389301168413928466275561296029667181336301963193680274275145825864476832450377951561819406396332690729076325053429860848170888912115919735239716352686737543444437567415968592052410458120191705357583304652611057020744478179394362207721635405781273789554861795951449394525228076868321008215460859791857370743930510460102402938939495241133057048311042692209408874532434598985435090463352530764413864572657846635194270899157005835494624897589928111717886355965604134236286244841982338287508076328005207911874492723698326926587441074555899531337153048754966335064784999639711770622845043958597384479137954315601773333104448614196852825237666446039098832213375208882337493564738523914387367626187020101144871018680127696867613899357692705074839747396917395876515317928330857339086356542711698348948575567070001750349179955503216221109844642738402641774763184502654969783800357132309160280605814380644669188748547633376535339133410626118450870693412923996892510360379404773592007814046660213995466389506509153198385389979852053017623772986030200369768495031833764636297988834939478911512454204200241162754506699182399846190651440027565859854674577756439537365534638324110171347274405443796812566129336222979073194631255138980600983540425662073635583752241376599362787947068191584886552227647873202739848104525746312123740286125325880498151273163199635415715561693551407124810194926261858012628678614967006785790610152628565184727752847466665456140360845170158026990456695316954124598768516414355241362618413023578509146515673123908493245489683972105341287883130009377819810036244310298175844507572384009320369060579487576763369483417400903644909204326345983640219304180664150510856777345829565183102983426557691464912991433917707275915727640505728405272464497602996759727901656653157063733299120263849783356973803758779749532864473612224519754252644132002677433336275299089508874026281889533570422611197029417574865507939645117515135664755752137396392327718625081105152550119400875939470166301294304272371931543465288842114449647 25932634427349240207649676863448370182840370613128023613334598686902248992847891817951971146876517176201104241134954151629179102570880269347235017860862102527671638761635849554946782914936533928995255608612969420525749273244166607924862366802471025401353831970191091723930877146306564850962765886664405784901014782165693132534504207539081641277786283244108353704762928288678970782154461722658527411285995920108746761351648871609655976880765055654376385757058956133388822205943555260980196983541900429983017686106334516001548920136946469861819898901616201920610241623065417089072434231123709416280088921578286774343182256790785561150571427295959113892881885676653092115512911387407591876610912209329906957866284259016070063105974649025070670489021480312738625328893371669564907169423752283704059514123614849089722367119609426045919536019559739994698180677751443336674605580051659528290450492731631403493256684296605836450319973258302378072720060328087469350527431655578151344410465513870380333753249596709391572308025196854330754580630931375526783334926858302084176797225047108335390859939877923167405427686149503777709288186061423959866973285576907997352706939253957350343675161149647569497623674700190400681125381767862668365991346493588336961577646094858155137830359194564276995976271083368614495006482606277164498167140186229527892162353511065707714186824702649398600503201507544680774919867144621180270400265658833216332788658344145122077515492890874667295358022797293734809526210723102272099052922330412163066308507942512469963932364028650470032858308995838810581260386130472539364446519499393066939971790030563103611515654732137009200018251362102153952621567302151172928790211391582796947863694975920305332388212969026393213770123327390233911176343776929877040814337938596384858609241471616460980820641552068525237752034229886200325383924273955084893510475429395365772782729273252099817211636756175073476267424257098203179602809000315582257358834845382855382158474752729006304375807757907863214644762918906257897599086795656998184257886865156027682931858854675996330829609098108403859261056875811386320823705080628786746032717077568370496634585364765658095664152496432099770734427621990390664633383323504949150125488206394977788395671078659540966011202239614875272910343309236788937918221198280286765035093232322716901948162674303040275094000105992016874140031234277088309710059104948006103082490264919327927452226319719747490032162928434939372157686204035138608176008312530557653934608130938056762490476581946645113726836591763920160231318164582615862839510316962750456842554961461238946289767148756975612467147706246040321945195998653186926339892496772350084526189226325238588886037901838819895024601127988842462370297062717381816985966629917647271132088793859631455243421712040039937929138554393004379846753581887607859515077495256913694133851618952608170397333323322484245351701141141187990926663706027661416486251665922570804768192031547946927136160136036192309035714637964422742985690617449525795118257823050798140726765346920123715015790395955574855433350943090459937442869571583749035243595429445003435155051881286300435726754155023567518656796279176157792861919383789519168022887741518604642308059660039794939768909422654795721899314360608692960534733493356613347613983427697891419375943649945615171824066856499219209759309154389604963329082770512540702322723550897910888674721180063314407023366687772992163589403709391899796561820619796867971267610434073996917092991897702864489814874946034551798269073986708940924210292956743192661121716386481154115769751917758815304579407956635237866300062045257738880673963107007173932945254646935526494320409103990729657395575372669881855230019697903697927349743787018225632561332677688019413552060162946327259494444846486360983720229642708028883310309986232410064299568849801128689741194390863460957238413776135957046743935073266827809593178650526004371601130923764989616093903058698064143819288290082428977577465626684624271084501162828880994241083783119962463655008620466026523036937558929542489738730465399123445560949949493926952751515273605884256763171 41959883921276736359395455874960384413739640440754642452153420255979712985193891463040303781372242993906268832509987508985314830546057086380605155253581707843013899814317021830184663302860520990857883618327690419256051056142114214716597452925499811720482673492485756508427933513668670508845635620864623863152121053890678568776946089543413311589917655678217626275396140685134818290866967912902773824606023453350271786882044777348117667477106394447045435381186859931687649064732935220029959726097935227636161725385511379384675172197653045037887890198400165023054748866803076808524433671410504228262697940639342212002848081839360982643653949606398836491877779438655576200589753798913767318269742064827553335781160325034236465184435271307338818723184913769839892773547511631564491995497631310105698385236774190803190760504872350317667148475253615189478416888182238216676626654514976480938318984186935258591961842509857807668443253077827779083181800029272037321861808687735794428825511472827783282985528369889232315695364438423782317984035206243190535334054281037075216063865594292658351499357607903243350834714464378698915589390353918703988569092499554711379020107262162502859667541470751824126720161588652213788832539853127012240601591604286652480282778787217494848883399115634144763663336998941935707608603363230095193800896229703456955172590861883365703906803917734635513613874441199764810521508307405412144747170353760843374152386977368808381638835794356204917226316616083400687104991794321613255442868819149111696895086091734944225487023486445476120555887061925417792248955252659592579022410323552998434108739751448398780986234857376038295844135092780485361136223101590637543908721106810572434284135712116662233728283441682371448840184739743553977301272729847482451910165342912024525966589603824507692231190956821498027347073139313138658646853543135166583742856889600903276924231116443421938943372812105587851783186632689443546263408358498642784339692418702902993241983528440626198915160578119206834498307412264650567776354884832905963367032877836808702213093213682394720915456895270868165650358044225314787099266376658453927369019040762050770909731190630134928114530447993919177130760312719466989686813184353120039037604126130217504748357816202985403578618208206927683368463500942146521222873809337307509513272626684924623583568455576829829955796057441411399368108102598096525170918896805376847013000725021730866391721560852804538343205620644348246690120803020573698639360843294971518507265977573251033389633587782139738624426519875638046587283768716852149084352299301037964918882966669150820782490847083902199908222262145571659098244753619521991124892136484120707371233184922623068023992217440593228129049742185695287607963508756480649199341838799984764696827317774018822869608732141184808947818682089871993746111274592682699262474412652790209451779949809947256753876035020833193927268211142938340106619209243882526330894404325212579531376534202916710936517268345352589641529018609091931734238250826061134251668449169249011420178270917016225376169800729166863247397603304455403832376080736947420633575281498021058928037911486670204221785988788203816645631218655069305316123584030681922529586923918450832959499687605654794443487179094333087433952684718864307809138937153425913743319650676964614007198788926216155364492518572854793511550530988967751276150962097427254550371424100650736779246926375438147309492013653490314862566909027315512123514171203992781462536695932009545771606864709650280425027574599736526021921453374397064571138126901219651578411703435278714538268332114056667197820980213747012815735169166232126163647079112515220828384656313346304356653414288905501903147756679202224290599185480461296833161187921870541765659023671659632856240827096838116271790676051544086703656200399493796301743903939685980027209355529533962205691993860220685140070429293020780043055337116611166566982409305753904465604535989509370346547190700741577155563589171937851603747516218194693695698192246455859749023428237477599319764372603422915364656184010647642288849866275062915727251243798199324683058738894726371212818 67892518348625976567045132738408754596580011053882666065488018942881961978041783280992274928248760170107373073644941660614493933116937355727840173114443810370685538575952871385131446217797054919853139226940659839781800329386280822641459819727970837121836505462676848232358810659975235359808401507529029648053135836056371701311450297082494952867703938922325979980159068973813789073021429635561301235892019373459018548233693648957773644357871450101421821138245816065076471270676490481010156709639835657619179411491845895386224092334599514899707789100016366943664990489868493897596867902534213644542786862217628986346030338630146543794225376902357950384759665115308668316102665186321359194880654274157460293647444584050306528290409920332409489212206394082578518102440883301129399164921383593809757899360389039892913127624481776363586684494813355184176597565933681553351232234566636009228769476918566662085218526806463644118763226336130157155901860357359506672389240343313945773235976986698163616738777966598623888003389635278113072564666137618717318668981139339159392861090641400993742359297485826410756262400613882476624877576415342663855542378076462708731727046516119853203342702620399393624343836288842614469957921620989680606592938097874989441860424882075649986713758310198421759639608082310550202615085969507259691968036415932984847334944372949073418093628620384034114117075948744445585441375452026592415147436012594059706941045321513930459154328685230872212584339413377135496631202517423885354495791149561274763203594034247414189419387515095946153414196057764228373509341383132131943468929822946065374080529782011502392501889589513047495862386454882639313757790403741810472698932498393369382147830688036967566116496410708764662610308067133787888477616506777359492724503281508409384575831075440968673051832508890023265099107369199338984030777817090251477253332318996269049706960389695521756155009568280661328050610889787646725866217358814225041698527264085758375400458281169632503290968336027070049143070331170908465375441680489904147624919742992836385144952068358391051745065993379272024911414920036701107922971457287240673401736118330421267544316555395793023778682944426018947865187934709857654320196507858069189163092332525195293144028894862526369589820447821802956278806810178935459141095007617594274548365859007641525531731129879870105049796163433428273508139336875184834880978001753382950095490989941058793843947880572552028375368549079287618847807007055712306815369155825529172441874108511307795880110169728784852351263111639558206818601933299468011923862616263788421761437928130389767072257995840877812375369968391611981043440752272708917464784633256470791897422411247861656910030119279413123153650870174537749978260571473862466185308468717632035828916111633650278113030444181224746876957236482876373592864856480290558777551907909703903585631568762555427151209358343317439278969352284126331033282915271543942817146070247783384299568565750863638072677404381544898677243656573514674719928868275586929369926272220047152146943617837139940391960196684741718680748546394915341275245652320696455877170710943024494083089792772970639948540143811771335302427497831227098178042967820201090552474665437055475267559347645449734212396601749128809333267045327557268343872430510039261357303078374856033383142438871831327188559375072074003270859685378572714605233732609967956873094974998561625453968106438752554332858701426482478451970618419215308685334791000860752730147130006006462864598762412514770239902520634288324290995440083337988781431083644412312700128089916432830308020249872871971777228936848984879115797214423971006837610186119689153773639303248872798677062518279635159298723129349084079520618883384159224182904974940096174326991701359679046408300990043165375766235522537905070423885843107522679612053890172096044326778205330662651946886384723681642378484205428977826786990410383438976160161059831758276066735459754498986440450249398805720974851879254366829181213142902818964780199355075336853990107211357440062974772993069449438401593742940190132027580331674186361288201193292126277434574012500610627975989 109852402269902712926440588613369139010319651494637308517641439198861674963235674744032578709621003164013641906154929169599808763662994442108445328368025518213699438390269893215316109520657575910711022845268350259037851385528395037358057272653470648842319178955162604740786744173643905868654037128393653511205256889947050270088396386625908264457621594600543606255555209658948607363888397548464075060498042826809290335115738426305891311834977844548467256519432675996764120335409425701040116435737770885255341136877357274770899264532252559937595679298416531966719739356671570706121301573944717872805484802856971198348878420469507526437879326508756786876637444553964244516692418985235126513150396338985013629428604909084542993474845191639748307935391307852418410875988394932693891160419014903915456284597163230696103888129354126681253832970066970373655014454115919770027858889081612490167088461105501920677180369316321451787206479413957936239083660386631543994251049031049740202061488459525946899724306336487856203698754073701895390548701343861907854003035420376234608924956235693652093858655093729654107097115078261175540466966769261367844111470576017420110747153778282356063010244091151217751063997877494828258790461474116692847194529702161641922143203669293144835597157425832566523302945081252485910223689332737354885768932645636441802507535234832439122000432538118669627730950389944210395962883759432004559894606366354903081093432298882738840793164479587077129810656029460536183736194311745498609938659968710386460098680125982358414906411001541422273970083119689646165758296635791724522491340146499063808189269533459901173488124446889085791706521547663124674894013505332448016607653605203941816431966400153629799844779852391136111450492806877341865778889236624841944634668624420433910542420679265476365283023465711521292446180508512477642677631360225418060996189208597172326631191506138943695098382380386249179833797522477090272129625717312867826038219682788661368642441809610258702206128914146276883641377743435559033151796565322810110991952620829645087358045282040785772660522888650140190561772964262015895022237833945694600770755159092472038454047746025927951893213392419938124995948247429324644007009692211189228200696458655412797892386711065511773168438656028730639647270311121081980363968816954901784061638485692566149115299585456699935005592220874839672876247439473281360051896898558759797108491714962789660235669441425356566718574169723635865537927810076286005454729999120500690949140086084558829269743757510924590975689631515196253405885702016320161008214915564826386680320894799540587854748842924780012283592230537183640141685505892230908589676769740591499268655596170484724934022336720006351282700612360233037586224080230343115384650307517616800525743429407669100982639176322409555824775918572748367338976131072973258040026320562494113037411518572502683905085393364150633206237563427064671139902124515426469148040474572995963830945099953780349009194672726897488318772675182606606454167119101648063621594721389296163567121888754156165768129997413908581928146149699370745107621733057643876510745992441045553011127704259640844170326132599975151948058716486296403494166551850883013082061589355506308227059035251104528655883780843461896767219730046421576153011367663465175100622729051820647390341227798047482553051893644928796782410216367540465881384694707395211423466399099212362233215032814190701642350715079972793314537527446530820808848962204853534192683825938016008636205627122165050664930095234024850312916893457735053352569210545631964278539793351711544846288581986928638975049917062731891931532383590203133001257265232204374602023959562219103033715932568540661201870886028286303811218068864620521016066162861966716092650725031338679264541817140003492038026198589449157127542043507016475913797794111782024353987560860196614152578378583902327518554634721998606830045747500050142727143469137512180532339995744008356786997440099547298130415468426304680784960659121013658475897547321792713739130639594917662294537365672872353766249926950837774316430197949249277015452437090325602117632751395336999188807 177744920618528689493485721351777893606899662548519974583129458141743636941277458025024853637869763334121014979799870830214302696779931797836285501482469328584384976966222764600447555738454630830564162072209010098819651714914675859999517092381441485964155684417839452973145554833619141228462438635922683159258392726003421971399846683708403217325325533522869586235714278632762396436909827184025376296390062200268308883349432075263664956192849294649889077657678492061840591606085916182050273145377606542874520548369203170157123356866852074837303468398432898910384729846540064603718169476478931517348271665074600184694908759099654070232104703411114737261397109669272912832795084171556485708031050613142473923076049493134849521765255111972157797147597701934996928978429278233823290325340398497725214183957552270589017015753835903044840517464880325557831612020049601323379091123648248499395857938024068582762398896122785095905969705750088093394985520743991050666640289374363685975297465446224110516463084303086480091702143708980008463113367481480625172672016559715394001786046877094645836217952579556064863359515692143652165344543184604031699653848652480128842474200294402209266352946711550611375407834166337442728748383095106373453787467800036631364003628551368794822310915736030988282942553163563036112838775302244614577736969061569426649842479607781512540094061158502703741848026338688655981404259211458596975042042378948962788034477620396669299947493164817949342394995442837671680367396829169383964434451118271661223302274160229772604325798516637368427384279177453874539267638018923856465960269969445129182269799315471403565990014036402133287568908002545763988651803909074258489306586103597311198579797088190597365961276263099900774060800874011129754256505743402201437359171905928843295118251754706445038334855974601544557545287877711816626708409177315669538249521527593441376338151895834465451253391948666910507884408412264736997995843076127092867736746946874419744042900090779891205497097250173346932784448074606467498527238245812714258616872363822481472502997350399176824405588882029412215473187884298717002945209291232935274172491277422893305998364301421720975671896336845957072861136182139182298327206200069258417363788791180608091036415605928038142758259103850533595926077121300017439505063824572496058610004344700207674647030715336570040055388384308267946384386776348466194932874900312142747203982704903848454079617321997908595093942718802923484385734817131998312270099154946029863391014194595866625149853927239709443326952743154754460224487635315788172932077531828614808441758822929930354927006838765657824658962198928795621185126258164939826054461402997062291166078007418346381844052455999419474436351482534770787564484651704205581569958776235248836354659541041319379095669620503634302701733155055624740931840987553263816817578228472198016623043087335058111056294751707468072485206915711191002173185039786970411965186544820779348130513665704643987081872077108442386996016331756121281174095987377234992991520993609343315714065506591296106160090194098650300608894696094286086382867385378340332387916703384070047094217497032611484118866276411746487250486214317523501672209519671084103634536254792561783494618382896554262868280382592590706100486775373978844496883798173504436457925807426676680773483666669878809741611268717002800053269901746113180486618427317363168296561374097773987687183139252943255975209416506455271766508145865746129494183753205714286922830955944022471500804389534679820904832615868313174603912333541073042134000294190044276978667883268144375154308831859800610752278853911716771047329598014174139838867451351893528375663262811091901710778450848175820500594015377370383331836952248779745198971137802062890419642426391017725672842807183168867804261721127354227551427886614539155525851684283878068680765766190859266099464763307583969897038840150976433617036157883489118887304528969270456599075455498507343227447689498353019105267347680671509966173802023832623256096902397129567729237850952357725269310358742321792167843669891027906344010529623435638303653630382451879552206763895947627164796 287597322888431402419926309965147032617219314043157283100770897340605311904513132769057432347490766498134656885954799999814111460442926239944730829850494846798084415356492657815763665259112206741275184917477360357857503100443070897357574365034912134806474863373002057713932299007263047097116475764316336670463649615950472241488243070334311481782947128123413192491269488291711003800798224732489451356888105027077599218465170501569556268027827139198356334177111168058604711941495341883090389581115377428129861685246560444928022621399104634774899147696849430877104469203211635309839471050423649390153756467931571383043787179569161596669984029919871524138034554223237157349487503156791612221181446952127487552504654402219392515240100303611906105082989009787415339854417673166517181485759413401640670468554715501285120903883190029726094350434947295931486626474165521093406950012729860989562946399129570503439579265439106547693176185164046029634069181130622594660891338405413426177358953905750057416187390639574336295400897782681903853662068825342533026675051980091628610711003112788297930076607673285718970456630770404827705811509953865399543765319228497548953221354072684565329363190802701829126471832043832270987538844569223066300981997502198273286146832220661939657908073161863554806245498244815522023062464634981969463505901707205868452350014842613951662094493696621373369578976728632866377367142970890601534936648745303865869127909919279408140740657644405026472205651472298207864103591140914882574373111086982047683400954286212131019232209518178790701354362297143520705025934654715580988451610115944192990459068848931304739478138483291219079275429550208888663545817414406706505914239708801253015011763488344227165806056115491036885511293680888471620035394980027043381993840530349277205660672433971921403617879440313065849991468386224294269386040537541087599245710736190613702969343401973409146351774329053159687718205934741827270125468793439960693774966629663081112685341900390149907703226164319623816425825818042026531679034811135524369608824984652126559861042632439962597066111770679552406034960848560732897967447125178629874943246436515365344452412047447648927565109729265895197857084429568506942334215892280447645564485249836020888928802316993549915926697759879264235573347432421099419869032641527397842671642830392773823762330300793269975060980605183107619260634215821747554984771798870902544312474419866638114315286763423265161812516888526559349923662627208284317724829154066530554340154280680425454419597684750634034302642374669950713630373337332108333940292447393441195122079717729470942781755681690437836942554429465979261326811764057170734644138172737653790434733603588831106778074792719425825719052094895003825150708731934548696954609083752865636880402970448988480078308796826043858526509073628373108270817118626237074857604549034692129660454605907560794961380145071618705691444479138255673313087164302396881113227019393775311961458765658424336091066749835339875314789006938727887628263106478883056613115714998639479281187395345452271928220191512558882537040845793656831490489118435984208898662695825115600105345201292252328289192409011721639198544930803819905166376071521967116716597844148068091721677418147658791524164163436052602867706505420400420649895165836969611558548536478497328163824894467926292294663162361931596835680118113653646368003122024758379720027773196986349920398172067133957617560131586428065081045673312276950303032715410567821115514781882038480137010016656844871569762711102338024916829226998808095486569504735676241257207676619855920000597413846729249727328770974448662978861981604377272840124716584097902977687222373311004744494383416716481702464901405656687143055021113400266215037300664029606512293151422356404937384624323172359842287919716803384678969930121555631439649478395660093034753327051055880252043141891486297415593474872975040447081905383539261614447998106782637131415451242515700014445129597900317235682816106976190751134461144846281731994449718922281468368490547275387563847724415194145934093596841865680660440727572684915319106067472777481669839515291284626353603 465342243506960091913412031316924926224118976591677257683900355482348948845790590794082285985360529832255671865754670830028414157222858037781016331332964175382469392322715422416211220997566837571839346989686370456677154815357746757357091457416353620770630547790841510687077853840882188325578914400239019829722042341953894212888089754042714699108272661646282778726983766924473400237708051916514827653278167227345908101814602576833221224220676433848245411834789660120445303547581258065140662726492983971004382233615763615085145978265956709612202616095282329787489199049751699913557640526902580907502028133006171567738695938668815666902088733330986261399431663892510070182282587328348097929212497565269961475580703895354242037005355415584063902230586711722412268832846951400340471811099811899365884652512267771874137919637025932770934867899827621489318238494215122416786041136378109488958804337153639086201978161561891643599145890914134123029054701874613645327531627779777112152656419351974167932650474942660816387103041491661912316775436306823158199347068539807022612497049989882943766294560252841783833816146462548479871156053138469431243419167880977677795695554367086774595716137514252440501879666210169713716287227664329439754769465302234904650150460772030734480218988897894543089188051408378558135901239937226584041242870768775295102192494450395464202188554855124077111427003067321522358771402182349198509978691124252828657162387539676077440688150809222975814600646915135879544470987970084266538807562205253708906703228446441903623558008034816159128738641474597395244293572673639437454411880085389322172728868164402708305468152519693352366844337552754652652197621323480964995220825812398564213591560576534824531767332378590937659572094554899601374291900723429244819353012436278120500778924188678366441952735414914610407536756263936110896094449714856757137495232263784055079307495297807874597605166277720070195602614347006564268121311869567053561511713576537500856728241991170041113200323414492970749210273892648494030206273056948238628225697348474608032364039982839139421471700652708964621508148732859449900912656416411565149115737713938258650450776348869369903237006066111852270718220611707689240661422092349706062928274041016628979965217922921588058684956863729797831499424553721116859374096466099893901281647175092981498409361016129840015116368989491375565645020992170213749917646699183045291516457124770486568394904085421173756906459607329482834309397444340282629994928309012560417731168475276292079569451611990343477629595117824705173854860972647896506872369979222056003563838540659401297708762520456095661601516628394774882511938022222110560698599575734716081600811611007177488622127248718845300155403577429774612715193383638754278524567859988114473235062511490307859173978417329678161228242228683997849202658106179500891675182777506890146283497693242618906017674896779086778176651394849446675486272204089367293078413564214554660091972431363068323172938826943782262310805338694849168802359093856118049604636708607982794995252901936748378088310385611209183145935541887942917873356503814324541286579399209185647199562698324863812408058685423468126449031145121343406838585591193051220351134098940629875216295801044213054392444546028643308968193280794379265146778964010474048016474343905174008937308561137805102036274431078934396888950019859766826854621549342121548016589147294760337607581311320077213592769548092883336847553819178023079797216468616282108038345737826060951637814406191524692474595326970651199520741560539881137620569798925720518235875559888000295154906245706529860479607624886165434026191579618551412678992167935991431353350485184402906455272834264892302203058916783027070474891973362180011414008438466092496931935577813374130610227431506341227646549640844157612230397816736094786965501162679538161715519093241915146351507905199070267312632315023951474064118063267028380501752527076053093730490906741023043241892819096253336340950163787647700717308263168678904988091352116051849197606341499633112833158083157515938101937266732893587004451257196120553622759697855229361222046279187232253518399 752939566395391494333338341282071958841338290634834540784671252822954260750303723563139718332851296330390328751709470829842525617665784277725747161183459022180553807679208080231974886256679044313114531907163730814534657915800817654714665822451265755577105411163843568401010152848145235422695390164555356500185691957904366454376332824377026180891219789769695971218253255216184404038506276649004279010166272254423507320279773078402777492248503573046601746011900828179050015489076599948231052307608361399134243918862324060013168599665061344387101763792131760664593668252963335223397111577326230297655784600937742950782483118237977263572072763250857785537466218115747227531770090485139710150393944517397449028085358297573634552245455719195970007313575721509827608687264624566857653296859225301006555121066983273159258823520215962497029218334774917420804864968380643510192991149107970478521750736283209589641557427000998191292322076078180152663123883005236239988422966185190538330015373257724225348837865582235152682503939274343816170437505132165691226022120519898651223208053102671241696371167926127502804272777232953307576967563092334830787184487109475226748916908439771339925079328316954269628351498254001984703826072233552506055751462804433177936297292992692674138127062059758097895433549653194080158963704572208553504748772475981163554542509293009415864283048551745450481005979795954388736138545153239800044915339869556694526290297458955485581428808453628002286806298387434087408574579110999149113180673292235756590104182732654034642790217552994949830093003771740915949319507328355018442863490201333515163187937013334013044946291002984571446119767102963541315743438737887671501135065521199817228603324064879051697573388494081974545083388235788072994327295703456288201346852966627397706439596622650287845570614855227676257528224650160405165480490252397844736740942999974668782276838699781283743956940606773229883320820281748391538246780663007014255286680206200581969413583891560191020903549578812594565636099710690520561885307868083762997834522333126734592225082615279102018537812423388517027543109581420182798880103541590195024058984150453623994903188396317018830802115795377747468575305041276196182995637984630153708492759290852649868894020239915137974611654623609062067072771986142216279243129107627291743953290005485755322171691316923109990177349594674483184905655207991961304902418498053947835828931544637124682710190848844438918718976495856042184233060071548566947719757463079090972071322755956717533989049296740977511932237492494655887485234309980004840812662426615497198685918258388872240490518202146533498544071057860754143838749786279281295342737748472369872035545214596008595400202041438271125874455672324778437865902115573302975479176943740980110115465481939296339252287214155722019754751302312370957473475224805737966532787326541582275943952299150179700979055041850705483868095873987702348799359368391764174191640583608329972053431197021492659264005576779122137625594345633577056430622200335001106217752423606622274276440297282200650016530577123768065682976387681599749363845622250308750185242095034301247304907899617116140697251094435189765647576075925163312004961662715018337067731943088697966937973219191871845916608709464695911835899786214779685796674129847443659575022880383671337101133455605731394330937593440865993724630137973420473222624671366879927736616920491746687527979483387211171210329679679311401928599492490300030100249184026849929153860519708099431774824422848369564044358038072989224437570787538689233107139303661396759493083236507856215155503659553259110206936395860614097005053561222928685519116884520089334331037707557713911199767217681608783905523818188683757617946994475580277629045739130122103444228729235730535547612055829513587488837560560960996909367746857650418405150641075198254750272420292971026603551047090556564728225789896926514511199968650567642116200525182835730861906357983538743256337948694153653576632979894623891468442724313525186720085801834974130665974832046908500397005807572710084036030863574759267664891984768805468941865765328006842891885794478516879872002 1218281809902351586246750372598996885065457267226511798468571608305303209596094314357222004318211826162646000617464141659870939774888642315506763492516423197563023200001923502648186107254245881884953878896850101271211812731158564412071757279867619376347735958954685079088088006689027423748274304564794376329907734299858260667264422578419740879999492451415978749945237022140657804276214328565519106663444439481769415422094375655235998716469180006894847157846690488299495319036657858013371715034101345370138626152478087675098314577931018053999304379887414090452082867302715035136954752104228811205157812733943914518521179056906792930474161496581844046936897882008257297714052677813487808079606442082667410503666062192927876589250811134780033909544162433232239877520111575967198125107959037200372439773579251045033396743157241895267964086234602538910123103462595765926979032285486079967480555073436848675843535588562889834891467966992314275692178584879849885315954593964967650482671792609698393281488340524895969069606980766005728487212941438988849425369189059705673835705103092554185462665728178969286638088923695501787448123616230804262030603654990452904544612462806858114520795465831206710130231164464171698420113299897881945810520928106668082586447753764723408618346050957652640984621601061572638294864944509435137545991643244756458656735003743404880066471603406869527592432982863275911094909947335588998554894030993809523183452684998631563022116959262850978101406945302569966953045567081083415651988235497489465496807411179095938266348225587811108958831645246338311193613080001994455897275370286722837335916805177736721350414443522677923812964104655718193967941060061368636496355891333598381442194884641413876229340720872672912204655482790687674368619196426885533020699865402905518207218520811328654287523350270142286665064980914096516061574939967254601874236175263758723861584333997589158341562106884493300078923434628754955806368092532574067816798393782738082826141825882730232134103872993305565314846373603339014592091580925032001626060219681601342624589122598118241440009513076097481649051258314279632699792759958001760173174721864391882645353964745186388734039121861489599739293525652983885423657060076979859771421033331869278848859238162836726033296611487338859898572196539863333138617225573727185645234937180578736820581052333052950005293718584165858750550676200162175054820065197236993127345388669407611251105094934265612675625436103185525018542457515888849577714685772091651389802491231233009613558500908731320989561832610319361061340095282627901347685032405837553202249756799048273538199280722602629160145587686255529026350687808501391856041337324207085953636356825603186084022329290157116426029859249754553050581095499212057254003744803729094583350527993429604198426265631485400180982993530996368806676133330985238858207970104048472422227449992392798606996729938629792262044747268837149024285631572481131467270054147822884632145403628384560982436944403722904399936399684328426225232981294191119155822389132214605069271693199218949028104840962734977248828911929569542667237202126064633291471821494243486894504470597941979953105309779858657892096607221046506718843547253908069557418866042029327842154269020236084900309053255493339220804093067009158950943453093857917707591497224288845346038442016743536496367212024519800390613580157833187300077246220709001475753206067786507025135560794707288384803099227772194738776153311668323109897465652643132037192206257534160383412638829039894256518953365043640423958312348078570370727709102587117277728958796395856510310409905259788970686544020746779531031245140841480098198109052456080765684388192742116817655040051946501086108582734971710828092838967837760289043054177596214600376164307049104666157839487335854815135387201405118609139765563593745205370651803754736416465791513534886172955058952289626832040858104920877988575318031917596022617953052258888824592397264724561786498230767790406989917583143682271592185750987482204091708177153951025979863581173546541613230163890730226022137968130307652854669343241964926022564625463183236204113932073665749133390401 1971221376297743080580088713881068843906795557861346339253242861128257470346398037920361722651063122493036329369173612489713465392554426593232510653699882219743577007681131582880160993510924926198068410804013832085746470646959382066786423102318885131924841370118528647489098159537172659170969694729349732830093426257762627121640755402796767060890712241185674721163490277356842208314720605214523385673610711736192922742374148733638776208717683579941448903858591316478545334525734457961602767341709706769272870071340411735111483177596079398386406143679545851116676535555678370360351863681555041502813597334881657469303662175144770194046234259832701832474364100124004525245822768298627518230000386600064859531751420490501511141496266853976003916857738154742067486207376200534055778404818262501378994894646234318192655566677457857764993304569377456330927968430976409437172023434594050446002305809720058265485093015563888026183790043070494428355302467885086125304377560150158188812687165867422618630326206107131121752110920040349544657650446571154540651391309579604325058913156195225427159036896105096789442361700928455095025091179323139092817788142099928131293529371246629454445874794148160979758582662718173683123939372131434451866272390911101260522745046757416082756473113017410738880055150714766718453828649081643691050740415720737622211277513036414295930754651958614978073438962659230299831048492488828798599809370863366217709742982457587048603545767716478980388213243690004054361620146192082564765168908789725222086911593911749972909138443140806058788924649018079227142932587330349474340138860488056352499104742191070734395360734525662495259083871758681735283684498799256307997490956854798198670798208706292927926914109366754886749738871026475747362946492130341821222046718369532915913658117433978942133093965125369962922593205564256921227055430219652446610977118263733392643861172697370442085519047491266529962244254910503347344614873195581082072085073988938664795555409774290423155007422572118159880482473314029535153976888793115764623894742014728077216814205213397343458547325499485998676594367895699815498672863499591955197233706014845506640257153141503407564841237656867347207868830694260081606652698061610013479913792622721928717753258402751864007908266110947921965644968526005549417860354681354477389188227186064492142752743649976059995471068178840341935456331408154136359722483695290940963174320214044735933815285783110051594344412599041567202775517587437416525434443235170742361873813987189727147547550205472298501494070102814016948825329592607906188497694832453050400935675057437145778689798924749162658689658744116283170189437594780673151384075072679455825671902040199194679422531331595387551904314922079331488446997614785360229482921747470074693465993475368900537678552845641122200737744833308739764149608555790976824740757430590054698171402291542978307975784980480497745912843142824851373084990940872895641461694731431214604198834825406053641700949980502026537561994029962003281663603494526120262040141555821227343548133496501149678121371539858745314511888317251142416601047748314942041657063589277788141809378497559096093802560874293847657744183296971670030848508916623087894486597985118025809092242239427956746225661964958035132639992853223938636740127223705361367166520104672516683139575472349267890698149617960666384338210295806607773299870892075881403489822988278253712663540278094499556013428907451506140704752804158623139997714836669981966346066777242259815187463251888263820563311403116629648395883135617259603834848406248514037222042032903712725465913564813048080893480416607393628036298702064408783717225936976170100015425900299830728854807269628109870014106553160394585710785962313340566672099916726336703820393036284835201705451543165368402624224761966079606049133310451395623775802444829934671216063933827857199558609999380183396769083894817804503086518000568163664734153577441724555454303622708100529754568716484560643494216123576895483654193711795729278428262955786000110529556005593450113627169698302936106173998993882412122334235226733731491506491228511243047005817868144266013262403 3189503186200094666826839086480065728972252825087858137721814469433560679942492352277583726969274948655682329986637754149584405167443068908739274146216305417306600207683055085528347100765170808083022289700863933356958283378117946478858180382186504508272577329073213726577186166226200082919243999294144109160001160557620887788905177981216507940890204692601653471108727299497500012590934933780042492337055151217962338164468524388874774925186863586836296061705281804778040653562392315974974482375811052139411496223818499410209797755527097452385710523566959941568759402858393405497306615785783852707971410068825571987824841232051563124520395756414545879411261982132261822959875446112115326309606828682732270035417482683429387730747077988756037826401900587974307363727487776501253903512777299701751434668225485363226052309834699753032957390803979995241051071893572175364151055720080130413482860883156906941328628604126777861075258010062808704047481052764936010620332154115125839295358958477121011911814546632027090821717900806355273144863388010143390076760498639309998894618259287779612621702624284066076080450624623956882473214795553943354848391797090381035838141834053487568966670259979367689888813827182345381544052672029316397676793319017769343109192800522139491374819163975063379864676751776339356748693593591078828596732058965494080868012516779819175997226255365484505665871945522506210925958439824417797154703401857175740893195667456218611625662726979329958489620188992574021314665713273165980417157144287214687583719005090845911175486668728617167747756294264417538336545667332343930237414230774779189835021547368807455745775178048340419072047976414399929251625558860624944493846848188396580112993093347706804156254830239427798954394353817163421731565688557227354242746583772438434120876638245307596420617315395512249587658186478353437288630370186907048485213293527492116505445506694959600427081154375759830041167689539258303150982965728155149888883467771676747621697235657020655289111295565423725195328846917368549746068469718147766249954961696329419841403327811515584898556838575583480325645626209979448198465623457593715370408427879237389285611117886689796298880359518356946947162356347243967030309758138589873251334825954591207566612496565588590041204877598286781864217165065868882556477580255081663034423164366643228963333795983029010000764786763006200686007007608316311414542548892527934090519708883452347184920380717375664269969848702227092221317975103326266103149129007262393751676305218422736761106051114203619491055902713133378010165424875235807536182727238290603603185431856485419316889079647351791818835246430371812196540125403282065007425412396886541779308258865802380763444860621752503977934174171833884539028093113997417483486666551199169276816521468798504736104818477126522381720738364305108570825741886776215682948727534638527120398852283935776914972514919110290007957590411662000397370622513354027108731748879254099236344238453790614624137894384224930937498393714290429506896584788717239417862530688035832412819826695720098706226212502593722563340800246820685083838249874379575333128885083521275036313849095501076046907870654152505549840790518018176749692056170531157451905464027147353651246511259664041646534715220451374353444085920233097587683580317563279074758017328961362029178017489092804387065361642480466774951790453639795073377117112784882879243029056064760737799101072801787940816528135223700879480906115826946249895180489313114003538273034776420198600102080928158077082264768160270072354195483695829974562557508835631314951000829299569235776323470072837051580024437354173159067543842905888881915334989432250865699814093041947546509847321574610956122689288132105413803624930151100855715154094322551304196557343333939867863291030501223217759611963371198215188898874045140829146454248584671087681855447362743372513668951669810228809941999738682491661836032485759687352106629700613380046700887432662316252799484274967633411799267259167075839944699277933370136440109737026090393137179139991726857333589033162128311967124190064977003578468698657514071116691694479251119749941810015146652804 5160724562497837747406927800361134572879048382949204476975057330561818150288890390197945449620338071148718659355811366639297870559997495501971784799916187637050177215364186668408508094276095734281090700504877765442704754025077328545644603484505389640197418699191742374066284325763372742090213694023493841990094586815383514910545933384013275001780916933787328192272217576854342220905655538994565878010665862954155260906842673122513551133904547166777744965563873121256585988088126773936577249717520758908684366295158911145321280933123176850772116667246505792685435938414071775857658479467338894210785007403707229457128503407196333318566630016247247711885626082256266348205698214410742844539607215282797129567168903173930898872243344842732041743259638742716374849934863977035309681917595562203130429562871719681418707876512157610797950695373357451571979040324548584801323079154674180859485166692876965206813721619690665887259048053133303132402783520650022135924709714265284028108046124344543630542140752739158212573828820846704817802513834581297930728151808218914323953531415483005039780739520389162865522812325552411977498305974877082447666179939190309167131671205300117023412545054127528669647396489900519064667992044160750849543065709928870603631937847279555574131292276992474118744731902491106075202522242672722519647472474686231703079290029816233471927980907324099483739310908181736510757006932313246595754512772720541958602938649913805660229208494695808938877833432682578075676285859465248545182326053076939909670630599002595884084625111869423226536680943282496765479478254662693404577553091262835542334126289559878190141135912574002914331131848173081664535310057659881252491337805043194778783791302053999732083168939606182685704133224843639169094512180687569175464793302141971350034534755679286538553711280520882212510251392042610358515685800406559495096190411791225509149306679392330042512600201867026360003411944449761650495597838923736231960968541760615412417252645431311078444118718137541885075811320231398084900045358511263530873849703711057497058217533024912928357104164075069479002239994105679263697138486957185670567642133894082895925868271028193203863721597175224294155031187041504048636962456200199886731248618577313136284365754968340454049113143709234703829862133591874431974337934936436140423611391552707721106086539633005069996235854941846542621463339016470447774265032587818875053694029097497083118735666500485715864314261301268659424093492690763682628583572242433136113550119205612463908653601319675917992549972815947394958990754467843713724680422070743654004121106913922565095578878572100954477524905174488095366729562998062738158809487469565997604980160906001575442867391953347891529838489093913216027475090728782777712969588298669243970282514944167405273783371322767644582458483197613848334975350442567192507689484965228581818570254575478755222948299899590787753870433554486851770455613454226922750193443610685313840543073279196668265838844364726957475060387744252432788560188283243359679902672243857059756367960192221248384347584042452467877852688564071827500439297622694517374785948672799063178123227593060172140710431528446353207584973814989846780540565087154245346392062012265379460338753499091998392760377185409409486084078773457036224423707541268640441924537433633878712317592961442072277763511260441133159290000749446402846676988004860764282732852044343014450462641350896287496829957042675207020185658919985569389892895325983095969884339812018680013787565332816421897645576171276899720750078619313089578397405915084145352173042862203281961242237034885885132473504853961566787103842544970297665632560926408420965715239993341778275364654591202720826136795841292499999514410892464441422387254011048888008016950379618775069568742573666591620383836725337277821238032184496536452922256693414605758897919381190600572072278951049993625579025894556486994748354033053923352086260207142337935501004510140762846007368200759528276906015390836062559494138411073662648564703065523026200922693184733441840484503287336098234485966118072477099337813695432389005577607920205722298125567809954281159915207 8350227748697932414233766886841200301851301208037062614696871799995378830231382742475529176589613019804400989342449120788882275727440564410711058946132493054356777423047241753936855195041266542364112990205741698799663037403195275024502783866691894148469996028264956100643470491989572825009457693317637951150095747373004402699451111365229782942671121626388981663380944876351842233496590472774608370347721014172117599071311197511388326059091410753614041027269154926034626641650519089911551732093331811048095862518977410555531078688650274303157827190813465734254195341272465181354965095253122746918756417472532801444953344639247896443087025772661793591296888064388528171165573660522858170849214043965529399602586385857360286602990422831488079569661539330690682213662351753536563585430372861904881864231097205044644760186346857363830908086177337446813030112218120760165474134874754311272968027576033872148142350223817443748334306063196111836450264573414958146545041868380409867403405082821664642453955299371185303395546721653060090947377222591441320804912306858224322848149674770784652402442144673228941603262950176368859971520770431025802514571736280690202969813039353604592379215314106896359536210317082864446212044716190067247219859028946639946741130647801695065506111440967537498609408654267445431951215836263801348244204533651725783947302546596052647925207162689583989405182853704242721682965372137664392909216174577717699496134317370024271854871221675138897367453621675152096990951572738414525599483197364154597254349604093441795260111780598040394284437237546914303816023921995037334814967322037614732169147836928685645886911090622343333403179824587481593786935616520506196985184653231591358896784395401706536239423769845610484658527578660802590826077869244796529707539885914409784155411393924594134974328595916394462097909578520963795804316170593466543581403705318717625654752186087289642939681356242786190044579633989019953646580804651891381849852009532292160038949881088331733733230013702965610271140167148766634646113828229411297123804665407386916899620860836428513255661002650652959327885620315658711895604110414779385938050561773320285211479388914883000162601956693581241102193543388748015667272214338789759982583444531904343850978251533929044090318021307521485694079298657743314530815515191517803458034555919350950069420335616034079997000641704852743307470346624786759188807581480346809144213737980949430303656047217861380134284110003495751645411467794089948731732701249695529865226424424035200669759652433879537483605875529080772969156179343079521260863149309034257607306538770407984412467958219452746296360151604859907563269688401344803166234899866452539384288419771803956206312252575100395507772663265747100566503183842780195196456254849868413247099036412965910009888189799894166964179221561918956905801092329343408190638212499867108938969106859414532137920814818701077761828023966148852167826235967580949858925192489939413076887311732987282889976738748951888412558781458542862295456773071960599097765202931892892169187786887941347090573796545046190441193488810892512584277547497074092707914833756320338214437076688561248187618302182598858757425764333008023530232621257685402798297526039412733111585264758756040039295092405860783839528164693690133812107287858831919516682554762595240741495610450534876664828872902921599934241791203086197920054105117645647161975881100407775188261742423698075437646485177898907899666565035812515639788075815296209973422612846795100212387667413744579974727840939437169793104274103008919552959963423919776667124043691502851197018560504958722184053529291315739946171386387876186547547895915840671831415054086383725821874501912777331782259485129424605413318035822615542278102408105371439312213507722952714937432033604167814838143448688708476036426931058541677282068710941999276846579774828553343944585947902719803854388967894295169486410190065539683039438366836842951315547705397573425162260167685034495910317814658095229635334083110351596018701143175260052291315830363873433567341836876369260362797933242262542076341392164131046519648724611900201549245317751764296306568011 13510952311195770161640694687202334874730349590986267091671929130557196980520273132673474626209951090953119648698260487428180146287438059912682843746048680691406954638411428422345363289317362276645203690710619464242367791428272603570147387351197283788667414727456698474709754817752945567099671387341131793140190334188387917609997044749243057944452038560176309855653162453206184454402246011769174248358386877126272859978153870633901877192995957920391785992833028047291212629738645863848128981810852569956780228814136321700852359621773451153929943858059971526939631279686536957212623574720461641129541424876240030902081848046444229761653655788909041303182514146644794519371271874933601015388821259248326529169755289031291185475233767674220121312921178073407057063597215730571873267347968424108012293793968924726063468062859014974628858781550694898385009152542669344966797214029428492132453194268910837354956071843508109635593354116329414968853048094064980282469751582645693895511451207166208272996096052110343515969375542499764908749891057172739251533064115077138646801681090253789692183181665062391807126075275728780837469826745308108250180751675470999370101484244653721615791760368234425029183606806983383510880036760350818096762924738875510550373068495081250639637403717960011617354140556758551507153738078936523867891677008337957487026592576412286119853188070013683473144493761885979232439972304450910988663728947298259658099072967283829932084079716370947836245287054357730172667237432203663070781809250441094506924980203096037679344736892467463620821118180829411069295502176657730739392520413300450274503274126488563836028047003196346247734311672760563258322245674180387449476522458274786137680575697455706268322592709451793170362660803504441759920590049932365705172333188056381134189946149603880673528039876437276674608160970563574154320001971000026038677594117109943134804058865479619685452281558109812550047991578438781604142178643575627613810820551292907572456202526519642812177348731840507495346951487380164719546159186740674827997654369118444413957838393861341441612765166725722438330125614421337975592742597371965056505692695667403181137347659943076204026323553868805535257224730430252064304234670538989646713832063109217480135344006502269498139431165016756189523941432249617746505153450127953943881645947472058671175506875249039149993236496646699285928933685641257206963072614068165684197907767078446513422391713718347095998598371304764411069504960484853631360316273492128665978776543629647664578413253753555455476155848345028167928146933810923234985543571379777911611427645684330549508046836791553700773885056779348002929999251399407541325044387336018536989268580677805531649179644528448287037611152359660316593978274571562972909425843148537657217381551357133315283671561122661811546637704759532805240776442771910600698327697465095690757539361434893287360869114718291865515698457520635703938281849421807872609118636100624726917430385012183951155815583113678845887619169202795295084016961355203958777667875175749951925555747080162595474921380587498658319046177374964340084716845119768610082700782429119401392560304281621420328328733711045211965010738147997870310773186344839648144689588051678112571924018257848038432055469591270193325612243467147170036530995400100559958607092196229119453813203411976948942592384163362733093531791952532600766731093122506411444708733144750789638724383774594362934476442220574114919852223955798085029680971141279305943306952658813780226175232746561001872373417110714069513854352722322009131357369339003922019297086553706133158260797539844607316527034145277306733275228932846484213180456842249092797130294079725504097239156503980052608396280970717105412832446715079983700489662116420327320230458102571490007000776177834406458527285414045753857664963243038213734990967635413882605477694209743944516658226853769797479967993788851656481158544098593606391524627043985289251048709907714188008267535885794024187223830048931292194828221521425258667265846240783078492238523548606875407826340163705358597283899360335019175679205859563435525226332532105923847370885561718577466483218 21861180059893702575874461574043535176581650799023329706368800930552575810751655875149003802799564110757520638040709608217062422014878624323393902692181173745763732061458670176282218484358628819009316680916361163042030828831467878594650171217889177937137410755721654575353225309742518392109129080658769744290286081561392320309448156114472840887123160186565291519034107329558026687898836484543782618706107891298390459049465068145290203252087368674005827020102182973325839271389164953759680713904184381004876091333113732256383438310423725457087771048873437261193826620959002138567588669973584388048297842348772832347035192685692126204740681561570834894479402211033322690536845535456459186238035303213855928772341674888651472078224190505708200882582717404097739277259567484108436852778341286012894158025066129770708228249205872338459766867728032345198039264760790105132271348904182803405421221844944709503098422067325553383927660179525526805303312667479938429014793451026103762914856289987872915450051351481528819364922264152824999697268279764180572337976421935362969649830765024574344585623809735620748729338225905149697441347515739134052695323411751689573071297284007326208170975682341321388719817124066247957092081476540885343982783767822150497114199142882945705143515158927549115963549211025996939104953915200325216135881541989683270973895123008338767778395232703267462549676615590221954122937676588575381572945121875977357595207284653854203938950938046086733612740676032882269658189004942077596381292447805249104179329807189479474604848673065504015105555418376325373111526098652768074207487735338065006672421963417249481914958093818689581137491497348044852109181290700893646461707111506377496577360092857412804562016479297403655021188382165244350746667919177162234879873073970790918345357543528474808502368472353671136706070549084537950124318141593492582258997822428660760458811051566909328391962914352598740092571212427801557788759448227518995660672560825199732495152407607974545910578745543473105618091654528931354192273014970086125121459034525831330857459254697769954868426169376375397658011234736996687488346707786744442443743257440723466348827048857959204188925510562386776359418273819000079971506884877779406696415507641121823986322258036198542229749186324277675218020730907361061035968965319471747339680503391409621244927210865073229990237138351552029236404032266043966151880195548512493342121505059395943726047760936208476132882481308260162714916428278943580092048974741824195844002968053682865248172906187434992959761723874108940897303113154002756246406720688812169218734184454738533920514795011006447070245208384207910493268939800752344491279287202471076373557000449609487855491897103548682545383815625407417160481458414343168105882097998406070464480587770099225293559750922555978510816926321451762146577535101254008888965909964962799696508468294307819498789929536992943277526481486784556106108085389388822468043828590564139994317696745171234045792321862630734300177950661338157379473734427164557875433078107642844094743533968103942565495177132544848760239666185856852668994392616842702790615616185439739606997380970182668515947035893644070722436502481005893841005807602525050942987114091090845683509283016604078471350561997130977165140408160837303848638283258932479475289646958824360195308813862511825607421257066284333027773583155618798686785198240152058606684614245158564826986126198292438372122927398473022819518788991610600669469046956575515916729565505608880438562900160305581847101258050151239306958626825330928684317332762923698686421130245208984355279358044803329500580563436593046679446615320722670760728352758089764628545348166109229919113658416757384390655766100141710826150482537695525978592070221791766632443965825524204944432809782002221296670734102754229894091894301579891017059678577413159452057469038297288461244174756489601334356961683146825967568734164133289430962993880828240566596415305287613170527703570828520097541644707026521830162304631776854685966989416043130783554353912480308975168177040074618960081832602597561252020598023694482044875057144006125396616203313482873773051229 35372132371089472737515156261245870051312000390009596798040730061109772791271929007822478429009515201710640286738970095645242568302316684236076746438229854437170686699870098598627581773675991095654520371626980627284398620259740482164797558569086461725804825483178353050062980127495463959208800467999901537430476415749780237919445200863715898831575198746741601374687269782764211142301082496312956867064494768424663319027618938779192080445083326594397613012935211020617051901127810817607809695715036950961656320147250053957235797932197176611017714906933408788133457900645539095780212244694046029177839267225012863249117040732136355966394337350479876197661916357678117209908117410390060201626856562462182457942096963919942657553457958179928322195503895477504796340856783214680310120126309710120906451819035054496771696312064887313088625649278727243583048417303459450099068562933611295537874416113855546858054493910833663019521014295854941774156360761544918711484545033671797658426307497154081188446147403591872335334297806652589908447159336936919823871040537012501616451511855278364036768805474798012555855413501633930534911174261047242302876075087222688943172781528661047823962736050575746417903423931049631467972118236891703440745708506697661047487267637964196344780918876887560733317689767784548446258691994136849084027558550327640758000487699420624887631583302716950935694170377476201186562909981039486370236674069174237015694280251937684136023030654417034569858027730390612442325426437145740667163101698246343611104310010285517153949585565532967635926673599205736442407028275310498813600008148638515281175696089905813317943005097015035828871803170108608110431426964881281095938229569781163634257935790313119072884609188749196825383849185669686110667257969109527940052206262027172052535303693132355482030408348790947811314231519648112104444320112593518620936591939538603895262869917046529013844244472462411290140562790866583161930938091803146609471493112118107304951354934127617358087927477383980600965043141909096073738432201710760953119113403644275744815297648559111396481191336102097835988136849158334663081089305158709498949435953108126647486174708801035408215249064431192311616643004249252144275741555416769053410247570750339304121666264538468040369180351341033864741962163156978807541122415447425691221326450863468292420434086114112379983473634998251315165337717907301173114952809616678177540029272137842457148439474654555572131480852613024573784421388763797211452365248233952861822779511683330529826586159940990448435917572219137108825450046964925991231950292068590080830161830139069083428561631802560147844130265163555913423268191200159885816323674538489613362825581127415019504671541631996969582994967985067733754459732985906141015307941146943727681862139127232540577231312045217790057454631080984567387353977873164609587293607430058490454047829729201106859659044255284808793224939007420260044389934811196695077162464691188866911748081757355185201607904976309580187797119864133452463490695782368516653100953283392796020299281048266538040416557720043507079285843560821192753711237736611312873316398614559140999557685251804088844275769604689282687447240629003764151778993947364699087676702142768958255433301274452116903406031588401170490752651627984473885169278659033039433896739155053479649122017274488774550013641229647066121305375108151399453516291362658470051393347389909354465710509972886801306599369619047137739371012947408685699150018097854821860036518164422660664738132906866583719474675160865308820812979547652937815674702101927620705718216798915117513540155584647936817107597581870353412721844253569154973908809600338857425675642245834734016352814920737436999052047070858816238982929252775509679081732338212093952674423928095694951433585959836627755198019516799983751756857544618104752050646212827042057535163248041232977902401610259398814324955471998482448727278262726895822487620924813529817645125213001801178795239456622544284765474755957814024990526153202113353232835656826209275792877461087184382994517203779977557365731962932580427699803883257917570101389676112049243987088875201451239534447 57233312430983175313389617835289405227893651189032926504409530991662348602023584882971482231809079312468160924779679703862304990317195308559470649130411028182934418761328768774909800258034619914663837052543341790326429449091208360759447729786975639662942236238900007625416205437237982351317929548658671281720762497311172558228893356978188739718698358933306892893721377112322237830199918980856739485770602659723053778077084006924482283697170695268403440033037393993942891172516975771367490409619221331966532411480363786213619236242620902068105485955806846049327284521604541234347800914667630417226137109573785695596152233417828482171135018912050711092141318568711439900444962945846519387864891865676038386714438638808594129631682148685636523078086612881602535618116350698788746972904650996133800609844101184267479924561270759651548392517006759588781087682064249555231339911837794098943295637958800256361152915978159216403448674475380468579459673429024857140499338484697901421341163787141954103896198755073401154699220070805414908144427616701100396209016958947864586101342620302938381354429284533633304584751727539080232352521776786376355571398498974378516244078812668374032133711732917067806623241055115879425064199713432588784728492274519811544601466780847142049924434035815109849281238978810545385363645909337174300163440092317324028974382822428963655409978535420218398243846993066423140685847657628061751809619191050214373289487536591538339961981592463121303470768406423494711983615442087818263544394146051592715283639817474996628554434238598471651032229017582061815518554373963266887807495883976580287848118053323062799857963190833725410009294667456652962540608255582174742399936681287541130835295883170531877446625668046600480405037567834930461413925888286690174932079335997962970880661236660830290532776821144618948020302068732650054568638254187011203195589761967264655721680968613438342236207386815010030233134003294384719719697540030665605132165672943307037446507341735591903998506222927453706583134796438027427930705216680847078240572438170107075672756903256881351349617505478473233646148083895331350569436012945453941393179210548850113835001757658994612404174574993579087976061278068252224247248440294548460106663078391461128107988522574666582598929537665311539959982894064339868577091380766897438561006954254877913665361296979185609973710773349803344401741750173345139266833005165190670882150777197238400874487235590764048264363333921284736499337817042740791544414222975777057666782479737013395074759066128425441395679296093246049722753160118928747478357012757402250048896014593807617349076426813566594914375473547763823916537131000912230307602961740960689736382581577024507360163438735545652128378783610475150914941191400249309121190039145349798146342726897331765870791062967773768568271557402436329533931512974418618476259517395021290150556298023508926358448973792277752070751420494204816150498020200585517545206293281753006906065778502526419247400226838940314487975070525471609842964430209533074528534031391035640115042815016370480605911734852588355839525509746678045422705630353454015663932014799998880606555066221986757360222805498333353409883743110009657992784801549889750030663816233859803938942584291056195374756593585532147655893059788821777733807561917965518909186386113877839844430831137000600157434898295931399149078958263770198140301489602810528658077961635067919292696636171179239678722297017520160558889801939019286368619065054430337776766083670031541103301033067172165566575933211016548127771606372983866499992034864851319392139347044124101868819513629451266317688161018463400092168459574291825734637162358428622054220990411943963935466473337494821389707813171000527065133411790471035657673802560003860585118389753619899895866395741838849051868753619554213645848751846197995769110324790240201509592632286338521439146576366749000148681917155145308416296012426860185253450614805641770384241540518289414349322943027451064382307119462984335855152830784978968039199825072869340059347231373567493358162694243854596517447564565530141679720401906952399614976446820118174640603292188684325012585676 92605444802072648050904774096535275279205651579042523302450261052772121393295513890793960660818594514178801211518649799507547558619511992795547395568640882620105105461198867373537382031710611010318357424170322417610828069350948842924245288356062101388747061722078360675479185564733446310526730016658572819151238913060952796148338557841904638550273557680048494268408646895086448972501001477169696352835097428147717097104702945703674364142254021862801053045972605014559943073644786588975300105334258282928188731627613840170855034174818078679123200862740254837460742422250080330128013159361676446403976376798798558845269274149964838137529356262530587289803234926389557110353080356236579589491748428138220844656535602728536787185140106865564845273590508359107331958973133913469057093030960706254707061663136238764251620873335646964637018166285486832364136099367709005330408474771405394481170054072655803219207409888992879422969688771235410353616034190569775851983883518369699079767471284296035292342346158665273490033517877458004816591586953638020220080057495960366202552854475581302418123234759331645860440165229173010767263696037833618658447473586197067459416860341329421856096447783492814224526664986165510893036317950324292225474200781217472592088734418811338394705352912702670582598928746595093831622337903474023384190998642644964786974870521849588543041561838137169333938017370542624327248757638667548122046293260224451388983767788529222475985012246880155873328796136814107154309041879233558930707495844297936326387949827760513782504019804131439286958902616787798257925582649273765701407504032615095569023814143228876117800968287848761238881097837565261072972035220463455838338166251068704765093231673483650950331234856795797305788886753504616572081183857396218114984285598025135023415964929793185772563185169935566759334533588380762159012958366780529824132181701505868550984550885659967356080451859277421320373696794160967881650635631833812214603658785061414342397862275863209262086433700311434307548177938347123501669137418391608031359685841814382820488054551815992747830808841580571069634284933053666013650525318104163440342615163656976761321176466460030020619423639424771399592704282317504368522989995711317513516910649141800432229654787113134622968109889006345404701945057221318676118213796214323129782333405118346206085795383093297989957184408348054659567079468080646312381785814781868848422180049335080858022926710245319620395844186534309310283759205806538002996779471209729919489561991420343924901345226069415889831596868312383158548203207083854738710307304825992330879057844732876700777638058616126742758505738711319737339805322201072116123926636279450303099208162704439526864834980367542621711373751595542884669400924386155450136497980292293525828204866024564306448022375012991558625726188483420896921285490847583228063553124825079780604604127752710033218108018047562560863976359501625076194887955011782212622368757972941873817813860259881604449008131815249894675772190389605062306455125991901591181634984674428436135342096064637018646328292572631862918811353307499238176416868090065328537248413414558021606112751473790846204498575103022636097330983739013422144563795497254449118340518376628762194375885565508312278162625173933318146645711416806251618976840576998558343083125268931319493552848411489374707448539525578465270384333371921597593817780965468998709471309024977273758407146144066040985321666636567298298260814886427972067769083152285159636802601834454201768039165974038749286050608371881856948584585920636804315666736966778940097857563843039219382359669214099203134795758600333753504890303827860980708545971958767479479896632657778697951819288258232258388759860241859343304116341043246545336755534898215954537792813681715594847299981701675476807066773136354197397605609390816100521160971003067243567127795534379754417048977977008398963006872627143790865023290689587081075938235730455300201886665731291215528118182484073608667072594218942149880143356938181081392432660729695549335140108834654677741157211447634574074813296528462722107420205790210317185077836496230223884590381063885776252120123 149838757233055823364294391931824680507099302768075449806859792044434469995319098773765442892627673826646962136298329503369852548936707301355018044699051910803039524222527636148447182289745230924982194476713664207937257518442157203683693018143037741051689297960978368300895391001971428661844659565317244100872001410372125354377231914820093378268971916613355387162130024007408686802700920458026435838605700087870770875181786952628156647839424717131204493079009999008502834246161762360342790514953479614894721143107977626384474270417438980747228686818547100886788026943854621564475814074029306863630113486372584254441421507567793320308664375174581298381944553495100997010798043302083098977356640293814259231370974241537130916816822255551201368351677121240709867577089484612257804065935611702388507671507237423031731545434606406616185410683292246421145223781431958560561748386609199493424465692031456059580360325867152095826418363246615878933075707619594632992483222003067600501108635071437989396238544913738674644732737948263419724736014570339120616289074454908230788654197095884240799477664043865279165024916956712090999616217814619995014018872085171445975660939153997795888230159516409882031149906041281390318100517663756881010202693055737284136690201199658480444629786948517780431880167725405639216985983812811197684354438734962288815949253344278552198451540373557387732181864363609047467934605296295609873855912451274665762273255325120760815946993839343277176799564543237601866292657321321377194251889990349529041671589645235510411058454042729910937991131634369860073444137023237032589214999916591675856871932196551938917658931478682486648890392505021914035512643476045630580738102932356245895928527556654182827777860524842397786193924321339547033495109745682908289916364934023097994296626166454016063095961991080185707354835657113412213581596620967541027327771463473133206706231854273405698316659246092431350606830797455352601370333171864477819735824458004721379844369617598801166084939923238888014131312734785150929599842635072455109600258279984489896160811455072874099180426347059044303280433016948997364219961331049617381735794374205826875156178224119024633023598214418350487568765560385756592770238436005865973623573727533261560337643309687801205567039426671656944661927951285658544695305176981220568343340359373224119751156680072483599930895181697858003968821218253991451648618819947059519304330826532319258897413945836083668660207520455594046783097022849278794541193694185506977156344471157357319976104292197841331227276164405629208270956367202783486188664317583394580927953859326684318126714485429693337672881212259083561256342453201984346431529598020410992835590744281464034224998419103088273839752535206018035584342115786404759257688019437643323974547592921896072318813437980765327193997745885857226455217003822001846539812642220101070755160425776218959576556991839840312934727779995829892345385975212367730167575051254694880723879638762408023696408358654190209163747260915076672149419556201434665710169016065464076250384911081007499252240027425220218758336863054177283599122498443519344201180428214556902212667817695777603564721380601355989507214726849023080137348597047144199149004334610488566133318469856564507652919218759465465802538771205628029352784402494964077252269511382809159337983679548489974864883437821509864419463291635691795734119270568279527367549270660045193051103782315245280664043963654087458857150616825447258436388148206715497413568685504485742871340199041210914852626541582898405076356192293620670815658771831630259489996910887163321251179182843550469452483919618797153597058763402152806443183134317196101534117623069722661887285761595727079778467673412859870369249752833717580994429337458219815122911203435335494743166377443514325858935526755908411043454361237014096290271295793307445076720427820718275856195554343757399111688789782289099281319303116447266329388850536097070586128206249580629877441125511524673049379713681926485735296187723160049431632485802564889394487340208222171099319905691489170592260861093992863787140607697162716800054283316348398525193673252570101264705799 242444202035128471415199166028359955786304954347117973109310053097206591388614612664559403553446268340825763347816979302877400107556219294150565440267692793423144629683726503521984564321455841935300551900883986625548085587793106046607938306499099842440436359683056728976374576566704874972371389581975816920023240323433078150525570472661998016819245474293403881430538670902495135775201921935196132191440797516018487972286489898331831011981678738994005546124982604023062777319806548949318090620287737897822909874735591466555329304592257059426351887681287355724248769366104701894603827233390983310034089863171382813286690781717758158446193731437111885671747788421490554121151123658319678566848388721952480076027509844265667704001962362416766213625267629599817199536062618525726861158966572408643214733170373661795983166307942053580822428849577733253509359880799667565892156861380604887905635746104111862799567735756144975249388052017851289286691741810164408844467105521437299580876106355734024688580891072403948134766255825721424541327601523977140836369131950868596991207051571465543217600898803196925025465082185885101766879913852453613672466345671368513435077799495327217744326607299902696255676571027446901211136835614081173235676893836954756728778935618469818839335139861220451014479096472000733048608321716285221068545437377607253602924123866128140741493102211694557066119881734151671795183362934963157995902205711499117151257023113649983291932006086223433050128360680051709020601699200554936124959385834647465368059539472996024193562473846861350224950034251157658331369719672510798290622503949206771425895746339780815035459899766531247887771490342587175108484678696509086419076269183424950661021759230137833778109095381638195091982811074844163605576293603079126404900650532048233017712591096247201835659147161015752466689369245494174372594554987748070851459953164979001757690782739933373054397111105369852670980527591616320483020968803698290034339483243066135722242231893462010428171373623550322321679490673132274431268980053464063140959944121798872716648866006888866847011235188639615372914717950002663377870486649153780822078409537862803636477354690579054653643021853843121887161469842703260961293228431717183487140484376675061992567298096800935828535149315678002349363873008506977220813518973195543698125673764491570325836952063165781589888079590045912663535900686334637764030404634728928367726510875867400116920340656081403289056051706989903357066856228655816797537973165395236896645906462577701244877449518267257221058873032718012366819159574286638224898971622409386911807011704059561018904352544045820080431386950970403298596147775403056462555456234299861295934798906985903561089833399470630895551126286801560920253743040172560209394185999729936849802752458946460378766835812993756885819723934369278123376502494669585074603365767045180851359764553528928992794665009887402873798704139497454968540273930224149942789943809227636754541693499022289628145416490469440103839519451304681734455874682193336256891804000739892512385727007145644517898568319997852081677148216361676521775539366533584672738428841629114923818780569169568449769219955704378625604545710588036502281912392544398648267344852987117328327694355422072819931081843933398783949184482622434280971761243071962635595352636651740478831536527959979349572331977347088329689847625007613393327937051533748526077020579685022466809510928459311321649365630290654757155411431711875230504157231359000657050371287338939944639379365015249664138677149954780262024940778214257475131325508798409199587854474730202540633538852057649672587279678219130907101949067230013787151729106275963581014014255727501359839105049853959338167227533654719213673366093876964126331184872356435769660704017117051089590466359145189802666002299892262608441059970627830196811432266796374688643848223355098030273244532320765798074695662409432890146342593806034347405327086266552370788014871980871845405559307995598281716452307900868635615439544661341130824065146532260438729627449042876848840477117139123744667074157622455585894560813487373033985132119812578622409784054316455877516825922 392282959268184294779493557960184636293404257115193422916169845141641061383933711438324846446073942167472725484115308806247252656492926595505583484966744704226184153906254139670431746611201072860282746377597650833485343106235263250291631324642137583492125657644035097277269967568676303634216049147293061020895241733805203504902802387482091395088217390906759268592668694909903822577902842393222568030046497603889258847468276850959987659821103456125210039203992603031565611565968311309660881135241217512717631017843569092939803575009696040173580574499834456611036796309959323459079641307420290173664203349543967067728112289285551478754858106611693184053692341916591551131949166960402777544205029015766739307398484085802798620818784617967967581976944750840527067113152103137984665224902184111031722404677611084827714711742548460197007839532869979674654583662231626126453905247989804381330101438135567922379928061623297071075806415264467168219767449429759041836950327524504900081984741427172014084819435986142622779498993773984844266063616094316261452658206405776827779861248667349784017078562847062204190489999142597192766496131667073608686485217756539959410738738649325013632556766816312578286826477068728291529237353277838054245879586892692040865469136818128299283964926809738231446359264197406372265594305529096418752899876112569542418873377210406692939944642585251944798301746097760719263117968231258767869758118162773782913530278438770744107878999925566710226927925223289310886894356521876313319211275824996994409731129118231534604620927889591261162941165885527518404813856695747830879837503865798447282767678536332753953118831245213734536661882847609089143997322172554716999814372115781196556950286786792016605886955906480592878176735396183710639071403348762034694817015466071331012009217262701217898755109152095938174044204902607586586176151608715611878787724628452134964397014594206778752713770351462284021587358389071673084391301975562767854075307701070857102086601511060811594256313546789210335810803407917425360868822688536518250560202401783362612809677461961740946191661535698659676195150966951660742090447980203398203814203912068630511633532914698079286666620068261472374730235403089017554063466867723049460764058104208323552904941406488737034102188742349659294025800959792635765508824150176764266469014123864794445588108743238265189818974771743770667504721904588629215679023454675987887030841702399719375817754601917486957716259227445497403849953251505095592079166859580743873802250933735058564853553810465098552286149197123641575090115941489421711087635939992781492734965563386245337031067029475513418104268163229486859852490228605040808986985832320272288770389651267367595314831818573719169390878822007578955838085155958964968651874019167580173777300051868356451085649250974522213013721680255135349831719498491586921143178409265281922114924979305147952371222001727243186733431919493284860885659905436517672957518860482331635265573137784697651841824849123630313003266712219758406605294238394770922601973016805356588636111918226652017150808347423072300435485079415853805374661864977104016939609269843671826031448386865346053333941336305734615111760437437059582419260989591542847416349187597605894461012825278637327584001062692864249751723253828062310324545645566926712847622148034549638169520207508469324437215415168598194109310916643305189062056322102028053444569850345067659860614710774556602313409593944742216012562048537322488940545379565716154463939972843425687510719564056460578991303691537678667101296970507878145946984280630039459077851385617365861884718034901200142039763597837928060699007830632166593594912240593159682548131878797224021726390811449686417945695207067579084042615846710681707325614209814655584783615220552386584333632736588704128524937826648171019484514331864844293101703562589682133720568651175816306129440086664523197186384452191721989427661896922481613734715936802649441374143078230452475283000433507122954765832021582795121350735732384501180255697632334825328124114789251099019939797022830612915259335018716448449681701421184535750785186403128927020934977727569025978781531721 634727161303312766194692723988544592079709211462311396025479898238847652772548324102884249999520210508298488831932288109124652764049145889656148925234437497649328783589980643192416310932656914795583298278481637459033428694028369296899569631141237425932562017327091826253644544135381178606587438729268877940918482057238281655428372860144089411907462865200163150023207365812398958353104764328418700221487295119907746819754766749291818671802782195119215585328975207054628388885774860258978971755528955410540540892579160559495132879601953099599932462181121812335285565676064025353683468540811273483698293212715349881014803071003309637201051838048805069725440130338082105253100290618722456111053417737719219383425993930068466324820746980384733795602212380440344266649214721663711526383868756519674937137847984746623697878050490513777830268382447712928163943543031293692346062109370409269235737184239679785179495797379442046325194467282318457506459191239923450681417433045942199662860847782906038773400327058546570914265249599706268807391217618293402289027338356645424771068300238815327234679461650259129215955081328482294533376045519527222358951563427908472845816538144652231376883374116215274542503048096175192740374188891919227481556480729646797594248072436598118123300066670958682460838360669407105314202627245381639821445313490176796021797501076534833681437744796946501864421627831912391058301331166221925865660323874272900064787301552420727399811006011790143277056285903341019907496055722431249444170661659644459777790668591227558798183401736452611387891200136685176736183576368258629170460007815005218708663424876113568988578731011744982424433373190196264252482000869063803418890641299206147217972046016929850383996051288118787970159546471027874244647696951841161099717665998119564029721808358948419734414256313111690640733574148101760958770706596463682730247677793431136722087797334140151807110881456832136692567885980687993567412270779261057888414790944136992824328833404522822022427687170339532657490294081049699792137802742000581391520146523582235329458543468850607793202896724338275049109868916954324119960934629357179025892613449931434148110887605277133940309641922104594261891705245792278515356695299440232947904542480883385545472239503289672862637338058027661643389673968299612986322343123372307964594687888356364771425060806404046779707054361789683331040622590923266979709428089404916254757352578267119492738095257998890246772310934435400760916809480160912389617140024975980770448157396312759809731003328732355773345022229841653941909275515776059935986607562402168404541977267445806355935419573521333498535655114199890158448638004008097271542442066620133584705188558253271156404665218044350064942005108809139876091828196131525178046060018897517023580052510814816829852485063968279098833445614624413473208221993161171995746544176310462773474689532834076945165887011614646060532136058990739829425933835660667615747462669709968389807266636806987279987241339593070416842786163524440141061168920588107179493777017545249101021838925372296535049376667420924382112633295777530327150201231510688689678038111472786749850228956034914503103161292010113240716306148025096084701173382135941495683694040584723222788707180700710147515082906626263033700907736450496591296306888638889348442974784686290117001056735468448674009547392515686523799158541650918582389993373635776579521590430030090126670125639233867923962775224235396973167973480249197719444702610924716811514311260182365632150098929071710243129980841492458929126237748722135621078309789428448658665705860347568402518256886958849814627043276057058967800956897862180380746641346869123263562146134524725381565495861303645756112922740722298297715981940587645833656799082171091354444319237669437673924099095733893931190940126540433627925574302492674489913135829386056822364416874530914336402684618985288995261080114601154879574004490728515961140043023069201812162157950211324320688559741502721236482284329483663756966175277045842311079762778867085766853742238293975868780274139969736659926409176338904035576262234671908784770318522941505643344761781885481856298357643 1027010120571497060974186281948729228373113468577504818941649743380488714156482035541209096445594152675771214316047596915371905420542072485161732410201182201875512937496234782862848057543857987655866044656079288292518771800263632547191200955783375009424687674971126923530914511704057482240803487876561938961813723791043485160331175247626180806995680256106922418615876060722302780931007606721641268251533792723797005667223043600251806331623885651244425624532967810086194000451743171568639852890770172923258171910422729652434936454611649139773513036680956268946322361986023348812763109848231563657362496562259316948742915360288861115955909944660498253779132472254673656385049457579125233655258446753485958690824478015871264945639531598352701377579157131280871333762366824801696191608770940630706659542525595831451412589793038973974838107915317692602818527205262919818799967357360213650565838622375247707559423859002739117401000882546785625726226640669682492518367760570447099744845589210078052858219763044689193693764243373691113073454833712609663741685544762422252550929548906165111251758024497321333406445080471079487299872177186600831045436781184448432256555276793977245009440140932527852829329525164903484269611542169757281727436067622338838459717209254726417407264993480696913907197624866813477579796932774478058574345189602746338440670878286941526621382387382198446662723373929673110321419299397480693735418442037046682978317579991191471507690005937356853503984211126630330794390412244307562763381937484641454187521797709459093402804329626043872550832366022212695140997433064006460050297511680803665991431103412446322941697562256958716961095256037805353396479323041618520418705013414987343774922332803721866989883007194599380848336281867211584883719100300603195794534681464190895041731025621649637633169365465207628814777779050709347544946858205179294609035402421883271686484811928346930559824651808294420714155244369759666651803572754823825742490098645207849926415434915583633616684000717128742993301097488967125153006625430537099642080348925365597942268220930812348739394558260036934725305019883905984862051382609560577229706817362000064659744420519975213226976261990366066636621940648881296069420162167163282408668600585091709098377180909778409896739526800377320937415474928092248751831167273549072231063702012221159217013169549642311969526029133533453998545344495511896195388451544080904141788194280666838868555849859916377204488570161880898164766762731666007981696306884556724644250408330047818374584557139197454325631171426965295516999391457265481647074243502394949897276942830832051692966486602996846916639923277429377018301128232613138080529427898940405873475578209520638751719497036618069234332883930816718831929913352090490146697934038065097197357352562683173280938134314942801311847167294879548823039941491652758916889722585575744695589614512139224897537109013341889247265567978484024690311593741097185288704981530192300025072839774591684931829066188716700729846052875744198547666463158982878102095750034350605689657950843598948552200185014843996682548118375193384132524863096487792706617647381316458575881677342900260556437102628315847855828066585462155667120434371727484343100043228182329117249720005979347475099083969319127283452630990278558901620852534205816061290596932720839755170576942976917998446762807684284717908469458294223771452049695737804632966160280375157786530740350008424526276184818180139189180535528786520208385247990490432965978251233025791319660818493128170822121284533030137596227534719230013767025294070058488117743557245964934264402974921860049956666806873894987028499964728494346974341553587462282946110278013321949403291886672753332174058617947789877381758597787298327540982413291985746939227934458221824258257731832322598059715877953188604647410088634357518783014839391975738956084985525706730642532124705649812192447464566792876869001666387650997574874758959871851253536301028441776795971560175009844191248116351066458878316911009430343491335460411201911094977857027545074888720071162800349575185744195055352485257963655856444535555504926070432664279739509454507835079889364 1661737281874809827168879005937273820452822680039816214967129641619336366929030359644093346445114363184069703147979885024496558184591218374817881335435619699524841721086215426055264368476514902451449342934560925751552200494292001844090770586924612435357249692298218749784559055839438660847390926605830816902732205848281766815759548107770270218903143121307085568639083426534701739284112371050059968473021087843704752486977810349543625003426667846363641209861943017140822389337518031827618824646299128333798712803001890211930069334213602239373445498862078081281607927662087374166446578389042837141060789774974666829757718431292170753156961782709303323504572602592755761638149748197847689766311864491205178074250471945939731270460278578737435173181369511721215600411581546465407717992639697150381596680373580578075110467843529487752668376297765405530982470748294213511146029466730622919801575806614927492738919656382181163726195349829104083232685831909605943199785193616389299407706436992984091631620090103235764608029492973397381880846051330903066030712883119067677321997849144980438486437486147580462622400161799561781833248222706128053404388344612356905102371814938629476386323515048743127371832573261078677009985731061676509208992548351985636053965281691324535530565060151655596368035985536220582893999560019859698395790503092923134462468379363476360302820132179144948527145001761585501379720630563702619601078765911319583043104881543612198907501011949146996781040497029971350701886467966738812207552599144285913965312466300686652200987731362496483938723566158897871877181009432265089220757519495808884700094528288559891930276293268703699385528629228001617648961323910682323837595654714193490992894378820651717373879058482718168818495828338239459128366797252444356894252347462310459071452833980598057367583621778319319455511353198811108503717564801642977339283080215314408408572609262487082366935533265126557406723130350447660219215843534084883630904889589344842750744268320106455639111687887468275650791391570016824945144428172537681033600495448947833271726764399662956532597454984375209774414888800860308982012317238917756255599430811931498807855308125252347167285903912470660898513645894673574584776857466603515356573143065975094643849420413068082759376864858404982580805148896391861738153510396921380195658389900577523988438230356046358749233083495323137329585967086435163175097879633485820396545546858933958361293945117915267451260881096316298925683572211826920371313446909532705414698565726360578184315560467929810098976193656806949458908666973041541583060851064797118301818920098277858048901906176518180415175578391629267176749766236621235352071869965560539458180766767773909908124162254662419299274889039625858708021741548222015324743994056962614220937405073497990110790619378911080410680612909503962296248163484813930912636266761886207469064304044973301842702996024956535307797704037474764519737527576757852904452444199902268414880106411398672211816307528309771146688839039268638688727632079570985281589527051895854790679789768971245087249561682264921064660751670970914459675064327998481396295685492789245325731906298935175059540263920325961096544372733487251751821607753863425838783737268767052340038427186680057622614166875945390317153538726729055492917159422844705409733571717407129872171633678445366672456310200199971241707627999945142353842043069373581212487750710405247913200865989242292450238960042415536162348509009035717927829950601415149777492562493208156951810917422199881065251265374522596525353772467952149388103603859486936776409263106312502666921231808818899771293850149952045996300921626356527355088194934331406209672424147846674784857382534056977930171540688512175679474579727885973374639212374156838293672253695891261932181830928056491990906818079729038275335662936850193272927975221361795778449402400237644978934809324635101187708544681394031748575670878379513536014801982941053065698458978653101116660119916512565427730400680550122635283086286476185802415223190068996861831599265839050757500345302770086235112153371394256520834225890528353320325823449011938307624501291339989691378247007 2688747402446306888143065287886003048825936148617321033908779384999825081085512395185302442890708515859840917464027481939868463605133290859979613745636801901400354658582450208918112426020372890107315387590640214044070972294555634391281971542707987444781937367269345673315473567543496143088194414482392755864545929639325251976090723355396451025898823377414007987254959487257004520215119977771701236724554880567501758154200853949795431335050553497608066834394910827227016389789261203396258677537069301257056884713424619864365005788825251379146958535543034350227930289648110722979209688237274400798423286337233983778500633791581031869112871727369801577283705074847429418023199205776972923421570311244691136765074949961810996216099810177090136550760526643002086934173948371267103909601410637781088256222899176409526523057636568461727506484213083098133800997953557133329945996824090836570367414428990175200298343515384920281127196232375889708958912472579288435718152954186836399152552026203062144489839853147924958301793736347088494954300885043512729772398427881489929872927398051145549738195510644901796028845242270641269133120399892728884449825125796805337358927091732606721395763655981270980201162098425982161279597273231433790936428615974324474513682490946050952937830053632352510275233610403034060473796492794337756970135692695669472903139257650417886924202519561343395189868375691258611701139929961183313336497207948366266021422461534803670415191017886503850285024708156601681496276880211046374970934536628927368152834264010145745603792060988540356489555932181110567018178442496271549271055031176612550691525631701006214871973855525662416346623885265806971045440646952300844256300668129180834767816711624373584363762065677317549666832110205451044012085897553047552688787028926501354113183859602247695000752987243526948270289132249520456048664423006822271948318482637197680095057421190834012926760185073420978120878374720207326871019416288908709373394988234552692677159703235690089255795688604597018644092489058983950098151053603074780675680844374313431213994985330475305271992013244412144499719908684766293844063699848478333485306248173931563467599728645227560394262165902836727535135586543554870654197019633766797765241743651066803742226601322846492656116391658782303518220623824484110489984677670470452426722091912798683205451399905688670718759112628856591328131311581947059370486331177566724538333741139600797229849794977831644655749451258197197090450334943492928353009753794089430058948974056408396558900117607127264424607365083772244975908058430307023230135094567192068199095862929109909741868392779515027331815501669058644195050894469234373432601297864500945331656344977294548659843659291280488533607772970442577539951654900312505471441928095027711418294757636181163391728753693853881722527780204383511119288104976466689829525989347461952164653918557112526740240105038298424555063272015958789210049121317855038193157425730094568439952946185990357143645373717026471876534891915012837236394095238553863383685277086246460480337740612570193639449746697108917747208870046164298592199927424486274102913332874105703901613583641835435615977366548641808952372439318949407418942042125590910181883780496949381457288147192659405097713250845264517600606169717007614394538011957050521471024168650127969627342210621422284670903073007884255959616097458239366125294092765111385845453910990780405699731606339250716976515144860595675351529044537822238136215198591905582743470813726233948271471735915328051887372549907552734121581307187182163155128897929545424894152820352277436931324206730678949727960657023847033024800886354850874329429748521793689155782702161168624188149269206810310104230158636302053061233177515184300915621625666142585232900188154113086190439562760379090050622696032917642922745751571207712055942814613337534734534387925944375621466934030284913380156009248186908617577337266030511110889560942812904319234760007094877912631680091522409618978517031616581513599997295906529293750683601270907956809456293384125646220416465570435810297897566449609006092189546384797855881328375082370971904240800794497526458136371 4350484684321116715311944293823276869278758828657137248875909026619161448014542754829395789335822879043910620612007366964365021789724509234797495081072421600925196379668665634973376794496887792558764730525201139795623172788847636235372742129632599880139187059567564423100032623382934803935585341088223572767278135487607018791850271463166721244801966498721093555894042913791706259499232348821761205197575968411206510641178664299339056338477221343971708044256853844367838779126779235223877502183368429590855597516426510076295075123038853618520404034405112431509538217310198097145656266626317237939484076112208650608258352222873202622269833510079104900788277677440185179661348953974820613187882175735896314839325421907750727486560088755827571723941896154723302534585529917732511627594050334931469852903272756987601633525480097949480174860510848503664783468701851346841092026290821459490168990235605102693037263171767101444853391582204993792191598304488894378917938147803225698560258463196046236121459943251160722909823229320485876835146936374415795803111311000557607194925247196125988224632996792482258651245404070203050966368622598856937854213470409162242461298906671236197782087171030014107572994671687060838289583004293110300145421164326310110567647772637375488468395113784008106643269595939254643367796052814197455365926195788592607365607637013894247227022651740488343717013377452844113080860560524885932937575973859685849064527343078415869322692029835650847066065205186573032198163348177785187178487135773213282118146730310832397804779792351036840428279498340008438895359451928536638491812550672421435391620159989566106802250148794366115732152514493808588694401970862983168093896322843374325760711090445025301737641124160035718485327938543690503140452694805491909583039376388811813184636693582845752368336609021846267725800485448331564552381987808465249287601562852512088503630030453321095293695718338547535527601505070654987090235259822993593004299877823897535427903971555796544894907376492065294294883880629000775043295481775612461709281339823261264485721749730138261804589468228787354274134797485626602826076017087396089740905678985863062275455036770479907561548069815307388433649232438228445238973877100370313121814886717041898386076021735914575415493256517187286099025772720875972228138188067391832622380481813376207193889630261735029467992196124179728657717278668382222545584210811052544934879287998534755591143740095746912107010332354513496016133907155319848724323200703622135473647539782768974743215678075057074523583558740579194434816725403348564813195945631989186500914783027387767790770298956033207746991080060687911371800660705855608784673167830061484789837111745068458567967821545942907832882662010068436247973396448534520796185922151990325639232162709679153502519373072764962133208393113887473415536268461280620742162256109348159633718222602085828582943101063254959862860976053433553729786648894612891097609869929996836854833052597389029355461681245336243023223730954281475925121727318124848665274804138142315271017530381541438726699308379373838811869621717135213051874991752484755499209018366894949227345489940770610675517630468967770048916812052436659170763649879454336020667517765716433797326574379339462720327417721209907917759708443736669887455171379895226880757740367535099499513844299867651343359383208084227201323725458184508479136135834484967057941661701185653612932472328493009426754104903011211513877553546857956064045149193320732520963376219442105223282653337527932952623815282075330646935079655134312543232501789032361670562083458589939598245438539497849499254507173799079021101807981207401684517943456125095365455126309015298973006651740867288034401699324814228740707757243070274290260838040299423526572441850004348122621393688435582041529514112646681198081414508057905328870789834699330512983790326182020600401743354920014567864553929580940366153008144410024646904362925753957384933218985747979029291800008034975046708917712166704148883083582382715096165906791339904818641055559223176403720761768340522045410050937843865526926415436913151176207151824094309279528742092134487217836383378 7039232086767423603455009581709279918104694977274458282784688411618986529100055150014698232226531394903751538076034848904233485394857800094777108826709223502325551038251115843891489220517260682666080118115841353839694145083403270626654713672340587324921124426836910096415506190926430947023779755570616328631824065126932270767940994818563172270700789876135101543149002401048710779714352326593462441922130848978708268795379518249134487673527774841579774878651764671594855168916040438620136179720437730847912482229851129940660080911864104997667362569948146781737468506958308820124865954863591638737907362449442634386758986014454234491382705237448906478071982752287614597684548159751793536609452486980587451604400371869561723702659898932917708274702422797725389468759478288999615537195460972712558109126171933397128156583116666411207681344723931601798584466655408480171038023114912296060536404664595277893335606687152021725980587814580883501150510777068182814636091101990062097712810489399108380611299796399085681211616965667574371789447821417928525575509738882047537067852645247271537962828507437384054680090646340844320099489022491585822304038596205967579820225998403842919177850827011285087774156770113042999569180277524544091081849780300634585081330263583426441406225167416360616918503206342288703841592545608535212336061888484262080268746894664312134151225171301831738906881753144102724782000490486069246274073181808052115085949804613219539737883047722154697351089913343174713694440228388831562149421672402140650270980994320978143408571853339577196917835430521119005913537894424808187762867581849033986083145791690572321674224004320028532078776399759615559739842617815284012350196990972555160528527802069398886101403189837353268152160048749141547152538592358539462271826405315313167297820553185093447369089596265373215996089617697852020601046410815287521235920045489709768598687451644155108220455903411968513648479879790862313961254676111902302377694866058450228105063674791486634150703065096662312938976369687984725141446535378687242384962184197574695699716735060613567076581481473199498773854706170392896670139716935874423226211927159794625743054765415707467955810235718144115968784818981783315893170896734137110887056630368108702128302623058761068071609648175969589617246396545360082718122865737862285049102573726174890399341030167423700186751308753036319985848590250329281916070541988619269473213029138135552820993535073578556762759783612710693106584242098812777077332954497711565532596513839177371302115795682184338948190923824351439410724783833655588043331040199181254700010645956497677532638691735548235078806581729746555566851555175089982217274465694562430121493456722363007227811480837223396366490434980511013787925051348847026267627850247018037057526920345860316894248126766618843855736173318270984534824373437747310571688245456810111798372141159198355323183206101553384417924248069392342939835770212467929290767295660091405294785998783379386499107054962362714899758622869294313161515822556678712048960081224388775751355270994111632366149055076482756559078491763299511644074919176971029602122351241000653128959073582606046291494997017609579001289251371386066589705692005045246202551298262665815254614721571998867818040668566474425518365878160744284281993183336945748351781909017663069126856054921289936014262456215968483160939822916423874604430228599596352903395572691966059312664078667743726403269249763606886865406598084680194200260347785226315264434189945676053494754389252855984839996365189628064768516386842316475698361399718577786564714903810867376529569645270176799227215164197646112045902694336058276013947691977918784521237828470183923161155920947677598138631857961116281801940934758254575205882463706442008759472630004117434313060956448814672092152210145564324120827166079265617384813604448036865247518178252126396221868677385204927948020563177767848983730345410440535757793923868566861704167978992842856941923480099557384665687434743783285662483080878289244389916590392610812775450511852607302049941178233910957855707948504293474533018604983297949032088480199176680251432982892928984744294519749 11389716771088540318766953875532556787383453805931595531660597438238147977114597904844094021562354273947662158688042215868598507184582309329574603907781645103250747417919781478864866015014148475224844848641042493635317317872250906862027455801973187205060311486404474519515538814309365750959365096658839901399102200614539289559791266281729893515502756374856195099043045314840417039213584675415223647119706817389914779436558182548473544012004996185551482922908618515962693948042819673844013681903806160438768079746277640016955156034902958616187766604353259213247006724268506917270522221489908876677391438561651284995017338237327437113652538747528011378860260429727799777345897113726614149797334662716483766443725793777312451189219987688745279998644318952448692003345008206732127164789511307644027962029444690384729790108596764360687856205234780105463367935357259827012130049405733755550705394900200380586372869858919123170833979396785877293342109081557077193554029249793287796273068952595154616732759739650246404121440194988060248624594757792344321378621049882605144262777892443397526187461504229866313331336050411047371065857645090442760158252066615129822281524905075079116959937998041299195347151441800103837858763281817654391227270944626944695648978036220801929874620281200368723561772802281543347209388598422732667701988084272854687634354531678206381378247823042320082623895130596946837862861051010955179211649155667737964150477147691635409060575077557805544417155118529747745892603576566616749327908808175353932389127724631810541213351645690614037346114928861127444808897346353344826254680132521455421474765951680138428476474153114394647810928914253424148434244588678267180444093313815929486289238892514424187839044313997388986637487987292832050292991287164031371854865781704124980482457246767939199737426205287219483721890103146183585153428398623752770523521608342221857102317482097476203514151621750516049176081384861517301051489935934895895381994743882347763532967646347283179045610441588727607233860250316985500184742017154299704094243524020835960185438484790751828881170949701986853047989503656019499496215734023270512967117606145657688018509802186187375517358305533451504402434051420011761132144773834507424008871517085150600514378644794675643487102904693156875716272169266236054946261053805254117671483055539551097593230660429158729654743504877216048643565868918711504461654752799671814408092317136670308412137275169325468869770115967224189122718149254132625801656155201333701006244053621946346045331473757241413471774482564930633845541509237004152856526985831170441200925428983885445323408990691581442825797661790434466938652215880945591001947633524623914911330568467431465795779302383166304199373096990579450035898447797381547063813772399008362696759083055539470396767499839383805988944566432158457950360641899027931313850501566158271432090363761284183906126307164808344280785224122825896669622419107080820388377165590088242149619051380768415854568736207698957922982353823575789086637549874803560714234885362531091022372801375653071092848363455856595370948113480434724695949910929455785101331369607895602356304563523376656967012627486577349050206063423822725760469341884499582223218816028382249051941295951338330538368086287684333436125586604480954169448354716840975232539649385198168626369899221157587357621839424052710362263548374608383083566364434081319961337234393151712925596550996236735830023354666618098379284151631538150264305496978547047785397566165118158718037042590383917792620180471703395415451466497450788241593901507610148235276987269457316127815083809674648726469671371445191067004502317265677698465635434043879886692954779199222134162572688544886173033557285930510542648692001324849496143301746741432286045071854121782435682350137250254133681724258211005318908580587323522713684394282736195760501968578308416822270420740124942515885117107348789349883353554850560404698286794320819089101197978590835971215280107592359712396352455949989811366164460671959486082497183950717594091567411830478453661940002251479901117999442137340059945020420211100208295632023270989530961724985063471962130903127 18428948857855963922221963457241836705488148783206053814445285849857134506214653054858792253788885668851413696764077064772831992579440109424351712734490868605576298456170897322756355235531409157890924966756883847475011462955654177488682169474313774529981435913241384615931045005235796697983144852229456230030926265741471560327732261100293065786203546250991296642192047715889127818927937002008686089041837666368623048231937700797608031685532771027131257801560383187557549116958860112464149861624243891286680561976128769957615236946767063613855129174301405994984475231226815737395388176353500515415298801011093919381776324251781671605035243984976917856932243182015414375030445273478407686406787149697071218048126165646874174891879886621662988273346741750174081472104486495731742701984972280356586071155616623781857946691713430771895537549958711707261952402012668307183168072520646051611241799564795658479708476546071144896814567211366760794492619858625260008190120351783349893985879441994262997344059536049332085333057160655634620414042579210272846954130788764652681330630537690669064150290011667250368011426696751891691165346667582028582462290662821097402101750903478922036137788825052584283121308211913146837427943559342198482309120724927579280730308299804228371280845448616729340480276008623832051050981144031267880038049972757116767903101426342518515529472994344151821530776883741049562644861541497024425485722337475790079236426952304854948798458125279960241768245031872922459587043804955448311477330480577494582660108718952788684621923499030191234263950359382246450722435240778153014017547714370489407557911743370710750150698157434423179889705314013039708174087206493551192794290304788484646817766694583823073940447503834742254789648036041973597445529879522570834126692187019438147780277799953032647106515801552592699717979720844035605754474809439040291759441653831931625701004933741631311734607525162484562824561264652379615012744612046798197759689609940797991638031321138769813196313506685389920172836620004970225326188552532986946479205708218410655885155219851365395957752431175186351821844209826412396166355450959144936193329533305452313761564567601894843473168541251595620371218870401795077025315670568644534895928147453259302642681267853436711558712552869126465333518565811596137664383919543116402720585629265725987992571690596582429841494813630252368629414459169040786377725294788291083881305346274805861233130810242904025632529899579934882229302391352945402878989109699045266538840567461123717347447269439425752419965406389282073256266293070659740899858026030351695900936074940383122856047682427129677904604243520181022505503771056035573219222099219186345032824025189794473023590783220389700565863531971090463823823499146228573331441622646026399754286003401399787291015626606002649844680739750429442485185015336775241885538747022968383230462504920482539229309513266361728698709472192218239609458189319548749679144461250179647444405050164147802353675791170061672822740976692870102248153372431482272763194966586919866773728072369764703458997418532339351930026605243734236340024830106426814703453720848896255485263637105982703258507624504186928051495314795208792350175033889544828425770114291048064306556017523337198356408754854158758954491464765225238451441538053786723584321558402861237753225954142447523371884295640021193523203371291032257687996593033677672864732807085117772238260629663980462233292604430224985244690749716218344464565844763773363049831756110794212212791431843239902632616545661331460183967853339767263939955301226187934799991891080324692657384729079851447953684835569091303112907196653323953712413327411962664407930783249383145295318493636222484311665415247046792344589626759579424702025765453183441045517701858239216748743306586064926225833934403775329439735746666589140098497998730773061008020146830434813044139098125329870463905680285116638333613698965291096162492210662887680793269176971433692913138760207149744378083787199733275473849245338961203875999087576561530369542079264437780503603118236162437756825947946430814592963625403509049240384112222447669782394707877992456706425422876 29818665628944504240988917332774393492871602589137649346105883288095282483329250959702886275351239942799075855452119280641430499764022418753926316642272513708827045874090678801621221250545557633115769815397926341110328780827905084350709625276286961735041747399645859135446583819545162448942509948888296131430028466356010849887523527382022959301706302625847491741235093030729544858141521677423909736161544483758537827668495883346081575697537767212682740724469001703520243065001679786308163543528050051725448641722406409974570392981670022230042895778654665208231481955495322654665910397843409392092690239572745204376793662489109108718687782732504929235792503611743214152376342387205021836204121812413554984491851959424186626081099874310408268271991060702622773475449494702463869866774483588000614033185061314166587736800310195132583393755193491812725320337369928134195298121926379807161947194464996039066081346404990268067648546608152638087834728940182337201744149601576637690258948394589417614076819275699578489454497355643694869038637337002617168332751838647257825593408430134066590337751515897116681342762747162939062231204312672471342620542729436227224383275808554001153097726823093883478468459653713250675286706841159852873536391669554523976379286336025030301155465729817098064042048810905375398260369742454000547740038057029971455537455958020724896907720817386471904154672014337996400507722592507979604697371493143528043386904099996490357859033202837765786185400150402670205479647381522065060805239288752848515049236443584599225835275144720805271610065288243373895531332587131497840272227846891944829032677695050849178627172310548817827700634228266463856608331795171818373238383618604414133107005587098247261779491817832131241427136023334805647738521166686602205981557968723563128262735046720971846843942006839812183439869823990219190907903208062793062282963262174153482803322415839107515248759146913000612000642649513896916064234547981694093141684353823145755170998967486052992241923948274117527406696870321955725510930569687286650573449232239246616070593704642117224838923380877173204869833713482431895662571184982415449160447139451110001780074369788082218990526846785047124773652921821806838157460444403151958904799664538409903157059912648112355045815457562283341049790735077832192610644973348370520392068684805277085585802351025741159496238318507468417272980328087752290839380047587962898289397663411476169645268085412229494502300015547159071352020540607078028680645264900378967545084621083070063392778743196667165891739888954212707101807802307663893756385011861522137101861503924268568179456673118711120730401905310615489444155986936981164221169732743810259944154593657225938819370085603556004765236628961669913859721946943610120395255395045034762451045086456939257687783126445386455833625306182587900435545657235803173199389248589126654662552868681766723135435820431170072979494696315044136279080608426629570067521626840267889594024101544916218208244527377760630745723330516445891334790922306285833477429851949450957796100873745417774551845781988195947300974718724168961035974741035882599804785090456791857841568200629359360225520251990764277101701378219031518110644375774044410648988930319430313358497313474675528894776841141843092390617051369706192620889892770627698816861207788059406379595853363605110729506135064073903885466919665640640771562957467758992826070041478269485163857180660217198063315959096843083623974901347756494728871341742320410835229322275912370930828474433623820425236726133034855599419319837218052181549202733798083035268878349782008785199812889526096680154506940536494179911698970589631410878962846006544294623738028582367429481066324767370484698972532977302887238318760904274198169067199924873331562773712360999184425656723315180359515658661986334758644327253912662812182393013509256768522115408743229866409518865454812979790797392465427683497052520141656567190497457208499882370374950024528884354040314742104090480139655683265285215409799633163362081584760512247963633646676268258957265058238413917657943947388568154652908645823720149448679744245718659313356432863055928668556326003 48247614486800468163210880790016230198359751372343703160551169137952416989543904014561678529140125611650489552216196345414262492343462528178278029376763382314403344330261576124377576486076966791006694782154810188585340243783559261839391794750600736265023183312887243751377628824780959146925654801117752361460954732097482410215255788482316025087909848876838788383427140746618672677069458679432595825203382150127160875900433584143689607383070538239813998526029384891077792181960539898772313405152293943012129203698535179932185629928437085843898024952956071203215957186722138392061298574196909907507989040583839123758569986740890780323723026717481847092724746793758628527406787660683429522610908962110626202539978125071060800972979760932071256545337802452796854947553981198195612568759455868357200104340677937948445683492023625904478931305152203519987272739382596441378466194447025858773188994029791697545789822951061412964463113819519398882327348798807597209934269953359987584244827836583680611420878811748910574787554516299329489452679916212890015286882627411910506924038967824735654488041527564367049354189443914830753396550980254499925082833392257324626485026712032923189235515648146467761589767865626397512714650400502051355845512394482103257109594635829258672436311178433827404522324819529207449311350886485268427778088029787088223440557384363243412437193811730623725685448898079045963152584134005004030183093830619318122623331052301345306657491328117726027953645182275592665066691186477513372282569769330343097709345162537387910457198643750996505874015647625620346253767827909650854289775561262434236590589438421559928777870467983241007590339542279503564782419001665369566032673923392898779924772281682070335719939321666873496216784059376779245184051046209173040108250155743001276043012846674004493950457808392404883157849544834254796662378017501833354042404916006085108504327349580738826983366672075485174825203914166276531076979160028492290901373963763943746809030288624822805438237454959507447579533490326925950837119122220273597052654940457657271955748924493482620796675812052359556691677923308844291828926635941560385353776672756562315541638937389977062463695388036642745144871792223601915182776114971796493800727811991669205799741180501549066604528010431409806383309300889428330275028892891486923112654314071003073578374041622323589337733132137720785902394787256793077217105342376253982170703009686282030878398895655133520134829915127093953581322931960023431559634374599424234083925188544193780740226012636092918311705295343494780358074095378323634656243037891873833002797578864651691035504355545840798635006148830796511949659757993016737440391831962996604976978618847020411842960868823945705331100160932760377683545446089838693726697017691061162205331089858339044978798753051389105678306045933017342920730672572578415084927995612095037893015373602249262364745333697531801678204168507262375888538797746178319746666088090447537038429151709064020561920318547822303568464307209315993582944294737768106240624818536370824569828946115182478010843200520535299231001323967903197375999571142309414508238811305688113326831837735342063484027876494951205153196693014240310460819409663589239074759044610478377665053330998012727251185595996001851345108516134931431072331430824414422401182766190920644132821807506052634101390430704095097408670290956672898459559550501436665690802848563387257402117810324197660296608563527068068868665651063974839193437186506093773885061078386706583143619906276863723057853271794366315783387173176985316121504503959986017835260769430106701442584541969377544633839342509627797292818895623913585123292290257969208702554521277965512724799559960989854796364387780024095231827945520483698900194832653108314377080475570600215933168963309380106585349593065761664198380073920501802910680391744282317776542262239178042910548616990784683443696477677582066017110751485432752729682708120096180675639551921458221797492800521891848468563926855416540759064655138594367238080672337073778333175725940706039460868176474576355414769895334998969245872271227229198689063856468166329095751140741048385374981748879 78066280115744972404199798122790623691231353961481352506657052426047699472873154974264564804491365554449565407668315626055692992107484946932204346019035896023230390204352254925998797736622524424122464597552736529695669024611464346190101420026887698000064930712533102886824212644326121595868164750006048492890983198453493260102779315864338984389616151502686280124662233777348217535210980356856505561364926633885698703568929467489771183080608305452496739250498386594598035246962219685080476948680343994737577845420941589906756022910107108073940920731610736411447439142217461046727208972040319299600679280156584328135363649229999889042410809449986776328517250405501842679783130047888451358815030774524181187031830084495247427054079635242479524817328863155419628423003475900659482435533939456357814137525739252115033420292333821037062325060345695332712593076752524575573764316373405665935136188494787736611871169356051681032111660427672036970162077738989934411678419554936625274503776231173098225497698087448489064242051871943024358491317253215507183619634466059168332517447397958802244825793043461483730696952191077769815627755292926971267703376121693551850868302520586924342333242471240351240058227519339648188001357241661904229381904064036627233488880971854288973591776908250925468564373630434582847571720628939268975518126086817059678978013342383968309344914629117095629840120912417042363660306726512983634880465323762846166010235152297835664516524530955491814139045332678262870546338567999578433087809058083191612758581606121987136292473788471801777484080935868994241785100415041148694562003408154379065623267133472409107405042778532058835290973770545967421390750796837187939271057541997312913031777868780317597499431139499004737643920082711584892922572212895775246089808124466564404305747893394976340794399815232217066597719368824473987570281225564626416325368178180238591307649765419846342232125818988485786825846563680173447141213708010186384043058317587089501980029256110875797680161403233624974986230360648881676348049691907560247626104172696903888026342629135599845635599192929532761561511636791276187491497820923975834514223812207672317321713307178059281454222234821689869918524714045408753340236559374948452705527476530079108956801093149661421650343467993693147433100035967260522885673866239857443504722998876280159164176392648064748833971450645189203175375115344545368056485389964216880460100673097758200523666981067363014637129930674253024933343472567101460240279639499803201629009809627263844133004755832760084203445184297707487459881897685987528412628049753395970104659082788920259214961028664551919365408054141412001393815744929997901661561564706806864921133212504246350662330954427501710096336789894430291543267393033448814121952412736095924656376176315278302666581879496775561511931352115605243356276329808381588284317244201221692555568242284015985500181154128701874657698864822306512167619406172807889814187714930715426632453253253980238770164845925582934314187637725761884917735217044053939718054670485821782365929819860600252562688982508731246531976042692072158411974312178192014313023901762479971168400038364701423709548128485715482254898071233271828571463785437633649723747974929908691023550644472688256145962437137844943735725567504637623693221323595042121218043973978980050512417660869657744830896565768169001294137210622313539231122507969195658516872890041656742565974990984414858359924522623911152492640552411731333922308528248414184720290400662618954074448380710487543483089997927401171382806493014203368303053706693784100870529647779888710227784354858903641313993849450164291472730594594503216534171253103975752997178259306547880154280626285757225281063360313001398119066264281387973098363899853033187708643249282961215117594620032695286944865251727747998957024401174414465722862784757791574545064377647921272776958135856239496423487275070047493700607804005574409296873205577304680558009926871482750681846840836633952559044066511099806044280064938227530600162257097586026296809372616974298418133234712990273072713842723567123898780917050949348137743600713884988409107573604104314043538074882 126313894602545440567410678912806853889591105333825055667208221564000116462417058988826243333631491166100054959884511971469955484450947475110482375395799278337633734534613831050376374222699491215129159379707546718281009268395023608029493214777488434265088114025420346638201841469107080742793819551123800854351937930550975670318035104346655009477526000379525068508089374523966890212280439036289101386568308784012859579469363051633460790463678843692310737776527771485675827428922759583852790353832637937749707049119476769838941652838544193917838945684566807614663396328939599438788507546237229207108668320740423451893933635970890669366133836167468623421241997199260471207189917708571880881425939736634807389571808209566308228027059396174550781362666665608216483370557457098855095004293395324715014241866417190063479103784357446941541256365497898852699865816135121016952230510820431524708325182524579434157660992307113093996574774247191435852489426537797531621612689508296612858748604067756778836918576899197399639029606388242353847943997169428397198906517093471078839441486365783537899313834571025850780051141634992600569024306273181471192786209513950876477353329232619847531568758119386819001647995384966045700716007642163955585227416458518730490598475607683547646028088086684752873086698449963790296883071515424537403296214116604147902418570726747211721782108440847719355525569810496088326812890860517987665063559154382164288633566204599180971174015859073217842092690514953855535613029754477091805370378827413534710467926768659375046749672432222798283358096583494614588038868242950799548851778969416813302213856571893969036182913246515299842881313312825470986173169798502557505303731465390211692956550150462387933219370461165878233860704142088364138106623259104948286198058280209565680348760740068980834744857623624621949755568913658728784232659243066459770367773094186323699811977115000585169215492491063970961651050477846449978218192868038678674944432281351033248789059544735698603118398858193132422565763850975807627185168814127833844678759113154561159982091553629082466432275004981892318253189560100120479320424456865536219868000484964234632863352244568036343917917622858332615063396506269010668523012674346744946506255288521748314756542273651210488254871478425102953816409336856688853160702759131344366617377312947283232742550434270388338171704582782909989077769902601338445273590732340470862630803682784040231402065876722496534771959845801346978514666404527124891799914014099227435712934998171457624873230768468853002515150479641202267817955993064311163068871087645269803107456661653571950250465384210392718000414202972208513343475502923014639101953396669803469898111831351266762505291823251447415427436950827190669226812839123287507848649430427157086861707266173617347645380632548164667190237398048622586277007002380960003369245239813316730448583615886265247864926487826233676335903033329568888056158203918986209560853803021162963670882404963044259332085164473405237882651944935077878500679511781822045958679489022192606935758765975782730573532183029266545762977366659975355787973883320501428821262713068168084495231876100043487193576004980666687408094764247512139032283195101222888798507019540387068688603975470700983397148033133846795080834083639569054765552754419456543619226740169900694645239468375710378932286996472264098702807501578986437690682058470632324207675738605043999968092801308612518656533086150979221361306203475706173115745714754507958605351479049325537218068286987351266540943269721767487166193666191188684424558210653770118705790417209995411670368896828281185947833191959792088765549490218416801657463543361944961699732780584513392879080186246747080077427748093025493350894209801871671998558732506141502085723724853561431050763583342075393530214844793509663155404475094916268633543176502073892321606639887099315687506752847024179867183752747629559717718555491007162026555913697400861233649478792940972479339641358525801027607993366516346803344720076821897838242929434659804629985098557680337879001411187566628487483738058566093144653188278178546826807457182051317504858714345152699418519823761 204380174718290412971610477035597477580822459295306408173865273990047815935290213963090808138122856720549620367552827597525648476558432422042686721414835174360864124738966085976375171959322015639251623977260283247976678293006487954219594634804376132265153044737953449525026054113433202338661984301129849347242921129004468930420814420210993993867142151882211348632751608301315107747491419393145606947933235417898558283038292519123231973544287149144807477027026158080273862675884979268933267302512981932487284894540418359745697675748651301991779866416177544026110835471157060485515716518277548506709347600897007780029297285200890558408544645617455399749759247604762313886973047756460332240240970511158988576603638294061555655081139031417030306179995528763636111793560932999514577439827334781072828379392156442178512524076691267978603581425843594185412458892887645592525994827193837190643461371019367170769532161663164775028686434674863472822651504276787466033291109063233238133252380298929877062416274986645888703271658260185378206435314422643904382526151559530247171958933763742340144139627614487334510748093826070370384652061566108442460489585635644428328221631753206771873902000590627170241706222904305693888717364883825859814609320522555357724087356579537836619619864994935678341651072080398373144454792144363806378814340203421207581396584069131180031127023069964814985365690722913130690473197587030971299944024478145010454643801356897016635690540390028709656231735847632118406159368322476670238458187885496726323226508374781362183042146220694600060842177519363608829823968657991948243413782377571192367837123705366378143587956025047358678172287083371438407563920595339745444574789007387524605988328019242705530718801600664882971504624224799949031029195472000723532287866404676130084654508633463957175539257438856839016353288282483202771802940468631086186693141272366562291119626880420431511447618310052456748476897041526623425359406576048865058987490598938122750769088800846574400798560261426757397551994211624689303533218506035394092304863285851465048008434182764682312067874197911425079814701196891396666811922277789512054382224297171906950185065551746095625372139857680022484981921220314419421863249233721693399211782765051827423713343366800871909905214946418796101249509372823949376046376625371201810122100311823563391906726826918453087005676033428099192253145017945883813330076122304687743090904355881798431925732857789859549409089776475600003448009877094226352040193653599030637341944807798721469006235524301613086718595663938909755277837890750298691481499137398665773212115744442492209465426412874944637365822257113620514737291247853012540763514961376610334819245043855513113167622777678949125523773740721620960770080232156736321970601843163253011518083442488895650311962512044940228702168750164227829633283332189341591653562484014538423004151858170281233365107641954935550993601898151875400223777610091794099375041517951878390303335658217024498102250010398988172196839582660839763418414728825875985676734159508014389301688585836382983136221165537997792294953409352047514199948195498693443134286614830648055663631914464744910903124133466382169662992835480783967603746980538856538522254994470295759712154619943389239543110470271691738816559651144206678458774078014498664837270714148880745157657129245368123763183562240433099996944712201299976921804566439827982724548628646700742534067792293027377016457608774890373853946755887437507038054243002922143325641879711944491292516667697838810024033267649168658549000159205392052727611917347554219576320064989884121898153251687184827261827041409956380238280084812920018191634796465920714696911039891061273033360812532504305358491108406026891469960474083259645096922632359174689794366974136522646168358203374770680475080096521257662112428876269330734356405961259865466866671017535020588464464888703263676290671027817677053418326359496581571323429119274705541791659405664423723161186482195159753586652059877616152847624785015049428438405186532245830926794471174654636297134645900556901560197580782133217043434105329127894964551057895936305913966287949257013462057898643 330694069320835853539021155948404331470413564629131463841073495554047932397707272951917051471754347886649675327437339568995603961009379897153169096810634452698497859273579917026751546182021506854380783356967829966257687561401511562249087849581864566530241158763373796163227895582540283081455803852253650201594859059555444600738849524557649003344668152261736417140840982825281997959771858429434708334501544201911417862507655570756692764007965992837118214803553929565949690104807738852786057656345619870236991943659895129584639328587195495909618812100744351640774231800096659924304224064514777713818015921637431231923230921171781227774678481784924023171001244804022785094162965465032213121666910247793795966175446503627863883108198427591581087542662194371852595164118390098369672444120730105787842621258573632241991627861048714920144837791341493038112324709022766609478225338014268715351786553543946604927193153970277869025261208922054908675140930814584997654903798571529850992000984366686655899334851885843288342301264648427732054379311592072301581432668653001326011400420129525878043453462185513185290799235461062970953676367839289913653275795149595304805574960985826619405470758710013989243354218289271739589433372525989815399836736981074088214685832187221384265647953081620431214737770530362163441337863659788343782110554320025355483815154795878391752909131510812534340891260533409219017286088447548958965007583632527174743277367561496197606864556249101927498324426362585973941772398076953762043828566712910261033694435143440737229791818652917398344200274102858223417862836900942747792265561346988005670050980277260347179770869271562658521053600396196909393737090393842302949878520472777736298944878169705093463938172061830761205365328366888313169135818731105671818485924684885695765003269373532938010284115062481460966108857196141931556035599711697545957060914366552885990931603995421016680663110801116427710127947519373073403577599444087543733931922880289155999558148345582273003916959119619889820117758062600496930718387320163227936983622399006026207990525736393764778500149202893317398067890756991517146132346734655048274250224782136141583048417796314131969290057480538355100045317726583430090386261908068438345718038053573575738469885640452082398160086424843899055065918709680638229207079384502546176739477624770846624649277261188841425177380616211009181330914920547222258603666854645158605721708038665838663327798734512356084181049622276946981962676281621351243840107667698258073054879805970179093879466292770466089233746143580112023095793883814609854550370225043935576319572406096064159715891797085337355366236460085829028080766750776027179865468358046413804717356875206779875672914600930396540951210691548811629996893071280023829819251273590410098379790708662512997957343144593104895892406148212850415910290334570301595022807723827855153452735474056546481230034129781169227329504931481444288279935814010780308935895320973041353974218063180068757434335174872393410079491527595917641919094240607698031635413648530206996237447351812165713709753348567264338057930776012022869987922078819194871955549327898816140158863790564788398096700138447048857071087599728296106636030175640079427320762014010682828400758595414090222940258503405538533897393734783775733224326832433955208456497454318781439802896597621078502695470558712697198699752213780286414612486624910460306932224367251744742502160593601639895672990694925869595215252959363143680153799957757430101930993358761270028510584954685190076564976537370936145715193825396580737152170128001324338282110482199879533568522148515466013209660233369748469003829575031336819849098339827865676396643820475574665912440998779251385435918856499052384820854683885131317095481364865316191880090698990084077219121786716846074005294941314767325267833351364247002989949137761939359188277657422119904151971641550287856157854780565306613136044914987588733349985032972106403025308884457364695640526123553685554614260053244132499650969505091871326276648115966905635556779569732334974176136057088123530047681318840699310188087293607306441791358515077987623418825002294409712880577722404 535074244039126266510631632984001809051236023924437872014938769544095748332997486915007859609877204607199295694990167166521252437567812319195855818225469627059361984012546003003126718141343522493632407334228113214234365854407999516468682484386240698795394203501327245688253949695973485420117788153383499548837780188559913531159663944768642997211810304143947765773592591126597105707263277822580315282434779619809976145545948089879924737552253141981925691830580087646223552780692718121719324958858601802724276838200313489330337004335846797901398678516921895666885067271253720409819940582792326220527363522534439011952528206372671786183223127402379422920760492408785098981136013221492545361907880758952784542779084797689419538189337459008611393722657723135488706957679323097884249883948064886860671000650730074420504151937739982898748419217185087223524783601910412202004220165208105905995247924563313775696725315633442644053947643596918381497792435091372463688194907634763089125253364665616532961751126872489177045572922908613110260814626014716205963958820212531573183359353893268218187593089800000519801547329287133341338328429405398356113765380785239733133796592739033391279372759300641159485060441193577433478150737409815675214446057503629445938773188766759220885267818076556109556388842610760536585792655804152150160924894523446563065211738865009571784036154580777349326256951256322349707759286034579930264951608110672185197921168918393214242555096639130637154556162210218092347931766399430432282286754598406987356920943518222099412833964873611998405042451622221832247686805558934696035679343724559198037888103982626725323358825296610017199225887479568347801301010989182048394453309480165260904933206188947798994656973662495644176869952591688262200165014203106395350773791089561825849657778006996895185823372501338299982462145478625134327838540180328632143754055638919448282051230875841448192110729111168884458604844560899696828937006020136408792919413479227278750327237146428847404715519381046647217669752274225186234251605826198622029288485684857491255998959919158447090568023400804742477882591953882913812944269012444560328632449079308048533233483348060227594662197338218377585027238946897849512249511141790131744929820818625403162183229007252954308065301371262695156315428082504587605253456009873747986861577936594410016556004088107294512183056649639108373584059938493106071933742976949846348812612394547637095253531592302215633590139398752546985410686158715577595880301321297288710396824613768900562885701817072079175952341807519021778373631774564908546031869362442601349531688150538556369181318209960281992732058717199449542818057998629039720628983319423024139536601919062292988840537378609345666474984432270432590766973303436760151789853116753663109897874151151408648269305656638045124594574898377078245543573666759643186676370207842393576456887332226827714595141771736104778323106829633319688503713424102574408310936838924919744277553721397093255536585185271381582276331110256757405337508969433574017312147808038221385539135937648548696845974514105262130352884185364070384187870274317888315089835942729464195822495705029533308999824271913431026734080435209080074239777156178935965843017008480978588112913215357479462483368973677230272713953385927982411683100910448453873293768168467662184960553726866446626458654120953130298696696925981586391534291191350288289656772995898445485036228385894667272689448303700759969069199715250581187191854200760352245256635238473214519803101622383028886589009805020104804264193984601972789879782045348878557858430547189763655466675400202650840471487274779704849242109659844256838040733136293786391093554860366635938945801811311755690794409964905079276290815157968390962192403997224490881674457673126606723387479990091616754480375037836024987380262227633577737346355099021804826054948674957140492616436530253551532448525808382983666554371274484170304673414152246811944816968290121788418801712605748845308200912113121748652498594290106920754715053302499151466483574040906989610473270702988680431607878899622832527231521398936434336755909572973923929332791290243666726342635621047 865768313359962120049652788932406140521649588553569335856012265098143680730704759866924911081631552493848971022427506735516856398577192216349024915036104079757859843286125920029878264323365029348013190691195943180492053415809511078717770333968105265325635362264701041851481845278513768501573592005637149750432639248115358131898513469326292000556478456405684182914433573951879103667035136252015023616936323821721394008053603660636617501560219134819043906634134017212173242885500456974505382615204221672961268781860208618914976332923042293811017490617666247307659299071350380334124164647307103934345379444171870243875759127544453013957901609187303446091761737212807884075298978686524758483574791006746580508954531301317283421297535886600192481265319917507341302121797713196253922328068794992648513621909303706662495779798788697818893257008526580261637108310933178811482445503222374621347034478107260380623918469603720513079208852518973290172933365905957461343098706206292940117254349032303188861085978758332465387874187557040842315193937606788507545391488865532899194759774022794096231046551985513705092346564748196312292004797244688269767041175934835037939371553724860010684843518010655148728414659482849173067584109935805490614282794484703534153459020953980605150915771158176540771126613141122700027130519463940493943035448843471918549026893660887963536945286091589883667148211789731568725045374482128889229959191743199359941198536479889411849419652888232564652880588572804066289704164476384194326115321311317248390615378661662836642625783526529396749242725725080055665549642459877443827944905071547203707939084259887072503129694568172675720279487875765257195038101383024351344331829952942997203878084358652892458595145724326405382235280958576575369300832934212067169259715774447521614661047380529833196107487563819760948571002674767065883874139892026178100814970005472334272982834871262464872773839912285312168732792080272770232514605464223952526851336359516434749885385492011120408632478500666537037787510336825683164969993146361849966272108083863517463989485655552211869068172603698059875950482710874430959076615747099608602882673861444190116281901144374359563952254818756732685072556673481279602635773049858570090647858872198978900653114647705036706225387796106594211381346792185225834460535394376294163601055561365256641205281349296135937360437265850117554914974859040328330537409831595004954534320433213475758581330326814571717771189021029493967373362440336928839720408988995546783451704419739079656765168109842545265186087951099133801469425658379518400582239587486536925851260556634620528897210007045619348098295177285278570898824749405066900494451677469437944253958794269072864513451979539742207426195123819244220763866374716783981609104390344073208277664859813921646226648801231150020486981046589928661453864001329944781699177931670248729909622806283374195825175901517274005652611761114763976783649238113354717246832159897961098251771784577162012970920360143774992355822637852675047256603210041272048947561456568428381776583289460714410555727862672526468410814961376093254175792353137083187045385270628280335981359495594321707096524410360479883805168034937376180875807331819015393163779022491661416513671810771569685423627477082768806611347120711758144907427742882409081750265622786443624763450324487525129154124679665827497396449139761872806146777816260748596588997363150190227538388979496307168362438998626629564284452674613724867345654158517782347187628597234484548313686577068218963153986342391040949979387809998553527031952173350202896140541029389643189035197548718116853681147508149453318245939234875593657889831476121652067490198680842210604858242810091007076230328821404131661111669841853522279287885362089807073554548372116690800606601776808462828485669979150792312648095578997824740336304236783744185243226332379260396768408171803839388606380588948290279690416189471759038023399185218918347842277174579153114442238729302530862815172166365881152149563795198792080991701418466057102040353610639324584649406760076803961655560218463531837419608692543740778547268088051911552751616292538076439223213343451 1400842557399088386560284421916407949572885612478007207870951034642239429063702246781932770691508757101048266717417673902038108836145004535544880733261573706817221827298671923033004982464708551841645598025424056394726419270217510595186452818354345964121029565766028287539735794974487253921691380159020649299270419436675271663058177414094934997768288760549631948688026165078476209374298414074595338899371103441531370153599551750516542239112472276800969598464714104858396795666193175096224707574062823475685545620060522108245313337258889091712416169134588142974544366342604100743944105230099430154872742966706309255828287333917124800141124736589682869012522229621592983056434991908017303845482671765699365051733616099006702959486873345608803874987977640642830009079477036294138172212016859879509184622560033781082999931736528680717641676225711667485161891912843591013486665668430480527342282402670574156320643785237163157133156496115891671670725800997329925031293613841056029242507713697919721822837105630821642433447110465653952576008563621504713509350309078064472378119127916062314418639641785514224893893894035329653630333226650086625880806556720074771073168146463893401964216277311296308213475100676426606545734847345621165828728851988332980092232209720739826036183589234732650327515455751883236612923175268092644103960343366918481614238632525897535320981440672367232993405163046053918432804660516708819494910799853871545139119705398282626091974749527363201807436750783022158637635930875814626608402075909724235747536322179884936055459748400141395154285177347301887913236448018812139863624248796106401745827188242513797826488519864782692919505375355333604996339112372206399738785139433108258108811290547600691453252119386822049559105233550264837569465847137318462520033506864009347464318825387526728381930860065158060931033148153392200211712680072354810244569025644391782555034065747103913064884569023454196627337636641172467061451611484360361319770749838743713500212622638439967813347997881713184255457262611050869399221598972560471995560593768721008719988445574710658959636196004502802353833074664757344772020884759544168931515122940752238649515384492434587158614452156975110270099795620379129114885284191648701835577679690824382062836343654957991014290689167369289367696774874689813439713991404250042150462633497959666657761285437403430449543493915489225928499034797533434402471152808544851303346932827761112853834861919116787351361328419782040952784048599052506435600710310292835493848529033507980219650869926914624441138429758618155579843057432944426946614108949929138275382948707173176898078528217005901340830353894484728113716882748034106621123434996892462083790560713331365853353989358149087873901179556089676811530839678153544133398957507097736318175539010965330294495954457869195145081555944967006906997437668089587968375548139512642306366510138510201910420317673253378783975718590748083665287362662215929125557768998822880842529325505974255268507505545415156574632153748109432452594112179474846066259709264606649767315719227109263107401702376777788598763699146740163638363662627454971502135221213357744531803855200623855016096348682273910910539248470146456255115584487997951359006796030972640004626585026129049147906996450759999079325300506639740556590528653330862955044033791254105809724004051353971755612778800618957796093146065743459197681069007611036886245770359048635712574617365390974441051887302327389533353652389864306054537508359278134592444263835707699068116788199451247849742996147411145754243581794600526316911734218699081453998971576579406844501872948920767694152634782929158167488048894719850495930564612415438458583753541208846543804044621402762767024738786309210937402484999821913241480289359314297955229006045243297523994081766900079582966045016986817300028357806631402477682659335805549011298175007336400889384844702057390921054906397331273946244787463955929342696813337465730292659245464700941533243951335051376171016084279487629804648158085305712835706754720965208568523927651546314195122677463065484393263439118086364364651130091480175115303177661025835482084407582781743165565848964498 2266610870759050506609937210848814090094535201031576543726963299740383109794407006648857681773140309594897237739845180637554965234722196751893905648297677786575081670584797843062883246788073581189658788716619999575218472686027021673904223152322451229446664928030729329391217640253001022423264972164657799049703058684790629794956690883421226998324767216955316131602459739030355313041333550326610362516307427263252764161653155411153159740672691411620013505098848122070570038551693632070730090189267045148646814401920730727160289670181931385523433659752254390282203665413954481078068269877406534089218122410878179499704046461461577814099026345776986315104283966834400867131733970594542062329057462772445945560688147400323986380784409232208996356253297558150171311201274749490392094540085654872157698244469337487745495711535317378536534933234238247746799000223776769824969111171652855148689316880777834536944562254840883670212365348634864961843659166903287386374392320047348969359762062730222910683923084389154107821321298022694794891202501228293221054741797943597371572878901938856410649686193771027929986240458783525965922338023894774895647847732654909809012539700188753412649059795321951456941889760159275779613318957281426656443011646473036514245691230674720431187099360392909191098642068893005936640053694732033138046995792210390400163265526186785498857926726763957116660553374835785487157850034998837708724869991597070905080318241878172037941394402415595766460317339355826224927340095352198820934517397221041484138151700841547772698085531926670791903527903072381943578786090478689583691569153867653605453766272502400870329618214432955368639784863231098862191377213755230751083116969386051255312689374906253583911847265111148454941340514508841412938766680071530529689293222638456869078979872768056561578038347628977821879604150828159266095586819964380988345383995649864116828016900618366377937658408935739508796070428721445237293966216948584313846622086198260148250098008130451088221980476382379721293244772947876552564191592118922321961832701852584526183977931230262870828704368608200862229783557375631775731097500506643777534397796802196428765797285636808946722566706975731842955172352293860408717521057241507271926225538563023360963489458302663027720516076963475883579078121666875039274174526798626336314063689059324923298966566786699566386903931181339343483414009656573762733008562640139856257881253260974588612416192245931359069132517440811534920157411039389435275321119299288382277300233453247059876416038036757169706324517709717289381312483091323945347196348537415675201234209263807797426975738224051520688928649071770006684615707497439173521617886674361900028044519507600438717867441337688830081327374679908921032294706052870328115008061897441809526453203870779251940722603259100345165568536991556935568451301669419532750074726071182891036276132944793576106245493574770652789628330351862847642071011900329283842804601158720841940781097290551417281478425905558931566987976385962107499850715389516118115207270721175078149092302516569977517957430239450315067174514108116256892539454980592054689180606483986024867785214696218176723192873092634390794344416505083832435991391819816966752170575053464301421140256836900618833330623927842767885936647627351498701497956396213272036794299414040549434487454375841496884766903480284785293489595205505332003827846823871785482834767722198825940113006344887281609414326300954019097638105064478030921883162517795916939631892432942183616430474776519466812896982489802186704222969604599079843943686392049284350139512605969050033537070497638884547833782291078611485733988129595444153820396088537090526073952222051057148662287431493769843255067607713342598514154841675435520768174721404105028783554417359988324600683543708542411451714996137609612676453385629227218018963572589293196541401339715661286153252873861230309661286986279564225935203653427688380720212522684648640501522639280094647686190064353907033831256445853510956797721880504504916698456139431265670564281262185638779772084223142288354918999336549896202070738784023915893850445749077747034836023875319819604789062307949 3667453428158138893170221632765222039667420813509583751597914334382622538858109253430790452464649066695945504457262854539593074070867201287438786381559251493392303497883469766095888229252782133031304386742044055969944891956244532269090675970676797193567694493796757616930953435227488276344956352323678448348973478121465901458014868297516161996093055977504948080290485904108831522415631964401205701415678530704784134315252707161669701979785163688420983103563562226928966834217886807166954797763329868624332360021981252835405603007440820477235849828886842533256748031756558581822012375107505964244090865377584488755532333795378702614240151082366669184116806196455993850188168962502559366174540134538145310612421763499330689340271282577817800231241275198793001320280751785784530266752102514751666882867029371268828495643271846059254176609459949915231960892136620360838455776840083335676031599283448408693265206040078046827345521844750756633514384967900617311405685933888404998602269776428142632506760190019975750254768408488348747467211064849797934564092107021661843950998029854918725068325835556542154880134352818855619552671250544861521528654289374984580085707846652646814613276072633247765155364860835702386159053804627047822271740498461369494337923440395460257223282949627641841426157524644889173252976870000125782150956135577308881777504158712683034178908167436324349653958537881839405590654695515546528219780791450942450219437947276454664033369151942958968267754090138848383564976026228013447542919473130765719885688023021432708753545280326812187057813080419683831492022538497501723555193402663760007199593460744914668156106734297738061559290238586432467187716326127437150821902108819159513421500665453854275365099384497970504500445748059106250508232527208848992209326729502466216543298698155583289959969207694135882810637298981551466307299500036735798589953021294255899383050966365470291002542977959193705423408065362617704355417828432944675166392836037003861750310630768891056035328474264092905548702035558927421963413191091482793957393295621305534903966376804973529788340564612703664583616632040389120503118385266187946465912919742948667415312670129243533881181159132706953225272147914239537832406341433155973761803218253847743026325801957621018734806766130845172946774896541564852713888518202876378464526322557284589956727852224102996836447425096828569411913044454107197135479715448684707561228186088735701466251054165048146420493845860593575872941459638441941710921829609581217771148762486755040096066907963671794147462947468335444961155540524268372293810457487344813476617157970980974325054266441057422029759002966254734798332590245473280142741321671254362111835080220931804571221430695837917955228554235998597843825545731023872248407019404539545844628742881744582235218557716969540310650092936523942475448739337509120718450274210695533342642643083303778016665811248024031573604048942610931307358374562545212968362370157543722783310422796525672549985931450974088141620130134071539952444827568990964181466979985781727916408021743679240625359132616228103665938213254856420530903117608047026191315827697343769399589069896842031739289221774908301704883664975230288691106976307814918111177371084436941425766841863029667981237620378602766965261948133991239258088485049544134991838333205294655244211458427195468640379682280903743089582741271248791201508915831482822369080538081247461652687623710278256050466213603281408630991757454342336976420670877074051532076156268649882684547262975970714662639978637213332458466551399199606160855420610748365804138484182548456878038943446559652241986417074007769653222037024315294649750960700952528984657705763259903692466332052896532610279806394022553535916639841497348762248464080718402984012560462603285848594765310608621994417760013124426912704811192260629695701622908394842207839576347052062175538097575918621230716193383610838172179991117383617723417025860150378933160768103981036180930141399405283204847340725341140761445879965810217752405210860396474239088208913731952974894761686207772748182438454636260566721868875504091009153623410103582516920431458101562770354911272447 5934064298917189399780158843614036129761956014541160295324877634123005648652516260079648134237789376290842742197108035177148039305589398039332692029856929279967385168468267609158771476040855714220963175458664055545163364642271553942994899122999248423014359421827486946322171075480489298768221324488336247398676536806256531252971559180937388994417823194460264211892945643139186835456965514727816063931985957968036898476905862572822861720457855100040996608662410348999536872769580439237684887952596913772979174423901983562565892677622751862759283488639096923538951697170513062900080644984912498333308987788462668255236380256840280428339177428143655499221090163290394717319902933097101428503597597310591256173109910899654675721055691810026796587494572756943172631482026535274922361292188169623824581111498708756573991354807163437790711542694188162978759892360397130663424888011736190824720916164226243230209768294918930497557887193385621595358044134803904697780078253935753967962031839158365543190683274409129858076089706511043542358413566078091155618833904965259215523876931793775135718012029327570084866374811602381585475009274439636417176502022029894389098247546841400227262335867955199222097254620994978165772372761908474478714752144934406008583614671070180688410382310020551032524799593537895109893030564732158920197951927787699281940769684899468533036834894200281466314511912717624892748504730514384236944650783048013355299756189154626701974763554358554734728071429494674608492316121580212268477436870351807204023839723862980481451630812253482978961340983492065775070808628976191307246762556531413612653359733247315538485724948730693430199075101817531329379093539882667901905019078205210768734190040360107859276946649609118959441786262567947663446999207280379521898619952140923085622278570923639851538007555323113704690241449809710732402886320001116786935337016944120016211067866983836668940201386894933214219478494084062941649384045381528989013014922235264010000408638899342144257308950646472626841946808506803974527604783210405115919225997473890061087944308035236400617044933220904526813400189416020896234215885772831724000310716545145096181109955766052480603747866108438796180444500208099946549927398674663245688028756816871103989815260260284046455322843094321056525853018208439891988063045001502714778590011616609513255694419010802563223351356278167912895327054110680959868488278088824563819109439349710290078667246410979505489626363301405110793098870677831376986242948908869600048448995940002099972482946000428963853787465178052734342468023615592317641006806024760488677851367234788771752030004665108942718687652038024741482948297742912453664359208345616262139879599728532243289088872033526748036555928915907518876120251783894200363415081301981355371081946752523834175941160976069885476218629928080878043900041006928653468525000281878424378918776028097354122911304822794684363232379294473778949429386462874496811166971316264564724091520087077089831464357356533019708608106520033647452295542958507082296674250706956806065500324260249218143316562855678418733112727362972677423442572588639080880496434181329794267374284593060208462482094867542692499228081480314121127098368127631884863347946137901242846907098699930286814568244306445534851198595761342737959586441445757407028632632619335204678698912803036965525146585761188528383072336476754123205336762655354607851915305803446287592800630055165537659880539904235427728629862518820367898303833394869968471708048701592066300977737752490181475536961127015519162689521003798686004799107002797650154277996788517506911576013944198536789820199365086381138956025153910738803571356789489619510731657985310960841128619484390302453534874001735896134430794683172784283016638802122508012796114879963274173195448854317164405869475009262036525381264577889856913720586480984135404380977686767723461691350449779851540377480369890402398115194770811306104137238382835027573662290743261130828616331463759190238678597171194651718243601846314722669103666999827739909652490175917591754666845909350061103101437791186156768792607659528006903004069159181329551756455333421382375143973580396 9601517727075328292950380476379258169429376828050744046922791968505628187510625513510438586702438442986788246654370889716741113376456599326771478411416180773359688666351737375254659705293637847252267562200708111515108256598516086212085575093676045616582053915624244563253124510707977575113177676812014695747650014927722432710986427478453550990510879171965212292183431547248018357872597479129021765347664488672821032792158569734492563700243018788461979712225972575928503706987467246404639685715926782397311534445883236397971495685063572339995133317525939456795699728927071644722093020092418462577399853166047157010768714052218983042579328510510324683337896359746388567508071895599660794678137731848736566785531674398985365061326974387844596818735847955736173951762778321059452628044290684375491463978528080025402486998079009497044888152154138078210720784497017491501880664851819526500752515447674651923474974334996977324903409038136378228872429102704522009185764187824158966564301615586508175697443464429105608330858114999392289825624630927889090182926011986921059474874961648693860786337864884112239746509164421237205027680524984497938705156311404878969183955393494047041875611940588446987252619481830680551931426566535522300986492643395775502921538111465640945633665259648192873950957118182784283146007434732284702348908063365008163718273843612151567215743061636605815968470450599464298339159426029930765164431574498955805519194136431081366008132706301513702995825519633522992057292147808225716020356343482572923909527746884413190205176092580295166019154063911749606562831167473693030801955959195173619852953193992230206641831683028431491758365340403963796566809866010105052726921187024370282155690705813962134642046034107089463942232010627053913955231734489228514107946681643389302165577269079223141497976763017249587500878748791262198710185820037852585525290038238375915594118833349306959942744364854126919642886559446680646004801873814473664179407758272267871750719269668233200292637424910565532390648844065731396491017974301887909876619293095195595991910684840209930405385497833608191397016821456410016737334271039019670466223636288093763596422625895296014484929025241145749405716648122339484382333740107819219449831975070718847016141062217905065190129609225166229472627914750004744701951563204379093243116334173894103212422271234905560059798781374996482307240098564788157003967993537509271380337625438445991544918300576027651910120209161998686666040330316273318697164778518450817819597758426757140068549853964100758001250412646388179303623564139860689934817263512105302154468525205769746077084271106166364748446655004279476281280887988385733807100530016870624251714679949464047860310302729364665991784483151906116719945797514918072611822100706520901215710689634268416411159718693039425786868722864604820519348780344437774186975274492573957721561419111401132139577116070818715936836428237084710256787761025419709779529341473808287507401942883602762381450288807507107850228236654105187404740370527498046478141230692738533981908346003928458768675695471906522399050940617829097954345690196686107071812261878673563666963354489902240201771316642450994204111746455544409818205344435446802974525317222338184272673940562959954795805864685048301816460543895333977217674926495301542020470965824629859922910371230232434165526268042092271472655077748002914406845678486837430220995843884693749245488253765443793710346753507516836359621619973162704874724504271944020003784204970241948985525000728460896138176939764228851621156072402998292165654527613546015958416480971065963789614957390758189031806616439094150792178062178226033453322317490442148495389363748570864533594951537286835063814680395758449670347434524670133045265102882840910996808675342566560021790214164925786400287235022386463438086075770150486609422209389378977612220554033819785637229448025698472771093673753501240570295185888194923827554264242985406506823058847242167009546472863164473443525937896535792479689481812124940421508877860224214148740699089649544729561607595557833851283876245822417335514476535032097912157692569284912068676886791522945145498884852843 15535582025992517692730539319993294299191332842591904342247669602628633836163141773590086720940227819277630988851478924893889152682045997366104170441273110053327073834820004984413431181334493561473230737659372167060271621240787640155080474216675294039596413337451731509575295586188466873881399001300350943146326551733978963963957986659390939984928702366425476504076377190387205193329562993856837829279650446640857931269064432307315425420700873888502976320888382924928040579757047685642324573668523696170290708869785219960537388362686324202754416806165036380334651426097584707622173665077330960910708840954509825266005094309059263470918505938653980182558986523036783284827974828696762223181735329159327822958641585298640040782382666197871393406230420712679346583244804856334374989336478853999316045090026788781976478352886172934835599694848326241189480676857414622165305552863555717325473431611900895153684742629915907822461296231521999824230473237508426706965842441759912934526333454744873718888126738838235466406947821510435832184038197005980245801759916952180274998751893442468996504349894211682324612883976023618790502689799424134355881658333434773358282202940335447269137947808543646209349874102825658717703799328443996779701244788330181511505152782535821634044047569668743906475756711720679393039037999464443622546859991152707445659043528511620100252577955836887282282982363317089191087664156544315002109082357546969160818950325585708067982896260660068437723896949128197600549608269388437984497793213834380127933367470747393671656806904833778144980495047403815381633639796449884338048718515726587232506312927239545745127556631759124921957440442221495125945903405892772954631940265229581050889880746174069993918992683716208423384018273195001577402230941769608036006566633784312387787855840002862993035984318340363292191120198600972931113072140038969372460627055182495931805186700333143628882945751749060133862365053530743587654185919196002653192422680507531881751127908567575344549946375557038159232595652572535371018622757512293025795845290569085657079854992875446331022430431054512718210417010872430912971550156811851394466534352833238859777532581661348495088676891349584545586161148330439430932261138782482465137860731887589951005956322478189111645452452319487285998480932958444636690014608205881808021706345790503616468116690245708123283150137653164395202567152675469116872456271626333835199447064788156281623585546987007157399746572463403797459139200994104695683407727427320417868046754366759240041032799964529721855037877824440913646091587755453007575824069536865790832319892440558517829114275771275307467134307042304217764229185731298187471459738362486886391594279677996291149399174762891414028340412067813635596066049298812272975237182008502256586792636386792250587100879669109311263087352792685698563248821351366427655500274774452382100480195139498486262488420893613400300068807531558489206217147488294206590696312790072852231493462970679852212914646164040127558836343174138834857035913486005128774815481399695340047408670264177676911992258327584941132163667980801775377788262785325187952308696060003357934337639082962448664253411509993686703339827935858530945303712563078687837873263360239427119581039262890241610374108991493836667659139656676715177261367941058949049103598443965064601609284033269399690672853803280799855727414224757037612182441142192038072911149688140036838288883820609331370227293411752264088251482491983072773028337666813988475492253671834015286502738480951077613713900891244370783845593406796978170453634616343666112694477759583470701190971334956725821626815804180531931134087332136772256893674279931768006121021733881825374723571021677137517349554397494345804778229207842917328281741684963419009604790222529834194985663019242950806156710031648499963467340348040343523142795870363113016601531720587509098920798475478324311471154123391642968410380659006229931691502625820434080485349590503297838162804326923663682204535067730444197933083658439663090612544860051954058393189265567136484228453504907894954385314037008574104307084194560104815161761728466241620433342124944327520642858433239 25137099753067845985680919796372552468620709670642648389170461571134262023673767287100525307642666262264419235505849814610630266058502596692875648852689290826686762501171742359668090886628131408725498299860080278575379877839303726367166049310351339656178467253075976072828420096896444448994576678112365638893976566661701396674944414137844490975439581538390688796259808737635223551202160472985859594627314935313678964061223002041807989120943892676964956033114355500856544286744514932046964259384450478567602243315668456358508884047749896542749550123690975837130351155024656352344266685169749423488108694120556982276773808361278246513497834449164304865896882882783171852336046724296423017859873061008064389744173259697625405843709640585715990224966268668415520535007583177393827617380769538374807509068554868807378965350965182431880487847002464319400201461354432113667186217715375243826225947059575547077159716964912885147364705269658378053102902340212948716151606629584071901090635070331381894585570203267341074737805936509828122009662827933869335984685928939101334473626855091162857290687759095794564359393140444855995530370324408632294586814644839652327466158333829494311013559749132093196602493584656339269635225894979519080687737431725957014426690894001462579677712829316936780426713829903463676185045434196728324895768054517715609377317372123771667468321017473493098251452813916553489426823582574245767273513932045924966338144462016789433991028966961582140719722468761720592606900417196663700518149557316953051842895217631806861861982997414073310999649111315564988196470963923577368850674474921760852359266121231775951769388314787556413715805782625458922512713271902878007358861452253951333045571451988032128561038717823297887326250283822055491357462676258836550114513315427701689953433109082086134533961081357612879691998947392235129823257960076821957985917093420871847399305533682450588825690116603187053505251612977424233658987793010476317371830438779799753501847178235808544842583800467603691623244496638266767509640731814180935672464583664281253071765677715656261427815928888120909607433832328840929708884427850871064932757989121332623373955207556644509573605916590730294991877796452778915314594878890301684587692706958308798022097384696094176835582061544653515471108847708449381391966171410260901264822679964397719680538961480613683342948919028160877509807251240257273876424265163843106579784690226602273168503847563034809309866781625402484125179531310378014380572505945771235687644512793516380109582653928630479856288290470829092949715151895313697510641333048971092986788417646328263906198546877441672215580962046583694045510073719683921278560268379357510643308959627460339009709477492256080020124895219719752316011846813730345587059282715023157802503326021060666998260598362148737049956075657290519082597601695804201842475549267026339822041614250899618402065536964432116236905235768643199463004908513713916370225654263881139738895405854282614594364934971547235409064579828244022261776284013503175252956712092433874029317016268106135680667953799491463531214608598630873332133952982011295024120957938676921601300993572864688866024728152444680907451574391402940763509056998525490812398580582577611392254979825850196406179973676542138484119683552010692394936294436360491069574564268594924524519655263501833856199121845373071328382491972759952019028119629029468293906993572833786083777137586053125080574046919269100447873102465145777647752841938758008479276458642075964272027739209411973751890840655473222405001665809795270336108162229889682071110958730649434490805928725714914853433432243274682723312149510362805710215991770373916501510385482452689908318522558963972581164234793252795475125663732513050373546844567804330006413465565096394216775877184168737206443945054034963401553416118190830132565005259742090628822085754407294736150246501176797082564827876892883538705566547201153759245766868805840587308408437745464847709277190088137125730472964266236677622565470564603512121422720276168207133888355216681213790061100465728805669190282830991439821560729592202727319454297751153689110228916467272666141743286082 40672681779060363678411459116365846767812042513234552731418131173762895859836909060690612028582894081542050224357328739504519418740548594058979819293962400880013836335991747344081522067962624970198729037519452445635651499080091366522246523527026633695774880590527707582403715683084911322875975679412716582040303118395680360638902400797235430960368283904816165300336185928022428744531723466842697423906965381954536895330287434349123414541644766565467932354002738425784584866501562617689288833052974174737892952185453676319046272410436220745503966929856012217465002581122241059966440350247080384398817535075066807542778902670337509984416340387818285048455869405819955137164021552993185241041608390167392212702814844996265446626092306783587383631196689381094867118252388033728202606717248392374123554158581657589355443703851355366716087541850790560589682138211846735832491770578930961151699378671476442230844459594828792969826001501180377877333375577721375423117449071343984835616968525076255613473696942105576541144753758020263954193701024939849581786445845891281609472378748533631853795037653307476888972277116468474786033060123832766650468472978274425685748361274164941580151507557675739405952367687481997987339025223423515860388982220056138525931843676537284213721760398985680686902470541624143069224083433661171947442628045670423055036360900635391767720898973310380380534435177233642680514487739118560769382596289592894127157094787602497501973925227621650578443619417889918193156508686585101685015942771151333179776262688379200533518789902247851455980144158719380369830110760373461706899392990648348084865579048471321696896944946546681335673246224846954048458616677795650961990801717483532383935452198162102122480031401539506310710268557017057068759693618028444586121079949212014077741288949084949127569945399697976171883119145993208060936330100115791330446544148603367779204492234015594217708635868352247187367616666508167821313173712206478970564253119287331635252975086803383889392530176024641850855840149210802138528263489326473961468309874233366910151620670591102592450246359942633627817850843201271842680434584662722459399292341954571483151487789217993004662282807940314840578038944783218346246856017672784149725553438845898749028053707174283288481034513864140801469589780666894018081980779616142709286529025754901336148655651726321806626099056681325272712374403915726390748880536790176941779231755014758554792089394550041966709613354088806281584318732304482710063980233373091653555691267160275620150615453893160201711326168295270006595806739650766705086465402585836883819108310086886781735312822648716979682715269088887911809739259450982108750020006741844397034903239305456630159108652255147494048465307287533387912077896112542618562296464723525414389295962407852917585361478031258048313043428449976217645846423047170629497975824041478721922521809390398104664553957858045516536974043300201688669222056002008122960921967053953991970388868824962466807279581135587362967900923002382857118812197499508304027772193492129214076725686532283812592660212127076404663378276579432648709922215767336482976429653998680279535638632655827137530278139662438367610791402327261471708812769561604178650271843942817038511836019088740438016554082668035975151778823208687407572197662377419440118678162712559989126128939296771233546871975648653871184109906197516989631210560771221506366818143260973822922066021406662456450801340331021364536124584957128850420781179605571996954768712313909979558530477690363051365604741546717593188847259216592248506561796846233348183805436490232905191996900060671640675060248047455214654446236842499577967109666050305684507631407216334515283042093580641110098513789190747141279903892940355967701828586252767749016018255787626228411761540203411688012600655085683463365020756466231173655707801130105203645423617474994803835071044976655121394035982000284526507115947206207383690937269494626274667793758028248762685872081517011800807935008031996680875555649129004266602733967580328122265527077620783817698018514605373623760054504319839565544128644924152307542481216026217395309543571041411600186784601719321 65809781532128209664092378912738399236432752183877201120588592744897157883510676347791137336225560343806469459863178554115149684799051190751855468146651691706700598837163489703749612954590756378924227337379532724211031376919395092889412572837377973351953347843603683655232135779981355771870552357525082220934279685057381757313846814935079921935807865443206854096595994665657652295733883939828557018534280317268215859391510436390931403662588659242432888387117093926641129153246077549736253092437424653305495195501122132677555156458186117288253517053546988054595353736146897412310707035416829807886926229195623789819552711031615756497914174836982589914352752288603126989500068277289608258901481451175456602446988104693890852469801947369303373856162958049510387653259971211122030224098017930748931063227136526396734409054816537798596575388853254879989883599566278849499677988294306204977925325731051989308004176559741678117190706770838755930436277917934324139269055700928056736707603595407637508059267145372917615882559694530092076203363852873718917771131774830382943946005603624794711085725412403271453331670256913330781563430448241398945055287623114078013214519607994435891165067306807832602554861272138337256974251118403034941076719651782095540358534570538746793399473228302617467329184371527606745409128867857900272338396100188138664413678272759163435189219990783873478785887991150196169941311321692806536656110221638819093495239249619286935964954194583232719163341886651638785763409103781765385534092328468286231619157906011007395380772899661924766979793270034945358026581724297039075750067465570108937224845169703097648666333261334237749389052007472412970971329949698528969349663169737483716981023650150134251041070119362804198036518840839112560117156294287281136235593264639715767694722058167035262103906481055589051575118093385443190759588060192613288432461242024239626603797767698044806534325984955434240872868279485592054972161505216955287936083558067131388754822265039192434235113976492245542479084645849068906037904221140654897140774457897648163223386348306758853878062288830754537425284675530112772389319012513593524332050331075904106525442996774637514235888724531045135569916741235997261561450896563085834313246145804207547050151091870377465316616575408794316940698628375343399473946951026403610551351705719299055829194613206935489969047975709486150222181655155983664625304801954020048359016445241360827960593242113076776019480135714208765709498263614860724444552739318862889243335779953792000260198107821790681567614458766099099545521891546080402597106735634807976805896727733215045641511369526158651898296231135471605855249333170666030028580275121201907678212198932916969168818129747403574068590202507253140228089742926272964149355747438548572191799288428913584583622076393406785362999504107266736728444024742974831340451373308505061744563423641297723066619494822477632773879279068844888132226964515722039331147621317835131709284274679245081401644516107134598376965502830626879380588481513011479280728905584563088106042702800389948273328165926567868194592885178063522042056168749347778000550611937357201136939626228691826396302867814883048518242976718664412472321826560129669462670424525394649904090998914590634422734056344578113635898506760698099967133956813779931188252726981154913650648594560273067403071097494026942512492398170276941650238680400250974660725136833807609005843158992715581531375387250290464983997687422274628068534021544330005434045170955985943830558216899775025117495582202190815593848925026387518842669959076123030254916395220882339682802828786386555528493680290729897377758386352862383677325657820679601009141792698787205191360616139605082679678023983999936755029556672869018075375430820572079022431721352722622628537417387580425219044600139718426766574172584422003788272806389847294274245703229402098571221291477831918476600809877177410045821513753408537450183036363432115255102166465994227533581358707099937933665480996262917553178214599568870114855390300604290472660965976000498911808575705839352565723694602670556983950205653744510269800670323968548998653799957878872852926345005403 106482463311188573342503838029104246004244794697111753852006723918660053743347585408481749364808454425348519684220507293619669103539599784810835287440614092586714435173155237047831135022553381349122956374898985169846682875999486459411659096364404607047728228434131391237635851463066267094746528036937798802974582803453062117952749215732315352896176149348023019396932180593680081040265607406671254442441245699222752754721797870740054818204233425807900820741119832352425714019747640167425541925490398828043388147686575808996601428868622338033757483983403000272060356317269138472277147385663910192285743764270690597362331613701953266482330515224800874962808621694423082126664089830282793499943089841342848815149802949690156299095894254152890757487359647430605254771512359244850232830815266323123054617385718183986089852758667893165312662930704045440579565737778125585332169758873237166129624704402528431538848636154570471087016708272019133807769653495655699562386504772272041572324572120483893121532964087478494157027313452550356030397064877813568499557577620721664553418384352158426564880763065710748342303947373381805567596490572074165595523760601388503698962880882159377471316574864483572008507228959620335244313276341826550801465701871838234066290378247076031007121233627288298154231654913151749814633212301519072219781024145858561719450039173394555202910118964094253859320323168383838850455799060811367306038706511231713220652334037221784437938879422204883297606961304541556978919917790366867070550035099619619411395420594390207928899562801909776222959937428754325727856692484670500782649460456218457022090424218174419345563278207880919085062298232319367019429946627494179931340464887221016100916475848312236373521101520902310508746787397856169628876849912315725722356673213851729845436011007251984389673851880753565223458237239378651251695918160308404618879005390627607405808290001713639024242961853307681428240484945993759876285335217423434258500336677354463024007797351842576323627644152516887393334924795059871044566167710467128858609084332131015073375007018897861446328308648773388165243135518731384615069753597176315983731342673030475589676930785992630518898171532471359976147955686019215607808306914235869984038799584650106296078204799044660753797651089272935118410288409042237417555927730642546319837880731474200391977850264933257296595147032390811422934556059071710055374185338744196990138248200256119382752682636663118742729093489803015047293816995919343434508532972691954542799027047114067620410813561714950883278940627061369106141328631196847107683572138220644860625005037820101827376824192174875631581011500224359517664988592621648138778600281863046304713115438238373599327926782002551068117055509794786528140167639038815582711652212162073986581095250836766502168983554424664833676042932557242954374290447790145460838427197349983783667085233031695827731173452680523149310853322369046576801449020517730162292069588371789123679673143504207548208924097242721961344866425833009736499400679012519783308501099076692302182768389332673760865988378053644272857971161757496170751978384516684260976980265936037480672578258884518963926581007477321416129034379045925884181134596121733848112942268468211688415927018003331072439288139012614088787677329969385507539331619191199371306930889693714902776777533857044300949943073142680813696602304367793931281449241171472481027543280094781431927909180399378037982176727581311829520122272379403478489315201149902002388813883269895923389088694590138076483100323748908408782696184242979767349231755922356378438721831711115244874799728847058196203553928338185112032204623195361961644435323870985285516773199915121720474402709720246192778191813174747078034933449613224985777204017073339828038449977140348851040298957590992113231645255225401890131594929050653177443980607519952497919669320704396902406292336454487039870636791877461936552937460959615921141120305858058389922895924494242990219453440224111738741600489028259598428733863728573136717589357880932412738188043596784316609827090311212976325778198922510122528078850577896817812281886350185944308197370999290473039710946724724 172292244843316783006596216941842645240677546880988954972595316663557211626858261756272886701034014769154989144083685847734818788338650975562690755587265784293415034010318726751580747977144137728047183712278517894057714252918881552301071669201782580399681576277735074892867987243047622866617080394462881023908862488510443875266596030667395274831984014791229873493528175259337733335999491346499811460975526016490968614113308307130986221866822085050333709128236926279066843172993717717161795017927823481348883343187697941674156585326808455322011001036949988326655710053416035884587854421080740000172669993466314387181884324733569022980244690061783464877161373983026209116164158107572401758844571292518305417596791054384047151565696201522194131343522605480115642424772330455972263054913284253871985680612854710382824261813484430963909238319557300320569449337344404434831847747167543371107550030133580420846852812714312149204207415042857889738205931413590023701655560473200098309032175715891530629592231232851411772909873147080448106600428730687287417328709395552047497364389955783221275966488478114019795635617630295136349159921020315564540579048224502581712177400490153813362481642171291404611062090231758672501287527460229585742542421523620329606648912817614777800520706855590915621560839284679356560042341169376972492119420246046700383863717446153718638099338954878127338106211159534035020397110382504173842694816732870532314147573286841071373903833616788116016770303191193195764683326894148632456084127428087905643014578500401215324280335701571700989939730698789271085883274208967539858399527921788565959315269387877516994229611469215156834451350239791779990401276577192708900690128056958499817897499498462370624562171640265114706783306238695282188994006206603006858592266478491445613130733065419019651777758361809154275033355332764094442455506220501017907311466632651847032412087769411683830777287838263115669113353225479351931257496722640389546436420235421594412762619616881768757862758129009132935814009440908939950604071931607783755749858790028663236598393367204620300206370937604142702668420194261497387459072609689909508063393004106379696202373782767268033134060257002405111717872427255212869369757810798955818352045730454313843128355890915038219114267664681729435350987037417580817029874681668949930389232437193499447807044878140192786564195008100297573156737714227693719999490140698217038497264645497480210713275878776195518748573625517223813003315259534204158953085712010817432042362827067859620671011669536741564846555085827468205686850522742927510280678873855452837430901765553316873018335561701034283479307731359831123520237925792314168807180556984248212391327637171290568496744911749954642185645712302039668368257381965088546861007959600622558772894539265680086752605630818071619039042436664509691102734472533120292178878570658488845411648656672993550797792947503000782084732601437891464933675985033452201623217209689624255388957418183452629610568613349856559721831928663636615879989160525531262589230004661255390288811092133063709139316543980212141052564046935559692794034553266032038977530877873394681809517885113210790322883875292204464647277355764590296653456422681863517575612692993606338320018016917921706862022195357192202423575836730083607506465576004979302495183616674869816427426128417317368353014170636707756209094702538070872931687921571723455688268416928589040933752339392093619513552114831602294504119959801678106557849222694232007822859054225881867219646911489913101600595905951099224376545109269367286191901714998479408693638226931997584557602557633444751732047608628915009409963009548224345321760981691664886525914992613908925665763325859851275457869837158747014789963006286094003852579447893911907060881698493071473668836374978572538450689855365120316898169101635075181232253413909799792193915023933799000977513627932318958347237601754639346598758974713024458591303342221490505177998090960237217753034798931211676675265970024522515981912078328142006832444748181536703210849009572784815521635666017052328891501893525180679512029056231641328082082556674154493306851170957169345892637291730127 278774708154505356349100054970946891244922341578100708824602040582217265370205847164754636065842469194503508828304193141354487891878250760373526043027879876880129469183473963799411882999697519077170140087177503063904397128918368011712730765566187187447409804711866466130503838706113889961363608431400679826883445291963505993219345246399710627728160164139252892890460355853017814376265098753171065903416771715713721368835106177871041040071055510858234529869356758631492557192741357884587336943418222309392271490874273750670758014195430793355768485020352988598716066370685174356865001806744650192458413757737004984544215938435522289462575205286584339839969995677449291242828247937855195258787661133861154232746594004074203450661590455675084888830882252910720897196284689700822495885728550576995040297998572894368914114572152324129221901250261345761149015075122530020164017506040780537237174734536108852385701448868882620291224123314877023545975584909245723264042065245472139881356747836375423751125195320329905929937186599630804136997493608500855916886287016273712050782774307941647840847251543824768137939565003676941916756411592389730136102808825891085411140281372313190833798217035774976619569319191379007745600803802056136544008123395458563672939291064690808807641940482879213775792494197831106374675553470896044711900444391905262103313756619548273841009457918972381197426534327917873870852909443315541148733523244102245534799907324062855811842713038992999314377264495734752743603244684515499526634162527707525054409999094791423253179898503481477212899668127543596813739966693638040641048988378007022981405693606051936339792889677096075919513648472111147009831223204686888832030592944179515918813975346774606998083273161167425215530093636551451817870856118918732580948939692343175458566744072671004041451610242562719498491592572142745694151424380809422526190472023279454438220377771125322855020249691570797097353838171473111807542831940063823804936756912776057436770416968724345081490402281526020329148934235968810995170239642074912614358943122159678309973400386102481746534679586377530867911555712992882002528826206866225491794735677136855285879304568759898552032231789473765087865828113274428477178064725034825802390845315104420139206560689959698972911918753954664553761275446459818234585802412311496250227113168667699839784895143073450083159342040491108996091293773299403775373675479442414028635512845753599593465958515439314261477667115320238860297132255453547593461618684702771974841389874181927241081825231251692448125495712888837311828179153939774617964251012076097698055906803373418700395159753875909915060319231584190641185226518413962307585780838847294517104443075409664167824671693752505710302701222096826196508425021003904129572660171762696545353989790102446588921589185242736452715085369221752645477024920323265753017305768008472629078733889704689378528966400183523931395585923806938041735125005551182363915286798061413379068630561687660177819492710592578521066698354496646352379389839538051045897731103737947692471579481465737470005304922033856413910535208693055863546012937782716299954511143809432162482096143997729754249464882769525880776311734810516180834591018803597365688554961461818026735945034921252779301310334369806291211253166699469115045797195196178673802114506368584719204203662274361669302957243779388569905697006905864804213137162743195936715811697023370472861661519791471657495728842412914124024242232181081585047164423844134010211672937495777790608735606080051178083696229700007633159241293512347053541133470920835787132360058643112829432402286480502947935601536967100121442167632743586306966196305562650172042688192529030646140166035580097468236061650333494092824896455899318989629783464967251735099331675633420324709135332569564651682335110590522207029764030685728358676234021429752290113584344638195903383805964386805998217874393632101283151696435672640379732423648079548895100894015454480207972488239155323415416866459052782114410645942056715143550034106062469115949037053169569132131462756328265305217280092447690802040107906809538145894364443024340437615048541956459818932348238454851 451066952997822139355696271912789536485599888459089663797197357245774476997064108921027522766876483963658497972387878989089306680216901735936216798615145661173544503193792690550992630976841656805217323799456020957962111381837249564013802434767969767847091380989601541023371825949161512827980688825863560850792307780473949868485941277067105902560144178930482766383988531112355547712264590099670877364392297732204689982948414485002027261937877595908568238997593684910559400365735075601749131961346045790741154834061971692344914599522239248677779486057302976925371776424101210241452856227825390192631083751203319371726100263169091312442819895348367804717131369660475500358992406045427597017632232426379459650343385058458250602227286657197279020174404858390836539621057020156794758940641834830867025978611427604751738376385636755093131139569818646081718464412466934454995865253208323908344724764669689273232554261583194769495431538357734913284181516322835746965697625718672238190388923552266954380717426553181317702847059746711252243597922339188143334214996411825759548147164263724869116813740021938787933575182633972078265916332612705294676681857050393667123317681862467004196279859207066381230631409423137680246888331262285722286550544919078893279588203882305586608162647338470129397353333482510462934717894640273017204019864637951962487177474065701992479108796873850508535532745487451908891250019825819714991428339976972777848947480610903927185746546655781115331147567686927948508286571578664131982718289955795430697424577595192638577460234205053178202839398826332867899623240902605580499448516299795588940720962993929453334022501146311232753964998711902927000232499781879597732720721001138015736711474845236977622645444801432539922313399875246734006864862325521739439541206170834621071697477138090023693229368604371873773524947904906840136606930601310440433501938655931301470632465540537006685797537529833912766467191396952463738800328662704213351373177148197651849533036585606113839353160410535153264962943676877750945774311573682696370108801912188341546571793753307102046741050523981673570579975907254379389987898816556134999858128681243234982081678351527166585166292046476170199583700540529641346547822535833781620742891045558733982334916580874737192026186418636393989112262483877399051615677093980446180616345605861199287591940021213642869723537048591406569248031487527097495373165620140631067132777491251079804179234394215509780226240740837462673300447514987751752414704396713589406883752701249786861752836900788434012972050798716305517515029676682702128244929885931550535486808568926735573413495315576944198539626962944021764705464444206276476392961395831542729495770712580954736321416605502460352488346934398865864876682402968992676433668131363319104126884329368126675674194816060808071754127805886262336579759392856386045196184338666961474490382546377682929326759347686524713480318525244829506668800990584634565538504007751037634457587979871112807430061323942435080788530283160282968259379000063582308486961108399203082760390573598801179144621466014068554963099255628615556340047491048748338932042021682826844291614029110940544572348758061730345423589090575106477488047441485460883264167654455424365055963051839174486163332529726998493634829003429552722552262771201157976297298123043454535631629790691679037655971414416096326114791709443935677144825084314919392404080113951959513795413859183565277009280957244516418528362191982759691605013646538366018034531991721659657828382517569964279684292135651106857535786402781714339733035185919315195825998285575110413990004844113947699667649145596015130852130642291810652287957287254315058568603185142939571805929361439948743693931487492241107614859462185412993482362912861163642160213374126491798377971707548137190133024965955642523927933132320803539908487435339552082307499368571994904361319592319124956565111995386740629750455410385664838323726990301039400278892106414717425725523038086535092092132429077304630392558020384857150382478854244005819159886062742353947653098422345317634108781985972871481552136963041179473976446999698494930921899712913629164824985530184978 729841661152327495704796326883736427730522230037190372621799397827991742367269956085782158832718953158162006800692072130443794572095152496309742841643025538053673972377266654350404513976539175882387463886633524021866508510755617575726533200334156955294501185701468007153875664655275402789344297257264240677675753072437455861705286523466816530288304343069735659274448886965373362088529688852841943267809069447918411351783520662873068302008933106766802768866950443542051957558476433486336468904764268100133426324936245443015672613717670042033547971077655965524087842794786384598317858034570040385089497508940324356270316201604613601905395100634952144557101365337924791601820653983282792276419893560240613883089979062532454052888877112872363909005287111301557436817341709857617254826370385407862066276610000499120652490957789079222353040820079991842867479487589464475159882759249104445581899499205798125618255710452077389786655661672611936830157101232081470229739690964144378071745671388642378131842621873511223632784246346342056380595415947688999251101283428099471598929938571666516957660991565763556071514747637649020182672744205095024812784665876284752534457963234780195030078076242841357850200728614516687992489135064341858830558668314537456952527494946996395415804587821349343173145827680341569309393448111169061915920309029857224590491230685250266320118254792822889732959279815369782762102929269135256140161863221075023383747387934966782997589259694774114645524832182662701251889816263179631509352452483502955751834576689984061830640132708534655415739066953876464713363207596243621140497504677802611922126656599981389673815390823407308673478647184014074010063722986566486564751313945317531655525450192011584620728717962599965137843493511798185824735718444440472020490145863177796530264221210761027734680978846934593272016540477049585830758354982119862959692410679210755908852843311662329540817787221404709863821029568425575546343160602768037156309934060973709286303453554330458920843562692061173594111877912846561940944551215757608984467745034348019856545194139409583793275730110359204438491531620247261392516725023422360491652864358380090267960982920287065137198523835949935287449528653804069823725887260868607423133736360663154121541477270834436164938105172591058542873537930337217286201479506291942430843458774528899127376835164287092952882879089082515565339325260826501270746841099583045095768290337004679397645192909654824041703907856157701533597579770441299345876323081416361381725142575431714102834662132040126461097546511605142829343208830622476746209180898007648233542715372300154273808655069452854113599946194528212405890690962620238783978742234678837246600213787990618904146088299254966062791048156495692061385107423972896806006328303126015649480874119470573264595784001303544524469213175108014982056784313179651798213490106675434103569116436082372307855725747870048644875904449051767548403925996135816929453790805812451013526218541558772985249554034535013601855228637656929320638768839601633354384692212137150775231970055064538649149926388047924968873634464321671419886060428831464638886553165492259006773710173108670298821813640831256226199900825385622658322638460289058248952722615917242391791908086760427265464642864096804784846082170129021837598059966397336650099412629412039254835833452966040706958928658195484896020488716349800481357962247058115329119891810975329986657075378975036934505009799657430542552604424163841276652178070382500028246204929217437448437118123650015457767988365351114490695027696294061393274168656840150982958358344218223243422407130594450647603250682563115252294298275035396959254153592816965230611291377671970217946095397020046211929993137825735200439755918084731983112146377828415377259545049759912123087107040117701841815360076546164730957697163006531898584721456769304372421083713210190807745125556705930954782986389018841912902151846058305218056150638380588295379786121869197633698011277241858507508998888130086744803203962441572293932512960306474935108923115911923079784561178673582939326062078420562283592244869850717619870811442722835368536948254870088983757333768639829 1180908614150149635060492598796525964216122118496280036418996755073766219364334065006809681599595437121820504773079951119533101252312054232245959640258171199227218475571059344901397144953380832687604787686089544979828619892592867139740335635102126723141592566691069548177247490604436915617324986083127801528468060852911405730191227800533922432848448522000218425658437418077728909800794278952512820632201367180123101334731935147875095563946810702675371007864544128452611357924211509088085600866110313890874581158998217135360587213239909290711327457134958942449459619218887594839770714262395430577720581260143643727996416464773704914348214995983319949274232734998400291960813060028710389294052125986620073533433364120990704655116163770069642929179691969692393976438398730014412013767012220238729092255221428103872390867343425834315484180389898637924585943900056398930155748012457428353926624263875487398850809972035272159282087200030346850114338617554917217195437316682816616262134594940909332512560048426692541335631306093053308624193338286877142585316279839925231147077102835391386074474731587702344005089930271621098448589076817800319489466522926678419657775645097247199226357935449907739080832138037654368239377466326627581117109213233616350232115698829301982023967235159819472570499161162852032244111342751442079119940173667809187077668704750952258799227051666673398268492025302821691653352949094954971131590203198047801232694868545870710183335806350555229976672399869590649760176387841843763492070742439298386449259154285176700408100366913587833618578465780209332612986448498849201639946020977598200862847619593910843007837891969718541427443645895917001010296222768446084297472034946455547392236925037248562243374162764032505060156893387044919831600580769962211460031352034012417601961698348851051427910347451306467045541488381956425967365285583430303393194349335142057379485308852199336226615324751238622630288220965378039285143489265472250507683111209171361135836490139936572760196723102596326859074821589724312886718862789440305354576546946536361403116987892716685840016780634340878009071507527501640782504623839978495491510993039623325250042661271814231722364815882426105487033229194333711170273709796702389043876627406221888103876393851709173356964291591227452531985800414214616337817156600272388611459804380390098414968775185500735822606416137673922134587356748353598766120006719723676162901067828255759201824427303870333821930148596995164206898027285429051098291027478129950788608895276681500964587499032828560474069597310321448346858238507305178874454110783939198769029523941226889847222150385029798312139573157472234170596155406826515260371703630510379976095984500571573640467504904757426415279395090894557926261789826941889482439996434489334753607758448838699940269978817364352596223340980994277318636543706036037843409674445342395578059498982460055237182485095556573358356222974296597055072726986720451494992294813563488647983806521429885792679615358477448682643758920817212288898147839665215662871653320536353857992360628663339828294547854061993523836733719950286976226107919880212977818595187175085851065324202219610843394162398892986571623489915960729135810685901774519132216890270372666756847871138599601751627975393823803278480911173558574560150322737598494626396710752455493790467463243657719744614900072611581222135280425793736158502787331373034721523971924927289500452489238158602211514290756901946961080966616146600968257191716920866046280736920939097106265500641219979737452280501002221348230814099075775733007203842759466178784356629793333657412411974708398347270899828159130383146428917327207611542110880071280289179894562814909789752024758459994955623924625317976308054615380270144976594509290689579019419758423886403921465078747665839031948385042501807254885630295327335438493208892108856454728583081782185712106445149025055911348098384405582542652607256443970056379877628681627695658678228283915059423534315328393599601131317207391375195761982826429444314991814550480754268809178654277027437659601018900573434844064393433765144381832891897093847258442421330299458847967783718148582319298824807 1910750275302477130765288925680262391946644348533470409040796152901757961731604021092591840432314390279982511573772023249976895824407206728555702481901196737280892447948325999251801658929920008569992251572723069001695128403348484715466868835436283678436093752392537555331123155259712318406669283340392042206143813925348861591896514324000738963136752865069954084932886305043102271889323967805354763900010436628041512686515455810748163865955743809442173776731494571994663315482687942574422069770874581991008007483934462578376259826957579332744875428212614907973547462013673979438088572296965470962810078769083968084266732666378318516253610096618272093831334100336325083562633714011993181570472019546860687416523343183523158708005040882942006838184979080993951413255740439872029268593382605646591158531831428602993043358301214913537837221209978629767453423387645863405315630771706532799508523763081285524469065682487349549068742861702958786944495718786998687425177007646960994333880266329551710644402670300203764968415552439395365004788754234566141836417563268024702746007041407057903032135723153465900076604677909270118631261821022895344302251188802963172192233608332027394256436011692749096931032866652171056231866601390969439947667881548153807184643193776298377439771822981168815743644988843193601553504790862611141035860482697666411668159935436202525119345306459496288001451305118191474415455878364090227271752066419122824616442256480837493180925066045329344622197232052253351012066204105023395001423194922801342201093730975160762238740499622122489034317532734085797326349656095092822780443525655400812784974276193892232681653282793125850100922293079931075020359945755012570862223348891773079047762375229260146864102880726632470198000386898843105656336299214402683480521497897190214132225919559612079162591326298241060317558028859006011798123640565550166352886760014352813288338152163861665767433111972643332494109250533803614831486649868240287663993045270145070422139943694267031681040285794657500453186699502570874827663414005197914339044291980884381259662182032126269633292510744700082447563039147748902175021348863400855983163857398003415518003644192101296859563339718376040774482757848137780993999597057570996467010363766885042225417871122543609521902396763818511074859338344551833624018636106564331042303263154918997542345610349787828775489295226756437699926682009180100036866847819306721258669358165260438599469620213525157863634056453152865740495607055870350444167350559546312170334037852113215067422161164868686935167143821926591176201447337927655620663291681946847002572239313527044121030805454482652425739519352000446576486846369446754044350445865189217222696198288562192544613593204012392478070443247390249987646897250914786288446324737615350403088632568309273204865762818667897120692554156102292300693328019215689641623164552017829681628615418542427545038210843426622003232127423348364603476652982856268424446085619375939661510025062988658777929169393012462284498987558474141609536916679266849017256345532673504633224330683727878477444474242109918492710368184271958396112168348711677616705148352667344857839034375328281142215976039724242797823390741346351794133324362063577381169612886289909148639779225360029017092618257920608063326993343687596397748382703995831276496123381867533045303296696623760451573828730807066118155769142143536639860749578431150050643863735902619487109564617133639146019300556559377503633571040310442244909369787303366074526941850156534554702618764869995195220268866353335838925841795369837126281372499599617161742714974011556900834819105302848994874150510722245635440727192362604570796264472888245519791185940486880007698120155480041167553917763143711508494371298354876959706655668517994396679303473646316044552185787783540873763745119047971985843327458333867337077930348878160827149666794992376519851570705730986866131084773424424455554759102502275274436028267062215991038464350153112693121545592570252107110130205337478119998965945268001738247504774856955689377732294566200107222220779692483512760906142813996048736626702742614713718069885144165667995796222653807132339653067464636 3091658889452626765825781524476788356162766467029750445459792907975524181095938086099401522031909827401803016346851974369509997076719260960801662122159367936508110923519385344153198803883300841257597039258812613981523748295941351855207204470538410401577686319083607103508370645864149234023994269423519843734611874778260267322087742124534661395985201387070172510591323723120831181690118246757867584532211803808164614021247390958623259429902554512117544784596038700447274673406899451662507670636984895881882588642932679713736847040197488623456202885347573850423007081232561574277859286559360901540530660029227611812263149131152023430601825092601592043105566835334725375523446774040703570864524145533480760949956707304513863363121204653011649767364671050686345389694139169886441282360394825885320250787052856706865434225644640747853321401599877267692039367287702262335471378784163961153435148026956772923319875654522621708350830061733305637058834336341915904620614324329777610596014861270461043156962718726896306304046858532448673628982092521443284421733843107949933893084144242449289106610454741168244081694608180891217079850897840695663791717711729641591850009253429274593482793947142656836011865004689825424471244067717597021064777094781770157416758892605600359463739058140988288314144150006045633797616133614053220155800656365475598745828640187154783918572358126169686269943330421013166068808827459045198403342269617170625849137125026708203364260872395884574598869631921844000772242591946867158493493937362099728650352885260337462646840866535710322652895998514295129939336104593942024420389546632999013647821895787803075689491174762844391528365938975848076030656168523458655159695383838228626439999300266508709107477043490664975258157280285888025487936879984364894940552849931202631734187617908463130590501673749547527363099517240962437765488926148980469746081109349494870667823461016061001994048436723881955124397471499181654116630139133712538171676156479316431557976433834203604441237008897253827312261521092295187714382276794638219693620838927420742662779169924842955473309291379040960456634546675250542957525972703379351474674850437626740768046305463915528581928155600802146261515987042471492164273306854273385510886991173106930329294264974252782878866688355045963606845138758766449961835792706836719653763067535309095957314385535288564598095711364430359834514038757533698802986854539030397421570425993516197801294047517395491685564205050148029947393634341299401542458378037676262958942933128794716032009660197697247409236741132248039523059685845232834495117402465886045771601763254753933968252955839512450737879092509472680747083001776273269304722149495699597198792182789133766185081098108769818893349838338284807913908687077856675770886321172104685156696391017147973145135741636032249716915895137096569619329871725251727485032838997360225259688114401002482782220695938983195361588350397644961658549379969576719919438380432939428309493831584418544570608784751489910967142746479291353898435064518932064680127998853209858491216691312391218305739022096171912016547101904222245372338276268591890594523743539842430708904358577547891985610138438617229369446880657307080929944010263838096513386503156662575905487650363959630768720593651744411341807904517246170957898705441594325902892834134323026835770759940281480196188728803418647340291049567937272798363536909804184772167835660829908987562053855292241357533591313461324464714537656457043213166561504224232120807678771095631660968119406089974932672549367355557187156655894445612859288576342359083340527071603804890558247231080011247342145050338881376018587156109689812182338375352959525808971080503301789797450144913940036123177842388461687816548986678625021936301164959207573416099061897532719966017264535449379905712130161549779240728957753661202775571139240987017281878249876774562231958015854756042777479183157830006998207366358946245330815905895743843686697142578437027752545079907898645706711261522544869495194727928094431182562496589407436443646541473220477134659880380711384086195750207207429813881008535634511807565328327565495967454644190437525280921972366289443 5002409164755103896591070450157050748109410815563220854500589060877282142827542107191993362464224217681785527920623997619486892901126467689357364604060564673789003371467711343405000462813220849827589290831535682983218876699289836570674073305974694080013780071476144658839493801123861552430663552763911885940755688703609128913984256448535400359121954252140126595524210028163933453579442214563222348432222240436206126707762846769371423295858298321559718561327533272441937988889587394236929740407859477872890596126867142292113106867155067956201078313560188758396554543246235553715947858856326372503340738798311579896529881797530341946855435189219864136936900935671050459086080488052696752434996165080341448366480050488037022071126245535953656605549650131680296802949879609758470550953777431531911409318884285309858477583945855661391158622809855897459492790675348125740787009555870493952943671790038058447788941337009971257419572923436264424003330055128914592045791331976738604929895127600012753801365389027100071272462410971844038633770846756009426258151406375974636639091185649507192138746177894634144158299286090161335711112718863591008093968900532604764042242861761301987739229958835405932942897871341996480703110669108566461012444976329923964601402086381898736903510881122157104057789138849239235351120924476664361191661139063142010413988575623357309037917664585665974271394635539204640484264705823135425675094336036293450465579381507545696545185938441213919221066863974097351784308796051890553494917132284901070851446616235498224885581366157832811687213531248380927265685760689034847200833072288399826432796171981695308371144457555970241629288232055779151051016114278471226021918732730001705487761675495768855971579924217297445456157667184731131144273179198767578421074347828392845866413537468075209753093000047788587680657546099968449563612566714530636098967869363847683956161613179922667761481548696525287618506722032985268948116789001952825835669201749461501980116377528470636122277294691911327765448220594866062542045690799836134032665130908305123922441351956969225106601802123741042904197585822999445132547321566780207457838707835630156286049949656016825441491495319178187035998744890609273158272903911844381977897354939991972554712136096796392400769085118864474681704477103318283585854428813401050696066330690228093499659995885076393373585006591186797534440720766713798839853702358337118680239784158776636400763667730920649549198261503300895687889241397169751986625728597222575129276970980907931099431821362565934344403884954174630699261133183160490115780694147832892774174002568280978089283761293995103163618611861473127323569848145720023349072595360888814421488381077695958729694691312782211371420281585675057901555584328771462059332645909720035559785023585457246350001504454700146837608449293198861920023199744467417126656003549378054941316729819544910327258906782409817364820477820993326262026032952432988343884466052315367971003856647407203348537954144502373251641734037765495507971981198198913697384344385883363124441021996119096783183496338281830509257470088494203768450444617303568211228891892509775566743392952876173127826114478341472167270271398653432724077334625901673894556116042952485054127429589319659785813211909665019405134897860933767355647088145590157179388957516190559881074056636905240647762557534225713458446818710080809438224286488235334822811699396732528474671618472425880503552891870020701968348108696767485458075931291527598195334620621252166215670738170959970127892818233708893026082497689815449985569948841958700502269786577816447459082050185314096337019200849603621654027883302052416753134639825847771328762266443788669805148265069420077290731760151605399325043357976979898896007820627725567812778365371179036010569450323232920779475875280597751226572285211995070112649069589865178109027916671766938751809586560487029643610267931254431453762125461448520605251934162806059677735606928590140445666625500468897813821391727882347615193693873362432920810001364264392133024273767786677241882101160403867598956656350021425862617635238377126521283398212709661635450440413091332413261625433754079 8094068054207730662416851974633839104272177282592971299960381968852806323923480193291394884496134045083588544267475971988996889977845728650159026726219932610297114294987096687558199266696521691085186330090348296964742624995231188425881277776513104481591466390559751762347864446988010786454657822187431729675367563481869396236071998573070061755107155639210299106115533751284764635269560461321089932964434044244370740729010237727994682725760852833677263345923571972889212662296486845899437411044844373754773184769799822005849953907352556579657281198907762608819561624478797127993807145415687274043871398827539191708793030928682365377457260281821456180042467771005775834609527262093400323299520310613822209316436757792550885434247450188965306372914321182366642192644018779644911833314172257417231660105937142016723911809590496409244480024409733165151532157963050388076258388340034455106378819816994831371108816991532592965770402985169570061062164391470830496666405656306516215525909988870473796958328107753996377576509269504292712262752939277452710679885249483924570532175329891956481245356632635802388239993894271052552790963616704286671885686612262246355892252115190576581222023905978062768954762876031821905174354736826163482077222071111694122018160978987499096367249939263145392371933288855284869148737058090717581347461795428617609159817215810512092956490022711835660541337965960217806553073533282180624078436605653464076314716506534253899909446810837098493819936495895941352556551387998757711988411069647000799501799501495835687532422232693543134340109529762676057205021865282976871621222618921398840080618067769498384060635632318814633157654171031627227081672282801929881181614116568230331927760975762277565079056967707962420714314947470619156632210059183132473361627197759595477600601155376538340343594673797336115043757063340930887329101492863511105845048978713342554623985074195983669755529985420407242742904193532166923064746928135665364007345358228777933538092811362674240563514303589165155077709741687161250256427967594474353726285969835725866585220521881812180579911093502782003360832132498249988090073294270159558932513558273256897054096255119932354023419650919980333297514731933080765322546210766117767488784346113098902884006401071049175279635773473910438288549615862084733547690221520237770349829398225537189456974381420364957971680717955617157368954759524247497642840556897367516101810210152292834202057715248316141234762466553448925635282875738469153529084106634898838088219904109702647131441481560263181753640626086422670222320819028393324610898096613718938545775765823034912057536717133507553901497704370945808070652849921993292653794744856588411620280563866829724914775789421552030264770119923959865815464271406628137830218967081824720716481414602605219495137246090732396554524344430295431539353071469719144611688842546738280201004844220547393109479602721393012726408828218638287920575412922009708263322846485254796280497688231825747919146738895992284218784480517056849406407045717130978377512343239093221615657713308510315088922518434453742525804571992716449140788720885895458805752635432352206275647751530424065113436252916958701536717152055960513654021344889739770407942619199615060959615079953279290554533805561409430746942802378179938313545793587184483082281791650513586716844816577186720843951286337644360798737868278018082236587823398039519594979535057562437462233672327718121861086483183482026433062646353224528671242492795751830316142299392347797876638857577049945060565367601064450213239153584261062844858525184317783842796858181621338017329281265325343679164251188484997672615039411742228935473015178807297137733346947090459602598409983360113413909602540067087141592344655604920832308985586933141228877427268711755976586714858682300685188005442147530467301242965656272888220208830852195390906166548541500983767602415243072421089451089084438451969491820394765936067840058549903364432749507027168198211705408367543520532653250427217110388421801456864103372497953671828576670815241007154376541981541115251685152406557228855676498643774011638328848726540275157602905084603528857694183597800043522 13096477218962834559007922424790889852381588098156192154460971029730088466751022300483388246960358262765374072188099969608483782878972196339516391330280497284086117666454808030963199729509742540912775620921883979947961501694521024996555351082487798561605246462035896421187358248111872338885321374951343615616123252185478525150056255021605462114229109891350425701639743779448698088849002675884312281396656284680576867436773084497366106021619151155236981907251105245331150651186074240136367151452703851627663780896666964297963060774507624535858359512467951367216116167725032681709755004272013646547212137625850771605322912726212707324312695471041320316979368706676826293695607750146097075734516475694163657682916808280587907505373695724918962978463971314046938995593898389403382384267949688949143069424821427326582389393536352070635638647219589062611024948638398513817045397895904949059322491607032889818897758328542564223189975908605834485065494446599745088712196988283254820455805116470486550759693496781096448848971680476136750896523786033462136938036655859899207171266515541463673384102810530436532398293180361213888502076335567877679979655512794851119934494976951878568961253864813468701897660747373818385877465405934729943089667047441618086619563065369397833270760820385302496429722427704524104499857982567381942539122934491759619573805791433869401994407687297501634812732601499422447037338239105316049753530941689757526780295888041799596454632749278312413041003359870038704340860184050648265483328201931901870353246117731333912418003598851375946027323061011056984470707625972011718822055691209798666513414239751193692431780089874784874786942403087406378132688397080401107203532849298232037415522651258046421050636891925259866170472614655350287776483238381900051782701545587988323467014692844613550096687673845124702724414609440899336892714059578041741944016848077190238580146687375906337517011534116932530361410915565152192012863717137618189843014559978239435518209188891144876685791598281076482843157962282027312798473658394310487758951100744030990507661873838781405686512895626523046265029718321249433222620615836939766390352266108887053340146204775949179464911146239158520333513476823690038480819114677962149466681701053090875438718537167845567680404858592774912970254092965403017133544650333638821045895728915765282956634377305441351345265724546803954903395480290961296482694259255704634782049994311069470602821382979236790783960728056749821323172117135638905515709835232121413217496875090610578230873302922829116098044511040597300921581952211553814726678790761551831319949768391315890146820478427502657065116316232418935394222698067713316002867340217477226041768944944525683644470480734334241636190401509634923717019855735399599889551612991544756276266438188062465845138750545432543392132793723494293459376271214186561738344846096116335142321574040092303436738509503802830091229306039631614182601445874442696607207312537570164251501544879232951267684693040494657470426214554822344914379026915329892074896687624976584740098735304629411872106014772735573035062042081210652909239165503199027016981527324861981842391144483300238241262367395300173703987423454613946378098679515641444302498735242567546013742509542598950340347017471074450152077700239113705669192881732774640261670749166704146597918873214091961491713843871870074257184686988098891674812109886274854417791234454294965936905290800144002364639375053502728401410755049992014129318424087279428511476920013599964092309595748009915188458185834773343239321651274076512830428474026276484345066644759437785476411331450639440016183452038088619326642922713794645688607655004655068466495613390879129407746675052780190704641362691672486466635702632584819728316806214658709041655792639890791987156165181915221464663880722745281693873528177651343000869278420717373499934083220308439735577188975730102064699719020338869905731617281843286541319774221355963042168356435617308643878330908836441334354044978309564725582115674819297024182499317936220709695089008793831618424082701519119284109062907250281539116279012388764850132124752984819238355525016620190107445223233797601 21190545273170565221424774399424728956653765380749163454421352998582894790674502493774783131456492307848962616455575941597480672856817924989675418056500429894383231961441904718521398996206264231997961951012232276912704126689752213422436628859000903043196712852595648183535222695099883125339979197138775345291490815667347921386128253594675523869336265530560724807755277530733462724118563137205402214361090328924947608165783322225360788747380003988914245253174677218220363313482561086035804562497548225382436965666466786303813014681860181115515640711375713976035677792203829809703562149687700920591083536453389963314115943654895072701769955752862776497021836477682602128305135012239497399034036786307985866999353566073138792939621145913884269351378292496413581188237917169048294217582121946366374729530758569343306301203126848479880118671629322227762557106601448901893303786235939404165701311424027721190006575320075157188960378893775404546127658838070575585378602644589771035981715105340960347718021604535092826425480949980429463159276725310914847617921905343823777703441845433420154629459443166238920638287074632266441293039952272164351865342125057097475826747092142455150183277770791531470852423623405640291051820142760893425166889118553312208637724044356896929638010759648447888801655716559808973648595040658099523886584729920377228733623007244381494950897710009337295354070567459640253590411772387496673831967547343221603095012394576053496364079560115410906860939855765980056897411572049405977471739271578902669855045619227169599950425831544919080367432590773733041675729491254988590443278310131197506594032307520692076492415722193599507944596574119033605214360679882330988385146965866462369343283627020323986129693859633222286884787562125969444408693297565032525144328743347583801067615848221151890440282347642460817768171672781830224221815552441552847789065826790532793204131761571890007272541519537339773104315109097319115077610645273283553850359918207017369056302000253819117249305901870241637920867703969188563054901625988784841485237070579756857092882395720593586266423989129305049625861850819499421312693910107099325322865824382143950394242459895881533488330797159138853631028208756770803803365325444079916955466047166189778322724938238894742960040632066685351258803708827487750681234871853876591395725127141302472413608758725806309316946442502421112272350239815208794125534816153072150883860204463362304804879098227552932018723194610198746958454992874108059044793941867020251305716779200313225362314784483092297851685137127019971143902771239947139337576887375270769865725534214350802204357195561010210966614020603364743464875547989706608656662085074065637662049508811355408559246270155886271900960521433594789532484127142027737719770580073369476992747852790667685340275996636164939946657138153789724998729342683905706350033688642854615343326418260639696546218112225195842817638134258269902103176858796452404870530159022824960531999233111058699186831431936486941689210695071879194320786072632460870452409030864069806355756448613139726961028533207189315560866614073927102050027886389094485822734162757214188118038896013724303354698620312258875240704575510574460032120024405381214710441354442182606973357589495878240894880823032483880899020502617293643982738675319959123343952540817217733314763689791278682335665130209514435055922555266116973911399933284314374012770769511857403399138963127862124225725858236984754834473401403216542800560916883031258827619219405947761968948453325059860249023553435837793452560804858337575675286999210594268187863502941059123493740612715964783695347703226573616999257962125536874624080670183462365604228960337969589010345085036140304118550965231739573608228047288189740560625791801591850270533219908602547963742880040597522149851886164892812161174771143307615889089487251569568890840249768849940719344791390973174485789170109423308357701109102238052477387614279905866406601105942644476842090036317203984854886698228736781835970537476276161127554997271608049286365904249800985994966064242634370969261469464479137215614922786400403178980851293259976841260609620149047801628821033841123 34287022492133399780432696824215618809035353478905355608882324028312983257425524794258171378416850570614336688643675911205964455735790121329191809386780927178469349627896712749484598725716006772910737571934116256860665628384273238418991979941488701604801959314631544604722580943211755464225300572090118960907614067852826446536184508616280985983565375421911150509395021310182160812967565813089714495757746613605524475602556406722726894768999155144151227160425782463551513964668635326172171713950252077010100746563133750601776075456367805651374000223843665343251793959928862491413317153959714567138295674079240734919438856381107780026082651223904096814001205184359428422000742762385594474768553262002149524682270374353726700444994841638803232329842263810460520183831815558451676601850071635315517798955579996669888690596663200550515757318848911290373582055239847415710349184131844353225023803031060611008904333648617721412150354802381239031193153284670320674090799632873025856437520221811446898477715101316189275274452630456566214055800511344376984555958561203722984874708360974883828013562253696675453036580254993480329795116287840042031844997637851948595761242069094333719144531635605000172750084370779458676929285548695623368256556165994930295257287109726294762908771580033750385231378144264333078148453023225481466425707664412136848307428798678250896945305397306838930166803168959062700627750011492812723585498489032979129875308282617853092818712309393723319901943215636018761238271756100054242955067473510804540208291736958503512368429430396295026394755651784790026146437117227000309265334001340996173107446547271885768924195812068384382731538977206439983347049076962732095588679815164694406758806278278370407180330751558482153055260176781319732185176535946932576927030288935572124534630541065765440536970021487585520492586282222729561114529612019594589733082674867723031784278448947796344789553053654272303465726024662471307090474362410901743693374478185256804574511189144963993935097500151318120764025666251215875853375284383095329244188171323787847600544269559374991952936884755828095890891569140748854535314525944039091713218090491031003734388664671830712953241943398297373964541685580460842284184440122042066422147748219280653761443475406740310640445490659460264229057801792890767814779522187515412441620856057067755370243136031247660662212167049225067175745720106170090608229075408776785665910198774431775407700481206789722802683922666948568281627110009746964560503777099141664523213654290923803593188087405921413949729648167617272065484723451500954064255678136822601185675302605666692351177673988512868031730336835783678859098246057419924659529425291542863703818453755881092203716750890220513537150922943229713249503982877427337609322193064914233269014290978730151185414747181597483338789931877284018458105613898092268088378534738970950485647992300731999982956621728998672908867440297901516285778304670895101477737471560395124783500777990291650454516124976981599159636909626701539235165099547790762527305718489046391095855183917769138833134547979924888595928656155137754959267051892293512839715690082076169960430040497024541595960987707559048944691998965188406410218703921022659012940089684750152987100099038477191235227840503558331051098202856407349651931557052733763605623289983921879912682563005370643827378974081384509313107242254215865586212043170589228430562003966152369336044253928006126590365233290487483235884156453208556929879340970310687339096139419547726061258049073069775437481739270611136691882456132414088505715473236870752532930147700496908970151944166604223711531155264662236325900884839331520312688325188117434070724573728848718418091760088920494823192327923412060074863749920774560288942598016250559312189012548493339950899045222512743614515766887638093855048299320958958889958765672286942390774332989158380454921980366703276550488889129762178263432726384081339018707388501261829448769462378261785485968367226040426189240743207046346561552653151095458151737496589544269996060993258594817613390146944153490253370532371729418754731201798789168029112976046244796079616134636769237909074044267638724 55477567765303965001857471223640347765689118859654519063303677026895878048100027288032954509873342878463299305099251852803445128592608046318867227443281357072852581589338617468005997721922271004908699522946348533773369755074025451841428608800489604647998672167227192788257803638311638589565279769228894306199104883520174367922312762210956509852901640952471875317150298840915623537086128950295116710118836942530472083768339728948087683516379159133065472413600459681771877278151196412207976276447800302392537712229600536905589090138227986766889640935219379319287471752132692301116879303647415487729379210532630698233554800036002852727852606976766873311023041662042030550305877774625091873802590048310135391681623940426865493384615987552687501681220556306874101372069732727499970819432193581681892528486338566013194991799790049030395875990478233518136139161841296317603652970367783757390725114455088332198910908968692878601110733696156643577320812122740896259469402277462796892419235327152407246195736705851282101699933580436995677215077236655291832173880466547546762578150206408303982643021696862914373674867329625746771088156240112206383710339762909046071587989161236788869327809406396531643602507994185098967981105691456516793423445284548242503895011154083191692546782339682198274033033860824142051797048063883580990312292394332514077041051805922632391896203107316176225520873736418702954218161783880309397417466036376200732970320677193906589182791869509134226762883071401998818135683328149460220426806745089707210063337356185673112318855261941214106762188242558523067822166608481988899708612311472193679701478854792577845416611534261983890676135551325473588561409756845063083973826781031156776102089905298694393310024611191704439940047738907289176593869833511965102071359032283155925602246389286917330977252369130046338260757955004559785336345164461147437522148501658255824988410210519686352062094573191612076570041133759790422168085007684185297543734396392274173630813189398783111184403402021559758684893370220404438908276910371880170729425241903544704693426665279968578219360873885133145516753419960248275848008436051138417036083914873174954128631124567712246441572740557436227595569894337231646087549765566121983377613795385470432084168413645635053600486122726145615487861510620378518496014394041392003837345983198370227783851894757053969979158609551646179448095959921378884733763891561848936549770403237794080212579579434342654821407117277147315240082102883855023605297718966161915828930433491237028955502871889013711801414785294637243209387494691448093401832565512093371051400836820017494555534869549523078998344357439148422323973794047126533316191510365608501365867962567236500762963021046106785438111444376824502781988110019455075329092773138283710261762143769397836525690743817762423285447070031073743456834956581997974438412223381825565828974410561371696529174733954194515726505574556171418388955163467347506348267630583220085315500011101350349641347556913468540848847604698580733555951172180251632979714749353116197451611632530908865794163081187114204156795270229064857009294938281387998662449852839290358078468936510748844950659608019817924185396574475762866442338728326403873723381444126932759960457688534355432130108663536042211950118705473700993634670232372692886949575830801139613227446252796649326163044104290898944369029797520332839497611976454903602443332773478009772735183217055868250816091091527472238070357557856425099730440257853341946166715358825495488030206502398129635686505292706448930144443260990751664181002472447465020720793650641556032463892556882569007406878858491235853325158846964868394936768995371579799674953534066818307428436845125060798941743293155151633683091797208964300849568389817842409582722232457095887914641925263110265764367653052530906016223070464266574779048252923856511281614582758008321174266771757676451036278059239185486621133835486319391496095002781167695855370568320906262328058403543244411044127441435783128397523190627371619279292493861152319282426897508395803608356211186787861222632001836208555970346124585189571208093827339504772920876744256918285710702865301479847 89764590257437364782290168047855966574724472338559874672186001055208861305525552082291125888290193449077635993742927764009409584328398167648059036830062284251321931217235330217490596447638277777819437094880464790634035383458298690260420588741978306252800631481858737392980384581523394053790580341319013267106718951373000814458497270827237495836467016374383025826545320151097784350053694763384831205876583556135996559370896135670814578285378314277216699574026242145323391242819831738380147990398052379402638458792734287507365165594595792418263641159063044662539265712061554792530196457607130054867674884611871433152993656417110632753935258200670970125024246846401458972306620537010686348571143310312284916363894314780592193829610829191490734011062820117334621555901548285951647421282265216997410327441918562683083682396453249580911633309327144808509721217081143733314002154499628110615748917486148943207815242617310600013261088498537882608513965407411216933560201910335822748856755548963854144673451807167471376974386210893561891270877747999668816729839027751269747452858567383187810656583950559589826711447584619227100883272527952248415555337400760994667349231230331122588472341042001531816352592364964557644910391240152140161680001450543172799152298263809486455455553919715948659264412005088475129945501087109062456738000058744650925348480604600883288841508504623015155687676905377765654845911795373122121002964525409179862845628959811759682001504178902857546664826287038017579373955084249514463381874218600511750271629093144176624687284692337509133156943894343313093968603725708989208973946312813189852808925402064463614340807346330368273407674528531913571908458833807795179562506596195851182860896183577064800490355362750186592995307915688608908779046369458897678998389321218728050136876930352682771514222390617631858753344237227289346450874776480742027255231176525978856772688659467482696851647626845884380035767158422261729258559370095087041237108874577530978205324378543747105119500902172877879448919036471620314761652194754975499973613413227332552293970934839343570172297758640961241407644989100997130383322961995177508749302005364205957863019789239542959394814683955733601560111579917692488371734205688164049799761543604751085845611889052375364240931613385605879716919312413269286310793916228907416278966839255437983154095030788301630641370776600871246623841680027548975341992966970625722215680602012225855620280060641132377624091039944095883521709212893601988165801496065303580352144087782160832548690959294935125751144433462254515274872218142949047466088243648915972237076139425684186906712543538035947030074694274932101183072040104546457975720935657151365069686416323117592966679771936327298975262367320054216031492092896882412938414966203197943530776434748127987711105490999359906624237001908357761914940570480090242526790758120796516314622402862103696512131355683193188635373014854072934674733468138242607826005102143615210099000789091642000095863681890450140008484514325282272791116271728042395507020467842162588547466816448678004627297629167039092752723926384202611968561990173681511502165542921366528038898977007773386546620595727376973130088573440951272852557432247426532736321533811682912947557787572832623365336504039600543001216908330108343286601789425426650555199120785061493140128815802019969990423078372283453682137039774548705083824019625492830873894777444162142071227470983874377406456324817959721306241714309633656660319598823652633505811498245043214091464551471199411123987031977060066836325717123165752686717945684335773253723798342052941434044501049173231118410013755898089651059731804199915249457320559697233745678107795667025846528605213981293764935621078563693757955547129738861138510987834092968894911245005589227865540970485623009378883419940168999871271369785225533669007018596143453672388915747166701629188752124379727586766948368947664884566561870400730514802391282429525304140030699168047814026770769284837233368184642829474959075843778467077431029990450696589278487890766990621221746358130941351476002534207937974725077326383978739237206803385749569000492878893687523619776909569118571 145242158022741329784147639271496314340413591198214393735489678082104739353625579370324080398163536327540935298842179616812854712921006213966926264273343641324174512806573947685496594169560548782728136617826813324407405138532324142101849197542467910900799303649085930181238188219835032643355860110547907573305823834893175182380810033038194005689368657326854901143695618992013407887139823713679947915995420498666468643139235864618902261801757473410282171987626701827095268520971028150588124266845852681795176171022334824412954255732823779185153282094282423981826737464194247093647075761254545542597054095144502131386548456453113485481787865177437843436047288508443489522612498311635778222373733358622420308045518255207457687214226816744178235692283376424208722927971281013451618240714458798679302855928257128696278674196243298611307509299805378326645860378922440050917655124867411868006474031941237275406726151586003478614371822194694526185834777530152113193029604187798619641275990876116261390869188513018753478674319791330557568485954984654960648903719494298816510031008773791491793299605647422504200386314914244973871971428768064454799265677163670040738937220391567911457800150448398063459955100359149656612891496931608656955103446735091415303047309417892678148002336259398146933297445865912617181742549150992643447050292453077165002389532410523515680737711611939191381208550641796468609064073579253431518420430561785380595815949637005666271184296048411991773427709358440016397509638412398974683808680963690218960334966449329849737006139954278723239919132136901836161790770334190978108682558624285383532510404256857041459757418880592352164083810079857387160469868590652858263536333377227007958962986088875759193800379973941891032935355654595898085372916202970862781069748353501883975739123319639600102491474759747678197014102192231849131787219940941889464777379678184234681761098869987169048913742200037496456605808292182052151426644377779272338780843270969805151836137567942530216303904304194437638133812406692024753669929105126855670703038655130877256987397600119312148391658632526094386924398409061245406231331398046315925785385920237380911991650913807255205836387424513169829155681474254924134459283971254286033177375338990221517929780302698010417841417736111751495204780823033647804806808310270299420116312822453808210937946925545355600620529386152517426071937639948927860075756858532474658765451005250019935832859640075475032445498157221243198761791315777457011771099215031465496181074521273397861504193831183948837552559218756891758484259712834397140867920809161009343288476976245701681462247413087559026028419051714080523507045834151672991291912446022759866435554378890354093729642792982434084413373811696878718813480202916337488267507739341481653792538578517525824236796234817122329909684071939431505371775527062088216965202981502622082143596813423475393041306089637387704361878589410244353063688631605590114174272732726835295414500800192992349737211238803918680857332119023863006347067443908294028486735217195278785999078448979586870421460710354153296909519196613267468977856928455069510164615395760656886117367913518522231497280203747194897315485147916714139294896160573830406459702977938615672908015476107188055495445167575642754951335613803809336921272021798119537504774951586201106367575068598669296153467182663182398051166837294881544581435996080396433317227550922171914806410688039742628222547416345431959376599272166058756390759856676994579672526857070538702121671053869329046810492324683508996980768978113917416867720418131800793974517448983608973897937057931742238525288872247133942976218578769068310186226315931277033420631641862485333274965450339042092706678914233715327441047344338703161988079377651935378477633477462685115780182895748733275143251072992699905887494440249492108448055271519999964954003498505175022803455523882056178623045007608133151505700397356720122010897394063597221159510599020074310142085174312529248277495626078612603356599034405838696710322484311848908560914788275386424830102569317729212698634536044146530695423450969168310445300630725254341921369623150605809330479774870598418 235006748280178694566437807319352280915138063536774268407675679137313600659151131452615206286453729776618571292585107380822264297249404381614985301103405925575496444023809277902987190617198826560547573712707278115041440521990622832362269786284446217153599935130944667574218572801358426697146440451866920840412542786266175996839307303865431501525835673701237926970240939143111192237193518477064779121872004054802465202510132000289716840087135787687498871561652943972418659763790859888968272257243905061197814629815069111920319421327419571603416923253345468644366003176255801886177272218861675597464728979756373564539542112870224118235723123378108813561071535354844948494919118848646464570944876668934705224409412569988049881043837645935668969703346196541543344483872829299403265661996724015676713183370175691379362356592696548192219142609132523135155581596003583784231657279367039978622222949427386218614541394203314078627632910693232408794348742937563330126589806098134442390132746425080115535542640320186224855648706002224119459756832732654629465633558522050086257483867341174679603956189597982094027097762498864200972854701296016703214821014564431035406286451621899034046272491490399595276307692724114214257801888171760797116783448185634588102199607681702164603457890179114095592561857871001092311688050238101705903788292511821815927738013015124398969579220116562206536896227547174234263909985374626553639423395087194560458661578596817425953185800227314849320092535645478033976883593496648489147190555182290730710606595542474026361693424646616232373076076031245149255759374059899967317656504937098573385319329658921505074098226226922720437491484608389300732378327424460653443098839973422859141823882272452823994290735336692077625930663570284506994151962572429760460068137674720612025876000249992282874005697150365310055767446429459138478238094717422631492032610854710213538533787529454651745765389826883380836641575450604313880685203747874359380017952145547336130041461946486277321423405206367315517582731443163645068431581299881831170676652068358209809281368534958655718563956391167055628332043398162242536614654360041493434534687925601586869854670703046798165231202108468903430715793054172616622831018176942450082977136882594972603775392191750385782082349349497357374921700135446917091117602226499206836395279661709246194092041956333657231261900162753388672695779319976476835417749825503100380981131607262245791453139700716607410069589197165339082283500528671058999936900711096769076533218609055558694052884790478883963303703652219146273759131930977346188334009052809925315525553115671385868368959956625594973058493745989012624690117874256219449267633381679911231505240795213471686696322564918761383388636179016932934844972295813219901205922705544679597323315013265653811947901725816482236533921073847789267286716097542178459491993739623418598458219216285579089553437445320580892997251604264317287738422099743832722000277834870450505513501589284634349833074920694368820865816633349145279138183715636336423993755685037441374546545265428264875048758339521192389662243122997470080946418918628751021666780938682023414156266890526295618043900799474571870445573721357665412147453592821256939196024511750298585855573263680020678860781671615243297952552522133917680207873811223546188059974072371262599507703884400689266143890261035465851733303877069430249665260015705889264191122328366334056877638159023617005629003741163391680682840986475692413051079455500647213178338355315581916213135605340528457934479356660569063817094695237083169554438363816136567228241247325661915331981558980915469643698886003032032627278310573268225435683636490974267166309749658152359121494055553023386471614535312279021199002891468442023126590365486028347372544722468274343645723866234356284522134492932868905758765810034717642117062290116143418626392414252341724432644276006435906209811955977080816390266959227120852525699785346026746463650629719242357956111945081814085510863810721442078315674878184305774141352474762545497839402679042377046051848927448670564174637070252084505420500777353147049682507434111003910921862502044293332950256684439716989 380248906302920024350585446590848595255551654734988662143165357219418340012776710822939286684617266104159506591427286997635119010170410595581911565376749566899670956830383225588483784786759375343275710330534091439448845660522946974464118983826914128054399238780030597755456761021193459340502300562414828413718366621159351179220117336903625507215204331028092828113936558135124600124333342190744727037867424553468933845649367864908619101888893261097781043549279645799513928284761888039556396524089757742992990800837403936333273677060243350788570205347627892626192740640450048979824347980116221140061783074900875695926090569323337603717510988555546656997118823863288438017531617160282242793318610027557125532454930825195507568258064462679847205395629572965752067411844110312854883902711182814356016039298432820075641030788939846803526651908937901461801441974926023835149312404234451846628696981368623494021267545789317557242004732887926934980183520467715443319619410285933062031408737301196376926411828833204978334323025793554677028242787717309590114537278016348902767514876114966171397255795245404598227484077413109174844826130064081158014086691728101076145223672013466945504072641938797658736262793083263870870693385103369454071886894920726003405246917099594842751460226438512242525859303736913709493430599389094349350838584964898980930127545425647914650316931728501397918104778188970702872974058953879985157843825648979941054477528233823092224370096275726841093520245003918050374393231909047463830999236145980949670941561991803876098699564600894955612995208168146985417550144394090945426339063561383956917829733915778546533855645107515072601575294688246687892848196015113511706635173350649867100786868361328583188091115310633968658866019224880405079524878775400623241137886028222496001615123569631882976497171910112988252781548621690987610025314658364520956809990532894448220294886399441820794679132026920877293247383742786366032111848125653631718798795416517141281877599514428807537727309510561753155716543849855669822101510405008686841379690723489087066268766135077967866955615023693150015256441807223487942845985758087809360320073845838967781846321616854053371067589532982073259871474528427540757290302148196736116154512221585194121705172494448396199923767085609108870126480958480564895924410536769506256511592484163054405029988881879012831882429548905906098767716959925404695493506684035575039746582612512265727285999340792082442515087354386582281045291844448516011707999926128234572714293130328956555557078621662832800856262870976038032243391643811743329201929861970934658814030091917087549831207369713153999086912797703093148197163708407892440559545827702671097940795174103825780425965357901195467802009990713811653658452498729557389473430444886161251115853591783179636184697960633604566443605145787220772658491624604266676457196721126040680601816029709054482594743534957968597359130193674561640802110731349422836174550567597285800928002389477626699570286159498287501723148752373008285485251159544630452480490902232720160545623714407851745470219049875345686571762319610737549924275847083820531831396334442680300273634804044817849541181003221766767761058869274379551442349753395087345655727489688914258763588739787208734356226839190886052903888135937727017129145833021665725564749023957463705875278952999358562297357443698648249784470714364311794246696011786285697508349879288505971684048847063359633851551157508823640059440258641751169441839312177641792850865212386120618334806659209857504744971681344078060797863673351000586422158781947937361202758696309270889229918616912657708168987758250165975603496889342336535621909952422251300586941391520637692396459505892065479178293449545994348640050235807145185114669743137963725850178199930959459425906761983089559665385565925568811646260250284209750565117561636143383580395912757516747236099799888492084832856963585213967895967356583840974536597179409623967623161228739316668098197119394343333788359436800054681672273912590144470851674959074394406400317467317763470881951496766399776873271606296231036115924228322315360127808064836258252843232125194899142280736459310315407 615255654583098718917023253910200876170689718271762930550841036356731940671927842275554492971070995880778077884012394378457383307419814977196896866480155492475167400854192503491470975403958201903823284043241369554490286182513569806826388770111360345207999173910975265329675333822551886037648741014281749254130909407425527176059424640769057008741040004729330755084177497278235792361526860667809506159739428608271399048159499865198335941976029048785279915110932589771932588048552747928524668781333662804190805430652473048253593098387662922391987128600973361270558743816705850866001620198977896737526512054657249260465632682193561721953234111933655470558190359218133386512450736008928707364263486696491830756864343395183557449301902108615516175098975769507295411895716939612258149564707906830032729222668608511455003387381636394995745794518070424596957023570929607619380969683601491825250919930796009712635808939992631635869637643581159343774532263405278773446209216384067504421541483726276492461954469153391203189971731795778796487999620449964219580170836538398989024998743456140851001211984843386692254581839911973375817680831360097861228907706292532111551510123635365979550345133429197254012570485807378085128495273275130251188670343106360591507446524781297007354918116617626338118421161607914801805118649627196055254626877476720796857865558440772313619896151845063604455001005736144937136884044328506538797267220736174501513139106830640518177555896503041690413612780649396084351276825405695952978189791328271680381548157534277902460392989247511187986071284199392134673309518453990912743995568498482530303149063574700051607953871334437793039066779296635988625226523439574165149734013324072726242610750633781407182381850647326046284796682795164912073676841347830383701206023702943108027491123819624165850502869060478298308548995051150126088263409375787152448842601387604661758828673928896472540444521853804258129888959193390679912797051873527991098816747562064477411919061460915084859150714716929068673299275293019314890533091704890518012056342791847296875550134670036623585519571414860205643588485205385730479460640118129302794854761771440554651700992319900851536298791641450976690587267582600157380121320325139186199131649104180166725480564686198781982006116435106466245048181093927481987042012763268713092906872145872300599122030838212670063144329711659294771463496279901881530911256509538675420727714219774511518739139041508689852584676551551921363328792373119575011644900637225003649247511739384515249609963412141716764159966523195184306002523574789089517535938914780859974339583207588473418200167326338748972145406543692105772887281582664111889827179209382582329446035969317297467122287922819956851190646169730744588503424794542777290679353150430840848439168605048833448132599686450086802977526219635010039945207722146445135949190460749459279060035245994633572148180980278549490356381797938878928540532831093255558174828402467736306441503978762261049403361080192656322588965385722153564623434875180966876474246587270161535092168979836116620518977389396538076234005442608207630870694765712571553498177273124703714429901694571113467585081802696338638206632590632044963589803346216344284851752001439212844619162003467229413217008510806129350856440658071644697337019644245211913624723096328726305382982837400047828441247704734114101517774591433742043911956027492174961699472207654840028561687006086976639480554898672215320742281245117443582492918767678289006029203567701702534547942264550385962679451038004647124614958368588083755976597145764073928430999943634932804561900175893573177812686644253198008230775199915604761057593588913225567753251141178790051517953561445088865649907984858273369839053127275587208241260108623992073222722922399233803071630628217445844187520058858437717405026060318927392682179851752286802206788327009858471668744075894927991042668919562294784286234315810961827062296964755650714086811858458559026054309064476157419299223247521496759987948790774450244993027433836939904239720146360140516933800424215070341047908676548315541536425005675462409810315498947262163765094627239192475230993143750032396 995504560886018743267608700501049471426241373006751592694006393576150280684704553098493779655688261984937584475439681376092502317590225572778808431856905059374838357684575729079954760190717577247098994373775460993939131843036516781290507753938274473262398412691005863085132094843745345378151041576696577667849276028584878355279541977672682515956244335757423583198114055413360392485860202858554233197606853161740332893808867730106955043864922309883060958660212235571446516333314635968081065305423420547183796231489876984586866775447906273180557333948601253896751484457155899845825968179094117877588295129558124956391723251516899325670745100489202127555309183081421824529982353169210950157582096724048956289319274220379065017559966571295363380494605342473047479307561049925113033467419089644388745261967041331530644418170576241799272446427008326058758465545855631454530282087835943671879616912164633206657076485781949193111642376469086278754715783872994216765828626670000566452950221027472869388366297986596181524294757589333473516242408167273809694708114554747891792513619571107022398467780088791290482065917325082550662506961424179019242994398020633187696733795648832925054417775367994912748833278890641955999188658378499705260557238027086594912693441880891850106378343056138580644280465344828511298549249016290404605465462441619777787993103866420228270213083573565002373105783925115640009858103282386523955111046385154442567616635064463610401925992778768531507133025653314134725670057314743416809189027474252630052489719526081778559092553848406143599066492367539120090859662848081858170334632059866487220978797490478598141809516441952865640642073984882676518074719454687676856369186674722593343397618995109990370472965957960014943662702020045317153201720123231006942343909731165604029106247389256048827000040970591286561330543672841113698288724034151673405652591920499109979123560328338293335123653880725135423136342936177045944908899999181622817615542978581618693796660975343892396878024227490821829015819142874984712634602109899204853436033515336383941818900805114591452475186438553355658844927012609218422306625876217112155174835617279522433547313936754904907366381174433049950458742111027698137411622473335922315286161325765360847185737180647178181929883520715575115174662052408046882966423300038219349418464630035355004152019720091682895026759260565200870231213239827286226404763193574250460474296832286777246025138382300772295099763905938503644374084217568091023352900563353238221961804869713471805167042033804549565016229394171222338245915218600832846737868776751794633153613299505560968031374696051902971232319341395198921084445291072004330386725037085253427386831143421123247548253280721152318992656160444556242161877293272334680152783595317002099555022196832013084317297647083691369421131365422230812603699346750711812406387181875499959661851275703688054742924515236518087715511991613440569342643562442678394349378970065022107369506368239887748973647239690943824312114138095161850108686034725597328954737489502881695637792694243968365989196439271883762805767762218945180794970612796392085329573607567384014703536498615931317126262805918105405967691459906424515032153099611431630507479491128127103382750743254438147573235349997015403760328794009371714466165477266877639189472120286190011258261790399406390738605148432762351302245305798053838158652039278460659207822086943346000245735853150336273332106056181038960801721503759194751934758079855930798880068780087823152882748923760243467424422719348725185412822041939084342398755927712011289633758639944203693791818792806230885981674402503363983834272089257941296679503541335476868340192532699427743914413067337154344828201434404267718479103363082732393355929851761955799072901122330193262497537390200535403852905624784006529051286310603137143247297413388430185787184239767375218904843875783420075875525883147508752182201672394802801598894144165274681709973087197875694152506183870500753087582684321551441660222703364594715844702392911334310640037613677903987815751920981470117921180282844546577652349233997777769938123563783520416608326752434091617511729603060347803 1610760215469117462184631954411250347596931091278514523244847429932882221356632395374048272626759257865715662359452075754549885625010040549975705298337060551850005758538768232571425735594675779150922278417016830548429418025550086588116896524049634818470397586601981128414807428666297231415799782590978326921980185436010405531338966618441739524697284340486754338282291552691596184847387063526363739357346281770011731941968367595305290985840951358668340873771144825343379104381867383896605734086757083351374601662142350032840459873835569195572544462549574615167310228273861750711827588378072014615114807184215374216857355933710461047623979212422857598113499542299555211042433089178139657521845583420540787046183617615562622466861868679910879555593581111980342891203277989537371183032126996474421474484635649842985647805552212636795018240945078750655715489116785239073911251771437435497130536842960642919292885425774580828981280020050245622529248047278272990212037843054068070874491704753749361850320767139987384714266489385112270004242028617238029274878951093146880817512363027247873399679764932177982736647757237055926480187792784276880471902104313165299248243919284198904604762908797192166761403764698020041127683931653629956449227581133447186420139966662188857461296459673764918762701626952743313103667898643486459860092339918340574645858662307192541890109235418628606828106789661260577146742147610893062752378267121328944080755741895104128579481889281810221920745806302710219076946882720439369787378818802524310434037877060359681019485543095917331585137776566931254764169181302072770914330200558349017524127861065178649749763387776390658679708853281518665143301242894261842006103199998795319586008369628891397552854816605286061228459384815210229226878561471061390643549933434108712056597371208880214677502910031069584869879538723991239786552133409938825854495193308103771737952234257234765875568175734529393553025302129567725857705951872709613916432290540646096105715722436258977256028738944419890502315094435894299603167693814789722865492376307183680817369035475151215037994757853413561302433412217994948901767265994346414950029597388720077085248306256655756443665172815884026641046009693627855517532942798475108514417810429945527572666301866845960163935999955822041360222843146335528870008436063306932442325336775907655603274050558304352958171088972224495641694709519729167757316019703112925881202011052061288764764277423809462147684440457490425007702876590687666034997801200578241871209316609097987054777005445946266329176195917366406644248438793389922364273807691532654607493196507094034386231542022390651943377725885087304693971726873736116220213904246467835756832867112738420714670541203541109170183302330175300830665302087815111970832136745747842947994190801880846532449897333533778172398657585057240852548907068897156948355577642624959238721886521698321626891105495515067578071893789552319497883176393535933952524207372532758413811010347002148798377008319883600146901079523817315414732120909906564205428984076773043230729961674080084986508173828668421839039773204827152811665665378508963638827750880692087729133438193187044784711344608614444044174324050538469478621956445827775915359231492567339948001912746721667560790243860803144754616769452081016411803185121512089552814195216614916316641244627799454219179852853166876452820019897231795882070608066770635620907294294598186028807422859237312912812660954853254281544002748876638334427676847534219804909272347789525687430691188310629430103873757353372310027780410527168098375353073476085218064758583579136498353718968699804063794361046756561992065047289173546057737097130248702436093443673878217795432366628782243210478109419262541088318156490358319601597189960385947872295624044729427065569168018417981248040425683642444246456312370922064535929477265140716987993972566777233690573587951678348066918194802709803536468435988205764628661191108920925395796784945656434720206815248346658172386805931843048201648171494139044960837729826748274214879757760038044504749552345196540458969088959392862119188774239673240179748439062730782580373421379673284092742722746810380199 2606264776355136205452240654912299819023172464285266115938853823509032502041336948472542052282447519850653246834891757130642387942600266122754513730193965611224844116223343961651380495785393356398021272790792291542368549868586603369407404277987909291732795999292986991499939523510042576793950824167674904589829461464595283886618508596114422040653528676244177921480405608104956577333247266384917972554953134931752064835777235325412246029705873668551401832431357060914825620715182019864686799392180503898558397893632227017427326649283475468753101796498175869064061712731017650557653556557166132492703102313773499173249079185227360373294724312912059725668808725380977035572415442347350607679427680144589743335502891835941687484421835251206242936088186454453390370510839039462484216499546086118810219746602691174516292223722788878594290687372087076714473954662640870528441533859273379169010153755125276125949961911556530022092922396519331901283963831151267206977866469724068637327441925781222231238687065126583566238561246974445743520484436784511838969587065647894772610025982598354895798147545020969273218713674562138477142694754208455899714896502333798486944977714933031829659180684165187079510237043588661997126872590032129661709784819160533781332833408543080707567674802729903499406982092297571824402217147659776864465557802359960352433851766173612770160322318992193609201212573586376217156600250893279586707489313506483386648372376959567738981407882060578753427878831956024353802616940035182786596567846276776940486527596586441459578578096944323475184204268934470374855028844150154629084664832618215504745106658555657247891572904218343524320350927266401341661375962348949518862472386673517912929405988624001387923327782563246076172122086835255546380080281594292397585893843165274316085703618598136263504502951001660871431210082396832353484840857444090499260147785228602881717075794585573059210691829615254528976161645065744771802614851871891236734047833519227714799512383411602869652906763171910712331330913578769284315802295924688927718928409822520064759187936280265806490469944291966916961278339230604167324073891870563527105204433005999599518795620193410661351031553990317076591504751804655553654944565271811030829703971755710888419852039047493138345865883476537616475397505198743575752974859363345151791743801405943010607426070278396035853197848232789696511925922759556453983720782896687176341676307884348066010789415806110234442784204363428928652076960808255757058350701763931480093171121478811458859944047479750815894192425311537628982494354011990755211011676468284449240646809806599595354262916718442554914610045226482503615056172164808120550600629283553089184219698256159543962218794484262261489175958490619857072827179381087446650984920341064845047549212998712859616767194980617469541819788950479471665152606415647868760761964824500459198383737797402009681634030010751585665787405781165760067225819955978612346873586342597780521180516715242036547350655559574543971213193661912477264840806944632161534383721566275924926367754368324053352497370267940305601845540967046097992460635991305355724157324488259471743836974691802976101837607414532549450142015510444893993654109545439207545866710983695467051384663489976105708363479210800160158377098246090388126269350598778967192003667336901106327899506418198860609918458001599638804122265203029849720229260106049096280115116381541532029053158712387649186144767011034293242345724252635833086362434927390150603789341127877348840313440112070872897528296476702097495440602452466252440774109001188096507698517223523340192145537761506034949776035449259925975899319378431487354416600671584179304433636206577645539346779696119397555306310853666808806797259853441051994953119812147903671368525167059620328066705408618516651893331308426450775507598681525201679176774678529147173781156806544608909478431827461768142793720685857312288650637660600567430260085253086200077506758032854310414359321432217158925474388616164599643308394197503639676682432219659608525519795373715948492565304266178010576890269242237408696841123473671017949686562626514302996981748132107375710254452349870728002 4217024991824253667636872609323550166620103555563780639183701253441914723397969343846590324909206777716368909194343832885192273567610306672730219028531026163074849874762112194222806231380069135548943551207809122090797967894136689957524300802037544110203193585894968119914746952176339808209750606758653231511809646900605689417957475214556161565350813016730932259762697160796552762180634329911281711912299416701763796777745602920717537015546825027219742706202501886258204725097049403761292533478937587249932999555774577050267786523119044664325646259047750484231371941004879401269481144935238147107817909497988873390106435118937821420918703525334917323782308267680532246614848531525490265201273263565130530381686509451504309951283703931117122491681767566433733261714117028999855399531673082593231694231238341017501940029275001515389308928317165827370189443779426109602352785630710814666140690598085919045242847337331110851074202416569577523813211878429540197189904312778136708201933630534971593089007832266570950952827736359558013524726465401749868244466016741041653427538345625602769197827309953147255955361431799194403622882546992732780186798606646963786193221634217230734263943592962379246271640808286682038254556521685759618159012400293980967752973375205269565028971262403668418169683719250315137505885046303263324325650142278300927079710428480805312050431554410822216029319363247636794303342398504172649459867580627812330729128118854671867560889771342388975348624638258734572879563822755622156383946665079301250920565473646801140598063640040240806769342045501401629619198025452227399998995033176564522269234519620835897641336291994734183000059780547920006804677205243211360868575586672313232515414358252892785476182599168532137400581471650465775606958843065353788229443776599383028142300989807016478182005861032730456301089621120823593271392990854029325114642978536706653455028028842807825086260005349783922529186947195312497660320803744600850650480124059873810905228105847861846908935502116330602833646008014663583918969989739478650584420786129703745576556971755417021528464702145380478263711751448599116225841157864909942055234030394719676604043926450066417794696726806201103232550761498283409172477508070286139344121782185656415992518340914339098509801883432359657835620348345079104622983295426652084234069138181850666210700120836700388811368937205014192153620632279285621741036802599800102222878318936409354775553693229919696590468644820919353659779837398943423093348502964509721964380438087909445914721052925697082223368621228904035626742792805380677575285484159817103848140006313693629740494458740833206857987771111569808309027899038544236770814533530020924941052565368897964676889335687803370659359260820795157903492481468902558621817057086812687995543403800593706149217092314151247714218446535536712517701513484545025709117542467125418437105624319100331308525135506266653243859299570718079565108996349514546299397793715130538934991527062244185345727663879458144118114273185729792679572927854538725739812705643048968157097716042404138339005544096608727440885314171873250804126301369814319362985075368951559472970412884990020886548952023146993494316339560983363472276065991266983461225942476262806999386576236697773269153723071603304912993867698171404538072535720291056744817862553516022644540751045998314829098310854766515256942285100261645602299868172819731901022410676139718057860581571624962098957427965887547523889727001512471420790111774924370408698613475666874527744131300381502327632170234055469805468382862993420539149462074664181725763275807102476690499256730205839013570396496016487967964366667605033412153697801832881740527079880455863334779146324901640765784420272929349895115416343799371596550309772533851543664149211789047393635873427036497899933756992068895021963911052447266215106251943669864161775129373321842600052019779140116209711915488567115825119073648806332058921276362007125473303542978510745134566136680563817097861194548007647844956565691642684637520162046407882740399553133753992997314856611374551035859358201630270816029897713344258129435001689245085577355169511780659802997175096681108201 6823289768179389873089113264235849985643276019849046755122555076950947225439306292319132377191654297567022156029235590015834661510210572795484732758724991774299693990985456155874186727165462491946964823998601413633166517762723293326931705080025453401935989585187955111414686475686382385003701430926328136101639108365200973304575983810670583606004341692975110181243102768901509339513881596296199684467252551633515861613522838246129783045252698695771144538633858947173030345812231423625979332871118091148491397449406804067695113172402520133078748055545926353295433653735897051827134701492404279600521011811762372563355514304165181794213427838246977049451116993061509282187263973872840872880700943709720273717189401287445997435705539182323365427769954020887123632224956068462339616031219168712041913977841032192018232252997790393983599615689252904084663398442066980130794319489984193835150844353211195171192809248887640873167124813088909425097175709580807404167770782502205345529375556316193824327694897393154517191388983334003757045210902186261707214053082388936426037564328223957664995974854974116529174075106361332880765577301201188679901695108980762273138199349150262563923124277127566325781877851875344035381429111717889279868797219454514749085806783748350272596646065133571917576665811547886961908102193963040188791207944638261279513562194654418082210753873403015825230531936834013011459942649397452236167356894134295717377500495814239606542297653402967728776503470214758926682180762790804942980514511356078191407093070233242600176641736984564281953546314435872004474226869602382029083659865794780027014341178176493145532909196213077707320410707814321348466053167592160879731047973345831145444820346876894173399510381731778213572703558485721321987039124659646185815337619764657344228004608405152741686508812034391327732299703517655946756233848298119824374790763765309535172103823428380884296951834965038451505348592261057269462935655616492087384527957579101525704740489259464716561842265288241315164976921593432868234772285664167578303349195952223810335744908035682828018934646437347395224990090679203283549915049735473469160438463400719276122839546643477079145728280796518179824055513302938962827422073342097170173825753941367304412370379961832236855667766908897274311017853543822680375958154789997236025812939587793676818126191115096424664566785437803888665546555038842075724757585496487278564554626820757420786343109036029931033252849184348282311856798207199180151699204728441202057551559566720904774665100405447898117561046540441664609237146817371432786297160628101553088786816120293225094757375459275761772597816338052311924084071203352357321415162813574014125272263625057508639108130172065632148535219311415014976319660849990005272801977427877533043092616799306565765984287294768717256038235486016184182854119900192894469879507291625877635489362116502340990159165517018238909646705351883839632334816305493158646271380057728319456172043777486221893078319439032688089327466847642269944413734799170887274196427209324893083465470410728191691502914364549033042730855138919348796586937361119675087142399857211031216807387576792996988386559437679542944458355071428257465930175536706191007092653459958274050771239726673878977517202282403465071370965944261792664341886319070023936821529890417128972440257464197175439016768856366154061064550303291495322529128278868828181137527057681250086913740284012611285102194976921840766235451254148304507152546702314521012487954603544223368057571412452375225160466710757567300908985315459672979923571075852278233461793030625816882644794491711873963346431945276413943863686046036520766570298473417061044960716087033508874125926021021038321090731126596158701912676197240423591503429584681755215032674378848667721702578835655014551827088300495345797471509733972467894283026622199011335556286179866451509530451606601884352505636174424428113769711309406899489181361615093325550810301011365055548925458112780976023335583164172247488264959889146324314202594266067491265919348507469941489880160877552561612749627443867679512871021187015276079121564315759388574336917643888035513251627446551836203 11040314760003643540725985873559400152263379575412827394306256330392861948837275636165722702100861075283391065223579422901026935077820879468214951787256017937374543865747568350096992958545531627495908375206410535723964485656859983284456005882062997512139183171082923231329433427862722193213452037684981367613448755265806662722533459025226745171355154709706042441005799929698062101694515926207481396379551968335279658391268441166847320060799523722990887244836360833431235070909280827387271866350055678398424397005181381117962899695521564797404394314593676837526805594740776453096615846427642426708338921309751245953461949423103003215132131363581894373233425260742041528802112505398331138081974207274850804098875910738950307386989243113440487919451721587320856893939073097462195015562892251305273608209079373209520172282272791909372908544006418731454852842221493089733147105120695008501291534951297114216435656586218751724241327229658486948910387588010347601357675095280342053731309186851165417416702729659725468144216719693561770569937367588011575458519099129978079465102673849560434193802164927263785129436538160527284388459848193921460088493715627726059331420983367493298187067870089945572053518660162026073635985633403648898027809619748495716838780158953619837625617327537240335746349530798202099413987240266303513116858086916562206593272623135223394261185427813838041259851300081649805763285047901624885627224474762108048106628614668911474103187424745356704125128108473493499561744585546427099364461176435379442327658543880043740774705377024805088722888359937273634093424895054609429082654898971344549283575697797329043174245488207811890320470488362241355270730372835372240599623560018144377960234705129786958875692980900310350973285030136187097593997967724999974044781396364040372370305598212169219868514673067121784033389324638479540027626839152149149489433742302016188627131852271188709383211840314822374034535539456369767123256459361092938035008081638975336609968595107326563470777767404571917998622929608096452153742275403646228887769982081927555912301879791099849547399348582727873488701842127802399775756207600383411215672493795438952726883473093543496940425007602719283056606274801222371999899581412383309517947536127023720404888720876171335365469650341256932146638201888901784998941450216649320259882077769644343028826311951796813475935722642818080819167187318127697465794388096287380787432945757166775561896802265949627623721494005267635971636635606142603245047707692950924021931997654630350689386153331144980340929667769345700235979939622752110361582644787918656936926822433986854835251834200108968630585587449622120233111970241896594092229696343594939066324828993955473315997465859869002807894480132210172879812142318892563894619034514690221038636020599900271915201379608919964970256682021552896700555633384737920178997049758751296072594986435602672298684301023284892153506004922601919197443812655007704945669173772858858391163570839730407238805983318490832207441740033372062623986662653709613014009132852373861240563186453132330030508458461157760483616169310792599600713238730933994450127475226162590689777800461783017874935511460826536438774694632411620938206241527973174468318595936221081050157815963371652246670925354006769984364833642433197202414422039361080681639392443933151616981008510195490268115079711132669318006835403553140924828996451688560082159937733820968144774321855637573384059622942809388290125178255660775927942658477238891421186568079211097895801702712833877552792636944813037106377368178453093519073033150516459959225068837728293573144051221917712976916828441292901911828052713641554178723996275249942785487795967489372208905072345922679086875151399525508597028092541039795188053739357215606758696823590637715115338452262691512451760845292564240819435420786419734109389278565868875497331415553188294109582471385742000562217551662991543938888784958213231548102637977100451024113843989875800683491594793344793121196777712179895333221525580789008951722756312475374006318901641223934487195017488927112648608985645497950328900918900359534208556566005004474151692087155668695316248802543232944404 17863604528183033413815099137795250137906655595261874149428811407343809174276581928484855079292515372850413221252815012916861596588031452263699684545981009711674237856733024505971179685710994119442873199205011949357131003419583276611387710962088450914075172756270878342744119903549104578217153468611309503715087863631007636027109442835897328777359496402681152622248902698599571441208397522503681080846804519968795520004791279412977103106052222418762031783470219780604265416721512251013251199221173769546915794454588185185658012867924084930483142370139603190822239248476673504923750547920046706308859933121513618516817463727268185009345559201828871422684542253803550810989376479271172010962675150984571077816065312026396304822694782295763853347221675608207980526164029165924534631594111420017315522186920405401538404535270582303356508159695671635539516240663560069863941424610679202336442379304508309387628465835106392597408452042747396374007563297591155005525445877782547399260684743167359241744397627052879985335605703027565527615148269774273282672572181518914505502667002073518099189777019901380314303511644521860165154037149395110139990188824608488332469620332517755862110192147217511897835396512037370109017414745121538177896606839203010465924586942701970110222263392670812253323015342346089061322089434229343701908066031554823486106834817789641476471939301216853866490383236915662817223227697299077121794581368896403765484129110483151080645485078148324432901631578688252426243925348337232042344975687791457633734751614113286340951347114009369370676434674373145638567651764656991458166314764766124576297916875973822188707154684420889597640881196176562703736783540427533120330671533363975523405055052006681132275203362632088564545988588621908419581037092384646159860119016128697716598310206617321961555023485101513111765689028156135486783860687450268973864224506067325723799235675699569593680163675279860825539884131717427036586192114977585025419536039218076862314709084366791280032620032692813233163599851201529320388514561067813807191119178034151366248046787826782677566333995020075268713691932807005683325671257335856880376110957196158228849723019737020576086153288399237462880661788104161334827321654754480479691773290068391024817259100838003572221137417250154206457656055432724465374899605006646556285695017357438019846952503066893238140502508080621969484713742356969773190551973592774659351987572577924196348239911301979558656974343189615918283493433813341783396746912421392126079483557221351255464051253736592878458490714309787364845217086440123543147879805416020210025713638554280079930009209659384730403183403787674432157196041445248951413644859157168953191597092619012981955105596031934634956429699443625187856131803168882569167421011942567754081728637399206837681185666903688682226294917507569080883409753284930814648876557050377173708084348552105013288843466540303131063152710274485758829778628960500863591940553830587177847335614617216629131884302757523520296769206881014332568400397452880500288205560061698754324028656863860521722011372825706793526347024449711948397300176092053669537269875083373621906585188038576014863322070898506079383233049703839878404136417064679365475411249396179355100929055690045531224188127636410235055735799586694989866756308358431104618460922334350280589421265974392665707131848567498823379071385706844636247358124730557388263297464791502218231688062139650184669161817919731229056360629509809080435095205179553412433674522682755321263859274125286252777953103655570604407286353493912766498996604226368738192686861868354110455788845713629586940263260386569315855691738759678074945294294748667003830448512054522881083030998366943717407965882526121667298940768738280218779557168941897361973729497969486382837041031098346527003587933593059586616906930520392202003672305188067886832887701733054745619112922992343884914723187837415972052658496267620131037283999592193776574924145001240856232417052906125769144532360876352142821486485469935333265925350578542865272238250148693875977075178366479674261358613089365629841771940087374810287678130320763862726029004799556730829500429989784780607 28903919288186676954541085011354650290170035170674701543735067737736671123113857564650577781393376448133804286476394435817888531665852331731914636333237027649048781722480592856068172644256525746938781574411422485081095489076443259895843716844151448426214355927353801574073553331411826771430605506296290871328536618896814298749642901861124073948714651112387195063254702628297633542902913448711162477226356488304075178396059720579824423166851746141752919028306580614035500487630793078400523065571229447945340191459769566303620912563445649727887536684733280028349044843217449958020366394347689133017198854431264864470279413150371188224477690565410765795917967514545592339791488984669503149044649358259421881914941222765346612209684025409204341266673397195528837420103102263386729647157003671322589130395999778611058576817543374212729416703702090366994369082885053159597088529731374210837733914255805423604064122421325144321649779272405883322917950885601502606883120973062889452991993930018524659161100356712605453479822422721127298185085637362284858131091280648892584967769675923078533383579184828644099432948182682387449542496997589031600078682540236214391801041315885249160297260017307457469888915172199396182653400378525187075924416458951506182763367101655589947847880720208052589069364873144291160736076674495647215024924118471385692700107440924864870733124729030691907750234536997312622986512745200702007421805843658511813590757725152062554748672502893681137026759687161745925805669933883659141709436864226837076062410157993330081726052491034174459399323034310419272661076659711600887248969663737469125581492573771151231881400172628701487961351684538804059007513913262905360930295093382119901365289757136468091150896343532398915519273618758095517175035060109646133904900412492738088968615804829491181423538158168634895799078352794615026811487526602418123353658248369341912426367527970758303063375515594683199574419671173796803709448574338677963454544120857052198924677679474117843503397800097385151162222780809625772542256836471460036078889160116078922160348667617882527113733343602803142202393774934808083101427464936240291591783450991597181576606492830564073026578296001956745937268062905383706827221236166863789209720826195414745222147821714174907586607067591411138604294257321626250373841055223295876545577095127082362875778815018690051616438230723440050303880929675097470656346361689062040139420518335090971910136713567929186280695837194883554255130069419484386641794620114343050101415554875981606153437407067737858799420382079133065081197026062875653509462450203938866962640460988266934765261043859493699033768991237296552390308011687145545505874555500763892257921921612968455271103061891803637764324179575835360735943945487775133062040046457257975120364657999107109596387046512608647196551599529121977583965386669668734827873606809128469780679334987707685587527767563588023216658715197087678027222441615508568537609727603446036238499185456947036370690286076014352504210946914386395192387060106590113302214692914072615564591843316992851752519831286864554009963193760504547998013414822987663987397350309536212596362988500359032738257582359332615822007744336251499342342658592652539943729845332400436151086871653417183470859052990417005040100633229128187069170730397792185300100314778283432206402274484588155975246928278631492697078221110397777172187121182245948345457402525323186376462383995287758053221440862540617346485807765469856363037863656792303854861090761966419159660976838120130330745740600383641513663721672365860018069637376885198151911930706082404028932896935547299917180088827862217767519791473319629124018291023916946615936308022012253291936070712866396494841033925647175895968861279320013967610908299112968732426321560124097952379483361038039455348778885623827436342351306811936113061583753936762330219117286243039728695394378085885476940739500407515991547281225833362585386637569294227599037988991116656915908647699470562265729138588532038154708011050724342217648106891018239278557151789917810464270195855406786909967598734863580170672858987734344496234696325768336877721091955225426145749232533017725011 46767523816369710368356184149149900428076690765936575693163879145080480297390439493135432860685891820984217507729209448734750128253883783995614320879218037360723019579213617362039352329967519866381654773616434434438226492496026536507231427806239899340289528683624679916817673234960931349647758974907600375043624482527821934776752344697021402726074147515068347685503605326897204984111310971214843558073161008272870698400850999992801526272903968560514950811776800394639765904352305329413774264792403217492255985914357751489278925431369734658370679054872883219171284091694123462944116942267735839326058787552778482987096876877639373233823249767239637218602509768349143150780865463940675160007324509243992959731006534791742917032378807704968194613895072803736817946267131429311264278751115091339904652582920184012596981352813956516085924863397762002533885323548613229461029954342053413174176293560313732991692588256431536919058231315153279696925514183192657612408566850845436852252678673185883900905497983765485438815428125748692825800233907136558140803663462167807090470436677996596632573356204730024413736459827204247614696534146984141740068871364844702724270661648403005022407452164524969367724311684236766291670815123646725253821023298154516648687954044357560058070144112878864842392380215490380222058166108724990916932990150026209178806942258714506347205064030247545774240617773912975440209740442499779129216387212554915579074886835635213635394157581042005569928391265849998352049595282220891184054412552018294709797161772106616422677399605043543830075757708683564911228728424368592345415284428503593701879409449744973420588554857049591085602232880715366762744297453690438481260966626746095424770344809143149223426099706164487480065262207380003936756072152494292293765019428621435805566926011446813142978561643270148007564767380950750513595348214052687097217882754436667636225603203670327896743539190874544025114303802891223840295640689316262988874080160075129061239386763840909123536017832790198384325822632011155092930771397539273843270008338150230288408395455444665204680067338622878410916085707741813766427098722272097171967894408187755410426329512567584649112731584401194208817929851009545041654542890921344268901494116263805770039406922552178479807744484841565345061950312754350715748740660229942432831272112484520382722731318085583289756940738804062019788594672032067243846898335281836699491408090913015168258376624869908744937670180384499472538623503232826170038541532535735176180899112097332861617488660804330737257911096388920429926414112502999196657342255619959076988354099542547014695270253518878429436952395024970984547504053132394496919519414657932845449519014231981437226208657923738272720753879019460548592075748656657702229461058399825729202093295398313947277572713416297329422846517036691058467375139954599549476750163859505643488763683539812698876371234103891154279811425471573436857001070576009432129550281434033214085834800074163665502574588833537872800980153795400727760787457559470613590420252975771369888620500180853373474531204112571347536310218210216496395313590915041333524667225392909834502948176538935047601579653257838695205240794040091377746479075657331905419141094728579791252015927343462714695047180626827240095836432815823176935927038756223289918561237112633712795823540458980821682378776846130316076149606817242413419545245912803336608754867316825404608150446134937942722383258782271846402846437275278936798133068836345716288535613444721740423520250963406383108698844255954245920950075166278626517066241603253936344598792574436514484721742649176886857443349214431533623211530232997704069312585772583950446384820076535134374967069079810113902806916451768843194909630017600232747168077241010330706155819529610480789420514459384566458936712478683414053249281827204138116733888942004649163106819019297785347808317370429770391663927337823488044205777493453493622670637161488004173962133992357513148325700605596331410261499464884180976194496520659675483573457469561104550795401938611686441345374221886461171326211824229210012444799075109154783912826646532199603750096754782156975249662522802505618 75671443104556387322897269160504550718246725936611277236898946882817151420504297057786010642079268269118021794205603884552638659919736115727528957212455065009771801301694210218107524974224045613320436348027856919519321981572469796403075144650391347766503884610978481490891226566372758121078364481203891246372161101424636233526395246558145476674788798627455542748758307955194838527014224419926006035299517496576945876796910720572625949439755714702267869840083381008675266391983098407814297330363632665437596177374127317792899837994815384386258215739606163247520328934911573420964483336615424972343257641984043347457376290028010561458300940332650403014520477282894735490572354448610178309051973867503414841645947757557089529242062833114172535880568469999265655366370233692697993925908118762662493782978919962623655558170357330728815341567099852369528254406433666389058118484073427624011910207816119156595756710677756681240708010587559163019843465068794160219291687823908326305244672603204408560066598340478090892295250548469820123985319544498842998934754742816699675438206353919675165956935389558668513169408009886635064239031144573173340147553905080917116071702964288254182704712181832426837613226856436162474324215502171912329745439757106022831451321146013150005918024833086917431461745088634671382794242783220638131957914268497594871507049699639371217938188759278237681990852310910288063196253187700481136638193056213427392665644560787276190142830083935686706955150953011744277855265216104550325763849416245131785859571930099946504403452096077718289475080742993984183889805084080193232664254092241062827460902023516124652469955029678292573563584565254170821751811366953343842191261720128215326135634566279617314576996049696886395584535826138099453931107212603938427669919841114173894535541816276304324402099801438782903363845733745365540406835740655105220571541002806009548651970731641086199806914706469227224688723474065020644005089263654940952328624280932181260164064443315026967039415632887583535488045412820780865473028234010733879348897498266309210568744123062547731793800682225681553118479482676621849528526187208337463559677859179352592002936005398148722139309880403150954755197913914928748481764127088208058111214942459220515261554744266353387394351552432976483666244570075976966122581715453238309376849207611602745598510133104273341373378969527502070092475601707164714503244696970898739630828609248106140168513338437837931218366017579383026793753572652310556680336152650078226282314666973314467770926067872068596057331478468053495007611138565874850166804705823897943950994560530813949460531297378372128470721386262267536937812064819540042425393970158696737707440935844949892497311719815541910485078058595295909328019694144432835291501104857083704322457953397421056873959759928905976619398116565813036051340526624268284304623770668634113269443018527520384463899001667479177496470140668661114884223512191518000667160009037479250324333985531110701873264874909552225305191100709787122953174517666060726892634945889843985453212343497846225227051035399435901546273411970721044393327005738028997512064575702446047099311165039294080339837235617171311027248538376342877088821734249984445362870940060980227403102798996879898165906233617244245135937066044951364005097769154015475218661551890917145002225814943568977657625705124761808773227827927640190591732367095049284954212269842148590984612830130225700775604699644812463749332245040748793161170932493138020143396704206688159583181227801526513439444584856337887434613796838644486535135878980139134496510723280518918513654639584724186774623438042293751390731321706317333193330876796500897062321128098547387666903139792676510397647950377416019090878491296920246714778985540123299438582141089734578741799997820422605914285491364307241489591633134016074229795472695941411493325936305540825076503711748515655868604666838231004035753058719286856208057274730782231773000122983474170064234348305066893675990638053416219130902507571384017701221564360579343829352553728529496905615570077293248081293810559092790183117658062843499280147522972300536481471188710007583120998895055820230629 122438966920926097691253453309654451146323416702547852930062826027897631717894736550921443502765160090102239301934813333287388788173619899723143278091673102370494820880907827580146877304191565479702091121644291353957548474068496332910306572456631247106793413294603161407708899801333689470726123456111491621415785583952458168303147591255166879400862946142523890434261913282092043511125535391140849593372678504849816575197761720565427475712659683262782820651860181403315032296335403737228071595156035882929852163288485069282178763426185119044628894794479046466691613026605696883908600278883160811669316429536821830444473166905649934692124190099890040233122987051243878641353219912550853469059298376747407801376954292348832446274441640819140730494463542803002473312637365122009258204659233854002398435561840146636252539523171287244901266430497614372062139729982279618519148438415481037186086501376432889587449298934188218159766241902712442716768979251986817831700254674753763157497351276390292460972096324243576331110678674218512949785553451635401139738418204984506765908643031916271798530291594288692926905867837090882678935565291557315080216425269925619840342364612691259205112164346357396205337538540672928765995030625818637583566463055260539480139275190370710063988168945965782273854125304125051604852408891945629048890904418523804050313991958353877565143252789525783456231470084823263503405993630200260265854580268768342971740531396422489825536987664977692276883542218861742629904860498325441509818261968263426495656733702206562927080851701121262119550838451677549095118533508448785578079538520744656529340311473261098073058509886727883659165817445969537584496108820643782323452228346874310750905979375422766538003095755861373875649798033518103390687179365098230721434939269735609700102467827723117467380661444708930910928613114696116054002183954707792317789423757242677184877573935311414096550453897343771249803027276956244484300729952971203941202704441007310321403451207155936090575433465677781919813868044831935958403799631550007722618905836416539498977139578507212936473868020848559964034565190418435615955624909480434635527572267367108002429265517965733371252041464804345163573127764924473790136307018009552327012709058723026285300961666818531867202096037274541828728194882830327681871322375683180742208121320096123128321241451189856631130319708331564089881070273739231958350143032252735439122236700161121308426889963307746676156036197963882499332377075885136726718877685185813402463213779070647329388414728676399333315242574856973924934025251068874046824146961443857020939348660073360964155801550897250557907673781287238521485316117951934539344913384816629583156959950076931329723520377739280183205831937614756457920095442801090537520962163256909433524551248795735004151532473345203306042244633602504094518715666578867833781373934528139756758206702067333083340270235771370331776281566140234551741224582767527432796710290471512464410168785605274367375839463743090098106171254505187850713961975225531340483055198865615355341832843678699598701582239512007249082583630180937540788640596653070331036731801095355881602259341578229127941416888875010006232489332416434254835300809907316350782012034789560018655118726340342612860953414244071485231773498860774540941024807910238765137222789003550857798049355402549799340004481970892124849377434744882604011277613007852621562967137158973995592763276265163643497987958427084310152178682316027729959304001329483736431932317651409900006701478764932896548143429112292133355563872004923113052202120583393070841109515854955432998376382233901073632066787256725285013942851939315037262643462569084847508705948175082522041870208872486624300454866829184862285788121314520479461947062781133630144737960619345059531220512279807172373222203842990655542840914961220212346529361637946060656432755324838610424312029118945426260268594176054492079958836212740349830727911892270235946962256975831683212560048910663225086252137518300400107097004092043693184795021830140448380147955667141183346960944299179709252620022383322000195562457137952654064060349618832736085221285464789740096248557578622736247 198110410025482485014150722470159001864570142639159130166961772910714783138399033608707454144844428359220261096140417217840027448093356015450672235304128167380266622182602037798254402278415611093022527469672148273476870455640966129313381717107022594873297297905581642898600126367706447591804487937315382867787946685377094401829542837813312356075651744769979433183020221237286882038139759811066855628672196001426762451994672441138053425152415397965050690491943562411990298688318502145042368925519668548367448340662612387075078601421000503430887110534085209714211941961517270304873083615498585784012574071520865177901849456933660496150425130432540443247643464334138614131925574361161031778111272244250822643022902049905921975516504473933313266375032012802268128679007598814707252130567352616664892218540760109259908097693528617973716607997597466741590394136415946007577266922488908661197996709192552046183206009611944899400474252490271605736612444320780978050991942498662089462742023879594701021038694664721667223405929222688333073770872996134244138673172947801206441346849385835946964487226983847361440075275846977517743174596436130488420363979175006536956414067576979513387816876528189823042950765397109091240319246127990549913311902812366562311590596336383860069906193779052699705315870392759722987646651675166267180848818687021398921821041657993248783081441548804021138222322395733551566602246817900741402492773324981770364406175957209766015679817748913378983838693171873486907760125714429991835582111384508558281516305632306509431484303797198980409025919194671533279008338592528978810743792612985719356801213496777222725528464916406176232729402011223708406247920187597126165643490067002526077041613941702383852580091805558260271234333859656202844618286577702169149104859110849783594638009643999421791782761246147713814292458848441481594409019695362897538360964760048686733529544666952500296357368603812998474491750751021265128305819216626144893531328721939491581567515650470963057614849098565365455301913457652716823876827865560741601967803334682848709545883701569760668267668703074241517153044673095057465484151096688772099087250126546460594432201523363882093391351345207496118328325678839402538618071145097760385123924001182246800562516411084885254596447589707518312394439452906304647993904091136419051584970527707725873919751584294129972503698677859066159973545875446396672853387729223634178753065309409227448595403301745584607374402215543265526126130648537447283399213837835891628745528446043961797159340796548467929372574053325027419941636389634748896990951667267754964890343220604174913616332848275622686378395167549506058423128182771474581770307354975326320864400885921881222220832097554822093690909996210052367248115136945523372812463268113993137847009202193156061025492233274109282661642750168317130570056193203136118085997705196773870027649720594853467804169237438849509272751706808895666625448094959045433463870299508991714734502771136385069249104338652642323411362355214974973667136492891592067375690144755459340795045187176545823928633274911443150628857042151658585181967602391099328548796376797801928701570506617523208281254124492181317259737870792777131924122544157300796144882974850540246058221525337222511026859647861315730367710564905725904946122577064254240355884340894468002800275170346118776997630187095653933622605262672522794603009980102901906517179407001122586577376106395389344273592658071896773901510927356776523120474933822621756575329021858098059589882706566459409987588013968630020790177668843567599587337999563532205337620239135474351512031021818625260406690225299019036404674173645632370455974339365585744571027076273629909708773348665163134698102817206600881376666612611440726176726048321256929583320101709079638273020510100229778287507695207297897032432548095236286576324834333887472149758691630379435500815740867461082128873261014285496115711894932027206038785186623052467719962379959305853276794397215730118762242775571716619237999511663427710886016586190719792209500509395670680252576514376472957333913832942414790378680115200796153344207872591133272566692474174797323217247452634442966876 320549376946408582705404175779813453010893559341706983097024598938612414856293770159628897647609588449322500398075230551127416236266975915173815513395801269750761443063509865378401279582607176572724618591316439627434418929709462462223688289563653841980090711200184804306309026169040137062530611393426874489203732269329552570132690429068479235476514690912503323617282134519378925549265295202207705222044874506276579027192434161703480900865075081227833511143803743815305330984653905882270440520675704431297300503951097456357257364847185622475516005328564256180903554988122967188781683894381746595681890501057687008346322623839310430842549320532430483480766451385382492773278794273711885247170570620998230444399856342254754421790946114752453996869495555605270601991644963936716510335226586470667290654102600255896160637216699905218617874428095081113652533866398225626096415360904389698384083210568984935770655308546133117560240494392984048453381423572767795882692197173415852620239375155984993482010790988965243554516607896906846023556426447769645278411591152785713207255492417752218763017518578136054366981143684068400422110161727687803500580404444932156796756432189670772592929040874547219248288303937782020006314276753809187496878365867627101791729871526754570133894362725018481979169995696884774592499060567111896229739723105545202972135033616347126348224694338329804594453792480556815070008240448101001668347353593750113336146707353632255841216805413891071260722235390735229537664986212755433345400373352771984777173039334513072358565155498320242528576757646349082374126872100977764388823331133730375886141524970038320798586974803134059891895219457193245990744029008240908489095718413876836827947593317125150390583187561419634146884131893174306235305465942800399870539798380585393294740477471722539259163422690856644725221071963137597648411203650070689856150388517291363918407118602263914392907822501156769724294778027977509612606549169597348834734033162946801902970966857626899148190282564243147375115781502484652782280627497110749324586709171099388208523023280076973604741536723922801481187609863513493081439776006169206734614822393913568596861467041329615464643392810011841281901453443763876328754378163107312712136633059905273085863478077903417121798543626982060141122634335736632329865226466819599793793091847803849002240993035483986603634018386190630249854616149185628631203530761476369617875302009570348757022293265053331283530438413507148025458507724422584010118091523021705031208742225114609126547755525224867262687816628182001344875661640703622943815098628711611985829691880677535877772134399172873244286068948836744579908444300723409121115220739791955904021360835998812551944352475294102276896741933824808825168210579746613910333425431370902571371560450988891065177024706619312588703887383770821225088771859782003951867371639724913626785856422662186551144439473210219841049033272949130218366672677726572866260580589980504179144671556741659436624943802395732421517533609720162824381098468117123407858745343621074696136878030855245422630215514423450399711440672332596125970608199044169659585528177893157810303829848195752336222671013367191323492227203209211386759423354064617146926895009640100264713340251677565123887813062105387215599484063766500445887147384974493005493107129898018860598324525748668576337634669066546058471982697417405398614287593110754528080146544160096582170139382660552987771580616498981084053689609672804253079778935152105493007261339509507959596584185331392306535731443080922154145741540848490712639540120146925276178729754990429784510407404052526334038757012555744321418617025584947407718617801934670592079733024448712431750643557537649758998557684035785743662454733925961205638673111102390559728058062328424697804241022380036950660729899050288552575273463056456498922854195971833532806191446955218045925127769986406508389141855190339988195670731144767555869513098515322703666924636935137536489354446126393343848494913090017019345096515755471404070811608020860240589648465062811863599537458675652666586533855325736790574242572338748807408268222209966008651913759639587063313496010213065703123 518659786971891067719554898249972454875463701980866113263986371849327197994692803768336351792454016808542761494215647768967443684360331930624487748699929437131028065246111903176655681861022787665747146060988587900911289385350428591537070006670676436853388009105766447204909152536746584654335099330742257356991678954706646971962233266881791591552166435682482756800302355756665807587405055013274560850717070507703341479187106602841534326017490479192884201635747306227295629672972408027312809446195372979664748844613709843432335966268186125906403115862649465895115496949640237493654767509880332379694464572578552186248172080772970926992974450964970926728409915719521106905204368634872917025281842865249053087422758392160676397307450588685767263244527568407538730670652562751423762465793939087332182872643360365156068734910228523192334482425692547855242928002814171633673682283393298359582079919761536981953861318158078016960714746883255654189993867893548773933684139672077942082981399035579694503049485653686910777922537119595179097327299443903889417084764100586919648602341803588165727504745561983415807056419531045918165284758163818291920944383619938693753170499766650285980745917402737042291239069334891111246633522881799737410190268679993664103320467863138430203800556504071181684485866089644497580145712242278163410588541792566601893956075274340375131306135887133825732676114876290366636610487266001743070840126918731883700552883310842021856896623162804450244560928562608716445425111927185425180982484737280543058689344966819581790049459295519222937602676841020615653135210693506743199567123746716095242942738466815543524115439719540236124624621468416954396991949195838034654739208480879362904989207258827534243163279366977894418118465752830509079923752520502569019644657491435176889378487115721961050946183937004358539513530811579079242820223345433587394511353277340050651936663269216414689265191104969768198786528778998774740912368386223493728265361884886293484538482508097862205805131662808512830417694960137369606157455362671490926554512505782236918068906981646734273009205426997042998340654536608550546923927102857978833702072520460029191293668564693497558034744155219337400229779122603278867372449308205073097260557061087519886425994488988302376394991216689578453517073788642936977859130557956018845378062375511574876160744619778116576137717064049696409828162024632025304056918490700003796628367318979576205617696566798915890904840629050413551584638372960031293517305360857596659954270671158570923707096321773335192060390681507028764817298030338371840806050295979366950720035101281710791388467247448495930664464116386250638331572483494883702885528094767282224885761721920693774165184572848924370587651930034861192416325716692137283145888699484895709218569653182047126202516939893421871365530133939138355658828052985140069953369344921687496813506143257040018948608710649069350321784979758025884992120772685618299724450889489495893879174327878044505874048141048374744928895964935137798048234961008715475234435488376534036931923218031791246558848789334893550340297714484254711152575801435268988134324554690959739005400354813275544503925137859372640751965074001988518683545898221917943071777984490640510771561777014787634914672709966702945967194628672226350833269962038747245848991470792486863398599696094787353335264856162199992094587960089928193217297573213656434597325951161219168747515489055942332045173274570877857955200537029580776200253868974727249582590361367606019186466891897851716523319457049552174935919209692058312226878119710457481516349994125904136022438425871151594445447237854763357823291199230579778174592141300256336650760100722342341459416906202812893696660501242386625039121346537401931815399159423647489311378164037504336077261532480266728948237594257586449607706011151692785499179030305721004955950138585597481425943510853867590518015116204625484311382626076794761908298285138375171386887016894443389766148843342123462610737688661733638583096027418899114956828194211580032799148974458482543852113973052125623920447688268151580952922687539544960752476094801099281218606233814384386530743462847508669999 839209163918299650424959074029785907886357261322573096361010970787939612850986573927965249440063605257865261892290878320094859920627307845798303262095730706881789508309621768555056961443629964238471764652305027528345708315059891053760758296234330278833478720305951251511218178705786721716865710724169131846195411224036199542094923695950270827028681126594986080417584490276044733136670350215482266072761945013979920506379540764545015226882565560420717712779551050042600960657626313909583249966871077410962049348564807299789593331115371748381919121191213722076019051937763204682436451404262078975376355073636239194594494704612281357835523771497401410209176367104903599678483162908584802272452413486247283531822614734415430819098396703438221260114023124012809332662297526688140272801020525557999473526745960621052229372126928428410952356853787628968895461869212397259770097644297688057966163130330521917724516626704211134520955241276239702643375291466316569816376336845493794703220774191564687985060276642652154332439145016502025120883725891673534695496355253372632855857834221340384490522264140119470174037563215114318587394919891506095421524788064870850549926931956321058573674958277284261539527373272673131252947799635608924907068634547620765895050339389893000337694919229089663663655861786529272172644772809390059640328264898111804866091108890687501479530830225463630327129907356847181706618727714102744739187480512481997036699590664474277698113428576695521505283163953343945983090098139940858526382858090052527835862384301332654148614614793839465466179434487369698027262082794484507588390454880446471129084263436853864322702414522674296016519840925610200387735978204078943143834926894756199732936800575952684633746466928397528565002597646004815315229218463302968890184455872020570184118964587444500310109606627861003264734602774716676891231426995504277250661741794631414570343781871480329082173013606126537923081306806976284353518917555820842562999395047833095387509449365724761353995414227051660205533476462622022388438082859782240251141221676881625126591930261723707877750742150919844479528264400122043628363703109027185568316894914373597788155135606023113022678136965231178682131232566367155196126827471312385809397190120992792972289472566891719498193534843671638594639708124379569307724357024775618639171154223315423878401737655262103179771735450240326659682778173817653935260449252176373414503669328549924962639989831852247174435279042557561577043146097382615303635396883879301691163012896273180050254851846998202454748207309689030109692959671041994784621148924690978936549726981959246669160601646621369174950533065222995218240016784218292824000748834559238128907122557919506326109537048143026647484393863859670017584536296438751193479314130855798280590130104170938191379541646512734460069417517709959580747599912767144021820740984646601123599362565919226570093048183859289191370818252707156103358793450412191165985031479470000073023845884619703942498991943444107166446429574655300622429333429125838883093180831997608733068801248887036669189064303758343950051738386816850837123184000479438647719852732584117549309230203009027880726596151226563964244192277211199905442969252286535089998672994130740775484902028692352758802485772072090161566678692438726796720417347013240251342098600690505723996924221843455929672899525228746050566570657507333591831585166324410962677472495321315750917654871716495319816753891069858942008890146702385029280032804126832742589851700877113978783051077229244023059050900130474329081660750540549024866418239857382757695079749116333920532845829923677928484204250410507679241908224815527185893209943234926928730493125171054773210060463740462652695218185278172368701576080463363137454072270526038049039436226365929033881502554860303679608967493307875002182979474208149284422033226277554537762141585540815527351071280840274098907156971394965472507053357221562317777811383653697875053811653829580926255503289468516806459232601751750657928192543174370519027639802232440273388797439521294407451651431727778290506981543593888371527165259878293768160744317011065289870519993453971449844239473060574373122 1357868950890190718144513972279758362761820963303439209624997342637266810845679377696301601232517622066408023386506526089062303604987639776422791010795660144012817573555733671731712643304652751904218910713293615429256997700410319645297828302905006715686866729411717698716127331242533306371200810054911389203187090178742846514057156962832062418580847562277468837217886846032710540724075405228756826923479015521683261985566647367386549552900056039613601914415298356269896590330598721936896059413066450390626798193178517143221929297383557874288322237053863187971134548887403442176091218914142411355070819646214791380842666785385252284828498222462372336937586282824424706583687531543457719297734256351496336619245373126576107216405847292123988523358550692420348063332950089439564035266814464645331656399389320986208298107037156951603286839279480176824138389872026568893443779927690986417548243050092058899678377944862289151481669988159495356833369159359865343750060476517571736786202173227144382488109762296339065110361682136097204218211025335577424112581119353959552504460176024928550218027009702102885981093982746160236752679678055324387342469171684809544303097431722971344554420875680021303830766442607564242499581322517408662317258903227614429998370807253031430541495475733160845348141727876173769752790485051668223050916806690678406760047184165027876610836966112597456059806022233137548343229214980104487810027607431213880737252473975316299555010051739499971749844092515952662428515210067126283707365342827333070894551729268152235938664074089358688403782111328390313680397293487991250787957578627162566372027001903669407846817854242214532141144462394027154784727927399916977798574135375635562637926007834780218876909746295375422983121063398835324395152970983805537909829113363455747073497451703166461361055790564865361804248133586295756134051650340937864645173095071971465222280445140696743771438204711096306121867835585975059094431285942044336291264756932719388872047931873822623559800545889860173035951171422759391994595538222453731177695734182663862044660837243370442150759947577916887477868918936730594175287630211885164402018967434833626979448804170716610580712881120450516082361011688970434063499276779517458906657747182080312858715467055880021874588526060361217048156781913022506285583487582731637484549216598826998754562482275040219755909452514290023069510940198449679239317367742876377211132036647529501168257686398651163065340119671607975128627784470342646597152702244736898351117283567431750973961948168771537646808597991196058874510257701380366625427199220670345887269762083240957460549068894069865105614997181609245856571589267713176526886276929326520353792884279840200100274721620991951018072045793894531210000862013130888476625202830340693989808699757352985317582058586406156331434947651649097936406427965752284091774110329568288620412868709176266589041656894508358541692603232465181988350914223097809465709482368959495966903020212497748448373040084492481911375325539590438420477568390134554358327616320374142770000724466918827915747913093093237500392036101301105548275759801914707635854177287275077288314630557822303425230521289085936604996157351213188424126515150508453033070450978621381286256463805707140393717158482038793107533873321110953147553687309051987497191090071482992587395523917938243283008164381390946042661158617597261785048882739538067397274798446482534919665170360772437651861927165640736799964090683731965805480286673101559992172442062244719997969517969127095739582370357180026504017579960232607337093296359567840239211429743242238056555284255794829522929651488265271037065199424046106964067802084535183265381253225893397114669477369943275546391878686520558993740697427000765069269471429949685538350814390403433369958764087340570408557205087565461451790685485359842069921212256583275542718091724126413008777014791694141689425172087599590956818435983298357079686109668792073046440698670724024316021652132810640269069970290413484296511288570593269633984467996444020306187946413979776951303765404779903914427429231862039952480087947417838728913220411812164571089126227268355836374982935908083043121 2197078114808490368569473046309544270648178224626012305986008313425206423696665951624266850672581227324273285278797404409157163525614947622221094272891390850894607081865355440286769604748282716142690675365598642957602706015470210699058586599139336994520345449717668950227345509948320028088066520779080521049382501402779046056152080658782333245609528688872454917635471336308755273860745755444239092996240960535663182491946188131931564779782621600034319627194849406312497550988225035846479309379937527801588847541743324443011522628498929622670241358245076910047153600825166646858527670318404490330447174719851030575437161489997533642664021993959773747146762649929328306262170694452042521570186669837743620151067987860991538035504243995562209783472573816433157395995247616127704308067834990203331129926135281607260527479164085380014239196133267805793033851741238966153213877571988674475514406180422580817402894571566500286002625229435735059476744450826181913566436813363065531489422947418709070473170038938991219442800827152599229339094751227250958808077474607332185360318010246268934708549273842222356155131545961274555340074597946830482763993959749680394853024363679292403128095833957305565370293815880237373752529122153017587224327537775235195893421146642924430879190394962250509011797589662703041925435257861058282691245071588790211626138293055715378090367796338061086386935929589984730049847942694207232549215087943695877773952064639790577253123480316195493255127256469296608411605308207067142233748200917385598730414113569484890087278688883198153869961545815760011707659376282475758376348033507609037501111265340523272169520268764888828157664303319637355172463905603995920942409062270391762370862808410732903510656213223772951548123661044840139710382189447108506800013569235476317257616416290610961671165397192726365068982736361012433025283077336442141895834836866602879792624227012177072853611218317222844044949142392951343447950203497865178854264151980552484259557381239547384913795960116911833241484647885381414383033621082235971428836955859545487171252767505094150028510689728836731957397183336852637803651333320912349970335862349207224767603939776739723603391018085681694764492244255337589259626104250829844716054937303073105831004939622771741372782060904032855642796490037402075593307844607507256123720370822142422632964219930302322935681187964530349729193718372267333174577816995052750625635705976079426130897676230503410239775398714165536705670930567725261900788099128616200042280296463704931024216800015769740101556805300885088984203217372422361410048348145361324823819489065200204129709670540691234280565530246832241074811606051931469350887025763885758482700006837759706426384258669134977665556439657754201227585398309569639670104516961196492270398829861523923508961600232918890791504365169359057517154027878519428113594851314214889744012231275095493159134705078367647733063421485172338091709707673510000631694513848429496039926866097117452390872032027936589077821755114245739042906901819260393241420797152371751503069525715805864584936977396851581450443774488117956385398943802394146283574030019859194837623860760831331305957117440312500569240349628424388329569484402794988123069123972752122061741365834399493152519644254110883269100552013549679944274104656065227748533188672173498311392448139781699212681063906619692093227729275104595376880467905862478359952270941803850670582825232488932971678681056710595741972980830434350834760319477228392734762293763121833976752569046356339762641421257310500833099240710773156361959714599425222996906509492358571977088130085718507451413855738675778716307107648861634149961012027770110194111746351064451887879537833683738199087096871798731362442273507464128206723543700475723587390250616769362403840266642200874088166172580873336453973664959567991354343245482860830080480233309667228536128086072534415788332329058994556429325489340519919397463921052445770921494510324553605242277155422279157075529202892165234954439481113767640153012107798676460579576743853501071358755416836507682204934410775455928324007253207296132497073964728823229860959646220722327286219222408968657416243 3554947065698681086713987018589302633409999187929451515611005656062473234542345329320568451905098849390681308665303930498219467130602587398643885283687050994907424655421089112018482248052935468046909586078892258386859703715880530344356414902044343710207212179129386648943472841190853334459267330833991910252569591581521892570209237621614395664190376251149923754853358182341465814584821160672995919919719976057346444477512835499318114332682677639647921541610147762582394141318823757783375368793003978192215645734921841586233451925882487496958563595298940098018288149712570089034618889232546901685517994366065821956279828275382785927492520216422146084084348932753753012845858225995500240867920926189239956770313360987567645251910091287686198306831124508853505459328197705567268343334649454848662786325524602593468825586201242331617526035412747982617172241613265535046657657499679660893062649230514639717081272516428789437484295217595230416310113610186047257316497289880637268275625120645853452961279801235330284553162509288696433557305776562828382920658593961291737864778186271197484926576283544325242136225528707434792092754276002154870106463131434489939156121795402263747682516709637326869201060258487801616252110444670426249541586441002849625891791953895955861420685870695411354359939317538876811678225742912726505742161878279468618386185477220743254701204762450658542446741951823122278393077157674311720359242695374909758511204538615106876808133532055695465004971348985249270840120518274193425941113543744718669624965842837637126025942762972556842273743657144150325388056669770467009164305612134771603873138267244192680016338123007103360298808765713664509957191833003912898740983197646027325008788816245513122387565959519148374531244724443675464105535160430914044709842682598932064331113867993777423032221187757591726873230869947308189159334727677380006541007931938574345014904672152873816625049423028319150166816977978926402542381489439909515145528908913271873131605313113370008473596506006772006277435819308140806377629159304689702606532690042209349215913604748464592179270637306753619435266102273583231978938963532797514372354829784040851747052743947456334184103899206132210846853255944308023323125381030347303622712684485153418689720406678651763247370586964394072690953271950424581878891332190238893608269587420969421387526702205342542691590640478820372798704658570717012413895184737929127836767742623608927299155362629154573305115518385773511834298715038067908497940801373353098393397580031136681998178748184541277748365403292081147858713475073802728035475547366031670711089251148441161590258739434761099386180527428441486931383195319644645877773302693212278836492891117599906526658980290126928683628485451648732437586260322700528146729719791537186260207529618876908826543658819325047122939312821008155453560455844271712205368961643783178364425099984271759748176361972876006274756024717637520080060621896607810097403996217388992006829886309615200839245072112429070989197080653836177463384470209394947599748413472745894273070250182724692500684890489944818950835810589419061933674703604308853919428207307134272125938491318653634731187638729398437174236506979637576753695999553303441156139574951373503347997829640106633546236802736149676376634425334660633091827791965117215245724278743656490898787972057719942495689228288010638135888887892701857161929350645400545757227069388286385590247995593261370623540608222351332541937071514166316640240606150329952726934735825366553974722087015483435502223791614490527337116820671005763699053010958993063236117939235600810033643414341513336974343507226941049753372307072907741114028814112305293459492999576957849002549015203627013745478975558319290356182970934464893275993015130425409125741065007172795773799030729541444496723377668438797905764350444927833424264457739444105623198325033793641544905100864228557477757501146594147386143925323818276477150030721237843967935208995277629558298807555089797344599173182578719250950769684360909786996575795120480885764690267480848310059182241287586119361840007317968276487341154713971225987185140635394432048772447990683122594205344876740459364 5752025180507171455283460064898846904058177412555463821597013969487679658239011280944835302577680076714954593944101334907376630656217535020864979556578441845802031737286444552305251852801218184189600261444490901344462409731350741043415001501183680704727557628847055599170818351139173362547333851613072431301952092984300938626361318280396728909799904940022378672488829518650221088445566916117235012915960936593009626969459023631249679112465299239682241168804997168894891692307048793629854678172941505993804493276665166029244974554381417119628804953544017008065441750537736735893146559550951392015965169085916852531716989765380319570156542210381919831231111582683081319108028920447542762438107596026983576921381348848559183287414335283248408090303698325286662855323445321694972651402484445051993916251659884200729353065365327711631765231546015788410206093354504501199871535071668335368577055410937220534484167087995289723486920447030965475786858061012229170882934103243702799765048068064562523434449840174321503995963336441295662896400527790079341728736068568623923225096196517466419635125557386547598291357074668709347432828873948985352870457091184170334009146159081556150810612543594632434571354074368038990004639566823443836765913978778084821785213100538880292299876265657661863371736907201579853603661000773784788433406949868258830012323770276458632791572558788719628833677881413107008442925100368518952908457783318605636285156603254897454061257012371890958260098605454545879251725826481260568174861744662104268355379956407122016113221451855754996143705202959910337095716046052942767540653645642380641374249532584715952185858391771992188456473069033301865129655738607908819683392259916419087379651624656246025898222172742921326079368385488515603815917349878022551509856251834408381588730284284388384703386584950318091942213606308320622184617805013822148436842768805177224807528899165050889478660641345541994211766120371877745990331692937774693999793060893824357391162694352917393387392466123683839518920467193522220760662780386925674035369645901754836387166372253558742207781327035590351392663285610435869782590296853709864342690692133248076514656683724196057787494917291813905611345500199645612582751485281177148338767621788226524520725346301423504620152647868426928333749761987826657472199176797746149731989958243111844020490922135644865627271828443350722527898376942984345588473001732981878462403448599688353430053038859657983544890917099939048539969645605793170398728900501969298435677876494841613022395548200311017849922208592966236842916692446225089445523895511392995534908740213641365719968409975452333666746057675273728006194801371576115228660328457098037319192897955359612953043238959261906349184925109402933665171658632270167816834236752733678530606359480400832335505259052243937914443677990367212970714483722791140318963812957998068108437331259367252907311067051243654007819446202809858171770329570117810729098510065818488046756752406732653230117104140365660067018835768081916506291372028655340841169210625117645776139775898530557085621867886796400401279585077537018319073647406703000203002237326993466963562352079484966037144756169710937743476856608061965083265483956098429279208698924125625409739195474506126698756446990260559645734977348210313036101896621182442994257467415829989210180420197501641708370292194630330229116617167806452538809818551263024117179340330090236260830820825750303595219289279061928283910052344600667475000925627558345461697029588488387951474656061839775264865212871801028170216061381778920061012725558418286233024448727959382010731544427231844425757362965616828469679414721769375263989826140075403653604745928022300890428553037310751944566072430118021718625244441929021482716558830901132713131315623942158177639297371742318584889550249312134359738015404495824778607703222304935703678558343460870081033186936762973266089830205588703815469414664338195874613951773683614889429719319831234800575962977368954420128376074743954205390250798128549940008683593796941465341434120981919668814599077795268324296250782773896600494594362010103723061149869458624293008418668713010408813427753845397875607 9306972246205852541997447083488149537468176600484915337208019625550152892781356610265403754482778926105635902609405265405596097786820122419508864840265492840709456392707533664323734100854153652236509847523383159731322113447231271387771416403228024414934769807976442248114291192330026697006601182447064341554521684565822831196570555902011124573990281191172302427342187700991686903030388076790230932835680912650356071446971859130567793445147976879330162710415144931477285833625872551413230046965945484186020139011587007615478426480263904616587368548842957106083729900250306824927765448783498293701483163451982674487996818040763105497649062426804065915315460515436834331953887146443043003306028522216223533691694709836126828539324426570934606397134822834140168314651643027262240994737133899900656702577184486794198178651566570043249291266958763771027378334967770036246529192571347996261639704641451860251565439604424079160971215664626195892096971671198276428199431393124340068040673188710415976395729641409651788549125845729992096453706304352907724649394662529915661089874382788663904561701840930872840427582603376144139525583149951140222976920222618660273165267954483819898493129253231959303772414332855840606256750011493870086307500419780934447677005054434836153720562136353073217731676224740456665281886743686511294175568828147727448398509247497201887492777321239378171280419833236229286836002258042830673267700478693515394796361141870004330869390544427586423265069954439795150091846344755453994115975288406822937980345799244759142139164214828311838417448860104060662483772715823409776704959257777152245247387799828908632202196514779095548755281834746966375086847571611821718424375457562446412388440440901759148285788132262069700610613109932191067921452510308936596219698934433340445919844152278165807735607772707909818815444476255628811343952532691202154977850700743751569822433571317924706103710064373861144378583098350804148532713182377684209145321969807096230522768007466287401860988972130455845796356286501663027138291939691615376641902335943964185603079977002023334387051964342343970827929387884019101761529260386507378715045521917288928261709427671652391971598816497946116458198756143953635905876866311524451961480306273379943210445752980075267867523234832821001024703033938251239351090508987985043340259545664081265408017624340987408318862468922171095326603035513701358002368186470911006299171191223297280729208401488812556850006435485712560374268360643861078896669701875322396829075456525978295020574296384852295598287611885047384701630167520027817480999442877424666245997991362082527310227149410213433052926585103715214937577996691220761106433631150310316155685789072959519479702219249388835032813410561051666102757918954970695963563956544270864790813889099277741162048917871568985037382990811375368424274939567062852524332774601781246472862431243639012655487429024119660282575470920447378251830951466725620826502506283207480053586638716347854069362176252794731056215916421918093969675842238050288440917624097863540049210026081255249586306758376741219352115395666956080252748351011011854122430444634127739089500843398138600768332394899109374917713363587699541836961483509401870435348273875499128757737025114612760244993249726410236022369402682870946127929688586299658239981746159486480108968392255221584204059520482640968365005505060508309700739169196663569874406409718376621851078816419011674218759897501413260825847123858766984115241531777888298188631765413854941926196743077323210767089004486291555507332882052784683760065736517411349469142387963560192044374958768745181400100870192557878223051721794677116378018640252380697113097745504980149892977568240937765690045047988437312074808215376393914758709573961326541838872380631114953951438328101283763081612927917750932265502365849423658202872160961749041326876883377254511625938287800991530743847331352182851201613339988156472351763982494921458857364928315108864358874770532458751764727549257322673456341020482489459727005259388917422351106124388462767978873781319082854443658090790091864876981935516724074949048335010094018725057191116703693531407633098722138334971 15058997426713023997280907148386996441526354013040379158805033595037832551020367891210239057060459002820590496553506600312972728443037657440373844396843934686511488129993978216628985953655371836426110108967874061075784523178582012431186417904411705119662327436823497847285109543469200059553935034060136772856473777550123769822931874182407853483790186131194681099831017219641907991475954992907465945751641849243365698416430882761817472557613276119012403879220142100372177525932921345043084725138886990179824632288252173644723401034645321736216173502386974114149171650788043560820912008334449685717448332537899527019713807806143425067805604637185985746546572098119915651061916066890585765744136118243207110613076058684686011826738761854183014487438521159426831169975088348957213646139618344952650618828844370994927531716931897754881056498504779559437584428322274537446400727643016331630216760052389080786049606692419368884458136111657161367883829732210505599082365496368042867805721256774978499830179481583973292545089182171287759350106832142987066378130731098539584314970579306130324196827398317420438718939678044853486958412023900125575847377313802830607174414113565376049303741796826591738343768407223879596261389578317313923073414398559019269462218154973716446020438402010735081103413131942036518885547744460296082608975778015986278410833017773660520284349880028097800114097714649336295278927358411349626176158262012121031081517745124901784930647556799477381525168559894341029343572171236714562290837033068927206335725755651881158252385666684066834561154063063970999579488761876352544245612903419532886621637332413624584388054906551087737211754903780268240216503310219730538107767717478865499768092065558005174184010305004991026689981495420706671737369860186959147729555186267748827508574436562554192438994357658227910757658082563949433528570337705024303414693469548928794629962470482975595582370705719403138590349218722681894523044875315458903145115030700920587913930701819204795248381438254139685315276753695185247898954720078541050677271981845719021990246349255582076594833291377934322220592673494454971544119557240217243057736214050537004776366111395848449759093733789760022069544256343599248488628351592701600300247928061606467731171099281498772487675882701247929358452795926077896823289685785731193072249503907193109428508546476632273946134297365521817854501412456685703590841188203892884761574639822985634159261440348470540394897352585651608914238006249654249295398602377291695264753333020819908042969844585163313448209820478013621544546859966252906926523338388817661780906731575723893030195559385665766719672642778988942943772798062796876335093959607408353474878687028319132432745458208650741381998335670454599767929577587240863780398193297004543321420248579678573497554176923812922951826668801742581394989423289853992843296587559779314581299762503006265562798496075363314290394917123257236423601281036843431555601016349025968100343391123080507299479280393160391123234752190000010475967214266705629282086834722981185825349801979785806671928626263537619753394980744493098571821998417714854325432681961121206053063195477623566805477151068820312661190220195761506920226967465500299714556972799624754167476220589118886943749696716670795668104380031081259164031585207482101234239213575316469319148812452723225912429812677271298594122122228314762239548987747926593991585750048466858111909637244761977813979186780475189109757176203367651590242457405446643650328795002343329877671399139162986031954217358092583677548943434563603821078462075829635702166836691519574055106503195977025825858233158174706692731136516446491642008466392456100766702491433002450783406121278248517634611120418555333793433459818322936241426132792227674552003696255057112129077625473026081666502478167063066625240381253919482981479864184053977030555441720715381706971474737754504009937161557771555017082754652494668226377934268605073746794647634940099159450733509827706184855925332066627661731271280618009667013942982714363816447558509444687647688380396878122767954341572865761477476529878734178672109484879552643018065609785416703940221060852567536210578 24365969672918876539278354231875145978994530613525294496013053220587985443801724501475642811543237928926226399162911865718568826229857779859882709237109427527220944522701511880952720054509525488662619956491257220807106636625813283818957834307639729534597097244799940095399400735799226756560536216507201114410995462115946601019502430084418978057780467322366983527173204920633594894506343069697696878587322761893721769863402741892385266002761252998342566589635287031849463359558793896456314772104832474365844771299839181260201827514909226352803542051229931220232901551038350385748677457117947979418931495989882201507710625846906530565454667063990051661862032613556749983015803213333628769050164640459430644304770768520812840366063188425117620884573343993566999484626731376219454640876752244853307321406028857789125710368498467798130347765463543330464962763290044573692929920214364327891856464693840941037615046296843448045429351776283357259980801403408782027281796889492382935846394445485394476225909122993625081094215027901279855803813136495894791027525393628455245404844962094794228758529239248293279146522281420997626483995173851265798824297536421490880339682068049195947796871050058551042116182740079720202518139589811184009380914818339953717139223209408552599741000538363808298835089356682493184167434488146807376784544606163713726809342265270862407777127201267475971394517547885565582114929616454180299443858740705636425877878886994906115800038101227063804790238514334136179435418515992168556406812321475750144316071554896640300391549881512378672978602923168031662063261477699762320950572161196685131869025132242533216590251421330183285967036738527234615303350881831552256532143175041311912156532506459764322469798437267060727300594605352897739658822370495895743949254120701089273428418588840720000174602130366137729573102558819578244872522870396226458392544170292680364452396041800900301686080770093264282968932317073486043055758057693143112290437000508016818436698709285492197109370410384595531111633040196848275037246659770156427319174317789683207593326326257605410981885255720278293048522061378474073305648817626724621772781735967825933038075539067500841730692550287706138527743012487552884394505217904226052261728234334986410941616852261574040355199117534068930383155829864329136174380194773716236412509049571274374836526170817619682264996766287692913181104447970387061593209374674803891060745831046282914888469841837283097244903788071364169288506366893515328192068304252614092093828789546798203063544140970015609046497432363061006246177027486280724407522781266242328026904722937806420340422708795879199772599227882704157881350794754017637441527590757718669630564476101278651912447677458039576414811746231506265870687496542211559743962149841275408112234137678956314659603094795381907989209659613117949819264362856916845367629362161560561054162193746645278218285925099482974572970388043704614675432232503569052382103522632233448153930029839428361368841456645955122179450668611918104445643056504755917723004458820844725874559828061041056258235384640278839105510376411449178824570349428726708447863126595248945142564038875762167573809545967929687578903583783461048757188450974902170149905246675123882925213245703731647188742946443081031690473782713952205291961273793781759474220959734802949428117204707944810116489333159912266959127627288823071940288156944590163865992159766843479962988453663773652032739084281888449935604300062134635705483989183334941838960560416198271803868142216486196799043221844384139184881825487348287581144198593240985171309224655079766099481461964722207225959103350732584915782858311123608020027106644836797879800236937982600676383689519186283324656168406992645868241675194716851000135706753554216390876076886172066080515953574309844748115406084813998890742747103343141184352025145803018357432325097969893332909762538746034753784492909954406218696094640651140578141916763526532604159575950048963518325504042286457949583474589389301118072291763107469394019202371631786167553682897907455626562161715960977211612432362957626354458465395458253621157819889646661743122800902120397471628693951289674545549 39424967099631900536559261380262142420520884626565673654818086815625817994822092392685881868603696931746816895716418466031541554672895437300256553633953362213732432652695490097581706008164897325088730065459131281882891159804395296250144252212051434654259424681623437942684510279268426816114471250567337887267469239666070370842434304266826831541570653453561664627004222140275502885982298062605162824338964611137087468279833624654202738560374529117354970468855429132221640885491715241499399497243719464545669403588091354904925228549554548089019715553616905334382073201826393946569589465452397665136379828527781728527424433653049955633260271701176037408408604711676665634077719280224214534794300758702637754917846827205498852192801950279300635372011865152993830654601819725176668287016370589805957940234873228784053242085430365553011404263968322889902547191612319111139330647857380659522073224746230021823664652989262816929887487887940518627864631135619287626364162385860425803652115702260372976056088604577598373639304210072567615153919968638881857405656124726994829719815541400924552955356637565713717865461959465851113442407197751391374671674850224321487514096181614571997100612846885142780459951147303599798779529168128497932454329216898972986601441364382269045761438940374543379938502488624529703052982232607103459393520384179700005220175283044522928061477081295573771508615262534901877393856974865529925620017002717757456959396632119807900730685658026541186315407074228477208778990687228883118697649354544677350651797310548521458643935548196445507539756986232002661642750239576114865196185064616218018490662464656157800978306327881271023178791642307502855519854192051282794639910892520177411924624572017769496653808742272051753990576100773604411396192230682854891678809306968838100936993025403274192613596488024365640330760641383527678401093208101250761807237639841609159082358512283875897268451475812667421559281535796167937578802933008602015435552031208937406350629411104696992357751848638735216426909793892033522936201379848697477996446299635402229583572675513187487576718547098212615269114734872929044849768374866941864830517950018362937814441650463349291489786284077466160597287268831152132883133569496927652561976162396592878672787951543072812842875000235316859741608625790407032997669880559447429484758553478467484265034717294251956211131063653214731035605860427072765184050562878696775822320470869268549047731282185753637639801140657015778202744373143169577487466906629905787358582122567618111106513985555178922494707252841074627790723887452533631334046119655059989807811454513530313370618268181544966492271870661693100825123592816814513776621550365127023105443163129597784345193135666690317796810081901960865638617074129452423524360343138279951433654386258634888157157271719194830941036328414860531214253786146770838210925949721339875635461956249651543781084421174846288863365305166961851099033513540412483937704538981259416254273420962508868668320737039115513302685420801918114921610270771461547005091293543825911699909630040826862930164010903816458858905357155942277396392347846441562773295808556370151195627234353385734379286697036750000240093803979222555677415418440402469864462219474748637092689466292850534132492643159751827358578162745033464455992859001263860708460173310119418747266017160668036028919145837183565553249749517137834179837144692516757857577909815310338074898090908535629846718271062363639045361476265502287295726446588781585489289355418541601681539541355649182830997439202476722862430768921911891402222660669070620873476061346599340154587965160699233051817336508907291608513994827570099662035573037292898646502728370985051459789810797434800959267288825547979661675135013039787241561839545781890942879773141229178209593579047335926414617884251877065515983128357262624165831889329856995387987766818685275039881237276500538763721654467725961235778849293145808804519851032131606350954223584989062677776237552114164134439399921455928779803563043725479061033145354346149984001241407352143274250542112839099979566773935823387831934995274192432293267304769199304761188410687537101411849754803857210756127 63790936772550777075837615612137288399515415240090968150831140036213803438623816894161524680146934860673043294879330331750110380902753217160139262871062789740953377175397001978534426062674422813751350021950388502689997796430208580069102086519691164188856521926423378038083911015067653572675007467074539001678464701782016971861936734351245809599351120775928648154177427060909097780488641132302859702926287373030809238143236366546588004563135782115697537058490716164071104245050509137955714269348551938911514174887930536165127056064463774441823257604846836554614974752864744332318266922570345644555311324517663930035135059499956486198714938765166089070270637325233415617093522493557843303844465399162068399222617595726311692558865138704418256256585209146560830139228551101396122927893122834659265261640902086573178952453928833351141752029431866220367509954902363684832260568071744987413929689440070962861279699286106264975316839664223875887845432539028069653645959275352808739498510147745767452281997727571223454733519237973847470957733105134776648433181518355450075124660503495718781713885876814006997011984240886848739926402371602657173495972386645812367853778249663767944897483896943693822576133887383320001297668757939681941835244035238926703740664573790821645502439478738351678773591845307022887220416720753910836178064990343413732029517548315385335838604282563049742903132810420467459508786591319710225063875743423393882837275519114714016530723759253604991105645588562613388214409203221051675104461676020427494967868865445161759035485429708824180518359909400034323706011717275877186146757225812903150359687596898691017568557749211454309145828380834737470823205073882835051172054067561489324081157078477533819123607179539112481291170706126502151055014601178750635628063427669927374365411614243994192788198618390503369903863200203105923273616078497477220199781810134289523534754554084776198954532245905931704528213852869653980634560990701745127725989031716954224787328120390189189467122259023330747538542834088881797973448039618853905315620617425085437176899001770792898558603802818490908317636796251403118155417192493666486603299685986188870852517189530850133220478834365172299125030281318705017277638787401153704823704396731579289614404803804646853198074117769385790124764455654736169172050075333163665897267603049741859101560888111871638476127829940907644216710308397459826777259937553500666883066301915551463936201124023036734884704928728379947491250740036684905679535210882519879452410912114416314170058126525194531541204685204135634036900914938814355741568900921302317834716177451336733711040976977424166264871098544397258706474387570832151218149141122845692736007639230876436257640813124729894211621828133467131509304570671663983268322492979555359545888523937591202816760366514576738930245988027978481033518149003687683578555311882900436689624149996296821999370346274329263436335693210666465774465746043981536319808061613492864408203450801937230037162193685070635482136089413836219367253327276217464728095752364670637574469458101867919188399395544095297964415733567391456220962697275168271221158935151619096338191273229147901953096243004679687818997387762683604434603869415304640014367466149872520017902711996582181321235589602832859049051945458985669747954132795045620182681133044922368175383221868612846145408478997095832512377376805960906120125301637106921723570069582153818037886544572309281879457355344252088980965776327636923001210435772116527328249915834739873485407683572135379630040661046860862047312594409260178983366859262311606044785286001679106254069427125421440277776439859639876524296853138693707682062679682129696526302965308967652136173500316621084283923457232540625529916810207756638241697546299336107333755850027401244290109532621645771162733290336691064406725875460605765350183914475660013745420091916655168372790999815246573517506147377680367454474943933796949382661767795658138955113799535038026196101741594400622084022874510845229897875854806832948455052347725977936151554924305259598900812703828800077191179206298781014186393460669650685914425124658845966504311211589657498883478448755146885301676 103215903872182677612396876992399430820036299866656641805649226851839621433445909286847406548750631792419860190595748797781651935575648654460395816505016151954685809828092492076116132070839320138840080087409519784572888956234603876319246338731742598843115946608046815980768421294336080388789478717641876888945933941448087342704371038618072641140921774229490312781181649201184600666470939194908022527265251984167896706423069991200790743123510311233052507527346145296292745130542224379455113766592271403457183578476021891070052284614018322530842973158463741888997047954691138278887856388022743309691691153045445658562559493153006441831975210466342126478679242036910081251171241773782057838638766157864706154140464422931810544751667088983718891628597074299554660793830370826572791214909493424465223201875775315357232194539359198904153156293400189110270057146514682795971591215929125646936002914186300984684944352275369081905204327552164394515710063674647357280010121661213234543150625850006140428338086332148821828372823448046415086111653073773658505838837643082444904844476044896643334669242514379720714877446200352699853368809569354048548167647236870133855367874431278339941998096743828836603036085034686919800077197926068179874289573252137899690342105938173090691263878419112895058712094333931552590273398953361014295571585374523113737249692831359908263900081363858623514411748072955369336902643566185240150683892746141151339796672151234521917261409417280146177421052662791090596993399890449934793802111030565104845619666175993683217679420977905269688058116895632036985348761956851992051342942290429121168850350061554848818546864077092725332324620023142240326343059265934117845811964960081666736005781650495303315777415921811164235281746806900106562451206831861605527306872734638765475302404639647268385401795106414869010234623841586633601674709286598727982007019449975898682617113066368652096222983721718599126087495388665821918213363923710347143161541062925891631137957531494886181824874107662065963965452627980915320909649419467551383312066917060487666760471677283980386135322349916703523586751531124332163005185567360608351433817636004551808666958839994199424710265118442638459722317550149857150160772356898081357385680559128172168287192755347719666040949118004702649866373081445143202169719955892611095382026156528209343366595605406123594687258893594122375252316168824532591961310500432197442705386772784820012983932406208790372524506069385395725693995113179854483167002117512425666810993034682034425276572112080373454035911938045210261827624802391347987075615020576362307642527631964867047081659245158969132757142969206090359531597980387646664994770691487972715841450802360474220602833948791420212008431910035427997147921644801116406792682836117835310979542910196226090973917638233771569871282316442839012247771935150458521789481261604240312325086106245948365780454767449175552299700998377628316873499259584394020257512600594752280662476871764446098705482930724186148784821510215754334288863598047679011733187045908496549274379088142694782118563406447911756823321090723333733617355045121609833994454743707989247533818507582533636332382940041429688059091191741906160112019287855707109878829685624621157110592178289432715453728232762584686407630108204019134203946991796309480891141306355041786922649239029280882174327624834279398065627126323098740299962446329623679581147979397464156112784635480844911726175626406615728026327252593139210296936882360898112817539271253281475166947224927784562461038100249337584909743363331172070385589519931382226918261347348278446408657392286120673329593776368547168132810847966263807344098252719422595172805693679952703595963311114055885243190746058088605191591945220796425483259385845117998276635623168630422499703111668981697577351174588568129922709003817868389516015803805517009133407858735340443412672237091747112281227801845406328690253793226942758187181618827789745306068023120027088873877979146514786218462274432301158677679417850558427516085493080324086135556165712611742175063245941639177170745980234604402018328455943843118207692429428045271265499622277194600295328203559004096057803 167006840644733454688234492604536719219551715106747609956480366888053424872069726181008931228897566653092903485475079129531762316478401871620535079376078941695639187003489494054650558133513742952591430109359908287262886752664812456388348425251433763031972468534470194018852332309403733961464486184716415890624398643230104314566307772969318450740272895005418960935359076262093698446959580327210882230191539357198705944566306357747378747686646093348750044585836861460363849375592733517410828035940823342368697753363952427235179340678482096972666230763310578443612022707555882611206123310593088954247002477563109588597694552652962928030690149231508215548949879362143496868264764267339901142483231557026774553363082018658122237310532227688137147885182283446115490933058921927968914142802616259124488463516677401930411146993288032255294908322832055330637567101417046480803851784000870634349932603626371947546224051561475346880521167216388270403555496213675426933656080936566043282649135997751907880620084059720045283106342686020262557069386178908435154272019161437894979969136548392362116383128391193727711889430441239548593295211940956705721663619623515946223221652680942107886895580640772530425612218922070239801374866684007861816124817287376826394082770511963912336766317897851246737485686179238575477493815674114925131749650364866527469279210379675293599738685646421673257314880883375836796411430157504950375747768489564545222633947670349235933792133176533751168526698251353703985207809093670986468906572706585532340587535041438844976714906407614093868576476805032071309054773674127869237489699516242024319210037658453539836115421826304179641470448403976977797166264339816952896984019027643156060086938728972837134901023101350276716572917513026608713506221433040356162934936162308692849667816253891262578189993724805372380138487041789739524948325365096205202206801260110188206151867620453428295177515967624530830615709241535475898847924914412092270887530094642845855925285651885075371291996366685396711503995462069797118883097459086405288627687534485573103937370679054773284693926152735194431904388327375735281160602759854274838037117321990740679519476029525049557930743952807810758847347831468562167438411144299235062209384955859751457901597559152366519239023235774088439991137537099879371341770031225774761279293759577951202468156493517995233163386723535030019469026477221992418738570437985698109588453074700371476920133530231827107409210998113775673185245853216539388846537328394945546263403946796450739446630238605567985577116623249345895864525717330162342817183921497664625477243809416203780792700222136393299022014067750487618238072367958478816212919832610818408577458441591350656860474761916150106220053738168895128657226215472780390061005329097390670525431434133817293790678004748348308801528304470817493281290084154146205368036573487140749014710256242245187779825113723504815736036691588294782647965005628375556577320662208245145070680322566383328742645124409256784266957599629590553656116925323896476461282798273167186848848546244562701306962801992007054787736824290725189838317742396778105215613678859608343872009780811681538285479183046109375878088579504589764546623157271011749893197151774493677128494890286014896774963822365417545456682053663004803951901124591355101073822439399964155098032460897893728319736103831375230578004503129059646420087747966730601304718048979617974150671180053154193605632981750867817007293028920776133298147318133014640145789187088021348652354908499919942091078761296198446957055957740432249368956379193693832963046633349957552662726819411542113607370216228187044657107701104957515026160932401552291699108658988920355732136811430676969527114203290629230721508755428553063724956932144454105610391473196031666789812644290627468740084464925259194329434879278474154866199718281177022878827950651995611785463236906993685798733949223086696144728737160739707569843386623447884261181822655065115069979720740915408302485148943146388575555272657391375971137840806302022287111090017871341075875949770439254361925186533385416204721916613493804122117554086891237769810833866852099178806652314150981359479 270222744516916132300631369596936150039588014973404251762129593739893046305515635467856337777648198445512763676070827927313414252054050526080930895881095093650324996831581986130766690204353063091431510196769428071835775708899416332707594763983176361875088415142517009999620753603739814350253964902358292779570332584678191657270678811587391091881194669234909273716540725463278299113430519522118904757456791341366602650989376348948169490810156404581802552113183006756656594506134957896865941802533094745825881331839974318305231625292500419503509203921774320332609070662247020890093979698615832263938693630608555247160254045805969369862665359697850342027629121399053578119436006041121958981121997714891480707503546441589932782062199316671856039513779357745670151726889292754541705357712109683589711665392452717287643341532647231159448064616232244440907624247931729276775442999929996281285935517812672932231168403836844428785725494768552664919265559888322784213666202597779277825799761847758048308958170391868867111479166134066677643181039252682093660110856804520339884813612593289005451052370905573448426766876641592248446664021510310754269831266860386080078589527112220447828893677384601367028648303956757159601452064610076041690414390539514726084424876450137003028030196316964141796197780513170128067767214627475939427321235739389641206528903211035201863638767010280296771726628956331206133314073723690190526431661235705696562430619821583757851053542593813897345947750914144794582201208984120921262708683737150637186207201217432528194394327385519363556634593700664108294403535630979861288832641806671145488060387720008388654662285903396904973795068427119218123509323605751070742795983987724822796092720379468140450678439023161440951854664319926715275957428264901961690241808896947458324970220893538530963591788831220241390373110883376373126623034651694933184213820710086086888768980686822080391400499689343129956703204630201297817061288838122439414049071157568737487063243183379961553116870474347462675469448090050712439792746878553956671939754451546060770697842356338753670829248502651897955491139858500067444165788327214883189470934957995292488186434869519248982641009071250449218569665381618419317599183501197316419595065514987923626188790314500086185279972353778791089857510618545022573511489987118385856661319916106160545834752098924118827850645617129152394721342646046525010699880938417895552293839847485191489904065936440617479933717067499171398879240966396393872013539445907371213074396981478485164723202350685941439613028561294556157692150519721510329892798942074026933119771441381070827874359467295362431779157036956577977769670348346125481207690524098791124418909243951824877463308710707570318228485648204323125805147860273896796853688165215225981504974344330043384764595642982119878672810620913656505529062019304604727157517835091381061339796362488193553560279881172680368035737689965923099521464265212769576834833262802997425733157194330829427448128055133442933051779109845344887944980523371575488194469844181663736123227634387257483425526208439918811611057915014058923455672787518387939210068422567597591405828288394215174617862123087539063937179771246495924658642445126718859772026837399114834239087068575447612228692055128002231864312161867023938155848116387664581964963745755005942020681699927174610494063728665654628643631629452158386720050194296354280885866028377082130263455815533999105331808608157483545033620281513915343595084200493912752963328458341302823819302133427704504552116861545536031866799321071604319754545899125076059881307980698235999071384211697662786936963992596734212789918549071221322370259185120974886871914352668873059328100122544732854770304949348717835913100700649349489208216317989572103887027096364662089289515755959609166317435639513827324252143883096342544382215522086694032012235809387336055198135473998740798079961751068493024834982530387682465757025005451237629567249845775092203943857699887430194520947423375447547253234690507949803487223333886626108422667255730483083250939195712078431532671166767989818223050372557336922329809983514936509035310456144046699474134855873155077417282 437229585161649586988865862201472869259139730080151861718609960627946471177585361648865269006545765098605667161545907056845176568532452397701465975257174035345964183835071480185417248337866806044022940306129336359098662461564228789095943189234610124907060883676987204018473085913143548311718451087074708670194731227908295971836986584556709542621467564240328234651899801725371997560390099849329786987648330698565308595555682706695548238496802497930552596699019868217020443881727691414276769838473918088194579085203926745540410965970982516476175434685084898776221093369802903501300103009208921218185696108171664835757948598458932297893355508929358557576579000761197074987700770308461860123605229271918255260866628460248055019372731544359993187398961641191785642659948214682510619500514725942714200128909130119218054488525935263414742972939064299771545191349348775757579294783930866915635868121439044879777392455398319775666246661984940935322821056101998211147322283534345321108448897845509956189578254451588912394585508820086940200250425431590528814382875965958234864782749141681367567435499296767176138656307082831797039959233451267459991494886483902026301811179793162555715789258025373897454260522878827399402826931294083903506539207826891552478507646962100915364796514214815388533683466692408703545261030301590864559070886104256168675808113590710495463377452656701970029041509839707042929725503881195140902179429725270241785064567491932993784845675770347648514474449165498498567409018077791907731615256443736169526794736258871373171109233793133457425211070505696179603458309305107730526322341322913169807270425378461928490777707729701084615265516831096195920675587945568023639780003015367978856179659108440977585579462124511717668427581832953323989463649697942317853176745059256151174638037147429793541781782556025613770511597925166112651571360016791138386420621970196275094920848307275508686578015656967660787318913871736773715909213752534531684936601252211583342988528835265036924408866841032859386973443552120509558675844337640361960567441986031633874635213035393526955523174655387092387395528185875802725326391087069158027508052279986033167705910899044298540571753024058259977417013213086981485037594645496551481804450470847675084090387873652452704518995589552879529848648155644901944853260018344160617940613675684111748302908592442114061014032340664182414190369123268517429438451376403593661882292922185562966824199466672444587342928065612947072064486819612933260860076774302316759337800928274935904169832589291509425190145184543902053556676237051672672709982863571691558597015250797274608667059689431755730801171104707065596007742716304604297420610356709609532996367685543175534323783472623720424448539386373218254462374075746677186914693494312616652030405778463860678555273647730468187474338925384473998810352103458750932525554408578521810354506618730438741340104994896185183771774381554217882169429270841145133412153925011242570803837516897212756190773179542699717318736709474935441601097448695471964655752642454830922972076180631820184732489010431925866398794739304784113293990529915166044425682101427205935277838069205896712903341306133648439815268350751085689205265602397730609665223989173608511367581958861462509003655877493419777320994215530028742107749240979019683038786185154970097118714160825068338813799832497029859221636132581218033140137942263084882190584077356700104414126995587153298937441589908351362040913310434691476893231518626927393109117645429324172471657041927624446643195622841734478823855278812036569123502278318769892844354614048193551734111031109204900544334208824921257447026250176178837396420117522527178571023011657793415060236933975409824297419152639347066634609456077902552933173250134026209497418569560693756079328400250236635057520104439086518581578762374816699248415240367871054891063760039331666983598710905734483878695700291579720979711267548422173326868392074685513828431668430157319013837420628345602823432572318593935828789963165341179458361174692928130709778345748354424326815145482517685894596353301375234427772289170830726451927537601827746805121290010898798652941508187306058776761 707452329678565719289497231798409019298727745053556113480739554367839517483100997116721606784193963544118430837616734984158590820586502923782396871138269128996289180666653466316183938542219869135454450502898764430934438170463645121803537953217786486782149298819504214018093839516883362661972415989433001449765063812586487629107665396144100634502662233475237508368440527188650296673820619371448691745105122039931911246545059055643717729306958902512355148812202874973677038387862649311142711641007012834020460417043901063845642591263482935979684638606859219108830164032049924391394082707824753482124389738780220082918202644264901667756020868627208899604208122160250653107136776349583819104727226986809735968370174901837987801434930861031849226912740998937455794386837507437052324858226835626303911794301582836505697830058582494574191037555296544212452815597280505034354737783860863196921803639251717812008560859235164204451972156753493600242086615990320995360988486132124598934248659693268004498536424843457779506064674954153617843431464684272622474493732770478574749596361734970373018487870202340624565423183724424045486623254961578214261326153344288106380400706905383003544682935409975264482908826835584559004278995904159945196953598366406278562932523412237918392826710531779530329881247205578831613028244929066803986392121843645809882337016801745697327016219666982266800768138796038249063039577604885331428611090960975938347495187313516751635899218364161545860422200079643293149610227061912828994323940180886806713001937476303901365503561178652820981845664206360287897861844936087591815154983129584315295330813098470317145439993633097989589060585258215414044184911551319094382575987003092801652272379487909118036257901147673158620282246152880039265421077962844279543418553956203609499608258040968324505373571387245855160884708808542485778194394668486071570634442680282361983689828994097589077978515346310790744022118501938071532970502590656971098985672409780320830051772018644998477525737315380322062442891642171221998468591216194318632507196437577694645333055391732280626352423158038990342886668044375870169492179414284041216978987237981325655892345768563547523212762095308709195986678594705400802636778146693867901399515985835598710279178188152538889798967943331670619706158774189924518364750005462546474601933591790272294137660691366232888864677957793334808911711769315042440138332314821489214176132769670754456728265403113062067276645133112118470943727786009327132873616220209687972412197909753421068893034939977450864803173745838458211248826756773183002602781805645718491716786692178345436541419156727118162580328141663643573777413064650729778628300880808400657415276929495000411787092183331290742677025034577541380267521936020573983768381659527842633535380122793904063319869290712588066147149546298130504339414122763355659683072243669902871694302981218632294900384876068865551807512071520140981690893536053914710246987187814239996536994711228042183638901234676142650370515819320280329546077972067047452850222486636494659095303815019077668158015218871844678009852654318843036749663317433553983635750523994803526683666357600111887521203429221187503752448121997581613863908047524449469437250826572723345606669027436910121232347932621422009185306377397052680263597357366684265003749930909976039139395860752242949307863561162684487865267762033376419860188136559439163076450105733782234677582811121152404269250198065834907074533591948606820488315719120840146072446103770626996290959175355328951195312484387270510690654599883640888878048177443845952725662594746429550805495242806867687481298201421655470236944799247400159766679302643502065442937364326666474388337056520142679067724101988064902547710156727252042141389568123598313384445665925355845368844156209845801374955743952913842833722645471159243630630762454565086903299569426667722181734184904475281958657451360072745814693797936104639083893397525923143395681514205249522957695120515775797344379995694041483082024653673290982945584508579554239132445601478837507577754341194596117427267520069365052650822661728167648781737521116764255840431746154945498127076364060461136194043 1144681914840215306278363093999881888557867475133707975199349514995785988660686358765586875790739728642724097999162642041003767389118955321483862846395443164342253364501724946501601186880086675179477390809028100790033100632027873910899481142452396611689210182496491418036566925430026910973690867076507710119959795040494783600944651980700810177124129797715565743020340328914022294234210719220778478732753452738497219842100741762339265967803761400442907745511222743190697482269590340725419481479480930922215039502247827809386053557234465452455860073291944117885051257401852827892694185717033674700310085846951884918676151242723833965649376377556567457180787122921447728094837546658045679228332456258727991229236803362086042820807662405391842414311702640129241437046785722119562944358741561569018111923210712955723752318584517757988934010494360843983998006946629280791934032567791730112557671760690762691785953314633483980118218818738434535564907672092319206508310769666469920042697557538777960688114679295046691900650183774240558043681890115863151288876608736436809614379110876651740585923369499107800704079490807255842526582488412845674252821039828190132682211886698545559260472193435349161937169349714411958407105927198243848703492806193297831041440170374338833757623224746594918863564713897987535158289275230657668545463007947901978558145130392456192790393672323684236829809648635745291992765081486080472330790520686246180132559754805449745420744894134509194374896649245141791717019245139704736725939196624622976239796673735175274536612794971786278407056734712056467501320154241195322341477324452497485102601238476932245636217701362799074204326102089311609964860499496887118022355990018460780508452038596350095621837363272184876288709827985833363254884727660786597396595299015459760674246295188398118047155353943271468931396306733708598429765754685277209957055064650478637078610677301373097764556531003278451531341032373674845248879716343191502783922273661991904173040300853910035401934604156413181449416335194291731557144435553834680593074638423609328519968268427125807581875597813426082730282196230251672894818570501353199244487039517967358823598256667607846063784515119366969173403691807792382287674372792190419383203966456683273794369566061804991594317963532884550149554806929834826463218010023806707092542547267474384042440569283808346949878710298457517223102080892583559869576783691225082876058425691856317423552464869785506654619573198725065543008214605622260393733692994512004731749998838028356973062867529268960289993318930382360264805502993824855675312764669217410050313801942975620045208478846158873893381499246370709169785155780955334076048911237518010190411644615038175946110875655955011167125564420950759634729896011767251170683075153840459285565785901257764741875142938443056253621488471682604503149766226222106592208626652248424682048809599949071036240489870965050735579286453074358863860322806895059843659141112825482567340832228125254939829674414218842367689252528795215771147175420762519417505975129091325582067379995650897852890504229303770544408647393623627150043653847348720028061432625422009461961504426806008600424544735354835943567716472748667303069173649922180079102474815746331856974250986298372630236003810114841786506300592927081422371346598345703948042536116064946136258110021577311288121663393659714347086903894614594453000326078822524045267034183090482339091709806708305703206691787974186269115446902383298297381547237747767539181563749199951168762616217282953397838508107229004989514509878695677458001550455762615845570017208794623102539606273916072588025632410246576727683971049423578997163099420166029244013960375984459889448573990495552503365143254627411969182319612805154595074562818257624522881864235486049601448172556460082436432475848392000361415301407845975942879046002822436141794363329465999389165332895810209765837353151651652466794405065484526812410761789600608657224113182635406841971532541144121400167812568012635418910814616838632162403945683272482369842223947227191931904569486677113803321863873370740287078594950898998375233665058718592002645553036165844296780017872247767194970804 1852134244518781025567860325798290907856595220187264088680089069363625506143787355882308482574933692186842528836779377025162358209705458245266259717533712293338542545168378412817785125422306544314931841311926865220967538802491519032703019095670183098471359481315995632054660764946910273635663283065940711569724858853081271230052317376844910811626792031190803251388780856102672590908031338592227170477858574778429131088645800817982983697110720302955262894323425618164374520657452990036562193120487943756235499919291728873231696148497948388435544711898803336993881421433902752284088268424858428182434475585732105001594353886988735633405397246183776356784995245081698381201974323007629498333059683245537727197606978263924030622242593266423691641224443639066697231433623229556615269216968397195322023717512295792229450148643100252563125048049657388196450822543909785826288770351652593309479475399942480503794514173868648184570190975491928135806994288082640201869299255798594518976946217232045965186651104138504471406714858728394175887113354800135773763370341506915384363975472611622113604411239701448425269502674531679888013205743374423888514147193172478239062612593603928562805155128845324426420078176549996517411384923102403793900446404559704109604372693786576752150449935278374449193445961103566366771317520159724472531855129791547788440482147194201890117409891990666503630577787431783541055804659090965803759401611647222118480054942118966497056644112498670740235318849324785084866629472201617565720263136805509782952798611211479175902116356150439099388902398918416755399181999177282914156632307582081800397932051575402562781657694995897063793386687347527024009045411048206212404931977021553582160724418084259213658095264419858034908992074138713402520305805623630876940013852971663370173854553229366442552528925330517324092281015542251084207960149353763281527689507330760999062300506295470686842535046349589242275363150875612916781850218933848473882907946071772225003092072872555033879460341471793503511859226836462953555613026770028999225581834861187023165301323818858088208228020971465073073168864274627543064310749915637240461466026755948684479490602436171393586997277214675678369390370402497783090311150938884287284603482442518872504648744249957530484116931476216220769260965704024750981582760029269253567144480859264656336578229975174579838743388256250852032013792661898602309715116006046572090234558461527071880280730272898568721896218331837184013951942391631587526607309214721692704162196747781778041955902469246411154796492676220818476054329750598038677915546474863128542030588635153965481749898002885992055961827388034352743562568845606063854677212118326410847826921544533176357897967839286301909802589455528301014997417947787825154451456813368301919101166024051668805195012229155644319768638017980735007489180348985462251891698895918327553743112581167703331140874747033916287386798524594499845551216342948974553906128300639722563877826939353297123468575648894985018059768348115496100693253392829566870356197615727820241162683810669975521048519448175615222418500047942470186793317164782274011697183149416812988645170784406120487945748164576023447320164594746248916933081697446629548539725642319055202580920013735282751468351742736263795691606970324134102634943955712388213046286046974922175397505882329554237429526954822398834952171656647970872860514215381963208343484288824264573769292617829458107475941986040021176189980494331905117869862956868607685254009852970578165053575392638282349033820591616275500205164478579318346879598633206461798295679803541052653345101516722940275506930611668232197920915848670979156929778722809531309456897740311126363836911047015695182432867356615476871730029769532406637215952386381222836266309901411405446817016712669928237807431592344914204249024053317135186509676765277001228697662898892667111347067080714685047796010603011725212609098863420631451494655187126531800619794696840656364929227661659897197512192563706676901992839270511923145349530191852036608974669548706029439482323827871709920749131393440105339729417612627166024015402579835356258485984782320789794907094236308228331164847 2996816159358996331846223419798172796414462695320972063879438584359411494804473714647895358365673420829566626835942019066166125598824413566750122563929155457680795909670103359319386312302393219494409232120954966011000639434519392943602500238122579710160569663812487050091227690376937184609354150142448421689684653893576054830996969357545720988750921828906368994409121185016694885142242057813005649210612027516926350930746542580322249664914481703398170639834648361355072002927043330761981674599968874678450539421539556682617749705732413840891404785190747454878932678835755580176782454141892102882744561432683989920270505129712569599054773623740343813965782368003146109296811869665675177561392139504265718426843781626010073443050255671815534055536146279195938668480408951676178213575709958764340135640723008747953202467227618010552059058544018232180448829490539066618222802919444323422037147160633243195580467488502132164688409794230362671371901960174959408377610025465064439019643774770823925874765783433551163307365042502634733930795244915998925052246950243352193978354583488273854190334609200556225973582165338935730539788231787269562766968233000668371744824480302474122065627322280673588357247526264408475818490850300647642603939210753001940645812864160915585908073160024969368057010675001553901929606795390382141077318137739449766998627277586658082907803564314350740460387436067528833048569740577046276090192132333468298612614696924416242477389006633179934610215498569926876583648717341322302446202333430132759192595284946654450438729151122225377795959133630473222900502153418478236498109632034579285500533290052334808417875396358696137997712789436838633973905910545093330427287967040014362669176456680609309279932627692042911197701902124546765775190533284417474336609151987123130848100848417764560599684279273788793023677322275959682637725904039040491484744571981239636140911183596843784607091577352867693806704183249287762030729935277039976666830219733764129176132373726465069281394945628206684961275562030754685112757462323863679818656473284796351685269592245983895790103618784891155803451060504879215959129320416990439705953066273916043303088859103779239650781792334042647542794062210290165377985523731074706667807448899202146299018310311762522078434895009100770918815772633859577444800770053075960659687028126739040379018799258982926788622098554708369255115873554482162179291899697271654966292984153383389303833195142684075376515791530562249556960156997253847920341002209233697435912195585810135015018769998515371444789811606603178740859832744422894353228311144080538592344390578129585526958376849044865949343326634405061913347724626561397930726123355844421038238566159571352304008843495241313076928153876479060649727313959555076325134531967208761204666951925309433547070155167598700573390126489663339510638946575207568844100325548166752235791922181116774367381364617998967022966084977668858709411539149844034397565269413465205131218659167478552063298250063113827385749020876910711871840428813592086287862172744819145823230063806320873373939023677479385766827147441566097336836971012130994039758615774838822450606675211212129088370292899930859390887881067494916220002255347368809627642200458065387059555171000033655381704355552851105582197907563251215525006290554058092161088822163039868311655615903906865525551190348482113182039075551262565325860840294204487253610518471914746912861002424537763810682633774014207445305427396715203415251410194616375224435573602170529333816191609921235746872328698845280489719674357274995804881149088969077643865697012335675755884707790639012863532563021914808925604886898094558154092878142975560553470858116295586253285485037511247685798010611242888840912349382337561232290515204638847359148174136897455048265189269130010674239907440736914565664325461163111129388722768099437370492026228358666500512399976524894813633363754663377679403503928905158263905416976727140457843907879476063206900760202804018597680005131719312320903653887350555307753475875124518978816893495933221371386893314548823724070995266810845626808012563526164399249067638553948261131537818486634091687112108555995526135651 4848950403877777357414083745596463704271057915508236152559527653723037000948261070530203840940607113016409155672721396091328483808529871812016382281462867751019338454838481772137171437724699763809341073432881831231968178237010911976305519333792762808631929145128482682145888455323847458245017433208389133259409512746657326061049286734390631800377713860097172245797902041119367476050273396405232819688470602295355482019392343398305233362025202006353433534158073979519446523584496320798543867720456818434686039340831285555849445854230362229326949497089550791872814100269658332460870722566750531065179037018416094921864859016701305232460170869924120170750777613084844490498786192673304675894451822749803445624450759889934104065292848938239225696760589918262635899914032181232793482792678355959662159358235304540182652615870718263115184106593675620376899652034448852444511573271096916731516622560575723699374981662370780349258600769722290807178896248257599610246909281263658957996589992002869891061416887572055634714079901231028909817908599716134698815617291750267578342330056099895967794745848902004651243084839870615618552993975161693451281115426173146610807437073906402684870782451125998014777325702814404993229875773403051436504385615312706050250185557947492338058523095303343817250456636105120268700924315550106613609173267530997555439109424780859973025213456305017244090965223499312374104374399668012079849593743980690417092669639043382739534033119131850674845534347894711961450278189542939868166465470235642542145393896158133626340845507272664477184861532548889978299684152595761150654741939616661085898465341627737371199533091354593201791099476784365657982951321593299542832219944061567944829900874764868522938027892111900946106693976263260168295496338908048351276623004958786501021955401647131003152213204604306117115958337818210766845686053392803773012434079312000635203211689892314471449626623702456936082067334124900678812580154210888450549738165805536354179224446599020103160855287100000188473134788867217638668370489093892679044238308145983374850570916064841983998331639756356228876619924779506759023440070332627680167419093029864727782579461539950633237779069548718325912184432612787948468296674669958993952410931341721018803667054561720052562551826485316991688076738337884328426383530082345214226831508986003696715597029234157506627365486810959221287129666216380764489007015703318227056527542614910461184113925415582644098412009862399433570912099388885435446948311423955390140074392333591913056974672467761782599586304282823997216914162495020933031143857618943667134374979213283551008708274851930858005305154022439414656910293472167461785403335474170831886065487704104528661906811334527614986730743332007361664724731907342901479585988780577063123768117949361102352265167396754344893158764507644074518128126924193031095992024444085079789535034762284477698522239365032883310352883502263358554962755492793008951471397714104927695096486106831849186766825712008812403808789225026207972533682206421653158218370360546966064392747616990848894987543125655000989245647489508567523630288176913268051455798924255635439251845995618249576316041064506882838208045662241165136935337044815439176181926100384442262136091013768938133172707295587369377889514533575349627641234509770480374135108210014790487053121786236419762980717303304512016991247207910536198721354509586450461954002760739011486630295042367221918158575760054228621495407891047108533121273151484982909689583455141107498869767002559518095906149290461555989924838835854314151760747722175539442161376815876728409229809307361953139039493633583041123525802746765537311022656865785091862927755856606712617122396084526942868230877967858365712642379151869967869506467591020070195414484038308860495082205981799938912047339033081828769913349514480246315898399533376438599189689127251333611859467057239579861429374357675102892012602792325789715400072163853672258463702576316719571829987864463915795192197695425989222896493157862478453103006066976555587791563044639250810869217142420533644820126660250950966537430176153330423264470218389304519617522600807423886594206344864223857300498 7845766563236773689260307165394636500685520610829208216438966238082448495752734785178099199306280533845975782508663415157494609407354285378766504845392023208700134364508585131456557750027092983303750305553836797242968817671530304919908019571915342518792498808940969732237116145700784642854371583350837554949094166640233380892046256091936352789128635689003541240207023226136062361192515454218238468899082629812281832950138885978627483026939683709751604173992722340874518526511539651560525542320425693113136578762370842238467195559962776070218354282280298246751746779105413912637653176708642633947923598451100084842135364146413874831514944493664463984716559981087990599795598062338979853455843962254069164051294541515944177508343104610054759752296736197458574568394441132908971696368388314724002294998958313288135855083098336273667243165137693852557348481524987919062734376190541240153553769721208966894955449150872912513947010563952653478550798208432559018624519306728723397016233766773693816936182671005606798021444943733663643748703844632133623867864241993619772320684639588169821985080458102560877216667005209551349092782206948963014048083659173814982552261554208876806936409773406671603134573229078813469048366623703699079108324826065707990895998422108407923966596255328313185307467311106674170630531110940488754686491405270447322437736702367518055933017020619367984551352659566841207152944140245058355939785876314158715705284335967798982011422125765030609455749846464638838033926906884262170612667803665775301337989181104788076779574658394889854980820666179363201200186306014239387152851571651240371398998631680072179617408487713289339788812266221204291956857232138392873259507911101582307499077331445477832217960519803943857304395878387806934070686872192465825613232156945909631870056250064895563751897483878094910139635660094170449483411957431844264497178651293240271344122873489158256056718201055324629888771517374188440843310089487928427216568385539300483355356820325485172442250232728206873434410350897972323781127951417756358862894781430779726535840508310825879788435258541247384680070985284385974982569390749618119873372159303780771085668320643729872888560861882760973454978494823078113846282198401033700620218380240923165102685364873482574640986721494417762606892510971743905871184300135421174886518537112742737094615828493140433415987585365667590542245539770862926668298915400589882022820526768293850487947120558266719474927801392961683127872256386139283367289313633189087575986587919402048071993442466277154044376115889427175957773995239443827384372168763024205726719369791413136535666651700975723954648480656844476570258018098728859716129458830015252924304053863675880965915654829768928063658897208486422314452045866897977804720520747785824328435069874670535899335322564353045466548890997307414028767073499400599940092349992251832025326956943401252065903603983031850333318968479932217264374294642637043349036667127570132826315145274310401250065075775122639789557810101936919844374111020013739446080543105366111887622811423311722268926566803134386756072794931074664860467259189044262091214414699094457889858521206830378664686333964437742229095926729736081356937592392184248803824126558449829321691262013802593514877062848438474960087422096826565152647525063828572535223930373054658798708737690143285288531907651786625199030322759173101524582194803790937715564521232653758399491297466904985728841209534068436066800835287762311948372683346101358134125157057311636832685958612480753842778477989306836479644513193129309956641896811144617086027073828212404165114517098000966002572056655497850049130689644860095465115535008760652416398613972902298870407881122038190554028888579101254553554728534207529101796982795658917554562658175206315543347395250929949586287246473818743335577674975643357445287122301475875969681715355610000112371867033764474675062738112338480571416106721230947979305489140580812716307610455792782778730748067267934392872202827145301543800147045213033760856481942101074566608456540572472182256110456969357368891121927061796593345442739679494822513537856943252780749060419294057978281318453420219383436149 12694716967114551046674390910991100204956578526337444368998493891805485496700995855708303040246887646862384938181384811248823093215884157190782887126854890959719472819347066903593729187751792747113091378986718628474936995908541216896213538905708105327424427954069452414383004601024632101099389016559226688208503679386890706953095542826326984589506349549100713486004925267255429837242788850623471288587553232107637314969531229376932716388964885716105037708150796320393965050096035972359069410040882511547822618103202127794316641414193138299545303779369849038624560879375072245098523899275393165013102635469516179764000223163115180063975115363588584155467337594172835090294384255012284529350295785003872609675745301405878281573635953548293985449057326115721210468308473314141765179161066670683664454357193617828318507698969054536782427271731369472934248133559436771507245949461638156885070392281784690594330430813243692863205611333674944285729694456690158628871428587992382355012823758776563707997599558577662432735524844964692553566612444348268322683481533743887350663014695688065789779826307004565528459751845080166967645776182110656465329199085346961593359698628115279491807192224532669617911898931893218462278242397106750515612710441378414041146183980055900262025119350631657002557923947211794439331455426490595368295664672801444877876846127148378028958230476924385228642317883066153581257318539913070435789379620294849132797953975011181721545455244896881284301284194359350799484205096427202038779133273901417843483383077262921703120420165667554332165682198728253179499870458610000537807593511267901457297463973307809550816941579067882541579911743005569949939808553731692416091727855163150252328978206210346355155988411915844803411089854651067102366183211100514176889855161904696132892011651712026566904110688482401027255593997912381216329098010824648037509612730605240906547334563381472727506344824757781565970838851499089119655890243698816877766306551344836837534581266924505275603105519828207061907545139765189962449498440511649037907133089576763101386411424375667863786766898297603613556690910063892734006009461082245800040791252333645498868247782183680506126339931431479299367162927435866062314578873070992694572629311582644183906352419435202627203538547979734754294969249309628234297567830217766389113350046098746433810212857727297940043353072176626811829375205987243691157305931103908109079348069383204311672061045973849363573339811255361116698784355775024718814237625057144477716060980252993961128968114934038936643962420172251173174688157734464760415516026381967872861094349004696687544374926552906581959953634679283891227168311570896321501532794304186084810369541567780409627822466164296543050389640540493783979176777774240879284306509528362887452203187824031638251600489961107390359707655504951488546895200423593631036084374436336911814861991705685729764425843348064733643671851982195575819337050135430052300508064841675060521411631381142250436831901487131452193366599326963127816907793226435392604298913465913077952015559040302571163914109928789387745318442420583232384097547365957530142670213623350093329110367202448628241002375028944625067303972391977246493872929436999687980006052658834271583827353027571531648049770144025844337976936630401914780288759573599052909359038583069449285761859476379705051512624955091137216021569967083637723303549313377388177518523993392769886121592509272207646999785294122664688296243178809420481493956497586341043814740512452744331555725615040271938684627279768392469569352028983624108402644533320156528188450644089132574344326405362919141611550289080891172656492391625632776138191874545744279326369829509011487530277206565133422259766546959620266197107686077496971303450386678987749977142213515176038429601232729888498334585506900572105491024490123603761185521834852314568871404482861333724231334091004054536492112470013583463428709513556737694705561304434484974771313032109502350560735931731850188064400522571290766696640203075512213959488009077630154400019585211722993125327599389891013711248587312747559882872915832825245778008075332557300366583020101481864875524798284443240736647 20540483530351324735934698076385736705642099137166652585437460129887933992453730640886402239553168180708360720690048226406317702623238442569549391972246914168419607183855652035050286937778885730416841684540555425717905813580071521816121558477623447846216926763010422146620120746725416743953760599910064243157597846027124087845141798918263337378634985238104254726211948493391492198435304304841709757486635861919919147919670115355560199415904569425856641882143518661268483576607575623919594952361308204660959196865572970032783836974155914369763658061650147285376307658480486157736177075984035798961026233920616264606135587309529054895490059857253048140183897575260825690089982317351264382806139747257941773727039842921822459081979058158348745201354062313179785036702914447050736875529454985407666749356151931116454362782067390810449670436869063325491596615084424690569980325652179397038624162002993657489285879964116605377152621897627597764280492665122717647495947894721105752029057525550257524933782229583269230756969788698356197315316288980401946551345775737507122983699335276235611764906765107126405676418850289718316738558389059619479377282744520776575911960182324156298743601997939341221046472160972031931326609020810449594721035267444122032042182402164308185991715605959970187865391258318468609961986537431084122982156078071892200314582829515896084891247497543753213193670542632994788410262680158128791729165496609007848503238310978980703556877370661911893757034040823989637518132003311464209391801077567193144821372258367709779899994824062444187146502864907616380700056764624239924960445082919141828696462604987881730434350066781171881368724009226774241896665785870085289351235766264732559828055537655824187373948931719788660715485733038874036436870083292980002503087318850605764762067901776922130656008172360495937395229658006551665812509968256492302006791381898481177891457436870630983563063025813106195859610368873277560499200333186745304982874936884137320889938087249990448045355752556413935341955490663162286230626391929405396770027871007542827922251932686493743575202156838850998236761895348278708988578851831863919914163411637426269953916102827410379014900793314240272822141422258944176160861071472026395192847691823567349009037784308685201844525269474152516901861760281372140168752130353187563999868583211489170904828686220438373459340657542294402371620745758106617825604846504497991102168596151498162160008166532116083048267612648322799826656612161164002181526938690333565292047568172396009200961557400316090688338536061678349132462152973908587799888195144992078587813718796109824080041578253882305914602115336128367797426329669625181217662253134201337734673595431456290593738120994065471114048537748980206293628823641138857089027030276148711780638257698702174150935812525460435826256546502258902575662273922994230976176724428588743840188948649086981830329447331096583976990820462127793083711344778067095649544731969245193347726776655452651686896977262254091982924409428900047661281904246449132050379456571279189839638370463614293432840676731923774501391237351657897244564806555001792233884628322444551218968888409279006905688708993382367296399899121713327850810521829183936783830179217284100905518615041374125162926832992464319298064358727228479932936284637427625444582968956124108084470597166522990340044532606877762415051892726256739247885744117168325893083045226046528285612889976177193375840994828191100755097078466571732429866639843687699177939897569764381164241684227521025781463105269075228949213865222112934065044541344464773614215524472301536739458843503363885144183606944578741221787182036485728241253726883306396695724983802411310357938158328603323976288655126060874819751836220285026073100433182337905304539800388721491581776996483659838084621831980719315441068699465766961206472644136328190538553119838471333836603201124768529211554850582352064034844816234787685674011050445015297691078923487902285129291483998999784580936603349716592310496787248288545974815969951178704721008476125784195175381438056359248382602370514374544153228315655512320068291545932275810081115643439395539843156843251704662624172796 33235200497465875782609088987376836910598677663504096954435954021693419489154726496594705279800055827570745658871433037655140795839122599760332279099101805128139080003202718938644016125530678477529933063527274054192842809488612738712335097383331553173641354717079874561003125347750048845053149616469290931366101525414014794798237341744590321968141334787204968212216873760646922035678093155465181046074189094027556462889201344732492915804869455141961679590294314981662448626703611596278664362402190716208781814968775097827100478388349052669308961841019996324000868537855558402834700975259428963974128869390132444370135810472644234959465175220841632295651235169433660780384366572363548912156435532261814383402785144327700740655615011706642730650411388428900995505011387761192502054690521656091331203713345548944772870481036445347232097708600432798425844748643861462077226275113817553923694554284778348083616310777360298240358233231302542050010187121812876276367376482713488107041881284326821232931381788160931663492494633663048750881928733328670269234827309481394473646714030964301401544733072111691934136170695369885284384334571170275944706481829867738169271658810439435790550794222472010838958371092865250393604851417917200110333745708822536073188366382220208448016834956591627190423315205530263049293441963921679491277820750873337078191428956664274113849477974468138441835988425699148369667581220071199227518545116903856981301192285990162425102332615558793178058318235183340437002337099738666248170934351468610988304755335630631483020414989729998519312185063635869560199927223234240462768038594187043285993926578295691281251291645849054422948635752232344191836474339601777705442963621427882812157033743866170542529937343635633464126575587689941138803053294393494179392942480755301897654079553488948697560118860842896964650823655918932882141607979081140339516404112503722084438792000252103711069407850570887761830449220372366680155090576885562182749181488228974158424519354174495723648461272384620997249500630428352248680124832441054434677160960584305929308663357062161607361969055136454611793452805412171442994588312914109719954954663971071768822163885011090885141240724745719572189304349694810238475439944543019089765477003406211532915390203743887829048063817453887271196831009591000374466319960570953953113218629310235604715041543947736313502693729718921214200995951745350308982910777608406100181516665534702473832069212505965446621607423903683916525440967936188720995764563747478043008108548425389970329929672334355027332300956233929522307150310708373348215404221526959951448908067800806511624416504806788887874555750015412259024594641240521502719195047438387422545043136999236700221560587158362014164438178289473990272805601415379736373333539804511599232841445522733812402536302486567826185964202007210391122557474346587862012261098864925655655050940354772711594755290679161317620662672444323368903048394913497147950052796810920253869138408036594902123728878749385544176291008755863175478189697472884524654678370037192267791653929503916864596754786660713162246709679772241129628662353920959322376554841945794644548079255611727635146691084022326992363703871513690574344683451266183624763836231876118372489345968068945656810976603136490163636041295357630394713225044211026678353942007539193557370232456642902695391557157561968899631073462693340376971189293430545714070601569219439298171734482485449401022840780122313765443393321645381152911360596341274040221754638082217125495797409842561297720147732548843621418783217251096558173447185877784930142403975116390669313803169908726804285795157233659632394443674428111361017391918757852140975051353631920321845468435535168457398548421673020495085948943906362523044403883569016893054516942602236667620206597716389726582956417487619887546559723955890564967658165971180505107424524321332667560834535215772583748046963052365647498273525748344423368716611749449782665850236520011787479852219930731634769001003872287883077193427451364058188775457960256334875408495710995918168506765655749139396313619101687291713111188571345145314069554007608367381482226459497021708032368049989105864909443 53775684027817200518543787063762573616240776800670749539873414151581353481608457137481107519353224008279106379561481264061458498462361042329881671071348719296558687187058370973694303063309564207946774748067829479910748623068684260528456655860955001019858281480090296707623246094475465589006910216379355174523699371441138882643379140662853659346776320025309222938428822254038414234113397460306890803560824955947475610808871460088053115220774024567818321472437833642930932203311187220198259314763498920869741011834348067859884315362504967039072619902670143609377176196336044560570878051243464762935155103310748708976271397782173289854955235078094680435835132744694486470474348889714813294962575279519756157129824987249523199737594069864991475851765450742080780541714302208243238930219976641498997953069497480061227233263103836157681768145469496123917441363728286152647206600765996950962318716287772005572902190741476903617510855128930139814290679786935593923863324377434593859070938809877078757865164017744200894249464422361404948197245022309072215786173085218901596630413366240537013309639837218818339812589545659603601122892960229895424083764574388514745183618992763592089294396220411352060004843253837282324931460438727649705054780976266658105230548784384516634008550562551597378288706463848731659255428501352763614259976828945229278506011786180170198740725472011891655029658968332143158077843900229328019247710613512864829804430596969143128659209986220705071815352276007330074520469103050130457562735429035804133126127593998341262920409813792442706458687928543485940899983987858480387728483677106185114690389183283573011685641712630226304317359761459118433733140125471862994794199387692615371985089281521994729903886275355422124842061320728815175239923377686474181896029799605907662416147455265870828216127033203392902046053313925484547954117947337632641523195494402203262330249437122734694632470876383993957690059589245644240654290910072307487732056425113111479314457441424486171693817024941034932591456121091514534910751224370459831447188831591848757230915289748655350937171211975305610030214700760450151983167164745973639869118075608498038776079987838501264156141518059959845011445771953754414636301016015045484958324695229778881924427988052573030892589086928039788098692769872372514635072090924141517113087212521724775619870230168174686962034387261215616572616697503456926808515624112904091283685261686200635992077379038081529669875036552006716352097580097352723177291502437811608300156116597785979530891229734671118020639492295607871439612463682281936015292416671952030036721786596916335704458083060671193789157865351540626822020970910146683936857300572588760279716732430692990815298708152427485278486716038454196566434425056518593462360570080660311013479703221435986553472115012028262012220748509469293698219748269582092988437823293514399495239889003859693425084738010257901597653492906451161986759739691564243599597528780165447216865184692047553810625856011639636159215418184763223139471601719333656705057826608471457631292299967531158029595463392636936748100917123899026873227160475961114610439470268239195767048144021006642052379793015709359660103770635403902195493973095367561547666411093402473394864583110319781973903436128954482934105654084858874646161328848454303798524976495317665454703053809425685731601690168846662046125355419597116219075037547714039963684614445485826457347372461626594398681774950504866198490400111952885341227236184961739399694535651981506660039094070082323501610837817918850367997082473209492238491727222249703756619499588692206053262013412090689429978764178238373616230856464597089258645645641158537670776337434331632203406593863771781374837076799081369905700780126647549117504316751354798359056742990958159201983594200049564667578249468339202987628423421657526174130810107508695645977644159804001397437736340541112959601813634717711533118341983132109042727662194465080356929160007914072609143703929731419349937607222004475387690214699652604163591427911435039596416971836780113343888203712108387778915989616061835866339504226857465382361099939884177462597869898892561551189211301693768489082239 87010884525283076301152876051139410526839454464174846494309368173274772970763183634075812799153279835849852038432914301716599294301483642090213950170450524424697767190261089912338319188840242685476707811595103534103591432557296999240791753244286554193499636197170171268626371442225514434060059832848646105889800896855153677441616482407443981314917654812514191150645696014685336269791490615772071849635014049975032073698072804820546031025643479709780001062732148624593380830014798816476923677165689637078522826803123165686984793750854019708381581743690139933378044734191602963405579026502893726909283972700881153346407208254817524814420410298936312731486367914128147250858715462078362207119010811781570540532610131577223940393209081571634206502176839170981776046725689969435740984910498297590329156782843029006000103744140281504913865854069928922343286112372147614724432875879814504886013270572550353656518501518837201857869088360232681864300866908748470200230700860148081966112820094203899990796545805905132557741959056024453699079173755637742485021000394700296070277127397204838414854372909330510273948760241029488885507227531400171368790246404256252914455277803203027879845190442883362898963214346702532718536311856644849815388526685089194178418915166604725082025385519143224568712021669378994708548870465274443105537797579818566356697440742844444312590203446480030096865647394031291527745425120300527246766255730416721811105622882959305553761542601779498249873670511190670511522806202788796705733669780504415121430882929628972745940824803522441225770872992179355501099911211092720850496522271293228400684315761579264292936933358479280727265995513691462625569614465073640700237163009120498184142123025388165272433823618991055588968636908418756314042976672079968361288972280361209560070227008754819525776245894046289866696876969844417430095725926418772981039599606905925346769041437374838405701878726954881719520508809618010920809381486957869670481237913342085637738976795598981895342278297325655929840956751519866783590876056811514266124349792176154686539578646810816958299140267111760221823667506172621594977755477660083359824072739579569807598243872849592149297382242805679417200750121648564653111740960558064574723801698635990414839818191796460859940652904381927059295523779463372889101392051495095470226305841831960380334911774115911000464728116980136830773612649248807235791426401721310191465201927220903109824146591544046976291482460455690632877538548033541444173056066185289651308264665023175949860820902069026145352940448529537393746762774390655284230696638198911981485629854397722847328874587867460081663713615366952885846615612150668186656052348010976182824759869429929691036859295310789499442924894327928186839240026471898329835694109885171910246321148744169798956008417498596088198184950516679684820777222616169955000698922158440055150290829358632405019840028689419219218316165350774530889808134605061391549650325591085701086003592728642455934354734761025180335506426940626398617661299192218181359736196645663725422946229471448022626350250053350098994810596896140156501889514396920436986994312214033840315127399632734277199070877038036352023807642149094476540177424361551186311502642969520845884210551179265438784880039265444646570146949442489269359386373059480982152466984034511222824935510452328381123158847730815561677198818112937493190264330978259754034286183664925124629081854947075995421522555072818631641883721757334038252587832526235779621449173734198632155836503912643621221758570366762471786780299724306050411938913100034633899023474705082875367065183320817493715773921411898006010674530892708450276037564399010678645827691066251954048875029398940238773385498472101864991649724033010072161908200320371691413573685593194826822190191916439291250534666955959090534188147377548091141788976078689200753402168481136668958272271556313696707648776687083359031391867731476532411444273943914863022779396527925860088995923860463054118938611094292358464883642151016662352366885871691374471825467547776031512394969367857527175229608717749127579450692798202610696430653947492544844080096358389583259221579351682874353991682 140786568553100276819696663114901984143080231264845596034182782324856126452371640771556920318506503844128958417994395565778057792763844684420095621241799243721256454377319460886032622252149806893423482559662933014014340055625981259769248409105241555213357917677260467976249617536700980023066970049228001280413500268296292560084995623070297640661693974837823414089074518268723750503904888076078962653195839005922507684506944264908599146246417504277598322535169982267524313033325986036675182991929188557948263838637471233546869109113358986747454201646360283542755220930527647523976457077746358489844439076011629862322678606036990814669375645377030993167321500658822633721333064351793175502081586091301326697662435118826747140130803151436625682353942289913062556588439992177678979915130474939089327109852340509067227337007244117662595633999539425046260727476100433767371639476645811455848331986860322359229420692260314105475379943489162821678591546695684064124094025237582675825183758904080978748661709823649333451991423478385858647276418777946814700807173479919197666907540763445375428164012746549328613761349786689092486630120491630066792874010978644767659638896795966619969139586663294714958968057600539815043467772295372499520443307661355852283649463950989241716033936081694821947000728133227726367804298966627206719797774408763795635203452529024614511330928918491921751895306362363434685823269020529855266013966343929586640910053479928448682420752588000203321689022787198000586043275305838927163296405209540219254557010523627314008861234617314883932229560920722841441999895198951201238225005948399413515374704944862837304622575071109507031583355275150581059302754590545503695031362396813113556127212306910160002337709894346477713810698229147571489282900049766442543185002079967117222486374464020690353992372927249682768742930283769901978049843873756405622562795101308128609099290874497573100334349603338875677210568398863655161463672397030177158213294338455197117053434237023468067036095322266690862432412872611381318501627281181974097571538623768003443770493936559472309236311479087065831853882206933071746960922642406056999693190815188067846374323860688093413453523760865639262212195893602319067748041976573110059682126393865769296764246179849033890833241991309966847394216549335745403736464142419236987339393054353685155954782004284085687426762504241352447346229346752264162599942025834214282748887188907103745816223970582128505961357497007697349229636128130894167350347568623101259608420781620961929391712131803697263373579940825145265186375238072937220245989054870864011522351640994639183033332670928131275452871480718493512668636583060814870592909648583564943104476601860622681852158003463216984721411610366382383405674451528416923298054679965832221259800851965605785509480532510624350210405699026148978518996970885752047989136745451954454645530718362492098444924766699677120815969658257225692876567874296625635149247854371251148302868777420690009744980590772664816494721845125389621757132900911551838064794023254135183054238529438979180655945713445987035742911514020039183375116674872881551597433782482273036082175543653740919251450670053745711683911412784498378735671397456918747859169054062923319279075134289585220758783475394399129504252603527348144005547701907935285950991960529828888279638564261754066854760537899662223723324173532534609409339368525973793997970798110410951086429227408702589820204330023323497840374121869286923593815068711197519021143709386180138815875597982725944723369408184681322154777382197515542650430640322284337655642974293775081420327196732908183145752685590136379626905387357305539534683210040169216316604028500583586252281623262712020148222575271183234897350504159657621279412517071726489772630428584152986024173786116488855918112916424298293521816570799205617315919786186197896399379812640940670355710007896854809667250590321801070564510209714608641454171936138379943379708556535839932698139627790194473468876218316296833852573856850669266515958313783126414068242439384556144856283173079965914954145598333810963445790197025060076078791753887376722306677966257282144810410790653376642843073921 227797453078383353120849539166041394669919685729020442528492150498130899423134824405632733117659783679978810456427309867494657087065328326510309571412249768145954221567580550798370941440990049578900190371258036548117931488183278259010040162349528109406857553874430639244875988978926494457127029882076647386303301165151446237526612105477741621976611629650337605239720214283409086773696378691851034502830853055897539758205017069729145177272060983987378323597902130892117693863340784853152106669094878195026786665440594399233853902864213006455835783390050423476133265664719250487382036104249252216753723048712511015669085814291808339483796055675967305898807868572950780972191779813871537709200596903082897238195045250403971080524012233008259888856119129084044332635165682147114720900040973236679656266635183538073227440751384399167509499853609353968604013588472581382096072352525625960734345257432872712885939193779151307333249031849395503542892413604432534324324726097730757791296578998284878739458255629554466009733382534410312346355592533584557185828173874619493737184668160650213843018385655879838887710110027718581372137348023030238161664257382901020574094174599169647848984777106178077857931271947242347762004084152017349335831834346445046462068379117593966798059321600838046515712749802606721076353169431901649825335571988582361991900893271869058823921132364971951848760953756394726213568694140830382512780222074346308452015676362887754236182295189779701571562693298388671097566081508627723869030074990044634375987893453256286754802059420837325158000433912902196943099806410043922088721528219692641916059020706442101597559508429588787758849350788842043684872369055619144395268525405933611740269335332298325274771533513337533302779335137566327803325876721846410904473974360328326782556601472775509879768618821295972635439807253614319408145569800175178603602394708214053955868332311872411506036228330293757396731077208481666082273053883988046828694532251797282754792411032622449962378373619592346792273369624131248102092503337993488363695888415944158130310072583370289267535451746198826053677549713105693341938678120066140359517263554767637653972567733537685562750906003671318679412946015250883720859782937131174634405928092501759711604064371645494750773894895691893906689740328799118292837856193914332457565698896185645536289693778399996687891490621221489278119841996001071398391368427555524474214089116128006855640370562126175482252839957463387982107174676164435611523403634808390910916685446644137879252533033872723408726520389354682658933138012463592504476685693069775993007981495392362030362207258795591357116585096085446398515252195211483057248961996594541125929236471290552372889017298774006484164336504694310570244914478000315253133748789851004131506122000709775584465488950009220438408590649542828663339774193501922002989835667610394509795821547721124503464764795389096340034285823608000223766376008901687026698898179962336849388872370149332465679335325533689996830228272066016020374794200103770019424530219899798908477184758910427203282295963499337134737722110916179339877006189269801988584428094696306876397302943286475196450521547091782063707719054933592855275848821818469934170671697032444165163285685468850659543663514659843776074399552969837413364934074967416268103458944564340111104574074714082447977919385630477785400522991645472102599603699504233548032256981775336075715511082355778585241726885096142129482257843626620961846402901237433298642592883120378770971712101895369565945127978551443793941557681921821593062369553422318971554666448998857956787392380053725676861526607002034385637579918250013989810720774439179894962431719566835540301156652661652258921608073743285099889000228192667693441320717392098181186204114177347812846363978032928147168647583380257384056004718176753708457708762264887097152781981122077339313982279453168506374899367008884429595902077446085173865616210082294806402487953063765792787135551650657527587814829410589192317457499001685928868325199654817788540067906932332176368678142447823442129375207051560091025240889823262686775222407834869267150758062615671728069632370005059517197065603 368584021631483629940546202280943378812999916993866038562674932822987025875506465177189653436166287524107768874421705433272714879829173010930405192654049011867210675944900011684403563693139856472323672930920969562132271543809259518779288571454769664620215471551691107221125606515627474480193999931304648666716801433447738797611607728548039262638305604488161019328794732552132837277601266767929997156026692061820047442711961334637744323518478488264976646133072113159642006896666770889827289661024066752975050504078065632780723011977571993203289985036410707018888486595246898011358493181995610706598162124724140877991764420328799154153171701052998299066129369231773414693524844165664713211282182994384223935857480369230718220654815384444885571210061418997106889223605674324793700815171448175768983376487524047140454777758628516830105133853148779014864741064573015149467711829171437416582677244293195072115359886039465412808628975338558325221483960300116598448418751335313433616480337902365857488119965453203799461724806012796170993632011311531371886635347354538691404092208924095589271182398402429167501471459814407673858767468514660304954538268361545788233733071395136267818124363769472792816899329547782162805471856447389848856275142007800898745717843068583208514093257682532868462713477935834447444157468398528856545133346397346157627104345800893673335252061283463873600656260118758160899391963161360237778794188418275895092925729842816202918603047777779904893251716085586671683609356814466651032326480199584853630544903976883600763663294038152209090229994833625038385099701608995123326946534168092055431433725651304938902182083500698294790432706063992624744175123646164648090299887802746725296396547639208485277109243407684011016590033366713899292608776771612853447658976440295444005042975936796200233760991748545655404182737537384221386195413673931584226165189809522182564967623186369984606370577933632633073941645607345321243736726281018223986907826590252479871845845269645918029414468941859037654705782496742629420594130619175462461267427039712161574080566519929761576771763225285891885531431920038765088899600762472197359210454369955705500346891594225778976204429764536957941625141908853202788607824913704284694088054486367529008368310551494528641607136887001860754083956878134863696574320336333569444905091950539330692244475782684082375318253125462841725466071342753335560991310453389738756962976305035110601456594532708303988214197454471085331336810804295329778873751203431492170525106228265099808644245165676420672100100330179827924119513250536529724722674747940640004530333136387001213395539929723722632569456576803939911183888778272297927841871645178106069033713073151175054741175302237223468885748115060692953650588929528732176431803469816836352765922852675381369974969482519844788618996348568977641858771164387674050978972413062348964441352266083616601909689562088773460850255481865225916642943883198312661848146034333587997691741147570022475424315916306354813324950117191405642131927101015321857489324243153934091531423288349406383938241676945324170480633624936218523252122864142683540181861877178579912479478486940216115701972217145527775391630467718091234011520219275388682029840751095367484442360819758435880302446990054242905578652156497185557370481776875351554054450905094168999384212638975836514832679923530140009123847165178006712008943068030207342030227779885747026801940309764481175061931215119465627322631965495907885440217969948630817663736592506558909787587699878095510668497386736125116096335064119337135712800193744603309210309423292633038207719576786633860007279292592170765264485305607319529345403984479349111279035748067419126553438275924364279069830649014468334786350732352325314720733234463824670958834542761500798870537764149417003086760499804555677577821288975959325773628548451084993552161793763018009669692287350023316042149957330685500160412287160693815319788146220674749782196509599605725485275179440852001056691047726886026170031355852355195384283513437944202608310346316888321224961315527789357083520805385371054471031086848322762854014161722245989457436028872953872880043160658436160040139524 596381474709866983061395741446984773482919602722886481091167083321117925298641289582822386553826071204086579330849015300767371966894501337440714764066298780013164897512480562482774505134129906051223863302179006110250203031992537777789328733804297774027073025426121746466001595494553968937321029813381296053020102598599185035138219834025780884614917234138498624568514946835541924051297645459781031658857545117717587200916978404366889500790539472252354969730974244051759700760007555742979396330118944948001837169518660032014576914841784999659125768426461130495021752259966148498740529286244862923351885173436651893660850234620607493636967756728965604964937237804724195665716623979536250920482779897467121174052525619634689301178827617453145460066180548081151221858771356471908421715212421412448639643122707585213682218510012915997614633706758132983468754653045596531563784181697063377317022501726067785001299079818616720141878007187953828764376373904549132772743477433044191407776916900650736227578221082758265471458188547206483339987603845115929072463521229158185141276877084745803114200784058309006389181569842126255230904816537690543116202525744446808807827245994305915667109140875650870674830601495024510567475940599407198192106976354245945207786222186177175312152579283370914978426227738441168520510637830430506370468918385928519619005239072762732159173193648435825449417213875152887112960657302190620291574410492622203544941406205703957154785342967559606464814409383975342781175438323094374901356555189629488006532797430139887518465353458989534248230428746527235328199508019039045415668062387784697347492746357747040499741591930287082549282056852834668429047492701783792485568413208680337036665882971506810551880776921021544319369368504280227095934653493459264352132950800623770787599577409571710113529610569841628039622544790998540794340983474106762829767584517736236520835955498242396112406806263926390470672722815826987326009780165006270815602358842049762626638256302268367991792842561451384446979152120873877522686633957168950824963315455656319704390639103300050844307214971484717939208981633144458430838278882538337718727717924723343154319459327763464538955335768208276621038087924104086509467607850835459328493982578869288719972374923140023392381031782693754660773697206933981989412176530247901902470790846724976228534169561084079063209743746684331003585913338754406959382678880945263231177065421163117457096965094834479470467037411934473313443985480459765390397154838239883081441791674909237687896778199549144080826620719534510583052651263000122229199360441010415997538314631779363243757747188519313989686041672889386309699140973483780985090833641772647194962949544441727427630192601011229953050084619755003523895503407529047429565552259667840484272044853385156954440458432529065227027586998111806305198545357889596053968808080672743474237173813804741105374454357477869800884541305473226140409319892099999688547044214295924847080613517719354941103651241840044810155178389257421662506721301119091876913854463053733000008608047259833587220537640444661305218355735852397863129129053412485528766289971874886788876781430226691312152493764237309839099349522651684089287369041093858616200512448127811649605646505227286539846110504714086681653051709467022970735415851842767822157909849658509110488786713689918962810599309160617794524370156823478814608546767534440890062484761661083102517451392120259760303658100215607756804889809122528847286620871186064116306329475626937680759299801773465076613625365287568910037892746041158728775169747166922280764975872291490994995111956840359536868805899594205150902065223857333519156124758918529006241467467634254666854594928586016537991438722757753434675350960544993008162053951855922852145038656938848611716901742182345150255408083184813061633826007152713034231337310715972090704943774885095348983674566803191822417049324339569929756314364606778989185404356302969556184684462663371518272410731091509528644505877137475218487488854854041124252608713092761991148378253249220497593639457975612799212896012436931145496271976671585449629236569557115256608194091488625600949675530663495677237205127 964965496341350613001941943727928152295919519716752519653842016144104951174147754760012039989992358728194348205270720734040086846723674348371119956720347791880375573457380574167178068827269762523547536233099975672382474575801797296568617305259067438647288496977812853687127202010181443417515029744685944719736904032046923832749827562573820147253222838626659643897309679387674761328898912227711028814884237179537634643628939739004633824309017960517331615864046357211401707656674326632806685991143011700976887673596725664795299926819356992862415753462871837513910238855213046510099022468240473629950047298160792771652614654949406647790139457781963904031066607036497610359241468145200964131764962891851345109910005988865407521833643001898031031276241967078258111082377030796702122530383869588217623019610231632354136996268641432827719767559906911998333495717618611681031496010868500793899699746019262857116658965858082132950506982526512153985860334204665731221162228768357625024257254803016593715698186535962064933182994560002654333619615156647300959098868583696876545369086008841392385383182460738173890653029656533929089672285052350848070740794105992597041560317389442183485233504645123663491729931042806673372947797046797047048382118362046843953504065254760383826245836965903783441139705674275615964668106228959362915602264783274677246109584873656405494425254931899699050073473993911048012352620463550858070368598910898098637867136048520160073388390745339511358066125469562014464784795137561025933683035389214341637077701407023488282128647497141743338460423580152273713299209628034168742614596555876752778926472009051979401923675430985377339714762916827293173222616347948440575868301011427062333062430610715295828990020328705555335959401870994126388543430265072117799791927240919214792642553346367910347290602318387283443805282328382762180536397148038347055932774327258419085803578684612380718777384197559023544614368423172308569746506446024494802510185432302242498484101571914286021207311503310422101684934617616506943280764576344413286230742495368481278471205623229812421078978196770609824740413553183223519737879645010535077938172294679048654666350921989243515159765532745234562663229832957289298075432764539744022582037065236817728340685474634552033988168669695615414857654085068845685986496866581471347375882797264306920778645343768161438527996872147172729051984681507742520373989334335001988140041726198228058553559627542783458681234866405558644780796284755095169270906041671375251966897903174337496541023365225564752926721049714338507172164513536651953922035188951056002068647768166364457153287118243036622255498249693326220883029751756078912932705286950753263996662617592902482371367903248453421935832734815696477546092337057779605997355729484676837037967706060538324415427915048910015646583346680783947057316522277270104947780493735092438678526079888357707284143919566643261734796787338452057052263775298312350395190248629512844772354665289377416527967158146399623480128506448827304638648402134413734403178706207667091540031335609239971158779317389985475698989360788616386381251917555169068948151849053466701356259917166907427854465981382837614490979990369775323298889260369247298230353199223179134048007324985722420148557494768329587231703865964208528105897628718119376212360754752678109872999352665755477643279232690757803648217322001485526617489835564648232092712541546830129319391701884740935365589315335073384127521774618436732726838841134694933970066068133496590546887501651560587282122752023694026134227810160495864487969940911525589975285295584124033202831533626993396876085192186375916166550529464653048501528743397878117520503215701673793408033204510380817061269371772221769461701692897318322882787186319747523103873199700349410587439506331762153342168582989368739211647296128672360004965859167057084257105568648113358653366854153215138459199281670255429916726651767472804505192502523644305966880972262977243757685910532361529701196924864361244657520210706396319636892226530706193756688599566108818818600773503402156296416817822302199967303063519908212483250731279361246065630120361579473829718691321931837277344651 1561346971051217596063337685174912925778839122439639000745009099465222876472789044342834426543818429932280927536119736034807458813618175685811834720786646571893540470969861136649952573961399668574771399535278981782632677607794335074357946039063365212674361522403934600153128797504735412354836059558067240772757006630646108867888047396599601031868140072765158268465824626223216685380196557687492060473741782297255221844545918143371523325099557432769686585595020601263161408416681882375786082321261956648978724843115385696809876841661141992521541521889332968008931991115179195008839551754485336553301932471597444665313464889570014141427107214510929508996003844841221806024958092124737215052247742789318466283962531608500096823012470619351176491342422515159409332941148387268610544245596291000666262662732939217567819214778654348825334401266665044981802250370664208212595280192565564171216722247745330642117958045676698853092384989714465982750236708109214863993905706201401816432034171703667329943276407618720330404641183107209137673607219001763230031562389812855061686645963093587195499583966519047180279834599498660184320577101590041391186943319850439405849387563383748099152342645520774534166560532537831183940423737646204245240489094716292789161290287440937559138398416249274698419565933412716784485178744059389869286071183169203196865114823946419137653598448580335524499490687869063935125313277765741478361943009403520302182808542254224117228173733712899117822880534853537357245960233460655400835039590578843829643610498837163375800594000956131277586690852326679509041498717647073214158282658943661450126419218366799019901665267361272459888996819769661961602270109049732233061436714220107399369728313582222106380870797249727099655328770375274353484478083758531382151924878041542985580242130755939620460820212888228911483427827119381302974877380622145109885700358844994655606639534182854776831184190461485414015287091238999295895756286611030765618112544274352005125122357874182654013000154064761806548664086738490384465967398533513364111194057951024800982861844726529863265386193168255327763949395186327681950576158527548872796665890219402391808985810249752708054115101300953511183701317757061375807543040615375203351076019644106106448313060397774575426369200452389370075631351292002827675398673396829373249846673643989283149312814904852240501737740618831503732637898020262149479756668215280265219317107147361345515650524722377262929148272278340031958224781765214860559668060879911258333408689578083575184437801564774708833753341769248849090224815776536774183121395629961471999606962399945727700911034306762350611941539922582712530582170725239859898023538928723400458959612162034629910001560504259683374985917354570700001441595744586827035562907989152517321310012559445695278855886347577975242674170344792590252255861880166866158916588574407835912915699893693098812658598277044513062619338092811678197461583667398312038942234462925437691852968183008732357631618399986444433635306895706248967145369703253505611317033169261400091548639382869073558379316957834646780917345096641014249510380970967654597714441820928353490233041347393598740006959745620147453590329513021459412586258301463105914430865647350990783653653830213008959994667999482416268884755575431231498841313480560887198370270604411187220361786066355674440453878541851375598172587478824964341226036603099089122155197303207913231836843094005000695669247415550681140932411583740965580013459712320759050276395543760434271306187303425025663895748117311262936172120556201654593263139688078447870740261167875615028197943490467352933744891091780581067068615753321986567657653502316407123761970683335928460262628133096397355052708094529975204137052653442311331044841138175670375248911856639198022304341248514107303597576666174181800845473303281385394236303169883029174962049343533208707637041420956406960876248606009825359673041016374251793690596858826613862151565434926348762030096641623871058345702802001836463145009065560437443889500939623468184905066852815329316412240231479014955509312830259233345463575040191493662112487300836476502673824211850205074779394221985427514514549778 2526312467392568209065279628902841078074758642156391520398851115609327827646936799102846466533810788660475275741390456768847545660341850034182954677506994363773916044427241710817130642788669431098318935768378957455015152183596132370926563344322432651321650019381747453840255999514916855772351089302753185492493910662693032700637874959173421179121362911391817912363134305610891446709095469915203089288626019476792856488174857882376157149408575393287018201459066958474563116073356209008592768312404968349955612516712111361605176768480498985383957275352204805522842229970392241518938574222725810183251979769758237436966079544519420789217246672292893413027070451877719416384199560269938179184012705681169811393872537597365504344846113621249207522618664482237667444023525418065312666775980160588883885682343170849921956211047295781653054168826571956980135746088282819893626776203434064965116421993764593499234617011534780986042891972240978136736097042313880595215067934969759441456291426506683923658974594154682395337824177667211792007226834158410530990661258396551938232015049102428587884967148979785354170487629155194113410249386642392239257684113956432002890947880773190282637576150165898197658290463580637857313371534693001292288871213078339633114794352695697942964644253215178481860705639086992400449846850288349232201673447952477874111224408820075543148023703512235223549564161862974983137665898229292336432311608314418400820675678302744277301562124458238629180946660323099371710745028598216426768722625968058171280688200244186864082722648453273020925151275906831782754797927275107382900897255499538202905345690375850999303588942792257837228711582686489254775492725397680673637305015231534461702790744192937402209860817578432654991288172246268479873021514023603499951716805282462200372884684102307530808110815206616194927233109447764065155413777770183456941633133172253074692443112867467157549961574659044437559901459662171604465502793057055260420622729706654247623606459446096940034207465568072228650349021356106891409248163109857777397424800446393282261333050349759675686465171365025937588689808739510905470314038172559407874604062514081440463652161171741951569274866833698745746364547590018665105618473379914947373658056709342924176653745872409127460357369122084985490489005377071673361385170263410844597222556441253590070091460248620401940265737490978676461689882701769892000130657549615267207457148873559573574204084349920046387829507144745590603005578049969955728938966921582633585375587481257912680978824930000273586680062818963187597396980290073426137043430818912528001675610168112092158064321425005387234197038172276038751465200476995938810956244215674153722956274779627532392372928407508136796921750089386396478987688081644606641560263718637194158347980265506233603271314262626885258320753691473374199313178402444136263864369068142928351594225973581456519942742196611156324354134880150130254513847442696624389337424711554950536625322848298109774159585558132844057115435402155076271784018105387919345720211875469067183088670718478313529538096275224632256616334457429630635891632888522823666662593669981820191589301264560506167861425727002985068081309503391234735885147561832353212661218846574169917701661155198731380143225494250745856116459441395440026947211109279006574582631359163865330234785419021429918097157774542133401820804800826449867843526438663737354247909844754743361156234795889741631034836730885754525059933358359402312740298553455453984246461611893930861853074805076586251177870869334956962306348366362150457751109628989973460715546463459739061400775024094346330620976283966956983235166282786639616159182245714285241282473899037602253670661337606778172113977466302196973598754346339629653927628324495417898352785056339547432891780754845869456939745249163550540057120599410057754241269029050086259219154912181322066290408275109622099335447887680080789589767668141724598195789361350258168118446407189326005787782552156232588046899726866197707802529276266833763526393166154174378661755452381438135230841004982417111805729648081535545430878103711401874595738032115837748739454332211784548609112913307359351791894429 4087659438443785805128617314077754003853597764596030521143860215074550704119725843445680893077629218592756203277510192803655004473960025719994789398293640935667456515397102847467083216750069099673090335303657939237647829791390467445284509383385797863996011541785682053993384797019652268127187148860820426265250917293339141568525922355773022210989502984156976180828958931834108132089292027602695149762367801774048078332720776025747680474508132826056704787054087559737724524490038091384378850633666924998934337359827497058415053610141640977905498797241537773531774221085571436527778125977211146736553912241355682102279544434089434930644353886803822922023074296718941222409157652394675394236260448470488277677835069205865601167858584240600384013961086997397076776964673805333923211021576451589550148345076110067489775425825950130478388570093237001961937996458947028106222056395999629136333144241509924141352575057211479839135276961955444119486333750423095459208973641171161257888325598210351253602251001773402725742465360774420929680834053160173761022223648209406999918661012196015783384551115498832534450322228653854297730826488232433630444627433806871408740335444156938381789918795686672731824850996118469041253795272339205537529360307794632422276084640136635502103042669464453180280271572499709184935025594347739101487744631121681070976339232766494680801622152092570748049054849732038918262979175995033814794254617717938703003484220556968394529735858171137747003827195176636728956705262058871827603762216546902000924298699081350239883316649409404298511842128233511291796296644922180597059179914443199653031764908742650019205254210153530297117708402456151216377762834447412906698741729451641861072519057775159508590731614828159754646616942621542833357499597782134882103641683324005185953126814858247151268931028094845106410660936567145368130291158392328566827333492017247730299082647050321934381145765120529851575188550901170900361259079668086026038735273981006252748728817320279594047207619632834035199013108094597275875215561643371141508618858397418083244194895076289538951851364533281265352639203925838587420890196700108280671269952733483832272637971421494659623389968134652256930065865347080040913161513995290150724734076353449030624966806270183702886726569574474355566120356669074501036783843660240217847069230085242873219404275153472642442003478109810180194327780722032041479887325764895532426774256020920919089854609072297309316977779423085622561230359815184816288607027801493891918784277059341487865416626494774982420433404588212036687621796066610200320164826448874000001282572568057819858975355731767737846138578094858751282047371202235798708979783144397554181915886941662162302374488911767820171907667443957096480429283826231433677123171707789711479657992824951928882127200610204860500994924036265964451569040282611002422780957642550764264509925867274555332601340473655669386973472972961808451975431110094936428279659174480388228478291031306842131791203958119288490750742297861325238929387808641424957037245044730467274637310101347387087917413233059279037533679554070644885402013859490478264377035490910173681822342611954104907868385472623132521671639016412694148471405863295459127092084493925160701355314985411740340137893493733162125001215016826671525788524589839893772952901963575052550596571485377104358551036316393508999993392279651414209069563041762826476403107147962656592993077889894742326704084146436435665992344942100367892753758265776213034522857155654365133159262108501611915073618986646219898478468922563805051014249317068421331455807631335354089598718514561699264365867375747538050303782036108626183816835748030692365044444582373530713933289470703175527166685560832172177735806999781940984972469462671088273601696912978745455196122003359976760537321915337732340902593902691443148477572198933115434181204255714530773927449696066029060211696493689906149262808684515976391886386220176872030270011842115674767817879193780103646392602528868034170947538341827271207415894105777642563566822305196767451643081236461432067315042478340768890894453143902895536708225332952314251413278544061989623388507135292786866306444207 6613971905836354014193896942980595081928356406752422041542711330683878531766662642548527359611440007253231479018900649572502550134301875754177744075800635299441372559824344558284213859538738530771409271072036896692662981974986599816211072727708230515317661561167429507833640796534569123899538238163573611757744827956032174269163797314946443390110865895548794093192093237444999578798387497517898239050993821250840934820895633908123837623916708219343722988513154518212287640563394300392971618946071893348889949876539608420020230378622139963289456072593742579054616451055963678046716700199936956919805892011113919539245623978608855719861600559096716335050144748596660638793357212664613573420273154151658089071707606803231105512704697861849591536579751479634744220988199223399235877797556612178434034027419280917411731636873245912131442738919808958942073742547229847999848832599433694101449566235274517640587192068746260825178168934196422256222430792736976054424041576140920699344617024717035177261225595928085121080289538441632721688060887318584292012884906605958938150676061298444371269518264478617888620809857809048411141075874874825869702311547763303411631283324930128664427494945852570929483141459699106898567166807032206829818231520872972055390878992832333445067686922679631662140977211586701585384872444636088333689418079074158945087563641586570223949645855604805971598619011595013901400645074224326151226566226032357103824159898859712671831297982629376376184773855499736100667450290657088254372484842514960172204986899325537103966039297862677319436993404140343074551094572197287979960077169942737855937110599118501018508843152945788134346419985142640471153255559845093580336046744683176322775309801968096910800592432406592409637905114867811313230521111805738382055358488606467386326011498960554682077041843301461301337894046014909433285704936162512023768966625189500804991525759917789091931107339779574289135090010563342504826761872725141286459358003687660500372335276766376534081415085200906263849362129450704167284463724753228918906043658843811365505527945426049214638316535898307202941329012665349492891204234872667688545874015247565272736290132593236611192664834968351002676430412937098706018779987375205098098392133062791954801620552142592830347083938696559341056609362046146174398169013923651062444291786526496463289495735402093044382269215600788856656017663423801933480017983314510799634231404894480492664058693422217355704807286567831213164235937865154772017545994723076525504159864540599400546395451424775256007113467407175224285018776356683626457208257267786528002958182736169912017039677156773125080335616267134790033512571679231737519936027360071707904872161721289694694747417319275956968829417533343492959416971907876040318683435426426905638005973090458162485398514872831745759315677727739338650882218685055138686645326710693692616104151840856011852544082670266825711327607853111938706489278552791560817617083886035338765103613879604951905950789516252132547866177700016401510713405914029344302757456920199534457725980819825700617455509508283911294150014011500275521293646748013301931039629160891993873411643876514611075729811199626117589752948519803928884356553425127812339753303340499330619056976140610471720281118987983907981117674458222111552735735699118900347535533322738917880831356904398534276648194090935642401814197080477864076913089480426563830651016992717399954149312685784483957738920877322190191052278300459770205494056819231667018769318767548295995012336913578198166251489855981176860784817288925955508765358946058394792171354094795093150999493538656045594986843659714495033538948318895265799976017993744977606326918481411132967603950808309953699280663027134369151334561346121570638900097787166506171954481969318292888087902758205846217477067164501282880959714502101500902718841227983201693400359167895852840217857971175651159547144381369986938852576352657700990082175581527130198388458249305000773605661745936336234439502255734231878750067618094104970942287271931816942228577757578205586873922241443849179120772126422304436325331247614297411303963365068152000152732876273774171997620048600146218098338636 10701631344280139819322514257058349085781954171348452562686571545758429235886388485994208252689069225845987682296410842376157554608261901474172533474094276235108829075221447405751297076288807630444499606375694835930310811766377067261495582111094028379313673102953111561827025593554221392026725387024394038022995745249371315837689719670719465601100368879705770274021052169279107710887679525120593388813361623024889013153616409933871518098424841045400427775567242077950012165053432391777350469579738818347824287236367105478435283988763780941194954869835280352586390672141535114574494826177148103656359804252469601641525168412698290650505954445900539257073219045315601861202514865059288967656533602622146366749542676009096706680563282102449975550540838477031820997952873028733159088819133063767984182372495390984901507062699196042609831309013045960904011739006176876106070888995433323237782710476784441781939767125957740664313445896151866375708764543160071513633015217312081957232942622927386430863476597701487846822754899216053651368894940478758053035108554815365938069337073494460154654069379977450423071132086462902708871902363107259500146938981570174820371618769087067046217413741539243661307992455817575939820962079371412367347591828667604477666963632968968947170729592144084842421248784086410770319898038983827435177162710195840016063902874353064904751268007697376719647673861327052819663624250219359966020820843750295806827644119416681066361033840800514123188601050676372829624155552715960081976247059061862173129285598406887343849355947272081617948835532373854366347391217119468577019257084385937508968875507861151037714097363099318431464128387598791687531018394292506487034788474134818183847828859743256419391324047234752164284522057489354146588020709587873264159000171930472572279138313818801833345972871396306407748554982582054801415996094554840590596300117206748535290608406968111026312253104900104140710278561464513405188020952393227312498093277668666753121064094086656128128622704833740299048375237545301443159679286396600060414662517241229448749722840502338753590167900431588468293968216591188080312094431572775969217143967981049105008928104014731270816054803103003259606496278284178746931941501370495248823126209416240985426587358412776533233810508271033696622729718715220675434952857583891280291361016611739336508900010555565686824272693710599036850345444145833974959905309079406332061005660915401411753913302494514665021785065990916835725466297680339588306153022524570417422944141599940888411812077919550238427546871995387260972640572423293826777373083716660528004240755304227731876015032888540862926474194361993541315559942881467536228915810504469262086788048662951856997121906231043777140737084977300589439846255734107473995806607134216617117663965915410091367525715483036606260310601764005303102451258967666141109426284353244456880614077708130567185145423143922495098301080826073747158464709662886497245896743060515726993581904910911794037741993474371421038616919997877726749642793722670769259794701964930001732363290921173087705372922741343190331683693565570920406695660607503780195416664651802167555233986488468715983598196672249250111424587536216623032827959288423271466845387834424491320412291126022212060419012481717070106118889475048783078524260288958794120488435286313970431427928389775638635199230407329151401807589360129278285982652522189390307054124140680056547142390575679226284443005023758625857044623242560138098247815085007880053292175923202661128171599022079810081325108842627396759263286211489760559779608263126816123627161726130447240598212053217744859352711035462033083842730355003891983792853741775669971371363063784663681537240279013129226447348587966541329070368345903511623872567249837594445556178882297038343284024761565822978014389079839015221862308404792944051196413426916317127581563423610383614145307667241680219758840875059893088115385037173677381968561801704002228658470091420675541423540939716439880832104784602266049697605959921376178358181377709459505795400062774973038517003477905281246435814604763073327219784391517192948012188698020466251566011420335763795386127183892933084404782843 17315603250116493833516411200038944167710310578100874604229282876442307767653051128542735612300509233099219161315311491948660104742563777228350277549894911534550201635045791964035510935827546161215908877447731732622973793741363667077706654838802258894631334664120541069660666390088790515926263625187967649780740573205403490106853516985665908991211234775254564367213145406724107289686067022638491627864355444275729947974512043841995355722341549264744150764080396596162299805616826692170322088525810711696714237112906713898455514367385920904484410942429022931641007123197498792621211526377085060576165696263583521180770792391307146370367555004997255592123363793912262499995872077723902541076806756773804455821250282812327812193267979964299567087120589956666565218941072252132394966616689675946418216399914671902313238699572441954741274047932854919846085481553406724105919721594867017339232276712058959422526959194704001489491614830348288631931195335897047568057056793453002656577559647644421608124702193629572967903044437657686373056955827797342345047993461421324876220013134792904525923587644456068311691941944271951120012978237982085369849250529333478232002902094017195710644908687391814590791133915516682838388128886403619197165823349540576533057842625801302392238416514823716504562225995673112355704770483619915768866580789269998961151466515939635128700913863302182691246292872922066721064269324443686117247387069782652910651804018276393738192331823429890499373374906176108930291605843373048336348731901576822345334272497732424447815395245134758937385828936514197440898485789316756556979334254328675364905986106979652056222940516045106565810548372741432158684273954137600067370835218817994506623138661711353330191916479641344573922427172357165459818541821393611646214358660536939958605149812779356515423014714697767709086449028596964234701701030717352614365266742396249340282134166885900118243360444679678429845368572027855910014782825118368598957451281356327253493399370853032662210037790034646562897737366996005610444143011149828979320706176085040814255250785928387968228484436329895671235297229256537573203298666445443657763017983228614377745218236607967882008719638071354262282926691221277452950721488745700346921518342479032940228207910555369363580894446967593037679339080761366849833121871507542342735652803138235799798395745957658731206541909311387893506363107569635908439923292393917131695237065809881904417971995916732020726592352558748048889702235545494360323699017247646942927104006140540288958207529344325494434660339402562485257659348779977453234581340984447056007198938040397643893054710045313988006809810629128331349072514560699273748851837864540969991660210384241551691869323550319734109566502510644082399263227641983514314490042560643522755669939005868253852924230355868352019626279491744641753333477652721279796071611063938149496718229548986579037689505814189320809628688679185685864953988215678058063513826946551065758685518790516745943692782990623553586483097697894128260356199636700113562552158885129536190089271740998788322828432249627101625833707577071195927989307355517082126456293812694161428645630364983327059328007871875367701177536056020551917184512713551083806598691174923821939469267266632683780700131469700978087236563933270894631259995988077694468023968609052888312259285294174172911847424498264793803621786440607142362895742002615954137705141133397456501291703261463710242181925901080816048096901543019908303741871904239547072061494690750957123183935935658008247576598698608573620048103500415716068544967209185210915798515820925540391597705591873790454339554695176528117381678673899157783768871735520647577698281545195796649141191087323082925728011615100910480404929692025082262772665037004100617510660851615331231371927519771669195491456244340298102822022906894444953915254654899518820981922591506236454363165638417331379305985256429880026967961389831378372050737383231132427046928340725676315029202685652776115271607040336497928447673578015481149300468649641276448023977820353178625390925719349130425556586731185377763545115639131490359316152063088618251718744296609537967383747232493079302503121479 28017234594396633652838925457097293253492264749449327166915854422200737003539439614536943864989578458945206843611722334324817659350825678702522811023989187769659030710267239369786808012116353791660408483823426568553284605507740734339202236949896287273945007767073652631487691983643011907952989012212361687803736318454774805944543236656385374592311603654960334641234197576003215000573746547759085016677717067300618961128128453775866873820766390310144578539647638674112311970670259083947672558105549530044538524349273819376890798356149701845679365812264303284227397795339033907195706352554233164232525500516053122822295960804005437020873509450897794849196582839227864361198386942783191508733340359395950822570792958821424518873831262066749542637661428433698386216893945280865554055435822739714402398772410062887214745762271637997351105356945900880750097220559583600211990610590300340577014987188843401204466726320661742153805060726500155007639959879057119081690072010765084613810502270571808038988178791331060814725799336873740024425850768276100398083102016236690814289350208287364680577657024433518734763074030734853828884880601089344869996189510903653052374520863104262756862322428931058252099126371334258778209090965775031564513415178208181010724806258770271339409146106967801346983474779759523126024668522603743204043743499465838977215369390292700033452181870999559410893966734249119540727893574663046083268207913532948717479448137693074804553365664230404622561975956852481759915761396089008418324978960638684518463558096139311791664751192406840555334664468888051807245877006436225133998591338714612873874861614840803093937037879144424997274676760340223846215292348430106554405623692952812690470967521454609749583240526876096738206949229846519606406562530981484910373358832467412530884288126598158348768987586094074116835004011179019036117697125272193204961566859602997875572742573854011144555613549579782570555647133492369315202803777511595911455544559024994006614463464939688790338660494868386861946112604541307053603822297546429039735368693326270263004973626430726721818652336761484139529265445847725653515393098018219626980161951209663482754146340622699152824774441174357521889422969505456199882662990116195595744644551895273925654795268968145896814704955238626734302068799476587525268074729091433623027013819749975136307295756513224418030814603021986930356708551715469883399828601473323463756242726725283316171885298411246685748377418549664884615168533225833948629852039772217360350048147740481177370019607263875732862207211397949746230299921203271280011954424701107584011439693344625375769069742933854850933284004991121872664632457442166809977767648369010232078448259047193408688991229781363511250303587487944671839109483376090988310296649694860139873333904921278345220449945838904958279936881255749944855784736620387420905497895417182606377332307257117146222834928958111815907929769505259433023418697878564555309410570007066792752267423701428539981434776464994974625100017695771855009998993359370882822346860850059537922452562662171876028201354990970291957517401142642116334684967963020862321872958464496328983879616853452043042926204544124617812602123592237174950012472001974355273444079009348313259881558392654895841119143951418048193355453408319677709784256277036488588512403895366858743687213683949811547046654905593945205429375800736420648878394524805344444759265274077513048434093837142936526624930924839441905141524785580046401989686989247427125353670613953618251355534957737818328901707541235970379311389711905476628324575472312027039425677547055987632195917645091535313692265730638561201224409028903049767561725477296317549069644608980460330678431366336212152175360203067451809475298037928593886645232286841695063066839733912369574655952281337492173505845324179313324684331311687389005111668081815835948563486015116620068508473305659011599064826131489773115083346427005055754019299184935134655705398432146351856452743625369215996103711824938763978145279537936857327658650027350735953819377883128151663907929197254411671992401335948451090764900030648683307328340761109084503284755716945301762769874416386012386907904322 45332837844513127486355336657136237421202575327550201771145137298643044771192490743079679477290087692044426004927033826273477764093389455930873088573884099304209232345313031333822318947943899952876317361271158301176258399249104401416908891788698546168576342431194193701148358373731802423879252637400329337584476891660178296051396753642051283583522838430214899008447342982727322290259813570397576644542072511576348909102640497617862229543107939574888729303728035270274611776287085776117994646631360241741252761462180533275346312723535622750163776754693326215868404918536532699816917878931318224808691196779636644003066753195312583391241064455895050441319946633140126861194259020507094049810147116169755278392043241633752331067099242031049109724782018390364951435835017532997949022052512415660820615172324734789527984461844079952092379404878755800596182702112990324317910332185167357916247263900902360626993685515365743643296675556848443639571155214954166649747128804218087270388061918216229647112880984960633782628843774531426397482806596073442743131095477658015690509363343080269206501244668889587046455015975006804948897858839071430239845440040237131284377422957121458467507231116322872842890260286850941616597219852178650761679238527748757543782648884571573731647562621791517851545700775432635481729439006223658972910324288735837938366835906232335162153095734301742102140259607171186261792162899106732200515594983315601628131252155969468542745697487660295121935350863028590690207367239462056754673710862215506863797830593871736239480146437541599492720493405402249248144362795752981690977925593043288238780847721820455150159978395189531563085225133081656004899566302567706621776458911770807197094106183165963079775157006517441312129376402203685066225104352375096556587717493004352489489437939377514864192002300791841825921453039775983270819398155989545819326833601999247215854876740739911262798973994259461000401015705520225225217586602629964510412995840381321260107862835792721452548698284903033424843849971537312664047965308696258019056074869411311077260224412359114690047136773091379810764562675104263226718691764463663284743179934438277860499364577230667034833494079245711784172349660726733652833384478861895942666162894374306865883003179523515260395599402206219771981407880237954375101196600598975965762666622888210936105691502470883149237356512333374823863071659285105791839751893867240595451479792535165220589857294327978706474969771108412933504870768771328308953551057019864303277152153881021466328227136608201227296867550800512231487959269983248733246535765685554640018638631385023019662124452979168838940093815620250204013704972002866083726619486233551202070108469431434960380860553331683245359870089998588754238372711018074502624786692255503662629003843927146599073374176194773310299563160747494586609118214273108700701569506481120755874050536806103725260524434772301136717558458184445118888372686094242613372924396953617858510952942491945285925127559455618528211583115393665983270355192996070996384899019735189074112541834403170664351029787240597393583351108719713312262674275318537944448329252277190490412525247218435370102254212415999985513779659648257726867196984715525439080042770184272135199350825659287579621819275421119026280592017341590572341044252265114183056536372504419747055946498978123984458894079403858739009051162241343563011774136527421298582464406407474969549725797098606646768806856825920257953238426328599954705731558893486974197415165304704575374539470893395826576478306239844543999359493212321192696869542681497237955224193367981528023793623236965325768031820425815089318606087702802207551330597212816965126767926154176256979819622453659295077903371818168362289880227729953676149417897323845795680577500585527700806027879801109161368997301568519611427506354218581833959026922736715354769545408606622856522871638944076342978370811387919653142051307816836434126070036568166267082752326772872028171481946311021992111375318865275261906592953115952338476959118676992012401843355703481330289298854916603542097548988067133828854310015669780173666644492824197702755003500013554839730153621648879091689411025801 73350072438909761139194262114233530674694840076999528938060991720843781774731930357616623342279666150989632848538756160598295423444215134633395899597873287073868263055580270703609126960060253744536725845094584869729543004756845135756111128738594833442521350198267846332636050357374814331832241649612691025388213210114953101995939990298436658175834442085175233649681540558730537290833560118156661661219789578876967870230768951393729103363874329885033307843375673944386923746957344860065667204736909771785791285811454352652237111079685324595843142566957629500095802713875566607012624231485551389041216697295689766825362713999318020412114573906792845290516529472367991222392645963290285558543487475565706100962836200455176849940930504097798652362443446824063337652728962813863503077488335155375223013944734797676742730224115717949443484761824656681346279922672573924529900942775467698493262251089745761831460411836027485797101736283348598647211115094011285731437200814983171884198564188788037686101059776291694597354643111405166421908657364349543141214197493894706504798713551367633887078901693323105781218090005741658777782739440160775109841629551140784336751943820225721224369553545253931094989386658185200394806310817953682326192653705956938554507455143341845071056708728759319198529175555192158607754107528827402176954067788201676915582205296525035195605277605301301513034226341420305802520056473769778283783802896848550345610700293662543347299063151890699744497326819881072450123128635551065172998689822854191382261388690011048031144897629948440048055157874290301055390239802189206824976516931757901112655709336661258244097016274333956560359901893421879851114858650997813176182082604723619887565073704620572829358397533393538050336325632050204672631666883356581466961076325471765020373726065975673212960989886885915942756457050955002306937095281261739024288400461602245091427619314593922407354587543839243570956662839012594540420390380141560421868540399406315266722326300732410242887358779771420286789962576078619717651787606242687058791443562737581340265198038789841411865789109852863950293828120951988880234084862481882911723341885647941343253510917853366187658268520420069306061772630232189852716047468978091538410807446269580791537798448491661157210304357444846506283476679714541900369271329690409588789680442638186072412987258984107567268171115355361754219780211000575675239580495340564059207722519260448536761742592739225392223347189658077818120039301997162257583403096792081663627200301621502643698246743872076960159074762198461977718259191186520013258490190386662224030078324729648395431194195913023689873377820611372076678337429445032893704387134602561434148556728478628369069851783113046756610173677486533426077482194394165490935083341950363802502337748848424944293824122033678268579500042003244531464902950893496121607067401898303362251382844063220871483359363730412952625488227689704551911791383972807168682334966960684651263220366193373825906562335920613502836683133089437838280354186355441879207245880585248612034994397065342540379231142231567685540868509862355428597359243281558806770202210741686819396404864071887413145180416960124603326381783240494901817209456717499794353486849193620448459232384051942475462938419372537074473947470749910250050828508542150671645048776399786605799633712662073796005940734309452684214480538042079983660652531052226643027223671681552482598159890935749583295431787750759699858379951114180001107721245882734401322768835918658193625895005851133644905380013781080514378670882924226669325194118153809264994649870915037515655989540882056861081724086156453650519830496731705257318892322690113282675837570763156717310498053819995507230078732021235814099355525767882270036063129610687490743644340319440070380683832082446653542503146892698924752190685530269222964138590818531190718108894621739476591380112249735354577435637519409426257134654243841489880089335753101401738457725205018380027934689936391208107479030690214025884738232653889195804617768704342748355662733586609481953206784113857953769541389403082279945074915700428856973972833585306787258288255730500141492923496065265104076318930123 118682910283422888625549598771369768095897415404549730709206129019486826545924421100696302819569753843034058853465789986871773187537604590564268988171757386378077495400893302037431445908004153697413043206365743170905801404005949537173020020527293379611097692629462040033784408731106616755711494287013020362972690101775131398047336743940487941759357280515390132658128883541457859581093373688554238305761862090453316779333409449011591332906982269459922037147103709214661535523244430636183661851368270013527044047273634885927583423803220947346006919321650955715964207632412099306829542110416869613849907894075326410828429467194630603803355638362687895731836476105508118083586904983797379608353634591735461379354879442088929181008029746128847762087225465214428289088563980346861452099540847571036043629117059532466270714685959797901535864166703412481942462624785564248847811274960635056409509514990648122458454097351393229440398411840197042286782270308965452381184329619201259154586626107004267333213940761252328379983486885936592819391463960422985884345292971552722195308076894447903093580146362212692827673105980748463726680598279232205349687069591377915621129366777347179691876784661576803937879646945036142011403530670132333087871892233705696098290104027913418802704271350550837050074876330624794089483546535051061149864392076937514853949041202757370357758373339603043615174485948591492064312219372876510484299397880164151973741952449632011890044760639550994866432677682909663140330495875013121927672400685069698246059219283882784270625044067490039540775651279692550303534602597942188515954442524801189351436557058481713394256994669523488123445127026503535856014424953565519797958541516494427084659179887786535909133554539910979362465702034253889738856771235731678023548793818476117509863164005353188077152992187677757768677910090730985577756493437251284843615234063601492307282496055333833670153561538098704571357678544532819765637976982771524932281536239787636526830189136525131695436057064674453711633812547615932381699752914938945077847518432148892417525422451148956101912925882944243761058390796056252106952776626945546196466521820086219203752875495084033222491762599665781090234122290958923505549431947839987481076970340643887657420801628015176417605903759651066278264884559952496275470467930289385554552347065526397008518678761454990716505527627688736578082851870285681467079332389207804654659202311795613757351599887067204098698316960766490751624910070768490566536954153811945966904352455502524110026473880480278187455942312998974209206218461169768746505025956072216864048716956114671415093318648892192528813471636231622280692042401447898977431006620836112636218665197910063329450712336444730001970043767485122180315854905412239993559870034205867465131341592775571543367198298228451578879063202750739118074021165166604822308636908379424118125433380869324596743883798502714089343046685874149670800164070067049782055259363914302509774173308685319111831689895376232031048266248483103821550709379351512875592144900320437686147536231468513204730260929472165079124219618582068740860033518600096751218531463018877309808930111290322783247434629376124588840161442888752628684406441433025233433529619377892583658583209711230055084757694793656100754539488091500822391872760807264854701585148904206352855580211640197780464834813713311423223531700283423546672426667579647941609688078089027452147885688034356230064238644576679957811618377442779955813452804776221375520184001223362769000434476744529471481858320020925058378030376136547862022063660835306502949874064283019043679783164119022186849755906582268739838436584434507464870222919902930247802605496917332974290317676273654802307982103839404176389235753497835946185481026934533286424221840904967771186711711883555814911500448461218536179697039748851056923165513555246545487654303228362333114251751193811697555806448907329079399185962060677924006159372321267668821210051977890408199416636247413200218854349555489287791331185769841534281576887381334760757506089290090812242505639030461495867090377470216108799384931370209030640617326409504490013291755744054981223077117714144195765729955924 192032982722332649764743860885603298770592255481549259647267120740330608320656351458312926161849419994023691702004546147470068610981819725197664887769630673451945758456473572741040572868064407441949769051460328040635344408762794672929131149265888213053619042827729886366420459088481431087543735936625711388360903311890084500043276734238924599935191722600565366307810424100188396871926933806710899966981651669330284649564178400405320436270856599344955344990479383159048459270201775496249329056105179785312835333085089238579820534882906271941850061888608585216060010346287665913842166341902421002891124591371016177653792181193948624215470212269480741022353005577876109305979550947087665166897122067301167480317715642544106030948960250226646414449668912038491626741292943160724955177029182726411266643061794330143013444910075515850979348928528069163288742547458138173377712217736102754902771766080393884289914509187420715237500148123545640933993385402976738112621530434184431038785190295792305019315000537544022977338129997341759241300121324772529025559490465447428700106790445815536980659048055535798608891195986490122504463337719392980459528699142518699957881310597572900916246338206830735032869033603221342406209841488086015414064545939662634652797559171255263873760980079310156248604051885816952697237654063878463326818459865139191769531246499282405553363650944904345128208712290011797866832275846646288768083200777012702319352652743294555237343823791441694610930004502790735590453624510564187100671090507923889628320607973893832301769941697438479588830809153982851358924842400131395340930959456559090464092266395142971638354010943857444683805028919925415707129283604563332974140624121218046972224253592407108738491952073304517412802027666304094411488438119088259490509870143947882530236890071328861290113982074563673711434367141685987884693588718513023867903634525203737398710115369927756077508149081937948142314341383545414306058367362913085354150076639193951793552515437257541938323415844445873998423775123694552099351540521181632136638961994886473757790620489938797513778714992797107711352218917008240987186861489427429108189863705734160547006386412937399410150031120085850396295894921191113358265479416818079019487777786913468448958600076506837574816208117095912784548361239667038175839739259979795143342027508164583080931666020439098283773698743044098332302632081286257142318912884548368713866924831056062294113342479806429490921664150424568569744949372765652824120357250604027630531552757124026753724720624352355147615017075197436186924477652356288759763516146458879088078795280844319810524512844805216218686849456842994357370379830892931871135393755438674070367221926388691698520564119557776758580217444971655606393337099806405484494953376156231267633679341623996487661022420262129847458563244753983649538924116060100943915704310277727480376816224932545468227243162233127041968534913563854222711955454039856950737594330874987161037393674878692937738252231296845533884949381572541659831063565706954754799390780905686298182530628533855745109492071703732764665088128444424169457392761881655557988733673760564129205334975362210196392615046336249192166543226129247530501615898150525027787016468571513032117815593763172530547696114166193175228486958841411072442701269349415526346633925303992958655213924302271576470775548022764107438012238325503530333079198631874584636911749770579934746045578970105813359670432327439657669998328556959956921174050658955776842952837142020962626329482595663116387238333802005572756701259060774531347257778989115767944523935198056559335772705001079047931479992738722390358267081166212722189115242593043530478443067680489691600815730093650309538060835860639990488591279265718216221544156545220777167866181224407841567395543966002468454003595353917460931887725279120279887304104373777736205763197850101809705631863443547052133242086426738505656320616304519413886248708074369070559667777182908788227351326183804408326333380245703313676069418423730730086194656085677509113168822876700294195712423144319449636631766873298388744459847070637887614590159994811277271580011474555122716000613779409299842048886047 310715893005755538390293459656973066866489670886098990356473249759817434866580772559009228981419173837057750555470336134341841798519424315761933875941388059830023253857366874778472018776068561139362812257826071211541145812768744210102151169793181592664716735457191926400204867819588047843255230223638731751333593413665215898090613478179412541694549003115955498965939307641646256453020307495265138272743513759783601428897587849416911769177838868804877382137583092373709994793446206132432990907473449798839879380358724124507403958686127219287856981210259540932024217978699765220671708452319290616741032485446342588482221648388579228018825850632168636754189481683384227389566455930885044775250756659036628859672595084633035211956989996355494176536894377252919915829856923507586407276570030297447310272178853862609284159596035313752515213095231481645231205172243702422225523492696737811312281281071042006748368606538813944677898559963742683220775655711942190493805860053385690193371816402796572352528941298796351357321616883278352060691585285195514909904783437000150895414867340263440074239194417748491436564301967238586231143935998625185809215768733896615579010677374920080608123122868407538970748680548257484417613372158218348501936438173368330751087663199168682676465251429860993298678928216441746786721200598929524476682851942076706623480287702039775911122024284507388743383198238603289931144495219522799252382598657176854293094605192926567127388584430992689477362682185700398730784120385577309028343491192993587874379827257776616572394985764928519129606460433675401662459444998073583856885401981360279815528823453624685032611005613380932807250155946428951563143708558128852772099165637712474056883433480193644647625506613215496775267729700557984150345209354819937514058663962424000040100054076682049367266974262241431480112277232416973462450082155764308711518868588805229705992611425261589747661710620036652713672019928078234071696344345684610286431612878981588320382704573782673633759472909120327710057587671310484481051293436120577214486480427035366175316042941087753615691640875741351472410609713064493094139638116372975304656385525820379750759261908021432632641793719751631486530017212150036863814911364658066500564748127557356106379401704522013992422111876746979062813245799619534451310207190269180697894374573690980089450344781894089000279226370732834910385483951571938609398245273756173368526127142851676051464942366873633589619981111191059321369859443534143390657311404415973597435905212626550863751194504832633335070959388196410396130696113526057506268542102531095952127512236958991225617831493697408747500321093074616638062422232340830848566400376274786706585887124298755027971276456002506760550261212456777786709192005218645478054823410362098732765020934399568031028220718490581426337626447504722767612945281226705766224341218657151598502249605801870064971126960735841131311581599438003893512119524106906732792853694789289670811566983564012049569942126673077564933215630055645481381772945058467630391535681226123984330066860002368949839753001175897843789307747026492910317426280481752309207265136779441439014265086652532979640049675712373781006704669018000159186022339583550261220546087949405615776398803474402585632453808959849275983026446932911894834574030156680381048219074208199311510794135942469356935610361736075530661543938608927077005505866211522526246599827859607386893931267004462043423909076904119615481616705999739912734626855435177152363136838365383731626763959340192587869096653822930631134731635197322393369321439824422270894397999481075603015555869120101234781235899320991130196703665600720187059338162495973778281048564597822665891133406367305111846042939700044166877827032763554162407025183479754063592088022129375612754107255849558283365504043815135997111584765027971336810469617929024281693417501078464142819883614637358749689048535334067585055506578365197337892408080395636739380877829160799196426767962431217608545187729801192601467400604193572264367771543467012269870674912166791106438218062174780945503722144343514497543844778440846918255207486404315767284871767218610103939077731493553495607778841971 502748875728088188155037320542576365637081926367648250003740370500148043187237124017322155143268593831081442257474882281811910409501244040959598763711018733281969012313840447519512591644132968581312581309286399252176490221531538883031282319059069805718335778284921812766625326908069478930798966160264443139694496725555300398133890212418337141629740725716520865273749731741834653324947241301976038239725165429113886078461766249822232205448695468149832727128062475532758454063647981628682319963578629584152714713443813363087224493569033491229707043098868126148084228324987431134513874794221711619632157076817358766136013829582527852234296062901649377776542487261260336695546006877972709942147878726337796339990310727177141242905950246582140590986563289291411542571149866668311362453599213023858576915240648192752297604506110829603494562023759550808519947719701840595603235710432840566215053047151435891038283115726234659915398708087288324154769041114918928606427390487570121232157006698588877371843941836340374334659746880620111301991706609968043935464273902447579595521657786078977054898242473284290045455497953728708735607273718018166268744467876415315536891987972492981524369461075238274003617714151478826823823213646304363916000984113030965403885222370423946550226231509171149547282980102258699483958854662807987803501311807215898393011534201322181464485675229411733871591910528615087797976771066169088020465799434189556612447257936221122364732408222434384088292686688491134321237744896141496129014581700917477502700435231670448874164927462366998718437269587658253021384287398204979197816361437919370279621089848767656670965016557238377491055184866354367270272992162692185746239789758930521029107687072600753386117458686520014188069757366862078561833647473908197004568534106371882570336944148010910657380956336805105191546644374102961347143670874277332579422503114008967104702726795189345825169859701974600855986361311623648377754711708597695640581689518175540113935220011040215572082888753566201708481362795005036580402833957302209351125442421921839933106663431026551129470355868538459183762828630072734081326499605800404412846249231554540297765648320958832042791824839837481882825912133341150222080390781476145520052525914470824555338001781028851567238319993842891847361607039286572627149946450248975841236402081855563170382010802333187284052925113776933242688116032858195751717158158304542082393051973907738345578284846680063080541645261615627891114808816299796214777668655020001227967457969750577617475915129184988482685976463393846583055173765882346266032058248989975040206307517803311036142344338502624966187170549917610995432802063233762719701794131713460776953109050687446726491840575560283519130478657428433393102529105025050962549776786518330000398700276023564518689243138752711273796189692258706417151869397286806710140045528934879078879065830734415533198370122968968173280116513001858116224074978146763683530448025664276831848960658442704987308194357969923098818165011628187141212836510765422385190926462131810282512597488536224694949245072879630608454395875470917079774819042363407867195998810540005568219600062014743176032664722048622973173247895147247689687638237734075289007562556520918647894214397237575116180149923126042451211513405774322967277275299506095907394852999512192270166008060244740933406385909758839638099556176934430607338585064843397110883511577630187321639976845974567856783579509231559273151615034556699869655800906094132929206089675507404694253093441935855704256334987624936203891432894258096924716579218813538038838921934679132162351328574121180282712715892059713520554970746766932909248453405089017308759491632278312357491949136460955421384103775560684157366418312029272378628569340024974840759954203353783454321502799815560751819507639169053458043472490307091616697773722302802017899180698928565952525515478080905801822290621760806090711827194669716751778656788470005809940545606343707984654119288615022016871521110046895915143470022617302994453966199552689778983843735043491400633930485319100395140353911216812886288304625511484805869797646399127044556451778693165226655078345272962795449827728018 813464768733843726545330780199549432503571597253747240360213620259965478053817896576331384124687767668139192812945218416153752208020668356721532639652406793111992266171207322297984610420201529720675393567112470463717636034300283093133433488852251398383052513742113739166830194727657526774054196383903174891028090139220516296224503690597749683324289728832476364239689039383480909777967548797241176512468679188897487507359354099239143974626534336954710109265645567906468448857094187761115310871052079382992594093802537487594628452255160710517564024309127667080108446303687196355185583246541002236373189562263701354618235477971107080253121913533818014530731968944644564085112462808857754717398635385374425199662905811810176454862940242937634767523457666544331458401006790175897769730169243321305887187419502055361581764102146143356009775118991032453751152891945543017828759203129578377527334328222477897786651722265048604593297268051031007375544696826861119100233250540955811425528823101385449724372883135136725691981363763898463362683291895163558845369057339447730490936525126342417129137436891032781482019799920967294966751209716643352077960236610311931115902665347413062132492583943645812974366394699736311241436585804522712417937422286399296154972885569592629226691482939032142845961908318700446270680055261737512280184163749292605016491821903361957375607699513919122614975108767218377729121266285691887272848398091366410905541863129147689492120992653427073565655368874191533052021865281718805157358072893911065377080262489447065446559913227295517848043730021333654683843732396278563054701763419279650095149913302392341703576022170619310298305340812783318833416700720821038518338955396642995085991120552794398033742965299735510963337487067420062712178856828728134518627198068795882610436998224692960024647930599046536671658921606519934809593753030041641290941371702814196810695338220450935572831570322011253569658381239701882449451056054282305927013302397157128434317924584822889205842361662686529418538950466315521061454127393422786565611922848957206108422706372114304745161996744279810656173438343137227175466137722173379717502634757374920048524910228980264675433618559589113369355929345491187085895302146134212020617274042028180661717403485550865559660431870589870910174852838906107078460153640518156539130776655546543259832355584227276284332151484509768153073599984430134361115403432060715450919179116759414397043227213553696670161626372806687212484668259833939605434980059435974825403363182377128481227109634017621817756935851590256979185869879408403772300600351521070992333819754762302261760175832200033713687491642992227633495224295574593568268194507988247483538996174986201754463117031562790279680739869885211179811721110243696440604600196880428733163721210423132549717463857243292700133816139763429184764814678513512476364386747592030677381315436536285598169497083704809304591698112439862009736194502253670416323301720453566502660527642006717036878136484643000663751380641683832622594609455823890015582462143357934266842664348538593644788998074055528452243703622497409990092245322845160176403263947319447007233865148667276155672714397760996754179952564165247848873660577317625550228108644470324263670613200711977701812603732085891727194539852707234862111849329662776288443072073720391581676802196187210290341996271494915168761100115543357684344090931054919637130111405489794708533908112979029900207488586135678888633231740556439782390427761529310081569226513872788425879857401276048292125431641447866835026164529455419318085900658637960309733319934160207765366884443241281517493951791380704650751674412367653096307791567584991087040540196876135023383082542828260533230146715260728324244245344792826541035594523504728904352042225483159067075610055665119035185011682984189455155057255335062953508243340231826299592598200007030095345399092718264551511339157094873675767333773034914089671064868865642549321423435504507181080887251046239625416708839848088516610870626810875258821737743019702048854518647210282507072148547493881340644076055560327383832149403952331724125005132803442811841323545911775330594156076766516291057606569989 1316213644461931914700368100742125798140653523621395490363953990760113521241055020593653539267956361499220635070420100697965662617521912397681131403363425526393961278485047769817497202064334498301987974876398869715894126255831821976164715807911321204101388292027035551933455521635727005704853162544167618030722586864775816694358393903016086824954030454548997229513438771125315563102914790099217214752193844618011373585821120349061376180075229805104542836393708043439226902920742169389797630834630708967145308807246350850681852945824194201747271067407995793228192674628674627489699458040762713856005346639081060120754249307553634932487417976435467392307274456205904900780658469686830464659546514111712221539653216538987317697768890489519775358510020955835743000972156656844209132183768456345164464102660150248113879368608256972959504337142750583262271100611647383613431994913562418943742387375373913788824934837991283264508695976138319331530313737941780047706660641028525932657685829799974327096216824971477100026641110644518574664674998505131602780833331241895310086458182912421394184035679364317071527475297874696003702358483434661518346704704486727246652794653319906043656862045018884086977984108851215138065259799450827076333938406399430261558858107940016575776917714448203292393244888420959145754638909924545500083685475556508503409503356104684138840093374743330856486567019295833465527098037351860975293314197525555967517989121065368811856853400875861457653948055562682667373259610177860301286372654594828542879780697721117514320724840689662516566480999608991907705228019794483542252518124857199020374771003151159998374541038727857687789360525679137686103689692883513224264578745155573516115098807625395151419860423986255525151407244434282141274012504302636331523195732175167765180773942372703870682028886935851641863205565980622896156737423904318973870363874816823163915398065015640281398001430023985854425644742551325530827205767762880001567594991915332668548253144595863104777925250416252731127020313261320557641856961350724995916737365270879046041529369803140855874632352612818269839936266973209961256792637327973784130348883988929460346290558549939096718225443399426595252181841478832337307975692927610357540669799956499005217055405266579717126898751864432762757536459878192679705610100090767132380367178737402106430214366386560463568385076598286701395761716017288330112832561590365257533312231090667152742621512060233759750703271634422315103599477076133735820212648714455976053370821152127706098703024763202610300442912314984103562241043645290750038332658600511046032540127272565613297902520170702658679874662192909838628928026358808356287969988639701708260492105225673648480954957607123073798811218527313644572914250215268747403154376983398758733562421486446697068406706995996003973930005832022135601916684075800319186504432276526909756260381267270701131367867206673777477871814625441720125960269480400434099853749746117843334509488300449422024186330842612923762569545653312019763807445966589312400773388605489744549355261837074818339738243146935159060698099497968327069867064365208568043599262757859452575453465210682019331705379119809619727353200459312495538561298815051700839235671200991242911564827597949552817992753655211934178406053258481557829389124629168872195837925073232583851842810256431951223748382181253754806860656292477788291682675995898316748013622983119982030173884958953597756991068095367238161784846775113139652046228667623443010775316189380193120132950843211903996381766629072803038917597423713516242802479877451498348572241868839339927718213017362461800206667683440418171306645159134586005556244972674008395800031829154447380875031679289215954614250490821412481610663656822098919664163863529703745111996428836942521397112855480679787004519322153242913198529745642154570206017062534628317491778898935596047870914570799170353333629778855679766479160967704630841449721657335648359261969041848215165735006539661261642288229949894984431754340649428178253275703942572391827838362382253773907706079032812981735784429966777140270120454029463816529994802779202569856397775324604940557249234422039479086507434298007 2129678413195775641245698880941675230644225120875142730724167611020078999294872917169984923392644129167359827883365319114119414825542580754402664043015832319505953544656255092115481812484536028022663368443511340179611762290132105069298149296763572602484440805769149291100285716363384532478907358928070792921750677003996332990582897593613836508278320183381473593753127810508796472880882338896458391264662523806908861093180474448300520154701764142059252945659353611345695351777836357150912941705682788350137902901048888338276481398079354912264835091717123460308301120932361823844885041287303716092378536201344761475372484785524742012740539889969285406838006425150549464865770932495688219376945149497086646739316122350797494152631830732457410126033478622380074459373163447020106901913937699666470351290079652303475461132710403116315514112261741615716022253503592926631260754116691997321269721703596391686611586560256331869101993244189350338905858434768641166806893891569481744083214652901359776820589708106613825718622474408417038027358290400295161626202388581343040577394708038763811313173116255349853009495097795663298669109693151304870424664941097039177768697318667319105789354628962529899952350503550951449306696385255349788751875828685829557713830993509609205003609197387235435239206796739659592025318965186283012363869639305801108425995178008046096215701074257249979101542128063051843256219303637552862566162595616922378423530984194516501348974393529288531219603424436874200425281475459579106443730727488739608256860960210564579767284753916958034414524729630325562389071752190762105307219888276478670469920916453552340078117060898476998087665866491921004937106393604334262782917700552216511201089928178189549453603389285991036114744731501702203986191361131364466041822930243963647791210940597396830706676817534898178534864487587142830966331176934360615161305246519637360726093403236091216970833000345997107995303123791027413276656823817162307494608294312489796982571069180685993983767612078939260545559263727636078703311088744147782482349288119836252149952076175255160619794349357098080496109705316347188432258775050147163847851518746304380394815468778919361393659061959015708621537770824323524393870995073744569561287073998527185878772808752130582686559183735022633667711312717098786784070253731285288919497955392948649690046721970787739852717228082796469548835316001718464473947965022425972984231410207426567139664739273787456420864898007229002316084145335967675425647628773891950878774184334504834579930134397220232118199848166574360541426913524699153810633258952032117024873947027327915559662696002902692393562153835902066262423250654382949856238183147689955744031101400659850235418074638685864078491958397198855752725971325512443843758977180279187466726142696869829618124170853239296674063821971785564786681498754313831662868819024118940433641696703806986729537364290378586782463512737881582135696463982654104516177051466571409837170015942456139061064467327255924426320926294995852386402055422413202416355850748847678816197926185613411984527241220990687512941803120465737059959309688053728220002526705178899582687330359349295487378093517570616481533153023477743387434959392369326389463779845461567175235440798661530519805357387297825905600593111188792691500973958831648484280997146952975433519612452619161514090378452748669975621756408021145976026766926953236385143734388609776738707793071932627657198556681502917050418078515669579434436656429152753092344542703252981546012808244487952288507198270520669873943761953168935560888380536089458658305561802999547693085097460603743317700619474821122822058319571502239101864036540258999482840572026030582404258114222117476487844397206082140805854909001614925460699758387034432649464038654320101588472722911145798822189531005137432368353587000977217523714260402766454617084377098942626143216313663517434904844968935950553442246494740739544931120786526201290908583392477352722346815893790707501267704938789743072948365211276239053512097441685592093876692881029464056414778227580306863076428506022337467653952603433416148254119807912006012668239098870516715887843390498805995377565040867996 3445892057657707555946066981683801028784878644496538221088121601780192520535927937763638462660600490666580462953785419812085077443064493152083795446379257845899914823141302861932979014548870526324651343319910209895505888545963927045462865104674893806585829097796184843033741237999111538183760521472238410952473263868772149684941291496629923333232350637930470823266566581634112035983797128995675606016856368424920234679001594797361896334776993947163795782053061654784922254698578526540710572540313497317283211708295239188958334343903549114012106159125119253536493795561036451334584499328066429948383882840425821596126734093078376945227957866404752799145280881356454365646429402182518684036491663608798868278969338889784811850400721221977185484543499578215817460345320103864316034097706156011634815392739802551589340501318660089275018449404492198978293354115240310244692749030254416265012109078970305475436521398247615133610689220327669670436172172710421214513554532598007676740900482701334103916806533078090925745263585052935612692033288905426764407035719823238350663852890951185205497208795619666924536970395670359302371468176585966388771369645583766424421491971987225149446216673981413986930334612402166587371956184706176865085814235085259819272689101449625780780526911835438727632451685160618737779957875110828512447555114862309611835498534112730235055794449000580835588109147358885308783317340989413837859476793142478345941520105259885313205827794405149988873551479999556867798541085637439407730103382083568151136641657931682094088009594606620550981005729239317470094299771985245647559738013133677690844691919604712338452658099626334685877026392171058691040796086487847487047496445707790027316188735803584700873463813272246561266151975935984345260203865434000797565018662419131412971984882970100701388705704470749820398070053567765727123068600838679589031669121336460524641491468251731498368834430369982962420947866342352944103862591580042309062203286227822465530824213776549098761692862495191991672579576988956636345168050094872778399086653390715298191481445978396016494426701969916350336045972289557149689051412378120947978200402735233840741106027328858458111884505358442303873719612303155861701846688001354927101956873955026191095828214018710299813457935599455396425247772595291466489680353822052421299865134130350756120261088357348203421102304681083170944597032019006794586780526612791230517543641298093719882286251334021216171568169641651317419683622412101411245860277488347926932145005486632540678633159160422842418642760481558464103667957169989903848965917552543163057414074299893528857565216173605351073436816028811904891351277013191306144208171787391664004523206626333498716373032245808937877303176924512500325640221540781191246913354163677946200288564183316526686530877849235300647993827803807700388598182830114150849373251300645850189902077971077687860905231497052364260335327363323302261656733463054538616030801212689253171679504242905561085250798169868848188890471948307872150209501389002514817129239354337423365553188022688230324265484367925846573639902618434064129826374053262296263601789463038352158140795570031314819083472637380236208886353482790238925996258207421027228699451046452810086800268396611083337798111042509760084006646369670350520890098588000520680118922220185559285362422709051112737838760634002424782482412700498934267709442922851553133157357371729758768881678030886225414189624776870155212202925290782719086482885096776196103119858892633174666145759087699856284888964899593472912861359376882451803690860413540957006877803671838887620803310477966205117907287158261540993364964730636825107420281512933007878640603855185029785133145901406692442458647696903553287465572658437024380363922250564136394576035083157044109869835766626478609194050327290675281552116746619372093920277465301082934576155997878222191087228234316605258178598714806233208725655708444175772570508183536939267845361519200937512550900330368762909993168739638057380119551925667231765373145628164485704531243411717830322484306613119844812212935989114607924073057462879964784114610691208582524636874195121656445092624920845474464072475166003 5575570470853483197191765862625476259429103765371680951812289212800271519830800854933623386053244619833940290837150738926204492268607073906486459489395090165405868367797557954048460827033406554347314711763421550075117650836096032114761014401438466409070269903565334134134026954362496070662667880400309203874223940872768482675524189090243759841510670821311944417019694392142908508864679467892133997281518892231829095772182069245662416489478758089223048727712415266130617606476414883691623514245996285667421114609344127527234815741982904026276941250842242713844794916493398275179469540615370146040762419041770583071499218878603118957968497756374038205983287306507003830512200334678206903413436813105885515018285461240582306003032551954434595610576978200595891919718483550884422936011643855678105166682819454855064801634029063205590532561666233814694315607618833236875953503146946413586281830782566697162048107958503947002712682464517020009342030607479062381320448424167489420824115135602693880737396241184704751463886059461352650719391579305721926033238108404581391241247598989949016810381911875016777546465493466022601040577869737271259196034586680805602190189290654544255235571302943943886882685115953118036678652569961526653837690063771089376986520094959234985784136109222674162871658481900278329805276840297111524811424754168110720261493712120776331271495523257830814689651275421937152039536644626966700425639388759400724365051089454401814554802187934438520093154904436431068223822561097018514173834109572307759393502618142246673855294348523578585395530458869643032483371524176007752866957901410156361314612836058264678530775160524811683964692258662979695977902480092181749830414146260006538517278663981774250327067202558237597380896707437686549246395226565365263606841592663095060763195823567497532095382522005647998932934541154908558089399777773040204192974367856097885367584871487822715339667430715980070416250990133380357380519415397204616556811580540312262513395282957235092745460474574131252218138840716592715048479138839020560881435941510551550341433522153651177114221051327014430832155677605904338121310187428268111826051921481538221135921496107777819505543567317458012495257383127479386095717683075099496663243947953553376974601022770840882500017119334478030092959085312390253273750607553337710219363089523299405810307810328135943273819532763879640493432348020725259060728491635217203501775051505520287021950990607808672592433067648880319735767767748069086671507906262239877810919189821137375258563293557643074536842608648132824645094870694689057659599176504575280082288021327221444417227912176508043466998969864713971153774527667574256000446354935081619748554308026993348951791106884494801955795135321711356078366192866293635090672331343957133667014706880186356304655048702474597322057649775593265175279681584427982512242070324764790623543774674884674590442595787430951042798840101204884397353197445708643132207852679260663008849520185361700146315265497124772615211398243303724536611556811415717233485090103185102181751114208301642308792725588916534086581705738899801189785683741316024483604316168217251740828125929380610306461566154950852690419506506267982313431217599790353618163230891914377262035709195272613857603468429807585989607239480859143212391072546832169164399919367138534718882035161670274251929139086751094758104169108520080243736209849804789518301091760339535507589471102818853071388181458373072262621003806452298520919541525928949195464401595886156212158567332187808573396163170114142786805121330051387364579240949630415665183365474838435313888407938569948435607906633082663815423284302139064209284318053192007361481175881215612189391260123524168930303044902985694093320481660051949841063680637598569044040073737477145698342558677772277431383581332428107649905703747596589617634537868067537551660533096820848334303541897834040163023567650756786650972150449183720703691294709738230176428753996553659859366794121076264177698107529381130328484763201906285277470587313756579581224124441181886737262534193426707888641442011452075578025660896296113038234418603214595192875973065638372332936015419651469841637516033999 9021462528511190753137832844309277288213982409868219172900410814580464040366728792697261848713845110500520753790936158738289569711671567058570254935774348011305783190938860815981439841582277080671966055083331759970623539382059959160223879506113360215656099001361518977167768192361607608846428401872547614826697204741540632360465480586873683174743021459242415240286260973777020544848476596887809603298375260656749330451183664043024312824255752036386844509765476920915539861174993410232334086786309782984704326317639366716193150085886453140289047409967361967381288712054434726514054039943436575989146301882196404667625952971681495903196455622778791005128568187863458196158629736860725587449928476714684383297254800130367117853433273176411781095120477778811709380063803654748738970109350011689739982075559257406654142135347723294865551011070726013672608961734073547120646252177200829851293939861537002637484629356751562136323371684844689679778202780189483595834002956765497097565015618304027984654202774262795677209149644514288263411424868211148690440273828227819741905100489941134222307590707494683702083435889136381903412046046323237647967404232264572026611681262641769404681787976925357873813019728355284624050608754667703518923504298856349196259209196408860766564663021058112890504110167060897067585234715407940037258979869030420332096992246233506566327289972258411650277760422780822460822853985616380538285116181901879070306571194714287127760629982339588508966706384435987936022363646734457921903937491655875910530144276073928767943303943130199136376536188108960502577671296161253400426695914543834052159304755662977016983433260151146369841718650834038387018698566580029236877910591967796565833467399785358951200531015830484158647048683373670894506599091999366061171860255082226473735180706537598233484088226476397819331004594722674285212468378611719793224643489192558410009076339739554213708501861085963032837198856475733301484382006977246925619014866768134728044219496733784191507153337069323243890718417705549351393647188933893339280522594901266848532914968132047193608647753296930781168201649895461487810361599806389059804252324216772061877027523436636277617428072675900316368976995430635247797564371076454423765200821908579568070429236789551182313475054933933426518206857907681719763430961375390131519228223653650161930568898685484146694921837444962811438029380039732053647509018248008434019318692803614006904237241941829888764001237290531637155451390160170497917368183750587804743064195307769915937196452718065916955485369129691288748762827864678961508565094057118443139702095627114973274793128350113394540435785893525876045125804680765562144654526722473283753077514653326847668164139130303739833098312246223856404006414407074826337585685507635079867303271063502882991185926551709897970051477579400965563877864414542133361615321625410640813445852645962362451347827284483315303134167464528186659009930908763181748238653891949916180529024428267261231566063666993620804101870191611596686821058200418232050614329457522525547304302230989872633058209956842380660221608357333865319612057794578320747206105631255603898968921499411925125545038792331088899305859989058221239427475807211380846862681938367187348835977591883697195401579472317346073613885850529493733281171134832689844518841587324094004244457870721386989767899720753519540586581809019014511445652772656342651458449132069294276471149133705078485577806235243227474823929097235017607402426622705145298584260488519330878304326419887664858285128069707615699666480706933839168270101363171372672061169146677322934691718416536153553515193791344204808788249032775889316704599566125015240121779736400641974524406024930861372761692599889247380786054318488974221427602888162705438616108820634189808212394444398756040577631659718782931457820494215961711554815333368620486236689094699070525390770132150645421202166365563019859697806157627896476261802893275169444274115515754597371917694451445027087691276269019187708604315127573517042843732941921065285755367852899717059746840806546552700854378000566683502098718359176077822349029294423177717512847260760028778028640340496944305709991200002 14597032999364673950329598706934753547643086175239900124712700027380735560197529647630885234767089730334461044628086897664494061980278640965056714425169438176711651558736418770029900668615683635019280766846753310045741190218155991274984893907551826624726368904926853111301795146724103679509096282272856818700921145614309115035989669677117443016253692280554359657305955365919929053713156064779943600579894152888578426223365733288686729313734510125609893237477892187046157467651408293923957601032306068652125440926983494243427965827869357166565988660809604681226083628547833001693523580558806722029908720923966987739125171850284614861164953379152829211111855494370462026670830071538932490863365289820569898315540261370949423856465825130846376705697455979407601299782287205633161906120993867367845148758378712261718943769376786500456083572736959828366924569352906783996599755324147243437575770644103699799532737315255509139036054149361709689120233387668545977154451380932986518389130753906721865391599015447500428673035703975640914130816447516870616473511936632401133146348088931083239117972619369700479629901382602404504452623916060508907163438818945377628801870553296313659917359279869301760695704844308402660729261324629230172761194362627438573245729291368095752348799130280787053375768648961175397390511555705051562070404623198531052358485958354282897598785495516242464967411698202759612862390630243347238710755570661279794671622284168688942315432170274027029059861288872419004246186207831476436077771601228183669923646894216175441798598291653777721772066646978603535061042820337261153293653815953990413473917591721241695514208420675958053806410909497018082996601046672210986708324738227803104350746063767133201527598218388721756027945390811357443752994318564731324778701847745321534498376530105095765579470748482045818263939135877582843301868156384759997417617857048656295376661211227376929048169291801943103253449846609113658864901422374451542175826447308446990557614779691019284252613811643454496108857258422142066442126327772913900161958536411818398874348490285698370722868804623945212000357327501365825931671787234657171630304245698310283012949019544414097122971639993358328864234378558114633893282054151553920428444769862132945045030259560392064813492174268411456611165943220071973037181568928727841738591313176949567740876709013620089968741370208842451931461728060457312708237509883225637521093744309134293926188232549638561356434304939411956891219157908239584588876090012827682553983385128907291195759746275708991492327977777824113393857698559368019168164270561693723221990116954336417692021040526621438007434755758239847198900332348339818145100881657554903501631822680320196619955246014798541788893447567935212482372607273368461428258016851592213534317977943689239295840975254184495292109127354994230739157545998970115873857391950175431436989627320847037041790423071914266345933007565733071056363128354471824880446506571210579189378544613628961377881329164118393419313268434915321223432615011833949284099419560707627729055416439291514941850935545758914746803314096233666509397741535894345230810421799472855639797047428792535432006604947281941589725366495326203552858693407001734465025912830281564610871686787156311053005047902124932063221125331388636945672243681664859008918760954462628723126493032391661241697038807504614298690750917539094755181862622461132169759540892408829784060620236523931556965987693616299737444932903687316128321968148634094494048662084405487090462893752075473431681291239821758486471602036985226532849342312801788337244534621515758248580126355106101989123100424426868624211533334914953525988917619317022601602955617616254163915666148455030303064737502874941474106535978540924062491283525761274482656182558111335506554953122171033471961212992146890581363524241812551329189353201436158037897222191519918859694312029984685584225734016319806510669956606811617179953097603013399620702869512308257231284488572521291265389383798400318037089078329479802320314320255677644866979492294081603797009374999973260589495820012018759080124379255472190860583447897637772910388820326398401110964655760148414147347507234001 23618495527875864703467431551244030835857068585108119297613110841961199600564258440328147083480934840834981798419023056402783631691950208023626969360943786188017434749675279586011340510197960715691246821930085070016364729600215950435208773413665186840382467906288372088469563339085711288355524684145404433527618350355849747396455150263991126190996713739796774897592216339696949598561632661667753203878269413545327756674549397331711042137990262161996737747243369107961697328826401704156291687818615851636829767244622860959621115913755810306855036070776966648607372340602267728207577620502243298019055022806163392406751124821966110764361409001931620216240423682233920222829459808399658078313293766535254281612795061501316541709899098307258157800817933758219310679846090860381900876230343879057585130833937969668373085904724509795321634583807685842039533531086980331117246007501348073288869710505640702437017366672007071275359425834206399368898436167858029572988454337698483615954146372210749850045801789710296105882185348489929177542241315728019306913785764860220875051448578872217461425563326864384181713337271738786407864669962383746555130843051209949655413551815938083064599147256794659634508724572663687284779870079296933691684698661483787769504938487776956518913462151338899943879878816022072464975746271112991599329384492228951384455478204587789463926075467774654115245172120983582073685244615859727776995871752563158864978193478882976070076062152613615538026567673308406940268549854565934357981709092884059580453791170290104209741902234783976858148602835087564037638714116498514553720349730497824465633222347384218712497641680827104423648129560331056470015299613252240223586235330195599670184213463552492152728129234219205914674994074185028338259593410564097385950562102827548008233557236642693999063558974958443637594943730600257128514336534996479790642261346241214705385737550966931142756671152887906136090648703084846960349283429351698467794841314076581718601834276424803475759767148712777739999575676127691417835773516706807239442481131313085247407263458417745564331516557920875993168558977396827313742033387041046231434556569915082344889976542981050374740399712669258645233211373988749881690846425228008344193645591770712513115459496349943247126967229202344883129372801127753692800612530304117973257819536830599729671445607699104236663663207653805263369491108100189366355746528131234071540412437112748300830425474491468450120435542229943594046670548068410082506244273763415487297047580436677207132956198993774908447813346907515402142620526424046980676729364618812166361692212581451390966814168876734832547870541651765723244026137029105380289755408380028187254709337333647044288119385145102281621991759814159068886379021680443287765843702359227293401621249007192122287026901805894393262160604934395196303035410413512249235472713575586072250435479966809399493138250356397581649067175030261257715373059263235006628685160463160495369907569041896222609447392831112014223415138626526917910253673212252181334713749018230153276359718670281387574909145502601295407024922453567531829009799330472665978016527430728459538765968928204460557551643739613030489031226484384424792286169214213115311888594768648751959707664379040008248406627374442278136835011181918130678953414816497548853437602541786722727370950903113048231464938528258133839277332726558109266627515395117474821217990024478124060531769370229010042543793928859527212268862000922333735724394771339239792632922572924817968767220171963138289966419309529374186138082743919065701119443675973161009305703768193081183271844771642255542638294215771073432999782367690842842693517185442037841724735354016896138440072173385891675826430102764188854892590297029898283918886413923979921272291378745525314767347566569789512538844651865673512821344736028513040744168534804778524133911286218989385085082162135331005427900381882826370367762764439513656214900496288569064976985028062854603202183023966318353080660067419505745693393457053319363158053197598710152734860146981320856756215806519813290350198012585442582223097614648268682932477192060950627901667587158429888993296100645358453057498434003 38215528527240538653797030258178784383500154760348019422325810869341935160761788087959032318248024571169442843047109954067277693672228848988683683786113224364729086308411698356041241178813644350710527588776838380062105919818371941710193667321217013465108836811215225199771358485809814967864620966418261252228539495970158862432444819941108569207250406020351134554898171705616878652274788726447696804458163566433906182897915130620397771451724772287606630984721261295007854796477809998080249288850921920288955208171606355203049081741625167473421024731586571329833455969150100729901101201061050020048963743730130380145876296672250725625526362381084449427352279176604382249500289879938590569176659056355824179928335322872265965566364923438104534506515389737626911979628378066015062782351337746425430279592316681930092029674101296295777718156544645670406458100439887115113845762825495316726445481149744402236550103987262580414395479983568109058018669555526575550142905718631470134343277126117471715437400805157796534555221052465570091673057763244889923387297701492622008197796667803300700543535946234084661343238654341190912317293878444255462294281870155327284215422369234396724516506536663961395204429416972089945509131403926163864445893024111226342750667779145052271262261281619686997255647464983247862366257826818043161399789115427482436813964162942072361524860963290896580212583819186341686547635246103075015706627323224438659649815763051665012391494322887642567086428962180825944514736062397410794059480694112243250377438064506279651540500526437754579920669482066167572699756936835775707014003546451814879107139939105460408011850101503062477454540469828074553011900659924451210294560068423402774534959527319625354255727452607927670702939464996385782012587729128828710729263950572869542731933766747789764643029723440489455858882866477839971816204691381239788059879203289871000762398762194308071804840444689849239344098549693960619214184851726150009970667761385028709159449056115822760012380960356232236108432934549833484277899844479721139604439667724903646281611948703443935054385362544821205168916304898193139673705174275703403064860815613392627902925562525464471863371352662616974097445752546864515584128479379562264622090361632845458160489755910335311940459403470756339740538744347825665837794099232845814996410850007549297412322316712724326632404577862647715300952836160646679063984038014459709061506181421882594756613707041107011476869847169355550937889705976649667095120363776243169851030965565584498328715945269483899940141324685339515536478224983414999844893635180505889583682329535787808658835209403356270555305297410005570442926469377445198434856290037583090756341160013967240908074631159900823410885207382094281368751628953811749194101719210819506935939226950881361582867877060078888554269732289389427042192956412482365109330105525761503687425107287656436534928673428311847995000182595994328771736187617706831509131667034371074559286113655525183987328721995230407642728407061442239133686288224086130618813168578937781005415135109572902516760081048360210153828236549801198338407540866367011208826949230201315178563016356996995989558248686894972078756592979710628345144862621214849776914507598930316570579351166196319301411675276567210200056136513306767624625658498162407862356363496249351450497443935504709473161977335762748137968083644097204021809378017578606990977530916886953844592389606752941599509781622475826949713794904609649864046362919973334286681584657330305059230113924038611721647710549351132672609684780904292233968785988774949346550238389708839431851971126748357531761394640197942057211315702605796368682434804759060443327690971633150302355738321840921978891167605639130328999126275570822346410169939685254403928473936856860821322300688740822984500057644012564094184868977841064369933521736240936562031133477738908244779394192120016589653634398202632881037719371251130836167998099301968685679854540371111834486671596487609618470043865819823782782471786533121683472373453276355019714352441062924653765590806493073879846018024604201662347476870120459543515925089698723538290487913556830999957951860793772600405005668004 61834024055116403357264461809422815219357223345456138719938921711303134761326046528287179401728959412004424641466133010470061325364179057012310653147057010552746521058086977942052581689011605066401774410706923450078470649418587892145402440734882200305491304717503597288240921824895526256220145650563665685756157846326008609828899970205099695398247119760147909452490388045313828250836421388115450008336432979979233939572464527952108813589715034449603368731964630402969552125304211702236540976669537771925784975416229216162670197655380977780276060802363537978440828309752368458108678821563293318068018766536293772552627421494216836389887771383016069643592702858838302472329749688338248647489952822891078461541130384373582507276264021745362692307333323495846222659474468926396963658581681625483015410426254651598465115578825806091099352740352331512445991631526867446231091770326843390015315191655385104673567470659269651689754905817774508426917105723384605123131360056329953750297423498328221565483202594868092640437406400955499269215299078972909230301083466352842883249245246675518161969099273098468843056575926079977320181963840828002017425124921365276939628974185172479789115653793458621029713153989635777230289001483223097556130591685595014112255606266922008790175723432958586941135526281005320327342004097931034760729173607656433821269442367529861825450936431065550695457755940169923760232879861962802792702499075787597524628009241934641082467556475501258105112996635489232884783285916963345152041189786996302830831229234796383861282402761221731438069272317153731610338471053334290260734353276949639344740362286489679120509491782330166901102670030159131023027200273176691433880795398619002444719172990872117506983856686827133585377933539181414120272181139692926096679826053400417550965491003390483763706588698398933093453826597078097100330541226377719578702140549531085706148136313161239214561511597577755375434747252778807579563468281077848477765509075461610427761283332540626235772148109069009976108008610677524902113673361186528379046920799037988893688875407121189499385901920465697198337475282295020453415738561316749634499417385528474972792902105506514846603771065331875619330657126535614397274974904607570608815735953403557971275949252260278559067426632673101222869911545475579358638406629536963788254230386838149027083767924411828563296067785516452978670443944260836045419730566145693780601918618534630895587039181532575461597305389399299144984560254045059749601364637539658657148078546002261705461672144263258808387954671592854917679098751407461980521622999799318055945374542117239199625649378280091103103175839061771293686952606406550578724611698417611278011050497347614285196194016305003105032876967196253350255130650634255036959945421570046800337560475958073483869894778865973281816430337223784623345228366825994614344802819101347575937860587254465836028066923784709429644067357626255586487109246880941838137816827497531569929193682697421406596776114826342421866143545687969157043939961436338311953526917597167934281774853779854290091669226550961505560853159003368730167417340196839677186843476660929774717328985285201456547109892426508002567787819464095053137431031835427965088803102367579068530287015545236327549818302651009488336891147695224898303579073314659956715793966038036074177868394838617757704626915864020881977245416370655313288436893412696081812195520941365077905124158976981951642053575551335354161982656905531983599770757691312574079314507230255123027997334096001750011614129858880506858747767524823357935088229664748110355855942157901920615123815898390613074399688855969015490211098070296639211375951990201098285052426325650046440795810495226813654717597708403319183891716572600720630329056353609234325200765315602386136089648255310612497038902295878237607006213713869577410677690271045715086165044763957897629864476354255347595081534780085459251405482135690644492382898595590537750656839568433966437688854620453927971550703933239329528475865243586441046630426650875065172449212588044245510521806613012887170196216037189644244570574484768728226448402281759674166192155500715260888951247961439131053462504102007 100049552582356942011061492067601599602857378105804158142264732580645069922087834616246211719976983983173867484513242964537339019036407906000994336933170234917475607366498676298093822867825249417112301999483761830140576569236959833855596108056099213770600141528718822488012280310705341224084766616981926937984697342296167472261344790146208264605497525780499044007388559750930706903111210114563146812794596546413140122470379658572506585041439806737209999716685891697977406921782021700316790265520459692214740183587835571365719279397006145253697085533950109308274284278902469188009780022624343338116982510266424152698503718166467562015414133764100519070944982035442684721830039568276839216666611879246902641469465707245848472842628945183467226813848713233473134639102846992412026440933019371908445690018571333528557145252927102386877070896896977182852449731966754561344937533152338706741760672805129506910117574646532232104150385801342617484935775278911180673274265774961423884640700624445693280920603400025889174992627453421069360888356842217799153688381167845464891447041914478818862512635219332553504399814580421168232499257719272257479719406791520604223844396554406876513632160330122582424917583406607867175798132887149261420576484709706240455006274046067061061437984714578273938391173745988568189708261924749077922128962723083916258083406530471934186975797394356447275670339759356265446780515108065877808409126399012036184277825004986306094859050798388900672199425597670058829298021979360755946100670481108546081208667299302663512822903287659486017989941799219899183038227990170065967748356823401454223847502225595139528521341883833229378557210499987205576039100933101142644175355467042405219254132518191742861239584139435061256080873004177799902284768868821754807409090003973287093697424770138273528349618421839422549312709463555937072146745917758959366762019752820956706910535075355547286366352042267604614778845802472768198777653132803998487736176836846639136920732388656448995784529069425242212216441545227358386391573205666249518651360466762892539970487355824633434440287283010518403506391587193213593089443735592453037564278201141867600695827668031979318467142417994492593428102879082478912859103383987132873437826315036403429436439008170613871007886036143857562610450289823405024476200728769809603250641236845698324496090241124552889928472363379100693971396780421482724483714604160153489663424799956513490343652888573682473074175236568654695922449960021709416696485001315901826999109511567846203790388089532742708328095996278194433215576976390876980366516634979823945529056871653027008284484587683447373658481136471776864129879075783995777159467988455194368767391657361581526104268647464903928443762174578347631623882279588066786154047140780866307273499702908954845452762655926052170370700069513174050387421323238476979454132924627109079625285694542122272562995597213021277639067540222249915258845434498648669646948494531902644488479796352946590584104836821572829508871952749411396177626249660424442572340086176105715287189988889427192608429307599321715714681395553169928505824881063206688395670425891131089895892001642198452536668141113402974646544412443805681482575894456642814865717609966509385100866366711432646851229977927576698536947284208531665928204731812822364578150329534285425628365838774122467177788893199783630115213500014752517310246271430274688803173051858252031749716548583734893241563357173811181111696451810141633463817120611285908365996091887585428087227448020040361733261840408231639531357452305727650169057015653523059702406180547610760046975787025138970606161083496166957547422413772902435580058386794960158728380117297283196743151548817067735633608765314042449512890842848171542976739226293294488729129239252459246957411948944051435481538959939890801701191082691710641780611212007286651648196178241696805874643870546375364184735169178288092132443201506941775328550896694892506436336694108805078272175526216941537590020747799059153311258337030119562730102800104151420192163565029107170164287397419505961050042234061793845906918051354889187769964327371458397704482643414272091888909199822232903653867509770011 161883576637473345368325953877024414822214601451260296862203654291948204683413881144533391121705943395178292125979375975007400344400586963013304990080227245470222128424585654240146404556836854483514076410190685280219047218655547726000998548790981414076091446246222419776253202135600867480304912267545592623740855188622176082090244760351307960003744645540646953459878947796244535153947631502678596821131029526392374062042844186524615398631154841186813368448650522100946959047086233402553331242189997464140525159004064787528389477052387123033973146336313647286715112588654837646118458844187636656185001276802717925251131139660684398405301905147116588714537684894280987194159789256615087864156564702137981103010596091619430980118892966928829919121182036729319357298577315918808990099514700997391461100444825985127022260831752908477976423637249308695298441363493622007576029303479182096757075864460514611583685045305801883793905291619117125911852881002295785796405625831291377634938124122773914846403805994893981815430033854376568630103655921190708383989464634198307774696287161154337024481734492431022347456390506501145552681221560100259497144531712885881163473370739579356302747814123581203454630737396243644406087134370372358976707076395301254567261880312989069851613708147536860879526700026993888517050266022680112682858136330740350079352848898001796012426733825421997971128095699526189207013394970028680601111625474799633708905834246920947177326607273890158777312422233159291714081307896324101098141860268104848912039896534099047374105306048881217456059214116373630793376699043504356228482710100351093568587864512084818649030833666163396279659880530146336599066301206277834078056150865661407663973305509063860368223440826262194841458806543359214022556950008514680904088916057373704644662915773528757292056207120238355642766536060634034172477287144136678945464160302352042413058671388516786500927863639845359990213593055251575778341121413881846965501685912308249564682015721197075231556677178494252188324450155904883288505246566852777897698281265800881433659362762945822933826189203476215601843866869488234046505182296909202672063695586670342573488729773538494165070913483326368212758760005618093310134078288594703482253562268439961400712388260430892430075312668816958785480361835298984383114607358306773391504871623683847351579858165536381453224540148895553672641840724682318769903445170305847270265343418491144385930692070106257934671480625967953840907010214066769166297849638855560484147188057570107909252060233796001516716050667871049350894675727798338960888139634779142001474431413770266207910133965963538476761656975533548157816831682190546355884079686872805646778442154709195811300462663769907033476639141774600981879012930222321823113992562350913107611060178867028329322657434792025452187130406736958673732649690064471593798935743728456655563146281796588108591062520997730707283134897848505501745954681379590507784765322029434214417673479050367997180880951647915251375015498437380553221566211096762754525867003773273649568964842669281482700098534150283221275534554556538658673242221260046365582513902552060864613220986927399909083778033539910977214332231907900734620006926292070779954520712334088453631153382256668974401048280578586186873838431903756564231783805127482321293944295572321499806234233612740224882415809063804512092458916385407830598683164842970770615368572799617109654840707560716844883616932725146535273679108715673617063587878302598482445310599117840551115224782116042111744875970267112146390105219830551008104145245318271170058262122705512680662099602923529583680560772352135973037633511843199074791434338785161257013432543622933243183947359312294549288326363022445768696782559420772263607068282646903723054330004568061633093501597199362047978577862235769039308197296405580219191288902278332366734361223005654703504508346900630711779816703958373551383848683642632419820933795290483044186993533677239044709864380837395465561571451732298482839734202273706003776733226755026485364612777617151415674809204032518848220238450098983490151488625839657915996412729653218071870674798914987352777860447783672034707330013872018 261933129219830287379387445944626014425071979557064455004468386872593274605501715760779602841682927378352159610492618939544739363436994869014299327013397480387697735791084330538240227424662103900626378409674447110359623787892507559856594656847080627846691587774941242264265482446306208704389678884527519561725552530918343554351589550497516224609242171321145997467267507547175242057058841617241743633925626072805514184513223845097121983672594647924023368165336413798924365968868255102870121507710457156355265342591900358894108756449393268287670231870263756594989396867557306834128238866811979994301983787069142077949634857827151960420716038911217107785482666929723671915989828824891927080823176581384883744480061798865279452961521912112297145935030749962792491937680162911221016540447720369299906790463397318655579406084680010864853494534146285878150891095460376568920966836631520803498836537265644118493802619952334115898055677420459743396788656281206966469679891606252801519578824747219608127324409394919870990422661307797637990992012763408507537677845802043772666143329075633155886994369711763575851856205086922313785180479279372516976863938504406485387317767293986232816379974453703785879548320802851511581885267257521620397283561105007495022268154359056130913051692862115134817917873772982456706758527947429190604987099053824266337436255428473730199402531219778445246798435458882454653793910078094558409520751873811669893183659251907253272185658072279059449511847830829350543379329875684857044242530749213394993248563833401710886928209336540703474049155915593529976414927033674422196231066923752547792435366737679958177552175549996625658217091030133542175105402139378976722231506332703812883227438027255603229463024965697256097539679547537013924841718877336435711498006061346991738360340543667030820405825542077778192079245524189971244624033061895638312226180055172999119969206463872333787294215682112964604992438857724343977118774546685845453237862749154888701602748109853524227341206247919494400540891701132241674896819772519027416349641732563773973629850118770456368266476486486734005350258456681447639594626032501655709627973787812210174184557441570473483538055901320860806186862884700572222993181672581836355691388583476364830148827268601506301083198704960816348090812125122389407590808087076582994755512860529545676075948406660934343153012512274654366613237505103801494387159774466000759928768218447657876274344958679940407745655862536608536829460174088478582994334640171462311146297569137954113042448323328744225044146664149243784110252704189215941254656269758965947003488285423293216194618553646985850420138112005325021946710757974542133043547675328000015545833812070777337404731311234810961920401316352948613502895209810388609268039703131779414884559881775983174775420090718077622557830476250132724120071013302948573253068668355565735188431976338710381154058118210751984922202438070755417004800115878239177431713816561336858906153275403314587764985788469488080883887451186791949399192460757187197098207089949379364856154831558708675308527841749604936990215950109708587179067102323253053978184328443191954509112988569598361620446174653313951860876644351706416102582820748713594820238322300597838732019748968101621252278258506162885410785716112288230159988536940304685872094625106606925434600072386862692060204702263588142207672416400160347908929436273245459418541624657869141404557256144451738125180289898957716385375560525815250527404998913884390811306691005425979202452230136082473478137810675343785921462672136278658273202260971794229760668303253123440709075389948668554286721855848302930585055925616101510371492725580121415741812660920216439927098908129362284921935128336488218209673402268943806583807508940198211783459243820520880050913546143413483460116822175659841009388379097290860971900114285619018382557401247351509379152217447006075964551873136661643516291885149574195149484691985375550623330227786044122982039907054337003151592199531357636150992539303825566506836026859177905556776342646258585839096601452024809270280684160777336058406677194547103766377057024676469575157442329259444666769647605904938361197523642029 423816705857303632747713399821650429247286581008324751866672041164541479288915596905312993963388870773530451736471994914552139707837581832027604317093624725857919864215669984778386631981498958384140454819865132390578671006548055285857593205638062041922783034021163662040518684581907076184694591152073112185466407719540519636441834310848824184612986816861792950927146455343419777211006473119920340455056655599197888246556068031621737382303749489110836736613986935899871325015954488505423452749900454620495790501595965146422498233501780391321643378206577403881704509456212144480246697710999616650486985063871860003200765997487836358826017944058333696500020351824004659110149618081507014944979741283522864847490657890484710433080414879041127065056212786692111849236257478830030006639962421366691367890908223303782601666916432919342829918171395594573449332458953998576496996140110702900255912401726158730077487665258135999691960969039576869308641537283502752266085517437544179154516948869993522973728215389813852805852695162174206621095668684599215921667310436242080440839616236787492911476104204194598199312595593423459337861700839472776474008470217292366550791138033565589119127788577284989334179058199095155987972401627893979373990637500308749589530034672045200764665401009651995697444573799976345223808793970109303287845235384564616416789104326475526211829265045200443217926531158408643860807305048123239010632377348611303602089493498828200449512265346169218226824270063988642257460637772008958142384391017318243905288460367500758261033515385421920930108370031967160769791626077178778424713777024103641361023231249764776826583009216160021937876971560279878774171703345656810800287657198365220547200743536319463597686465791959450938998486090896227947398668885851116615586922118720696383023256317195788112462032662316133834845781584824005417101320206032317257690340357525041533027877852389120288222079321958324595206031912975919755459895960567692418739548661463138266284763831050599458897883426413746588865341857037124963402066339371805314047922998364655407289212881716279302092665689962949607194125326169681686099808329410858381691669374482552747673287215108967648608969384647229018945622890318665533127259961176539837944950851916326230861215529032398731158511373777775133571173960421373790705415445383356386260384484213393027655806572197315796377552661170208039255078229786120264290604944771848030194111636938802262205037028786198342417136488504562377736470388155247749292184279027022795293485626708062022294508557124745741760197332020293135004928431987554902142795904538107948477919699193559424104752519610524327181795087538873179763542440165088488927627362200805662324275966779973148705193975004717995397040458127549595381908140032710432382032265482692522495620060643011504098077525510103074744960882987091397852720703367420167052004412084022390751578258135298489745120639208482692205337335919260918750754797257829685216479138590771073323826754453682584945866740117403332258902949624172502620758671853949951624074093722653014425119674227990158008626375899888158265750504666247245852309323583299419560698230995252819122333975496998270704224208193224929075208876259607150722589747040784374774759034634686292363173131224770595653326539084749072284624148016044794391772342067787007166038920678928425240834305999602916942620511327392654300131332785568178507612601116216230033910197457486251059397963705168583008797222624104251659054669241488867590992877216482873256617290123266530317677012252124585223013780942455932311567891966829666377347506290065399818930425958636121371174992872198137967282628200438903622689437459300585162927064365282672755245204543149683111046267441656834210261491358933986906455961689716070190875791587101934837789248388582513144415143342775531438694684411428880317585675502871080163189016563951385116918624253006212883660564347636787744368577095035194900140568792206614970418487275858594810323761463283167691904287891732468713163651263656118990726741577531570283569253614204390921389120263410001513905805484543657490519134259760826209895303034205019762789786677894541445832241244246797444630095389576973068527537514047 685749835077133920127100845766276443672358560565389206871140428037134753894417312666092596805071798151882611346964613854096879071274576701041903644107022206245617600006754315316626859406161062284766833229539579500938294794440562845714187862485142669769474621796104904304784167028213284889084270036600631747191960250458863190793423861346340409222228988182938948394413962890595019268065314737162084088982281672003402431069291876718859365976344137034860104779323349698795690984822743608293574257610911776851055844187865505316606989951173659609313610076841160476693906323769451314374936577811596644788968850941002081150400855314988319246733982969550804285503018753728331026139446906398942025802917864907748591970719689349989886041936791153424210991243536654904341173937641741251023180410141735991274681371620622438181073001112930207683412705541880451600223554414375145417962976742223703754748938991802848571290285210470115590016646460036612705430193564709718735765409043796980674095773617213131101052624784733723796275356469971844612087681448007723459345156238285853106982945312420648798470473915958174051168800680345773123042180118845293450872408721698851938108905327551821935507763030988775213727379001946667569857668885415599771274198605316244611798189031101331677717093871767130515362447572958801930567321917538493892832334438388882754225359754949256411231796264978888464724966617291098514601215126217797420153129222422973495273152750735453721697923418448277676336117894817992800839967647693815186626921766531638898537024200902469147961724721962624404157525947560690746206553110853200620944843947856189153458597987444735004135184766156647596094062590413420949277105485035787522519163531069033430428181563575066827149490757656707036538165638433241872240387763187552327084928180067688121383596860862818932867858204393912026925027109013976661725353267927955569916520412698040652997084316261454075516295004071289200198470770700263732578670507253537871977411410618026967887511940904123686239089674333240989406233558169366638298886111890832730397564730928429380919063000486735670359142176449683612544383782851129325694434361912514091319643162294762921857844656679441132147025285968089825132485775019237756120441633758376193636339435392691061010042797633905032241710078738591481661986085543763198296223532459939381015897344742938703731754978858250139530565173444862405868315734889921758677764719237848790122879855386460138479381987466138750162792351041170914565930562243726332286518919198485106439783195846016135336956880453489966804343996169536919115181136176770843397452174297073895481407984616852640299371073257510177601933199544198201710253198139630621971175037528805677870109778850750486109925286239528957317441774480498208884803349843099041650071968614471937380179942418994678873497616228180697302791359237224121972791716670368740305073080439588125940010234474008870899178757419234677127539773990016335755554913136068862648192955152107932229980029856997172710852528586891413142790400810964452019951132611137148722281183672032379281274505786698833317154217649493095255966454775955833031376425906552473538882559438444773631446964066596632324670382846538880936085520611313566825172567789497969594997356935284131095192880192872216905604797590911957695409864128333024551760879008091693038133545785535350675434378386465609002825213590980796507803749185728526416542037389461689452451822115355392463955219849620321133977512523061968044430229767304118118397876130367264067923981128692509520129242388207058701151591617799718233030564103108324650549767261859629579598729211759562080250382820866692254004484048741834207745363075402095534419789945404088497057865463366123038145175571019119132196619695422205116129363958659876774683300527300146621248492209103393195328689486189014898811506587088721326974054600161941135089130849570403499476025500357722262812781794642863708920450231696838416432453941780810119903179261234145433653989249327290673944194946069471864755850795013755141719280881357136790405280473382296478165462909668587353002406936568466760799818420538162268301980228752123529166843702571011020989683573506242111399742995481911429725061156076 1109566540934437552874814245587926872919645141573713958737812469201676233183332909571405590768460668925413063083436608768649018779112158533069507961200646932103537464222424300095013491387660020668907288049404711891516965800988618131571781068123204711692257655817268566345302851610120361073778861188673743932658367969999382827235258172195164593835215805044731899321560418234014796479071787857082424544038937271201290677625359908340596748280093626145696841393310285598667016000777232113717027007511366397346846345783830651739105223452954050930956988283418564358398415779981595794621634288811213295275953914812862084351166852802824678072751927027884500785523370577732990136289064987905956970782659148430613439461377579834700319122351670194551276047456323347016190410195120571281029820372563102682642572279843926220782739917545849550513330876937475025049556013368373721914959116852926604010661340717961578648777950468606115281977615499613482014071730848212471001850926481341159828612722487206654074780840174547576602128051632146051233183350132606939381012466674527933547822561549208141709946578120152772250481396273769232460903880958318069924880878938991218488900043361117411054635551608273764547906437201041823557830070513309579145264836105624994201328223703146532442382494881419126212807021372935147154376115887647797180677569822953499171014464081424782623061061310179331682651497775699742375408520174341036430785506571034277097362646249563654171210188764617495903160387958806635058300605419702773329011312783849882803825484568403227408995240107384545334265895979527851515998179188031979045658620971959830514481829237209511830718193982316669533971034150693299723448808830692598322806820729434253977628925099894530424835956549616157975536651729329469819639056649038668942671850298788384504406853178058607045329890866710045861770808693837982078826673473960272827606860770223082186024962168650574363738374326029613795404502683676183488038566467821230290716960072081165234172275771954723145136973100746987578271575415206491601700952451262638044445487729293084788208275882203014972451807866412633219738509109020811011794242691323372473011312536777315669531131871788408780755994670615318844078108665337903289247701594934916031581290287309017291871258326666303763400221452516366615233160045965136989001638977843295767276281828956331731387561551055565935908117834615070445123393964676042022968369664009696820316991492325262400684419016252337092579928839545733292302400950398974081578703198225507901733268822554078157631465437578235708564541328189830054120109568164325745540248078835181843959327683810412064404123592868034504783728287083071381473795638304719110898802399729611340194385745630723634815119261244246952714482232608047804266711489875809474032104234097164459875800003062006182971575141738283772047752242224315519825512420037788907357077492523610516691588492609307360644299396627717369332877109909277254506309710393898547864672093742879005553806784310679757656719268704294745401693350435136954640709804465087100346355277394685393706394180014688991325780593549381253521716959442203078883685749489851893099580790433697592753780939563594903028894591039763810011294396870920717547762314830282344369756391569970423458366011417642812558931336675661029980034012144377818943533221075878700204172466464463775916268684386068525945445724918373450807935081971296704924154638505677919486362019572841643523353183554788904142774735147166219703484899008792985709390753346850137324541271251959039837806254640331643924165372560255650544598456069937991027897273551925029398529155170395683451425375693064830221287112249180737830434800534702680697346854310686761252303070006515806149191443012675953342458111054356192022585325648375946965559092114402081459037740597685906339743832828964546337506190998517601644559730103033021298278147413521788616394649753363935146473346142279651453289027326732033316573022733987425090321666537092740243977750712610458365848482837801940577919502058669874132446022458888707073974534087586687399554583173078588866908212421112124251318952680298988478197283262957143291956630380465552466821924817753039556029838385058884498252598670123 1795316376011571473001915091354203316592003702139103165608952897238810987077750222237498187573532467077295674430401222622745897850386735234111411605307669138349155064229178615411640350793821082953674121278944291392455260595429180977285968930608347381461732277613373470650087018638333645962863131225274375679850328220458246018028682033541505003057444793227670847715974381124609815747137102594244508633021218943204693108694651785059456114256437763180556946172633635297462706985599975722010601265122278174197902189971696157055712213404127710540270598360259724835092322103751047108996570866622809940064922765753864165501567708117812997319485909997435305071026389331461321162428511894304898996585577013338362031432097269184690205164288461347975487038699860001920531584132762312532053000782704838673917253651464548658963812918658779758196743582479355476649779567782748867332922093595150307765410279709764427220068235679076230871994261959650094719501924412922189737616335525138140502708496104419785175833464959281300398403408102117895845271031580614662840357622912813786654805506861628790508417052036110946301650196954115005583946061077163363375753287660690070427008948688669232990143314639262539761633816202988491127687739398725178916539034710941238813126412734247864120099588753186256728169468945893949084943437805186291073509904261342381925239823836374039034292857575158220147376464392990840890009735300558833850938635793457250592635799000299107892908112183065773579496505853624627859140573067396588515638234550381521702362508769305696556956964829347169738423421927088542262204732298885179666603464919816019667940427224654246834853378748473317130065096741106720672725914315728385845325984260503287408057106663469597251985447307272865012074817367762711691879444412226221269756778478856072625790450038921425978197749071103957888695835802851958740552026741888228397523381182921122839022046484912028439254669330100902995602973454376447220617236975074768162694371482699192202059787712858846831376062775080228567677808973375858239999838563153470774843052460221514169127338882689750642810950042862316832282892891871940337488677053235886564330955699072078591388976528467849912903019956583408669210594440357141045368143228693292225217629722701708352881301124300208795641931531254958096895146131508900187297862510303235148292179173699270435119316529913816075438683008059932850991709699565963781646134383247545610439871347711722539163801003718475842742721190586904206868331512642700413865222117423993008173052018400094292968422318031725675368885324359366973235290704341096588937700253132255739440735668427264704703494666125544682385661486627269583184048836444349732869977437258417018064495524481474120925044547483775910031924007088546013151514839718908515682176202711636397255979945481000861845072757966464469350543601461539641798304136708157647662150572963198642631598727083316231543478154046952046460416883899293590261864623529967410512865048894986937783786814167676930367571797291186158544483751246101406660660937076224249068636461066717772987668685801387824642934811198874348777683414218158911915062175396404366638463349872142366385227903630191535353564973886302690947379917482234284372934882619780313964753748505254554553558891610515029464536134266572987675443876272710843495294100083970393242306012249999126591703062772534134948270938509354247315738831157025231340696675895139608938813841688197035987308403404409225276752247670228187747915128776097103827788629477217401392465252380651549357935497028538702625316964178055368777629020173046315678447040813784658978127884382155245531675758513931522475291596297922572038180163610104776231766644256090849749360935469881929187336618583695072474654730749778397138714689607035823740242392641702228080286232806789299535072522315153561236317697585606322971533784703194962433367278263092192115870675253721657409286127936922515162209477558428871733005476675768235210224845798326885677631739961937749039792677783871412442675352853683629274165303340245843864379814560968983877720046082747176219910619357680591012118771100837150746499263491709266821123474083036563487811608391259281667429581380540795927977659826199 2904882916946009025876729336942130189511648843712817124346765366440487220261083131808903778341993136002708737513837831391394916629498893767180919566508316070452692528451602915506653842181481103622581409328349003283972226396417799108857749998731552093153989933430642036995389870248454007036641992413948119612508696190457628845263940205736669596892660598272402747037534799358624612226208890451326933177060156214405983786320011693400052862536531389326253787565943920896129722986377207835727628272633644571544748535755526808794817436857081761471227586643678289193490737883732642903618205155434023235340876680566726249852734560920637675392237837025319805856549759909194311298717576882210855967368236161768975470893474849019390524286640131542526763086156183348936721994327882883813082821155267941356559825931308474879746552836204629308710074459416830501699335581151122589247881210448076911776071620427726005868846186147682346153971877459263576733573655261134660739467262006479300331321218591626439250614305133828877000531459734263947078454381713221602221370089587341720202628068410836932218363630156263718552131593227884238044849942035481433300634166599681288915908992049786644044778866247536304309540253404030314685517809912034758061803870816566233014454636437394396562482083634605382940976490318829096239319553692834088254187474084295881096254287917798821657353918885337551830027962168690583265418255474899870281724142364491527689998445249862762064118300947683269482656893812431262917441178487099361844649547334231404506187993337708923965952204936731715072689317906616393778202911486917158712262085891775850182422256461863758665571572730789986664036130891800020396174723146420984168132804989937541385686031763364127676821403856889022987611469097092181511518501061264890212428628777644457130197303216980033023527639937814003750466644496689940819378700215848501225130241953144205025047008653562602802993043656130516791007476138052630708655803442895998453411331554780357436232063484813569976513035875827216145949384388582349841700791014416108819288540189514598957335614764892765615262757909274950052021402000892751349282919744559259037342268235849394260920108400256258693659014627198727513288703105695044334615844823628208256798920010010725644752559450966512559042152983771324712128306177474037176299501488146530915568461002655602166506878080969382011346800842675003296115103664242005804614504047257242430756862840036984939848220019970812935322650030132637499170732463041674495443925315649500909906320840954172450599887755609961383933426652549197027355400272505422334477948331967437583400063352237676769107618258993579187169389773710340964657844474749068843768779836988028358258881270112197755740163808728022862746406239696593817418226329594717989714280436808800857131779948543007044816647899704748241398295843685855161623816556745946555019228065486809159323187219692623592187777550674669415793293993808570844768174333923865958377537142637865943337593598478356688024291065995480903946177101681238361301370741541311349414991738461403166694062865816076815968715404748255602299400373660361990798747924886256259738044140305839959139008843193786438382459564926066500958674314353155001920697197450062658334510140075224978011924903028157842023467470942234017655477888417088662438827321159849093446478478714462902507971747158602660893716663427727698123673913128321936264851314400817528425175861261038679510661586959198129419526982817394407451400027784890089537179382824067538717006523632610589195741751668870346549482336738311019322227476242984306706344314365709688376657039552550928983101134206996352696578708547103309868614964144807456929113498566777611001664005476397735336528061596371025817112841804134589161300015255411770705801484756104309539323973404475205874816355144118107573823888584123924616093514806227983731645425676613980732265325007085592555759474079202166615498504885160905049578499409755660300546512335419625921609490674548207405641160621673353020594854912353503406611325799134550938354348648555671277274629255825765086818831778792715263437723781136139224696546754666410113080104463502115954633533209012321223459419765599680426230258496322 4700199292957580498878644428296333506103652545851920289955718263679298207338833354046401965915525603080004411944239054014140814479885629001292331171815985208801847592680781530918294192975302186576255530607293294676427486991846980086143718929339899474615722211044015507645476888886787652999505123639222495292359024410915874863292622239278174599950105391500073594753509180483234427973345993045571441810081375157610676895014663478459508976792969152506810733738577556193592429971977183557738229537755922745742650725727222965850529650261209472011498185003938014028583059987483690012614776022056833175405799446320590415354302269038450672711723747022755110927576149240655632461146088776515754963953813175107337502325572118204080729450928592890502250124856043350857253578460645196345135821937972780030477079582773023538710365754863409066906818041896185978349115148933871456580803304043227219541481900137490433088914421826758577025966139418913671453075579674056850477083597531617440834029714696046224426447770093110177398934867836381842923725413293836265061727712500155506857433575272465722726780682192374664853781790181999243628796003112644796676387454260371359342917940738455877034922180886798844071174069607018805813205549310759936978342905527507471827581049171642260682581672387791639669145959264723045324262991498020379327697378345638263021494111754172860691646776460495771977404426561681424155427990775458704132662778157948778282634244250161869957026413130749043062153399666055890776581751554495950360287781884612926208550502107014620522909169766078884811112739833704936040407643785802338378865550811591869850362683686518005500424951479263303794101227632906741068900637462149370013458789250440828793743138426833724928806851164161887999686286464854893203397945473491111482185407256500529755987753255901459001725389008917961639162480299541899559930726957736729622653623136065327864069055138474631242247712986231419786610449592429077929273040417970766616105703037479549638291851197672416807889098650907444713627193361958208081700629577569579594131592649736113126462953647582516258073707952137266884304294892764691686771596797795145601673223934921472852309084928724108606562034583782136182499297546052185379983988052321500482016549732712433997633860575266721354684084515026282809023452308982937363597363998449766063860640176354872601626194610883198086785483850734936147106813363807969586260638430504788041196734187748707479012021023689288778065371220719541706039063975684374909309147433073493918079372859354266743568310073641687059302311976908564000590690976846518923415648585099693322840799020664941473811112925119123869555051260337610547841893311193418576638757274246445376323376794593671876665208356211798772778330246785139830569741169313626505396456639520437254387759894024007906661720657671212710748839445147394803422120693454104202681378638450007801954785946775939823731255704721621462253710877707864435030038957453833368890402191532852881121380412646033618391862863286667062490660852927339767962031678617535598483628199528120939681731551617464640611650215947129951077083787878520902713810100282660626376507490177982325524236746823977973736024538812369191906054231835389286293632080069842972299263888580479532565483794638672871488003605208807005330921764689799505934121421243819486688784490964462029099674809931136795841987601937081945439412744285347167605547990295957137363989702949235715497969990363607354696279230487622595199315156560987193364968012301284940109471776013262138553677248697409049174799300916366388099856496416030622384791355179494347354784923934706174514776892720927875171870304845025881906795127754912233160880142822868460751024940946279664523864680180066098291767572553912986300014704862447594446043877397806537619610206211264505409888877459271668810141586169730247587627299509422946165012703939706172848136000260807249965045602016124681777707982443589776782583976085523895510771358133746511599241230636485956445433838405544765463270207766037132680776629139380394802734163209524655154994675338572941306729451136473306275556494881973289971195810246375676934203578546538679442445141600271602890889001146140476354207918322521 7605082209903589524755373765238463695615301389564737414302483630119785427599916485855305744257518739082713149458076885405535731109384522768473250738324301279254540121132384446424948035156783290198836939935642297960399713388264779195001468928071451567769712144474657544640866759135241660036147116053170614904867720601373503708556562445014844196842765989772476341791043979841859040199554883496898374987141531372016660681334675171859561839329500541833064521304521477089722152958354391393465857810389567317287399261482749774645347087118291233482725771647616303222073797871216332916232981177490856410746676126887316665207036829959088348103961584048074916784125909149849943759863665658726610931322049336876312973219046967223471253737568724433029013211012226699793975572788528080158218643093240721387036905514081498418456918591068038375616892501313016480048450730084994045828684514491304131317553520565216438957760607974440923179938016878177248186649234935191511216550859538096741165350933287672663677062075226939054399466327570645790002179795007057867283097802087497227060061643683302654945144312348638383405913383409883481673645945148126229977021620860052648258826932788242521079701047134335148380714323011049120498723359222794695040146776344073704842035685609036657245063756022397022610122449583552141563582545190854467581884852429934144117748399671971682349000695345833323807432388730372007420846246250358574414386920522440305972632689500024632021144714078432312544810293478487153694022930041595312204937329218844330714738495444723544488861374702810599883802057740321329818610555272719497091127636703367720032784940148381764165996524210053290458137358524706761465075360608570354181591594240378370179429170190197852605628255021050910987297755561947074714916446534756001694614036034144986886185056472881492025253028946731965389629124796231840379309427173585230847783865089209532889116063792037234045240756642361936577617925730481708637928843860866765069517034592259907074523914682485986784402134526734660859576577750540557923401420591985688413420132839250712083798568412475281873336465861412216936325696893657443036054516542354404639015492170770867113229193328980367300221049210980863695788000651747229714599832875949708738815469742723159642386420026233233913726237498797607521151758486456974539896865486596296979429101179010474768133072691852580098132284693409939443221917028049975390875142477762030471953597027785692418860241043660101713388021250852179205209796438726049404753072748722994827985693700308439194168197829251648443235738629457761027946091249351941257893596917067130906240862372902618242918731184112703056724441034047951512499737785942487420407537111234473734582258064705869632405372164939821635524736486481733647987967498908344495110737076329238111519539842567014951478368557375960952147135288833249965045937250200050757700606703936816961277973166468563415919033255396290878047004871516435279798213291377699327267939334170718824458974011124390306416153929282147966436837954608578129263402420158846947898619937989524106375794417433541456580365620695385553376484161538882893512558025168916886114551630483822284663245590017764412118484103738435692864728546188544288214329277519905630633774028655704510577408697666830713511471076151041022986399653106888168372948742403668580135262969678924931607646557089739456735704265364809643563086657413669103870399304696774665789165564210274395008631577322805484115806213305017002650715184345877282902147395125352478826478299645872727749419000366279395724281637654677407422083972659014929091135669545204035731441963487257103497878026927924227868449013392129191775410091899719690089993641389646071752688946422677399860392741776437124108880414358047575461314720117859365151845362153910847158934179615739711284705232603389776383965474753854172203720814315650929896658129616320153580401325267892842520805076095326848393206487328750681832162475495279555811317870469166137520850721311034163851074999027218118483865062678390636087387954938514945741088511858080326432269304594398706393548282915266021538994218663109429195892357001042087047283683010040795397078674809283924114348420911740156780438176818843 12305281502861170023634018193534797201718953935416657704258201893799083634938749839901707710173044342162717561402315939419676545589270151769765581910140286488056387713813165977343242228132085476775092470542935592636827200380111759281145187857411351042385434355518673052286343648022029313035652239692393110197226745012289378571849184684293018796792871381272549936544553160325093468172900876542469816797222906529627337576349338650319070816122469694339875255043099033283314582930331574951204087348145490063030049987209972740495876737379500705494223956651554317250656857858700022928847757199547689586152475573207907080561339098997539020815685331070830027711702058390505576221009754435242365895275862511983650475544619085427551983188497317323531263335868270050651229151249173276503354465031213501417513985096854521957167284345931447442523710543209202458397565879018865502409487818534531350859035420702706872046675029801199500205904156297090919639724814609248361693634457069714181999380647983718888103509845320049231798401195407027632925905208300894132344825514587652733917495218955768377671924994541013048259695173591882725302441948260771026653409075120424007601744873526698398114623228021133992451888392618067926311928908533554632018489681871581176669616734780678917927645428410188662279268408848275186887845536688874846909582230775572407139242511426144543040647471806329095784836815292053431576274237025817278547049698680389084255266933750186501978171127209181355606963693144543044470604681596091262565225111103457256923288997551738165011770544468889484694914797574026265859018199058521835469993187514959589883147623834899769666421475689316594252238586157613502533975998070719724195050383490819198973172308617031577534435106185212798986984042026801967918314392008247113176799443290645516642172809728782951026978417955649927028791605095773739939240154131321960470437488225274860753185118930511865287488469628593356364228375322910786567201884278837531685622737629739456712815765880158403592291233177642105573203771112498766005102050169555268007551725488986825210261522060057798131410173813549483820629991786422134722826113340149550240688716105692339965538278257704475906783083794762999878287298197799415094583820928271209220832019475435593640020280601499955268410322013823890330175210795439911903494229485046063043289741355365347369759267302735778184917768544144875590328730391857944977135780908266818513150331215534399897872262067349390491453392471571720911248860414410424314062220181796488746065066559662705937736507902893335502538050606366325028536782226198460181309245502166824229081661393567559716729844109231826926279492294385562060341631097135905997046294385480919110905634859299541509070580521151620408303066733266873478557708668221971000507193715849675365907299736591022858140089215047173662895974733980644768468057943654154960381985342386824763232759113244503239650288960117912340300715749224299714828252248831532696158341525703571705580354423770423924808016792568815028927498807535917897225434098776382546382248137517645046057525969051006097192015836642515504453567949417403796226368125451577512491059120661804610187482336841742385854508642550804884770782778023933574507961357589748602933037917236184043142892492305503584999474681359848028317321417796687674307070163647488066824047460643386960707321367020876252577691867301891589002499401699016271475947294992731803153155267159510110506601567686412838812085443792639597850030340906864476267115407426637418935950075659134866303096249063688444899080938571043795521940469075045551475927024724698383086226887421963278012654919648852103040319318237155073682205219654631923250873784212514532503713887368957064384257421956503222400647986911960561761329424980306959597889239551717384778544385827004216694594110062661445194107060923584419791348113825073876061670833556026326428537325528700092485850678111451530170914469772340458614746451580803451322089228602912649120091951947520120296508837432762883947135270444427768768164584077895340543822675067604981587263979932971647700277734051739327814550713545082719167088167247417763981487261556579474839523816409555527005237422057880633134646095141364 19910363712764759548389391958773260897334255324981395118560685523918869062538666325757013454430563081245430710860392824825212276698654674538238832648464587767310927834945550423768190263288868766973929410478577890597226913768376538476146656785482802610155146499993330596927210407157270973071799355745563725102094465613662882280405747129307862993635637371045026278335597140166952508372455760039368191784364437901643998257684013822178632655451970236172939776347620510373036735888685966344669945158535057380317449248692722515141223824497791938976949728299170620472730655729916355845080738377038545996899151700095223745768375928956627368919646915118904944495827967540355519980873420093968976826597911848859963448763666052651023236926066041756560276546880496750445204724037701356661573108124454222804550890610936020375624202936999485818140603044522218938446016609103859548238172333025835482176588941267923311004435637775640423385842173175268167826374049544439872910185316607810923164731581271391551780571920546988286197867522977673422928085003307951999627923316675149960977556862639071032617069306889651431665608557001766206976087893408897256630430695980476655860571806314940919194324275155469140832602715629117046810652267756349327058636458215654881511652420389715575172709184432585684889390858431827328451428081879729314491467083205506551256990911098116225389648167152162419592269204022425438997120483276175852961436619202829390227899623250211133999315841287613668151773986623030198164627611637686574770162440322301587638027492996461709500631919171700084578716855314347595677628754331241332561120824218327309915932563983281533832417999899369884710375944682320263999051358679290078376641977731197569152601478807229430140063361206263709974281797588749042633230838543003114871413479324790503528357866201664443052231446902381892418420729892005580318549581304907191318221353314484393642301182722549099332729226270955292941846301053392495205130728139704296755139772221999363787339680562644390376693367704376766432780348863039323928503470761540956420971858328237537294060090472533080004746639674961700756955688680079577758880629882503954879704208276463207078767471586684843207004133005743863574075298849546644809183653804220917959647489218158753282406700627733189182136559512621497851326969281896886443391094971642360022718842534375822137892339994588358283050053237554815033550647419907920368010923386028848985103928243320092316732503111009492204841413722423900116458656853136473718815292930519483574050760259971145131904705732144983945773789235824086056482873475550401439202842419233955135322523766470177959648575293344529983003933328433513572841368883078393417453831496715392845487892924005411141475952686091442043827803219748607126545676167130315495617930792178913477426839579158037809618457772423134615043110022813894733513995193854205718082592046323641724510732279713066655569322215514203218347720620740734994626465540209232023426280859874290530039328434894814231224170721850962995364336762144496026488836518935229494280868075507169152433320386484547553772381457337901057830052110956286689738926150620494398605610751145626894850727926859506797972992746289240577635511324212477862722290635109654233566811945891888553720301189972334298510945757510889051303721070903575842680018906051156646959310430322311892314967924110615709313396132666701232565586059112685375346346599689506468942320831369784505515233145009218322927891657097656600500745525252741759169262802551989897762428375305007594052515249429967840623362576225721202944024441734060480567062694269902418817668850909220381510532946576776330908768331629284265457615311554351613340867425602160604256402833791634464244650163732940346509528401270008137222644145098166324749734601705628231937478565442743927979299342666051221578072535677438591995068928140724805958328963172346480008938650796592935006655754206778378564120957101091140446908927076083007133407099072078786640942673258554284147583836459981002431000333122818404855552539016410286284911186925685308019533284527370354093826016967005349353544932208192148362980524248459851028770944566620270236602491218839451119585842969620789915084271960207 32215645215625929572023410152308058099053209260398052822818887417717952697477416165658721164603607423408148272262708764244888822287924826308004414558604874255367315548758716401111432491420954243749021881021513483234054114148488297757291844642894153652540580855512003649213554055179300286107451595437956835299321210625952260852254931813600881790428508752317576214880150300492045976545356636581838008581587344431271335834033352472497703471574439930512815031390719543656351318819017541295874032506680547443347499235902695255637100561877292644471173684950724937723387513588616378773928495576586235583051627273303130826329715027954166389735332246189734972207530025930861096201883174529211342721873774360843613924308285138078575220114563359080091539882748766801096433875286874633164927573155667724222064875707790542332791487282930933260664313587731421396843582488122725050647660151560366833035624361970630183051110667576839923591746329472359087466098864153688234603819773677525105164112229255110439884081765867037517996268718384701055853990211608846131972748831262802694895052081594839410288994301430664479925303730593648932278529841669668283283839771100900663462316679841639317308947503176603133284491108247184973122581176289903959077126140087236058181269155170394493100354612842774347168659267280102515339273618568604161401049313981078958396233422524260768430295638958491515377106019314478870573394720301993131508486317883218474483166557000397635977486968496795023758737679767573242635232293233777837335387551425758844561316490548199874512402463640589569273631652888373861536646953389763168031114011733286899799080187818181303498839475588686478962614530839933766533027356750009802571692361222016768125773787424261007674498467391476508961265839615551010551545230551250228048212922615436020170530675930447394079209864858031819447212334987779320257789735436229151788658841539759254395486301653060964620217695899548649306074676376303281772332612418541828440762509851738820500155446442802793968984600882018872005984119975538089933605520931096224428523583817224362504321612532590878136156813488511184577585680466501712481706743222653505120392924382155547044305749844389319113787216800506863452362597047346059903767474732492127180479508693594346922426981229233144450546881526445388181502180077336798346885324456688423066008583889741169507651607297324136467967821781699690623879377811765865345146704294295667498254259458854492214604765178358882696294806193995621027707517267546898032877513112315972320115826819633851069641213635038319448311839842190411085019655701748861620512087921400779364404185160037737676378419402576356909283425622819075633182999980214299414500125882196311956393527783304952650546533207243062452130869953015480605103384835352286496125124508028588843334139315749060667758546987470308277939084756794539501982053137508360678464577388710466487743491392957569895219611175632115558648436369965034709454717789040764719584622385577862235619682858665238156032187514419778024291835569680413923714270617711612040663116213024814198490846355535553650964397293980416562283620060373690485965294276072071911096669871807431505038210263701249183827501388840045462406294102236411437230251992699402836499849863128072596863193682277837883510420438870737079621042488700263516987089069698644713783357890965698853022289291131491961891087999968592821568085460811701646822293894682238272095476098529294616021834712695631161739977100890296198350775866159606235436378209978627316698378450964142460355611498493656285522443514796764998465964910809106032042989718994600801903895738331183659523187866225628433949087649866439339139820531208983536591741209814675136760116721160591528628907585689443568910176388181968698983973570078473284347623841257345616716022951269748144673893452728712666772179596601023011786417041965798682019999796728372806437475976325293027492506432318229908735035426873431599061655378656886458455496327674991435761034625206074404444092673892743886378135603567246173623717123094305626828733861993290289606797264460342001794103751018744677168095645753274867530068691495877615010258206123199745076126307628394978124823265027501423049730367101571 52126008928390689120412802111081318996387464585379447941379572941636821760016082491415734619034170504653578983123101589070101098986579500846243247207069462022678243383704266824879622754709823010722951291500091373831281027916864836233438501428376956262695727355505334246140764462336571259179250951183520560401415676239615143132660678942908744784064146123362602493215747440658998484917812396621206200365951782332915334091717366294676336127026410166685754807738340054029388054707703507640543977665215604823664948484595417770778324386375084583448123413249895558196118169318532734619009233953624781579950778973398354572098090956910793758654979161308639916703357993471216616182756594623180319548471686209703577373071951190729598457040629400836651816429629263551541638599324575989826500681280121947026615766318726562708415690219930419078804916632253640335289599097226584598885832484586202315212213303238553494055546305352480346977588502647627255292472913698128107514005090285336028328843810526501991664653686414025804194136241362374478782075214916798131600672147937952655872608944233910442906063608320315911590912287595415139254617735078565539914270467081377319322888486156580236503271778332072274117093823876302019933233444046253286135762598302890939692921575560110068273063797275360032058050125711929843790701700448333475892516397186585509653224333622376993819943806110653934969375223336904309570515203578168984469922937086047864711066180250608769976802809784408691910511666390603440799859904871464412105549991748060432199343983544661584013034382812289653852348508202721457214275707721004500592234835951614209715012751801462837331257475488056363672990475522254030532078715429299880948334338953214337278375266231490437814561828597740218935547637204300053184776069094253342919626401940226523698888542132111837131441311760413711865633064879784900576339316741136343106880194854243648037787484375610063952946922170503942247920977429695776977463340558246125195902282073738184287495127005447184345677968586395638438764468838577413862108991692637180849495442145461899798381703005123958140903453163472885334541369146581290240587373105157460000097132658618754123073221431074162320791349806250727026437895896892704712951128536713045140126997911753100204833681856966333632683441039066886032829149359233684790276419428330783088727426424116991645543947291912494751017875019254505657430025231673785713157627680324516483358187702174584531337268289368374901136219916419521144166174120683371751692806042835455894166587079604996201545919367183303394085629078014497141502529177299263059714930340634734499726708926507915636026994695920886892287358951252589206024368863292692831953957378911704801881420707310363792022485893334504495958673172764087731649061002482601991743055300207502320760978894907098477377004759893442892982194779608434235496048331362566396547169435034108212254223672670636550788933391146318776996156990705769704081183329249996743010903245452152765659011293560052387256358236270741019656172331824909950203107136646841534943984288531983350924166742020101204736778751318317620113672171329977175704220426692566309702280622953058399888938190560755981800494135129286040041805426448889299952542627809057070066661809019961150583494872250172182021366196381626130924763559603839359667107975749801360742668321288010745337257215242107671204484132635294054133671519924387022168640494371744741037796929899079121537067857704849484667868757987952798851521391412347994605641012530617214460806826269150054408126747923624126145806091022486201409989352543166512610052413264503220721564589240404041033720812802404764857855981495723604597435842763335149932608635416835741016519554952225992873557749422383915419704789451976836206617715176639609097358442962973848653501516712492072653192795394763888350252132278461603781485970106523487978328759900719286446414627121885962499162186525008287299156383974522739508564305732969465588903426747070222401977298464628688591676510352724888809135936690064578479269662110715913113645048918975597626330548987712355887929767985750026521640577961467015893049215744337466039029150689820015312728798847234429244409107997122212964814639061778 84341654144016618692436212263389377095440673845777500764198460359354774457493498657074455783637777928061727255385810353314989921274504327154247661765674336278045558932462983225991055246130777254471973172521604857065335142065353133990730346071271109915236308211017337895354318517515871545286702546621477395700736886865567403984915610756509626574492654875680178708095897741151044461463169033203044208947539126764186669925750718767174039598600850097198569839129059597685739373526721048936418010171896152267012447720498113026415424948252377227919297098200620495919505682907149113392937729530211017163002406246701485398427805984864960148390311407498374888910888019402077712384639769152391662270345460570547191297380236328808173677155192759916743356312378030352638072474611450622991428254435789671248680642026517105041207177502861352339469230219985061732133181585349309649533492636146569148247837665209183677106656972929320270569334832119986342758571777851816342117824863962861133492956039781612431548735452281063322190404959747075534636065426525644263573420979200755350767661025828749853195057909750980391516216018189064071533147576748233823198110238182277982785205165998219553812219281508675407401584932123486993055814620336157245212888738390126997874190730730504561373418410118134379226709392992032359129975319016937637293565711167664468049457756146637762250239445069145450346481242651383180143909923880162115978409254969266339194232737251006405954289778281203715669249346158176683435092198105242249440937543173819276760660474092861458525436846452879223125980161091095318750922661110767668623348847684901109514092939619644140830096951076742842635605006362187797065106072179309683520026700175231105404149053655751445489060295989216727896813476819851063736321299645503570967839324555662543869419218062559231210651176618445531312845399867564220834129052177365494895539036394002902433273786028671028573164618070052591553995653805999058749795952976787953636664791925477004787650573448249978314662569468414510444748588814115503795714512623733405278019025962686262302703315537714836277060266651984069912127049613083002722294116327810965120490057040774301167378971275463481434578566606757590478800492944238764616718603269205172320606506605347447127260663086199478083230322565512274214331329436570483137161743885019206154736010313858161153195554589236631218985696800954196281309403043439651058304331974620183981612447161029076745942033467727257597431026110415142171873691388230269784570319155151428214282413899238847271187133002221622842397468920204908226522184879048124680227018262035513864130894086545653312405414098497243801570784574071664839207368843506992246454083261108016758274948490615316442569019100577566948089543125779568336752445837834888487868179808236091164095118210656159145135551747363751170921279536402973737478101468870927075011746823744574699997715065628206446008544566778434335644593360670804413535901118290761462595525631030015001278694152225290543288545750690519043948007901505323873917377754358453575607100501556797549415013097555654855701176045298734182397292231703667661669514702764638220798950494760489904927148454262005165627995523969331502448099528685300737182794620508459906566511672148033747446688554528010065531786635252363210545806048304102876654197045448446074526026212253709598359546506373599633095572132603886875701756980736088668990934389053983013133273028428373737558902570400480646407845858878248997202297257571954230042019222509244531159185277233292514763738246417280411668249605819251199875954263352272544653042132259104022625460327571587700556908679028033198806943631362162943737256373972318686524349845231510877776636276112817521502465335111827484329881177633945535190591285255112893444982284220319465369524467982240217327086248123476555122431728879484615567903012072322169998328556629092092883890603447178989991668618843238196034191810847954338570219684389855924044399754422061658163011923670703093035769184245468775187271540257310752102986785205021539942378910912265887233127813448054357682033519004494703689736223714741883423117907240215081049287356813019760388855106475629407369232373024623636014545006163349 136467663072407307812849014374470696091828138431156948705578033300991596217509581148490190402671948432715306238508911942385091020261083828000490908972743798300723802316167250050870678000840600265194924464021696230896616169982217970224168847499648066177932035566522672141495082979852442804465953497804997956102152563105182547117576289699418371358556800999042781201311645181810042946380981429824250409313490909097102004017468085061850375725627260263884324646867399651715127428234424556576961987837111757090677396205093530797193749334627461811367420511450516054115623852225681848011946963483835798742953185220099839970525896941775753907045290568807014805614246012873294328567396363775571981818817146780250768670452187519537772134195822160753395172742007293904179711073936026612817928935715911618275296408345243667749622867722791771418274146852238702067422780682575894248419325120732771463460050968447737171162203278281800617546923334767613598051044691549944449631829954248197161821799850308114423213389138695089126384541201109450013418140641442442395174093127138708006640269970062660296101121518071296303107128305784479210787765311826799363112380705263655302108093652154799790315491059840747681518678755999789012989048064382410531348651336693017937567112306290614629646482207393494411284759518703962202920677019465271113186082108354249977702682089769014756070183251179799385315856465988287489714425127458331100448332192055314203905298917501615175931092588065612407579761012548780124234952102976706661546487534921879708960004457637523042538471229265168876978328669293816775965198368831772169215583683636515319229105691421106978161354426564799206308595481884441827597184787608609564468361039128445442682524319887241883303622124586956946832361114024151116921097368739756913887465726495889067568307760194671068342092488378859243178478464747349121410468368918501838002419231248246550471061270404281092526111540240556533801916631235694835727259293535034078832567073999215189075145700453697162660340538054810148883513057652692917657823504316370586127514468108148162101085018542838794417963719815456955246668418759664292962881489432968425120587189699393055290452192706537643755369916413008317505238388841131469329669731805918217460733504517100547332094344943165811715913763604579160247160478795804167927438163313349989243463436737975152798739501881149125970003571820208701938739428275113436771461959654944700464970634863203661277279301757095632498567246026834663316039865508913641536263125197986884108449000978843843472733052369404926236483097998219405368024714056347387739941948602670248363857603013053568948432408794418130693858143525324254045231737706799685078408040640019721560156369197925680234591504993912071444048216298543656068401506840317490479611235108443593484856097105563257622512556507257194063903474316011407972974149800233493471558916258778682912251938738298842996797477957924753112640750351376574117617084447540758205606428876482167766937705445785342930544903986961260063604180233330233824120484891005295110551084790088780900339179839575756060437954796617051802510964403033644837373735129457204530501231117713548304816086644822761147428489659098617542489904955134190037135337248317516976633173481167994898030183426778182247553152831633989341470569607907942236321305021198247435268694533541720343696803721615707304300056265239180929835428500660475691159574883425727754171069958327452859095970428105330131075714616866201796053818648984302224647660235039861745619992103502442569171864994340904537814055696841737401285943615895439057263094545523607243347024916811991741590629491830437963664799612857886548334692216735653836456958480648346618793155831065043514376023084534211399749585967085922371397209000431752502542340727183293314023025984694732289980279043518240443472683861157946219349388982178845657976657316529811379330305230569064952490830805368246483333348194822477078078783990122825389633303181169131880564989222135331781627445694598193663996407476947375330582256447315737453056023959831241484859458362435766713569963286990244730211376801676208899316167122984552547088316507502839775701583905322863836613641481021745848979359645225127 220809317216423926505285226637860073187268812276934449469776493660346370675003079805564646186309726360777033493894722295700080941535588155154738570738418134578769361248630233276861733246971377519666897636543301087961951312047571104214899193570919176093168343777540010036849401497368314349752656044426475351802889449970749951102491900455927997933049455874722959909407542922961087407844150463027294618261030035861288673943218803829024415324228110361082894485996459249400866801761145605513379998009007909357689843925591643823609174282879839039286717609651136550035129535132830961404884693014046815905955591466801325368953702926640714055435601976305389694525134032275372040952036132927963644089162607350797959967832423848345945811351014920670138529054385324256817783548547477235809357190151701289523977050371760772790830045225653123757743377072223763799555962267925203897952817756879340611707888633656920848268860251211120888116258166887599940809616469401760791749654818211058295314755890089726854762124590976152448574946160856525548054206067968086658747514106339463357407930995891410149296179427822276694623344323973543282320912888575033186310490943445933284893298818153019344127710341349423088920263688123276006044862684718567776561540075083144935441303037021119191019900617511628790511468911695994562050652338482208750479647819521914445752139845915652518320422696248944835662337708639670669858335051338493216426741447024580543099531654752621581885382366346816123249010358706956807670044301081948910987425078095698985720664931730384501063908075718048100104308830384912094716121029942539837838932531321416428743198631040751118991451377641542048944200488246629624662290859787919247988387739303676548086673373542993328792682420576173674729174590844002180657418668385260484855305051051551611437726978257230299552743664997304774491323864614913342244597421095867332897958267642249452904335056432952121099276158310609125355912285041693894477055246511822032469231865924692193862796273901947140975003107523224659328261646466808421453538016940103991405533494070834424403788334080553630695023986467441025158795468372747295685175605760779390241077246740167356457831163982001125189948483019765907984038881785370233946388335075123389781340011122447994459355008029365289799144086170091434461491808232374651064599907198369195398199447051833313951935056470385757188989268621162898220048831318553087829766291629564884446583082024232738023221335224822890095998272137249805487913556897143911320833444353138312322731414878082690743920185371626549078880566918424313594546898935395512420168966864705762227988497099599222260837822892915374495428928099395918884439106550306677324862123901127738318431317688540996677160524094489638392137759424323224405153952678152378967479414916679684648951215316219416767648108254620945234824753852414381710452251269104420546570663082523257612249653803927049442806022524703187448285343712047378531152985565831519668201954507512182768216399598010633473833449737651779107552188134835557698037862645363748686158185291645578449754192937131410916139130841915785984908256634737312499043249832221842751300181612474038209743235099084766313056485183067949044938004483819490774318131868825976883199685153316028645476871981306192313084939466886352552016375656212045112975502066646693509794720745795429942056350227989306937395628397843067805537185481396564360150509272479710767304342986755826596654872998505810777483560475744450793256115906556256454689679457549106276779177380735735083935603240758184949482305302660988601161897879247711601916136677782711265972485244383579442147538170858471162471743244220049492071948590707972522981308325879857496569792107177861035878488419646038884079467144719867906587800285686865395987323011403612779392550452676972507307365291641716998595115590037430834917291994251167827974985873158903472214195834016243942482499424211484679367540005670431416649003674512681313677702935591193538728001145806034874663214878843662439183679017204686082685243232520758992998402870743507372092586175883821071251996805994739433901113025390950782739285030224767628137603864315859536090439011798493243982873854046369484993904651388476 357276980288831234318134241012330769279096950708091398175354526961337966892512660954054836588981674793492339732403634238085171961796671983155229479711161932879493163564797483327732411247811977784861822100564997318858567482029789074439068041070567242271100379344062682178344484477220757154218609542231473307905042013075932498220068190155346369291606256873765741110719188104771130354225131892851545027574520944958390677960686888890874791049855370624967219132863858901115994229995570162090341985846119666448367240130685174620802923617507300850654138121101652604150753387358512809416831656497882614648908776686901165339479599868416467962480892545112404500139380045148666369519432496703535625907979754131048728638284611367883717945546837081423533701796392618160997494622483503848627286125867612907799273458717004440540452912948444895176017523924462465866978742950501098146372142877612112075167939602104658019431063529492921505663181501655213538860661160951705241381484772459255457136555740397841277975513729671241574959487361965975561472346709410529053921607233478171364048200965954070445397300945893572997730472629758022493108678200401832549422871648709588587001392470307819134443201401190170770438942444123065019033910749100978307910191411776162873008415343311733820666382824905123201796228430399956764971329357947479863665729927876164423454821935684667274390605947428744220978194174627958159572760178796824316875073639079894747004830572254236757816474954412428530828771371255736931904996404058655572533912613017578694680669389367907543602379304983216977082637499678728870681319398774312007054516214957931747972304322461858097152805804206341255252795970131071452259475647396528812456748778432121990769197693430235212096304545163130621561535704868153297578516037125017398742770777547440679006034738451901367894836153376164017669802329362262463655065790014369170900377498890496003375396326837233213625387698551165659157828916277388730204314540046856111301798939923907382937941974355644303635343645578034808211774704119501339111361521256474577533047962178982586504873352623392425112987706282897980405463887132411588648057095193747815361664436439560411748283356688538768945318399432774225489277270626501703276058066881041607242073515639548541791449352972531101515057849774670594708652287028178818992038070511719184641662883789808466750674558351534883158992840441371600158788259593666524601228251284509584911553716887436399300500636981918522594565518164084468803953422406057552857096569551125196431180415856926534216653237741031475315363664916643718962571612991742900160110915467376010591846100112652791209270231687333505189287071624720172929670844257106362403270164541147459878587686886466676911752029088401709836185975722866880473555459518469869447090650025123278133807312421782674390160664761878139298728228168425789683426401069337914018129579341301940524501592542225892439603500482627940560926094063423952648770070013372277873808383383994350535154105043795976404378353724613039171156368368165791522158347536369043796709270081734359350093372776707166976577085638532837787419221037770957336416984961679047281801412730187586514559321743907527460484974842166566587427909438953680811453469117143493859832858634484023543507055408084374560638092298520341893486945264119987349296807087844940945063415279337150285753153949605014241695684663082248735372613982057040051310084155905438521475412945083279455750843426611140908559275092610652589309934555540558679337339692588968022399169484238177653107468235099089487296360999502726002447841495143150659179231223306318509319510161195571183738167662688909126136542857077936040406640807443626359438266806528204115362947938242904550254511504180250283829053111805790277985009286118617898529663738586906093415576437371704797287644335159957442067799451195377054266680976430013485951643189688714851544501064585308894973330229579731162700888200492908494727787664635506703311006116760325419292990367941366656290660573441856103180086494152061413267499679836496446054426830574748856952044538319587784821960092984984164112489827067159682055452153209320175225920371818699311792022917121357080596515335068115333973264296613603 578086297505255160823419467650190842466365762985025847645131020621684337567515740759619482775291401154269373226298356533785252903332260138309968050449580067458262524813427716604594144494783355304528719737108298406820518794077360178653967234641486418364268723121602692215193885974589071503971265586657948659707931463046682449322560090611274367224655712748488701020126731027732217762069282355878839645835550980819679351903905692719899206374083480986050113618860318150516861031756715767603721983855127575806057084056276818444412097900387139889940855730752789154185882922491343770821716349511929430554864368153702490708433302795057182017916494521417794194664514077424038410471468629631499269997142361481846688606117035216229663756897852002093672230850777942417815278171030981084436643316019314197323250509088765213331282958174098018933760900996686229666534705218426302044324960634491452686875828235761578867699923780704042393779439668542813479670277630353466033131139590670313752451311630487568132737638320647394023534433522822501109526552777378615712669121339817634721456131961845480594693480373715849692353816953731565775429591088976865735733362592155521871894691288460838478570911742539593859359206132246341025078773433819546084471731486859307808449718380332853011686283442416751992307697342095951327021981696429688614145377747398078869206961781600319792711028643677689056640531883267628829431095230135317533301815086104475290104362227006858339701857320759244654077781729962693739575040705140604483521337691113277680401334321098292044666287380701265077186946330063640965397440428716851844893448746279348176715502953502609216144257181847883304196996458377701076921766507184448060445136517735798538855871066973228540888986965739304296290710295712155478235934705510277883598075828598992290443761716709131667447579818373468792161126193977175805899663211110236503798335766532745456279731383270185334724663856861774784513741201319082624681369786558678143771030805848599576800738248257591444610346753101259467540036350586309760564899538196578568938581456249817010908661686703946055808011692750339005564259355505158884333232700954527205602741683179727768206114520670539894135266882452540133473316152411871937222446401956164997023413526761996536250804361001896391314201935944762029170144095260553470056637977710088380039862330841641780702609614821920640347982109062534498378837090912219612430994542914074469358136798911669137323721972206741412690563790301334274291866979303201464177930013904263508753911830735009224960573423112658024394244231835068032557118511927138412580279882332081772819834597212252013470108054580248879684715999724116091814109950807413039728132288442275198197019004575007673588912553182891348228323735147190104878709412196622248414570064941802962782758527738002091157808773016499084533552982020840171393878652338442334564700242423825198136751246346152941882409523007331128009211437775471331179923055579203797542010337891506533303370504641806609878211803462264818278708556503001349220196210181732792482867455373379937799847565713838577892716216480448623772327477672508269835460234793900890033101594342661624724302556842992293773541460025234515632365913922773171585771600985969470743032543787800052188983927389390566873723031765406694445503320920332032462272309154491634454858136025132580227809504177594321179091313060925316540909799463453604411460593428385149288779755931839106052405716425116951686042835568355103382566050462096815134027019150138074299178346864973912737043071475857274436778666302163714603609739374390862261095367901089029775291995405579150625885705833547380288608286101297985532478589398151598882419575132408061611932740045420765586132999923826289167908520256525658184572809571805483294516986749990518872808126890048677304595009626801674440662915041232807889183972970681181313926629062847618323758696898601552837455829653791215842068428206163339911376791339148188016988709052351518958020991513747401530953875452285518542363765511356747495952742912357255439052829701318256229044630714203408856073956898979723598013602852458110464794737183434087803363524236134558847882461928919850324579389189114484818967168948002079 935363277794086395141553708662521611745462713693117245820485547583022304460028401713674319364273075947761712958701990771870424865128932121465197530160742000337755688378225199932326555742595333089390541837673295725679086276107149253093035275712053660635369102465665374393538370451809828658189875128889421967612973476122614947542628280766620736516261969622254442130845919132503348116294414248730384673410071925778070029864592581610773997423938851611017332751724177051632855261752285929694063969701247242254424324186961993065215021517894440740594993851854441758336636309849856580238548006009812045203773144840603656047912902663473649980397387066530198694803894122572704779990901126335034895905122115612895417244401646584113381702444689083517205932647170560578812772793514484933063929441886927105122523967805769653871735871122542914109778424921148695533513448168927400190697103512103564762043767837866236887130987310196963899442621170198027018530938791305171274512624363129569209587867370885409410713152050318635598493920884788476670998899486789144766590728573295806085504332927799551040090781319609422690084289583489588268538269289378698285156234240865110458896083758768657613014113143729764629798148576369406044112684182920524392381922898635470681458133723644586832352666267321875194103925772495908091993311054377168477811107675274243292661783717284987067101634591106433277618726057895586989003855408932141850176888725184370037109192799261095097518332275171673184906553101218430671480037109199260056055250304130856375082003710466199588268666685684482054269583829742369836078759827491163851947964961237279924687807275964467313297062986054224559449792428508772529181242154580976872901885296167920529625068760403463752985291510902434917852246000580308775814450742635295282340846606146432969449796455161033035342415971749632809830928523339438269554729001124605674698713265423241459655127710107418548350051555412940443671570117596471354885684326605534255072829745772506959738680222613235748245690398679294275751811054705811099676261059453053146471629418428799597413535039327338480920999399033236985969723242637570472981289796148275020964406119619288179954397877359078663080585281885314358962593423038373640498504468837206604265487042401545078042253713974427492829259785719432623878796382288732289048676048221807564681525214631450247453284173173455523506974949503906098537625350505886137032222794198584054269690515799105536624222609188659935285129308465418743095820401709259017035026583455388705185092246591935759177226660853689499709607896751711751519690124918881312740390797799457783411680697324904804679378286267582384874003071348836264743780795064519402131402452983422658075606691461474350500664582271293058064509710870056985352264871715092117861660714966926240916565840159784765547969437778377223832281210189265961077305053407780248582829821765127138661252838888378834322013023489959068570137531838895283828693125592576075415818721275500883838524609685602586282590157186877857449864924871167140742354557718101836279576725455114297149940938490545744869293302118981461559746698710279227171877219755579937314903007072849211238861878586899821234026434867401082219793823361726852397225070103112964602865402422284075732490982797474941434361124063927036338990266184452019811569116242336575399921551304469730513562658127199335420786997724007565276282413445510644462770677584290587810255168876922385508156559851728092594602110660965755971875985017637373813364358842727042321577516349212090390150539710956363924075027301666440606057580869534012920274599124395348284611505566774721809623873496236289414744828958375921572885230205595225241857841938936265727295687983663670136387511428006539451737573368331448462557818857924101193046650488577424966223703327420382101882653961961631882730714492428184943450653947111194799878272252536333175303197963186861732429159883370947004769316406656248406104579003783694720299715169111844377313981881688768187244536025727374645543852005508808909220242592193751885107256531893005085996675252522996640895916991964707762126092679525270146850189336643407978589444607953258159674484846041207405175904524182600152940433244615682 1513449575299341555964973176312712454211828476678143093465616568204706642027544142473293802139564477102031086185000347305655677768461192259775165580610322067796018213191652916536920700237378688393919261574781594132499605070184509431747002510353540078999637825587268066608732256426398900162161140715547370627320904939169297396865188371377895103740917682370743143150972650160235565878363696604609224319245622906597749381768498274330673203798022332597067446370584495202149716293509001697297785953556374818060481408243238811509627119418281580630535849582607230912522519232341200351060264355521741475758637512994306146756346205458530831998313881587947992889468408199996743190462369755966534165902264477094742105850518681800343045459342541085610878163497948502996628050964545466017500572757906241302445774476894534867203018829296640933043539325917834925200048153387353702235022064146595017448919596073627815754830911090901006293222060838740840498201216421658637307643763953799882962039179001372977543450790370966029622028354407610977780525452264167760479259849913113440806960464889645031634784261693325272382438106537221154043967860378355564020889596833020632330790775047229496091585024886269358489157354708615747069191457616740070476853654385494778489907852103977439844038949709738627186411623114591859419015292750806857091956485422672322161868745498885306859812663234784122334259257941163215818434950639067459383478703811288845327213555026267953437220189595930917838984334831181124411055077814339864539576587995244134055483338031564491632934954066385747131456530159806010801476200256208015696841413707516628101403310229467076529441320167902107863646788886886473606103008661765424933347021813903719068480939827376692293874278476641739214142956296292464254050385448145573165938922434745425259893558171870164702789995790123101601992054717316614075454392212234842178497049031955986915934859093377603883074715412274715228185311318915553979567054113164212398843860551621106536539418470870827192856037151780553743291847405292120860241160597649631715410210874678616608322196726031284536729011091783575991533982598142729357314522497102802226567147802799015948160512398029618557215852164337854492435909575450245577720950870793371601288900569163541614293058074976323884143461721664194653048940477549285759105314025931895944721387545473092028155893787995376163854957058566440596916462441418105749463217337112658523627827314710774673947944581395401347975693098766753017387687381012460481212956597359652213939004077326944984137800083966347524103852128586779784076808636846019725320670680131539556231515294537156818149486340847831264558719071072952356557890745871932441859534741425697856272625696036482024089577135454184406292833446017247090230974283911714366276230779908729203699324367897786856705778210794876308365834192210106132471183705746222583147530064188952336798004085234531776204422546497290196579348969614366615008616181171779872957829059167007417141895114327409196160801960649142675728573481374168489962550767899834628762444180828494234949788504204384322762009518599430085332074176382787497007337454549480827348004601415510835963164435429892115007567894892635597852159737284500023982996671089082435345897946210084127921474910186865508308084155829333730784493587104784052273841425396828209854779687329602310741372162304793656599878310784932881817192212908964248874231271012675737099034924808761491560562276276845044280644946229320859354442035479734188947391377992865116620755863214186003127193611186813638360853693603830155209667320243924875181369967025484378059903500972353872435509579329783669703353115059673907105363819603746824124277417071344327339228428029084435722520511351832828619646093624857106647130628429729584487563637238567943839031830217469059406477663588763306323393629533660992832634626917792376113804901315383951499061894861788414569884989537162162846837744612819588317481370342931882737288424221463363335334973395436169718198411478012893187907617516865556405172985504551007324160086233211261315041305966726405496969873890944431360139695531983380611644926520077495781952968844087817007556946774961057729755293713297084971907602192617761 2448812853093427951106526884975234065957291190371260339286102115787728946487572544186968121503837553049792799143702338077526102633590124381240363110771064068133773901569878116469247255979974021483309803412454889858178691346291658684840037786065593739635006928052933441002270626878208728820351015844436792594933878415291912344407816652144515840257179651992997585281818569292738913994658110853339608992655694832375819411633090855941447201221961184208084779122308672253782571555261287626991849923257622060314905732430200804574842140936176021371130843434461672670859155542191056931298812361531553520962410657834909802804259108122004481978711268654478191584272302322569447970453270882301569061807386592707637523094920328384456427161787230169128084096145119063575440823758059950950564502199793168407568298444700304521074754700419183847153317750838983620733561601556281102425719167658698582210963363911494052641961898401097970192664682008938867516732155212963808582156388316929452171627046372258386954163942421284665220522275292399454451524351750956905245850578486409246892464797817444582674875043012934695072522396120710742312506129667734262306045831073885742789686858805998153704599138029999123118955503284985153113304141799660594869235577284130249171365985827622026676391615977060502380515548887087767511008603805184025569767593097946565454530529216170293926914297825890555611877983999058802807438806047999601233655592536473215364322747825529048534738521871102591023890887932399555082535114923539124595631838299374990430565341742030691221203620752070229185726113989548380637554960083699179548789378668753908026091117505431543842738383153956332423096581315395246135284250816346401806248907110071639598106008587780156046859569987544174131995202296872773029864836190780868448279769040891858229343354627031197738132411761872734411822983240656052345009121213359447853195762297379228375589986803485022431424766967687655671856881436512025334452738439769746653916690297393613496278098693484062941101727550459848019043658459997931959917421657102684861881840293107416205735731765358623017650010490816812977503705840780299830295812293251077247531553922418304128114910275388697220296437446223168851398502998488619218219455339630578205554387611565086692335311788950751376972721507383627276927736859838018048153990074153703509402912760104542275609177961168831687361932008070346695454087791923991886495440131311242577897517830509880210572167190584061283260822407232171760483507782721719498247983180815040919124096323918880743315026744820037023813460025338491535596498761764901038061061477930997339643195991862061622828864627115413649432722142421788621301671540936451843990937194409120514348232387497956374590241717725477464357343156887304075583239155626806484137891494875655444615890208057571622253747648573253532198115402399372093548488759154002831730359885954079475459256924122910610526435569987249265149486501453261898837309306764355948373647780442508300980419724013011782443392117836020533178438406245335630704905325617936465042020906283608532099729442694930067631302820718411546891820875093066724179214674305060764662907608488360047202026314016791936241594329760036680071953560646226876380221741192195399948763348632368203653965892984340449742445279893260767123483853289236072085410541639164785254701238634072041254934820431992992020665308508940447093474626354474893337001948596966324909290093685683877068718836128573136875247056890286615326318020497371562760755736835592158942333379563398093517344150897770002284928720905496595815724901113458888101644566149879726344515006539128594245133452826019959118097944018049828678249049809342049366135259010280593066524116012748105858908022779839368071383666993188555109688447287653685680610287727145368805255533544889441508360317550724938206124344026089177776085280864903570913683173567920284674365092824975276302314149420533109851607061019475836723585949346715577457588139390575207712648955277124937905442947503740267833451469522374365314393228096744759209267342765104266401037981219249402137865790882909139122265788211508650758495115856720903760542413452041075167231431621002265134931198237479685124848035437233443 3962262428392769507071500061287946520169119667049403432751718683992435588515116686660261923643402030151823885328702685383181780402051316641015528691381386135929792114761531033006167956217352709877229064987236483990678296416476168116587040296419133818634644753640201507611002883304607628982512156559984163222254783354461209741273005023522410943998097334363740728432791219452974479873021807457948833311901317738973568793401589130272120405019983516805152225492893167455932287848770289324289635876813996878375387140673439616084469260354457602001666693017068903583381674774532257282359076717053294996721048170829215949560605313580535313977025150242426184473740710522566191160915640638268103227709651069802379628945439010184799472621129771254738962259643067566572068874722605416968065074957699409710014072921594839388277773529715824780196857076756818545933609754943634804660741231805293599659882959985121868396792809491998976485886742847679708014933371634622445889800152270729335133666225373631364497614732792250694842550629700010432232049804015124665725110428399522687699425262707089614309659304706259967454960502657931896356473990046089826326935427906906375120477633853227649796184162916268481608112857993600900182495599416400665346089231669625027661273837931599466520430565686799129566927172001679626930023896555990882661724078520618887616399274715055600786726961060674677946137241940222018625873756687067060617134296347762060691536302851797001971958711467033508862875222763580679493590192737878989135208426294619124486048679773595182854138574818455976317182644149354391439031160339907195245630792376270536127494427734898620372179703321858440286743370202281719741387259478111826739595928923975358666586948415156848340733848464185913346138158593165237283915221638926441614218691475637283489236912798901362440922407551995836013815037957972666420463513425594290031692811329335215291524845896862626314499482379962370900042192755427579314019792552933959052760550849014720032817517164354890133957764702240401762335505865290052820158582254752316577292051167786032814057928491389907554379021582600388969037688438923029187610334790353879474098701725217320076275422673418315777512289610561023343834412573938864795940406210423949806843288180728628306628369863927075261116183229047821929976677337387303807259304100085599454124300305577634303765071749164207851216889066636787292370550233342097635958657468423901101525345145220654884520111771979462631236515505998924777871195163734179979460939778174693133063100401245825727452826828786384547917312153925271319673307398610920763381732158062536895874711286399218440978350967963244913991441213494740977859562286808384285850471935834818370620858083534438398679818853179661870650176602904551165814213439538520850414122274784384648315214575955358478959525859368129840563949594609478226019672464900225414877889950143031812257261009357442386730858116484539461728835471067628513845925487936135821331476839609515718122314838340420978604194078485163208907011887619504120667456093517771093804465087112102767049517946899314390393312339317841632223895051475854221186552128854541592010912209903870883165190749446684051249162224652672277924113297930726900363218412281277835294661294842452331575440803171205958050529435722594497907977440394020124359251967035992995109480925963674351996306982736786648620543619293873328910666839263439142211233219609642062008325018494445368629281112405418181155892003119607474680760055977105751708147114828457275563089242777584096644537762084583640645782414509326751025392221357383763283014533175364104404418507511482466680643032155803628821451059077723735783612869413088873490412676081624920405752544041832541581428534131672196691029760618045661756819075717383270168173924965713312644287363762358500914837981139488244529517973559750170608719907782695947027488074883304236173426987686763690872199138957695272698444805632295425041067319689647460194876563612038571047983928672561107623641358981753161021359087039239921719566213601295766533427428998315527716079287185975807634835664773853570482405483743492031370140042376798399542495382296128892174788378395963322864686491950776770096755637629851204 6411075281486197458178026946263180586126410857420663772037820799780164535002689230847230045147239583201616684472405023460707883035641441022255891802152450204063566016331409149475415212197326731360538868399691373848856987762767826801427078082484727558269651681693134948613273510182816357802863172404420955817188661769753122085680821675666926784255276986356738313714609788745713393867679918311288442304557012571349388205034679986213567606241944701013237004615201839709714859404031576951281485800071618938690292873103640420659311401290633623372797536451530576254240830316723314213657889078584848517683458828664125752364864421702539795955736418896904376058013012845135639131368911520569672289517037662510017152040359338569255899782917001423867046355788186630147509698480665367918629577157492578117582371366295143909352528230135008627350174827595802166667171356499915907086460399463992181870846323896615921038754707893096946678551424856618575531665526847586254471956540587658787305293271745889751451778675213535360063072904992409886683574155766081570970961006885931934591890060524534196984534347719194662527482898778642638668980119713824088632981258980792117910164492659225803500783300946267604727068361278586053295799741216061260215324808953755276832639823759221493196822181663859631947442720888767394441032500361174908231491671618565453070929803931225894713641258886565233558015225939280821433312562735066661850789888884235276055859050677326050506697233338136099886766110695980234576125307661418113730840264593994114916614021515625874075342195570526205502908758138902772076586120423606374794420171045024444153585545240330164214918086475814772709839951517676965876671510294458228545844836034046998264692957002937004387593418451730087478133360890038010313780057829707310062498460516529141718580267425932560179054819313868570425638021198628718765472634638953737884888573626714443667114832700347648745924249347650026571899074191939604648472530992703705706677241146408333529095615857838953075059492252700249781379164325287984780076003911855001439173891460893449019793660256748530572029032073417201946541394279703329017906147083604956721630255647635624204390332948807012997808727056784192195232915572427484014159861550054528012397675792293714998963681652877826638088904736431449206904414197225321855413294174239302963527213065682176579374249710333039538578821074707133987824638025266089522454097599735143679422862975730535095092278962563523914497337913231096538354702946455899477708922958989734052187196725164706470767853573606421571730772179263762855269806160375821801442793635993534235517907278261280063807215595078658563424163355916529599161233827744836129841409130243938884969090471032394773270060570905139335007519759791855241397452595165327334552013769660040092931104784012930101213273507941383372762064997008850319568161224054228246608249836097111287716517933480352997257293686471788726878321972520890412683234794700491769705124620052024019102734562353432761047586196321183742085450293864839751372361419135707558846485993395711299149247389594244458024615160036253179115715926568920945365766803159602356673819818392230930367217063463475987490756554412708957996066858576953776743440153473473235243424643474820535229406696155546407792974715615855265031461293683256196444662508675157780364182164597746393251241803168779640641208927802813776004141465617914035548235168206608386917615112180129245697999948533991318031139060009894090007078076474477314468902851664049434505422622340982190161881912982353642930711135414823346841117122470842651384659099325243830748933514050611060925776484981823587939549003095773564461861919222430922856547935091905513472276660054580647440336556911511564762413427611234216866507523005036955848784212692858681449542897307247942423198298690213182735642317585839348384805188647599517941171248451224520847792080511738967174513288378228382550051866651771261764653269036363037652464703002613778760632883949686045529084306485493428854810556561614287033959441698040525742694771763419794117117268405225209772701455656762709604671271955000682128635158233519303303037795748169967342019810016965587999617690188256455221603673067084647 10373337709878966965249527007551127106295530524470067204789539483772600123517805917507491968790641613353440569801107708843889663437692757663271420493533836339993358131092940182481583168414679441237767933386927857839535284179243994918014118378903861376904296435333336456224276393487423986785375328964405119039443445124214331826953826699189337728253374320720479042147401008198687873740701725769237275616458330310322956998436269116485688011261928217818389230108095007165647147252801866275571121676885615817065680013777080036743780661645091225374464229468599479837622505091255571496016965795638143514404506999493341701925469735283075109932761569139330560531753723367701830292284552158837775517226688732312396780985798348754055372404046772678606008615431254196719578573203270784886694652115191987827596444287889983297630301759850833407547031904352620712600781111443550711747201631269285781530729283881737789435547517385095923164438167704298283546598898482208700361756692858388122438959497119521115949393408005786054905623534692420318915623959781206236696071435285454622291315323231623811294193652425454629982443401436574535025454109759913914959916686887698493030642126512453453296967463862536086335181219272186953478295340632461925561414040623380304493913661690820959717252747350658761514369892890447021371056396917165790893215750139184340687329078646281495500368219947239911504152467879502840059186319422133722467924185231997336747395353529123052478655944805169608749641333459560914069715500399297102866048690888613239402662701289221056929480770388982181820091402288257163515617280763513570040050963421294980281079972975228784587097789797673212996583321719958685618058769772570055285440764958022356931279905418093852728327266915916000824271519483203247597695279468633751676717151992166425207817180224833922619977226865864406439453059156601385185936148064548027916581384956049658958639678597210275060423731727612397471941266947367183962492323545637664759437791995423053561913133022193843209017256954940651543714670190578037600234586166607318016465942628679481833851588748138438126408053656017590915579082718626358205516481873958836195728957372852944280665755622225328775321016667345215539067328146366348810100267760478477819240963973022343305592051516804901899205087965479271136881091534612625662672598274324902417651513371259810883139321459497247389795710141343921280195188258608187158412755068159044780948208120951189979612390734542986545733853419230021316225898110190079457169862737164427185250297126410532198220680402392806119648084333189034174943113558986742564824525794056071131392618564660498504785566563041903477415604569411270577020796114553220415691881066078757255589948554566833171949879424084801205657696362696406407211666034703848184966136044444424741246319359968288580172799367309513213326014591618328545587833688954453661486139786240143099973778942837795383988151802956328188607157443588518926529160282636627591036601459661539737225049400693853739651780274806346950992462181484343872039817512653478652650951080507814066198765336493558848417927499354094811339610978044775166552318932014143948684732028296101813532407812910160038739918779065381235920180156507680677106658565754751070538085938317272866804847499326752365843504151338449762939438734077276320803914475711150775473663090561420745247548785905566289261752547096687104914808304881353177759468387816250448925940130674574614327281060939409499187031063129501564687838132451583066177049966492506710068511865118566286806419675066937283576493549924150097866509343828226414667673632500607935153352021562093527606419517137627216761000062173497300245474788635519796346960611173530433878029204096413189021765091043183761453443188229279878623326598722420226016958137658571994093830261069606443338036279829701427265160291145589518993525096430295464968659323334528757021219068198502658046712427335923655248496672284066686805720588726010497847341266614652349808616812622247153152725665467246589876169643600854208753525655299336292276122200761735321833196555591201017407537120430616280087076755698492713498775200610317702845533178044298859516808188412928910864304182139033225318359310696935851 16784412991365164423427553953814307692421941381890730976827360283552764658520495148354722013937881196555057254273512732304597546473334198685527312295686286544056924147424349331956998380612006172598306801786619231688392271942011821719441196461388588935173948117026471404837549903670240344588238501368826074856632106893967453912634648374856264512508651307077217355862010796944401267608381644080525717921015342881672345203470949102699255617503872918831626234723296846875362006656833443226852607476957234755755972886880720457403092062935724848747261765920130056091863335407978885709674854874222992032087965828157467454290334156985614905888497988036234936589766736212837469423653463679407447806743726394822413933026157687323311272186963774102473054971219440826867088271683936152805324229272684565945178815654185127206982829989985842034897206731948422879267952467943466618833662030733277963401575607778353710474302225278192869842989592560916859078264425329794954833713233446046909744252768865410867401172083219321414968696439684830205599198115547287807667032442171386556883205383756158008278728000144649292509926300215217173694434229473738003592897945868490610940806619171679256797750764808803691062249580550773006774095081848523185776738849577135581326553485450042452914074929014518393461812613779214415812088897278340699124707421757749793758258882577507390214009478833805145062167693818783661492498882157200384318714074116232612803254404206449102985353178143305708636407444155541148645840808060715216596888955482607354319276722804846931004822965959508387323000160427159935592203401187119944834471134466319424434665518215558948802015876273487985706423273237635651494730280067028283831285600992069355195972862421030857115920685367646088302404880373241257911475337298341061739215612508695566926397447650766482799032046179732976865091080355230103951408782703501765801469958582764102625754511297557923806347981075262424043840341139306788610964854538341370466115033141831387091008748880032796284076749207640901325093834515866022380310590078462319455639834089572930853645249004886968698437085729434792862120476998329687223422628957563792917359213020488568485056088571032341773129743724129407734300243718793832824260129310533005831638639765316058304555733169682728537293992701910720343785505731837947518085892448564205381178726436941987462513571169830286928374531216051055268019826283874276680866852667894188460371071096681725074704669697106510460231191332461117854580601056645978934878785696154161237437493851575238668988533975999227691378856512452797030212919719362564366267319430049605366910525842921778568592782158120562040839767925327800176182029942298056545533290196322696140559039025599227945219939994989940540665216122488261648609118629869175519518149814104464834177424143981218681386072875250896586088079588627178865155994913008681908094389622337254387690296876318148381245445489428116915485479416109409339212395077337119360741726079713563756327783963047286500699366471127530693077912475349183623412178931789186211497437073903525365348012726087803306442542659390347990455326904613696111918085735173746305358551846688332743899624876373636026230675333478090193916247015084634453850098719228224305781510581792093402034254195482298773636478866954305027970900027760532517248576984386308555837845255159167138498790589074345929902961474899500880918949770499267213307703556022858835843555242854703860025281009473400817218170123139395654694916208926060380645952818156556144573934487459548476968301588049290926507204685338973444707626466299069066052332731825851765902285535612704588532196002119450804700549065269270864707336707857950719203508546265435947350305864150993836462101647954695326215856615840514095489834121727457181865742350351430675543373158376854385761234578519914610000802608731428867378330285077894982909830571785753277869011148710241625221225715714152037798548538935837948570373857762373535499805969617266128569249696571933198681809971952740018730980200162468495787485096997376818018816972525155115950313823996426227180238576087378989691748027653493395627410358843837006148570973792468826858827998429894498863921872327289680539962983764020498 27157750701244131388677080961365434798717471906360798181616899767325364782038301065862213982728522809908497824074620441148487209911026956348798732789220122884050282278517289514438581549026685613836074735173547089527927556121255816637455314840292450312078244552359807861061826297157664331373613830333231193896075552018181785739588475074045602240762025627797696398009411805143089141349083369849762993537473673191995302201907218219184943628765801136650015464831391854041009153909635309502423729153842850572821652900657800494146872724580816074121725995388729535929485840499234457205691820669861135546492472827650809156215803892268690015821259557175565497121520459580539299715938015838245223323970415127134810714011956036077366644591010546781079063586650695023586666844887206937692018881387876553772775259942075110504613131749836675442444238636301043591868733579387017330580863662002563744932304891660091499909849742663288793007427760265215142624863323812003655195469926304435032183212265984931983350565491225107469874319974377250524514822075328494044363103877456841179174520706987781819572921652570103922492369701651791708719888339233651918552814632756189103971448745684132710094718228671339777397430799822959960252390422480985111338152890200515885820467147140863412631327676365177154976182506669661437183145294195506490017923171896934134445587961223788885714377698781045056566320161698286501551685201579334106786638259348229949550649757735572155464009122948475317386048777615102062715556308460012319462937646371220593721939424094067987934303736348490569143091562715417099107820681950633514874522097887614404715745491190787733389113666071161198703006594957594337112789049839598339116726365950091712127252767839124709844247952283562089126676399856444505509170616766974813415932764500861992134214627875600405419009273045597383304544139511831489137344930768049793718051343538813761584394189894768198866771712802874821515781608086673972573457178083979035225552825137254440652921881902226639493094006162581552868808504706444059980545176245069637472105776718252412687496837753025406824845139385452383777699559716956045428939110831522629113088170393341512765721844193257670548450760391474623273367571865160181634360397071011483650879603738338401610147784686487630436499080667389991480666597266450573180758490722889107798830239808201798345652892629327534318170241357394976548215014542482463839279607736053233241319279217632915054317060431649497005965044751691139170806499166836058392048648433318588422687790977985770867209214378392033811026940845641831205156033278349306931091845224105676498303144407582277073378348721162465518255372494739070753202826056851276961225171262401453396148987580166061117169819419074741746322912485184668055820784664573023704484285858548889575423743503949507261558872242560409799414094180245507410743828601963135569580529408577397487664075819155943765233597292384445104092636859697928265741555359973746951778327539375103493552833363741140240351146745933877644070374656833527495451996444442664864148388154411339431546778062581362154860470158744442801794937882658471278470404667187890254043283874984434557432032689283796064970594112543471429836427171592315130956757284982975376319596520109366268839101694809051139479983018292754790910338761837808838052491460097459331311508345720587883746339374979912219164714021996187985833758075380620391067171943839109284769495373529278474352562070412810316405201186268897219382754341377643446823002784649062854642446352578114763774721263116228210083698235263123542574135810127295480720006364326459701055637557174798116138615519257078021461549127442768164952811496493470515550469157438966381228335068247407025483866738997879087669299804069793974113160720449877407882700488010002669637203419446460829099270858349616037265962899877018386371855381508190447878489895120282034890230216908744283267938143050075693047045211219904635376094446488384033347147236231918478377866509194180351834535637419986608607149843763322704541010752296713110294939173286890437783510379587627244587775696517995269778824783351986109126185559454154708994104151836767686375636186842823409728226054466322905858322294460956349 43942163692609295812104634915179742491139413288251529158444260050878129440558796214216935996666404006463555078348133173453084756384361155034326045084906409428107206425941638846395579929638691786434381536960166321216319828063267638356896511301681039247252192669386279265899376200827904675961852331702057268752707658912149239652223123448901866753270676934874913753871422602087490408957465013930288711458489016073667647405378167321884199246269674055481641699554688700916371160566468752729276336630800085328577625787538520951549964787516540922868987761308859592021349175907213342915366675544084127578580438655808276610506138049254304921709757545211800433711287195793376769139591479517652671130714141521957224647038113723400677916777974320883552118557870135850453755116571143090497343110660561119717954075596260237711595961739822517477341445368249466471136686047330483949414525692735841708333880499438445210384151967941481662850417352826132001703127749141798610029183159750481941927465034850342850751737574444428884843016414062080730114020190875781852030136319628227736057726090743939827851649652714753215002296001867008882414322568707389922145712578624679714912255364855811966892468993480143468459680380373732967026485504329508297114891739777651467147020632590905865545402605379695548437995120448875852995234191473847189142630593654683928203846843801296275928387177614850201628487855517070163044184083736534491105352333464462562353904161942021258449362301091781026022456221770643211361397116520727536059826601853827948041216146898914918939126702307998956466091723142577034700024083137753459708993232353933829150411009406346682191129542344649184409429868195229988607519329906626622948011966942161067323225630260155566960168637651208177429081280229685763420645954065315875155148377009557559060612075526366888218041319225330360169635219867061593088753713471551559519521302121577864210148701192326122673119693878137245559621949225980761184422032622320405691667858279085827743930630782259435777170755370222454193902339222310082360855766323531956927745610807825343541142086757912375523282225114887176639820036715285732652361739789086422030447383413830081250777932764290012321580504115604031007667815583954014458620526381544489482518243503654459914703517856170358973793073369300711824452102998288520698844383171453313180008966245143785808166463799157821246544772573446031816234840826356740520146460403947421701690350314314640129021730128756007466196236084152257025387100223482037326927434129472749660125284829561009536197748354391261502405797358094628235368952997711871297359164654155281865213670250504055641971130879283027559095140420066870929384855999149333506758461458724149536708026605765289062389759414064682286988128607672929704429903294442199224002435672653354409601167647930725942944945117811306385502173768872686275899823514971817477674919030914651875354372695474092146479042781812562019578116275807337604953950437310866312520053619088667249880617326788426741050513217061408337148287132182711118864175376231851075645825228314864796894790788669165461303012818134790792250264787272167390388490402361636559401835721672767301331657565657432091201269446021561623752674186676949584806856004211199682101107101901459670873355890291349913116461885247059818881238789598341355301068444483767887149353600879755022245129964054258149067675496895688866752707845879887604374875499861968120613050616383982334377843079886211133623371309408292874077670550303703827468955602805618999216380840037663240743022851165519136590902920602096987281762276426364546772339096152311466957923092787502704670811521376528826162098192712039029660148204351421234753977703704402328578640932398400861945968386952574413885156419910308069602994842177334589748442838361433345180576577823315214860505436869530647266765508608447253750185666586085430788320466906035312759241365618985908489163858764227730845593750155742583946468304250757568846953205849184606947116205766113550516345609372726627338130043925791200328495849294089928313756145812045553733824203584053471768014272605374259470572811005479504753595918297991715142675125629236513234464185272717908592147926793612586398285278224976847 71099914393853427200781715876545177289856885194612327340061159818203494222597097280079149979394926816372052902422753614601571966295388111383124777874126532312157488704458928360834161478665377400270456272133713410744247384184523454994351826141973489559330437221746087126961202497985569007335466162035288462648783210930331025391811598522947468994032702562672610151880834407230579550306548383780051704995962689265662949607285385541069142875035475192131657164386080554957380314476104062231700065784642935901399278688196321445696837512097356996990713756697589127950835016406447800121058496213945263125072911483459085766721941941522994937531017102387365930832807655373916068855529495355897894454684556649092035361050069759478044561368984867664631182144520830874040421961458350028189361992048437673490729335538335348216209093489659192919785684004550510063005419626717501279995389354738405453266185391098536710294001710604770455857845113091347144327991072953802265224653086054916974110677300835274834102303065669536354717336388439331254628842266204275896393240197085068915232246797731721647424571305284857137494665703518800591134210907941041840698527211380868818883704110539944676987187222151483245857111180196692927278875926810493408453044629978167352967487779731769278176730281744872703414177627118537290178379485669353679160553765551618062649434805025085161642764876395895258194808017215356664595869285315868597891990592812692511904553919677593413913371424040256343408504999385745274076953424980739855522764248225048541763155570992982906873430438656489525609183285857994133807844765088386974583515330241548233866156500597134415580243208415810383112436463152824325720308379746224962064738332892252779450478398099280276804416589934770266555757680086130268929816570832290688571081141510419551194826703401967293637050592270927743474179359378893082226098644239601353237572645660391625794542891087094321539891406681012067075403557312654733757879210706299440917220683416340268396852512684486075270264761532804007062710843928754142341400942568601594399851387526077756228638924510937782348127364500339560417519596432241778081300850620609051143535553807171594016499776957547682870031264507078654281035387449114196092980923452555973133397847241992861524851302542657989410292154036690703305118700264739093879602873894342420978839206053345584153819356428485355564715013930841008364449855368839204359426068140000654943009629531947555183338790560405504472161280835843396196193599390318095718976082562791338082813075807546780403406962732783295313432738203736459440524986276061178228451009878260958363516814658086332715349479600445493077350512914805941682587682056000610467983632721125602932857014185931350179559578833139424033311041092857597760250687959015222928486721531202243985024911151880233204503817360371716184916267949118193686643652116934953047255448439492049363018448514630035911712640074197007123670753135505265870695505797284613264298381158463770743433450690529566981401659962995285981218661789016238614316171820674515939794213382726204228441568851250527616163482976879233594045202669930638668858895069549526813445119596657201858763690254941228156171863558565033053589101358269264715763613289194175058420703622010825939712457585100401052596444903539814609791577551436150193353559904581227218460861946600342905991469339034170368232389518891876852586465921260507995442047443701077405382545989913260808730405150299021450028572495677190093460424891681347274291958387454681853858827192615778004517744114281747346674601155865220529855898086553660027492345460478771168013560649962300820809427040633606847623647320154807194612959700844891750304446861143368709806976000645807887429835125950453501554456223980102043716155562627211997631143326371436014817779997269776043959776295219146684532728408485465640122041048094275878666810362026317347649471582527730191757102001814303423892638961375647219322562750739141602194100442081103085324982714960293902350881246792713235945279887689113904869506601590803038608695319098935991517334583171680716355789969123369529249397594357465613879781477752146424136779277466004199610100372115541318320373981259935492256607572685933196 115042078086462723012886350791724919780996298482863856498505419869081623663155893494296085976061330822835607980770886788054656722679749266417450822959032941740264695130400567207229741408304069186704837809093879731960567212247791093351248337443654528806582629891132366392860578698813473683297318493737345731401490869842480265044034721971849335747303379497547523905752257009318069959264013397710340416454451705339330597012663552862953342121305149247613298863940769255873751475042572814960976402415443021229976904475734842397246802299613897919859701518006448719972184192313661143036425171758029390703653350139267362377228079990777299859240774647599166364544094851167292837995120974873550565585398698171049260008088183482878722478146959188548183300702390966724494177078029493118686705102708998793208683411134595585927805055229481710397127129372799976534142105674047985229409915047474247161600065890536981920678153678546252118708262465917479146031118822095600875253836245805398916038142335685617684854040640113965239560352802501411984742862457080057748423376516713296651289972888475661475276220957999610352496961705385809473548533476648431762844239790005548533795959475395756643879656215631626714316791560570425894305361431140001705567936369755818820114508412322675143722132887124568251852172747567413143173613677143200868303184359206301990853281648826381437571152054010745459823295872732426827640053369052403088997342926277155074258458081619614672362733725132037369430961221156388485438350541501467391582590850078876489804371717891897825812557140964488482075275009000571168507868848226140434292508562595482063016567510003481097771372750760459567521866331348054314327827709652851585012750299834413846773704028359435843764585227585978443984838960315816032350462524897606563726229518519977110255438778928334181855091911496258103643814579245954675314852357711152912757093947781969490004691592279420444213011100559149312635025506538635494942301243328619846608888541695426096140783143466745511047435516903026461256613183151064224702256708892133551327596998333903099769781011268850157871409589615226737057339633147527510733662590409695473173982937221001675267277709721837695191611768622682685288703203033068210551601449834100462615916090745647321439554820398828348384085227405991415129570803263027614578447257065795734158848172298489369961985820227643176811259786504287040180684696195195944879572528543948076644699979846262195312360520689161511938357516919995653221580699613800133045903516692264087742938360637107789939604711087174556815838535561831087675893939273773049525810174532416240228730484908590388357320610479728520636445653334872812611972538055149943974742094179849752469565040791696639241949338247204106320299169700530527464680591253457422152489157203855598394626078799810959147448762478183022570418441717990879962543475631906770524930367470406701238372821210104128058191682856009569143248869411312603475649456234595479576818434777552437993314068017317993722452173180056694318366948921198949733180347196906367015440038611041069025336359639919693077466495795014024386295467457202806059247385471911163372846955318329969160095347820598660247373133004586594677341775544946214300570469293405374740521810723912285610585813475391750965712906788786874428672816341034491548654628349064995105610215547480097928236599303088428517300065015787565719339173767140395599816922943563045525995596606297243143108248230185232583651943805085482967538095441985051101760913990260300853075208032653441245260766965447266483265504076467317517137660362980024574264684556631082634971483742749803525480238562010135673785745512866846224273107905196312985058424564847771038385616933044208749375803512903027915439612643890410113319150404804546587379586164732869359998356575093091258820281732088677331799493917093912893872226714680361309455130828932352660408712948146716100246265860578531154738232711531389803269031054989899171041053647930287692272098920726407452867226856165439863283409931614905105198002450884892966922451464910981545251158786755734188123804241728743788719970405362945118633377396050138139279454403095240712844564557388259226912521908053548078654892850910910043 186141992480316150213668066668270097070853183677476183838566579687285117885752990774375235955456257639207660883193640402656228688975137377800575600833159474052422183834859495568063902886969446586975294081227593142704814596432314548345600163585628018365913067112878453519821781196799042690632784655772634194050274080772811290435846320494796804741336082060220134057633091416548649509570561781490392121450414394604993546619948938404022484996340624439744956028326849810831131789518676877192676468200085957131376183163931163842943639811711254916850415274704037847923019208720108943157483667971974653828726261622726448143950021932300294796771791749986532295376902506541208906850650470229448460040083254820141295369138253242356767039515944056212814482846911797598534599039487843146876067094757436466699412746672930934144014148719140903316912813377350486597147525300765486509405304402212652614866251281635518630972155389151022574566107579008826290359109895049403140478489331860315890148819636520892518956343705783501594277689190940743239371704723284333644816616713798365566522219686207383122700792263284467489991627408904610064682744384589473603542767001386417352679663585935701320866843437783109960173902740767118821584237357950495114020980999733986173081996192054444421898863168869440955266350374685950433351993162812554547463738124757920053502716453851466599213916930406640718018103889947783492235922654368271686889333519089847586163012001297208086276105149172293712839466220542133759515303966482207247105355098303925031567527288884880732685987579620978007684458294858565302315713613314527408876023892837030296882724010600615513351615959176269950634302794500878640048136089399076547077488632726666626224182426458716120569001817520748710540596640401946301280279095729897252297310660030396661450265482330301475492142503767185847117993938624847757540951001950754265994666593442361115799234483366514765752902507240161379710429063851290228700180454034919287526109225111766364537635656151231586317700278435830468319324027079818367043657651460735145727448385859980855998419935779787940219536954115566297474859229579769288814963441030304524317518491028173269283777486679385378061643033129761339569738590482182406644582373286656435749313937987640182964406122941486337794377381442682118434689503527766708458050130960138155137687378351834954115805176656128532375974800435128048545134551564035149238998596683948731587709609378209750495699311249567016410518797755839049417774299004118228764879599255055425825751436444654570343011673819957852129271273765567547116418925549834227754261184410677198592247299566676721072670090080174013713796166249678754294560220111150554442725726900975355402422054977627989421508917080343530353610210793388125224931279212472645080975878735057842379650989951691192351952579838554738755334709667109073649187127748841723572185815909898750601391269724734163969904322930206576266919622546817869346344962031880092841116815936016208736747518707847560703853833143051980299585610710215188347496519017580882955234251993767273253777928491170220693629978771893257980340670127133444728106280541460690186292074914987171018859038075539888403544996563151627730930876903215479016334082582599549798942514345923111550298271060492152018309351692326689038464393892470641742008188253646222324071077494080440834228068642122598885532454534679442571925639688400903595258970387264122931378142596210503951838653380484254033680516300762673060998520333666398376052872377714982706934035225269219249778511079729013829940105232332538046993558449533684601757030017109853802985044392712104346289665602643742521409392833021653418886067606041204735362871425991139748192592933690016636805638638853481416994068867870512157035305967431758585010729491104305374816136572362867302780058027307824016332222325579378533994267762774637188121941190958670008058184530674446292003367862392834578630871672907037022591593805729040773235154090011390777597081635686701355218108102958153099228689819304019010067509052475696005531146784009917536768493369927414904479594210852113317969367999720410732513158873802284563416233680561244912454664929503800545232895889313483570911500423596843239 301184070566778873226554417459995016851849482160340040337071999556366741548908884268671321931517588462043268863964527190710885411654886644218026423792192415792686878965260062775293644295273515773680131890321472874665381808680105641696848501029282547172495697004010819912682359895612516373930103149509979925451764950615291555479881042466646140488639461557767657963385348425866719468834575179200732537904866099944324143632612491266975827117645773687358254892267619066704883264561249692153652870615528978361353087639666006240190442111325152836710116792710486567895203401033770086193908839730004044532379611761993810521178101923077594656012566397585698659920997357708501744845771445102999025625481952991190555377226436725235489517662903244760997783549302764323028776117517336265562772197466435259908096157807526520071819203948622613714039942750150463131289630974813471738815219449686899776466317172172500551650309067697274693274370044926305436390228717145004015732325577665714806186961972206510203810384345897466833838041993442155224114567180364391393239993230511662217812192574683044597977013221284077842488589114290419538231277861237905366387006791391965886475623061331457964746499653414736674490694301337544715889598789090496819588917369489804993196504604377119565620996055994009207118523122253363576525606839955755415766922483964222044355998102677848036785068984417386177841399762680210319875976023420674775886676445367002660421470082916822758638838874304331082270427441698522244953654507983674638687945948382801521371899006776778558498544720585466489759733303859136470823582461540667843168532455432512359899291520604096611122988709936729518156169125848932954375963799051928132090238932561080472997886454818151964333587045106727154525435600717762333630741620627503816023540178550373771705704261258635657347234415263443950761808517870802432855803359661907178751760541224330605803926075645935209965913607799310692345454570389925723642481697363539134134997766807192460678418799617977097365135795338856929575937210230882591745914360352868697055045384193883955768200947048638098090946543730793034532198862727296799548626031439999997491501428249174944551055196401223073253254801752444024858441793515250617196183823120756898365230028733287504403960943340314686178462608848673533564260306790794323036497388025933889296535550650324324077790996883771709187234586939415088725819247759231094118571125227896808232409589224471945808059831938728528348876314675834702639354998617918361810783115947319513568689797081762360282616384907132408945109809327398634792312864823607277280071358943093438820977784475267109429990700559902534350241819584551566906532758166300498417467821080825107871987095769324628663458255327547636673909380493918652689611870465930067233465035938913440774277068751502151499401342316737761325753151385099953611730603380748494097116183380305451839764090934838292028096005786216145410168491958130472821994418266475572417935250713568646730061586725165554426306006323108674617952559631414138080676866214487249970674290604808342279114288131089913771096474566907282366636137584336250787353666013371853559139030233317140178954385896138548650918129567738222408272652448161693316904551876004924539464325069835397160884084535883902984022258481113563467137210233505133290662816602711217429681293041560538762464667945211027402832519550467008291264813455541299195075893330827168457373739202507747094946901610669486617332460105848156028536615775651449477813786367975283560009243257922660495039278045176280313205609308799855564131218812513709176021714573740936437956528135461907871769904164653878195195138345888499643159175511237517720421295990838910786578209866734225386181442151756509332433681511760922270354456372236305172390315655837174734814493147455958561600339759396501348131716242673291427866494477454998497577072019891022668466897478821162392249633722971365733369104384438426825860624860718939944276207737941678469869180556413108808085334959123592962512099750918924115265511503360588972453598248920899082019652156683149092603398452580857106689338405083355851146536269852422702695688083656485625299229486892059772145417797367031649566393274507753282 487326063047095023440222484128265113922702665837816224175638579243651859434661875043046557886973846101250929747158167593367114100630024022018602024625351889845109062800119558343357547182242962360655425971549066017370196405112420190042448664614910565538408764116889273432504141092411559064562887805282614119502039031388102845915727362961442945229975543617987792021018439842415368978405136960691124659355280494549317690252561429670998312113986398127103210920594468877536015054079926569346329338815614935492729270803597170083134081923036407753560532067414524415818222609753879029351392507701978698361105873384720258665128123855377889452784358147572230955297899864249710651696421915332447485665565207811331850746364689967592256557178847300973812266396214561921563375157005179412438839292223871726607508904480457454215833352667763517030952756127500949728437156275578958248220523851899552391332568453808019182622464456848297267840477623935131726749338612194407156210814909526030696335781608727402722766728051680968428115731184382898463486271903648725038056609944310027784334412260890427720677805484568545332480216523195029602914022245827378969929773792778383239155286647267159285613343091197846634664597042104663537473836147040991933609898369223791166278500796431563987519859224863450162384873496939314009877600002768309963230660608722142097858714556529314635998985914824026895859503652627993812111898677788946462776009964456850246584482084214030844914944023476624795109893662240656004468958474465881885793301046686726552939426295661659291184532300206444497444191598717701773139296074855195252044556348269542656782015531204712124474604669112999468790471920349811594424099888451004679167727565287747099222068881276868084902588862627475865066032241119708634911020716357401068320850838580770433155969743588937132839376919030629797879802456495650190396754361612661444746427134666691721603160559012449975718816115039472072055883634241215952342662151398458421661106991918958825216054455769208683682836073774687397895261237310700958789572011813603842782493770053864811766620882828426038310483497846359332007058092307066088363589472470304521809019919277348213834832683080608451314897834882205364428180383997433023840766196407413334114543966720927687368367066281801023972839990291355651998949810318561031494547518986072044434222929002159278193596173539900241563209387374543137270953799323266243357569721911845539820119198602681696303759143188295544759395112431673752057129297622036590575662715202374939394441233526416930625628058727090261074381083092966181908731790373441505034332543353770637413225084041943830502660790640076548064037985834230321201092978277451052860193547981800463274409150746952618084967172407891167027519591287306777914543149678402712314440914673971283153928058703193343851353922155292500081087861052209027260917731129590217669301999290204202441155360659572455998000328716422721677088114504948342168339380298355665259052066649584855466809105433013115130159839466160654917538170341629326428173385232068132925908542598575615532892216622260134464726453338800540346976807711469695515459946554832543745431105148304311197813423971678437054463126130889850139203529351377172333238634458604474338406839415758508711182355596376055002331610173440252505601604125975775032671004856357439753752370535640979596692736587333626288364974085146450863190453143942202790334863718091291388751881798718251046785554991153740651012976406610829089535136109317847853866658745690266266943278483191879744817789124905294143145714541132393611124777262047393777778744590850790240941572528174012218059569767297620716604531178910153062045243117278722455784167416830050534770802800424242022987080790609990749427750379631434427389762339668063757401045146941480109630629719818825864380397786704325364463938568252669961860762240229635685699013210849692676525082009495608684253001585364200311999976057345463848452218666447980717511361827953069247466262192099810163303443062081746061740789570222943125333020555836284977984745032930816618788145526610563997082992663432970424658706404803766583659695143654707266111921764217730537753894416395860317378313686680515220477893698104596521 788510133613873896666776901588260130774552147998156264512710578800018600983570759311717879818491434563294198611122694784077999512284910666236628448417544305637795941765379621118651191477516478134335557861870538892035578213792525831739297165644193112710904461120900093345186500988024075438492990954792594044953803982003394401395608405428089085718615005175755449984403788268282088447239712139891857197260146594493641833885173920937974139231632171814461465812862087944240898318641176261499982209431143913854082358443263176323324524034361560590270648860125010983713426010787649115545301347431982742893485485146714069186306225778455484108796924545157929615218897221958212396542193360435446511291047160802522406123591126692827746074841750545734810049945517326244592151274522515678001611489690306986515605062287983974287652556616386130744992698877651412859726787250392429987035743301586452167798885625980519734272773524545571961114847668861437163139567329339411171943140487191745502522743580933912926577112397578435261953773177825053687600839084013116431296603174821690002146604835573472318654818705852623174968805637485449141145300107065284336316780584170349125630909708598617250359842744612583309155291343442208253363434936131488753198815738713596159475005400808683553140855280857459369503396619192677586403206842724065378997583092686364142214712659207162672784054899241413073700903415308204131987874701209621238662686409823852907005952167130853603553782897780955877380321103939178249422612982449556524481246995069528074311325302438437849683077020791910987203924902576838243962878536395863095213088803702055016681307051808808735597593379049728986946641046198744548800063687502932811257966497848827572219955336095020049236175907734203019591467841837470968541762336984904884344391017131144204861674004847572790186611334294073748641610974366452623252557721274568623498187675891022327407086634658385185684729722838782764401338204631141675985143848761997555796104758726151285894473255387185781047971869113544327471198447541583550535486372166472539837539154247748767534821829877064136401430041577152366539256955034362887912215503910304519300521347526523158385887879481831524568152636634649389286622177512683641036950019528170232479773995454215191772328009622115710151302599140029185563210117109355354531044907012005933730758479652483602271387170423671950750443974313958225996773047082497337476140847139742348052528787827153642111818975127024073108271427107508454696484296239954952386445831149694452963131030608179290908244443634222670019490892420364816701044655197048782314403902296864076234202868517210939932651491199979082414279805418781888107625736443751551277661369062625571146396246516277246748425427735438803701428971781225430604155020144332779547905950612884723928205127454695495350755264472030261406841012437308980872648334510338711766418182670509654280919451594410748026096334502638867087256606463078814990333798564831237676987317363153502196870692158178669556465845789269329535490729973043464508850251446555382896582833203383957812006504753350048235822927905707822713612945295805946302813612568204397304570135381621451376767809867816985705381255698628072547476181799538865650143186334609398877871164485593905872066440132259957986353868654553815972738814359480908323333821459068657183433663577201518359157404532544653691197493635613459154455266599483501985410757048918459846125621001225998141732456601823227268345436512458985118071751884969297331680445113665549826952521741114540239857067170081574456351323849932249175255996074561102953800459164591726678898100663635920089829473931951498911799669524798652705204418628516240176205463407668961321349012667158467409168522942366500081861431891392356697744218711904368929791360802778654844445122867274784425980737546100826712595654810925961389727256717684634183276085230740715344991979488316771076502635308335566045369080441783890674312843527166920661787569565894747717335442748512918971388778021205339024252889321141867240598532059196873950438343281851715700807797683293713089686391116013827531348044809887122434806231413507129968807609847874216163053123903287920089523731484047546870044286972612349803 1275836196660968920106999385716525244697254813835972488688349158043670460418232634354764437705465280664545128358280862377445113612914934688255230473042896195482905004565499179462008738659759440494990983833419604909405774618904946021781745830259103678249313225237789366777690642080435634503055878760075208164455843013391497247311335768389532030948590548793743242005422228110697457425644849100582981856615427089042959524137735350608972451345618569941564676733456556821776913372721102830846311548246758849346811629246860346406458605957397968343831180927539535399531648620541528144896693855133961441254591358531434327851434349633833373561581282692730160570516797086207923048238615275767893996956612368613854256869955816660420002632020597846708622316341731888166155526431527695090440450781914178713123113966768441428503485909284149647775945455005152362588163943525971388235256267153486004559131454079788538916895237981393869228955325292796568889888905941533818328153955396717776198858525189661315649343840449259403690069504362207952151087110987661841469353213119131717786481017096463900039332624190421168507449022160680478744059322352892663306246554376948732364786196355865776535973185835810429943819888385546871790837271083172480686808714107937387325753506197240247540660714505720909531888270116131991596280806845492375342228243701408506240073427215736477308783040814065439969560407067936197944099773378998567701438696374280703153590434251344884448468726921257580672490214766179834253891571456915438410274548041756254627250751598100097140867609320998355484648116501294540017102174611251058347257645151971597673463322583013520860072198048162728455737112966548556143224163575953937490425694063136574671442024217371888134138764770361678884657500082957179603452783053342305952665241855711914638017643748436509923025988253324703546521413430862102813649312082887230068244614810557714049010247193670835161403545837878254836457221838872357628327806000160455977457211750645110111110527711156394464730807942888231725366459684852284509325058383980076382620032924301613579301442712705490174711913539423511698546315047341428976275804976380609041109541266803871372220720562562439975883050471516854753714802561510116664877716215935583566594317962175142879140695075903916734124142589431384837562159927427916386025592425998077978164981408654642880464983343963572192313653361688501363267726846405763580833710569051587887872647986429835338415578118315319617867666539539182206753613593861991542962108546352069392357572264134596221533872502361312931093871975513330998609776445570490287348736445650634713647427952559154770435312281840055630478317791253012209308718714721202604137854917044426034420805397263229864833392600143329970728948563068532208518698169822735491862346865286856007082133186157888839202109186627322761487928873489518008133566065639928929435720181960713856722074812253983204024096663219061588764344720968027157158673178863186902936039384012738357663679797591191784686625685255429984453028900314672790937023636678623515822491375801959573344898721375610182700549381244508363060589753007275641818273559123036941050001240529925762574581233839495422759844381829517922686679711150916037983381820793213873216278003901352414583248795728636012988685478827994068478340418485456683356004826315426096937186034112842497955850141119878279979562467720759910017645719743425704775745620767009751234877502799944249188518011592976967919358412919069814207606887994287145185547103859355816093895800224306419984674856294986868599497038391064642786380773336608496731579203755442516919839673191809932307889043699249119628404200703708805767249661745794962631989630824499011856119815467582709432155603732976490831289182271023791125133981051572432687192405949720134954075752587093610290361135332805152077059593379178631351588018957914269868975098441590408021517061497812379760755636893699766357369056499129354522765062193614901379298931393847816964801704940612729134692221083287085085993678891364810365931552615033158928423088314782532319595943209904277086769383779446797956006751214690889018465926557161837234919531612091946700807018319683780406902045170728062090522180670716946324 2064346330274842816773776287304785375471806961834128753201059736843689061401803393666482317523956715227839326969403557161523113125199845354491858921460440501120700946330878800580659930137275918629326541695290143801441352832697471853521042995903296790960217686358689460122877143068459709941548869714867802209409646995394891648706944173817621116667205553969498691989826016378979545872884561240474839053875573683536601358022909271546946590577250741756026142546318644766017811691362279092346293757677902763200893987690123522729783129991759528934101829787664546383245074631329177260441995202565944184148076843678148397037740575412288857670378207237888090185735694308166135444780808636203340508247659529416376662993546943353247748706862348392443432366287249214410747677706050210768442062271604485699638719029056425402791138465900535778520938153882803775447890730776363818222292010455072456726930339705769058651168011505939441190070172961658006053028473270873229500097095883909521701381268770595228575920952846837838952023277540033005838687950071674957900649816293953407788627621932037372357987442896273791682417827798165927885204622459957947642563334961119081490417106064464393786333028580423013252975179728989080044200706019303969440007529846650983485228511598048931093801569786578368901391666735324669182684013688216440721225826794094870382288139874943639981567095713306853043261310483244402076087648080208188940101382784104556060596386418475738052022509819038536549870535870119012503314184439364994934755795036825782701562076900538534990550686341790266471852041403871378261065053147646921442470733955673652690144629634822329595669791427212457442683754012747300692024227263456870301683660560985402243661979553466908183374940678095881904248967924794650571994545390327210837009632872843058842879317753284082713212599587618777295163024405228555436901869804161798691742802486448736376417333828329220347088275560717037600858560043503499304312949848922453533253316509371261397005000966543580245778779812001776052837658132393868059860544756146548922457572078549362346836264542582554311113343581000664065085572002375791864188020480290913560410062614330394530606608442044271500451203108151504143001424739022800305914666235463753799074091957629358070913023085526032444275445188571414023125370044537271740556637333010083911895739888307126482736370514387244143064097336002459589264499893488260918309851416191330235925176774256988980527397093442343690975937966646690661450097890101946495348554377501763845320703294742775512442116945995535601113362867933695815310821100767539069663140347947498789881630821076365710367963773040034712892597596671794097416344451164954155415516286107051605567201643779507111581818027878768774430377534849757639122853189967068271410252815899740731010338313612584334552864451099353022894769885926826989006214400150267641202138364631223511002994263848393952050192997721700455851601327431105972149006977428018140613026701375891859860550489749370454243091531044699313988519630287716255445873888125178898719074209005343531156905226128960230936372309150216185774202698303081588121087171691241338354571375911547213951349043707312408465225637528145995234155892950454903633525007127823272094149168386946320455315235860895970975039347482547884451079232844937591679338647774494754120619697690044016315007545652422933670759961356373369172100986342909206761156377815928211081003123801170247330250468194800195187703849431528799325678639879256442517227548973021365920848321965420960224531923465068443055848362240996891961636769411169599685379662920034243598737773855445852397718517631200618540203870228507458472454080374311202808195094232167973177468828134741176841324126675342990913150614162416147822878199763476801616983766752498789798520875454368394716341872878905978789655248190104592741315275675598904052251183672331123366509040986129150837258272202035332402738136940913245197077905720781822041086500959742564682137147689125648106080999104492424110246568212506677606530084674230032878861431596634248020403740893197990176455774895460625487354796024578011453272157970668967203727141459966162863860142222971700496425776654775608960566467643329296127 3340182526935811736880775673021310620169061775670101241889408894887359521820036028021246755229421995892384455327684419538968226738114780042747089394503336696603605950896377980042668668797035359124317525528709748710847127451602417875302788826162400469209530911596478826900567785148895344444604748474943010373865490008786388896018279942207153147615796102763241933995248244489677003298529410341057820910491000772579560882160644622155919041922869311697590819279775201587794725064083381923192605305924661612547705616936983869136241735949157497277933010715204081782776723251870705405338689057699905625402668202209582724889174925046122231231959489930618250756252491394374058493019423911971234505204271898030230919863502760013667751338882946239152054682628981102576903204137577905858882513053518664412761832995824866831294624375184685426296883608887956138036054674302335206457548277608558461286061793785557597568063249487333310419025498254454574942917379212407047828251051280627297900239793960256544225264793296097242642092781902240957989775061059336799370003029413085125575108639028501272397320067086694960189866849958846406629263944812850610948809889338067813855203302420330170322306214416233443196795068114535951835037977102476450126816243954588370810982017795289178634462284292299278433279936851456660778964820533708816063454070495503376622361567090680117290350136527372293012821717551180600020187421459206756641540079158385259214186820669820622500491236740296117222360750636298846757205755896280433345030343078582037328812828498638632131418295662788621956500157905165918278167227758897979789728379107645250363607952217835850455741989475375185898420866979295856835248390839410807792109354624121976915104003770838796317513705448457560788906468007751830175447328443669516789674874728554973480896961501720592636238587840943480841684437836090658250551181887049028759987417297006450425427581022000055508491821398595292437315781882375856932640755849082909510710528260016371508115528677699974710509587754890007778204117817246152569185603140126625305077605002850975926137707255288044485825257120424175763631887049717220840463825456671522601519603881134265902827329004606711476334253579668358896716227300532916970792382451399337365668409919804500950053718161429949178399587778002798860687529971965188126582229759008161890060721296961769363201353858350816335377750697690960952532226739894024499143561985242918123797824760686824318942975211757663308843604506185872868203711483963938038310662923853833237678275558877371733975989448356848532207234843447026813920597546338029357011876793598133503529058773635520480803276054880090343370915387924806306725063165886156759553371203151477639988007041042736976415210628022098745159326097918289847641551359789803763272599681186596738092471499770473173754973637726675784382698759416344997139780465790196570637858546591937367725069076102377156074289660940762044615946048399133129307680156291205043549066085388630217524230287340562238929717216300129298441548530602389046382897524803802414541565584807303104501803947504570413636921690394724548834792451310357229939360730814278279404572616441472976525930277546807831225070019357663917920835604101370941616906827921037145310427172288298735038564031589531983963724826310541952929419651330394275035343474089920851057805731802886514270857686772301213650322429077133279189746706086334911536901998582937962315880626601114496518768479787777163107062262350598613533285527873543587702774652832377182014744122189727380209206779760055311655345400632061534748017542747778096416958866675476760518577447047255784705607561330449738168608070932216264239703742120106165440184725056666985033588643602323886273479730408319481744439796433439938948012180815049234304176172702218924752596628041462005006703008211711130866714841569283224092903294633513173921226282113921531388026102483941530598013909095735098760107193440042599719842967914396723420385432353590381646938852629738377240773220187779509196240247103871487972461637289263191807284519911416780339999684103102267263225158674907423443361547239268900471738084527830804438646673072058109564667160542655480903327821825503671051088648314046242451 5404528857210654553654551960326095995640868737504229995090468631731048583221839421687729072753378711120223782297087976700491339863314625397238948315963777197724306897227256780623328598934311277753644067223999892512288480284299889728823831822065697260169748597955168287023444928217355054386153618189810812583275137004181280544725224116024774264283001656732740625985074260868656549171413971581532659964366574456116162240183553893702865632500120053453616961826093846353812536755445661015538899063602564375748599604627107391866024865940917026212034840502868628166021797883199882665780684260265849809550745045887731121926915500458411088902337697168506340941988185702540193937800232548174575013451931427446607582857049703366915500045745294631595487048916230316987650881843628116627324575325123150112400552024881292234085762841085221204817821762770759913483945405078699024679840288063630918012992133491326656219231260993272751609095671216112580995945852483280277328348147164536819601621062730851772801185746142935081594116059442273963828463011131011757270652845707038533363736260960538644755307509982968751872284677757012334514468567272808558591373224299186895345620408484794564108639242996656456449770247843525031879238683121780419566823773801239354296210529393338109728263854078877647334671603586781329961648834221925256784679897289598247004649706965623757271917232240679146056083028034425002096275069539414945581641461942489815274783207088296360552513746559334653772231286506417859260519940335645428279786138115407820030374905399177167121968982004578888428352199309037296539232280906544901232199113063318903053752581852658180051411780902587643341104620992043157527272618102867678093793015185107379158765983324305704500888646126553442693155435932546480747441873833996727626684507601398032323776279255004675349451187428562258136847462241319213687453051691210827451730219783455186801844914850329275855580096959312330038174341925879356236953705698005363043963844769387632905120529644243554956288367566891783831041775949640020629046147896273174227535177081400338272973971797870598796938600701424839828717459052093012704651845936962436161929666495464660433433937446650982976785456687819863039717652039555717276707048686863091164742501877433859020966741246955981622675032966574212883812900016502459867138867092018245801956461185268895845937724372738060478441848033693420541796726633382285417453413401434248359723001534943813299470372305200006999819542472832563529653809374065884533659217301355597082998978853620147246418106394352384133320597711380722629231418647105568426675017141545632293410689594711886191171239827920125056263512984596600404141407617051110914968887489258529245555208684822244087997028655900867519589703632768047486764404549756872034682852497086337469102809813383057508307838088826028807277468645343171986145994865940464211839996911223160878728063339950771108124482658662462500467547375830239101456687133719223184162092786764522077384780777089932693172808747344828612430068160890105301828771412928981313260639793812646635658709173633530644573293999544940734608995149613438818060447902505519617759143992353020190477279321254120239690295656885809913154991497051825845250431835048860417404576340675245055493879267450427954938764173793089837380498884175331866714682121864415605178425429492930530585865232424724147321082390433506648361847692429244118298058376398866173396883750402284743849018947982577358294766111782127412858964167752800030220002201805398547935592444155148340433738703225123754711193762873058426709654312158947696102338529595511004117315220902701637103326078961650356708811941160723722712157822494417368248379819288834958211057471737065063114803857083662472657590410595856086770890380578526035921159939454717714551117503495830399723044881090617109656370089759387816834218570309112077973477465786252654754535143470070681435272181297770431162845330380955844916920873635178545461471933313332946329076000318864025346854219292271933306486815316378165578991721963493224686145951508051028360403424996300257439680933570368048930716343263846911925010242498499771642373814532024272428527302765627181399753598480279280011655115957375538578 8744711384146466290535327633347406615809930513174331236979877526618408105041875449708975827982800707012608237624772396239459566601429405439986037710467113894327912848123634760665997267731346636877961592752709641223135607735902307604126620648228097729379279509551647113924012713366250398830758366664753822957140627012967669440743504058231927411898797759495982559980322505358333552469943381922590480874857575228695723122344198515858784674422989365151207781105869047941607261819529042938731504369527225988296305221564091261002266601890074523489967851218072709948798521135070588071119373317965755434953413248097313846816090425504533320134297187099124591698240677096914252430819656460145809518656203325476838502720552463380583251384628240870747541731545211419564554085981206022486207088378641814525162385020706159065380387216269906631114705371658716051520000079381034231137388565672189379299053927276884253787294510480606062028121169470567155938863231695687325156599198445164117501860856691108317026450539439032324236208841344514921818238072190348556640655875120123658938844899989039917152627577069663712062151527715858741143732512085659169540183113637254709200823710905124734430945457412889899646565315958060983714276660224256869693640017755827725107192547188627288362726138371176925767951540438237990740613654755634072848133967785101623627011274056303874562267368768051439068904745585605602116462490998621702223181541100875074488970027758116983053004983299630770994592037142716706017725696231925861624816481193989857359187733897815799253387277667367510384852357214203214817399508665442881021927492170964153417360534070494030507153770377962829239525487971339014362521008942278485885902369809229356073869987095144500818402351575011003482061903940298310922889202277666244416359382329953005804673240756725267985689775269505738978531900077409871938004233578259856211717637080461637227272495872329331364071918357907622475490123808255213169594461547088272554674373029404004413236058321943529666797955321781791609245893766886173198231751036399799532612782084251314199111679053158643282763857821849015592349346101810233545115671393633958763449270376598926336261266451257694453119710267488221936433879340088634247499431138262428530410911797238359971020459408385930801074620744577011744500429988467647993721096851026407692017182482230665209139078231088876813819598731384381494328953373276309916596975386677166483520826295630637618413347516957670308663146979018436397857520858029822571969880225209430320677254412497518980394095842709232665527832554827749443152016193443597783686893935143765796939748368347406671974515882800215399634428372521406710866470782937267674522258692410006885543215725864981064412239283922966264749029730686337334405955909546675797955452178272934207195281313153530682062811726552704591660167404759516983285775331730660782477855457815098246453132416053148264198772319603224545083493424229372230764367290010428227711158872153152294909011064430494932102525963644957910871616691492494348211668937732783727802205378619949740160513121138101058210215689939665283443787600923796047999808633319797897163716608794493167003209598800928070915365676243473831075827101153196786867338662969897562715003512963543790532443299039959938902489000103631790309918535505726141750025595954336456236231161295817044856722919197025360971404819510639927551594398515579029834960374981804135712764377003399240367787427770354521401828374132726026392249695626343617922776854637775729950336566344875720642945482985179066366539163505119961457671854906725792519297396270987764635892667949957421808933640292100094877420012092939986951861564614523533688564544345501943244646115339388949388283587491981954402030207029296025718902561393575270225336112156936639303714131537292404729747889302328240523084931328671040927121864942625251894703747900174186142561245954012212033286090393505529922952523820998444636763841549575268881857365666923327976014852948602402587627439480051442502727062420249653551453359252756416493430471419467808700403109099402524702906092245275472374077890503115812396748327026330576081020487604082381993194463308282662303081420305782951062743764271421781029 14149240241357120844189879593673502611450799250678561232070346158349456688263714871396704900736179418132832019921860372939950906464744030837224986026430891092052219745350891541289325866665657914631605659976709533735424088020202197332950452470293794989549028107506815400947457641583605453216911984854564635540415764017148949985468728174256701676181799416228723185965396766226990101641357353504123140839224149684811885362527752409561650306923109418604824742931962894295419798574974703954270403433129790364044904826191198652868291467830991549702002691720941338114820319018270470736900057578231605244504158293985044968743005925962944409036634884267630932640228862799454446368619889008320384532108134752923446085577602166747498751430373535502343028780461441736552204967824834139113531663703764964637562937045587451299466150057355127835932527134429475965003945484459733255817228853735820297312046060768210910006525771473878813637216840686679736934809084178967602484947345609700937103481919421960089827636285581967405830324900786788885646701083321360313911308720827162192302581160949578561907935087052632463934436205472871075658201079358467728131556337936441604546444119389919298539584700409546356096335563801586015593515343346037289260463791557067079403403076581965398090989992450054573102623144025019320702262488977559329632813865074699870631660981021927631834184601008730585124987773620030604212737560538036647804823003043364889763753234846413343605518729858965424766823323649134565278245636567571289904602619309397677389562639296992966375356259671946398813204556523240511356631789571987782254126605234283056471113115923152210558565551280550472580630108963382171889793627045146163979695384994336735232635970419450205319290997701564446175217339872844791670331076111662972043043889931351038128449520011729943335140962698067997115379362318729085625457285269470683663447856863916824029117410722658607219652015317219952513664465734134569406548167245093635598638217798791637318356587966187084623086322888673575440287669716526193827277898932672973760147959165651652472085650851029242079702458523273855421066805153903246249767517330596394925378936872063586769695203897908677429905166955308084976151531379644351524206479825125519695153413674672218991987200655341912423749653711151224628313330004970107860859963943044653493973643667499561055076802603826937292261446765077802036125680006658595334050388788111414843243827830574450917883719822157677308482689451850999927511330232095707105629097526565027403676233266117666226812202237061616798848430266208472072383434840549166210361911076689398090350437963059292863145755710720340455897941357118007115007878399988378589491146181668536131098424410687225152409267939823833784338733363454384821170360459303547832638304675359271676298091126536588190370649815378733398937636050102688969431770197671124994317852369038259125181195756003919372323254978265687045551040800059611332221054423729651411873251658917674372293791841520427625275334710989786523301684852382599650040440350661765041062845172432596375819222294771631702783509689484606018052782750537234866060256535825317514922860601147513357480488920055048310605661333129283744230818598205022632117770498018757980119579853638788846026322566490387893841253173896721627690417419681058008464707717818752061414656590788747575442588151621749508292487209944146575913442090944823148133018751380670309109648127405683984216806375752931879696594485914853439251213863379143648142779056443174277885929010500024061076684186210302821077732926378178388167326167065673488621635925866498768753207888852659058912259719253750451586231953253663709664019387108940901936944363634336901455703587076454012503087444575644427059620617625152112489792941972101306146496051611654353854831635033122804452792770392945350179455021088058857761340435251737329868181213686426840897096389424082893468558271691275961085797854201954289553684715184753814343329298980256274305090853267466427934481658772323375809213877736627819130445081216249641179576422927518837060806534095702782142587025815643521304794233766962724321758569524830347723394302136106654421721766073909843702835018786062231074398880228797319607 22893951625503587134725207227020909227260729763852892469050223684967864793305590321105680728718980125145440257546632769179410473066173436277211023736898004986380132593474526301955323134397004551509567252729419174958559695756104504937077073118521892718928307617058462514871470354949855852047670351519318458497556391030116619426212232232488629088080597175724705745945719271585323654111300735426713621714081724913507608484871950925420434981346098783756032524037831942237027060394503746893001907802657016352341210047755289913870558069721066073191970542939014048063618840153341058808019430896197360679457571542082358815559096351467477729170932071366755524338469539896368698799439545468466194050764338078400284588298154630128082002815001776373090570512006653156116759053806040161599738752082406779162725322066293610364846537273625034467047232506088192016523945563840767486954617419408009676611099988045095163793820281954484875665338010157246892873672315874654927641546544054865054605342776113068406854086825020999730066533742131303807464939155511708870551964595947285851241426060938618479060562664122296175996587733188729816801933591444126897671739451573696313747267830295044032970530157822436255742900879759646999307792003570294158954103809312894804510595623770592686453716130821231498870574684463257311442876143733193402480947832859801494258672255078231506396451969776782024193892519205636206329200051536658350028004544144239964252723262604530326658523713158596195761415360791851271295971332799497151529419100503387534748750373194808765628743537339313909198056913737443726174031298237430663276054097405247209888473649993646241065719321658513301820155596934721186252314635987424649865597754803566091306505957514594706137693349276575449657279243813143102593220278389329216459403272261304043933122760768455211320830737967573736093911262396138957563461518847730539875165493944378461256389906594987938583723933675127574989154589542389782576142628792181908153312590828195641731592646288130614289884278210455367049533563483412367025509649969072773292760741249902966671197329904187885362466316345122871013416151255713479794883188724230353688828207248662513105956470349166371883024877222796306912585410719732985771705910963387948225564325471910578963007660063727843224824274455728236372813759993437755854581060794071061185990826149730226264215880834915814106081045496462183530454633379934905250647364174788581326764654126205088536297067339115347617145836430869436325368851090125529677598977751774457724353487678615185207206298079770849464376262821036221515535451033992763994048805011833163887290186331406699535120271593520555855532369729639413825874349182925646264013404874078543016641640136552206216821507223746800049087763094140722155576316368850223630593756853632205883493372439690118872433461541931437990597803454862205952717545529401785776795707826853357371634328172057067636522027297868911590634534224288983562985421713740079639584410531070826667202802905950922557377860674634744434173301543875093998252109288394548768865050551052546115979735415909732760993725379424271301496570351461030914060065169145115412086577209942006524483698518855976381521027009372757575306645699358219418985109160988655542834583366602332636558765865530347832743742174000353418000335955186784150214733313773088517650887752084564620299311070818774869263892029454786503465036489460402177967979126362474444822412504409083224584593803523286401098422860047579465643463559005487266065555911080950007836265576844899781719629669195481887444272089883298349624998021972399281140933322137486533389100556802616480721193359545850546463651965346603696615880951723464435625508907979838844700349702415842961891371032067626381461650824654448138208695503365676576371832163768590993158545766570415209182540659695273590702539952416729898688462300194362581762884961586601027039657635378095105501844362084781491008750378022952734190448556734329083225186664647179602281105706216068830522109098252374818311940940156877472681898440469006057673006894346986645761209643195105306845493118060918993678872124270078536718506896551160923804414789740189036414916229382192506005916439091845182137142644500219100636 37043191866860707978915086820694411838711529014531453701120569843317321481569305192502385629455159543278272277468493142119361379530917467114436009763328896078432352338825417843244649001062662466141172912706128708693983783776306702270027525588815687708477335724565277915818927996533461305264582336373883094037972155047265569411680960406745330764262396591953428931911116037812313755752658088930836762553305874598319493847399703334982085288269208202360857266969794836532446858969478450847272311235786806716386114873946488566738849537552057622893973234659955386178439159171611529544919488474428965923961729836067403784302102277430422138207566955634386456978698402695823145168059434476786578582872472831323730673875756796875580754245375311875433599292468094892668964021630874300713270415786171743800288259111881061664312687330980162302979759640517667981527891048300500742771846273143829973923146048813306073800346053428363689302554850843926629808481400053622530126493889664565991708824695535028496681723110602967135896858642918092693111640238833069184463273316774448043544007221888197040968497751174928639931023938661600892460134670802594625803295789510137918293711949684963331510114858231982611839236443561233014901307346916331448214567600869961883913998700352558084544706123271286071973197828488276632145138632710752732113761697934501364890333236100159138230636570785512609318880292825666810541937612074694997832827547187604854016476497450943670264042443017561620528238684440985836574216969367068441434021719812785212138313012491801732004099797011260308011261470260684237530663087809418445530180702639530266359586765916798451624284872939063774400785705898103358142108263032570813845293139797902826539141927934044911456984346978139895832496583685987894263551354500992188502447162192655082061572280780185154655971700665641733209290624714868043188918804117201223538613350808295285285507317317646545803375948992347527502819055276524351982690796037275543751950808626987279049949234254317698912970601099128942489821233199938560852787548901745747052908700415554619143282980755217127442168774868396726434482956409616726044650706054826748614207144120726099875651674247075049312930044178104391888736942099377337295912390788513467920717739146582797954994860719069755648573928166879461001127089998407863715441024737115714679964469817229787319292683438742751398342492261539985566580313386593500584697752962899996170008481956779539454180787161273024925628525882720436252880181322221236783228075278339485128029720944732851434018500316832466263224693087244693587918885874541930204410716088522561977640624294465992398266027304240896311430311086757420940882227582914024853504551055747079147740064547239431369230775163570633833426496457595106976746676828153771463232061528991477559791463566226707062804111357310171389535439504964894922149315727072910771113560195891616496815523928060987008845282276134598636185575024348594895206476137469731051457662189988501039496594747471350182653195385624530957474986396257693648292549639056313809927895723485142491798957710681364463777235068908877319549353101998265780120321704970432927009437811089519881964187438911024692126688342502041319537464297563242051102879659007413522954163220241121482585088432020735726584995347897075045690753374867842158679441031591840579065544342873312195741899222440524377556379239398933079378478580405225326100997877743144753932060631814767208801400179276218280795017345962432904894677422384630914208334967524124285722194587344923842796313855405784708522005016261476737792324189038072769762569248003985302142308445655275539633453078799600998049883918600267406279900338832405337562453271614175746156053289492296974394458476643270808521271442279600250698488445337777882518328215380245347013377401603538013635333430088218940881994973504788756449802735446099911631066175273027867936754024802177998970402633776057452094548232224907023744133271919082897568515963627435876586196559483535258456590757024698194121154817893505291812343521685255698852583317274505482822016177290808088988080143876562514983666358037041261040265466075991271527809091876295690836637995456102349708751457877907413211541524729016420243 59937143492364295113640294047715321065972258778384346170170793528285186274874895513608066358174139668423712535015125911298771852597090903391647033500226901064812484932299944145199972135459667017650740165435547883652543479532411207207104598707337580427405643341623740430690398351483317157312252687893201552535528546077382188837893192639233959852342993767678134677856835309397637409863958824357550384267387599511827102332271654260402520269615306986116889791007626778769473919363982197740274219038443823068727324921701778480609407607273123696085943777598969434242057999324952588352938919370626326603419301378149762599861198628897899867378499027001141981317167942592191843967498979945252772633636810909724015262173911427003662757060377088248524169804474748048785723075436914462313009167868578522963013581178174672029159224604605196770026992146605859998051836612141268229726463692551839650534246036858401237594166335382848564967892861001173522682153715928277457768040433719431046314167471648096903535809935623966865963392385049396500576579394344778055015237912721733894785433282826815520029060415297224815927611671850330709262068262246721523475035241083834232040979779980007364480645016054418867582137323320880014209099350486625607168671410182856688424594324123150770998422254092517570843772512951533943588014776443946134594709530794302859149005491178390644627088540562294633512772812031303016871137663611353347860832091331844818269199760055473996922566156176157816289654045232837107870188302166565592963440820316172746887063385686610497632843334350574217209318383998127963704694386046849108806234800044777476248060415910444692690004194597577076220941302832824544394422899019995463710890894601468917845647885448639617594677696254715345489775827499130996856771632890321404961850434453959125994695041548640365976802438633215469303201887111007000752380322964931763413778844752673746541897223912634484387099882667475102491973644818914134558833424829457451905263399455182920781541880542448313202854879309584309539354796683350927878297198870818520345669441665457585814480310659405012804635091213519597447899107665330205839533894779057102303035351369388612981608144596241421195954921400900698801322352819110323067618301751901416146282064618493376918002520782797598873398202622607697373940849991845619570022085531186775865955295966960013583508564273658565504423537758002169097034946766528405835345117137688577496773136082984627990477854500388372542774362313589872578249032412346766460827053030113942852383208623348036641224798396603315727600955908280915103454336908534694198459521100355725864930810625872691933386298897761452166962680816396834766756576765839671117517955929825622164381704683791637586052282387317433882514259551735829132322993197003995093825818382623683443284836005916825935237572899241609380133242959827100874866861256474696547909268022744973868449852100118054645367309574003510226820109248637578458191897851209810691042072721059327706699397653422272740031056060259275391648287940132787646544658927450862578792946274537688607778693126591097224770960448333148621045923453459296694180386874115548339096015021031526406447885957767001073647715351874798894844109996921461470087988819996069065788746586843454119143854297551083559328737521897428463691089330054626308894174345364929096716432094957876816041210293259299246820271268853719582843515069865627504068977004105619198754473136223850433385993982799504681893440206010012370538140981390118180273890878605074293558460164189823624515943524601266595966277106144775087417322211010472050903502570141471835531409002457892020354646438345451544513535883946871102895781290555869773187962179594014590856402991908139936285829508710897189982922266934048388907183948703454458890160379148836340171923168173953222817874089783492531584534925921518655138265035640462493393951136859628894976411660180273104472246995860838943103298610247859757934581828653411980793702628274615478867302265699604088978699855277073012433095758050382764494241962154261756525590211621492128583225820485913395833573261937481508662538482307119797758772362627152195332223881616484727251554224838294855714667896969752595348684169229235520879 96980335359225003092555380868409732904683787792915799871291363371602507756444200706110451987629299211701984812483619053418133232128008370506083043263555797143244837271125361988444621136522329483791913078141676592346527263308717909477132124296153268135882979066189018346509326348016778462576835024267084646573500701124647758249574153045979290616605390359631563609767951347209951165616616913288387146820693474110146596179671357595384605557884515188477747057977421615301920778333460648587546530274230629785113439795648267047348257144825181318979917012258924820420497158496564117897858407845055292527381031214217166384163300906328322005586065982635528438295866345288014989135558414422039351216509283741047745936049668223879243511305752400123957769096942842941454687097067788763026279583654750266763301840290055733693471911935585359073006751787123527979579727660441768972498309965695669624457392085671707311394512388811212254270447711845100152490635115981899987894534323383997038022992167183125400217533046226934001860251027967489193688219633177847239478511229496181938329440504715012560997558166472153455858635610511931601722202933049316149278331030593972150334691729664970695990759874286401479421373766882113029110406697402957055383239011052818572338593024475708855543128377363803642816970341439810575733153409154698866708471228728804224039338727278549782857725111347807242831653104856969827413075275686048345693659638519449672285676257506417667186608599193719436817892729673822944444405271533634034397462540128957959025376398178412229636943131361834525220579854258812201235357473856267554336415502684307742607647181827243144314289067536640850621727008730927902536531162052566277556184034399371744384789813382684529051662043232855241322272411185118891120322987391313593464297596646614208056267322328825520632774139298857202512492511825875043941299127082132986952392195560969031827404541230281030190475831659822629994792700095438486541524220866732995657214208082170199831491114796766012115825480408713252029176029883289488731084747772564267398578142081012204957763291414622140246803866081916323882382064074946931884184600833883850917242495490114712857259818843316470508884965579005090690059294918487660363530692540414884066999803765076174872997381501867354521972130789487158375067939990253483285463110268302490545919765784189800902801247712401316902766030019542154663615260153121906420042870100588573666781618039764167444658641661661397468402888196310308831129213734568003244055128308453427980412929568080888075243298713435781990825648995525608691373222783076624402870237188878287842571434920338684331652326202002348478392991903154255707638804348753695971022506985572701312121769231031068955283057550888067715940756009330936109069670025157766557057879911615161003076299572143532998041684256551780769668682464791995797016176983547607319022828218636590365265376028179041654212591850138108863005684272986173353398373988679541742499734911047828746195992400893622922684251445883806349123274336390481294837208566507176388720841998022831099577650837272461688548195517242025940595276555457562474300708579085981266105452832121046288412073396678025765774403694376840214381574294484703521190868479003482588742909807084575601728942729571819285913732869794503509381842704922468467573615376956769675781976437831189011783109515699823624376650508252652662221993650270852830169974881848763952686533768038617642187394162075722962688457551972445275432818403774749094482225846129198579280654751534747467312257380007051304488282122406251825209646400048544820666071818145457137673717448113167559988099517145052542563419802547138509175681629388275110750415451208190337012456281400436910680287985354167998504193709213648639605672394041232341408488594529081687185300569777491236453207519871711472466529899426307411588067771086562405025017312132656762913165684982451103442649629636896395197846842472766781678715100572494878362218591902051355453498825183139347435290612301771206554250575943888056306585483839517455378173528895997611405241997776721484821653405814044023646204840344161058799037828703143466860032973492780418088192220294397205423419354847660008560225693958251941122 156917478851589298206195674916125053970656046571300146041462156899887694031319096219718518345803438880125697347498744964716905084725099273897730076763782698208057322203425306133644593271981996501442653243577224475999070742841129116684236723003490848563288622407812758777199724699500095619889087712160286199109029247202029947087467345685213250468948384127309698287624786656607588575480575737645937531088081073621973698511943011855787125827499822174594636848985048394071394697697442846327820749312674452853840764717350045527957664752098305015065860789857894254662555157821516706250797327215681619130800332592366928984024499535226221872964565009636670419613034287880206833103057394367292123850146094650771761198223579650882906268366129488372481938901417590990240410172504703225339288751523328789726315421468230405722631136540190555843033743933729387977631564272583037202224773658247509274991638122530108548988678724194060819238340572846273675172788831910177445662574757103428084337159638831222303753342981850900867823643413016885694264799027522625294493749142217915833114873787541828081026618581769378271786247282362262310984271195296037672753366271677806382375671509644978060471404890340820347003511090202993043319506047889582662551910421235675260763187348598859626541550631456321213660742854391344519321168185598645001303180759523107083188344218456940427484813651910101876344425916888272844284212939297401693554491729851294490554876017561891664109174755369877253107546774906660052314593573700199627360903360445130705912439783865022727269786465712408742429898238256940164940051859903116663142650302729085218855707597737687837004293262134217926842668311563752446930954061072561741267074929000840662230437698831324146646339739487570586812048238684249887977094620281634998426148031100573334050962363877465886609576577932072671815694398936882044693679450047064750366171040313642778369301765142915514577575714327297732486766344914352621100357645696190447562477607537353120613032995339214325318680359718297561568530826566640416609381946643382787744247583746469790772243602074027153051438957295435921330281171740277137723718495612940953220277846859503325838867963439557891704839886979905789491381647737597983431148994292316300213281868383569551790999902284664953395370333412094855749008789982099102855485195799489266411875061751149814486309811986059882407189567777544323760650206919650312255387987238277151163554754122748795435136496162049770011177250509900181409378246146914769704882181338567370832796138191428924716468097110039097718426604903806523794827559691611318601329758289234013707502245546211376265038625099763800645355672719551090474395381114593367088540462915398323476503473914822706541335339938205501598455015561066765241392663222161761650883698294238844446361135578060358933279257155793390149801925424619096671883038240022303866932096241381564233715228128297096299579901424141619089825793521623751811590271839889352433541807632107156452895390054315895662715307506143081740771562276523268941381867493958038967513788272560519707356343963863558913319155965575174561641200008916859168481095453201529605201467853152572694859959354445026839422119046251639109225684291406164991278857298999551654531656393928029720872797027122902845242470391691931973072932034977094776467789722321698772498408532789065827824319808959122871196921777106372245065508720136480334238951885954383151441006904262468075573388144875227644581897757982457645970959385164867274756116724734272872839114915724571091828200904608317900454559228551026912626968611059016871569574388286928973205126450571059580342745955490504087076955686494009612071462919944144883938377630802204927868859273308576846966117494065065188487115976147697028512856342744686800298648973677918027357223737951444459271081609655204004051064825347826066726332806727024898418968448992285657889577345162724207914896625497735338301145452720626539613296929225906859155921220176666834320801090882743436413990467578844218987346333994270820800827445993779211903763740517489739988467818262634880655226667751525532308743322651280856557810191330295662192256855109265145339746445132692061138087251817412603908909863187487462001 253897814210814301298751055784534786875339834364215945912753520271490201787763296925828970333432738091827682159982364018135038316853107644403813120027338495351302159474550668122089214408504325985234566321718901068345598006149847026161368847299644116699171601474001777123709051047516874082465922736427370845682529948326677705337041498731192541085553774486941261897392738003817539741097192650934324677908774547732120294691614369451171731385384337363072383906962470009373315476030903494915367279586905082638954204512998312575305921896923486334045777802116819075083052316318080824148655735060736911658181363806584095368187800441554543878550630992272198857908900633168221822238615808789331475066655378391819507134273247874762149779671881888496439707998360433931695097269572491988365568335178079056489617261758286139416103048475775914916040495720852915957211291933024806174723083623943178899449030208201815860383191113005273073508788284691373827663423947892077433557109080487425122360151806014347703970876028077834869683894440984374887953018660700472533972260371714097771444314292256840642024176748241531727644882892874193912706474128345353822031697302271778532710363239309948756462164764627221826424884857085106072429912745292539717935149432288493833101780373074568482084679008820124856477713195831155095054321594753343868011651988251911307227682945735490210342538763257909119176079021745242671697288214983450039248151368370744162840552275068309331295783354563596689925439504580482996758998845233833661758365900574088664937816182043434956906729597074243267650478092515752366175409333759384217479065805413392961463354779564930981318582329670858777464395320294680349467485223125128018823258963400212406615227512214008675698001782720425828134320649869368779097417607672948591890445627747187542107229686206291407242350717230929874328186910762757088634978577129197737318563235874611810196706306373196544768051545987120362481559045009791107641881866562923443219691815619523320444524110135980337434505840127010813597706856449929905340466694415947055142825725827481995730006893488649293298242823377352245212663235815224069607903096446824804137520342349618038696127782282874362213724852558910880181440942656085643794679686832731184280281672148645726663997283786532307917342464201582014124076729972352586140948306067791756957794827535339615389111059698461199309955597797086478424265467072772218675430857338865724830336372162512962879795137823711167479580138706210490240507459881482772948937309647020798813209067759509812791711395823474879709252253899332132486200782474687943004199995478112301550073680466550060596690951301766149123748664622705346182034185463347063059562969900971024788625243145853775496618397489093569314395771570397701350462333247319528207941578205854005449437435150203891931320941412345170919470607889411092468899215223569911185954924460018154598980604156476137953792493274279727952831477794609925164988645828568894176041542543154985199091382455209518585399558952026888089894836612913750236219076060465215356234630270583350806933994801136020601867351482817200502236476564374421642781804032287510871306920685273618983272032751123052605196522740628479323607258585890868512469725778003034243274566201012605322601739756694722131156203261486435482454774739899563244041405099278468448280384970620254839607429324658946495573572285359024907287502370407333164408926767803147104127540672301085717760782306950950607270355309954902921403777788939616369238342570863471452119769667259318559140458284615369204942841350957278737836615011107561692235646206432386110878843898684227140330845472635556629640375489041148121247144549332419994688793082010395264881315554709013757646405479419233186991309685361345668118528736785919141707137568206999714542524307728935695724289129526915476517594724774133478314400577813587303443985761124942420802743030145175311357546255134631733498992295193393321292012029798401737518139812078718189774299916065882783849281079880615425541596909938158877107412929833296667281937269413487351393709816039356365476880073565569555954948162995441915356848020033439129052289828602045563427938665427089266561506606665072612469135557145739403123 410815293062403599504946730700659840845995880935516091954215677171377895819082393145547488679236176971953379507481108982851943401578206918301543196791121193559359481677975974255733807680486322486677219565296125544344668748990976142845605570303134965262460223881814535900908775747016969702355010448587657044791559195528707652424508844416405791554502158614250960185017524660425128316577768388580262208996855621354093993203557381306958857212884159537667020755947518403444710173728346341243188028899579535492794969230348358103263586649021791349111638591974713329745607474139597530399453062276418530788981696398951024352212299976780765751515196001908869277521934921048428655341673203156623598916801473042591268332496827525645056048038011376868921646899778024921935507442077195213704857086701407846215932683226516545138734185015966470759074239654582303934842856205607843376947857282190688174440668330731924409371869837199333892747128857537647502836212779802254879219683837590853206697311444845570007724219009928735737507537854001260582217817688223097828466009513932013604559188079798668723050795330010909999431130175236456223690745323641391494785063573949584915086034748954926816933569654968042173428395947288099115749418793182122380487059853524169093864967721673428108626229640276446070138456050222499614375489780351988869314832747775018390416027164192430637827352415168010995520504938633515515981501154280851732802643098222038653395428292630200995404958109933473943032986279487143049073592418934033289119269261019219370850255965908457684176516062786652010080376330772692531115461193662500880621716108142478180319062377302618818322875591805076704307063631858432796398439284197689760090333892401053068845665211045332822344341522207996414946368888553618667074512227954583590316593658847760876158192050083757293851927295163002546143881309699639133328658027176262487684734276188254588566008071516112059345627260314418094968325389924143728742239512259113890782169423156876441057557105475194662753186199845308375166237683016570321949848641059329842887073309573951786502250495562676446349681780672788166542944407555501207331621592059765757357798189209121364534995745722432253918564739538816669672822590393683627225828681125047484493563540532215278454997186071197261312712797613676869873085519954451688996433501867281023369669889286489429875420871684521081717145165574630802184915673992422530930818844577142875993891126285261758314931633985760937490757389216110671649885706028397542653819490985588169646005205950938737508179492933513977427678858803138656281028342166299261605529753767346315257575926012761436861729576401529949769104337342256436656429566577940430148103432816369348265128717060676482037953737427299070912850787131464466591854996469481289858825276500092849895798570728264250864600198568138561069272533314030189140782253463592215052887020701399718832695832284773234253372394698421347042657271316233676976578917668458246609583350175262141651986772509525414248114866458169969830666398889437019177600943554423254323748418543143870514290338764999579515186507448392375063877676573291280811262899485489040476508388538426191678131992105568079444618641786880118432832942877297033503748583077002585897806222594940635043474536783817624976398673653178367455527706774876658020509194821600167220778793503409320667431749133618069366770494062465397152353011090543813498647878653757530255568547576563553793334170451826178251852253067937360567374737174104483643994459295597744324958884582983889650968659189223687105397400579508305650463583622166578563805220594719315084083970349255286720673591428126060716717331175535157733318607469276564878627170712812600192750174828017590604612522973484298375478425661509042696631385079530605942005786541884917741899748045680380154995370739182119480568659550121959545040733384540612201862954210117228078692320375307899519272442880632367071800137747914019860905308959024308596674061032255385024095101006948626220263271547459459644528943243932429697908240375827075879185701009930977091382177634301991246132106741317095088263691485646722771914658211363734791244546683711310708767685110559781327699593858482485216378045420333226865124 664713107273217900803697786485194627721335715299732037866969197442868097606845690071376459012668915063781061667463473000986981718431314562705356316818459688910661641152526642377823022088990648471911785887015026612690266755140823169006974417602779081961631825355816313024617826794533843784820933185015027890474089143855385357761550343147598332640055933101192222082410262664242668057674961039514586886905630169086214287895171750758130588598268496900739404662909988412818025649759249836158555308486484618131749173743346670678569508545945277683157416394091532404828659790457678354548108797337155442447163060205535119720400100418335309630065826994181068135430835554216650477580289011945955073983456851434410775466770075400407205827709893265365361354898138458853630604711649687202070425421879486902705549944984802684554837233491742385675114735375435219892054148138632649551670940906133867073889698538933740269755060950204606966255917142229021330499636727694332312776792918078278329057463250859917711695095038006570607191432294985635470170836348923570362438269885646111376003502372055509365074972078252441727076013068110650136397219451986745316816760876221363447796397988264875573395734419595263999853280804373205188179331538474662098422209285812662926966748094747996590710908649096570926616169246053654709429811375105332737326484736026929697643710109927920848169891178425920114696583960378758187678789369264301772050794466592782816235980567698510326700741464497070632958425784067626045832591264167866950877635161593308035788072147951892641083245659860895277730854423288444897290870527421885098100781913555871141782417156867549799641457921475935481771458952153113145865924507322817778913592855801265475460892723259341498042343304928422243080689538422987446171929835627532182207039286594948418265421736290048701094278012393932420472068220462396221963636604305460225003297512062866398762714377889308604113678806301538457449884434933934836384121378822037334001861238776399761502081215611175000187692039972319188763944539466500227290315335475276898029899035401433782232257389051325739647924604050140411755607643370725276939524688506590561495318531558739403231123528005306616132289592097727549854263533049769271020508367957778668773845212680861005118994469857729569230055261815258883997162249926804275137381807935072780327464716821829045264531931382982281027100763371717280609181141065194749606249701916008600824227498447774721194726771809472104970337527922321161890393165909880315602756800632608968459214273710448550299890888756988857136931112702470788767229124640987204609729749245458616807649606479311497458420527703296098892853001964961782838463752041287493207666402717340373053753960206530257534572134916392640227246558701862167942317329716800818066766854705946855345236005878468142795921139980483731988743141203441281609681468687162126238841945161417873431676436441249372207164887972701074995488749110843602141567563497027140785624892718417126851078154964734932833514425410196857920561235502350769413820019614888469679983048813727221321224333566135600117053858931209575566114153137665702454044703517776551347815309223699810661404024856691132049815164527508597756440201463187902016218308855005620141080788795953240366076276540512347107554876914664802937982481514776221264550599920878635669059178474029575507039178458277015862344066347824422059640513460951146663056805421560677359696088248864639511094952758777128859122608377892263488778514963044100013232801866461215777078654250243208210109117473839056310340241930465584388300198633274140256040866801151701194962814247939513861004436900761617346357706664576305854565752018608984873315963794822995457631490382726604362258928452903531562469735346870388364749913816316525083712924110091917456442272353409315850719659868709034957086254274896093023355133962354199505306939971242170499495063405453074830629989135766998805299130043107413182197320988822710334192200844334103213869400923014509004112552627340075070070540153870588575015653305660372546467638279344464442775887450341347611608986814882664644218639648642164687271506231397173920296836512313356272195623775986870594261100465147557828847180977478966268247 1075528400335621500308644517185854468567331596235248129821184874614245993425928083216923947691905092035734441174944581983838925120009521481006899513609580882470021122830502616633556829769476970958589005452311152157034935504131799311852579987905914047224092049237630848925526602541550813487175943633602684935265648339384093010186059187564004124194558091715443182267427787324667796374252729428094849095902485790440308281098729132065089445811152656438406425418857506816262735823487596177401743337386064153624544142973695028781833095194967069032269054986066245734574267264597275884947561859613573973236144756604486144072612400395116075381581022996089937412952770475265079132921962215102578672900258324477002043799266902926052261875747904642234283001797916483775566112153726882415775282508580894748921482628211319229693571418507708856434188975030017523826897004344240492928618798188324555248330366869665664679126930787403940859003045999766668833335849507496587191996476755669131535754774695705487719419314047935306344698970148986896052388654037146668190904279399578124980562690451854178088125767408263351726507143243347106360087964775628136811601824450170948362882432737219802390329304074563306173281676751661304303928750331656784478909269139336832020831715816421424699337138289373016996754625296276154323805301155457321606641317483801948088059737274120351485997243593593931110217088899012273703660290523545153504853437564814821469631408860328711322105699574430544575991412063554769094906183683101900239996904422612527406638328113860350325259761722647547287811230754061137428406331721084385978722498021698349322101479534170168617964333513281012186078522584011545942264363791520507539003926748202318544306557934304674320386684827136418658027058426976606113246442063582115772523632945442709294423613786373805994946205307556934966615949530162035355292294631481722712688031788251120987328722449405420663459306066615956552418209824858078565126360891081151224784030661933276202559638321086369662940878239817627563930182222483070549240163976534606740916972344975385568734507884614002185997606384722928578298552050926226484271146280566356318853116720767860767766119273727738870050854331636544219527086123443452898246337049082826153267408753213076283573991655928926830542768059428935753870247769881255964133815309802353803697134606108318475139952803067503362744245928946348082794096815057617280537068546493151476818118624733036479509658405795233042461094917138431833540278871938277858256576291618197138105219479661387287808070381690502834564609971505609445048257466807286466215259503012804932065225532492072934320150104104826048661957339307218219494893318619227923355769835533709721318882677267206739572525872343691711140097345833326634534172326186282107925592131206039705241034576606732393660521338548622293058015674517471470750463722150754341291728965862817592264372268726022606460537282671122422038146020427077279118146481165485387395208242893679268503064927474260347081629291868366827751227634391787788591420963169311724003731467356871091835514672331135179632240366379601950629991829710956983265307603003265591824323697762126002339536016962259211494433806314388716189273144340484935519966891932008206038887011390893875409550813324329972083953550567843170393510188289652879285059794742478802889837971977438896174470927591895085229114560410289819211993524551494960161704684075318207615264635825428193304429123210603307110974861445829624056153252137148583657227261162058960102037538833227097861077776663062743415737642509973890038763782255440718819846087395871016279046784597194800581678028328887678063075037840111463587884359487885549751943134507635595650381665210744194966871451426387829937948161008379431061381298895847131025718710651976835198342020399089696005715030607891154437654913825018052568395867346894811707169894181359398578187383780760974349902432016399365877099267791021433043102629947847018930866261876589488237964501929963135224375824174799534714599483397803018272923893681487448425653339289275441534158065084643338857741093556199759732482331134288887459186164442760908711541383196024666980963308886546651921960694323630043045225226397812193133371 1740241507608839401112342303671049096288667311534980167688154072057114091032773773288300406704574007099515502842408054984825906838440836043712255830428040571380682763983029259011379851858467619430500791339326178769725202259272622480859554405508693129185723874593447161950144429336084657271996876818617712825739737483239478367947609530711602456834614024816635404349838049988910464431927690467609435982808115959526522568993900882823220034409421153339145830081767495229080761473246846013560298645872548771756293316717041699460402603740912346715426471380157778139402927055054954239495670656950729415683307816810021263793012500813451385011646849990271005548383606029481729610502251227048533746883715175911412819266036978326459467703457797907599644356696054942629196716865376569617845707930460381651627032573196121914248408651999451242109303710405452743718951152482873142480289739094458422322220065408599404948881991737608547825258963141995690163835486235190919504773269673747409864812237946565405431114409085941876951890402443972531522559490386070238553342549285224236356566192823909687453200739486515793453583156311457756496485184227614882128418585326392311810678830725484677963725038494158570173134957556034509492108081870131446577331478425149494947798463911169421290048046938469587923370794542329809033235112530562654343967802219828877785703447384048272334167134772019851224913672859391031891339079892809455276904232031407604285867389428027221648806441038927615208949837847622395140738774947269767190874539584205835442426400261812242966343007382508442565542085177349582325697202248506271076823279935254220463883896691037718417605791434756947667849981536164659088130288298843325317917519604003584019767450657564015818429028132064840901107747965399593559418371899209647954730672232037657712689035522663854696040483319950867387088017750624431577255931235787182937691329300313987386091436827294729267572984872917495009868094259792013401510482269903188558785891900709675964061719536697544663128570279789946752694126761949570776530479312009883638946871380376819350966765273665327925645530988773068990054159694296951761210670969072946880348435252326600170997242801733045486183143923734271769381349656493222169266845417040604822041253965893937288692986125786656399772823321244194637867410019808060239271197117737426584024599322930147520404484734450485643771346692318065363403277956122812030143318248409160077642346123180811200704385177604705147431432445060752995430672037848158173859333092250806106564433753371835838107961270447491691701541084208080233815486591448273670824989252258263548872875138971384431778570631808122147554810341272180002333357070660515416563436238251050094372636637473736997107098007260084351367343904535188802476489655903082925992358985911986560586270582485200536456442478529106025046758815720912752360145190837916467530570911024235465696048705167271978667702170643823497033634769537920881259714044662512528180833135612096395354143082438995279915143717278563685671788869894138558005240982784200193683714516170598313156739005897270779749294225310811526196105982848622685719352306521042143172139006985825813000940041818950343544248970841897313945713345803672837536185200787013826179967800186847115775627089864842319191508427482507973331492669804429100549610394663357438558897150451468471681510106050172101091458626758114241271634038012446106824761489496878884974960724074292832815524075969380435970097469823721887544931767100192683670460063028520175879116193083470306071186894136901799726077884440439474427063980888714859075886954197022717474009598845134314442682465229649295409432744504687769442450111506494534625259098302458591108013155593470799329130379879291361500417896355249819426131212712163656109431634762068752654784292752499011856434690476600189394741168099914145591751001309249011212476834152601569077682447186214049180532421152166364682398397834128846225299950936669729265058462720923591451833902852977644228488376802139609784670023551673606847939546987147820972120977568619905976933952534984686469350080371082424376700970782931052146457670674158082631838219708338023253158932662533522516221794788777600874072407375291159401618 2815769907944460901420986820856903564855998907770228297509338946671360084458701856505224354396479099135249944017352636968664831958450357524719155344037621453850703886813531875644936681627944590389089796791637330926760137763404421792712134393414607176409815923831078010875671031877635470759172820452220397761005385822623571378133668718275606581029172116532078586617265837313578260806180419895704285078710601749966830850092630014888309480220573809777552255500625002045343497296734442190962041983258612925380837459690736728242235698935879415747695526366224023873977194319652230124443232516564303388919452573414507407865624901208567460393227872986360942961336376504746808743424213442151112419783973500388414863065303881252511729579205702549833927358493971426404762829019103452033620990439041276400548515201407441143941980070507160098543492685435470267545848156827113635408908537282782977570550432278265069628008922525012488684262009141762358997171335742687506696769746429416541400567012642270893150533723133877183296589372592959427574948144423216906744246828684802361337128883275763865541326506894779145180090299554804862856573149003243018940020409776563260173561263462704480354054342568721876346416634307695813796036832201788231056240747564486326968630179727590845989385185227842604920125419838605963357040413686019975950609119703630825873763184658168623820164378365613782335130761758403305594999370416354608781757669596222425755498798288355932970912140613358159784941249911177164235644958630371667430871444006818362849064728375672593291602769105155989853353315931410719754103533969590657055545777956952569785985376225207887035570124948037959853928504120176205030394652090363832856921446352205902564074008591868690138815712959201259559134806392376199672664813962791763727254305177480367007112649309037660690986688627507802353703967280786466932548225867268905650379361088565108373420159276700149931032290939533451562286304084650091966636843160984339783569922562642952166621357857783914326069448519607574316624308984432641325770643288544490379863843725352204919701273158279330111643137373495997568352711745223178245481817249639303199201551973094460938763362075460784356233998255370815988908435779936675067513182466123430975308662719107013572266977781715583230315591380673130391737657789689316203405012427539780387721733929038465995544437537517989006515592621264413446197374771180429310680386794902311554460464747913847680214043583399938189892527362199184828970950909786436032115909383869003244669653233033223125916031652137994526266151055713689678863744058255560137040248755271068480938100671463457366098720735912948196216767680579398221828250389279743339919206073784759815691519314740943736679623879603776062507441250368515437010661982089365033917951117118026265827305159091932930116963817077728318104774490238384223110608912988670808822299876887053057960420973893294585128239453314945919071780789964998160377860525827997915576041378505775663857208009913255626996773009146930513423016504285926346596661945953511917687445983527469404992253678228405959381534591690413476826097812559579668984659909524307734996462704747951815340476058781209555038682777156286030134986490144157773056152092719022032218854811577740991185177903189172291275461978050351143725002858094081979834670189405836241448735122428907367855981033642067186320573187168404060483627562563941066986466173572197092590225359899721026119953199179983743081072331269551511601085019237341267327687324190579135981153731916697403932264670799964543141815526950413364465827763144155577895733041592893733753056383442329115024360493558536973472507782344799233030334470994380084377202232810094186758394820804214994296001831305679191438366057363629250487512511608010787135150345414045587853126313151588707862149721084491343832396081924932198160146868656143822919646728333960967655869830966975023530434853168565730559497665625150279268402580884516748195924724597513079689798404782940779452864200976939144499269506949476625120863440668635269397774316857895347511092017619628025327091173927282184109183301917219939605643835116918991343379602904362690234122241549080174438182489112407643919297633773103352534989 4556011415553300302533329124527952661144666219305208465197493018728474175491475629793524761101053106234765446859760691953490738796891193568431411174465662025231386650796561134656316533486412209819590588130963509696485340022677044273571688798923300305595539798424525172825815461213720128031169697270838110586745123305863049746081278248987209037863786141348713990967103887302488725238108110363313721061518717709493353419086530897711529514629994963116698085582392497274424258769981288204522340629131161697137130776407778427702638302676791762463121997746381802013380121374707184363938903173515032804602760390224528671658637402022018845404874722976631948509719982534228538353926464669199646166667688676299827682331340859578971197282663500457433571715190026369033959545884480021651466698369501658052175547774603563058190388722506611340652796395840923011264799309309986777889198276377241399892770497686864474576890914262621036509520972283758049161006821977878426201543016103163951265379250588836298581648132219819060248479775036931959097507634809287145297589377970026597693695076099673552994527246381294938633673455866262619353058333230857901068438995102955571984240094188189158317779381062880446519551591863730323288144914071919677633572225989635821916428643638760267279433232166312192843496214380935772390275526216582630294576921923459703659466632042216896154331513137633633560044434617794337486338450309164064058661901627630030041366187716383154619718581652285774993891087758799559376383733577641434621745983591024198291491128637484836257945776487664432418895401108760302079800736218096928132369057892206790249869272916245605453175916382794907521778485656340864118524940389207158174838965956209486583841459249432705957244741091266100460242554357775793232083185862001411681984977409518024719801684831701515387027171947458669740791985031410898509804157103056088588070690388879095759511596103994879198605275812450946572154398344442105368147325430887528342355814463352628130683077394481458989198018799397521069318435746382212102301122600554374018810715105729024270668038431944658037288668362269066558406871439520130006692488218712250079549987225421061109760604877193829842417142179105087758289785436429897236780027883164035797349916685000950860959963907502239630088414701917325029605067809497376442676209545277206971746333251968613515948922271968474650286939313582478809600652727303241340823705043311471632102810871094658880918428761004643337323959807259937824401622947634594205975242476119809351234086986405058964023992922585486217967692139921769912679230649703833807865238007529332029810975810434841797877291367721070343771578021851578224161607459940258756482642312035809910064155952214680733786721886863860413874785154903704239487151637992447959910310103030012826413575741577133466573406295606834343151533305959296975470754103826587276352870787911288523656469679060566563795941623958769416105415559502919041637574570490510443756874514117872059211351092352250906911916726425494199094805374180064904601902928737712111371160499698067718148992684125676739130828817001225003022203795408202354704012216045349878168601711733777628341416100600159898582931747998183344080699835947830610592337293506035858398822611764588106960804993054014610466970405532859117056495527898511080384280584069193680007632272880375839537491139692239287412031813926518301755261600576387173811227663069075977565186083974013858935477275149364179051169801093273399146016786337533950998147387219099311860269925000167710003451564936866342867893411390852838892891744032870436971619995789916451227065982287463429467042958788186268881940526849487002472784582500874619002461331112552777866407976397685793625132211184970552938783953718879069913643724320174443244581980176114340507910605904087719718584411561091533227137250024846343751897869965392834132123562486562536733552278153189072710967274320732095241896063459279125493702531821186477460983187318436671141632307635918423681352577779078754283939530501150231968802987655783090369895294426515253488025970154612711796441254298364608485884272700150991752101505791077073975217822612700713487281174211613696954404283901185244793370041148394511936607 7371781323497761203954315945384856226000665127075436762706831965399834259950177486298749115497532205370015390877113328922155570755341551093150566518503283479082090537610093010301253215114356800208680384922600840623245477786081466066283823192337907482005355722255603183701486493091355598790342517723058508347750509128486621124214946967262815618892958257880792577584369724616066986044288530259018006140229319459460184269179160912599838994850568772894250341083017499319767756066715730395484382612389774622517968236098515155944874001612671178210817524112605825887357315694359414488382135690079336193522212963639036079524262303230586305798102595962992891471056359038975347097350678111350758586451662176688242545396644740831482926861869203007267499073683997795438722374903583473685087688808542934452724062976011004202132368793013771439196289081276393278810647466137100413298106813660024377463320929965129544204899836787633525193782981425520408158178157720565932898312762532580492665946263231107191732181855353696243545069147629891386672455779232504052041836206654828959030823959375437418535853753276074083813763755421067482209631482234100920008459404879518832157801357650893638671833723631602322865968226171426137084181746273707908689812973554122148885058823366351113268818417394154797763621634219541735747315939902602606245186041627090529533229816700385519974495891503247415895175196376197643081337820725518672840419571223852455796864986004739087590630722265643934778832337669976723612028692208013102052617427597842561140555857013157429549548545592820422272248717040171021833904270187687585187914835849159360035854649141453492488746041330832867375706989776517069148919592479570991031760412308415389147915467841301396096060454050467360019377360750151992904747999824793175409239282586998391726914334140739176078013860574966472094495952312197365442352382970324994238450051477444204132931755380695029129637566751984398134440702429092197334784168591871868125925737025995580297304435252265373315267467319005095385942744730814853428071765889098864398674558831081229190369311590223988148931805735765064126759583184743308252174305468351553278751539198515522048523966952654614198651140434475903747198221216366572304293210349287466772658579404107964433226941689217822860404006082590455421342725599186692646081221972816987359468067181007079511493359809486463656802531934846892255798027498483670651504091838213783186563275619008506561132472344404581527216487169459122653372573857421030238091151859988812595903740219438282089940024574723480744233843195635459591542974707959393944905486762800400510749076481898299163976012103634018539988345702430976445989857849220002096401848385820569725755675266955624470466345766467636476382226405272219676497813620081812993828261220148039092240880900669066396690370112684562661256307796197681198581363016815258085175170664798341581616890652953861148924181077273715335177196349467917202015435096318508359332915892623647723068559102265506533908689735572424712517821878465991251198564874691224029058606483225537123141246362354082698512363408691638479848301607967782023688672125569657613165064416481729443681892159381369453621614525154469374215686326091988383648489386225057890617677423342329098145982896243186901742432383583210260781498385992593060218950773475029921456367395309283207393472173334306473732605001094922362238889163140328240797693836641273070155411443873734885055430474329347922132242132362824910747101805574875218325834711409678447841423656916865113935716235736830886009708938341266203358719507177026014867353037382810184980122365729792544491403452346723242354448309194286235503119053495254703379663563922646964624802797201900787921134042490649744377150011082508320401156235928185230379732325590159928361036919055676427580734132645582877059533331949778541912044738621536657051770290820523504389422109120164096241402127489297825801393729084429404762105112705703225656907911915949750831430712418859203134216778756017898783209037450626857089666428324418359767669611284410600999117987774240737123532428225646792595067574617370931357745340907996065318597425517063403721403415760693871392586773013592888712667674921497864471596 11927792739051061506487645069912808887145331346380645227904324984128308435441653116092273876598585311604780837736874020875646309552232744661581977692968945504313477188406654144957569748600769010028270973053564350319730817808758510339855511991261207787600895520680128356527301954305075726821512214993896618934495632434349670870296225216250024656756744399229506568551473611918555711282396640622331727201748037168953537688265691810311368509480563736010948426665409996594192014836697018600006723241520936319655099012506293583647512304289462940673939521858987627900737437069066598852321038863594368998124973353863564751182899705252605151202977318939624839980776341573203885451277142780550404753119350852988070227727985600410454124144532703464701070788874024164472681920788063495336554387178044592504899610750614567260322757515520382779849085477117316290075446775447087191187305090037265777356091427651994018781790751050254561703303953709278457319184979698444359099855778635744443931325513819943490313829987573515303793548922666823345769963414041791197339425584624855556724519035475110971530380999657369022447437211287330101562689815464958821076898399982474404142041451839082796989613104694482769385519818035156460372326660345627586323385199543757970801487467005111380548251649560466990607117848600477508137591466119185236539762963550550233192696448742602416128827404640881049455219630993991980567676271034682736899081472851482485838231173721122242210349303917929709772723425428776282988412425785654536674363411188866759432046985650642265807494322080484854691144118148931323913705006405784513320283893741366150285723922057699097941921957713627774897485475432857933267444532868778149206599378264624875731756927090734102053305195141733460479619915107927786136831185686794587091224259996516416446716018972440691465041032522425141835287937343608263952156540073381082826520741866323299892443351484689908328242842564435344706595100773534302702931494022759396468281551489348208427987512646746832304465486118402616455261180477197065530372888489653238417485273936810253461037350022168646186220474098034130685166454624263438258866793687063803358301526423936583158284571829848444041068282613580991505488006652796469541073238232451502570008496089108915294186905596720062490492420784507780450947793408684069088757431518094194331214400432975693027442282081454938307089471248429371065398680225786911992327796881525254818666086490103165442050901105409224864540446976719060477774196805055624444066394336108621947137827205843341053964017497308966962201535335557229504222205357663227752770724770329732540560052292333140961853303471355088883759923724282554670151465309160260852884490697856379635819831219170305204253067653331496890257011560175923915984965258074260953738571323178051918654456642246199863263776408291397004407841102156978174052117120641845361528041452709630105273360332014427712720122701232484751282611908970836243653009666809018803089790406741519782279910194617757440820606461997918911612627252646056155800467803428936140429766982923604841290239046479759437643192225692863482870505403375984378392684341615007491333666128215507072023308259981529352204546273152652718296386162039818994240826679731093749016500035106917205106787889297201512209402789116069377837993913891104140603231357544223601463999668189659046930963313026545761144636815021440663994150763716715414608921499710349047720597527847748743990907749478712101183411933456098309893118591912409169323982098628777759701693581917032823939167800673697228877602349732119042251611251209896451838973033172726636207188348017255973958446411134909511236388836043773237975903635996129322382124895035199742491210773599586581546266253675620297315933964801387390314799960248359673624314305766274268868947524959764147299318544206674410286670581974624885663942608586929491183893853307086041122974387273353168952369401810029921043289792543708530255807644526889703117891099234386421973063020054777626815569356535096653067148567951777089058469415980201450137564905710925854487143957928853448919973682524011401080951847317521923109846846699073139293815248129764117208684589972307568346991056914778133506037716069892376408203 19299574062548822710441961015297665113145996473456081990611156949528142695391830602391022992096117516974796228613987349797801880307574295754732544211472228983395567726016747155258822963715125810236951357976165190942976295594839976406139335183599115269606251242935731540228788447396431325611854732716955127282246141562836291994511172183512840275649702657110299146135843336534622697326685170881349733341977356628413721957444852722911207504331132508905198767748427495913959770903412748995491105853910710942173067248604808739592386305902134118884757045971593453788094752763426013340703174553673705191647186317502600830707162008483191457001079914902617731451832700612179232548627820891901163339571013029676312773124630341241937051006401906471968569862558021959911404295691646969021642075986587526957623673726625571462455126308534154219045374558393709568886094241584187604485411903697290154819412357617123562986690587837888086897086935134798865477363137419010291998168541168324936597271777051050682046011842927211547338618070296714732442419193274295249381261791279684515755342994850548390066234752933443106261200966708397583772321297699059741085357804861993236299842809489976435661446828326085092251488044206582597456508406619335495013198173097880119686546290371462493817070066954621788370739482820019243884907406021787842784949005177640762725926265442987936103323296144128465350394827370189623649014091760201409739501044075334941635096159725861329800980026183573644551555763098753006600441117993667638726980838786709320572602842663799695357042867673305276963392835189102345747609276593472098508198729590525510321578571199152590430667999044460642273192465209375002416364125348349140238359790573040264879672394932035498149365649192200820498997275858079779041579185511587762500463542583514808173630353113179867543054893097391613929783889655805629394508923043706077064970793343767504025375106865384937457880409316419742841035803202626500037715662614631264594207288515343788725291947899012205619732953437407711841203925208011918958444654378752102816159832767891482651406661612392634335152279833799194811926037809006746511041099155415356637053065622452105206808538782503058239719423048056895252686227869163041845366448581738969342667075493216879727413847285937885350896426867098235872290519007870761734838653490911181690682467613982772538935641890941401963892003183276263321196707724270582643831888719739038005229362109111672003183373449813806391756934146178183131146770662476654682157546196097434543041567425281623143904042072032447706435378531192689095765180065622621697676211533130133051309128774231440125829315574989107423748269426713531116141323158380262949286339083676949361575506486125929674719413419799133366639237965448143592482778878156073947566832543326091010895337542915266259954146520975959665664148898354659372633480137457103446703212117507971686890250984968288861644303778506200086459808258438753445668444763127527162422706299365167505348469296883263974729296197570343624130449131112047406999032678120160169488373466149141964431485408833842136155555634384501962718807011343766402081356467184665104498730544697236515705200419362898805826160798307122092512072488131807377889316065956151639634177458449246303252770785540388413951835172699279638619492299883697200822182131019253522920367063498942254324435486360852234877241816116363026233039926857043655406615336351622117876008971721483629046338223808060023315654065818923220640220397487284387649816810038456207543117238833897937874884036410528114887311288073385245610330758386922466706326070555536821187310713747048518449849863481632753590837145238059473479022689491384025761788458957846707116013570801487369467400296166270041693083975883895710715956196176544904004046631356434197229984444015440574880052676852257287346203913924403427575987347208466148235664144127609545512396496393517265193771529299327746844683521628137935017912757232592928774799011150336172804493732473636829949786135291114551850357605402403946148135844304619809905234516995336455486261945703094186043506110749658193676019421934892854467592187607069204612412673646827520930088005733001439739577829928371022218705390991390240879799 31227366801599884216929606085210474000291327819836727218515481933656451130833483718483296868694702828579577066350861370673448189859807040416314521904441174487709044914423401300216392712315894820265222331029729541262707113403598486745994847174860323057207146763615859896756090401701507052433366947710851746216741773997185962864807397399762864932406447056339805714687316948453178408609081811503681460543725393797367259645710544533222576013811696244916147194413837492508151785740109767595497829095431647261828166261111102323239898610191597059558696567830581081688832189832492612193024213417268074189772159671366165581890061713735796608204057233842242571432609042185383117999904963672451568092690363882664383000852615941652391175150934609936669640651432046124384086216479710464358196463164632119462523284477240138722777883824054536998894460035511025858961541017031274795672716993734555932175503785269117581768481338888142648600390888844077322796548117117454651098024319804069380528597290870994172359841830500726851132166992963538078212382607316086446720687375904540072479862030325659361596615752590812128708638177995727685335011113164018562162256204844467640441884261329059232651059933020567861637007862241739057828835066964963081336583372641638090488033757376573874365321716515088778977857331420496752022498872140973079324711968728190995918622714185590352232150700785009514805614458364181604216690362794884146638582516926817427473327333446983572011329330101503354324279188527529289588853543779322175401344249975576080004649828314441961164537189753790131654536953338033669661314282999256611828482623331891660607302493256851688372589956758088417170677940642232935683808658217127289444959168837665140611429322022769600202670844333934280978617190966007565178410371198382349591687802580031224620346372085620559008095925619816755765071826999413893346665463117087159891491535210090803917818458350074845786123251880855087547630903976160802740647156637390661062488840004691997153279460545759037924198439555810328296465105685208984488817542868405341233645106704701736112444011634561280521372753931833325497092492433270184769907892842479159995354592046388688365093110612351502280787705661637886758174234521959511386439686814190471912675571582325795021600752882657947841388847651606016323238312416554830823596085009005376021896868046958465566377923972396340270981474431705634386595387950057494636159685601264292823895448599214837445234274555223031256297381122897243608920967467532279126223940532206056490179394631124964197868059569341414668636913866749918599987385423285849450446936303459865591869181066564581087682619046344196307508193150996085786292788467540523802170829781533328997395337705296234878972481073130630256896249525624067508467744136230334901305403866504142929549794185161466123217922929267356670071990000511637546685597258098948808231253570217601792163611316982716574364426479738684837742420167409589689321454429936545965512496706106687287628379491501021415549902659568262535743076383758103562799500481549096309918140449072746805721724455313601573798747860077365445589312414719750780474040808799672595832396672912743587728508679344428158030707071459774810808458650171626372130142745687245388650677493556163508359558674837589926161237961815349016457486213774801341425413488563477124384366731688601301255398799387397996021878631137803690227190690573759070015536836061971165596606499569232373037245973286772124499065999275021530533338989399693556973798908667233967244810820750930761814051837084225343764913637805504287861942009596818918545299103728263457394499061764304492408296274616542264827225981281832711454926325487513348143913353993046449607224344401073951013666549841890339009017940685283101030756156424904577628360937122708466098931968975204722179371221058931697632874495899028313239929955795395639419557997434695586635370883666870434146140931109357667887973314171846465273720401759482631892690110384722594777556752528414456765355491826211204917506173354181035206605260284821260042799422706262309973405903631947634963479793273669594756971269252414777577439034306142343906227921776591638138772595705309008086568886843149155724743107061282617288002 50526940864148706927371567100508139113437324293292809209126638883184593826225314320874319860790820345554373294964848720471250070167381336171047066115913403471104612640440148455475215676031020630502173689005894732205683408998438463152134182358459438326813398006551591436984878849097938378045221680427806873498987915560022254859318569583275705208056149713450104860823160284987801105935766982385031193885702750425780981603155397256133783518142828753821345962162264988422111556643522516590988934949342358204001233509715911062832284916093731178443453613802174535476926942595918625533727387970941779381419345988868766412597223722218988065205137148744860302884441742797562350548532784564352731432261376912340695773977246282894328226157336516408638210513990068084295490512171357433379838539151219646420146958203865710185233010132588691217939834593904735427847635258615462400158128897431846086994916142886241144755171926726030735497477823978876188273911254536464943096192860972394317125869067922044854405853673427938398470785063260252810654801800590381696101949167184224588235205025176207751662850505524255234969839144704125269107332410863078303247614009706460876741727070819035668312506761346652953888495906448321655285343473584298576349781545739518210174580047748036368182391783469710567348596814240515995907406278162760922109660973905831758644548979628578288335473996929137980156009285734371227865704454555085556378083561002152369108423493172844901812309356285076998875834951626282296189294661772989814128325088762285400577252670978241656521580057427095408617929788527136015408923559592728710336681352922417170928881064456004278803257955802549059443870405851607938100172783565476429683318959410705405491101716954805098352036493526135101477614466824087344219989556709970112092151345163546032793976725198800426551150818717208369694855716655219522741174386160793236956462328553858307943193565215459783244003661197274830388666707178787302778362819252021925656696128520035785878571408444771243543931392993218040137669030893220903447262197247157444049804939472593218763850673246953914856525033765632520309018530242276931280948991997894516632407657668840793571901649394854560520507128709694782010860462391122553231806135395929441255342647075542674749014600168595833192285274518704252195528831424425592558434738499916557712579335660941238105313565863337742234873477614981897707792095674328077279991574321003330829124810708326509448417648005036837648054315269075426740067738130008933808381486728303491033220962056406587341772101641373862375072292397942607695752565488908471148123147836589998643178309840796021213511934621333303731256462577709616902434111625920786751457168865210278358970844191422164553691894492929763623535487491072211100950523014386408848872236409830233940445131728076732383172069450243316335736138898866296919319077395556052254934465687725573479053862301951005436008730258244884924202228425848343134989899193064073127935203005471854792976848788384285390279198857138606159873525514870150969798533159669256479406513915221888770153209864147443709954303494461867408308119426063517182555397275984337700331127217609980103433709098707326963856867869766896903320531138303433750019458811643397028284854952005409811612329460377978340113073134514628655076978513658498542247595619582730647304733795187543555579834285748250230899120447254166716460230617430802725422152172413593283472615471290716002083584197094832147814720065093944751173559386886977944623615718705690174787928059584828699688935873494753458652224925878889533472272767983741385251625174283800278581809775511353010858146138098175018418063126519892184933949014978897373905701812950893156723237915202561320481066846008160380702101916569178811746712352601449481632407568479142663328916412990645297059423897911188984979078409823431740815917303003861787655222141562305132147767380060387699339912460408685414732656835799984400291633158992075560667489121535058767582050485002051286715141627117325756767863778756584981354741104589441069948033939701598765459667849335041821006985904023327788432990691187307632045031221913211548518640595423419159068860601438310447826146716771520177943448498052672858167801 81754307665748591144301173185718613113728652113129536427642120816841044957058798039357616729485523174133950361315710091144698260027188376587361588020354577958813657554863549755691608388346915450767396020035624273468390522402036949898129029533319761384020544770167451333740969250799445430478588628138658619715729689557208217724125966983038570140462596769789910575510477233440979514544848793888712654429428144223148241248865941789356359531954524998737493156576102480930263342383632284186486764044774005465829399770827013386072183526285328238002150181632755617165759132428411237726751601388209853571191505660234931994487285435954784673409194382587102874317050784982945468548437748236804299524951740795005078774829862224546719401308271126345307851165422114208679576728651067897738035002315851765882670242681105848908010893956643228216834294629415761286809176275646737195830845891166402019170419928155358726523653265614173384097868712822953511070459371653919594194217180776463697654466358793039026765695503928665249602952056223790888867184407906468142822636543088764660715067055501867113259466258115067363678477322699852954442343524027096865409870214550928517183611332148094900963566694367220815525503768690060713114178540549261657686364918381156300662613805124610242547713499984799346326454145661012747929905150303734001434372942634022754563171693814168640567624697714147494961623744098552832082394817349969703016666077928969796581750826619828473823638686386580353200114140153811585778148205552311989529669338737861480581902499292683617686117247180885540272466741865169685070237842591985322165163976254308831536183557712855967175847912560637476614548346493840873783981441782603719128278128248370546102531038977574698554707337860069382456231657790094909398399927908352461683839147743577257414323097284420985559246744337025125459927543654633416087839849277880396847953863763949111861012023565534629030126913078129917936297611154948105519009975889412586719184968524727783031850868990530281468129832549028368434134136578429887936079740115562785283450046177294954876294684881515195377897787697465845806111022675547116050856884840373676627762249715229481936994760007206062801294834371332668769034696913082064618245822210119913168018218657868469770615353051253781033674122170310268518767143840980423382030823508921933734476203707899703671691489835734082505854952046687532094387483624385571916151259922267623653020259307541346893651922560259868904351696391972670348988705597541212934605427260509547523400356687531551539640161210715277043709206264692526295739950912194320598570084140049864235047490907360602301194553667677500038764655728705702688726900093461310553627998646743607356366181896718399432664375566060393880431737016696278609418267150616743750177640276334376869994925913238198506389992379510673005808128899377934466004674653655001063165719257943175271217473618933722010373156737983569761944648593257932824311353623000619093447699711578542080605228279885306805829101516706868695616601898628254532598033641218352789324654364294635575874934319461045283753051354539232853897431840783267963029438084784010296163523890522723691162217778051755121887574941226671714128989788475060122149601557330642416935532445561573319971888135215568266274311096329977671534464727433299883673009108146207771689100526876144856835233085135648226920999078391970406687421308004561795437689008475564449069221970859948375120830170381604272313786064368966281706898376286671501597414627372924142032738880335759461502987710578978802417138563684393821334214777580560303796924278012063735976308837275657503266442412714717283245289107801724896388875340466410722049615166943939606330462259603635271494733395850050719711119857254461912777468509026354059260768505601851129427848381965850019238795118970120682611952905722460054055847258799257427074780138997000718783138263727258133486053391518043082620630149971830865565353560751558192560179231919781362359607237530465743480497118943536961685369952110766016561346364874262329990833362407861075433073752966989455970465697296997383189961960439722409622470256219353892424868517200010797207633197143619455912715603614669333668191605113955475455803 132281248529897298071672740286226752227165976406422345636768759700025638783284112360231936590276343519688323656280558811615948330194569712758408654136267981429918270195303698211166824064377936081269569709041519005674073931400475413050263211891779199710833942776719042770725848099897383808523810308566465493214717605117230472583444536566314275348518746483240015436333637518428780620480615776273743848315130894648929222852021339045490143050097353752558839118738367469352374899027154800777475698994116363669830633280542924448904468442379059416445603795434930152642686075024329863260478989359151632952610851649103698407084509158173772738614331531331963177201492527780507819096970532801157030957213117707345774548807108507441047627465607642753946061679412182292975067240822425331117873541467071412302817200884971559093243904089231919434774129223320496714656811534262199595988974788598248106165336071041599871278825192340204119595346536801829699344370626190384537290410041748858014780335426715083881171549177356603648073737119484043699521986208496849838924585710272989248950272080678074864922316763639322598648316467403978223549675934890175168657484224257389393925338402967130569276073455713873769413999675138382368399522014133560234036146464120674510837193852872646610730105283454509913675050959901528743837311428466494923544033916539854513207720673442746928903098694643285475117633029832924059948099271905055259394749638931122165690174319792673375635948042671657352075949091780093881967442867325301803657994427500146881159155170270925274207697304607980948890396530392305700479161402184714032501845329176726002465064622168860245979105868363186536058418752345448811884154225348080148811597087659075951593632755932379796906743831386204483933846124614182253618389484618322573775990492907123290208299822483221412110397563054233495154783260309852938829014235438673633804416192317807419804205588780994412274130574275404748324964318333735408297372795141434512375881097044763568910422277435301525012061225542246408571803167471650791383341937362720229333254985649888173640145358128469110234422821463098366115129552917824047331805876838268193260169907384070275508896409402060623321801963081027450779895159304204617850051957606049354423360865733411144519629953219849614225959396689014520714295975265406015940465562008838491447055539368840941777005055699071824740728429661669429802179579298713649196142834243270954482145070015867856342069570565296706552406011661048097089056443727550146742986913988813038556621318743938138881412262852089139418781498662635133991492516401102791746693231976639862878225800748156623514706488289010803770021118306415319591161011719382097305085167511953885715337026088140563986356270058990157503967224507768489710368790165003152599049876686164610810440057641314930889562061829753989341544267798244231385323752049211053318100184945668748750271335920884727446381886996228454686146877019106275959301252816064692221382902717050396873582077068269592196108300373845474855490127413498405502396566800887609268731168279516524346028144183608488993707354849001100262205551266846785145584835360768347996494651108132703794595926876759082085744442810993568617449520926778493872169060368974039445220387397566983131584217595593546606387384230844606326611443241091798425920604727728938418993834322063688412415067370883898457820119525646137123147651925435364520859841180889157732541837442150664377204414367476436420128506129462911032880457763173649446221030346078614316820666939920588161191923584073732261069363489563283354806487545564301689048549452295864014558118612787010514124588550812892301663352234321617081322824355445308095955316979894832763053700174806196591975800241858211100413221773823640724524180861627803540893176074080993792756764794956495316298219016881309667591031315545891794871764561803119214730002280559305850930905643787645832825965851926728497353286985771815265856986719743633753227668353454840129941657722532517030195638746060862718453233730867350997916087469463703399938867302109459840892741602302031276977451601320325171622952651627030041667501478132565440943509112623429956276493798581929903738862320386189511611640103166628333623604 214035556195645889215973913471945365340894628519551882064410880516866683740342910399589553319761866693822274017596268902760646590221758089345770242156622559388731927750167247966858432452724851532036965729077143279142464453802512362948392241425098961094854487546886494104466817350696829239002398936705124112930447294674438690307570503549352845488981343253029926011844114751869760135025464570162456502744559038872077464100887280834846502582051878751296332275314469950282638241410787084963962463038890369135660033051369937834976651968664387654447753977067685769808445207452741100987230590747361486523802357309338630401571794594128557412023525913919066051518543312763453287645408281037961330482164858502350853323636970731987767028773878769099253912844834296501654643969473493228855908543782923178185487443566077408001254798045875147651608423852736258001465987809908936791819820679764650125335755999196958597802478457954377503693215249624783210414829997844304131484627222525321712434801785508122907937244681285268897676689175707834588389170616403317981747222253361753909665339136179941978181783021754389962326793790103831177992019458917272034067354438808317911108949735115225470239640150081094584939503443828443081513700554682821891722511382501830811499807657997256853277818783439309260001505105562541491767216578770228924978406859173877267770892367256915569470723392357432970079256773931476892030494089255024962411415716860091962271925146412501849459586729058237705276063231933905467745591072877613793187663766238008361741057669563608891893814551788866489162863272257475385549399244776699354667009305431034834001248179881716213154953780923824012672967098839289685668135667130683867939875215907446497696163794909954495461451169246273866390077782404277163016789412526675035459829640650700547622622919767642397669644307391258620614710803964486354916854084716554030652370056081756531665217612346529041304257487353534666261261929488683513816382771030847099095066065569491351942273146425831806480191058091274777005937304050080679319421677478283014616705031827183128516440043009984305612320609160564211921240575593371163382662761678641869887932157099299757445891169409266686123096797452360119548929856217286682468297779816169267591379084391279614290245306271103395259633518859324789233063119106386439322496385517760425181531743076740645448696545534805907246583381708356961896567062923099221112294094165538578135165329323409203235721493125556575456757708053020767438045149325091359677592341249322586080021675431469690421052424062804416462490704927327660287232467313297112345263316116689727113273291655517225815901041956688303808785774035121022279887911812843407858713166158697493071703207984858963419020645625050551384398961524464768319787057315619896349227516962498987680434983554553129395952054209264662347352396697622165851328426702866054381265904203611924021488809539818449456755043734212024448091525612364208783612606439065311314830602428628938954187305348154899001937401890552343551106729312126660034994600442105962058055822643811159921903078503069534277460406203540333116102983107630053108614273445552358292658174998655427485758144654810837207632017752220240331578510715253553994318661926304681862155919843128556451556105730809114872661695327174583998145907968525098309593613835875146190682934848939833269250300456019546684741118604038107529835073233439926316297530189364722181611059413010612752325244537858040692442292193831877314587356139460320947818444973451538458853405820256347622694911294652711063486502053247677176140702323144861992845473730307927750534427450062668017391030963527609584908641342123341977711699695911718818004932146838772369384162434409831863470533637708261820124341631078102637301649370654157600153944579682844922184613176922345335537014135851430350202984221268351848927611820602376641804782419556306569714043907514903966312019243444771579973917135743646131422340280495191945787847585374621492301264960062982773676135865004399680138603682978117014477433834337965729929700664517320916325815355269020732947917298617322554812914612066752451289971734351919333368377629823440753484126995725549359651577924000858845279831708280583809079407 346316804725543187287646653758172117568060604925974227701179640216892322523627022759821489910038210213510597673876827714376594920416327802104178896292890540818650197945470946178025256517102787613306535438118662284816538385202987775998655453316878160805688430323605536875192665450594213047526209245271589606145164899791669162891015040115667120837500089736269941448177752270298540755506080346436200351059689933521006686952908619880336645632149232503855171394052837419635013140437941885741438162033006732805490666331912862283881120411043447070893357772502615922451131282477070964247709580106513119476413208958442328808656303752302330150637857445251029228720035840543961106742378813839118361439377976209696627872444079239428814656239486411853199974524246478794629711210295918559973782085249994590488304644451048967094498702135107067086382553076056754716122799344171136387808795468362898231501092070238558469081303650294581623288561786426612909759200624034688668775037264274179727215137212223206789108793858641872545750426295191878287911156824900167820671807963634743158615611216858016843104099785393712560975110257507809401541695393807447202724838663065707305034288138082356039515713605794968354353503118966825449913222568816382125758657846622505322337001510869903464007924066893819173676556065464070235604528007236723848522440775713731780978613040699662498373822087000718445196889803764400951978593361160080221806165355791214127962099466205175225095534771729895057352012323713999349713033940202915596845658193738155242900212839834534166101511856396847438053259802649781086028560646961413387168854634607760836466312802050576459134059649287010548731385851184738497552289892478764016751472303566522449289796550842334292368195000632478350323923907018459416635178897144997609235820133557823837830922742250863809780041870445492115769494064274339293745868320155227664456786248399563951469423201127523453578388061628939414586226247822418922113755566172281611470947162614254920852695423861133331492252283633521185577740471521731470702763614841003243949960017477071302156585401138453415846743430623662578036370128511195210714468638516910063148102064483370032954787578811327309444898760533387570328825015521491300318349737422218622014739950124690758809875259490953009485592915548339309947359094371792455262961947526598916628587282445581587225701601233877731987311811370026391698746642221812870308436928408809532617310399339277059577791063690853282009163719714068864527101593052641506420579255238135624636642994175407829302464686914893555881272203589962794278724983714399904091956548093329589991499092403673849330607530245699107578806892341536341871048923532225505163798333670651378787040234072999527405376915684040708888366186032233258030155847480623048948277393648663598490875041195868060285514116039018651688896664495866397236652178752077107699366089149280672771760145460703176903136930730440479134238402631470484742913859255130003536213505145679335827769382416424491198045702264397818406596856725625065537391167242993571326786990923327684267931222686678023271167761052541433378308534374476838254199108806320706289152826106788131280354071531569919293376460563213808949028031642032047866487722295278721307376307240695539583140323326402661479049079558019190324757351209616896735514218563604084609676769171003521681665367826903445142561238129684244652982725158875290837157371370253879914152896855161277129529658905334477112570798323294788347467813902633970394039475319530152775674072760176935783886834878726443324555865542810960530947189868709163681894023182603791765092546062849678531515619514340501886571993576444959059034524051357026913960249126733605132437862609216028455446333879566472920537563404901743361825830232281961141047120653763838714941377971878840651835233152732740017794015536814243643799376382405495856534784700115612420644949551302549799137985095371500077327204121515461397279327000238825699015515938829461622242922682595499803871774611065262398591837413845468012393521303801669129868567966626780757218556957571052009925368899937647726435867263693782492957473212484484774311886742446870709760620794307479263390440244387048356891471811447212142703011 560352360921189076503620567230117482908955233445526109765590520733759006263969933159411043229800076907332871691473096617137241510638085891449949138449513100207382125695638194144883688969827639145343501167195805563959002839005500138947047694741977121900542917870492030979659482801291042286528608181976713719075612194466107853198585543665019966326481432989299867460021867022168300890531544916598656853804248972393084151053795900715183148214201111255151503669367307369917651381848728970705400625071897101941150699383282800118857772379707834725341111749570301692259576489929812065234940170853874606000215566267780959210228098346430887562661383359170095280238579153307414394387787094877079691921542834712047481196081049971416581685013365180952453887369080775296284355179769411788829690629032917768673792088017126375095753500180982214737990976928793012717588787154080073179628616148127548356836848069435517066883782108248959126981777036051396120174030621878992800259664486799501439649938997731329697046038539927141443427115470899712876300327441303485802419030216996497068280950353037958821285882807148102523301904047611640579533714852724719236792193101874025216143237873197581509755353755876062939293006562795268531426923123499204017481169229124336133836809168867160317285742850333128433678061171026611727371744586006952773500847634887609048749505407956578067844545479358151415276146577695877844009087450415105184217581072651306090234024612617677074555121500788132762628075555647904817458625013080529390033321959976163604641270509398143057995326408185713927216123074907256471577959891738112741835863940038795670467560981932292672289013430210834561404352950024028183220425559609447884691347519473968946985960345752288787829646169878752216714001689422736579651968309671672644695649774208524385453545662018506207449686177836750736384204868238825648662722404871781695109156304481320483134640813474052494882645548982474080847488177311102435930138337203128710566013228183746272794968570286965137972443341724795962583677775571812150022185292319286258566665049304254430673025444148437721459064039784226789957610704104566374097131400195551933036034221582669790400678748220593995567995557985747689877754871738777982786647517238387889606119034515970373100120565762056404745226434407664099180422213478178894585458333044359341810119025522322232674398146768683639233895193078383353595313705144912091420731022574348110752475728662686262813512556816409857465921427767089631965146742377732866098171596487458210716664669606877519723517110977697972343762908517290454565957451027697016437219864210019317104772384059191075146508572202387411387592666376657364150936835345068913022511499829348871858743442057858490824397561309091260272765147556698026349942904796242945297504910611162586171310024750421189681466170248283314036249061193488563087980605454943162080631993352892596793248955000521626359891974464652503582329928243834693526526465694195314851044107574308274781956687764579390199983104154950161957703586037751725572385767685099533384842813567138844189834301189747557548628167256081766494411517482106891362813382251873064581811001105443558766112216186380756501008478315434049280606542357285601860806384221583403169532227083824096034696429057211776351710774885193774322903259178141995045107832399479230800359704019943354950915668282922991827302356733722352182817798392315217153454901559618602095763956268171889881854903443192517805013090517126665662055170042094291341857920292981691234527478580433283406581746173379154388042367596058637707087892191854025674739496912911719515626973512912346548906650477868111471480634918568301036746223747268745731965181273572377501822025043625860318916867517274734740661905035979845999127479602936118741201065233446683637125991148801185987372247288584170367996999758082595492726988203007872498339567119671918990358993458817453765450004338816271657301121257259107528701667280734017644803363524204083114544187642658482577547910476069662078730441096823585026870955138139634859798268631144101673544372312840072742873286198554970281248781875760534944247444946836404107680264372270311463244747790033028623042018168387907202171303519727795951782418 906669165646732263791267220988289600477015838371500337466770160950651328787596955919232533139838287120843469365349924331513836431054413693554128034742403641026032323641109140322908945486930426758650036605314467848775541224208487914945703148058855282706231348194097567854852148251885255334054817427248303325220777094257777016089600583780687087163981522725569808908199619292466841646037625263034857204863938905914090838006704520595519793846350343759006675063420144789552664522286670856446838787104903834746641365715195662402738892790751281796234469522072917614710707772406883029482649750960387725476628775226223288018884402098733217713299240804421124508958614993851375501130165908716198053360920810921744109068525129210845396341252851592805653861893327254090914066390065330348803472714282912359162096732468175342190252202316089281824373530004849767433711586498251209567437411616490446588337940139674075535965085758543540750270338822478009029933231245913681469034701751073681166865076209954536486154832398569013989177541766091591164211484266203653623090838180631240226896561569895975664389982592541815084277014305119449981075410246532166439517031764939732521177526011279937549271067361671031293646509681762093981340145692315586143239827075746841456173810679737063781293666917226947607354617236490681962976272593243676622023288410601340829728118448656240566218367566358869860473036381460278795987680811575185406023746428442520218196124078822852299650656272518027819980087879361904167171658953283444986878980153714318847541483349232677224096838264582561365269382877557037557606520538699526129004718574646556506933873783982869131423073079497845110135738801208766680772715452088211901442819823040491396275756896594623080197841170511230567037925596441195996287147206816670253931469907766348223284468404269370017229728048282242852153698932513164942408590725027009359565942552880884434604064014601575948461033610611413495433714425133521358043893903375410322036960390798001193647663994148098469464695625358317148161418247093543620724948907160289502516625066781325732829610845286891137305807470407889367993980832615761584811600038712461996184136286066039823355466327031921305012894318519135260206579887260269283104997254660606511620858984640661131909995825253009414230819349956003409127781307849971349848420280570958258438706307967903819900099748002561371221207004448409745294060347366724961729167950983157643369786128001963322391303620507263139475085147481158496492248335430374372518750851725593835353307663782285349025981797892591528225035112107253248844682434742096920529176412303348907096271476462864924477116102448086518966399558718193706021985758877294418186309833500000250645783676130858018229774476993131969161131333588931284380098752276865994245782304259826184662185065946289249966980286287301965725145725689354960324632784207020269779998082502173269565009100461224803263028905195092982716568330875305178269440324949325318387257612719987610609726070181003881398028806419347980364300442763376791109776934928093104711629804490466528457765523876425580819795928308623199872720051856583729617012491058193770870963827212231690046466287717950675794384938878647858229634573999317649727294106516862124476908534324519635617836752383614437830759854443212964647660610387758891780622050963083315410036473190946876632581036109826436969863594863406596835800523551190507990612272929872482009916853123333167011384562348526994917583888840421454009522983944728261735897395612511844010201551340610219190468581052105597712598233138869598238035082060563189356633520095515511280719519575762025080422269992208613358052628495013260095780747798625772645925430400305982634259887652841888774363201396841207661199468440881589360953309835218079882248185887210522352067369120680026639207480441316910385791015294896839136526364585413368354874351819787531411003943010120003564587989434187771734628325378774568925980994280972843343818879463033544736787110325253982381419685087134924477322278510669053039264476441941303989666836597770882430762929270411124752798655098492618007684649139454317437204918159320888881992151114717182173005368584340507886432458412774955559062775331175008094485429 1467021526567921340294887788218407083385971071817026447232360681684410335051566889078643576369638364028176341056823020948651077941692499585004077173191916741233414449336747334467792634456758065903993537772510273412734544063213988053892750842800832404606774266064589598834511631053176297620583425609225017044296389288723884869288186127445707053490462955714869676368221486314635142536569170179633514058668187878307174989060500421310702942060551455014158178732787452159470315904135399827152239412176800936687792065098478462521596665170459116521575581271643219306970284262336695094717589921814262331476844341494004247229112500445164105275960624163591219789197194147158789895517953003593277745282463645633791590264606179182261978026266216773758107749262408029387198421569834742137633163343315830127835888820485301717286005702497071496562364506933642780151300373652331282747066027764617994945174788209109592602848867866792499877252115858529405150107261867792674269294366237873182606515015207685866183200870938496155432604657236991304040511811707507139425509868397627737295177511922933934485675865399689917607578918352731090560609125099256885676309224866813757737320763884477519059026421117547094232939516244557362512767068815814790160720996304871177590010619848604224098579409767560076041032678407517293690348017179250629395524136045488949878477623856612818634062913045717021275749182959156156639996768261990290590241327501093826308430148691440529374205777773306160582608163435009808984630283966363974376912302113690482452182753858630820282092164672768275292485505952464294029184480430437638870840582514685352177401434765915161803712086509708679671540091751232794863993141011697659786134167342514460343261717242346911868027487340389982783751927285863932575939115516488342898627119681974872608738014066287876224679414226118993588537903800751990591071313129898791054675098857362204917738704828075628443343679159593887576281202602444623793974032240578539032602973618981747466442632564435063607437138967083113110745096022665355770747134199479575761083290116085580163502636289435328858764871510192116157951591536720327958908731438908013929220170507648709613756145075252515300580889876504882950084334758999047265891644771898994401226978019156631505010116391015065818976045784363667508308203521328150244433878613615317600248825333490226052574497894771245010455102197526793098889374052511637053149898973557505754122261856664649585204816177323672996941006575248248128457395077808107238616922448213052046069972333389162868749498908870289500568798020624543703410639885769793936966396276513368224201043860522055999623624674650473930353992225094851070172922594222363331208821333329349122504527118188716509054172038302223229433896481145629310730041657073108939543287214870988770833495090696710439648446456535585279761394786882843523412613389661963431860630075855065866358258055461746429622920879659745486298898259119139871795966790643520633238301720294295885391682757945583271598011910574298142322004028801128516682162702613192638096472618057605372647599825066173138368424095564704966367131569338690620979825873310066835452774828317675248812578503904331432295393417194081907510241116356603251588100490738445527646440761408343731652533181440826214182470629328406738970563869565900886825729883362562546210396177210890231583496704392749428797165951597128949018618321943505725144067174489491084105680809391505056893239465791719512722596979357548119671578153986822553077755315905493535244729029921043502597050327225484752100640600734928235945122974252417215031373017008427230796346493088674371629328920470076724829533263413581561132526971545894518377890611673878360136081912696467749093280068914115942401861373476861435360080789438154198623449251120657205989193360269481212626579727729901080753788015052979434629253352788421240853213918939459450401362936468937457330037993773004043391929446636033676454682661561706860988622242987237627851331297967912464958967595563204586556052719607492638066135431580080938849465105228914984104307301583251197495671941297047588288933431015214852381452363106157292989672415486987493636250116374373536509474476581162862761234078850902804046267847 2373690692214653604086155009206696683862986910188526784699130842635061663839163844997876109509476651149019810422172945280164914372746913278558205207934320382259446772977856474790701579943688492662643574377824741261510085287422475968838453990859687687313005614258687166689363779305061552954638243036473320369517166382981661885377786711226394140654444478440439485276421105607101984182606795442668371263532126784221265827067204941906222735906901798773164853796207596949022980426422070683599078199281704771434433430813674124924335557961210398317810050793716136921680992034743578124200239672774650056953473116720227535247996902543897322989259864968012344298155809141010165396648118912309475798643384456555535699333131308393107374367519068366563761611155735283478112487959900072486436636057598742486997985552953477059476257904813160778386738036938492547585011960150582492314503439381108441533512728348783668138813953625336040627522454681007414180040493113706355738329067988946863773380091417640402669355703337065169421782199003082895204723295973710793048600706578258977522074073492829910150065847992231732691855932657850540541684535345789052115826256631753490258498289895757456608297488479218125526586025926319456494107214508130376303960823380618019046184430528341287879873076684787023648387295644007975653324289772494306017547424456090290708205742305269059200281280612075891136222219340616435435984449073565475996265073929536346526626272770263381673856434045824188402588251314371713151801942919647419363791282267404801299724237207863497506189002937350836657754888830021331586791000969137164999845301089331908684335308549898030935135159589206524781675830552441561544765856463785871687576987165554951739537474138941534948225328510901213350789852882305128572226262723305013152558589589741220832022482470557246241909142274401236440691602733265155533479903854925800414241041410243089352342768842677204391804712770205301071714917027578145152017926143953949354639934009779748660090296558583162076901834592441430258906514269758899391472083106639865263599915182866905896332247134722219996070678980600005525945572369336089543720331477620475925404306793714749437111611402284436605593784195024018210290914646259316548996642026559600912847837003797292636920112216268075233206865134319670917435984829178121594282298894186275858687531641458129872474597642773806381676309201975202844183434399878362014879066924540663397492047984666612907596119797830936136416091722729406624949643413238481611135673299938645881423279997171448217775480706762881028793833132731796952255322320511890857495572688816717131297315336984920924100740777098560449320391783813044776194908353099657749395131166829349373150310794319574527283946515295355198595027814734560595110140409349974933789069519130814955495680156642999689615426742822887245486540512572198483737246173868983701640628158357239135923267155922971232885949784854838469015466589994445050065407115592845951625559333014283496001408828126587152996040716993646122686304471564505307791939637541285742808102422548071901105365348942598719188220023873328166239851621195274350596838364368260606323738655529906938859044791622282108089778356072729765739875690355920901315394597255307652123349295732863367270369933824440652013230483771619703618224479953659778606351934325645861620432650401837108216077740502575865767029546460535545854418845494696233134679447419363566115597662514838223904624028140246507640180868197969573681101137931550814813652711518005379254930581261653721787518908277590349813238833873797834183158056312980404388006537103942742077066012664436396709751190462285338187585891908594821228307719344520291023816042074184342770341800349309637867643270310957150063060841917743024721034099273372278505697437007867728341260729390161239265787208171217991139579030347876273765779717373834609208088270759246981812366879479057460894625983207191815126557772014808245380663655842679704332441122450271172588118408293166447340387280650339511033374998118161691105399908022022242839131941826685866535070230853662322248470596395540206296618080154669169818657281265478181871664566601704675809255484958714044395906934993937818320296854182077812140753276 3840712218782574944381042797425103767248957982005553231931491524319471998890730734076519685879115015177196151478995966228815992314439412863562282381126237123492861222314603809258494214400446558566637112150335014674244629350636464022731204833660520091919779880323276765523875410358237850575221668645698337413813555671705546754665972838672101194144907434155309161644642591921737126719175965622301885322200314662528440816127705363216925677967453253787323032528995049108493296330557470510751317611458505708122225495912152587445932223131669514839385632065359356228651276297080273218917829594588912388430317458214231782477109402989061428265220489131603564087353003288168955292166071915902753543925848102189327289597737487575369352393785285140321869360418143312865310909529734814624069799400914572614833874373438778776762263607310232274949102543872135327736312333802913775061569467145726436478687516557893260741662821492128540504774570539536819330147754981499030007623434226820046379895106625326268852556574275561324854386856240074199245235107681217932474110574975886714817251585415763844635741713391921650299434851010581631102293660445045937792135481498567247995819053780234975667323909596765219759525542170876819006874283323945166464681819685489196636195050376945511978452486452347099689419974051525269343672306951744935413071560501579240586683366161881877834344193657792912411971402299772592075981217335555766586506401430630172835056421461703911048062211819130348985196414749381522136432226886011393740703584381095283751906991066494317788281167610119111950240394782485625615975481399574803870685883604017260861736743315813192738847246098915204453215922303674356408758997475483531473711154508069412082799191381288446816252815851291196134541780168169061148165378239793356051185709271716093440760496536845122466588556500520230029229506534017146124551216984824591468916140267605294270081473670752832835148391929799188647996119630022768945991958384532488387242907628761496126532929123018225684338973559524543369651610292424255162219217306119441024683205298952486059834883424157548854835550490792121683897163906056417502629062916528489854624477301363459050867756477536951906174674071528901160375249405258363814888286798458595314074815022953924141930228607283141052182910918683338425744188350506271838716177507801593458936356974948355925049095537545051392131411399501995943072808452389999068028965898098169151614309841331262492800935975154609133357098297977654753407038491046588849752595748151697927493252330560611086524979615633170529362631153356340655665962206281684794461968965330085355498359197506976923724365451749034379674384008907895846367830947322021080603952500158698495654837912508291036338118553597578428028924295880189905840182066423083873332356734001803726329175247339710129263873199358472525247935299455042007149859563530947133501258234212305002281525211384717662508870664514583955314364849113584921861373906236366584863861053308579381393091586072170424594052627567944265008308500365633824474102340154478380904575040605677273752965174008771857556644119438033132606983190533964971576664237678327441776513483847582187671623295526613540385171773266811673250116806712524152903495087993753179769790057141207098922903115265266866195701113100026442588788349519560665432081817688208407830828827612727339799574444895325294564195498057664494873037167438201958278746621908854650221278471906343280797863493931966020362777847555517693352679291918373367891408027423498914499659611182697224384569235503075101913879434608726070128281030565397619419379554112369972873412505753110768339080110932362063017119155322176382360834690890414809401706653748062702906423713045777386960923339225073092464922215394604460081114888711526477129146688128524934330454089659642451892366935901119071893367045400855708395033070162255850061302189698706432213729815947994918224663976980195858518487218650841921835346317404386565321063365437508800439449706261078912299354876213544097589427717725654329171535339602103181688597047055600850639377532436913519744142537692587794585551511169884022200109644371635474861336982088692169445505601333087580905381411575100681081530933032980616187021123 6214402910997228548467197806631800451111944892194080016630622366954533662729894579074395795388591666326215961901168911508980906687186326142120487589060557505752307995292460284049195794344135051229280686528159755935754714638058939991569658824520207779232785494581963932213239189663299403529859911682171657783330722054687208640043759549898495334799351912595748646921063697528839110901782761064970256585732441446749706643194910305123148413874355052560487886325202646057516276756979541194350395810740210479556658926725826712370267781092879913157195682859075493150332268331823851343118069267363562445383790574934459317725106305532958751254480354099615908385508812429179120688814190828212229342569232558744862988930868795968476726761304353506885630971573878596343423397489634887110506435458513315101831859926392255836238521512123393053335840580810627875321324293953496267376072906526834878012200244906676928880476775117464581132297025220544233510188248095205385745952502215766910153275198042966671521912277612626494276169055243157094449958403654928725522711281554145692339325658908593754785807561384153382991290783668432171643978195790834989907961738130320738254317343675992432275621398075983345286111568097196275500981497832075542768642643066107215682379480905286799858325563137134123337807269695533244996996596724239241430618984957669531294889108467150937034625474269868803548193621640389027511965666409121242582771475360166519361682694231967292721918645864954537387784666063753235288234169805658813104494866648500085051631228274357815294470170547469948607995283612506957202766482368711968870531184693349169546072051865711223673982405688121729234891752856115917953524853939269403161288141673624363822336665520229981764478144362192409485331633050474189720391640963098369203744298861457314272782979007402368708497698774921466469921109267282301658031120839750391883157181677848383622424242513430037226953104700004489719711036657600914098009884528486437741882841638541244786623225681601387761240808151965973628558124562183154553691300412759306288283120481819391956167130558879768850906229471392127209842736275392507046349394394148965780028784095078208487979367879821388511768458266552919370666164051517680363884928825018196226922652026751216778850340823551216285389776053003009343180173179684393432998476401987869317623888616406485797523693180318857773807720601477198787256242852268361082908032822638832549106357825997875400397055772985545269773190020707061378356681904285070460888269048090343808916532327732059304300460322396051558156464286088137607921284526793575651957541654146802486795674534491897847825106228847594828994775792720940622562739300421678829999083666988047868805148706827865563622065068892933626623952110614750500950322475773058807121426253132618681824855403982709818879299942181359770734475812027240490887105737399930835141886392569544138204792367307688895394820449369422424329831439108029971926781021829212536489420386322862877394500414198757577590093344561590387694612971930139132266041977695764123712677463153749174858330522951370576744864143311361298846834811729239322173502602046588048100252139377489126530668087148895648474950129339541438989992497068445054218889685249060831893139352874070466193273049089707518208931596871646146207012829473220444038433752013854269451261478014564448015652185397901160331225044518200040727456012932898191413426069328218216336876134421181504702487522072212528002958715753487267033780429849924182705060738941504293754590192444350946172088143780665451727118268482523904311439086878378023807386091216312714950478518417547165048831301394647401204705047230771203589142410234935100425522695822247045676765513395087024828566609536030242527983057312347484802148987984898755634844125136392662671714819049803691158154144072337063032946075748731982160812787536090459269390460457953414026096695427052379119289960187387673645044990665650167216009973247066269653504487887779973027568114554245359639742156863883608622802715843816020276935247624125424527728988882286717174447763290575841992613134088128000882169591324553192018766925637113656733001548690396845254761086291801625301288346569038499401827787215058428327774399 10055115129779803492848240604056904218360902874199633248562113891274005661620625313150915481267706681503412113380164877737796899001625739005682769970186794629245169217607064093307690008744581609795917798678494770609999343988695404014300863658180727871152565374905240697737114600021537254105081580327869995197144277726392755394709732388570596528944259346751057808565706289450576237620958726687272141907932756109278147459322615668340074091841808306347810918854197695166009573087537011705101713422198716187678884422637979299816200004224549427996581314924434849378983544628904124562035898861952474833814108033148691100202215708522020179519700843231219472472861815717348075980980262744114982886495080660934190278528606283543846079155089638647207500331992021909208734307019369701734576234859427887716665734299831034613000785119433625328284943124682763203057636627756410042437642373672561314490887761464570189622139596609593121637071595760081052840336003076704415753575936442586956533170304668292940374468851888187819130555911483231293695193511336146657996821856530032407156577244324357599421549274776075033290725634679013802746271856235880927700097219628887986250136397456227407942945307672748565045637110268073094507855781156020709233324462751596412318574531282232311836778049589481223027227243747058514340668903675984176843690545459248771881572474629032814868969667927661715960165023940161619587946883744677009169277876790796692196739115693671203769980857684084886372981080813134757424666396691670206845198451029595368803538219340852133082751338157589060558235678394992582818741963768286772741217068297366430407808795181524416412829651787036933688107675159790274362283851414752934634999296181693775905135856901518428580730960213483605619873413218643250868557019202891725254930008133173407713543475544247491175086255275441696499150615801299447782582337824574983352073321945453677892505716184182870062101496629803678367707156287623683044001842913018926129125749267302740913156154804619613445579781711490516998209734854607409715910517718878747312966325780771878016002013983037317705741779962184248893739900181448924548978457310677455634653261396441667538847124357358340417943132338081820531041413456776044178773215623476791540997467049705140920780569430834357337572686971686347768924361530190665271714653909789462776560245591354841722572788717863909165939132000979194730329051304658360150936998720737001700720667667329137893197991748140154403130288318684716131763720395331659310640864796242041736409784658292670390825439938029222087519095439444478263587246733075260446419510619476887842294033731998874771549471680596629208669159801628836468930570247743699910603036167146746364459986619336156599960183622490512054652876406494940406790504542196142680453782987134422408154030651322419948143173141539832295982411111482282498036965300930877968643144626781849140486317578692406557903691113884006379644196288221614893788154928065579121353281439631442258787592000270928002184145972129534652702921472295772956740144317850242504617252503759426448611295696960142434301508262749394431453818002263204293750166839724915489876765623225071314202291382675509188860121902606353112240109303780969207122384773242814011662929410015277565116176164354974384404632709971672588795801178992781109470515569702062677282090305627291787815226630293226454895420542575864535600493180371100149692172691237072866558154606327524785500351016004178548365736563309004960386459721768297550596468766365003208254249803627048170556657379283740553640997703091249974439720117443775643226765645328682687823891024170657933387911412327009464221824202552947585949977101125349909827229349570309748583189226440864411789489948761103334992905272706951944883263876696425232763990813264917597002168908709446143050521079973456134926313121149587690555845857698346309330692650156659846239826511375047297343953937167583532163532209316492089051356290651452834974567853325288773467017820815324271939097033077427706212230433569470349448470587226228606216326035937887567813825295727489361736755671780715795467721102494437214218876570008749131594338530779089014700266687624889206206669758144139180483358720248039044514795522 16269518040777032041315438410688704669472847766393713265192736258228539324350519892225311276656298347829628075281333789246777805688812065147803257559247352134997477212899524377356885803088716661025198485206654526545754058626754344005870522482700935650385350869487204629950353789684836657634941492010041652980474999781079964034753491938469091863743611259346806455486769986979415348522741487752242398493665197556027854102517525973463222505716163358908298805179400341223525849844516552899452109232938926667235543349363806012186467785317429341153776997783510342529315812960727975905153968129316037279197898608083150417927322014054978930774181197330835380858370628146527196669794453572327212229064313219679053267459475079512322805916393992154093131303565900505552157704509004588845082670317941202818497594226223290449239306631557018381620783705493391078378960921709906309813715280199396192503088006371247118502616371727057702769368620980625286350524251171909801499528438658353866686445502711259611896381129500814313406724966726388388145151914991075383519533138084178099495902903232951354207356836160228416282016418347445974390250052026715917608058957759208724504453741132219840218566705748731910331748678365269370008837278988096252001967105817703628000954012187519111695103612726615346365034513442591759337665500400223418274309530416918303176461583096183751903595142197530519508358645580550647099912550153798251752049352150963211558421809925638496491899503549039423760765746876887992712900566497329019949693317678095453855169447615209948377221508705059009166230962007499540021508446136998741611748252990715599953880847047235640086812057475158662922999428015906192315808705354022337796287437855318139727472522421748410345209104575676015105205046269117440588948660165990094458674306994630721986326454551649859883583954050363162969071725068581749440613458664325375235230503623302061514929958697612907289054601329808168087418192945224597142011727441505363871008590905843985699779380486221001206820589863456490626767859416790564269601818131638053601249446262591269972169144541917086556648009433576376103582636456841431595327851704826421414682045491519876026826492237179728929711590604634739901707577508293724542658144448494987767920119076456357699630910254385573622962463024689357112104534709875058704713130311777332094184134207761327520096481898182766939746852602456393517585294156926721233845031543375834249827025493327013293595047521125699672903478339391777510120402299616729771529133844332385545326316986024729695125900260425273645675559725532615871508531259868836098377052273623690329089708266490772619374577909444224037663935594349777091493309548165378740602119834134794233265135326164022163582248691383445681276828517109690907740827017969201487575209240267041089978886055305129767022473083721192066716886923509522988924071038330808803785031019351393278691109946000095453298511563253428803974027727329644865714935949894791657842701825954305136182092414469685579774239316691125040397534444225912089006186295546006628329929966913175623469626219911513011046372406060755730300652813992443615923669441771503537977017762602560440732959469824404837335072031945894551230101800849414261341274458491874843556068762889348031309449213444681902613564306843318735002814008466001553508949321715916946733351783641856235830878815691127615226645587094064576327949193303998341105598760565291082895030740748706290202838538076391076368695279062492227420240151618221733301529505306507502008839996071399116728745523064406005368115971573773878751159204322153667034151736544995402774369542588205098436742713721656865426529249783718789539119511360285010252752045392556794259954739835951436618056558297133577520888330019299429685412864681323988398834938401310259673883727759249834208675224045793197959259196898319672716658645234436768600083110614613260265923206802099676463243897354971205808577199982142256267366263898519104628072341213068746494585935369569631578839189941311314835033149413286369725405834850354030744055024820174284988273059018065203729368805868843796349890693818990406237643495645862788327340079469485859955027773916690831507958104713177679885186507463097472842569921 26324633170556835534163679014745608887833750640593346513754850149502544985971145205376226757924005029333040188661498666984574704690437804153486027529434146764242646430506588470664575811833298270821116283885149297155753402615449748020171386140881663521537916244392445327687468389706373911740023072337911648177619277507472719429463224327039688392687870606097864264052476276429991586143700214439514540401597953665306001561840141641803296597557971665256109724033598036389535422932053564604553822655137642854914427772001785312002667789541978769150358312707945191908299357589632100467189866991268512113012006641231841518129537722576999110293882040562054853331232443863875272650774716316442195115559393880613243545988081363056168885071483630801300631635557922414760892011528374290579658905177369090535163328526054325062240091750990643709905726830176154281436597549466316352251357653871957506993975767835817308124755968336650824406440216740706339190860254248614217253104375100940823219615807379552552270849981389002132537280878209619681840345426327222041516354994614210506652480147557308953628906110936303449572742053026459777136521908262596845308156177388096710754590138588447248161512013421480475377385788633342464516693060144116961235291568569300040319528543469751423531881662316096569392261757189650273678334404076207595118000075876167075058034057725216566772564810125192235468523669520712266687859433898475260921327228941759903755160925619309700261880361233124310133746827690022750137566963188999226794891768707690822658707666956062081459972846862648069724466640402492122840250409905285514352965321288082030361689642228760056499641709262195596611107103175696466678092556768775272431286734037011915632608379323266838925940064789159620725078459487760691457505679368881819713604315127804129699869930095897351058670209325804859468222340869881197223195796488900358587303825568755739407435674881795777351156097959611846455125349232848280186013570354524290000134340173146726612935535290840614652400371574947007624977594271397973985512335850516800914215772043363147988171158524954404262389789395760624997322536638290356144306309015503877049335306887961543565673616594538069347654722942716560432748990965069768721431360071971779308917586126161498620411479685219930960535149996375704881028896240065723976427784221566794870744379799116169242669270616046676105685984603435588247914345461585081384782030264112835950547693160656151186793039269265854076033766658076493641884122694948389082169998640574427281736101644317400085951340198454495733194655164977094135095777992944096544796562893100578171383741998489647390924049590040853246333095395978613560423879795909078651205156001281540597725121945500178763542432313873957735929704923604631314531331560165344168028992227401463498132916706627549715165646225261024362699298034991805486961036339261686772428175646133242419177427524692502011202202677137435183618224015551259759503090877960370779195983265585747394969684414740613581958385288820659693100455916521685045746330613396249132947182470672602072080921916871655445347880668810150161754470816255647909673836281496419027853783385827631754935250852499914026195193934552247663470211104630383468463659231734688855218998172904625596425625377799656287018197016814991323798615187458782662979464891417979624015442089269148023646105445984354070122066129669929111928442373675098490797771451802363949453185347076231075703189554080569624734431842371497187806699873386519283897998271671510710263089799698447287285402902348146559009113674665023853190879321765929310260917381873678090598260566758863031824654126048666329648353452336666375489096612485634920079981394962866542843143966276815848407546507058236912513793602726251374568676741377749221162825751666227856676052636468695977259196304019249332885572318047907363272504502932783077930775760771273106505749718177146973807197834522554737972109409298634345318722554549971939602640194538357519961603756184893903517936223018739021047263582982756719173876422076582636960381060758061852802098354745554565466124477649559591817611796313427620456520065654611919921678610248574874655294461541580037714627862857316860368545227711136517357365443 42594151211333867575479117425434313557306598406987059778947586407731084310321665097601538034580303377162668263942832456231352510379249869301289285088681498899240123643406112848021461614922014931846314769091803823701507461242204092026041908623582599171923267113879649957637822179391210569374964564347953301158094277288552683464216716265508780256431481865444670719539246263409406934666441702191756938895263151221333855664357667615266519103274135024164408529212998377613061272776570117504005931888076569522149971121365591324189135574859408110304135310491455534437615170550360076372343835120584549392209905249314991936056859736631978041068063237892890234189603072010402469320569169888769407344623707100292296813447556442568491690987877622955393762939123822920313049716037378879424741575495310293353660922752277615511479398382547662091526510535669545359815558471176222662065072934071353699497063774207064426627372340063708527175808837721331625541384505420524018752632813759294689906061310090812164167231110889816445944005844936008069985497341318297425035888132698388606148383050790260307836262947096531865854758471373905751526771960289312762916215135147305435259043879720667088380078719170212385709134466998611834525530339132213213237258674387003668320482555657270535226985275042711915757296270632242033015999904476431013392309606293085378234495640821400318676159952322722754976882315101262913787771984052273512673376581092723115313582735544948196753779864782163733894512574566910742850467529686328246744585086385786276513877114571272029837194355567707078890697602409991662861758856042284255964713574278797630315570489275995696586453766737354259534106531191602658993901262122797610227574171892330055360080901745015249271149169364835635830283505756878132046454339534871914172278622122434851686196384647547210942254163376168022437294065938462946663809255153225733822534329192057800922365633579408684640210699289420014542543542178072877328025297796029653871142931078990712312714915777061615859220961438403498251745453688188538255114153982154854515465218305954417960340303066871490819037798829337001100905173095131787739634160720330298464017352379481419592500108831717798277366313547351300334456568473363493264089504520466767076837705202617856320042389939605504583497613021065061993133430949940782681140914533344126964928514006877496762765752514229443045432837205891981765499639618511802618627061807488670200374718653983164480388086790391553748937244997468271152004524994565118853699132484906812827062418630342129781077240458879769378870214890509710006604309252812932643173615166724268500473450264980420010298627499485077283997030990328390651917189344074457391807275835416334830990257271664200927124681005257403417206533440714322222272158578134545655604201467668504588111802761932679482188119308982216429416184958501328475885107377592495576213206665484635697868537470692597464500714240390863987592251742880904625218026827855162437038685091540052531151776829210299161732624605511784733497990360747597134752516908942255761277112437585777695550548136783168456394253074870905892055123630248091525597505723267922565830801148430192195668210322324318863530265966498142214700312905479797729804933690226563698775066935793973627735074591244338189631761323658310058801429195924784216488414213133896570748793872911004259476984261675481685348711716763993688256391566979096831903370212367655032348216087824937365906028092156960701103127121433989415226940025004741017199527776978018212271929795769846404014148425412552564377229646238797731942038526088082977295069118418673493372630109347068130261396839770323195074882702120385165028216123845919930332733440355423337103098706112767285025603065355370490034681932745550804254089606059073209561660690067538116349936364227945811467871528065042530844831514946227035989163148167219846530858871385886366771672924979246650270441731877525943780686609280776601586088818448491044230712535751426266456189691554463535096775412960050335882296732396043088899282256926936667704436085578236137790371413763619769195493283518403388167502490132418026694163561300474708249018689718060734610322235458270869222585967570494540253731735174233990199935364 68918784381890703109642796440179922445140349047580406292702436557233629296292810302977764792504308406495708452604331123215927215069687673454775312618115645663482770073912701318686037426755313202667431052976953120857260863857653840046213294764464262693461183358272095285325290569097584481114987636685864949335713554796025402893679940592548468649119352471542534983591722539839398520810141916631271479296861104886639857226197809257069815700832106689420518253246596414002596695708623682108559754543214212377064398893367376636191803364401386879454493623199400726345914528139992176839533702111853061505221911890546833454186397459208977151361945278454945087520835515874277741971343886205211602460183100980905540359435637805624660576059361253756694394574681745335073941727565753170004400480672679383888824251278331940573719490133538305801432237365845699641252156020642539014316430587943311206491039542042881734752128308400359351582249054462037964732244759669138236005737188860235513125677117470364716438081092278818578481286723145627751825842767645519466552243127312599112800863198347569261465169058032835315427500524400365528663293868551909608224371312535402146013634018309114336541590732591692861086520255631954299042223399276330174472550242956303708640011099127021958758866937358808485149558027821892306694334308552638608510309682169252453292529698546616885448724762447914990445405984621975180475631417950748773594703810034483019068743661164257897015660226015288044028259402256933492988034492875327473539476855093477099172584781527334111297167202430355148615164242812483785702009265947569770317678895566879660677260131504755753086095475999549856145213634367299125671993818891572882658860905929341970992689281068282088197089234153995256555361965244638823503960018903753733885882937250238981386066314743444562000924372701972881905516406808344143887005051642126092409838154760813540329801308461204461991366797249031860997668891410921157514038868150553943871277271252137438925650451067902230511621333013350505876723047959586512240626489832671655429680990349317565948511461591825895081427588225097626098227709733422143883940469735834175513352659267442963158173725426255867625021036490067860767205559438433261985520864592438546385755291328779354940453869624825435544032763017440766874162327190006506657568698754910921835672893805993666005435023130276119151118821809327570013413985080096884003409092071601506150922411814639315667181126059657407824971011655544764793888647689513507935869131125481240108798520274659529867028580657334265112064870055486804141700087245757029187970178059824846671857192263470067401222677089525930530330126386307004212341069139983536043012431836697875428715379217164379690667113319131361153136238364318953536803490138299889823633193695069968086244719468560229197353765534243240792115482993493133962846143716854182348641382311617878117045964995385099475702916917528299171210475758432164384721117705815533216234668357125799926121461243950912743691009894332444426598446277269282180498847522338504894224294908258379767631470053654823901742133743681056053809594446503739435271342004764341593684584534257823950603461174824232889725459901050389878170524010110181198268592921961252553994065108698599224160699969043994476649958340473301382600044383383566879467879104551876194764235962180152283123089707659835755470777846433922800184833940654195322701141664170018981801401434901168441609217646237530325837558963805486603033639898391260301097526048649528922535019595468293691299551327760699123386343320903821585132917847854012287555986500292351583970890676105931162086050965818989524723236154457051540517312736331554850412714835318289879946242672389583133433149572413607402548475535471802178822766347436822430724486441733765973025989000696641788727067832084291863730403832994134399261667651100002924461634632157159473277422643156393624077639566400080681752796018579410946904811372998462983833352730289783786417793447739357438614711635978789356929560315378799808073158679003519304664817146336297990592469768509174334661617761167962979985114286445845647150683626955086628170697299966635609265616696999850906937213830427811400622276962885370507557300807 111512935593224570685121913865614236002446947454567466071650022964964713606614475400579302827084611783658376716547163579447279725448937542756064597706797144562722893717318814166707499041677328134513745822068756944558768325099857932072255203388046861865384450472151745242963112748488795050489952201033818250493807832084578086357896656858057248905550834336987205703130968803248805455476583618823028418192124256107973712890555476872336334804106241713584926782459594791615657968485193799612565686431290781899214370014732967960380938939260794989758628933690856260783529698690352253211877537232437610897431817139861825390243257195840955192430008516347835321710438587884680211291913056093981009804806808081197837172883194248193152267047238876712088157513805568255386991443603132049429142056167989677242485174030609556085198888516085967892958747901515245001067714491818761676381503522014664905988103316249946161379500648464067878758057892183369590273629265089662254758370002619530203031738427561176880605312203168635024425292568081635821811340108963816891588131260010987718949246249137829569301432005129367181282258995774271280190065828841222371140586447682707581272677898029781424921669451761905246795654722630566133567753738408543387709808917343307376960493654784292493985852212401520400906854298454134339710334213029069621902619288462337831527025339368017204124884714770637745422288299723238094263403402003022286268080391127206134382326396709206093769440090797451777922771976823844235838502022561655720284061941479263375686461896098606141134361557998062227505861845222475448563768121989854026282392469845677290992830620780751449672549242736904115679320165558901784665895081014370492886435077821672026352770182813297337468238403518830892385645471001516955550414358438625648058161559372673833072262699390991772943178536078140904342810472746807090550814306795351826232372483952871341252166942040613146631577496538451875540212433588994034842064165946583597742420202331128151238365366844963846370842294451754004128468501647775050495740643814826509945146208655271983908851764658697385900465387054434627199132882828553931623574630456164473977370011646924382750673834257973665902387350037419161101662127911796755249610369112905313462592996531397211260496259564430940127530376038505828867295758139947289338709613288255048800601407812871162768200775644505562196551659015219551778913624698608686622036153879090176351297130468622480147569212850048961573908256653013035945893172684078626789568263610388052935860938905001659648105821116214034490935084945996514148304396498569961831143793226549115172330642528450487411521304589011007814327157376635394864258258484057993434819707672114210259705636488828580617791794324388764570342771805033275759075648716434435479237395162738472674356522230492908679541884843225457221531667951994462438731251094446677924854588977102513814914502466077696940203631157919163158802727501313069009939144533670695653273353448665852457273238073161211905423634499844229160096436638016879315251364431280760655501407345844157463182018190437992358136386818551961945864718076751830960868847728032264159515385682688016146271671497148551753255725867548532092870836915589978928073526612187816252769132044492572851895774560288332666281719664131611441401473579308351095956293317685772765513029835091156542600073969335317440819489563197916488441225507633292154604511876537674014149617522726105807515245738394491026940686085239476018260579923396001318297053825627547134806949391238140095313699753173251687763572967142619317074956373942095264851055618711025077343520785452999292347447805589312719798118856577436705545528860177474780745448275673713217049341378502350418458752637768977892583157468217352983076855953495895640286147131801304089375925364924587600194939360149334394575235347940361435250830799267222770992493503543045840049095568135640274348081298277606625533482627860187548490900191446954028064065266041210052873983139293820973711487048938839692811857047774842896972440935930455972369253231914534128382841182272794103857111044686366368152616776578263673844847188255561336419715989684696343875938932458121776159799797998305940876008698059604497757236171 180431719975115273794764710305794158447587296502147872364352459522198342902907285703557067619588920190154085169151494702663206940518625216210839910324912790226205663791231515485393536468432641337181176875045710065416029188957511772118468498152511124558845633830423840528288403317586379531604939837719683199829521386880603489251576597450605717554670186808529740686722691343088203976286725535454299897488985360994613570116753286129406150504938348403005445035706191205618254664193817481721125440974504994276278768908100344596572742303662181869213122556890256987129444226830344430051411239344290672402653729030408658844429654655049932343791953794802780409231274103758957953263256942299192612264989909062103377532318832053817812843106600130468782552088487313590460933171168885219433542536840669061131309425308941496658918378649624273694390985267360944642319870512461300690697934109957976112479142858292827896131628956864427230340306946645407555005874024758800490764107191479765716157415545031541597043393295447453602906579291227263573637182876609336358140374387323586831750109447485398830766601063162202496709759520174636808853359697393131979364957760218109727286311916338895761463260184353598107882174978262520432609977137684873562182359160299611085600504753911314452744719149760328886056412326276026646404668521581708230412928970631590284819555037914634089573609477218552735867694284345213274739034819953771059862784201161689153451070057873463990785100316812739821951031379080777728826536515436983193823538796572740474859046677625940252431528760428417376121026088034959234265777387937423796600071365412556951670090752285507202758644718736453971824533799926200910337888899905943375545295983751013997345459463881579425665327637672826148941007436246155779054374377342379381944044496622912814458329014134436334944102908780113786248326879555151234437819358437477918642210638713684881581968250501817608622944293787483736537881324999915192356103034097137541613697473583265590164015817912866076882463627465104510005191549607361562736367133647498165374827199004589549857363226250523280981892975279532253297360592561976075507515100191998649490722670914367345908847559684229533527408386527487021868867687350230017235131233705343859848348287860176566200950129189256375671563139055946595741458085329953795996278312043165970636274301618864828773635798774781681347670480824547121792327609778705570625445245950691682502219542283261795814750338909706369398879268308557800739781820373592134725437394735869293044659459179661189515134401773548299602999955001483318290004483744326991019113971286373961844187834791920554812743981678536938344657283762942399076599327624041529477832139508812085688421015705992960308458907643520125723479010169352229295879138854734325302870588857808440760601241699053137876895650377468698013647150945487596401577394811300860273495971288720391931960467461462796415906548075447462330013203259745233394660262239486228869508021805791652383394699317112124649114644394176673586694882915286161495750211953619265549725702254102537230813488244092816259878520562233017999674312523255570396140189732796605753199970216945840096875132671972784642981185768598921971041360925700160126342119534149068806763197153191172076056474529332327142931678004604912824001517962691917975424172422237648960277265797271308825723163676995153196290267409631839288626059448287487477305653540707692995951018957627274249124463384632021352778245049044962621294219821787261619394579874277076057341968986706433786613251080933950811149916288046440902207874221796107552407042119003376661314411461558930454433498771408302244521355011034488246062841596509029631158163110992003096995584050891933551891902210182585295131633003689155161899622300932718071010633573535070062401914365621229388922007192233626258305639180934495834512498450367225695454128135700205313326518211292033898425720864677687307286278646439598495395711564445417011897417996330993839291776587033178412326198684917629049741417363153642705045599614933975277034070378250832118975310950781968438518728805854329348137731063024109320995530815210647964590413289651331953141555629457972683097013628426117341498285660944975005314536978 291944655568339844479886624171408394450034243956715338436002482487163056509521761104136370446673531973812461885698658282110486665967562758966904508031709934788928557508550329652101035510109969471694922697114467009974797514057369704190723701540557986424230084302575585771251516066075174582094892038753501450323329218965181575609473254308662966460221021145516946389853660146337009431763309154277328315681109617102587283007308763001742485309044590116590371818165785997233912632679011281333691127405795776175493138922833312556953681242922976858971751490581113247912973925520696683263288776576728283300085546170270484234672911850890887536221962311150615730941712691643638164555169998393173622069796717143301214705202026302010965110153839007180870709602292881845847924614772017268862684593008658738373794599339551052744117267165710241587349733168876189643387585004280062367079437631972641018467246174542774057511129605328495109098364838828777145279503289848462745522477194099295919189153972592718477648705498616088627331871859308899395448522985573153249728505647334574550699355696623228400068033068291569677992018515948908089043425526234354350505544207900817308558989814368677186384929636115503354677829700893086566177730876093416949892168077642918462560998408695606946730571362161849286963266624730160986115002734610777852315548259093928116346580377282651293698494191989190481289982584068451369002438221956793346130864592288895287833396454582670084554540407610191599873803355904621964665038537998638914107600738052003850545508573724546393565890318426479603626887933257434682829545509927277822882463835258234242662921373066258652431193961473358087503853965485102695003783980920313868431731061572686023698229646694876763133566041191657041326652907247672734604788735781005030002206055995586647530591713525428107887281444858254690591137352301958324988633665232829744874583122666556222834135192542430755254521790325935612078093758588909227198167200043721139356117675914393741402381184757829923253305921916858514133660051255136613232107777462324675319973407659861533766214990909220666882358362333966880496493475390530007131089730648163123468092682561291728659521393942203199429795736564906182970529815262026772484741602818249173310941284391573777461446388753687315799093515094452424608753843469901085334987925331421019436875709431735991541836574419287243544222139839766673571241234477314257247481399829781858853516672751884275962319551759755330972787524961570836685674993057670761515005658346257345980520398084662849163240222889762334093935039947479832438308880242896952850257764512923077016518477320371042224265286267547946158984441139577793940857586108099522912651847180926295948126652194821540926250701967908890293821781974385505054954787571168760782107984020546913434957763929546046556437535220694155235178818897482058840308645905747538198350560265822905746874969927540493356110179233366625488815930761058302404599406773156924522781375254457504840667937390273336554538278894020902746791319553303040811001576384900026205227109599946694693995506434530808618014907380784979945539030600007401357009037460828869912715355899633856243146804169121336396236911636147454063912197841290139054415646146336885059532329197683744927952249089620659809213397668736524265402991542000269071380465739923421725790295632362465368323237646330470637109756972829755777067284955920779631910165417245367010100636480353380056639709123026512379718931134284438639554799745183262937691633699904623192148918377944573881926950834107202498913489255189060219282830595738202817258097737714401738657932247011929746780946576997614964319473867611924951608370456686504411903611386665716314044925429394283970350654847951563187714790471906508144976478254428613711296780705336374151777839730545816989116946552382960652880874528874857269763329249634448466446621639243251153375613779427674172773802162955293932819761274299786043886611755892371039961483262372203892165759726326999386037685733856468742553274410928485602018040550864431249403323610165366247358152133054762542375839850540695716290347839602372994840378003466209301010129279336028297017494561916094459256813426424423282374294359004579503071773149 472376375543455118274651334477202552897621540458863210800354942009361399412429046807693438066262452163966547054850152984773693606486187975177744418356622725015134221299781845137494571978542610808876099572160177075390826703014881476309192199693069110983075718132999426299539919383661554113699831876473184650152850605845785064861049851759268684014891207954046687076576351489425213408050034689731628213170094978097200853124062049131148635813982938519595816853871977202852167296872828763054816568380300770451771907830933657153526423546585158728184874047471370235042418152351041113314700015921018955702739275200679143079102566505940819880013916105953396140172986795402596117818426940692366234334786626205404592237520858355828777953260439137649653261690780195436308857785940902488296227129849327799505104024648492549403035645815334515281740718436237134285707455516741363057777371741930617130946389032835601953642758562192922339438671785474184700285377314607263236286584385579061635346569517624260074692098794063542230238451150536162969085705862182489607868880034658161382449465144108627230834634131453772174701778036123544897896785223627486329870501968118927035845301730707572947848189820469101462560004679155606998787708013778290512074527237942529548161503162606921399475290511922178173019678951006187632519671256192486082728477229725518401166135415197285383272103669207743217157676868413664643741473041910564405993648793450584441284466512456134075339640724422931421824834734985399693491575053435622107931139534624744325404555251350486645997419078854896979747914021292393917095322897864701619482535200670791194333012125351765855189838680209812059328387765411303605341672880826257243977027045323700021043689110576456188798893678864483190267660343493828513659163113123384411946250552618499461988920727659864442831384353638368476839464231857109559426453023670307663516793761380241104416103443044248363877466084113419348615975083588824419554270234140858680969815149497659331566397002670696000135769549381963024138851600862498175968474911109822840694800606664451083623578217159743947864251337613499133793854067952506082638604830840161772958815353475659074568368953626432732957204123092393204839397502612256789719872836523593033159289572251750343662396517942943691470656654150399020350211928799854881331266237374586990073150011050600820315472373194068924891892620664313795363568844256019827872926645780473541355736215035146071777069890669461700371666793270128637425456813431262896240443053082126639025179857264324038678374624663310633696934994948963150728313363987223943869371735799297038860706312112291597037009267946084884503641724902520193017456913732141052390483986689738381636547667900814501234709609611429016017300792143737734350833926425903086084978572878355354195559005628599184433333185598162853248825969842969655241886040717048398471846531554543297678835437389003289772016727308814087818829134020803535799259669012643153392289397060249157224062636707385461203652923288197576333486202468589202306751788338519291754952811854049231924808994678623624877893427943017997945213343123262971753149227193625475665915326116579696340021936841094121039218097404746376034953558766990299180757765680485953866295526350874917004008723618952986952145075673341437089404509504692187046804638162161070686067561429633774194046401323325623833400024382461595065693344404208267109215818957953060006051655437980654305764172507658533732497176183329401260849019566970524557086213574181699249490887364651007668540201915041153310063405543235501121490704817534310369665139856717778399972343708570860201214445348405917208840828878646413197671212053195534043061774497657719411040509480286217522242557058134148482846423475595663306876100555361331782307414278871444214179754096167046378038953744616586911186513709809353104275827700001674161900749774943456466702131990719708071199523027632981240106039920739384539282323320337788051858901258703197731457536313360177798363884418774097792294691774082128307063640165798406526437393988416198366333463083836730980894568656395025064428078902626482315835908818676857265600542568987360250159050191374067142353827054850540623872580019949554508386310127 764321031111794962754537958648610947347655784415578549236357424496524455921950807911829808512935984137779008940548811266884180272453750734144648926388332659804062778808332174789595607488652580280571022269274644085365624217072251180499915901233627097407305802435575012070791435449736728695794723915226686100476179824810966640470523106067931650475112229099563633466430011635762222839813343844008956528851204595199788136131370812132891121123027528636186188672037763200086079929551840044388507695786096546627265046753766969710480104789508135587156625538052483482955392077871737796577988792497747239002824821370949627313775478356831707416235878417104011871114699487046234282373596939085539856404583343348705806942722884657839743063414278144830523971293073077282156782400712919757158911722857986537878898623988043602147152912981044756869090451605113323929095040521021425424856809373903258149413635207378376011153888167521417448537036624302961845564880604455725981809061579678357554535723490216978552340804292679630857570323009845062364534228847755642857597385681992735933148820840731855630902667199745341852693796552072452986940210749861840680376046176019744344404291545076250134233119456584604817237834380048693564965438889871707461966695315585448010722501571302528346205861874084027459982945575736348618634673990803263935044025488819446517512715792479936676970597861196933698447659452482116012743911263867357752124513385739479729117862967038804159894181132033123021698638090890021658156613591434261022038740272676748175950063825075033039563309397281376583374801954549828599924868407791979442364999035929025436995933498418024507621032641683170146832241730896406300345456861746571112408758106896386044741918757271332951932459720056140231594313250741501248263951848904389441948456608614086109519512441185292550718665798496623167430601584159067884415086688903137408391376884046797327250238635586679119131987874439354960694068842177733646752437434184579820325932825412053072968778187428525923389075471298821538272511652117634789200582688572147516014774014324312617389793208068964614746609699947466014290347543343036089769694561488324896426908036036950803227890347568635932386999859657299387809927317874283562204614439341842206470230856643324121123842906696631007269750169244851444958965772269755966666254162706008009510025720482336811857308947613356168436114760504080468934810078733334085120408045610255400209252887787030347739389442429217031344454318231699474111131806488933657755448711428383985005700255348986887841614847553072967790870034896442983166622244230120896719629500312220115877224789432662639261274554213632830662626166042097986958314499840240575303135833870664677584674320095636042160960311579337906311122574118123239405788713997071846867086556898902267630516769558145230989770720818857008484004788740451714082194686622795936670197091820366203425710407316543783128126906542180713307645064781861838203859075785800077915070772314706662064730574097658797758191202182218479080277522021892243117753364723419317960179921453995926618804501113154433495908335323802977890752373723270373110158264654454345578630682016213552583168741010215457435455009040893830098865756608280438235173411826822838925827855548558661931960972708573646761358473342077961354807501046692456118185103902084492411857857061996239562369638969656094470509781355291350842760629360129046741125984375198427016152291918334034362403881630685046112216107317613839900403819312153787494777847274086322441639805742595581550467152749148355808976894798424561340773535413272513186923237594432180138630275955582789947995391925403532173160302746258338149279582509882038454965385884323435725085434909680501492593211906085711670561213947502171451852578809789945493604194984207818365957593826712863367155900296999547564067388238684210374039156949636122628347371414186707620077745770147382243973325190588275172925801195039170583168935076230159091820384521075401623623296039687177184401570152630566534847966185010613909081680716662837775840717598581564613691615216891493523270408506935720780718426742228855310676286822143066566610671848323388547176544753290161601610640481274963906246874378954134011458083276 1236697406655250081029189293125813500245277324874441760036712366505885855334379854719523246579198436301745555995398964251657873878939938709322393344744955384819197000108114019927090179467195191089447121841434821160756450920087132656809108100926696208390381520568574438370331354833398282809494555791699870750629030430656751705331572957827200334490003437053610320543006363125187436247863378533740584742021299573296988989255432861264039756937010467155782005525909740402938247226424668807443324264166397317079036954584700626864006528336093294315341499585523853717997810230222778909892688808418766194705564096571628770392878044862772527296249794523057408011287686282448830400192023879777906090739369969554110399180243743013668521016674717282480177232983853272718465640186653822245455138852707314337384002648636536151550188558796379272150831170041350458214802496037762788482634181115833875280360024240213977964796646729714339787975708409777146545850257919062989218095645965257419189882293007841238627032903086743173087808774160381225333619934709938132465466265716650897315598285984840482861737301331199114027395574588195997884836995973489327010246548144138671380249593275783823082081309277053706279797839059204300563753146903649997974041222553527977558884004733909449745681152386006205633002624526742536251154345246995750017772502718544964918678851207677222060242701530404676915605336320895780656485384305777922158118162179190064170402329479494938235233821856456054443523472825875421351648188644869883129969879807301492501354619076425519685560728476136273563122715975842222517020191305656681061847534236599816631328945623769790362810871321892982206160629496307709905687129742572828356385785152220086065785607867847789140731353398920623421861973594235329761923114962027773853894707161232585571508433168845156993550050152134991644270065816016177443841539712573445071908170645427038431666342078630927483009453958552774309310043925766558066306707668325438501295747974909712404535175190099221923524845020680784562411363252980132965169057599681970356709574620988763701013371425228708562610861037560965148084201611295542172408299392328486669385723389512609877796259301195068665344203982749692592649324820486540351924487275865435239629520428895074464786239424639574698740406823395250465309177701069610847997520400080594999583175731532937632172781320807425093328007381168394264298378922989353912993334691390728941564989102822176419516459333098678731716121111501828111536588619920196553995891764510510624030880112613310926519989472216383601487805029845406133894935608217344840589001236111517154737931101544954236298283822159717715166267890944618179975771413572381627693619820560403059221221987996450543395669921190766922328423366261860973756622640422974932952065129777257621826075775186744415423103906417019861732830758583421369324080727339844335142043623374909501104545844705547072900143633850994801126474198802665374003118744798443231307360169374955819288793210805044258961844125470416055413763724490481445424505153061938609715132733308045158543613495791778058373801763266820975835965716846533344863307491848079821244546008132793248923190677851309578474673106445640206133819315375270737415931177507308792792123381899433578935969696327526633713503549015419398444212010551384643164989742064245563097925418491630013756416040292981718303909805737752945908453973764337313850341803333151487022203947356314688668168054138343579844713283500943241161252838879124312051864060848268021691130693107246589219007354664189509119040300341660062462264240230806823556588377451149958538602619664153650149209837273809449382001131624904751346950794563077572498027160381981155136125944389966719014835768964219860153407637423097834758728679365151277275911609263079262580137347922879909745194854041616134475253901948493563478314984649637796790248121189130164086779877760867090315172848218221256413031841115778555122451258396567947143679285779778599355080832353047354982765454571404664327142657959092742216145320882461244302278111586997762980025078300728224504164977163330745845146505644855337626512195640819923832211214417310748797335594944664228743964467536125504530119454398903688519844393403 2001018437767045043783727251774424447592933109290020309273069791002410311256330662631353055092134420439524564935947775518542054151393689443467042271133288044623259778916446194716685786955847771370018144110709465246122075137159383837309024002160323305797687323004149450441122790283135011505289279706926556851105210255467718345802096063895131984965115666153173954009436374760949659087676722377749541270872504168496777125386803673396930878060037995791968194197947503603024327155976508851831831959952493863706302001338467596574486633125601429902498125123576337200953202308094516706470677600916513433708388917942578397706653523219604234712485672940161419882402385769495064682565620818863445947143953312902816206122966627671508264080088995427310701204276926350000622422587366742002614050575565300875262901272624579753697341471777424029019921621646463782143897536558784213907490990489737133429773659447592353975950534897235757236512745034080108391415138523518715199904707544935776744418016498058217179373707379422803945379097170226287698154163557693775323063651398643633248747106825572338492639968530944455880089371140268450871777206723351167690622594320158415724653884820860073216314428733638311097035673439252994128718585793521705436007917869113425569606506305211978091887014260090233092985570102478884869789019237799013952816528207364411436191567000157158737213299391601610614052995773377896669229295569645279910242675564929543899520192446533742395128002988489177465222110916765443009804802236304144152008620079978240677304682901500552725124037873417650146497517930392051116945059713448660504212533272528842068324879122187814870431903963576152352992871227204116206032586604319399468794543259116472110527526625119122092663813118976763653456286844976831010187066810932163295843163769846671681027945610030449544268715950631614811700667400175245328256626401476582480299547529473835758916580714217606602141441832992129270004112767944291713059145102510018321621680800321765477503953377527747846913920491979606100683874905097767754369640288254117872724348635313076318403164633297673177357470737508431162374549154638578262177993953816811565812631425549560681024149648763704597731203842406991980459252138360823914129101715207277446099751285538398585910082331336205706010156992640101910268143473339366814663774562786603009093201452015274444030090268420781261764122141672474733233189001722687998113742737000984341774241990609206767255848775527895763060575429733527585647720426409130211751340475938894609036580367962297814361604319769456569278675064741849117061557852447465737308630736423737270615155890977616875559558376373350545828894056986716166934085913412622202996755654431067736805896308092086585556630232770104828639545940379984213162411354420046779819151686676159889456592544744889646412874627235876870216835547323873083406275413962640271812240715195275704530256252022090856028270540393175514434119263584527212206977820584243309222430941689662481353523784902703056720035327652634534494041246512373688542258517785357927675312654762041085162417996904932491869710098590623953726718090569803717973465756502534166823176690149006801506359418861525035910128115486534036232685071983551175651104589334131631717951237447992240867930669036100280474862022357497359799019511598077099283174845966330055509783275553626253318785679262637812774419587093044296751214603124466360591467787708349914038356239274648723030571935769028625956929390818557081061656658191278099546641908122354344132770498849842170769474507413337864928017195140084623803037775644079336743511615045582138677232895619736440097205229199212981555161434371163089496230377072959610952992546266304590861211379299647220507428980870305571823968851370600006210581258174941222769515804247287080946094941749592773112350754338615682039321290187177773852354141599273919418595492603316871706857623531014472559146173408809531585957642310817725705620193472798106235499670300854000978704128392734532167167024724035230861990624144103356125227001599124082078118829185579327593716693517619718027435385670266466625864932387084192937188482462962990398821886265634137344512139697954390345575108017400468436366328777857822531302476679 3237715844422295124812916544900237947838210434164462069309782157508296166590710517350876301671332856741270120931346739770199928030333628152789435615878243429442456779024560214643775966423042962459465265952144286406878526057246516494118132103087019514188068843572723888811454145116533294314783835498626427601734240686124470051133669021722332319455119103206784274552442737886137095335540100911490126012893803741793766114642236534660970634997048462947750199723857244005962574382401177659275156224118891180785338955923168223438493161461694724217839624709100190918951012538317295616363366409335279628413953014514207168099531568082376762008735467463218827893690072051943895082757644698641352037883323282456926605303210370685176785096763712709790878437260779622719088062774020564248069189428272615212646903921261115905247530030573803301170752791687814240358700032596547002390125171605571008710133683687806331940747181626950097024488453443857254937265396442581704418000353510193195934300309505899455806406610466165977033187871330607513031774098267631907788529917115294530564345392810412821354377269862143569907484945728464448756614202696840494700869142464297087104903478096643896298395738010692017376833512498457294692471732697171703410049140422641403128490511039121427837568166646096438725988194629221421120943364484794763970589030925909376354870418207834380797456000922006287529658332094273677325714679875423202068360837744119608069922521926028680630361824844945231908745583742640864361452990881174027281978499887279733178659301977926072410684766349553923709620233906234273633965251019105341566060067509128658699653824745957605233242775285469134559153500723511826111719716346892227825180328411336558176313134492966911233395166517897387075318260439212160772110181772959937149737870931079257252536378778875606537818766102766606455970733216191422772098166114050027552207718174900874190582922792848534085150895791544903579314156693710849779365852770835456822917428775231477882039128567626969770438765512660390663095238158077900719538697887936088229433923256301840019416536058526381739968331775069396310458750765934120434586293346145298235198354815062170558820408949958773263075407825156684573108576958847364266053588991072712685729271714433473050696321755975780404750563816035352375577321174408977662661294962867198008676377183548212076202871589228206355092129522840868997531567924712041911107077428391713283339231093431383186772308108626574494776696541235355697184309046329326765747232240449405233067460480575608740881593791985840170766480094587255250956493460664810577897631972535254425353086992522571111857842198533068260995161947931334346909857326985003830690375474991470796027118296088537128952300153960871750967969306641845186919033994843021712771216816453417511282668319931634061835978533652896731949666305907294452730356141302484606954284338570185205634802096727637928928414174244170315560593462387192586210096565382686540529791111064618300642316995707747315681879453123050589907804971002855133966763670847296537390445388070086243706031492696710550243511861857444929562683807416337062836773248350613988067722698281800050429550096712834614384801221932174242366504387358821913067035766841440424510074619347425819803900365363626914188365571372916758243231522149461742448164588030575618607708694045256267075201719555619531078329392830797242659668576888803674441809591041501401060560186630963411698739989907372205801642674319500322222909497070402411598505968970622365823901191957088759988481862077527374047057495481744686265302015874886160300099992496732097215835515283890090246415066473022430937162565996067840843181171636037183451019706648285745997337323689613939522264749834525431977376488793697840969309937540092500045427413510366343526232289672472682857545608380231816514575192135671337330669126248911716208843613792447035793637501291881562874319021627030787998989483426596280828071451869366053379178956080632600333784960745781887149932479295439895189133282103196098341372322481585326380396940772577090573741771818347942531600362833597212471011438031939530563700678103782914231033100682944886141847734642618619089539575553525972966485783176761511051146870082 5238734282189340168596643796674662395431143543454482378582851948510706477847041179982229356763467277180794685867294515288741982181727317596256477887011531474065716557941006409360461753378890733829483410062853751653000601194405900331427156105247342819985756166576873339252576935399668305820073115205552984452839450941592188396935765085617464304420234769359958228561879112647086754423216823289239667283766307910290543240029040208057901513057086458739718393921804747608986901538377686511106988184071385044491640957261635820012979794587296154120337749832676528119904214846411812322834044010251793062122341932456785565806185091301980996721221140403380247776092457821438959765323265517504797985027276595359742811426176998356685049176852708137101579641537705972719710485361387306250683240003837916087909805193885695658944871502351227330190674413334278022502597569155331216297616162095308142139907343135398685916697716524185854261001198477937363328680534966100419617905061055128972678718326003957672985780317845588780978566968500833800729928261825325683111593568513938163813092499635985159847017238393088025787574316868732899628391409420191662391491736784455502829557362917503969514710166744330328473869185937710288821190318490693408846057058291754828698097017344333405929455180906186671818973764731700305990732383722593777923405559133273787791061985207991539534669300313607898143711327867651573994943975445068481978603513309049151969442714372562423025489827833434409373967694659406307371257793117478171433987119967257973855963984879426625135808804222971573856117751836626324750910310732554002070272600781657500767978703868145420103674679249045286912146371950715942317752302951211627293974871670453030286840661118086033326058979636874150728774547284188991782297248583892100445581034700925928933564324388906056082087482053398221267671400616366668100354792515526610032507265704374709949499503507066140687292337624537032849318269461655141492424997873345475144539109575553243359543081945154717617352686004639996763779113063175668473908338176190206102158271891614916337819700691824054917325802512577827472833299920572698696764287299962109801010986240611731239844558598722477860806611667563676553567829097208188180182690706279990131829022999971871636606404087311986110760720808675454285845464647748344477325069525653801017769578635563486520232961857648987616856251664513343730764756926434729909220820165392697625113473084040589954028156884154470257837271970968883282832029472738456977498572716388299842104040848537906555243198111755296740045155159329104368018051313112276315206262708958991695968242883500187987417400574906418806824056004918050513843943240397626033687131129422538532833014604180623714508930386730976579607515247021829400081445349263068492590368503129577400739260864676523708248853160888773602166501853231167536136631555265124878766525053765460910165058348749728784956684714637345829994712725971719798417074385966929849752222052754280781995840780610450372401914780775685124401846217515228822509022188632654465065758042832127328868449489601643042113221960448068883289401897986140780810239004853148154890899388430806851935909515574359650294929337418708278599189459342373088718140356175572056228025856795418060671831034399727194663227593730414118042251033747538841731339433996905674117491969598882520393987398818257343852748979923841539410883180013270035033277378749851315098916425905612134729311925676400831758572065138057403284566155261680511145147877092976709956671690806930930757956369490865238975074690621829310068339791518965497043611607542314235893068410903626530343620295672235412492324000367230930339411548708996794404012252914590336858548702989261160029693730704831003801345340164297847179891195715033722814943217757653424472327231422065455969896362718847498553896482322849111183023267848185635627439106395763907500495124822896035433465195035840319584947125737414006533691645342164159614678626381486601312489089138516419317099504019475126051123906247299454466599324080709408458515769958156418167458465335967660559035748503863679096876370419023723500889160566745904629854986948579023486359874340573009435114683570926441402852111954619333582449346761 8476450126611635293409560341574900343269353977618944447892634106019002644437751697333105658434800133922064806798641255058941910212060945749045913502889774903508173336965566624004237719801933696288948676014998038059879127251652416825545288208334362334173825010149597228064031080516201600134856950704179412054573691627716658448069434107339796623875353872566742503114321850533223849758756924200729793296660111652084309354671276742718872148054134921687468593645661991614949475920778864170382144408190276225276979913184804043451472956048990878338177374541776719038855227384729107939197410419587072690536294946970992733905716659384357758729956607866599075669782529873382854848080910216146150022910599877816669416729387369041861834273616420846892458078798485595438798548135407870498752429432110531300556709115146811564192401532925030631361427205022092262861297601751878218687741333700879150850041026823205017857444898151135951285489651921794618265945931408682124035905414565322168613018635509857128792186928311754758011754839831441313761702360092957590900123485629232694377437892446397981201394508255231595695059262597197348385005612117032157092360879248752589934460841014147865813105904755022345850702698436167583513662051187865112256106198714396231826587528383454833767023347552283110544961959360921727111675748207388541893994590059183164145932403415825920332125301235614185673369659961925251320658655320491684046964351053168760039365236298591103655851652678379641282713278402047171732710783998652198715965619854537707034623286857352697546493570572525497565737985742860598384875561751659343636332668290786159467632528614103025336917454534514421471299872674227768429472019298103855119155200081789588463153795611052944559454146154771537804092807723401152554407430356852037595318905632005186186100703167781662619906248156164827723642133832558090872452958629576637584714983879275584140082426299914674772443233416081936428632426155365991271790850644180931967456538350784721241582210512781687387791451517300387426874351221253569193447036064126294331592195147916756357236236750350436657294134287647223783292050686506819131350580646107408036209341055673901798664967548681251123882019492720361126676406056055552446236279697352702817558294714405344687302725843287766515511284624710806661422785822157322139986364488520999026445955819111698596435833446877193971948381187354212728296324851146771820327897593784410908452704177471973140800464992781044752613968512204238980016338519067783743245804956837705075171501329113515296124791903741136910811635253916359618974544773777086893103894681494246121321329876022759099275242773439487067819217952849384860753800567382629864377506604414009328860132900269160843461230540691848330575484553663674587000479344106090205361585319582994912021929184608157770084831694541670334116168159138461988866987696567609485720809392335646115799860445477366713885098888881516145555306188358912384627170951349616390282013163818899082638157776318197688083794233898735714309651188518083956475785859479951002456203430902213572574480982298353592356733822305513812852085705402477843647012253203762142958622086712606902365459612287194264679730559350882520965693846701195001785176123017012480738100476142843880475731399763354108851593165103330876285482555897000584179504022027481292725200663644138787469189118373876874931078372754638782070551756902073709475086969791352716159476612536575546428051915583773037560214739457557725507475652332082922743653846063599075780572882764019690746438231568392613022132186103573996333641807393851657343711600039046333108903926187516620590035362145257843429486566363298771182592720345033977855031959562876082855886026678875099551958480539356435778721828957995688149201133255126222860370631268019767998559521094538138827441971099079315068471674458520448513692394097097351836282720188210943294132626114777598307784216662871107583936609164010287361763097211530212993857582462119201646274049884298306467031983314915021240257188350495552807971646562294734838912710730733508741200237154315603090636111337460891567887808450963254064589838670528818860888087631523909628207608983191628524654259124452414369337895131380844633596216843 13715184408800975462006204138249562738700497521073426826475486054529709122284792877315335015198267411102859492665935770347683892393788263345302391389901306377573889894906573033364699473180824430118432086077851789712879728446058317156972444313581705154159581176726470567316608015915869905954930065909732396507413142569308846845005199192957260928295588641926700731676200963180310604181973747489969460580426419562374852594700316950776773661111221380427186987567466739223936377459156550681489132592261661269768620870446439863464452750636287032458515124374453247158759442231140920262031454429838865752658636879427778299711901750686338755451177748269979323445874987694821814613404175733650948007937876473176412228155564367398546883450469128983994037720336191568158509033496795176749435669435948447388466514309032507223137273035276257961552101618356370285363895170907209434985357495796187292989948369958603703774142614675321805546490850399731981594626466374782543653810475620451141291736961513814801777967246157343538990321808332275114491630621918283274011717054143170858190530392082383141048411746648319621482633579465930248013397021537223819483852616033208092764018203931651835327816071499352674324571884373877872334852369678558521102163257006151060524684545727788239696478528458469782363935724092622033102408131929982319817400149192456951936994388623817459866794601549222083817080987829576825315602630765560166025567864362217912008807950671153526681341480511814050656680973061453479103968577116130370149952739821795680890587271736779322682302374795497071421855737579486923135785872484213345706605269072443660235611232482248445440592133783559708383446244624943710747224322249315482413130071752242618749994456729138977885513125791645688532867355007590144336704678940744138040899940332931115119665027556687718701993730209563048991313534448924758972807751145103247617222249583650294089581929806980815459735571040618969277950695617021132764215848517526407111995647926337964601125292457936405005144137521940384190653464284429237667355374240316500433750467039531672695055937442174491574619936800225051256125350607079517828114867946069517837220327296285633038509526147403728984688631160284037680244235153263740626418970403632692949387317714377216323909129930599752626272005433386260947268250469905666617311434014174800044215534454675185116668795304526181588804632851867556459061081777581501729548717759177108533566177261512563094828621876935515010451240483173122262848367991806240720744377673226004917275542177651421851367990015496433650856790413245463986992596086889363208310157390453237817289572759522947086692643348345905874643273957767435374597743807780255898064637733836547861693147504449784557970160927422824910182999800685503987081924693369158697951953822712572312761190049284681478333684855430443936282670012369629525003619251832734364487334446101107025964918794227095498841783603518861975550018914330632183044245337316546240034235216573179864633998556928648060485709014674420838711497406033312778984808048112605467521961473734340901442930471899996634469955782753582696141487603388618624457251258056910297849521475143413754301369127861553914974659896769590799564883306043568090503316479192584536966126332938261941147562434163081303514820758833744994327733589644539425910843456024386966842692633243021307863176517192134218783827352678480321481434936915343744508364348541204031258393038442187681157363841260173869318786804595615128792041807593763433888801723156575785737244573570950621504394601059257851997206876725403306401981598912817154387323207581360569001972337091143150933655657817493255921810566730529701522004269054030772259044212477466419714434729668136259581652211244187439580067169122293535329092328970159945675313849025673192470886752516603594797338333817926813622368156781369559696715661945282987463721826583974850794627750937673633741249411698711427168883734901424293895454742553694372608536208843605802958763139022814725784131487334390147291381094597795007274570970643004143297428480688889926908658702490283263649671859841324570664764178869986977565478999237274723490743074580102933114567483323764637959768942695378855772190007086000178216045563604 22191634535412610755415764479824463081969851498692371274368120160548711766722544574648440673633067545024924299464577025406625802605849209094348304892791081281082063231872139657368937192982758126407380762092849827772758855697710733982517732521916067488333406186876067795380639096432071506089787016613911808561986834197025505293074633300297057552170942514493443234790522813713534453940730671690699253877086531214459161949371593693495645809165356302114655581213128730838885853379935414851871277000451937495045600783631243906915925706685277910796692498916229966197614669615870028201228864849425938443194931826398771033617618410070696514181134356136578399115657517568204669461485085949797098030848476350993081644884951736440408717724085549830886495799134677163597307581632203047248188098868058978689023223424179318787329674568201288592913528823378462548225192772659087653673098829497066443839989396781808721631587512826457756831980502321526599860572397783464667689715890185773309904755597023671930570154174469098297002076648163716428253332982011240864911840539772403552567968284528781122249806254903551217177692842063127596398402633654255976576213495281960682698479044945799701140921976254375020175274582810045455848514420866423633358269455720547292351272074111243073463501876010752892908897683453543760214083880137370861711394739251640116082926792039643380198919902784836269490450647791502076636261286086051850072532215415386672048173186969744630337193133190193691939394251463500650836679361114782568865918359676333387925210558594132020228795945368022568987593723322347521520661434235872689342937937363229819703243761096351470777509588318074129854746117299171479176696341547419337532285271834032207213148252340191922444967271946417226336960162730991296891112109297596175636218845964936301305765730724469381321899978365727876714955668281482849845260709774679885201937233462925878229664356106895490232178804456700905706583121772387124036006699161707339079452186277122685842707502970718092392935589039240771617527815505682806860802410304442794765342662187448429052292174192524928231914071087872275039417401293586336959465448592176925873429668351959534837174493696084980108570650653004398806920641209319293072655250100985395766945612428782561011211855773887519141783290058097067608691036292062988757297798502695799070661490273786883713104628751403375560753014039221769187357406628728273549876615352961519442018881438984536235629086869716559763065208995377361242864706510874024463990182630063709992447043506764937147492781919237570561668425667161823605967140860666450101414052071947483938610902635545706185967886121785392942462491910616820235351544375162885762442144338250557190553280404718945401431391468114673240758484354349178574082404037475248903313539142295567224783119233892839248418516549972114270398838171508091513870606948400343850208143838436753141764779239704462212726882492400378121105325102689544567671416288666162630316248380392078947272156333246845748569503248573156553021148594551396735460593907592556469978164904636554474017411454198350226826689605059096508993573308791096468104263511260672440808143561856020656666828740148748179654390456120473320530577152744763092288492602209597017704226809081105821623293833926435412366413923937075870613216145541540010090347478051868259567893296887160095332365635566011093714905725433119103551986693817417453983451318332556747417869650978763227585415756843946906879001544053172854299517459925846356632455569220174861517817456334970312250832832627650465019339062828977302735623406306668811731034807620406902110876263278659771523691019962751099351297133093828472704596989399064750114076172040342502570320756347011359133610691783543875358788998080289223478293462225286168535684480293692960469446273611141733624780304917006128690839831239890008210408056042380339300004546772185794088760377052451232049033628361582534752820344065434581257217839765224585602393791305725004605037188907113032251163470649305168531638282948290560082542617205298878136341191419623435649858939644598866740307971178785462232651987320950231630068837907803542351631162211626842742775092306956266484423201819831270141527902217381022849641780447 35906818944213586217421968618074025820670349019765798100843606215078420889007337451963775688831334956127783792130512795754309694999637472439650696282692387658655953126778712690733636666163582556525812848170701617485638584143769051139490176835497772642492987363602538362697247112347941412044717082523644205069399976766334352138079832493254318480466531156420143966466723776893845058122704419180668714457512950776834014544071910644272419470276577682541842568780595470062822230839091965533360409592713598764814221654077683770380378457321564943255207623290683213356374111847010948463260319279264804195853568705826549333329520160757035269632312104406557722561532505263026484074889261683448046038786352824169493873040516103838955601174554678814880533519470868731755816615128998223997623768304007426077489737733211826010466947603477546554465630441734832833589087943566297088658456325293253736829937766740412425405730127501779562378471352721258581455198864158247211343526365806224451196492558537486732348121420626441835992398456495991542744963603929524138923557593915574410758498676611164263298218001551870838660326421529057844411799655191479796060066111315168775462497248877451536468738047753727694499846467183923328183366790544982154460432712726698352875956619839031313159980404469222675272833407546165793316492012067353181528794888444097068019921180663460840065714504334058353307531635621078901951863916851612016098100079777604584056981137640898157018534613702007742596075224524954129940647938230912939015871099498129068815797830330911342911098320163519640409449460901834444656447306720086035049543206435673479938854993578599916218101722101633838238192361924115189923920663796734819945415343586274825963142709069330900330480397738062914869827517738581441227816788238340313677118786297867416425430758281157100023893708575290925706269202730407608818068460919783132819159483046576172319246285913876305691914375497319874984533817389408256800222547679233746191447834203460650443832795428654497398079726561181155808181279790112044528157784544759295199093129226980101747348111634699419806534007888097326295542751900665854787580316538246443710649995648245167875684019843488709093259281813288436487164876362583033699074220504618088716332930143159777335120985704487271768055295491483328555959286761968655374609232516870599114877024728462068829773424055929557149557646891089325646418488406309775279425333112138627975585058700497099330457708746652074773516449478550483505713074502680265184734560303289714909722585684416358998860771934734004212525216080407287592959736947555813309724209462400721755900475395068653272660529470131298817105765868384255609949288182943141660506782072087105052246427909168729959401552395537498150941484155034682561164328730844407601265492965008139537544309283177520726752201405402558206681508183877721038874226200233078214695478284537860167729698033931557711568666095919240096655344017020176750715661625982708870350483596965258811906154890175493809055212263247577391732646000584709514445401955705161937500126378370895375460341926098346861296645387812679205135060912179715092561514769317582738657665036999434410968197868010302094629050352890064120095460458788331182791809081402181554670353142019367762770856268089516715881234682770820864940949735186079436001190934076255226410585930130181403195542152758145312498733078111599425033421630732761198491815666873760778676262689420950908742779598104120776197788348648787983091559267519609790521257292376750647255062029905920933755227433686908317016545939554380609137605005219485966118358015201767471112848600369802922457346677780244355273107699824358174226601258453095522373120384517808922284755486015147618715262903027731314938856167202582758807385791195446114210998329319366152940333026127745328422118638734932942313207988021259567907123717987663326763726373356160644883388127990124865790283040060293961921704078966858875152672582318918958210930000149330807563800327929927758035294957983695315823019377546085567357113587848303021433769672108513362558517642134882130389979831020110032897416166190937209195547837145078265842374236791729775857342575630720904444192144515210125913717909303381201065687344051 58098453479626196972837733097898488902640200518458169375211726375627132655729882026612216362464402501152708091595089821160935497605486681533999001175483468939738016358650852348102573859146340682933193610263551445258397439841479785122007909357413840130826393550478606158077886208780012918134504099137556013631386810963359857431154465793551376032637473670913587201257246590607379512063435090871367968334599481991293176493443504337768065279441933984656498149993724200901708084219027380385231686593165536259859822437708927677296304164006842854051900122206913179553988781462880976664489184128690742639048500532225320366947138570827731783813446460543136121677190022831231153536374347633245144069634829175162575517925467840279364318898640228645767029318605545895353124196761201271245811867172066404766512961157391144797796622171678835147379159265113295381814280716225384742331555154790320180669927163522221147037317640328237319210451855042785181315771261941711879033242255991997761101248155561158662918275595095540132994475104659707970998296585940765003835398133687977963326466961139945385548024256455422055838019263592185440810202288845735772636279606597129458160976293823251237609660024008102714675121049993968784031881211411405787818702168447245645227228693950274386623482280479975568181731090999709553530575892204724043240189627695737184102847972703104220264634407118894622797982283412580978588125202937663866170632295192991256105154324610642787355727746892201434535469475988454780777327299345695507881789459174462456741008388925043363139894265531542209397043184224181966177108740955958724392481143798903299642098754674951386995611310419707968092938479223286669100617005344154157477700615420307033176290961409522822775447669684480141206787680469572738118928897535936489313337632262803717731196489005626481345793686941018802421224871011890458663329170694463018021096716509502050548910642020771795924093179954020780691116939161795380836229246840941085270900020480583336286540298399372589791015315600421927425709095295794851388960194849202089964435791414428530799640285827224348038448078975969601334960153194252191747045765130423369584079664000204702712858513539573689201829932466292835294085517571902326771729470605603484483278542571942338346332841478374790909838585549580396164650323054031644131907031019566398185538515002248952542878052807332932710310660930311094833775895035038048829301948465100147417603940139481635566086795616368634536581658473927844748577781013554289648724742933353424902169629191181296146353553853971574774193641747569111198926877808222263411138261534348205694511378030614359458628415591916691759568257779001075845300832558106027422948926410337662242799708313887675360832943863652171391699968509383861135246732768319656504579032107303706762327428517070359975170717955374672477080346355385812552744833148633422064903622122974613309494477273636019924295548588319618217760669119709721318387077914648871500666731977357337759178311223422339557624715511820733944753794595136106249905995863297718407478291283007449849477753380296697088123334992871775714128634220970811560665778280578255179465808598855455067635026608159050274283440809010537440626037611533094275080301683611778572374579951100473584394150102015952128247648606707896735554165880727619446091538412128123485978479227017341498527907788324156406213638803544718528585408324550178652475266985206317526094132340399714136328195354948067683076789892701960837391076727445456147153712861596925508772879486240891246006060266314558782035885002383357911873228411526154777849392822822174373223724863648462693981037697742995454624404832918186646931198247852160272487196556558151424855076242362158977848873594811275190297645165282871982285679253420732282746682809613059113409779299738887062046898943651939071004047819261149576117531774030043666063730920128346438972148505042576097839316668421876496674524423032293456409890422084143543813323791455055812168837516837040790286458428633000484354657660494376127439656205053601899570110863528136798208376581779480997130287802198895495130068153511887440825616675052881808194005399003356618600117667937677170928615346335041396055245811520762223915329124498 94005272423839783190259701715972514723310549538223967476055332590705553544737219478575992051295737457280491883725602616915245192605124153973649697458175856598393969485429565038836210525309923239459006458434253062744036023985248836261498086192911612773319380914081144520775133321127954330179221181661200218700786787729694209569234298286805694513104004827333731167723970367501224570186139510052036682792112432768127191037515414982040484749718511667198340718774319670964530315058119345918592096185879135024674044091786611447676682621328407797307107745497596392910362893309891925127749503407955546834902069238051869700276658731584767053445758564949693844238722528094257637611263609316693190108421181999332069390965983944118319920073194907460647562838076414627108940811890199495243435635476073830844002698890602970808263569775156381701844789706848128215403368659791681830990011480083573917499864930262633572443047767830016881588923207764043762770970126099959090376768621798222212297740714098645395266397015721981968986873561155699513743260189870289142758955727603552374084965637751109648846242258007292894498345685121243285222001944037215568696345717912298233623473542700702774078398071761830409174967517177892112215248001956387942279134881173943998103185313789305699783462684949198243454564498545875346847067904272077224768984516139834252122769153366565060330348911452952976105513919033659880539989119789275882268732374970595840162135462251540944374262360594209177131544700513408910717975237576608446897660558672591525556806219255954706050992585695061849806492645126016410833556047676044759442024350234576779580953748253551303213713032521341806331130841147401859024537669140888977423115959006581859139433670478853723105928067422543056076615198208154179346745685774276802990456418560671134156627247286783581369687395516309728127494073742298067481397631614246150840256199556078222868156927934648101616007555451340655675650756551203637636451794520174831462347854684043986730373093828027087189095042161603083233890375085906895917117979393961385163528920641408632546988397461923767844982086864066927630502905094918046534626081668669813294729659648449870588542533383062398295089214279581271781250393934485360470803691110221573199611472715102115681453827182862062677893881041063724720609609816000299506516263536436997300415539730711021372651476863262489859868307821400420480194383441347824108727281577238775393188998839978734896544504363020709310098107952478328254290855516234554833459303236643139811892214875597655145214325788705578986718857827976398791886614755778076720862470996748927450411853425683012731288945062047990576674023647385331455250120741049169083455708482424767295046136223056405320234496259189669542641452664418543696411061499164064105844525072311846299871737800247880701922919360777230683761854539263533591619059348866500279599100407512473477224175307567577635864214684238858314416013136729898069102739540631580371017215574322596571084466113597833366679927775068311336486440595720815764351397819002880344978417661378345224938095306395043949419980380684454919263695133150526653227293049895837918123473635854889478603224476169352368912491161900601560721498070321425457872110765013960127044933093119841347165006370105468844128883289478717600495115615913698882092729346204378712389065157147522901723449941082301718712371881656317953618829955282939850967082652080078304770395029820665045070974953052188459274578241350748820482635994965065937674970153973676156027941516146812179761287700001467099052430941937738521010833416745640743967750838023941844336573464018265616438384375523239809897512532742544821157799506305255794860316941075960347139831728377306596564136497839006505236501332485454741093065044616178396957681138932425266350112325866632390469017582386872013317255807282409144024655492017706992827457293484507083855536633032700963629599708482170458596228501999152331562563004403062502024253791604386619732637844766968548321753386616695800177677038040461694796769792901904921003880535636650160766894223914363127520267633219005528027484319702824650021164512197960074036379635795086394457460243568398075372807490850251521968963720824143424981016468549 152103725903465980163097434813871003625950750056682136851267058966332686200467101505188208413760139958433199975320692438076180690210610835507648698633659325538131985844080417386938784384456263922392200068697804508002433463826728621383505995550325452904145774464559750678853019529907967248313725280798756232332173598693054067000388764080357070545741478498247318368981216958108604082249574600923404651126711914759420367530958919319808550029160445651854838868768043871866238399277146726303823782779044671284533866529495539124972986785335250651359007867704509572464351674772772901792238687536646289473950569770277190067223797302412498837259205025492829965915912550925488791147637956949938334178056011174494644908891451784397684238971835136106414592156681960522462065008651400766489247502648140235610515660047994115606060191946835216849223948971961423597217649376017066573321566634873894098169792093784854719480365408158254200799375062806828944086741388041670969410010877790219973398988869659804058184672610817522101981348665815407484741556775811054146594353861291530337411432598891055034394266514462714950336364948713428726032204232882951341332625324509427691784449836523954011688058095769933123850088567171860896247129213367793730097837049621189643330414007739580086406944965429173811636295589545584900377643796476801268009174143835571436225617126069669280594983318571847598903496202446240859128114322726939748439364670163587096267289786862183731729990107486410611667014176501863691495302536922303954779450017847053982297814608180998069190886851226604059203535829350198377010664788632003483834505494033480079223052502928502690209324342941049774424069320370688528125154674485043134900816574426888892315724631888376545881375737107023197283402878677726917465674583310213292303794050823474851887823736292410062715481082457328530548718944754188526144726802308709168861352916065580273417067569955419897540100735405361436366767695712999018472681041361115916733247875164627323016913392227399676980110357762025010659599470381701747306078174243163475127964712055837163346628683289148115883430165840036528965463058289170238281671846799093182878809323648654573301401046922636087496919146745874107075335911506387687242533161715825057682890015287044454027786668661236853587732466590644120885259932870031943638423294556003395485954054732959973915529529670595422570178968751711515313970278476385872938029230042338922810792938979460370462631299979389343846679766426406173002868636529788844482184046169996564714061844066778951291567879642677153760912499575545509990813492564000340132000732531097133144923231456297372189917360653964682336242281426386407300550953299155196506404634892762429537845844536944080681067440122841840934341421173802404831657794267483720610423557179615553062199166317318240677093637316151903160842200894649346144363892497499922344502722530487086786718652581203597560159763272558476532176682256439619387489817455280451871683947551679934330262777337020172924304643286889045281240235190856922014257393682300598752456708944385795074415848686691741037543315373556230633392329354121338213893071330474093097589282234710344546238251084328402643195931970911139001347535681854519732952412448625738699419513044220314931559156472121420972376531896186614336049281496641318328184267758332502198367544384164864400251357729406458124926010685201036482204238279833118503442349637286395830864527370220379181399170308000256142351368134052709657873712722410522084828683015570601664800821002387703425767347966316025881088315944321096432884061828271795521817143660846116217560298327666728310419422073266235264521917365660731468088997754157416067347513497634111771994907970739465574413010092650281695534146497768326723378744298036910679704363948545484379759891625605519452515916526038811084321303626543558720142187266047750658891188213612853522827685138075277061468916376904046955270752925031445787972453426487206045837577583059442431901475361604009338608211815249696284532334698534837822236425997955506820573991399164786958975270805693844124650555435417901023157552473214712090846781187250841882230385034798443013057577911506075246301422837185292918024209532344905648896345593047 246108998327305763353357136529843518349261299594906104327322391557038239745204320983764200465055877415713691859046295054991425882815734989481298396091835182136525955329509982425774994909766187161851206527132057570746469487811977457645004081743237065677465155378640895199628152851035921578492946462459956451032960386422748276569623062367162765058845483325581049536705187325609828652435714110975441333918824347527547558568474334301849034778878957319053179587542363542830768714335266072222415878964923806309207910621282150572649669406663658448666115613202105965374714568082664826919988190944601836308852639008329059767500456033997265890704963590442523810154635079019746428758901566266631524286477193173826714299857435728516004159045030043567062154994758375149571005820541600261732683138124214066454518358938597086414323761721991598551068738678809551812621018035808748404311578114957468015669657024047488291923413175988271082388298270570872706857711514141630059786779499588442185696729583758449453451069626539504070968222226971106998484816965681343289353309588895082711496398236642164683240508772470007844834710633834672011254206176920166910028971042421725925407923379224656785766456167531763533025056084349753008462377215324181672376971930795133641433599321528885786190407650378372055090860088091460247224711700748878492778158659975405688348386279436234340925332230024800575009010121479900739668103442516215630708097045134182936429425249113724676104252468080619788798558877015272602213277774498912401677110576519645507854620827436952775241879436921665909010028474476214787844220836308048243276529844268056858804006251182053993423037375462391580755200161518090387149692343625932112323932533433470751455158302367230268987303804529566253360018076885881096812420269084490095294250469384145986044450983579193644085168477973638258676213018496486593626124433922955319701609115621658496285224497890067999156108290856702092042418452264202656109132835881290748195595729848671309747286486055426764169205399923628093893489845467608643223196153637124860291493632697245795893617080751071883728412252704103456595965963384088284816297928467762996173538983297104443889943580305698485792008361025455378856586305440873047713336852826046630882501488002146569709240495844098916265626347631707845605869542686032243144939558092440392786369594463670995288181006533857912430047276573111935794164661917733697046756511619577698203981937819439105359175804342410053156777874378884501257159492046023399315643349406639704525954058942376606436782205431382732747631357403521908782700107319778416852863203527846060595335084881980384921206305716012672912916305073771738755801074040204365589860343375187196832891980760000486001301936382031510476982873838220948528068855766647784716268082251927399362070904117566121379016556676929133844604055433912879735982951846366422624101822937999560263942827888771175196023977956797334846592695393169517456592556995912032242701163126002530901347243450618006290984571061957356617726675786577737778608791501303479097435126605764140299353943993086784986963295754240685552656024487271864867120364380369931015712755870565234024841475560497755012108423132811740562069033752175945190824523213639698826464446137340156278724162842226889816505415185665331936544397112555017210276997104536880910756609541312387301974807670488759843638382566857354435823068235116058354409432289366474135634922400041044226470145261052444601625946375403458478356348717375588022503653169544277820828762518534515605528635666317492980140746886258834953894895245017436265784894498870058061896871791684993926857806448789475074419429898403276289246797260462671862207830438710072119134739699116772170977146590489288200770647830253781464471809342653089076662045087477909646110003951472151842984934108425683097638559433825967864166842758065457651718645507097360606683221771107978025098516085386217413866981427030598119535016430890268547861831374663829051634113206370977886929965201866392084710011736575299517033195790857411741577871934801437119742165029608207252170823068636906551185036792917536740867945699448801956266764670593529407515038155074473321674230328035544439993173253169049073877362061596 398212724230771743516454571343714521975212049651588241178589450523370925945671422488952408878816017374146891834366987493067606573026345824988947094725494507674657941173590399812713779294222451084243406595829862078748902951638706079028510077293562518581610929843200645878481172380943888826806671743258712683365133985115802343570011826447519835604586961823828367905686404283718432734685288711898845985045536262286967926099433253621657584808039402970908018456310407414697007113612412798526239661743968477593741777150777689697622656191998909100025123480906615537839066242855437728712226878481248125782803208778606249834724253336409764727964168615935353776070547629945235219906539523216569858464533204348321359208748887512913688398016865179673476747151440335672033070829193001028221930640772354302065034018986591202020383953668826815400292687650770975409838667411825814977633144749831362113839449117832343011403778584146525283187673333377701650944452902183301029196790377378662159095718453418253511635742237357026172949570892786514483226373741492397435947663450186613048907830835533219717634775286932722795171075582548100737286410409803118251361596366931153617192373215748610797454514263301696656875144651521613904709506428691975402474808980416323284764013329268465872597352615807545866727155677637045147602355497225679760787332803810977124574003405505903621520315548596648173912506323926141598796217765243155379147461715297770032696715035975908407834242575567030400465573053517136293708580311421216356456560594366699490152435435617950844432766288148269968213564303826413164854885624940051727111035338301536938027058754110556683632361718403441355179269481888778915274847018110975247224749107860359643770882934255606814868679541636589450643420955563608014278094852394703387598044520207620837932274719871603706800649560430966789224931963250675119770851236231664488562962031687238769702292067845487896696209026262063528409186147977201674581813877242406664928843605013298632764199878282826441149315757685653104553089315849310390529274327880288335419458344753082959240245764040219999611842418544139985561429021673258523097969775266856179052348306945759017191344627228334573288927507771329485931922216947260734955870014541871688565391503289191023737027164505335769853358814222351966491129475556064186783362852648443788272323649196630969203710536204453335000226245324823451108134940394119569984785741661916621014774876798899475821807104321799397003457640805290674260028128575812243797827395576636269240015903009155557728350085074059886508543856979067418773513599883778756984863936058943193740258316338277757111123666369977355249158586500158146056352027339359562096264978267949626370737825296944566682369376504873351411324295012023353359726650034131505326691639431542952424270070434884362056110193993081037005446256328562225880346844343866344968604545468486647050661480469974772756183741229355811378769377649609136844082374451192484114385110677682465231610020787638179215289214348846401898966910977434659792866185183604077849891835550149935373769792679778526024506611127796916186048353841393203081013435710844024113302038105275578571079726644826157655304355103722879563416569434030464923776935662265437525883959181560471210283319314348310788881947081851946272593678609196335538461264862869383109124153925477251702226165399895217968564393252058390918027306514949176857851781926652869966499449770261423407869315569052700743977314509456168136230061439786110107332336185114879485629583520922219031295983632633518861229062830579931386778957073289231787602038159716174279457170119351722237277228522055710338941347264064007757335795014620087929555343936344183891129647669856237745390156683139569896304794328022108187850553640689999756366409036023394025869895577077671295500850634464494181959863060369526584309030024113208310609833720710214129510906909183255086567432462290264369137734352062043907507469857377474593699408957723271483535588567974987225538177017116088369242346435110137339269621788812918562151863333966224078717435835302051376821378504054807574342589266132248831714726886699643838497149705391972420572616066580548567975653165220837358017382785513954722773707654643 644321722558077506869811707873558040324473349246494345505911842080409165690875743472716609343871894789860583693413282548059032455842080814470245490817329689811183896503100382238488774203988638246094613122961919649495372439450683536673514159036799584259076085221841541078109325231979810405299618205718669134398094371538550620139634888814682600663432445149409417442391591609328261387121002822874287318964360609814515484667907587923506619586918360289961198043852770957527775827947678870748655540708892283902949687772059840270272325598662567548691239094108721503213780810938102555632215069425849962091655847786935309602224709370407030618669132206377877586225182708964981648665441089483201382751010397522148073508606323241429692557061895223240538902146198710821604076649734601289954613778896568368519552377925188288434707715390818413951361426329580527222459685447634563381944722864788830129509106141879831303327191760134796365575971603948574357802164416324931088983569876967104344792448037176702965086811863896530243917793119757621481711190707173740725300973039081695760404229072175384400875284059402730640005786216382772748540616586723285161390567409352879542600296594973267583220970430833460189900200735871366913171883644016157074851780911211456926197612650797351658787760266185917921818015765728505394827067197974558253565491463786382812922389684942137962445647778621448748921516445406042338464321207759371009855558760431952969126140285089633083938495043647650189264131930532408895921858085920128758133671170886344998007056263054903619674645725069935877223592778302627952699106461248099970387565182569593796831065005292610677055399093865832935934469643406869302424539361736907359548681641293830395226041236622837083855983346166155704003439032449489111090515121479193482892294989591766823976725703450797350885818038404605047901144981747161713396975670154619808264571147308897265987516565735555895852317317118765620451604600241404330690946713123697413124439334861969942511486364338253205318521157609281198446579161316919033752470481517413195710951977450328755133862844791291883340254671248243442157394985057346807914267703734619175225887290242863461081288207534033059080935868796784864788508522388133782669206867367918319447892991291337593446267660349434686118985161854059812096999018242096429928302410740884181058693243660301964491891542738311247430273521897935386902299602311853267031542253281494319218756814618338581180982908664209450160235515184175175517187620621835643113470744983275973765969961951532164165132290505442619256175214382589327556213707203557173837727139586789254335593401220258142032329972085990028162074891573929884812153101379563927686125321643136823203629806056945052683671312886904861888307168850244301887795505800779290042959721683470351786340974552450483435126750670010170850050311762475105616329796190232767592706368406486207314604308358745947952207719186153146225362073042778654300674931447104516357086273803684996132957264238256185506273785410803758516693586764012397571474976684907556947326962155914075673123736672865311011469906882037601738704378328665067948133800091213955129014793975840812595921202205323912667412778236534620125485603186206410114601458875905136352348405318900627489007482156575200605387362267517278209138075721751352748738261967406264019880763466789639004200973070383977812202775818915745353850374750065235212261214216019344102134372170302467634339460830105145345603260884859626614586410157161698129835989354659157306458346039456734636824619298951011841369809716838766340673852318306668053386932658586232341354041911036716164135034970845185413360777162467284046582592275082759791763174375054256010264387368973009916367303273628858097075442158275889652322362983343088833028454123501303671979899528549823138485784742890177279598422494195494448475872782178665962328479227807574736194128680291233111665948547676481783004715779092642027042486288267743141561240332387100535169701774345965112468142218982480453952358171685436856302817579670330303729735268767661198459600864910258628992201572691714125527626059049785572582672586148445794763914375985501828087654221655021889649883493256381798010556038683003796651069716239 1042534446788849250386266279217272562299685398898082586684501292603780091636547165961669018222687912164007475527780270041126639028868426639459192585542824197485841837676690782051202553498211089330338019718791781728244275391089389615702024236330362102840687015065042186956590497612923699232106289948977381817763228356654352963709646715262202436268019406973237785348077995893046694121806291534773133304009896872101483410767340841545164204394957763260869216500163178372224782941560091669274895202452860761496691464922837529967894981790661476648716362575015337041052847053793540284344441947907098087874459056565541559436948962706816795346633300822313231362295730338910216868571980612699771241215543601870469432717355210754343380955078760402914015649297639046493637147478927602318176544419668922670584586396911779490455091669059645229351654113980351502632298352859460378359577867614620192243348555259712174314730970344281321648763644937326276008746617318508232118180360254345766503888166490594956476722554101253556416867364012544135964937564448666138161248636489268308809312059907708604118510059346335453435176861798930873485827026996526403412752163776284033159792669810721878380675484694135156846775345387392980817881390072708132477326589891627780210961625980065817531385112881993463788545171443365550542429422695200238014352824267597359937496393090448041583965963327218096922834022769332183937260538973002526389003020475729723001822855321065541491772737619214680589729704984049545189630438397341345114590231765253044488159491698672854464107412013218205845437157082129041117553992086188151697498600520871130734858123759403167360687760812269274291113739125295648217699386379847882606773430749154190038996924170878443898724662887802745154646859988013097125368609973873896870490339509799387661909000423322401057686467598835571837126076944997836833167826906386284296827533178996136035689808633581043792548526343380829148860790748218606005272760590366104078053282939875268575275686242621079646467836915294934302999668477166229424281744809397701531130410322203411714374108608831511882952097089792383427718824006730605331012237479001475354278235597188622478272632834762367632369863376568114350720430739335394517625076881909790008013284494580528617183294824854770455972343976076411778588128493798160616711665263389327969331016892856932933695602078942764582430499767222758838010434542705972837016327994943410940233531691417238057002790012986008847163693155989465849777215749197647886911298140559912243005985864960687721893482375579502505764719071361656746329727307087335930822591075645732448075851717558535899143453638455967383411233478074088030868505128718923489782390299911086449574367631353889619366040689391778213299631463862267655247522155834910795369651361115013304210611044987334845491236944663091207855496568091037331496676640534099112561310913874972854365265788828720720708391460415508957604131450692387791144757305898297000471471384481367461364567285025894364721562999759650160415660497741447057364341161868511634797218797706064011046893529352643837035976518009834517924752732170058271029147235802057979242316832081116391167000928850150070322717133340257499688902172620236875038378394538170573878232364500461098699290801470923511394269309349369224481731754330947688287199526830275647129004917392266890706427138470279195780767169070974136271877681265014412070112996142672214068633821940563891042208776399157846089580575394315794750816471596947808237168325539774036792087929560378953668120602931584530702598872547418697727452809391595899840988970818302406620811212030388438401412263492900895752302124426531291803918387289702847721318518311398439901394035038829247661757459956768427993380236486297997840172916624033088589394863159524697697849795105627494433986635377354671461558285554565021032784902806291874272938312948517788865705035589474488198233381009966746152142450131154685934549956145645217735260649290110372018705290342320952338006319236098568823194704606795574195572439368483248865881598602733885277177036700212310005813580076746521699870215325182034404297399472848089633261064081377474248660270288235570457625536658477219156027938824196958519424777370882 1686856169346926757256077987090830602624158748144576932190413134684189257327422909434385627566559806953868059221193552589185671484710507453929438076360153887297025734179791164289691327702199727576432632841753701377739647830540073152375538395367161687099763100286883728034699822844903509637405908154696050952161322728192903583849281604076885036931451852122647202790469587502374955508927294357647420622974257481915998895435248429468670823981876123550830414544015949329752558769507770540023550743161753045399641152694897370238167307389324044197407601669124058544266627864731642839976657017332948049966114904352476869039173672077223825965302433028691108948520913047875198517237421702182972623966553999392617506225961533995773073512140655626154554551443837757315241224128662203608131158198565491039104138774836967778889799384450463643303015540309932029854758038307094941741522590479409022372857661401592005618058162104416118014339616541274850366548781734833163207163930131312870848680614527771659441809365965150086660785157132301757446648755155839878886549609528350004569716288979883988519385343405738184075182648015313646234367643583249688574142731185636912702392966405695145963896455124968617036675546123264347731053273716724289552178370802839237137159238630863169190172873148179381710363187209094055937256489893174796267918315731383742750418782775390179546411611105839545671755539214738226275724860180761897398858579236161675970948995606155174575711232662862330778993836914581954085552296483261473872723902936139389486166547961727758083782057738288141722660749860431669070253098547436251667886165703440724531689188764695778037743159906135107227048208768702517520123925741584789966322112390448020434222965407501280982580646233968900858650299020462586236459125095353090353382634499391154485885726126773198408572285637240176885027221926744998546564802576540904105092104326305033301677325199316599688400843660499594769312395348460010335963707303489801491177722274737238517787172606959332851786358072904215501446247638483148458034215290915114726841362299653740469507971453622803766292351761040626869876218991787952138926505182736094529504122887431485939353921042296400691450799245364899215508939261723528300294283749277708327461177485871866210629562485204205142091329137930471590685127512040257046639967674130212150389710136517234898187493621681075829860773289120694224912734145017826104047870248224905259452288506035576638183772921650218297323928671173641025294403369819483530024768885543188216771955826912219886058614666084945125020894285744246073885941014290893104660318215232521702411445118778794041175783610541957411573308369648017915680658230098487417468515621554223272777997437410834672049712002278683075187938632712511957135317661635690085412611082798483655996952019539785328926363695333101378705546879853512437113006436724331880154017282281459061679870097187466668660599179601662103829493523735166445445432237345401516828557658285052457497524549264150550227836785170453918932354084505459454935816138553419191744545759861978086720017266025509148047446424891872119663457110498723338977281035893271934371331626056957203762922131055473982990129911576792119814387775806443285152979853414075710230580769819361726188298283627498711999656671616886502690869830052699041035937788797681911148885680859056529710628111540663173592969944889889881625728056015079647282374210358691558170768194110866358676548237229262991435183836279175421365402881754109506367004314894433194098546275599835688304945222230535542543968682264257464068126661709902567894375903476888638962165253941425154565547298463746081165662901588998575850500979564785607513081692686452695911658422407802257578124763230397286090455678644573887492495279607376177422423317283026001369829694634177317572472420120244848741156708048760515481260775588470540235266792176325363601899164269765721309899329557643227935147165910247327961592442433912960876821889622497472553874992116666917450474461455081049277147062778481011051875256948153579169611333871501546475636637565122568634805781649438235825397841384231819976880072058996535428024978457362976076747924509890592347275420151733600954038494862879962316075847087121 2729390616135776007642344266308103164923844147042659518874914427287969348963970075396054645789247719117875534748973822630312310513578934093388630661902978084782867571856481946340893881200410816906770652560545483105983923221629462768077562631697523789940450115351925914991290320457827208869512198103673432769924551084847256547558928319339087473199471259095884988138547583395421649630733585892420553926984154354017482306202589271013835028376833886811699631044179127701977341711067862209298445945614613806896332617617734900206062289179985520846123964244139395585319474918525183124321098965240046137840573960918018428476122634784040621311935733851004340310816643386785415385809402314882743865182097601263086938943316744750116454467219416029068570200741476803808878371607589805926307702618234413709688725171748747269344891053510108872654669654290283532487056391166555320101100458094029214616206216661304179932789132448697439663103261478601126375295399053341395325344290385658637352568781018366615918531920066403643077652521144845893411586319604506017047798246017618313379028348887592592637895402752073637510359509814244519720194670579776091986894894961920945862185636216417024344571939819103773883450891510657328548934663789432422029504960694467017348120864610928986721557986030172845498908358652459606479685912588375034282271139998981102687915175865838221130377574433057642594589561984070410212985399153764423787861599711891398972771850927220716067483970282077011368723541898631499275182734880602818987314134701392433974326039660400612547889469751506347568097906942560710187807090633624403365384766224311855266547312524098945398430920718404381518161947893998165737823312121432672573095543139602210473219889578379724881305309121771646013297159008475683361827735069226987223872974009190542147794726550095599466258753236075748722153298871742835379732629482927188401919637505301169337367133832897643480949370003880423918173186096678616341236467893855905569231005214612507093062858849580412498254194988199149804445916115649377882315960100312816257971772621857152183882080062454315649244448850833010297595042998518557469938742661737569883782358484620108417626553877058768323820662621933013566229370001058922817919360631187498335474461980452394827812857310058975598063673114006883369273256005838417663351632937519540119720727029374167831883095700623840412291273056343453062923168687723798941064198243168316199685820197452814695186562934636227144487621827163106875071619119017131416936067026103100459777941691872907607952097041664447630785613357105902820215668321378229035482909290878254150487296836337329940319237248997924794984541847722105946549163358817410907250905921465309722352365068764724291415752691670461288487570096574779612382839817470600880782262443913496960207563064527120174417600639996192586561043447944549768609683077258430992715328196156431916045135886016187389368990640017171061433624974427554236590189543243698517300029042766419918862091834290044914949399784930104079348014582246906512300157300421930826541764557568042097766910795378152985083422942901706637588209842668781610006428271695329913613648458138073594929923059905624053312847044917049619503289948426680160191358247952246284108813134319822824887589085098422223393925980966255727172601584383646729323137315627957558277890598251323420417055250010942369373737113960864017897605737280094059352487206501363772239402016051430249718757013628420837524764411673491216116219353351057314604172640434207230890634205160214641973065825162120073246567554811676161795579471101498467735364874295191045582976465971813592966959561956646976917965026015529867654419366854488455234400210997851135813052457446631505239882223187165714083835915130871885332668196231409266011818180442550699067679489739804812006459055497599520202714993603325536514045678394762414508205105124843152467604199859240209508132710567609974087289616041402013896142398579558178612082538912607844572580282458987869788480780691179618100341767385276585247447696316636828035492932474235431752813674265334878640619361726184757525268056709413854381177471531844625061286042538740450325408194798126162804900956810210820110066433687076920835500624458003 4416246785482702764898422253398933767548002895187236451065327561972158606291392984830440273355807526071743593970167375219497981998289441547318068738263131972079893306036273110630585208902610544483203285402299184483723571052169535920453101027064685477040213215638809643025990143302730718506918106258369483722085873813040160131408209923415972510130923111218532190929017170897796605139660880250067974549958411835933481201637837700482505852358710010362530045588195077031729900480575632749321996688776366852295973770312632270444229596569309565043531565913263454129586102783256825964297755982572994187806688865270495297515296306861264447277238166879695449259337556434660613903046824017065716489148651600655704445169278278745889527979360071655223124752185314561124119595736252009534438860816799904748792863946585715048234690437960572515957685194600215562341814429473650261842623048573438236989063878062896185550847294553113557677442878019875976741844180788174558532508220516971508201249395546138275360341286031553729738437678277147650858235074760345895934347855545968317948744637867476581157280746157811821585542157829558165954562314163025780561037626147557858564578602622112170308468394944072390920126437633921676279987937506156711581683331497306254485280103241792155911730859178352227209271545861553662416942402481549830550189455730364845438333958641228400676789185538897188266345101198808636488710259334526321186720178948053074943720846533375890643195202944939342147717378813213453360735031363864292860038037637531823460492587622128370631671527489794489290758656802992379258060189181060655033270931927752579798236501288794723436174080624539488745210156662700683257947237863017462539417655530050230907442854985881005863885955355740546871947458028938269598286860164580077577255608508581696633680452676868797874831038873315925607180520798487833926297432059468092507011741831606202639044459032214243169350213664380018687485581445138626677200175197345707060408727489349745610850031456539745350040553061103365305892163754132526340350175391227930984813134921510892653390051516077119415536800611873637167471261990306509608865247844473664413286481372051594356980474919355169015271461867297912781738309262782451118213644380465206662935639466324261038442419795263180740155002251937354959958383517878674709991600611649752270110437165891402730070589322304916242152046345464147287835902832741625045112068491393221459138108703488391333370335856286445441811550498336747900366022488836614946960835911646288676549897518785127494010711707749392755806507642850148894101609335669122140143227506110775852898741955116123981495020859539882206557850217370123862229821588915898324719421543019532995130362506175558963465464693949144363675508729287291569518157479106290966194873526711980616204515084066905503343964335329293965266590327798062205722689513982762872869345478437890977725005983203654058029589819618833165263118498162720682035621780589100034128586701051472376359616383554195465177236570100557998280368666752365967235973438975350018286310317430020184486928061403662133130869367793578757251666953167504948983709307588601847984980084195030798692845190961098036302976956493841739317677724233123445344338101366321994339393904139184551075887368725920935393582652583142229863471414436345770359075104425639469426776279110379950127683361551605542966707058850753899523333793295173706634861416860055330410170210162296608395305250857683828959948247952666637481622235105166820971176955328640424989180480760050330278011047392655615790536237075933625863706132811401035629740777772079684545141719913238747532506860420393058083627927604528443504920346419274062747481903684303831724710879854433762818006986417563000174291593775445772825163475838785443434241497725576700437509184373982129578931475617844368943871701652086051995306453983232954743471897301168516069503364129005930818032040125253202022436781951649341857734841013471139488904428535105317126455274575654787238955242146260667377488830163757596299322953264790407205104266345736978228450311830457447275425143375622993350665898093645674358057543590841160489311020996103426402156119308016755152176376961944421064104928549956883151576471545124 7145637401618478772540766519707036932471847042229895969940241989260127955255363060226494919145055245189619128719141197849810292511868375640706699400166110056862760877892755056971479090103021361389973937962844667589707494273798998688530663658762209266980663330990735558017280463760557927376430304362042916492010424897887416678967138242755059983330394370314417179067564754293218254770394466142488528476942566189950963507840426971496340880735543897174229676632374204733707242191643494958620442634390980659192306387930367170650291885749295085889655530157402849714905577701782009088618854947813040325647262826188513725991418941645305068589173900730699789570154199821446029288856226331948460354330749201918791384112595023496005982446579487684291694952926791364932997967343841815460746563435034318458481589118334462317579581491470681388612354848890499094828870820640205581943723506667467451605270094724200365483636427001810997340546139498477103117139579841515953857852510902630145553818176564504891278873206097957372816090199421993544269821394364851912982146101563586631327772986755069173795176148909885459095901667643802685674756984742801872547932521109478804426764238838529194653040334763176164803577329144579004828922601295589133611188292191773271833400967852721142633288845208525072708179904514013268896628315069924864832460595729345948126249134507066621807166759971954830860934663182879046701695658488290744974581778659944473916492697460596606710679173227016353516440920711844952635917766244467111847352172338924257434818627282528983179560997241300836858856563745553089445867279814685058398655698152064435064783813812893668834605001342943870263372104556698848995770549984450135112513198669652441380662744564260730745191264477512192885244617037413952960114595233807064801128582517772238781475179226964397341089792109391674329333819670230669306030061542395280908931379336907371976411592865111886650299583668260442605658767541817243018436643091201612629639732703962252703912890306120157848294748049302515110338079869781904222666135491540747242784907543368044837272131578531435064781249462706647465066304988825067078803990506211234297068839856671702774607028796413937339092124489230926347967679263841373936133005011652704998410101446776655866255277105322156338218675365944238329231639523717092373343233549169292389831164195265570561953685022928756654443319401807600350759071520465423986176266734561537658823928900941206028556898790922672586299172325499854775437641607853746363896902937749389136327839210658035101962808749413840386592120999956051714317277657047351175626136796989030003386038791453453921814258108537807001542392065092229808778984947733309231970327464484842717482727574940283254881217385619605652163078825862071181900997296576891846977135970625477576412078148594025677761564975325486551827633775742611974332372591241193865584673674594322893770141869219841447398580459636004226696743472590274918625811323832798551428615743817892295221708217844240380126636355030662077628383248999272479536130739397280844828074874998062282253838856781815118214292310695285394839876795836286558990137579283931761598628542333104393622768250866722089615824001410891358820967672659803605535696349318568278448207038459007375963476453824343158787508633549397957036072998819992499682212420053597027704666877361703370544738611562547912340444172811617917420939530575267765987348623361419102649572226213726858114062264486104666484712659626157853597841588456224135575349595762847655879814685920264972251076872554775689037103791887609787659285603912899503365105652067270730128118185885052340499466422377040035001592953620058311159339713273762517981882114682154967537763337301065268057889209604728714258127508906317658157831672070194709446059678168127399505188674113786941585390531115443889146586695255411588509352132377995369251677002426011668537107563988246140326164750692863176109726397993051355753877239593029318100986967447713161699035557034642657027436022837440285477830597549034181546770649581427235240597198819972409981263986095792325916044505101807750875933954803059528739235015122685785550597063534843876727564314106142917957077333772155241174171362237033803987077096003127 11561884187101181537439188773105970700019849937417132421005569551232286561546756045056935192500862771261362722689308573069308274510157817188024768138429242028942654183929028167602064299005631905873177223365143852073431065325968534608983764685826894744020876546629545201043270607063288645883348410620412400214096298710927576810375348166171032493461317481532949369996581925191014859910055346392556503026900978025884444709478264671978846733094253907536759722220569281765437142672219127707942439323167347511488280158242999441094521482318604650933187096070666303844491680485038835052916610930386034513453951691459009023506715248506569515866412067610395238829491756256106643191903050349014176843479400802574495829281873302241895510425939559339514819705112105926057117563080093824995185424251834223207274453064920177365814271929431253904570040043490714657170685250113855843786346555240905688594333972787096551034483721554924555017989017518353079858983760629690512390360731419601653755067572110643166639214492129511102554527877699141195128056469125197808916493957109554949276517624622545754952456895067697280681443825473360851629319298905827653108970147257036662991342841460641364961508729707248555723703766778500681108910538801745845192871623689079526318681071094513298545019704386877299917451450375566931313570717551474695382650051459710793564583093148295022483955945510852019127279764381687683190405917822817066161301957607997548860213543993972497353874376171955695664158299525058405996652797608331404707390209976456080895311214904657353811232524731095326149615220548545468703927468995745713431926630079817014863020315101688392270779081967483359008582261219399532253717787847467597651930854199702672288105599550141736609077219833252739757192075066352222558401455398387142378384191026353935415155631903833195215920830982707599936514340468718503232327493601863373415943121168513574615456051897326129819649797332640461293144348986955869695636818288547319690048460193311998314762921762659903198335301110405880416230243623914430563016310882768678227598042464878937490662183094608554480318050074580284632537566979131576687669238350684898710355321228723297131587503715769106354363586356528839129705988526623825054346649392117911661345740913100916904697696900585337078373677617881593289190023041595767083334834160819044659941601361156973292024274345233672896595365747271747638594974353207049031288335225954759117962037604429597361927234647209118028110722823836602675803664096690361310857738849395677812877736729443162595973520457163233142398628642806200608418886992716473315769364303099805856284780746569577903309278968077689208100242282462353671008806536649207556689749007504375712613090081115842218346682079568750015838587555149362751419154775683182813172009497337458192616593232660931181105529310654780517094224103540674180055062105223956738454019153032213871495147852423495505428170279254837391959861970752995600661433104421898585557202444869364671581324601398435845303872925131220075908751915751638446772104178372630863114385192428082466740766918185477251345161678488864152091543749003791507973846886872533609583608626528135192315613441827820125918800957904733098138645396892927050880034450684890272787600942598191927039363822550264094181091286132540186899544413256338270041287524479236497131443156472083320672421973114153455307151231662371816944273323870441472622210040221474433059742436376023466509367515343788495444660907578824491079463823561390956546526551091488080868995166680315302529087919947431304827640028963543413522991736724300538994846429839350414673259905798291088031973282797433093085220881224586754664260059693036580729364018366458799262474217155499030875896196022291714432419102681763430982995147908980152880301175893704099942697858487769071164322006733288258090458396907497640504658586361228323995148899727180184606610928117252071144196790818116378132163179944700697611612080606500457589891395982818478825490831610297444266391264983700952855319427712791777846093602846217642445701465165709388209714297926249773191469648477430744226599852896705203097292558713526946039908084530947303129720433414159673109253710734099662238276290786990687138653567548251 18707521588719660309979955292813007632491696979647028390945811540492414516802119105283430111645918016450981851408449770919118567022026192828731467538595352085805415061821783224573543389108653267263151161327988519663138559599767533297514428344589104011001539877620280759060551070823846573259778714982455316706106723608814993489342486408926092476791711851847366549064146679484233114680449812535045031503843544215835408217318691643475187613829797804710989398852943486499144384863862622666562881957558328170680586546173366611744813368067899736822842626228069153559397258186820844141535465878199074839101214517647522749498134190151874584455585968341095028399645956077552672480759276680962637197810150004493287213394468325737901492872519047023806514658038897290990115530423935640455931987686868541665756042183254639683393853420901935293182394892381213751999556070754061425730070061908373140199604067511296916518120148556735552358535157016830182976123340471206466248213242322231799308885748675148057918087698227468475370618077121134739397877863490049721898640058673141580604290611377614928747633043977582739777345493117163537304076283648629525656902668366515467418107080299170559614549064470424720527281095923079685937833140097334978804059915880852798152082038947234441178308549595402372625631354889580200210199032621399560215110647189056741690832227655361644291122705482806849988214427564566729892101576311107811135883736267942022776706241454569104064553549398972049180599220236903358632570563852798516554742382315380338330129842187186336990793521972396163008471784294098558149794748810430771830582328231881449927804128914582061105384083310427229271954365776098381249488337831917732764444052869355113668768344114402467354268484310764932642436692103766175518516050632194207179512773544126174196630811130797592557010623092099274265848160138949172538357555144258654324874500505420946591867644762438016469949381000900903898803116528773112714073461379748932319688192897274251018675812068780061046630049159708395526568323493696334785682446374309425470382950008246982327934314673139989545099299537286932097603871967956643766473228856896133007424161085394999906194532512183043693455710845759765477673667790465198990479654403770616659755842359877572770952974005907493416592352983825831618421662565312859456678067709988337049772765556422543853977959368162429551038685149079347989354045873672473017464601960516296776785966505370803390484133438131790614409895149336457451241305704544107674754641787145066949205575940101197697936329206577073528990749642762252322736164649763824491395501100088835859670819538023031825123537076615496209642634347554583479787791484382516788660076471989218430095817656056125473227899465188355668001666381011433933320152072260074660149145467962935769028671381254956858867094285980267068921857879283286154387434696465150604038692827626536765265289721643336952826750738890841618656605443343270519287244428254697136985818188687256966803032819242676225430509280161882153537135164750910926308234917769911707942460067426144748994605774967292369559453989184149546931420544840078066963984466156465371182237168861239585938381692694542215534624959315624456959613069552730656415730800003458551235807981057199303002840276374607252968599919681938143935617412076330769723499944532833524836110033833786691217160584676701367647595404473989734365212854445709238609558663582893535709314662589750324623429779829893161929373567204982344677305412017615092121876146854335736748809852600580274780164792502206993864743820851153201182277340637200042359952081906621144801378091683343428531439705174473128086813834844645065823599772966799098711246133048613766800237554456564298933785405627020428690546611588081089140826819979174862326360854061831499447886532601556012749712537848732147237045092162909229014010718739223693246825902153191853143718492105498211470361541510979554241889577937752053365489320199529775690878363430531640524526388644940101293827287821141238333150025261825959392864252427644877686298663985681798190978284022042099107514153579238495102533807699764731836527573836212731590505148065791179857284747520302591066331044506254903412447653024024491125730663551378 30269405775820841847419144065918978332511546917064160811951381091724701078348875150340365304146780787712344574097758343988426841532184010016756235677024594114748069245750811392175607688114285173136328384693132371736569624925736067906498193030415998755022416424249825960103821677887135219143127125602867716920203022319742570299717834575097124970253029333380315919060728604675247974590505158927601534530744522241719852926796956315454034346924051712247749121073512768264581527536081750374505321280725675682168866704416366052839334850386504387756029722298735457403888938671859679194452076808585109352555166209106531773004849438658444100321998035951490267229137712333659315672662327029976814041289550807067783042676341627979797003298458606363321334363151003217047233093504029465451117411938702764873030495248174817049208125350333189197752434935871928409170241320867917269516416617149278828793938040298393467552603870111660107376524174535183262835107101100896978638573973741833453063953320785791224557302190356979577925145954820275934525934332615247530815134015782696529880808236000160683700089939045280020458789318590524388933395582554457178765872815623552130409449921759811924576057794177673276250984862701580367046743678899080823996931539569932324470763110041747739723328253982279672543082805265147131523769750172874255597760698648767535255415320803656666775078650993658869115494191946254413082507494133924877297185693875939571636919785448541601418427925570927744844757519761961764629223361461129921262132592291836419225441057091843690802026046703491489158087004842644026853722217806176485262508958311698464790824444016270453376163165277910588280536626995497913503206125679385330416374907069057785956873943664544203963345704144017672399628767170118398076917506030581349557896964570480109611786443034630787772931454074806874202362500607667675770685048746122027740817621673934521207323696659764146289599178333541365191947465515728982409710279668296252009736653090586249333438733831439964244965350270114275942798567117610765348698757257078103697980992473125919818596497767748544025417349611867216730141438947088220454142467207581031717779482314118297037782036227952150047819297202288604607379656317089024044826303795888528321101583272978489675650670906492830494966030601707424907611685606908626540012901870807381709714366917579517146002233713396102447634050896351095627949020226879522048752937186471055894748004109800400752411368085340908642520617973173060127044969801234468985612380636540744762083312669544360293909849663740306671389378285568452931155051642480297807164865403188641715955600284592609728432816044693185417742876630016937150796598021031724345349825479493594142708907737171967691574581544757105683840253936160796684739306847943257473321154965300393961645264613915888039972623596635047586016081982823960334442496801689107342492711980658750636760437574066832458254921018145679010616467414096266119948677532676595722543020633556621638384357420641112070734382205293102229445887080502549373080339096142542571056845259854227215735372693152769620904615667673013699022964293843869574937831353028998980765845795389374778253995134522362341453425917220357555098258466445657707295765250688348824023408923655391230042204098924871347149691205814478330835161825332669039764787469012070021967553190305870011889582557790854822954746636136361551309486178316150711231768703804367968769057098965773791132797295173681657374034474783806835756769235579006048668402697945823817617805019280895577309252712449638298692383849814696614705269077361500581354798511745971559474637997481634516563412987971906221172034716069231820487859832659835679440610151415072566062711771612063329809681601649312143122965714269844520123821967888155015206662029955535599390584391089325083914034544582020405327503489070406869518669305100452017241974801880372037750329420222750282614558332329095932374052757882452750977101400806030233280769759413350119350017220255237545560218552804842191188469452974617737238957855273862520132000129151391186400692581948291872298983802056669239329133660596469934933820132549739677630413232596738482987005180934462264175584755240354565650723943811015178264384231099629 48976927364540502157399099358731985965003243896711189202897192632217115595150994255623795415792698804163326425506208114907545408554210202845487703215619946200553484307572594616749151077222938440399479546021120891399708184525503601204012621375005102766023956301870106719164372748710981792402905840585323033626309745928557563789060320984023217447044741185227682468124875284159481089270954971462646566034588066457555261144115647958929221960753849516958738519926456254763725912399944373041068203238284003852849453250589732664584148218454404124578872348526804610963286196858680523335987542686784184191656380726754054522502983628810318684777584004292585295628783668411211988153421603710939451239099700811561070256070809953717698496170977653387127849021189900508037348623927965105907049399625571306538786537431429456732601978771235124490934829828253142161169797391621978695246486679057651968993542107809690384070724018668395659735059331552013445811230441572103444886787216064065252372839069460939282475389888584448053295764031941410673923812196105297252713774074455838110485098847377775612447722983022862760236134811707687926237471866203086704422775483990067597827557002058982484190606858648097996778265958624660052984576818996415802800991455450785122622845148988982180901636803577682045168714160154727331733968782794273815812871345837824276946247548459018311066201356476465719103708619510821142974609070445032688433069430143881594413626026903110705482981474969899794025356739998865123261793925313928437816874974607216757555570899279030027792819568675887652166558789136742585003516966616607257093091286543579914718628572930852514481547248588337817552490992771596294752694463511303063180818959938412899625642287778946671317614188454782605042065459273884573595433556662775556737409738114606283808417254165428380329942077166906148468210660746616848309042603890380682065692122179355467799191341422202162759548559334442269090750582044502095123783741048045184329424845987860500352114545900220025291595399429822671469366890611307100134381203631387529168363942481372902146530812440888533570516649149154148827745310915044864220615696064477164725203643399513296943976568740135193741275008048048370085053324107554223035305958199659144980857425632856062446603644912400323911558383585533256526033348172221485996690969580795718759487132474002060999980193081558531998672736045430443617303066100551995066217539146987352671533970615171204142895501523472699256930513122509517578286275505778576660367022423685811711288888609645557991846178870317380200380127928330705253891216292244122298560366503277477575626419822615641553556353121308681627385510977571520630584389505414241134009901951482812572804725393228093164802481009945461351841920317172230618059458920203332133470300433263329730673935995170844898839717882615314654937939862107246488829931498154257946531404808285287402025727295710169411081671757036520629273072857439536639235921960931292859528838822243878605187390239883788296164891485454984382983022245253460299388574013912454278999305327280371964729978468120061990464069656857163245954384838683947641901815819185464351948082964250614364192376827216904556988050876535982012057871535998388363711496050691807375259216904712590533045044375299478600118291125496416474770779237408999809488287413544903546803663224139656703106743142467556190602342040610351285674699032761859949841327367387261504478371761555524115756227075003574819303408041988789180434074647596621140790278844800159554366614871881475852089417504951845292557127670665849815887546417998700623714750593652592704276016089164977945094852693146379349258848550913876886311459605626634778151856284463686332862949326068627628743467007276332571813512325857925609264648787867329877533022884017367098838470923690881096663747082430752552564548581233316098532680023839675710488800704033563890894047912328248494084919873840075486615942335820204804342590721005560008971648122843881759874543608900177646854045840625983429521619478236443696631822107701507397818298793137072984591670865970333971406497955635907734431667468296234666770347706385952409220918380662529662844289928454764855241915799746609469063171596835039669390114894651007 79246333140361344004818243424650964297514790813775350014848573723941816673499869405964160719939479591875670999603966458895972250086394212862243938892644540315301553553323406008924758765337223613535807930714253263136277809451239669110510814405421101521046372726119932679268194426598117011546032966188190750546512768248300134088778155559120342417297770518607998387185603888834729063861460130390248100565332588699275114070912604274383256307677901229206487640999969023028307439936026123415573524519009679535018319955006098717423483068840908512334902070825540068367175135530540202530439619495369293544211546935860586295507833067468762785099582040244075562857921380744871303826083930740916265280389251618628853298747151581697495499469436259750449183384340903725084581717431994571358166811564274071411817032679604273781810104121568313688687264764125070570340038712489895964762903296206930797787480148108083851623327888780055767111583506087196708646337542673000423525361189805898705436792390246730507032692078941427631220909986761686608449746528720544783528908090238534640365907083377936296147812922068142780694924130298212315170867448757543883188648299613619728237006923818794408766664652825771273029250821326240420031320497895496626797922995020717447093608259030729920624965057559961717711796965419874463257738532967148071410632044486591812201662869262674977841280007470124588219202811457075556057116564578957565730255124019821166050545812351652306901409400540827538870114259760826887891017286775058359079007566899053176781011956370873718594845615379379141324645793979386611857239184422783742355600244855278379509453016947122967857710413866248405833027619767094208255900589190688393597193867007470685582516231443490875280959892598800277441694226444002971672351062693356906295306702685086393420203697200059168102873531241713022670573161354284524079727652636502709806509743853289989006515038081966309049147737667983634282698047560231077533494020716341436339161499078446749685553279731659989536560749699936947412165457728917865483079960888465632866344934954498821965127310208637077595933998761021365557886749862133084674758163272058196442983125713631593981758604968087343789094305250336974692432980424643247080132261995547673301959008905834552122254315818893154406524414187240681433645033779130112536703871451603100469201499391581578145982426794954634446306786941781539245252086327431517114970476333458408566281974724971604895306869608813607899451131095682577705331245307013045645979403060226556473372201279189918285756028534057686871769506213899158185046267934724420105725231906466119291582020107208251281989169166001867045128387607588457781380987526445965479359727430976406715513633130400060856377062554702567035682174253333027302798765768146589606791455398563723692319200609086732938812341479250362240954021844931206823272428299843365289024116788944038038786164869777001869336592775182199639889540271535802759184599493607888582071859455800500243571747660524900366899273690748086612428909325756009672468913110054996850056150587134599180465351161272831611368685324530176944977349132527817216839647172214463332713928759639989142446371961739266898441476793756339567156130002444046071007261301380156199282625828367981763087248474224349947267982331310894805605941062741668849253074882556973568771216414445526714996325700258411013557088676746712836984185211078010661073096071191629473247428860521297906889024370177256476677442516772596016190843883175627189458681542745983371984419891162371429398670217401483591249511520480546430592815495360201205069549105398564263750654086646612461658265681118285570430883266983108706799319438286470457592466435878758898925661097680690958553148608925644714936478040127770129388470755755484892739684913972902698229055314780206180577781627012772957892052070303722968051349328940127727730775505913935928644377332550998776699478206169171418989995093702657555319692121811590242252417882257231879224560829155415192414264393430825620710088931211061433870779962975369917950298922288464170992363447918625843705481757692576973760801128892704601704167838935692086851331613259268145831295109389227119417500554986964034713895540646054847654499125750636 128223260504901846162217342783382950262518034710486539217745766356158932268650863661587956135732178396038997425110174573803517658640604415707731642108264486515855037860896000625673909842560162053935287476735374154535985993976743270314523435780426204287070329027990039398432567175309098803948938806773513784172822514176857697877838476543143559864342511703835680855310479172994210153132415101852894666599920655156830375215028252233312478268431750746165226160926425277792033352335970496456641727757293683387867773205595831382007631287295312636913774419352344679330461332389220725866427162182153477735867927662614640818010816696279081469877166044536660858486705049156083291979505534451855716519488952430189923554817961535415193995640413913137577032405530804233121930341359959677265216211189845377950603570111033730514412082892803438179622094592378212731509836104111874660009389975264582766781022255917774235694051907448451426846642837639210154457567984245103868412148405869963957809631459707669789508081967525875684516674018703097282373558724825842036242682164694372750851005930755711908595535905091005540931058942005900241408339314960630587611423783603687326064563925877776892957271511473869269807516779950900473015897316891912429598914450471502569716453408019712101526601861137643762880511125574601794991707315761421887223503390324416089147910417721693288907481363946590307322911430967896699031725635023990254163324554163702760464171839254763012384390875510727332895470999759692011152811212088986796895882541506269934336582855649903746387665184055266793491204583116129196860756151039390999448691531398858294228081589877975482339257662454586223385518612538690503008595052701991456778012826945883585208158519222437546598574081053582882483759685717887545267784619356132463032716440799692677228620951365487548432815608408619171138783822100901372388770256526883391872201866032645456805706379504168471808696297002425903373448629604733172657277761764386620668586345066307250037667825631880014828156149129759618881532348340224965617461164519853162034708877435871724111658122649525611166450647910175514385632060777177948895373859336535361168186769113144890925735173708222537530369313298385344777486304532197470115438220195206818282816434538690614568857960731293478318082797772773937959678381951351598533394841032398819228688631865583639145962619876513166444979522987211982862555152427983512181188015480445761237815945340142809038202371132286307156381644218192095283617520812791622306346425483912368184661089888835476277602207404375067072149634142229863438937484226968542404285598409743596867208439929823892835545522287310548672513898585159978411965377031860206613369629382459219288318358523628154021179543564648028387524094570505257920858224688349921740261755831827053422993136604257577837652059361865676895891961707038453312102359797997623235555521597229325440811892165487171280418264532218720269162613128975339398420521454539181441600698278044378848759137900408688663064165176203070995411931571009469971857487123967451129055455914414971145195329629392893601832754981387340190931733971211764858741462991399927684662011723890603506638748788956171455429527670292321579214001538442434434718757352071963574541842733080572296132292849523828547386273456807311280376720300150668658741362296101877115574879638585183418103068842725967204159430717357064122658884243839870610914423438578890977725800622076822022645251445180831295980850558761385196624918530772248330248960387546142926351034763043847281488087722353328883806639191146396246480361913358901828784299699051156968026670175811590406753118374264664919689731817896985593110779043913105235744322720342445231788610423749318587296615616201977286749990365985695738653119543622814770272707797990269797067526238471087277241528709443525510456600651537039066584029352779803438219576209947499819538425244879247270784398080009246905605937429522862359662282842817150251224066005101113639099104438055592839268310234056809050231708409447505130502602070676877315768597715425537155584034313888959815111979713328484708192468597188939268474515545321644496072249993921797808675585037843991974659416354733573503777067137481094517044614020401643 207469593645263190167035586208033914560032825524261889232594340080100748942150733067552116855671657987914668424714141032699489908726998628569975581000909026831156591414219406634598668607897385667471095407449627417672263803427982939425034250185847305808116701754109972077700761601907215815494971772961704534719335282425157831966616632102263902281640282222443679242496083061828939216993875232243142767165253243856105489285940856507695734576109651975371713801926394300820340792271996619872215252276303362922886093160601930099431114356136221149248676490177884747697636467919760928396866781677522771280079474598475227113518649763747844254976748084780736421344626429900954595805589465192771981799878204048818776853565113117112689495109850172888026215789871707958206512058791954248623383022754119449362420602790638004296222187014371751868309359356503283301849874816601770624772293271471513564568502404025858087317379796228507193958226343726406863103905526918104291937509595675862663246423849954400296540774046467303315737584005464783890823305253546386819771590254932907391216913014133648204743348827159148321625983072304112556579206763718174470800072083217307054301570849696571301723936164299640542836767601277140893047217814787409056396837445492220016810061667050442022151566918697605480592308090994476258249445848728569958634135434811007901349573286984368266748761371416714895542114242424972255088842199602947819893579678183523926514717651606415319285800276051554871765585259520518899043828498864045155974890108405323111117594812020777464982510799434645934815850377095515808717995335462174741804291776254136673737534606825098450196968076320834629218546232305784711264495641892679850375206693953354270790674750665928421879533973652383159925453912161890516940135682049489369328023143484779070648824648565546716535689139650332193809356983455185896468497909163386101678711609885935445812221417586134780857844034670409537656146677164964250190771782480728057007747844144753999723221105363540004364716898829696566293697806069142831100541125408318794901053812390370546076785432858162688762384646671196879943518810639311033570132022608593557611169894826776484907493778676309881319463618548722319469919284956840717195570482190754491584775443444525166691112276550186632724607211960014619393323415730481711070098712484001919697890131257165217291945046671467800891286309928993522107807238755415029296158491813904169804097920065114413933509240741099915055832775313874672988948766119804667952325828544138924658033291168025394563358235938432753943919140356129021623983752161692962510010830316209716158790460037032144117534691453312415717642286192748436193346364558306172092729356813435626003831991654028214877556606119350595423206268823838285223656990456496511347053211230390777115312337213344310776464400841116039136845983551969660135374788097840988524579638386173363479598057035264173149754857307400919909052153400511142157605120948147070023672557733844879092330885560933589029963438866951157607840840896765479644326400234022447979111606501549570325660680790665725213201440305917517135909083103739582075581110163614391017375940483530592649085120750695438353871004464048661146370131540886480505726018653452119773824468561448554059219541323748178494654255788118206085982661362892337507994437178658850684346096053030710133099394542984378217716519394103776959643069454917881271987519509770520450973229482598119929534275815358087772658293075533981212815762413947875519707641930292126298335454654206218710886757939754812475056150711626942677073177408719103033853848804449721231777324262458202868411384055382950490120615084880094299910098482199575693336789156221204130714271521430009545849764225127622001686468406113465868041590299378299663012392711963172495296581553251293457819310336456298468348652721840762034635378681719931165950351715861435748182802577430246047483876286178418324595932523225519914981974964628740493476483887358345518323665267211008031682574627487634670941797340658566564373382033652247233718896637714001326576397761807585658817461471021061681953269726081643870178683384257336582923581607181065954506880147233219094076916909720537538490962678127149364699113146152279 335692854150165036329252928991416864822550860234748428450340106436259681210801596729140072991403836383953665849824315606503007567367603044277707223109173513347011629275115407260272578450457547721406382884185001572208249797404726209739557685966273510095187030782100011476133328777216314619443910579735218318892157796602015529844455108645407462145982793926279360097806562234823149370126290334096037433765173899012935864500969108741008212844541402721536939962852819578612374144607967116328856980033597046310753866366197761481438745643431533786162450909530229427028097800308981654263293943859676249015947402261089867931529466460026925724853914129317397279831331479057037887785094999644627698319367156479008700408383074652527883490750264086025603248195402512191328442400151913925888599233943964827313024172901671734810634269907175190047931453948881496033359710920713645284781683246736096331349524659943632323011431703676958620804869181365617017561473511163208160349658001545826621056055309662070086048856013993179000254258024167881173196863978372228856014272419627280142067918944889360113338884732250153862557042014310012797987546078678805058411495866820994380366134775574348194681207675773509812644284381228041366063115131679321485995751895963722586526515075070154123678168779835249243472819216569078053241153164489991845857638825135423990497483704706061555656242735363305202865025673392868954120567834626938074056904232347226686978889490861178331670191151562282204661056259280210910196639710953031952870772649911593045454177667670681211370175983489912728307054960211645005578751486501565741252983307652994967965616196703073932536225738775420852604064844844475214273090694594671307153219520899237855998833269888365968478108054705966042409213597879778062207920301405621832360739584284471747877445599931034264968504748058951364948140805556087268857268165690269493550913475918580902617927797090303252666540331672835441029595306769697422848049544245114677676334189211061249760888930995420019192873047959456185175230154409367796718002289928171956935762689826242270188443555507688299928835294581372394329150871416488982465505881945128918779356663939921375833228952384532418849832931847107664247405589489038187311008702385961309867591877983215781259970237281480111042690009732788557353001797681833309603493553516400738926578763122748856437907666547980967336265832916205504970362391183398541477346507294349931041913865405257222971711611873386222212214419532066768272566286932596290258672254028051292842694381056860870840960443342807821016068774498358885062921236388661504914296428725953313025998899966856036953080213740622964390156184777908414605311741590166378706098986195894845292150350177656368898736149683998623810730363394343543144515215144846433087314967062217830538305473817601888614116460202981716032737945259008113447477147895838611760135159983402688920409949200751344430173121839619640178214766529486481556025642402686251465273256011889257941090023461342277693027604043154228603252772467774949616183887357989899108167062415964541470856010420058618815034195287304857326840817074951346934322573155014318702037952207421196155723869539651609809300532134340982725584133079328914940444776005524083348366311294529126355351834173272007042040529244925517366359381663043006166735799474760727799920975691615893551202463385710345421875950111460841082301953698757751882901942948349411428699030104674941952179527260538919068639143634295366409440680944720123849956602317838269224686489417250065992374845662108141358862789902773338923553539322078004862638148503500878199803994438269793275164502429647615409810346902777079893020877526112680929081111876563649362502881945179328133146379841329599288436458772099161606694709843001114433285100509953442292364107791722380735060839045899823978805253373377801101219408034499734604169927925808935567721227822309493318268274366187665230201869952748382274644257807445890744700549892459459157422769705266600870950884861544443721173505750106071694875984104329124549487494353139538482160432075696545473929441184349546390145738323270583138653198929578981078995831601102863763182465185077211068736333264454111042268029815608243881743727166553922 543162447795428226496288515199450779382583685759010317682934446516360430152952329796692189847075494371868334274538456639202497476094601672847682804110082540178168220689334813894871247058354933388877478291634628989880513600832709149164591936152120815903303732536209983553834090379123530434938882352696922853611493079027173361811071740747671364427623076148723039340302645296652088587120165566339180200930427142869041353786909965248703947420651054696908653764779213879432714936879963736201072232309900409233639959526799691580869859999567754935411127399708114174725734268228742582660160725537199020296026876859565095045048116223774769979830662214098133701175957908957992483590684464837399680119245360527827477261948187769640572985860114258913629463985274220149534954458943868174511982256698084276675444775692309739106856456921546941916240813305384779335209585737315415909553976518207609895918027063969490410328811499905465814763095525092023880665379038081312452287167597221689284302479159616470382589630060460482315991842029632665064020169231918615675785862674560187533284831959023008318082233559409302184183025086614125354566752842396979529211567950038301434667705625270919496405143840073150355481051982505182259110332946466730542392589341455942603336576742120596145829735698532854724065127307563554311490599013218561804491774259946431891847056991690429822405004106780020098407139915817841209209410034229885893950483910530750613493607142467593650955991427613837076426641518800729809240468209817077108845662758316916156571772479691458676352686782924558663122905337307160814296746821963740483057275083907131641703150803528172382733193815096255481822611077150259925537586336487351157528426214852592126789508020554294390357642028358349202334667510041668579148055983455111201688762727769250818526270248496580981504193887709283558757497789011273165325766074853655595229625085804516348430149214676438033524384366343244978685741983934661673038821326725842734684082033355815249484110036358960023557589946789152751468927960478510627818543415336490751836816502216612816265228988365850988691219941252569274272669682055800016035637904553722476390526558766697860740722731060842300169296550395829983717324874445878904506579184576715801452367321427740947951082513831666743767297221692803176746325213412315020673592266000402658624468894379914073729852713219448768227552142845199027078169629938813570773504999108254100846011785470371636905220852614486137268047194845941441261515053052400958210998082572190217500727672224886265404318679281240574959987914854487906686904988550354467424307259042163029184789360003888181070614905193935380107798470970656850798658106148472550798828343009330471295982341831684583776292755803349219233936632218181828368172205601342944434368178292608607653617811030946199390580861044097755169583928810977773582851935993679600284714798369576052400008006236015517579927979147020560087266919929997623713630763350833321488945813745734137033420909022275866722991042910105386211093613364540429260510287592012347087278668917514111796516691210724344028235635593222374462749900178690929009903683318628709719413892690951788804808990290347048163171536598389643871954264620215395446170794658976203122190779855977680414571375497020185536694785033043723452342043025935343674730236653419578484267071744646603684301857928694723639592469505564618041945023153675633154889462458119931879672259587273061881713803075897006841297436709829347622256443358667999369664244248130395523021944071456284703261603601862953833918940614400281600626716730797107896491997307950599431581318700727996143575886485030565899930961987657174192930976008312256622417901032784853493217153466609337678996144066457221290122927178212627474736300142379414096297493221916614787660689344973674192880149382356122447153906095218563135854786716219665770120279641670371315904030399739739365752150652366083554797802475973902189626232772074631238177033779817804675746434972477608902633459489032078392115303090764638259249366137981371783206390990853539808736829837504131132746902655370608072099008049352227008831882313836317661919413208283929717689345332310430162813250174174648580758992493735393246442840312706201 878855301945593262825541444190867644205134545993758746133274552952620111363753926525832262838479330755822000124362772245705505043462204717125390027219256053525179849964450221155143825508812481110283861175819630562088763398237435358904149622118394325998490763318309995029967419156339845054382792932432141172503650875629188891655526849393078826573605870075002399438109207531475237957246455900435217634695601041881977218287879073989712160265192457418445593727632033458045089081487930852529929212343497455544393825892997453062308605642999288721573578309238343601753832068537724236923454669396875269311974279120654962976577582683801695704684576343415530981007289388015030371375779464482027378438612517006836177670331262422168456476610378344939232712180676732340863396859095782100400581490642049103988468948593981473917490726828722131964172267254266275368569296658029061194335659764943706227267551723913122733340243203582424435567964706457640898226852549244520612636825598767515905358534469278540468638486074453661316246100053800546237217033210290844531800135094187467675352750903912368431421118291659456046740067100924138152554298921075784587623063816859295815033840400845267691086351515846660168125336363733223625173448078146052028388341237419665189863091817190750269507904478368103967537946524132632364731752177708553650349413085081855882344540696396491378061246842143325301272165589210710163329977868856823968007388142877977300472496633328771982626182579176119281087697778080940719437107920770109061716435408228509202025950147362139887722862766414471391429960297518805819875498308465306224310258391560126609668767000231246315269419553871676334426675921994735139810677031082022464681645735751829982788341290442660358835750083064315244743881107921446641355976284860733034049502312053722566403715848427615246472698635768234923705638594567360434183034240543925088780538561723097251048077011766741286190924698016080419715337290704359095886870870970957412360416222566876499244998967354380042750462994748608936644158114887878424536545705264662708772579192042855086453672543873539288620055235833941668601820553472288998501143786498851395169883222706619236573951683445374719019129482242937647964730463934917091817587886962677111319959199410956729211052751113146854809987231425591734099327011094148330277085819516803397551047657502662930167760379767429735563817975761404532048532021122212112250851506402604031887925650875628859876932464487872359480261614378008209534081339984997248469670336600241510343422053281747136245279122624048395976056689352846791749826224939015972338603687768116342210788259970744218023695118934558344497954655748565265403969847738638929504927329205225316588132692009340952675028905487347843044666995612525371512687420746189377521683145354826438191923284848548088004697321247079471202321874069985887030329083889518212044849958352978741320417955436766862010101100986640200265481686459484105269656405753519572954219069757623394974510932483618144416018646953259614814346385832315378876694174950002246195445731333478653267372701630782962843269830880527231789590717253642275944226256473643028421451844898372984960532859829998657972472068732730626597538397699544310386615570664500286470557091150506806769923209670292192578735314277969240818701424688978349841466036128180306284188047436262497235504321314405069061468419617025459124246976852433385037791405406469343308371289691948003833893330336435925909936580344124714031697124303388123219620846565968664747708433488706350695636449263971095192781730517173620524180256052875112759130145811451477631385313138997789418740388914678181309741308890434254085951853534424937551499012909348502855720035411788665812142523907786820578559385950311789081431009985380528529582593731870057080024797136696054927940988428255946425959159468596364237074194750719400374290207567479306883625258222049232684020425018553748784999672428722284464270490579520521982877583672277263833169204677744209773584344350576522113288808840870709954125350242310496332693885343993078290897261913200676606676343839720154462244746372622810147485081243415298740915244809386793480871810517387641231549583438628759623027022309343637128186567479260123 1422017749741021489321829959390318423587718231752769063816208999468980541516706256322524452685554825127690334398901228884908002519556806389973072831329338593703348070653785035050015072567167414499161339467454259551969276999070144508068741558270515141901794495854519978583801509535463375489321675285129064026115143954656362253466598590140750191001228946223725438778411852828127326544366621466774397835626028184751018572074789039238416107685843512115354247492411247337477804018367894588731001444653397864778033785419797144643178465642567043656984705708946457776479566336766466819583615394934074289608001155980220058021625698907576465684515238557513664682183247296973022854966463929319427058557857877534663654932279450191809029462470492603852862176165950952490398351318039650274912563747340133380663913724286291213024347183750269073880413080559651054703778882395344477103889636283151316123185578787882613143669054703487890250331060231549664778892231587325833064923993195989205189661013628895010851228116134914143632237942083433211301237202442209460207585997768747655208637582862935376749503351851068758230923092187538263507121051763472764116834631766897597249701546026116187187491495355919810523606388346238405884283781024612782570780930578875607793199668559311346415337640176900958691603073831696186676222351190927115454841187345028287774191597688086921200466250948923345399679305505028551372539387903086709861957872053408727913966103775796365633582174006789956357514339296881670528677576130587186170562098166545425358597722627053598564075549549339030054552865634825966634172245130429046707367533475467258251371917803759418698002613368967931816249286999144995065348263367569373622210071950604422109577849310996954749193392111422664447078548617963115220504032268315844235738265039822973384929986096924196227976892523477518482463136383578633599508800315397580684010163647527613599478226226443179319715309064359325398401079274639020768925692197696800147044498255922691748729109003713340066308052941537761688113086075366389052355089120601153460609395694259467902718901532239390277311275177086510942874490235528089014536781691052573871560409781473317097314674414506217019188426032638767631682055338380795996324167071539392912772326520838697677162135264944813598577284453118394910845652224506463350950678085517206056175516551882577003897613092986878503791370118606603559126701651061025683024356505510858132733937436346000496782153317102358496748308809223949650795596393037398206680668419172431727844149725506633401649597801905288970936044604207334698436731213489370439762910946810279371395577619974632399094310024128493724605753126719222116202627953887111480303755672214555787884115033841025536451321661290697062278603627830707199880859626347532321956051323647435045845541095879494287395278182291177226371905802880963660613181019883197812329564756722554793720425961672782379590029080133660760352748606389481728983287169104352894443164883503357532007931841505894011139009689863365001025439999196855808137204462542014593282724400250992765063889392841507306871505466473749606252340617432333204954129939792271738140865737589324773765341850120345706135643605331120270469492662319759705832786365323476489592747871006484487184494585167312378115430099311012964271043467714913693516196272781599884768455119180909100919806179243099792701060889122590077166192000006109018192680867864589275188043549279221065715607133412332932751234017053954061653953567662056122589285090814099060270730377560162635398898052865834049026700671131573902124806972783672220655622143119402077062966631839725785562316275399708747209672270878091428278882829542737194173916913942133356348937188878398003491138667974244041868682313128524416556167310127759942625880086953786671867685486481669729120821137810612068873113065563814927372928981466939066144410487209149678199529288621788972049772575670919832339797474904696186653896723351595153221054617452095068508915639650221818676217803839608600505404111931635348213374716380291868115900276334846618099634091750704807739423246495090762534343754421975037156316963557251616402834658017670723198561155849698071394362833612803408203786014803079030374629407791966324 2300873051686614752147371403581186067792852777746527809949483552421600652880460182848356715524034155883512334523264001130613507563019011107098462858548594647228527920618235256205158898075979895609445200643273890114058040397307579866972891180388909467900285259172829973613768928691803220543704468217561205198618794830285551145122125439533829017574834816298727838216521060359602564501613077367209615470321629226632995790362668113228128267951035969533799841220043280795522893099855825441260930656996895320322427611312794597705487071285566332378558284018184801378233398405304191056507070064330949558919975435100875020998203281591378161389199814900929195663190536684988053226342243393801454436996470394541499832602610712613977485939080870948792094888346627684831261748177135432375313145237982182484652382672880272686941837910578991205844585347813917330072348179053373538298225296048095022350453130511795735877009297907070314685899024938007305677119084136570353677560818794756721095019548098173551319866602209367804948484042137233757538454235652500304739386132862935122883990333766847745180924470142728214277663159288462401659675350684548548704457695583756893064735386426961454878577846871766470691731724709971629509457229102758834599169271816295272983062760376502096684845544655269062659141020355828819040954103368635669105190600430110143656536138384483412578527497791066670700951471094239261535869365771943533829965260196286705214438600409125137616208356585966075638602037074962611248114684051357295232278533574773934560623672774415738451798412315753501445982825932344772454047743438894352931677791867027384861040684803990665013272032922839608150675962921139730205158940398651396086891717686356252092366190601439615108029142194486979691822429725884561861860008553176577269787767351876695951333701945351811474449591159245753406168774978145994033691834555941505772790702209250710850526303238209920605906233762375405818116416565343379864812563068667757559404914478489568247974107971067720109058515936286370624757244190254267476891634825865816169381974886302322989172574076112929565931330412920452611476310789000378013037925477551425266730293004179936333888626097951591738207555514881705279646785802315713088141754958502070024092285720249654406373188016057960453387271684543986644944979235600611681227763905034009453726564209385239934065373472754308239355188094368008091175233672183237795275208011913462164621863087221629356659085781590230856228570423601957860329677733022395455150338755772673238187571778788380537894876924529337366912101293560181490186557438428386412101514634578395713606365879945376617118005143063052069103707782467787381606597801625750409808683001419781104472247725850366489126350566778044905323270623443232571393547047093721699477734469002261484037464380728042375399975503538256697574227676950949547643510103772716024374414715075533535040843917109549241600130181120300960618230292848965834252943574857872467397383953260980926982442773989512155555028336816624615839786385029171187013898637492016839478170131584471418331262094472290269714775297354276838041931334685975480898356196265914766562317582487697758725874709950344364108115674063850897067031060019304016219401935987976776063304962156991293954417794837604570694165413588982205089744892403892043357662308909780191052643166617171598155310500557504861762529308739615536290438976858542403230472273271058618496414838971169069549500463748768858661170597398078775685650691965444245808905937380067725018438811048868986094534502129805144219482401648747522648987228836547333414752288930853554694351944978723574981056664314386928519413579768525682364834683077162131725415926851481859204657224290186669303281191882030862447241699078836205637598320113140471155462680685656728947710283618365784048762126238868015299072225032411291610003176217658466518700694776628985083154546843838204733793000689473581124797147333418471118167213931115675203932201124372332342084844327966028449802148190185122618692920772506058167500066622602364448594161678839696390531353663905484346099590334810916996588500794597847303802044800666915143749902827057516679432966367085712625912417051432167826813037112422667502815975271226447 3722890801427636241469201362971504491380571009499296873765692551890581194397166439170881168209588981011202668922165230015521510082575817497071535689877933240931875991272020291255173970643147310108606540110728149666027317396377724375041632738659424609802079755027349952197570438227266596033026143502690269224733938784941913398588724029674579208576063762522453276994932913187729891045979698833984013305947657411384014362437457152466544375636879481649154088712454528133000697118223720029991932101650293185100461396732591742348665536928133376035542989727131259154712964742070657876090685459265023848527976591081095079019828980498954627073715053458442860345373783981961076081308707323120881495554328272076163487534890162805786515401551363552644957064512578637321660099495175082650225708985322315865316296397166563899966185094329260279724998428373568384776127061448718015402114932331246338473638709299678349020678352610558204936230085169556970456011315723896186742484811990745926284680561727068562171094718344281948580721984220666968839691438094709764946972130631682778092627916629783121930427821993796972508586251476000665166796402448021312821292327350654490314436932453077642066069342227686281215338113056210035393741010127371617169950202395170880776262428935813443100183184832170021350744094187525005717176454559562784560031787775138431430727736072570333778993748739990016100630776599267812908408753675030243691923132249695433128404704184921503249790530592756031996116376371844281776792260181944481402840631741319359919221395401469337015873961865092531500535691567170739088219988569323399639045325342494643112412602607750083711274646291807539966925249920284725270507203766220769709101789636960674201944039912436569857222534305909644138900978343847677082364040821492421505526032391699669336263688042276007702426483682723271888631911361724627633200634871339086456800865856778324450004529464653099925621542826734731216517495839982400633738255266364557706449412734412259996703216974781060175366568877824132312870330265620656529246723946466969629991370580561790891891475608352319843242605590006963554350801024528467027574707168603999138290702785653253431203300512457808757395981547520472911328841140696509084465922030041462936864612241088352083535323281002774051964556137662381555790631460107075032178441990551215509902080761267816937962986565741186743146558212974611650301935323244263478299564517424320297355800523567629853441239098692589352976879232825907511125274126059793661831007174945104966031721504295013939544474726434626337848145897767516188623288651917756851864425581388675085001943499920009016212315167191545793709460909187009497809225755512861890112438673634336892356362759691392025577672228068741967601874251273939771274406673441254021433785792649696529883005476607536662795253685829433923946133479831913208256691123655913836703979471798088328761269878782331621190159261253961720970978899238447563236230743962225361840548836764338458990374615495406166694038026679989616865226384226026995151103100034031432760894531835464183395151487313797576586280763828026444294271952118308685852486136058186504703183320077022532491216560070690070243759279394971167536523722339063722052188301311453265656052833163475781138912380004916948809595512899995169360788360118805736873858581691380075821098285798080699075116679800604654463590197862205613456630976864651421423153141135647893684458388250390135265107597161101791412404614452032837339604259627500368398191028194166785289169188609031621493432554995639193246183072780321424773794201620219554070374432050255631757318576818449360543372939714095675729085850646617110643717512619899325899332840793615215553594413168584672794419859856274904315924012207360622193765630240900413781342767639443400815395770100035513169583264049480084172185290596226218982932157684597532663111181985778663282683835465627176783565576360393413464594622238114657772063937282710828424986818576467400851000483978187847126019952029793723124097032704141406380874783002894232564494438013686314490165445414610292085522836829901679530932255216572884460119008357918531546584560844728239877994122216783784020275250664235576030599051915501697877445383063192771 6023763853114250993616572766552690559173423787245824683715176104312181847277626622019237883733623136894715003445429231146135017645594828604169998548426527888160403911890255547460332868719127205718051740754002039780085357793685304242014523919048334077702365014200179925811339366919069816576730611720251474423352733615227464543710849469208408226150898578821181115211453973547332455547592776201193628776269286638017010152800125265694672643587915451182953929932497808928523590218079545471252862758647188505422889008045386340054152608213699708414101273745316060532946363147374848932597755523595973407447952026181970100018032262090332788462914868359372056008564320666949129307650950716922335932550798666617663320137500875419764001340632234501437051952859206322152921847672310515025538854223304498349968679070046836586908023004908251485569583776187485714848475240502091553700340228379341360824091839811474084897687650517628519622129110107564276133130399860466540420045630785502647379700109825242113490961320553649753529206026357900726378145673747210069686358263494617900976618250396630867111352292136525186786249410764463066826471753132569861525750022934411383379172318880039096944647189099452751907069837766181664903198239230130451769119474211466153759325189312315539785028729487439084009885114543353824758130557928198453665222388205248575087263874457053746357521246531056686801582247693507074444278119446973777521888392445982138342843304594046640865998887178722107634718413446806893024906944233301776635119165316093294479845068175885075467672374180846032946518517499515511542267732008217752570723117209522027973453287411740748724546679214647148117601212841424455475666144164872165795993507323316926294310230513876184965251676500396623830723408069732238944224049374668998775313799743576365287597389987627819176876074841969025294800686339870621666892469427280592229591568066029035300530832702863020531527776589110137034633912405325780498550818335032315265854327212901828244677324945848780284425084814110502937627574455874924006138358772332785799373345466864113881064049684465249409173936002927416165827111813528845040612632646155424405020995789833189765091926610409400495603537062402178190975626943012222172607676988543532960956897961338006489908511297060734505351827822206368200735610695707686713406205895585224963628644970653056872028360038495494982501746307342619741477168995427501273574772529337782461977663610789259210100324880282820209205449656427865371454951859082189116981345930717778204219293283083394477439351650963963704760247191327697678809846090346143263965940215967070798608309379865385633330320310254597862813168691654796879415823557138612299921121675054117996828610485541758514704022794846786872925144874717172342667953720534975720911520261651958013920469857335579038195229189367690621520361156782862755900201227428629861078394186873621863802113795891880862790289442374262681589209192087413397489174318820097829237932790025319385972817389484918322249066363496614232705012769255198182165001737526048272239064663419935601726413581786087846301056061182303282336203286804284166750842332324101271265500902564720291217091270021034434351874953458822064603554782358367738271590237299430041719357795320467075093330174842521519503760926488977374450533252522697780231520890601160266873741452415252297230427180358109516226119506601821149747069953723193824653625414406706512180873227221559204814608060909870650073575211850111613025254951592944614207096965574234510307607999657900607587967057125444337465665474429068947422781430456766887485126720981109186451670521797172935524429604028482604248499430415142793008552195697061457624748767645097074758251637458771342097701051738305766763165711286196827831363950354040884936805448325100129763106053718401297218345390288348099471257515628637510592935333902255999181811876762407648365838382309465381517358577049866994589391769571533128890231151213826503628919019700839733193085328306153875575822100219978845742789953476647464548374849625496597013088599692526010880696799078515776431622427164712596527520756011170731763921053158585446690334463671785756557427088583869496646187667715667743857412089027924365380261358334419218 9746654654541887235085774129524195050553994796745121557480868656202763041674793061190119051943212117905917672367594461161656527728170646101241534238304461129092279903162275838715506839362274515826658280864730189446112675190063028617056156657707758687504444769227529878008909805146336412609756755222941743648086672400169377942299573498882987434726962341343634392206386886735062346593572475035177642082216944049401024515237582418161217019224794932832108018644952337061524287336303265501244794860297481690523350404777978082402818145141833084449644263472447319687659327889445506808688440982860997255975928617263065179037861242589287415536629921817814916353938104648910205388959658040043217428105126938693826807672391038225550516742183598054082009017371784959474581947167485597675764563208626814215284975467213400486874208099237511765294582204561054099624602301950809569102455160710587699297730549111152433918366003128186724558359195277121246589141715584362727162530442776248573664380671552310675662056038897931702109928010578567695217837111841919834633330394126300679069246167026413989041780114130322159294835662240463731993268155580591174347042350285065873693609251333116739010716531327139033122407950822391700296939249357502068939069676606637034535587618248128982885211914319609105360629208730878830475307012487761238225254175980387006517991610529624080136514995271046702902213024292774887352686873122004021213811524695677571471248008778968144115789417771478139630834789818651174801699204415246258037959797057412654399066463577354412483546336045938564447054209066686250630487720577541152209768442552016671085865890019490832435821325506454688084526462761709180746173347931092935505095296960277600496254270426312754822474210806306267969624386413579916026588090196161420280839832135276034623861078029903826879302558524692297183432597701595249300093104298619678686392433922807359750535362167516120457149319415844868251151408245308181132289073601396872972303739947314088241380541920629840459791653691934635250497904721495580535385082718799755429364716047425904772955525292817569252416541592934379720177912838057312068187339814759423543311698575486443196295227122867209252999518609922651102304468083708731257073599018584995897821510202426358573443834578063508557316383959868749756526242155814761745584647886136440473530725731920873809991346604236681725648304520317231391779104318671764751874337046762102759333464134356889063541563978975409562182328889253772882580225985141982778812353105662883170251014787378408416983826377398590042608393089095213867433134742263900115830365797355745883610252879785394649542635477446143656522629600841806377225049312651474190033560348688454889184973245233150540281695022915528840527019125991112113942360393976229742345306054301654543803475333943115700990482875197124545466494636614775964156892351084543697782373658671710192563383674674212483980448703628224402560188091325860960725405062782323191078481626789657844963192004980324488943104390176603849570239153481225177316104837560079704999959195255399785121565069099885422887336825010329726630475238922592852603328468382287775968684222641742823708307830091724504595634232853793232140078504697431460323778538610883307375410628483942856232242554847438468313356439388972543811321612641503517105379472292540342694839738213332996305543860158714170689709704464026763203700930587845246076778555542354405865331615471949340079715658070972441485979826302144450364859211220444982605287993768401295596777188266932229081399612121083530711848547209390372196575632076986441555501153031364818208989098615622296067802543742578279977585281061759903652269708316960783524081608438712290311846050627356014892120911594580671079089723493557450025129580594941298718148215964543530578501823818436810387928654337828183643442806224863729575867491586853531844923058748186311648522217775092558300924153410260408053986391809647786662295088496537332053905838277307134044085812284341722701842052249772568866886986180788870929249632628390829577583037706212325370862244493126068517145263994614276058453011227743616224040061516503978236919024516513996435421210800653280666462918379903319888011140943426063257706741397611989 15770418507656138228702346896076885609727418583990946241196044760514944888952419683209356935676835254800632675813023692307791545373765474705411532786730989017252683815052531386175839708081401721544710021618732229226198032983748332859070680576756092765206809783427709803820249172065406229186487366943193218071439406015396842486010422968091395660877860920164815507417840860282394802141165251236371270858486230687418034668037707683855889662812710384015061948577450145990047877554382810972497657618944670195946239412823364422456970753355532792863745537217763380220605691036820355741286196506456970663423880643445035279055893504679620203999544790177186972362502425315859334696610608756965553360655925605311490127809891913645314518082815832555519060970230991281627503794839796112701303417431931312565253654537260237073782231104145763250864165980748539814473077542452901122802795389089929060121822388922626518816053653645815244180488305384685522722272115444829267582576073561751221044080781377552789153017359451581455639134036936468421595982785589129904319688657620918580045864417423044856153132406266847346081085073004926798819739908713161035872792373219477257072781570213155835955363720426591785029477788588573365200137488587632520708189150818103188294912807560444522670240643807048189370514323274232655233437570415959691890476564185635581605255484986677826494036241802103389703795271986281961796964992568977798735699917141659709814091313373014784981788304950200247265553203265458067826606148648548034673078962373505948878911531753239487951218710226784597393572726566201762172755452585758904780491559761538699059319177431231581160368004721101836202127675603133636221839492095965101301088804283594526790564500940188939787725887306702891800347794483312154970812139570830419056153631878852399911458468017531646056178633366661322478233284041465870966985573725900270915984001988836395051066194870379140988677096004955005285785320650633961630839891936429188238158067160215916486057866866478620744216738506045138188125479177370504541523441491132541228738061514290018654019574977282818661590477595861795886005024651586157108799972460914847948332694365319632961387153733276609748603055672324829293280095026720953429681276007128528858778408163764365063352345875124243062668211782075117957261852851522448458990853781721665437159370702573930682019706642732176708150050827659851133256273314099266025449109576099885221311127745146148273641888859258229771387778545681638254035177844224171895793699036380661374470308070461802894423178028362553747368640280422911546242980832610043379796306013322816682218562259650780282872955787700741519335798292496603256640872869790086489954682023742572886013583730774909054985717817762315713452164000708284456610314114511205463256826315953612557723945191278694739185712064564815166986855793397638720057093578513173558860767845545332056365497470566093346770738146002487084149397283413274358214579381602421020316414416814977230936009394465242811192170753673218082275251922736423359481106575086127977239023858675335386847978650885973269188392886192633008966678525726877019354170800706389047234185125206463114925399100112758938947509186312615296743633287055799198595368775910313349094768423804409931325572729689959987817117365877949918261854865164201297336900362893700609568581190628585293535971040516823686915829211065847912950770884311039070730403969949060918046204842693508544894323718980843091559555038152256063390114162813389596812384959342635805904385187924832836669366669246527868177514021638459319619357062533753329040627874012474004660659620412795231592232147771060884226084711476902696660821904014022241148830376083809365070097688086127356989821963332886437842255434779754277856493530948982183654953664289643660341607877536838107606274044626176283114700321853501240168802825489109531026734935510593960014360600084557939818282730460127402643378161381180915552526239710363835682824857978146867237171140590495598277664152469751414609676939657436335477624482253887426590671637398738336251559043571641844948767691159326872585973767238914347987961114675089424927253488188299752992848299384522777312650586095571063745423229971350428637968099732031207 25517073162198025463788121025601080660281413380736067798676913416717707930627212744399475987620047372706550348180618153469448073101936120806653067025035450146344963718214807224891346547443676237371368302483462418672310708173811361476126837234463851452711254552655239681829158977211742641796244122166134961719526078415566220428309996466974383095604823261508449899624227747017457148734737726271548912940703174736819059183275290102017106682037505316847169967222402483051572164890686076473742452479242151886469589817601342504859788898497365877313389800690210699908265018926265862549974637489317967919399809260708100458093754747268907619536174711995001888716440529964769540085570266797008770788761052544005316935482282951870865034824999430609601069987602776241102085742007281710377067980640558126780538630004473637560656439203383275016158748185309593914097679844403710691905250549800516759419552938033778952734419656774001968738847500661806769311413831029191994745106516337999794708461452929863464815073398349513157749062047515036116813819897431049738953019051747219259115110584449458845194912520397169505375920735245390530813008064293752210219834723504543130766390821546272574966080251753730818151885739410965065497076737945134589647258827424740222830500425808573505555452558126657294731143532005111485708744582903720930115730740166022588123247095516301906630551237073150092606008296279056849149651865690981819949511441837337281285339322151982929097577722721678386896387993084109242628305353063794292711038759430918603277977995330593900434765046272723161840626935632888012803243173163300056990260002313555370145185067450722413596189330227556524286654138364842816968012840027058036806184101243872127286818771366501694610200098113009159769972180896892070997400229766991839336993464014128434535319546047435472935481191891353619661665881743061120267078678024519949602376435911643754801601557037895261445826415420799873536936728895942142763128965537826061210461807107530004727438408787108461204008392197979773438623383898866085076908524209932296658102777561715923426975100270100387914007019188796175606182937489643469176987312275674271491644392940806076157682380856143819001602574282247480395584563110429684686754875025713524756599918366190723636796180453187751619984595741943867713788095007337210204575501667858105910690096434494804492011053246968858433798355347977082525035377632771030777323446622861987980644591879503037337183452838233639333570107434935411136615403829366154674606052142043544544721322857840211311407004405761143789977033369518125413676115574873943495626671810678562565828815139436174932415591265146885175858427893338409633865922182441560679988242372431027775198556976008059595267412840677844553979183126699396570552674508487435205602132370255267101527420525221810440176194939761939712453350430012414684213985929597717256643141504217042248928881145240305830751186849630711486709585374739135318939984444384744211394896043604635075899201399445567300135275143849821931845491076217648536797211412646207682238983053930735171969543719985858692075729711202962735597153764649469871957499269088676823202869347848205938633706930204483443543143419166408528883711791753230658919147314521196656470179052288352787557815284537398456130473805266922462073176477805704814442279835186240952263420928841918289841514900675537857605538915529874676154471814898884316807182525491415323911536458165457884974039377051815533045534864454400513754973374033834579417672953111037101501162376191765065750766281367611398889362568847849691815932694610739770596129027043838822869648719028417527660034691513639164203669992538662600313091612330983024672911984522521655381943738713483371881942874927467108921345158273311727881623111543923482373101880254187190920109701355274917994202698964004466758143128078364969744670317075963062871657994258780271662882817859650498119206883870387810697364553190828702214821328206901167736730696255454001281256952874837320979506204719523983476563925838225206406874114882278256168254675104950661622421288064767913465912955153941148644426778466657964212001176191593403164172512704813749428269510185176057979113504475474383633434370914776491895674841129643196 41287491669854163692490467921677966270008831964727014039872958177232652819579632427608832923296882627507183023993641845777239618475701595512064599811766439163597647533267338611067186255525077958916078324102194647898508741157559694335197517811219944217918064336082949485649408149277148870982731489109328179790965484430963062914320419435065778756482684181673265407042068607299851950875902977507920183799189405424237093851312997785872996344850215700862231915799852629041620042445068887446240110098186822082415829230424706927316759651852898670177135337907974080128870709963086218291260833995774938582823689904153135737149648251948527823535719502172188861078942955280628874782180875553974324149416978149316807063292174865516179552907815263165120130957833767522729589536847077823078371398072489439345792284541733874634438670307529038267022914166058133728570757386856611814708045938890445819541375326956405471550473310419817212919335806046492292033685946474021262327682589899751015752542234307416253968090757801094613388196084451504538409802683020179643272707709368137839160975001872503701348044926664016851457005808250317329632747973006913246092627096724020387839172391759428410921443972180322603181363527999538430697214226532767110355447978242843411125413233369018028225693201933705484101657855279344140942182153319680622006207304351658169728502580502979733124587478875253482309803568265338810946616858259959618685211358978996991099430635524997714079366027671878634161941196349567310454911501712342327384117721804424552156889527083833388385983756499507759234199662199089774975998625749058961770751562075094069204504244881953994756557334948658360488781813967976453189852332123023138107272905527466654077383272306690634397925985419712051570319975380204225968212369337822258393147095892980834446778014064967118991659825258014942139899165784526991234064251750420220518360437900480149852667751908274402434503511425754878822722049546576104393968857474255249448619874267745921213496275653587081948225130704024911626748863076236589618431965701064837886840839076005942080994675247383206575597496784657971492187962141229626285787284736589119439977087306125709119069534589420428750205629954572309688864658137150638116436151032842053615378326529955088700148526328311994682652807524018985671049947858859658663566355449579771347849467137068735174030759889701035141948406175636933658291650946870296802772556198961873201955719624649185610825341697491869104957885980617049390650581673590326570399751178424205919191630928302014205830182434123697537345673649941036959919096407483986875422977824001379248047377399086955215288547052847626695194226185835012890506795052231647169942924396173600661212140706782968650253130658440160267431347127407681027162988622998640668858958686208879659251365716500505179361907004326754879440206223410053404271079508110890815503909349762374305294378615806399177521924995633198570858982658152409677154563825987165231711310460419612306835210793910810111327445897523040014120742998954071896278317987732335659478006912606070558817522370871831961264122597395595744563832290376346891311670069795065870437054473054669053559106030317242382490652605479023825627345078809029857514516090431510005564947476092762718883388014227358443947591171144872380335031342969906111779180198079941561832002119470503583377485941192361544521368126595722589105242699209923387537586495440476241957741300858966429868363096032658624605089902606656577145087536847224176230057912453672907405547564116597902420132950614139267066876590486309011435289757144493099636756901056312827530308339441212759252266839284700048429754704015565296973913516345005265821742360606331020452041426799610728871764838260353546763600593053066005738116642492905666028055544543830851261717578892113025600476743590180749872843449931866209913473142565072593898392929769374231677243417944208437937489614330515213340742714572009617767347567917265003419555554233600868518428093465332919257170357189275398086240865495661541884498597136165682758926312503688997873980331636409758414680646313268021230400545705572312199962290866682828091426000893113502421117809569698835291764090571045447378857600886126920533642940861674403 66804564832052189156278588947279046930290245345463081838549871593950360750206845172008308910916930000213733372174259999246687691577637716318717666836801889309942611251482145835958532802968754196287446626585657066570819449331371055811324355045683795670629318888738189167478567126488891512778975611275463141510491562846529283342630415902040161852087507443181715306666296354317309099610640703779469096739892580161056153034588287887890103026887721017709401883022255112093192207335754963919982562577428973968885419048026049432176548550350264547490525138598184780037135728889352080841235471485092906502223499164861236195243402999217435443071894214167190749795383485245398414867751142350983094938178030693322123998774457817387044587732814693774721200945436543763831675278854359533455439378713047566126330914546207512195095109510912313283181662351367727642668437231260322506613296488690962578960928264990184424284892967193819181658183306708299061345099777503213257072789106237750810461003687237279718783164156150607771137258131966540655223622580451229382225726761115357098276085586321962546542957447061186356832926543495707860445756037300665456312461820228563518605563213305700985887524223934053421333249267410503496194290964477901700002706805667583633955913659177591533781145760060362778832801387284455626650926736223401552121938044517680757851749676019281639755138715948403574915811864544395660096268723950941438634722800816334272384769957676980643176943750393557021058329189433676553083216854776136620095156481235343155434867522414427288820748802772230921074826597831977787779241798912359018761011564388649439349689312332676408352746665176214884775435952332819270157865172150081174913457006771338781364202043673192329008126083532721211340292156277096296965612599104814097730140559907109268982097560112402591927141017149368561801565047527588111501142929774940170120736873812123904654269308946169663880329926846554752359658778442518247157097823012081310659081681375275925940934684440695543152233522902004685065372246975102674695340489910997134544943616637721865507969775517483594489604515973454147098370899630873095462774597012263390931621480246931785276751915445564247751808204236819790084449221247580322803191026058555578371978244896145812336944706781499746302637403265962853384838042866196868868141857117437877258539563571563539666041813136669893575746761523614016183327028579641327580096002821823861182600311504152222948008794535725508438527993415552460527265985502956481245005803320467750463912953786142225517237186839884841327322707019459162373595211982357930371049649634679941813876192538523130147704138317994511871052654079173422524372717234673207849931166768604628436410697682791028245520543499118004821410530254107077597715663131486075874461091056464146760778786241722315619538101944088694591893556653422468088485065437708608072147050853979416554223259761046705008273111845263910057568568032891544996094548270371909443106206504024247382734412193356377411462721041372861945966234075171720433075529400378543341716989966536805730787066090857690653339852308598558480160986055025816763269169338883742693639923820902874992192812960521725826033796024645432354511056870562260516433663404952706662035126528381115506441203298764756900078064976411794842408207820775610926221460033266182514095423048312421873219000841867899402126907042125597265259714514108807704344769020931891565869277759024424314842402473084474157650624767061057090900060910881058755647730865564710008906709940308362968170899231981750665956239159334158703251222451755232870232885928100151650399957058469630286912301530798339212633424696554227897287005128675988290494654345128852675833985165513094100753707713187820655684945751326377733619739754036829148401157424798018042181827280247387943594679442554185216630986578010231179658143459641035656770050924028154503340126235803858936056696498200903024038107267762838319982168896124166171156286250489054869799685046340170240236676561908799381562804791333886748291372712018443938927180987608639659496401619701177671880593601467209169874827324172230276411963467058276231255598513597927251849387319754874893270877595046519831012291971800903412429317781991317599 108092056501906352848769056868957013200299077310190095878422829771183013569786477599617141834213812627720916396167901845023927310053339311830782266648568328473540258784749484447025719058493832155203524950687851714469328190488930750146521872856903739888547383224821138653127975275766040383761707100384791321301457047277492346256950835337105940608570191624854980713708364961617161050486543681287389280539081985585293246885901285673763099371737936718571633798822107741134812249780823851366222672675615796051301248278450756359493308202203163217667660476506158860166006438852438299132496305480867845085047189069014371932393051251165963266607613716339379610874326440526027289649932017904957419087595008842638931062066632682903224140640629956939841331903270311286561264815701437356533810776785537005472123199087941386829533779818441351550204576517425861371239194618116934321321342427581408398502303591946589895835366277613636394577519112754791353378785723977234519400471696137501826213545921544695972751254913951702384525454216418045193633425263471409025498434470483494937437060588194466247891002373725203208289932351746025190078504010307578702405088916952583906444735605065129396808968196114376024514612795410041926891505191010668810358154783910427045081326892546609562006838961994068262934459242563799767593108889543082174128145348869338927580252256522261372879726194823657057225615432809734471042885582210901057319934159795331263484200593201978357256309778065435655220270385783243863538128356488478947479274203039767707591757049498260677206732559271738680309026260031067562755240424661417980531763126463743508554193557214630403109304000124873245264217766300795723347717504273104313020729912298805435441585315979882963406052068952433262910612131657300522933824968442636356123287655800090103428875574177369710918800842407383503941464213312115102735207181525360390639097311712604054506937060854444066314833438272309631182380827989094351551066680486336560107701555643021847154430960094282625100458653606029596692121110051339264313772455612061972431784455713727807588964450764866801065202012758112118590558861772102721748561881748852510371598567553057494395821450034984676502013834191392099773313879384730960919627177091397631987356571426100901037093233109811740985290210789981839055887990725056527531708212567017648606389030708632274840072573026370928717695167699250949841618679526511624382868559020785734384556031128801408558834136233217377543485879396169509917916567176546807815405554498891956383104584714444239723067369274008538864668380669400199333514308389841917246472627458681321061923569937610085362992685370842138566246880265008435414879512286904855019874091164778229097622838389573996895773674157558165088841877381514758624878651754484716543320049742673026420030151958222820798900008948415449471333762876832521492756144945819498887650960203741790859517638376853104185795036840897108628427550691043954673249112096359074674817516964443859689569622987267187522790166938895901960086977074125792329353847388110879001194996879142876289604588461729522614603974905994154224724818345402163654580839408678808564076978293957544045751918990838968208524448630124456180138401949371290373948179495384216667600074004473878225324591312992115344025656147556667222743239163745517038000640231346124075927425167782925456596486783060260946648275168721319854364957213318731091882355516372367807827019059883390744710765569117132782255714669667713668045148447728282931877788778018382916312257504424960870591032182595889933023115749820467714686512208899725969869642829156464477930265397910843046164568370083039261063179400569793194260918645020993556316396705735183696286026592312704829625472551448174202448546344379443739357856396529734814429212969341848893443544859139500969195156186144365966503830027942097389571616602206108250668443853797528735017369653748067373994186112531418237378849982334847937749516464041431174575841804722655738318113139805503159493846919098074779649045656829548290175871309154609621686107300112328657370381951337587430295274247780477191105227869877802588611925757924959059347024514491040754270505129324573728562641685617565278391149572687030332962960722852992002 174896621333958542005047645816236060130589322655653177716972701365133374319993322771625450745130742627934649768342161844270615001630977028149499933485370217783482870036231630282984251861462586351490971577273508781040147639820301805957846227902587535559176702113559327820606542402254931896540682711660254462811948610124021629599581251239146102460657699068036696020374661315934470150097184385066858377278974565746349399920489573561653202398625657736281035681844362853228004457116578815286205235253044770020186667326476805791669856752553427765158185615104343640203142167741790379973731776965960751587270688233875608127636454250383398709679507930506570360669709925771425704517683160255940514025773039535961055060841090500290268728373444650714562532848706855050392940094555796889989250155498584571598454113634148899024628889329353664833386238868793589013907631849377256827934638916272370977463231856936774320120259244807455576235702419463090414723885501480447776473260802375252636674549608781975691534419070102310155662712348384585848857047843922638407724161231598852035713146174516428794433959820786389565122858895241733050524260047608244158717550737181147425050298818370830382696492420048429445847862062820545423085796155488570510360861589578010679037240551724201095787984722054431041767260629848255394244035625766483726250083393387019685432001932541543012634864910772060632141427297354130131139154306161842495954656960611665535868970550878959000433253528458992676278599575216920416621345211264615567574430684275110863026624571912687966027481362043969601383852857863045350534482223573776999292774690852392947903882869547306811462050665301088130039653718633614993505582676423185487934186919070144216805787359653075292414178152485154474250904287934396819899437567547450453853428215707199372410973134289772302845941859556752065743029260839703214236350111300300560759834185524727959161206369800613730195163365118864383542039606431612598708164503498417870766783237018297773095365644534978168252692176508034281757493357026441939009112945523059106976728072351449673096934226282350395554806528731566265688929761402975817211336478761115901303220047799989279672573365480548924253822038428211889857763100632311283722818203149953210359334816322246713374037939891311487287927614055944692440726033591253396399850069684455525864928594280195814506114386163040822293441929222864966024945708106152951962964561842609595567156342632953631506842930768942885982013872811721970445182552679503289060411357819359706847017538500586465240304556113893380191991087688859361707109520372199847617522277093361262875799762476133215510696823688836650437299534344181857939252229521578062869805257933382857534033536072365025141294217656676169910252407635621836222594314885970792417781140799137173180808938199945136418438110892504144063227319530254989581241210383528106959798011057721207413740898137899809194068148686161018685996118723935499669343660366730984117923723468468107072304035180623564934252887980268763906053211149297512762429376788489422342911986845679682020391654552587213267943827214592712704885804400427980417850008747562551257716902114860419037944731951360694034558244654769888534649458819933550890381842900336923329635200532854993731765794611756872244103721123968462065151446984521127964222100264612306590022848216095347329815487624928160348775182210846917119624671727427538796227124537304259373696296818907815059553168042201606939906339436728770758945209358609341687525519643583092925218967444733323838761931414577640598979354909154626417937734660654958840102528757256616128330222456380473333076869900881378473696604097124021091547923773696981846811051050864036372120011757825798930379180264635994858133492095705821472977596150566563962830370394139866935625372139386888912789835628698551183134816605952328569229760061847143907438494777825683238357495889551926310050882610732321261416957250097686257731685360165597345732128055211710608117798186145673399730523481006874161211850448163435038467244021173053560613288287720968316866783571038765102175867849247686360980055194050032865023889224983235290602623028088968006119892449079448621833519280664085109403441544487933745392278504844309601 282988677835864894853816702685193073330888399965843273595395531136316387889779800371242592579344555255655566164510063689294542311684316339980282200133938546257023128820981114730009970919956418506694496527961360495509475830309232556104368100759491275447724085338380466473734517678020972280302389812045045784113405657401513975856532086576252043069227890692891676734083026277551631200583728066354247657818056551331642646806390859235416301770363594454852669480666470594362816706897402666652427907928660566071487915604927562151163164954756590982825846091610502500369148606594228679106228082446828596672317877302889980060029505501549361976287121646845949971544036366297452994167615178160897933113368048378599986122907723183193492869014074607654403864751977166336954204910257234246523060932284121577070577312722090285854162669147795016383590815386219450385146826467494191149255981343853779375965535448883364215955625522421091970813221532217881768102671225457682295873732498512754462888095530326671664285673984054012540188166564802631042490473107394047433222595702082346973150206762710895042324962194511592773412791246987758240602764057915822861122639654133731331495034423435959779505460616162805470362474858230587349977301346499239320719016373488437724118567444270810657794823684048499304701719872412055161837144515309565900378228742256358613012254189063804385514591105595717689367042730163864602182039888372743553274591120406996799353171144080937357689563306524428331498869961000164280159473567753094515053704887314878570618381621410948643234213921315708281692879117894112913289722648235194979824537817316136456458076426761937214571354665425961375303871484934410716853300180696289800954916831368949652247372675632958255820230221437587737161516419591697342833262535990086809976715871507289475839848708467142013764742701964135569684493474151818316971557292825660951398931497237332013668143430655057796509996803391174014724420434420706950259231183984754430874484792661319620249796604629260793353150830114063878449614467077781203322885401135121079408512528065177480685898677047217196620008541489678384279488623175078538959898360509968411674818615353046774068394815515533600755835872619603989631076980017042244642445380241350842346691387748347614411131173001123228273217824845926531496614024316309923931558282251473174471317624988828089346186959189411751011137096922115915866564387632664576345833120863395329951712373761755040065677067002160263525499752207891480363099119856050096875816912318251663230122123215030704963371925387901919056659468358259561040623828762041764863994904552042583937723332413743300873689509059678789003546414609190293354131741808482917889679349098161086631656374461939022037067891814234334999094285017136594847472966640455508961101190541810199600839090158167957217338119840919593534561082407087511073997355329347605847448971261462998273258536514752913379863185527058127314423669414979454342592772463090058792741240432911966761873658167890752457043054919164665866140188223423305091783224176600301344106983724822558309996243014316735882547802120586866929610622745830144072430848156241359821793880408817963083696650942199662243082693284894344714787860769304841264330022395721139997235274537328871957090385924748987588129377271525129287894686148266645002222740495958430665950273383878272786411974407988421295423457379568236973989628940746269888109480053676627181523315878791205804263933611318739722162054106396484426990357806337624619403308421601475841531224949158284709352963597173530532002470658975094132624246869554684809972171586413080606260487854291316379241438270964417734759783497693814285808842418717975403127447756599220068406038350138503760004652816084169060582038440085265212335452547096298777259583363481715829068916998526389881984991814842917149638646633894425958801376664053252158106938631623211973374865543299993684045068723263739498795807232432534195481201824207028520307969859934366346435911325951176559224370400104948940860896104992983328643115330327663182299395587833296974237165522376352532471142097028163552085283063927835453635814982908194349949647542580008760390397578404022350396160966281650387794591117174964078355239227697301603 457885299169823436858864348501429133461477722621496451312368232501449762209773123142868043324475297883590215932852225533565157313315293368129782133619308764040505998857212745012994222781419004858185468105234869276549623470129534362062214328662078811006900787451939794294341060080275904176843072523705300246925354267525535605456113337815398145529885589760928372754457687593486101350680912451421106035097031117077992046726880432797069504168989252191133705162510833447590821164013981481938633143181705336091674582931404367942833021707310018747984031706714846140572290774336019059079959859412789348259588565536765588187665959751932760685966629577352520332213746292068878698685298338416838447139141087914561041183748813683483761597387519258368966397600684021387347145004813031136512311087782706148669031426356239184878791558477148681216977054255013039399054458316871447977190620260126150353428767305820138536075884767228547547048923951680972182826556726938130072346993300888007099562645139108647355820093054156322695850878913187216891347520951316685840946756933681199008863352937227323836758922015297982338535650142229491291127024105524067019840190391314878756545333241806790162201953036211234916210336921051132773063097501987809831079877963066448403155807995995011753582808406102930346468980502260310556081180141076049626628312135643378298444256121605347398149456016367778321508470027517994733321194194534586049229248081018662335222141694959896358122816834983421007777469536217084696780818779017710082628135571589989433645006193323636609261695283359677883076731975757158263824204871808971979117312508168529404361959296309244026033405330727049505343525203568025710358882857119475288889103750439093869053160035286033548234408373922742211412420707526094162732700103537537263830144087214488848250821842756914316610684561520887635427522734991521531207907404125961512158765682762059972829349800455671526705160168510038398266460040852319548967395687483172301641268029679617393345162249164238961605843006622098160207107824104223142331998346658180186385240600416627153782832903329567592174815070221244649968418384578054356171234839271084312978038663153036053740968180996082525009657911047815879488840080649353528365263583391304052706026204070594327785169112892434715561145438901871223937340057907563320331408351935928700336246219269023903852301345352452573304579026144980881891510095738817528308797682706004925518868716394708671572519997771103149507513625019613450808281672535553385936228270137611370077139661715617170203676481501795299248650556047118922747733349134241612481517181645403846813523094889876516384386332748515439440845948953372151293383971330060980759484607031543944165689910534304047178362109470910504909346692652758431070067281526426301378882331340947372781648028358113093635776230733423737597788401937342500655238565712875712807246982319184205686999434652652722573931334213219146000419788138914954011936432829821042910664963901380073834177693348514317391295942899433429772193399372720817854212600965089723687018970570502240330387897566903949150491629335179579634496427146258124490280856903803911079510782523678382121641382893560356277640937939664233249437319589238392154711865296058063326870475070183865688856180536505859832233098395493591353046133132787772966444840760570737255973121599973620116227462032916581644198639590415154093614300668173808684336604590980886555219612697699020863817101653520346662068393543125255185935567164946966306928828065184568766750192393891608548114895011751171130981825568129720550561981530209643650074700343669696734590710310671789712318308171845796208456387594817835377356766192414957249938498807463256440526050107964302690383833080720163918715530535791086685313048697662862740089953757621582764694289137913278794774827443541468332773463239846754528031136725900396065545433409448895211732361432851919994095951333996060760212764482530220453212887184372625866040097915146076954553709512096849958954893881111823102072746553156418367110359351500716742912683875554265291103949093415117634647009946275849913065338257977868318659704207891429640552270570668976766510290027483470972229680246945735497198032661662897823747517732541611204 740873977005688331712681051186622206792366122587339724907763763637766150099552923514110635903819853139245782097362289222859699624999609708110064333753247310297529127678193859743004193701375423364879964633196229772059099300438766918166582429421570086454624872790320260768075577758296876457145462335750346031038759924927049581312645424391650188599113480453820049488540713871037732551264640517775353692915087668409634693533271292032485805939352846645986374643177304041953637870911384148591061051110365902163162498536331930093996186662066609730809877798325348640941439380930247738186187941859617944931906442839655568247695465253482122662253751224198470303757782658366331692852913516577736380252509136293161027306656536866677254466401593866023370262352661187724301349915070265383035372020066827725739608739078329470732954227624943697600567869641232489784201284784365639126446601603979929729394302754703502752031510289649639517862145483898853950929227952395812368220725799400761562450740669435319020105767038210335236039045477989847933837994058710733274169352635763545982013559699938218879083884209809575111948441389217249531729788163439889880962830045448610088040367665242749941707413652374040386572811779281720123040398848487049151798894336554886127274375440265822411377632090151429651170700374672365717918324656385615527006540877899736911456510310669151783664047121963496010875512757681859335503234082907329602503839201425659134575312839040833715812380141507849339276339497217248976940292346770804597681840458904868004263387814734585252495909204675386164769611093651271177113927520044166958941850325484665860820035723071181240604759996153010880647396688502436427212183037815765089844020581808043521300532710918991804054638595360329948573937127117791505565962639527624073806859958721778324090670551224056330375427263485023205112016209143339848179464696951622463557697179999391986497493231110729323215156971901212412990880475273026499226626871467926732515752822340937013594958853793499754958993836736162038656722291182004345654883747793301265793753128481804634468731580376784788794823611710923034247907007753132895131133199781052724652857278506082827809362996511616125765493783667419869119917060666395773007708963632654895052717591818941942196300285893557943834363263747797755433954082223873244262966634187401874807563844257851993198488304541864324315716123067096797758074483371482104654630803569400255470581090156463711638197064773263413033013377227504931171380792391603482812045182455863033307261784930647875167048406889697218305310024405378483788357177896283377345512086197446430751246427303619817258075841808194228444392363562562444647515713138543898649163956129705030797346284996243069215430001285144839908440977669895025917540248166881810339983521882757572382487118516281050853114350574343331132349484344430011729235921042223318654695953580647203960257971167405635953794519740277273314843457553894408354529205292911101703406204334292040596051351516405069848338997818598095638333587596144122945995825141690025031125954295324798640384140581220685033039431455766446564107049892088268562711705060045270901304662932496345205338033835760018520723631224558577964225180358543233419041887691779203324105749607512737645946566461254847420362475667018720640940819281054417968667581256529167921923394983851892902639436440905002939622096969983391067603929608920078572446084644657513736742928576490226668081035264839086384230447649521739612925924971284590926332136486786044608281417343049893257467858608924701662984296227104814683186228399764328460046871930082777340851198164963106091559746442810213943216171092511649663165608611132932653065946564062476508932088458102806450388485896804332979297568975876351897648501244759161517349537121103298593763206136439668676759819258384385482412109873741180486832513389953648223652372041072107185107226976151913678141020057259800259008571714962754648694089008579654386348067775080443300989620838048026518179264281216772042933642658149401695753474681828379925212079463387562265341114615791470167118152043304013465150621321905703772295519190799623990501918113248985526900687605887493322625841213227385884992623778837861902102756960238912807 1198759276175511768571545399688051340253843845208836176220131996139215912309326046656978679228295151022835998030214514756424856938314903076239846467372556074338035126535406604755998416482794428223065432738431099048608722770568301280228796758083648897461525660242260055062416637838572780633988534859455646277964114192452585186768758762207048334128999070214748422242998401464523833901945552969196459728012118785487626740260151724829555310108342098837120079805688137489544459034925365630529694194292071238254837081467736298036829208369376628478793909505040194781513730155266266797266147801272407293191495008376421156435361425005414883348220380801550990635971528950435210391538211854994574827391650224207722068490405350550161016063789113124392336659953345209111648494919883296519547683107849533874408640165434568655611745786102092378817544923896245529183255743101237087103637221864106080082823070060523641288107395056878187064911069435579826133755784679333942440567719100288768662013385808543966375925860092366657931889924391177064825185515010027419115116109569444744990876912637165542715842806225107557450484091531446740822856812268963956900803020436763488844585700907049540103909366688585275302783148700332852896103496350474858982878772299621334530430183436260834164960440496254359997639680876932676273999504797461665153634853013543115209900766432274499181813503138331274332383982785199854068824428277441915651733087282444321469797454534000730073935196976491270347053809033434333673721111125788514680309976030494857437908394008058221861757604488035064047846343069408429440938132391853138938059162833653195265181995019380425266638165326880060385990921892070462137571065894935240378733124332247137390353692746205025352289046969283072159986357834643885668298662743065161337637004045936267172341492393980970646986111825005910840539538944134861379387372101077583975716462862761451959326843031566400849920317140411250811257340516125346048194022558951099034157020852020554406940121102957738716564836843358260198863830115286227487986882094451481452178993728898431788251564483706352380969638681932167684216325392331187251302368039052137037630895941659118881550331177507698650775151694715235748608757141315749301372972547023958947758743795889536269981469398785992659395508702649668979371294140131436564594374986123330575143810063526875897050789649894316897620295149212077679649584579110299632963428486275405180989449806551172383210717062544366562540527002247118381979662464927156868748273452593474403384401446646265045370724888391492517553960580452497406536090527030524989827029267842850277564769522193496333642462174556709667885238312515934595940899684468604879408648563161248974963036195530547116393792110756055344817787670322653456987607529693308111718865853223704945164135146874394144488890581307767068730137886281772512384474486755099031461942935899831409647257405820058358527725853953496419315263245692809362366465638122732144614071168235672114430229044864919387239634940718031525410526986968864940800208426106779748718144924865827038970772038148124634183531060790946026198603477038346393052992561963849181980815445456174727326979416729320374798364569164222811213662499947781625573753752987837266650976224677696603334802746997760707252595574062512311993986952413842190935112422017099905177896516583825513018866898473821584583820736560398545161218230277093887256782689235638400291962541274189247531898136918359433046298841192646994798861492136231557233260964551970613375031609736941501805582753620675872793966121795234535233748209929973972110121572273752474075441908475634895803878054614656010151672558687329485040522374803547889903004445371525732949458138566067109140772318977524496898013099511667438582961549942422024257439490878724881358457495274352947471534646701925853815185573113587935014863650115854044289197805450521002396839588409003833672236971391255861019221336197492975101906976192952280252388165690226520255543330350144876477134158162328595145006389211305820062863834033329096668124763338941827556445063709206587801765161989579863378215959579883572090955223398691053631054188683917962293410977633370964294855521460173121382190656440500759725850274692780524011 1939633253181200100284226450874673547046209967796175901127895759776982062408878970171089315132115004162081780127576803979284556563314512784349910801125803384635564254213600464499002610184169851587945397371627328820667822071007068198395379187505218983916150533032580315830492215596869657091133997195205992309002874117379634768081404186598698522728112550668568471731539115335561566453210193486971813420927206453897261433793423016862041116047694945483106454448865441531498096905836749779120755245402437140417999580004068228130825395031443238209603787303365543422455169536196514535452335743132025238123401451216076724683056890258897006010474132025749460939729311608801542084391125371572311207644159360500883095797061887416838270530190706990415706922306006396835949844834953561902583055127916361600148248904512898126344700013727036076418112793537478018967457027885602726230083823468086009812217372815227144040138905346527826582773214919478680084685012631729754808788444899689530224464126477979285396031627130576993167928969869166912759023509068738152389285462205208290972890472337103761594926690434917132562432532920663990354586600432403846781765850482212098932626068572292290045616780340959315689355960479614573019143895198961908134677666636176220657704558876526656576338072586405789648810381251605041991917829453847280680641393891442852121357276742943650965477550260294770343259495542881713404327662360349245254236926483869980604372767373041563789747577117999119686330148530651582650661403472559319277991816489399725442171781822792807114253513692710450212615954163059700618052059911897305897001013159137861126002030742451606507242925323033071266638318580572898564783248932751005468577144914055180911654225457124017156343685564643402108560294961761677173864625382592785411443864004658045496432162945205026977361539088490934045651555153278201227566836798029206439274160042760843945824336262677130173135474112312463224248220991398372547420649430419025766672773674361491420535079956751238471523830680094422237520552406468231833641765842244782717972746857380236422720296064083137169764462293643090718464232400084320146433501238833189762283753220165201709359694174019314776540645478382655617728674201982145074380681510656613842811461387708478212177769684679550603229871966397466734805248222355309808857341620310732449951373907784727890249277954436181221936011272279174477407659062481781737618059289844805436460030896707636094848914127317629975573540379474623313151043257318760351560318635049337436691663231576912920537773295281189735859270604857875890324447704926808367172541354040296708316015949497116150900538016364903896329630676078497040588415397607148778057812519290954005760382480526790185609222112041200184726228647992548482905147777860189922058849375106462517546622265390675195342004931882110399862487370626202524113710407797322350116638889480478613607515376987463994481520373693773692630106703246703770720994843415643246317477372569964155026280396381324457087973938536629621048860574565009063746204251248469773749270879161151837611156178729345319216570492246712472762710526930434661615704267023894452882120108388671072532317450565080393319088200388781389177887680306324858992795640679616469975081974285209340980749313459015554672958049729531032634927771694896608903780003273629073099819911567677405921506334914726587523442833530381936228822159886013965829228773880295914028705469850679474199979172183198519430529288842168734411787417107516148159593101038756657983313027079991395063050612229600574456950418022339349916934438329738300570168444203835251416293106640598001895437801057466224094888729779841134703687983414680822556070391935588209458390227024169915591160804874328829877310668487543790480610051187181185774789027999828179952220701410792616148294465960310239297597682987329115501696163505807692512850177491593109581946815385155747350377991448515661278229907912455729750601065201531934638736233465306963556532951188192902995313422443545367187940031869455221758617308715157476593336842802329389821786178324998057968883314032883876843366580901789275863250742589490677621556106797166947820311665239258457617481362673400507267183280219338621627953031653019436818 3138392529356711868855771850562724887300053813005012077348027755916197974718205016828067994360410155184917778157791318735709413501629415860589757268498359458973599380749007069255001026666964279811010830110058427869276544841575369478624175945588867881377676193274840370892908853435442437725122532054661638586966988309832219954850162948805746856857111620883316893974537516800085400355155746456168273148939325239384888174053574741691596426156037044320226534254553579021042555940762115409650449439694508378672836661471804526167654603400819866688397696808405738203968899691462781332718483544404432531314896459592497881118418315264311889358694512827300451575700840559236752475929337226566886035035809584708605164287467237966999286593979820114808043582259351605947598339754836858422130738235765895474556889069947466781956445799829128455235657717433723548150712770986839813333721045332192089895040442875750785328246300403406013647684284355058506218440797311063697249356163999978298886477512286523251771957487222943651099818894260343977584209024078765571504401571774653035963767384974269304310769496660024690012916624452110731177443412701367803682568870918975587777211769479341830149526147029544590992139109179947425915247391549436767117556438935797555188134742312787490741298513082660149646450062128537718265917334251308945834276246904985967331258043175218150147291053398626044675643478328081567473152090637791160905970013766314302074170221907042293863682774094490390033383957564085916324382514598347833958301792519894582880080175830851028976011118180745514260462297232468130058990192303750444835060175992791056391184025761832031773881090649913131652629240472643360702354314827686245847310269246302318302007918203329042508632732533926474268546652796405562842163288125657946749080868050594312668773655339185997624347650913496844886191094097413062606954208899106790414990622905522295905151179294243531023055791252723714035505561507523718595614671989370124800829794526382045827475201059708977188088667523452682436384382521754459321628647936696264170151740586278668210971860547789489550734100975575258402680557792415507397735869277885326799914649161824320590910025351527013427315797173097891366337431343297894375753654057680572790570205183598014482159239083465543262625380669047135714176542362486746373451716606434063025095183971311603787300067604330498119556306421491252157057243641592081370581487776120210617449480703258808478059631189861996538114067381721741695130705722245917220308592087642811840076064678223177965908498183672682253413231185310373296860538231957333356999570621883146985880785471690612484543000190921613564214868988594431636529315082075753657466461082452202980723418676057337302003014222797255529544016318315201939892755307553498033777715228330167462710757412265069339830895513189877468592625256907975036498184894552421381578581825380310023254772782807522353009246227647270111945369948939513133087460481538375390931548540805636269456509441246243844327608879254661146459387561533874004546412677355249522467415804026978876581928216877469953400101553037658498961314003968781054668696828987743634862935553844845799859296867294400768117452769553004200391550180254106484566549393667453736626058198962905944315552060456776261925553623792043344628914724108738799838892425290728978277716428151502918940373233388548172107263570090780481390040390163107853086011463115934314320668011124868721731877309101557952476828130034815729210648909243747705392854065590727271358344636816932896868633365850276447250916539817573885150682648259712272680290016477587725491735015116232897699315855672122234246561288467170619744210358218228712459074837307113942407848365590237024731933123851853326775323767999211229063571601129603210032228518878553061310678196685145563619829112662236093112783256100917050516559813621661736802047982942114111978786403794159581022614962839771522297451244109948704852508041394484214891124399155533483812076281538337779472447580605873962332946421080761041821481142748486573261461606141271217378231242034204645770648476022463740221582540481672847954205965988181731252610295481084910113722642872629421912336884133573628649373936659839381353803306345799960829 5078025782537911969139998301437398434346263780801187978475923515693180037127083986999157309492525159346999558285368122714993970064943928644939668069624162843609163634962607533754003636851134131398956227481685756689944366912582437677019555133094086865293826726307420686723401069032312094816256529249867630895969862427211854722931567135404445379585224171551885365706076632135646966808365939943140086569866531693282149607846997758553637542203731989803332988703419020552540652846598865188771204685096945519090836241475872754298479998432263104898001484111771281626424069227659295868170819287536457769438297910808574605801475205523208895369168644853049912515430152168038294560320462598139197242679968945209488260084529125383837557124170527105223750504565358002783548184589790420324713793363682257074705137974460364908301145813556164531653770510971201567118169798872442539563804868800278099707257815690977929368385205749933840230457499274537186303125809942793452058144608899667829110941638764502537167989114353520644267747864129510890343232533147503723893687033979861326936657857311373065905696187094941822575349157372774721532030013133771650464334721401187686709837838051634120195142927370503906681495069659561998934391286748398675252234105571973775845839301189314147317636585669065939295260443380142760257835163705156226514917640796428819452615319918161801112768603658920815018902973870963280877479752998140406160206940250184282678542989280083857653430351212489509719714106094737498975043918070907153236293609009294308322251957653643836090264631873455964473078251395527830677042252215647750732061189151928917517186056504283638281124015972946202919267559053216259267137563760437251315887414160357499213662143660453059664976418098569876377106947758167240016027913508250732160524732055252358165205818284391024601709190001987778931842649250691263834521045697135996854264782948283139850975515556920661196191265365036177259753782498922091143035321419789150567502568200743537248010281016460215659612498203547104673904934928222691155270413778941046888124487443658904633692156611872626720498563269218349121144790192499827544169370516718516562198402381989522300269719525546328203856442651480546984066105545280039450134335568337186633381666571306492694337008768145093865855252635444602448981790584842056182309058226744795475046557879096331677549345558766679341492317693770426634464902704073863108199547065965016053909511599966444572908545317179626513687607761196365008281748979564677571868910722692149276767727909800090886446271478953871989272501790168249187184985936884141724172111975923443694196801421187728635443538207286517460544499664672928677117730479682902435524273601743156986483801156584127487612236334838455714270244966307750422797903085413687955836564603436629980257379677655744535172900445071987868455112627534177560611895302349743731695220714860788636862288159794986347490766601341043804575476652186216903808455324954018637249025913375600424482789837627568301415582817791290767508248136098883068292616928603719296216686683188130714193084395606815272616672045284370971724024530899215716284401096011638087745055662233516872391614317859481161436540969941785589569437860560431343559345034347070206601140173248115285296301373915791816598511673521574377263842495803635408742672428564358051377536339719180324861879568303274759630706403621162417618862550049121818915240236996230228349373480975548195931856481284756471907357418876984463622436326351263853552447166629483929341657663896924291931683978079877021707866957839913235067617086589450573250458460681422976908028121756830899594753656729588458341450018247011754447898341632909535015145229242702151866238592614406940323093928726182156652634436486755019544181652316784395807017546878381241262898898095938179768123578622546332410380939088246166018255977127469429314898160433707221560733219179315328372992954288287183575681152022404434603109106596016149529860632620840447368609232726530682467761003049419329520886452950216263580098451463644049854798448943600607200017420359202703739531790055347617064949121383462123817456708577672408874166402278251857934034308111887879529818246806974135916557216879178002981756337998819397647 8216418311894623837995770152000123321646317593806200055823951271609378011845289003827225303852935314531917336443159441450703383566573344505529425338122522302582763015711614603009004663518098411209967057591744184559220911754157807155643731078682954746671502919582261057616309922467754532541379061304529269482936850737044074677781730084210192236442335792435202259680614148935732367163521686399308359718805856932667037781900572500245233968359769034123559522957972599573583208787360980598421654124791453897763672902947677280466134601833082971586399180920177019830392968919122077200889302831940890300753194370401072486919893520787520784727863157680350364091130992727275047036249799824706083277715778529918093424371996363350836843718150347220031794086824709608731146524344627278746844531599448152549262027044407831690257591613385292986889428228404925115268882569859282352897525914132470189602298258566728714696631506153339853878141783629595692521566607253857149307500772899646127997419151051025788939946601576464295367566758389854867927441557226269295398088605754514362900425242285642370216465683754966512588265781824885452709473425835139454146903592320163274487049607530975950344669074400048497673634178839509424849638678297835442369790544507771331033974043502101638058935098751726088941710505508680478523752497956465172349193887701414786783873363093379951260059657057546859694546452199044848350631843635931567066176954016498584752713211187126151517113125306979899753098063658823415299426432669254987194595401529188891202332133484494865066275750054201478733540548627995960736032444519398195567121365144719973908370082266115670055005106622859334571896799525859619969491878588123497163197683406659817515670061863782102173609150632496350645653600554572802858191201633908678909605600105846670833979473623577022226056840915484623818033743348104326441475254596242787269255405853805435756126694851164192219247056617759891295259344006445809738649993409159275368332362727125583075485482076169192847701165726999787110289317449977150476899061715637311058276228029937572844664017159662116271232664244793607523825347984915334941905239794603843362113051543813842891179744877073341631172239824578438350403536888577933825887989626017759423951871754904507176496247851610637128480633304491738163158332947328802555760774833178858500141741850407935464849413163097177461048624115261678791522146345665944478781034842085226671358992303225253050968176507041623051801675142918106703412454701810594792177502810334961116843792588023268852354769662626554242685732975478622484045524168841475081171682597806590680077586892878341119986538398208131024759368653267360313647045561758656092990734684195359967207219832641464789615250557635711243814261284622952362690658392967185989614279831766797442968137089920813875003795958261865337047737884442152597110080196902165113273802540241098660117060942602508700500012828988313916520846601125730036895915806492394028180574454181236693939299278873812145743191697045951913967635697632757072839029605958968818684102487215109590775012612484285226016773598322029470685338534867996770953097924999381722607991216078362672250911185153881929553993739494789789960988040814537828125894428014523943227198372211021229611853434372568078524065297313617721892757219912374208581564853855087029655252767870683243802252801691822931737969973711942899008902940212229672001251700112164542670041492100416917663733790386314424384185548911800192833085235595011558945301232220211200700002300713857188800317343930153468958783497657487120218299734849162845930748477159010702399763136873063797294069512401710692588011306714182374192108699851138247474220066549816094274086958204643965055027052578035483427958204485966248607753253446387605839246065756934302573577094781083743387952691284782425523164195189163216534815790749131166116946143375821333539519622973474909395607917128058705873132396132353139455617147990500364420985031776373931180685514264868461940208583655293291853832874030977305401579594212130623116260055084871824578248662393407349510180266077811357286531661865134971771662674565854140126776697759336768047756950984517301442155130940547764565931153539017384335559644344619358476 13294444094432535807135768453437521755992581374607388034299874787302558048972372990826382613345460473878916894728527564165697353631517273150469093407746685146191926650674222136763008300369232542608923285073429941249165278666740244832663286211777041611965329645889681744339710991500066627357635590554396900378906713164255929400713297219614637616027559963987087625386690781071379333971887626342448446288672388625949187389747570258798871510563501023926892511661391620126123861633959845787192858809888399416854509144423550034764614600265346076484400665031948301456817038146781373069060122119477348070191492281209647092721368726310729680097031802533400276606561144895313341596570262422845280520395747475127581684456525488734674400842320874325255544591390067611514694708934417699071558324963130409623967165018868196598558737426941457518543198739376126682387052368731724892461330782932748289309556074257706644065016711903273694108599282904132878824692417196650601365645381799313957108360789815528326107935715929984939635314622519365758270674090373773019291775639734375689837083099597015436122161870849908335163614939197660174241503438968911104611238313721350961196887445582610070539812001770552404355129248499071423784029965046234117622024650079745106879813344691415785376571684420792028236970948888823238781587661661621398864111528497843606236488683011541752372828260716467674713449426070008129228111596634071973226383894266682867431256200467210009170543476519469409472812169753560914274470350740162140430889010538483199524584091138138701156540381927657443206618800023523791413074696735045946299182554296648891425556138770399308336129122595805537491164358579075879236629442348560748479085097567017316729332205524235161838585568731066227022760548312740042874219115142159411070130332161099028999185291907968046827766030917472402749876392598795590275996300293378784123520188802088575607102210408084853415438321982796068555013126505367900881685314828948425935834930927869120323495763092629408507313663930546891784194252378199841632169475494578357946400715473596477478356173771534742991731227514011956644970138177415162486074610311322359924311453925803365191449464402619669835028682476058985334469642433857973276022325194354946057333538326210999870833256619755730994335885939936340612140123532170858738069833059923653975188299729504267142398758721863856802540941809032105425987049049739807586980581908050242725268503903191697623876721824221249565489282904114471711694203681375272364046413533027110393611520497823359738801041141580426231958234765646871671230510105725616805343794573730034374274388314066069755430076605494648485303868317940288990764776041441558528515008285938516953691020989225592277227486892474166958084506250930702785488561478380873945450844435203427423225516767576558410176696403333853205502850511976330157721975499251908844969023255101887296979349102397495047990779430329357721096323253311946940704371131446412665429600367556837118422089116501380447158774514837242681475883833731640141131646534562688114900789170403240304968097008091100498633445643606400442409363065767212487237499021011019810353046878311879544642525503013363090990534709436575379530425901374969171685239462361594149828338545459136514908154808288359895122576970835192099156599715716009617324237282419445081032789107589863568664132369995097691368676377333105316627765490261351490916491937108394771019414973075965113595590271671070896291542967788784656455521561946275412497748398849695130041659964610781480732001322010030490666650455497400355285916821438613419181206937840433679307791258629894696888823169131299150929461324961194128640007041484047782489365295792518246140325550819050905378120981304217640080592640972721268151934905763172001646263612635315543836475992877021923156076269907328757933545134277409382553071767876600595431844303809528555100252842152790237768600871416345889448813548154757574058726254586516513950845664397214378549294746991399144407969586704712621374719326981193568981678045675774672971058504028472431778266082752610053249712056133158974351480783248597095589119383143526549000943100037588625981791259096405180971973377747521900482488370418195387317315982343438756123 21510862406327159645131538605437645077638898968413588090123826058911936060817661994653607917198395788410834231171687005616400737198090617655998518745869207448774689666385836739772012963887330953818890342665174125808386190420898051988307017290459996358636832565471942801956020913967821159899014651858926169861843563901300004078495027303824829852469895756422289885067304930007111701135409312741756806007478245558616225171648142759044105478923270058050452034619364219699707070421320826385614512934679853314618182047371227315230749202098429048070799845952125321287210007065903450269949424951418238370944686651610719579641262247098250464824894960213750640697692137622588388632820062247551363798111526005045675108828521852085511244560471221545287338678214777220245841233279044977818402856562578562173229192063276028288816329040326750505432626967781051797655934938591007245358856697065218478911854332824435358761648218056613547986741066533728571346259024450507750673146154698960085105779940866554115047882317506449235002881380909220626198115647600042314689864245488890052737508341882657806338627554604874847751880721022545626950976864804050558758141906041514235683937053113586020884481076170600902028763427338580848633668643344069559991815194587516437913787388193517423435506783172518117178681454397503717305340159618086571213305416199258393020362046104921703632887917774014534407995878269052977578743440270003540292560848283181452183969411654336160687656601826449309225910233412384329573896783409417127625484412067672090726916224622633566222816131981858921940159348651519752149107141254444141866303919441368865333926221036514978391134229218664872063061158104935499206121320936684245642282780973677134245002267388017264012194719363562577668414148867312845732410316776068089979735932266945699833164765531545069053822871832957026567910135946899916717471554889621571392775594655894011363228905259249045634685378600555959850272470511813710620335308238107701304167293654994703398981245168798601355014829657546678894483569828176992109068537210215669004676943503534050323020190931196859262963891758805564168795486162330497427979850105926203286424505469617208082629209279693011466200922300637423684873179322435907101910314820372705481285410081115507047329504471366368122816519244428078775298456479499661293830607893102512475330041579912202607248171884961034263589565924293784217509195395405752065761616750135469396627496206416950674844898331262872617290958047032578415106658383185867156223916343362071510455313085846628591155810804206980474643967741125494155276034274567091886515477171536625054351975206944410875416615003702779510063236971207649304411821603200214621505742970133876920898240821867057066842737450109878201898767535553655148179219871348059935065124266970224866193653857497372285180492361595718542550588396418482754832055696154073958242825795342985957096410045000003748490792259317671637617169854437676977600286937938806693610174821738073812361388395375192592901966211883194595443519531364397213970676140521656933584891657618349895743109620575385724650219241928429913094701600635209258190596946010401532961038094390242216893436688167245020544528448931365169491413942189506999811133890376118093055536917670157744520008242660927973646642268148809821049356935628383825905802136274532110688041875460546812466385171686920623106646351045048215636668430473581162917743637220559313689456465176382031259324062057385320675728516700584849288606797541286971443049631069906330741662265324638669532318665940183959625433953154887475504216556287776265111955414999444381707554395502958494182892681533009843517472631675376502832115741335186029963585362342334340414412509023694870433148033882253123508550845458687516759688159209559607485509678392249846410053087658105666544028961192111183456709329466572599087887558625731761548790447185349888639772465126265147164208788544404595321945944287110713514343402577016878371830696173588309729980261256267606348178170360005913228552201012170874383257639887905296087318559113344256356514745146017402759892322210970331638012445113732067360782057709380689127719797796925394029548210080922482414128508688069665048419523957212771652875626688058114599 34805306500759695452267307058875166833631480343020976124423700846214494109790034985479990530543856262289751125900214569782098090829607890806467612153615892594966616317060058876535021264256563496427813627738604067057551469087638296820970303502237037970602162211361624546295731905467887787256650242413323070240750277065555933479208324523439467468497455720409377510453995711078491035107296939084205252296150634184565412561395713017842976989486771081977344546280755839825830932055280672172807371744568252731472691191794777349995363802363775124555200510984073622744027045212684823339009547070895586441136178932820366672362630973408980144921926762747150917304253282517901730229390324670396644318507273480173256793285047340820185645402792095870542883269604844831760535942213462676889961181525708971797196357082144224887375066467268208023975825707157178480042987307322732137820187479997966768221410407082142002826664929959887242095340349437861450170951441647158352038791536498274042214140730682082441155818033436434174638196003428586384468789737973815333981639885223265742574591441479673242460789425454783182915495660220205801192480303772961663369380219762865196880824498696196091424293077941153306383892675837652272417698608390303677613839844667261544793600732884933208812078467593310145415652403286326956086927821279707970077416944697101999256850729116463456005716178490482209121445304339061106806855036904075513518944742549864319615225612121546169858200078345918718698722403165945243848367134149579268056373422606155290251500315760772267379356513909516365146778148675043543562181837989490088165486473738017756759482359806914286727263351814470409554225516684011378442750763285244994121367878540694450974334472912252425850780288094628804691174697180052888606629431918227501049866264428044728832350057439513115881588902750429429317786528545695506993467855183000355516295783457982586970331115667333899050123700583352028405285597017181611502020623067056127240002224582863823722477008261428009862328493588093570678677822206376833741238012704794026951077658977130527801376364702731602254695119272817520813765624339745659914054460417248563210735959395420573274078673682312681301229604776696409019342821756293880377932640014727651538618948407326506918162761091122099117152405184364419387438580011670520031900440953026166450518341309416469749646930606824891066130507733325889643496244445145559652742198658185712121896000109608648298721620155484122182780240951147050126800862064561139520270329876389181904066833583669988329956851945787406706602202506772365826506544380292708691859271745266659428626363521010480630846691609197427995367105289147938295176597644641773150020751256072393874589261811092649344070224342584045159983273786484357933667781349728933880515968702173652289419170625073930695357188764929571748053438908394812912554031195405982803211849050444873254075759147397498796481571689647029358713493107749623918304658069385219359039775189294910930783477511876573040060740726720437276919403365096037355102322675084345048485680828021590200711206628666486223283664885534830355504064666402421745428095967021421343314084972702121761535962191180608111535063158367940549021839843564476171496373352737712242883875463129294259428163050949287868769219238984001920205956651344393443230039418693977191720830983050410381130517541682018314475322728378153532264433920734932653834235574328954084708871438252347144854914333728456216967271484489369505744128359487562383940798029919601460783322229935420150264319987950214450292084408652287830790133377726389684293162352839878061015345654132853191071715850664308994446933956636570631472122782819233812452950658134852586554738059842745775811269015186470763589143486431408784911623064972731609131773291027565390246529080535127589700105231099439941390254463743981981640959326502332356980634750994878443740025307279055384932809659960750484770759492441868287573069657163533392322676360570802688279275008247666750756147757064718534603271527993364443364935685563679969058377063141816688134780827898627456009604378344129305989493228362329162949901440852907238128662897834514020011339469177327663386101886435591565530907894375408158970191609031496870722 56316168907086855097398845664312811911270379311434564214547526905126430170607696980133598447742252050700585357071901575398498828027698508462466130899485100043741305983445895616307034228143894450246703970403778192865937659508536348809277320792697034329238994776833567348251752819435708947155664894272249240102593840966855937557703351827264297320967351476831667395521300641085602736242706251825962058303628879743181637733043855776887082468410041140027796580900120059525538002476601498558421884679248106046090873239166004665226113004462204172626000356936198944031237052278588273608958972022313824812080865584431086252003893220507230609746821722960901558001945420140490118862210386917948008116618799485218931902113569192905696889963263317415830221947819622052006377175492507654708364038088287533970425549145420253176191395507594958529408452674938230277698922245913739383179044177063185247133264739906577361588313148016500790082081415971590021517210466097666102711937691197234127319920671548636556203700350942883409641077384337807010666905385573857648671504130712155795312099783362331048799416980059658030667376381242751428143457168577012222127522125804379432564761551809782112308774154111754208412656103176233121051367251734373237605655039254777982707388121078450632247585250765828262594333857683830673392267980897794541290722360896360392277212775221385159638604096264496743529441182608114084385598477174079053811505590833045771799195023775882330545856680172368027924632636578329573422263917558996395681857834673827380978416540383405833602172645891375287086937497326563295711288979243934230031790393179386622093408580843429265118397581033135281617286674788946877648872084221929239763650659514371585219336740300269689862975007458191382359588846047365734339039748694295591029602196694990428665514822971058184935411774583386455885696664492595423710939410072621926909071378113876598333560020926582944684809079183907988255558067528995322122355931305163828544169518237858527121458253430226611217343323245640249573161392034553825850306549915009695955754602480664578124396555633928461517659011031623084982561110502076157342034310523174766497160464865037781356707882962005692767430527077333832704216001078729787479842954835100357019904358488442013965492265562488467239968924428792498162737036491170181325731048846128678925848382889328672356895102491785925329720073657619673861005439840551311718503815408321181518523496316025598973566518486746994800071198998179628541907520447747006676494246219751253414522146669516616921112662749994387181246170247897859981782578654859800578374748916803284482978338727954891506263306612900207505430342260355587599588419247841987771526494226206270795487502632959706410912961792693923361882041322038013081847001221076993815581092969143877155612824482571302980537681126525290290604027304813295667386086891560056761454674845787859211172169192397502544972363948964700996330662962187300895904945007324026052649950011032984743144865907251765632962706938603631872362922896460434569072998815606001982070572485639940096454316249241871947933884127463260268598766267037631003618692913031822876275123067092363978429398879347853132079591607299305718513253785753983171307507243113830335939412380799452003948171293610215842415861507132811741255313586972777269135841554968509302408872858510957193596902713368938937581969079423201747901102351208513816751979211549513398398327903428729176114238395785841537643000001189954355032735157028849355383847660989507791524984495260058819796638653890398409917518361807175306294349934014165949405117767839322442722900049635811685254608532197318837964406588311947134304238524154419842416536020477186926969150568866440646244417049068723887097694331890096301671311224182291216617282969419815236656582168193233256244134192291551124846963793210554580728846885128064118529425198180228332379797772405320532097018448505155080092705436728979001087413059740550270694507056744390998009255269503934357104325927424724447831823729005535317748193325451585265145695622255160944491295573044644858769496700555099637627505673476061230310683498562287927256382695631439414040887679258250145800230395123661230579327418332620930623067235719554985321 91121475407846550549666152723187978744901859654455540338971227751340924280397731965613588978286108312990336482972116145180596918857306399268933743053100992638707922300505954492842055492400457946674517598142382259923489128596174645630247624294934072299841156988195191894547484724903596734412315136685572310343344118032411871036911676350703764789464807197241044905975296352164093771350003190910167310599779513927747050294439568794730059457896812222005141127180875899351368934531882170731229256423816358777563564430960782015221476806825979297181200867920272566775264097491273096947968519093209411253217044517251452924366524193916210754668748485708052475306198702658391849091600711588344652435126072965392188695398616533725882535366055413286373105217424466883766913117705970331598325219613996505767621906227564478063566461974863166553384278382095408757741909553236471520999231657061152015354675146988719364414978077976388032177421765409451471688161907744824454750729227695508169534061402230718997359518384379317584279273387766393395135695123547672982653144015935421537886691224842004291260206405514441213582872041462957229335937472349973885496902345567244629445586050505978203733067232052907514796548779013885393469065860124676915219494883922039527500988853963383841059663718359138408009986260970157629479195802177502511368139305593462391534063504337848615644320274754978952650886486947175191192453514078154567330450333382910091414420635897428500404056758518286746623355039744274817270631051708575663738231257279982671229916856144178100981529159800891652233715646001606839273470817233424318197276866917404378852890940650343551845660932847605691171512191472958256091622847507174233885018538055066036193671213212522115713755295552820187050763543227418622945669180612523092079468461123035157497864880410571300817000677333815885203483193038290930704407265255622282425367161571859185303891136593916843734932779767260016660843664546176933624376554372219955784171742820722350843935261691654621079671816833733820251839214240930659591544562619803722906832261457795105925772920336660063772354130304440605796326734841821817256088770940423329707896424260458354630786556644318374068660131854030241723558822835023667857775594849828008558523306895768520883655026653610566357121329613156917550175616502840701357631489799154845376366724198745142106542033098610816395850581390945563504501684285696871371246014066506893640419496425634247272288138642231116982851439949326678668708382512308146196764576096140435318588980253186605251069514695781793887848372754670225808289123035152509270234020662069943911604702248965372137109998222097635500797447549503525894765016892483760921547245482278664670076764444052355754983186135277968521865315108522371015514782570805927696097061671317529445031995107645233675894869891454862038657466213208108579940118086966039564666523896232732465247928339795001341453935638611730355044156069936924814209603076709245411689725200327895673928343419128338673023447665324069149282326261556471924175321490690347030556253313661530297165522877908358171217549012998090624102830933440052749046788880053244219589208039794485739965361070528461243614654765667246267535093629318459342803880595851542578823287843928746263376334344559503711185080746116813661461270238317170712365880973662486494129703841561367574727420255050957252057291807801355280165536271943446470586214785878467483107199341681076320969152729514297754610271485679323860776863516516411739324645690909109252308306725195478970060958641840612860209602770459463137084483311740555633698280120679200503738245703768664876326324382861627832411340544948517765776361306973653654869486678612039513523888628709186422055686064255194650686837818321505086582934289155022825749056260447380626903111248728360845944239423390991066237218256954536562369806211630396475510059949175106776119823079684375917029828108465905564863464929170847288660482716904083663017183417315193686288530277751601107860473684489442982435095256998899761113129011015265234204072685396977632626076400943272314779101078899228943616998901838390393260584939415195165385045593465953434052227148435577809186332281559252796110235312708029089593258844751051856043 147437644314933405647064998387500790656172238965890104553518754656467354451005428945747187426028360363690921840044017720579095746885004907731399873952586092682449228283951850109149089720544352396921221568546160452789426788104710994439524945087631106629080151765028759242799237544339305681567980030957821550445937958999267808594615028177968062110432158674072712301496596993249696507592709442736129368903408393670928688027483424571617141926306853362032937708080995958876906937008483669289651141103064464823654437670126786680447589811288183469807201224856471510806501149769861370556927491115523236065297910101682539176370417414423441364415570208668954033308144122798881967953811098506292660551744872450611120597512185726631579425329318730702203327165244088935773290293198477986306689257702284039738047455372984731239757857482458125082792731057033639035440831799150210904178275834124337262487939886895296726003291225992888822259503181381041493205372373842490557462666918892742296853982073779355553563218735322200993920350772104200405802600509121530631324648146647577333198791008204335340059623385574099244250248422705708657479394640926986107624424471371624062010347602315760316041841386164661723209204882190118514520433111859050152825149923176817510208376975041834473307248969124966670604320118653988302871463783075297052658861666489822783811276279559233775282924371019475696180327669555289275578051991252233621141955924215955863213615659673310830949913438690654774547987676322604390692894969267572059420089091953810052208333396527583934583701805692266939320653143328170134984759796477358548229067260096791000946299521493772816964058513880740972788798866261905133740494931729103473648669197569437621413007953512791805576730303011011569410352389274784357284708929306818683109070657818025586163379703381629485752412451917202341089179857530886354415346675328244209334438539685735783637451157520499788419741858951168004916401732075172255746732485677383784328341261058580877965393515121881232297015140079374069825000606275484485441851112534813418862586863938459684050169475970588525290013141336063690778887845343897974598123081463598096205056889125496135987494439606324066836090658931364074427774823913753455337618549684928365578427665384210534849147292216099033597090254041949415712912652994010882683362538645283524302215107088073814463437135590396741725570655048565237365507124126248183089749829474828075158942992741659846245854657128978111782922638947506307210615902960055152873258822315891688733111126922703222172182177445776181069094543002568085790071701690012309848608769578873228394583040976920263643373304834997843006227789809859113494353436140325748693073739708484935465564267077012062165896147927971891883747356430560384097361783791882921511678154640461406600644819590216536656432551017980152329261493518021404247326204978526096326121198742020591676420097532192503886426299587576431351374819032124225710114548084033271464339675211360880417073209326380104305986154603927701021645249158016906493248320306296349012626825799301470393619839127150230119151433140461350892701597200477683752665481793085067095864331106886849718394759949876314375694246372966551986048347415072442514111387838965372914762700224728198267324505638169719553600942253249625402716583825289947981501722528630995796538576700072324768324322968419896189639260887224557028066638623151960287338193997427980881505527245109805497083391125300139292253271486869278215809598673545261094708493351898617043833291220455537789857597295731011270127121132266638443378833245754721583103397888518522946461145753404476561580932915058946670375747133260464900080599831128073497286022699089226440493039197575627068300103113323918537784532150211601388254245513337314042366339229867195863559693416921594102188373615682542191084182050165091143098653096758460594039485147355335108499620852089696449126846556971060644956170365899826289747895776644633933711690474059584684297785547255535464964799611914167430266918986004435078861322336466850499349768307652138577117371973987917173548597779454328581244504575314451623571268437977483092641428289097392848093114827693827954986562676682914026689562731040650020216326080470606841364 238559119722779956196731151110688769401074098620345644892489982407808278731403160911360776404314468676681258323016133865759692665742311307000333617005687085321157150584457804601991145212944810343595739166688542712712915916700885640069772569382565178928921308753223951137346722269242902415980295167643393860789282077031679679631526704528671826899896965871313757207471893345413790278942712633646296679503187907598675738321922993366347201384203665584038078835261871858228275871540365840020880397526880823601218002101087568695669066618114162766988402092776744077581765247261134467504896010208732647318514954618933992100736941608339652119084318694377006508614342825457273817045411810094637312986870945416003309292910802260357461960695374143988576432382668555819540203410904448317905014477316280545505669361600549209303324319457321291636177009439129047793182741352386682425177507491185489277842615033884016090418269303969276854436924946790492964893534281587315012213396146588250466388043476010074550922737119701518578199624159870593800938295632669203613977792162582998871085482233046339631319829791088540457833120464168665886815332113276959993121326816938868691455933652821738519774908618217569238005753661204003907989498971983727068044644807098857037709365829005218314366912687484105078614306379624145932350659585252799564027000972083285175345339783897082390927244645774454648831214156502464466770505505330388188472406257598865954628036295570739331353970197208941521171342716066879207963526020976147723158320349233792723438250252671762035565230965493158591554368789329776974258230613710782866426344127014195379799190462144116368809719446728346663960311057734863389832117779236277707533687735624503657606679166725313921290485598563831756461115932502202980230378109919341775188539118941060743661244583792200786569413129251018226292663050569177285119753940583866491759805701257594968941342294114416632154674638718428021577245396621349189371109040049603740112513003879303228809328776813535853376686956913107890076839820516415145033395675154617141769419125396254789975942396307248589062367271640504296575214580185719791854211852404021425912953313385954490618280996250642440904750790785394316151333646748777123195394144534756374136950972279979055732802318869709599954211583655106333263088269496851584040994028444438369678581831286818956569979168689007558121421236439510800870008808411945054460995843541334968799362489167294093518142795771209228765774078896832985879324285472363299070023398412032124051700107175889827423251692141557974956942915757238311598360824725164819118842790240943172306187743225885635780483303057095478507025237359362639389118453032809509614620985190763600135641031521064417920879334063249860405612671539082755112876566362688849207775216311778936045676814697861770332327420909435014367918959731229512827266323065492135890787722638253324141668025871987505227880235226188161706418975102061150524324151160742516876029400411688776091001552745508442979009602269251770170927575419573378417423641796986696043183079112963000690785362005058588290368982153459441516804428133917736501712270673138311315453539146681335458360121020404775619308901138633798253583441044390901856915268434816915493585988068656944530700839982729223264786022999366439064177854063607118693867603502293482290668280541633692343051743223470853441696552695025912308232174895095406757924408783306448364612726586790881818052543854814437046863542972548602076586462190061672834033139042807726296141597945651016759918555937571624130336723902726101580463316557495277216801678009197723450199391457173141437907257297920574502787087678208982665856961138101727152155509377701265954016927826284813490355789177579113188471369968533106474837179802492336868115395490314576490462804665649954948132613039073533257321400307119627705468459308388857069549545096530441884619443931774072366156674665436966209819635295070673578408378493548717596728873891374778370586315825007136572825273296403610412702014243003334839974451347482115733553840993049116209743448374931189488327698858353557524861503477152842016831853377392678258026473882563346282145341976129405764172894958242166822799798043748679109809584925221658697407 385996764037713361843796149498189560057246337586235749446008737064275633182408589857107963830342829040372180163060151586338788412627316214731733490958273178003606378868409654711140234933489162740516960735234703165502342704805596634509297514470196285558001460518252710380145959813582208097548275198601215411235220036030947488226141732706639889010329124545386469508968490338663486786535422076382426048406596301269604426349406417937964343310510518946071016543342867817105182808548849509310531538629945288424872439771214355376116656429402346236795603317633215588388266397030995838061823501324255883383812864720616531277107359022763093483499888903045960541922486948256155784999222908600929973538615817866614429890422987986989041386024692874690779759547912644755313493704102926304211703735018564585243716816973533940543082176939779416718969740496162686828623573151536893329355783325309826540330554920779312816421560529962165676696428128171534458098906655429805569676063065480992763242025549789430104485955855023719572119974931974794206740896141790734245302440309230576204284273241250674971379453176662639702083368886874374544294726754203946100745751288310492753466281255137498835816750004382230961214958543394122422509932083842777220869794730275674547917742804047052787674161656609071749218626498278134235222123368328096616685862638573107959156616063456316166210169016793930345011541826057753742348557496582621809614362181814821817841651955244050162303883635899596295719330392389483598656420990243719782578409441187602775646583649199345970148932771185425530875021932657947109242990410188141414655411387110986380745489983637889185773777960609087636749109923996768523572612710965381181182356933193941279019687120238105726867215901574843325871468321776987337515087039226160458297609776759086329824624287173830272321825581168220567381842908100063639535100615912110701094244240943330752578793451634916420574416497669596026493647128696521445117841525726987524440854264937884106774722291935417085673702096992481959901840426791899630475246787689430560632005989334714474026111872277837114352380412976567987354102425529617766452334933867619522118010202511450626605775435856966507740841449716758390579108470662530578533012694219684739715378637664189590581949611085808633551301837697055748976000922490862466724356567089721893980796938374892771033416304279404299846991891488076038235515932538193237550745673016163043958305481908953939763997452900187340548696717844339293089940188432418451943282220727923812784811234098593049595433869587334156026037458759806397388432526415177128967451559819816400700770784202805899423856607892093321513253027169221752883471889173135258307694724899248535601205298598076480086775481991221752289360027969643139210238350154571770719453370952240342646321634288078306988759971927415166697180453249250917074592528044018232216908921380273915818088123404180009114306534813764593057793794134185376234438699244775788340369075623049656508074762071888547284995756873179471192572824577590284910671962103283045055809904912264471084405201132208818409520415293920792409506025334395420254377752466223378411317870253568185176754880970281089995003147511600350239631788459463344371026656273782288408348688293385142798025345620898942818386965252616064466894437888897066675369326030924478087206857241706017111376066191890749631335813582250469336298813518247367045262602780734429246118253831900687315135934980114576339116814459417880292396060863606933928741632394706343339974889166106554549776153233302635400463845034992740023842149803249998799905075897716246396660537210577617999488190212979521173162834811469447565937560969229800649441532076790492394509967023860440558655892290903031726255902118744707863091425315829650910481734720181772354022498082571549050320986654756075448405582357284718848567112405147317663589030243885776993119064783863768815283521222408026854775805660970499868156274270193351530440564365434363054884101372262672037790072908317777842968933229007769918835773683948966232903609300701254786860820348919106661876296637807886106106008052467293640403121815370161350667902171660739130238456803823233719159457634925080849489360774789329130025911005692265538771 624555883760493318040527300608878329458320436206581394338498719472083911913811750768468740234657297717053438486076285452098481078369627521732067107963960263324763529452867459313131380146433973084112699901923245878215258621506482274579070083852761464486922769271476661517492682082825110513528570366244609272024502113062627167857668437235311715910226090416700226716440383684077277065478134710028722727909784208868280164671329411304311544694714184530109095378604739675333458680089215349331411936156826112026090441872301924071785723047516509003784005410409959665970031644292130305566719511532988530702327819339550523377844300631102745602584207597422967050536829773713429602044634718695567286525486763282617739183333790247346503346720067018679356191930581200574853697115007374622116718212334845130749386178574083149846406496397100708355146749935291734621806314503923575754533290816495315818173169954663328906839829833931442531133353074962027422992440937017120581889459212069243229630069025799504655408692974725238150319599091845388007679191774459937859280232471813575075369755474297014602699282967751180159916489351043040431110058867480906093867078105249361444922214907959237355591658622599800199220712204598126330499431055826504288914439537374531585627108633052271102041074344093176827832932877902280167572782953580896180712863610656393134501955847353398557137413662568384993842755982560218209119063001913009998086768439413687772469688250814789493657853833108537816890673108456362806619947011219867505736729790421395499084833901871108005714163736678584122429390721987724083501221023898924281081755514125181760544680445782005554583497407337434300709420981731631913404730490201658888716044668818444936626366286963419648157701500138675082332584254279190317745465149145502233486148895700147073485868870966031058891238710419238793674505958669240924654854556495977192854049942200925721520135745749333052729091136388024048070892525317870634488950565776591264553367268817187335584051068748952939050389053905589849978680247308314775508642462844047702401425114730969264002054268585085703414747684617072283929317005715337558306546786271640948030963515897405117224056432107608948645592240502152706730442117411307701728406838754441113852329609944168646314751929955518233505513421352162082239089191987714050765350595534160263659378769661711727603395472968411857968413127927586839105524740950138292011741516557498012757667971076248033282140248671396569314470796741172278969264473904781751013305619139955936836511341274482877018685561728892130982980374517044708986793351140341948086294350060759573006958527428691535204339910949188800020278264528584392272590342205944767922315710090012135736846330119140898007654816054471612694972699508725894323114916517260619927228587264019278691998448985940077321087392836850181065099412980480429901858851109510368107696644018527239959756149276167514342186770039952754764212769236246526758762850405518305216398476034738432599076314817396990264005359142431241363500399997163663328095603900269741098992984025227471775190563137267406699889397447380233926310453468313156756090023139361689726771409400249520635115001990685865614312048650234148493215229503854246227941924708599203901934676362042087328726185603628166083172988251982503531072291952504185369236929533217960377875137783339709454427809415361603073032366277276381644530988413342773803187011564040877610730980418691569133188478834929013385980357431966482368982523053668606762774771437514069636116487111757571309694709170874259530800568937718841604305466360745276016706753906913969846859928667750759437395447510900095675949922489678430231794522107331527801597041454491758348526894850145254049011681468482144914727272087277814337928605118321987778597130210496348844485302748221503998453599693829608705726982664404346554035571713536174733138575340416218877738508715637841181440195887844993064595440956041173446564652763742069127169438256809141425470417197269808610615346204721388255670947472011104758810225031431081966457450293750370996604268723850296150203995496161443630967511529620135657234975192762839608694376054224085412383798779952639483332352593167247672289158818538008239835495930913924236178 1010552647798206679884323450107067889515566773792817143784507456536359545096220340625576704065000126757425618649136437038437269490996943736463800598922233441328369908321277114024271615079923135824629660637157949043717601326312078909088367598322957750044924229789729371897638641896407318611076845564845824683259722149093574656083810169941951604920555214962086696225408874022740763852013556786411148776316380510137884591020735829242275888005224703476180111921947607492438641488638064858641943474786771400450962881643516279447902379476918855240579608728043175254358298041323126143628543012857244414086140684060167054654951659653865839086084096500468927592459316721969585387043857627296497260064102581149232169073756778234335544732744759893370135951478493845330167190819110300926328421947353409715993102995547617090389488673336880125074116490431454421450429887655460469083889074141805142358503724875442641723261390363893608207829781203133561881091347592446926151565522277550235992872094575588934759894648829748957722439574023820182214420087916250672104582672781044151279654028715547689574078736144413819861999858237917414975404785621684852194612829393559854198388496163096736191408408626982031160435670747992248753009363139669281509784234267650206133544851437099323889715236000702248577051559376180414402794906321908992797398726249229501093658571910809714723347582679362315338854297808617971951467620498495631807701130621228509590311340206058839655961737469008134112610003500845846405276368001463587288315139231608998274731417551070453975863096507864009653304412654645671192744211434087065695737166901236168141290170429419894740357275367946521937458530905728400436977343201167040069898401602012386215646053407201525375024917401713518408204052576056177655260552188371662691783758672459233403310493158139861331213064291587459361056348866769304564189955172408087893948294183144256474098929197384249473303507634057620074564539654014392079606792091503578788994221533755071442358773360684370024724091150898071809880520674100214405983889250533478263033431104065683738028166140862922817767128097593640271283419431244955324758881720139260470148973718408855743829831867964575456386433690218911097309550588073838280261419532974125853567708247608358236896701541041326867056815259049217831215090114478576517489707162623882157640175708036604498636811777247816157815405019415662877341040673488331529562487189573661056715973452985201973046137701571583909863167514585511572059204662337200202956587839867879749621322575373075926614119431316226287009017833276851106375225877555519077053745909880575973707729311631497434628196518841282121533531291697806145156062231379080026230010434989260671338051628717217378094430298045693364984332727478369033533353266671832390646681958216259621338320083274018384309847364764265347762279866229731346976451379153528600324605565398801155777844272680347523456493304853717347822006563370431902993201549650294093556767551657788089107151076889285537549001116015610712556073224574753948238767566003552786154802888937491942859595764269476225109409812741301026335816478802708577010467775605585068138089279653817705811869882960966955609315196161834498732847017963317590598968580982381492310283364655427230126751531224527108901559953504598567997966729841401252044606255564142438465081995025045726565803875607252352704368179859526850980829801931590140848449614344775306856849234250592256448324413815043589725097171891384362661378583917275540691516403832220412976091376277864125859470862404176894931264413972711581628147616163995274816611829804630216243520465878328377436883637723879616849112757301147877797732083076561328451038573531282250743036861874005694607667573759385176640983174206022522201020030434151638689078864930678121198507800830793053048774586348585684154132565021689065402602684118683492396727605584301995870857573499501609996723717110253019919371246617011673314720927033935420657610002622243504480354518569532480648405419113039166098639880701018874677645998715380048199361059594451625783465089072769402812080292133969329737073519582087429297638097008133000959362278225884824542622255583775873202491810228092328521778519593327337369861406936606189774949 1635108531558699997924850750715946218973887209999398538123006176008443457010032091394045444299657424474479057135212722490535750569366571258195867706886193704653133437774144573337402995226357108908742360539081194921932859947818561183667437682175719214531846999061206033415131323979232429124605415931090433955284224262156201823941478607177263320830781305378786922941849257706818040917491691496439871504226164719006164755692065240546587432699938888006289207300552347167772100168727280207973355410943597512477053323515818203519688102524435364244363614138453134920328329685615256449195262524390232944788468503399717578032795960284968584688668304097891894642996146495683014989088492345992064546589589344431849908257090568481682048079464826912049492143409075045905020887934117675548445140159688254846742489174121700240235895169733980833429263240366746156072236202159384044838422364958300458176676894830105970630101220197825050738963134278095589304083788529464046733454981489619479222502163601388439415303341804474195872759173115665570222099279690710609963862905252857726355023784189844704176778019112165000021916347588960455406514844489165758288479907498809215643310711071055973547000067249581831359656382952590375083508794195495785798698673805024737719171960070151594991756310344795425404884492254082694570367689275489888978111589859885894228160527758163113280484996341930700332697053791178190160586683500408641805787899060642197362781028456873629149619591302116671929500676609302209211896315012683454794051869022030393773816251452941561981577260244542593775733803376633395276245432457985989976818922415361349901834850875201900294940772775283956238167951887460032350382073691368698958614446270830831152272419694164945023182618901852193490536636830335367973006017337517164925269907568159380476796362029105892390104303002006698154730854825438545488844809728904065086802344125345182195619064943133582526032598770445644122635432179332262714095742657280170053547588802572258777942824429433322963774480204803661659859200921408529181492531713377525965434856218796653002030220409448008521181875782210712555212736436960292883065428506410901418179937234306260861053888300072184405032025930721063804039992705485145981989826371728566967420037857552526883211453470996845100562328680401379913454179306466290568255057758158042421299554477698316226240207250216228015783818147343249716446565414438469821574228706131159069473641424061450006328277950242980479177638311326683851028469136241981953969893459007835686457833916647558803632804993045118417991998207793895815362019228695861025140040259941335546714687839060188969832536429790470921553809556226390537428652573585024794152326145079272807074897958836358276102085114100164977679305426987094927856468183189093010573910545480278900030318532259958461630934757601115528827379279210211776878310230263038968432302209417328395737600421956515037798680074893670102586219332606678429751964400055812398773166027692526521706227391706682527813006475158041953919573624571917611566863169903822527253795872962719414634786327406743631809299210188681260262126932271021733766557798744946757864860689054067226446984884951652821223627244812068647226062247467171836826910505690980696212218041017469317455477716828155274984732941756581071529039021793905437413843185097360398842957132808385436020231685022613955777400546136803232625360790344932914651636625908816184467580214669283825581512892649972603111077529323350845030361106970944147454291175269734482612207863389621697169165571575051154462064982910430423232453082524740550833318583711544186090380394546079136874279085234779712525062679790826308029526605183892856252635614985774009091563756724150948656679255227867321555710446293300336538948635552473626467675995141174470042993103579014557047228186042415292859859547686093411956638255832219667129866180924718214748596082215139451178163912998098012983966687573052846761285579797677489784779440879052645905824935766802289259020765317760554354310828173029979436456223746811130165818509888201996780069357796619698962284287630130773368041031111707564954873072200895840568056654280108909955006054363728512685824162821259576194067678411865345609696902867520114011127 2645661179356906677809174200823014108489453983792215681907513632544803002106252432019622148364657551231904675784349159528973020060363514994659668305808427145981503346095421687361674610306280244733372021176239143965650461274130640092755805280498676964576771228850935405312769965875639747735682261495936258638543946411249776480025288777119214925751336520340873619167258131729558804769505248282851020280542545229144049346712801069788863320705163591482469319222499954660210741657365345066615298885730368912928016205159334482967590482001354219484943222866496310174686627726938382592823805537247477358874609187459884632687747619938834423774752400598360822235455463217652600376132349973288561806653691925581082077330847346716017592812209586805419628094887568891235188078753227976474773562107041664562735592169669317330625383843070860958503379730798200577522666089814844513922311439100105600535180619705548612353362610561718658946792915481229151185175136121910972885020503767169715215374258176977374175197990634223153595198747139485752436519367606961282068445578033901877634677812905392393750856755256578819883916205826877870381919630110850610483092736892369069841699207234152709738408475876563862520092053700582623836518157335165067308482908072674943852716811507250918881471546345497673981936051630263108973162595597398881775510316109115395321819099668972828003832579021293015671551351599796162112054303998904273613489029681870706953092368662932468805581328771124806042110680110148055617172683014147042082367008253639392048547669004012015957440356752406603429038216031279066468989643892073055672556089316597518043125021304621795035298048143230478175626482793188432787359416892535739028512847872843217367918473101366470398207536303565711898740689406391545628266569525888827617053666240618613880106855187245753721317367293594157515787203692207850053034764901312152980750638308489438669717994140517831999336106404503264197199971833346654793702534748783748842541810336327330220301597790117692988498571355701733469739721595508743587476420963911004228468287322862336740058386550310931338949003879804352826496155868205248207824310226550161888328910952715116604883720168036759861418459620939974901349543293558984262251245904702692820987746105160885120108155012038171967619143939450597744669269420944867085744764920781924578939730185734920724877019027464044173599223166758912593787606087926801351136715895704820126189614877046651979374415651814564389040805825912195423087673798579182156926481298875715436079156492020634730246924424361344705001016041070746921737245106251380102193786169821911520422417150691686404460732948631753043087340847924196682584714804964104820382336580068533478412949587553575654196515412145858342663638154465463961389821449860925401220592503696538521368638615533976845940782122365380876589659145439943123854761609416567568756907774816129551515444694636862561255173379747387450408225895977110332745165949706106492329933579350314610813378468595968065362007591173652666475646849146671559805630735907375313408598761900211357494382091676219856918709022929982286597943411073730310777025574350531826002949968707884932258854767912619776832942440973903145958909265430489427425879086673362188522501405672896547582229248052682383886292895261179639527005751635306689458449440661502837308039127833431162586035560629866308481768725996330083606190592276523055500086240253591491324429448919876082029837306465016192836174701214735207691739690888219688145807579101954895588299239667485823028636433979228049393329396883142004860600698688735825649930413516174402333900860424407514311162722958659329374175437091974185827258688260454184703674188517056259834600618598156643264346828987252498196693620499322858739968665986625265156754860071852591241500904409807610096002772391000977013992112707782477359240939950903159526593786509020210619453655714641061174887630108351032903337934190064520076006506831612910442389443501296150386179454336334769907426184430799720452950708874048854114102222462191178365179569482653622563534446869389101774364579764100103105114550693794994252511169209028841527418932505993734497628309947504385888315973049351904715846198005192682979558309804126303786076 4280769710915606675734024951538960327463341193791614220030519808553246459116284523413667592664314975706383732919561882019508770629730086252855536012694620850634636783869566260699077605532637353642114381715320338887583321221949201276423242962674396179108618227912141438727901289854872176860287677427026692593828170673405978303966767384296478246582117825719660542109107389436376845686996939779290891784768709948150214102404866310335450753405102479488758526523052301827982841826092625274588654296673966425405069528675152686487278584525789583729306837004949445095014957412553639042019068061637710303663077690859602210720543580223803008463420704696252716878451609713335615365220842319280626353243281270012931985587937915197699640891674413717469120238296643937140208966687345652023218702266729919409478081343791017570861279012804841791932642971164946733594902291974228558760733804058406058711857514535654582983463830759543709685756049759324740489258924651375019618475485256789194437876421778365813590501332438697349467957920255151322658618647297671892032308483286759603989701597095237097927634774368743819905832553415838325788434474600016368771572644391178285485009918305208683285408543126145693879748436653172998920026951530660853107181581877699681571888771577402513873227856690293099386820543884345803543530284872888770753621905969001289549979627427135941284317575363223716004248405390974352272640987499312915419276928742512904315873397119806097955200920073241477971611356719450264829068998026830496876418877275669785822363920456953577939017616996949197204772019407912461745235076350059045649375011731958867944959872179823695330238820918514434413794434680648465137741490583904437987127294143674048520190892795531415421390155205417905389277326236726913601272586863405992542323573808777994356903217216351646111421670295600855670518058517646395541879574630216218067552982433834620865337059083651414525368705174948908319835404012678917507798277406063918896089399138899588998244422219551015952273051560505395129598922516917272768968952677288530193903143541658989742088606959758939860130879662015065381708892305165541090889738732961063306508848187021377465937608468108944266450485551661038705389535999044130244241072276431259788407783962713412003319608483035017068181472619851977658123448727411157653999822678939967000239284663433236951117226277680272189383041314102162310234171502365271172710944601835979195663256301108101985702693602057544868218444137238879274116142934821164110896374757883551122536990408668193533879729417406463122993014248864642737099264334947241127333826429763247067137104989751875374293269378422223964641150404150587220013367378549129614534662725147806285487847546389933930298600526246023320342943581452558889246289633050018411794503049176817421398957147793935307571716879966496405417038424650154900733071839679606537189209984233457947253045116593377599053853454641057552994445228583788762497130349761918891103099607042841132519605860302650593175014066331694620395220473718589171372493905811197840662394634862930772129168419082963488728008233118663546860070343344752044543583373095478583867810657761952158705839652864272598056569685785971793184971512897661264252789592364342884734719446690365865037706964880837658871025837017760711056044773429212126872292625758863236150996260641816598606267245652480264259169272133133316231551382621455970151722866162407675792009663589159907611350199114988795947252230538086052722100797859163835600098754371689378200507103057107520197802005554279203855394379793572428093053781213476376483248997227718588424281254970486651185441808193439041899238116882800493856785293444347040956309803502830268926164375322307591921026084215119819752404066792623195278917301539098891624430855213027061284494007988822167143230958433416269873851660393875889315879195783122826656459967433738425368049737929780512353051543106449045887304621763117366837292086629290400227168884380348796292004390103137059166446949748560274807261537047078833550558446209002308530998079370855619343603804666008800736648867394230876473155581805502559207384241409924682095475586786102644452634364311232898574140135870611480909913876417058028589255212671646417797203 6926430890272513353543199152361974435952795177583829901938033441098049461222536955433289741028972526938288408703911041548481790690093601247515204318503047996616140129964987948060752215838917598375486402891559482853233782496079841369179048243173073143685389456763076844040671255730511924595969938922962951232372117084655754783992056161415693172333454346060534161276365521165935650456502188062141912065311255177294263449117667380124314074110266070971227845745552256488193583483457970341203953182404335338333085733834487169454869066527143803214250059871445755269701585139492021634842873598885187662537686878319486843408291200162637432238173105294613539113907072930988215741353192292569188159896973195594014062918785261913717233703884000522888748333184212828375397045440573628497992264373771583972213673513460334901486662855875702750436022701963147311117568381789073072683045243158511659247038134241203195336826441321262368632548965240553891674434060773285992503495989023958909653250679955343187765699323072920503063156667394637075095138014904633174100754061320661481624379410000629491678491529625322639789748759242716196170354104710866979254665381283547355326709125539361393023817019002709556399840490353755622756545108865825920415664489950374625424605583084653432754699403035790773368756595514608912516692880470287652529132222078116684871798727096108769288150154384516731675799756990770514384695291498217189032765958424383611268965765782738566760782248844366284013722036829598320446241681040977538958785885529309177870911589460965593896457973749355800633810235439191528214224720242132101321931101048556385988084893484445490365536869061744912589420917473836897925100907476440177015640142016517265888109365896897885819597691508983617288018015643118459229539156389294820159377240049396608237010072403597399832739037589195013186305262209854245594914339531528371048303620742324059535055053224169246524704811579452172517035375846025572301500812154847667738631209475226919218546020009668708940771622916207128599338644112426016356445373641199534422371430864521326482146993510069871199079883541819418208205048173370789298714048959511225194837759139736494070821328636145704127868945172601013606739079292603114506492318181133952609395530067874297123427763495073189035800616559302575402792718148356024739744587599721891579179014849168157675994245305144316362982264480861074904021777590292072523847660497540799321852871178154753965077109253872109257259249963151074697203816733400346267822856056759266558616146900688828264126653841767807827994030289935389658836509441198621229527612599585158587559522140443561778754002327053977007728491252074783902598082183513234434916999305216339763900797133943509584495115938391881663006581735918022850636111082910943813015095552873355942767595763327912153512499002331877282006697570090098024587833449096174105946117759049587498768489811230240160309026834388445003402671124560899095242296299468025383433033186393155743332984328898618658537021657505347286870867322865260731178124641718573154070993396763142129623550510759183345646717256048645833458013754418482355320608947446010409870760626469837090964694420776892374889512126759874939143880778328150691678668679037705073257220852363262412619936212933520042757318732278940350583050525064518816330742066420366073459035388475247761192302806282346572740937998129463399837741974897979025651809106415999167116439112509035989641187505580004988783426931752821260413840488747383523745906333473644273788806342724593343226438439533507253248723776676714432953654479902212202133179410743892990758182115394894165496604531152098371273413553974774679684043981704801225659983992019886528760764993920464235185372913202372317949097687291946054018885967525724156781185715284879652525994912398629777239233730824417246887843773101658366675120135734025986183053753942758635987503393644421573527939173214800078790642555953181886913298593460903310669558327881644946678183844439471829073873134179359995260212245921127687664660668671193486896177648853509241907138251535397902511013447158330979578270132499297553459895410618953523622894519292096378950262674258737284462456108919963385625760074422250711568813522475772721583279 11207200601188120029277224103900934763416136371375444121968553249651295920338821478846957333693287502644672141623472923567990561319823687500370740331197668847250776913834554208759829821371554952017600784606879821740817103718029042645602291205847469322794007684675218282768572545585384101456257616349989643826200287758061733087958823545712171418915572171780194703385472910602312496143499127841432803850079965125444477551522533690459764827515368550459986372268604558316176425309550595615792607479078301763738155262509639855942147651052933386943556896876395200364716542552045660676861941660522897966200764569179089054128834780386440440701593809990866255992358682644323831106574034611849814513140254465606946048506723177111416874595558414240357868571480856765515606012127919280521210966640501503381691754857251352472347941868680544542368665673128094044712470673763301631443779047216917717958895648776857778320290272080806078318305014999878632163692985424661012121971474280748104091127101733709001356200655511617852531114587649788397753756662202305066133062544607421085614081007095866589606126303994066459695581312658554521958788579310883348026238025674725640811719043844570076309225562128855250279588927006928621676572060396486773522846071828074306996494354662055946627927259726083872755577139398954716060223165343176423282754128047117974421778354523244710572467729747740447680048162381744866657336278997530104452042887166896515584839162902544664715983168917607761985333393549048585275310679067808035835204762804978963693275509917919171835475590746304997838582254847103989959459796592191146971306112780515253933044765664269185695775689980259347003215352154485363062842398060344615002767436160191314408300258692429301240987846714401522677295341879845372830811743252700812701700813858174602593913289619949045944160707884795868856823320727500641136793914161744589115856603176158680400392112307820661050073516754401080836870779858704489809299089560911586634720608614126508216790442229219724893044674476712523728937566629343289125414326318488064616274574406180316224235600469828811059210763203834483589913940478536330389603787692472288501346607326757871536758937104254648394319430724262052312128615291647244750733390457565212397803314030587709126747371978108206103982089179154553060916166875767182393744410278661858579418299512601394627111471582824588552365305794963237214255949092657343696558605099376778517516127479262855950779802855929654125477694100389953971319959668221510378719230814642817681153137309357021798006383259174270950987044538800032395935773776145862356861439029348405654696627130195437153047271705476200972369641656225371122611449562062364049451662030364146049388644680333443514793716464637904983349525317370581739882400715960962224809598602050173364166552911121847461084215882298373687423735994740252925320905288775780643135327743283045446021534927823617759362880289029502556397116353144687857739426649229944274536132793435996875852590189201269251712035723837041907266087796583849902550618547529770994733388031626072901752718929842146834374725489167309380318084097763234399864192320541488993738571284231789249670534073641164972946081812545846732328852291225811955931458271402047957991940299053628277657643177814357701628344569296701061639095298493730943203034692179229309610031649117064359798570051934826837000107270262596716069293357519434995803531972578406842908448776098195897252537704694993784730679162290907313135941286606547359346005087845333651989313445781700863424240445087786457104118156470286861046708261115688578616428407971611579182463370365380816682046339345537413172651670857575173540829275149148266616293795522716797686929369242771827106398997417492137701501754084569249297803269064823048405616570497906713810488920387451944382464689257833516761695433495534255990999331517148812839513721376497061355553131574202085880990716321249124677947177716299253750590680090193710896727212261993742970188234542608888240320083927920270067473782968206521215219114880195795427175728224364861250742056201406703247662314552561856051425714304800112667279652028878205718370106078199023402897038569970183036596244790574866535673950839308740158068735147419139380482 18133631491460633382820423256262909199368931548959274023906586690749345381561358434280247074722260029582960550327383965116472352009917288747885944649700716843866917043799542156820582037210472550393087187498439304594050886214108884014781339449020542466479397141438295126809243801315896026052227555272952595058572404842717487871950879707127864591249026517840728864661838431768248146600001315903574715915391220302738741000640201070584078901625634621431214218014156814804370008793008565956996560661482637102071240996344127025397016717580077190157806956747840955634418127691537682311704815259408085628738451447498575897537125980549077872939766915285479795106265755575312046847927226904419002673037227661200960111425508439025134108299442414763246616904665069593891003057568492909019203231014273087353905428370711687373834604724556247292804688375091241355830039055552374704126824290375429377205933783018060973657116713402068446950853980240432523838127046197947004625467463304707013744377781689052189121899978584538355594271255044425472848894677106938240233816605928082567238460417096496081284617833619389099485330071901270718129142684021750327280903406958272996138428169383931469333042581131564806679429417360684244433117169262312693938510561778448932421099937746709379382626662761874646124333734913563628576916045813464075811886350125234659293577081619353479860617884132257179355847919372515381042031570495747293484808845591280126853804928685283231476765417761974045999055430378646905721552360108785574793990648334288141564187099378884765731933564495660798472392490286295518173684516834323248293237213829071639921129659148714676061312559042004259592636269628322260987943305536784792018407578176708580296409624589327187060585538223385139965313357522963832060350899641995632861078053907571210830923362023546445776899745473990882043128582937354886731708253693272960164160223918482739935447165531989907574778328333853253353906155704730062110799901715759254373351818089353427435336462238888433833816297392919652328276210741769305481859699959687599038646005270701642706382593979898682258290646745653901798118988651907119688317836651983513696184366466494365607580265740400352522188375896863065918867694584250359257225708638699165007198844098462006250175135473181395139782705738457128463708885024123207133488997878383750158597314361769552303105716887968904915347570275824312118277726682949416220406265596917577839368998657417609915856912109801763382736944063541028668523776401621856646542086871402084239769284210045850062133037100942078778981074828735422054772283217344483586389051628933564242256149270638998931801274032530177980098132908300155025209531745575598484368661335580485813289441814276953099288832403029786646356107053288604590518511798871906037824694154923529306934148674449759614596714884630250969430433564830350949908738737871954749081445502332632944790024739053857919671907123417947559799787477705586952981722948697969657969165979829152619185574518099887910249057381342389194136955119449110633728743189248344148804381428389215031376269440601330180021442745215955213776097852181716755184801267987499403609331910701626340635228494418057347835593939305721671472733069553962647610126950439753031249161151416890690277579390747877744385663301575641412222145823558249759533776758599595383069067037592312120990872858217173409741045268392060115907035332417414021455341078994406010024887888607231886893725210274998773514106094043728573549781775353930883091911421318977925778119788506294206650678884621293710352841933147001294000362741017900780749607818715504569940645485760274982178650870497635784446065224832349853224873256853949492276277787542603326447694363163236062291771910619864455650599441376515303316689236590547205186802285782786366336483832786081721621698420082250763649539206597192622666119467251174799022567475319255697343056525218623659408929889536049203468589733669481140663889273551097021566285540143638689648372078982080717314193218107280265327686028889334208879879783551389282323353377077874103157880307736804605758675761710892835629695846804097666127175062647831729341264625370295402353159712828707467499052353710538252161434025261559451726882257623191860963761 29340832092648753412097647360163843962785067920334718145875139940400641301900179913127204408415547532227632691950856888684462913329740976248256684980898385691117693957634096365580411858582027502410687972105319126334867989932137926660383630654868011789273404826113513409577816346901280127508485171622942238884772692600779220959909703252840036010164598689620923568047311342370560642743500443745007519765471185428183218552162734761043843729141003171891200590282761373120546434102559161572789168140560938865809396258853766881339164368633010577101363853624236155999134670243583342988566756919930983594939216016677664951665960760935518313641360725276346051098624438219635877954501261516268817186177482126807906159932231616136550982895000829003604485476145926359406609069696412189540414197654774590735597183227963039846182546593236791835173354048219335400542509729315676335570603337592347095164829431794918751977406985482874525269158995240311156001820031622608016747438937585455117835504883422761190478100634096156208125385842694213870602651339309243306366879150535503652852541424192362670890744137613455559180911384559825240087931263332633675307141432632998636950147213228501545642268143260420056959018344367612866109689229658799467461356633606523239417594292408765326010553922487958518879910874312518344637139211156640499094640478172352633715355436142598190433085613879997627035896081754260247699367849493277397936851732758176642438644091587827896192748586679581807984388823927695490996863039176593610629195411139267105257462609296803937567409155241965796310974745133399508133144313426514395264543326609586893854174424812983861757088249022263606595851621782807624050785703597129407021175014336899894704709883281756488301573384937786662642608699402809204891162642894696445562778867765745813424836651643495491721060453358786750899951903664855527868502167855017549280016827094641420335839277839810568624851845088254334190776935563434551920098991276670841008072426703479935652126904468108158726860971869632176057213777371112594607274026278175663654920579676881958930618194449727493317501409949488385388032929130443450077921624344455802197530973793252237144339202844655000916507806621125118230996309875897604007959099096264377405002158129049715376922507451289601243764794917611681524625051899890389527233408157045608738015613874370946930217188470793493467712876070787549332533675775606759916964870696294356356885126136680465866636714965731417508214638163930982639843736069843367025261317686044901920922421519402871860139420360116349729968119367535454450708056993490345943250490658281969896952776400834436084848545738006378952467774564525526147820981307637962533820323365944631862678086494610396614082548867667691629705632370659186330400912514832868262634292756973702671100701585571607075680930766928624656854169559570603875229644026647735392216773245615678390811559666877475679034787412447450116196903830850274810721149597927913932505298773265149495038164707301157161961093105179431101403042916032960536279361736778115143537769460015287933128988370443477014396168234383264594094181949944951155048993588528988397347903194933415590305762568059222320781675751851568403801585360779774603541585221841800989241101450470518967935222568562235446014007870872342473861241122051980702736811450778824692679098686709376480789442910152000246741152538654656831976328689936849017258873051572812852933336664705427784146262914969992558244785256334635886685723061960478242437916509164311577767433234287995070074919329709080167456960089617288155047071002133589359366036226687116149123108856125655798860697209843173197618716895689925026765702532003097758892571583065320124134623732406007889398170908037356593352101195461084552614492505655370253592418856280693080146972753173533666004163109340084280411234640092726878657118798768323611862081196695752758698609656792825745289920605857298328146536911385780394414479953641290732463012752405632432618560313524689605554513302035200535395159811857540730095098898431585077750529105302238964408622363938211309006338076263454691681121561108897778794454714676709935059634731448494425756056751398677650535648598501113118697107976100868191884950992770611000344243 47474463584109386794918070616426753162153999469293992169781726631149986683461538347407451483137807561810593242278240853800935265339658264996142629630599102534984611001433638522400993895792500052803775159603758430928918876146246810675164970103888554255752801967551808536387060148217176153560712726895894833943345097443496708831860582959967900601413625207461652432709149774138808789343501759648582235680862405730921959552802935831627922630766637793322414808296918187924916442895567727529785728802043575967880637255197893906736181086213087767259170810372077111633552797935121025300271572179339069223677667464176240849203086741484596186581127640561825846204890193794947924802428488420687819859214709788008866271357740055161685091194443243766851102380810995953297612127264905098559617428669047678089502611598674727220017151317793039127978042423310576756372548784868051039697427627967776472370763214812979725634523698884942972220012975480743679839947077820555021372906400890162131579882665111813379600000612680694563719657097738639343451546016416181546600695756463586220091001841288858752175361971232844658666241456461095958217073947354384002588044839591271633088575382612433014975310724391984863638447761728297110542806398921112161399867195384972171838694230155474705393180585249833165004244609226081973214055256970104574906526828297587293008932517761951670293703498012254806391744001126775628741399419989024691421660578349456769292449020273111127669514004441555853983444254306342396718415399285379185423186059473555246821649708675688703299342719737626594783367235419695026306828830260837643557780540438658533775304083961698537818400808064267866188487891411129885038729009133914199039582592513608475001119507871083675362158923161171802607922056925773036951513542536692078423856921673317024255760013667041937497960198832777632943080486602210414600210421548290509444177051013124160271286443371800476199630173422107587544683091268164614030898892992430095381424244792833363087463366706996592560677269262551828385489988112881900089133726237863262693566584947583601637000788429626175575792056695142287186151917782350569766239460996439315893715340259746602751919468585055353438696182517988184149864004460147963265184807734963542412201002227511721627097642924470996383547500656068809988333936924013596660722406035429358896612928236140499233322905358762398383060446346611861450811402458556176137371136293211934196254124794098075782493627075533180890951582227472011308367512471465223671803404557446986160691705729448721922272457461058428508949194196270876505480340210834829529639542287215534139208925671473435016649819770536556932565907472825681173030513053213561018188984701525117675967528308887349713371381270697478276061739423947790920919424313704774300458986911897231978034850260021366690277645651558875626284603124400954825138382764519690141298218747948311335601584405931333598706694535865397675996691308555861763702872546625883590474464753094302114223739225401045072210150486521820295539998035482071170008104926026459292342150888404502964505257811044807194417610979599219807870279802126667910233794856516487800957235105635041930940991062477279668617269691157290075274318430333737251151712172281554020490262601887409658212801959310113190399671172447983886083386945610230462270588209378420075748165724301688601780315768369173656482197807046716947883364022354263038714214130567218862958224553312659671039988125244991331758891350378364460235504837314409125529827930483289503545553022794289276725598214330373877809802022764289449047433743151490140115644045402620719063754341885930781039348080340808982064782120522274879990575788857047251168849370607923450582318095569243951689942818657221049002700636837599855931181742245917458779221142063479446483456585959615387625861529422335044060773846689919501323238266019498410884648672015008456041666182011449404698850495393347531615126645055261535078369227192387754029298292549271122266932392506770322868706520142480800722845840746874938974978681982974360073882482380113067566502671675015914765013837974347527310817407912995444921629777324541664400899356818789828109216464227385118034700952211651370858542001362427643611833250393802861308004 76815295676758140207015717976590597124939067389628710315656866571550627985361718260534655891553355094038225934229097742485398178669399241244399314611497488226102304959067734887981405754374527555214463131709077557263786866078384737335548600758756566045026206793665321945964876495118456281069197898518837072828117790044275929791770286212807936611578223897082576000756461116509369432087002203393589755446333591159105178104965670592671766359907640965213615398579679561045462876998126889102574896942604514833690033514051660788075345454846098344360534663996313267632687468178704368288838329099270052818616883480853905800869047502420114500222488365838171897303514632014583802756929749936956637045392191914816772431289971671298236074089444072770455587856956922312704221196961317288100031626323822268825099794826637767066199697911029830963151396471529912156915058514183727375268030965560123567535592646607898477611930684367817497489171970721054835841767109443163038120345338475617249415387548534574570078101246776850771845042940432853214054197355725424852967574906999089872943543265481221423066106108846300217847152841020921198305005210687017677895186272224270270038722595840934560617578867652404920597466106095909976652495628579911628861223828991495411256288522564240031403734507737791683884155483538600317851194468126745074001167306469939926724287953904549860726789111892252433427640082881035876440767269482302089358512311107633411731093111860939023862262591121137661967833078234037887715278438461972796052381470612822352079112317972492640866751874979592391094341980553094534439973143687352038822323867048245427629478508774682399575489057086531472784339513193937509089514712731043606060757606850508369705829391152840163663732308098958465250530756328582241842676185431388523986635789439062837680596665310537429219020652191564383843032390267065942468712589403308058724193878107765580607125721211611044824482018510361921735460026831599165950997884269100936389496671496313298739590271175104751287538241132184004442703765483994494696407752516038926348487164624465560567618982879353668893293466644630672574184846912794019844161085340895118091246314052998839896258671429710354355203989139113302380860314336045567273143906831227919817203160356561437004020150375760597627312295573680491512958988823903986187955814192474967634628542110511446163540093829555891850773322417399410783345078234162936054336006989506290553139250930778541649130342041264598399166220391402993948211248541308590697064722243491888081614127248851593782411877821174778238917313563806330956188397204325175472890032945497504036161702072307871101498365508542935885033682037351207320851494360851523552009308067469749538645614803497746327453930138365169905767371794606977251320336828537642563093279668870934649135551845592973765958576418487500283138772683971558700368026791167425533514991993563989726413144072808809277741481948312847792193595139406136574424022144553797522979763526359451609261903932702202234171243591701251396943040951515031706287466662804574435879920348419790897634246181488284208813779213982484401964461752071619065282788445045476198305138300568457521246753630536501989398945443008858479075903791113511854693297394123355009731364052357928626148024527872348636413679043320326359944628067662211165007399660157244768427264411011065082569758678521173903223350345701373779859692712291112055973087182140031715891561218018087455186251040214983890003676606713000346921227899274887367967744439647601081312986257082284346800517544039454045266762112381577604094504745285079499481680272089736868186863198011586579900045290183982179683499016212199906756278320860145010061420953673243574716941827975251841088113726694577642354801832298684408545674247901287712371639998344172526630429339133149053630024638762419324472008486782646379980357064787822022746729868710761214740275838804275149988771101250645859761663556441041929492849180833678486492311044954903554885492706031459928423219822177681336118005652604415669070077580414559437824411587682352031975125035613227223771351914237802218991938969021893223716084492001251599460534088267284253865273215626062768570349550712764489555649977463295835496784243164413861652247 124289759260867527001933788593017350287093066858922702485438593202700614668823256607942107374691162655848819176507338596286333444009057506240541944242096590761086915960501373410382399650167027608018238291312835988192705742224631548010713570862645120300779008761217130482351936643335632434629910625414731906771462887487772638623630869172775837212991849104544228433465610890648178221430503963042171991127195996890027137657768606424299688990674278758536030206876597748970379319893694616632360625744648090801570670769249554694811526541059186111619705474368390379266240266113825393589109901278609122042294550945030146650072134243904710686803616006399997743508404825809531727559358238357644456904606901702825638702647711726459921165283887316537306690237767918266001833324226222386659649054992869946914602406425312494286216849228822870091129438894840488913287607299051778414965458593527900039906355861420878203246454383252760469709184946201798515681714187263718059493251739365779380995270213646387949678101859457545335564700038171492557505743372141606399568270663462676093034545106770080175241468080079144876513394297482017156522079158041401680483231111815541903127297978453367575592889592044389784235913867824207087195302027501023790261091024376467583094982752719714736796915092987624848888400092764682291065249725096849648907694134767527219733220471666501531020492609904507239819384084007811505182166689471326780780172889457090181023542132134050151531776595562693515951277332540380284433693837747351981475567530086377598900762026648181344166094594717218985877709215972789560746801973948189682380104407486903961404782592736380937393889865150799338972827404605067394128243721864957805100340199364116844706948899023923839025891231260130267858452813254355278794189727968080602410492711112379861936356678977579366716980851024342016786112876869276357068923010951598568168370929120889740878412164583411521024112191932469509280143118099763779981896777261531031770920916289146661827053637882101343848215510394735832828193753596876394785541478753902189042053749572049162204619771308979844469085523339772959760336764695144589610400546337334433984961654312745442648178140014765707793900171657101486530724318796193530538328714566191462229404162584073158631117793300231594010859796229749301501292925747917582848678220227904326531241470346651945396862999188318290233833768764011272234156480692719112191707143282718224749393375724876617431623969116797779290117802618875005256578761012773814368868126800938874242305832978300315704684335282233206747866507760077207461668737415160005002529575232713038175370627743781306118148185279079492817599589510176888493882007414065084570198292768994867214613143112385096040825311409062648181829111218554768172239761142242416863552266580768166627170402105614340456236222070046375909423375808372513525506409555687115674813210741512301062014728478740142876448176484178245468190286447961998338126894691179681113454228279453753723485643158103247306381394078223071692483038986997102876295571588831033728222071236824293862139503992533091403231390193581704209834741554198286975516583301561963999262373406203499452187744693013781658016215134166148554350222221447249105845009566404909030221626654245338284360826487182461826813350215768310246028015013272441627277987869535664844175430135312753684350074446890347559705548152748090727743056734645375094687301312707250578849785771330747126226239165459975221762567957091364807156732736589296493497572370130890584858539279876573623526115758369827923076564135145867053141938488436569639597324317492357587250617539897517360939393370524791161748281136734474786746854109717192261230270324281167025299259923544495792778056545351798691357502469136284264476855990147205171150861140407651973113885925092764441255886168184754368532782333472565881303595330807320433631378540725769670781942020815724554687621596643993391376790201496303464571218408026066240521609337504174677152425098538230251291926342320162136840851493351290608045056262397533797898294070062465099541627707288243138536365752212149746302756376934888668637714269325793263861433445086074081974489679853447886605050502924415860414191978825723479108617493558216722960251 201105054937625667208949506569607947412032134248551412801095459774251242654184974868476763266244517749887045110736436338771731622678456747484941258853594078987189220919569108298363805404541555163232701423021913545456492608303016285346262171621401686345805215554882452428316813138454088715699108523933568979599580677532048568415401155385583773824570073001626804434222072007157547653517506166435761746573529588049132315762734277016971455350581919723749645605456277310015842196891821505734935522687252605635260704283301215482886871995905284455980240138364703646898927734292529761877948230377879174860911434425884052450941181746324825187026104372238169640811919457824115530316287988294601093949999093617642411133937683397758157239373331389307762278094724840578706054521187539674759680681316692215739702201251950261352416547139852701054280835366370401070202665813235505790233489559088023607441948508028776680858385067620577967198356916922853351523481296706881097613597077841396630410657762180962519756203106234396107409742978604345771559940727867031252535845570461765965978088372251301598307574188925445094360547138502938354827084368728419358378417384039812173166020574294302136210468459696794704833379973920117063847797656080935419122314853367962994351271275283954768200649600725416532772555576303282608916444193223594722908861441237467146457508425571051391747281721796759673247024166888847381622933958953628870138685200564723592754635243994989175394039186683831177919110410774418172148972276209324777527949000699199950979874344620673985032846469696811376972051196525884095186775117635541721202428274535149389034261101511063336969378922237330811757166917799004903217758434596001411161097806214625214412778290176764002689623539359088733108983569582937520636865913399469126397128500551442699616953344288116795936001503215906400629145267136342299537635600354906626892564807228655321485537885795022565848594210442831431015603144931362945932894661530631968160417587785459960566643909057206095135753751526919837270897519080870889481949231269941115390540914196514722772238754188333513362378989984403632334521611607938609454561631678229552076207968365744282544436811444476062149104160796214788911584633132239097811472621397419382046607322940634595635137943675992191638172091803429793014251914571821569036634034420379294165870012457163391560403093017874182084607091181410683017501558926882048246043150272224515302532626655655159080754311158062377689284023010277999204790009554082405065932849044430762323919960227151909487096213103407984986783821323883538417857134619485180475419608178210542211532329816089177219646550787622428702633271547528095814733501774916608122207600836464616753258757915882842368279241547427818087596483013161745423560097970780059426645546249639101276305953951207314222194798488533876192562148492344072225874436346854541208328202735076290788427872551548952154189658432491093260383881587368134912550916835733478636433991805813205332747547090805449540552637669924323089426079938512134582583038251635608164101991585244084759773750174021375612045169407564188611799203306269906040799371746607440197567511706771956973434498323550283647415160577175007033426126012560760960538306960528264039952990706603266910508851015054810463227029259088636605972643080934652792285387529692909612602694546323818766919833125411521462928898498449464507602749446936487150660388494847282294741346989348834581412490205674959111766244563804365154077960635864183861465316809778491666171525536958857970326633302409281968343326247527444657236443233721649139079004589582094455437480737909103940839438660708773341431780152946674693503132430577337271291691277954410600016201751519747633866170272046376333712304301434968673022530238048492883522501138751824499744315264225913494885910806947173693004790820255212261283952395595142456378108409436530885522217859619999704676392697894639251138453757937345394064067588859744727013920382459078232037917804569690179715146164497843472958857145955706277115133842812093235722705657744817131516752742901470362307717666449951965294695345956781892353798761327044863321967533353358335839762895479510655175400053637180349969841956289019314605401736722630584612498 325394814198493194210883295162625297699125201107474115286534052976951857323008231476418870640935680405735864287243774935058065066687514253725483203095690669748276136880070481708746205054708582771250939714334749533649198350527647833356975742484046806646584224316099582910668749781789721150329019149348300886371043565019821207039032024558359611037561922106171032867687682897805725874948010129477933737700725584939159453420502883441271144341256198482285675812332875058986221516785516122367296148431900696436831375052550770177698398536964470567599945612733094026165168000406355155467058131656488296903205985370914199101013315990229535873829720378638167384320324283633647257875646226652245550854605995320468049836585395124218078404657218705845068968332492758844707887845413762061419329736309562162654304607677262755638633396368675571145410274261210889983490273112287284205198948152615923647348304369449654884104839450873338436907541863124651867205195483970599157106848817207176011405927975827350469434304965691941442974443016775838329065684100008637652104116233924442059012633479021381773549042269004589970873941435984955511349163526769821038861648495855354076293318552747669711803358051741184489069293841744324151043099683581959209383405877744430577446254028003669504997564693713041381660955669067964899981693918320444371816555576004994366190728897237552922767774331701266913066408250896658886805100648424955650918858090021813773778177376129039326925815782246524693870387743314798456582666113956676759003516530785577549880636371268855329198941064414030362849760412498673655933577091583731403582532682022053350439043694247444274363268787388130150729994322404072297346002156460959216261438005578742059119727189200687841715514770619219000967436382837292799431055641367549728807621211663822561553310023265696162652982354240248417415258144005618656606558611306505195060935736349545062363950050378434086872706402375300940295746263031126725914791438792162999931338504074606622393697546939307438983969261921655670099091272677747284267490710023843304432594663768563884976858525497313357831464513324176592094858376303083199064962178015563986061169622678489725192614951459241769943004332453316275442308951928432628349801335963610844276011485524707754266255736976223785649031888033179094515544840319739151885312254648283620697111482803815336957266092206192472318440859945421955251658039619601160437750293554942740051926002380531776512378280274860156979401825629153004461368770566856219434800975845369636566225793205452225191780548385641191734650329083960745879525872034645185477949183410923580386902957559870483337794736066701921520232861057704984308615509188981692692405893605459483967871901028267938409104552956490466269425594231716513595799859113022476290197812830407267903476356056821654678431020558580252101985524300716585751380845902541656883141413476588591850442601030289095030637834916669338728574168035330133250677811526913159749888220085266959056233190248908696846934031748147394781909118925509237458878609840466641892324062822068378621913254166554467015276559601145892821633944860468193016315955048169404196829885112975456425622243016564065305431375711341155587776348234008010066383316526933173070174617360848605194869677502237272290040379474856946852000658094207094419563375399228574456778124681636572451269907572301869022634446651197555235345806181581862245347689807554532873591132760679581707638729371134934333528812520895729961234693372453480354962889179909382251030064816835431593852749060779109891419890382673311710378381722158218778676328907074452042688098277806621301778832031233564503180061289681149480249986540294529532521961602235577625315461675064243426644226817398175025069806770571252937499386228195698054673362279159476472858201189318677936141796975131928061537573153727778142587547726402462890009486950162300556304159880435724259364014294538632642515243959433648858635285996885810967535529719963252909190342903107920431007072506818005609799708639306996885160190105209627033620999727807282231058380450189713500844083418662101711597451722891670560991513030652838127183400978439432417814252575332958541780450556561596210384033935114742793714019230280847307572749 526499869136118861419832801732233245111157335356025528087629512751203099977193206344895633907180198155622909397980211273829796689365971001210424461949284748735465357799639590007110010459250137934483641137356663079105690958830664118703237914105448492992389439870982035338985562920243809866028127673281869865970624242551869775454433179943943384862131995107797837301909754904963273528465516295913695484274255172988291769183237160458242599691838118206035321417789152369002063713677337628102231671119153302072092079335851985660585270532869755023580185751097797673064095734698884917345006362034367471764117419796798251551954497736554361060855824750876337025132243741457762788191934214946846644804605088938110460970523078521976235644030550095152831246427217599423413942366601301736179010417626254378394006808929213016991049943508528272199691109627581291053692938925522789995432437711703947254790252877478431564963224518493916404105898780047505218728676780677480254720445895048572641816585738008312989190508071926337550384185995380184100625624827875668904639961804386208024990721851272683371856616457930035065234488574487893866176247895498240397240065879895166249459339127041971848013826511437979193902673815664441214890897339662894628505720731112393571797525303287624273198214294438457914433511245371247508898138111544039094725417017242461512648237322808604314515056053498026586313432417785506268428034607378584521057543290586537366532812620124028502319854968930355871789498154089216628731638390166001536531465531484777500860510715889529314231787534110841739821811609024557751120352209219273124784960956557202739473304795758507611332647709625460962487161240203077200563760591056960627422535811793367273532505479377451844405138309978307734076419952420230320067921554767018855204749712215265261170263367553812958588983857456154818044403411141960956144194211661411821953500543578200383849487936173456652721300612818132371311349407962489671847686100322794968091756091860066582960341455996513534119723013448575507369988791758618173749439941293784419823135577965078607749097279685646871193843503308580224429379987911021808519523809693793538137377591044234007737051762903717832092108493249531064353893585060671726161273957361030226322618808465342349901393680652215977287203979836608887529796754891560720921946289068662914862981495260978728517669185224066654403047951126832638269159598546483208683793443827167255354458629036186935593132591432922534668685848639431003666158780120938624500733824889800398890145753432604134678876761489049176721434150407844284297383006654130365953368791589134122598435287375959660557441286854324350222866132605233080123349010963898300814613494441924100721130658944150780777383794503918284357022077244878259019359957083802535716843359080046369179782310008028968900625819047114128294547672793060657977255282249396198091469616211664882638870473581838047184827493349160431988958049622698268163228728362646638386322211891080164388980737339714146387486669418071717871335198864021372041461648092102250056426054407312463381687004340575842627321729008710081433433148166738099057115326794776844394397396819747413399056741340114348952846536288516162621202474246568771026921623487461437110127608067451872105378528517292082753267408733945583457973301175141747211848762928921484069380819227960391218189740697713390485563345149647019742948555628518349396008078302401815168332479750028416289051219576809893445295057084700095115312654008317664216428205989687873917201590353794289564179382363188391859763216630200756367614824955879867917755333496656546498125579015715725242618270691942337844611841442627824173753118970871866803813652880189988225331663426583991060510397089444551358782111072006221610521916466244190938195863417911300972602516453544591431027707782079101754542363973982990403871500121997605346387595359598831441826377740055723964040406992433271893653697717370994252699353585745555694549450102422331141228260707677610610722218671315849082758565785262703162275323948021720269343705385552099362575133193091183863151801085112053676892147068848452453345311791979882990505368511792790753654015470812469196955850610198776560353875891403762108319420967003477892185247 851894683334612055630716096894858542810282536463499643374163565728154957300201437821314504548115878561358773685223986208887861756053485254935907665044975418483741494679710071715856215513958720705734580851691412612754889309358311952060213656589495299638973664187081618249654312702033531016357146822630170752341667807571690982493465204502302995899693917213968870169597437802768999403413526425391629221974980757927451222603740043899513744033094316688320997230122027427988285230462853750469527819551053998508923454388402755838283669069834225591180131363830891699229263735105240072812064493690855768667323405167712450652967813726783896934685545129514504409452568025091410046067580441599092195659211084258578510807108473646194314048687768800997900214759710358268121830212015063797598340153935816541048311416606475772629683339877203843345101383888792181037183212037810074200631385864319870902138557246928086449068063969367254841013440643172157085933872264648079411827294712255748653222513713835663458624813037618278993358629012156022429691308927884306556744078038310650084003355330294065145405658726934625036108430010472849377525411422268061436101714375750520325752657679789641559817184563179163682971967657408765365933997023244853837889126608856824149243779331291293778195778988151499296094466914439212408879832029864483466541972593247455878838966220046157237282830385199293499379840668682165155233135255803540171976401380608351140310989996253067829245670751176880565659885897404015085314304504122678295534982062270355050741147087158384643430728598524872102671572021523231407053929300803004528367493638579256089912348490005951885695916497013591113217155562607149497909762747517919843683973817372109332652232668578139686120653080597526735043856335257523119498977196134568584012370923879087822723573390819509121241966211696403235459661555147579612750752822967917017014436279927745446213437986551890739594007015193433311607095670993616397762477539114957968023094595934673205354039002935820973103692275370231177469080064436365458016930651317627724255730241733642492725955805182960229025308016632756816524238364214105007584485987709357524198547213722723732929666714362959602035112825702847339796202536989104354511075293324641070598630293990050104167649417628439762936235867869787982045341595211299872807258543716946535560092978064794065474935277430259126721488811072254593520817638166084369121543737382109995406384631416718712105510871707782691648087674268584008127527550687794843935534800735170035456371546638056359870657309874690368456084479491805030176908878688775551431317975000057702985338244935830143895236022921026271743098993662938064431964520152879993507019388047383584689002559972418719186488347460408750626447671476594772615159816196825012007041171910453637083258666064850623579056839605694380396533197093777243728636128151937854974611029688253474489313074612127142215465328265829770717532217658028401413906539889559798136210431976347123445213927588622843234420701166219112653244317789530609500340257932568891948750117229380842003600258507130309642598288609855974255067093027206292073431281842946248591227281932722869824678984356678414258277911999857318208978822480576781093304940014394610180302225428300477300248206019529355043307788208802530309973959269348841631412138328150058526158943909596963669459648270015259508197791800844574978294361810100211641355768109956348041923612510707997996689948947944827778823869605595825076547347380771144571391095169597256168231655170629721158032131423967501751183107012874068077993206678038086696431662403730998540813677293522346544397102723175902347791902732308973654003105511166396336335614482425565850647125101648234487154623906842726383851917842577474548021302694439888992869225697070777445460717642863269367169504757211029816079937127710768546459047848400068236397082309761131998130537620491448223404421286971904536168941676804643111334639582631366662084979822385584050418603610785531041729291178133854692558274424569700047435514053231347302964705113359381593633513643280897363995884503774155388489598791740123014336824822632721117688769490232223171468268046145427738736301166760372770737909826518504902033440197284325199757996 1378394552470730917050548898627091787921439871819525171461793078479358057277394644166210138455296076716981683083204197482717658445419456256146332126994260167219206852479349661722966225973208858640218221989048075691860580268188976070763451570694943792631363104058063653588639875622277340882385274495912040618312292050123560757947898384446246380761825912321766707471507192707732272931879042721305324706249235930915742991786977204357756343724932434894356318647911179796990348944140191378571759490670207300581015533724254741498868939602703980614760317114928689372293359469804124990157070855725223240431440824964510702204922311463338257995541369880390841434584811766549172834259514656545938840463816173196688971777631552168170549692718318896150731461186927957691535772578616365533777350571562070919442318225535688789620733283385732115544792493516373472090876150963332864196063823576023818156928810124406518014031288487861171245119339423219662304662549045325559666547740607304321295039099451843976447815321109544616543742815007536206530316933755759975461384039842696858108994077181566748517262275184864660101342918584960743243701659317766301833341780255645686575211996806831613407831011074617142876874641473073206580824894362907748466394847339969217721041304634578918051393993282589957210527978159810459917777970141408522561267389610489917391487203542854761551797886438697320085693273086467671423661169863182124693033944671194888506843802616377096331565525720107236437449384051493231714045942894288679832066447593755132551601657803047913957662516132635713842493383630547789158174281510022277653152454595136458829385653285764459497028564206639052075704316802810226698473523338574880471106509629165476606184738147955591530525791390575834469120276287677753439566898750901587439217120636094353083893836758373322079830950069152558053504064966289540568894947034629328838967936823505945830062925922725347392315307628011565682918445078956106069610163639437752936114850687794739788314380458932334507223415288818806684839068856194983631766370592611412144078865819698721100475053084868607100219151519941337040953618352125126816104009797403151062335924804766957740666718477266677434127221318952378404150096122049776080672349250685671296921249102455392454069043098280655740223439847706396869575138350102860593729204832785609450423074473325772793992604462654325781124536762199087231789977236712567577805337181209277250760843260452905647698643463140705226316773522908015011793686330808733468436268625624970434346517300070660494549534071363739545177518629899649314474291885342905917384686766589191825583773532311789804452677309775350621965965126268171144555313531116778294321632882489307685410133218916569499963872141964327034983469748721473031634519773280627547723884530990500006263040976072879592479682658652808508691080869886837901705891410401334053066080645899918357128183548193965189400292821614990202706490267280726669577135268252206436522532643867427287834194664928336989621907370584290830524579516653551981541801906024671142005176171636693305385287262847706152269920017618566055688500241193944391130546608637723092985624678752470283223735725696792763211124448288373480830181296727145552120226563501856047290429833495752349405626734536821437796575196942748113767947260444490588843260901257071542595539763137557354887649388967728649993761136950491594721242917438618561037363846412358163210256092260736414285741168524754721224118926690295920191860001389088808787819301159285130085433245524424010722211513787155893610946323643074824445608031633917954614186995900387545038939256309238071787015373415118240192403744174936797827756224482038263140149267362615554075978788528232225547665020996287277742634028914583696158543219160684079931065089114982078418063234096407860798197212539290131570622301101693758950330547970397673582784677669359963439956915360547172187444828279405176429822639394175637364033993168376922356634429924807915191646864318463141652451509849449703775316840209832403209710838001253067572308410498911480956208646836372081227147685588886209065381745860588575467682136614612604108194138002025013925122283516957896935692151776959149331091785717922267010352861164287803091943243 2230289235805342972681264995521950330731722408283024814835956644207513014577596081987524643003411955278340456768428183691605520201472941511082239792039235585702948347159059733438822441487167579345952802840739488304615469577547288022823665227284439092270336768245145271838294188324310871898742421318542211370653959857695251740441363588948549376661519829535735577641104630510501272335292569146696953928224216688843194214390717248257270087758026751582677315878033207224978634174603045129041287310221261299089938988112657497337152608672538206205940448478759581071522623204909365062969135349416079009098764230132223152857890125190122154930226915009905345844037379791640582880327095098145031036123027257455267482584740025814364863741406087697148631675946638315959657602790631429331375690725497887460490629642142164562250416623262935958889893877405165653128059363001142938396695209440343689059067367371334604463099352457228426086132780066391819390596421309973639078375035319560069948261613165679639906440134147162895537101444019692228960008242683644282018128117881007508192997432511860813662667933911799285137451348595433592621227070740034363269443494631396206900964654486621254967648195637796306559846609130481971946758891386152602304283973948826041870285083965870211829589772270741456506622445074249672326657802171273006027809362203737373270326169762900918789080716823896613585073113755149836578894305118985664865010346051803239647154792612630164160811196471284117003109269948897246799360247398411358127601429656025487602342804890206298601093244731160585945164955652071020565228210810825282181519948233715714919298001775770411382724480703652643188921472365417376196383286086092800314790483446537585938836970816533731216646444471173361204164132622935276559065875947036156023229491559973440906617410149192831201072916280848961288963726521437120181645699857597245855982373103433691276276363909277238131909314643204998994525540749949722467372641178552710904137945283729412993668419461868155480327107564189037862308148920631349089783301243929039868334596061432363593201008890051567329244459536574093857477856716339231823688495785112508586534472018489681473596385191629637036162334144655225743946298659038880435183424544010312367519879396445442558236692515909095503159675715576184851620479945314160466536463376502555985983167451390566859467539740084584907846025573271341825310794874878651946926880918591387246167227891869624359804154334848487917964861197176599019921213881496528312371803426360140469802888846708716854420191381238429913633603109391454344651200764031681468816004741589249528569111777247619948347913332696376893709064119931109208987278051269658287828652270536691270099135778888988219150360489424735785609917420198067804249679589477452559730925702900953643346299642137730216058739498258502889087614066980615145434527538553271908040691675588171831617496622806092331615758149880819973424022484938755070991041808141766234658743075843774411279408592516959832856328071750509943177823834443082591042142163957240033953926288866074147388887521354836461912518306228422029943567334221150683203977890480669341576851960685193153048414710053471177469402360288230799039160119207722333213531503516250657470732058924052826705874940556350792839882985151550644077921219713839430474673039585221601121698707047154318557109037237743909501958928751336169699537279248718772678719614522314511252179704771444412282431117472699549002942796295891745268407348769859953359210396328882386253664900695053731880243645211123395362129430655948892523601238311956041310618658304118543579752933602760418331412476138294142540195646907245771481759329993204659476484881845041119926625913629880460034819644903130004126485946757161170706564521855123968923934314812052855863523951739271130165366717296501161386702238229404527496789595818797741819181759979121095438087452981038620410849249566377080965991581070980280475368632751008289018719409747193499242065467929248672694180801027583558467875114634402103257146352054484414875273115612270862549842160479652978591143570092660364453871344652328698482018961437245325225882907492257237096590551563103324674428452943719522101829695544440771912386301361572128291701239 3608683788276073889731813894149042118653162280102549986297749722686871071854990726153734781458708031995322139851632381174323178646892397767228571919033495752922155199638409395161788667460376437986171024829787563996476049845736264093587116797979382884901699872303208925426934063946588212781127695814454251988966251907818812498389261973394795757423345741857502285112611823218233545267171611868002278634473452619758937206177694452615026431482959186477033634525944387021968983118743236507613046800891468599670954521836912238836021548275242186820700765593688270443815982674713490053126206205141302249530205055096733855062812436653460412925768284890296187278622191558189755714586609754690969876586843430651956454362371577982535413434124406593299363137133566273651193375369247794865153041297059958379932947867677853351871149906648668074434686370921539125218935513964475802592759033016367507215996177495741122477130640945089597331252119489611481695258970355299198744922775926864391243300712617523616354255455256707512080844259027228435490325176439404257479512157723704366301991509693427562179930209096663945238794267180394335864928730057800665102785274887041893476176651293452868375479206712413449436721250603555178527583785749060350770678821288795259591326388600449129880983765553331413717150423234060132244435772312681528589076751814227290661813373305755680340878603262593933670766386841617508002555474982167789558044290722998128153998595229007260492376722191391353440558654000390478513406190292700037959667877249780620153944462693254212558755760863796299787658339282618809723402492320847559834672402828852173748683655061534870879753044910291695264625789168227602894856809424667680785896993075703062545021708964489322747172235861749195673284408910613029998632774697937743462446612196067793990511246907566153280903866350001519342467791487726660750540646892226574694950309926939637106339289832002585524224622271216564677443985828905828536982804817990463840252795971524152781982799920800489987550522853007844547147217776826332721549671836540452012413461881131084693676061974920174429463611056515430898431475068464358639792505582515659648870396823256639214263103668896314470289555463607604148096394781088656515855773794695983664441128498900835012305735614189751243383115563282581721195618295417021060265668209288165436406241924716339653460144202738910688970562335470429057100772111591219524732218099800664496928071152322530007502797797989193144281634720084614031714900212305261780808072051985110904149406146779377348969725452602169458811121739291103659125492649374587386200691508178441354152885309559409752800590642471727515675029246199280353542591582386436582150285153025998955509268997805557719114232631389062820593387168919540835884199362758080107454810233891453649609340618210609808538422156911311397778694936867453047140418948954605961106772321488090188745680171000057521016050971495810176130512752219481740568177076393972671181275719711201699113603257445296822478235442334800773702403351096634572583944069981911175959102460502767452774174784202542614182438323846988085632067575415095074334524499118392434562476639437663436272150435750263940680526808576604279869341415934867885333758067018106704761161892419805176111501675093172230636458182094298757845868480158330019317933940842293143717238470184711673444758426205472559495720065701827764420780196687337333716083460934672674462435797032180826568172285997454270227061722986187665460267350158948762147029697488167516339098146219477742602455158998279288973075754299023716969209269945873995924805654204506088618692189911998490118427849553412382732599391082182569309515554475242922616634149207656674002604702158112685582484665899417281869119975671744866865107741015808048854999403927034934281587185835678990963563929835791292957324539331098286447120143789195415401966437648481058878044368341585792598294077845782257395814220465155917839402625919385211375353839672001414433712332247711814346632310877033262243191954844234506466857190055737482447581526111182343506050807316025059818291255681546573519253090512917273949701098051857929334077045494282251021712835080061221610120604720678671432921481262363038922739162525859931383644482 5838973024081416862413078889670992449384884688385574801133706366894384086432586808141259424462119987273662596620060564865928698848365339278310811711072731338625103546797469128600611108947544017332123827670527052301091519423283552116410782025263821977172036640548354197265228252270899084679870117132996463359620211765514064238830625562343345134084865571393237862753716453728734817602464181014699232562697669308602131420568411700872296519240985938059710950403977594246947617293346281636654334111112729898760893509949569736173174156947780393026641214072447851515338605879622855116095341554557381258628969285228957007920702561843582567855995199900201533122659571349830338594913704852836000912709870688107223936947111603796900277175530494290447994813080204589610850978159879224196528732022557845840423577509820017914121566529911604033324580248326704778346994876965618740989454242456711196275063544867075726940229993402318023417384899556003301085855391665272837823297811246424461191562325783203256260695589403870407617945703046920664450333419123048539497640275604711874494988942205288375842598143008463230376245615775827928486155800797835028372228769518438100377141305780074123343127402350209755996567859734037150474342677135212953074962795237621301461611472566319341710573537824072870223772868308309804571093574483954534616886114017964663932139543068656599129959320086490547255839500596767344581449780101153454423054636774801367801153387841637424653187918662675470443667923949287725312766437691111396087269306905806107756287267583460511159849005594956885732823294934689830288630703131672842016192351062567888667981656837305282262477525613944338453547261533644979091240095510760481100687476522240648483858679781023053963818680332922556877448541533548306557698650644973899485676103756041234897128657056758984481976782630850480631431518009163780932186346749823820550932683030373328382615653741279823656133936914421563671969526578855551004355445996543174744390741255253565775651219382668645467877630417196882409455366697457681811332973080469491880748057942563448286877070864971741758708070593089524755909331784803590463481001367628168235404868841746320687859488860525951506451889608262829892042693440127536951039198338706296031961007895346277570542428130098846746542791278858766572816098240731181526802131585790721422389409376106906512927683942823495596816587908741770882411566986469871471659099018392051743095299044192154367306952132837681062246495917261213051636114093801790093179875478345251373952294993488094203389916833840599372444724848682558003776693413406268855016696249767690882721997086807029701148503975168104409384093366130389562529869633656094869978937423562690225608404776694545938264593120813798606203304589117608640133878952235532667185735936792407292955640260348340024597161655169814286866309003848068192574946487507877869147463997076262020363176793806149852631809121376630149554535237158236811559218884535738905840018795554976110393011849962256655334563514085310716880227185539717163626086233939151209913028749368841600163062305557379076094956630075410115575634909636245757538502389599061776139328600122856589320565145803735118149929168864835078908501535142590218547289570534357362231893951343858002817376615649523023476341167245849401923789699872169449792606980427514744838937177231865992001867463443216468997678994453163934120317475936056106394803075456987185714615501803625238850603403470153819230004519282079410728674698928808715506240093817049902592763046914531474482698804209402684335205184954972609492810508257830037235424312508624632198445123514758908449840325691706525272795037989428340791274884468447582093119031052697793929230615787993145617304310802547285995605922428906037571672262870932017778933718739087790145111137574950121128930647132292454344026777560502813943909739607993157221148197627602154316131821322624413009143327412159338361805801536136198314771258670393500394073249419194913675777800176960487040813111904616820711067069478636609724003542110221897322854641723453206055892967795678038409434825774206937973124435165245972431720059489103254559959952986539488118303386643164546284549057664398193534751176806803810835125463887432059675345721 9447656812357490752144892783820034568038046968488124787431456089581255158287577534294994205920828019268984736471692946040251877495257737045539383630106227091547258746435878523762399776407920455318294852500314616297567569269019816209997898823243204862073736512851563122692162316217487297460997812947450715348586463673332876737219887535738140891508211313250740147866328276946968362869635792882701511197171121928361068626746106153487322950723945124536744584929921981268916600412089518144267380912004198498431848031786481975009195705223022579847341979666136121959154588554336345169221547759698683508159174340325690862983514998497042980781763484790497720401281762908020094309500314607526970789296714118759180391309483181779435690609654900883747357950213770863262044353529127019061681773319617804220356525377497871265992716436560272107759266619248243903565930390930094543582213275473078703491059722362816849417360634347407620748637019045614782781114362020572036568220587173288852434863038400726872614951044660577919698789962074149099940658595562452796977152433328416240796980451898715938022528352105127175615039882956222264351084530855635693475014044405479993853317957073526991718606609062623205433289110337592329001926462884273303845641616526416561052937861166768471591557303377404283940923291542369936815529346796636063205962865832191954593952916374412279470837923349084480926605887438384852584005255083321243981098927497799495955151983070644685145564640854066823884226577949678203826172627983811434046937184155586727910231730276714723718604766458753185520481634217308640012033195452520401850864753891420062416665311898840153142230570524236033718173050701872581986096904935428161886584469597943711028880388745512376710990916194671752550732950444161336556331425342911642948122715952109028887639903964325137762880648980851999973899309496890441682726993642050395245882992957312965488954943573282409180358559185638128349413512407761379541338250814533638584643537226777718557634019303469135455428153270204726956602584474284014532882644917009943893161519823694532980553132839891916188171681649604955654340806853267949103273506950143827884275265665002959902122592529422265976741445071870434040139088221216193466894972133402279696402136394247112582848163744288597989925906842141348294011716536148202587067799795078886858795651300823246166387828145562406285787150244212199939512339098061090996391317118192716240023370196514684374809749930826874206528130637345827083351014306107051873987947530330362278101701140267471552359642286442768831255846587973661662902186062780856241217387757946132236874882396366439453949094617639831925059122612329669916072461216042531452129222576588689181117673774500103657378825752202861426796691758037149476018078314993612774640546170683860942564980878558949833135583812081125684645003940715521239715365436462483830254236318564352209108856964806207373647860092872440325685047989377718552127395960929711577021294515266177809506615107407553477812798956420111490582630536636351736210030303921062385872131209871609052937237089759921690277394953922398201207702485051340831873026888717454210701805239560520025592715581553999058830455977441439358777842951077458103881047637552464066993055843763663178928878290742695254112799349340148159769658180030499469110540921269807888556175647416577665446625889648689028493399060154991698541097672623393440110886536391659860177051298835806065418775689467608089457066242268267076188942049087757477653269791305217418931861193134009217085153963207681973308280939253996326462019778203704033160229966713130720817137313426757398568268175245118908005394429071610910100790438943690504709753180260354467931835317946105831199788976701964567864725898100650904436780003886740066633933122666122724426698323410629112092494576968083747301351316891601100391029883397188572623114635276083213194176189664210205607437405257941595757620022001292116154173884589778711769427089091196328109490132424672301387445422781650082954259024322871116190860732165959379770436167834635549561943775111703098227726081455753511492377525678163246381421157540961183894036998480821739140016221723225767894669662385076864967672658069166849757864626413291991058990203 15286629836438907614557971673491027017422931656873699588565162456475639244720164342436253630382948006542647333091753510906180576343623076323850195341178958430172362293233347652363010885355464472650418680170841668598659088692303368326408680848507026839245773153399917319957390568488386382140867930080447178708206675438846940976050513098081486025593076884643978010620044730675703180472099973897400743759868791236963200047314517854359619469964931062596455535333899575515864217705435799780921715023116928397192741541736051711182369862170802972873983193738583973474493194433959200285316889314256064766788143625554647870904217560340625548637758684690699253523941334257850432904414019460362971702006584806866404328256594785576335967785185395174195352763293975452872895331689006243258210505342175650060780102887317889180114282966471876141083846867574948681912925267895713284571667517929789899766123267229892576357590627749725644166021918601618083866969753685844874391518398419713313626425364183930128875646634064448327316735665121069764390992014685501336474792708933128115291969394104004313865126495113590405991285498732050192837240331653470721847242813923918094230459262853601115061734011412832961429856970071629479476269140019486256920604411764037862514549333733087813302130841201477154164696159850679741386622921280590597822848979850156618526092459443068878600797243435575028182445388035152197165455035184474698404153564272600863756305370912282109798752559516742294327894501898965929138939065674922830134206491061392835666518997860175234878453772053710071253304929151998470300663898584193243867057104953987951084646968736145435404708096138180372171720312235517561077337000446188642987271946120184359512739068526535430674809596527594309428181491977709643114030075987885542433798819708150263784768561021084122244857431611702480605330827506054222614913340391874215796815675987686293871570597314562232836492496100059692021383038986616930545693696811076813329034278482031284333285238686137780923305783687401609366057951171741696344215617997479435773909577766257981267430203704863657946879752242694480410250138638071539566754508317771996119680134506749280589982081389948217483193334680133263932181781661343730417934170472108575728363144289593390153390591874387444736468698121000114866827814776879384113869931380869608281185060676930152679315512088385901882603738152953970821923906084530962468050416136584767983118669240706838742116702063664555268774626554607040134987128399908841967167823008675613652053996133755565755749559120283368203700571436656219666678879476187125096234084007713823119596879483173469155097598592807936334443215978460059478602330849698626322108160000151379406726078551194649595643418873016660032999996347154758116151957267229145441826282107476268235520621138907289857732745467250939971511312944563589432290311923970361699401700315640614229472033758612357226279669214249070475239583226535955363686614845465450482861313310821153919899626957369810133147362470505422207462857722176068899836116537860213595785159959240450653100299395317300766372351583997808316783337394687586589411529278316515986841133839683376614913280727357734176980385146306274437686344486220048322428337208086821429224949795107521181746254906392218277589140516585997561693447879902668918903147901697322633395112824648443657448493353091905497491078054608155632661415148559449546505689611848647045891666800639431304269379092937761908687070761550346486917616748016566193159509885122267321524624240048540691567852767417084657643486124208968935954830286461534070395654279221755353015582436941516307018108500936825433278189467061039250892065323412138086802872211313052261861065933734098976817093287504511853860331820529556942008452266757672084412866841405210514571809460985579233221425224100376201645378094452103914334939623005181729844262832903685367510308010986834618616580732670100934119425823537428314468945143260172212163500338510391241785267932601632788428258534686266903665326093801507725914864274276181277093290809558088755617836742907381136637160907229960449465501960843409218813141217030064438453996951467361227258319608366390314179218720049475058502423834875970660592990090300724050734335924 24734286648796398366702864457311061585460978625361824375996618546056894403007741876731247836303776025811632069563446456946432453838880813369389578971285185521719621039669226176125410661763384927968713532671156284896226657961323184536406579671750231701319509666251480442649552884705873679601865743027897894056793139112179817713270400633819626917101288197894718158486373007622671543341735766780102254957039913165324268674060624007846942420688876187133200120263821556784780818117525317925189095935121126895624589573522533686191565567393825552721325173404720095433647782988295545454538437073954748274947317965880338733887732558837668529419522169481196973925223097165870527213914334067889942491303298925625584719566077967355771658394840296057942710713507746316134939685218133262319892278661793454281136628264815760446106999403032148248843113486823192585478855658825807828153880793402868603257182989592709425774951262097133264914658937647232866648084115706416910959738985593002166061288402584657001490597678725026247015525627195218864331650610247954133451945142261544356088949846002720251887654847218717581606325381688272457188324862509106415322256858329398088083777219927128106780340620475456166863146080409221808478195602903759560766246028290454423567487194899856284893688144578881438105619451393049678202152268077226661028811845682348573120045375817481158071635166784659509109051275473537049749460290267795942385252491770400359711457353982926794944317200370809118212121079848644132965111693658734264181143675216979563576750728136889958597058538512463256773786563369307110312697094036713645717921858845408013501312280634985588546938666662416405889893362937390143063433905381616804873856415718128070541619457272047807385800512722266061978914442421870979670361501330797185381921535660259292672408464985409260007738080592554480579230137002944664297640334033924611042698668944999259360525540887844642016851055285697820370796551394378310087031947625610451913677815708809002890919257989606916378733936957606336322660535646025710877098262914489379667071097589952514247983336544755574135051433892299436064590945491339488670028015267915824003955400171752240492104673919370483459934779752003697972320869882559923884829142605510855424765280683840502736238755618676042726394604963141463160839531313027586700937731175948495139980711977753398845703340233948308168390888397166170761436245182592053464441733254777484223142039437221523116926451994491429475302757191952867218338142706015893841155770539005975930155697274023037308109201406726137034956418024629881329581065538967981337451471765659955356471761879539908609046693210447768259502338590789729394674792065741157774237382576740068587843752325694753253022244625219521459796688105191907592170035582222758216466828278160129178085602017466239690868329279332065656156316885279110672005677360432845529655936634204966438580890723418564599927529307121510800924631215913673915814010806395162059882607826087331729406242064777363610960161426925533698045488258812420636046146841781275981657291169112059706037536485077222456649746537920206517991039879738927421284556167033970197542939079243896640505996308911733235810841123747713796464187437297506426309384845639285496218005638871184360675133197134913531701939865926145721463106059933168388013688822967130521951288472065021322895119242740594525984477114763147331202512821182842986616576148240306906068718099475237369688154782405369998144137003818613563106558797104323670812779676427484740456485433182549908653006730624766630951767063462965262416850064665238103555884245934886073832719750368273705586376676181944341283583896132650160992855762355828591512625391573406729792901251680204808016882264206476421725057718630207846445232270644412151046799964071333238998507784396208345313919801068459948946729411343705014725969506402370302467377468179768580704484200651044824224018137928042529877045845538720430623119027849950923932927427601587569894758065026305089815703957467916986619585118124378842105725006442140656863726977392724305179780518019084234864886988685713960957879486521572465194562374571025622348033949948182966398335830089616082073888382434551923470096492945137510350854716714016041793326127 40020916485235305981260836130802088602883910282235523964561781002532533647727906219167501466686724032354279402655199967852613030182503889693239774312464143951891983332902573828488421547118849400619132212841997953494885746653626552862815260520257258540565282819651397762606943453194260061742733673108345072764999814551026758689320913731901112942694365082538696169106417738298374723813835740677502998716908704402287468721375141862206561890653807249729655655597721132300645035822961117706110810958238055292817331115258585397373935429564628525595308367143304068908140977422254745739855326388210813041735461591434986604791950119178294078057280854171896227449164431423720960118328353528252914193309883732491989047822672752932107626180025691232138063476801721769007835016907139505578102784003969104341916731152133649626221282369504024389926960354398141267391780926721521112725548311332658503023306256822602002132541889846858909080680856248850950515053869392261785351257384012715479687713766768587130366244312789474574332261292316288628722642624933455469926737851194672471380919240106724565752781342332307987597610880420322650025565194162577137169499672253316182314236482780729221842074631888289128293003050480851287954464742923245817686850440054492286082036528632944098195818985780358592270315611243729419588775189357817258851660825532505191646137835260550036672432410220234537291496663508689246914915325452270640789406056043001223467762724895208904743069759887551412540015581747610062104050759333657094315350166278372399243269725997065193475512310566173328027091492521305580613360992620906889584978963799395964585959249371131023951646762800596778061613675172907704140770905827805447861128361838312430054358525798583238060610109249860371407095934399580622784391577318682727815720355368409556457177026006493382252595512204256961184560964508998886912553674425798826839514344932685553232096138202406874853343551385757512392179590380995240632725644436687265242712094190840287224204496675744697302039720645007945688718486817767407221313880911968815440980675356210495515413540249619232081931186134993916474841084129411028236782523585687820123635534678501521082086755309318700943128114432136961904502651543903654302763313077619431153128424973433892889629347493063487462863303084141578027667346089906970814807662556818103421165772654683551525018852322334210050994626550120141583360151267123015932492149391362252206260708677928361859043154058155984744077383746559907353325271105924735808323593547681589582209693407778603063858760527009505238656989461286100996259945015155106433685555773373778476068641362713377764144291803255704593945554569249788873277122915439784096345542576891447994569830876889402848665663498236181492796684452346665708321992849451903658293110385636397413606223156373529548601074746583005627667629829842700104295989284403207229057636949845580668052924482030921826207198521370581276164214442449629279500625651860612542743921136908485649305869022147173744107523897430955905508345980988489535882263379641489577442451128352510359137835880394523223022098121918014834774377274426514010696085445350486184384072918927273255419277036269467412791226270053988234150531923517554748737722053726106925442955433978705542421388103527131809291080382512143283156553939835837306916836724664453155346401296713464980343612595832500023475555169371302963863927969742292533122265760088953951960384900114668673957533875343131906831207765368960050024175545120889863972289561549752061981109673231090600220859498041851288595253187671934198371680351126772173951538525156641426848302187309790012604485177118769774561773363193689411884921085767966678315497602886458991653967185414303784833975551710988275585389539159764788453684537402084235459666805476543753570317245381787578535345025168836150592107505795808929060909129407552032311640301083453948214792211637879442840598870598143463996471669076148745092064171110123136096427766111978811680025997627937878243962492154183890284911211925886568020589280718321933957017786950813060797617260926465371502047895915674410423381447364981684007703591601090060802030901415544193656655438456006396253107102484026981972520327821108170943844807014740092527662051 64755203134031704347963700588113150188344888907597348340558399548589428050735648095898749302990500058165911472218646424799045484021384703062629353283749329473611604372571800004613832208882234328587845745513154238391112404614949737399221840192007490241884792485902878205256496337900133741344599416136242966821792953663206576402591314365720739859795653280433414327592790745921046267155571507457605253673948617567611737395435765870053504311342683436862855775861542689085425853940486435631299906893359182188441920688781119083565500996958454078316633540548024164341788760410550291194393763462165561316682779557315325338679682678015962607476803023653093201374387528589591487332242687596142856684613182658117573767388750720287879284574865987290080774190309468085142774702125272767897995062665762558623053359416949410072328281772536172638770073841221333852870636585547328940879429104735527106280489246415311427907493151943992173995339793896083817163137985098678696310996369605717645749002169353244131856841991514500821347786919511507493054293235181409603378682993456216827469869086109444817640436189551025569203936262108595107213890056671683552491756530582714270398013702707857328622415252363745295156149130890073096432660345827005378453096468344946709649523723532800383089507130359240030375935062636779097790927457435043919880472671214853764766183211078031194744067577004894046400547938982226296664375615720066583174658547813401583179220078878135699687386960258360530752136661596254195069162452992391358496493841495351962820020454133955152072570849078636584800878055890612690926058086657620535302900822644803978087271530006116612498585429463013183951507038110297847204204811209422252734984777556440500595977983070631045446410621972126433386010376821451602454753078649479913197641891028668849129585490991902642260333592796811441763791101511943551210194008459723437882213013877684812592621679090251516870194606671455332762976141775373550719757592062297717156389909899649290115123754665351613680773657602614282011379022463793118098412143826458195108051772946163009763396876794374806216982620027293352539432029620750516906810538853603644127590934850253761574191429228689184403062894184140659876823521426463578187592455683130286577893705657274395625868103111739530189257908047283041188506877402934557515745393732766598561146484632436950370722192556282518219385514947286312344796396449715069396933882646139736429402748115149884975969606052647414219380140938512774571663413811940629649479364086687565512365390681801640371967961933735642273613407485915982325841010554123087771137027539033733832540403242253286373190985013703472853447893160039518267951914981180941870582925153631516582413583202584156101687908123455702952593372557538573300492028431674661874759938663796526591691825173839769239469404025915071283823946715121810776301666644836052758713573584050547106633815205449486426134727828492092077088845658363303195314636458255774602626528962995817378712111086924537355067685324356489603553834239800910171928410221422765559099742297464570065175372365471745679671844659838221352765417154165441431980641612384456381927011998171169895925273345181200648602067393801702030614719360815061175047106899365392421660961072849889903096521300662045340993020248438289004619659999769005694930525547631583677297689768778486303238731838573094549460032284134450295066440790925135519738841908329260858029102999589906043645688657748501904975344769187573613130734342225213534785069237977236802437595106413640508873866228666617919547020251134899460788530415792010277507422771091527500681021937678063718190861853300714115845357259326339572877776848123795269828122994459865721446868437094508592850857815917464697310447257789972634898916808046496386506466769547876992568825029777995923849264826237296099538836917139513943786878635809922334779017769263222528919276412288924267064617008526185993873517514614869175715183198960074060029355193713566381574784062654242968059666449622100876904496330050265410126314287160462590820744764343537365977397778945549606366934884601388371381260933886554149202265966172115683150064851363727160054991268545622478326995484918578905442616820766245681294699523728756134320988178 104776119619267010329224536718915238791228799189832872305120180551121961698463554315066250769677224090520190874873846392651658514203888592755869127596213473425503587705474373833102253756001083729206977958355152191885998151268576290262037100712264748782450075305554275967863439791094393803087333089244588039586792768214233335091912228097621852802490018362972110496699208484219420990969407248135108252390857321969899206116810907732260066201996490686592511431459263821386070889763447553337410717851597237481259251804039704480939436426523082603911941907691328233249929737832805036934249089850376374358418241148750311943471632797194256685534083877824989428823551960013312447450571041124395770877923066390609562815211423473219986910754891678522218837667111189854150609719032412273476097846669731662964970090569083059698549564142040197028697034195619475120262417512268850053604977416068185609303795503237913430040035041790851083076020650144934767678191854490940481662253753618433125436715936121831262223086304303975395680048211827796121776935860114865073305420844650889298850788326216169383393217531883333556801547142528917757239455250834260689661256202836030452712250185488586550464489884252034423449152181370924384387125088750251196139946908399438995731560252165744481285326116139598622646250673880508517379702646792861178732133496747358956412321046338581231416499987225128583692044602490915543579290941172337223964064603856402806646982803773344604430456720145911943292152243343864257173213212326048452811844007773724362063290180131020345548083159644809912827969548411918271539419079278527424887879786444199942673230779377247636450232192263609962013120713283205551344975717037227700596113139394752930650336508869214283507020731221986804793106311221032225239144655968162641013362246397078405586762516998396024512929105001068402948352066020942438122747682885522264721727358810370365824717817292658391723538158057212845155155732156368791352483236498984982399102004090489577339328251341096310982813378247622227700097509281560525319726024738427010549032448302373505278810417043994038298913806162287269014273113750161545143593062439291464251226469528755282656278184538007885346191008616277621781326172970367232490355768760749717731022130630708288515497450604803017652121211131424619216174223492841528330553056289584701982312257287120501895741044878616728270380141497406453928156547716838085329426032037501988635663456793078246835012760110803398963457524685072681924988684917865365457802957634369155094575084089580243435826722460745147512270396947202083322100955569278194204822583312407512308609044604966664137335276816959177447393447729289307141229037896620725966928467730522964576983414079473558950353571621691884445390057009885239008814021281126565533053049049432924005298048330213298788070478772498076911491576544964510880597655929239259987771210533896127774686739687480408252341926349862673353253060100812932474815262110116387145370450099904303028017980109071711099175209221787445509062180220789399707810673601064255136542193425817080424313208245866268902693942781756236187539794428591955442676727057734942566311084917098443151344550381450668061393293663855690264765251284332615923784828953091499347103916506828595445517909404189177150284100630950432287776213939604843001847362272296036832644091065491951283582344434405594572935587453505753258930368760667428052861107668418214809989487899704574717603222533091633811806552534556533663154909887346103398757358799526988864418704779644731109094725726708469208142273438806833659160210766918782451458961296248168927529324124987853730795347030419483890407130622520028984762697933891761948143620597346324713100835622508812377684833367628452972895836796949737423352601345448580621966133575024420746139142275159783502384609851406132250130944422935322872847787765217474367090658070346676477134068623926803709905215879124329457869989183691017920807247370070197196125782959825545193254810060282180846303628941776284767189407541976151978146903567878784524777762551294350426775015039872014977868982780517062781804642381251535833209969557773205743952095752779271353711646707001628874580102587402605887415137148587353852238544330743496226848650229 169531322753298714677188237307028388979573688097430220645678580099711389749199202410965000072667724148686102347092492817450703998225273295818498480879962802899115192078046173837716085964883318057794823703868306430277110555883526027661258940904272239024334867791457154173119936128994527544431932505380831006408585721877439911494503542463342592662285671643405524824291999230140467258124978755592713506064805939537510943512246673602313570513339174123455367207320806510471496743703933988968710624744956419669701172492820823564504937423481536682228575448239352397591718498243355328128642853312541935675101020706065637282151315475210219293010886901478082630197939488602903934782813728720538627562536249048727136582600174193507866195329757665812299611857420657939293384421157685041374092909335494221588023449986032469770877845914576369667467108036840808973133054097816178994484406520803712715584284749653224857947528193734843257071360444041018584841329839589619177973250123224150771185718105475075394079928295818476217027835131339303614831229095296274676684103838107106126320657412325614201033653721434359126005483404637512864453345307505944242153012733418744723110263888196443879086905136615779718605301312260997480819785434577256574593043376744385705381083975698544864374833246498838653022185736517287615170630104227905098612606167962212721178504257416612426160567564230022630092592541473141840243666556892403807138723151669804389826202882651480304117843680404272474044288904940118452242375665318439811308337849269076324883310634264975497620654008723446497628847604302530962465477165936147960190780609089003920760502309383364248948817621726623145964627751393503398549180528246649953331097916951193431246314491939845328953431353194113238179116688042483827693897734617642554211004137425747254716348007990298666773262697797879844712143167532885989332941691345245702603940372688055178417339496382909908593732764728668177918131873931742342072240828561282699555491913990138867454452006006447924663587035850236509711476531745353643418138168564885205657084221248536515042207293838368844515896426189580621553705143370912062050403601292895108378817404379009044230469613766697069749253902800418281658149694396830810677948224443880004308915836287982684141365553716542547841379119178707660404681100895776085846298450022351300543458741919557452266463237434899246489765656444692766272952944166553154726359914683641725065066204908228131810982366163450813182837665623585456496652098729805995107282321721056720606940474771381883807794684394480789785883804433118065647941966123401281975959610851441246141149447847219950510526261830662650300841340889328825409180952877801667837511392884154481159396997282057715052041479745147587397983429567423812309306049712801227407812987713229450596989873504053068027539882798413148195315523260086321656899322574075312746484784117946674881320554892929894678476654178354765430341905759176235670129898568372161747996979062900120406730091195996248454242894546143935112616014460590309879739083822487020695641935723281650489488580611338014582365787441594457540305211582757396874657368670119398948238096915269613047269823726631868709995361057657392295379970645147677098831935852456891768764877579678485348614430704851222491277120879388721292395873939373848696777887819927620509941780834270437586821076272978689122395619737640203553996809551592563572599949576747475668018590899294480761248911190840135716781897303744107276285644229571316933542428037504225666856299886058371617968591955375087127689293689941733119948741182710792728966384067339696428210346062665917448986208883720198006252487881846368557640474782015557217971743591806190434547704059603320970535691183545917670206284054739710058251518153495077008472600344572297738707967304937779426233874677643428349669781340074836816634666401027396701869675839609899006053345036215727976969832887650515451743506698305887096522430569030271256155138153539111574829594122936423814363295391398385644093903872026417388273217855039247115598507315637887792752412818817564584235917665118451153185903315138089982412235523945321427102160604142998513766637975547251352907098072321184792857753969353599533533243854472252361169638407 274307442372565725006412774025943627770802487287263092950798760650833351447662756726031250842344948239206293221966339210102362512429161888574367608476176276324618779783520547670818339720884401787001801662223458622163108707152102317923296041616536987806784943097011430140983375920088921347519265594625419045995378490091673246586415770560964445464775690006377635320991207714359888249094386003727821758455663261507410149629057581334573636715335664810047878638780070331857567633467381542306121342596553657150960424296860528045444373850004619286140517355930680630841648236076160365062891943162918310033519261854815949225622948272404475978544970779303072059021491448616216382233384769844934398440459315439336699397811597666727853106084649344334518449524531847793443994140190097314850190756005225884552993540555115529469427410056616566696164142232460284093395471610085029048089383936871898324888080252891138287987563235525694340147381094185953352519521694080559659635503876842583896622434041596906656303014600122451612707883343167099736608164955411139749989524682757995425171445738541783584426871253317692682807030547166430621692800558340204931814268936254775175822514073685030429551395020867814142054453493631921865206910523327507770732990285143824701112644227864289345660159362638437275668436410397796132550332751020766277344739664709571677590825303755193657577067551455151213784637143964057383822957498064741031102787755526207196473185686424824908548300400550184417336441148283982709415588877644488264120181857042800686946600814395995843168737168368256410456817152714449234004896245214675385078660395533203863433733088760611885399049813990233107977748464676708949894156245283877653927211056345946361896651000809059612460452084416100042972222999263516052933042390585805195224366383822825660303110524988694691286191802798948247660495233553828427455689374230767967325667731498425544242057313675568300317270922785881023073287606088111133424724065060267681954593918080628444793780257347544235646400414097858737411574041026914168737864193303312216206116669550910020321017710882362882814810232351867890567978257121073607193996663732186572630043873907764326886747798304704955095444911416695903439475867367198043168303993204629722039937966918690972656863004321345565493500330310132279620855324388617614176851506311936002525770999206677954162204282313515974760145797942099220201109491883391240055785946721143713700729661701306378645995126274254212146295190308658138421640783647671360565085279355425875701515558860962127243621406855225937298154201380320148970042921692679476180782194163848758449758492452186614647861538647621827748234788618618132550409990774422393804439860614677445736380411361531274002395051366839471843373486577309051318120070993927792940866036762662374602287921834266366815610361570911225106807099805050832537496978503314572734255994651842802656007294580410302930818580528217438783594965859989168144945160678488548893367429162804423434748071305067959553418103767931380621678194681379709587549757423551275832184129149098730913801788857204283485059730223350693727845006011349352317334095727854341514549181832368056198614374108082536771388654721513082560145221929480293022616764805548391115868794086507080794132340109040399641561221510339153580172087878978691698625250092223657342585871899762388870403420707384283695331207191145956812927178312259991625461057245165690478008078798999055478852133723931769528588449838300640939440554116917420332299786837031214531275004665703102727063317682083556335831567128748566779108951949629575180425345363587865355739670187653771179781555914139681896659618504366397542403172715907319166115364189152515147648539682112133348220524551174370643102120851689447481604119498943657630438733919596718484847109580097562928618484529049560599800725763010159689482454166244871068960333909956575483187413660142531686875048766774844909613495881996905017329677939100468452280921113364656768084404183218604660666924333174670411283311414002569366420121422918031640376269866932238219527427858689579562104900445635513934990545696389625815622205081718527171054256356922269867478284682548880227487200659723790680272891117940953385771788185215748588018288636 443838765125864439683601011332972016750376175384693313596477340750544741196861959136996250915012672387892395569058832027553066510654435184392866089356139079223733971861566721508534425685767719844796625366091765052440219263035628345584554982520809226831119810888468584314103312049083448891951198100006250052403964211969113158080919313024307038127061361649783160145283206944500355507219364759320535264520469201044921093141304254936887207228674838933503245846100876842329064377171315531274831967341510076820661596789681351609949311273486155968369092804170033028433366734319515693191534796475460245708620282560881586507774263747614695271555857680781154689219430937219120317016198498565473026002995564488063835980411771860235719301414407010146818061381952505732737378561347782356224283665340720106141016990541147999240305255971192936363631250269301093066528525707901208042573790457675611040472365002544363145935091429260537597218741538226971937360851533670178837608754000066734667808152147071982050382942895940927829735718474506403351439394050707414426673628520865101551492103150867397785460524974752051808812513951803943486146145865846149173967281669673519898932777961881474308638300157483593860659754805892919346026695957904764345326033661888210406493728203562834210034992609137275928690622146915083747720962855248671375957345832671784398769329561171806083737635115685173843877229685437199224066624054957144838241510907196011586299388569076305212666144080954456891380730053224101161657964542962928075428519706311877011829911448660971340789391177091702908085664757016980196470373411150823345269441004622207784194235398143976134347867435716856253942376216070212348443336773530527607258308973297139793142965492748904941413883437610213281151339687305999880626940125203447749435370521248572915019458532978993358059454500596828092372638401086714416788631065576013669929608104186480722659396810058478208911003687514549200991419480019853475496964893621550381510085832070767312248232263353992160309987449948095247123050572772267812156002361868197421863200890799446535363225004720731727330706658541448512121683400491985669244400265025081681008861278286773371117217412071402024844698814217114185097625561764028853846252217648509726348853803206673656798228558037888113334879449488839940025536425284393700023149956334287303069229741126235406428667519748415221249911454386791986474062436049944394782145861404785438765795866609534510456977492437705025329132855932243594918292882377477355672367601076482596308456033632344011051416091249706727084038005813438214617984887816080758156741805015290004590907940299406565158387800478284478049076129507946957959590943652224061641951253498831926895777408643588989054436531111987059241356916144732863627426120706729020348679024475891825199277795338319434843150244369324373302122623065137154194396301077389885480740778769789477537327849473340197609295234706572204213936871619165403815075059246860710641364408225704543841478162501064208007660998314075315734294209141970019467288841246038296527826064872380381403290369468542298067425517664945151268150217594106749191991464397973740462787278747637669245884197834714405481384015779170474855525192574627970121448700658005282884633671666185566142746770813891622132838342389727874872567961818352540395403137912151277852527652734032826457224496980362972817726826928786160366923987863852555198061006821913166146026669698293536240101044914771905245370347142044748215726198346488737265842214874535440198131304551761474345031909637458643463520860818690299899057693132340367909391729430927561783950016250319688628767764797859879902912106386212766100043647497922876384087107780958705582196243741715454318756215734720288313308404906429157539855637652438734638911334264169016223555076885035342354852359206692988949470507103084996506117120567272267770830009749566474489240758696358259663844881654425360361357002580302792113852108508130739708436059266903768342913998306155028475030219724573056055377215286028986754693339277957278755974777182570126012279840677507144146340818110753965088176449011527715798034440605663848598156416961065268381244922658096131580394298732044975473130645087294552919305032039688000949187927043 718146207498430164690013785358915644521178662671956406547276101401378092644524715863027501757357620627098688791025171237655429023083597072967233697832315355548352751645087269179352765406652121631798427028315223674603327970187730663507851024137346214637904753985480014455086687969172370239470463694631669098399342702060786404667335083585271483591837051656160795466274414658860243756313750763048357022976132462552331242770361836271460843944010503743551124484880947174186632010638697073580953309938063733971622021086541879655393685123490775254509610160100713659275014970395676058254426739638378555742139544415697535733397212020019171250100828460084226748240922385835336699249583268410407424443454879927400535378223369526963572407499056354481336510906484353526181372701537879671074474421345945990694010531096263528709732666027809503059795392501761377159923997317986237090663174394547509365360445255435501433922654664786231937366122632412925289880373227750738497244257876909318564430586188668888706685957496063379442443601817673503088047559006118554176663153203623096976663548889409181369887396228069744491619544498970374107838946424186354105781550605928295074755292035566504738189695178351408002714208299524841211233606481232272116059023947032035107606372431427123555695151971775713204359058557312879880271295606269437653302085497381356076360154864926999741314702667140325057661866829401256607889581553021885869344298662722218782772574255501130121214444481504641308717171201508083871073553420607416339548701563354677698776512263056967183958128345459959318542481909731429430475269656365498730348101400155411647627968486904588019746917249707089361920124680746921298337493018814405261185520029643086155039616493557964553874335522026313324123562686569515933559982515789252944659736905071398575322569057967688049345646303395776340033133634640542844244320439806781637255275835684906266901454123734046509228274610300430224064707086107964608921688958681818063464679750151395757042012520701536395956387864045953984534624613799181980893866555171509638069317560350356555684242715603094610145516890893316402689661657613059276438396928757268253638905152194537698003965210376106979940143725633810088537101429131226897014556210853139448388791770125364629455091562359233678828379779798972219646391749673011314200001462646223305595000740332913360590871802061931196010057252328891206675171927933335634837931808125929152466525528310840889102972618711959237475428046240901733339933666025148716237452880431908472009971592493306138295037498104932664382192207193758363588027809508760234337523999179138763040666432751593179806249339125906305797310918126565090510000934426646455446391114113509372632157820005120263056831582478826531084730402722041914945546191700656813289545061238554199801565717172585801658760605940235598408929722870187986731893279580704458214996773421632280193335144053750500540113815234789642997531837479154571960020219925349259534731837388508967276226233806132167561079102082006696355972403823349729054838598669589572360010194021479112317092158325746581552485247888295844995995223605456101509325560125828081977336460580005725444498571942796942252772670500683557415670414504108263144065465463553674000502465752692646936879110922932021774399563900067028452740049697331232094028388004374935195113524633795215327627917687747256513058034119932117179851166176112546823522064067078856624034748497292591718953178638703674773958796980345389155166752463406157598142001711566654729406309217464577072095227319542199799352427947438866678166645081969943089817074794515427139689686437973459808549320711999561799571724890579163642446820213830195550202471970111220729844783423827587666976740285894658956410525758118605021459757151382392269350068183765734708402186465132905283470843735742549549271232866095156195599574733517138839790343659523049972428172356500791350719930421200205270970498462299697131181786447231208160716980380268425110998402489373633135697144057747726466660526700031556121113460700875310396351047049502364231807268536196723708445718556389479023166994707917341613656645687382375769210673317987538248723207340645011807881499391768766153403536205235506305076820224903749537206215679 1161984972624294604373614796691887661271554838056649720143753442151922833841386675000023752672370293014991084360084003265208495533738032257360099787188454434772086723506653990687887191092419841476595052394406988727043547233223359009092406006658155441469024564873948598769190000018255819131421661794637919150803306914029899562748254396609578521718898413305943955611557621603360599263533115522368892287496601663597252335911666091208348051172685342677054370330981824016515696387810012604855785277279573810792283617876223231265342996396976931222878702964270746687708381704715191751445961536113838801450759826976579122241171475767633866521656686140865381437460353323054457016265781766975880450446450444415464371358635141387199291708913463364628154572288436859258918751262885662027298758086686666096835027521637411527950037921999002439423426642771062470226452523025887445133236964852223120405832810257979864579857746094046769534584864170639897227241224761420917334853011876976053232238738335740870757068900392004307272179320292179906439486953056825968603336781724488198528155652040276579155347921202821796300432058450774317593985092290032503279748832275601814973688069997447979046827995335835001863373963105417760557260302439137036461385057608920245514100100634989957765730144580912989133049680704227963627992258461518109029259431330053140475129484426098805825052337782825498901539096514838455831956205607979030707585809569918230369071962824577435333880588562459098200097901254732185032731517963570344414977221269666554710606423711717938524747519522551662226628146666748409626945643067516322075617542404777619431822203885048564154094784685423945615862500896817133646780829792344932868443829002940225948182581986306869495288218959636526605274902373875515814186922640992700694095107426319971490342027590946681407405100803992604432405772035727257261032951505382795307184883939871386989560850933792524718139278297814979425056126566127818084418653852303368444974765582222163069290244784055528556266375313994049231657675186571449793049868917039707059932518451149803091047467720323826337476223549434764914811345058105044945682797193782349934647766430481311069121182622447509004784842539850924273634726990895255750860808428501649174737645573332038286253320120397121792163259229287812159671928174957405014223151418980510608664230481459148767019539321810346417259968706715683193149234363983280029620077669530714591232321394920375399559950111149664262804560902173145328258226548402626071909820481508391068318427626125650149346453589354639391466230213007196578206012697324840992494265804194428767631574373050999744964637139604190783846387047634512048469591878078870517088342367612341299527935228648709252111268113590813590326087318866774778572972312407385833638224085714446025000843512510905236501910850309559971711052345935325140926289580658094343695737552191421757730662993527090698149409049941361847211468709098319975775095279172209970176096245614213511117704396307196375568740100396082012090266612965319748522127439915627868887836258893859493720382527794288879619910765553240996264145441199562850701317024523801822440123739327643394690382769777511347734156686279854032271195607078736233265514166121558956885136137418878213079625881736823643907237906289794903325308011515683772489431525916526213047641177367828041784852414668110229330784861048718277546775154039965102021583070888992022770061418195586127959054223553475580019329144122390137370892950809894894863984216586102094927537613769226051417127136957000843262873288766129166577224338214310310999208804225442988923639702688293148437317085509859441702483831276791929742490467711753071934289579751069926312041027165543041985732956020614947269718930664547762561315394803821126908261402447934750931957263350168247638323202942435538498741739969180152701716695300789406610620353409089524461668931052859051014564812075625565632327501042602489245033894955361947869153039647172193453912400795528661610727363782320782522037741986060542875806799978832589152325824232072490244087109213703867854786536667143444111343443719445057411691086293046224367367090279052806629968129998741143388275798123813741626534181292530059224381852264591750486394142722 1880131180122724769063628582050803305792733500728606126691029543553300926485911390863051254429727913642089773151109174502863924556821629330327333485020769790320439475151741259867239956499071963108393479422722212401646875203411089672600257030795501656106929318859428613224276687987428189370892125489269588249202649616090685967415589480194850005310735464962104751077832036262220843019846866285417249310472734126149583578682027927479808895116695846420605494815862771190702328398448709678436738587217637544763905638962765110920736681520467706477388313124371460346983396675110867809700388275752217357192899371392276657974568687787653037771757514600949608185701275708889793715515365035386287874889905324342864906736858510914162864116412519719109491083194921212785100123964423541698373232508032612087529038052733675056659770588026811942483222035272823847386376520343873682223900139246770629771193255513415366013780400758833001471950986803052822517121597989171655832097269753885371796669324524409759463754857888067686714622922109853409527534512062944522779999934928111295504819200929685760525235317430891540792051602949744691701824038714218857385530382881530110048443362033014483785017690514186409866088171404942601768493908920369308577444081555952280621706473066417081321425296552688702337408739261540843508263554067787546682561516827434496551489639291025805566367040449965823959200963344239712439845787161000916576930108232640449151844537080078565455095033043963739508815072456240268903805071384177760754525922833021232409382935974774905708705647868011621545170628576479839057420912723881820805965643804933031079450172371953152173841701935131034977782625577564054945118322811159338129629349032583312103222198479864834049162554481662839929398465060445031747746905156781953638754844331391370065664596648914369456750747107388380772438905670367800105277271945189576944440159775556293256462305057526571227367552908115409649120833652235782693340342810985186508439445332373558826332257304757064952222763178040003216192299800370631773943735472211216698001836011500159646731710435926920947621740440328081317501006715718104222121194122539618188286671582675848767125147832823615984724986265484734362171828420026482647875364639354788623126437343457402915708411682756355470991639009086784379318319924630416328423152881626733914259231221792062127610411123872277613270025959044574399824406291916615664458009477656643743698846923231216288662922729861623500279988948414047061598160214427774788147273361940299540328399218618956287641491087459572055848422420200954941794040506833601226831789803373567530672240805802592924770886478730097089643697965761077138979592812505516972534733481725850672160093048653829515168099696069640121410817721588816693518518504108042646927769146953000224802409229683491038160671456249795570119982068805513127658182860238798801910734325613054037923998137580841198689522865176151490209000546577474547735115499097559229710828083002722478393930630113328543129819202478088708446239016788669477576966038585217441247846452915338606037474686120035461172396013441536841260140664805018952210642584649629904417460199907649120134881341720308289986929356780537589686866021582844496409579631585112630885638603171570860016504992659755665681637470189861931778048061213015004583459913920901148242754702001623257112480332355857485843842895168650394726626320216077648845105134956070879394096166692878719678007402192179254793287941102735526526059703273301052462126218297668749656943922986690628489222364276543043062225716713568033255390983296280254089025879019958416063329389126266608245866406221859003502055556167371093384937287925583267484492051721181147041885810589370629652709696306509606226129456422666367582775151955203519177611470631700485640359449815301152921794046678178088048012972835275308897316270034306545450410697068612574434097103409359842365284742496825770903297999504902186376215681402593156029870020027440618564910803284902294746424507840068508988698268686092098996920260679707899548676871281574854475894377749900591563232255223532923134510438427362399025347731980428600136577763597040344878691337339386155196157297515582507779937717497765565529458672489495500023600358401 3042116152747019373437243378742690967064288338785255846834782985705223760327298065863075007102098206657080857511193177768072420090559661587687433272209224225092526198658395250555127147591491804584988531817129201128690422436634448681692663037453657097575953883733377211993466688005684008502313787283907507400005956530120585530163843876804428527029633878268048706689389657865581442283379981807786141597969335789746835914593694018688156946289381189097659865146844595207218024786258722283292523864497211355556189256838988342186079677917444637700267016088642207034691778379826059561146349811866056158643659198368855780215740163555286904293414200741814989623161629031944250731781146802362168325336355768758329278095493652301362155825325983083737645655483358072044018875227309203725671990594719278184364065574371086584609808510025814381906648678043886317612829043369761127357137104098993750177026065771395230593638146852879771006535850973692719744362822750592573166950281630861425028908062860150630220823758280071993986802242402033315967021465119770491383336716652599494032974852969962339680583238633713337092483661400519009295809131004251360665279215157131925022131432030462462831845685850021411729462134510360362325754211359506345038829139164872526135806573701407039087155441133601691470458419965768807136255812529305655711820948157487637026619123717124611391419378232791322860740059859078168271801992768979947284515917802558679520916499904656000788975621606422837708912973710972453936536589347748105169503144102687787119989359686492844233453167390563283771798775243228248684366555791398142881583186209710650511272376257001716327936486620554980593645126474381188591899152603504270998073178035523538051404780466171703544450773441299366534673367434320547561933827797774654332849951757711341556006624239861050864155847911380985204844677706095057366310223450572372251625043715427680246023155991319095945506831205930389074176960218363600777758996663288554953414210914595721895622502088812593508489138492034052447849974986942081566993604389250923757934354462649962737779178156250747285097963989762846232312351773823149167803991316321968122934438013157159836246330455271124989509828805335658635806555410921738398736173067856437797864082916789441201961731803153477263154898238374596538990248099587821342646304300607244522923461703251210894629950445682624030529994665760257592973640655899895694078087147187358334931168318151591688222872841011287763084549850587192389856386762830400860057093843448690608646826844744606436987944676814211447314652633208151520000053204158442219326055607567996298303815178853592669735523618334287873490085013395589187449184690584387489623075849338191971688028277302538767279367809660453711736905040455591472091490816515428480565993232667446249803252742194396274662582306559355541831034414740838268584472440896893145606471877804475795654661131107931896838931915117513337420469255675794523510210778269769199886924328616935989511635026420524918698559302874170720536505629753989226099093478500845310135682711809198099757857213914324340792306778994777837524286106004581802911959609173431726857583939235292514825264111497819637721086043060391621958061628661580729675093797706671587770774740590449073096130874396579309588875376479656835103356072728698777072891439837427361290395879369451298897332747023967715174627756217368672273401474256042750866688205845062902164157584888464847637061625745654834812617085225125663896952654083195947326110434883770844584481536755916679906349501233543886325099005479697199832615321510590565088234683245401404986969091814559756683183491731718445204539387444163023127427755637336339418781631472251073353926837754913671638442652327124553495848387087214130144090546759024646085872873079635236572316713165469400560117249620613626546754712804455461599032965335095952061031050477702098895766034462218893379849554572451336535625500547504675621249576357955103899023059674612812018823204080430956357151871622389291510736010672152641872727060658540488701002695513647344719981486963604459418018791890676367245853882146807456437038818273474824503944853876093151508659467338127298584433095639396249406471898790295624753840524754087250509994501123 4922247332869744142500871960793494272857021839513861973525812529258524686813209456726126261531826120299170630662302352270936344647381290918014766757229994015412965673810136510422367104090563767693382011239851413530337297640045538354292920068249158753682883202592805825217743375993112197873205912773177095649208606146211271497579433356999278532340369343230153457767221694127802285303226848093203390908442069915896419493275721946167965841406077035518265359962707366397920353184707431961729262451714848900320094895801753453106816359437912344177655329213013667381675175054936927370846738087618273515836558569761132438190308851342939942065171715342764597808862904740834044447296511837748456200226261093101194184832352163215525019941738502802847136738678279284829118999191732745424045223102751890271893103627104761641269579098052626324389870713316710164999205563713634809581037243345764379948219321284810596607418547611712772478486837776745542261484420739764228999047551384746796825577387384560389684578616168139680701425164511886725494555977182715014163336651580710789537794053899648100205818556064604877884535264350263700997633169718470218050809598038662035070574794063476946616863376364207821595550305915302964094248120279875653616273220720824806757513046767824120408580737686290393807867159227309650644519366597093202394382464984922133578108763008150416957786418682757146819941023203317880711647779929980863861446026035199128672761036984734566244070654650386577217728046167212722840341660731925865924029066935709019529372295661267749942158815258574905316969403819708087741787468515279963687548830014643681590722548628954868501778188555686015571427752051945243537017475414663609127702527068106850154626978946036537593613327922962206464071832494765579309680732954556607971604796089102711621671220888775420320906595018769365977283583376462857471587495395761949196065203490983973502485461048845667172874384114045798723297793870599383471099339474273741461853656246969280721954759393569658460711901670074055664042274787312713340937339861462140455936190474150122384510888592177668232719704430090927549813358489541253389925185438861586311221109595833008603371478288094740974234815070820392997978383830948221046611537707211226420990520260246844117670143485909832734146537247461380918308568024218237671069457182233978437182692925043273022240361569554901643800020624804831992798046947816511358536096624844002078630015241382807976885795570872911263364538799001239451454546977258175648204367205388990148975226063363562724629435764273783503163075053409106461794093710992043446157845410941563828976055984656185594506410097064384963133782979156666326428777503089904462157809331064042643848121325956368282447467505730093833147722762044408165610009320623471127493762379620446474605661971877887312823253762809151111951016483546351396242655301135691947517206203417529833578659268688773095528454780293664827629469802253269071245326277367328429597752411619658467905565656533853461828378505352259428982744646542658703676059517086062751383529164724536705795331900034359801964702792436314678784426770809600755122602193823061631275044139142941634960145453218127927708015399840929211644927650244425226084673429291784218656413343762019933112635867056334975270512846669518766881404133941713781656351353758328509533150581371074556009813079379825201018470651386019067000027794472120399711793340801133781558253751581343567315069027937834089605905026327861190423012357356496999788236653181439594241425459742607308395571865510086929387324722193265233088006304806870819177260562265359821050298480940826364929049897953577448706594943611534116512365043562919606903273683193432220395812648344284301291152348633634159721977843509880497726865698714228165263484343711335722212676162980770553481911296298791714594767685639730770496349235369402497511441747546314673329863137871578735745134297069277107438923500052406861997465257760548259928893079702053430583734007365333251103576379462457800499434279358244740869647321338248388249679566795222199195875864713505050981251047114209290380364320574169855462386550253903424640522617473133496387350804677513453780590393154978757186409616288061190283299197243582750533594859524 7964363485616763515938115339536185239921310178299117820360595514963748447140507522589201268633924326956251488173495530039008764737940952505702200029439218240505491872468531760977494251682055572278370543056980614659027720076679987035985583105702815851258837086326183037211210063998796206375519700057084603049214562676331857027743277233803707059370003221498202164456611351993383727586606829900989532506411405705643255407869415964856122787695458224615925225109551961605138377970966154245021786316212060255876284152640741795292896037355356981877922345301655874416366953434762986931993087899484329674480217768129988218406049014898226846358585916084579587432024533772778295179077658640110624525562616861859523462927845815516887175767064485886584782394161637356873137874419041949149717213697471168456257169201475848225879387608078440706296519391360596482612034607083395936938174347444758130125245387056205827201056694464592543485022688750438262005847243490356802165997833015608221854485450244711019905402374448211674688227406913920041461577442302485505546673368233310283570768906869610439886401794698318214977018925750782710293442300722721578716088813195793960092706226093939409448709062214229233325012440425663326420002331639381998655102359885697332893319620469231159495736178819892085278325579193078457780775179126398858106203413142409770604727886725275028349205796915548469680681083062396048983449772698960811145961943837757808193677536889390567033046276256809414926641019878185176776878250079673971093532211038396806649361655347760594175611982649138189088768179062936336426154024306678106569132016224354332101994924885956584829714675176240996165072878526326432128916628018167880125775705103630388206031759412208241138064101364261572998745199929086126871614560752331262304454747846814053177677845128636471185062442930150351182128261082557914837897718846334321447690247206411653748508617040164763118381215319976187797474754088962984248858336137562296415267867161565002617577261482382251969201040162108108111892249774254794907930944250713064213870544936800085122290066748428415517817668419853773782125710263364402557729176755183554434155547608990168439617808743365865963744643876156051633784939241869959445347710775067664218854603177036285319631875289063309997301435485835977457298816123806059013715761482841222960106154628294483916870312015237525674330015290565089585771687603716407052614183772031360413561183559534399665108668411884199026449088649588431841310933740088576508261461048837680757622052908108169161617380441087994950477727686617257981794146915150485665483901018509560127279871163509778264241933715398672836623867992552255513877962193674291951780885180402234615536149603258907049726835315390547544884627802499999637701500137138899608059755612287892724408914714072283587485836069368506653782050898287189664827127742032585093123678081222005629233320399796704992367386695411178165049939057929063594755537055637097629484676740236594457417200682954378380526937808226430149519250276296647929775152995586908061519211876533734805553189113948684142757009571431092516308712876814182558034561802996493358132628078378234149785409564715947565429101442901320833602989278906005955759767226998455806427188084352469006208766741452914284859388223149175601984760206670412558729242793595755870823546460740525854907145826403792916193098407603387739273429268728163150578481546646196683722411336469808414952130653683488924418522111552986854319965011439692947114347088065210438825906996498523988301921366743630815712423727672962432920621626317461384265495245510761226037267572755386121612233389685295893911134331055697139639792799200255946322055314665683293749739486099197972929595000960758713217826230597094627870956245473252811349357216790970958784992876146239954042028545919405341141522398444186232095382200704498449572472798024016772225629172333797629124983851641728443974549000599911537618714834118503363827916139376666242602557211445764207460728251084847092010170290030397382742374381996788876950682262308869543915857351677109510399269839004885657626218202720977311899425368527378249144467471349226647896010272015640752365023488794375006592881515078356815037139721997670001043589360647 12886610818486507658438987300329679512778332017812979793886408044222273133953716979315327530165750447255422118835797882309945109385322243423716966786669212255918457546278668271399861355772619339971752554296832028189365017716725525390278503173951974604941720288918988862428953439991908404248725612830261698698423168822543128525322710590802985591710372564728355622223833046121186012889833677994192923414853475621539674901145137911024088629101535260134190585072259328003058731155673586206751048767926909156196379048442495248399712396793269326055577674514669541798042128489699914302839825987102603190316776337891120656596357866241166788423757631427344185240887438513612339626374170477859080725788877954960717647760197978732412195708802988689431919132839916641702256873610774694573762436800223058728150272828580609867148966706131067030686390104677306647611240170797030746519211590790522510073464708341016423808475242076305315963509526527183804267331664230121031165045384400355018680062837629271409589980990616351355389652571425806766956133419485200519710010019814021073108562960769258540092220350762923092861554190101046411291075470441191796766898411234455995163281020157416356065572438578437054920562746340966290514250451919257652271375580606522139650832667237055279904316916506182479086192738420388108425294545723492060500585878127331904182836649733425445306992215598305616500622106265713929695097552628941675007407969872956936866438573874125133277116930907195992144369066045397899617219910811599837017561277974105826178733951009028344117770797907713094405737582882644424167941492821958070256680846238998013692717473514911453331492863731927011736500630578271675665934103432831489253478232171737238360658738358244778731677429287223779462817032423851706181295293706887870276059543935916764799349066017411891505969037948919717159411844459020772309485214242096270643755450697395627250994078089010430291255599434021986520772547959562367719957675611836037877121523408534283339532020875951910429912941832182163775934524561567508248868284112175204669806735410950207506800955340606083750537372849944701331939068752905655947654362194045140745376657204823177042989287031460606937979458946976444631763323072818180491959248482278890639845123437283129437302018774973142731447972733297358375607384148024296684785218665075201397288847553337756939110673584792427318130035915369921578569734551532918411150280396875362492191198800917207641994463982757110289813627448589671292765480717346752156465828254226670906597278971471731886246816205361778453640802740026364443588240626142529111641746429451123956255927148165963858748343812463057799757650971708921840306739696764196413938694511466277259384270929215275332174302821120641378032350564544407803311509457762370735553517991908339199014576685950170900309089832177657765733067381833541061069783043168277040640884284639535462811979668485478087895841475704842992679408860182332666000863333004426059082429151856252925322766339488231842355316313578689578501994922839306633451212512672970812902741041258271511348521013983043944721712363867407195093139647623783313157163996819554989407672217521175784745555017934075493137116842742250045247916929150431181844440656290240025083601428114488939321402608509249260129901069818694368866164340612126340385594147354084380356697042111600410916958905783618117211569058989406806273457063200283550290274887447330465280665088051151982267199681621323014024427137880848044742977368796189946902583741246650033067332456241131296697493232253717745099748449866227666008627931124332203442755807776121047087566053696212486541283287638873342617729274667231256152157842763175553225328997859115514145552134443482274220747349594392872939804074106975125597821944187480976612841560502306680997669039127010507523939842218197055736290084083917002591731436073900947083914545570331445555492310205376364870118148711005551413472500652318399616180091879051623756809219078719673186291218811097458564304630547304892509604569388642123612021703335037265200361829104091743111733216390614561380520886119094948006582523295147167361811918781281673784990088822360144283361076693154206145613881949353763779291131366418005320438919241252751577184220171 20850974304103271174377102639865864752699642196112097614247003559186021581094224501904528798799674774211673607009293412348953874123263195929419166816108430496423949418747200032377355607454674912250123097353812642848392737793405512426264086279654790456200557375245171899640163503990704610624245312887346301747637731498874985553065987824606692651080375786226557786680444398114569740476440507895182455921264881327182930309014553875880211416796993484750115810181811289608197109126639740451772835084138969412072663201083237043692608434148626307933500019816325416214409081924462901234832913886586932864796994106021108875002406881139393634782343547511923772672911972286390634805451829117969705251351494816820241110688043794249299371475867474576016701527001553998575394748029816643723479650497694227184407442030056458093028354314209507736982909496037903130223274777880426683457385938235280640198710095397222251009531936540897859448532215277622066273178907720477833331043217415963240534548287873982429495383365064563030077879978339726808417710861787686025256683388047331356679331867638868979978622145461241307838573115851829121584517771163913375482987224430249955255987246251355765514281500792666288245575186766629616934252783558639650926477940492219472544152287706286439400053095326074564364518317613466566206069724849890918606789291269741674787564536458700473656198012513854086181303189328109978678547325327902486153369913710714745060116110763515700310163207164005407071010085923583076394098160891273808111093489012502632828095606356788938293382780556851283494505761945580760594095517128636176825812862463352345794712398400868038161207538908168007901573509104598107794850731450999369379253937275367626566690497770453019869741530651485352461562232352937833052909854459219132580514291782730817977026911146048362691031480879070068341540105541578687147382933088430592091445697903807280999502695129175193409636814753998174318247302048525351968816011749398334292389390570099285957109282358334162399113981994290271887826774335822303156799228362888268883677280347750292629091022089034499268355041269798475114064779016270058505383538949228695179532204813813345482607095774826472901724102823132496265548262314688139937306959257346554858699726614319414756933894064036452728749408219133335832906200271830355698500980147916424357395002181632240855980985600029952992460051205935011164341422155249325463764464168906722905752382360451607307103132394641309316262716098178103134076414457435328664727289303064351664219331879579901047864196646449773404118530426643622425382387541293014777125647447960684083535798311675742122990277527861730636381518964261177354184701890438488365719579691868511874920420532474182381901138136511188922916978367044407441013009594901270343613273604196231923423491400022454487794925901546164419515118280120730725896910785200862133764562365861541092045300068282183080263228171116021157729347918111396260756400388641523688567105892092847382739967022442610222882254121805119728021245199135954563226365508259878874421952917792006316901710127931728087478721935298499711401852524437965871191725799816048347540300295899409934530964582650023058566218285643570878850906208056437137604207883288695831510789512466957945530169349962163544989289292967869970850924547282538899114836940949840251180243502852126265824104732187411033404667466592794545546886331928446700868756434093527149003076424520960397219330335304811938442949249433834899062942380235882894016930829311860471893239452739655284999414598997348560812172177539190098929249557441793587708251053286882273124833626451598608153516677324169236528863605722928395791950641963431499547384312524798807895291620542680247150342350555151586157630304704069753468778189660733787962198777293277639782661915273250461565968388137602396877812482528103234687113636778399396656387343594348217781121482539173993995102000352733995388021501252229937234894925997554987584725358455385915788848430256861666025032881632151984519774859419039506354396085331826142151044091412961287027590568067724071779790725123980605632800726016124479261237287308659922929457560171586792179371348708794958510637370743728770372172646444774820357578641238922752620773580818 33737585122589778832816089940195544265477974213925077408133411603408294715047941481219856328965425221467095725845091294658898983508585439353136133602777642752342406965025868303777216963227294252221875651650644671037757755510131037816542589453606765061142277664164160762069116943982613014872970925717608000446060900321418114078388698415409678242790748350954913408904277444235755753366274185889375379336118356948722605210159691786904300045898528744884306395254070617611255840282313326658523883852065878568269042249525732292092320830941895633989077694330994958012451210414162815537672739873689536055113770443912229531598764747380560423206101178939267957913799410800002974431825999595828785977140372771780958758448241772981711567184670463265448620659841470640277651621640591338297242087297917285912557714858637067960177321020340574767669299600715209777834514948677457429976597529025803150272174803738238674818007178617203175412041741804805870540510571950598864496088601816318259214611125503253839085364355680914385467532549765533575373844281272886544966693407861352429787894828408127520070842496224164400700127305952875532875593241605105172249885635664705950419268266408772121579853939371103343166137933107595907448503235477897303197853521098741612194984954943341719304370011832257043450711056033854674631364270573382979107375169397073578970401186192125918963190228112159702681925295593823908373644877956844161160777883583671681926554684637640833587280138071201399215379151968980976011318071702873645128654766986608459006829557365817282411153578464564377900243344828225184762037009950594247082493708702350359487429871915779491492700402640095019638074139682869783460784834883830858632732169447104864927349236128697798601418959938709131924379264776789539234205148166107002856573835718647582776375977163460254197000518827989785500951950000599459456868147330526862735201148601202908250496773218185623700892414188020160839019850008087719688773687361234372169510913978633569296641303234286072829026923826472435663761298897389811405667512475063473553484015758700500135891977429640583018892414119743176446003847769175714453037901143273835924908862018636522525596382806287079839703561770108940897311585387506320429266207739625445498544850051602544194235912839009595460197380952430694208513584419854652383286198812991625754683849734969997795091659184822380310590087121304932742911156706782243874914744565782085397943581161368814949097596377398419606076343546767774426841895174782080821193117557291022570816610851051632934111012851811551857759333166669986868970628167435543888767393877411808039791725459841705981738621340324788436139169935970099194491441587202684779658274203334789134304691461689457714075440957631830300949328931588815244324519052663641079166791596104571122438068085972625388104015733723822185248185661954271786966693828369139174405446650501076554857279736767661168159069646820864150408756778293728926757263721645949747649535043949100308062733361930842065237570435383809306523240121975261196677578020932849687324693959050277828250231141914772032200434299165906906494992172061749184348889796635603336947972513420585719276519600584098551703335128385820924098823137206868319448648539578935856594390940581446884851571958471412805119190362786564339717088887894665239500431088303924631536940544963726676741063637971029150616236525582201351820343395128730251159031321540857614283741512572112379486530016926134952467376387314682943805919749032072840919514570558510504960571908980786581696907831251066305911920627405417764937877488566125791151006861063003320212399680147811094694799964963042579146592880390159651944108484726607052772713310383914322040843754986162521371089700149544459097434378811044879066600133848214764575040337795584320780330954400260969089908230355799452614102566612020237278845072852300343740301889164679663336613792744550358865220149063739546801494001904548336851075017876606611341534577534105588975139649067959124589337512179456877029379428807681629966417788666863407351405920517053030139323784458338633160311611243075553639383249311271646623049206089941596714447648993946936462732425401949164656251252693082534151463777811192825678017560480175504197957800989 54588559426693050007193192580061409018177616410037175022380415162594316296142165983124385127765099995678769332854384707007852857631848635282555300418886073248766356383773068336154572570681969164471998749004457313886150493303536550242806675733261555517342835039409332661709280447973317625497216238604954302193698631820293099631454686240016370893871124137181471195584721842350325493842714693784557835257383238275905535519174245662784511462695522229634422205435881907219452949408953067110296718936204847980341705450608969335784929265090521941922577714147320374226860292338625716772505653760276468919910764549933338406601171628519954057988444726451191730586711383086393609237277828713798491228491867588601199869136285567231010938660537937841465322186843024638853046369670407982020721737795611513096965156888693526053205675334550082504652209096753112908057789726557884113433983467261083790470884899135460925827539115158101034860573957082427936813689479671076697827131819232281499749159413377236268580747720745477415545412528105260383791555143060572570223376795908683786467226696046996500049464641685405708538700421804704654460111012769018547732872860094955905675255512660127887094135440163769631411713119874225524382756019036536954124331461590961084739137242649628158704423107158331607815229373647321240837433995423273897714164460666815253757965722650826392619388240626013788863228484921933887052192203284746647314147797294386426986670795401156533897443345235206806286389237892564052405416232594147453239748255999111091834925163722606220704536359021415661394749106773805945356132527079230423908306571165702705282142270316647529653907941548263027539647648787467891255635566334830228011986106722472491494039733899150818471160490590194484385941497129727372287115002625326135437088127501378400753402888309508616888031999707059853842492055542178146604251080418957454826646846505010189249999468347360817110529228942018335157267152056613071657589699110632706461900304548732855253750585592620235228140905820762707551588073233212114562466740837951742437161296106450792764982999518675082287247455389541651560068626785445772958421440092502531104441066832449868008203478581113552741427664593241437162859847702194460366573166996972000357244576665921958951169806903046048188946789171564030041419784691685008081787178960908050112078851916602238651072644784852333303050138327239943907252578862031569338679208734688808303695963521820422256200728772039728922339059644945877560918309632217409485920406860355374235035942730631533981975209498261325261877863593313609294353015708728558665893041325372492123327523771517448104728898868186519072520688900231276548676143477641173145377853895203301009225111994163640095976579094143019223866307298633222685337528647564911422780065200300803045861559485995079875898941635269986604763303942075002512863604613570001308170009016362617646902579805049844248422297817936885308138104696405125187513664110287473436216640936041947690802700384373452288119824557188929034544485321111215759903943529192728561746646876842284145151941269846500119679156234464406617896844696499715055540615596451651684488272809319995653807484183234121610269553414029391802949729345263305457052856422867631688105180453048404830381741308433576350108479655754434310568013435177204138615268029253764882717184047815852942565168370158440184020903992174995897367229727057176952027787755634384763286817937093072776705860352230946890910325636748517842868862129267955734936445399870370976853811361720441866696322430248414866724092804944607863867127046007919378859257914349885593337233306599409702848316642287211815675456486113088047736059126690038552320097622908713129936135375528842768521432050704696045255064683515114632535378323508948552537239115088861960562992869673511430655876618493401849491915049140123471965958709630699740396689232759027881117735275283724352860322149416473542189515503156778274085969943874161598926259935989491504763988079324820790614370393811608861549154288226721136320813873998689549502450011930014317166914352526062704940102336367056159272183975327396125884286493398601519643905209165533728642103774110744123166888623436811304523636424255967646035596201719098256818731381807 88326144549282828840009282520256953283655590623962252430513826766002611011190107464344241456730525217145865058699476001666751841140434074635691434021663716001108763348798936639931789533909263416693874400655101984923908248813667588059349265186868320578485112703573493423778397391955930640370187164322562302639759532141711213709843384655426049136661872488136384604488999286586081247208988879673933214593501595224628140729333937449688811508594050974518728600689952524830708789691266393768820602788270726548610747700134701627877250096032417575911655408478315332239311502752788532310178393633966004975024534993845567938199936375900514481194545905390459688500510793886396583669103828309627277205632240360382158627584527340212722505845208401106913942846684495279130697991310999320317963825093528799009522871747330594013382996354890657272321508697468322685892304675235341543410580996286886940743059702873699600645546293775304210272615698887233807354200051621675562323220421048599758963770538880490107666112076426391801012945077870793959165399424333459115190070203770036216255121524455124020120307137909570109238827727757580187335704254374123719982758495759661856094523779068900008673989379534872974577851052981821431831259254514434257322184982689702696934122197592969878008793118990588651265940429681175915468798265996656876821539630063888832728366908842952311582578468738173491545153780515757795425837081241590808474925680878058108913225480038797367484723483306408205501768389861545028416734304297021098368403022985719550841754721088423503115689937485980039294992451602031130118169537029824670990800279868053064769572142232427021146608344188358047177721788470337674716420401218661086644718276169577356421388970027848617072579450528903616310320761906516911521320150791433138293661963220025983529778865472968871085032518535049639343444005542777606061119227749484317561847995106213097500496241565546440811421643130038495996287002064700791346363386471867078631411218527366424550391888826906308057167829647235143215349372130601925968134253313015215990645311865151292900874976948315665306139869509284828006072474554621487411459341235776367029349928851086390533799861387400632581131226363350378060171433089700780795839374736597445855789426717524503145405719742055643649144170123994724249933369111539660465073377773899675866762701651572236446164303969674713613640225448544876650163735568813813213593953300470893701639544683189237205298325149438148528415403191713651987760204806999490307113524417646396805852553581683166916086222350072877119637196759983596163323643876164102554660435202784300163119249231359154086467520208511307508659858836201375743167585064843857925036128098538090143529803455853097810052020051774849524815636230222037929662047700228552501946856796405374168299627571967705264002957368993808790011489604029274299830298441939140482575455666863694201759859541817505416581367464757749458546861474698854114270927831933423183866175979991047998865433746304294353357394992572738341067725443086476956581521550125578249071340835892561973402172411761272151879590533630313524391836868561464239889505393087255021436245322740581373084003783818220161972888542415212727048552482470173776501504962446567544699571393629851715233313266904989155227670018540998650285102323071869378115699117557689514254124592779579619306232008129469334637140517757197249187573122185907203186819077175242377570559449665185156192390369157081843377702024063200786674781878300028575855959970428881481814383270701228448393230261499481172636013432350025628805004534574045170010264775412888913549632986747220797543116607250254394822049366503247699680167611416645605092810933292627451976979130515005289892521750854240504352499062326159511601978457357163317112279452884446281343323824073772399745784848849201302106017615752143709244803782483000084136991121923707544454349068028274711725542298480213088991009505061326610937044961750768210267794513523597093739127728392779915203707905991065738578533717034402766287231662665552956853855932447067347306238136984401338100413947610131712911567224638667772507335699488543116358352858159480665104836199512693287823139876129893838675100202067160471713613762199273761016689182796 142914703975975878847202475100318362301833207033999427452894241928596927307332273447468626584495625212824634391553860708674604698772282709918246734440549789249875119732572004976086362104591232581165873149659559298810058742117204138302155940920129876095827947742982826085487677839929248265867403402927516604833458163962004313341298070895442420030532996625317855800073721128936406741051703573458491049850884833500533676248508183112473322971289573204153150806125834432050161739100219460879117321724475574528952453150743670963662179361122939517834233122625635706466171795091414249082684047394242473894935299543778906344801108004420468539182990631841651419087222176972790192906381657023425768434124107948983358496720812907443733444505746338948379265033527519917983744360981407302338685562889140312106488028636024120066588671689440739776973717794221435593950094401793225656844564463547970731213944602009160526473085408933405245133189655969661744167889531292752260150352240280881258712929952257726376246859797171869216558357605976054342956954567394031685413446999678720002722348220502120520169771779594975817777528149562284841795815267143142267715631355854617761769779291729027895768124819698642605989564172856046956214015273550971211446516444280663781673259440242598036713216226148920259081169803328497156306232261419930774535704090730704086486332631493778704201966709364187280408382265437691682478029284526337455789073478172444535899896275439953901382166828541615011788157627754109080822150536891168551608151278984830642676679884811029723820226296507395700689741558375837075474302064109055094899106851033755770051714412549074550800516285736621074717369437257805565972055967553491314656704382892049847915428703926999435543739941119098100696262259036244283808435153416759273730750090721404384283181753782477487973064518242109493185936061084955752665370308168441772388494841611223286750495709912907257921950872072056831153554154121313863003953085582499785093311523076099279804142474419526543285308735467997850766937445363814040530600994150966958427806607971602085665857976466990747593387324898826479566141101340067260369880781328278898133790995683536258542003339968514185322558890956591815223031280791895241162412541733569446213034003383446462096575526645101691838090959295558754291353153803224668546860556734807725978841553568174475097236948754527046916690363775784820557416314430845382552273162035159702005335508205009659461499053921477877450754462836659529548678514439216899793033931278001771040888496312314700898061431848334202381515060353297205457676659584892661220553476528156792286446773002876602191196419076697826581180547736432652291843728542485031070413981993741391152754915450016737906028599145917868748681943528855260614999576347793463924726921996706177214161187057962785139901899004263795394774793546104276812693903055509141790745464683226311848662439346867349665003665282694634766684966171103979301784591942220896620082816916032995689668134130677746641477219549761667375612210764197692716485465079318306810817987712734846118554113681607772271558746768094720142288681565061179295430120989538906705924518132060577026891487967052341772242441956444604529998281827733479233554361385314199232804751846678256545615054575338565505336149674295432960853115758249073516730967146811454396971308640595432561871400378287909518658044509932193146554802849243084155214606832809627140857377386758257932898250721388028734288027660811718629543644007567984310792405370299252458668194632421670315089552691747896039360106237294633492672131580581964548869522689762774506886866293346630500391433249537466210497505852616335747416226738106684157412908556201340581913114506043848058413953801558936549607563745841274144137356780866111869649518567973308241906316693747283830401661467342603151597932664892267181210762492113699824533680354682735425572084343311999064585864447896686631180525008218104885023014905624929809194054449513088598503115807717600705818078299802674600127688005261123902608045536664242506356305944377081664473152489510464043040516283977187872183751199966063898391622192887144636002258067325014393746939973623437410990028499566705143198736626323128117749209963918372017835420564603 231240848525258707687211757620575315585488797657961679883408068694599538318522380911812868041226150429970499450253336710341356539912716784553938168462213505250983883081370941616018151638500495997859747550314661283733966990930871726361505206106998196674313060446556319509266075231885178906237590567250078907473217696103715527051141455550868469167194869113454240404562720415522487988260692453132424264444386428725161816977842120562162134479883624178671879406815786956880870528791485854647937924512746301077563200850878372591539429457155357093745888531103951038705483297844202781392862441028208478869959834537624474283001044380320983020377536537232111107587732970859186776575485485333053045639756348309365517124305340247656455950350954740055293207880212015197114442352292406622656649387982669111116010900383354714079971668044331397049295226491689758279842399077028567200255145459834857671957004304882860127118631702708709455405805354856895551522089582914427822473572661329481017676700491138216483912971873598261017571302683846848302122353991727490800603517203448756218977469744957244540290078917504545927016355877319865029131519521517265987698389851614279617864303070797927904442114199233515580567415225837868388045274528065405468768701426970366478607381637835567914722009345139508910347110233009673071775030527416587651357243720794592919214699540336731015784545178102360771953536045953449477903866365767928264263999159050502644813121755478751268866890311848023217289926017615654109238884841188189649976554301970550193518434605899453226935916233993375739984734009977868205592471601138879765889907130901808834821286554781501571947124629924979121895091225728143240688476368772152401301422659061627204336817673954848052616319391648001717006583020942761195329755304208192412024412053941430367812960619255446359058097036777159132529380066627733358726489535917926089950342836717436384250991951478453698733372515202095327149841156186014654350316472054366863724722741603465704354534363246432851342476565115232993982286817494415966498735247463982174418451919836753378566732953415306412899527194408111307572213575894688747781340122564055265163140924534622649075803201355914817903690117319942193283202713881596021958251916470166892068823430100970965241981246387157335487235129419553478541286522914764329011933934508707401845604255219746711543401252724201760530330589224329697207580049999659195765867115335630595706975052888198896666797379070916025979169866028373181536438719246216390100147455695648167846741049893997867814147654198407079501152257113280801621000303461056763775213911730941092449566022234235756277663939285209134089840406572634028035011313607328888995450110092279481296284718905869835716080619197692718273497579759077298544661624048022016426673778793111551382460814629930490403904856373257604184786283150133551112524201497448282273320920350090006050422298888684855081585032747452384225231827645802833416055519774154319803948992896024043688533567876982040994834614542334405716679936207284169673066986629443885059889328548627408091956286093369044423438337301725033666680518433622643535319626382626161727360763454801158399975491750870561934215330498859817257046834310203653010055866347760766777504323240308108260848367842243554660563819692836431611138218081320942894846666264369143911225433233375012181177632386417378853295185027689390395742375971428991358401425909984869518427936836423443089090641090545110577665729684874919416218425885868012886648365340728133940482577903122898763482782953247377211996119669644659121477136115156009718879787465175663420436499280093851297934549856787720605319555219119583447096394349523329762505719489493968033890093636558853348306475552413177053960062808167433655739335238223275186761798020857754523249640517821056230147446316191804453703950280644410890455566274596699908670671476606442970026433411340273776311406746376899720171534513279431495960059867375698019461848963036685692242243536110380621021786205793740338706221722295526668895277199329795463210161876824149011779390626494865381140930231587319585095318424604731670898957892375687752360610925484495058851776173136130698813168375696598981873836828390288589462823726117645778852109747399 374155552501234586534414232720893677887322004691961107336302310623196465625854654359281494625721775642795133841807197419015961238684999494472184902902763294500859002813942946592104513743091728579025620699974220582544025733048075864663661147027128072770141008189539145594753753071814427172104993970177595512306675860065719840392439526446310889197727865738772096204636441544458894729312396026590915314295271262225695493226350303674635457451173197382825030212941621388931032267891705315527055246237221875606515654001622043555201608818278296611580121653729586745171655092935617030475546488422450952764895134081403380627802152384741451559560527169073762526674955147831976969481867142356478814073880456258348875621026153155100189394856701079003672472913739535115098186713273813924995334950871809423222498929019378834146560339733772136826268944285911193873792493478821792857099709923382828403170948906892020653591717111642114700538995010826557295689979114207180082623924901610362276389630443395942860159831670770130234129660289822902645079308559121522486016964203127476221699817965459365060459850697099521744793884026882149870927334788660408255414021207468897379634082362526955800210239018932158186556979398693915344259289801616376680215217871251030260280641078078165951435225571288429169428280036338170228081262788836518425892947811525297005701032171830509719986511887466548052361918311391141160381895650294265720053072637222947180713018030918705170249057140389638229078083645369763190061035378079358201584705580955380836195114490710482950756142530500771440674475568353705281066773665247934860789013981935564604873000967330576122747640915661600196612460662985948806660532336325643715958127041953677052252246377881847488160059332767099817702845279979005479138190457624951685755162144662834752096142373037923847031161555019268625715316127712689111391859844086367862338837678328659671001487661391360956655323387274152158303395310307328517354269557636866648818034264679564984158676837665959394627785300583230844749224262858230007029336241614949132846258527808355464232590929882297160492914519306937787138354677234756008151220903892334163296931920218158907617806541324429003226249008276534008506233994673491263120664458203736338281857433484417427338556773032259027325326088715112232832639676717988997558794491243515127824445808787921186640638201478728807447020953000114517764996364430504578318140277370790297712310561093208556128296432992393903429924328865032711085117233685433289893181386973649938887629546206312568712209086046741281882667317466578007078676963045949424995767388259097884736012795237112358468860358361906960671020954309066680326855042149813920065864092086020872449039634355886573622109218343610587022179523287932559159661200395815480351400700789817728596622001687893275543806755377521399579561076696237827925218104552957424064066385033316317899084738235552204746588698030147018991916793816906812717840111716375216424031809812057039378201702007659787636311834092096073092292146971481862389552451708762191870707316261362254210510399774976816694997084069819753808969199998683822830749747372165068433285281586861735426866979717922903706457772455304421787045116137937132243610227733074966010309075086986364806463422417582120165899969367131864571991333839570016411577633411180598308196741873970444743049032764705288371953229537621583542297178820672075513616032742794496659285314223181701021988891811933139311953757345686638045762069893435997197440770711027386399150772535544569078572335644995273251356225906939292614149267695737974267749310154938437927323365573440481798325983106325186815817061071735919194512621087630013919918628045695308615803208142602701406720429353972113603567626554008707799876692019089387056411316588831062765155957211568340060549107783534407605301882945536678071666328766710399733204351831289178395598517754652272840897271194273586351352059521497536380983074773000627828655903412549774290745359343827981326839864505596414938833909727556650571503322735994037969566467821201230676252543116005329424181446515564507457279069624570795569290580085262832388362868992809509452598716146759568109803196875263304125072573454713416707212033690036017796687530312002 605396401026493294221625990341468993472810802349922787219710379317796003944377035271094362666947926072765633292060534129357317778597716279026123071364976799751842885895313888208122665381592224576885368250288881866277992723978947591025166353134126269444454068636095465104019828303699606078342584537427674419779893556169435367443580981997179358364922734852226336609199161959981382717573088479723339578739657690950857310204192424236797591931056821561496909619757408345811902796683191170174993170749968176684078854852500416146741038275433653705326010184833537783877138390779819811868408929450659431634854968619027854910803196765062434579938063706305873634262688118691163746057352627689531859713636804567714392745331493402756645345207655819058965680793951550312212629065566220547651984338854478534338509829402733548226532007778103533875564170777600952153634892555850360057354855383217686075127953211774880780710348814350824155944800365683452847212068697121607905097497562939843294066330934534159344072803544368391251700962973669750947201662550849013286620481406576232440677287710416609600749929614604067671810239904202014900058854310177674243112411059083176997498385433324883704652353218165673767124394624531783732304564329681782148983919298221396738888022715913733866157234916427938079775390269347843299856293316253106077250191532319889924915731712167240735771057065568908824315454357344590638285762016062193984317071796273449825526139786397456439115947452237661446368009662985417299299920219267547851561259882925931029713549096609936177692058764494147180659209578331573486659245266386814626678921112837373439694287522112077694694765545586579318507551888714092047349008705097796117259549701015304256589064051836695540776378724415101534709428300921766674467945761833144097779574198604265119909102992293370206089258591796427758244696194340422470118349380004293952289180515046096055252479612869814655388695902476247485453236466493343171704586029691233512542757006283030688513211200912392245970261865698463838731511080352645973528071489078931307264710447645108842799323883297603573392441713715049094710568253129444755932561026456389428460072844752781556693609742680343821129939125596476201789436708555087285078916374673903230350680863585388392580538019419416362812561218134665711373926199632753326570728425752222529670050064007667898184039454202930567977351542224444214972576414430163774084007392706420893419285613981407452795093812063309929409094194893405892621555952931649679993328842669298106734370596100310436526356740245148361383819574579858808699677266507006188770981299990038977185578817471348114746524297647116094760861360881700708361866355757142809061314202178300353745324353261756409338189837541303305295677103047009857704322824443837496778074479582929279979082816317823765947711611750779003764347359846371379037742306050405706337387305383406323949507037124237059828173730777599403217148621462709646133895631490529536227980802708081083066735269884641828631146448634430478808972083178766032062619438338206076930596644809989662302466685868345861118435421371544787475649718432306466366069373754791230160646045041662893826842471468793465640673102954164239044091950448140785253666094080835732787813398327294473067311790259825674826463789059968296183129551920890959306424299675549742219422175107345456924226665151122667225248414565310973938039554792101066872017458652779366177713251059605144111079532902478249889619487030561557461980495779304010084089136051755520339633350438667467842055118598242650463352345576583951735626403810893983986629097620114101347759864853534333096260532963112907421136616290855502641609015437153343682424347535189276649693301779161554755026904906385290657527689362176141455616027257312662243173114609688817288405597729389396290696554099726212059005833226181088962121895041307099641875023307895621365624951165992546617208677940650486071523594034776967876943134640376325848117752375586459982987602879938361947861650711390155277540131449852177240398599935323833432776629698025379688031933742500194805322376747151827042374388049175527240189537977638520140723479918294004511450492319895698808616365250959903106946410283103705296674857416153663575539640059401 979551953527727880756040223062362671360132807041883894556012689940992469570231689630375857292669701715560767133867731548373279017282715773498307974267740094252701888709256834800227179124683953155910988950263102448822018457027023455688827500161254342214595076825634610698773581375514033250447578507605269932086569416235155207836020508443490247562650600590998432813835603504440277446885484506314254893034928953176552803430542727911433049382230018944321939832699029734742935064574896485702048416987190052290594508854122459701942647093711950316906131838563124529048793483715436842343955417873110384399750102700431235538605349149803886139498590875379636160937643266523140715539219770046010673787517260826063268366357646557856834740064356898062638153707691085427310815778840034472647319289726287957561008758422112382373092347511875670701833115063512146027427386034672152914454565306600514478298902118666901434302065925992938856483795376510010142902047811328787987721422464550205570455961377930102204232635215138521485830623263492653592280971109970535772637445609703708662377105675875974661209780311703589416604123931084164770986189098838082498526432266552074377132467795851839504862592237097831953681374023225699076563854131298158829199137169472426999168663793991899817592460487716367249203670305686013527937556105089624503143139343845186930616763883997750455757568953035456876677372668735731798667657666356459704370144433496397006239157817316161609365004592627299675446093308355180489360955597346906053145965463881311865908663587320419128448201294994918621333685146685278767726018931634749487467935094772938044567288489442653817442406461248179515120012551700040854009541041423439833217676742968981308841310429718543028936438057182201352412273580900772153606136219458095783534736343267099872005245365331294053120420146815696383960012322053111581510209224090661814628018193374755726253967274261175612044019289750399643756631776800671689058855587328100161360791270962595672671888038578351640598047166281694683480735343210875980557407730693880440110968975453464307031914813179900733885356233021986881848922930364200764083781930348723591757004764970940464311416284004772824356188133873010210295670703228578548199580832877639568632538297069805819919094792451675390137887306849777944206565876350742324129522916995737657494495872795589084824677655681659375424372495224558732737572778860668352402147670077211191131596175074616008923390245055703832839018523758438603706673186617082969886510229642948045622000142306623005238565826291889643266486892046436815778354229552955613766748688249136861921591612708460473215384656009023055431882315190767388688721397906956729127178294264321226194363987617642982960299055884913892317856626334942416863984024839652977129475180372747008575704818005717041491518367128300403343908436542609206962960410603363130401453690416722641848591775359789264574762428807746422209065415279616458851735743206904752652012612520138122444936971892301616267458282726526551901264230150247894452171890046968268801303961071351916512977085643322677813432505441364541284618918430990289196819121126956298593931326628524629253709451186716369347130875409468660831137066586077917497276321813910698798122473414280837873775212677407794992363758427100160755120885760460975718001933086730340527618916981315901667275697915827955597201644102932557480336733612773142385633491395573862836998565282786845133068424714411389201573244376248195507742565672740007281529906762782906738784122974212036920627454243237923714708571483523244349775671506631958254378407775052539275083230426974814894586516069438094236953677362591421836121636524783357602342975580884585265496509921764256161747334260357404261095315916184849255492719276402049299584431198519880053561554940957736351245661883260619664307716171717767033788223808017499375079375139184799761223468920644819458105949134924072422875653556274504257926209413376953676773655788136234273732962223766343274701515216986570216374041177408827811901922671317871402343097519226610364284476858505524229503823262716334499653457673746322809480118062901352529086348911103513964049208466655266918419562126223207232018983737817122003886891106189681372227170371403 1584948354554221174977666213403831664832943609391806681775723069258788473514608724901470219959617627788326400425928265677730596795880432052524431045632716894004544774604570723008349844506276177732796357200551984315100011181005971046713993853295380611659049145461730075802793409679213639328790163045032944351866462972404590575279601490440669605927573335443224769423034765464421660164458572986037594471774586644127410113634735152148230641313286840505818849452456438080554837861258087655877041587737158228974673363706622875848683685369145604022232142023396662312925931874495256654212364347323769816034605071319459090449408545914866320719436654581685509795200331385214304461596572397735542533501154065393777661111689139960613480085272012717121603834501642635739523444844406255020299303628580766491899518587824845930599624355289979204577397285841113098181062278590522512971809420689818200553426855330441782215012414740343763012428595742193462990114116508450395892818920027490048864522292312464261548305438759506912737531586237162404539482633660819549059257927016279941103054393386292584261959709926307657088414363835286179671045043409015756741638843325635251374630853229176723209514945455263505720805768647757482808868418460979940978183056467693823738056686509905633683749695404144305328979060575033856827793849421342730580393330876165076855532495596164991191528626018604365700992827026080322436953419682418653688687216229769846831765297603713618048480952044864961121814102971340597788660875816614453904707225346807242895622212683930355306140260059489065801992894725016852254385264198021564114146856207610311484261576011554731512137172006834758833627564440414132901358549746521235950477226443984285565430374481555238569712816781597302887121701881822538828074081981291239881314310541871364991914348357624664259209678738612124142204708516393534051628558604094955766917198708420851781506446887130990267432715192226647129209868243294014860763441617019333673903548277245626361185099239490743886568309031980158522212246423563521954085479219772811747375679423098573149831238696477504307277797946737035976559491183493645520016342956805113020217077609723722021005026026685116645486127259469486412085107411783665833278497207551542798983219160655194212499632811871091752950448524984443655580492075983495650700251342747960187164545936803256983008717109884589943401724037449002947710149193290832126486155062783632084550881789056023461718484057119013762248112718651844496328229139548732649879839072312246152356370738406933441764922566537038004650306466626295624478031496059961802537729988239175839107170430179808587961908953656139150192743676072468097050587753664099538188492496442621579939688340879399392298488893426217197613533729381952274568306849283490473907549659955676288554787634323540807439229978879079407108255796388980586000702716653768836738840995800128965798098812484026324402936159585345825426214036742326104985631374697434288879993415228219205511672241776943444898604731360957030710236313329013926514791328385174345731900605881341578815443771511668538931867926812909328760268636863296755562888494881747528754577371670187523080551922655509834987803978363632899875229017034218702750942415894746431585935871741575310941087002937233469818827547487068456938250437681351935024426232762280082747041092088661358591502363066950622822450058668243531418376288404874209257650950048353229014711816342391989244147957616889639091192731406809752969723061452044017365619042814538427078417473412879504762682572841480574178060917060107196085402075317525942241007505395166640622843095280509147990847049032551001658090293653446924477730651961936701284767323116073861915189811700925810916774239166742694918623005278360990711108746533714711542757545808208697341967152670347132641942215982986831723313549397898855995910118849324599016954398447080421126848420086637366075314627075574558494399247591051472134869344053753279524891408163722694256720565103704705222563165928376725493914172627261005052300522606641704835119727217251990052316410601005719034826200009868161542027845722921850049669656040539872669809828829397518475499700786550965727035927377183110338965394020920827300561748522343344947766810430804 2564500308081949055733706436466194336193076416433690576331735759199780943084840414531846077252287329503887167559795997226103875813163147826022739019900456988257246663313827557808577023630960130888707346150815086763922029638032994502402821353456634953873644222287364686501566991054727672579237741552638214283953032388639745783115621998884159853490223936034223202236870368968861937611344057492351849364809515597303962917065277880059663690695516859450140789285155467815297772925832984141579090004724348281265267872560745335550626332462857554339138273861959786841974725358210693496556319765196880200434355174019890325988013895064670206858935245457065145956137974651737445177135792167781553207288671326219840929478046786518470314825336369615184241988209333721166834260623246289492946622918307054449460527346246958312972716702801854875279230400904625244208489664625194665886263985996418715031725757449108683649314480666336701868912391118703473133016164319779183880540342492040254434978253690394363752538073974645434223362209500655058131763604770790084831895372625983649765431499062168558923169490238011246505018487766370344442031232507853839240165275592187325751763321025028562714377537692361337674487142670983181885432272592278099807382193637166250737225350303897533501342155891860672578182730880719870355731405526432355083536470220010263786149259480162741647286194971639822577670199694816054235621077348775113393057360663266243838004455421029779657845956637492260797260196279695778278021831413961359957853190810688554761530876271250774434588461354483984423326579871702131022111283129656313601614791302383249528828864500997385329579578468082938348747576992114173755368090787944675783694903186953266874271684911273781598649254838779504239533975462723310981680218200749335664849046885138464863919593722955958312330098885427820526164720838446645633138767828185617581545216901795607507760414161392165879476734481977046772966500020094686549822297204347433835264339548208222033856987278069095527166356198261853205692981766774397934642886950466692187486648398552037456863153509657405041163154179759022858408414113857846284100124887153836611974082374694662485316442310689889469842315393342496622380778115012244381478078040429182367615757457725000032418727604322767143088335831834221599787057952334237974829774259743697844659041809598846067833394765566249318826096532673561680447721972151500478888302732860843275682477964130639470641874302174717595087131242410283100034902326165815619766349301955194197978370880713556447003488392828927647916793358672732440256385725612917416304478676488312701028762042888269061177293609665162205624625991263235485739309151571056267315670790706942806134052328497042375258787949311131089931390355716894691432290874123143451037024840328423297130492452329257848930748346007379810452164232931589792963663127257131967140294686216851607646690587843815588977698588393092247635279452021942563837367117904339041532006027748357327956609213669245061166063014087483582611500543479261820966963218432142614533204566952693495328420857154991216745300432254273870044887555294287044759707616008703827348508698298712152334261373842226204334934853773101560706366083620296620248218737708657130384058345155856148814862215614641264811191305914168617693371323441812910742428165849010423274660009069977260258778060982778578419651702771176088898713022017647351643284441443927091851710381625178834377216382331301028292765975783057948477465627124784024647148949577321333817201596387091541683310027084718497892769488543630440435177746824157900495385913170219179897926325707483962885433565101989095895043971016038346313852288486720058887110298696958447180686321622690067078521573427100099179718321194545839966601465810116760842341977006728577395528707611304868993187877866247451387621265569616623029698342657342098392033773586265220888071889007282185533420576210498630917274901147325976392795553467130233201665063951858928530453527327471048497264681145363295710288213804669832864202445277959576237462824736478600416600887459511243264330023272584496041681303396668172859149774103441225198896177740501032439548909253206232645455489503406317570984377758737949304448639628533026319993980802207 4149448662636170230711372649870026001026020025825497258107458828458569416599449139433316297211904957292213567985724262903834472609043579878547170065533173882261791437918398280816926868137236308621503703351367071079022040819038965549116815206752015565532693367749094762304360400733941311908027904597671158635819495361044336358395223489324829459417797271477447971659905134433283597775802630478389443836584102241431373030700013032207894332008803699955959638737611905895852610787091071797456131592461506510239941236267368211399310017832003158361370415885356449154900657232705950150768684112520650016468960245339349416437422440979536527578371900038750655751338306036951749638732364565517095740789825391613618590589735926479083794910608382332305845822710976356906357705467652544513245926546887820941360045934071804243572341058091834079856627686745738342389551943215717178858073406686236915585152612779550465864326895406680464881340986860896936123130280828229579773359262519530303299500546002858625300843512734152346960893795737817462671246238431609633891153299642263590868485892448461143185129200164318903593432851601656524113076275916869595981804118917822577126394174254205285923892483147624843395292911318740664694300691053258040785565250104860074475282036813803167185091851296004977907161791455753727183525254947775085663929801096175340641681755076327732838814820990244188278663026720896376672574497031193767081744576893036090669769753024743397706326908682357221919074299251036376066682707230575813862560416157495797657153088955181129740728721413973050225319474596718983276496547327677877715761647509993561013090440512552116841716750474917697182375141432528306656726640534465911734172129630937552439702059392829020168362071620376807126655677344545849809754300182040575546163357427009829855833942080580622571539777624039944668369429354840179684767326432280573348462415610216459289266861048523156146909449674203693902176368263388701410585738821366767509167887825453848395042086517559839413734665230242011727905228190337919888728366170239503934862327821650610606694392206134909348440952126496058834967905297351491804116467843958949632191159984418384506321468337375006115328442652811983034465885526795910214756575247980725166598976618380194244918360416193858896038784356818665255367550028317733625530025602491658031823587746402103050842111875450839262227820570122564628157871165442332605374457795644475360233359753186662932360358359293731357335243961062127596363131465714548269646188374267440350334741619120489888768410959365965652567099825299028064734417221672879218842208664727488540135932473068077649139202563321301355817369667335703582789896905235155805504163287149564386073740669376441767557276842737348287544924085098846966000597723406633924944574500284099585685280086652798656369978324886459217560420029320570378964365843910900803879135682016980573444789400327841913380634747978438073061493488764268668822998492601773330411999442976576533468281455446188506064667745448440613321736856808275747481754546817316960265105172834035074143864628666659755677168359067183198805156192157583800322596110890451356103086069968899675414813296497736039322738832136734460581595100654515322999161153603403561969994216897431459755949218551874734630018853401237074631621761123164845766854398611290506021701101158638618850280424049729201242101761439419620317089310422521560900935391492280320866422197967570823621364339948190667383958707189867701447188688576828042012767992391859760895619069799971046445992599926199072070830405603737636520579822141683842736393418565385820520769420987993110876280614134540097553134264669485270791582940448656760171877621813032309095876133323615877995295812593842794098341326472906830677710212343831472385099522814937274737495860281652001635130093849234283110934814967515479025608461506666697408988172033345642014920309093919551608735203286073189411674148738377448527664897520883512726556472115581622787174092431175753719827847073740021204202386431930837916502967884601281072582551953730590468917298060516962299156223282452657583709149119590022908819430143981097868706006569898550915048610039757198372491416880589427909949771779658776605010388150876371267760791233011 6713948970718119286445079086336220337219096442259187834439194587658350359684289553965162374464192286796100735545520260129938348422206727704569909085433630870519038101232225838625503891768196439510211049502182157842944070457071960051519636560208650519406337590036459448805927391788668984487265646150309372919772527749684082141510845488208989312908021207511671173896775503402145535387146687970741293201393617838735335947765290912267558022704320559406100428022767373711150383712924055939035221597185854791505209108828113546949936350294860712700508689747316235996875382590916643647325003877717530216903315419359239742425436336044206734437307145495815801707476280688689194815868156733298648948078496717833459520067782712997554109735944751947490087810920310078073191966090898834006192549465194875390820573280318762556545057760893688955135858087650363586598041607840911844744337392682655630616878370228659149513641376073017166750253377979600409256146445148008763653899605011570557734478799693252989053381586708797781184256005238472520803009843202399718723048672268247240633917391510629702108298690402330150098451339368026868555107508424723435221969394510009902878157495279233848638270020839986181069780053989723846579732963645536140592947443742026325212507387117700700686434007187865650485344522336473597539256660474207440747466271316185604427831014556490474486101015961884010856333226415712430908195574379968880474801937556302334507774208445773177364172865319849482716334495530732154344704538644537173820413606968184352418683965226431904175317182768457034648646054468421114298607830457334191317376438812376810541919305013549502171296328943000635531122718424642480412094731322410587517867032817890819313973744304102801767011326459156311366189652807269160791434518382789911211012404312148294719753535803536580883869876509467765194534150193286825317906094260466190930007632512012066797027275209915322026386184156180740675142868283483387960408036025714201344432227373662070428899073795628934940901021428503864933598209957112317823371253120706196122348976220202648063557545715792314389604106306255081693376319411209338088216592731112786244165242359113046991637910648064895585170758046154479656846663641808154596234653288409907534214734076105194277337088020516626039127120188652886855154607980651971600359799862235355876482629556000949118675506641017088581053917102796126308605593137593833084262760528505318635915837717317302403002232661468448952422375203472410696398033791880363889412537676222634548313112499834046335771899352194893300483893183971760504990802947285796635146687341215801241164694515956346710316496172986463561441995658598939068529206056806212072819834077856507192207792997873484142816064792048479377476314440815741657432888597529777375981599340612522882815772538982056505300726670893839028012584262252160171928028971168032771019430368233832181091479988171657502358333336371530320696772940786211232660365610506112371944005470724933861424890669115433567230730759535924195933237400287537568448717765249459574798309739786728569472285485821650972422468791321457068850043747451870845082303726899155183451594768267611827749074670339962243657673685909836021287961184274811943247379891312060692354052562053287608570811434166515999441210159315405692324993084564977756509282564460300929296361110228615879109058485032507779661753464210595709215802332440168912544219832936207412718132579592749657998580722279491695676724682972925649924654315701612066659916941969181094712820666187062588129302627010917569963599894147368076955757568965841743231779331735605000418695746695477073761714179236529193448178235685523617105435228935376819058987920509990756276562454946305945073817386020942893278059647667452670644311678153948233227441499821665852133024567892956870628317971715481734498556080537132102055306804164008795801021945619610862902992198101201737142155779496571820328949049885703424920460450988013745928221536067440551317627619758646802217092528219103316914490600236600670780705413162560857310045376690209190885518185520028205563486246555037153625390452516258195767969204247422323067602184310399583354597519292963431017946906383995745480934149538396725909459027779409397587754772035218 10863397633354289517156451736206246338245116468084685092546653416116919776283738693398478671676097244088314303531244523033772821031250307583117079150966804752780829539150624119442430759905432748131714752853549228921966111276110925600636451766960666084939030957785554211110287792522610296395293550747980531555592023110728418499906068977533818772325818478989119145556680637835429133162949318449130737037977720080166708978465303944475452354713124259362060066760379279607002994500015127736491353189647361301745150345095481758349246368126863871061879105632672685151776039823622593798093687990238180233372275664698589158862858777023743262015679045534566457458814586725640944454600521298815744688868322109447078110657518639476637904646553134279795933633631286434979549671558551378519438476012082696332180619214390566800117398818985523034992485774396101928987593551056629023602410799368892546202030983008209615377968271479697631631594364840497345379276725976238343427258867531100861033979345696111614354225099442950128145149800976289983474256081634009352614201971910510831502403283959090845293427890566649053691884190969683392668183784341593031203773513427832480004551669533439134562162503987611024465072965308464511274033654698794181378512693846886399687789423931503867871525858483870628392506313792227324722781915421982526411396072412360945069512769632818207324915836952128199134996253136608807580770071411162647556546514449338425177543961470516575070499774002206704635408794781768530411387245875112987682974023125680150075837054181613033916045904182430084873965529065140097575104377785012069033138086322370371555009745526101619013013079417918332713497859857170787068821371856876499252039162448828371753675803696931821935373398079533118492845330151815010601188818564830486757175761739158124575587477884117203455409654133507709862903579548127005002673420692746764278470048122228526086294136258438478173295633830384434577319236546872089370993774847080968853600115199115918823941160313188774354635686658745876661503438147450237712099619290945700057211304041853258670251937921927223738045058432751140528344224708560829892333060575071735876356402343531431497959378985439901700499200698966462691312549168604064810991228536390632700813710694485388522255448436710484935165904545471552110522158008969705225889825464727013908306217302403052169517618516467927843281737672918690936763464303036165689637218324149793996149197470503965335362591020762180309757619164534538292761165257594912159058726050490074898647854118954536224540310311560858953050993009270788569725220168958675853988896005943289781300626989024424359455698736307764917259365325934642651319102962041367878323997365006071578281533667249925910373341634785827665021238525914588623433486320936411300926173840896622468501052625634855161670704995780298245573004291572730550892394815078933574898566050250812754536269388499499415738968084349968393758266429550479901483364103107885702356004913701510394893172124561622073295398504984364809254974257095813315930472312066776535063414912620763643616150114488310728099637150388640267655199939609454645404899837789606539554680838236511503163887966837698282980412518046570481869556284929327266246541044915464254324046778950719068326760652718390734071229012716642766956614845688142602276136963071591435318062211387254497959338909082236980903855225650015329532891642862690473445155224428487733584554777560320481619945062227682363060683390162793351371843004278440108672684934361040855608439735987033634575295226937116642034430299751105713476337391107525585968172750300990820939465167683470184637994793371069291001312500355008887897018169384033579230865542323023065372438588269921823069113198614785687376400974140359501322021890497779705612541022636603126870520428174608872263448065564716017609490895504647581080915265670675493210010117652956504917912507195121288750890982782645009740623198624080873448125348508897258654778008183022174104801712189822555936920375292843338118692986668531508697208381047162138382627928643939781354435483580545167862642469837489811209099601635848218676788634391403420936308190880298134269646129332720629390438323264585173390883921318055502514469415930285768855515563268229 17577346604072408803601530822542466675464212910343872926985848003775270135968028247363641046140289530884415039076764783163711169453457035287686988236400435623299867640382849958067934651673629187641925802355731386764910181733182885652156088327169316604345368547822013659916215184311279280882559196898289904475364550860412500641416914465742808085233839686500790319453456141237574668550096006419872030239371337918902044926230594856743010377417444818768160494783146653318153378212939183675526574786833216093250359453923595305299182718421724583762387795379988921148651422414539237445418691867955710450275591084057828901288295113067949996452986191030382259166290867414330139270468678032114393636946818827280537630725301352474192014382497886227286021444551596513052741637649450212525631025477277571723001192494709329356662456579879211990128343862046465515585635158897540868346748192051548176818909353236868764891609647552714798381847742820097754635423171124247107081158472542671418768458145389364603407606686151747909329405806214762504277265924836409071337250644178758072136320675469720547401726580968979203790335530337710261223291292766316466425742907937842382882709164812672983200432524827597205534853019298188357853766618344330321971460137588912724900296811049204568557959865671736278877850836128700922262038575896189967158862343728546549497343784189308681811016852914012209991329479552321238488965645791131528031348452005640759685318169916289752434672639322056187351743290312500684756091784519650161503387630093864502494521019408044938091363086950887119522611583533561211873712208242346260350514525134747182096929050539651121184309408360918968244620578281813267480916103179287086769906195266719191067649548001034623702384724538689429859034982959084171392623336947620397968188166051306419295341013687653784339279530642975475057437729741413830320579514953212955208477680634240592883321411468353800199681817986565175252462104830355477331401810872795170198032342572777989252840234108817709295536708087249741595101648104562555535470872411651896179560280262055906733809483637719538127649164739006222221720544119770167980549653306184522120521644702644478489597289633504797285669958745120942348159212810412219407225881824800540235028444770590582799592536457227110974293024734124438965676765989621676826249625326962369784788846858404001288193125157485016424335654775714817245369057440629998773899978852655112632065035187821267738364823682230629262179994368006948989159199049475276048471263726712709446960966618788582560312209663755752253534886193242549074716023116244472489135583347159091022465321504980771069772194909294228478701360984533581719848309018847579951143831442862578770489326665123410053189406426834307042497552966730330280866374918466188676907773181509145351316825164616911666971431666674137273585588553824890722820423786246966345917996418484644935627749376671156918097301420721498714455039370336691134143729713613998074300010384426444256318062793677055640526129264520289005188211657383350884379190077316236109861724652407492213088435600309961700522105941710097336505243687061325490487203564688761723006275606504123330912962637177660526638086203956406503157517469204139209493920936227524946678099341004006676897572086884906733512439172032048459281607930253120358785419527531892364614423321615870377068397394114744760565608689860611038748693975302859385989375057364695146302687357153070139618525784507174058737408073135719001296497319980052175332601876330221950321260402174096222704597853948034211998030193898473790432094960073367329199952082036595821358160914378947258399708972607598484449490736040532505002453398319410398289853462833013821649001043216227768142930584635728580654460621807812171966333568651727938839982522458268979003544996067565742891766037280197752108046976041779683136222069834684289011032063272567367820904705296323025893046762279216830069572248509784298368585799496911004582999544250462725422429331948469358154012903511946655033183586905132179477913794209722995692673305334148972239953669100573373426128716392526964834490054152106414444757838638825744003910375190697717624243648625684060408385229648580918871818070856452228423928443709695166443270335303447 28440744237426698320757982558748713013709329378428558019532501419892189912251766940762119717816386774972729342608009306197483990484707342870804067387367240376080697179533474077510365411579061935773640555209280615686876293009293811252792540094129982689284399505607567871026502976833889577277852747646270436030956573971140919141322983443276626857559658165489909465010136779073003801713045324869002767277349057999068753904695898801218462732130569078130220561543525932925156372712954311412017927976480577394995509799019077063648429086548588454824266901012661606300427462238161831243512379858193890683647866748756418060151153890091693258468665236564948716625105454139971083725069199330930138325815140936727615741382819991950829919029051020507081955078182882948032291309208001591045069501489360268055181811709099896156779855398864735025120829636442567444573228709954169891949158991420440723020940336245078380269577919032412430013442107660595100014699897100485450508417340073772279802437491085476217761831785594698037474555607191052487751522006470418423951452616089268903638723959428811392695154471535628257482219721307393653891475077107909497629516421365674862887260834346112117762595028815208229999925984606652869127800273043124503349972831435799124588086234980708436429485724155606907270357149920928246984820491318172493570258416140907494566856553822126889135932689866140409126325732688930046069735717202294175587894966454979184862862131386806327505172413324262891987152085094269215167479030394763149186361653219544652570358073589657972007408991133317204396577112598701309448816586027358329383652611457117553651938796065752740197322487778837300958118438138984054549737475036163586021945357715547562821325351697966445637758122618222548351880313110899181993812155512450884725363927790464543870928491571770987794689184776483184920341309289540835323252935645959719486947728756469118969615547726792278372977451816949609829781341377227566702395585719876139051632457771893908076781394422006483650172394745995618256605086252012793247570491702597596236771584303909165404061421559646761865694223171757362750064768828330997872882713881256257996878047046175909987556668618944698986169159444087405039471761979016284218217110361191172935842155465075971321847984893937595909458929279595991076198923998591382052139450791689383693095064160807053457710743673952944267617392448633508182132521743666164463537197176804906628214232658325233073727414702992809571937613532541487281920364307070188207529989777202784345608820737743118784852519975316611206585879202513337644441243285203148343124479353102380803765948494005195429227893645601993395960726310468224371167411980888947829467828807868650348770860332373335963562748061620134707518791492644918904299861239402599977833947022405767819817877790251766828642136662454435519158592845397621273712818601325899920816562468735457690164018765170656333836269505071467108213305799887171035627093816721883776656015298127954651211234918238677713821527769504653814443185914479164200309662389383012644925139565028255856704585714798272428621743092098737604160443626670780135892103402478368262560956444740634834076850604015358809618498722002976985027073754133466475740461981142989201002146119954725745224332739603297467583668184748691226238222775941262961061556490603483799932485533003124875027736303196981741469463915510626368281585618165549859434530281793182879887242134713390621238470846734856421798091463298512352668340324258492284005286810691262805929700138161129857279893080885150854032460493649579503908432351180892915168124832337586642297626082062417443037703765978667775450803236395541392899471567703443977520719005156036887021439631486149591212043783250514268030861595948171673288355459149507644452523545094872105874065424242174615155214102844913769717537871546427264217137335505359782221042180925523872738817212491444314643937745061861839810195447133865171816711148005808263237777552433484899527231044138291914090933278804789993151876573573663688175122175256885134075301233978088753594389152681118541288771186230016776043589655787954633121546473030229164940218566070995851893889777958404689798823552913166092262701992174507730938397859639980935298785898571676 46018090841499107124359513381291179689173542288772430946518349423667460048219795188125760763956676305857144381684774089361195159938164378158491055623767675999380564819916324035578300063252691123415566357565012002451786474742476696904948628421299299293629768053429581530942718161145168858160411944544560340506321124831553419782739897909019434942793497851990699784463592920310578470263141331288874797516720395917970798830926493657961473109548013896898381056326672586243309750925893495087544502763313793488245869252942672368947611804970313038586654696392650527449078884652701068688931071726149601133923457832814246961439449003159643254921651427595330975791396321554301222995537877363044531962761959764008153372108121344425021933411548906734367976522734479461085032946857451803570700526966637839778183004203809225513442311978743947015249173498489032960158863868851710760295907183471988899839849689481947145161187566585127228395289850480692854650123068224732557589575812616443698570895636474840821169438471746445946803961413405814992028787931306827495288703260268026975775044634898531940096881052504607461272555251645103915114766369874225964055259329303517245769969999158785100963027553642805435534779003904841226981566891387454825321432969024711849488383046029913004987445589827343186148207986049629169246859067214362460729120759869454044064200338011435570946949542780152619117655212241251284558701362993425703619243418460619944548180301303096079939845052646319079338895375406769899923570814914413310689749283313409155064879092997702910098772078084204323919188696132262521322528794269704589734167136591864735748867846605403861381631896139756269202739016420797322030653578215450672791851552982266753888974899699001069340142847156911978210915296069983353386435492460071282693552093841770963166269505259424772133968715419458659977779039030954665643832450599172674695425409390709711852936959195146078572659269803514785082243446207583044033797396592671309249664800344671897329621628530824192945709102833245359851706734356575348783041364114249492416331864565965072137870905197366299993343387910763584971785312948101165853432367187440780117399691748820388477153958252449496271839118189208347387630974789428503625442992185991713170870600235666554121440521351164706883751954013720430041875689988213058878389076118651753477883911019211054745903868831437960691953047224348325427501579184296163237437176029460019260279267846146500812092238385223438834117607900548436271079563356545464256001253503915493792569787356531701345164729639072363460120765395755886719157266401447620832260062700261471826231269998985966499000088554896221874662087295001806091015720999736527780611660250731229119260186997496746016752154488454441750016344459375249185166236157868788654741720203914913171134702954868678495613568329128572792744181399222511996533242387572866266734558887220102625791768141841813251933570925792965822668345170223862169770823530335881850956025682554398907529297711915733354347657034024942819631397571862515084688852466699248754786864217435748069793021315108234129143849033808834940665687313732105626379306967167129985567232051244758164989813241193019336256584925959383488184591223337605685234382917370514147680245460958732422121904826488204201096107356780739685519830706194383319846976018135376164546908854618995252096133697311726502035072605371237407030279593468409245423905339157878026189929491866460760856996631242030480535499536434231353964837644238544459337888687021484756250960540335226079984490934833185066030490687548053294340527311254260244368076914374182463655786996441364701437412738586266259900293972436073897901924966022854375810572467989050708670440674702377359354974367886242848685322217755983845254689027801235583292506067553141084877610420309740358046980140125111521825584847588206947353359405340044071232074244198091240559721917787767340536984507341078669879767695643649470185296947502719267820777096683947624949660376086761272244946182316736648185060160478795867653035969466608129767974539312237725834342821781691914714899902622543740878079709940061047566304311669054908944128941261693569518133426584088750207208782561747011134520063030959959362326303349676101742056233875123 74458835078925805445117495940039892702882871667200988966050850843559649960471562128887880481773063080829873724292783395558679150422871721029295123011134916375461261999449798113088665474831753059189206912774292618138662767751770508157741168515429281982914167559037149401969221137979058435438264692190830776537277698802694338924062881352296061800353156017480609249473729699383582271976186656157877564794069453917039552735622392459179935841678582975028601617870198519168466123638847806499562430739794370883241379051961749432596040891518901493410921597405312133749506346890862899932443451584343491817571324581570665021590602893251336513390316664160279692416501775694272306720607076693974670288577100700735769113490941336375851852440599927241449931600917362409117324256065453394615770028455998107833364815912909121670222167377608682040370003134931600404732092578805880652245066174892429622860790025727025525430765485617539658408731958141287954664822965325218008097993152690215978373333127560317038931270257341143984278517020596867479780309937777245919240155876357295879413768594327343332792035524040235718754774972952497569006241446982135461684775750669192108657230833504897218725622582458013665534704988511494096109367164430579328671405800460510974076469281010621441416931313982950093418565135970557416231679558532534954299379176010361538631056891833562460082882232646293028243980944930181330628437080195719879207138384915599129411042432689902407445017465970581971326047460501039115091049845309176459876110936532953807635237166587360882106181069217521528315765808730963830771345380297062919117819748048982289400806642671156601578954383918593570160857454559781376580391053251614258813796910697814316710300251396967514977900969775134526562795609180882535380247647972522167418916021632235507037197996831195759928657900195941844898120348320495500967085386245132394182373138147178830822552506921938356945636721620464394912024787584810610736192982312547448301297258116565805406403022952830676595881497579240978108311820608588142030611855816847088653103448869874237541932326757013061859037611082520947721850081776432163726315081068697038114277738794996298464710626871394195258008277633295752427102736768444787843660102547182886106712755700742525443288506245102302793210883293316421118074613986804440930528526910341137170978975180018108203614612505390904959570439672981833609634100927962327700974373206264925888493500504471733885819653088216248406055221433089923552999927663615652463531243281118278138178608094274820130017249614388974666706644598269224363598509686650769175384542053363852629997218492991161928227982200498215270622813605470030462183132980625475610079489058599879468031047329870081980314902550074576457535135952020168089466097397271388632575667226320680990952580745120445324255704991583008311902774244620133270246060988898766187551121355955560315955786907012469585769840430864432930881650970111033205397917347057765627612040980682353558740532630154411068169184803529596634074583486341679284998514856082261399712003782464003926497607029906506557765592125907572544826130940402885762271410369645498248128188495985392999066663845208378145875083647962360473211664977471072160974844898513503348682391580913458167346237566091501668679775541529430911758053482135646280908532508738859964479394387622120127123870000508708243504536520881863775311865211633959104858435620951060906077171626579851382095467477976886902333590999732743706633177968497036743343175497712747562180660678496355937264384015718335920062951181197632798248959662435153159536201746711769105953413078503782144475116504564934035351097208831615290801396533726298353331291473145087595691880306188526950567018151136757116716183813704155518543044486950743227745029612648013190751675844551914973202194242970025291543122719134634211570496740845403853453116425123615113298539130279211655180922252402940509689963142777514642002008095508527531058554649117432524476891420225053186335879461121526641336936734052459555828158144723493263843275773290326479428731974462810456003671088852560516921669365728015680687850784699284073884347507332689421412023204542493440006032335474913103397222055205467690300724162989657037040842132446799 120476925920424912569477009321331072392056413955973419912569200267227110008691357317013641245729739386687018105977557484919874310361036099187786178634902592374841826819366122148666965538084444182604773270339304620590449242494247205062689796936728581276543935612466730932911939299124227293598676636735391117043598823634247758706802779261315496743146653869471309033937322619694160742239327987446752362310789849835010351566548886117141408951226596871926982674196871105411775874564741301587106933503108164371487248304904421801543652696489214531997576293797962661198585231543563968621374523310493092951494782414384911983030051896410979768311968091755610668207898097248573529716144954057019202251339060464743922485599062680800873785852148833975817908123651841870202357202922905198186470555422635947611547820116718347183664479356352629055619176633420633364890956447657591412540973358364418522700639715208972670591953052202666886804021808621980809314946033549950565687568965306659676944228764035157860100708729087589931082478434002682471809097869084073414528859136625322855188813229225875272888916576544843180027330224597601484121007816856361425740035079972709354427200832663682319688650136100819101069483992416335323090934055818034153992838769485222823564852327040534446404376903810293279566773122020186585478538625746897415028499935879815582695257229844998031029831775426445647361636157171432615187138443189145582826381803376219073959222733992998487384862518616901050664942835907809015014620660223589770565860219846362962700116259585063792204953147301725852234954504863226352093874174566767508851986884640847025149674489276560462960586280058349839363596470980578698611044631467064931605648463680081070599275151095968584318043816932046504773710905250865888766683140432593450112468115474006470203467502090620532062626615615400504875899387351450166610917836844305068877798547537888542675489466117084435518295991423979179994268233792393654769990378905218757550962058461237702736024651483654869541590600412486337960018554965163490813653219931096581069435313435839309679803231954379361852380998993284532693635394724533329579747448256137818231677430543816686941864585123843691529847395822504099814733711557873291469103094733174599277583355936409079564729027596267009676962837307036851159950303975017499808917603028992890648862886199229162949518481336828865651523486897330159037135680112258490938411549235724945148772768350618234697911891473439687240172829333638359824079491020161116719532496785033771930748395450806521475181979253461338126827409994025111082755776088098390007644604753625324456228488491977128427228070755394437145284900900471836553198853980362003390691149309331108587291234327366827997067057038529018207551480411395417274632333555140177287317387430235594162087283699989123819869273320711581104646955643842645266779303376471632454285680243175662941747555048854282837703411356657398753549996140334895375168740877393647478568066663236752466269830342070144422516841837554539453705981058204194369687367322781510154498867999899751996290628345014740686909441159716407485491818254134991388650717336812628233695420547230151164056477086401397482131668573921743961396256200808677846209227815884017496362637041872190589468142392579705869775882898310170597277884188330029600755508526874236129026303242241115379220003697820434745539609126253101182342144805102368350282340960108938932267101118446312142952464109218917382869090536166975060598015612735581202681064184734232318431621218831582017248874950551520986093441868745686092589486973689413403904278661085951569609200074945146845912529243151200295251391181267689188703321499749152729141863941134138304362320980890904309921992519022999965401506031460139363797733514751978811037535680201154275629286264861655331249174383095136813368707566722841158923856146185447924685190669321706353858261048066978995717906759744019179569730838421164112187305043011246798879331745801380149426551796311814458580825643438263289521996894531255423481194114190101393611250312602564205263074796244502370718570991475104257799749075668076728254155096368338982828476448594382990930156631126582190213241118036660114531742118236427649663050466339333138782898366321922 194935760999350718014594505261370965094939285623174408878620051110786759969162919445901521727502802467516891830270340880478553460783907820217081301646037508750303088818815920261755631012916197241793980183113597238729112010246017713220430965452157863259458103171503880334881160437103285729036941328926221893580876522436942097630865660613611558543499809886951918283411052319077743014215514643604629927104859303752049904302171278576321344792905179846955584292067069624580241998203589108086669364242902535254728627356866171234139693588008116025408497891203274794948091578434426868553817974894836584769066106995955577004620654789662316281702284755915890360624399872942845836436752030750993872539916161165479691599090004017176725638292748761217267839724569204279319681458988358592802240583878634055444912636029627468853886646733961311095989179768352233769623049026463472064786039533256848145561429740935998196022718537820206545212753766763268763979768998875168573785562117996875655317561891595474899031978986428733915360995454599549951589407806861319333769015012982618734602581823553218605680952100585078898782105197550099053127249263838496887424810830641901463084431666168579538414272718558832766604188980927829419200301220248613482664244569945733797641321608051155887821308217793243372985338257990744001710218184279432369327879111890177121326314121678560491112714008072738675605617102101613945815575523384865462033520188291818203370265166682900894829879984587483021990990296408848130105670505532766230441971156379316770335353426172424674311134216519247380550720313594190182865219554863830427969806632689829314550481131947717064539540663976943409524453925540360075191435684718679190419445374377895387309575402492936099295944786707181031336506514431748424146930788405115617531384137106241977240665498921816291991284515811342349774019735671945667578003223089437463060171685685067373498041973039022792463932713044443574906293021377204265506183361217766205852259316577803508142427674436485546137472097991727316068330375573751632844265075747943669722538762305713547221735558711392423711418610075805480415485476500965493306062529324834856345955169338812985406575211995237886787855673455799852241836448326318079312763197280357485384296111637151605008017533841369312470173720600353272278024917961821940739446129939334027819841861379247271153133093842219770611093926570311992646769781040220818639385922441989871037266268855089968583731544561655935646228050766728283377079418683776769183063740066152050068927003545081341605199228867850312793534054592294335446354285774749159183029146806989177086225706984968290355456052955892652415907714505941867015381986960987479000770638367930988055322281657236909977381959588603594665086616363415585364098430952411565919893054656556275153039864445109569144124978312294589416549729888462778537025364365370398641836801599131223257703341955866752423473251787521831684431647110445928580566658224451413106180107643919106025010362972224555490686026641084136087780564544545873654685882178863771554210871782363755922788235374921247244675033285623980030317949194537877150922127706458126481823609043215544163123140931609775628006752221884104434607921178279750007184072714397520845045028622785648756814379958671207538455658439839601509035937670465675881664041035613096093505697629863235506343873698329142989044145647134964957654010016736327455140776581059999838344272745026163525047931587195804285202681535899718767231193581232617946024239682446979880612281897327937954513258966269856906156393049943318890838446636124566563440480407797720675562613153448928990387645747716134330602488390099304479504718033475451082473155414279225900054201287079431260489010670159757082117689845164294882340778001702722038782565292849167466380962109413570304451368626065162104911830285857475370494352887030851778138307094445321467156800178346190650898829012146959689259693981198678754189313138519774329937886394918812673903443216536867644916705104559789930858933628583714979309352258913594657454526085892890684691806770707312826722242080327664774721418441396092408942005881067623056712823955927072412342179835669075630219273453511573217928964173441895339963774629328990175823740498768721 315412686919775630584071514582702037486995699579147828791189251378013869977854276762915162973232541854203909936247898365398427771144943919404867480280940101125144915638182042410422596551000641424398753453452901859319561252740264918283120762388886444536002038783970611267793099736227513022635617965661613010624475346071189856337668439874927055286646463756423227317348374938771903756454842631051382289415649153587060255868720164693462753744131776718882566966263940729992017872768330409673776297746010699626215875661770593035683346284497330557406074185001237456146676809977990837175192498205329677720560889410340488987650706686073296050014252847671501028832297970191419366152896984808013074791255221630223614084689066697977599424144897595193085747848221046149522038661911263790988711139301270003056460456146345816037551126090313940151608356401772867134514005474121063477327012891621266668262069456144970866614671590022873432016775575385249573294715032425119139473131083303535332261790655630632759132687715516323846443473888602232423398505675945392748297874149607941589791395052779093878569868677129922078809435422147700537248257080694858313164845910614610817511632498832261858102922854659651867673672973344164742291235276066647636657083339430956621206173935091690334225685121603536652552111380010930587188756810026329784356379047769992704021571351523558522142545783499184322967253259273046561002713966574011044859901991668037277329487900675899382214742503204384072655933132316657145120291165756356001007831376225679733035469685757488466516087363820973232785674818457416534959093729430597936821793517330676339700155621224277527500126944035293248888050396520938773802480316185744122025093838057976457908850553588904683613988603639227536110217419682614312913613928837709067643852252580248447444133001012436824053911131426742854649919123023395834188921059933742531937970233222955916173531439156107227982228704468422754900561255169597920276173740122984963403221375039041210878452325920140415679062698404213654028348930538915123657918295679040250791974075741552856901538790665771785563799609069090013109120871225498822885809977580972674577632599882629672348439797119081578317703069278303952056570159884191370781866292013532084661879467573560684572746561437636322147136557907390123437975221936839440548363732968326918468704747578476434102651575179048636262617413467642151683905461152479309577797471677714816186039037205708203281643436035095622886400880100366643201158909703937885902596236851185821999675398995887863080381208121311650920361464586319446529110061862847549190673751560614501542454195476945418782684123711287089561192615406413703568580840941349482391461787677262096642613515984603737974449016627132612872638096774811002638730764507551743207210442086791869315127148145098692963994251633006170521196685532305423803804667741842031096122481842306886199450897004721035261176663144179230437981643250780823955735399101845060584748174307155858491280193314294699913202868478638675541486545602750068024373249501645281708709739782263507919078863719935987931584474445340387515809767448672868539572845043270754715519029590445695327179618018011173110138420795805848396004177379088427853393300530281538341407665664657839346282522351250913408231541338149772106313821858795705482419549562487332222532000872104350885563877396149577734583754773388066139996154821838695805423117541168938770611373863472475668000395696414721668071772072066693827829209193968199148705303867181212199043903116159519971762133916821377892249834918689004983427933609813979967344759068883672245171813228394075836300174990867334625853879571366993668208039533224603811615019355413364204416522267970335570411003189182757047519195876624434246138511516454700849820100973050321742010248374275225635700543009160298918280537852580316529418209033216299702823497763767027821015061226413169646616735771890978868829424819619842866376618181531021128817218140720192823329995012848682103497530747998053220380930523114970402790546373103696051065776398495454889954881566951815197440813071802769032521167517064169137196160977435962039541300404521455403272336466795657820432514571548233332460706291678322989626825095668323314606638865090643 510348447919126348598666019844073002581934985202322237669809302488800629947017196208816684700735344321720801766518239245876981231928851739621948781926977609875448004456997962672178227563916838666192733636566499098048673262986282631503551727841044307795460141955474491602674260173330798751672559294587834904205351868508131953968534100488538613830146273643375145600759427257849646770670357274656012216520508457339110160170891443269784098537036956565838151258331010354572259870971919517760445661988913234880944503018636764269823039872505446582814572076204512251094768388412417705729010473100166262489626996406296065992271361475735612331716537603587391389456697843134265202589649015559006947331171382795703305683779070715154325062437646356410353587572790250428841720120899622383790951723179904058501373092175973284891437772824275251247597536170125100904137054500584535542113052424878114813823499197080969062637390127843079977229529342148518337274484031300287713258693201300410987579352547226107658164666701945057761804469343201782374987913482806712082066889162590560324393976876332312484250820777715000977591540619697799590375506344533355200589656741256512280596064165000841396517195573218484634277861954271994161491536496315261119321327909376690418847495543142846222046993339396780025537449638001674588898974994305762153684258159660169825347885473202119013255259791571922998572870361374660506818289489958876506893422179959855480699753067358800277044622487791867094646923428725505275225961671289122231449802532604996503370823111929913140827221580340220613336395132051606717824313284294428364791600150020505654250636753171994592039667608012236658412504322061298848993916000904423312444539212435871845218425956081840782909933390346408567446723934114362737060544717242824685175236389686490424684798499934253116045195647238085204423938858695341501766924283023179994998141918908023289671573412195130020446161417512866329806854276546802185782357101340751169255480691616844719020880000356625961816534796395940970096679306112666756502183371426983920514512838047266404123274349377164209275218219144895493524606347726464316191872506905807530923587769221442657755015009114319465105558742734103804298406608210509450094629489293889570046175579210712289580764095279005634617310278507743395716000139898661381287809862907660946288546608957723705255784669021268406873711340037954144330675242192700128217183394119704687223305306060798171865374980596751558532628930867094926578238328387714655085659976917337872068602402540969204685580436989161963713895519178613781975464347637596708373702898367603678628679902461913709138140176667179741977100329912355570583962827902336961392232426045193084697935797641840647951830976215736207537724713138226588002829195459963309127103496743348144468167012590208262108119229945300759937746415420768202340830032107212429737959283441438109457154238960587787684649914931701062122413290361226752536302057326296473690928281951074964516290556286519255403888895119722811629267110147295941679059131680509053262920611564627263841867099094857235176259507730964367546127716643210745690494972749728881197342638633661239490302758949620948738145173017689952830612098557368177860577373244679059186452694287443488103096902309922120946687199777989373615349759529261381364083590598100428316037698501967586391907751094478720723627900420523031097650164838575023260563894122228938608955646608498639193048327283610525953274453607966412595060402775200817094729543549628192079656185013487457926275392883091234798406227968632323874266380245938546530785239476681392920734426381843004826687820738583468956456367961466298147712757566700054894088174769692590104470723555049766830900013859342514129636885721788729128479289518157422888602666265899489208391210483688795940151911635225461023192368138437791899912561920247151480961804858212349288171861404759360297515564784037938558089118800818521620565931320050795458755104535639005497233438229385549748414235852557843151239864151698685382099898632017290708520302484388345574646688337659128024163055152130433807242585958460261546138166858503585096254124360448527815614516302464733450651788025059806550389670465120218329590599724997313490430379363859364 825761134838901979182737534426775040068930684781470066460998553866814499924871472971731847673967886175924711702766137611275409003073795659026816262207917711000592920095180005082600824114917480090591487090019400957368234515726547549786672490229930752331462180739445102870467359909558311774308177260249447914829827214579321810306202540363465669116792737399798372918107802196621550527125199905707394505936157610926170416039611607963246852281168733284720718224594951084564277743740249927434221959734923934507160378680407357305506386157002777140220646261205749707241445198390408542904202971305495940210187885816636554979922068161808908381730790451258892418288995813325684568742546000367020022122426604425926919768468137413131924486582543951603439335421011296578363758782810886174779662862481174061557833548322319100928988898914589191399205892571897968038651059974705599019440065316499381482085568653225939929252061717865953409246304917533767910569199063725406852731824284603946319841143202856740417297354417461381608247943231804014798386419158752104830364763312198501914185371929111406362820689454844923056400976041845500127623763425228213513754502651871123098107696663833103254620118427878136501951534927616158903782771772381908755978411248807647040053669478234536556272678461000316678089561018012605176087731804332091938040637207430162529369456824725677535397805575071107321540123620647707067821003456532887551753324171627892758029240968034699659259364990996251167302856561042162420346252837045478232457633908830676236406292797687401607343308944161193846122069950509023252783407013725026301613393667351181993950792374396272119539794552047529907300554718582237622796396317090167434469633050493848303127276509670745466523921993985636103556941353796977049974158646080533752819088642266738872128931500946689940099106778664828059073857981718737335955845342956922526936112152130979205845104851351237248428390121981289084707415531716400106058530841463736132658702066655885929899332326276766377495597494800154624125028236651581880160101667106024171306486913788819261024813140042935994839017828213985506633727218951963139077682484486780205501220369104072330103454806233401043423261812012407756354976768094700820876495781307421654708055046784272974153510656716641956764446836415133519153975361835500821836173595875987864757251356536200139358436244200317043136328753505596296014580703345179437794980865797419503409344343266506375147018416631847181419029810967461569779397238091652540988256213768523694068277801536857067765961645110473614634256983764933228504574409500444257564376649928218180171134097938859127920824300378466831538292945318769274152543668843686443783694213722455181340549313626444385926279992842868820410362809913037590641559959967515052334313938830140013783294160735306955072113481578306930458943100953073626144634699849054460834081765283744995656605135965308822945826578075880292560394933612007576492037456428141534275676456258230823007570749600813955317091763598361487170753655750046009703432381182154334971630351346890771760945962814793223107843982176304755061937484091883614230067817792999635912861668224106934817482376967632121848283593813495801226616275936456605713970673774960597527860359952101327449379424661173034354918741116139145721663581388057086846503140160587760538569699374071937277471628490628298458211655193911097237646319660413719065987011663397877379567020471971114861048722980025247621346225680033106422889611969169016243434847416809404278700088129646977898037526799912612690656062887321328857694313855752526498129998545565065165906239610237080662987995729450803582310247532833291815920797099924658705703194125105954308887245823020102401311017048525271177156081598413163374617801034612123738422767238949810950401458857964021575852454644385759941472905991018108429330770953463451183785302621979377109186922631172529944132300555928917426918543620438364486942549501581816587572322676359198320563433242234231851911766600555896371620794674813655784890445005120986759586078882883800464601569904610943221603868223933202839763753475524430683334327835939547135795424764969983218886852769260391271084302596608039882850376756798541319217424820665636805037018228950007 1336109582758028327781403554270848042650865669983792304130807856355615129871888669180548532374703230497645513469284376857152390235002647398648765044134895320876040924552177967754779051678834318756784220726585900055416907778712830181290224218070975060126922322694919594473141620082889110525980736554837282819035179083087453764274736640852004282946939011043173518518867229454471197297795557180363406722456666068265280576210503051233030950818205689850558869482925961439136537614712169445194667621723837169388104881699044121575329426029508223723035218337410261958336213586802826248633213444405662202699814882222932620972193429637544520713447328054846283807745693656459949771332195015926026969453597987221630225452247208128286249549020190308013792922993801547007205478903710508558570614585661078120059206640498292385820426671738864442646803428742023068942788114475290134561553117741377496295909067850306908991889451845709033386475834259682286247843683095025694565990517485904357307420495750082848075462021119406439370052412575005797173374332641558816912431652474789062238579348805443718847071510232559924033992516661543299717999269769761568714344159393127635378703760828833944651137314001096621136229396881888153065274308268697169875299739158184337458901165021377382778319671800397096703627010656014279764986706798637854091724895367090332354717342297927796548653065366643030320112993982022367574639292946491764058646746351587748238728994035393499936303987478788118261949779989767667695572214508334600463907436441435672739777115909617314748170530524501414459458465082560629970607720298019454666404993817371687648201429127568266711579462160059766565713059040643536471790312317994590746914172262929720148345702465752586249433855384332044671003665287911339787034703363323358437994325031953229296813730000880943056144302425902913263497796840414078837722769625980102521934254071039002495516678263546367268874551539494155414514269808263202291840887942804487301914182758272730648920212326633392339312132291196095594221707542764248636662285038533008091820999751836085665148087489420100204114236047358881000158333566678427455269554991392587736424808138325514987858469815347720508528820554746511560653383376305210270971125270601311224754230625994985263734274751995647591381757114922876914869975501734162203123983458783648811045797965493923844614220913221585450010040093543550440345255945537879566012164259917124190632649649327304547012393397228598739951658741834556496357635566479367196073916190685861566136880204077826272451542082099635578348152502943547010480038757138040965938079548295821858799814000400772837058964477045646573515393275231124844736506496746023405175926639767648266038485111268285033878110969058605027948087523051264178644389155427478361461417435573488158251461173325515217180232711523607690396689516373841828485464731956266890572041048725183105113759374925896610630476493007581354682808223973234329028339513754438007966604738209305787523861305887333210720980658718084298800020765897341951382491512862663388234550962911518035602813061909650458284103489907269122608065200735094359920562790542728517110204306857768174307785135917253070586428766831185754057228374493824783574548047019639656714313054239544815552476326971095155301605940894128519337013340917318468210586730758688188854607397876039523669379379585107019181839555614434128335296484498988742326550905785626815988522667080469754054097050263635773574620679287999519017950014744369833338164390966437596358356273143134435824312919683003847489062290855953652731960694101691073028915238022246458086640665992080085489675816468034272538766615494299589963633554666624713599791368894798544413357969378069869232211030907867785306792967320201892503097090552769546627025433504849300158792669341652817516004366279611220964665274129455900329243332873710602664747107480191726397358784035931890241647865339966855985007662421256886107508480821632612046327427211998203817796871471619781600326002453113739522860658826512341166990343637138277468106381367272146039248258242270071245766923376063636647006339433984692229472494694443132232049549125418511034501369071725124721736090621667846433240047221918759648808024545662950295467397592809371 2161870717596930306964141088697623082719796354765262370591806410222429629796760142152280380048671116673570225172050514468427799238076443057675581306342813031876633844647357972837379875793751798847375707816605301012785142294439377731076896708300905812458384503434364697343608979992447422300288913815086730733865006297666775574580939181215469952063731748442971891436975031651092747824920757086070801228392823679191450992250114659196277803099374423135279587707520912523700815358452419372628889581458761103895265260379451478880835812186511000863255864598616011665577658785193234791537416415711158142910002768039569175952115497799353429095178118506105176226034689469785634340074741016293046991576024591647557145220715345541418174035602734259617232258414812843585569237686521394733350277448142252181617040188820611486749415570653453634046009321313921036981439174449995733580993183057876877777994636503532848921141513563574986795722139177216054158412882158751101418722341770508303627261638952939588492759375536867820978300355806809811971760751800310921742796415786987564152764720734555125209892199687404847090393492703388799845623033194989782228098662044998758476811457492667047905757432428974757638180931809504311969057080041079078631278150406991984498954834499611919334592350261397413381716571674026884941074438602969946029765532574520494884086799122653474084050870941714137641653117602670074642460296403024651610400070523215640996758235003428199595563352469784369429252636550809830115918467345380078696365070350266348976183408707304716355513839468662608305580535033069653223391127311744480968018387484722869642152221501964538831119256712107296473013613759225774094586708635084758181383805313423568451472978975423331715957777378317680774560606641708316837008862009403892190813413674219968168942661501827632996243409204567741322571654822132816173678614968937025048870366223169981701361783114897604517302941661475444499221685339979602397899418784268223434572884824928616578819544652910158716807729785996250218346735779415830516822386705639032263127486665624904926172900629463036198953253875572866506792060785630390594347237475879367941926028507429587317961924621581121551952082366758919317008360144399911091847621051908732879462285672779258237887785408712289548146203951338010434023950863569663024960157054659636675803049322030123983972657157421902493146368847049146736359836648883059003807145125714543694041993992593810922159411813860445921370688552802018066137032804571019737062172404454385260205158005614683340217503727210109192982409486708480238984613166638485223502456198224040038970948098339631964979788777424113405053686220549894118889050165589709848959620853490103447379034424894729419804390961901473848358450332964301769285949115394993413795731374403628172034755334060822172252346193101914620855632617326915454630099431805321351406122814008928100770364510891205433576303071083461647243203157585241905520376970182579542242281194467536610531432055488147166038072422316445785970774421647387961085923894044817723206181314258408807363759024724443681391947472083573877670002684826977974150630608335728153023065975081875109125267512884885192434712360644681555283844650430281389288518720794600254242173414191646143001855751632268189656524682010267665058676922305375555057089870919275949393177097250111460946851008075735317640051210808345225572942804159402461392537917449024693368089687552440868915145773243661021195966904968032625440839626713538849581599238383247000637056361272781413722350446482916460179718353743274981589655007957443599527045236567811523252546905602317166152663812197485076121076863027132881779554351766549372305494563019904498722245215201089971633522047956393056483949048918615055877714891587381670365448200743799111109194128199616839091856820923996980906138180120474008758574103827174053848532410102171103506545706667104420185780165895895773411926206041695250594451030323214428633899749888357402138360304713854013452237769053669635894481453501325996951880788642259264227692460250155946503849828146881014467370791599996839486770092909509122912806822530382679367844973890388494253388221840985515992820393218275886316090423978717300968025449366328587100504415821759378 3497980300354958634745544642968471125370662024749054674722614266578044759668648811332828912423374347171215738641334891325580189473079090456324346350477708352752674769199535940592158927472586117604159928543191201068202050073152207912367120926371880872585306826129284291816750600075336532826269650369924013552900185380754229338855675822067474235010670759486145409955842261105563945122716314266434207950849489747456731568460617710429308753917580112985838457190446873962837352973164588817823557203182598273283370142078495600456165238216019224586291082936026273623913872371996061040170629860116820345609817650262501796924308927436897949808625446560951460033780383126245584111406936032219073961029622578869187370672962553669704423584622924567631025181408614390592774716590231903291920892033803330301676246829318903872569842242392318076692812750055944105924227288925285868142546300799254374073903704353839757913030965409284020182197973436898340406256565253776795984712859256412660934682134703022436568221396656274260348352768381815609145135084441869738655228068261776626391344069539998844056963709919964771124386009364932099563622302964751350942442821438126393855515218321500992556894746430071378774410328691392465034331388309776248506577889565176321957855999520989302112912022061794510085343582330041164706061145401607800121490427941610827238804141420581270632703936308357167961766111584692442217099589349516415669046816874803389235487229038821699531867339948572487691202416540577497811490681853714679160272506791702021715960524616922031103684369993164022765039000115630283193998847609763935634423381302094557290353650629532805542698718872167063038726672799869310566377020953079348928297977576353288599818681441175917965391632762649725445564271929619656624043565372727250628807738706173197465756391502708576052387711630470654586069451662546895011401384594917127570804620294208984196878461378443971786177493200969599913735955148242804689740306727072710736487067583201347227739756979543551056119862077192345812568443322180079153484671744172040354948486417460990591320988118883136403067489922931747506950394352308818049616792467271955678350836645755102305820394436928842060480902921505430877661743520705121362818746322510044104216516298774243501622060160707937139527961066260887348893926365303825228084140513443285486848847287524047828586878070643487943156408940592697176705092594420938569819309385631667884674643641921115469171805211089044661322347294636574562494668371050386933136088595140246826342038209692509612669045809309744771330561989652027249464651923776526189440535746519861897770762098740404802038753254469759978569079495781018963625556662335733254135547493257751713417519536163014453682501930960078876306537856015565947930338270822471775257148809977116330286216507386337389432578904625522311252322133700757283115564163761588241978163862734111205884123885817102044206779564091043001926011381558476234548716483937017550208885932676842398055293361375480376759053081034530084770795187544729912468415406907481111440732277169926842966572086634094139676050961990843000278067885562072334071193398878456670133270281939643283433052648802138263021141127475867309341073024924106172863066767814239910956486468431190958554332078603363344958130622904396184395690263222694023267676601677964138247784495126150984616230387660842336821890766422779353908239288658391203719088823234651509356612354632910622969242823507296794770587584256032144458789641457908682919763629349684596995412634415915849546663366165920307668780644599228634321615702059134672555960474590057981339187571594397251642339628665519348659843478521432471743187906433174085905285931914703043135603184579159840865733078864260841790742016238816948380811982140151216992473634248648411267986797541269656607861187203608201870803454249929909087817436700884656513279517582362829903904490703036310427428031235862629396933868462952136701959511144847040680227177100355605956157176185473795052563771506783375417342112327838338118871132279397541695798841617428092543098086389151085713137714976060476133776432343493815142279317224825811599894523015807005287889590912710640714556483839943732749330471200636060616833473911991537395971813414568749